From 1bc2ec8015dac95e387206bd5a47c36c567307a1 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Fri, 28 Dec 2012 17:09:34 -0800 Subject: [PATCH] Initial version of geometry compiler. --- 3rdparty/forsyth-too/LICENSE.md | 13 + .../forsythtriangleorderoptimizer.cpp | 350 + .../forsythtriangleorderoptimizer.h | 44 + 3rdparty/openctm/COMPILING.txt | 100 - 3rdparty/openctm/LICENSE.txt | 20 - 3rdparty/openctm/Makefile.linux | 65 - 3rdparty/openctm/Makefile.macosx | 64 - 3rdparty/openctm/Makefile.mingw | 45 - 3rdparty/openctm/Makefile.msvc | 45 - 3rdparty/openctm/README.txt | 152 - 3rdparty/openctm/bindings/delphi/OpenCTM.pas | 189 - 3rdparty/openctm/bindings/python/ctminfo.py | 61 - 3rdparty/openctm/bindings/python/openctm.py | 204 - 3rdparty/openctm/build-src.sh | 77 - 3rdparty/openctm/doc/DevelopersManual.tex | 678 - 3rdparty/openctm/doc/Doxyfile | 1417 - 3rdparty/openctm/doc/DoxygenFooter.html | 6 - 3rdparty/openctm/doc/FormatSpecification.tex | 678 - 3rdparty/openctm/doc/Makefile.linux | 58 - 3rdparty/openctm/doc/Makefile.macosx | 56 - 3rdparty/openctm/doc/Makefile.win | 58 - 3rdparty/openctm/doc/ctmconv.1 | 92 - 3rdparty/openctm/doc/ctmviewer.1 | 86 - 3rdparty/openctm/doc/grid.pdf | Bin 6564 -> 0 bytes 3rdparty/openctm/doc/grid.svg | 407 - 3rdparty/openctm/doc/logo.pdf | Bin 2885 -> 0 bytes 3rdparty/openctm/doc/openctm-tex.sty | 33 - 3rdparty/openctm/lib/Makefile.linux | 81 - 3rdparty/openctm/lib/Makefile.macosx | 80 - 3rdparty/openctm/lib/Makefile.mingw | 87 - 3rdparty/openctm/lib/Makefile.msvc | 103 - 3rdparty/openctm/lib/compressMG1.c | 324 - 3rdparty/openctm/lib/compressMG2.c | 1319 - 3rdparty/openctm/lib/compressRAW.c | 181 - 3rdparty/openctm/lib/internal.h | 147 - 3rdparty/openctm/lib/liblzma/Alloc.c | 127 - 3rdparty/openctm/lib/liblzma/Alloc.h | 34 - 3rdparty/openctm/lib/liblzma/LzFind.c | 751 - 3rdparty/openctm/lib/liblzma/LzFind.h | 107 - 3rdparty/openctm/lib/liblzma/LzHash.h | 54 - 3rdparty/openctm/lib/liblzma/LzmaDec.c | 1007 - 3rdparty/openctm/lib/liblzma/LzmaDec.h | 223 - 3rdparty/openctm/lib/liblzma/LzmaEnc.c | 2281 - 3rdparty/openctm/lib/liblzma/LzmaEnc.h | 72 - 3rdparty/openctm/lib/liblzma/LzmaLib.c | 48 - 3rdparty/openctm/lib/liblzma/LzmaLib.h | 136 - 3rdparty/openctm/lib/liblzma/NameMangle.h | 84 - 3rdparty/openctm/lib/liblzma/Types.h | 210 - 3rdparty/openctm/lib/liblzma/readme.txt | 7 - 3rdparty/openctm/lib/make.depend | 15 - 3rdparty/openctm/lib/openctm-mingw1.def | 32 - 3rdparty/openctm/lib/openctm-mingw2.def | 32 - 3rdparty/openctm/lib/openctm-msvc.def | 32 - 3rdparty/openctm/lib/openctm.c | 1423 - 3rdparty/openctm/lib/openctm.h | 655 - 3rdparty/openctm/lib/openctm.rc | 26 - 3rdparty/openctm/lib/openctmpp.h | 377 - 3rdparty/openctm/lib/stream.c | 512 - .../openctm/plugins/blender/openctm_export.py | 332 - .../openctm/plugins/blender/openctm_import.py | 226 - 3rdparty/openctm/plugins/blender/readme.txt | 48 - .../plugins/maya/openctm_translator.py | 196 - 3rdparty/openctm/plugins/maya/readme.txt | 31 - 3rdparty/openctm/tools/3ds.cpp | 432 - 3rdparty/openctm/tools/3ds.h | 40 - 3rdparty/openctm/tools/Makefile.linux | 112 - 3rdparty/openctm/tools/Makefile.macosx | 117 - 3rdparty/openctm/tools/Makefile.mingw | 119 - 3rdparty/openctm/tools/Makefile.msvc | 119 - 3rdparty/openctm/tools/bin2c.cpp | 74 - 3rdparty/openctm/tools/common.cpp | 97 - 3rdparty/openctm/tools/common.h | 56 - 3rdparty/openctm/tools/convoptions.cpp | 190 - 3rdparty/openctm/tools/convoptions.h | 68 - 3rdparty/openctm/tools/ctm.cpp | 166 - 3rdparty/openctm/tools/ctm.h | 40 - 3rdparty/openctm/tools/ctmbench.cpp | 189 - 3rdparty/openctm/tools/ctmconv.cpp | 229 - 3rdparty/openctm/tools/ctmconv.rc | 27 - 3rdparty/openctm/tools/ctmviewer.cpp | 1787 - 3rdparty/openctm/tools/ctmviewer.exe.manifest | 14 - 3rdparty/openctm/tools/ctmviewer.rc | 29 - 3rdparty/openctm/tools/dae.cpp | 725 - 3rdparty/openctm/tools/dae.h | 40 - 3rdparty/openctm/tools/glew/GL/glew.h | 12262 -- 3rdparty/openctm/tools/glew/GL/glxew.h | 1397 - 3rdparty/openctm/tools/glew/GL/wglew.h | 1165 - 3rdparty/openctm/tools/glew/LICENSE.txt | 73 - 3rdparty/openctm/tools/glew/glew.c | 12180 -- .../openctm/tools/icons/Document-open.svg | 448 - .../openctm/tools/icons/Document-save.svg | 557 - 3rdparty/openctm/tools/icons/Help-browser.svg | 218 - 3rdparty/openctm/tools/icons/Texture.svg | 66 - 3rdparty/openctm/tools/icons/icon_help.h | 229 - 3rdparty/openctm/tools/icons/icon_open.h | 229 - 3rdparty/openctm/tools/icons/icon_save.h | 229 - 3rdparty/openctm/tools/icons/icon_texture.h | 229 - 3rdparty/openctm/tools/icons/openctm.ico | Bin 32038 -> 0 bytes 3rdparty/openctm/tools/icons/readme.txt | 18 - 3rdparty/openctm/tools/image.cpp | 134 - 3rdparty/openctm/tools/image.h | 92 - 3rdparty/openctm/tools/jpeg/Makefile.am | 133 - 3rdparty/openctm/tools/jpeg/Makefile.in | 1089 - 3rdparty/openctm/tools/jpeg/Makefile.mingw | 222 - 3rdparty/openctm/tools/jpeg/README | 322 - 3rdparty/openctm/tools/jpeg/aclocal.m4 | 8990 - 3rdparty/openctm/tools/jpeg/ansi2knr.1 | 36 - 3rdparty/openctm/tools/jpeg/ansi2knr.c | 739 - 3rdparty/openctm/tools/jpeg/cderror.h | 132 - 3rdparty/openctm/tools/jpeg/cdjpeg.c | 181 - 3rdparty/openctm/tools/jpeg/cdjpeg.h | 187 - 3rdparty/openctm/tools/jpeg/change.log | 270 - 3rdparty/openctm/tools/jpeg/cjpeg.1 | 325 - 3rdparty/openctm/tools/jpeg/cjpeg.c | 616 - 3rdparty/openctm/tools/jpeg/ckconfig.c | 402 - 3rdparty/openctm/tools/jpeg/coderules.txt | 118 - 3rdparty/openctm/tools/jpeg/config.guess | 1561 - 3rdparty/openctm/tools/jpeg/config.sub | 1686 - 3rdparty/openctm/tools/jpeg/configure | 17139 -- 3rdparty/openctm/tools/jpeg/configure.ac | 317 - 3rdparty/openctm/tools/jpeg/depcomp | 630 - 3rdparty/openctm/tools/jpeg/djpeg.1 | 251 - 3rdparty/openctm/tools/jpeg/djpeg.c | 617 - 3rdparty/openctm/tools/jpeg/example.c | 433 - 3rdparty/openctm/tools/jpeg/filelist.txt | 215 - 3rdparty/openctm/tools/jpeg/install-sh | 520 - 3rdparty/openctm/tools/jpeg/install.txt | 1097 - 3rdparty/openctm/tools/jpeg/jaricom.c | 148 - 3rdparty/openctm/tools/jpeg/jcapimin.c | 282 - 3rdparty/openctm/tools/jpeg/jcapistd.c | 161 - 3rdparty/openctm/tools/jpeg/jcarith.c | 921 - 3rdparty/openctm/tools/jpeg/jccoefct.c | 453 - 3rdparty/openctm/tools/jpeg/jccolor.c | 459 - 3rdparty/openctm/tools/jpeg/jcdctmgr.c | 482 - 3rdparty/openctm/tools/jpeg/jchuff.c | 1612 - 3rdparty/openctm/tools/jpeg/jcinit.c | 65 - 3rdparty/openctm/tools/jpeg/jcmainct.c | 293 - 3rdparty/openctm/tools/jpeg/jcmarker.c | 667 - 3rdparty/openctm/tools/jpeg/jcmaster.c | 770 - 3rdparty/openctm/tools/jpeg/jcomapi.c | 106 - 3rdparty/openctm/tools/jpeg/jconfig.bcc | 48 - 3rdparty/openctm/tools/jpeg/jconfig.cfg | 45 - 3rdparty/openctm/tools/jpeg/jconfig.dj | 38 - 3rdparty/openctm/tools/jpeg/jconfig.linux | 38 - 3rdparty/openctm/tools/jpeg/jconfig.mac | 43 - 3rdparty/openctm/tools/jpeg/jconfig.macosx | 37 - 3rdparty/openctm/tools/jpeg/jconfig.manx | 43 - 3rdparty/openctm/tools/jpeg/jconfig.mc6 | 52 - 3rdparty/openctm/tools/jpeg/jconfig.mingw | 38 - 3rdparty/openctm/tools/jpeg/jconfig.sas | 43 - 3rdparty/openctm/tools/jpeg/jconfig.st | 42 - 3rdparty/openctm/tools/jpeg/jconfig.txt | 155 - 3rdparty/openctm/tools/jpeg/jconfig.vc | 45 - 3rdparty/openctm/tools/jpeg/jconfig.vms | 37 - 3rdparty/openctm/tools/jpeg/jconfig.wat | 38 - 3rdparty/openctm/tools/jpeg/jcparam.c | 632 - 3rdparty/openctm/tools/jpeg/jcprepct.c | 358 - 3rdparty/openctm/tools/jpeg/jcsample.c | 545 - 3rdparty/openctm/tools/jpeg/jctrans.c | 381 - 3rdparty/openctm/tools/jpeg/jdapimin.c | 396 - 3rdparty/openctm/tools/jpeg/jdapistd.c | 275 - 3rdparty/openctm/tools/jpeg/jdarith.c | 762 - 3rdparty/openctm/tools/jpeg/jdatadst.c | 151 - 3rdparty/openctm/tools/jpeg/jdatasrc.c | 212 - 3rdparty/openctm/tools/jpeg/jdcoefct.c | 736 - 3rdparty/openctm/tools/jpeg/jdcolor.c | 396 - 3rdparty/openctm/tools/jpeg/jdct.h | 393 - 3rdparty/openctm/tools/jpeg/jddctmgr.c | 382 - 3rdparty/openctm/tools/jpeg/jdhuff.c | 1309 - 3rdparty/openctm/tools/jpeg/jdinput.c | 384 - 3rdparty/openctm/tools/jpeg/jdmainct.c | 512 - 3rdparty/openctm/tools/jpeg/jdmarker.c | 1360 - 3rdparty/openctm/tools/jpeg/jdmaster.c | 663 - 3rdparty/openctm/tools/jpeg/jdmerge.c | 400 - 3rdparty/openctm/tools/jpeg/jdosabcc.obj | Bin 775 -> 0 bytes 3rdparty/openctm/tools/jpeg/jdosamsc.obj | Bin 657 -> 0 bytes 3rdparty/openctm/tools/jpeg/jdosaobj.txt | 16 - 3rdparty/openctm/tools/jpeg/jdpostct.c | 290 - 3rdparty/openctm/tools/jpeg/jdsample.c | 361 - 3rdparty/openctm/tools/jpeg/jdtrans.c | 136 - 3rdparty/openctm/tools/jpeg/jerror.c | 252 - 3rdparty/openctm/tools/jpeg/jerror.h | 304 - 3rdparty/openctm/tools/jpeg/jfdctflt.c | 174 - 3rdparty/openctm/tools/jpeg/jfdctfst.c | 230 - 3rdparty/openctm/tools/jpeg/jfdctint.c | 4348 - 3rdparty/openctm/tools/jpeg/jidctflt.c | 242 - 3rdparty/openctm/tools/jpeg/jidctfst.c | 368 - 3rdparty/openctm/tools/jpeg/jidctint.c | 5137 - 3rdparty/openctm/tools/jpeg/jinclude.h | 91 - 3rdparty/openctm/tools/jpeg/jmemansi.c | 167 - 3rdparty/openctm/tools/jpeg/jmemdos.c | 638 - 3rdparty/openctm/tools/jpeg/jmemdosa.asm | 379 - 3rdparty/openctm/tools/jpeg/jmemmac.c | 289 - 3rdparty/openctm/tools/jpeg/jmemmgr.c | 1118 - 3rdparty/openctm/tools/jpeg/jmemname.c | 276 - 3rdparty/openctm/tools/jpeg/jmemnobs.c | 109 - 3rdparty/openctm/tools/jpeg/jmemsys.h | 198 - 3rdparty/openctm/tools/jpeg/jmorecfg.h | 371 - 3rdparty/openctm/tools/jpeg/jpegint.h | 395 - 3rdparty/openctm/tools/jpeg/jpeglib.h | 1135 - 3rdparty/openctm/tools/jpeg/jpegtran.1 | 272 - 3rdparty/openctm/tools/jpeg/jpegtran.c | 546 - 3rdparty/openctm/tools/jpeg/jquant1.c | 856 - 3rdparty/openctm/tools/jpeg/jquant2.c | 1310 - 3rdparty/openctm/tools/jpeg/jutils.c | 179 - 3rdparty/openctm/tools/jpeg/jversion.h | 14 - 3rdparty/openctm/tools/jpeg/libjpeg.map | 4 - 3rdparty/openctm/tools/jpeg/libjpeg.txt | 3067 - 3rdparty/openctm/tools/jpeg/ltmain.sh | 8406 - 3rdparty/openctm/tools/jpeg/makcjpeg.st | 36 - 3rdparty/openctm/tools/jpeg/makdjpeg.st | 36 - 3rdparty/openctm/tools/jpeg/makeadsw.vc6 | 77 - 3rdparty/openctm/tools/jpeg/makeasln.vc9 | 33 - 3rdparty/openctm/tools/jpeg/makecdep.vc6 | 82 - 3rdparty/openctm/tools/jpeg/makecdsp.vc6 | 130 - 3rdparty/openctm/tools/jpeg/makecmak.vc6 | 159 - 3rdparty/openctm/tools/jpeg/makecvcp.vc9 | 186 - 3rdparty/openctm/tools/jpeg/makeddep.vc6 | 82 - 3rdparty/openctm/tools/jpeg/makeddsp.vc6 | 130 - 3rdparty/openctm/tools/jpeg/makedmak.vc6 | 159 - 3rdparty/openctm/tools/jpeg/makedvcp.vc9 | 186 - 3rdparty/openctm/tools/jpeg/makefile.ansi | 220 - 3rdparty/openctm/tools/jpeg/makefile.bcc | 291 - 3rdparty/openctm/tools/jpeg/makefile.dj | 226 - 3rdparty/openctm/tools/jpeg/makefile.linux | 221 - 3rdparty/openctm/tools/jpeg/makefile.macosx | 221 - 3rdparty/openctm/tools/jpeg/makefile.manx | 220 - 3rdparty/openctm/tools/jpeg/makefile.mc6 | 255 - 3rdparty/openctm/tools/jpeg/makefile.mms | 224 - 3rdparty/openctm/tools/jpeg/makefile.sas | 258 - 3rdparty/openctm/tools/jpeg/makefile.unix | 234 - 3rdparty/openctm/tools/jpeg/makefile.vc | 220 - 3rdparty/openctm/tools/jpeg/makefile.vms | 142 - 3rdparty/openctm/tools/jpeg/makefile.wat | 239 - 3rdparty/openctm/tools/jpeg/makejdep.vc6 | 423 - 3rdparty/openctm/tools/jpeg/makejdsp.vc6 | 285 - 3rdparty/openctm/tools/jpeg/makejdsw.vc6 | 29 - 3rdparty/openctm/tools/jpeg/makejmak.vc6 | 425 - 3rdparty/openctm/tools/jpeg/makejsln.vc9 | 17 - 3rdparty/openctm/tools/jpeg/makejvcp.vc9 | 328 - 3rdparty/openctm/tools/jpeg/makeproj.mac | 213 - 3rdparty/openctm/tools/jpeg/makerdep.vc6 | 6 - 3rdparty/openctm/tools/jpeg/makerdsp.vc6 | 78 - 3rdparty/openctm/tools/jpeg/makermak.vc6 | 110 - 3rdparty/openctm/tools/jpeg/makervcp.vc9 | 133 - 3rdparty/openctm/tools/jpeg/maketdep.vc6 | 43 - 3rdparty/openctm/tools/jpeg/maketdsp.vc6 | 122 - 3rdparty/openctm/tools/jpeg/maketmak.vc6 | 131 - 3rdparty/openctm/tools/jpeg/maketvcp.vc9 | 178 - 3rdparty/openctm/tools/jpeg/makewdep.vc6 | 6 - 3rdparty/openctm/tools/jpeg/makewdsp.vc6 | 78 - 3rdparty/openctm/tools/jpeg/makewmak.vc6 | 110 - 3rdparty/openctm/tools/jpeg/makewvcp.vc9 | 133 - 3rdparty/openctm/tools/jpeg/makljpeg.st | 68 - 3rdparty/openctm/tools/jpeg/maktjpeg.st | 30 - 3rdparty/openctm/tools/jpeg/makvms.opt | 4 - 3rdparty/openctm/tools/jpeg/missing | 376 - 3rdparty/openctm/tools/jpeg/rdbmp.c | 439 - 3rdparty/openctm/tools/jpeg/rdcolmap.c | 253 - 3rdparty/openctm/tools/jpeg/rdgif.c | 38 - 3rdparty/openctm/tools/jpeg/rdjpgcom.1 | 63 - 3rdparty/openctm/tools/jpeg/rdjpgcom.c | 515 - 3rdparty/openctm/tools/jpeg/rdppm.c | 459 - 3rdparty/openctm/tools/jpeg/rdrle.c | 387 - 3rdparty/openctm/tools/jpeg/rdswitch.c | 365 - 3rdparty/openctm/tools/jpeg/rdtarga.c | 500 - 3rdparty/openctm/tools/jpeg/readme.dos | 15 - 3rdparty/openctm/tools/jpeg/structure.txt | 945 - 3rdparty/openctm/tools/jpeg/testimg.bmp | Bin 35050 -> 0 bytes 3rdparty/openctm/tools/jpeg/testimg.jpg | Bin 5764 -> 0 bytes 3rdparty/openctm/tools/jpeg/testimg.ppm | 4 - 3rdparty/openctm/tools/jpeg/testimgp.jpg | Bin 5645 -> 0 bytes 3rdparty/openctm/tools/jpeg/testorig.jpg | Bin 5770 -> 0 bytes 3rdparty/openctm/tools/jpeg/testprog.jpg | Bin 5655 -> 0 bytes 3rdparty/openctm/tools/jpeg/transupp.c | 1533 - 3rdparty/openctm/tools/jpeg/transupp.h | 205 - 3rdparty/openctm/tools/jpeg/usage.txt | 605 - 3rdparty/openctm/tools/jpeg/wizard.txt | 211 - 3rdparty/openctm/tools/jpeg/wrbmp.c | 442 - 3rdparty/openctm/tools/jpeg/wrgif.c | 399 - 3rdparty/openctm/tools/jpeg/wrjpgcom.1 | 103 - 3rdparty/openctm/tools/jpeg/wrjpgcom.c | 583 - 3rdparty/openctm/tools/jpeg/wrppm.c | 269 - 3rdparty/openctm/tools/jpeg/wrrle.c | 305 - 3rdparty/openctm/tools/jpeg/wrtarga.c | 253 - 3rdparty/openctm/tools/lwo.cpp | 636 - 3rdparty/openctm/tools/lwo.h | 40 - 3rdparty/openctm/tools/mesh.cpp | 214 - 3rdparty/openctm/tools/mesh.h | 195 - 3rdparty/openctm/tools/meshio.cpp | 112 - 3rdparty/openctm/tools/meshio.h | 46 - 3rdparty/openctm/tools/obj.cpp | 347 - 3rdparty/openctm/tools/obj.h | 40 - 3rdparty/openctm/tools/off.cpp | 253 - 3rdparty/openctm/tools/off.h | 40 - 3rdparty/openctm/tools/phong.frag | 62 - 3rdparty/openctm/tools/phong.vert | 48 - 3rdparty/openctm/tools/ply.cpp | 320 - 3rdparty/openctm/tools/ply.h | 40 - 3rdparty/openctm/tools/pnglite/pnglite.c | 877 - 3rdparty/openctm/tools/pnglite/pnglite.h | 227 - 3rdparty/openctm/tools/rply/LICENSE | 20 - 3rdparty/openctm/tools/rply/rply.c | 1497 - 3rdparty/openctm/tools/rply/rply.h | 365 - 3rdparty/openctm/tools/stl.cpp | 238 - 3rdparty/openctm/tools/stl.h | 40 - 3rdparty/openctm/tools/sysdialog.h | 98 - 3rdparty/openctm/tools/sysdialog_gtk.cpp | 217 - 3rdparty/openctm/tools/sysdialog_mac.mm | 149 - 3rdparty/openctm/tools/sysdialog_win.cpp | 203 - 3rdparty/openctm/tools/systimer.cpp | 75 - 3rdparty/openctm/tools/systimer.h | 66 - 3rdparty/openctm/tools/tinyxml/Makefile.linux | 35 - .../openctm/tools/tinyxml/Makefile.macosx | 35 - 3rdparty/openctm/tools/tinyxml/Makefile.mingw | 35 - 3rdparty/openctm/tools/tinyxml/Makefile.msvc | 35 - 3rdparty/openctm/tools/tinyxml/changes.txt | 269 - 3rdparty/openctm/tools/tinyxml/readme.txt | 530 - 3rdparty/openctm/tools/tinyxml/tinystr.cpp | 116 - 3rdparty/openctm/tools/tinyxml/tinystr.h | 319 - 3rdparty/openctm/tools/tinyxml/tinyxml.cpp | 1888 - 3rdparty/openctm/tools/tinyxml/tinyxml.h | 1802 - .../openctm/tools/tinyxml/tinyxmlerror.cpp | 53 - .../openctm/tools/tinyxml/tinyxmlparser.cpp | 1638 - 3rdparty/openctm/tools/wrl.cpp | 305 - 3rdparty/openctm/tools/wrl.h | 40 - 3rdparty/openctm/tools/zlib/Makefile.linux | 39 - 3rdparty/openctm/tools/zlib/Makefile.macosx | 39 - 3rdparty/openctm/tools/zlib/Makefile.mingw | 39 - 3rdparty/openctm/tools/zlib/Makefile.msvc | 39 - 3rdparty/openctm/tools/zlib/README | 125 - 3rdparty/openctm/tools/zlib/adler32.c | 149 - 3rdparty/openctm/tools/zlib/compress.c | 79 - 3rdparty/openctm/tools/zlib/crc32.c | 423 - 3rdparty/openctm/tools/zlib/crc32.h | 441 - 3rdparty/openctm/tools/zlib/deflate.c | 1736 - 3rdparty/openctm/tools/zlib/deflate.h | 331 - 3rdparty/openctm/tools/zlib/gzio.c | 1026 - 3rdparty/openctm/tools/zlib/infback.c | 623 - 3rdparty/openctm/tools/zlib/inffast.c | 318 - 3rdparty/openctm/tools/zlib/inffast.h | 11 - 3rdparty/openctm/tools/zlib/inffixed.h | 94 - 3rdparty/openctm/tools/zlib/inflate.c | 1368 - 3rdparty/openctm/tools/zlib/inflate.h | 115 - 3rdparty/openctm/tools/zlib/inftrees.c | 329 - 3rdparty/openctm/tools/zlib/inftrees.h | 55 - 3rdparty/openctm/tools/zlib/minigzip.c | 322 - 3rdparty/openctm/tools/zlib/trees.c | 1219 - 3rdparty/openctm/tools/zlib/trees.h | 128 - 3rdparty/openctm/tools/zlib/uncompr.c | 61 - 3rdparty/openctm/tools/zlib/zconf.h | 332 - 3rdparty/openctm/tools/zlib/zlib.h | 1357 - 3rdparty/openctm/tools/zlib/zutil.c | 318 - 3rdparty/openctm/tools/zlib/zutil.h | 269 - 3rdparty/openctm/win-installer.iss | 249 - README.md | 4 + examples/04-mesh/bun_zipper.ply | 105410 ----------- examples/04-mesh/bunny.obj | 140236 +++++++++++++++ examples/04-mesh/makefile | 5 + examples/04-mesh/mesh.cpp | 297 +- examples/common/math.h | 138 +- include/bgfx.h | 11 +- makefile | 28 +- premake/example-04-mesh.lua | 7 - premake/geometryc.lua | 17 + premake/makedisttex.lua | 3 +- premake/openctm.lua | 75 - premake/premake4.lua | 2 +- src/bgfx.cpp | 142 - src/bgfx_p.h | 6 +- src/bgfx_shader.sh | 4 +- src/renderer_d3d11.cpp | 4 +- src/renderer_d3d9.cpp | 2 +- src/renderer_gl.cpp | 5 +- src/vertexdecl.cpp | 143 + src/vertexdecl.h | 13 + tools/bin/geometryc.exe | Bin 0 -> 170496 bytes tools/bin/shaderc.exe | Bin 1084416 -> 1084416 bytes tools/geometryc/bounds.cpp | 248 + tools/geometryc/bounds.h | 47 + tools/geometryc/geometryc.cpp | 992 + tools/geometryc/math.h | 349 + tools/geometryc/tokenizecmd.cpp | 201 + tools/geometryc/tokenizecmd.h | 11 + tools/shaderc/shaderc.cpp | 37 +- 385 files changed, 143032 insertions(+), 284996 deletions(-) create mode 100644 3rdparty/forsyth-too/LICENSE.md create mode 100644 3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp create mode 100644 3rdparty/forsyth-too/forsythtriangleorderoptimizer.h delete mode 100644 3rdparty/openctm/COMPILING.txt delete mode 100644 3rdparty/openctm/LICENSE.txt delete mode 100644 3rdparty/openctm/Makefile.linux delete mode 100644 3rdparty/openctm/Makefile.macosx delete mode 100644 3rdparty/openctm/Makefile.mingw delete mode 100644 3rdparty/openctm/Makefile.msvc delete mode 100644 3rdparty/openctm/README.txt delete mode 100644 3rdparty/openctm/bindings/delphi/OpenCTM.pas delete mode 100644 3rdparty/openctm/bindings/python/ctminfo.py delete mode 100644 3rdparty/openctm/bindings/python/openctm.py delete mode 100644 3rdparty/openctm/build-src.sh delete mode 100644 3rdparty/openctm/doc/DevelopersManual.tex delete mode 100644 3rdparty/openctm/doc/Doxyfile delete mode 100644 3rdparty/openctm/doc/DoxygenFooter.html delete mode 100644 3rdparty/openctm/doc/FormatSpecification.tex delete mode 100644 3rdparty/openctm/doc/Makefile.linux delete mode 100644 3rdparty/openctm/doc/Makefile.macosx delete mode 100644 3rdparty/openctm/doc/Makefile.win delete mode 100644 3rdparty/openctm/doc/ctmconv.1 delete mode 100644 3rdparty/openctm/doc/ctmviewer.1 delete mode 100644 3rdparty/openctm/doc/grid.pdf delete mode 100644 3rdparty/openctm/doc/grid.svg delete mode 100644 3rdparty/openctm/doc/logo.pdf delete mode 100644 3rdparty/openctm/doc/openctm-tex.sty delete mode 100644 3rdparty/openctm/lib/Makefile.linux delete mode 100644 3rdparty/openctm/lib/Makefile.macosx delete mode 100644 3rdparty/openctm/lib/Makefile.mingw delete mode 100644 3rdparty/openctm/lib/Makefile.msvc delete mode 100644 3rdparty/openctm/lib/compressMG1.c delete mode 100644 3rdparty/openctm/lib/compressMG2.c delete mode 100644 3rdparty/openctm/lib/compressRAW.c delete mode 100644 3rdparty/openctm/lib/internal.h delete mode 100644 3rdparty/openctm/lib/liblzma/Alloc.c delete mode 100644 3rdparty/openctm/lib/liblzma/Alloc.h delete mode 100644 3rdparty/openctm/lib/liblzma/LzFind.c delete mode 100644 3rdparty/openctm/lib/liblzma/LzFind.h delete mode 100644 3rdparty/openctm/lib/liblzma/LzHash.h delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaDec.c delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaDec.h delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaEnc.c delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaEnc.h delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaLib.c delete mode 100644 3rdparty/openctm/lib/liblzma/LzmaLib.h delete mode 100644 3rdparty/openctm/lib/liblzma/NameMangle.h delete mode 100644 3rdparty/openctm/lib/liblzma/Types.h delete mode 100644 3rdparty/openctm/lib/liblzma/readme.txt delete mode 100644 3rdparty/openctm/lib/make.depend delete mode 100644 3rdparty/openctm/lib/openctm-mingw1.def delete mode 100644 3rdparty/openctm/lib/openctm-mingw2.def delete mode 100644 3rdparty/openctm/lib/openctm-msvc.def delete mode 100644 3rdparty/openctm/lib/openctm.c delete mode 100644 3rdparty/openctm/lib/openctm.h delete mode 100644 3rdparty/openctm/lib/openctm.rc delete mode 100644 3rdparty/openctm/lib/openctmpp.h delete mode 100644 3rdparty/openctm/lib/stream.c delete mode 100644 3rdparty/openctm/plugins/blender/openctm_export.py delete mode 100644 3rdparty/openctm/plugins/blender/openctm_import.py delete mode 100644 3rdparty/openctm/plugins/blender/readme.txt delete mode 100644 3rdparty/openctm/plugins/maya/openctm_translator.py delete mode 100644 3rdparty/openctm/plugins/maya/readme.txt delete mode 100644 3rdparty/openctm/tools/3ds.cpp delete mode 100644 3rdparty/openctm/tools/3ds.h delete mode 100644 3rdparty/openctm/tools/Makefile.linux delete mode 100644 3rdparty/openctm/tools/Makefile.macosx delete mode 100644 3rdparty/openctm/tools/Makefile.mingw delete mode 100644 3rdparty/openctm/tools/Makefile.msvc delete mode 100644 3rdparty/openctm/tools/bin2c.cpp delete mode 100644 3rdparty/openctm/tools/common.cpp delete mode 100644 3rdparty/openctm/tools/common.h delete mode 100644 3rdparty/openctm/tools/convoptions.cpp delete mode 100644 3rdparty/openctm/tools/convoptions.h delete mode 100644 3rdparty/openctm/tools/ctm.cpp delete mode 100644 3rdparty/openctm/tools/ctm.h delete mode 100644 3rdparty/openctm/tools/ctmbench.cpp delete mode 100644 3rdparty/openctm/tools/ctmconv.cpp delete mode 100644 3rdparty/openctm/tools/ctmconv.rc delete mode 100644 3rdparty/openctm/tools/ctmviewer.cpp delete mode 100644 3rdparty/openctm/tools/ctmviewer.exe.manifest delete mode 100644 3rdparty/openctm/tools/ctmviewer.rc delete mode 100644 3rdparty/openctm/tools/dae.cpp delete mode 100644 3rdparty/openctm/tools/dae.h delete mode 100644 3rdparty/openctm/tools/glew/GL/glew.h delete mode 100644 3rdparty/openctm/tools/glew/GL/glxew.h delete mode 100644 3rdparty/openctm/tools/glew/GL/wglew.h delete mode 100644 3rdparty/openctm/tools/glew/LICENSE.txt delete mode 100644 3rdparty/openctm/tools/glew/glew.c delete mode 100644 3rdparty/openctm/tools/icons/Document-open.svg delete mode 100644 3rdparty/openctm/tools/icons/Document-save.svg delete mode 100644 3rdparty/openctm/tools/icons/Help-browser.svg delete mode 100644 3rdparty/openctm/tools/icons/Texture.svg delete mode 100644 3rdparty/openctm/tools/icons/icon_help.h delete mode 100644 3rdparty/openctm/tools/icons/icon_open.h delete mode 100644 3rdparty/openctm/tools/icons/icon_save.h delete mode 100644 3rdparty/openctm/tools/icons/icon_texture.h delete mode 100644 3rdparty/openctm/tools/icons/openctm.ico delete mode 100644 3rdparty/openctm/tools/icons/readme.txt delete mode 100644 3rdparty/openctm/tools/image.cpp delete mode 100644 3rdparty/openctm/tools/image.h delete mode 100644 3rdparty/openctm/tools/jpeg/Makefile.am delete mode 100644 3rdparty/openctm/tools/jpeg/Makefile.in delete mode 100644 3rdparty/openctm/tools/jpeg/Makefile.mingw delete mode 100644 3rdparty/openctm/tools/jpeg/README delete mode 100644 3rdparty/openctm/tools/jpeg/aclocal.m4 delete mode 100644 3rdparty/openctm/tools/jpeg/ansi2knr.1 delete mode 100644 3rdparty/openctm/tools/jpeg/ansi2knr.c delete mode 100644 3rdparty/openctm/tools/jpeg/cderror.h delete mode 100644 3rdparty/openctm/tools/jpeg/cdjpeg.c delete mode 100644 3rdparty/openctm/tools/jpeg/cdjpeg.h delete mode 100644 3rdparty/openctm/tools/jpeg/change.log delete mode 100644 3rdparty/openctm/tools/jpeg/cjpeg.1 delete mode 100644 3rdparty/openctm/tools/jpeg/cjpeg.c delete mode 100644 3rdparty/openctm/tools/jpeg/ckconfig.c delete mode 100644 3rdparty/openctm/tools/jpeg/coderules.txt delete mode 100644 3rdparty/openctm/tools/jpeg/config.guess delete mode 100644 3rdparty/openctm/tools/jpeg/config.sub delete mode 100644 3rdparty/openctm/tools/jpeg/configure delete mode 100644 3rdparty/openctm/tools/jpeg/configure.ac delete mode 100644 3rdparty/openctm/tools/jpeg/depcomp delete mode 100644 3rdparty/openctm/tools/jpeg/djpeg.1 delete mode 100644 3rdparty/openctm/tools/jpeg/djpeg.c delete mode 100644 3rdparty/openctm/tools/jpeg/example.c delete mode 100644 3rdparty/openctm/tools/jpeg/filelist.txt delete mode 100644 3rdparty/openctm/tools/jpeg/install-sh delete mode 100644 3rdparty/openctm/tools/jpeg/install.txt delete mode 100644 3rdparty/openctm/tools/jpeg/jaricom.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcapimin.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcapistd.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcarith.c delete mode 100644 3rdparty/openctm/tools/jpeg/jccoefct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jccolor.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcdctmgr.c delete mode 100644 3rdparty/openctm/tools/jpeg/jchuff.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcinit.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcmainct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcmarker.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcmaster.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcomapi.c delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.bcc delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.cfg delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.dj delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.linux delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.mac delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.macosx delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.manx delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.mc6 delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.mingw delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.sas delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.st delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.txt delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.vc delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.vms delete mode 100644 3rdparty/openctm/tools/jpeg/jconfig.wat delete mode 100644 3rdparty/openctm/tools/jpeg/jcparam.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcprepct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jcsample.c delete mode 100644 3rdparty/openctm/tools/jpeg/jctrans.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdapimin.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdapistd.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdarith.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdatadst.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdatasrc.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdcoefct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdcolor.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdct.h delete mode 100644 3rdparty/openctm/tools/jpeg/jddctmgr.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdhuff.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdinput.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdmainct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdmarker.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdmaster.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdmerge.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdosabcc.obj delete mode 100644 3rdparty/openctm/tools/jpeg/jdosamsc.obj delete mode 100644 3rdparty/openctm/tools/jpeg/jdosaobj.txt delete mode 100644 3rdparty/openctm/tools/jpeg/jdpostct.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdsample.c delete mode 100644 3rdparty/openctm/tools/jpeg/jdtrans.c delete mode 100644 3rdparty/openctm/tools/jpeg/jerror.c delete mode 100644 3rdparty/openctm/tools/jpeg/jerror.h delete mode 100644 3rdparty/openctm/tools/jpeg/jfdctflt.c delete mode 100644 3rdparty/openctm/tools/jpeg/jfdctfst.c delete mode 100644 3rdparty/openctm/tools/jpeg/jfdctint.c delete mode 100644 3rdparty/openctm/tools/jpeg/jidctflt.c delete mode 100644 3rdparty/openctm/tools/jpeg/jidctfst.c delete mode 100644 3rdparty/openctm/tools/jpeg/jidctint.c delete mode 100644 3rdparty/openctm/tools/jpeg/jinclude.h delete mode 100644 3rdparty/openctm/tools/jpeg/jmemansi.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemdos.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemdosa.asm delete mode 100644 3rdparty/openctm/tools/jpeg/jmemmac.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemmgr.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemname.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemnobs.c delete mode 100644 3rdparty/openctm/tools/jpeg/jmemsys.h delete mode 100644 3rdparty/openctm/tools/jpeg/jmorecfg.h delete mode 100644 3rdparty/openctm/tools/jpeg/jpegint.h delete mode 100644 3rdparty/openctm/tools/jpeg/jpeglib.h delete mode 100644 3rdparty/openctm/tools/jpeg/jpegtran.1 delete mode 100644 3rdparty/openctm/tools/jpeg/jpegtran.c delete mode 100644 3rdparty/openctm/tools/jpeg/jquant1.c delete mode 100644 3rdparty/openctm/tools/jpeg/jquant2.c delete mode 100644 3rdparty/openctm/tools/jpeg/jutils.c delete mode 100644 3rdparty/openctm/tools/jpeg/jversion.h delete mode 100644 3rdparty/openctm/tools/jpeg/libjpeg.map delete mode 100644 3rdparty/openctm/tools/jpeg/libjpeg.txt delete mode 100644 3rdparty/openctm/tools/jpeg/ltmain.sh delete mode 100644 3rdparty/openctm/tools/jpeg/makcjpeg.st delete mode 100644 3rdparty/openctm/tools/jpeg/makdjpeg.st delete mode 100644 3rdparty/openctm/tools/jpeg/makeadsw.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makeasln.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makecdep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makecdsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makecmak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makecvcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makeddep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makeddsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makedmak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makedvcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.ansi delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.bcc delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.dj delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.linux delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.macosx delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.manx delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.mc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.mms delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.sas delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.unix delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.vc delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.vms delete mode 100644 3rdparty/openctm/tools/jpeg/makefile.wat delete mode 100644 3rdparty/openctm/tools/jpeg/makejdep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makejdsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makejdsw.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makejmak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makejsln.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makejvcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makeproj.mac delete mode 100644 3rdparty/openctm/tools/jpeg/makerdep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makerdsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makermak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makervcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/maketdep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/maketdsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/maketmak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/maketvcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makewdep.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makewdsp.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makewmak.vc6 delete mode 100644 3rdparty/openctm/tools/jpeg/makewvcp.vc9 delete mode 100644 3rdparty/openctm/tools/jpeg/makljpeg.st delete mode 100644 3rdparty/openctm/tools/jpeg/maktjpeg.st delete mode 100644 3rdparty/openctm/tools/jpeg/makvms.opt delete mode 100644 3rdparty/openctm/tools/jpeg/missing delete mode 100644 3rdparty/openctm/tools/jpeg/rdbmp.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdcolmap.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdgif.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdjpgcom.1 delete mode 100644 3rdparty/openctm/tools/jpeg/rdjpgcom.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdppm.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdrle.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdswitch.c delete mode 100644 3rdparty/openctm/tools/jpeg/rdtarga.c delete mode 100644 3rdparty/openctm/tools/jpeg/readme.dos delete mode 100644 3rdparty/openctm/tools/jpeg/structure.txt delete mode 100644 3rdparty/openctm/tools/jpeg/testimg.bmp delete mode 100644 3rdparty/openctm/tools/jpeg/testimg.jpg delete mode 100644 3rdparty/openctm/tools/jpeg/testimg.ppm delete mode 100644 3rdparty/openctm/tools/jpeg/testimgp.jpg delete mode 100644 3rdparty/openctm/tools/jpeg/testorig.jpg delete mode 100644 3rdparty/openctm/tools/jpeg/testprog.jpg delete mode 100644 3rdparty/openctm/tools/jpeg/transupp.c delete mode 100644 3rdparty/openctm/tools/jpeg/transupp.h delete mode 100644 3rdparty/openctm/tools/jpeg/usage.txt delete mode 100644 3rdparty/openctm/tools/jpeg/wizard.txt delete mode 100644 3rdparty/openctm/tools/jpeg/wrbmp.c delete mode 100644 3rdparty/openctm/tools/jpeg/wrgif.c delete mode 100644 3rdparty/openctm/tools/jpeg/wrjpgcom.1 delete mode 100644 3rdparty/openctm/tools/jpeg/wrjpgcom.c delete mode 100644 3rdparty/openctm/tools/jpeg/wrppm.c delete mode 100644 3rdparty/openctm/tools/jpeg/wrrle.c delete mode 100644 3rdparty/openctm/tools/jpeg/wrtarga.c delete mode 100644 3rdparty/openctm/tools/lwo.cpp delete mode 100644 3rdparty/openctm/tools/lwo.h delete mode 100644 3rdparty/openctm/tools/mesh.cpp delete mode 100644 3rdparty/openctm/tools/mesh.h delete mode 100644 3rdparty/openctm/tools/meshio.cpp delete mode 100644 3rdparty/openctm/tools/meshio.h delete mode 100644 3rdparty/openctm/tools/obj.cpp delete mode 100644 3rdparty/openctm/tools/obj.h delete mode 100644 3rdparty/openctm/tools/off.cpp delete mode 100644 3rdparty/openctm/tools/off.h delete mode 100644 3rdparty/openctm/tools/phong.frag delete mode 100644 3rdparty/openctm/tools/phong.vert delete mode 100644 3rdparty/openctm/tools/ply.cpp delete mode 100644 3rdparty/openctm/tools/ply.h delete mode 100644 3rdparty/openctm/tools/pnglite/pnglite.c delete mode 100644 3rdparty/openctm/tools/pnglite/pnglite.h delete mode 100644 3rdparty/openctm/tools/rply/LICENSE delete mode 100644 3rdparty/openctm/tools/rply/rply.c delete mode 100644 3rdparty/openctm/tools/rply/rply.h delete mode 100644 3rdparty/openctm/tools/stl.cpp delete mode 100644 3rdparty/openctm/tools/stl.h delete mode 100644 3rdparty/openctm/tools/sysdialog.h delete mode 100644 3rdparty/openctm/tools/sysdialog_gtk.cpp delete mode 100644 3rdparty/openctm/tools/sysdialog_mac.mm delete mode 100644 3rdparty/openctm/tools/sysdialog_win.cpp delete mode 100644 3rdparty/openctm/tools/systimer.cpp delete mode 100644 3rdparty/openctm/tools/systimer.h delete mode 100644 3rdparty/openctm/tools/tinyxml/Makefile.linux delete mode 100644 3rdparty/openctm/tools/tinyxml/Makefile.macosx delete mode 100644 3rdparty/openctm/tools/tinyxml/Makefile.mingw delete mode 100644 3rdparty/openctm/tools/tinyxml/Makefile.msvc delete mode 100644 3rdparty/openctm/tools/tinyxml/changes.txt delete mode 100644 3rdparty/openctm/tools/tinyxml/readme.txt delete mode 100644 3rdparty/openctm/tools/tinyxml/tinystr.cpp delete mode 100644 3rdparty/openctm/tools/tinyxml/tinystr.h delete mode 100644 3rdparty/openctm/tools/tinyxml/tinyxml.cpp delete mode 100644 3rdparty/openctm/tools/tinyxml/tinyxml.h delete mode 100644 3rdparty/openctm/tools/tinyxml/tinyxmlerror.cpp delete mode 100644 3rdparty/openctm/tools/tinyxml/tinyxmlparser.cpp delete mode 100644 3rdparty/openctm/tools/wrl.cpp delete mode 100644 3rdparty/openctm/tools/wrl.h delete mode 100644 3rdparty/openctm/tools/zlib/Makefile.linux delete mode 100644 3rdparty/openctm/tools/zlib/Makefile.macosx delete mode 100644 3rdparty/openctm/tools/zlib/Makefile.mingw delete mode 100644 3rdparty/openctm/tools/zlib/Makefile.msvc delete mode 100644 3rdparty/openctm/tools/zlib/README delete mode 100644 3rdparty/openctm/tools/zlib/adler32.c delete mode 100644 3rdparty/openctm/tools/zlib/compress.c delete mode 100644 3rdparty/openctm/tools/zlib/crc32.c delete mode 100644 3rdparty/openctm/tools/zlib/crc32.h delete mode 100644 3rdparty/openctm/tools/zlib/deflate.c delete mode 100644 3rdparty/openctm/tools/zlib/deflate.h delete mode 100644 3rdparty/openctm/tools/zlib/gzio.c delete mode 100644 3rdparty/openctm/tools/zlib/infback.c delete mode 100644 3rdparty/openctm/tools/zlib/inffast.c delete mode 100644 3rdparty/openctm/tools/zlib/inffast.h delete mode 100644 3rdparty/openctm/tools/zlib/inffixed.h delete mode 100644 3rdparty/openctm/tools/zlib/inflate.c delete mode 100644 3rdparty/openctm/tools/zlib/inflate.h delete mode 100644 3rdparty/openctm/tools/zlib/inftrees.c delete mode 100644 3rdparty/openctm/tools/zlib/inftrees.h delete mode 100644 3rdparty/openctm/tools/zlib/minigzip.c delete mode 100644 3rdparty/openctm/tools/zlib/trees.c delete mode 100644 3rdparty/openctm/tools/zlib/trees.h delete mode 100644 3rdparty/openctm/tools/zlib/uncompr.c delete mode 100644 3rdparty/openctm/tools/zlib/zconf.h delete mode 100644 3rdparty/openctm/tools/zlib/zlib.h delete mode 100644 3rdparty/openctm/tools/zlib/zutil.c delete mode 100644 3rdparty/openctm/tools/zlib/zutil.h delete mode 100644 3rdparty/openctm/win-installer.iss delete mode 100644 examples/04-mesh/bun_zipper.ply create mode 100644 examples/04-mesh/bunny.obj create mode 100644 premake/geometryc.lua delete mode 100644 premake/openctm.lua create mode 100644 src/vertexdecl.cpp create mode 100644 src/vertexdecl.h create mode 100644 tools/bin/geometryc.exe create mode 100644 tools/geometryc/bounds.cpp create mode 100644 tools/geometryc/bounds.h create mode 100644 tools/geometryc/geometryc.cpp create mode 100644 tools/geometryc/math.h create mode 100644 tools/geometryc/tokenizecmd.cpp create mode 100644 tools/geometryc/tokenizecmd.h diff --git a/3rdparty/forsyth-too/LICENSE.md b/3rdparty/forsyth-too/LICENSE.md new file mode 100644 index 000000000..073748ae6 --- /dev/null +++ b/3rdparty/forsyth-too/LICENSE.md @@ -0,0 +1,13 @@ +This is an implementation of Tom Forsyth's "Linear-Speed Vertex Cache +Optimization" algorithm as described here: +http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html + +This code was authored and released into the public domain by +Adrian Stone (stone@gameangst.com). + +THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER +LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp new file mode 100644 index 000000000..12c34831d --- /dev/null +++ b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.cpp @@ -0,0 +1,350 @@ +//----------------------------------------------------------------------------- +// This is an implementation of Tom Forsyth's "Linear-Speed Vertex Cache +// Optimization" algorithm as described here: +// http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html +// +// This code was authored and released into the public domain by +// Adrian Stone (stone@gameangst.com). +// +// THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER +// LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#include +#include +#include +#include +#include + +namespace Forsyth +{ + typedef unsigned int uint; + typedef unsigned short uint16; + typedef unsigned char byte; + + //----------------------------------------------------------------------------- + // OptimizeFaces + //----------------------------------------------------------------------------- + // Parameters: + // indexList + // input index list + // indexCount + // the number of indices in the list + // vertexCount + // the largest index value in indexList + // newIndexList + // a pointer to a preallocated buffer the same size as indexList to + // hold the optimized index list + // lruCacheSize + // the size of the simulated post-transform cache (max:64) + //----------------------------------------------------------------------------- + void OptimizeFaces(const uint16* indexList, uint indexCount, uint vertexCount, uint16* newIndexList, uint16 lruCacheSize); + + namespace + { + // code for computing vertex score was taken, as much as possible + // directly from the original publication. + float ComputeVertexCacheScore(int cachePosition, int vertexCacheSize) + { + const float FindVertexScore_CacheDecayPower = 1.5f; + const float FindVertexScore_LastTriScore = 0.75f; + + float score = 0.0f; + if ( cachePosition < 0 ) + { + // Vertex is not in FIFO cache - no score. + } + else + { + if ( cachePosition < 3 ) + { + // This vertex was used in the last triangle, + // so it has a fixed score, whichever of the three + // it's in. Otherwise, you can get very different + // answers depending on whether you add + // the triangle 1,2,3 or 3,1,2 - which is silly. + score = FindVertexScore_LastTriScore; + } + else + { + assert ( cachePosition < vertexCacheSize ); + // Points for being high in the cache. + const float scaler = 1.0f / ( vertexCacheSize - 3 ); + score = 1.0f - ( cachePosition - 3 ) * scaler; + score = powf ( score, FindVertexScore_CacheDecayPower ); + } + } + + return score; + } + + float ComputeVertexValenceScore(uint numActiveFaces) + { + const float FindVertexScore_ValenceBoostScale = 2.0f; + const float FindVertexScore_ValenceBoostPower = 0.5f; + + float score = 0.f; + + // Bonus points for having a low number of tris still to + // use the vert, so we get rid of lone verts quickly. + float valenceBoost = powf ( static_cast(numActiveFaces), + -FindVertexScore_ValenceBoostPower ); + score += FindVertexScore_ValenceBoostScale * valenceBoost; + + return score; + } + + + const uint kMaxVertexCacheSize = 64; + const uint kMaxPrecomputedVertexValenceScores = 64; + float s_vertexCacheScores[kMaxVertexCacheSize+1][kMaxVertexCacheSize]; + float s_vertexValenceScores[kMaxPrecomputedVertexValenceScores]; + + bool ComputeVertexScores() + { + for (int cacheSize=0; cacheSize<=kMaxVertexCacheSize; ++cacheSize) + { + for (int cachePos=0; cachePos vertexDataList; + vertexDataList.resize(vertexCount); + + // compute face count per vertex + for (uint i=0; i activeFaceList; + + const uint16 kEvictedCacheIndex = std::numeric_limits::max(); + + { + // allocate face list per vertex + uint curActiveFaceListPos = 0; + for (uint i=0; i processedFaceList; + processedFaceList.resize(indexCount); + + uint16 vertexCacheBuffer[(kMaxVertexCacheSize+3)*2]; + uint16* cache0 = vertexCacheBuffer; + uint16* cache1 = vertexCacheBuffer+(kMaxVertexCacheSize+3); + uint16 entriesInCache0 = 0; + + uint bestFace = 0; + float bestScore = -1.f; + + const float maxValenceScore = FindVertexScore(1, kEvictedCacheIndex, lruCacheSize) * 3.f; + + for (uint i = 0; i < indexCount; i += 3) + { + if (bestScore < 0.f) + { + // no verts in the cache are used by any unprocessed faces so + // search all unprocessed faces for a new starting point + for (uint j = 0; j < indexCount; j += 3) + { + if (processedFaceList[j] == 0) + { + uint face = j; + float faceScore = 0.f; + for (uint k=0; k<3; ++k) + { + uint16 index = indexList[face+k]; + OptimizeVertexData& vertexData = vertexDataList[index]; + assert(vertexData.activeFaceListSize > 0); + assert(vertexData.cachePos0 >= lruCacheSize); + faceScore += vertexData.score; + } + + if (faceScore > bestScore) + { + bestScore = faceScore; + bestFace = face; + + assert(bestScore <= maxValenceScore); + if (bestScore >= maxValenceScore) + { + break; + } + } + } + } + assert(bestScore >= 0.f); + } + + processedFaceList[bestFace] = 1; + uint16 entriesInCache1 = 0; + + // add bestFace to LRU cache and to newIndexList + for (uint v = 0; v < 3; ++v) + { + uint16 index = indexList[bestFace+v]; + newIndexList[i+v] = index; + + OptimizeVertexData& vertexData = vertexDataList[index]; + + if (vertexData.cachePos1 >= entriesInCache1) + { + vertexData.cachePos1 = entriesInCache1; + cache1[entriesInCache1++] = index; + + if (vertexData.activeFaceListSize == 1) + { + --vertexData.activeFaceListSize; + continue; + } + } + + assert(vertexData.activeFaceListSize > 0); + uint* begin = &activeFaceList[vertexData.activeFaceListStart]; + uint* end = &activeFaceList[vertexData.activeFaceListStart + vertexData.activeFaceListSize]; + uint* it = std::find(begin, end, bestFace); + assert(it != end); + std::swap(*it, *(end-1)); + --vertexData.activeFaceListSize; + vertexData.score = FindVertexScore(vertexData.activeFaceListSize, vertexData.cachePos1, lruCacheSize); + + } + + // move the rest of the old verts in the cache down and compute their new scores + for (uint c0 = 0; c0 < entriesInCache0; ++c0) + { + uint16 index = cache0[c0]; + OptimizeVertexData& vertexData = vertexDataList[index]; + + if (vertexData.cachePos1 >= entriesInCache1) + { + vertexData.cachePos1 = entriesInCache1; + cache1[entriesInCache1++] = index; + vertexData.score = FindVertexScore(vertexData.activeFaceListSize, vertexData.cachePos1, lruCacheSize); + } + } + + // find the best scoring triangle in the current cache (including up to 3 that were just evicted) + bestScore = -1.f; + for (uint c1 = 0; c1 < entriesInCache1; ++c1) + { + uint16 index = cache1[c1]; + OptimizeVertexData& vertexData = vertexDataList[index]; + vertexData.cachePos0 = vertexData.cachePos1; + vertexData.cachePos1 = kEvictedCacheIndex; + for (uint j=0; j bestScore) + { + bestScore = faceScore; + bestFace = face; + } + } + } + + std::swap(cache0, cache1); + entriesInCache0 = std::min(entriesInCache1, lruCacheSize); + } + } + +} // namespace Forsyth diff --git a/3rdparty/forsyth-too/forsythtriangleorderoptimizer.h b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.h new file mode 100644 index 000000000..a3d598856 --- /dev/null +++ b/3rdparty/forsyth-too/forsythtriangleorderoptimizer.h @@ -0,0 +1,44 @@ +//----------------------------------------------------------------------------- +// This is an implementation of Tom Forsyth's "Linear-Speed Vertex Cache +// Optimization" algorithm as described here: +// http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html +// +// This code was authored and released into the public domain by +// Adrian Stone (stone@gameangst.com). +// +// THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER +// LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +#ifndef __FORSYTH_TRIANGLE_REORDER__ +#define __FORSYTH_TRIANGLE_REORDER__ + +#include + +namespace Forsyth +{ + //----------------------------------------------------------------------------- + // OptimizeFaces + //----------------------------------------------------------------------------- + // Parameters: + // indexList + // input index list + // indexCount + // the number of indices in the list + // vertexCount + // the largest index value in indexList + // newIndexList + // a pointer to a preallocated buffer the same size as indexList to + // hold the optimized index list + // lruCacheSize + // the size of the simulated post-transform cache (max:64) + //----------------------------------------------------------------------------- + void OptimizeFaces(const uint16_t* indexList, uint32_t indexCount, uint32_t vertexCount, uint16_t* newIndexList, uint16_t lruCacheSize); + +} // namespace Forsyth + +#endif // __FORSYTH_TRIANGLE_REORDER__ diff --git a/3rdparty/openctm/COMPILING.txt b/3rdparty/openctm/COMPILING.txt deleted file mode 100644 index 64d1975d7..000000000 --- a/3rdparty/openctm/COMPILING.txt +++ /dev/null @@ -1,100 +0,0 @@ -1. PREREQUISITES -================ - -In order to compile the OpenCTM shared library, all you need is a supported -compiler and it should compile right out of the box. - -In order to compile the entire OpenCTM package, including documentation and the -tools, there are some extra dependencies: - -- To build all the tools, you need GLUT, and for Un*x/X11 you also need - GTK+ 2.0 (Ubuntu: sudo apt-get install libgtk2.0-dev). - -- To build the documentation you need Doxygen (www.doxygen.org), a full - LaTeX installation (see TeX Live - http://www.tug.org/texlive/), and Groff - (Windows: http://gnuwin32.sourceforge.net/packages/groff.htm, - Mac OS X: preinstalled, Ubuntu: sudo apt-get install groff). - - -2. COMPILING -============ - -There are a few makefiles for different systems and compilers. Just pick the -one that fits your system, and run "make" on the corresponding file. Here are -a few specific instructions: - - -2.1 Windows, MinGW32 --------------------- - -mingw32-make -f Makefile.mingw - - -2.2 Windows, MS Visual Studio (Express) 2008 --------------------------------------------- - -nmake /f Makefile.msvc - - -2.3 Mac OS X ------------- - -make -f Makefile.macosx - - -2.4 Linux ---------- - -make -f Makefile.linux - - -2.5 OpenSolaris ---------------- - -gmake -f Makefile.linux - - -3. BUILD TARGETS -================ - -By default, the OpenCTM shared library and the OpenCTM tools are compiled when -make is run. To select what is built, use one of the following build targets -(just append it to the end of the make command line): - - openctm (the shared library) - toolset (the tools) - documentation (the HTML and PDF documentation) - all (openctm + toolset + documentation) - clean (clean all the built files - start from scratch) - -For instance, to just build the OpenCTM shared library under Windows with -MS Visual Studio, type: - - nmake /f Makefile.msvc openctm - - -4. INSTALLATION -=============== - -For Linux and Mac OS X, it is possible to make a system wide installation by -using the "install" build target. The installation process will install the -following: - - - OpenCTM shared library - - OpenCTM C/C++ headers (inlcude files) - - ctmconv and ctmviewer tools - - Man pages - -Just make sure that the Makefile contains the correct (and desired) -installation paths. Also, you need to have root privileges to make a system -wide installation. - -For instance, to compile and install OpenCTM under Ubuntu, do: - -make -f Makefile.linux -sudo make -f Makefile.linux install - -...and to compile and install OpenCTM under Mac OS X, do: - -make -f Makefile.macosx -sudo make -f Makefile.macosx install diff --git a/3rdparty/openctm/LICENSE.txt b/3rdparty/openctm/LICENSE.txt deleted file mode 100644 index 7a2d90b3d..000000000 --- a/3rdparty/openctm/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2009-2010 Marcus Geelnard - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. diff --git a/3rdparty/openctm/Makefile.linux b/3rdparty/openctm/Makefile.linux deleted file mode 100644 index 9cdc37e82..000000000 --- a/3rdparty/openctm/Makefile.linux +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.linux -# Description: Top level makefile for Linux systems (should work on most -# Un*x-like systems with gcc, e.g. OpenSolaris). -############################################################################### -# Copyright (c) 2009 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.phony: default all openctm toolset documentation install clean - -default: openctm toolset -all: openctm toolset documentation - -clean: - cd lib && $(MAKE) -f Makefile.linux clean && cd .. - cd tools && $(MAKE) -f Makefile.linux clean && cd .. - cd doc && $(MAKE) -f Makefile.linux clean && cd .. - -openctm: - cd lib && $(MAKE) -f Makefile.linux -j2 && cd .. - -toolset: - cd tools && $(MAKE) -f Makefile.linux -j2 && cd .. - -documentation: - cd doc && $(MAKE) -f Makefile.linux -j2 && cd .. - - -# Installation settings -LIBDIR = /usr/lib/ -INCDIR = /usr/local/include/ -BINDIR = /usr/local/bin/ -MAN1DIR = /usr/local/share/man/man1/ -CP = cp -MKDIR = mkdir -p - -install: - $(CP) lib/libopenctm.so $(LIBDIR) - $(CP) lib/openctm.h $(INCDIR) - $(CP) lib/openctmpp.h $(INCDIR) - $(CP) tools/ctmconv $(BINDIR) - $(CP) tools/ctmviewer $(BINDIR) - $(MKDIR) $(MAN1DIR) - $(CP) doc/ctmconv.1 $(MAN1DIR) - $(CP) doc/ctmviewer.1 $(MAN1DIR) diff --git a/3rdparty/openctm/Makefile.macosx b/3rdparty/openctm/Makefile.macosx deleted file mode 100644 index d0b1844ae..000000000 --- a/3rdparty/openctm/Makefile.macosx +++ /dev/null @@ -1,64 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.macosx -# Description: Top level makefile for Mac OS X. -############################################################################### -# Copyright (c) 2009 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.phony: default all openctm toolset documentation clean - -default: openctm toolset -all: openctm toolset documentation - -clean: - cd lib && $(MAKE) -f Makefile.macosx clean && cd .. - cd tools && $(MAKE) -f Makefile.macosx clean && cd .. - cd doc && $(MAKE) -f Makefile.macosx clean && cd .. - -openctm: - cd lib && $(MAKE) -f Makefile.macosx -j2 && cd .. - -toolset: - cd tools && $(MAKE) -f Makefile.macosx -j2 && cd .. - -documentation: - cd doc && $(MAKE) -f Makefile.macosx -j2 && cd .. - - -# Installation settings -LIBDIR = /usr/local/lib/ -INCDIR = /usr/local/include/ -BINDIR = /usr/local/bin/ -MAN1DIR = /usr/local/share/man/man1/ -CP = cp -MKDIR = mkdir -p - -install: - $(CP) lib/libopenctm.dylib $(LIBDIR) - $(CP) lib/openctm.h $(INCDIR) - $(CP) lib/openctmpp.h $(INCDIR) - $(CP) tools/ctmconv $(BINDIR) - $(CP) tools/ctmviewer $(BINDIR) - $(MKDIR) $(MAN1DIR) - $(CP) doc/ctmconv.1 $(MAN1DIR) - $(CP) doc/ctmviewer.1 $(MAN1DIR) diff --git a/3rdparty/openctm/Makefile.mingw b/3rdparty/openctm/Makefile.mingw deleted file mode 100644 index e9265d8f0..000000000 --- a/3rdparty/openctm/Makefile.mingw +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.mingw -# Description: Top level makefile for Windows / MinGW32. -############################################################################### -# Copyright (c) 2009 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.phony: default all openctm toolset documentation clean - -default: openctm toolset -all: openctm toolset documentation - -clean: - cd lib && $(MAKE) -f Makefile.mingw clean && cd .. - cd tools && $(MAKE) -f Makefile.mingw clean && cd .. - cd doc && $(MAKE) -f Makefile.win clean && cd .. - -openctm: - cd lib && $(MAKE) -f Makefile.mingw -j2 && cd .. - -toolset: - cd tools && $(MAKE) -f Makefile.mingw -j2 && cd .. - -documentation: - cd doc && $(MAKE) -f Makefile.win -j2 && cd .. diff --git a/3rdparty/openctm/Makefile.msvc b/3rdparty/openctm/Makefile.msvc deleted file mode 100644 index 13173ab09..000000000 --- a/3rdparty/openctm/Makefile.msvc +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.msvc -# Description: Top level makefile for Windows / MS Visual Studio 2008. -############################################################################### -# Copyright (c) 2009 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.PHONY: default all openctm toolset documentation clean - -default: openctm toolset -all: openctm toolset documentation - -clean: - cd lib && $(MAKE) /nologo /f Makefile.msvc clean && cd .. - cd tools && $(MAKE) /nologo /f Makefile.msvc clean && cd .. - cd doc && $(MAKE) /nologo /f Makefile.win clean && cd .. - -openctm: - cd lib && $(MAKE) /nologo /f Makefile.msvc && cd .. - -toolset: - cd tools && $(MAKE) /nologo /f Makefile.msvc && cd .. - -documentation: - cd doc && $(MAKE) /nologo /f Makefile.win && cd .. diff --git a/3rdparty/openctm/README.txt b/3rdparty/openctm/README.txt deleted file mode 100644 index c90571f99..000000000 --- a/3rdparty/openctm/README.txt +++ /dev/null @@ -1,152 +0,0 @@ -1. INTRODUCTION -=============== - -Welcome to OpenCTM! - -OpenCTM is a file format, a software library and a tool set for compression of -3D triangle meshes. The geometry is compressed to a fraction of comparable file -formats (3DS, STL, COLLADA, VRML...), and the format is easily accessible -through a simple, portable API. - -The library is written in portable C (C99), and should compile nicely on any -32/64-bit system regardless of endianity (big endian or little endian). - - -2. LICENSE -========== - -The OpenCTM API and the OpenCTM tools are released under the zlib/libpng -license (see LICENSE.txt). - -3. CREDITS -========== - -Many people have helped out in the development process of OpenCTM, with -valuable feedback, programming efforts, test models and conceptual ideas. -Also, OpenCTM relies heavily on many other open source projects. - -Here is an incomplete list of persons that deserve credit: - -- Igor Pavlov (LZMA library) -- Jonas Innala (COLLADA importer, Maya exporter plugin) -- Ilian Dinev (help with the OpenCTM file format design and the LWO loader) -- Lee Thomason (TinyXML) -- Diego Nehab (RPly - for loading PLY files) -- Lev Povalahev, Marcelo E. Magallon, Milan Ikits (GLEW) -- Thomas G. Lane, Guido Vollbeding (libjpeg) -- Jean-loup Gailly, Mark Adler (zlib) -- Daniel Karling (pnglite) - -During the development of OpenCTM, the following software has been used -extensively: - -- Ubuntu (www.ubuntu.com) -- Blender (www.blender.org) -- GCC (gcc.gnu.org) -- SciTE (www.scintilla.org/SciTE.html) -- Notepad++ (notepad-plus.sourceforge.net) -- Smultron (smultron.sourceforge.net) - -Legal notices: - -- This software is based in part on the work of the Independent JPEG Group. - - -4. CHANGES -========== - -v1.0.3 - 2010.01.15 -------------------- -- Added support for PNG format textures (ctmviewer). - -- Added support for LightWave LWO files (ctmconv and ctmviewer). - -- Added support for Geomview OFF files, e.g. as used by the Princeton Shape - Benchmark (ctmconv and ctmviewer). - -- Improved the OBJ file loader (ctmviewer and ctmconv). - -- Experimental support for VRML 2.0 files - export only (ctmconv and ctmviewer). - -- Made it possible to run ctmviewer without command line arguments. - -- Improved the normal calculation algorithm (ctmviewer and ctmconv). - -- Normals are no longer exported if no normals were present in the input file - (ctmviewer). - - -v1.0.2 - 2009.12.13 -------------------- -- Added an OpenCTM exporter plugin for Maya [Jonas Innala]. - -- Added the possiblity to save and load files from ctmviewer, effectively - turning it into a quick and simple converter tool (without all the options - in the ctmconv program, though). - -- Added a function to load texture files from ctmviewer. - -- Improved the camera control in ctmviewer (panning with the right mouse - button, zooming with the middle mouse button and the mouse wheel, feature - focusing by double clicking, Y/Z up axis selection and "fit to screen" - function). - -- Added a GUI dialog for showing errors in ctmviewer (this is especially useful - under Windows, where console output is disabeled). - -- Added an option for calculating the normals in ctmconv (if the input file - does not have normals). - -- Added options for turning off normals, texture coordinates and/or vertex - colors for the output file in ctmconv. - -- Added manuals for ctmviewer and ctmconv (man pages). - -- Added a "make install" build target for Mac OS X and Linux for simple system - wide installation (see COMPILING.txt). - -- NOTE: The Linux/X11 version of ctmviewer now reqires GTK+ 2.0. - - -v1.0.1 - 2009.11.15 -------------------- -- Notable reduction of the memory footprint by tuning of the LZMA compression - parameters. - -- Added a Wavefront OBJ file importer/exporter. - -- Some improvements to ctmviewer and ctmconv. - -- Some directory structure and build system cleanups. - - -v1.0 - 2009.11.09 ------------------ -- Added a COLLADA converter module to the ctmconv program [Jonas Innala]. - -- Added Python bindings and a demo Python program. - -- Improved the internal mesh integrity checking, to minimize the risk of invalid - data processing. - -- Improved the file format specification document. - - -v0.8 (beta) - 2009.09.14 ------------------------- -- Introduced a new API function for controlling the compression level - (ctmCompressionLevel), and set the default compression level to 5 (rather - than 9, which would eat a lot of memory, usally without much difference). - -- Changed the name "texture map" in the API to "UV map" (and all - corresponding constant and function names). This is more in line with - the nomenclature of most 3D authoring software, and avoids the confusion - with the term texture mapping in 3D hardware (which is not limited to - 2D UV mapping coordinates). - -- A few updates to the documentation. - - -v0.7 (beta) - 2009.08.29 ------------------------- -- This was the first public release of OpenCTM. diff --git a/3rdparty/openctm/bindings/delphi/OpenCTM.pas b/3rdparty/openctm/bindings/delphi/OpenCTM.pas deleted file mode 100644 index bdbb5222e..000000000 --- a/3rdparty/openctm/bindings/delphi/OpenCTM.pas +++ /dev/null @@ -1,189 +0,0 @@ -unit OpenCTM; -//------------------------------------------------------------------------------ -// Product: OpenCTM -// File: OpenCTM.pas -// Description: Delphi API bindings. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//------------------------------------------------------------------------------ - -interface - -//------------------------------------------------------------------------------ -// Types -//------------------------------------------------------------------------------ - -type - // Basic types - TCTMfloat = Single; - TCTMint = Integer; - TCTMuint = Cardinal; - TCTMcontext = Pointer; - TCTMenum = Cardinal; - - // Pointer types - PCTMfloat = ^TCTMfloat; - PCTMint = ^TCTMint; - PCTMuint = ^TCTMuint; - - // Callback function pointer types - TCTMreadfn = function (ABuf: Pointer; ACount: TCTMuint; AUserData: Pointer): TCTMuint; stdcall; - TCTMwritefn = function (ABuf: Pointer; ACount: TCTMuint; AUserData: Pointer): TCTMuint; stdcall; - - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const - CTM_API_VERSION = $00000100; - CTM_TRUE = 1; - CTM_FALSE = 0; - - // TCTMenum - CTM_NONE = $0000; - CTM_INVALID_CONTEXT = $0001; - CTM_INVALID_ARGUMENT = $0002; - CTM_INVALID_OPERATION = $0003; - CTM_INVALID_MESH = $0004; - CTM_OUT_OF_MEMORY = $0005; - CTM_FILE_ERROR = $0006; - CTM_BAD_FORMAT = $0007; - CTM_LZMA_ERROR = $0008; - CTM_INTERNAL_ERROR = $0009; - CTM_UNSUPPORTED_FORMAT_VERSION = $000A; - CTM_IMPORT = $0101; - CTM_EXPORT = $0102; - CTM_METHOD_RAW = $0201; - CTM_METHOD_MG1 = $0202; - CTM_METHOD_MG2 = $0203; - CTM_VERTEX_COUNT = $0301; - CTM_TRIANGLE_COUNT = $0302; - CTM_HAS_NORMALS = $0303; - CTM_UV_MAP_COUNT = $0304; - CTM_ATTRIB_MAP_COUNT = $0305; - CTM_VERTEX_PRECISION = $0306; - CTM_NORMAL_PRECISION = $0307; - CTM_COMPRESSION_METHOD = $0308; - CTM_FILE_COMMENT = $0309; - CTM_NAME = $0501; - CTM_FILE_NAME = $0502; - CTM_PRECISION = $0503; - CTM_INDICES = $0601; - CTM_VERTICES = $0602; - CTM_NORMALS = $0603; - CTM_UV_MAP_1 = $0700; - CTM_UV_MAP_2 = $0701; - CTM_UV_MAP_3 = $0702; - CTM_UV_MAP_4 = $0703; - CTM_UV_MAP_5 = $0704; - CTM_UV_MAP_6 = $0705; - CTM_UV_MAP_7 = $0706; - CTM_UV_MAP_8 = $0707; - CTM_ATTRIB_MAP_1 = $0800; - CTM_ATTRIB_MAP_2 = $0801; - CTM_ATTRIB_MAP_3 = $0802; - CTM_ATTRIB_MAP_4 = $0803; - CTM_ATTRIB_MAP_5 = $0804; - CTM_ATTRIB_MAP_6 = $0805; - CTM_ATTRIB_MAP_7 = $0806; - CTM_ATTRIB_MAP_8 = $0807; - - -//------------------------------------------------------------------------------ -// Function prototypes -//------------------------------------------------------------------------------ - -function ctmNewContext(AMode: TCTMenum): TCTMcontext; stdcall; -procedure ctmFreeContext(AContext: TCTMcontext); stdcall; -function ctmGetError(AContext: TCTMcontext): TCTMenum; stdcall; -function ctmErrorString(AError: TCTMenum): PChar; stdcall; -function ctmGetInteger(AContext: TCTMcontext; AProperty: TCTMenum): TCTMuint; stdcall; -function ctmGetFloat(AContext: TCTMcontext; AProperty: TCTMenum): TCTMfloat; stdcall; -function ctmGetIntegerArray(AContext: TCTMcontext; AProperty: TCTMenum): PCTMuint; stdcall; -function ctmGetFloatArray(AContext: TCTMcontext; AProperty: TCTMenum): PCTMfloat; stdcall; -function ctmGetNamedUVMap(AContext: TCTMcontext; AName: PChar): TCTMenum; stdcall; -function ctmGetUVMapString(AContext: TCTMcontext; AUVMap: TCTMenum; AProperty: TCTMenum): PChar; stdcall; -function ctmGetUVMapFloat(AContext: TCTMcontext; AUVMap: TCTMenum; AProperty: TCTMenum): TCTMfloat; stdcall; -function ctmGetNamedAttribMap(AContext: TCTMcontext; AName: PChar): TCTMenum; stdcall; -function ctmGetAttribMapString(AContext: TCTMcontext; AAttribMap: TCTMenum; AProperty: TCTMenum): PChar; stdcall; -function ctmGetAttribMapFloat(AContext: TCTMcontext; AAttribMap: TCTMenum; AProperty: TCTMenum): TCTMfloat; stdcall; -function ctmGetString(AContext: TCTMcontext; AProperty: TCTMenum): PChar; stdcall; -procedure ctmCompressionMethod(AContext: TCTMcontext; AMethod: TCTMenum); stdcall; -procedure ctmCompressionLevel(AContext: TCTMcontext; ALevel: TCTMuint); stdcall; -procedure ctmVertexPrecision(AContext: TCTMcontext; APrecision: TCTMfloat); stdcall; -procedure ctmVertexPrecisionRel(AContext: TCTMcontext; ARelPrecision: TCTMfloat); stdcall; -procedure ctmNormalPrecision(AContext: TCTMcontext; APrecision: TCTMfloat); stdcall; -procedure ctmUVCoordPrecision(AContext: TCTMcontext; AUVMap: TCTMenum; APrecision: TCTMfloat); stdcall; -procedure ctmAttribPrecision(AContext: TCTMcontext; AAttribMap: TCTMenum; APrecision: TCTMfloat); stdcall; -procedure ctmFileComment(AContext: TCTMcontext; AFileComment: PChar); stdcall; -procedure ctmDefineMesh(AContext: TCTMcontext; AVertices: PCTMfloat; AVertexCount: TCTMuint; AIndices: PCTMuint; ATriangleCount: TCTMuint; ANormals: PCTMfloat); stdcall; -function ctmAddUVMap(AContext: TCTMcontext; AUVCoords: PCTMfloat; AName: PChar; AFileName: PChar): TCTMenum; stdcall; -function ctmAddAttribMap(AContext: TCTMcontext; AAttribValues: PCTMfloat; AName: PChar): TCTMenum; stdcall; -procedure ctmLoad(AContext: TCTMcontext; AFileName: PChar); stdcall; -procedure ctmLoadCustom(AContext: TCTMcontext; AReadFn: TCTMreadfn; AUserData: Pointer); stdcall; -procedure ctmSave(AContext: TCTMcontext; AFileName: PChar); stdcall; -procedure ctmSaveCustom(AContext: TCTMcontext; AWriteFn: TCTMwritefn; AUserData: Pointer); stdcall; - - -implementation - -//------------------------------------------------------------------------------ -// DLL interface -//------------------------------------------------------------------------------ - -const - DLLNAME = 'openctm.dll'; - -function ctmNewContext; external DLLNAME; -procedure ctmFreeContext; external DLLNAME; -function ctmGetError; external DLLNAME; -function ctmErrorString; external DLLNAME; -function ctmGetInteger; external DLLNAME; -function ctmGetFloat; external DLLNAME; -function ctmGetIntegerArray; external DLLNAME; -function ctmGetFloatArray; external DLLNAME; -function ctmGetNamedUVMap; external DLLNAME; -function ctmGetUVMapString; external DLLNAME; -function ctmGetUVMapFloat; external DLLNAME; -function ctmGetNamedAttribMap; external DLLNAME; -function ctmGetAttribMapString; external DLLNAME; -function ctmGetAttribMapFloat; external DLLNAME; -function ctmGetString; external DLLNAME; -procedure ctmCompressionMethod; external DLLNAME; -procedure ctmCompressionLevel; external DLLNAME; -procedure ctmVertexPrecision; external DLLNAME; -procedure ctmVertexPrecisionRel; external DLLNAME; -procedure ctmNormalPrecision; external DLLNAME; -procedure ctmUVCoordPrecision; external DLLNAME; -procedure ctmAttribPrecision; external DLLNAME; -procedure ctmFileComment; external DLLNAME; -procedure ctmDefineMesh; external DLLNAME; -function ctmAddUVMap; external DLLNAME; -function ctmAddAttribMap; external DLLNAME; -procedure ctmLoad; external DLLNAME; -procedure ctmLoadCustom; external DLLNAME; -procedure ctmSave; external DLLNAME; -procedure ctmSaveCustom; external DLLNAME; - -end. - diff --git a/3rdparty/openctm/bindings/python/ctminfo.py b/3rdparty/openctm/bindings/python/ctminfo.py deleted file mode 100644 index 98c13989b..000000000 --- a/3rdparty/openctm/bindings/python/ctminfo.py +++ /dev/null @@ -1,61 +0,0 @@ -#! /usr/bin/env python -#------------------------------------------------------------------------------ -# Program: ctminfo.py -# Description: Show information about an OpenCTM file -# License: Public domain -#------------------------------------------------------------------------------ - -import sys -import openctm -from openctm import * - -# Check arguments -if len(sys.argv) != 2: - print("Usage: " + sys.argv[0] + " file") - sys.exit() - -# Create an OpenCTM context, and load the file -ctm = ctmNewContext(CTM_IMPORT) -ctmLoad(ctm, sys.argv[1]) -err = ctmGetError(ctm) -if err != CTM_NONE: - print("Error loading file: " + str(ctmErrorString(err))) - sys.exit() - -# Interpret information -if ctmGetInteger(ctm, CTM_HAS_NORMALS) == CTM_TRUE: - hasNormals = "yes" -else: - hasNormals = "no"; -method = ctmGetInteger(ctm, CTM_COMPRESSION_METHOD) -if method == CTM_METHOD_RAW: - methodStr = "RAW" -elif method == CTM_METHOD_MG1: - methodStr = "MG1" -elif method == CTM_METHOD_MG2: - methodStr = "MG2" -else: - methodStr = "Unknown" - -# Print information -print(" File: " + sys.argv[1]) -print(" Comment: " + str(ctmGetString(ctm, CTM_FILE_COMMENT))) -print("Triangle count: " + str(ctmGetInteger(ctm, CTM_TRIANGLE_COUNT))) -print(" Vertex count: " + str(ctmGetInteger(ctm, CTM_VERTEX_COUNT))) -print(" Has normals: " + hasNormals) -print(" Method: " + methodStr) - -# List UV maps -uvMapCount = ctmGetInteger(ctm, CTM_UV_MAP_COUNT) -print(" UV maps: " + str(uvMapCount)) -for i in range(uvMapCount): - print(" CTM_UV_MAP_" + str(i+1) + ": \"" + str(ctmGetUVMapString(ctm, CTM_UV_MAP_1 + i, CTM_NAME)) + "\", ref = \"" + str(ctmGetUVMapString(ctm, CTM_UV_MAP_1 + i, CTM_FILE_NAME)) + "\"") - -# List attrib maps -attribMapCount = ctmGetInteger(ctm, CTM_ATTRIB_MAP_COUNT) -print("Attribute maps: " + str(attribMapCount)) -for i in range(attribMapCount): - print(" CTM_ATTRIB_MAP_" + str(i+1) + ": \"" + str(ctmGetAttribMapString(ctm, CTM_ATTRIB_MAP_1 + i, CTM_NAME)) + "\"") - -# Free the OpenCTM context -ctmFreeContext(ctm) diff --git a/3rdparty/openctm/bindings/python/openctm.py b/3rdparty/openctm/bindings/python/openctm.py deleted file mode 100644 index 9632eb133..000000000 --- a/3rdparty/openctm/bindings/python/openctm.py +++ /dev/null @@ -1,204 +0,0 @@ -#------------------------------------------------------------------------------ -# Product: OpenCTM -# File: openctm.py -# Description: Python API bindings (tested with Python 2.5.2 and Python 3.0) -#------------------------------------------------------------------------------ -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -#------------------------------------------------------------------------------ - -import os -import ctypes -from ctypes import * -from ctypes.util import find_library - -# Types -CTMfloat = c_float -CTMint = c_int32 -CTMuint = c_uint32 -CTMcontext = c_void_p -CTMenum = c_uint32 - -# Constants -CTM_API_VERSION = 0x00000100 -CTM_TRUE = 1 -CTM_FALSE = 0 - -# CTMenum -CTM_NONE = 0x0000 -CTM_INVALID_CONTEXT = 0x0001 -CTM_INVALID_ARGUMENT = 0x0002 -CTM_INVALID_OPERATION = 0x0003 -CTM_INVALID_MESH = 0x0004 -CTM_OUT_OF_MEMORY = 0x0005 -CTM_FILE_ERROR = 0x0006 -CTM_BAD_FORMAT = 0x0007 -CTM_LZMA_ERROR = 0x0008 -CTM_INTERNAL_ERROR = 0x0009 -CTM_UNSUPPORTED_FORMAT_VERSION = 0x000A -CTM_IMPORT = 0x0101 -CTM_EXPORT = 0x0102 -CTM_METHOD_RAW = 0x0201 -CTM_METHOD_MG1 = 0x0202 -CTM_METHOD_MG2 = 0x0203 -CTM_VERTEX_COUNT = 0x0301 -CTM_TRIANGLE_COUNT = 0x0302 -CTM_HAS_NORMALS = 0x0303 -CTM_UV_MAP_COUNT = 0x0304 -CTM_ATTRIB_MAP_COUNT = 0x0305 -CTM_VERTEX_PRECISION = 0x0306 -CTM_NORMAL_PRECISION = 0x0307 -CTM_COMPRESSION_METHOD = 0x0308 -CTM_FILE_COMMENT = 0x0309 -CTM_NAME = 0x0501 -CTM_FILE_NAME = 0x0502 -CTM_PRECISION = 0x0503 -CTM_INDICES = 0x0601 -CTM_VERTICES = 0x0602 -CTM_NORMALS = 0x0603 -CTM_UV_MAP_1 = 0x0700 -CTM_UV_MAP_2 = 0x0701 -CTM_UV_MAP_3 = 0x0702 -CTM_UV_MAP_4 = 0x0703 -CTM_UV_MAP_5 = 0x0704 -CTM_UV_MAP_6 = 0x0705 -CTM_UV_MAP_7 = 0x0706 -CTM_UV_MAP_8 = 0x0707 -CTM_ATTRIB_MAP_1 = 0x0800 -CTM_ATTRIB_MAP_2 = 0x0801 -CTM_ATTRIB_MAP_3 = 0x0802 -CTM_ATTRIB_MAP_4 = 0x0803 -CTM_ATTRIB_MAP_5 = 0x0804 -CTM_ATTRIB_MAP_6 = 0x0805 -CTM_ATTRIB_MAP_7 = 0x0806 -CTM_ATTRIB_MAP_8 = 0x0807 - -# Load the OpenCTM shared library -if os.name == 'nt': - _lib = WinDLL('openctm.dll') -else: - _libName = find_library('openctm') - if not _libName: - raise Exception('Could not find the OpenCTM shared library.') - _lib = CDLL(_libName) -if not _lib: - raise Exception('Could not open the OpenCTM shared library.') - -# Functions -ctmNewContext = _lib.ctmNewContext -ctmNewContext.argtypes = [CTMenum] -ctmNewContext.restype = CTMcontext - -ctmFreeContext = _lib.ctmFreeContext -ctmFreeContext.argtypes = [CTMcontext] - -ctmGetError = _lib.ctmGetError -ctmGetError.argtypes = [CTMcontext] -ctmGetError.restype = CTMenum - -ctmErrorString = _lib.ctmErrorString -ctmErrorString.argtypes = [CTMenum] -ctmErrorString.restype = c_char_p - -ctmGetInteger = _lib.ctmGetInteger -ctmGetInteger.argtypes = [CTMcontext, CTMenum] -ctmGetInteger.restype = CTMint - -ctmGetFloat = _lib.ctmGetFloat -ctmGetFloat.argtypes = [CTMcontext, CTMenum] -ctmGetFloat.restype = CTMfloat - -ctmGetIntegerArray = _lib.ctmGetIntegerArray -ctmGetIntegerArray.argtypes = [CTMcontext, CTMenum] -ctmGetIntegerArray.restype = POINTER(CTMuint) - -ctmGetFloatArray = _lib.ctmGetFloatArray -ctmGetFloatArray.argtypes = [CTMcontext, CTMenum] -ctmGetFloatArray.restype = POINTER(CTMfloat) - -ctmGetNamedUVMap = _lib.ctmGetNamedUVMap -ctmGetNamedUVMap.argtypes = [CTMcontext, c_char_p] -ctmGetNamedUVMap.restype = CTMenum - -ctmGetUVMapString = _lib.ctmGetUVMapString -ctmGetUVMapString.argtypes = [CTMcontext, CTMenum, CTMenum] -ctmGetUVMapString.restype = c_char_p - -ctmGetUVMapFloat = _lib.ctmGetUVMapFloat -ctmGetUVMapFloat.argtypes = [CTMcontext, CTMenum, CTMenum] -ctmGetUVMapFloat.restype = CTMfloat - -ctmGetNamedAttribMap = _lib.ctmGetNamedAttribMap -ctmGetNamedAttribMap.argtypes = [CTMcontext, c_char_p] -ctmGetNamedAttribMap.restype = CTMenum - -ctmGetAttribMapString = _lib.ctmGetAttribMapString -ctmGetAttribMapString.argtypes = [CTMcontext, CTMenum, CTMenum] -ctmGetAttribMapString.restype = c_char_p - -ctmGetAttribMapFloat = _lib.ctmGetAttribMapFloat -ctmGetAttribMapFloat.argtypes = [CTMcontext, CTMenum, CTMenum] -ctmGetAttribMapFloat.restype = CTMfloat - -ctmGetString = _lib.ctmGetString -ctmGetString.argtypes = [CTMcontext, CTMenum] -ctmGetString.restype = c_char_p - -ctmCompressionMethod = _lib.ctmCompressionMethod -ctmCompressionMethod.argtypes = [CTMcontext, CTMenum] - -ctmCompressionLevel = _lib.ctmCompressionLevel -ctmCompressionLevel.argtypes = [CTMcontext, CTMuint] - -ctmVertexPrecision = _lib.ctmVertexPrecision -ctmVertexPrecision.argtypes = [CTMcontext, CTMfloat] - -ctmVertexPrecisionRel = _lib.ctmVertexPrecisionRel -ctmVertexPrecisionRel.argtypes = [CTMcontext, CTMfloat] - -ctmNormalPrecision = _lib.ctmNormalPrecision -ctmNormalPrecision.argtypes = [CTMcontext, CTMfloat] - -ctmUVCoordPrecision = _lib.ctmUVCoordPrecision -ctmUVCoordPrecision.argtypes = [CTMcontext, CTMenum, CTMfloat] - -ctmAttribPrecision = _lib.ctmAttribPrecision -ctmAttribPrecision.argtypes = [CTMcontext, CTMenum, CTMfloat] - -ctmFileComment = _lib.ctmFileComment -ctmFileComment.argtypes = [CTMcontext, c_char_p] - -ctmDefineMesh = _lib.ctmDefineMesh -ctmDefineMesh.argtypes = [CTMcontext, POINTER(CTMfloat), CTMuint, POINTER(CTMuint), CTMuint, POINTER(CTMfloat)] - -ctmAddUVMap = _lib.ctmAddUVMap -ctmAddUVMap.argtypes = [CTMcontext, POINTER(CTMfloat), c_char_p, c_char_p] -ctmAddUVMap.restype = CTMenum - -ctmAddAttribMap = _lib.ctmAddAttribMap -ctmAddAttribMap.argtypes = [CTMcontext, POINTER(CTMfloat), c_char_p] -ctmAddAttribMap.restype = CTMenum - -ctmLoad = _lib.ctmLoad -ctmLoad.argtypes = [CTMcontext, c_char_p] - -ctmSave = _lib.ctmSave -ctmSave.argtypes = [CTMcontext, c_char_p] diff --git a/3rdparty/openctm/build-src.sh b/3rdparty/openctm/build-src.sh deleted file mode 100644 index b296c1c63..000000000 --- a/3rdparty/openctm/build-src.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -# Name of the distribution -distname=OpenCTM-1.0.3 - -# Clean the source directories -echo Cleaning up... -make -f Makefile.linux clean - -# Build all the necessary files -echo Building documentation... -make -f Makefile.linux documentation - -# Set up a temporary directory -tmproot=/tmp/openctm-$USER-$$ -mkdir $tmproot -tmpdir=$tmproot/$distname -mkdir $tmpdir - -# Copy files -echo Copying files to $tmpdir... -cp Makefile* *.txt $tmpdir/ -mkdir $tmpdir/lib -cp lib/*.c lib/*.h lib/*.rc lib/*.def lib/Makefile* $tmpdir/lib/ -mkdir $tmpdir/lib/liblzma -cp lib/liblzma/* $tmpdir/lib/liblzma/ -mkdir $tmpdir/tools -cp tools/*.cpp tools/*.mm tools/*.h tools/*.vert tools/*.frag tools/*.rc tools/Makefile* $tmpdir/tools/ -mkdir $tmpdir/tools/icons -cp tools/icons/* $tmpdir/tools/icons/ -mkdir $tmpdir/tools/jpeg -cp tools/jpeg/* $tmpdir/tools/jpeg/ -mkdir $tmpdir/tools/rply -cp tools/rply/* $tmpdir/tools/rply/ -mkdir $tmpdir/tools/glew -cp tools/glew/* $tmpdir/tools/glew/ -mkdir $tmpdir/tools/glew/GL -cp tools/glew/GL/* $tmpdir/tools/glew/GL/ -mkdir $tmpdir/tools/tinyxml -cp tools/tinyxml/* $tmpdir/tools/tinyxml/ -mkdir $tmpdir/tools/zlib -cp tools/zlib/* $tmpdir/tools/zlib/ -mkdir $tmpdir/tools/pnglite -cp tools/pnglite/* $tmpdir/tools/pnglite/ - -mkdir $tmpdir/doc -cp doc/DevelopersManual.pdf $tmpdir/doc/ -cp doc/FormatSpecification.pdf $tmpdir/doc/ -cp doc/ctmconv.1 $tmpdir/doc/ -cp doc/ctmviewer.1 $tmpdir/doc/ -mkdir $tmpdir/doc/APIReference -cp doc/APIReference/* $tmpdir/doc/APIReference/ - -mkdir $tmpdir/plugins -mkdir $tmpdir/plugins/blender -cp plugins/blender/* $tmpdir/plugins/blender/ -mkdir $tmpdir/plugins/maya -cp plugins/maya/* $tmpdir/plugins/maya/ - -mkdir $tmpdir/bindings -mkdir $tmpdir/bindings/delphi -cp bindings/delphi/* $tmpdir/bindings/delphi/ -mkdir $tmpdir/bindings/python -cp bindings/python/* $tmpdir/bindings/python/ - -# Create archives -olddir=`pwd` -cd $tmproot -tar -cvf $distname-src.tar $distname -bzip2 -9 $distname-src.tar -zip -9r $distname-src.zip $distname -cd $olddir -cp $tmproot/*.bz2 $tmproot/*.zip ./ - -# Remove temporary directory -rm -rf $tmproot - diff --git a/3rdparty/openctm/doc/DevelopersManual.tex b/3rdparty/openctm/doc/DevelopersManual.tex deleted file mode 100644 index 731e91074..000000000 --- a/3rdparty/openctm/doc/DevelopersManual.tex +++ /dev/null @@ -1,678 +0,0 @@ -%------------------------------------------------------------------------------- -% Document: OpenCTM Developers Manual -% Author: Marcus Geelnard -% Compile: pdflatex DevelopersManual.tex -%------------------------------------------------------------------------------- -% Note: You need a LaTeX environment to build this document as PDF. The -% recommended way is to install TeX Live (http://www.tug.org/texlive/) and -% a decent LaTeX editor (e.g. texmaker, LEd, etc). -% -% Ubuntu: sudo apt-get install texlive-full -% Mac OS X: http://www.tug.org/mactex/ (MacTeX.mpkg.zip) -% -% To build the PDF document, run pdflatex twice on this .tex file (in order to -% correctly build the TOC). -%------------------------------------------------------------------------------- - -% Use the OpenCTM TeX style -\input{openctm-tex.sty} - -% Document properties -\author{Marcus Geelnard} -\title{OpenCTM Developers Manual} - -% PDF specific document properties -\hypersetup{pdftitle={OpenCTM Developers Manual}} -\hypersetup{pdfauthor={Marcus Geelnard}} -\hypersetup{pdfkeywords={OpenCTM,manual}} - -% Document contents -\begin{document} - -%--[ Title page ]--------------------------------------------------------------- - -\begin{titlepage} -\begin{center} -~ -\vspace{5cm} - -\includegraphics[width=10.0cm]{logo.pdf} -\vspace{0.4cm} - -{\large Software Library version 1.0.3} - -\vspace{1.0cm} - -{\Large Developers Manual} -\vspace{1.5cm} - -Copyright \copyright \ 2009-2010 Marcus Geelnard -\end{center} -\end{titlepage} - - -%--[ Table of contents ]-------------------------------------------------------- - -\tableofcontents - - -%------------------------------------------------------------------------------- - -\chapter{Introduction} -The OpenCTM file format is an open format for storing 3D triangle meshes. -One of the main advantages over other similar file formats is its ability -to losslessly compress the triangle geometry to a fraction of the corresponding -raw data size. - -This document describes how to use the OpenCTM API to load and save OpenCTM -format files. It is mostly written for C/C++ users, but should be useful for -other programming languages too, since the concepts and function calls are -virtually identical regardless of programming language. - -For a complete reference to the OpenCTM API, please use the Doxygen generated -OpenCTM API Reference, which describes all API functions, types, constants etc. - - - -%------------------------------------------------------------------------------- - -\chapter{Concepts} - -\section{The OpenCTM API} -The OpenCTM API makes it easy to read and write OpenCTM format files. The API is -implemented in the form of a software library that an application can be linked -to in order to access the OpenCTM API. - -The software library itself is written in standard, portable C language, but -can be used from many other programming languages (writing language bindings -for new languages should be fairly straight forward, since the API was written -with cross-language portability in mind). - - -\section{The triangle mesh} -The triangle mesh, in OpenCTM terms, is managed in a format that is well suited -for a modern 3D rendering pipeline, such as OpenGL. - -At a glance, the OpenCTM mesh has the following properties: - -\begin{itemize} - \item A vertex is a set of attributes that uniquely identify the vertex. - This includes: vertex coordinate, normal, UV coordinate(s) and - custom vertex attribute(s) (such as color, weight, etc). - \item A triangle is described by three vertex indices. - \item In the OpenCTM API, these mesh data are treated as arrays (an integer - array for the triangle indices, and floating point arrays for the - vertex data). - \item All vertex data arrays in a mesh must have the same number of elements - (for instance, there is exactly one normal associated with each - vertex coordinate). - \item All mesh data are optional, except for the triangle indices and the - vertex coordinates. For instance, it is possible to leave out the - normal information. -\end{itemize} - -For an example of the mesh data structure see table \ref{tab:MeshVert} (vertex -data) and table \ref{tab:MeshTri} (triangle data). - -\begin{table}[p] -\centering -\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline -\textbf{Index} & 0 & 1 & 2 & 3 & 4 & \textellipsis & N\\ \hline -\textbf{Vertex} & $v_0$ & $v_1$ & $v_2$ & $v_3$ & $v_4$ & \textellipsis & $v_N$\\ \hline -\textbf{Normal} & $n_0$ & $n_1$ & $n_2$ & $n_3$ & $n_4$ & \textellipsis & $n_N$\\ \hline -\textbf{UVCoord1} & $t1_0$ & $t1_1$ & $t1_2$ & $t1_3$ & $t1_4$ & \textellipsis & $t1_N$\\ \hline -\textbf{UVCoord2} & $t2_0$ & $t2_1$ & $t2_2$ & $t2_3$ & $t2_4$ & \textellipsis & $t2_N$\\ \hline -\textbf{Attrib1} & $a1_0$ & $a1_1$ & $a1_2$ & $a1_3$ & $a1_4$ & \textellipsis & $a1_N$\\ \hline -\textbf{Attrib2} & $a2_0$ & $a2_1$ & $a2_2$ & $a2_3$ & $a2_4$ & \textellipsis & $a2_N$\\ \hline -\end{tabular} -\caption{Mesh vertex data structure in OpenCTM, for a mesh with normals, -two UV coordinates per vertex, and two custom attributes per vertex.} -\label{tab:MeshVert} -\end{table} - -\begin{table}[p] -\centering -\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline -\textbf{Triangle} & $tri_0$ & $tri_1$ & $tri_2$ & $tri_3$ & $tri_4$ & \textellipsis & $tri_M$\\ \hline -\end{tabular} -\caption{Mesh triangle data structure in OpenCTM, where $tri_k$ is a tuple of -three vertex indices. For instance, -$tri_0=(0, 1, 2)$, -$tri_1=(0, 2, 3)$, -$tri_2=(3, 5, 4)$, \textellipsis} -\label{tab:MeshTri} -\end{table} - - -\subsection{Triangle indices} -\label{sec:MeshIndices} - -Each triangle is described by three integers: one vertex index for each corner -of the triangle). The triangle index array looks like this: - -\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|}\hline -$tri^0_0$ & $tri^1_0$ & $tri^2_0$ & $tri^0_1$ & $tri^1_1$ & $tri^2_1$ & \textellipsis & $tri^0_M$ & $tri^1_M$ & $tri^2_M$\\ \hline -\end{tabular} - -\textellipsis where $tri^j_k$ is the vertex index for the $j$:th corner of the -$k$:th triangle. - - -\subsection{Vertex coordinates} - -Each vertex coordinate is described by three floating point values: $x$, $y$ -and $z$. The vertex coordinate array looks like this: - -\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|}\hline -$x_0$ & $y_0$ & $z_0$ & $x_1$ & $y_1$ & $z_1$ & \textellipsis & $x_N$ & $y_N$ & $z_N$\\ \hline -\end{tabular} - -\textellipsis where $x_k$, $y_k$ and $z_k$ are the $x$, $y$ and $z$ coordinates -of the $k$:th vertex. - - -\subsection{Normals} - -Each normal is described by three floating point values: $x$, $y$ -and $z$. The normal array looks like this: - -\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|}\hline -$x_0$ & $y_0$ & $z_0$ & $x_1$ & $y_1$ & $z_1$ & \textellipsis & $x_N$ & $y_N$ & $z_N$\\ \hline -\end{tabular} - -\textellipsis where $x_k$, $y_k$ and $z_k$ are the $x$, $y$ and $z$ components -of the $k$:th normal. - - -\subsection{UV coordinates} - -A mesh may have several UV maps, where each UV map is described by: - -\begin{itemize} - \item A UV coordinate array. - \item A unique UV map name. - \item A file name reference (optional). -\end{itemize} - -Each UV coordinate is described by two floating point values: $u$ and $v$. -A UV coordinate array looks like this: - -\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|}\hline -$u_0$ & $v_0$ & $u_1$ & $v_1$ & $u_2$ & $v_2$ & \textellipsis & $u_N$ & $v_N$\\ \hline -\end{tabular} - -\textellipsis where $u_k$ and $v_k$ are the $u$ and $v$ components -of the $k$:th UV coordinate. - - -\subsection{Custom vertex attributes} - -A mesh may have several custom vertex attribute maps, where each attribute map -is described by: - -\begin{itemize} - \item A vertex attribute array. - \item A unique attribute map name. -\end{itemize} - -Each vertex attribute is described by four floating point values: $a$, $b$, $c$ -and $d$. An attribute array looks like this: - -\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|}\hline -$a_0$ & $b_0$ & $c_0$ & $d_0$ & $a_1$ & $b_1$ & $c_1$ & $d_1$ & \textellipsis & $a_N$ & $b_N$ & $c_N$ & $d_N$\\ \hline -\end{tabular} - -\textellipsis where $a_k$, $b_k$, $c_k$ and $d_k$ are the four attribute values -of the $k$:th attribute. - - -\section{The OpenCTM context} -The OpenCTM API uses a \emph{context} for almost all operations (function calls). -The context is created and destroyed with the functions ctmNewContext() and -ctmFreeContext(), respectively. - -A program may instantiate any number of contexts, and all OpenCTM function -calls are completely thread safe (multiple threads can use the OpenCTM API -at the same time), as long as each context instance is handled by a single -thread. - -Each context is fully self contained and independent of other contexts. - -There are two types of OpenCTM context: \emph{import contexts} and -\emph{export contexts}. Import contexts are used for importing OpenCTM files, -and export contexts are used for exporting OpenCTM files. - -The context type is selected when creating the context. - - - -%------------------------------------------------------------------------------- - -\chapter{Compression Methods} -The OpenCTM file format supports a few different compression methods, each -with its own advantages and disadvantages. The API makes it possible to -select which method to use when creating OpenCTM files (the default method -is MG1). - - -\section{RAW} -The RAW compression method is not really a compression method, since it only -stores the data in a raw, uncompressed form. The result is a file with the same -size and data format as the in-memory mesh data structure. - -The RAW method is mostly useful for testing purposes, but can be preferred in -certain situations, for instance when file writing speeds and a small memory -footprint is more important than minimizing file sizes. - -Another situation where the RAW method can be useful is when you need an -easily parsable binary file format. Usually the OpenCTM API can be used in -almost any application, but in some environments, such as certain script -languages or data inspecion tools, it can be handy to have access to the -raw data. - - -\section{MG1} -The MG1 compression method effectively reduces the size of the mesh data -by re-coding the connectivity information of the mesh into an easily -compressible format. The data is then compressed using LZMA. - -The floating point data, such as vertex coordinates and normals, is fully -preserved in the MG1 method, by simply applying lossless LZMA compression -to it. - -Under typical condititions, the connectivity information is compressed to -about two bytes per triangle (17\% of the original size), and vertex data -is compressed to about 75\% of the original size. - -While creating MG1 files can be a relatively slow process (compared to the -RAW method, for instance) the reading speed is usually very high, thanks to -the fast LZMA decoder and the uncomplicated data format. - - -\section{MG2} -The MG2 compression method offers the highest level of compression among the -different OpenCTM methods. It uses the same method for compressing connectivity -information as the MG1 method, but does a better job at compressing vertex -data. - -Vertex data is converted to a fixed point representation, which allows for -efficient, lossless, prediction based data compression algorithms. - -In short, the MG2 method divides the mesh into small sub-spaces, sorts the data -geometrically, and applies delta-prediction to the data, which effectively -lowers the data entropy. The re-coded vertex data is then compressed with -LZMA. - -When using the OpenCTM API for creating MG2 files you can trade mesh resolution -for compression ratio, and the API provides several functions for controlling -the resolution of different vertex attributes independently. Therefor it is -usually important to know the resolution requirements for your specific -application when using the MG2 method. - -In some applications, such as games, movies and art, it is important that the -3D model is not visually degraded by compression. In such applications -you will typically tune your resolution settings using trial and error, -until you find a setting that does not alter the model visually. - -In other applications, such as CAD/CAM, 3D scanning, calibration, etc, -reasonable resolution settings can usually be derived from the limitations -of the process in which the model is used. For instance, there is usually no -need for nanometer precision in the design of an airplane wing, and there -is little use of micrometer resolution in a manufacturing process that can -not reproduce features smaller than 0.15 mm. - -As a side effect of the fact that MG2 produces smaller files than the MG1 -method does, loading files is usually faster with the MG2 method than with -the MG1 method. Saving files with the MG2 method is about as fast as with -the MG1 method. - - - -%------------------------------------------------------------------------------- - -\chapter{Basic Usage} - -\section{Prerequisites} -To use the OpenCTM API, you need to include the OpenCTM include file, like this: - -\begin{lstlisting} -#include -\end{lstlisting} - -You also need to link with the OpenCTM import library. For instance, in MS -Visual Studio you can add "openctm.lib" to your Additional Dependencies field -in the Linker section. For gcc/g++ or similar compilers, you will typically -add -lopenctm to the list of compiler options, for instance: - -\begin{lstlisting} -> g++ -o foo foo.cpp -lopenctm -\end{lstlisting} - - -\section{Loading OpenCTM files} -Below is a minimal example of how to load an OpenCTM file with the OpenCTM API, -in just a few lines of code: - -\begin{lstlisting} -CTMcontext context; -CTMuint vertCount, triCount, * indices; -CTMfloat * vertices; - -// Create a new importer context -context = ctmNewContext(CTM_IMPORT); - -// Load the OpenCTM file -ctmLoad(context, "mymesh.ctm"); -if(ctmGetError(context) == CTM_NONE) -{ - // Access the mesh data - vertCount = ctmGetInteger(context, CTM_VERTEX_COUNT); - vertices = ctmGetFloatArray(context, CTM_VERTICES); - triCount = ctmGetInteger(context, CTM_TRIANGLE_COUNT); - indices = ctmGetIntegerArray(context, CTM_INDICES); - - // Deal with the mesh (e.g. transcode it to our - // internal representation) - // ... -} - -// Free the context -ctmFreeContext(context); -\end{lstlisting} - - -\section{Creating OpenCTM files} -Below is a minimal example of how to save an OpenCTM file with the OpenCTM API, -in just a few lines of code: - -\begin{lstlisting} -void MySaveFile(CTMuint aVertCount, CTMuint aTriCount, - CTMfloat * aVertices, CTMuint * aIndices, - const char * aFileName) -{ - CTMcontext context; - - // Create a new exporter context - context = ctmNewContext(CTM_EXPORT); - - // Define our mesh representation to OpenCTM - ctmDefineMesh(context, aVertices, aVertCount, aIndices, aTriCount, NULL); - - // Save the OpenCTM file - ctmSave(context, aFileName); - - // Free the context - ctmFreeContext(context); -} -\end{lstlisting} - - - -%------------------------------------------------------------------------------- - -\chapter{Controlling Compression} -When creating OpenCTM files, one of the most important things to control with -the API is the compression method. - - -\section{Selecting the compression method} -You can select which compression method to use with the ctmCompressionMethod() -function. The different options are: - -\begin{tabular}{|l|l|}\hline -\textbf{Name} & \textbf{Description}\\ \hline -CTM\_METHOD\_RAW & Use the RAW compression method.\\ \hline -CTM\_METHOD\_MG1 & Use the MG1 compression method (default).\\ \hline -CTM\_METHOD\_MG2 & Use the MG2 compression method.\\ \hline -\end{tabular} - -For instance, to select the MG2 compression method for a given OpenCTM context, -use: - -\begin{lstlisting} - ctmCompressionMethod(context, CTM_METHOD_MG2); -\end{lstlisting} - - -\section{Selecting the compression level} -You can select which LZMA compression level to use with the ctmCompressionLevel() -function. The compression level can be in the range 0-9, where 0 is the fastest -compression, and 9 is the best compression. The compression level also affects the -amount of memory that is used during compression (anywhere from a few megabytes to -several hundred megabytes). - -\begin{lstlisting} - ctmCompressionMethod(context, 4); -\end{lstlisting} - -The default compression level is 1. - - -\section{Selecting fixed point precision} -When the MG2 compression method is used, further compression control is provided -through the API that deals with the fixed point precision for different vertex -attributes. The different attribute precisions that can be controlled are: - -\begin{tabular}{|l|l|}\hline -\textbf{Attribute} & \textbf{API function}\\ \hline -Vertex coordinate & ctmVertexPrecision() / ctmVertexPrecisionRel()\\ \hline -Normal & ctmNormalPrecision()\\ \hline -UV coordinates & ctmUVCoordPrecision()\\ \hline -Custom attributes & ctmAttribPrecision()\\ \hline -\end{tabular} - -Reasonable default values for the fixed point precisions are selected by the API -unless the corresponding API functions are called. However, the API does not know -the requirements for the mesh, which is why it is always a good idea to specify -the fixed point precision that is most relevant for your specific mesh. - - -\subsection{Vertex coordinate precision} -The vertex coordinate precision can be controlled in two ways: - -\begin{itemize} - \item Absolute precision - ctmVertexPrecision(). - \item Relative precision - ctmVertexPrecisionRel(). -\end{itemize} - -You typically specify the absolute precision when you know the properties of the -mesh and what is going to be used for (for instance, if it is a product of a -measurment procecss, or if it will be used in a manufacturing process). For -example, if the vertex coordinate unit is meters, and the precision is specified -as $0.001$, the fixed point precision will be 1 mm: - -\begin{lstlisting} - ctmVertexPrecision(context, 0.001); -\end{lstlisting} - -When you do not know much about the mesh, it can be useful to specify the -relative precision. The ctmVertexPrecisionRel() function will analyze the mesh -to find a useful base measure, which is multiplied by a scaling factor that -is given as an argument to the function. - -The relative precision function uses the average triangle edge length as the -base measure. So for example, if you specify $0.01$ as the relative precision, -the precision will be 1\% of the average triangle edge length, which is usually -a good figure for meshes that will be used in visualization applications: - -\begin{lstlisting} - ctmVertexPrecisionRel(context, 0.01); -\end{lstlisting} - -It should be noted that unlike the ctmVertexPrecision() function, the -ctmVertexPrecisionRel() function requires that the mesh has been specified -before calling the function. - -The default vertex coordinate precision is $2^{-10} \approx 0.00098$. - - -\subsection{Normal precision} -In the MG2 compression method, each vertex normal is represented in spherical -coordinates (the coordinate system is aligned to the average normal of all -triangles that connect to the vertex). - -The precision controls both the angular resolution and the radial resolution -(magnitude). For instance, $0.01$ means that the circle is divided into 100 -steps, and the normal magnitude is rounded to 2 decimals: - -\begin{lstlisting} - ctmNormalPrecision(context, 0.01); -\end{lstlisting} - -The default normal precision is $2^{-8} \approx 0.0039$. - - -\subsection{UV coordinate precision} -UV coordinate precision is specified on a per UV map basis, and -gives the absolute precision in UV coordinate space. - -The effects of different precisions depend on many different things. For -instance if the UV map is used for mapping a 2D texture onto the triangle -mesh, the resolution of the texture can influence the required UV -coordinate precision (e.g. a 4096x4096 texture may require better -precision than a 256x256 texture). The resolution of the mesh may also -affect the required UV coordinate precision. - -To specify a resolution of $0.001$ for the UV map $uvMap$, use: - -\begin{lstlisting} - ctmUVCoordPrecision(context, uvMap, 0.001); -\end{lstlisting} - -The default UV coordinate precision is $2^{-12} \approx 0.00024$. - - -\subsection{Custom attribute precision} -As with UV coordinates, the precision for custom vertex attributes are -specified on a per attribute basis. - -The precision of a custom attribute depends entirely on the type of -attribute. For instance, standard color attributes typically do not require -more then eigh bits per component, which means that $1/256$ is a good -precision setting (if the value range is $[0,1]$): - -\begin{lstlisting} - ctmAttribPrecision(context, attribMap, 1.0/256.0); -\end{lstlisting} - -For integer values, the precision $1.0$ is a good choice. - -The default vertex attribute precision is $2^{-8} \approx 0.0039$. - - - -%------------------------------------------------------------------------------- - -\chapter{Error Handling} -An error can occur when calling any of the OpenCTM API functions. To check -for errors, call the ctmGetError() function, which returns a positive error -code if something went wrong, or zero (CTM\_NONE) if no error has occured. - -See \ref{tab:ErrorCodes} for a list of possible error codes. - -\begin{table}[p] -\centering -\begin{tabular}{|l|p{7cm}|}\hline -\textbf{Code} & \textbf{Description}\\ \hline -CTM\_NONE (zero) & No error has occured (everything is OK).\\ \hline -CTM\_INVALID\_CONTEXT & The OpenCTM context was invalid (e.g. NULL).\\ \hline -CTM\_INVALID\_ARGUMENT & A function argument was invalid.\\ \hline -CTM\_INVALID\_OPERATION & The operation is not allowed.\\ \hline -CTM\_INVALID\_MESH & The mesh was invalid (e.g. no vertices).\\ \hline -CTM\_OUT\_OF\_MEMORY & Not enough memory to proceed.\\ \hline -CTM\_FILE\_ERROR & File I/O error.\\ \hline -CTM\_BAD\_FORMAT & File format error (e.g. unrecognized format or corrupted file).\\ \hline -CTM\_LZMA\_ERROR & An error occured within the LZMA library.\\ \hline -CTM\_INTERNAL\_ERROR & An internal error occured (indicates a bug).\\ \hline -CTM\_UNSUPPORTED\_FORMAT\_VERSION & Unsupported file format version.\\ \hline -\end{tabular} -\caption{OpenCTM error codes.} -\label{tab:ErrorCodes} -\end{table} - -The last error code that indicates a failure is stored per OpenCTM context -until the ctmGetError() function is called. Calling the function will reset -the error state. - -It is also possible to convert an error code to an error string, using the -ctmErrorString() function, which takes an error code as its argument, and -returns a constant C string (pointer to a null terminated UTF-8 format -character string). - - - -%------------------------------------------------------------------------------- - -\chapter{C++ Extensions} -To take better advantage of some of the C++ language features, such as -exception handling, a few C++ wrapper classes are availbale through the standard -API when compiling a C++ program. As usual, just include "openctm.h", and you -will have access to two C++ classes: CTMimporer and CTMexporter. - -The main differences between the C++ classes and the standard API are: - -\begin{itemize} - \item The C++ classes call ctmNewContext() and ctmFreeContext() in their - constructors and destructors respectively, which makes it easier to - use the C++ dynamic scope mechanisms (such as exception handling). - \item Whenever an OpenCTM error occurs, an exception is thrown. Hence, there - is no method corresponding to the ctmGetError() function. -\end{itemize} - -\section{The CTMimporter class} -Here is an example of how to use the CTMimporter class in C++: - -\begin{lstlisting} -try -{ - // Create a new OpenCTM importer object - CTMimporter ctm; - - // Load the OpenCTM file - ctm.Load("mymesh.ctm"); - - // Access the mesh data - CTMuint vertCount = ctm.GetInteger(CTM_VERTEX_COUNT); - CTMfloat * vertices = ctm.GetFloatArray(CTM_VERTICES); - CTMuint triCount = ctm.GetInteger(CTM_TRIANGLE_COUNT); - CTMuint * indices = ctm.GetIntegerArray(CTM_INDICES); - - // Deal with the mesh (e.g. transcode it to our - // internal representation) - // ... -} -catch(exception &e) -{ - cout << "Error: " << e.what() << endl; -} -\end{lstlisting} - - -\section{The CTMexporter class} -Here is an example of how to use the CTMexporter class in C++: - -\begin{lstlisting} -void MySaveFile(CTMuint aVertCount, CTMuint aTriCount, - CTMfloat * aVertices, CTMuint * aIndices, - const char * aFileName) -{ - try - { - // Create a new OpenCTM exporter object - CTMexporter ctm; - - // Define our mesh representation to OpenCTM - ctm.DefineMesh(aVertices, aVertCount, aIndices, aTriCount, NULL); - - // Save the OpenCTM file - ctm.Save(aFileName); - } - catch(exception &e) - { - cout << "Error: " << e.what() << endl; - } -} -\end{lstlisting} - - -\end{document} diff --git a/3rdparty/openctm/doc/Doxyfile b/3rdparty/openctm/doc/Doxyfile deleted file mode 100644 index db75e5d00..000000000 --- a/3rdparty/openctm/doc/Doxyfile +++ /dev/null @@ -1,1417 +0,0 @@ -# Doxyfile 1.5.6 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = OpenCTM - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 1.0.3 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, -# and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = ../lib - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = ../lib/internal.h - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = CTMEXPORT CTMCALL - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = APIReference - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = DoxygenFooter.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 1 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hiererachy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = NONE - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is enabled by default, which results in a transparent -# background. Warning: Depending on the platform used, enabling this option -# may lead to badly anti-aliased labels on the edges of a graph (i.e. they -# become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/3rdparty/openctm/doc/DoxygenFooter.html b/3rdparty/openctm/doc/DoxygenFooter.html deleted file mode 100644 index ada6a7e39..000000000 --- a/3rdparty/openctm/doc/DoxygenFooter.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

Copyright © 2009-2010 Marcus Geelnard — - openctm.sourceforge.net

-
- - diff --git a/3rdparty/openctm/doc/FormatSpecification.tex b/3rdparty/openctm/doc/FormatSpecification.tex deleted file mode 100644 index feee115c2..000000000 --- a/3rdparty/openctm/doc/FormatSpecification.tex +++ /dev/null @@ -1,678 +0,0 @@ -%------------------------------------------------------------------------------- -% Document: OpenCTM Format Specification -% Author: Marcus Geelnard -% Compile: pdflatex FormatSpecification.tex -%------------------------------------------------------------------------------- -% Note: You need a LaTeX environment to build this document as PDF. The -% recommended way is to install TeX Live (http://www.tug.org/texlive/) and -% a decent LaTeX editor (e.g. texmaker, LEd, etc). -% -% Ubuntu: sudo apt-get install texlive-full -% Mac OS X: http://www.tug.org/mactex/ (MacTeX.mpkg.zip) -% -% To build the PDF document, run pdflatex twice on this .tex file (in order to -% correctly build the TOC). -%------------------------------------------------------------------------------- - -% Use the OpenCTM TeX style -\input{openctm-tex.sty} - -% Document properties -\author{Marcus Geelnard} -\title{OpenCTM Format Specification} - -% PDF specific document properties -\hypersetup{pdftitle={OpenCTM Format Specification}} -\hypersetup{pdfauthor={Marcus Geelnard}} -\hypersetup{pdfkeywords={OpenCTM,format,specification}} - -% Document contents -\begin{document} - -%--[ Title page ]--------------------------------------------------------------- - -\begin{titlepage} -\begin{center} -~ -\vspace{5cm} - -\includegraphics[width=10.0cm]{logo.pdf} -\vspace{0.4cm} - -{\large File format version 5} - -\vspace{1.0cm} - -{\Large Format Specification} -\vspace{1.5cm} - -Copyright \copyright \ 2009-2010 Marcus Geelnard -\end{center} -\end{titlepage} - - -%--[ Table of contents ]-------------------------------------------------------- - -\tableofcontents - - -%------------------------------------------------------------------------------- - -\chapter{Overview} -This document describes version 5 of the OpenCTM file format. - -\section{File structure} -The structure of an OpenCTM file is as follows: - -[Header]\newline -[Body data] - -Each part of the file is described in the following chapters. - -\section{Data formats} -All integer fields are stored in 32-bit little endian format (least significant -byte first). - -All floating point fields are stored in 32-bit binary IEEE 754 format (little -endian). - -All strings are stored as a 32-bit integer string length (number of bytes) -followed by a UTF-8 format string (there is no zero termination and no BOM). - -\section{Packed data} -\label{sec:PackedData} -Some portions of the file are be packed by the lossless LZMA entropy coder, -and are encoded as follows: - -\begin{tabular}{|l|l|p{11cm}|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Packed size (number of bytes, $p$).\\ \hline -4 & - & LZMA specific props (five bytes, required by the LZMA decoder).\\ \hline -9 & - & LZMA packed stream ($p$ bytes long) that has been generated by the LzmaCompress() function of the LZMA API.\\ \hline -\end{tabular} - -The length of the unpacked data is always known from the context (e.g. the -triangle count uniquely defines the number of bytes required for the -uncompressed triangle indices array). - -\subsection{Element interleaving} -Some packed data arrays use element level interleaving, meaning that the -data values are rearranged at the element level. For instance, in a data array -with three elements per value (stride = 3), $x$, $y$ and $z$, the elements are -rearranged as follows: - -\begin{center} -$x_1,y_1,z_1,x_2,y_2,z_2,\ldots,x_N,y_N,z_N \Rightarrow -x_1,x_2,\ldots,x_N,y_1,y_2,\ldots,y_N,z_1,z_2,\ldots,z_N$ -\end{center} - -When decompressing an array that uses element interleaving, the process is -reversed. - -\subsection{Byte interleaving} -All packed data arrays use byte level interleaving, meaning that data values -are rearranged at the byte level. For instance, in an integer array, where each -element consists of four bytes: $a$, $b$, $c$ and $d$, the bytes are rearranged -as follows: - -\begin{center} -$a_1,b_1,c_1,d_1,a_2,b_2,c_2,d_2,\ldots,a_N,b_N,c_N,d_N \Rightarrow -a_1,a_2,\ldots,a_N,b_1,b_2,\ldots,b_N,c_1,c_2,\ldots,c_N,d_1,d_2,\ldots,d_N$ -\end{center} - -When decompressing an array that uses byte interleaving, the process is -reversed. - -\subsection{Signed magnitude representation} -Some packed integer arrays use signed magnitude representation. - -A signed magnitude value, $x'$, is converted to a two's complement value, -$x$, with the following method: - -$x = \begin{cases} -x'\; shr\; 1 & x'_0 = 0 \\ --((x'+1)\; shr\; 1) & x'_0 = 1 -\end{cases}$ - -...where $x'_0$ is the least significant bit of $x'$. - - -%------------------------------------------------------------------------------- - -\chapter{Header} -The file must start with a header, which looks as follows: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Magic identifier (0x4d54434f, or "OCTM" when read as ASCII).\\ \hline -4 & Integer & File format version (0x00000005 = version 5).\\ \hline -8 & Integer & Compression method, which must be one of the following:\\ - & & 0x00574152 - Use the RAW compression method.\\ - & & 0x0031474d - Use the MG1 compression method.\\ - & & 0x0032474d - Use the MG2 compression method.\\ \hline -12 & Integer & Vertex count.\\ \hline -16 & Integer & Triangle count.\\ \hline -20 & Integer & UV map count.\\ \hline -24 & Integer & Attribute map count.\\ \hline -28 & Integer & Boolean flags, or:ed together:\\ - & & 0x00000001 - The file contains per-vertex normals.\\ \hline -32 & String & File comment ($p$ bytes long string).\\ \hline -\end{tabular} - -The length of the file header is $36+p$ bytes, where $p$ is the length of the -comment string. - - -%------------------------------------------------------------------------------- - -\chapter{Body data} -The body data follows immediately after the file header. Its file offset is -dictated by the length of the file header. - -The format of the body data is specific for each compression method, which is -defined by the "Compression method" field in the header. - -The body data contains the vertex, index, normal, UV map and attribute map -data, usually in a compressed form. - - -\section{RAW} -The layout of the body data for the RAW compression method is: - -[Indices]\newline -[Vertices]\newline -[Normals]\newline -[UV map 0]\newline -[UV map 1]\newline -...\newline -[UV map N]\newline -[Attribute map 0]\newline -[Attribute map 1]\newline -...\newline -[Attribute map M] - -\subsection{Indices} -The indices are stored as an integer identifier, 0x58444e49 ("INDX"), followed -by all the triangle indices. Each index is an unsigned integer value. There are -three indices per triangle, and the number of triangles is given by the -"Triangle count" field in the header: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x58444e49, or "INDX" when read as ASCII).\\ \hline -4 & Integer & Vertex index for the 1st corner of the 1st triangle.\\ \hline -8 & Integer & Vertex index for the 2nd corner of the 1st triangle.\\ \hline -12 & Integer & Vertex index for the 3rd corner of the 1st triangle.\\ \hline -16 & Integer & Vertex index for the 1st corner of the 2nd triangle.\\ \hline -... & & \\ \hline -\end{tabular} - -The length of the indices section is $4(1+3N)$ bytes, where $N$ is the triangle -count. - -\subsection{Vertices} -The vertices are stored as an integer identifier, 0x54524556 ("VERT"), followed -by all the vertex coordinates. Each vertex coordinate is stored as three -floating point values ($x,y,z$), and the number of vertices is given by the -"Vertex count" field in the header: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x54524556, or "VERT" when read as ASCII).\\ \hline -4 & Float & $x$ coordinate of the 1st vertex.\\ \hline -8 & Float & $y$ coordinate of the 1st vertex.\\ \hline -12 & Float & $z$ coordinate of the 1st vertex.\\ \hline -16 & Float & $x$ coordinate of the 2nd vertex.\\ \hline -... & & \\ \hline -\end{tabular} - -The length of the vertices section is $4(1+3N)$ bytes, where $N$ is the vertex -count. - -\subsection{Normals} -The normals section is optional, and only present if the per-vertex normals -flag is set in the header. - -The normals are stored as an integer identifier, 0x4d524f4e ("NORM"), followed -by all the normal coordinates. Each normal is stored as three floating point -values ($x,y,z$), and the number of normals is given by the "Vertex count" field -in the header: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x4d524f4e, or "NORM" when read as ASCII).\\ \hline -4 & Float & $x$ coordinate of the 1st normal.\\ \hline -8 & Float & $y$ coordinate of the 1st normal.\\ \hline -12 & Float & $z$ coordinate of the 1st normal.\\ \hline -16 & Float & $x$ coordinate of the 2nd normal.\\ \hline -... & & \\ \hline -\end{tabular} - -The length of the normals section is $4(1+3N)$ bytes, where $N$ is the vertex -count. - -\subsection{UV maps} -There can be zero or more UV maps. The number of UV maps is given by the -UV map count in the header. - -Each UV map starts with an integer identifier, 0x43584554 ("TEXC"), followed -by two strings (the UV map name and the UV map file name reference), and -finally all the UV coordinates. Each UV coordinate is stored as two floating point -values ($u,v$), and the number of UV coordinates is given by the "Vertex count" -field in the header: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x43584554, or "TEXC" when read as ASCII).\\ \hline -4 & String & Unique UV map name ($p$ bytes long string).\\ \hline -$8+p$ & String & UV map file name reference ($q$ bytes long string).\\ \hline -$12+p+q$ & Float & $u$ coordinate of the 1st UV coordinate.\\ \hline -$16+p+q$ & Float & $v$ coordinate of the 1st UV coordinate.\\ \hline -$20+p+q$ & Float & $u$ coordinate of the 2nd UV coordinate.\\ \hline -... & & \\ \hline -\end{tabular} - -The length of a UV map section is $4(3+2N)+p+q$ bytes, where $N$ is the vertex -count, $p$ is the name string length, and $q$ is the file name reference string -length. - -\subsection{Attribute maps} -There can be zero or more attribute maps. The number of attribute maps is given by the -attribute map count in the header. - -Each attribute map starts with an integer identifier, 0x52545441 ("ATTR"), followed -by the attribute map name string, and finally all the attribute values. Each attribute -value is stored as four floating point values ($a,b,c,d$), and the number of -attribute values is given by the "Vertex count" field in the header: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x52545441, or "ATTR" when read as ASCII).\\ \hline -4 & String & Unique attribute map name ($p$ bytes long string).\\ \hline -$8+p$ & Float & $a$ component of the 1st attribute value.\\ \hline -$12+p$ & Float & $b$ component of the 1st attribute value.\\ \hline -$16+p$ & Float & $c$ component of the 1st attribute value.\\ \hline -$20+p$ & Float & $d$ component of the 1st attribute value.\\ \hline -$24+p$ & Float & $a$ component of the 2nd attribute value.\\ \hline -... & & \\ \hline -\end{tabular} - -The length of an attribute map section is $4(2+4N)+p$ bytes, where $N$ is the vertex -count, and $p$ is the name string length. - - -\section{MG1} -The layout of the body data for the MG1 compression method is: - -[Indices]\newline -[Vertices]\newline -[Normals]\newline -[UV map 0]\newline -[UV map 1]\newline -...\newline -[UV map N]\newline -[Attribute map 0]\newline -[Attribute map 1]\newline -...\newline -[Attribute map M] - -\subsection{Indices} -\label{sec:MG1Indices} -The triangle indices are stored as an integer identifier, 0x58444e49 ("INDX"), -followed by a packed integer array with element interleaving (see -\ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x58444e49, or "INDX" when read as ASCII).\\ \hline -4 & - & Packed indices data.\\ \hline -\end{tabular} - -The unpacked indices array contains delta-encoded indices: - -$i'_{1,1}, i'_{1,2}, i'_{1,3}, i'_{2,1}, i'_{2,2}, i'_{2,3} ..., i'_{M,1}, i'_{M,2}, i'_{M,3}$ - -...that translate into the original triangle indices with the following method: - -$i_{k,1} = \begin{cases} -i'_{k,1} + i_{k-1,1} & (k \geq 2) \\ -i'_{k,1} & (k = 1) -\end{cases}$ - -$i_{k,2} = \begin{cases} -i'_{k,2} + i_{k-1,2} & (k \geq 2, i_{k,1} = i_{k-1,1}) \\ -i'_{k,2} + i_{k,1} & (\text{otherwise}) -\end{cases}$ - -$i_{k,3} = i'_{k,3} + i_{k,1}$ - -...where $i_{k,1}, i_{k,2}$ and $i_{k,3}$ are the 1:st, 2:nd and 3:rd vertex index of the -$k$:th triangle, respectively. - -Please note that the indices should be sorted in such a manner that -$i'_{k,1} \geq 0, i'_{k,2} \geq 0$ and $i'_{k,3} \geq 0 \; \forall \: k$. - -\subsection{Vertices} -The vertices are stored as an integer identifier, 0x54524556 ("VERT"), followed -by a packed float array without element interleaving (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x54524556, or "VERT" when read as ASCII).\\ \hline -4 & - & Packed vertices data.\\ \hline -\end{tabular} - -The unpacked vertex array is stored as in the RAW format ($x, y, z$). - -\subsection{Normals} -The normals section is optional, and only present if the per-vertex normals -flag is set in the header. - -The normals are stored as an integer identifier, 0x4d524f4e ("NORM"), followed -by a packed float array with element interleaving (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x4d524f4e, or "NORM" when read as ASCII).\\ \hline -4 & - & Packed normals data.\\ \hline -\end{tabular} - -The unpacked normal array is stored as in the RAW format ($x, y, z$). - -\subsection{UV maps} -There can be zero or more UV maps. The number of UV maps is given by the -UV map count in the header. - -Each UV map starts with an integer identifier, 0x43584554 ("TEXC"), followed -by two strings (the UV map name and the UV map file name reference), and -finally the packed UV coordinate data. - -The UV coordinate data is a packed float array with element interleaving -(see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x43584554, or "TEXC" when read as ASCII).\\ \hline -4 & String & Unique UV map name ($p$ bytes long string).\\ \hline -$8+p$ & String & UV map file name reference ($q$ bytes long string).\\ \hline -$12+p+q$ & - & Packed UV coordinate data.\\ \hline -\end{tabular} - -...where $p$ is the name string length, and $q$ is the file name reference string -length. - -The unpacked UV coordinate array is stored as in the RAW format ($u, v$). - -\subsection{Attribute maps} -There can be zero or more attribute maps. The number of attribute maps is given by the -attribute map count in the header. - -Each attribute map starts with an integer identifier, 0x52545441 ("ATTR"), followed -by the attribute map name string, and finally the packed attribute values. - -The attribute value data is a packed float array with element interleaving -(see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x52545441, or "ATTR" when read as ASCII).\\ \hline -4 & String & Unique attribute map name ($p$ bytes long string).\\ \hline -$8+p$ & - & Packed attribute value data.\\ \hline -\end{tabular} - -...where $p$ is the name string length. - -The unpacked attribute value array is stored as in the RAW format ($a, b, c, d$). - - -\section{MG2} -The layout of the body data for the MG2 compression method is: - -[MG2 header]\newline -[Vertices]\newline -[Grid indices]\newline -[Indices]\newline -[Normals]\newline -[UV map 0]\newline -[UV map 1]\newline -...\newline -[UV map N]\newline -[Attribute map 0]\newline -[Attribute map 1]\newline -...\newline -[Attribute map M] - -\subsection{MG2 vertex coordinate coding} -\label{sec:MG2VertexCoding} -In the MG2 compression method, all the vertices are divided into a 3D grid, -which can be described by an axis aligned bounding box (minimum fit to the -vertices), and the division factors along the $x$, $y$ and $z$ axes, as shown -in figure \ref{fig:Grid}. - -\begin{figure}[pht] -\centering -\includegraphics[width=10.0cm]{grid.pdf} -\caption{3D space subdivision grid. $LB$ and $HB$ are the lower and higher bounds -of the axis aligned bounding box. $div_x$, $div_y$ and $div_z$ are the number -of divisions along each of the axes.} -\label{fig:Grid} -\end{figure} - -The vertices are all coded relative to the grid origin of the grid box to which -they belong, and all vertices are associated with a grid box with a unique -grid index. - -The grid index, $gi$, is encoded as: - -$gi = g_x + div_x(g_y + div_y \times g_z)$ - -...where $g_x$, $g_y$ and $g_z$ are the integer $x$, $y$ and $z$ positions of the grid -box, within the grid, and: - -$g_x \in [0, div_x), g_y \in [0, div_y), g_z \in [0, div_z)$ - -The grid box origin (lower bound) of each grid box is defined by: - -$gridorigin_x(g_x) = LB_x + \frac{HB_x - LB_x}{div_x} g_x$ - -$gridorigin_y(g_y) = LB_y + \frac{HB_y - LB_y}{div_y} g_y$ - -$gridorigin_z(g_z) = LB_z + \frac{HB_z - LB_z}{div_z} g_z$ - - -\subsection{MG2 header} -The MG2 header contains information about how to interpret the mesh data. The -header looks as follows: - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x4832474d, or "MG2H" when read as ASCII).\\ \hline -4 & Float & Vertex precision.\\ \hline -8 & Float & Normal precision.\\ \hline -12 & Float & $LB_x$ ($z$ coordinate of the lower bound of the bounding box).\\ \hline -16 & Float & $LB_y$ ($y$ coordinate of the lower bound of the bounding box).\\ \hline -20 & Float & $LB_z$ ($z$ coordinate of the lower bound of the bounding box).\\ \hline -24 & Float & $HB_x$ ($x$ coordinate of the higher bound of the bounding box).\\ \hline -28 & Float & $HB_y$ ($y$ coordinate of the higher bound of the bounding box).\\ \hline -32 & Float & $HB_z$ ($z$ coordinate of the higher bound of the bounding box).\\ \hline -36 & Integer & $div_x$ (number of grid divisions along the $x$ axis, $\geq 1$).\\ \hline -40 & Integer & $div_y$ (number of grid divisions along the $y$ axis, $\geq 1$).\\ \hline -44 & Integer & $div_z$ (number of grid divisions along the $z$ axis, $\geq 1$).\\ \hline -\end{tabular} - - -\subsection{Vertices} -The vertices are stored as an integer identifier, 0x54524556 ("VERT"), followed -by the packed vertex coordinate data. - -The vertex coordinate data is a packed integer array with element interleaving -(see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x54524556, or "VERT" when read as ASCII).\\ \hline -4 & - & Packed vertex coordinate data.\\ \hline -\end{tabular} - -The unpacked vertex array has three elements per vertex: - -$x'_1, y'_1, z'_1, x'_2, y'_2, z'_2, ..., x'_N, y'_N, z'_N$ - -The original vertex coordinate, ($x_k$, $y_k$, $z_k$), for vertex number $k$ is defined as: - -$dx_k = \begin{cases} -x'_k + dx_{k-1} & (k \geq 2, gi_k = gi_{k-1})\\ -x'_k & (otherwise) -\end{cases}$ - -$x_k = s \times dx_k + gridorigin_x(gi_k)$ - -$y_k = s \times y'_k + gridorigin_y(gi_k)$ - -$z_k = s \times z'_k + gridorigin_z(gi_k)$ - -...where $s$ is the vertex precision, $gi_k$ is the $k$:th grid index (see \ref{sec:GridIndices}), -and $gridorigin(gi_k)$ is the origin (lower bound) of the grid box that is indicated by -grid index $gi_k$, according to \ref{sec:MG2VertexCoding}. - -Please note that the vertices should be sorted in such a manner that $x'_k \geq 0, y'_k \geq 0$ -and $z'_k \geq 0 \; \forall \: k$. - - -\subsection{Grid indices} -\label{sec:GridIndices} -The grid indices are stored as an integer identifier, 0x58444947 ("GIDX"), followed -by a packed integer array (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x58444947, or "GIDX" when read as ASCII).\\ \hline -4 & - & Packed grid indices data.\\ \hline -\end{tabular} - -The unpacked grid indices array has one element per vertex: - -$gi'_1, gi'_2, ..., gi'_N$ - -The grid index for vertex number $k$ is defined as: - -$gi_k = \begin{cases} -gi'_k + gi_{k-1} & (k \geq 2)\\ -gi'_k & (k = 1) -\end{cases}$ - -Please note that the vertices should be sorted in such a manner that $gi'_k \geq 0 \: \forall \: k$. - - -\subsection{Indices} -The triangle indices are stored exactly as in the MG1 method (see \ref{sec:MG1Indices}). - -\subsection{Normals} -The normals section is optional, and only present if the per-vertex normals -flag is set in the header. - -The normals are stored as an integer identifier, 0x4d524f4e ("NORM"), followed -by a packed integer array with element interleaving (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x4d524f4e, or "NORM" when read as ASCII).\\ \hline -4 & - & Packed normals data.\\ \hline -\end{tabular} - -Note: This section of the document is not yet complete... Please see the source -code file compressMG2.c for more information about how to interpret the -normal data array. - - -\subsection{UV maps} -There can be zero or more UV maps. The number of UV maps is given by the -UV map count in the header. - -Each UV map starts with an integer identifier, 0x43584554 ("TEXC"), followed -by two strings (the UV map name and the UV map file name reference), the -UV coordinate precision (a float value), and finally the packed UV coordinate data. - -The UV coordinate data is a packed integer array with element interleaving -and signed magnitude format (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x43584554, or "TEXC" when read as ASCII).\\ \hline -4 & String & Unique UV map name ($p$ bytes long string).\\ \hline -$8+p$ & String & UV map file name reference ($q$ bytes long string).\\ \hline -$12+p+q$ & Float & UV coordinate precision, $s$.\\ \hline -$16+p+q$ & - & Packed UV coordinate data.\\ \hline -\end{tabular} - -...where $p$ is the name string length, and $q$ is the file name reference string -length. - -The unpacked UV coordinate array contains delta-encoded coordinates: - -$u'_1, v'_1, u'_2, v'_2, ..., u'_N, v'_N$ - -The original UV coordinates are restored with the following method: - -$u_k = \begin{cases} -s \times (u'_k + u_{k-1}) & (k \geq 2)\\ -s \times u'_k & (k = 1) -\end{cases}$ - -$v_k = \begin{cases} -s \times (v'_k + v_{k-1}) & (k \geq 2)\\ -s \times v'_k & (k = 1) -\end{cases}$ - -...where $s$ is the UV coordinate precision. - -\subsection{Attribute maps} -There can be zero or more attribute maps. The number of attribute maps is given by the -attribute map count in the header. - -Each attribute map starts with an integer identifier, 0x52545441 ("ATTR"), followed -by the attribute map name string, the attribute value precision (a float value), and -finally the packed attribute values. - -The attribute value data is a packed integer array with element interleaving -and signed magnitude format (see \ref{sec:PackedData}). - -\begin{tabular}{|l|l|l|}\hline -\textbf{Offset} & \textbf{Type} & \textbf{Description}\\ \hline -0 & Integer & Identifier (0x52545441, or "ATTR" when read as ASCII).\\ \hline -4 & String & Unique attribute map name ($p$ bytes long string).\\ \hline -$8+p$ & Float & Attribute value precision, $s$.\\ \hline -$12+p$ & - & Packed attribute value data.\\ \hline -\end{tabular} - -...where $p$ is the name string length. - -The unpacked attribute value array contains delta-encoded attribute values: - -$a'_1, b'_1, c'_1, d'_1, a'_2, b'_2, c'_2, d'_2, ..., a'_N, b'_N, c'_N, d'_N$ - -The original attributes are restored with the following method: - -$a_k = \begin{cases} -s \times (a'_k + a_{k-1}) & (k \geq 2)\\ -s \times a'_k & (k = 1) -\end{cases}$ - -$b_k = \begin{cases} -s \times (b'_k + b_{k-1}) & (k \geq 2)\\ -s \times b'_k & (k = 1) -\end{cases}$ - -$c_k = \begin{cases} -s \times (c'_k + c_{k-1}) & (k \geq 2)\\ -s \times c'_k & (k = 1) -\end{cases}$ - -$d_k = \begin{cases} -s \times (d'_k + d_{k-1}) & (k \geq 2)\\ -s \times d'_k & (k = 1) -\end{cases}$ - -...where $s$ is the attribute value precision. - -\end{document} diff --git a/3rdparty/openctm/doc/Makefile.linux b/3rdparty/openctm/doc/Makefile.linux deleted file mode 100644 index a94deefa5..000000000 --- a/3rdparty/openctm/doc/Makefile.linux +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.linux -# Description: Makefile for the documentation for Linux systems (should work on -# most Un*x-like systems, e.g. OpenSolaris). -# This build system requires Doxygen, a full LaTeX installation -# (try TeX Live, http://www.tug.org/texlive/) and Groff -# (Ubuntu: sudo apt-get install groff). -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.PHONY: all clean - -all: DevelopersManual.pdf \ - FormatSpecification.pdf \ - APIReference/index.html \ - ctmconv.html \ - ctmviewer.html - -clean: - rm -f APIReference/*.* DevelopersManual.pdf FormatSpecification.pdf *.aux *.toc *.log *.out ctmconv.html ctmviewer.html - -DevelopersManual.pdf: DevelopersManual.tex - pdflatex DevelopersManual.tex - pdflatex DevelopersManual.tex - -FormatSpecification.pdf: FormatSpecification.tex - pdflatex FormatSpecification.tex - pdflatex FormatSpecification.tex - -APIReference/index.html: ../lib/openctm.h ../lib/openctmpp.h - doxygen - -ctmconv.html: ctmconv.1 - groff -t -mandoc -Thtml $< > $@ - -ctmviewer.html: ctmviewer.1 - groff -t -mandoc -Thtml $< > $@ diff --git a/3rdparty/openctm/doc/Makefile.macosx b/3rdparty/openctm/doc/Makefile.macosx deleted file mode 100644 index ba6b38877..000000000 --- a/3rdparty/openctm/doc/Makefile.macosx +++ /dev/null @@ -1,56 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.macosx -# Description: Makefile for the documentation for Mac OS X. -# This build system requires Doxygen and a full LaTeX installation -# (try MacTeX, http://www.tug.org/mactex/). -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -.PHONY: all clean - -all: DevelopersManual.pdf \ - FormatSpecification.pdf \ - APIReference/index.html \ - ctmconv.html \ - ctmviewer.html - -clean: - rm -f APIReference/*.* DevelopersManual.pdf FormatSpecification.pdf *.aux *.toc *.log *.out ctmconv.html ctmviewer.html - -DevelopersManual.pdf: DevelopersManual.tex - pdflatex DevelopersManual.tex - pdflatex DevelopersManual.tex - -FormatSpecification.pdf: FormatSpecification.tex - pdflatex FormatSpecification.tex - pdflatex FormatSpecification.tex - -APIReference/index.html: ../lib/openctm.h ../lib/openctmpp.h - doxygen - -ctmconv.html: ctmconv.1 - groff -t -mandoc -Thtml $< > $@ - -ctmviewer.html: ctmviewer.1 - groff -t -mandoc -Thtml $< > $@ diff --git a/3rdparty/openctm/doc/Makefile.win b/3rdparty/openctm/doc/Makefile.win deleted file mode 100644 index 2d6b36028..000000000 --- a/3rdparty/openctm/doc/Makefile.win +++ /dev/null @@ -1,58 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.win -# Description: Makefile for the documentation for Windows. -# This build system requires Doxygen, a full LaTeX installation -# (try TeX Live, http://www.tug.org/texlive/) and Groff -# (try http://gnuwin32.sourceforge.net/packages/groff.htm). -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -all: DevelopersManual.pdf \ - FormatSpecification.pdf \ - APIReference\index.html \ - ctmconv.html \ - ctmviewer.html - -.PHONY: all clean - - -clean: - del /Q APIReference\*.* DevelopersManual.pdf FormatSpecification.pdf *.aux *.toc *.log *.out ctmconv.html ctmviewer.html - -DevelopersManual.pdf: DevelopersManual.tex - pdflatex DevelopersManual.tex - pdflatex DevelopersManual.tex - -FormatSpecification.pdf: FormatSpecification.tex - pdflatex FormatSpecification.tex - pdflatex FormatSpecification.tex - -APIReference\index.html: ..\lib\openctm.h ..\lib\openctmpp.h - doxygen - -ctmconv.html: ctmconv.1 - groff -t -mandoc -Thtml ctmconv.1 > ctmconv.html - -ctmviewer.html: ctmviewer.1 - groff -t -mandoc -Thtml ctmviewer.1 > ctmviewer.html diff --git a/3rdparty/openctm/doc/ctmconv.1 b/3rdparty/openctm/doc/ctmconv.1 deleted file mode 100644 index ad76f0745..000000000 --- a/3rdparty/openctm/doc/ctmconv.1 +++ /dev/null @@ -1,92 +0,0 @@ -.TH ctmconv 1 -.SH NAME -.B ctmconv -- file format converter for 3D models -.SH SYNOPSIS -.B ctmconv -.I infile outfile [options] -.SH DESCRIPTION -.B ctmconv -is a 3D file converter that can convert 3D model files to and from several -different formats. -.PP -The file -.I infile -is loaded, and then saved as -.I outfile -in the target file format. -.PP -The input and output file formats are determined from the file endings. -.SH OPTIONS -The following options are available: -.TP 16 -.B --scale arg -Scale the mesh by a scalar factor. -.TP -.B --upaxis arg -Set up axis (X, Y, Z, -X, -Y, -Z). If != Z, the mesh will be flipped. -.TP -.B --flip -Flip triangle orientation. -.TP -.B --calc-normals -If the source file does not contain any normals, calculate them. -.TP -.B --no-normals -Do not export normals. -.TP -.B --no-texcoords -Do not export texture coordinates. -.TP -.B --no-colors -Do not export vertex colors. -.TP -.B --comment arg -Set the file comment (default is to use the comment from the input file, if -any). -.TP -.B --texfile arg -Set the texture file name reference for the texture (default is to use the -texture file name reference from the input file, if any). -.PP -When exporting an OpenCTM file, the following options are also -available: -.TP 16 -.B --method arg -Select compression method (RAW, MG1, MG2). -.TP -.B --level arg -Set the compression level (0 - 9). -.TP -.B --vprec arg -Set vertex precision (only for MG2). -.TP -.B --vprecrel arg -Set vertex precision, relative method (only for MG2). -.TP -.B --nprec arg -Set normal precision (only for MG2). -.TP -.B --tprec arg -Set texture map precision (only for MG2). -.TP -.B --cprec arg -Set color precision (only for MG2). -.SH FILE FORMATS -The following 3D model file formats are supported: -OpenCTM (.ctm), -Stanford triangle format (.ply), -Stereolitography (.stl), -3D Studio (.3ds), -COLLADA 1.4/1.5 (.dae), -Wavefront geometry file (.obj), -LightWave object (.lwo), -Geomview object file format (.off), -VRML 2.0 - export only (.wrl). -.SH AVAILABILITY -.B ctmconv -is designed to be portable, and is available for several different systems, -including (but not limited to): Windows, Mac OS X (10.3+), Linux and -OpenSolaris. -.SH SEE ALSO -ctmviewer(1) diff --git a/3rdparty/openctm/doc/ctmviewer.1 b/3rdparty/openctm/doc/ctmviewer.1 deleted file mode 100644 index d06dce48d..000000000 --- a/3rdparty/openctm/doc/ctmviewer.1 +++ /dev/null @@ -1,86 +0,0 @@ -.TH ctmviewer 1 -.SH NAME -.B ctmviewer -- 3D viewer for models of various file formats -.SH SYNOPSIS -.B ctmviewer -.I [modelfile [texturefile]] -.SH DESCRIPTION -.B ctmviewer -is a 3D file viewer that can load, show and save 3D model files in several -different formats. -.PP -The program displays an interactive 3D view of the model, which can be operated -with the mouse (e.g. for rotating and zooming). -.PP -If the selected model file contains texture coordinate information, it is -possible to specify which 2D image file to use as a texture with the additional -.I texturefile -argument. If no texture file is given (either by the 3D model file, or by the -.I texturefile -argument), a standard 2D grid is used as a texture. -.SH GUI OPERATIONS -In addition to the command line arguments, -.B ctmviewer -offers several operations that can be performed from the 3D GUI display. For -help, press the F1 key. -.SS Loading and Saving -It is possible to load and save 3D model files from the program by either -using the buttons in the upper left corner of the 3D display, or by using the -keyboard shortcuts CTRL+O (open) and CTRL+S (save). -.PP -It is also possible to load a texture file from the program by using the -Open Texture button. -.SS Rendering -To toggle between a normal filled surface view (default) and a wire frame view, -press the 'w' key. -.SS Camera Control -By holding down the left mouse button and moving the mouse, the camera is -rotated around the 3D model. -.PP -By holding down the right mouse button and moving the mouse, the camera will -pan left/right and up/down. -.PP -By holding down the middle mouse button and moving the mouse, the camera will -zoom in and out. It is also possible to use the mouse wheel (not supported on -all systems) or the +/- keys to zoom in and out. -.PP -Double click the left mouse button on a point on the model to focus the camera -on that point. -.PP -Press the 'f' key to fit the model into the screen view (re-center and re-zoom). -.PP -Press the 'y' key to change the camera up direction to the Y axis (may be -necessary if the model was designed in or for an environment where the Y axis -is considered the up direction). -.PP -Press the 'z' key to change the camera up direction to the Z axis (default). -.SH FILE FORMATS -The following 3D model file formats are supported: -OpenCTM (.ctm), -Stanford triangle format (.ply), -Stereolitography (.stl), -3D Studio (.3ds), -COLLADA 1.4/1.5 (.dae), -Wavefront geometry file (.obj), -LightWave object (.lwo), -Geomview object file format (.off), -VRML 2.0 - export only (.wrl). -.PP -The following 2D image file formats are supported (texture): -JPEG (.jpg), PNG (.png). -.SH AVAILABILITY -.B ctmviewer -is designed to be portable, and is available for several different systems, -including (but not limited to): Windows, Mac OS X (10.3+), Linux and -OpenSolaris. -.PP -.B ctmviewer -uses OpenGL for its accelerated 3D display. When the OpenGL implementation -supports it, -.B ctmviewer -will use per pixel Phong shading for improved visual appearance. Otherwise -.B ctmviewer -will fall back to classic per vertex shading. -.SH SEE ALSO -ctmconv(1) diff --git a/3rdparty/openctm/doc/grid.pdf b/3rdparty/openctm/doc/grid.pdf deleted file mode 100644 index d367cad1b09e3c5b4c85e4175e9a75ebd6eb71fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6564 zcma)BWmuHm)|PIiI|h-Cp&Mz0p&LYE90nL-fMMuRIt6J7LApVtyOkCY6k%utX%Ol9 z!1ui8yw^E@zI{E{v!8uGYp->$z4niN-J4ZMNrhK{PZ*!IZm04BUkJbtaDHx&FD(rK zYCz$(NIQV=Eu@DJ004k0Fh?X5aoanBkx(Tl#Mv5(|M)S!8xjEpJK=j}zRDPib!yQH zyIA2=p@V56I*=Ox=5g^cCE+opOcsN(>YT2vl|9do6~{A%7td-386zQ5u{+{f9Zul& zj+3%EZt5Fv68+Eib{39*(O%vxIE}r4LvPlv8f5GTA6yUcZtrEA zrJsqY&#C(rB%Nem1geU(BDO9*T~}RL*8k?pbwa+HCy46ErM&Pe&^^hV;Qk0-1!Yzx zX!m}ys5vlr+YWiR*ZN}l%$VCRYnSlEi~Te$x&^mu@~{B+6MA3qkw;z!G1VFMmu?Quif6#keLxr#io`uGYjPo1Zyk~0U-&FTBcrigc{udwzT1V! z;gr#kzcysL6l4C?(X(UvL++#Cu#EkiOLti(iPo72-jO=PN;;Oyp2xijnx|V;vk0Mf z1+|N~q^+`gyRB*mb86&A%9!WBY8{5dtq6L>Fp#HZjxg+K#=+L!7~SvQfKS7^r{`{P6{+|v80xMiREAAOe>xnP;yl=bnA zJr{rC6jmdXt=o9uJ-rZ67nF493k$fwYU!#yQ@pwOQ8c6`GTZF9k}oEeP%-PxUC(Nh z>q^UBQa>9J=b$9~1?wOZyY)rkxwYS$j$(fxo6)C$Cw^%Rz_FN;bn{u74I9$ebZ5zm zDDL_o_gUnyUki&>|DwPLGl)pGYZu!~UNMV`h-<%siOSEjgp#jL4(Q1sR-5AA<;#dU zsz}qx>;z=3R=@M%HH){Z8$f2%eTjBX^wF3uUO3JDhQ^Kw2RdD%d;{tvJl#MZ)+bpO zZZUH)cuj=(g95a1J9-{tMPHc z+cqg*j_u7B>6FTLj=xLOzl3$a{AnqP@haX#X|ndYj)NjHR{{@1ogAm+d^!sZw-&~k zGRk(D@>Ih#VY3RJ#B-&c7ZX3>>eq^v=d^xTs@+B23Ud^55EUgRH8uT+dI`%*^ByMi z$xF2kVzAVN7Jen_7C?_(^Id#upKC`)g+SsJI_+RJ7;BJt^|v{z0FDSOoq0E< zM_){5Q$}bOTG=>*D`#yMX>y0*UDzT73UY4S));xz*2gKj(ah1S_g#ITZ#Tl&Qk5(|TYHe|#qjR3l5 z+5Av=dG_1@kExk$-Z1h%g#^3_7xhSwP2+ESx4pKly^cS&otCLZ zKD+!W>D6f9$mY0al53jI8sl`@W?_$O3c?*Wy={;ix3q1Lcb*cKvSakto_q#{;zjSYDM7EcHcG8$AaCjNbl~8QgfL*msjAZX zNzxQgF4a5Oazn(b>sL@R+COGvVLTpR9W5O*Xq$liD5@rBkD+V)2O$Rz83{8A)RCnk zT7(gfLyySuo&}?iGpKx&!pm>d-?vguAod4Ml!}G)9WAZTs2N1hdS~HcFFKgNkGtaJ zVB~trmC2*SGp=!LV=?07RXzT}m+i^)K+T@6hRZZXdDJnL5r0f6MyT?e0JPci4^$rZ zSZYa3SCeVXR;Iy@p3$eNC3yonj^qvTl;D!-`nVb!Zd)ODZxUD7`~uo=MOqaH4!WlF zs!}IN$*)kN_WxfZn1aF_XMYeN6w@1 z3|A7VtB>RdMnM(mO?@14Xd#>!Ju4tUw3XMuT6<^`IO`buFkg@$L|ow7MnfI7Lk=|Z z*tYpi;l4m_O?8j(G;C3aC}C>$HO;Py<;Xx-#yH& zAr&F)?J2-PN!w$z*K2SkBrQSYtP_CJNBda<4YhUT6)nl<>@$ma@J((L2Yrlax;3up zkZ9CJ5pbRpN3)b40S!qGAl#k!^vutcFyd+qr^IVivw@l@{&BNk@|L<4jRRf~FK!S} zBVOG(oP-4{?Ho<0;8dVv_>!}k>Apep97_3U_y!JGVr}UlR?FGen$`oXz+3Wi30xR^ zkHw4ox#L#e42qx(IPfte2d{)-M3uzO%#GN&XutHW7E;zgU*}FH57va9?fiIH!mP~M z@zv3A(@s#ok=CD+;{;ltH;~(}1x=c%&!1k_*E=Nf_?0toJ%H&X8|XAZ#9i6W>(9x? zQHjw^fuqdiKYHll0gy-UgRyjC3<Cc;X+iGS4x-enGI<;%NHeY z^D^Q34|-4Z*IzHR7BWUS7YT+sOh_Cl`N<{&q~PZ=Bn#RFqY2J;vwAn64GwF8ryg9N zF;^4UC&>YajE^_iwHJoHT}BHg%>6 zq`4Km3^#@!4B_wyiS1@du+7am@@;%ah@El6)Q_ma-femT8G~4}DP+~h$+e*z&)p_s zN+-Xg;Az6HSoViQc|zOQcA4KVQ|Ctp9evgVzove*3{GX!KdGI{?QjK&+#dXlB`Xga zyRm)*h<^LfQNsQ1Nqv>Yd1)@!ZtCf8eNN!PlSwTHX(r_awS3?E4bexUgFm7#WS=9v ze|IFJTk7MlEEI#McRrHWq9M*o`Bn%)5@iz$4Fl52dK9cCa+9A864xch_24)>zUn=C zZg?(R`=!@x1}NR1Mv<9=bX6lM0Txhz&l`V0`e1zTjOc3X;gBwa?o&*N&kDN=zQcVxs>9le6Os4s;f5M;a2^g2TR90;1#OE+HHkt+%XSm%`uO-;z_>vIn@bUT=T3s$ zd>HrJu=FpdzuH<%dnt`ta580mqf@OI_5>N$gw#*>s|ZYgLCW=57>!MlEM{=_(|5ks zp-O5~>R5~&X+}GoE|{P-2zRVK5+NrYITOJz1PM7DTcEySwap7TP4c7qzYjgK9r+QoDweJUq3aMRTifs-!q zcA0)SwO8}pVcmMT(E6qn@EXO@EPamcnTJ0b{kE8g(`N%;XUp@dq!ex`d60g?cU3wO zpn(^#3QUmS?I-3-=rGmm1Ri1T;J?Q|Ye3^-#o7~#4A8!+&3K%tpk!EmSTxjIVX+^+ z7nc^)a+I_6=4QuO7~gv5v>$S*;26spfG%^NLEv{-Bk-Epfvy>4OhfDGQjwx)$h!25 zH$3;trJS92QClGFn$5F96xrTV~4J*J|;3~izn zE+smjQf)(0%ySwa$Bo(FyjMg~NWCn>!HLmyIZ)UPdaFg!t$)@EDiI5jJtb0BSS)$8 zM{o75cya3M1v&c4m|2Q;&ZB3RMR0Ol|Sow@Nhhd!)fN!(U)Q>KA>mc82M()0< z;NVKKa*U<~SPJ}+>WG3zDd&n0Ll=TJk?vGSM*i@*z+oXN>;p!kD*0YoW1vvwQc%${ zC4kN1@+Ul3Wl-sSeb|;Eck?5W>f4MUXAiANflm%{)n%r}iP2121B39hS42~b5eKQXSC-t-C1$0q#v27_j1d`5wcEW_l9ga?Cb`&5VzQL+%~P?W1fx z?zzy0zF;ok@6$L!cX~Q^T^=y%hpT3I1o0ay4XBanTG?5VbDVs;By{RvI>nOym0QnI ze<(8F6YPDGs=It16=g`5u79Fq+Q)556Z?f^Lb{Z1koO+Ar~g~hH?3-7)H}XKyYE^@ zbfi-1XQzU}h-o|q1#I0tLEPL~ya#oN))TsJ&1uVnsH}G;QHiFlbN$}BGIV*nqXfCB zY+t05Oy5OExiVy5Nn{L2G~1|lgT4(FI3(1wdOA)x7+X@n&Wrp5h9r<}+mkux!27vn z?|OZ)ZZPBWriK6>oRd>opS18EpbPcw)+&Sh+37ffaW|(;h)Zl0VPAoJ~A8 zAcP!AVhvUi$)HejRV_fTviUd6ji4lm$g>ercip{&x9>Zbsf#Rr_eJxxRXJhHx7GOk z3buaQdLcm6vsD@N3^+O8FzcBmH2S?PAVAl+=AKM^!Z1sQYZz*lNXxx^i9nv1G(x`W z(OFZ;<4iMYl?HgTsu0w69)N=`>xvyjo08p3Y!2Kvh@G&ynD#OCZEfaoI_Y|E8h(;FtE>Dt6>4rc@=5#5S9`*ckmCD-#ji*E z+B6Jp7$_z6_=WNTx7>tedGufPMjv*c#25!xcjcGLHO4NdK83J)M=kRAv|0Kym(Bo6 z<)T=n^Dds$siBwoj|xZrlpu!Ff(rSoT8LUcYTZCrWUi zE@|r_hmsK~=8Ao=BFU)+kdaQw$rX=n*ZKqbKCZ&G9ii%(ZD8v_TCUX={p-2=HAMl1 zKTy3I$Nkx@hqXS&-#H5O;_N0WzcZil)Q~ zZ8jt!&dlVlVe9NRPvn>OR57IGrrrxmd>lFoH*}1zGfz3Iej#XhM0)VNaMo-Bx>{t; zpPS%+PSe=%V)_c~voMX(Q&Hv}eBWOTHVBwp>M{X^A;S->`b4;iHmGSWq9X<{N@w_0 z)#R+oH_vrm6;>3Igs15lVz#Q3)6r@dPJ;C;Vtj-lVGRtOoQ(M5#oxKSXm&#K{7z;g z={Y2Y5@uV?U$!y75_*Ee;{WLbAHO|3H?=m3lXb1y7>mud;<%)6XxS_QYwBJz?F&|K zvSJGXB&#>&GH@Uk*w%4)q>@e8e(^ z!}WvtM3YtKvPTB_DWyxYu!u62&WaH*L)?-!yPdS}3{jLchRM-Zb#u|7v=j9yFJT9v zI6ob3+PqqKRpd9WYRtV5hH(aB+4p*p{FQ8LWF$uJYq2@z-Ag}Ro<7o(4t*g-A`!UM zhQHkNq~Gq>3r}E#T$= z=B~5fMt!K(;)_lW1?1i~q}xm#X=+|nH1lEez!>0bA$#FmserM>qq z{=tjBJ>GZrjCC%tY*SXn`+3kZ(v#iDcw>Ze3dZ?`DX!U=(x2jz5mEdjjoyp$#PAnw zb}f&XyzhK&I+VVyshW?Fs2tx8GjZen%reR2b7w|-OQIp~Hum80Jvx9Md4KUCxu>fe zeZ(#e0aiLuZ+v$#b4w-P=GxV^GdRCqv=x7(@6jnP10F~nW@;p3L!Xr_x5L{e>AKmv zHGi7cx7hRLc>l6WT*!>F=^oLS-!@KsBz~W$q0|3$nysuA7m9sCv`ApxrjRM;l?FRk4| z8-Z$DX9$df?brqRqo(1f8?7WcqNSR6?J@I$r46f0`?EATKm`tIvRt0geXf4Ss~UEU zDWIri{M3#>Y1*0ehd7}Tft#V@8+thwLVPIP`d>Qo?bn?GeJ4BL^|!*ah^U0{ox$Bu z@ZSRUA4yu-3;9GJc`HW)q^0kG+Xe*l-wpskMR|Y#00;r!zHde9+aI^@+vi_?ME>mu z05tG+fdYU!U|Z-PpE_U!6pp-|_P6e>3AKiS6`Z{QX15SOK$M>!ASB8UF#lt%=nO~R zn!5q+r1QUY@+Syqcb9(<`pf?x^ly&(w^0#bxSPveEQt5tu;MMQ1oePHpn6Xf?!dp8 z1NES8&h7{Z)D3W#zurIcxMTUZVE>;y-2PBghgrMba=uGd@84|Q?^64R1JQptP`nlL zkgizM)NC2uiX1lYw6265waM%Z$4{)wW4aJF`b+};cP zzi0iY3S$2V{ug^iFcR$OZ2Onz+lsjTs}BE}1e@=u1MLV|+$tgOn~D)|2gJP8J` diff --git a/3rdparty/openctm/doc/grid.svg b/3rdparty/openctm/doc/grid.svg deleted file mode 100644 index 7bb43e27e..000000000 --- a/3rdparty/openctm/doc/grid.svg +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - x y z - LB HB - - - - - - - - - - - - - - - - - - - - - - - - - - - - divx divy divz - diff --git a/3rdparty/openctm/doc/logo.pdf b/3rdparty/openctm/doc/logo.pdf deleted file mode 100644 index 9a81acda5bdc9ff8a67cc062b5609c7c580d8e86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2885 zcmchZdpMNo8^`6`pd8C#>7}g0YR-cxhm2E7nT9dcDuWq@IWY4&B%&BOL=KUbZ8b5g z)qyr4tq8TEA`!|ln@HGDRI=}k+I8*kkKgaF-*e6NJo9|t=f0o!zVG+C?vEkS!D%ZB zj)fUkzPa)dh5?WO$1fOWWd$HyY3x8S2*5%T2?hWF!im8IXEaXwWXC`Y^RT~J&^2E&%eEM;I{NT^OFbB^~ zot0pfyR$x4KP-!xqHMHYURvsndw*o^r{%DkBpadI=F#p?Wsf#QYsrnN1pi_)-@gCd z;iRnCYnkOQUhanBH%_a%j_$I=cqQwf$_vjvK=^%nO^59rg{{OZknDlq;wSO&73H zq3cS({Bf$#F7nm3Hf$!ptozk=xC>_S3889)r&xhO$~p~YC;8>cO(ru^Qf%8K3>!y>^N}j1!);l-X7npj+3`v~PLsb+Cis3^f9 z39rGVcDnc0pi;EghiYWP=I1wD&?b$W0wh!P$(65&YaXYAfOX=c>bG}xExQc)$cjM0PuFV=r>?beJ9;w`)_`aWm?L|~2$OaUj2Gl_1-29+86McKyYbxeZkSs0b48ay*`fSM)wSb0%&rMMj~|hjVF^sf zKY3NPMmh*x!)p8%l-mp96ldgA;sza+o~RA-`+6P1ndAB~`h^`sZYLsq z*sneM@1qSiZYd^_yh)yKByKrnKUV4;&a8?}?LW1NMtWQ{(HWbqg!OwNWu767rx(m$ zv79s3mk-ohZjRPvoiDM7P`MFt`}BD3h*yH=*2F^XBNO`bW*cNx&C6>?K2Q#xu7x2+ zXc8$cVlEt3%2my3F3y(hmPy~m zmtU`>z>LbJ**I`MXDv8ii6JiVesddJEKf`n*6!DJbqrkc?!GSb{Ic3H%fa<|6}gp3 zQF|V$)Q{ngIcd_m_r7D=N>aG#ZqIXBzm}ws3Dm+4tQ5mR@*59FX`QE94!2D6vZOkX z5fwUL@-N;WITbQvZe^FOckZmhwqigfsE5$yi)ep1_e19;-EhC<3o1_y1{D^}Gb4>I zl7J!RllGkInu$M1S&Fg@FZ@os?^^MGC*)7z);US9Fa6WyrFCDSp~P;3EK?SLVrDvn zbZ@Zmv*y9ktj$K({eK2cFX$-d4!o&XJLjV-XG2aioxFH-fYP(0&lR(N@C?Ov=TS0I zn0{PEc;sk8P5(UeoQN}Rf9!STPH#KbC5V%T23i#Ad31b@otrdl-5$9N=9 zx7)P|C)wYW+_cm>CY-3|mFt*gkxT2Jr)oD1b>QJdncW5jrx(DzYmq>ix*(%?4kw*& zw(Vxgd2rrkQ+BJ2R(x?)kvvj&1J+5Oq%OG9`(Vu;G|_#s$RPcLDYfmwl&pKAWytr= zvehTg%#O)JY~e_phuI}K$+rAIJR!;(~S3G!?&>u zGaZCfVdZ>(PQHBl<=4;XMk62Ip1)^|h|E(-KmR~wPUV+|jC)!ry-AB$V%UV;$wg#> zwA^E#IW}eKfo;T^?PE0vn^)h!#*}B9bTO}IX)n$wSnSc+Is5%j8E!p4zSA{+fc~U* zi!=Dt`UUUDk8d+Njy(MJGU8?$?~wa5RJNeWDY(Gk_V$Tqj-B}<1D^=7HO4&q5KhRc!@j>?T;6#5^Q-LT z)};?RHfn<9M)Gpb@e<&Vdu&SX`k}CY;AS4onO!@*r_MC80h^rD}zRH0;1TP?m3mE%T8C(v4g5%&Q9AF#-f}z_G zP)Z>&kV_2>V)*mm9B!bAiTD~KmlF`~4{_W7ZuU<-ELL5=LS*(-kjmr)uDFJ3!~0T^ ze{7<-G&&3kSi+Eh55OFU!{7iq@I^yo@OVJ{6kz|Yp-}&!A(2pk|2~JrLrD>h)wXyj z)Bn=2=FrFbFAcZ)9LS|Im^7{!cHJ4#H0YJZ+{od8fGF^l&&7pJ=K!KIkVIwSfmALi Rju35*#lQ>=9o?K@e*qG?j9CBx diff --git a/3rdparty/openctm/doc/openctm-tex.sty b/3rdparty/openctm/doc/openctm-tex.sty deleted file mode 100644 index 9e17ef415..000000000 --- a/3rdparty/openctm/doc/openctm-tex.sty +++ /dev/null @@ -1,33 +0,0 @@ -% Document class -\documentclass[11pt,a4paper]{report} - -% Packages -\usepackage[latin1]{inputenc} -\usepackage{amsmath} -\usepackage{amsfonts} -\usepackage{amssymb} -\usepackage{listings} -\usepackage{color} -\usepackage{times} -\usepackage{graphicx} - -% Paragraph styles -\raggedright -\usepackage{parskip} - -% Code listings -\lstset{frame=single,frameround=tttt,backgroundcolor=\color{code},% - language=C,basicstyle={\ttfamily\small},% - breaklines,breakindent=0pt,postbreak=\space\space\space\space} - -% Colors -\definecolor{link}{rgb}{0.6,0.0,0.0} -\definecolor{code}{rgb}{0.9,0.9,1.0} -\definecolor{codeA}{rgb}{0.9,1.0,0.9} -\definecolor{codeB}{rgb}{1.0,0.9,0.9} - -% PDF specific document properties -% hyperref (bookmarks, links etc) - use this package last -\usepackage[colorlinks=true,linkcolor=link,bookmarks=true,bookmarksopen=true,% - pdfhighlight=/N,bookmarksnumbered=true,bookmarksopenlevel=1,% - pdfview=FitH,pdfstartview=FitH]{hyperref} diff --git a/3rdparty/openctm/lib/Makefile.linux b/3rdparty/openctm/lib/Makefile.linux deleted file mode 100644 index 764312799..000000000 --- a/3rdparty/openctm/lib/Makefile.linux +++ /dev/null @@ -1,81 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.linux -# Description: Makefile for Linux systems (should work on most Un*x-like -# systems with gcc, e.g. OpenSolaris). -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -LZMADIR = liblzma -CC = gcc -CFLAGS = -O3 -W -Wall -c -fPIC -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic -CFLAGS_LZMA = -O3 -W -Wall -c -fPIC -DLZMA_PREFIX_CTM -std=c99 -pedantic -RM = rm -f -DEPEND = $(CPP) -MM - -DYNAMICLIB = libopenctm.so - -OBJS = openctm.o \ - stream.o \ - compressRAW.o \ - compressMG1.o \ - compressMG2.o - -LZMA_OBJS = Alloc.o \ - LzFind.o \ - LzmaDec.o \ - LzmaEnc.o \ - LzmaLib.o - -SRCS = openctm.c \ - stream.c \ - compressRAW.c \ - compressMG1.c \ - compressMG2.c - -LZMA_SRCS = $(LZMADIR)/Alloc.c \ - $(LZMADIR)/LzFind.c \ - $(LZMADIR)/LzmaDec.c \ - $(LZMADIR)/LzmaEnc.c \ - $(LZMADIR)/LzmaLib.c - -.phony: all clean depend - -all: $(DYNAMICLIB) - -clean: - $(RM) $(DYNAMICLIB) $(OBJS) $(LZMA_OBJS) - -$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS) - gcc -shared -s -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) -lm - -%.o: %.c - $(CC) $(CFLAGS) $< - -%.o: $(LZMADIR)/%.c - $(CC) $(CFLAGS_LZMA) $< - -depend: - $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend - --include make.depend diff --git a/3rdparty/openctm/lib/Makefile.macosx b/3rdparty/openctm/lib/Makefile.macosx deleted file mode 100644 index 03c391416..000000000 --- a/3rdparty/openctm/lib/Makefile.macosx +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.macosx -# Description: Makefile for Mac OS X. -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -LZMADIR = liblzma -CC = gcc -CFLAGS = -O3 -W -Wall -c -fvisibility=hidden -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic -CFLAGS_LZMA = -O3 -W -Wall -c -fvisibility=hidden -DLZMA_PREFIX_CTM -std=c99 -pedantic -RM = rm -f -DEPEND = $(CPP) -MM - -DYNAMICLIB = libopenctm.dylib - -OBJS = openctm.o \ - stream.o \ - compressRAW.o \ - compressMG1.o \ - compressMG2.o - -LZMA_OBJS = Alloc.o \ - LzFind.o \ - LzmaDec.o \ - LzmaEnc.o \ - LzmaLib.o - -SRCS = openctm.c \ - stream.c \ - compressRAW.c \ - compressMG1.c \ - compressMG2.c - -LZMA_SRCS = $(LZMADIR)/Alloc.c \ - $(LZMADIR)/LzFind.c \ - $(LZMADIR)/LzmaDec.c \ - $(LZMADIR)/LzmaEnc.c \ - $(LZMADIR)/LzmaLib.c - -.phony: all clean depend - -all: $(DYNAMICLIB) - -clean: - $(RM) $(DYNAMICLIB) $(OBJS) $(LZMA_OBJS) - -$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS) - gcc -dynamiclib -o $@ $(OBJS) $(LZMA_OBJS) - -%.o: %.c - $(CC) $(CFLAGS) $< - -%.o: $(LZMADIR)/%.c - $(CC) $(CFLAGS_LZMA) $< - -depend: - $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend - --include make.depend diff --git a/3rdparty/openctm/lib/Makefile.mingw b/3rdparty/openctm/lib/Makefile.mingw deleted file mode 100644 index bfa0466d1..000000000 --- a/3rdparty/openctm/lib/Makefile.mingw +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.mingw -# Description: Makefile for MinGW32 for Windows. -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -LZMADIR = liblzma -CC = gcc -CFLAGS = -O3 -W -Wall -c -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic -CFLAGS_LZMA = -O3 -W -Wall -c -DLZMA_PREFIX_CTM -std=c99 -pedantic -RM = del /Q -DEPEND = $(CC) -MM -RC = windres - -DYNAMICLIB = openctm.dll -LINKLIB = libopenctm.a - -OBJS = openctm.o \ - stream.o \ - compressRAW.o \ - compressMG1.o \ - compressMG2.o - -LZMA_OBJS = Alloc.o \ - LzFind.o \ - LzmaDec.o \ - LzmaEnc.o \ - LzmaLib.o - -SRCS = openctm.c \ - stream.c \ - compressRAW.c \ - compressMG1.c \ - compressMG2.c - -LZMA_SRCS = $(LZMADIR)/Alloc.c \ - $(LZMADIR)/LzFind.c \ - $(LZMADIR)/LzmaDec.c \ - $(LZMADIR)/LzmaEnc.c \ - $(LZMADIR)/LzmaLib.c - -.phony: all clean depend - -all: $(DYNAMICLIB) - -clean: - $(RM) $(DYNAMICLIB) $(LINKLIB) $(OBJS) $(LZMA_OBJS) openctm-res.o - -$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS) openctm-mingw1.def openctm-mingw2.def openctm-res.o - dllwrap --def openctm-mingw1.def -o $@ $(OBJS) $(LZMA_OBJS) openctm-res.o - strip $@ - dlltool --kill-at --output-lib $(LINKLIB) --def openctm-mingw2.def - -openctm-res.o: openctm.rc - $(RC) $< $@ - -%.o: %.c - $(CC) $(CFLAGS) $< - -%.o: $(LZMADIR)/%.c - $(CC) $(CFLAGS_LZMA) $< - -depend: - $(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend - --include make.depend diff --git a/3rdparty/openctm/lib/Makefile.msvc b/3rdparty/openctm/lib/Makefile.msvc deleted file mode 100644 index 766f79181..000000000 --- a/3rdparty/openctm/lib/Makefile.msvc +++ /dev/null @@ -1,103 +0,0 @@ -############################################################################### -# Product: OpenCTM -# File: Makefile.msvc -# Description: Makefile for MS Visual Studio 2008 for Windows. -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -LZMADIR = liblzma -CC = cl -CFLAGS = /nologo /Ox /W3 /c /DOPENCTM_BUILD /I$(LZMADIR) /DLZMA_PREFIX_CTM /D_CRT_SECURE_NO_WARNINGS -CFLAGS_LZMA = /nologo /Ox /W3 /c /DLZMA_PREFIX_CTM -RM = del /Q -RC = rc - -DYNAMICLIB = openctm.dll -LINKLIB = openctm.lib - -OBJS = openctm.obj \ - stream.obj \ - compressRAW.obj \ - compressMG1.obj \ - compressMG2.obj - -LZMA_OBJS = Alloc.obj \ - LzFind.obj \ - LzmaDec.obj \ - LzmaEnc.obj \ - LzmaLib.obj - -SRCS = openctm.c \ - stream.c \ - compressRAW.c \ - compressMG1.c \ - compressMG2.c - -LZMA_SRCS = $(LZMADIR)\Alloc.c \ - $(LZMADIR)\LzFind.c \ - $(LZMADIR)\LzmaDec.c \ - $(LZMADIR)\LzmaEnc.c \ - $(LZMADIR)\LzmaLib.c - -all: $(DYNAMICLIB) - -.PHONY: clean - -clean: - $(RM) $(DYNAMICLIB) $(LINKLIB) $(OBJS) $(LZMA_OBJS) openctm.res - -$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS) openctm-msvc.def openctm.res - link /nologo /out:$@ /dll /implib:$(LINKLIB) /def:openctm-msvc.def $(OBJS) $(LZMA_OBJS) openctm.res - -openctm.res: openctm.rc - $(RC) openctm.rc - -openctm.obj: openctm.c openctm.h internal.h - $(CC) $(CFLAGS) openctm.c - -stream.obj: stream.c openctm.h internal.h - $(CC) $(CFLAGS) stream.c - -compressRAW.obj: compressRAW.c openctm.h internal.h - $(CC) $(CFLAGS) compressRAW.c - -compressMG1.obj: compressMG1.c openctm.h internal.h - $(CC) $(CFLAGS) compressMG1.c - -compressMG2.obj: compressMG2.c openctm.h internal.h - $(CC) $(CFLAGS) compressMG2.c - -Alloc.obj: $(LZMADIR)\Alloc.c $(LZMADIR)\Alloc.h - $(CC) $(CFLAGS_LZMA) $(LZMADIR)\Alloc.c - -LzFind.obj: $(LZMADIR)\LzFind.c $(LZMADIR)\LzFind.h $(LZMADIR)\Types.h $(LZMADIR)\LzHash.h $(LZMADIR)\NameMangle.h - $(CC) $(CFLAGS_LZMA) $(LZMADIR)\LzFind.c - -LzmaDec.obj: $(LZMADIR)\LzmaDec.c $(LZMADIR)\LzmaDec.h $(LZMADIR)\Types.h $(LZMADIR)\NameMangle.h - $(CC) $(CFLAGS_LZMA) $(LZMADIR)\LzmaDec.c - -LzmaEnc.obj: $(LZMADIR)\LzmaEnc.c $(LZMADIR)\LzmaEnc.h $(LZMADIR)\Types.h $(LZMADIR)\LzFind.h $(LZMADIR)\NameMangle.h - $(CC) $(CFLAGS_LZMA) $(LZMADIR)\LzmaEnc.c - -LzmaLib.obj: $(LZMADIR)\LzmaLib.c $(LZMADIR)\LzmaEnc.h $(LZMADIR)\Types.h $(LZMADIR)\LzmaDec.h $(LZMADIR)\Alloc.h $(LZMADIR)\LzmaLib.h $(LZMADIR)\NameMangle.h - $(CC) $(CFLAGS_LZMA) $(LZMADIR)\LzmaLib.c diff --git a/3rdparty/openctm/lib/compressMG1.c b/3rdparty/openctm/lib/compressMG1.c deleted file mode 100644 index b26f6fd81..000000000 --- a/3rdparty/openctm/lib/compressMG1.c +++ /dev/null @@ -1,324 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: compressMG1.c -// Description: Implementation of the MG1 compression method. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include "openctm.h" -#include "internal.h" - -#ifdef __DEBUG_ -#include -#endif - - -//----------------------------------------------------------------------------- -// _compareTriangle() - Comparator for the triangle sorting. -//----------------------------------------------------------------------------- -static int _compareTriangle(const void * elem1, const void * elem2) -{ - CTMuint * tri1 = (CTMuint *) elem1; - CTMuint * tri2 = (CTMuint *) elem2; - if(tri1[0] != tri2[0]) - return tri1[0] - tri2[0]; - else - return tri1[1] - tri2[1]; -} - -//----------------------------------------------------------------------------- -// _ctmReArrangeTriangles() - Re-arrange all triangles for optimal -// compression. -//----------------------------------------------------------------------------- -static void _ctmReArrangeTriangles(_CTMcontext * self, CTMuint * aIndices) -{ - CTMuint * tri, tmp, i; - - // Step 1: Make sure that the first index of each triangle is the smallest - // one (rotate triangle nodes if necessary) - for(i = 0; i < self->mTriangleCount; ++ i) - { - tri = &aIndices[i * 3]; - if((tri[1] < tri[0]) && (tri[1] < tri[2])) - { - tmp = tri[0]; - tri[0] = tri[1]; - tri[1] = tri[2]; - tri[2] = tmp; - } - else if((tri[2] < tri[0]) && (tri[2] < tri[1])) - { - tmp = tri[0]; - tri[0] = tri[2]; - tri[2] = tri[1]; - tri[1] = tmp; - } - } - - // Step 2: Sort the triangles based on the first triangle index - qsort((void *) aIndices, self->mTriangleCount, sizeof(CTMuint) * 3, _compareTriangle); -} - -//----------------------------------------------------------------------------- -// _ctmMakeIndexDeltas() - Calculate various forms of derivatives in order to -// reduce data entropy. -//----------------------------------------------------------------------------- -static void _ctmMakeIndexDeltas(_CTMcontext * self, CTMuint * aIndices) -{ - CTMint i; - for(i = self->mTriangleCount - 1; i >= 0; -- i) - { - // Step 1: Calculate delta from second triangle index to the previous - // second triangle index, if the previous triangle shares the same first - // index, otherwise calculate the delta to the first triangle index - if((i >= 1) && (aIndices[i * 3] == aIndices[(i - 1) * 3])) - aIndices[i * 3 + 1] -= aIndices[(i - 1) * 3 + 1]; - else - aIndices[i * 3 + 1] -= aIndices[i * 3]; - - // Step 2: Calculate delta from third triangle index to the first triangle - // index - aIndices[i * 3 + 2] -= aIndices[i * 3]; - - // Step 3: Calculate derivative of the first triangle index - if(i >= 1) - aIndices[i * 3] -= aIndices[(i - 1) * 3]; - } -} - -//----------------------------------------------------------------------------- -// _ctmRestoreIndices() - Restore original indices (inverse derivative -// operation). -//----------------------------------------------------------------------------- -static void _ctmRestoreIndices(_CTMcontext * self, CTMuint * aIndices) -{ - CTMuint i; - - for(i = 0; i < self->mTriangleCount; ++ i) - { - // Step 1: Reverse derivative of the first triangle index - if(i >= 1) - aIndices[i * 3] += aIndices[(i - 1) * 3]; - - // Step 2: Reverse delta from third triangle index to the first triangle - // index - aIndices[i * 3 + 2] += aIndices[i * 3]; - - // Step 3: Reverse delta from second triangle index to the previous - // second triangle index, if the previous triangle shares the same first - // index, otherwise reverse the delta to the first triangle index - if((i >= 1) && (aIndices[i * 3] == aIndices[(i - 1) * 3])) - aIndices[i * 3 + 1] += aIndices[(i - 1) * 3 + 1]; - else - aIndices[i * 3 + 1] += aIndices[i * 3]; - } -} - -//----------------------------------------------------------------------------- -// _ctmCompressMesh_MG1() - Compress the mesh that is stored in the CTM -// context, and write it the the output stream in the CTM context. -//----------------------------------------------------------------------------- -int _ctmCompressMesh_MG1(_CTMcontext * self) -{ - CTMuint * indices; - _CTMfloatmap * map; - CTMuint i; - -#ifdef __DEBUG_ - printf("COMPRESSION METHOD: MG1\n"); -#endif - - // Perpare (sort) indices - indices = (CTMuint *) malloc(sizeof(CTMuint) * self->mTriangleCount * 3); - if(!indices) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - for(i = 0; i < self->mTriangleCount * 3; ++ i) - indices[i] = self->mIndices[i]; - _ctmReArrangeTriangles(self, indices); - - // Calculate index deltas (entropy-reduction) - _ctmMakeIndexDeltas(self, indices); - - // Write triangle indices -#ifdef __DEBUG_ - printf("Inidices: "); -#endif - _ctmStreamWrite(self, (void *) "INDX", 4); - if(!_ctmStreamWritePackedInts(self, (CTMint *) indices, self->mTriangleCount, 3, CTM_FALSE)) - { - free((void *) indices); - return CTM_FALSE; - } - - // Free temporary resources - free((void *) indices); - - // Write vertices -#ifdef __DEBUG_ - printf("Vertices: "); -#endif - _ctmStreamWrite(self, (void *) "VERT", 4); - if(!_ctmStreamWritePackedFloats(self, self->mVertices, self->mVertexCount * 3, 1)) - { - free((void *) indices); - return CTM_FALSE; - } - - // Write normals - if(self->mNormals) - { -#ifdef __DEBUG_ - printf("Normals: "); -#endif - _ctmStreamWrite(self, (void *) "NORM", 4); - if(!_ctmStreamWritePackedFloats(self, self->mNormals, self->mVertexCount, 3)) - return CTM_FALSE; - } - - // Write UV maps - map = self->mUVMaps; - while(map) - { -#ifdef __DEBUG_ - printf("UV coordinates (%s): ", map->mName ? map->mName : "no name"); -#endif - _ctmStreamWrite(self, (void *) "TEXC", 4); - _ctmStreamWriteSTRING(self, map->mName); - _ctmStreamWriteSTRING(self, map->mFileName); - if(!_ctmStreamWritePackedFloats(self, map->mValues, self->mVertexCount, 2)) - return CTM_FALSE; - map = map->mNext; - } - - // Write attribute maps - map = self->mAttribMaps; - while(map) - { -#ifdef __DEBUG_ - printf("Vertex attributes (%s): ", map->mName ? map->mName : "no name"); -#endif - _ctmStreamWrite(self, (void *) "ATTR", 4); - _ctmStreamWriteSTRING(self, map->mName); - if(!_ctmStreamWritePackedFloats(self, map->mValues, self->mVertexCount, 4)) - return CTM_FALSE; - map = map->mNext; - } - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmUncompressMesh_MG1() - Uncmpress the mesh from the input stream in the -// CTM context, and store the resulting mesh in the CTM context. -//----------------------------------------------------------------------------- -int _ctmUncompressMesh_MG1(_CTMcontext * self) -{ - CTMuint * indices; - _CTMfloatmap * map; - CTMuint i; - - // Allocate memory for the indices - indices = (CTMuint *) malloc(sizeof(CTMuint) * self->mTriangleCount * 3); - if(!indices) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Read triangle indices - if(_ctmStreamReadUINT(self) != FOURCC("INDX")) - { - self->mError = CTM_BAD_FORMAT; - free(indices); - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, (CTMint *) indices, self->mTriangleCount, 3, CTM_FALSE)) - return CTM_FALSE; - - // Restore indices - _ctmRestoreIndices(self, indices); - for(i = 0; i < self->mTriangleCount * 3; ++ i) - self->mIndices[i] = indices[i]; - - // Free temporary resources - free(indices); - - // Read vertices - if(_ctmStreamReadUINT(self) != FOURCC("VERT")) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - if(!_ctmStreamReadPackedFloats(self, self->mVertices, self->mVertexCount * 3, 1)) - return CTM_FALSE; - - // Read normals - if(self->mNormals) - { - if(_ctmStreamReadUINT(self) != FOURCC("NORM")) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - if(!_ctmStreamReadPackedFloats(self, self->mNormals, self->mVertexCount, 3)) - return CTM_FALSE; - } - - // Read UV maps - map = self->mUVMaps; - while(map) - { - if(_ctmStreamReadUINT(self) != FOURCC("TEXC")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - _ctmStreamReadSTRING(self, &map->mName); - _ctmStreamReadSTRING(self, &map->mFileName); - if(!_ctmStreamReadPackedFloats(self, map->mValues, self->mVertexCount, 2)) - return CTM_FALSE; - map = map->mNext; - } - - // Read vertex attribute maps - map = self->mAttribMaps; - while(map) - { - if(_ctmStreamReadUINT(self) != FOURCC("ATTR")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - _ctmStreamReadSTRING(self, &map->mName); - if(!_ctmStreamReadPackedFloats(self, map->mValues, self->mVertexCount, 4)) - return CTM_FALSE; - map = map->mNext; - } - - return CTM_TRUE; -} diff --git a/3rdparty/openctm/lib/compressMG2.c b/3rdparty/openctm/lib/compressMG2.c deleted file mode 100644 index 064379a95..000000000 --- a/3rdparty/openctm/lib/compressMG2.c +++ /dev/null @@ -1,1319 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: compressMG2.c -// Description: Implementation of the MG2 compression method. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include "openctm.h" -#include "internal.h" - -#ifdef __DEBUG_ -#include -#endif - -// We need PI -#ifndef PI -#define PI 3.141592653589793238462643f -#endif - - -//----------------------------------------------------------------------------- -// _CTMgrid - 3D space subdivision grid. -//----------------------------------------------------------------------------- -typedef struct { - // Axis-aligned boudning box for the grid. - CTMfloat mMin[3]; - CTMfloat mMax[3]; - - // How many divisions per axis (minimum 1). - CTMuint mDivision[3]; - - // Size of each grid box. - CTMfloat mSize[3]; -} _CTMgrid; - -//----------------------------------------------------------------------------- -// _CTMsortvertex - Vertex information. -//----------------------------------------------------------------------------- -typedef struct { - // Vertex X coordinate (used for sorting). - CTMfloat x; - - // Grid index. This is the index into the 3D space subdivision grid. - CTMuint mGridIndex; - - // Original index (before sorting). - CTMuint mOriginalIndex; -} _CTMsortvertex; - -//----------------------------------------------------------------------------- -// _ctmSetupGrid() - Setup the 3D space subdivision grid. -//----------------------------------------------------------------------------- -static void _ctmSetupGrid(_CTMcontext * self, _CTMgrid * aGrid) -{ - CTMuint i; - CTMfloat factor[3], sum, wantedGrids; - - // Calculate the mesh bounding box - aGrid->mMin[0] = aGrid->mMax[0] = self->mVertices[0]; - aGrid->mMin[1] = aGrid->mMax[1] = self->mVertices[1]; - aGrid->mMin[2] = aGrid->mMax[2] = self->mVertices[2]; - for(i = 1; i < self->mVertexCount; ++ i) - { - if(self->mVertices[i * 3] < aGrid->mMin[0]) - aGrid->mMin[0] = self->mVertices[i * 3]; - else if(self->mVertices[i * 3] > aGrid->mMax[0]) - aGrid->mMax[0] = self->mVertices[i * 3]; - if(self->mVertices[i * 3 + 1] < aGrid->mMin[1]) - aGrid->mMin[1] = self->mVertices[i * 3 + 1]; - else if(self->mVertices[i * 3 + 1] > aGrid->mMax[1]) - aGrid->mMax[1] = self->mVertices[i * 3 + 1]; - if(self->mVertices[i * 3 + 2] < aGrid->mMin[2]) - aGrid->mMin[2] = self->mVertices[i * 3 + 2]; - else if(self->mVertices[i * 3 + 2] > aGrid->mMax[2]) - aGrid->mMax[2] = self->mVertices[i * 3 + 2]; - } - - // Determine optimal grid resolution, based on the number of vertices and - // the bounding box. - // NOTE: This algorithm is quite crude, and could very well be optimized for - // better compression levels in the future without affecting the file format - // or backward compatibility at all. - for(i = 0; i < 3; ++ i) - factor[i] = aGrid->mMax[i] - aGrid->mMin[i]; - sum = factor[0] + factor[1] + factor[2]; - if(sum > 1e-30f) - { - sum = 1.0f / sum; - for(i = 0; i < 3; ++ i) - factor[i] *= sum; - wantedGrids = powf(100.0f * self->mVertexCount, 1.0f / 3.0f); - for(i = 0; i < 3; ++ i) - { - aGrid->mDivision[i] = (CTMuint) ceilf(wantedGrids * factor[i]); - if(aGrid->mDivision[i] < 1) - aGrid->mDivision[i] = 1; - } - } - else - { - aGrid->mDivision[0] = 4; - aGrid->mDivision[1] = 4; - aGrid->mDivision[2] = 4; - } -#ifdef __DEBUG_ - printf("Division: (%d %d %d)\n", aGrid->mDivision[0], aGrid->mDivision[1], aGrid->mDivision[2]); -#endif - - // Calculate grid sizes - for(i = 0; i < 3; ++ i) - aGrid->mSize[i] = (aGrid->mMax[i] - aGrid->mMin[i]) / aGrid->mDivision[i]; -} - -//----------------------------------------------------------------------------- -// _ctmPointToGridIdx() - Convert a point to a grid index. -//----------------------------------------------------------------------------- -static CTMuint _ctmPointToGridIdx(_CTMgrid * aGrid, CTMfloat * aPoint) -{ - CTMuint i, idx[3]; - - for(i = 0; i < 3; ++ i) - { - idx[i] = (CTMuint) floorf((aPoint[i] - aGrid->mMin[i]) / aGrid->mSize[i]); - if(idx[i] >= aGrid->mDivision[i]) - idx[i] = aGrid->mDivision[i] - 1; - } - - return idx[0] + aGrid->mDivision[0] * (idx[1] + aGrid->mDivision[1] * idx[2]); -} - -//----------------------------------------------------------------------------- -// _ctmGridIdxToPoint() - Convert a grid index to a point (the min x/y/z for -// the given grid box). -//----------------------------------------------------------------------------- -static void _ctmGridIdxToPoint(_CTMgrid * aGrid, CTMuint aIdx, CTMfloat * aPoint) -{ - CTMuint gridIdx[3], zdiv, ydiv, i; - - zdiv = aGrid->mDivision[0] * aGrid->mDivision[1]; - ydiv = aGrid->mDivision[0]; - - gridIdx[2] = aIdx / zdiv; - aIdx -= gridIdx[2] * zdiv; - gridIdx[1] = aIdx / ydiv; - aIdx -= gridIdx[1] * ydiv; - gridIdx[0] = aIdx; - - for(i = 0; i < 3; ++ i) - aPoint[i] = gridIdx[i] * aGrid->mSize[i] + aGrid->mMin[i]; -} - -//----------------------------------------------------------------------------- -// _compareVertex() - Comparator for the vertex sorting. -//----------------------------------------------------------------------------- -static int _compareVertex(const void * elem1, const void * elem2) -{ - _CTMsortvertex * v1 = (_CTMsortvertex *) elem1; - _CTMsortvertex * v2 = (_CTMsortvertex *) elem2; - if(v1->mGridIndex != v2->mGridIndex) - return v1->mGridIndex - v2->mGridIndex; - else if(v1->x < v2->x) - return -1; - else if(v1->x > v2->x) - return 1; - else - return 0; -} - -//----------------------------------------------------------------------------- -// _ctmSortVertices() - Setup the vertex array. Assign each vertex to a grid -// box, and sort all vertices. -//----------------------------------------------------------------------------- -static void _ctmSortVertices(_CTMcontext * self, _CTMsortvertex * aSortVertices, - _CTMgrid * aGrid) -{ - CTMuint i; - - // Prepare sort vertex array - for(i = 0; i < self->mVertexCount; ++ i) - { - // Store vertex properties in the sort vertex array - aSortVertices[i].x = self->mVertices[i * 3]; - aSortVertices[i].mGridIndex = _ctmPointToGridIdx(aGrid, &self->mVertices[i * 3]); - aSortVertices[i].mOriginalIndex = i; - } - - // Sort vertices. The elements are first sorted by their grid indices, and - // scondly by their x coordinates. - qsort((void *) aSortVertices, self->mVertexCount, sizeof(_CTMsortvertex), _compareVertex); -} - -//----------------------------------------------------------------------------- -// _ctmReIndexIndices() - Re-index all indices, based on the sorted vertices. -//----------------------------------------------------------------------------- -static int _ctmReIndexIndices(_CTMcontext * self, _CTMsortvertex * aSortVertices, - CTMuint * aIndices) -{ - CTMuint i, * indexLUT; - - // Create temporary lookup-array, O(n) - indexLUT = (CTMuint *) malloc(sizeof(CTMuint) * self->mVertexCount); - if(!indexLUT) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - for(i = 0; i < self->mVertexCount; ++ i) - indexLUT[aSortVertices[i].mOriginalIndex] = i; - - // Convert old indices to new indices, O(n) - for(i = 0; i < self->mTriangleCount * 3; ++ i) - aIndices[i] = indexLUT[self->mIndices[i]]; - - // Free temporary lookup-array - free((void *) indexLUT); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _compareTriangle() - Comparator for the triangle sorting. -//----------------------------------------------------------------------------- -static int _compareTriangle(const void * elem1, const void * elem2) -{ - CTMuint * tri1 = (CTMuint *) elem1; - CTMuint * tri2 = (CTMuint *) elem2; - if(tri1[0] != tri2[0]) - return tri1[0] - tri2[0]; - else - return tri1[1] - tri2[1]; -} - -//----------------------------------------------------------------------------- -// _ctmReArrangeTriangles() - Re-arrange all triangles for optimal -// compression. -//----------------------------------------------------------------------------- -static void _ctmReArrangeTriangles(_CTMcontext * self, CTMuint * aIndices) -{ - CTMuint * tri, tmp, i; - - // Step 1: Make sure that the first index of each triangle is the smallest - // one (rotate triangle nodes if necessary) - for(i = 0; i < self->mTriangleCount; ++ i) - { - tri = &aIndices[i * 3]; - if((tri[1] < tri[0]) && (tri[1] < tri[2])) - { - tmp = tri[0]; - tri[0] = tri[1]; - tri[1] = tri[2]; - tri[2] = tmp; - } - else if((tri[2] < tri[0]) && (tri[2] < tri[1])) - { - tmp = tri[0]; - tri[0] = tri[2]; - tri[2] = tri[1]; - tri[1] = tmp; - } - } - - // Step 2: Sort the triangles based on the first triangle index - qsort((void *) aIndices, self->mTriangleCount, sizeof(CTMuint) * 3, _compareTriangle); -} - -//----------------------------------------------------------------------------- -// _ctmMakeIndexDeltas() - Calculate various forms of derivatives in order to -// reduce data entropy. -//----------------------------------------------------------------------------- -static void _ctmMakeIndexDeltas(_CTMcontext * self, CTMuint * aIndices) -{ - CTMint i; - for(i = self->mTriangleCount - 1; i >= 0; -- i) - { - // Step 1: Calculate delta from second triangle index to the previous - // second triangle index, if the previous triangle shares the same first - // index, otherwise calculate the delta to the first triangle index - if((i >= 1) && (aIndices[i * 3] == aIndices[(i - 1) * 3])) - aIndices[i * 3 + 1] -= aIndices[(i - 1) * 3 + 1]; - else - aIndices[i * 3 + 1] -= aIndices[i * 3]; - - // Step 2: Calculate delta from third triangle index to the first triangle - // index - aIndices[i * 3 + 2] -= aIndices[i * 3]; - - // Step 3: Calculate derivative of the first triangle index - if(i >= 1) - aIndices[i * 3] -= aIndices[(i - 1) * 3]; - } -} - -//----------------------------------------------------------------------------- -// _ctmRestoreIndices() - Restore original indices (inverse derivative -// operation). -//----------------------------------------------------------------------------- -static void _ctmRestoreIndices(_CTMcontext * self, CTMuint * aIndices) -{ - CTMuint i; - - for(i = 0; i < self->mTriangleCount; ++ i) - { - // Step 1: Reverse derivative of the first triangle index - if(i >= 1) - aIndices[i * 3] += aIndices[(i - 1) * 3]; - - // Step 2: Reverse delta from third triangle index to the first triangle - // index - aIndices[i * 3 + 2] += aIndices[i * 3]; - - // Step 3: Reverse delta from second triangle index to the previous - // second triangle index, if the previous triangle shares the same first - // index, otherwise reverse the delta to the first triangle index - if((i >= 1) && (aIndices[i * 3] == aIndices[(i - 1) * 3])) - aIndices[i * 3 + 1] += aIndices[(i - 1) * 3 + 1]; - else - aIndices[i * 3 + 1] += aIndices[i * 3]; - } -} - -//----------------------------------------------------------------------------- -// _ctmMakeVertexDeltas() - Calculate various forms of derivatives in order to -// reduce data entropy. -//----------------------------------------------------------------------------- -static void _ctmMakeVertexDeltas(_CTMcontext * self, CTMint * aIntVertices, - _CTMsortvertex * aSortVertices, _CTMgrid * aGrid) -{ - CTMuint i, gridIdx, prevGridIndex, oldIdx; - CTMfloat gridOrigin[3], scale; - CTMint deltaX, prevDeltaX; - - // Vertex scaling factor - scale = 1.0f / self->mVertexPrecision; - - prevGridIndex = 0x7fffffff; - prevDeltaX = 0; - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get grid box origin - gridIdx = aSortVertices[i].mGridIndex; - _ctmGridIdxToPoint(aGrid, gridIdx, gridOrigin); - - // Get old vertex coordinate index (before vertex sorting) - oldIdx = aSortVertices[i].mOriginalIndex; - - // Store delta to the grid box origin in the integer vertex array. For the - // X axis (which is sorted) we also do the delta to the previous coordinate - // in the box. - deltaX = (CTMint) floorf(scale * (self->mVertices[oldIdx * 3] - gridOrigin[0]) + 0.5f); - if(gridIdx == prevGridIndex) - aIntVertices[i * 3] = deltaX - prevDeltaX; - else - aIntVertices[i * 3] = deltaX; - aIntVertices[i * 3 + 1] = (CTMint) floorf(scale * (self->mVertices[oldIdx * 3 + 1] - gridOrigin[1]) + 0.5f); - aIntVertices[i * 3 + 2] = (CTMint) floorf(scale * (self->mVertices[oldIdx * 3 + 2] - gridOrigin[2]) + 0.5f); - - prevGridIndex = gridIdx; - prevDeltaX = deltaX; - } -} - -//----------------------------------------------------------------------------- -// _ctmRestoreVertices() - Calculate inverse derivatives of the vertices. -//----------------------------------------------------------------------------- -static void _ctmRestoreVertices(_CTMcontext * self, CTMint * aIntVertices, - CTMuint * aGridIndices, _CTMgrid * aGrid, CTMfloat * aVertices) -{ - CTMuint i, gridIdx, prevGridIndex; - CTMfloat gridOrigin[3], scale; - CTMint deltaX, prevDeltaX; - - scale = self->mVertexPrecision; - - prevGridIndex = 0x7fffffff; - prevDeltaX = 0; - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get grid box origin - gridIdx = aGridIndices[i]; - _ctmGridIdxToPoint(aGrid, gridIdx, gridOrigin); - - // Restore original point - deltaX = aIntVertices[i * 3]; - if(gridIdx == prevGridIndex) - deltaX += prevDeltaX; - aVertices[i * 3] = scale * deltaX + gridOrigin[0]; - aVertices[i * 3 + 1] = scale * aIntVertices[i * 3 + 1] + gridOrigin[1]; - aVertices[i * 3 + 2] = scale * aIntVertices[i * 3 + 2] + gridOrigin[2]; - - prevGridIndex = gridIdx; - prevDeltaX = deltaX; - } -} - -//----------------------------------------------------------------------------- -// _ctmCalcSmoothNormals() - Calculate the smooth normals for a given mesh. -// These are used as the nominal normals for normal deltas & reconstruction. -//----------------------------------------------------------------------------- -static void _ctmCalcSmoothNormals(_CTMcontext * self, CTMfloat * aVertices, - CTMuint * aIndices, CTMfloat * aSmoothNormals) -{ - CTMuint i, j, k, tri[3]; - CTMfloat len; - CTMfloat v1[3], v2[3], n[3]; - - // Clear smooth normals array - for(i = 0; i < 3 * self->mVertexCount; ++ i) - aSmoothNormals[i] = 0.0f; - - // Calculate sums of all neigbouring triangle normals for each vertex - for(i = 0; i < self->mTriangleCount; ++ i) - { - // Get triangle corner indices - for(j = 0; j < 3; ++ j) - tri[j] = aIndices[i * 3 + j]; - - // Calculate the normalized cross product of two triangle edges (i.e. the - // flat triangle normal) - for(j = 0; j < 3; ++ j) - { - v1[j] = aVertices[tri[1] * 3 + j] - aVertices[tri[0] * 3 + j]; - v2[j] = aVertices[tri[2] * 3 + j] - aVertices[tri[0] * 3 + j]; - } - n[0] = v1[1] * v2[2] - v1[2] * v2[1]; - n[1] = v1[2] * v2[0] - v1[0] * v2[2]; - n[2] = v1[0] * v2[1] - v1[1] * v2[0]; - len = sqrtf(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]); - if(len > 1e-10f) - len = 1.0f / len; - else - len = 1.0f; - for(j = 0; j < 3; ++ j) - n[j] *= len; - - // Add the flat normal to all three triangle vertices - for(k = 0; k < 3; ++ k) - for(j = 0; j < 3; ++ j) - aSmoothNormals[tri[k] * 3 + j] += n[j]; - } - - // Normalize the normal sums, which gives the unit length smooth normals - for(i = 0; i < self->mVertexCount; ++ i) - { - len = sqrtf(aSmoothNormals[i * 3] * aSmoothNormals[i * 3] + - aSmoothNormals[i * 3 + 1] * aSmoothNormals[i * 3 + 1] + - aSmoothNormals[i * 3 + 2] * aSmoothNormals[i * 3 + 2]); - if(len > 1e-10f) - len = 1.0f / len; - else - len = 1.0f; - for(j = 0; j < 3; ++ j) - aSmoothNormals[i * 3 + j] *= len; - } -} - -//----------------------------------------------------------------------------- -// _ctmMakeNormalCoordSys() - Create an ortho-normalized coordinate system -// where the Z-axis is aligned with the given normal. -// Note 1: This function is central to how the compressed normal data is -// interpreted, and it can not be changed (mathematically) without making the -// coder/decoder incompatible with other versions of the library! -// Note 2: Since we do this for every single normal, this routine needs to be -// fast. The current implementation uses: 12 MUL, 1 DIV, 1 SQRT, ~6 ADD. -//----------------------------------------------------------------------------- -static void _ctmMakeNormalCoordSys(CTMfloat * aNormal, CTMfloat * aBasisAxes) -{ - CTMfloat len, * x, * y, * z; - CTMuint i; - - // Pointers to the basis axes (aBasisAxes is a 3x3 matrix) - x = aBasisAxes; - y = &aBasisAxes[3]; - z = &aBasisAxes[6]; - - // Z = normal (must be unit length!) - for(i = 0; i < 3; ++ i) - z[i] = aNormal[i]; - - // Calculate a vector that is guaranteed to be orthogonal to the normal, non- - // zero, and a continuous function of the normal (no discrete jumps): - // X = (0,0,1) x normal + (1,0,0) x normal - x[0] = -aNormal[1]; - x[1] = aNormal[0] - aNormal[2]; - x[2] = aNormal[1]; - - // Normalize the new X axis (note: |x[2]| = |x[0]|) - len = sqrtf(2.0f * x[0] * x[0] + x[1] * x[1]); - if(len > 1.0e-20f) - { - len = 1.0f / len; - x[0] *= len; - x[1] *= len; - x[2] *= len; - } - - // Let Y = Z x X (no normalization needed, since |Z| = |X| = 1) - y[0] = z[1] * x[2] - z[2] * x[1]; - y[1] = z[2] * x[0] - z[0] * x[2]; - y[2] = z[0] * x[1] - z[1] * x[0]; -} - -//----------------------------------------------------------------------------- -// _ctmMakeNormalDeltas() - Convert the normals to a new coordinate system: -// magnitude, phi, theta (relative to predicted smooth normals). -//----------------------------------------------------------------------------- -static CTMint _ctmMakeNormalDeltas(_CTMcontext * self, CTMint * aIntNormals, - CTMfloat * aVertices, CTMuint * aIndices, _CTMsortvertex * aSortVertices) -{ - CTMuint i, j, oldIdx, intPhi; - CTMfloat magn, phi, theta, scale, thetaScale; - CTMfloat * smoothNormals, n[3], n2[3], basisAxes[9]; - - // Allocate temporary memory for the nominal vertex normals - smoothNormals = (CTMfloat *) malloc(3 * sizeof(CTMfloat) * self->mVertexCount); - if(!smoothNormals) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Calculate smooth normals (Note: aVertices and aIndices use the sorted - // index space, so smoothNormals will too) - _ctmCalcSmoothNormals(self, aVertices, aIndices, smoothNormals); - - // Normal scaling factor - scale = 1.0f / self->mNormalPrecision; - - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get old normal index (before vertex sorting) - oldIdx = aSortVertices[i].mOriginalIndex; - - // Calculate normal magnitude (should always be 1.0 for unit length normals) - magn = sqrtf(self->mNormals[oldIdx * 3] * self->mNormals[oldIdx * 3] + - self->mNormals[oldIdx * 3 + 1] * self->mNormals[oldIdx * 3 + 1] + - self->mNormals[oldIdx * 3 + 2] * self->mNormals[oldIdx * 3 + 2]); - if(magn < 1e-10f) - magn = 1.0f; - - // Invert magnitude if the normal is negative compared to the predicted - // smooth normal - if((smoothNormals[i * 3] * self->mNormals[oldIdx * 3] + - smoothNormals[i * 3 + 1] * self->mNormals[oldIdx * 3 + 1] + - smoothNormals[i * 3 + 2] * self->mNormals[oldIdx * 3 + 2]) < 0.0f) - magn = -magn; - - // Store the magnitude in the first element of the three normal elements - aIntNormals[i * 3] = (CTMint) floorf(scale * magn + 0.5f); - - // Normalize the normal (1 / magn) - and flip it if magn < 0 - magn = 1.0f / magn; - for(j = 0; j < 3; ++ j) - n[j] = self->mNormals[oldIdx * 3 + j] * magn; - - // Convert the normal to angular representation (phi, theta) in a coordinate - // system where the nominal (smooth) normal is the Z-axis - _ctmMakeNormalCoordSys(&smoothNormals[i * 3], basisAxes); - for(j = 0; j < 3; ++ j) - n2[j] = basisAxes[j * 3] * n[0] + - basisAxes[j * 3 + 1] * n[1] + - basisAxes[j * 3 + 2] * n[2]; - if(n2[2] >= 1.0f) - phi = 0.0f; - else - phi = acosf(n2[2]); - theta = atan2f(n2[1], n2[0]); - - // Round phi and theta (spherical coordinates) to integers. Note: We let the - // theta resolution vary with the x/y circumference (roughly phi). - intPhi = (CTMint) floorf(phi * (scale / (0.5f * PI)) + 0.5f); - if(intPhi == 0) - thetaScale = 0.0f; - else if(intPhi <= 4) - thetaScale = 2.0f / PI; - else - thetaScale = ((CTMfloat) intPhi) / (2.0f * PI); - aIntNormals[i * 3 + 1] = intPhi; - aIntNormals[i * 3 + 2] = (CTMint) floorf((theta + PI) * thetaScale + 0.5f); - } - - // Free temporary resources - free(smoothNormals); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmRestoreNormals() - Convert the normals back to cartesian coordinates. -//----------------------------------------------------------------------------- -static CTMint _ctmRestoreNormals(_CTMcontext * self, CTMint * aIntNormals) -{ - CTMuint i, j, intPhi; - CTMfloat magn, phi, theta, scale, thetaScale; - CTMfloat * smoothNormals, n[3], n2[3], basisAxes[9]; - - // Allocate temporary memory for the nominal vertex normals - smoothNormals = (CTMfloat *) malloc(3 * sizeof(CTMfloat) * self->mVertexCount); - if(!smoothNormals) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Calculate smooth normals (nominal normals) - _ctmCalcSmoothNormals(self, self->mVertices, self->mIndices, smoothNormals); - - // Normal scaling factor - scale = self->mNormalPrecision; - - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get the normal magnitude from the first of the three normal elements - magn = aIntNormals[i * 3] * scale; - - // Get phi and theta (spherical coordinates, relative to the smooth normal). - intPhi = aIntNormals[i * 3 + 1]; - phi = intPhi * (0.5f * PI) * scale; - if(intPhi == 0) - thetaScale = 0.0f; - else if(intPhi <= 4) - thetaScale = PI / 2.0f; - else - thetaScale = (2.0f * PI) / ((CTMfloat) intPhi); - theta = aIntNormals[i * 3 + 2] * thetaScale - PI; - - // Convert the normal from the angular representation (phi, theta) back to - // cartesian coordinates - n2[0] = sinf(phi) * cosf(theta); - n2[1] = sinf(phi) * sinf(theta); - n2[2] = cosf(phi); - _ctmMakeNormalCoordSys(&smoothNormals[i * 3], basisAxes); - for(j = 0; j < 3; ++ j) - n[j] = basisAxes[j] * n2[0] + - basisAxes[3 + j] * n2[1] + - basisAxes[6 + j] * n2[2]; - - // Apply normal magnitude, and output to the normals array - for(j = 0; j < 3; ++ j) - self->mNormals[i * 3 + j] = n[j] * magn; - } - - // Free temporary resources - free(smoothNormals); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmMakeUVCoordDeltas() - Calculate various forms of derivatives in order -// to reduce data entropy. -//----------------------------------------------------------------------------- -static void _ctmMakeUVCoordDeltas(_CTMcontext * self, _CTMfloatmap * aMap, - CTMint * aIntUVCoords, _CTMsortvertex * aSortVertices) -{ - CTMuint i, oldIdx; - CTMint u, v, prevU, prevV; - CTMfloat scale; - - // UV coordinate scaling factor - scale = 1.0f / aMap->mPrecision; - - prevU = prevV = 0; - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get old UV coordinate index (before vertex sorting) - oldIdx = aSortVertices[i].mOriginalIndex; - - // Convert to fixed point - u = (CTMint) floorf(scale * aMap->mValues[oldIdx * 2] + 0.5f); - v = (CTMint) floorf(scale * aMap->mValues[oldIdx * 2 + 1] + 0.5f); - - // Calculate delta and store it in the converted array. NOTE: Here we rely - // on the fact that vertices are sorted, and usually close to each other, - // which means that UV coordinates should also be close to each other... - aIntUVCoords[i * 2] = u - prevU; - aIntUVCoords[i * 2 + 1] = v - prevV; - - prevU = u; - prevV = v; - } -} - -//----------------------------------------------------------------------------- -// _ctmRestoreUVCoords() - Calculate inverse derivatives of the UV -// coordinates. -//----------------------------------------------------------------------------- -static void _ctmRestoreUVCoords(_CTMcontext * self, _CTMfloatmap * aMap, - CTMint * aIntUVCoords) -{ - CTMuint i; - CTMint u, v, prevU, prevV; - CTMfloat scale; - - // UV coordinate scaling factor - scale = aMap->mPrecision; - - prevU = prevV = 0; - for(i = 0; i < self->mVertexCount; ++ i) - { - // Calculate inverse delta - u = aIntUVCoords[i * 2] + prevU; - v = aIntUVCoords[i * 2 + 1] + prevV; - - // Convert to floating point - aMap->mValues[i * 2] = (CTMfloat) u * scale; - aMap->mValues[i * 2 + 1] = (CTMfloat) v * scale; - - prevU = u; - prevV = v; - } -} - -//----------------------------------------------------------------------------- -// _ctmMakeAttribDeltas() - Calculate various forms of derivatives in order -// to reduce data entropy. -//----------------------------------------------------------------------------- -static void _ctmMakeAttribDeltas(_CTMcontext * self, _CTMfloatmap * aMap, - CTMint * aIntAttribs, _CTMsortvertex * aSortVertices) -{ - CTMuint i, j, oldIdx; - CTMint value[4], prev[4]; - CTMfloat scale; - - // Attribute scaling factor - scale = 1.0f / aMap->mPrecision; - - for(j = 0; j < 4; ++ j) - prev[j] = 0; - - for(i = 0; i < self->mVertexCount; ++ i) - { - // Get old attribute index (before vertex sorting) - oldIdx = aSortVertices[i].mOriginalIndex; - - // Convert to fixed point, and calculate delta and store it in the converted - // array. NOTE: Here we rely on the fact that vertices are sorted, and - // usually close to each other, which means that attributes should also - // be close to each other (and we assume that they somehow vary slowly with - // the geometry)... - for(j = 0; j < 4; ++ j) - { - value[j] = (CTMint) floorf(scale * aMap->mValues[oldIdx * 4 + j] + 0.5f); - aIntAttribs[i * 4 + j] = value[j] - prev[j]; - prev[j] = value[j]; - } - } -} - -//----------------------------------------------------------------------------- -// _ctmRestoreAttribs() - Calculate inverse derivatives of the vertex -// attributes. -//----------------------------------------------------------------------------- -static void _ctmRestoreAttribs(_CTMcontext * self, _CTMfloatmap * aMap, - CTMint * aIntAttribs) -{ - CTMuint i, j; - CTMint value[4], prev[4]; - CTMfloat scale; - - // Attribute scaling factor - scale = aMap->mPrecision; - - for(j = 0; j < 4; ++ j) - prev[j] = 0; - - for(i = 0; i < self->mVertexCount; ++ i) - { - // Calculate inverse delta, and convert to floating point - for(j = 0; j < 4; ++ j) - { - value[j] = aIntAttribs[i * 4 + j] + prev[j]; - aMap->mValues[i * 4 + j] = (CTMfloat) value[j] * scale; - prev[j] = value[j]; - } - } -} - -//----------------------------------------------------------------------------- -// _ctmCompressMesh_MG2() - Compress the mesh that is stored in the CTM -// context, and write it the the output stream in the CTM context. -//----------------------------------------------------------------------------- -int _ctmCompressMesh_MG2(_CTMcontext * self) -{ - _CTMgrid grid; - _CTMsortvertex * sortVertices; - _CTMfloatmap * map; - CTMuint * indices, * deltaIndices, * gridIndices; - CTMint * intVertices, * intNormals, * intUVCoords, * intAttribs; - CTMfloat * restoredVertices; - CTMuint i; - -#ifdef __DEBUG_ - printf("COMPRESSION METHOD: MG2\n"); -#endif - - // Setup 3D space subdivision grid - _ctmSetupGrid(self, &grid); - - // Write MG2-specific header information to the stream - _ctmStreamWrite(self, (void *) "MG2H", 4); - _ctmStreamWriteFLOAT(self, self->mVertexPrecision); - _ctmStreamWriteFLOAT(self, self->mNormalPrecision); - _ctmStreamWriteFLOAT(self, grid.mMin[0]); - _ctmStreamWriteFLOAT(self, grid.mMin[1]); - _ctmStreamWriteFLOAT(self, grid.mMin[2]); - _ctmStreamWriteFLOAT(self, grid.mMax[0]); - _ctmStreamWriteFLOAT(self, grid.mMax[1]); - _ctmStreamWriteFLOAT(self, grid.mMax[2]); - _ctmStreamWriteUINT(self, grid.mDivision[0]); - _ctmStreamWriteUINT(self, grid.mDivision[1]); - _ctmStreamWriteUINT(self, grid.mDivision[2]); - - // Prepare (sort) vertices - sortVertices = (_CTMsortvertex *) malloc(sizeof(_CTMsortvertex) * self->mVertexCount); - if(!sortVertices) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - _ctmSortVertices(self, sortVertices, &grid); - - // Convert vertices to integers and calculate vertex deltas (entropy-reduction) - intVertices = (CTMint *) malloc(sizeof(CTMint) * 3 * self->mVertexCount); - if(!intVertices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) sortVertices); - return CTM_FALSE; - } - _ctmMakeVertexDeltas(self, intVertices, sortVertices, &grid); - - // Write vertices -#ifdef __DEBUG_ - printf("Vertices: "); -#endif - _ctmStreamWrite(self, (void *) "VERT", 4); - if(!_ctmStreamWritePackedInts(self, intVertices, self->mVertexCount, 3, CTM_FALSE)) - { - free((void *) intVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Prepare grid indices (deltas) - gridIndices = (CTMuint *) malloc(sizeof(CTMuint) * self->mVertexCount); - if(!gridIndices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) intVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - gridIndices[0] = sortVertices[0].mGridIndex; - for(i = 1; i < self->mVertexCount; ++ i) - gridIndices[i] = sortVertices[i].mGridIndex - sortVertices[i - 1].mGridIndex; - - // Write grid indices -#ifdef __DEBUG_ - printf("Grid indices: "); -#endif - _ctmStreamWrite(self, (void *) "GIDX", 4); - if(!_ctmStreamWritePackedInts(self, (CTMint *) gridIndices, self->mVertexCount, 1, CTM_FALSE)) - { - free((void *) gridIndices); - free((void *) intVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Calculate the result of the compressed -> decompressed vertices, in order - // to use the same vertex data for calculating nominal normals as the - // decompression routine (i.e. compensate for the vertex error when - // calculating the normals) - restoredVertices = (CTMfloat *) malloc(sizeof(CTMfloat) * 3 * self->mVertexCount); - if(!restoredVertices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) gridIndices); - free((void *) intVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - for(i = 1; i < self->mVertexCount; ++ i) - gridIndices[i] += gridIndices[i - 1]; - _ctmRestoreVertices(self, intVertices, gridIndices, &grid, restoredVertices); - - // Free temporary resources - free((void *) gridIndices); - free((void *) intVertices); - - // Perpare (sort) indices - indices = (CTMuint *) malloc(sizeof(CTMuint) * self->mTriangleCount * 3); - if(!indices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - if(!_ctmReIndexIndices(self, sortVertices, indices)) - { - free((void *) indices); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - _ctmReArrangeTriangles(self, indices); - - // Calculate index deltas (entropy-reduction) - deltaIndices = (CTMuint *) malloc(sizeof(CTMuint) * self->mTriangleCount * 3); - if(!indices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) indices); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - for(i = 0; i < self->mTriangleCount * 3; ++ i) - deltaIndices[i] = indices[i]; - _ctmMakeIndexDeltas(self, deltaIndices); - - // Write triangle indices -#ifdef __DEBUG_ - printf("Indices: "); -#endif - _ctmStreamWrite(self, (void *) "INDX", 4); - if(!_ctmStreamWritePackedInts(self, (CTMint *) deltaIndices, self->mTriangleCount, 3, CTM_FALSE)) - { - free((void *) deltaIndices); - free((void *) indices); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Free temporary data for the indices - free((void *) deltaIndices); - - if(self->mNormals) - { - // Convert normals to integers and calculate deltas (entropy-reduction) - intNormals = (CTMint *) malloc(sizeof(CTMint) * 3 * self->mVertexCount); - if(!intNormals) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) indices); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - if(!_ctmMakeNormalDeltas(self, intNormals, restoredVertices, indices, sortVertices)) - { - free((void *) indices); - free((void *) intNormals); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Write normals -#ifdef __DEBUG_ - printf("Normals: "); -#endif - _ctmStreamWrite(self, (void *) "NORM", 4); - if(!_ctmStreamWritePackedInts(self, intNormals, self->mVertexCount, 3, CTM_FALSE)) - { - free((void *) indices); - free((void *) intNormals); - free((void *) restoredVertices); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Free temporary normal data - free((void *) intNormals); - } - - // Free restored indices and vertices - free((void *) indices); - free((void *) restoredVertices); - - // Write UV maps - map = self->mUVMaps; - while(map) - { - // Convert UV coordinates to integers and calculate deltas (entropy-reduction) - intUVCoords = (CTMint *) malloc(sizeof(CTMint) * 2 * self->mVertexCount); - if(!intUVCoords) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) sortVertices); - return CTM_FALSE; - } - _ctmMakeUVCoordDeltas(self, map, intUVCoords, sortVertices); - - // Write UV coordinates -#ifdef __DEBUG_ - printf("Texture coordinates (%s): ", map->mName ? map->mName : "no name"); -#endif - _ctmStreamWrite(self, (void *) "TEXC", 4); - _ctmStreamWriteSTRING(self, map->mName); - _ctmStreamWriteSTRING(self, map->mFileName); - _ctmStreamWriteFLOAT(self, map->mPrecision); - if(!_ctmStreamWritePackedInts(self, intUVCoords, self->mVertexCount, 2, CTM_TRUE)) - { - free((void *) intUVCoords); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Free temporary UV coordinate data - free((void *) intUVCoords); - - map = map->mNext; - } - - // Write vertex attribute maps - map = self->mAttribMaps; - while(map) - { - // Convert vertex attributes to integers and calculate deltas (entropy-reduction) - intAttribs = (CTMint *) malloc(sizeof(CTMint) * 4 * self->mVertexCount); - if(!intAttribs) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) sortVertices); - return CTM_FALSE; - } - _ctmMakeAttribDeltas(self, map, intAttribs, sortVertices); - - // Write vertex attributes -#ifdef __DEBUG_ - printf("Vertex attributes (%s): ", map->mName ? map->mName : "no name"); -#endif - _ctmStreamWrite(self, (void *) "ATTR", 4); - _ctmStreamWriteSTRING(self, map->mName); - _ctmStreamWriteFLOAT(self, map->mPrecision); - if(!_ctmStreamWritePackedInts(self, intAttribs, self->mVertexCount, 4, CTM_TRUE)) - { - free((void *) intAttribs); - free((void *) sortVertices); - return CTM_FALSE; - } - - // Free temporary vertex attribute data - free((void *) intAttribs); - - map = map->mNext; - } - - // Free temporary data - free((void *) sortVertices); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmUncompressMesh_MG2() - Uncmpress the mesh from the input stream in the -// CTM context, and store the resulting mesh in the CTM context. -//----------------------------------------------------------------------------- -int _ctmUncompressMesh_MG2(_CTMcontext * self) -{ - CTMuint * gridIndices, i; - CTMint * intVertices, * intNormals, * intUVCoords, * intAttribs; - _CTMfloatmap * map; - _CTMgrid grid; - - // Read MG2-specific header information from the stream - if(_ctmStreamReadUINT(self) != FOURCC("MG2H")) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - self->mVertexPrecision = _ctmStreamReadFLOAT(self); - if(self->mVertexPrecision <= 0.0f) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - self->mNormalPrecision = _ctmStreamReadFLOAT(self); - if(self->mNormalPrecision <= 0.0f) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - grid.mMin[0] = _ctmStreamReadFLOAT(self); - grid.mMin[1] = _ctmStreamReadFLOAT(self); - grid.mMin[2] = _ctmStreamReadFLOAT(self); - grid.mMax[0] = _ctmStreamReadFLOAT(self); - grid.mMax[1] = _ctmStreamReadFLOAT(self); - grid.mMax[2] = _ctmStreamReadFLOAT(self); - if((grid.mMax[0] < grid.mMin[0]) || - (grid.mMax[1] < grid.mMin[1]) || - (grid.mMax[2] < grid.mMin[2])) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - grid.mDivision[0] = _ctmStreamReadUINT(self); - grid.mDivision[1] = _ctmStreamReadUINT(self); - grid.mDivision[2] = _ctmStreamReadUINT(self); - if((grid.mDivision[0] < 1) || (grid.mDivision[1] < 1) || (grid.mDivision[2] < 1)) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - - // Initialize 3D space subdivision grid - for(i = 0; i < 3; ++ i) - grid.mSize[i] = (grid.mMax[i] - grid.mMin[i]) / grid.mDivision[i]; - - // Read vertices - if(_ctmStreamReadUINT(self) != FOURCC("VERT")) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - intVertices = (CTMint *) malloc(sizeof(CTMint) * self->mVertexCount * 3); - if(!intVertices) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, intVertices, self->mVertexCount, 3, CTM_FALSE)) - { - free((void *) intVertices); - return CTM_FALSE; - } - - // Read grid indices - if(_ctmStreamReadUINT(self) != FOURCC("GIDX")) - { - free((void *) intVertices); - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - gridIndices = (CTMuint *) malloc(sizeof(CTMuint) * self->mVertexCount); - if(!gridIndices) - { - self->mError = CTM_OUT_OF_MEMORY; - free((void *) intVertices); - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, (CTMint *) gridIndices, self->mVertexCount, 1, CTM_FALSE)) - { - free((void *) gridIndices); - free((void *) intVertices); - return CTM_FALSE; - } - - // Restore grid indices (deltas) - for(i = 1; i < self->mVertexCount; ++ i) - gridIndices[i] += gridIndices[i - 1]; - - // Restore vertices - _ctmRestoreVertices(self, intVertices, gridIndices, &grid, self->mVertices); - - // Free temporary resources - free((void *) gridIndices); - free((void *) intVertices); - - // Read triangle indices - if(_ctmStreamReadUINT(self) != FOURCC("INDX")) - { - self->mError = CTM_BAD_FORMAT; - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, (CTMint *) self->mIndices, self->mTriangleCount, 3, CTM_FALSE)) - return CTM_FALSE; - - // Restore indices - _ctmRestoreIndices(self, self->mIndices); - - // Check that all indices are within range - for(i = 0; i < (self->mTriangleCount * 3); ++ i) - { - if(self->mIndices[i] >= self->mVertexCount) - { - self->mError = CTM_INVALID_MESH; - return CTM_FALSE; - } - } - - // Read normals - if(self->mNormals) - { - intNormals = (CTMint *) malloc(sizeof(CTMint) * self->mVertexCount * 3); - if(!intNormals) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - if(_ctmStreamReadUINT(self) != FOURCC("NORM")) - { - self->mError = CTM_BAD_FORMAT; - free((void *) intNormals); - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, intNormals, self->mVertexCount, 3, CTM_FALSE)) - { - free((void *) intNormals); - return CTM_FALSE; - } - - // Restore normals - if(!_ctmRestoreNormals(self, intNormals)) - { - free((void *) intNormals); - return CTM_FALSE; - } - - // Free temporary normals data - free((void *) intNormals); - } - - // Read UV maps - map = self->mUVMaps; - while(map) - { - intUVCoords = (CTMint *) malloc(sizeof(CTMint) * self->mVertexCount * 2); - if(!intUVCoords) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - if(_ctmStreamReadUINT(self) != FOURCC("TEXC")) - { - self->mError = CTM_BAD_FORMAT; - free((void *) intUVCoords); - return CTM_FALSE; - } - _ctmStreamReadSTRING(self, &map->mName); - _ctmStreamReadSTRING(self, &map->mFileName); - map->mPrecision = _ctmStreamReadFLOAT(self); - if(map->mPrecision <= 0.0f) - { - self->mError = CTM_BAD_FORMAT; - free((void *) intUVCoords); - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, intUVCoords, self->mVertexCount, 2, CTM_TRUE)) - { - free((void *) intUVCoords); - return CTM_FALSE; - } - - // Restore UV coordinates - _ctmRestoreUVCoords(self, map, intUVCoords); - - // Free temporary UV coordinate data - free((void *) intUVCoords); - - map = map->mNext; - } - - // Read vertex attribute maps - map = self->mAttribMaps; - while(map) - { - intAttribs = (CTMint *) malloc(sizeof(CTMint) * self->mVertexCount * 4); - if(!intAttribs) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - if(_ctmStreamReadUINT(self) != FOURCC("ATTR")) - { - self->mError = CTM_BAD_FORMAT; - free((void *) intAttribs); - return CTM_FALSE; - } - _ctmStreamReadSTRING(self, &map->mName); - map->mPrecision = _ctmStreamReadFLOAT(self); - if(map->mPrecision <= 0.0f) - { - self->mError = CTM_BAD_FORMAT; - free((void *) intAttribs); - return CTM_FALSE; - } - if(!_ctmStreamReadPackedInts(self, intAttribs, self->mVertexCount, 4, CTM_TRUE)) - { - free((void *) intAttribs); - return CTM_FALSE; - } - - // Restore vertex attributes - _ctmRestoreAttribs(self, map, intAttribs); - - // Free temporary vertex attribute data - free((void *) intAttribs); - - map = map->mNext; - } - - return CTM_TRUE; -} diff --git a/3rdparty/openctm/lib/compressRAW.c b/3rdparty/openctm/lib/compressRAW.c deleted file mode 100644 index 6b2052bf6..000000000 --- a/3rdparty/openctm/lib/compressRAW.c +++ /dev/null @@ -1,181 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: compressRAW.c -// Description: Implementation of the RAW compression method. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "openctm.h" -#include "internal.h" - -#ifdef __DEBUG_ -#include -#endif - - -//----------------------------------------------------------------------------- -// _ctmCompressMesh_RAW() - Compress the mesh that is stored in the CTM -// context using the RAW method, and write it the the output stream in the CTM -// context. -//----------------------------------------------------------------------------- -int _ctmCompressMesh_RAW(_CTMcontext * self) -{ - CTMuint i; - _CTMfloatmap * map; - -#ifdef __DEBUG_ - printf("COMPRESSION METHOD: RAW\n"); -#endif - - // Write triangle indices -#ifdef __DEBUG_ - printf("Inidices: %d bytes\n", (CTMuint)(self->mTriangleCount * 3 * sizeof(CTMuint))); -#endif - _ctmStreamWrite(self, (void *) "INDX", 4); - for(i = 0; i < self->mTriangleCount * 3; ++ i) - _ctmStreamWriteUINT(self, self->mIndices[i]); - - // Write vertices -#ifdef __DEBUG_ - printf("Vertices: %d bytes\n", (CTMuint)(self->mVertexCount * 3 * sizeof(CTMfloat))); -#endif - _ctmStreamWrite(self, (void *) "VERT", 4); - for(i = 0; i < self->mVertexCount * 3; ++ i) - _ctmStreamWriteFLOAT(self, self->mVertices[i]); - - // Write normals - if(self->mNormals) - { -#ifdef __DEBUG_ - printf("Normals: %d bytes\n", (CTMuint)(self->mVertexCount * 3 * sizeof(CTMfloat))); -#endif - _ctmStreamWrite(self, (void *) "NORM", 4); - for(i = 0; i < self->mVertexCount * 3; ++ i) - _ctmStreamWriteFLOAT(self, self->mNormals[i]); - } - - // Write UV maps - map = self->mUVMaps; - while(map) - { -#ifdef __DEBUG_ - printf("UV coordinates (%s): %d bytes\n", map->mName ? map->mName : "no name", (CTMuint)(self->mVertexCount * 2 * sizeof(CTMfloat))); -#endif - _ctmStreamWrite(self, (void *) "TEXC", 4); - _ctmStreamWriteSTRING(self, map->mName); - _ctmStreamWriteSTRING(self, map->mFileName); - for(i = 0; i < self->mVertexCount * 2; ++ i) - _ctmStreamWriteFLOAT(self, map->mValues[i]); - map = map->mNext; - } - - // Write attribute maps - map = self->mAttribMaps; - while(map) - { -#ifdef __DEBUG_ - printf("Vertex attributes (%s): %d bytes\n", map->mName ? map->mName : "no name", (CTMuint)(self->mVertexCount * 4 * sizeof(CTMfloat))); -#endif - _ctmStreamWrite(self, (void *) "ATTR", 4); - _ctmStreamWriteSTRING(self, map->mName); - for(i = 0; i < self->mVertexCount * 4; ++ i) - _ctmStreamWriteFLOAT(self, map->mValues[i]); - map = map->mNext; - } - - return 1; -} - -//----------------------------------------------------------------------------- -// _ctmUncompressMesh_RAW() - Uncmpress the mesh from the input stream in the -// CTM context using the RAW method, and store the resulting mesh in the CTM -// context. -//----------------------------------------------------------------------------- -int _ctmUncompressMesh_RAW(_CTMcontext * self) -{ - CTMuint i; - _CTMfloatmap * map; - - // Read triangle indices - if(_ctmStreamReadUINT(self) != FOURCC("INDX")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - for(i = 0; i < self->mTriangleCount * 3; ++ i) - self->mIndices[i] = _ctmStreamReadUINT(self); - - // Read vertices - if(_ctmStreamReadUINT(self) != FOURCC("VERT")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - for(i = 0; i < self->mVertexCount * 3; ++ i) - self->mVertices[i] = _ctmStreamReadFLOAT(self); - - // Read normals - if(self->mNormals) - { - if(_ctmStreamReadUINT(self) != FOURCC("NORM")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - for(i = 0; i < self->mVertexCount * 3; ++ i) - self->mNormals[i] = _ctmStreamReadFLOAT(self); - } - - // Read UV maps - map = self->mUVMaps; - while(map) - { - if(_ctmStreamReadUINT(self) != FOURCC("TEXC")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - _ctmStreamReadSTRING(self, &map->mName); - _ctmStreamReadSTRING(self, &map->mFileName); - for(i = 0; i < self->mVertexCount * 2; ++ i) - map->mValues[i] = _ctmStreamReadFLOAT(self); - map = map->mNext; - } - - // Read attribute maps - map = self->mAttribMaps; - while(map) - { - if(_ctmStreamReadUINT(self) != FOURCC("ATTR")) - { - self->mError = CTM_BAD_FORMAT; - return 0; - } - _ctmStreamReadSTRING(self, &map->mName); - for(i = 0; i < self->mVertexCount * 4; ++ i) - map->mValues[i] = _ctmStreamReadFLOAT(self); - map = map->mNext; - } - - return 1; -} diff --git a/3rdparty/openctm/lib/internal.h b/3rdparty/openctm/lib/internal.h deleted file mode 100644 index 67c9033d4..000000000 --- a/3rdparty/openctm/lib/internal.h +++ /dev/null @@ -1,147 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: internal.h -// Description: Internal (private) declarations, types and function prototypes. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __OPENCTM_INTERNAL_H_ -#define __OPENCTM_INTERNAL_H_ - -//----------------------------------------------------------------------------- -// Constants -//----------------------------------------------------------------------------- -// OpenCTM file format version (v5). -#define _CTM_FORMAT_VERSION 0x00000005 - -// Flags for the Mesh flags field of the file header -#define _CTM_HAS_NORMALS_BIT 0x00000001 - -//----------------------------------------------------------------------------- -// _CTMfloatmap - Internal representation of a floating point based vertex map -// (used for UV maps and attribute maps). -//----------------------------------------------------------------------------- -typedef struct _CTMfloatmap_struct _CTMfloatmap; -struct _CTMfloatmap_struct { - char * mName; // Unique name - char * mFileName; // File name reference (used only for UV maps) - CTMfloat mPrecision; // Precision for this map - CTMfloat * mValues; // Attribute/UV coordinate values (per vertex) - _CTMfloatmap * mNext; // Pointer to the next map in the list (linked list) -}; - -//----------------------------------------------------------------------------- -// _CTMcontext - Internal CTM context structure. -//----------------------------------------------------------------------------- -typedef struct { - // Context mode (import or export) - CTMenum mMode; - - // Vertices - CTMfloat * mVertices; - CTMuint mVertexCount; - - // Indices - CTMuint * mIndices; - CTMuint mTriangleCount; - - // Normals (optional) - CTMfloat * mNormals; - - // Multiple sets of UV coordinate maps (optional) - CTMuint mUVMapCount; - _CTMfloatmap * mUVMaps; - - // Multiple sets of custom vertex attribute maps (optional) - CTMuint mAttribMapCount; - _CTMfloatmap * mAttribMaps; - - // Last error code - CTMenum mError; - - // The selected compression method - CTMenum mMethod; - - // The selected compression level - CTMuint mCompressionLevel; - - // Vertex coordinate precision - CTMfloat mVertexPrecision; - - // Normal precision (angular + magnitude) - CTMfloat mNormalPrecision; - - // File comment - char * mFileComment; - - // Read() function pointer - CTMreadfn mReadFn; - - // Write() function pointer - CTMwritefn mWriteFn; - - // User data (for stream read/write - usually the stream handle) - void * mUserData; -} _CTMcontext; - -//----------------------------------------------------------------------------- -// Macros -//----------------------------------------------------------------------------- -#define FOURCC(str) (((CTMuint) str[0]) | (((CTMuint) str[1]) << 8) | \ - (((CTMuint) str[2]) << 16) | (((CTMuint) str[3]) << 24)) - -//----------------------------------------------------------------------------- -// Funcion prototypes for stream.c -//----------------------------------------------------------------------------- -CTMuint _ctmStreamRead(_CTMcontext * self, void * aBuf, CTMuint aCount); -CTMuint _ctmStreamWrite(_CTMcontext * self, void * aBuf, CTMuint aCount); -CTMuint _ctmStreamReadUINT(_CTMcontext * self); -void _ctmStreamWriteUINT(_CTMcontext * self, CTMuint aValue); -CTMfloat _ctmStreamReadFLOAT(_CTMcontext * self); -void _ctmStreamWriteFLOAT(_CTMcontext * self, CTMfloat aValue); -void _ctmStreamReadSTRING(_CTMcontext * self, char ** aValue); -void _ctmStreamWriteSTRING(_CTMcontext * self, const char * aValue); -int _ctmStreamReadPackedInts(_CTMcontext * self, CTMint * aData, CTMuint aCount, CTMuint aSize, CTMint aSignedInts); -int _ctmStreamWritePackedInts(_CTMcontext * self, CTMint * aData, CTMuint aCount, CTMuint aSize, CTMint aSignedInts); -int _ctmStreamReadPackedFloats(_CTMcontext * self, CTMfloat * aData, CTMuint aCount, CTMuint aSize); -int _ctmStreamWritePackedFloats(_CTMcontext * self, CTMfloat * aData, CTMuint aCount, CTMuint aSize); - -//----------------------------------------------------------------------------- -// Funcion prototypes for compressRAW.c -//----------------------------------------------------------------------------- -int _ctmCompressMesh_RAW(_CTMcontext * self); -int _ctmUncompressMesh_RAW(_CTMcontext * self); - -//----------------------------------------------------------------------------- -// Funcion prototypes for compressMG1.c -//----------------------------------------------------------------------------- -int _ctmCompressMesh_MG1(_CTMcontext * self); -int _ctmUncompressMesh_MG1(_CTMcontext * self); - -//----------------------------------------------------------------------------- -// Funcion prototypes for compressMG2.c -//----------------------------------------------------------------------------- -int _ctmCompressMesh_MG2(_CTMcontext * self); -int _ctmUncompressMesh_MG2(_CTMcontext * self); - -#endif // __OPENCTM_INTERNAL_H_ diff --git a/3rdparty/openctm/lib/liblzma/Alloc.c b/3rdparty/openctm/lib/liblzma/Alloc.c deleted file mode 100644 index bb24a772b..000000000 --- a/3rdparty/openctm/lib/liblzma/Alloc.c +++ /dev/null @@ -1,127 +0,0 @@ -/* Alloc.c -- Memory allocation functions -2008-09-24 -Igor Pavlov -Public domain */ - -#ifdef _WIN32 -#include -#endif -#include - -#include "Alloc.h" - -/* #define _SZ_ALLOC_DEBUG */ - -/* use _SZ_ALLOC_DEBUG to debug alloc/free operations */ -#ifdef _SZ_ALLOC_DEBUG -#include -int g_allocCount = 0; -int g_allocCountMid = 0; -int g_allocCountBig = 0; -#endif - -void *MyAlloc(size_t size) -{ - if (size == 0) - return 0; - #ifdef _SZ_ALLOC_DEBUG - { - void *p = malloc(size); - fprintf(stderr, "\nAlloc %10d bytes, count = %10d, addr = %8X", size, g_allocCount++, (unsigned)p); - return p; - } - #else - return malloc(size); - #endif -} - -void MyFree(void *address) -{ - #ifdef _SZ_ALLOC_DEBUG - if (address != 0) - fprintf(stderr, "\nFree; count = %10d, addr = %8X", --g_allocCount, (unsigned)address); - #endif - free(address); -} - -#ifdef _WIN32 - -void *MidAlloc(size_t size) -{ - if (size == 0) - return 0; - #ifdef _SZ_ALLOC_DEBUG - fprintf(stderr, "\nAlloc_Mid %10d bytes; count = %10d", size, g_allocCountMid++); - #endif - return VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE); -} - -void MidFree(void *address) -{ - #ifdef _SZ_ALLOC_DEBUG - if (address != 0) - fprintf(stderr, "\nFree_Mid; count = %10d", --g_allocCountMid); - #endif - if (address == 0) - return; - VirtualFree(address, 0, MEM_RELEASE); -} - -#ifndef MEM_LARGE_PAGES -#undef _7ZIP_LARGE_PAGES -#endif - -#ifdef _7ZIP_LARGE_PAGES -SIZE_T g_LargePageSize = 0; -typedef SIZE_T (WINAPI *GetLargePageMinimumP)(); -#endif - -void SetLargePageSize() -{ - #ifdef _7ZIP_LARGE_PAGES - SIZE_T size = 0; - GetLargePageMinimumP largePageMinimum = (GetLargePageMinimumP) - GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetLargePageMinimum"); - if (largePageMinimum == 0) - return; - size = largePageMinimum(); - if (size == 0 || (size & (size - 1)) != 0) - return; - g_LargePageSize = size; - #endif -} - - -void *BigAlloc(size_t size) -{ - if (size == 0) - return 0; - #ifdef _SZ_ALLOC_DEBUG - fprintf(stderr, "\nAlloc_Big %10d bytes; count = %10d", size, g_allocCountBig++); - #endif - - #ifdef _7ZIP_LARGE_PAGES - if (g_LargePageSize != 0 && g_LargePageSize <= (1 << 30) && size >= (1 << 18)) - { - void *res = VirtualAlloc(0, (size + g_LargePageSize - 1) & (~(g_LargePageSize - 1)), - MEM_COMMIT | MEM_LARGE_PAGES, PAGE_READWRITE); - if (res != 0) - return res; - } - #endif - return VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE); -} - -void BigFree(void *address) -{ - #ifdef _SZ_ALLOC_DEBUG - if (address != 0) - fprintf(stderr, "\nFree_Big; count = %10d", --g_allocCountBig); - #endif - - if (address == 0) - return; - VirtualFree(address, 0, MEM_RELEASE); -} - -#endif diff --git a/3rdparty/openctm/lib/liblzma/Alloc.h b/3rdparty/openctm/lib/liblzma/Alloc.h deleted file mode 100644 index 2f56fecaf..000000000 --- a/3rdparty/openctm/lib/liblzma/Alloc.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Alloc.h -- Memory allocation functions -2008-03-13 -Igor Pavlov -Public domain */ - -#ifndef __COMMON_ALLOC_H -#define __COMMON_ALLOC_H - -#include - -#include "NameMangle.h" - -void *MyAlloc(size_t size); -void MyFree(void *address); - -#ifdef _WIN32 - -void SetLargePageSize(); - -void *MidAlloc(size_t size); -void MidFree(void *address); -void *BigAlloc(size_t size); -void BigFree(void *address); - -#else - -#define MidAlloc(size) MyAlloc(size) -#define MidFree(address) MyFree(address) -#define BigAlloc(size) MyAlloc(size) -#define BigFree(address) MyFree(address) - -#endif - -#endif diff --git a/3rdparty/openctm/lib/liblzma/LzFind.c b/3rdparty/openctm/lib/liblzma/LzFind.c deleted file mode 100644 index e0ebe6235..000000000 --- a/3rdparty/openctm/lib/liblzma/LzFind.c +++ /dev/null @@ -1,751 +0,0 @@ -/* LzFind.c -- Match finder for LZ algorithms -2008-10-04 : Igor Pavlov : Public domain */ - -#include - -#include "LzFind.h" -#include "LzHash.h" - -#define kEmptyHashValue 0 -#define kMaxValForNormalize ((UInt32)0xFFFFFFFF) -#define kNormalizeStepMin (1 << 10) /* it must be power of 2 */ -#define kNormalizeMask (~(kNormalizeStepMin - 1)) -#define kMaxHistorySize ((UInt32)3 << 30) - -#define kStartMaxLen 3 - -static void LzInWindow_Free(CMatchFinder *p, ISzAlloc *alloc) -{ - if (!p->directInput) - { - alloc->Free(alloc, p->bufferBase); - p->bufferBase = 0; - } -} - -/* keepSizeBefore + keepSizeAfter + keepSizeReserv must be < 4G) */ - -static int LzInWindow_Create(CMatchFinder *p, UInt32 keepSizeReserv, ISzAlloc *alloc) -{ - UInt32 blockSize = p->keepSizeBefore + p->keepSizeAfter + keepSizeReserv; - if (p->directInput) - { - p->blockSize = blockSize; - return 1; - } - if (p->bufferBase == 0 || p->blockSize != blockSize) - { - LzInWindow_Free(p, alloc); - p->blockSize = blockSize; - p->bufferBase = (Byte *)alloc->Alloc(alloc, (size_t)blockSize); - } - return (p->bufferBase != 0); -} - -Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p) { return p->buffer; } -Byte MatchFinder_GetIndexByte(CMatchFinder *p, Int32 index) { return p->buffer[index]; } - -UInt32 MatchFinder_GetNumAvailableBytes(CMatchFinder *p) { return p->streamPos - p->pos; } - -void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue) -{ - p->posLimit -= subValue; - p->pos -= subValue; - p->streamPos -= subValue; -} - -static void MatchFinder_ReadBlock(CMatchFinder *p) -{ - if (p->streamEndWasReached || p->result != SZ_OK) - return; - for (;;) - { - Byte *dest = p->buffer + (p->streamPos - p->pos); - size_t size = (p->bufferBase + p->blockSize - dest); - if (size == 0) - return; - p->result = p->stream->Read(p->stream, dest, &size); - if (p->result != SZ_OK) - return; - if (size == 0) - { - p->streamEndWasReached = 1; - return; - } - p->streamPos += (UInt32)size; - if (p->streamPos - p->pos > p->keepSizeAfter) - return; - } -} - -void MatchFinder_MoveBlock(CMatchFinder *p) -{ - memmove(p->bufferBase, - p->buffer - p->keepSizeBefore, - (size_t)(p->streamPos - p->pos + p->keepSizeBefore)); - p->buffer = p->bufferBase + p->keepSizeBefore; -} - -int MatchFinder_NeedMove(CMatchFinder *p) -{ - /* if (p->streamEndWasReached) return 0; */ - return ((size_t)(p->bufferBase + p->blockSize - p->buffer) <= p->keepSizeAfter); -} - -void MatchFinder_ReadIfRequired(CMatchFinder *p) -{ - if (p->streamEndWasReached) - return; - if (p->keepSizeAfter >= p->streamPos - p->pos) - MatchFinder_ReadBlock(p); -} - -static void MatchFinder_CheckAndMoveAndRead(CMatchFinder *p) -{ - if (MatchFinder_NeedMove(p)) - MatchFinder_MoveBlock(p); - MatchFinder_ReadBlock(p); -} - -static void MatchFinder_SetDefaultSettings(CMatchFinder *p) -{ - p->cutValue = 32; - p->btMode = 1; - p->numHashBytes = 4; - /* p->skipModeBits = 0; */ - p->directInput = 0; - p->bigHash = 0; -} - -#define kCrcPoly 0xEDB88320 - -void MatchFinder_Construct(CMatchFinder *p) -{ - UInt32 i; - p->bufferBase = 0; - p->directInput = 0; - p->hash = 0; - MatchFinder_SetDefaultSettings(p); - - for (i = 0; i < 256; i++) - { - UInt32 r = i; - int j; - for (j = 0; j < 8; j++) - r = (r >> 1) ^ (kCrcPoly & ~((r & 1) - 1)); - p->crc[i] = r; - } -} - -static void MatchFinder_FreeThisClassMemory(CMatchFinder *p, ISzAlloc *alloc) -{ - alloc->Free(alloc, p->hash); - p->hash = 0; -} - -void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc) -{ - MatchFinder_FreeThisClassMemory(p, alloc); - LzInWindow_Free(p, alloc); -} - -static CLzRef* AllocRefs(UInt32 num, ISzAlloc *alloc) -{ - size_t sizeInBytes = (size_t)num * sizeof(CLzRef); - if (sizeInBytes / sizeof(CLzRef) != num) - return 0; - return (CLzRef *)alloc->Alloc(alloc, sizeInBytes); -} - -int MatchFinder_Create(CMatchFinder *p, UInt32 historySize, - UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter, - ISzAlloc *alloc) -{ - UInt32 sizeReserv; - if (historySize > kMaxHistorySize) - { - MatchFinder_Free(p, alloc); - return 0; - } - sizeReserv = historySize >> 1; - if (historySize > ((UInt32)2 << 30)) - sizeReserv = historySize >> 2; - sizeReserv += (keepAddBufferBefore + matchMaxLen + keepAddBufferAfter) / 2 + (1 << 19); - - p->keepSizeBefore = historySize + keepAddBufferBefore + 1; - p->keepSizeAfter = matchMaxLen + keepAddBufferAfter; - /* we need one additional byte, since we use MoveBlock after pos++ and before dictionary using */ - if (LzInWindow_Create(p, sizeReserv, alloc)) - { - UInt32 newCyclicBufferSize = (historySize /* >> p->skipModeBits */) + 1; - UInt32 hs; - p->matchMaxLen = matchMaxLen; - { - p->fixedHashSize = 0; - if (p->numHashBytes == 2) - hs = (1 << 16) - 1; - else - { - hs = historySize - 1; - hs |= (hs >> 1); - hs |= (hs >> 2); - hs |= (hs >> 4); - hs |= (hs >> 8); - hs >>= 1; - /* hs >>= p->skipModeBits; */ - hs |= 0xFFFF; /* don't change it! It's required for Deflate */ - if (hs > (1 << 24)) - { - if (p->numHashBytes == 3) - hs = (1 << 24) - 1; - else - hs >>= 1; - } - } - p->hashMask = hs; - hs++; - if (p->numHashBytes > 2) p->fixedHashSize += kHash2Size; - if (p->numHashBytes > 3) p->fixedHashSize += kHash3Size; - if (p->numHashBytes > 4) p->fixedHashSize += kHash4Size; - hs += p->fixedHashSize; - } - - { - UInt32 prevSize = p->hashSizeSum + p->numSons; - UInt32 newSize; - p->historySize = historySize; - p->hashSizeSum = hs; - p->cyclicBufferSize = newCyclicBufferSize; - p->numSons = (p->btMode ? newCyclicBufferSize * 2 : newCyclicBufferSize); - newSize = p->hashSizeSum + p->numSons; - if (p->hash != 0 && prevSize == newSize) - return 1; - MatchFinder_FreeThisClassMemory(p, alloc); - p->hash = AllocRefs(newSize, alloc); - if (p->hash != 0) - { - p->son = p->hash + p->hashSizeSum; - return 1; - } - } - } - MatchFinder_Free(p, alloc); - return 0; -} - -static void MatchFinder_SetLimits(CMatchFinder *p) -{ - UInt32 limit = kMaxValForNormalize - p->pos; - UInt32 limit2 = p->cyclicBufferSize - p->cyclicBufferPos; - if (limit2 < limit) - limit = limit2; - limit2 = p->streamPos - p->pos; - if (limit2 <= p->keepSizeAfter) - { - if (limit2 > 0) - limit2 = 1; - } - else - limit2 -= p->keepSizeAfter; - if (limit2 < limit) - limit = limit2; - { - UInt32 lenLimit = p->streamPos - p->pos; - if (lenLimit > p->matchMaxLen) - lenLimit = p->matchMaxLen; - p->lenLimit = lenLimit; - } - p->posLimit = p->pos + limit; -} - -void MatchFinder_Init(CMatchFinder *p) -{ - UInt32 i; - for (i = 0; i < p->hashSizeSum; i++) - p->hash[i] = kEmptyHashValue; - p->cyclicBufferPos = 0; - p->buffer = p->bufferBase; - p->pos = p->streamPos = p->cyclicBufferSize; - p->result = SZ_OK; - p->streamEndWasReached = 0; - MatchFinder_ReadBlock(p); - MatchFinder_SetLimits(p); -} - -static UInt32 MatchFinder_GetSubValue(CMatchFinder *p) -{ - return (p->pos - p->historySize - 1) & kNormalizeMask; -} - -void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems) -{ - UInt32 i; - for (i = 0; i < numItems; i++) - { - UInt32 value = items[i]; - if (value <= subValue) - value = kEmptyHashValue; - else - value -= subValue; - items[i] = value; - } -} - -static void MatchFinder_Normalize(CMatchFinder *p) -{ - UInt32 subValue = MatchFinder_GetSubValue(p); - MatchFinder_Normalize3(subValue, p->hash, p->hashSizeSum + p->numSons); - MatchFinder_ReduceOffsets(p, subValue); -} - -static void MatchFinder_CheckLimits(CMatchFinder *p) -{ - if (p->pos == kMaxValForNormalize) - MatchFinder_Normalize(p); - if (!p->streamEndWasReached && p->keepSizeAfter == p->streamPos - p->pos) - MatchFinder_CheckAndMoveAndRead(p); - if (p->cyclicBufferPos == p->cyclicBufferSize) - p->cyclicBufferPos = 0; - MatchFinder_SetLimits(p); -} - -static UInt32 * Hc_GetMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, - UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, - UInt32 *distances, UInt32 maxLen) -{ - son[_cyclicBufferPos] = curMatch; - for (;;) - { - UInt32 delta = pos - curMatch; - if (cutValue-- == 0 || delta >= _cyclicBufferSize) - return distances; - { - const Byte *pb = cur - delta; - curMatch = son[_cyclicBufferPos - delta + ((delta > _cyclicBufferPos) ? _cyclicBufferSize : 0)]; - if (pb[maxLen] == cur[maxLen] && *pb == *cur) - { - UInt32 len = 0; - while (++len != lenLimit) - if (pb[len] != cur[len]) - break; - if (maxLen < len) - { - *distances++ = maxLen = len; - *distances++ = delta - 1; - if (len == lenLimit) - return distances; - } - } - } - } -} - -UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, - UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, - UInt32 *distances, UInt32 maxLen) -{ - CLzRef *ptr0 = son + (_cyclicBufferPos << 1) + 1; - CLzRef *ptr1 = son + (_cyclicBufferPos << 1); - UInt32 len0 = 0, len1 = 0; - for (;;) - { - UInt32 delta = pos - curMatch; - if (cutValue-- == 0 || delta >= _cyclicBufferSize) - { - *ptr0 = *ptr1 = kEmptyHashValue; - return distances; - } - { - CLzRef *pair = son + ((_cyclicBufferPos - delta + ((delta > _cyclicBufferPos) ? _cyclicBufferSize : 0)) << 1); - const Byte *pb = cur - delta; - UInt32 len = (len0 < len1 ? len0 : len1); - if (pb[len] == cur[len]) - { - if (++len != lenLimit && pb[len] == cur[len]) - while (++len != lenLimit) - if (pb[len] != cur[len]) - break; - if (maxLen < len) - { - *distances++ = maxLen = len; - *distances++ = delta - 1; - if (len == lenLimit) - { - *ptr1 = pair[0]; - *ptr0 = pair[1]; - return distances; - } - } - } - if (pb[len] < cur[len]) - { - *ptr1 = curMatch; - ptr1 = pair + 1; - curMatch = *ptr1; - len1 = len; - } - else - { - *ptr0 = curMatch; - ptr0 = pair; - curMatch = *ptr0; - len0 = len; - } - } - } -} - -static void SkipMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, - UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue) -{ - CLzRef *ptr0 = son + (_cyclicBufferPos << 1) + 1; - CLzRef *ptr1 = son + (_cyclicBufferPos << 1); - UInt32 len0 = 0, len1 = 0; - for (;;) - { - UInt32 delta = pos - curMatch; - if (cutValue-- == 0 || delta >= _cyclicBufferSize) - { - *ptr0 = *ptr1 = kEmptyHashValue; - return; - } - { - CLzRef *pair = son + ((_cyclicBufferPos - delta + ((delta > _cyclicBufferPos) ? _cyclicBufferSize : 0)) << 1); - const Byte *pb = cur - delta; - UInt32 len = (len0 < len1 ? len0 : len1); - if (pb[len] == cur[len]) - { - while (++len != lenLimit) - if (pb[len] != cur[len]) - break; - { - if (len == lenLimit) - { - *ptr1 = pair[0]; - *ptr0 = pair[1]; - return; - } - } - } - if (pb[len] < cur[len]) - { - *ptr1 = curMatch; - ptr1 = pair + 1; - curMatch = *ptr1; - len1 = len; - } - else - { - *ptr0 = curMatch; - ptr0 = pair; - curMatch = *ptr0; - len0 = len; - } - } - } -} - -#define MOVE_POS \ - ++p->cyclicBufferPos; \ - p->buffer++; \ - if (++p->pos == p->posLimit) MatchFinder_CheckLimits(p); - -#define MOVE_POS_RET MOVE_POS return offset; - -static void MatchFinder_MovePos(CMatchFinder *p) { MOVE_POS; } - -#define GET_MATCHES_HEADER2(minLen, ret_op) \ - UInt32 lenLimit; UInt32 hashValue; const Byte *cur; UInt32 curMatch; \ - lenLimit = p->lenLimit; { if (lenLimit < minLen) { MatchFinder_MovePos(p); ret_op; }} \ - cur = p->buffer; - -#define GET_MATCHES_HEADER(minLen) GET_MATCHES_HEADER2(minLen, return 0) -#define SKIP_HEADER(minLen) GET_MATCHES_HEADER2(minLen, continue) - -#define MF_PARAMS(p) p->pos, p->buffer, p->son, p->cyclicBufferPos, p->cyclicBufferSize, p->cutValue - -#define GET_MATCHES_FOOTER(offset, maxLen) \ - offset = (UInt32)(GetMatchesSpec1(lenLimit, curMatch, MF_PARAMS(p), \ - distances + offset, maxLen) - distances); MOVE_POS_RET; - -#define SKIP_FOOTER \ - SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); MOVE_POS; - -static UInt32 Bt2_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 offset; - GET_MATCHES_HEADER(2) - HASH2_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - offset = 0; - GET_MATCHES_FOOTER(offset, 1) -} - -UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 offset; - GET_MATCHES_HEADER(3) - HASH_ZIP_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - offset = 0; - GET_MATCHES_FOOTER(offset, 2) -} - -static UInt32 Bt3_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 hash2Value, delta2, maxLen, offset; - GET_MATCHES_HEADER(3) - - HASH3_CALC; - - delta2 = p->pos - p->hash[hash2Value]; - curMatch = p->hash[kFix3HashSize + hashValue]; - - p->hash[hash2Value] = - p->hash[kFix3HashSize + hashValue] = p->pos; - - - maxLen = 2; - offset = 0; - if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) - { - for (; maxLen != lenLimit; maxLen++) - if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) - break; - distances[0] = maxLen; - distances[1] = delta2 - 1; - offset = 2; - if (maxLen == lenLimit) - { - SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); - MOVE_POS_RET; - } - } - GET_MATCHES_FOOTER(offset, maxLen) -} - -static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 hash2Value, hash3Value, delta2, delta3, maxLen, offset; - GET_MATCHES_HEADER(4) - - HASH4_CALC; - - delta2 = p->pos - p->hash[ hash2Value]; - delta3 = p->pos - p->hash[kFix3HashSize + hash3Value]; - curMatch = p->hash[kFix4HashSize + hashValue]; - - p->hash[ hash2Value] = - p->hash[kFix3HashSize + hash3Value] = - p->hash[kFix4HashSize + hashValue] = p->pos; - - maxLen = 1; - offset = 0; - if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) - { - distances[0] = maxLen = 2; - distances[1] = delta2 - 1; - offset = 2; - } - if (delta2 != delta3 && delta3 < p->cyclicBufferSize && *(cur - delta3) == *cur) - { - maxLen = 3; - distances[offset + 1] = delta3 - 1; - offset += 2; - delta2 = delta3; - } - if (offset != 0) - { - for (; maxLen != lenLimit; maxLen++) - if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) - break; - distances[offset - 2] = maxLen; - if (maxLen == lenLimit) - { - SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); - MOVE_POS_RET; - } - } - if (maxLen < 3) - maxLen = 3; - GET_MATCHES_FOOTER(offset, maxLen) -} - -static UInt32 Hc4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 hash2Value, hash3Value, delta2, delta3, maxLen, offset; - GET_MATCHES_HEADER(4) - - HASH4_CALC; - - delta2 = p->pos - p->hash[ hash2Value]; - delta3 = p->pos - p->hash[kFix3HashSize + hash3Value]; - curMatch = p->hash[kFix4HashSize + hashValue]; - - p->hash[ hash2Value] = - p->hash[kFix3HashSize + hash3Value] = - p->hash[kFix4HashSize + hashValue] = p->pos; - - maxLen = 1; - offset = 0; - if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) - { - distances[0] = maxLen = 2; - distances[1] = delta2 - 1; - offset = 2; - } - if (delta2 != delta3 && delta3 < p->cyclicBufferSize && *(cur - delta3) == *cur) - { - maxLen = 3; - distances[offset + 1] = delta3 - 1; - offset += 2; - delta2 = delta3; - } - if (offset != 0) - { - for (; maxLen != lenLimit; maxLen++) - if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) - break; - distances[offset - 2] = maxLen; - if (maxLen == lenLimit) - { - p->son[p->cyclicBufferPos] = curMatch; - MOVE_POS_RET; - } - } - if (maxLen < 3) - maxLen = 3; - offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), - distances + offset, maxLen) - (distances)); - MOVE_POS_RET -} - -UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ - UInt32 offset; - GET_MATCHES_HEADER(3) - HASH_ZIP_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), - distances, 2) - (distances)); - MOVE_POS_RET -} - -static void Bt2_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - SKIP_HEADER(2) - HASH2_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - SKIP_FOOTER - } - while (--num != 0); -} - -void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - SKIP_HEADER(3) - HASH_ZIP_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - SKIP_FOOTER - } - while (--num != 0); -} - -static void Bt3_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - UInt32 hash2Value; - SKIP_HEADER(3) - HASH3_CALC; - curMatch = p->hash[kFix3HashSize + hashValue]; - p->hash[hash2Value] = - p->hash[kFix3HashSize + hashValue] = p->pos; - SKIP_FOOTER - } - while (--num != 0); -} - -static void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - UInt32 hash2Value, hash3Value; - SKIP_HEADER(4) - HASH4_CALC; - curMatch = p->hash[kFix4HashSize + hashValue]; - p->hash[ hash2Value] = - p->hash[kFix3HashSize + hash3Value] = p->pos; - p->hash[kFix4HashSize + hashValue] = p->pos; - SKIP_FOOTER - } - while (--num != 0); -} - -static void Hc4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - UInt32 hash2Value, hash3Value; - SKIP_HEADER(4) - HASH4_CALC; - curMatch = p->hash[kFix4HashSize + hashValue]; - p->hash[ hash2Value] = - p->hash[kFix3HashSize + hash3Value] = - p->hash[kFix4HashSize + hashValue] = p->pos; - p->son[p->cyclicBufferPos] = curMatch; - MOVE_POS - } - while (--num != 0); -} - -void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) -{ - do - { - SKIP_HEADER(3) - HASH_ZIP_CALC; - curMatch = p->hash[hashValue]; - p->hash[hashValue] = p->pos; - p->son[p->cyclicBufferPos] = curMatch; - MOVE_POS - } - while (--num != 0); -} - -void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable) -{ - vTable->Init = (Mf_Init_Func)MatchFinder_Init; - vTable->GetIndexByte = (Mf_GetIndexByte_Func)MatchFinder_GetIndexByte; - vTable->GetNumAvailableBytes = (Mf_GetNumAvailableBytes_Func)MatchFinder_GetNumAvailableBytes; - vTable->GetPointerToCurrentPos = (Mf_GetPointerToCurrentPos_Func)MatchFinder_GetPointerToCurrentPos; - if (!p->btMode) - { - vTable->GetMatches = (Mf_GetMatches_Func)Hc4_MatchFinder_GetMatches; - vTable->Skip = (Mf_Skip_Func)Hc4_MatchFinder_Skip; - } - else if (p->numHashBytes == 2) - { - vTable->GetMatches = (Mf_GetMatches_Func)Bt2_MatchFinder_GetMatches; - vTable->Skip = (Mf_Skip_Func)Bt2_MatchFinder_Skip; - } - else if (p->numHashBytes == 3) - { - vTable->GetMatches = (Mf_GetMatches_Func)Bt3_MatchFinder_GetMatches; - vTable->Skip = (Mf_Skip_Func)Bt3_MatchFinder_Skip; - } - else - { - vTable->GetMatches = (Mf_GetMatches_Func)Bt4_MatchFinder_GetMatches; - vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip; - } -} diff --git a/3rdparty/openctm/lib/liblzma/LzFind.h b/3rdparty/openctm/lib/liblzma/LzFind.h deleted file mode 100644 index 423d67e0c..000000000 --- a/3rdparty/openctm/lib/liblzma/LzFind.h +++ /dev/null @@ -1,107 +0,0 @@ -/* LzFind.h -- Match finder for LZ algorithms -2008-10-04 : Igor Pavlov : Public domain */ - -#ifndef __LZFIND_H -#define __LZFIND_H - -#include "Types.h" - -typedef UInt32 CLzRef; - -typedef struct _CMatchFinder -{ - Byte *buffer; - UInt32 pos; - UInt32 posLimit; - UInt32 streamPos; - UInt32 lenLimit; - - UInt32 cyclicBufferPos; - UInt32 cyclicBufferSize; /* it must be = (historySize + 1) */ - - UInt32 matchMaxLen; - CLzRef *hash; - CLzRef *son; - UInt32 hashMask; - UInt32 cutValue; - - Byte *bufferBase; - ISeqInStream *stream; - int streamEndWasReached; - - UInt32 blockSize; - UInt32 keepSizeBefore; - UInt32 keepSizeAfter; - - UInt32 numHashBytes; - int directInput; - int btMode; - /* int skipModeBits; */ - int bigHash; - UInt32 historySize; - UInt32 fixedHashSize; - UInt32 hashSizeSum; - UInt32 numSons; - SRes result; - UInt32 crc[256]; -} CMatchFinder; - -#define Inline_MatchFinder_GetPointerToCurrentPos(p) ((p)->buffer) -#define Inline_MatchFinder_GetIndexByte(p, index) ((p)->buffer[(Int32)(index)]) - -#define Inline_MatchFinder_GetNumAvailableBytes(p) ((p)->streamPos - (p)->pos) - -int MatchFinder_NeedMove(CMatchFinder *p); -Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p); -void MatchFinder_MoveBlock(CMatchFinder *p); -void MatchFinder_ReadIfRequired(CMatchFinder *p); - -void MatchFinder_Construct(CMatchFinder *p); - -/* Conditions: - historySize <= 3 GB - keepAddBufferBefore + matchMaxLen + keepAddBufferAfter < 511MB -*/ -int MatchFinder_Create(CMatchFinder *p, UInt32 historySize, - UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter, - ISzAlloc *alloc); -void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc); -void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems); -void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue); - -UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *buffer, CLzRef *son, - UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue, - UInt32 *distances, UInt32 maxLen); - -/* -Conditions: - Mf_GetNumAvailableBytes_Func must be called before each Mf_GetMatchLen_Func. - Mf_GetPointerToCurrentPos_Func's result must be used only before any other function -*/ - -typedef void (*Mf_Init_Func)(void *object); -typedef Byte (*Mf_GetIndexByte_Func)(void *object, Int32 index); -typedef UInt32 (*Mf_GetNumAvailableBytes_Func)(void *object); -typedef const Byte * (*Mf_GetPointerToCurrentPos_Func)(void *object); -typedef UInt32 (*Mf_GetMatches_Func)(void *object, UInt32 *distances); -typedef void (*Mf_Skip_Func)(void *object, UInt32); - -typedef struct _IMatchFinder -{ - Mf_Init_Func Init; - Mf_GetIndexByte_Func GetIndexByte; - Mf_GetNumAvailableBytes_Func GetNumAvailableBytes; - Mf_GetPointerToCurrentPos_Func GetPointerToCurrentPos; - Mf_GetMatches_Func GetMatches; - Mf_Skip_Func Skip; -} IMatchFinder; - -void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable); - -void MatchFinder_Init(CMatchFinder *p); -UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances); -UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances); -void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num); -void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num); - -#endif diff --git a/3rdparty/openctm/lib/liblzma/LzHash.h b/3rdparty/openctm/lib/liblzma/LzHash.h deleted file mode 100644 index c92341750..000000000 --- a/3rdparty/openctm/lib/liblzma/LzHash.h +++ /dev/null @@ -1,54 +0,0 @@ -/* LzHash.h -- HASH functions for LZ algorithms -2008-10-04 : Igor Pavlov : Public domain */ - -#ifndef __LZHASH_H -#define __LZHASH_H - -#define kHash2Size (1 << 10) -#define kHash3Size (1 << 16) -#define kHash4Size (1 << 20) - -#define kFix3HashSize (kHash2Size) -#define kFix4HashSize (kHash2Size + kHash3Size) -#define kFix5HashSize (kHash2Size + kHash3Size + kHash4Size) - -#define HASH2_CALC hashValue = cur[0] | ((UInt32)cur[1] << 8); - -#define HASH3_CALC { \ - UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ - hash2Value = temp & (kHash2Size - 1); \ - hashValue = (temp ^ ((UInt32)cur[2] << 8)) & p->hashMask; } - -#define HASH4_CALC { \ - UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ - hash2Value = temp & (kHash2Size - 1); \ - hash3Value = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); \ - hashValue = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)) & p->hashMask; } - -#define HASH5_CALC { \ - UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ - hash2Value = temp & (kHash2Size - 1); \ - hash3Value = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); \ - hash4Value = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)); \ - hashValue = (hash4Value ^ (p->crc[cur[4]] << 3)) & p->hashMask; \ - hash4Value &= (kHash4Size - 1); } - -/* #define HASH_ZIP_CALC hashValue = ((cur[0] | ((UInt32)cur[1] << 8)) ^ p->crc[cur[2]]) & 0xFFFF; */ -#define HASH_ZIP_CALC hashValue = ((cur[2] | ((UInt32)cur[0] << 8)) ^ p->crc[cur[1]]) & 0xFFFF; - - -#define MT_HASH2_CALC \ - hash2Value = (p->crc[cur[0]] ^ cur[1]) & (kHash2Size - 1); - -#define MT_HASH3_CALC { \ - UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ - hash2Value = temp & (kHash2Size - 1); \ - hash3Value = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); } - -#define MT_HASH4_CALC { \ - UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ - hash2Value = temp & (kHash2Size - 1); \ - hash3Value = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); \ - hash4Value = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); } - -#endif diff --git a/3rdparty/openctm/lib/liblzma/LzmaDec.c b/3rdparty/openctm/lib/liblzma/LzmaDec.c deleted file mode 100644 index eb5250174..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaDec.c +++ /dev/null @@ -1,1007 +0,0 @@ -/* LzmaDec.c -- LZMA Decoder -2008-11-06 : Igor Pavlov : Public domain */ - -#include "LzmaDec.h" - -#include - -#define kNumTopBits 24 -#define kTopValue ((UInt32)1 << kNumTopBits) - -#define kNumBitModelTotalBits 11 -#define kBitModelTotal (1 << kNumBitModelTotalBits) -#define kNumMoveBits 5 - -#define RC_INIT_SIZE 5 - -#define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); } - -#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) -#define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits)); -#define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits)); -#define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \ - { UPDATE_0(p); i = (i + i); A0; } else \ - { UPDATE_1(p); i = (i + i) + 1; A1; } -#define GET_BIT(p, i) GET_BIT2(p, i, ; , ;) - -#define TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); } -#define TREE_DECODE(probs, limit, i) \ - { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; } - -/* #define _LZMA_SIZE_OPT */ - -#ifdef _LZMA_SIZE_OPT -#define TREE_6_DECODE(probs, i) TREE_DECODE(probs, (1 << 6), i) -#else -#define TREE_6_DECODE(probs, i) \ - { i = 1; \ - TREE_GET_BIT(probs, i); \ - TREE_GET_BIT(probs, i); \ - TREE_GET_BIT(probs, i); \ - TREE_GET_BIT(probs, i); \ - TREE_GET_BIT(probs, i); \ - TREE_GET_BIT(probs, i); \ - i -= 0x40; } -#endif - -#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); } - -#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) -#define UPDATE_0_CHECK range = bound; -#define UPDATE_1_CHECK range -= bound; code -= bound; -#define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \ - { UPDATE_0_CHECK; i = (i + i); A0; } else \ - { UPDATE_1_CHECK; i = (i + i) + 1; A1; } -#define GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;) -#define TREE_DECODE_CHECK(probs, limit, i) \ - { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; } - - -#define kNumPosBitsMax 4 -#define kNumPosStatesMax (1 << kNumPosBitsMax) - -#define kLenNumLowBits 3 -#define kLenNumLowSymbols (1 << kLenNumLowBits) -#define kLenNumMidBits 3 -#define kLenNumMidSymbols (1 << kLenNumMidBits) -#define kLenNumHighBits 8 -#define kLenNumHighSymbols (1 << kLenNumHighBits) - -#define LenChoice 0 -#define LenChoice2 (LenChoice + 1) -#define LenLow (LenChoice2 + 1) -#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) -#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) -#define kNumLenProbs (LenHigh + kLenNumHighSymbols) - - -#define kNumStates 12 -#define kNumLitStates 7 - -#define kStartPosModelIndex 4 -#define kEndPosModelIndex 14 -#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) - -#define kNumPosSlotBits 6 -#define kNumLenToPosStates 4 - -#define kNumAlignBits 4 -#define kAlignTableSize (1 << kNumAlignBits) - -#define kMatchMinLen 2 -#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols) - -#define IsMatch 0 -#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) -#define IsRepG0 (IsRep + kNumStates) -#define IsRepG1 (IsRepG0 + kNumStates) -#define IsRepG2 (IsRepG1 + kNumStates) -#define IsRep0Long (IsRepG2 + kNumStates) -#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) -#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) -#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) -#define LenCoder (Align + kAlignTableSize) -#define RepLenCoder (LenCoder + kNumLenProbs) -#define Literal (RepLenCoder + kNumLenProbs) - -#define LZMA_BASE_SIZE 1846 -#define LZMA_LIT_SIZE 768 - -#define LzmaProps_GetNumProbs(p) ((UInt32)LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((p)->lc + (p)->lp))) - -#if Literal != LZMA_BASE_SIZE -StopCompilingDueBUG -#endif - -static const Byte kLiteralNextStates[kNumStates * 2] = -{ - 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5, - 7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10 -}; - -#define LZMA_DIC_MIN (1 << 12) - -/* First LZMA-symbol is always decoded. -And it decodes new LZMA-symbols while (buf < bufLimit), but "buf" is without last normalization -Out: - Result: - SZ_OK - OK - SZ_ERROR_DATA - Error - p->remainLen: - < kMatchSpecLenStart : normal remain - = kMatchSpecLenStart : finished - = kMatchSpecLenStart + 1 : Flush marker - = kMatchSpecLenStart + 2 : State Init Marker -*/ - -static int MY_FAST_CALL LzmaDec_DecodeReal(CLzmaDec *p, SizeT limit, const Byte *bufLimit) -{ - CLzmaProb *probs = p->probs; - - unsigned state = p->state; - UInt32 rep0 = p->reps[0], rep1 = p->reps[1], rep2 = p->reps[2], rep3 = p->reps[3]; - unsigned pbMask = ((unsigned)1 << (p->prop.pb)) - 1; - unsigned lpMask = ((unsigned)1 << (p->prop.lp)) - 1; - unsigned lc = p->prop.lc; - - Byte *dic = p->dic; - SizeT dicBufSize = p->dicBufSize; - SizeT dicPos = p->dicPos; - - UInt32 processedPos = p->processedPos; - UInt32 checkDicSize = p->checkDicSize; - unsigned len = 0; - - const Byte *buf = p->buf; - UInt32 range = p->range; - UInt32 code = p->code; - - do - { - CLzmaProb *prob; - UInt32 bound; - unsigned ttt; - unsigned posState = processedPos & pbMask; - - prob = probs + IsMatch + (state << kNumPosBitsMax) + posState; - IF_BIT_0(prob) - { - unsigned symbol; - UPDATE_0(prob); - prob = probs + Literal; - if (checkDicSize != 0 || processedPos != 0) - prob += (LZMA_LIT_SIZE * (((processedPos & lpMask) << lc) + - (dic[(dicPos == 0 ? dicBufSize : dicPos) - 1] >> (8 - lc)))); - - if (state < kNumLitStates) - { - symbol = 1; - do { GET_BIT(prob + symbol, symbol) } while (symbol < 0x100); - } - else - { - unsigned matchByte = p->dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)]; - unsigned offs = 0x100; - symbol = 1; - do - { - unsigned bit; - CLzmaProb *probLit; - matchByte <<= 1; - bit = (matchByte & offs); - probLit = prob + offs + bit + symbol; - GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit) - } - while (symbol < 0x100); - } - dic[dicPos++] = (Byte)symbol; - processedPos++; - - state = kLiteralNextStates[state]; - /* if (state < 4) state = 0; else if (state < 10) state -= 3; else state -= 6; */ - continue; - } - else - { - UPDATE_1(prob); - prob = probs + IsRep + state; - IF_BIT_0(prob) - { - UPDATE_0(prob); - state += kNumStates; - prob = probs + LenCoder; - } - else - { - UPDATE_1(prob); - if (checkDicSize == 0 && processedPos == 0) - return SZ_ERROR_DATA; - prob = probs + IsRepG0 + state; - IF_BIT_0(prob) - { - UPDATE_0(prob); - prob = probs + IsRep0Long + (state << kNumPosBitsMax) + posState; - IF_BIT_0(prob) - { - UPDATE_0(prob); - dic[dicPos] = dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)]; - dicPos++; - processedPos++; - state = state < kNumLitStates ? 9 : 11; - continue; - } - UPDATE_1(prob); - } - else - { - UInt32 distance; - UPDATE_1(prob); - prob = probs + IsRepG1 + state; - IF_BIT_0(prob) - { - UPDATE_0(prob); - distance = rep1; - } - else - { - UPDATE_1(prob); - prob = probs + IsRepG2 + state; - IF_BIT_0(prob) - { - UPDATE_0(prob); - distance = rep2; - } - else - { - UPDATE_1(prob); - distance = rep3; - rep3 = rep2; - } - rep2 = rep1; - } - rep1 = rep0; - rep0 = distance; - } - state = state < kNumLitStates ? 8 : 11; - prob = probs + RepLenCoder; - } - { - unsigned limit, offset; - CLzmaProb *probLen = prob + LenChoice; - IF_BIT_0(probLen) - { - UPDATE_0(probLen); - probLen = prob + LenLow + (posState << kLenNumLowBits); - offset = 0; - limit = (1 << kLenNumLowBits); - } - else - { - UPDATE_1(probLen); - probLen = prob + LenChoice2; - IF_BIT_0(probLen) - { - UPDATE_0(probLen); - probLen = prob + LenMid + (posState << kLenNumMidBits); - offset = kLenNumLowSymbols; - limit = (1 << kLenNumMidBits); - } - else - { - UPDATE_1(probLen); - probLen = prob + LenHigh; - offset = kLenNumLowSymbols + kLenNumMidSymbols; - limit = (1 << kLenNumHighBits); - } - } - TREE_DECODE(probLen, limit, len); - len += offset; - } - - if (state >= kNumStates) - { - UInt32 distance; - prob = probs + PosSlot + - ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << kNumPosSlotBits); - TREE_6_DECODE(prob, distance); - if (distance >= kStartPosModelIndex) - { - unsigned posSlot = (unsigned)distance; - int numDirectBits = (int)(((distance >> 1) - 1)); - distance = (2 | (distance & 1)); - if (posSlot < kEndPosModelIndex) - { - distance <<= numDirectBits; - prob = probs + SpecPos + distance - posSlot - 1; - { - UInt32 mask = 1; - unsigned i = 1; - do - { - GET_BIT2(prob + i, i, ; , distance |= mask); - mask <<= 1; - } - while (--numDirectBits != 0); - } - } - else - { - numDirectBits -= kNumAlignBits; - do - { - NORMALIZE - range >>= 1; - - { - UInt32 t; - code -= range; - t = (0 - ((UInt32)code >> 31)); /* (UInt32)((Int32)code >> 31) */ - distance = (distance << 1) + (t + 1); - code += range & t; - } - /* - distance <<= 1; - if (code >= range) - { - code -= range; - distance |= 1; - } - */ - } - while (--numDirectBits != 0); - prob = probs + Align; - distance <<= kNumAlignBits; - { - unsigned i = 1; - GET_BIT2(prob + i, i, ; , distance |= 1); - GET_BIT2(prob + i, i, ; , distance |= 2); - GET_BIT2(prob + i, i, ; , distance |= 4); - GET_BIT2(prob + i, i, ; , distance |= 8); - } - if (distance == (UInt32)0xFFFFFFFF) - { - len += kMatchSpecLenStart; - state -= kNumStates; - break; - } - } - } - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - rep0 = distance + 1; - if (checkDicSize == 0) - { - if (distance >= processedPos) - return SZ_ERROR_DATA; - } - else if (distance >= checkDicSize) - return SZ_ERROR_DATA; - state = (state < kNumStates + kNumLitStates) ? kNumLitStates : kNumLitStates + 3; - /* state = kLiteralNextStates[state]; */ - } - - len += kMatchMinLen; - - if (limit == dicPos) - return SZ_ERROR_DATA; - { - SizeT rem = limit - dicPos; - unsigned curLen = ((rem < len) ? (unsigned)rem : len); - SizeT pos = (dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0); - - processedPos += curLen; - - len -= curLen; - if (pos + curLen <= dicBufSize) - { - Byte *dest = dic + dicPos; - ptrdiff_t src = (ptrdiff_t)pos - (ptrdiff_t)dicPos; - const Byte *lim = dest + curLen; - dicPos += curLen; - do - *(dest) = (Byte)*(dest + src); - while (++dest != lim); - } - else - { - do - { - dic[dicPos++] = dic[pos]; - if (++pos == dicBufSize) - pos = 0; - } - while (--curLen != 0); - } - } - } - } - while (dicPos < limit && buf < bufLimit); - NORMALIZE; - p->buf = buf; - p->range = range; - p->code = code; - p->remainLen = len; - p->dicPos = dicPos; - p->processedPos = processedPos; - p->reps[0] = rep0; - p->reps[1] = rep1; - p->reps[2] = rep2; - p->reps[3] = rep3; - p->state = state; - - return SZ_OK; -} - -static void MY_FAST_CALL LzmaDec_WriteRem(CLzmaDec *p, SizeT limit) -{ - if (p->remainLen != 0 && p->remainLen < kMatchSpecLenStart) - { - Byte *dic = p->dic; - SizeT dicPos = p->dicPos; - SizeT dicBufSize = p->dicBufSize; - unsigned len = p->remainLen; - UInt32 rep0 = p->reps[0]; - if (limit - dicPos < len) - len = (unsigned)(limit - dicPos); - - if (p->checkDicSize == 0 && p->prop.dicSize - p->processedPos <= len) - p->checkDicSize = p->prop.dicSize; - - p->processedPos += len; - p->remainLen -= len; - while (len-- != 0) - { - dic[dicPos] = dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)]; - dicPos++; - } - p->dicPos = dicPos; - } -} - -static int MY_FAST_CALL LzmaDec_DecodeReal2(CLzmaDec *p, SizeT limit, const Byte *bufLimit) -{ - do - { - SizeT limit2 = limit; - if (p->checkDicSize == 0) - { - UInt32 rem = p->prop.dicSize - p->processedPos; - if (limit - p->dicPos > rem) - limit2 = p->dicPos + rem; - } - RINOK(LzmaDec_DecodeReal(p, limit2, bufLimit)); - if (p->processedPos >= p->prop.dicSize) - p->checkDicSize = p->prop.dicSize; - LzmaDec_WriteRem(p, limit); - } - while (p->dicPos < limit && p->buf < bufLimit && p->remainLen < kMatchSpecLenStart); - - if (p->remainLen > kMatchSpecLenStart) - { - p->remainLen = kMatchSpecLenStart; - } - return 0; -} - -typedef enum -{ - DUMMY_ERROR, /* unexpected end of input stream */ - DUMMY_LIT, - DUMMY_MATCH, - DUMMY_REP -} ELzmaDummy; - -static ELzmaDummy LzmaDec_TryDummy(const CLzmaDec *p, const Byte *buf, SizeT inSize) -{ - UInt32 range = p->range; - UInt32 code = p->code; - const Byte *bufLimit = buf + inSize; - CLzmaProb *probs = p->probs; - unsigned state = p->state; - ELzmaDummy res; - - { - CLzmaProb *prob; - UInt32 bound; - unsigned ttt; - unsigned posState = (p->processedPos) & ((1 << p->prop.pb) - 1); - - prob = probs + IsMatch + (state << kNumPosBitsMax) + posState; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK - - /* if (bufLimit - buf >= 7) return DUMMY_LIT; */ - - prob = probs + Literal; - if (p->checkDicSize != 0 || p->processedPos != 0) - prob += (LZMA_LIT_SIZE * - ((((p->processedPos) & ((1 << (p->prop.lp)) - 1)) << p->prop.lc) + - (p->dic[(p->dicPos == 0 ? p->dicBufSize : p->dicPos) - 1] >> (8 - p->prop.lc)))); - - if (state < kNumLitStates) - { - unsigned symbol = 1; - do { GET_BIT_CHECK(prob + symbol, symbol) } while (symbol < 0x100); - } - else - { - unsigned matchByte = p->dic[p->dicPos - p->reps[0] + - ((p->dicPos < p->reps[0]) ? p->dicBufSize : 0)]; - unsigned offs = 0x100; - unsigned symbol = 1; - do - { - unsigned bit; - CLzmaProb *probLit; - matchByte <<= 1; - bit = (matchByte & offs); - probLit = prob + offs + bit + symbol; - GET_BIT2_CHECK(probLit, symbol, offs &= ~bit, offs &= bit) - } - while (symbol < 0x100); - } - res = DUMMY_LIT; - } - else - { - unsigned len; - UPDATE_1_CHECK; - - prob = probs + IsRep + state; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK; - state = 0; - prob = probs + LenCoder; - res = DUMMY_MATCH; - } - else - { - UPDATE_1_CHECK; - res = DUMMY_REP; - prob = probs + IsRepG0 + state; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK; - prob = probs + IsRep0Long + (state << kNumPosBitsMax) + posState; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK; - NORMALIZE_CHECK; - return DUMMY_REP; - } - else - { - UPDATE_1_CHECK; - } - } - else - { - UPDATE_1_CHECK; - prob = probs + IsRepG1 + state; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK; - } - else - { - UPDATE_1_CHECK; - prob = probs + IsRepG2 + state; - IF_BIT_0_CHECK(prob) - { - UPDATE_0_CHECK; - } - else - { - UPDATE_1_CHECK; - } - } - } - state = kNumStates; - prob = probs + RepLenCoder; - } - { - unsigned limit, offset; - CLzmaProb *probLen = prob + LenChoice; - IF_BIT_0_CHECK(probLen) - { - UPDATE_0_CHECK; - probLen = prob + LenLow + (posState << kLenNumLowBits); - offset = 0; - limit = 1 << kLenNumLowBits; - } - else - { - UPDATE_1_CHECK; - probLen = prob + LenChoice2; - IF_BIT_0_CHECK(probLen) - { - UPDATE_0_CHECK; - probLen = prob + LenMid + (posState << kLenNumMidBits); - offset = kLenNumLowSymbols; - limit = 1 << kLenNumMidBits; - } - else - { - UPDATE_1_CHECK; - probLen = prob + LenHigh; - offset = kLenNumLowSymbols + kLenNumMidSymbols; - limit = 1 << kLenNumHighBits; - } - } - TREE_DECODE_CHECK(probLen, limit, len); - len += offset; - } - - if (state < 4) - { - unsigned posSlot; - prob = probs + PosSlot + - ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << - kNumPosSlotBits); - TREE_DECODE_CHECK(prob, 1 << kNumPosSlotBits, posSlot); - if (posSlot >= kStartPosModelIndex) - { - int numDirectBits = ((posSlot >> 1) - 1); - - /* if (bufLimit - buf >= 8) return DUMMY_MATCH; */ - - if (posSlot < kEndPosModelIndex) - { - prob = probs + SpecPos + ((2 | (posSlot & 1)) << numDirectBits) - posSlot - 1; - } - else - { - numDirectBits -= kNumAlignBits; - do - { - NORMALIZE_CHECK - range >>= 1; - code -= range & (((code - range) >> 31) - 1); - /* if (code >= range) code -= range; */ - } - while (--numDirectBits != 0); - prob = probs + Align; - numDirectBits = kNumAlignBits; - } - { - unsigned i = 1; - do - { - GET_BIT_CHECK(prob + i, i); - } - while (--numDirectBits != 0); - } - } - } - } - } - NORMALIZE_CHECK; - return res; -} - - -static void LzmaDec_InitRc(CLzmaDec *p, const Byte *data) -{ - p->code = ((UInt32)data[1] << 24) | ((UInt32)data[2] << 16) | ((UInt32)data[3] << 8) | ((UInt32)data[4]); - p->range = 0xFFFFFFFF; - p->needFlush = 0; -} - -void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState) -{ - p->needFlush = 1; - p->remainLen = 0; - p->tempBufSize = 0; - - if (initDic) - { - p->processedPos = 0; - p->checkDicSize = 0; - p->needInitState = 1; - } - if (initState) - p->needInitState = 1; -} - -void LzmaDec_Init(CLzmaDec *p) -{ - p->dicPos = 0; - LzmaDec_InitDicAndState(p, True, True); -} - -static void LzmaDec_InitStateReal(CLzmaDec *p) -{ - UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (p->prop.lc + p->prop.lp)); - UInt32 i; - CLzmaProb *probs = p->probs; - for (i = 0; i < numProbs; i++) - probs[i] = kBitModelTotal >> 1; - p->reps[0] = p->reps[1] = p->reps[2] = p->reps[3] = 1; - p->state = 0; - p->needInitState = 0; -} - -SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen, - ELzmaFinishMode finishMode, ELzmaStatus *status) -{ - SizeT inSize = *srcLen; - (*srcLen) = 0; - LzmaDec_WriteRem(p, dicLimit); - - *status = LZMA_STATUS_NOT_SPECIFIED; - - while (p->remainLen != kMatchSpecLenStart) - { - int checkEndMarkNow; - - if (p->needFlush != 0) - { - for (; inSize > 0 && p->tempBufSize < RC_INIT_SIZE; (*srcLen)++, inSize--) - p->tempBuf[p->tempBufSize++] = *src++; - if (p->tempBufSize < RC_INIT_SIZE) - { - *status = LZMA_STATUS_NEEDS_MORE_INPUT; - return SZ_OK; - } - if (p->tempBuf[0] != 0) - return SZ_ERROR_DATA; - - LzmaDec_InitRc(p, p->tempBuf); - p->tempBufSize = 0; - } - - checkEndMarkNow = 0; - if (p->dicPos >= dicLimit) - { - if (p->remainLen == 0 && p->code == 0) - { - *status = LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK; - return SZ_OK; - } - if (finishMode == LZMA_FINISH_ANY) - { - *status = LZMA_STATUS_NOT_FINISHED; - return SZ_OK; - } - if (p->remainLen != 0) - { - *status = LZMA_STATUS_NOT_FINISHED; - return SZ_ERROR_DATA; - } - checkEndMarkNow = 1; - } - - if (p->needInitState) - LzmaDec_InitStateReal(p); - - if (p->tempBufSize == 0) - { - SizeT processed; - const Byte *bufLimit; - if (inSize < LZMA_REQUIRED_INPUT_MAX || checkEndMarkNow) - { - int dummyRes = LzmaDec_TryDummy(p, src, inSize); - if (dummyRes == DUMMY_ERROR) - { - memcpy(p->tempBuf, src, inSize); - p->tempBufSize = (unsigned)inSize; - (*srcLen) += inSize; - *status = LZMA_STATUS_NEEDS_MORE_INPUT; - return SZ_OK; - } - if (checkEndMarkNow && dummyRes != DUMMY_MATCH) - { - *status = LZMA_STATUS_NOT_FINISHED; - return SZ_ERROR_DATA; - } - bufLimit = src; - } - else - bufLimit = src + inSize - LZMA_REQUIRED_INPUT_MAX; - p->buf = src; - if (LzmaDec_DecodeReal2(p, dicLimit, bufLimit) != 0) - return SZ_ERROR_DATA; - processed = (SizeT)(p->buf - src); - (*srcLen) += processed; - src += processed; - inSize -= processed; - } - else - { - unsigned rem = p->tempBufSize, lookAhead = 0; - while (rem < LZMA_REQUIRED_INPUT_MAX && lookAhead < inSize) - p->tempBuf[rem++] = src[lookAhead++]; - p->tempBufSize = rem; - if (rem < LZMA_REQUIRED_INPUT_MAX || checkEndMarkNow) - { - int dummyRes = LzmaDec_TryDummy(p, p->tempBuf, rem); - if (dummyRes == DUMMY_ERROR) - { - (*srcLen) += lookAhead; - *status = LZMA_STATUS_NEEDS_MORE_INPUT; - return SZ_OK; - } - if (checkEndMarkNow && dummyRes != DUMMY_MATCH) - { - *status = LZMA_STATUS_NOT_FINISHED; - return SZ_ERROR_DATA; - } - } - p->buf = p->tempBuf; - if (LzmaDec_DecodeReal2(p, dicLimit, p->buf) != 0) - return SZ_ERROR_DATA; - lookAhead -= (rem - (unsigned)(p->buf - p->tempBuf)); - (*srcLen) += lookAhead; - src += lookAhead; - inSize -= lookAhead; - p->tempBufSize = 0; - } - } - if (p->code == 0) - *status = LZMA_STATUS_FINISHED_WITH_MARK; - return (p->code == 0) ? SZ_OK : SZ_ERROR_DATA; -} - -SRes LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status) -{ - SizeT outSize = *destLen; - SizeT inSize = *srcLen; - *srcLen = *destLen = 0; - for (;;) - { - SizeT inSizeCur = inSize, outSizeCur, dicPos; - ELzmaFinishMode curFinishMode; - SRes res; - if (p->dicPos == p->dicBufSize) - p->dicPos = 0; - dicPos = p->dicPos; - if (outSize > p->dicBufSize - dicPos) - { - outSizeCur = p->dicBufSize; - curFinishMode = LZMA_FINISH_ANY; - } - else - { - outSizeCur = dicPos + outSize; - curFinishMode = finishMode; - } - - res = LzmaDec_DecodeToDic(p, outSizeCur, src, &inSizeCur, curFinishMode, status); - src += inSizeCur; - inSize -= inSizeCur; - *srcLen += inSizeCur; - outSizeCur = p->dicPos - dicPos; - memcpy(dest, p->dic + dicPos, outSizeCur); - dest += outSizeCur; - outSize -= outSizeCur; - *destLen += outSizeCur; - if (res != 0) - return res; - if (outSizeCur == 0 || outSize == 0) - return SZ_OK; - } -} - -void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc) -{ - alloc->Free(alloc, p->probs); - p->probs = 0; -} - -static void LzmaDec_FreeDict(CLzmaDec *p, ISzAlloc *alloc) -{ - alloc->Free(alloc, p->dic); - p->dic = 0; -} - -void LzmaDec_Free(CLzmaDec *p, ISzAlloc *alloc) -{ - LzmaDec_FreeProbs(p, alloc); - LzmaDec_FreeDict(p, alloc); -} - -SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size) -{ - UInt32 dicSize; - Byte d; - - if (size < LZMA_PROPS_SIZE) - return SZ_ERROR_UNSUPPORTED; - else - dicSize = data[1] | ((UInt32)data[2] << 8) | ((UInt32)data[3] << 16) | ((UInt32)data[4] << 24); - - if (dicSize < LZMA_DIC_MIN) - dicSize = LZMA_DIC_MIN; - p->dicSize = dicSize; - - d = data[0]; - if (d >= (9 * 5 * 5)) - return SZ_ERROR_UNSUPPORTED; - - p->lc = d % 9; - d /= 9; - p->pb = d / 5; - p->lp = d % 5; - - return SZ_OK; -} - -static SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc) -{ - UInt32 numProbs = LzmaProps_GetNumProbs(propNew); - if (p->probs == 0 || numProbs != p->numProbs) - { - LzmaDec_FreeProbs(p, alloc); - p->probs = (CLzmaProb *)alloc->Alloc(alloc, numProbs * sizeof(CLzmaProb)); - p->numProbs = numProbs; - if (p->probs == 0) - return SZ_ERROR_MEM; - } - return SZ_OK; -} - -SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) -{ - CLzmaProps propNew; - RINOK(LzmaProps_Decode(&propNew, props, propsSize)); - RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc)); - p->prop = propNew; - return SZ_OK; -} - -SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) -{ - CLzmaProps propNew; - SizeT dicBufSize; - RINOK(LzmaProps_Decode(&propNew, props, propsSize)); - RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc)); - dicBufSize = propNew.dicSize; - if (p->dic == 0 || dicBufSize != p->dicBufSize) - { - LzmaDec_FreeDict(p, alloc); - p->dic = (Byte *)alloc->Alloc(alloc, dicBufSize); - if (p->dic == 0) - { - LzmaDec_FreeProbs(p, alloc); - return SZ_ERROR_MEM; - } - } - p->dicBufSize = dicBufSize; - p->prop = propNew; - return SZ_OK; -} - -SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, - const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode, - ELzmaStatus *status, ISzAlloc *alloc) -{ - CLzmaDec p; - SRes res; - SizeT inSize = *srcLen; - SizeT outSize = *destLen; - *srcLen = *destLen = 0; - if (inSize < RC_INIT_SIZE) - return SZ_ERROR_INPUT_EOF; - - LzmaDec_Construct(&p); - res = LzmaDec_AllocateProbs(&p, propData, propSize, alloc); - if (res != 0) - return res; - p.dic = dest; - p.dicBufSize = outSize; - - LzmaDec_Init(&p); - - *srcLen = inSize; - res = LzmaDec_DecodeToDic(&p, outSize, src, srcLen, finishMode, status); - - if (res == SZ_OK && *status == LZMA_STATUS_NEEDS_MORE_INPUT) - res = SZ_ERROR_INPUT_EOF; - - (*destLen) = p.dicPos; - LzmaDec_FreeProbs(&p, alloc); - return res; -} diff --git a/3rdparty/openctm/lib/liblzma/LzmaDec.h b/3rdparty/openctm/lib/liblzma/LzmaDec.h deleted file mode 100644 index ad7d7057a..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaDec.h +++ /dev/null @@ -1,223 +0,0 @@ -/* LzmaDec.h -- LZMA Decoder -2008-10-04 : Igor Pavlov : Public domain */ - -#ifndef __LZMADEC_H -#define __LZMADEC_H - -#include "Types.h" - -/* #define _LZMA_PROB32 */ -/* _LZMA_PROB32 can increase the speed on some CPUs, - but memory usage for CLzmaDec::probs will be doubled in that case */ - -#ifdef _LZMA_PROB32 -#define CLzmaProb UInt32 -#else -#define CLzmaProb UInt16 -#endif - - -/* ---------- LZMA Properties ---------- */ - -#define LZMA_PROPS_SIZE 5 - -typedef struct _CLzmaProps -{ - unsigned lc, lp, pb; - UInt32 dicSize; -} CLzmaProps; - -/* LzmaProps_Decode - decodes properties -Returns: - SZ_OK - SZ_ERROR_UNSUPPORTED - Unsupported properties -*/ - -SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size); - - -/* ---------- LZMA Decoder state ---------- */ - -/* LZMA_REQUIRED_INPUT_MAX = number of required input bytes for worst case. - Num bits = log2((2^11 / 31) ^ 22) + 26 < 134 + 26 = 160; */ - -#define LZMA_REQUIRED_INPUT_MAX 20 - -typedef struct -{ - CLzmaProps prop; - CLzmaProb *probs; - Byte *dic; - const Byte *buf; - UInt32 range, code; - SizeT dicPos; - SizeT dicBufSize; - UInt32 processedPos; - UInt32 checkDicSize; - unsigned state; - UInt32 reps[4]; - unsigned remainLen; - int needFlush; - int needInitState; - UInt32 numProbs; - unsigned tempBufSize; - Byte tempBuf[LZMA_REQUIRED_INPUT_MAX]; -} CLzmaDec; - -#define LzmaDec_Construct(p) { (p)->dic = 0; (p)->probs = 0; } - -void LzmaDec_Init(CLzmaDec *p); - -/* There are two types of LZMA streams: - 0) Stream with end mark. That end mark adds about 6 bytes to compressed size. - 1) Stream without end mark. You must know exact uncompressed size to decompress such stream. */ - -typedef enum -{ - LZMA_FINISH_ANY, /* finish at any point */ - LZMA_FINISH_END /* block must be finished at the end */ -} ELzmaFinishMode; - -/* ELzmaFinishMode has meaning only if the decoding reaches output limit !!! - - You must use LZMA_FINISH_END, when you know that current output buffer - covers last bytes of block. In other cases you must use LZMA_FINISH_ANY. - - If LZMA decoder sees end marker before reaching output limit, it returns SZ_OK, - and output value of destLen will be less than output buffer size limit. - You can check status result also. - - You can use multiple checks to test data integrity after full decompression: - 1) Check Result and "status" variable. - 2) Check that output(destLen) = uncompressedSize, if you know real uncompressedSize. - 3) Check that output(srcLen) = compressedSize, if you know real compressedSize. - You must use correct finish mode in that case. */ - -typedef enum -{ - LZMA_STATUS_NOT_SPECIFIED, /* use main error code instead */ - LZMA_STATUS_FINISHED_WITH_MARK, /* stream was finished with end mark. */ - LZMA_STATUS_NOT_FINISHED, /* stream was not finished */ - LZMA_STATUS_NEEDS_MORE_INPUT, /* you must provide more input bytes */ - LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK /* there is probability that stream was finished without end mark */ -} ELzmaStatus; - -/* ELzmaStatus is used only as output value for function call */ - - -/* ---------- Interfaces ---------- */ - -/* There are 3 levels of interfaces: - 1) Dictionary Interface - 2) Buffer Interface - 3) One Call Interface - You can select any of these interfaces, but don't mix functions from different - groups for same object. */ - - -/* There are two variants to allocate state for Dictionary Interface: - 1) LzmaDec_Allocate / LzmaDec_Free - 2) LzmaDec_AllocateProbs / LzmaDec_FreeProbs - You can use variant 2, if you set dictionary buffer manually. - For Buffer Interface you must always use variant 1. - -LzmaDec_Allocate* can return: - SZ_OK - SZ_ERROR_MEM - Memory allocation error - SZ_ERROR_UNSUPPORTED - Unsupported properties -*/ - -SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc); -void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc); - -SRes LzmaDec_Allocate(CLzmaDec *state, const Byte *prop, unsigned propsSize, ISzAlloc *alloc); -void LzmaDec_Free(CLzmaDec *state, ISzAlloc *alloc); - -/* ---------- Dictionary Interface ---------- */ - -/* You can use it, if you want to eliminate the overhead for data copying from - dictionary to some other external buffer. - You must work with CLzmaDec variables directly in this interface. - - STEPS: - LzmaDec_Constr() - LzmaDec_Allocate() - for (each new stream) - { - LzmaDec_Init() - while (it needs more decompression) - { - LzmaDec_DecodeToDic() - use data from CLzmaDec::dic and update CLzmaDec::dicPos - } - } - LzmaDec_Free() -*/ - -/* LzmaDec_DecodeToDic - - The decoding to internal dictionary buffer (CLzmaDec::dic). - You must manually update CLzmaDec::dicPos, if it reaches CLzmaDec::dicBufSize !!! - -finishMode: - It has meaning only if the decoding reaches output limit (dicLimit). - LZMA_FINISH_ANY - Decode just dicLimit bytes. - LZMA_FINISH_END - Stream must be finished after dicLimit. - -Returns: - SZ_OK - status: - LZMA_STATUS_FINISHED_WITH_MARK - LZMA_STATUS_NOT_FINISHED - LZMA_STATUS_NEEDS_MORE_INPUT - LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK - SZ_ERROR_DATA - Data error -*/ - -SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, - const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status); - - -/* ---------- Buffer Interface ---------- */ - -/* It's zlib-like interface. - See LzmaDec_DecodeToDic description for information about STEPS and return results, - but you must use LzmaDec_DecodeToBuf instead of LzmaDec_DecodeToDic and you don't need - to work with CLzmaDec variables manually. - -finishMode: - It has meaning only if the decoding reaches output limit (*destLen). - LZMA_FINISH_ANY - Decode just destLen bytes. - LZMA_FINISH_END - Stream must be finished after (*destLen). -*/ - -SRes LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen, - const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status); - - -/* ---------- One Call Interface ---------- */ - -/* LzmaDecode - -finishMode: - It has meaning only if the decoding reaches output limit (*destLen). - LZMA_FINISH_ANY - Decode just destLen bytes. - LZMA_FINISH_END - Stream must be finished after (*destLen). - -Returns: - SZ_OK - status: - LZMA_STATUS_FINISHED_WITH_MARK - LZMA_STATUS_NOT_FINISHED - LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK - SZ_ERROR_DATA - Data error - SZ_ERROR_MEM - Memory allocation error - SZ_ERROR_UNSUPPORTED - Unsupported properties - SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src). -*/ - -SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, - const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode, - ELzmaStatus *status, ISzAlloc *alloc); - -#endif diff --git a/3rdparty/openctm/lib/liblzma/LzmaEnc.c b/3rdparty/openctm/lib/liblzma/LzmaEnc.c deleted file mode 100644 index 2f59851b1..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaEnc.c +++ /dev/null @@ -1,2281 +0,0 @@ -/* LzmaEnc.c -- LZMA Encoder -2009-02-02 : Igor Pavlov : Public domain */ - -#include - -/* #define SHOW_STAT */ -/* #define SHOW_STAT2 */ - -#if defined(SHOW_STAT) || defined(SHOW_STAT2) -#include -#endif - -#include "LzmaEnc.h" - -#include "LzFind.h" -#ifdef COMPRESS_MF_MT -#include "LzFindMt.h" -#endif - -#ifdef SHOW_STAT -static int ttt = 0; -#endif - -#define kBlockSizeMax ((1 << LZMA_NUM_BLOCK_SIZE_BITS) - 1) - -#define kBlockSize (9 << 10) -#define kUnpackBlockSize (1 << 18) -#define kMatchArraySize (1 << 21) -#define kMatchRecordMaxSize ((LZMA_MATCH_LEN_MAX * 2 + 3) * LZMA_MATCH_LEN_MAX) - -#define kNumMaxDirectBits (31) - -#define kNumTopBits 24 -#define kTopValue ((UInt32)1 << kNumTopBits) - -#define kNumBitModelTotalBits 11 -#define kBitModelTotal (1 << kNumBitModelTotalBits) -#define kNumMoveBits 5 -#define kProbInitValue (kBitModelTotal >> 1) - -#define kNumMoveReducingBits 4 -#define kNumBitPriceShiftBits 4 -#define kBitPrice (1 << kNumBitPriceShiftBits) - -void LzmaEncProps_Init(CLzmaEncProps *p) -{ - p->level = 5; - p->dictSize = p->mc = 0; - p->lc = p->lp = p->pb = p->algo = p->fb = p->btMode = p->numHashBytes = p->numThreads = -1; - p->writeEndMark = 0; -} - -void LzmaEncProps_Normalize(CLzmaEncProps *p) -{ - int level = p->level; - if (level < 0) level = 5; - p->level = level; - if (p->dictSize == 0) p->dictSize = (level <= 5 ? (1 << (level * 2 + 14)) : (level == 6 ? (1 << 25) : (1 << 26))); - if (p->lc < 0) p->lc = 3; - if (p->lp < 0) p->lp = 0; - if (p->pb < 0) p->pb = 2; - if (p->algo < 0) p->algo = (level < 5 ? 0 : 1); - if (p->fb < 0) p->fb = (level < 7 ? 32 : 64); - if (p->btMode < 0) p->btMode = (p->algo == 0 ? 0 : 1); - if (p->numHashBytes < 0) p->numHashBytes = 4; - if (p->mc == 0) p->mc = (16 + (p->fb >> 1)) >> (p->btMode ? 0 : 1); - if (p->numThreads < 0) - p->numThreads = - #ifdef COMPRESS_MF_MT - ((p->btMode && p->algo) ? 2 : 1); - #else - 1; - #endif -} - -UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2) -{ - CLzmaEncProps props = *props2; - LzmaEncProps_Normalize(&props); - return props.dictSize; -} - -/* #define LZMA_LOG_BSR */ -/* Define it for Intel's CPU */ - - -#ifdef LZMA_LOG_BSR - -#define kDicLogSizeMaxCompress 30 - -#define BSR2_RET(pos, res) { unsigned long i; _BitScanReverse(&i, (pos)); res = (i + i) + ((pos >> (i - 1)) & 1); } - -static UInt32 GetPosSlot1(UInt32 pos) -{ - UInt32 res; - BSR2_RET(pos, res); - return res; -} -#define GetPosSlot2(pos, res) { BSR2_RET(pos, res); } -#define GetPosSlot(pos, res) { if (pos < 2) res = pos; else BSR2_RET(pos, res); } - -#else - -#define kNumLogBits (9 + (int)sizeof(size_t) / 2) -#define kDicLogSizeMaxCompress ((kNumLogBits - 1) * 2 + 7) - -void LzmaEnc_FastPosInit(Byte *g_FastPos) -{ - int c = 2, slotFast; - g_FastPos[0] = 0; - g_FastPos[1] = 1; - - for (slotFast = 2; slotFast < kNumLogBits * 2; slotFast++) - { - UInt32 k = (1 << ((slotFast >> 1) - 1)); - UInt32 j; - for (j = 0; j < k; j++, c++) - g_FastPos[c] = (Byte)slotFast; - } -} - -#define BSR2_RET(pos, res) { UInt32 i = 6 + ((kNumLogBits - 1) & \ - (0 - (((((UInt32)1 << (kNumLogBits + 6)) - 1) - pos) >> 31))); \ - res = p->g_FastPos[pos >> i] + (i * 2); } -/* -#define BSR2_RET(pos, res) { res = (pos < (1 << (kNumLogBits + 6))) ? \ - p->g_FastPos[pos >> 6] + 12 : \ - p->g_FastPos[pos >> (6 + kNumLogBits - 1)] + (6 + (kNumLogBits - 1)) * 2; } -*/ - -#define GetPosSlot1(pos) p->g_FastPos[pos] -#define GetPosSlot2(pos, res) { BSR2_RET(pos, res); } -#define GetPosSlot(pos, res) { if (pos < kNumFullDistances) res = p->g_FastPos[pos]; else BSR2_RET(pos, res); } - -#endif - - -#define LZMA_NUM_REPS 4 - -typedef unsigned CState; - -typedef struct _COptimal -{ - UInt32 price; - - CState state; - int prev1IsChar; - int prev2; - - UInt32 posPrev2; - UInt32 backPrev2; - - UInt32 posPrev; - UInt32 backPrev; - UInt32 backs[LZMA_NUM_REPS]; -} COptimal; - -#define kNumOpts (1 << 12) - -#define kNumLenToPosStates 4 -#define kNumPosSlotBits 6 -#define kDicLogSizeMin 0 -#define kDicLogSizeMax 32 -#define kDistTableSizeMax (kDicLogSizeMax * 2) - - -#define kNumAlignBits 4 -#define kAlignTableSize (1 << kNumAlignBits) -#define kAlignMask (kAlignTableSize - 1) - -#define kStartPosModelIndex 4 -#define kEndPosModelIndex 14 -#define kNumPosModels (kEndPosModelIndex - kStartPosModelIndex) - -#define kNumFullDistances (1 << (kEndPosModelIndex / 2)) - -#ifdef _LZMA_PROB32 -#define CLzmaProb UInt32 -#else -#define CLzmaProb UInt16 -#endif - -#define LZMA_PB_MAX 4 -#define LZMA_LC_MAX 8 -#define LZMA_LP_MAX 4 - -#define LZMA_NUM_PB_STATES_MAX (1 << LZMA_PB_MAX) - - -#define kLenNumLowBits 3 -#define kLenNumLowSymbols (1 << kLenNumLowBits) -#define kLenNumMidBits 3 -#define kLenNumMidSymbols (1 << kLenNumMidBits) -#define kLenNumHighBits 8 -#define kLenNumHighSymbols (1 << kLenNumHighBits) - -#define kLenNumSymbolsTotal (kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols) - -#define LZMA_MATCH_LEN_MIN 2 -#define LZMA_MATCH_LEN_MAX (LZMA_MATCH_LEN_MIN + kLenNumSymbolsTotal - 1) - -#define kNumStates 12 - -typedef struct -{ - CLzmaProb choice; - CLzmaProb choice2; - CLzmaProb low[LZMA_NUM_PB_STATES_MAX << kLenNumLowBits]; - CLzmaProb mid[LZMA_NUM_PB_STATES_MAX << kLenNumMidBits]; - CLzmaProb high[kLenNumHighSymbols]; -} CLenEnc; - -typedef struct -{ - CLenEnc p; - UInt32 prices[LZMA_NUM_PB_STATES_MAX][kLenNumSymbolsTotal]; - UInt32 tableSize; - UInt32 counters[LZMA_NUM_PB_STATES_MAX]; -} CLenPriceEnc; - -typedef struct _CRangeEnc -{ - UInt32 range; - Byte cache; - UInt64 low; - UInt64 cacheSize; - Byte *buf; - Byte *bufLim; - Byte *bufBase; - ISeqOutStream *outStream; - UInt64 processed; - SRes res; -} CRangeEnc; - -typedef struct _CSeqInStreamBuf -{ - ISeqInStream funcTable; - const Byte *data; - SizeT rem; -} CSeqInStreamBuf; - -static SRes MyRead(void *pp, void *data, size_t *size) -{ - size_t curSize = *size; - CSeqInStreamBuf *p = (CSeqInStreamBuf *)pp; - if (p->rem < curSize) - curSize = p->rem; - memcpy(data, p->data, curSize); - p->rem -= curSize; - p->data += curSize; - *size = curSize; - return SZ_OK; -} - -typedef struct -{ - CLzmaProb *litProbs; - - CLzmaProb isMatch[kNumStates][LZMA_NUM_PB_STATES_MAX]; - CLzmaProb isRep[kNumStates]; - CLzmaProb isRepG0[kNumStates]; - CLzmaProb isRepG1[kNumStates]; - CLzmaProb isRepG2[kNumStates]; - CLzmaProb isRep0Long[kNumStates][LZMA_NUM_PB_STATES_MAX]; - - CLzmaProb posSlotEncoder[kNumLenToPosStates][1 << kNumPosSlotBits]; - CLzmaProb posEncoders[kNumFullDistances - kEndPosModelIndex]; - CLzmaProb posAlignEncoder[1 << kNumAlignBits]; - - CLenPriceEnc lenEnc; - CLenPriceEnc repLenEnc; - - UInt32 reps[LZMA_NUM_REPS]; - UInt32 state; -} CSaveState; - -typedef struct _CLzmaEnc -{ - IMatchFinder matchFinder; - void *matchFinderObj; - - #ifdef COMPRESS_MF_MT - Bool mtMode; - CMatchFinderMt matchFinderMt; - #endif - - CMatchFinder matchFinderBase; - - #ifdef COMPRESS_MF_MT - Byte pad[128]; - #endif - - UInt32 optimumEndIndex; - UInt32 optimumCurrentIndex; - - UInt32 longestMatchLength; - UInt32 numPairs; - UInt32 numAvail; - COptimal opt[kNumOpts]; - - #ifndef LZMA_LOG_BSR - Byte g_FastPos[1 << kNumLogBits]; - #endif - - UInt32 ProbPrices[kBitModelTotal >> kNumMoveReducingBits]; - UInt32 matches[LZMA_MATCH_LEN_MAX * 2 + 2 + 1]; - UInt32 numFastBytes; - UInt32 additionalOffset; - UInt32 reps[LZMA_NUM_REPS]; - UInt32 state; - - UInt32 posSlotPrices[kNumLenToPosStates][kDistTableSizeMax]; - UInt32 distancesPrices[kNumLenToPosStates][kNumFullDistances]; - UInt32 alignPrices[kAlignTableSize]; - UInt32 alignPriceCount; - - UInt32 distTableSize; - - unsigned lc, lp, pb; - unsigned lpMask, pbMask; - - CLzmaProb *litProbs; - - CLzmaProb isMatch[kNumStates][LZMA_NUM_PB_STATES_MAX]; - CLzmaProb isRep[kNumStates]; - CLzmaProb isRepG0[kNumStates]; - CLzmaProb isRepG1[kNumStates]; - CLzmaProb isRepG2[kNumStates]; - CLzmaProb isRep0Long[kNumStates][LZMA_NUM_PB_STATES_MAX]; - - CLzmaProb posSlotEncoder[kNumLenToPosStates][1 << kNumPosSlotBits]; - CLzmaProb posEncoders[kNumFullDistances - kEndPosModelIndex]; - CLzmaProb posAlignEncoder[1 << kNumAlignBits]; - - CLenPriceEnc lenEnc; - CLenPriceEnc repLenEnc; - - unsigned lclp; - - Bool fastMode; - - CRangeEnc rc; - - Bool writeEndMark; - UInt64 nowPos64; - UInt32 matchPriceCount; - Bool finished; - Bool multiThread; - - SRes result; - UInt32 dictSize; - UInt32 matchFinderCycles; - - ISeqInStream *inStream; - CSeqInStreamBuf seqBufInStream; - - CSaveState saveState; -} CLzmaEnc; - -void LzmaEnc_SaveState(CLzmaEncHandle pp) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - CSaveState *dest = &p->saveState; - int i; - dest->lenEnc = p->lenEnc; - dest->repLenEnc = p->repLenEnc; - dest->state = p->state; - - for (i = 0; i < kNumStates; i++) - { - memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i])); - memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i])); - } - for (i = 0; i < kNumLenToPosStates; i++) - memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i])); - memcpy(dest->isRep, p->isRep, sizeof(p->isRep)); - memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0)); - memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1)); - memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2)); - memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders)); - memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder)); - memcpy(dest->reps, p->reps, sizeof(p->reps)); - memcpy(dest->litProbs, p->litProbs, (0x300 << p->lclp) * sizeof(CLzmaProb)); -} - -void LzmaEnc_RestoreState(CLzmaEncHandle pp) -{ - CLzmaEnc *dest = (CLzmaEnc *)pp; - const CSaveState *p = &dest->saveState; - int i; - dest->lenEnc = p->lenEnc; - dest->repLenEnc = p->repLenEnc; - dest->state = p->state; - - for (i = 0; i < kNumStates; i++) - { - memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i])); - memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i])); - } - for (i = 0; i < kNumLenToPosStates; i++) - memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i])); - memcpy(dest->isRep, p->isRep, sizeof(p->isRep)); - memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0)); - memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1)); - memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2)); - memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders)); - memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder)); - memcpy(dest->reps, p->reps, sizeof(p->reps)); - memcpy(dest->litProbs, p->litProbs, (0x300 << dest->lclp) * sizeof(CLzmaProb)); -} - -SRes LzmaEnc_SetProps(CLzmaEncHandle pp, const CLzmaEncProps *props2) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - CLzmaEncProps props = *props2; - LzmaEncProps_Normalize(&props); - - if (props.lc > LZMA_LC_MAX || props.lp > LZMA_LP_MAX || props.pb > LZMA_PB_MAX || - props.dictSize > (1U << kDicLogSizeMaxCompress) || props.dictSize > (1U << 30)) - return SZ_ERROR_PARAM; - p->dictSize = props.dictSize; - p->matchFinderCycles = props.mc; - { - unsigned fb = props.fb; - if (fb < 5) - fb = 5; - if (fb > LZMA_MATCH_LEN_MAX) - fb = LZMA_MATCH_LEN_MAX; - p->numFastBytes = fb; - } - p->lc = props.lc; - p->lp = props.lp; - p->pb = props.pb; - p->fastMode = (props.algo == 0); - p->matchFinderBase.btMode = props.btMode; - { - UInt32 numHashBytes = 4; - if (props.btMode) - { - if (props.numHashBytes < 2) - numHashBytes = 2; - else if (props.numHashBytes < 4) - numHashBytes = props.numHashBytes; - } - p->matchFinderBase.numHashBytes = numHashBytes; - } - - p->matchFinderBase.cutValue = props.mc; - - p->writeEndMark = props.writeEndMark; - - #ifdef COMPRESS_MF_MT - /* - if (newMultiThread != _multiThread) - { - ReleaseMatchFinder(); - _multiThread = newMultiThread; - } - */ - p->multiThread = (props.numThreads > 1); - #endif - - return SZ_OK; -} - -static const int kLiteralNextStates[kNumStates] = {0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5}; -static const int kMatchNextStates[kNumStates] = {7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10}; -static const int kRepNextStates[kNumStates] = {8, 8, 8, 8, 8, 8, 8, 11, 11, 11, 11, 11}; -static const int kShortRepNextStates[kNumStates]= {9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11}; - -#define IsCharState(s) ((s) < 7) - -#define GetLenToPosState(len) (((len) < kNumLenToPosStates + 1) ? (len) - 2 : kNumLenToPosStates - 1) - -#define kInfinityPrice (1 << 30) - -static void RangeEnc_Construct(CRangeEnc *p) -{ - p->outStream = 0; - p->bufBase = 0; -} - -#define RangeEnc_GetProcessed(p) ((p)->processed + ((p)->buf - (p)->bufBase) + (p)->cacheSize) - -#define RC_BUF_SIZE (1 << 16) -static int RangeEnc_Alloc(CRangeEnc *p, ISzAlloc *alloc) -{ - if (p->bufBase == 0) - { - p->bufBase = (Byte *)alloc->Alloc(alloc, RC_BUF_SIZE); - if (p->bufBase == 0) - return 0; - p->bufLim = p->bufBase + RC_BUF_SIZE; - } - return 1; -} - -static void RangeEnc_Free(CRangeEnc *p, ISzAlloc *alloc) -{ - alloc->Free(alloc, p->bufBase); - p->bufBase = 0; -} - -static void RangeEnc_Init(CRangeEnc *p) -{ - /* Stream.Init(); */ - p->low = 0; - p->range = 0xFFFFFFFF; - p->cacheSize = 1; - p->cache = 0; - - p->buf = p->bufBase; - - p->processed = 0; - p->res = SZ_OK; -} - -static void RangeEnc_FlushStream(CRangeEnc *p) -{ - size_t num; - if (p->res != SZ_OK) - return; - num = p->buf - p->bufBase; - if (num != p->outStream->Write(p->outStream, p->bufBase, num)) - p->res = SZ_ERROR_WRITE; - p->processed += num; - p->buf = p->bufBase; -} - -static void MY_FAST_CALL RangeEnc_ShiftLow(CRangeEnc *p) -{ - if ((UInt32)p->low < (UInt32)0xFF000000 || (int)(p->low >> 32) != 0) - { - Byte temp = p->cache; - do - { - Byte *buf = p->buf; - *buf++ = (Byte)(temp + (Byte)(p->low >> 32)); - p->buf = buf; - if (buf == p->bufLim) - RangeEnc_FlushStream(p); - temp = 0xFF; - } - while (--p->cacheSize != 0); - p->cache = (Byte)((UInt32)p->low >> 24); - } - p->cacheSize++; - p->low = (UInt32)p->low << 8; -} - -static void RangeEnc_FlushData(CRangeEnc *p) -{ - int i; - for (i = 0; i < 5; i++) - RangeEnc_ShiftLow(p); -} - -static void RangeEnc_EncodeDirectBits(CRangeEnc *p, UInt32 value, int numBits) -{ - do - { - p->range >>= 1; - p->low += p->range & (0 - ((value >> --numBits) & 1)); - if (p->range < kTopValue) - { - p->range <<= 8; - RangeEnc_ShiftLow(p); - } - } - while (numBits != 0); -} - -static void RangeEnc_EncodeBit(CRangeEnc *p, CLzmaProb *prob, UInt32 symbol) -{ - UInt32 ttt = *prob; - UInt32 newBound = (p->range >> kNumBitModelTotalBits) * ttt; - if (symbol == 0) - { - p->range = newBound; - ttt += (kBitModelTotal - ttt) >> kNumMoveBits; - } - else - { - p->low += newBound; - p->range -= newBound; - ttt -= ttt >> kNumMoveBits; - } - *prob = (CLzmaProb)ttt; - if (p->range < kTopValue) - { - p->range <<= 8; - RangeEnc_ShiftLow(p); - } -} - -static void LitEnc_Encode(CRangeEnc *p, CLzmaProb *probs, UInt32 symbol) -{ - symbol |= 0x100; - do - { - RangeEnc_EncodeBit(p, probs + (symbol >> 8), (symbol >> 7) & 1); - symbol <<= 1; - } - while (symbol < 0x10000); -} - -static void LitEnc_EncodeMatched(CRangeEnc *p, CLzmaProb *probs, UInt32 symbol, UInt32 matchByte) -{ - UInt32 offs = 0x100; - symbol |= 0x100; - do - { - matchByte <<= 1; - RangeEnc_EncodeBit(p, probs + (offs + (matchByte & offs) + (symbol >> 8)), (symbol >> 7) & 1); - symbol <<= 1; - offs &= ~(matchByte ^ symbol); - } - while (symbol < 0x10000); -} - -void LzmaEnc_InitPriceTables(UInt32 *ProbPrices) -{ - UInt32 i; - for (i = (1 << kNumMoveReducingBits) / 2; i < kBitModelTotal; i += (1 << kNumMoveReducingBits)) - { - const int kCyclesBits = kNumBitPriceShiftBits; - UInt32 w = i; - UInt32 bitCount = 0; - int j; - for (j = 0; j < kCyclesBits; j++) - { - w = w * w; - bitCount <<= 1; - while (w >= ((UInt32)1 << 16)) - { - w >>= 1; - bitCount++; - } - } - ProbPrices[i >> kNumMoveReducingBits] = ((kNumBitModelTotalBits << kCyclesBits) - 15 - bitCount); - } -} - - -#define GET_PRICE(prob, symbol) \ - p->ProbPrices[((prob) ^ (((-(int)(symbol))) & (kBitModelTotal - 1))) >> kNumMoveReducingBits]; - -#define GET_PRICEa(prob, symbol) \ - ProbPrices[((prob) ^ ((-((int)(symbol))) & (kBitModelTotal - 1))) >> kNumMoveReducingBits]; - -#define GET_PRICE_0(prob) p->ProbPrices[(prob) >> kNumMoveReducingBits] -#define GET_PRICE_1(prob) p->ProbPrices[((prob) ^ (kBitModelTotal - 1)) >> kNumMoveReducingBits] - -#define GET_PRICE_0a(prob) ProbPrices[(prob) >> kNumMoveReducingBits] -#define GET_PRICE_1a(prob) ProbPrices[((prob) ^ (kBitModelTotal - 1)) >> kNumMoveReducingBits] - -static UInt32 LitEnc_GetPrice(const CLzmaProb *probs, UInt32 symbol, UInt32 *ProbPrices) -{ - UInt32 price = 0; - symbol |= 0x100; - do - { - price += GET_PRICEa(probs[symbol >> 8], (symbol >> 7) & 1); - symbol <<= 1; - } - while (symbol < 0x10000); - return price; -} - -static UInt32 LitEnc_GetPriceMatched(const CLzmaProb *probs, UInt32 symbol, UInt32 matchByte, UInt32 *ProbPrices) -{ - UInt32 price = 0; - UInt32 offs = 0x100; - symbol |= 0x100; - do - { - matchByte <<= 1; - price += GET_PRICEa(probs[offs + (matchByte & offs) + (symbol >> 8)], (symbol >> 7) & 1); - symbol <<= 1; - offs &= ~(matchByte ^ symbol); - } - while (symbol < 0x10000); - return price; -} - - -static void RcTree_Encode(CRangeEnc *rc, CLzmaProb *probs, int numBitLevels, UInt32 symbol) -{ - UInt32 m = 1; - int i; - for (i = numBitLevels; i != 0;) - { - UInt32 bit; - i--; - bit = (symbol >> i) & 1; - RangeEnc_EncodeBit(rc, probs + m, bit); - m = (m << 1) | bit; - } -} - -static void RcTree_ReverseEncode(CRangeEnc *rc, CLzmaProb *probs, int numBitLevels, UInt32 symbol) -{ - UInt32 m = 1; - int i; - for (i = 0; i < numBitLevels; i++) - { - UInt32 bit = symbol & 1; - RangeEnc_EncodeBit(rc, probs + m, bit); - m = (m << 1) | bit; - symbol >>= 1; - } -} - -static UInt32 RcTree_GetPrice(const CLzmaProb *probs, int numBitLevels, UInt32 symbol, UInt32 *ProbPrices) -{ - UInt32 price = 0; - symbol |= (1 << numBitLevels); - while (symbol != 1) - { - price += GET_PRICEa(probs[symbol >> 1], symbol & 1); - symbol >>= 1; - } - return price; -} - -static UInt32 RcTree_ReverseGetPrice(const CLzmaProb *probs, int numBitLevels, UInt32 symbol, UInt32 *ProbPrices) -{ - UInt32 price = 0; - UInt32 m = 1; - int i; - for (i = numBitLevels; i != 0; i--) - { - UInt32 bit = symbol & 1; - symbol >>= 1; - price += GET_PRICEa(probs[m], bit); - m = (m << 1) | bit; - } - return price; -} - - -static void LenEnc_Init(CLenEnc *p) -{ - unsigned i; - p->choice = p->choice2 = kProbInitValue; - for (i = 0; i < (LZMA_NUM_PB_STATES_MAX << kLenNumLowBits); i++) - p->low[i] = kProbInitValue; - for (i = 0; i < (LZMA_NUM_PB_STATES_MAX << kLenNumMidBits); i++) - p->mid[i] = kProbInitValue; - for (i = 0; i < kLenNumHighSymbols; i++) - p->high[i] = kProbInitValue; -} - -static void LenEnc_Encode(CLenEnc *p, CRangeEnc *rc, UInt32 symbol, UInt32 posState) -{ - if (symbol < kLenNumLowSymbols) - { - RangeEnc_EncodeBit(rc, &p->choice, 0); - RcTree_Encode(rc, p->low + (posState << kLenNumLowBits), kLenNumLowBits, symbol); - } - else - { - RangeEnc_EncodeBit(rc, &p->choice, 1); - if (symbol < kLenNumLowSymbols + kLenNumMidSymbols) - { - RangeEnc_EncodeBit(rc, &p->choice2, 0); - RcTree_Encode(rc, p->mid + (posState << kLenNumMidBits), kLenNumMidBits, symbol - kLenNumLowSymbols); - } - else - { - RangeEnc_EncodeBit(rc, &p->choice2, 1); - RcTree_Encode(rc, p->high, kLenNumHighBits, symbol - kLenNumLowSymbols - kLenNumMidSymbols); - } - } -} - -static void LenEnc_SetPrices(CLenEnc *p, UInt32 posState, UInt32 numSymbols, UInt32 *prices, UInt32 *ProbPrices) -{ - UInt32 a0 = GET_PRICE_0a(p->choice); - UInt32 a1 = GET_PRICE_1a(p->choice); - UInt32 b0 = a1 + GET_PRICE_0a(p->choice2); - UInt32 b1 = a1 + GET_PRICE_1a(p->choice2); - UInt32 i = 0; - for (i = 0; i < kLenNumLowSymbols; i++) - { - if (i >= numSymbols) - return; - prices[i] = a0 + RcTree_GetPrice(p->low + (posState << kLenNumLowBits), kLenNumLowBits, i, ProbPrices); - } - for (; i < kLenNumLowSymbols + kLenNumMidSymbols; i++) - { - if (i >= numSymbols) - return; - prices[i] = b0 + RcTree_GetPrice(p->mid + (posState << kLenNumMidBits), kLenNumMidBits, i - kLenNumLowSymbols, ProbPrices); - } - for (; i < numSymbols; i++) - prices[i] = b1 + RcTree_GetPrice(p->high, kLenNumHighBits, i - kLenNumLowSymbols - kLenNumMidSymbols, ProbPrices); -} - -static void MY_FAST_CALL LenPriceEnc_UpdateTable(CLenPriceEnc *p, UInt32 posState, UInt32 *ProbPrices) -{ - LenEnc_SetPrices(&p->p, posState, p->tableSize, p->prices[posState], ProbPrices); - p->counters[posState] = p->tableSize; -} - -static void LenPriceEnc_UpdateTables(CLenPriceEnc *p, UInt32 numPosStates, UInt32 *ProbPrices) -{ - UInt32 posState; - for (posState = 0; posState < numPosStates; posState++) - LenPriceEnc_UpdateTable(p, posState, ProbPrices); -} - -static void LenEnc_Encode2(CLenPriceEnc *p, CRangeEnc *rc, UInt32 symbol, UInt32 posState, Bool updatePrice, UInt32 *ProbPrices) -{ - LenEnc_Encode(&p->p, rc, symbol, posState); - if (updatePrice) - if (--p->counters[posState] == 0) - LenPriceEnc_UpdateTable(p, posState, ProbPrices); -} - - - - -static void MovePos(CLzmaEnc *p, UInt32 num) -{ - #ifdef SHOW_STAT - ttt += num; - printf("\n MovePos %d", num); - #endif - if (num != 0) - { - p->additionalOffset += num; - p->matchFinder.Skip(p->matchFinderObj, num); - } -} - -static UInt32 ReadMatchDistances(CLzmaEnc *p, UInt32 *numDistancePairsRes) -{ - UInt32 lenRes = 0, numPairs; - p->numAvail = p->matchFinder.GetNumAvailableBytes(p->matchFinderObj); - numPairs = p->matchFinder.GetMatches(p->matchFinderObj, p->matches); - #ifdef SHOW_STAT - printf("\n i = %d numPairs = %d ", ttt, numPairs / 2); - ttt++; - { - UInt32 i; - for (i = 0; i < numPairs; i += 2) - printf("%2d %6d | ", p->matches[i], p->matches[i + 1]); - } - #endif - if (numPairs > 0) - { - lenRes = p->matches[numPairs - 2]; - if (lenRes == p->numFastBytes) - { - const Byte *pby = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - 1; - UInt32 distance = p->matches[numPairs - 1] + 1; - UInt32 numAvail = p->numAvail; - if (numAvail > LZMA_MATCH_LEN_MAX) - numAvail = LZMA_MATCH_LEN_MAX; - { - const Byte *pby2 = pby - distance; - for (; lenRes < numAvail && pby[lenRes] == pby2[lenRes]; lenRes++); - } - } - } - p->additionalOffset++; - *numDistancePairsRes = numPairs; - return lenRes; -} - - -#define MakeAsChar(p) (p)->backPrev = (UInt32)(-1); (p)->prev1IsChar = False; -#define MakeAsShortRep(p) (p)->backPrev = 0; (p)->prev1IsChar = False; -#define IsShortRep(p) ((p)->backPrev == 0) - -static UInt32 GetRepLen1Price(CLzmaEnc *p, UInt32 state, UInt32 posState) -{ - return - GET_PRICE_0(p->isRepG0[state]) + - GET_PRICE_0(p->isRep0Long[state][posState]); -} - -static UInt32 GetPureRepPrice(CLzmaEnc *p, UInt32 repIndex, UInt32 state, UInt32 posState) -{ - UInt32 price; - if (repIndex == 0) - { - price = GET_PRICE_0(p->isRepG0[state]); - price += GET_PRICE_1(p->isRep0Long[state][posState]); - } - else - { - price = GET_PRICE_1(p->isRepG0[state]); - if (repIndex == 1) - price += GET_PRICE_0(p->isRepG1[state]); - else - { - price += GET_PRICE_1(p->isRepG1[state]); - price += GET_PRICE(p->isRepG2[state], repIndex - 2); - } - } - return price; -} - -static UInt32 GetRepPrice(CLzmaEnc *p, UInt32 repIndex, UInt32 len, UInt32 state, UInt32 posState) -{ - return p->repLenEnc.prices[posState][len - LZMA_MATCH_LEN_MIN] + - GetPureRepPrice(p, repIndex, state, posState); -} - -static UInt32 Backward(CLzmaEnc *p, UInt32 *backRes, UInt32 cur) -{ - UInt32 posMem = p->opt[cur].posPrev; - UInt32 backMem = p->opt[cur].backPrev; - p->optimumEndIndex = cur; - do - { - if (p->opt[cur].prev1IsChar) - { - MakeAsChar(&p->opt[posMem]) - p->opt[posMem].posPrev = posMem - 1; - if (p->opt[cur].prev2) - { - p->opt[posMem - 1].prev1IsChar = False; - p->opt[posMem - 1].posPrev = p->opt[cur].posPrev2; - p->opt[posMem - 1].backPrev = p->opt[cur].backPrev2; - } - } - { - UInt32 posPrev = posMem; - UInt32 backCur = backMem; - - backMem = p->opt[posPrev].backPrev; - posMem = p->opt[posPrev].posPrev; - - p->opt[posPrev].backPrev = backCur; - p->opt[posPrev].posPrev = cur; - cur = posPrev; - } - } - while (cur != 0); - *backRes = p->opt[0].backPrev; - p->optimumCurrentIndex = p->opt[0].posPrev; - return p->optimumCurrentIndex; -} - -#define LIT_PROBS(pos, prevByte) (p->litProbs + ((((pos) & p->lpMask) << p->lc) + ((prevByte) >> (8 - p->lc))) * 0x300) - -static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes) -{ - UInt32 numAvail, mainLen, numPairs, repMaxIndex, i, posState, lenEnd, len, cur; - UInt32 matchPrice, repMatchPrice, normalMatchPrice; - UInt32 reps[LZMA_NUM_REPS], repLens[LZMA_NUM_REPS]; - UInt32 *matches; - const Byte *data; - Byte curByte, matchByte; - if (p->optimumEndIndex != p->optimumCurrentIndex) - { - const COptimal *opt = &p->opt[p->optimumCurrentIndex]; - UInt32 lenRes = opt->posPrev - p->optimumCurrentIndex; - *backRes = opt->backPrev; - p->optimumCurrentIndex = opt->posPrev; - return lenRes; - } - p->optimumCurrentIndex = p->optimumEndIndex = 0; - - if (p->additionalOffset == 0) - mainLen = ReadMatchDistances(p, &numPairs); - else - { - mainLen = p->longestMatchLength; - numPairs = p->numPairs; - } - - numAvail = p->numAvail; - if (numAvail < 2) - { - *backRes = (UInt32)(-1); - return 1; - } - if (numAvail > LZMA_MATCH_LEN_MAX) - numAvail = LZMA_MATCH_LEN_MAX; - - data = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - 1; - repMaxIndex = 0; - for (i = 0; i < LZMA_NUM_REPS; i++) - { - UInt32 lenTest; - const Byte *data2; - reps[i] = p->reps[i]; - data2 = data - (reps[i] + 1); - if (data[0] != data2[0] || data[1] != data2[1]) - { - repLens[i] = 0; - continue; - } - for (lenTest = 2; lenTest < numAvail && data[lenTest] == data2[lenTest]; lenTest++); - repLens[i] = lenTest; - if (lenTest > repLens[repMaxIndex]) - repMaxIndex = i; - } - if (repLens[repMaxIndex] >= p->numFastBytes) - { - UInt32 lenRes; - *backRes = repMaxIndex; - lenRes = repLens[repMaxIndex]; - MovePos(p, lenRes - 1); - return lenRes; - } - - matches = p->matches; - if (mainLen >= p->numFastBytes) - { - *backRes = matches[numPairs - 1] + LZMA_NUM_REPS; - MovePos(p, mainLen - 1); - return mainLen; - } - curByte = *data; - matchByte = *(data - (reps[0] + 1)); - - if (mainLen < 2 && curByte != matchByte && repLens[repMaxIndex] < 2) - { - *backRes = (UInt32)-1; - return 1; - } - - p->opt[0].state = (CState)p->state; - - posState = (position & p->pbMask); - - { - const CLzmaProb *probs = LIT_PROBS(position, *(data - 1)); - p->opt[1].price = GET_PRICE_0(p->isMatch[p->state][posState]) + - (!IsCharState(p->state) ? - LitEnc_GetPriceMatched(probs, curByte, matchByte, p->ProbPrices) : - LitEnc_GetPrice(probs, curByte, p->ProbPrices)); - } - - MakeAsChar(&p->opt[1]); - - matchPrice = GET_PRICE_1(p->isMatch[p->state][posState]); - repMatchPrice = matchPrice + GET_PRICE_1(p->isRep[p->state]); - - if (matchByte == curByte) - { - UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(p, p->state, posState); - if (shortRepPrice < p->opt[1].price) - { - p->opt[1].price = shortRepPrice; - MakeAsShortRep(&p->opt[1]); - } - } - lenEnd = ((mainLen >= repLens[repMaxIndex]) ? mainLen : repLens[repMaxIndex]); - - if (lenEnd < 2) - { - *backRes = p->opt[1].backPrev; - return 1; - } - - p->opt[1].posPrev = 0; - for (i = 0; i < LZMA_NUM_REPS; i++) - p->opt[0].backs[i] = reps[i]; - - len = lenEnd; - do - p->opt[len--].price = kInfinityPrice; - while (len >= 2); - - for (i = 0; i < LZMA_NUM_REPS; i++) - { - UInt32 repLen = repLens[i]; - UInt32 price; - if (repLen < 2) - continue; - price = repMatchPrice + GetPureRepPrice(p, i, p->state, posState); - do - { - UInt32 curAndLenPrice = price + p->repLenEnc.prices[posState][repLen - 2]; - COptimal *opt = &p->opt[repLen]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = 0; - opt->backPrev = i; - opt->prev1IsChar = False; - } - } - while (--repLen >= 2); - } - - normalMatchPrice = matchPrice + GET_PRICE_0(p->isRep[p->state]); - - len = ((repLens[0] >= 2) ? repLens[0] + 1 : 2); - if (len <= mainLen) - { - UInt32 offs = 0; - while (len > matches[offs]) - offs += 2; - for (; ; len++) - { - COptimal *opt; - UInt32 distance = matches[offs + 1]; - - UInt32 curAndLenPrice = normalMatchPrice + p->lenEnc.prices[posState][len - LZMA_MATCH_LEN_MIN]; - UInt32 lenToPosState = GetLenToPosState(len); - if (distance < kNumFullDistances) - curAndLenPrice += p->distancesPrices[lenToPosState][distance]; - else - { - UInt32 slot; - GetPosSlot2(distance, slot); - curAndLenPrice += p->alignPrices[distance & kAlignMask] + p->posSlotPrices[lenToPosState][slot]; - } - opt = &p->opt[len]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = 0; - opt->backPrev = distance + LZMA_NUM_REPS; - opt->prev1IsChar = False; - } - if (len == matches[offs]) - { - offs += 2; - if (offs == numPairs) - break; - } - } - } - - cur = 0; - - #ifdef SHOW_STAT2 - if (position >= 0) - { - unsigned i; - printf("\n pos = %4X", position); - for (i = cur; i <= lenEnd; i++) - printf("\nprice[%4X] = %d", position - cur + i, p->opt[i].price); - } - #endif - - for (;;) - { - UInt32 numAvailFull, newLen, numPairs, posPrev, state, posState, startLen; - UInt32 curPrice, curAnd1Price, matchPrice, repMatchPrice; - Bool nextIsChar; - Byte curByte, matchByte; - const Byte *data; - COptimal *curOpt; - COptimal *nextOpt; - - cur++; - if (cur == lenEnd) - return Backward(p, backRes, cur); - - newLen = ReadMatchDistances(p, &numPairs); - if (newLen >= p->numFastBytes) - { - p->numPairs = numPairs; - p->longestMatchLength = newLen; - return Backward(p, backRes, cur); - } - position++; - curOpt = &p->opt[cur]; - posPrev = curOpt->posPrev; - if (curOpt->prev1IsChar) - { - posPrev--; - if (curOpt->prev2) - { - state = p->opt[curOpt->posPrev2].state; - if (curOpt->backPrev2 < LZMA_NUM_REPS) - state = kRepNextStates[state]; - else - state = kMatchNextStates[state]; - } - else - state = p->opt[posPrev].state; - state = kLiteralNextStates[state]; - } - else - state = p->opt[posPrev].state; - if (posPrev == cur - 1) - { - if (IsShortRep(curOpt)) - state = kShortRepNextStates[state]; - else - state = kLiteralNextStates[state]; - } - else - { - UInt32 pos; - const COptimal *prevOpt; - if (curOpt->prev1IsChar && curOpt->prev2) - { - posPrev = curOpt->posPrev2; - pos = curOpt->backPrev2; - state = kRepNextStates[state]; - } - else - { - pos = curOpt->backPrev; - if (pos < LZMA_NUM_REPS) - state = kRepNextStates[state]; - else - state = kMatchNextStates[state]; - } - prevOpt = &p->opt[posPrev]; - if (pos < LZMA_NUM_REPS) - { - UInt32 i; - reps[0] = prevOpt->backs[pos]; - for (i = 1; i <= pos; i++) - reps[i] = prevOpt->backs[i - 1]; - for (; i < LZMA_NUM_REPS; i++) - reps[i] = prevOpt->backs[i]; - } - else - { - UInt32 i; - reps[0] = (pos - LZMA_NUM_REPS); - for (i = 1; i < LZMA_NUM_REPS; i++) - reps[i] = prevOpt->backs[i - 1]; - } - } - curOpt->state = (CState)state; - - curOpt->backs[0] = reps[0]; - curOpt->backs[1] = reps[1]; - curOpt->backs[2] = reps[2]; - curOpt->backs[3] = reps[3]; - - curPrice = curOpt->price; - nextIsChar = False; - data = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - 1; - curByte = *data; - matchByte = *(data - (reps[0] + 1)); - - posState = (position & p->pbMask); - - curAnd1Price = curPrice + GET_PRICE_0(p->isMatch[state][posState]); - { - const CLzmaProb *probs = LIT_PROBS(position, *(data - 1)); - curAnd1Price += - (!IsCharState(state) ? - LitEnc_GetPriceMatched(probs, curByte, matchByte, p->ProbPrices) : - LitEnc_GetPrice(probs, curByte, p->ProbPrices)); - } - - nextOpt = &p->opt[cur + 1]; - - if (curAnd1Price < nextOpt->price) - { - nextOpt->price = curAnd1Price; - nextOpt->posPrev = cur; - MakeAsChar(nextOpt); - nextIsChar = True; - } - - matchPrice = curPrice + GET_PRICE_1(p->isMatch[state][posState]); - repMatchPrice = matchPrice + GET_PRICE_1(p->isRep[state]); - - if (matchByte == curByte && !(nextOpt->posPrev < cur && nextOpt->backPrev == 0)) - { - UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(p, state, posState); - if (shortRepPrice <= nextOpt->price) - { - nextOpt->price = shortRepPrice; - nextOpt->posPrev = cur; - MakeAsShortRep(nextOpt); - nextIsChar = True; - } - } - numAvailFull = p->numAvail; - { - UInt32 temp = kNumOpts - 1 - cur; - if (temp < numAvailFull) - numAvailFull = temp; - } - - if (numAvailFull < 2) - continue; - numAvail = (numAvailFull <= p->numFastBytes ? numAvailFull : p->numFastBytes); - - if (!nextIsChar && matchByte != curByte) /* speed optimization */ - { - /* try Literal + rep0 */ - UInt32 temp; - UInt32 lenTest2; - const Byte *data2 = data - (reps[0] + 1); - UInt32 limit = p->numFastBytes + 1; - if (limit > numAvailFull) - limit = numAvailFull; - - for (temp = 1; temp < limit && data[temp] == data2[temp]; temp++); - lenTest2 = temp - 1; - if (lenTest2 >= 2) - { - UInt32 state2 = kLiteralNextStates[state]; - UInt32 posStateNext = (position + 1) & p->pbMask; - UInt32 nextRepMatchPrice = curAnd1Price + - GET_PRICE_1(p->isMatch[state2][posStateNext]) + - GET_PRICE_1(p->isRep[state2]); - /* for (; lenTest2 >= 2; lenTest2--) */ - { - UInt32 curAndLenPrice; - COptimal *opt; - UInt32 offset = cur + 1 + lenTest2; - while (lenEnd < offset) - p->opt[++lenEnd].price = kInfinityPrice; - curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext); - opt = &p->opt[offset]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = cur + 1; - opt->backPrev = 0; - opt->prev1IsChar = True; - opt->prev2 = False; - } - } - } - } - - startLen = 2; /* speed optimization */ - { - UInt32 repIndex; - for (repIndex = 0; repIndex < LZMA_NUM_REPS; repIndex++) - { - UInt32 lenTest; - UInt32 lenTestTemp; - UInt32 price; - const Byte *data2 = data - (reps[repIndex] + 1); - if (data[0] != data2[0] || data[1] != data2[1]) - continue; - for (lenTest = 2; lenTest < numAvail && data[lenTest] == data2[lenTest]; lenTest++); - while (lenEnd < cur + lenTest) - p->opt[++lenEnd].price = kInfinityPrice; - lenTestTemp = lenTest; - price = repMatchPrice + GetPureRepPrice(p, repIndex, state, posState); - do - { - UInt32 curAndLenPrice = price + p->repLenEnc.prices[posState][lenTest - 2]; - COptimal *opt = &p->opt[cur + lenTest]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = cur; - opt->backPrev = repIndex; - opt->prev1IsChar = False; - } - } - while (--lenTest >= 2); - lenTest = lenTestTemp; - - if (repIndex == 0) - startLen = lenTest + 1; - - /* if (_maxMode) */ - { - UInt32 lenTest2 = lenTest + 1; - UInt32 limit = lenTest2 + p->numFastBytes; - UInt32 nextRepMatchPrice; - if (limit > numAvailFull) - limit = numAvailFull; - for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++); - lenTest2 -= lenTest + 1; - if (lenTest2 >= 2) - { - UInt32 state2 = kRepNextStates[state]; - UInt32 posStateNext = (position + lenTest) & p->pbMask; - UInt32 curAndLenCharPrice = - price + p->repLenEnc.prices[posState][lenTest - 2] + - GET_PRICE_0(p->isMatch[state2][posStateNext]) + - LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]), - data[lenTest], data2[lenTest], p->ProbPrices); - state2 = kLiteralNextStates[state2]; - posStateNext = (position + lenTest + 1) & p->pbMask; - nextRepMatchPrice = curAndLenCharPrice + - GET_PRICE_1(p->isMatch[state2][posStateNext]) + - GET_PRICE_1(p->isRep[state2]); - - /* for (; lenTest2 >= 2; lenTest2--) */ - { - UInt32 curAndLenPrice; - COptimal *opt; - UInt32 offset = cur + lenTest + 1 + lenTest2; - while (lenEnd < offset) - p->opt[++lenEnd].price = kInfinityPrice; - curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext); - opt = &p->opt[offset]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = cur + lenTest + 1; - opt->backPrev = 0; - opt->prev1IsChar = True; - opt->prev2 = True; - opt->posPrev2 = cur; - opt->backPrev2 = repIndex; - } - } - } - } - } - } - /* for (UInt32 lenTest = 2; lenTest <= newLen; lenTest++) */ - if (newLen > numAvail) - { - newLen = numAvail; - for (numPairs = 0; newLen > matches[numPairs]; numPairs += 2); - matches[numPairs] = newLen; - numPairs += 2; - } - if (newLen >= startLen) - { - UInt32 normalMatchPrice = matchPrice + GET_PRICE_0(p->isRep[state]); - UInt32 offs, curBack, posSlot; - UInt32 lenTest; - while (lenEnd < cur + newLen) - p->opt[++lenEnd].price = kInfinityPrice; - - offs = 0; - while (startLen > matches[offs]) - offs += 2; - curBack = matches[offs + 1]; - GetPosSlot2(curBack, posSlot); - for (lenTest = /*2*/ startLen; ; lenTest++) - { - UInt32 curAndLenPrice = normalMatchPrice + p->lenEnc.prices[posState][lenTest - LZMA_MATCH_LEN_MIN]; - UInt32 lenToPosState = GetLenToPosState(lenTest); - COptimal *opt; - if (curBack < kNumFullDistances) - curAndLenPrice += p->distancesPrices[lenToPosState][curBack]; - else - curAndLenPrice += p->posSlotPrices[lenToPosState][posSlot] + p->alignPrices[curBack & kAlignMask]; - - opt = &p->opt[cur + lenTest]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = cur; - opt->backPrev = curBack + LZMA_NUM_REPS; - opt->prev1IsChar = False; - } - - if (/*_maxMode && */lenTest == matches[offs]) - { - /* Try Match + Literal + Rep0 */ - const Byte *data2 = data - (curBack + 1); - UInt32 lenTest2 = lenTest + 1; - UInt32 limit = lenTest2 + p->numFastBytes; - UInt32 nextRepMatchPrice; - if (limit > numAvailFull) - limit = numAvailFull; - for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++); - lenTest2 -= lenTest + 1; - if (lenTest2 >= 2) - { - UInt32 state2 = kMatchNextStates[state]; - UInt32 posStateNext = (position + lenTest) & p->pbMask; - UInt32 curAndLenCharPrice = curAndLenPrice + - GET_PRICE_0(p->isMatch[state2][posStateNext]) + - LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]), - data[lenTest], data2[lenTest], p->ProbPrices); - state2 = kLiteralNextStates[state2]; - posStateNext = (posStateNext + 1) & p->pbMask; - nextRepMatchPrice = curAndLenCharPrice + - GET_PRICE_1(p->isMatch[state2][posStateNext]) + - GET_PRICE_1(p->isRep[state2]); - - /* for (; lenTest2 >= 2; lenTest2--) */ - { - UInt32 offset = cur + lenTest + 1 + lenTest2; - UInt32 curAndLenPrice; - COptimal *opt; - while (lenEnd < offset) - p->opt[++lenEnd].price = kInfinityPrice; - curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext); - opt = &p->opt[offset]; - if (curAndLenPrice < opt->price) - { - opt->price = curAndLenPrice; - opt->posPrev = cur + lenTest + 1; - opt->backPrev = 0; - opt->prev1IsChar = True; - opt->prev2 = True; - opt->posPrev2 = cur; - opt->backPrev2 = curBack + LZMA_NUM_REPS; - } - } - } - offs += 2; - if (offs == numPairs) - break; - curBack = matches[offs + 1]; - if (curBack >= kNumFullDistances) - GetPosSlot2(curBack, posSlot); - } - } - } - } -} - -#define ChangePair(smallDist, bigDist) (((bigDist) >> 7) > (smallDist)) - -static UInt32 GetOptimumFast(CLzmaEnc *p, UInt32 *backRes) -{ - UInt32 numAvail, mainLen, mainDist, numPairs, repIndex, repLen, i; - const Byte *data; - const UInt32 *matches; - - if (p->additionalOffset == 0) - mainLen = ReadMatchDistances(p, &numPairs); - else - { - mainLen = p->longestMatchLength; - numPairs = p->numPairs; - } - - numAvail = p->numAvail; - *backRes = (UInt32)-1; - if (numAvail < 2) - return 1; - if (numAvail > LZMA_MATCH_LEN_MAX) - numAvail = LZMA_MATCH_LEN_MAX; - data = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - 1; - - repLen = repIndex = 0; - for (i = 0; i < LZMA_NUM_REPS; i++) - { - UInt32 len; - const Byte *data2 = data - (p->reps[i] + 1); - if (data[0] != data2[0] || data[1] != data2[1]) - continue; - for (len = 2; len < numAvail && data[len] == data2[len]; len++); - if (len >= p->numFastBytes) - { - *backRes = i; - MovePos(p, len - 1); - return len; - } - if (len > repLen) - { - repIndex = i; - repLen = len; - } - } - - matches = p->matches; - if (mainLen >= p->numFastBytes) - { - *backRes = matches[numPairs - 1] + LZMA_NUM_REPS; - MovePos(p, mainLen - 1); - return mainLen; - } - - mainDist = 0; /* for GCC */ - if (mainLen >= 2) - { - mainDist = matches[numPairs - 1]; - while (numPairs > 2 && mainLen == matches[numPairs - 4] + 1) - { - if (!ChangePair(matches[numPairs - 3], mainDist)) - break; - numPairs -= 2; - mainLen = matches[numPairs - 2]; - mainDist = matches[numPairs - 1]; - } - if (mainLen == 2 && mainDist >= 0x80) - mainLen = 1; - } - - if (repLen >= 2 && ( - (repLen + 1 >= mainLen) || - (repLen + 2 >= mainLen && mainDist >= (1 << 9)) || - (repLen + 3 >= mainLen && mainDist >= (1 << 15)))) - { - *backRes = repIndex; - MovePos(p, repLen - 1); - return repLen; - } - - if (mainLen < 2 || numAvail <= 2) - return 1; - - p->longestMatchLength = ReadMatchDistances(p, &p->numPairs); - if (p->longestMatchLength >= 2) - { - UInt32 newDistance = matches[p->numPairs - 1]; - if ((p->longestMatchLength >= mainLen && newDistance < mainDist) || - (p->longestMatchLength == mainLen + 1 && !ChangePair(mainDist, newDistance)) || - (p->longestMatchLength > mainLen + 1) || - (p->longestMatchLength + 1 >= mainLen && mainLen >= 3 && ChangePair(newDistance, mainDist))) - return 1; - } - - data = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - 1; - for (i = 0; i < LZMA_NUM_REPS; i++) - { - UInt32 len, limit; - const Byte *data2 = data - (p->reps[i] + 1); - if (data[0] != data2[0] || data[1] != data2[1]) - continue; - limit = mainLen - 1; - for (len = 2; len < limit && data[len] == data2[len]; len++); - if (len >= limit) - return 1; - } - *backRes = mainDist + LZMA_NUM_REPS; - MovePos(p, mainLen - 2); - return mainLen; -} - -static void WriteEndMarker(CLzmaEnc *p, UInt32 posState) -{ - UInt32 len; - RangeEnc_EncodeBit(&p->rc, &p->isMatch[p->state][posState], 1); - RangeEnc_EncodeBit(&p->rc, &p->isRep[p->state], 0); - p->state = kMatchNextStates[p->state]; - len = LZMA_MATCH_LEN_MIN; - LenEnc_Encode2(&p->lenEnc, &p->rc, len - LZMA_MATCH_LEN_MIN, posState, !p->fastMode, p->ProbPrices); - RcTree_Encode(&p->rc, p->posSlotEncoder[GetLenToPosState(len)], kNumPosSlotBits, (1 << kNumPosSlotBits) - 1); - RangeEnc_EncodeDirectBits(&p->rc, (((UInt32)1 << 30) - 1) >> kNumAlignBits, 30 - kNumAlignBits); - RcTree_ReverseEncode(&p->rc, p->posAlignEncoder, kNumAlignBits, kAlignMask); -} - -static SRes CheckErrors(CLzmaEnc *p) -{ - if (p->result != SZ_OK) - return p->result; - if (p->rc.res != SZ_OK) - p->result = SZ_ERROR_WRITE; - if (p->matchFinderBase.result != SZ_OK) - p->result = SZ_ERROR_READ; - if (p->result != SZ_OK) - p->finished = True; - return p->result; -} - -static SRes Flush(CLzmaEnc *p, UInt32 nowPos) -{ - /* ReleaseMFStream(); */ - p->finished = True; - if (p->writeEndMark) - WriteEndMarker(p, nowPos & p->pbMask); - RangeEnc_FlushData(&p->rc); - RangeEnc_FlushStream(&p->rc); - return CheckErrors(p); -} - -static void FillAlignPrices(CLzmaEnc *p) -{ - UInt32 i; - for (i = 0; i < kAlignTableSize; i++) - p->alignPrices[i] = RcTree_ReverseGetPrice(p->posAlignEncoder, kNumAlignBits, i, p->ProbPrices); - p->alignPriceCount = 0; -} - -static void FillDistancesPrices(CLzmaEnc *p) -{ - UInt32 tempPrices[kNumFullDistances]; - UInt32 i, lenToPosState; - for (i = kStartPosModelIndex; i < kNumFullDistances; i++) - { - UInt32 posSlot = GetPosSlot1(i); - UInt32 footerBits = ((posSlot >> 1) - 1); - UInt32 base = ((2 | (posSlot & 1)) << footerBits); - tempPrices[i] = RcTree_ReverseGetPrice(p->posEncoders + base - posSlot - 1, footerBits, i - base, p->ProbPrices); - } - - for (lenToPosState = 0; lenToPosState < kNumLenToPosStates; lenToPosState++) - { - UInt32 posSlot; - const CLzmaProb *encoder = p->posSlotEncoder[lenToPosState]; - UInt32 *posSlotPrices = p->posSlotPrices[lenToPosState]; - for (posSlot = 0; posSlot < p->distTableSize; posSlot++) - posSlotPrices[posSlot] = RcTree_GetPrice(encoder, kNumPosSlotBits, posSlot, p->ProbPrices); - for (posSlot = kEndPosModelIndex; posSlot < p->distTableSize; posSlot++) - posSlotPrices[posSlot] += ((((posSlot >> 1) - 1) - kNumAlignBits) << kNumBitPriceShiftBits); - - { - UInt32 *distancesPrices = p->distancesPrices[lenToPosState]; - UInt32 i; - for (i = 0; i < kStartPosModelIndex; i++) - distancesPrices[i] = posSlotPrices[i]; - for (; i < kNumFullDistances; i++) - distancesPrices[i] = posSlotPrices[GetPosSlot1(i)] + tempPrices[i]; - } - } - p->matchPriceCount = 0; -} - -void LzmaEnc_Construct(CLzmaEnc *p) -{ - RangeEnc_Construct(&p->rc); - MatchFinder_Construct(&p->matchFinderBase); - #ifdef COMPRESS_MF_MT - MatchFinderMt_Construct(&p->matchFinderMt); - p->matchFinderMt.MatchFinder = &p->matchFinderBase; - #endif - - { - CLzmaEncProps props; - LzmaEncProps_Init(&props); - LzmaEnc_SetProps(p, &props); - } - - #ifndef LZMA_LOG_BSR - LzmaEnc_FastPosInit(p->g_FastPos); - #endif - - LzmaEnc_InitPriceTables(p->ProbPrices); - p->litProbs = 0; - p->saveState.litProbs = 0; -} - -CLzmaEncHandle LzmaEnc_Create(ISzAlloc *alloc) -{ - void *p; - p = alloc->Alloc(alloc, sizeof(CLzmaEnc)); - if (p != 0) - LzmaEnc_Construct((CLzmaEnc *)p); - return p; -} - -void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc) -{ - alloc->Free(alloc, p->litProbs); - alloc->Free(alloc, p->saveState.litProbs); - p->litProbs = 0; - p->saveState.litProbs = 0; -} - -void LzmaEnc_Destruct(CLzmaEnc *p, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - #ifdef COMPRESS_MF_MT - MatchFinderMt_Destruct(&p->matchFinderMt, allocBig); - #endif - MatchFinder_Free(&p->matchFinderBase, allocBig); - LzmaEnc_FreeLits(p, alloc); - RangeEnc_Free(&p->rc, alloc); -} - -void LzmaEnc_Destroy(CLzmaEncHandle p, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - LzmaEnc_Destruct((CLzmaEnc *)p, alloc, allocBig); - alloc->Free(alloc, p); -} - -static SRes LzmaEnc_CodeOneBlock(CLzmaEnc *p, Bool useLimits, UInt32 maxPackSize, UInt32 maxUnpackSize) -{ - UInt32 nowPos32, startPos32; - if (p->inStream != 0) - { - p->matchFinderBase.stream = p->inStream; - p->matchFinder.Init(p->matchFinderObj); - p->inStream = 0; - } - - if (p->finished) - return p->result; - RINOK(CheckErrors(p)); - - nowPos32 = (UInt32)p->nowPos64; - startPos32 = nowPos32; - - if (p->nowPos64 == 0) - { - UInt32 numPairs; - Byte curByte; - if (p->matchFinder.GetNumAvailableBytes(p->matchFinderObj) == 0) - return Flush(p, nowPos32); - ReadMatchDistances(p, &numPairs); - RangeEnc_EncodeBit(&p->rc, &p->isMatch[p->state][0], 0); - p->state = kLiteralNextStates[p->state]; - curByte = p->matchFinder.GetIndexByte(p->matchFinderObj, 0 - p->additionalOffset); - LitEnc_Encode(&p->rc, p->litProbs, curByte); - p->additionalOffset--; - nowPos32++; - } - - if (p->matchFinder.GetNumAvailableBytes(p->matchFinderObj) != 0) - for (;;) - { - UInt32 pos, len, posState; - - if (p->fastMode) - len = GetOptimumFast(p, &pos); - else - len = GetOptimum(p, nowPos32, &pos); - - #ifdef SHOW_STAT2 - printf("\n pos = %4X, len = %d pos = %d", nowPos32, len, pos); - #endif - - posState = nowPos32 & p->pbMask; - if (len == 1 && pos == (UInt32)-1) - { - Byte curByte; - CLzmaProb *probs; - const Byte *data; - - RangeEnc_EncodeBit(&p->rc, &p->isMatch[p->state][posState], 0); - data = p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset; - curByte = *data; - probs = LIT_PROBS(nowPos32, *(data - 1)); - if (IsCharState(p->state)) - LitEnc_Encode(&p->rc, probs, curByte); - else - LitEnc_EncodeMatched(&p->rc, probs, curByte, *(data - p->reps[0] - 1)); - p->state = kLiteralNextStates[p->state]; - } - else - { - RangeEnc_EncodeBit(&p->rc, &p->isMatch[p->state][posState], 1); - if (pos < LZMA_NUM_REPS) - { - RangeEnc_EncodeBit(&p->rc, &p->isRep[p->state], 1); - if (pos == 0) - { - RangeEnc_EncodeBit(&p->rc, &p->isRepG0[p->state], 0); - RangeEnc_EncodeBit(&p->rc, &p->isRep0Long[p->state][posState], ((len == 1) ? 0 : 1)); - } - else - { - UInt32 distance = p->reps[pos]; - RangeEnc_EncodeBit(&p->rc, &p->isRepG0[p->state], 1); - if (pos == 1) - RangeEnc_EncodeBit(&p->rc, &p->isRepG1[p->state], 0); - else - { - RangeEnc_EncodeBit(&p->rc, &p->isRepG1[p->state], 1); - RangeEnc_EncodeBit(&p->rc, &p->isRepG2[p->state], pos - 2); - if (pos == 3) - p->reps[3] = p->reps[2]; - p->reps[2] = p->reps[1]; - } - p->reps[1] = p->reps[0]; - p->reps[0] = distance; - } - if (len == 1) - p->state = kShortRepNextStates[p->state]; - else - { - LenEnc_Encode2(&p->repLenEnc, &p->rc, len - LZMA_MATCH_LEN_MIN, posState, !p->fastMode, p->ProbPrices); - p->state = kRepNextStates[p->state]; - } - } - else - { - UInt32 posSlot; - RangeEnc_EncodeBit(&p->rc, &p->isRep[p->state], 0); - p->state = kMatchNextStates[p->state]; - LenEnc_Encode2(&p->lenEnc, &p->rc, len - LZMA_MATCH_LEN_MIN, posState, !p->fastMode, p->ProbPrices); - pos -= LZMA_NUM_REPS; - GetPosSlot(pos, posSlot); - RcTree_Encode(&p->rc, p->posSlotEncoder[GetLenToPosState(len)], kNumPosSlotBits, posSlot); - - if (posSlot >= kStartPosModelIndex) - { - UInt32 footerBits = ((posSlot >> 1) - 1); - UInt32 base = ((2 | (posSlot & 1)) << footerBits); - UInt32 posReduced = pos - base; - - if (posSlot < kEndPosModelIndex) - RcTree_ReverseEncode(&p->rc, p->posEncoders + base - posSlot - 1, footerBits, posReduced); - else - { - RangeEnc_EncodeDirectBits(&p->rc, posReduced >> kNumAlignBits, footerBits - kNumAlignBits); - RcTree_ReverseEncode(&p->rc, p->posAlignEncoder, kNumAlignBits, posReduced & kAlignMask); - p->alignPriceCount++; - } - } - p->reps[3] = p->reps[2]; - p->reps[2] = p->reps[1]; - p->reps[1] = p->reps[0]; - p->reps[0] = pos; - p->matchPriceCount++; - } - } - p->additionalOffset -= len; - nowPos32 += len; - if (p->additionalOffset == 0) - { - UInt32 processed; - if (!p->fastMode) - { - if (p->matchPriceCount >= (1 << 7)) - FillDistancesPrices(p); - if (p->alignPriceCount >= kAlignTableSize) - FillAlignPrices(p); - } - if (p->matchFinder.GetNumAvailableBytes(p->matchFinderObj) == 0) - break; - processed = nowPos32 - startPos32; - if (useLimits) - { - if (processed + kNumOpts + 300 >= maxUnpackSize || - RangeEnc_GetProcessed(&p->rc) + kNumOpts * 2 >= maxPackSize) - break; - } - else if (processed >= (1 << 15)) - { - p->nowPos64 += nowPos32 - startPos32; - return CheckErrors(p); - } - } - } - p->nowPos64 += nowPos32 - startPos32; - return Flush(p, nowPos32); -} - -#define kBigHashDicLimit ((UInt32)1 << 24) - -static SRes LzmaEnc_Alloc(CLzmaEnc *p, UInt32 keepWindowSize, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - UInt32 beforeSize = kNumOpts; - Bool btMode; - if (!RangeEnc_Alloc(&p->rc, alloc)) - return SZ_ERROR_MEM; - btMode = (p->matchFinderBase.btMode != 0); - #ifdef COMPRESS_MF_MT - p->mtMode = (p->multiThread && !p->fastMode && btMode); - #endif - - { - unsigned lclp = p->lc + p->lp; - if (p->litProbs == 0 || p->saveState.litProbs == 0 || p->lclp != lclp) - { - LzmaEnc_FreeLits(p, alloc); - p->litProbs = (CLzmaProb *)alloc->Alloc(alloc, (0x300 << lclp) * sizeof(CLzmaProb)); - p->saveState.litProbs = (CLzmaProb *)alloc->Alloc(alloc, (0x300 << lclp) * sizeof(CLzmaProb)); - if (p->litProbs == 0 || p->saveState.litProbs == 0) - { - LzmaEnc_FreeLits(p, alloc); - return SZ_ERROR_MEM; - } - p->lclp = lclp; - } - } - - p->matchFinderBase.bigHash = (p->dictSize > kBigHashDicLimit); - - if (beforeSize + p->dictSize < keepWindowSize) - beforeSize = keepWindowSize - p->dictSize; - - #ifdef COMPRESS_MF_MT - if (p->mtMode) - { - RINOK(MatchFinderMt_Create(&p->matchFinderMt, p->dictSize, beforeSize, p->numFastBytes, LZMA_MATCH_LEN_MAX, allocBig)); - p->matchFinderObj = &p->matchFinderMt; - MatchFinderMt_CreateVTable(&p->matchFinderMt, &p->matchFinder); - } - else - #endif - { - if (!MatchFinder_Create(&p->matchFinderBase, p->dictSize, beforeSize, p->numFastBytes, LZMA_MATCH_LEN_MAX, allocBig)) - return SZ_ERROR_MEM; - p->matchFinderObj = &p->matchFinderBase; - MatchFinder_CreateVTable(&p->matchFinderBase, &p->matchFinder); - } - return SZ_OK; -} - -void LzmaEnc_Init(CLzmaEnc *p) -{ - UInt32 i; - p->state = 0; - for (i = 0 ; i < LZMA_NUM_REPS; i++) - p->reps[i] = 0; - - RangeEnc_Init(&p->rc); - - - for (i = 0; i < kNumStates; i++) - { - UInt32 j; - for (j = 0; j < LZMA_NUM_PB_STATES_MAX; j++) - { - p->isMatch[i][j] = kProbInitValue; - p->isRep0Long[i][j] = kProbInitValue; - } - p->isRep[i] = kProbInitValue; - p->isRepG0[i] = kProbInitValue; - p->isRepG1[i] = kProbInitValue; - p->isRepG2[i] = kProbInitValue; - } - - { - UInt32 num = 0x300 << (p->lp + p->lc); - for (i = 0; i < num; i++) - p->litProbs[i] = kProbInitValue; - } - - { - for (i = 0; i < kNumLenToPosStates; i++) - { - CLzmaProb *probs = p->posSlotEncoder[i]; - UInt32 j; - for (j = 0; j < (1 << kNumPosSlotBits); j++) - probs[j] = kProbInitValue; - } - } - { - for (i = 0; i < kNumFullDistances - kEndPosModelIndex; i++) - p->posEncoders[i] = kProbInitValue; - } - - LenEnc_Init(&p->lenEnc.p); - LenEnc_Init(&p->repLenEnc.p); - - for (i = 0; i < (1 << kNumAlignBits); i++) - p->posAlignEncoder[i] = kProbInitValue; - - p->optimumEndIndex = 0; - p->optimumCurrentIndex = 0; - p->additionalOffset = 0; - - p->pbMask = (1 << p->pb) - 1; - p->lpMask = (1 << p->lp) - 1; -} - -void LzmaEnc_InitPrices(CLzmaEnc *p) -{ - if (!p->fastMode) - { - FillDistancesPrices(p); - FillAlignPrices(p); - } - - p->lenEnc.tableSize = - p->repLenEnc.tableSize = - p->numFastBytes + 1 - LZMA_MATCH_LEN_MIN; - LenPriceEnc_UpdateTables(&p->lenEnc, 1 << p->pb, p->ProbPrices); - LenPriceEnc_UpdateTables(&p->repLenEnc, 1 << p->pb, p->ProbPrices); -} - -static SRes LzmaEnc_AllocAndInit(CLzmaEnc *p, UInt32 keepWindowSize, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - UInt32 i; - for (i = 0; i < (UInt32)kDicLogSizeMaxCompress; i++) - if (p->dictSize <= ((UInt32)1 << i)) - break; - p->distTableSize = i * 2; - - p->finished = False; - p->result = SZ_OK; - RINOK(LzmaEnc_Alloc(p, keepWindowSize, alloc, allocBig)); - LzmaEnc_Init(p); - LzmaEnc_InitPrices(p); - p->nowPos64 = 0; - return SZ_OK; -} - -static SRes LzmaEnc_Prepare(CLzmaEncHandle pp, ISeqInStream *inStream, ISeqOutStream *outStream, - ISzAlloc *alloc, ISzAlloc *allocBig) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - p->inStream = inStream; - p->rc.outStream = outStream; - return LzmaEnc_AllocAndInit(p, 0, alloc, allocBig); -} - -SRes LzmaEnc_PrepareForLzma2(CLzmaEncHandle pp, - ISeqInStream *inStream, UInt32 keepWindowSize, - ISzAlloc *alloc, ISzAlloc *allocBig) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - p->inStream = inStream; - return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig); -} - -static void LzmaEnc_SetInputBuf(CLzmaEnc *p, const Byte *src, SizeT srcLen) -{ - p->seqBufInStream.funcTable.Read = MyRead; - p->seqBufInStream.data = src; - p->seqBufInStream.rem = srcLen; -} - -SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen, - UInt32 keepWindowSize, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - LzmaEnc_SetInputBuf(p, src, srcLen); - p->inStream = &p->seqBufInStream.funcTable; - return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig); -} - -void LzmaEnc_Finish(CLzmaEncHandle pp) -{ - #ifdef COMPRESS_MF_MT - CLzmaEnc *p = (CLzmaEnc *)pp; - if (p->mtMode) - MatchFinderMt_ReleaseStream(&p->matchFinderMt); - #else - pp = pp; - #endif -} - -typedef struct _CSeqOutStreamBuf -{ - ISeqOutStream funcTable; - Byte *data; - SizeT rem; - Bool overflow; -} CSeqOutStreamBuf; - -static size_t MyWrite(void *pp, const void *data, size_t size) -{ - CSeqOutStreamBuf *p = (CSeqOutStreamBuf *)pp; - if (p->rem < size) - { - size = p->rem; - p->overflow = True; - } - memcpy(p->data, data, size); - p->rem -= size; - p->data += size; - return size; -} - - -UInt32 LzmaEnc_GetNumAvailableBytes(CLzmaEncHandle pp) -{ - const CLzmaEnc *p = (CLzmaEnc *)pp; - return p->matchFinder.GetNumAvailableBytes(p->matchFinderObj); -} - -const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp) -{ - const CLzmaEnc *p = (CLzmaEnc *)pp; - return p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset; -} - -SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, Bool reInit, - Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - UInt64 nowPos64; - SRes res; - CSeqOutStreamBuf outStream; - - outStream.funcTable.Write = MyWrite; - outStream.data = dest; - outStream.rem = *destLen; - outStream.overflow = False; - - p->writeEndMark = False; - p->finished = False; - p->result = SZ_OK; - - if (reInit) - LzmaEnc_Init(p); - LzmaEnc_InitPrices(p); - nowPos64 = p->nowPos64; - RangeEnc_Init(&p->rc); - p->rc.outStream = &outStream.funcTable; - - res = LzmaEnc_CodeOneBlock(p, True, desiredPackSize, *unpackSize); - - *unpackSize = (UInt32)(p->nowPos64 - nowPos64); - *destLen -= outStream.rem; - if (outStream.overflow) - return SZ_ERROR_OUTPUT_EOF; - - return res; -} - -SRes LzmaEnc_Encode(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress, - ISzAlloc *alloc, ISzAlloc *allocBig) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - SRes res = SZ_OK; - - #ifdef COMPRESS_MF_MT - Byte allocaDummy[0x300]; - int i = 0; - for (i = 0; i < 16; i++) - allocaDummy[i] = (Byte)i; - #endif - - RINOK(LzmaEnc_Prepare(pp, inStream, outStream, alloc, allocBig)); - - for (;;) - { - res = LzmaEnc_CodeOneBlock(p, False, 0, 0); - if (res != SZ_OK || p->finished != 0) - break; - if (progress != 0) - { - res = progress->Progress(progress, p->nowPos64, RangeEnc_GetProcessed(&p->rc)); - if (res != SZ_OK) - { - res = SZ_ERROR_PROGRESS; - break; - } - } - } - LzmaEnc_Finish(pp); - return res; -} - -SRes LzmaEnc_WriteProperties(CLzmaEncHandle pp, Byte *props, SizeT *size) -{ - CLzmaEnc *p = (CLzmaEnc *)pp; - int i; - UInt32 dictSize = p->dictSize; - if (*size < LZMA_PROPS_SIZE) - return SZ_ERROR_PARAM; - *size = LZMA_PROPS_SIZE; - props[0] = (Byte)((p->pb * 5 + p->lp) * 9 + p->lc); - - for (i = 11; i <= 30; i++) - { - if (dictSize <= ((UInt32)2 << i)) - { - dictSize = (2 << i); - break; - } - if (dictSize <= ((UInt32)3 << i)) - { - dictSize = (3 << i); - break; - } - } - - for (i = 0; i < 4; i++) - props[1 + i] = (Byte)(dictSize >> (8 * i)); - return SZ_OK; -} - -SRes LzmaEnc_MemEncode(CLzmaEncHandle pp, Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, - int writeEndMark, ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - SRes res; - CLzmaEnc *p = (CLzmaEnc *)pp; - - CSeqOutStreamBuf outStream; - - LzmaEnc_SetInputBuf(p, src, srcLen); - - outStream.funcTable.Write = MyWrite; - outStream.data = dest; - outStream.rem = *destLen; - outStream.overflow = False; - - p->writeEndMark = writeEndMark; - res = LzmaEnc_Encode(pp, &outStream.funcTable, &p->seqBufInStream.funcTable, - progress, alloc, allocBig); - - *destLen -= outStream.rem; - if (outStream.overflow) - return SZ_ERROR_OUTPUT_EOF; - return res; -} - -SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, - const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark, - ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig) -{ - CLzmaEnc *p = (CLzmaEnc *)LzmaEnc_Create(alloc); - SRes res; - if (p == 0) - return SZ_ERROR_MEM; - - res = LzmaEnc_SetProps(p, props); - if (res == SZ_OK) - { - res = LzmaEnc_WriteProperties(p, propsEncoded, propsSize); - if (res == SZ_OK) - res = LzmaEnc_MemEncode(p, dest, destLen, src, srcLen, - writeEndMark, progress, alloc, allocBig); - } - - LzmaEnc_Destroy(p, alloc, allocBig); - return res; -} diff --git a/3rdparty/openctm/lib/liblzma/LzmaEnc.h b/3rdparty/openctm/lib/liblzma/LzmaEnc.h deleted file mode 100644 index e3d84fa35..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaEnc.h +++ /dev/null @@ -1,72 +0,0 @@ -/* LzmaEnc.h -- LZMA Encoder -2008-10-04 : Igor Pavlov : Public domain */ - -#ifndef __LZMAENC_H -#define __LZMAENC_H - -#include "Types.h" - -#define LZMA_PROPS_SIZE 5 - -typedef struct _CLzmaEncProps -{ - int level; /* 0 <= level <= 9 */ - UInt32 dictSize; /* (1 << 12) <= dictSize <= (1 << 27) for 32-bit version - (1 << 12) <= dictSize <= (1 << 30) for 64-bit version - default = (1 << 24) */ - int lc; /* 0 <= lc <= 8, default = 3 */ - int lp; /* 0 <= lp <= 4, default = 0 */ - int pb; /* 0 <= pb <= 4, default = 2 */ - int algo; /* 0 - fast, 1 - normal, default = 1 */ - int fb; /* 5 <= fb <= 273, default = 32 */ - int btMode; /* 0 - hashChain Mode, 1 - binTree mode - normal, default = 1 */ - int numHashBytes; /* 2, 3 or 4, default = 4 */ - UInt32 mc; /* 1 <= mc <= (1 << 30), default = 32 */ - unsigned writeEndMark; /* 0 - do not write EOPM, 1 - write EOPM, default = 0 */ - int numThreads; /* 1 or 2, default = 2 */ -} CLzmaEncProps; - -void LzmaEncProps_Init(CLzmaEncProps *p); -void LzmaEncProps_Normalize(CLzmaEncProps *p); -UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2); - - -/* ---------- CLzmaEncHandle Interface ---------- */ - -/* LzmaEnc_* functions can return the following exit codes: -Returns: - SZ_OK - OK - SZ_ERROR_MEM - Memory allocation error - SZ_ERROR_PARAM - Incorrect paramater in props - SZ_ERROR_WRITE - Write callback error. - SZ_ERROR_PROGRESS - some break from progress callback - SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) -*/ - -typedef void * CLzmaEncHandle; - -CLzmaEncHandle LzmaEnc_Create(ISzAlloc *alloc); -void LzmaEnc_Destroy(CLzmaEncHandle p, ISzAlloc *alloc, ISzAlloc *allocBig); -SRes LzmaEnc_SetProps(CLzmaEncHandle p, const CLzmaEncProps *props); -SRes LzmaEnc_WriteProperties(CLzmaEncHandle p, Byte *properties, SizeT *size); -SRes LzmaEnc_Encode(CLzmaEncHandle p, ISeqOutStream *outStream, ISeqInStream *inStream, - ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig); -SRes LzmaEnc_MemEncode(CLzmaEncHandle p, Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, - int writeEndMark, ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig); - -/* ---------- One Call Interface ---------- */ - -/* LzmaEncode -Return code: - SZ_OK - OK - SZ_ERROR_MEM - Memory allocation error - SZ_ERROR_PARAM - Incorrect paramater - SZ_ERROR_OUTPUT_EOF - output buffer overflow - SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) -*/ - -SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, - const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark, - ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig); - -#endif diff --git a/3rdparty/openctm/lib/liblzma/LzmaLib.c b/3rdparty/openctm/lib/liblzma/LzmaLib.c deleted file mode 100644 index ddc8db7e5..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaLib.c +++ /dev/null @@ -1,48 +0,0 @@ -/* LzmaLib.c -- LZMA library wrapper -2008-08-05 -Igor Pavlov -Public domain */ - -#include "LzmaEnc.h" -#include "LzmaDec.h" -#include "Alloc.h" -#include "LzmaLib.h" - -static void *SzAlloc(void *p, size_t size) { p = p; return MyAlloc(size); } -static void SzFree(void *p, void *address) { p = p; MyFree(address); } -static ISzAlloc g_Alloc = { SzAlloc, SzFree }; - -MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen, - unsigned char *outProps, size_t *outPropsSize, - int level, /* 0 <= level <= 9, default = 5 */ - unsigned dictSize, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */ - int lc, /* 0 <= lc <= 8, default = 3 */ - int lp, /* 0 <= lp <= 4, default = 0 */ - int pb, /* 0 <= pb <= 4, default = 2 */ - int fb, /* 5 <= fb <= 273, default = 32 */ - int numThreads, /* 1 or 2, default = 2 */ - int algo /* 0 = fast, 1 = normal */ -) -{ - CLzmaEncProps props; - LzmaEncProps_Init(&props); - props.level = level; - props.dictSize = dictSize; - props.lc = lc; - props.lp = lp; - props.pb = pb; - props.fb = fb; - props.numThreads = numThreads; - props.algo = algo; - - return LzmaEncode(dest, destLen, src, srcLen, &props, outProps, outPropsSize, 0, - NULL, &g_Alloc, &g_Alloc); -} - - -MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t *srcLen, - const unsigned char *props, size_t propsSize) -{ - ELzmaStatus status; - return LzmaDecode(dest, destLen, src, srcLen, props, (unsigned)propsSize, LZMA_FINISH_ANY, &status, &g_Alloc); -} diff --git a/3rdparty/openctm/lib/liblzma/LzmaLib.h b/3rdparty/openctm/lib/liblzma/LzmaLib.h deleted file mode 100644 index 5d39af013..000000000 --- a/3rdparty/openctm/lib/liblzma/LzmaLib.h +++ /dev/null @@ -1,136 +0,0 @@ -/* LzmaLib.h -- LZMA library interface -2008-08-05 -Igor Pavlov -Public domain */ - -#ifndef __LZMALIB_H -#define __LZMALIB_H - -#include "Types.h" - -#ifdef __cplusplus - #define MY_EXTERN_C extern "C" -#else - #define MY_EXTERN_C extern -#endif - -#define MY_STDAPI MY_EXTERN_C int MY_STD_CALL - -#define LZMA_PROPS_SIZE 5 - -/* -RAM requirements for LZMA: - for compression: (dictSize * 11.5 + 6 MB) + state_size - for decompression: dictSize + state_size - state_size = (4 + (1.5 << (lc + lp))) KB - by default (lc=3, lp=0), state_size = 16 KB. - -LZMA properties (5 bytes) format - Offset Size Description - 0 1 lc, lp and pb in encoded form. - 1 4 dictSize (little endian). -*/ - -/* -LzmaCompress ------------- - -outPropsSize - - In: the pointer to the size of outProps buffer; *outPropsSize = LZMA_PROPS_SIZE = 5. - Out: the pointer to the size of written properties in outProps buffer; *outPropsSize = LZMA_PROPS_SIZE = 5. - - LZMA Encoder will use defult values for any parameter, if it is - -1 for any from: level, loc, lp, pb, fb, numThreads - 0 for dictSize - -level - compression level: 0 <= level <= 9; - - level dictSize algo fb - 0: 16 KB 0 32 - 1: 64 KB 0 32 - 2: 256 KB 0 32 - 3: 1 MB 0 32 - 4: 4 MB 0 32 - 5: 16 MB 1 32 - 6: 32 MB 1 32 - 7+: 64 MB 1 64 - - The default value for "level" is 5. - - algo = 0 means fast method - algo = 1 means normal method - -dictSize - The dictionary size in bytes. The maximum value is - 128 MB = (1 << 27) bytes for 32-bit version - 1 GB = (1 << 30) bytes for 64-bit version - The default value is 16 MB = (1 << 24) bytes. - It's recommended to use the dictionary that is larger than 4 KB and - that can be calculated as (1 << N) or (3 << N) sizes. - -lc - The number of literal context bits (high bits of previous literal). - It can be in the range from 0 to 8. The default value is 3. - Sometimes lc=4 gives the gain for big files. - -lp - The number of literal pos bits (low bits of current position for literals). - It can be in the range from 0 to 4. The default value is 0. - The lp switch is intended for periodical data when the period is equal to 2^lp. - For example, for 32-bit (4 bytes) periodical data you can use lp=2. Often it's - better to set lc=0, if you change lp switch. - -pb - The number of pos bits (low bits of current position). - It can be in the range from 0 to 4. The default value is 2. - The pb switch is intended for periodical data when the period is equal 2^pb. - -fb - Word size (the number of fast bytes). - It can be in the range from 5 to 273. The default value is 32. - Usually, a big number gives a little bit better compression ratio and - slower compression process. - -numThreads - The number of thereads. 1 or 2. The default value is 2. - Fast mode (algo = 0) can use only 1 thread. - -Out: - destLen - processed output size -Returns: - SZ_OK - OK - SZ_ERROR_MEM - Memory allocation error - SZ_ERROR_PARAM - Incorrect paramater - SZ_ERROR_OUTPUT_EOF - output buffer overflow - SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) -*/ - -MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen, - unsigned char *outProps, size_t *outPropsSize, /* *outPropsSize must be = 5 */ - int level, /* 0 <= level <= 9, default = 5 */ - unsigned dictSize, /* default = (1 << 24) */ - int lc, /* 0 <= lc <= 8, default = 3 */ - int lp, /* 0 <= lp <= 4, default = 0 */ - int pb, /* 0 <= pb <= 4, default = 2 */ - int fb, /* 5 <= fb <= 273, default = 32 */ - int numThreads, /* 1 or 2, default = 2 */ - int algo /* 0 = fast, 1 = normal, default = 0 for level < 5, 1 for level >= 5 */ - ); - -/* -LzmaUncompress --------------- -In: - dest - output data - destLen - output data size - src - input data - srcLen - input data size -Out: - destLen - processed output size - srcLen - processed input size -Returns: - SZ_OK - OK - SZ_ERROR_DATA - Data error - SZ_ERROR_MEM - Memory allocation arror - SZ_ERROR_UNSUPPORTED - Unsupported properties - SZ_ERROR_INPUT_EOF - it needs more bytes in input buffer (src) -*/ - -MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, SizeT *srcLen, - const unsigned char *props, size_t propsSize); - -#endif diff --git a/3rdparty/openctm/lib/liblzma/NameMangle.h b/3rdparty/openctm/lib/liblzma/NameMangle.h deleted file mode 100644 index c1690e73a..000000000 --- a/3rdparty/openctm/lib/liblzma/NameMangle.h +++ /dev/null @@ -1,84 +0,0 @@ -/* NameMangle.h -- Name mangling to avoid linking conflicts -2009-04-15 : Marcus Geelnard : Public domain */ - -#ifndef __7Z_NAMEMANGLE_H -#define __7Z_NAMEMANGLE_H - -#ifdef LZMA_PREFIX_CTM - -/* Alloc.c */ -#define MyAlloc _ctm_MyAlloc -#define MyFree _ctm_MyFree -#ifdef _WIN32 -#define MidAlloc _ctm_MidAlloc -#define MidFree _ctm_MidFree -#define SetLargePageSize _ctm_SetLargePageSize -#define BigAlloc _ctm_BigAlloc -#define BigFree _ctm_BigFree -#endif /* _WIN32 */ - -/* LzFind.c */ -#define MatchFinder_GetPointerToCurrentPos _ctm_MatchFinder_GetPointerToCurrentPos -#define MatchFinder_GetIndexByte _ctm_MatchFinder_GetIndexByte -#define MatchFinder_GetNumAvailableBytes _ctm_MatchFinder_GetNumAvailableBytes -#define MatchFinder_ReduceOffsets _ctm_MatchFinder_ReduceOffsets -#define MatchFinder_MoveBlock _ctm_MatchFinder_MoveBlock -#define MatchFinder_NeedMove _ctm_MatchFinder_NeedMove -#define MatchFinder_ReadIfRequired _ctm_MatchFinder_ReadIfRequired -#define MatchFinder_Construct _ctm_MatchFinder_Construct -#define MatchFinder_Free _ctm_MatchFinder_Free -#define MatchFinder_Create _ctm_MatchFinder_Create -#define MatchFinder_Init _ctm_MatchFinder_Init -#define MatchFinder_Normalize3 _ctm_MatchFinder_Normalize3 -#define GetMatchesSpec1 _ctm_GetMatchesSpec1 -#define Bt3Zip_MatchFinder_GetMatches _ctm_Bt3Zip_MatchFinder_GetMatches -#define Hc3Zip_MatchFinder_GetMatches _ctm_Hc3Zip_MatchFinder_GetMatches -#define Bt3Zip_MatchFinder_Skip _ctm_Bt3Zip_MatchFinder_Skip -#define Hc3Zip_MatchFinder_Skip _ctm_Hc3Zip_MatchFinder_Skip -#define MatchFinder_CreateVTable _ctm_MatchFinder_CreateVTable - -/* LzmaDec.c */ -#define LzmaDec_InitDicAndState _ctm_LzmaDec_InitDicAndState -#define LzmaDec_Init _ctm_LzmaDec_Init -#define LzmaDec_DecodeToDic _ctm_LzmaDec_DecodeToDic -#define LzmaDec_DecodeToBuf _ctm_LzmaDec_DecodeToBuf -#define LzmaDec_FreeProbs _ctm_LzmaDec_FreeProbs -#define LzmaDec_Free _ctm_LzmaDec_Free -#define LzmaProps_Decode _ctm_LzmaProps_Decode -#define LzmaDec_AllocateProbs _ctm_LzmaDec_AllocateProbs -#define LzmaDec_Allocate _ctm_LzmaDec_Allocate -#define LzmaDecode _ctm_LzmaDecode - -/* LzmaEnc.c */ -#define LzmaEncProps_Init _ctm_LzmaEncProps_Init -#define LzmaEncProps_Normalize _ctm_LzmaEncProps_Normalize -#define LzmaEncProps_GetDictSize _ctm_LzmaEncProps_GetDictSize -#define LzmaEnc_FastPosInit _ctm_LzmaEnc_FastPosInit -#define LzmaEnc_SaveState _ctm_LzmaEnc_SaveState -#define LzmaEnc_RestoreState _ctm_LzmaEnc_RestoreState -#define LzmaEnc_SetProps _ctm_LzmaEnc_SetProps -#define LzmaEnc_InitPriceTables _ctm_LzmaEnc_InitPriceTables -#define LzmaEnc_Construct _ctm_LzmaEnc_Construct -#define LzmaEnc_Create _ctm_LzmaEnc_Create -#define LzmaEnc_FreeLits _ctm_LzmaEnc_FreeLits -#define LzmaEnc_Destruct _ctm_LzmaEnc_Destruct -#define LzmaEnc_Destroy _ctm_LzmaEnc_Destroy -#define LzmaEnc_Init _ctm_LzmaEnc_Init -#define LzmaEnc_InitPrices _ctm_LzmaEnc_InitPrices -#define LzmaEnc_PrepareForLzma2 _ctm_LzmaEnc_PrepareForLzma2 -#define LzmaEnc_MemPrepare _ctm_LzmaEnc_MemPrepare -#define LzmaEnc_Finish _ctm_LzmaEnc_Finish -#define LzmaEnc_GetNumAvailableBytes _ctm_LzmaEnc_GetNumAvailableBytes -#define LzmaEnc_GetCurBuf _ctm_LzmaEnc_GetCurBuf -#define LzmaEnc_CodeOneMemBlock _ctm_LzmaEnc_CodeOneMemBlock -#define LzmaEnc_Encode _ctm_LzmaEnc_Encode -#define LzmaEnc_WriteProperties _ctm_LzmaEnc_WriteProperties -#define LzmaEnc_MemEncode _ctm_LzmaEnc_MemEncode - -/* LzmaLib.c */ -#define LzmaCompress _ctm_LzmaCompress -#define LzmaUncompress _ctm_LzmaUncompress - -#endif /* LZMA_PREFIX_CTM */ - -#endif /* __7Z_NAMEMANGLE_H */ diff --git a/3rdparty/openctm/lib/liblzma/Types.h b/3rdparty/openctm/lib/liblzma/Types.h deleted file mode 100644 index 6e5e30e4a..000000000 --- a/3rdparty/openctm/lib/liblzma/Types.h +++ /dev/null @@ -1,210 +0,0 @@ -/* Types.h -- Basic types -2008-11-23 : Igor Pavlov : Public domain */ - -#ifndef __7Z_TYPES_H -#define __7Z_TYPES_H - -#include - -#ifdef _WIN32 -#include -#endif - -#include "NameMangle.h" - -#define SZ_OK 0 - -#define SZ_ERROR_DATA 1 -#define SZ_ERROR_MEM 2 -#define SZ_ERROR_CRC 3 -#define SZ_ERROR_UNSUPPORTED 4 -#define SZ_ERROR_PARAM 5 -#define SZ_ERROR_INPUT_EOF 6 -#define SZ_ERROR_OUTPUT_EOF 7 -#define SZ_ERROR_READ 8 -#define SZ_ERROR_WRITE 9 -#define SZ_ERROR_PROGRESS 10 -#define SZ_ERROR_FAIL 11 -#define SZ_ERROR_THREAD 12 - -#define SZ_ERROR_ARCHIVE 16 -#define SZ_ERROR_NO_ARCHIVE 17 - -typedef int SRes; - -#ifdef _WIN32 -typedef DWORD WRes; -#else -typedef int WRes; -#endif - -#ifndef RINOK -#define RINOK(x) { int __result__ = (x); if (__result__ != 0) return __result__; } -#endif - -typedef unsigned char Byte; -typedef short Int16; -typedef unsigned short UInt16; - -#ifdef _LZMA_UINT32_IS_ULONG -typedef long Int32; -typedef unsigned long UInt32; -#else -typedef int Int32; -typedef unsigned int UInt32; -#endif - -#ifdef _SZ_NO_INT_64 - -/* define _SZ_NO_INT_64, if your compiler doesn't support 64-bit integers. - NOTES: Some code will work incorrectly in that case! */ - -typedef long Int64; -typedef unsigned long UInt64; - -#else - -#if defined(_MSC_VER) || defined(__BORLANDC__) -typedef __int64 Int64; -typedef unsigned __int64 UInt64; -#else -typedef long long int Int64; -typedef unsigned long long int UInt64; -#endif - -#endif - -#ifdef _LZMA_NO_SYSTEM_SIZE_T -typedef UInt32 SizeT; -#else -typedef size_t SizeT; -#endif - -typedef int Bool; -#define True 1 -#define False 0 - - -#ifdef _MSC_VER - -#if _MSC_VER >= 1300 -#define MY_NO_INLINE __declspec(noinline) -#else -#define MY_NO_INLINE -#endif - -#define MY_CDECL __cdecl -#define MY_STD_CALL __stdcall -#define MY_FAST_CALL MY_NO_INLINE __fastcall - -#else - -#define MY_CDECL -#define MY_STD_CALL -#define MY_FAST_CALL - -#endif - - -/* The following interfaces use first parameter as pointer to structure */ - -typedef struct -{ - SRes (*Read)(void *p, void *buf, size_t *size); - /* if (input(*size) != 0 && output(*size) == 0) means end_of_stream. - (output(*size) < input(*size)) is allowed */ -} ISeqInStream; - -/* it can return SZ_ERROR_INPUT_EOF */ -SRes SeqInStream_Read(ISeqInStream *stream, void *buf, size_t size); -SRes SeqInStream_Read2(ISeqInStream *stream, void *buf, size_t size, SRes errorType); -SRes SeqInStream_ReadByte(ISeqInStream *stream, Byte *buf); - -typedef struct -{ - size_t (*Write)(void *p, const void *buf, size_t size); - /* Returns: result - the number of actually written bytes. - (result < size) means error */ -} ISeqOutStream; - -typedef enum -{ - SZ_SEEK_SET = 0, - SZ_SEEK_CUR = 1, - SZ_SEEK_END = 2 -} ESzSeek; - -typedef struct -{ - SRes (*Read)(void *p, void *buf, size_t *size); /* same as ISeqInStream::Read */ - SRes (*Seek)(void *p, Int64 *pos, ESzSeek origin); -} ISeekInStream; - -typedef struct -{ - SRes (*Look)(void *p, void **buf, size_t *size); - /* if (input(*size) != 0 && output(*size) == 0) means end_of_stream. - (output(*size) > input(*size)) is not allowed - (output(*size) < input(*size)) is allowed */ - SRes (*Skip)(void *p, size_t offset); - /* offset must be <= output(*size) of Look */ - - SRes (*Read)(void *p, void *buf, size_t *size); - /* reads directly (without buffer). It's same as ISeqInStream::Read */ - SRes (*Seek)(void *p, Int64 *pos, ESzSeek origin); -} ILookInStream; - -SRes LookInStream_LookRead(ILookInStream *stream, void *buf, size_t *size); -SRes LookInStream_SeekTo(ILookInStream *stream, UInt64 offset); - -/* reads via ILookInStream::Read */ -SRes LookInStream_Read2(ILookInStream *stream, void *buf, size_t size, SRes errorType); -SRes LookInStream_Read(ILookInStream *stream, void *buf, size_t size); - -#define LookToRead_BUF_SIZE (1 << 14) - -typedef struct -{ - ILookInStream s; - ISeekInStream *realStream; - size_t pos; - size_t size; - Byte buf[LookToRead_BUF_SIZE]; -} CLookToRead; - -void LookToRead_CreateVTable(CLookToRead *p, int lookahead); -void LookToRead_Init(CLookToRead *p); - -typedef struct -{ - ISeqInStream s; - ILookInStream *realStream; -} CSecToLook; - -void SecToLook_CreateVTable(CSecToLook *p); - -typedef struct -{ - ISeqInStream s; - ILookInStream *realStream; -} CSecToRead; - -void SecToRead_CreateVTable(CSecToRead *p); - -typedef struct -{ - SRes (*Progress)(void *p, UInt64 inSize, UInt64 outSize); - /* Returns: result. (result != SZ_OK) means break. - Value (UInt64)(Int64)-1 for size means unknown value. */ -} ICompressProgress; - -typedef struct -{ - void *(*Alloc)(void *p, size_t size); - void (*Free)(void *p, void *address); /* address can be 0 */ -} ISzAlloc; - -#define IAlloc_Alloc(p, size) (p)->Alloc((p), size) -#define IAlloc_Free(p, a) (p)->Free((p), a) - -#endif diff --git a/3rdparty/openctm/lib/liblzma/readme.txt b/3rdparty/openctm/lib/liblzma/readme.txt deleted file mode 100644 index b34ccddf0..000000000 --- a/3rdparty/openctm/lib/liblzma/readme.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is the C library implementation of LZMA compression/decompression by Igor Pavlov. - -Author: Igor Pavlov -License: Public domain -Version: 4.65 (2009-02-03) - -Some administrative adaptations for integration in OpenCTM were made by Marcus Geelnard. diff --git a/3rdparty/openctm/lib/make.depend b/3rdparty/openctm/lib/make.depend deleted file mode 100644 index d48e7aab5..000000000 --- a/3rdparty/openctm/lib/make.depend +++ /dev/null @@ -1,15 +0,0 @@ -openctm.o: openctm.c openctm.h internal.h -stream.o: stream.c openctm.h internal.h -compressRAW.o: compressRAW.c openctm.h internal.h -compressMG1.o: compressMG1.c openctm.h internal.h -compressMG2.o: compressMG2.c openctm.h internal.h -Alloc.o: liblzma/Alloc.c liblzma/Alloc.h liblzma/NameMangle.h -LzFind.o: liblzma/LzFind.c liblzma/LzFind.h liblzma/Types.h \ - liblzma/NameMangle.h liblzma/LzHash.h -LzmaDec.o: liblzma/LzmaDec.c liblzma/LzmaDec.h liblzma/Types.h \ - liblzma/NameMangle.h -LzmaEnc.o: liblzma/LzmaEnc.c liblzma/LzmaEnc.h liblzma/Types.h \ - liblzma/NameMangle.h liblzma/LzFind.h -LzmaLib.o: liblzma/LzmaLib.c liblzma/LzmaEnc.h liblzma/Types.h \ - liblzma/NameMangle.h liblzma/LzmaDec.h liblzma/Alloc.h \ - liblzma/LzmaLib.h diff --git a/3rdparty/openctm/lib/openctm-mingw1.def b/3rdparty/openctm/lib/openctm-mingw1.def deleted file mode 100644 index 58b7f70f9..000000000 --- a/3rdparty/openctm/lib/openctm-mingw1.def +++ /dev/null @@ -1,32 +0,0 @@ -LIBRARY openctm.dll -EXPORTS - ctmAddAttribMap = ctmAddAttribMap@12 @1 - ctmAddUVMap = ctmAddUVMap@16 @2 - ctmAttribPrecision = ctmAttribPrecision@12 @3 - ctmCompressionLevel = ctmCompressionLevel@8 @4 - ctmCompressionMethod = ctmCompressionMethod@8 @5 - ctmDefineMesh = ctmDefineMesh@24 @6 - ctmFileComment = ctmFileComment@8 @7 - ctmFreeContext = ctmFreeContext@4 @8 - ctmGetAttribMapFloat = ctmGetAttribMapFloat@12 @9 - ctmGetAttribMapString = ctmGetAttribMapString@12 @10 - ctmGetError = ctmGetError@4 @11 - ctmGetFloat = ctmGetFloat@8 @12 - ctmGetFloatArray = ctmGetFloatArray@8 @13 - ctmGetInteger = ctmGetInteger@8 @14 - ctmGetIntegerArray = ctmGetIntegerArray@8 @15 - ctmGetNamedAttribMap = ctmGetNamedAttribMap@8 @16 - ctmGetNamedUVMap = ctmGetNamedUVMap@8 @17 - ctmGetString = ctmGetString@8 @18 - ctmGetUVMapFloat = ctmGetUVMapFloat@12 @19 - ctmGetUVMapString = ctmGetUVMapString@12 @20 - ctmErrorString = ctmErrorString@4 @21 - ctmLoad = ctmLoad@8 @22 - ctmLoadCustom = ctmLoadCustom@12 @23 - ctmNewContext = ctmNewContext@4 @24 - ctmNormalPrecision = ctmNormalPrecision@8 @25 - ctmSave = ctmSave@8 @26 - ctmSaveCustom = ctmSaveCustom@12 @27 - ctmUVCoordPrecision = ctmUVCoordPrecision@12 @28 - ctmVertexPrecision = ctmVertexPrecision@8 @29 - ctmVertexPrecisionRel = ctmVertexPrecisionRel@8 @30 diff --git a/3rdparty/openctm/lib/openctm-mingw2.def b/3rdparty/openctm/lib/openctm-mingw2.def deleted file mode 100644 index 853b22d1c..000000000 --- a/3rdparty/openctm/lib/openctm-mingw2.def +++ /dev/null @@ -1,32 +0,0 @@ -LIBRARY openctm.dll -EXPORTS - ctmAddAttribMap@12 @1 - ctmAddUVMap@16 @2 - ctmAttribPrecision@12 @3 - ctmCompressionLevel@8 @4 - ctmCompressionMethod@8 @5 - ctmDefineMesh@24 @6 - ctmFileComment@8 @7 - ctmFreeContext@4 @8 - ctmGetAttribMapFloat@12 @9 - ctmGetAttribMapString@12 @10 - ctmGetError@4 @11 - ctmGetFloat@8 @12 - ctmGetFloatArray@8 @13 - ctmGetInteger@8 @14 - ctmGetIntegerArray@8 @15 - ctmGetNamedAttribMap@8 @16 - ctmGetNamedUVMap@8 @17 - ctmGetString@8 @18 - ctmGetUVMapFloat@12 @19 - ctmGetUVMapString@12 @20 - ctmErrorString@4 @21 - ctmLoad@8 @22 - ctmLoadCustom@12 @23 - ctmNewContext@4 @24 - ctmNormalPrecision@8 @25 - ctmSave@8 @26 - ctmSaveCustom@12 @27 - ctmUVCoordPrecision@12 @28 - ctmVertexPrecision@8 @29 - ctmVertexPrecisionRel@8 @30 diff --git a/3rdparty/openctm/lib/openctm-msvc.def b/3rdparty/openctm/lib/openctm-msvc.def deleted file mode 100644 index 1cb524bf4..000000000 --- a/3rdparty/openctm/lib/openctm-msvc.def +++ /dev/null @@ -1,32 +0,0 @@ -LIBRARY openctm.dll -EXPORTS - ctmAddAttribMap - ctmAddUVMap - ctmAttribPrecision - ctmCompressionLevel - ctmCompressionMethod - ctmDefineMesh - ctmFileComment - ctmFreeContext - ctmGetAttribMapFloat - ctmGetAttribMapString - ctmGetError - ctmGetFloat - ctmGetFloatArray - ctmGetInteger - ctmGetIntegerArray - ctmGetNamedAttribMap - ctmGetNamedUVMap - ctmGetString - ctmGetUVMapFloat - ctmGetUVMapString - ctmErrorString - ctmLoad - ctmLoadCustom - ctmNewContext - ctmNormalPrecision - ctmSave - ctmSaveCustom - ctmUVCoordPrecision - ctmVertexPrecision - ctmVertexPrecisionRel diff --git a/3rdparty/openctm/lib/openctm.c b/3rdparty/openctm/lib/openctm.c deleted file mode 100644 index 03461201c..000000000 --- a/3rdparty/openctm/lib/openctm.c +++ /dev/null @@ -1,1423 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: openctm.c -// Description: API functions. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include "openctm.h" -#include "internal.h" - - -// The C99 macro isfinite() is not supported on all platforms (specifically, -// MS Visual Studio does not support C99) -#if !defined(isfinite) && defined(_MSC_VER) - #include - #define isfinite(x) _finite(x) -#endif - - -//----------------------------------------------------------------------------- -// _ctmFreeMapList() - Free a float map list. -//----------------------------------------------------------------------------- -static void _ctmFreeMapList(_CTMcontext * self, _CTMfloatmap * aMapList) -{ - _CTMfloatmap * map, * nextMap; - map = aMapList; - while(map) - { - // Free internally allocated array (if we are in import mode) - if((self->mMode == CTM_IMPORT) && map->mValues) - free(map->mValues); - - // Free map name - if(map->mName) - free(map->mName); - - // Free file name - if(map->mFileName) - free(map->mFileName); - - nextMap = map->mNext; - free(map); - map = nextMap; - } -} - -//----------------------------------------------------------------------------- -// _ctmClearMesh() - Clear the mesh in a CTM context. -//----------------------------------------------------------------------------- -static void _ctmClearMesh(_CTMcontext * self) -{ - // Free internally allocated mesh arrays - if(self->mMode == CTM_IMPORT) - { - if(self->mVertices) - free(self->mVertices); - if(self->mIndices) - free(self->mIndices); - if(self->mNormals) - free(self->mNormals); - } - - // Clear externally assigned mesh arrays - self->mVertices = (CTMfloat *) 0; - self->mVertexCount = 0; - self->mIndices = (CTMuint *) 0; - self->mTriangleCount = 0; - self->mNormals = (CTMfloat *) 0; - - // Free UV coordinate map list - _ctmFreeMapList(self, self->mUVMaps); - self->mUVMaps = (_CTMfloatmap *) 0; - self->mUVMapCount = 0; - - // Free attribute map list - _ctmFreeMapList(self, self->mAttribMaps); - self->mAttribMaps = (_CTMfloatmap *) 0; - self->mAttribMapCount = 0; -} - -//----------------------------------------------------------------------------- -// _ctmCheckMeshIntegrity() - Check if a mesh is valid (i.e. is non-empty, and -// contains valid data). -//----------------------------------------------------------------------------- - -static CTMint _ctmCheckMeshIntegrity(_CTMcontext * self) -{ - CTMuint i; - _CTMfloatmap * map; - - // Check that we have all the mandatory data - if(!self->mVertices || !self->mIndices || (self->mVertexCount < 1) || - (self->mTriangleCount < 1)) - { - return CTM_FALSE; - } - - // Check that all indices are within range - for(i = 0; i < (self->mTriangleCount * 3); ++ i) - { - if(self->mIndices[i] >= self->mVertexCount) - { - return CTM_FALSE; - } - } - - // Check that all vertices are finite (non-NaN, non-inf) - for(i = 0; i < self->mVertexCount * 3; ++ i) - { - if(!isfinite(self->mVertices[i])) - { - return CTM_FALSE; - } - } - - // Check that all normals are finite (non-NaN, non-inf) - if(self->mNormals) - { - for(i = 0; i < self->mVertexCount * 3; ++ i) - { - if(!isfinite(self->mNormals[i])) - { - return CTM_FALSE; - } - } - } - - // Check that all UV maps are finite (non-NaN, non-inf) - map = self->mUVMaps; - while(map) - { - for(i = 0; i < self->mVertexCount * 2; ++ i) - { - if(!isfinite(map->mValues[i])) - { - return CTM_FALSE; - } - } - map = map->mNext; - } - - // Check that all attribute maps are finite (non-NaN, non-inf) - map = self->mAttribMaps; - while(map) - { - for(i = 0; i < self->mVertexCount * 4; ++ i) - { - if(!isfinite(map->mValues[i])) - { - return CTM_FALSE; - } - } - map = map->mNext; - } - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// ctmNewContext() -//----------------------------------------------------------------------------- -CTMEXPORT CTMcontext CTMCALL ctmNewContext(CTMenum aMode) -{ - _CTMcontext * self; - - // Allocate memory for the new structure - self = (_CTMcontext *) malloc(sizeof(_CTMcontext)); - - // Initialize structure (set null pointers and zero array lengths) - memset(self, 0, sizeof(_CTMcontext)); - self->mMode = aMode; - self->mError = CTM_NONE; - self->mMethod = CTM_METHOD_MG1; - self->mCompressionLevel = 1; - self->mVertexPrecision = 1.0f / 1024.0f; - self->mNormalPrecision = 1.0f / 256.0f; - - return (CTMcontext) self; -} - -//----------------------------------------------------------------------------- -// ctmFreeContext() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmFreeContext(CTMcontext aContext) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // Free all mesh resources - _ctmClearMesh(self); - - // Free the file comment - if(self->mFileComment) - free(self->mFileComment); - - // Free the context - free(self); -} - -//----------------------------------------------------------------------------- -// ctmGetError() -//----------------------------------------------------------------------------- -CTMEXPORT CTMenum CTMCALL ctmGetError(CTMcontext aContext) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - CTMenum err; - - if(!self) return CTM_INVALID_CONTEXT; - - // Get error code and reset error state - err = self->mError; - self->mError = CTM_NONE; - return err; -} - -//----------------------------------------------------------------------------- -// ctmErrorString() -//----------------------------------------------------------------------------- -CTMEXPORT const char * CTMCALL ctmErrorString(CTMenum aError) -{ - switch(aError) - { - case CTM_INVALID_CONTEXT: - return "CTM_INVALID_CONTEXT"; - case CTM_INVALID_ARGUMENT: - return "CTM_INVALID_ARGUMENT"; - case CTM_INVALID_OPERATION: - return "CTM_INVALID_OPERATION"; - case CTM_INVALID_MESH: - return "CTM_INVALID_MESH"; - case CTM_OUT_OF_MEMORY: - return "CTM_OUT_OF_MEMORY"; - case CTM_FILE_ERROR: - return "CTM_FILE_ERROR"; - case CTM_BAD_FORMAT: - return "CTM_BAD_FORMAT"; - case CTM_LZMA_ERROR: - return "CTM_LZMA_ERROR"; - case CTM_INTERNAL_ERROR: - return "CTM_INTERNAL_ERROR"; - case CTM_UNSUPPORTED_FORMAT_VERSION: - return "CTM_UNSUPPORTED_FORMAT_VERSION"; - default: - return "Unknown error code"; - } -} - -//----------------------------------------------------------------------------- -// ctmGetInteger() -//----------------------------------------------------------------------------- -CTMEXPORT CTMuint CTMCALL ctmGetInteger(CTMcontext aContext, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return 0; - - switch(aProperty) - { - case CTM_VERTEX_COUNT: - return self->mVertexCount; - - case CTM_TRIANGLE_COUNT: - return self->mTriangleCount; - - case CTM_UV_MAP_COUNT: - return self->mUVMapCount; - - case CTM_ATTRIB_MAP_COUNT: - return self->mAttribMapCount; - - case CTM_HAS_NORMALS: - return self->mNormals ? CTM_TRUE : CTM_FALSE; - - case CTM_COMPRESSION_METHOD: - return (CTMuint) self->mMethod; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return 0; -} - -//----------------------------------------------------------------------------- -// ctmGetFloat() -//----------------------------------------------------------------------------- -CTMEXPORT CTMfloat CTMCALL ctmGetFloat(CTMcontext aContext, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return 0.0f; - - switch(aProperty) - { - case CTM_VERTEX_PRECISION: - return self->mVertexPrecision; - - case CTM_NORMAL_PRECISION: - return self->mNormalPrecision; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return 0.0f; -} - -//----------------------------------------------------------------------------- -// ctmGetIntegerArray() -//----------------------------------------------------------------------------- -CTMEXPORT const CTMuint * CTMCALL ctmGetIntegerArray(CTMcontext aContext, - CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return (CTMuint *) 0; - - switch(aProperty) - { - case CTM_INDICES: - return self->mIndices; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return (CTMuint *) 0; -} - -//----------------------------------------------------------------------------- -// ctmGetFloatArray() -//----------------------------------------------------------------------------- -CTMEXPORT const CTMfloat * CTMCALL ctmGetFloatArray(CTMcontext aContext, - CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return (CTMfloat *) 0; - - // Did the user request a UV map? - if((aProperty >= CTM_UV_MAP_1) && - ((CTMuint)(aProperty - CTM_UV_MAP_1) < self->mUVMapCount)) - { - map = self->mUVMaps; - i = CTM_UV_MAP_1; - while(map && (i != aProperty)) - { - map = map->mNext; - ++ i; - } - if(!map) - { - self->mError = CTM_INTERNAL_ERROR; - return (CTMfloat *) 0; - } - return map->mValues; - } - - // Did the user request an attribute map? - if((aProperty >= CTM_ATTRIB_MAP_1) && - ((CTMuint)(aProperty - CTM_ATTRIB_MAP_1) < self->mAttribMapCount)) - { - map = self->mAttribMaps; - i = CTM_ATTRIB_MAP_1; - while(map && (i != aProperty)) - { - map = map->mNext; - ++ i; - } - if(!map) - { - self->mError = CTM_INTERNAL_ERROR; - return (CTMfloat *) 0; - } - return map->mValues; - } - - switch(aProperty) - { - case CTM_VERTICES: - return self->mVertices; - - case CTM_NORMALS: - return self->mNormals; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return (CTMfloat *) 0; -} - -//----------------------------------------------------------------------------- -// ctmGetNamedUVMap() -//----------------------------------------------------------------------------- -CTMEXPORT CTMenum CTMCALL ctmGetNamedUVMap(CTMcontext aContext, - const char * aName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint result; - if(!self) return CTM_NONE; - - map = self->mUVMaps; - result = CTM_UV_MAP_1; - while(map && (strcmp(aName, map->mName) != 0)) - { - map = map->mNext; - ++ result; - } - if(!map) - { - return CTM_NONE; - } - return result; -} - -//----------------------------------------------------------------------------- -// ctmGetUVMapString() -//----------------------------------------------------------------------------- -CTMEXPORT const char * CTMCALL ctmGetUVMapString(CTMcontext aContext, - CTMenum aUVMap, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return (const char *) 0; - - // Find the indicated map - map = self->mUVMaps; - i = CTM_UV_MAP_1; - while(map && (i != aUVMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return (const char *) 0; - } - - // Get the requested string - switch(aProperty) - { - case CTM_NAME: - return (const char *) map->mName; - - case CTM_FILE_NAME: - return (const char *) map->mFileName; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return (const char *) 0; -} - -//----------------------------------------------------------------------------- -// ctmGetUVMapFloat() -//----------------------------------------------------------------------------- -CTMEXPORT CTMfloat CTMCALL ctmGetUVMapFloat(CTMcontext aContext, - CTMenum aUVMap, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return 0.0f; - - // Find the indicated map - map = self->mUVMaps; - i = CTM_UV_MAP_1; - while(map && (i != aUVMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return 0.0f; - } - - // Get the requested string - switch(aProperty) - { - case CTM_PRECISION: - return map->mPrecision; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return 0.0f; -} - -//----------------------------------------------------------------------------- -// ctmGetAttribMapString() -//----------------------------------------------------------------------------- -CTMEXPORT const char * CTMCALL ctmGetAttribMapString(CTMcontext aContext, - CTMenum aAttribMap, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return (const char *) 0; - - // Find the indicated map - map = self->mAttribMaps; - i = CTM_ATTRIB_MAP_1; - while(map && (i != aAttribMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return (const char *) 0; - } - - // Get the requested string - switch(aProperty) - { - case CTM_NAME: - return (const char *) map->mName; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return (const char *) 0; -} - -//----------------------------------------------------------------------------- -// ctmGetAttribMapFloat() -//----------------------------------------------------------------------------- -CTMEXPORT CTMfloat CTMCALL ctmGetAttribMapFloat(CTMcontext aContext, - CTMenum aAttribMap, CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return 0.0f; - - // Find the indicated map - map = self->mAttribMaps; - i = CTM_ATTRIB_MAP_1; - while(map && (i != aAttribMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return 0.0f; - } - - // Get the requested string - switch(aProperty) - { - case CTM_PRECISION: - return map->mPrecision; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return 0.0f; -} - -//----------------------------------------------------------------------------- -// ctmGetNamedAttribMap() -//----------------------------------------------------------------------------- -CTMEXPORT CTMenum CTMCALL ctmGetNamedAttribMap(CTMcontext aContext, - const char * aName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint result; - if(!self) return CTM_NONE; - - map = self->mAttribMaps; - result = CTM_ATTRIB_MAP_1; - while(map && (strcmp(aName, map->mName) != 0)) - { - map = map->mNext; - ++ result; - } - if(!map) - { - return CTM_NONE; - } - return result; -} - -//----------------------------------------------------------------------------- -// ctmGetString() -//----------------------------------------------------------------------------- -CTMEXPORT const char * CTMCALL ctmGetString(CTMcontext aContext, - CTMenum aProperty) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return 0; - - switch(aProperty) - { - case CTM_FILE_COMMENT: - return (const char *) self->mFileComment; - - default: - self->mError = CTM_INVALID_ARGUMENT; - } - - return (const char *) 0; -} - -//----------------------------------------------------------------------------- -// ctmCompressionMethod() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmCompressionMethod(CTMcontext aContext, - CTMenum aMethod) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if((aMethod != CTM_METHOD_RAW) && (aMethod != CTM_METHOD_MG1) && - (aMethod != CTM_METHOD_MG2)) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Set method - self->mMethod = aMethod; -} - -//----------------------------------------------------------------------------- -// ctmCompressionLevel() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmCompressionLevel(CTMcontext aContext, - CTMuint aLevel) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aLevel > 9) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Set the compression level - self->mCompressionLevel = aLevel; -} - -//----------------------------------------------------------------------------- -// ctmVertexPrecision() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmVertexPrecision(CTMcontext aContext, - CTMfloat aPrecision) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aPrecision <= 0.0f) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Set precision - self->mVertexPrecision = aPrecision; -} - -//----------------------------------------------------------------------------- -// ctmVertexPrecisionRel() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmVertexPrecisionRel(CTMcontext aContext, - CTMfloat aRelPrecision) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - CTMfloat avgEdgeLength, * p1, * p2; - CTMuint edgeCount, i, j; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aRelPrecision <= 0.0f) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Calculate the average edge length (Note: we actually sum up all the half- - // edges, so in a proper solid mesh all connected edges are counted twice) - avgEdgeLength = 0.0f; - edgeCount = 0; - for(i = 0; i < self->mTriangleCount; ++ i) - { - p1 = &self->mVertices[self->mIndices[i * 3 + 2] * 3]; - for(j = 0; j < 3; ++ j) - { - p2 = &self->mVertices[self->mIndices[i * 3 + j] * 3]; - avgEdgeLength += sqrtf((p2[0] - p1[0]) * (p2[0] - p1[0]) + - (p2[1] - p1[1]) * (p2[1] - p1[1]) + - (p2[2] - p1[2]) * (p2[2] - p1[2])); - p1 = p2; - ++ edgeCount; - } - } - if(edgeCount == 0) - { - self->mError = CTM_INVALID_MESH; - return; - } - avgEdgeLength /= (CTMfloat) edgeCount; - - // Set precision - self->mVertexPrecision = aRelPrecision * avgEdgeLength; -} - -//----------------------------------------------------------------------------- -// ctmNormalPrecision() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmNormalPrecision(CTMcontext aContext, - CTMfloat aPrecision) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aPrecision <= 0.0f) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Set precision - self->mNormalPrecision = aPrecision; -} - -//----------------------------------------------------------------------------- -// ctmUVCoordPrecision() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmUVCoordPrecision(CTMcontext aContext, - CTMenum aUVMap, CTMfloat aPrecision) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aPrecision <= 0.0f) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Find the indicated map - map = self->mUVMaps; - i = CTM_UV_MAP_1; - while(map && (i != aUVMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Update the precision - map->mPrecision = aPrecision; -} - -//----------------------------------------------------------------------------- -// ctmAttribPrecision() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmAttribPrecision(CTMcontext aContext, - CTMenum aAttribMap, CTMfloat aPrecision) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - CTMuint i; - if(!self) return; - - // You are only allowed to change compression attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(aPrecision <= 0.0f) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Find the indicated map - map = self->mAttribMaps; - i = CTM_ATTRIB_MAP_1; - while(map && (i != aAttribMap)) - { - ++ i; - map = map->mNext; - } - if(!map) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Update the precision - map->mPrecision = aPrecision; -} - -//----------------------------------------------------------------------------- -// ctmFileComment() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmFileComment(CTMcontext aContext, - const char * aFileComment) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - int len; - if(!self) return; - - // You are only allowed to change file attributes in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Free the old comment string, if necessary - if(self->mFileComment) - { - free(self->mFileComment); - self->mFileComment = (char *) 0; - } - - // Get length of string (if empty, do nothing) - if(!aFileComment) - return; - len = (int)strlen(aFileComment); - if(!len) - return; - - // Copy the string - self->mFileComment = (char *) malloc(len + 1); - if(!self->mFileComment) - { - self->mError = CTM_OUT_OF_MEMORY; - return; - } - strcpy(self->mFileComment, aFileComment); -} - -//----------------------------------------------------------------------------- -// ctmDefineMesh() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmDefineMesh(CTMcontext aContext, - const CTMfloat * aVertices, CTMuint aVertexCount, const CTMuint * aIndices, - CTMuint aTriangleCount, const CTMfloat * aNormals) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - if(!self) return; - - // You are only allowed to (re)define the mesh in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check arguments - if(!aVertices || !aIndices || !aVertexCount || !aTriangleCount) - { - self->mError = CTM_INVALID_ARGUMENT; - return; - } - - // Clear the old mesh, if any - _ctmClearMesh(self); - - // Set vertex array pointer - self->mVertices = (CTMfloat *) aVertices; - self->mVertexCount = aVertexCount; - - // Set index array pointer - self->mIndices = (CTMuint *) aIndices; - self->mTriangleCount = aTriangleCount; - - // Set normal array pointer - self->mNormals = (CTMfloat *) aNormals; -} - -//----------------------------------------------------------------------------- -// _ctmAddFloatMap() -//----------------------------------------------------------------------------- -static _CTMfloatmap * _ctmAddFloatMap(_CTMcontext * self, - const CTMfloat * aValues, const char * aName, const char * aFileName, - _CTMfloatmap ** aList) -{ - _CTMfloatmap * map; - CTMuint len; - - // Allocate memory for a new map list item and append it to the list - if(!*aList) - { - *aList = (_CTMfloatmap *) malloc(sizeof(_CTMfloatmap)); - map = *aList; - } - else - { - map = *aList; - while(map->mNext) - map = map->mNext; - map->mNext = (_CTMfloatmap *) malloc(sizeof(_CTMfloatmap)); - map = map->mNext; - } - if(!map) - { - self->mError = CTM_OUT_OF_MEMORY; - return (_CTMfloatmap *) 0; - } - - // Init the map item - memset(map, 0, sizeof(_CTMfloatmap)); - map->mPrecision = 1.0f / 1024.0f; - map->mValues = (CTMfloat *) aValues; - - // Set name of the map - if(aName) - { - // Get length of string (if empty, do nothing) - len = (CTMuint)strlen(aName); - if(len) - { - // Copy the string - map->mName = (char *) malloc(len + 1); - if(!map->mName) - { - self->mError = CTM_OUT_OF_MEMORY; - free(map); - return (_CTMfloatmap *) 0; - } - strcpy(map->mName, aName); - } - } - - // Set file name reference for the map - if(aFileName) - { - // Get length of string (if empty, do nothing) - len = (CTMuint)strlen(aFileName); - if(len) - { - // Copy the string - map->mFileName = (char *) malloc(len + 1); - if(!map->mFileName) - { - self->mError = CTM_OUT_OF_MEMORY; - if(map->mName) - free(map->mName); - free(map); - return (_CTMfloatmap *) 0; - } - strcpy(map->mFileName, aFileName); - } - } - - return map; -} - -//----------------------------------------------------------------------------- -// ctmAddUVMap() -//----------------------------------------------------------------------------- -CTMEXPORT CTMenum CTMCALL ctmAddUVMap(CTMcontext aContext, - const CTMfloat * aUVCoords, const char * aName, const char * aFileName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - if(!self) return CTM_NONE; - - // Add a new UV map to the UV map list - map = _ctmAddFloatMap(self, aUVCoords, aName, aFileName, &self->mUVMaps); - if(!map) - return CTM_NONE; - else - { - // The default UV coordinate precision is 2^-12 - map->mPrecision = 1.0f / 4096.0f; - ++ self->mUVMapCount; - return CTM_UV_MAP_1 + self->mUVMapCount - 1; - } -} - -//----------------------------------------------------------------------------- -// ctmAddAttribMap() -//----------------------------------------------------------------------------- -CTMEXPORT CTMenum CTMCALL ctmAddAttribMap(CTMcontext aContext, - const CTMfloat * aAttribValues, const char * aName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - _CTMfloatmap * map; - if(!self) return CTM_NONE; - - // Add a new attribute map to the attribute map list - map = _ctmAddFloatMap(self, aAttribValues, aName, (const char *) 0, - &self->mAttribMaps); - if(!map) - return CTM_NONE; - else - { - // The default vertex attribute precision is 2^-8 - map->mPrecision = 1.0f / 256.0f; - ++ self->mAttribMapCount; - return CTM_ATTRIB_MAP_1 + self->mAttribMapCount - 1; - } -} - -//----------------------------------------------------------------------------- -// _ctmDefaultRead() -//----------------------------------------------------------------------------- -static CTMuint CTMCALL _ctmDefaultRead(void * aBuf, CTMuint aCount, - void * aUserData) -{ - return (CTMuint) fread(aBuf, 1, (size_t) aCount, (FILE *) aUserData); -} - -//----------------------------------------------------------------------------- -// ctmLoad() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmLoad(CTMcontext aContext, const char * aFileName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - FILE * f; - if(!self) return; - - // You are only allowed to load data in import mode - if(self->mMode != CTM_IMPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Open file stream - f = fopen(aFileName, "rb"); - if(!f) - { - self->mError = CTM_FILE_ERROR; - return; - } - - // Load the file - ctmLoadCustom(self, _ctmDefaultRead, (void *) f); - - // Close file stream - fclose(f); -} - -//----------------------------------------------------------------------------- -// _ctmAllocateFloatMaps() -//----------------------------------------------------------------------------- -static CTMuint _ctmAllocateFloatMaps(_CTMcontext * self, - _CTMfloatmap ** aMapListPtr, CTMuint aCount, CTMuint aChannels) -{ - _CTMfloatmap ** mapListPtr; - CTMuint i, size; - - mapListPtr = aMapListPtr; - for(i = 0; i < aCount; ++ i) - { - // Allocate & clear memory for this map - *mapListPtr = (_CTMfloatmap *) malloc(sizeof(_CTMfloatmap)); - if(!*mapListPtr) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - memset(*mapListPtr, 0, sizeof(_CTMfloatmap)); - - // Allocate & clear memory for the float array - size = aChannels * sizeof(CTMfloat) * self->mVertexCount; - (*mapListPtr)->mValues = (CTMfloat *) malloc(size); - if(!(*mapListPtr)->mValues) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - memset((*mapListPtr)->mValues, 0, size); - - // Next map... - mapListPtr = &(*mapListPtr)->mNext; - } - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// ctmLoadCustom() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmLoadCustom(CTMcontext aContext, CTMreadfn aReadFn, - void * aUserData) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - CTMuint formatVersion, flags, method; - if(!self) return; - - // You are only allowed to load data in import mode - if(self->mMode != CTM_IMPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Initialize stream - self->mReadFn = aReadFn; - self->mUserData = aUserData; - - // Clear any old mesh arrays - _ctmClearMesh(self); - - // Read header from stream - if(_ctmStreamReadUINT(self) != FOURCC("OCTM")) - { - self->mError = CTM_BAD_FORMAT; - return; - } - formatVersion = _ctmStreamReadUINT(self); - if(formatVersion != _CTM_FORMAT_VERSION) - { - self->mError = CTM_UNSUPPORTED_FORMAT_VERSION; - return; - } - method = _ctmStreamReadUINT(self); - if(method == FOURCC("RAW\0")) - self->mMethod = CTM_METHOD_RAW; - else if(method == FOURCC("MG1\0")) - self->mMethod = CTM_METHOD_MG1; - else if(method == FOURCC("MG2\0")) - self->mMethod = CTM_METHOD_MG2; - else - { - self->mError = CTM_BAD_FORMAT; - return; - } - self->mVertexCount = _ctmStreamReadUINT(self); - if(self->mVertexCount == 0) - { - self->mError = CTM_BAD_FORMAT; - return; - } - self->mTriangleCount = _ctmStreamReadUINT(self); - if(self->mTriangleCount == 0) - { - self->mError = CTM_BAD_FORMAT; - return; - } - self->mUVMapCount = _ctmStreamReadUINT(self); - self->mAttribMapCount = _ctmStreamReadUINT(self); - flags = _ctmStreamReadUINT(self); - _ctmStreamReadSTRING(self, &self->mFileComment); - - // Allocate memory for the mesh arrays - self->mVertices = (CTMfloat *) malloc(self->mVertexCount * sizeof(CTMfloat) * 3); - if(!self->mVertices) - { - self->mError = CTM_OUT_OF_MEMORY; - return; - } - self->mIndices = (CTMuint *) malloc(self->mTriangleCount * sizeof(CTMuint) * 3); - if(!self->mIndices) - { - _ctmClearMesh(self); - self->mError = CTM_OUT_OF_MEMORY; - return; - } - if(flags & _CTM_HAS_NORMALS_BIT) - { - self->mNormals = (CTMfloat *) malloc(self->mVertexCount * sizeof(CTMfloat) * 3); - if(!self->mNormals) - { - _ctmClearMesh(self); - self->mError = CTM_OUT_OF_MEMORY; - return; - } - } - - // Allocate memory for the UV and attribute maps (if any) - if(!_ctmAllocateFloatMaps(self, &self->mUVMaps, self->mUVMapCount, 2)) - { - _ctmClearMesh(self); - self->mError = CTM_OUT_OF_MEMORY; - return; - } - if(!_ctmAllocateFloatMaps(self, &self->mAttribMaps, self->mAttribMapCount, 4)) - { - _ctmClearMesh(self); - self->mError = CTM_OUT_OF_MEMORY; - return; - } - - // Uncompress from stream - switch(self->mMethod) - { - case CTM_METHOD_RAW: - _ctmUncompressMesh_RAW(self); - break; - - case CTM_METHOD_MG1: - _ctmUncompressMesh_MG1(self); - break; - - case CTM_METHOD_MG2: - _ctmUncompressMesh_MG2(self); - break; - - default: - self->mError = CTM_INTERNAL_ERROR; - } - - // Check mesh integrity - if(!_ctmCheckMeshIntegrity(self)) - { - self->mError = CTM_INVALID_MESH; - return; - } -} - -//----------------------------------------------------------------------------- -// _ctmDefaultWrite() -//----------------------------------------------------------------------------- -static CTMuint CTMCALL _ctmDefaultWrite(const void * aBuf, CTMuint aCount, - void * aUserData) -{ - return (CTMuint) fwrite(aBuf, 1, (size_t) aCount, (FILE *) aUserData); -} - -//----------------------------------------------------------------------------- -// ctmSave() -//----------------------------------------------------------------------------- -CTMEXPORT void CTMCALL ctmSave(CTMcontext aContext, const char * aFileName) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - FILE * f; - if(!self) return; - - // You are only allowed to save data in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Open file stream - f = fopen(aFileName, "wb"); - if(!f) - { - self->mError = CTM_FILE_ERROR; - return; - } - - // Save the file - ctmSaveCustom(self, _ctmDefaultWrite, (void *) f); - - // Close file stream - fclose(f); -} - -//----------------------------------------------------------------------------- -// ctmSaveCustom() -//----------------------------------------------------------------------------- -void CTMCALL ctmSaveCustom(CTMcontext aContext, CTMwritefn aWriteFn, - void * aUserData) -{ - _CTMcontext * self = (_CTMcontext *) aContext; - CTMuint flags; - if(!self) return; - - // You are only allowed to save data in export mode - if(self->mMode != CTM_EXPORT) - { - self->mError = CTM_INVALID_OPERATION; - return; - } - - // Check mesh integrity - if(!_ctmCheckMeshIntegrity(self)) - { - self->mError = CTM_INVALID_MESH; - return; - } - - // Initialize stream - self->mWriteFn = aWriteFn; - self->mUserData = aUserData; - - // Determine flags - flags = 0; - if(self->mNormals) - flags |= _CTM_HAS_NORMALS_BIT; - - // Write header to stream - _ctmStreamWrite(self, (void *) "OCTM", 4); - _ctmStreamWriteUINT(self, _CTM_FORMAT_VERSION); - switch(self->mMethod) - { - case CTM_METHOD_RAW: - _ctmStreamWrite(self, (void *) "RAW\0", 4); - break; - - case CTM_METHOD_MG1: - _ctmStreamWrite(self, (void *) "MG1\0", 4); - break; - - case CTM_METHOD_MG2: - _ctmStreamWrite(self, (void *) "MG2\0", 4); - break; - - default: - self->mError = CTM_INTERNAL_ERROR; - return; - } - _ctmStreamWriteUINT(self, self->mVertexCount); - _ctmStreamWriteUINT(self, self->mTriangleCount); - _ctmStreamWriteUINT(self, self->mUVMapCount); - _ctmStreamWriteUINT(self, self->mAttribMapCount); - _ctmStreamWriteUINT(self, flags); - _ctmStreamWriteSTRING(self, self->mFileComment); - - // Compress to stream - switch(self->mMethod) - { - case CTM_METHOD_RAW: - _ctmCompressMesh_RAW(self); - break; - - case CTM_METHOD_MG1: - _ctmCompressMesh_MG1(self); - break; - - case CTM_METHOD_MG2: - _ctmCompressMesh_MG2(self); - break; - - default: - self->mError = CTM_INTERNAL_ERROR; - return; - } -} diff --git a/3rdparty/openctm/lib/openctm.h b/3rdparty/openctm/lib/openctm.h deleted file mode 100644 index c3af29365..000000000 --- a/3rdparty/openctm/lib/openctm.h +++ /dev/null @@ -1,655 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: openctm.h -// Description: OpenCTM API definition. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __OPENCTM_H_ -#define __OPENCTM_H_ - -/*! @mainpage OpenCTM API Reference - * - * @section intro_sec Introduction - * - * OpenCTM is an open file format for storing compressed triangle meshes. - * In order to easily read and write OpenCTM files (usually suffixed .ctm) an - * API (Application Program Interface) is provided that can easily be used from - * most modern programming languages. - * - * The OpenCTM functionality itself is written in highly portable standard C - * (C99). - * - * @section usage_sec Usage - * - * For information about how to use the OpenCTM API, see openctm.h. - * - * For information about the C++ wrapper classes, see CTMimporter and - * CTMexporter. - * - * @section example_sec Example usage - * - * @subsection example_load_sec Loading a CTM file - * - * Here is a simple example of loading a CTM file: - * - * @code - * CTMcontext context; - * CTMuint vertCount, triCount, * indices; - * CTMfloat * vertices; - * - * // Create a new context - * context = ctmNewContext(CTM_IMPORT); - * - * // Load the OpenCTM file - * ctmLoad(context, "mymesh.ctm"); - * if(ctmGetError(context) == CTM_NONE) - * { - * // Access the mesh data - * vertCount = ctmGetInteger(context, CTM_VERTEX_COUNT); - * vertices = ctmGetFloatArray(context, CTM_VERTICES); - * triCount = ctmGetInteger(context, CTM_TRIANGLE_COUNT); - * indices = ctmGetIntegerArray(context, CTM_INDICES); - * - * // Deal with the mesh (e.g. transcode it to our internal representation) - * // ... - * } - * - * // Free the context - * ctmFreeContext(context); - * @endcode - * - * @subsection example_create_sec Creating a CTM file - * - * Here is a simple example of creating a CTM file: - * - * @code - * CTMcontext context; - * CTMuint vertCount, triCount, * indices; - * CTMfloat * vertices; - * - * // Create our mesh in memory - * vertCount = 100; - * triCount = 120; - * vertices = (CTMfloat *) malloc(3 * sizeof(CTMfloat) * vertCount); - * indices = (CTMuint *) malloc(3 * sizeof(CTMuint) * triCount); - * // ... - * - * // Create a new context - * context = ctmNewContext(CTM_EXPORT); - * - * // Define our mesh representation to OpenCTM (store references to it in - * // the context) - * ctmDefineMesh(context, vertices, vertCount, indices, triCount, NULL); - * - * // Save the OpenCTM file - * ctmSave(context, "mymesh.ctm"); - * - * // Free the context - * ctmFreeContext(context); - * - * // Free our mesh - * free(indices); - * free(vertices); - * @endcode - */ - -#ifdef __cplusplus -extern "C" { -#endif - - -// Declare calling conventions etc. -#if defined(WIN32) || defined(_WIN32) - // Windows - #if defined(OPENCTM_STATIC) - #define CTMEXPORT - #else - #if defined(OPENCTM_BUILD) - #define CTMEXPORT __declspec(dllexport) - #else - #define CTMEXPORT __declspec(dllimport) - #endif - #endif - #if defined(__MINGW32__) - #define CTMCALL __attribute__ ((__stdcall__)) - #elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) - #define CTMCALL __stdcall - #else - #define CTMCALL - #endif -#else - // Unix - #if !defined(OPENCTM_STATIC) && !defined(OPENCTM_BUILD) - #define CTMEXPORT extern - #else - #if defined(OPENCTM_BUILD) && defined(__GNUC__) && (__GNUC__ >= 4) - #define CTMEXPORT __attribute__ ((visibility("default"))) - #else - #define CTMEXPORT - #endif - #endif - #define CTMCALL -#endif - - -// Get system specific type definitions for sized integers. We use the C99 -// standard stdint.h for this. -#ifdef _MSC_VER - // MS Visual Studio does not support C99 - typedef int int32_t; - typedef unsigned int uint32_t; -#else - #include -#endif - - -/// OpenCTM API version (1.0). -#define CTM_API_VERSION 0x00000100 - -/// Boolean TRUE. -#define CTM_TRUE 1 - -/// Boolean FALSE. -#define CTM_FALSE 0 - -/// Single precision floating point type (IEEE 754 32 bits wide). -typedef float CTMfloat; - -/// Signed integer (32 bits wide). -typedef int32_t CTMint; - -/// Unsigned integer (32 bits wide). -typedef uint32_t CTMuint; - -/// OpenCTM context handle. -typedef void * CTMcontext; - -/// OpenCTM specific enumerators. -/// @note For the information query functions, it is an error to query a value -/// of the wrong type (e.g. to query a string value with the -/// ctmGetInteger() function). -typedef enum { - // Error codes (see ctmGetError()) - CTM_NONE = 0x0000, ///< No error has occured (everything is OK). - /// Also used as an error return value for - /// functions that should return a CTMenum - /// value. - CTM_INVALID_CONTEXT = 0x0001, ///< The OpenCTM context was invalid (e.g. NULL). - CTM_INVALID_ARGUMENT = 0x0002, ///< A function argument was invalid. - CTM_INVALID_OPERATION = 0x0003, ///< The operation is not allowed. - CTM_INVALID_MESH = 0x0004, ///< The mesh was invalid (e.g. no vertices). - CTM_OUT_OF_MEMORY = 0x0005, ///< Not enough memory to proceed. - CTM_FILE_ERROR = 0x0006, ///< File I/O error. - CTM_BAD_FORMAT = 0x0007, ///< File format error (e.g. unrecognized format or corrupted file). - CTM_LZMA_ERROR = 0x0008, ///< An error occured within the LZMA library. - CTM_INTERNAL_ERROR = 0x0009, ///< An internal error occured (indicates a bug). - CTM_UNSUPPORTED_FORMAT_VERSION = 0x000A, ///< Unsupported file format version. - - // OpenCTM context modes - CTM_IMPORT = 0x0101, ///< The OpenCTM context will be used for importing data. - CTM_EXPORT = 0x0102, ///< The OpenCTM context will be used for exporting data. - - // Compression methods - CTM_METHOD_RAW = 0x0201, ///< Just store the raw data. - CTM_METHOD_MG1 = 0x0202, ///< Lossless compression (floating point). - CTM_METHOD_MG2 = 0x0203, ///< Lossless compression (fixed point). - - // Context queries - CTM_VERTEX_COUNT = 0x0301, ///< Number of vertices in the mesh (integer). - CTM_TRIANGLE_COUNT = 0x0302, ///< Number of triangles in the mesh (integer). - CTM_HAS_NORMALS = 0x0303, ///< CTM_TRUE if the mesh has normals (integer). - CTM_UV_MAP_COUNT = 0x0304, ///< Number of UV coordinate sets (integer). - CTM_ATTRIB_MAP_COUNT = 0x0305, ///< Number of custom attribute sets (integer). - CTM_VERTEX_PRECISION = 0x0306, ///< Vertex precision - for MG2 (float). - CTM_NORMAL_PRECISION = 0x0307, ///< Normal precision - for MG2 (float). - CTM_COMPRESSION_METHOD = 0x0308, ///< Compression method (integer). - CTM_FILE_COMMENT = 0x0309, ///< File comment (string). - - // UV/attribute map queries - CTM_NAME = 0x0501, ///< Unique name (UV/attrib map string). - CTM_FILE_NAME = 0x0502, ///< File name reference (UV map string). - CTM_PRECISION = 0x0503, ///< Value precision (UV/attrib map float). - - // Array queries - CTM_INDICES = 0x0601, ///< Triangle indices (integer array). - CTM_VERTICES = 0x0602, ///< Vertex point coordinates (float array). - CTM_NORMALS = 0x0603, ///< Per vertex normals (float array). - CTM_UV_MAP_1 = 0x0700, ///< Per vertex UV map 1 (float array). - CTM_UV_MAP_2 = 0x0701, ///< Per vertex UV map 2 (float array). - CTM_UV_MAP_3 = 0x0702, ///< Per vertex UV map 3 (float array). - CTM_UV_MAP_4 = 0x0703, ///< Per vertex UV map 4 (float array). - CTM_UV_MAP_5 = 0x0704, ///< Per vertex UV map 5 (float array). - CTM_UV_MAP_6 = 0x0705, ///< Per vertex UV map 6 (float array). - CTM_UV_MAP_7 = 0x0706, ///< Per vertex UV map 7 (float array). - CTM_UV_MAP_8 = 0x0707, ///< Per vertex UV map 8 (float array). - CTM_ATTRIB_MAP_1 = 0x0800, ///< Per vertex attribute map 1 (float array). - CTM_ATTRIB_MAP_2 = 0x0801, ///< Per vertex attribute map 2 (float array). - CTM_ATTRIB_MAP_3 = 0x0802, ///< Per vertex attribute map 3 (float array). - CTM_ATTRIB_MAP_4 = 0x0803, ///< Per vertex attribute map 4 (float array). - CTM_ATTRIB_MAP_5 = 0x0804, ///< Per vertex attribute map 5 (float array). - CTM_ATTRIB_MAP_6 = 0x0805, ///< Per vertex attribute map 6 (float array). - CTM_ATTRIB_MAP_7 = 0x0806, ///< Per vertex attribute map 7 (float array). - CTM_ATTRIB_MAP_8 = 0x0807 ///< Per vertex attribute map 8 (float array). -} CTMenum; - -/// Stream read() function pointer. -/// @param[in] aBuf Pointer to the memory buffer to which data should be read. -/// @param[in] aCount The number of bytes to read. -/// @param[in] aUserData The custom user data that was passed to the -/// ctmLoadCustom() function. -/// @return The number of bytes actually read (if this is less than aCount, it -/// indicates that an error occured or the end of file was reached -/// before all bytes were read). -typedef CTMuint (CTMCALL * CTMreadfn)(void * aBuf, CTMuint aCount, void * aUserData); - -/// Stream write() function pointer. -/// @param[in] aBuf Pointer to the memory buffer from which data should be written. -/// @param[in] aCount The number of bytes to write. -/// @param[in] aUserData The custom user data that was passed to the -/// ctmSaveCustom() function. -/// @return The number of bytes actually written (if this is less than aCount, it -/// indicates that an error occured). -typedef CTMuint (CTMCALL * CTMwritefn)(const void * aBuf, CTMuint aCount, void * aUserData); - -/// Create a new OpenCTM context. The context is used for all subsequent -/// OpenCTM function calls. Several contexts can coexist at the same time. -/// @param[in] aMode An OpenCTM context mode. Set this to CTM_IMPORT if the -/// context will be used for importing data, or set it to CTM_EXPORT -/// if it will be used for exporting data. -/// @return An OpenCTM context handle (or NULL if no context could be created). -CTMEXPORT CTMcontext CTMCALL ctmNewContext(CTMenum aMode); - -/// Free an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @see ctmNewContext() -CTMEXPORT void CTMCALL ctmFreeContext(CTMcontext aContext); - -/// Returns the latest error. Calling this function will return the last -/// produced error code, or CTM_NO_ERROR (zero) if no error has occured since -/// the last call to ctmGetError(). When this function is called, the internal -/// error varibale will be reset to CTM_NONE. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @return An OpenCTM error code. -/// @see CTMenum -CTMEXPORT CTMenum CTMCALL ctmGetError(CTMcontext aContext); - -/// Converts an OpenCTM error code to a zero-terminated string. -/// @param[in] aError An OpenCTM error code, as returned by ctmGetError(). -/// @return A zero terminated string that describes the error. For instance, -/// if \c aError is CTM_INVALID_OPERATION, then the return value will -/// be "CTM_INVALID_OPERATION". -/// @see CTMenum -CTMEXPORT const char * CTMCALL ctmErrorString(CTMenum aError); - -/// Get information about an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aProperty Which property to return. -/// @return An integer value, representing the OpenCTM context property given -/// by \c aProperty. -/// @see CTMenum -CTMEXPORT CTMuint CTMCALL ctmGetInteger(CTMcontext aContext, CTMenum aProperty); - -/// Get information about an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aProperty Which property to return. -/// @return A floating point value, representing the OpenCTM context property -/// given by \c aProperty. -/// @see CTMenum -CTMEXPORT CTMfloat CTMCALL ctmGetFloat(CTMcontext aContext, CTMenum aProperty); - -/// Get an integer array from an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aProperty Which array to return. -/// @return An integer array. If the requested array does not exist, or -/// if \c aProperty does not indicate an integer array, the function -/// returns NULL. -/// @note The array is only valid as long as the OpenCTM context is valid, or -/// until the corresponding array changes within the OpenCTM context. -/// Trying to access an invalid array will result in undefined -/// behaviour. Therefor it is recommended that the array is copied to -/// a new variable if it is to be used other than directly after the call -/// to ctmGetIntegerArray(). -/// @see CTMenum -CTMEXPORT const CTMuint * CTMCALL ctmGetIntegerArray(CTMcontext aContext, - CTMenum aProperty); - -/// Get a floating point array from an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aProperty Which array to return. -/// @return A floating point array. If the requested array does not exist, or -/// if \c aProperty does not indicate a float array, the function -/// returns NULL. -/// @note The array is only valid as long as the OpenCTM context is valid, or -/// until the corresponding array changes within the OpenCTM context. -/// Trying to access an invalid array will result in undefined -/// behaviour. Therefor it is recommended that the array is copied to -/// a new variable if it is to be used other than directly after the call -/// to ctmGetFloatArray(). -/// @see CTMenum -CTMEXPORT const CTMfloat * CTMCALL ctmGetFloatArray(CTMcontext aContext, - CTMenum aProperty); - -/// Get a reference to the named UV map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aName The name of the UV map that should be returned. -/// @return A reference to a UV map. If the UV map was found, a value of -/// CTM_UV_MAP_1 or higher is returned, otherwise CTM_NONE is -/// returned. -CTMEXPORT CTMenum CTMCALL ctmGetNamedUVMap(CTMcontext aContext, - const char * aName); - -/// Get information about a UV map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aUVMap Which UV map to query (CTM_UV_MAP_1 or higher). -/// @param[in] aProperty Which UV map property to return. -/// @return A string value, representing the UV map property given -/// by \c aProperty. -/// @note The string is only valid as long as the UV map within the OpenCTM -/// context is valid. Trying to access an invalid string will result in -/// undefined behaviour. Therefor it is recommended that the string is -/// copied to a new variable if it is to be used other than directly after -/// the call to ctmGetUVMapString(). -/// @see CTMenum -CTMEXPORT const char * CTMCALL ctmGetUVMapString(CTMcontext aContext, - CTMenum aUVMap, CTMenum aProperty); - -/// Get information about a UV map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aUVMap Which UV map to query (CTM_UV_MAP_1 or higher). -/// @param[in] aProperty Which UV map property to return. -/// @return A floating point value, representing the UV map property given -/// by \c aProperty. -/// @see CTMenum -CTMEXPORT CTMfloat CTMCALL ctmGetUVMapFloat(CTMcontext aContext, - CTMenum aUVMap, CTMenum aProperty); - -/// Get a reference to the named vertex attribute map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aName The name of the attribute map that should be returned. -/// @return A reference to an attribute map. If the attribute map was found, -/// a value of CTM_ATTRIB_MAP_1 or higher is returned, otherwise -/// CTM_NONE is returned. -CTMEXPORT CTMenum CTMCALL ctmGetNamedAttribMap(CTMcontext aContext, - const char * aName); - -/// Get information about a vertex attribute map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aAttribMap Which vertex attribute map to query (CTM_ATTRIB_MAP_1 -/// or higher). -/// @param[in] aProperty Which vertex attribute map property to return. -/// @return A string value, representing the vertex attribute map property given -/// by \c aProperty. -/// @note The string is only valid as long as the vertex attribute map within -/// the OpenCTM context is valid. Trying to access an invalid string will -/// result in undefined behaviour. Therefor it is recommended that the -/// string is copied to a new variable if it is to be used other than -/// directly after the call to ctmGetAttribMapString(). -/// @see CTMenum -CTMEXPORT const char * CTMCALL ctmGetAttribMapString(CTMcontext aContext, - CTMenum aAttribMap, CTMenum aProperty); - -/// Get information about a vertex attribute map. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aAttribMap Which vertex attribute map to query (CTM_ATTRIB_MAP_1 -/// or higher). -/// @param[in] aProperty Which vertex attribute map property to return. -/// @return A floating point value, representing the vertex attribute map -/// property given by \c aProperty. -/// @see CTMenum -CTMEXPORT CTMfloat CTMCALL ctmGetAttribMapFloat(CTMcontext aContext, - CTMenum aAttribMap, CTMenum aProperty); - -/// Get information about an OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aProperty Which property to return. -/// @return A string value, representing the OpenCTM context property given -/// by \c aProperty. -/// @note The string is only valid as long as the OpenCTM context is valid, or -/// until the corresponding string changes within the OpenCTM context -/// (e.g. calling ctmFileComment() invalidates the CTM_FILE_COMMENT -/// string). Trying to access an invalid string will result in undefined -/// behaviour. Therefor it is recommended that the string is copied to -/// a new variable if it is to be used other than directly after the call -/// to ctmGetString(). -/// @see CTMenum -CTMEXPORT const char * CTMCALL ctmGetString(CTMcontext aContext, - CTMenum aProperty); - -/// Set which compression method to use for the given OpenCTM context. -/// The selected compression method will be used when calling the ctmSave() -/// function. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aMethod Which compression method to use: CTM_METHOD_RAW, -/// CTM_METHOD_MG1 or CTM_METHOD_MG2 (the default method is -/// CTM_METHOD_MG1). -/// @see CTM_METHOD_RAW, CTM_METHOD_MG1, CTM_METHOD_MG2 -CTMEXPORT void CTMCALL ctmCompressionMethod(CTMcontext aContext, - CTMenum aMethod); - -/// Set which LZMA compression level to use for the given OpenCTM context. -/// The compression level can be between 0 (fastest) and 9 (best). The higher -/// the compression level, the more memory is required for compression and -/// decompression. The default compression level is 1. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aLevel Which compression level to use (0 to 9). -CTMEXPORT void CTMCALL ctmCompressionLevel(CTMcontext aContext, - CTMuint aLevel); - -/// Set the vertex coordinate precision (only used by the MG2 compression -/// method). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aPrecision Fixed point precision. For instance, if this value is -/// 0.001, all vertex coordinates will be rounded to three decimals. -/// The default vertex coordinate precision is 2^-10 ~= 0.00098. -CTMEXPORT void CTMCALL ctmVertexPrecision(CTMcontext aContext, - CTMfloat aPrecision); - -/// Set the vertex coordinate precision, relative to the mesh dimensions (only -/// used by the MG2 compression method). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aRelPrecision Relative precision. This factor is multiplied by the -/// average triangle edge length in the mesh in order to obtain the -/// final, fixed point precision. For instance, if aRelPrecision is -/// 0.01, and the average edge length is 3.7, then the fixed point -/// precision is set to 0.037. -/// @note The mesh must have been defined using the ctmDefineMesh() function -/// before calling this function. -/// @see ctmVertexPrecision(). -CTMEXPORT void CTMCALL ctmVertexPrecisionRel(CTMcontext aContext, - CTMfloat aRelPrecision); - -/// Set the normal precision (only used by the MG2 compression method). The -/// normal is represented in spherical coordinates in the MG2 compression -/// method, and the normal precision controls the angular and radial resolution. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aPrecision Fixed point precision. For the angular information, -/// this value represents the angular precision. For the radial -/// information, this value is the linear resolution. For instance, -/// 0.01 means that the circle is divided into 100 steps, and the -/// normal magnitude is rounded to 2 decimals. The default normal -/// precision is 2^-8 ~= 0.0039. -CTMEXPORT void CTMCALL ctmNormalPrecision(CTMcontext aContext, - CTMfloat aPrecision); - -/// Set the coordinate precision for the specified UV map (only used by the -/// MG2 compression method). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aUVMap A UV map specifier for a defined UV map -/// (CTM_UV_MAP_1, ...). -/// @param[in] aPrecision Fixed point precision. For instance, if this value is -/// 0.001, all UV coordinates will be rounded to three decimals. -/// The default UV coordinate precision is 2^-12 ~= 0.00024. -/// @see ctmAddUVMap(). -CTMEXPORT void CTMCALL ctmUVCoordPrecision(CTMcontext aContext, - CTMenum aUVMap, CTMfloat aPrecision); - -/// Set the attribute value precision for the specified attribute map (only -/// used by the MG2 compression method). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aAttribMap An attribute map specifier for a defined attribute map -/// (CTM_ATTRIB_MAP_1, ...). -/// @param[in] aPrecision Fixed point precision. For instance, if this value is -/// 0.001, all attribute values will be rounded to three decimals. -/// If the attributes represent integer values, set the precision -/// to 1.0. The default attribute precision is 2^-8 ~= 0.0039. -/// @see ctmAddAttribMap(). -CTMEXPORT void CTMCALL ctmAttribPrecision(CTMcontext aContext, - CTMenum aAttribMap, CTMfloat aPrecision); - -/// Set the file comment for the given OpenCTM context. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aFileComment The file comment (zero terminated UTF-8 string). -CTMEXPORT void CTMCALL ctmFileComment(CTMcontext aContext, - const char * aFileComment); - -/// Define a triangle mesh. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aVertices An array of vertices (three consecutive floats make -/// one vertex). -/// @param[in] aVertexCount The number of vertices in \c aVertices (and -/// optionally \c aTexCoords). -/// @param[in] aIndices An array of vertex indices (three consecutive integers -/// make one triangle). -/// @param[in] aTriangleCount The number of triangles in \c aIndices (there -/// must be exactly 3 x \c aTriangleCount indices in \c aIndices). -/// @param[in] aNormals An array of per-vertex normals (or NULL if there are -/// no normals). Each normal is made up by three consecutive floats, -/// and there must be \c aVertexCount normals. -/// @see ctmAddUVMap(), ctmAddAttribMap(), ctmSave(), ctmSaveCustom(). -CTMEXPORT void CTMCALL ctmDefineMesh(CTMcontext aContext, - const CTMfloat * aVertices, CTMuint aVertexCount, const CTMuint * aIndices, - CTMuint aTriangleCount, const CTMfloat * aNormals); - -/// Define a UV map. There can be several UV maps in a mesh. A UV map is -/// typically used for 2D texture mapping. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aUVCoords An array of UV coordinates. Each UV coordinate is made -/// up by two consecutive floats, and there must be as many -/// coordinates as there are vertices in the mesh. -/// @param[in] aName A unique name for this UV map (zero terminated UTF-8 -/// string). -/// @param[in] aFileName A reference to a image file (zero terminated -/// UTF-8 string). If no file name reference exists, pass NULL. -/// @return A UV map index (CTM_UV_MAP_1 and higher). If the function -/// failed, it will return the zero valued CTM_NONE (use ctmGetError() -/// to determine the cause of the error). -/// @note A triangle mesh must have been defined before calling this function, -/// since the number of vertices is defined by the triangle mesh. -/// @see ctmDefineMesh(). -CTMEXPORT CTMenum CTMCALL ctmAddUVMap(CTMcontext aContext, - const CTMfloat * aUVCoords, const char * aName, const char * aFileName); - -/// Define a custom vertex attribute map. Custom vertex attributes can be used -/// for defining special per-vertex attributes, such as color, weight, ambient -/// occlusion factor, etc. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aAttribValues An array of attribute values. Each attribute value -/// is made up by four consecutive floats, and there must be as many -/// values as there are vertices in the mesh. -/// @param[in] aName A unique name for this attribute map (zero terminated UTF-8 -/// string). -/// @return A attribute map index (CTM_ATTRIB_MAP_1 and higher). If the function -/// failed, it will return the zero valued CTM_NONE (use ctmGetError() -/// to determine the cause of the error). -/// @note A triangle mesh must have been defined before calling this function, -/// since the number of vertices is defined by the triangle mesh. -/// @see ctmDefineMesh(). -CTMEXPORT CTMenum CTMCALL ctmAddAttribMap(CTMcontext aContext, - const CTMfloat * aAttribValues, const char * aName); - -/// Load an OpenCTM format file into the context. The mesh data can be retrieved -/// with the various ctmGet functions. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aFileName The name of the file to be loaded. -CTMEXPORT void CTMCALL ctmLoad(CTMcontext aContext, const char * aFileName); - -/// Load an OpenCTM format file using a custom stream read function. The mesh -/// data can be retrieved with the various ctmGet functions. -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aReadFn Pointer to a custom stream read function. -/// @param[in] aUserData Custom user data, which can be a C language FILE -/// handle, C++ istream object, or a custom object pointer -/// of any type. The user data pointer will be passed to the -/// custom stream read function. -/// @see CTMreadfn. -CTMEXPORT void CTMCALL ctmLoadCustom(CTMcontext aContext, CTMreadfn aReadFn, - void * aUserData); - -/// Save an OpenCTM format file. The mesh must have been defined by -/// ctmDefineMesh(). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aFileName The name of the file to be saved. -CTMEXPORT void CTMCALL ctmSave(CTMcontext aContext, const char * aFileName); - -/// Save an OpenCTM format file using a custom stream write function. The mesh -/// must have been defined by ctmDefineMesh(). -/// @param[in] aContext An OpenCTM context that has been created by -/// ctmNewContext(). -/// @param[in] aWriteFn Pointer to a custom stream write function. -/// @param[in] aUserData Custom user data, which can be a C language FILE -/// handle, C++ ostream object, or a custom object pointer -/// of any type. The user data pointer will be passed to the -/// custom stream write function. -/// @see CTMwritefn. -CTMEXPORT void CTMCALL ctmSaveCustom(CTMcontext aContext, CTMwritefn aWriteFn, - void * aUserData); - -#ifdef __cplusplus -} -#endif - - -// C++ extensions to the API (to disable C++ extensions, define OPENCTM_NO_CPP) -#if defined(__cplusplus) && !defined(OPENCTM_NO_CPP) - #include "openctmpp.h" -#endif - -#endif // __OPENCTM_H_ diff --git a/3rdparty/openctm/lib/openctm.rc b/3rdparty/openctm/lib/openctm.rc deleted file mode 100644 index e95823843..000000000 --- a/3rdparty/openctm/lib/openctm.rc +++ /dev/null @@ -1,26 +0,0 @@ - -1 VERSIONINFO - FILEVERSION 1,0,3,0 - PRODUCTVERSION 1,0,3,0 - FILEOS 0x4 - FILETYPE 0x2 - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "ProductVersion", "1.0.3.0" - VALUE "FileVersion", "1.0.3.0" - VALUE "FileDescription", "OpenCTM API shared library" - VALUE "ProductName", "OpenCTM" - VALUE "OriginalFilename", "openctm.dll" - VALUE "LegalCopyright", "© 2009-2010 Marcus Geelnard" - VALUE "License", "This software is released under the zlib/libpng license." - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END - END diff --git a/3rdparty/openctm/lib/openctmpp.h b/3rdparty/openctm/lib/openctmpp.h deleted file mode 100644 index 549e0296f..000000000 --- a/3rdparty/openctm/lib/openctmpp.h +++ /dev/null @@ -1,377 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: openctmpp.h -// Description: C++ wrapper for the OpenCTM API. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -// To disable C++ extensions, define OPENCTM_NO_CPP -#ifndef OPENCTM_NO_CPP - -#ifndef __OPENCTMPP_H_ -#define __OPENCTMPP_H_ - -// Just in case (if this file was included from outside openctm.h)... -#ifndef __OPENCTM_H_ -#include "openctm.h" -#endif - -#include - -/// OpenCTM exception. When an error occurs, a \c ctm_error exception is -/// thrown. Its what() function returns the name of the OpenCTM error code -/// (for instance "CTM_INVALID_OPERATION"). -class ctm_error: public std::exception -{ - private: - CTMenum mErrorCode; - - public: - explicit ctm_error(CTMenum aError) - { - mErrorCode = aError; - } - - virtual const char* what() const throw() - { - return ctmErrorString(mErrorCode); - } - - CTMenum error_code() const throw() - { - return mErrorCode; - } -}; - - -/// OpenCTM importer class. This is a C++ wrapper class for an OpenCTM import -/// context. Usage example: -/// -/// @code -/// // Create a new OpenCTM importer object -/// CTMimporter ctm; -/// -/// // Load the OpenCTM file -/// ctm.Load("mymesh.ctm"); -/// -/// // Access the mesh data -/// vertCount = ctm.GetInteger(CTM_VERTEX_COUNT); -/// vertices = ctm.GetFloatArray(CTM_VERTICES); -/// triCount = ctm.GetInteger(CTM_TRIANGLE_COUNT); -/// indices = ctm.GetIntegerArray(CTM_INDICES); -/// -/// // Deal with the mesh (e.g. transcode it to our internal representation) -/// // ... -/// @endcode - -class CTMimporter { - private: - /// The OpenCTM context handle. - CTMcontext mContext; - - /// Check for OpenCTM errors, and throw an exception if an error has - /// occured. - void CheckError() - { - CTMenum err = ctmGetError(mContext); - if(err != CTM_NONE) - abort(); //throw ctm_error(err); - } - - public: - /// Constructor - CTMimporter() - { - mContext = ctmNewContext(CTM_IMPORT); - } - - /// Destructor - ~CTMimporter() - { - ctmFreeContext(mContext); - } - - /// Wrapper for ctmGetInteger() - CTMuint GetInteger(CTMenum aProperty) - { - CTMuint res = ctmGetInteger(mContext, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetFloat() - CTMfloat GetFloat(CTMenum aProperty) - { - CTMfloat res = ctmGetFloat(mContext, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetIntegerArray() - const CTMuint * GetIntegerArray(CTMenum aProperty) - { - const CTMuint * res = ctmGetIntegerArray(mContext, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetFloatArray() - const CTMfloat * GetFloatArray(CTMenum aProperty) - { - const CTMfloat * res = ctmGetFloatArray(mContext, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetNamedUVMap() - CTMenum GetNamedUVMap(const char * aName) - { - CTMenum res = ctmGetNamedUVMap(mContext, aName); - CheckError(); - return res; - } - - /// Wrapper for ctmGetUVMapString() - const char * GetUVMapString(CTMenum aUVMap, CTMenum aProperty) - { - const char * res = ctmGetUVMapString(mContext, aUVMap, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetUVMapFloat() - CTMfloat GetUVMapFloat(CTMenum aUVMap, CTMenum aProperty) - { - CTMfloat res = ctmGetUVMapFloat(mContext, aUVMap, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetNamedAttribMap() - CTMenum GetNamedAttribMap(const char * aName) - { - CTMenum res = ctmGetNamedAttribMap(mContext, aName); - CheckError(); - return res; - } - - /// Wrapper for ctmGetAttribMapString() - const char * GetAttribMapString(CTMenum aAttribMap, CTMenum aProperty) - { - const char * res = ctmGetAttribMapString(mContext, aAttribMap, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetAttribMapFloat() - CTMfloat GetAttribMapFloat(CTMenum aAttribMap, CTMenum aProperty) - { - CTMfloat res = ctmGetAttribMapFloat(mContext, aAttribMap, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmGetString() - const char * GetString(CTMenum aProperty) - { - const char * res = ctmGetString(mContext, aProperty); - CheckError(); - return res; - } - - /// Wrapper for ctmLoad() - void Load(const char * aFileName) - { - ctmLoad(mContext, aFileName); - CheckError(); - } - - /// Wrapper for ctmLoadCustom() - void LoadCustom(CTMreadfn aReadFn, void * aUserData) - { - ctmLoadCustom(mContext, aReadFn, aUserData); - CheckError(); - } - - // You can not copy nor assign from one CTMimporter object to another, since - // the object contains hidden state. By declaring these dummy prototypes - // without an implementation, you will at least get linker errors if you try - // to copy or assign a CTMimporter object. - CTMimporter(const CTMimporter& v); - CTMimporter& operator=(const CTMimporter& v); -}; - - -/// OpenCTM exporter class. This is a C++ wrapper class for an OpenCTM export -/// context. Usage example: -/// @code -/// void MySaveFile(CTMuint aVertCount, CTMuint aTriCount, CTMfloat * aVertices, -/// CTMuint * aIndices, const char * aFileName) -/// { -/// // Create a new OpenCTM exporter object -/// CTMexporter ctm; -/// -/// // Define our mesh representation to OpenCTM (store references to it in -/// // the context) -/// ctm.DefineMesh(aVertices, aVertCount, aIndices, aTriCount, NULL); -/// -/// // Save the OpenCTM file -/// ctm.Save(aFileName); -/// } -/// @endcode - -class CTMexporter { - private: - /// The OpenCTM context handle. - CTMcontext mContext; - - /// Check for OpenCTM errors, and throw an exception if an error has - /// occured. - void CheckError() - { - CTMenum err = ctmGetError(mContext); - if(err != CTM_NONE) - abort(); //throw ctm_error(err); - } - - public: - /// Constructor - CTMexporter() - { - mContext = ctmNewContext(CTM_EXPORT); - } - - /// Destructor - ~CTMexporter() - { - ctmFreeContext(mContext); - } - - /// Wrapper for ctmCompressionMethod() - void CompressionMethod(CTMenum aMethod) - { - ctmCompressionMethod(mContext, aMethod); - CheckError(); - } - - /// Wrapper for ctmCompressionLevel() - void CompressionLevel(CTMuint aLevel) - { - ctmCompressionLevel(mContext, aLevel); - CheckError(); - } - - /// Wrapper for ctmVertexPrecision() - void VertexPrecision(CTMfloat aPrecision) - { - ctmVertexPrecision(mContext, aPrecision); - CheckError(); - } - - /// Wrapper for ctmVertexPrecisionRel() - void VertexPrecisionRel(CTMfloat aRelPrecision) - { - ctmVertexPrecisionRel(mContext, aRelPrecision); - CheckError(); - } - - /// Wrapper for ctmNormalPrecision() - void NormalPrecision(CTMfloat aPrecision) - { - ctmNormalPrecision(mContext, aPrecision); - CheckError(); - } - - /// Wrapper for ctmUVCoordPrecision() - void UVCoordPrecision(CTMenum aUVMap, CTMfloat aPrecision) - { - ctmUVCoordPrecision(mContext, aUVMap, aPrecision); - CheckError(); - } - - /// Wrapper for ctmAttribPrecision() - void AttribPrecision(CTMenum aAttribMap, CTMfloat aPrecision) - { - ctmAttribPrecision(mContext, aAttribMap, aPrecision); - CheckError(); - } - - /// Wrapper for ctmFileComment() - void FileComment(const char * aFileComment) - { - ctmFileComment(mContext, aFileComment); - CheckError(); - } - - /// Wrapper for ctmDefineMesh() - void DefineMesh(const CTMfloat * aVertices, CTMuint aVertexCount, - const CTMuint * aIndices, CTMuint aTriangleCount, - const CTMfloat * aNormals) - { - ctmDefineMesh(mContext, aVertices, aVertexCount, aIndices, aTriangleCount, - aNormals); - CheckError(); - } - - /// Wrapper for ctmAddUVMap() - CTMenum AddUVMap(const CTMfloat * aUVCoords, const char * aName, - const char * aFileName) - { - CTMenum res = ctmAddUVMap(mContext, aUVCoords, aName, aFileName); - CheckError(); - return res; - } - - /// Wrapper for ctmAddAttribMap() - CTMenum AddAttribMap(const CTMfloat * aAttribValues, const char * aName) - { - CTMenum res = ctmAddAttribMap(mContext, aAttribValues, aName); - CheckError(); - return res; - } - - /// Wrapper for ctmSave() - void Save(const char * aFileName) - { - ctmSave(mContext, aFileName); - CheckError(); - } - - /// Wrapper for ctmSaveCustom() - void SaveCustom(CTMwritefn aWriteFn, void * aUserData) - { - ctmSaveCustom(mContext, aWriteFn, aUserData); - CheckError(); - } - - // You can not copy nor assign from one CTMexporter object to another, since - // the object contains hidden state. By declaring these dummy prototypes - // without an implementation, you will at least get linker errors if you try - // to copy or assign a CTMexporter object. - CTMexporter(const CTMexporter& v); - CTMexporter& operator=(const CTMexporter& v); -}; - -#endif // __OPENCTMPP_H_ - -#endif // OPENCTM_NO_CPP diff --git a/3rdparty/openctm/lib/stream.c b/3rdparty/openctm/lib/stream.c deleted file mode 100644 index 5cd67cd03..000000000 --- a/3rdparty/openctm/lib/stream.c +++ /dev/null @@ -1,512 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM -// File: stream.c -// Description: Stream I/O functions. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include -#include "openctm.h" -#include "internal.h" - -#ifdef __DEBUG_ -#include -#endif - -//----------------------------------------------------------------------------- -// _ctmStreamRead() - Read data from a stream. -//----------------------------------------------------------------------------- -CTMuint _ctmStreamRead(_CTMcontext * self, void * aBuf, CTMuint aCount) -{ - if(!self->mUserData || !self->mReadFn) - return 0; - - return self->mReadFn(aBuf, aCount, self->mUserData); -} - -//----------------------------------------------------------------------------- -// _ctmStreamWrite() - Write data to a stream. -//----------------------------------------------------------------------------- -CTMuint _ctmStreamWrite(_CTMcontext * self, void * aBuf, CTMuint aCount) -{ - if(!self->mUserData || !self->mWriteFn) - return 0; - - return self->mWriteFn(aBuf, aCount, self->mUserData); -} - -//----------------------------------------------------------------------------- -// _ctmStreamReadUINT() - Read an unsigned integer from a stream in a machine -// endian independent manner (for portability). -//----------------------------------------------------------------------------- -CTMuint _ctmStreamReadUINT(_CTMcontext * self) -{ - unsigned char buf[4]; - _ctmStreamRead(self, (void *) buf, 4); - return ((CTMuint) buf[0]) | - (((CTMuint) buf[1]) << 8) | - (((CTMuint) buf[2]) << 16) | - (((CTMuint) buf[3]) << 24); -} - -//----------------------------------------------------------------------------- -// _ctmStreamWriteUINT() - Write an unsigned integer to a stream in a machine -// endian independent manner (for portability). -//----------------------------------------------------------------------------- -void _ctmStreamWriteUINT(_CTMcontext * self, CTMuint aValue) -{ - unsigned char buf[4]; - buf[0] = aValue & 0x000000ff; - buf[1] = (aValue >> 8) & 0x000000ff; - buf[2] = (aValue >> 16) & 0x000000ff; - buf[3] = (aValue >> 24) & 0x000000ff; - _ctmStreamWrite(self, (void *) buf, 4); -} - -//----------------------------------------------------------------------------- -// _ctmStreamReadFLOAT() - Read a floating point value from a stream in a -// machine endian independent manner (for portability). -//----------------------------------------------------------------------------- -CTMfloat _ctmStreamReadFLOAT(_CTMcontext * self) -{ - union { - CTMfloat f; - CTMuint i; - } u; - u.i = _ctmStreamReadUINT(self); - return u.f; -} - -//----------------------------------------------------------------------------- -// _ctmStreamWriteFLOAT() - Write a floating point value to a stream in a -// machine endian independent manner (for portability). -//----------------------------------------------------------------------------- -void _ctmStreamWriteFLOAT(_CTMcontext * self, CTMfloat aValue) -{ - union { - CTMfloat f; - CTMuint i; - } u; - u.f = aValue; - _ctmStreamWriteUINT(self, u.i); -} - -//----------------------------------------------------------------------------- -// _ctmStreamReadSTRING() - Read a string value from a stream. The format of -// the string in the stream is: an unsigned integer (string length) followed by -// the string (without null termination). -//----------------------------------------------------------------------------- -void _ctmStreamReadSTRING(_CTMcontext * self, char ** aValue) -{ - CTMuint len; - - // Clear the old string - if(*aValue) - { - free(*aValue); - *aValue = (char *) 0; - } - - // Get string length - len = _ctmStreamReadUINT(self); - - // Read string - if(len > 0) - { - *aValue = (char *) malloc(len + 1); - if(*aValue) - { - _ctmStreamRead(self, (void *) *aValue, len); - (*aValue)[len] = 0; - } - } -} - -//----------------------------------------------------------------------------- -// _ctmStreamWriteSTRING() - Write a string value to a stream. The format of -// the string in the stream is: an unsigned integer (string length) followed by -// the string (without null termination). -//----------------------------------------------------------------------------- -void _ctmStreamWriteSTRING(_CTMcontext * self, const char * aValue) -{ - CTMuint len; - - // Get string length - if(aValue) - len = (CTMuint)strlen(aValue); - else - len = 0; - - // Write string length - _ctmStreamWriteUINT(self, len); - - // Write string - if(len > 0) - _ctmStreamWrite(self, (void *) aValue, len); -} - -//----------------------------------------------------------------------------- -// _ctmStreamReadPackedInts() - Read an compressed binary integer data array -// from a stream, and uncompress it. -//----------------------------------------------------------------------------- -int _ctmStreamReadPackedInts(_CTMcontext * self, CTMint * aData, - CTMuint aCount, CTMuint aSize, CTMint aSignedInts) -{ - size_t packedSize, unpackedSize; - CTMuint i, k, x; - CTMint value; - unsigned char * packed, * tmp; - unsigned char props[5]; - int lzmaRes; - - // Read packed data size from the stream - packedSize = (size_t) _ctmStreamReadUINT(self); - - // Read LZMA compression props from the stream - _ctmStreamRead(self, (void *) props, 5); - - // Allocate memory and read the packed data from the stream - packed = (unsigned char *) malloc(packedSize); - if(!packed) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - _ctmStreamRead(self, (void *) packed, (CTMuint)packedSize); - - // Allocate memory for interleaved array - tmp = (unsigned char *) malloc(aCount * aSize * 4); - if(!tmp) - { - free(packed); - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Uncompress - unpackedSize = aCount * aSize * 4; - lzmaRes = LzmaUncompress(tmp, &unpackedSize, packed, - &packedSize, props, 5); - - // Free the packed array - free(packed); - - // Error? - if((lzmaRes != SZ_OK) || (unpackedSize != aCount * aSize * 4)) - { - self->mError = CTM_LZMA_ERROR; - free(tmp); - return CTM_FALSE; - } - - // Convert interleaved array to integers - for(i = 0; i < aCount; ++ i) - { - for(k = 0; k < aSize; ++ k) - { - value = (CTMint) tmp[i + k * aCount + 3 * aCount * aSize] | - (((CTMint) tmp[i + k * aCount + 2 * aCount * aSize]) << 8) | - (((CTMint) tmp[i + k * aCount + aCount * aSize]) << 16) | - (((CTMint) tmp[i + k * aCount]) << 24); - // Convert signed magnitude to two's complement? - if(aSignedInts) - { - x = (CTMuint) value; - value = (x & 1) ? -(CTMint)((x + 1) >> 1) : (CTMint)(x >> 1); - } - aData[i * aSize + k] = value; - } - } - - // Free the interleaved array - free(tmp); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmStreamWritePackedInts() - Compress a binary integer data array, and -// write it to a stream. -//----------------------------------------------------------------------------- -int _ctmStreamWritePackedInts(_CTMcontext * self, CTMint * aData, - CTMuint aCount, CTMuint aSize, CTMint aSignedInts) -{ - int lzmaRes, lzmaAlgo; - CTMuint i, k; - CTMint value; - size_t bufSize, outPropsSize; - unsigned char * packed, outProps[5], *tmp; -#ifdef __DEBUG_ - CTMuint negCount = 0; -#endif - - // Allocate memory for interleaved array - tmp = (unsigned char *) malloc(aCount * aSize * 4); - if(!tmp) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Convert integers to an interleaved array - for(i = 0; i < aCount; ++ i) - { - for(k = 0; k < aSize; ++ k) - { - value = aData[i * aSize + k]; - // Convert two's complement to signed magnitude? - if(aSignedInts) - value = value < 0 ? -1 - (value << 1) : value << 1; -#ifdef __DEBUG_ - else if(value < 0) - ++ negCount; -#endif - tmp[i + k * aCount + 3 * aCount * aSize] = value & 0x000000ff; - tmp[i + k * aCount + 2 * aCount * aSize] = (value >> 8) & 0x000000ff; - tmp[i + k * aCount + aCount * aSize] = (value >> 16) & 0x000000ff; - tmp[i + k * aCount] = (value >> 24) & 0x000000ff; - } - } - - // Allocate memory for the packed data - bufSize = 1000 + aCount * aSize * 4; - packed = (unsigned char *) malloc(bufSize); - if(!packed) - { - free(tmp); - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Call LZMA to compress - outPropsSize = 5; - lzmaAlgo = (self->mCompressionLevel < 1 ? 0 : 1); - lzmaRes = LzmaCompress(packed, - &bufSize, - (const unsigned char *) tmp, - aCount * aSize * 4, - outProps, - &outPropsSize, - self->mCompressionLevel, // Level (0-9) - 0, -1, -1, -1, -1, -1, // Default values (set by level) - lzmaAlgo // Algorithm (0 = fast, 1 = normal) - ); - - // Free temporary array - free(tmp); - - // Error? - if(lzmaRes != SZ_OK) - { - self->mError = CTM_LZMA_ERROR; - free(packed); - return CTM_FALSE; - } - -#ifdef __DEBUG_ - printf("%d->%d bytes (%d negative words)\n", aCount * aSize * 4, (int) bufSize, negCount); -#endif - - // Write packed data size to the stream - _ctmStreamWriteUINT(self, (CTMuint) bufSize); - - // Write LZMA compression props to the stream - _ctmStreamWrite(self, (void *) outProps, 5); - - // Write the packed data to the stream - _ctmStreamWrite(self, (void *) packed, (CTMuint) bufSize); - - // Free the packed data - free(packed); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmStreamReadPackedFloats() - Read an compressed binary float data array -// from a stream, and uncompress it. -//----------------------------------------------------------------------------- -int _ctmStreamReadPackedFloats(_CTMcontext * self, CTMfloat * aData, - CTMuint aCount, CTMuint aSize) -{ - CTMuint i, k; - size_t packedSize, unpackedSize; - union { - CTMfloat f; - CTMint i; - } value; - unsigned char * packed, * tmp; - unsigned char props[5]; - int lzmaRes; - - // Read packed data size from the stream - packedSize = (size_t) _ctmStreamReadUINT(self); - - // Read LZMA compression props from the stream - _ctmStreamRead(self, (void *) props, 5); - - // Allocate memory and read the packed data from the stream - packed = (unsigned char *) malloc(packedSize); - if(!packed) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - _ctmStreamRead(self, (void *) packed, (CTMuint)packedSize); - - // Allocate memory for interleaved array - tmp = (unsigned char *) malloc(aCount * aSize * 4); - if(!tmp) - { - free(packed); - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Uncompress - unpackedSize = aCount * aSize * 4; - lzmaRes = LzmaUncompress(tmp, &unpackedSize, packed, - &packedSize, props, 5); - - // Free the packed array - free(packed); - - // Error? - if((lzmaRes != SZ_OK) || (unpackedSize != aCount * aSize * 4)) - { - self->mError = CTM_LZMA_ERROR; - free(tmp); - return CTM_FALSE; - } - - // Convert interleaved array to floats - for(i = 0; i < aCount; ++ i) - { - for(k = 0; k < aSize; ++ k) - { - value.i = (CTMint) tmp[i + k * aCount + 3 * aCount * aSize] | - (((CTMint) tmp[i + k * aCount + 2 * aCount * aSize]) << 8) | - (((CTMint) tmp[i + k * aCount + aCount * aSize]) << 16) | - (((CTMint) tmp[i + k * aCount]) << 24); - aData[i * aSize + k] = value.f; - } - } - - // Free the interleaved array - free(tmp); - - return CTM_TRUE; -} - -//----------------------------------------------------------------------------- -// _ctmStreamWritePackedFloats() - Compress a binary float data array, and -// write it to a stream. -//----------------------------------------------------------------------------- -int _ctmStreamWritePackedFloats(_CTMcontext * self, CTMfloat * aData, - CTMuint aCount, CTMuint aSize) -{ - int lzmaRes, lzmaAlgo; - CTMuint i, k; - union { - CTMfloat f; - CTMint i; - } value; - size_t bufSize, outPropsSize; - unsigned char * packed, outProps[5], *tmp; - - // Allocate memory for interleaved array - tmp = (unsigned char *) malloc(aCount * aSize * 4); - if(!tmp) - { - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Convert floats to an interleaved array - for(i = 0; i < aCount; ++ i) - { - for(k = 0; k < aSize; ++ k) - { - value.f = aData[i * aSize + k]; - tmp[i + k * aCount + 3 * aCount * aSize] = value.i & 0x000000ff; - tmp[i + k * aCount + 2 * aCount * aSize] = (value.i >> 8) & 0x000000ff; - tmp[i + k * aCount + aCount * aSize] = (value.i >> 16) & 0x000000ff; - tmp[i + k * aCount] = (value.i >> 24) & 0x000000ff; - } - } - - // Allocate memory for the packed data - bufSize = 1000 + aCount * aSize * 4; - packed = (unsigned char *) malloc(bufSize); - if(!packed) - { - free(tmp); - self->mError = CTM_OUT_OF_MEMORY; - return CTM_FALSE; - } - - // Call LZMA to compress - outPropsSize = 5; - lzmaAlgo = (self->mCompressionLevel < 1 ? 0 : 1); - lzmaRes = LzmaCompress(packed, - &bufSize, - (const unsigned char *) tmp, - aCount * aSize * 4, - outProps, - &outPropsSize, - self->mCompressionLevel, // Level (0-9) - 0, -1, -1, -1, -1, -1, // Default values (set by level) - lzmaAlgo // Algorithm (0 = fast, 1 = normal) - ); - - // Free temporary array - free(tmp); - - // Error? - if(lzmaRes != SZ_OK) - { - self->mError = CTM_LZMA_ERROR; - free(packed); - return CTM_FALSE; - } - -#ifdef __DEBUG_ - printf("%d->%d bytes\n", aCount * aSize * 4, (int) bufSize); -#endif - - // Write packed data size to the stream - _ctmStreamWriteUINT(self, (CTMuint) bufSize); - - // Write LZMA compression props to the stream - _ctmStreamWrite(self, (void *) outProps, 5); - - // Write the packed data to the stream - _ctmStreamWrite(self, (void *) packed, (CTMuint) bufSize); - - // Free the packed data - free(packed); - - return CTM_TRUE; -} diff --git a/3rdparty/openctm/plugins/blender/openctm_export.py b/3rdparty/openctm/plugins/blender/openctm_export.py deleted file mode 100644 index 5f335be2f..000000000 --- a/3rdparty/openctm/plugins/blender/openctm_export.py +++ /dev/null @@ -1,332 +0,0 @@ -#!BPY - -""" -Name: 'OpenCTM (*.ctm)...' -Blender: 248 -Group: 'Export' -Tooltip: 'Export active object to OpenCTM (compressed) format' -""" - -import bpy -import Blender -from Blender import Mesh, Scene, Window, sys, Image, Draw -import BPyMesh -import ctypes -from ctypes import * -from ctypes.util import find_library -import os - - -__author__ = "Marcus Geelnard" -__version__ = "0.4" -__bpydoc__ = """\ -This script exports OpenCTM files from Blender. It supports normals, -colours, and UV coordinates per vertex. Only one mesh can be exported -at a time. -""" - -# Copyright (C) 2009-2010: Marcus Geelnard -# -# This program is released to the public domain. -# -# Portions of this code are taken from ply_export.py in Blender -# 2.48. -# -# The script uses the OpenCTM shared library (.so, .dll, etc). If no -# such library can be found, the script will exit with an error -# message. -# -# v0.4, 2009-09-14 -# - Updated to OpenCTM API version 0.8 (texture maps are now called UV maps) -# -# v0.3, 2009-08-09 -# - Changed vertex color attribute name to "Color" -# -# v0.2, 2009-06-30 -# - Added precision settings for MG2 export -# - Added some error checking -# -# v0.1, 2009-05-31 -# - First test version with an alpha version of the OpenCTM API -# - - -def file_callback(filename): - - if not filename.lower().endswith('.ctm'): - filename += '.ctm' - - # Get object mesh from the selected object - scn = bpy.data.scenes.active - ob = scn.objects.active - if not ob: - Blender.Draw.PupMenu('Error%t|Select 1 active object') - return - mesh = BPyMesh.getMeshFromObject(ob, None, False, False, scn) - if not mesh: - Blender.Draw.PupMenu('Error%t|Could not get mesh data from active object') - return - - # Check which mesh properties are present... - hasVertexUV = mesh.vertexUV or mesh.faceUV - hasVertexColors = mesh.vertexColors - - # Show a GUI for the export settings - pupBlock = [] - EXPORT_APPLY_MODIFIERS = Draw.Create(1) - pupBlock.append(('Apply Modifiers', EXPORT_APPLY_MODIFIERS, 'Use transformed mesh data.')) - EXPORT_NORMALS = Draw.Create(1) - pupBlock.append(('Normals', EXPORT_NORMALS, 'Export vertex normal data.')) - if hasVertexUV: - EXPORT_UV = Draw.Create(1) - pupBlock.append(('UVs', EXPORT_UV, 'Export texface UV coords.')) - if hasVertexColors: - EXPORT_COLORS = Draw.Create(1) - pupBlock.append(('Colors', EXPORT_COLORS, 'Export vertex Colors.')) - EXPORT_MG2 = Draw.Create(0) - pupBlock.append(('Fixed Point', EXPORT_MG2, 'Use limited precision algorithm (MG2 method = better compression).')) - if not Draw.PupBlock('Export...', pupBlock): - return - - # Adjust export settings according to GUI selections - EXPORT_APPLY_MODIFIERS = EXPORT_APPLY_MODIFIERS.val - EXPORT_NORMALS = EXPORT_NORMALS.val - if hasVertexUV: - EXPORT_UV = EXPORT_UV.val - else: - EXPORT_UV = False - if hasVertexColors: - EXPORT_COLORS = EXPORT_COLORS.val - else: - EXPORT_COLORS = False - EXPORT_MG2 = EXPORT_MG2.val - - # If the user wants to export MG2, then show another GUI... - if EXPORT_MG2: - pupBlock = [] - EXPORT_VPREC = Draw.Create(0.01) - pupBlock.append(('Vertex', EXPORT_VPREC, 0.0001, 1.0, 'Relative vertex precision (fixed point).')) - if EXPORT_NORMALS: - EXPORT_NPREC = Draw.Create(1.0/256.0) - pupBlock.append(('Normal', EXPORT_NPREC, 0.0001, 1.0, 'Normal precision (fixed point).')) - if EXPORT_UV: - EXPORT_UVPREC = Draw.Create(1.0/1024.0) - pupBlock.append(('UV', EXPORT_UVPREC, 0.0001, 1.0, 'UV precision (fixed point).')) - if EXPORT_COLORS: - EXPORT_CPREC = Draw.Create(1.0/256.0) - pupBlock.append(('Color', EXPORT_CPREC, 0.0001, 1.0, 'Color precision (fixed point).')) - if not Draw.PupBlock('Fixed point precision...', pupBlock): - return - - # Adjust export settings according to GUI selections - if EXPORT_MG2: - EXPORT_VPREC = EXPORT_VPREC.val - else: - EXPORT_VPREC = 0.1 - if EXPORT_MG2 and EXPORT_NORMALS: - EXPORT_NPREC = EXPORT_NPREC.val - else: - EXPORT_NPREC = 0.1 - if EXPORT_MG2 and EXPORT_UV: - EXPORT_UVPREC = EXPORT_UVPREC.val - else: - EXPORT_UVPREC = 0.1 - if EXPORT_MG2 and EXPORT_COLORS: - EXPORT_CPREC = EXPORT_CPREC.val - else: - EXPORT_CPREC = 0.1 - - is_editmode = Blender.Window.EditMode() - if is_editmode: - Blender.Window.EditMode(0, '', 0) - Window.WaitCursor(1) - try: - # Get the mesh, again, if we wanted modifiers (from GUI selection) - if EXPORT_APPLY_MODIFIERS: - mesh = BPyMesh.getMeshFromObject(ob, None, EXPORT_APPLY_MODIFIERS, False, scn) - if not mesh: - Blender.Draw.PupMenu('Error%t|Could not get mesh data from active object') - return - mesh.transform(ob.matrixWorld, True) - - # Count triangles (quads count as two triangles) - triangleCount = 0 - for f in mesh.faces: - if len(f.v) == 4: - triangleCount += 2 - else: - triangleCount += 1 - - # Extract indices from the Blender mesh (quads are split into two triangles) - pindices = cast((c_int * 3 * triangleCount)(), POINTER(c_int)) - i = 0 - for f in mesh.faces: - pindices[i] = c_int(f.v[0].index) - pindices[i + 1] = c_int(f.v[1].index) - pindices[i + 2] = c_int(f.v[2].index) - i += 3 - if len(f.v) == 4: - pindices[i] = c_int(f.v[0].index) - pindices[i + 1] = c_int(f.v[2].index) - pindices[i + 2] = c_int(f.v[3].index) - i += 3 - - # Extract vertex array from the Blender mesh - vertexCount = len(mesh.verts) - pvertices = cast((c_float * 3 * vertexCount)(), POINTER(c_float)) - i = 0 - for v in mesh.verts: - pvertices[i] = c_float(v.co.x) - pvertices[i + 1] = c_float(v.co.y) - pvertices[i + 2] = c_float(v.co.z) - i += 3 - - # Extract normals - if EXPORT_NORMALS: - pnormals = cast((c_float * 3 * vertexCount)(), POINTER(c_float)) - i = 0 - for v in mesh.verts: - pnormals[i] = c_float(v.no.x) - pnormals[i + 1] = c_float(v.no.y) - pnormals[i + 2] = c_float(v.no.z) - i += 3 - else: - pnormals = POINTER(c_float)() - - # Extract UVs - if EXPORT_UV: - ptexCoords = cast((c_float * 2 * vertexCount)(), POINTER(c_float)) - if mesh.faceUV: - for f in mesh.faces: - for j, v in enumerate(f.v): - k = v.index - if k < vertexCount: - uv = f.uv[j] - ptexCoords[k * 2] = uv[0] - ptexCoords[k * 2 + 1] = uv[1] - else: - i = 0 - for v in mesh.verts: - ptexCoords[i] = c_float(v.uvco[0]) - ptexCoords[i + 1] = c_float(v.uvco[1]) - i += 2 - else: - ptexCoords = POINTER(c_float)() - - # Extract colors - if EXPORT_COLORS: - pcolors = cast((c_float * 4 * vertexCount)(), POINTER(c_float)) - for f in mesh.faces: - for j, v in enumerate(f.v): - k = v.index - if k < vertexCount: - col = f.col[j] - pcolors[k * 4] = col.r / 255.0 - pcolors[k * 4 + 1] = col.g / 255.0 - pcolors[k * 4 + 2] = col.b / 255.0 - pcolors[k * 4 + 3] = 1.0 - else: - pcolors = POINTER(c_float)() - - # Load the OpenCTM shared library - if os.name == 'nt': - libHDL = WinDLL('openctm.dll') - else: - libName = find_library('openctm') - if not libName: - Blender.Draw.PupMenu('Could not find the OpenCTM shared library') - return - libHDL = CDLL(libName) - if not libHDL: - Blender.Draw.PupMenu('Could not open the OpenCTM shared library') - return - - # Get all the functions from the shared library that we need - ctmNewContext = libHDL.ctmNewContext - ctmNewContext.argtypes = [c_int] - ctmNewContext.restype = c_void_p - ctmFreeContext = libHDL.ctmFreeContext - ctmFreeContext.argtypes = [c_void_p] - ctmGetError = libHDL.ctmGetError - ctmGetError.argtypes = [c_void_p] - ctmGetError.restype = c_int - ctmErrorString = libHDL.ctmErrorString - ctmErrorString.argtypes = [c_int] - ctmErrorString.restype = c_char_p - ctmFileComment = libHDL.ctmFileComment - ctmFileComment.argtypes = [c_void_p, c_char_p] - ctmDefineMesh = libHDL.ctmDefineMesh - ctmDefineMesh.argtypes = [c_void_p, POINTER(c_float), c_int, POINTER(c_int), c_int, POINTER(c_float)] - ctmSave = libHDL.ctmSave - ctmSave.argtypes = [c_void_p, c_char_p] - ctmAddUVMap = libHDL.ctmAddUVMap - ctmAddUVMap.argtypes = [c_void_p, POINTER(c_float), c_char_p, c_char_p] - ctmAddUVMap.restype = c_int - ctmAddAttribMap = libHDL.ctmAddAttribMap - ctmAddAttribMap.argtypes = [c_void_p, POINTER(c_float), c_char_p] - ctmAddAttribMap.restype = c_int - ctmCompressionMethod = libHDL.ctmCompressionMethod - ctmCompressionMethod.argtypes = [c_void_p, c_int] - ctmVertexPrecisionRel = libHDL.ctmVertexPrecisionRel - ctmVertexPrecisionRel.argtypes = [c_void_p, c_float] - ctmNormalPrecision = libHDL.ctmNormalPrecision - ctmNormalPrecision.argtypes = [c_void_p, c_float] - ctmUVCoordPrecision = libHDL.ctmUVCoordPrecision - ctmUVCoordPrecision.argtypes = [c_void_p, c_int, c_float] - ctmAttribPrecision = libHDL.ctmAttribPrecision - ctmAttribPrecision.argtypes = [c_void_p, c_int, c_float] - - # Create an OpenCTM context - ctm = ctmNewContext(0x0102) # CTM_EXPORT - try: - # Set the file comment - ctmFileComment(ctm, c_char_p('%s - created by Blender %s (www.blender.org)' % (ob.getName(), Blender.Get('version')))) - - # Define the mesh - ctmDefineMesh(ctm, pvertices, c_int(vertexCount), pindices, c_int(triangleCount), pnormals) - - # Add UV coordinates? - if EXPORT_UV: - tm = ctmAddUVMap(ctm, ptexCoords, c_char_p(), c_char_p()) - if EXPORT_MG2: - ctmUVCoordPrecision(ctm, tm, EXPORT_UVPREC) - - # Add colors? - if EXPORT_COLORS: - cm = ctmAddAttribMap(ctm, pcolors, c_char_p('Color')) - if EXPORT_MG2: - ctmAttribPrecision(ctm, cm, EXPORT_CPREC) - - # Set compression method - if EXPORT_MG2: - ctmCompressionMethod(ctm, 0x0203) # CTM_METHOD_MG2 - ctmVertexPrecisionRel(ctm, EXPORT_VPREC) - if EXPORT_NORMALS: - ctmNormalPrecision(ctm, EXPORT_NPREC) - - else: - ctmCompressionMethod(ctm, 0x0202) # CTM_METHOD_MG1 - - # Save the file - ctmSave(ctm, c_char_p(filename)) - - # Check for errors - e = ctmGetError(ctm) - if e != 0: - s = ctmErrorString(e) - Blender.Draw.PupMenu('Error%t|Could not save the file: ' + s) - - finally: - # Free the OpenCTM context - ctmFreeContext(ctm) - - finally: - Window.WaitCursor(0) - if is_editmode: - Blender.Window.EditMode(1, '', 0) - -def main(): - Blender.Window.FileSelector(file_callback, 'Export OpenCTM', Blender.sys.makename(ext='.ctm')) - -if __name__=='__main__': - main() \ No newline at end of file diff --git a/3rdparty/openctm/plugins/blender/openctm_import.py b/3rdparty/openctm/plugins/blender/openctm_import.py deleted file mode 100644 index 42ef5b49b..000000000 --- a/3rdparty/openctm/plugins/blender/openctm_import.py +++ /dev/null @@ -1,226 +0,0 @@ -#!BPY - -""" -Name: 'OpenCTM (*.ctm)...' -Blender: 248 -Group: 'Import' -Tooltip: 'Import an OpenCTM file' -""" - -import bpy -import Blender -from Blender import Mesh, Scene, Window, sys, Image, Draw -import BPyMesh -import math -import ctypes -from ctypes import * -from ctypes.util import find_library -import os - - -__author__ = "Marcus Geelnard" -__version__ = "0.4" -__bpydoc__ = """\ -This script imports OpenCTM files into Blender. It supports normals, -colours, and UV coordinates per vertex. -""" - -# Copyright (C) 2009-2010: Marcus Geelnard -# -# This program is released to the public domain. -# -# Portions of this code are taken from ply_import.py in Blender -# 2.48. -# -# The script uses the OpenCTM shared library (.so, .dll, etc). If no -# such library can be found, the script will exit with an error -# message. -# -# v0.4, 2009-09-14 -# - Updated to OpenCTM API version 0.8 (texture maps are now called UV maps) -# -# v0.3, 2009-08-09 -# - Changed vertex color attribute name to "Color" -# -# v0.2, 2009-06-30 -# - Better error reporting -# -# v0.1, 2009-05-31 -# - First test version with an alpha version of the OpenCTM API -# - -def file_callback(filename): - - Window.WaitCursor(1) - try: - # Load the OpenCTM shared library - if os.name == 'nt': - libHDL = WinDLL('openctm.dll') - else: - libName = find_library('openctm') - if not libName: - Blender.Draw.PupMenu('Could not find the OpenCTM shared library') - return - libHDL = CDLL(libName) - if not libHDL: - Blender.Draw.PupMenu('Could not open the OpenCTM shared library') - return - - # Get all the functions from the shared library that we need - ctmNewContext = libHDL.ctmNewContext - ctmNewContext.argtypes = [c_int] - ctmNewContext.restype = c_void_p - ctmFreeContext = libHDL.ctmFreeContext - ctmFreeContext.argtypes = [c_void_p] - ctmGetError = libHDL.ctmGetError - ctmGetError.argtypes = [c_void_p] - ctmGetError.restype = c_int - ctmErrorString = libHDL.ctmErrorString - ctmErrorString.argtypes = [c_int] - ctmErrorString.restype = c_char_p - ctmLoad = libHDL.ctmLoad - ctmLoad.argtypes = [c_void_p, c_char_p] - ctmGetInteger = libHDL.ctmGetInteger - ctmGetInteger.argtypes = [c_void_p, c_int] - ctmGetInteger.restype = c_int - ctmGetString = libHDL.ctmGetString - ctmGetString.argtypes = [c_void_p, c_int] - ctmGetString.restype = c_char_p - ctmGetIntegerArray = libHDL.ctmGetIntegerArray - ctmGetIntegerArray.argtypes = [c_void_p, c_int] - ctmGetIntegerArray.restype = POINTER(c_int) - ctmGetFloatArray = libHDL.ctmGetFloatArray - ctmGetFloatArray.argtypes = [c_void_p, c_int] - ctmGetFloatArray.restype = POINTER(c_float) - ctmGetNamedAttribMap = libHDL.ctmGetNamedAttribMap - ctmGetNamedAttribMap.argtypes = [c_void_p, c_char_p] - ctmGetNamedAttribMap.restype = c_int - - # Create an OpenCTM context - ctm = ctmNewContext(0x0101) # CTM_IMPORT - try: - # Load the file - ctmLoad(ctm, c_char_p(filename)) - err = ctmGetError(ctm) - if err != 0: - s = ctmErrorString(err) - Blender.Draw.PupMenu('Could not load the file: ' + s) - return - - # Get the mesh properties - vertexCount = ctmGetInteger(ctm, 0x0301) # CTM_VERTEX_COUNT - triangleCount = ctmGetInteger(ctm, 0x0302) # CTM_TRIANGLE_COUNT - hasNormals = ctmGetInteger(ctm, 0x0303) # CTM_HAS_NORMALS - texMapCount = ctmGetInteger(ctm, 0x0304) # CTM_UV_MAP_COUNT - - # Get indices - pindices = ctmGetIntegerArray(ctm, 0x0601) # CTM_INDICES - - # Get vertices - pvertices = ctmGetFloatArray(ctm, 0x0602) # CTM_VERTICES - - # Get normals - if hasNormals == 1: - pnormals = ctmGetFloatArray(ctm, 0x0603) # CTM_NORMALS - else: - pnormals = None - - # Get texture coordinates - if texMapCount > 0: - ptexCoords = ctmGetFloatArray(ctm, 0x0700) # CTM_UV_MAP_1 - else: - ptexCoords = None - - # Get colors - colorMap = ctmGetNamedAttribMap(ctm, c_char_p('Color')) - if colorMap != 0: - pcolors = ctmGetFloatArray(ctm, colorMap) - else: - pcolors = None - - # We will be creating vectors... - Vector = Blender.Mathutils.Vector - - # Create Blender verts and faces - verts = [] - for i in range(vertexCount): - verts.append(Vector(pvertices[i * 3], pvertices[i * 3 + 1], pvertices[i * 3 + 2])) - faces = [] - for i in range(triangleCount): - faces.append((pindices[i * 3], pindices[i * 3 + 1], pindices[i * 3 + 2])) - - # Create a new Blender mesh from the loaded mesh data - objName = Blender.sys.splitext(Blender.sys.basename(filename))[0] - mesh = bpy.data.meshes.new(objName) - mesh.verts.extend(verts) - mesh.faces.extend(faces) - - # Add normals? - if pnormals: - i = 0 - for v in mesh.verts: - n = Vector(pnormals[i], pnormals[i + 1], pnormals[i + 2]) - v.no = n - i += 3 - else: - mesh.calcNormals() - - # Always use smooth normals - regardless if they are defined or calculated - for f in mesh.faces: - f.smooth = 1 - - # Add texture coordinates? - if ptexCoords: - mesh.faceUV = 1 - for f in mesh.faces: - for j, v in enumerate(f.v): - k = v.index - if k < vertexCount: - uv = f.uv[j] - uv[0] = ptexCoords[k * 2] - uv[1] = ptexCoords[k * 2 + 1] - - # Add colors? - if pcolors: - mesh.vertexColors = 1 - for f in mesh.faces: - for j, v in enumerate(f.v): - k = v.index - if k < vertexCount: - col = f.col[j] - r = int(round(pcolors[k * 4] * 255.0)) - if r < 0: r = 0 - if r > 255: r = 255 - g = int(round(pcolors[k * 4 + 1] * 255.0)) - if g < 0: g = 0 - if g > 255: g = 255 - b = int(round(pcolors[k * 4 + 2] * 255.0)) - if b < 0: b = 0 - if b > 255: b = 255 - col.r = r - col.g = g - col.b = b - - # Select all vertices in the mesh - mesh.sel = True - - # Create a new object with the new mesh - scn = bpy.data.scenes.active - scn.objects.selected = [] - obj = scn.objects.new(mesh, objName) - scn.objects.active = obj - - finally: - # Free the OpenCTM context - ctmFreeContext(ctm) - - finally: - Window.WaitCursor(0) - - Blender.Redraw() - -def main(): - Blender.Window.FileSelector(file_callback, 'Import OpenCTM', '*.ctm') - -if __name__=='__main__': - main() \ No newline at end of file diff --git a/3rdparty/openctm/plugins/blender/readme.txt b/3rdparty/openctm/plugins/blender/readme.txt deleted file mode 100644 index 0cc32beed..000000000 --- a/3rdparty/openctm/plugins/blender/readme.txt +++ /dev/null @@ -1,48 +0,0 @@ -OpenCTM Blender import/export scripts - - -INSTRUCTIONS -============ - -The OpenCTM Blender import/export scripts makes it possible to import and -export OpenCTM format files in Blender (a free 3D modeling software - -http://www.blender.org). - -To use these scripts, they need to be properly installed along with the -OpenCTM shared library. - -Below follow instructions for the three major platforms under which these -scripts have been tested. - - -Windows: --------- - -1) Copy the file "openctm.dll" to the Blender program folder (e.g. - C:\Program Files\Blender Foundation\Blender). -2) Copy the files openctm_export.py and openctm_import.py to the Blender - scripts folder (e.g. %APPDATA%\Blender Foundation\Blender\.blender\scripts). -3) Restart Blender (you may need to run Scripts > Update Menus in a Scripts - window in order for the File > Import / Export menus to be updated). - - -Mac OS X: ---------- - -1) Copy the file "libopenctm.dylib" to /usr/local/lib (e.g. using - "sudo cp libopenctm.dylib /usr/local/lib/"). -2) Copy the files openctm_export.py and openctm_import.py to the Blender - scripts folder (e.g. /Applications/blender.app/Contents/MacOS/.blender/scripts/). -3) Restart Blender (you may need to run Scripts > Update Menus in a Scripts - window in order for the File > Import / Export menus to be updated). - - -Linux: ------- - -1) Copy the file "libopenctm.so" to /usr/lib (e.g. using - "sudo cp libopenctm.so /usr/lib/"). -2) Copy the files openctm_export.py and openctm_import.py to the Blender - scripts folder (e.g. /usr/share/blender/scripts/blender/). -3) Restart Blender (you may need to run Scripts > Update Menus in a Scripts - window in order for the File > Import / Export menus to be updated). diff --git a/3rdparty/openctm/plugins/maya/openctm_translator.py b/3rdparty/openctm/plugins/maya/openctm_translator.py deleted file mode 100644 index db5e2a80c..000000000 --- a/3rdparty/openctm/plugins/maya/openctm_translator.py +++ /dev/null @@ -1,196 +0,0 @@ -""" -OpenCTM Exporter for Maya. -""" -import maya.OpenMaya as OpenMaya -import maya.OpenMayaMPx as OpenMayaMPx -import maya.cmds as mc -import sys, math -import os -import ctypes -from ctypes import * -import openctm - -__author__ = "Jonas Innala" -__version__ = "0.1" - -kPluginTranslatorTypeName = "OpenCTM Exporter" -class OpemCTMExporter(OpenMayaMPx.MPxFileTranslator): - def __init__(self): - OpenMayaMPx.MPxFileTranslator.__init__(self) - def haveWriteMethod(self): - return True - def haveReadMethod(self): - return False - def filter(self): - return "*.ctm" - def defaultExtension(self): - return "ctm" - def writer( self, fileObject, optionString, accessMode ): - fileName = fileObject.fullName() - selection = OpenMaya.MSelectionList() - all = (accessMode == self.kExportAccessMode or accessMode == self.kSaveAccessMode) - dagIterator = None - if(all): - dagIterator = OpenMaya.MItDag(OpenMaya.MItDag.kBreadthFirst, OpenMaya.MFn.kGeometric) - else: - OpenMaya.MGlobal.getActiveSelectionList( selection ) - dagIterator = OpenMaya.MItSelectionList ( selection, OpenMaya.MFn.kGeometric ) - ctmindices = [] - ctmvertices = [] - ctmnormals = [] - ctmtexcoords = [] - indicesOffset = 0 - while not dagIterator.isDone(): - dagPath = OpenMaya.MDagPath() - if (all): - dagIterator.getPath(dagPath) - else: - dagIterator.getDagPath(dagPath) - fnMesh = None - try: - fnMesh = OpenMaya.MFnMesh( dagPath ) - except: - dagIterator.next() - continue - meshPoints = OpenMaya.MPointArray() - fnMesh.getPoints( meshPoints,OpenMaya.MSpace.kWorld ) - - meshNormals = OpenMaya.MFloatVectorArray() - fnMesh.getNormals(meshNormals) - - UVSets = [] - fnMesh.getUVSetNames( UVSets ) - - - u = OpenMaya.MFloatArray() - v = OpenMaya.MFloatArray() - fnMesh.getUVs( u, v, UVSets[0] ) - iterPolys = OpenMaya.MItMeshPolygon( dagPath ) - offset = 0 - maxPoints = 0 - normals = {} - uvs = {} - while not iterPolys.isDone(): - if not iterPolys.hasValidTriangulation(): - return OpenMaya.MStatus.kFailiure - - uvSet = [] - iterPolys.getUVSetNames(uvSet) - - polygonVertices = OpenMaya.MIntArray() - iterPolys.getVertices( polygonVertices ) - - - numTrianglesPx = OpenMaya.MScriptUtil() - numTrianglesPx.createFromInt(0) - numTrianglesPtr = numTrianglesPx.asIntPtr() - - iterPolys.numTriangles(numTrianglesPtr) - - numTriangles = OpenMaya.MScriptUtil(numTrianglesPtr).asInt() - offset = len(ctmvertices) - localindices = [] - for i in range( numTriangles ): - - points = OpenMaya.MPointArray() - indices = OpenMaya.MIntArray() - iterPolys.getTriangle( i, points,indices) - ctmindices.append (indicesOffset) - indicesOffset += 1 - ctmindices.append (indicesOffset) - indicesOffset += 1 - ctmindices.append (indicesOffset) - indicesOffset += 1 - localindices.append(int(indices[0])) - localindices.append(int(indices[1])) - localindices.append(int(indices[2])) - - localIndex = [] - for gt in range(indices.length()) : - for gv in range( polygonVertices.length() ): - if indices[gt] == polygonVertices[gv]: - localIndex.append( gv ) - break - - normals[int(indices[0])] = (float(meshNormals[iterPolys.normalIndex(localIndex[0])].x),float(meshNormals[iterPolys.normalIndex(localIndex[0])].y),float(meshNormals[iterPolys.normalIndex(localIndex[0])].z)) - normals[int(indices[1])] = (float(meshNormals[iterPolys.normalIndex(localIndex[1])].x),float(meshNormals[iterPolys.normalIndex(localIndex[1])].y),float(meshNormals[iterPolys.normalIndex(localIndex[1])].z)) - normals[int(indices[2])] = (float(meshNormals[iterPolys.normalIndex(localIndex[2])].x),float(meshNormals[iterPolys.normalIndex(localIndex[2])].y),float(meshNormals[iterPolys.normalIndex(localIndex[2])].z)) - uvID = [0,0,0] - - for vtxInPolygon in range(3): - uvIDPx = OpenMaya.MScriptUtil() - uvIDPx.createFromInt(0) - uvIDPtr = numTrianglesPx.asIntPtr() - iterPolys.getUVIndex( localIndex[vtxInPolygon], uvIDPtr, UVSets[0] ) - uvID[vtxInPolygon] = OpenMaya.MScriptUtil(uvIDPtr).asInt() - if (iterPolys.hasUVs()): - uvs[int(indices[0])] = (u[uvID[0]], v[uvID[0]]) - uvs[int(indices[1])] = (u[uvID[1]], v[uvID[1]]) - uvs[int(indices[2])] = (u[uvID[2]], v[uvID[2]]) - - for i in localindices: - ctmvertices.append (float(meshPoints[i].x)) - ctmvertices.append (float(meshPoints[i].y)) - ctmvertices.append (float(meshPoints[i].z)) - ctmnormals.append(normals[i][0]) - ctmnormals.append(normals[i][1]) - ctmnormals.append(normals[i][2]) - if (iterPolys.hasUVs()): - ctmtexcoords.append(uvs[i][0]) - ctmtexcoords.append(uvs[i][1]) - - iterPolys.next() - dagIterator.next() - - pindices = cast((openctm.CTMuint * len(ctmindices))(), POINTER(openctm.CTMuint)) - pvertices = cast((openctm.CTMfloat * len(ctmvertices))(), POINTER(openctm.CTMfloat)) - pnormals = cast((openctm.CTMfloat * len(ctmnormals))(), POINTER(openctm.CTMfloat)) - ptexcoords = cast((openctm.CTMfloat * len(ctmtexcoords))(), POINTER(openctm.CTMfloat)) - for i in range(len(ctmindices)): - pindices[i] = openctm.CTMuint(ctmindices[i]) - for i in range(len(ctmvertices)): - pvertices[i] = openctm.CTMfloat(ctmvertices[i]) - pnormals[i] = openctm.CTMfloat(ctmnormals[i]) - for i in range(len(ctmtexcoords)): - ptexcoords[i] = openctm.CTMfloat(ctmtexcoords[i]) - - context = openctm.ctmNewContext(openctm.CTM_EXPORT) - comment = "Exported with OpenCTM exporter using Maya " + OpenMaya.MGlobal.mayaVersion() - openctm.ctmFileComment(context, c_char_p(comment)) - openctm.ctmDefineMesh(context, pvertices, openctm.CTMuint(len(ctmvertices)/3), pindices, openctm.CTMuint(len(ctmindices)/3), pnormals) - openctm.ctmAddUVMap (context, ptexcoords,c_char_p() , c_char_p()) - openctm.ctmSave(context, c_char_p(fileName)) - openctm.ctmFreeContext(context) - e = openctm.ctmGetError(context) - if e != 0: - s = openctm.ctmErrorString(e) - print s - return OpenMaya.MStatus.kFailiure - else: - return OpenMaya.MStatus.kSuccess - - def reader( self, fileObject, optionString, accessMode ): - return OpenMaya.MStatus.kFailiure - - -def translatorCreator(): - return OpenMayaMPx.asMPxPtr( OpemCTMExporter() ) - -def initializePlugin(mobject): - mplugin = OpenMayaMPx.MFnPlugin(mobject, "Autodesk", "10.0", "Any") - - try: - mplugin.registerFileTranslator( kPluginTranslatorTypeName, None, translatorCreator ) - except: - sys.stderr.write( "Failed to register command: %s\n" % kPluginTranslatorTypeName ) - raise - - -def uninitializePlugin(mobject): - mplugin = OpenMayaMPx.MFnPlugin(mobject) - print "Plug-in OpenCTM Exporter uninitialized" - try: - mplugin.deregisterFileTranslator( kPluginTranslatorTypeName ) - except: - sys.stderr.write( "Failed to unregister command: %s\n" % kPluginCmdName ) - raise diff --git a/3rdparty/openctm/plugins/maya/readme.txt b/3rdparty/openctm/plugins/maya/readme.txt deleted file mode 100644 index ef53ef847..000000000 --- a/3rdparty/openctm/plugins/maya/readme.txt +++ /dev/null @@ -1,31 +0,0 @@ -OpenCTM Maya export scripts - - -INSTRUCTIONS -============ - -The OpenCTM Maya export scripts makes it possible to export OpenCTM format files in Maya (http://autodesk.com/). - -To use these scripts, they need to be properly installed along with the -OpenCTM shared library. - - -Windows: --------- -1) Copy "openctm.dll" to your maya plugin folder (e.g. C:\Program Files\Autodesk\Maya2008\bin\plug-ins for Maya 2008). -2) Copy openctm_translator.py to your maya plugin folder (e.g. C:\Program Files\Autodesk\Maya2008\bin\plug-ins for Maya 2008). -3) Copy openctm.py in /bindings/python/ to the same folder as openctm_translator.py (e.g. C:\Program Files\Autodesk\Maya2008\bin\plug-ins for Maya 2008). - -Mac OS X: ---------- - -1) Copy the file "libopenctm.dylib" to /usr/local/lib (e.g. using - "sudo cp libopenctm.dylib /usr/local/lib/"). -2) Copy openctm_translator.py to your maya plugin folder (e.g. /Users/Shared/Autodesk/maya/2010/plug-ins for Maya 2010). -3) Copy openctm.py in /bindings/python/ to the same folder as openctm_translator.py (e.g. /Users/Shared/Autodesk/maya/2010/plug-ins for Maya 2010). - -Linux: ------- - -1) Copy the file "libopenctm.so" to /usr/lib (e.g. using - "sudo cp libopenctm.so /usr/lib/"). diff --git a/3rdparty/openctm/tools/3ds.cpp b/3rdparty/openctm/tools/3ds.cpp deleted file mode 100644 index 10761894b..000000000 --- a/3rdparty/openctm/tools/3ds.cpp +++ /dev/null @@ -1,432 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: 3ds.cpp -// Description: Implementation of the 3DS file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include "3ds.h" - -#ifdef _MSC_VER -typedef unsigned short uint16; -typedef unsigned int uint32; -#else -#include -typedef uint16_t uint16; -typedef uint32_t uint32; -#endif - -using namespace std; - - -// Known 3DS chunks -#define CHUNK_MAIN 0x4d4d -#define CHUNK_M3D_VERSION 0x0002 -#define CHUNK_3DEDIT 0x3d3d -#define CHUNK_MESH_VERSION 0x3d3e -#define CHUNK_OBJECT 0x4000 -#define CHUNK_TRIMESH 0x4100 -#define CHUNK_VERTEXLIST 0x4110 -#define CHUNK_MAPPINGCOORDS 0x4140 -#define CHUNK_FACES 0x4120 -#define CHUNK_MSH_MAT_GROUP 0x4130 -#define CHUNK_MAT_ENTRY 0xafff -#define CHUNK_MAT_NAME 0xa000 -#define CHUNK_MAT_TEXMAP 0xa200 -#define CHUNK_MAT_MAPNAME 0xa300 - -// 3DS object class -class Obj3DS { - public: - vector mIndices; - vector mVertices; - vector mUVCoords; -}; - - -/// Read a 16-bit integer, endian independent. -static uint16 ReadInt16(istream &aStream) -{ - unsigned char buf[2]; - aStream.read((char *) buf, 2); - return ((uint16) buf[0]) | (((uint16) buf[1]) << 8); -} - -/// Write a 16-bit integer, endian independent. -static void WriteInt16(ostream &aStream, uint16 aValue) -{ - unsigned char buf[2]; - buf[0] = aValue & 255; - buf[1] = (aValue >> 8) & 255; - aStream.write((char *) buf, 2); -} - -/// Read a 32-bit integer, endian independent. -static uint32 ReadInt32(istream &aStream) -{ - unsigned char buf[4]; - aStream.read((char *) buf, 4); - return ((uint32) buf[0]) | (((uint32) buf[1]) << 8) | - (((uint32) buf[2]) << 16) | (((uint32) buf[3]) << 24); -} - -/// Write a 32-bit integer, endian independent. -static void WriteInt32(ostream &aStream, uint32 aValue) -{ - unsigned char buf[4]; - buf[0] = aValue & 255; - buf[1] = (aValue >> 8) & 255; - buf[2] = (aValue >> 16) & 255; - buf[3] = (aValue >> 24) & 255; - aStream.write((char *) buf, 4); -} - -/// Read a Vector2, endian independent. -static Vector2 ReadVector2(istream &aStream) -{ - union { - uint32 i; - float f; - } val; - Vector2 result; - val.i = ReadInt32(aStream); - result.u = val.f; - val.i = ReadInt32(aStream); - result.v = val.f; - return result; -} - -/// Write a Vector2, endian independent. -static void WriteVector2(ostream &aStream, Vector2 aValue) -{ - union { - uint32 i; - float f; - } val; - val.f = aValue.u; - WriteInt32(aStream, val.i); - val.f = aValue.v; - WriteInt32(aStream, val.i); -} - -/// Read a Vector3, endian independent. -static Vector3 ReadVector3(istream &aStream) -{ - union { - uint32 i; - float f; - } val; - Vector3 result; - val.i = ReadInt32(aStream); - result.x = val.f; - val.i = ReadInt32(aStream); - result.y = val.f; - val.i = ReadInt32(aStream); - result.z = val.f; - return result; -} - -/// Write a Vector3, endian independent. -static void WriteVector3(ostream &aStream, Vector3 aValue) -{ - union { - uint32 i; - float f; - } val; - val.f = aValue.x; - WriteInt32(aStream, val.i); - val.f = aValue.y; - WriteInt32(aStream, val.i); - val.f = aValue.z; - WriteInt32(aStream, val.i); -} - -/// Import a 3DS file from a file. -void Import_3DS(const char * aFileName, Mesh * aMesh) -{ - // Clear the mesh - aMesh->Clear(); - - // Open the input file - ifstream f(aFileName, ios::in | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open input file."); - - // Get file size - f.seekg(0, ios::end); - uint32 fileSize = (uint32)f.tellg(); - f.seekg(0, ios::beg); - - // Check file size (rough initial check) - if(fileSize < 6) - throw_runtime_error("Invalid 3DS file format."); - - uint16 chunk, count; - uint32 chunkLen; - - // Read & check file header identifier - chunk = ReadInt16(f); - chunkLen = ReadInt32(f); - if((chunk != CHUNK_MAIN) || (chunkLen != fileSize)) - throw_runtime_error("Invalid 3DS file format."); - - // Parse chunks, and store the data in a temporary list, objList... - Obj3DS * obj = 0; - list objList; - bool hasUVCoords = false; - while(uint32(f.tellg()) < fileSize) - { - // Read next chunk - chunk = ReadInt16(f); - chunkLen = ReadInt32(f); - - // What chunk did we get? - switch(chunk) - { - // 3D Edit -> Step into - case CHUNK_3DEDIT: - break; - - // Object -> Step into - case CHUNK_OBJECT: - // Skip object name (null terminated string) - while((uint32(f.tellg()) < fileSize) && f.get()) {}; - - // Create a new object - objList.push_back(Obj3DS()); - obj = &objList.back(); - break; - - // Triangle mesh -> Step into - case CHUNK_TRIMESH: - break; - - // Vertex list (point coordinates) - case CHUNK_VERTEXLIST: - count = ReadInt16(f); - if((!obj) || ((obj->mVertices.size() > 0) && (obj->mVertices.size() != count))) - { - f.seekg(count * 12, ios::cur); - break; - } - if(obj->mVertices.size() == 0) - obj->mVertices.resize(count); - for(uint16 i = 0; i < count; ++ i) - obj->mVertices[i] = ReadVector3(f); - break; - - // Texture map coordinates (UV coordinates) - case CHUNK_MAPPINGCOORDS: - count = ReadInt16(f); - if((!obj) || ((obj->mUVCoords.size() > 0) && (obj->mUVCoords.size() != count))) - { - f.seekg(count * 8, ios::cur); - break; - } - if(obj->mUVCoords.size() == 0) - obj->mUVCoords.resize(count); - for(uint16 i = 0; i < count; ++ i) - obj->mUVCoords[i] = ReadVector2(f); - if(count > 0) - hasUVCoords = true; - break; - - // Face description (triangle indices) - case CHUNK_FACES: - count = ReadInt16(f); - if(!obj) - { - f.seekg(count * 8, ios::cur); - break; - } - if(obj->mIndices.size() == 0) - obj->mIndices.resize(3 * count); - for(uint32 i = 0; i < count; ++ i) - { - obj->mIndices[i * 3] = ReadInt16(f); - obj->mIndices[i * 3 + 1] = ReadInt16(f); - obj->mIndices[i * 3 + 2] = ReadInt16(f); - ReadInt16(f); // Skip face flag - } - break; - - default: // Unknown/ignored - skip past this one - f.seekg(chunkLen - 6, ios::cur); - } - } - - // Close the input file - f.close(); - - // Convert the loaded object list to the mesh structore (merge all geometries) - aMesh->Clear(); - for(list::iterator o = objList.begin(); o != objList.end(); ++ o) - { - // Append... - uint32 idxOffset = (uint32)aMesh->mIndices.size(); - uint32 vertOffset = (uint32)aMesh->mVertices.size(); - aMesh->mIndices.resize(idxOffset + (*o).mIndices.size()); - aMesh->mVertices.resize(vertOffset + (*o).mVertices.size()); - if(hasUVCoords) - aMesh->mTexCoords.resize(vertOffset + (*o).mVertices.size()); - - // Transcode the data - for(uint32 i = 0; i < (*o).mIndices.size(); ++ i) - aMesh->mIndices[idxOffset + i] = vertOffset + uint32((*o).mIndices[i]); - for(uint32 i = 0; i < (*o).mVertices.size(); ++ i) - aMesh->mVertices[vertOffset + i] = (*o).mVertices[i]; - if(hasUVCoords) - { - if((*o).mUVCoords.size() == (*o).mVertices.size()) - for(uint32 i = 0; i < (*o).mVertices.size(); ++ i) - aMesh->mTexCoords[vertOffset + i] = (*o).mUVCoords[i]; - else - for(uint32 i = 0; i < (*o).mVertices.size(); ++ i) - aMesh->mTexCoords[vertOffset + i] = Vector2(0.0f, 0.0f); - } - } -} - -/// Export a 3DS file to a file. -void Export_3DS(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // First, check that the mesh fits in a 3DS file (at most 65535 triangles - // and 65535 vertices are supported). - if((aMesh->mIndices.size() > (3*65535)) || (aMesh->mVertices.size() > 65535)) - throw_runtime_error("The mesh is too large to fit in a 3DS file."); - - // What should we export? - bool exportTexCoords = aMesh->HasTexCoords() && !aOptions.mNoTexCoords; - - // Predefined names / strings - string objName("Object1"); - string matName("Material0"); - - // Get mesh properties - uint32 triCount = (uint32)(aMesh->mIndices.size() / 3); - uint32 vertCount = (uint32)aMesh->mVertices.size(); - - // Calculate the material chunk size - uint32 materialSize = 0; - uint32 matGroupSize = 0; - if(exportTexCoords && aMesh->mTexFileName.size() > 0) - { - materialSize += 24 + (uint32)matName.size() + 1 + (uint32)aMesh->mTexFileName.size() + 1; - matGroupSize += 8 + (uint32)matName.size() + 1 + 2 * triCount; - } - - // Calculate the mesh chunk size - uint32 triMeshSize = 22 + 8 * triCount + 12 * vertCount + matGroupSize; - if(exportTexCoords) - triMeshSize += 8 + 8 * vertCount; - - // Calculate the total file size - uint32 fileSize = 38 + (uint32)objName.size() + 1 + materialSize + triMeshSize; - - // Open the output file - ofstream f(aFileName, ios::out | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // Write file header - WriteInt16(f, CHUNK_MAIN); - WriteInt32(f, fileSize); - WriteInt16(f, CHUNK_M3D_VERSION); - WriteInt32(f, 6 + 4); - WriteInt32(f, 0x00000003); - - // 3D Edit chunk - WriteInt16(f, CHUNK_3DEDIT); - WriteInt32(f, 16 + materialSize + (uint32)objName.size() + 1 + triMeshSize); - WriteInt16(f, CHUNK_MESH_VERSION); - WriteInt32(f, 6 + 4); - WriteInt32(f, 0x00000003); - - // Material chunk - if(materialSize > 0) - { - WriteInt16(f, CHUNK_MAT_ENTRY); - WriteInt32(f, materialSize); - WriteInt16(f, CHUNK_MAT_NAME); - WriteInt32(f, 6 + (uint32)matName.size() + 1); - f.write(matName.c_str(), (uint32)matName.size() + 1); - WriteInt16(f, CHUNK_MAT_TEXMAP); - WriteInt32(f, 12 + (uint32)aMesh->mTexFileName.size() + 1); - WriteInt16(f, CHUNK_MAT_MAPNAME); - WriteInt32(f, 6 + (uint32)aMesh->mTexFileName.size() + 1); - f.write(aMesh->mTexFileName.c_str(), (uint32)aMesh->mTexFileName.size() + 1); - } - - // Object chunk - WriteInt16(f, CHUNK_OBJECT); - WriteInt32(f, 6 + (uint32)objName.size() + 1 + triMeshSize); - f.write(objName.c_str(), (uint32)objName.size() + 1); - - // Triangle Mesh chunk - WriteInt16(f, CHUNK_TRIMESH); - WriteInt32(f, triMeshSize); - - // Vertex List chunk - WriteInt16(f, CHUNK_VERTEXLIST); - WriteInt32(f, 8 + 12 * vertCount); - WriteInt16(f, vertCount); - for(uint32 i = 0; i < vertCount; ++ i) - WriteVector3(f, aMesh->mVertices[i]); - - // Mapping Coordinates chunk - if(exportTexCoords) - { - WriteInt16(f, CHUNK_MAPPINGCOORDS); - WriteInt32(f, 8 + 8 * vertCount); - WriteInt16(f, vertCount); - for(uint32 i = 0; i < vertCount; ++ i) - WriteVector2(f, aMesh->mTexCoords[i]); - } - - // Faces chunk - WriteInt16(f, CHUNK_FACES); - WriteInt32(f, 8 + 8 * triCount); - WriteInt16(f, triCount); - for(uint32 i = 0; i < triCount; ++ i) - { - WriteInt16(f, uint16(aMesh->mIndices[i * 3])); - WriteInt16(f, uint16(aMesh->mIndices[i * 3 + 1])); - WriteInt16(f, uint16(aMesh->mIndices[i * 3 + 2])); - WriteInt16(f, 0); - } - - // Material Group chunk - if(matGroupSize > 0) - { - WriteInt16(f, CHUNK_MSH_MAT_GROUP); - WriteInt32(f, matGroupSize); - f.write(matName.c_str(), matName.size() + 1); - WriteInt16(f, triCount); - for(uint16 i = 0; i < triCount; ++ i) - WriteInt16(f, i); - } -} diff --git a/3rdparty/openctm/tools/3ds.h b/3rdparty/openctm/tools/3ds.h deleted file mode 100644 index eaaf9afd9..000000000 --- a/3rdparty/openctm/tools/3ds.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: 3ds.h -// Description: Interface for the 3DS file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __3DS_H_ -#define __3DS_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a 3DS file from a file. -void Import_3DS(const char * aFileName, Mesh * aMesh); - -/// Export a 3DS file to a file. -void Export_3DS(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __3DS_H_ diff --git a/3rdparty/openctm/tools/Makefile.linux b/3rdparty/openctm/tools/Makefile.linux deleted file mode 100644 index 7fcc23659..000000000 --- a/3rdparty/openctm/tools/Makefile.linux +++ /dev/null @@ -1,112 +0,0 @@ -############################################################################### -# Product: OpenCTM tools -# File: Makefile.linux -# Description: Makefile for the OpenCTM tools, Linux version -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -OPENCTMDIR = ../lib -GLEWDIR = glew -JPEGDIR = jpeg -RPLYDIR = rply -TINYXMLDIR = tinyxml -ZLIBDIR = zlib -PNGLITEDIR = pnglite - -CPP = g++ -CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR) - -MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o -CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS) -CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o convoptions.o glew.o pnglite.o $(MESHOBJS) -CTMBENCHOBJS = ctmbench.o systimer.o - -all: ctmconv ctmviewer ctmbench - -clean: - rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h - cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean - cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean - -libopenctm.so: $(OPENCTMDIR)/libopenctm.so - cp $< $@ - -ctmconv: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a libopenctm.so - $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) -Wl,-rpath,. -lopenctm -ltinyxml - -ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a $(ZLIBDIR)/libz.a libopenctm.so - $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz -lglut -lGL -lGLU `pkg-config --libs gtk+-2.0` - -ctmbench: $(CTMBENCHOBJS) libopenctm.so - $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm - -%.o: %.cpp - $(CPP) $(CPPFLAGS) -o $@ $< - -ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h -ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h icons/icon_help.h -ctmbench.o: ctmbench.cpp systimer.h -common.o: common.cpp common.h -image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a -systimer.o: systimer.cpp systimer.h -sysdialog_gtk.o: sysdialog_gtk.cpp sysdialog.h -convoptions.o: convoptions.cpp convoptions.h -mesh.o: mesh.cpp mesh.h convoptions.h -meshio.o: meshio.cpp common.h convoptions.h mesh.h ctm.h ply.h stl.h 3ds.h dae.h obj.h lwo.h off.h wrl.h -ctm.o: ctm.cpp ctm.h mesh.h convoptions.h -ply.o: ply.cpp ply.h mesh.h convoptions.h common.h -stl.o: stl.cpp stl.h mesh.h convoptions.h -3ds.o: 3ds.cpp 3ds.h mesh.h convoptions.h -dae.o: dae.cpp dae.h mesh.h convoptions.h -obj.o: obj.cpp obj.h mesh.h convoptions.h common.h -lwo.o: lwo.cpp lwo.h mesh.h convoptions.h -off.o: off.cpp off.h mesh.h convoptions.h common.h -wrl.o: wrl.cpp wrl.h mesh.h convoptions.h common.h - -phong_vert.h: phong.vert bin2c - ./bin2c phong.vert phongVertSrc > $@ - -phong_frag.h: phong.frag bin2c - ./bin2c phong.frag phongFragSrc > $@ - -bin2c: bin2c.cpp - $(CPP) -Os -W -Wall -o $@ $< - -$(JPEGDIR)/libjpeg.a: - cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a - -$(ZLIBDIR)/libz.a: - cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux - -glew.o: $(GLEWDIR)/glew.c - gcc -c -Os -W -I$(GLEWDIR) -o $@ $< - -rply.o: $(RPLYDIR)/rply.c - gcc -c -O2 -W -I$(RPLYDIR) -o $@ $< - -pnglite.o: $(PNGLITEDIR)/pnglite.c - gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $< - -$(TINYXMLDIR)/libtinyxml.a: - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux diff --git a/3rdparty/openctm/tools/Makefile.macosx b/3rdparty/openctm/tools/Makefile.macosx deleted file mode 100644 index 29a903efd..000000000 --- a/3rdparty/openctm/tools/Makefile.macosx +++ /dev/null @@ -1,117 +0,0 @@ -############################################################################### -# Product: OpenCTM tools -# File: Makefile.macosx -# Description: Makefile for the OpenCTM tools, Mac OS X version -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -OPENCTMDIR = ../lib -GLEWDIR = glew -JPEGDIR = jpeg -RPLYDIR = rply -TINYXMLDIR = tinyxml -ZLIBDIR = zlib -PNGLITEDIR = pnglite - -CPP = g++ -CPPFLAGS = -c -O3 -W -Wall -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR) -OCPP = g++ -x objective-c++ -OCPPFLAGS = -c -O3 -W -Wall - -MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o -CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS) -CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_mac.o convoptions.o glew.o pnglite.o $(MESHOBJS) -CTMBENCHOBJS = ctmbench.o systimer.o - -all: ctmconv ctmviewer ctmbench - -clean: - rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h - cd $(JPEGDIR) && $(MAKE) -f makefile.macosx clean - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.macosx clean - cd $(ZLIBDIR) && $(MAKE) -f Makefile.macosx clean - -libopenctm.so: $(OPENCTMDIR)/libopenctm.so - cp $< $@ - -ctmconv: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a $(OPENCTMDIR)/libopenctm.dylib - $(CPP) -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) -lopenctm -ltinyxml - -ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a $(ZLIBDIR)/libz.a $(OPENCTMDIR)/libopenctm.dylib - $(CPP) -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR) $(CTMVIEWEROBJS) -lopenctm -ltinyxml -ljpeg -lz -framework GLUT -framework OpenGL -framework Cocoa - -ctmbench: $(CTMBENCHOBJS) $(OPENCTMDIR)/libopenctm.dylib - $(CPP) -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm - -%.o: %.cpp - $(CPP) $(CPPFLAGS) -o $@ $< - -%.o: %.mm - $(OCPP) $(OCPPFLAGS) -o $@ $< - -ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h -ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h icons/icon_help.h -ctmbench.o: ctmbench.cpp systimer.h -common.o: common.cpp common.h -image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a -systimer.o: systimer.cpp systimer.h -sysdialog_mac.o: sysdialog_mac.mm sysdialog.h -convoptions.o: convoptions.cpp convoptions.h -mesh.o: mesh.cpp mesh.h convoptions.h -meshio.o: meshio.cpp common.h convoptions.h mesh.h ctm.h ply.h stl.h 3ds.h dae.h obj.h lwo.h off.h wrl.h -ctm.o: ctm.cpp ctm.h mesh.h convoptions.h -ply.o: ply.cpp ply.h mesh.h convoptions.h common.h -stl.o: stl.cpp stl.h mesh.h convoptions.h -3ds.o: 3ds.cpp 3ds.h mesh.h convoptions.h -dae.o: dae.cpp dae.h mesh.h convoptions.h -obj.o: obj.cpp obj.h mesh.h convoptions.h common.h -lwo.o: lwo.cpp lwo.h mesh.h convoptions.h -off.o: off.cpp off.h mesh.h convoptions.h common.h -wrl.o: wrl.cpp wrl.h mesh.h convoptions.h common.h - -phong_vert.h: phong.vert bin2c - ./bin2c phong.vert phongVertSrc > $@ - -phong_frag.h: phong.frag bin2c - ./bin2c phong.frag phongFragSrc > $@ - -bin2c: bin2c.cpp - $(CPP) -Os -W -Wall -o $@ $< - -$(JPEGDIR)/libjpeg.a: - cd $(JPEGDIR) && $(MAKE) -f makefile.macosx libjpeg.a - -$(ZLIBDIR)/libz.a: - cd $(ZLIBDIR) && $(MAKE) -f Makefile.macosx - -glew.o: $(GLEWDIR)/glew.c - gcc -c -Os -W -I$(GLEWDIR) -o $@ $< - -rply.o: $(RPLYDIR)/rply.c - gcc -c -O2 -W -I$(RPLYDIR) -o $@ $< - -pnglite.o: $(PNGLITEDIR)/pnglite.c - gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $< - -$(TINYXMLDIR)/libtinyxml.a: - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.macosx diff --git a/3rdparty/openctm/tools/Makefile.mingw b/3rdparty/openctm/tools/Makefile.mingw deleted file mode 100644 index 5b6556afb..000000000 --- a/3rdparty/openctm/tools/Makefile.mingw +++ /dev/null @@ -1,119 +0,0 @@ -############################################################################### -# Product: OpenCTM tools -# File: Makefile.mingw -# Description: Makefile for the OpenCTM tools, MinGW32 version -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -OPENCTMDIR = ..\lib -GLEWDIR = glew -JPEGDIR = jpeg -RPLYDIR = rply -TINYXMLDIR = tinyxml -ZLIBDIR = zlib -PNGLITEDIR = pnglite - -CPP = g++ -CPPFLAGS = -c -O3 -W -Wall -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR) -DGLEW_STATIC -RC = windres - -MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o -CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS) ctmconv-res.o -CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_win.o convoptions.o glew.o pnglite.o $(MESHOBJS) ctmviewer-res.o -CTMBENCHOBJS = ctmbench.o systimer.o - -all: ctmconv.exe ctmviewer.exe ctmbench.exe - -clean: - del /Q ctmconv.exe ctmviewer.exe ctmbench.exe $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c.exe phong_frag.h phong_vert.h - cd $(JPEGDIR) && $(MAKE) -f Makefile.mingw clean - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.mingw clean - cd $(ZLIBDIR) && $(MAKE) -f Makefile.mingw clean - -openctm.dll: $(OPENCTMDIR)\openctm.dll - copy $< $@ - -ctmconv.exe: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a openctm.dll - $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) -lopenctm -ltinyxml - -ctmviewer.exe: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a $(ZLIBDIR)/libz.a openctm.dll - $(CPP) -mwindows -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR) $(CTMVIEWEROBJS) -lopenctm -ltinyxml -ljpeg -lz -lfreeglut -lopengl32 -lglu32 -lcomdlg32 - -ctmbench.exe: $(CTMBENCHOBJS) openctm.dll - $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm - -%.o: %.cpp - $(CPP) $(CPPFLAGS) -o $@ $< - -ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h -ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h icons/icon_help.h -ctmbench.o: ctmbench.cpp systimer.h -common.o: common.cpp common.h -image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a -systimer.o: systimer.cpp systimer.h -sysdialog_win.o: sysdialog_win.cpp sysdialog.h -convoptions.o: convoptions.cpp convoptions.h -mesh.o: mesh.cpp mesh.h convoptions.h -meshio.o: meshio.cpp common.h convoptions.h mesh.h ctm.h ply.h stl.h 3ds.h dae.h obj.h lwo.h off.h wrl.h -ctm.o: ctm.cpp ctm.h mesh.h convoptions.h -ply.o: ply.cpp ply.h mesh.h convoptions.h common.h -stl.o: stl.cpp stl.h mesh.h convoptions.h -3ds.o: 3ds.cpp 3ds.h mesh.h convoptions.h -dae.o: dae.cpp dae.h mesh.h convoptions.h -obj.o: obj.cpp obj.h mesh.h convoptions.h common.h -lwo.o: lwo.cpp lwo.h mesh.h convoptions.h -off.o: off.cpp off.h mesh.h convoptions.h common.h -wrl.o: wrl.cpp wrl.h mesh.h convoptions.h common.h - -phong_vert.h: phong.vert bin2c.exe - bin2c.exe phong.vert phongVertSrc > $@ - -phong_frag.h: phong.frag bin2c.exe - bin2c.exe phong.frag phongFragSrc > $@ - -bin2c.exe: bin2c.cpp - $(CPP) -Os -W -Wall -o $@ $< - -ctmconv-res.o: ctmconv.rc icons\openctm.ico - $(RC) $< $@ - -ctmviewer-res.o: ctmviewer.rc icons\openctm.ico - $(RC) $< $@ - -$(JPEGDIR)/libjpeg.a: - cd $(JPEGDIR) && $(MAKE) -f Makefile.mingw libjpeg.a - -$(ZLIBDIR)/libz.a: - cd $(ZLIBDIR) && $(MAKE) -f Makefile.mingw - -glew.o: $(GLEWDIR)/glew.c - gcc -c -Os -W -I$(GLEWDIR) -DGLEW_STATIC -o $@ $< - -rply.o: $(RPLYDIR)/rply.c - gcc -c -O2 -W -I$(RPLYDIR) -o $@ $< - -pnglite.o: $(PNGLITEDIR)/pnglite.c - gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $< - -$(TINYXMLDIR)/libtinyxml.a: - cd $(TINYXMLDIR) && $(MAKE) -f Makefile.mingw diff --git a/3rdparty/openctm/tools/Makefile.msvc b/3rdparty/openctm/tools/Makefile.msvc deleted file mode 100644 index 9ccbe5dee..000000000 --- a/3rdparty/openctm/tools/Makefile.msvc +++ /dev/null @@ -1,119 +0,0 @@ -############################################################################### -# Product: OpenCTM tools -# File: Makefile.msvc -# Description: Makefile for the OpenCTM tools, MS Visual Studio version -############################################################################### -# Copyright (c) 2009-2010 Marcus Geelnard -# -# This software is provided 'as-is', without any express or implied -# warranty. In no event will the authors be held liable for any damages -# arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, -# including commercial applications, and to alter it and redistribute it -# freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not -# claim that you wrote the original software. If you use this software -# in a product, an acknowledgment in the product documentation would be -# appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not -# be misrepresented as being the original software. -# -# 3. This notice may not be removed or altered from any source -# distribution. -############################################################################### - -OPENCTMDIR = ..\lib -GLEWDIR = glew -JPEGDIR = jpeg -RPLYDIR = rply -TINYXMLDIR = tinyxml -ZLIBDIR = zlib -PNGLITEDIR = pnglite - -CPP = cl -CPPFLAGS = /nologo /c /Ox /W3 /EHsc /I$(OPENCTMDIR) /I$(RPLYDIR) /I$(JPEGDIR) /I$(TINYXMLDIR) /I$(GLEWDIR) /I$(ZLIBDIR) /I$(PNGLITEDIR) /DGLEW_STATIC /D_CRT_SECURE_NO_WARNINGS -RC = rc - -MESHOBJS = mesh.obj meshio.obj ctm.obj ply.obj rply.obj stl.obj 3ds.obj dae.obj obj.obj lwo.obj off.obj wrl.obj -CTMCONVOBJS = ctmconv.obj common.obj systimer.obj convoptions.obj $(MESHOBJS) ctmconv.res -CTMVIEWEROBJS = ctmviewer.obj common.obj image.obj systimer.obj sysdialog_win.obj convoptions.obj glew.obj pnglite.obj $(MESHOBJS) ctmviewer.res -CTMBENCHOBJS = ctmbench.obj systimer.obj - -all: ctmconv.exe ctmviewer.exe ctmbench.exe - -clean: - del /Q ctmconv.exe ctmviewer.exe ctmbench.exe $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c.exe phong_frag.h phong_vert.h - cd $(JPEGDIR) && $(MAKE) /fmakefile.vc cleanlib - cd $(TINYXMLDIR) && $(MAKE) /fMakefile.msvc clean - cd $(ZLIBDIR) && $(MAKE) /fMakefile.msvc clean - -openctm.dll: $(OPENCTMDIR)\openctm.dll - copy $(OPENCTMDIR)\openctm.dll openctm.dll - -ctmconv.exe: $(CTMCONVOBJS) $(TINYXMLDIR)\tinyxml.lib openctm.dll - $(CPP) /nologo /Fe$@ $(CTMCONVOBJS) /link /LIBPATH:$(OPENCTMDIR) /LIBPATH:$(TINYXMLDIR) openctm.lib tinyxml.lib - -ctmviewer.exe: $(CTMVIEWEROBJS) $(JPEGDIR)\libjpeg.lib $(TINYXMLDIR)\tinyxml.lib $(ZLIBDIR)\libz.lib openctm.dll - $(CPP) /nologo /Fe$@ $(CTMVIEWEROBJS) /link /subsystem:windows /entry:mainCRTStartup /LIBPATH:$(OPENCTMDIR) /LIBPATH:$(TINYXMLDIR) /LIBPATH:$(JPEGDIR) /LIBPATH:$(ZLIBDIR) openctm.lib tinyxml.lib glut.lib libjpeg.lib libz.lib opengl32.lib glu32.lib - -ctmbench.exe: $(CTMBENCHOBJS) openctm.dll - $(CPP) /nologo /Fe$@ $(CTMBENCHOBJS) /link /LIBPATH:$(OPENCTMDIR) openctm.lib - -.cpp.obj: - $(CPP) $(CPPFLAGS) /Fo$@ $< - -ctmconv.obj: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h -ctmviewer.obj: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons\icon_open.h icons\icon_save.h icons\icon_help.h -ctmbench.obj: ctmbench.cpp systimer.h -common.obj: common.cpp common.h -image.obj: image.cpp image.h common.h $(JPEGDIR)\libjpeg.lib -systimer.obj: systimer.cpp systimer.h -sysdialog_win.obj: sysdialog_win.cpp sysdialog.h -convoptions.obj: convoptions.cpp convoptions.h -mesh.obj: mesh.cpp mesh.h convoptions.h -meshio.obj: meshio.cpp common.h convoptions.h mesh.h ctm.h ply.h stl.h 3ds.h dae.h obj.h lwo.h off.h wrl.h -ctm.obj: ctm.cpp ctm.h mesh.h convoptions.h -ply.obj: ply.cpp ply.h mesh.h convoptions.h common.h -stl.obj: stl.cpp stl.h mesh.h convoptions.h -3ds.obj: 3ds.cpp 3ds.h mesh.h convoptions.h -dae.obj: dae.cpp dae.h mesh.h convoptions.h -obj.obj: obj.cpp obj.h mesh.h convoptions.h common.h -lwo.obj: lwo.cpp lwo.h mesh.h convoptions.h -off.obj: off.cpp off.h mesh.h convoptions.h common.h -wrl.obj: wrl.cpp wrl.h mesh.h convoptions.h common.h - -phong_vert.h: phong.vert bin2c.exe - bin2c.exe phong.vert phongVertSrc > $@ - -phong_frag.h: phong.frag bin2c.exe - bin2c.exe phong.frag phongFragSrc > $@ - -bin2c.exe: bin2c.cpp - $(CPP) /nologo /Ox /W3 /EHsc /Fe$@ bin2c.cpp - -ctmconv.res: ctmconv.rc icons\openctm.ico - $(RC) ctmconv.rc - -ctmviewer.res: ctmviewer.rc icons\openctm.ico - $(RC) ctmviewer.rc - -$(JPEGDIR)\libjpeg.lib: - cd $(JPEGDIR) && $(MAKE) /fmakefile.vc libjpeg.lib - -$(ZLIBDIR)\libz.lib: - cd $(ZLIBDIR) && $(MAKE) /fMakefile.msvc - -glew.obj: $(GLEWDIR)\glew.c - cl /nologo /c /Ox /W3 /I$(GLEWDIR) /DGLEW_STATIC /Fo$@ $(GLEWDIR)\glew.c - -rply.obj: $(RPLYDIR)\rply.c - cl /nologo /c /Ox /W3 /I$(RPLYDIR) /D_CRT_SECURE_NO_WARNINGS /Fo$@ $(RPLYDIR)\rply.c - -pnglite.obj: $(PNGLITEDIR)\pnglite.c - cl /nologo /c /Ox /W3 /I$(PNGLITEDIR) /D_CRT_SECURE_NO_WARNINGS /Fo$@ $(PNGLITEDIR)\pnglite.c - -$(TINYXMLDIR)\tinyxml.lib: - cd $(TINYXMLDIR) && $(MAKE) /fMakefile.msvc diff --git a/3rdparty/openctm/tools/bin2c.cpp b/3rdparty/openctm/tools/bin2c.cpp deleted file mode 100644 index 2fae343da..000000000 --- a/3rdparty/openctm/tools/bin2c.cpp +++ /dev/null @@ -1,74 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: bin2c.cpp -// Description: Binary to C source code file converter (used for building the -/// tools). -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include - -using namespace std; - - -int main(int argc, char ** argv) -{ - // Check arguments - if(argc != 3) - { - cerr << "Usage: " << argv[0] << " file varname" << endl; - return 0; - } - - // Open input file - ifstream f(argv[1], ios::binary | ios::in); - if(f.fail()) - { - cerr << "Unable to open file: " << argv[1] << endl; - return 0; - } - - // Read & translate input file and print to standard out... - cout << "static const unsigned char " << argv[2] << "[] = {" << endl; - while(!f.eof()) - { - unsigned char buf[19]; - f.read((char *) buf, 19); - unsigned int count = f.gcount(); - if(count > 0) - { - cout << " "; - for(unsigned int i = 0; i < count; ++ i) - cout << int(buf[i]) << ","; - cout << endl; - } - } - cout << " 0" << endl; - cout << "};" << endl; - - // Close input file - f.close(); - - return 0; -} diff --git a/3rdparty/openctm/tools/common.cpp b/3rdparty/openctm/tools/common.cpp deleted file mode 100644 index 22371ef62..000000000 --- a/3rdparty/openctm/tools/common.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: common.cpp -// Description: Miscellaneous helper functions. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" - -using namespace std; - -// Convert a string to upper case. -string UpperCase(const string &aString) -{ - string result(aString); - for(unsigned int i = 0; i < result.size(); ++ i) - result[i] = toupper(result[i]); - return result; -} - -// Trim heading and trailing white spaces of a string -string TrimString(const string &aString) -{ - size_t l = aString.size(); - size_t p1 = 0, p2 = l - 1; - while((p1 < p2) && IsWhiteSpace(aString[p1])) - ++ p1; - while((p2 > p1) && IsWhiteSpace(aString[p2])) - -- p2; - return aString.substr(p1, p2 - p1 + 1); -} - -// Extract the file name of a file path (excluding the path). -string ExtractFileName(const string &aString) -{ - string result = ""; - size_t pathPos = aString.rfind("/"); - if(pathPos == string::npos) - pathPos = aString.rfind("\\"); - if(pathPos != string::npos) - result = aString.substr(pathPos + 1); - return result; -} - -// Extract the file path of a file path (excluding the file name). -string ExtractFilePath(const string &aString) -{ - string result = ""; - size_t pathPos = aString.rfind("/"); - if(pathPos == string::npos) - pathPos = aString.rfind("\\"); - if(pathPos != string::npos) - result = aString.substr(0, pathPos); - return result; -} - -// Extract the file extension of a file name. -string ExtractFileExt(const string &aString) -{ - string result = ""; - size_t extPos = aString.rfind("."); - if(extPos != string::npos) - result = aString.substr(extPos); - return result; -} - -// Check if a character is an end-of-line marker or not -bool IsEOL(const char c) -{ - return (c == '\n') || (c == '\r'); -} - -// Check if a character is a white space or not -bool IsWhiteSpace(const char c) -{ - return (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r'); -} diff --git a/3rdparty/openctm/tools/common.h b/3rdparty/openctm/tools/common.h deleted file mode 100644 index 9a8b4eb45..000000000 --- a/3rdparty/openctm/tools/common.h +++ /dev/null @@ -1,56 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: common.h -// Description: Miscellaneous helper functions. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __COMMON_H_ -#define __COMMON_H_ - -#include - -void throw_runtime_error(std::string str); - -// Convert a string to upper case. -std::string UpperCase(const std::string &aString); - -// Trim heading and trailing white spaces of a string -std::string TrimString(const std::string &aString); - -// Extract the file name of a file path (excluding the path). -std::string ExtractFileName(const std::string &aString); - -// Extract the file path of a file path (excluding the file name). -std::string ExtractFilePath(const std::string &aString); - -// Extract the file extension of a file name. -std::string ExtractFileExt(const std::string &aString); - -// Check if a character is an end-of-line marker or not -bool IsEOL(const char c); - -// Check if a character is a white space or not -bool IsWhiteSpace(const char c); - -#endif // __COMMON_H_ diff --git a/3rdparty/openctm/tools/convoptions.cpp b/3rdparty/openctm/tools/convoptions.cpp deleted file mode 100644 index 95ac7f35a..000000000 --- a/3rdparty/openctm/tools/convoptions.cpp +++ /dev/null @@ -1,190 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: convoptions.cpp -// Description: Implementation of the conversion options class. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include "convoptions.h" - -using namespace std; - - -/// Constructor -Options::Options() -{ - // Set default values - mScale = 1.0f; - mUpAxis = uaZ; - mFlipTriangles = false; - mCalcNormals = false; - mNoNormals = false; - mNoTexCoords = false; - mNoColors = false; - - mMethod = CTM_METHOD_MG2; - mLevel = 1; - mVertexPrecision = 0.0f; - mVertexPrecisionRel = 0.01f; - mNormalPrecision = 1.0f / 256.0f; - mTexMapPrecision = 1.0f / 4096.0f; - mColorPrecision = 1.0f / 256.0f; - mComment = string(""); - mTexFileName = string(""); -} - -/// Convert a string to a floating point value -static CTMfloat GetFloatArg(char * aFloatString) -{ - stringstream s; - s << aFloatString; - s.seekg(0); - CTMfloat f; - s >> f; - return f; -} - -/// Convert a string to an integer value -static CTMint GetIntArg(char * aIntString) -{ - stringstream s; - s << aIntString; - s.seekg(0); - CTMint i; - s >> i; - return i; -} - -/// Get options from the command line arguments -void Options::GetFromArgs(int argc, char **argv, int aStartIdx) -{ - for(int i = aStartIdx; i < argc; ++ i) - { - string cmd(argv[i]); - if((cmd == string("--scale")) && (i < (argc - 1))) - { - mScale = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--upaxis")) && (i < (argc - 1))) - { - string upaxis(argv[i + 1]); - ++ i; - if(upaxis == string("X")) - mUpAxis = uaX; - else if(upaxis == string("Y")) - mUpAxis = uaY; - else if(upaxis == string("Z")) - mUpAxis = uaZ; - else if(upaxis == string("-X")) - mUpAxis = uaNX; - else if(upaxis == string("-Y")) - mUpAxis = uaNY; - else if(upaxis == string("-Z")) - mUpAxis = uaNZ; - else - throw_runtime_error("Invalid up axis (use X, Y, Z, -X, -Y or -Z)."); - } - else if(cmd == string("--flip")) - { - mFlipTriangles = true; - } - else if(cmd == string("--calc-normals")) - { - mCalcNormals = true; - } - else if(cmd == string("--no-normals")) - { - mNoNormals = true; - } - else if(cmd == string("--no-texcoords")) - { - mNoTexCoords = true; - } - else if(cmd == string("--no-colors")) - { - mNoColors = true; - } - else if((cmd == string("--method")) && (i < (argc - 1))) - { - string method(argv[i + 1]); - ++ i; - if(method == string("RAW")) - mMethod = CTM_METHOD_RAW; - else if(method == string("MG1")) - mMethod = CTM_METHOD_MG1; - else if(method == string("MG2")) - mMethod = CTM_METHOD_MG2; - else - throw_runtime_error("Invalid method (use RAW, MG1 or MG2)."); - } - else if((cmd == string("--level")) && (i < (argc - 1))) - { - CTMint val = GetIntArg(argv[i + 1]); - if( (val < 0) || (val > 9) ) - throw_runtime_error("Invalid compression level (it must be in the range 0 - 9)."); - mLevel = CTMuint(val); - ++ i; - } - else if((cmd == string("--vprec")) && (i < (argc - 1))) - { - mVertexPrecision = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--vprecrel")) && (i < (argc - 1))) - { - mVertexPrecisionRel = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--nprec")) && (i < (argc - 1))) - { - mNormalPrecision = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--tprec")) && (i < (argc - 1))) - { - mTexMapPrecision = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--cprec")) && (i < (argc - 1))) - { - mColorPrecision = GetFloatArg(argv[i + 1]); - ++ i; - } - else if((cmd == string("--comment")) && (i < (argc - 1))) - { - mComment = string(argv[i + 1]); - ++ i; - } - else if((cmd == string("--texfile")) && (i < (argc - 1))) - { - mTexFileName = string(argv[i + 1]); - ++ i; - } - else - throw_runtime_error(string("Invalid argument: ") + cmd); - } -} diff --git a/3rdparty/openctm/tools/convoptions.h b/3rdparty/openctm/tools/convoptions.h deleted file mode 100644 index 283e158db..000000000 --- a/3rdparty/openctm/tools/convoptions.h +++ /dev/null @@ -1,68 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: convoptions.h -// Description: Interface for the conversion options class. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __CONVOPTIONS_H_ -#define __CONVOPTIONS_H_ - -#include -#include - - -typedef enum { - uaX, uaY, uaZ, uaNX, uaNY, uaNZ -} UpAxis; - -class Options { - public: - /// Constructor - Options(); - - /// Get options from the command line arguments - void GetFromArgs(int argc, char **argv, int aStartIdx); - - CTMfloat mScale; - UpAxis mUpAxis; - bool mFlipTriangles; - bool mCalcNormals; - bool mNoNormals; - bool mNoTexCoords; - bool mNoColors; - - CTMenum mMethod; - CTMuint mLevel; - - CTMfloat mVertexPrecision; - CTMfloat mVertexPrecisionRel; - CTMfloat mNormalPrecision; - CTMfloat mTexMapPrecision; - CTMfloat mColorPrecision; - - std::string mComment; - std::string mTexFileName; -}; - -#endif // __CONVOPTIONS_H_ diff --git a/3rdparty/openctm/tools/ctm.cpp b/3rdparty/openctm/tools/ctm.cpp deleted file mode 100644 index 7f1d1b5db..000000000 --- a/3rdparty/openctm/tools/ctm.cpp +++ /dev/null @@ -1,166 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ctm.h -// Description: Implementation of the OpenCTM file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include "ctm.h" - -using namespace std; - - -/// Import an OpenCTM file from a file. -void Import_CTM(const char * aFileName, Mesh * aMesh) -{ - // Clear the mesh - aMesh->Clear(); - - // Load the file using the OpenCTM API - CTMimporter ctm; - - // Load the file - ctm.Load(aFileName); - - // Extract file comment - const char * comment = ctm.GetString(CTM_FILE_COMMENT); - if(comment) - aMesh->mComment = string(comment); - - // Extract indices - CTMuint numTriangles = ctm.GetInteger(CTM_TRIANGLE_COUNT); - aMesh->mIndices.resize(numTriangles * 3); - const CTMuint * indices = ctm.GetIntegerArray(CTM_INDICES); - for(CTMuint i = 0; i < numTriangles * 3; ++ i) - aMesh->mIndices[i] = indices[i]; - - // Extract vertices - CTMuint numVertices = ctm.GetInteger(CTM_VERTEX_COUNT); - aMesh->mVertices.resize(numVertices); - const CTMfloat * vertices = ctm.GetFloatArray(CTM_VERTICES); - for(CTMuint i = 0; i < numVertices; ++ i) - { - aMesh->mVertices[i].x = vertices[i * 3]; - aMesh->mVertices[i].y = vertices[i * 3 + 1]; - aMesh->mVertices[i].z = vertices[i * 3 + 2]; - } - - // Extract normals - if(ctm.GetInteger(CTM_HAS_NORMALS) == CTM_TRUE) - { - aMesh->mNormals.resize(numVertices); - const CTMfloat * normals = ctm.GetFloatArray(CTM_NORMALS); - for(CTMuint i = 0; i < numVertices; ++ i) - { - aMesh->mNormals[i].x = normals[i * 3]; - aMesh->mNormals[i].y = normals[i * 3 + 1]; - aMesh->mNormals[i].z = normals[i * 3 + 2]; - } - } - - // Extract texture coordinates - if(ctm.GetInteger(CTM_UV_MAP_COUNT) > 0) - { - aMesh->mTexCoords.resize(numVertices); - const CTMfloat * texCoords = ctm.GetFloatArray(CTM_UV_MAP_1); - for(CTMuint i = 0; i < numVertices; ++ i) - { - aMesh->mTexCoords[i].u = texCoords[i * 2]; - aMesh->mTexCoords[i].v = texCoords[i * 2 + 1]; - } - const char * str = ctm.GetUVMapString(CTM_UV_MAP_1, CTM_FILE_NAME); - if(str) - aMesh->mTexFileName = string(str); - else - aMesh->mTexFileName = string(""); - } - - // Extract colors - CTMenum colorAttrib = ctm.GetNamedAttribMap("Color"); - if(colorAttrib != CTM_NONE) - { - aMesh->mColors.resize(numVertices); - const CTMfloat * colors = ctm.GetFloatArray(colorAttrib); - for(CTMuint i = 0; i < numVertices; ++ i) - { - aMesh->mColors[i].x = colors[i * 4]; - aMesh->mColors[i].y = colors[i * 4 + 1]; - aMesh->mColors[i].z = colors[i * 4 + 2]; - aMesh->mColors[i].w = colors[i * 4 + 3]; - } - } -} - -/// Export an OpenCTM file to a file. -void Export_CTM(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Save the file using the OpenCTM API - CTMexporter ctm; - - // Define mesh - CTMfloat * normals = 0; - if(aMesh->HasNormals() && !aOptions.mNoNormals) - normals = &aMesh->mNormals[0].x; - ctm.DefineMesh((CTMfloat *) &aMesh->mVertices[0].x, (CTMuint)aMesh->mVertices.size(), - (const CTMuint*) &aMesh->mIndices[0], (CTMuint)aMesh->mIndices.size() / 3, - normals); - - // Define texture coordinates - if(aMesh->HasTexCoords()) - { - const char * fileName = NULL; - if(aMesh->mTexFileName.size() > 0) - fileName = aMesh->mTexFileName.c_str(); - CTMenum map = ctm.AddUVMap(&aMesh->mTexCoords[0].u, "Diffuse color", fileName); - ctm.UVCoordPrecision(map, aOptions.mTexMapPrecision); - } - - // Define vertex colors - if(aMesh->HasColors()) - { - CTMenum map = ctm.AddAttribMap(&aMesh->mColors[0].x, "Color"); - ctm.AttribPrecision(map, aOptions.mColorPrecision); - } - - // Set file comment - if(aMesh->mComment.size() > 0) - ctm.FileComment(aMesh->mComment.c_str()); - - // Set compression method and level - ctm.CompressionMethod(aOptions.mMethod); - ctm.CompressionLevel(aOptions.mLevel); - - // Set vertex precision - if(aOptions.mVertexPrecision > 0.0f) - ctm.VertexPrecision(aOptions.mVertexPrecision); - else - ctm.VertexPrecisionRel(aOptions.mVertexPrecisionRel); - - // Set normal precision - ctm.NormalPrecision(aOptions.mNormalPrecision); - - // Export file - ctm.Save(aFileName); -} diff --git a/3rdparty/openctm/tools/ctm.h b/3rdparty/openctm/tools/ctm.h deleted file mode 100644 index 82f5ec34d..000000000 --- a/3rdparty/openctm/tools/ctm.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ctm.h -// Description: Interface for the OpenCTM file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __CTM_H_ -#define __CTM_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import an OpenCTM file from a file. -void Import_CTM(const char * aFileName, Mesh * aMesh); - -/// Export an OpenCTM file to a file. -void Export_CTM(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __CTM_H_ diff --git a/3rdparty/openctm/tools/ctmbench.cpp b/3rdparty/openctm/tools/ctmbench.cpp deleted file mode 100644 index 71cabafd2..000000000 --- a/3rdparty/openctm/tools/ctmbench.cpp +++ /dev/null @@ -1,189 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ctmbench.cpp -// Description: Load/save benchmark tool. This tools is actually just a quick -// hack used for development and testing. To change the compression -// parameters for the save benchmarks, a recompile is required. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include "systimer.h" - -using namespace std; - - -//----------------------------------------------------------------------------- -// BenchmarkLoads() - Benchmark function for loading OpenCTM files. -//----------------------------------------------------------------------------- - -void BenchmarkLoads(int aIterations, const char * aFileName, double &tMin, - double &tMax, double &tTotal) -{ - SysTimer timer; - - // Iterate... - cout << "Doing " << aIterations << " load iterations..." << endl << flush; - for(int i = 0; i < aIterations; ++ i) - { - CTMimporter ctm; - - // Start the timer - timer.Push(); - - // Load the file - ctm.Load(aFileName); - - // Stop the timer - double t = timer.PopDelta(); - if(i == 0) - { - tMin = t; - tMax = t; - } - else - { - if(t < tMin) tMin = t; - if(t > tMax) tMax = t; - } - tTotal += t; - } -} - - -//----------------------------------------------------------------------------- -// BenchmarkSaves() - Benchmark function for saving OpenCTM files. -//----------------------------------------------------------------------------- - -void BenchmarkSaves(int aIterations, const char * aInFile, const char * aOutFile, - double &tMin, double &tMax, double &tTotal) -{ - SysTimer timer; - - // Load the file - CTMimporter in; - in.Load(aInFile); - - // Extract mesh definition - CTMint triCount = in.GetInteger(CTM_TRIANGLE_COUNT); - CTMint vertCount = in.GetInteger(CTM_VERTEX_COUNT); - const CTMuint * indx = in.GetIntegerArray(CTM_INDICES); - const CTMfloat * vert = in.GetFloatArray(CTM_VERTICES); - const CTMfloat * norm = 0; - if(in.GetInteger(CTM_HAS_NORMALS)) - norm = in.GetFloatArray(CTM_NORMALS); - - // Iterate... - cout << "Doing " << aIterations << " save iterations..." << endl << flush; - for(int i = 0; i < aIterations; ++ i) - { - // Define the mesh - CTMexporter out; - out.DefineMesh(vert, vertCount, indx, triCount, norm); - - int uvCount = in.GetInteger(CTM_UV_MAP_COUNT); - for(int k = 0; k < uvCount; ++ k) - { - const CTMfloat * uvMap = in.GetFloatArray(CTMenum(CTM_UV_MAP_1 + k)); - const char * name = in.GetUVMapString(CTMenum(CTM_UV_MAP_1 + k), CTM_NAME); - const char * fileName = in.GetUVMapString(CTMenum(CTM_UV_MAP_1 + k), CTM_FILE_NAME); - out.AddUVMap(uvMap, name, fileName); - } - - int attrCount = in.GetInteger(CTM_ATTRIB_MAP_COUNT); - for(int k = 0; k < attrCount; ++ k) - { - const CTMfloat * attrMap = in.GetFloatArray(CTMenum(CTM_ATTRIB_MAP_1 + k)); - const char * name = in.GetAttribMapString(CTMenum(CTM_ATTRIB_MAP_1 + k), CTM_NAME); - out.AddAttribMap(attrMap, name); - } - - // Select compression parameters - out.CompressionMethod(CTM_METHOD_MG1); - - // Start the timer - timer.Push(); - - // Save the file - out.Save(aOutFile); - - // Stop the timer - double t = timer.PopDelta(); - if(i == 0) - { - tMin = t; - tMax = t; - } - else - { - if(t < tMin) tMin = t; - if(t > tMax) tMax = t; - } - tTotal += t; - } -} - - -//----------------------------------------------------------------------------- -// main() - Program entry. -//----------------------------------------------------------------------------- - -int main(int argc, char **argv) -{ - // Usage? - if((argc < 3) || (argc > 4)) - { - cout << "Usage: ctmbench iterations infile [outfile]" << endl; - return 0; - } - - // Get the number of iterations - int iterations; - iterations = atoi(argv[1]); - if(iterations < 1) - iterations = 1; - - // Should we do load benchmarking or save benchmarking? - bool benchSave = (argc == 4); - - try - { - double tMin = 0.0, tMax = 0.0, tTotal = 0.0; - if(benchSave) - BenchmarkSaves(iterations, argv[2], argv[3], tMin, tMax, tTotal); - else - BenchmarkLoads(iterations, argv[2], tMin, tMax, tTotal); - - // Print report - cout << " Min: " << tMin * 1000.0 << " ms" << endl; - cout << " Max: " << tMax * 1000.0 << " ms" << endl; - cout << "Avg.: " << (tTotal / iterations) * 1000.0 << " ms" << endl; - } - catch(exception &e) - { - cout << "Error: " << e.what() << endl; - } -} diff --git a/3rdparty/openctm/tools/ctmconv.cpp b/3rdparty/openctm/tools/ctmconv.cpp deleted file mode 100644 index 07e6811e6..000000000 --- a/3rdparty/openctm/tools/ctmconv.cpp +++ /dev/null @@ -1,229 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ctmconv.cpp -// Description: 3D file format conversion tool. The program can be used to -// convert various 3D file formats to and from the OpenCTM file -// format, and also for conversion between other formats. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include -#include -#include "systimer.h" -#include "convoptions.h" -#include "mesh.h" -#include "meshio.h" - -using namespace std; - - -//----------------------------------------------------------------------------- -// PreProcessMesh() -//----------------------------------------------------------------------------- -static void PreProcessMesh(Mesh &aMesh, Options &aOptions) -{ - // Nothing to do? - if((aOptions.mScale == 1.0f) && (aOptions.mUpAxis == uaZ) && - (!aOptions.mFlipTriangles) && (!aOptions.mCalcNormals)) - return; - - // Create 3x3 transformation matrices for the vertices and the normals - Vector3 vX, vY, vZ; - Vector3 nX, nY, nZ; - switch(aOptions.mUpAxis) - { - case uaX: - nX = Vector3(0.0f, 0.0f, 1.0f); - nY = Vector3(0.0f, 1.0f, 0.0f); - nZ = Vector3(-1.0f, 0.0f, 0.0f); - break; - case uaY: - nX = Vector3(1.0f, 0.0f, 0.0f); - nY = Vector3(0.0f, 0.0f, 1.0f); - nZ = Vector3(0.0f, -1.0f, 0.0f); - break; - case uaZ: - nX = Vector3(1.0f, 0.0f, 0.0f); - nY = Vector3(0.0f, 1.0f, 0.0f); - nZ = Vector3(0.0f, 0.0f, 1.0f); - break; - case uaNX: - nX = Vector3(0.0f, 0.0f, -1.0f); - nY = Vector3(0.0f, 1.0f, 0.0f); - nZ = Vector3(1.0f, 0.0f, 0.0f); - break; - case uaNY: - nX = Vector3(1.0f, 0.0f, 0.0f); - nY = Vector3(0.0f, 0.0f, -1.0f); - nZ = Vector3(0.0f, 1.0f, 0.0f); - break; - case uaNZ: - nX = Vector3(-1.0f, 0.0f, 0.0f); - nY = Vector3(0.0f, 1.0f, 0.0f); - nZ = Vector3(0.0f, 0.0f, -1.0f); - break; - } - vX = nX * aOptions.mScale; - vY = nY * aOptions.mScale; - vZ = nZ * aOptions.mScale; - - cout << "Processing... " << flush; - SysTimer timer; - timer.Push(); - - // Update all vertex coordinates - for(CTMuint i = 0; i < aMesh.mVertices.size(); ++ i) - aMesh.mVertices[i] = vX * aMesh.mVertices[i].x + - vY * aMesh.mVertices[i].y + - vZ * aMesh.mVertices[i].z; - - // Update all normals - if(aMesh.HasNormals() && !aOptions.mNoNormals) - { - for(CTMuint i = 0; i < aMesh.mNormals.size(); ++ i) - aMesh.mNormals[i] = nX * aMesh.mNormals[i].x + - nY * aMesh.mNormals[i].y + - nZ * aMesh.mNormals[i].z; - } - - // Flip trianlges? - if(aOptions.mFlipTriangles) - { - CTMuint triCount = (CTMuint)(aMesh.mIndices.size() / 3); - for(CTMuint i = 0; i < triCount; ++ i) - { - CTMuint tmp = aMesh.mIndices[i * 3]; - aMesh.mIndices[i * 3] = aMesh.mIndices[i * 3 + 1]; - aMesh.mIndices[i * 3 + 1] = tmp; - } - } - - // Calculate normals? - if((!aOptions.mNoNormals) && aOptions.mCalcNormals && - (!aMesh.HasNormals())) - aMesh.CalculateNormals(); - - double dt = timer.PopDelta(); - cout << 1000.0 * dt << " ms" << endl; -} - -void throw_runtime_error(std::string str) -{ - cout << "Error: " << str << endl; - abort(); -} - -//----------------------------------------------------------------------------- -// main() -//----------------------------------------------------------------------------- -int main(int argc, char ** argv) -{ - // Get file names and options - Options opt; - string inFile; - string outFile; - - if(argc < 3) - { - cout << "Error: Too few arguments." << endl << endl; - cout << "Usage: " << argv[0] << " infile outfile [options]" << endl << endl; - cout << "Options:" << endl; - cout << endl << " Data manipulation (all formats)" << endl; - cout << " --scale arg Scale the mesh by a scalar factor." << endl; - cout << " --upaxis arg Set up axis (X, Y, Z, -X, -Y, -Z). If != Z, the mesh will" << endl; - cout << " be flipped." << endl; - cout << " --flip Flip triangle orientation." << endl; - cout << " --calc-normals If the source file does not contain any normals, calculate" << endl; - cout << " them." << endl; - cout << " --no-normals Do not export normals." << endl; - cout << " --no-texcoords Do not export texture coordinates." << endl; - cout << " --no-colors Do not export vertex colors." << endl; - cout << endl << " OpenCTM output" << endl; - cout << " --method arg Select compression method (RAW, MG1, MG2)" << endl; - cout << " --level arg Set the compression level (0 - 9)" << endl; - cout << endl << " OpenCTM MG2 method" << endl; - cout << " --vprec arg Set vertex precision" << endl; - cout << " --vprecrel arg Set vertex precision, relative method" << endl; - cout << " --nprec arg Set normal precision" << endl; - cout << " --tprec arg Set texture map precision" << endl; - cout << " --cprec arg Set color precision" << endl; - cout << endl << " Miscellaneous" << endl; - cout << " --comment arg Set the file comment (default is to use the comment" << endl; - cout << " from the input file, if any)." << endl; - cout << " --texfile arg Set the texture file name reference for the texture" << endl; - cout << " (default is to use the texture file name reference" << endl; - cout << " from the input file, if any)." << endl; - - // Show supported formats - cout << endl << "Supported file formats:" << endl << endl; - list formatList; - SupportedFormats(formatList); - for(list::iterator i = formatList.begin(); i != formatList.end(); ++ i) - cout << " " << (*i) << endl; - cout << endl; - - return 0; - } - - inFile = string(argv[1]); - outFile = string(argv[2]); - opt.GetFromArgs(argc, argv, 3); - - // Define mesh - Mesh mesh; - - // Create a timer instance - SysTimer timer; - double dt; - - // Load input file - cout << "Loading " << inFile << "... " << flush; - timer.Push(); - ImportMesh(inFile.c_str(), &mesh); - dt = timer.PopDelta(); - cout << 1000.0 * dt << " ms" << endl; - - // Manipulate the mesh - PreProcessMesh(mesh, opt); - - // Override comment? - if(opt.mComment.size() > 0) - mesh.mComment = opt.mComment; - - // Override texture file name? - if(opt.mTexFileName.size() > 0) - mesh.mTexFileName = opt.mTexFileName; - - // Save output file - cout << "Saving " << outFile << "... " << flush; - timer.Push(); - ExportMesh(outFile.c_str(), &mesh, opt); - dt = timer.PopDelta(); - cout << 1000.0 * dt << " ms" << endl; - - return 0; -} diff --git a/3rdparty/openctm/tools/ctmconv.rc b/3rdparty/openctm/tools/ctmconv.rc deleted file mode 100644 index 10ffe1c5e..000000000 --- a/3rdparty/openctm/tools/ctmconv.rc +++ /dev/null @@ -1,27 +0,0 @@ -0 ICON "icons\openctm.ico" - -1 VERSIONINFO - FILEVERSION 1,0,3,0 - PRODUCTVERSION 1,0,3,0 - FILEOS 0x04 - FILETYPE 0x01 - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "ProductVersion", "1.0.3.0" - VALUE "FileVersion", "1.0.3.0" - VALUE "FileDescription", "OpenCTM 3D file converter" - VALUE "ProductName", "ctmconv" - VALUE "OriginalFilename", "ctmconv.exe" - VALUE "LegalCopyright", "© 2009-2010 Marcus Geelnard" - VALUE "License", "This software is released under the zlib/libpng license." - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END - END diff --git a/3rdparty/openctm/tools/ctmviewer.cpp b/3rdparty/openctm/tools/ctmviewer.cpp deleted file mode 100644 index 6c5a457b0..000000000 --- a/3rdparty/openctm/tools/ctmviewer.cpp +++ /dev/null @@ -1,1787 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ctmviewer.cpp -// Description: 3D file viewer. The program can be used to view OpenCTM files -// in an interactive OpenGL window. Files in other supported -// formats can also be viewed. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#ifdef __APPLE_CC__ - #include -#else - #include -#endif -#include -#include "mesh.h" -#include "meshio.h" -#include "sysdialog.h" -#include "systimer.h" -#include "image.h" -#include "common.h" - -using namespace std; - - -// We need PI -#ifndef PI - #define PI 3.141592653589793238462643f -#endif - -// Configuration constants -#define FOCUS_TIME 0.1 -#define DOUBLE_CLICK_TIME 0.25 - - -//----------------------------------------------------------------------------- -// GLSL source code (generated from source by bin2c) -//----------------------------------------------------------------------------- - -#include "phong_vert.h" -#include "phong_frag.h" - - -//----------------------------------------------------------------------------- -// Icon bitmaps -//----------------------------------------------------------------------------- - -#include "icons/icon_open.h" -#include "icons/icon_save.h" -#include "icons/icon_texture.h" -#include "icons/icon_help.h" - - -//----------------------------------------------------------------------------- -// The GLViewer application class (declaration) -//----------------------------------------------------------------------------- - -class GLButton; - -class GLViewer { - private: - // File information for the current mesh - string mFileName, mFilePath; - long mFileSize; - - // Window state cariables - int mWidth, mHeight; - GLint mDepthBufferResolution; - int mOldMouseX, mOldMouseY; - double mLastClickTime; - bool mMouseRotate; - bool mMouseZoom; - bool mMousePan; - bool mFocusing; - Vector3 mFocusStartPos; - Vector3 mFocusEndPos; - double mFocusStartTime; - double mFocusEndTime; - double mFocusStartDistance; - double mFocusEndDistance; - - // Camera state - Vector3 mCameraPosition; - Vector3 mCameraLookAt; - Vector3 mCameraUp; - GLdouble mModelviewMatrix[16]; - GLdouble mProjectionMatrix[16]; - GLint mViewport[4]; - - // Mesh information - Mesh * mMesh; - Vector3 mAABBMin, mAABBMax; - GLuint mDisplayList; - GLuint mTexHandle; - - // Polygon rendering mode (fill / line) - GLenum mPolyMode; - - // GLSL objects - bool mUseShader; - GLuint mShaderProgram; - GLuint mVertShader; - GLuint mFragShader; - - // List of GUI buttons - list mButtons; - - // Master timer resource - SysTimer mTimer; - - /// Set up the camera. - void SetupCamera(); - - /// Initialize the GLSL shader (requires OpenGL 2.0 or better). - void InitShader(); - - /// Initialize the texture. - void InitTexture(const char * aFileName); - - /// Set up the scene lighting. - void SetupLighting(); - - /// Set up the material. - void SetupMaterial(); - - /// Draw a mesh - void DrawMesh(Mesh * aMesh); - - /// Load a file to the mesh - void LoadFile(const char * aFileName, const char * aOverrideTexture); - - /// Load a texture file - void LoadTexture(const char * aFileName); - - /// Draw an outline box. - void DrawOutlineBox(int x1, int y1, int x2, int y2, - float r, float g, float b, float a); - - /// Draw a string using GLUT. The string is shown on top of an alpha-blended - /// quad. - void DrawString(string aString, int x, int y); - - /// Draw 2D overlay - void Draw2DOverlay(); - - /// Get 3D coordinate under the mouse cursor. - bool WinCoordTo3DCoord(int x, int y, Vector3 &aPoint); - - /// Update the focus position of the camera. - void UpdateFocus(); - - public: - /// Constructor - GLViewer(); - - /// Destructor - ~GLViewer(); - - /// Open another file - void ActionOpenFile(); - - /// Save the file - void ActionSaveFile(); - - /// Open a texture file - void ActionOpenTexture(); - - /// Toggle wire frame view on/off - void ActionToggleWireframe(); - - /// Fit model to the screen (re-focus) - void ActionFitToScreen(); - - /// Set camera up direction to Y - void ActionCameraUpY(); - - /// Set camera up direction to Z - void ActionCameraUpZ(); - - /// Zoom camera one step in - void ActionZoomIn(); - - /// Zoom camera one step out - void ActionZoomOut(); - - /// Exit program - void ActionExit(); - - /// Show a help dialog - void ActionHelp(); - - /// Redraw function. - void WindowRedraw(void); - - /// Resize function. - void WindowResize(int w, int h); - - /// Mouse click function - void MouseClick(int button, int state, int x, int y); - - /// Mouse move function - void MouseMove(int x, int y); - - /// Keyboard function - void KeyDown(unsigned char key, int x, int y); - - /// Keyboard function (special keys) - void SpecialKeyDown(int key, int x, int y); - - /// Run the application - void Run(int argc, char **argv); -}; - - - -//----------------------------------------------------------------------------- -// A class for OpenGL rendered GUI buttons -//----------------------------------------------------------------------------- - -class GLButton { - private: - // Texture handle - GLuint mTexHandle; - - // Highlight on/off - bool mHighlight; - - public: - /// Constructor. - GLButton() - { - mTexHandle = 0; - mPosX = 0; - mPosY = 0; - mWidth = 32; - mHeight = 32; - mHighlight = false; - mParent = NULL; - } - - /// Destructor. - virtual ~GLButton() - { - if(mTexHandle) - glDeleteTextures(1, &mTexHandle); - } - - /// Set glyph for this button. - void SetGlyph(const unsigned char * aBitmap, int aWidth, int aHeight, - int aComponents) - { - // Update the button size - mWidth = aWidth; - mHeight = aHeight; - - // Upload the texture to OpenGL - if(mTexHandle) - glDeleteTextures(1, &mTexHandle); - glGenTextures(1, &mTexHandle); - if(mTexHandle) - { - // Determine the color format - GLuint format; - if(aComponents == 3) - format = GL_RGB; - else if(aComponents == 4) - format = GL_RGBA; - else - format = GL_LUMINANCE; - - glBindTexture(GL_TEXTURE_2D, mTexHandle); - - if(GLEW_VERSION_1_4) - { - // Generate mipmaps automatically and use them - glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - } - else - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - } - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - glTexImage2D(GL_TEXTURE_2D, 0, aComponents, aWidth, aHeight, 0, - format, GL_UNSIGNED_BYTE, (GLvoid *) aBitmap); - } - } - - /// Redraw function. - void Redraw() - { - // Set opacity of the icon - if(mHighlight) - glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - else - glColor4f(1.0f, 1.0f, 1.0f, 0.7f); - - // Enable texturing - if(mTexHandle) - { - glBindTexture(GL_TEXTURE_2D, mTexHandle); - glEnable(GL_TEXTURE_2D); - } - - // Enable blending - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - // Draw the icon as a textured quad - glBegin(GL_QUADS); - glTexCoord2f(0.0f, 0.0f); - glVertex2i(mPosX, mPosY); - glTexCoord2f(1.0f, 0.0f); - glVertex2i(mPosX + mWidth, mPosY); - glTexCoord2f(1.0f, 1.0f); - glVertex2i(mPosX + mWidth, mPosY + mHeight); - glTexCoord2f(0.0f, 1.0f); - glVertex2i(mPosX, mPosY + mHeight); - glEnd(); - - // We're done - glDisable(GL_BLEND); - glDisable(GL_TEXTURE_2D); - } - - /// Mouse move function. The function returns true if the state of the - /// button has changed. - bool MouseMove(int x, int y) - { - bool hit = (x >= mPosX) && (x < (mPosX + mWidth)) && - (y >= mPosY) && (y < (mPosY + mHeight)); - bool changed = (mHighlight != hit); - mHighlight = hit; - return changed; - } - - /// Mouse click function. - bool MouseClick(int aState, int x, int y) - { - bool hit = (x >= mPosX) && (x < (mPosX + mWidth)) && - (y >= mPosY) && (y < (mPosY + mHeight)); - if(hit && (aState == GLUT_DOWN)) - DoAction(); - return hit; - } - - /// The action function that will be performed when a button is clicked. - virtual void DoAction() {} - - GLint mPosX, mPosY; - GLint mWidth, mHeight; - GLViewer * mParent; -}; - - -//----------------------------------------------------------------------------- -// Customized button classes (implementing different actions) -//----------------------------------------------------------------------------- - -class OpenButton: public GLButton { - public: - void DoAction() - { - if(!mParent) - return; - mParent->ActionOpenFile(); - } -}; - -class SaveButton: public GLButton { - public: - void DoAction() - { - if(!mParent) - return; - mParent->ActionSaveFile(); - } -}; - -class OpenTextureButton: public GLButton { - public: - void DoAction() - { - if(!mParent) - return; - mParent->ActionOpenTexture(); - } -}; - -class HelpButton: public GLButton { - public: - void DoAction() - { - if(!mParent) - return; - mParent->ActionHelp(); - } -}; - - -//----------------------------------------------------------------------------- -// GLUT callback function prototypes -//----------------------------------------------------------------------------- - -void GLUTWindowRedraw(void); -void GLUTWindowResize(int w, int h); -void GLUTMouseClick(int button, int state, int x, int y); -void GLUTMouseMove(int x, int y); -void GLUTKeyDown(unsigned char key, int x, int y); -void GLUTSpecialKeyDown(int key, int x, int y); - - -//----------------------------------------------------------------------------- -// GLViewer: OpenGL related functions -//----------------------------------------------------------------------------- - -/// Set up the camera. -void GLViewer::SetupCamera() -{ - if(mMesh) - mMesh->BoundingBox(mAABBMin, mAABBMax); - else - { - mAABBMin = Vector3(-1.0f, -1.0f, -1.0f); - mAABBMax = Vector3(1.0f, 1.0f, 1.0f); - } - mCameraLookAt = (mAABBMax + mAABBMin) * 0.5f; - float delta = (mAABBMax - mAABBMin).Abs(); - if(mCameraUp.z > 0.0f) - mCameraPosition = Vector3(mCameraLookAt.x, - mCameraLookAt.y - 0.8f * delta, - mCameraLookAt.z + 0.2f * delta); - else - mCameraPosition = Vector3(mCameraLookAt.x, - mCameraLookAt.y + 0.2f * delta, - mCameraLookAt.z + 0.8f * delta); -} - -/// Initialize the GLSL shader (requires OpenGL 2.0 or better). -void GLViewer::InitShader() -{ - const GLchar * src[1]; - - // Load vertex shader - mVertShader = glCreateShader(GL_VERTEX_SHADER); - src[0] = (const GLchar *) phongVertSrc; - glShaderSource(mVertShader, 1, src, NULL); - - // Load fragment shader - mFragShader = glCreateShader(GL_FRAGMENT_SHADER); - src[0] = (const GLchar *) phongFragSrc; - glShaderSource(mFragShader, 1, src, NULL); - - int status; - - // Compile the vertex shader - glCompileShader(mVertShader); - glGetShaderiv(mVertShader, GL_COMPILE_STATUS, &status); - if(!status) - throw runtime_error("Could not compile vertex shader."); - - // Compile the fragment shader - glCompileShader(mFragShader); - glGetShaderiv(mFragShader, GL_COMPILE_STATUS, &status); - if(!status) - throw runtime_error("Could not compile fragment shader."); - - // Link the shader program - mShaderProgram = glCreateProgram(); - glAttachShader(mShaderProgram, mVertShader); - glAttachShader(mShaderProgram, mFragShader); - glLinkProgram(mShaderProgram); - glGetProgramiv(mShaderProgram, GL_LINK_STATUS, &status); - if(!status) - throw runtime_error("Could not link shader program."); - - mUseShader = true; -} - -/// Initialize the texture. -void GLViewer::InitTexture(const char * aFileName) -{ - Image image; - - // Load texture from a file - if(aFileName) - { - // Check if file exists, and determine actual file name (relative or absolute) - bool fileExists = false; - string name = string(aFileName); - FILE * inFile = fopen(name.c_str(), "rb"); - if(inFile) - fileExists = true; - else if(mFilePath.size() > 0) - { - // Try the same path as the mesh file - name = mFilePath + string(aFileName); - inFile = fopen(name.c_str(), "rb"); - if(inFile) - fileExists = true; - } - if(inFile) - fclose(inFile); - - if(fileExists) - { - cout << "Loading texture (" << aFileName << ")..." << endl; - try - { - image.LoadFromFile(name.c_str()); - } - catch(exception &e) - { - cout << "Error loading texture: " << e.what() << endl; - image.Clear(); - } - } - } - - // If no texture was loaded - if(image.IsEmpty()) - { - cout << "Loading texture (dummy)..." << endl; - - // Create a default, synthetic texture - image.SetSize(256, 256, 1); - for(int y = 0; y < image.mHeight; ++ y) - { - for(int x = 0; x < image.mWidth; ++ x) - { - if(((x & 0x000f) == 0) || ((y & 0x000f) == 0)) - image.mData[y * image.mWidth + x] = 192; - else - image.mData[y * image.mWidth + x] = 255; - } - } - } - - // Upload the texture to OpenGL - if(!image.IsEmpty()) - glGenTextures(1, &mTexHandle); - else - mTexHandle = 0; - if(mTexHandle) - { - // Determine the color format - GLuint format; - if(image.mComponents == 3) - format = GL_RGB; - else if(image.mComponents == 4) - format = GL_RGBA; - else - format = GL_LUMINANCE; - - glBindTexture(GL_TEXTURE_2D, mTexHandle); - - if(GLEW_VERSION_1_4) - { - // Generate mipmaps automatically and use them - glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - } - else - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - } - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - glTexImage2D(GL_TEXTURE_2D, 0, image.mComponents, image.mWidth, image.mHeight, 0, format, GL_UNSIGNED_BYTE, (GLvoid *) &image.mData[0]); - } -} - -/// Set up the scene lighting. -void GLViewer::SetupLighting() -{ - GLfloat pos[4], ambient[4], diffuse[4], specular[4]; - - // Set scene lighting properties - glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); - glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE); - ambient[0] = 0.2; - ambient[1] = 0.2; - ambient[2] = 0.2; - ambient[3] = 1.0; - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient); - - // Set-up head light (GL_LIGHT0) - pos[0] = mCameraPosition.x; - pos[1] = mCameraPosition.y; - pos[2] = mCameraPosition.z; - pos[3] = 1.0f; - glLightfv(GL_LIGHT0, GL_POSITION, pos); - ambient[0] = 0.0f; - ambient[1] = 0.0f; - ambient[2] = 0.0f; - ambient[3] = 1.0f; - glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); - diffuse[0] = 0.8f; - diffuse[1] = 0.8f; - diffuse[2] = 0.8f; - diffuse[3] = 1.0f; - glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); - specular[0] = 1.0f; - specular[1] = 1.0f; - specular[2] = 1.0f; - specular[3] = 1.0f; - glLightfv(GL_LIGHT0, GL_SPECULAR, specular); - glEnable(GL_LIGHT0); -} - -/// Set up the material. -void GLViewer::SetupMaterial() -{ - GLfloat specular[4], emission[4]; - - // Set up the material - specular[0] = 0.3f; - specular[1] = 0.3f; - specular[2] = 0.3f; - specular[3] = 1.0f; - glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular); - emission[0] = 0.0f; - emission[1] = 0.0f; - emission[2] = 0.0f; - emission[3] = 1.0f; - glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission); - glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 40.0f); - - // Use color material for the diffuse and ambient components - glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); - glEnable(GL_COLOR_MATERIAL); -} - -/// Draw a mesh -void GLViewer::DrawMesh(Mesh * aMesh) -{ - // We always have vertices - glVertexPointer(3, GL_FLOAT, 0, &aMesh->mVertices[0]); - glEnableClientState(GL_VERTEX_ARRAY); - - // Do we have normals? - if(aMesh->mNormals.size() == aMesh->mVertices.size()) - { - glNormalPointer(GL_FLOAT, 0, &aMesh->mNormals[0]); - glEnableClientState(GL_NORMAL_ARRAY); - } - - // Do we have texture coordinates? - if(aMesh->mTexCoords.size() == aMesh->mVertices.size()) - { - glTexCoordPointer(2, GL_FLOAT, 0, &aMesh->mTexCoords[0]); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - } - - // Do we have colors? - if(aMesh->mColors.size() == aMesh->mVertices.size()) - { - glColorPointer(4, GL_FLOAT, 0, &aMesh->mColors[0]); - glEnableClientState(GL_COLOR_ARRAY); - } - - // Use glDrawElements to draw the triangles... - glShadeModel(GL_SMOOTH); - if(GLEW_VERSION_1_2) - glDrawRangeElements(GL_TRIANGLES, 0, aMesh->mVertices.size() - 1, - aMesh->mIndices.size(), GL_UNSIGNED_INT, - &aMesh->mIndices[0]); - else - glDrawElements(GL_TRIANGLES, aMesh->mIndices.size(), GL_UNSIGNED_INT, - &aMesh->mIndices[0]); - - // We do not use the client state anymore... - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_NORMAL_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_COLOR_ARRAY); -} - -// Load a file to the mesh -void GLViewer::LoadFile(const char * aFileName, const char * aOverrideTexture) -{ - // Get the file size - ifstream f(aFileName, ios::in | ios::binary); - if(f.fail()) - throw runtime_error("Unable to open the file."); - f.seekg(0, ios_base::end); - long tmpFileSize = (long) f.tellg(); - f.close(); - - // Load the mesh - cout << "Loading " << aFileName << "..." << flush; - mTimer.Push(); - Mesh * newMesh = new Mesh(); - try - { - ImportMesh(aFileName, newMesh); - } - catch(exception &e) - { - delete newMesh; - throw; - } - if(mMesh) - delete mMesh; - mMesh = newMesh; - cout << "done (" << int(mTimer.PopDelta() * 1000.0 + 0.5) << " ms)" << endl; - - // Get the file name (excluding the path), and the path (excluding the file name) - mFileName = ExtractFileName(string(aFileName)); - mFilePath = ExtractFilePath(string(aFileName)); - - // The temporary file size is now the official file size... - mFileSize = tmpFileSize; - - // Set window title - string windowCaption = string("OpenCTM viewer - ") + mFileName; - glutSetWindowTitle(windowCaption.c_str()); - - // If the file did not contain any normals, calculate them now... - if(mMesh->mNormals.size() != mMesh->mVertices.size()) - { - cout << "Calculating normals..." << flush; - mTimer.Push(); - mMesh->CalculateNormals(); - cout << "done (" << int(mTimer.PopDelta() * 1000.0 + 0.5) << " ms)" << endl; - } - - // Load the texture - if(mTexHandle) - glDeleteTextures(1, &mTexHandle); - mTexHandle = 0; - if(mMesh->mTexCoords.size() == mMesh->mVertices.size()) - { - string texFileName = mMesh->mTexFileName; - if(aOverrideTexture) - texFileName = string(aOverrideTexture); - if(texFileName.size() > 0) - InitTexture(texFileName.c_str()); - else - InitTexture(0); - } - - // Setup texture parameters for the shader - if(mUseShader) - { - glUseProgram(mShaderProgram); - - // Set the uUseTexture uniform - GLint useTexLoc = glGetUniformLocation(mShaderProgram, "uUseTexture"); - if(useTexLoc >= 0) - glUniform1i(useTexLoc, glIsTexture(mTexHandle)); - - // Set the uTex uniform - GLint texLoc = glGetUniformLocation(mShaderProgram, "uTex"); - if(texLoc >= 0) - glUniform1i(texLoc, 0); - - glUseProgram(0); - } - - // Load the mesh into a displaylist - if(mDisplayList) - glDeleteLists(mDisplayList, 1); - mDisplayList = glGenLists(1); - glNewList(mDisplayList, GL_COMPILE); - DrawMesh(mMesh); - glEndList(); - - // Init the camera for the new mesh - mCameraUp = Vector3(0.0f, 0.0f, 1.0f); - SetupCamera(); -} - -// Load a texture file -void GLViewer::LoadTexture(const char * aFileName) -{ - // Load the texture - if(mTexHandle) - glDeleteTextures(1, &mTexHandle); - mTexHandle = 0; - if(mMesh->mTexCoords.size() == mMesh->mVertices.size()) - InitTexture(aFileName); - - // Setup texture parameters for the shader - if(mUseShader) - { - glUseProgram(mShaderProgram); - - // Set the uUseTexture uniform - GLint useTexLoc = glGetUniformLocation(mShaderProgram, "uUseTexture"); - if(useTexLoc >= 0) - glUniform1i(useTexLoc, glIsTexture(mTexHandle)); - - // Set the uTex uniform - GLint texLoc = glGetUniformLocation(mShaderProgram, "uTex"); - if(texLoc >= 0) - glUniform1i(texLoc, 0); - - glUseProgram(0); - } -} - -// Draw an outline box. -void GLViewer::DrawOutlineBox(int x1, int y1, int x2, int y2, - float r, float g, float b, float a) -{ - // Draw a blended box - // Note: We add (1,1) to the (x2,y2) corner to cover the entire pixel range - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glBegin(GL_QUADS); - glColor4f(r, g, b, 0.7f * a); - glVertex2i(x1, y1); - glVertex2i(x2+1, y1); - glColor4f(r, g, b, 0.7f * a + 0.3f); - glVertex2i(x2+1, y2+1); - glVertex2i(x1, y2+1); - glEnd(); - glDisable(GL_BLEND); - - // Draw a solid outline - glPushMatrix(); - glTranslatef(0.5f, 0.5f, 0.0f); // Compensate for 0.5 pixel center offset - glColor4f(r, g, b, 1.0f); - glBegin(GL_LINE_LOOP); - glVertex2i(x1, y1-1); - glVertex2i(x2, y1-1); - glVertex2i(x2+1, y1); - glVertex2i(x2+1, y2); - glVertex2i(x2, y2+1); - glVertex2i(x1, y2+1); - glVertex2i(x1-1, y2); - glVertex2i(x1-1, y1); - glEnd(); - glPopMatrix(); -} - -// Draw a string using GLUT. The string is shown on top of an alpha-blended -// quad. -void GLViewer::DrawString(string aString, int x, int y) -{ - // Calculate the size of the string box - int x0 = x, y0 = y; - int x1 = x0, y1 = y0; - int x2 = x0, y2 = y0; - for(unsigned int i = 0; i < aString.size(); ++ i) - { - int c = (int) aString[i]; - if(c == (int) 10) - { - x2 = x; - y2 += 13; - } - else if(c != (int) 13) - { - x2 += glutBitmapWidth(GLUT_BITMAP_8_BY_13, c); - if(x2 > x1) x1 = x2; - } - } - y1 = y2 + 13; - - // Draw a alpha blended box - DrawOutlineBox(x0-4, y0-3, x1+4, y1+4, 0.3f, 0.3f, 0.3f, 0.6f); - - // Print the text - glColor3f(1.0f, 1.0f, 1.0f); - x2 = x; - y2 = y + 13; - for(unsigned int i = 0; i < aString.size(); ++ i) - { - int c = (int) aString[i]; - if(c == (int) 10) - { - x2 = x; - y2 += 13; - } - else if(c != (int) 13) - { - glRasterPos2i(x2, y2); - glutBitmapCharacter(GLUT_BITMAP_8_BY_13, c); - x2 += glutBitmapWidth(GLUT_BITMAP_8_BY_13, c); - } - } -} - -// Draw 2D overlay -void GLViewer::Draw2DOverlay() -{ - // Setup the matrices for a width x height 2D screen - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho(0.0, (double) mWidth, (double) mHeight, 0.0, -1.0, 1.0); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - // Setup the rendering pipeline for 2D rendering - glDisable(GL_LIGHTING); - glDisable(GL_DEPTH_TEST); - - // Render an info string - if(mMesh) - { - stringstream s; - s << mFileName << " (" << (mFileSize + 512) / 1024 << "KB)" << endl; - s << mMesh->mVertices.size() << " vertices" << endl; - s << mMesh->mIndices.size() / 3 << " triangles"; - DrawString(s.str(), 10, mHeight - 50); - } - - // Calculate buttons bounding box, and draw it as an outline box - int x1 = 9999, y1 = 9999, x2 = 0, y2 = 0; - for(list::iterator b = mButtons.begin(); b != mButtons.end(); ++ b) - { - if((*b)->mPosX < x1) x1 = (*b)->mPosX; - if(((*b)->mPosX + (*b)->mWidth) > x2) x2 = (*b)->mPosX + (*b)->mWidth; - if((*b)->mPosY < y1) y1 = (*b)->mPosY; - if(((*b)->mPosY + (*b)->mHeight) > y2) y2 = (*b)->mPosY + (*b)->mHeight; - } - DrawOutlineBox(x1-5, y1-5, x2+5, y2+5, 0.3f, 0.3f, 0.3f, 0.6f); - - // Render all the buttons (last = on top) - for(list::iterator b = mButtons.begin(); b != mButtons.end(); ++ b) - (*b)->Redraw(); -} - -/// Get 3D coordinate under the mouse cursor. -bool GLViewer::WinCoordTo3DCoord(int x, int y, Vector3 &aPoint) -{ - // Read back the depth value at at (x, y) - GLfloat z = 0.0f; - glReadPixels(x, mHeight - y, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, (GLvoid *) &z); - if((z > 0.0f) && (z < 1.0f)) - { - // Convert the window coordinate to space coordinates - GLdouble objX, objY, objZ; - gluUnProject((GLdouble) x, (GLdouble) (mHeight - y), (GLdouble) z, - mModelviewMatrix, mProjectionMatrix, mViewport, - &objX, &objY, &objZ); - aPoint = Vector3((float) objX, (float) objY, (float) objZ); - return true; - } - else - return false; -} - -/// Update the focus position of the camera. -void GLViewer::UpdateFocus() -{ - double w = (mTimer.GetTime() - mFocusStartTime) / (mFocusEndTime - mFocusStartTime); - Vector3 dir = Normalize(mCameraPosition - mCameraLookAt); - if(w < 1.0) - { - w = pow(w, 0.2); - mCameraLookAt = mFocusStartPos + (mFocusEndPos - mFocusStartPos) * w; - mCameraPosition = mCameraLookAt + dir * (mFocusStartDistance + (mFocusEndDistance - mFocusStartDistance) * w); - } - else - { - mCameraLookAt = mFocusEndPos; - mCameraPosition = mCameraLookAt + dir * mFocusEndDistance; - mFocusing = false; - } - glutPostRedisplay(); -} - - -//----------------------------------------------------------------------------- -// Actions (user activated functions) -//----------------------------------------------------------------------------- - -/// Open another file -void GLViewer::ActionOpenFile() -{ - SysOpenDialog od; - od.mFilters.push_back(string("All supported 3D files|*.ctm;*.ply;*.stl;*.3ds;*.dae;*.obj;*.lwo;*.off")); - od.mFilters.push_back(string("OpenCTM (.ctm)|*.ctm")); - od.mFilters.push_back(string("Stanford triangle format (.ply)|*.ply")); - od.mFilters.push_back(string("Stereolitography (.stl)|*.stl")); - od.mFilters.push_back(string("3D Studio (.3ds)|*.3ds")); - od.mFilters.push_back(string("COLLADA (.dae)|*.dae")); - od.mFilters.push_back(string("Wavefront geometry file (.obj)|*.obj")); - od.mFilters.push_back(string("LightWave object (.lwo)|*.lwo")); - od.mFilters.push_back(string("Geomview object file format (.off)|*.off")); - if(od.Show()) - { - try - { - LoadFile(od.mFileName.c_str(), NULL); - glutPostRedisplay(); - } - catch(exception &e) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Error"; - mb.mText = string(e.what()); - mb.Show(); - } - } -} - -/// Save the file -void GLViewer::ActionSaveFile() -{ - if(!mMesh) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Save File"; - mb.mText = string("No mesh has been loaded."); - mb.Show(); - return; - } - - SysSaveDialog sd; - sd.mFilters.push_back(string("All files|*")); - sd.mFilters.push_back(string("OpenCTM (.ctm)|*.ctm")); - sd.mFilters.push_back(string("Stanford triangle format (.ply)|*.ply")); - sd.mFilters.push_back(string("Stereolitography (.stl)|*.stl")); - sd.mFilters.push_back(string("3D Studio (.3ds)|*.3ds")); - sd.mFilters.push_back(string("COLLADA (.dae)|*.dae")); - sd.mFilters.push_back(string("Wavefront geometry file (.obj)|*.obj")); - sd.mFilters.push_back(string("LightWave object (.lwo)|*.lwo")); - sd.mFilters.push_back(string("Geomview object file format (.off)|*.off")); - sd.mFilters.push_back(string("VRML 2.0 (.wrl)|*.wrl")); - sd.mFileName = mFileName; - if(sd.Show()) - { - try - { - Options opt; - - // Do not export normals that do not come from the original file - if(!mMesh->mOriginalNormals) - opt.mNoNormals = true; - - // Export the mesh - ExportMesh(sd.mFileName.c_str(), mMesh, opt); - } - catch(exception &e) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Error"; - mb.mText = string(e.what()); - mb.Show(); - } - } -} - -/// Open a texture file -void GLViewer::ActionOpenTexture() -{ - if(!mMesh || (mMesh->mTexCoords.size() < 1)) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Open Texture File"; - mb.mText = string("This mesh does not have any texture coordinates."); - mb.Show(); - return; - } - - SysOpenDialog od; - od.mCaption = string("Open Texture File"); - od.mFilters.push_back(string("All supported texture files|*.jpg;*.jpeg;*.png")); - od.mFilters.push_back(string("JPEG|*.jpg;*.jpeg")); - od.mFilters.push_back(string("PNG|*.png")); - if(od.Show()) - { - try - { - LoadTexture(od.mFileName.c_str()); - mMesh->mTexFileName = ExtractFileName(od.mFileName); - glutPostRedisplay(); - } - catch(exception &e) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Error"; - mb.mText = string(e.what()); - mb.Show(); - } - } -} - -/// Toggle wire frame view on/off -void GLViewer::ActionToggleWireframe() -{ - if(mPolyMode == GL_LINE) - mPolyMode = GL_FILL; - else - mPolyMode = GL_LINE; - glutPostRedisplay(); -} - -/// Fit model to the screen (re-focus) -void GLViewer::ActionFitToScreen() -{ - double now = mTimer.GetTime(); - mFocusStartTime = now; - mFocusEndTime = now + FOCUS_TIME; - mFocusStartPos = mCameraLookAt; - mFocusStartDistance = (mCameraLookAt - mCameraPosition).Abs(); - mFocusEndPos = (mAABBMax + mAABBMin) * 0.5f; - mFocusEndDistance = 0.825 * (mAABBMax - mAABBMin).Abs(); - mFocusing = true; - UpdateFocus(); - glutPostRedisplay(); -} - -/// Set camera up direction to Y -void GLViewer::ActionCameraUpY() -{ - mCameraUp = Vector3(0.0f, 1.0f, 0.0f); - SetupCamera(); - glutPostRedisplay(); -} - -/// Set camera up direction to Z -void GLViewer::ActionCameraUpZ() -{ - mCameraUp = Vector3(0.0f, 0.0f, 1.0f); - SetupCamera(); - glutPostRedisplay(); -} - -/// Zoom camera one step in -void GLViewer::ActionZoomIn() -{ - double now = mTimer.GetTime(); - mFocusStartTime = now; - mFocusEndTime = now + FOCUS_TIME; - mFocusStartPos = mCameraLookAt; - mFocusStartDistance = (mCameraLookAt - mCameraPosition).Abs(); - mFocusEndPos = mCameraLookAt; - mFocusEndDistance = (1.0/1.5) * mFocusStartDistance; - mFocusing = true; - UpdateFocus(); - glutPostRedisplay(); -} - -/// Zoom camera one step out -void GLViewer::ActionZoomOut() -{ - double now = mTimer.GetTime(); - mFocusStartTime = now; - mFocusEndTime = now + FOCUS_TIME; - mFocusStartPos = mCameraLookAt; - mFocusStartDistance = (mCameraLookAt - mCameraPosition).Abs(); - mFocusEndPos = mCameraLookAt; - mFocusEndDistance = 1.5 * mFocusStartDistance; - mFocusing = true; - UpdateFocus(); - glutPostRedisplay(); -} - -/// Exit program -void GLViewer::ActionExit() -{ - // Note: In freeglut you can do glutLeaveMainLoop(), which is more graceful - exit(0); -} - -/// Show a help dialog -void GLViewer::ActionHelp() -{ - stringstream helpText; - helpText << "ctmviewer - OpenCTM file viewer" << endl; - helpText << "Copyright (c) 2009-2010 Marcus Geelnard" << endl << endl; - helpText << "Keyboard actions:" << endl; - helpText << " W - Toggle wire frame view on/off" << endl; - helpText << " F - Fit model to the screen" << endl; - helpText << " Y - Set Y as the up axis (change camera view)" << endl; - helpText << " Z - Set Z as the up axis (change camera view)" << endl; - helpText << " +/- - Zoom in/out with the camera" << endl; - helpText << " ESC - Exit program" << endl << endl; - helpText << "Mouse control:" << endl; - helpText << " Left button - Rotate camera" << endl; - helpText << " Middle button or wheel - Zoom camera" << endl; - helpText << " Right button - Pan camera" << endl; - helpText << " Double click - Focus on indicated surface"; - - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtInformation; - mb.mCaption = "Help"; - mb.mText = helpText.str(); - mb.Show(); -} - - -//----------------------------------------------------------------------------- -// GLUT callback functions -//----------------------------------------------------------------------------- - -/// Redraw function. -void GLViewer::WindowRedraw(void) -{ - // Get buffer properties - glGetIntegerv(GL_DEPTH_BITS, &mDepthBufferResolution); - - // Set the viewport to be the entire window - glViewport(0, 0, mWidth, mHeight); - - // Clear the buffer(s) - glClear(GL_DEPTH_BUFFER_BIT); - - // Draw a gradient background - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - glDisable(GL_LIGHTING); - glDisable(GL_DEPTH_TEST); - glBegin(GL_QUADS); - glColor3f(0.4f, 0.5f, 0.7f); - glVertex3f(-1.0f, -1.0f, 0.5f); - glColor3f(0.3f, 0.4f, 0.7f); - glVertex3f(1.0f, -1.0f, 0.5f); - glColor3f(0.1f, 0.1f, 0.2f); - glVertex3f(1.0f, 1.0f, 0.5f); - glColor3f(0.1f, 0.15f, 0.24f); - glVertex3f(-1.0f, 1.0f, 0.5f); - glEnd(); - - // Calculate screen ratio (width / height) - float ratio; - if(mHeight == 0) - ratio = 1.0f; - else - ratio = (float) mWidth / (float) mHeight; - - // Calculate optimal near and far Z clipping planes - float farZ = (mAABBMax - mAABBMin).Abs() + - (mCameraPosition - mCameraLookAt).Abs(); - if(farZ < 1e-20f) - farZ = 1e-20f; - float nearZ; - if(mDepthBufferResolution >= 24) - nearZ = 0.0001f * farZ; - else - nearZ = 0.01f * farZ; - - // Set up perspective projection - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluPerspective(60.0f, ratio, nearZ, farZ); - - // Set up the camera modelview matrix - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - gluLookAt(mCameraPosition.x, mCameraPosition.y, mCameraPosition.z, - mCameraLookAt.x, mCameraLookAt.y, mCameraLookAt.z, - mCameraUp.x, mCameraUp.y, mCameraUp.z); - - // Read back camera matrices - glGetDoublev(GL_MODELVIEW_MATRIX, mModelviewMatrix); - glGetDoublev(GL_PROJECTION_MATRIX, mProjectionMatrix); - glGetIntegerv(GL_VIEWPORT, mViewport); - - // Set up the lights - SetupLighting(); - - // Enable material shader - if(mUseShader) - glUseProgram(mShaderProgram); - else - glEnable(GL_LIGHTING); - - // Draw the mesh - SetupMaterial(); - glEnable(GL_DEPTH_TEST); - glPolygonMode(GL_FRONT_AND_BACK, mPolyMode); - if(mTexHandle) - { - glBindTexture(GL_TEXTURE_2D, mTexHandle); - glEnable(GL_TEXTURE_2D); - glColor3f(1.0f, 1.0f, 1.0f); - } - else - glColor3f(0.9f, 0.86f, 0.7f); - if(mDisplayList) - glCallList(mDisplayList); - glDisable(GL_TEXTURE_2D); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - - // Disable material shader - if(mUseShader) - glUseProgram(0); - else - glDisable(GL_LIGHTING); - - // Draw 2D overlay (information text etc) - Draw2DOverlay(); - - // Swap buffers - glutSwapBuffers(); - - // Focusing? - if(mFocusing) - { - UpdateFocus(); - glutPostRedisplay(); - } -} - -/// Resize function. -void GLViewer::WindowResize(int w, int h) -{ - // Store the new window size - mWidth = w; - mHeight = h; -} - -/// Mouse click function -void GLViewer::MouseClick(int button, int state, int x, int y) -{ - bool clickConsumed = false; - if(button == GLUT_LEFT_BUTTON) - { - // Check if any of the GUI buttons were clicked - for(list::iterator b = mButtons.begin(); b != mButtons.end(); ++ b) - { - if((*b)->MouseClick(state, x, y)) - clickConsumed = true; - } - if(!clickConsumed) - { - if(state == GLUT_DOWN) - { - double now = mTimer.GetTime(); - if((now - mLastClickTime) < DOUBLE_CLICK_TIME) - { - // Double click occured - Vector3 mouseCoord3D; - if(WinCoordTo3DCoord(x, y, mouseCoord3D)) - { - mFocusStartTime = now; - mFocusEndTime = now + FOCUS_TIME; - mFocusStartPos = mCameraLookAt; - mFocusEndPos = mouseCoord3D; - mFocusStartDistance = (mCameraLookAt - mCameraPosition).Abs(); - mFocusEndDistance = mFocusStartDistance; - mFocusing = true; - } - mLastClickTime = -1000.0; - } - else - { - // Single click occured - mMouseRotate = true; - mLastClickTime = now; - } - } - else if(state == GLUT_UP) - mMouseRotate = false; - } - } - else if(button == GLUT_MIDDLE_BUTTON) - { - if(state == GLUT_DOWN) - mMouseZoom = true; - else if(state == GLUT_UP) - mMouseZoom = false; - } - else if(button == GLUT_RIGHT_BUTTON) - { - if(state == GLUT_DOWN) - mMousePan = true; - else if(state == GLUT_UP) - mMousePan = false; - } - else if(button == 3) // Mouse wheel up on some systems - { - if(state == GLUT_DOWN) - ActionZoomIn(); - } - else if(button == 4) // Mouse wheel down on some systems - { - if(state == GLUT_DOWN) - ActionZoomOut(); - } - mOldMouseX = x; - mOldMouseY = y; - - // Focusing? - if(mFocusing) - { - UpdateFocus(); - glutPostRedisplay(); - } -} - -/// Mouse move function -void GLViewer::MouseMove(int x, int y) -{ - bool needsRedraw = false; - - float deltaX = (float) x - (float) mOldMouseX; - float deltaY = (float) y - (float) mOldMouseY; - mOldMouseX = x; - mOldMouseY = y; - - if(mMouseRotate) - { - // Calculate delta angles - float scale = 3.0f; - if(mHeight > 0) - scale /= (float) mHeight; - float deltaTheta = -scale * deltaX; - float deltaPhi = -scale * deltaY; - - // Adjust camera angles - Vector3 viewVector = mCameraPosition - mCameraLookAt; - float r = sqrtf(viewVector.x * viewVector.x + - viewVector.y * viewVector.y + - viewVector.z * viewVector.z); - float phi, theta; - if(r > 1e-20f) - { - if(mCameraUp.z > 0.0f) - { - phi = acosf(viewVector.z / r); - theta = atan2f(viewVector.y, viewVector.x); - } - else - { - phi = acosf(viewVector.y / r); - theta = atan2f(-viewVector.z, viewVector.x); - } - } - else - { - if(mCameraUp.z > 0.0f) - phi = viewVector.z > 0.0f ? 0.05f * PI : 0.95f * PI; - else - phi = viewVector.y > 0.0f ? 0.05f * PI : 0.95f * PI; - theta = 0.0f; - } - phi += deltaPhi; - theta += deltaTheta; - if(phi > (0.95f * PI)) - phi = 0.95f * PI; - else if(phi < (0.05f * PI)) - phi = 0.05f * PI; - - // Update the camera position - if(mCameraUp.z > 0.0f) - { - viewVector.x = r * cos(theta) * sin(phi); - viewVector.y = r * sin(theta) * sin(phi); - viewVector.z = r * cos(phi); - } - else - { - viewVector.x = r * cos(theta) * sin(phi); - viewVector.y = r * cos(phi); - viewVector.z = -r * sin(theta) * sin(phi); - } - mCameraPosition = mCameraLookAt + viewVector; - - needsRedraw = true; - } - else if(mMouseZoom) - { - // Calculate delta angles - float scale = 3.0f; - if(mHeight > 0) - scale /= (float) mHeight; - float zoom = scale * deltaY; - - // Adjust camera zoom - Vector3 viewVector = mCameraPosition - mCameraLookAt; - viewVector = viewVector * powf(2.0f, zoom); - - // Update the camera position - mCameraPosition = mCameraLookAt + viewVector; - - needsRedraw = true; - } - else if(mMousePan) - { - // Calculate delta movement - float scale = 1.0f * (mCameraPosition - mCameraLookAt).Abs(); - if(mHeight > 0) - scale /= (float) mHeight; - float panX = scale * deltaX; - float panY = scale * deltaY; - - // Calculate camera movement - Vector3 viewDir = Normalize(mCameraPosition - mCameraLookAt); - Vector3 rightDir = Normalize(Cross(viewDir, mCameraUp)); - Vector3 upDir = Normalize(Cross(rightDir, viewDir)); - Vector3 moveDelta = rightDir * panX + upDir * panY; - - // Update the camera position - mCameraPosition += moveDelta; - mCameraLookAt += moveDelta; - - needsRedraw = true; - } - else - { - // Call mouse move for all the GUI buttons - for(list::iterator b = mButtons.begin(); b != mButtons.end(); ++ b) - { - if((*b)->MouseMove(x, y)) - needsRedraw = true; - } - } - - // Redraw? - if(needsRedraw) - glutPostRedisplay(); -} - -/// Keyboard function -void GLViewer::KeyDown(unsigned char key, int x, int y) -{ - if(key == 15) // CTRL+O - ActionOpenFile(); - else if(key == 19) // CTRL+S - ActionSaveFile(); - else if(key == 'w') - ActionToggleWireframe(); - else if(key == 'f') - ActionFitToScreen(); - else if(key == 'y') - ActionCameraUpY(); - else if(key == 'z') - ActionCameraUpZ(); - else if(key == '+') - ActionZoomIn(); - else if(key == '-') - ActionZoomOut(); - else if(key == 27) // ESC - ActionExit(); -} - -/// Keyboard function (special keys) -void GLViewer::SpecialKeyDown(int key, int x, int y) -{ - if(key == GLUT_KEY_F1) - ActionHelp(); -} - - -//----------------------------------------------------------------------------- -// Application main code -//----------------------------------------------------------------------------- - -/// Constructor -GLViewer::GLViewer() -{ - // Clear internal state - mFileName = ""; - mFilePath = ""; - mFileSize = 0; - mWidth = 1; - mHeight = 1; - mDepthBufferResolution = 16; - mOldMouseX = 0; - mOldMouseY = 0; - mMouseRotate = false; - mMouseZoom = false; - mMousePan = false; - mCameraUp = Vector3(0.0f, 0.0f, 1.0f); - mFocusStartPos = Vector3(0.0f, 0.0f, 0.0f); - mFocusEndPos = Vector3(0.0f, 0.0f, 0.0f); - mFocusStartTime = 0.0; - mFocusEndTime = 0.0; - mFocusStartDistance = 1.0; - mFocusEndDistance = 1.0; - mFocusing = false; - mLastClickTime = -1000.0; - mDisplayList = 0; - mPolyMode = GL_FILL; - mTexHandle = 0; - mUseShader = false; - mShaderProgram = 0; - mVertShader = 0; - mFragShader = 0; - mMesh = NULL; -} - -/// Destructor -GLViewer::~GLViewer() -{ - // Free all GUI buttons - for(list::iterator b = mButtons.begin(); b != mButtons.end(); ++ b) - delete (*b); - - // Free the mesh - if(mMesh) - delete mMesh; -} - -/// Run the application -void GLViewer::Run(int argc, char **argv) -{ - try - { - // Init GLUT - glutInit(&argc, argv); - - // Create the glut window - glutInitWindowSize(640, 480); - glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); - glutCreateWindow("OpenCTM viewer"); - - // Init GLEW (for OpenGL 2.x support) - if(glewInit() != GLEW_OK) - throw runtime_error("Unable to initialize GLEW."); - - // Load the phong shader, if we can - if(GLEW_VERSION_2_0) - InitShader(); - else if(GLEW_VERSION_1_2) - glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR); - - // Set the GLUT callback functions (these are bridged to the corresponding - // class methods) - glutReshapeFunc(GLUTWindowResize); - glutDisplayFunc(GLUTWindowRedraw); - glutMouseFunc(GLUTMouseClick); - glutMotionFunc(GLUTMouseMove); - glutPassiveMotionFunc(GLUTMouseMove); - glutKeyboardFunc(GLUTKeyDown); - glutSpecialFunc(GLUTSpecialKeyDown); - - // Create GUI buttons - GLButton * b1 = new OpenButton(); - mButtons.push_back(b1); - b1->mParent = this; - b1->SetGlyph(icon_open, 32, 32, 4); - b1->mPosX = 12; - b1->mPosY = 10; - GLButton * b2 = new SaveButton(); - mButtons.push_back(b2); - b2->mParent = this; - b2->SetGlyph(icon_save, 32, 32, 4); - b2->mPosX = 60; - b2->mPosY = 10; - GLButton * b3 = new OpenTextureButton(); - mButtons.push_back(b3); - b3->mParent = this; - b3->SetGlyph(icon_texture, 32, 32, 4); - b3->mPosX = 108; - b3->mPosY = 10; - GLButton * b4 = new HelpButton(); - mButtons.push_back(b4); - b4->mParent = this; - b4->SetGlyph(icon_help, 32, 32, 4); - b4->mPosX = 156; - b4->mPosY = 10; - - // Load the file - if(argc >= 2) - { - const char * overrideTexName = NULL; - if(argc >= 3) - overrideTexName = argv[2]; - LoadFile(argv[1], overrideTexName); - } - - // Enter the main loop - glutMainLoop(); - } - catch(ctm_error &e) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Error"; - mb.mText = string("OpenCTM error: ") + string(e.what()); - mb.Show(); - } - catch(exception &e) - { - SysMessageBox mb; - mb.mMessageType = SysMessageBox::mtError; - mb.mCaption = "Error"; - mb.mText = string(e.what()); - mb.Show(); - } - cout << endl; -} - - -//----------------------------------------------------------------------------- -// Bridge GLUT callback functions to class methods -//----------------------------------------------------------------------------- - -// NOTE: This is just a hack to be able to reference the application class -// object from the GLUT callback functions, since there is no way (afaik) to -// pass user data (i.e. the object reference) through GLUT... -static GLViewer * gGLViewer = NULL; - -/// Redraw function. -void GLUTWindowRedraw(void) -{ - if(gGLViewer) - gGLViewer->WindowRedraw(); -} - -/// Resize function. -void GLUTWindowResize(int w, int h) -{ - if(gGLViewer) - gGLViewer->WindowResize(w, h); -} - -/// Mouse click function -void GLUTMouseClick(int button, int state, int x, int y) -{ - if(gGLViewer) - gGLViewer->MouseClick(button, state, x, y); -} - -/// Mouse move function -void GLUTMouseMove(int x, int y) -{ - if(gGLViewer) - gGLViewer->MouseMove(x, y); -} - -/// Keyboard function -void GLUTKeyDown(unsigned char key, int x, int y) -{ - if(gGLViewer) - gGLViewer->KeyDown(key, x, y); -} - -/// Keyboard function (special keys) -void GLUTSpecialKeyDown(int key, int x, int y) -{ - if(gGLViewer) - gGLViewer->SpecialKeyDown(key, x, y); -} - - -//----------------------------------------------------------------------------- -// Program startup -//----------------------------------------------------------------------------- - -/// Program entry. -int main(int argc, char **argv) -{ - // Run the application class - gGLViewer = new GLViewer; - gGLViewer->Run(argc, argv); - delete gGLViewer; - gGLViewer = NULL; - - return 0; -} diff --git a/3rdparty/openctm/tools/ctmviewer.exe.manifest b/3rdparty/openctm/tools/ctmviewer.exe.manifest deleted file mode 100644 index 44de30a69..000000000 --- a/3rdparty/openctm/tools/ctmviewer.exe.manifest +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - diff --git a/3rdparty/openctm/tools/ctmviewer.rc b/3rdparty/openctm/tools/ctmviewer.rc deleted file mode 100644 index e4b7221b5..000000000 --- a/3rdparty/openctm/tools/ctmviewer.rc +++ /dev/null @@ -1,29 +0,0 @@ -GLUT_ICON ICON "icons\\openctm.ico" - -1 VERSIONINFO - FILEVERSION 1,0,3,0 - PRODUCTVERSION 1,0,3,0 - FILEOS 0x04 - FILETYPE 0x01 - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "ProductVersion", "1.0.3.0" - VALUE "FileVersion", "1.0.3.0" - VALUE "FileDescription", "OpenCTM 3D file viewer" - VALUE "ProductName", "ctmviewer" - VALUE "OriginalFilename", "ctmviewer.exe" - VALUE "LegalCopyright", "© 2009-2010 Marcus Geelnard" - VALUE "License", "This software is released under the zlib/libpng license." - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END - END - -1 24 "ctmviewer.exe.manifest" diff --git a/3rdparty/openctm/tools/dae.cpp b/3rdparty/openctm/tools/dae.cpp deleted file mode 100644 index 8c68b48d1..000000000 --- a/3rdparty/openctm/tools/dae.cpp +++ /dev/null @@ -1,725 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: dae.cpp -// Description: Implementation of the DAE (Collada) file format -// importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include -#include -#include -#include -#include "dae.h" - -#if !defined(WIN32) && defined(_WIN32) -#define WIN32 -#endif -#ifdef WIN32 -#include -#endif - - -using namespace std; - -enum Axis -{ - X,Y,Z,S,T -}; - -class Source -{ -public: - Source() : stride(0), count(0), offset(0) - { - } - - Source(const Source& copy) : array(copy.array), stride(copy.stride), count(copy.count), offset(copy.offset), params(copy.params) - { - } - - vector array; - size_t stride, count, offset; - vector params; - -}; - -class Indexes { -public: - Indexes(size_t _vertIndex = 0, size_t _normalIndex = 0, size_t _texcoordIndex = 0) : vertIndex(_vertIndex), normalIndex(_normalIndex), texcoordIndex(_texcoordIndex) { - - } - - Indexes(const Indexes& copy) : vertIndex(copy.vertIndex), normalIndex(copy.normalIndex), texcoordIndex(copy.texcoordIndex) { - - } - - size_t vertIndex, normalIndex, texcoordIndex; -}; - -enum Semantic -{ - VERTEX, - NORMAL, - TEXCOORD, - POSITIONS, - UNKNOWN -}; - -struct Input -{ - string source; - Semantic semantic; - size_t offset; -}; - -Semantic ToSemantic(const string& semantic) -{ - if (semantic == "VERTEX") - return VERTEX; - else if (semantic == "NORMAL") - return NORMAL; - else if (semantic == "TEXCOORD") - return TEXCOORD; - else if (semantic == "POSITIONS") - return POSITIONS; - else - return UNKNOWN; -} - -void ReadIndexArray(TiXmlElement* p , vector& array) -{ - istringstream strStream (p->GetText()); - char val[100]; - size_t value = 0; - while (!strStream.eof()) { - strStream >> val; - value = atoi(val); - array.push_back(value); - } -} - -void ReadInputs(TiXmlElement* rootElem,bool& hasVerts,bool& hasNormals,bool& hasTexcoords, string& vertSource,string& normalSource,string& texcoordSource, vector& inputs) { - TiXmlHandle root(rootElem); - for(TiXmlElement* inputElem = root.FirstChild( "input" ).ToElement();inputElem; inputElem = inputElem->NextSiblingElement()) - { - if(string(inputElem->Value()) != "input") - continue; - //TiXmlHandle input(inputElem); - inputs.push_back(Input()); - inputs.back().source = string(inputElem->Attribute("source")).substr(1); - inputs.back().offset = atoi(inputElem->Attribute("offset")); - inputs.back().semantic = ToSemantic(inputElem->Attribute("semantic")); - switch(inputs.back().semantic) - { - case VERTEX: - hasVerts = true; - vertSource = inputs.back().source; - break; - case NORMAL: - hasNormals = true; - normalSource = inputs.back().source; - break; - case TEXCOORD: - hasTexcoords = true; - texcoordSource = inputs.back().source; - break; - default: - break; - } - } -} - -Source& GetSource(map& sources, map >& vertices,const string& source) -{ - map::iterator srcIterator = sources.find(source); - if (srcIterator != sources.end()) - return srcIterator->second; - map >::iterator vertIterator = vertices.find(source); - if (vertIterator != vertices.end() ) { - for (vector::iterator i = vertIterator->second.begin(); i != vertIterator->second.end() ; ++i) { - srcIterator = sources.find(i->source); - if (srcIterator != sources.end()) - return srcIterator->second; - - } - } else { - abort(); //throw string("Error"); - } - - return srcIterator->second; -} - -void InsertVertNormalTexcoord(vector& vertVector,vector& normalVector,vector& texcoordVector, bool hasVerts, bool hasNormals, bool hasTexcoords,const string& vertSource ,const string& normalSource ,const string& texcoordSource ,size_t vertIndex , size_t normalIndex , size_t texcoordIndex, map& sources,map >& vertices) -{ - if (hasVerts) { - Source& src = GetSource(sources, vertices , vertSource); - float x = 0, y = 0, z = 0; - if (src.stride >= 1) - x = src.array[src.offset + vertIndex*src.stride]; - if (src.stride >= 2) - y = src.array[src.offset + vertIndex*src.stride + 1]; - if (src.stride >= 3) - z = src.array[src.offset + vertIndex*src.stride + 2]; - vertVector.push_back(Vector3(x,y,z)); - } - - if (hasNormals) { - Source& src = GetSource(sources, vertices , normalSource); - float x = 0, y = 0, z = 0; - if (src.stride >= 1) - x = src.array[src.offset + normalIndex*src.stride]; - if (src.stride >= 2) - y = src.array[src.offset + normalIndex*src.stride + 1]; - if (src.stride >= 3) - z = src.array[src.offset + normalIndex*src.stride + 2]; - normalVector.push_back(Vector3(x,y,z) ); - } - - if (hasTexcoords) { - Source& src = GetSource(sources, vertices , texcoordSource); - float s = 0, t = 0; - if (src.stride >= 1) - s = src.array[src.offset + texcoordIndex*src.stride]; - if (src.stride >= 2) - t = src.array[src.offset + texcoordIndex*src.stride + 1]; - - texcoordVector.push_back(Vector2(s,t)); - } -} - -/// Import a DAE file from a file. -void Import_DAE(const char * aFileName, Mesh * aMesh) -{ - // Start by ensuring that we use proper locale settings for the file format - setlocale(LC_NUMERIC, "C"); - - // Clear the mesh - aMesh->Clear(); - - // Load the XML document - TiXmlDocument doc(aFileName); - if (doc.LoadFile()) - { - - TiXmlHandle hDoc(&doc); - TiXmlElement* elem = hDoc.FirstChildElement().Element(); - TiXmlHandle hRoot(elem); - - map sources; - size_t indicesOffset = 0, vertexOffset = 0, texcoordOffset = 0, normalOffset = 0; - - TiXmlHandle geometry = hRoot.FirstChild( "library_geometries" ).FirstChild("geometry"); - for(elem = geometry.ToElement(); elem; elem=elem->NextSiblingElement()) - { - TiXmlHandle geometry(elem); - - TiXmlElement* meshElem = geometry.FirstChild("mesh").ToElement(); - - if(meshElem) - { - TiXmlHandle mesh(meshElem); - - TiXmlElement* sourceElem; - for(sourceElem = mesh.FirstChild("source").ToElement(); sourceElem; - sourceElem = sourceElem->NextSiblingElement()) - { - if(string(sourceElem->Value()) != "source") - continue; - TiXmlHandle source(sourceElem); - string id = source.ToElement()->Attribute("id"); - TiXmlElement* arr = sourceElem->FirstChild("float_array")->ToElement(); - string str = arr->GetText(); - istringstream strStream (str); - sources.insert(make_pair(id, Source())); - - TiXmlElement* techniqueElem = sourceElem->FirstChild("technique_common")->ToElement(); - TiXmlElement* accessorElem = techniqueElem->FirstChild("accessor")->ToElement(); - - sources[id].stride = atoi(accessorElem->Attribute("stride")); - sources[id].count = atoi(accessorElem->Attribute("count")); - if (accessorElem->Attribute("offset")) - sources[id].offset = atoi(accessorElem->Attribute("offset")); - - char val[100]; - float value = 0; - while(!strStream.eof()) - { - strStream >> val; - value = float(atof(val)); - sources[id].array.push_back(value); - } - } - - TiXmlElement* verticesElem = mesh.FirstChild("vertices").ToElement(); - map > vertices; - if (verticesElem) { - string id = verticesElem->Attribute("id"); - vertices.insert(make_pair(id, vector())); - TiXmlElement* inputElem; - for(inputElem = verticesElem->FirstChild("input")->ToElement(); - inputElem; inputElem = inputElem->NextSiblingElement()) - { - if(string(inputElem->Value()) != "input") - continue; - - vertices[id].push_back(Input()); - vertices[id].back().source = string(inputElem->Attribute("source")).substr(1); - vertices[id].back().semantic = ToSemantic(inputElem->Attribute("semantic")); - } - } - - TiXmlElement* trianglesElem = mesh.FirstChild("triangles").ToElement(); - if(trianglesElem) - { - TiXmlHandle triangles(trianglesElem); - vector inputs; - bool hasVerts = false, hasNormals = false, hasTexcoords = false; - string vertSource = "", normalSource = "", texcoordSource = ""; - /* - TiXmlElement* inputElem; - for(inputElem = triangles.FirstChild( "input" ).ToElement(); - inputElem; inputElem = inputElem->NextSiblingElement()) - { - if(string(inputElem->Value()) != "input") - continue; - //TiXmlHandle input(inputElem); - inputs.push_back(Input()); - inputs.back().source = string(inputElem->Attribute("source")).substr(1); - inputs.back().offset = atoi(inputElem->Attribute("offset")); - inputs.back().semantic = ToSemantic(inputElem->Attribute("semantic")); - switch(inputs.back().semantic) - { - case VERTEX: - hasVerts = true; - vertSource = inputs.back().source; - break; - case NORMAL: - hasNormals = true; - normalSource = inputs.back().source; - break; - case TEXCOORD: - hasTexcoords = true; - texcoordSource = inputs.back().source; - break; - default: - break; - } - } - */ - ReadInputs(trianglesElem, hasVerts, hasNormals, hasTexcoords, vertSource, normalSource, texcoordSource, inputs); - - vector pArray; - TiXmlElement* p = triangles.FirstChild( "p" ).ToElement(); - - ReadIndexArray(p,pArray); - - vector indexVector; - vector vertVector, normalVector; - vector texcoordVector; - map > > prevIndices; - size_t index = 0; - for (size_t i = 0; i < pArray.size() ; i += inputs.size()) { - size_t vertIndex = 0, normalIndex = 0, texcoordIndex = 0; - for (vector::const_iterator j = inputs.begin(); j != inputs.end(); ++j) { - switch (j->semantic) { - case VERTEX: - vertIndex = pArray[i + j->offset]; - break; - case NORMAL: - normalIndex = pArray[i + j->offset]; - break; - case TEXCOORD: - texcoordIndex = pArray[i + j->offset]; - break; - default: - break; - } - } - map > >::iterator prevIt1 = prevIndices.find(vertIndex); - - if(prevIt1 != prevIndices.end()) - { - map >::iterator prevIt2 = prevIt1->second.find(normalIndex); - if(prevIt2 != prevIt1->second.end()) - { - map< size_t, size_t >::iterator prevIt3 = prevIt2->second.find(texcoordIndex); - if(prevIt3 != prevIt2->second.end()) - { - indexVector.push_back(prevIt3->second); - } - else - { - indexVector.push_back(index); - prevIt2->second.insert(make_pair(texcoordIndex, index)); - InsertVertNormalTexcoord(vertVector, normalVector, texcoordVector, hasVerts, hasNormals, hasTexcoords, vertSource, normalSource, texcoordSource, vertIndex, normalIndex, texcoordIndex, sources, vertices); - ++index; - } - } - else - { - indexVector.push_back(index); - prevIt1->second.insert(make_pair(normalIndex, map< size_t, size_t >())); - prevIt1->second[normalIndex].insert(make_pair(texcoordIndex, index)); - InsertVertNormalTexcoord(vertVector, normalVector, texcoordVector, hasVerts, hasNormals, hasTexcoords, vertSource, normalSource, texcoordSource, vertIndex, normalIndex, texcoordIndex, sources, vertices); - ++index; - } - } - else - { - indexVector.push_back(index); - prevIndices.insert(make_pair(vertIndex,map >())); - prevIndices[vertIndex].insert(make_pair(normalIndex, map< size_t, size_t >())); - prevIndices[vertIndex][normalIndex].insert(make_pair(texcoordIndex, index)); - InsertVertNormalTexcoord(vertVector, normalVector, texcoordVector, hasVerts, hasNormals, hasTexcoords, vertSource, normalSource, texcoordSource, vertIndex, normalIndex, texcoordIndex, sources, vertices); - ++index; - } - - } - - TiXmlElement* polylistElem = mesh.FirstChild("polylist").ToElement(); - - if (polylistElem) { - TiXmlHandle polylist(polylistElem); - vector vcountArray, pArray; - TiXmlElement* vcountElem = polylist.FirstChild("vcount").ToElement(); - ReadIndexArray(vcountElem, vcountArray); - TiXmlElement* pElem = polylist.FirstChild("p").ToElement(); - ReadIndexArray(pElem, pArray); - vector inputs; - bool hasVerts = false, hasNormals = false, hasTexcoords = false; - string vertSource = "", normalSource = "", texcoordSource = ""; - - ReadInputs(polylistElem, hasVerts, hasNormals, hasTexcoords, vertSource, normalSource, texcoordSource, inputs); - size_t offset = 0; - for (size_t i = 0; i < vcountArray.size(); ++i) { - vector convexPolygon; - for (size_t j = 0; j < vcountArray[i]; ++j) { - convexPolygon.push_back(Indexes()); - for (vector::const_iterator j = inputs.begin(); j != inputs.end(); ++j) { - switch (j->semantic) { - case VERTEX: - convexPolygon.back().vertIndex = pArray[offset + j->offset]; - break; - case NORMAL: - convexPolygon.back().normalIndex = pArray[offset + j->offset]; - break; - case TEXCOORD: - convexPolygon.back().texcoordIndex = pArray[offset + j->offset]; - break; - default: - break; - } - } - } - offset += vcountArray[i]; - } - - - - } - - size_t indicesOff = indicesOffset, vertexOff = vertexOffset, normalOff = normalOffset, texcoordOff = texcoordOffset; - indicesOffset += indexVector.size(); - vertexOffset += vertVector.size(); - normalOffset += normalVector.size(); - texcoordOffset += texcoordVector.size(); - aMesh->mIndices.resize(indicesOffset ); - aMesh->mVertices.resize(vertexOffset ); - aMesh->mNormals.resize(normalOffset ); - aMesh->mTexCoords.resize(texcoordOffset ); - - for(size_t i = 0; i < indexVector.size(); ++i) - aMesh->mIndices[indicesOff + i] = (unsigned int)indexVector[i]; - - for(size_t i = 0; i < vertVector.size(); ++i) - aMesh->mVertices[vertexOff + i] = vertVector[i]; - - for(size_t i = 0; i < normalVector.size(); ++i) - aMesh->mNormals[normalOff + i] = normalVector[i]; - - for(size_t i = 0; i < texcoordVector.size(); ++i) - aMesh->mTexCoords[texcoordOff + i] = texcoordVector[i]; - } - } - } - } - else - throw_runtime_error("Could not open input file."); -} - -/// Dump a float array to an XML text node. -static void FloatArrayToXML(TiXmlElement * aNode, float * aArray, - unsigned int aCount) -{ - stringstream ss; - for(unsigned int i = 0; i < aCount; ++ i) - ss << aArray[i] << " "; - aNode->LinkEndChild(new TiXmlText(ss.str().c_str())); -} - -/// Generate an ISO 8601 format date string. -static string MakeISO8601DateTime(void) -{ - char buf[500]; -#ifdef WIN32 - SYSTEMTIME tm; - GetSystemTime(&tm); - sprintf(buf, "%i-%02i-%02iT%02i:%02i:%02i.%03iZ", tm.wYear, - tm.wMonth, tm.wDay, tm.wHour, tm.wMinute, tm.wSecond, - tm.wMilliseconds); -#else - time_t t; - time(&t); - struct tm tm; - localtime_r(&t, &tm); - sprintf(buf, "%i-%02i-%02iT%02i:%02i:%02i", tm.tm_year + 1900, - tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); -#endif - return string(buf); -} - -/// Export a DAE file to a file. -void Export_DAE(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Start by ensuring that we use proper locale settings for the file format - setlocale(LC_NUMERIC, "C"); - - // What should we export? - bool exportTexCoords = aMesh->HasTexCoords() && !aOptions.mNoTexCoords; - bool exportNormals = aMesh->HasNormals() && !aOptions.mNoNormals; - - TiXmlDocument xmlDoc; - TiXmlElement * elem; - string dateTime = MakeISO8601DateTime(); - - // Set XML declaration - xmlDoc.LinkEndChild(new TiXmlDeclaration("1.0", "utf-8", "")); - - // Create root node - TiXmlElement * root = new TiXmlElement("COLLADA"); - xmlDoc.LinkEndChild(root); - root->SetAttribute("xmlns", "http://www.collada.org/2005/11/COLLADASchema"); - root->SetAttribute("version", "1.4.1"); - - // Create traceability nodes - TiXmlElement * asset = new TiXmlElement("asset"); - root->LinkEndChild(asset); - TiXmlElement * contributor = new TiXmlElement("contributor"); - asset->LinkEndChild(contributor); - TiXmlElement * authoring_tool = new TiXmlElement("authoring_tool"); - contributor->LinkEndChild(authoring_tool); - authoring_tool->LinkEndChild(new TiXmlText("ctmconv")); - TiXmlElement * comments = new TiXmlElement("comments"); - contributor->LinkEndChild(comments); - comments->LinkEndChild(new TiXmlText(aMesh->mComment.c_str())); - elem = new TiXmlElement("created"); - asset->LinkEndChild(elem); - elem->LinkEndChild(new TiXmlText(dateTime.c_str())); - elem = new TiXmlElement("modified"); - asset->LinkEndChild(elem); - elem->LinkEndChild(new TiXmlText(dateTime.c_str())); - - // Create the geometry nodes - TiXmlElement * library_geometries = new TiXmlElement("library_geometries"); - root->LinkEndChild(library_geometries); - TiXmlElement * geometry = new TiXmlElement("geometry"); - library_geometries->LinkEndChild(geometry); - geometry->SetAttribute("id", "Mesh-1"); - geometry->SetAttribute("name", "Mesh-1"); - TiXmlElement * mesh = new TiXmlElement("mesh"); - geometry->LinkEndChild(mesh); - - // Vertices (positions) - TiXmlElement * source_position = new TiXmlElement("source"); - mesh->LinkEndChild(source_position); - source_position->SetAttribute("id", "Mesh-1-positions"); - source_position->SetAttribute("name", "position"); - TiXmlElement * positions_array = new TiXmlElement("float_array"); - source_position->LinkEndChild(positions_array); - positions_array->SetAttribute("id", "Mesh-1-positions-array"); - positions_array->SetAttribute("count", int(aMesh->mVertices.size() * 3)); - FloatArrayToXML(positions_array, &aMesh->mVertices[0].x, (unsigned int)aMesh->mVertices.size() * 3); - TiXmlElement * positions_technique = new TiXmlElement("technique_common"); - source_position->LinkEndChild(positions_technique); - TiXmlElement * positions_technique_accessor = new TiXmlElement("accessor"); - positions_technique->LinkEndChild(positions_technique_accessor); - positions_technique_accessor->SetAttribute("count", int(aMesh->mVertices.size())); - positions_technique_accessor->SetAttribute("offset", 0); - positions_technique_accessor->SetAttribute("source", "#Mesh-1-positions-array"); - positions_technique_accessor->SetAttribute("stride", 3); - elem = new TiXmlElement("param"); - positions_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "X"); - elem->SetAttribute("type", "float"); - elem = new TiXmlElement("param"); - positions_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "Y"); - elem->SetAttribute("type", "float"); - elem = new TiXmlElement("param"); - positions_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "Z"); - elem->SetAttribute("type", "float"); - - // Normals - if(exportNormals) - { - TiXmlElement * source_normal = new TiXmlElement("source"); - mesh->LinkEndChild(source_normal); - source_normal->SetAttribute("id", "Mesh-1-normals"); - source_normal->SetAttribute("name", "normal"); - TiXmlElement * normals_array = new TiXmlElement("float_array"); - source_normal->LinkEndChild(normals_array); - normals_array->SetAttribute("id", "Mesh-1-normals-array"); - normals_array->SetAttribute("count", int(aMesh->mVertices.size() * 3)); - FloatArrayToXML(normals_array, &aMesh->mNormals[0].x, (unsigned int)aMesh->mNormals.size() * 3); - TiXmlElement * normals_technique = new TiXmlElement("technique_common"); - source_normal->LinkEndChild(normals_technique); - TiXmlElement * normals_technique_accessor = new TiXmlElement("accessor"); - normals_technique->LinkEndChild(normals_technique_accessor); - normals_technique_accessor->SetAttribute("count", int(aMesh->mVertices.size())); - normals_technique_accessor->SetAttribute("offset", 0); - normals_technique_accessor->SetAttribute("source", "#Mesh-1-normals-array"); - normals_technique_accessor->SetAttribute("stride", 3); - elem = new TiXmlElement("param"); - normals_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "X"); - elem->SetAttribute("type", "float"); - elem = new TiXmlElement("param"); - normals_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "Y"); - elem->SetAttribute("type", "float"); - elem = new TiXmlElement("param"); - normals_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "Z"); - elem->SetAttribute("type", "float"); - } - - // UV map - if(exportTexCoords) - { - TiXmlElement * source_map1 = new TiXmlElement("source"); - mesh->LinkEndChild(source_map1); - source_map1->SetAttribute("id", "Mesh-1-map1"); - source_map1->SetAttribute("name", "map1"); - TiXmlElement * map1_array = new TiXmlElement("float_array"); - source_map1->LinkEndChild(map1_array); - map1_array->SetAttribute("id", "Mesh-1-map1-array"); - map1_array->SetAttribute("count", int(aMesh->mVertices.size() * 3)); - FloatArrayToXML(map1_array, &aMesh->mTexCoords[0].u, (unsigned int)aMesh->mTexCoords.size() * 2); - TiXmlElement * map1_technique = new TiXmlElement("technique_common"); - source_map1->LinkEndChild(map1_technique); - TiXmlElement * map1_technique_accessor = new TiXmlElement("accessor"); - map1_technique->LinkEndChild(map1_technique_accessor); - map1_technique_accessor->SetAttribute("count", int(aMesh->mVertices.size())); - map1_technique_accessor->SetAttribute("offset", 0); - map1_technique_accessor->SetAttribute("source", "#Mesh-1-map1-array"); - map1_technique_accessor->SetAttribute("stride", 2); - elem = new TiXmlElement("param"); - map1_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "S"); - elem->SetAttribute("type", "float"); - elem = new TiXmlElement("param"); - map1_technique_accessor->LinkEndChild(elem); - elem->SetAttribute("name", "T"); - elem->SetAttribute("type", "float"); - } - - // Vertices - TiXmlElement * vertices = new TiXmlElement("vertices"); - mesh->LinkEndChild(vertices); - vertices->SetAttribute("id", "Mesh-1-vertices"); - TiXmlElement * vertices_input = new TiXmlElement("input"); - vertices->LinkEndChild(vertices_input); - vertices_input->SetAttribute("semantic", "POSITION"); - vertices_input->SetAttribute("source", "#Mesh-1-positions"); - - // Triangles - TiXmlElement * triangles = new TiXmlElement("triangles"); - mesh->LinkEndChild(triangles); - triangles->SetAttribute("count", int(aMesh->mIndices.size() / 3)); - int triangleInputCount = 0; - elem = new TiXmlElement("input"); - triangles->LinkEndChild(elem); - elem->SetAttribute("offset", triangleInputCount); - elem->SetAttribute("semantic", "VERTEX"); - elem->SetAttribute("source", "#Mesh-1-vertices"); - ++ triangleInputCount; - if(exportNormals) - { - elem = new TiXmlElement("input"); - triangles->LinkEndChild(elem); - elem->SetAttribute("offset", triangleInputCount); - elem->SetAttribute("semantic", "NORMAL"); - elem->SetAttribute("source", "#Mesh-1-normals"); - ++ triangleInputCount; - } - if(exportTexCoords) - { - elem = new TiXmlElement("input"); - triangles->LinkEndChild(elem); - elem->SetAttribute("offset", triangleInputCount); - elem->SetAttribute("semantic", "TEXCOORD"); - elem->SetAttribute("source", "#Mesh-1-map1"); - elem->SetAttribute("set", 0); - ++ triangleInputCount; - } - { - elem = new TiXmlElement("p"); - triangles->LinkEndChild(elem); - stringstream ss; - for(unsigned int i = 0; i < aMesh->mIndices.size(); ++ i) - for(int j = 0; j < triangleInputCount; ++ j) - ss << aMesh->mIndices[i] << " "; - elem->LinkEndChild(new TiXmlText(ss.str().c_str())); - } - - // Scene - TiXmlElement * library_visual_scenes = new TiXmlElement("library_visual_scenes"); - root->LinkEndChild(library_visual_scenes); - TiXmlElement * visual_scene = new TiXmlElement("visual_scene"); - library_visual_scenes->LinkEndChild(visual_scene); - visual_scene->SetAttribute("id", "Scene-1"); - visual_scene->SetAttribute("name", "Scene-1"); - TiXmlElement * visual_scene_node = new TiXmlElement("node"); - visual_scene->LinkEndChild(visual_scene_node); - visual_scene_node->SetAttribute("id", "Object-1"); - visual_scene_node->SetAttribute("name", "Object-1"); - TiXmlElement * instance_geometry = new TiXmlElement("instance_geometry"); - visual_scene_node->LinkEndChild(instance_geometry); - instance_geometry->SetAttribute("url", "#Mesh-1"); - TiXmlElement * scene = new TiXmlElement("scene"); - root->LinkEndChild(scene); - TiXmlElement * instance_visual_scene = new TiXmlElement("instance_visual_scene"); - scene->LinkEndChild(instance_visual_scene); - instance_visual_scene->SetAttribute("url", "#Scene-1"); - - // Save the XML document to a file - xmlDoc.SaveFile(aFileName); - if(xmlDoc.Error()) - throw_runtime_error(string(xmlDoc.ErrorDesc())); -} diff --git a/3rdparty/openctm/tools/dae.h b/3rdparty/openctm/tools/dae.h deleted file mode 100644 index 196b82ef6..000000000 --- a/3rdparty/openctm/tools/dae.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: dae.h -// Description: Interface for the DAE (Collada) file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __DAE_H_ -#define __DAE_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a DAE file from a file. -void Import_DAE(const char * aFileName, Mesh * aMesh); - -/// Export a DAE file to a file. -void Export_DAE(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __DAE_H_ diff --git a/3rdparty/openctm/tools/glew/GL/glew.h b/3rdparty/openctm/tools/glew/GL/glew.h deleted file mode 100644 index 0de2efc38..000000000 --- a/3rdparty/openctm/tools/glew/GL/glew.h +++ /dev/null @@ -1,12262 +0,0 @@ -/* -** The OpenGL Extension Wrangler Library -** Copyright (C) 2002-2008, Milan Ikits -** Copyright (C) 2002-2008, Marcelo E. Magallon -** Copyright (C) 2002, Lev Povalahev -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are met: -** -** * Redistributions of source code must retain the above copyright notice, -** this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright notice, -** this list of conditions and the following disclaimer in the documentation -** and/or other materials provided with the distribution. -** * The name of the author may be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -** THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* - * Mesa 3-D graphics library - * Version: 7.0 - * - * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* -** Copyright (c) 2007 The Khronos Group Inc. -** -** Permission is hereby granted, free of charge, to any person obtaining a -** copy of this software and/or associated documentation files (the -** "Materials"), to deal in the Materials without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Materials, and to -** permit persons to whom the Materials are furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be included -** in all copies or substantial portions of the Materials. -** -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -*/ - -#ifndef __glew_h__ -#define __glew_h__ -#define __GLEW_H__ - -#if defined(__gl_h_) || defined(__GL_H__) -#error gl.h included before glew.h -#endif -#if defined(__glext_h_) || defined(__GLEXT_H_) -#error glext.h included before glew.h -#endif -#if defined(__gl_ATI_h_) -#error glATI.h included before glew.h -#endif - -#define __gl_h_ -#define __GL_H__ -#define __glext_h_ -#define __GLEXT_H_ -#define __gl_ATI_h_ - -#if defined(_WIN32) - -/* - * GLEW does not include to avoid name space pollution. - * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t - * defined properly. - */ -/* */ -#ifndef APIENTRY -#define GLEW_APIENTRY_DEFINED -# if defined(__MINGW32__) -# define APIENTRY __stdcall -# elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -#endif -#ifndef GLAPI -# if defined(__MINGW32__) -# define GLAPI extern -# endif -#endif -/* */ -#ifndef CALLBACK -#define GLEW_CALLBACK_DEFINED -# if defined(__MINGW32__) -# define CALLBACK __attribute__ ((__stdcall__)) -# elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -#endif -/* and */ -#ifndef WINGDIAPI -#define GLEW_WINGDIAPI_DEFINED -#define WINGDIAPI __declspec(dllimport) -#endif -/* */ -#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED) -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -#endif -/* */ -#if !defined(_W64) -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300 -# define _W64 __w64 -# else -# define _W64 -# endif -#endif -#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) -# ifdef _WIN64 -typedef __int64 ptrdiff_t; -# else -typedef _W64 int ptrdiff_t; -# endif -# define _PTRDIFF_T_DEFINED -# define _PTRDIFF_T_ -#endif - -#ifndef GLAPI -# if defined(__MINGW32__) -# define GLAPI extern -# else -# define GLAPI WINGDIAPI -# endif -#endif - -#ifndef GLAPIENTRY -#define GLAPIENTRY APIENTRY -#endif - -/* - * GLEW_STATIC needs to be set when using the static version. - * GLEW_BUILD is set when building the DLL version. - */ -#ifdef GLEW_STATIC -# define GLEWAPI extern -#else -# ifdef GLEW_BUILD -# define GLEWAPI extern __declspec(dllexport) -# else -# define GLEWAPI extern __declspec(dllimport) -# endif -#endif - -#else /* _UNIX */ - -/* - * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO - * C. On my system, this amounts to _3 lines_ of included code, all of - * them pretty much harmless. If you know of a way of detecting 32 vs - * 64 _targets_ at compile time you are free to replace this with - * something that's portable. For now, _this_ is the portable solution. - * (mem, 2004-01-04) - */ - -#include -#include - -#define GLEW_APIENTRY_DEFINED -#define APIENTRY -#define GLEWAPI extern - -/* */ -#ifndef GLAPI -#define GLAPI extern -#endif -#ifndef GLAPIENTRY -#define GLAPIENTRY -#endif - -#endif /* _WIN32 */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----------------------------- GL_VERSION_1_1 ---------------------------- */ - -#ifndef GL_VERSION_1_1 -#define GL_VERSION_1_1 1 - -typedef unsigned int GLenum; -typedef unsigned int GLbitfield; -typedef unsigned int GLuint; -typedef int GLint; -typedef int GLsizei; -typedef unsigned char GLboolean; -typedef signed char GLbyte; -typedef short GLshort; -typedef unsigned char GLubyte; -typedef unsigned short GLushort; -typedef unsigned long GLulong; -typedef float GLfloat; -typedef float GLclampf; -typedef double GLdouble; -typedef double GLclampd; -typedef void GLvoid; -#if defined(_MSC_VER) -# if _MSC_VER < 1400 -typedef __int64 GLint64EXT; -typedef unsigned __int64 GLuint64EXT; -# else -typedef signed long long GLint64EXT; -typedef unsigned long long GLuint64EXT; -# endif -#else -# if defined(__MINGW32__) -#include -# endif -typedef int64_t GLint64EXT; -typedef uint64_t GLuint64EXT; -#endif - -#define GL_ACCUM 0x0100 -#define GL_LOAD 0x0101 -#define GL_RETURN 0x0102 -#define GL_MULT 0x0103 -#define GL_ADD 0x0104 -#define GL_NEVER 0x0200 -#define GL_LESS 0x0201 -#define GL_EQUAL 0x0202 -#define GL_LEQUAL 0x0203 -#define GL_GREATER 0x0204 -#define GL_NOTEQUAL 0x0205 -#define GL_GEQUAL 0x0206 -#define GL_ALWAYS 0x0207 -#define GL_CURRENT_BIT 0x00000001 -#define GL_POINT_BIT 0x00000002 -#define GL_LINE_BIT 0x00000004 -#define GL_POLYGON_BIT 0x00000008 -#define GL_POLYGON_STIPPLE_BIT 0x00000010 -#define GL_PIXEL_MODE_BIT 0x00000020 -#define GL_LIGHTING_BIT 0x00000040 -#define GL_FOG_BIT 0x00000080 -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_ACCUM_BUFFER_BIT 0x00000200 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_VIEWPORT_BIT 0x00000800 -#define GL_TRANSFORM_BIT 0x00001000 -#define GL_ENABLE_BIT 0x00002000 -#define GL_COLOR_BUFFER_BIT 0x00004000 -#define GL_HINT_BIT 0x00008000 -#define GL_EVAL_BIT 0x00010000 -#define GL_LIST_BIT 0x00020000 -#define GL_TEXTURE_BIT 0x00040000 -#define GL_SCISSOR_BIT 0x00080000 -#define GL_ALL_ATTRIB_BITS 0x000fffff -#define GL_POINTS 0x0000 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_STRIP 0x0003 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRIANGLE_FAN 0x0006 -#define GL_QUADS 0x0007 -#define GL_QUAD_STRIP 0x0008 -#define GL_POLYGON 0x0009 -#define GL_ZERO 0 -#define GL_ONE 1 -#define GL_SRC_COLOR 0x0300 -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#define GL_SRC_ALPHA 0x0302 -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#define GL_DST_ALPHA 0x0304 -#define GL_ONE_MINUS_DST_ALPHA 0x0305 -#define GL_DST_COLOR 0x0306 -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#define GL_SRC_ALPHA_SATURATE 0x0308 -#define GL_TRUE 1 -#define GL_FALSE 0 -#define GL_CLIP_PLANE0 0x3000 -#define GL_CLIP_PLANE1 0x3001 -#define GL_CLIP_PLANE2 0x3002 -#define GL_CLIP_PLANE3 0x3003 -#define GL_CLIP_PLANE4 0x3004 -#define GL_CLIP_PLANE5 0x3005 -#define GL_BYTE 0x1400 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_SHORT 0x1402 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_INT 0x1404 -#define GL_UNSIGNED_INT 0x1405 -#define GL_FLOAT 0x1406 -#define GL_2_BYTES 0x1407 -#define GL_3_BYTES 0x1408 -#define GL_4_BYTES 0x1409 -#define GL_DOUBLE 0x140A -#define GL_NONE 0 -#define GL_FRONT_LEFT 0x0400 -#define GL_FRONT_RIGHT 0x0401 -#define GL_BACK_LEFT 0x0402 -#define GL_BACK_RIGHT 0x0403 -#define GL_FRONT 0x0404 -#define GL_BACK 0x0405 -#define GL_LEFT 0x0406 -#define GL_RIGHT 0x0407 -#define GL_FRONT_AND_BACK 0x0408 -#define GL_AUX0 0x0409 -#define GL_AUX1 0x040A -#define GL_AUX2 0x040B -#define GL_AUX3 0x040C -#define GL_NO_ERROR 0 -#define GL_INVALID_ENUM 0x0500 -#define GL_INVALID_VALUE 0x0501 -#define GL_INVALID_OPERATION 0x0502 -#define GL_STACK_OVERFLOW 0x0503 -#define GL_STACK_UNDERFLOW 0x0504 -#define GL_OUT_OF_MEMORY 0x0505 -#define GL_2D 0x0600 -#define GL_3D 0x0601 -#define GL_3D_COLOR 0x0602 -#define GL_3D_COLOR_TEXTURE 0x0603 -#define GL_4D_COLOR_TEXTURE 0x0604 -#define GL_PASS_THROUGH_TOKEN 0x0700 -#define GL_POINT_TOKEN 0x0701 -#define GL_LINE_TOKEN 0x0702 -#define GL_POLYGON_TOKEN 0x0703 -#define GL_BITMAP_TOKEN 0x0704 -#define GL_DRAW_PIXEL_TOKEN 0x0705 -#define GL_COPY_PIXEL_TOKEN 0x0706 -#define GL_LINE_RESET_TOKEN 0x0707 -#define GL_EXP 0x0800 -#define GL_EXP2 0x0801 -#define GL_CW 0x0900 -#define GL_CCW 0x0901 -#define GL_COEFF 0x0A00 -#define GL_ORDER 0x0A01 -#define GL_DOMAIN 0x0A02 -#define GL_CURRENT_COLOR 0x0B00 -#define GL_CURRENT_INDEX 0x0B01 -#define GL_CURRENT_NORMAL 0x0B02 -#define GL_CURRENT_TEXTURE_COORDS 0x0B03 -#define GL_CURRENT_RASTER_COLOR 0x0B04 -#define GL_CURRENT_RASTER_INDEX 0x0B05 -#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 -#define GL_CURRENT_RASTER_POSITION 0x0B07 -#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 -#define GL_CURRENT_RASTER_DISTANCE 0x0B09 -#define GL_POINT_SMOOTH 0x0B10 -#define GL_POINT_SIZE 0x0B11 -#define GL_POINT_SIZE_RANGE 0x0B12 -#define GL_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_LINE_SMOOTH 0x0B20 -#define GL_LINE_WIDTH 0x0B21 -#define GL_LINE_WIDTH_RANGE 0x0B22 -#define GL_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_LINE_STIPPLE 0x0B24 -#define GL_LINE_STIPPLE_PATTERN 0x0B25 -#define GL_LINE_STIPPLE_REPEAT 0x0B26 -#define GL_LIST_MODE 0x0B30 -#define GL_MAX_LIST_NESTING 0x0B31 -#define GL_LIST_BASE 0x0B32 -#define GL_LIST_INDEX 0x0B33 -#define GL_POLYGON_MODE 0x0B40 -#define GL_POLYGON_SMOOTH 0x0B41 -#define GL_POLYGON_STIPPLE 0x0B42 -#define GL_EDGE_FLAG 0x0B43 -#define GL_CULL_FACE 0x0B44 -#define GL_CULL_FACE_MODE 0x0B45 -#define GL_FRONT_FACE 0x0B46 -#define GL_LIGHTING 0x0B50 -#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 -#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 -#define GL_LIGHT_MODEL_AMBIENT 0x0B53 -#define GL_SHADE_MODEL 0x0B54 -#define GL_COLOR_MATERIAL_FACE 0x0B55 -#define GL_COLOR_MATERIAL_PARAMETER 0x0B56 -#define GL_COLOR_MATERIAL 0x0B57 -#define GL_FOG 0x0B60 -#define GL_FOG_INDEX 0x0B61 -#define GL_FOG_DENSITY 0x0B62 -#define GL_FOG_START 0x0B63 -#define GL_FOG_END 0x0B64 -#define GL_FOG_MODE 0x0B65 -#define GL_FOG_COLOR 0x0B66 -#define GL_DEPTH_RANGE 0x0B70 -#define GL_DEPTH_TEST 0x0B71 -#define GL_DEPTH_WRITEMASK 0x0B72 -#define GL_DEPTH_CLEAR_VALUE 0x0B73 -#define GL_DEPTH_FUNC 0x0B74 -#define GL_ACCUM_CLEAR_VALUE 0x0B80 -#define GL_STENCIL_TEST 0x0B90 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 -#define GL_STENCIL_FUNC 0x0B92 -#define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 -#define GL_STENCIL_REF 0x0B97 -#define GL_STENCIL_WRITEMASK 0x0B98 -#define GL_MATRIX_MODE 0x0BA0 -#define GL_NORMALIZE 0x0BA1 -#define GL_VIEWPORT 0x0BA2 -#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 -#define GL_PROJECTION_STACK_DEPTH 0x0BA4 -#define GL_TEXTURE_STACK_DEPTH 0x0BA5 -#define GL_MODELVIEW_MATRIX 0x0BA6 -#define GL_PROJECTION_MATRIX 0x0BA7 -#define GL_TEXTURE_MATRIX 0x0BA8 -#define GL_ATTRIB_STACK_DEPTH 0x0BB0 -#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 -#define GL_ALPHA_TEST 0x0BC0 -#define GL_ALPHA_TEST_FUNC 0x0BC1 -#define GL_ALPHA_TEST_REF 0x0BC2 -#define GL_DITHER 0x0BD0 -#define GL_BLEND_DST 0x0BE0 -#define GL_BLEND_SRC 0x0BE1 -#define GL_BLEND 0x0BE2 -#define GL_LOGIC_OP_MODE 0x0BF0 -#define GL_INDEX_LOGIC_OP 0x0BF1 -#define GL_COLOR_LOGIC_OP 0x0BF2 -#define GL_AUX_BUFFERS 0x0C00 -#define GL_DRAW_BUFFER 0x0C01 -#define GL_READ_BUFFER 0x0C02 -#define GL_SCISSOR_BOX 0x0C10 -#define GL_SCISSOR_TEST 0x0C11 -#define GL_INDEX_CLEAR_VALUE 0x0C20 -#define GL_INDEX_WRITEMASK 0x0C21 -#define GL_COLOR_CLEAR_VALUE 0x0C22 -#define GL_COLOR_WRITEMASK 0x0C23 -#define GL_INDEX_MODE 0x0C30 -#define GL_RGBA_MODE 0x0C31 -#define GL_DOUBLEBUFFER 0x0C32 -#define GL_STEREO 0x0C33 -#define GL_RENDER_MODE 0x0C40 -#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 -#define GL_POINT_SMOOTH_HINT 0x0C51 -#define GL_LINE_SMOOTH_HINT 0x0C52 -#define GL_POLYGON_SMOOTH_HINT 0x0C53 -#define GL_FOG_HINT 0x0C54 -#define GL_TEXTURE_GEN_S 0x0C60 -#define GL_TEXTURE_GEN_T 0x0C61 -#define GL_TEXTURE_GEN_R 0x0C62 -#define GL_TEXTURE_GEN_Q 0x0C63 -#define GL_PIXEL_MAP_I_TO_I 0x0C70 -#define GL_PIXEL_MAP_S_TO_S 0x0C71 -#define GL_PIXEL_MAP_I_TO_R 0x0C72 -#define GL_PIXEL_MAP_I_TO_G 0x0C73 -#define GL_PIXEL_MAP_I_TO_B 0x0C74 -#define GL_PIXEL_MAP_I_TO_A 0x0C75 -#define GL_PIXEL_MAP_R_TO_R 0x0C76 -#define GL_PIXEL_MAP_G_TO_G 0x0C77 -#define GL_PIXEL_MAP_B_TO_B 0x0C78 -#define GL_PIXEL_MAP_A_TO_A 0x0C79 -#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 -#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 -#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 -#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 -#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 -#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 -#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 -#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 -#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 -#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 -#define GL_UNPACK_SWAP_BYTES 0x0CF0 -#define GL_UNPACK_LSB_FIRST 0x0CF1 -#define GL_UNPACK_ROW_LENGTH 0x0CF2 -#define GL_UNPACK_SKIP_ROWS 0x0CF3 -#define GL_UNPACK_SKIP_PIXELS 0x0CF4 -#define GL_UNPACK_ALIGNMENT 0x0CF5 -#define GL_PACK_SWAP_BYTES 0x0D00 -#define GL_PACK_LSB_FIRST 0x0D01 -#define GL_PACK_ROW_LENGTH 0x0D02 -#define GL_PACK_SKIP_ROWS 0x0D03 -#define GL_PACK_SKIP_PIXELS 0x0D04 -#define GL_PACK_ALIGNMENT 0x0D05 -#define GL_MAP_COLOR 0x0D10 -#define GL_MAP_STENCIL 0x0D11 -#define GL_INDEX_SHIFT 0x0D12 -#define GL_INDEX_OFFSET 0x0D13 -#define GL_RED_SCALE 0x0D14 -#define GL_RED_BIAS 0x0D15 -#define GL_ZOOM_X 0x0D16 -#define GL_ZOOM_Y 0x0D17 -#define GL_GREEN_SCALE 0x0D18 -#define GL_GREEN_BIAS 0x0D19 -#define GL_BLUE_SCALE 0x0D1A -#define GL_BLUE_BIAS 0x0D1B -#define GL_ALPHA_SCALE 0x0D1C -#define GL_ALPHA_BIAS 0x0D1D -#define GL_DEPTH_SCALE 0x0D1E -#define GL_DEPTH_BIAS 0x0D1F -#define GL_MAX_EVAL_ORDER 0x0D30 -#define GL_MAX_LIGHTS 0x0D31 -#define GL_MAX_CLIP_PLANES 0x0D32 -#define GL_MAX_TEXTURE_SIZE 0x0D33 -#define GL_MAX_PIXEL_MAP_TABLE 0x0D34 -#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 -#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 -#define GL_MAX_NAME_STACK_DEPTH 0x0D37 -#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 -#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 -#define GL_MAX_VIEWPORT_DIMS 0x0D3A -#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B -#define GL_SUBPIXEL_BITS 0x0D50 -#define GL_INDEX_BITS 0x0D51 -#define GL_RED_BITS 0x0D52 -#define GL_GREEN_BITS 0x0D53 -#define GL_BLUE_BITS 0x0D54 -#define GL_ALPHA_BITS 0x0D55 -#define GL_DEPTH_BITS 0x0D56 -#define GL_STENCIL_BITS 0x0D57 -#define GL_ACCUM_RED_BITS 0x0D58 -#define GL_ACCUM_GREEN_BITS 0x0D59 -#define GL_ACCUM_BLUE_BITS 0x0D5A -#define GL_ACCUM_ALPHA_BITS 0x0D5B -#define GL_NAME_STACK_DEPTH 0x0D70 -#define GL_AUTO_NORMAL 0x0D80 -#define GL_MAP1_COLOR_4 0x0D90 -#define GL_MAP1_INDEX 0x0D91 -#define GL_MAP1_NORMAL 0x0D92 -#define GL_MAP1_TEXTURE_COORD_1 0x0D93 -#define GL_MAP1_TEXTURE_COORD_2 0x0D94 -#define GL_MAP1_TEXTURE_COORD_3 0x0D95 -#define GL_MAP1_TEXTURE_COORD_4 0x0D96 -#define GL_MAP1_VERTEX_3 0x0D97 -#define GL_MAP1_VERTEX_4 0x0D98 -#define GL_MAP2_COLOR_4 0x0DB0 -#define GL_MAP2_INDEX 0x0DB1 -#define GL_MAP2_NORMAL 0x0DB2 -#define GL_MAP2_TEXTURE_COORD_1 0x0DB3 -#define GL_MAP2_TEXTURE_COORD_2 0x0DB4 -#define GL_MAP2_TEXTURE_COORD_3 0x0DB5 -#define GL_MAP2_TEXTURE_COORD_4 0x0DB6 -#define GL_MAP2_VERTEX_3 0x0DB7 -#define GL_MAP2_VERTEX_4 0x0DB8 -#define GL_MAP1_GRID_DOMAIN 0x0DD0 -#define GL_MAP1_GRID_SEGMENTS 0x0DD1 -#define GL_MAP2_GRID_DOMAIN 0x0DD2 -#define GL_MAP2_GRID_SEGMENTS 0x0DD3 -#define GL_TEXTURE_1D 0x0DE0 -#define GL_TEXTURE_2D 0x0DE1 -#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 -#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 -#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 -#define GL_SELECTION_BUFFER_POINTER 0x0DF3 -#define GL_SELECTION_BUFFER_SIZE 0x0DF4 -#define GL_TEXTURE_WIDTH 0x1000 -#define GL_TEXTURE_HEIGHT 0x1001 -#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 -#define GL_TEXTURE_BORDER_COLOR 0x1004 -#define GL_TEXTURE_BORDER 0x1005 -#define GL_DONT_CARE 0x1100 -#define GL_FASTEST 0x1101 -#define GL_NICEST 0x1102 -#define GL_LIGHT0 0x4000 -#define GL_LIGHT1 0x4001 -#define GL_LIGHT2 0x4002 -#define GL_LIGHT3 0x4003 -#define GL_LIGHT4 0x4004 -#define GL_LIGHT5 0x4005 -#define GL_LIGHT6 0x4006 -#define GL_LIGHT7 0x4007 -#define GL_AMBIENT 0x1200 -#define GL_DIFFUSE 0x1201 -#define GL_SPECULAR 0x1202 -#define GL_POSITION 0x1203 -#define GL_SPOT_DIRECTION 0x1204 -#define GL_SPOT_EXPONENT 0x1205 -#define GL_SPOT_CUTOFF 0x1206 -#define GL_CONSTANT_ATTENUATION 0x1207 -#define GL_LINEAR_ATTENUATION 0x1208 -#define GL_QUADRATIC_ATTENUATION 0x1209 -#define GL_COMPILE 0x1300 -#define GL_COMPILE_AND_EXECUTE 0x1301 -#define GL_CLEAR 0x1500 -#define GL_AND 0x1501 -#define GL_AND_REVERSE 0x1502 -#define GL_COPY 0x1503 -#define GL_AND_INVERTED 0x1504 -#define GL_NOOP 0x1505 -#define GL_XOR 0x1506 -#define GL_OR 0x1507 -#define GL_NOR 0x1508 -#define GL_EQUIV 0x1509 -#define GL_INVERT 0x150A -#define GL_OR_REVERSE 0x150B -#define GL_COPY_INVERTED 0x150C -#define GL_OR_INVERTED 0x150D -#define GL_NAND 0x150E -#define GL_SET 0x150F -#define GL_EMISSION 0x1600 -#define GL_SHININESS 0x1601 -#define GL_AMBIENT_AND_DIFFUSE 0x1602 -#define GL_COLOR_INDEXES 0x1603 -#define GL_MODELVIEW 0x1700 -#define GL_PROJECTION 0x1701 -#define GL_TEXTURE 0x1702 -#define GL_COLOR 0x1800 -#define GL_DEPTH 0x1801 -#define GL_STENCIL 0x1802 -#define GL_COLOR_INDEX 0x1900 -#define GL_STENCIL_INDEX 0x1901 -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_RED 0x1903 -#define GL_GREEN 0x1904 -#define GL_BLUE 0x1905 -#define GL_ALPHA 0x1906 -#define GL_RGB 0x1907 -#define GL_RGBA 0x1908 -#define GL_LUMINANCE 0x1909 -#define GL_LUMINANCE_ALPHA 0x190A -#define GL_BITMAP 0x1A00 -#define GL_POINT 0x1B00 -#define GL_LINE 0x1B01 -#define GL_FILL 0x1B02 -#define GL_RENDER 0x1C00 -#define GL_FEEDBACK 0x1C01 -#define GL_SELECT 0x1C02 -#define GL_FLAT 0x1D00 -#define GL_SMOOTH 0x1D01 -#define GL_KEEP 0x1E00 -#define GL_REPLACE 0x1E01 -#define GL_INCR 0x1E02 -#define GL_DECR 0x1E03 -#define GL_VENDOR 0x1F00 -#define GL_RENDERER 0x1F01 -#define GL_VERSION 0x1F02 -#define GL_EXTENSIONS 0x1F03 -#define GL_S 0x2000 -#define GL_T 0x2001 -#define GL_R 0x2002 -#define GL_Q 0x2003 -#define GL_MODULATE 0x2100 -#define GL_DECAL 0x2101 -#define GL_TEXTURE_ENV_MODE 0x2200 -#define GL_TEXTURE_ENV_COLOR 0x2201 -#define GL_TEXTURE_ENV 0x2300 -#define GL_EYE_LINEAR 0x2400 -#define GL_OBJECT_LINEAR 0x2401 -#define GL_SPHERE_MAP 0x2402 -#define GL_TEXTURE_GEN_MODE 0x2500 -#define GL_OBJECT_PLANE 0x2501 -#define GL_EYE_PLANE 0x2502 -#define GL_NEAREST 0x2600 -#define GL_LINEAR 0x2601 -#define GL_NEAREST_MIPMAP_NEAREST 0x2700 -#define GL_LINEAR_MIPMAP_NEAREST 0x2701 -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#define GL_LINEAR_MIPMAP_LINEAR 0x2703 -#define GL_TEXTURE_MAG_FILTER 0x2800 -#define GL_TEXTURE_MIN_FILTER 0x2801 -#define GL_TEXTURE_WRAP_S 0x2802 -#define GL_TEXTURE_WRAP_T 0x2803 -#define GL_CLAMP 0x2900 -#define GL_REPEAT 0x2901 -#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 -#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 -#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -#define GL_POLYGON_OFFSET_POINT 0x2A01 -#define GL_POLYGON_OFFSET_LINE 0x2A02 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_ALPHA4 0x803B -#define GL_ALPHA8 0x803C -#define GL_ALPHA12 0x803D -#define GL_ALPHA16 0x803E -#define GL_LUMINANCE4 0x803F -#define GL_LUMINANCE8 0x8040 -#define GL_LUMINANCE12 0x8041 -#define GL_LUMINANCE16 0x8042 -#define GL_LUMINANCE4_ALPHA4 0x8043 -#define GL_LUMINANCE6_ALPHA2 0x8044 -#define GL_LUMINANCE8_ALPHA8 0x8045 -#define GL_LUMINANCE12_ALPHA4 0x8046 -#define GL_LUMINANCE12_ALPHA12 0x8047 -#define GL_LUMINANCE16_ALPHA16 0x8048 -#define GL_INTENSITY 0x8049 -#define GL_INTENSITY4 0x804A -#define GL_INTENSITY8 0x804B -#define GL_INTENSITY12 0x804C -#define GL_INTENSITY16 0x804D -#define GL_R3_G3_B2 0x2A10 -#define GL_RGB4 0x804F -#define GL_RGB5 0x8050 -#define GL_RGB8 0x8051 -#define GL_RGB10 0x8052 -#define GL_RGB12 0x8053 -#define GL_RGB16 0x8054 -#define GL_RGBA2 0x8055 -#define GL_RGBA4 0x8056 -#define GL_RGB5_A1 0x8057 -#define GL_RGBA8 0x8058 -#define GL_RGB10_A2 0x8059 -#define GL_RGBA12 0x805A -#define GL_RGBA16 0x805B -#define GL_TEXTURE_RED_SIZE 0x805C -#define GL_TEXTURE_GREEN_SIZE 0x805D -#define GL_TEXTURE_BLUE_SIZE 0x805E -#define GL_TEXTURE_ALPHA_SIZE 0x805F -#define GL_TEXTURE_LUMINANCE_SIZE 0x8060 -#define GL_TEXTURE_INTENSITY_SIZE 0x8061 -#define GL_PROXY_TEXTURE_1D 0x8063 -#define GL_PROXY_TEXTURE_2D 0x8064 -#define GL_TEXTURE_PRIORITY 0x8066 -#define GL_TEXTURE_RESIDENT 0x8067 -#define GL_TEXTURE_BINDING_1D 0x8068 -#define GL_TEXTURE_BINDING_2D 0x8069 -#define GL_VERTEX_ARRAY 0x8074 -#define GL_NORMAL_ARRAY 0x8075 -#define GL_COLOR_ARRAY 0x8076 -#define GL_INDEX_ARRAY 0x8077 -#define GL_TEXTURE_COORD_ARRAY 0x8078 -#define GL_EDGE_FLAG_ARRAY 0x8079 -#define GL_VERTEX_ARRAY_SIZE 0x807A -#define GL_VERTEX_ARRAY_TYPE 0x807B -#define GL_VERTEX_ARRAY_STRIDE 0x807C -#define GL_NORMAL_ARRAY_TYPE 0x807E -#define GL_NORMAL_ARRAY_STRIDE 0x807F -#define GL_COLOR_ARRAY_SIZE 0x8081 -#define GL_COLOR_ARRAY_TYPE 0x8082 -#define GL_COLOR_ARRAY_STRIDE 0x8083 -#define GL_INDEX_ARRAY_TYPE 0x8085 -#define GL_INDEX_ARRAY_STRIDE 0x8086 -#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 -#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 -#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A -#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C -#define GL_VERTEX_ARRAY_POINTER 0x808E -#define GL_NORMAL_ARRAY_POINTER 0x808F -#define GL_COLOR_ARRAY_POINTER 0x8090 -#define GL_INDEX_ARRAY_POINTER 0x8091 -#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 -#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 -#define GL_V2F 0x2A20 -#define GL_V3F 0x2A21 -#define GL_C4UB_V2F 0x2A22 -#define GL_C4UB_V3F 0x2A23 -#define GL_C3F_V3F 0x2A24 -#define GL_N3F_V3F 0x2A25 -#define GL_C4F_N3F_V3F 0x2A26 -#define GL_T2F_V3F 0x2A27 -#define GL_T4F_V4F 0x2A28 -#define GL_T2F_C4UB_V3F 0x2A29 -#define GL_T2F_C3F_V3F 0x2A2A -#define GL_T2F_N3F_V3F 0x2A2B -#define GL_T2F_C4F_N3F_V3F 0x2A2C -#define GL_T4F_C4F_N3F_V4F 0x2A2D -#define GL_LOGIC_OP GL_INDEX_LOGIC_OP -#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT -#define GL_COLOR_INDEX1_EXT 0x80E2 -#define GL_COLOR_INDEX2_EXT 0x80E3 -#define GL_COLOR_INDEX4_EXT 0x80E4 -#define GL_COLOR_INDEX8_EXT 0x80E5 -#define GL_COLOR_INDEX12_EXT 0x80E6 -#define GL_COLOR_INDEX16_EXT 0x80E7 - -GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value); -GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref); -GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences); -GLAPI void GLAPIENTRY glArrayElement (GLint i); -GLAPI void GLAPIENTRY glBegin (GLenum mode); -GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture); -GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); -GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); -GLAPI void GLAPIENTRY glCallList (GLuint list); -GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const GLvoid *lists); -GLAPI void GLAPIENTRY glClear (GLbitfield mask); -GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -GLAPI void GLAPIENTRY glClearDepth (GLclampd depth); -GLAPI void GLAPIENTRY glClearIndex (GLfloat c); -GLAPI void GLAPIENTRY glClearStencil (GLint s); -GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation); -GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue); -GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v); -GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue); -GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v); -GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue); -GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v); -GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue); -GLAPI void GLAPIENTRY glColor3iv (const GLint *v); -GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue); -GLAPI void GLAPIENTRY glColor3sv (const GLshort *v); -GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue); -GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v); -GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue); -GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v); -GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue); -GLAPI void GLAPIENTRY glColor3usv (const GLushort *v); -GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); -GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v); -GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); -GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v); -GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v); -GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha); -GLAPI void GLAPIENTRY glColor4iv (const GLint *v); -GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha); -GLAPI void GLAPIENTRY glColor4sv (const GLshort *v); -GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); -GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v); -GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha); -GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v); -GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha); -GLAPI void GLAPIENTRY glColor4usv (const GLushort *v); -GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); -GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode); -GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); -GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border); -GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI void GLAPIENTRY glCullFace (GLenum mode); -GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range); -GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); -GLAPI void GLAPIENTRY glDepthFunc (GLenum func); -GLAPI void GLAPIENTRY glDepthMask (GLboolean flag); -GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar); -GLAPI void GLAPIENTRY glDisable (GLenum cap); -GLAPI void GLAPIENTRY glDisableClientState (GLenum array); -GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); -GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode); -GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); -GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); -GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag); -GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag); -GLAPI void GLAPIENTRY glEnable (GLenum cap); -GLAPI void GLAPIENTRY glEnableClientState (GLenum array); -GLAPI void GLAPIENTRY glEnd (void); -GLAPI void GLAPIENTRY glEndList (void); -GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u); -GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u); -GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u); -GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u); -GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v); -GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u); -GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v); -GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u); -GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2); -GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); -GLAPI void GLAPIENTRY glEvalPoint1 (GLint i); -GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j); -GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer); -GLAPI void GLAPIENTRY glFinish (void); -GLAPI void GLAPIENTRY glFlush (void); -GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param); -GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glFrontFace (GLenum mode); -GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); -GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range); -GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures); -GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params); -GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation); -GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params); -GLAPI GLenum GLAPIENTRY glGetError (void); -GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetLightiv (GLenum light, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetMapdv (GLenum target, GLenum query, GLdouble *v); -GLAPI void GLAPIENTRY glGetMapfv (GLenum target, GLenum query, GLfloat *v); -GLAPI void GLAPIENTRY glGetMapiv (GLenum target, GLenum query, GLint *v); -GLAPI void GLAPIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetPixelMapfv (GLenum map, GLfloat *values); -GLAPI void GLAPIENTRY glGetPixelMapuiv (GLenum map, GLuint *values); -GLAPI void GLAPIENTRY glGetPixelMapusv (GLenum map, GLushort *values); -GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, GLvoid* *params); -GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask); -GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name); -GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params); -GLAPI void GLAPIENTRY glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetTexGeniv (GLenum coord, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); -GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); -GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); -GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode); -GLAPI void GLAPIENTRY glIndexMask (GLuint mask); -GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glIndexd (GLdouble c); -GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c); -GLAPI void GLAPIENTRY glIndexf (GLfloat c); -GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c); -GLAPI void GLAPIENTRY glIndexi (GLint c); -GLAPI void GLAPIENTRY glIndexiv (const GLint *c); -GLAPI void GLAPIENTRY glIndexs (GLshort c); -GLAPI void GLAPIENTRY glIndexsv (const GLshort *c); -GLAPI void GLAPIENTRY glIndexub (GLubyte c); -GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c); -GLAPI void GLAPIENTRY glInitNames (void); -GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer); -GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap); -GLAPI GLboolean GLAPIENTRY glIsList (GLuint list); -GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture); -GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param); -GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param); -GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern); -GLAPI void GLAPIENTRY glLineWidth (GLfloat width); -GLAPI void GLAPIENTRY glListBase (GLuint base); -GLAPI void GLAPIENTRY glLoadIdentity (void); -GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m); -GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m); -GLAPI void GLAPIENTRY glLoadName (GLuint name); -GLAPI void GLAPIENTRY glLogicOp (GLenum opcode); -GLAPI void GLAPIENTRY glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); -GLAPI void GLAPIENTRY glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); -GLAPI void GLAPIENTRY glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); -GLAPI void GLAPIENTRY glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); -GLAPI void GLAPIENTRY glMapGrid1d (GLint un, GLdouble u1, GLdouble u2); -GLAPI void GLAPIENTRY glMapGrid1f (GLint un, GLfloat u1, GLfloat u2); -GLAPI void GLAPIENTRY glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); -GLAPI void GLAPIENTRY glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); -GLAPI void GLAPIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param); -GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glMatrixMode (GLenum mode); -GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m); -GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m); -GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode); -GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz); -GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v); -GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz); -GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v); -GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); -GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v); -GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz); -GLAPI void GLAPIENTRY glNormal3iv (const GLint *v); -GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz); -GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v); -GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); -GLAPI void GLAPIENTRY glPassThrough (GLfloat token); -GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values); -GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values); -GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values); -GLAPI void GLAPIENTRY glPixelStoref (GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glPixelStorei (GLenum pname, GLint param); -GLAPI void GLAPIENTRY glPixelTransferf (GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glPixelTransferi (GLenum pname, GLint param); -GLAPI void GLAPIENTRY glPixelZoom (GLfloat xfactor, GLfloat yfactor); -GLAPI void GLAPIENTRY glPointSize (GLfloat size); -GLAPI void GLAPIENTRY glPolygonMode (GLenum face, GLenum mode); -GLAPI void GLAPIENTRY glPolygonOffset (GLfloat factor, GLfloat units); -GLAPI void GLAPIENTRY glPolygonStipple (const GLubyte *mask); -GLAPI void GLAPIENTRY glPopAttrib (void); -GLAPI void GLAPIENTRY glPopClientAttrib (void); -GLAPI void GLAPIENTRY glPopMatrix (void); -GLAPI void GLAPIENTRY glPopName (void); -GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities); -GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask); -GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask); -GLAPI void GLAPIENTRY glPushMatrix (void); -GLAPI void GLAPIENTRY glPushName (GLuint name); -GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y); -GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v); -GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y); -GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v); -GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y); -GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v); -GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y); -GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v); -GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z); -GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v); -GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z); -GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v); -GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z); -GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v); -GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z); -GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v); -GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); -GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v); -GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v); -GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w); -GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v); -GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w); -GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v); -GLAPI void GLAPIENTRY glReadBuffer (GLenum mode); -GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); -GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); -GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2); -GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); -GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2); -GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2); -GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2); -GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2); -GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2); -GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode); -GLAPI void GLAPIENTRY glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z); -GLAPI void GLAPIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); -GLAPI void GLAPIENTRY glScaled (GLdouble x, GLdouble y, GLdouble z); -GLAPI void GLAPIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); -GLAPI void GLAPIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); -GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer); -GLAPI void GLAPIENTRY glShadeModel (GLenum mode); -GLAPI void GLAPIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); -GLAPI void GLAPIENTRY glStencilMask (GLuint mask); -GLAPI void GLAPIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); -GLAPI void GLAPIENTRY glTexCoord1d (GLdouble s); -GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v); -GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s); -GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v); -GLAPI void GLAPIENTRY glTexCoord1i (GLint s); -GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v); -GLAPI void GLAPIENTRY glTexCoord1s (GLshort s); -GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v); -GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t); -GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v); -GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t); -GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v); -GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t); -GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v); -GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t); -GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v); -GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r); -GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v); -GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r); -GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v); -GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r); -GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v); -GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r); -GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v); -GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q); -GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v); -GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q); -GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v); -GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q); -GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v); -GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q); -GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v); -GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); -GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param); -GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params); -GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param); -GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); -GLAPI void GLAPIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); -GLAPI void GLAPIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); -GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); -GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); -GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); -GLAPI void GLAPIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); -GLAPI void GLAPIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); -GLAPI void GLAPIENTRY glTranslated (GLdouble x, GLdouble y, GLdouble z); -GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); -GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y); -GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v); -GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y); -GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v); -GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y); -GLAPI void GLAPIENTRY glVertex2iv (const GLint *v); -GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y); -GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v); -GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z); -GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v); -GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z); -GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v); -GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z); -GLAPI void GLAPIENTRY glVertex3iv (const GLint *v); -GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z); -GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v); -GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); -GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v); -GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v); -GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w); -GLAPI void GLAPIENTRY glVertex4iv (const GLint *v); -GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w); -GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v); -GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); -GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); - -#define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1) - -#endif /* GL_VERSION_1_1 */ - -/* ---------------------------------- GLU ---------------------------------- */ - -/* this is where we can safely include GLU */ -#if defined(__APPLE__) && defined(__MACH__) -#include -#else -#include -#endif - -/* ----------------------------- GL_VERSION_1_2 ---------------------------- */ - -#ifndef GL_VERSION_1_2 -#define GL_VERSION_1_2 1 - -#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 -#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 -#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_UNSIGNED_BYTE_3_3_2 0x8032 -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_INT_8_8_8_8 0x8035 -#define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_RESCALE_NORMAL 0x803A -#define GL_TEXTURE_BINDING_3D 0x806A -#define GL_PACK_SKIP_IMAGES 0x806B -#define GL_PACK_IMAGE_HEIGHT 0x806C -#define GL_UNPACK_SKIP_IMAGES 0x806D -#define GL_UNPACK_IMAGE_HEIGHT 0x806E -#define GL_TEXTURE_3D 0x806F -#define GL_PROXY_TEXTURE_3D 0x8070 -#define GL_TEXTURE_DEPTH 0x8071 -#define GL_TEXTURE_WRAP_R 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#define GL_BGR 0x80E0 -#define GL_BGRA 0x80E1 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_TEXTURE_MIN_LOD 0x813A -#define GL_TEXTURE_MAX_LOD 0x813B -#define GL_TEXTURE_BASE_LEVEL 0x813C -#define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 -#define GL_SINGLE_COLOR 0x81F9 -#define GL_SEPARATE_SPECULAR_COLOR 0x81FA -#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 -#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 -#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_ALIASED_POINT_SIZE_RANGE 0x846D -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E - -typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); -typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); -typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); - -#define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D) -#define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements) -#define glTexImage3D GLEW_GET_FUN(__glewTexImage3D) -#define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D) - -#define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2) - -#endif /* GL_VERSION_1_2 */ - -/* ----------------------------- GL_VERSION_1_3 ---------------------------- */ - -#ifndef GL_VERSION_1_3 -#define GL_VERSION_1_3 1 - -#define GL_MULTISAMPLE 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE 0x809F -#define GL_SAMPLE_COVERAGE 0x80A0 -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB -#define GL_CLAMP_TO_BORDER 0x812D -#define GL_TEXTURE0 0x84C0 -#define GL_TEXTURE1 0x84C1 -#define GL_TEXTURE2 0x84C2 -#define GL_TEXTURE3 0x84C3 -#define GL_TEXTURE4 0x84C4 -#define GL_TEXTURE5 0x84C5 -#define GL_TEXTURE6 0x84C6 -#define GL_TEXTURE7 0x84C7 -#define GL_TEXTURE8 0x84C8 -#define GL_TEXTURE9 0x84C9 -#define GL_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_ACTIVE_TEXTURE 0x84E0 -#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 -#define GL_MAX_TEXTURE_UNITS 0x84E2 -#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 -#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 -#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 -#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 -#define GL_SUBTRACT 0x84E7 -#define GL_COMPRESSED_ALPHA 0x84E9 -#define GL_COMPRESSED_LUMINANCE 0x84EA -#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB -#define GL_COMPRESSED_INTENSITY 0x84EC -#define GL_COMPRESSED_RGB 0x84ED -#define GL_COMPRESSED_RGBA 0x84EE -#define GL_TEXTURE_COMPRESSION_HINT 0x84EF -#define GL_NORMAL_MAP 0x8511 -#define GL_REFLECTION_MAP 0x8512 -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C -#define GL_COMBINE 0x8570 -#define GL_COMBINE_RGB 0x8571 -#define GL_COMBINE_ALPHA 0x8572 -#define GL_RGB_SCALE 0x8573 -#define GL_ADD_SIGNED 0x8574 -#define GL_INTERPOLATE 0x8575 -#define GL_CONSTANT 0x8576 -#define GL_PRIMARY_COLOR 0x8577 -#define GL_PREVIOUS 0x8578 -#define GL_SOURCE0_RGB 0x8580 -#define GL_SOURCE1_RGB 0x8581 -#define GL_SOURCE2_RGB 0x8582 -#define GL_SOURCE0_ALPHA 0x8588 -#define GL_SOURCE1_ALPHA 0x8589 -#define GL_SOURCE2_ALPHA 0x858A -#define GL_OPERAND0_RGB 0x8590 -#define GL_OPERAND1_RGB 0x8591 -#define GL_OPERAND2_RGB 0x8592 -#define GL_OPERAND0_ALPHA 0x8598 -#define GL_OPERAND1_ALPHA 0x8599 -#define GL_OPERAND2_ALPHA 0x859A -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 -#define GL_TEXTURE_COMPRESSED 0x86A1 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 -#define GL_DOT3_RGB 0x86AE -#define GL_DOT3_RGBA 0x86AF -#define GL_MULTISAMPLE_BIT 0x20000000 - -typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); -typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img); -typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); -typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); -typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); -typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); - -#define glActiveTexture GLEW_GET_FUN(__glewActiveTexture) -#define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture) -#define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D) -#define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D) -#define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D) -#define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D) -#define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D) -#define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D) -#define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage) -#define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd) -#define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf) -#define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd) -#define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf) -#define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d) -#define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv) -#define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f) -#define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv) -#define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i) -#define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv) -#define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s) -#define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv) -#define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d) -#define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv) -#define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f) -#define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv) -#define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i) -#define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv) -#define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s) -#define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv) -#define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d) -#define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv) -#define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f) -#define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv) -#define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i) -#define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv) -#define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s) -#define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv) -#define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d) -#define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv) -#define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f) -#define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv) -#define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i) -#define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv) -#define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s) -#define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv) -#define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage) - -#define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3) - -#endif /* GL_VERSION_1_3 */ - -/* ----------------------------- GL_VERSION_1_4 ---------------------------- */ - -#ifndef GL_VERSION_1_4 -#define GL_VERSION_1_4 1 - -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_POINT_SIZE_MIN 0x8126 -#define GL_POINT_SIZE_MAX 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 -#define GL_POINT_DISTANCE_ATTENUATION 0x8129 -#define GL_GENERATE_MIPMAP 0x8191 -#define GL_GENERATE_MIPMAP_HINT 0x8192 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_DEPTH_COMPONENT32 0x81A7 -#define GL_MIRRORED_REPEAT 0x8370 -#define GL_FOG_COORDINATE_SOURCE 0x8450 -#define GL_FOG_COORDINATE 0x8451 -#define GL_FRAGMENT_DEPTH 0x8452 -#define GL_CURRENT_FOG_COORDINATE 0x8453 -#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 -#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 -#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 -#define GL_FOG_COORDINATE_ARRAY 0x8457 -#define GL_COLOR_SUM 0x8458 -#define GL_CURRENT_SECONDARY_COLOR 0x8459 -#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A -#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B -#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C -#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D -#define GL_SECONDARY_COLOR_ARRAY 0x845E -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD -#define GL_TEXTURE_FILTER_CONTROL 0x8500 -#define GL_TEXTURE_LOD_BIAS 0x8501 -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 -#define GL_TEXTURE_DEPTH_SIZE 0x884A -#define GL_DEPTH_TEXTURE_MODE 0x884B -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_COMPARE_R_TO_TEXTURE 0x884E - -typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); -typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); -typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); - -#define glBlendColor GLEW_GET_FUN(__glewBlendColor) -#define glBlendEquation GLEW_GET_FUN(__glewBlendEquation) -#define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate) -#define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer) -#define glFogCoordd GLEW_GET_FUN(__glewFogCoordd) -#define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv) -#define glFogCoordf GLEW_GET_FUN(__glewFogCoordf) -#define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv) -#define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays) -#define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements) -#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) -#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) -#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) -#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) -#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) -#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) -#define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d) -#define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv) -#define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f) -#define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv) -#define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i) -#define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv) -#define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s) -#define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv) -#define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub) -#define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv) -#define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui) -#define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv) -#define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us) -#define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv) -#define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer) -#define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d) -#define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv) -#define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f) -#define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv) -#define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i) -#define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv) -#define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s) -#define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv) -#define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d) -#define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv) -#define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f) -#define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv) -#define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i) -#define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv) -#define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s) -#define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv) - -#define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4) - -#endif /* GL_VERSION_1_4 */ - -/* ----------------------------- GL_VERSION_1_5 ---------------------------- */ - -#ifndef GL_VERSION_1_5 -#define GL_VERSION_1_5 1 - -#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE -#define GL_FOG_COORD GL_FOG_COORDINATE -#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY -#define GL_SRC0_RGB GL_SOURCE0_RGB -#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER -#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE -#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA -#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE -#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE -#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA -#define GL_SRC1_RGB GL_SOURCE1_RGB -#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING -#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA -#define GL_SRC2_RGB GL_SOURCE2_RGB -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 -#define GL_QUERY_COUNTER_BITS 0x8864 -#define GL_CURRENT_QUERY 0x8865 -#define GL_QUERY_RESULT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE 0x8867 -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 -#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 -#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 -#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 -#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 -#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A -#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B -#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C -#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D -#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F -#define GL_READ_ONLY 0x88B8 -#define GL_WRITE_ONLY 0x88B9 -#define GL_READ_WRITE 0x88BA -#define GL_BUFFER_ACCESS 0x88BB -#define GL_BUFFER_MAPPED 0x88BC -#define GL_BUFFER_MAP_POINTER 0x88BD -#define GL_STREAM_DRAW 0x88E0 -#define GL_STREAM_READ 0x88E1 -#define GL_STREAM_COPY 0x88E2 -#define GL_STATIC_DRAW 0x88E4 -#define GL_STATIC_READ 0x88E5 -#define GL_STATIC_COPY 0x88E6 -#define GL_DYNAMIC_DRAW 0x88E8 -#define GL_DYNAMIC_READ 0x88E9 -#define GL_DYNAMIC_COPY 0x88EA -#define GL_SAMPLES_PASSED 0x8914 - -typedef ptrdiff_t GLsizeiptr; -typedef ptrdiff_t GLintptr; - -typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); -typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); -typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); -typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids); -typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); -typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids); -typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid** params); -typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data); -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); -typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); -typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); -typedef GLvoid* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); -typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target); - -#define glBeginQuery GLEW_GET_FUN(__glewBeginQuery) -#define glBindBuffer GLEW_GET_FUN(__glewBindBuffer) -#define glBufferData GLEW_GET_FUN(__glewBufferData) -#define glBufferSubData GLEW_GET_FUN(__glewBufferSubData) -#define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers) -#define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries) -#define glEndQuery GLEW_GET_FUN(__glewEndQuery) -#define glGenBuffers GLEW_GET_FUN(__glewGenBuffers) -#define glGenQueries GLEW_GET_FUN(__glewGenQueries) -#define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv) -#define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv) -#define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData) -#define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv) -#define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv) -#define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv) -#define glIsBuffer GLEW_GET_FUN(__glewIsBuffer) -#define glIsQuery GLEW_GET_FUN(__glewIsQuery) -#define glMapBuffer GLEW_GET_FUN(__glewMapBuffer) -#define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer) - -#define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5) - -#endif /* GL_VERSION_1_5 */ - -/* ----------------------------- GL_VERSION_2_0 ---------------------------- */ - -#ifndef GL_VERSION_2_0 -#define GL_VERSION_2_0 1 - -#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 -#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_POINT_SPRITE 0x8861 -#define GL_COORD_REPLACE 0x8862 -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_MAX_TEXTURE_COORDS 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_MAX_VARYING_FLOATS 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_SHADER_TYPE 0x8B4F -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_SAMPLER_1D 0x8B5D -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_3D 0x8B5F -#define GL_SAMPLER_CUBE 0x8B60 -#define GL_SAMPLER_1D_SHADOW 0x8B61 -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#define GL_DELETE_STATUS 0x8B80 -#define GL_COMPILE_STATUS 0x8B81 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 - -typedef char GLchar; - -typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); -typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); -typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum); -typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); -typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); -typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); -typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); -typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); -typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); -typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); -typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); -typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint); -typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); -typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); -typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); -typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source); -typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); -typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*); -typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); -typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); -typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); -typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths); -typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint); -typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); -typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); -typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); -typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); -typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); -typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); -typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); -typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); -typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); -typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); -typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer); - -#define glAttachShader GLEW_GET_FUN(__glewAttachShader) -#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation) -#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate) -#define glCompileShader GLEW_GET_FUN(__glewCompileShader) -#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram) -#define glCreateShader GLEW_GET_FUN(__glewCreateShader) -#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram) -#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader) -#define glDetachShader GLEW_GET_FUN(__glewDetachShader) -#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray) -#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers) -#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray) -#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib) -#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform) -#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders) -#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation) -#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog) -#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv) -#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog) -#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource) -#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv) -#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation) -#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv) -#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv) -#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv) -#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv) -#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv) -#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv) -#define glIsProgram GLEW_GET_FUN(__glewIsProgram) -#define glIsShader GLEW_GET_FUN(__glewIsShader) -#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram) -#define glShaderSource GLEW_GET_FUN(__glewShaderSource) -#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate) -#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate) -#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate) -#define glUniform1f GLEW_GET_FUN(__glewUniform1f) -#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv) -#define glUniform1i GLEW_GET_FUN(__glewUniform1i) -#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv) -#define glUniform2f GLEW_GET_FUN(__glewUniform2f) -#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv) -#define glUniform2i GLEW_GET_FUN(__glewUniform2i) -#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv) -#define glUniform3f GLEW_GET_FUN(__glewUniform3f) -#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv) -#define glUniform3i GLEW_GET_FUN(__glewUniform3i) -#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv) -#define glUniform4f GLEW_GET_FUN(__glewUniform4f) -#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv) -#define glUniform4i GLEW_GET_FUN(__glewUniform4i) -#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv) -#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv) -#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv) -#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv) -#define glUseProgram GLEW_GET_FUN(__glewUseProgram) -#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram) -#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d) -#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv) -#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f) -#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv) -#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s) -#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv) -#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d) -#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv) -#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f) -#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv) -#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s) -#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv) -#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d) -#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv) -#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f) -#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv) -#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s) -#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv) -#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv) -#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv) -#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv) -#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub) -#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv) -#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv) -#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv) -#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv) -#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d) -#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv) -#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f) -#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv) -#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv) -#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s) -#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv) -#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv) -#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv) -#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv) -#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer) - -#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) - -#endif /* GL_VERSION_2_0 */ - -/* ----------------------------- GL_VERSION_2_1 ---------------------------- */ - -#ifndef GL_VERSION_2_1 -#define GL_VERSION_2_1 1 - -#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#define GL_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB_ALPHA 0x8C42 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_SLUMINANCE_ALPHA 0x8C44 -#define GL_SLUMINANCE8_ALPHA8 0x8C45 -#define GL_SLUMINANCE 0x8C46 -#define GL_SLUMINANCE8 0x8C47 -#define GL_COMPRESSED_SRGB 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 -#define GL_COMPRESSED_SLUMINANCE 0x8C4A -#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B - -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv) -#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv) -#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv) -#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv) -#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv) -#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv) - -#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1) - -#endif /* GL_VERSION_2_1 */ - -/* ----------------------------- GL_VERSION_3_0 ---------------------------- */ - -#ifndef GL_VERSION_3_0 -#define GL_VERSION_3_0 1 - -#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES -#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5 -#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 -#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3 -#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB -#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 -#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4 -#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2 -#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS -#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 -#define GL_MAJOR_VERSION 0x821B -#define GL_MINOR_VERSION 0x821C -#define GL_NUM_EXTENSIONS 0x821D -#define GL_CONTEXT_FLAGS 0x821E -#define GL_DEPTH_BUFFER 0x8223 -#define GL_STENCIL_BUFFER 0x8224 -#define GL_COMPRESSED_RED 0x8225 -#define GL_COMPRESSED_RG 0x8226 -#define GL_RGBA32F 0x8814 -#define GL_RGB32F 0x8815 -#define GL_RGBA16F 0x881A -#define GL_RGB16F 0x881B -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD -#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF -#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 -#define GL_CLAMP_VERTEX_COLOR 0x891A -#define GL_CLAMP_FRAGMENT_COLOR 0x891B -#define GL_CLAMP_READ_COLOR 0x891C -#define GL_FIXED_ONLY 0x891D -#define GL_TEXTURE_RED_TYPE 0x8C10 -#define GL_TEXTURE_GREEN_TYPE 0x8C11 -#define GL_TEXTURE_BLUE_TYPE 0x8C12 -#define GL_TEXTURE_ALPHA_TYPE 0x8C13 -#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 -#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 -#define GL_TEXTURE_DEPTH_TYPE 0x8C16 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_TEXTURE_1D_ARRAY 0x8C18 -#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 -#define GL_TEXTURE_2D_ARRAY 0x8C1A -#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B -#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D -#define GL_R11F_G11F_B10F 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B -#define GL_RGB9_E5 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E -#define GL_TEXTURE_SHARED_SIZE 0x8C3F -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 -#define GL_PRIMITIVES_GENERATED 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 -#define GL_RASTERIZER_DISCARD 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B -#define GL_INTERLEAVED_ATTRIBS 0x8C8C -#define GL_SEPARATE_ATTRIBS 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F -#define GL_RGBA32UI 0x8D70 -#define GL_RGB32UI 0x8D71 -#define GL_RGBA16UI 0x8D76 -#define GL_RGB16UI 0x8D77 -#define GL_RGBA8UI 0x8D7C -#define GL_RGB8UI 0x8D7D -#define GL_RGBA32I 0x8D82 -#define GL_RGB32I 0x8D83 -#define GL_RGBA16I 0x8D88 -#define GL_RGB16I 0x8D89 -#define GL_RGBA8I 0x8D8E -#define GL_RGB8I 0x8D8F -#define GL_RED_INTEGER 0x8D94 -#define GL_GREEN_INTEGER 0x8D95 -#define GL_BLUE_INTEGER 0x8D96 -#define GL_ALPHA_INTEGER 0x8D97 -#define GL_RGB_INTEGER 0x8D98 -#define GL_RGBA_INTEGER 0x8D99 -#define GL_BGR_INTEGER 0x8D9A -#define GL_BGRA_INTEGER 0x8D9B -#define GL_SAMPLER_1D_ARRAY 0x8DC0 -#define GL_SAMPLER_2D_ARRAY 0x8DC1 -#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 -#define GL_UNSIGNED_INT_VEC2 0x8DC6 -#define GL_UNSIGNED_INT_VEC3 0x8DC7 -#define GL_UNSIGNED_INT_VEC4 0x8DC8 -#define GL_INT_SAMPLER_1D 0x8DC9 -#define GL_INT_SAMPLER_2D 0x8DCA -#define GL_INT_SAMPLER_3D 0x8DCB -#define GL_INT_SAMPLER_CUBE 0x8DCC -#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF -#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 -#define GL_QUERY_WAIT 0x8E13 -#define GL_QUERY_NO_WAIT 0x8E14 -#define GL_QUERY_BY_REGION_WAIT 0x8E15 -#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 - -typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum); -typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); -typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*); -typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum); -typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint); -typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*); -typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*); -typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*); -typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint); -typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint); -typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void); -typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void); -typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*); -typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*); -typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum, GLuint, GLint*); -typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint); -typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*); -typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*); -typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLint*); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*); -typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint); -typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*); -typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*); -typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLint*, GLenum); -typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint); -typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*); -typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*); -typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*); -typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*); - -#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender) -#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback) -#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase) -#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange) -#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation) -#define glClampColor GLEW_GET_FUN(__glewClampColor) -#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi) -#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv) -#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv) -#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv) -#define glColorMaski GLEW_GET_FUN(__glewColorMaski) -#define glDisablei GLEW_GET_FUN(__glewDisablei) -#define glEnablei GLEW_GET_FUN(__glewEnablei) -#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender) -#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback) -#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v) -#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation) -#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v) -#define glGetStringi GLEW_GET_FUN(__glewGetStringi) -#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv) -#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv) -#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying) -#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv) -#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv) -#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv) -#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi) -#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv) -#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv) -#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings) -#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui) -#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv) -#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui) -#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv) -#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui) -#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv) -#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui) -#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv) -#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i) -#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv) -#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui) -#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv) -#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i) -#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv) -#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui) -#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv) -#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i) -#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv) -#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui) -#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv) -#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv) -#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i) -#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv) -#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv) -#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv) -#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui) -#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv) -#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv) -#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer) - -#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0) - -#endif /* GL_VERSION_3_0 */ - -/* -------------------------- GL_3DFX_multisample -------------------------- */ - -#ifndef GL_3DFX_multisample -#define GL_3DFX_multisample 1 - -#define GL_MULTISAMPLE_3DFX 0x86B2 -#define GL_SAMPLE_BUFFERS_3DFX 0x86B3 -#define GL_SAMPLES_3DFX 0x86B4 -#define GL_MULTISAMPLE_BIT_3DFX 0x20000000 - -#define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample) - -#endif /* GL_3DFX_multisample */ - -/* ---------------------------- GL_3DFX_tbuffer ---------------------------- */ - -#ifndef GL_3DFX_tbuffer -#define GL_3DFX_tbuffer 1 - -typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); - -#define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX) - -#define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer) - -#endif /* GL_3DFX_tbuffer */ - -/* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */ - -#ifndef GL_3DFX_texture_compression_FXT1 -#define GL_3DFX_texture_compression_FXT1 1 - -#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 -#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 - -#define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1) - -#endif /* GL_3DFX_texture_compression_FXT1 */ - -/* ------------------------ GL_APPLE_client_storage ------------------------ */ - -#ifndef GL_APPLE_client_storage -#define GL_APPLE_client_storage 1 - -#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 - -#define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage) - -#endif /* GL_APPLE_client_storage */ - -/* ------------------------- GL_APPLE_element_array ------------------------ */ - -#ifndef GL_APPLE_element_array -#define GL_APPLE_element_array 1 - -#define GL_ELEMENT_ARRAY_APPLE 0x8768 -#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8769 -#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x876A - -typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); -typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); -typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void* pointer); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount); - -#define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE) -#define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE) -#define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE) -#define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE) -#define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE) - -#define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array) - -#endif /* GL_APPLE_element_array */ - -/* ----------------------------- GL_APPLE_fence ---------------------------- */ - -#ifndef GL_APPLE_fence -#define GL_APPLE_fence 1 - -#define GL_DRAW_PIXELS_APPLE 0x8A0A -#define GL_FENCE_APPLE 0x8A0B - -typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences); -typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence); -typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); -typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences); -typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence); -typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence); -typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence); -typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); - -#define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE) -#define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE) -#define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE) -#define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE) -#define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE) -#define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE) -#define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE) -#define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE) - -#define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence) - -#endif /* GL_APPLE_fence */ - -/* ------------------------- GL_APPLE_float_pixels ------------------------- */ - -#ifndef GL_APPLE_float_pixels -#define GL_APPLE_float_pixels 1 - -#define GL_HALF_APPLE 0x140B -#define GL_RGBA_FLOAT32_APPLE 0x8814 -#define GL_RGB_FLOAT32_APPLE 0x8815 -#define GL_ALPHA_FLOAT32_APPLE 0x8816 -#define GL_INTENSITY_FLOAT32_APPLE 0x8817 -#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 -#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 -#define GL_RGBA_FLOAT16_APPLE 0x881A -#define GL_RGB_FLOAT16_APPLE 0x881B -#define GL_ALPHA_FLOAT16_APPLE 0x881C -#define GL_INTENSITY_FLOAT16_APPLE 0x881D -#define GL_LUMINANCE_FLOAT16_APPLE 0x881E -#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F -#define GL_COLOR_FLOAT_APPLE 0x8A0F - -#define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels) - -#endif /* GL_APPLE_float_pixels */ - -/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ - -#ifndef GL_APPLE_flush_buffer_range -#define GL_APPLE_flush_buffer_range 1 - -#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 -#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 - -typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); - -#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) -#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) - -#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) - -#endif /* GL_APPLE_flush_buffer_range */ - -/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ - -#ifndef GL_APPLE_pixel_buffer -#define GL_APPLE_pixel_buffer 1 - -#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 - -#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer) - -#endif /* GL_APPLE_pixel_buffer */ - -/* ------------------------ GL_APPLE_specular_vector ----------------------- */ - -#ifndef GL_APPLE_specular_vector -#define GL_APPLE_specular_vector 1 - -#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 - -#define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector) - -#endif /* GL_APPLE_specular_vector */ - -/* ------------------------- GL_APPLE_texture_range ------------------------ */ - -#ifndef GL_APPLE_texture_range -#define GL_APPLE_texture_range 1 - -#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 -#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 -#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC -#define GL_STORAGE_PRIVATE_APPLE 0x85BD -#define GL_STORAGE_CACHED_APPLE 0x85BE -#define GL_STORAGE_SHARED_APPLE 0x85BF - -typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params); -typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer); - -#define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE) -#define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE) - -#define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range) - -#endif /* GL_APPLE_texture_range */ - -/* ------------------------ GL_APPLE_transform_hint ------------------------ */ - -#ifndef GL_APPLE_transform_hint -#define GL_APPLE_transform_hint 1 - -#define GL_TRANSFORM_HINT_APPLE 0x85B1 - -#define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint) - -#endif /* GL_APPLE_transform_hint */ - -/* ---------------------- GL_APPLE_vertex_array_object --------------------- */ - -#ifndef GL_APPLE_vertex_array_object -#define GL_APPLE_vertex_array_object 1 - -#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 - -typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); -typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); -typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); -typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); - -#define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE) -#define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE) -#define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE) -#define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE) - -#define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object) - -#endif /* GL_APPLE_vertex_array_object */ - -/* ---------------------- GL_APPLE_vertex_array_range ---------------------- */ - -#ifndef GL_APPLE_vertex_array_range -#define GL_APPLE_vertex_array_range 1 - -#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D -#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E -#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F -#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520 -#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 -#define GL_STORAGE_CACHED_APPLE 0x85BE -#define GL_STORAGE_SHARED_APPLE 0x85BF - -typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer); -typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer); - -#define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE) -#define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE) -#define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE) - -#define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range) - -#endif /* GL_APPLE_vertex_array_range */ - -/* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */ - -#ifndef GL_APPLE_ycbcr_422 -#define GL_APPLE_ycbcr_422 1 - -#define GL_YCBCR_422_APPLE 0x85B9 -#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB - -#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422) - -#endif /* GL_APPLE_ycbcr_422 */ - -/* ----------------------- GL_ARB_color_buffer_float ----------------------- */ - -#ifndef GL_ARB_color_buffer_float -#define GL_ARB_color_buffer_float 1 - -#define GL_RGBA_FLOAT_MODE_ARB 0x8820 -#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A -#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B -#define GL_CLAMP_READ_COLOR_ARB 0x891C -#define GL_FIXED_ONLY_ARB 0x891D - -typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); - -#define glClampColorARB GLEW_GET_FUN(__glewClampColorARB) - -#define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float) - -#endif /* GL_ARB_color_buffer_float */ - -/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */ - -#ifndef GL_ARB_depth_buffer_float -#define GL_ARB_depth_buffer_float 1 - -#define GL_DEPTH_COMPONENT32F 0x8CAC -#define GL_DEPTH32F_STENCIL8 0x8CAD -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD - -#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float) - -#endif /* GL_ARB_depth_buffer_float */ - -/* -------------------------- GL_ARB_depth_texture ------------------------- */ - -#ifndef GL_ARB_depth_texture -#define GL_ARB_depth_texture 1 - -#define GL_DEPTH_COMPONENT16_ARB 0x81A5 -#define GL_DEPTH_COMPONENT24_ARB 0x81A6 -#define GL_DEPTH_COMPONENT32_ARB 0x81A7 -#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A -#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B - -#define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture) - -#endif /* GL_ARB_depth_texture */ - -/* -------------------------- GL_ARB_draw_buffers -------------------------- */ - -#ifndef GL_ARB_draw_buffers -#define GL_ARB_draw_buffers 1 - -#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 -#define GL_DRAW_BUFFER0_ARB 0x8825 -#define GL_DRAW_BUFFER1_ARB 0x8826 -#define GL_DRAW_BUFFER2_ARB 0x8827 -#define GL_DRAW_BUFFER3_ARB 0x8828 -#define GL_DRAW_BUFFER4_ARB 0x8829 -#define GL_DRAW_BUFFER5_ARB 0x882A -#define GL_DRAW_BUFFER6_ARB 0x882B -#define GL_DRAW_BUFFER7_ARB 0x882C -#define GL_DRAW_BUFFER8_ARB 0x882D -#define GL_DRAW_BUFFER9_ARB 0x882E -#define GL_DRAW_BUFFER10_ARB 0x882F -#define GL_DRAW_BUFFER11_ARB 0x8830 -#define GL_DRAW_BUFFER12_ARB 0x8831 -#define GL_DRAW_BUFFER13_ARB 0x8832 -#define GL_DRAW_BUFFER14_ARB 0x8833 -#define GL_DRAW_BUFFER15_ARB 0x8834 - -typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs); - -#define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB) - -#define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers) - -#endif /* GL_ARB_draw_buffers */ - -/* ------------------------- GL_ARB_draw_instanced ------------------------- */ - -#ifndef GL_ARB_draw_instanced -#define GL_ARB_draw_instanced 1 - -typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); - -#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB) -#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB) - -#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced) - -#endif /* GL_ARB_draw_instanced */ - -/* ------------------------ GL_ARB_fragment_program ------------------------ */ - -#ifndef GL_ARB_fragment_program -#define GL_ARB_fragment_program 1 - -#define GL_FRAGMENT_PROGRAM_ARB 0x8804 -#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 -#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 -#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 -#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 -#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 -#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A -#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B -#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C -#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D -#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E -#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F -#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 -#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 - -#define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program) - -#endif /* GL_ARB_fragment_program */ - -/* --------------------- GL_ARB_fragment_program_shadow -------------------- */ - -#ifndef GL_ARB_fragment_program_shadow -#define GL_ARB_fragment_program_shadow 1 - -#define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow) - -#endif /* GL_ARB_fragment_program_shadow */ - -/* ------------------------- GL_ARB_fragment_shader ------------------------ */ - -#ifndef GL_ARB_fragment_shader -#define GL_ARB_fragment_shader 1 - -#define GL_FRAGMENT_SHADER_ARB 0x8B30 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B - -#define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader) - -#endif /* GL_ARB_fragment_shader */ - -/* ----------------------- GL_ARB_framebuffer_object ----------------------- */ - -#ifndef GL_ARB_framebuffer_object -#define GL_ARB_framebuffer_object 1 - -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 -#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 -#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 -#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 -#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 -#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 -#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 -#define GL_FRAMEBUFFER_DEFAULT 0x8218 -#define GL_FRAMEBUFFER_UNDEFINED 0x8219 -#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A -#define GL_INDEX 0x8222 -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 -#define GL_DEPTH_STENCIL 0x84F9 -#define GL_UNSIGNED_INT_24_8 0x84FA -#define GL_DEPTH24_STENCIL8 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE 0x88F1 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_SRGB 0x8C40 -#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_DRAW_FRAMEBUFFER 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA -#define GL_RENDERBUFFER_SAMPLES 0x8CAB -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD -#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_COLOR_ATTACHMENT1 0x8CE1 -#define GL_COLOR_ATTACHMENT2 0x8CE2 -#define GL_COLOR_ATTACHMENT3 0x8CE3 -#define GL_COLOR_ATTACHMENT4 0x8CE4 -#define GL_COLOR_ATTACHMENT5 0x8CE5 -#define GL_COLOR_ATTACHMENT6 0x8CE6 -#define GL_COLOR_ATTACHMENT7 0x8CE7 -#define GL_COLOR_ATTACHMENT8 0x8CE8 -#define GL_COLOR_ATTACHMENT9 0x8CE9 -#define GL_COLOR_ATTACHMENT10 0x8CEA -#define GL_COLOR_ATTACHMENT11 0x8CEB -#define GL_COLOR_ATTACHMENT12 0x8CEC -#define GL_COLOR_ATTACHMENT13 0x8CED -#define GL_COLOR_ATTACHMENT14 0x8CEE -#define GL_COLOR_ATTACHMENT15 0x8CEF -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_STENCIL_ATTACHMENT 0x8D20 -#define GL_FRAMEBUFFER 0x8D40 -#define GL_RENDERBUFFER 0x8D41 -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_STENCIL_INDEX1 0x8D46 -#define GL_STENCIL_INDEX4 0x8D47 -#define GL_STENCIL_INDEX8 0x8D48 -#define GL_STENCIL_INDEX16 0x8D49 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 -#define GL_MAX_SAMPLES 0x8D57 - -typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); -typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers); -typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURLAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer); -typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); -typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); -typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); -typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - -#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer) -#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer) -#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer) -#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus) -#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers) -#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers) -#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer) -#define glFramebufferTexturLayer GLEW_GET_FUN(__glewFramebufferTexturLayer) -#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D) -#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D) -#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D) -#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) -#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers) -#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap) -#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv) -#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv) -#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer) -#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer) -#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage) -#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample) - -#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object) - -#endif /* GL_ARB_framebuffer_object */ - -/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */ - -#ifndef GL_ARB_framebuffer_sRGB -#define GL_ARB_framebuffer_sRGB 1 - -#define GL_FRAMEBUFFER_SRGB 0x8DB9 - -#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB) - -#endif /* GL_ARB_framebuffer_sRGB */ - -/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */ - -#ifndef GL_ARB_geometry_shader4 -#define GL_ARB_geometry_shader4 1 - -#define GL_LINES_ADJACENCY_ARB 0xA -#define GL_LINE_STRIP_ADJACENCY_ARB 0xB -#define GL_TRIANGLES_ADJACENCY_ARB 0xC -#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD -#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 -#define GL_GEOMETRY_SHADER_ARB 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA -#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB -#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC -#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD -#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 - -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); - -#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB) -#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB) -#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB) -#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB) - -#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4) - -#endif /* GL_ARB_geometry_shader4 */ - -/* ------------------------ GL_ARB_half_float_pixel ------------------------ */ - -#ifndef GL_ARB_half_float_pixel -#define GL_ARB_half_float_pixel 1 - -#define GL_HALF_FLOAT_ARB 0x140B - -#define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel) - -#endif /* GL_ARB_half_float_pixel */ - -/* ------------------------ GL_ARB_half_float_vertex ----------------------- */ - -#ifndef GL_ARB_half_float_vertex -#define GL_ARB_half_float_vertex 1 - -#define GL_HALF_FLOAT 0x140B - -#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex) - -#endif /* GL_ARB_half_float_vertex */ - -/* ----------------------------- GL_ARB_imaging ---------------------------- */ - -#ifndef GL_ARB_imaging -#define GL_ARB_imaging 1 - -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_BLEND_COLOR 0x8005 -#define GL_FUNC_ADD 0x8006 -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 -#define GL_BLEND_EQUATION 0x8009 -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#define GL_CONVOLUTION_1D 0x8010 -#define GL_CONVOLUTION_2D 0x8011 -#define GL_SEPARABLE_2D 0x8012 -#define GL_CONVOLUTION_BORDER_MODE 0x8013 -#define GL_CONVOLUTION_FILTER_SCALE 0x8014 -#define GL_CONVOLUTION_FILTER_BIAS 0x8015 -#define GL_REDUCE 0x8016 -#define GL_CONVOLUTION_FORMAT 0x8017 -#define GL_CONVOLUTION_WIDTH 0x8018 -#define GL_CONVOLUTION_HEIGHT 0x8019 -#define GL_MAX_CONVOLUTION_WIDTH 0x801A -#define GL_MAX_CONVOLUTION_HEIGHT 0x801B -#define GL_POST_CONVOLUTION_RED_SCALE 0x801C -#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D -#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E -#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F -#define GL_POST_CONVOLUTION_RED_BIAS 0x8020 -#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 -#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 -#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 -#define GL_HISTOGRAM 0x8024 -#define GL_PROXY_HISTOGRAM 0x8025 -#define GL_HISTOGRAM_WIDTH 0x8026 -#define GL_HISTOGRAM_FORMAT 0x8027 -#define GL_HISTOGRAM_RED_SIZE 0x8028 -#define GL_HISTOGRAM_GREEN_SIZE 0x8029 -#define GL_HISTOGRAM_BLUE_SIZE 0x802A -#define GL_HISTOGRAM_ALPHA_SIZE 0x802B -#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C -#define GL_HISTOGRAM_SINK 0x802D -#define GL_MINMAX 0x802E -#define GL_MINMAX_FORMAT 0x802F -#define GL_MINMAX_SINK 0x8030 -#define GL_TABLE_TOO_LARGE 0x8031 -#define GL_COLOR_MATRIX 0x80B1 -#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 -#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 -#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 -#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 -#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 -#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 -#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 -#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 -#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA -#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB -#define GL_COLOR_TABLE 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 -#define GL_PROXY_COLOR_TABLE 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 -#define GL_COLOR_TABLE_SCALE 0x80D6 -#define GL_COLOR_TABLE_BIAS 0x80D7 -#define GL_COLOR_TABLE_FORMAT 0x80D8 -#define GL_COLOR_TABLE_WIDTH 0x80D9 -#define GL_COLOR_TABLE_RED_SIZE 0x80DA -#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB -#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC -#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD -#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE -#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF -#define GL_IGNORE_BORDER 0x8150 -#define GL_CONSTANT_BORDER 0x8151 -#define GL_WRAP_BORDER 0x8152 -#define GL_REPLICATE_BORDER 0x8153 -#define GL_CONVOLUTION_BORDER_COLOR 0x8154 - -typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); -typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); -typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); -typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); -typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values); -typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); -typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); -typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); -typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); - -#define glColorSubTable GLEW_GET_FUN(__glewColorSubTable) -#define glColorTable GLEW_GET_FUN(__glewColorTable) -#define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv) -#define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv) -#define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D) -#define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D) -#define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf) -#define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv) -#define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri) -#define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv) -#define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable) -#define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable) -#define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D) -#define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D) -#define glGetColorTable GLEW_GET_FUN(__glewGetColorTable) -#define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv) -#define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv) -#define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter) -#define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv) -#define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv) -#define glGetHistogram GLEW_GET_FUN(__glewGetHistogram) -#define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv) -#define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv) -#define glGetMinmax GLEW_GET_FUN(__glewGetMinmax) -#define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv) -#define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv) -#define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter) -#define glHistogram GLEW_GET_FUN(__glewHistogram) -#define glMinmax GLEW_GET_FUN(__glewMinmax) -#define glResetHistogram GLEW_GET_FUN(__glewResetHistogram) -#define glResetMinmax GLEW_GET_FUN(__glewResetMinmax) -#define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D) - -#define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging) - -#endif /* GL_ARB_imaging */ - -/* ------------------------ GL_ARB_instanced_arrays ------------------------ */ - -#ifndef GL_ARB_instanced_arrays -#define GL_ARB_instanced_arrays 1 - -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE - -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); - -#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB) - -#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays) - -#endif /* GL_ARB_instanced_arrays */ - -/* ------------------------ GL_ARB_map_buffer_range ------------------------ */ - -#ifndef GL_ARB_map_buffer_range -#define GL_ARB_map_buffer_range 1 - -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 - -typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); -typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - -#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange) -#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange) - -#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range) - -#endif /* GL_ARB_map_buffer_range */ - -/* ------------------------- GL_ARB_matrix_palette ------------------------- */ - -#ifndef GL_ARB_matrix_palette -#define GL_ARB_matrix_palette 1 - -#define GL_MATRIX_PALETTE_ARB 0x8840 -#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 -#define GL_MAX_PALETTE_MATRICES_ARB 0x8842 -#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 -#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 -#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 -#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 -#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 -#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 -#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 - -typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); -typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); -typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices); -typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices); -typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices); - -#define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB) -#define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB) -#define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB) -#define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB) -#define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB) - -#define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette) - -#endif /* GL_ARB_matrix_palette */ - -/* --------------------------- GL_ARB_multisample -------------------------- */ - -#ifndef GL_ARB_multisample -#define GL_ARB_multisample 1 - -#define GL_MULTISAMPLE_ARB 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F -#define GL_SAMPLE_COVERAGE_ARB 0x80A0 -#define GL_SAMPLE_BUFFERS_ARB 0x80A8 -#define GL_SAMPLES_ARB 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB -#define GL_MULTISAMPLE_BIT_ARB 0x20000000 - -typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); - -#define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB) - -#define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample) - -#endif /* GL_ARB_multisample */ - -/* -------------------------- GL_ARB_multitexture -------------------------- */ - -#ifndef GL_ARB_multitexture -#define GL_ARB_multitexture 1 - -#define GL_TEXTURE0_ARB 0x84C0 -#define GL_TEXTURE1_ARB 0x84C1 -#define GL_TEXTURE2_ARB 0x84C2 -#define GL_TEXTURE3_ARB 0x84C3 -#define GL_TEXTURE4_ARB 0x84C4 -#define GL_TEXTURE5_ARB 0x84C5 -#define GL_TEXTURE6_ARB 0x84C6 -#define GL_TEXTURE7_ARB 0x84C7 -#define GL_TEXTURE8_ARB 0x84C8 -#define GL_TEXTURE9_ARB 0x84C9 -#define GL_TEXTURE10_ARB 0x84CA -#define GL_TEXTURE11_ARB 0x84CB -#define GL_TEXTURE12_ARB 0x84CC -#define GL_TEXTURE13_ARB 0x84CD -#define GL_TEXTURE14_ARB 0x84CE -#define GL_TEXTURE15_ARB 0x84CF -#define GL_TEXTURE16_ARB 0x84D0 -#define GL_TEXTURE17_ARB 0x84D1 -#define GL_TEXTURE18_ARB 0x84D2 -#define GL_TEXTURE19_ARB 0x84D3 -#define GL_TEXTURE20_ARB 0x84D4 -#define GL_TEXTURE21_ARB 0x84D5 -#define GL_TEXTURE22_ARB 0x84D6 -#define GL_TEXTURE23_ARB 0x84D7 -#define GL_TEXTURE24_ARB 0x84D8 -#define GL_TEXTURE25_ARB 0x84D9 -#define GL_TEXTURE26_ARB 0x84DA -#define GL_TEXTURE27_ARB 0x84DB -#define GL_TEXTURE28_ARB 0x84DC -#define GL_TEXTURE29_ARB 0x84DD -#define GL_TEXTURE30_ARB 0x84DE -#define GL_TEXTURE31_ARB 0x84DF -#define GL_ACTIVE_TEXTURE_ARB 0x84E0 -#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 -#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 - -typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); - -#define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB) -#define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB) -#define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB) -#define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB) -#define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB) -#define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB) -#define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB) -#define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB) -#define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB) -#define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB) -#define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB) -#define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB) -#define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB) -#define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB) -#define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB) -#define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB) -#define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB) -#define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB) -#define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB) -#define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB) -#define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB) -#define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB) -#define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB) -#define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB) -#define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB) -#define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB) -#define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB) -#define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB) -#define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB) -#define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB) -#define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB) -#define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB) -#define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB) -#define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB) - -#define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture) - -#endif /* GL_ARB_multitexture */ - -/* ------------------------- GL_ARB_occlusion_query ------------------------ */ - -#ifndef GL_ARB_occlusion_query -#define GL_ARB_occlusion_query 1 - -#define GL_QUERY_COUNTER_BITS_ARB 0x8864 -#define GL_CURRENT_QUERY_ARB 0x8865 -#define GL_QUERY_RESULT_ARB 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 -#define GL_SAMPLES_PASSED_ARB 0x8914 - -typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); -typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids); -typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids); -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params); -typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); - -#define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB) -#define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB) -#define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB) -#define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB) -#define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB) -#define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB) -#define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB) -#define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB) - -#define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query) - -#endif /* GL_ARB_occlusion_query */ - -/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ - -#ifndef GL_ARB_pixel_buffer_object -#define GL_ARB_pixel_buffer_object 1 - -#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB -#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF - -#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object) - -#endif /* GL_ARB_pixel_buffer_object */ - -/* ------------------------ GL_ARB_point_parameters ------------------------ */ - -#ifndef GL_ARB_point_parameters -#define GL_ARB_point_parameters 1 - -#define GL_POINT_SIZE_MIN_ARB 0x8126 -#define GL_POINT_SIZE_MAX_ARB 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 -#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 - -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* params); - -#define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB) -#define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB) - -#define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters) - -#endif /* GL_ARB_point_parameters */ - -/* -------------------------- GL_ARB_point_sprite -------------------------- */ - -#ifndef GL_ARB_point_sprite -#define GL_ARB_point_sprite 1 - -#define GL_POINT_SPRITE_ARB 0x8861 -#define GL_COORD_REPLACE_ARB 0x8862 - -#define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite) - -#endif /* GL_ARB_point_sprite */ - -/* ------------------------- GL_ARB_shader_objects ------------------------- */ - -#ifndef GL_ARB_shader_objects -#define GL_ARB_shader_objects 1 - -#define GL_PROGRAM_OBJECT_ARB 0x8B40 -#define GL_SHADER_OBJECT_ARB 0x8B48 -#define GL_OBJECT_TYPE_ARB 0x8B4E -#define GL_OBJECT_SUBTYPE_ARB 0x8B4F -#define GL_FLOAT_VEC2_ARB 0x8B50 -#define GL_FLOAT_VEC3_ARB 0x8B51 -#define GL_FLOAT_VEC4_ARB 0x8B52 -#define GL_INT_VEC2_ARB 0x8B53 -#define GL_INT_VEC3_ARB 0x8B54 -#define GL_INT_VEC4_ARB 0x8B55 -#define GL_BOOL_ARB 0x8B56 -#define GL_BOOL_VEC2_ARB 0x8B57 -#define GL_BOOL_VEC3_ARB 0x8B58 -#define GL_BOOL_VEC4_ARB 0x8B59 -#define GL_FLOAT_MAT2_ARB 0x8B5A -#define GL_FLOAT_MAT3_ARB 0x8B5B -#define GL_FLOAT_MAT4_ARB 0x8B5C -#define GL_SAMPLER_1D_ARB 0x8B5D -#define GL_SAMPLER_2D_ARB 0x8B5E -#define GL_SAMPLER_3D_ARB 0x8B5F -#define GL_SAMPLER_CUBE_ARB 0x8B60 -#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 -#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 -#define GL_SAMPLER_2D_RECT_ARB 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 -#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 -#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 -#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 -#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 -#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 -#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 -#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 -#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 -#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 - -typedef char GLcharARB; -typedef unsigned int GLhandleARB; - -typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); -typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); -typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void); -typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); -typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); -typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); -typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); -typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj); -typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname); -typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog); -typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source); -typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params); -typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); -typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length); -typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); -typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); -typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); -typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); -typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); -typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); -typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); -typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); -typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); -typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); - -#define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB) -#define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB) -#define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB) -#define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB) -#define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB) -#define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB) -#define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB) -#define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB) -#define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB) -#define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB) -#define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB) -#define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB) -#define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB) -#define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB) -#define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB) -#define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB) -#define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB) -#define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB) -#define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB) -#define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB) -#define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB) -#define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB) -#define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB) -#define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB) -#define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB) -#define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB) -#define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB) -#define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB) -#define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB) -#define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB) -#define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB) -#define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB) -#define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB) -#define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB) -#define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB) -#define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB) -#define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB) -#define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB) -#define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB) - -#define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects) - -#endif /* GL_ARB_shader_objects */ - -/* ---------------------- GL_ARB_shading_language_100 ---------------------- */ - -#ifndef GL_ARB_shading_language_100 -#define GL_ARB_shading_language_100 1 - -#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C - -#define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100) - -#endif /* GL_ARB_shading_language_100 */ - -/* ----------------------------- GL_ARB_shadow ----------------------------- */ - -#ifndef GL_ARB_shadow -#define GL_ARB_shadow 1 - -#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C -#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D -#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E - -#define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow) - -#endif /* GL_ARB_shadow */ - -/* ------------------------- GL_ARB_shadow_ambient ------------------------- */ - -#ifndef GL_ARB_shadow_ambient -#define GL_ARB_shadow_ambient 1 - -#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF - -#define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient) - -#endif /* GL_ARB_shadow_ambient */ - -/* ---------------------- GL_ARB_texture_border_clamp ---------------------- */ - -#ifndef GL_ARB_texture_border_clamp -#define GL_ARB_texture_border_clamp 1 - -#define GL_CLAMP_TO_BORDER_ARB 0x812D - -#define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp) - -#endif /* GL_ARB_texture_border_clamp */ - -/* ---------------------- GL_ARB_texture_buffer_object --------------------- */ - -#ifndef GL_ARB_texture_buffer_object -#define GL_ARB_texture_buffer_object 1 - -#define GL_TEXTURE_BUFFER_ARB 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D -#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E - -typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); - -#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB) - -#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object) - -#endif /* GL_ARB_texture_buffer_object */ - -/* ----------------------- GL_ARB_texture_compression ---------------------- */ - -#ifndef GL_ARB_texture_compression -#define GL_ARB_texture_compression 1 - -#define GL_COMPRESSED_ALPHA_ARB 0x84E9 -#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA -#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB -#define GL_COMPRESSED_INTENSITY_ARB 0x84EC -#define GL_COMPRESSED_RGB_ARB 0x84ED -#define GL_COMPRESSED_RGBA_ARB 0x84EE -#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 -#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 - -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void* img); - -#define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB) -#define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB) -#define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB) -#define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB) -#define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB) -#define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB) -#define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB) - -#define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression) - -#endif /* GL_ARB_texture_compression */ - -/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */ - -#ifndef GL_ARB_texture_compression_rgtc -#define GL_ARB_texture_compression_rgtc 1 - -#define GL_COMPRESSED_RED_RGTC1 0x8DBB -#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC -#define GL_COMPRESSED_RG_RGTC2 0x8DBD -#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE - -#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc) - -#endif /* GL_ARB_texture_compression_rgtc */ - -/* ------------------------ GL_ARB_texture_cube_map ------------------------ */ - -#ifndef GL_ARB_texture_cube_map -#define GL_ARB_texture_cube_map 1 - -#define GL_NORMAL_MAP_ARB 0x8511 -#define GL_REFLECTION_MAP_ARB 0x8512 -#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C - -#define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map) - -#endif /* GL_ARB_texture_cube_map */ - -/* ------------------------- GL_ARB_texture_env_add ------------------------ */ - -#ifndef GL_ARB_texture_env_add -#define GL_ARB_texture_env_add 1 - -#define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add) - -#endif /* GL_ARB_texture_env_add */ - -/* ----------------------- GL_ARB_texture_env_combine ---------------------- */ - -#ifndef GL_ARB_texture_env_combine -#define GL_ARB_texture_env_combine 1 - -#define GL_SUBTRACT_ARB 0x84E7 -#define GL_COMBINE_ARB 0x8570 -#define GL_COMBINE_RGB_ARB 0x8571 -#define GL_COMBINE_ALPHA_ARB 0x8572 -#define GL_RGB_SCALE_ARB 0x8573 -#define GL_ADD_SIGNED_ARB 0x8574 -#define GL_INTERPOLATE_ARB 0x8575 -#define GL_CONSTANT_ARB 0x8576 -#define GL_PRIMARY_COLOR_ARB 0x8577 -#define GL_PREVIOUS_ARB 0x8578 -#define GL_SOURCE0_RGB_ARB 0x8580 -#define GL_SOURCE1_RGB_ARB 0x8581 -#define GL_SOURCE2_RGB_ARB 0x8582 -#define GL_SOURCE0_ALPHA_ARB 0x8588 -#define GL_SOURCE1_ALPHA_ARB 0x8589 -#define GL_SOURCE2_ALPHA_ARB 0x858A -#define GL_OPERAND0_RGB_ARB 0x8590 -#define GL_OPERAND1_RGB_ARB 0x8591 -#define GL_OPERAND2_RGB_ARB 0x8592 -#define GL_OPERAND0_ALPHA_ARB 0x8598 -#define GL_OPERAND1_ALPHA_ARB 0x8599 -#define GL_OPERAND2_ALPHA_ARB 0x859A - -#define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine) - -#endif /* GL_ARB_texture_env_combine */ - -/* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */ - -#ifndef GL_ARB_texture_env_crossbar -#define GL_ARB_texture_env_crossbar 1 - -#define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar) - -#endif /* GL_ARB_texture_env_crossbar */ - -/* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */ - -#ifndef GL_ARB_texture_env_dot3 -#define GL_ARB_texture_env_dot3 1 - -#define GL_DOT3_RGB_ARB 0x86AE -#define GL_DOT3_RGBA_ARB 0x86AF - -#define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3) - -#endif /* GL_ARB_texture_env_dot3 */ - -/* -------------------------- GL_ARB_texture_float ------------------------- */ - -#ifndef GL_ARB_texture_float -#define GL_ARB_texture_float 1 - -#define GL_RGBA32F_ARB 0x8814 -#define GL_RGB32F_ARB 0x8815 -#define GL_ALPHA32F_ARB 0x8816 -#define GL_INTENSITY32F_ARB 0x8817 -#define GL_LUMINANCE32F_ARB 0x8818 -#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 -#define GL_RGBA16F_ARB 0x881A -#define GL_RGB16F_ARB 0x881B -#define GL_ALPHA16F_ARB 0x881C -#define GL_INTENSITY16F_ARB 0x881D -#define GL_LUMINANCE16F_ARB 0x881E -#define GL_LUMINANCE_ALPHA16F_ARB 0x881F -#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 -#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 -#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 -#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 -#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 -#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 -#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 -#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 - -#define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float) - -#endif /* GL_ARB_texture_float */ - -/* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */ - -#ifndef GL_ARB_texture_mirrored_repeat -#define GL_ARB_texture_mirrored_repeat 1 - -#define GL_MIRRORED_REPEAT_ARB 0x8370 - -#define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat) - -#endif /* GL_ARB_texture_mirrored_repeat */ - -/* -------------------- GL_ARB_texture_non_power_of_two -------------------- */ - -#ifndef GL_ARB_texture_non_power_of_two -#define GL_ARB_texture_non_power_of_two 1 - -#define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two) - -#endif /* GL_ARB_texture_non_power_of_two */ - -/* ------------------------ GL_ARB_texture_rectangle ----------------------- */ - -#ifndef GL_ARB_texture_rectangle -#define GL_ARB_texture_rectangle 1 - -#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 -#define GL_SAMPLER_2D_RECT_ARB 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 - -#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle) - -#endif /* GL_ARB_texture_rectangle */ - -/* --------------------------- GL_ARB_texture_rg --------------------------- */ - -#ifndef GL_ARB_texture_rg -#define GL_ARB_texture_rg 1 - -#define GL_RED 0x1903 -#define GL_RG 0x8227 -#define GL_RG_INTEGER 0x8228 -#define GL_R8 0x8229 -#define GL_R16 0x822A -#define GL_RG8 0x822B -#define GL_RG16 0x822C -#define GL_R16F 0x822D -#define GL_R32F 0x822E -#define GL_RG16F 0x822F -#define GL_RG32F 0x8230 -#define GL_R8I 0x8231 -#define GL_R8UI 0x8232 -#define GL_R16I 0x8233 -#define GL_R16UI 0x8234 -#define GL_R32I 0x8235 -#define GL_R32UI 0x8236 -#define GL_RG8I 0x8237 -#define GL_RG8UI 0x8238 -#define GL_RG16I 0x8239 -#define GL_RG16UI 0x823A -#define GL_RG32I 0x823B -#define GL_RG32UI 0x823C - -#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg) - -#endif /* GL_ARB_texture_rg */ - -/* ------------------------ GL_ARB_transpose_matrix ------------------------ */ - -#ifndef GL_ARB_transpose_matrix -#define GL_ARB_transpose_matrix 1 - -#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 -#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 -#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 -#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 - -typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); -typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); -typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); -typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); - -#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB) -#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB) -#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB) -#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB) - -#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix) - -#endif /* GL_ARB_transpose_matrix */ - -/* ----------------------- GL_ARB_vertex_array_object ---------------------- */ - -#ifndef GL_ARB_vertex_array_object -#define GL_ARB_vertex_array_object 1 - -#define GL_VERTEX_ARRAY_BINDING 0x85B5 - -typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); -typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays); -typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); -typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array); - -#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray) -#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays) -#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays) -#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray) - -#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object) - -#endif /* GL_ARB_vertex_array_object */ - -/* -------------------------- GL_ARB_vertex_blend -------------------------- */ - -#ifndef GL_ARB_vertex_blend -#define GL_ARB_vertex_blend 1 - -#define GL_MODELVIEW0_ARB 0x1700 -#define GL_MODELVIEW1_ARB 0x850A -#define GL_MAX_VERTEX_UNITS_ARB 0x86A4 -#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 -#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 -#define GL_VERTEX_BLEND_ARB 0x86A7 -#define GL_CURRENT_WEIGHT_ARB 0x86A8 -#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 -#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA -#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB -#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC -#define GL_WEIGHT_ARRAY_ARB 0x86AD -#define GL_MODELVIEW2_ARB 0x8722 -#define GL_MODELVIEW3_ARB 0x8723 -#define GL_MODELVIEW4_ARB 0x8724 -#define GL_MODELVIEW5_ARB 0x8725 -#define GL_MODELVIEW6_ARB 0x8726 -#define GL_MODELVIEW7_ARB 0x8727 -#define GL_MODELVIEW8_ARB 0x8728 -#define GL_MODELVIEW9_ARB 0x8729 -#define GL_MODELVIEW10_ARB 0x872A -#define GL_MODELVIEW11_ARB 0x872B -#define GL_MODELVIEW12_ARB 0x872C -#define GL_MODELVIEW13_ARB 0x872D -#define GL_MODELVIEW14_ARB 0x872E -#define GL_MODELVIEW15_ARB 0x872F -#define GL_MODELVIEW16_ARB 0x8730 -#define GL_MODELVIEW17_ARB 0x8731 -#define GL_MODELVIEW18_ARB 0x8732 -#define GL_MODELVIEW19_ARB 0x8733 -#define GL_MODELVIEW20_ARB 0x8734 -#define GL_MODELVIEW21_ARB 0x8735 -#define GL_MODELVIEW22_ARB 0x8736 -#define GL_MODELVIEW23_ARB 0x8737 -#define GL_MODELVIEW24_ARB 0x8738 -#define GL_MODELVIEW25_ARB 0x8739 -#define GL_MODELVIEW26_ARB 0x873A -#define GL_MODELVIEW27_ARB 0x873B -#define GL_MODELVIEW28_ARB 0x873C -#define GL_MODELVIEW29_ARB 0x873D -#define GL_MODELVIEW30_ARB 0x873E -#define GL_MODELVIEW31_ARB 0x873F - -typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count); -typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); -typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights); -typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights); - -#define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB) -#define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB) -#define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB) -#define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB) -#define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB) -#define glWeightivARB GLEW_GET_FUN(__glewWeightivARB) -#define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB) -#define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB) -#define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB) -#define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB) - -#define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend) - -#endif /* GL_ARB_vertex_blend */ - -/* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */ - -#ifndef GL_ARB_vertex_buffer_object -#define GL_ARB_vertex_buffer_object 1 - -#define GL_BUFFER_SIZE_ARB 0x8764 -#define GL_BUFFER_USAGE_ARB 0x8765 -#define GL_ARRAY_BUFFER_ARB 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 -#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 -#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 -#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 -#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 -#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 -#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A -#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B -#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C -#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D -#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F -#define GL_READ_ONLY_ARB 0x88B8 -#define GL_WRITE_ONLY_ARB 0x88B9 -#define GL_READ_WRITE_ARB 0x88BA -#define GL_BUFFER_ACCESS_ARB 0x88BB -#define GL_BUFFER_MAPPED_ARB 0x88BC -#define GL_BUFFER_MAP_POINTER_ARB 0x88BD -#define GL_STREAM_DRAW_ARB 0x88E0 -#define GL_STREAM_READ_ARB 0x88E1 -#define GL_STREAM_COPY_ARB 0x88E2 -#define GL_STATIC_DRAW_ARB 0x88E4 -#define GL_STATIC_READ_ARB 0x88E5 -#define GL_STATIC_COPY_ARB 0x88E6 -#define GL_DYNAMIC_DRAW_ARB 0x88E8 -#define GL_DYNAMIC_READ_ARB 0x88E9 -#define GL_DYNAMIC_COPY_ARB 0x88EA - -typedef ptrdiff_t GLsizeiptrARB; -typedef ptrdiff_t GLintptrARB; - -typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid* data, GLenum usage); -typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid* data); -typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers); -typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers); -typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid** params); -typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid* data); -typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer); -typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); -typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); - -#define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB) -#define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB) -#define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB) -#define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB) -#define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB) -#define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB) -#define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB) -#define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB) -#define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB) -#define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB) -#define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB) - -#define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object) - -#endif /* GL_ARB_vertex_buffer_object */ - -/* ------------------------- GL_ARB_vertex_program ------------------------- */ - -#ifndef GL_ARB_vertex_program -#define GL_ARB_vertex_program 1 - -#define GL_COLOR_SUM_ARB 0x8458 -#define GL_VERTEX_PROGRAM_ARB 0x8620 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 -#define GL_PROGRAM_LENGTH_ARB 0x8627 -#define GL_PROGRAM_STRING_ARB 0x8628 -#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E -#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F -#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 -#define GL_CURRENT_MATRIX_ARB 0x8641 -#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 -#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B -#define GL_PROGRAM_BINDING_ARB 0x8677 -#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A -#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 -#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 -#define GL_PROGRAM_FORMAT_ARB 0x8876 -#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 -#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 -#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 -#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 -#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 -#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 -#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 -#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 -#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 -#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 -#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA -#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB -#define GL_PROGRAM_ATTRIBS_ARB 0x88AC -#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD -#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE -#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF -#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 -#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 -#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 -#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 -#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 -#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 -#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 -#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 -#define GL_MATRIX0_ARB 0x88C0 -#define GL_MATRIX1_ARB 0x88C1 -#define GL_MATRIX2_ARB 0x88C2 -#define GL_MATRIX3_ARB 0x88C3 -#define GL_MATRIX4_ARB 0x88C4 -#define GL_MATRIX5_ARB 0x88C5 -#define GL_MATRIX6_ARB 0x88C6 -#define GL_MATRIX7_ARB 0x88C7 -#define GL_MATRIX8_ARB 0x88C8 -#define GL_MATRIX9_ARB 0x88C9 -#define GL_MATRIX10_ARB 0x88CA -#define GL_MATRIX11_ARB 0x88CB -#define GL_MATRIX12_ARB 0x88CC -#define GL_MATRIX13_ARB 0x88CD -#define GL_MATRIX14_ARB 0x88CE -#define GL_MATRIX15_ARB 0x88CF -#define GL_MATRIX16_ARB 0x88D0 -#define GL_MATRIX17_ARB 0x88D1 -#define GL_MATRIX18_ARB 0x88D2 -#define GL_MATRIX19_ARB 0x88D3 -#define GL_MATRIX20_ARB 0x88D4 -#define GL_MATRIX21_ARB 0x88D5 -#define GL_MATRIX22_ARB 0x88D6 -#define GL_MATRIX23_ARB 0x88D7 -#define GL_MATRIX24_ARB 0x88D8 -#define GL_MATRIX25_ARB 0x88D9 -#define GL_MATRIX26_ARB 0x88DA -#define GL_MATRIX27_ARB 0x88DB -#define GL_MATRIX28_ARB 0x88DC -#define GL_MATRIX29_ARB 0x88DD -#define GL_MATRIX30_ARB 0x88DE -#define GL_MATRIX31_ARB 0x88DF - -typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); -typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs); -typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); -typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); -typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void* string); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid** pointer); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void* string); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer); - -#define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB) -#define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB) -#define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB) -#define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB) -#define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB) -#define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB) -#define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB) -#define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB) -#define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB) -#define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB) -#define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB) -#define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB) -#define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB) -#define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB) -#define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB) -#define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB) -#define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB) -#define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB) -#define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB) -#define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB) -#define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB) -#define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB) -#define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB) -#define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB) -#define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB) -#define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB) -#define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB) -#define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB) -#define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB) -#define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB) -#define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB) -#define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB) -#define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB) -#define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB) -#define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB) -#define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB) -#define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB) -#define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB) -#define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB) -#define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB) -#define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB) -#define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB) -#define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB) -#define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB) -#define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB) -#define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB) -#define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB) -#define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB) -#define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB) -#define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB) -#define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB) -#define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB) -#define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB) -#define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB) -#define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB) -#define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB) -#define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB) -#define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB) -#define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB) -#define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB) -#define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB) -#define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB) - -#define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program) - -#endif /* GL_ARB_vertex_program */ - -/* -------------------------- GL_ARB_vertex_shader ------------------------- */ - -#ifndef GL_ARB_vertex_shader -#define GL_ARB_vertex_shader 1 - -#define GL_VERTEX_SHADER_ARB 0x8B31 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A -#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D -#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 -#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A - -typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name); -typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); -typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); - -#define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB) -#define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB) -#define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB) - -#define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader) - -#endif /* GL_ARB_vertex_shader */ - -/* --------------------------- GL_ARB_window_pos --------------------------- */ - -#ifndef GL_ARB_window_pos -#define GL_ARB_window_pos 1 - -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p); - -#define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB) -#define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB) -#define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB) -#define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB) -#define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB) -#define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB) -#define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB) -#define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB) -#define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB) -#define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB) -#define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB) -#define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB) -#define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB) -#define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB) -#define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB) -#define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB) - -#define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos) - -#endif /* GL_ARB_window_pos */ - -/* ------------------------- GL_ATIX_point_sprites ------------------------- */ - -#ifndef GL_ATIX_point_sprites -#define GL_ATIX_point_sprites 1 - -#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0 -#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 -#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 -#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3 -#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4 -#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5 - -#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites) - -#endif /* GL_ATIX_point_sprites */ - -/* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */ - -#ifndef GL_ATIX_texture_env_combine3 -#define GL_ATIX_texture_env_combine3 1 - -#define GL_MODULATE_ADD_ATIX 0x8744 -#define GL_MODULATE_SIGNED_ADD_ATIX 0x8745 -#define GL_MODULATE_SUBTRACT_ATIX 0x8746 - -#define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3) - -#endif /* GL_ATIX_texture_env_combine3 */ - -/* ----------------------- GL_ATIX_texture_env_route ----------------------- */ - -#ifndef GL_ATIX_texture_env_route -#define GL_ATIX_texture_env_route 1 - -#define GL_SECONDARY_COLOR_ATIX 0x8747 -#define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 -#define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 - -#define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route) - -#endif /* GL_ATIX_texture_env_route */ - -/* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */ - -#ifndef GL_ATIX_vertex_shader_output_point_size -#define GL_ATIX_vertex_shader_output_point_size 1 - -#define GL_OUTPUT_POINT_SIZE_ATIX 0x610E - -#define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size) - -#endif /* GL_ATIX_vertex_shader_output_point_size */ - -/* -------------------------- GL_ATI_draw_buffers -------------------------- */ - -#ifndef GL_ATI_draw_buffers -#define GL_ATI_draw_buffers 1 - -#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 -#define GL_DRAW_BUFFER0_ATI 0x8825 -#define GL_DRAW_BUFFER1_ATI 0x8826 -#define GL_DRAW_BUFFER2_ATI 0x8827 -#define GL_DRAW_BUFFER3_ATI 0x8828 -#define GL_DRAW_BUFFER4_ATI 0x8829 -#define GL_DRAW_BUFFER5_ATI 0x882A -#define GL_DRAW_BUFFER6_ATI 0x882B -#define GL_DRAW_BUFFER7_ATI 0x882C -#define GL_DRAW_BUFFER8_ATI 0x882D -#define GL_DRAW_BUFFER9_ATI 0x882E -#define GL_DRAW_BUFFER10_ATI 0x882F -#define GL_DRAW_BUFFER11_ATI 0x8830 -#define GL_DRAW_BUFFER12_ATI 0x8831 -#define GL_DRAW_BUFFER13_ATI 0x8832 -#define GL_DRAW_BUFFER14_ATI 0x8833 -#define GL_DRAW_BUFFER15_ATI 0x8834 - -typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs); - -#define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI) - -#define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers) - -#endif /* GL_ATI_draw_buffers */ - -/* -------------------------- GL_ATI_element_array ------------------------- */ - -#ifndef GL_ATI_element_array -#define GL_ATI_element_array 1 - -#define GL_ELEMENT_ARRAY_ATI 0x8768 -#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 -#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A - -typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); -typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); -typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void* pointer); - -#define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI) -#define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI) -#define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI) - -#define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array) - -#endif /* GL_ATI_element_array */ - -/* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */ - -#ifndef GL_ATI_envmap_bumpmap -#define GL_ATI_envmap_bumpmap 1 - -#define GL_BUMP_ROT_MATRIX_ATI 0x8775 -#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 -#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 -#define GL_BUMP_TEX_UNITS_ATI 0x8778 -#define GL_DUDV_ATI 0x8779 -#define GL_DU8DV8_ATI 0x877A -#define GL_BUMP_ENVMAP_ATI 0x877B -#define GL_BUMP_TARGET_ATI 0x877C - -typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); -typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); -typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); -typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); - -#define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI) -#define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI) -#define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI) -#define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI) - -#define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap) - -#endif /* GL_ATI_envmap_bumpmap */ - -/* ------------------------- GL_ATI_fragment_shader ------------------------ */ - -#ifndef GL_ATI_fragment_shader -#define GL_ATI_fragment_shader 1 - -#define GL_RED_BIT_ATI 0x00000001 -#define GL_2X_BIT_ATI 0x00000001 -#define GL_4X_BIT_ATI 0x00000002 -#define GL_GREEN_BIT_ATI 0x00000002 -#define GL_COMP_BIT_ATI 0x00000002 -#define GL_BLUE_BIT_ATI 0x00000004 -#define GL_8X_BIT_ATI 0x00000004 -#define GL_NEGATE_BIT_ATI 0x00000004 -#define GL_BIAS_BIT_ATI 0x00000008 -#define GL_HALF_BIT_ATI 0x00000008 -#define GL_QUARTER_BIT_ATI 0x00000010 -#define GL_EIGHTH_BIT_ATI 0x00000020 -#define GL_SATURATE_BIT_ATI 0x00000040 -#define GL_FRAGMENT_SHADER_ATI 0x8920 -#define GL_REG_0_ATI 0x8921 -#define GL_REG_1_ATI 0x8922 -#define GL_REG_2_ATI 0x8923 -#define GL_REG_3_ATI 0x8924 -#define GL_REG_4_ATI 0x8925 -#define GL_REG_5_ATI 0x8926 -#define GL_CON_0_ATI 0x8941 -#define GL_CON_1_ATI 0x8942 -#define GL_CON_2_ATI 0x8943 -#define GL_CON_3_ATI 0x8944 -#define GL_CON_4_ATI 0x8945 -#define GL_CON_5_ATI 0x8946 -#define GL_CON_6_ATI 0x8947 -#define GL_CON_7_ATI 0x8948 -#define GL_MOV_ATI 0x8961 -#define GL_ADD_ATI 0x8963 -#define GL_MUL_ATI 0x8964 -#define GL_SUB_ATI 0x8965 -#define GL_DOT3_ATI 0x8966 -#define GL_DOT4_ATI 0x8967 -#define GL_MAD_ATI 0x8968 -#define GL_LERP_ATI 0x8969 -#define GL_CND_ATI 0x896A -#define GL_CND0_ATI 0x896B -#define GL_DOT2_ADD_ATI 0x896C -#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D -#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E -#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F -#define GL_NUM_PASSES_ATI 0x8970 -#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 -#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 -#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 -#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 -#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 -#define GL_SWIZZLE_STR_ATI 0x8976 -#define GL_SWIZZLE_STQ_ATI 0x8977 -#define GL_SWIZZLE_STR_DR_ATI 0x8978 -#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 -#define GL_SWIZZLE_STRQ_ATI 0x897A -#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B - -typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); -typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); -typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); -typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void); -typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); -typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); -typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); -typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void); -typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); -typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); -typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); -typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value); - -#define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI) -#define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI) -#define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI) -#define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI) -#define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI) -#define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI) -#define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI) -#define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI) -#define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI) -#define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI) -#define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI) -#define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI) -#define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI) -#define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI) - -#define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader) - -#endif /* GL_ATI_fragment_shader */ - -/* ------------------------ GL_ATI_map_object_buffer ----------------------- */ - -#ifndef GL_ATI_map_object_buffer -#define GL_ATI_map_object_buffer 1 - -typedef void* (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); - -#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI) -#define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI) - -#define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer) - -#endif /* GL_ATI_map_object_buffer */ - -/* -------------------------- GL_ATI_pn_triangles -------------------------- */ - -#ifndef GL_ATI_pn_triangles -#define GL_ATI_pn_triangles 1 - -#define GL_PN_TRIANGLES_ATI 0x87F0 -#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 -#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 -#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 -#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 -#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 -#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 -#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 -#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 - -typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); - -#define glPNTrianglesfATI GLEW_GET_FUN(__glPNTrianglewesfATI) -#define glPNTrianglesiATI GLEW_GET_FUN(__glPNTrianglewesiATI) - -#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles) - -#endif /* GL_ATI_pn_triangles */ - -/* ------------------------ GL_ATI_separate_stencil ------------------------ */ - -#ifndef GL_ATI_separate_stencil -#define GL_ATI_separate_stencil 1 - -#define GL_STENCIL_BACK_FUNC_ATI 0x8800 -#define GL_STENCIL_BACK_FAIL_ATI 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 - -typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); - -#define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI) -#define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI) - -#define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil) - -#endif /* GL_ATI_separate_stencil */ - -/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */ - -#ifndef GL_ATI_shader_texture_lod -#define GL_ATI_shader_texture_lod 1 - -#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod) - -#endif /* GL_ATI_shader_texture_lod */ - -/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */ - -#ifndef GL_ATI_text_fragment_shader -#define GL_ATI_text_fragment_shader 1 - -#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 - -#define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader) - -#endif /* GL_ATI_text_fragment_shader */ - -/* --------------------- GL_ATI_texture_compression_3dc -------------------- */ - -#ifndef GL_ATI_texture_compression_3dc -#define GL_ATI_texture_compression_3dc 1 - -#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 - -#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc) - -#endif /* GL_ATI_texture_compression_3dc */ - -/* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */ - -#ifndef GL_ATI_texture_env_combine3 -#define GL_ATI_texture_env_combine3 1 - -#define GL_MODULATE_ADD_ATI 0x8744 -#define GL_MODULATE_SIGNED_ADD_ATI 0x8745 -#define GL_MODULATE_SUBTRACT_ATI 0x8746 - -#define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3) - -#endif /* GL_ATI_texture_env_combine3 */ - -/* -------------------------- GL_ATI_texture_float ------------------------- */ - -#ifndef GL_ATI_texture_float -#define GL_ATI_texture_float 1 - -#define GL_RGBA_FLOAT32_ATI 0x8814 -#define GL_RGB_FLOAT32_ATI 0x8815 -#define GL_ALPHA_FLOAT32_ATI 0x8816 -#define GL_INTENSITY_FLOAT32_ATI 0x8817 -#define GL_LUMINANCE_FLOAT32_ATI 0x8818 -#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 -#define GL_RGBA_FLOAT16_ATI 0x881A -#define GL_RGB_FLOAT16_ATI 0x881B -#define GL_ALPHA_FLOAT16_ATI 0x881C -#define GL_INTENSITY_FLOAT16_ATI 0x881D -#define GL_LUMINANCE_FLOAT16_ATI 0x881E -#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F - -#define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float) - -#endif /* GL_ATI_texture_float */ - -/* ----------------------- GL_ATI_texture_mirror_once ---------------------- */ - -#ifndef GL_ATI_texture_mirror_once -#define GL_ATI_texture_mirror_once 1 - -#define GL_MIRROR_CLAMP_ATI 0x8742 -#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 - -#define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once) - -#endif /* GL_ATI_texture_mirror_once */ - -/* ----------------------- GL_ATI_vertex_array_object ---------------------- */ - -#ifndef GL_ATI_vertex_array_object -#define GL_ATI_vertex_array_object 1 - -#define GL_STATIC_ATI 0x8760 -#define GL_DYNAMIC_ATI 0x8761 -#define GL_PRESERVE_ATI 0x8762 -#define GL_DISCARD_ATI 0x8763 -#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 -#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 -#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 -#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 - -typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); -typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); -typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void* pointer, GLenum usage); -typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void* pointer, GLenum preserve); -typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); - -#define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI) -#define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI) -#define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI) -#define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI) -#define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI) -#define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI) -#define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI) -#define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI) -#define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI) -#define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI) -#define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI) -#define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI) - -#define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object) - -#endif /* GL_ATI_vertex_array_object */ - -/* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */ - -#ifndef GL_ATI_vertex_attrib_array_object -#define GL_ATI_vertex_attrib_array_object 1 - -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); - -#define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI) -#define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI) -#define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI) - -#define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object) - -#endif /* GL_ATI_vertex_attrib_array_object */ - -/* ------------------------- GL_ATI_vertex_streams ------------------------- */ - -#ifndef GL_ATI_vertex_streams -#define GL_ATI_vertex_streams 1 - -#define GL_MAX_VERTEX_STREAMS_ATI 0x876B -#define GL_VERTEX_SOURCE_ATI 0x876C -#define GL_VERTEX_STREAM0_ATI 0x876D -#define GL_VERTEX_STREAM1_ATI 0x876E -#define GL_VERTEX_STREAM2_ATI 0x876F -#define GL_VERTEX_STREAM3_ATI 0x8770 -#define GL_VERTEX_STREAM4_ATI 0x8771 -#define GL_VERTEX_STREAM5_ATI 0x8772 -#define GL_VERTEX_STREAM6_ATI 0x8773 -#define GL_VERTEX_STREAM7_ATI 0x8774 - -typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v); - -#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI) -#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI) -#define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI) -#define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI) -#define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI) -#define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI) -#define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI) -#define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI) -#define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI) -#define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI) -#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI) -#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI) -#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI) -#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI) -#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI) -#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI) -#define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI) -#define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI) -#define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI) -#define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI) -#define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI) -#define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI) -#define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI) -#define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI) -#define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI) -#define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI) -#define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI) -#define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI) -#define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI) -#define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI) -#define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI) -#define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI) -#define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI) -#define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI) -#define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI) -#define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI) -#define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI) - -#define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams) - -#endif /* GL_ATI_vertex_streams */ - -/* --------------------------- GL_EXT_422_pixels --------------------------- */ - -#ifndef GL_EXT_422_pixels -#define GL_EXT_422_pixels 1 - -#define GL_422_EXT 0x80CC -#define GL_422_REV_EXT 0x80CD -#define GL_422_AVERAGE_EXT 0x80CE -#define GL_422_REV_AVERAGE_EXT 0x80CF - -#define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels) - -#endif /* GL_EXT_422_pixels */ - -/* ---------------------------- GL_EXT_Cg_shader --------------------------- */ - -#ifndef GL_EXT_Cg_shader -#define GL_EXT_Cg_shader 1 - -#define GL_CG_VERTEX_SHADER_EXT 0x890E -#define GL_CG_FRAGMENT_SHADER_EXT 0x890F - -#define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader) - -#endif /* GL_EXT_Cg_shader */ - -/* ------------------------------ GL_EXT_abgr ------------------------------ */ - -#ifndef GL_EXT_abgr -#define GL_EXT_abgr 1 - -#define GL_ABGR_EXT 0x8000 - -#define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr) - -#endif /* GL_EXT_abgr */ - -/* ------------------------------ GL_EXT_bgra ------------------------------ */ - -#ifndef GL_EXT_bgra -#define GL_EXT_bgra 1 - -#define GL_BGR_EXT 0x80E0 -#define GL_BGRA_EXT 0x80E1 - -#define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra) - -#endif /* GL_EXT_bgra */ - -/* ------------------------ GL_EXT_bindable_uniform ------------------------ */ - -#ifndef GL_EXT_bindable_uniform -#define GL_EXT_bindable_uniform 1 - -#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 -#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 -#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 -#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED -#define GL_UNIFORM_BUFFER_EXT 0x8DEE -#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF - -typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); -typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); -typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); - -#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT) -#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT) -#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT) - -#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform) - -#endif /* GL_EXT_bindable_uniform */ - -/* --------------------------- GL_EXT_blend_color -------------------------- */ - -#ifndef GL_EXT_blend_color -#define GL_EXT_blend_color 1 - -#define GL_CONSTANT_COLOR_EXT 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 -#define GL_CONSTANT_ALPHA_EXT 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 -#define GL_BLEND_COLOR_EXT 0x8005 - -typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - -#define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT) - -#define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color) - -#endif /* GL_EXT_blend_color */ - -/* --------------------- GL_EXT_blend_equation_separate -------------------- */ - -#ifndef GL_EXT_blend_equation_separate -#define GL_EXT_blend_equation_separate 1 - -#define GL_BLEND_EQUATION_RGB_EXT 0x8009 -#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D - -typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); - -#define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT) - -#define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate) - -#endif /* GL_EXT_blend_equation_separate */ - -/* ----------------------- GL_EXT_blend_func_separate ---------------------- */ - -#ifndef GL_EXT_blend_func_separate -#define GL_EXT_blend_func_separate 1 - -#define GL_BLEND_DST_RGB_EXT 0x80C8 -#define GL_BLEND_SRC_RGB_EXT 0x80C9 -#define GL_BLEND_DST_ALPHA_EXT 0x80CA -#define GL_BLEND_SRC_ALPHA_EXT 0x80CB - -typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); - -#define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT) - -#define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate) - -#endif /* GL_EXT_blend_func_separate */ - -/* ------------------------- GL_EXT_blend_logic_op ------------------------- */ - -#ifndef GL_EXT_blend_logic_op -#define GL_EXT_blend_logic_op 1 - -#define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op) - -#endif /* GL_EXT_blend_logic_op */ - -/* -------------------------- GL_EXT_blend_minmax -------------------------- */ - -#ifndef GL_EXT_blend_minmax -#define GL_EXT_blend_minmax 1 - -#define GL_FUNC_ADD_EXT 0x8006 -#define GL_MIN_EXT 0x8007 -#define GL_MAX_EXT 0x8008 -#define GL_BLEND_EQUATION_EXT 0x8009 - -typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode); - -#define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT) - -#define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax) - -#endif /* GL_EXT_blend_minmax */ - -/* ------------------------- GL_EXT_blend_subtract ------------------------- */ - -#ifndef GL_EXT_blend_subtract -#define GL_EXT_blend_subtract 1 - -#define GL_FUNC_SUBTRACT_EXT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B - -#define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract) - -#endif /* GL_EXT_blend_subtract */ - -/* ------------------------ GL_EXT_clip_volume_hint ------------------------ */ - -#ifndef GL_EXT_clip_volume_hint -#define GL_EXT_clip_volume_hint 1 - -#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 - -#define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint) - -#endif /* GL_EXT_clip_volume_hint */ - -/* ------------------------------ GL_EXT_cmyka ----------------------------- */ - -#ifndef GL_EXT_cmyka -#define GL_EXT_cmyka 1 - -#define GL_CMYK_EXT 0x800C -#define GL_CMYKA_EXT 0x800D -#define GL_PACK_CMYK_HINT_EXT 0x800E -#define GL_UNPACK_CMYK_HINT_EXT 0x800F - -#define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka) - -#endif /* GL_EXT_cmyka */ - -/* ------------------------- GL_EXT_color_subtable ------------------------- */ - -#ifndef GL_EXT_color_subtable -#define GL_EXT_color_subtable 1 - -typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void* data); -typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); - -#define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT) -#define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT) - -#define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable) - -#endif /* GL_EXT_color_subtable */ - -/* ---------------------- GL_EXT_compiled_vertex_array --------------------- */ - -#ifndef GL_EXT_compiled_vertex_array -#define GL_EXT_compiled_vertex_array 1 - -#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 -#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 - -typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); -typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); - -#define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT) -#define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT) - -#define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array) - -#endif /* GL_EXT_compiled_vertex_array */ - -/* --------------------------- GL_EXT_convolution -------------------------- */ - -#ifndef GL_EXT_convolution -#define GL_EXT_convolution 1 - -#define GL_CONVOLUTION_1D_EXT 0x8010 -#define GL_CONVOLUTION_2D_EXT 0x8011 -#define GL_SEPARABLE_2D_EXT 0x8012 -#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 -#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 -#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 -#define GL_REDUCE_EXT 0x8016 -#define GL_CONVOLUTION_FORMAT_EXT 0x8017 -#define GL_CONVOLUTION_WIDTH_EXT 0x8018 -#define GL_CONVOLUTION_HEIGHT_EXT 0x8019 -#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A -#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B -#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C -#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D -#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E -#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F -#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 -#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 -#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 -#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 - -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* image); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* image); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* image); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* row, void* column, void* span); -typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* row, const void* column); - -#define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT) -#define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT) -#define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT) -#define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT) -#define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT) -#define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT) -#define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT) -#define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT) -#define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT) -#define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT) -#define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT) -#define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT) -#define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT) - -#define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution) - -#endif /* GL_EXT_convolution */ - -/* ------------------------ GL_EXT_coordinate_frame ------------------------ */ - -#ifndef GL_EXT_coordinate_frame -#define GL_EXT_coordinate_frame 1 - -#define GL_TANGENT_ARRAY_EXT 0x8439 -#define GL_BINORMAL_ARRAY_EXT 0x843A -#define GL_CURRENT_TANGENT_EXT 0x843B -#define GL_CURRENT_BINORMAL_EXT 0x843C -#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E -#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F -#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 -#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 -#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 -#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 -#define GL_MAP1_TANGENT_EXT 0x8444 -#define GL_MAP2_TANGENT_EXT 0x8445 -#define GL_MAP1_BINORMAL_EXT 0x8446 -#define GL_MAP2_BINORMAL_EXT 0x8447 - -typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer); -typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer); - -#define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT) -#define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT) - -#define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame) - -#endif /* GL_EXT_coordinate_frame */ - -/* -------------------------- GL_EXT_copy_texture -------------------------- */ - -#ifndef GL_EXT_copy_texture -#define GL_EXT_copy_texture 1 - -typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - -#define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT) -#define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT) -#define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT) -#define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT) -#define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT) - -#define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture) - -#endif /* GL_EXT_copy_texture */ - -/* --------------------------- GL_EXT_cull_vertex -------------------------- */ - -#ifndef GL_EXT_cull_vertex -#define GL_EXT_cull_vertex 1 - -typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); - -#define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT) -#define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT) - -#define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex) - -#endif /* GL_EXT_cull_vertex */ - -/* ------------------------ GL_EXT_depth_bounds_test ----------------------- */ - -#ifndef GL_EXT_depth_bounds_test -#define GL_EXT_depth_bounds_test 1 - -#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 -#define GL_DEPTH_BOUNDS_EXT 0x8891 - -typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); - -#define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT) - -#define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test) - -#endif /* GL_EXT_depth_bounds_test */ - -/* ----------------------- GL_EXT_direct_state_access ---------------------- */ - -#ifndef GL_EXT_direct_state_access -#define GL_EXT_direct_state_access 1 - -#define GL_PROGRAM_MATRIX_EXT 0x8E2D -#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E -#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F - -typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); -typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); -typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); -typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); -typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); -typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); -typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); -typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void* img); -typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void* img); -typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum pname, GLuint index, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum pname, GLuint index, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data); -typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void* string); -typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum pname, GLuint index, GLvoid** params); -typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels); -typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params); -typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); -typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); -typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); -typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode); -typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); -typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); -typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m); -typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m); -typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); -typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); -typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m); -typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m); -typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); -typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode); -typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode); -typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer); -typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param); -typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void* data, GLenum usage); -typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); -typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params); -typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void* string); -typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); -typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param); -typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); -typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); - -#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT) -#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT) -#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT) -#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT) -#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT) -#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT) -#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT) -#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT) -#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT) -#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT) -#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT) -#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT) -#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT) -#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT) -#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT) -#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT) -#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT) -#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT) -#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT) -#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT) -#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT) -#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT) -#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT) -#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT) -#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT) -#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT) -#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT) -#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT) -#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT) -#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT) -#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT) -#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT) -#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT) -#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT) -#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT) -#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT) -#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT) -#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT) -#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT) -#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT) -#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT) -#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT) -#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT) -#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT) -#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT) -#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT) -#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT) -#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT) -#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT) -#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT) -#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT) -#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT) -#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT) -#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT) -#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT) -#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT) -#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT) -#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT) -#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT) -#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT) -#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT) -#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT) -#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT) -#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT) -#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT) -#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT) -#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT) -#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT) -#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT) -#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT) -#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT) -#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT) -#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT) -#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT) -#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT) -#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT) -#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT) -#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT) -#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT) -#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT) -#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT) -#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT) -#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT) -#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT) -#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT) -#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT) -#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT) -#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT) -#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT) -#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT) -#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT) -#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT) -#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT) -#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT) -#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT) -#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT) -#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT) -#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT) -#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT) -#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT) -#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT) -#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT) -#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT) -#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT) -#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT) -#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT) -#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT) -#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT) -#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT) -#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT) -#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT) -#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT) -#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT) -#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT) -#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT) -#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT) -#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT) -#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT) -#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT) -#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT) -#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT) -#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT) -#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT) -#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT) -#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT) -#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT) -#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT) -#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT) -#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT) -#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT) -#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT) -#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT) -#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT) -#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT) -#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT) -#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT) -#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT) -#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT) -#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT) -#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT) -#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT) -#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT) -#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT) -#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT) -#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT) -#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT) -#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT) -#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT) -#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT) -#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT) -#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT) -#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT) -#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT) -#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT) -#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT) -#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT) -#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT) -#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT) -#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT) -#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT) -#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT) -#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT) -#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT) -#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT) -#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT) -#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT) -#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT) -#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT) -#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT) -#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT) -#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT) -#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT) -#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT) -#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT) -#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT) -#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT) -#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT) -#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT) -#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT) -#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT) -#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT) -#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT) -#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT) -#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT) -#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT) -#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT) - -#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access) - -#endif /* GL_EXT_direct_state_access */ - -/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ - -#ifndef GL_EXT_draw_buffers2 -#define GL_EXT_draw_buffers2 1 - -typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); -typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); -typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); -typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data); -typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data); -typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); - -#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) -#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT) -#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT) -#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT) -#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT) -#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT) - -#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2) - -#endif /* GL_EXT_draw_buffers2 */ - -/* ------------------------- GL_EXT_draw_instanced ------------------------- */ - -#ifndef GL_EXT_draw_instanced -#define GL_EXT_draw_instanced 1 - -typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); - -#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT) -#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT) - -#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced) - -#endif /* GL_EXT_draw_instanced */ - -/* ----------------------- GL_EXT_draw_range_elements ---------------------- */ - -#ifndef GL_EXT_draw_range_elements -#define GL_EXT_draw_range_elements 1 - -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 - -typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); - -#define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT) - -#define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements) - -#endif /* GL_EXT_draw_range_elements */ - -/* ---------------------------- GL_EXT_fog_coord --------------------------- */ - -#ifndef GL_EXT_fog_coord -#define GL_EXT_fog_coord 1 - -#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 -#define GL_FOG_COORDINATE_EXT 0x8451 -#define GL_FRAGMENT_DEPTH_EXT 0x8452 -#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 -#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 -#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 -#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 -#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 - -typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); -typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord); -typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord); - -#define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT) -#define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT) -#define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT) -#define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT) -#define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT) - -#define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord) - -#endif /* GL_EXT_fog_coord */ - -/* ------------------------ GL_EXT_fragment_lighting ----------------------- */ - -#ifndef GL_EXT_fragment_lighting -#define GL_EXT_fragment_lighting 1 - -#define GL_FRAGMENT_LIGHTING_EXT 0x8400 -#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401 -#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402 -#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403 -#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404 -#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405 -#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406 -#define GL_LIGHT_ENV_MODE_EXT 0x8407 -#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408 -#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409 -#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A -#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B -#define GL_FRAGMENT_LIGHT0_EXT 0x840C -#define GL_FRAGMENT_LIGHT7_EXT 0x8413 - -typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param); - -#define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT) -#define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT) -#define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT) -#define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT) -#define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT) -#define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT) -#define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT) -#define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT) -#define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT) -#define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT) -#define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT) -#define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT) -#define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT) -#define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT) -#define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT) -#define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT) -#define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT) -#define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT) - -#define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting) - -#endif /* GL_EXT_fragment_lighting */ - -/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */ - -#ifndef GL_EXT_framebuffer_blit -#define GL_EXT_framebuffer_blit 1 - -#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 -#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA - -typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - -#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT) - -#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit) - -#endif /* GL_EXT_framebuffer_blit */ - -/* --------------------- GL_EXT_framebuffer_multisample -------------------- */ - -#ifndef GL_EXT_framebuffer_multisample -#define GL_EXT_framebuffer_multisample 1 - -#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 -#define GL_MAX_SAMPLES_EXT 0x8D57 - -typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - -#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT) - -#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample) - -#endif /* GL_EXT_framebuffer_multisample */ - -/* ----------------------- GL_EXT_framebuffer_object ----------------------- */ - -#ifndef GL_EXT_framebuffer_object -#define GL_EXT_framebuffer_object 1 - -#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 -#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 -#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 -#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 -#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 -#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD -#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF -#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 -#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 -#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 -#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 -#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 -#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 -#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 -#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 -#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 -#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 -#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA -#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB -#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC -#define GL_COLOR_ATTACHMENT13_EXT 0x8CED -#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE -#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF -#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 -#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 -#define GL_FRAMEBUFFER_EXT 0x8D40 -#define GL_RENDERBUFFER_EXT 0x8D41 -#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 -#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 -#define GL_STENCIL_INDEX1_EXT 0x8D46 -#define GL_STENCIL_INDEX4_EXT 0x8D47 -#define GL_STENCIL_INDEX8_EXT 0x8D48 -#define GL_STENCIL_INDEX16_EXT 0x8D49 -#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 - -typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); -typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); -typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers); -typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers); -typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers); -typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); -typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); -typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - -#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT) -#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT) -#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT) -#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT) -#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT) -#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT) -#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT) -#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT) -#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT) -#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT) -#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT) -#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT) -#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT) -#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT) -#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT) -#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT) -#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT) - -#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object) - -#endif /* GL_EXT_framebuffer_object */ - -/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */ - -#ifndef GL_EXT_framebuffer_sRGB -#define GL_EXT_framebuffer_sRGB 1 - -#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 -#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA - -#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB) - -#endif /* GL_EXT_framebuffer_sRGB */ - -/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */ - -#ifndef GL_EXT_geometry_shader4 -#define GL_EXT_geometry_shader4 1 - -#define GL_LINES_ADJACENCY_EXT 0xA -#define GL_LINE_STRIP_ADJACENCY_EXT 0xB -#define GL_TRIANGLES_ADJACENCY_EXT 0xC -#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD -#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 -#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 -#define GL_GEOMETRY_SHADER_EXT 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA -#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB -#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC -#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD -#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 - -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); -typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); - -#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) -#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) -#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) -#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) - -#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) - -#endif /* GL_EXT_geometry_shader4 */ - -/* --------------------- GL_EXT_gpu_program_parameters --------------------- */ - -#ifndef GL_EXT_gpu_program_parameters -#define GL_EXT_gpu_program_parameters 1 - -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); - -#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT) -#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT) - -#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters) - -#endif /* GL_EXT_gpu_program_parameters */ - -/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */ - -#ifndef GL_EXT_gpu_shader4 -#define GL_EXT_gpu_shader4 1 - -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD -#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 -#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 -#define GL_SAMPLER_BUFFER_EXT 0x8DC2 -#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 -#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 -#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 -#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 -#define GL_INT_SAMPLER_1D_EXT 0x8DC9 -#define GL_INT_SAMPLER_2D_EXT 0x8DCA -#define GL_INT_SAMPLER_3D_EXT 0x8DCB -#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC -#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD -#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF -#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 - -typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); -typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); -typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); -typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); -typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); -typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); -typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); -typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); -typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); -typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); -typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - -#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT) -#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT) -#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT) -#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT) -#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT) -#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT) -#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT) -#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT) -#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT) -#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT) -#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT) -#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT) -#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT) -#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT) -#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT) -#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT) -#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT) -#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT) -#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT) -#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT) -#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT) -#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT) -#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT) -#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT) -#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT) -#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT) -#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT) -#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT) -#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT) -#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT) -#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT) -#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT) -#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT) -#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT) - -#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4) - -#endif /* GL_EXT_gpu_shader4 */ - -/* ---------------------------- GL_EXT_histogram --------------------------- */ - -#ifndef GL_EXT_histogram -#define GL_EXT_histogram 1 - -#define GL_HISTOGRAM_EXT 0x8024 -#define GL_PROXY_HISTOGRAM_EXT 0x8025 -#define GL_HISTOGRAM_WIDTH_EXT 0x8026 -#define GL_HISTOGRAM_FORMAT_EXT 0x8027 -#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 -#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 -#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A -#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B -#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C -#define GL_HISTOGRAM_SINK_EXT 0x802D -#define GL_MINMAX_EXT 0x802E -#define GL_MINMAX_FORMAT_EXT 0x802F -#define GL_MINMAX_SINK_EXT 0x8030 - -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values); -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values); -typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); -typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); -typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target); - -#define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT) -#define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT) -#define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT) -#define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT) -#define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT) -#define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT) -#define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT) -#define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT) -#define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT) -#define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT) - -#define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram) - -#endif /* GL_EXT_histogram */ - -/* ----------------------- GL_EXT_index_array_formats ---------------------- */ - -#ifndef GL_EXT_index_array_formats -#define GL_EXT_index_array_formats 1 - -#define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats) - -#endif /* GL_EXT_index_array_formats */ - -/* --------------------------- GL_EXT_index_func --------------------------- */ - -#ifndef GL_EXT_index_func -#define GL_EXT_index_func 1 - -typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref); - -#define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT) - -#define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func) - -#endif /* GL_EXT_index_func */ - -/* ------------------------- GL_EXT_index_material ------------------------- */ - -#ifndef GL_EXT_index_material -#define GL_EXT_index_material 1 - -typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); - -#define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT) - -#define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material) - -#endif /* GL_EXT_index_material */ - -/* -------------------------- GL_EXT_index_texture ------------------------- */ - -#ifndef GL_EXT_index_texture -#define GL_EXT_index_texture 1 - -#define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture) - -#endif /* GL_EXT_index_texture */ - -/* -------------------------- GL_EXT_light_texture ------------------------- */ - -#ifndef GL_EXT_light_texture -#define GL_EXT_light_texture 1 - -#define GL_FRAGMENT_MATERIAL_EXT 0x8349 -#define GL_FRAGMENT_NORMAL_EXT 0x834A -#define GL_FRAGMENT_COLOR_EXT 0x834C -#define GL_ATTENUATION_EXT 0x834D -#define GL_SHADOW_ATTENUATION_EXT 0x834E -#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F -#define GL_TEXTURE_LIGHT_EXT 0x8350 -#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 -#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 -#define GL_FRAGMENT_DEPTH_EXT 0x8452 - -typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); -typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname); -typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); - -#define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT) -#define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT) -#define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT) - -#define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture) - -#endif /* GL_EXT_light_texture */ - -/* ------------------------- GL_EXT_misc_attribute ------------------------- */ - -#ifndef GL_EXT_misc_attribute -#define GL_EXT_misc_attribute 1 - -#define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute) - -#endif /* GL_EXT_misc_attribute */ - -/* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */ - -#ifndef GL_EXT_multi_draw_arrays -#define GL_EXT_multi_draw_arrays 1 - -typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint* first, GLsizei *count, GLsizei primcount); -typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const GLvoid **indices, GLsizei primcount); - -#define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT) -#define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT) - -#define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays) - -#endif /* GL_EXT_multi_draw_arrays */ - -/* --------------------------- GL_EXT_multisample -------------------------- */ - -#ifndef GL_EXT_multisample -#define GL_EXT_multisample 1 - -#define GL_MULTISAMPLE_EXT 0x809D -#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F -#define GL_SAMPLE_MASK_EXT 0x80A0 -#define GL_1PASS_EXT 0x80A1 -#define GL_2PASS_0_EXT 0x80A2 -#define GL_2PASS_1_EXT 0x80A3 -#define GL_4PASS_0_EXT 0x80A4 -#define GL_4PASS_1_EXT 0x80A5 -#define GL_4PASS_2_EXT 0x80A6 -#define GL_4PASS_3_EXT 0x80A7 -#define GL_SAMPLE_BUFFERS_EXT 0x80A8 -#define GL_SAMPLES_EXT 0x80A9 -#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA -#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB -#define GL_SAMPLE_PATTERN_EXT 0x80AC -#define GL_MULTISAMPLE_BIT_EXT 0x20000000 - -typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); -typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); - -#define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT) -#define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT) - -#define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample) - -#endif /* GL_EXT_multisample */ - -/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */ - -#ifndef GL_EXT_packed_depth_stencil -#define GL_EXT_packed_depth_stencil 1 - -#define GL_DEPTH_STENCIL_EXT 0x84F9 -#define GL_UNSIGNED_INT_24_8_EXT 0x84FA -#define GL_DEPTH24_STENCIL8_EXT 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 - -#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil) - -#endif /* GL_EXT_packed_depth_stencil */ - -/* -------------------------- GL_EXT_packed_float -------------------------- */ - -#ifndef GL_EXT_packed_float -#define GL_EXT_packed_float 1 - -#define GL_R11F_G11F_B10F_EXT 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B -#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C - -#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float) - -#endif /* GL_EXT_packed_float */ - -/* -------------------------- GL_EXT_packed_pixels ------------------------- */ - -#ifndef GL_EXT_packed_pixels -#define GL_EXT_packed_pixels 1 - -#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 -#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 -#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 -#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 - -#define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels) - -#endif /* GL_EXT_packed_pixels */ - -/* ------------------------ GL_EXT_paletted_texture ------------------------ */ - -#ifndef GL_EXT_paletted_texture -#define GL_EXT_paletted_texture 1 - -#define GL_TEXTURE_1D 0x0DE0 -#define GL_TEXTURE_2D 0x0DE1 -#define GL_PROXY_TEXTURE_1D 0x8063 -#define GL_PROXY_TEXTURE_2D 0x8064 -#define GL_TEXTURE_3D_EXT 0x806F -#define GL_PROXY_TEXTURE_3D_EXT 0x8070 -#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 -#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 -#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA -#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB -#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC -#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD -#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE -#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF -#define GL_COLOR_INDEX1_EXT 0x80E2 -#define GL_COLOR_INDEX2_EXT 0x80E3 -#define GL_COLOR_INDEX4_EXT 0x80E4 -#define GL_COLOR_INDEX8_EXT 0x80E5 -#define GL_COLOR_INDEX12_EXT 0x80E6 -#define GL_COLOR_INDEX16_EXT 0x80E7 -#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED -#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 -#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B - -typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void* data); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void* data); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); - -#define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT) -#define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT) -#define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT) -#define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT) - -#define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture) - -#endif /* GL_EXT_paletted_texture */ - -/* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */ - -#ifndef GL_EXT_pixel_buffer_object -#define GL_EXT_pixel_buffer_object 1 - -#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB -#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF - -#define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object) - -#endif /* GL_EXT_pixel_buffer_object */ - -/* ------------------------- GL_EXT_pixel_transform ------------------------ */ - -#ifndef GL_EXT_pixel_transform -#define GL_EXT_pixel_transform 1 - -#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 -#define GL_PIXEL_MAG_FILTER_EXT 0x8331 -#define GL_PIXEL_MIN_FILTER_EXT 0x8332 -#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 -#define GL_CUBIC_EXT 0x8334 -#define GL_AVERAGE_EXT 0x8335 -#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 -#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 -#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 - -typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param); -typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param); -typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); - -#define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT) -#define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT) -#define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT) -#define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT) -#define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT) -#define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT) - -#define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform) - -#endif /* GL_EXT_pixel_transform */ - -/* ------------------- GL_EXT_pixel_transform_color_table ------------------ */ - -#ifndef GL_EXT_pixel_transform_color_table -#define GL_EXT_pixel_transform_color_table 1 - -#define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table) - -#endif /* GL_EXT_pixel_transform_color_table */ - -/* ------------------------ GL_EXT_point_parameters ------------------------ */ - -#ifndef GL_EXT_point_parameters -#define GL_EXT_point_parameters 1 - -#define GL_POINT_SIZE_MIN_EXT 0x8126 -#define GL_POINT_SIZE_MAX_EXT 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 -#define GL_DISTANCE_ATTENUATION_EXT 0x8129 - -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); - -#define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT) -#define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT) - -#define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters) - -#endif /* GL_EXT_point_parameters */ - -/* ------------------------- GL_EXT_polygon_offset ------------------------- */ - -#ifndef GL_EXT_polygon_offset -#define GL_EXT_polygon_offset 1 - -#define GL_POLYGON_OFFSET_EXT 0x8037 -#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 -#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 - -typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); - -#define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT) - -#define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset) - -#endif /* GL_EXT_polygon_offset */ - -/* ------------------------- GL_EXT_rescale_normal ------------------------- */ - -#ifndef GL_EXT_rescale_normal -#define GL_EXT_rescale_normal 1 - -#define GL_RESCALE_NORMAL_EXT 0x803A - -#define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal) - -#endif /* GL_EXT_rescale_normal */ - -/* -------------------------- GL_EXT_scene_marker -------------------------- */ - -#ifndef GL_EXT_scene_marker -#define GL_EXT_scene_marker 1 - -typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void); -typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void); - -#define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT) -#define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT) - -#define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker) - -#endif /* GL_EXT_scene_marker */ - -/* ------------------------- GL_EXT_secondary_color ------------------------ */ - -#ifndef GL_EXT_secondary_color -#define GL_EXT_secondary_color 1 - -#define GL_COLOR_SUM_EXT 0x8458 -#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 -#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A -#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B -#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C -#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D -#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E - -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); - -#define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT) -#define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT) -#define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT) -#define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT) -#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT) -#define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT) -#define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT) -#define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT) -#define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT) -#define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT) -#define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT) -#define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT) -#define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT) -#define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT) -#define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT) -#define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT) -#define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT) - -#define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color) - -#endif /* GL_EXT_secondary_color */ - -/* --------------------- GL_EXT_separate_specular_color -------------------- */ - -#ifndef GL_EXT_separate_specular_color -#define GL_EXT_separate_specular_color 1 - -#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 -#define GL_SINGLE_COLOR_EXT 0x81F9 -#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA - -#define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color) - -#endif /* GL_EXT_separate_specular_color */ - -/* -------------------------- GL_EXT_shadow_funcs -------------------------- */ - -#ifndef GL_EXT_shadow_funcs -#define GL_EXT_shadow_funcs 1 - -#define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs) - -#endif /* GL_EXT_shadow_funcs */ - -/* --------------------- GL_EXT_shared_texture_palette --------------------- */ - -#ifndef GL_EXT_shared_texture_palette -#define GL_EXT_shared_texture_palette 1 - -#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB - -#define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette) - -#endif /* GL_EXT_shared_texture_palette */ - -/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */ - -#ifndef GL_EXT_stencil_clear_tag -#define GL_EXT_stencil_clear_tag 1 - -#define GL_STENCIL_TAG_BITS_EXT 0x88F2 -#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 - -#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag) - -#endif /* GL_EXT_stencil_clear_tag */ - -/* ------------------------ GL_EXT_stencil_two_side ------------------------ */ - -#ifndef GL_EXT_stencil_two_side -#define GL_EXT_stencil_two_side 1 - -#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 -#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 - -typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); - -#define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT) - -#define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side) - -#endif /* GL_EXT_stencil_two_side */ - -/* -------------------------- GL_EXT_stencil_wrap -------------------------- */ - -#ifndef GL_EXT_stencil_wrap -#define GL_EXT_stencil_wrap 1 - -#define GL_INCR_WRAP_EXT 0x8507 -#define GL_DECR_WRAP_EXT 0x8508 - -#define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap) - -#endif /* GL_EXT_stencil_wrap */ - -/* --------------------------- GL_EXT_subtexture --------------------------- */ - -#ifndef GL_EXT_subtexture -#define GL_EXT_subtexture 1 - -typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); - -#define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT) -#define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT) -#define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT) - -#define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture) - -#endif /* GL_EXT_subtexture */ - -/* ----------------------------- GL_EXT_texture ---------------------------- */ - -#ifndef GL_EXT_texture -#define GL_EXT_texture 1 - -#define GL_ALPHA4_EXT 0x803B -#define GL_ALPHA8_EXT 0x803C -#define GL_ALPHA12_EXT 0x803D -#define GL_ALPHA16_EXT 0x803E -#define GL_LUMINANCE4_EXT 0x803F -#define GL_LUMINANCE8_EXT 0x8040 -#define GL_LUMINANCE12_EXT 0x8041 -#define GL_LUMINANCE16_EXT 0x8042 -#define GL_LUMINANCE4_ALPHA4_EXT 0x8043 -#define GL_LUMINANCE6_ALPHA2_EXT 0x8044 -#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 -#define GL_LUMINANCE12_ALPHA4_EXT 0x8046 -#define GL_LUMINANCE12_ALPHA12_EXT 0x8047 -#define GL_LUMINANCE16_ALPHA16_EXT 0x8048 -#define GL_INTENSITY_EXT 0x8049 -#define GL_INTENSITY4_EXT 0x804A -#define GL_INTENSITY8_EXT 0x804B -#define GL_INTENSITY12_EXT 0x804C -#define GL_INTENSITY16_EXT 0x804D -#define GL_RGB2_EXT 0x804E -#define GL_RGB4_EXT 0x804F -#define GL_RGB5_EXT 0x8050 -#define GL_RGB8_EXT 0x8051 -#define GL_RGB10_EXT 0x8052 -#define GL_RGB12_EXT 0x8053 -#define GL_RGB16_EXT 0x8054 -#define GL_RGBA2_EXT 0x8055 -#define GL_RGBA4_EXT 0x8056 -#define GL_RGB5_A1_EXT 0x8057 -#define GL_RGBA8_EXT 0x8058 -#define GL_RGB10_A2_EXT 0x8059 -#define GL_RGBA12_EXT 0x805A -#define GL_RGBA16_EXT 0x805B -#define GL_TEXTURE_RED_SIZE_EXT 0x805C -#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D -#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E -#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F -#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 -#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 -#define GL_REPLACE_EXT 0x8062 -#define GL_PROXY_TEXTURE_1D_EXT 0x8063 -#define GL_PROXY_TEXTURE_2D_EXT 0x8064 - -#define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture) - -#endif /* GL_EXT_texture */ - -/* ---------------------------- GL_EXT_texture3D --------------------------- */ - -#ifndef GL_EXT_texture3D -#define GL_EXT_texture3D 1 - -#define GL_PACK_SKIP_IMAGES_EXT 0x806B -#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C -#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D -#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E -#define GL_TEXTURE_3D_EXT 0x806F -#define GL_PROXY_TEXTURE_3D_EXT 0x8070 -#define GL_TEXTURE_DEPTH_EXT 0x8071 -#define GL_TEXTURE_WRAP_R_EXT 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 - -typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); - -#define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT) - -#define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D) - -#endif /* GL_EXT_texture3D */ - -/* -------------------------- GL_EXT_texture_array ------------------------- */ - -#ifndef GL_EXT_texture_array -#define GL_EXT_texture_array 1 - -#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E -#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF -#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 -#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 -#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A -#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B -#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D - -#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) - -#endif /* GL_EXT_texture_array */ - -/* ---------------------- GL_EXT_texture_buffer_object --------------------- */ - -#ifndef GL_EXT_texture_buffer_object -#define GL_EXT_texture_buffer_object 1 - -#define GL_TEXTURE_BUFFER_EXT 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D -#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E - -typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); - -#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT) - -#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object) - -#endif /* GL_EXT_texture_buffer_object */ - -/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */ - -#ifndef GL_EXT_texture_compression_dxt1 -#define GL_EXT_texture_compression_dxt1 1 - -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 - -#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1) - -#endif /* GL_EXT_texture_compression_dxt1 */ - -/* -------------------- GL_EXT_texture_compression_latc -------------------- */ - -#ifndef GL_EXT_texture_compression_latc -#define GL_EXT_texture_compression_latc 1 - -#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 -#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 -#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 -#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 - -#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc) - -#endif /* GL_EXT_texture_compression_latc */ - -/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */ - -#ifndef GL_EXT_texture_compression_rgtc -#define GL_EXT_texture_compression_rgtc 1 - -#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB -#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC -#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD -#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE - -#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc) - -#endif /* GL_EXT_texture_compression_rgtc */ - -/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */ - -#ifndef GL_EXT_texture_compression_s3tc -#define GL_EXT_texture_compression_s3tc 1 - -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 -#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 -#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 - -#define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc) - -#endif /* GL_EXT_texture_compression_s3tc */ - -/* ------------------------ GL_EXT_texture_cube_map ------------------------ */ - -#ifndef GL_EXT_texture_cube_map -#define GL_EXT_texture_cube_map 1 - -#define GL_NORMAL_MAP_EXT 0x8511 -#define GL_REFLECTION_MAP_EXT 0x8512 -#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C - -#define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map) - -#endif /* GL_EXT_texture_cube_map */ - -/* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */ - -#ifndef GL_EXT_texture_edge_clamp -#define GL_EXT_texture_edge_clamp 1 - -#define GL_CLAMP_TO_EDGE_EXT 0x812F - -#define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp) - -#endif /* GL_EXT_texture_edge_clamp */ - -/* --------------------------- GL_EXT_texture_env -------------------------- */ - -#ifndef GL_EXT_texture_env -#define GL_EXT_texture_env 1 - -#define GL_TEXTURE_ENV0_EXT 0 -#define GL_ENV_BLEND_EXT 0 -#define GL_TEXTURE_ENV_SHIFT_EXT 0 -#define GL_ENV_REPLACE_EXT 0 -#define GL_ENV_ADD_EXT 0 -#define GL_ENV_SUBTRACT_EXT 0 -#define GL_TEXTURE_ENV_MODE_ALPHA_EXT 0 -#define GL_ENV_REVERSE_SUBTRACT_EXT 0 -#define GL_ENV_REVERSE_BLEND_EXT 0 -#define GL_ENV_COPY_EXT 0 -#define GL_ENV_MODULATE_EXT 0 - -#define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env) - -#endif /* GL_EXT_texture_env */ - -/* ------------------------- GL_EXT_texture_env_add ------------------------ */ - -#ifndef GL_EXT_texture_env_add -#define GL_EXT_texture_env_add 1 - -#define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add) - -#endif /* GL_EXT_texture_env_add */ - -/* ----------------------- GL_EXT_texture_env_combine ---------------------- */ - -#ifndef GL_EXT_texture_env_combine -#define GL_EXT_texture_env_combine 1 - -#define GL_COMBINE_EXT 0x8570 -#define GL_COMBINE_RGB_EXT 0x8571 -#define GL_COMBINE_ALPHA_EXT 0x8572 -#define GL_RGB_SCALE_EXT 0x8573 -#define GL_ADD_SIGNED_EXT 0x8574 -#define GL_INTERPOLATE_EXT 0x8575 -#define GL_CONSTANT_EXT 0x8576 -#define GL_PRIMARY_COLOR_EXT 0x8577 -#define GL_PREVIOUS_EXT 0x8578 -#define GL_SOURCE0_RGB_EXT 0x8580 -#define GL_SOURCE1_RGB_EXT 0x8581 -#define GL_SOURCE2_RGB_EXT 0x8582 -#define GL_SOURCE0_ALPHA_EXT 0x8588 -#define GL_SOURCE1_ALPHA_EXT 0x8589 -#define GL_SOURCE2_ALPHA_EXT 0x858A -#define GL_OPERAND0_RGB_EXT 0x8590 -#define GL_OPERAND1_RGB_EXT 0x8591 -#define GL_OPERAND2_RGB_EXT 0x8592 -#define GL_OPERAND0_ALPHA_EXT 0x8598 -#define GL_OPERAND1_ALPHA_EXT 0x8599 -#define GL_OPERAND2_ALPHA_EXT 0x859A - -#define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine) - -#endif /* GL_EXT_texture_env_combine */ - -/* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */ - -#ifndef GL_EXT_texture_env_dot3 -#define GL_EXT_texture_env_dot3 1 - -#define GL_DOT3_RGB_EXT 0x8740 -#define GL_DOT3_RGBA_EXT 0x8741 - -#define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3) - -#endif /* GL_EXT_texture_env_dot3 */ - -/* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */ - -#ifndef GL_EXT_texture_filter_anisotropic -#define GL_EXT_texture_filter_anisotropic 1 - -#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF - -#define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic) - -#endif /* GL_EXT_texture_filter_anisotropic */ - -/* ------------------------- GL_EXT_texture_integer ------------------------ */ - -#ifndef GL_EXT_texture_integer -#define GL_EXT_texture_integer 1 - -#define GL_RGBA32UI_EXT 0x8D70 -#define GL_RGB32UI_EXT 0x8D71 -#define GL_ALPHA32UI_EXT 0x8D72 -#define GL_INTENSITY32UI_EXT 0x8D73 -#define GL_LUMINANCE32UI_EXT 0x8D74 -#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 -#define GL_RGBA16UI_EXT 0x8D76 -#define GL_RGB16UI_EXT 0x8D77 -#define GL_ALPHA16UI_EXT 0x8D78 -#define GL_INTENSITY16UI_EXT 0x8D79 -#define GL_LUMINANCE16UI_EXT 0x8D7A -#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B -#define GL_RGBA8UI_EXT 0x8D7C -#define GL_RGB8UI_EXT 0x8D7D -#define GL_ALPHA8UI_EXT 0x8D7E -#define GL_INTENSITY8UI_EXT 0x8D7F -#define GL_LUMINANCE8UI_EXT 0x8D80 -#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 -#define GL_RGBA32I_EXT 0x8D82 -#define GL_RGB32I_EXT 0x8D83 -#define GL_ALPHA32I_EXT 0x8D84 -#define GL_INTENSITY32I_EXT 0x8D85 -#define GL_LUMINANCE32I_EXT 0x8D86 -#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 -#define GL_RGBA16I_EXT 0x8D88 -#define GL_RGB16I_EXT 0x8D89 -#define GL_ALPHA16I_EXT 0x8D8A -#define GL_INTENSITY16I_EXT 0x8D8B -#define GL_LUMINANCE16I_EXT 0x8D8C -#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D -#define GL_RGBA8I_EXT 0x8D8E -#define GL_RGB8I_EXT 0x8D8F -#define GL_ALPHA8I_EXT 0x8D90 -#define GL_INTENSITY8I_EXT 0x8D91 -#define GL_LUMINANCE8I_EXT 0x8D92 -#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 -#define GL_RED_INTEGER_EXT 0x8D94 -#define GL_GREEN_INTEGER_EXT 0x8D95 -#define GL_BLUE_INTEGER_EXT 0x8D96 -#define GL_ALPHA_INTEGER_EXT 0x8D97 -#define GL_RGB_INTEGER_EXT 0x8D98 -#define GL_RGBA_INTEGER_EXT 0x8D99 -#define GL_BGR_INTEGER_EXT 0x8D9A -#define GL_BGRA_INTEGER_EXT 0x8D9B -#define GL_LUMINANCE_INTEGER_EXT 0x8D9C -#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D -#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E - -typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); -typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); -typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); -typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); -typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); - -#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT) -#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT) -#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT) -#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT) -#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT) -#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT) - -#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer) - -#endif /* GL_EXT_texture_integer */ - -/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */ - -#ifndef GL_EXT_texture_lod_bias -#define GL_EXT_texture_lod_bias 1 - -#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD -#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 -#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 - -#define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias) - -#endif /* GL_EXT_texture_lod_bias */ - -/* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */ - -#ifndef GL_EXT_texture_mirror_clamp -#define GL_EXT_texture_mirror_clamp 1 - -#define GL_MIRROR_CLAMP_EXT 0x8742 -#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 -#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 - -#define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp) - -#endif /* GL_EXT_texture_mirror_clamp */ - -/* ------------------------- GL_EXT_texture_object ------------------------- */ - -#ifndef GL_EXT_texture_object -#define GL_EXT_texture_object 1 - -#define GL_TEXTURE_PRIORITY_EXT 0x8066 -#define GL_TEXTURE_RESIDENT_EXT 0x8067 -#define GL_TEXTURE_1D_BINDING_EXT 0x8068 -#define GL_TEXTURE_2D_BINDING_EXT 0x8069 -#define GL_TEXTURE_3D_BINDING_EXT 0x806A - -typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences); -typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); -typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures); -typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures); -typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture); -typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities); - -#define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT) -#define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT) -#define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT) -#define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT) -#define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT) -#define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT) - -#define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object) - -#endif /* GL_EXT_texture_object */ - -/* --------------------- GL_EXT_texture_perturb_normal --------------------- */ - -#ifndef GL_EXT_texture_perturb_normal -#define GL_EXT_texture_perturb_normal 1 - -#define GL_PERTURB_EXT 0x85AE -#define GL_TEXTURE_NORMAL_EXT 0x85AF - -typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); - -#define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT) - -#define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal) - -#endif /* GL_EXT_texture_perturb_normal */ - -/* ------------------------ GL_EXT_texture_rectangle ----------------------- */ - -#ifndef GL_EXT_texture_rectangle -#define GL_EXT_texture_rectangle 1 - -#define GL_TEXTURE_RECTANGLE_EXT 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 - -#define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle) - -#endif /* GL_EXT_texture_rectangle */ - -/* -------------------------- GL_EXT_texture_sRGB -------------------------- */ - -#ifndef GL_EXT_texture_sRGB -#define GL_EXT_texture_sRGB 1 - -#define GL_SRGB_EXT 0x8C40 -#define GL_SRGB8_EXT 0x8C41 -#define GL_SRGB_ALPHA_EXT 0x8C42 -#define GL_SRGB8_ALPHA8_EXT 0x8C43 -#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 -#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 -#define GL_SLUMINANCE_EXT 0x8C46 -#define GL_SLUMINANCE8_EXT 0x8C47 -#define GL_COMPRESSED_SRGB_EXT 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 -#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A -#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B -#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F - -#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB) - -#endif /* GL_EXT_texture_sRGB */ - -/* --------------------- GL_EXT_texture_shared_exponent -------------------- */ - -#ifndef GL_EXT_texture_shared_exponent -#define GL_EXT_texture_shared_exponent 1 - -#define GL_RGB9_E5_EXT 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E -#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F - -#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent) - -#endif /* GL_EXT_texture_shared_exponent */ - -/* ------------------------- GL_EXT_texture_swizzle ------------------------ */ - -#ifndef GL_EXT_texture_swizzle -#define GL_EXT_texture_swizzle 1 - -#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 -#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 -#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 -#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 -#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 - -#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle) - -#endif /* GL_EXT_texture_swizzle */ - -/* --------------------------- GL_EXT_timer_query -------------------------- */ - -#ifndef GL_EXT_timer_query -#define GL_EXT_timer_query 1 - -#define GL_TIME_ELAPSED_EXT 0x88BF - -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); -typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); - -#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT) -#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT) - -#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query) - -#endif /* GL_EXT_timer_query */ - -/* ----------------------- GL_EXT_transform_feedback ----------------------- */ - -#ifndef GL_EXT_transform_feedback -#define GL_EXT_transform_feedback 1 - -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 -#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 -#define GL_RASTERIZER_DISCARD_EXT 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B -#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C -#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F - -typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); -typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, char *name); -typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); - -#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT) -#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT) -#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT) -#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT) -#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT) -#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT) -#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT) - -#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback) - -#endif /* GL_EXT_transform_feedback */ - -/* -------------------------- GL_EXT_vertex_array -------------------------- */ - -#ifndef GL_EXT_vertex_array -#define GL_EXT_vertex_array 1 - -#define GL_DOUBLE_EXT 0x140A -#define GL_VERTEX_ARRAY_EXT 0x8074 -#define GL_NORMAL_ARRAY_EXT 0x8075 -#define GL_COLOR_ARRAY_EXT 0x8076 -#define GL_INDEX_ARRAY_EXT 0x8077 -#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 -#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 -#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A -#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B -#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C -#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D -#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E -#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F -#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 -#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 -#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 -#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 -#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 -#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 -#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 -#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 -#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 -#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 -#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A -#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B -#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C -#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D -#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E -#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F -#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 -#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 -#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 -#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 - -typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); -typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer); -typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); -typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer); -typedef void (GLAPIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, void** params); -typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer); -typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer); -typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer); -typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer); - -#define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT) -#define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT) -#define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT) -#define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT) -#define glGetPointervEXT GLEW_GET_FUN(__glewGetPointervEXT) -#define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT) -#define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT) -#define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT) -#define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT) - -#define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array) - -#endif /* GL_EXT_vertex_array */ - -/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */ - -#ifndef GL_EXT_vertex_array_bgra -#define GL_EXT_vertex_array_bgra 1 - -#define GL_BGRA 0x80E1 - -#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra) - -#endif /* GL_EXT_vertex_array_bgra */ - -/* -------------------------- GL_EXT_vertex_shader ------------------------- */ - -#ifndef GL_EXT_vertex_shader -#define GL_EXT_vertex_shader 1 - -#define GL_VERTEX_SHADER_EXT 0x8780 -#define GL_VERTEX_SHADER_BINDING_EXT 0x8781 -#define GL_OP_INDEX_EXT 0x8782 -#define GL_OP_NEGATE_EXT 0x8783 -#define GL_OP_DOT3_EXT 0x8784 -#define GL_OP_DOT4_EXT 0x8785 -#define GL_OP_MUL_EXT 0x8786 -#define GL_OP_ADD_EXT 0x8787 -#define GL_OP_MADD_EXT 0x8788 -#define GL_OP_FRAC_EXT 0x8789 -#define GL_OP_MAX_EXT 0x878A -#define GL_OP_MIN_EXT 0x878B -#define GL_OP_SET_GE_EXT 0x878C -#define GL_OP_SET_LT_EXT 0x878D -#define GL_OP_CLAMP_EXT 0x878E -#define GL_OP_FLOOR_EXT 0x878F -#define GL_OP_ROUND_EXT 0x8790 -#define GL_OP_EXP_BASE_2_EXT 0x8791 -#define GL_OP_LOG_BASE_2_EXT 0x8792 -#define GL_OP_POWER_EXT 0x8793 -#define GL_OP_RECIP_EXT 0x8794 -#define GL_OP_RECIP_SQRT_EXT 0x8795 -#define GL_OP_SUB_EXT 0x8796 -#define GL_OP_CROSS_PRODUCT_EXT 0x8797 -#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 -#define GL_OP_MOV_EXT 0x8799 -#define GL_OUTPUT_VERTEX_EXT 0x879A -#define GL_OUTPUT_COLOR0_EXT 0x879B -#define GL_OUTPUT_COLOR1_EXT 0x879C -#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D -#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E -#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F -#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 -#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 -#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 -#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 -#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 -#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 -#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 -#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 -#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 -#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 -#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA -#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB -#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC -#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD -#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE -#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF -#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 -#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 -#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 -#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 -#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 -#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 -#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 -#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 -#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 -#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 -#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA -#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB -#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC -#define GL_OUTPUT_FOG_EXT 0x87BD -#define GL_SCALAR_EXT 0x87BE -#define GL_VECTOR_EXT 0x87BF -#define GL_MATRIX_EXT 0x87C0 -#define GL_VARIANT_EXT 0x87C1 -#define GL_INVARIANT_EXT 0x87C2 -#define GL_LOCAL_CONSTANT_EXT 0x87C3 -#define GL_LOCAL_EXT 0x87C4 -#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 -#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 -#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 -#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 -#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE -#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF -#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 -#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 -#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 -#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 -#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 -#define GL_X_EXT 0x87D5 -#define GL_Y_EXT 0x87D6 -#define GL_Z_EXT 0x87D7 -#define GL_W_EXT 0x87D8 -#define GL_NEGATIVE_X_EXT 0x87D9 -#define GL_NEGATIVE_Y_EXT 0x87DA -#define GL_NEGATIVE_Z_EXT 0x87DB -#define GL_NEGATIVE_W_EXT 0x87DC -#define GL_ZERO_EXT 0x87DD -#define GL_ONE_EXT 0x87DE -#define GL_NEGATIVE_ONE_EXT 0x87DF -#define GL_NORMALIZED_RANGE_EXT 0x87E0 -#define GL_FULL_RANGE_EXT 0x87E1 -#define GL_CURRENT_VERTEX_EXT 0x87E2 -#define GL_MVP_MATRIX_EXT 0x87E3 -#define GL_VARIANT_VALUE_EXT 0x87E4 -#define GL_VARIANT_DATATYPE_EXT 0x87E5 -#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 -#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 -#define GL_VARIANT_ARRAY_EXT 0x87E8 -#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 -#define GL_INVARIANT_VALUE_EXT 0x87EA -#define GL_INVARIANT_DATATYPE_EXT 0x87EB -#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC -#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED - -typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void); -typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); -typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); -typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value); -typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); -typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); -typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void); -typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); -typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components); -typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); -typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); -typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); -typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); -typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); -typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); -typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); -typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); -typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); -typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); -typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid **data); -typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); -typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); -typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr); -typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr); -typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); -typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); -typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); -typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); -typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr); -typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr); -typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); - -#define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT) -#define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT) -#define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT) -#define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT) -#define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT) -#define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT) -#define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT) -#define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT) -#define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT) -#define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT) -#define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT) -#define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT) -#define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT) -#define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT) -#define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT) -#define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT) -#define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT) -#define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT) -#define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT) -#define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT) -#define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT) -#define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT) -#define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT) -#define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT) -#define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT) -#define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT) -#define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT) -#define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT) -#define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT) -#define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT) -#define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT) -#define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT) -#define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT) -#define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT) -#define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT) -#define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT) -#define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT) -#define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT) -#define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT) -#define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT) -#define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT) -#define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT) - -#define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader) - -#endif /* GL_EXT_vertex_shader */ - -/* ------------------------ GL_EXT_vertex_weighting ------------------------ */ - -#ifndef GL_EXT_vertex_weighting -#define GL_EXT_vertex_weighting 1 - -#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3 -#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6 -#define GL_MODELVIEW0_EXT 0x1700 -#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 -#define GL_MODELVIEW1_MATRIX_EXT 0x8506 -#define GL_VERTEX_WEIGHTING_EXT 0x8509 -#define GL_MODELVIEW1_EXT 0x850A -#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B -#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C -#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D -#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E -#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F -#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 - -typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, void* pointer); -typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); -typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight); - -#define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT) -#define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT) -#define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT) - -#define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting) - -#endif /* GL_EXT_vertex_weighting */ - -/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ - -#ifndef GL_GREMEDY_frame_terminator -#define GL_GREMEDY_frame_terminator 1 - -typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); - -#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) - -#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) - -#endif /* GL_GREMEDY_frame_terminator */ - -/* ------------------------ GL_GREMEDY_string_marker ----------------------- */ - -#ifndef GL_GREMEDY_string_marker -#define GL_GREMEDY_string_marker 1 - -typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void* string); - -#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY) - -#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker) - -#endif /* GL_GREMEDY_string_marker */ - -/* --------------------- GL_HP_convolution_border_modes -------------------- */ - -#ifndef GL_HP_convolution_border_modes -#define GL_HP_convolution_border_modes 1 - -#define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes) - -#endif /* GL_HP_convolution_border_modes */ - -/* ------------------------- GL_HP_image_transform ------------------------- */ - -#ifndef GL_HP_image_transform -#define GL_HP_image_transform 1 - -typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param); -typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param); -typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); - -#define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP) -#define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP) -#define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP) -#define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP) -#define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP) -#define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP) - -#define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform) - -#endif /* GL_HP_image_transform */ - -/* -------------------------- GL_HP_occlusion_test ------------------------- */ - -#ifndef GL_HP_occlusion_test -#define GL_HP_occlusion_test 1 - -#define GL_OCCLUSION_TEST_HP 0x8165 -#define GL_OCCLUSION_TEST_RESULT_HP 0x8166 - -#define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test) - -#endif /* GL_HP_occlusion_test */ - -/* ------------------------- GL_HP_texture_lighting ------------------------ */ - -#ifndef GL_HP_texture_lighting -#define GL_HP_texture_lighting 1 - -#define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting) - -#endif /* GL_HP_texture_lighting */ - -/* --------------------------- GL_IBM_cull_vertex -------------------------- */ - -#ifndef GL_IBM_cull_vertex -#define GL_IBM_cull_vertex 1 - -#define GL_CULL_VERTEX_IBM 103050 - -#define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex) - -#endif /* GL_IBM_cull_vertex */ - -/* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */ - -#ifndef GL_IBM_multimode_draw_arrays -#define GL_IBM_multimode_draw_arrays 1 - -typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); -typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); - -#define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM) -#define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM) - -#define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays) - -#endif /* GL_IBM_multimode_draw_arrays */ - -/* ------------------------- GL_IBM_rasterpos_clip ------------------------- */ - -#ifndef GL_IBM_rasterpos_clip -#define GL_IBM_rasterpos_clip 1 - -#define GL_RASTER_POSITION_UNCLIPPED_IBM 103010 - -#define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip) - -#endif /* GL_IBM_rasterpos_clip */ - -/* --------------------------- GL_IBM_static_data -------------------------- */ - -#ifndef GL_IBM_static_data -#define GL_IBM_static_data 1 - -#define GL_ALL_STATIC_DATA_IBM 103060 -#define GL_STATIC_VERTEX_ARRAY_IBM 103061 - -#define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data) - -#endif /* GL_IBM_static_data */ - -/* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */ - -#ifndef GL_IBM_texture_mirrored_repeat -#define GL_IBM_texture_mirrored_repeat 1 - -#define GL_MIRRORED_REPEAT_IBM 0x8370 - -#define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat) - -#endif /* GL_IBM_texture_mirrored_repeat */ - -/* ----------------------- GL_IBM_vertex_array_lists ----------------------- */ - -#ifndef GL_IBM_vertex_array_lists -#define GL_IBM_vertex_array_lists 1 - -#define GL_VERTEX_ARRAY_LIST_IBM 103070 -#define GL_NORMAL_ARRAY_LIST_IBM 103071 -#define GL_COLOR_ARRAY_LIST_IBM 103072 -#define GL_INDEX_ARRAY_LIST_IBM 103073 -#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 -#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 -#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 -#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 -#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 -#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 -#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 -#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 -#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 -#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 -#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 -#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 - -typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); -typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride); - -#define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM) -#define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM) -#define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM) -#define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM) -#define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM) -#define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM) -#define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM) -#define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM) - -#define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists) - -#endif /* GL_IBM_vertex_array_lists */ - -/* -------------------------- GL_INGR_color_clamp -------------------------- */ - -#ifndef GL_INGR_color_clamp -#define GL_INGR_color_clamp 1 - -#define GL_RED_MIN_CLAMP_INGR 0x8560 -#define GL_GREEN_MIN_CLAMP_INGR 0x8561 -#define GL_BLUE_MIN_CLAMP_INGR 0x8562 -#define GL_ALPHA_MIN_CLAMP_INGR 0x8563 -#define GL_RED_MAX_CLAMP_INGR 0x8564 -#define GL_GREEN_MAX_CLAMP_INGR 0x8565 -#define GL_BLUE_MAX_CLAMP_INGR 0x8566 -#define GL_ALPHA_MAX_CLAMP_INGR 0x8567 - -#define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp) - -#endif /* GL_INGR_color_clamp */ - -/* ------------------------- GL_INGR_interlace_read ------------------------ */ - -#ifndef GL_INGR_interlace_read -#define GL_INGR_interlace_read 1 - -#define GL_INTERLACE_READ_INGR 0x8568 - -#define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read) - -#endif /* GL_INGR_interlace_read */ - -/* ------------------------ GL_INTEL_parallel_arrays ----------------------- */ - -#ifndef GL_INTEL_parallel_arrays -#define GL_INTEL_parallel_arrays 1 - -#define GL_PARALLEL_ARRAYS_INTEL 0x83F4 -#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 -#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 -#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 -#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 - -typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); -typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer); -typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); -typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); - -#define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL) -#define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL) -#define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL) -#define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL) - -#define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays) - -#endif /* GL_INTEL_parallel_arrays */ - -/* ------------------------ GL_INTEL_texture_scissor ----------------------- */ - -#ifndef GL_INTEL_texture_scissor -#define GL_INTEL_texture_scissor 1 - -typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc); -typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh); - -#define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL) -#define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL) - -#define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor) - -#endif /* GL_INTEL_texture_scissor */ - -/* -------------------------- GL_KTX_buffer_region ------------------------- */ - -#ifndef GL_KTX_buffer_region -#define GL_KTX_buffer_region 1 - -#define GL_KTX_FRONT_REGION 0x0 -#define GL_KTX_BACK_REGION 0x1 -#define GL_KTX_Z_REGION 0x2 -#define GL_KTX_STENCIL_REGION 0x3 - -typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) (void); -typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) (GLenum region); -typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); -typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) (GLenum region); -typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); - -#define glBufferRegionEnabledEXT GLEW_GET_FUN(__glewBufferRegionEnabledEXT) -#define glDeleteBufferRegionEXT GLEW_GET_FUN(__glewDeleteBufferRegionEXT) -#define glDrawBufferRegionEXT GLEW_GET_FUN(__glewDrawBufferRegionEXT) -#define glNewBufferRegionEXT GLEW_GET_FUN(__glewNewBufferRegionEXT) -#define glReadBufferRegionEXT GLEW_GET_FUN(__glewReadBufferRegionEXT) - -#define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region) - -#endif /* GL_KTX_buffer_region */ - -/* ------------------------- GL_MESAX_texture_stack ------------------------ */ - -#ifndef GL_MESAX_texture_stack -#define GL_MESAX_texture_stack 1 - -#define GL_TEXTURE_1D_STACK_MESAX 0x8759 -#define GL_TEXTURE_2D_STACK_MESAX 0x875A -#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B -#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C -#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D -#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E - -#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack) - -#endif /* GL_MESAX_texture_stack */ - -/* -------------------------- GL_MESA_pack_invert -------------------------- */ - -#ifndef GL_MESA_pack_invert -#define GL_MESA_pack_invert 1 - -#define GL_PACK_INVERT_MESA 0x8758 - -#define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert) - -#endif /* GL_MESA_pack_invert */ - -/* ------------------------- GL_MESA_resize_buffers ------------------------ */ - -#ifndef GL_MESA_resize_buffers -#define GL_MESA_resize_buffers 1 - -typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void); - -#define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA) - -#define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers) - -#endif /* GL_MESA_resize_buffers */ - -/* --------------------------- GL_MESA_window_pos -------------------------- */ - -#ifndef GL_MESA_window_pos -#define GL_MESA_window_pos 1 - -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); - -#define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA) -#define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA) -#define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA) -#define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA) -#define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA) -#define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA) -#define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA) -#define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA) -#define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA) -#define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA) -#define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA) -#define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA) -#define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA) -#define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA) -#define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA) -#define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA) -#define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA) -#define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA) -#define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA) -#define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA) -#define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA) -#define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA) -#define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA) -#define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA) - -#define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos) - -#endif /* GL_MESA_window_pos */ - -/* ------------------------- GL_MESA_ycbcr_texture ------------------------- */ - -#ifndef GL_MESA_ycbcr_texture -#define GL_MESA_ycbcr_texture 1 - -#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB -#define GL_YCBCR_MESA 0x8757 - -#define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture) - -#endif /* GL_MESA_ycbcr_texture */ - -/* --------------------------- GL_NV_blend_square -------------------------- */ - -#ifndef GL_NV_blend_square -#define GL_NV_blend_square 1 - -#define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square) - -#endif /* GL_NV_blend_square */ - -/* ------------------------ GL_NV_conditional_render ----------------------- */ - -#ifndef GL_NV_conditional_render -#define GL_NV_conditional_render 1 - -#define GL_QUERY_WAIT_NV 0x8E13 -#define GL_QUERY_NO_WAIT_NV 0x8E14 -#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 -#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 - -typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); -typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void); - -#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV) -#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV) - -#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render) - -#endif /* GL_NV_conditional_render */ - -/* ----------------------- GL_NV_copy_depth_to_color ----------------------- */ - -#ifndef GL_NV_copy_depth_to_color -#define GL_NV_copy_depth_to_color 1 - -#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E -#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F - -#define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color) - -#endif /* GL_NV_copy_depth_to_color */ - -/* ------------------------ GL_NV_depth_buffer_float ----------------------- */ - -#ifndef GL_NV_depth_buffer_float -#define GL_NV_depth_buffer_float 1 - -#define GL_DEPTH_COMPONENT32F_NV 0x8DAB -#define GL_DEPTH32F_STENCIL8_NV 0x8DAC -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD -#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF - -typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); -typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); -typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); - -#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV) -#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV) -#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV) - -#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float) - -#endif /* GL_NV_depth_buffer_float */ - -/* --------------------------- GL_NV_depth_clamp --------------------------- */ - -#ifndef GL_NV_depth_clamp -#define GL_NV_depth_clamp 1 - -#define GL_DEPTH_CLAMP_NV 0x864F - -#define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp) - -#endif /* GL_NV_depth_clamp */ - -/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */ - -#ifndef GL_NV_depth_range_unclamped -#define GL_NV_depth_range_unclamped 1 - -#define GL_SAMPLE_COUNT_BITS_NV 0x8864 -#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 -#define GL_QUERY_RESULT_NV 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867 -#define GL_SAMPLE_COUNT_NV 0x8914 - -#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped) - -#endif /* GL_NV_depth_range_unclamped */ - -/* ---------------------------- GL_NV_evaluators --------------------------- */ - -#ifndef GL_NV_evaluators -#define GL_NV_evaluators 1 - -#define GL_EVAL_2D_NV 0x86C0 -#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 -#define GL_MAP_TESSELLATION_NV 0x86C2 -#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 -#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 -#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 -#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 -#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 -#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 -#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 -#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA -#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB -#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC -#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD -#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE -#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF -#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 -#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 -#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 -#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 -#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 -#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 -#define GL_MAX_MAP_TESSELLATION_NV 0x86D6 -#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 - -typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); -typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void* points); -typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void* points); -typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params); - -#define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV) -#define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV) -#define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV) -#define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV) -#define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV) -#define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV) -#define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV) -#define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV) -#define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV) - -#define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators) - -#endif /* GL_NV_evaluators */ - -/* ----------------------- GL_NV_explicit_multisample ---------------------- */ - -#ifndef GL_NV_explicit_multisample -#define GL_NV_explicit_multisample 1 - -#define GL_SAMPLE_POSITION_NV 0x8E50 -#define GL_SAMPLE_MASK_NV 0x8E51 -#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 -#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 -#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 -#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 -#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 -#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 -#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 -#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 - -typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val); -typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); -typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); - -#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV) -#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV) -#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV) - -#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample) - -#endif /* GL_NV_explicit_multisample */ - -/* ------------------------------ GL_NV_fence ------------------------------ */ - -#ifndef GL_NV_fence -#define GL_NV_fence 1 - -#define GL_ALL_COMPLETED_NV 0x84F2 -#define GL_FENCE_STATUS_NV 0x84F3 -#define GL_FENCE_CONDITION_NV 0x84F4 - -typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences); -typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence); -typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences); -typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence); -typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); -typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence); - -#define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV) -#define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV) -#define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV) -#define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV) -#define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV) -#define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV) -#define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV) - -#define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence) - -#endif /* GL_NV_fence */ - -/* --------------------------- GL_NV_float_buffer -------------------------- */ - -#ifndef GL_NV_float_buffer -#define GL_NV_float_buffer 1 - -#define GL_FLOAT_R_NV 0x8880 -#define GL_FLOAT_RG_NV 0x8881 -#define GL_FLOAT_RGB_NV 0x8882 -#define GL_FLOAT_RGBA_NV 0x8883 -#define GL_FLOAT_R16_NV 0x8884 -#define GL_FLOAT_R32_NV 0x8885 -#define GL_FLOAT_RG16_NV 0x8886 -#define GL_FLOAT_RG32_NV 0x8887 -#define GL_FLOAT_RGB16_NV 0x8888 -#define GL_FLOAT_RGB32_NV 0x8889 -#define GL_FLOAT_RGBA16_NV 0x888A -#define GL_FLOAT_RGBA32_NV 0x888B -#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C -#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D -#define GL_FLOAT_RGBA_MODE_NV 0x888E - -#define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer) - -#endif /* GL_NV_float_buffer */ - -/* --------------------------- GL_NV_fog_distance -------------------------- */ - -#ifndef GL_NV_fog_distance -#define GL_NV_fog_distance 1 - -#define GL_FOG_DISTANCE_MODE_NV 0x855A -#define GL_EYE_RADIAL_NV 0x855B -#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C - -#define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance) - -#endif /* GL_NV_fog_distance */ - -/* ------------------------- GL_NV_fragment_program ------------------------ */ - -#ifndef GL_NV_fragment_program -#define GL_NV_fragment_program 1 - -#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 -#define GL_FRAGMENT_PROGRAM_NV 0x8870 -#define GL_MAX_TEXTURE_COORDS_NV 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 -#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 -#define GL_PROGRAM_ERROR_STRING_NV 0x8874 - -typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]); -typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]); - -#define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV) -#define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV) -#define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV) -#define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV) -#define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV) -#define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV) - -#define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program) - -#endif /* GL_NV_fragment_program */ - -/* ------------------------ GL_NV_fragment_program2 ------------------------ */ - -#ifndef GL_NV_fragment_program2 -#define GL_NV_fragment_program2 1 - -#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 -#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 -#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 -#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 -#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 - -#define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2) - -#endif /* GL_NV_fragment_program2 */ - -/* ------------------------ GL_NV_fragment_program4 ------------------------ */ - -#ifndef GL_NV_fragment_program4 -#define GL_NV_fragment_program4 1 - -#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4) - -#endif /* GL_NV_fragment_program4 */ - -/* --------------------- GL_NV_fragment_program_option --------------------- */ - -#ifndef GL_NV_fragment_program_option -#define GL_NV_fragment_program_option 1 - -#define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option) - -#endif /* GL_NV_fragment_program_option */ - -/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */ - -#ifndef GL_NV_framebuffer_multisample_coverage -#define GL_NV_framebuffer_multisample_coverage 1 - -#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB -#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 -#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 -#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 - -typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); - -#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV) - -#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage) - -#endif /* GL_NV_framebuffer_multisample_coverage */ - -/* ------------------------ GL_NV_geometry_program4 ------------------------ */ - -#ifndef GL_NV_geometry_program4 -#define GL_NV_geometry_program4 1 - -#define GL_GEOMETRY_PROGRAM_NV 0x8C26 -#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 -#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 - -typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); - -#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV) - -#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4) - -#endif /* GL_NV_geometry_program4 */ - -/* ------------------------- GL_NV_geometry_shader4 ------------------------ */ - -#ifndef GL_NV_geometry_shader4 -#define GL_NV_geometry_shader4 1 - -#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4) - -#endif /* GL_NV_geometry_shader4 */ - -/* --------------------------- GL_NV_gpu_program4 -------------------------- */ - -#ifndef GL_NV_gpu_program4 -#define GL_NV_gpu_program4 1 - -#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 -#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 -#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 -#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 -#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 -#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 -#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 - -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); - -#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV) -#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV) -#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV) -#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV) -#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV) -#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV) -#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV) -#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV) -#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV) -#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV) -#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV) -#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV) - -#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4) - -#endif /* GL_NV_gpu_program4 */ - -/* ---------------------------- GL_NV_half_float --------------------------- */ - -#ifndef GL_NV_half_float -#define GL_NV_half_float 1 - -#define GL_HALF_FLOAT_NV 0x140B - -typedef unsigned short GLhalf; - -typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); -typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha); -typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog); -typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q); -typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz); -typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); -typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s); -typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r); -typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y); -typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z); -typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w); -typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); -typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight); -typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); - -#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV) -#define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV) -#define glColor4hNV GLEW_GET_FUN(__glewColor4hNV) -#define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV) -#define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV) -#define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV) -#define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV) -#define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV) -#define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV) -#define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV) -#define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV) -#define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV) -#define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV) -#define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV) -#define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV) -#define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV) -#define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV) -#define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV) -#define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV) -#define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV) -#define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV) -#define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV) -#define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV) -#define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV) -#define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV) -#define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV) -#define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV) -#define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV) -#define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV) -#define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV) -#define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV) -#define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV) -#define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV) -#define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV) -#define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV) -#define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV) -#define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV) -#define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV) -#define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV) -#define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV) -#define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV) -#define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV) -#define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV) -#define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV) -#define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV) -#define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV) - -#define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float) - -#endif /* GL_NV_half_float */ - -/* ------------------------ GL_NV_light_max_exponent ----------------------- */ - -#ifndef GL_NV_light_max_exponent -#define GL_NV_light_max_exponent 1 - -#define GL_MAX_SHININESS_NV 0x8504 -#define GL_MAX_SPOT_EXPONENT_NV 0x8505 - -#define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent) - -#endif /* GL_NV_light_max_exponent */ - -/* --------------------- GL_NV_multisample_filter_hint --------------------- */ - -#ifndef GL_NV_multisample_filter_hint -#define GL_NV_multisample_filter_hint 1 - -#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 - -#define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint) - -#endif /* GL_NV_multisample_filter_hint */ - -/* ------------------------- GL_NV_occlusion_query ------------------------- */ - -#ifndef GL_NV_occlusion_query -#define GL_NV_occlusion_query 1 - -#define GL_PIXEL_COUNTER_BITS_NV 0x8864 -#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 -#define GL_PIXEL_COUNT_NV 0x8866 -#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 - -typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids); -typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void); -typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids); -typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); - -#define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV) -#define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV) -#define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV) -#define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV) -#define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV) -#define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV) -#define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV) - -#define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query) - -#endif /* GL_NV_occlusion_query */ - -/* ----------------------- GL_NV_packed_depth_stencil ---------------------- */ - -#ifndef GL_NV_packed_depth_stencil -#define GL_NV_packed_depth_stencil 1 - -#define GL_DEPTH_STENCIL_NV 0x84F9 -#define GL_UNSIGNED_INT_24_8_NV 0x84FA - -#define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil) - -#endif /* GL_NV_packed_depth_stencil */ - -/* --------------------- GL_NV_parameter_buffer_object --------------------- */ - -#ifndef GL_NV_parameter_buffer_object -#define GL_NV_parameter_buffer_object 1 - -#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 -#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 -#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 -#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 -#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 - -typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); -typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); - -#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV) -#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV) -#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV) - -#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object) - -#endif /* GL_NV_parameter_buffer_object */ - -/* ------------------------- GL_NV_pixel_data_range ------------------------ */ - -#ifndef GL_NV_pixel_data_range -#define GL_NV_pixel_data_range 1 - -#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 -#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 -#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A -#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B -#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C -#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D - -typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); -typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, void* pointer); - -#define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV) -#define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV) - -#define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range) - -#endif /* GL_NV_pixel_data_range */ - -/* --------------------------- GL_NV_point_sprite -------------------------- */ - -#ifndef GL_NV_point_sprite -#define GL_NV_point_sprite 1 - -#define GL_POINT_SPRITE_NV 0x8861 -#define GL_COORD_REPLACE_NV 0x8862 -#define GL_POINT_SPRITE_R_MODE_NV 0x8863 - -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params); - -#define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV) -#define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV) - -#define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite) - -#endif /* GL_NV_point_sprite */ - -/* -------------------------- GL_NV_present_video -------------------------- */ - -#ifndef GL_NV_present_video -#define GL_NV_present_video 1 - -#define GL_FRAME_NV 0x8E26 -#define GL_FIELDS_NV 0x8E27 -#define GL_CURRENT_TIME_NV 0x8E28 -#define GL_NUM_FILL_STREAMS_NV 0x8E29 -#define GL_PRESENT_TIME_NV 0x8E2A -#define GL_PRESENT_DURATION_NV 0x8E2B - -typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params); -typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params); -typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params); -typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); -typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); -typedef void (GLAPIENTRY * PFNGLVIDEOPARAMETERIVNVPROC) (GLuint video_slot, GLenum pname, const GLint* params); - -#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV) -#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV) -#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV) -#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV) -#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV) -#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV) -#define glVideoParameterivNV GLEW_GET_FUN(__glewVideoParameterivNV) - -#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video) - -#endif /* GL_NV_present_video */ - -/* ------------------------ GL_NV_primitive_restart ------------------------ */ - -#ifndef GL_NV_primitive_restart -#define GL_NV_primitive_restart 1 - -#define GL_PRIMITIVE_RESTART_NV 0x8558 -#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 - -typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); -typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void); - -#define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV) -#define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV) - -#define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart) - -#endif /* GL_NV_primitive_restart */ - -/* ------------------------ GL_NV_register_combiners ----------------------- */ - -#ifndef GL_NV_register_combiners -#define GL_NV_register_combiners 1 - -#define GL_REGISTER_COMBINERS_NV 0x8522 -#define GL_VARIABLE_A_NV 0x8523 -#define GL_VARIABLE_B_NV 0x8524 -#define GL_VARIABLE_C_NV 0x8525 -#define GL_VARIABLE_D_NV 0x8526 -#define GL_VARIABLE_E_NV 0x8527 -#define GL_VARIABLE_F_NV 0x8528 -#define GL_VARIABLE_G_NV 0x8529 -#define GL_CONSTANT_COLOR0_NV 0x852A -#define GL_CONSTANT_COLOR1_NV 0x852B -#define GL_PRIMARY_COLOR_NV 0x852C -#define GL_SECONDARY_COLOR_NV 0x852D -#define GL_SPARE0_NV 0x852E -#define GL_SPARE1_NV 0x852F -#define GL_DISCARD_NV 0x8530 -#define GL_E_TIMES_F_NV 0x8531 -#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 -#define GL_UNSIGNED_IDENTITY_NV 0x8536 -#define GL_UNSIGNED_INVERT_NV 0x8537 -#define GL_EXPAND_NORMAL_NV 0x8538 -#define GL_EXPAND_NEGATE_NV 0x8539 -#define GL_HALF_BIAS_NORMAL_NV 0x853A -#define GL_HALF_BIAS_NEGATE_NV 0x853B -#define GL_SIGNED_IDENTITY_NV 0x853C -#define GL_SIGNED_NEGATE_NV 0x853D -#define GL_SCALE_BY_TWO_NV 0x853E -#define GL_SCALE_BY_FOUR_NV 0x853F -#define GL_SCALE_BY_ONE_HALF_NV 0x8540 -#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 -#define GL_COMBINER_INPUT_NV 0x8542 -#define GL_COMBINER_MAPPING_NV 0x8543 -#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 -#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 -#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 -#define GL_COMBINER_MUX_SUM_NV 0x8547 -#define GL_COMBINER_SCALE_NV 0x8548 -#define GL_COMBINER_BIAS_NV 0x8549 -#define GL_COMBINER_AB_OUTPUT_NV 0x854A -#define GL_COMBINER_CD_OUTPUT_NV 0x854B -#define GL_COMBINER_SUM_OUTPUT_NV 0x854C -#define GL_MAX_GENERAL_COMBINERS_NV 0x854D -#define GL_NUM_GENERAL_COMBINERS_NV 0x854E -#define GL_COLOR_SUM_CLAMP_NV 0x854F -#define GL_COMBINER0_NV 0x8550 -#define GL_COMBINER1_NV 0x8551 -#define GL_COMBINER2_NV 0x8552 -#define GL_COMBINER3_NV 0x8553 -#define GL_COMBINER4_NV 0x8554 -#define GL_COMBINER5_NV 0x8555 -#define GL_COMBINER6_NV 0x8556 -#define GL_COMBINER7_NV 0x8557 - -typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); -typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); -typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); -typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params); - -#define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV) -#define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV) -#define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV) -#define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV) -#define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV) -#define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV) -#define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV) -#define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV) -#define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV) -#define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV) -#define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV) -#define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV) -#define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV) - -#define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners) - -#endif /* GL_NV_register_combiners */ - -/* ----------------------- GL_NV_register_combiners2 ----------------------- */ - -#ifndef GL_NV_register_combiners2 -#define GL_NV_register_combiners2 1 - -#define GL_PER_STAGE_CONSTANTS_NV 0x8535 - -typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params); - -#define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV) -#define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV) - -#define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2) - -#endif /* GL_NV_register_combiners2 */ - -/* -------------------------- GL_NV_texgen_emboss -------------------------- */ - -#ifndef GL_NV_texgen_emboss -#define GL_NV_texgen_emboss 1 - -#define GL_EMBOSS_LIGHT_NV 0x855D -#define GL_EMBOSS_CONSTANT_NV 0x855E -#define GL_EMBOSS_MAP_NV 0x855F - -#define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss) - -#endif /* GL_NV_texgen_emboss */ - -/* ------------------------ GL_NV_texgen_reflection ------------------------ */ - -#ifndef GL_NV_texgen_reflection -#define GL_NV_texgen_reflection 1 - -#define GL_NORMAL_MAP_NV 0x8511 -#define GL_REFLECTION_MAP_NV 0x8512 - -#define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection) - -#endif /* GL_NV_texgen_reflection */ - -/* --------------------- GL_NV_texture_compression_vtc --------------------- */ - -#ifndef GL_NV_texture_compression_vtc -#define GL_NV_texture_compression_vtc 1 - -#define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc) - -#endif /* GL_NV_texture_compression_vtc */ - -/* ----------------------- GL_NV_texture_env_combine4 ---------------------- */ - -#ifndef GL_NV_texture_env_combine4 -#define GL_NV_texture_env_combine4 1 - -#define GL_COMBINE4_NV 0x8503 -#define GL_SOURCE3_RGB_NV 0x8583 -#define GL_SOURCE3_ALPHA_NV 0x858B -#define GL_OPERAND3_RGB_NV 0x8593 -#define GL_OPERAND3_ALPHA_NV 0x859B - -#define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4) - -#endif /* GL_NV_texture_env_combine4 */ - -/* ---------------------- GL_NV_texture_expand_normal ---------------------- */ - -#ifndef GL_NV_texture_expand_normal -#define GL_NV_texture_expand_normal 1 - -#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F - -#define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal) - -#endif /* GL_NV_texture_expand_normal */ - -/* ------------------------ GL_NV_texture_rectangle ------------------------ */ - -#ifndef GL_NV_texture_rectangle -#define GL_NV_texture_rectangle 1 - -#define GL_TEXTURE_RECTANGLE_NV 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 - -#define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle) - -#endif /* GL_NV_texture_rectangle */ - -/* -------------------------- GL_NV_texture_shader ------------------------- */ - -#ifndef GL_NV_texture_shader -#define GL_NV_texture_shader 1 - -#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C -#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D -#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E -#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 -#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA -#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB -#define GL_DSDT_MAG_INTENSITY_NV 0x86DC -#define GL_SHADER_CONSISTENT_NV 0x86DD -#define GL_TEXTURE_SHADER_NV 0x86DE -#define GL_SHADER_OPERATION_NV 0x86DF -#define GL_CULL_MODES_NV 0x86E0 -#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1 -#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 -#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2 -#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 -#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 -#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3 -#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 -#define GL_CONST_EYE_NV 0x86E5 -#define GL_PASS_THROUGH_NV 0x86E6 -#define GL_CULL_FRAGMENT_NV 0x86E7 -#define GL_OFFSET_TEXTURE_2D_NV 0x86E8 -#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 -#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA -#define GL_DOT_PRODUCT_NV 0x86EC -#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED -#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE -#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 -#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 -#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 -#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 -#define GL_HILO_NV 0x86F4 -#define GL_DSDT_NV 0x86F5 -#define GL_DSDT_MAG_NV 0x86F6 -#define GL_DSDT_MAG_VIB_NV 0x86F7 -#define GL_HILO16_NV 0x86F8 -#define GL_SIGNED_HILO_NV 0x86F9 -#define GL_SIGNED_HILO16_NV 0x86FA -#define GL_SIGNED_RGBA_NV 0x86FB -#define GL_SIGNED_RGBA8_NV 0x86FC -#define GL_SIGNED_RGB_NV 0x86FE -#define GL_SIGNED_RGB8_NV 0x86FF -#define GL_SIGNED_LUMINANCE_NV 0x8701 -#define GL_SIGNED_LUMINANCE8_NV 0x8702 -#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 -#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 -#define GL_SIGNED_ALPHA_NV 0x8705 -#define GL_SIGNED_ALPHA8_NV 0x8706 -#define GL_SIGNED_INTENSITY_NV 0x8707 -#define GL_SIGNED_INTENSITY8_NV 0x8708 -#define GL_DSDT8_NV 0x8709 -#define GL_DSDT8_MAG8_NV 0x870A -#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B -#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C -#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D -#define GL_HI_SCALE_NV 0x870E -#define GL_LO_SCALE_NV 0x870F -#define GL_DS_SCALE_NV 0x8710 -#define GL_DT_SCALE_NV 0x8711 -#define GL_MAGNITUDE_SCALE_NV 0x8712 -#define GL_VIBRANCE_SCALE_NV 0x8713 -#define GL_HI_BIAS_NV 0x8714 -#define GL_LO_BIAS_NV 0x8715 -#define GL_DS_BIAS_NV 0x8716 -#define GL_DT_BIAS_NV 0x8717 -#define GL_MAGNITUDE_BIAS_NV 0x8718 -#define GL_VIBRANCE_BIAS_NV 0x8719 -#define GL_TEXTURE_BORDER_VALUES_NV 0x871A -#define GL_TEXTURE_HI_SIZE_NV 0x871B -#define GL_TEXTURE_LO_SIZE_NV 0x871C -#define GL_TEXTURE_DS_SIZE_NV 0x871D -#define GL_TEXTURE_DT_SIZE_NV 0x871E -#define GL_TEXTURE_MAG_SIZE_NV 0x871F - -#define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader) - -#endif /* GL_NV_texture_shader */ - -/* ------------------------- GL_NV_texture_shader2 ------------------------- */ - -#ifndef GL_NV_texture_shader2 -#define GL_NV_texture_shader2 1 - -#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA -#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB -#define GL_DSDT_MAG_INTENSITY_NV 0x86DC -#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF -#define GL_HILO_NV 0x86F4 -#define GL_DSDT_NV 0x86F5 -#define GL_DSDT_MAG_NV 0x86F6 -#define GL_DSDT_MAG_VIB_NV 0x86F7 -#define GL_HILO16_NV 0x86F8 -#define GL_SIGNED_HILO_NV 0x86F9 -#define GL_SIGNED_HILO16_NV 0x86FA -#define GL_SIGNED_RGBA_NV 0x86FB -#define GL_SIGNED_RGBA8_NV 0x86FC -#define GL_SIGNED_RGB_NV 0x86FE -#define GL_SIGNED_RGB8_NV 0x86FF -#define GL_SIGNED_LUMINANCE_NV 0x8701 -#define GL_SIGNED_LUMINANCE8_NV 0x8702 -#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 -#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 -#define GL_SIGNED_ALPHA_NV 0x8705 -#define GL_SIGNED_ALPHA8_NV 0x8706 -#define GL_SIGNED_INTENSITY_NV 0x8707 -#define GL_SIGNED_INTENSITY8_NV 0x8708 -#define GL_DSDT8_NV 0x8709 -#define GL_DSDT8_MAG8_NV 0x870A -#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B -#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C -#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D - -#define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2) - -#endif /* GL_NV_texture_shader2 */ - -/* ------------------------- GL_NV_texture_shader3 ------------------------- */ - -#ifndef GL_NV_texture_shader3 -#define GL_NV_texture_shader3 1 - -#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 -#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 -#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 -#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 -#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 -#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 -#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 -#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 -#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 -#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 -#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A -#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B -#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C -#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D -#define GL_HILO8_NV 0x885E -#define GL_SIGNED_HILO8_NV 0x885F -#define GL_FORCE_BLUE_TO_ONE_NV 0x8860 - -#define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3) - -#endif /* GL_NV_texture_shader3 */ - -/* ------------------------ GL_NV_transform_feedback ----------------------- */ - -#ifndef GL_NV_transform_feedback -#define GL_NV_transform_feedback 1 - -#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 -#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 -#define GL_TEXTURE_COORD_NV 0x8C79 -#define GL_CLIP_DISTANCE_NV 0x8C7A -#define GL_VERTEX_ID_NV 0x8C7B -#define GL_PRIMITIVE_ID_NV 0x8C7C -#define GL_GENERIC_ATTRIB_NV 0x8C7D -#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 -#define GL_ACTIVE_VARYINGS_NV 0x8C81 -#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 -#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 -#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 -#define GL_PRIMITIVES_GENERATED_NV 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 -#define GL_RASTERIZER_DISCARD_NV 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B -#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C -#define GL_SEPARATE_ATTRIBS_NV 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F - -typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); -typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); -typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); -typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); -typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); -typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); -typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); -typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); -typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); -typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); - -#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV) -#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV) -#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV) -#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV) -#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV) -#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV) -#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV) -#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV) -#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV) -#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV) -#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV) - -#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback) - -#endif /* GL_NV_transform_feedback */ - -/* ------------------------ GL_NV_vertex_array_range ----------------------- */ - -#ifndef GL_NV_vertex_array_range -#define GL_NV_vertex_array_range 1 - -#define GL_VERTEX_ARRAY_RANGE_NV 0x851D -#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E -#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F -#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 -#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 - -typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); -typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void* pointer); - -#define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV) -#define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV) - -#define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range) - -#endif /* GL_NV_vertex_array_range */ - -/* ----------------------- GL_NV_vertex_array_range2 ----------------------- */ - -#ifndef GL_NV_vertex_array_range2 -#define GL_NV_vertex_array_range2 1 - -#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 - -#define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2) - -#endif /* GL_NV_vertex_array_range2 */ - -/* -------------------------- GL_NV_vertex_program ------------------------- */ - -#ifndef GL_NV_vertex_program -#define GL_NV_vertex_program 1 - -#define GL_VERTEX_PROGRAM_NV 0x8620 -#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 -#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 -#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 -#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 -#define GL_CURRENT_ATTRIB_NV 0x8626 -#define GL_PROGRAM_LENGTH_NV 0x8627 -#define GL_PROGRAM_STRING_NV 0x8628 -#define GL_MODELVIEW_PROJECTION_NV 0x8629 -#define GL_IDENTITY_NV 0x862A -#define GL_INVERSE_NV 0x862B -#define GL_TRANSPOSE_NV 0x862C -#define GL_INVERSE_TRANSPOSE_NV 0x862D -#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E -#define GL_MAX_TRACK_MATRICES_NV 0x862F -#define GL_MATRIX0_NV 0x8630 -#define GL_MATRIX1_NV 0x8631 -#define GL_MATRIX2_NV 0x8632 -#define GL_MATRIX3_NV 0x8633 -#define GL_MATRIX4_NV 0x8634 -#define GL_MATRIX5_NV 0x8635 -#define GL_MATRIX6_NV 0x8636 -#define GL_MATRIX7_NV 0x8637 -#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 -#define GL_CURRENT_MATRIX_NV 0x8641 -#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 -#define GL_PROGRAM_PARAMETER_NV 0x8644 -#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 -#define GL_PROGRAM_TARGET_NV 0x8646 -#define GL_PROGRAM_RESIDENT_NV 0x8647 -#define GL_TRACK_MATRIX_NV 0x8648 -#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 -#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A -#define GL_PROGRAM_ERROR_POSITION_NV 0x864B -#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 -#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 -#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 -#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 -#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 -#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 -#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 -#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 -#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 -#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 -#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A -#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B -#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C -#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D -#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E -#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F -#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 -#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 -#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 -#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 -#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 -#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 -#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 -#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 -#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 -#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 -#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A -#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B -#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C -#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D -#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E -#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F -#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 -#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 -#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 -#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 -#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 -#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 -#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 -#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 -#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 -#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 -#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A -#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B -#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C -#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D -#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E -#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F - -typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences); -typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); -typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids); -typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program); -typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid** pointer); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params); -typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id); -typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble* params); -typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids); -typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); -typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v); - -#define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV) -#define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV) -#define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV) -#define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV) -#define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV) -#define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV) -#define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV) -#define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV) -#define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV) -#define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV) -#define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV) -#define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV) -#define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV) -#define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV) -#define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV) -#define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV) -#define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV) -#define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV) -#define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV) -#define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV) -#define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV) -#define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV) -#define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV) -#define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV) -#define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV) -#define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV) -#define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV) -#define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV) -#define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV) -#define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV) -#define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV) -#define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV) -#define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV) -#define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV) -#define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV) -#define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV) -#define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV) -#define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV) -#define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV) -#define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV) -#define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV) -#define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV) -#define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV) -#define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV) -#define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV) -#define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV) -#define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV) -#define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV) -#define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV) -#define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV) -#define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV) -#define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV) -#define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV) -#define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV) -#define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV) -#define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV) -#define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV) -#define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV) -#define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV) -#define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV) -#define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV) -#define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV) -#define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV) -#define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV) - -#define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program) - -#endif /* GL_NV_vertex_program */ - -/* ------------------------ GL_NV_vertex_program1_1 ------------------------ */ - -#ifndef GL_NV_vertex_program1_1 -#define GL_NV_vertex_program1_1 1 - -#define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1) - -#endif /* GL_NV_vertex_program1_1 */ - -/* ------------------------- GL_NV_vertex_program2 ------------------------- */ - -#ifndef GL_NV_vertex_program2 -#define GL_NV_vertex_program2 1 - -#define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2) - -#endif /* GL_NV_vertex_program2 */ - -/* ---------------------- GL_NV_vertex_program2_option --------------------- */ - -#ifndef GL_NV_vertex_program2_option -#define GL_NV_vertex_program2_option 1 - -#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 -#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 - -#define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option) - -#endif /* GL_NV_vertex_program2_option */ - -/* ------------------------- GL_NV_vertex_program3 ------------------------- */ - -#ifndef GL_NV_vertex_program3 -#define GL_NV_vertex_program3 1 - -#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C - -#define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3) - -#endif /* GL_NV_vertex_program3 */ - -/* ------------------------- GL_NV_vertex_program4 ------------------------- */ - -#ifndef GL_NV_vertex_program4 -#define GL_NV_vertex_program4 1 - -#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) - -#endif /* GL_NV_vertex_program4 */ - -/* ------------------------ GL_OES_byte_coordinates ------------------------ */ - -#ifndef GL_OES_byte_coordinates -#define GL_OES_byte_coordinates 1 - -#define GL_BYTE 0x1400 - -#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates) - -#endif /* GL_OES_byte_coordinates */ - -/* ------------------- GL_OES_compressed_paletted_texture ------------------ */ - -#ifndef GL_OES_compressed_paletted_texture -#define GL_OES_compressed_paletted_texture 1 - -#define GL_PALETTE4_RGB8_OES 0x8B90 -#define GL_PALETTE4_RGBA8_OES 0x8B91 -#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 -#define GL_PALETTE4_RGBA4_OES 0x8B93 -#define GL_PALETTE4_RGB5_A1_OES 0x8B94 -#define GL_PALETTE8_RGB8_OES 0x8B95 -#define GL_PALETTE8_RGBA8_OES 0x8B96 -#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 -#define GL_PALETTE8_RGBA4_OES 0x8B98 -#define GL_PALETTE8_RGB5_A1_OES 0x8B99 - -#define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture) - -#endif /* GL_OES_compressed_paletted_texture */ - -/* --------------------------- GL_OES_read_format -------------------------- */ - -#ifndef GL_OES_read_format -#define GL_OES_read_format 1 - -#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B - -#define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format) - -#endif /* GL_OES_read_format */ - -/* ------------------------ GL_OES_single_precision ------------------------ */ - -#ifndef GL_OES_single_precision -#define GL_OES_single_precision 1 - -typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampd depth); -typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation); -typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); -typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); -typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation); -typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); - -#define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES) -#define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES) -#define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES) -#define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES) -#define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES) -#define glOrthofOES GLEW_GET_FUN(__glewOrthofOES) - -#define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision) - -#endif /* GL_OES_single_precision */ - -/* ---------------------------- GL_OML_interlace --------------------------- */ - -#ifndef GL_OML_interlace -#define GL_OML_interlace 1 - -#define GL_INTERLACE_OML 0x8980 -#define GL_INTERLACE_READ_OML 0x8981 - -#define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace) - -#endif /* GL_OML_interlace */ - -/* ---------------------------- GL_OML_resample ---------------------------- */ - -#ifndef GL_OML_resample -#define GL_OML_resample 1 - -#define GL_PACK_RESAMPLE_OML 0x8984 -#define GL_UNPACK_RESAMPLE_OML 0x8985 -#define GL_RESAMPLE_REPLICATE_OML 0x8986 -#define GL_RESAMPLE_ZERO_FILL_OML 0x8987 -#define GL_RESAMPLE_AVERAGE_OML 0x8988 -#define GL_RESAMPLE_DECIMATE_OML 0x8989 - -#define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample) - -#endif /* GL_OML_resample */ - -/* ---------------------------- GL_OML_subsample --------------------------- */ - -#ifndef GL_OML_subsample -#define GL_OML_subsample 1 - -#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 -#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 - -#define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample) - -#endif /* GL_OML_subsample */ - -/* --------------------------- GL_PGI_misc_hints --------------------------- */ - -#ifndef GL_PGI_misc_hints -#define GL_PGI_misc_hints 1 - -#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000 -#define GL_CONSERVE_MEMORY_HINT_PGI 107005 -#define GL_RECLAIM_MEMORY_HINT_PGI 107006 -#define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010 -#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011 -#define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012 -#define GL_ALWAYS_FAST_HINT_PGI 107020 -#define GL_ALWAYS_SOFT_HINT_PGI 107021 -#define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022 -#define GL_ALLOW_DRAW_WIN_HINT_PGI 107023 -#define GL_ALLOW_DRAW_FRG_HINT_PGI 107024 -#define GL_ALLOW_DRAW_MEM_HINT_PGI 107025 -#define GL_STRICT_DEPTHFUNC_HINT_PGI 107030 -#define GL_STRICT_LIGHTING_HINT_PGI 107031 -#define GL_STRICT_SCISSOR_HINT_PGI 107032 -#define GL_FULL_STIPPLE_HINT_PGI 107033 -#define GL_CLIP_NEAR_HINT_PGI 107040 -#define GL_CLIP_FAR_HINT_PGI 107041 -#define GL_WIDE_LINE_HINT_PGI 107042 -#define GL_BACK_NORMALS_HINT_PGI 107043 - -#define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints) - -#endif /* GL_PGI_misc_hints */ - -/* -------------------------- GL_PGI_vertex_hints -------------------------- */ - -#ifndef GL_PGI_vertex_hints -#define GL_PGI_vertex_hints 1 - -#define GL_VERTEX23_BIT_PGI 0x00000004 -#define GL_VERTEX4_BIT_PGI 0x00000008 -#define GL_COLOR3_BIT_PGI 0x00010000 -#define GL_COLOR4_BIT_PGI 0x00020000 -#define GL_EDGEFLAG_BIT_PGI 0x00040000 -#define GL_INDEX_BIT_PGI 0x00080000 -#define GL_MAT_AMBIENT_BIT_PGI 0x00100000 -#define GL_VERTEX_DATA_HINT_PGI 107050 -#define GL_VERTEX_CONSISTENT_HINT_PGI 107051 -#define GL_MATERIAL_SIDE_HINT_PGI 107052 -#define GL_MAX_VERTEX_HINT_PGI 107053 -#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 -#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 -#define GL_MAT_EMISSION_BIT_PGI 0x00800000 -#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 -#define GL_MAT_SHININESS_BIT_PGI 0x02000000 -#define GL_MAT_SPECULAR_BIT_PGI 0x04000000 -#define GL_NORMAL_BIT_PGI 0x08000000 -#define GL_TEXCOORD1_BIT_PGI 0x10000000 -#define GL_TEXCOORD2_BIT_PGI 0x20000000 -#define GL_TEXCOORD3_BIT_PGI 0x40000000 -#define GL_TEXCOORD4_BIT_PGI 0x80000000 - -#define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints) - -#endif /* GL_PGI_vertex_hints */ - -/* ----------------------- GL_REND_screen_coordinates ---------------------- */ - -#ifndef GL_REND_screen_coordinates -#define GL_REND_screen_coordinates 1 - -#define GL_SCREEN_COORDINATES_REND 0x8490 -#define GL_INVERTED_SCREEN_W_REND 0x8491 - -#define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates) - -#endif /* GL_REND_screen_coordinates */ - -/* ------------------------------- GL_S3_s3tc ------------------------------ */ - -#ifndef GL_S3_s3tc -#define GL_S3_s3tc 1 - -#define GL_RGB_S3TC 0x83A0 -#define GL_RGB4_S3TC 0x83A1 -#define GL_RGBA_S3TC 0x83A2 -#define GL_RGBA4_S3TC 0x83A3 -#define GL_RGBA_DXT5_S3TC 0x83A4 -#define GL_RGBA4_DXT5_S3TC 0x83A5 - -#define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc) - -#endif /* GL_S3_s3tc */ - -/* -------------------------- GL_SGIS_color_range -------------------------- */ - -#ifndef GL_SGIS_color_range -#define GL_SGIS_color_range 1 - -#define GL_EXTENDED_RANGE_SGIS 0x85A5 -#define GL_MIN_RED_SGIS 0x85A6 -#define GL_MAX_RED_SGIS 0x85A7 -#define GL_MIN_GREEN_SGIS 0x85A8 -#define GL_MAX_GREEN_SGIS 0x85A9 -#define GL_MIN_BLUE_SGIS 0x85AA -#define GL_MAX_BLUE_SGIS 0x85AB -#define GL_MIN_ALPHA_SGIS 0x85AC -#define GL_MAX_ALPHA_SGIS 0x85AD - -#define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range) - -#endif /* GL_SGIS_color_range */ - -/* ------------------------- GL_SGIS_detail_texture ------------------------ */ - -#ifndef GL_SGIS_detail_texture -#define GL_SGIS_detail_texture 1 - -typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); -typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points); - -#define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS) -#define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS) - -#define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture) - -#endif /* GL_SGIS_detail_texture */ - -/* -------------------------- GL_SGIS_fog_function ------------------------- */ - -#ifndef GL_SGIS_fog_function -#define GL_SGIS_fog_function 1 - -typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points); -typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points); - -#define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS) -#define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS) - -#define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function) - -#endif /* GL_SGIS_fog_function */ - -/* ------------------------ GL_SGIS_generate_mipmap ------------------------ */ - -#ifndef GL_SGIS_generate_mipmap -#define GL_SGIS_generate_mipmap 1 - -#define GL_GENERATE_MIPMAP_SGIS 0x8191 -#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 - -#define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap) - -#endif /* GL_SGIS_generate_mipmap */ - -/* -------------------------- GL_SGIS_multisample -------------------------- */ - -#ifndef GL_SGIS_multisample -#define GL_SGIS_multisample 1 - -#define GL_MULTISAMPLE_SGIS 0x809D -#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F -#define GL_SAMPLE_MASK_SGIS 0x80A0 -#define GL_1PASS_SGIS 0x80A1 -#define GL_2PASS_0_SGIS 0x80A2 -#define GL_2PASS_1_SGIS 0x80A3 -#define GL_4PASS_0_SGIS 0x80A4 -#define GL_4PASS_1_SGIS 0x80A5 -#define GL_4PASS_2_SGIS 0x80A6 -#define GL_4PASS_3_SGIS 0x80A7 -#define GL_SAMPLE_BUFFERS_SGIS 0x80A8 -#define GL_SAMPLES_SGIS 0x80A9 -#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA -#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB -#define GL_SAMPLE_PATTERN_SGIS 0x80AC -#define GL_MULTISAMPLE_BIT_EXT 0x20000000 - -typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); -typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); - -#define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS) -#define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS) - -#define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample) - -#endif /* GL_SGIS_multisample */ - -/* ------------------------- GL_SGIS_pixel_texture ------------------------- */ - -#ifndef GL_SGIS_pixel_texture -#define GL_SGIS_pixel_texture 1 - -#define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture) - -#endif /* GL_SGIS_pixel_texture */ - -/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */ - -#ifndef GL_SGIS_point_line_texgen -#define GL_SGIS_point_line_texgen 1 - -#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 -#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 -#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 -#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 -#define GL_EYE_POINT_SGIS 0x81F4 -#define GL_OBJECT_POINT_SGIS 0x81F5 -#define GL_EYE_LINE_SGIS 0x81F6 -#define GL_OBJECT_LINE_SGIS 0x81F7 - -#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen) - -#endif /* GL_SGIS_point_line_texgen */ - -/* ------------------------ GL_SGIS_sharpen_texture ------------------------ */ - -#ifndef GL_SGIS_sharpen_texture -#define GL_SGIS_sharpen_texture 1 - -typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points); -typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); - -#define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS) -#define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS) - -#define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture) - -#endif /* GL_SGIS_sharpen_texture */ - -/* --------------------------- GL_SGIS_texture4D --------------------------- */ - -#ifndef GL_SGIS_texture4D -#define GL_SGIS_texture4D 1 - -typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const void* pixels); -typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const void* pixels); - -#define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS) -#define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS) - -#define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D) - -#endif /* GL_SGIS_texture4D */ - -/* ---------------------- GL_SGIS_texture_border_clamp --------------------- */ - -#ifndef GL_SGIS_texture_border_clamp -#define GL_SGIS_texture_border_clamp 1 - -#define GL_CLAMP_TO_BORDER_SGIS 0x812D - -#define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp) - -#endif /* GL_SGIS_texture_border_clamp */ - -/* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */ - -#ifndef GL_SGIS_texture_edge_clamp -#define GL_SGIS_texture_edge_clamp 1 - -#define GL_CLAMP_TO_EDGE_SGIS 0x812F - -#define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp) - -#endif /* GL_SGIS_texture_edge_clamp */ - -/* ------------------------ GL_SGIS_texture_filter4 ------------------------ */ - -#ifndef GL_SGIS_texture_filter4 -#define GL_SGIS_texture_filter4 1 - -typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights); -typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights); - -#define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS) -#define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS) - -#define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4) - -#endif /* GL_SGIS_texture_filter4 */ - -/* -------------------------- GL_SGIS_texture_lod -------------------------- */ - -#ifndef GL_SGIS_texture_lod -#define GL_SGIS_texture_lod 1 - -#define GL_TEXTURE_MIN_LOD_SGIS 0x813A -#define GL_TEXTURE_MAX_LOD_SGIS 0x813B -#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C -#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D - -#define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod) - -#endif /* GL_SGIS_texture_lod */ - -/* ------------------------- GL_SGIS_texture_select ------------------------ */ - -#ifndef GL_SGIS_texture_select -#define GL_SGIS_texture_select 1 - -#define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select) - -#endif /* GL_SGIS_texture_select */ - -/* ----------------------------- GL_SGIX_async ----------------------------- */ - -#ifndef GL_SGIX_async -#define GL_SGIX_async 1 - -#define GL_ASYNC_MARKER_SGIX 0x8329 - -typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker); -typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); -typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp); -typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); -typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker); -typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp); - -#define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX) -#define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX) -#define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX) -#define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX) -#define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX) -#define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX) - -#define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async) - -#endif /* GL_SGIX_async */ - -/* ------------------------ GL_SGIX_async_histogram ------------------------ */ - -#ifndef GL_SGIX_async_histogram -#define GL_SGIX_async_histogram 1 - -#define GL_ASYNC_HISTOGRAM_SGIX 0x832C -#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D - -#define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram) - -#endif /* GL_SGIX_async_histogram */ - -/* -------------------------- GL_SGIX_async_pixel -------------------------- */ - -#ifndef GL_SGIX_async_pixel -#define GL_SGIX_async_pixel 1 - -#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C -#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D -#define GL_ASYNC_READ_PIXELS_SGIX 0x835E -#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F -#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 -#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 - -#define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel) - -#endif /* GL_SGIX_async_pixel */ - -/* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */ - -#ifndef GL_SGIX_blend_alpha_minmax -#define GL_SGIX_blend_alpha_minmax 1 - -#define GL_ALPHA_MIN_SGIX 0x8320 -#define GL_ALPHA_MAX_SGIX 0x8321 - -#define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax) - -#endif /* GL_SGIX_blend_alpha_minmax */ - -/* ---------------------------- GL_SGIX_clipmap ---------------------------- */ - -#ifndef GL_SGIX_clipmap -#define GL_SGIX_clipmap 1 - -#define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap) - -#endif /* GL_SGIX_clipmap */ - -/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */ - -#ifndef GL_SGIX_convolution_accuracy -#define GL_SGIX_convolution_accuracy 1 - -#define GL_CONVOLUTION_HINT_SGIX 0x8316 - -#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy) - -#endif /* GL_SGIX_convolution_accuracy */ - -/* ------------------------- GL_SGIX_depth_texture ------------------------- */ - -#ifndef GL_SGIX_depth_texture -#define GL_SGIX_depth_texture 1 - -#define GL_DEPTH_COMPONENT16_SGIX 0x81A5 -#define GL_DEPTH_COMPONENT24_SGIX 0x81A6 -#define GL_DEPTH_COMPONENT32_SGIX 0x81A7 - -#define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture) - -#endif /* GL_SGIX_depth_texture */ - -/* -------------------------- GL_SGIX_flush_raster ------------------------- */ - -#ifndef GL_SGIX_flush_raster -#define GL_SGIX_flush_raster 1 - -typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void); - -#define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX) - -#define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster) - -#endif /* GL_SGIX_flush_raster */ - -/* --------------------------- GL_SGIX_fog_offset -------------------------- */ - -#ifndef GL_SGIX_fog_offset -#define GL_SGIX_fog_offset 1 - -#define GL_FOG_OFFSET_SGIX 0x8198 -#define GL_FOG_OFFSET_VALUE_SGIX 0x8199 - -#define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset) - -#endif /* GL_SGIX_fog_offset */ - -/* -------------------------- GL_SGIX_fog_texture -------------------------- */ - -#ifndef GL_SGIX_fog_texture -#define GL_SGIX_fog_texture 1 - -#define GL_TEXTURE_FOG_SGIX 0 -#define GL_FOG_PATCHY_FACTOR_SGIX 0 -#define GL_FRAGMENT_FOG_SGIX 0 - -typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname); - -#define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX) - -#define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture) - -#endif /* GL_SGIX_fog_texture */ - -/* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */ - -#ifndef GL_SGIX_fragment_specular_lighting -#define GL_SGIX_fragment_specular_lighting 1 - -typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param); -typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data); -typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data); - -#define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX) -#define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX) -#define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX) -#define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX) -#define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX) -#define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX) -#define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX) -#define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX) -#define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX) -#define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX) -#define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX) -#define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX) -#define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX) -#define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX) -#define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX) -#define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX) -#define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX) - -#define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting) - -#endif /* GL_SGIX_fragment_specular_lighting */ - -/* --------------------------- GL_SGIX_framezoom --------------------------- */ - -#ifndef GL_SGIX_framezoom -#define GL_SGIX_framezoom 1 - -typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor); - -#define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX) - -#define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom) - -#endif /* GL_SGIX_framezoom */ - -/* --------------------------- GL_SGIX_interlace --------------------------- */ - -#ifndef GL_SGIX_interlace -#define GL_SGIX_interlace 1 - -#define GL_INTERLACE_SGIX 0x8094 - -#define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace) - -#endif /* GL_SGIX_interlace */ - -/* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */ - -#ifndef GL_SGIX_ir_instrument1 -#define GL_SGIX_ir_instrument1 1 - -#define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1) - -#endif /* GL_SGIX_ir_instrument1 */ - -/* ------------------------- GL_SGIX_list_priority ------------------------- */ - -#ifndef GL_SGIX_list_priority -#define GL_SGIX_list_priority 1 - -#define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority) - -#endif /* GL_SGIX_list_priority */ - -/* ------------------------- GL_SGIX_pixel_texture ------------------------- */ - -#ifndef GL_SGIX_pixel_texture -#define GL_SGIX_pixel_texture 1 - -typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode); - -#define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX) - -#define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture) - -#endif /* GL_SGIX_pixel_texture */ - -/* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */ - -#ifndef GL_SGIX_pixel_texture_bits -#define GL_SGIX_pixel_texture_bits 1 - -#define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits) - -#endif /* GL_SGIX_pixel_texture_bits */ - -/* ------------------------ GL_SGIX_reference_plane ------------------------ */ - -#ifndef GL_SGIX_reference_plane -#define GL_SGIX_reference_plane 1 - -typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation); - -#define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX) - -#define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane) - -#endif /* GL_SGIX_reference_plane */ - -/* ---------------------------- GL_SGIX_resample --------------------------- */ - -#ifndef GL_SGIX_resample -#define GL_SGIX_resample 1 - -#define GL_PACK_RESAMPLE_SGIX 0x842E -#define GL_UNPACK_RESAMPLE_SGIX 0x842F -#define GL_RESAMPLE_DECIMATE_SGIX 0x8430 -#define GL_RESAMPLE_REPLICATE_SGIX 0x8433 -#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434 - -#define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample) - -#endif /* GL_SGIX_resample */ - -/* ----------------------------- GL_SGIX_shadow ---------------------------- */ - -#ifndef GL_SGIX_shadow -#define GL_SGIX_shadow 1 - -#define GL_TEXTURE_COMPARE_SGIX 0x819A -#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B -#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C -#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D - -#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow) - -#endif /* GL_SGIX_shadow */ - -/* ------------------------- GL_SGIX_shadow_ambient ------------------------ */ - -#ifndef GL_SGIX_shadow_ambient -#define GL_SGIX_shadow_ambient 1 - -#define GL_SHADOW_AMBIENT_SGIX 0x80BF - -#define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient) - -#endif /* GL_SGIX_shadow_ambient */ - -/* ----------------------------- GL_SGIX_sprite ---------------------------- */ - -#ifndef GL_SGIX_sprite -#define GL_SGIX_sprite 1 - -typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); -typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); -typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params); - -#define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX) -#define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX) -#define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX) -#define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX) - -#define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite) - -#endif /* GL_SGIX_sprite */ - -/* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */ - -#ifndef GL_SGIX_tag_sample_buffer -#define GL_SGIX_tag_sample_buffer 1 - -typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void); - -#define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX) - -#define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer) - -#endif /* GL_SGIX_tag_sample_buffer */ - -/* ------------------------ GL_SGIX_texture_add_env ------------------------ */ - -#ifndef GL_SGIX_texture_add_env -#define GL_SGIX_texture_add_env 1 - -#define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env) - -#endif /* GL_SGIX_texture_add_env */ - -/* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */ - -#ifndef GL_SGIX_texture_coordinate_clamp -#define GL_SGIX_texture_coordinate_clamp 1 - -#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 -#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A -#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B - -#define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp) - -#endif /* GL_SGIX_texture_coordinate_clamp */ - -/* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */ - -#ifndef GL_SGIX_texture_lod_bias -#define GL_SGIX_texture_lod_bias 1 - -#define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias) - -#endif /* GL_SGIX_texture_lod_bias */ - -/* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */ - -#ifndef GL_SGIX_texture_multi_buffer -#define GL_SGIX_texture_multi_buffer 1 - -#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E - -#define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer) - -#endif /* GL_SGIX_texture_multi_buffer */ - -/* ------------------------- GL_SGIX_texture_range ------------------------- */ - -#ifndef GL_SGIX_texture_range -#define GL_SGIX_texture_range 1 - -#define GL_RGB_SIGNED_SGIX 0x85E0 -#define GL_RGBA_SIGNED_SGIX 0x85E1 -#define GL_ALPHA_SIGNED_SGIX 0x85E2 -#define GL_LUMINANCE_SIGNED_SGIX 0x85E3 -#define GL_INTENSITY_SIGNED_SGIX 0x85E4 -#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5 -#define GL_RGB16_SIGNED_SGIX 0x85E6 -#define GL_RGBA16_SIGNED_SGIX 0x85E7 -#define GL_ALPHA16_SIGNED_SGIX 0x85E8 -#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9 -#define GL_INTENSITY16_SIGNED_SGIX 0x85EA -#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB -#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC -#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED -#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE -#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF -#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0 -#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1 -#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2 -#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3 -#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4 -#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5 -#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6 -#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7 -#define GL_MIN_LUMINANCE_SGIS 0x85F8 -#define GL_MAX_LUMINANCE_SGIS 0x85F9 -#define GL_MIN_INTENSITY_SGIS 0x85FA -#define GL_MAX_INTENSITY_SGIS 0x85FB - -#define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range) - -#endif /* GL_SGIX_texture_range */ - -/* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */ - -#ifndef GL_SGIX_texture_scale_bias -#define GL_SGIX_texture_scale_bias 1 - -#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 -#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A -#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B -#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C - -#define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias) - -#endif /* GL_SGIX_texture_scale_bias */ - -/* ------------------------- GL_SGIX_vertex_preclip ------------------------ */ - -#ifndef GL_SGIX_vertex_preclip -#define GL_SGIX_vertex_preclip 1 - -#define GL_VERTEX_PRECLIP_SGIX 0x83EE -#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF - -#define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip) - -#endif /* GL_SGIX_vertex_preclip */ - -/* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */ - -#ifndef GL_SGIX_vertex_preclip_hint -#define GL_SGIX_vertex_preclip_hint 1 - -#define GL_VERTEX_PRECLIP_SGIX 0x83EE -#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF - -#define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint) - -#endif /* GL_SGIX_vertex_preclip_hint */ - -/* ----------------------------- GL_SGIX_ycrcb ----------------------------- */ - -#ifndef GL_SGIX_ycrcb -#define GL_SGIX_ycrcb 1 - -#define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb) - -#endif /* GL_SGIX_ycrcb */ - -/* -------------------------- GL_SGI_color_matrix -------------------------- */ - -#ifndef GL_SGI_color_matrix -#define GL_SGI_color_matrix 1 - -#define GL_COLOR_MATRIX_SGI 0x80B1 -#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 -#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 -#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 -#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 -#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 -#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 -#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 -#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 -#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA -#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB - -#define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix) - -#endif /* GL_SGI_color_matrix */ - -/* --------------------------- GL_SGI_color_table -------------------------- */ - -#ifndef GL_SGI_color_table -#define GL_SGI_color_table 1 - -#define GL_COLOR_TABLE_SGI 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 -#define GL_PROXY_COLOR_TABLE_SGI 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 -#define GL_COLOR_TABLE_SCALE_SGI 0x80D6 -#define GL_COLOR_TABLE_BIAS_SGI 0x80D7 -#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 -#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 -#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA -#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB -#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC -#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD -#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE -#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF - -typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params); -typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params); -typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* table); -typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params); -typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void* table); - -#define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI) -#define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI) -#define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI) -#define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI) -#define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI) -#define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI) -#define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI) - -#define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table) - -#endif /* GL_SGI_color_table */ - -/* ----------------------- GL_SGI_texture_color_table ---------------------- */ - -#ifndef GL_SGI_texture_color_table -#define GL_SGI_texture_color_table 1 - -#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC -#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD - -#define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table) - -#endif /* GL_SGI_texture_color_table */ - -/* ------------------------- GL_SUNX_constant_data ------------------------- */ - -#ifndef GL_SUNX_constant_data -#define GL_SUNX_constant_data 1 - -#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 -#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 - -typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void); - -#define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX) - -#define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data) - -#endif /* GL_SUNX_constant_data */ - -/* -------------------- GL_SUN_convolution_border_modes -------------------- */ - -#ifndef GL_SUN_convolution_border_modes -#define GL_SUN_convolution_border_modes 1 - -#define GL_WRAP_BORDER_SUN 0x81D4 - -#define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes) - -#endif /* GL_SUN_convolution_border_modes */ - -/* -------------------------- GL_SUN_global_alpha -------------------------- */ - -#ifndef GL_SUN_global_alpha -#define GL_SUN_global_alpha 1 - -#define GL_GLOBAL_ALPHA_SUN 0x81D9 -#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA - -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); -typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); - -#define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN) -#define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN) -#define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN) -#define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN) -#define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN) -#define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN) -#define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN) -#define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN) - -#define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha) - -#endif /* GL_SUN_global_alpha */ - -/* --------------------------- GL_SUN_mesh_array --------------------------- */ - -#ifndef GL_SUN_mesh_array -#define GL_SUN_mesh_array 1 - -#define GL_QUAD_MESH_SUN 0x8614 -#define GL_TRIANGLE_MESH_SUN 0x8615 - -#define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array) - -#endif /* GL_SUN_mesh_array */ - -/* ------------------------ GL_SUN_read_video_pixels ----------------------- */ - -#ifndef GL_SUN_read_video_pixels -#define GL_SUN_read_video_pixels 1 - -typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); - -#define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN) - -#define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels) - -#endif /* GL_SUN_read_video_pixels */ - -/* --------------------------- GL_SUN_slice_accum -------------------------- */ - -#ifndef GL_SUN_slice_accum -#define GL_SUN_slice_accum 1 - -#define GL_SLICE_ACCUM_SUN 0x85CC - -#define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum) - -#endif /* GL_SUN_slice_accum */ - -/* -------------------------- GL_SUN_triangle_list ------------------------- */ - -#ifndef GL_SUN_triangle_list -#define GL_SUN_triangle_list 1 - -#define GL_RESTART_SUN 0x01 -#define GL_REPLACE_MIDDLE_SUN 0x02 -#define GL_REPLACE_OLDEST_SUN 0x03 -#define GL_TRIANGLE_LIST_SUN 0x81D7 -#define GL_REPLACEMENT_CODE_SUN 0x81D8 -#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 -#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 -#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 -#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 -#define GL_R1UI_V3F_SUN 0x85C4 -#define GL_R1UI_C4UB_V3F_SUN 0x85C5 -#define GL_R1UI_C3F_V3F_SUN 0x85C6 -#define GL_R1UI_N3F_V3F_SUN 0x85C7 -#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 -#define GL_R1UI_T2F_V3F_SUN 0x85C9 -#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA -#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB - -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void* pointer); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code); - -#define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN) -#define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN) -#define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN) -#define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN) -#define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN) -#define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN) -#define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN) - -#define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list) - -#endif /* GL_SUN_triangle_list */ - -/* ----------------------------- GL_SUN_vertex ----------------------------- */ - -#ifndef GL_SUN_vertex -#define GL_SUN_vertex 1 - -typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); -typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); -typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v); - -#define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN) -#define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN) -#define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN) -#define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN) -#define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN) -#define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN) -#define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN) -#define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN) -#define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN) -#define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN) -#define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN) -#define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN) -#define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN) -#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN) -#define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN) -#define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN) -#define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN) -#define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN) -#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) -#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) -#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) -#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) -#define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN) -#define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN) -#define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN) -#define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN) -#define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN) -#define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN) -#define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN) -#define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN) -#define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN) -#define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN) -#define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN) -#define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN) -#define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN) -#define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN) -#define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN) -#define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN) -#define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN) -#define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN) - -#define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex) - -#endif /* GL_SUN_vertex */ - -/* -------------------------- GL_WIN_phong_shading ------------------------- */ - -#ifndef GL_WIN_phong_shading -#define GL_WIN_phong_shading 1 - -#define GL_PHONG_WIN 0x80EA -#define GL_PHONG_HINT_WIN 0x80EB - -#define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading) - -#endif /* GL_WIN_phong_shading */ - -/* -------------------------- GL_WIN_specular_fog -------------------------- */ - -#ifndef GL_WIN_specular_fog -#define GL_WIN_specular_fog 1 - -#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC - -#define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog) - -#endif /* GL_WIN_specular_fog */ - -/* ---------------------------- GL_WIN_swap_hint --------------------------- */ - -#ifndef GL_WIN_swap_hint -#define GL_WIN_swap_hint 1 - -typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); - -#define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN) - -#define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint) - -#endif /* GL_WIN_swap_hint */ - -/* ------------------------------------------------------------------------- */ - -#if defined(GLEW_MX) && defined(_WIN32) -#define GLEW_FUN_EXPORT -#else -#define GLEW_FUN_EXPORT GLEWAPI -#endif /* GLEW_MX */ - -#if defined(GLEW_MX) -#define GLEW_VAR_EXPORT -#else -#define GLEW_VAR_EXPORT GLEWAPI -#endif /* GLEW_MX */ - -#if defined(GLEW_MX) && defined(_WIN32) -struct GLEWContextStruct -{ -#endif /* GLEW_MX */ - -GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D; -GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements; -GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D; -GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D; - -GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture; -GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D; -GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage; -GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd; -GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf; -GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd; -GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv; -GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage; - -GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor; -GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation; -GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate; -GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer; -GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd; -GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv; -GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf; -GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv; -GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays; -GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv; - -GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery; -GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer; -GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData; -GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData; -GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers; -GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries; -GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery; -GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers; -GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries; -GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv; -GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv; -GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData; -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv; -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv; -GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv; -GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer; -GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery; -GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer; -GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer; - -GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader; -GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation; -GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate; -GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader; -GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram; -GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader; -GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram; -GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader; -GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader; -GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray; -GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers; -GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray; -GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib; -GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform; -GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders; -GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation; -GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog; -GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv; -GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog; -GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource; -GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv; -GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation; -GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv; -GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv; -GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram; -GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader; -GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram; -GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource; -GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate; -GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate; -GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate; -GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f; -GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv; -GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i; -GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv; -GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f; -GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv; -GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i; -GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv; -GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f; -GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv; -GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i; -GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv; -GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f; -GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv; -GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i; -GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv; -GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram; -GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer; - -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; - -GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender; -GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback; -GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase; -GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange; -GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation; -GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor; -GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi; -GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv; -GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv; -GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv; -GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski; -GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei; -GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei; -GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender; -GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback; -GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v; -GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation; -GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v; -GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi; -GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv; -GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv; -GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying; -GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv; -GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi; -GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv; -GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv; -GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings; -GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui; -GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv; -GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui; -GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv; -GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui; -GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv; -GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui; -GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer; - -GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; - -GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE; -GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE; -GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE; -GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE; -GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE; - -GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE; -GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE; -GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE; -GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE; -GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE; -GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE; -GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; -GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; - -GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; -GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; - -GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; -GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE; - -GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE; -GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE; -GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE; -GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE; - -GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE; -GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE; -GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE; - -GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB; - -GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB; - -GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB; -GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB; - -GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer; -GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer; -GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer; -GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus; -GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers; -GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURLAYERPROC __glewFramebufferTexturLayer; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D; -GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers; -GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers; -GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap; -GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv; -GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv; -GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer; -GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer; -GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage; -GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample; - -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB; - -GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable; -GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable; -GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv; -GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv; -GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable; -GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable; -GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D; -GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv; -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram; -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv; -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv; -GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax; -GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv; -GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv; -GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter; -GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram; -GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax; -GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram; -GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax; -GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D; - -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB; - -GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange; -GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange; - -GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB; -GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB; -GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB; -GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB; -GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB; - -GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB; - -GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB; -GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB; - -GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB; -GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB; -GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB; -GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB; -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB; -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB; -GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB; -GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB; - -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB; - -GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB; -GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB; -GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB; -GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB; -GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB; -GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB; -GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB; -GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB; -GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB; -GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB; -GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB; -GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB; -GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB; -GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB; -GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB; -GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB; -GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB; -GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB; -GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB; -GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB; -GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB; -GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB; -GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB; -GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB; -GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB; -GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB; -GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB; -GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB; -GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB; -GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB; -GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB; -GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB; -GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB; - -GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB; - -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; -GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; - -GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; -GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; -GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; -GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; - -GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray; -GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays; -GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays; -GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray; - -GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; -GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB; -GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB; -GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB; -GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB; -GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB; -GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB; -GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB; -GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB; -GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB; - -GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB; -GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB; -GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB; -GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB; -GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB; -GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB; -GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB; -GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB; -GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB; -GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB; -GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB; - -GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB; -GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB; -GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB; -GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB; -GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB; -GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB; -GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB; -GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB; - -GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB; -GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB; -GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB; - -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB; - -GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI; - -GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI; -GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI; -GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI; - -GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI; -GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI; -GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI; -GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI; - -GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI; -GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI; -GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI; -GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI; -GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI; -GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI; -GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI; -GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI; -GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI; -GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI; -GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI; -GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI; -GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI; -GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI; - -GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI; -GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI; - -GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI; -GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI; - -GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI; -GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI; - -GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI; -GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI; -GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI; -GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI; -GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI; -GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI; -GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI; -GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI; -GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI; -GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI; -GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI; -GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI; - -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI; - -GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI; -GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI; -GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI; -GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI; -GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI; - -GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT; -GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT; -GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT; - -GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT; - -GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT; - -GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT; - -GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT; - -GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT; -GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT; - -GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT; -GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT; - -GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT; -GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT; -GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT; -GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT; - -GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT; -GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT; - -GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT; - -GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT; -GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT; - -GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; - -GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT; -GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT; -GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT; -GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT; -GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT; -GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT; -GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT; -GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT; -GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT; -GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT; -GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT; -GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT; -GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT; -GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT; -GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT; -GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT; -GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT; -GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT; -GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT; -GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT; -GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT; -GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT; -GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT; -GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT; -GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT; -GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT; -GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT; -GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT; -GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT; -GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT; -GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT; -GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT; -GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT; -GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT; -GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT; -GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT; -GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT; -GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT; -GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT; -GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT; -GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT; - -GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; -GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; -GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; -GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT; -GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT; -GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT; - -GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT; -GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT; - -GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT; - -GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT; -GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT; -GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT; -GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT; -GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT; - -GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT; -GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT; - -GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT; - -GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT; - -GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT; -GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT; -GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT; -GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT; -GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT; -GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT; -GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT; -GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT; -GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT; -GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT; -GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; - -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; -GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; - -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT; - -GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT; -GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT; -GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT; -GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT; - -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT; -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT; -GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT; -GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT; -GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT; -GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT; -GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT; -GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT; - -GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT; - -GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT; - -GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT; -GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT; -GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT; - -GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT; -GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT; - -GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT; -GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT; - -GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT; - -GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT; -GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT; -GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT; -GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT; -GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT; -GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT; - -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT; - -GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT; - -GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT; -GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT; - -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT; - -GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT; - -GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT; -GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT; -GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT; - -GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; - -GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; - -GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; -GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT; -GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT; -GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT; -GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT; -GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT; - -GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT; -GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT; -GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT; -GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT; -GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT; -GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT; - -GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; - -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; -GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; - -GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT; -GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT; -GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT; -GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT; -GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT; -GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT; -GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT; - -GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; -GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT; -GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT; -GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT; -GLEW_FUN_EXPORT PFNGLGETPOINTERVEXTPROC __glewGetPointervEXT; -GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT; -GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT; -GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT; -GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT; - -GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT; -GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT; -GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT; -GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT; -GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT; -GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT; -GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT; -GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT; -GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT; -GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT; -GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT; -GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT; -GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT; -GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT; -GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT; -GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT; -GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT; -GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT; -GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT; -GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT; -GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT; -GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT; -GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT; -GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT; -GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT; -GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT; -GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT; -GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT; -GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT; -GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT; -GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT; -GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT; -GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT; -GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT; -GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT; -GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT; -GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT; -GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT; -GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT; -GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT; -GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT; -GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT; - -GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT; -GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT; -GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; - -GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; - -GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; - -GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; -GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP; -GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP; -GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP; -GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP; -GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP; - -GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM; -GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM; - -GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM; -GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM; -GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM; -GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM; -GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM; -GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM; -GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM; - -GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL; -GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL; -GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL; -GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL; - -GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL; -GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL; - -GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDEXTPROC __glewBufferRegionEnabledEXT; -GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONEXTPROC __glewDeleteBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONEXTPROC __glewDrawBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONEXTPROC __glewNewBufferRegionEXT; -GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONEXTPROC __glewReadBufferRegionEXT; - -GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA; - -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA; -GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; - -GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV; -GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV; - -GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; -GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; -GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; - -GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV; -GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV; -GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV; -GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV; -GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV; -GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV; -GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV; - -GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV; -GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV; -GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV; - -GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV; -GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV; -GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV; -GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV; -GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV; -GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV; -GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV; - -GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV; -GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV; -GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV; -GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV; -GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV; -GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV; - -GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV; - -GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV; - -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; - -GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; -GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV; -GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV; -GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV; -GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV; -GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV; -GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV; -GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV; -GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV; -GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV; -GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV; -GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV; -GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV; -GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV; -GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV; -GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV; -GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV; -GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV; -GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV; - -GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV; -GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV; -GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV; -GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV; -GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV; -GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV; -GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV; - -GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; -GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; - -GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; -GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; - -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV; -GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV; - -GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV; -GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV; -GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV; -GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV; -GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV; -GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV; -GLEW_FUN_EXPORT PFNGLVIDEOPARAMETERIVNVPROC __glewVideoParameterivNV; - -GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV; -GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV; - -GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV; -GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV; -GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV; -GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV; -GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV; -GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV; -GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV; -GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV; -GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV; -GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV; - -GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; - -GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; -GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; -GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; -GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV; -GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV; -GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV; -GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV; -GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV; -GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; -GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; -GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; - -GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; -GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV; - -GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV; -GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV; -GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV; -GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV; -GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV; -GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV; -GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV; -GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV; -GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV; -GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV; -GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV; -GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV; -GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV; -GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV; -GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV; -GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV; -GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; - -GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES; -GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES; -GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES; -GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES; -GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES; -GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES; - -GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS; -GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS; - -GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS; -GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS; - -GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS; -GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS; - -GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS; -GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS; - -GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS; -GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS; - -GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS; -GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS; - -GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX; -GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX; -GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX; -GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX; -GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX; -GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX; - -GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX; - -GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX; - -GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX; -GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX; -GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX; - -GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX; - -GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX; - -GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX; - -GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX; -GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX; -GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX; -GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX; - -GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX; - -GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI; -GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI; -GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI; -GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI; -GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI; - -GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX; - -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN; -GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN; - -GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN; - -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN; - -GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN; -GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN; -GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN; -GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN; - -GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN; - -#if defined(GLEW_MX) && !defined(_WIN32) -struct GLEWContextStruct -{ -#endif /* GLEW_MX */ - -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; -GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0; -GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; -GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range; -GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos; -GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites; -GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3; -GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route; -GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object; -GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; -GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; -GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; -GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; -GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; -GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test; -GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat; -GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists; -GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read; -GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays; -GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor; -GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region; -GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack; -GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; -GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; -GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos; -GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; -GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; -GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; -GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format; -GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision; -GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace; -GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample; -GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample; -GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints; -GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints; -GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates; -GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint; -GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb; -GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix; -GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table; -GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table; -GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list; -GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex; -GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading; -GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog; -GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint; - -#ifdef GLEW_MX -}; /* GLEWContextStruct */ -#endif /* GLEW_MX */ - -/* ------------------------------------------------------------------------- */ - -/* error codes */ -#define GLEW_OK 0 -#define GLEW_NO_ERROR 0 -#define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */ -#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* GL 1.1 and up are not supported */ -#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* GLX 1.2 and up are not supported */ - -/* string codes */ -#define GLEW_VERSION 1 -#define GLEW_VERSION_MAJOR 2 -#define GLEW_VERSION_MINOR 3 -#define GLEW_VERSION_MICRO 4 - -/* API */ -#ifdef GLEW_MX - -typedef struct GLEWContextStruct GLEWContext; -GLEWAPI GLenum glewContextInit (GLEWContext* ctx); -GLEWAPI GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name); - -#define glewInit() glewContextInit(glewGetContext()) -#define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x) -#define glewIsExtensionSupported(x) glewIsSupported(x) - -#define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x)) -#ifdef _WIN32 -# define GLEW_GET_FUN(x) glewGetContext()->x -#else -# define GLEW_GET_FUN(x) x -#endif - -#else /* GLEW_MX */ - -GLEWAPI GLenum glewInit (); -GLEWAPI GLboolean glewIsSupported (const char* name); -#define glewIsExtensionSupported(x) glewIsSupported(x) - -#define GLEW_GET_VAR(x) (*(const GLboolean*)&x) -#define GLEW_GET_FUN(x) x - -#endif /* GLEW_MX */ - -GLEWAPI GLboolean glewExperimental; -GLEWAPI GLboolean glewGetExtension (const char* name); -GLEWAPI const GLubyte* glewGetErrorString (GLenum error); -GLEWAPI const GLubyte* glewGetString (GLenum name); - -#ifdef __cplusplus -} -#endif - -#ifdef GLEW_APIENTRY_DEFINED -#undef GLEW_APIENTRY_DEFINED -#undef APIENTRY -#undef GLAPIENTRY -#endif - -#ifdef GLEW_CALLBACK_DEFINED -#undef GLEW_CALLBACK_DEFINED -#undef CALLBACK -#endif - -#ifdef GLEW_WINGDIAPI_DEFINED -#undef GLEW_WINGDIAPI_DEFINED -#undef WINGDIAPI -#endif - -#undef GLAPI -/* #undef GLEWAPI */ - -#endif /* __glew_h__ */ diff --git a/3rdparty/openctm/tools/glew/GL/glxew.h b/3rdparty/openctm/tools/glew/GL/glxew.h deleted file mode 100644 index eeb4b280d..000000000 --- a/3rdparty/openctm/tools/glew/GL/glxew.h +++ /dev/null @@ -1,1397 +0,0 @@ -/* -** The OpenGL Extension Wrangler Library -** Copyright (C) 2002-2008, Milan Ikits -** Copyright (C) 2002-2008, Marcelo E. Magallon -** Copyright (C) 2002, Lev Povalahev -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are met: -** -** * Redistributions of source code must retain the above copyright notice, -** this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright notice, -** this list of conditions and the following disclaimer in the documentation -** and/or other materials provided with the distribution. -** * The name of the author may be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -** THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* - * Mesa 3-D graphics library - * Version: 7.0 - * - * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* -** Copyright (c) 2007 The Khronos Group Inc. -** -** Permission is hereby granted, free of charge, to any person obtaining a -** copy of this software and/or associated documentation files (the -** "Materials"), to deal in the Materials without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Materials, and to -** permit persons to whom the Materials are furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be included -** in all copies or substantial portions of the Materials. -** -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -*/ - -#ifndef __glxew_h__ -#define __glxew_h__ -#define __GLXEW_H__ - -#ifdef __glxext_h_ -#error glxext.h included before glxew.h -#endif -#ifdef GLX_H -#error glx.h included before glxew.h -#endif - -#define __glxext_h_ -#define __GLX_glx_h__ -#define GLX_H - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* ---------------------------- GLX_VERSION_1_0 --------------------------- */ - -#ifndef GLX_VERSION_1_0 -#define GLX_VERSION_1_0 1 - -#define GLX_USE_GL 1 -#define GLX_BUFFER_SIZE 2 -#define GLX_LEVEL 3 -#define GLX_RGBA 4 -#define GLX_DOUBLEBUFFER 5 -#define GLX_STEREO 6 -#define GLX_AUX_BUFFERS 7 -#define GLX_RED_SIZE 8 -#define GLX_GREEN_SIZE 9 -#define GLX_BLUE_SIZE 10 -#define GLX_ALPHA_SIZE 11 -#define GLX_DEPTH_SIZE 12 -#define GLX_STENCIL_SIZE 13 -#define GLX_ACCUM_RED_SIZE 14 -#define GLX_ACCUM_GREEN_SIZE 15 -#define GLX_ACCUM_BLUE_SIZE 16 -#define GLX_ACCUM_ALPHA_SIZE 17 -#define GLX_BAD_SCREEN 1 -#define GLX_BAD_ATTRIBUTE 2 -#define GLX_NO_EXTENSION 3 -#define GLX_BAD_VISUAL 4 -#define GLX_BAD_CONTEXT 5 -#define GLX_BAD_VALUE 6 -#define GLX_BAD_ENUM 7 - -typedef XID GLXDrawable; -typedef XID GLXPixmap; -#ifdef __sun -typedef struct __glXContextRec *GLXContext; -#else -typedef struct __GLXcontextRec *GLXContext; -#endif - -typedef unsigned int GLXVideoDeviceNV; - -extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase); -extern Bool glXQueryVersion (Display *dpy, int *major, int *minor); -extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value); -extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList); -extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap); -extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix); -extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct); -extern void glXDestroyContext (Display *dpy, GLXContext ctx); -extern Bool glXIsDirect (Display *dpy, GLXContext ctx); -extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask); -extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx); -extern GLXContext glXGetCurrentContext (void); -extern GLXDrawable glXGetCurrentDrawable (void); -extern void glXWaitGL (void); -extern void glXWaitX (void); -extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable); -extern void glXUseXFont (Font font, int first, int count, int listBase); - -#define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0) - -#endif /* GLX_VERSION_1_0 */ - -/* ---------------------------- GLX_VERSION_1_1 --------------------------- */ - -#ifndef GLX_VERSION_1_1 -#define GLX_VERSION_1_1 - -#define GLX_VENDOR 0x1 -#define GLX_VERSION 0x2 -#define GLX_EXTENSIONS 0x3 - -extern const char* glXQueryExtensionsString (Display *dpy, int screen); -extern const char* glXGetClientString (Display *dpy, int name); -extern const char* glXQueryServerString (Display *dpy, int screen, int name); - -#define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1) - -#endif /* GLX_VERSION_1_1 */ - -/* ---------------------------- GLX_VERSION_1_2 ---------------------------- */ - -#ifndef GLX_VERSION_1_2 -#define GLX_VERSION_1_2 1 - -typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void); - -#define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay) - -#define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2) - -#endif /* GLX_VERSION_1_2 */ - -/* ---------------------------- GLX_VERSION_1_3 ---------------------------- */ - -#ifndef GLX_VERSION_1_3 -#define GLX_VERSION_1_3 1 - -#define GLX_RGBA_BIT 0x00000001 -#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 -#define GLX_WINDOW_BIT 0x00000001 -#define GLX_COLOR_INDEX_BIT 0x00000002 -#define GLX_PIXMAP_BIT 0x00000002 -#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 -#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 -#define GLX_PBUFFER_BIT 0x00000004 -#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 -#define GLX_AUX_BUFFERS_BIT 0x00000010 -#define GLX_CONFIG_CAVEAT 0x20 -#define GLX_DEPTH_BUFFER_BIT 0x00000020 -#define GLX_X_VISUAL_TYPE 0x22 -#define GLX_TRANSPARENT_TYPE 0x23 -#define GLX_TRANSPARENT_INDEX_VALUE 0x24 -#define GLX_TRANSPARENT_RED_VALUE 0x25 -#define GLX_TRANSPARENT_GREEN_VALUE 0x26 -#define GLX_TRANSPARENT_BLUE_VALUE 0x27 -#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 -#define GLX_STENCIL_BUFFER_BIT 0x00000040 -#define GLX_ACCUM_BUFFER_BIT 0x00000080 -#define GLX_NONE 0x8000 -#define GLX_SLOW_CONFIG 0x8001 -#define GLX_TRUE_COLOR 0x8002 -#define GLX_DIRECT_COLOR 0x8003 -#define GLX_PSEUDO_COLOR 0x8004 -#define GLX_STATIC_COLOR 0x8005 -#define GLX_GRAY_SCALE 0x8006 -#define GLX_STATIC_GRAY 0x8007 -#define GLX_TRANSPARENT_RGB 0x8008 -#define GLX_TRANSPARENT_INDEX 0x8009 -#define GLX_VISUAL_ID 0x800B -#define GLX_SCREEN 0x800C -#define GLX_NON_CONFORMANT_CONFIG 0x800D -#define GLX_DRAWABLE_TYPE 0x8010 -#define GLX_RENDER_TYPE 0x8011 -#define GLX_X_RENDERABLE 0x8012 -#define GLX_FBCONFIG_ID 0x8013 -#define GLX_RGBA_TYPE 0x8014 -#define GLX_COLOR_INDEX_TYPE 0x8015 -#define GLX_MAX_PBUFFER_WIDTH 0x8016 -#define GLX_MAX_PBUFFER_HEIGHT 0x8017 -#define GLX_MAX_PBUFFER_PIXELS 0x8018 -#define GLX_PRESERVED_CONTENTS 0x801B -#define GLX_LARGEST_PBUFFER 0x801C -#define GLX_WIDTH 0x801D -#define GLX_HEIGHT 0x801E -#define GLX_EVENT_MASK 0x801F -#define GLX_DAMAGED 0x8020 -#define GLX_SAVED 0x8021 -#define GLX_WINDOW 0x8022 -#define GLX_PBUFFER 0x8023 -#define GLX_PBUFFER_HEIGHT 0x8040 -#define GLX_PBUFFER_WIDTH 0x8041 -#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 -#define GLX_DONT_CARE 0xFFFFFFFF - -typedef XID GLXFBConfigID; -typedef XID GLXWindow; -typedef XID GLXPbuffer; -typedef struct __GLXFBConfigRec *GLXFBConfig; - -typedef struct { - int event_type; - int draw_type; - unsigned long serial; - Bool send_event; - Display *display; - GLXDrawable drawable; - unsigned int buffer_mask; - unsigned int aux_buffer; - int x, y; - int width, height; - int count; -} GLXPbufferClobberEvent; -typedef union __GLXEvent { - GLXPbufferClobberEvent glxpbufferclobber; - long pad[24]; -} GLXEvent; - -typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); -typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); -typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); -typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); -typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); -typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); -typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); -typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); -typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); -typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); -typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); -typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); -typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); -typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx); -typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); -typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); -typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); - -#define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig) -#define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext) -#define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer) -#define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap) -#define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow) -#define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer) -#define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap) -#define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow) -#define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable) -#define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib) -#define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs) -#define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent) -#define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig) -#define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent) -#define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext) -#define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable) -#define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent) - -#define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3) - -#endif /* GLX_VERSION_1_3 */ - -/* ---------------------------- GLX_VERSION_1_4 ---------------------------- */ - -#ifndef GLX_VERSION_1_4 -#define GLX_VERSION_1_4 1 - -#define GLX_SAMPLE_BUFFERS 100000 -#define GLX_SAMPLES 100001 - -extern void ( * glXGetProcAddress (const GLubyte *procName)) (void); - -#define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4) - -#endif /* GLX_VERSION_1_4 */ - -/* -------------------------- GLX_3DFX_multisample ------------------------- */ - -#ifndef GLX_3DFX_multisample -#define GLX_3DFX_multisample 1 - -#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 -#define GLX_SAMPLES_3DFX 0x8051 - -#define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample) - -#endif /* GLX_3DFX_multisample */ - -/* ------------------------- GLX_ARB_create_context ------------------------ */ - -#ifndef GLX_ARB_create_context -#define GLX_ARB_create_context 1 - -#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 -#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 -#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 -#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 -#define GLX_CONTEXT_FLAGS_ARB 0x2094 - -typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); - -#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB) - -#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context) - -#endif /* GLX_ARB_create_context */ - -/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */ - -#ifndef GLX_ARB_fbconfig_float -#define GLX_ARB_fbconfig_float 1 - -#define GLX_RGBA_FLOAT_BIT 0x00000004 -#define GLX_RGBA_FLOAT_TYPE 0x20B9 - -#define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float) - -#endif /* GLX_ARB_fbconfig_float */ - -/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */ - -#ifndef GLX_ARB_framebuffer_sRGB -#define GLX_ARB_framebuffer_sRGB 1 - -#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 - -#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB) - -#endif /* GLX_ARB_framebuffer_sRGB */ - -/* ------------------------ GLX_ARB_get_proc_address ----------------------- */ - -#ifndef GLX_ARB_get_proc_address -#define GLX_ARB_get_proc_address 1 - -extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void); - -#define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address) - -#endif /* GLX_ARB_get_proc_address */ - -/* -------------------------- GLX_ARB_multisample -------------------------- */ - -#ifndef GLX_ARB_multisample -#define GLX_ARB_multisample 1 - -#define GLX_SAMPLE_BUFFERS_ARB 100000 -#define GLX_SAMPLES_ARB 100001 - -#define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample) - -#endif /* GLX_ARB_multisample */ - -/* ----------------------- GLX_ATI_pixel_format_float ---------------------- */ - -#ifndef GLX_ATI_pixel_format_float -#define GLX_ATI_pixel_format_float 1 - -#define GLX_RGBA_FLOAT_ATI_BIT 0x00000100 - -#define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float) - -#endif /* GLX_ATI_pixel_format_float */ - -/* ------------------------- GLX_ATI_render_texture ------------------------ */ - -#ifndef GLX_ATI_render_texture -#define GLX_ATI_render_texture 1 - -#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 -#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 -#define GLX_TEXTURE_FORMAT_ATI 0x9802 -#define GLX_TEXTURE_TARGET_ATI 0x9803 -#define GLX_MIPMAP_TEXTURE_ATI 0x9804 -#define GLX_TEXTURE_RGB_ATI 0x9805 -#define GLX_TEXTURE_RGBA_ATI 0x9806 -#define GLX_NO_TEXTURE_ATI 0x9807 -#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808 -#define GLX_TEXTURE_1D_ATI 0x9809 -#define GLX_TEXTURE_2D_ATI 0x980A -#define GLX_MIPMAP_LEVEL_ATI 0x980B -#define GLX_CUBE_MAP_FACE_ATI 0x980C -#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D -#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E -#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F -#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810 -#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811 -#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812 -#define GLX_FRONT_LEFT_ATI 0x9813 -#define GLX_FRONT_RIGHT_ATI 0x9814 -#define GLX_BACK_LEFT_ATI 0x9815 -#define GLX_BACK_RIGHT_ATI 0x9816 -#define GLX_AUX0_ATI 0x9817 -#define GLX_AUX1_ATI 0x9818 -#define GLX_AUX2_ATI 0x9819 -#define GLX_AUX3_ATI 0x981A -#define GLX_AUX4_ATI 0x981B -#define GLX_AUX5_ATI 0x981C -#define GLX_AUX6_ATI 0x981D -#define GLX_AUX7_ATI 0x981E -#define GLX_AUX8_ATI 0x981F -#define GLX_AUX9_ATI 0x9820 -#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821 -#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822 - -typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); -typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list); -typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); - -#define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI) -#define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI) -#define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI) - -#define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture) - -#endif /* GLX_ATI_render_texture */ - -/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */ - -#ifndef GLX_EXT_fbconfig_packed_float -#define GLX_EXT_fbconfig_packed_float 1 - -#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 -#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 - -#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float) - -#endif /* GLX_EXT_fbconfig_packed_float */ - -/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */ - -#ifndef GLX_EXT_framebuffer_sRGB -#define GLX_EXT_framebuffer_sRGB 1 - -#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 - -#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB) - -#endif /* GLX_EXT_framebuffer_sRGB */ - -/* ------------------------- GLX_EXT_import_context ------------------------ */ - -#ifndef GLX_EXT_import_context -#define GLX_EXT_import_context 1 - -#define GLX_SHARE_CONTEXT_EXT 0x800A -#define GLX_VISUAL_ID_EXT 0x800B -#define GLX_SCREEN_EXT 0x800C - -typedef XID GLXContextID; - -typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context); -typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); -typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID); -typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value); - -#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT) -#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT) -#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT) -#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT) - -#define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context) - -#endif /* GLX_EXT_import_context */ - -/* -------------------------- GLX_EXT_scene_marker ------------------------- */ - -#ifndef GLX_EXT_scene_marker -#define GLX_EXT_scene_marker 1 - -#define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker) - -#endif /* GLX_EXT_scene_marker */ - -/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */ - -#ifndef GLX_EXT_texture_from_pixmap -#define GLX_EXT_texture_from_pixmap 1 - -#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 -#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 -#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 -#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 -#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 -#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 -#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 -#define GLX_Y_INVERTED_EXT 0x20D4 -#define GLX_TEXTURE_FORMAT_EXT 0x20D5 -#define GLX_TEXTURE_TARGET_EXT 0x20D6 -#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 -#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 -#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 -#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA -#define GLX_TEXTURE_1D_EXT 0x20DB -#define GLX_TEXTURE_2D_EXT 0x20DC -#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD -#define GLX_FRONT_LEFT_EXT 0x20DE -#define GLX_FRONT_RIGHT_EXT 0x20DF -#define GLX_BACK_LEFT_EXT 0x20E0 -#define GLX_BACK_RIGHT_EXT 0x20E1 -#define GLX_AUX0_EXT 0x20E2 -#define GLX_AUX1_EXT 0x20E3 -#define GLX_AUX2_EXT 0x20E4 -#define GLX_AUX3_EXT 0x20E5 -#define GLX_AUX4_EXT 0x20E6 -#define GLX_AUX5_EXT 0x20E7 -#define GLX_AUX6_EXT 0x20E8 -#define GLX_AUX7_EXT 0x20E9 -#define GLX_AUX8_EXT 0x20EA -#define GLX_AUX9_EXT 0x20EB - -typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list); -typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer); - -#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT) -#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT) - -#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap) - -#endif /* GLX_EXT_texture_from_pixmap */ - -/* -------------------------- GLX_EXT_visual_info -------------------------- */ - -#ifndef GLX_EXT_visual_info -#define GLX_EXT_visual_info 1 - -#define GLX_X_VISUAL_TYPE_EXT 0x22 -#define GLX_TRANSPARENT_TYPE_EXT 0x23 -#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 -#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 -#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 -#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 -#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 -#define GLX_NONE_EXT 0x8000 -#define GLX_TRUE_COLOR_EXT 0x8002 -#define GLX_DIRECT_COLOR_EXT 0x8003 -#define GLX_PSEUDO_COLOR_EXT 0x8004 -#define GLX_STATIC_COLOR_EXT 0x8005 -#define GLX_GRAY_SCALE_EXT 0x8006 -#define GLX_STATIC_GRAY_EXT 0x8007 -#define GLX_TRANSPARENT_RGB_EXT 0x8008 -#define GLX_TRANSPARENT_INDEX_EXT 0x8009 - -#define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info) - -#endif /* GLX_EXT_visual_info */ - -/* ------------------------- GLX_EXT_visual_rating ------------------------- */ - -#ifndef GLX_EXT_visual_rating -#define GLX_EXT_visual_rating 1 - -#define GLX_VISUAL_CAVEAT_EXT 0x20 -#define GLX_SLOW_VISUAL_EXT 0x8001 -#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D - -#define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating) - -#endif /* GLX_EXT_visual_rating */ - -/* -------------------------- GLX_MESA_agp_offset -------------------------- */ - -#ifndef GLX_MESA_agp_offset -#define GLX_MESA_agp_offset 1 - -typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer); - -#define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA) - -#define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset) - -#endif /* GLX_MESA_agp_offset */ - -/* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */ - -#ifndef GLX_MESA_copy_sub_buffer -#define GLX_MESA_copy_sub_buffer 1 - -typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height); - -#define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA) - -#define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer) - -#endif /* GLX_MESA_copy_sub_buffer */ - -/* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */ - -#ifndef GLX_MESA_pixmap_colormap -#define GLX_MESA_pixmap_colormap 1 - -typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); - -#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA) - -#define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap) - -#endif /* GLX_MESA_pixmap_colormap */ - -/* ------------------------ GLX_MESA_release_buffers ----------------------- */ - -#ifndef GLX_MESA_release_buffers -#define GLX_MESA_release_buffers 1 - -typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d); - -#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA) - -#define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers) - -#endif /* GLX_MESA_release_buffers */ - -/* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */ - -#ifndef GLX_MESA_set_3dfx_mode -#define GLX_MESA_set_3dfx_mode 1 - -#define GLX_3DFX_WINDOW_MODE_MESA 0x1 -#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 - -typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode); - -#define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA) - -#define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode) - -#endif /* GLX_MESA_set_3dfx_mode */ - -/* -------------------------- GLX_NV_float_buffer -------------------------- */ - -#ifndef GLX_NV_float_buffer -#define GLX_NV_float_buffer 1 - -#define GLX_FLOAT_COMPONENTS_NV 0x20B0 - -#define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer) - -#endif /* GLX_NV_float_buffer */ - -/* -------------------------- GLX_NV_present_video ------------------------- */ - -#ifndef GLX_NV_present_video -#define GLX_NV_present_video 1 - -#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 - -typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); -typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); - -#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV) -#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV) - -#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video) - -#endif /* GLX_NV_present_video */ - -/* --------------------------- GLX_NV_swap_group --------------------------- */ - -#ifndef GLX_NV_swap_group -#define GLX_NV_swap_group 1 - -typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier); -typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group); -typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count); -typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); -typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); -typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen); - -#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV) -#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV) -#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV) -#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV) -#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV) -#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV) - -#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group) - -#endif /* GLX_NV_swap_group */ - -/* ----------------------- GLX_NV_vertex_array_range ----------------------- */ - -#ifndef GLX_NV_vertex_array_range -#define GLX_NV_vertex_array_range 1 - -typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); -typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer); - -#define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV) -#define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV) - -#define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range) - -#endif /* GLX_NV_vertex_array_range */ - -/* -------------------------- GLX_NV_video_output -------------------------- */ - -#ifndef GLX_NV_video_output -#define GLX_NV_video_output 1 - -#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 -#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 -#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 -#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 -#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 -#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 -#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 -#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA -#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB -#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC - -typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); -typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); -typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); -typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice); -typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf); -typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); - -#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV) -#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV) -#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV) -#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV) -#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV) -#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV) - -#define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output) - -#endif /* GLX_NV_video_output */ - -/* -------------------------- GLX_OML_swap_method -------------------------- */ - -#ifndef GLX_OML_swap_method -#define GLX_OML_swap_method 1 - -#define GLX_SWAP_METHOD_OML 0x8060 -#define GLX_SWAP_EXCHANGE_OML 0x8061 -#define GLX_SWAP_COPY_OML 0x8062 -#define GLX_SWAP_UNDEFINED_OML 0x8063 - -#define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method) - -#endif /* GLX_OML_swap_method */ - -/* -------------------------- GLX_OML_sync_control ------------------------- */ - -#if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#include -#define GLX_OML_sync_control 1 - -typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator); -typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc); -typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); -typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc); -typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc); - -#define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML) -#define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML) -#define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML) -#define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML) -#define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML) - -#define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control) - -#endif /* GLX_OML_sync_control */ - -/* ------------------------ GLX_SGIS_blended_overlay ----------------------- */ - -#ifndef GLX_SGIS_blended_overlay -#define GLX_SGIS_blended_overlay 1 - -#define GLX_BLENDED_RGBA_SGIS 0x8025 - -#define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay) - -#endif /* GLX_SGIS_blended_overlay */ - -/* -------------------------- GLX_SGIS_color_range ------------------------- */ - -#ifndef GLX_SGIS_color_range -#define GLX_SGIS_color_range 1 - -#define GLX_MIN_RED_SGIS 0 -#define GLX_MAX_GREEN_SGIS 0 -#define GLX_MIN_BLUE_SGIS 0 -#define GLX_MAX_ALPHA_SGIS 0 -#define GLX_MIN_GREEN_SGIS 0 -#define GLX_MIN_ALPHA_SGIS 0 -#define GLX_MAX_RED_SGIS 0 -#define GLX_EXTENDED_RANGE_SGIS 0 -#define GLX_MAX_BLUE_SGIS 0 - -#define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range) - -#endif /* GLX_SGIS_color_range */ - -/* -------------------------- GLX_SGIS_multisample ------------------------- */ - -#ifndef GLX_SGIS_multisample -#define GLX_SGIS_multisample 1 - -#define GLX_SAMPLE_BUFFERS_SGIS 100000 -#define GLX_SAMPLES_SGIS 100001 - -#define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample) - -#endif /* GLX_SGIS_multisample */ - -/* ---------------------- GLX_SGIS_shared_multisample ---------------------- */ - -#ifndef GLX_SGIS_shared_multisample -#define GLX_SGIS_shared_multisample 1 - -#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 -#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 - -#define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample) - -#endif /* GLX_SGIS_shared_multisample */ - -/* --------------------------- GLX_SGIX_fbconfig --------------------------- */ - -#ifndef GLX_SGIX_fbconfig -#define GLX_SGIX_fbconfig 1 - -#define GLX_WINDOW_BIT_SGIX 0x00000001 -#define GLX_RGBA_BIT_SGIX 0x00000001 -#define GLX_PIXMAP_BIT_SGIX 0x00000002 -#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 -#define GLX_SCREEN_EXT 0x800C -#define GLX_DRAWABLE_TYPE_SGIX 0x8010 -#define GLX_RENDER_TYPE_SGIX 0x8011 -#define GLX_X_RENDERABLE_SGIX 0x8012 -#define GLX_FBCONFIG_ID_SGIX 0x8013 -#define GLX_RGBA_TYPE_SGIX 0x8014 -#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 - -typedef XID GLXFBConfigIDSGIX; -typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; - -typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); -typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); -typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap); -typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value); -typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis); -typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config); - -#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX) -#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX) -#define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX) -#define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX) -#define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX) -#define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX) - -#define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig) - -#endif /* GLX_SGIX_fbconfig */ - -/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */ - -#ifndef GLX_SGIX_hyperpipe -#define GLX_SGIX_hyperpipe 1 - -#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 -#define GLX_PIPE_RECT_SGIX 0x00000001 -#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 -#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 -#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 -#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 -#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 -#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 -#define GLX_BAD_HYPERPIPE_SGIX 92 -#define GLX_HYPERPIPE_ID_SGIX 0x8030 - -typedef struct { - char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int networkId; -} GLXHyperpipeNetworkSGIX; -typedef struct { - char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int XOrigin; - int YOrigin; - int maxHeight; - int maxWidth; -} GLXPipeRectLimits; -typedef struct { - char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int channel; - unsigned int participationType; - int timeSlice; -} GLXHyperpipeConfigSGIX; -typedef struct { - char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int srcXOrigin; - int srcYOrigin; - int srcWidth; - int srcHeight; - int destXOrigin; - int destYOrigin; - int destWidth; - int destHeight; -} GLXPipeRect; - -typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); -typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); -typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); -typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); -typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); -typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); -typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); -typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); - -#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX) -#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX) -#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX) -#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX) -#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX) -#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX) -#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX) -#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX) - -#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe) - -#endif /* GLX_SGIX_hyperpipe */ - -/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */ - -#ifndef GLX_SGIX_pbuffer -#define GLX_SGIX_pbuffer 1 - -#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 -#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 -#define GLX_PBUFFER_BIT_SGIX 0x00000004 -#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 -#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 -#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 -#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 -#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 -#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 -#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 -#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 -#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 -#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 -#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 -#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A -#define GLX_PRESERVED_CONTENTS_SGIX 0x801B -#define GLX_LARGEST_PBUFFER_SGIX 0x801C -#define GLX_WIDTH_SGIX 0x801D -#define GLX_HEIGHT_SGIX 0x801E -#define GLX_EVENT_MASK_SGIX 0x801F -#define GLX_DAMAGED_SGIX 0x8020 -#define GLX_SAVED_SGIX 0x8021 -#define GLX_WINDOW_SGIX 0x8022 -#define GLX_PBUFFER_SGIX 0x8023 -#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 - -typedef XID GLXPbufferSGIX; -typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX; - -typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list); -typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf); -typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask); -typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value); -typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask); - -#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX) -#define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX) -#define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX) -#define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX) -#define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX) - -#define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer) - -#endif /* GLX_SGIX_pbuffer */ - -/* ------------------------- GLX_SGIX_swap_barrier ------------------------- */ - -#ifndef GLX_SGIX_swap_barrier -#define GLX_SGIX_swap_barrier 1 - -typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); -typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); - -#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX) -#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX) - -#define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier) - -#endif /* GLX_SGIX_swap_barrier */ - -/* -------------------------- GLX_SGIX_swap_group -------------------------- */ - -#ifndef GLX_SGIX_swap_group -#define GLX_SGIX_swap_group 1 - -typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); - -#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX) - -#define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group) - -#endif /* GLX_SGIX_swap_group */ - -/* ------------------------- GLX_SGIX_video_resize ------------------------- */ - -#ifndef GLX_SGIX_video_resize -#define GLX_SGIX_video_resize 1 - -#define GLX_SYNC_FRAME_SGIX 0x00000000 -#define GLX_SYNC_SWAP_SGIX 0x00000001 - -typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window); -typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h); -typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype); -typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h); -typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); - -#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX) -#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX) -#define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX) -#define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX) -#define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX) - -#define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize) - -#endif /* GLX_SGIX_video_resize */ - -/* ---------------------- GLX_SGIX_visual_select_group --------------------- */ - -#ifndef GLX_SGIX_visual_select_group -#define GLX_SGIX_visual_select_group 1 - -#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 - -#define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group) - -#endif /* GLX_SGIX_visual_select_group */ - -/* ---------------------------- GLX_SGI_cushion ---------------------------- */ - -#ifndef GLX_SGI_cushion -#define GLX_SGI_cushion 1 - -typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion); - -#define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI) - -#define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion) - -#endif /* GLX_SGI_cushion */ - -/* ----------------------- GLX_SGI_make_current_read ----------------------- */ - -#ifndef GLX_SGI_make_current_read -#define GLX_SGI_make_current_read 1 - -typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); -typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); - -#define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI) -#define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI) - -#define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read) - -#endif /* GLX_SGI_make_current_read */ - -/* -------------------------- GLX_SGI_swap_control ------------------------- */ - -#ifndef GLX_SGI_swap_control -#define GLX_SGI_swap_control 1 - -typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); - -#define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI) - -#define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control) - -#endif /* GLX_SGI_swap_control */ - -/* --------------------------- GLX_SGI_video_sync -------------------------- */ - -#ifndef GLX_SGI_video_sync -#define GLX_SGI_video_sync 1 - -typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count); -typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count); - -#define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI) -#define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI) - -#define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync) - -#endif /* GLX_SGI_video_sync */ - -/* --------------------- GLX_SUN_get_transparent_index --------------------- */ - -#ifndef GLX_SUN_get_transparent_index -#define GLX_SUN_get_transparent_index 1 - -typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex); - -#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN) - -#define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index) - -#endif /* GLX_SUN_get_transparent_index */ - -/* -------------------------- GLX_SUN_video_resize ------------------------- */ - -#ifndef GLX_SUN_video_resize -#define GLX_SUN_video_resize 1 - -#define GLX_VIDEO_RESIZE_SUN 0x8171 -#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD - -typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor); -typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor); - -#define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN) -#define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN) - -#define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize) - -#endif /* GLX_SUN_video_resize */ - -/* ------------------------------------------------------------------------- */ - -#ifdef GLEW_MX -#define GLXEW_EXPORT -#else -#define GLXEW_EXPORT extern -#endif /* GLEW_MX */ - -extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay; - -extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig; -extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext; -extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer; -extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap; -extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow; -extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer; -extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap; -extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow; -extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable; -extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib; -extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs; -extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent; -extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig; -extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent; -extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext; -extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable; -extern PFNGLXSELECTEVENTPROC __glewXSelectEvent; - -extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB; - -extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI; -extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI; -extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI; - -extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT; -extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT; -extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT; -extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT; - -extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT; -extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT; - -extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA; - -extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA; - -extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA; - -extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA; - -extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA; - -extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV; -extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV; - -extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV; -extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV; -extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV; -extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV; -extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV; -extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV; - -extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV; -extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV; - -extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV; -extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV; -extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV; -extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV; -extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV; -extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV; - -#ifdef GLX_OML_sync_control -extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML; -extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML; -extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML; -extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML; -extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML; -#endif - -extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX; -extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX; -extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX; -extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX; -extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX; -extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX; - -extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX; -extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX; -extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX; -extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX; -extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX; -extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX; -extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX; -extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX; - -extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX; -extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX; -extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX; -extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX; -extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX; - -extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX; -extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX; - -extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX; - -extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX; -extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX; -extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX; -extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX; -extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX; - -extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI; - -extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI; -extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI; - -extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI; - -extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI; -extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI; - -extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN; - -extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN; -extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN; - -#if defined(GLEW_MX) -struct GLXEWContextStruct -{ -#endif /* GLEW_MX */ - -GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0; -GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1; -GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2; -GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3; -GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4; -GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample; -GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context; -GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float; -GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB; -GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address; -GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample; -GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float; -GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture; -GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float; -GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB; -GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context; -GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker; -GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap; -GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info; -GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating; -GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset; -GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer; -GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap; -GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers; -GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode; -GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer; -GLXEW_EXPORT GLboolean __GLXEW_NV_present_video; -GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group; -GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range; -GLXEW_EXPORT GLboolean __GLXEW_NV_video_output; -GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method; -GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control; -GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay; -GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range; -GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample; -GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize; -GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group; -GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion; -GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read; -GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control; -GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync; -GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index; -GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize; - -#ifdef GLEW_MX -}; /* GLXEWContextStruct */ -#endif /* GLEW_MX */ - -/* ------------------------------------------------------------------------ */ - -#ifdef GLEW_MX - -typedef struct GLXEWContextStruct GLXEWContext; -extern GLenum glxewContextInit (GLXEWContext* ctx); -extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name); - -#define glxewInit() glxewContextInit(glxewGetContext()) -#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x) - -#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x)) -#define GLXEW_GET_FUN(x) x - -#else /* GLEW_MX */ - -#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x) -#define GLXEW_GET_FUN(x) x - -extern GLboolean glxewIsSupported (const char* name); - -#endif /* GLEW_MX */ - -extern GLboolean glxewGetExtension (const char* name); - -#ifdef __cplusplus -} -#endif - -#endif /* __glxew_h__ */ diff --git a/3rdparty/openctm/tools/glew/GL/wglew.h b/3rdparty/openctm/tools/glew/GL/wglew.h deleted file mode 100644 index d9dd3f25f..000000000 --- a/3rdparty/openctm/tools/glew/GL/wglew.h +++ /dev/null @@ -1,1165 +0,0 @@ -/* -** The OpenGL Extension Wrangler Library -** Copyright (C) 2002-2008, Milan Ikits -** Copyright (C) 2002-2008, Marcelo E. Magallon -** Copyright (C) 2002, Lev Povalahev -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are met: -** -** * Redistributions of source code must retain the above copyright notice, -** this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright notice, -** this list of conditions and the following disclaimer in the documentation -** and/or other materials provided with the distribution. -** * The name of the author may be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -** THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* -** Copyright (c) 2007 The Khronos Group Inc. -** -** Permission is hereby granted, free of charge, to any person obtaining a -** copy of this software and/or associated documentation files (the -** "Materials"), to deal in the Materials without restriction, including -** without limitation the rights to use, copy, modify, merge, publish, -** distribute, sublicense, and/or sell copies of the Materials, and to -** permit persons to whom the Materials are furnished to do so, subject to -** the following conditions: -** -** The above copyright notice and this permission notice shall be included -** in all copies or substantial portions of the Materials. -** -** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -*/ - -#ifndef __wglew_h__ -#define __wglew_h__ -#define __WGLEW_H__ - -#ifdef __wglext_h_ -#error wglext.h included before wglew.h -#endif - -#define __wglext_h_ - -#if !defined(APIENTRY) && !defined(__CYGWIN__) -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN 1 -# endif -#include -#endif - -/* - * GLEW_STATIC needs to be set when using the static version. - * GLEW_BUILD is set when building the DLL version. - */ -#ifdef GLEW_STATIC -# define GLEWAPI extern -#else -# ifdef GLEW_BUILD -# define GLEWAPI extern __declspec(dllexport) -# else -# define GLEWAPI extern __declspec(dllimport) -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------------------------- WGL_3DFX_multisample ------------------------- */ - -#ifndef WGL_3DFX_multisample -#define WGL_3DFX_multisample 1 - -#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 -#define WGL_SAMPLES_3DFX 0x2061 - -#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample) - -#endif /* WGL_3DFX_multisample */ - -/* ------------------------- WGL_3DL_stereo_control ------------------------ */ - -#ifndef WGL_3DL_stereo_control -#define WGL_3DL_stereo_control 1 - -#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 -#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 -#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 -#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 - -typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); - -#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL) - -#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control) - -#endif /* WGL_3DL_stereo_control */ - -/* ------------------------- WGL_ARB_buffer_region ------------------------- */ - -#ifndef WGL_ARB_buffer_region -#define WGL_ARB_buffer_region 1 - -#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 -#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 -#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 -#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 - -typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); -typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); -typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); -typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); - -#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB) -#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB) -#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB) -#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB) - -#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region) - -#endif /* WGL_ARB_buffer_region */ - -/* ------------------------- WGL_ARB_create_context ------------------------ */ - -#ifndef WGL_ARB_create_context -#define WGL_ARB_create_context 1 - -#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 -#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 -#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 -#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 -#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 -#define WGL_CONTEXT_FLAGS_ARB 0x2094 - -typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList); - -#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB) - -#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context) - -#endif /* WGL_ARB_create_context */ - -/* ----------------------- WGL_ARB_extensions_string ----------------------- */ - -#ifndef WGL_ARB_extensions_string -#define WGL_ARB_extensions_string 1 - -typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); - -#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB) - -#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string) - -#endif /* WGL_ARB_extensions_string */ - -/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */ - -#ifndef WGL_ARB_framebuffer_sRGB -#define WGL_ARB_framebuffer_sRGB 1 - -#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 - -#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB) - -#endif /* WGL_ARB_framebuffer_sRGB */ - -/* ----------------------- WGL_ARB_make_current_read ----------------------- */ - -#ifndef WGL_ARB_make_current_read -#define WGL_ARB_make_current_read 1 - -#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 -#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 - -typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID); -typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); - -#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB) -#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB) - -#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read) - -#endif /* WGL_ARB_make_current_read */ - -/* -------------------------- WGL_ARB_multisample -------------------------- */ - -#ifndef WGL_ARB_multisample -#define WGL_ARB_multisample 1 - -#define WGL_SAMPLE_BUFFERS_ARB 0x2041 -#define WGL_SAMPLES_ARB 0x2042 - -#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample) - -#endif /* WGL_ARB_multisample */ - -/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */ - -#ifndef WGL_ARB_pbuffer -#define WGL_ARB_pbuffer 1 - -#define WGL_DRAW_TO_PBUFFER_ARB 0x202D -#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E -#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F -#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 -#define WGL_PBUFFER_LARGEST_ARB 0x2033 -#define WGL_PBUFFER_WIDTH_ARB 0x2034 -#define WGL_PBUFFER_HEIGHT_ARB 0x2035 -#define WGL_PBUFFER_LOST_ARB 0x2036 - -DECLARE_HANDLE(HPBUFFERARB); - -typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); -typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); -typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); -typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue); -typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); - -#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB) -#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB) -#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB) -#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB) -#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB) - -#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer) - -#endif /* WGL_ARB_pbuffer */ - -/* -------------------------- WGL_ARB_pixel_format ------------------------- */ - -#ifndef WGL_ARB_pixel_format -#define WGL_ARB_pixel_format 1 - -#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 -#define WGL_DRAW_TO_WINDOW_ARB 0x2001 -#define WGL_DRAW_TO_BITMAP_ARB 0x2002 -#define WGL_ACCELERATION_ARB 0x2003 -#define WGL_NEED_PALETTE_ARB 0x2004 -#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 -#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 -#define WGL_SWAP_METHOD_ARB 0x2007 -#define WGL_NUMBER_OVERLAYS_ARB 0x2008 -#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 -#define WGL_TRANSPARENT_ARB 0x200A -#define WGL_SHARE_DEPTH_ARB 0x200C -#define WGL_SHARE_STENCIL_ARB 0x200D -#define WGL_SHARE_ACCUM_ARB 0x200E -#define WGL_SUPPORT_GDI_ARB 0x200F -#define WGL_SUPPORT_OPENGL_ARB 0x2010 -#define WGL_DOUBLE_BUFFER_ARB 0x2011 -#define WGL_STEREO_ARB 0x2012 -#define WGL_PIXEL_TYPE_ARB 0x2013 -#define WGL_COLOR_BITS_ARB 0x2014 -#define WGL_RED_BITS_ARB 0x2015 -#define WGL_RED_SHIFT_ARB 0x2016 -#define WGL_GREEN_BITS_ARB 0x2017 -#define WGL_GREEN_SHIFT_ARB 0x2018 -#define WGL_BLUE_BITS_ARB 0x2019 -#define WGL_BLUE_SHIFT_ARB 0x201A -#define WGL_ALPHA_BITS_ARB 0x201B -#define WGL_ALPHA_SHIFT_ARB 0x201C -#define WGL_ACCUM_BITS_ARB 0x201D -#define WGL_ACCUM_RED_BITS_ARB 0x201E -#define WGL_ACCUM_GREEN_BITS_ARB 0x201F -#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 -#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 -#define WGL_DEPTH_BITS_ARB 0x2022 -#define WGL_STENCIL_BITS_ARB 0x2023 -#define WGL_AUX_BUFFERS_ARB 0x2024 -#define WGL_NO_ACCELERATION_ARB 0x2025 -#define WGL_GENERIC_ACCELERATION_ARB 0x2026 -#define WGL_FULL_ACCELERATION_ARB 0x2027 -#define WGL_SWAP_EXCHANGE_ARB 0x2028 -#define WGL_SWAP_COPY_ARB 0x2029 -#define WGL_SWAP_UNDEFINED_ARB 0x202A -#define WGL_TYPE_RGBA_ARB 0x202B -#define WGL_TYPE_COLORINDEX_ARB 0x202C -#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 -#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 -#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 -#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A -#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B - -typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); -typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues); -typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues); - -#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB) -#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB) -#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB) - -#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format) - -#endif /* WGL_ARB_pixel_format */ - -/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */ - -#ifndef WGL_ARB_pixel_format_float -#define WGL_ARB_pixel_format_float 1 - -#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 - -#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float) - -#endif /* WGL_ARB_pixel_format_float */ - -/* ------------------------- WGL_ARB_render_texture ------------------------ */ - -#ifndef WGL_ARB_render_texture -#define WGL_ARB_render_texture 1 - -#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 -#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 -#define WGL_TEXTURE_FORMAT_ARB 0x2072 -#define WGL_TEXTURE_TARGET_ARB 0x2073 -#define WGL_MIPMAP_TEXTURE_ARB 0x2074 -#define WGL_TEXTURE_RGB_ARB 0x2075 -#define WGL_TEXTURE_RGBA_ARB 0x2076 -#define WGL_NO_TEXTURE_ARB 0x2077 -#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 -#define WGL_TEXTURE_1D_ARB 0x2079 -#define WGL_TEXTURE_2D_ARB 0x207A -#define WGL_MIPMAP_LEVEL_ARB 0x207B -#define WGL_CUBE_MAP_FACE_ARB 0x207C -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 -#define WGL_FRONT_LEFT_ARB 0x2083 -#define WGL_FRONT_RIGHT_ARB 0x2084 -#define WGL_BACK_LEFT_ARB 0x2085 -#define WGL_BACK_RIGHT_ARB 0x2086 -#define WGL_AUX0_ARB 0x2087 -#define WGL_AUX1_ARB 0x2088 -#define WGL_AUX2_ARB 0x2089 -#define WGL_AUX3_ARB 0x208A -#define WGL_AUX4_ARB 0x208B -#define WGL_AUX5_ARB 0x208C -#define WGL_AUX6_ARB 0x208D -#define WGL_AUX7_ARB 0x208E -#define WGL_AUX8_ARB 0x208F -#define WGL_AUX9_ARB 0x2090 - -typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); -typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); -typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList); - -#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB) -#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB) -#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB) - -#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture) - -#endif /* WGL_ARB_render_texture */ - -/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */ - -#ifndef WGL_ATI_pixel_format_float -#define WGL_ATI_pixel_format_float 1 - -#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 -#define GL_RGBA_FLOAT_MODE_ATI 0x8820 -#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 - -#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float) - -#endif /* WGL_ATI_pixel_format_float */ - -/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */ - -#ifndef WGL_ATI_render_texture_rectangle -#define WGL_ATI_render_texture_rectangle 1 - -#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 - -#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle) - -#endif /* WGL_ATI_render_texture_rectangle */ - -/* -------------------------- WGL_EXT_depth_float -------------------------- */ - -#ifndef WGL_EXT_depth_float -#define WGL_EXT_depth_float 1 - -#define WGL_DEPTH_FLOAT_EXT 0x2040 - -#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float) - -#endif /* WGL_EXT_depth_float */ - -/* ---------------------- WGL_EXT_display_color_table ---------------------- */ - -#ifndef WGL_EXT_display_color_table -#define WGL_EXT_display_color_table 1 - -typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); -typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); -typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); -typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length); - -#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT) -#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT) -#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT) -#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT) - -#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table) - -#endif /* WGL_EXT_display_color_table */ - -/* ----------------------- WGL_EXT_extensions_string ----------------------- */ - -#ifndef WGL_EXT_extensions_string -#define WGL_EXT_extensions_string 1 - -typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); - -#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT) - -#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string) - -#endif /* WGL_EXT_extensions_string */ - -/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */ - -#ifndef WGL_EXT_framebuffer_sRGB -#define WGL_EXT_framebuffer_sRGB 1 - -#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 - -#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB) - -#endif /* WGL_EXT_framebuffer_sRGB */ - -/* ----------------------- WGL_EXT_make_current_read ----------------------- */ - -#ifndef WGL_EXT_make_current_read -#define WGL_EXT_make_current_read 1 - -#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 - -typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID); -typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); - -#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT) -#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT) - -#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read) - -#endif /* WGL_EXT_make_current_read */ - -/* -------------------------- WGL_EXT_multisample -------------------------- */ - -#ifndef WGL_EXT_multisample -#define WGL_EXT_multisample 1 - -#define WGL_SAMPLE_BUFFERS_EXT 0x2041 -#define WGL_SAMPLES_EXT 0x2042 - -#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample) - -#endif /* WGL_EXT_multisample */ - -/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */ - -#ifndef WGL_EXT_pbuffer -#define WGL_EXT_pbuffer 1 - -#define WGL_DRAW_TO_PBUFFER_EXT 0x202D -#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E -#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F -#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 -#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 -#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 -#define WGL_PBUFFER_LARGEST_EXT 0x2033 -#define WGL_PBUFFER_WIDTH_EXT 0x2034 -#define WGL_PBUFFER_HEIGHT_EXT 0x2035 - -DECLARE_HANDLE(HPBUFFEREXT); - -typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); -typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); -typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); -typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue); -typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); - -#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT) -#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT) -#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT) -#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT) -#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT) - -#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer) - -#endif /* WGL_EXT_pbuffer */ - -/* -------------------------- WGL_EXT_pixel_format ------------------------- */ - -#ifndef WGL_EXT_pixel_format -#define WGL_EXT_pixel_format 1 - -#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 -#define WGL_DRAW_TO_WINDOW_EXT 0x2001 -#define WGL_DRAW_TO_BITMAP_EXT 0x2002 -#define WGL_ACCELERATION_EXT 0x2003 -#define WGL_NEED_PALETTE_EXT 0x2004 -#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 -#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 -#define WGL_SWAP_METHOD_EXT 0x2007 -#define WGL_NUMBER_OVERLAYS_EXT 0x2008 -#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 -#define WGL_TRANSPARENT_EXT 0x200A -#define WGL_TRANSPARENT_VALUE_EXT 0x200B -#define WGL_SHARE_DEPTH_EXT 0x200C -#define WGL_SHARE_STENCIL_EXT 0x200D -#define WGL_SHARE_ACCUM_EXT 0x200E -#define WGL_SUPPORT_GDI_EXT 0x200F -#define WGL_SUPPORT_OPENGL_EXT 0x2010 -#define WGL_DOUBLE_BUFFER_EXT 0x2011 -#define WGL_STEREO_EXT 0x2012 -#define WGL_PIXEL_TYPE_EXT 0x2013 -#define WGL_COLOR_BITS_EXT 0x2014 -#define WGL_RED_BITS_EXT 0x2015 -#define WGL_RED_SHIFT_EXT 0x2016 -#define WGL_GREEN_BITS_EXT 0x2017 -#define WGL_GREEN_SHIFT_EXT 0x2018 -#define WGL_BLUE_BITS_EXT 0x2019 -#define WGL_BLUE_SHIFT_EXT 0x201A -#define WGL_ALPHA_BITS_EXT 0x201B -#define WGL_ALPHA_SHIFT_EXT 0x201C -#define WGL_ACCUM_BITS_EXT 0x201D -#define WGL_ACCUM_RED_BITS_EXT 0x201E -#define WGL_ACCUM_GREEN_BITS_EXT 0x201F -#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 -#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 -#define WGL_DEPTH_BITS_EXT 0x2022 -#define WGL_STENCIL_BITS_EXT 0x2023 -#define WGL_AUX_BUFFERS_EXT 0x2024 -#define WGL_NO_ACCELERATION_EXT 0x2025 -#define WGL_GENERIC_ACCELERATION_EXT 0x2026 -#define WGL_FULL_ACCELERATION_EXT 0x2027 -#define WGL_SWAP_EXCHANGE_EXT 0x2028 -#define WGL_SWAP_COPY_EXT 0x2029 -#define WGL_SWAP_UNDEFINED_EXT 0x202A -#define WGL_TYPE_RGBA_EXT 0x202B -#define WGL_TYPE_COLORINDEX_EXT 0x202C - -typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); -typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues); -typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues); - -#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT) -#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT) -#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT) - -#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format) - -#endif /* WGL_EXT_pixel_format */ - -/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */ - -#ifndef WGL_EXT_pixel_format_packed_float -#define WGL_EXT_pixel_format_packed_float 1 - -#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 - -#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float) - -#endif /* WGL_EXT_pixel_format_packed_float */ - -/* -------------------------- WGL_EXT_swap_control ------------------------- */ - -#ifndef WGL_EXT_swap_control -#define WGL_EXT_swap_control 1 - -typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); -typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); - -#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT) -#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT) - -#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control) - -#endif /* WGL_EXT_swap_control */ - -/* --------------------- WGL_I3D_digital_video_control --------------------- */ - -#ifndef WGL_I3D_digital_video_control -#define WGL_I3D_digital_video_control 1 - -#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 -#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 -#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 -#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 - -typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); -typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); - -#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D) -#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D) - -#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control) - -#endif /* WGL_I3D_digital_video_control */ - -/* ----------------------------- WGL_I3D_gamma ----------------------------- */ - -#ifndef WGL_I3D_gamma -#define WGL_I3D_gamma 1 - -#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E -#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F - -typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue); -typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); -typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue); -typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); - -#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D) -#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D) -#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D) -#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D) - -#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma) - -#endif /* WGL_I3D_gamma */ - -/* ---------------------------- WGL_I3D_genlock ---------------------------- */ - -#ifndef WGL_I3D_genlock -#define WGL_I3D_genlock 1 - -#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 -#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045 -#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046 -#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047 -#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 -#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 -#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A -#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B -#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C - -typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); -typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); -typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); -typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); -typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); -typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); -typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate); -typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay); -typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge); -typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource); -typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag); -typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay); - -#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D) -#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D) -#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D) -#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D) -#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D) -#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D) -#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D) -#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D) -#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D) -#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D) -#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D) -#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D) - -#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock) - -#endif /* WGL_I3D_genlock */ - -/* -------------------------- WGL_I3D_image_buffer ------------------------- */ - -#ifndef WGL_I3D_image_buffer -#define WGL_I3D_image_buffer 1 - -#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 -#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 - -typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count); -typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); -typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); -typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count); - -#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D) -#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D) -#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D) -#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D) - -#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer) - -#endif /* WGL_I3D_image_buffer */ - -/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */ - -#ifndef WGL_I3D_swap_frame_lock -#define WGL_I3D_swap_frame_lock 1 - -typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID); -typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID); -typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag); -typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag); - -#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D) -#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D) -#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D) -#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D) - -#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock) - -#endif /* WGL_I3D_swap_frame_lock */ - -/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */ - -#ifndef WGL_I3D_swap_frame_usage -#define WGL_I3D_swap_frame_usage 1 - -typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); -typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); -typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage); -typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); - -#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D) -#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D) -#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D) -#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D) - -#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage) - -#endif /* WGL_I3D_swap_frame_usage */ - -/* -------------------------- WGL_NV_float_buffer -------------------------- */ - -#ifndef WGL_NV_float_buffer -#define WGL_NV_float_buffer 1 - -#define WGL_FLOAT_COMPONENTS_NV 0x20B0 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 -#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 -#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 -#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 -#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 - -#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer) - -#endif /* WGL_NV_float_buffer */ - -/* -------------------------- WGL_NV_gpu_affinity -------------------------- */ - -#ifndef WGL_NV_gpu_affinity -#define WGL_NV_gpu_affinity 1 - -#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 -#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 - -DECLARE_HANDLE(HGPUNV); -typedef struct _GPU_DEVICE { - DWORD cb; - CHAR DeviceName[32]; - CHAR DeviceString[128]; - DWORD Flags; - RECT rcVirtualScreen; -} GPU_DEVICE, *PGPU_DEVICE; - -typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); -typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); -typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); -typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); -typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); - -#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV) -#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV) -#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV) -#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV) -#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV) - -#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity) - -#endif /* WGL_NV_gpu_affinity */ - -/* -------------------------- WGL_NV_present_video ------------------------- */ - -#ifndef WGL_NV_present_video -#define WGL_NV_present_video 1 - -#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 - -DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); - -typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList); -typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList); -typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue); - -#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV) -#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV) -#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV) - -#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video) - -#endif /* WGL_NV_present_video */ - -/* ---------------------- WGL_NV_render_depth_texture ---------------------- */ - -#ifndef WGL_NV_render_depth_texture -#define WGL_NV_render_depth_texture 1 - -#define WGL_NO_TEXTURE_ARB 0x2077 -#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 -#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 -#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 -#define WGL_DEPTH_COMPONENT_NV 0x20A7 - -#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture) - -#endif /* WGL_NV_render_depth_texture */ - -/* -------------------- WGL_NV_render_texture_rectangle -------------------- */ - -#ifndef WGL_NV_render_texture_rectangle -#define WGL_NV_render_texture_rectangle 1 - -#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 -#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 - -#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle) - -#endif /* WGL_NV_render_texture_rectangle */ - -/* --------------------------- WGL_NV_swap_group --------------------------- */ - -#ifndef WGL_NV_swap_group -#define WGL_NV_swap_group 1 - -typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); -typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); -typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count); -typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers); -typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group); -typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); - -#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV) -#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV) -#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV) -#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV) -#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV) -#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV) - -#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group) - -#endif /* WGL_NV_swap_group */ - -/* ----------------------- WGL_NV_vertex_array_range ----------------------- */ - -#ifndef WGL_NV_vertex_array_range -#define WGL_NV_vertex_array_range 1 - -typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); -typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); - -#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV) -#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV) - -#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range) - -#endif /* WGL_NV_vertex_array_range */ - -/* -------------------------- WGL_NV_video_output -------------------------- */ - -#ifndef WGL_NV_video_output -#define WGL_NV_video_output 1 - -#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 -#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 -#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 -#define WGL_VIDEO_OUT_COLOR_NV 0x20C3 -#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 -#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 -#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 -#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 -#define WGL_VIDEO_OUT_FRAME 0x20C8 -#define WGL_VIDEO_OUT_FIELD_1 0x20C9 -#define WGL_VIDEO_OUT_FIELD_2 0x20CA -#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB -#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC - -DECLARE_HANDLE(HPVIDEODEV); - -typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); -typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice); -typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); -typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); -typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); -typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock); - -#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV) -#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV) -#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV) -#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV) -#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV) -#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV) - -#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output) - -#endif /* WGL_NV_video_output */ - -/* -------------------------- WGL_OML_sync_control ------------------------- */ - -#ifndef WGL_OML_sync_control -#define WGL_OML_sync_control 1 - -typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator); -typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc); -typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); -typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); -typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc); -typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc); - -#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML) -#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML) -#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML) -#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML) -#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML) -#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML) - -#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control) - -#endif /* WGL_OML_sync_control */ - -/* ------------------------------------------------------------------------- */ - -#ifdef GLEW_MX -#define WGLEW_EXPORT -#else -#define WGLEW_EXPORT GLEWAPI -#endif /* GLEW_MX */ - -#ifdef GLEW_MX -struct WGLEWContextStruct -{ -#endif /* GLEW_MX */ - -WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL; - -WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB; -WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB; -WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB; -WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB; - -WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB; - -WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB; - -WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB; -WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB; - -WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB; -WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB; -WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB; -WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB; -WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB; - -WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB; -WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB; -WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB; - -WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB; -WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB; -WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB; - -WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT; -WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT; -WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT; -WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT; - -WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT; - -WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT; -WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT; - -WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT; -WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT; -WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT; -WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT; -WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT; - -WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT; -WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT; -WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT; - -WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT; -WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT; - -WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D; -WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D; - -WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D; -WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D; -WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D; -WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D; - -WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D; -WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D; -WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D; -WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D; -WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D; -WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D; -WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D; -WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D; -WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D; -WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D; -WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D; -WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D; - -WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D; -WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D; -WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D; -WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D; - -WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D; -WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D; -WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D; -WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D; - -WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D; -WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D; -WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D; -WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D; - -WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV; -WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV; -WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV; -WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV; -WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV; - -WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV; -WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV; -WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV; - -WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV; -WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV; -WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV; -WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV; -WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV; -WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV; - -WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV; -WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV; - -WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV; -WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV; -WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV; -WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV; -WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV; -WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV; - -WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML; -WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML; -WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML; -WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML; -WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML; -WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML; -WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample; -WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control; -WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region; -WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context; -WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string; -WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB; -WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read; -WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample; -WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer; -WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format; -WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float; -WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture; -WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float; -WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle; -WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float; -WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table; -WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string; -WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB; -WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read; -WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample; -WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer; -WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format; -WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float; -WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control; -WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control; -WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma; -WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock; -WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer; -WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock; -WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage; -WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer; -WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity; -WGLEW_EXPORT GLboolean __WGLEW_NV_present_video; -WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture; -WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle; -WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group; -WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range; -WGLEW_EXPORT GLboolean __WGLEW_NV_video_output; -WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control; - -#ifdef GLEW_MX -}; /* WGLEWContextStruct */ -#endif /* GLEW_MX */ - -/* ------------------------------------------------------------------------- */ - -#ifdef GLEW_MX - -typedef struct WGLEWContextStruct WGLEWContext; -GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx); -GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name); - -#define wglewInit() wglewContextInit(wglewGetContext()) -#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x) - -#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x)) -#define WGLEW_GET_FUN(x) wglewGetContext()->x - -#else /* GLEW_MX */ - -#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) -#define WGLEW_GET_FUN(x) x - -GLEWAPI GLboolean wglewIsSupported (const char* name); - -#endif /* GLEW_MX */ - -GLEWAPI GLboolean wglewGetExtension (const char* name); - -#ifdef __cplusplus -} -#endif - -#undef GLEWAPI - -#endif /* __wglew_h__ */ diff --git a/3rdparty/openctm/tools/glew/LICENSE.txt b/3rdparty/openctm/tools/glew/LICENSE.txt deleted file mode 100644 index 89d74b801..000000000 --- a/3rdparty/openctm/tools/glew/LICENSE.txt +++ /dev/null @@ -1,73 +0,0 @@ -The OpenGL Extension Wrangler Library -Copyright (C) 2002-2007, Milan Ikits -Copyright (C) 2002-2007, Marcelo E. Magallon -Copyright (C) 2002, Lev Povalahev -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* The name of the author may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - - -Mesa 3-D graphics library -Version: 7.0 - -Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Copyright (c) 2007 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. diff --git a/3rdparty/openctm/tools/glew/glew.c b/3rdparty/openctm/tools/glew/glew.c deleted file mode 100644 index 0fa974de1..000000000 --- a/3rdparty/openctm/tools/glew/glew.c +++ /dev/null @@ -1,12180 +0,0 @@ -/* -** The OpenGL Extension Wrangler Library -** Copyright (C) 2002-2008, Milan Ikits -** Copyright (C) 2002-2008, Marcelo E. Magallon -** Copyright (C) 2002, Lev Povalahev -** All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are met: -** -** * Redistributions of source code must retain the above copyright notice, -** this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright notice, -** this list of conditions and the following disclaimer in the documentation -** and/or other materials provided with the distribution. -** * The name of the author may be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -** THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include -#if defined(_WIN32) -# include -#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) -# include -#endif - -/* - * Define glewGetContext and related helper macros. - */ -#ifdef GLEW_MX -# define glewGetContext() ctx -# ifdef _WIN32 -# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx -# define GLEW_CONTEXT_ARG_VAR_INIT ctx -# define wglewGetContext() ctx -# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx -# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx -# else /* _WIN32 */ -# define GLEW_CONTEXT_ARG_DEF_INIT void -# define GLEW_CONTEXT_ARG_VAR_INIT -# define glxewGetContext() ctx -# define GLXEW_CONTEXT_ARG_DEF_INIT void -# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx -# endif /* _WIN32 */ -# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx -#else /* GLEW_MX */ -# define GLEW_CONTEXT_ARG_DEF_INIT void -# define GLEW_CONTEXT_ARG_VAR_INIT -# define GLEW_CONTEXT_ARG_DEF_LIST void -# define WGLEW_CONTEXT_ARG_DEF_INIT void -# define WGLEW_CONTEXT_ARG_DEF_LIST void -# define GLXEW_CONTEXT_ARG_DEF_INIT void -# define GLXEW_CONTEXT_ARG_DEF_LIST void -#endif /* GLEW_MX */ - -#if defined(__APPLE__) -#include -#include -#include - -void* NSGLGetProcAddress (const GLubyte *name) -{ - static const struct mach_header* image = NULL; - NSSymbol symbol; - char* symbolName; - if (NULL == image) - { - image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR); - } - /* prepend a '_' for the Unix C symbol mangling convention */ - symbolName = malloc(strlen((const char*)name) + 2); - strcpy(symbolName+1, (const char*)name); - symbolName[0] = '_'; - symbol = NULL; - /* if (NSIsSymbolNameDefined(symbolName)) - symbol = NSLookupAndBindSymbol(symbolName); */ - symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL; - free(symbolName); - return symbol ? NSAddressOfSymbol(symbol) : NULL; -} -#endif /* __APPLE__ */ - -#if defined(__sgi) || defined (__sun) -#include -#include -#include - -void* dlGetProcAddress (const GLubyte* name) -{ - static void* h = NULL; - static void* gpa; - - if (h == NULL) - { - if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL; - gpa = dlsym(h, "glXGetProcAddress"); - } - - if (gpa != NULL) - return ((void*(*)(const GLubyte*))gpa)(name); - else - return dlsym(h, (const char*)name); -} -#endif /* __sgi || __sun */ - -/* - * Define glewGetProcAddress. - */ -#if defined(_WIN32) -# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name) -#else -# if defined(__APPLE__) -# define glewGetProcAddress(name) NSGLGetProcAddress(name) -# else -# if defined(__sgi) || defined(__sun) -# define glewGetProcAddress(name) dlGetProcAddress(name) -# else /* __linux */ -# define glewGetProcAddress(name) (*glXGetProcAddressARB)(name) -# endif -# endif -#endif - -/* - * Define GLboolean const cast. - */ -#define CONST_CAST(x) (*(GLboolean*)&x) - -/* - * GLEW, just like OpenGL or GLU, does not rely on the standard C library. - * These functions implement the functionality required in this file. - */ -static GLuint _glewStrLen (const GLubyte* s) -{ - GLuint i=0; - if (s == NULL) return 0; - while (s[i] != '\0') i++; - return i; -} - -static GLuint _glewStrCLen (const GLubyte* s, GLubyte c) -{ - GLuint i=0; - if (s == NULL) return 0; - while (s[i] != '\0' && s[i] != c) i++; - return (s[i] == '\0' || s[i] == c) ? i : 0; -} - -static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n) -{ - GLuint i=0; - if(a == NULL || b == NULL) - return (a == NULL && b == NULL && n == 0) ? GL_TRUE : GL_FALSE; - while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++; - return i == n ? GL_TRUE : GL_FALSE; -} - -static GLboolean _glewStrSame1 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) -{ - while (*na > 0 && (**a == ' ' || **a == '\n' || **a == '\r' || **a == '\t')) - { - (*a)++; - (*na)--; - } - if(*na >= nb) - { - GLuint i=0; - while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; - if(i == nb) - { - *a = *a + nb; - *na = *na - nb; - return GL_TRUE; - } - } - return GL_FALSE; -} - -static GLboolean _glewStrSame2 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) -{ - if(*na >= nb) - { - GLuint i=0; - while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; - if(i == nb) - { - *a = *a + nb; - *na = *na - nb; - return GL_TRUE; - } - } - return GL_FALSE; -} - -static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) -{ - if(*na >= nb) - { - GLuint i=0; - while (i < nb && (*a)+i != NULL && b+i != NULL && (*a)[i] == b[i]) i++; - if (i == nb && (*na == nb || (*a)[i] == ' ' || (*a)[i] == '\n' || (*a)[i] == '\r' || (*a)[i] == '\t')) - { - *a = *a + nb; - *na = *na - nb; - return GL_TRUE; - } - } - return GL_FALSE; -} - -#if !defined(_WIN32) || !defined(GLEW_MX) - -PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D = NULL; -PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements = NULL; -PFNGLTEXIMAGE3DPROC __glewTexImage3D = NULL; -PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D = NULL; - -PFNGLACTIVETEXTUREPROC __glewActiveTexture = NULL; -PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture = NULL; -PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D = NULL; -PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D = NULL; -PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D = NULL; -PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage = NULL; -PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd = NULL; -PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf = NULL; -PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd = NULL; -PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf = NULL; -PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d = NULL; -PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv = NULL; -PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f = NULL; -PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv = NULL; -PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i = NULL; -PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv = NULL; -PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s = NULL; -PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv = NULL; -PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d = NULL; -PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv = NULL; -PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f = NULL; -PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv = NULL; -PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i = NULL; -PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv = NULL; -PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s = NULL; -PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv = NULL; -PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d = NULL; -PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv = NULL; -PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f = NULL; -PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv = NULL; -PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i = NULL; -PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv = NULL; -PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s = NULL; -PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv = NULL; -PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d = NULL; -PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv = NULL; -PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f = NULL; -PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv = NULL; -PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i = NULL; -PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv = NULL; -PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s = NULL; -PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv = NULL; -PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage = NULL; - -PFNGLBLENDCOLORPROC __glewBlendColor = NULL; -PFNGLBLENDEQUATIONPROC __glewBlendEquation = NULL; -PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate = NULL; -PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer = NULL; -PFNGLFOGCOORDDPROC __glewFogCoordd = NULL; -PFNGLFOGCOORDDVPROC __glewFogCoorddv = NULL; -PFNGLFOGCOORDFPROC __glewFogCoordf = NULL; -PFNGLFOGCOORDFVPROC __glewFogCoordfv = NULL; -PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays = NULL; -PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements = NULL; -PFNGLPOINTPARAMETERFPROC __glewPointParameterf = NULL; -PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv = NULL; -PFNGLPOINTPARAMETERIPROC __glewPointParameteri = NULL; -PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv = NULL; -PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b = NULL; -PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv = NULL; -PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d = NULL; -PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv = NULL; -PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f = NULL; -PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv = NULL; -PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i = NULL; -PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv = NULL; -PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s = NULL; -PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv = NULL; -PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub = NULL; -PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv = NULL; -PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui = NULL; -PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv = NULL; -PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us = NULL; -PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv = NULL; -PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer = NULL; -PFNGLWINDOWPOS2DPROC __glewWindowPos2d = NULL; -PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv = NULL; -PFNGLWINDOWPOS2FPROC __glewWindowPos2f = NULL; -PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv = NULL; -PFNGLWINDOWPOS2IPROC __glewWindowPos2i = NULL; -PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv = NULL; -PFNGLWINDOWPOS2SPROC __glewWindowPos2s = NULL; -PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv = NULL; -PFNGLWINDOWPOS3DPROC __glewWindowPos3d = NULL; -PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv = NULL; -PFNGLWINDOWPOS3FPROC __glewWindowPos3f = NULL; -PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv = NULL; -PFNGLWINDOWPOS3IPROC __glewWindowPos3i = NULL; -PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv = NULL; -PFNGLWINDOWPOS3SPROC __glewWindowPos3s = NULL; -PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv = NULL; - -PFNGLBEGINQUERYPROC __glewBeginQuery = NULL; -PFNGLBINDBUFFERPROC __glewBindBuffer = NULL; -PFNGLBUFFERDATAPROC __glewBufferData = NULL; -PFNGLBUFFERSUBDATAPROC __glewBufferSubData = NULL; -PFNGLDELETEBUFFERSPROC __glewDeleteBuffers = NULL; -PFNGLDELETEQUERIESPROC __glewDeleteQueries = NULL; -PFNGLENDQUERYPROC __glewEndQuery = NULL; -PFNGLGENBUFFERSPROC __glewGenBuffers = NULL; -PFNGLGENQUERIESPROC __glewGenQueries = NULL; -PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv = NULL; -PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv = NULL; -PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData = NULL; -PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv = NULL; -PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv = NULL; -PFNGLGETQUERYIVPROC __glewGetQueryiv = NULL; -PFNGLISBUFFERPROC __glewIsBuffer = NULL; -PFNGLISQUERYPROC __glewIsQuery = NULL; -PFNGLMAPBUFFERPROC __glewMapBuffer = NULL; -PFNGLUNMAPBUFFERPROC __glewUnmapBuffer = NULL; - -PFNGLATTACHSHADERPROC __glewAttachShader = NULL; -PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation = NULL; -PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate = NULL; -PFNGLCOMPILESHADERPROC __glewCompileShader = NULL; -PFNGLCREATEPROGRAMPROC __glewCreateProgram = NULL; -PFNGLCREATESHADERPROC __glewCreateShader = NULL; -PFNGLDELETEPROGRAMPROC __glewDeleteProgram = NULL; -PFNGLDELETESHADERPROC __glewDeleteShader = NULL; -PFNGLDETACHSHADERPROC __glewDetachShader = NULL; -PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray = NULL; -PFNGLDRAWBUFFERSPROC __glewDrawBuffers = NULL; -PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray = NULL; -PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib = NULL; -PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform = NULL; -PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders = NULL; -PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation = NULL; -PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog = NULL; -PFNGLGETPROGRAMIVPROC __glewGetProgramiv = NULL; -PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog = NULL; -PFNGLGETSHADERSOURCEPROC __glewGetShaderSource = NULL; -PFNGLGETSHADERIVPROC __glewGetShaderiv = NULL; -PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation = NULL; -PFNGLGETUNIFORMFVPROC __glewGetUniformfv = NULL; -PFNGLGETUNIFORMIVPROC __glewGetUniformiv = NULL; -PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv = NULL; -PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv = NULL; -PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv = NULL; -PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv = NULL; -PFNGLISPROGRAMPROC __glewIsProgram = NULL; -PFNGLISSHADERPROC __glewIsShader = NULL; -PFNGLLINKPROGRAMPROC __glewLinkProgram = NULL; -PFNGLSHADERSOURCEPROC __glewShaderSource = NULL; -PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate = NULL; -PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate = NULL; -PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate = NULL; -PFNGLUNIFORM1FPROC __glewUniform1f = NULL; -PFNGLUNIFORM1FVPROC __glewUniform1fv = NULL; -PFNGLUNIFORM1IPROC __glewUniform1i = NULL; -PFNGLUNIFORM1IVPROC __glewUniform1iv = NULL; -PFNGLUNIFORM2FPROC __glewUniform2f = NULL; -PFNGLUNIFORM2FVPROC __glewUniform2fv = NULL; -PFNGLUNIFORM2IPROC __glewUniform2i = NULL; -PFNGLUNIFORM2IVPROC __glewUniform2iv = NULL; -PFNGLUNIFORM3FPROC __glewUniform3f = NULL; -PFNGLUNIFORM3FVPROC __glewUniform3fv = NULL; -PFNGLUNIFORM3IPROC __glewUniform3i = NULL; -PFNGLUNIFORM3IVPROC __glewUniform3iv = NULL; -PFNGLUNIFORM4FPROC __glewUniform4f = NULL; -PFNGLUNIFORM4FVPROC __glewUniform4fv = NULL; -PFNGLUNIFORM4IPROC __glewUniform4i = NULL; -PFNGLUNIFORM4IVPROC __glewUniform4iv = NULL; -PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv = NULL; -PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv = NULL; -PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv = NULL; -PFNGLUSEPROGRAMPROC __glewUseProgram = NULL; -PFNGLVALIDATEPROGRAMPROC __glewValidateProgram = NULL; -PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d = NULL; -PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv = NULL; -PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f = NULL; -PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv = NULL; -PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s = NULL; -PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv = NULL; -PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d = NULL; -PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv = NULL; -PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f = NULL; -PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv = NULL; -PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s = NULL; -PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv = NULL; -PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d = NULL; -PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv = NULL; -PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f = NULL; -PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv = NULL; -PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s = NULL; -PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv = NULL; -PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv = NULL; -PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv = NULL; -PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv = NULL; -PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub = NULL; -PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv = NULL; -PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv = NULL; -PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv = NULL; -PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv = NULL; -PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d = NULL; -PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv = NULL; -PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f = NULL; -PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv = NULL; -PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv = NULL; -PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s = NULL; -PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv = NULL; -PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv = NULL; -PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv = NULL; -PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv = NULL; -PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer = NULL; - -PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv = NULL; -PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv = NULL; -PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv = NULL; -PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv = NULL; -PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv = NULL; -PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv = NULL; - -PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender = NULL; -PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback = NULL; -PFNGLBINDBUFFERBASEPROC __glewBindBufferBase = NULL; -PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange = NULL; -PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation = NULL; -PFNGLCLAMPCOLORPROC __glewClampColor = NULL; -PFNGLCLEARBUFFERFIPROC __glewClearBufferfi = NULL; -PFNGLCLEARBUFFERFVPROC __glewClearBufferfv = NULL; -PFNGLCLEARBUFFERIVPROC __glewClearBufferiv = NULL; -PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv = NULL; -PFNGLCOLORMASKIPROC __glewColorMaski = NULL; -PFNGLDISABLEIPROC __glewDisablei = NULL; -PFNGLENABLEIPROC __glewEnablei = NULL; -PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender = NULL; -PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback = NULL; -PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v = NULL; -PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation = NULL; -PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v = NULL; -PFNGLGETSTRINGIPROC __glewGetStringi = NULL; -PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv = NULL; -PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv = NULL; -PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying = NULL; -PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv = NULL; -PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv = NULL; -PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv = NULL; -PFNGLISENABLEDIPROC __glewIsEnabledi = NULL; -PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv = NULL; -PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv = NULL; -PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings = NULL; -PFNGLUNIFORM1UIPROC __glewUniform1ui = NULL; -PFNGLUNIFORM1UIVPROC __glewUniform1uiv = NULL; -PFNGLUNIFORM2UIPROC __glewUniform2ui = NULL; -PFNGLUNIFORM2UIVPROC __glewUniform2uiv = NULL; -PFNGLUNIFORM3UIPROC __glewUniform3ui = NULL; -PFNGLUNIFORM3UIVPROC __glewUniform3uiv = NULL; -PFNGLUNIFORM4UIPROC __glewUniform4ui = NULL; -PFNGLUNIFORM4UIVPROC __glewUniform4uiv = NULL; -PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i = NULL; -PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv = NULL; -PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui = NULL; -PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv = NULL; -PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i = NULL; -PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv = NULL; -PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui = NULL; -PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv = NULL; -PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i = NULL; -PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv = NULL; -PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui = NULL; -PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv = NULL; -PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv = NULL; -PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i = NULL; -PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv = NULL; -PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv = NULL; -PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv = NULL; -PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui = NULL; -PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv = NULL; -PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv = NULL; -PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer = NULL; - -PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX = NULL; - -PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE = NULL; -PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE = NULL; -PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE = NULL; -PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE = NULL; -PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE = NULL; - -PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE = NULL; -PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE = NULL; -PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE = NULL; -PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE = NULL; -PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE = NULL; -PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE = NULL; -PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE = NULL; -PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE = NULL; - -PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE = NULL; -PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE = NULL; - -PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE = NULL; -PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE = NULL; - -PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE = NULL; -PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE = NULL; -PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE = NULL; -PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE = NULL; - -PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE = NULL; -PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE = NULL; -PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE = NULL; - -PFNGLCLAMPCOLORARBPROC __glewClampColorARB = NULL; - -PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB = NULL; - -PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB = NULL; -PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB = NULL; - -PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer = NULL; -PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer = NULL; -PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer = NULL; -PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus = NULL; -PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers = NULL; -PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers = NULL; -PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer = NULL; -PFNGLFRAMEBUFFERTEXTURLAYERPROC __glewFramebufferTexturLayer = NULL; -PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D = NULL; -PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D = NULL; -PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D = NULL; -PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers = NULL; -PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers = NULL; -PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap = NULL; -PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv = NULL; -PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv = NULL; -PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer = NULL; -PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer = NULL; -PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage = NULL; -PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample = NULL; - -PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB = NULL; -PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB = NULL; -PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB = NULL; -PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB = NULL; - -PFNGLCOLORSUBTABLEPROC __glewColorSubTable = NULL; -PFNGLCOLORTABLEPROC __glewColorTable = NULL; -PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv = NULL; -PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv = NULL; -PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D = NULL; -PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D = NULL; -PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf = NULL; -PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv = NULL; -PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri = NULL; -PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv = NULL; -PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable = NULL; -PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable = NULL; -PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D = NULL; -PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D = NULL; -PFNGLGETCOLORTABLEPROC __glewGetColorTable = NULL; -PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv = NULL; -PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv = NULL; -PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter = NULL; -PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv = NULL; -PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv = NULL; -PFNGLGETHISTOGRAMPROC __glewGetHistogram = NULL; -PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv = NULL; -PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv = NULL; -PFNGLGETMINMAXPROC __glewGetMinmax = NULL; -PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv = NULL; -PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv = NULL; -PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter = NULL; -PFNGLHISTOGRAMPROC __glewHistogram = NULL; -PFNGLMINMAXPROC __glewMinmax = NULL; -PFNGLRESETHISTOGRAMPROC __glewResetHistogram = NULL; -PFNGLRESETMINMAXPROC __glewResetMinmax = NULL; -PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D = NULL; - -PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB = NULL; - -PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange = NULL; -PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange = NULL; - -PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB = NULL; -PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB = NULL; -PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB = NULL; -PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB = NULL; -PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB = NULL; - -PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB = NULL; - -PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB = NULL; -PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB = NULL; -PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB = NULL; -PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB = NULL; -PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB = NULL; -PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB = NULL; -PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB = NULL; -PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB = NULL; -PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB = NULL; -PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB = NULL; -PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB = NULL; -PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB = NULL; -PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB = NULL; -PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB = NULL; -PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB = NULL; -PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB = NULL; -PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB = NULL; -PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB = NULL; -PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB = NULL; -PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB = NULL; -PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB = NULL; -PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB = NULL; -PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB = NULL; -PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB = NULL; -PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB = NULL; -PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB = NULL; -PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB = NULL; -PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB = NULL; -PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB = NULL; -PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB = NULL; -PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB = NULL; -PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB = NULL; -PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB = NULL; -PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB = NULL; - -PFNGLBEGINQUERYARBPROC __glewBeginQueryARB = NULL; -PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB = NULL; -PFNGLENDQUERYARBPROC __glewEndQueryARB = NULL; -PFNGLGENQUERIESARBPROC __glewGenQueriesARB = NULL; -PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB = NULL; -PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB = NULL; -PFNGLGETQUERYIVARBPROC __glewGetQueryivARB = NULL; -PFNGLISQUERYARBPROC __glewIsQueryARB = NULL; - -PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB = NULL; -PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB = NULL; - -PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB = NULL; -PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB = NULL; -PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB = NULL; -PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB = NULL; -PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB = NULL; -PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB = NULL; -PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB = NULL; -PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB = NULL; -PFNGLGETHANDLEARBPROC __glewGetHandleARB = NULL; -PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB = NULL; -PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB = NULL; -PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB = NULL; -PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB = NULL; -PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB = NULL; -PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB = NULL; -PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB = NULL; -PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB = NULL; -PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB = NULL; -PFNGLUNIFORM1FARBPROC __glewUniform1fARB = NULL; -PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB = NULL; -PFNGLUNIFORM1IARBPROC __glewUniform1iARB = NULL; -PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB = NULL; -PFNGLUNIFORM2FARBPROC __glewUniform2fARB = NULL; -PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB = NULL; -PFNGLUNIFORM2IARBPROC __glewUniform2iARB = NULL; -PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB = NULL; -PFNGLUNIFORM3FARBPROC __glewUniform3fARB = NULL; -PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB = NULL; -PFNGLUNIFORM3IARBPROC __glewUniform3iARB = NULL; -PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB = NULL; -PFNGLUNIFORM4FARBPROC __glewUniform4fARB = NULL; -PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB = NULL; -PFNGLUNIFORM4IARBPROC __glewUniform4iARB = NULL; -PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB = NULL; -PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB = NULL; -PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB = NULL; -PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB = NULL; -PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB = NULL; -PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB = NULL; - -PFNGLTEXBUFFERARBPROC __glewTexBufferARB = NULL; - -PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB = NULL; -PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB = NULL; -PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB = NULL; -PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB = NULL; - -PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB = NULL; -PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB = NULL; -PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB = NULL; -PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB = NULL; - -PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray = NULL; -PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays = NULL; -PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays = NULL; -PFNGLISVERTEXARRAYPROC __glewIsVertexArray = NULL; - -PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB = NULL; -PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB = NULL; -PFNGLWEIGHTBVARBPROC __glewWeightbvARB = NULL; -PFNGLWEIGHTDVARBPROC __glewWeightdvARB = NULL; -PFNGLWEIGHTFVARBPROC __glewWeightfvARB = NULL; -PFNGLWEIGHTIVARBPROC __glewWeightivARB = NULL; -PFNGLWEIGHTSVARBPROC __glewWeightsvARB = NULL; -PFNGLWEIGHTUBVARBPROC __glewWeightubvARB = NULL; -PFNGLWEIGHTUIVARBPROC __glewWeightuivARB = NULL; -PFNGLWEIGHTUSVARBPROC __glewWeightusvARB = NULL; - -PFNGLBINDBUFFERARBPROC __glewBindBufferARB = NULL; -PFNGLBUFFERDATAARBPROC __glewBufferDataARB = NULL; -PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB = NULL; -PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB = NULL; -PFNGLGENBUFFERSARBPROC __glewGenBuffersARB = NULL; -PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB = NULL; -PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB = NULL; -PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB = NULL; -PFNGLISBUFFERARBPROC __glewIsBufferARB = NULL; -PFNGLMAPBUFFERARBPROC __glewMapBufferARB = NULL; -PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB = NULL; - -PFNGLBINDPROGRAMARBPROC __glewBindProgramARB = NULL; -PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB = NULL; -PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB = NULL; -PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB = NULL; -PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB = NULL; -PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB = NULL; -PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB = NULL; -PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB = NULL; -PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB = NULL; -PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB = NULL; -PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB = NULL; -PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB = NULL; -PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB = NULL; -PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB = NULL; -PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB = NULL; -PFNGLISPROGRAMARBPROC __glewIsProgramARB = NULL; -PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB = NULL; -PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB = NULL; -PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB = NULL; -PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB = NULL; -PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB = NULL; -PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB = NULL; -PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB = NULL; -PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB = NULL; -PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB = NULL; -PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB = NULL; -PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB = NULL; -PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB = NULL; -PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB = NULL; -PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB = NULL; -PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB = NULL; -PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB = NULL; -PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB = NULL; -PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB = NULL; -PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB = NULL; -PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB = NULL; -PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB = NULL; -PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB = NULL; -PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB = NULL; -PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB = NULL; -PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB = NULL; -PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB = NULL; -PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB = NULL; -PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB = NULL; -PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB = NULL; -PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB = NULL; -PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB = NULL; -PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB = NULL; -PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB = NULL; -PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB = NULL; -PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB = NULL; -PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB = NULL; -PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB = NULL; -PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB = NULL; -PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB = NULL; -PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB = NULL; -PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB = NULL; -PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB = NULL; -PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB = NULL; -PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB = NULL; -PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB = NULL; -PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB = NULL; - -PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB = NULL; -PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB = NULL; -PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB = NULL; - -PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB = NULL; -PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB = NULL; -PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB = NULL; -PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB = NULL; -PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB = NULL; -PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB = NULL; -PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB = NULL; -PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB = NULL; -PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB = NULL; -PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB = NULL; -PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB = NULL; -PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB = NULL; -PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB = NULL; -PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB = NULL; -PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB = NULL; -PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB = NULL; - -PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI = NULL; - -PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI = NULL; -PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI = NULL; -PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI = NULL; - -PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI = NULL; -PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI = NULL; -PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI = NULL; -PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI = NULL; - -PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI = NULL; -PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI = NULL; -PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI = NULL; -PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI = NULL; -PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI = NULL; -PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI = NULL; -PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI = NULL; -PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI = NULL; -PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI = NULL; -PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI = NULL; -PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI = NULL; -PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI = NULL; -PFNGLSAMPLEMAPATIPROC __glewSampleMapATI = NULL; -PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI = NULL; - -PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI = NULL; -PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI = NULL; - -PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI = NULL; -PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI = NULL; - -PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI = NULL; -PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI = NULL; - -PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI = NULL; -PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI = NULL; -PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI = NULL; -PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI = NULL; -PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI = NULL; -PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI = NULL; -PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI = NULL; -PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI = NULL; -PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI = NULL; -PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI = NULL; -PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI = NULL; -PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI = NULL; - -PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI = NULL; -PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI = NULL; -PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI = NULL; - -PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI = NULL; -PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI = NULL; -PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI = NULL; -PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI = NULL; -PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI = NULL; -PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI = NULL; -PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI = NULL; -PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI = NULL; -PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI = NULL; -PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI = NULL; -PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI = NULL; -PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI = NULL; -PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI = NULL; -PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI = NULL; -PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI = NULL; -PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI = NULL; -PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI = NULL; -PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI = NULL; -PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI = NULL; -PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI = NULL; -PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI = NULL; -PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI = NULL; -PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI = NULL; -PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI = NULL; -PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI = NULL; -PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI = NULL; -PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI = NULL; -PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI = NULL; -PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI = NULL; -PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI = NULL; -PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI = NULL; -PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI = NULL; -PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI = NULL; -PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI = NULL; -PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI = NULL; -PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI = NULL; -PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI = NULL; - -PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT = NULL; -PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT = NULL; -PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT = NULL; - -PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT = NULL; - -PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT = NULL; - -PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT = NULL; - -PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT = NULL; - -PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT = NULL; -PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT = NULL; - -PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT = NULL; -PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT = NULL; - -PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT = NULL; -PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT = NULL; -PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT = NULL; -PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT = NULL; -PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT = NULL; -PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT = NULL; -PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT = NULL; -PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT = NULL; -PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT = NULL; -PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT = NULL; -PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT = NULL; -PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT = NULL; -PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT = NULL; - -PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT = NULL; -PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT = NULL; - -PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT = NULL; -PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT = NULL; -PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT = NULL; -PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT = NULL; -PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT = NULL; - -PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT = NULL; -PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT = NULL; - -PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT = NULL; - -PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT = NULL; -PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT = NULL; -PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT = NULL; -PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT = NULL; -PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT = NULL; -PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT = NULL; -PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT = NULL; -PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT = NULL; -PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT = NULL; -PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT = NULL; -PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT = NULL; -PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT = NULL; -PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT = NULL; -PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT = NULL; -PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT = NULL; -PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT = NULL; -PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT = NULL; -PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT = NULL; -PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT = NULL; -PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT = NULL; -PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT = NULL; -PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT = NULL; -PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT = NULL; -PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT = NULL; -PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT = NULL; -PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT = NULL; -PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT = NULL; -PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT = NULL; -PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT = NULL; -PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT = NULL; -PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT = NULL; -PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT = NULL; -PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT = NULL; -PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT = NULL; -PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT = NULL; -PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT = NULL; -PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT = NULL; -PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT = NULL; -PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT = NULL; -PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT = NULL; -PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT = NULL; -PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT = NULL; -PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT = NULL; -PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT = NULL; -PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT = NULL; -PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT = NULL; -PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT = NULL; -PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT = NULL; -PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT = NULL; -PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT = NULL; -PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT = NULL; -PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT = NULL; -PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT = NULL; -PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT = NULL; -PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT = NULL; -PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT = NULL; -PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT = NULL; -PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT = NULL; -PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT = NULL; -PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT = NULL; -PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT = NULL; -PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT = NULL; -PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT = NULL; -PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT = NULL; -PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT = NULL; -PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT = NULL; -PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT = NULL; -PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT = NULL; -PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT = NULL; -PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT = NULL; -PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT = NULL; -PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT = NULL; -PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT = NULL; -PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT = NULL; -PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT = NULL; -PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT = NULL; -PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT = NULL; -PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT = NULL; -PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT = NULL; -PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT = NULL; -PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT = NULL; -PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT = NULL; -PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT = NULL; -PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT = NULL; -PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT = NULL; -PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT = NULL; -PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT = NULL; -PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT = NULL; -PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT = NULL; -PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT = NULL; -PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT = NULL; -PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT = NULL; -PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT = NULL; -PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT = NULL; -PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT = NULL; -PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT = NULL; -PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT = NULL; -PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT = NULL; -PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT = NULL; -PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT = NULL; -PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT = NULL; -PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT = NULL; -PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT = NULL; -PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT = NULL; -PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT = NULL; -PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT = NULL; -PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT = NULL; -PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT = NULL; -PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT = NULL; -PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT = NULL; -PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT = NULL; -PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT = NULL; -PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT = NULL; -PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT = NULL; -PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT = NULL; -PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT = NULL; -PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT = NULL; -PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT = NULL; -PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT = NULL; -PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT = NULL; -PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT = NULL; -PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT = NULL; -PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT = NULL; -PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT = NULL; -PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT = NULL; -PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT = NULL; -PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT = NULL; -PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT = NULL; -PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT = NULL; -PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT = NULL; -PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT = NULL; -PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT = NULL; -PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT = NULL; -PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT = NULL; -PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT = NULL; -PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT = NULL; -PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT = NULL; -PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT = NULL; -PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT = NULL; -PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT = NULL; -PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT = NULL; -PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT = NULL; -PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT = NULL; -PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT = NULL; -PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT = NULL; -PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT = NULL; -PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT = NULL; -PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT = NULL; -PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT = NULL; -PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT = NULL; -PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT = NULL; -PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT = NULL; -PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT = NULL; -PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT = NULL; -PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT = NULL; -PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT = NULL; -PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT = NULL; -PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT = NULL; -PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT = NULL; -PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT = NULL; - -PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT = NULL; -PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT = NULL; -PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT = NULL; -PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT = NULL; -PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT = NULL; -PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT = NULL; - -PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT = NULL; -PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT = NULL; - -PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT = NULL; - -PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT = NULL; -PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT = NULL; -PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT = NULL; -PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT = NULL; -PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT = NULL; - -PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT = NULL; -PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT = NULL; -PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT = NULL; -PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT = NULL; -PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT = NULL; -PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT = NULL; -PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT = NULL; -PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT = NULL; -PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT = NULL; -PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT = NULL; -PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT = NULL; -PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT = NULL; -PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT = NULL; -PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT = NULL; -PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT = NULL; -PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT = NULL; -PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT = NULL; -PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT = NULL; - -PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT = NULL; - -PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT = NULL; - -PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT = NULL; -PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT = NULL; -PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT = NULL; -PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT = NULL; -PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT = NULL; -PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT = NULL; -PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT = NULL; -PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT = NULL; -PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT = NULL; -PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT = NULL; -PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT = NULL; -PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT = NULL; -PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT = NULL; -PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT = NULL; -PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT = NULL; -PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT = NULL; -PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT = NULL; - -PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT = NULL; -PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT = NULL; -PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT = NULL; -PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT = NULL; - -PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT = NULL; -PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT = NULL; - -PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT = NULL; -PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT = NULL; -PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT = NULL; -PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT = NULL; -PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT = NULL; -PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT = NULL; -PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT = NULL; -PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT = NULL; -PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT = NULL; -PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT = NULL; -PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT = NULL; -PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT = NULL; -PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT = NULL; -PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT = NULL; -PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT = NULL; -PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT = NULL; -PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT = NULL; -PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT = NULL; -PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT = NULL; -PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT = NULL; -PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT = NULL; -PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT = NULL; -PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT = NULL; -PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT = NULL; -PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT = NULL; -PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT = NULL; -PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT = NULL; -PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT = NULL; -PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT = NULL; -PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT = NULL; -PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT = NULL; -PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT = NULL; -PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT = NULL; -PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT = NULL; - -PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT = NULL; -PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT = NULL; -PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT = NULL; -PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT = NULL; -PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT = NULL; -PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT = NULL; -PFNGLHISTOGRAMEXTPROC __glewHistogramEXT = NULL; -PFNGLMINMAXEXTPROC __glewMinmaxEXT = NULL; -PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT = NULL; -PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT = NULL; - -PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT = NULL; - -PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT = NULL; - -PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT = NULL; -PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT = NULL; -PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT = NULL; - -PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT = NULL; -PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT = NULL; - -PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT = NULL; -PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT = NULL; - -PFNGLCOLORTABLEEXTPROC __glewColorTableEXT = NULL; -PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT = NULL; -PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT = NULL; -PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT = NULL; - -PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT = NULL; -PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT = NULL; -PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT = NULL; -PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT = NULL; -PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT = NULL; -PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT = NULL; - -PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT = NULL; -PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT = NULL; - -PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT = NULL; - -PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT = NULL; -PFNGLENDSCENEEXTPROC __glewEndSceneEXT = NULL; - -PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT = NULL; -PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT = NULL; -PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT = NULL; -PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT = NULL; -PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT = NULL; -PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT = NULL; -PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT = NULL; -PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT = NULL; -PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT = NULL; -PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT = NULL; -PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT = NULL; -PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT = NULL; -PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT = NULL; -PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT = NULL; -PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT = NULL; -PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT = NULL; -PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT = NULL; - -PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT = NULL; - -PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT = NULL; -PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT = NULL; -PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT = NULL; - -PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT = NULL; - -PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT = NULL; - -PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT = NULL; -PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT = NULL; -PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT = NULL; -PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT = NULL; -PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT = NULL; -PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT = NULL; - -PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT = NULL; -PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT = NULL; -PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT = NULL; -PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT = NULL; -PFNGLISTEXTUREEXTPROC __glewIsTextureEXT = NULL; -PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT = NULL; - -PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT = NULL; - -PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT = NULL; -PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT = NULL; - -PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT = NULL; -PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT = NULL; -PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT = NULL; -PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT = NULL; -PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT = NULL; -PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT = NULL; -PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT = NULL; - -PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT = NULL; -PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT = NULL; -PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT = NULL; -PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT = NULL; -PFNGLGETPOINTERVEXTPROC __glewGetPointervEXT = NULL; -PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT = NULL; -PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT = NULL; -PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT = NULL; -PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT = NULL; - -PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT = NULL; -PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT = NULL; -PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT = NULL; -PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT = NULL; -PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT = NULL; -PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT = NULL; -PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT = NULL; -PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT = NULL; -PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT = NULL; -PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT = NULL; -PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT = NULL; -PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT = NULL; -PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT = NULL; -PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT = NULL; -PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT = NULL; -PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT = NULL; -PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT = NULL; -PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT = NULL; -PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT = NULL; -PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT = NULL; -PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT = NULL; -PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT = NULL; -PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT = NULL; -PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT = NULL; -PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT = NULL; -PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT = NULL; -PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT = NULL; -PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT = NULL; -PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT = NULL; -PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT = NULL; -PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT = NULL; -PFNGLSWIZZLEEXTPROC __glewSwizzleEXT = NULL; -PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT = NULL; -PFNGLVARIANTBVEXTPROC __glewVariantbvEXT = NULL; -PFNGLVARIANTDVEXTPROC __glewVariantdvEXT = NULL; -PFNGLVARIANTFVEXTPROC __glewVariantfvEXT = NULL; -PFNGLVARIANTIVEXTPROC __glewVariantivEXT = NULL; -PFNGLVARIANTSVEXTPROC __glewVariantsvEXT = NULL; -PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT = NULL; -PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT = NULL; -PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT = NULL; -PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT = NULL; - -PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT = NULL; -PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT = NULL; -PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT = NULL; - -PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY = NULL; - -PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY = NULL; - -PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP = NULL; -PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP = NULL; -PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP = NULL; -PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP = NULL; -PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP = NULL; -PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP = NULL; - -PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM = NULL; -PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM = NULL; - -PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM = NULL; -PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM = NULL; -PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM = NULL; -PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM = NULL; -PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM = NULL; -PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM = NULL; -PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM = NULL; -PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM = NULL; - -PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL = NULL; -PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL = NULL; -PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL = NULL; -PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL = NULL; - -PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL = NULL; -PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL = NULL; - -PFNGLBUFFERREGIONENABLEDEXTPROC __glewBufferRegionEnabledEXT = NULL; -PFNGLDELETEBUFFERREGIONEXTPROC __glewDeleteBufferRegionEXT = NULL; -PFNGLDRAWBUFFERREGIONEXTPROC __glewDrawBufferRegionEXT = NULL; -PFNGLNEWBUFFERREGIONEXTPROC __glewNewBufferRegionEXT = NULL; -PFNGLREADBUFFERREGIONEXTPROC __glewReadBufferRegionEXT = NULL; - -PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA = NULL; - -PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA = NULL; -PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA = NULL; -PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA = NULL; -PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA = NULL; -PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA = NULL; -PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA = NULL; -PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA = NULL; -PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA = NULL; -PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA = NULL; -PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA = NULL; -PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA = NULL; -PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA = NULL; -PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA = NULL; -PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA = NULL; -PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA = NULL; -PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA = NULL; -PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA = NULL; -PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA = NULL; -PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA = NULL; -PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA = NULL; -PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA = NULL; -PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA = NULL; -PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA = NULL; -PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA = NULL; - -PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV = NULL; -PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV = NULL; - -PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV = NULL; -PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV = NULL; -PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV = NULL; - -PFNGLEVALMAPSNVPROC __glewEvalMapsNV = NULL; -PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV = NULL; -PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV = NULL; -PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV = NULL; -PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV = NULL; -PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV = NULL; -PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV = NULL; -PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV = NULL; -PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV = NULL; - -PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV = NULL; -PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV = NULL; -PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV = NULL; - -PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV = NULL; -PFNGLFINISHFENCENVPROC __glewFinishFenceNV = NULL; -PFNGLGENFENCESNVPROC __glewGenFencesNV = NULL; -PFNGLGETFENCEIVNVPROC __glewGetFenceivNV = NULL; -PFNGLISFENCENVPROC __glewIsFenceNV = NULL; -PFNGLSETFENCENVPROC __glewSetFenceNV = NULL; -PFNGLTESTFENCENVPROC __glewTestFenceNV = NULL; - -PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV = NULL; -PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV = NULL; -PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV = NULL; -PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV = NULL; -PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV = NULL; -PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV = NULL; - -PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV = NULL; - -PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV = NULL; - -PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV = NULL; -PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV = NULL; -PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV = NULL; -PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV = NULL; -PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV = NULL; -PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV = NULL; -PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV = NULL; -PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV = NULL; -PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV = NULL; -PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV = NULL; -PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV = NULL; -PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV = NULL; - -PFNGLCOLOR3HNVPROC __glewColor3hNV = NULL; -PFNGLCOLOR3HVNVPROC __glewColor3hvNV = NULL; -PFNGLCOLOR4HNVPROC __glewColor4hNV = NULL; -PFNGLCOLOR4HVNVPROC __glewColor4hvNV = NULL; -PFNGLFOGCOORDHNVPROC __glewFogCoordhNV = NULL; -PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV = NULL; -PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV = NULL; -PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV = NULL; -PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV = NULL; -PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV = NULL; -PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV = NULL; -PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV = NULL; -PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV = NULL; -PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV = NULL; -PFNGLNORMAL3HNVPROC __glewNormal3hNV = NULL; -PFNGLNORMAL3HVNVPROC __glewNormal3hvNV = NULL; -PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV = NULL; -PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV = NULL; -PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV = NULL; -PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV = NULL; -PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV = NULL; -PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV = NULL; -PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV = NULL; -PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV = NULL; -PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV = NULL; -PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV = NULL; -PFNGLVERTEX2HNVPROC __glewVertex2hNV = NULL; -PFNGLVERTEX2HVNVPROC __glewVertex2hvNV = NULL; -PFNGLVERTEX3HNVPROC __glewVertex3hNV = NULL; -PFNGLVERTEX3HVNVPROC __glewVertex3hvNV = NULL; -PFNGLVERTEX4HNVPROC __glewVertex4hNV = NULL; -PFNGLVERTEX4HVNVPROC __glewVertex4hvNV = NULL; -PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV = NULL; -PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV = NULL; -PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV = NULL; -PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV = NULL; -PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV = NULL; -PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV = NULL; -PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV = NULL; -PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV = NULL; -PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV = NULL; -PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV = NULL; -PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV = NULL; -PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV = NULL; -PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV = NULL; -PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV = NULL; - -PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV = NULL; -PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV = NULL; -PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV = NULL; -PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV = NULL; -PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV = NULL; -PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV = NULL; -PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV = NULL; - -PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV = NULL; -PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV = NULL; -PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV = NULL; - -PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV = NULL; -PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV = NULL; - -PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV = NULL; -PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV = NULL; - -PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV = NULL; -PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV = NULL; -PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV = NULL; -PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV = NULL; -PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV = NULL; -PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV = NULL; -PFNGLVIDEOPARAMETERIVNVPROC __glewVideoParameterivNV = NULL; - -PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV = NULL; -PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV = NULL; - -PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV = NULL; -PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV = NULL; -PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV = NULL; -PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV = NULL; -PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV = NULL; -PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV = NULL; -PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV = NULL; -PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV = NULL; -PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV = NULL; -PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV = NULL; -PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV = NULL; -PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV = NULL; -PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV = NULL; - -PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV = NULL; -PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV = NULL; - -PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV = NULL; -PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV = NULL; -PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV = NULL; -PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV = NULL; -PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV = NULL; -PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV = NULL; -PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV = NULL; -PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV = NULL; -PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV = NULL; -PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV = NULL; -PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV = NULL; - -PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV = NULL; -PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV = NULL; - -PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV = NULL; -PFNGLBINDPROGRAMNVPROC __glewBindProgramNV = NULL; -PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV = NULL; -PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV = NULL; -PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV = NULL; -PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV = NULL; -PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV = NULL; -PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV = NULL; -PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV = NULL; -PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV = NULL; -PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV = NULL; -PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV = NULL; -PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV = NULL; -PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV = NULL; -PFNGLISPROGRAMNVPROC __glewIsProgramNV = NULL; -PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV = NULL; -PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV = NULL; -PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV = NULL; -PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV = NULL; -PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV = NULL; -PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV = NULL; -PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV = NULL; -PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV = NULL; -PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV = NULL; -PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV = NULL; -PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV = NULL; -PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV = NULL; -PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV = NULL; -PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV = NULL; -PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV = NULL; -PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV = NULL; -PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV = NULL; -PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV = NULL; -PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV = NULL; -PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV = NULL; -PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV = NULL; -PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV = NULL; -PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV = NULL; -PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV = NULL; -PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV = NULL; -PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV = NULL; -PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV = NULL; -PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV = NULL; -PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV = NULL; -PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV = NULL; -PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV = NULL; -PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV = NULL; -PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV = NULL; -PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV = NULL; -PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV = NULL; -PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV = NULL; -PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV = NULL; -PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV = NULL; -PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV = NULL; -PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV = NULL; -PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV = NULL; -PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV = NULL; -PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV = NULL; -PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV = NULL; -PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV = NULL; -PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV = NULL; -PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV = NULL; -PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV = NULL; -PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV = NULL; - -PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES = NULL; -PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES = NULL; -PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES = NULL; -PFNGLFRUSTUMFOESPROC __glewFrustumfOES = NULL; -PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES = NULL; -PFNGLORTHOFOESPROC __glewOrthofOES = NULL; - -PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS = NULL; -PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS = NULL; - -PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS = NULL; -PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS = NULL; - -PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS = NULL; -PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS = NULL; - -PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS = NULL; -PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS = NULL; - -PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS = NULL; -PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS = NULL; - -PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS = NULL; -PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS = NULL; - -PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX = NULL; -PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX = NULL; -PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX = NULL; -PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX = NULL; -PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX = NULL; -PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX = NULL; - -PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX = NULL; - -PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX = NULL; - -PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX = NULL; -PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX = NULL; -PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX = NULL; -PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX = NULL; -PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX = NULL; -PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX = NULL; -PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX = NULL; -PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX = NULL; -PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX = NULL; -PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX = NULL; -PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX = NULL; -PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX = NULL; -PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX = NULL; -PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX = NULL; -PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX = NULL; -PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX = NULL; -PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX = NULL; - -PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX = NULL; - -PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX = NULL; - -PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX = NULL; - -PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX = NULL; -PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX = NULL; -PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX = NULL; -PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX = NULL; - -PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX = NULL; - -PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI = NULL; -PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI = NULL; -PFNGLCOLORTABLESGIPROC __glewColorTableSGI = NULL; -PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI = NULL; -PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI = NULL; -PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI = NULL; -PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI = NULL; - -PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX = NULL; - -PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN = NULL; -PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN = NULL; -PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN = NULL; -PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN = NULL; -PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN = NULL; -PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN = NULL; -PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN = NULL; -PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN = NULL; - -PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN = NULL; - -PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN = NULL; -PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN = NULL; -PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN = NULL; -PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN = NULL; -PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN = NULL; -PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN = NULL; -PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN = NULL; - -PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN = NULL; -PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN = NULL; -PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN = NULL; -PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN = NULL; -PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN = NULL; -PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN = NULL; -PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN = NULL; -PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN = NULL; -PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN = NULL; -PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN = NULL; -PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN = NULL; -PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN = NULL; -PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN = NULL; -PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN = NULL; -PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN = NULL; -PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN = NULL; -PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN = NULL; -PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN = NULL; -PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN = NULL; -PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN = NULL; -PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN = NULL; -PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN = NULL; -PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN = NULL; -PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN = NULL; -PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN = NULL; -PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN = NULL; - -PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN = NULL; - -#endif /* !WIN32 || !GLEW_MX */ - -#if !defined(GLEW_MX) - -GLboolean __GLEW_VERSION_1_1 = GL_FALSE; -GLboolean __GLEW_VERSION_1_2 = GL_FALSE; -GLboolean __GLEW_VERSION_1_3 = GL_FALSE; -GLboolean __GLEW_VERSION_1_4 = GL_FALSE; -GLboolean __GLEW_VERSION_1_5 = GL_FALSE; -GLboolean __GLEW_VERSION_2_0 = GL_FALSE; -GLboolean __GLEW_VERSION_2_1 = GL_FALSE; -GLboolean __GLEW_VERSION_3_0 = GL_FALSE; -GLboolean __GLEW_3DFX_multisample = GL_FALSE; -GLboolean __GLEW_3DFX_tbuffer = GL_FALSE; -GLboolean __GLEW_3DFX_texture_compression_FXT1 = GL_FALSE; -GLboolean __GLEW_APPLE_client_storage = GL_FALSE; -GLboolean __GLEW_APPLE_element_array = GL_FALSE; -GLboolean __GLEW_APPLE_fence = GL_FALSE; -GLboolean __GLEW_APPLE_float_pixels = GL_FALSE; -GLboolean __GLEW_APPLE_flush_buffer_range = GL_FALSE; -GLboolean __GLEW_APPLE_pixel_buffer = GL_FALSE; -GLboolean __GLEW_APPLE_specular_vector = GL_FALSE; -GLboolean __GLEW_APPLE_texture_range = GL_FALSE; -GLboolean __GLEW_APPLE_transform_hint = GL_FALSE; -GLboolean __GLEW_APPLE_vertex_array_object = GL_FALSE; -GLboolean __GLEW_APPLE_vertex_array_range = GL_FALSE; -GLboolean __GLEW_APPLE_ycbcr_422 = GL_FALSE; -GLboolean __GLEW_ARB_color_buffer_float = GL_FALSE; -GLboolean __GLEW_ARB_depth_buffer_float = GL_FALSE; -GLboolean __GLEW_ARB_depth_texture = GL_FALSE; -GLboolean __GLEW_ARB_draw_buffers = GL_FALSE; -GLboolean __GLEW_ARB_draw_instanced = GL_FALSE; -GLboolean __GLEW_ARB_fragment_program = GL_FALSE; -GLboolean __GLEW_ARB_fragment_program_shadow = GL_FALSE; -GLboolean __GLEW_ARB_fragment_shader = GL_FALSE; -GLboolean __GLEW_ARB_framebuffer_object = GL_FALSE; -GLboolean __GLEW_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean __GLEW_ARB_geometry_shader4 = GL_FALSE; -GLboolean __GLEW_ARB_half_float_pixel = GL_FALSE; -GLboolean __GLEW_ARB_half_float_vertex = GL_FALSE; -GLboolean __GLEW_ARB_imaging = GL_FALSE; -GLboolean __GLEW_ARB_instanced_arrays = GL_FALSE; -GLboolean __GLEW_ARB_map_buffer_range = GL_FALSE; -GLboolean __GLEW_ARB_matrix_palette = GL_FALSE; -GLboolean __GLEW_ARB_multisample = GL_FALSE; -GLboolean __GLEW_ARB_multitexture = GL_FALSE; -GLboolean __GLEW_ARB_occlusion_query = GL_FALSE; -GLboolean __GLEW_ARB_pixel_buffer_object = GL_FALSE; -GLboolean __GLEW_ARB_point_parameters = GL_FALSE; -GLboolean __GLEW_ARB_point_sprite = GL_FALSE; -GLboolean __GLEW_ARB_shader_objects = GL_FALSE; -GLboolean __GLEW_ARB_shading_language_100 = GL_FALSE; -GLboolean __GLEW_ARB_shadow = GL_FALSE; -GLboolean __GLEW_ARB_shadow_ambient = GL_FALSE; -GLboolean __GLEW_ARB_texture_border_clamp = GL_FALSE; -GLboolean __GLEW_ARB_texture_buffer_object = GL_FALSE; -GLboolean __GLEW_ARB_texture_compression = GL_FALSE; -GLboolean __GLEW_ARB_texture_compression_rgtc = GL_FALSE; -GLboolean __GLEW_ARB_texture_cube_map = GL_FALSE; -GLboolean __GLEW_ARB_texture_env_add = GL_FALSE; -GLboolean __GLEW_ARB_texture_env_combine = GL_FALSE; -GLboolean __GLEW_ARB_texture_env_crossbar = GL_FALSE; -GLboolean __GLEW_ARB_texture_env_dot3 = GL_FALSE; -GLboolean __GLEW_ARB_texture_float = GL_FALSE; -GLboolean __GLEW_ARB_texture_mirrored_repeat = GL_FALSE; -GLboolean __GLEW_ARB_texture_non_power_of_two = GL_FALSE; -GLboolean __GLEW_ARB_texture_rectangle = GL_FALSE; -GLboolean __GLEW_ARB_texture_rg = GL_FALSE; -GLboolean __GLEW_ARB_transpose_matrix = GL_FALSE; -GLboolean __GLEW_ARB_vertex_array_object = GL_FALSE; -GLboolean __GLEW_ARB_vertex_blend = GL_FALSE; -GLboolean __GLEW_ARB_vertex_buffer_object = GL_FALSE; -GLboolean __GLEW_ARB_vertex_program = GL_FALSE; -GLboolean __GLEW_ARB_vertex_shader = GL_FALSE; -GLboolean __GLEW_ARB_window_pos = GL_FALSE; -GLboolean __GLEW_ATIX_point_sprites = GL_FALSE; -GLboolean __GLEW_ATIX_texture_env_combine3 = GL_FALSE; -GLboolean __GLEW_ATIX_texture_env_route = GL_FALSE; -GLboolean __GLEW_ATIX_vertex_shader_output_point_size = GL_FALSE; -GLboolean __GLEW_ATI_draw_buffers = GL_FALSE; -GLboolean __GLEW_ATI_element_array = GL_FALSE; -GLboolean __GLEW_ATI_envmap_bumpmap = GL_FALSE; -GLboolean __GLEW_ATI_fragment_shader = GL_FALSE; -GLboolean __GLEW_ATI_map_object_buffer = GL_FALSE; -GLboolean __GLEW_ATI_pn_triangles = GL_FALSE; -GLboolean __GLEW_ATI_separate_stencil = GL_FALSE; -GLboolean __GLEW_ATI_shader_texture_lod = GL_FALSE; -GLboolean __GLEW_ATI_text_fragment_shader = GL_FALSE; -GLboolean __GLEW_ATI_texture_compression_3dc = GL_FALSE; -GLboolean __GLEW_ATI_texture_env_combine3 = GL_FALSE; -GLboolean __GLEW_ATI_texture_float = GL_FALSE; -GLboolean __GLEW_ATI_texture_mirror_once = GL_FALSE; -GLboolean __GLEW_ATI_vertex_array_object = GL_FALSE; -GLboolean __GLEW_ATI_vertex_attrib_array_object = GL_FALSE; -GLboolean __GLEW_ATI_vertex_streams = GL_FALSE; -GLboolean __GLEW_EXT_422_pixels = GL_FALSE; -GLboolean __GLEW_EXT_Cg_shader = GL_FALSE; -GLboolean __GLEW_EXT_abgr = GL_FALSE; -GLboolean __GLEW_EXT_bgra = GL_FALSE; -GLboolean __GLEW_EXT_bindable_uniform = GL_FALSE; -GLboolean __GLEW_EXT_blend_color = GL_FALSE; -GLboolean __GLEW_EXT_blend_equation_separate = GL_FALSE; -GLboolean __GLEW_EXT_blend_func_separate = GL_FALSE; -GLboolean __GLEW_EXT_blend_logic_op = GL_FALSE; -GLboolean __GLEW_EXT_blend_minmax = GL_FALSE; -GLboolean __GLEW_EXT_blend_subtract = GL_FALSE; -GLboolean __GLEW_EXT_clip_volume_hint = GL_FALSE; -GLboolean __GLEW_EXT_cmyka = GL_FALSE; -GLboolean __GLEW_EXT_color_subtable = GL_FALSE; -GLboolean __GLEW_EXT_compiled_vertex_array = GL_FALSE; -GLboolean __GLEW_EXT_convolution = GL_FALSE; -GLboolean __GLEW_EXT_coordinate_frame = GL_FALSE; -GLboolean __GLEW_EXT_copy_texture = GL_FALSE; -GLboolean __GLEW_EXT_cull_vertex = GL_FALSE; -GLboolean __GLEW_EXT_depth_bounds_test = GL_FALSE; -GLboolean __GLEW_EXT_direct_state_access = GL_FALSE; -GLboolean __GLEW_EXT_draw_buffers2 = GL_FALSE; -GLboolean __GLEW_EXT_draw_instanced = GL_FALSE; -GLboolean __GLEW_EXT_draw_range_elements = GL_FALSE; -GLboolean __GLEW_EXT_fog_coord = GL_FALSE; -GLboolean __GLEW_EXT_fragment_lighting = GL_FALSE; -GLboolean __GLEW_EXT_framebuffer_blit = GL_FALSE; -GLboolean __GLEW_EXT_framebuffer_multisample = GL_FALSE; -GLboolean __GLEW_EXT_framebuffer_object = GL_FALSE; -GLboolean __GLEW_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean __GLEW_EXT_geometry_shader4 = GL_FALSE; -GLboolean __GLEW_EXT_gpu_program_parameters = GL_FALSE; -GLboolean __GLEW_EXT_gpu_shader4 = GL_FALSE; -GLboolean __GLEW_EXT_histogram = GL_FALSE; -GLboolean __GLEW_EXT_index_array_formats = GL_FALSE; -GLboolean __GLEW_EXT_index_func = GL_FALSE; -GLboolean __GLEW_EXT_index_material = GL_FALSE; -GLboolean __GLEW_EXT_index_texture = GL_FALSE; -GLboolean __GLEW_EXT_light_texture = GL_FALSE; -GLboolean __GLEW_EXT_misc_attribute = GL_FALSE; -GLboolean __GLEW_EXT_multi_draw_arrays = GL_FALSE; -GLboolean __GLEW_EXT_multisample = GL_FALSE; -GLboolean __GLEW_EXT_packed_depth_stencil = GL_FALSE; -GLboolean __GLEW_EXT_packed_float = GL_FALSE; -GLboolean __GLEW_EXT_packed_pixels = GL_FALSE; -GLboolean __GLEW_EXT_paletted_texture = GL_FALSE; -GLboolean __GLEW_EXT_pixel_buffer_object = GL_FALSE; -GLboolean __GLEW_EXT_pixel_transform = GL_FALSE; -GLboolean __GLEW_EXT_pixel_transform_color_table = GL_FALSE; -GLboolean __GLEW_EXT_point_parameters = GL_FALSE; -GLboolean __GLEW_EXT_polygon_offset = GL_FALSE; -GLboolean __GLEW_EXT_rescale_normal = GL_FALSE; -GLboolean __GLEW_EXT_scene_marker = GL_FALSE; -GLboolean __GLEW_EXT_secondary_color = GL_FALSE; -GLboolean __GLEW_EXT_separate_specular_color = GL_FALSE; -GLboolean __GLEW_EXT_shadow_funcs = GL_FALSE; -GLboolean __GLEW_EXT_shared_texture_palette = GL_FALSE; -GLboolean __GLEW_EXT_stencil_clear_tag = GL_FALSE; -GLboolean __GLEW_EXT_stencil_two_side = GL_FALSE; -GLboolean __GLEW_EXT_stencil_wrap = GL_FALSE; -GLboolean __GLEW_EXT_subtexture = GL_FALSE; -GLboolean __GLEW_EXT_texture = GL_FALSE; -GLboolean __GLEW_EXT_texture3D = GL_FALSE; -GLboolean __GLEW_EXT_texture_array = GL_FALSE; -GLboolean __GLEW_EXT_texture_buffer_object = GL_FALSE; -GLboolean __GLEW_EXT_texture_compression_dxt1 = GL_FALSE; -GLboolean __GLEW_EXT_texture_compression_latc = GL_FALSE; -GLboolean __GLEW_EXT_texture_compression_rgtc = GL_FALSE; -GLboolean __GLEW_EXT_texture_compression_s3tc = GL_FALSE; -GLboolean __GLEW_EXT_texture_cube_map = GL_FALSE; -GLboolean __GLEW_EXT_texture_edge_clamp = GL_FALSE; -GLboolean __GLEW_EXT_texture_env = GL_FALSE; -GLboolean __GLEW_EXT_texture_env_add = GL_FALSE; -GLboolean __GLEW_EXT_texture_env_combine = GL_FALSE; -GLboolean __GLEW_EXT_texture_env_dot3 = GL_FALSE; -GLboolean __GLEW_EXT_texture_filter_anisotropic = GL_FALSE; -GLboolean __GLEW_EXT_texture_integer = GL_FALSE; -GLboolean __GLEW_EXT_texture_lod_bias = GL_FALSE; -GLboolean __GLEW_EXT_texture_mirror_clamp = GL_FALSE; -GLboolean __GLEW_EXT_texture_object = GL_FALSE; -GLboolean __GLEW_EXT_texture_perturb_normal = GL_FALSE; -GLboolean __GLEW_EXT_texture_rectangle = GL_FALSE; -GLboolean __GLEW_EXT_texture_sRGB = GL_FALSE; -GLboolean __GLEW_EXT_texture_shared_exponent = GL_FALSE; -GLboolean __GLEW_EXT_texture_swizzle = GL_FALSE; -GLboolean __GLEW_EXT_timer_query = GL_FALSE; -GLboolean __GLEW_EXT_transform_feedback = GL_FALSE; -GLboolean __GLEW_EXT_vertex_array = GL_FALSE; -GLboolean __GLEW_EXT_vertex_array_bgra = GL_FALSE; -GLboolean __GLEW_EXT_vertex_shader = GL_FALSE; -GLboolean __GLEW_EXT_vertex_weighting = GL_FALSE; -GLboolean __GLEW_GREMEDY_frame_terminator = GL_FALSE; -GLboolean __GLEW_GREMEDY_string_marker = GL_FALSE; -GLboolean __GLEW_HP_convolution_border_modes = GL_FALSE; -GLboolean __GLEW_HP_image_transform = GL_FALSE; -GLboolean __GLEW_HP_occlusion_test = GL_FALSE; -GLboolean __GLEW_HP_texture_lighting = GL_FALSE; -GLboolean __GLEW_IBM_cull_vertex = GL_FALSE; -GLboolean __GLEW_IBM_multimode_draw_arrays = GL_FALSE; -GLboolean __GLEW_IBM_rasterpos_clip = GL_FALSE; -GLboolean __GLEW_IBM_static_data = GL_FALSE; -GLboolean __GLEW_IBM_texture_mirrored_repeat = GL_FALSE; -GLboolean __GLEW_IBM_vertex_array_lists = GL_FALSE; -GLboolean __GLEW_INGR_color_clamp = GL_FALSE; -GLboolean __GLEW_INGR_interlace_read = GL_FALSE; -GLboolean __GLEW_INTEL_parallel_arrays = GL_FALSE; -GLboolean __GLEW_INTEL_texture_scissor = GL_FALSE; -GLboolean __GLEW_KTX_buffer_region = GL_FALSE; -GLboolean __GLEW_MESAX_texture_stack = GL_FALSE; -GLboolean __GLEW_MESA_pack_invert = GL_FALSE; -GLboolean __GLEW_MESA_resize_buffers = GL_FALSE; -GLboolean __GLEW_MESA_window_pos = GL_FALSE; -GLboolean __GLEW_MESA_ycbcr_texture = GL_FALSE; -GLboolean __GLEW_NV_blend_square = GL_FALSE; -GLboolean __GLEW_NV_conditional_render = GL_FALSE; -GLboolean __GLEW_NV_copy_depth_to_color = GL_FALSE; -GLboolean __GLEW_NV_depth_buffer_float = GL_FALSE; -GLboolean __GLEW_NV_depth_clamp = GL_FALSE; -GLboolean __GLEW_NV_depth_range_unclamped = GL_FALSE; -GLboolean __GLEW_NV_evaluators = GL_FALSE; -GLboolean __GLEW_NV_explicit_multisample = GL_FALSE; -GLboolean __GLEW_NV_fence = GL_FALSE; -GLboolean __GLEW_NV_float_buffer = GL_FALSE; -GLboolean __GLEW_NV_fog_distance = GL_FALSE; -GLboolean __GLEW_NV_fragment_program = GL_FALSE; -GLboolean __GLEW_NV_fragment_program2 = GL_FALSE; -GLboolean __GLEW_NV_fragment_program4 = GL_FALSE; -GLboolean __GLEW_NV_fragment_program_option = GL_FALSE; -GLboolean __GLEW_NV_framebuffer_multisample_coverage = GL_FALSE; -GLboolean __GLEW_NV_geometry_program4 = GL_FALSE; -GLboolean __GLEW_NV_geometry_shader4 = GL_FALSE; -GLboolean __GLEW_NV_gpu_program4 = GL_FALSE; -GLboolean __GLEW_NV_half_float = GL_FALSE; -GLboolean __GLEW_NV_light_max_exponent = GL_FALSE; -GLboolean __GLEW_NV_multisample_filter_hint = GL_FALSE; -GLboolean __GLEW_NV_occlusion_query = GL_FALSE; -GLboolean __GLEW_NV_packed_depth_stencil = GL_FALSE; -GLboolean __GLEW_NV_parameter_buffer_object = GL_FALSE; -GLboolean __GLEW_NV_pixel_data_range = GL_FALSE; -GLboolean __GLEW_NV_point_sprite = GL_FALSE; -GLboolean __GLEW_NV_present_video = GL_FALSE; -GLboolean __GLEW_NV_primitive_restart = GL_FALSE; -GLboolean __GLEW_NV_register_combiners = GL_FALSE; -GLboolean __GLEW_NV_register_combiners2 = GL_FALSE; -GLboolean __GLEW_NV_texgen_emboss = GL_FALSE; -GLboolean __GLEW_NV_texgen_reflection = GL_FALSE; -GLboolean __GLEW_NV_texture_compression_vtc = GL_FALSE; -GLboolean __GLEW_NV_texture_env_combine4 = GL_FALSE; -GLboolean __GLEW_NV_texture_expand_normal = GL_FALSE; -GLboolean __GLEW_NV_texture_rectangle = GL_FALSE; -GLboolean __GLEW_NV_texture_shader = GL_FALSE; -GLboolean __GLEW_NV_texture_shader2 = GL_FALSE; -GLboolean __GLEW_NV_texture_shader3 = GL_FALSE; -GLboolean __GLEW_NV_transform_feedback = GL_FALSE; -GLboolean __GLEW_NV_vertex_array_range = GL_FALSE; -GLboolean __GLEW_NV_vertex_array_range2 = GL_FALSE; -GLboolean __GLEW_NV_vertex_program = GL_FALSE; -GLboolean __GLEW_NV_vertex_program1_1 = GL_FALSE; -GLboolean __GLEW_NV_vertex_program2 = GL_FALSE; -GLboolean __GLEW_NV_vertex_program2_option = GL_FALSE; -GLboolean __GLEW_NV_vertex_program3 = GL_FALSE; -GLboolean __GLEW_NV_vertex_program4 = GL_FALSE; -GLboolean __GLEW_OES_byte_coordinates = GL_FALSE; -GLboolean __GLEW_OES_compressed_paletted_texture = GL_FALSE; -GLboolean __GLEW_OES_read_format = GL_FALSE; -GLboolean __GLEW_OES_single_precision = GL_FALSE; -GLboolean __GLEW_OML_interlace = GL_FALSE; -GLboolean __GLEW_OML_resample = GL_FALSE; -GLboolean __GLEW_OML_subsample = GL_FALSE; -GLboolean __GLEW_PGI_misc_hints = GL_FALSE; -GLboolean __GLEW_PGI_vertex_hints = GL_FALSE; -GLboolean __GLEW_REND_screen_coordinates = GL_FALSE; -GLboolean __GLEW_S3_s3tc = GL_FALSE; -GLboolean __GLEW_SGIS_color_range = GL_FALSE; -GLboolean __GLEW_SGIS_detail_texture = GL_FALSE; -GLboolean __GLEW_SGIS_fog_function = GL_FALSE; -GLboolean __GLEW_SGIS_generate_mipmap = GL_FALSE; -GLboolean __GLEW_SGIS_multisample = GL_FALSE; -GLboolean __GLEW_SGIS_pixel_texture = GL_FALSE; -GLboolean __GLEW_SGIS_point_line_texgen = GL_FALSE; -GLboolean __GLEW_SGIS_sharpen_texture = GL_FALSE; -GLboolean __GLEW_SGIS_texture4D = GL_FALSE; -GLboolean __GLEW_SGIS_texture_border_clamp = GL_FALSE; -GLboolean __GLEW_SGIS_texture_edge_clamp = GL_FALSE; -GLboolean __GLEW_SGIS_texture_filter4 = GL_FALSE; -GLboolean __GLEW_SGIS_texture_lod = GL_FALSE; -GLboolean __GLEW_SGIS_texture_select = GL_FALSE; -GLboolean __GLEW_SGIX_async = GL_FALSE; -GLboolean __GLEW_SGIX_async_histogram = GL_FALSE; -GLboolean __GLEW_SGIX_async_pixel = GL_FALSE; -GLboolean __GLEW_SGIX_blend_alpha_minmax = GL_FALSE; -GLboolean __GLEW_SGIX_clipmap = GL_FALSE; -GLboolean __GLEW_SGIX_convolution_accuracy = GL_FALSE; -GLboolean __GLEW_SGIX_depth_texture = GL_FALSE; -GLboolean __GLEW_SGIX_flush_raster = GL_FALSE; -GLboolean __GLEW_SGIX_fog_offset = GL_FALSE; -GLboolean __GLEW_SGIX_fog_texture = GL_FALSE; -GLboolean __GLEW_SGIX_fragment_specular_lighting = GL_FALSE; -GLboolean __GLEW_SGIX_framezoom = GL_FALSE; -GLboolean __GLEW_SGIX_interlace = GL_FALSE; -GLboolean __GLEW_SGIX_ir_instrument1 = GL_FALSE; -GLboolean __GLEW_SGIX_list_priority = GL_FALSE; -GLboolean __GLEW_SGIX_pixel_texture = GL_FALSE; -GLboolean __GLEW_SGIX_pixel_texture_bits = GL_FALSE; -GLboolean __GLEW_SGIX_reference_plane = GL_FALSE; -GLboolean __GLEW_SGIX_resample = GL_FALSE; -GLboolean __GLEW_SGIX_shadow = GL_FALSE; -GLboolean __GLEW_SGIX_shadow_ambient = GL_FALSE; -GLboolean __GLEW_SGIX_sprite = GL_FALSE; -GLboolean __GLEW_SGIX_tag_sample_buffer = GL_FALSE; -GLboolean __GLEW_SGIX_texture_add_env = GL_FALSE; -GLboolean __GLEW_SGIX_texture_coordinate_clamp = GL_FALSE; -GLboolean __GLEW_SGIX_texture_lod_bias = GL_FALSE; -GLboolean __GLEW_SGIX_texture_multi_buffer = GL_FALSE; -GLboolean __GLEW_SGIX_texture_range = GL_FALSE; -GLboolean __GLEW_SGIX_texture_scale_bias = GL_FALSE; -GLboolean __GLEW_SGIX_vertex_preclip = GL_FALSE; -GLboolean __GLEW_SGIX_vertex_preclip_hint = GL_FALSE; -GLboolean __GLEW_SGIX_ycrcb = GL_FALSE; -GLboolean __GLEW_SGI_color_matrix = GL_FALSE; -GLboolean __GLEW_SGI_color_table = GL_FALSE; -GLboolean __GLEW_SGI_texture_color_table = GL_FALSE; -GLboolean __GLEW_SUNX_constant_data = GL_FALSE; -GLboolean __GLEW_SUN_convolution_border_modes = GL_FALSE; -GLboolean __GLEW_SUN_global_alpha = GL_FALSE; -GLboolean __GLEW_SUN_mesh_array = GL_FALSE; -GLboolean __GLEW_SUN_read_video_pixels = GL_FALSE; -GLboolean __GLEW_SUN_slice_accum = GL_FALSE; -GLboolean __GLEW_SUN_triangle_list = GL_FALSE; -GLboolean __GLEW_SUN_vertex = GL_FALSE; -GLboolean __GLEW_WIN_phong_shading = GL_FALSE; -GLboolean __GLEW_WIN_specular_fog = GL_FALSE; -GLboolean __GLEW_WIN_swap_hint = GL_FALSE; - -#endif /* !GLEW_MX */ - -#ifdef GL_VERSION_1_2 - -static GLboolean _glewInit_GL_VERSION_1_2 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3D")) == NULL) || r; - r = ((glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElements")) == NULL) || r; - r = ((glTexImage3D = (PFNGLTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexImage3D")) == NULL) || r; - r = ((glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3D")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_1_2 */ - -#ifdef GL_VERSION_1_3 - -static GLboolean _glewInit_GL_VERSION_1_3 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glActiveTexture = (PFNGLACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glActiveTexture")) == NULL) || r; - r = ((glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTexture")) == NULL) || r; - r = ((glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1D")) == NULL) || r; - r = ((glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2D")) == NULL) || r; - r = ((glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3D")) == NULL) || r; - r = ((glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1D")) == NULL) || r; - r = ((glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2D")) == NULL) || r; - r = ((glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3D")) == NULL) || r; - r = ((glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImage")) == NULL) || r; - r = ((glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixd")) == NULL) || r; - r = ((glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixf")) == NULL) || r; - r = ((glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixd")) == NULL) || r; - r = ((glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixf")) == NULL) || r; - r = ((glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1d")) == NULL) || r; - r = ((glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dv")) == NULL) || r; - r = ((glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1f")) == NULL) || r; - r = ((glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fv")) == NULL) || r; - r = ((glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1i")) == NULL) || r; - r = ((glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iv")) == NULL) || r; - r = ((glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1s")) == NULL) || r; - r = ((glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sv")) == NULL) || r; - r = ((glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2d")) == NULL) || r; - r = ((glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dv")) == NULL) || r; - r = ((glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2f")) == NULL) || r; - r = ((glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fv")) == NULL) || r; - r = ((glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2i")) == NULL) || r; - r = ((glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iv")) == NULL) || r; - r = ((glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2s")) == NULL) || r; - r = ((glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sv")) == NULL) || r; - r = ((glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3d")) == NULL) || r; - r = ((glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dv")) == NULL) || r; - r = ((glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3f")) == NULL) || r; - r = ((glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fv")) == NULL) || r; - r = ((glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3i")) == NULL) || r; - r = ((glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iv")) == NULL) || r; - r = ((glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3s")) == NULL) || r; - r = ((glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sv")) == NULL) || r; - r = ((glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4d")) == NULL) || r; - r = ((glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dv")) == NULL) || r; - r = ((glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4f")) == NULL) || r; - r = ((glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fv")) == NULL) || r; - r = ((glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4i")) == NULL) || r; - r = ((glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iv")) == NULL) || r; - r = ((glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4s")) == NULL) || r; - r = ((glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sv")) == NULL) || r; - r = ((glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverage")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_1_3 */ - -#ifdef GL_VERSION_1_4 - -static GLboolean _glewInit_GL_VERSION_1_4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendColor = (PFNGLBLENDCOLORPROC)glewGetProcAddress((const GLubyte*)"glBlendColor")) == NULL) || r; - r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; - r = ((glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparate")) == NULL) || r; - r = ((glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointer")) == NULL) || r; - r = ((glFogCoordd = (PFNGLFOGCOORDDPROC)glewGetProcAddress((const GLubyte*)"glFogCoordd")) == NULL) || r; - r = ((glFogCoorddv = (PFNGLFOGCOORDDVPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddv")) == NULL) || r; - r = ((glFogCoordf = (PFNGLFOGCOORDFPROC)glewGetProcAddress((const GLubyte*)"glFogCoordf")) == NULL) || r; - r = ((glFogCoordfv = (PFNGLFOGCOORDFVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfv")) == NULL) || r; - r = ((glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArrays")) == NULL) || r; - r = ((glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElements")) == NULL) || r; - r = ((glPointParameterf = (PFNGLPOINTPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glPointParameterf")) == NULL) || r; - r = ((glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfv")) == NULL) || r; - r = ((glPointParameteri = (PFNGLPOINTPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glPointParameteri")) == NULL) || r; - r = ((glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriv")) == NULL) || r; - r = ((glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3b")) == NULL) || r; - r = ((glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bv")) == NULL) || r; - r = ((glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3d")) == NULL) || r; - r = ((glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dv")) == NULL) || r; - r = ((glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3f")) == NULL) || r; - r = ((glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fv")) == NULL) || r; - r = ((glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3i")) == NULL) || r; - r = ((glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iv")) == NULL) || r; - r = ((glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3s")) == NULL) || r; - r = ((glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sv")) == NULL) || r; - r = ((glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ub")) == NULL) || r; - r = ((glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubv")) == NULL) || r; - r = ((glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ui")) == NULL) || r; - r = ((glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiv")) == NULL) || r; - r = ((glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3us")) == NULL) || r; - r = ((glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usv")) == NULL) || r; - r = ((glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointer")) == NULL) || r; - r = ((glWindowPos2d = (PFNGLWINDOWPOS2DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2d")) == NULL) || r; - r = ((glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dv")) == NULL) || r; - r = ((glWindowPos2f = (PFNGLWINDOWPOS2FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2f")) == NULL) || r; - r = ((glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fv")) == NULL) || r; - r = ((glWindowPos2i = (PFNGLWINDOWPOS2IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2i")) == NULL) || r; - r = ((glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iv")) == NULL) || r; - r = ((glWindowPos2s = (PFNGLWINDOWPOS2SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2s")) == NULL) || r; - r = ((glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sv")) == NULL) || r; - r = ((glWindowPos3d = (PFNGLWINDOWPOS3DPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3d")) == NULL) || r; - r = ((glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dv")) == NULL) || r; - r = ((glWindowPos3f = (PFNGLWINDOWPOS3FPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3f")) == NULL) || r; - r = ((glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fv")) == NULL) || r; - r = ((glWindowPos3i = (PFNGLWINDOWPOS3IPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3i")) == NULL) || r; - r = ((glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iv")) == NULL) || r; - r = ((glWindowPos3s = (PFNGLWINDOWPOS3SPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3s")) == NULL) || r; - r = ((glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sv")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_1_4 */ - -#ifdef GL_VERSION_1_5 - -static GLboolean _glewInit_GL_VERSION_1_5 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginQuery = (PFNGLBEGINQUERYPROC)glewGetProcAddress((const GLubyte*)"glBeginQuery")) == NULL) || r; - r = ((glBindBuffer = (PFNGLBINDBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindBuffer")) == NULL) || r; - r = ((glBufferData = (PFNGLBUFFERDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferData")) == NULL) || r; - r = ((glBufferSubData = (PFNGLBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glBufferSubData")) == NULL) || r; - r = ((glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffers")) == NULL) || r; - r = ((glDeleteQueries = (PFNGLDELETEQUERIESPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueries")) == NULL) || r; - r = ((glEndQuery = (PFNGLENDQUERYPROC)glewGetProcAddress((const GLubyte*)"glEndQuery")) == NULL) || r; - r = ((glGenBuffers = (PFNGLGENBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenBuffers")) == NULL) || r; - r = ((glGenQueries = (PFNGLGENQUERIESPROC)glewGetProcAddress((const GLubyte*)"glGenQueries")) == NULL) || r; - r = ((glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameteriv")) == NULL) || r; - r = ((glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointerv")) == NULL) || r; - r = ((glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubData")) == NULL) || r; - r = ((glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectiv")) == NULL) || r; - r = ((glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuiv")) == NULL) || r; - r = ((glGetQueryiv = (PFNGLGETQUERYIVPROC)glewGetProcAddress((const GLubyte*)"glGetQueryiv")) == NULL) || r; - r = ((glIsBuffer = (PFNGLISBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsBuffer")) == NULL) || r; - r = ((glIsQuery = (PFNGLISQUERYPROC)glewGetProcAddress((const GLubyte*)"glIsQuery")) == NULL) || r; - r = ((glMapBuffer = (PFNGLMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glMapBuffer")) == NULL) || r; - r = ((glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glUnmapBuffer")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_1_5 */ - -#ifdef GL_VERSION_2_0 - -static GLboolean _glewInit_GL_VERSION_2_0 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAttachShader = (PFNGLATTACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glAttachShader")) == NULL) || r; - r = ((glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocation")) == NULL) || r; - r = ((glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparate")) == NULL) || r; - r = ((glCompileShader = (PFNGLCOMPILESHADERPROC)glewGetProcAddress((const GLubyte*)"glCompileShader")) == NULL) || r; - r = ((glCreateProgram = (PFNGLCREATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glCreateProgram")) == NULL) || r; - r = ((glCreateShader = (PFNGLCREATESHADERPROC)glewGetProcAddress((const GLubyte*)"glCreateShader")) == NULL) || r; - r = ((glDeleteProgram = (PFNGLDELETEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgram")) == NULL) || r; - r = ((glDeleteShader = (PFNGLDELETESHADERPROC)glewGetProcAddress((const GLubyte*)"glDeleteShader")) == NULL) || r; - r = ((glDetachShader = (PFNGLDETACHSHADERPROC)glewGetProcAddress((const GLubyte*)"glDetachShader")) == NULL) || r; - r = ((glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArray")) == NULL) || r; - r = ((glDrawBuffers = (PFNGLDRAWBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffers")) == NULL) || r; - r = ((glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArray")) == NULL) || r; - r = ((glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttrib")) == NULL) || r; - r = ((glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniform")) == NULL) || r; - r = ((glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedShaders")) == NULL) || r; - r = ((glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocation")) == NULL) || r; - r = ((glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetProgramInfoLog")) == NULL) || r; - r = ((glGetProgramiv = (PFNGLGETPROGRAMIVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramiv")) == NULL) || r; - r = ((glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)glewGetProcAddress((const GLubyte*)"glGetShaderInfoLog")) == NULL) || r; - r = ((glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSource")) == NULL) || r; - r = ((glGetShaderiv = (PFNGLGETSHADERIVPROC)glewGetProcAddress((const GLubyte*)"glGetShaderiv")) == NULL) || r; - r = ((glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocation")) == NULL) || r; - r = ((glGetUniformfv = (PFNGLGETUNIFORMFVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfv")) == NULL) || r; - r = ((glGetUniformiv = (PFNGLGETUNIFORMIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformiv")) == NULL) || r; - r = ((glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointerv")) == NULL) || r; - r = ((glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdv")) == NULL) || r; - r = ((glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfv")) == NULL) || r; - r = ((glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribiv")) == NULL) || r; - r = ((glIsProgram = (PFNGLISPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glIsProgram")) == NULL) || r; - r = ((glIsShader = (PFNGLISSHADERPROC)glewGetProcAddress((const GLubyte*)"glIsShader")) == NULL) || r; - r = ((glLinkProgram = (PFNGLLINKPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glLinkProgram")) == NULL) || r; - r = ((glShaderSource = (PFNGLSHADERSOURCEPROC)glewGetProcAddress((const GLubyte*)"glShaderSource")) == NULL) || r; - r = ((glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparate")) == NULL) || r; - r = ((glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilMaskSeparate")) == NULL) || r; - r = ((glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparate")) == NULL) || r; - r = ((glUniform1f = (PFNGLUNIFORM1FPROC)glewGetProcAddress((const GLubyte*)"glUniform1f")) == NULL) || r; - r = ((glUniform1fv = (PFNGLUNIFORM1FVPROC)glewGetProcAddress((const GLubyte*)"glUniform1fv")) == NULL) || r; - r = ((glUniform1i = (PFNGLUNIFORM1IPROC)glewGetProcAddress((const GLubyte*)"glUniform1i")) == NULL) || r; - r = ((glUniform1iv = (PFNGLUNIFORM1IVPROC)glewGetProcAddress((const GLubyte*)"glUniform1iv")) == NULL) || r; - r = ((glUniform2f = (PFNGLUNIFORM2FPROC)glewGetProcAddress((const GLubyte*)"glUniform2f")) == NULL) || r; - r = ((glUniform2fv = (PFNGLUNIFORM2FVPROC)glewGetProcAddress((const GLubyte*)"glUniform2fv")) == NULL) || r; - r = ((glUniform2i = (PFNGLUNIFORM2IPROC)glewGetProcAddress((const GLubyte*)"glUniform2i")) == NULL) || r; - r = ((glUniform2iv = (PFNGLUNIFORM2IVPROC)glewGetProcAddress((const GLubyte*)"glUniform2iv")) == NULL) || r; - r = ((glUniform3f = (PFNGLUNIFORM3FPROC)glewGetProcAddress((const GLubyte*)"glUniform3f")) == NULL) || r; - r = ((glUniform3fv = (PFNGLUNIFORM3FVPROC)glewGetProcAddress((const GLubyte*)"glUniform3fv")) == NULL) || r; - r = ((glUniform3i = (PFNGLUNIFORM3IPROC)glewGetProcAddress((const GLubyte*)"glUniform3i")) == NULL) || r; - r = ((glUniform3iv = (PFNGLUNIFORM3IVPROC)glewGetProcAddress((const GLubyte*)"glUniform3iv")) == NULL) || r; - r = ((glUniform4f = (PFNGLUNIFORM4FPROC)glewGetProcAddress((const GLubyte*)"glUniform4f")) == NULL) || r; - r = ((glUniform4fv = (PFNGLUNIFORM4FVPROC)glewGetProcAddress((const GLubyte*)"glUniform4fv")) == NULL) || r; - r = ((glUniform4i = (PFNGLUNIFORM4IPROC)glewGetProcAddress((const GLubyte*)"glUniform4i")) == NULL) || r; - r = ((glUniform4iv = (PFNGLUNIFORM4IVPROC)glewGetProcAddress((const GLubyte*)"glUniform4iv")) == NULL) || r; - r = ((glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fv")) == NULL) || r; - r = ((glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fv")) == NULL) || r; - r = ((glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fv")) == NULL) || r; - r = ((glUseProgram = (PFNGLUSEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glUseProgram")) == NULL) || r; - r = ((glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)glewGetProcAddress((const GLubyte*)"glValidateProgram")) == NULL) || r; - r = ((glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1d")) == NULL) || r; - r = ((glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dv")) == NULL) || r; - r = ((glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1f")) == NULL) || r; - r = ((glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fv")) == NULL) || r; - r = ((glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1s")) == NULL) || r; - r = ((glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sv")) == NULL) || r; - r = ((glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2d")) == NULL) || r; - r = ((glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dv")) == NULL) || r; - r = ((glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2f")) == NULL) || r; - r = ((glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fv")) == NULL) || r; - r = ((glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2s")) == NULL) || r; - r = ((glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sv")) == NULL) || r; - r = ((glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3d")) == NULL) || r; - r = ((glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dv")) == NULL) || r; - r = ((glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3f")) == NULL) || r; - r = ((glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fv")) == NULL) || r; - r = ((glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3s")) == NULL) || r; - r = ((glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sv")) == NULL) || r; - r = ((glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nbv")) == NULL) || r; - r = ((glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Niv")) == NULL) || r; - r = ((glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nsv")) == NULL) || r; - r = ((glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nub")) == NULL) || r; - r = ((glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nubv")) == NULL) || r; - r = ((glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nuiv")) == NULL) || r; - r = ((glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4Nusv")) == NULL) || r; - r = ((glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bv")) == NULL) || r; - r = ((glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4d")) == NULL) || r; - r = ((glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dv")) == NULL) || r; - r = ((glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4f")) == NULL) || r; - r = ((glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fv")) == NULL) || r; - r = ((glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4iv")) == NULL) || r; - r = ((glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4s")) == NULL) || r; - r = ((glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sv")) == NULL) || r; - r = ((glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubv")) == NULL) || r; - r = ((glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uiv")) == NULL) || r; - r = ((glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usv")) == NULL) || r; - r = ((glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointer")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_2_0 */ - -#ifdef GL_VERSION_2_1 - -static GLboolean _glewInit_GL_VERSION_2_1 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x3fv")) == NULL) || r; - r = ((glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2x4fv")) == NULL) || r; - r = ((glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x2fv")) == NULL) || r; - r = ((glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3x4fv")) == NULL) || r; - r = ((glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x2fv")) == NULL) || r; - r = ((glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4x3fv")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_2_1 */ - -#ifdef GL_VERSION_3_0 - -static GLboolean _glewInit_GL_VERSION_3_0 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRender")) == NULL) || r; - r = ((glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedback")) == NULL) || r; - r = ((glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBase")) == NULL) || r; - r = ((glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRange")) == NULL) || r; - r = ((glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocation")) == NULL) || r; - r = ((glClampColor = (PFNGLCLAMPCOLORPROC)glewGetProcAddress((const GLubyte*)"glClampColor")) == NULL) || r; - r = ((glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfi")) == NULL) || r; - r = ((glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferfv")) == NULL) || r; - r = ((glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferiv")) == NULL) || r; - r = ((glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)glewGetProcAddress((const GLubyte*)"glClearBufferuiv")) == NULL) || r; - r = ((glColorMaski = (PFNGLCOLORMASKIPROC)glewGetProcAddress((const GLubyte*)"glColorMaski")) == NULL) || r; - r = ((glDisablei = (PFNGLDISABLEIPROC)glewGetProcAddress((const GLubyte*)"glDisablei")) == NULL) || r; - r = ((glEnablei = (PFNGLENABLEIPROC)glewGetProcAddress((const GLubyte*)"glEnablei")) == NULL) || r; - r = ((glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRender")) == NULL) || r; - r = ((glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedback")) == NULL) || r; - r = ((glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)glewGetProcAddress((const GLubyte*)"glGetBooleani_v")) == NULL) || r; - r = ((glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocation")) == NULL) || r; - r = ((glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)glewGetProcAddress((const GLubyte*)"glGetIntegeri_v")) == NULL) || r; - r = ((glGetStringi = (PFNGLGETSTRINGIPROC)glewGetProcAddress((const GLubyte*)"glGetStringi")) == NULL) || r; - r = ((glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIiv")) == NULL) || r; - r = ((glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuiv")) == NULL) || r; - r = ((glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVarying")) == NULL) || r; - r = ((glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuiv")) == NULL) || r; - r = ((glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIiv")) == NULL) || r; - r = ((glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuiv")) == NULL) || r; - r = ((glIsEnabledi = (PFNGLISENABLEDIPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledi")) == NULL) || r; - r = ((glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIiv")) == NULL) || r; - r = ((glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuiv")) == NULL) || r; - r = ((glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryings")) == NULL) || r; - r = ((glUniform1ui = (PFNGLUNIFORM1UIPROC)glewGetProcAddress((const GLubyte*)"glUniform1ui")) == NULL) || r; - r = ((glUniform1uiv = (PFNGLUNIFORM1UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiv")) == NULL) || r; - r = ((glUniform2ui = (PFNGLUNIFORM2UIPROC)glewGetProcAddress((const GLubyte*)"glUniform2ui")) == NULL) || r; - r = ((glUniform2uiv = (PFNGLUNIFORM2UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiv")) == NULL) || r; - r = ((glUniform3ui = (PFNGLUNIFORM3UIPROC)glewGetProcAddress((const GLubyte*)"glUniform3ui")) == NULL) || r; - r = ((glUniform3uiv = (PFNGLUNIFORM3UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiv")) == NULL) || r; - r = ((glUniform4ui = (PFNGLUNIFORM4UIPROC)glewGetProcAddress((const GLubyte*)"glUniform4ui")) == NULL) || r; - r = ((glUniform4uiv = (PFNGLUNIFORM4UIVPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiv")) == NULL) || r; - r = ((glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1i")) == NULL) || r; - r = ((glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iv")) == NULL) || r; - r = ((glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ui")) == NULL) || r; - r = ((glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiv")) == NULL) || r; - r = ((glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2i")) == NULL) || r; - r = ((glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iv")) == NULL) || r; - r = ((glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ui")) == NULL) || r; - r = ((glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiv")) == NULL) || r; - r = ((glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3i")) == NULL) || r; - r = ((glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iv")) == NULL) || r; - r = ((glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ui")) == NULL) || r; - r = ((glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiv")) == NULL) || r; - r = ((glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bv")) == NULL) || r; - r = ((glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4i")) == NULL) || r; - r = ((glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iv")) == NULL) || r; - r = ((glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4sv")) == NULL) || r; - r = ((glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubv")) == NULL) || r; - r = ((glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ui")) == NULL) || r; - r = ((glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiv")) == NULL) || r; - r = ((glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usv")) == NULL) || r; - r = ((glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointer")) == NULL) || r; - - return r; -} - -#endif /* GL_VERSION_3_0 */ - -#ifdef GL_3DFX_multisample - -#endif /* GL_3DFX_multisample */ - -#ifdef GL_3DFX_tbuffer - -static GLboolean _glewInit_GL_3DFX_tbuffer (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTbufferMask3DFX = (PFNGLTBUFFERMASK3DFXPROC)glewGetProcAddress((const GLubyte*)"glTbufferMask3DFX")) == NULL) || r; - - return r; -} - -#endif /* GL_3DFX_tbuffer */ - -#ifdef GL_3DFX_texture_compression_FXT1 - -#endif /* GL_3DFX_texture_compression_FXT1 */ - -#ifdef GL_APPLE_client_storage - -#endif /* GL_APPLE_client_storage */ - -#ifdef GL_APPLE_element_array - -static GLboolean _glewInit_GL_APPLE_element_array (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawElementArrayAPPLE = (PFNGLDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayAPPLE")) == NULL) || r; - r = ((glDrawRangeElementArrayAPPLE = (PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayAPPLE")) == NULL) || r; - r = ((glElementPointerAPPLE = (PFNGLELEMENTPOINTERAPPLEPROC)glewGetProcAddress((const GLubyte*)"glElementPointerAPPLE")) == NULL) || r; - r = ((glMultiDrawElementArrayAPPLE = (PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementArrayAPPLE")) == NULL) || r; - r = ((glMultiDrawRangeElementArrayAPPLE = (PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawRangeElementArrayAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_element_array */ - -#ifdef GL_APPLE_fence - -static GLboolean _glewInit_GL_APPLE_fence (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDeleteFencesAPPLE = (PFNGLDELETEFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesAPPLE")) == NULL) || r; - r = ((glFinishFenceAPPLE = (PFNGLFINISHFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceAPPLE")) == NULL) || r; - r = ((glFinishObjectAPPLE = (PFNGLFINISHOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFinishObjectAPPLE")) == NULL) || r; - r = ((glGenFencesAPPLE = (PFNGLGENFENCESAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenFencesAPPLE")) == NULL) || r; - r = ((glIsFenceAPPLE = (PFNGLISFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsFenceAPPLE")) == NULL) || r; - r = ((glSetFenceAPPLE = (PFNGLSETFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glSetFenceAPPLE")) == NULL) || r; - r = ((glTestFenceAPPLE = (PFNGLTESTFENCEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestFenceAPPLE")) == NULL) || r; - r = ((glTestObjectAPPLE = (PFNGLTESTOBJECTAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTestObjectAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_fence */ - -#ifdef GL_APPLE_float_pixels - -#endif /* GL_APPLE_float_pixels */ - -#ifdef GL_APPLE_flush_buffer_range - -static GLboolean _glewInit_GL_APPLE_flush_buffer_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBufferParameteriAPPLE")) == NULL) || r; - r = ((glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRangeAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_flush_buffer_range */ - -#ifdef GL_APPLE_pixel_buffer - -#endif /* GL_APPLE_pixel_buffer */ - -#ifdef GL_APPLE_specular_vector - -#endif /* GL_APPLE_specular_vector */ - -#ifdef GL_APPLE_texture_range - -static GLboolean _glewInit_GL_APPLE_texture_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetTexParameterPointervAPPLE = (PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterPointervAPPLE")) == NULL) || r; - r = ((glTextureRangeAPPLE = (PFNGLTEXTURERANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glTextureRangeAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_texture_range */ - -#ifdef GL_APPLE_transform_hint - -#endif /* GL_APPLE_transform_hint */ - -#ifdef GL_APPLE_vertex_array_object - -static GLboolean _glewInit_GL_APPLE_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArrayAPPLE")) == NULL) || r; - r = ((glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArraysAPPLE")) == NULL) || r; - r = ((glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArraysAPPLE")) == NULL) || r; - r = ((glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArrayAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_vertex_array_object */ - -#ifdef GL_APPLE_vertex_array_range - -static GLboolean _glewInit_GL_APPLE_vertex_array_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFlushVertexArrayRangeAPPLE = (PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeAPPLE")) == NULL) || r; - r = ((glVertexArrayParameteriAPPLE = (PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayParameteriAPPLE")) == NULL) || r; - r = ((glVertexArrayRangeAPPLE = (PFNGLVERTEXARRAYRANGEAPPLEPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeAPPLE")) == NULL) || r; - - return r; -} - -#endif /* GL_APPLE_vertex_array_range */ - -#ifdef GL_APPLE_ycbcr_422 - -#endif /* GL_APPLE_ycbcr_422 */ - -#ifdef GL_ARB_color_buffer_float - -static GLboolean _glewInit_GL_ARB_color_buffer_float (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glClampColorARB = (PFNGLCLAMPCOLORARBPROC)glewGetProcAddress((const GLubyte*)"glClampColorARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_color_buffer_float */ - -#ifdef GL_ARB_depth_buffer_float - -#endif /* GL_ARB_depth_buffer_float */ - -#ifdef GL_ARB_depth_texture - -#endif /* GL_ARB_depth_texture */ - -#ifdef GL_ARB_draw_buffers - -static GLboolean _glewInit_GL_ARB_draw_buffers (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_draw_buffers */ - -#ifdef GL_ARB_draw_instanced - -static GLboolean _glewInit_GL_ARB_draw_instanced (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedARB")) == NULL) || r; - r = ((glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_draw_instanced */ - -#ifdef GL_ARB_fragment_program - -#endif /* GL_ARB_fragment_program */ - -#ifdef GL_ARB_fragment_program_shadow - -#endif /* GL_ARB_fragment_program_shadow */ - -#ifdef GL_ARB_fragment_shader - -#endif /* GL_ARB_fragment_shader */ - -#ifdef GL_ARB_framebuffer_object - -static GLboolean _glewInit_GL_ARB_framebuffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindFramebuffer")) == NULL) || r; - r = ((glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbuffer")) == NULL) || r; - r = ((glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebuffer")) == NULL) || r; - r = ((glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatus")) == NULL) || r; - r = ((glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffers")) == NULL) || r; - r = ((glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffers")) == NULL) || r; - r = ((glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbuffer")) == NULL) || r; - r = ((glFramebufferTexturLayer = (PFNGLFRAMEBUFFERTEXTURLAYERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexturLayer")) == NULL) || r; - r = ((glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1D")) == NULL) || r; - r = ((glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2D")) == NULL) || r; - r = ((glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3D")) == NULL) || r; - r = ((glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffers")) == NULL) || r; - r = ((glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffers")) == NULL) || r; - r = ((glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmap")) == NULL) || r; - r = ((glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameteriv")) == NULL) || r; - r = ((glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameteriv")) == NULL) || r; - r = ((glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsFramebuffer")) == NULL) || r; - r = ((glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbuffer")) == NULL) || r; - r = ((glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorage")) == NULL) || r; - r = ((glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisample")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_framebuffer_object */ - -#ifdef GL_ARB_framebuffer_sRGB - -#endif /* GL_ARB_framebuffer_sRGB */ - -#ifdef GL_ARB_geometry_shader4 - -static GLboolean _glewInit_GL_ARB_geometry_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureARB")) == NULL) || r; - r = ((glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceARB")) == NULL) || r; - r = ((glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerARB")) == NULL) || r; - r = ((glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_geometry_shader4 */ - -#ifdef GL_ARB_half_float_pixel - -#endif /* GL_ARB_half_float_pixel */ - -#ifdef GL_ARB_half_float_vertex - -#endif /* GL_ARB_half_float_vertex */ - -#ifdef GL_ARB_imaging - -static GLboolean _glewInit_GL_ARB_imaging (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)"glBlendEquation")) == NULL) || r; - r = ((glColorSubTable = (PFNGLCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorSubTable")) == NULL) || r; - r = ((glColorTable = (PFNGLCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glColorTable")) == NULL) || r; - r = ((glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfv")) == NULL) || r; - r = ((glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameteriv")) == NULL) || r; - r = ((glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1D")) == NULL) || r; - r = ((glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2D")) == NULL) || r; - r = ((glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterf")) == NULL) || r; - r = ((glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfv")) == NULL) || r; - r = ((glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteri")) == NULL) || r; - r = ((glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriv")) == NULL) || r; - r = ((glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTable")) == NULL) || r; - r = ((glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTable")) == NULL) || r; - r = ((glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1D")) == NULL) || r; - r = ((glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2D")) == NULL) || r; - r = ((glGetColorTable = (PFNGLGETCOLORTABLEPROC)glewGetProcAddress((const GLubyte*)"glGetColorTable")) == NULL) || r; - r = ((glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfv")) == NULL) || r; - r = ((glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameteriv")) == NULL) || r; - r = ((glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilter")) == NULL) || r; - r = ((glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfv")) == NULL) || r; - r = ((glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameteriv")) == NULL) || r; - r = ((glGetHistogram = (PFNGLGETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glGetHistogram")) == NULL) || r; - r = ((glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfv")) == NULL) || r; - r = ((glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameteriv")) == NULL) || r; - r = ((glGetMinmax = (PFNGLGETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glGetMinmax")) == NULL) || r; - r = ((glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfv")) == NULL) || r; - r = ((glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameteriv")) == NULL) || r; - r = ((glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilter")) == NULL) || r; - r = ((glHistogram = (PFNGLHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glHistogram")) == NULL) || r; - r = ((glMinmax = (PFNGLMINMAXPROC)glewGetProcAddress((const GLubyte*)"glMinmax")) == NULL) || r; - r = ((glResetHistogram = (PFNGLRESETHISTOGRAMPROC)glewGetProcAddress((const GLubyte*)"glResetHistogram")) == NULL) || r; - r = ((glResetMinmax = (PFNGLRESETMINMAXPROC)glewGetProcAddress((const GLubyte*)"glResetMinmax")) == NULL) || r; - r = ((glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2D")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_imaging */ - -#ifdef GL_ARB_instanced_arrays - -static GLboolean _glewInit_GL_ARB_instanced_arrays (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribDivisorARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_instanced_arrays */ - -#ifdef GL_ARB_map_buffer_range - -static GLboolean _glewInit_GL_ARB_map_buffer_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glFlushMappedBufferRange")) == NULL) || r; - r = ((glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)glewGetProcAddress((const GLubyte*)"glMapBufferRange")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_map_buffer_range */ - -#ifdef GL_ARB_matrix_palette - -static GLboolean _glewInit_GL_ARB_matrix_palette (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)glewGetProcAddress((const GLubyte*)"glCurrentPaletteMatrixARB")) == NULL) || r; - r = ((glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexPointerARB")) == NULL) || r; - r = ((glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexubvARB")) == NULL) || r; - r = ((glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexuivARB")) == NULL) || r; - r = ((glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)glewGetProcAddress((const GLubyte*)"glMatrixIndexusvARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_matrix_palette */ - -#ifdef GL_ARB_multisample - -static GLboolean _glewInit_GL_ARB_multisample (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)glewGetProcAddress((const GLubyte*)"glSampleCoverageARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_multisample */ - -#ifdef GL_ARB_multitexture - -static GLboolean _glewInit_GL_ARB_multitexture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glActiveTextureARB")) == NULL) || r; - r = ((glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)glewGetProcAddress((const GLubyte*)"glClientActiveTextureARB")) == NULL) || r; - r = ((glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dARB")) == NULL) || r; - r = ((glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1dvARB")) == NULL) || r; - r = ((glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fARB")) == NULL) || r; - r = ((glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1fvARB")) == NULL) || r; - r = ((glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1iARB")) == NULL) || r; - r = ((glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1ivARB")) == NULL) || r; - r = ((glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1sARB")) == NULL) || r; - r = ((glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1svARB")) == NULL) || r; - r = ((glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dARB")) == NULL) || r; - r = ((glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2dvARB")) == NULL) || r; - r = ((glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fARB")) == NULL) || r; - r = ((glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2fvARB")) == NULL) || r; - r = ((glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2iARB")) == NULL) || r; - r = ((glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2ivARB")) == NULL) || r; - r = ((glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2sARB")) == NULL) || r; - r = ((glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2svARB")) == NULL) || r; - r = ((glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dARB")) == NULL) || r; - r = ((glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3dvARB")) == NULL) || r; - r = ((glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fARB")) == NULL) || r; - r = ((glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3fvARB")) == NULL) || r; - r = ((glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3iARB")) == NULL) || r; - r = ((glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3ivARB")) == NULL) || r; - r = ((glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3sARB")) == NULL) || r; - r = ((glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3svARB")) == NULL) || r; - r = ((glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dARB")) == NULL) || r; - r = ((glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4dvARB")) == NULL) || r; - r = ((glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fARB")) == NULL) || r; - r = ((glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4fvARB")) == NULL) || r; - r = ((glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4iARB")) == NULL) || r; - r = ((glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4ivARB")) == NULL) || r; - r = ((glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4sARB")) == NULL) || r; - r = ((glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4svARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_multitexture */ - -#ifdef GL_ARB_occlusion_query - -static GLboolean _glewInit_GL_ARB_occlusion_query (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glBeginQueryARB")) == NULL) || r; - r = ((glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteQueriesARB")) == NULL) || r; - r = ((glEndQueryARB = (PFNGLENDQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glEndQueryARB")) == NULL) || r; - r = ((glGenQueriesARB = (PFNGLGENQUERIESARBPROC)glewGetProcAddress((const GLubyte*)"glGenQueriesARB")) == NULL) || r; - r = ((glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectivARB")) == NULL) || r; - r = ((glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectuivARB")) == NULL) || r; - r = ((glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetQueryivARB")) == NULL) || r; - r = ((glIsQueryARB = (PFNGLISQUERYARBPROC)glewGetProcAddress((const GLubyte*)"glIsQueryARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_occlusion_query */ - -#ifdef GL_ARB_pixel_buffer_object - -#endif /* GL_ARB_pixel_buffer_object */ - -#ifdef GL_ARB_point_parameters - -static GLboolean _glewInit_GL_ARB_point_parameters (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfARB")) == NULL) || r; - r = ((glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_point_parameters */ - -#ifdef GL_ARB_point_sprite - -#endif /* GL_ARB_point_sprite */ - -#ifdef GL_ARB_shader_objects - -static GLboolean _glewInit_GL_ARB_shader_objects (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glAttachObjectARB")) == NULL) || r; - r = ((glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)glewGetProcAddress((const GLubyte*)"glCompileShaderARB")) == NULL) || r; - r = ((glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateProgramObjectARB")) == NULL) || r; - r = ((glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glCreateShaderObjectARB")) == NULL) || r; - r = ((glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteObjectARB")) == NULL) || r; - r = ((glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glDetachObjectARB")) == NULL) || r; - r = ((glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveUniformARB")) == NULL) || r; - r = ((glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttachedObjectsARB")) == NULL) || r; - r = ((glGetHandleARB = (PFNGLGETHANDLEARBPROC)glewGetProcAddress((const GLubyte*)"glGetHandleARB")) == NULL) || r; - r = ((glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)glewGetProcAddress((const GLubyte*)"glGetInfoLogARB")) == NULL) || r; - r = ((glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterfvARB")) == NULL) || r; - r = ((glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetObjectParameterivARB")) == NULL) || r; - r = ((glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glGetShaderSourceARB")) == NULL) || r; - r = ((glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformLocationARB")) == NULL) || r; - r = ((glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformfvARB")) == NULL) || r; - r = ((glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetUniformivARB")) == NULL) || r; - r = ((glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glLinkProgramARB")) == NULL) || r; - r = ((glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)glewGetProcAddress((const GLubyte*)"glShaderSourceARB")) == NULL) || r; - r = ((glUniform1fARB = (PFNGLUNIFORM1FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fARB")) == NULL) || r; - r = ((glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1fvARB")) == NULL) || r; - r = ((glUniform1iARB = (PFNGLUNIFORM1IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1iARB")) == NULL) || r; - r = ((glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform1ivARB")) == NULL) || r; - r = ((glUniform2fARB = (PFNGLUNIFORM2FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fARB")) == NULL) || r; - r = ((glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2fvARB")) == NULL) || r; - r = ((glUniform2iARB = (PFNGLUNIFORM2IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2iARB")) == NULL) || r; - r = ((glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform2ivARB")) == NULL) || r; - r = ((glUniform3fARB = (PFNGLUNIFORM3FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fARB")) == NULL) || r; - r = ((glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3fvARB")) == NULL) || r; - r = ((glUniform3iARB = (PFNGLUNIFORM3IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3iARB")) == NULL) || r; - r = ((glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform3ivARB")) == NULL) || r; - r = ((glUniform4fARB = (PFNGLUNIFORM4FARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fARB")) == NULL) || r; - r = ((glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4fvARB")) == NULL) || r; - r = ((glUniform4iARB = (PFNGLUNIFORM4IARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4iARB")) == NULL) || r; - r = ((glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)glewGetProcAddress((const GLubyte*)"glUniform4ivARB")) == NULL) || r; - r = ((glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix2fvARB")) == NULL) || r; - r = ((glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix3fvARB")) == NULL) || r; - r = ((glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)glewGetProcAddress((const GLubyte*)"glUniformMatrix4fvARB")) == NULL) || r; - r = ((glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)glewGetProcAddress((const GLubyte*)"glUseProgramObjectARB")) == NULL) || r; - r = ((glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glValidateProgramARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_shader_objects */ - -#ifdef GL_ARB_shading_language_100 - -#endif /* GL_ARB_shading_language_100 */ - -#ifdef GL_ARB_shadow - -#endif /* GL_ARB_shadow */ - -#ifdef GL_ARB_shadow_ambient - -#endif /* GL_ARB_shadow_ambient */ - -#ifdef GL_ARB_texture_border_clamp - -#endif /* GL_ARB_texture_border_clamp */ - -#ifdef GL_ARB_texture_buffer_object - -static GLboolean _glewInit_GL_ARB_texture_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexBufferARB = (PFNGLTEXBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glTexBufferARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_texture_buffer_object */ - -#ifdef GL_ARB_texture_compression - -static GLboolean _glewInit_GL_ARB_texture_compression (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage1DARB")) == NULL) || r; - r = ((glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage2DARB")) == NULL) || r; - r = ((glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexImage3DARB")) == NULL) || r; - r = ((glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage1DARB")) == NULL) || r; - r = ((glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage2DARB")) == NULL) || r; - r = ((glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)glewGetProcAddress((const GLubyte*)"glCompressedTexSubImage3DARB")) == NULL) || r; - r = ((glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTexImageARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_texture_compression */ - -#ifdef GL_ARB_texture_compression_rgtc - -#endif /* GL_ARB_texture_compression_rgtc */ - -#ifdef GL_ARB_texture_cube_map - -#endif /* GL_ARB_texture_cube_map */ - -#ifdef GL_ARB_texture_env_add - -#endif /* GL_ARB_texture_env_add */ - -#ifdef GL_ARB_texture_env_combine - -#endif /* GL_ARB_texture_env_combine */ - -#ifdef GL_ARB_texture_env_crossbar - -#endif /* GL_ARB_texture_env_crossbar */ - -#ifdef GL_ARB_texture_env_dot3 - -#endif /* GL_ARB_texture_env_dot3 */ - -#ifdef GL_ARB_texture_float - -#endif /* GL_ARB_texture_float */ - -#ifdef GL_ARB_texture_mirrored_repeat - -#endif /* GL_ARB_texture_mirrored_repeat */ - -#ifdef GL_ARB_texture_non_power_of_two - -#endif /* GL_ARB_texture_non_power_of_two */ - -#ifdef GL_ARB_texture_rectangle - -#endif /* GL_ARB_texture_rectangle */ - -#ifdef GL_ARB_texture_rg - -#endif /* GL_ARB_texture_rg */ - -#ifdef GL_ARB_transpose_matrix - -static GLboolean _glewInit_GL_ARB_transpose_matrix (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixdARB")) == NULL) || r; - r = ((glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glLoadTransposeMatrixfARB")) == NULL) || r; - r = ((glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixdARB")) == NULL) || r; - r = ((glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)glewGetProcAddress((const GLubyte*)"glMultTransposeMatrixfARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_transpose_matrix */ - -#ifdef GL_ARB_vertex_array_object - -static GLboolean _glewInit_GL_ARB_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glBindVertexArray")) == NULL) || r; - r = ((glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexArrays")) == NULL) || r; - r = ((glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)glewGetProcAddress((const GLubyte*)"glGenVertexArrays")) == NULL) || r; - r = ((glIsVertexArray = (PFNGLISVERTEXARRAYPROC)glewGetProcAddress((const GLubyte*)"glIsVertexArray")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_vertex_array_object */ - -#ifdef GL_ARB_vertex_blend - -static GLboolean _glewInit_GL_ARB_vertex_blend (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendARB")) == NULL) || r; - r = ((glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glWeightPointerARB")) == NULL) || r; - r = ((glWeightbvARB = (PFNGLWEIGHTBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightbvARB")) == NULL) || r; - r = ((glWeightdvARB = (PFNGLWEIGHTDVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightdvARB")) == NULL) || r; - r = ((glWeightfvARB = (PFNGLWEIGHTFVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightfvARB")) == NULL) || r; - r = ((glWeightivARB = (PFNGLWEIGHTIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightivARB")) == NULL) || r; - r = ((glWeightsvARB = (PFNGLWEIGHTSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightsvARB")) == NULL) || r; - r = ((glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightubvARB")) == NULL) || r; - r = ((glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightuivARB")) == NULL) || r; - r = ((glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)glewGetProcAddress((const GLubyte*)"glWeightusvARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_vertex_blend */ - -#ifdef GL_ARB_vertex_buffer_object - -static GLboolean _glewInit_GL_ARB_vertex_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glBindBufferARB")) == NULL) || r; - r = ((glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferDataARB")) == NULL) || r; - r = ((glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glBufferSubDataARB")) == NULL) || r; - r = ((glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteBuffersARB")) == NULL) || r; - r = ((glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glewGetProcAddress((const GLubyte*)"glGenBuffersARB")) == NULL) || r; - r = ((glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferParameterivARB")) == NULL) || r; - r = ((glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferPointervARB")) == NULL) || r; - r = ((glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)glewGetProcAddress((const GLubyte*)"glGetBufferSubDataARB")) == NULL) || r; - r = ((glIsBufferARB = (PFNGLISBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glIsBufferARB")) == NULL) || r; - r = ((glMapBufferARB = (PFNGLMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glMapBufferARB")) == NULL) || r; - r = ((glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"glUnmapBufferARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_vertex_buffer_object */ - -#ifdef GL_ARB_vertex_program - -static GLboolean _glewInit_GL_ARB_vertex_program (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glBindProgramARB")) == NULL) || r; - r = ((glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsARB")) == NULL) || r; - r = ((glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glDisableVertexAttribArrayARB")) == NULL) || r; - r = ((glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)glewGetProcAddress((const GLubyte*)"glEnableVertexAttribArrayARB")) == NULL) || r; - r = ((glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsARB")) == NULL) || r; - r = ((glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterdvARB")) == NULL) || r; - r = ((glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramEnvParameterfvARB")) == NULL) || r; - r = ((glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterdvARB")) == NULL) || r; - r = ((glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramLocalParameterfvARB")) == NULL) || r; - r = ((glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringARB")) == NULL) || r; - r = ((glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivARB")) == NULL) || r; - r = ((glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervARB")) == NULL) || r; - r = ((glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvARB")) == NULL) || r; - r = ((glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvARB")) == NULL) || r; - r = ((glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivARB")) == NULL) || r; - r = ((glIsProgramARB = (PFNGLISPROGRAMARBPROC)glewGetProcAddress((const GLubyte*)"glIsProgramARB")) == NULL) || r; - r = ((glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dARB")) == NULL) || r; - r = ((glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4dvARB")) == NULL) || r; - r = ((glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fARB")) == NULL) || r; - r = ((glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameter4fvARB")) == NULL) || r; - r = ((glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dARB")) == NULL) || r; - r = ((glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4dvARB")) == NULL) || r; - r = ((glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fARB")) == NULL) || r; - r = ((glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameter4fvARB")) == NULL) || r; - r = ((glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"glProgramStringARB")) == NULL) || r; - r = ((glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dARB")) == NULL) || r; - r = ((glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvARB")) == NULL) || r; - r = ((glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fARB")) == NULL) || r; - r = ((glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvARB")) == NULL) || r; - r = ((glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sARB")) == NULL) || r; - r = ((glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svARB")) == NULL) || r; - r = ((glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dARB")) == NULL) || r; - r = ((glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvARB")) == NULL) || r; - r = ((glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fARB")) == NULL) || r; - r = ((glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvARB")) == NULL) || r; - r = ((glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sARB")) == NULL) || r; - r = ((glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svARB")) == NULL) || r; - r = ((glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dARB")) == NULL) || r; - r = ((glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvARB")) == NULL) || r; - r = ((glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fARB")) == NULL) || r; - r = ((glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvARB")) == NULL) || r; - r = ((glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sARB")) == NULL) || r; - r = ((glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svARB")) == NULL) || r; - r = ((glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NbvARB")) == NULL) || r; - r = ((glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NivARB")) == NULL) || r; - r = ((glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NsvARB")) == NULL) || r; - r = ((glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubARB")) == NULL) || r; - r = ((glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NubvARB")) == NULL) || r; - r = ((glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NuivARB")) == NULL) || r; - r = ((glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4NusvARB")) == NULL) || r; - r = ((glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4bvARB")) == NULL) || r; - r = ((glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dARB")) == NULL) || r; - r = ((glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvARB")) == NULL) || r; - r = ((glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fARB")) == NULL) || r; - r = ((glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvARB")) == NULL) || r; - r = ((glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ivARB")) == NULL) || r; - r = ((glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sARB")) == NULL) || r; - r = ((glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svARB")) == NULL) || r; - r = ((glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvARB")) == NULL) || r; - r = ((glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4uivARB")) == NULL) || r; - r = ((glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4usvARB")) == NULL) || r; - r = ((glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_vertex_program */ - -#ifdef GL_ARB_vertex_shader - -static GLboolean _glewInit_GL_ARB_vertex_shader (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glBindAttribLocationARB")) == NULL) || r; - r = ((glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"glGetActiveAttribARB")) == NULL) || r; - r = ((glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)glewGetProcAddress((const GLubyte*)"glGetAttribLocationARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_vertex_shader */ - -#ifdef GL_ARB_window_pos - -static GLboolean _glewInit_GL_ARB_window_pos (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dARB")) == NULL) || r; - r = ((glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvARB")) == NULL) || r; - r = ((glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fARB")) == NULL) || r; - r = ((glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvARB")) == NULL) || r; - r = ((glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iARB")) == NULL) || r; - r = ((glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivARB")) == NULL) || r; - r = ((glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sARB")) == NULL) || r; - r = ((glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svARB")) == NULL) || r; - r = ((glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dARB")) == NULL) || r; - r = ((glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvARB")) == NULL) || r; - r = ((glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fARB")) == NULL) || r; - r = ((glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvARB")) == NULL) || r; - r = ((glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iARB")) == NULL) || r; - r = ((glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivARB")) == NULL) || r; - r = ((glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sARB")) == NULL) || r; - r = ((glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svARB")) == NULL) || r; - - return r; -} - -#endif /* GL_ARB_window_pos */ - -#ifdef GL_ATIX_point_sprites - -#endif /* GL_ATIX_point_sprites */ - -#ifdef GL_ATIX_texture_env_combine3 - -#endif /* GL_ATIX_texture_env_combine3 */ - -#ifdef GL_ATIX_texture_env_route - -#endif /* GL_ATIX_texture_env_route */ - -#ifdef GL_ATIX_vertex_shader_output_point_size - -#endif /* GL_ATIX_vertex_shader_output_point_size */ - -#ifdef GL_ATI_draw_buffers - -static GLboolean _glewInit_GL_ATI_draw_buffers (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)glewGetProcAddress((const GLubyte*)"glDrawBuffersATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_draw_buffers */ - -#ifdef GL_ATI_element_array - -static GLboolean _glewInit_GL_ATI_element_array (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawElementArrayATI")) == NULL) || r; - r = ((glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementArrayATI")) == NULL) || r; - r = ((glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)glewGetProcAddress((const GLubyte*)"glElementPointerATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_element_array */ - -#ifdef GL_ATI_envmap_bumpmap - -static GLboolean _glewInit_GL_ATI_envmap_bumpmap (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterfvATI")) == NULL) || r; - r = ((glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetTexBumpParameterivATI")) == NULL) || r; - r = ((glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterfvATI")) == NULL) || r; - r = ((glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)glewGetProcAddress((const GLubyte*)"glTexBumpParameterivATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_envmap_bumpmap */ - -#ifdef GL_ATI_fragment_shader - -static GLboolean _glewInit_GL_ATI_fragment_shader (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp1ATI")) == NULL) || r; - r = ((glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp2ATI")) == NULL) || r; - r = ((glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glAlphaFragmentOp3ATI")) == NULL) || r; - r = ((glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBeginFragmentShaderATI")) == NULL) || r; - r = ((glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glBindFragmentShaderATI")) == NULL) || r; - r = ((glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp1ATI")) == NULL) || r; - r = ((glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp2ATI")) == NULL) || r; - r = ((glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)glewGetProcAddress((const GLubyte*)"glColorFragmentOp3ATI")) == NULL) || r; - r = ((glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glDeleteFragmentShaderATI")) == NULL) || r; - r = ((glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)glewGetProcAddress((const GLubyte*)"glEndFragmentShaderATI")) == NULL) || r; - r = ((glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)glewGetProcAddress((const GLubyte*)"glGenFragmentShadersATI")) == NULL) || r; - r = ((glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)glewGetProcAddress((const GLubyte*)"glPassTexCoordATI")) == NULL) || r; - r = ((glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)glewGetProcAddress((const GLubyte*)"glSampleMapATI")) == NULL) || r; - r = ((glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)glewGetProcAddress((const GLubyte*)"glSetFragmentShaderConstantATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_fragment_shader */ - -#ifdef GL_ATI_map_object_buffer - -static GLboolean _glewInit_GL_ATI_map_object_buffer (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glMapObjectBufferATI")) == NULL) || r; - r = ((glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUnmapObjectBufferATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_map_object_buffer */ - -#ifdef GL_ATI_pn_triangles - -static GLboolean _glewInit_GL_ATI_pn_triangles (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesfATI")) == NULL) || r; - r = ((glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)glewGetProcAddress((const GLubyte*)"glPNTrianglesiATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_pn_triangles */ - -#ifdef GL_ATI_separate_stencil - -static GLboolean _glewInit_GL_ATI_separate_stencil (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilFuncSeparateATI")) == NULL) || r; - r = ((glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)glewGetProcAddress((const GLubyte*)"glStencilOpSeparateATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_separate_stencil */ - -#ifdef GL_ATI_shader_texture_lod - -#endif /* GL_ATI_shader_texture_lod */ - -#ifdef GL_ATI_text_fragment_shader - -#endif /* GL_ATI_text_fragment_shader */ - -#ifdef GL_ATI_texture_compression_3dc - -#endif /* GL_ATI_texture_compression_3dc */ - -#ifdef GL_ATI_texture_env_combine3 - -#endif /* GL_ATI_texture_env_combine3 */ - -#ifdef GL_ATI_texture_float - -#endif /* GL_ATI_texture_float */ - -#ifdef GL_ATI_texture_mirror_once - -#endif /* GL_ATI_texture_mirror_once */ - -#ifdef GL_ATI_vertex_array_object - -static GLboolean _glewInit_GL_ATI_vertex_array_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glArrayObjectATI")) == NULL) || r; - r = ((glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glFreeObjectBufferATI")) == NULL) || r; - r = ((glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectfvATI")) == NULL) || r; - r = ((glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetArrayObjectivATI")) == NULL) || r; - r = ((glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferfvATI")) == NULL) || r; - r = ((glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetObjectBufferivATI")) == NULL) || r; - r = ((glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectfvATI")) == NULL) || r; - r = ((glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVariantArrayObjectivATI")) == NULL) || r; - r = ((glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glIsObjectBufferATI")) == NULL) || r; - r = ((glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glNewObjectBufferATI")) == NULL) || r; - r = ((glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)glewGetProcAddress((const GLubyte*)"glUpdateObjectBufferATI")) == NULL) || r; - r = ((glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVariantArrayObjectATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_vertex_array_object */ - -#ifdef GL_ATI_vertex_attrib_array_object - -static GLboolean _glewInit_GL_ATI_vertex_attrib_array_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectfvATI")) == NULL) || r; - r = ((glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribArrayObjectivATI")) == NULL) || r; - r = ((glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribArrayObjectATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_vertex_attrib_array_object */ - -#ifdef GL_ATI_vertex_streams - -static GLboolean _glewInit_GL_ATI_vertex_streams (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)glewGetProcAddress((const GLubyte*)"glClientActiveVertexStreamATI")) == NULL) || r; - r = ((glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bATI")) == NULL) || r; - r = ((glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3bvATI")) == NULL) || r; - r = ((glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dATI")) == NULL) || r; - r = ((glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3dvATI")) == NULL) || r; - r = ((glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fATI")) == NULL) || r; - r = ((glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3fvATI")) == NULL) || r; - r = ((glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3iATI")) == NULL) || r; - r = ((glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3ivATI")) == NULL) || r; - r = ((glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3sATI")) == NULL) || r; - r = ((glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glNormalStream3svATI")) == NULL) || r; - r = ((glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnvfATI")) == NULL) || r; - r = ((glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)glewGetProcAddress((const GLubyte*)"glVertexBlendEnviATI")) == NULL) || r; - r = ((glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dATI")) == NULL) || r; - r = ((glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2dvATI")) == NULL) || r; - r = ((glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fATI")) == NULL) || r; - r = ((glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2fvATI")) == NULL) || r; - r = ((glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2iATI")) == NULL) || r; - r = ((glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2ivATI")) == NULL) || r; - r = ((glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2sATI")) == NULL) || r; - r = ((glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream2svATI")) == NULL) || r; - r = ((glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dATI")) == NULL) || r; - r = ((glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3dvATI")) == NULL) || r; - r = ((glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fATI")) == NULL) || r; - r = ((glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3fvATI")) == NULL) || r; - r = ((glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3iATI")) == NULL) || r; - r = ((glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3ivATI")) == NULL) || r; - r = ((glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3sATI")) == NULL) || r; - r = ((glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream3svATI")) == NULL) || r; - r = ((glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dATI")) == NULL) || r; - r = ((glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4dvATI")) == NULL) || r; - r = ((glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fATI")) == NULL) || r; - r = ((glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4fvATI")) == NULL) || r; - r = ((glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4iATI")) == NULL) || r; - r = ((glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4ivATI")) == NULL) || r; - r = ((glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4sATI")) == NULL) || r; - r = ((glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)glewGetProcAddress((const GLubyte*)"glVertexStream4svATI")) == NULL) || r; - - return r; -} - -#endif /* GL_ATI_vertex_streams */ - -#ifdef GL_EXT_422_pixels - -#endif /* GL_EXT_422_pixels */ - -#ifdef GL_EXT_Cg_shader - -#endif /* GL_EXT_Cg_shader */ - -#ifdef GL_EXT_abgr - -#endif /* GL_EXT_abgr */ - -#ifdef GL_EXT_bgra - -#endif /* GL_EXT_bgra */ - -#ifdef GL_EXT_bindable_uniform - -static GLboolean _glewInit_GL_EXT_bindable_uniform (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetUniformBufferSizeEXT = (PFNGLGETUNIFORMBUFFERSIZEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformBufferSizeEXT")) == NULL) || r; - r = ((glGetUniformOffsetEXT = (PFNGLGETUNIFORMOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformOffsetEXT")) == NULL) || r; - r = ((glUniformBufferEXT = (PFNGLUNIFORMBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUniformBufferEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_bindable_uniform */ - -#ifdef GL_EXT_blend_color - -static GLboolean _glewInit_GL_EXT_blend_color (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)glewGetProcAddress((const GLubyte*)"glBlendColorEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_blend_color */ - -#ifdef GL_EXT_blend_equation_separate - -static GLboolean _glewInit_GL_EXT_blend_equation_separate (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationSeparateEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_blend_equation_separate */ - -#ifdef GL_EXT_blend_func_separate - -static GLboolean _glewInit_GL_EXT_blend_func_separate (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendFuncSeparateEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_blend_func_separate */ - -#ifdef GL_EXT_blend_logic_op - -#endif /* GL_EXT_blend_logic_op */ - -#ifdef GL_EXT_blend_minmax - -static GLboolean _glewInit_GL_EXT_blend_minmax (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBlendEquationEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_blend_minmax */ - -#ifdef GL_EXT_blend_subtract - -#endif /* GL_EXT_blend_subtract */ - -#ifdef GL_EXT_clip_volume_hint - -#endif /* GL_EXT_clip_volume_hint */ - -#ifdef GL_EXT_cmyka - -#endif /* GL_EXT_cmyka */ - -#ifdef GL_EXT_color_subtable - -static GLboolean _glewInit_GL_EXT_color_subtable (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorSubTableEXT")) == NULL) || r; - r = ((glCopyColorSubTableEXT = (PFNGLCOPYCOLORSUBTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyColorSubTableEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_color_subtable */ - -#ifdef GL_EXT_compiled_vertex_array - -static GLboolean _glewInit_GL_EXT_compiled_vertex_array (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glLockArraysEXT")) == NULL) || r; - r = ((glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glUnlockArraysEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_compiled_vertex_array */ - -#ifdef GL_EXT_convolution - -static GLboolean _glewInit_GL_EXT_convolution (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glConvolutionFilter1DEXT = (PFNGLCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter1DEXT")) == NULL) || r; - r = ((glConvolutionFilter2DEXT = (PFNGLCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionFilter2DEXT")) == NULL) || r; - r = ((glConvolutionParameterfEXT = (PFNGLCONVOLUTIONPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfEXT")) == NULL) || r; - r = ((glConvolutionParameterfvEXT = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterfvEXT")) == NULL) || r; - r = ((glConvolutionParameteriEXT = (PFNGLCONVOLUTIONPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameteriEXT")) == NULL) || r; - r = ((glConvolutionParameterivEXT = (PFNGLCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glConvolutionParameterivEXT")) == NULL) || r; - r = ((glCopyConvolutionFilter1DEXT = (PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter1DEXT")) == NULL) || r; - r = ((glCopyConvolutionFilter2DEXT = (PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyConvolutionFilter2DEXT")) == NULL) || r; - r = ((glGetConvolutionFilterEXT = (PFNGLGETCONVOLUTIONFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionFilterEXT")) == NULL) || r; - r = ((glGetConvolutionParameterfvEXT = (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterfvEXT")) == NULL) || r; - r = ((glGetConvolutionParameterivEXT = (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetConvolutionParameterivEXT")) == NULL) || r; - r = ((glGetSeparableFilterEXT = (PFNGLGETSEPARABLEFILTEREXTPROC)glewGetProcAddress((const GLubyte*)"glGetSeparableFilterEXT")) == NULL) || r; - r = ((glSeparableFilter2DEXT = (PFNGLSEPARABLEFILTER2DEXTPROC)glewGetProcAddress((const GLubyte*)"glSeparableFilter2DEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_convolution */ - -#ifdef GL_EXT_coordinate_frame - -static GLboolean _glewInit_GL_EXT_coordinate_frame (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBinormalPointerEXT = (PFNGLBINORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glBinormalPointerEXT")) == NULL) || r; - r = ((glTangentPointerEXT = (PFNGLTANGENTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTangentPointerEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_coordinate_frame */ - -#ifdef GL_EXT_copy_texture - -static GLboolean _glewInit_GL_EXT_copy_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage1DEXT")) == NULL) || r; - r = ((glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexImage2DEXT")) == NULL) || r; - r = ((glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage1DEXT")) == NULL) || r; - r = ((glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage2DEXT")) == NULL) || r; - r = ((glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTexSubImage3DEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_copy_texture */ - -#ifdef GL_EXT_cull_vertex - -static GLboolean _glewInit_GL_EXT_cull_vertex (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterdvEXT")) == NULL) || r; - r = ((glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glCullParameterfvEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_cull_vertex */ - -#ifdef GL_EXT_depth_bounds_test - -static GLboolean _glewInit_GL_EXT_depth_bounds_test (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDepthBoundsEXT = (PFNGLDEPTHBOUNDSEXTPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_depth_bounds_test */ - -#ifdef GL_EXT_direct_state_access - -static GLboolean _glewInit_GL_EXT_direct_state_access (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindMultiTextureEXT")) == NULL) || r; - r = ((glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckNamedFramebufferStatusEXT")) == NULL) || r; - r = ((glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glClientAttribDefaultEXT")) == NULL) || r; - r = ((glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage1DEXT")) == NULL) || r; - r = ((glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage2DEXT")) == NULL) || r; - r = ((glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexImage3DEXT")) == NULL) || r; - r = ((glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage1DEXT")) == NULL) || r; - r = ((glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage2DEXT")) == NULL) || r; - r = ((glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedMultiTexSubImage3DEXT")) == NULL) || r; - r = ((glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage1DEXT")) == NULL) || r; - r = ((glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage2DEXT")) == NULL) || r; - r = ((glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureImage3DEXT")) == NULL) || r; - r = ((glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage1DEXT")) == NULL) || r; - r = ((glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage2DEXT")) == NULL) || r; - r = ((glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCompressedTextureSubImage3DEXT")) == NULL) || r; - r = ((glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage1DEXT")) == NULL) || r; - r = ((glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexImage2DEXT")) == NULL) || r; - r = ((glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage1DEXT")) == NULL) || r; - r = ((glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage2DEXT")) == NULL) || r; - r = ((glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyMultiTexSubImage3DEXT")) == NULL) || r; - r = ((glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage1DEXT")) == NULL) || r; - r = ((glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureImage2DEXT")) == NULL) || r; - r = ((glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage1DEXT")) == NULL) || r; - r = ((glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage2DEXT")) == NULL) || r; - r = ((glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glCopyTextureSubImage3DEXT")) == NULL) || r; - r = ((glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableClientStateIndexedEXT")) == NULL) || r; - r = ((glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableClientStateIndexedEXT")) == NULL) || r; - r = ((glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBufferEXT")) == NULL) || r; - r = ((glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferDrawBuffersEXT")) == NULL) || r; - r = ((glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferReadBufferEXT")) == NULL) || r; - r = ((glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMultiTexMipmapEXT")) == NULL) || r; - r = ((glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateTextureMipmapEXT")) == NULL) || r; - r = ((glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedMultiTexImageEXT")) == NULL) || r; - r = ((glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetCompressedTextureImageEXT")) == NULL) || r; - r = ((glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetDoubleIndexedvEXT")) == NULL) || r; - r = ((glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFloatIndexedvEXT")) == NULL) || r; - r = ((glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferParameterivEXT")) == NULL) || r; - r = ((glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvfvEXT")) == NULL) || r; - r = ((glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexEnvivEXT")) == NULL) || r; - r = ((glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGendvEXT")) == NULL) || r; - r = ((glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenfvEXT")) == NULL) || r; - r = ((glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexGenivEXT")) == NULL) || r; - r = ((glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexImageEXT")) == NULL) || r; - r = ((glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterfvEXT")) == NULL) || r; - r = ((glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexLevelParameterivEXT")) == NULL) || r; - r = ((glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIivEXT")) == NULL) || r; - r = ((glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterIuivEXT")) == NULL) || r; - r = ((glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterfvEXT")) == NULL) || r; - r = ((glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMultiTexParameterivEXT")) == NULL) || r; - r = ((glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferParameterivEXT")) == NULL) || r; - r = ((glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferPointervEXT")) == NULL) || r; - r = ((glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedBufferSubDataEXT")) == NULL) || r; - r = ((glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedFramebufferAttachmentParameterivEXT")) == NULL) || r; - r = ((glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIivEXT")) == NULL) || r; - r = ((glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterIuivEXT")) == NULL) || r; - r = ((glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterdvEXT")) == NULL) || r; - r = ((glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramLocalParameterfvEXT")) == NULL) || r; - r = ((glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramStringEXT")) == NULL) || r; - r = ((glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedProgramivEXT")) == NULL) || r; - r = ((glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetNamedRenderbufferParameterivEXT")) == NULL) || r; - r = ((glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointerIndexedvEXT")) == NULL) || r; - r = ((glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureImageEXT")) == NULL) || r; - r = ((glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterfvEXT")) == NULL) || r; - r = ((glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureLevelParameterivEXT")) == NULL) || r; - r = ((glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIivEXT")) == NULL) || r; - r = ((glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterIuivEXT")) == NULL) || r; - r = ((glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterfvEXT")) == NULL) || r; - r = ((glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTextureParameterivEXT")) == NULL) || r; - r = ((glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMapNamedBufferEXT")) == NULL) || r; - r = ((glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixFrustumEXT")) == NULL) || r; - r = ((glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadIdentityEXT")) == NULL) || r; - r = ((glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposedEXT")) == NULL) || r; - r = ((glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadTransposefEXT")) == NULL) || r; - r = ((glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoaddEXT")) == NULL) || r; - r = ((glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixLoadfEXT")) == NULL) || r; - r = ((glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposedEXT")) == NULL) || r; - r = ((glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultTransposefEXT")) == NULL) || r; - r = ((glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultdEXT")) == NULL) || r; - r = ((glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixMultfEXT")) == NULL) || r; - r = ((glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixOrthoEXT")) == NULL) || r; - r = ((glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPopEXT")) == NULL) || r; - r = ((glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixPushEXT")) == NULL) || r; - r = ((glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatedEXT")) == NULL) || r; - r = ((glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixRotatefEXT")) == NULL) || r; - r = ((glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScaledEXT")) == NULL) || r; - r = ((glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixScalefEXT")) == NULL) || r; - r = ((glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatedEXT")) == NULL) || r; - r = ((glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)glewGetProcAddress((const GLubyte*)"glMatrixTranslatefEXT")) == NULL) || r; - r = ((glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexBufferEXT")) == NULL) || r; - r = ((glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoordPointerEXT")) == NULL) || r; - r = ((glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfEXT")) == NULL) || r; - r = ((glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvfvEXT")) == NULL) || r; - r = ((glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnviEXT")) == NULL) || r; - r = ((glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexEnvivEXT")) == NULL) || r; - r = ((glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendEXT")) == NULL) || r; - r = ((glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGendvEXT")) == NULL) || r; - r = ((glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfEXT")) == NULL) || r; - r = ((glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenfvEXT")) == NULL) || r; - r = ((glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGeniEXT")) == NULL) || r; - r = ((glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexGenivEXT")) == NULL) || r; - r = ((glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage1DEXT")) == NULL) || r; - r = ((glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage2DEXT")) == NULL) || r; - r = ((glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexImage3DEXT")) == NULL) || r; - r = ((glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIivEXT")) == NULL) || r; - r = ((glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterIuivEXT")) == NULL) || r; - r = ((glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfEXT")) == NULL) || r; - r = ((glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterfvEXT")) == NULL) || r; - r = ((glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameteriEXT")) == NULL) || r; - r = ((glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexParameterivEXT")) == NULL) || r; - r = ((glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexRenderbufferEXT")) == NULL) || r; - r = ((glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage1DEXT")) == NULL) || r; - r = ((glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage2DEXT")) == NULL) || r; - r = ((glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiTexSubImage3DEXT")) == NULL) || r; - r = ((glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferDataEXT")) == NULL) || r; - r = ((glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedBufferSubDataEXT")) == NULL) || r; - r = ((glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferRenderbufferEXT")) == NULL) || r; - r = ((glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture1DEXT")) == NULL) || r; - r = ((glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture2DEXT")) == NULL) || r; - r = ((glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTexture3DEXT")) == NULL) || r; - r = ((glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureEXT")) == NULL) || r; - r = ((glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureFaceEXT")) == NULL) || r; - r = ((glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glNamedFramebufferTextureLayerEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4dvEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameter4fvEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4iEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4ivEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uiEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameterI4uivEXT")) == NULL) || r; - r = ((glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParameters4fvEXT")) == NULL) || r; - r = ((glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4ivEXT")) == NULL) || r; - r = ((glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramLocalParametersI4uivEXT")) == NULL) || r; - r = ((glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedProgramStringEXT")) == NULL) || r; - r = ((glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageEXT")) == NULL) || r; - r = ((glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleCoverageEXT")) == NULL) || r; - r = ((glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glNamedRenderbufferStorageMultisampleEXT")) == NULL) || r; - r = ((glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fEXT")) == NULL) || r; - r = ((glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1fvEXT")) == NULL) || r; - r = ((glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1iEXT")) == NULL) || r; - r = ((glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1ivEXT")) == NULL) || r; - r = ((glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uiEXT")) == NULL) || r; - r = ((glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform1uivEXT")) == NULL) || r; - r = ((glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fEXT")) == NULL) || r; - r = ((glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2fvEXT")) == NULL) || r; - r = ((glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2iEXT")) == NULL) || r; - r = ((glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2ivEXT")) == NULL) || r; - r = ((glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uiEXT")) == NULL) || r; - r = ((glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform2uivEXT")) == NULL) || r; - r = ((glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fEXT")) == NULL) || r; - r = ((glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3fvEXT")) == NULL) || r; - r = ((glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3iEXT")) == NULL) || r; - r = ((glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3ivEXT")) == NULL) || r; - r = ((glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uiEXT")) == NULL) || r; - r = ((glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform3uivEXT")) == NULL) || r; - r = ((glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fEXT")) == NULL) || r; - r = ((glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4fvEXT")) == NULL) || r; - r = ((glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4iEXT")) == NULL) || r; - r = ((glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4ivEXT")) == NULL) || r; - r = ((glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uiEXT")) == NULL) || r; - r = ((glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniform4uivEXT")) == NULL) || r; - r = ((glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x3fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix2x4fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x2fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix3x4fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x2fvEXT")) == NULL) || r; - r = ((glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramUniformMatrix4x3fvEXT")) == NULL) || r; - r = ((glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)glewGetProcAddress((const GLubyte*)"glPushClientAttribDefaultEXT")) == NULL) || r; - r = ((glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureBufferEXT")) == NULL) || r; - r = ((glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage1DEXT")) == NULL) || r; - r = ((glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage2DEXT")) == NULL) || r; - r = ((glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureImage3DEXT")) == NULL) || r; - r = ((glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIivEXT")) == NULL) || r; - r = ((glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterIuivEXT")) == NULL) || r; - r = ((glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfEXT")) == NULL) || r; - r = ((glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterfvEXT")) == NULL) || r; - r = ((glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameteriEXT")) == NULL) || r; - r = ((glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureParameterivEXT")) == NULL) || r; - r = ((glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTextureRenderbufferEXT")) == NULL) || r; - r = ((glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage1DEXT")) == NULL) || r; - r = ((glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage2DEXT")) == NULL) || r; - r = ((glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureSubImage3DEXT")) == NULL) || r; - r = ((glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glUnmapNamedBufferEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_direct_state_access */ - -#ifdef GL_EXT_draw_buffers2 - -static GLboolean _glewInit_GL_EXT_draw_buffers2 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glColorMaskIndexedEXT")) == NULL) || r; - r = ((glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableIndexedEXT")) == NULL) || r; - r = ((glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableIndexedEXT")) == NULL) || r; - r = ((glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetBooleanIndexedvEXT")) == NULL) || r; - r = ((glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetIntegerIndexedvEXT")) == NULL) || r; - r = ((glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsEnabledIndexedEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_draw_buffers2 */ - -#ifdef GL_EXT_draw_instanced - -static GLboolean _glewInit_GL_EXT_draw_instanced (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysInstancedEXT")) == NULL) || r; - r = ((glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawElementsInstancedEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_draw_instanced */ - -#ifdef GL_EXT_draw_range_elements - -static GLboolean _glewInit_GL_EXT_draw_range_elements (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawRangeElementsEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_draw_range_elements */ - -#ifdef GL_EXT_fog_coord - -static GLboolean _glewInit_GL_EXT_fog_coord (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerEXT")) == NULL) || r; - r = ((glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddEXT")) == NULL) || r; - r = ((glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoorddvEXT")) == NULL) || r; - r = ((glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfEXT")) == NULL) || r; - r = ((glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFogCoordfvEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_fog_coord */ - -#ifdef GL_EXT_fragment_lighting - -static GLboolean _glewInit_GL_EXT_fragment_lighting (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFragmentColorMaterialEXT = (PFNGLFRAGMENTCOLORMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialEXT")) == NULL) || r; - r = ((glFragmentLightModelfEXT = (PFNGLFRAGMENTLIGHTMODELFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfEXT")) == NULL) || r; - r = ((glFragmentLightModelfvEXT = (PFNGLFRAGMENTLIGHTMODELFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvEXT")) == NULL) || r; - r = ((glFragmentLightModeliEXT = (PFNGLFRAGMENTLIGHTMODELIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliEXT")) == NULL) || r; - r = ((glFragmentLightModelivEXT = (PFNGLFRAGMENTLIGHTMODELIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivEXT")) == NULL) || r; - r = ((glFragmentLightfEXT = (PFNGLFRAGMENTLIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfEXT")) == NULL) || r; - r = ((glFragmentLightfvEXT = (PFNGLFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvEXT")) == NULL) || r; - r = ((glFragmentLightiEXT = (PFNGLFRAGMENTLIGHTIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiEXT")) == NULL) || r; - r = ((glFragmentLightivEXT = (PFNGLFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivEXT")) == NULL) || r; - r = ((glFragmentMaterialfEXT = (PFNGLFRAGMENTMATERIALFEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfEXT")) == NULL) || r; - r = ((glFragmentMaterialfvEXT = (PFNGLFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvEXT")) == NULL) || r; - r = ((glFragmentMaterialiEXT = (PFNGLFRAGMENTMATERIALIEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiEXT")) == NULL) || r; - r = ((glFragmentMaterialivEXT = (PFNGLFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivEXT")) == NULL) || r; - r = ((glGetFragmentLightfvEXT = (PFNGLGETFRAGMENTLIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvEXT")) == NULL) || r; - r = ((glGetFragmentLightivEXT = (PFNGLGETFRAGMENTLIGHTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivEXT")) == NULL) || r; - r = ((glGetFragmentMaterialfvEXT = (PFNGLGETFRAGMENTMATERIALFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvEXT")) == NULL) || r; - r = ((glGetFragmentMaterialivEXT = (PFNGLGETFRAGMENTMATERIALIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivEXT")) == NULL) || r; - r = ((glLightEnviEXT = (PFNGLLIGHTENVIEXTPROC)glewGetProcAddress((const GLubyte*)"glLightEnviEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_fragment_lighting */ - -#ifdef GL_EXT_framebuffer_blit - -static GLboolean _glewInit_GL_EXT_framebuffer_blit (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBlitFramebufferEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_framebuffer_blit */ - -#ifdef GL_EXT_framebuffer_multisample - -static GLboolean _glewInit_GL_EXT_framebuffer_multisample (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_framebuffer_multisample */ - -#ifdef GL_EXT_framebuffer_object - -static GLboolean _glewInit_GL_EXT_framebuffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindFramebufferEXT")) == NULL) || r; - r = ((glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindRenderbufferEXT")) == NULL) || r; - r = ((glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)glewGetProcAddress((const GLubyte*)"glCheckFramebufferStatusEXT")) == NULL) || r; - r = ((glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffersEXT")) == NULL) || r; - r = ((glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffersEXT")) == NULL) || r; - r = ((glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbufferEXT")) == NULL) || r; - r = ((glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1DEXT")) == NULL) || r; - r = ((glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2DEXT")) == NULL) || r; - r = ((glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3DEXT")) == NULL) || r; - r = ((glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenFramebuffersEXT")) == NULL) || r; - r = ((glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenRenderbuffersEXT")) == NULL) || r; - r = ((glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)glewGetProcAddress((const GLubyte*)"glGenerateMipmapEXT")) == NULL) || r; - r = ((glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFramebufferAttachmentParameterivEXT")) == NULL) || r; - r = ((glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetRenderbufferParameterivEXT")) == NULL) || r; - r = ((glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsFramebufferEXT")) == NULL) || r; - r = ((glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glIsRenderbufferEXT")) == NULL) || r; - r = ((glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_framebuffer_object */ - -#ifdef GL_EXT_framebuffer_sRGB - -#endif /* GL_EXT_framebuffer_sRGB */ - -#ifdef GL_EXT_geometry_shader4 - -static GLboolean _glewInit_GL_EXT_geometry_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureEXT")) == NULL) || r; - r = ((glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureFaceEXT")) == NULL) || r; - r = ((glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayerEXT")) == NULL) || r; - r = ((glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramParameteriEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_geometry_shader4 */ - -#ifdef GL_EXT_gpu_program_parameters - -static GLboolean _glewInit_GL_EXT_gpu_program_parameters (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glProgramEnvParameters4fvEXT = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameters4fvEXT")) == NULL) || r; - r = ((glProgramLocalParameters4fvEXT = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameters4fvEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_gpu_program_parameters */ - -#ifdef GL_EXT_gpu_shader4 - -static GLboolean _glewInit_GL_EXT_gpu_shader4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glBindFragDataLocationEXT")) == NULL) || r; - r = ((glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)glewGetProcAddress((const GLubyte*)"glGetFragDataLocationEXT")) == NULL) || r; - r = ((glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetUniformuivEXT")) == NULL) || r; - r = ((glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIivEXT")) == NULL) || r; - r = ((glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribIuivEXT")) == NULL) || r; - r = ((glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uiEXT")) == NULL) || r; - r = ((glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform1uivEXT")) == NULL) || r; - r = ((glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uiEXT")) == NULL) || r; - r = ((glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform2uivEXT")) == NULL) || r; - r = ((glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uiEXT")) == NULL) || r; - r = ((glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform3uivEXT")) == NULL) || r; - r = ((glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uiEXT")) == NULL) || r; - r = ((glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glUniform4uivEXT")) == NULL) || r; - r = ((glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1iEXT")) == NULL) || r; - r = ((glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1ivEXT")) == NULL) || r; - r = ((glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uiEXT")) == NULL) || r; - r = ((glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI1uivEXT")) == NULL) || r; - r = ((glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2iEXT")) == NULL) || r; - r = ((glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2ivEXT")) == NULL) || r; - r = ((glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uiEXT")) == NULL) || r; - r = ((glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI2uivEXT")) == NULL) || r; - r = ((glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3iEXT")) == NULL) || r; - r = ((glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3ivEXT")) == NULL) || r; - r = ((glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uiEXT")) == NULL) || r; - r = ((glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI3uivEXT")) == NULL) || r; - r = ((glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4bvEXT")) == NULL) || r; - r = ((glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4iEXT")) == NULL) || r; - r = ((glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ivEXT")) == NULL) || r; - r = ((glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4svEXT")) == NULL) || r; - r = ((glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4ubvEXT")) == NULL) || r; - r = ((glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uiEXT")) == NULL) || r; - r = ((glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4uivEXT")) == NULL) || r; - r = ((glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribI4usvEXT")) == NULL) || r; - r = ((glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribIPointerEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_gpu_shader4 */ - -#ifdef GL_EXT_histogram - -static GLboolean _glewInit_GL_EXT_histogram (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetHistogramEXT = (PFNGLGETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramEXT")) == NULL) || r; - r = ((glGetHistogramParameterfvEXT = (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterfvEXT")) == NULL) || r; - r = ((glGetHistogramParameterivEXT = (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetHistogramParameterivEXT")) == NULL) || r; - r = ((glGetMinmaxEXT = (PFNGLGETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxEXT")) == NULL) || r; - r = ((glGetMinmaxParameterfvEXT = (PFNGLGETMINMAXPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterfvEXT")) == NULL) || r; - r = ((glGetMinmaxParameterivEXT = (PFNGLGETMINMAXPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetMinmaxParameterivEXT")) == NULL) || r; - r = ((glHistogramEXT = (PFNGLHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glHistogramEXT")) == NULL) || r; - r = ((glMinmaxEXT = (PFNGLMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glMinmaxEXT")) == NULL) || r; - r = ((glResetHistogramEXT = (PFNGLRESETHISTOGRAMEXTPROC)glewGetProcAddress((const GLubyte*)"glResetHistogramEXT")) == NULL) || r; - r = ((glResetMinmaxEXT = (PFNGLRESETMINMAXEXTPROC)glewGetProcAddress((const GLubyte*)"glResetMinmaxEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_histogram */ - -#ifdef GL_EXT_index_array_formats - -#endif /* GL_EXT_index_array_formats */ - -#ifdef GL_EXT_index_func - -static GLboolean _glewInit_GL_EXT_index_func (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glIndexFuncEXT = (PFNGLINDEXFUNCEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexFuncEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_index_func */ - -#ifdef GL_EXT_index_material - -static GLboolean _glewInit_GL_EXT_index_material (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glIndexMaterialEXT = (PFNGLINDEXMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glIndexMaterialEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_index_material */ - -#ifdef GL_EXT_index_texture - -#endif /* GL_EXT_index_texture */ - -#ifdef GL_EXT_light_texture - -static GLboolean _glewInit_GL_EXT_light_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glApplyTextureEXT = (PFNGLAPPLYTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glApplyTextureEXT")) == NULL) || r; - r = ((glTextureLightEXT = (PFNGLTEXTURELIGHTEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureLightEXT")) == NULL) || r; - r = ((glTextureMaterialEXT = (PFNGLTEXTUREMATERIALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureMaterialEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_light_texture */ - -#ifdef GL_EXT_misc_attribute - -#endif /* GL_EXT_misc_attribute */ - -#ifdef GL_EXT_multi_draw_arrays - -static GLboolean _glewInit_GL_EXT_multi_draw_arrays (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawArraysEXT")) == NULL) || r; - r = ((glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)glewGetProcAddress((const GLubyte*)"glMultiDrawElementsEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_multi_draw_arrays */ - -#ifdef GL_EXT_multisample - -static GLboolean _glewInit_GL_EXT_multisample (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glSampleMaskEXT = (PFNGLSAMPLEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskEXT")) == NULL) || r; - r = ((glSamplePatternEXT = (PFNGLSAMPLEPATTERNEXTPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_multisample */ - -#ifdef GL_EXT_packed_depth_stencil - -#endif /* GL_EXT_packed_depth_stencil */ - -#ifdef GL_EXT_packed_float - -#endif /* GL_EXT_packed_float */ - -#ifdef GL_EXT_packed_pixels - -#endif /* GL_EXT_packed_pixels */ - -#ifdef GL_EXT_paletted_texture - -static GLboolean _glewInit_GL_EXT_paletted_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorTableEXT = (PFNGLCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glColorTableEXT")) == NULL) || r; - r = ((glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableEXT")) == NULL) || r; - r = ((glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvEXT")) == NULL) || r; - r = ((glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_paletted_texture */ - -#ifdef GL_EXT_pixel_buffer_object - -#endif /* GL_EXT_pixel_buffer_object */ - -#ifdef GL_EXT_pixel_transform - -static GLboolean _glewInit_GL_EXT_pixel_transform (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetPixelTransformParameterfvEXT = (PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterfvEXT")) == NULL) || r; - r = ((glGetPixelTransformParameterivEXT = (PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPixelTransformParameterivEXT")) == NULL) || r; - r = ((glPixelTransformParameterfEXT = (PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfEXT")) == NULL) || r; - r = ((glPixelTransformParameterfvEXT = (PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterfvEXT")) == NULL) || r; - r = ((glPixelTransformParameteriEXT = (PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameteriEXT")) == NULL) || r; - r = ((glPixelTransformParameterivEXT = (PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)glewGetProcAddress((const GLubyte*)"glPixelTransformParameterivEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_pixel_transform */ - -#ifdef GL_EXT_pixel_transform_color_table - -#endif /* GL_EXT_pixel_transform_color_table */ - -#ifdef GL_EXT_point_parameters - -static GLboolean _glewInit_GL_EXT_point_parameters (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfEXT")) == NULL) || r; - r = ((glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)glewGetProcAddress((const GLubyte*)"glPointParameterfvEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_point_parameters */ - -#ifdef GL_EXT_polygon_offset - -static GLboolean _glewInit_GL_EXT_polygon_offset (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPolygonOffsetEXT = (PFNGLPOLYGONOFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glPolygonOffsetEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_polygon_offset */ - -#ifdef GL_EXT_rescale_normal - -#endif /* GL_EXT_rescale_normal */ - -#ifdef GL_EXT_scene_marker - -static GLboolean _glewInit_GL_EXT_scene_marker (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginSceneEXT = (PFNGLBEGINSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginSceneEXT")) == NULL) || r; - r = ((glEndSceneEXT = (PFNGLENDSCENEEXTPROC)glewGetProcAddress((const GLubyte*)"glEndSceneEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_scene_marker */ - -#ifdef GL_EXT_secondary_color - -static GLboolean _glewInit_GL_EXT_secondary_color (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bEXT")) == NULL) || r; - r = ((glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3bvEXT")) == NULL) || r; - r = ((glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dEXT")) == NULL) || r; - r = ((glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3dvEXT")) == NULL) || r; - r = ((glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fEXT")) == NULL) || r; - r = ((glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3fvEXT")) == NULL) || r; - r = ((glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3iEXT")) == NULL) || r; - r = ((glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ivEXT")) == NULL) || r; - r = ((glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3sEXT")) == NULL) || r; - r = ((glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3svEXT")) == NULL) || r; - r = ((glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubEXT")) == NULL) || r; - r = ((glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3ubvEXT")) == NULL) || r; - r = ((glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uiEXT")) == NULL) || r; - r = ((glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3uivEXT")) == NULL) || r; - r = ((glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usEXT")) == NULL) || r; - r = ((glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3usvEXT")) == NULL) || r; - r = ((glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_secondary_color */ - -#ifdef GL_EXT_separate_specular_color - -#endif /* GL_EXT_separate_specular_color */ - -#ifdef GL_EXT_shadow_funcs - -#endif /* GL_EXT_shadow_funcs */ - -#ifdef GL_EXT_shared_texture_palette - -#endif /* GL_EXT_shared_texture_palette */ - -#ifdef GL_EXT_stencil_clear_tag - -#endif /* GL_EXT_stencil_clear_tag */ - -#ifdef GL_EXT_stencil_two_side - -static GLboolean _glewInit_GL_EXT_stencil_two_side (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)glewGetProcAddress((const GLubyte*)"glActiveStencilFaceEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_stencil_two_side */ - -#ifdef GL_EXT_stencil_wrap - -#endif /* GL_EXT_stencil_wrap */ - -#ifdef GL_EXT_subtexture - -static GLboolean _glewInit_GL_EXT_subtexture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage1DEXT")) == NULL) || r; - r = ((glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage2DEXT")) == NULL) || r; - r = ((glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage3DEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_subtexture */ - -#ifdef GL_EXT_texture - -#endif /* GL_EXT_texture */ - -#ifdef GL_EXT_texture3D - -static GLboolean _glewInit_GL_EXT_texture3D (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)glewGetProcAddress((const GLubyte*)"glTexImage3DEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_texture3D */ - -#ifdef GL_EXT_texture_array - -#endif /* GL_EXT_texture_array */ - -#ifdef GL_EXT_texture_buffer_object - -static GLboolean _glewInit_GL_EXT_texture_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexBufferEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_texture_buffer_object */ - -#ifdef GL_EXT_texture_compression_dxt1 - -#endif /* GL_EXT_texture_compression_dxt1 */ - -#ifdef GL_EXT_texture_compression_latc - -#endif /* GL_EXT_texture_compression_latc */ - -#ifdef GL_EXT_texture_compression_rgtc - -#endif /* GL_EXT_texture_compression_rgtc */ - -#ifdef GL_EXT_texture_compression_s3tc - -#endif /* GL_EXT_texture_compression_s3tc */ - -#ifdef GL_EXT_texture_cube_map - -#endif /* GL_EXT_texture_cube_map */ - -#ifdef GL_EXT_texture_edge_clamp - -#endif /* GL_EXT_texture_edge_clamp */ - -#ifdef GL_EXT_texture_env - -#endif /* GL_EXT_texture_env */ - -#ifdef GL_EXT_texture_env_add - -#endif /* GL_EXT_texture_env_add */ - -#ifdef GL_EXT_texture_env_combine - -#endif /* GL_EXT_texture_env_combine */ - -#ifdef GL_EXT_texture_env_dot3 - -#endif /* GL_EXT_texture_env_dot3 */ - -#ifdef GL_EXT_texture_filter_anisotropic - -#endif /* GL_EXT_texture_filter_anisotropic */ - -#ifdef GL_EXT_texture_integer - -static GLboolean _glewInit_GL_EXT_texture_integer (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIiEXT")) == NULL) || r; - r = ((glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC)glewGetProcAddress((const GLubyte*)"glClearColorIuiEXT")) == NULL) || r; - r = ((glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIivEXT")) == NULL) || r; - r = ((glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTexParameterIuivEXT")) == NULL) || r; - r = ((glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIivEXT")) == NULL) || r; - r = ((glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glTexParameterIuivEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_texture_integer */ - -#ifdef GL_EXT_texture_lod_bias - -#endif /* GL_EXT_texture_lod_bias */ - -#ifdef GL_EXT_texture_mirror_clamp - -#endif /* GL_EXT_texture_mirror_clamp */ - -#ifdef GL_EXT_texture_object - -static GLboolean _glewInit_GL_EXT_texture_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)glewGetProcAddress((const GLubyte*)"glAreTexturesResidentEXT")) == NULL) || r; - r = ((glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureEXT")) == NULL) || r; - r = ((glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteTexturesEXT")) == NULL) || r; - r = ((glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glGenTexturesEXT")) == NULL) || r; - r = ((glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)glewGetProcAddress((const GLubyte*)"glIsTextureEXT")) == NULL) || r; - r = ((glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)glewGetProcAddress((const GLubyte*)"glPrioritizeTexturesEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_texture_object */ - -#ifdef GL_EXT_texture_perturb_normal - -static GLboolean _glewInit_GL_EXT_texture_perturb_normal (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTextureNormalEXT = (PFNGLTEXTURENORMALEXTPROC)glewGetProcAddress((const GLubyte*)"glTextureNormalEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_texture_perturb_normal */ - -#ifdef GL_EXT_texture_rectangle - -#endif /* GL_EXT_texture_rectangle */ - -#ifdef GL_EXT_texture_sRGB - -#endif /* GL_EXT_texture_sRGB */ - -#ifdef GL_EXT_texture_shared_exponent - -#endif /* GL_EXT_texture_shared_exponent */ - -#ifdef GL_EXT_texture_swizzle - -#endif /* GL_EXT_texture_swizzle */ - -#ifdef GL_EXT_timer_query - -static GLboolean _glewInit_GL_EXT_timer_query (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjecti64vEXT")) == NULL) || r; - r = ((glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)glewGetProcAddress((const GLubyte*)"glGetQueryObjectui64vEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_timer_query */ - -#ifdef GL_EXT_transform_feedback - -static GLboolean _glewInit_GL_EXT_transform_feedback (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackEXT")) == NULL) || r; - r = ((glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseEXT")) == NULL) || r; - r = ((glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetEXT")) == NULL) || r; - r = ((glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeEXT")) == NULL) || r; - r = ((glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackEXT")) == NULL) || r; - r = ((glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingEXT")) == NULL) || r; - r = ((glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_transform_feedback */ - -#ifdef GL_EXT_vertex_array - -static GLboolean _glewInit_GL_EXT_vertex_array (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC)glewGetProcAddress((const GLubyte*)"glArrayElementEXT")) == NULL) || r; - r = ((glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glColorPointerEXT")) == NULL) || r; - r = ((glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawArraysEXT")) == NULL) || r; - r = ((glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerEXT")) == NULL) || r; - r = ((glGetPointervEXT = (PFNGLGETPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetPointervEXT")) == NULL) || r; - r = ((glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerEXT")) == NULL) || r; - r = ((glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerEXT")) == NULL) || r; - r = ((glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerEXT")) == NULL) || r; - r = ((glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_vertex_array */ - -#ifdef GL_EXT_vertex_array_bgra - -#endif /* GL_EXT_vertex_array_bgra */ - -#ifdef GL_EXT_vertex_shader - -static GLboolean _glewInit_GL_EXT_vertex_shader (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBeginVertexShaderEXT")) == NULL) || r; - r = ((glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindLightParameterEXT")) == NULL) || r; - r = ((glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindMaterialParameterEXT")) == NULL) || r; - r = ((glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindParameterEXT")) == NULL) || r; - r = ((glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTexGenParameterEXT")) == NULL) || r; - r = ((glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindTextureUnitParameterEXT")) == NULL) || r; - r = ((glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glBindVertexShaderEXT")) == NULL) || r; - r = ((glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteVertexShaderEXT")) == NULL) || r; - r = ((glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glDisableVariantClientStateEXT")) == NULL) || r; - r = ((glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)glewGetProcAddress((const GLubyte*)"glEnableVariantClientStateEXT")) == NULL) || r; - r = ((glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)glewGetProcAddress((const GLubyte*)"glEndVertexShaderEXT")) == NULL) || r; - r = ((glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glExtractComponentEXT")) == NULL) || r; - r = ((glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenSymbolsEXT")) == NULL) || r; - r = ((glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)glewGetProcAddress((const GLubyte*)"glGenVertexShadersEXT")) == NULL) || r; - r = ((glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantBooleanvEXT")) == NULL) || r; - r = ((glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantFloatvEXT")) == NULL) || r; - r = ((glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetInvariantIntegervEXT")) == NULL) || r; - r = ((glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantBooleanvEXT")) == NULL) || r; - r = ((glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantFloatvEXT")) == NULL) || r; - r = ((glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetLocalConstantIntegervEXT")) == NULL) || r; - r = ((glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantBooleanvEXT")) == NULL) || r; - r = ((glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantFloatvEXT")) == NULL) || r; - r = ((glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantIntegervEXT")) == NULL) || r; - r = ((glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)glewGetProcAddress((const GLubyte*)"glGetVariantPointervEXT")) == NULL) || r; - r = ((glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)glewGetProcAddress((const GLubyte*)"glInsertComponentEXT")) == NULL) || r; - r = ((glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)glewGetProcAddress((const GLubyte*)"glIsVariantEnabledEXT")) == NULL) || r; - r = ((glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetInvariantEXT")) == NULL) || r; - r = ((glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)glewGetProcAddress((const GLubyte*)"glSetLocalConstantEXT")) == NULL) || r; - r = ((glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp1EXT")) == NULL) || r; - r = ((glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp2EXT")) == NULL) || r; - r = ((glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)glewGetProcAddress((const GLubyte*)"glShaderOp3EXT")) == NULL) || r; - r = ((glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)glewGetProcAddress((const GLubyte*)"glSwizzleEXT")) == NULL) || r; - r = ((glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVariantPointerEXT")) == NULL) || r; - r = ((glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantbvEXT")) == NULL) || r; - r = ((glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantdvEXT")) == NULL) || r; - r = ((glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantfvEXT")) == NULL) || r; - r = ((glVariantivEXT = (PFNGLVARIANTIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantivEXT")) == NULL) || r; - r = ((glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantsvEXT")) == NULL) || r; - r = ((glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantubvEXT")) == NULL) || r; - r = ((glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantuivEXT")) == NULL) || r; - r = ((glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)glewGetProcAddress((const GLubyte*)"glVariantusvEXT")) == NULL) || r; - r = ((glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)glewGetProcAddress((const GLubyte*)"glWriteMaskEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_vertex_shader */ - -#ifdef GL_EXT_vertex_weighting - -static GLboolean _glewInit_GL_EXT_vertex_weighting (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightPointerEXT")) == NULL) || r; - r = ((glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfEXT")) == NULL) || r; - r = ((glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)glewGetProcAddress((const GLubyte*)"glVertexWeightfvEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_EXT_vertex_weighting */ - -#ifdef GL_GREMEDY_frame_terminator - -static GLboolean _glewInit_GL_GREMEDY_frame_terminator (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFrameTerminatorGREMEDY = (PFNGLFRAMETERMINATORGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glFrameTerminatorGREMEDY")) == NULL) || r; - - return r; -} - -#endif /* GL_GREMEDY_frame_terminator */ - -#ifdef GL_GREMEDY_string_marker - -static GLboolean _glewInit_GL_GREMEDY_string_marker (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glStringMarkerGREMEDY = (PFNGLSTRINGMARKERGREMEDYPROC)glewGetProcAddress((const GLubyte*)"glStringMarkerGREMEDY")) == NULL) || r; - - return r; -} - -#endif /* GL_GREMEDY_string_marker */ - -#ifdef GL_HP_convolution_border_modes - -#endif /* GL_HP_convolution_border_modes */ - -#ifdef GL_HP_image_transform - -static GLboolean _glewInit_GL_HP_image_transform (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetImageTransformParameterfvHP = (PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterfvHP")) == NULL) || r; - r = ((glGetImageTransformParameterivHP = (PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glGetImageTransformParameterivHP")) == NULL) || r; - r = ((glImageTransformParameterfHP = (PFNGLIMAGETRANSFORMPARAMETERFHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfHP")) == NULL) || r; - r = ((glImageTransformParameterfvHP = (PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterfvHP")) == NULL) || r; - r = ((glImageTransformParameteriHP = (PFNGLIMAGETRANSFORMPARAMETERIHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameteriHP")) == NULL) || r; - r = ((glImageTransformParameterivHP = (PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)glewGetProcAddress((const GLubyte*)"glImageTransformParameterivHP")) == NULL) || r; - - return r; -} - -#endif /* GL_HP_image_transform */ - -#ifdef GL_HP_occlusion_test - -#endif /* GL_HP_occlusion_test */ - -#ifdef GL_HP_texture_lighting - -#endif /* GL_HP_texture_lighting */ - -#ifdef GL_IBM_cull_vertex - -#endif /* GL_IBM_cull_vertex */ - -#ifdef GL_IBM_multimode_draw_arrays - -static GLboolean _glewInit_GL_IBM_multimode_draw_arrays (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glMultiModeDrawArraysIBM = (PFNGLMULTIMODEDRAWARRAYSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawArraysIBM")) == NULL) || r; - r = ((glMultiModeDrawElementsIBM = (PFNGLMULTIMODEDRAWELEMENTSIBMPROC)glewGetProcAddress((const GLubyte*)"glMultiModeDrawElementsIBM")) == NULL) || r; - - return r; -} - -#endif /* GL_IBM_multimode_draw_arrays */ - -#ifdef GL_IBM_rasterpos_clip - -#endif /* GL_IBM_rasterpos_clip */ - -#ifdef GL_IBM_static_data - -#endif /* GL_IBM_static_data */ - -#ifdef GL_IBM_texture_mirrored_repeat - -#endif /* GL_IBM_texture_mirrored_repeat */ - -#ifdef GL_IBM_vertex_array_lists - -static GLboolean _glewInit_GL_IBM_vertex_array_lists (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorPointerListIBM = (PFNGLCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glColorPointerListIBM")) == NULL) || r; - r = ((glEdgeFlagPointerListIBM = (PFNGLEDGEFLAGPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glEdgeFlagPointerListIBM")) == NULL) || r; - r = ((glFogCoordPointerListIBM = (PFNGLFOGCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glFogCoordPointerListIBM")) == NULL) || r; - r = ((glIndexPointerListIBM = (PFNGLINDEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glIndexPointerListIBM")) == NULL) || r; - r = ((glNormalPointerListIBM = (PFNGLNORMALPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glNormalPointerListIBM")) == NULL) || r; - r = ((glSecondaryColorPointerListIBM = (PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColorPointerListIBM")) == NULL) || r; - r = ((glTexCoordPointerListIBM = (PFNGLTEXCOORDPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointerListIBM")) == NULL) || r; - r = ((glVertexPointerListIBM = (PFNGLVERTEXPOINTERLISTIBMPROC)glewGetProcAddress((const GLubyte*)"glVertexPointerListIBM")) == NULL) || r; - - return r; -} - -#endif /* GL_IBM_vertex_array_lists */ - -#ifdef GL_INGR_color_clamp - -#endif /* GL_INGR_color_clamp */ - -#ifdef GL_INGR_interlace_read - -#endif /* GL_INGR_interlace_read */ - -#ifdef GL_INTEL_parallel_arrays - -static GLboolean _glewInit_GL_INTEL_parallel_arrays (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorPointervINTEL = (PFNGLCOLORPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glColorPointervINTEL")) == NULL) || r; - r = ((glNormalPointervINTEL = (PFNGLNORMALPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glNormalPointervINTEL")) == NULL) || r; - r = ((glTexCoordPointervINTEL = (PFNGLTEXCOORDPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glTexCoordPointervINTEL")) == NULL) || r; - r = ((glVertexPointervINTEL = (PFNGLVERTEXPOINTERVINTELPROC)glewGetProcAddress((const GLubyte*)"glVertexPointervINTEL")) == NULL) || r; - - return r; -} - -#endif /* GL_INTEL_parallel_arrays */ - -#ifdef GL_INTEL_texture_scissor - -static GLboolean _glewInit_GL_INTEL_texture_scissor (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexScissorFuncINTEL = (PFNGLTEXSCISSORFUNCINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorFuncINTEL")) == NULL) || r; - r = ((glTexScissorINTEL = (PFNGLTEXSCISSORINTELPROC)glewGetProcAddress((const GLubyte*)"glTexScissorINTEL")) == NULL) || r; - - return r; -} - -#endif /* GL_INTEL_texture_scissor */ - -#ifdef GL_KTX_buffer_region - -static GLboolean _glewInit_GL_KTX_buffer_region (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBufferRegionEnabledEXT = (PFNGLBUFFERREGIONENABLEDEXTPROC)glewGetProcAddress((const GLubyte*)"glBufferRegionEnabledEXT")) == NULL) || r; - r = ((glDeleteBufferRegionEXT = (PFNGLDELETEBUFFERREGIONEXTPROC)glewGetProcAddress((const GLubyte*)"glDeleteBufferRegionEXT")) == NULL) || r; - r = ((glDrawBufferRegionEXT = (PFNGLDRAWBUFFERREGIONEXTPROC)glewGetProcAddress((const GLubyte*)"glDrawBufferRegionEXT")) == NULL) || r; - r = ((glNewBufferRegionEXT = (PFNGLNEWBUFFERREGIONEXTPROC)glewGetProcAddress((const GLubyte*)"glNewBufferRegionEXT")) == NULL) || r; - r = ((glReadBufferRegionEXT = (PFNGLREADBUFFERREGIONEXTPROC)glewGetProcAddress((const GLubyte*)"glReadBufferRegionEXT")) == NULL) || r; - - return r; -} - -#endif /* GL_KTX_buffer_region */ - -#ifdef GL_MESAX_texture_stack - -#endif /* GL_MESAX_texture_stack */ - -#ifdef GL_MESA_pack_invert - -#endif /* GL_MESA_pack_invert */ - -#ifdef GL_MESA_resize_buffers - -static GLboolean _glewInit_GL_MESA_resize_buffers (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glResizeBuffersMESA = (PFNGLRESIZEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glResizeBuffersMESA")) == NULL) || r; - - return r; -} - -#endif /* GL_MESA_resize_buffers */ - -#ifdef GL_MESA_window_pos - -static GLboolean _glewInit_GL_MESA_window_pos (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glWindowPos2dMESA = (PFNGLWINDOWPOS2DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dMESA")) == NULL) || r; - r = ((glWindowPos2dvMESA = (PFNGLWINDOWPOS2DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2dvMESA")) == NULL) || r; - r = ((glWindowPos2fMESA = (PFNGLWINDOWPOS2FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fMESA")) == NULL) || r; - r = ((glWindowPos2fvMESA = (PFNGLWINDOWPOS2FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2fvMESA")) == NULL) || r; - r = ((glWindowPos2iMESA = (PFNGLWINDOWPOS2IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2iMESA")) == NULL) || r; - r = ((glWindowPos2ivMESA = (PFNGLWINDOWPOS2IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2ivMESA")) == NULL) || r; - r = ((glWindowPos2sMESA = (PFNGLWINDOWPOS2SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2sMESA")) == NULL) || r; - r = ((glWindowPos2svMESA = (PFNGLWINDOWPOS2SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos2svMESA")) == NULL) || r; - r = ((glWindowPos3dMESA = (PFNGLWINDOWPOS3DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dMESA")) == NULL) || r; - r = ((glWindowPos3dvMESA = (PFNGLWINDOWPOS3DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3dvMESA")) == NULL) || r; - r = ((glWindowPos3fMESA = (PFNGLWINDOWPOS3FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fMESA")) == NULL) || r; - r = ((glWindowPos3fvMESA = (PFNGLWINDOWPOS3FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3fvMESA")) == NULL) || r; - r = ((glWindowPos3iMESA = (PFNGLWINDOWPOS3IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3iMESA")) == NULL) || r; - r = ((glWindowPos3ivMESA = (PFNGLWINDOWPOS3IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3ivMESA")) == NULL) || r; - r = ((glWindowPos3sMESA = (PFNGLWINDOWPOS3SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3sMESA")) == NULL) || r; - r = ((glWindowPos3svMESA = (PFNGLWINDOWPOS3SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos3svMESA")) == NULL) || r; - r = ((glWindowPos4dMESA = (PFNGLWINDOWPOS4DMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dMESA")) == NULL) || r; - r = ((glWindowPos4dvMESA = (PFNGLWINDOWPOS4DVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4dvMESA")) == NULL) || r; - r = ((glWindowPos4fMESA = (PFNGLWINDOWPOS4FMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fMESA")) == NULL) || r; - r = ((glWindowPos4fvMESA = (PFNGLWINDOWPOS4FVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4fvMESA")) == NULL) || r; - r = ((glWindowPos4iMESA = (PFNGLWINDOWPOS4IMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4iMESA")) == NULL) || r; - r = ((glWindowPos4ivMESA = (PFNGLWINDOWPOS4IVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4ivMESA")) == NULL) || r; - r = ((glWindowPos4sMESA = (PFNGLWINDOWPOS4SMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4sMESA")) == NULL) || r; - r = ((glWindowPos4svMESA = (PFNGLWINDOWPOS4SVMESAPROC)glewGetProcAddress((const GLubyte*)"glWindowPos4svMESA")) == NULL) || r; - - return r; -} - -#endif /* GL_MESA_window_pos */ - -#ifdef GL_MESA_ycbcr_texture - -#endif /* GL_MESA_ycbcr_texture */ - -#ifdef GL_NV_blend_square - -#endif /* GL_NV_blend_square */ - -#ifdef GL_NV_conditional_render - -static GLboolean _glewInit_GL_NV_conditional_render (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glBeginConditionalRenderNV")) == NULL) || r; - r = ((glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)glewGetProcAddress((const GLubyte*)"glEndConditionalRenderNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_conditional_render */ - -#ifdef GL_NV_copy_depth_to_color - -#endif /* GL_NV_copy_depth_to_color */ - -#ifdef GL_NV_depth_buffer_float - -static GLboolean _glewInit_GL_NV_depth_buffer_float (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)glewGetProcAddress((const GLubyte*)"glClearDepthdNV")) == NULL) || r; - r = ((glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthBoundsdNV")) == NULL) || r; - r = ((glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)glewGetProcAddress((const GLubyte*)"glDepthRangedNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_depth_buffer_float */ - -#ifdef GL_NV_depth_clamp - -#endif /* GL_NV_depth_clamp */ - -#ifdef GL_NV_depth_range_unclamped - -#endif /* GL_NV_depth_range_unclamped */ - -#ifdef GL_NV_evaluators - -static GLboolean _glewInit_GL_NV_evaluators (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glEvalMapsNV = (PFNGLEVALMAPSNVPROC)glewGetProcAddress((const GLubyte*)"glEvalMapsNV")) == NULL) || r; - r = ((glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterfvNV")) == NULL) || r; - r = ((glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapAttribParameterivNV")) == NULL) || r; - r = ((glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapControlPointsNV")) == NULL) || r; - r = ((glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterfvNV")) == NULL) || r; - r = ((glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMapParameterivNV")) == NULL) || r; - r = ((glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)glewGetProcAddress((const GLubyte*)"glMapControlPointsNV")) == NULL) || r; - r = ((glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterfvNV")) == NULL) || r; - r = ((glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glMapParameterivNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_evaluators */ - -#ifdef GL_NV_explicit_multisample - -static GLboolean _glewInit_GL_NV_explicit_multisample (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetMultisamplefvNV")) == NULL) || r; - r = ((glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskIndexedNV")) == NULL) || r; - r = ((glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC)glewGetProcAddress((const GLubyte*)"glTexRenderbufferNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_explicit_multisample */ - -#ifdef GL_NV_fence - -static GLboolean _glewInit_GL_NV_fence (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteFencesNV")) == NULL) || r; - r = ((glFinishFenceNV = (PFNGLFINISHFENCENVPROC)glewGetProcAddress((const GLubyte*)"glFinishFenceNV")) == NULL) || r; - r = ((glGenFencesNV = (PFNGLGENFENCESNVPROC)glewGetProcAddress((const GLubyte*)"glGenFencesNV")) == NULL) || r; - r = ((glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFenceivNV")) == NULL) || r; - r = ((glIsFenceNV = (PFNGLISFENCENVPROC)glewGetProcAddress((const GLubyte*)"glIsFenceNV")) == NULL) || r; - r = ((glSetFenceNV = (PFNGLSETFENCENVPROC)glewGetProcAddress((const GLubyte*)"glSetFenceNV")) == NULL) || r; - r = ((glTestFenceNV = (PFNGLTESTFENCENVPROC)glewGetProcAddress((const GLubyte*)"glTestFenceNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_fence */ - -#ifdef GL_NV_float_buffer - -#endif /* GL_NV_float_buffer */ - -#ifdef GL_NV_fog_distance - -#endif /* GL_NV_fog_distance */ - -#ifdef GL_NV_fragment_program - -static GLboolean _glewInit_GL_NV_fragment_program (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterdvNV")) == NULL) || r; - r = ((glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramNamedParameterfvNV")) == NULL) || r; - r = ((glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dNV")) == NULL) || r; - r = ((glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4dvNV")) == NULL) || r; - r = ((glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fNV")) == NULL) || r; - r = ((glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramNamedParameter4fvNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_fragment_program */ - -#ifdef GL_NV_fragment_program2 - -#endif /* GL_NV_fragment_program2 */ - -#ifdef GL_NV_fragment_program4 - -#endif /* GL_NV_fragment_program4 */ - -#ifdef GL_NV_fragment_program_option - -#endif /* GL_NV_fragment_program_option */ - -#ifdef GL_NV_framebuffer_multisample_coverage - -static GLboolean _glewInit_GL_NV_framebuffer_multisample_coverage (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)glewGetProcAddress((const GLubyte*)"glRenderbufferStorageMultisampleCoverageNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_framebuffer_multisample_coverage */ - -#ifdef GL_NV_geometry_program4 - -static GLboolean _glewInit_GL_NV_geometry_program4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC)glewGetProcAddress((const GLubyte*)"glProgramVertexLimitNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_geometry_program4 */ - -#ifdef GL_NV_geometry_shader4 - -#endif /* GL_NV_geometry_shader4 */ - -#ifdef GL_NV_gpu_program4 - -static GLboolean _glewInit_GL_NV_gpu_program4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glProgramEnvParameterI4iNV = (PFNGLPROGRAMENVPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4iNV")) == NULL) || r; - r = ((glProgramEnvParameterI4ivNV = (PFNGLPROGRAMENVPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4ivNV")) == NULL) || r; - r = ((glProgramEnvParameterI4uiNV = (PFNGLPROGRAMENVPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uiNV")) == NULL) || r; - r = ((glProgramEnvParameterI4uivNV = (PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParameterI4uivNV")) == NULL) || r; - r = ((glProgramEnvParametersI4ivNV = (PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4ivNV")) == NULL) || r; - r = ((glProgramEnvParametersI4uivNV = (PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramEnvParametersI4uivNV")) == NULL) || r; - r = ((glProgramLocalParameterI4iNV = (PFNGLPROGRAMLOCALPARAMETERI4INVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4iNV")) == NULL) || r; - r = ((glProgramLocalParameterI4ivNV = (PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4ivNV")) == NULL) || r; - r = ((glProgramLocalParameterI4uiNV = (PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uiNV")) == NULL) || r; - r = ((glProgramLocalParameterI4uivNV = (PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParameterI4uivNV")) == NULL) || r; - r = ((glProgramLocalParametersI4ivNV = (PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4ivNV")) == NULL) || r; - r = ((glProgramLocalParametersI4uivNV = (PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramLocalParametersI4uivNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_gpu_program4 */ - -#ifdef GL_NV_half_float - -static GLboolean _glewInit_GL_NV_half_float (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColor3hNV = (PFNGLCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hNV")) == NULL) || r; - r = ((glColor3hvNV = (PFNGLCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor3hvNV")) == NULL) || r; - r = ((glColor4hNV = (PFNGLCOLOR4HNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hNV")) == NULL) || r; - r = ((glColor4hvNV = (PFNGLCOLOR4HVNVPROC)glewGetProcAddress((const GLubyte*)"glColor4hvNV")) == NULL) || r; - r = ((glFogCoordhNV = (PFNGLFOGCOORDHNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhNV")) == NULL) || r; - r = ((glFogCoordhvNV = (PFNGLFOGCOORDHVNVPROC)glewGetProcAddress((const GLubyte*)"glFogCoordhvNV")) == NULL) || r; - r = ((glMultiTexCoord1hNV = (PFNGLMULTITEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hNV")) == NULL) || r; - r = ((glMultiTexCoord1hvNV = (PFNGLMULTITEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord1hvNV")) == NULL) || r; - r = ((glMultiTexCoord2hNV = (PFNGLMULTITEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hNV")) == NULL) || r; - r = ((glMultiTexCoord2hvNV = (PFNGLMULTITEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord2hvNV")) == NULL) || r; - r = ((glMultiTexCoord3hNV = (PFNGLMULTITEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hNV")) == NULL) || r; - r = ((glMultiTexCoord3hvNV = (PFNGLMULTITEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord3hvNV")) == NULL) || r; - r = ((glMultiTexCoord4hNV = (PFNGLMULTITEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hNV")) == NULL) || r; - r = ((glMultiTexCoord4hvNV = (PFNGLMULTITEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glMultiTexCoord4hvNV")) == NULL) || r; - r = ((glNormal3hNV = (PFNGLNORMAL3HNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hNV")) == NULL) || r; - r = ((glNormal3hvNV = (PFNGLNORMAL3HVNVPROC)glewGetProcAddress((const GLubyte*)"glNormal3hvNV")) == NULL) || r; - r = ((glSecondaryColor3hNV = (PFNGLSECONDARYCOLOR3HNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hNV")) == NULL) || r; - r = ((glSecondaryColor3hvNV = (PFNGLSECONDARYCOLOR3HVNVPROC)glewGetProcAddress((const GLubyte*)"glSecondaryColor3hvNV")) == NULL) || r; - r = ((glTexCoord1hNV = (PFNGLTEXCOORD1HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hNV")) == NULL) || r; - r = ((glTexCoord1hvNV = (PFNGLTEXCOORD1HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord1hvNV")) == NULL) || r; - r = ((glTexCoord2hNV = (PFNGLTEXCOORD2HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hNV")) == NULL) || r; - r = ((glTexCoord2hvNV = (PFNGLTEXCOORD2HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2hvNV")) == NULL) || r; - r = ((glTexCoord3hNV = (PFNGLTEXCOORD3HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hNV")) == NULL) || r; - r = ((glTexCoord3hvNV = (PFNGLTEXCOORD3HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord3hvNV")) == NULL) || r; - r = ((glTexCoord4hNV = (PFNGLTEXCOORD4HNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hNV")) == NULL) || r; - r = ((glTexCoord4hvNV = (PFNGLTEXCOORD4HVNVPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4hvNV")) == NULL) || r; - r = ((glVertex2hNV = (PFNGLVERTEX2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hNV")) == NULL) || r; - r = ((glVertex2hvNV = (PFNGLVERTEX2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex2hvNV")) == NULL) || r; - r = ((glVertex3hNV = (PFNGLVERTEX3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hNV")) == NULL) || r; - r = ((glVertex3hvNV = (PFNGLVERTEX3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex3hvNV")) == NULL) || r; - r = ((glVertex4hNV = (PFNGLVERTEX4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hNV")) == NULL) || r; - r = ((glVertex4hvNV = (PFNGLVERTEX4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertex4hvNV")) == NULL) || r; - r = ((glVertexAttrib1hNV = (PFNGLVERTEXATTRIB1HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hNV")) == NULL) || r; - r = ((glVertexAttrib1hvNV = (PFNGLVERTEXATTRIB1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1hvNV")) == NULL) || r; - r = ((glVertexAttrib2hNV = (PFNGLVERTEXATTRIB2HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hNV")) == NULL) || r; - r = ((glVertexAttrib2hvNV = (PFNGLVERTEXATTRIB2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2hvNV")) == NULL) || r; - r = ((glVertexAttrib3hNV = (PFNGLVERTEXATTRIB3HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hNV")) == NULL) || r; - r = ((glVertexAttrib3hvNV = (PFNGLVERTEXATTRIB3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3hvNV")) == NULL) || r; - r = ((glVertexAttrib4hNV = (PFNGLVERTEXATTRIB4HNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hNV")) == NULL) || r; - r = ((glVertexAttrib4hvNV = (PFNGLVERTEXATTRIB4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4hvNV")) == NULL) || r; - r = ((glVertexAttribs1hvNV = (PFNGLVERTEXATTRIBS1HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1hvNV")) == NULL) || r; - r = ((glVertexAttribs2hvNV = (PFNGLVERTEXATTRIBS2HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2hvNV")) == NULL) || r; - r = ((glVertexAttribs3hvNV = (PFNGLVERTEXATTRIBS3HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3hvNV")) == NULL) || r; - r = ((glVertexAttribs4hvNV = (PFNGLVERTEXATTRIBS4HVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4hvNV")) == NULL) || r; - r = ((glVertexWeighthNV = (PFNGLVERTEXWEIGHTHNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthNV")) == NULL) || r; - r = ((glVertexWeighthvNV = (PFNGLVERTEXWEIGHTHVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexWeighthvNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_half_float */ - -#ifdef GL_NV_light_max_exponent - -#endif /* GL_NV_light_max_exponent */ - -#ifdef GL_NV_multisample_filter_hint - -#endif /* GL_NV_multisample_filter_hint */ - -#ifdef GL_NV_occlusion_query - -static GLboolean _glewInit_GL_NV_occlusion_query (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glBeginOcclusionQueryNV")) == NULL) || r; - r = ((glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteOcclusionQueriesNV")) == NULL) || r; - r = ((glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glEndOcclusionQueryNV")) == NULL) || r; - r = ((glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)glewGetProcAddress((const GLubyte*)"glGenOcclusionQueriesNV")) == NULL) || r; - r = ((glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryivNV")) == NULL) || r; - r = ((glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetOcclusionQueryuivNV")) == NULL) || r; - r = ((glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)glewGetProcAddress((const GLubyte*)"glIsOcclusionQueryNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_occlusion_query */ - -#ifdef GL_NV_packed_depth_stencil - -#endif /* GL_NV_packed_depth_stencil */ - -#ifdef GL_NV_parameter_buffer_object - -static GLboolean _glewInit_GL_NV_parameter_buffer_object (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glProgramBufferParametersIivNV = (PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIivNV")) == NULL) || r; - r = ((glProgramBufferParametersIuivNV = (PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersIuivNV")) == NULL) || r; - r = ((glProgramBufferParametersfvNV = (PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramBufferParametersfvNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_parameter_buffer_object */ - -#ifdef GL_NV_pixel_data_range - -static GLboolean _glewInit_GL_NV_pixel_data_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushPixelDataRangeNV")) == NULL) || r; - r = ((glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)glewGetProcAddress((const GLubyte*)"glPixelDataRangeNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_pixel_data_range */ - -#ifdef GL_NV_point_sprite - -static GLboolean _glewInit_GL_NV_point_sprite (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glPointParameteriNV")) == NULL) || r; - r = ((glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glPointParameterivNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_point_sprite */ - -#ifdef GL_NV_present_video - -static GLboolean _glewInit_GL_NV_present_video (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetVideoi64vNV = (PFNGLGETVIDEOI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoi64vNV")) == NULL) || r; - r = ((glGetVideoivNV = (PFNGLGETVIDEOIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoivNV")) == NULL) || r; - r = ((glGetVideoui64vNV = (PFNGLGETVIDEOUI64VNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideoui64vNV")) == NULL) || r; - r = ((glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideouivNV")) == NULL) || r; - r = ((glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameDualFillNV")) == NULL) || r; - r = ((glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameKeyedNV")) == NULL) || r; - r = ((glVideoParameterivNV = (PFNGLVIDEOPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoParameterivNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_present_video */ - -#ifdef GL_NV_primitive_restart - -static GLboolean _glewInit_GL_NV_primitive_restart (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartIndexNV")) == NULL) || r; - r = ((glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)glewGetProcAddress((const GLubyte*)"glPrimitiveRestartNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_primitive_restart */ - -#ifdef GL_NV_register_combiners - -static GLboolean _glewInit_GL_NV_register_combiners (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerInputNV")) == NULL) || r; - r = ((glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerOutputNV")) == NULL) || r; - r = ((glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfNV")) == NULL) || r; - r = ((glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterfvNV")) == NULL) || r; - r = ((glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameteriNV")) == NULL) || r; - r = ((glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerParameterivNV")) == NULL) || r; - r = ((glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)glewGetProcAddress((const GLubyte*)"glFinalCombinerInputNV")) == NULL) || r; - r = ((glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterfvNV")) == NULL) || r; - r = ((glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerInputParameterivNV")) == NULL) || r; - r = ((glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterfvNV")) == NULL) || r; - r = ((glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerOutputParameterivNV")) == NULL) || r; - r = ((glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterfvNV")) == NULL) || r; - r = ((glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetFinalCombinerInputParameterivNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_register_combiners */ - -#ifdef GL_NV_register_combiners2 - -static GLboolean _glewInit_GL_NV_register_combiners2 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glCombinerStageParameterfvNV")) == NULL) || r; - r = ((glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetCombinerStageParameterfvNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_register_combiners2 */ - -#ifdef GL_NV_texgen_emboss - -#endif /* GL_NV_texgen_emboss */ - -#ifdef GL_NV_texgen_reflection - -#endif /* GL_NV_texgen_reflection */ - -#ifdef GL_NV_texture_compression_vtc - -#endif /* GL_NV_texture_compression_vtc */ - -#ifdef GL_NV_texture_env_combine4 - -#endif /* GL_NV_texture_env_combine4 */ - -#ifdef GL_NV_texture_expand_normal - -#endif /* GL_NV_texture_expand_normal */ - -#ifdef GL_NV_texture_rectangle - -#endif /* GL_NV_texture_rectangle */ - -#ifdef GL_NV_texture_shader - -#endif /* GL_NV_texture_shader */ - -#ifdef GL_NV_texture_shader2 - -#endif /* GL_NV_texture_shader2 */ - -#ifdef GL_NV_texture_shader3 - -#endif /* GL_NV_texture_shader3 */ - -#ifdef GL_NV_transform_feedback - -static GLboolean _glewInit_GL_NV_transform_feedback (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glActiveVaryingNV")) == NULL) || r; - r = ((glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glBeginTransformFeedbackNV")) == NULL) || r; - r = ((glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferBaseNV")) == NULL) || r; - r = ((glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferOffsetNV")) == NULL) || r; - r = ((glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)glewGetProcAddress((const GLubyte*)"glBindBufferRangeNV")) == NULL) || r; - r = ((glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)glewGetProcAddress((const GLubyte*)"glEndTransformFeedbackNV")) == NULL) || r; - r = ((glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetActiveVaryingNV")) == NULL) || r; - r = ((glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetTransformFeedbackVaryingNV")) == NULL) || r; - r = ((glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC)glewGetProcAddress((const GLubyte*)"glGetVaryingLocationNV")) == NULL) || r; - r = ((glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackAttribsNV")) == NULL) || r; - r = ((glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)glewGetProcAddress((const GLubyte*)"glTransformFeedbackVaryingsNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_transform_feedback */ - -#ifdef GL_NV_vertex_array_range - -static GLboolean _glewInit_GL_NV_vertex_array_range (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glFlushVertexArrayRangeNV")) == NULL) || r; - r = ((glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)glewGetProcAddress((const GLubyte*)"glVertexArrayRangeNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_vertex_array_range */ - -#ifdef GL_NV_vertex_array_range2 - -#endif /* GL_NV_vertex_array_range2 */ - -#ifdef GL_NV_vertex_program - -static GLboolean _glewInit_GL_NV_vertex_program (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)glewGetProcAddress((const GLubyte*)"glAreProgramsResidentNV")) == NULL) || r; - r = ((glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glBindProgramNV")) == NULL) || r; - r = ((glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glDeleteProgramsNV")) == NULL) || r; - r = ((glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glExecuteProgramNV")) == NULL) || r; - r = ((glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glGenProgramsNV")) == NULL) || r; - r = ((glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterdvNV")) == NULL) || r; - r = ((glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramParameterfvNV")) == NULL) || r; - r = ((glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramStringNV")) == NULL) || r; - r = ((glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetProgramivNV")) == NULL) || r; - r = ((glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetTrackMatrixivNV")) == NULL) || r; - r = ((glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribPointervNV")) == NULL) || r; - r = ((glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribdvNV")) == NULL) || r; - r = ((glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribfvNV")) == NULL) || r; - r = ((glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVertexAttribivNV")) == NULL) || r; - r = ((glIsProgramNV = (PFNGLISPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glIsProgramNV")) == NULL) || r; - r = ((glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)glewGetProcAddress((const GLubyte*)"glLoadProgramNV")) == NULL) || r; - r = ((glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dNV")) == NULL) || r; - r = ((glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4dvNV")) == NULL) || r; - r = ((glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fNV")) == NULL) || r; - r = ((glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameter4fvNV")) == NULL) || r; - r = ((glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4dvNV")) == NULL) || r; - r = ((glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glProgramParameters4fvNV")) == NULL) || r; - r = ((glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)glewGetProcAddress((const GLubyte*)"glRequestResidentProgramsNV")) == NULL) || r; - r = ((glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)glewGetProcAddress((const GLubyte*)"glTrackMatrixNV")) == NULL) || r; - r = ((glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dNV")) == NULL) || r; - r = ((glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1dvNV")) == NULL) || r; - r = ((glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fNV")) == NULL) || r; - r = ((glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1fvNV")) == NULL) || r; - r = ((glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1sNV")) == NULL) || r; - r = ((glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib1svNV")) == NULL) || r; - r = ((glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dNV")) == NULL) || r; - r = ((glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2dvNV")) == NULL) || r; - r = ((glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fNV")) == NULL) || r; - r = ((glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2fvNV")) == NULL) || r; - r = ((glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2sNV")) == NULL) || r; - r = ((glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib2svNV")) == NULL) || r; - r = ((glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dNV")) == NULL) || r; - r = ((glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3dvNV")) == NULL) || r; - r = ((glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fNV")) == NULL) || r; - r = ((glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3fvNV")) == NULL) || r; - r = ((glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3sNV")) == NULL) || r; - r = ((glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib3svNV")) == NULL) || r; - r = ((glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dNV")) == NULL) || r; - r = ((glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4dvNV")) == NULL) || r; - r = ((glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fNV")) == NULL) || r; - r = ((glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4fvNV")) == NULL) || r; - r = ((glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4sNV")) == NULL) || r; - r = ((glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4svNV")) == NULL) || r; - r = ((glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubNV")) == NULL) || r; - r = ((glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttrib4ubvNV")) == NULL) || r; - r = ((glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribPointerNV")) == NULL) || r; - r = ((glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1dvNV")) == NULL) || r; - r = ((glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1fvNV")) == NULL) || r; - r = ((glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs1svNV")) == NULL) || r; - r = ((glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2dvNV")) == NULL) || r; - r = ((glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2fvNV")) == NULL) || r; - r = ((glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs2svNV")) == NULL) || r; - r = ((glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3dvNV")) == NULL) || r; - r = ((glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3fvNV")) == NULL) || r; - r = ((glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs3svNV")) == NULL) || r; - r = ((glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4dvNV")) == NULL) || r; - r = ((glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4fvNV")) == NULL) || r; - r = ((glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4svNV")) == NULL) || r; - r = ((glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)glewGetProcAddress((const GLubyte*)"glVertexAttribs4ubvNV")) == NULL) || r; - - return r; -} - -#endif /* GL_NV_vertex_program */ - -#ifdef GL_NV_vertex_program1_1 - -#endif /* GL_NV_vertex_program1_1 */ - -#ifdef GL_NV_vertex_program2 - -#endif /* GL_NV_vertex_program2 */ - -#ifdef GL_NV_vertex_program2_option - -#endif /* GL_NV_vertex_program2_option */ - -#ifdef GL_NV_vertex_program3 - -#endif /* GL_NV_vertex_program3 */ - -#ifdef GL_NV_vertex_program4 - -#endif /* GL_NV_vertex_program4 */ - -#ifdef GL_OES_byte_coordinates - -#endif /* GL_OES_byte_coordinates */ - -#ifdef GL_OES_compressed_paletted_texture - -#endif /* GL_OES_compressed_paletted_texture */ - -#ifdef GL_OES_read_format - -#endif /* GL_OES_read_format */ - -#ifdef GL_OES_single_precision - -static GLboolean _glewInit_GL_OES_single_precision (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC)glewGetProcAddress((const GLubyte*)"glClearDepthfOES")) == NULL) || r; - r = ((glClipPlanefOES = (PFNGLCLIPPLANEFOESPROC)glewGetProcAddress((const GLubyte*)"glClipPlanefOES")) == NULL) || r; - r = ((glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC)glewGetProcAddress((const GLubyte*)"glDepthRangefOES")) == NULL) || r; - r = ((glFrustumfOES = (PFNGLFRUSTUMFOESPROC)glewGetProcAddress((const GLubyte*)"glFrustumfOES")) == NULL) || r; - r = ((glGetClipPlanefOES = (PFNGLGETCLIPPLANEFOESPROC)glewGetProcAddress((const GLubyte*)"glGetClipPlanefOES")) == NULL) || r; - r = ((glOrthofOES = (PFNGLORTHOFOESPROC)glewGetProcAddress((const GLubyte*)"glOrthofOES")) == NULL) || r; - - return r; -} - -#endif /* GL_OES_single_precision */ - -#ifdef GL_OML_interlace - -#endif /* GL_OML_interlace */ - -#ifdef GL_OML_resample - -#endif /* GL_OML_resample */ - -#ifdef GL_OML_subsample - -#endif /* GL_OML_subsample */ - -#ifdef GL_PGI_misc_hints - -#endif /* GL_PGI_misc_hints */ - -#ifdef GL_PGI_vertex_hints - -#endif /* GL_PGI_vertex_hints */ - -#ifdef GL_REND_screen_coordinates - -#endif /* GL_REND_screen_coordinates */ - -#ifdef GL_S3_s3tc - -#endif /* GL_S3_s3tc */ - -#ifdef GL_SGIS_color_range - -#endif /* GL_SGIS_color_range */ - -#ifdef GL_SGIS_detail_texture - -static GLboolean _glewInit_GL_SGIS_detail_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glDetailTexFuncSGIS = (PFNGLDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glDetailTexFuncSGIS")) == NULL) || r; - r = ((glGetDetailTexFuncSGIS = (PFNGLGETDETAILTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetDetailTexFuncSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_detail_texture */ - -#ifdef GL_SGIS_fog_function - -static GLboolean _glewInit_GL_SGIS_fog_function (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFogFuncSGIS = (PFNGLFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glFogFuncSGIS")) == NULL) || r; - r = ((glGetFogFuncSGIS = (PFNGLGETFOGFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetFogFuncSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_fog_function */ - -#ifdef GL_SGIS_generate_mipmap - -#endif /* GL_SGIS_generate_mipmap */ - -#ifdef GL_SGIS_multisample - -static GLboolean _glewInit_GL_SGIS_multisample (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glSampleMaskSGIS = (PFNGLSAMPLEMASKSGISPROC)glewGetProcAddress((const GLubyte*)"glSampleMaskSGIS")) == NULL) || r; - r = ((glSamplePatternSGIS = (PFNGLSAMPLEPATTERNSGISPROC)glewGetProcAddress((const GLubyte*)"glSamplePatternSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_multisample */ - -#ifdef GL_SGIS_pixel_texture - -#endif /* GL_SGIS_pixel_texture */ - -#ifdef GL_SGIS_point_line_texgen - -#endif /* GL_SGIS_point_line_texgen */ - -#ifdef GL_SGIS_sharpen_texture - -static GLboolean _glewInit_GL_SGIS_sharpen_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetSharpenTexFuncSGIS = (PFNGLGETSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetSharpenTexFuncSGIS")) == NULL) || r; - r = ((glSharpenTexFuncSGIS = (PFNGLSHARPENTEXFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glSharpenTexFuncSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_sharpen_texture */ - -#ifdef GL_SGIS_texture4D - -static GLboolean _glewInit_GL_SGIS_texture4D (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTexImage4DSGIS = (PFNGLTEXIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexImage4DSGIS")) == NULL) || r; - r = ((glTexSubImage4DSGIS = (PFNGLTEXSUBIMAGE4DSGISPROC)glewGetProcAddress((const GLubyte*)"glTexSubImage4DSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_texture4D */ - -#ifdef GL_SGIS_texture_border_clamp - -#endif /* GL_SGIS_texture_border_clamp */ - -#ifdef GL_SGIS_texture_edge_clamp - -#endif /* GL_SGIS_texture_edge_clamp */ - -#ifdef GL_SGIS_texture_filter4 - -static GLboolean _glewInit_GL_SGIS_texture_filter4 (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGetTexFilterFuncSGIS = (PFNGLGETTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glGetTexFilterFuncSGIS")) == NULL) || r; - r = ((glTexFilterFuncSGIS = (PFNGLTEXFILTERFUNCSGISPROC)glewGetProcAddress((const GLubyte*)"glTexFilterFuncSGIS")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIS_texture_filter4 */ - -#ifdef GL_SGIS_texture_lod - -#endif /* GL_SGIS_texture_lod */ - -#ifdef GL_SGIS_texture_select - -#endif /* GL_SGIS_texture_select */ - -#ifdef GL_SGIX_async - -static GLboolean _glewInit_GL_SGIX_async (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAsyncMarkerSGIX = (PFNGLASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glAsyncMarkerSGIX")) == NULL) || r; - r = ((glDeleteAsyncMarkersSGIX = (PFNGLDELETEASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glDeleteAsyncMarkersSGIX")) == NULL) || r; - r = ((glFinishAsyncSGIX = (PFNGLFINISHASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glFinishAsyncSGIX")) == NULL) || r; - r = ((glGenAsyncMarkersSGIX = (PFNGLGENASYNCMARKERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glGenAsyncMarkersSGIX")) == NULL) || r; - r = ((glIsAsyncMarkerSGIX = (PFNGLISASYNCMARKERSGIXPROC)glewGetProcAddress((const GLubyte*)"glIsAsyncMarkerSGIX")) == NULL) || r; - r = ((glPollAsyncSGIX = (PFNGLPOLLASYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glPollAsyncSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_async */ - -#ifdef GL_SGIX_async_histogram - -#endif /* GL_SGIX_async_histogram */ - -#ifdef GL_SGIX_async_pixel - -#endif /* GL_SGIX_async_pixel */ - -#ifdef GL_SGIX_blend_alpha_minmax - -#endif /* GL_SGIX_blend_alpha_minmax */ - -#ifdef GL_SGIX_clipmap - -#endif /* GL_SGIX_clipmap */ - -#ifdef GL_SGIX_convolution_accuracy - -#endif /* GL_SGIX_convolution_accuracy */ - -#ifdef GL_SGIX_depth_texture - -#endif /* GL_SGIX_depth_texture */ - -#ifdef GL_SGIX_flush_raster - -static GLboolean _glewInit_GL_SGIX_flush_raster (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFlushRasterSGIX = (PFNGLFLUSHRASTERSGIXPROC)glewGetProcAddress((const GLubyte*)"glFlushRasterSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_flush_raster */ - -#ifdef GL_SGIX_fog_offset - -#endif /* GL_SGIX_fog_offset */ - -#ifdef GL_SGIX_fog_texture - -static GLboolean _glewInit_GL_SGIX_fog_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTextureFogSGIX = (PFNGLTEXTUREFOGSGIXPROC)glewGetProcAddress((const GLubyte*)"glTextureFogSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_fog_texture */ - -#ifdef GL_SGIX_fragment_specular_lighting - -static GLboolean _glewInit_GL_SGIX_fragment_specular_lighting (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFragmentColorMaterialSGIX = (PFNGLFRAGMENTCOLORMATERIALSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentColorMaterialSGIX")) == NULL) || r; - r = ((glFragmentLightModelfSGIX = (PFNGLFRAGMENTLIGHTMODELFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfSGIX")) == NULL) || r; - r = ((glFragmentLightModelfvSGIX = (PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelfvSGIX")) == NULL) || r; - r = ((glFragmentLightModeliSGIX = (PFNGLFRAGMENTLIGHTMODELISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModeliSGIX")) == NULL) || r; - r = ((glFragmentLightModelivSGIX = (PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightModelivSGIX")) == NULL) || r; - r = ((glFragmentLightfSGIX = (PFNGLFRAGMENTLIGHTFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfSGIX")) == NULL) || r; - r = ((glFragmentLightfvSGIX = (PFNGLFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightfvSGIX")) == NULL) || r; - r = ((glFragmentLightiSGIX = (PFNGLFRAGMENTLIGHTISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightiSGIX")) == NULL) || r; - r = ((glFragmentLightivSGIX = (PFNGLFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentLightivSGIX")) == NULL) || r; - r = ((glFragmentMaterialfSGIX = (PFNGLFRAGMENTMATERIALFSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfSGIX")) == NULL) || r; - r = ((glFragmentMaterialfvSGIX = (PFNGLFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialfvSGIX")) == NULL) || r; - r = ((glFragmentMaterialiSGIX = (PFNGLFRAGMENTMATERIALISGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialiSGIX")) == NULL) || r; - r = ((glFragmentMaterialivSGIX = (PFNGLFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glFragmentMaterialivSGIX")) == NULL) || r; - r = ((glGetFragmentLightfvSGIX = (PFNGLGETFRAGMENTLIGHTFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightfvSGIX")) == NULL) || r; - r = ((glGetFragmentLightivSGIX = (PFNGLGETFRAGMENTLIGHTIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentLightivSGIX")) == NULL) || r; - r = ((glGetFragmentMaterialfvSGIX = (PFNGLGETFRAGMENTMATERIALFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialfvSGIX")) == NULL) || r; - r = ((glGetFragmentMaterialivSGIX = (PFNGLGETFRAGMENTMATERIALIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glGetFragmentMaterialivSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_fragment_specular_lighting */ - -#ifdef GL_SGIX_framezoom - -static GLboolean _glewInit_GL_SGIX_framezoom (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFrameZoomSGIX = (PFNGLFRAMEZOOMSGIXPROC)glewGetProcAddress((const GLubyte*)"glFrameZoomSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_framezoom */ - -#ifdef GL_SGIX_interlace - -#endif /* GL_SGIX_interlace */ - -#ifdef GL_SGIX_ir_instrument1 - -#endif /* GL_SGIX_ir_instrument1 */ - -#ifdef GL_SGIX_list_priority - -#endif /* GL_SGIX_list_priority */ - -#ifdef GL_SGIX_pixel_texture - -static GLboolean _glewInit_GL_SGIX_pixel_texture (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glPixelTexGenSGIX = (PFNGLPIXELTEXGENSGIXPROC)glewGetProcAddress((const GLubyte*)"glPixelTexGenSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_pixel_texture */ - -#ifdef GL_SGIX_pixel_texture_bits - -#endif /* GL_SGIX_pixel_texture_bits */ - -#ifdef GL_SGIX_reference_plane - -static GLboolean _glewInit_GL_SGIX_reference_plane (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glReferencePlaneSGIX = (PFNGLREFERENCEPLANESGIXPROC)glewGetProcAddress((const GLubyte*)"glReferencePlaneSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_reference_plane */ - -#ifdef GL_SGIX_resample - -#endif /* GL_SGIX_resample */ - -#ifdef GL_SGIX_shadow - -#endif /* GL_SGIX_shadow */ - -#ifdef GL_SGIX_shadow_ambient - -#endif /* GL_SGIX_shadow_ambient */ - -#ifdef GL_SGIX_sprite - -static GLboolean _glewInit_GL_SGIX_sprite (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glSpriteParameterfSGIX = (PFNGLSPRITEPARAMETERFSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfSGIX")) == NULL) || r; - r = ((glSpriteParameterfvSGIX = (PFNGLSPRITEPARAMETERFVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterfvSGIX")) == NULL) || r; - r = ((glSpriteParameteriSGIX = (PFNGLSPRITEPARAMETERISGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameteriSGIX")) == NULL) || r; - r = ((glSpriteParameterivSGIX = (PFNGLSPRITEPARAMETERIVSGIXPROC)glewGetProcAddress((const GLubyte*)"glSpriteParameterivSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_sprite */ - -#ifdef GL_SGIX_tag_sample_buffer - -static GLboolean _glewInit_GL_SGIX_tag_sample_buffer (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glTagSampleBufferSGIX = (PFNGLTAGSAMPLEBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glTagSampleBufferSGIX")) == NULL) || r; - - return r; -} - -#endif /* GL_SGIX_tag_sample_buffer */ - -#ifdef GL_SGIX_texture_add_env - -#endif /* GL_SGIX_texture_add_env */ - -#ifdef GL_SGIX_texture_coordinate_clamp - -#endif /* GL_SGIX_texture_coordinate_clamp */ - -#ifdef GL_SGIX_texture_lod_bias - -#endif /* GL_SGIX_texture_lod_bias */ - -#ifdef GL_SGIX_texture_multi_buffer - -#endif /* GL_SGIX_texture_multi_buffer */ - -#ifdef GL_SGIX_texture_range - -#endif /* GL_SGIX_texture_range */ - -#ifdef GL_SGIX_texture_scale_bias - -#endif /* GL_SGIX_texture_scale_bias */ - -#ifdef GL_SGIX_vertex_preclip - -#endif /* GL_SGIX_vertex_preclip */ - -#ifdef GL_SGIX_vertex_preclip_hint - -#endif /* GL_SGIX_vertex_preclip_hint */ - -#ifdef GL_SGIX_ycrcb - -#endif /* GL_SGIX_ycrcb */ - -#ifdef GL_SGI_color_matrix - -#endif /* GL_SGI_color_matrix */ - -#ifdef GL_SGI_color_table - -static GLboolean _glewInit_GL_SGI_color_table (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColorTableParameterfvSGI = (PFNGLCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterfvSGI")) == NULL) || r; - r = ((glColorTableParameterivSGI = (PFNGLCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableParameterivSGI")) == NULL) || r; - r = ((glColorTableSGI = (PFNGLCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glColorTableSGI")) == NULL) || r; - r = ((glCopyColorTableSGI = (PFNGLCOPYCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glCopyColorTableSGI")) == NULL) || r; - r = ((glGetColorTableParameterfvSGI = (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterfvSGI")) == NULL) || r; - r = ((glGetColorTableParameterivSGI = (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableParameterivSGI")) == NULL) || r; - r = ((glGetColorTableSGI = (PFNGLGETCOLORTABLESGIPROC)glewGetProcAddress((const GLubyte*)"glGetColorTableSGI")) == NULL) || r; - - return r; -} - -#endif /* GL_SGI_color_table */ - -#ifdef GL_SGI_texture_color_table - -#endif /* GL_SGI_texture_color_table */ - -#ifdef GL_SUNX_constant_data - -static GLboolean _glewInit_GL_SUNX_constant_data (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glFinishTextureSUNX = (PFNGLFINISHTEXTURESUNXPROC)glewGetProcAddress((const GLubyte*)"glFinishTextureSUNX")) == NULL) || r; - - return r; -} - -#endif /* GL_SUNX_constant_data */ - -#ifdef GL_SUN_convolution_border_modes - -#endif /* GL_SUN_convolution_border_modes */ - -#ifdef GL_SUN_global_alpha - -static GLboolean _glewInit_GL_SUN_global_alpha (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glGlobalAlphaFactorbSUN = (PFNGLGLOBALALPHAFACTORBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorbSUN")) == NULL) || r; - r = ((glGlobalAlphaFactordSUN = (PFNGLGLOBALALPHAFACTORDSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactordSUN")) == NULL) || r; - r = ((glGlobalAlphaFactorfSUN = (PFNGLGLOBALALPHAFACTORFSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorfSUN")) == NULL) || r; - r = ((glGlobalAlphaFactoriSUN = (PFNGLGLOBALALPHAFACTORISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoriSUN")) == NULL) || r; - r = ((glGlobalAlphaFactorsSUN = (PFNGLGLOBALALPHAFACTORSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorsSUN")) == NULL) || r; - r = ((glGlobalAlphaFactorubSUN = (PFNGLGLOBALALPHAFACTORUBSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorubSUN")) == NULL) || r; - r = ((glGlobalAlphaFactoruiSUN = (PFNGLGLOBALALPHAFACTORUISUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactoruiSUN")) == NULL) || r; - r = ((glGlobalAlphaFactorusSUN = (PFNGLGLOBALALPHAFACTORUSSUNPROC)glewGetProcAddress((const GLubyte*)"glGlobalAlphaFactorusSUN")) == NULL) || r; - - return r; -} - -#endif /* GL_SUN_global_alpha */ - -#ifdef GL_SUN_mesh_array - -#endif /* GL_SUN_mesh_array */ - -#ifdef GL_SUN_read_video_pixels - -static GLboolean _glewInit_GL_SUN_read_video_pixels (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glReadVideoPixelsSUN = (PFNGLREADVIDEOPIXELSSUNPROC)glewGetProcAddress((const GLubyte*)"glReadVideoPixelsSUN")) == NULL) || r; - - return r; -} - -#endif /* GL_SUN_read_video_pixels */ - -#ifdef GL_SUN_slice_accum - -#endif /* GL_SUN_slice_accum */ - -#ifdef GL_SUN_triangle_list - -static GLboolean _glewInit_GL_SUN_triangle_list (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glReplacementCodePointerSUN = (PFNGLREPLACEMENTCODEPOINTERSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodePointerSUN")) == NULL) || r; - r = ((glReplacementCodeubSUN = (PFNGLREPLACEMENTCODEUBSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubSUN")) == NULL) || r; - r = ((glReplacementCodeubvSUN = (PFNGLREPLACEMENTCODEUBVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeubvSUN")) == NULL) || r; - r = ((glReplacementCodeuiSUN = (PFNGLREPLACEMENTCODEUISUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiSUN")) == NULL) || r; - r = ((glReplacementCodeuivSUN = (PFNGLREPLACEMENTCODEUIVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuivSUN")) == NULL) || r; - r = ((glReplacementCodeusSUN = (PFNGLREPLACEMENTCODEUSSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusSUN")) == NULL) || r; - r = ((glReplacementCodeusvSUN = (PFNGLREPLACEMENTCODEUSVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeusvSUN")) == NULL) || r; - - return r; -} - -#endif /* GL_SUN_triangle_list */ - -#ifdef GL_SUN_vertex - -static GLboolean _glewInit_GL_SUN_vertex (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glColor3fVertex3fSUN = (PFNGLCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fSUN")) == NULL) || r; - r = ((glColor3fVertex3fvSUN = (PFNGLCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor3fVertex3fvSUN")) == NULL) || r; - r = ((glColor4fNormal3fVertex3fSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glColor4fNormal3fVertex3fvSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glColor4ubVertex2fSUN = (PFNGLCOLOR4UBVERTEX2FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fSUN")) == NULL) || r; - r = ((glColor4ubVertex2fvSUN = (PFNGLCOLOR4UBVERTEX2FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex2fvSUN")) == NULL) || r; - r = ((glColor4ubVertex3fSUN = (PFNGLCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fSUN")) == NULL) || r; - r = ((glColor4ubVertex3fvSUN = (PFNGLCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glColor4ubVertex3fvSUN")) == NULL) || r; - r = ((glNormal3fVertex3fSUN = (PFNGLNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fSUN")) == NULL) || r; - r = ((glNormal3fVertex3fvSUN = (PFNGLNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor4ubVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiColor4ubVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiColor4ubVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiTexCoord2fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiTexCoord2fVertex3fvSUN")) == NULL) || r; - r = ((glReplacementCodeuiVertex3fSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fSUN")) == NULL) || r; - r = ((glReplacementCodeuiVertex3fvSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glReplacementCodeuiVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord2fColor3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fSUN")) == NULL) || r; - r = ((glTexCoord2fColor3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor3fVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord2fColor4ubVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fSUN")) == NULL) || r; - r = ((glTexCoord2fColor4ubVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fColor4ubVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord2fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fSUN")) == NULL) || r; - r = ((glTexCoord2fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fNormal3fVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord2fVertex3fSUN = (PFNGLTEXCOORD2FVERTEX3FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fSUN")) == NULL) || r; - r = ((glTexCoord2fVertex3fvSUN = (PFNGLTEXCOORD2FVERTEX3FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord2fVertex3fvSUN")) == NULL) || r; - r = ((glTexCoord4fColor4fNormal3fVertex4fSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fSUN")) == NULL) || r; - r = ((glTexCoord4fColor4fNormal3fVertex4fvSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fColor4fNormal3fVertex4fvSUN")) == NULL) || r; - r = ((glTexCoord4fVertex4fSUN = (PFNGLTEXCOORD4FVERTEX4FSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fSUN")) == NULL) || r; - r = ((glTexCoord4fVertex4fvSUN = (PFNGLTEXCOORD4FVERTEX4FVSUNPROC)glewGetProcAddress((const GLubyte*)"glTexCoord4fVertex4fvSUN")) == NULL) || r; - - return r; -} - -#endif /* GL_SUN_vertex */ - -#ifdef GL_WIN_phong_shading - -#endif /* GL_WIN_phong_shading */ - -#ifdef GL_WIN_specular_fog - -#endif /* GL_WIN_specular_fog */ - -#ifdef GL_WIN_swap_hint - -static GLboolean _glewInit_GL_WIN_swap_hint (GLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glAddSwapHintRectWIN = (PFNGLADDSWAPHINTRECTWINPROC)glewGetProcAddress((const GLubyte*)"glAddSwapHintRectWIN")) == NULL) || r; - - return r; -} - -#endif /* GL_WIN_swap_hint */ - -/* ------------------------------------------------------------------------- */ - -/* - * Search for name in the extensions string. Use of strstr() - * is not sufficient because extension names can be prefixes of - * other extension names. Could use strtok() but the constant - * string returned by glGetString might be in read-only memory. - */ -GLboolean glewGetExtension (const char* name) -{ - GLubyte* p; - GLubyte* end; - GLuint len = _glewStrLen((const GLubyte*)name); - p = (GLubyte*)glGetString(GL_EXTENSIONS); - if (0 == p) return GL_FALSE; - end = p + _glewStrLen(p); - while (p < end) - { - GLuint n = _glewStrCLen(p, ' '); - if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; - p += n+1; - } - return GL_FALSE; -} - -/* ------------------------------------------------------------------------- */ - -#ifndef GLEW_MX -static -#endif -GLenum glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) -{ - const GLubyte* s; - GLuint dot, major, minor; - /* query opengl version */ - s = glGetString(GL_VERSION); - dot = _glewStrCLen(s, '.'); - major = dot-1; - minor = dot+1; - if (dot == 0 || s[minor] == '\0') - return GLEW_ERROR_NO_GL_VERSION; - if (s[major] == '1' && s[minor] == '0') - { - return GLEW_ERROR_GL_VERSION_10_ONLY; - } - else - { - CONST_CAST(GLEW_VERSION_1_1) = GL_TRUE; - if (s[major] >= '2') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_3) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_4) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_5) = GL_TRUE; - CONST_CAST(GLEW_VERSION_2_0) = GL_TRUE; - if (s[minor] >= '1') - { - CONST_CAST(GLEW_VERSION_2_1) = GL_TRUE; - } - } - else - { - if (s[minor] >= '5') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_3) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_4) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_5) = GL_TRUE; - CONST_CAST(GLEW_VERSION_2_0) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_1) = GL_FALSE; - } - if (s[minor] == '4') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_3) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_4) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_5) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_0) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_1) = GL_FALSE; - } - if (s[minor] == '3') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_3) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_4) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_5) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_0) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_1) = GL_FALSE; - } - if (s[minor] == '2') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLEW_VERSION_1_3) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_4) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_5) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_0) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_1) = GL_FALSE; - } - if (s[minor] < '2') - { - CONST_CAST(GLEW_VERSION_1_2) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_3) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_4) = GL_FALSE; - CONST_CAST(GLEW_VERSION_1_5) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_0) = GL_FALSE; - CONST_CAST(GLEW_VERSION_2_1) = GL_FALSE; - } - } - } - /* initialize extensions */ -#ifdef GL_VERSION_1_2 - if (glewExperimental || GLEW_VERSION_1_2) CONST_CAST(GLEW_VERSION_1_2) = !_glewInit_GL_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_1_2 */ -#ifdef GL_VERSION_1_3 - if (glewExperimental || GLEW_VERSION_1_3) CONST_CAST(GLEW_VERSION_1_3) = !_glewInit_GL_VERSION_1_3(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_1_3 */ -#ifdef GL_VERSION_1_4 - if (glewExperimental || GLEW_VERSION_1_4) CONST_CAST(GLEW_VERSION_1_4) = !_glewInit_GL_VERSION_1_4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_1_4 */ -#ifdef GL_VERSION_1_5 - if (glewExperimental || GLEW_VERSION_1_5) CONST_CAST(GLEW_VERSION_1_5) = !_glewInit_GL_VERSION_1_5(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_1_5 */ -#ifdef GL_VERSION_2_0 - if (glewExperimental || GLEW_VERSION_2_0) CONST_CAST(GLEW_VERSION_2_0) = !_glewInit_GL_VERSION_2_0(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_2_0 */ -#ifdef GL_VERSION_2_1 - if (glewExperimental || GLEW_VERSION_2_1) CONST_CAST(GLEW_VERSION_2_1) = !_glewInit_GL_VERSION_2_1(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_2_1 */ -#ifdef GL_VERSION_3_0 - if (glewExperimental || GLEW_VERSION_3_0) CONST_CAST(GLEW_VERSION_3_0) = !_glewInit_GL_VERSION_3_0(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_VERSION_3_0 */ -#ifdef GL_3DFX_multisample - CONST_CAST(GLEW_3DFX_multisample) = glewGetExtension("GL_3DFX_multisample"); -#endif /* GL_3DFX_multisample */ -#ifdef GL_3DFX_tbuffer - CONST_CAST(GLEW_3DFX_tbuffer) = glewGetExtension("GL_3DFX_tbuffer"); - if (glewExperimental || GLEW_3DFX_tbuffer) CONST_CAST(GLEW_3DFX_tbuffer) = !_glewInit_GL_3DFX_tbuffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_3DFX_tbuffer */ -#ifdef GL_3DFX_texture_compression_FXT1 - CONST_CAST(GLEW_3DFX_texture_compression_FXT1) = glewGetExtension("GL_3DFX_texture_compression_FXT1"); -#endif /* GL_3DFX_texture_compression_FXT1 */ -#ifdef GL_APPLE_client_storage - CONST_CAST(GLEW_APPLE_client_storage) = glewGetExtension("GL_APPLE_client_storage"); -#endif /* GL_APPLE_client_storage */ -#ifdef GL_APPLE_element_array - CONST_CAST(GLEW_APPLE_element_array) = glewGetExtension("GL_APPLE_element_array"); - if (glewExperimental || GLEW_APPLE_element_array) CONST_CAST(GLEW_APPLE_element_array) = !_glewInit_GL_APPLE_element_array(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_element_array */ -#ifdef GL_APPLE_fence - CONST_CAST(GLEW_APPLE_fence) = glewGetExtension("GL_APPLE_fence"); - if (glewExperimental || GLEW_APPLE_fence) CONST_CAST(GLEW_APPLE_fence) = !_glewInit_GL_APPLE_fence(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_fence */ -#ifdef GL_APPLE_float_pixels - CONST_CAST(GLEW_APPLE_float_pixels) = glewGetExtension("GL_APPLE_float_pixels"); -#endif /* GL_APPLE_float_pixels */ -#ifdef GL_APPLE_flush_buffer_range - CONST_CAST(GLEW_APPLE_flush_buffer_range) = glewGetExtension("GL_APPLE_flush_buffer_range"); - if (glewExperimental || GLEW_APPLE_flush_buffer_range) CONST_CAST(GLEW_APPLE_flush_buffer_range) = !_glewInit_GL_APPLE_flush_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_flush_buffer_range */ -#ifdef GL_APPLE_pixel_buffer - CONST_CAST(GLEW_APPLE_pixel_buffer) = glewGetExtension("GL_APPLE_pixel_buffer"); -#endif /* GL_APPLE_pixel_buffer */ -#ifdef GL_APPLE_specular_vector - CONST_CAST(GLEW_APPLE_specular_vector) = glewGetExtension("GL_APPLE_specular_vector"); -#endif /* GL_APPLE_specular_vector */ -#ifdef GL_APPLE_texture_range - CONST_CAST(GLEW_APPLE_texture_range) = glewGetExtension("GL_APPLE_texture_range"); - if (glewExperimental || GLEW_APPLE_texture_range) CONST_CAST(GLEW_APPLE_texture_range) = !_glewInit_GL_APPLE_texture_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_texture_range */ -#ifdef GL_APPLE_transform_hint - CONST_CAST(GLEW_APPLE_transform_hint) = glewGetExtension("GL_APPLE_transform_hint"); -#endif /* GL_APPLE_transform_hint */ -#ifdef GL_APPLE_vertex_array_object - CONST_CAST(GLEW_APPLE_vertex_array_object) = glewGetExtension("GL_APPLE_vertex_array_object"); - if (glewExperimental || GLEW_APPLE_vertex_array_object) CONST_CAST(GLEW_APPLE_vertex_array_object) = !_glewInit_GL_APPLE_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_vertex_array_object */ -#ifdef GL_APPLE_vertex_array_range - CONST_CAST(GLEW_APPLE_vertex_array_range) = glewGetExtension("GL_APPLE_vertex_array_range"); - if (glewExperimental || GLEW_APPLE_vertex_array_range) CONST_CAST(GLEW_APPLE_vertex_array_range) = !_glewInit_GL_APPLE_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_APPLE_vertex_array_range */ -#ifdef GL_APPLE_ycbcr_422 - CONST_CAST(GLEW_APPLE_ycbcr_422) = glewGetExtension("GL_APPLE_ycbcr_422"); -#endif /* GL_APPLE_ycbcr_422 */ -#ifdef GL_ARB_color_buffer_float - CONST_CAST(GLEW_ARB_color_buffer_float) = glewGetExtension("GL_ARB_color_buffer_float"); - if (glewExperimental || GLEW_ARB_color_buffer_float) CONST_CAST(GLEW_ARB_color_buffer_float) = !_glewInit_GL_ARB_color_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_color_buffer_float */ -#ifdef GL_ARB_depth_buffer_float - CONST_CAST(GLEW_ARB_depth_buffer_float) = glewGetExtension("GL_ARB_depth_buffer_float"); -#endif /* GL_ARB_depth_buffer_float */ -#ifdef GL_ARB_depth_texture - CONST_CAST(GLEW_ARB_depth_texture) = glewGetExtension("GL_ARB_depth_texture"); -#endif /* GL_ARB_depth_texture */ -#ifdef GL_ARB_draw_buffers - CONST_CAST(GLEW_ARB_draw_buffers) = glewGetExtension("GL_ARB_draw_buffers"); - if (glewExperimental || GLEW_ARB_draw_buffers) CONST_CAST(GLEW_ARB_draw_buffers) = !_glewInit_GL_ARB_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_draw_buffers */ -#ifdef GL_ARB_draw_instanced - CONST_CAST(GLEW_ARB_draw_instanced) = glewGetExtension("GL_ARB_draw_instanced"); - if (glewExperimental || GLEW_ARB_draw_instanced) CONST_CAST(GLEW_ARB_draw_instanced) = !_glewInit_GL_ARB_draw_instanced(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_draw_instanced */ -#ifdef GL_ARB_fragment_program - CONST_CAST(GLEW_ARB_fragment_program) = glewGetExtension("GL_ARB_fragment_program"); -#endif /* GL_ARB_fragment_program */ -#ifdef GL_ARB_fragment_program_shadow - CONST_CAST(GLEW_ARB_fragment_program_shadow) = glewGetExtension("GL_ARB_fragment_program_shadow"); -#endif /* GL_ARB_fragment_program_shadow */ -#ifdef GL_ARB_fragment_shader - CONST_CAST(GLEW_ARB_fragment_shader) = glewGetExtension("GL_ARB_fragment_shader"); -#endif /* GL_ARB_fragment_shader */ -#ifdef GL_ARB_framebuffer_object - CONST_CAST(GLEW_ARB_framebuffer_object) = glewGetExtension("GL_ARB_framebuffer_object"); - if (glewExperimental || GLEW_ARB_framebuffer_object) CONST_CAST(GLEW_ARB_framebuffer_object) = !_glewInit_GL_ARB_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_framebuffer_object */ -#ifdef GL_ARB_framebuffer_sRGB - CONST_CAST(GLEW_ARB_framebuffer_sRGB) = glewGetExtension("GL_ARB_framebuffer_sRGB"); -#endif /* GL_ARB_framebuffer_sRGB */ -#ifdef GL_ARB_geometry_shader4 - CONST_CAST(GLEW_ARB_geometry_shader4) = glewGetExtension("GL_ARB_geometry_shader4"); - if (glewExperimental || GLEW_ARB_geometry_shader4) CONST_CAST(GLEW_ARB_geometry_shader4) = !_glewInit_GL_ARB_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_geometry_shader4 */ -#ifdef GL_ARB_half_float_pixel - CONST_CAST(GLEW_ARB_half_float_pixel) = glewGetExtension("GL_ARB_half_float_pixel"); -#endif /* GL_ARB_half_float_pixel */ -#ifdef GL_ARB_half_float_vertex - CONST_CAST(GLEW_ARB_half_float_vertex) = glewGetExtension("GL_ARB_half_float_vertex"); -#endif /* GL_ARB_half_float_vertex */ -#ifdef GL_ARB_imaging - CONST_CAST(GLEW_ARB_imaging) = glewGetExtension("GL_ARB_imaging"); - if (glewExperimental || GLEW_ARB_imaging) CONST_CAST(GLEW_ARB_imaging) = !_glewInit_GL_ARB_imaging(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_imaging */ -#ifdef GL_ARB_instanced_arrays - CONST_CAST(GLEW_ARB_instanced_arrays) = glewGetExtension("GL_ARB_instanced_arrays"); - if (glewExperimental || GLEW_ARB_instanced_arrays) CONST_CAST(GLEW_ARB_instanced_arrays) = !_glewInit_GL_ARB_instanced_arrays(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_instanced_arrays */ -#ifdef GL_ARB_map_buffer_range - CONST_CAST(GLEW_ARB_map_buffer_range) = glewGetExtension("GL_ARB_map_buffer_range"); - if (glewExperimental || GLEW_ARB_map_buffer_range) CONST_CAST(GLEW_ARB_map_buffer_range) = !_glewInit_GL_ARB_map_buffer_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_map_buffer_range */ -#ifdef GL_ARB_matrix_palette - CONST_CAST(GLEW_ARB_matrix_palette) = glewGetExtension("GL_ARB_matrix_palette"); - if (glewExperimental || GLEW_ARB_matrix_palette) CONST_CAST(GLEW_ARB_matrix_palette) = !_glewInit_GL_ARB_matrix_palette(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_matrix_palette */ -#ifdef GL_ARB_multisample - CONST_CAST(GLEW_ARB_multisample) = glewGetExtension("GL_ARB_multisample"); - if (glewExperimental || GLEW_ARB_multisample) CONST_CAST(GLEW_ARB_multisample) = !_glewInit_GL_ARB_multisample(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_multisample */ -#ifdef GL_ARB_multitexture - CONST_CAST(GLEW_ARB_multitexture) = glewGetExtension("GL_ARB_multitexture"); - if (glewExperimental || GLEW_ARB_multitexture) CONST_CAST(GLEW_ARB_multitexture) = !_glewInit_GL_ARB_multitexture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_multitexture */ -#ifdef GL_ARB_occlusion_query - CONST_CAST(GLEW_ARB_occlusion_query) = glewGetExtension("GL_ARB_occlusion_query"); - if (glewExperimental || GLEW_ARB_occlusion_query) CONST_CAST(GLEW_ARB_occlusion_query) = !_glewInit_GL_ARB_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_occlusion_query */ -#ifdef GL_ARB_pixel_buffer_object - CONST_CAST(GLEW_ARB_pixel_buffer_object) = glewGetExtension("GL_ARB_pixel_buffer_object"); -#endif /* GL_ARB_pixel_buffer_object */ -#ifdef GL_ARB_point_parameters - CONST_CAST(GLEW_ARB_point_parameters) = glewGetExtension("GL_ARB_point_parameters"); - if (glewExperimental || GLEW_ARB_point_parameters) CONST_CAST(GLEW_ARB_point_parameters) = !_glewInit_GL_ARB_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_point_parameters */ -#ifdef GL_ARB_point_sprite - CONST_CAST(GLEW_ARB_point_sprite) = glewGetExtension("GL_ARB_point_sprite"); -#endif /* GL_ARB_point_sprite */ -#ifdef GL_ARB_shader_objects - CONST_CAST(GLEW_ARB_shader_objects) = glewGetExtension("GL_ARB_shader_objects"); - if (glewExperimental || GLEW_ARB_shader_objects) CONST_CAST(GLEW_ARB_shader_objects) = !_glewInit_GL_ARB_shader_objects(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_shader_objects */ -#ifdef GL_ARB_shading_language_100 - CONST_CAST(GLEW_ARB_shading_language_100) = glewGetExtension("GL_ARB_shading_language_100"); -#endif /* GL_ARB_shading_language_100 */ -#ifdef GL_ARB_shadow - CONST_CAST(GLEW_ARB_shadow) = glewGetExtension("GL_ARB_shadow"); -#endif /* GL_ARB_shadow */ -#ifdef GL_ARB_shadow_ambient - CONST_CAST(GLEW_ARB_shadow_ambient) = glewGetExtension("GL_ARB_shadow_ambient"); -#endif /* GL_ARB_shadow_ambient */ -#ifdef GL_ARB_texture_border_clamp - CONST_CAST(GLEW_ARB_texture_border_clamp) = glewGetExtension("GL_ARB_texture_border_clamp"); -#endif /* GL_ARB_texture_border_clamp */ -#ifdef GL_ARB_texture_buffer_object - CONST_CAST(GLEW_ARB_texture_buffer_object) = glewGetExtension("GL_ARB_texture_buffer_object"); - if (glewExperimental || GLEW_ARB_texture_buffer_object) CONST_CAST(GLEW_ARB_texture_buffer_object) = !_glewInit_GL_ARB_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_texture_buffer_object */ -#ifdef GL_ARB_texture_compression - CONST_CAST(GLEW_ARB_texture_compression) = glewGetExtension("GL_ARB_texture_compression"); - if (glewExperimental || GLEW_ARB_texture_compression) CONST_CAST(GLEW_ARB_texture_compression) = !_glewInit_GL_ARB_texture_compression(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_texture_compression */ -#ifdef GL_ARB_texture_compression_rgtc - CONST_CAST(GLEW_ARB_texture_compression_rgtc) = glewGetExtension("GL_ARB_texture_compression_rgtc"); -#endif /* GL_ARB_texture_compression_rgtc */ -#ifdef GL_ARB_texture_cube_map - CONST_CAST(GLEW_ARB_texture_cube_map) = glewGetExtension("GL_ARB_texture_cube_map"); -#endif /* GL_ARB_texture_cube_map */ -#ifdef GL_ARB_texture_env_add - CONST_CAST(GLEW_ARB_texture_env_add) = glewGetExtension("GL_ARB_texture_env_add"); -#endif /* GL_ARB_texture_env_add */ -#ifdef GL_ARB_texture_env_combine - CONST_CAST(GLEW_ARB_texture_env_combine) = glewGetExtension("GL_ARB_texture_env_combine"); -#endif /* GL_ARB_texture_env_combine */ -#ifdef GL_ARB_texture_env_crossbar - CONST_CAST(GLEW_ARB_texture_env_crossbar) = glewGetExtension("GL_ARB_texture_env_crossbar"); -#endif /* GL_ARB_texture_env_crossbar */ -#ifdef GL_ARB_texture_env_dot3 - CONST_CAST(GLEW_ARB_texture_env_dot3) = glewGetExtension("GL_ARB_texture_env_dot3"); -#endif /* GL_ARB_texture_env_dot3 */ -#ifdef GL_ARB_texture_float - CONST_CAST(GLEW_ARB_texture_float) = glewGetExtension("GL_ARB_texture_float"); -#endif /* GL_ARB_texture_float */ -#ifdef GL_ARB_texture_mirrored_repeat - CONST_CAST(GLEW_ARB_texture_mirrored_repeat) = glewGetExtension("GL_ARB_texture_mirrored_repeat"); -#endif /* GL_ARB_texture_mirrored_repeat */ -#ifdef GL_ARB_texture_non_power_of_two - CONST_CAST(GLEW_ARB_texture_non_power_of_two) = glewGetExtension("GL_ARB_texture_non_power_of_two"); -#endif /* GL_ARB_texture_non_power_of_two */ -#ifdef GL_ARB_texture_rectangle - CONST_CAST(GLEW_ARB_texture_rectangle) = glewGetExtension("GL_ARB_texture_rectangle"); -#endif /* GL_ARB_texture_rectangle */ -#ifdef GL_ARB_texture_rg - CONST_CAST(GLEW_ARB_texture_rg) = glewGetExtension("GL_ARB_texture_rg"); -#endif /* GL_ARB_texture_rg */ -#ifdef GL_ARB_transpose_matrix - CONST_CAST(GLEW_ARB_transpose_matrix) = glewGetExtension("GL_ARB_transpose_matrix"); - if (glewExperimental || GLEW_ARB_transpose_matrix) CONST_CAST(GLEW_ARB_transpose_matrix) = !_glewInit_GL_ARB_transpose_matrix(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_transpose_matrix */ -#ifdef GL_ARB_vertex_array_object - CONST_CAST(GLEW_ARB_vertex_array_object) = glewGetExtension("GL_ARB_vertex_array_object"); - if (glewExperimental || GLEW_ARB_vertex_array_object) CONST_CAST(GLEW_ARB_vertex_array_object) = !_glewInit_GL_ARB_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_vertex_array_object */ -#ifdef GL_ARB_vertex_blend - CONST_CAST(GLEW_ARB_vertex_blend) = glewGetExtension("GL_ARB_vertex_blend"); - if (glewExperimental || GLEW_ARB_vertex_blend) CONST_CAST(GLEW_ARB_vertex_blend) = !_glewInit_GL_ARB_vertex_blend(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_vertex_blend */ -#ifdef GL_ARB_vertex_buffer_object - CONST_CAST(GLEW_ARB_vertex_buffer_object) = glewGetExtension("GL_ARB_vertex_buffer_object"); - if (glewExperimental || GLEW_ARB_vertex_buffer_object) CONST_CAST(GLEW_ARB_vertex_buffer_object) = !_glewInit_GL_ARB_vertex_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_vertex_buffer_object */ -#ifdef GL_ARB_vertex_program - CONST_CAST(GLEW_ARB_vertex_program) = glewGetExtension("GL_ARB_vertex_program"); - if (glewExperimental || GLEW_ARB_vertex_program) CONST_CAST(GLEW_ARB_vertex_program) = !_glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_vertex_program */ -#ifdef GL_ARB_vertex_shader - CONST_CAST(GLEW_ARB_vertex_shader) = glewGetExtension("GL_ARB_vertex_shader"); - if (glewExperimental || GLEW_ARB_vertex_shader) CONST_CAST(GLEW_ARB_vertex_shader) = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_vertex_shader */ -#ifdef GL_ARB_window_pos - CONST_CAST(GLEW_ARB_window_pos) = glewGetExtension("GL_ARB_window_pos"); - if (glewExperimental || GLEW_ARB_window_pos) CONST_CAST(GLEW_ARB_window_pos) = !_glewInit_GL_ARB_window_pos(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ARB_window_pos */ -#ifdef GL_ATIX_point_sprites - CONST_CAST(GLEW_ATIX_point_sprites) = glewGetExtension("GL_ATIX_point_sprites"); -#endif /* GL_ATIX_point_sprites */ -#ifdef GL_ATIX_texture_env_combine3 - CONST_CAST(GLEW_ATIX_texture_env_combine3) = glewGetExtension("GL_ATIX_texture_env_combine3"); -#endif /* GL_ATIX_texture_env_combine3 */ -#ifdef GL_ATIX_texture_env_route - CONST_CAST(GLEW_ATIX_texture_env_route) = glewGetExtension("GL_ATIX_texture_env_route"); -#endif /* GL_ATIX_texture_env_route */ -#ifdef GL_ATIX_vertex_shader_output_point_size - CONST_CAST(GLEW_ATIX_vertex_shader_output_point_size) = glewGetExtension("GL_ATIX_vertex_shader_output_point_size"); -#endif /* GL_ATIX_vertex_shader_output_point_size */ -#ifdef GL_ATI_draw_buffers - CONST_CAST(GLEW_ATI_draw_buffers) = glewGetExtension("GL_ATI_draw_buffers"); - if (glewExperimental || GLEW_ATI_draw_buffers) CONST_CAST(GLEW_ATI_draw_buffers) = !_glewInit_GL_ATI_draw_buffers(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_draw_buffers */ -#ifdef GL_ATI_element_array - CONST_CAST(GLEW_ATI_element_array) = glewGetExtension("GL_ATI_element_array"); - if (glewExperimental || GLEW_ATI_element_array) CONST_CAST(GLEW_ATI_element_array) = !_glewInit_GL_ATI_element_array(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_element_array */ -#ifdef GL_ATI_envmap_bumpmap - CONST_CAST(GLEW_ATI_envmap_bumpmap) = glewGetExtension("GL_ATI_envmap_bumpmap"); - if (glewExperimental || GLEW_ATI_envmap_bumpmap) CONST_CAST(GLEW_ATI_envmap_bumpmap) = !_glewInit_GL_ATI_envmap_bumpmap(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_envmap_bumpmap */ -#ifdef GL_ATI_fragment_shader - CONST_CAST(GLEW_ATI_fragment_shader) = glewGetExtension("GL_ATI_fragment_shader"); - if (glewExperimental || GLEW_ATI_fragment_shader) CONST_CAST(GLEW_ATI_fragment_shader) = !_glewInit_GL_ATI_fragment_shader(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_fragment_shader */ -#ifdef GL_ATI_map_object_buffer - CONST_CAST(GLEW_ATI_map_object_buffer) = glewGetExtension("GL_ATI_map_object_buffer"); - if (glewExperimental || GLEW_ATI_map_object_buffer) CONST_CAST(GLEW_ATI_map_object_buffer) = !_glewInit_GL_ATI_map_object_buffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_map_object_buffer */ -#ifdef GL_ATI_pn_triangles - CONST_CAST(GLEW_ATI_pn_triangles) = glewGetExtension("GL_ATI_pn_triangles"); - if (glewExperimental || GLEW_ATI_pn_triangles) CONST_CAST(GLEW_ATI_pn_triangles) = !_glewInit_GL_ATI_pn_triangles(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_pn_triangles */ -#ifdef GL_ATI_separate_stencil - CONST_CAST(GLEW_ATI_separate_stencil) = glewGetExtension("GL_ATI_separate_stencil"); - if (glewExperimental || GLEW_ATI_separate_stencil) CONST_CAST(GLEW_ATI_separate_stencil) = !_glewInit_GL_ATI_separate_stencil(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_separate_stencil */ -#ifdef GL_ATI_shader_texture_lod - CONST_CAST(GLEW_ATI_shader_texture_lod) = glewGetExtension("GL_ATI_shader_texture_lod"); -#endif /* GL_ATI_shader_texture_lod */ -#ifdef GL_ATI_text_fragment_shader - CONST_CAST(GLEW_ATI_text_fragment_shader) = glewGetExtension("GL_ATI_text_fragment_shader"); -#endif /* GL_ATI_text_fragment_shader */ -#ifdef GL_ATI_texture_compression_3dc - CONST_CAST(GLEW_ATI_texture_compression_3dc) = glewGetExtension("GL_ATI_texture_compression_3dc"); -#endif /* GL_ATI_texture_compression_3dc */ -#ifdef GL_ATI_texture_env_combine3 - CONST_CAST(GLEW_ATI_texture_env_combine3) = glewGetExtension("GL_ATI_texture_env_combine3"); -#endif /* GL_ATI_texture_env_combine3 */ -#ifdef GL_ATI_texture_float - CONST_CAST(GLEW_ATI_texture_float) = glewGetExtension("GL_ATI_texture_float"); -#endif /* GL_ATI_texture_float */ -#ifdef GL_ATI_texture_mirror_once - CONST_CAST(GLEW_ATI_texture_mirror_once) = glewGetExtension("GL_ATI_texture_mirror_once"); -#endif /* GL_ATI_texture_mirror_once */ -#ifdef GL_ATI_vertex_array_object - CONST_CAST(GLEW_ATI_vertex_array_object) = glewGetExtension("GL_ATI_vertex_array_object"); - if (glewExperimental || GLEW_ATI_vertex_array_object) CONST_CAST(GLEW_ATI_vertex_array_object) = !_glewInit_GL_ATI_vertex_array_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_vertex_array_object */ -#ifdef GL_ATI_vertex_attrib_array_object - CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = glewGetExtension("GL_ATI_vertex_attrib_array_object"); - if (glewExperimental || GLEW_ATI_vertex_attrib_array_object) CONST_CAST(GLEW_ATI_vertex_attrib_array_object) = !_glewInit_GL_ATI_vertex_attrib_array_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_vertex_attrib_array_object */ -#ifdef GL_ATI_vertex_streams - CONST_CAST(GLEW_ATI_vertex_streams) = glewGetExtension("GL_ATI_vertex_streams"); - if (glewExperimental || GLEW_ATI_vertex_streams) CONST_CAST(GLEW_ATI_vertex_streams) = !_glewInit_GL_ATI_vertex_streams(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_ATI_vertex_streams */ -#ifdef GL_EXT_422_pixels - CONST_CAST(GLEW_EXT_422_pixels) = glewGetExtension("GL_EXT_422_pixels"); -#endif /* GL_EXT_422_pixels */ -#ifdef GL_EXT_Cg_shader - CONST_CAST(GLEW_EXT_Cg_shader) = glewGetExtension("GL_EXT_Cg_shader"); -#endif /* GL_EXT_Cg_shader */ -#ifdef GL_EXT_abgr - CONST_CAST(GLEW_EXT_abgr) = glewGetExtension("GL_EXT_abgr"); -#endif /* GL_EXT_abgr */ -#ifdef GL_EXT_bgra - CONST_CAST(GLEW_EXT_bgra) = glewGetExtension("GL_EXT_bgra"); -#endif /* GL_EXT_bgra */ -#ifdef GL_EXT_bindable_uniform - CONST_CAST(GLEW_EXT_bindable_uniform) = glewGetExtension("GL_EXT_bindable_uniform"); - if (glewExperimental || GLEW_EXT_bindable_uniform) CONST_CAST(GLEW_EXT_bindable_uniform) = !_glewInit_GL_EXT_bindable_uniform(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_bindable_uniform */ -#ifdef GL_EXT_blend_color - CONST_CAST(GLEW_EXT_blend_color) = glewGetExtension("GL_EXT_blend_color"); - if (glewExperimental || GLEW_EXT_blend_color) CONST_CAST(GLEW_EXT_blend_color) = !_glewInit_GL_EXT_blend_color(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_blend_color */ -#ifdef GL_EXT_blend_equation_separate - CONST_CAST(GLEW_EXT_blend_equation_separate) = glewGetExtension("GL_EXT_blend_equation_separate"); - if (glewExperimental || GLEW_EXT_blend_equation_separate) CONST_CAST(GLEW_EXT_blend_equation_separate) = !_glewInit_GL_EXT_blend_equation_separate(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_blend_equation_separate */ -#ifdef GL_EXT_blend_func_separate - CONST_CAST(GLEW_EXT_blend_func_separate) = glewGetExtension("GL_EXT_blend_func_separate"); - if (glewExperimental || GLEW_EXT_blend_func_separate) CONST_CAST(GLEW_EXT_blend_func_separate) = !_glewInit_GL_EXT_blend_func_separate(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_blend_func_separate */ -#ifdef GL_EXT_blend_logic_op - CONST_CAST(GLEW_EXT_blend_logic_op) = glewGetExtension("GL_EXT_blend_logic_op"); -#endif /* GL_EXT_blend_logic_op */ -#ifdef GL_EXT_blend_minmax - CONST_CAST(GLEW_EXT_blend_minmax) = glewGetExtension("GL_EXT_blend_minmax"); - if (glewExperimental || GLEW_EXT_blend_minmax) CONST_CAST(GLEW_EXT_blend_minmax) = !_glewInit_GL_EXT_blend_minmax(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_blend_minmax */ -#ifdef GL_EXT_blend_subtract - CONST_CAST(GLEW_EXT_blend_subtract) = glewGetExtension("GL_EXT_blend_subtract"); -#endif /* GL_EXT_blend_subtract */ -#ifdef GL_EXT_clip_volume_hint - CONST_CAST(GLEW_EXT_clip_volume_hint) = glewGetExtension("GL_EXT_clip_volume_hint"); -#endif /* GL_EXT_clip_volume_hint */ -#ifdef GL_EXT_cmyka - CONST_CAST(GLEW_EXT_cmyka) = glewGetExtension("GL_EXT_cmyka"); -#endif /* GL_EXT_cmyka */ -#ifdef GL_EXT_color_subtable - CONST_CAST(GLEW_EXT_color_subtable) = glewGetExtension("GL_EXT_color_subtable"); - if (glewExperimental || GLEW_EXT_color_subtable) CONST_CAST(GLEW_EXT_color_subtable) = !_glewInit_GL_EXT_color_subtable(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_color_subtable */ -#ifdef GL_EXT_compiled_vertex_array - CONST_CAST(GLEW_EXT_compiled_vertex_array) = glewGetExtension("GL_EXT_compiled_vertex_array"); - if (glewExperimental || GLEW_EXT_compiled_vertex_array) CONST_CAST(GLEW_EXT_compiled_vertex_array) = !_glewInit_GL_EXT_compiled_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_compiled_vertex_array */ -#ifdef GL_EXT_convolution - CONST_CAST(GLEW_EXT_convolution) = glewGetExtension("GL_EXT_convolution"); - if (glewExperimental || GLEW_EXT_convolution) CONST_CAST(GLEW_EXT_convolution) = !_glewInit_GL_EXT_convolution(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_convolution */ -#ifdef GL_EXT_coordinate_frame - CONST_CAST(GLEW_EXT_coordinate_frame) = glewGetExtension("GL_EXT_coordinate_frame"); - if (glewExperimental || GLEW_EXT_coordinate_frame) CONST_CAST(GLEW_EXT_coordinate_frame) = !_glewInit_GL_EXT_coordinate_frame(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_coordinate_frame */ -#ifdef GL_EXT_copy_texture - CONST_CAST(GLEW_EXT_copy_texture) = glewGetExtension("GL_EXT_copy_texture"); - if (glewExperimental || GLEW_EXT_copy_texture) CONST_CAST(GLEW_EXT_copy_texture) = !_glewInit_GL_EXT_copy_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_copy_texture */ -#ifdef GL_EXT_cull_vertex - CONST_CAST(GLEW_EXT_cull_vertex) = glewGetExtension("GL_EXT_cull_vertex"); - if (glewExperimental || GLEW_EXT_cull_vertex) CONST_CAST(GLEW_EXT_cull_vertex) = !_glewInit_GL_EXT_cull_vertex(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_cull_vertex */ -#ifdef GL_EXT_depth_bounds_test - CONST_CAST(GLEW_EXT_depth_bounds_test) = glewGetExtension("GL_EXT_depth_bounds_test"); - if (glewExperimental || GLEW_EXT_depth_bounds_test) CONST_CAST(GLEW_EXT_depth_bounds_test) = !_glewInit_GL_EXT_depth_bounds_test(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_depth_bounds_test */ -#ifdef GL_EXT_direct_state_access - CONST_CAST(GLEW_EXT_direct_state_access) = glewGetExtension("GL_EXT_direct_state_access"); - if (glewExperimental || GLEW_EXT_direct_state_access) CONST_CAST(GLEW_EXT_direct_state_access) = !_glewInit_GL_EXT_direct_state_access(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_direct_state_access */ -#ifdef GL_EXT_draw_buffers2 - CONST_CAST(GLEW_EXT_draw_buffers2) = glewGetExtension("GL_EXT_draw_buffers2"); - if (glewExperimental || GLEW_EXT_draw_buffers2) CONST_CAST(GLEW_EXT_draw_buffers2) = !_glewInit_GL_EXT_draw_buffers2(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_draw_buffers2 */ -#ifdef GL_EXT_draw_instanced - CONST_CAST(GLEW_EXT_draw_instanced) = glewGetExtension("GL_EXT_draw_instanced"); - if (glewExperimental || GLEW_EXT_draw_instanced) CONST_CAST(GLEW_EXT_draw_instanced) = !_glewInit_GL_EXT_draw_instanced(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_draw_instanced */ -#ifdef GL_EXT_draw_range_elements - CONST_CAST(GLEW_EXT_draw_range_elements) = glewGetExtension("GL_EXT_draw_range_elements"); - if (glewExperimental || GLEW_EXT_draw_range_elements) CONST_CAST(GLEW_EXT_draw_range_elements) = !_glewInit_GL_EXT_draw_range_elements(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_draw_range_elements */ -#ifdef GL_EXT_fog_coord - CONST_CAST(GLEW_EXT_fog_coord) = glewGetExtension("GL_EXT_fog_coord"); - if (glewExperimental || GLEW_EXT_fog_coord) CONST_CAST(GLEW_EXT_fog_coord) = !_glewInit_GL_EXT_fog_coord(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_fog_coord */ -#ifdef GL_EXT_fragment_lighting - CONST_CAST(GLEW_EXT_fragment_lighting) = glewGetExtension("GL_EXT_fragment_lighting"); - if (glewExperimental || GLEW_EXT_fragment_lighting) CONST_CAST(GLEW_EXT_fragment_lighting) = !_glewInit_GL_EXT_fragment_lighting(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_fragment_lighting */ -#ifdef GL_EXT_framebuffer_blit - CONST_CAST(GLEW_EXT_framebuffer_blit) = glewGetExtension("GL_EXT_framebuffer_blit"); - if (glewExperimental || GLEW_EXT_framebuffer_blit) CONST_CAST(GLEW_EXT_framebuffer_blit) = !_glewInit_GL_EXT_framebuffer_blit(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_framebuffer_blit */ -#ifdef GL_EXT_framebuffer_multisample - CONST_CAST(GLEW_EXT_framebuffer_multisample) = glewGetExtension("GL_EXT_framebuffer_multisample"); - if (glewExperimental || GLEW_EXT_framebuffer_multisample) CONST_CAST(GLEW_EXT_framebuffer_multisample) = !_glewInit_GL_EXT_framebuffer_multisample(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_framebuffer_multisample */ -#ifdef GL_EXT_framebuffer_object - CONST_CAST(GLEW_EXT_framebuffer_object) = glewGetExtension("GL_EXT_framebuffer_object"); - if (glewExperimental || GLEW_EXT_framebuffer_object) CONST_CAST(GLEW_EXT_framebuffer_object) = !_glewInit_GL_EXT_framebuffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_framebuffer_object */ -#ifdef GL_EXT_framebuffer_sRGB - CONST_CAST(GLEW_EXT_framebuffer_sRGB) = glewGetExtension("GL_EXT_framebuffer_sRGB"); -#endif /* GL_EXT_framebuffer_sRGB */ -#ifdef GL_EXT_geometry_shader4 - CONST_CAST(GLEW_EXT_geometry_shader4) = glewGetExtension("GL_EXT_geometry_shader4"); - if (glewExperimental || GLEW_EXT_geometry_shader4) CONST_CAST(GLEW_EXT_geometry_shader4) = !_glewInit_GL_EXT_geometry_shader4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_geometry_shader4 */ -#ifdef GL_EXT_gpu_program_parameters - CONST_CAST(GLEW_EXT_gpu_program_parameters) = glewGetExtension("GL_EXT_gpu_program_parameters"); - if (glewExperimental || GLEW_EXT_gpu_program_parameters) CONST_CAST(GLEW_EXT_gpu_program_parameters) = !_glewInit_GL_EXT_gpu_program_parameters(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_gpu_program_parameters */ -#ifdef GL_EXT_gpu_shader4 - CONST_CAST(GLEW_EXT_gpu_shader4) = glewGetExtension("GL_EXT_gpu_shader4"); - if (glewExperimental || GLEW_EXT_gpu_shader4) CONST_CAST(GLEW_EXT_gpu_shader4) = !_glewInit_GL_EXT_gpu_shader4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_gpu_shader4 */ -#ifdef GL_EXT_histogram - CONST_CAST(GLEW_EXT_histogram) = glewGetExtension("GL_EXT_histogram"); - if (glewExperimental || GLEW_EXT_histogram) CONST_CAST(GLEW_EXT_histogram) = !_glewInit_GL_EXT_histogram(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_histogram */ -#ifdef GL_EXT_index_array_formats - CONST_CAST(GLEW_EXT_index_array_formats) = glewGetExtension("GL_EXT_index_array_formats"); -#endif /* GL_EXT_index_array_formats */ -#ifdef GL_EXT_index_func - CONST_CAST(GLEW_EXT_index_func) = glewGetExtension("GL_EXT_index_func"); - if (glewExperimental || GLEW_EXT_index_func) CONST_CAST(GLEW_EXT_index_func) = !_glewInit_GL_EXT_index_func(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_index_func */ -#ifdef GL_EXT_index_material - CONST_CAST(GLEW_EXT_index_material) = glewGetExtension("GL_EXT_index_material"); - if (glewExperimental || GLEW_EXT_index_material) CONST_CAST(GLEW_EXT_index_material) = !_glewInit_GL_EXT_index_material(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_index_material */ -#ifdef GL_EXT_index_texture - CONST_CAST(GLEW_EXT_index_texture) = glewGetExtension("GL_EXT_index_texture"); -#endif /* GL_EXT_index_texture */ -#ifdef GL_EXT_light_texture - CONST_CAST(GLEW_EXT_light_texture) = glewGetExtension("GL_EXT_light_texture"); - if (glewExperimental || GLEW_EXT_light_texture) CONST_CAST(GLEW_EXT_light_texture) = !_glewInit_GL_EXT_light_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_light_texture */ -#ifdef GL_EXT_misc_attribute - CONST_CAST(GLEW_EXT_misc_attribute) = glewGetExtension("GL_EXT_misc_attribute"); -#endif /* GL_EXT_misc_attribute */ -#ifdef GL_EXT_multi_draw_arrays - CONST_CAST(GLEW_EXT_multi_draw_arrays) = glewGetExtension("GL_EXT_multi_draw_arrays"); - if (glewExperimental || GLEW_EXT_multi_draw_arrays) CONST_CAST(GLEW_EXT_multi_draw_arrays) = !_glewInit_GL_EXT_multi_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_multi_draw_arrays */ -#ifdef GL_EXT_multisample - CONST_CAST(GLEW_EXT_multisample) = glewGetExtension("GL_EXT_multisample"); - if (glewExperimental || GLEW_EXT_multisample) CONST_CAST(GLEW_EXT_multisample) = !_glewInit_GL_EXT_multisample(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_multisample */ -#ifdef GL_EXT_packed_depth_stencil - CONST_CAST(GLEW_EXT_packed_depth_stencil) = glewGetExtension("GL_EXT_packed_depth_stencil"); -#endif /* GL_EXT_packed_depth_stencil */ -#ifdef GL_EXT_packed_float - CONST_CAST(GLEW_EXT_packed_float) = glewGetExtension("GL_EXT_packed_float"); -#endif /* GL_EXT_packed_float */ -#ifdef GL_EXT_packed_pixels - CONST_CAST(GLEW_EXT_packed_pixels) = glewGetExtension("GL_EXT_packed_pixels"); -#endif /* GL_EXT_packed_pixels */ -#ifdef GL_EXT_paletted_texture - CONST_CAST(GLEW_EXT_paletted_texture) = glewGetExtension("GL_EXT_paletted_texture"); - if (glewExperimental || GLEW_EXT_paletted_texture) CONST_CAST(GLEW_EXT_paletted_texture) = !_glewInit_GL_EXT_paletted_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_paletted_texture */ -#ifdef GL_EXT_pixel_buffer_object - CONST_CAST(GLEW_EXT_pixel_buffer_object) = glewGetExtension("GL_EXT_pixel_buffer_object"); -#endif /* GL_EXT_pixel_buffer_object */ -#ifdef GL_EXT_pixel_transform - CONST_CAST(GLEW_EXT_pixel_transform) = glewGetExtension("GL_EXT_pixel_transform"); - if (glewExperimental || GLEW_EXT_pixel_transform) CONST_CAST(GLEW_EXT_pixel_transform) = !_glewInit_GL_EXT_pixel_transform(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_pixel_transform */ -#ifdef GL_EXT_pixel_transform_color_table - CONST_CAST(GLEW_EXT_pixel_transform_color_table) = glewGetExtension("GL_EXT_pixel_transform_color_table"); -#endif /* GL_EXT_pixel_transform_color_table */ -#ifdef GL_EXT_point_parameters - CONST_CAST(GLEW_EXT_point_parameters) = glewGetExtension("GL_EXT_point_parameters"); - if (glewExperimental || GLEW_EXT_point_parameters) CONST_CAST(GLEW_EXT_point_parameters) = !_glewInit_GL_EXT_point_parameters(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_point_parameters */ -#ifdef GL_EXT_polygon_offset - CONST_CAST(GLEW_EXT_polygon_offset) = glewGetExtension("GL_EXT_polygon_offset"); - if (glewExperimental || GLEW_EXT_polygon_offset) CONST_CAST(GLEW_EXT_polygon_offset) = !_glewInit_GL_EXT_polygon_offset(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_polygon_offset */ -#ifdef GL_EXT_rescale_normal - CONST_CAST(GLEW_EXT_rescale_normal) = glewGetExtension("GL_EXT_rescale_normal"); -#endif /* GL_EXT_rescale_normal */ -#ifdef GL_EXT_scene_marker - CONST_CAST(GLEW_EXT_scene_marker) = glewGetExtension("GL_EXT_scene_marker"); - if (glewExperimental || GLEW_EXT_scene_marker) CONST_CAST(GLEW_EXT_scene_marker) = !_glewInit_GL_EXT_scene_marker(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_scene_marker */ -#ifdef GL_EXT_secondary_color - CONST_CAST(GLEW_EXT_secondary_color) = glewGetExtension("GL_EXT_secondary_color"); - if (glewExperimental || GLEW_EXT_secondary_color) CONST_CAST(GLEW_EXT_secondary_color) = !_glewInit_GL_EXT_secondary_color(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_secondary_color */ -#ifdef GL_EXT_separate_specular_color - CONST_CAST(GLEW_EXT_separate_specular_color) = glewGetExtension("GL_EXT_separate_specular_color"); -#endif /* GL_EXT_separate_specular_color */ -#ifdef GL_EXT_shadow_funcs - CONST_CAST(GLEW_EXT_shadow_funcs) = glewGetExtension("GL_EXT_shadow_funcs"); -#endif /* GL_EXT_shadow_funcs */ -#ifdef GL_EXT_shared_texture_palette - CONST_CAST(GLEW_EXT_shared_texture_palette) = glewGetExtension("GL_EXT_shared_texture_palette"); -#endif /* GL_EXT_shared_texture_palette */ -#ifdef GL_EXT_stencil_clear_tag - CONST_CAST(GLEW_EXT_stencil_clear_tag) = glewGetExtension("GL_EXT_stencil_clear_tag"); -#endif /* GL_EXT_stencil_clear_tag */ -#ifdef GL_EXT_stencil_two_side - CONST_CAST(GLEW_EXT_stencil_two_side) = glewGetExtension("GL_EXT_stencil_two_side"); - if (glewExperimental || GLEW_EXT_stencil_two_side) CONST_CAST(GLEW_EXT_stencil_two_side) = !_glewInit_GL_EXT_stencil_two_side(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_stencil_two_side */ -#ifdef GL_EXT_stencil_wrap - CONST_CAST(GLEW_EXT_stencil_wrap) = glewGetExtension("GL_EXT_stencil_wrap"); -#endif /* GL_EXT_stencil_wrap */ -#ifdef GL_EXT_subtexture - CONST_CAST(GLEW_EXT_subtexture) = glewGetExtension("GL_EXT_subtexture"); - if (glewExperimental || GLEW_EXT_subtexture) CONST_CAST(GLEW_EXT_subtexture) = !_glewInit_GL_EXT_subtexture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_subtexture */ -#ifdef GL_EXT_texture - CONST_CAST(GLEW_EXT_texture) = glewGetExtension("GL_EXT_texture"); -#endif /* GL_EXT_texture */ -#ifdef GL_EXT_texture3D - CONST_CAST(GLEW_EXT_texture3D) = glewGetExtension("GL_EXT_texture3D"); - if (glewExperimental || GLEW_EXT_texture3D) CONST_CAST(GLEW_EXT_texture3D) = !_glewInit_GL_EXT_texture3D(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_texture3D */ -#ifdef GL_EXT_texture_array - CONST_CAST(GLEW_EXT_texture_array) = glewGetExtension("GL_EXT_texture_array"); -#endif /* GL_EXT_texture_array */ -#ifdef GL_EXT_texture_buffer_object - CONST_CAST(GLEW_EXT_texture_buffer_object) = glewGetExtension("GL_EXT_texture_buffer_object"); - if (glewExperimental || GLEW_EXT_texture_buffer_object) CONST_CAST(GLEW_EXT_texture_buffer_object) = !_glewInit_GL_EXT_texture_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_texture_buffer_object */ -#ifdef GL_EXT_texture_compression_dxt1 - CONST_CAST(GLEW_EXT_texture_compression_dxt1) = glewGetExtension("GL_EXT_texture_compression_dxt1"); -#endif /* GL_EXT_texture_compression_dxt1 */ -#ifdef GL_EXT_texture_compression_latc - CONST_CAST(GLEW_EXT_texture_compression_latc) = glewGetExtension("GL_EXT_texture_compression_latc"); -#endif /* GL_EXT_texture_compression_latc */ -#ifdef GL_EXT_texture_compression_rgtc - CONST_CAST(GLEW_EXT_texture_compression_rgtc) = glewGetExtension("GL_EXT_texture_compression_rgtc"); -#endif /* GL_EXT_texture_compression_rgtc */ -#ifdef GL_EXT_texture_compression_s3tc - CONST_CAST(GLEW_EXT_texture_compression_s3tc) = glewGetExtension("GL_EXT_texture_compression_s3tc"); -#endif /* GL_EXT_texture_compression_s3tc */ -#ifdef GL_EXT_texture_cube_map - CONST_CAST(GLEW_EXT_texture_cube_map) = glewGetExtension("GL_EXT_texture_cube_map"); -#endif /* GL_EXT_texture_cube_map */ -#ifdef GL_EXT_texture_edge_clamp - CONST_CAST(GLEW_EXT_texture_edge_clamp) = glewGetExtension("GL_EXT_texture_edge_clamp"); -#endif /* GL_EXT_texture_edge_clamp */ -#ifdef GL_EXT_texture_env - CONST_CAST(GLEW_EXT_texture_env) = glewGetExtension("GL_EXT_texture_env"); -#endif /* GL_EXT_texture_env */ -#ifdef GL_EXT_texture_env_add - CONST_CAST(GLEW_EXT_texture_env_add) = glewGetExtension("GL_EXT_texture_env_add"); -#endif /* GL_EXT_texture_env_add */ -#ifdef GL_EXT_texture_env_combine - CONST_CAST(GLEW_EXT_texture_env_combine) = glewGetExtension("GL_EXT_texture_env_combine"); -#endif /* GL_EXT_texture_env_combine */ -#ifdef GL_EXT_texture_env_dot3 - CONST_CAST(GLEW_EXT_texture_env_dot3) = glewGetExtension("GL_EXT_texture_env_dot3"); -#endif /* GL_EXT_texture_env_dot3 */ -#ifdef GL_EXT_texture_filter_anisotropic - CONST_CAST(GLEW_EXT_texture_filter_anisotropic) = glewGetExtension("GL_EXT_texture_filter_anisotropic"); -#endif /* GL_EXT_texture_filter_anisotropic */ -#ifdef GL_EXT_texture_integer - CONST_CAST(GLEW_EXT_texture_integer) = glewGetExtension("GL_EXT_texture_integer"); - if (glewExperimental || GLEW_EXT_texture_integer) CONST_CAST(GLEW_EXT_texture_integer) = !_glewInit_GL_EXT_texture_integer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_texture_integer */ -#ifdef GL_EXT_texture_lod_bias - CONST_CAST(GLEW_EXT_texture_lod_bias) = glewGetExtension("GL_EXT_texture_lod_bias"); -#endif /* GL_EXT_texture_lod_bias */ -#ifdef GL_EXT_texture_mirror_clamp - CONST_CAST(GLEW_EXT_texture_mirror_clamp) = glewGetExtension("GL_EXT_texture_mirror_clamp"); -#endif /* GL_EXT_texture_mirror_clamp */ -#ifdef GL_EXT_texture_object - CONST_CAST(GLEW_EXT_texture_object) = glewGetExtension("GL_EXT_texture_object"); - if (glewExperimental || GLEW_EXT_texture_object) CONST_CAST(GLEW_EXT_texture_object) = !_glewInit_GL_EXT_texture_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_texture_object */ -#ifdef GL_EXT_texture_perturb_normal - CONST_CAST(GLEW_EXT_texture_perturb_normal) = glewGetExtension("GL_EXT_texture_perturb_normal"); - if (glewExperimental || GLEW_EXT_texture_perturb_normal) CONST_CAST(GLEW_EXT_texture_perturb_normal) = !_glewInit_GL_EXT_texture_perturb_normal(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_texture_perturb_normal */ -#ifdef GL_EXT_texture_rectangle - CONST_CAST(GLEW_EXT_texture_rectangle) = glewGetExtension("GL_EXT_texture_rectangle"); -#endif /* GL_EXT_texture_rectangle */ -#ifdef GL_EXT_texture_sRGB - CONST_CAST(GLEW_EXT_texture_sRGB) = glewGetExtension("GL_EXT_texture_sRGB"); -#endif /* GL_EXT_texture_sRGB */ -#ifdef GL_EXT_texture_shared_exponent - CONST_CAST(GLEW_EXT_texture_shared_exponent) = glewGetExtension("GL_EXT_texture_shared_exponent"); -#endif /* GL_EXT_texture_shared_exponent */ -#ifdef GL_EXT_texture_swizzle - CONST_CAST(GLEW_EXT_texture_swizzle) = glewGetExtension("GL_EXT_texture_swizzle"); -#endif /* GL_EXT_texture_swizzle */ -#ifdef GL_EXT_timer_query - CONST_CAST(GLEW_EXT_timer_query) = glewGetExtension("GL_EXT_timer_query"); - if (glewExperimental || GLEW_EXT_timer_query) CONST_CAST(GLEW_EXT_timer_query) = !_glewInit_GL_EXT_timer_query(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_timer_query */ -#ifdef GL_EXT_transform_feedback - CONST_CAST(GLEW_EXT_transform_feedback) = glewGetExtension("GL_EXT_transform_feedback"); - if (glewExperimental || GLEW_EXT_transform_feedback) CONST_CAST(GLEW_EXT_transform_feedback) = !_glewInit_GL_EXT_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_transform_feedback */ -#ifdef GL_EXT_vertex_array - CONST_CAST(GLEW_EXT_vertex_array) = glewGetExtension("GL_EXT_vertex_array"); - if (glewExperimental || GLEW_EXT_vertex_array) CONST_CAST(GLEW_EXT_vertex_array) = !_glewInit_GL_EXT_vertex_array(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_vertex_array */ -#ifdef GL_EXT_vertex_array_bgra - CONST_CAST(GLEW_EXT_vertex_array_bgra) = glewGetExtension("GL_EXT_vertex_array_bgra"); -#endif /* GL_EXT_vertex_array_bgra */ -#ifdef GL_EXT_vertex_shader - CONST_CAST(GLEW_EXT_vertex_shader) = glewGetExtension("GL_EXT_vertex_shader"); - if (glewExperimental || GLEW_EXT_vertex_shader) CONST_CAST(GLEW_EXT_vertex_shader) = !_glewInit_GL_EXT_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_vertex_shader */ -#ifdef GL_EXT_vertex_weighting - CONST_CAST(GLEW_EXT_vertex_weighting) = glewGetExtension("GL_EXT_vertex_weighting"); - if (glewExperimental || GLEW_EXT_vertex_weighting) CONST_CAST(GLEW_EXT_vertex_weighting) = !_glewInit_GL_EXT_vertex_weighting(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_EXT_vertex_weighting */ -#ifdef GL_GREMEDY_frame_terminator - CONST_CAST(GLEW_GREMEDY_frame_terminator) = glewGetExtension("GL_GREMEDY_frame_terminator"); - if (glewExperimental || GLEW_GREMEDY_frame_terminator) CONST_CAST(GLEW_GREMEDY_frame_terminator) = !_glewInit_GL_GREMEDY_frame_terminator(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_GREMEDY_frame_terminator */ -#ifdef GL_GREMEDY_string_marker - CONST_CAST(GLEW_GREMEDY_string_marker) = glewGetExtension("GL_GREMEDY_string_marker"); - if (glewExperimental || GLEW_GREMEDY_string_marker) CONST_CAST(GLEW_GREMEDY_string_marker) = !_glewInit_GL_GREMEDY_string_marker(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_GREMEDY_string_marker */ -#ifdef GL_HP_convolution_border_modes - CONST_CAST(GLEW_HP_convolution_border_modes) = glewGetExtension("GL_HP_convolution_border_modes"); -#endif /* GL_HP_convolution_border_modes */ -#ifdef GL_HP_image_transform - CONST_CAST(GLEW_HP_image_transform) = glewGetExtension("GL_HP_image_transform"); - if (glewExperimental || GLEW_HP_image_transform) CONST_CAST(GLEW_HP_image_transform) = !_glewInit_GL_HP_image_transform(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_HP_image_transform */ -#ifdef GL_HP_occlusion_test - CONST_CAST(GLEW_HP_occlusion_test) = glewGetExtension("GL_HP_occlusion_test"); -#endif /* GL_HP_occlusion_test */ -#ifdef GL_HP_texture_lighting - CONST_CAST(GLEW_HP_texture_lighting) = glewGetExtension("GL_HP_texture_lighting"); -#endif /* GL_HP_texture_lighting */ -#ifdef GL_IBM_cull_vertex - CONST_CAST(GLEW_IBM_cull_vertex) = glewGetExtension("GL_IBM_cull_vertex"); -#endif /* GL_IBM_cull_vertex */ -#ifdef GL_IBM_multimode_draw_arrays - CONST_CAST(GLEW_IBM_multimode_draw_arrays) = glewGetExtension("GL_IBM_multimode_draw_arrays"); - if (glewExperimental || GLEW_IBM_multimode_draw_arrays) CONST_CAST(GLEW_IBM_multimode_draw_arrays) = !_glewInit_GL_IBM_multimode_draw_arrays(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_IBM_multimode_draw_arrays */ -#ifdef GL_IBM_rasterpos_clip - CONST_CAST(GLEW_IBM_rasterpos_clip) = glewGetExtension("GL_IBM_rasterpos_clip"); -#endif /* GL_IBM_rasterpos_clip */ -#ifdef GL_IBM_static_data - CONST_CAST(GLEW_IBM_static_data) = glewGetExtension("GL_IBM_static_data"); -#endif /* GL_IBM_static_data */ -#ifdef GL_IBM_texture_mirrored_repeat - CONST_CAST(GLEW_IBM_texture_mirrored_repeat) = glewGetExtension("GL_IBM_texture_mirrored_repeat"); -#endif /* GL_IBM_texture_mirrored_repeat */ -#ifdef GL_IBM_vertex_array_lists - CONST_CAST(GLEW_IBM_vertex_array_lists) = glewGetExtension("GL_IBM_vertex_array_lists"); - if (glewExperimental || GLEW_IBM_vertex_array_lists) CONST_CAST(GLEW_IBM_vertex_array_lists) = !_glewInit_GL_IBM_vertex_array_lists(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_IBM_vertex_array_lists */ -#ifdef GL_INGR_color_clamp - CONST_CAST(GLEW_INGR_color_clamp) = glewGetExtension("GL_INGR_color_clamp"); -#endif /* GL_INGR_color_clamp */ -#ifdef GL_INGR_interlace_read - CONST_CAST(GLEW_INGR_interlace_read) = glewGetExtension("GL_INGR_interlace_read"); -#endif /* GL_INGR_interlace_read */ -#ifdef GL_INTEL_parallel_arrays - CONST_CAST(GLEW_INTEL_parallel_arrays) = glewGetExtension("GL_INTEL_parallel_arrays"); - if (glewExperimental || GLEW_INTEL_parallel_arrays) CONST_CAST(GLEW_INTEL_parallel_arrays) = !_glewInit_GL_INTEL_parallel_arrays(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_INTEL_parallel_arrays */ -#ifdef GL_INTEL_texture_scissor - CONST_CAST(GLEW_INTEL_texture_scissor) = glewGetExtension("GL_INTEL_texture_scissor"); - if (glewExperimental || GLEW_INTEL_texture_scissor) CONST_CAST(GLEW_INTEL_texture_scissor) = !_glewInit_GL_INTEL_texture_scissor(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_INTEL_texture_scissor */ -#ifdef GL_KTX_buffer_region - CONST_CAST(GLEW_KTX_buffer_region) = glewGetExtension("GL_KTX_buffer_region"); - if (glewExperimental || GLEW_KTX_buffer_region) CONST_CAST(GLEW_KTX_buffer_region) = !_glewInit_GL_KTX_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_KTX_buffer_region */ -#ifdef GL_MESAX_texture_stack - CONST_CAST(GLEW_MESAX_texture_stack) = glewGetExtension("GL_MESAX_texture_stack"); -#endif /* GL_MESAX_texture_stack */ -#ifdef GL_MESA_pack_invert - CONST_CAST(GLEW_MESA_pack_invert) = glewGetExtension("GL_MESA_pack_invert"); -#endif /* GL_MESA_pack_invert */ -#ifdef GL_MESA_resize_buffers - CONST_CAST(GLEW_MESA_resize_buffers) = glewGetExtension("GL_MESA_resize_buffers"); - if (glewExperimental || GLEW_MESA_resize_buffers) CONST_CAST(GLEW_MESA_resize_buffers) = !_glewInit_GL_MESA_resize_buffers(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_MESA_resize_buffers */ -#ifdef GL_MESA_window_pos - CONST_CAST(GLEW_MESA_window_pos) = glewGetExtension("GL_MESA_window_pos"); - if (glewExperimental || GLEW_MESA_window_pos) CONST_CAST(GLEW_MESA_window_pos) = !_glewInit_GL_MESA_window_pos(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_MESA_window_pos */ -#ifdef GL_MESA_ycbcr_texture - CONST_CAST(GLEW_MESA_ycbcr_texture) = glewGetExtension("GL_MESA_ycbcr_texture"); -#endif /* GL_MESA_ycbcr_texture */ -#ifdef GL_NV_blend_square - CONST_CAST(GLEW_NV_blend_square) = glewGetExtension("GL_NV_blend_square"); -#endif /* GL_NV_blend_square */ -#ifdef GL_NV_conditional_render - CONST_CAST(GLEW_NV_conditional_render) = glewGetExtension("GL_NV_conditional_render"); - if (glewExperimental || GLEW_NV_conditional_render) CONST_CAST(GLEW_NV_conditional_render) = !_glewInit_GL_NV_conditional_render(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_conditional_render */ -#ifdef GL_NV_copy_depth_to_color - CONST_CAST(GLEW_NV_copy_depth_to_color) = glewGetExtension("GL_NV_copy_depth_to_color"); -#endif /* GL_NV_copy_depth_to_color */ -#ifdef GL_NV_depth_buffer_float - CONST_CAST(GLEW_NV_depth_buffer_float) = glewGetExtension("GL_NV_depth_buffer_float"); - if (glewExperimental || GLEW_NV_depth_buffer_float) CONST_CAST(GLEW_NV_depth_buffer_float) = !_glewInit_GL_NV_depth_buffer_float(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_depth_buffer_float */ -#ifdef GL_NV_depth_clamp - CONST_CAST(GLEW_NV_depth_clamp) = glewGetExtension("GL_NV_depth_clamp"); -#endif /* GL_NV_depth_clamp */ -#ifdef GL_NV_depth_range_unclamped - CONST_CAST(GLEW_NV_depth_range_unclamped) = glewGetExtension("GL_NV_depth_range_unclamped"); -#endif /* GL_NV_depth_range_unclamped */ -#ifdef GL_NV_evaluators - CONST_CAST(GLEW_NV_evaluators) = glewGetExtension("GL_NV_evaluators"); - if (glewExperimental || GLEW_NV_evaluators) CONST_CAST(GLEW_NV_evaluators) = !_glewInit_GL_NV_evaluators(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_evaluators */ -#ifdef GL_NV_explicit_multisample - CONST_CAST(GLEW_NV_explicit_multisample) = glewGetExtension("GL_NV_explicit_multisample"); - if (glewExperimental || GLEW_NV_explicit_multisample) CONST_CAST(GLEW_NV_explicit_multisample) = !_glewInit_GL_NV_explicit_multisample(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_explicit_multisample */ -#ifdef GL_NV_fence - CONST_CAST(GLEW_NV_fence) = glewGetExtension("GL_NV_fence"); - if (glewExperimental || GLEW_NV_fence) CONST_CAST(GLEW_NV_fence) = !_glewInit_GL_NV_fence(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_fence */ -#ifdef GL_NV_float_buffer - CONST_CAST(GLEW_NV_float_buffer) = glewGetExtension("GL_NV_float_buffer"); -#endif /* GL_NV_float_buffer */ -#ifdef GL_NV_fog_distance - CONST_CAST(GLEW_NV_fog_distance) = glewGetExtension("GL_NV_fog_distance"); -#endif /* GL_NV_fog_distance */ -#ifdef GL_NV_fragment_program - CONST_CAST(GLEW_NV_fragment_program) = glewGetExtension("GL_NV_fragment_program"); - if (glewExperimental || GLEW_NV_fragment_program) CONST_CAST(GLEW_NV_fragment_program) = !_glewInit_GL_NV_fragment_program(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_fragment_program */ -#ifdef GL_NV_fragment_program2 - CONST_CAST(GLEW_NV_fragment_program2) = glewGetExtension("GL_NV_fragment_program2"); -#endif /* GL_NV_fragment_program2 */ -#ifdef GL_NV_fragment_program4 - CONST_CAST(GLEW_NV_fragment_program4) = glewGetExtension("GL_NV_fragment_program4"); -#endif /* GL_NV_fragment_program4 */ -#ifdef GL_NV_fragment_program_option - CONST_CAST(GLEW_NV_fragment_program_option) = glewGetExtension("GL_NV_fragment_program_option"); -#endif /* GL_NV_fragment_program_option */ -#ifdef GL_NV_framebuffer_multisample_coverage - CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = glewGetExtension("GL_NV_framebuffer_multisample_coverage"); - if (glewExperimental || GLEW_NV_framebuffer_multisample_coverage) CONST_CAST(GLEW_NV_framebuffer_multisample_coverage) = !_glewInit_GL_NV_framebuffer_multisample_coverage(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_framebuffer_multisample_coverage */ -#ifdef GL_NV_geometry_program4 - CONST_CAST(GLEW_NV_geometry_program4) = glewGetExtension("GL_NV_geometry_program4"); - if (glewExperimental || GLEW_NV_geometry_program4) CONST_CAST(GLEW_NV_geometry_program4) = !_glewInit_GL_NV_geometry_program4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_geometry_program4 */ -#ifdef GL_NV_geometry_shader4 - CONST_CAST(GLEW_NV_geometry_shader4) = glewGetExtension("GL_NV_geometry_shader4"); -#endif /* GL_NV_geometry_shader4 */ -#ifdef GL_NV_gpu_program4 - CONST_CAST(GLEW_NV_gpu_program4) = glewGetExtension("GL_NV_gpu_program4"); - if (glewExperimental || GLEW_NV_gpu_program4) CONST_CAST(GLEW_NV_gpu_program4) = !_glewInit_GL_NV_gpu_program4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_gpu_program4 */ -#ifdef GL_NV_half_float - CONST_CAST(GLEW_NV_half_float) = glewGetExtension("GL_NV_half_float"); - if (glewExperimental || GLEW_NV_half_float) CONST_CAST(GLEW_NV_half_float) = !_glewInit_GL_NV_half_float(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_half_float */ -#ifdef GL_NV_light_max_exponent - CONST_CAST(GLEW_NV_light_max_exponent) = glewGetExtension("GL_NV_light_max_exponent"); -#endif /* GL_NV_light_max_exponent */ -#ifdef GL_NV_multisample_filter_hint - CONST_CAST(GLEW_NV_multisample_filter_hint) = glewGetExtension("GL_NV_multisample_filter_hint"); -#endif /* GL_NV_multisample_filter_hint */ -#ifdef GL_NV_occlusion_query - CONST_CAST(GLEW_NV_occlusion_query) = glewGetExtension("GL_NV_occlusion_query"); - if (glewExperimental || GLEW_NV_occlusion_query) CONST_CAST(GLEW_NV_occlusion_query) = !_glewInit_GL_NV_occlusion_query(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_occlusion_query */ -#ifdef GL_NV_packed_depth_stencil - CONST_CAST(GLEW_NV_packed_depth_stencil) = glewGetExtension("GL_NV_packed_depth_stencil"); -#endif /* GL_NV_packed_depth_stencil */ -#ifdef GL_NV_parameter_buffer_object - CONST_CAST(GLEW_NV_parameter_buffer_object) = glewGetExtension("GL_NV_parameter_buffer_object"); - if (glewExperimental || GLEW_NV_parameter_buffer_object) CONST_CAST(GLEW_NV_parameter_buffer_object) = !_glewInit_GL_NV_parameter_buffer_object(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_parameter_buffer_object */ -#ifdef GL_NV_pixel_data_range - CONST_CAST(GLEW_NV_pixel_data_range) = glewGetExtension("GL_NV_pixel_data_range"); - if (glewExperimental || GLEW_NV_pixel_data_range) CONST_CAST(GLEW_NV_pixel_data_range) = !_glewInit_GL_NV_pixel_data_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_pixel_data_range */ -#ifdef GL_NV_point_sprite - CONST_CAST(GLEW_NV_point_sprite) = glewGetExtension("GL_NV_point_sprite"); - if (glewExperimental || GLEW_NV_point_sprite) CONST_CAST(GLEW_NV_point_sprite) = !_glewInit_GL_NV_point_sprite(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_point_sprite */ -#ifdef GL_NV_present_video - CONST_CAST(GLEW_NV_present_video) = glewGetExtension("GL_NV_present_video"); - if (glewExperimental || GLEW_NV_present_video) CONST_CAST(GLEW_NV_present_video) = !_glewInit_GL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_present_video */ -#ifdef GL_NV_primitive_restart - CONST_CAST(GLEW_NV_primitive_restart) = glewGetExtension("GL_NV_primitive_restart"); - if (glewExperimental || GLEW_NV_primitive_restart) CONST_CAST(GLEW_NV_primitive_restart) = !_glewInit_GL_NV_primitive_restart(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_primitive_restart */ -#ifdef GL_NV_register_combiners - CONST_CAST(GLEW_NV_register_combiners) = glewGetExtension("GL_NV_register_combiners"); - if (glewExperimental || GLEW_NV_register_combiners) CONST_CAST(GLEW_NV_register_combiners) = !_glewInit_GL_NV_register_combiners(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_register_combiners */ -#ifdef GL_NV_register_combiners2 - CONST_CAST(GLEW_NV_register_combiners2) = glewGetExtension("GL_NV_register_combiners2"); - if (glewExperimental || GLEW_NV_register_combiners2) CONST_CAST(GLEW_NV_register_combiners2) = !_glewInit_GL_NV_register_combiners2(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_register_combiners2 */ -#ifdef GL_NV_texgen_emboss - CONST_CAST(GLEW_NV_texgen_emboss) = glewGetExtension("GL_NV_texgen_emboss"); -#endif /* GL_NV_texgen_emboss */ -#ifdef GL_NV_texgen_reflection - CONST_CAST(GLEW_NV_texgen_reflection) = glewGetExtension("GL_NV_texgen_reflection"); -#endif /* GL_NV_texgen_reflection */ -#ifdef GL_NV_texture_compression_vtc - CONST_CAST(GLEW_NV_texture_compression_vtc) = glewGetExtension("GL_NV_texture_compression_vtc"); -#endif /* GL_NV_texture_compression_vtc */ -#ifdef GL_NV_texture_env_combine4 - CONST_CAST(GLEW_NV_texture_env_combine4) = glewGetExtension("GL_NV_texture_env_combine4"); -#endif /* GL_NV_texture_env_combine4 */ -#ifdef GL_NV_texture_expand_normal - CONST_CAST(GLEW_NV_texture_expand_normal) = glewGetExtension("GL_NV_texture_expand_normal"); -#endif /* GL_NV_texture_expand_normal */ -#ifdef GL_NV_texture_rectangle - CONST_CAST(GLEW_NV_texture_rectangle) = glewGetExtension("GL_NV_texture_rectangle"); -#endif /* GL_NV_texture_rectangle */ -#ifdef GL_NV_texture_shader - CONST_CAST(GLEW_NV_texture_shader) = glewGetExtension("GL_NV_texture_shader"); -#endif /* GL_NV_texture_shader */ -#ifdef GL_NV_texture_shader2 - CONST_CAST(GLEW_NV_texture_shader2) = glewGetExtension("GL_NV_texture_shader2"); -#endif /* GL_NV_texture_shader2 */ -#ifdef GL_NV_texture_shader3 - CONST_CAST(GLEW_NV_texture_shader3) = glewGetExtension("GL_NV_texture_shader3"); -#endif /* GL_NV_texture_shader3 */ -#ifdef GL_NV_transform_feedback - CONST_CAST(GLEW_NV_transform_feedback) = glewGetExtension("GL_NV_transform_feedback"); - if (glewExperimental || GLEW_NV_transform_feedback) CONST_CAST(GLEW_NV_transform_feedback) = !_glewInit_GL_NV_transform_feedback(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_transform_feedback */ -#ifdef GL_NV_vertex_array_range - CONST_CAST(GLEW_NV_vertex_array_range) = glewGetExtension("GL_NV_vertex_array_range"); - if (glewExperimental || GLEW_NV_vertex_array_range) CONST_CAST(GLEW_NV_vertex_array_range) = !_glewInit_GL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_vertex_array_range */ -#ifdef GL_NV_vertex_array_range2 - CONST_CAST(GLEW_NV_vertex_array_range2) = glewGetExtension("GL_NV_vertex_array_range2"); -#endif /* GL_NV_vertex_array_range2 */ -#ifdef GL_NV_vertex_program - CONST_CAST(GLEW_NV_vertex_program) = glewGetExtension("GL_NV_vertex_program"); - if (glewExperimental || GLEW_NV_vertex_program) CONST_CAST(GLEW_NV_vertex_program) = !_glewInit_GL_NV_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_NV_vertex_program */ -#ifdef GL_NV_vertex_program1_1 - CONST_CAST(GLEW_NV_vertex_program1_1) = glewGetExtension("GL_NV_vertex_program1_1"); -#endif /* GL_NV_vertex_program1_1 */ -#ifdef GL_NV_vertex_program2 - CONST_CAST(GLEW_NV_vertex_program2) = glewGetExtension("GL_NV_vertex_program2"); -#endif /* GL_NV_vertex_program2 */ -#ifdef GL_NV_vertex_program2_option - CONST_CAST(GLEW_NV_vertex_program2_option) = glewGetExtension("GL_NV_vertex_program2_option"); -#endif /* GL_NV_vertex_program2_option */ -#ifdef GL_NV_vertex_program3 - CONST_CAST(GLEW_NV_vertex_program3) = glewGetExtension("GL_NV_vertex_program3"); -#endif /* GL_NV_vertex_program3 */ -#ifdef GL_NV_vertex_program4 - CONST_CAST(GLEW_NV_vertex_program4) = glewGetExtension("GL_NV_vertex_program4"); -#endif /* GL_NV_vertex_program4 */ -#ifdef GL_OES_byte_coordinates - CONST_CAST(GLEW_OES_byte_coordinates) = glewGetExtension("GL_OES_byte_coordinates"); -#endif /* GL_OES_byte_coordinates */ -#ifdef GL_OES_compressed_paletted_texture - CONST_CAST(GLEW_OES_compressed_paletted_texture) = glewGetExtension("GL_OES_compressed_paletted_texture"); -#endif /* GL_OES_compressed_paletted_texture */ -#ifdef GL_OES_read_format - CONST_CAST(GLEW_OES_read_format) = glewGetExtension("GL_OES_read_format"); -#endif /* GL_OES_read_format */ -#ifdef GL_OES_single_precision - CONST_CAST(GLEW_OES_single_precision) = glewGetExtension("GL_OES_single_precision"); - if (glewExperimental || GLEW_OES_single_precision) CONST_CAST(GLEW_OES_single_precision) = !_glewInit_GL_OES_single_precision(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_OES_single_precision */ -#ifdef GL_OML_interlace - CONST_CAST(GLEW_OML_interlace) = glewGetExtension("GL_OML_interlace"); -#endif /* GL_OML_interlace */ -#ifdef GL_OML_resample - CONST_CAST(GLEW_OML_resample) = glewGetExtension("GL_OML_resample"); -#endif /* GL_OML_resample */ -#ifdef GL_OML_subsample - CONST_CAST(GLEW_OML_subsample) = glewGetExtension("GL_OML_subsample"); -#endif /* GL_OML_subsample */ -#ifdef GL_PGI_misc_hints - CONST_CAST(GLEW_PGI_misc_hints) = glewGetExtension("GL_PGI_misc_hints"); -#endif /* GL_PGI_misc_hints */ -#ifdef GL_PGI_vertex_hints - CONST_CAST(GLEW_PGI_vertex_hints) = glewGetExtension("GL_PGI_vertex_hints"); -#endif /* GL_PGI_vertex_hints */ -#ifdef GL_REND_screen_coordinates - CONST_CAST(GLEW_REND_screen_coordinates) = glewGetExtension("GL_REND_screen_coordinates"); -#endif /* GL_REND_screen_coordinates */ -#ifdef GL_S3_s3tc - CONST_CAST(GLEW_S3_s3tc) = glewGetExtension("GL_S3_s3tc"); -#endif /* GL_S3_s3tc */ -#ifdef GL_SGIS_color_range - CONST_CAST(GLEW_SGIS_color_range) = glewGetExtension("GL_SGIS_color_range"); -#endif /* GL_SGIS_color_range */ -#ifdef GL_SGIS_detail_texture - CONST_CAST(GLEW_SGIS_detail_texture) = glewGetExtension("GL_SGIS_detail_texture"); - if (glewExperimental || GLEW_SGIS_detail_texture) CONST_CAST(GLEW_SGIS_detail_texture) = !_glewInit_GL_SGIS_detail_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_detail_texture */ -#ifdef GL_SGIS_fog_function - CONST_CAST(GLEW_SGIS_fog_function) = glewGetExtension("GL_SGIS_fog_function"); - if (glewExperimental || GLEW_SGIS_fog_function) CONST_CAST(GLEW_SGIS_fog_function) = !_glewInit_GL_SGIS_fog_function(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_fog_function */ -#ifdef GL_SGIS_generate_mipmap - CONST_CAST(GLEW_SGIS_generate_mipmap) = glewGetExtension("GL_SGIS_generate_mipmap"); -#endif /* GL_SGIS_generate_mipmap */ -#ifdef GL_SGIS_multisample - CONST_CAST(GLEW_SGIS_multisample) = glewGetExtension("GL_SGIS_multisample"); - if (glewExperimental || GLEW_SGIS_multisample) CONST_CAST(GLEW_SGIS_multisample) = !_glewInit_GL_SGIS_multisample(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_multisample */ -#ifdef GL_SGIS_pixel_texture - CONST_CAST(GLEW_SGIS_pixel_texture) = glewGetExtension("GL_SGIS_pixel_texture"); -#endif /* GL_SGIS_pixel_texture */ -#ifdef GL_SGIS_point_line_texgen - CONST_CAST(GLEW_SGIS_point_line_texgen) = glewGetExtension("GL_SGIS_point_line_texgen"); -#endif /* GL_SGIS_point_line_texgen */ -#ifdef GL_SGIS_sharpen_texture - CONST_CAST(GLEW_SGIS_sharpen_texture) = glewGetExtension("GL_SGIS_sharpen_texture"); - if (glewExperimental || GLEW_SGIS_sharpen_texture) CONST_CAST(GLEW_SGIS_sharpen_texture) = !_glewInit_GL_SGIS_sharpen_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_sharpen_texture */ -#ifdef GL_SGIS_texture4D - CONST_CAST(GLEW_SGIS_texture4D) = glewGetExtension("GL_SGIS_texture4D"); - if (glewExperimental || GLEW_SGIS_texture4D) CONST_CAST(GLEW_SGIS_texture4D) = !_glewInit_GL_SGIS_texture4D(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_texture4D */ -#ifdef GL_SGIS_texture_border_clamp - CONST_CAST(GLEW_SGIS_texture_border_clamp) = glewGetExtension("GL_SGIS_texture_border_clamp"); -#endif /* GL_SGIS_texture_border_clamp */ -#ifdef GL_SGIS_texture_edge_clamp - CONST_CAST(GLEW_SGIS_texture_edge_clamp) = glewGetExtension("GL_SGIS_texture_edge_clamp"); -#endif /* GL_SGIS_texture_edge_clamp */ -#ifdef GL_SGIS_texture_filter4 - CONST_CAST(GLEW_SGIS_texture_filter4) = glewGetExtension("GL_SGIS_texture_filter4"); - if (glewExperimental || GLEW_SGIS_texture_filter4) CONST_CAST(GLEW_SGIS_texture_filter4) = !_glewInit_GL_SGIS_texture_filter4(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIS_texture_filter4 */ -#ifdef GL_SGIS_texture_lod - CONST_CAST(GLEW_SGIS_texture_lod) = glewGetExtension("GL_SGIS_texture_lod"); -#endif /* GL_SGIS_texture_lod */ -#ifdef GL_SGIS_texture_select - CONST_CAST(GLEW_SGIS_texture_select) = glewGetExtension("GL_SGIS_texture_select"); -#endif /* GL_SGIS_texture_select */ -#ifdef GL_SGIX_async - CONST_CAST(GLEW_SGIX_async) = glewGetExtension("GL_SGIX_async"); - if (glewExperimental || GLEW_SGIX_async) CONST_CAST(GLEW_SGIX_async) = !_glewInit_GL_SGIX_async(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_async */ -#ifdef GL_SGIX_async_histogram - CONST_CAST(GLEW_SGIX_async_histogram) = glewGetExtension("GL_SGIX_async_histogram"); -#endif /* GL_SGIX_async_histogram */ -#ifdef GL_SGIX_async_pixel - CONST_CAST(GLEW_SGIX_async_pixel) = glewGetExtension("GL_SGIX_async_pixel"); -#endif /* GL_SGIX_async_pixel */ -#ifdef GL_SGIX_blend_alpha_minmax - CONST_CAST(GLEW_SGIX_blend_alpha_minmax) = glewGetExtension("GL_SGIX_blend_alpha_minmax"); -#endif /* GL_SGIX_blend_alpha_minmax */ -#ifdef GL_SGIX_clipmap - CONST_CAST(GLEW_SGIX_clipmap) = glewGetExtension("GL_SGIX_clipmap"); -#endif /* GL_SGIX_clipmap */ -#ifdef GL_SGIX_convolution_accuracy - CONST_CAST(GLEW_SGIX_convolution_accuracy) = glewGetExtension("GL_SGIX_convolution_accuracy"); -#endif /* GL_SGIX_convolution_accuracy */ -#ifdef GL_SGIX_depth_texture - CONST_CAST(GLEW_SGIX_depth_texture) = glewGetExtension("GL_SGIX_depth_texture"); -#endif /* GL_SGIX_depth_texture */ -#ifdef GL_SGIX_flush_raster - CONST_CAST(GLEW_SGIX_flush_raster) = glewGetExtension("GL_SGIX_flush_raster"); - if (glewExperimental || GLEW_SGIX_flush_raster) CONST_CAST(GLEW_SGIX_flush_raster) = !_glewInit_GL_SGIX_flush_raster(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_flush_raster */ -#ifdef GL_SGIX_fog_offset - CONST_CAST(GLEW_SGIX_fog_offset) = glewGetExtension("GL_SGIX_fog_offset"); -#endif /* GL_SGIX_fog_offset */ -#ifdef GL_SGIX_fog_texture - CONST_CAST(GLEW_SGIX_fog_texture) = glewGetExtension("GL_SGIX_fog_texture"); - if (glewExperimental || GLEW_SGIX_fog_texture) CONST_CAST(GLEW_SGIX_fog_texture) = !_glewInit_GL_SGIX_fog_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_fog_texture */ -#ifdef GL_SGIX_fragment_specular_lighting - CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = glewGetExtension("GL_SGIX_fragment_specular_lighting"); - if (glewExperimental || GLEW_SGIX_fragment_specular_lighting) CONST_CAST(GLEW_SGIX_fragment_specular_lighting) = !_glewInit_GL_SGIX_fragment_specular_lighting(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_fragment_specular_lighting */ -#ifdef GL_SGIX_framezoom - CONST_CAST(GLEW_SGIX_framezoom) = glewGetExtension("GL_SGIX_framezoom"); - if (glewExperimental || GLEW_SGIX_framezoom) CONST_CAST(GLEW_SGIX_framezoom) = !_glewInit_GL_SGIX_framezoom(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_framezoom */ -#ifdef GL_SGIX_interlace - CONST_CAST(GLEW_SGIX_interlace) = glewGetExtension("GL_SGIX_interlace"); -#endif /* GL_SGIX_interlace */ -#ifdef GL_SGIX_ir_instrument1 - CONST_CAST(GLEW_SGIX_ir_instrument1) = glewGetExtension("GL_SGIX_ir_instrument1"); -#endif /* GL_SGIX_ir_instrument1 */ -#ifdef GL_SGIX_list_priority - CONST_CAST(GLEW_SGIX_list_priority) = glewGetExtension("GL_SGIX_list_priority"); -#endif /* GL_SGIX_list_priority */ -#ifdef GL_SGIX_pixel_texture - CONST_CAST(GLEW_SGIX_pixel_texture) = glewGetExtension("GL_SGIX_pixel_texture"); - if (glewExperimental || GLEW_SGIX_pixel_texture) CONST_CAST(GLEW_SGIX_pixel_texture) = !_glewInit_GL_SGIX_pixel_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_pixel_texture */ -#ifdef GL_SGIX_pixel_texture_bits - CONST_CAST(GLEW_SGIX_pixel_texture_bits) = glewGetExtension("GL_SGIX_pixel_texture_bits"); -#endif /* GL_SGIX_pixel_texture_bits */ -#ifdef GL_SGIX_reference_plane - CONST_CAST(GLEW_SGIX_reference_plane) = glewGetExtension("GL_SGIX_reference_plane"); - if (glewExperimental || GLEW_SGIX_reference_plane) CONST_CAST(GLEW_SGIX_reference_plane) = !_glewInit_GL_SGIX_reference_plane(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_reference_plane */ -#ifdef GL_SGIX_resample - CONST_CAST(GLEW_SGIX_resample) = glewGetExtension("GL_SGIX_resample"); -#endif /* GL_SGIX_resample */ -#ifdef GL_SGIX_shadow - CONST_CAST(GLEW_SGIX_shadow) = glewGetExtension("GL_SGIX_shadow"); -#endif /* GL_SGIX_shadow */ -#ifdef GL_SGIX_shadow_ambient - CONST_CAST(GLEW_SGIX_shadow_ambient) = glewGetExtension("GL_SGIX_shadow_ambient"); -#endif /* GL_SGIX_shadow_ambient */ -#ifdef GL_SGIX_sprite - CONST_CAST(GLEW_SGIX_sprite) = glewGetExtension("GL_SGIX_sprite"); - if (glewExperimental || GLEW_SGIX_sprite) CONST_CAST(GLEW_SGIX_sprite) = !_glewInit_GL_SGIX_sprite(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_sprite */ -#ifdef GL_SGIX_tag_sample_buffer - CONST_CAST(GLEW_SGIX_tag_sample_buffer) = glewGetExtension("GL_SGIX_tag_sample_buffer"); - if (glewExperimental || GLEW_SGIX_tag_sample_buffer) CONST_CAST(GLEW_SGIX_tag_sample_buffer) = !_glewInit_GL_SGIX_tag_sample_buffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGIX_tag_sample_buffer */ -#ifdef GL_SGIX_texture_add_env - CONST_CAST(GLEW_SGIX_texture_add_env) = glewGetExtension("GL_SGIX_texture_add_env"); -#endif /* GL_SGIX_texture_add_env */ -#ifdef GL_SGIX_texture_coordinate_clamp - CONST_CAST(GLEW_SGIX_texture_coordinate_clamp) = glewGetExtension("GL_SGIX_texture_coordinate_clamp"); -#endif /* GL_SGIX_texture_coordinate_clamp */ -#ifdef GL_SGIX_texture_lod_bias - CONST_CAST(GLEW_SGIX_texture_lod_bias) = glewGetExtension("GL_SGIX_texture_lod_bias"); -#endif /* GL_SGIX_texture_lod_bias */ -#ifdef GL_SGIX_texture_multi_buffer - CONST_CAST(GLEW_SGIX_texture_multi_buffer) = glewGetExtension("GL_SGIX_texture_multi_buffer"); -#endif /* GL_SGIX_texture_multi_buffer */ -#ifdef GL_SGIX_texture_range - CONST_CAST(GLEW_SGIX_texture_range) = glewGetExtension("GL_SGIX_texture_range"); -#endif /* GL_SGIX_texture_range */ -#ifdef GL_SGIX_texture_scale_bias - CONST_CAST(GLEW_SGIX_texture_scale_bias) = glewGetExtension("GL_SGIX_texture_scale_bias"); -#endif /* GL_SGIX_texture_scale_bias */ -#ifdef GL_SGIX_vertex_preclip - CONST_CAST(GLEW_SGIX_vertex_preclip) = glewGetExtension("GL_SGIX_vertex_preclip"); -#endif /* GL_SGIX_vertex_preclip */ -#ifdef GL_SGIX_vertex_preclip_hint - CONST_CAST(GLEW_SGIX_vertex_preclip_hint) = glewGetExtension("GL_SGIX_vertex_preclip_hint"); -#endif /* GL_SGIX_vertex_preclip_hint */ -#ifdef GL_SGIX_ycrcb - CONST_CAST(GLEW_SGIX_ycrcb) = glewGetExtension("GL_SGIX_ycrcb"); -#endif /* GL_SGIX_ycrcb */ -#ifdef GL_SGI_color_matrix - CONST_CAST(GLEW_SGI_color_matrix) = glewGetExtension("GL_SGI_color_matrix"); -#endif /* GL_SGI_color_matrix */ -#ifdef GL_SGI_color_table - CONST_CAST(GLEW_SGI_color_table) = glewGetExtension("GL_SGI_color_table"); - if (glewExperimental || GLEW_SGI_color_table) CONST_CAST(GLEW_SGI_color_table) = !_glewInit_GL_SGI_color_table(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SGI_color_table */ -#ifdef GL_SGI_texture_color_table - CONST_CAST(GLEW_SGI_texture_color_table) = glewGetExtension("GL_SGI_texture_color_table"); -#endif /* GL_SGI_texture_color_table */ -#ifdef GL_SUNX_constant_data - CONST_CAST(GLEW_SUNX_constant_data) = glewGetExtension("GL_SUNX_constant_data"); - if (glewExperimental || GLEW_SUNX_constant_data) CONST_CAST(GLEW_SUNX_constant_data) = !_glewInit_GL_SUNX_constant_data(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SUNX_constant_data */ -#ifdef GL_SUN_convolution_border_modes - CONST_CAST(GLEW_SUN_convolution_border_modes) = glewGetExtension("GL_SUN_convolution_border_modes"); -#endif /* GL_SUN_convolution_border_modes */ -#ifdef GL_SUN_global_alpha - CONST_CAST(GLEW_SUN_global_alpha) = glewGetExtension("GL_SUN_global_alpha"); - if (glewExperimental || GLEW_SUN_global_alpha) CONST_CAST(GLEW_SUN_global_alpha) = !_glewInit_GL_SUN_global_alpha(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SUN_global_alpha */ -#ifdef GL_SUN_mesh_array - CONST_CAST(GLEW_SUN_mesh_array) = glewGetExtension("GL_SUN_mesh_array"); -#endif /* GL_SUN_mesh_array */ -#ifdef GL_SUN_read_video_pixels - CONST_CAST(GLEW_SUN_read_video_pixels) = glewGetExtension("GL_SUN_read_video_pixels"); - if (glewExperimental || GLEW_SUN_read_video_pixels) CONST_CAST(GLEW_SUN_read_video_pixels) = !_glewInit_GL_SUN_read_video_pixels(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SUN_read_video_pixels */ -#ifdef GL_SUN_slice_accum - CONST_CAST(GLEW_SUN_slice_accum) = glewGetExtension("GL_SUN_slice_accum"); -#endif /* GL_SUN_slice_accum */ -#ifdef GL_SUN_triangle_list - CONST_CAST(GLEW_SUN_triangle_list) = glewGetExtension("GL_SUN_triangle_list"); - if (glewExperimental || GLEW_SUN_triangle_list) CONST_CAST(GLEW_SUN_triangle_list) = !_glewInit_GL_SUN_triangle_list(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SUN_triangle_list */ -#ifdef GL_SUN_vertex - CONST_CAST(GLEW_SUN_vertex) = glewGetExtension("GL_SUN_vertex"); - if (glewExperimental || GLEW_SUN_vertex) CONST_CAST(GLEW_SUN_vertex) = !_glewInit_GL_SUN_vertex(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_SUN_vertex */ -#ifdef GL_WIN_phong_shading - CONST_CAST(GLEW_WIN_phong_shading) = glewGetExtension("GL_WIN_phong_shading"); -#endif /* GL_WIN_phong_shading */ -#ifdef GL_WIN_specular_fog - CONST_CAST(GLEW_WIN_specular_fog) = glewGetExtension("GL_WIN_specular_fog"); -#endif /* GL_WIN_specular_fog */ -#ifdef GL_WIN_swap_hint - CONST_CAST(GLEW_WIN_swap_hint) = glewGetExtension("GL_WIN_swap_hint"); - if (glewExperimental || GLEW_WIN_swap_hint) CONST_CAST(GLEW_WIN_swap_hint) = !_glewInit_GL_WIN_swap_hint(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GL_WIN_swap_hint */ - - return GLEW_OK; -} - - -#if defined(_WIN32) - -#if !defined(GLEW_MX) - -PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL = NULL; - -PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB = NULL; -PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB = NULL; -PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB = NULL; -PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB = NULL; - -PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB = NULL; - -PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB = NULL; - -PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB = NULL; -PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB = NULL; - -PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB = NULL; -PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB = NULL; -PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB = NULL; -PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB = NULL; -PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB = NULL; - -PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB = NULL; -PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB = NULL; -PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB = NULL; - -PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB = NULL; -PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB = NULL; -PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB = NULL; - -PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT = NULL; -PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT = NULL; -PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT = NULL; -PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT = NULL; - -PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT = NULL; - -PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT = NULL; -PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT = NULL; - -PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT = NULL; -PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT = NULL; -PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT = NULL; -PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT = NULL; -PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT = NULL; - -PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT = NULL; -PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT = NULL; -PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT = NULL; - -PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT = NULL; -PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT = NULL; - -PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D = NULL; -PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D = NULL; - -PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D = NULL; -PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D = NULL; -PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D = NULL; -PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D = NULL; - -PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D = NULL; -PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D = NULL; -PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D = NULL; -PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D = NULL; -PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D = NULL; -PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D = NULL; -PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D = NULL; -PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D = NULL; -PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D = NULL; -PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D = NULL; -PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D = NULL; -PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D = NULL; - -PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D = NULL; -PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D = NULL; -PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D = NULL; -PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D = NULL; - -PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D = NULL; -PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D = NULL; -PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D = NULL; -PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D = NULL; - -PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D = NULL; -PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D = NULL; -PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D = NULL; -PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D = NULL; - -PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV = NULL; -PFNWGLDELETEDCNVPROC __wglewDeleteDCNV = NULL; -PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV = NULL; -PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV = NULL; -PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV = NULL; - -PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV = NULL; -PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV = NULL; -PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV = NULL; - -PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV = NULL; -PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV = NULL; -PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV = NULL; -PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV = NULL; -PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV = NULL; -PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV = NULL; - -PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV = NULL; -PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV = NULL; - -PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV = NULL; -PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV = NULL; -PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV = NULL; -PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV = NULL; -PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV = NULL; -PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV = NULL; - -PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML = NULL; -PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML = NULL; -PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML = NULL; -PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML = NULL; -PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML = NULL; -PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML = NULL; -GLboolean __WGLEW_3DFX_multisample = GL_FALSE; -GLboolean __WGLEW_3DL_stereo_control = GL_FALSE; -GLboolean __WGLEW_ARB_buffer_region = GL_FALSE; -GLboolean __WGLEW_ARB_create_context = GL_FALSE; -GLboolean __WGLEW_ARB_extensions_string = GL_FALSE; -GLboolean __WGLEW_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean __WGLEW_ARB_make_current_read = GL_FALSE; -GLboolean __WGLEW_ARB_multisample = GL_FALSE; -GLboolean __WGLEW_ARB_pbuffer = GL_FALSE; -GLboolean __WGLEW_ARB_pixel_format = GL_FALSE; -GLboolean __WGLEW_ARB_pixel_format_float = GL_FALSE; -GLboolean __WGLEW_ARB_render_texture = GL_FALSE; -GLboolean __WGLEW_ATI_pixel_format_float = GL_FALSE; -GLboolean __WGLEW_ATI_render_texture_rectangle = GL_FALSE; -GLboolean __WGLEW_EXT_depth_float = GL_FALSE; -GLboolean __WGLEW_EXT_display_color_table = GL_FALSE; -GLboolean __WGLEW_EXT_extensions_string = GL_FALSE; -GLboolean __WGLEW_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean __WGLEW_EXT_make_current_read = GL_FALSE; -GLboolean __WGLEW_EXT_multisample = GL_FALSE; -GLboolean __WGLEW_EXT_pbuffer = GL_FALSE; -GLboolean __WGLEW_EXT_pixel_format = GL_FALSE; -GLboolean __WGLEW_EXT_pixel_format_packed_float = GL_FALSE; -GLboolean __WGLEW_EXT_swap_control = GL_FALSE; -GLboolean __WGLEW_I3D_digital_video_control = GL_FALSE; -GLboolean __WGLEW_I3D_gamma = GL_FALSE; -GLboolean __WGLEW_I3D_genlock = GL_FALSE; -GLboolean __WGLEW_I3D_image_buffer = GL_FALSE; -GLboolean __WGLEW_I3D_swap_frame_lock = GL_FALSE; -GLboolean __WGLEW_I3D_swap_frame_usage = GL_FALSE; -GLboolean __WGLEW_NV_float_buffer = GL_FALSE; -GLboolean __WGLEW_NV_gpu_affinity = GL_FALSE; -GLboolean __WGLEW_NV_present_video = GL_FALSE; -GLboolean __WGLEW_NV_render_depth_texture = GL_FALSE; -GLboolean __WGLEW_NV_render_texture_rectangle = GL_FALSE; -GLboolean __WGLEW_NV_swap_group = GL_FALSE; -GLboolean __WGLEW_NV_vertex_array_range = GL_FALSE; -GLboolean __WGLEW_NV_video_output = GL_FALSE; -GLboolean __WGLEW_OML_sync_control = GL_FALSE; - -#endif /* !GLEW_MX */ - -#ifdef WGL_3DFX_multisample - -#endif /* WGL_3DFX_multisample */ - -#ifdef WGL_3DL_stereo_control - -static GLboolean _glewInit_WGL_3DL_stereo_control (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)glewGetProcAddress((const GLubyte*)"wglSetStereoEmitterState3DL")) == NULL) || r; - - return r; -} - -#endif /* WGL_3DL_stereo_control */ - -#ifdef WGL_ARB_buffer_region - -static GLboolean _glewInit_WGL_ARB_buffer_region (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateBufferRegionARB")) == NULL) || r; - r = ((wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglDeleteBufferRegionARB")) == NULL) || r; - r = ((wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglRestoreBufferRegionARB")) == NULL) || r; - r = ((wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)glewGetProcAddress((const GLubyte*)"wglSaveBufferRegionARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_buffer_region */ - -#ifdef WGL_ARB_create_context - -static GLboolean _glewInit_WGL_ARB_create_context (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"wglCreateContextAttribsARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_create_context */ - -#ifdef WGL_ARB_extensions_string - -static GLboolean _glewInit_WGL_ARB_extensions_string (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_extensions_string */ - -#ifdef WGL_ARB_framebuffer_sRGB - -#endif /* WGL_ARB_framebuffer_sRGB */ - -#ifdef WGL_ARB_make_current_read - -static GLboolean _glewInit_WGL_ARB_make_current_read (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCARB")) == NULL) || r; - r = ((wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_make_current_read */ - -#ifdef WGL_ARB_multisample - -#endif /* WGL_ARB_multisample */ - -#ifdef WGL_ARB_pbuffer - -static GLboolean _glewInit_WGL_ARB_pbuffer (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferARB")) == NULL) || r; - r = ((wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferARB")) == NULL) || r; - r = ((wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCARB")) == NULL) || r; - r = ((wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferARB")) == NULL) || r; - r = ((wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_pbuffer */ - -#ifdef WGL_ARB_pixel_format - -static GLboolean _glewInit_WGL_ARB_pixel_format (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatARB")) == NULL) || r; - r = ((wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvARB")) == NULL) || r; - r = ((wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_pixel_format */ - -#ifdef WGL_ARB_pixel_format_float - -#endif /* WGL_ARB_pixel_format_float */ - -#ifdef WGL_ARB_render_texture - -static GLboolean _glewInit_WGL_ARB_render_texture (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglBindTexImageARB")) == NULL) || r; - r = ((wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)glewGetProcAddress((const GLubyte*)"wglReleaseTexImageARB")) == NULL) || r; - r = ((wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)glewGetProcAddress((const GLubyte*)"wglSetPbufferAttribARB")) == NULL) || r; - - return r; -} - -#endif /* WGL_ARB_render_texture */ - -#ifdef WGL_ATI_pixel_format_float - -#endif /* WGL_ATI_pixel_format_float */ - -#ifdef WGL_ATI_render_texture_rectangle - -#endif /* WGL_ATI_render_texture_rectangle */ - -#ifdef WGL_EXT_depth_float - -#endif /* WGL_EXT_depth_float */ - -#ifdef WGL_EXT_display_color_table - -static GLboolean _glewInit_WGL_EXT_display_color_table (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglBindDisplayColorTableEXT")) == NULL) || r; - r = ((wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglCreateDisplayColorTableEXT")) == NULL) || r; - r = ((wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyDisplayColorTableEXT")) == NULL) || r; - r = ((wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)glewGetProcAddress((const GLubyte*)"wglLoadDisplayColorTableEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_display_color_table */ - -#ifdef WGL_EXT_extensions_string - -static GLboolean _glewInit_WGL_EXT_extensions_string (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_extensions_string */ - -#ifdef WGL_EXT_framebuffer_sRGB - -#endif /* WGL_EXT_framebuffer_sRGB */ - -#ifdef WGL_EXT_make_current_read - -static GLboolean _glewInit_WGL_EXT_make_current_read (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetCurrentReadDCEXT")) == NULL) || r; - r = ((wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)glewGetProcAddress((const GLubyte*)"wglMakeContextCurrentEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_make_current_read */ - -#ifdef WGL_EXT_multisample - -#endif /* WGL_EXT_multisample */ - -#ifdef WGL_EXT_pbuffer - -static GLboolean _glewInit_WGL_EXT_pbuffer (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglCreatePbufferEXT")) == NULL) || r; - r = ((wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglDestroyPbufferEXT")) == NULL) || r; - r = ((wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPbufferDCEXT")) == NULL) || r; - r = ((wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)glewGetProcAddress((const GLubyte*)"wglQueryPbufferEXT")) == NULL) || r; - r = ((wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)glewGetProcAddress((const GLubyte*)"wglReleasePbufferDCEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_pbuffer */ - -#ifdef WGL_EXT_pixel_format - -static GLboolean _glewInit_WGL_EXT_pixel_format (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)glewGetProcAddress((const GLubyte*)"wglChoosePixelFormatEXT")) == NULL) || r; - r = ((wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribfvEXT")) == NULL) || r; - r = ((wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetPixelFormatAttribivEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_pixel_format */ - -#ifdef WGL_EXT_pixel_format_packed_float - -#endif /* WGL_EXT_pixel_format_packed_float */ - -#ifdef WGL_EXT_swap_control - -static GLboolean _glewInit_WGL_EXT_swap_control (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetSwapIntervalEXT")) == NULL) || r; - r = ((wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)glewGetProcAddress((const GLubyte*)"wglSwapIntervalEXT")) == NULL) || r; - - return r; -} - -#endif /* WGL_EXT_swap_control */ - -#ifdef WGL_I3D_digital_video_control - -static GLboolean _glewInit_WGL_I3D_digital_video_control (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetDigitalVideoParametersI3D")) == NULL) || r; - r = ((wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetDigitalVideoParametersI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_digital_video_control */ - -#ifdef WGL_I3D_gamma - -static GLboolean _glewInit_WGL_I3D_gamma (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableI3D")) == NULL) || r; - r = ((wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGammaTableParametersI3D")) == NULL) || r; - r = ((wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableI3D")) == NULL) || r; - r = ((wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)glewGetProcAddress((const GLubyte*)"wglSetGammaTableParametersI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_gamma */ - -#ifdef WGL_I3D_genlock - -static GLboolean _glewInit_WGL_I3D_genlock (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableGenlockI3D")) == NULL) || r; - r = ((wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableGenlockI3D")) == NULL) || r; - r = ((wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSampleRateI3D")) == NULL) || r; - r = ((wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceDelayI3D")) == NULL) || r; - r = ((wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceEdgeI3D")) == NULL) || r; - r = ((wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGenlockSourceI3D")) == NULL) || r; - r = ((wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSampleRateI3D")) == NULL) || r; - r = ((wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceDelayI3D")) == NULL) || r; - r = ((wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceEdgeI3D")) == NULL) || r; - r = ((wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetGenlockSourceI3D")) == NULL) || r; - r = ((wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledGenlockI3D")) == NULL) || r; - r = ((wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryGenlockMaxSourceDelayI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_genlock */ - -#ifdef WGL_I3D_image_buffer - -static GLboolean _glewInit_WGL_I3D_image_buffer (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglAssociateImageBufferEventsI3D")) == NULL) || r; - r = ((wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglCreateImageBufferI3D")) == NULL) || r; - r = ((wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)glewGetProcAddress((const GLubyte*)"wglDestroyImageBufferI3D")) == NULL) || r; - r = ((wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)glewGetProcAddress((const GLubyte*)"wglReleaseImageBufferEventsI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_image_buffer */ - -#ifdef WGL_I3D_swap_frame_lock - -static GLboolean _glewInit_WGL_I3D_swap_frame_lock (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglDisableFrameLockI3D")) == NULL) || r; - r = ((wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglEnableFrameLockI3D")) == NULL) || r; - r = ((wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)glewGetProcAddress((const GLubyte*)"wglIsEnabledFrameLockI3D")) == NULL) || r; - r = ((wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameLockMasterI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_swap_frame_lock */ - -#ifdef WGL_I3D_swap_frame_usage - -static GLboolean _glewInit_WGL_I3D_swap_frame_usage (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglBeginFrameTrackingI3D")) == NULL) || r; - r = ((wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglEndFrameTrackingI3D")) == NULL) || r; - r = ((wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)glewGetProcAddress((const GLubyte*)"wglGetFrameUsageI3D")) == NULL) || r; - r = ((wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameTrackingI3D")) == NULL) || r; - - return r; -} - -#endif /* WGL_I3D_swap_frame_usage */ - -#ifdef WGL_NV_float_buffer - -#endif /* WGL_NV_float_buffer */ - -#ifdef WGL_NV_gpu_affinity - -static GLboolean _glewInit_WGL_NV_gpu_affinity (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglCreateAffinityDCNV")) == NULL) || r; - r = ((wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)glewGetProcAddress((const GLubyte*)"wglDeleteDCNV")) == NULL) || r; - r = ((wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpuDevicesNV")) == NULL) || r; - r = ((wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusFromAffinityDCNV")) == NULL) || r; - r = ((wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumGpusNV")) == NULL) || r; - - return r; -} - -#endif /* WGL_NV_gpu_affinity */ - -#ifdef WGL_NV_present_video - -static GLboolean _glewInit_WGL_NV_present_video (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoDeviceNV")) == NULL) || r; - r = ((wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"wglEnumerateVideoDevicesNV")) == NULL) || r; - r = ((wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryCurrentContextNV")) == NULL) || r; - - return r; -} - -#endif /* WGL_NV_present_video */ - -#ifdef WGL_NV_render_depth_texture - -#endif /* WGL_NV_render_depth_texture */ - -#ifdef WGL_NV_render_texture_rectangle - -#endif /* WGL_NV_render_texture_rectangle */ - -#ifdef WGL_NV_swap_group - -static GLboolean _glewInit_WGL_NV_swap_group (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"wglBindSwapBarrierNV")) == NULL) || r; - r = ((wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglJoinSwapGroupNV")) == NULL) || r; - r = ((wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryFrameCountNV")) == NULL) || r; - r = ((wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"wglQueryMaxSwapGroupsNV")) == NULL) || r; - r = ((wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"wglQuerySwapGroupNV")) == NULL) || r; - r = ((wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"wglResetFrameCountNV")) == NULL) || r; - - return r; -} - -#endif /* WGL_NV_swap_group */ - -#ifdef WGL_NV_vertex_array_range - -static GLboolean _glewInit_WGL_NV_vertex_array_range (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglAllocateMemoryNV")) == NULL) || r; - r = ((wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"wglFreeMemoryNV")) == NULL) || r; - - return r; -} - -#endif /* WGL_NV_vertex_array_range */ - -#ifdef WGL_NV_video_output - -static GLboolean _glewInit_WGL_NV_video_output (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglBindVideoImageNV")) == NULL) || r; - r = ((wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoDeviceNV")) == NULL) || r; - r = ((wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"wglGetVideoInfoNV")) == NULL) || r; - r = ((wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoDeviceNV")) == NULL) || r; - r = ((wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"wglReleaseVideoImageNV")) == NULL) || r; - r = ((wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"wglSendPbufferToVideoNV")) == NULL) || r; - - return r; -} - -#endif /* WGL_NV_video_output */ - -#ifdef WGL_OML_sync_control - -static GLboolean _glewInit_WGL_OML_sync_control (WGLEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetMscRateOML")) == NULL) || r; - r = ((wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"wglGetSyncValuesOML")) == NULL) || r; - r = ((wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapBuffersMscOML")) == NULL) || r; - r = ((wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglSwapLayerBuffersMscOML")) == NULL) || r; - r = ((wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForMscOML")) == NULL) || r; - r = ((wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"wglWaitForSbcOML")) == NULL) || r; - - return r; -} - -#endif /* WGL_OML_sync_control */ - -/* ------------------------------------------------------------------------- */ - -static PFNWGLGETEXTENSIONSSTRINGARBPROC _wglewGetExtensionsStringARB = NULL; -static PFNWGLGETEXTENSIONSSTRINGEXTPROC _wglewGetExtensionsStringEXT = NULL; - -GLboolean wglewGetExtension (const char* name) -{ - GLubyte* p; - GLubyte* end; - GLuint len = _glewStrLen((const GLubyte*)name); - if (_wglewGetExtensionsStringARB == NULL) - if (_wglewGetExtensionsStringEXT == NULL) - return GL_FALSE; - else - p = (GLubyte*)_wglewGetExtensionsStringEXT(); - else - p = (GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC()); - if (0 == p) return GL_FALSE; - end = p + _glewStrLen(p); - while (p < end) - { - GLuint n = _glewStrCLen(p, ' '); - if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; - p += n+1; - } - return GL_FALSE; -} - -GLenum wglewContextInit (WGLEW_CONTEXT_ARG_DEF_LIST) -{ - GLboolean crippled; - /* find wgl extension string query functions */ - _wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB"); - _wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT"); - /* initialize extensions */ - crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL; -#ifdef WGL_3DFX_multisample - CONST_CAST(WGLEW_3DFX_multisample) = wglewGetExtension("WGL_3DFX_multisample"); -#endif /* WGL_3DFX_multisample */ -#ifdef WGL_3DL_stereo_control - CONST_CAST(WGLEW_3DL_stereo_control) = wglewGetExtension("WGL_3DL_stereo_control"); - if (glewExperimental || WGLEW_3DL_stereo_control|| crippled) CONST_CAST(WGLEW_3DL_stereo_control)= !_glewInit_WGL_3DL_stereo_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_3DL_stereo_control */ -#ifdef WGL_ARB_buffer_region - CONST_CAST(WGLEW_ARB_buffer_region) = wglewGetExtension("WGL_ARB_buffer_region"); - if (glewExperimental || WGLEW_ARB_buffer_region|| crippled) CONST_CAST(WGLEW_ARB_buffer_region)= !_glewInit_WGL_ARB_buffer_region(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_buffer_region */ -#ifdef WGL_ARB_create_context - CONST_CAST(WGLEW_ARB_create_context) = wglewGetExtension("WGL_ARB_create_context"); - if (glewExperimental || WGLEW_ARB_create_context|| crippled) CONST_CAST(WGLEW_ARB_create_context)= !_glewInit_WGL_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_create_context */ -#ifdef WGL_ARB_extensions_string - CONST_CAST(WGLEW_ARB_extensions_string) = wglewGetExtension("WGL_ARB_extensions_string"); - if (glewExperimental || WGLEW_ARB_extensions_string|| crippled) CONST_CAST(WGLEW_ARB_extensions_string)= !_glewInit_WGL_ARB_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_extensions_string */ -#ifdef WGL_ARB_framebuffer_sRGB - CONST_CAST(WGLEW_ARB_framebuffer_sRGB) = wglewGetExtension("WGL_ARB_framebuffer_sRGB"); -#endif /* WGL_ARB_framebuffer_sRGB */ -#ifdef WGL_ARB_make_current_read - CONST_CAST(WGLEW_ARB_make_current_read) = wglewGetExtension("WGL_ARB_make_current_read"); - if (glewExperimental || WGLEW_ARB_make_current_read|| crippled) CONST_CAST(WGLEW_ARB_make_current_read)= !_glewInit_WGL_ARB_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_make_current_read */ -#ifdef WGL_ARB_multisample - CONST_CAST(WGLEW_ARB_multisample) = wglewGetExtension("WGL_ARB_multisample"); -#endif /* WGL_ARB_multisample */ -#ifdef WGL_ARB_pbuffer - CONST_CAST(WGLEW_ARB_pbuffer) = wglewGetExtension("WGL_ARB_pbuffer"); - if (glewExperimental || WGLEW_ARB_pbuffer|| crippled) CONST_CAST(WGLEW_ARB_pbuffer)= !_glewInit_WGL_ARB_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_pbuffer */ -#ifdef WGL_ARB_pixel_format - CONST_CAST(WGLEW_ARB_pixel_format) = wglewGetExtension("WGL_ARB_pixel_format"); - if (glewExperimental || WGLEW_ARB_pixel_format|| crippled) CONST_CAST(WGLEW_ARB_pixel_format)= !_glewInit_WGL_ARB_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_pixel_format */ -#ifdef WGL_ARB_pixel_format_float - CONST_CAST(WGLEW_ARB_pixel_format_float) = wglewGetExtension("WGL_ARB_pixel_format_float"); -#endif /* WGL_ARB_pixel_format_float */ -#ifdef WGL_ARB_render_texture - CONST_CAST(WGLEW_ARB_render_texture) = wglewGetExtension("WGL_ARB_render_texture"); - if (glewExperimental || WGLEW_ARB_render_texture|| crippled) CONST_CAST(WGLEW_ARB_render_texture)= !_glewInit_WGL_ARB_render_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_ARB_render_texture */ -#ifdef WGL_ATI_pixel_format_float - CONST_CAST(WGLEW_ATI_pixel_format_float) = wglewGetExtension("WGL_ATI_pixel_format_float"); -#endif /* WGL_ATI_pixel_format_float */ -#ifdef WGL_ATI_render_texture_rectangle - CONST_CAST(WGLEW_ATI_render_texture_rectangle) = wglewGetExtension("WGL_ATI_render_texture_rectangle"); -#endif /* WGL_ATI_render_texture_rectangle */ -#ifdef WGL_EXT_depth_float - CONST_CAST(WGLEW_EXT_depth_float) = wglewGetExtension("WGL_EXT_depth_float"); -#endif /* WGL_EXT_depth_float */ -#ifdef WGL_EXT_display_color_table - CONST_CAST(WGLEW_EXT_display_color_table) = wglewGetExtension("WGL_EXT_display_color_table"); - if (glewExperimental || WGLEW_EXT_display_color_table|| crippled) CONST_CAST(WGLEW_EXT_display_color_table)= !_glewInit_WGL_EXT_display_color_table(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_display_color_table */ -#ifdef WGL_EXT_extensions_string - CONST_CAST(WGLEW_EXT_extensions_string) = wglewGetExtension("WGL_EXT_extensions_string"); - if (glewExperimental || WGLEW_EXT_extensions_string|| crippled) CONST_CAST(WGLEW_EXT_extensions_string)= !_glewInit_WGL_EXT_extensions_string(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_extensions_string */ -#ifdef WGL_EXT_framebuffer_sRGB - CONST_CAST(WGLEW_EXT_framebuffer_sRGB) = wglewGetExtension("WGL_EXT_framebuffer_sRGB"); -#endif /* WGL_EXT_framebuffer_sRGB */ -#ifdef WGL_EXT_make_current_read - CONST_CAST(WGLEW_EXT_make_current_read) = wglewGetExtension("WGL_EXT_make_current_read"); - if (glewExperimental || WGLEW_EXT_make_current_read|| crippled) CONST_CAST(WGLEW_EXT_make_current_read)= !_glewInit_WGL_EXT_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_make_current_read */ -#ifdef WGL_EXT_multisample - CONST_CAST(WGLEW_EXT_multisample) = wglewGetExtension("WGL_EXT_multisample"); -#endif /* WGL_EXT_multisample */ -#ifdef WGL_EXT_pbuffer - CONST_CAST(WGLEW_EXT_pbuffer) = wglewGetExtension("WGL_EXT_pbuffer"); - if (glewExperimental || WGLEW_EXT_pbuffer|| crippled) CONST_CAST(WGLEW_EXT_pbuffer)= !_glewInit_WGL_EXT_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_pbuffer */ -#ifdef WGL_EXT_pixel_format - CONST_CAST(WGLEW_EXT_pixel_format) = wglewGetExtension("WGL_EXT_pixel_format"); - if (glewExperimental || WGLEW_EXT_pixel_format|| crippled) CONST_CAST(WGLEW_EXT_pixel_format)= !_glewInit_WGL_EXT_pixel_format(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_pixel_format */ -#ifdef WGL_EXT_pixel_format_packed_float - CONST_CAST(WGLEW_EXT_pixel_format_packed_float) = wglewGetExtension("WGL_EXT_pixel_format_packed_float"); -#endif /* WGL_EXT_pixel_format_packed_float */ -#ifdef WGL_EXT_swap_control - CONST_CAST(WGLEW_EXT_swap_control) = wglewGetExtension("WGL_EXT_swap_control"); - if (glewExperimental || WGLEW_EXT_swap_control|| crippled) CONST_CAST(WGLEW_EXT_swap_control)= !_glewInit_WGL_EXT_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_EXT_swap_control */ -#ifdef WGL_I3D_digital_video_control - CONST_CAST(WGLEW_I3D_digital_video_control) = wglewGetExtension("WGL_I3D_digital_video_control"); - if (glewExperimental || WGLEW_I3D_digital_video_control|| crippled) CONST_CAST(WGLEW_I3D_digital_video_control)= !_glewInit_WGL_I3D_digital_video_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_digital_video_control */ -#ifdef WGL_I3D_gamma - CONST_CAST(WGLEW_I3D_gamma) = wglewGetExtension("WGL_I3D_gamma"); - if (glewExperimental || WGLEW_I3D_gamma|| crippled) CONST_CAST(WGLEW_I3D_gamma)= !_glewInit_WGL_I3D_gamma(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_gamma */ -#ifdef WGL_I3D_genlock - CONST_CAST(WGLEW_I3D_genlock) = wglewGetExtension("WGL_I3D_genlock"); - if (glewExperimental || WGLEW_I3D_genlock|| crippled) CONST_CAST(WGLEW_I3D_genlock)= !_glewInit_WGL_I3D_genlock(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_genlock */ -#ifdef WGL_I3D_image_buffer - CONST_CAST(WGLEW_I3D_image_buffer) = wglewGetExtension("WGL_I3D_image_buffer"); - if (glewExperimental || WGLEW_I3D_image_buffer|| crippled) CONST_CAST(WGLEW_I3D_image_buffer)= !_glewInit_WGL_I3D_image_buffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_image_buffer */ -#ifdef WGL_I3D_swap_frame_lock - CONST_CAST(WGLEW_I3D_swap_frame_lock) = wglewGetExtension("WGL_I3D_swap_frame_lock"); - if (glewExperimental || WGLEW_I3D_swap_frame_lock|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_lock)= !_glewInit_WGL_I3D_swap_frame_lock(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_swap_frame_lock */ -#ifdef WGL_I3D_swap_frame_usage - CONST_CAST(WGLEW_I3D_swap_frame_usage) = wglewGetExtension("WGL_I3D_swap_frame_usage"); - if (glewExperimental || WGLEW_I3D_swap_frame_usage|| crippled) CONST_CAST(WGLEW_I3D_swap_frame_usage)= !_glewInit_WGL_I3D_swap_frame_usage(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_I3D_swap_frame_usage */ -#ifdef WGL_NV_float_buffer - CONST_CAST(WGLEW_NV_float_buffer) = wglewGetExtension("WGL_NV_float_buffer"); -#endif /* WGL_NV_float_buffer */ -#ifdef WGL_NV_gpu_affinity - CONST_CAST(WGLEW_NV_gpu_affinity) = wglewGetExtension("WGL_NV_gpu_affinity"); - if (glewExperimental || WGLEW_NV_gpu_affinity|| crippled) CONST_CAST(WGLEW_NV_gpu_affinity)= !_glewInit_WGL_NV_gpu_affinity(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_NV_gpu_affinity */ -#ifdef WGL_NV_present_video - CONST_CAST(WGLEW_NV_present_video) = wglewGetExtension("WGL_NV_present_video"); - if (glewExperimental || WGLEW_NV_present_video|| crippled) CONST_CAST(WGLEW_NV_present_video)= !_glewInit_WGL_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_NV_present_video */ -#ifdef WGL_NV_render_depth_texture - CONST_CAST(WGLEW_NV_render_depth_texture) = wglewGetExtension("WGL_NV_render_depth_texture"); -#endif /* WGL_NV_render_depth_texture */ -#ifdef WGL_NV_render_texture_rectangle - CONST_CAST(WGLEW_NV_render_texture_rectangle) = wglewGetExtension("WGL_NV_render_texture_rectangle"); -#endif /* WGL_NV_render_texture_rectangle */ -#ifdef WGL_NV_swap_group - CONST_CAST(WGLEW_NV_swap_group) = wglewGetExtension("WGL_NV_swap_group"); - if (glewExperimental || WGLEW_NV_swap_group|| crippled) CONST_CAST(WGLEW_NV_swap_group)= !_glewInit_WGL_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_NV_swap_group */ -#ifdef WGL_NV_vertex_array_range - CONST_CAST(WGLEW_NV_vertex_array_range) = wglewGetExtension("WGL_NV_vertex_array_range"); - if (glewExperimental || WGLEW_NV_vertex_array_range|| crippled) CONST_CAST(WGLEW_NV_vertex_array_range)= !_glewInit_WGL_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_NV_vertex_array_range */ -#ifdef WGL_NV_video_output - CONST_CAST(WGLEW_NV_video_output) = wglewGetExtension("WGL_NV_video_output"); - if (glewExperimental || WGLEW_NV_video_output|| crippled) CONST_CAST(WGLEW_NV_video_output)= !_glewInit_WGL_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_NV_video_output */ -#ifdef WGL_OML_sync_control - CONST_CAST(WGLEW_OML_sync_control) = wglewGetExtension("WGL_OML_sync_control"); - if (glewExperimental || WGLEW_OML_sync_control|| crippled) CONST_CAST(WGLEW_OML_sync_control)= !_glewInit_WGL_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* WGL_OML_sync_control */ - - return GLEW_OK; -} - -#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) - -PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay = NULL; - -PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig = NULL; -PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext = NULL; -PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer = NULL; -PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap = NULL; -PFNGLXCREATEWINDOWPROC __glewXCreateWindow = NULL; -PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer = NULL; -PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap = NULL; -PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow = NULL; -PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable = NULL; -PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib = NULL; -PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs = NULL; -PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent = NULL; -PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig = NULL; -PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent = NULL; -PFNGLXQUERYCONTEXTPROC __glewXQueryContext = NULL; -PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable = NULL; -PFNGLXSELECTEVENTPROC __glewXSelectEvent = NULL; - -PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB = NULL; - -PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI = NULL; -PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI = NULL; -PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI = NULL; - -PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT = NULL; -PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT = NULL; -PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT = NULL; -PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT = NULL; - -PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT = NULL; -PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT = NULL; - -PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA = NULL; - -PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA = NULL; - -PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA = NULL; - -PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA = NULL; - -PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA = NULL; - -PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV = NULL; -PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV = NULL; - -PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV = NULL; -PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV = NULL; -PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV = NULL; -PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV = NULL; -PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV = NULL; -PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV = NULL; - -PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV = NULL; -PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV = NULL; - -PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV = NULL; -PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV = NULL; -PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV = NULL; -PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV = NULL; -PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV = NULL; -PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV = NULL; - -#ifdef GLX_OML_sync_control -PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL; -PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML = NULL; -PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML = NULL; -PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML = NULL; -PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL; -#endif - -PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX = NULL; -PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX = NULL; -PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX = NULL; -PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX = NULL; -PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX = NULL; -PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX = NULL; - -PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX = NULL; -PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX = NULL; -PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX = NULL; -PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX = NULL; -PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX = NULL; -PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX = NULL; -PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX = NULL; -PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX = NULL; - -PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX = NULL; -PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX = NULL; -PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX = NULL; -PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX = NULL; -PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX = NULL; - -PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX = NULL; -PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX = NULL; - -PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX = NULL; - -PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX = NULL; -PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX = NULL; -PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX = NULL; -PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX = NULL; -PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX = NULL; - -PFNGLXCUSHIONSGIPROC __glewXCushionSGI = NULL; - -PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI = NULL; -PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI = NULL; - -PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI = NULL; - -PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI = NULL; -PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI = NULL; - -PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN = NULL; - -PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN = NULL; -PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN = NULL; - -#if !defined(GLEW_MX) - -GLboolean __GLXEW_VERSION_1_0 = GL_FALSE; -GLboolean __GLXEW_VERSION_1_1 = GL_FALSE; -GLboolean __GLXEW_VERSION_1_2 = GL_FALSE; -GLboolean __GLXEW_VERSION_1_3 = GL_FALSE; -GLboolean __GLXEW_VERSION_1_4 = GL_FALSE; -GLboolean __GLXEW_3DFX_multisample = GL_FALSE; -GLboolean __GLXEW_ARB_create_context = GL_FALSE; -GLboolean __GLXEW_ARB_fbconfig_float = GL_FALSE; -GLboolean __GLXEW_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean __GLXEW_ARB_get_proc_address = GL_FALSE; -GLboolean __GLXEW_ARB_multisample = GL_FALSE; -GLboolean __GLXEW_ATI_pixel_format_float = GL_FALSE; -GLboolean __GLXEW_ATI_render_texture = GL_FALSE; -GLboolean __GLXEW_EXT_fbconfig_packed_float = GL_FALSE; -GLboolean __GLXEW_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean __GLXEW_EXT_import_context = GL_FALSE; -GLboolean __GLXEW_EXT_scene_marker = GL_FALSE; -GLboolean __GLXEW_EXT_texture_from_pixmap = GL_FALSE; -GLboolean __GLXEW_EXT_visual_info = GL_FALSE; -GLboolean __GLXEW_EXT_visual_rating = GL_FALSE; -GLboolean __GLXEW_MESA_agp_offset = GL_FALSE; -GLboolean __GLXEW_MESA_copy_sub_buffer = GL_FALSE; -GLboolean __GLXEW_MESA_pixmap_colormap = GL_FALSE; -GLboolean __GLXEW_MESA_release_buffers = GL_FALSE; -GLboolean __GLXEW_MESA_set_3dfx_mode = GL_FALSE; -GLboolean __GLXEW_NV_float_buffer = GL_FALSE; -GLboolean __GLXEW_NV_present_video = GL_FALSE; -GLboolean __GLXEW_NV_swap_group = GL_FALSE; -GLboolean __GLXEW_NV_vertex_array_range = GL_FALSE; -GLboolean __GLXEW_NV_video_output = GL_FALSE; -GLboolean __GLXEW_OML_swap_method = GL_FALSE; -#ifdef GLX_OML_sync_control -GLboolean __GLXEW_OML_sync_control = GL_FALSE; -#endif -GLboolean __GLXEW_SGIS_blended_overlay = GL_FALSE; -GLboolean __GLXEW_SGIS_color_range = GL_FALSE; -GLboolean __GLXEW_SGIS_multisample = GL_FALSE; -GLboolean __GLXEW_SGIS_shared_multisample = GL_FALSE; -GLboolean __GLXEW_SGIX_fbconfig = GL_FALSE; -GLboolean __GLXEW_SGIX_hyperpipe = GL_FALSE; -GLboolean __GLXEW_SGIX_pbuffer = GL_FALSE; -GLboolean __GLXEW_SGIX_swap_barrier = GL_FALSE; -GLboolean __GLXEW_SGIX_swap_group = GL_FALSE; -GLboolean __GLXEW_SGIX_video_resize = GL_FALSE; -GLboolean __GLXEW_SGIX_visual_select_group = GL_FALSE; -GLboolean __GLXEW_SGI_cushion = GL_FALSE; -GLboolean __GLXEW_SGI_make_current_read = GL_FALSE; -GLboolean __GLXEW_SGI_swap_control = GL_FALSE; -GLboolean __GLXEW_SGI_video_sync = GL_FALSE; -GLboolean __GLXEW_SUN_get_transparent_index = GL_FALSE; -GLboolean __GLXEW_SUN_video_resize = GL_FALSE; - -#endif /* !GLEW_MX */ - -#ifdef GLX_VERSION_1_2 - -static GLboolean _glewInit_GLX_VERSION_1_2 (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r; - - return r; -} - -#endif /* GLX_VERSION_1_2 */ - -#ifdef GLX_VERSION_1_3 - -static GLboolean _glewInit_GLX_VERSION_1_3 (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfig")) == NULL) || r; - r = ((glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXCreateNewContext")) == NULL) || r; - r = ((glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXCreatePbuffer")) == NULL) || r; - r = ((glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXCreatePixmap")) == NULL) || r; - r = ((glXCreateWindow = (PFNGLXCREATEWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXCreateWindow")) == NULL) || r; - r = ((glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPbuffer")) == NULL) || r; - r = ((glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)glewGetProcAddress((const GLubyte*)"glXDestroyPixmap")) == NULL) || r; - r = ((glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)glewGetProcAddress((const GLubyte*)"glXDestroyWindow")) == NULL) || r; - r = ((glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawable")) == NULL) || r; - r = ((glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttrib")) == NULL) || r; - r = ((glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigs")) == NULL) || r; - r = ((glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEvent")) == NULL) || r; - r = ((glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfig")) == NULL) || r; - r = ((glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)glewGetProcAddress((const GLubyte*)"glXMakeContextCurrent")) == NULL) || r; - r = ((glXQueryContext = (PFNGLXQUERYCONTEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContext")) == NULL) || r; - r = ((glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)glewGetProcAddress((const GLubyte*)"glXQueryDrawable")) == NULL) || r; - r = ((glXSelectEvent = (PFNGLXSELECTEVENTPROC)glewGetProcAddress((const GLubyte*)"glXSelectEvent")) == NULL) || r; - - return r; -} - -#endif /* GLX_VERSION_1_3 */ - -#ifdef GLX_VERSION_1_4 - -#endif /* GLX_VERSION_1_4 */ - -#ifdef GLX_3DFX_multisample - -#endif /* GLX_3DFX_multisample */ - -#ifdef GLX_ARB_create_context - -static GLboolean _glewInit_GLX_ARB_create_context (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB")) == NULL) || r; - - return r; -} - -#endif /* GLX_ARB_create_context */ - -#ifdef GLX_ARB_fbconfig_float - -#endif /* GLX_ARB_fbconfig_float */ - -#ifdef GLX_ARB_framebuffer_sRGB - -#endif /* GLX_ARB_framebuffer_sRGB */ - -#ifdef GLX_ARB_get_proc_address - -#endif /* GLX_ARB_get_proc_address */ - -#ifdef GLX_ARB_multisample - -#endif /* GLX_ARB_multisample */ - -#ifdef GLX_ATI_pixel_format_float - -#endif /* GLX_ATI_pixel_format_float */ - -#ifdef GLX_ATI_render_texture - -static GLboolean _glewInit_GLX_ATI_render_texture (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindTexImageATI = (PFNGLXBINDTEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageATI")) == NULL) || r; - r = ((glXDrawableAttribATI = (PFNGLXDRAWABLEATTRIBATIPROC)glewGetProcAddress((const GLubyte*)"glXDrawableAttribATI")) == NULL) || r; - r = ((glXReleaseTexImageATI = (PFNGLXRELEASETEXIMAGEATIPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageATI")) == NULL) || r; - - return r; -} - -#endif /* GLX_ATI_render_texture */ - -#ifdef GLX_EXT_fbconfig_packed_float - -#endif /* GLX_EXT_fbconfig_packed_float */ - -#ifdef GLX_EXT_framebuffer_sRGB - -#endif /* GLX_EXT_framebuffer_sRGB */ - -#ifdef GLX_EXT_import_context - -static GLboolean _glewInit_GLX_EXT_import_context (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXFreeContextEXT")) == NULL) || r; - r = ((glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC)glewGetProcAddress((const GLubyte*)"glXGetContextIDEXT")) == NULL) || r; - r = ((glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC)glewGetProcAddress((const GLubyte*)"glXImportContextEXT")) == NULL) || r; - r = ((glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC)glewGetProcAddress((const GLubyte*)"glXQueryContextInfoEXT")) == NULL) || r; - - return r; -} - -#endif /* GLX_EXT_import_context */ - -#ifdef GLX_EXT_scene_marker - -#endif /* GLX_EXT_scene_marker */ - -#ifdef GLX_EXT_texture_from_pixmap - -static GLboolean _glewInit_GLX_EXT_texture_from_pixmap (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXBindTexImageEXT")) == NULL) || r; - r = ((glXReleaseTexImageEXT = (PFNGLXRELEASETEXIMAGEEXTPROC)glewGetProcAddress((const GLubyte*)"glXReleaseTexImageEXT")) == NULL) || r; - - return r; -} - -#endif /* GLX_EXT_texture_from_pixmap */ - -#ifdef GLX_EXT_visual_info - -#endif /* GLX_EXT_visual_info */ - -#ifdef GLX_EXT_visual_rating - -#endif /* GLX_EXT_visual_rating */ - -#ifdef GLX_MESA_agp_offset - -static GLboolean _glewInit_GLX_MESA_agp_offset (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetAGPOffsetMESA = (PFNGLXGETAGPOFFSETMESAPROC)glewGetProcAddress((const GLubyte*)"glXGetAGPOffsetMESA")) == NULL) || r; - - return r; -} - -#endif /* GLX_MESA_agp_offset */ - -#ifdef GLX_MESA_copy_sub_buffer - -static GLboolean _glewInit_GLX_MESA_copy_sub_buffer (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC)glewGetProcAddress((const GLubyte*)"glXCopySubBufferMESA")) == NULL) || r; - - return r; -} - -#endif /* GLX_MESA_copy_sub_buffer */ - -#ifdef GLX_MESA_pixmap_colormap - -static GLboolean _glewInit_GLX_MESA_pixmap_colormap (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapMESA")) == NULL) || r; - - return r; -} - -#endif /* GLX_MESA_pixmap_colormap */ - -#ifdef GLX_MESA_release_buffers - -static GLboolean _glewInit_GLX_MESA_release_buffers (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC)glewGetProcAddress((const GLubyte*)"glXReleaseBuffersMESA")) == NULL) || r; - - return r; -} - -#endif /* GLX_MESA_release_buffers */ - -#ifdef GLX_MESA_set_3dfx_mode - -static GLboolean _glewInit_GLX_MESA_set_3dfx_mode (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)glewGetProcAddress((const GLubyte*)"glXSet3DfxModeMESA")) == NULL) || r; - - return r; -} - -#endif /* GLX_MESA_set_3dfx_mode */ - -#ifdef GLX_NV_float_buffer - -#endif /* GLX_NV_float_buffer */ - -#ifdef GLX_NV_present_video - -static GLboolean _glewInit_GLX_NV_present_video (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindVideoDeviceNV = (PFNGLXBINDVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoDeviceNV")) == NULL) || r; - r = ((glXEnumerateVideoDevicesNV = (PFNGLXENUMERATEVIDEODEVICESNVPROC)glewGetProcAddress((const GLubyte*)"glXEnumerateVideoDevicesNV")) == NULL) || r; - - return r; -} - -#endif /* GLX_NV_present_video */ - -#ifdef GLX_NV_swap_group - -static GLboolean _glewInit_GLX_NV_swap_group (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindSwapBarrierNV = (PFNGLXBINDSWAPBARRIERNVPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierNV")) == NULL) || r; - r = ((glXJoinSwapGroupNV = (PFNGLXJOINSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupNV")) == NULL) || r; - r = ((glXQueryFrameCountNV = (PFNGLXQUERYFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryFrameCountNV")) == NULL) || r; - r = ((glXQueryMaxSwapGroupsNV = (PFNGLXQUERYMAXSWAPGROUPSNVPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapGroupsNV")) == NULL) || r; - r = ((glXQuerySwapGroupNV = (PFNGLXQUERYSWAPGROUPNVPROC)glewGetProcAddress((const GLubyte*)"glXQuerySwapGroupNV")) == NULL) || r; - r = ((glXResetFrameCountNV = (PFNGLXRESETFRAMECOUNTNVPROC)glewGetProcAddress((const GLubyte*)"glXResetFrameCountNV")) == NULL) || r; - - return r; -} - -#endif /* GLX_NV_swap_group */ - -#ifdef GLX_NV_vertex_array_range - -static GLboolean _glewInit_GLX_NV_vertex_array_range (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXAllocateMemoryNV = (PFNGLXALLOCATEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXAllocateMemoryNV")) == NULL) || r; - r = ((glXFreeMemoryNV = (PFNGLXFREEMEMORYNVPROC)glewGetProcAddress((const GLubyte*)"glXFreeMemoryNV")) == NULL) || r; - - return r; -} - -#endif /* GLX_NV_vertex_array_range */ - -#ifdef GLX_NV_video_output - -static GLboolean _glewInit_GLX_NV_video_output (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindVideoImageNV = (PFNGLXBINDVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXBindVideoImageNV")) == NULL) || r; - r = ((glXGetVideoDeviceNV = (PFNGLXGETVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoDeviceNV")) == NULL) || r; - r = ((glXGetVideoInfoNV = (PFNGLXGETVIDEOINFONVPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoInfoNV")) == NULL) || r; - r = ((glXReleaseVideoDeviceNV = (PFNGLXRELEASEVIDEODEVICENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoDeviceNV")) == NULL) || r; - r = ((glXReleaseVideoImageNV = (PFNGLXRELEASEVIDEOIMAGENVPROC)glewGetProcAddress((const GLubyte*)"glXReleaseVideoImageNV")) == NULL) || r; - r = ((glXSendPbufferToVideoNV = (PFNGLXSENDPBUFFERTOVIDEONVPROC)glewGetProcAddress((const GLubyte*)"glXSendPbufferToVideoNV")) == NULL) || r; - - return r; -} - -#endif /* GLX_NV_video_output */ - -#ifdef GLX_OML_swap_method - -#endif /* GLX_OML_swap_method */ - -#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#include - -static GLboolean _glewInit_GLX_OML_sync_control (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetMscRateOML")) == NULL) || r; - r = ((glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC)glewGetProcAddress((const GLubyte*)"glXGetSyncValuesOML")) == NULL) || r; - r = ((glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXSwapBuffersMscOML")) == NULL) || r; - r = ((glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForMscOML")) == NULL) || r; - r = ((glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC)glewGetProcAddress((const GLubyte*)"glXWaitForSbcOML")) == NULL) || r; - - return r; -} - -#endif /* GLX_OML_sync_control */ - -#ifdef GLX_SGIS_blended_overlay - -#endif /* GLX_SGIS_blended_overlay */ - -#ifdef GLX_SGIS_color_range - -#endif /* GLX_SGIS_color_range */ - -#ifdef GLX_SGIS_multisample - -#endif /* GLX_SGIS_multisample */ - -#ifdef GLX_SGIS_shared_multisample - -#endif /* GLX_SGIS_shared_multisample */ - -#ifdef GLX_SGIX_fbconfig - -static GLboolean _glewInit_GLX_SGIX_fbconfig (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChooseFBConfigSGIX")) == NULL) || r; - r = ((glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateContextWithConfigSGIX")) == NULL) || r; - r = ((glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPixmapWithConfigSGIX")) == NULL) || r; - r = ((glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigAttribSGIX")) == NULL) || r; - r = ((glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetFBConfigFromVisualSGIX")) == NULL) || r; - r = ((glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetVisualFromFBConfigSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_fbconfig */ - -#ifdef GLX_SGIX_hyperpipe - -static GLboolean _glewInit_GLX_SGIX_hyperpipe (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindHyperpipeSGIX = (PFNGLXBINDHYPERPIPESGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindHyperpipeSGIX")) == NULL) || r; - r = ((glXDestroyHyperpipeConfigSGIX = (PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyHyperpipeConfigSGIX")) == NULL) || r; - r = ((glXHyperpipeAttribSGIX = (PFNGLXHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeAttribSGIX")) == NULL) || r; - r = ((glXHyperpipeConfigSGIX = (PFNGLXHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXHyperpipeConfigSGIX")) == NULL) || r; - r = ((glXQueryHyperpipeAttribSGIX = (PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeAttribSGIX")) == NULL) || r; - r = ((glXQueryHyperpipeBestAttribSGIX = (PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeBestAttribSGIX")) == NULL) || r; - r = ((glXQueryHyperpipeConfigSGIX = (PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeConfigSGIX")) == NULL) || r; - r = ((glXQueryHyperpipeNetworkSGIX = (PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryHyperpipeNetworkSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_hyperpipe */ - -#ifdef GLX_SGIX_pbuffer - -static GLboolean _glewInit_GLX_SGIX_pbuffer (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXCreateGLXPbufferSGIX")) == NULL) || r; - r = ((glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXDestroyGLXPbufferSGIX")) == NULL) || r; - r = ((glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXGetSelectedEventSGIX")) == NULL) || r; - r = ((glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryGLXPbufferSGIX")) == NULL) || r; - r = ((glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXSelectEventSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_pbuffer */ - -#ifdef GLX_SGIX_swap_barrier - -static GLboolean _glewInit_GLX_SGIX_swap_barrier (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindSwapBarrierSGIX")) == NULL) || r; - r = ((glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryMaxSwapBarriersSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_swap_barrier */ - -#ifdef GLX_SGIX_swap_group - -static GLboolean _glewInit_GLX_SGIX_swap_group (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC)glewGetProcAddress((const GLubyte*)"glXJoinSwapGroupSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_swap_group */ - -#ifdef GLX_SGIX_video_resize - -static GLboolean _glewInit_GLX_SGIX_video_resize (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXBindChannelToWindowSGIX = (PFNGLXBINDCHANNELTOWINDOWSGIXPROC)glewGetProcAddress((const GLubyte*)"glXBindChannelToWindowSGIX")) == NULL) || r; - r = ((glXChannelRectSGIX = (PFNGLXCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSGIX")) == NULL) || r; - r = ((glXChannelRectSyncSGIX = (PFNGLXCHANNELRECTSYNCSGIXPROC)glewGetProcAddress((const GLubyte*)"glXChannelRectSyncSGIX")) == NULL) || r; - r = ((glXQueryChannelDeltasSGIX = (PFNGLXQUERYCHANNELDELTASSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelDeltasSGIX")) == NULL) || r; - r = ((glXQueryChannelRectSGIX = (PFNGLXQUERYCHANNELRECTSGIXPROC)glewGetProcAddress((const GLubyte*)"glXQueryChannelRectSGIX")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGIX_video_resize */ - -#ifdef GLX_SGIX_visual_select_group - -#endif /* GLX_SGIX_visual_select_group */ - -#ifdef GLX_SGI_cushion - -static GLboolean _glewInit_GLX_SGI_cushion (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXCushionSGI = (PFNGLXCUSHIONSGIPROC)glewGetProcAddress((const GLubyte*)"glXCushionSGI")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGI_cushion */ - -#ifdef GLX_SGI_make_current_read - -static GLboolean _glewInit_GLX_SGI_make_current_read (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentReadDrawableSGI")) == NULL) || r; - r = ((glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC)glewGetProcAddress((const GLubyte*)"glXMakeCurrentReadSGI")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGI_make_current_read */ - -#ifdef GLX_SGI_swap_control - -static GLboolean _glewInit_GLX_SGI_swap_control (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glewGetProcAddress((const GLubyte*)"glXSwapIntervalSGI")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGI_swap_control */ - -#ifdef GLX_SGI_video_sync - -static GLboolean _glewInit_GLX_SGI_video_sync (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoSyncSGI")) == NULL) || r; - r = ((glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC)glewGetProcAddress((const GLubyte*)"glXWaitVideoSyncSGI")) == NULL) || r; - - return r; -} - -#endif /* GLX_SGI_video_sync */ - -#ifdef GLX_SUN_get_transparent_index - -static GLboolean _glewInit_GLX_SUN_get_transparent_index (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC)glewGetProcAddress((const GLubyte*)"glXGetTransparentIndexSUN")) == NULL) || r; - - return r; -} - -#endif /* GLX_SUN_get_transparent_index */ - -#ifdef GLX_SUN_video_resize - -static GLboolean _glewInit_GLX_SUN_video_resize (GLXEW_CONTEXT_ARG_DEF_INIT) -{ - GLboolean r = GL_FALSE; - - r = ((glXGetVideoResizeSUN = (PFNGLXGETVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXGetVideoResizeSUN")) == NULL) || r; - r = ((glXVideoResizeSUN = (PFNGLXVIDEORESIZESUNPROC)glewGetProcAddress((const GLubyte*)"glXVideoResizeSUN")) == NULL) || r; - - return r; -} - -#endif /* GLX_SUN_video_resize */ - -/* ------------------------------------------------------------------------ */ - -GLboolean glxewGetExtension (const char* name) -{ - GLubyte* p; - GLubyte* end; - GLuint len = _glewStrLen((const GLubyte*)name); -/* if (glXQueryExtensionsString == NULL || glXGetCurrentDisplay == NULL) return GL_FALSE; */ -/* p = (GLubyte*)glXQueryExtensionsString(glXGetCurrentDisplay(), DefaultScreen(glXGetCurrentDisplay())); */ - if (glXGetClientString == NULL || glXGetCurrentDisplay == NULL) return GL_FALSE; - p = (GLubyte*)glXGetClientString(glXGetCurrentDisplay(), GLX_EXTENSIONS); - if (0 == p) return GL_FALSE; - end = p + _glewStrLen(p); - while (p < end) - { - GLuint n = _glewStrCLen(p, ' '); - if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE; - p += n+1; - } - return GL_FALSE; -} - -GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST) -{ - int major, minor; - /* initialize core GLX 1.2 */ - if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY; - /* initialize flags */ - CONST_CAST(GLXEW_VERSION_1_0) = GL_TRUE; - CONST_CAST(GLXEW_VERSION_1_1) = GL_TRUE; - CONST_CAST(GLXEW_VERSION_1_2) = GL_TRUE; - CONST_CAST(GLXEW_VERSION_1_3) = GL_TRUE; - CONST_CAST(GLXEW_VERSION_1_4) = GL_TRUE; - /* query GLX version */ - glXQueryVersion(glXGetCurrentDisplay(), &major, &minor); - if (major == 1 && minor <= 3) - { - switch (minor) - { - case 3: - CONST_CAST(GLXEW_VERSION_1_4) = GL_FALSE; - break; - case 2: - CONST_CAST(GLXEW_VERSION_1_4) = GL_FALSE; - CONST_CAST(GLXEW_VERSION_1_3) = GL_FALSE; - break; - default: - return GLEW_ERROR_GLX_VERSION_11_ONLY; - break; - } - } - /* initialize extensions */ -#ifdef GLX_VERSION_1_3 - if (glewExperimental || GLXEW_VERSION_1_3) CONST_CAST(GLXEW_VERSION_1_3) = !_glewInit_GLX_VERSION_1_3(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_VERSION_1_3 */ -#ifdef GLX_3DFX_multisample - CONST_CAST(GLXEW_3DFX_multisample) = glxewGetExtension("GLX_3DFX_multisample"); -#endif /* GLX_3DFX_multisample */ -#ifdef GLX_ARB_create_context - CONST_CAST(GLXEW_ARB_create_context) = glxewGetExtension("GLX_ARB_create_context"); - if (glewExperimental || GLXEW_ARB_create_context) CONST_CAST(GLXEW_ARB_create_context) = !_glewInit_GLX_ARB_create_context(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_ARB_create_context */ -#ifdef GLX_ARB_fbconfig_float - CONST_CAST(GLXEW_ARB_fbconfig_float) = glxewGetExtension("GLX_ARB_fbconfig_float"); -#endif /* GLX_ARB_fbconfig_float */ -#ifdef GLX_ARB_framebuffer_sRGB - CONST_CAST(GLXEW_ARB_framebuffer_sRGB) = glxewGetExtension("GLX_ARB_framebuffer_sRGB"); -#endif /* GLX_ARB_framebuffer_sRGB */ -#ifdef GLX_ARB_get_proc_address - CONST_CAST(GLXEW_ARB_get_proc_address) = glxewGetExtension("GLX_ARB_get_proc_address"); -#endif /* GLX_ARB_get_proc_address */ -#ifdef GLX_ARB_multisample - CONST_CAST(GLXEW_ARB_multisample) = glxewGetExtension("GLX_ARB_multisample"); -#endif /* GLX_ARB_multisample */ -#ifdef GLX_ATI_pixel_format_float - CONST_CAST(GLXEW_ATI_pixel_format_float) = glxewGetExtension("GLX_ATI_pixel_format_float"); -#endif /* GLX_ATI_pixel_format_float */ -#ifdef GLX_ATI_render_texture - CONST_CAST(GLXEW_ATI_render_texture) = glxewGetExtension("GLX_ATI_render_texture"); - if (glewExperimental || GLXEW_ATI_render_texture) CONST_CAST(GLXEW_ATI_render_texture) = !_glewInit_GLX_ATI_render_texture(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_ATI_render_texture */ -#ifdef GLX_EXT_fbconfig_packed_float - CONST_CAST(GLXEW_EXT_fbconfig_packed_float) = glxewGetExtension("GLX_EXT_fbconfig_packed_float"); -#endif /* GLX_EXT_fbconfig_packed_float */ -#ifdef GLX_EXT_framebuffer_sRGB - CONST_CAST(GLXEW_EXT_framebuffer_sRGB) = glxewGetExtension("GLX_EXT_framebuffer_sRGB"); -#endif /* GLX_EXT_framebuffer_sRGB */ -#ifdef GLX_EXT_import_context - CONST_CAST(GLXEW_EXT_import_context) = glxewGetExtension("GLX_EXT_import_context"); - if (glewExperimental || GLXEW_EXT_import_context) CONST_CAST(GLXEW_EXT_import_context) = !_glewInit_GLX_EXT_import_context(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_EXT_import_context */ -#ifdef GLX_EXT_scene_marker - CONST_CAST(GLXEW_EXT_scene_marker) = glxewGetExtension("GLX_EXT_scene_marker"); -#endif /* GLX_EXT_scene_marker */ -#ifdef GLX_EXT_texture_from_pixmap - CONST_CAST(GLXEW_EXT_texture_from_pixmap) = glxewGetExtension("GLX_EXT_texture_from_pixmap"); - if (glewExperimental || GLXEW_EXT_texture_from_pixmap) CONST_CAST(GLXEW_EXT_texture_from_pixmap) = !_glewInit_GLX_EXT_texture_from_pixmap(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_EXT_texture_from_pixmap */ -#ifdef GLX_EXT_visual_info - CONST_CAST(GLXEW_EXT_visual_info) = glxewGetExtension("GLX_EXT_visual_info"); -#endif /* GLX_EXT_visual_info */ -#ifdef GLX_EXT_visual_rating - CONST_CAST(GLXEW_EXT_visual_rating) = glxewGetExtension("GLX_EXT_visual_rating"); -#endif /* GLX_EXT_visual_rating */ -#ifdef GLX_MESA_agp_offset - CONST_CAST(GLXEW_MESA_agp_offset) = glxewGetExtension("GLX_MESA_agp_offset"); - if (glewExperimental || GLXEW_MESA_agp_offset) CONST_CAST(GLXEW_MESA_agp_offset) = !_glewInit_GLX_MESA_agp_offset(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_MESA_agp_offset */ -#ifdef GLX_MESA_copy_sub_buffer - CONST_CAST(GLXEW_MESA_copy_sub_buffer) = glxewGetExtension("GLX_MESA_copy_sub_buffer"); - if (glewExperimental || GLXEW_MESA_copy_sub_buffer) CONST_CAST(GLXEW_MESA_copy_sub_buffer) = !_glewInit_GLX_MESA_copy_sub_buffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_MESA_copy_sub_buffer */ -#ifdef GLX_MESA_pixmap_colormap - CONST_CAST(GLXEW_MESA_pixmap_colormap) = glxewGetExtension("GLX_MESA_pixmap_colormap"); - if (glewExperimental || GLXEW_MESA_pixmap_colormap) CONST_CAST(GLXEW_MESA_pixmap_colormap) = !_glewInit_GLX_MESA_pixmap_colormap(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_MESA_pixmap_colormap */ -#ifdef GLX_MESA_release_buffers - CONST_CAST(GLXEW_MESA_release_buffers) = glxewGetExtension("GLX_MESA_release_buffers"); - if (glewExperimental || GLXEW_MESA_release_buffers) CONST_CAST(GLXEW_MESA_release_buffers) = !_glewInit_GLX_MESA_release_buffers(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_MESA_release_buffers */ -#ifdef GLX_MESA_set_3dfx_mode - CONST_CAST(GLXEW_MESA_set_3dfx_mode) = glxewGetExtension("GLX_MESA_set_3dfx_mode"); - if (glewExperimental || GLXEW_MESA_set_3dfx_mode) CONST_CAST(GLXEW_MESA_set_3dfx_mode) = !_glewInit_GLX_MESA_set_3dfx_mode(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_MESA_set_3dfx_mode */ -#ifdef GLX_NV_float_buffer - CONST_CAST(GLXEW_NV_float_buffer) = glxewGetExtension("GLX_NV_float_buffer"); -#endif /* GLX_NV_float_buffer */ -#ifdef GLX_NV_present_video - CONST_CAST(GLXEW_NV_present_video) = glxewGetExtension("GLX_NV_present_video"); - if (glewExperimental || GLXEW_NV_present_video) CONST_CAST(GLXEW_NV_present_video) = !_glewInit_GLX_NV_present_video(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_NV_present_video */ -#ifdef GLX_NV_swap_group - CONST_CAST(GLXEW_NV_swap_group) = glxewGetExtension("GLX_NV_swap_group"); - if (glewExperimental || GLXEW_NV_swap_group) CONST_CAST(GLXEW_NV_swap_group) = !_glewInit_GLX_NV_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_NV_swap_group */ -#ifdef GLX_NV_vertex_array_range - CONST_CAST(GLXEW_NV_vertex_array_range) = glxewGetExtension("GLX_NV_vertex_array_range"); - if (glewExperimental || GLXEW_NV_vertex_array_range) CONST_CAST(GLXEW_NV_vertex_array_range) = !_glewInit_GLX_NV_vertex_array_range(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_NV_vertex_array_range */ -#ifdef GLX_NV_video_output - CONST_CAST(GLXEW_NV_video_output) = glxewGetExtension("GLX_NV_video_output"); - if (glewExperimental || GLXEW_NV_video_output) CONST_CAST(GLXEW_NV_video_output) = !_glewInit_GLX_NV_video_output(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_NV_video_output */ -#ifdef GLX_OML_swap_method - CONST_CAST(GLXEW_OML_swap_method) = glxewGetExtension("GLX_OML_swap_method"); -#endif /* GLX_OML_swap_method */ -#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#include - CONST_CAST(GLXEW_OML_sync_control) = glxewGetExtension("GLX_OML_sync_control"); - if (glewExperimental || GLXEW_OML_sync_control) CONST_CAST(GLXEW_OML_sync_control) = !_glewInit_GLX_OML_sync_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_OML_sync_control */ -#ifdef GLX_SGIS_blended_overlay - CONST_CAST(GLXEW_SGIS_blended_overlay) = glxewGetExtension("GLX_SGIS_blended_overlay"); -#endif /* GLX_SGIS_blended_overlay */ -#ifdef GLX_SGIS_color_range - CONST_CAST(GLXEW_SGIS_color_range) = glxewGetExtension("GLX_SGIS_color_range"); -#endif /* GLX_SGIS_color_range */ -#ifdef GLX_SGIS_multisample - CONST_CAST(GLXEW_SGIS_multisample) = glxewGetExtension("GLX_SGIS_multisample"); -#endif /* GLX_SGIS_multisample */ -#ifdef GLX_SGIS_shared_multisample - CONST_CAST(GLXEW_SGIS_shared_multisample) = glxewGetExtension("GLX_SGIS_shared_multisample"); -#endif /* GLX_SGIS_shared_multisample */ -#ifdef GLX_SGIX_fbconfig - CONST_CAST(GLXEW_SGIX_fbconfig) = glxewGetExtension("GLX_SGIX_fbconfig"); - if (glewExperimental || GLXEW_SGIX_fbconfig) CONST_CAST(GLXEW_SGIX_fbconfig) = !_glewInit_GLX_SGIX_fbconfig(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_fbconfig */ -#ifdef GLX_SGIX_hyperpipe - CONST_CAST(GLXEW_SGIX_hyperpipe) = glxewGetExtension("GLX_SGIX_hyperpipe"); - if (glewExperimental || GLXEW_SGIX_hyperpipe) CONST_CAST(GLXEW_SGIX_hyperpipe) = !_glewInit_GLX_SGIX_hyperpipe(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_hyperpipe */ -#ifdef GLX_SGIX_pbuffer - CONST_CAST(GLXEW_SGIX_pbuffer) = glxewGetExtension("GLX_SGIX_pbuffer"); - if (glewExperimental || GLXEW_SGIX_pbuffer) CONST_CAST(GLXEW_SGIX_pbuffer) = !_glewInit_GLX_SGIX_pbuffer(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_pbuffer */ -#ifdef GLX_SGIX_swap_barrier - CONST_CAST(GLXEW_SGIX_swap_barrier) = glxewGetExtension("GLX_SGIX_swap_barrier"); - if (glewExperimental || GLXEW_SGIX_swap_barrier) CONST_CAST(GLXEW_SGIX_swap_barrier) = !_glewInit_GLX_SGIX_swap_barrier(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_swap_barrier */ -#ifdef GLX_SGIX_swap_group - CONST_CAST(GLXEW_SGIX_swap_group) = glxewGetExtension("GLX_SGIX_swap_group"); - if (glewExperimental || GLXEW_SGIX_swap_group) CONST_CAST(GLXEW_SGIX_swap_group) = !_glewInit_GLX_SGIX_swap_group(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_swap_group */ -#ifdef GLX_SGIX_video_resize - CONST_CAST(GLXEW_SGIX_video_resize) = glxewGetExtension("GLX_SGIX_video_resize"); - if (glewExperimental || GLXEW_SGIX_video_resize) CONST_CAST(GLXEW_SGIX_video_resize) = !_glewInit_GLX_SGIX_video_resize(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGIX_video_resize */ -#ifdef GLX_SGIX_visual_select_group - CONST_CAST(GLXEW_SGIX_visual_select_group) = glxewGetExtension("GLX_SGIX_visual_select_group"); -#endif /* GLX_SGIX_visual_select_group */ -#ifdef GLX_SGI_cushion - CONST_CAST(GLXEW_SGI_cushion) = glxewGetExtension("GLX_SGI_cushion"); - if (glewExperimental || GLXEW_SGI_cushion) CONST_CAST(GLXEW_SGI_cushion) = !_glewInit_GLX_SGI_cushion(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGI_cushion */ -#ifdef GLX_SGI_make_current_read - CONST_CAST(GLXEW_SGI_make_current_read) = glxewGetExtension("GLX_SGI_make_current_read"); - if (glewExperimental || GLXEW_SGI_make_current_read) CONST_CAST(GLXEW_SGI_make_current_read) = !_glewInit_GLX_SGI_make_current_read(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGI_make_current_read */ -#ifdef GLX_SGI_swap_control - CONST_CAST(GLXEW_SGI_swap_control) = glxewGetExtension("GLX_SGI_swap_control"); - if (glewExperimental || GLXEW_SGI_swap_control) CONST_CAST(GLXEW_SGI_swap_control) = !_glewInit_GLX_SGI_swap_control(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGI_swap_control */ -#ifdef GLX_SGI_video_sync - CONST_CAST(GLXEW_SGI_video_sync) = glxewGetExtension("GLX_SGI_video_sync"); - if (glewExperimental || GLXEW_SGI_video_sync) CONST_CAST(GLXEW_SGI_video_sync) = !_glewInit_GLX_SGI_video_sync(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SGI_video_sync */ -#ifdef GLX_SUN_get_transparent_index - CONST_CAST(GLXEW_SUN_get_transparent_index) = glxewGetExtension("GLX_SUN_get_transparent_index"); - if (glewExperimental || GLXEW_SUN_get_transparent_index) CONST_CAST(GLXEW_SUN_get_transparent_index) = !_glewInit_GLX_SUN_get_transparent_index(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SUN_get_transparent_index */ -#ifdef GLX_SUN_video_resize - CONST_CAST(GLXEW_SUN_video_resize) = glxewGetExtension("GLX_SUN_video_resize"); - if (glewExperimental || GLXEW_SUN_video_resize) CONST_CAST(GLXEW_SUN_video_resize) = !_glewInit_GLX_SUN_video_resize(GLEW_CONTEXT_ARG_VAR_INIT); -#endif /* GLX_SUN_video_resize */ - - return GLEW_OK; -} - -#endif /* !__APPLE__ || GLEW_APPLE_GLX */ - -/* ------------------------------------------------------------------------ */ - -const GLubyte* glewGetErrorString (GLenum error) -{ - static const GLubyte* _glewErrorString[] = - { - (const GLubyte*)"No error", - (const GLubyte*)"Missing GL version", - (const GLubyte*)"GL 1.1 and up are not supported", - (const GLubyte*)"GLX 1.2 and up are not supported", - (const GLubyte*)"Unknown error" - }; - const int max_error = sizeof(_glewErrorString)/sizeof(*_glewErrorString) - 1; - return _glewErrorString[(int)error > max_error ? max_error : (int)error]; -} - -const GLubyte* glewGetString (GLenum name) -{ - static const GLubyte* _glewString[] = - { - (const GLubyte*)NULL, - (const GLubyte*)"1.5.1", - (const GLubyte*)"1", - (const GLubyte*)"5", - (const GLubyte*)"1" - }; - const int max_string = sizeof(_glewString)/sizeof(*_glewString) - 1; - return _glewString[(int)name > max_string ? 0 : (int)name]; -} - -/* ------------------------------------------------------------------------ */ - -GLboolean glewExperimental = GL_FALSE; - -#if !defined(GLEW_MX) - -#if defined(_WIN32) -extern GLenum wglewContextInit (void); -#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) /* _UNIX */ -extern GLenum glxewContextInit (void); -#endif /* _WIN32 */ - -GLenum glewInit () -{ - GLenum r; - if ( (r = glewContextInit()) ) return r; -#if defined(_WIN32) - return wglewContextInit(); -#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) /* _UNIX */ - return glxewContextInit(); -#else - return r; -#endif /* _WIN32 */ -} - -#endif /* !GLEW_MX */ -#ifdef GLEW_MX -GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name) -#else -GLboolean glewIsSupported (const char* name) -#endif -{ - GLubyte* pos = (GLubyte*)name; - GLuint len = _glewStrLen(pos); - GLboolean ret = GL_TRUE; - while (ret && len > 0) - { - if (_glewStrSame1(&pos, &len, (const GLubyte*)"GL_", 3)) - { - if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) - { -#ifdef GL_VERSION_1_2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) - { - ret = GLEW_VERSION_1_2; - continue; - } -#endif -#ifdef GL_VERSION_1_3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) - { - ret = GLEW_VERSION_1_3; - continue; - } -#endif -#ifdef GL_VERSION_1_4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) - { - ret = GLEW_VERSION_1_4; - continue; - } -#endif -#ifdef GL_VERSION_1_5 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_5", 3)) - { - ret = GLEW_VERSION_1_5; - continue; - } -#endif -#ifdef GL_VERSION_2_0 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_0", 3)) - { - ret = GLEW_VERSION_2_0; - continue; - } -#endif -#ifdef GL_VERSION_2_1 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"2_1", 3)) - { - ret = GLEW_VERSION_2_1; - continue; - } -#endif -#ifdef GL_VERSION_3_0 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"3_0", 3)) - { - ret = GLEW_VERSION_3_0; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) - { -#ifdef GL_3DFX_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLEW_3DFX_multisample; - continue; - } -#endif -#ifdef GL_3DFX_tbuffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"tbuffer", 7)) - { - ret = GLEW_3DFX_tbuffer; - continue; - } -#endif -#ifdef GL_3DFX_texture_compression_FXT1 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_FXT1", 24)) - { - ret = GLEW_3DFX_texture_compression_FXT1; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"APPLE_", 6)) - { -#ifdef GL_APPLE_client_storage - if (_glewStrSame3(&pos, &len, (const GLubyte*)"client_storage", 14)) - { - ret = GLEW_APPLE_client_storage; - continue; - } -#endif -#ifdef GL_APPLE_element_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) - { - ret = GLEW_APPLE_element_array; - continue; - } -#endif -#ifdef GL_APPLE_fence - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) - { - ret = GLEW_APPLE_fence; - continue; - } -#endif -#ifdef GL_APPLE_float_pixels - if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_pixels", 12)) - { - ret = GLEW_APPLE_float_pixels; - continue; - } -#endif -#ifdef GL_APPLE_flush_buffer_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_buffer_range", 18)) - { - ret = GLEW_APPLE_flush_buffer_range; - continue; - } -#endif -#ifdef GL_APPLE_pixel_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer", 12)) - { - ret = GLEW_APPLE_pixel_buffer; - continue; - } -#endif -#ifdef GL_APPLE_specular_vector - if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_vector", 15)) - { - ret = GLEW_APPLE_specular_vector; - continue; - } -#endif -#ifdef GL_APPLE_texture_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) - { - ret = GLEW_APPLE_texture_range; - continue; - } -#endif -#ifdef GL_APPLE_transform_hint - if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_hint", 14)) - { - ret = GLEW_APPLE_transform_hint; - continue; - } -#endif -#ifdef GL_APPLE_vertex_array_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) - { - ret = GLEW_APPLE_vertex_array_object; - continue; - } -#endif -#ifdef GL_APPLE_vertex_array_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) - { - ret = GLEW_APPLE_vertex_array_range; - continue; - } -#endif -#ifdef GL_APPLE_ycbcr_422 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_422", 9)) - { - ret = GLEW_APPLE_ycbcr_422; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) - { -#ifdef GL_ARB_color_buffer_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_buffer_float", 18)) - { - ret = GLEW_ARB_color_buffer_float; - continue; - } -#endif -#ifdef GL_ARB_depth_buffer_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) - { - ret = GLEW_ARB_depth_buffer_float; - continue; - } -#endif -#ifdef GL_ARB_depth_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) - { - ret = GLEW_ARB_depth_texture; - continue; - } -#endif -#ifdef GL_ARB_draw_buffers - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) - { - ret = GLEW_ARB_draw_buffers; - continue; - } -#endif -#ifdef GL_ARB_draw_instanced - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) - { - ret = GLEW_ARB_draw_instanced; - continue; - } -#endif -#ifdef GL_ARB_fragment_program - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) - { - ret = GLEW_ARB_fragment_program; - continue; - } -#endif -#ifdef GL_ARB_fragment_program_shadow - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_shadow", 23)) - { - ret = GLEW_ARB_fragment_program_shadow; - continue; - } -#endif -#ifdef GL_ARB_fragment_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) - { - ret = GLEW_ARB_fragment_shader; - continue; - } -#endif -#ifdef GL_ARB_framebuffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) - { - ret = GLEW_ARB_framebuffer_object; - continue; - } -#endif -#ifdef GL_ARB_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = GLEW_ARB_framebuffer_sRGB; - continue; - } -#endif -#ifdef GL_ARB_geometry_shader4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) - { - ret = GLEW_ARB_geometry_shader4; - continue; - } -#endif -#ifdef GL_ARB_half_float_pixel - if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_pixel", 16)) - { - ret = GLEW_ARB_half_float_pixel; - continue; - } -#endif -#ifdef GL_ARB_half_float_vertex - if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float_vertex", 17)) - { - ret = GLEW_ARB_half_float_vertex; - continue; - } -#endif -#ifdef GL_ARB_imaging - if (_glewStrSame3(&pos, &len, (const GLubyte*)"imaging", 7)) - { - ret = GLEW_ARB_imaging; - continue; - } -#endif -#ifdef GL_ARB_instanced_arrays - if (_glewStrSame3(&pos, &len, (const GLubyte*)"instanced_arrays", 16)) - { - ret = GLEW_ARB_instanced_arrays; - continue; - } -#endif -#ifdef GL_ARB_map_buffer_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_buffer_range", 16)) - { - ret = GLEW_ARB_map_buffer_range; - continue; - } -#endif -#ifdef GL_ARB_matrix_palette - if (_glewStrSame3(&pos, &len, (const GLubyte*)"matrix_palette", 14)) - { - ret = GLEW_ARB_matrix_palette; - continue; - } -#endif -#ifdef GL_ARB_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLEW_ARB_multisample; - continue; - } -#endif -#ifdef GL_ARB_multitexture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multitexture", 12)) - { - ret = GLEW_ARB_multitexture; - continue; - } -#endif -#ifdef GL_ARB_occlusion_query - if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) - { - ret = GLEW_ARB_occlusion_query; - continue; - } -#endif -#ifdef GL_ARB_pixel_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) - { - ret = GLEW_ARB_pixel_buffer_object; - continue; - } -#endif -#ifdef GL_ARB_point_parameters - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) - { - ret = GLEW_ARB_point_parameters; - continue; - } -#endif -#ifdef GL_ARB_point_sprite - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) - { - ret = GLEW_ARB_point_sprite; - continue; - } -#endif -#ifdef GL_ARB_shader_objects - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_objects", 14)) - { - ret = GLEW_ARB_shader_objects; - continue; - } -#endif -#ifdef GL_ARB_shading_language_100 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shading_language_100", 20)) - { - ret = GLEW_ARB_shading_language_100; - continue; - } -#endif -#ifdef GL_ARB_shadow - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) - { - ret = GLEW_ARB_shadow; - continue; - } -#endif -#ifdef GL_ARB_shadow_ambient - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) - { - ret = GLEW_ARB_shadow_ambient; - continue; - } -#endif -#ifdef GL_ARB_texture_border_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) - { - ret = GLEW_ARB_texture_border_clamp; - continue; - } -#endif -#ifdef GL_ARB_texture_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) - { - ret = GLEW_ARB_texture_buffer_object; - continue; - } -#endif -#ifdef GL_ARB_texture_compression - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression", 19)) - { - ret = GLEW_ARB_texture_compression; - continue; - } -#endif -#ifdef GL_ARB_texture_compression_rgtc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) - { - ret = GLEW_ARB_texture_compression_rgtc; - continue; - } -#endif -#ifdef GL_ARB_texture_cube_map - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) - { - ret = GLEW_ARB_texture_cube_map; - continue; - } -#endif -#ifdef GL_ARB_texture_env_add - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) - { - ret = GLEW_ARB_texture_env_add; - continue; - } -#endif -#ifdef GL_ARB_texture_env_combine - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) - { - ret = GLEW_ARB_texture_env_combine; - continue; - } -#endif -#ifdef GL_ARB_texture_env_crossbar - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_crossbar", 20)) - { - ret = GLEW_ARB_texture_env_crossbar; - continue; - } -#endif -#ifdef GL_ARB_texture_env_dot3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) - { - ret = GLEW_ARB_texture_env_dot3; - continue; - } -#endif -#ifdef GL_ARB_texture_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) - { - ret = GLEW_ARB_texture_float; - continue; - } -#endif -#ifdef GL_ARB_texture_mirrored_repeat - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) - { - ret = GLEW_ARB_texture_mirrored_repeat; - continue; - } -#endif -#ifdef GL_ARB_texture_non_power_of_two - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_non_power_of_two", 24)) - { - ret = GLEW_ARB_texture_non_power_of_two; - continue; - } -#endif -#ifdef GL_ARB_texture_rectangle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) - { - ret = GLEW_ARB_texture_rectangle; - continue; - } -#endif -#ifdef GL_ARB_texture_rg - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rg", 10)) - { - ret = GLEW_ARB_texture_rg; - continue; - } -#endif -#ifdef GL_ARB_transpose_matrix - if (_glewStrSame3(&pos, &len, (const GLubyte*)"transpose_matrix", 16)) - { - ret = GLEW_ARB_transpose_matrix; - continue; - } -#endif -#ifdef GL_ARB_vertex_array_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) - { - ret = GLEW_ARB_vertex_array_object; - continue; - } -#endif -#ifdef GL_ARB_vertex_blend - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_blend", 12)) - { - ret = GLEW_ARB_vertex_blend; - continue; - } -#endif -#ifdef GL_ARB_vertex_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_buffer_object", 20)) - { - ret = GLEW_ARB_vertex_buffer_object; - continue; - } -#endif -#ifdef GL_ARB_vertex_program - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) - { - ret = GLEW_ARB_vertex_program; - continue; - } -#endif -#ifdef GL_ARB_vertex_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) - { - ret = GLEW_ARB_vertex_shader; - continue; - } -#endif -#ifdef GL_ARB_window_pos - if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) - { - ret = GLEW_ARB_window_pos; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATIX_", 5)) - { -#ifdef GL_ATIX_point_sprites - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprites", 13)) - { - ret = GLEW_ATIX_point_sprites; - continue; - } -#endif -#ifdef GL_ATIX_texture_env_combine3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) - { - ret = GLEW_ATIX_texture_env_combine3; - continue; - } -#endif -#ifdef GL_ATIX_texture_env_route - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_route", 17)) - { - ret = GLEW_ATIX_texture_env_route; - continue; - } -#endif -#ifdef GL_ATIX_vertex_shader_output_point_size - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader_output_point_size", 31)) - { - ret = GLEW_ATIX_vertex_shader_output_point_size; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) - { -#ifdef GL_ATI_draw_buffers - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers", 12)) - { - ret = GLEW_ATI_draw_buffers; - continue; - } -#endif -#ifdef GL_ATI_element_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"element_array", 13)) - { - ret = GLEW_ATI_element_array; - continue; - } -#endif -#ifdef GL_ATI_envmap_bumpmap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"envmap_bumpmap", 14)) - { - ret = GLEW_ATI_envmap_bumpmap; - continue; - } -#endif -#ifdef GL_ATI_fragment_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_shader", 15)) - { - ret = GLEW_ATI_fragment_shader; - continue; - } -#endif -#ifdef GL_ATI_map_object_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"map_object_buffer", 17)) - { - ret = GLEW_ATI_map_object_buffer; - continue; - } -#endif -#ifdef GL_ATI_pn_triangles - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pn_triangles", 12)) - { - ret = GLEW_ATI_pn_triangles; - continue; - } -#endif -#ifdef GL_ATI_separate_stencil - if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_stencil", 16)) - { - ret = GLEW_ATI_separate_stencil; - continue; - } -#endif -#ifdef GL_ATI_shader_texture_lod - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shader_texture_lod", 18)) - { - ret = GLEW_ATI_shader_texture_lod; - continue; - } -#endif -#ifdef GL_ATI_text_fragment_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"text_fragment_shader", 20)) - { - ret = GLEW_ATI_text_fragment_shader; - continue; - } -#endif -#ifdef GL_ATI_texture_compression_3dc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_3dc", 23)) - { - ret = GLEW_ATI_texture_compression_3dc; - continue; - } -#endif -#ifdef GL_ATI_texture_env_combine3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine3", 20)) - { - ret = GLEW_ATI_texture_env_combine3; - continue; - } -#endif -#ifdef GL_ATI_texture_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_float", 13)) - { - ret = GLEW_ATI_texture_float; - continue; - } -#endif -#ifdef GL_ATI_texture_mirror_once - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_once", 19)) - { - ret = GLEW_ATI_texture_mirror_once; - continue; - } -#endif -#ifdef GL_ATI_vertex_array_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_object", 19)) - { - ret = GLEW_ATI_vertex_array_object; - continue; - } -#endif -#ifdef GL_ATI_vertex_attrib_array_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_attrib_array_object", 26)) - { - ret = GLEW_ATI_vertex_attrib_array_object; - continue; - } -#endif -#ifdef GL_ATI_vertex_streams - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_streams", 14)) - { - ret = GLEW_ATI_vertex_streams; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) - { -#ifdef GL_EXT_422_pixels - if (_glewStrSame3(&pos, &len, (const GLubyte*)"422_pixels", 10)) - { - ret = GLEW_EXT_422_pixels; - continue; - } -#endif -#ifdef GL_EXT_Cg_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"Cg_shader", 9)) - { - ret = GLEW_EXT_Cg_shader; - continue; - } -#endif -#ifdef GL_EXT_abgr - if (_glewStrSame3(&pos, &len, (const GLubyte*)"abgr", 4)) - { - ret = GLEW_EXT_abgr; - continue; - } -#endif -#ifdef GL_EXT_bgra - if (_glewStrSame3(&pos, &len, (const GLubyte*)"bgra", 4)) - { - ret = GLEW_EXT_bgra; - continue; - } -#endif -#ifdef GL_EXT_bindable_uniform - if (_glewStrSame3(&pos, &len, (const GLubyte*)"bindable_uniform", 16)) - { - ret = GLEW_EXT_bindable_uniform; - continue; - } -#endif -#ifdef GL_EXT_blend_color - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_color", 11)) - { - ret = GLEW_EXT_blend_color; - continue; - } -#endif -#ifdef GL_EXT_blend_equation_separate - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_equation_separate", 23)) - { - ret = GLEW_EXT_blend_equation_separate; - continue; - } -#endif -#ifdef GL_EXT_blend_func_separate - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_func_separate", 19)) - { - ret = GLEW_EXT_blend_func_separate; - continue; - } -#endif -#ifdef GL_EXT_blend_logic_op - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_logic_op", 14)) - { - ret = GLEW_EXT_blend_logic_op; - continue; - } -#endif -#ifdef GL_EXT_blend_minmax - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_minmax", 12)) - { - ret = GLEW_EXT_blend_minmax; - continue; - } -#endif -#ifdef GL_EXT_blend_subtract - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_subtract", 14)) - { - ret = GLEW_EXT_blend_subtract; - continue; - } -#endif -#ifdef GL_EXT_clip_volume_hint - if (_glewStrSame3(&pos, &len, (const GLubyte*)"clip_volume_hint", 16)) - { - ret = GLEW_EXT_clip_volume_hint; - continue; - } -#endif -#ifdef GL_EXT_cmyka - if (_glewStrSame3(&pos, &len, (const GLubyte*)"cmyka", 5)) - { - ret = GLEW_EXT_cmyka; - continue; - } -#endif -#ifdef GL_EXT_color_subtable - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_subtable", 14)) - { - ret = GLEW_EXT_color_subtable; - continue; - } -#endif -#ifdef GL_EXT_compiled_vertex_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"compiled_vertex_array", 21)) - { - ret = GLEW_EXT_compiled_vertex_array; - continue; - } -#endif -#ifdef GL_EXT_convolution - if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution", 11)) - { - ret = GLEW_EXT_convolution; - continue; - } -#endif -#ifdef GL_EXT_coordinate_frame - if (_glewStrSame3(&pos, &len, (const GLubyte*)"coordinate_frame", 16)) - { - ret = GLEW_EXT_coordinate_frame; - continue; - } -#endif -#ifdef GL_EXT_copy_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_texture", 12)) - { - ret = GLEW_EXT_copy_texture; - continue; - } -#endif -#ifdef GL_EXT_cull_vertex - if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) - { - ret = GLEW_EXT_cull_vertex; - continue; - } -#endif -#ifdef GL_EXT_depth_bounds_test - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_bounds_test", 17)) - { - ret = GLEW_EXT_depth_bounds_test; - continue; - } -#endif -#ifdef GL_EXT_direct_state_access - if (_glewStrSame3(&pos, &len, (const GLubyte*)"direct_state_access", 19)) - { - ret = GLEW_EXT_direct_state_access; - continue; - } -#endif -#ifdef GL_EXT_draw_buffers2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_buffers2", 13)) - { - ret = GLEW_EXT_draw_buffers2; - continue; - } -#endif -#ifdef GL_EXT_draw_instanced - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_instanced", 14)) - { - ret = GLEW_EXT_draw_instanced; - continue; - } -#endif -#ifdef GL_EXT_draw_range_elements - if (_glewStrSame3(&pos, &len, (const GLubyte*)"draw_range_elements", 19)) - { - ret = GLEW_EXT_draw_range_elements; - continue; - } -#endif -#ifdef GL_EXT_fog_coord - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_coord", 9)) - { - ret = GLEW_EXT_fog_coord; - continue; - } -#endif -#ifdef GL_EXT_fragment_lighting - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_lighting", 17)) - { - ret = GLEW_EXT_fragment_lighting; - continue; - } -#endif -#ifdef GL_EXT_framebuffer_blit - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_blit", 16)) - { - ret = GLEW_EXT_framebuffer_blit; - continue; - } -#endif -#ifdef GL_EXT_framebuffer_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample", 23)) - { - ret = GLEW_EXT_framebuffer_multisample; - continue; - } -#endif -#ifdef GL_EXT_framebuffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_object", 18)) - { - ret = GLEW_EXT_framebuffer_object; - continue; - } -#endif -#ifdef GL_EXT_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = GLEW_EXT_framebuffer_sRGB; - continue; - } -#endif -#ifdef GL_EXT_geometry_shader4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) - { - ret = GLEW_EXT_geometry_shader4; - continue; - } -#endif -#ifdef GL_EXT_gpu_program_parameters - if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program_parameters", 22)) - { - ret = GLEW_EXT_gpu_program_parameters; - continue; - } -#endif -#ifdef GL_EXT_gpu_shader4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_shader4", 11)) - { - ret = GLEW_EXT_gpu_shader4; - continue; - } -#endif -#ifdef GL_EXT_histogram - if (_glewStrSame3(&pos, &len, (const GLubyte*)"histogram", 9)) - { - ret = GLEW_EXT_histogram; - continue; - } -#endif -#ifdef GL_EXT_index_array_formats - if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_array_formats", 19)) - { - ret = GLEW_EXT_index_array_formats; - continue; - } -#endif -#ifdef GL_EXT_index_func - if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_func", 10)) - { - ret = GLEW_EXT_index_func; - continue; - } -#endif -#ifdef GL_EXT_index_material - if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_material", 14)) - { - ret = GLEW_EXT_index_material; - continue; - } -#endif -#ifdef GL_EXT_index_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"index_texture", 13)) - { - ret = GLEW_EXT_index_texture; - continue; - } -#endif -#ifdef GL_EXT_light_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_texture", 13)) - { - ret = GLEW_EXT_light_texture; - continue; - } -#endif -#ifdef GL_EXT_misc_attribute - if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_attribute", 14)) - { - ret = GLEW_EXT_misc_attribute; - continue; - } -#endif -#ifdef GL_EXT_multi_draw_arrays - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multi_draw_arrays", 17)) - { - ret = GLEW_EXT_multi_draw_arrays; - continue; - } -#endif -#ifdef GL_EXT_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLEW_EXT_multisample; - continue; - } -#endif -#ifdef GL_EXT_packed_depth_stencil - if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) - { - ret = GLEW_EXT_packed_depth_stencil; - continue; - } -#endif -#ifdef GL_EXT_packed_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_float", 12)) - { - ret = GLEW_EXT_packed_float; - continue; - } -#endif -#ifdef GL_EXT_packed_pixels - if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_pixels", 13)) - { - ret = GLEW_EXT_packed_pixels; - continue; - } -#endif -#ifdef GL_EXT_paletted_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"paletted_texture", 16)) - { - ret = GLEW_EXT_paletted_texture; - continue; - } -#endif -#ifdef GL_EXT_pixel_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_buffer_object", 19)) - { - ret = GLEW_EXT_pixel_buffer_object; - continue; - } -#endif -#ifdef GL_EXT_pixel_transform - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform", 15)) - { - ret = GLEW_EXT_pixel_transform; - continue; - } -#endif -#ifdef GL_EXT_pixel_transform_color_table - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_transform_color_table", 27)) - { - ret = GLEW_EXT_pixel_transform_color_table; - continue; - } -#endif -#ifdef GL_EXT_point_parameters - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_parameters", 16)) - { - ret = GLEW_EXT_point_parameters; - continue; - } -#endif -#ifdef GL_EXT_polygon_offset - if (_glewStrSame3(&pos, &len, (const GLubyte*)"polygon_offset", 14)) - { - ret = GLEW_EXT_polygon_offset; - continue; - } -#endif -#ifdef GL_EXT_rescale_normal - if (_glewStrSame3(&pos, &len, (const GLubyte*)"rescale_normal", 14)) - { - ret = GLEW_EXT_rescale_normal; - continue; - } -#endif -#ifdef GL_EXT_scene_marker - if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) - { - ret = GLEW_EXT_scene_marker; - continue; - } -#endif -#ifdef GL_EXT_secondary_color - if (_glewStrSame3(&pos, &len, (const GLubyte*)"secondary_color", 15)) - { - ret = GLEW_EXT_secondary_color; - continue; - } -#endif -#ifdef GL_EXT_separate_specular_color - if (_glewStrSame3(&pos, &len, (const GLubyte*)"separate_specular_color", 23)) - { - ret = GLEW_EXT_separate_specular_color; - continue; - } -#endif -#ifdef GL_EXT_shadow_funcs - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_funcs", 12)) - { - ret = GLEW_EXT_shadow_funcs; - continue; - } -#endif -#ifdef GL_EXT_shared_texture_palette - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_texture_palette", 22)) - { - ret = GLEW_EXT_shared_texture_palette; - continue; - } -#endif -#ifdef GL_EXT_stencil_clear_tag - if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_clear_tag", 17)) - { - ret = GLEW_EXT_stencil_clear_tag; - continue; - } -#endif -#ifdef GL_EXT_stencil_two_side - if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_two_side", 16)) - { - ret = GLEW_EXT_stencil_two_side; - continue; - } -#endif -#ifdef GL_EXT_stencil_wrap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"stencil_wrap", 12)) - { - ret = GLEW_EXT_stencil_wrap; - continue; - } -#endif -#ifdef GL_EXT_subtexture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"subtexture", 10)) - { - ret = GLEW_EXT_subtexture; - continue; - } -#endif -#ifdef GL_EXT_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture", 7)) - { - ret = GLEW_EXT_texture; - continue; - } -#endif -#ifdef GL_EXT_texture3D - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture3D", 9)) - { - ret = GLEW_EXT_texture3D; - continue; - } -#endif -#ifdef GL_EXT_texture_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_array", 13)) - { - ret = GLEW_EXT_texture_array; - continue; - } -#endif -#ifdef GL_EXT_texture_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_buffer_object", 21)) - { - ret = GLEW_EXT_texture_buffer_object; - continue; - } -#endif -#ifdef GL_EXT_texture_compression_dxt1 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_dxt1", 24)) - { - ret = GLEW_EXT_texture_compression_dxt1; - continue; - } -#endif -#ifdef GL_EXT_texture_compression_latc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_latc", 24)) - { - ret = GLEW_EXT_texture_compression_latc; - continue; - } -#endif -#ifdef GL_EXT_texture_compression_rgtc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_rgtc", 24)) - { - ret = GLEW_EXT_texture_compression_rgtc; - continue; - } -#endif -#ifdef GL_EXT_texture_compression_s3tc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_s3tc", 24)) - { - ret = GLEW_EXT_texture_compression_s3tc; - continue; - } -#endif -#ifdef GL_EXT_texture_cube_map - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_cube_map", 16)) - { - ret = GLEW_EXT_texture_cube_map; - continue; - } -#endif -#ifdef GL_EXT_texture_edge_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) - { - ret = GLEW_EXT_texture_edge_clamp; - continue; - } -#endif -#ifdef GL_EXT_texture_env - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env", 11)) - { - ret = GLEW_EXT_texture_env; - continue; - } -#endif -#ifdef GL_EXT_texture_env_add - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_add", 15)) - { - ret = GLEW_EXT_texture_env_add; - continue; - } -#endif -#ifdef GL_EXT_texture_env_combine - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine", 19)) - { - ret = GLEW_EXT_texture_env_combine; - continue; - } -#endif -#ifdef GL_EXT_texture_env_dot3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_dot3", 16)) - { - ret = GLEW_EXT_texture_env_dot3; - continue; - } -#endif -#ifdef GL_EXT_texture_filter_anisotropic - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter_anisotropic", 26)) - { - ret = GLEW_EXT_texture_filter_anisotropic; - continue; - } -#endif -#ifdef GL_EXT_texture_integer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_integer", 15)) - { - ret = GLEW_EXT_texture_integer; - continue; - } -#endif -#ifdef GL_EXT_texture_lod_bias - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) - { - ret = GLEW_EXT_texture_lod_bias; - continue; - } -#endif -#ifdef GL_EXT_texture_mirror_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirror_clamp", 20)) - { - ret = GLEW_EXT_texture_mirror_clamp; - continue; - } -#endif -#ifdef GL_EXT_texture_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_object", 14)) - { - ret = GLEW_EXT_texture_object; - continue; - } -#endif -#ifdef GL_EXT_texture_perturb_normal - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_perturb_normal", 22)) - { - ret = GLEW_EXT_texture_perturb_normal; - continue; - } -#endif -#ifdef GL_EXT_texture_rectangle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) - { - ret = GLEW_EXT_texture_rectangle; - continue; - } -#endif -#ifdef GL_EXT_texture_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_sRGB", 12)) - { - ret = GLEW_EXT_texture_sRGB; - continue; - } -#endif -#ifdef GL_EXT_texture_shared_exponent - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shared_exponent", 23)) - { - ret = GLEW_EXT_texture_shared_exponent; - continue; - } -#endif -#ifdef GL_EXT_texture_swizzle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_swizzle", 15)) - { - ret = GLEW_EXT_texture_swizzle; - continue; - } -#endif -#ifdef GL_EXT_timer_query - if (_glewStrSame3(&pos, &len, (const GLubyte*)"timer_query", 11)) - { - ret = GLEW_EXT_timer_query; - continue; - } -#endif -#ifdef GL_EXT_transform_feedback - if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) - { - ret = GLEW_EXT_transform_feedback; - continue; - } -#endif -#ifdef GL_EXT_vertex_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array", 12)) - { - ret = GLEW_EXT_vertex_array; - continue; - } -#endif -#ifdef GL_EXT_vertex_array_bgra - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_bgra", 17)) - { - ret = GLEW_EXT_vertex_array_bgra; - continue; - } -#endif -#ifdef GL_EXT_vertex_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_shader", 13)) - { - ret = GLEW_EXT_vertex_shader; - continue; - } -#endif -#ifdef GL_EXT_vertex_weighting - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_weighting", 16)) - { - ret = GLEW_EXT_vertex_weighting; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"GREMEDY_", 8)) - { -#ifdef GL_GREMEDY_frame_terminator - if (_glewStrSame3(&pos, &len, (const GLubyte*)"frame_terminator", 16)) - { - ret = GLEW_GREMEDY_frame_terminator; - continue; - } -#endif -#ifdef GL_GREMEDY_string_marker - if (_glewStrSame3(&pos, &len, (const GLubyte*)"string_marker", 13)) - { - ret = GLEW_GREMEDY_string_marker; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"HP_", 3)) - { -#ifdef GL_HP_convolution_border_modes - if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) - { - ret = GLEW_HP_convolution_border_modes; - continue; - } -#endif -#ifdef GL_HP_image_transform - if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_transform", 15)) - { - ret = GLEW_HP_image_transform; - continue; - } -#endif -#ifdef GL_HP_occlusion_test - if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_test", 14)) - { - ret = GLEW_HP_occlusion_test; - continue; - } -#endif -#ifdef GL_HP_texture_lighting - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lighting", 16)) - { - ret = GLEW_HP_texture_lighting; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"IBM_", 4)) - { -#ifdef GL_IBM_cull_vertex - if (_glewStrSame3(&pos, &len, (const GLubyte*)"cull_vertex", 11)) - { - ret = GLEW_IBM_cull_vertex; - continue; - } -#endif -#ifdef GL_IBM_multimode_draw_arrays - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multimode_draw_arrays", 21)) - { - ret = GLEW_IBM_multimode_draw_arrays; - continue; - } -#endif -#ifdef GL_IBM_rasterpos_clip - if (_glewStrSame3(&pos, &len, (const GLubyte*)"rasterpos_clip", 14)) - { - ret = GLEW_IBM_rasterpos_clip; - continue; - } -#endif -#ifdef GL_IBM_static_data - if (_glewStrSame3(&pos, &len, (const GLubyte*)"static_data", 11)) - { - ret = GLEW_IBM_static_data; - continue; - } -#endif -#ifdef GL_IBM_texture_mirrored_repeat - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_mirrored_repeat", 23)) - { - ret = GLEW_IBM_texture_mirrored_repeat; - continue; - } -#endif -#ifdef GL_IBM_vertex_array_lists - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_lists", 18)) - { - ret = GLEW_IBM_vertex_array_lists; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"INGR_", 5)) - { -#ifdef GL_INGR_color_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_clamp", 11)) - { - ret = GLEW_INGR_color_clamp; - continue; - } -#endif -#ifdef GL_INGR_interlace_read - if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace_read", 14)) - { - ret = GLEW_INGR_interlace_read; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"INTEL_", 6)) - { -#ifdef GL_INTEL_parallel_arrays - if (_glewStrSame3(&pos, &len, (const GLubyte*)"parallel_arrays", 15)) - { - ret = GLEW_INTEL_parallel_arrays; - continue; - } -#endif -#ifdef GL_INTEL_texture_scissor - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scissor", 15)) - { - ret = GLEW_INTEL_texture_scissor; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"KTX_", 4)) - { -#ifdef GL_KTX_buffer_region - if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) - { - ret = GLEW_KTX_buffer_region; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESAX_", 6)) - { -#ifdef GL_MESAX_texture_stack - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_stack", 13)) - { - ret = GLEW_MESAX_texture_stack; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) - { -#ifdef GL_MESA_pack_invert - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pack_invert", 11)) - { - ret = GLEW_MESA_pack_invert; - continue; - } -#endif -#ifdef GL_MESA_resize_buffers - if (_glewStrSame3(&pos, &len, (const GLubyte*)"resize_buffers", 14)) - { - ret = GLEW_MESA_resize_buffers; - continue; - } -#endif -#ifdef GL_MESA_window_pos - if (_glewStrSame3(&pos, &len, (const GLubyte*)"window_pos", 10)) - { - ret = GLEW_MESA_window_pos; - continue; - } -#endif -#ifdef GL_MESA_ycbcr_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycbcr_texture", 13)) - { - ret = GLEW_MESA_ycbcr_texture; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) - { -#ifdef GL_NV_blend_square - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_square", 12)) - { - ret = GLEW_NV_blend_square; - continue; - } -#endif -#ifdef GL_NV_conditional_render - if (_glewStrSame3(&pos, &len, (const GLubyte*)"conditional_render", 18)) - { - ret = GLEW_NV_conditional_render; - continue; - } -#endif -#ifdef GL_NV_copy_depth_to_color - if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_depth_to_color", 19)) - { - ret = GLEW_NV_copy_depth_to_color; - continue; - } -#endif -#ifdef GL_NV_depth_buffer_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_buffer_float", 18)) - { - ret = GLEW_NV_depth_buffer_float; - continue; - } -#endif -#ifdef GL_NV_depth_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_clamp", 11)) - { - ret = GLEW_NV_depth_clamp; - continue; - } -#endif -#ifdef GL_NV_depth_range_unclamped - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_range_unclamped", 21)) - { - ret = GLEW_NV_depth_range_unclamped; - continue; - } -#endif -#ifdef GL_NV_evaluators - if (_glewStrSame3(&pos, &len, (const GLubyte*)"evaluators", 10)) - { - ret = GLEW_NV_evaluators; - continue; - } -#endif -#ifdef GL_NV_explicit_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"explicit_multisample", 20)) - { - ret = GLEW_NV_explicit_multisample; - continue; - } -#endif -#ifdef GL_NV_fence - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fence", 5)) - { - ret = GLEW_NV_fence; - continue; - } -#endif -#ifdef GL_NV_float_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) - { - ret = GLEW_NV_float_buffer; - continue; - } -#endif -#ifdef GL_NV_fog_distance - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_distance", 12)) - { - ret = GLEW_NV_fog_distance; - continue; - } -#endif -#ifdef GL_NV_fragment_program - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program", 16)) - { - ret = GLEW_NV_fragment_program; - continue; - } -#endif -#ifdef GL_NV_fragment_program2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program2", 17)) - { - ret = GLEW_NV_fragment_program2; - continue; - } -#endif -#ifdef GL_NV_fragment_program4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program4", 17)) - { - ret = GLEW_NV_fragment_program4; - continue; - } -#endif -#ifdef GL_NV_fragment_program_option - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_program_option", 23)) - { - ret = GLEW_NV_fragment_program_option; - continue; - } -#endif -#ifdef GL_NV_framebuffer_multisample_coverage - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_multisample_coverage", 32)) - { - ret = GLEW_NV_framebuffer_multisample_coverage; - continue; - } -#endif -#ifdef GL_NV_geometry_program4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_program4", 17)) - { - ret = GLEW_NV_geometry_program4; - continue; - } -#endif -#ifdef GL_NV_geometry_shader4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"geometry_shader4", 16)) - { - ret = GLEW_NV_geometry_shader4; - continue; - } -#endif -#ifdef GL_NV_gpu_program4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_program4", 12)) - { - ret = GLEW_NV_gpu_program4; - continue; - } -#endif -#ifdef GL_NV_half_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"half_float", 10)) - { - ret = GLEW_NV_half_float; - continue; - } -#endif -#ifdef GL_NV_light_max_exponent - if (_glewStrSame3(&pos, &len, (const GLubyte*)"light_max_exponent", 18)) - { - ret = GLEW_NV_light_max_exponent; - continue; - } -#endif -#ifdef GL_NV_multisample_filter_hint - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample_filter_hint", 23)) - { - ret = GLEW_NV_multisample_filter_hint; - continue; - } -#endif -#ifdef GL_NV_occlusion_query - if (_glewStrSame3(&pos, &len, (const GLubyte*)"occlusion_query", 15)) - { - ret = GLEW_NV_occlusion_query; - continue; - } -#endif -#ifdef GL_NV_packed_depth_stencil - if (_glewStrSame3(&pos, &len, (const GLubyte*)"packed_depth_stencil", 20)) - { - ret = GLEW_NV_packed_depth_stencil; - continue; - } -#endif -#ifdef GL_NV_parameter_buffer_object - if (_glewStrSame3(&pos, &len, (const GLubyte*)"parameter_buffer_object", 23)) - { - ret = GLEW_NV_parameter_buffer_object; - continue; - } -#endif -#ifdef GL_NV_pixel_data_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_data_range", 16)) - { - ret = GLEW_NV_pixel_data_range; - continue; - } -#endif -#ifdef GL_NV_point_sprite - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_sprite", 12)) - { - ret = GLEW_NV_point_sprite; - continue; - } -#endif -#ifdef GL_NV_present_video - if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) - { - ret = GLEW_NV_present_video; - continue; - } -#endif -#ifdef GL_NV_primitive_restart - if (_glewStrSame3(&pos, &len, (const GLubyte*)"primitive_restart", 17)) - { - ret = GLEW_NV_primitive_restart; - continue; - } -#endif -#ifdef GL_NV_register_combiners - if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners", 18)) - { - ret = GLEW_NV_register_combiners; - continue; - } -#endif -#ifdef GL_NV_register_combiners2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"register_combiners2", 19)) - { - ret = GLEW_NV_register_combiners2; - continue; - } -#endif -#ifdef GL_NV_texgen_emboss - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_emboss", 13)) - { - ret = GLEW_NV_texgen_emboss; - continue; - } -#endif -#ifdef GL_NV_texgen_reflection - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texgen_reflection", 17)) - { - ret = GLEW_NV_texgen_reflection; - continue; - } -#endif -#ifdef GL_NV_texture_compression_vtc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_compression_vtc", 23)) - { - ret = GLEW_NV_texture_compression_vtc; - continue; - } -#endif -#ifdef GL_NV_texture_env_combine4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_env_combine4", 20)) - { - ret = GLEW_NV_texture_env_combine4; - continue; - } -#endif -#ifdef GL_NV_texture_expand_normal - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_expand_normal", 21)) - { - ret = GLEW_NV_texture_expand_normal; - continue; - } -#endif -#ifdef GL_NV_texture_rectangle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_rectangle", 17)) - { - ret = GLEW_NV_texture_rectangle; - continue; - } -#endif -#ifdef GL_NV_texture_shader - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader", 14)) - { - ret = GLEW_NV_texture_shader; - continue; - } -#endif -#ifdef GL_NV_texture_shader2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader2", 15)) - { - ret = GLEW_NV_texture_shader2; - continue; - } -#endif -#ifdef GL_NV_texture_shader3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_shader3", 15)) - { - ret = GLEW_NV_texture_shader3; - continue; - } -#endif -#ifdef GL_NV_transform_feedback - if (_glewStrSame3(&pos, &len, (const GLubyte*)"transform_feedback", 18)) - { - ret = GLEW_NV_transform_feedback; - continue; - } -#endif -#ifdef GL_NV_vertex_array_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) - { - ret = GLEW_NV_vertex_array_range; - continue; - } -#endif -#ifdef GL_NV_vertex_array_range2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range2", 19)) - { - ret = GLEW_NV_vertex_array_range2; - continue; - } -#endif -#ifdef GL_NV_vertex_program - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program", 14)) - { - ret = GLEW_NV_vertex_program; - continue; - } -#endif -#ifdef GL_NV_vertex_program1_1 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program1_1", 17)) - { - ret = GLEW_NV_vertex_program1_1; - continue; - } -#endif -#ifdef GL_NV_vertex_program2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2", 15)) - { - ret = GLEW_NV_vertex_program2; - continue; - } -#endif -#ifdef GL_NV_vertex_program2_option - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program2_option", 22)) - { - ret = GLEW_NV_vertex_program2_option; - continue; - } -#endif -#ifdef GL_NV_vertex_program3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program3", 15)) - { - ret = GLEW_NV_vertex_program3; - continue; - } -#endif -#ifdef GL_NV_vertex_program4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_program4", 15)) - { - ret = GLEW_NV_vertex_program4; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"OES_", 4)) - { -#ifdef GL_OES_byte_coordinates - if (_glewStrSame3(&pos, &len, (const GLubyte*)"byte_coordinates", 16)) - { - ret = GLEW_OES_byte_coordinates; - continue; - } -#endif -#ifdef GL_OES_compressed_paletted_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"compressed_paletted_texture", 27)) - { - ret = GLEW_OES_compressed_paletted_texture; - continue; - } -#endif -#ifdef GL_OES_read_format - if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_format", 11)) - { - ret = GLEW_OES_read_format; - continue; - } -#endif -#ifdef GL_OES_single_precision - if (_glewStrSame3(&pos, &len, (const GLubyte*)"single_precision", 16)) - { - ret = GLEW_OES_single_precision; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) - { -#ifdef GL_OML_interlace - if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) - { - ret = GLEW_OML_interlace; - continue; - } -#endif -#ifdef GL_OML_resample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) - { - ret = GLEW_OML_resample; - continue; - } -#endif -#ifdef GL_OML_subsample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"subsample", 9)) - { - ret = GLEW_OML_subsample; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"PGI_", 4)) - { -#ifdef GL_PGI_misc_hints - if (_glewStrSame3(&pos, &len, (const GLubyte*)"misc_hints", 10)) - { - ret = GLEW_PGI_misc_hints; - continue; - } -#endif -#ifdef GL_PGI_vertex_hints - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_hints", 12)) - { - ret = GLEW_PGI_vertex_hints; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"REND_", 5)) - { -#ifdef GL_REND_screen_coordinates - if (_glewStrSame3(&pos, &len, (const GLubyte*)"screen_coordinates", 18)) - { - ret = GLEW_REND_screen_coordinates; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"S3_", 3)) - { -#ifdef GL_S3_s3tc - if (_glewStrSame3(&pos, &len, (const GLubyte*)"s3tc", 4)) - { - ret = GLEW_S3_s3tc; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) - { -#ifdef GL_SGIS_color_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) - { - ret = GLEW_SGIS_color_range; - continue; - } -#endif -#ifdef GL_SGIS_detail_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"detail_texture", 14)) - { - ret = GLEW_SGIS_detail_texture; - continue; - } -#endif -#ifdef GL_SGIS_fog_function - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_function", 12)) - { - ret = GLEW_SGIS_fog_function; - continue; - } -#endif -#ifdef GL_SGIS_generate_mipmap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"generate_mipmap", 15)) - { - ret = GLEW_SGIS_generate_mipmap; - continue; - } -#endif -#ifdef GL_SGIS_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLEW_SGIS_multisample; - continue; - } -#endif -#ifdef GL_SGIS_pixel_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) - { - ret = GLEW_SGIS_pixel_texture; - continue; - } -#endif -#ifdef GL_SGIS_point_line_texgen - if (_glewStrSame3(&pos, &len, (const GLubyte*)"point_line_texgen", 17)) - { - ret = GLEW_SGIS_point_line_texgen; - continue; - } -#endif -#ifdef GL_SGIS_sharpen_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"sharpen_texture", 15)) - { - ret = GLEW_SGIS_sharpen_texture; - continue; - } -#endif -#ifdef GL_SGIS_texture4D - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture4D", 9)) - { - ret = GLEW_SGIS_texture4D; - continue; - } -#endif -#ifdef GL_SGIS_texture_border_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_border_clamp", 20)) - { - ret = GLEW_SGIS_texture_border_clamp; - continue; - } -#endif -#ifdef GL_SGIS_texture_edge_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_edge_clamp", 18)) - { - ret = GLEW_SGIS_texture_edge_clamp; - continue; - } -#endif -#ifdef GL_SGIS_texture_filter4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_filter4", 15)) - { - ret = GLEW_SGIS_texture_filter4; - continue; - } -#endif -#ifdef GL_SGIS_texture_lod - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod", 11)) - { - ret = GLEW_SGIS_texture_lod; - continue; - } -#endif -#ifdef GL_SGIS_texture_select - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_select", 14)) - { - ret = GLEW_SGIS_texture_select; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) - { -#ifdef GL_SGIX_async - if (_glewStrSame3(&pos, &len, (const GLubyte*)"async", 5)) - { - ret = GLEW_SGIX_async; - continue; - } -#endif -#ifdef GL_SGIX_async_histogram - if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_histogram", 15)) - { - ret = GLEW_SGIX_async_histogram; - continue; - } -#endif -#ifdef GL_SGIX_async_pixel - if (_glewStrSame3(&pos, &len, (const GLubyte*)"async_pixel", 11)) - { - ret = GLEW_SGIX_async_pixel; - continue; - } -#endif -#ifdef GL_SGIX_blend_alpha_minmax - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blend_alpha_minmax", 18)) - { - ret = GLEW_SGIX_blend_alpha_minmax; - continue; - } -#endif -#ifdef GL_SGIX_clipmap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"clipmap", 7)) - { - ret = GLEW_SGIX_clipmap; - continue; - } -#endif -#ifdef GL_SGIX_convolution_accuracy - if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_accuracy", 20)) - { - ret = GLEW_SGIX_convolution_accuracy; - continue; - } -#endif -#ifdef GL_SGIX_depth_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_texture", 13)) - { - ret = GLEW_SGIX_depth_texture; - continue; - } -#endif -#ifdef GL_SGIX_flush_raster - if (_glewStrSame3(&pos, &len, (const GLubyte*)"flush_raster", 12)) - { - ret = GLEW_SGIX_flush_raster; - continue; - } -#endif -#ifdef GL_SGIX_fog_offset - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_offset", 10)) - { - ret = GLEW_SGIX_fog_offset; - continue; - } -#endif -#ifdef GL_SGIX_fog_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fog_texture", 11)) - { - ret = GLEW_SGIX_fog_texture; - continue; - } -#endif -#ifdef GL_SGIX_fragment_specular_lighting - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fragment_specular_lighting", 26)) - { - ret = GLEW_SGIX_fragment_specular_lighting; - continue; - } -#endif -#ifdef GL_SGIX_framezoom - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framezoom", 9)) - { - ret = GLEW_SGIX_framezoom; - continue; - } -#endif -#ifdef GL_SGIX_interlace - if (_glewStrSame3(&pos, &len, (const GLubyte*)"interlace", 9)) - { - ret = GLEW_SGIX_interlace; - continue; - } -#endif -#ifdef GL_SGIX_ir_instrument1 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"ir_instrument1", 14)) - { - ret = GLEW_SGIX_ir_instrument1; - continue; - } -#endif -#ifdef GL_SGIX_list_priority - if (_glewStrSame3(&pos, &len, (const GLubyte*)"list_priority", 13)) - { - ret = GLEW_SGIX_list_priority; - continue; - } -#endif -#ifdef GL_SGIX_pixel_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture", 13)) - { - ret = GLEW_SGIX_pixel_texture; - continue; - } -#endif -#ifdef GL_SGIX_pixel_texture_bits - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_texture_bits", 18)) - { - ret = GLEW_SGIX_pixel_texture_bits; - continue; - } -#endif -#ifdef GL_SGIX_reference_plane - if (_glewStrSame3(&pos, &len, (const GLubyte*)"reference_plane", 15)) - { - ret = GLEW_SGIX_reference_plane; - continue; - } -#endif -#ifdef GL_SGIX_resample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"resample", 8)) - { - ret = GLEW_SGIX_resample; - continue; - } -#endif -#ifdef GL_SGIX_shadow - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow", 6)) - { - ret = GLEW_SGIX_shadow; - continue; - } -#endif -#ifdef GL_SGIX_shadow_ambient - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shadow_ambient", 14)) - { - ret = GLEW_SGIX_shadow_ambient; - continue; - } -#endif -#ifdef GL_SGIX_sprite - if (_glewStrSame3(&pos, &len, (const GLubyte*)"sprite", 6)) - { - ret = GLEW_SGIX_sprite; - continue; - } -#endif -#ifdef GL_SGIX_tag_sample_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"tag_sample_buffer", 17)) - { - ret = GLEW_SGIX_tag_sample_buffer; - continue; - } -#endif -#ifdef GL_SGIX_texture_add_env - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_add_env", 15)) - { - ret = GLEW_SGIX_texture_add_env; - continue; - } -#endif -#ifdef GL_SGIX_texture_coordinate_clamp - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_coordinate_clamp", 24)) - { - ret = GLEW_SGIX_texture_coordinate_clamp; - continue; - } -#endif -#ifdef GL_SGIX_texture_lod_bias - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_lod_bias", 16)) - { - ret = GLEW_SGIX_texture_lod_bias; - continue; - } -#endif -#ifdef GL_SGIX_texture_multi_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_multi_buffer", 20)) - { - ret = GLEW_SGIX_texture_multi_buffer; - continue; - } -#endif -#ifdef GL_SGIX_texture_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_range", 13)) - { - ret = GLEW_SGIX_texture_range; - continue; - } -#endif -#ifdef GL_SGIX_texture_scale_bias - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_scale_bias", 18)) - { - ret = GLEW_SGIX_texture_scale_bias; - continue; - } -#endif -#ifdef GL_SGIX_vertex_preclip - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip", 14)) - { - ret = GLEW_SGIX_vertex_preclip; - continue; - } -#endif -#ifdef GL_SGIX_vertex_preclip_hint - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_preclip_hint", 19)) - { - ret = GLEW_SGIX_vertex_preclip_hint; - continue; - } -#endif -#ifdef GL_SGIX_ycrcb - if (_glewStrSame3(&pos, &len, (const GLubyte*)"ycrcb", 5)) - { - ret = GLEW_SGIX_ycrcb; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) - { -#ifdef GL_SGI_color_matrix - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_matrix", 12)) - { - ret = GLEW_SGI_color_matrix; - continue; - } -#endif -#ifdef GL_SGI_color_table - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_table", 11)) - { - ret = GLEW_SGI_color_table; - continue; - } -#endif -#ifdef GL_SGI_texture_color_table - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_color_table", 19)) - { - ret = GLEW_SGI_texture_color_table; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUNX_", 5)) - { -#ifdef GL_SUNX_constant_data - if (_glewStrSame3(&pos, &len, (const GLubyte*)"constant_data", 13)) - { - ret = GLEW_SUNX_constant_data; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) - { -#ifdef GL_SUN_convolution_border_modes - if (_glewStrSame3(&pos, &len, (const GLubyte*)"convolution_border_modes", 24)) - { - ret = GLEW_SUN_convolution_border_modes; - continue; - } -#endif -#ifdef GL_SUN_global_alpha - if (_glewStrSame3(&pos, &len, (const GLubyte*)"global_alpha", 12)) - { - ret = GLEW_SUN_global_alpha; - continue; - } -#endif -#ifdef GL_SUN_mesh_array - if (_glewStrSame3(&pos, &len, (const GLubyte*)"mesh_array", 10)) - { - ret = GLEW_SUN_mesh_array; - continue; - } -#endif -#ifdef GL_SUN_read_video_pixels - if (_glewStrSame3(&pos, &len, (const GLubyte*)"read_video_pixels", 17)) - { - ret = GLEW_SUN_read_video_pixels; - continue; - } -#endif -#ifdef GL_SUN_slice_accum - if (_glewStrSame3(&pos, &len, (const GLubyte*)"slice_accum", 11)) - { - ret = GLEW_SUN_slice_accum; - continue; - } -#endif -#ifdef GL_SUN_triangle_list - if (_glewStrSame3(&pos, &len, (const GLubyte*)"triangle_list", 13)) - { - ret = GLEW_SUN_triangle_list; - continue; - } -#endif -#ifdef GL_SUN_vertex - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex", 6)) - { - ret = GLEW_SUN_vertex; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"WIN_", 4)) - { -#ifdef GL_WIN_phong_shading - if (_glewStrSame3(&pos, &len, (const GLubyte*)"phong_shading", 13)) - { - ret = GLEW_WIN_phong_shading; - continue; - } -#endif -#ifdef GL_WIN_specular_fog - if (_glewStrSame3(&pos, &len, (const GLubyte*)"specular_fog", 12)) - { - ret = GLEW_WIN_specular_fog; - continue; - } -#endif -#ifdef GL_WIN_swap_hint - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_hint", 9)) - { - ret = GLEW_WIN_swap_hint; - continue; - } -#endif - } - } - ret = (len == 0); - } - return ret; -} - -#if defined(_WIN32) - -#if defined(GLEW_MX) -GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name) -#else -GLboolean wglewIsSupported (const char* name) -#endif -{ - GLubyte* pos = (GLubyte*)name; - GLuint len = _glewStrLen(pos); - GLboolean ret = GL_TRUE; - while (ret && len > 0) - { - if (_glewStrSame1(&pos, &len, (const GLubyte*)"WGL_", 4)) - { - if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) - { -#ifdef WGL_3DFX_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = WGLEW_3DFX_multisample; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DL_", 4)) - { -#ifdef WGL_3DL_stereo_control - if (_glewStrSame3(&pos, &len, (const GLubyte*)"stereo_control", 14)) - { - ret = WGLEW_3DL_stereo_control; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) - { -#ifdef WGL_ARB_buffer_region - if (_glewStrSame3(&pos, &len, (const GLubyte*)"buffer_region", 13)) - { - ret = WGLEW_ARB_buffer_region; - continue; - } -#endif -#ifdef WGL_ARB_create_context - if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) - { - ret = WGLEW_ARB_create_context; - continue; - } -#endif -#ifdef WGL_ARB_extensions_string - if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) - { - ret = WGLEW_ARB_extensions_string; - continue; - } -#endif -#ifdef WGL_ARB_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = WGLEW_ARB_framebuffer_sRGB; - continue; - } -#endif -#ifdef WGL_ARB_make_current_read - if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) - { - ret = WGLEW_ARB_make_current_read; - continue; - } -#endif -#ifdef WGL_ARB_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = WGLEW_ARB_multisample; - continue; - } -#endif -#ifdef WGL_ARB_pbuffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) - { - ret = WGLEW_ARB_pbuffer; - continue; - } -#endif -#ifdef WGL_ARB_pixel_format - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) - { - ret = WGLEW_ARB_pixel_format; - continue; - } -#endif -#ifdef WGL_ARB_pixel_format_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) - { - ret = WGLEW_ARB_pixel_format_float; - continue; - } -#endif -#ifdef WGL_ARB_render_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) - { - ret = WGLEW_ARB_render_texture; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) - { -#ifdef WGL_ATI_pixel_format_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) - { - ret = WGLEW_ATI_pixel_format_float; - continue; - } -#endif -#ifdef WGL_ATI_render_texture_rectangle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) - { - ret = WGLEW_ATI_render_texture_rectangle; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) - { -#ifdef WGL_EXT_depth_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"depth_float", 11)) - { - ret = WGLEW_EXT_depth_float; - continue; - } -#endif -#ifdef WGL_EXT_display_color_table - if (_glewStrSame3(&pos, &len, (const GLubyte*)"display_color_table", 19)) - { - ret = WGLEW_EXT_display_color_table; - continue; - } -#endif -#ifdef WGL_EXT_extensions_string - if (_glewStrSame3(&pos, &len, (const GLubyte*)"extensions_string", 17)) - { - ret = WGLEW_EXT_extensions_string; - continue; - } -#endif -#ifdef WGL_EXT_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = WGLEW_EXT_framebuffer_sRGB; - continue; - } -#endif -#ifdef WGL_EXT_make_current_read - if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) - { - ret = WGLEW_EXT_make_current_read; - continue; - } -#endif -#ifdef WGL_EXT_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = WGLEW_EXT_multisample; - continue; - } -#endif -#ifdef WGL_EXT_pbuffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) - { - ret = WGLEW_EXT_pbuffer; - continue; - } -#endif -#ifdef WGL_EXT_pixel_format - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format", 12)) - { - ret = WGLEW_EXT_pixel_format; - continue; - } -#endif -#ifdef WGL_EXT_pixel_format_packed_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_packed_float", 25)) - { - ret = WGLEW_EXT_pixel_format_packed_float; - continue; - } -#endif -#ifdef WGL_EXT_swap_control - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) - { - ret = WGLEW_EXT_swap_control; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"I3D_", 4)) - { -#ifdef WGL_I3D_digital_video_control - if (_glewStrSame3(&pos, &len, (const GLubyte*)"digital_video_control", 21)) - { - ret = WGLEW_I3D_digital_video_control; - continue; - } -#endif -#ifdef WGL_I3D_gamma - if (_glewStrSame3(&pos, &len, (const GLubyte*)"gamma", 5)) - { - ret = WGLEW_I3D_gamma; - continue; - } -#endif -#ifdef WGL_I3D_genlock - if (_glewStrSame3(&pos, &len, (const GLubyte*)"genlock", 7)) - { - ret = WGLEW_I3D_genlock; - continue; - } -#endif -#ifdef WGL_I3D_image_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"image_buffer", 12)) - { - ret = WGLEW_I3D_image_buffer; - continue; - } -#endif -#ifdef WGL_I3D_swap_frame_lock - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_lock", 15)) - { - ret = WGLEW_I3D_swap_frame_lock; - continue; - } -#endif -#ifdef WGL_I3D_swap_frame_usage - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_frame_usage", 16)) - { - ret = WGLEW_I3D_swap_frame_usage; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) - { -#ifdef WGL_NV_float_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) - { - ret = WGLEW_NV_float_buffer; - continue; - } -#endif -#ifdef WGL_NV_gpu_affinity - if (_glewStrSame3(&pos, &len, (const GLubyte*)"gpu_affinity", 12)) - { - ret = WGLEW_NV_gpu_affinity; - continue; - } -#endif -#ifdef WGL_NV_present_video - if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) - { - ret = WGLEW_NV_present_video; - continue; - } -#endif -#ifdef WGL_NV_render_depth_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_depth_texture", 20)) - { - ret = WGLEW_NV_render_depth_texture; - continue; - } -#endif -#ifdef WGL_NV_render_texture_rectangle - if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture_rectangle", 24)) - { - ret = WGLEW_NV_render_texture_rectangle; - continue; - } -#endif -#ifdef WGL_NV_swap_group - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) - { - ret = WGLEW_NV_swap_group; - continue; - } -#endif -#ifdef WGL_NV_vertex_array_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) - { - ret = WGLEW_NV_vertex_array_range; - continue; - } -#endif -#ifdef WGL_NV_video_output - if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12)) - { - ret = WGLEW_NV_video_output; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) - { -#ifdef WGL_OML_sync_control - if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) - { - ret = WGLEW_OML_sync_control; - continue; - } -#endif - } - } - ret = (len == 0); - } - return ret; -} - -#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) - -#if defined(GLEW_MX) -GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name) -#else -GLboolean glxewIsSupported (const char* name) -#endif -{ - GLubyte* pos = (GLubyte*)name; - GLuint len = _glewStrLen(pos); - GLboolean ret = GL_TRUE; - while (ret && len > 0) - { - if(_glewStrSame1(&pos, &len, (const GLubyte*)"GLX_", 4)) - { - if (_glewStrSame2(&pos, &len, (const GLubyte*)"VERSION_", 8)) - { -#ifdef GLX_VERSION_1_2 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_2", 3)) - { - ret = GLXEW_VERSION_1_2; - continue; - } -#endif -#ifdef GLX_VERSION_1_3 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_3", 3)) - { - ret = GLXEW_VERSION_1_3; - continue; - } -#endif -#ifdef GLX_VERSION_1_4 - if (_glewStrSame3(&pos, &len, (const GLubyte*)"1_4", 3)) - { - ret = GLXEW_VERSION_1_4; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"3DFX_", 5)) - { -#ifdef GLX_3DFX_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLXEW_3DFX_multisample; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ARB_", 4)) - { -#ifdef GLX_ARB_create_context - if (_glewStrSame3(&pos, &len, (const GLubyte*)"create_context", 14)) - { - ret = GLXEW_ARB_create_context; - continue; - } -#endif -#ifdef GLX_ARB_fbconfig_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_float", 14)) - { - ret = GLXEW_ARB_fbconfig_float; - continue; - } -#endif -#ifdef GLX_ARB_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = GLXEW_ARB_framebuffer_sRGB; - continue; - } -#endif -#ifdef GLX_ARB_get_proc_address - if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_proc_address", 16)) - { - ret = GLXEW_ARB_get_proc_address; - continue; - } -#endif -#ifdef GLX_ARB_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLXEW_ARB_multisample; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"ATI_", 4)) - { -#ifdef GLX_ATI_pixel_format_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixel_format_float", 18)) - { - ret = GLXEW_ATI_pixel_format_float; - continue; - } -#endif -#ifdef GLX_ATI_render_texture - if (_glewStrSame3(&pos, &len, (const GLubyte*)"render_texture", 14)) - { - ret = GLXEW_ATI_render_texture; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"EXT_", 4)) - { -#ifdef GLX_EXT_fbconfig_packed_float - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig_packed_float", 21)) - { - ret = GLXEW_EXT_fbconfig_packed_float; - continue; - } -#endif -#ifdef GLX_EXT_framebuffer_sRGB - if (_glewStrSame3(&pos, &len, (const GLubyte*)"framebuffer_sRGB", 16)) - { - ret = GLXEW_EXT_framebuffer_sRGB; - continue; - } -#endif -#ifdef GLX_EXT_import_context - if (_glewStrSame3(&pos, &len, (const GLubyte*)"import_context", 14)) - { - ret = GLXEW_EXT_import_context; - continue; - } -#endif -#ifdef GLX_EXT_scene_marker - if (_glewStrSame3(&pos, &len, (const GLubyte*)"scene_marker", 12)) - { - ret = GLXEW_EXT_scene_marker; - continue; - } -#endif -#ifdef GLX_EXT_texture_from_pixmap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"texture_from_pixmap", 19)) - { - ret = GLXEW_EXT_texture_from_pixmap; - continue; - } -#endif -#ifdef GLX_EXT_visual_info - if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_info", 11)) - { - ret = GLXEW_EXT_visual_info; - continue; - } -#endif -#ifdef GLX_EXT_visual_rating - if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_rating", 13)) - { - ret = GLXEW_EXT_visual_rating; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"MESA_", 5)) - { -#ifdef GLX_MESA_agp_offset - if (_glewStrSame3(&pos, &len, (const GLubyte*)"agp_offset", 10)) - { - ret = GLXEW_MESA_agp_offset; - continue; - } -#endif -#ifdef GLX_MESA_copy_sub_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"copy_sub_buffer", 15)) - { - ret = GLXEW_MESA_copy_sub_buffer; - continue; - } -#endif -#ifdef GLX_MESA_pixmap_colormap - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pixmap_colormap", 15)) - { - ret = GLXEW_MESA_pixmap_colormap; - continue; - } -#endif -#ifdef GLX_MESA_release_buffers - if (_glewStrSame3(&pos, &len, (const GLubyte*)"release_buffers", 15)) - { - ret = GLXEW_MESA_release_buffers; - continue; - } -#endif -#ifdef GLX_MESA_set_3dfx_mode - if (_glewStrSame3(&pos, &len, (const GLubyte*)"set_3dfx_mode", 13)) - { - ret = GLXEW_MESA_set_3dfx_mode; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"NV_", 3)) - { -#ifdef GLX_NV_float_buffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"float_buffer", 12)) - { - ret = GLXEW_NV_float_buffer; - continue; - } -#endif -#ifdef GLX_NV_present_video - if (_glewStrSame3(&pos, &len, (const GLubyte*)"present_video", 13)) - { - ret = GLXEW_NV_present_video; - continue; - } -#endif -#ifdef GLX_NV_swap_group - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) - { - ret = GLXEW_NV_swap_group; - continue; - } -#endif -#ifdef GLX_NV_vertex_array_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"vertex_array_range", 18)) - { - ret = GLXEW_NV_vertex_array_range; - continue; - } -#endif -#ifdef GLX_NV_video_output - if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_output", 12)) - { - ret = GLXEW_NV_video_output; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"OML_", 4)) - { -#ifdef GLX_OML_swap_method - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_method", 11)) - { - ret = GLXEW_OML_swap_method; - continue; - } -#endif -#if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -#include - if (_glewStrSame3(&pos, &len, (const GLubyte*)"sync_control", 12)) - { - ret = GLXEW_OML_sync_control; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIS_", 5)) - { -#ifdef GLX_SGIS_blended_overlay - if (_glewStrSame3(&pos, &len, (const GLubyte*)"blended_overlay", 15)) - { - ret = GLXEW_SGIS_blended_overlay; - continue; - } -#endif -#ifdef GLX_SGIS_color_range - if (_glewStrSame3(&pos, &len, (const GLubyte*)"color_range", 11)) - { - ret = GLXEW_SGIS_color_range; - continue; - } -#endif -#ifdef GLX_SGIS_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"multisample", 11)) - { - ret = GLXEW_SGIS_multisample; - continue; - } -#endif -#ifdef GLX_SGIS_shared_multisample - if (_glewStrSame3(&pos, &len, (const GLubyte*)"shared_multisample", 18)) - { - ret = GLXEW_SGIS_shared_multisample; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGIX_", 5)) - { -#ifdef GLX_SGIX_fbconfig - if (_glewStrSame3(&pos, &len, (const GLubyte*)"fbconfig", 8)) - { - ret = GLXEW_SGIX_fbconfig; - continue; - } -#endif -#ifdef GLX_SGIX_hyperpipe - if (_glewStrSame3(&pos, &len, (const GLubyte*)"hyperpipe", 9)) - { - ret = GLXEW_SGIX_hyperpipe; - continue; - } -#endif -#ifdef GLX_SGIX_pbuffer - if (_glewStrSame3(&pos, &len, (const GLubyte*)"pbuffer", 7)) - { - ret = GLXEW_SGIX_pbuffer; - continue; - } -#endif -#ifdef GLX_SGIX_swap_barrier - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_barrier", 12)) - { - ret = GLXEW_SGIX_swap_barrier; - continue; - } -#endif -#ifdef GLX_SGIX_swap_group - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_group", 10)) - { - ret = GLXEW_SGIX_swap_group; - continue; - } -#endif -#ifdef GLX_SGIX_video_resize - if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) - { - ret = GLXEW_SGIX_video_resize; - continue; - } -#endif -#ifdef GLX_SGIX_visual_select_group - if (_glewStrSame3(&pos, &len, (const GLubyte*)"visual_select_group", 19)) - { - ret = GLXEW_SGIX_visual_select_group; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SGI_", 4)) - { -#ifdef GLX_SGI_cushion - if (_glewStrSame3(&pos, &len, (const GLubyte*)"cushion", 7)) - { - ret = GLXEW_SGI_cushion; - continue; - } -#endif -#ifdef GLX_SGI_make_current_read - if (_glewStrSame3(&pos, &len, (const GLubyte*)"make_current_read", 17)) - { - ret = GLXEW_SGI_make_current_read; - continue; - } -#endif -#ifdef GLX_SGI_swap_control - if (_glewStrSame3(&pos, &len, (const GLubyte*)"swap_control", 12)) - { - ret = GLXEW_SGI_swap_control; - continue; - } -#endif -#ifdef GLX_SGI_video_sync - if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_sync", 10)) - { - ret = GLXEW_SGI_video_sync; - continue; - } -#endif - } - if (_glewStrSame2(&pos, &len, (const GLubyte*)"SUN_", 4)) - { -#ifdef GLX_SUN_get_transparent_index - if (_glewStrSame3(&pos, &len, (const GLubyte*)"get_transparent_index", 21)) - { - ret = GLXEW_SUN_get_transparent_index; - continue; - } -#endif -#ifdef GLX_SUN_video_resize - if (_glewStrSame3(&pos, &len, (const GLubyte*)"video_resize", 12)) - { - ret = GLXEW_SUN_video_resize; - continue; - } -#endif - } - } - ret = (len == 0); - } - return ret; -} - -#endif /* _WIN32 */ diff --git a/3rdparty/openctm/tools/icons/Document-open.svg b/3rdparty/openctm/tools/icons/Document-open.svg deleted file mode 100644 index 873d7e377..000000000 --- a/3rdparty/openctm/tools/icons/Document-open.svg +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/icons/Document-save.svg b/3rdparty/openctm/tools/icons/Document-save.svg deleted file mode 100644 index c50833c10..000000000 --- a/3rdparty/openctm/tools/icons/Document-save.svg +++ /dev/null @@ -1,557 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - Save - - - Jakub Steiner - - - - - hdd - hard drive - save - io - store - - - - - http://jimmac.musichall.cz - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/icons/Help-browser.svg b/3rdparty/openctm/tools/icons/Help-browser.svg deleted file mode 100644 index 96908b883..000000000 --- a/3rdparty/openctm/tools/icons/Help-browser.svg +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - Help Browser - 2005-11-06 - - - Tuomas Kuosmanen - - - - - help - browser - documentation - docs - man - info - - - - - - Jakub Steiner, Andreas Nilsson - - - http://tigert.com - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/icons/Texture.svg b/3rdparty/openctm/tools/icons/Texture.svg deleted file mode 100644 index e1be3d47b..000000000 --- a/3rdparty/openctm/tools/icons/Texture.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/icons/icon_help.h b/3rdparty/openctm/tools/icons/icon_help.h deleted file mode 100644 index 070549662..000000000 --- a/3rdparty/openctm/tools/icons/icon_help.h +++ /dev/null @@ -1,229 +0,0 @@ -//------------------------------------------------------------------------------ -// Original: Help-browser.svg -// Size: 32x32 -// Format: RGBA -// Conversion: -// 1) SVG to 32x32 PNG with Inkscape -// 2) PNG to RGBA with ImageMagick (convert icon_help.png icon_help.rgba) -// 3) RGBA to C code with bin2c (bin2c icon_help.rgba icon_help > icon_help.h) -//------------------------------------------------------------------------------ - -static const unsigned char icon_help[] = { - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,31,73,135,49, - 34,75,136,152,51,90,145,205,80,114,161,219,106,134,175,230,106,134,175, - 230,80,114,161,219,51,91,145,205,33,77,137,153,31,73,135,49,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,33,75,136,92,68,103,155,219,148,168,198,246,209,218,231,255,247, - 249,251,255,247,249,251,255,247,249,251,255,247,249,251,255,247,249,251,255, - 247,249,251,255,210,219,231,255,149,170,198,246,69,104,155,219,33,74,137, - 93,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,30,75,135,34,34,76,138,207,133,156,190, - 248,240,243,247,255,247,249,251,255,238,242,246,255,189,202,221,255,162,181, - 207,255,140,164,196,255,141,164,197,255,163,182,208,255,190,203,221,255,239, - 242,247,255,247,249,251,255,240,243,247,255,136,158,192,248,35,77,138,207, - 30,75,135,34,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,31, - 73,136,73,66,102,153,230,197,208,224,255,247,249,251,255,228,233,241,255, - 122,149,186,255,67,105,158,255,63,102,157,255,65,104,158,255,66,105,159, - 255,66,106,159,255,66,106,159,255,66,105,159,255,71,109,161,255,125,152, - 189,255,228,234,241,255,247,249,251,255,199,210,226,255,67,103,154,229,35, - 73,136,73,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,30,75,135,68,109,137,177,240,237,241, - 246,255,247,249,251,255,181,196,217,255,72,110,161,255,64,103,157,255,67, - 106,159,255,69,108,161,255,71,110,162,255,72,111,163,255,73,112,164,255, - 73,112,164,255,72,111,163,255,71,110,163,255,70,109,161,255,79,116,166, - 255,184,199,219,255,247,249,251,255,238,241,246,255,111,139,178,240,34,75, - 135,68,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 31,77,131,33,66,102,154,229,237,241,246,255,236,240,245,255,123,150,187, - 255,62,102,156,255,66,105,159,255,70,109,161,255,73,111,164,255,75,114, - 165,255,77,116,167,255,79,117,168,255,80,118,168,255,80,118,168,255,79, - 117,168,255,78,116,167,255,76,114,166,255,73,112,164,255,71,109,162,255, - 129,155,191,255,237,241,246,255,238,242,246,255,67,104,155,229,31,77,131, - 33,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,34,76,137,207,197, - 208,224,255,247,249,251,255,123,150,187,255,63,102,157,255,67,107,160,255, - 72,110,163,255,75,114,165,255,79,117,168,255,81,119,170,255,102,135,180, - 255,120,150,189,255,128,157,194,255,114,146,187,255,94,130,177,255,84,122, - 172,255,82,120,170,255,80,118,168,255,76,115,166,255,73,111,163,255,130, - 156,192,255,248,249,251,255,200,211,227,255,37,79,138,207,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,33,74,134,93,133,157,190,248,247,249,251,255,181,196, - 217,255,63,102,156,255,68,107,160,255,72,111,163,255,77,115,167,255,81, - 119,169,255,185,200,220,255,217,224,235,255,233,237,242,255,244,246,247,255, - 251,251,251,255,240,242,246,255,228,234,241,255,193,206,224,255,101,136,180, - 255,85,123,173,255,82,120,170,255,78,116,167,255,74,112,164,255,186,200, - 220,255,248,249,251,255,137,161,194,248,33,74,137,93,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 68,103,155,219,240,243,247,255,228,233,241,255,73,111,161,255,67,106,159, - 255,72,111,163,255,77,116,167,255,82,120,170,255,86,124,173,255,224,230, - 238,255,244,244,244,255,247,247,247,255,250,250,250,255,252,252,252,255,251, - 251,251,255,249,249,249,255,247,247,247,255,210,220,232,255,96,131,179,255, - 88,125,174,255,83,121,171,255,79,117,168,255,84,121,170,255,229,235,242, - 255,241,244,248,255,70,105,156,219,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,30,75,135,51,148,168,198,246,247, - 249,251,255,123,150,187,255,65,104,158,255,71,110,162,255,76,115,166,255, - 82,120,170,255,87,125,174,255,92,129,177,255,225,231,238,255,245,245,245, - 255,233,238,244,255,222,230,239,255,229,235,243,255,250,251,252,255,249,249, - 249,255,246,246,246,255,244,244,245,255,137,164,199,255,93,130,178,255,88, - 126,174,255,83,121,171,255,78,116,167,255,132,158,193,255,248,249,251,255, - 152,172,201,246,30,75,135,51,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,33,75,137,153,209,218,231,255,239,242,247,255,68,107, - 159,255,68,107,161,255,75,113,165,255,80,119,169,255,86,124,173,255,92, - 129,177,255,97,134,180,255,224,231,240,255,182,199,221,255,121,154,195,255, - 111,147,190,255,116,151,193,255,224,231,240,255,249,249,249,255,246,246,246, - 255,244,244,244,255,174,193,216,255,98,135,181,255,93,130,178,255,88,125, - 174,255,82,120,170,255,82,118,169,255,240,243,247,255,212,221,233,255,35, - 77,138,153,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 51,89,146,206,247,249,251,255,189,203,221,255,65,104,158,255,72,110,163, - 255,78,116,167,255,84,122,171,255,90,127,176,255,96,133,180,255,101,138, - 184,255,107,143,188,255,111,146,190,255,114,150,193,255,117,152,195,255,128, - 161,200,255,231,237,244,255,248,248,248,255,246,246,246,255,243,243,244,255, - 149,174,207,255,103,139,184,255,97,134,181,255,92,129,177,255,86,123,173, - 255,79,118,168,255,194,207,225,255,248,249,251,255,54,92,148,205,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,80,114,162,219,247, - 249,251,255,164,182,208,255,68,107,160,255,74,113,165,255,81,119,169,255, - 87,125,174,255,94,131,178,255,100,136,182,255,106,142,187,255,111,147,190, - 255,116,151,194,255,120,155,197,255,133,166,203,255,221,230,239,255,249,249, - 249,255,247,247,247,255,245,245,245,255,224,231,239,255,120,154,195,255,107, - 143,188,255,101,138,183,255,95,132,179,255,89,126,175,255,82,120,170,255, - 171,189,213,255,248,249,251,255,83,117,164,219,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,106,135,175,230,247,249,251,255,143,166, - 198,255,69,108,161,255,76,115,166,255,83,121,171,255,90,127,176,255,96, - 133,180,255,103,139,185,255,109,145,189,255,115,150,193,255,121,156,197,255, - 132,164,204,255,221,230,241,255,248,248,248,255,247,247,247,255,245,245,245, - 255,232,237,243,255,148,176,209,255,117,152,194,255,111,146,190,255,104,141, - 186,255,98,135,181,255,91,129,177,255,85,122,172,255,152,174,204,255,248, - 249,251,255,109,137,177,230,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,106,135,176,230,247,249,251,255,143,167,198,255,71,110,162, - 255,78,116,167,255,85,123,172,255,92,129,177,255,99,135,182,255,106,142, - 187,255,112,148,191,255,119,154,196,255,125,159,200,255,204,218,233,255,245, - 245,245,255,245,245,245,255,245,245,245,255,235,239,245,255,161,187,217,255, - 126,161,201,255,120,155,197,255,114,149,192,255,107,143,188,255,100,137,183, - 255,94,131,178,255,87,124,173,255,153,175,205,255,248,249,251,255,110,137, - 177,230,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,81, - 115,162,219,247,249,251,255,166,184,209,255,72,111,163,255,79,117,168,255, - 86,124,173,255,93,130,178,255,100,137,183,255,107,143,188,255,114,150,193, - 255,121,156,198,255,128,162,202,255,226,233,240,255,242,242,242,255,243,243, - 243,255,243,244,245,255,179,201,226,255,136,169,208,255,129,164,203,255,123, - 157,199,255,116,151,194,255,109,145,189,255,102,138,184,255,95,132,179,255, - 88,125,174,255,173,191,215,255,248,249,251,255,84,118,164,219,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,52,92,146,206,247,249, - 251,255,192,205,223,255,73,112,164,255,80,118,169,255,87,125,174,255,94, - 131,179,255,101,138,184,255,108,144,189,255,116,151,194,255,123,157,199,255, - 131,165,205,255,212,223,237,255,216,227,238,255,218,228,239,255,220,230,241, - 255,154,185,218,255,138,172,210,255,131,165,205,255,124,159,200,255,117,152, - 195,255,110,146,190,255,103,139,185,255,96,133,180,255,89,126,175,255,197, - 210,227,255,248,249,251,255,56,95,149,205,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,35,77,138,152,211,220,232,255,239,243,247, - 255,79,116,167,255,80,118,169,255,87,125,174,255,94,131,179,255,101,138, - 184,255,109,144,189,255,116,151,194,255,123,158,199,255,131,165,204,255,209, - 221,235,255,217,227,239,255,219,229,241,255,218,229,240,255,155,185,218,255, - 139,172,210,255,132,166,205,255,125,159,200,255,117,153,195,255,110,146,190, - 255,103,139,185,255,96,133,180,255,94,130,178,255,241,244,248,255,214,222, - 234,255,37,79,139,152,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,31,73,135,49,151,172,200,246,248,249,251,255,132,158,193,255, - 80,118,168,255,87,124,173,255,94,131,178,255,101,137,183,255,108,144,188, - 255,115,150,193,255,122,157,198,255,132,165,204,255,230,235,241,255,236,236, - 236,255,237,237,237,255,236,238,241,255,160,188,219,255,137,170,209,255,130, - 164,204,255,123,158,199,255,116,152,194,255,109,145,189,255,102,139,184,255, - 95,132,179,255,142,168,200,255,248,250,252,255,155,176,203,246,31,73,135, - 49,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,70,105,157,218,241,244,248,255,230,235,242,255,90,126,173,255,86, - 123,173,255,92,130,177,255,99,136,182,255,106,142,187,255,113,148,192,255, - 120,155,196,255,129,162,202,255,229,234,240,255,234,234,234,255,235,235,235, - 255,234,237,240,255,155,184,216,255,133,167,206,255,127,162,202,255,121,156, - 198,255,115,150,193,255,108,144,188,255,101,137,183,255,104,139,184,255,232, - 237,244,255,242,245,249,255,73,108,159,218,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,33,75,136, - 92,139,162,195,247,248,249,251,255,189,203,222,255,84,122,171,255,91,128, - 176,255,97,134,181,255,104,140,185,255,110,146,190,255,116,152,194,255,125, - 159,199,255,231,236,241,255,237,237,237,255,237,237,237,255,237,239,242,255, - 150,179,212,255,128,162,203,255,123,158,199,255,118,153,195,255,112,147,191, - 255,105,141,186,255,99,135,182,255,194,208,226,255,248,250,252,255,145,167, - 199,247,36,78,139,92,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,38,80,140,206, - 202,213,228,255,248,249,251,255,139,164,198,255,88,126,174,255,95,132,179, - 255,101,137,183,255,107,143,187,255,112,148,191,255,119,153,195,255,157,183, - 212,255,162,187,215,255,164,188,217,255,163,188,216,255,130,163,203,255,123, - 157,199,255,119,154,196,255,114,149,192,255,108,144,188,255,102,139,184,255, - 148,173,205,255,249,250,252,255,206,217,231,255,41,81,141,206,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,31,77,131,33,71,106,158,229,239, - 242,247,255,238,242,247,255,141,166,199,255,91,128,177,255,97,134,181,255, - 103,139,185,255,108,144,188,255,112,148,191,255,116,151,194,255,119,154,196, - 255,121,156,197,255,121,156,197,255,120,155,196,255,117,152,195,255,113,149, - 192,255,109,145,189,255,104,140,185,255,150,175,206,255,240,243,248,255,240, - 244,248,255,74,109,160,229,31,77,131,33,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,34,79,139,68,115,142,180,240,239,243, - 247,255,248,250,252,255,193,207,225,255,103,138,183,255,98,135,181,255,103, - 139,185,255,107,143,188,255,110,146,190,255,113,148,192,255,114,150,193,255, - 114,150,193,255,113,149,192,255,111,147,190,255,108,144,188,255,113,147,189, - 255,197,211,228,255,249,250,252,255,241,244,248,255,118,145,184,240,38,79, - 139,68,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,30,70,124,76,71,107,157,231,205,215,230, - 255,248,250,252,255,232,237,244,255,146,171,203,255,104,138,184,255,101,138, - 184,255,104,141,186,255,107,143,187,255,108,144,188,255,108,144,188,255,107, - 143,188,255,110,145,188,255,152,176,207,255,234,239,245,255,249,250,252,255, - 208,219,232,255,74,109,158,231,31,65,114,83,0,0,0,6,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,0,0,0,2,0, - 0,0,16,0,0,0,28,15,37,63,69,37,77,135,217,143,165,196,250, - 242,245,249,255,248,250,252,255,242,245,249,255,201,213,229,255,177,195,218, - 255,163,185,212,255,164,186,212,255,178,197,220,255,202,215,230,255,243,246, - 249,255,249,250,252,255,243,246,249,255,146,169,199,250,39,79,134,219,13, - 34,57,76,0,0,0,37,0,0,0,24,0,0,0,11,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,0,0,0,5,0,0,0,19,0,0, - 0,32,0,0,0,45,0,0,0,58,24,52,93,137,70,102,150,231,155, - 175,202,249,216,225,236,255,249,250,252,255,249,250,252,255,249,250,252,255, - 249,250,252,255,249,250,252,255,249,250,252,255,217,226,237,255,157,176,203, - 250,71,104,151,232,25,51,90,144,0,0,0,67,0,0,0,54,0,0, - 0,40,0,0,0,28,0,0,0,15,0,0,0,1,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,0,0,0,9,0,0,0,22,0,0,0, - 34,0,0,0,45,0,0,0,57,0,0,0,68,14,32,59,112,31,65, - 114,188,58,93,141,225,87,117,159,234,110,136,173,241,110,136,173,241,87, - 116,158,234,59,93,141,226,32,66,113,190,13,30,56,118,0,0,0,75, - 0,0,0,64,0,0,0,53,0,0,0,42,0,0,0,30,0,0,0, - 18,0,0,0,4,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,0,0,0,9,0,0,0,20, - 0,0,0,30,0,0,0,38,0,0,0,45,0,0,0,52,0,0,0, - 57,0,0,0,61,0,0,0,64,0,0,0,64,0,0,0,63,0,0, - 0,60,0,0,0,56,0,0,0,50,0,0,0,43,0,0,0,35,0, - 0,0,27,0,0,0,17,0,0,0,5,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,0, - 0,0,1,0,0,0,5,0,0,0,10,0,0,0,14,0,0,0,18, - 0,0,0,20,0,0,0,21,0,0,0,20,0,0,0,16,0,0,0, - 13,0,0,0,9,0,0,0,4,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0, - 0 -}; diff --git a/3rdparty/openctm/tools/icons/icon_open.h b/3rdparty/openctm/tools/icons/icon_open.h deleted file mode 100644 index ba9b534f8..000000000 --- a/3rdparty/openctm/tools/icons/icon_open.h +++ /dev/null @@ -1,229 +0,0 @@ -//------------------------------------------------------------------------------ -// Original: Document_open.svg -// Size: 32x32 -// Format: RGBA -// Conversion: -// 1) SVG to 32x32 PNG with Inkscape -// 2) PNG to RGBA with ImageMagick (convert icon_open.png icon_open.rgba) -// 3) RGBA to C code with bin2c (bin2c icon_open.rgba icon_open > icon_open.h) -//------------------------------------------------------------------------------ - -static const unsigned char icon_open[] = { - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,77, - 77,77,56,76,76,76,57,75,75,75,58,78,78,78,59,77,77,77,60, - 75,75,75,61,78,78,78,62,81,81,81,63,86,86,86,65,89,89,89, - 66,91,91,91,67,94,94,94,68,100,100,100,69,102,102,102,70,104,104, - 104,71,106,106,106,72,110,110,110,74,112,112,112,75,117,117,117,76,119, - 119,119,77,121,121,121,78,123,123,123,79,128,128,128,10,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,107,107,107,231,214,214, - 214,247,204,204,204,246,203,203,203,246,201,201,201,246,201,201,201,245,199, - 199,199,246,200,200,200,245,199,199,199,246,199,199,199,246,200,200,200,246, - 200,200,200,246,201,201,201,246,200,200,200,247,202,202,202,246,201,201,201, - 247,202,202,202,248,202,202,202,248,203,203,203,248,203,203,203,249,204,204, - 204,249,148,148,148,237,123,123,123,27,255,255,255,0,255,255,255,0,255, - 255,255,0,90,90,90,36,90,90,90,48,90,90,90,48,90,90,90,48, - 90,90,90,48,90,90,90,48,118,118,118,217,252,252,252,255,250,250,250, - 255,250,250,250,255,250,250,250,255,250,250,250,255,250,250,250,255,250,250, - 250,255,250,250,250,255,250,250,250,255,250,250,250,255,250,250,250,255,250, - 250,250,255,250,250,250,255,250,250,250,255,250,250,250,255,250,250,250,255, - 250,250,250,255,250,250,250,255,250,250,250,255,250,250,250,255,158,158,158, - 228,112,112,112,16,255,255,255,0,255,255,255,0,96,96,96,71,140,140, - 140,237,167,167,167,240,168,168,168,240,168,168,168,240,169,169,169,240,170, - 170,170,241,125,125,125,251,242,242,242,255,241,241,241,255,201,201,201,255, - 194,194,194,255,194,194,194,255,194,194,194,255,194,194,194,255,194,194,194, - 255,195,195,195,255,195,195,195,255,195,195,195,255,195,195,195,255,195,195, - 195,255,195,195,195,255,195,195,195,255,195,195,195,255,196,196,196,255,202, - 202,202,255,247,247,247,255,248,248,248,255,148,148,148,227,102,102,102,5, - 255,255,255,0,255,255,255,0,94,94,94,89,189,189,189,254,169,169,169, - 255,162,162,162,255,162,162,162,255,162,162,162,255,162,162,162,255,137,137, - 137,255,237,237,237,255,231,231,231,255,211,211,211,255,208,208,208,255,208, - 208,208,255,209,209,209,255,209,209,209,255,209,209,209,255,209,209,209,255, - 209,209,209,255,210,210,210,255,210,210,210,255,210,210,210,255,211,211,211, - 255,211,211,211,255,227,227,227,255,232,232,232,255,233,233,233,255,238,238, - 238,255,238,238,238,255,139,139,139,226,255,255,255,0,255,255,255,0,255, - 255,255,0,90,90,90,61,180,180,180,249,165,165,165,255,156,156,156,255, - 156,156,156,255,156,156,156,255,156,156,156,255,161,161,161,255,228,228,228, - 255,221,221,221,255,199,199,199,255,197,197,197,255,198,198,198,255,198,198, - 198,255,198,198,198,255,199,199,199,255,199,199,199,255,199,199,199,255,199, - 199,199,255,199,199,199,255,200,200,200,255,200,200,200,255,200,200,200,255, - 220,220,220,255,227,227,227,255,227,227,227,255,228,228,228,255,228,228,228, - 255,131,131,131,212,255,255,255,0,255,255,255,0,255,255,255,0,90,90, - 90,37,171,171,171,241,177,177,177,255,162,162,162,255,162,162,162,255,162, - 162,162,255,139,139,139,255,209,209,209,255,213,213,213,255,211,211,211,255, - 178,178,178,255,178,178,178,255,179,179,179,255,179,179,179,255,179,179,179, - 255,179,179,179,255,179,179,179,255,179,179,179,255,179,179,179,255,179,179, - 179,255,180,180,180,255,180,180,180,255,180,180,180,255,180,180,180,255,180, - 180,180,255,180,180,180,255,212,212,212,255,210,210,210,255,122,122,122,184, - 255,255,255,0,255,255,255,0,255,255,255,0,90,90,90,12,156,156,156, - 236,182,182,182,255,161,161,161,255,161,161,161,255,161,161,161,255,117,117, - 117,255,227,227,227,255,201,201,201,255,190,190,190,255,178,178,178,255,178, - 178,178,255,178,178,178,255,178,178,178,255,178,178,178,255,178,178,178,255, - 178,178,178,255,179,179,179,255,179,179,179,255,179,179,179,255,179,179,179, - 255,179,179,179,255,180,180,180,255,180,180,180,255,180,180,180,255,198,198, - 198,255,208,208,208,255,179,179,179,254,112,112,112,116,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,141,141,141,230,180,180,180,255, - 155,155,155,255,155,155,155,255,153,153,153,255,154,154,154,255,208,208,208, - 255,192,192,192,255,182,182,182,255,181,181,181,255,182,182,182,255,182,182, - 182,255,183,183,183,255,183,183,183,255,183,183,183,255,184,184,184,255,184, - 184,184,255,184,184,184,255,184,184,184,255,184,184,184,255,185,185,185,255, - 185,185,185,255,185,185,185,255,191,191,191,255,197,197,197,255,198,198,198, - 255,128,128,128,228,102,102,102,25,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,129,129,129,220,185,185,185,255,156,156,156,255,156, - 156,156,255,128,128,128,255,204,204,204,255,183,183,183,255,182,182,182,255, - 174,174,174,255,174,174,174,255,174,174,174,255,174,174,174,255,175,175,175, - 255,175,175,175,255,175,175,175,255,176,176,176,255,176,176,176,255,176,176, - 176,255,176,176,176,255,176,176,176,255,177,177,177,255,177,177,177,255,177, - 177,177,255,183,183,183,255,188,188,188,255,181,181,181,255,109,109,109,188, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,117,117,117,210,197,197,197,255,161,161,161,255,160,160,160,255,112,112, - 112,255,210,210,210,255,172,172,172,255,167,167,167,255,165,165,165,255,165, - 165,165,255,165,165,165,255,165,165,165,255,165,165,165,255,165,165,165,255, - 166,166,166,255,166,166,166,255,166,166,166,255,166,166,166,255,166,166,166, - 255,170,170,170,255,177,177,177,255,177,177,177,255,178,178,178,255,178,178, - 178,255,179,179,179,255,134,134,134,237,90,90,90,62,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,104,104,104,198, - 198,198,198,255,155,155,155,255,150,150,150,255,158,158,158,255,185,185,185, - 255,126,146,171,255,90,126,170,255,90,126,170,255,90,126,170,255,90,126, - 170,255,90,126,170,255,90,126,170,255,90,126,170,255,90,125,170,255,90, - 125,170,255,90,125,170,255,90,125,170,255,90,125,170,255,90,125,170,255, - 90,125,170,255,90,125,170,255,90,125,170,255,90,125,170,255,90,125,170, - 255,70,108,154,243,61,109,170,187,61,109,170,187,61,109,170,187,61,109, - 170,187,59,108,169,68,255,255,255,0,102,102,102,175,185,185,185,255,146, - 146,146,255,119,119,119,255,195,195,195,255,175,175,175,255,87,125,174,255, - 169,196,225,255,163,191,222,255,163,191,222,255,163,191,223,255,163,191,223, - 255,163,191,223,255,163,191,223,255,163,191,223,255,163,191,223,255,163,191, - 223,255,163,191,223,255,163,191,223,255,163,191,223,255,163,191,223,255,163, - 191,223,255,163,191,222,255,163,191,222,255,163,191,222,255,163,191,222,255, - 163,191,222,255,163,191,222,255,162,191,222,255,149,180,215,255,61,109,170, - 146,255,255,255,0,102,102,102,145,181,181,181,255,142,142,142,255,107,107, - 107,255,208,208,208,255,180,180,180,255,99,136,183,255,155,187,221,255,133, - 172,213,255,133,172,213,255,133,172,213,255,133,172,213,255,133,172,213,255, - 133,172,213,255,132,171,213,255,132,171,213,255,132,171,213,255,132,171,213, - 255,131,171,213,255,131,170,213,255,131,170,213,255,130,170,212,255,130,170, - 212,255,129,170,212,255,129,170,212,255,129,169,212,255,128,169,212,255,128, - 168,212,255,130,170,212,255,126,162,204,245,52,101,164,66,255,255,255,0, - 98,98,98,109,175,175,175,255,139,139,139,255,159,159,159,255,190,190,190, - 255,175,178,183,255,113,148,191,255,146,180,218,255,133,172,213,255,133,172, - 213,255,132,171,213,255,132,171,213,255,132,171,213,255,131,171,213,255,131, - 171,213,255,131,170,213,255,131,170,213,255,130,170,212,255,129,170,212,255, - 129,170,212,255,129,169,212,255,129,169,212,255,128,169,212,255,128,169,212, - 255,128,168,212,255,127,168,212,255,127,168,212,255,118,162,208,255,143,179, - 217,255,86,129,183,229,52,101,164,10,255,255,255,0,90,90,90,74,162, - 162,162,252,122,122,122,255,196,196,196,255,189,189,189,255,158,169,183,255, - 126,161,201,255,137,175,215,255,132,171,213,255,131,171,213,255,131,170,213, - 255,131,170,213,255,130,170,212,255,130,170,212,255,129,170,212,255,129,170, - 212,255,129,169,212,255,128,169,212,255,128,169,212,255,128,168,212,255,128, - 168,212,255,127,168,212,255,127,168,212,255,127,168,211,255,126,167,211,255, - 126,167,211,255,118,162,208,255,114,159,207,255,150,184,219,255,63,111,171, - 210,255,255,255,0,255,255,255,0,90,90,90,50,147,147,147,242,114,114, - 114,255,208,208,208,255,193,193,193,255,137,157,183,255,136,171,210,255,131, - 170,213,255,130,170,212,255,130,170,212,255,129,170,212,255,129,169,212,255, - 129,169,212,255,128,169,212,255,128,169,212,255,128,168,212,255,127,168,212, - 255,127,168,212,255,127,168,211,255,127,168,211,255,126,167,211,255,126,167, - 211,255,126,167,211,255,125,167,211,255,125,166,211,255,117,161,208,255,114, - 159,207,255,116,160,208,255,138,173,212,255,60,109,170,159,255,255,255,0, - 255,255,255,0,90,90,90,25,134,134,134,234,107,107,107,255,220,220,220, - 255,198,198,198,255,109,141,180,255,142,177,214,255,129,169,212,255,129,169, - 212,255,128,169,212,255,128,168,212,255,128,168,212,255,127,168,212,255,127, - 168,212,255,127,168,211,255,126,167,211,255,126,167,211,255,126,167,211,255, - 126,167,211,255,125,167,211,255,125,167,211,255,125,166,211,255,124,166,210, - 255,120,163,209,255,115,159,207,255,114,159,207,255,114,159,207,255,126,167, - 211,255,108,150,197,245,53,102,164,77,255,255,255,0,255,255,255,0,90, - 90,90,3,124,124,124,229,106,106,106,255,217,217,217,255,202,202,202,255, - 91,130,179,255,141,178,216,255,128,168,212,255,127,168,212,255,127,168,211, - 255,127,168,211,255,126,167,211,255,126,167,211,255,126,167,211,255,126,167, - 211,255,125,167,211,255,125,166,211,255,125,166,211,255,124,166,210,255,124, - 166,210,255,123,165,210,255,121,164,209,255,116,161,208,255,114,159,207,255, - 114,159,207,255,114,159,207,255,114,159,207,255,133,172,213,255,75,121,178, - 225,52,101,164,11,255,255,255,0,255,255,255,0,255,255,255,0,115,115, - 115,222,108,108,108,255,206,206,206,255,202,203,204,255,94,135,183,255,132, - 171,213,255,126,167,211,255,126,167,211,255,126,167,211,255,125,167,211,255, - 125,167,211,255,125,166,211,255,123,165,210,255,122,165,210,255,121,164,209, - 255,121,164,209,255,120,163,209,255,118,162,209,255,117,161,208,255,115,160, - 207,255,114,159,207,255,114,159,207,255,114,159,207,255,114,159,207,255,114, - 159,207,255,114,159,207,255,132,170,213,255,61,109,170,203,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,109,109,109,214,110,110,110, - 255,144,144,144,255,126,136,149,255,102,142,189,255,127,167,212,255,125,166, - 211,255,123,165,210,255,120,163,209,255,118,162,208,255,116,160,208,255,114, - 159,207,255,114,159,207,255,114,159,207,255,114,159,207,255,114,159,207,255, - 114,159,207,255,114,159,207,255,114,159,207,255,114,159,207,255,114,159,207, - 255,114,159,207,255,114,159,207,255,114,159,207,255,114,159,207,255,117,161, - 208,255,110,152,200,254,58,106,168,123,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,104,104,104,205,134,134,134,255,102,102,102,255, - 80,105,137,255,112,153,201,255,118,161,209,255,115,160,208,255,113,158,207, - 255,112,158,207,255,112,158,207,255,112,158,207,255,112,158,207,255,112,158, - 207,255,112,158,207,255,112,158,206,255,112,158,206,255,112,157,206,255,111, - 157,206,255,111,157,206,255,111,157,206,255,111,157,206,255,111,157,206,255, - 111,157,206,255,111,157,206,255,111,157,206,255,118,162,208,255,77,125,181, - 231,52,101,164,37,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,102,102,102,189,145,145,145,255,106,107,108,255,70,112,164,255,113, - 159,208,255,108,155,206,255,108,155,206,255,108,155,205,255,107,155,205,255, - 107,155,205,255,107,155,205,255,107,155,205,255,107,154,205,255,107,154,205, - 255,107,154,205,255,107,154,205,255,107,154,205,255,106,154,205,255,106,154, - 205,255,106,154,205,255,106,154,205,255,106,154,205,255,106,154,205,255,106, - 154,205,255,106,154,205,255,109,155,206,255,60,109,170,207,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,92,92,92, - 168,122,122,122,255,75,95,119,255,86,133,187,255,104,152,204,255,103,152, - 204,255,103,152,204,255,103,152,204,255,102,151,204,255,102,151,204,255,102, - 151,204,255,102,151,204,255,102,151,204,255,102,151,204,255,102,151,204,255, - 102,151,204,255,101,151,204,255,101,151,204,255,101,151,204,255,101,151,204, - 255,101,151,204,255,101,151,204,255,101,150,204,255,101,150,204,255,102,150, - 204,255,82,131,188,246,52,98,157,100,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,0,0,0,12,77,77,77,146,100,104,109,255, - 62,104,157,255,97,148,203,255,98,149,203,255,98,148,203,255,98,148,203, - 255,97,148,203,255,97,148,203,255,97,148,203,255,97,148,203,255,97,148, - 203,255,97,148,203,255,97,148,203,255,97,148,203,255,97,148,203,255,97, - 148,203,255,97,148,203,255,97,148,203,255,97,148,203,255,97,148,203,255, - 97,148,203,255,97,148,203,255,97,148,203,255,96,147,203,255,58,107,166, - 228,9,17,28,30,0,0,0,3,255,255,255,0,255,255,255,0,255,255, - 255,0,0,0,0,14,49,49,49,74,67,91,121,243,60,106,164,254,64, - 108,163,253,63,108,163,253,63,108,163,253,63,108,163,253,64,108,163,253, - 64,108,163,253,63,108,163,253,63,108,163,253,63,108,163,253,63,108,163, - 253,63,108,163,253,64,108,163,253,64,108,163,253,64,108,163,253,64,108, - 163,253,64,108,163,253,64,108,163,253,64,108,163,253,64,108,163,253,63, - 108,163,252,62,109,168,238,58,106,165,234,40,74,119,113,0,0,0,26, - 0,0,0,4,255,255,255,0,255,255,255,0,255,255,255,0,0,0,0, - 1,0,0,0,20,6,6,6,38,11,11,11,54,10,10,10,57,9,9, - 9,61,9,9,9,61,9,9,9,61,9,9,9,61,9,9,9,61,9, - 9,9,61,9,9,9,61,9,9,9,61,9,9,9,61,9,9,9,61, - 9,9,9,61,9,9,9,61,9,9,9,61,9,9,9,61,9,9,9, - 61,9,9,9,61,9,9,9,61,9,9,9,61,3,3,3,58,0,0, - 0,51,0,0,0,44,0,0,0,30,0,0,0,12,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 0,0,0,4,0,0,0,12,0,0,0,18,0,0,0,21,0,0,0, - 21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0, - 0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0, - 0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21, - 0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,16,0,0,0, - 9,0,0,0,1,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0, - 0 -}; diff --git a/3rdparty/openctm/tools/icons/icon_save.h b/3rdparty/openctm/tools/icons/icon_save.h deleted file mode 100644 index c6358c379..000000000 --- a/3rdparty/openctm/tools/icons/icon_save.h +++ /dev/null @@ -1,229 +0,0 @@ -//------------------------------------------------------------------------------ -// Original: Document_save.svg -// Size: 32x32 -// Format: RGBA -// Conversion: -// 1) SVG to 32x32 PNG with Inkscape -// 2) PNG to RGBA with ImageMagick (convert icon_save.png icon_save.rgba) -// 3) RGBA to C code with bin2c (bin2c icon_save.rgba icon_save > icon_save.h) -//------------------------------------------------------------------------------ - -static const unsigned char icon_save[] = { - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,34,74,136,45,39,82,143,155,52,92,148, - 216,63,100,155,212,56,94,150,200,37,80,141,165,33,71,136,47,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,35,70,132,29,45, - 85,143,203,99,132,177,231,141,168,202,255,151,176,209,255,149,174,207,255, - 146,172,206,255,132,160,198,255,103,136,179,237,49,89,147,166,39,78,137, - 13,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,31,71,133,25,65,101,154,204,151,176,208,199,146,174, - 207,232,142,169,204,255,144,170,205,255,140,168,203,255,136,165,202,255,131, - 161,200,255,130,160,199,255,130,158,196,254,64,100,153,226,32,74,138,24, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,35,70,139,22, - 57,94,149,192,153,176,206,165,103,132,177,208,79,113,162,216,73,110,160, - 225,96,128,173,236,134,162,199,255,135,165,202,255,128,159,198,255,123,155, - 196,255,119,152,194,255,134,162,199,255,66,103,156,204,0,0,255,1,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,43,83,141,147,118,143,181,155,45, - 85,143,177,33,71,130,47,255,255,255,0,255,255,255,0,35,71,135,36, - 43,84,144,197,122,152,190,247,127,159,198,255,119,152,194,255,115,149,192, - 255,111,146,191,255,122,152,191,248,34,78,137,128,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,39,78,137,13,60,98,151,162,36,78,138,161,0,0,255,1,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,0,0,255,1,47, - 86,145,207,135,163,200,255,115,149,192,255,111,146,190,255,107,142,189,255, - 120,153,195,255,78,113,163,232,0,128,128,2,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,36,77,138,50, - 43,84,143,136,26,77,128,10,85,85,85,3,83,83,83,102,83,83,83, - 136,83,83,83,136,83,83,83,136,83,83,83,136,72,80,95,153,104,134, - 175,247,115,149,192,255,107,142,189,255,103,139,187,255,99,137,185,255,116, - 144,183,249,70,80,97,154,83,83,83,136,83,83,83,136,83,83,83,136, - 83,83,83,136,83,83,83,136,84,84,84,70,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,35,78,137,65,34,74,136,45,255, - 255,255,0,96,96,96,175,222,222,222,254,239,239,239,253,238,238,238,253, - 238,238,238,253,238,238,238,253,237,237,237,252,100,130,173,255,119,152,194, - 255,102,139,187,255,98,136,185,255,94,133,183,255,123,152,191,255,155,172, - 195,253,230,230,230,252,229,229,229,252,228,228,228,252,228,228,228,252,227, - 227,227,252,171,171,171,254,83,83,83,80,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,31,75,137,41,0,85,170,3,85,85,85,30,176,176, - 176,254,233,234,234,255,153,169,192,255,142,161,187,255,142,161,188,255,141, - 160,187,255,141,160,187,255,79,112,161,255,119,152,194,255,97,135,184,255, - 94,133,183,255,90,130,181,255,128,158,196,255,76,109,157,255,138,157,184, - 255,137,156,183,255,136,155,182,255,136,155,182,255,161,174,192,255,231,231, - 231,254,105,105,105,204,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 36,73,146,7,255,255,255,0,82,82,82,124,231,231,231,253,227,227,227, - 255,166,179,198,255,86,118,165,255,119,150,191,255,116,148,189,255,118,149, - 190,255,121,151,192,255,116,150,193,255,93,132,182,255,89,129,181,255,85, - 126,179,255,116,149,193,255,125,155,194,255,125,154,194,255,123,153,192,255, - 134,162,198,255,72,107,156,255,182,191,202,255,224,224,224,255,172,172,172, - 255,81,81,81,41,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,124,124,124,228,240,240,240,255,225,225,225,255,228,228,228,255, - 148,165,190,255,108,139,181,255,106,142,189,255,93,132,183,255,92,131,182, - 255,90,130,181,255,87,128,180,255,84,125,178,255,81,123,177,255,77,120, - 175,255,70,115,172,255,66,111,170,255,97,136,184,255,107,136,178,255,162, - 175,193,255,220,220,220,255,216,216,216,255,220,220,220,252,83,83,83,141, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,82,82,82,62,200,200, - 200,255,229,229,229,255,224,224,224,255,229,229,229,255,232,232,232,255,133, - 154,185,255,114,144,185,255,99,137,185,255,86,127,179,255,84,125,178,255, - 79,121,176,255,69,114,172,255,61,108,168,255,54,102,165,255,52,101,164, - 255,77,120,175,255,112,142,183,255,142,160,187,255,221,221,221,255,217,217, - 217,255,216,216,216,255,226,226,226,255,132,132,132,241,85,85,85,6,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,86,86,86,159,237,237,237,253,224,224,224, - 255,229,229,229,255,229,229,229,255,228,228,228,255,225,225,225,255,112,138, - 174,255,99,134,179,255,65,111,170,255,53,102,164,255,52,101,164,255,52, - 101,164,255,52,101,164,255,52,101,164,255,69,114,172,255,118,148,188,255, - 117,140,175,255,220,220,220,255,220,220,220,255,219,219,219,255,219,219,219, - 255,217,217,217,255,192,192,192,254,82,82,82,84,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,93, - 93,93,11,156,156,156,248,234,234,234,255,226,226,226,255,225,225,225,255, - 223,223,223,255,219,219,219,255,216,216,216,255,213,213,213,255,94,123,164, - 255,104,137,181,255,62,109,169,255,52,101,164,255,52,101,164,255,52,101, - 164,255,62,108,168,255,120,150,191,255,94,123,164,255,211,211,211,255,213, - 213,213,255,214,214,214,255,216,216,216,255,217,217,217,255,216,216,216,255, - 224,224,224,253,97,97,97,189,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,82,82,82,96,218,218, - 218,254,222,222,222,255,222,222,222,255,219,219,219,255,216,216,216,255,213, - 213,213,255,213,213,213,255,212,212,212,255,209,210,211,255,86,117,160,255, - 111,144,188,255,60,107,168,255,52,101,164,255,56,104,166,255,118,149,191, - 255,82,113,158,255,201,201,203,255,206,206,206,255,209,209,209,255,211,211, - 211,255,212,212,212,255,215,215,215,255,217,217,217,255,220,220,220,255,157, - 157,157,254,85,85,85,30,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,107,107,107,201,236,236,236,253,218,218,218, - 255,223,223,223,255,215,215,215,255,213,213,213,255,213,213,213,255,212,212, - 212,255,210,210,210,255,207,207,207,255,199,200,202,255,79,110,156,255,116, - 148,190,255,59,106,167,255,114,147,190,255,80,113,160,255,189,191,194,255, - 201,201,201,255,205,205,205,255,206,206,206,255,208,208,208,255,211,211,211, - 255,213,213,213,255,218,218,218,255,211,211,211,255,206,206,206,252,82,82, - 82,127,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,80, - 80,80,35,181,181,181,254,226,226,226,255,218,218,218,255,220,220,220,255, - 225,225,225,255,218,218,218,255,215,215,215,255,212,212,212,255,210,210,210, - 255,206,206,206,255,203,203,203,255,192,194,197,255,79,112,159,255,131,160, - 197,255,84,117,162,255,180,185,191,255,201,201,201,255,203,203,203,255,205, - 205,205,255,208,208,208,255,210,210,210,255,212,212,212,255,224,224,224,255, - 214,214,214,255,212,212,212,255,221,221,221,255,120,120,120,232,128,128,128, - 2,255,255,255,0,255,255,255,0,255,255,255,0,82,82,82,130,226,226, - 226,252,219,219,219,255,219,219,219,255,218,218,218,255,220,220,220,255,229, - 229,229,255,221,221,221,255,215,215,215,255,213,213,213,255,210,210,210,255, - 206,206,206,255,206,206,206,255,189,192,198,255,66,100,151,255,173,180,192, - 255,205,205,205,255,206,206,206,255,207,207,207,255,210,210,210,255,211,211, - 211,255,218,218,218,255,226,226,226,255,215,215,215,255,212,212,212,255,213, - 213,213,255,214,214,214,255,175,175,175,255,83,83,83,71,255,255,255,0, - 255,255,255,0,0,0,0,1,134,134,134,234,231,231,231,255,222,222,222, - 255,224,224,224,255,219,219,219,255,219,219,219,255,218,218,218,255,226,226, - 226,255,230,230,230,255,227,227,227,255,219,219,219,255,215,215,215,255,213, - 213,213,255,211,211,211,255,208,209,209,255,213,213,213,255,213,213,213,255, - 216,216,216,255,220,220,220,255,226,226,226,255,229,229,229,255,222,222,222, - 255,213,213,213,255,214,214,214,255,213,213,213,255,222,222,222,255,215,215, - 215,255,215,215,215,252,91,91,91,174,255,255,255,0,255,255,255,0,80, - 80,80,32,190,190,190,255,223,223,223,255,221,221,221,255,225,225,225,255, - 218,218,218,255,218,218,218,255,219,219,219,255,219,219,219,255,219,219,219, - 255,222,222,222,255,229,229,229,255,232,232,232,255,233,233,233,255,234,234, - 234,255,235,235,235,255,234,234,234,255,232,232,232,255,230,230,230,255,227, - 227,227,255,220,220,220,255,215,215,215,255,215,215,215,255,214,214,214,255, - 213,213,213,255,213,213,213,255,220,220,220,255,213,213,213,255,218,218,218, - 255,139,139,139,244,255,255,255,0,255,255,255,0,83,83,83,55,211,211, - 211,255,235,235,235,255,233,233,233,255,234,234,234,255,234,234,234,255,233, - 233,233,255,233,233,233,255,233,233,233,255,233,233,233,255,233,233,233,255, - 233,233,233,255,232,232,232,255,232,232,232,255,232,232,232,255,232,232,232, - 255,232,232,232,255,232,232,232,255,231,231,231,255,231,231,231,255,230,230, - 230,255,230,230,230,255,229,229,229,255,229,229,229,255,229,229,229,255,228, - 228,228,255,228,228,228,255,227,227,227,255,227,227,227,255,128,128,128,250, - 255,255,255,0,255,255,255,0,82,82,82,56,191,191,191,255,192,192,192, - 255,187,187,187,255,186,186,186,255,185,185,185,255,184,184,184,255,183,183, - 183,255,181,181,181,255,180,180,180,255,179,179,179,255,178,178,178,255,177, - 177,177,255,175,175,175,255,174,174,174,255,173,173,173,255,172,172,172,255, - 170,170,170,255,169,169,169,255,168,168,168,255,167,167,167,255,165,165,165, - 255,164,164,164,255,163,163,163,255,162,162,162,255,160,160,160,255,159,159, - 159,255,159,159,159,255,169,169,169,255,118,118,118,250,255,255,255,0,255, - 255,255,0,82,82,82,56,189,189,189,255,191,191,191,255,187,187,187,255, - 176,176,176,255,168,168,168,255,170,170,170,255,172,172,172,255,173,173,173, - 255,174,174,174,255,175,175,175,255,175,175,175,255,175,175,175,255,175,175, - 175,255,174,174,174,255,172,172,172,255,171,171,171,255,170,170,170,255,169, - 169,169,255,178,178,178,255,169,169,169,255,167,167,167,255,172,172,172,255, - 172,172,172,255,164,164,164,255,162,162,162,255,173,173,173,255,159,159,159, - 255,168,168,168,255,117,117,117,250,255,255,255,0,255,255,255,0,82,82, - 82,56,188,188,188,255,191,191,191,255,187,187,187,255,160,160,160,255,140, - 140,140,255,149,149,149,255,154,154,154,255,160,160,160,255,166,166,166,255, - 169,169,169,255,172,172,172,255,173,173,173,255,174,174,174,255,174,174,174, - 255,172,172,172,255,171,171,171,255,169,169,169,255,168,168,168,255,190,190, - 190,255,170,170,170,255,166,166,166,255,179,179,179,255,183,183,183,255,167, - 167,167,255,162,162,162,255,183,183,183,255,159,159,159,255,167,167,167,255, - 116,116,116,250,255,255,255,0,255,255,255,0,82,82,82,56,186,186,186, - 255,191,191,191,255,186,186,186,255,165,165,165,255,141,141,141,255,148,148, - 148,255,154,154,154,255,160,160,160,255,166,166,166,255,168,168,168,255,171, - 171,171,255,173,173,173,255,174,174,174,255,173,173,173,255,171,171,171,255, - 170,170,170,255,169,169,169,255,168,168,168,255,190,190,190,255,170,170,170, - 255,166,166,166,255,179,179,179,255,182,182,182,255,166,166,166,255,162,162, - 162,255,183,183,183,255,159,159,159,255,167,167,167,255,115,115,115,250,255, - 255,255,0,0,0,0,3,70,70,70,65,185,185,185,255,191,191,191,255, - 185,185,185,255,180,180,180,255,180,180,180,255,177,177,177,255,169,169,169, - 255,166,166,166,255,166,166,166,255,168,168,168,255,171,171,171,255,173,173, - 173,255,173,173,173,255,173,173,173,255,171,171,171,255,169,169,169,255,168, - 168,168,255,167,167,167,255,190,190,190,255,170,170,170,255,165,165,165,255, - 178,178,178,255,182,182,182,255,166,166,166,255,162,162,162,255,183,183,183, - 255,159,159,159,255,166,166,166,255,114,114,114,250,0,0,0,6,0,0, - 0,7,69,69,69,67,178,178,178,255,192,192,192,255,185,185,185,255,187, - 187,187,255,191,191,191,255,192,192,192,255,192,192,192,255,192,192,192,255, - 192,192,192,255,190,190,190,255,184,184,184,255,177,177,177,255,173,173,173, - 255,171,171,171,255,171,171,171,255,169,169,169,255,168,168,168,255,166,166, - 166,255,177,177,177,255,167,167,167,255,164,164,164,255,170,170,170,255,170, - 170,170,255,162,162,162,255,161,161,161,255,170,170,170,255,159,159,159,255, - 165,165,165,255,111,111,111,247,0,0,0,10,255,255,255,0,46,46,46, - 17,120,120,120,242,198,198,198,252,201,201,201,251,200,200,200,251,198,198, - 198,251,197,197,197,251,194,194,194,251,192,192,192,252,190,190,190,252,189, - 189,189,252,187,187,187,251,185,185,185,251,183,183,183,252,181,181,181,252, - 180,180,180,252,177,177,177,252,175,175,175,251,173,173,173,251,172,172,172, - 251,169,169,169,251,167,167,167,251,165,165,165,251,164,164,164,250,162,162, - 162,250,160,160,160,250,160,160,160,250,159,159,159,250,147,147,147,252,86, - 86,86,182,0,0,0,2,255,255,255,0,255,255,255,0,82,82,82,31, - 81,81,81,113,79,79,79,125,77,77,77,130,75,75,75,133,73,73,73, - 136,72,72,72,139,70,70,70,141,69,69,69,144,68,68,68,146,67,67, - 67,148,66,66,66,150,66,66,66,150,66,66,66,151,66,66,66,151,66, - 66,66,151,66,66,66,150,67,67,67,149,68,68,68,146,69,69,69,145, - 70,70,70,143,71,71,71,140,73,73,73,137,74,74,74,134,76,76,76, - 131,78,78,78,127,81,81,81,123,84,84,84,100,85,85,85,12,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,0,0,0,2, - 0,0,0,4,0,0,0,8,0,0,0,11,0,0,0,13,0,0,0, - 16,0,0,0,18,0,0,0,20,0,0,0,20,0,0,0,19,0,0, - 0,17,0,0,0,15,0,0,0,12,0,0,0,9,0,0,0,6,0, - 0,0,3,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0, - 0 -}; diff --git a/3rdparty/openctm/tools/icons/icon_texture.h b/3rdparty/openctm/tools/icons/icon_texture.h deleted file mode 100644 index 79fd234f0..000000000 --- a/3rdparty/openctm/tools/icons/icon_texture.h +++ /dev/null @@ -1,229 +0,0 @@ -//------------------------------------------------------------------------------ -// Original: Texture.svg -// Size: 32x32 -// Format: RGBA -// Conversion: -// 1) SVG to 32x32 PNG with Inkscape -// 2) PNG to RGBA with ImageMagick (convert icon_texture.png icon_texture.rgba) -// 3) RGBA to C code with bin2c (bin2c icon_texture.rgba icon_texture > icon_texture.h) -//------------------------------------------------------------------------------ - -static const unsigned char icon_texture[] = { - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,131,132,131,34,191,192,191,151,217,217,217, - 212,220,221,220,219,220,221,220,219,220,221,220,219,220,221,220,219,220,221, - 220,219,220,220,220,219,220,220,220,219,220,220,220,219,219,220,219,219,219, - 220,219,219,219,219,218,219,218,219,218,219,218,219,218,219,217,218,217,219, - 217,218,217,219,217,217,216,219,216,217,216,219,216,217,216,219,216,216,215, - 219,215,216,215,219,215,215,214,219,214,215,214,219,214,215,214,219,214,214, - 213,219,213,214,213,219,199,200,199,188,160,160,159,99,255,255,255,0,255, - 255,255,0,186,186,186,156,248,249,248,255,248,249,248,255,248,249,248,255, - 248,249,248,255,248,249,248,255,248,249,248,255,248,248,247,255,247,248,247, - 255,247,248,247,255,246,247,246,255,246,247,246,255,246,247,246,255,245,246, - 245,255,245,246,245,255,245,245,244,255,244,245,244,255,244,245,244,255,243, - 244,243,255,243,244,243,255,243,243,242,255,242,243,242,255,242,243,242,255, - 242,242,241,255,241,242,241,255,241,241,240,255,240,241,240,255,240,241,240, - 255,240,240,239,255,231,232,231,246,58,58,58,20,255,255,255,0,211,212, - 211,218,248,249,248,255,248,249,248,255,248,249,248,255,248,249,248,255,248, - 249,248,255,248,249,248,255,247,248,247,255,247,248,247,255,246,247,246,255, - 246,247,246,255,246,247,246,255,245,246,245,255,245,246,245,255,245,245,244, - 255,244,245,244,255,244,245,244,255,243,244,243,255,243,244,243,255,243,243, - 242,255,242,243,242,255,242,243,242,255,242,242,241,255,241,242,241,255,241, - 241,240,255,240,241,240,255,240,241,240,255,240,240,239,255,239,240,239,255, - 239,239,238,255,148,148,148,94,255,255,255,0,214,215,214,226,248,249,248, - 255,248,249,248,255,248,249,248,255,248,249,248,255,248,249,248,255,247,248, - 247,255,247,248,247,255,246,247,246,255,246,247,246,255,246,247,246,255,245, - 246,245,255,245,246,245,255,245,245,244,255,244,245,244,255,244,245,244,255, - 243,244,243,255,243,244,243,255,243,243,242,255,242,243,242,255,242,243,242, - 255,242,242,241,255,241,242,241,255,241,241,240,255,240,241,240,255,240,241, - 240,255,240,240,239,255,239,240,239,255,239,239,238,255,239,239,238,255,148, - 149,148,111,255,255,255,0,214,215,214,227,248,249,248,255,248,249,248,255, - 248,249,248,255,248,249,248,255,247,248,247,255,247,248,247,255,246,247,246, - 255,246,247,246,255,246,247,246,255,245,246,245,255,245,246,245,255,245,245, - 244,255,244,245,244,255,244,245,244,255,243,244,243,255,243,244,243,255,243, - 243,242,255,242,243,242,255,242,243,242,255,242,242,241,255,241,242,241,255, - 241,241,240,255,240,241,240,255,240,241,240,255,240,240,239,255,239,240,239, - 255,239,239,238,255,239,239,238,255,238,239,238,255,147,147,147,112,255,255, - 255,0,214,215,214,227,248,249,248,255,248,249,248,255,248,249,248,255,247, - 248,247,255,247,248,247,255,246,247,246,255,246,247,246,255,246,247,246,255, - 245,246,245,255,245,246,245,255,245,245,244,255,244,245,244,255,244,245,244, - 255,243,244,243,255,243,244,243,255,243,243,242,255,242,243,242,255,242,243, - 242,255,242,242,241,255,241,242,241,255,241,241,240,255,240,241,240,255,240, - 241,240,255,240,240,239,255,239,240,239,255,239,239,238,255,239,239,238,255, - 238,239,238,255,238,238,237,255,147,147,147,112,255,255,255,0,214,215,214, - 227,248,249,248,255,248,249,248,255,63,118,176,255,71,126,186,255,72,126, - 186,255,72,128,188,255,73,129,188,255,74,129,189,255,75,130,190,255,75, - 131,191,255,76,132,191,255,76,133,192,255,77,134,193,255,78,135,194,255, - 79,135,194,255,79,137,195,255,80,138,196,255,81,138,197,255,81,139,197, - 255,82,140,198,255,82,141,199,255,83,142,200,255,84,143,200,255,85,144, - 201,255,85,144,202,255,86,145,203,255,116,153,194,255,238,238,237,255,237, - 238,237,255,147,147,146,112,255,255,255,0,214,215,214,227,248,249,248,255, - 247,248,247,255,71,124,183,255,78,131,194,255,79,132,195,255,80,133,196, - 255,81,134,197,255,81,136,198,255,82,137,199,255,83,138,200,255,84,139, - 201,255,85,140,202,255,86,142,203,255,87,143,204,255,88,144,205,255,89, - 145,206,255,89,146,207,255,90,148,208,255,91,149,209,255,92,150,210,255, - 93,151,211,255,94,152,212,255,95,154,213,255,96,155,214,255,97,156,215, - 255,97,157,216,255,123,161,199,255,237,238,237,255,237,237,236,255,147,147, - 146,112,255,255,255,0,214,215,214,227,247,248,247,255,247,248,247,255,79, - 130,183,255,89,139,194,255,86,137,194,255,83,135,194,255,80,133,194,255, - 78,131,194,255,79,133,195,255,80,134,196,255,84,131,189,255,86,126,181, - 255,83,123,178,255,83,121,175,255,81,119,174,255,79,117,171,255,78,114, - 168,255,77,112,166,255,75,110,164,255,73,108,161,255,73,105,159,255,71, - 103,157,255,69,101,153,255,68,100,152,255,74,112,166,255,89,142,200,255, - 122,160,198,255,237,238,237,255,237,237,236,255,146,147,146,112,255,255,255, - 0,213,214,213,227,247,248,247,255,247,248,247,255,98,143,189,255,100,147, - 194,255,97,145,194,255,94,143,194,255,91,140,194,255,88,138,194,255,85, - 136,194,255,85,133,191,255,85,128,185,255,83,126,182,255,82,124,180,255, - 81,123,179,255,80,121,177,255,79,119,176,255,78,117,174,255,77,116,172, - 255,76,114,170,255,75,113,169,255,75,112,166,255,73,110,165,255,71,109, - 163,255,71,107,162,255,71,108,162,255,75,114,170,255,127,159,196,255,237, - 237,236,255,236,237,236,255,146,146,145,112,255,255,255,0,213,214,213,227, - 247,248,247,255,246,247,246,255,100,145,188,255,110,155,194,255,107,153,194, - 255,104,150,194,255,101,148,194,255,98,146,194,255,96,144,194,255,92,142, - 194,255,90,140,194,255,87,137,194,255,84,135,194,255,81,133,194,255,78, - 131,194,255,79,132,195,255,80,133,196,255,81,135,197,255,82,136,198,255, - 82,137,199,255,82,136,199,255,79,133,195,255,76,130,189,255,72,124,182, - 255,67,117,174,255,62,110,165,255,117,142,174,255,236,237,236,255,236,236, - 235,255,146,146,145,112,255,255,255,0,213,214,213,227,246,247,246,255,246, - 247,246,255,107,150,187,255,121,163,194,255,118,160,194,255,115,158,194,255, - 112,156,194,255,109,154,194,255,106,152,194,255,103,150,194,255,100,147,194, - 255,97,145,194,255,94,143,194,255,91,141,194,255,87,138,193,255,80,131, - 188,255,72,122,182,255,64,113,173,255,56,103,161,255,47,91,148,255,41, - 83,138,255,38,79,132,255,35,74,126,255,31,69,120,255,28,64,113,255, - 24,59,107,255,121,141,170,255,236,236,235,255,236,236,235,255,145,146,145, - 112,255,255,255,0,212,213,212,227,246,247,246,255,246,246,245,255,115,156, - 187,255,131,171,194,255,128,168,194,255,126,166,194,255,123,164,194,255,120, - 162,194,255,117,160,194,255,114,157,194,255,107,152,194,255,92,140,190,255, - 78,128,184,255,68,118,177,255,60,108,171,255,56,104,164,255,53,100,159, - 255,50,96,153,255,47,91,148,255,44,87,142,255,40,82,136,255,37,77, - 130,255,34,73,124,255,30,68,118,255,27,63,112,255,24,58,106,255,120, - 141,169,255,236,236,235,255,235,236,235,255,145,145,145,112,255,255,255,0, - 212,213,212,227,246,246,245,255,245,246,245,255,115,156,186,255,136,174,194, - 255,136,174,194,255,136,174,194,255,132,172,193,255,116,158,191,255,96,142, - 188,255,77,127,184,255,65,117,179,255,63,114,177,255,62,112,174,255,59, - 109,170,255,57,105,166,255,54,102,161,255,51,98,156,255,49,93,151,255, - 45,89,145,255,42,85,139,255,39,80,134,255,36,76,128,255,33,71,122, - 255,29,66,116,255,26,62,110,255,23,57,104,255,120,140,168,255,235,236, - 235,255,235,235,234,255,145,145,145,112,255,255,255,0,212,212,212,227,245, - 246,245,255,245,246,245,255,143,163,170,255,147,178,193,255,133,172,193,255, - 100,143,182,255,67,116,173,255,61,111,173,255,62,112,174,255,62,112,174, - 255,61,111,173,255,60,110,171,255,59,108,169,255,57,105,165,255,55,102, - 161,255,52,98,157,255,49,95,152,255,47,91,147,255,44,87,142,255,41, - 82,136,255,38,78,131,255,34,74,125,255,31,69,120,255,28,65,114,255, - 25,60,108,255,22,55,102,255,119,140,168,255,235,235,234,255,235,235,234, - 255,145,145,144,112,255,255,255,0,212,212,212,227,245,246,245,255,244,245, - 244,255,179,178,163,255,160,160,144,255,119,117,100,255,83,89,96,255,62, - 98,145,255,58,107,167,255,58,107,168,255,58,107,168,255,58,107,167,255, - 57,105,166,255,56,103,163,255,54,101,160,255,52,98,156,255,50,95,152, - 255,47,91,148,255,44,88,143,255,42,84,138,255,39,80,133,255,36,76, - 128,255,33,71,123,255,30,67,117,255,27,63,111,255,23,58,106,255,20, - 54,100,255,119,139,166,255,235,235,234,255,234,235,234,255,145,145,144,112, - 255,255,255,0,212,212,212,227,244,245,244,255,244,245,244,255,128,133,117, - 255,169,158,132,255,148,140,112,255,104,103,83,255,111,108,91,255,91,90, - 85,255,72,91,115,255,59,97,146,255,55,102,161,255,54,101,160,255,52, - 99,157,255,51,97,155,255,49,94,151,255,47,91,148,255,45,88,144,255, - 42,84,139,255,40,81,134,255,37,77,130,255,34,73,125,255,31,69,119, - 255,28,65,114,255,25,60,109,255,22,56,103,255,19,52,98,255,118,138, - 165,255,234,235,234,255,234,234,233,255,145,145,144,112,255,255,255,0,212, - 212,211,227,244,245,244,255,244,245,244,255,124,128,111,255,140,133,107,255, - 87,88,64,255,114,113,93,255,165,154,129,255,128,121,105,255,116,117,94, - 255,107,108,87,255,107,96,83,255,96,92,90,255,70,88,112,255,51,90, - 140,255,46,90,146,255,44,87,143,255,42,84,139,255,40,81,135,255,37, - 77,130,255,35,74,126,255,35,70,119,255,29,66,116,255,26,62,111,255, - 23,58,106,255,20,54,100,255,17,49,95,255,117,137,164,255,234,234,233, - 255,234,234,233,255,144,144,144,112,255,255,255,0,211,212,211,227,244,245, - 244,255,243,244,243,255,122,126,107,255,97,98,76,255,101,100,78,255,116, - 113,99,255,159,146,122,255,149,139,114,255,151,138,115,255,146,136,111,255, - 117,106,87,255,140,125,103,255,123,106,87,255,109,94,79,255,57,83,119, - 255,41,83,138,255,39,80,134,255,37,77,130,255,35,74,126,255,79,88, - 95,255,113,106,89,255,60,72,90,255,24,59,107,255,21,55,102,255,18, - 51,97,255,15,47,92,255,116,136,162,255,234,234,233,255,233,233,232,255, - 144,144,144,112,255,255,255,0,211,212,211,227,243,244,243,255,243,244,243, - 255,245,245,244,255,245,246,245,255,245,246,245,255,245,245,245,255,245,245, - 245,255,245,245,244,255,244,245,244,255,244,245,244,255,244,244,243,255,243, - 244,243,255,243,243,242,255,243,243,242,255,242,243,242,255,242,242,242,255, - 242,242,242,255,242,242,241,255,242,242,241,255,241,242,241,255,241,241,240, - 255,241,241,240,255,240,240,239,255,240,240,239,255,239,240,239,255,239,239, - 239,255,238,238,237,255,233,233,232,255,233,233,232,255,144,144,144,112,255, - 255,255,0,210,211,210,227,243,244,243,255,243,243,242,255,242,243,242,255, - 242,243,242,255,242,242,241,255,241,242,241,255,241,241,240,255,240,241,240, - 255,240,241,240,255,240,240,239,255,239,240,239,255,239,239,238,255,239,239, - 238,255,238,239,238,255,238,238,237,255,237,238,237,255,237,237,236,255,237, - 237,236,255,236,237,236,255,236,236,235,255,236,236,235,255,235,235,234,255, - 235,235,234,255,234,235,234,255,234,234,233,255,234,234,233,255,233,233,232, - 255,233,233,232,255,233,233,232,255,144,144,143,112,255,255,255,0,210,211, - 210,227,243,243,242,255,242,243,242,255,242,243,242,255,242,242,241,255,241, - 242,241,255,241,241,240,255,240,241,240,255,240,241,240,255,240,240,239,255, - 239,240,239,255,239,239,238,255,239,239,238,255,238,239,238,255,238,238,237, - 255,237,238,237,255,237,237,236,255,237,237,236,255,236,237,236,255,236,236, - 235,255,236,236,235,255,235,235,234,255,235,235,234,255,234,235,234,255,234, - 234,233,255,234,234,233,255,233,233,232,255,233,233,232,255,233,233,232,255, - 232,232,231,255,144,144,143,112,255,255,255,0,210,210,209,227,242,243,242, - 255,242,243,242,255,242,242,241,255,241,242,241,255,241,241,240,255,240,241, - 240,255,240,241,240,255,240,240,239,255,239,240,239,255,239,239,238,255,239, - 239,238,255,238,239,238,255,238,238,237,255,237,238,237,255,237,237,236,255, - 237,237,236,255,236,237,236,255,236,236,235,255,236,236,235,255,235,235,234, - 255,235,235,234,255,234,235,234,255,234,234,233,255,234,234,233,255,233,233, - 232,255,233,233,232,255,233,233,232,255,232,232,231,255,232,232,231,255,143, - 143,143,112,255,255,255,0,188,189,188,202,242,243,242,255,242,242,241,255, - 241,242,241,255,241,241,240,255,241,241,240,255,240,241,240,255,240,240,239, - 255,239,240,239,255,239,239,238,255,239,239,238,255,238,239,238,255,238,238, - 237,255,238,238,237,255,237,237,236,255,237,237,236,255,236,237,236,255,236, - 236,235,255,236,236,235,255,235,236,235,255,235,235,234,255,234,235,234,255, - 234,234,233,255,234,234,233,255,233,233,232,255,233,233,232,255,233,233,232, - 255,232,232,231,255,232,232,231,255,231,232,231,255,104,104,104,66,255,255, - 255,0,136,136,136,122,232,232,231,248,241,242,241,255,241,242,241,255,241, - 241,240,255,240,241,240,255,240,240,239,255,239,240,239,255,239,240,239,255, - 239,239,238,255,238,239,238,255,238,238,237,255,238,238,237,255,237,238,237, - 255,237,237,236,255,236,237,236,255,236,236,235,255,236,236,235,255,235,236, - 235,255,235,235,234,255,235,235,234,255,234,234,233,255,234,234,233,255,233, - 234,233,255,233,233,232,255,233,233,232,255,232,232,231,255,232,232,231,255, - 231,232,231,255,187,187,186,220,26,26,26,5,255,255,255,0,26,26,26, - 5,36,36,36,67,109,109,109,141,117,117,117,151,117,117,117,151,117,117, - 116,151,116,117,116,151,116,117,116,151,116,116,116,151,116,116,116,151,116, - 116,115,151,116,116,115,151,115,116,115,151,115,115,115,151,115,115,115,151, - 115,115,115,151,115,115,115,151,115,115,115,151,115,115,114,151,115,115,114, - 151,114,114,114,151,114,114,114,151,114,114,114,151,114,114,113,151,114,114, - 113,151,113,113,113,151,113,113,113,151,113,113,113,151,74,74,74,107,26, - 26,26,32,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0, - 255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255, - 0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255, - 255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255, - 255,255,0,255,255,255,0,255,255,255,0, - 0 -}; diff --git a/3rdparty/openctm/tools/icons/openctm.ico b/3rdparty/openctm/tools/icons/openctm.ico deleted file mode 100644 index 35b850e0c9e7d2a38578e4099bc73e599e6676a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 zcmeHQ3y>7W8SeFv1A-nZMx*GRQIr@pB*qen=FVq)Mx%u>F~D(qpcpkiq9m5ep?RqB zZ8W9PBC$k`#<%5@$Qg{NsCPTdfr{vg&mbZoC?c}?zMkpX-nr@7nc3OB#R^qF|IBQ6 z|KImdPj^qx-+e-)L_aZPh=6VqC-)QL5FtcUlYM?CuHTDmBS$*t!-Y70OCefX?DG)^ z2(f;&5F?NWNl}7*9ZH~Bv9!M}@*Mx=^LZX#1DPz3Pw5#f(%CyiI&&b;O9}GTLs$sq zR&nrk+laKa1hNitZixH?wEQfiTZ}wqv}m(lK>j?i{8O~OvWcl2r1$1uk88`tprJoT z{+nbOZPo%Y$r|BThEINC_!7c$E)Z>96H&$*$V$AwSDte(HzBvG?qc{EH=) zv~`IXb61@zCm=ubDp@3UIB-As2`HAH-vGKsY!QnEejJL#OYqJRX z*NT1vT9Efb$d{0%qP1u1kogyj?e_Z-@;nZ~J+iHqxi^Peuh9Mv8+b5zu^D{lI=@|J=hwRVa#h7OY!dIxb znO#ij_3PKD8rF;w8X*mkI!Fql{_&XC_#4wOZ61vVgzZcdqy@tEO8!H`vtScj>xpo5klt$tqwtp%Rd#jVgX_ECrxfhnsoA%2v|Cq+ zj#>RwIdOG>ePUS&kZegRwu)<;`AXPV{QEOBfKB#eI)-<} z#O&y}7(&`7j+v05VnTMiLO&5ru&?@Yg<~0>nM1>1D8oK+ z%!O>vejgZS7W)DHG247Rzd<<4v`-8lLJs2i1@HiJEyH?LmXn(qjINN>a6mNTwkpDSOy%f^V zdHz;-Y`=@Tzn}8Ct`o4o3}qZipR#Uy?6S_y6enlCuG`d)%e4Oj@;AypneQ)p9k=WJ zG|`dYNVn%bF2nw{$lIU&4D2rT*j|G7nnS#{{LW+8=a_7a-QH(^2fOQwZD*blJAn2=>|E4-^xuX4rktWBX%{)BX6Bx)#FzYNQ#j zwWZ!M@Z2cl9WR~|_7~vy-O!$F4!#e2IK$uB>&2L!{@ya9oCnyy9ls5h^9gC|O^_cyfI=7^IZPMG)$YvZxECr%VL=2>k{w7YScG(uA^Kov~RNtjJD}EBL~J1q%%i_;ZQ~VJ?>z9 zOgcL|pgti+r2D&m9QqJHx!kWXaSi}|_BBQh{NB>qCC4Z#4|N~oCx9Oo;YnLR2Zz-L z9)Hu*)(HNCbxfEa@QX)K&%+EoZ4Kam5B|5`N7+a7+qCz)pgUG#U!6UohVb({yBc#3 z#XH(#hC1VnxijOu*!$4`*8_WhX&-Sa!2PxnJ7XdzcDwU8UJmpDgwIhmb0<1NH?0*capXeZu1Prb`$<$Cjrm8^Asu zxJ_dL*7rxmxCL9N^l@~8_}@fXdl7?-?d5kt^E0{*V>NsqDSu8eA^Z=boXsTm)~?~e zZGJyYTkoUYZ;9h;zdU8){{s2Xg~+*C;2r~6Y4$tf6EN2I!x8sd8Tk2~PtM!$dp$5; zXU5HW6U23B>k;DO_2!F-|4HPt-^J7O8_|9^Ye4+^r0j=yjt}+PP3k-%e$EeeKxF(6 zW8UC%#D)6dme-y|pEWEgtbXN0z`q1(<-3M_*R$g~P4j7N8?Q)We%24Oek~;a*+?hj zkL>qUcYTZ+v*?=hYscs|DtTN2KV#@FgSasTz&0hIzPyNM!FT;hr8oc^A|rgq{){K+ z75{{GFk>RFv|G#ct*SI3zO!tV~IvK_;a{JcH^Uh&%$)4yOY!3-K`-`be z*O?N?04+KiZQY6tJRgY+)B})#x}UIh9WwBo8KiD$uys?tt+!6u8X4s88;Pk>r#c#? z7M)m!h5Vwa-qs_rHjC%OJbH+8uF|#G`BXWoTxCbuRX7}6NG@?~5OKA^5h%$LFvRmbE{U-13FUB4n^JPGDQ z%<&|;4;G2GdEbeOwG!#e;7=cX0BP27VGfb&&=Kp9XsEjz&~5k2eyx{tHzv&j!!>MfWK-N?nGJc+7CMpmwUmKs0aL=YX{n1Hm)nt z@g{woAbQ3HlzXo(smw7R4Rt6;sFt&5x78Hl9 z`2g)_73QHT%%6V9L5kPvm5O67w3*mtqT0S=xP`e^CI0GpxDoaW<7V!m6&y#cKM#+W`(4@3A64d0KRgd{zhBwo=D;{?%?Ehb zju1!U$JcwU5BSpuoMYQx$KrhV3yR}be)tSy=b~pxFDL48AMvLTxQEs`I$pUBP{w+@ z&%WZ^Ten#^mb<2$w)>DjjZ^N1xbbM{BL|^Pm;vd{x!1Mq^W0NH_hHoI8sJYK%!iE7 zvE$wFboe05xOoZVTlKtAj%$QJeZc)Pj@7Yq4Gnzoeu%ojy&lfh^M*aHA^z%lxCEHo zZ!la7g*nz|LihmBOYnZ5em-GHmv=IUOm8$Y|U8DTzgT)XT zyQc7Rz6d@DioH{9=1Pp4k5l=AbPe;T58OTM6bJZV5BT8qP<4U(wU&s_s&W3RO}JL^ zr*>kcefF90c^_|d)Q$Oc&Pbi^E$>2H03$v={9auj;#3*C>C+8n|<&&b+Z9MzmME_mRGDsF$zzyaxGm zZ&-Iv6z+A8`~6&qd(L+5d4bq>FUO$s8sg9IsAua~oxc5}P~7=`6l0IU8sX3QD|c^j zj@i*>{{g&%V(C?z$F(J6biYM8t^xj!0Yjm0jpc%PntrPye|{7HBcw35S8APkQC+|{@e=E{O&o)+SBd{euv4_>9AaM1 zLR}9tzx_Gx`6)ph%K5Dd{GWpj`S*H=)0w-uFT``sdjAIIIKE#FzfyTC%>QbXzp=u= zZ=qr`CQo2I?83R-_|H{1!z}vjezVNIw2Iw5qd_~fJr~v;ilEPwrntEZidm?Of10{{r{4^@N!4@|JNpl#?eR{;N>VSRDuI z@Ho`>FyAV^l=HY1if_>|`5h;~pWkkGRb|V42F&{r>-U?-`1=FaK`L)w=rZ}=hWv$? zS3B;vJ6!vYy}kM<=2iD|O#YmkI;p6flKULEo9$Kd}u@)WIu!Tr86 z+&$-aig0@XDtwjJ5&7SP^m6f~!sYBO=6$aH&gWu0)1>m%iVn$tEz+Iohgrt17sf7r zycysA=Qwjye)f{S23}i1I2XZhY<|M;@b13UUiQrZ))B+iJ9Z&F7sfUSX zsW%l3QUjXQ$Y^V@6ZluBbZ31Ir&tAEpM# -#include -#include -#include -#include "image.h" -#include "common.h" - -using namespace std; - - -/// Flip the image vertically. -void Image::FlipVertically() -{ - if((mWidth <= 0) || (mHeight <= 0)) - return; - - for(int y = 0; y < mHeight / 2; ++ y) - { - for(int x = 0; x < mWidth; ++ x) - { - for(int k = 0; k < mComponents; ++ k) - { - unsigned char tmp = mData[(y * mWidth + x) * mComponents + k]; - mData[(y * mWidth + x) * mComponents + k] = mData[((mHeight - 1 - y) * mWidth + x) * mComponents + k]; - mData[((mHeight - 1 - y) * mWidth + x) * mComponents + k] = tmp; - } - } - } -} - -/// Load image from a JPEG file. -void Image::LoadJPEG(const char * aFileName) -{ - FILE * inFile = fopen(aFileName, "rb"); - if(inFile != NULL) - { - // Init libjpeg resources - struct jpeg_decompress_struct cinfo; - struct jpeg_error_mgr jerr; - cinfo.err = jpeg_std_error(&jerr); - jpeg_create_decompress(&cinfo); - jpeg_stdio_src(&cinfo, inFile); - - // Read JPEG header - jpeg_read_header(&cinfo, TRUE); - jpeg_start_decompress(&cinfo); - SetSize(cinfo.output_width, cinfo.output_height, cinfo.output_components); - - // Read pixel data - for(int i = 0; i < mHeight; ++ i) - { - unsigned char * scanLines[1]; - scanLines[0] = &mData[(mHeight - 1 - i) * mWidth * mComponents]; - jpeg_read_scanlines(&cinfo, scanLines, 1); - } - - // Finalize libjpeg resources - jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); - - // Close input file - fclose(inFile); - } -} - -/// Load image from a PNG file. -void Image::LoadPNG(const char * aFileName) -{ - bool success = false; - png_t p; - png_init(0, 0); - if(png_open_file(&p, aFileName) == PNG_NO_ERROR) - { - if((p.depth == 8) && ((p.color_type == PNG_GREYSCALE) || - (p.color_type == PNG_TRUECOLOR) || - (p.color_type == PNG_TRUECOLOR_ALPHA)) && (p.width > 0) && - (p.height > 0) && (p.bpp >= 1) && (p.bpp <= 4)) - { - SetSize(p.width, p.height, p.bpp); - if(png_get_data(&p, &mData[0]) == PNG_NO_ERROR) - { - FlipVertically(); - success = true; - } - } - png_close_file(&p); - } - - // Did we have an error? - if(!success) - { - Clear(); - throw runtime_error("Unable to load PNG file."); - } -} - -/// Load an image from a file (any supported format). -void Image::LoadFromFile(const char * aFileName) -{ - string fileExt = UpperCase(ExtractFileExt(string(aFileName))); - if((fileExt == string(".JPG")) || (fileExt == string(".JPEG"))) - LoadJPEG(aFileName); - else if(fileExt == string(".PNG")) - LoadPNG(aFileName); - else - throw runtime_error("Unknown input file extension."); -} diff --git a/3rdparty/openctm/tools/image.h b/3rdparty/openctm/tools/image.h deleted file mode 100644 index 6ca293351..000000000 --- a/3rdparty/openctm/tools/image.h +++ /dev/null @@ -1,92 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: image.h -// Description: Interface for the Image class. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __IMAGE_H_ -#define __IMAGE_H_ - -#include - -class Image { - private: - /// Load image from a JPEG file. - void LoadJPEG(const char * aFileName); - - /// Load image from a PNG file. - void LoadPNG(const char * aFileName); - - /// Flip the image vertically. - void FlipVertically(); - - public: - /// Constructor - Image() - { - mWidth = mHeight = 0; - mComponents = 4; - } - - /// Clear the image. - void Clear() - { - mWidth = mHeight = 0; - mComponents = 4; - mData.clear(); - } - - /// Set image dimensions. - void SetSize(int aWidth, int aHeight, int aComponents) - { - mWidth = aWidth; - mHeight = aHeight; - mComponents = aComponents; - mData.resize(mWidth * mHeight * mComponents); - } - - /// Load an image from a file (any supported format). - void LoadFromFile(const char * aFileName); - - /// Check if the image is empty. - bool IsEmpty() - { - return (mWidth == 0) || (mHeight == 0); - } - - /// Image width (in pixels). - int mWidth; - - /// Image height (in pixels). - int mHeight; - - /// Number of components (1, 3 or 4). - int mComponents; - - /// Pixel data - std::vector mData; -}; - - -#endif // __IMAGE_H_ diff --git a/3rdparty/openctm/tools/jpeg/Makefile.am b/3rdparty/openctm/tools/jpeg/Makefile.am deleted file mode 100644 index a3c083779..000000000 --- a/3rdparty/openctm/tools/jpeg/Makefile.am +++ /dev/null @@ -1,133 +0,0 @@ -## Process this file with automake to produce Makefile.in -# -# Automake Makefile for the JPEG library -# -# This file is written by Bob Friesenhahn, Guido Vollbeding -# - -# Sources to build library -LIBSOURCES = jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c @MEMORYMGR@.c - -# System dependent sources -SYSDEPSOURCES = jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c - -# Headers which are installed to support the library -INSTINCLUDES = jerror.h jmorecfg.h jpeglib.h - -# Headers which are not installed -OTHERINCLUDES = cderror.h cdjpeg.h jdct.h jinclude.h jmemsys.h jpegint.h \ - jversion.h transupp.h - -# Manual pages (Automake uses 'MANS' for itself) -DISTMANS= cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 - -# Other documentation files -DOCS= README install.txt usage.txt wizard.txt example.c libjpeg.txt \ - structure.txt coderules.txt filelist.txt change.log - -# Makefiles for various systems -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt - -# Configuration files -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms - -# Support scripts for configure -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing - -# Miscellaneous support files -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map - -# Test support files -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg - -# libtool libraries to build -lib_LTLIBRARIES = libjpeg.la - -# Library sources for libjpeg.la -libjpeg_la_SOURCES = $(LIBSOURCES) - -# LDFLAGS for libjpeg.la -libjpeg_la_LDFLAGS = -no-undefined \ - -version-info $(JPEG_LIB_VERSION) - -if HAVE_LD_VERSION_SCRIPT - libjpeg_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libjpeg.map -endif - -# Executables to build -bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom - -# Executable sources & libs -cjpeg_SOURCES = cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c \ - rdswitch.c cdjpeg.c -cjpeg_LDADD = libjpeg.la -djpeg_SOURCES = djpeg.c wrppm.c wrgif.c wrtarga.c wrrle.c wrbmp.c \ - rdcolmap.c cdjpeg.c -djpeg_LDADD = libjpeg.la -jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c -jpegtran_LDADD = libjpeg.la -rdjpgcom_SOURCES = rdjpgcom.c -wrjpgcom_SOURCES = wrjpgcom.c - -# Manual pages to install -man_MANS = $(DISTMANS) - -# Headers to install -include_HEADERS = $(INSTINCLUDES) - -# Other distributed headers -noinst_HEADERS = $(OTHERINCLUDES) - -# Other distributed files -EXTRA_DIST = $(DOCS) $(DISTMANS) $(MKFILES) $(CONFIGFILES) $(SYSDEPSOURCES) \ - $(OTHERFILES) $(TESTFILES) - -# Files to be cleaned -CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \ - testoutt.jpg - -# Install jconfig.h -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(includedir) - $(INSTALL_HEADER) jconfig.h $(DESTDIR)$(includedir)/jconfig.h - -# Uninstall jconfig.h -uninstall-local: - rm -f $(DESTDIR)$(includedir)/jconfig.h - -# Run tests -test: check-local -check-local: - $(RM) testout* - ./djpeg -dct int -ppm -outfile testout.ppm $(srcdir)/testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg - ./cjpeg -dct int -outfile testout.jpg $(srcdir)/testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm $(srcdir)/testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg $(srcdir)/testimg.ppm - ./jpegtran -outfile testoutt.jpg $(srcdir)/testprog.jpg - cmp $(srcdir)/testimg.ppm testout.ppm - cmp $(srcdir)/testimg.bmp testout.bmp - cmp $(srcdir)/testimg.jpg testout.jpg - cmp $(srcdir)/testimg.ppm testoutp.ppm - cmp $(srcdir)/testimgp.jpg testoutp.jpg - cmp $(srcdir)/testorig.jpg testoutt.jpg diff --git a/3rdparty/openctm/tools/jpeg/Makefile.in b/3rdparty/openctm/tools/jpeg/Makefile.in deleted file mode 100644 index 6e5dae07e..000000000 --- a/3rdparty/openctm/tools/jpeg/Makefile.in +++ /dev/null @@ -1,1089 +0,0 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# -# Automake Makefile for the JPEG library -# -# This file is written by Bob Friesenhahn, Guido Vollbeding -# - - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -ANSI2KNR = @ANSI2KNR@ -@HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/libjpeg.map -bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) \ - rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT) -subdir = . -DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/jconfig.cfg ansi2knr.c ansi2knr.1 depcomp \ - $(include_HEADERS) $(noinst_HEADERS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = jconfig.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libjpeg_la_LIBADD = -am__objects_1 = jaricom$U.lo jcapimin$U.lo jcapistd$U.lo jcarith$U.lo \ - jccoefct$U.lo jccolor$U.lo jcdctmgr$U.lo jchuff$U.lo \ - jcinit$U.lo jcmainct$U.lo jcmarker$U.lo jcmaster$U.lo \ - jcomapi$U.lo jcparam$U.lo jcprepct$U.lo jcsample$U.lo \ - jctrans$U.lo jdapimin$U.lo jdapistd$U.lo jdarith$U.lo \ - jdatadst$U.lo jdatasrc$U.lo jdcoefct$U.lo jdcolor$U.lo \ - jddctmgr$U.lo jdhuff$U.lo jdinput$U.lo jdmainct$U.lo \ - jdmarker$U.lo jdmaster$U.lo jdmerge$U.lo jdpostct$U.lo \ - jdsample$U.lo jdtrans$U.lo jerror$U.lo jfdctflt$U.lo \ - jfdctfst$U.lo jfdctint$U.lo jidctflt$U.lo jidctfst$U.lo \ - jidctint$U.lo jquant1$U.lo jquant2$U.lo jutils$U.lo \ - jmemmgr$U.lo @MEMORYMGR@$U.lo -am_libjpeg_la_OBJECTS = $(am__objects_1) -libjpeg_la_OBJECTS = $(am_libjpeg_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -libjpeg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libjpeg_la_LDFLAGS) $(LDFLAGS) -o $@ -PROGRAMS = $(bin_PROGRAMS) -am_cjpeg_OBJECTS = cjpeg$U.$(OBJEXT) rdppm$U.$(OBJEXT) \ - rdgif$U.$(OBJEXT) rdtarga$U.$(OBJEXT) rdrle$U.$(OBJEXT) \ - rdbmp$U.$(OBJEXT) rdswitch$U.$(OBJEXT) cdjpeg$U.$(OBJEXT) -cjpeg_OBJECTS = $(am_cjpeg_OBJECTS) -cjpeg_DEPENDENCIES = libjpeg.la -am_djpeg_OBJECTS = djpeg$U.$(OBJEXT) wrppm$U.$(OBJEXT) \ - wrgif$U.$(OBJEXT) wrtarga$U.$(OBJEXT) wrrle$U.$(OBJEXT) \ - wrbmp$U.$(OBJEXT) rdcolmap$U.$(OBJEXT) cdjpeg$U.$(OBJEXT) -djpeg_OBJECTS = $(am_djpeg_OBJECTS) -djpeg_DEPENDENCIES = libjpeg.la -am_jpegtran_OBJECTS = jpegtran$U.$(OBJEXT) rdswitch$U.$(OBJEXT) \ - cdjpeg$U.$(OBJEXT) transupp$U.$(OBJEXT) -jpegtran_OBJECTS = $(am_jpegtran_OBJECTS) -jpegtran_DEPENDENCIES = libjpeg.la -am_rdjpgcom_OBJECTS = rdjpgcom$U.$(OBJEXT) -rdjpgcom_OBJECTS = $(am_rdjpgcom_OBJECTS) -rdjpgcom_LDADD = $(LDADD) -am_wrjpgcom_OBJECTS = wrjpgcom$U.$(OBJEXT) -wrjpgcom_OBJECTS = $(am_wrjpgcom_OBJECTS) -wrjpgcom_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libjpeg_la_SOURCES) $(cjpeg_SOURCES) $(djpeg_SOURCES) \ - $(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES) -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(man_MANS) -HEADERS = $(include_HEADERS) $(noinst_HEADERS) -ETAGS = etags -CTAGS = ctags -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JPEG_LIB_VERSION = @JPEG_LIB_VERSION@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MEMORYMGR = @MEMORYMGR@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -U = @U@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# Sources to build library -LIBSOURCES = jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c @MEMORYMGR@.c - - -# System dependent sources -SYSDEPSOURCES = jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c - -# Headers which are installed to support the library -INSTINCLUDES = jerror.h jmorecfg.h jpeglib.h - -# Headers which are not installed -OTHERINCLUDES = cderror.h cdjpeg.h jdct.h jinclude.h jmemsys.h jpegint.h \ - jversion.h transupp.h - - -# Manual pages (Automake uses 'MANS' for itself) -DISTMANS = cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 - -# Other documentation files -DOCS = README install.txt usage.txt wizard.txt example.c libjpeg.txt \ - structure.txt coderules.txt filelist.txt change.log - - -# Makefiles for various systems -MKFILES = configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt - - -# Configuration files -CONFIGFILES = jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms - - -# Support scripts for configure -CONFIGUREFILES = config.guess config.sub install-sh ltmain.sh depcomp missing - -# Miscellaneous support files -OTHERFILES = jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map - - -# Test support files -TESTFILES = testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg - - -# libtool libraries to build -lib_LTLIBRARIES = libjpeg.la - -# Library sources for libjpeg.la -libjpeg_la_SOURCES = $(LIBSOURCES) - -# LDFLAGS for libjpeg.la -libjpeg_la_LDFLAGS = -no-undefined -version-info $(JPEG_LIB_VERSION) \ - $(am__append_1) - -# Executable sources & libs -cjpeg_SOURCES = cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c \ - rdswitch.c cdjpeg.c - -cjpeg_LDADD = libjpeg.la -djpeg_SOURCES = djpeg.c wrppm.c wrgif.c wrtarga.c wrrle.c wrbmp.c \ - rdcolmap.c cdjpeg.c - -djpeg_LDADD = libjpeg.la -jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c -jpegtran_LDADD = libjpeg.la -rdjpgcom_SOURCES = rdjpgcom.c -wrjpgcom_SOURCES = wrjpgcom.c - -# Manual pages to install -man_MANS = $(DISTMANS) - -# Headers to install -include_HEADERS = $(INSTINCLUDES) - -# Other distributed headers -noinst_HEADERS = $(OTHERINCLUDES) - -# Other distributed files -EXTRA_DIST = $(DOCS) $(DISTMANS) $(MKFILES) $(CONFIGFILES) $(SYSDEPSOURCES) \ - $(OTHERFILES) $(TESTFILES) - - -# Files to be cleaned -CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \ - testoutt.jpg - -all: jconfig.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -jconfig.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/jconfig.cfg $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status jconfig.h -$(srcdir)/jconfig.cfg: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f jconfig.h stamp-h1 -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libjpeg.la: $(libjpeg_la_OBJECTS) $(libjpeg_la_DEPENDENCIES) - $(AM_V_CCLD)$(libjpeg_la_LINK) -rpath $(libdir) $(libjpeg_la_OBJECTS) $(libjpeg_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -cjpeg$(EXEEXT): $(cjpeg_OBJECTS) $(cjpeg_DEPENDENCIES) - @rm -f cjpeg$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(cjpeg_OBJECTS) $(cjpeg_LDADD) $(LIBS) -djpeg$(EXEEXT): $(djpeg_OBJECTS) $(djpeg_DEPENDENCIES) - @rm -f djpeg$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(djpeg_OBJECTS) $(djpeg_LDADD) $(LIBS) -jpegtran$(EXEEXT): $(jpegtran_OBJECTS) $(jpegtran_DEPENDENCIES) - @rm -f jpegtran$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(jpegtran_OBJECTS) $(jpegtran_LDADD) $(LIBS) -rdjpgcom$(EXEEXT): $(rdjpgcom_OBJECTS) $(rdjpgcom_DEPENDENCIES) - @rm -f rdjpgcom$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rdjpgcom_OBJECTS) $(rdjpgcom_LDADD) $(LIBS) -wrjpgcom$(EXEEXT): $(wrjpgcom_OBJECTS) $(wrjpgcom_DEPENDENCIES) - @rm -f wrjpgcom$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(wrjpgcom_OBJECTS) $(wrjpgcom_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c -./ansi2knr: ansi2knr.$(OBJEXT) - $(LINK) ansi2knr.$(OBJEXT) $(LIBS) -ansi2knr.$(OBJEXT): $(CONFIG_HEADER) - -clean-krextra: - -rm -f ansi2knr - -mostlyclean-kr: - -test "$U" = "" || rm -f *_.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/@MEMORYMGR@$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdjpeg$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjpeg$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/djpeg$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jaricom$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapimin$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapistd$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcarith$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccoefct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccolor$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcdctmgr$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jchuff$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcinit$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmainct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmarker$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmaster$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcomapi$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcparam$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcprepct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcsample$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jctrans$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapimin$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapistd$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdarith$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatadst$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatasrc$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcoefct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcolor$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jddctmgr$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdhuff$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdinput$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmainct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmarker$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmaster$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmerge$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdpostct$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdsample$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdtrans$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jerror$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctflt$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctfst$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctint$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctflt$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctfst$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctint$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmemmgr$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegtran$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant1$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant2$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jutils$U.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdbmp$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdcolmap$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdgif$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdjpgcom$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdppm$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdrle$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdswitch$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdtarga$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transupp$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrbmp$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrgif$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrjpgcom$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrppm$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrrle$U.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrtarga$U.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -@MEMORYMGR@_.c: @MEMORYMGR@.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/@MEMORYMGR@.c; then echo $(srcdir)/@MEMORYMGR@.c; else echo @MEMORYMGR@.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -cdjpeg_.c: cdjpeg.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/cdjpeg.c; then echo $(srcdir)/cdjpeg.c; else echo cdjpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -cjpeg_.c: cjpeg.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/cjpeg.c; then echo $(srcdir)/cjpeg.c; else echo cjpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -djpeg_.c: djpeg.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/djpeg.c; then echo $(srcdir)/djpeg.c; else echo djpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jaricom_.c: jaricom.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jaricom.c; then echo $(srcdir)/jaricom.c; else echo jaricom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcapimin_.c: jcapimin.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcapimin.c; then echo $(srcdir)/jcapimin.c; else echo jcapimin.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcapistd_.c: jcapistd.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcapistd.c; then echo $(srcdir)/jcapistd.c; else echo jcapistd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcarith_.c: jcarith.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcarith.c; then echo $(srcdir)/jcarith.c; else echo jcarith.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jccoefct_.c: jccoefct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jccoefct.c; then echo $(srcdir)/jccoefct.c; else echo jccoefct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jccolor_.c: jccolor.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jccolor.c; then echo $(srcdir)/jccolor.c; else echo jccolor.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcdctmgr_.c: jcdctmgr.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcdctmgr.c; then echo $(srcdir)/jcdctmgr.c; else echo jcdctmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jchuff_.c: jchuff.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jchuff.c; then echo $(srcdir)/jchuff.c; else echo jchuff.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcinit_.c: jcinit.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcinit.c; then echo $(srcdir)/jcinit.c; else echo jcinit.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcmainct_.c: jcmainct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmainct.c; then echo $(srcdir)/jcmainct.c; else echo jcmainct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcmarker_.c: jcmarker.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmarker.c; then echo $(srcdir)/jcmarker.c; else echo jcmarker.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcmaster_.c: jcmaster.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmaster.c; then echo $(srcdir)/jcmaster.c; else echo jcmaster.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcomapi_.c: jcomapi.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcomapi.c; then echo $(srcdir)/jcomapi.c; else echo jcomapi.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcparam_.c: jcparam.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcparam.c; then echo $(srcdir)/jcparam.c; else echo jcparam.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcprepct_.c: jcprepct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcprepct.c; then echo $(srcdir)/jcprepct.c; else echo jcprepct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jcsample_.c: jcsample.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcsample.c; then echo $(srcdir)/jcsample.c; else echo jcsample.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jctrans_.c: jctrans.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jctrans.c; then echo $(srcdir)/jctrans.c; else echo jctrans.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdapimin_.c: jdapimin.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdapimin.c; then echo $(srcdir)/jdapimin.c; else echo jdapimin.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdapistd_.c: jdapistd.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdapistd.c; then echo $(srcdir)/jdapistd.c; else echo jdapistd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdarith_.c: jdarith.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdarith.c; then echo $(srcdir)/jdarith.c; else echo jdarith.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdatadst_.c: jdatadst.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdatadst.c; then echo $(srcdir)/jdatadst.c; else echo jdatadst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdatasrc_.c: jdatasrc.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdatasrc.c; then echo $(srcdir)/jdatasrc.c; else echo jdatasrc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdcoefct_.c: jdcoefct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdcoefct.c; then echo $(srcdir)/jdcoefct.c; else echo jdcoefct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdcolor_.c: jdcolor.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdcolor.c; then echo $(srcdir)/jdcolor.c; else echo jdcolor.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jddctmgr_.c: jddctmgr.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jddctmgr.c; then echo $(srcdir)/jddctmgr.c; else echo jddctmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdhuff_.c: jdhuff.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdhuff.c; then echo $(srcdir)/jdhuff.c; else echo jdhuff.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdinput_.c: jdinput.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdinput.c; then echo $(srcdir)/jdinput.c; else echo jdinput.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdmainct_.c: jdmainct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmainct.c; then echo $(srcdir)/jdmainct.c; else echo jdmainct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdmarker_.c: jdmarker.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmarker.c; then echo $(srcdir)/jdmarker.c; else echo jdmarker.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdmaster_.c: jdmaster.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmaster.c; then echo $(srcdir)/jdmaster.c; else echo jdmaster.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdmerge_.c: jdmerge.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmerge.c; then echo $(srcdir)/jdmerge.c; else echo jdmerge.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdpostct_.c: jdpostct.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdpostct.c; then echo $(srcdir)/jdpostct.c; else echo jdpostct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdsample_.c: jdsample.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdsample.c; then echo $(srcdir)/jdsample.c; else echo jdsample.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jdtrans_.c: jdtrans.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdtrans.c; then echo $(srcdir)/jdtrans.c; else echo jdtrans.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jerror_.c: jerror.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jerror.c; then echo $(srcdir)/jerror.c; else echo jerror.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jfdctflt_.c: jfdctflt.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctflt.c; then echo $(srcdir)/jfdctflt.c; else echo jfdctflt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jfdctfst_.c: jfdctfst.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctfst.c; then echo $(srcdir)/jfdctfst.c; else echo jfdctfst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jfdctint_.c: jfdctint.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctint.c; then echo $(srcdir)/jfdctint.c; else echo jfdctint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jidctflt_.c: jidctflt.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctflt.c; then echo $(srcdir)/jidctflt.c; else echo jidctflt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jidctfst_.c: jidctfst.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctfst.c; then echo $(srcdir)/jidctfst.c; else echo jidctfst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jidctint_.c: jidctint.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctint.c; then echo $(srcdir)/jidctint.c; else echo jidctint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jmemmgr_.c: jmemmgr.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jmemmgr.c; then echo $(srcdir)/jmemmgr.c; else echo jmemmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jpegtran_.c: jpegtran.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jpegtran.c; then echo $(srcdir)/jpegtran.c; else echo jpegtran.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jquant1_.c: jquant1.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jquant1.c; then echo $(srcdir)/jquant1.c; else echo jquant1.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jquant2_.c: jquant2.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jquant2.c; then echo $(srcdir)/jquant2.c; else echo jquant2.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -jutils_.c: jutils.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jutils.c; then echo $(srcdir)/jutils.c; else echo jutils.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdbmp_.c: rdbmp.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdbmp.c; then echo $(srcdir)/rdbmp.c; else echo rdbmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdcolmap_.c: rdcolmap.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdcolmap.c; then echo $(srcdir)/rdcolmap.c; else echo rdcolmap.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdgif_.c: rdgif.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdgif.c; then echo $(srcdir)/rdgif.c; else echo rdgif.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdjpgcom_.c: rdjpgcom.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdjpgcom.c; then echo $(srcdir)/rdjpgcom.c; else echo rdjpgcom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdppm_.c: rdppm.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdppm.c; then echo $(srcdir)/rdppm.c; else echo rdppm.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdrle_.c: rdrle.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdrle.c; then echo $(srcdir)/rdrle.c; else echo rdrle.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdswitch_.c: rdswitch.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdswitch.c; then echo $(srcdir)/rdswitch.c; else echo rdswitch.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -rdtarga_.c: rdtarga.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdtarga.c; then echo $(srcdir)/rdtarga.c; else echo rdtarga.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -transupp_.c: transupp.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/transupp.c; then echo $(srcdir)/transupp.c; else echo transupp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrbmp_.c: wrbmp.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrbmp.c; then echo $(srcdir)/wrbmp.c; else echo wrbmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrgif_.c: wrgif.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrgif.c; then echo $(srcdir)/wrgif.c; else echo wrgif.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrjpgcom_.c: wrjpgcom.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrjpgcom.c; then echo $(srcdir)/wrjpgcom.c; else echo wrjpgcom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrppm_.c: wrppm.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrppm.c; then echo $(srcdir)/wrppm.c; else echo wrppm.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrrle_.c: wrrle.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrrle.c; then echo $(srcdir)/wrrle.c; else echo wrrle.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -wrtarga_.c: wrtarga.c $(ANSI2KNR) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrtarga.c; then echo $(srcdir)/wrtarga.c; else echo wrtarga.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ -@MEMORYMGR@_.$(OBJEXT) @MEMORYMGR@_.lo cdjpeg_.$(OBJEXT) cdjpeg_.lo \ -cjpeg_.$(OBJEXT) cjpeg_.lo djpeg_.$(OBJEXT) djpeg_.lo \ -jaricom_.$(OBJEXT) jaricom_.lo jcapimin_.$(OBJEXT) jcapimin_.lo \ -jcapistd_.$(OBJEXT) jcapistd_.lo jcarith_.$(OBJEXT) jcarith_.lo \ -jccoefct_.$(OBJEXT) jccoefct_.lo jccolor_.$(OBJEXT) jccolor_.lo \ -jcdctmgr_.$(OBJEXT) jcdctmgr_.lo jchuff_.$(OBJEXT) jchuff_.lo \ -jcinit_.$(OBJEXT) jcinit_.lo jcmainct_.$(OBJEXT) jcmainct_.lo \ -jcmarker_.$(OBJEXT) jcmarker_.lo jcmaster_.$(OBJEXT) jcmaster_.lo \ -jcomapi_.$(OBJEXT) jcomapi_.lo jcparam_.$(OBJEXT) jcparam_.lo \ -jcprepct_.$(OBJEXT) jcprepct_.lo jcsample_.$(OBJEXT) jcsample_.lo \ -jctrans_.$(OBJEXT) jctrans_.lo jdapimin_.$(OBJEXT) jdapimin_.lo \ -jdapistd_.$(OBJEXT) jdapistd_.lo jdarith_.$(OBJEXT) jdarith_.lo \ -jdatadst_.$(OBJEXT) jdatadst_.lo jdatasrc_.$(OBJEXT) jdatasrc_.lo \ -jdcoefct_.$(OBJEXT) jdcoefct_.lo jdcolor_.$(OBJEXT) jdcolor_.lo \ -jddctmgr_.$(OBJEXT) jddctmgr_.lo jdhuff_.$(OBJEXT) jdhuff_.lo \ -jdinput_.$(OBJEXT) jdinput_.lo jdmainct_.$(OBJEXT) jdmainct_.lo \ -jdmarker_.$(OBJEXT) jdmarker_.lo jdmaster_.$(OBJEXT) jdmaster_.lo \ -jdmerge_.$(OBJEXT) jdmerge_.lo jdpostct_.$(OBJEXT) jdpostct_.lo \ -jdsample_.$(OBJEXT) jdsample_.lo jdtrans_.$(OBJEXT) jdtrans_.lo \ -jerror_.$(OBJEXT) jerror_.lo jfdctflt_.$(OBJEXT) jfdctflt_.lo \ -jfdctfst_.$(OBJEXT) jfdctfst_.lo jfdctint_.$(OBJEXT) jfdctint_.lo \ -jidctflt_.$(OBJEXT) jidctflt_.lo jidctfst_.$(OBJEXT) jidctfst_.lo \ -jidctint_.$(OBJEXT) jidctint_.lo jmemmgr_.$(OBJEXT) jmemmgr_.lo \ -jpegtran_.$(OBJEXT) jpegtran_.lo jquant1_.$(OBJEXT) jquant1_.lo \ -jquant2_.$(OBJEXT) jquant2_.lo jutils_.$(OBJEXT) jutils_.lo \ -rdbmp_.$(OBJEXT) rdbmp_.lo rdcolmap_.$(OBJEXT) rdcolmap_.lo \ -rdgif_.$(OBJEXT) rdgif_.lo rdjpgcom_.$(OBJEXT) rdjpgcom_.lo \ -rdppm_.$(OBJEXT) rdppm_.lo rdrle_.$(OBJEXT) rdrle_.lo \ -rdswitch_.$(OBJEXT) rdswitch_.lo rdtarga_.$(OBJEXT) rdtarga_.lo \ -transupp_.$(OBJEXT) transupp_.lo wrbmp_.$(OBJEXT) wrbmp_.lo \ -wrgif_.$(OBJEXT) wrgif_.lo wrjpgcom_.$(OBJEXT) wrjpgcom_.lo \ -wrppm_.$(OBJEXT) wrppm_.lo wrrle_.$(OBJEXT) wrrle_.lo \ -wrtarga_.$(OBJEXT) wrtarga_.lo : $(ANSI2KNR) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) jconfig.cfg $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) jconfig.cfg $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) jconfig.cfg $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) jconfig.cfg $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-local -check: check-am -all-am: Makefile $(ANSI2KNR) $(LTLIBRARIES) $(PROGRAMS) $(MANS) \ - $(HEADERS) jconfig.h -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-krextra \ - clean-libLTLIBRARIES clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-data-local install-includeHEADERS install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic mostlyclean-kr \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ - uninstall-libLTLIBRARIES uninstall-local uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: all check-am install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am check-local \ - clean clean-binPROGRAMS clean-generic clean-krextra \ - clean-libLTLIBRARIES clean-libtool ctags distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS install-data \ - install-data-am install-data-local install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-libLTLIBRARIES install-man install-man1 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-kr mostlyclean-libtool pdf \ - pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-includeHEADERS \ - uninstall-libLTLIBRARIES uninstall-local uninstall-man \ - uninstall-man1 - - -# Install jconfig.h -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(includedir) - $(INSTALL_HEADER) jconfig.h $(DESTDIR)$(includedir)/jconfig.h - -# Uninstall jconfig.h -uninstall-local: - rm -f $(DESTDIR)$(includedir)/jconfig.h - -# Run tests -test: check-local -check-local: - $(RM) testout* - ./djpeg -dct int -ppm -outfile testout.ppm $(srcdir)/testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg - ./cjpeg -dct int -outfile testout.jpg $(srcdir)/testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm $(srcdir)/testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg $(srcdir)/testimg.ppm - ./jpegtran -outfile testoutt.jpg $(srcdir)/testprog.jpg - cmp $(srcdir)/testimg.ppm testout.ppm - cmp $(srcdir)/testimg.bmp testout.bmp - cmp $(srcdir)/testimg.jpg testout.jpg - cmp $(srcdir)/testimg.ppm testoutp.ppm - cmp $(srcdir)/testimgp.jpg testoutp.jpg - cmp $(srcdir)/testorig.jpg testoutt.jpg - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/3rdparty/openctm/tools/jpeg/Makefile.mingw b/3rdparty/openctm/tools/jpeg/Makefile.mingw deleted file mode 100644 index 26457655f..000000000 --- a/3rdparty/openctm/tools/jpeg/Makefile.mingw +++ /dev/null @@ -1,222 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for MinGW - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= gcc - -# You may need to adjust these cc options: -CFLAGS= -O2 -Wall -I. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -LDFLAGS= -s - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= - -# Put here the object file name for the correct system-dependent memory -# manager file. For DJGPP this is usually jmemnobs.o, but you could -# use jmemname.o if you want to use named temp files instead of swap space. -SYSDEPMEM= jmemnobs.o - -# miscellaneous OS-dependent stuff -# linker -LN= $(CC) -# file deletion command -RM= del -# library (.a) file creation command -AR= ar rcs -# Copy command -CP= copy /Y - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.a -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.a cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.a: $(LIBOBJECTS) - $(RM) libjpeg.a - $(AR) libjpeg.a $(LIBOBJECTS) - -cjpeg.exe: $(COBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o cjpeg.exe $(COBJECTS) libjpeg.a $(LDLIBS) - -djpeg.exe: $(DOBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o djpeg.exe $(DOBJECTS) libjpeg.a $(LDLIBS) - -jpegtran.exe: $(TROBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o jpegtran.exe $(TROBJECTS) libjpeg.a $(LDLIBS) - -rdjpgcom.exe: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom.exe rdjpgcom.o $(LDLIBS) - -wrjpgcom.exe: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom.exe wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.mingw - $(CP) jconfig.mingw jconfig.h - -clean: - $(RM) *.o - $(RM) cjpeg.exe - $(RM) djpeg.exe - $(RM) jpegtran.exe - $(RM) rdjpgcom.exe - $(RM) wrjpgcom.exe - $(RM) libjpeg.a - $(RM) testout*.* - -test: cjpeg.exe djpeg.exe jpegtran.exe - $(RM) testout*.* - .\djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - .\djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - .\cjpeg -dct int -outfile testout.jpg testimg.ppm - .\djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - .\cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - .\jpegtran -outfile testoutt.jpg testprog.jpg - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/README b/3rdparty/openctm/tools/jpeg/README deleted file mode 100644 index 5cdf78fc0..000000000 --- a/3rdparty/openctm/tools/jpeg/README +++ /dev/null @@ -1,322 +0,0 @@ -The Independent JPEG Group's JPEG software -========================================== - -README for release 7 of 27-Jun-2009 -=================================== - -This distribution contains the seventh public release of the Independent JPEG -Group's free JPEG software. You are welcome to redistribute this software and -to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. - -This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, -Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, -Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, -and other members of the Independent JPEG Group. - -IJG is not affiliated with the official ISO JPEG standards committee. - - -DOCUMENTATION ROADMAP -===================== - -This file contains the following sections: - -OVERVIEW General description of JPEG and the IJG software. -LEGAL ISSUES Copyright, lack of warranty, terms of distribution. -REFERENCES Where to learn more about JPEG. -ARCHIVE LOCATIONS Where to find newer versions of this software. -ACKNOWLEDGMENTS Special thanks. -FILE FORMAT WARS Software *not* to get. -TO DO Plans for future IJG releases. - -Other documentation files in the distribution are: - -User documentation: - install.txt How to configure and install the IJG software. - usage.txt Usage instructions for cjpeg, djpeg, jpegtran, - rdjpgcom, and wrjpgcom. - *.1 Unix-style man pages for programs (same info as usage.txt). - wizard.txt Advanced usage instructions for JPEG wizards only. - change.log Version-to-version change highlights. -Programmer and internal documentation: - libjpeg.txt How to use the JPEG library in your own programs. - example.c Sample code for calling the JPEG library. - structure.txt Overview of the JPEG library's internal structure. - filelist.txt Road map of IJG files. - coderules.txt Coding style rules --- please read if you contribute code. - -Please read at least the files install.txt and usage.txt. Some information -can also be found in the JPEG FAQ (Frequently Asked Questions) article. See -ARCHIVE LOCATIONS below to find out where to obtain the FAQ article. - -If you want to understand how the JPEG code works, we suggest reading one or -more of the REFERENCES, then looking at the documentation files (in roughly -the order listed) before diving into the code. - - -OVERVIEW -======== - -This package contains C software to implement JPEG image encoding, decoding, -and transcoding. JPEG (pronounced "jay-peg") is a standardized compression -method for full-color and gray-scale images. - -This software implements JPEG baseline, extended-sequential, and progressive -compression processes. Provision is made for supporting all variants of these -processes, although some uncommon parameter settings aren't implemented yet. -We have made no provision for supporting the hierarchical or lossless -processes defined in the standard. - -We provide a set of library routines for reading and writing JPEG image files, -plus two sample applications "cjpeg" and "djpeg", which use the library to -perform conversion between JPEG and some other popular image file formats. -The library is intended to be reused in other applications. - -In order to support file conversion and viewing software, we have included -considerable functionality beyond the bare JPEG coding/decoding capability; -for example, the color quantization modules are not strictly part of JPEG -decoding, but they are essential for output to colormapped file formats or -colormapped displays. These extra functions can be compiled out of the -library if not required for a particular application. - -We have also included "jpegtran", a utility for lossless transcoding between -different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple -applications for inserting and extracting textual comments in JFIF files. - -The emphasis in designing this software has been on achieving portability and -flexibility, while also making it fast enough to be useful. In particular, -the software is not intended to be read as a tutorial on JPEG. (See the -REFERENCES section for introductory material.) Rather, it is intended to -be reliable, portable, industrial-strength code. We do not claim to have -achieved that goal in every aspect of the software, but we strive for it. - -We welcome the use of this software as a component of commercial products. -No royalty is required, but we do ask for an acknowledgement in product -documentation, as described under LEGAL ISSUES. - - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, -sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. -ansi2knr.c is NOT covered by the above copyright and conditions, but instead -by the usual distribution terms of the Free Software Foundation; principally, -that you must include source code if you redistribute it. (See the file -ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part -of any program generated from the IJG code, this does not limit you more than -the foregoing paragraphs do. - -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltmain.sh). Another support script, install-sh, is copyright by X Consortium -but is also freely distributable. - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent, GIF reading support has -been removed altogether, and the GIF writer has been simplified to produce -"uncompressed GIFs". This technique does not use the LZW algorithm; the -resulting GIF files are larger than usual, but are readable by all standard -GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." - - -REFERENCES -========== - -We recommend reading one or more of these references before trying to -understand the innards of the JPEG software. - -The best short technical introduction to the JPEG compression algorithm is - Wallace, Gregory K. "The JPEG Still Picture Compression Standard", - Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. -(Adjacent articles in that issue discuss MPEG motion picture compression, -applications of JPEG, and related topics.) If you don't have the CACM issue -handy, a PostScript file containing a revised version of Wallace's article is -available at http://www.ijg.org/files/wallace.ps.gz. The file (actually -a preprint for an article that appeared in IEEE Trans. Consumer Electronics) -omits the sample images that appeared in CACM, but it includes corrections -and some added material. Note: the Wallace article is copyright ACM and IEEE, -and it may not be used for commercial purposes. - -A somewhat less technical, more leisurely introduction to JPEG can be found in -"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by -M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides -good explanations and example C code for a multitude of compression methods -including JPEG. It is an excellent source if you are comfortable reading C -code but don't know much about data compression in general. The book's JPEG -sample code is far from industrial-strength, but when you are ready to look -at a full implementation, you've got one here... - -The best currently available description of JPEG is the textbook "JPEG Still -Image Data Compression Standard" by William B. Pennebaker and Joan L. -Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. -Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG -standards (DIS 10918-1 and draft DIS 10918-2). -Although this is by far the most detailed and comprehensive exposition of -JPEG publicly available, we point out that it is still missing an explanation -of the most essential properties and algorithms of the underlying DCT -technology. -If you think that you know about DCT-based JPEG after reading this book, -then you are in delusion. The real fundamentals and corresponding potential -of DCT-based JPEG are not publicly known so far, and that is the reason for -all the mistaken developments taking place in the image coding domain. - -The original JPEG standard is divided into two parts, Part 1 being the actual -specification, while Part 2 covers compliance testing methods. Part 1 is -titled "Digital Compression and Coding of Continuous-tone Still Images, -Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS -10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of -Continuous-tone Still Images, Part 2: Compliance testing" and has document -numbers ISO/IEC IS 10918-2, ITU-T T.83. - -The JPEG standard does not specify all details of an interchangeable file -format. For the omitted details we follow the "JFIF" conventions, revision -1.02. A copy of the JFIF spec is available from: - Literature Department - C-Cube Microsystems, Inc. - 1778 McCarthy Blvd. - Milpitas, CA 95035 - phone (408) 944-6300, fax (408) 944-6314 -A PostScript version of this document is available at -http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at -http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. - -The TIFF 6.0 file format specification can be obtained by FTP from -ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme -found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. -IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). -Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 -(Compression tag 7). Copies of this Note can be obtained from -http://www.ijg.org/files/. It is expected that the next revision -of the TIFF spec will replace the 6.0 JPEG design with the Note's design. -Although IJG's own code does not support TIFF/JPEG, the free libtiff library -uses our library to implement TIFF/JPEG per the Note. - - -ARCHIVE LOCATIONS -================= - -The "official" archive site for this software is www.ijg.org. -The most recent released version can always be found there in -directory "files". This particular version will be archived as -http://www.ijg.org/files/jpegsrc.v7.tar.gz, and in Windows-compatible -"zip" archive format as http://www.ijg.org/files/jpegsr7.zip. - -The JPEG FAQ (Frequently Asked Questions) article is a source of some -general information about JPEG. -It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ -and other news.answers archive sites, including the official news.answers -archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. -If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu -with body - send usenet/news.answers/jpeg-faq/part1 - send usenet/news.answers/jpeg-faq/part2 - - -ACKNOWLEDGMENTS -=============== - -Thank to Juergen Bruder of the Georg-Cantor-Organization at the -Martin-Luther-University Halle for providing me with a copy of the common -DCT algorithm article, only to find out that I had come to the same result -in a more direct and comprehensible way with a more generative approach. - -Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the -ITU JPEG (Study Group 16) meeting in Geneva, Switzerland. - -Thank to Thomas Wiegand and Gary Sullivan for inviting me to the -Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland. - -Thank to John Korejwa and Massimo Ballerini for inviting me to -fruitful consultations in Boston, MA and Milan, Italy. - -Thank to Hendrik Elstner, Roland Fassauer, and Simone Zuck for -corresponding business development. - -Thank to Nico Zschach and Dirk Stelling of the technical support team -at the Digital Images company in Halle for providing me with extra -equipment for configuration tests. - -Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful -communication about JPEG configuration in Sigma Photo Pro software. - -Last but not least special thank to Thomas G. Lane for the original -design and development of this singular software package. - - -FILE FORMAT WARS -================ - -The ISO JPEG standards committee actually promotes different formats like -JPEG-2000 or JPEG-XR which are incompatible with original DCT-based JPEG -and which are based on faulty technologies. IJG therefore does not and -will not support such momentary mistakes (see REFERENCES). -We have little or no sympathy for the promotion of these formats. Indeed, -one of the original reasons for developing this free software was to help -force convergence on common, interoperable format standards for JPEG files. -Don't use an incompatible file format! -(In any case, our decoder will remain capable of reading existing JPEG -image files indefinitely.) - - -TO DO -===== - -v7 is basically just a necessary interim release, paving the way for a -major breakthrough in image coding technology with the next v8 package -which is scheduled for release in the year 2010. - -Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. diff --git a/3rdparty/openctm/tools/jpeg/aclocal.m4 b/3rdparty/openctm/tools/jpeg/aclocal.m4 deleted file mode 100644 index e4131c4dc..000000000 --- a/3rdparty/openctm/tools/jpeg/aclocal.m4 +++ /dev/null @@ -1,8990 +0,0 @@ -# generated automatically by aclocal 1.11 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 56 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; -esac - -_LT_OUTPUT_LIBTOOL_INIT -]) - - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(lt_ECHO) -]) -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${F77-"f77"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${FC-"f95"} - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC="$lt_save_CC" -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC="$lt_save_CC" -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF - ;; - esac -]) - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# Generated from ltversion.in. - -# serial 3012 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.2.6]) -m4_define([LT_PACKAGE_REVISION], [1.3012]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6' -macro_revision='1.3012' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 10 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless `enable' is passed literally. -# For symmetry, `disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], -[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -AC_DEFUN([AM_C_PROTOTYPES], -[AC_REQUIRE([AC_C_PROTOTYPES]) -if test "$ac_cv_prog_cc_stdc" != no; then - U= ANSI2KNR= -else - U=_ ANSI2KNR=./ansi2knr -fi -# Ensure some checks needed by ansi2knr itself. -AC_REQUIRE([AC_HEADER_STDC]) -AC_CHECK_HEADERS([string.h]) -AC_SUBST([U])dnl -AC_SUBST([ANSI2KNR])dnl -_AM_SUBST_NOTMAKE([ANSI2KNR])dnl -]) - -AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/3rdparty/openctm/tools/jpeg/ansi2knr.1 b/3rdparty/openctm/tools/jpeg/ansi2knr.1 deleted file mode 100644 index 60b33cf4a..000000000 --- a/3rdparty/openctm/tools/jpeg/ansi2knr.1 +++ /dev/null @@ -1,36 +0,0 @@ -.TH ANSI2KNR 1 "19 Jan 1996" -.SH NAME -ansi2knr \- convert ANSI C to Kernighan & Ritchie C -.SH SYNOPSIS -.I ansi2knr -[--varargs] input_file [output_file] -.SH DESCRIPTION -If no output_file is supplied, output goes to stdout. -.br -There are no error messages. -.sp -.I ansi2knr -recognizes function definitions by seeing a non-keyword identifier at the left -margin, followed by a left parenthesis, with a right parenthesis as the last -character on the line, and with a left brace as the first token on the -following line (ignoring possible intervening comments). It will recognize a -multi-line header provided that no intervening line ends with a left or right -brace or a semicolon. These algorithms ignore whitespace and comments, except -that the function name must be the first thing on the line. -.sp -The following constructs will confuse it: -.br - - Any other construct that starts at the left margin and follows the -above syntax (such as a macro or function call). -.br - - Some macros that tinker with the syntax of the function header. -.sp -The --varargs switch is obsolete, and is recognized only for -backwards compatibility. The present version of -.I ansi2knr -will always attempt to convert a ... argument to va_alist and va_dcl. -.SH AUTHOR -L. Peter Deutsch wrote the original ansi2knr and -continues to maintain the current version; most of the code in the current -version is his work. ansi2knr also includes contributions by Francois -Pinard and Jim Avera . diff --git a/3rdparty/openctm/tools/jpeg/ansi2knr.c b/3rdparty/openctm/tools/jpeg/ansi2knr.c deleted file mode 100644 index cfcb4da25..000000000 --- a/3rdparty/openctm/tools/jpeg/ansi2knr.c +++ /dev/null @@ -1,739 +0,0 @@ -/* Copyright (C) 1989, 2000 Aladdin Enterprises. All rights reserved. */ - -/*$Id: ansi2knr.c,v 1.14 2003/09/06 05:36:56 eggert Exp $*/ -/* Convert ANSI C function definitions to K&R ("traditional C") syntax */ - -/* -ansi2knr is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY. No author or distributor accepts responsibility to anyone for the -consequences of using it or for whether it serves any particular purpose or -works at all, unless he says so in writing. Refer to the GNU General Public -License (the "GPL") for full details. - -Everyone is granted permission to copy, modify and redistribute ansi2knr, -but only under the conditions described in the GPL. A copy of this license -is supposed to have been given to you along with ansi2knr so you can know -your rights and responsibilities. It should be in a file named COPYLEFT, -or, if there is no file named COPYLEFT, a file named COPYING. Among other -things, the copyright notice and this notice must be preserved on all -copies. - -We explicitly state here what we believe is already implied by the GPL: if -the ansi2knr program is distributed as a separate set of sources and a -separate executable file which are aggregated on a storage medium together -with another program, this in itself does not bring the other program under -the GPL, nor does the mere fact that such a program or the procedures for -constructing it invoke the ansi2knr executable bring any other part of the -program under the GPL. -*/ - -/* - * Usage: - ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]] - * --filename provides the file name for the #line directive in the output, - * overriding input_file (if present). - * If no input_file is supplied, input is read from stdin. - * If no output_file is supplied, output goes to stdout. - * There are no error messages. - * - * ansi2knr recognizes function definitions by seeing a non-keyword - * identifier at the left margin, followed by a left parenthesis, with a - * right parenthesis as the last character on the line, and with a left - * brace as the first token on the following line (ignoring possible - * intervening comments and/or preprocessor directives), except that a line - * consisting of only - * identifier1(identifier2) - * will not be considered a function definition unless identifier2 is - * the word "void", and a line consisting of - * identifier1(identifier2, <>) - * will not be considered a function definition. - * ansi2knr will recognize a multi-line header provided that no intervening - * line ends with a left or right brace or a semicolon. These algorithms - * ignore whitespace, comments, and preprocessor directives, except that - * the function name must be the first thing on the line. The following - * constructs will confuse it: - * - Any other construct that starts at the left margin and - * follows the above syntax (such as a macro or function call). - * - Some macros that tinker with the syntax of function headers. - */ - -/* - * The original and principal author of ansi2knr is L. Peter Deutsch - * . Other authors are noted in the change history - * that follows (in reverse chronological order): - - lpd 2000-04-12 backs out Eggert's changes because of bugs: - - concatlits didn't declare the type of its bufend argument; - - concatlits didn't recognize when it was inside a comment; - - scanstring could scan backward past the beginning of the string; when - - the check for \ + newline in scanstring was unnecessary. - - 2000-03-05 Paul Eggert - - Add support for concatenated string literals. - * ansi2knr.c (concatlits): New decl. - (main): Invoke concatlits to concatenate string literals. - (scanstring): Handle backslash-newline correctly. Work with - character constants. Fix bug when scanning backwards through - backslash-quote. Check for unterminated strings. - (convert1): Parse character constants, too. - (appendline, concatlits): New functions. - * ansi2knr.1: Document this. - - lpd 1999-08-17 added code to allow preprocessor directives - wherever comments are allowed - lpd 1999-04-12 added minor fixes from Pavel Roskin - for clean compilation with - gcc -W -Wall - lpd 1999-03-22 added hack to recognize lines consisting of - identifier1(identifier2, xxx) as *not* being procedures - lpd 1999-02-03 made indentation of preprocessor commands consistent - lpd 1999-01-28 fixed two bugs: a '/' in an argument list caused an - endless loop; quoted strings within an argument list - confused the parser - lpd 1999-01-24 added a check for write errors on the output, - suggested by Jim Meyering - lpd 1998-11-09 added further hack to recognize identifier(void) - as being a procedure - lpd 1998-10-23 added hack to recognize lines consisting of - identifier1(identifier2) as *not* being procedures - lpd 1997-12-08 made input_file optional; only closes input and/or - output file if not stdin or stdout respectively; prints - usage message on stderr rather than stdout; adds - --filename switch (changes suggested by - ) - lpd 1996-01-21 added code to cope with not HAVE_CONFIG_H and with - compilers that don't understand void, as suggested by - Tom Lane - lpd 1996-01-15 changed to require that the first non-comment token - on the line following a function header be a left brace, - to reduce sensitivity to macros, as suggested by Tom Lane - - lpd 1995-06-22 removed #ifndefs whose sole purpose was to define - undefined preprocessor symbols as 0; changed all #ifdefs - for configuration symbols to #ifs - lpd 1995-04-05 changed copyright notice to make it clear that - including ansi2knr in a program does not bring the entire - program under the GPL - lpd 1994-12-18 added conditionals for systems where ctype macros - don't handle 8-bit characters properly, suggested by - Francois Pinard ; - removed --varargs switch (this is now the default) - lpd 1994-10-10 removed CONFIG_BROKETS conditional - lpd 1994-07-16 added some conditionals to help GNU `configure', - suggested by Francois Pinard ; - properly erase prototype args in function parameters, - contributed by Jim Avera ; - correct error in writeblanks (it shouldn't erase EOLs) - lpd 1989-xx-xx original version - */ - -/* Most of the conditionals here are to make ansi2knr work with */ -/* or without the GNU configure machinery. */ - -#if HAVE_CONFIG_H -# include -#endif - -#include -#include - -#if HAVE_CONFIG_H - -/* - For properly autoconfiguring ansi2knr, use AC_CONFIG_HEADER(config.h). - This will define HAVE_CONFIG_H and so, activate the following lines. - */ - -# if STDC_HEADERS || HAVE_STRING_H -# include -# else -# include -# endif - -#else /* not HAVE_CONFIG_H */ - -/* Otherwise do it the hard way */ - -# ifdef BSD -# include -# else -# ifdef VMS - extern int strlen(), strncmp(); -# else -# include -# endif -# endif - -#endif /* not HAVE_CONFIG_H */ - -#if STDC_HEADERS -# include -#else -/* - malloc and free should be declared in stdlib.h, - but if you've got a K&R compiler, they probably aren't. - */ -# ifdef MSDOS -# include -# else -# ifdef VMS - extern char *malloc(); - extern void free(); -# else - extern char *malloc(); - extern int free(); -# endif -# endif - -#endif - -/* Define NULL (for *very* old compilers). */ -#ifndef NULL -# define NULL (0) -#endif - -/* - * The ctype macros don't always handle 8-bit characters correctly. - * Compensate for this here. - */ -#ifdef isascii -# undef HAVE_ISASCII /* just in case */ -# define HAVE_ISASCII 1 -#else -#endif -#if STDC_HEADERS || !HAVE_ISASCII -# define is_ascii(c) 1 -#else -# define is_ascii(c) isascii(c) -#endif - -#define is_space(c) (is_ascii(c) && isspace(c)) -#define is_alpha(c) (is_ascii(c) && isalpha(c)) -#define is_alnum(c) (is_ascii(c) && isalnum(c)) - -/* Scanning macros */ -#define isidchar(ch) (is_alnum(ch) || (ch) == '_') -#define isidfirstchar(ch) (is_alpha(ch) || (ch) == '_') - -/* Forward references */ -char *ppdirforward(); -char *ppdirbackward(); -char *skipspace(); -char *scanstring(); -int writeblanks(); -int test1(); -int convert1(); - -/* The main program */ -int -main(argc, argv) - int argc; - char *argv[]; -{ FILE *in = stdin; - FILE *out = stdout; - char *filename = 0; - char *program_name = argv[0]; - char *output_name = 0; -#define bufsize 5000 /* arbitrary size */ - char *buf; - char *line; - char *more; - char *usage = - "Usage: ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]]\n"; - /* - * In previous versions, ansi2knr recognized a --varargs switch. - * If this switch was supplied, ansi2knr would attempt to convert - * a ... argument to va_alist and va_dcl; if this switch was not - * supplied, ansi2knr would simply drop any such arguments. - * Now, ansi2knr always does this conversion, and we only - * check for this switch for backward compatibility. - */ - int convert_varargs = 1; - int output_error; - - while ( argc > 1 && argv[1][0] == '-' ) { - if ( !strcmp(argv[1], "--varargs") ) { - convert_varargs = 1; - argc--; - argv++; - continue; - } - if ( !strcmp(argv[1], "--filename") && argc > 2 ) { - filename = argv[2]; - argc -= 2; - argv += 2; - continue; - } - fprintf(stderr, "%s: Unrecognized switch: %s\n", program_name, - argv[1]); - fprintf(stderr, usage); - exit(1); - } - switch ( argc ) - { - default: - fprintf(stderr, usage); - exit(0); - case 3: - output_name = argv[2]; - out = fopen(output_name, "w"); - if ( out == NULL ) { - fprintf(stderr, "%s: Cannot open output file %s\n", - program_name, output_name); - exit(1); - } - /* falls through */ - case 2: - in = fopen(argv[1], "r"); - if ( in == NULL ) { - fprintf(stderr, "%s: Cannot open input file %s\n", - program_name, argv[1]); - exit(1); - } - if ( filename == 0 ) - filename = argv[1]; - /* falls through */ - case 1: - break; - } - if ( filename ) - fprintf(out, "#line 1 \"%s\"\n", filename); - buf = malloc(bufsize); - if ( buf == NULL ) - { - fprintf(stderr, "Unable to allocate read buffer!\n"); - exit(1); - } - line = buf; - while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL ) - { -test: line += strlen(line); - switch ( test1(buf) ) - { - case 2: /* a function header */ - convert1(buf, out, 1, convert_varargs); - break; - case 1: /* a function */ - /* Check for a { at the start of the next line. */ - more = ++line; -f: if ( line >= buf + (bufsize - 1) ) /* overflow check */ - goto wl; - if ( fgets(line, (unsigned)(buf + bufsize - line), in) == NULL ) - goto wl; - switch ( *skipspace(ppdirforward(more), 1) ) - { - case '{': - /* Definitely a function header. */ - convert1(buf, out, 0, convert_varargs); - fputs(more, out); - break; - case 0: - /* The next line was blank or a comment: */ - /* keep scanning for a non-comment. */ - line += strlen(line); - goto f; - default: - /* buf isn't a function header, but */ - /* more might be. */ - fputs(buf, out); - strcpy(buf, more); - line = buf; - goto test; - } - break; - case -1: /* maybe the start of a function */ - if ( line != buf + (bufsize - 1) ) /* overflow check */ - continue; - /* falls through */ - default: /* not a function */ -wl: fputs(buf, out); - break; - } - line = buf; - } - if ( line != buf ) - fputs(buf, out); - free(buf); - if ( output_name ) { - output_error = ferror(out); - output_error |= fclose(out); - } else { /* out == stdout */ - fflush(out); - output_error = ferror(out); - } - if ( output_error ) { - fprintf(stderr, "%s: error writing to %s\n", program_name, - (output_name ? output_name : "stdout")); - exit(1); - } - if ( in != stdin ) - fclose(in); - return 0; -} - -/* - * Skip forward or backward over one or more preprocessor directives. - */ -char * -ppdirforward(p) - char *p; -{ - for (; *p == '#'; ++p) { - for (; *p != '\r' && *p != '\n'; ++p) - if (*p == 0) - return p; - if (*p == '\r' && p[1] == '\n') - ++p; - } - return p; -} -char * -ppdirbackward(p, limit) - char *p; - char *limit; -{ - char *np = p; - - for (;; p = --np) { - if (*np == '\n' && np[-1] == '\r') - --np; - for (; np > limit && np[-1] != '\r' && np[-1] != '\n'; --np) - if (np[-1] == 0) - return np; - if (*np != '#') - return p; - } -} - -/* - * Skip over whitespace, comments, and preprocessor directives, - * in either direction. - */ -char * -skipspace(p, dir) - char *p; - int dir; /* 1 for forward, -1 for backward */ -{ - for ( ; ; ) { - while ( is_space(*p) ) - p += dir; - if ( !(*p == '/' && p[dir] == '*') ) - break; - p += dir; p += dir; - while ( !(*p == '*' && p[dir] == '/') ) { - if ( *p == 0 ) - return p; /* multi-line comment?? */ - p += dir; - } - p += dir; p += dir; - } - return p; -} - -/* Scan over a quoted string, in either direction. */ -char * -scanstring(p, dir) - char *p; - int dir; -{ - for (p += dir; ; p += dir) - if (*p == '"' && p[-dir] != '\\') - return p + dir; -} - -/* - * Write blanks over part of a string. - * Don't overwrite end-of-line characters. - */ -int -writeblanks(start, end) - char *start; - char *end; -{ char *p; - for ( p = start; p < end; p++ ) - if ( *p != '\r' && *p != '\n' ) - *p = ' '; - return 0; -} - -/* - * Test whether the string in buf is a function definition. - * The string may contain and/or end with a newline. - * Return as follows: - * 0 - definitely not a function definition; - * 1 - definitely a function definition; - * 2 - definitely a function prototype (NOT USED); - * -1 - may be the beginning of a function definition, - * append another line and look again. - * The reason we don't attempt to convert function prototypes is that - * Ghostscript's declaration-generating macros look too much like - * prototypes, and confuse the algorithms. - */ -int -test1(buf) - char *buf; -{ char *p = buf; - char *bend; - char *endfn; - int contin; - - if ( !isidfirstchar(*p) ) - return 0; /* no name at left margin */ - bend = skipspace(ppdirbackward(buf + strlen(buf) - 1, buf), -1); - switch ( *bend ) - { - case ';': contin = 0 /*2*/; break; - case ')': contin = 1; break; - case '{': return 0; /* not a function */ - case '}': return 0; /* not a function */ - default: contin = -1; - } - while ( isidchar(*p) ) - p++; - endfn = p; - p = skipspace(p, 1); - if ( *p++ != '(' ) - return 0; /* not a function */ - p = skipspace(p, 1); - if ( *p == ')' ) - return 0; /* no parameters */ - /* Check that the apparent function name isn't a keyword. */ - /* We only need to check for keywords that could be followed */ - /* by a left parenthesis (which, unfortunately, is most of them). */ - { static char *words[] = - { "asm", "auto", "case", "char", "const", "double", - "extern", "float", "for", "if", "int", "long", - "register", "return", "short", "signed", "sizeof", - "static", "switch", "typedef", "unsigned", - "void", "volatile", "while", 0 - }; - char **key = words; - char *kp; - unsigned len = endfn - buf; - - while ( (kp = *key) != 0 ) - { if ( strlen(kp) == len && !strncmp(kp, buf, len) ) - return 0; /* name is a keyword */ - key++; - } - } - { - char *id = p; - int len; - /* - * Check for identifier1(identifier2) and not - * identifier1(void), or identifier1(identifier2, xxxx). - */ - - while ( isidchar(*p) ) - p++; - len = p - id; - p = skipspace(p, 1); - if (*p == ',' || - (*p == ')' && (len != 4 || strncmp(id, "void", 4))) - ) - return 0; /* not a function */ - } - /* - * If the last significant character was a ), we need to count - * parentheses, because it might be part of a formal parameter - * that is a procedure. - */ - if (contin > 0) { - int level = 0; - - for (p = skipspace(buf, 1); *p; p = skipspace(p + 1, 1)) - level += (*p == '(' ? 1 : *p == ')' ? -1 : 0); - if (level > 0) - contin = -1; - } - return contin; -} - -/* Convert a recognized function definition or header to K&R syntax. */ -int -convert1(buf, out, header, convert_varargs) - char *buf; - FILE *out; - int header; /* Boolean */ - int convert_varargs; /* Boolean */ -{ char *endfn; - char *p; - /* - * The breaks table contains pointers to the beginning and end - * of each argument. - */ - char **breaks; - unsigned num_breaks = 2; /* for testing */ - char **btop; - char **bp; - char **ap; - char *vararg = 0; - - /* Pre-ANSI implementations don't agree on whether strchr */ - /* is called strchr or index, so we open-code it here. */ - for ( endfn = buf; *(endfn++) != '('; ) - ; -top: p = endfn; - breaks = (char **)malloc(sizeof(char *) * num_breaks * 2); - if ( breaks == NULL ) - { /* Couldn't allocate break table, give up */ - fprintf(stderr, "Unable to allocate break table!\n"); - fputs(buf, out); - return -1; - } - btop = breaks + num_breaks * 2 - 2; - bp = breaks; - /* Parse the argument list */ - do - { int level = 0; - char *lp = NULL; - char *rp = NULL; - char *end = NULL; - - if ( bp >= btop ) - { /* Filled up break table. */ - /* Allocate a bigger one and start over. */ - free((char *)breaks); - num_breaks <<= 1; - goto top; - } - *bp++ = p; - /* Find the end of the argument */ - for ( ; end == NULL; p++ ) - { switch(*p) - { - case ',': - if ( !level ) end = p; - break; - case '(': - if ( !level ) lp = p; - level++; - break; - case ')': - if ( --level < 0 ) end = p; - else rp = p; - break; - case '/': - if (p[1] == '*') - p = skipspace(p, 1) - 1; - break; - case '"': - p = scanstring(p, 1) - 1; - break; - default: - ; - } - } - /* Erase any embedded prototype parameters. */ - if ( lp && rp ) - writeblanks(lp + 1, rp); - p--; /* back up over terminator */ - /* Find the name being declared. */ - /* This is complicated because of procedure and */ - /* array modifiers. */ - for ( ; ; ) - { p = skipspace(p - 1, -1); - switch ( *p ) - { - case ']': /* skip array dimension(s) */ - case ')': /* skip procedure args OR name */ - { int level = 1; - while ( level ) - switch ( *--p ) - { - case ']': case ')': - level++; - break; - case '[': case '(': - level--; - break; - case '/': - if (p > buf && p[-1] == '*') - p = skipspace(p, -1) + 1; - break; - case '"': - p = scanstring(p, -1) + 1; - break; - default: ; - } - } - if ( *p == '(' && *skipspace(p + 1, 1) == '*' ) - { /* We found the name being declared */ - while ( !isidfirstchar(*p) ) - p = skipspace(p, 1) + 1; - goto found; - } - break; - default: - goto found; - } - } -found: if ( *p == '.' && p[-1] == '.' && p[-2] == '.' ) - { if ( convert_varargs ) - { *bp++ = "va_alist"; - vararg = p-2; - } - else - { p++; - if ( bp == breaks + 1 ) /* sole argument */ - writeblanks(breaks[0], p); - else - writeblanks(bp[-1] - 1, p); - bp--; - } - } - else - { while ( isidchar(*p) ) p--; - *bp++ = p+1; - } - p = end; - } - while ( *p++ == ',' ); - *bp = p; - /* Make a special check for 'void' arglist */ - if ( bp == breaks+2 ) - { p = skipspace(breaks[0], 1); - if ( !strncmp(p, "void", 4) ) - { p = skipspace(p+4, 1); - if ( p == breaks[2] - 1 ) - { bp = breaks; /* yup, pretend arglist is empty */ - writeblanks(breaks[0], p + 1); - } - } - } - /* Put out the function name and left parenthesis. */ - p = buf; - while ( p != endfn ) putc(*p, out), p++; - /* Put out the declaration. */ - if ( header ) - { fputs(");", out); - for ( p = breaks[0]; *p; p++ ) - if ( *p == '\r' || *p == '\n' ) - putc(*p, out); - } - else - { for ( ap = breaks+1; ap < bp; ap += 2 ) - { p = *ap; - while ( isidchar(*p) ) - putc(*p, out), p++; - if ( ap < bp - 1 ) - fputs(", ", out); - } - fputs(") ", out); - /* Put out the argument declarations */ - for ( ap = breaks+2; ap <= bp; ap += 2 ) - (*ap)[-1] = ';'; - if ( vararg != 0 ) - { *vararg = 0; - fputs(breaks[0], out); /* any prior args */ - fputs("va_dcl", out); /* the final arg */ - fputs(bp[0], out); - } - else - fputs(breaks[0], out); - } - free((char *)breaks); - return 0; -} diff --git a/3rdparty/openctm/tools/jpeg/cderror.h b/3rdparty/openctm/tools/jpeg/cderror.h deleted file mode 100644 index c19d38fb4..000000000 --- a/3rdparty/openctm/tools/jpeg/cderror.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * cderror.h - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the error and message codes for the cjpeg/djpeg - * applications. These strings are not needed as part of the JPEG library - * proper. - * Edit this file to add new codes, or to translate the message strings to - * some other language. - */ - -/* - * To define the enum list of message codes, include this file without - * defining macro JMESSAGE. To create a message string table, include it - * again with a suitable JMESSAGE definition (see jerror.c for an example). - */ -#ifndef JMESSAGE -#ifndef CDERROR_H -#define CDERROR_H -/* First time through, define the enum list */ -#define JMAKE_ENUM_LIST -#else -/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ -#define JMESSAGE(code,string) -#endif /* CDERROR_H */ -#endif /* JMESSAGE */ - -#ifdef JMAKE_ENUM_LIST - -typedef enum { - -#define JMESSAGE(code,string) code , - -#endif /* JMAKE_ENUM_LIST */ - -JMESSAGE(JMSG_FIRSTADDONCODE=1000, NULL) /* Must be first entry! */ - -#ifdef BMP_SUPPORTED -JMESSAGE(JERR_BMP_BADCMAP, "Unsupported BMP colormap format") -JMESSAGE(JERR_BMP_BADDEPTH, "Only 8- and 24-bit BMP files are supported") -JMESSAGE(JERR_BMP_BADHEADER, "Invalid BMP file: bad header length") -JMESSAGE(JERR_BMP_BADPLANES, "Invalid BMP file: biPlanes not equal to 1") -JMESSAGE(JERR_BMP_COLORSPACE, "BMP output must be grayscale or RGB") -JMESSAGE(JERR_BMP_COMPRESSED, "Sorry, compressed BMPs not yet supported") -JMESSAGE(JERR_BMP_NOT, "Not a BMP file - does not start with BM") -JMESSAGE(JTRC_BMP, "%ux%u 24-bit BMP image") -JMESSAGE(JTRC_BMP_MAPPED, "%ux%u 8-bit colormapped BMP image") -JMESSAGE(JTRC_BMP_OS2, "%ux%u 24-bit OS2 BMP image") -JMESSAGE(JTRC_BMP_OS2_MAPPED, "%ux%u 8-bit colormapped OS2 BMP image") -#endif /* BMP_SUPPORTED */ - -#ifdef GIF_SUPPORTED -JMESSAGE(JERR_GIF_BUG, "GIF output got confused") -JMESSAGE(JERR_GIF_CODESIZE, "Bogus GIF codesize %d") -JMESSAGE(JERR_GIF_COLORSPACE, "GIF output must be grayscale or RGB") -JMESSAGE(JERR_GIF_IMAGENOTFOUND, "Too few images in GIF file") -JMESSAGE(JERR_GIF_NOT, "Not a GIF file") -JMESSAGE(JTRC_GIF, "%ux%ux%d GIF image") -JMESSAGE(JTRC_GIF_BADVERSION, - "Warning: unexpected GIF version number '%c%c%c'") -JMESSAGE(JTRC_GIF_EXTENSION, "Ignoring GIF extension block of type 0x%02x") -JMESSAGE(JTRC_GIF_NONSQUARE, "Caution: nonsquare pixels in input") -JMESSAGE(JWRN_GIF_BADDATA, "Corrupt data in GIF file") -JMESSAGE(JWRN_GIF_CHAR, "Bogus char 0x%02x in GIF file, ignoring") -JMESSAGE(JWRN_GIF_ENDCODE, "Premature end of GIF image") -JMESSAGE(JWRN_GIF_NOMOREDATA, "Ran out of GIF bits") -#endif /* GIF_SUPPORTED */ - -#ifdef PPM_SUPPORTED -JMESSAGE(JERR_PPM_COLORSPACE, "PPM output must be grayscale or RGB") -JMESSAGE(JERR_PPM_NONNUMERIC, "Nonnumeric data in PPM file") -JMESSAGE(JERR_PPM_NOT, "Not a PPM/PGM file") -JMESSAGE(JTRC_PGM, "%ux%u PGM image") -JMESSAGE(JTRC_PGM_TEXT, "%ux%u text PGM image") -JMESSAGE(JTRC_PPM, "%ux%u PPM image") -JMESSAGE(JTRC_PPM_TEXT, "%ux%u text PPM image") -#endif /* PPM_SUPPORTED */ - -#ifdef RLE_SUPPORTED -JMESSAGE(JERR_RLE_BADERROR, "Bogus error code from RLE library") -JMESSAGE(JERR_RLE_COLORSPACE, "RLE output must be grayscale or RGB") -JMESSAGE(JERR_RLE_DIMENSIONS, "Image dimensions (%ux%u) too large for RLE") -JMESSAGE(JERR_RLE_EMPTY, "Empty RLE file") -JMESSAGE(JERR_RLE_EOF, "Premature EOF in RLE header") -JMESSAGE(JERR_RLE_MEM, "Insufficient memory for RLE header") -JMESSAGE(JERR_RLE_NOT, "Not an RLE file") -JMESSAGE(JERR_RLE_TOOMANYCHANNELS, "Cannot handle %d output channels for RLE") -JMESSAGE(JERR_RLE_UNSUPPORTED, "Cannot handle this RLE setup") -JMESSAGE(JTRC_RLE, "%ux%u full-color RLE file") -JMESSAGE(JTRC_RLE_FULLMAP, "%ux%u full-color RLE file with map of length %d") -JMESSAGE(JTRC_RLE_GRAY, "%ux%u grayscale RLE file") -JMESSAGE(JTRC_RLE_MAPGRAY, "%ux%u grayscale RLE file with map of length %d") -JMESSAGE(JTRC_RLE_MAPPED, "%ux%u colormapped RLE file with map of length %d") -#endif /* RLE_SUPPORTED */ - -#ifdef TARGA_SUPPORTED -JMESSAGE(JERR_TGA_BADCMAP, "Unsupported Targa colormap format") -JMESSAGE(JERR_TGA_BADPARMS, "Invalid or unsupported Targa file") -JMESSAGE(JERR_TGA_COLORSPACE, "Targa output must be grayscale or RGB") -JMESSAGE(JTRC_TGA, "%ux%u RGB Targa image") -JMESSAGE(JTRC_TGA_GRAY, "%ux%u grayscale Targa image") -JMESSAGE(JTRC_TGA_MAPPED, "%ux%u colormapped Targa image") -#else -JMESSAGE(JERR_TGA_NOTCOMP, "Targa support was not compiled") -#endif /* TARGA_SUPPORTED */ - -JMESSAGE(JERR_BAD_CMAP_FILE, - "Color map file is invalid or of unsupported format") -JMESSAGE(JERR_TOO_MANY_COLORS, - "Output file format cannot handle %d colormap entries") -JMESSAGE(JERR_UNGETC_FAILED, "ungetc failed") -#ifdef TARGA_SUPPORTED -JMESSAGE(JERR_UNKNOWN_FORMAT, - "Unrecognized input file format --- perhaps you need -targa") -#else -JMESSAGE(JERR_UNKNOWN_FORMAT, "Unrecognized input file format") -#endif -JMESSAGE(JERR_UNSUPPORTED_FORMAT, "Unsupported output file format") - -#ifdef JMAKE_ENUM_LIST - - JMSG_LASTADDONCODE -} ADDON_MESSAGE_CODE; - -#undef JMAKE_ENUM_LIST -#endif /* JMAKE_ENUM_LIST */ - -/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ -#undef JMESSAGE diff --git a/3rdparty/openctm/tools/jpeg/cdjpeg.c b/3rdparty/openctm/tools/jpeg/cdjpeg.c deleted file mode 100644 index 89fe63372..000000000 --- a/3rdparty/openctm/tools/jpeg/cdjpeg.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * cdjpeg.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains common support routines used by the IJG application - * programs (cjpeg, djpeg, jpegtran). - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ -#include /* to declare isupper(), tolower() */ -#ifdef NEED_SIGNAL_CATCHER -#include /* to declare signal() */ -#endif -#ifdef USE_SETMODE -#include /* to declare setmode()'s parameter macros */ -/* If you have setmode() but not , just delete this line: */ -#include /* to declare setmode() */ -#endif - - -/* - * Signal catcher to ensure that temporary files are removed before aborting. - * NB: for Amiga Manx C this is actually a global routine named _abort(); - * we put "#define signal_catcher _abort" in jconfig.h. Talk about bogus... - */ - -#ifdef NEED_SIGNAL_CATCHER - -static j_common_ptr sig_cinfo; - -void /* must be global for Manx C */ -signal_catcher (int signum) -{ - if (sig_cinfo != NULL) { - if (sig_cinfo->err != NULL) /* turn off trace output */ - sig_cinfo->err->trace_level = 0; - jpeg_destroy(sig_cinfo); /* clean up memory allocation & temp files */ - } - exit(EXIT_FAILURE); -} - - -GLOBAL(void) -enable_signal_catcher (j_common_ptr cinfo) -{ - sig_cinfo = cinfo; -#ifdef SIGINT /* not all systems have SIGINT */ - signal(SIGINT, signal_catcher); -#endif -#ifdef SIGTERM /* not all systems have SIGTERM */ - signal(SIGTERM, signal_catcher); -#endif -} - -#endif - - -/* - * Optional progress monitor: display a percent-done figure on stderr. - */ - -#ifdef PROGRESS_REPORT - -METHODDEF(void) -progress_monitor (j_common_ptr cinfo) -{ - cd_progress_ptr prog = (cd_progress_ptr) cinfo->progress; - int total_passes = prog->pub.total_passes + prog->total_extra_passes; - int percent_done = (int) (prog->pub.pass_counter*100L/prog->pub.pass_limit); - - if (percent_done != prog->percent_done) { - prog->percent_done = percent_done; - if (total_passes > 1) { - fprintf(stderr, "\rPass %d/%d: %3d%% ", - prog->pub.completed_passes + prog->completed_extra_passes + 1, - total_passes, percent_done); - } else { - fprintf(stderr, "\r %3d%% ", percent_done); - } - fflush(stderr); - } -} - - -GLOBAL(void) -start_progress_monitor (j_common_ptr cinfo, cd_progress_ptr progress) -{ - /* Enable progress display, unless trace output is on */ - if (cinfo->err->trace_level == 0) { - progress->pub.progress_monitor = progress_monitor; - progress->completed_extra_passes = 0; - progress->total_extra_passes = 0; - progress->percent_done = -1; - cinfo->progress = &progress->pub; - } -} - - -GLOBAL(void) -end_progress_monitor (j_common_ptr cinfo) -{ - /* Clear away progress display */ - if (cinfo->err->trace_level == 0) { - fprintf(stderr, "\r \r"); - fflush(stderr); - } -} - -#endif - - -/* - * Case-insensitive matching of possibly-abbreviated keyword switches. - * keyword is the constant keyword (must be lower case already), - * minchars is length of minimum legal abbreviation. - */ - -GLOBAL(boolean) -keymatch (char * arg, const char * keyword, int minchars) -{ - register int ca, ck; - register int nmatched = 0; - - while ((ca = *arg++) != '\0') { - if ((ck = *keyword++) == '\0') - return FALSE; /* arg longer than keyword, no good */ - if (isupper(ca)) /* force arg to lcase (assume ck is already) */ - ca = tolower(ca); - if (ca != ck) - return FALSE; /* no good */ - nmatched++; /* count matched characters */ - } - /* reached end of argument; fail if it's too short for unique abbrev */ - if (nmatched < minchars) - return FALSE; - return TRUE; /* A-OK */ -} - - -/* - * Routines to establish binary I/O mode for stdin and stdout. - * Non-Unix systems often require some hacking to get out of text mode. - */ - -GLOBAL(FILE *) -read_stdin (void) -{ - FILE * input_file = stdin; - -#ifdef USE_SETMODE /* need to hack file mode? */ - setmode(fileno(stdin), O_BINARY); -#endif -#ifdef USE_FDOPEN /* need to re-open in binary mode? */ - if ((input_file = fdopen(fileno(stdin), READ_BINARY)) == NULL) { - fprintf(stderr, "Cannot reopen stdin\n"); - exit(EXIT_FAILURE); - } -#endif - return input_file; -} - - -GLOBAL(FILE *) -write_stdout (void) -{ - FILE * output_file = stdout; - -#ifdef USE_SETMODE /* need to hack file mode? */ - setmode(fileno(stdout), O_BINARY); -#endif -#ifdef USE_FDOPEN /* need to re-open in binary mode? */ - if ((output_file = fdopen(fileno(stdout), WRITE_BINARY)) == NULL) { - fprintf(stderr, "Cannot reopen stdout\n"); - exit(EXIT_FAILURE); - } -#endif - return output_file; -} diff --git a/3rdparty/openctm/tools/jpeg/cdjpeg.h b/3rdparty/openctm/tools/jpeg/cdjpeg.h deleted file mode 100644 index c0d064cca..000000000 --- a/3rdparty/openctm/tools/jpeg/cdjpeg.h +++ /dev/null @@ -1,187 +0,0 @@ -/* - * cdjpeg.h - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains common declarations for the sample applications - * cjpeg and djpeg. It is NOT used by the core JPEG library. - */ - -#define JPEG_CJPEG_DJPEG /* define proper options in jconfig.h */ -#define JPEG_INTERNAL_OPTIONS /* cjpeg.c,djpeg.c need to see xxx_SUPPORTED */ -#include "jinclude.h" -#include "jpeglib.h" -#include "jerror.h" /* get library error codes too */ -#include "cderror.h" /* get application-specific error codes */ - - -/* - * Object interface for cjpeg's source file decoding modules - */ - -typedef struct cjpeg_source_struct * cjpeg_source_ptr; - -struct cjpeg_source_struct { - JMETHOD(void, start_input, (j_compress_ptr cinfo, - cjpeg_source_ptr sinfo)); - JMETHOD(JDIMENSION, get_pixel_rows, (j_compress_ptr cinfo, - cjpeg_source_ptr sinfo)); - JMETHOD(void, finish_input, (j_compress_ptr cinfo, - cjpeg_source_ptr sinfo)); - - FILE *input_file; - - JSAMPARRAY buffer; - JDIMENSION buffer_height; -}; - - -/* - * Object interface for djpeg's output file encoding modules - */ - -typedef struct djpeg_dest_struct * djpeg_dest_ptr; - -struct djpeg_dest_struct { - /* start_output is called after jpeg_start_decompress finishes. - * The color map will be ready at this time, if one is needed. - */ - JMETHOD(void, start_output, (j_decompress_ptr cinfo, - djpeg_dest_ptr dinfo)); - /* Emit the specified number of pixel rows from the buffer. */ - JMETHOD(void, put_pixel_rows, (j_decompress_ptr cinfo, - djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied)); - /* Finish up at the end of the image. */ - JMETHOD(void, finish_output, (j_decompress_ptr cinfo, - djpeg_dest_ptr dinfo)); - - /* Target file spec; filled in by djpeg.c after object is created. */ - FILE * output_file; - - /* Output pixel-row buffer. Created by module init or start_output. - * Width is cinfo->output_width * cinfo->output_components; - * height is buffer_height. - */ - JSAMPARRAY buffer; - JDIMENSION buffer_height; -}; - - -/* - * cjpeg/djpeg may need to perform extra passes to convert to or from - * the source/destination file format. The JPEG library does not know - * about these passes, but we'd like them to be counted by the progress - * monitor. We use an expanded progress monitor object to hold the - * additional pass count. - */ - -struct cdjpeg_progress_mgr { - struct jpeg_progress_mgr pub; /* fields known to JPEG library */ - int completed_extra_passes; /* extra passes completed */ - int total_extra_passes; /* total extra */ - /* last printed percentage stored here to avoid multiple printouts */ - int percent_done; -}; - -typedef struct cdjpeg_progress_mgr * cd_progress_ptr; - - -/* Short forms of external names for systems with brain-damaged linkers. */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jinit_read_bmp jIRdBMP -#define jinit_write_bmp jIWrBMP -#define jinit_read_gif jIRdGIF -#define jinit_write_gif jIWrGIF -#define jinit_read_ppm jIRdPPM -#define jinit_write_ppm jIWrPPM -#define jinit_read_rle jIRdRLE -#define jinit_write_rle jIWrRLE -#define jinit_read_targa jIRdTarga -#define jinit_write_targa jIWrTarga -#define read_quant_tables RdQTables -#define read_scan_script RdScnScript -#define set_quality_ratings SetQRates -#define set_quant_slots SetQSlots -#define set_sample_factors SetSFacts -#define read_color_map RdCMap -#define enable_signal_catcher EnSigCatcher -#define start_progress_monitor StProgMon -#define end_progress_monitor EnProgMon -#define read_stdin RdStdin -#define write_stdout WrStdout -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - -/* Module selection routines for I/O modules. */ - -EXTERN(cjpeg_source_ptr) jinit_read_bmp JPP((j_compress_ptr cinfo)); -EXTERN(djpeg_dest_ptr) jinit_write_bmp JPP((j_decompress_ptr cinfo, - boolean is_os2)); -EXTERN(cjpeg_source_ptr) jinit_read_gif JPP((j_compress_ptr cinfo)); -EXTERN(djpeg_dest_ptr) jinit_write_gif JPP((j_decompress_ptr cinfo)); -EXTERN(cjpeg_source_ptr) jinit_read_ppm JPP((j_compress_ptr cinfo)); -EXTERN(djpeg_dest_ptr) jinit_write_ppm JPP((j_decompress_ptr cinfo)); -EXTERN(cjpeg_source_ptr) jinit_read_rle JPP((j_compress_ptr cinfo)); -EXTERN(djpeg_dest_ptr) jinit_write_rle JPP((j_decompress_ptr cinfo)); -EXTERN(cjpeg_source_ptr) jinit_read_targa JPP((j_compress_ptr cinfo)); -EXTERN(djpeg_dest_ptr) jinit_write_targa JPP((j_decompress_ptr cinfo)); - -/* cjpeg support routines (in rdswitch.c) */ - -EXTERN(boolean) read_quant_tables JPP((j_compress_ptr cinfo, char * filename, - boolean force_baseline)); -EXTERN(boolean) read_scan_script JPP((j_compress_ptr cinfo, char * filename)); -EXTERN(boolean) set_quality_ratings JPP((j_compress_ptr cinfo, char *arg, - boolean force_baseline)); -EXTERN(boolean) set_quant_slots JPP((j_compress_ptr cinfo, char *arg)); -EXTERN(boolean) set_sample_factors JPP((j_compress_ptr cinfo, char *arg)); - -/* djpeg support routines (in rdcolmap.c) */ - -EXTERN(void) read_color_map JPP((j_decompress_ptr cinfo, FILE * infile)); - -/* common support routines (in cdjpeg.c) */ - -EXTERN(void) enable_signal_catcher JPP((j_common_ptr cinfo)); -EXTERN(void) start_progress_monitor JPP((j_common_ptr cinfo, - cd_progress_ptr progress)); -EXTERN(void) end_progress_monitor JPP((j_common_ptr cinfo)); -EXTERN(boolean) keymatch JPP((char * arg, const char * keyword, int minchars)); -EXTERN(FILE *) read_stdin JPP((void)); -EXTERN(FILE *) write_stdout JPP((void)); - -/* miscellaneous useful macros */ - -#ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */ -#define READ_BINARY "r" -#define WRITE_BINARY "w" -#else -#ifdef VMS /* VMS is very nonstandard */ -#define READ_BINARY "rb", "ctx=stm" -#define WRITE_BINARY "wb", "ctx=stm" -#else /* standard ANSI-compliant case */ -#define READ_BINARY "rb" -#define WRITE_BINARY "wb" -#endif -#endif - -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ -#define EXIT_FAILURE 1 -#endif -#ifndef EXIT_SUCCESS -#ifdef VMS -#define EXIT_SUCCESS 1 /* VMS is very nonstandard */ -#else -#define EXIT_SUCCESS 0 -#endif -#endif -#ifndef EXIT_WARNING -#ifdef VMS -#define EXIT_WARNING 1 /* VMS is very nonstandard */ -#else -#define EXIT_WARNING 2 -#endif -#endif diff --git a/3rdparty/openctm/tools/jpeg/change.log b/3rdparty/openctm/tools/jpeg/change.log deleted file mode 100644 index 85c0084b5..000000000 --- a/3rdparty/openctm/tools/jpeg/change.log +++ /dev/null @@ -1,270 +0,0 @@ -CHANGE LOG for Independent JPEG Group's JPEG software - - -Version 7 27-Jun-2009 ----------------------- - -New scaled DCTs implemented. -djpeg now supports scalings N/8 with all N from 1 to 16. -cjpeg now supports scalings 8/N with all N from 1 to 16. -Scaled DCTs with size larger than 8 are now also used for resolving the -common 2x2 chroma subsampling case without additional spatial resampling. -Separate spatial resampling for those kind of files is now only necessary -for N>8 scaling cases. -Furthermore, separate scaled DCT functions are provided for direct resolving -of the common asymmetric subsampling cases (2x1 and 1x2) without additional -spatial resampling. - -cjpeg -quality option has been extended for support of separate quality -settings for luminance and chrominance (or in general, for every provided -quantization table slot). -New API function jpeg_default_qtables() and q_scale_factor array in library. - -Added -nosmooth option to cjpeg, complementary to djpeg. -New variable "do_fancy_downsampling" in library, complement to fancy -upsampling. Fancy upsampling now uses direct DCT scaling with sizes -larger than 8. The old method is not reversible and has been removed. - -Support arithmetic entropy encoding and decoding. -Added files jaricom.c, jcarith.c, jdarith.c. - -Straighten the file structure: -Removed files jidctred.c, jcphuff.c, jchuff.h, jdphuff.c, jdhuff.h. - -jpegtran has a new "lossless" cropping feature. - -Implement -perfect option in jpegtran, new API function -jtransform_perfect_transform() in transupp. (DP 204_perfect.dpatch) - -Better error messages for jpegtran fopen failure. -(DP 203_jpegtran_errmsg.dpatch) - -Fix byte order issue with 16bit PPM/PGM files in rdppm.c/wrppm.c: -according to Netpbm, the de facto standard implementation of the PNM formats, -the most significant byte is first. (DP 203_rdppm.dpatch) - -Add -raw option to rdjpgcom not to mangle the output. -(DP 205_rdjpgcom_raw.dpatch) - -Make rdjpgcom locale aware. (DP 201_rdjpgcom_locale.dpatch) - -Add extern "C" to jpeglib.h. -This avoids the need to put extern "C" { ... } around #include "jpeglib.h" -in your C++ application. Defining the symbol DONT_USE_EXTERN_C in the -configuration prevents this. (DP 202_jpeglib.h_c++.dpatch) - - -Version 6b 27-Mar-1998 ------------------------ - -jpegtran has new features for lossless image transformations (rotation -and flipping) as well as "lossless" reduction to grayscale. - -jpegtran now copies comments by default; it has a -copy switch to enable -copying all APPn blocks as well, or to suppress comments. (Formerly it -always suppressed comments and APPn blocks.) jpegtran now also preserves -JFIF version and resolution information. - -New decompressor library feature: COM and APPn markers found in the input -file can be saved in memory for later use by the application. (Before, -you had to code this up yourself with a custom marker processor.) - -There is an unused field "void * client_data" now in compress and decompress -parameter structs; this may be useful in some applications. - -JFIF version number information is now saved by the decoder and accepted by -the encoder. jpegtran uses this to copy the source file's version number, -to ensure "jpegtran -copy all" won't create bogus files that contain JFXX -extensions but claim to be version 1.01. Applications that generate their -own JFXX extension markers also (finally) have a supported way to cause the -encoder to emit JFIF version number 1.02. - -djpeg's trace mode reports JFIF 1.02 thumbnail images as such, rather -than as unknown APP0 markers. - -In -verbose mode, djpeg and rdjpgcom will try to print the contents of -APP12 markers as text. Some digital cameras store useful text information -in APP12 markers. - -Handling of truncated data streams is more robust: blocks beyond the one in -which the error occurs will be output as uniform gray, or left unchanged -if decoding a progressive JPEG. The appearance no longer depends on the -Huffman tables being used. - -Huffman tables are checked for validity much more carefully than before. - -To avoid the Unisys LZW patent, djpeg's GIF output capability has been -changed to produce "uncompressed GIFs", and cjpeg's GIF input capability -has been removed altogether. We're not happy about it either, but there -seems to be no good alternative. - -The configure script now supports building libjpeg as a shared library -on many flavors of Unix (all the ones that GNU libtool knows how to -build shared libraries for). Use "./configure --enable-shared" to -try this out. - -New jconfig file and makefiles for Microsoft Visual C++ and Developer Studio. -Also, a jconfig file and a build script for Metrowerks CodeWarrior -on Apple Macintosh. makefile.dj has been updated for DJGPP v2, and there -are miscellaneous other minor improvements in the makefiles. - -jmemmac.c now knows how to create temporary files following Mac System 7 -conventions. - -djpeg's -map switch is now able to read raw-format PPM files reliably. - -cjpeg -progressive -restart no longer generates any unnecessary DRI markers. - -Multiple calls to jpeg_simple_progression for a single JPEG object -no longer leak memory. - - -Version 6a 7-Feb-96 --------------------- - -Library initialization sequence modified to detect version mismatches -and struct field packing mismatches between library and calling application. -This change requires applications to be recompiled, but does not require -any application source code change. - -All routine declarations changed to the style "GLOBAL(type) name ...", -that is, GLOBAL, LOCAL, METHODDEF, EXTERN are now macros taking the -routine's return type as an argument. This makes it possible to add -Microsoft-style linkage keywords to all the routines by changing just -these macros. Note that any application code that was using these macros -will have to be changed. - -DCT coefficient quantization tables are now stored in normal array order -rather than zigzag order. Application code that calls jpeg_add_quant_table, -or otherwise manipulates quantization tables directly, will need to be -changed. If you need to make such code work with either older or newer -versions of the library, a test like "#if JPEG_LIB_VERSION >= 61" is -recommended. - -djpeg's trace capability now dumps DQT tables in natural order, not zigzag -order. This allows the trace output to be made into a "-qtables" file -more easily. - -New system-dependent memory manager module for use on Apple Macintosh. - -Fix bug in cjpeg's -smooth option: last one or two scanlines would be -duplicates of the prior line unless the image height mod 16 was 1 or 2. - -Repair minor problems in VMS, BCC, MC6 makefiles. - -New configure script based on latest GNU Autoconf. - -Correct the list of include files needed by MetroWerks C for ccommand(). - -Numerous small documentation updates. - - -Version 6 2-Aug-95 -------------------- - -Progressive JPEG support: library can read and write full progressive JPEG -files. A "buffered image" mode supports incremental decoding for on-the-fly -display of progressive images. Simply recompiling an existing IJG-v5-based -decoder with v6 should allow it to read progressive files, though of course -without any special progressive display. - -New "jpegtran" application performs lossless transcoding between different -JPEG formats; primarily, it can be used to convert baseline to progressive -JPEG and vice versa. In support of jpegtran, the library now allows lossless -reading and writing of JPEG files as DCT coefficient arrays. This ability -may be of use in other applications. - -Notes for programmers: -* We changed jpeg_start_decompress() to be able to suspend; this makes all -decoding modes available to suspending-input applications. However, -existing applications that use suspending input will need to be changed -to check the return value from jpeg_start_decompress(). You don't need to -do anything if you don't use a suspending data source. -* We changed the interface to the virtual array routines: access_virt_array -routines now take a count of the number of rows to access this time. The -last parameter to request_virt_array routines is now interpreted as the -maximum number of rows that may be accessed at once, but not necessarily -the height of every access. - - -Version 5b 15-Mar-95 ---------------------- - -Correct bugs with grayscale images having v_samp_factor > 1. - -jpeg_write_raw_data() now supports output suspension. - -Correct bugs in "configure" script for case of compiling in -a directory other than the one containing the source files. - -Repair bug in jquant1.c: sometimes didn't use as many colors as it could. - -Borland C makefile and jconfig file work under either MS-DOS or OS/2. - -Miscellaneous improvements to documentation. - - -Version 5a 7-Dec-94 --------------------- - -Changed color conversion roundoff behavior so that grayscale values are -represented exactly. (This causes test image files to change.) - -Make ordered dither use 16x16 instead of 4x4 pattern for a small quality -improvement. - -New configure script based on latest GNU Autoconf. -Fix configure script to handle CFLAGS correctly. -Rename *.auto files to *.cfg, so that configure script still works if -file names have been truncated for DOS. - -Fix bug in rdbmp.c: didn't allow for extra data between header and image. - -Modify rdppm.c/wrppm.c to handle 2-byte raw PPM/PGM formats for 12-bit data. - -Fix several bugs in rdrle.c. - -NEED_SHORT_EXTERNAL_NAMES option was broken. - -Revise jerror.h/jerror.c for more flexibility in message table. - -Repair oversight in jmemname.c NO_MKTEMP case: file could be there -but unreadable. - - -Version 5 24-Sep-94 --------------------- - -Version 5 represents a nearly complete redesign and rewrite of the IJG -software. Major user-visible changes include: - * Automatic configuration simplifies installation for most Unix systems. - * A range of speed vs. image quality tradeoffs are supported. - This includes resizing of an image during decompression: scaling down - by a factor of 1/2, 1/4, or 1/8 is handled very efficiently. - * New programs rdjpgcom and wrjpgcom allow insertion and extraction - of text comments in a JPEG file. - -The application programmer's interface to the library has changed completely. -Notable improvements include: - * We have eliminated the use of callback routines for handling the - uncompressed image data. The application now sees the library as a - set of routines that it calls to read or write image data on a - scanline-by-scanline basis. - * The application image data is represented in a conventional interleaved- - pixel format, rather than as a separate array for each color channel. - This can save a copying step in many programs. - * The handling of compressed data has been cleaned up: the application can - supply routines to source or sink the compressed data. It is possible to - suspend processing on source/sink buffer overrun, although this is not - supported in all operating modes. - * All static state has been eliminated from the library, so that multiple - instances of compression or decompression can be active concurrently. - * JPEG abbreviated datastream formats are supported, ie, quantization and - Huffman tables can be stored separately from the image data. - * And not only that, but the documentation of the library has improved - considerably! - - -The last widely used release before the version 5 rewrite was version 4A of -18-Feb-93. Change logs before that point have been discarded, since they -are not of much interest after the rewrite. diff --git a/3rdparty/openctm/tools/jpeg/cjpeg.1 b/3rdparty/openctm/tools/jpeg/cjpeg.1 deleted file mode 100644 index fa7bfa814..000000000 --- a/3rdparty/openctm/tools/jpeg/cjpeg.1 +++ /dev/null @@ -1,325 +0,0 @@ -.TH CJPEG 1 "10 June 2009" -.SH NAME -cjpeg \- compress an image file to a JPEG file -.SH SYNOPSIS -.B cjpeg -[ -.I options -] -[ -.I filename -] -.LP -.SH DESCRIPTION -.LP -.B cjpeg -compresses the named image file, or the standard input if no file is -named, and produces a JPEG/JFIF file on the standard output. -The currently supported input file formats are: PPM (PBMPLUS color -format), PGM (PBMPLUS gray-scale format), BMP, Targa, and RLE (Utah Raster -Toolkit format). (RLE is supported only if the URT library is available.) -.SH OPTIONS -All switch names may be abbreviated; for example, -.B \-grayscale -may be written -.B \-gray -or -.BR \-gr . -Most of the "basic" switches can be abbreviated to as little as one letter. -Upper and lower case are equivalent (thus -.B \-BMP -is the same as -.BR \-bmp ). -British spellings are also accepted (e.g., -.BR \-greyscale ), -though for brevity these are not mentioned below. -.PP -The basic switches are: -.TP -.BI \-quality " N[,...]" -Scale quantization tables to adjust image quality. Quality is 0 (worst) to -100 (best); default is 75. (See below for more info.) -.TP -.B \-grayscale -Create monochrome JPEG file from color input. Be sure to use this switch when -compressing a grayscale BMP file, because -.B cjpeg -isn't bright enough to notice whether a BMP file uses only shades of gray. -By saying -.BR \-grayscale , -you'll get a smaller JPEG file that takes less time to process. -.TP -.B \-optimize -Perform optimization of entropy encoding parameters. Without this, default -encoding parameters are used. -.B \-optimize -usually makes the JPEG file a little smaller, but -.B cjpeg -runs somewhat slower and needs much more memory. Image quality and speed of -decompression are unaffected by -.BR \-optimize . -.TP -.B \-progressive -Create progressive JPEG file (see below). -.TP -.BI \-scale " M/N" -Scale the output image by a factor M/N. Currently supported scale factors are -8/N with all N from 1 to 16. -.TP -.B \-targa -Input file is Targa format. Targa files that contain an "identification" -field will not be automatically recognized by -.BR cjpeg ; -for such files you must specify -.B \-targa -to make -.B cjpeg -treat the input as Targa format. -For most Targa files, you won't need this switch. -.PP -The -.B \-quality -switch lets you trade off compressed file size against quality of the -reconstructed image: the higher the quality setting, the larger the JPEG file, -and the closer the output image will be to the original input. Normally you -want to use the lowest quality setting (smallest file) that decompresses into -something visually indistinguishable from the original image. For this -purpose the quality setting should be between 50 and 95; the default of 75 is -often about right. If you see defects at -.B \-quality -75, then go up 5 or 10 counts at a time until you are happy with the output -image. (The optimal setting will vary from one image to another.) -.PP -.B \-quality -100 will generate a quantization table of all 1's, minimizing loss in the -quantization step (but there is still information loss in subsampling, as well -as roundoff error). This setting is mainly of interest for experimental -purposes. Quality values above about 95 are -.B not -recommended for normal use; the compressed file size goes up dramatically for -hardly any gain in output image quality. -.PP -In the other direction, quality values below 50 will produce very small files -of low image quality. Settings around 5 to 10 might be useful in preparing an -index of a large image library, for example. Try -.B \-quality -2 (or so) for some amusing Cubist effects. (Note: quality -values below about 25 generate 2-byte quantization tables, which are -considered optional in the JPEG standard. -.B cjpeg -emits a warning message when you give such a quality value, because some -other JPEG programs may be unable to decode the resulting file. Use -.B \-baseline -if you need to ensure compatibility at low quality values.) -.PP -The -.B \-quality -option has been extended in IJG version 7 for support of separate quality -settings for luminance and chrominance (or in general, for every provided -quantization table slot). This feature is useful for high-quality -applications which cannot accept the damage of color data by coarse -subsampling settings. You can now easily reduce the color data amount more -smoothly with finer control without separate subsampling. The resulting file -is fully compliant with standard JPEG decoders. -Note that the -.B \-quality -ratings refer to the quantization table slots, and that the last value is -replicated if there are more q-table slots than parameters. The default -q-table slots are 0 for luminance and 1 for chrominance with default tables as -given in the JPEG standard. This is compatible with the old behaviour in case -that only one parameter is given, which is then used for both luminance and -chrominance (slots 0 and 1). More or custom quantization tables can be set -with -.B \-qtables -and assigned to components with -.B \-qslots -parameter (see the "wizard" switches below). -.B Caution: -You must explicitely add -.BI \-sample " 1x1" -for efficient separate color -quality selection, since the default value used by library is 2x2! -.PP -The -.B \-progressive -switch creates a "progressive JPEG" file. In this type of JPEG file, the data -is stored in multiple scans of increasing quality. If the file is being -transmitted over a slow communications link, the decoder can use the first -scan to display a low-quality image very quickly, and can then improve the -display with each subsequent scan. The final image is exactly equivalent to a -standard JPEG file of the same quality setting, and the total file size is -about the same --- often a little smaller. -.PP -Switches for advanced users: -.TP -.B \-dct int -Use integer DCT method (default). -.TP -.B \-dct fast -Use fast integer DCT (less accurate). -.TP -.B \-dct float -Use floating-point DCT method. -The float method is very slightly more accurate than the int method, but is -much slower unless your machine has very fast floating-point hardware. Also -note that results of the floating-point method may vary slightly across -machines, while the integer methods should give the same results everywhere. -The fast integer method is much less accurate than the other two. -.TP -.B \-nosmooth -Don't use high-quality downsampling. -.TP -.BI \-restart " N" -Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is -attached to the number. -.B \-restart 0 -(the default) means no restart markers. -.TP -.BI \-smooth " N" -Smooth the input image to eliminate dithering noise. N, ranging from 1 to -100, indicates the strength of smoothing. 0 (the default) means no smoothing. -.TP -.BI \-maxmemory " N" -Set limit for amount of memory to use in processing large images. Value is -in thousands of bytes, or millions of bytes if "M" is attached to the -number. For example, -.B \-max 4m -selects 4000000 bytes. If more space is needed, temporary files will be used. -.TP -.BI \-outfile " name" -Send output image to the named file, not to standard output. -.TP -.B \-verbose -Enable debug printout. More -.BR \-v 's -give more output. Also, version information is printed at startup. -.TP -.B \-debug -Same as -.BR \-verbose . -.PP -The -.B \-restart -option inserts extra markers that allow a JPEG decoder to resynchronize after -a transmission error. Without restart markers, any damage to a compressed -file will usually ruin the image from the point of the error to the end of the -image; with restart markers, the damage is usually confined to the portion of -the image up to the next restart marker. Of course, the restart markers -occupy extra space. We recommend -.B \-restart 1 -for images that will be transmitted across unreliable networks such as Usenet. -.PP -The -.B \-smooth -option filters the input to eliminate fine-scale noise. This is often useful -when converting dithered images to JPEG: a moderate smoothing factor of 10 to -50 gets rid of dithering patterns in the input file, resulting in a smaller -JPEG file and a better-looking image. Too large a smoothing factor will -visibly blur the image, however. -.PP -Switches for wizards: -.TP -.B \-arithmetic -Use arithmetic coding. -.B Caution: -arithmetic coded JPEG is not yet widely implemented, so many decoders will be -unable to view an arithmetic coded JPEG file at all. -.TP -.B \-baseline -Force baseline-compatible quantization tables to be generated. This clamps -quantization values to 8 bits even at low quality settings. (This switch is -poorly named, since it does not ensure that the output is actually baseline -JPEG. For example, you can use -.B \-baseline -and -.B \-progressive -together.) -.TP -.BI \-qtables " file" -Use the quantization tables given in the specified text file. -.TP -.BI \-qslots " N[,...]" -Select which quantization table to use for each color component. -.TP -.BI \-sample " HxV[,...]" -Set JPEG sampling factors for each color component. -.TP -.BI \-scans " file" -Use the scan script given in the specified text file. -.PP -The "wizard" switches are intended for experimentation with JPEG. If you -don't know what you are doing, \fBdon't use them\fR. These switches are -documented further in the file wizard.txt. -.SH EXAMPLES -.LP -This example compresses the PPM file foo.ppm with a quality factor of -60 and saves the output as foo.jpg: -.IP -.B cjpeg \-quality -.I 60 foo.ppm -.B > -.I foo.jpg -.SH HINTS -Color GIF files are not the ideal input for JPEG; JPEG is really intended for -compressing full-color (24-bit) images. In particular, don't try to convert -cartoons, line drawings, and other images that have only a few distinct -colors. GIF works great on these, JPEG does not. If you want to convert a -GIF to JPEG, you should experiment with -.BR cjpeg 's -.B \-quality -and -.B \-smooth -options to get a satisfactory conversion. -.B \-smooth 10 -or so is often helpful. -.PP -Avoid running an image through a series of JPEG compression/decompression -cycles. Image quality loss will accumulate; after ten or so cycles the image -may be noticeably worse than it was after one cycle. It's best to use a -lossless format while manipulating an image, then convert to JPEG format when -you are ready to file the image away. -.PP -The -.B \-optimize -option to -.B cjpeg -is worth using when you are making a "final" version for posting or archiving. -It's also a win when you are using low quality settings to make very small -JPEG files; the percentage improvement is often a lot more than it is on -larger files. (At present, -.B \-optimize -mode is always selected when generating progressive JPEG files.) -.SH ENVIRONMENT -.TP -.B JPEGMEM -If this environment variable is set, its value is the default memory limit. -The value is specified as described for the -.B \-maxmemory -switch. -.B JPEGMEM -overrides the default value specified when the program was compiled, and -itself is overridden by an explicit -.BR \-maxmemory . -.SH SEE ALSO -.BR djpeg (1), -.BR jpegtran (1), -.BR rdjpgcom (1), -.BR wrjpgcom (1) -.br -.BR ppm (5), -.BR pgm (5) -.br -Wallace, Gregory K. "The JPEG Still Picture Compression Standard", -Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -.SH AUTHOR -Independent JPEG Group -.SH BUGS -GIF input files are no longer supported, to avoid the Unisys LZW patent. -(Conversion of GIF files to JPEG is usually a bad idea anyway.) -.PP -Not all variants of BMP and Targa file formats are supported. -.PP -The -.B \-targa -switch is not a bug, it's a feature. (It would be a bug if the Targa format -designers had not been clueless.) \ No newline at end of file diff --git a/3rdparty/openctm/tools/jpeg/cjpeg.c b/3rdparty/openctm/tools/jpeg/cjpeg.c deleted file mode 100644 index 8acd3025d..000000000 --- a/3rdparty/openctm/tools/jpeg/cjpeg.c +++ /dev/null @@ -1,616 +0,0 @@ -/* - * cjpeg.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modified 2003-2008 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a command-line user interface for the JPEG compressor. - * It should work on any system with Unix- or MS-DOS-style command lines. - * - * Two different command line styles are permitted, depending on the - * compile-time switch TWO_FILE_COMMANDLINE: - * cjpeg [options] inputfile outputfile - * cjpeg [options] [inputfile] - * In the second style, output is always to standard output, which you'd - * normally redirect to a file or pipe to some other program. Input is - * either from a named file or from standard input (typically redirected). - * The second style is convenient on Unix but is unhelpful on systems that - * don't support pipes. Also, you MUST use the first style if your system - * doesn't do binary I/O to stdin/stdout. - * To simplify script writing, the "-outfile" switch is provided. The syntax - * cjpeg [options] -outfile outputfile inputfile - * works regardless of which command line style is used. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ -#include "jversion.h" /* for version message */ - -#ifdef USE_CCOMMAND /* command-line reader for Macintosh */ -#ifdef __MWERKS__ -#include /* Metrowerks needs this */ -#include /* ... and this */ -#endif -#ifdef THINK_C -#include /* Think declares it here */ -#endif -#endif - - -/* Create the add-on message string table. */ - -#define JMESSAGE(code,string) string , - -static const char * const cdjpeg_message_table[] = { -#include "cderror.h" - NULL -}; - - -/* - * This routine determines what format the input file is, - * and selects the appropriate input-reading module. - * - * To determine which family of input formats the file belongs to, - * we may look only at the first byte of the file, since C does not - * guarantee that more than one character can be pushed back with ungetc. - * Looking at additional bytes would require one of these approaches: - * 1) assume we can fseek() the input file (fails for piped input); - * 2) assume we can push back more than one character (works in - * some C implementations, but unportable); - * 3) provide our own buffering (breaks input readers that want to use - * stdio directly, such as the RLE library); - * or 4) don't put back the data, and modify the input_init methods to assume - * they start reading after the start of file (also breaks RLE library). - * #1 is attractive for MS-DOS but is untenable on Unix. - * - * The most portable solution for file types that can't be identified by their - * first byte is to make the user tell us what they are. This is also the - * only approach for "raw" file types that contain only arbitrary values. - * We presently apply this method for Targa files. Most of the time Targa - * files start with 0x00, so we recognize that case. Potentially, however, - * a Targa file could start with any byte value (byte 0 is the length of the - * seldom-used ID field), so we provide a switch to force Targa input mode. - */ - -static boolean is_targa; /* records user -targa switch */ - - -LOCAL(cjpeg_source_ptr) -select_file_type (j_compress_ptr cinfo, FILE * infile) -{ - int c; - - if (is_targa) { -#ifdef TARGA_SUPPORTED - return jinit_read_targa(cinfo); -#else - ERREXIT(cinfo, JERR_TGA_NOTCOMP); -#endif - } - - if ((c = getc(infile)) == EOF) - ERREXIT(cinfo, JERR_INPUT_EMPTY); - if (ungetc(c, infile) == EOF) - ERREXIT(cinfo, JERR_UNGETC_FAILED); - - switch (c) { -#ifdef BMP_SUPPORTED - case 'B': - return jinit_read_bmp(cinfo); -#endif -#ifdef GIF_SUPPORTED - case 'G': - return jinit_read_gif(cinfo); -#endif -#ifdef PPM_SUPPORTED - case 'P': - return jinit_read_ppm(cinfo); -#endif -#ifdef RLE_SUPPORTED - case 'R': - return jinit_read_rle(cinfo); -#endif -#ifdef TARGA_SUPPORTED - case 0x00: - return jinit_read_targa(cinfo); -#endif - default: - ERREXIT(cinfo, JERR_UNKNOWN_FORMAT); - break; - } - - return NULL; /* suppress compiler warnings */ -} - - -/* - * Argument-parsing code. - * The switch parser is designed to be useful with DOS-style command line - * syntax, ie, intermixed switches and file names, where only the switches - * to the left of a given file name affect processing of that file. - * The main program in this file doesn't actually use this capability... - */ - - -static const char * progname; /* program name for error messages */ -static char * outfilename; /* for -outfile switch */ - - -LOCAL(void) -usage (void) -/* complain about bad command line */ -{ - fprintf(stderr, "usage: %s [switches] ", progname); -#ifdef TWO_FILE_COMMANDLINE - fprintf(stderr, "inputfile outputfile\n"); -#else - fprintf(stderr, "[inputfile]\n"); -#endif - - fprintf(stderr, "Switches (names may be abbreviated):\n"); - fprintf(stderr, " -quality N[,...] Compression quality (0..100; 5-95 is useful range)\n"); - fprintf(stderr, " -grayscale Create monochrome JPEG file\n"); -#ifdef ENTROPY_OPT_SUPPORTED - fprintf(stderr, " -optimize Optimize Huffman table (smaller file, but slow compression)\n"); -#endif -#ifdef C_PROGRESSIVE_SUPPORTED - fprintf(stderr, " -progressive Create progressive JPEG file\n"); -#endif -#ifdef DCT_SCALING_SUPPORTED - fprintf(stderr, " -scale M/N Scale image by fraction M/N, eg, 1/2\n"); -#endif -#ifdef TARGA_SUPPORTED - fprintf(stderr, " -targa Input file is Targa format (usually not needed)\n"); -#endif - fprintf(stderr, "Switches for advanced users:\n"); -#ifdef DCT_ISLOW_SUPPORTED - fprintf(stderr, " -dct int Use integer DCT method%s\n", - (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); -#endif -#ifdef DCT_IFAST_SUPPORTED - fprintf(stderr, " -dct fast Use fast integer DCT (less accurate)%s\n", - (JDCT_DEFAULT == JDCT_IFAST ? " (default)" : "")); -#endif -#ifdef DCT_FLOAT_SUPPORTED - fprintf(stderr, " -dct float Use floating-point DCT method%s\n", - (JDCT_DEFAULT == JDCT_FLOAT ? " (default)" : "")); -#endif - fprintf(stderr, " -nosmooth Don't use high-quality downsampling\n"); - fprintf(stderr, " -restart N Set restart interval in rows, or in blocks with B\n"); -#ifdef INPUT_SMOOTHING_SUPPORTED - fprintf(stderr, " -smooth N Smooth dithered input (N=1..100 is strength)\n"); -#endif - fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); - fprintf(stderr, " -outfile name Specify name for output file\n"); - fprintf(stderr, " -verbose or -debug Emit debug output\n"); - fprintf(stderr, "Switches for wizards:\n"); -#ifdef C_ARITH_CODING_SUPPORTED - fprintf(stderr, " -arithmetic Use arithmetic coding\n"); -#endif - fprintf(stderr, " -baseline Force baseline quantization tables\n"); - fprintf(stderr, " -qtables file Use quantization tables given in file\n"); - fprintf(stderr, " -qslots N[,...] Set component quantization tables\n"); - fprintf(stderr, " -sample HxV[,...] Set component sampling factors\n"); -#ifdef C_MULTISCAN_FILES_SUPPORTED - fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); -#endif - exit(EXIT_FAILURE); -} - - -LOCAL(int) -parse_switches (j_compress_ptr cinfo, int argc, char **argv, - int last_file_arg_seen, boolean for_real) -/* Parse optional switches. - * Returns argv[] index of first file-name argument (== argc if none). - * Any file names with indexes <= last_file_arg_seen are ignored; - * they have presumably been processed in a previous iteration. - * (Pass 0 for last_file_arg_seen on the first or only iteration.) - * for_real is FALSE on the first (dummy) pass; we may skip any expensive - * processing. - */ -{ - int argn; - char * arg; - boolean force_baseline; - boolean simple_progressive; - char * qualityarg = NULL; /* saves -quality parm if any */ - char * qtablefile = NULL; /* saves -qtables filename if any */ - char * qslotsarg = NULL; /* saves -qslots parm if any */ - char * samplearg = NULL; /* saves -sample parm if any */ - char * scansarg = NULL; /* saves -scans parm if any */ - - /* Set up default JPEG parameters. */ - - force_baseline = FALSE; /* by default, allow 16-bit quantizers */ - simple_progressive = FALSE; - is_targa = FALSE; - outfilename = NULL; - cinfo->err->trace_level = 0; - - /* Scan command line options, adjust parameters */ - - for (argn = 1; argn < argc; argn++) { - arg = argv[argn]; - if (*arg != '-') { - /* Not a switch, must be a file name argument */ - if (argn <= last_file_arg_seen) { - outfilename = NULL; /* -outfile applies to just one input file */ - continue; /* ignore this name if previously processed */ - } - break; /* else done parsing switches */ - } - arg++; /* advance past switch marker character */ - - if (keymatch(arg, "arithmetic", 1)) { - /* Use arithmetic coding. */ -#ifdef C_ARITH_CODING_SUPPORTED - cinfo->arith_code = TRUE; -#else - fprintf(stderr, "%s: sorry, arithmetic coding not supported\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "baseline", 1)) { - /* Force baseline-compatible output (8-bit quantizer values). */ - force_baseline = TRUE; - - } else if (keymatch(arg, "dct", 2)) { - /* Select DCT algorithm. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "int", 1)) { - cinfo->dct_method = JDCT_ISLOW; - } else if (keymatch(argv[argn], "fast", 2)) { - cinfo->dct_method = JDCT_IFAST; - } else if (keymatch(argv[argn], "float", 2)) { - cinfo->dct_method = JDCT_FLOAT; - } else - usage(); - - } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { - /* Enable debug printouts. */ - /* On first -d, print version identification */ - static boolean printed_version = FALSE; - - if (! printed_version) { - fprintf(stderr, "Independent JPEG Group's CJPEG, version %s\n%s\n", - JVERSION, JCOPYRIGHT); - printed_version = TRUE; - } - cinfo->err->trace_level++; - - } else if (keymatch(arg, "grayscale", 2) || keymatch(arg, "greyscale",2)) { - /* Force a monochrome JPEG file to be generated. */ - jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); - - } else if (keymatch(arg, "maxmemory", 3)) { - /* Maximum memory in Kb (or Mb with 'm'). */ - long lval; - char ch = 'x'; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1) - usage(); - if (ch == 'm' || ch == 'M') - lval *= 1000L; - cinfo->mem->max_memory_to_use = lval * 1000L; - - } else if (keymatch(arg, "nosmooth", 3)) { - /* Suppress fancy downsampling */ - cinfo->do_fancy_downsampling = FALSE; - - } else if (keymatch(arg, "optimize", 1) || keymatch(arg, "optimise", 1)) { - /* Enable entropy parm optimization. */ -#ifdef ENTROPY_OPT_SUPPORTED - cinfo->optimize_coding = TRUE; -#else - fprintf(stderr, "%s: sorry, entropy optimization was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "outfile", 4)) { - /* Set output file name. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - outfilename = argv[argn]; /* save it away for later use */ - - } else if (keymatch(arg, "progressive", 1)) { - /* Select simple progressive mode. */ -#ifdef C_PROGRESSIVE_SUPPORTED - simple_progressive = TRUE; - /* We must postpone execution until num_components is known. */ -#else - fprintf(stderr, "%s: sorry, progressive output was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "quality", 1)) { - /* Quality ratings (quantization table scaling factors). */ - if (++argn >= argc) /* advance to next argument */ - usage(); - qualityarg = argv[argn]; - - } else if (keymatch(arg, "qslots", 2)) { - /* Quantization table slot numbers. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - qslotsarg = argv[argn]; - /* Must delay setting qslots until after we have processed any - * colorspace-determining switches, since jpeg_set_colorspace sets - * default quant table numbers. - */ - - } else if (keymatch(arg, "qtables", 2)) { - /* Quantization tables fetched from file. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - qtablefile = argv[argn]; - /* We postpone actually reading the file in case -quality comes later. */ - - } else if (keymatch(arg, "restart", 1)) { - /* Restart interval in MCU rows (or in MCUs with 'b'). */ - long lval; - char ch = 'x'; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1) - usage(); - if (lval < 0 || lval > 65535L) - usage(); - if (ch == 'b' || ch == 'B') { - cinfo->restart_interval = (unsigned int) lval; - cinfo->restart_in_rows = 0; /* else prior '-restart n' overrides me */ - } else { - cinfo->restart_in_rows = (int) lval; - /* restart_interval will be computed during startup */ - } - - } else if (keymatch(arg, "sample", 2)) { - /* Set sampling factors. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - samplearg = argv[argn]; - /* Must delay setting sample factors until after we have processed any - * colorspace-determining switches, since jpeg_set_colorspace sets - * default sampling factors. - */ - - } else if (keymatch(arg, "scale", 4)) { - /* Scale the image by a fraction M/N. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%d/%d", - &cinfo->scale_num, &cinfo->scale_denom) != 2) - usage(); - - } else if (keymatch(arg, "scans", 4)) { - /* Set scan script. */ -#ifdef C_MULTISCAN_FILES_SUPPORTED - if (++argn >= argc) /* advance to next argument */ - usage(); - scansarg = argv[argn]; - /* We must postpone reading the file in case -progressive appears. */ -#else - fprintf(stderr, "%s: sorry, multi-scan output was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "smooth", 2)) { - /* Set input smoothing factor. */ - int val; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%d", &val) != 1) - usage(); - if (val < 0 || val > 100) - usage(); - cinfo->smoothing_factor = val; - - } else if (keymatch(arg, "targa", 1)) { - /* Input file is Targa format. */ - is_targa = TRUE; - - } else { - usage(); /* bogus switch */ - } - } - - /* Post-switch-scanning cleanup */ - - if (for_real) { - - /* Set quantization tables for selected quality. */ - /* Some or all may be overridden if -qtables is present. */ - if (qualityarg != NULL) /* process -quality if it was present */ - if (! set_quality_ratings(cinfo, qualityarg, force_baseline)) - usage(); - - if (qtablefile != NULL) /* process -qtables if it was present */ - if (! read_quant_tables(cinfo, qtablefile, force_baseline)) - usage(); - - if (qslotsarg != NULL) /* process -qslots if it was present */ - if (! set_quant_slots(cinfo, qslotsarg)) - usage(); - - if (samplearg != NULL) /* process -sample if it was present */ - if (! set_sample_factors(cinfo, samplearg)) - usage(); - -#ifdef C_PROGRESSIVE_SUPPORTED - if (simple_progressive) /* process -progressive; -scans can override */ - jpeg_simple_progression(cinfo); -#endif - -#ifdef C_MULTISCAN_FILES_SUPPORTED - if (scansarg != NULL) /* process -scans if it was present */ - if (! read_scan_script(cinfo, scansarg)) - usage(); -#endif - } - - return argn; /* return index of next arg (file name) */ -} - - -/* - * The main program. - */ - -int -main (int argc, char **argv) -{ - struct jpeg_compress_struct cinfo; - struct jpeg_error_mgr jerr; -#ifdef PROGRESS_REPORT - struct cdjpeg_progress_mgr progress; -#endif - int file_index; - cjpeg_source_ptr src_mgr; - FILE * input_file; - FILE * output_file; - JDIMENSION num_scanlines; - - /* On Mac, fetch a command line. */ -#ifdef USE_CCOMMAND - argc = ccommand(&argv); -#endif - - progname = argv[0]; - if (progname == NULL || progname[0] == 0) - progname = "cjpeg"; /* in case C library doesn't provide it */ - - /* Initialize the JPEG compression object with default error handling. */ - cinfo.err = jpeg_std_error(&jerr); - jpeg_create_compress(&cinfo); - /* Add some application-specific error messages (from cderror.h) */ - jerr.addon_message_table = cdjpeg_message_table; - jerr.first_addon_message = JMSG_FIRSTADDONCODE; - jerr.last_addon_message = JMSG_LASTADDONCODE; - - /* Now safe to enable signal catcher. */ -#ifdef NEED_SIGNAL_CATCHER - enable_signal_catcher((j_common_ptr) &cinfo); -#endif - - /* Initialize JPEG parameters. - * Much of this may be overridden later. - * In particular, we don't yet know the input file's color space, - * but we need to provide some value for jpeg_set_defaults() to work. - */ - - cinfo.in_color_space = JCS_RGB; /* arbitrary guess */ - jpeg_set_defaults(&cinfo); - - /* Scan command line to find file names. - * It is convenient to use just one switch-parsing routine, but the switch - * values read here are ignored; we will rescan the switches after opening - * the input file. - */ - - file_index = parse_switches(&cinfo, argc, argv, 0, FALSE); - -#ifdef TWO_FILE_COMMANDLINE - /* Must have either -outfile switch or explicit output file name */ - if (outfilename == NULL) { - if (file_index != argc-2) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - outfilename = argv[file_index+1]; - } else { - if (file_index != argc-1) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - } -#else - /* Unix style: expect zero or one file name */ - if (file_index < argc-1) { - fprintf(stderr, "%s: only one input file\n", progname); - usage(); - } -#endif /* TWO_FILE_COMMANDLINE */ - - /* Open the input file. */ - if (file_index < argc) { - if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]); - exit(EXIT_FAILURE); - } - } else { - /* default input file is stdin */ - input_file = read_stdin(); - } - - /* Open the output file. */ - if (outfilename != NULL) { - if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, outfilename); - exit(EXIT_FAILURE); - } - } else { - /* default output file is stdout */ - output_file = write_stdout(); - } - -#ifdef PROGRESS_REPORT - start_progress_monitor((j_common_ptr) &cinfo, &progress); -#endif - - /* Figure out the input file format, and set up to read it. */ - src_mgr = select_file_type(&cinfo, input_file); - src_mgr->input_file = input_file; - - /* Read the input file header to obtain file size & colorspace. */ - (*src_mgr->start_input) (&cinfo, src_mgr); - - /* Now that we know input colorspace, fix colorspace-dependent defaults */ - jpeg_default_colorspace(&cinfo); - - /* Adjust default compression parameters by re-parsing the options */ - file_index = parse_switches(&cinfo, argc, argv, 0, TRUE); - - /* Specify data destination for compression */ - jpeg_stdio_dest(&cinfo, output_file); - - /* Start compressor */ - jpeg_start_compress(&cinfo, TRUE); - - /* Process data */ - while (cinfo.next_scanline < cinfo.image_height) { - num_scanlines = (*src_mgr->get_pixel_rows) (&cinfo, src_mgr); - (void) jpeg_write_scanlines(&cinfo, src_mgr->buffer, num_scanlines); - } - - /* Finish compression and release memory */ - (*src_mgr->finish_input) (&cinfo, src_mgr); - jpeg_finish_compress(&cinfo); - jpeg_destroy_compress(&cinfo); - - /* Close files, if we opened them */ - if (input_file != stdin) - fclose(input_file); - if (output_file != stdout) - fclose(output_file); - -#ifdef PROGRESS_REPORT - end_progress_monitor((j_common_ptr) &cinfo); -#endif - - /* All done. */ - exit(jerr.num_warnings ? EXIT_WARNING : EXIT_SUCCESS); - return 0; /* suppress no-return-value warnings */ -} diff --git a/3rdparty/openctm/tools/jpeg/ckconfig.c b/3rdparty/openctm/tools/jpeg/ckconfig.c deleted file mode 100644 index fb9429af0..000000000 --- a/3rdparty/openctm/tools/jpeg/ckconfig.c +++ /dev/null @@ -1,402 +0,0 @@ -/* - * ckconfig.c - * - * Copyright (C) 1991-1994, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - */ - -/* - * This program is intended to help you determine how to configure the JPEG - * software for installation on a particular system. The idea is to try to - * compile and execute this program. If your compiler fails to compile the - * program, make changes as indicated in the comments below. Once you can - * compile the program, run it, and it will produce a "jconfig.h" file for - * your system. - * - * As a general rule, each time you try to compile this program, - * pay attention only to the *first* error message you get from the compiler. - * Many C compilers will issue lots of spurious error messages once they - * have gotten confused. Go to the line indicated in the first error message, - * and read the comments preceding that line to see what to change. - * - * Almost all of the edits you may need to make to this program consist of - * changing a line that reads "#define SOME_SYMBOL" to "#undef SOME_SYMBOL", - * or vice versa. This is called defining or undefining that symbol. - */ - - -/* First we must see if your system has the include files we need. - * We start out with the assumption that your system has all the ANSI-standard - * include files. If you get any error trying to include one of these files, - * undefine the corresponding HAVE_xxx symbol. - */ - -#define HAVE_STDDEF_H /* replace 'define' by 'undef' if error here */ -#ifdef HAVE_STDDEF_H /* next line will be skipped if you undef... */ -#include -#endif - -#define HAVE_STDLIB_H /* same thing for stdlib.h */ -#ifdef HAVE_STDLIB_H -#include -#endif - -#include /* If you ain't got this, you ain't got C. */ - -/* We have to see if your string functions are defined by - * strings.h (old BSD convention) or string.h (everybody else). - * We try the non-BSD convention first; define NEED_BSD_STRINGS - * if the compiler says it can't find string.h. - */ - -#undef NEED_BSD_STRINGS - -#ifdef NEED_BSD_STRINGS -#include -#else -#include -#endif - -/* On some systems (especially older Unix machines), type size_t is - * defined only in the include file . If you get a failure - * on the size_t test below, try defining NEED_SYS_TYPES_H. - */ - -#undef NEED_SYS_TYPES_H /* start by assuming we don't need it */ -#ifdef NEED_SYS_TYPES_H -#include -#endif - - -/* Usually type size_t is defined in one of the include files we've included - * above. If not, you'll get an error on the "typedef size_t my_size_t;" line. - * In that case, first try defining NEED_SYS_TYPES_H just above. - * If that doesn't work, you'll have to search through your system library - * to figure out which include file defines "size_t". Look for a line that - * says "typedef something-or-other size_t;". Then, change the line below - * that says "#include " to instead include the file - * you found size_t in, and define NEED_SPECIAL_INCLUDE. If you can't find - * type size_t anywhere, try replacing "#include " with - * "typedef unsigned int size_t;". - */ - -#undef NEED_SPECIAL_INCLUDE /* assume we DON'T need it, for starters */ - -#ifdef NEED_SPECIAL_INCLUDE -#include -#endif - -typedef size_t my_size_t; /* The payoff: do we have size_t now? */ - - -/* The next question is whether your compiler supports ANSI-style function - * prototypes. You need to know this in order to choose between using - * makefile.ansi and using makefile.unix. - * The #define line below is set to assume you have ANSI function prototypes. - * If you get an error in this group of lines, undefine HAVE_PROTOTYPES. - */ - -#define HAVE_PROTOTYPES - -#ifdef HAVE_PROTOTYPES -int testfunction (int arg1, int * arg2); /* check prototypes */ - -struct methods_struct { /* check method-pointer declarations */ - int (*error_exit) (char *msgtext); - int (*trace_message) (char *msgtext); - int (*another_method) (void); -}; - -int testfunction (int arg1, int * arg2) /* check definitions */ -{ - return arg2[arg1]; -} - -int test2function (void) /* check void arg list */ -{ - return 0; -} -#endif - - -/* Now we want to find out if your compiler knows what "unsigned char" means. - * If you get an error on the "unsigned char un_char;" line, - * then undefine HAVE_UNSIGNED_CHAR. - */ - -#define HAVE_UNSIGNED_CHAR - -#ifdef HAVE_UNSIGNED_CHAR -unsigned char un_char; -#endif - - -/* Now we want to find out if your compiler knows what "unsigned short" means. - * If you get an error on the "unsigned short un_short;" line, - * then undefine HAVE_UNSIGNED_SHORT. - */ - -#define HAVE_UNSIGNED_SHORT - -#ifdef HAVE_UNSIGNED_SHORT -unsigned short un_short; -#endif - - -/* Now we want to find out if your compiler understands type "void". - * If you get an error anywhere in here, undefine HAVE_VOID. - */ - -#define HAVE_VOID - -#ifdef HAVE_VOID -/* Caution: a C++ compiler will insist on complete prototypes */ -typedef void * void_ptr; /* check void * */ -#ifdef HAVE_PROTOTYPES /* check ptr to function returning void */ -typedef void (*void_func) (int a, int b); -#else -typedef void (*void_func) (); -#endif - -#ifdef HAVE_PROTOTYPES /* check void function result */ -void test3function (void_ptr arg1, void_func arg2) -#else -void test3function (arg1, arg2) - void_ptr arg1; - void_func arg2; -#endif -{ - char * locptr = (char *) arg1; /* check casting to and from void * */ - arg1 = (void *) locptr; - (*arg2) (1, 2); /* check call of fcn returning void */ -} -#endif - - -/* Now we want to find out if your compiler knows what "const" means. - * If you get an error here, undefine HAVE_CONST. - */ - -#define HAVE_CONST - -#ifdef HAVE_CONST -static const int carray[3] = {1, 2, 3}; - -#ifdef HAVE_PROTOTYPES -int test4function (const int arg1) -#else -int test4function (arg1) - const int arg1; -#endif -{ - return carray[arg1]; -} -#endif - - -/* If you get an error or warning about this structure definition, - * define INCOMPLETE_TYPES_BROKEN. - */ - -#undef INCOMPLETE_TYPES_BROKEN - -#ifndef INCOMPLETE_TYPES_BROKEN -typedef struct undefined_structure * undef_struct_ptr; -#endif - - -/* If you get an error about duplicate names, - * define NEED_SHORT_EXTERNAL_NAMES. - */ - -#undef NEED_SHORT_EXTERNAL_NAMES - -#ifndef NEED_SHORT_EXTERNAL_NAMES - -int possibly_duplicate_function () -{ - return 0; -} - -int possibly_dupli_function () -{ - return 1; -} - -#endif - - - -/************************************************************************ - * OK, that's it. You should not have to change anything beyond this - * point in order to compile and execute this program. (You might get - * some warnings, but you can ignore them.) - * When you run the program, it will make a couple more tests that it - * can do automatically, and then it will create jconfig.h and print out - * any additional suggestions it has. - ************************************************************************ - */ - - -#ifdef HAVE_PROTOTYPES -int is_char_signed (int arg) -#else -int is_char_signed (arg) - int arg; -#endif -{ - if (arg == 189) { /* expected result for unsigned char */ - return 0; /* type char is unsigned */ - } - else if (arg != -67) { /* expected result for signed char */ - printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - } - return 1; /* assume char is signed otherwise */ -} - - -#ifdef HAVE_PROTOTYPES -int is_shifting_signed (long arg) -#else -int is_shifting_signed (arg) - long arg; -#endif -/* See whether right-shift on a long is signed or not. */ -{ - long res = arg >> 4; - - if (res == -0x7F7E80CL) { /* expected result for signed shift */ - return 1; /* right shift is signed */ - } - /* see if unsigned-shift hack will fix it. */ - /* we can't just test exact value since it depends on width of long... */ - res |= (~0L) << (32-4); - if (res == -0x7F7E80CL) { /* expected result now? */ - return 0; /* right shift is unsigned */ - } - printf("Right shift isn't acting as I expect it to.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - return 0; /* try it with unsigned anyway */ -} - - -#ifdef HAVE_PROTOTYPES -int main (int argc, char ** argv) -#else -int main (argc, argv) - int argc; - char ** argv; -#endif -{ - char signed_char_check = (char) (-67); - FILE *outfile; - - /* Attempt to write jconfig.h */ - if ((outfile = fopen("jconfig.h", "w")) == NULL) { - printf("Failed to write jconfig.h\n"); - return 1; - } - - /* Write out all the info */ - fprintf(outfile, "/* jconfig.h --- generated by ckconfig.c */\n"); - fprintf(outfile, "/* see jconfig.txt for explanations */\n\n"); -#ifdef HAVE_PROTOTYPES - fprintf(outfile, "#define HAVE_PROTOTYPES\n"); -#else - fprintf(outfile, "#undef HAVE_PROTOTYPES\n"); -#endif -#ifdef HAVE_UNSIGNED_CHAR - fprintf(outfile, "#define HAVE_UNSIGNED_CHAR\n"); -#else - fprintf(outfile, "#undef HAVE_UNSIGNED_CHAR\n"); -#endif -#ifdef HAVE_UNSIGNED_SHORT - fprintf(outfile, "#define HAVE_UNSIGNED_SHORT\n"); -#else - fprintf(outfile, "#undef HAVE_UNSIGNED_SHORT\n"); -#endif -#ifdef HAVE_VOID - fprintf(outfile, "/* #define void char */\n"); -#else - fprintf(outfile, "#define void char\n"); -#endif -#ifdef HAVE_CONST - fprintf(outfile, "/* #define const */\n"); -#else - fprintf(outfile, "#define const\n"); -#endif - if (is_char_signed((int) signed_char_check)) - fprintf(outfile, "#undef CHAR_IS_UNSIGNED\n"); - else - fprintf(outfile, "#define CHAR_IS_UNSIGNED\n"); -#ifdef HAVE_STDDEF_H - fprintf(outfile, "#define HAVE_STDDEF_H\n"); -#else - fprintf(outfile, "#undef HAVE_STDDEF_H\n"); -#endif -#ifdef HAVE_STDLIB_H - fprintf(outfile, "#define HAVE_STDLIB_H\n"); -#else - fprintf(outfile, "#undef HAVE_STDLIB_H\n"); -#endif -#ifdef NEED_BSD_STRINGS - fprintf(outfile, "#define NEED_BSD_STRINGS\n"); -#else - fprintf(outfile, "#undef NEED_BSD_STRINGS\n"); -#endif -#ifdef NEED_SYS_TYPES_H - fprintf(outfile, "#define NEED_SYS_TYPES_H\n"); -#else - fprintf(outfile, "#undef NEED_SYS_TYPES_H\n"); -#endif - fprintf(outfile, "#undef NEED_FAR_POINTERS\n"); -#ifdef NEED_SHORT_EXTERNAL_NAMES - fprintf(outfile, "#define NEED_SHORT_EXTERNAL_NAMES\n"); -#else - fprintf(outfile, "#undef NEED_SHORT_EXTERNAL_NAMES\n"); -#endif -#ifdef INCOMPLETE_TYPES_BROKEN - fprintf(outfile, "#define INCOMPLETE_TYPES_BROKEN\n"); -#else - fprintf(outfile, "#undef INCOMPLETE_TYPES_BROKEN\n"); -#endif - fprintf(outfile, "\n#ifdef JPEG_INTERNALS\n\n"); - if (is_shifting_signed(-0x7F7E80B1L)) - fprintf(outfile, "#undef RIGHT_SHIFT_IS_UNSIGNED\n"); - else - fprintf(outfile, "#define RIGHT_SHIFT_IS_UNSIGNED\n"); - fprintf(outfile, "\n#endif /* JPEG_INTERNALS */\n"); - fprintf(outfile, "\n#ifdef JPEG_CJPEG_DJPEG\n\n"); - fprintf(outfile, "#define BMP_SUPPORTED /* BMP image file format */\n"); - fprintf(outfile, "#define GIF_SUPPORTED /* GIF image file format */\n"); - fprintf(outfile, "#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */\n"); - fprintf(outfile, "#undef RLE_SUPPORTED /* Utah RLE image file format */\n"); - fprintf(outfile, "#define TARGA_SUPPORTED /* Targa image file format */\n\n"); - fprintf(outfile, "#undef TWO_FILE_COMMANDLINE /* You may need this on non-Unix systems */\n"); - fprintf(outfile, "#undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */\n"); - fprintf(outfile, "#undef DONT_USE_B_MODE\n"); - fprintf(outfile, "/* #define PROGRESS_REPORT */ /* optional */\n"); - fprintf(outfile, "\n#endif /* JPEG_CJPEG_DJPEG */\n"); - - /* Close the jconfig.h file */ - fclose(outfile); - - /* User report */ - printf("Configuration check for Independent JPEG Group's software done.\n"); - printf("\nI have written the jconfig.h file for you.\n\n"); -#ifdef HAVE_PROTOTYPES - printf("You should use makefile.ansi as the starting point for your Makefile.\n"); -#else - printf("You should use makefile.unix as the starting point for your Makefile.\n"); -#endif - -#ifdef NEED_SPECIAL_INCLUDE - printf("\nYou'll need to change jconfig.h to include the system include file\n"); - printf("that you found type size_t in, or add a direct definition of type\n"); - printf("size_t if that's what you used. Just add it to the end.\n"); -#endif - - return 0; -} diff --git a/3rdparty/openctm/tools/jpeg/coderules.txt b/3rdparty/openctm/tools/jpeg/coderules.txt deleted file mode 100644 index 382efad3a..000000000 --- a/3rdparty/openctm/tools/jpeg/coderules.txt +++ /dev/null @@ -1,118 +0,0 @@ -IJG JPEG LIBRARY: CODING RULES - -Copyright (C) 1991-1996, Thomas G. Lane. -This file is part of the Independent JPEG Group's software. -For conditions of distribution and use, see the accompanying README file. - - -Since numerous people will be contributing code and bug fixes, it's important -to establish a common coding style. The goal of using similar coding styles -is much more important than the details of just what that style is. - -In general we follow the recommendations of "Recommended C Style and Coding -Standards" revision 6.1 (Cannon et al. as modified by Spencer, Keppel and -Brader). This document is available in the IJG FTP archive (see -jpeg/doc/cstyle.ms.tbl.Z, or cstyle.txt.Z for those without nroff/tbl). - -Block comments should be laid out thusly: - -/* - * Block comments in this style. - */ - -We indent statements in K&R style, e.g., - if (test) { - then-part; - } else { - else-part; - } -with two spaces per indentation level. (This indentation convention is -handled automatically by GNU Emacs and many other text editors.) - -Multi-word names should be written in lower case with underscores, e.g., -multi_word_name (not multiWordName). Preprocessor symbols and enum constants -are similar but upper case (MULTI_WORD_NAME). Names should be unique within -the first fifteen characters. (On some older systems, global names must be -unique within six characters. We accommodate this without cluttering the -source code by using macros to substitute shorter names.) - -We use function prototypes everywhere; we rely on automatic source code -transformation to feed prototype-less C compilers. Transformation is done -by the simple and portable tool 'ansi2knr.c' (courtesy of Ghostscript). -ansi2knr is not very bright, so it imposes a format requirement on function -declarations: the function name MUST BEGIN IN COLUMN 1. Thus all functions -should be written in the following style: - -LOCAL(int *) -function_name (int a, char *b) -{ - code... -} - -Note that each function definition must begin with GLOBAL(type), LOCAL(type), -or METHODDEF(type). These macros expand to "static type" or just "type" as -appropriate. They provide a readable indication of the routine's usage and -can readily be changed for special needs. (For instance, special linkage -keywords can be inserted for use in Windows DLLs.) - -ansi2knr does not transform method declarations (function pointers in -structs). We handle these with a macro JMETHOD, defined as - #ifdef HAVE_PROTOTYPES - #define JMETHOD(type,methodname,arglist) type (*methodname) arglist - #else - #define JMETHOD(type,methodname,arglist) type (*methodname) () - #endif -which is used like this: - struct function_pointers { - JMETHOD(void, init_entropy_encoder, (int somearg, jparms *jp)); - JMETHOD(void, term_entropy_encoder, (void)); - }; -Note the set of parentheses surrounding the parameter list. - -A similar solution is used for forward and external function declarations -(see the EXTERN and JPP macros). - -If the code is to work on non-ANSI compilers, we cannot rely on a prototype -declaration to coerce actual parameters into the right types. Therefore, use -explicit casts on actual parameters whenever the actual parameter type is not -identical to the formal parameter. Beware of implicit conversions to "int". - -It seems there are some non-ANSI compilers in which the sizeof() operator -is defined to return int, yet size_t is defined as long. Needless to say, -this is brain-damaged. Always use the SIZEOF() macro in place of sizeof(), -so that the result is guaranteed to be of type size_t. - - -The JPEG library is intended to be used within larger programs. Furthermore, -we want it to be reentrant so that it can be used by applications that process -multiple images concurrently. The following rules support these requirements: - -1. Avoid direct use of file I/O, "malloc", error report printouts, etc; -pass these through the common routines provided. - -2. Minimize global namespace pollution. Functions should be declared static -wherever possible. (Note that our method-based calling conventions help this -a lot: in many modules only the initialization function will ever need to be -called directly, so only that function need be externally visible.) All -global function names should begin with "jpeg_", and should have an -abbreviated name (unique in the first six characters) substituted by macro -when NEED_SHORT_EXTERNAL_NAMES is set. - -3. Don't use global variables; anything that must be used in another module -should be in the common data structures. - -4. Don't use static variables except for read-only constant tables. Variables -that should be private to a module can be placed into private structures (see -the system architecture document, structure.txt). - -5. Source file names should begin with "j" for files that are part of the -library proper; source files that are not part of the library, such as cjpeg.c -and djpeg.c, do not begin with "j". Keep source file names to eight -characters (plus ".c" or ".h", etc) to make life easy for MS-DOSers. Keep -compression and decompression code in separate source files --- some -applications may want only one half of the library. - -Note: these rules (particularly #4) are not followed religiously in the -modules that are used in cjpeg/djpeg but are not part of the JPEG library -proper. Those modules are not really intended to be used in other -applications. diff --git a/3rdparty/openctm/tools/jpeg/config.guess b/3rdparty/openctm/tools/jpeg/config.guess deleted file mode 100644 index 49c41dc8d..000000000 --- a/3rdparty/openctm/tools/jpeg/config.guess +++ /dev/null @@ -1,1561 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-04-27' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd | genuineintel) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/3rdparty/openctm/tools/jpeg/config.sub b/3rdparty/openctm/tools/jpeg/config.sub deleted file mode 100644 index a95b231e9..000000000 --- a/3rdparty/openctm/tools/jpeg/config.sub +++ /dev/null @@ -1,1686 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-04-17' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/3rdparty/openctm/tools/jpeg/configure b/3rdparty/openctm/tools/jpeg/configure deleted file mode 100644 index a3cd8b074..000000000 --- a/3rdparty/openctm/tools/jpeg/configure +++ /dev/null @@ -1,17139 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for libjpeg 7.0. -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -$* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='libjpeg' -PACKAGE_TARNAME='libjpeg' -PACKAGE_VERSION='7.0' -PACKAGE_STRING='libjpeg 7.0' -PACKAGE_BUGREPORT='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -JPEG_LIB_VERSION -MEMORYMGR -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -lt_ECHO -RANLIB -AR -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -HAVE_LD_VERSION_SCRIPT_FALSE -HAVE_LD_VERSION_SCRIPT_TRUE -LN_S -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -ANSI2KNR -U -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_os -target_vendor -target_cpu -target -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_maintainer_mode -enable_ld_version_script -enable_shared -enable_static -with_pic -enable_fast_install -with_gnu_ld -enable_libtool_lock -enable_maxmem -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures libjpeg 7.0 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libjpeg] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of libjpeg 7.0:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-ld-version-script - enable linker version script (default is enabled - when possible) - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-maxmem=N enable use of temp files, set max mem usage to N MB - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -libjpeg configure 7.0 -generated by GNU Autoconf 2.63 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libjpeg $as_me 7.0, which was -generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Directory where autotools helper scripts lives. -ac_aux_dir= -for ac_dir in . "$srcdir"/.; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - -# Generate configuration headers. -ac_config_headers="$ac_config_headers jconfig.h:jconfig.cfg" - - -# Hack: disable autoheader so that it doesn't overwrite our cfg template. -AUTOHEADER="echo autoheader ignored" - -# Check system type -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if test "${ac_cv_target+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$target_alias" = x; then - ac_cv_target=$ac_cv_host -else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 -$as_echo "$as_me: error: invalid value of canonical target" >&2;} - { (exit 1); exit 1; }; };; -esac -target=$ac_cv_target -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_target -shift -target_cpu=$1 -target_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -target_os=$* -IFS=$ac_save_IFS -case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -# Initialize Automake -# Don't require all the GNU mandated files -am__api_version='1.11' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libjpeg' - VERSION='7.0' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - -# Make --enable-silent-rules the default. -# To get verbose build output you may configure -# with --disable-silent-rules or use "make V=1". -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; -esac -AM_BACKSLASH='\' - - -# This is required when using the de-ANSI-fication feature. -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -{ $as_echo "$as_me:$LINENO: checking for function prototypes" >&5 -$as_echo_n "checking for function prototypes... " >&6; } -if test "$ac_cv_prog_cc_c89" != no; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define PROTOTYPES 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define __PROTOTYPES 1 -_ACEOF - -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -if test "$ac_cv_prog_cc_stdc" != no; then - U= ANSI2KNR= -else - U=_ ANSI2KNR=./ansi2knr -fi -# Ensure some checks needed by ansi2knr itself. - - -for ac_header in string.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -# Add configure option --enable-maintainer-mode which enables -# dependency checking and generation useful to package maintainers. -# This is made an option to avoid confusing end users. - -{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - -# Check for programs -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - case $ac_cv_prog_cc_stdc in - no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; - *) { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if test "${ac_cv_prog_cc_c99+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c99=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 -else - { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 -else - ac_cv_prog_cc_stdc=no -fi - - -fi - - ;; -esac - { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO Standard C" >&5 -$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } - if test "${ac_cv_prog_cc_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -fi - - case $ac_cv_prog_cc_stdc in - no) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - '') { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - *) { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - - -# Check if LD supports linker scripts, -# and define automake conditional HAVE_LD_VERSION_SCRIPT if so. -# Check whether --enable-ld-version-script was given. -if test "${enable_ld_version_script+set}" = set; then - enableval=$enable_ld_version_script; have_ld_version_script=$enableval -fi - -if test -z "$have_ld_version_script"; then - { $as_echo "$as_me:$LINENO: checking if LD -Wl,--version-script works" >&5 -$as_echo_n "checking if LD -Wl,--version-script works... " >&6; } - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map <conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - have_ld_version_script=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - have_ld_version_script=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.map - LDFLAGS="$save_LDFLAGS" - { $as_echo "$as_me:$LINENO: result: $have_ld_version_script" >&5 -$as_echo "$have_ld_version_script" >&6; } -fi - if test "$have_ld_version_script" = "yes"; then - HAVE_LD_VERSION_SCRIPT_TRUE= - HAVE_LD_VERSION_SCRIPT_FALSE='#' -else - HAVE_LD_VERSION_SCRIPT_TRUE='#' - HAVE_LD_VERSION_SCRIPT_FALSE= -fi - - -# See if compiler supports prototypes. -{ $as_echo "$as_me:$LINENO: checking for function prototypes" >&5 -$as_echo_n "checking for function prototypes... " >&6; } -if test "${ijg_cv_have_prototypes+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int testfunction (int arg1, int * arg2); /* check prototypes */ -struct methods_struct { /* check method-pointer declarations */ - int (*error_exit) (char *msgtext); - int (*trace_message) (char *msgtext); - int (*another_method) (void); -}; -int testfunction (int arg1, int * arg2) /* check definitions */ -{ return arg2[arg1]; } -int test2function (void) /* check void arg list */ -{ return 0; } - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ijg_cv_have_prototypes=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ijg_cv_have_prototypes=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:$LINENO: result: $ijg_cv_have_prototypes" >&5 -$as_echo "$ijg_cv_have_prototypes" >&6; } -if test $ijg_cv_have_prototypes = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROTOTYPES 1 -_ACEOF - -else - echo Your compiler does not seem to know about function prototypes. - echo Perhaps it needs a special switch to enable ANSI C mode. - echo If so, we recommend running configure like this: - echo " ./configure CC='cc -switch'" - echo where -switch is the proper switch. -fi - -# Check header files - - - -for ac_header in stddef.h stdlib.h locale.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -if test "${ac_cv_header_string_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for string.h" >&5 -$as_echo_n "checking for string.h... " >&6; } -if test "${ac_cv_header_string_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_string_h" >&5 -$as_echo "$ac_cv_header_string_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking string.h usability" >&5 -$as_echo_n "checking string.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking string.h presence" >&5 -$as_echo_n "checking string.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: string.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: string.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: string.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: string.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: string.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: string.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: string.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: string.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: string.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: string.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: string.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for string.h" >&5 -$as_echo_n "checking for string.h... " >&6; } -if test "${ac_cv_header_string_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_string_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_string_h" >&5 -$as_echo "$ac_cv_header_string_h" >&6; } - -fi -if test "x$ac_cv_header_string_h" = x""yes; then - : -else - -cat >>confdefs.h <<\_ACEOF -#define NEED_BSD_STRINGS 1 -_ACEOF - -fi - - - -# See whether type size_t is defined in any ANSI-standard places; -# if not, perhaps it is defined in . -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_STDDEF_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#include -#ifdef NEED_BSD_STRINGS -#include -#else -#include -#endif -typedef size_t my_size_t; - -int -main () -{ - my_size_t foovar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ijg_size_t_ok=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ijg_size_t_ok="not ANSI, perhaps it is in sys/types.h" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ijg_size_t_ok" >&5 -$as_echo "$ijg_size_t_ok" >&6; } -if test "$ijg_size_t_ok" != yes; then -if test "${ac_cv_header_sys_types_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/types.h" >&5 -$as_echo_n "checking for sys/types.h... " >&6; } -if test "${ac_cv_header_sys_types_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_types_h" >&5 -$as_echo "$ac_cv_header_sys_types_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/types.h usability" >&5 -$as_echo_n "checking sys/types.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/types.h presence" >&5 -$as_echo_n "checking sys/types.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/types.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/types.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/types.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/types.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/types.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/types.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/types.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/types.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/types.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/types.h" >&5 -$as_echo_n "checking for sys/types.h... " >&6; } -if test "${ac_cv_header_sys_types_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_types_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_types_h" >&5 -$as_echo "$ac_cv_header_sys_types_h" >&6; } - -fi -if test "x$ac_cv_header_sys_types_h" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define NEED_SYS_TYPES_H 1 -_ACEOF - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "size_t" >/dev/null 2>&1; then - ijg_size_t_ok="size_t is in sys/types.h" -else - ijg_size_t_ok=no -fi -rm -f conftest* - -else - ijg_size_t_ok=no -fi - - -{ $as_echo "$as_me:$LINENO: result: $ijg_size_t_ok" >&5 -$as_echo "$ijg_size_t_ok" >&6; } -if test "$ijg_size_t_ok" = no; then - echo Type size_t is not defined in any of the usual places. - echo Try putting '"typedef unsigned int size_t;"' in jconfig.h. -fi -fi - -# Check compiler characteristics -{ $as_echo "$as_me:$LINENO: checking for type unsigned char" >&5 -$as_echo_n "checking for type unsigned char... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - unsigned char un_char; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UNSIGNED_CHAR 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking for type unsigned short" >&5 -$as_echo_n "checking for type unsigned short... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - unsigned short un_short; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define HAVE_UNSIGNED_SHORT 1 -_ACEOF - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking for type void" >&5 -$as_echo_n "checking for type void... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Caution: a C++ compiler will insist on valid prototypes */ -typedef void * void_ptr; /* check void * */ -#ifdef HAVE_PROTOTYPES /* check ptr to function returning void */ -typedef void (*void_func) (int a, int b); -#else -typedef void (*void_func) (); -#endif - -#ifdef HAVE_PROTOTYPES /* check void function result */ -void test3function (void_ptr arg1, void_func arg2) -#else -void test3function (arg1, arg2) - void_ptr arg1; - void_func arg2; -#endif -{ - char * locptr = (char *) arg1; /* check casting to and from void * */ - arg1 = (void *) locptr; - (*arg2) (1, 2); /* check call of fcn returning void */ -} - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define void char -_ACEOF - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF - -fi - - -# Check for non-broken inline under various spellings -{ $as_echo "$as_me:$LINENO: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -ijg_cv_inline="" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -} __inline__ int foo() { return 0; } -int bar() { return foo(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ijg_cv_inline="__inline__" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -} __inline int foo() { return 0; } -int bar() { return foo(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ijg_cv_inline="__inline" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -} inline int foo() { return 0; } -int bar() { return foo(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ijg_cv_inline="inline" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ijg_cv_inline" >&5 -$as_echo "$ijg_cv_inline" >&6; } - -cat >>confdefs.h <<_ACEOF -#define INLINE $ijg_cv_inline -_ACEOF - - -# We cannot check for bogus warnings, but at least we can check for errors -{ $as_echo "$as_me:$LINENO: checking for broken incomplete types" >&5 -$as_echo_n "checking for broken incomplete types... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - typedef struct undefined_structure * undef_struct_ptr; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: ok" >&5 -$as_echo "ok" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: broken" >&5 -$as_echo "broken" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define INCOMPLETE_TYPES_BROKEN 1 -_ACEOF - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -# Test whether global names are unique to at least 15 chars -{ $as_echo "$as_me:$LINENO: checking for short external names" >&5 -$as_echo_n "checking for short external names... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int possibly_duplicate_function () { return 0; } -int possibly_dupli_function () { return 1; } - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: ok" >&5 -$as_echo "ok" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: short" >&5 -$as_echo "short" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define NEED_SHORT_EXTERNAL_NAMES 1 -_ACEOF - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -# Run-time checks -{ $as_echo "$as_me:$LINENO: checking to see if char is signed" >&5 -$as_echo_n "checking to see if char is signed... " >&6; } -if test "$cross_compiling" = yes; then - echo Assuming that char is signed on target machine. -echo If it is unsigned, this will be a little bit inefficient. - -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_PROTOTYPES -int is_char_signed (int arg) -#else -int is_char_signed (arg) - int arg; -#endif -{ - if (arg == 189) { /* expected result for unsigned char */ - return 0; /* type char is unsigned */ - } - else if (arg != -67) { /* expected result for signed char */ - printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - } - return 1; /* assume char is signed otherwise */ -} -char signed_char_check = (char) (-67); -int main() { - exit(is_char_signed((int) signed_char_check)); -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define CHAR_IS_UNSIGNED 1 -_ACEOF - -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -{ $as_echo "$as_me:$LINENO: checking to see if right shift is signed" >&5 -$as_echo_n "checking to see if right shift is signed... " >&6; } -if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: result: Assuming that right shift is signed on target machine." >&5 -$as_echo "Assuming that right shift is signed on target machine." >&6; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#ifdef HAVE_PROTOTYPES -int is_shifting_signed (long arg) -#else -int is_shifting_signed (arg) - long arg; -#endif -/* See whether right-shift on a long is signed or not. */ -{ - long res = arg >> 4; - - if (res == -0x7F7E80CL) { /* expected result for signed shift */ - return 1; /* right shift is signed */ - } - /* see if unsigned-shift hack will fix it. */ - /* we can't just test exact value since it depends on width of long... */ - res |= (~0L) << (32-4); - if (res == -0x7F7E80CL) { /* expected result now? */ - return 0; /* right shift is unsigned */ - } - printf("Right shift isn't acting as I expect it to.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - return 0; /* try it with unsigned anyway */ -} -int main() { - exit(is_shifting_signed(-0x7F7E80B1L)); -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define RIGHT_SHIFT_IS_UNSIGNED 1 -_ACEOF - -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -{ $as_echo "$as_me:$LINENO: checking to see if fopen accepts b spec" >&5 -$as_echo_n "checking to see if fopen accepts b spec... " >&6; } -if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: result: Assuming that it does." >&5 -$as_echo "Assuming that it does." >&6; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -int main() { - if (fopen("conftestdata", "wb") != NULL) - exit(0); - exit(1); -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define DONT_USE_B_MODE 1 -_ACEOF - -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - -# Configure libtool -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AS+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:$LINENO: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DLLTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.2.6' -macro_revision='1.3012' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - $as_unset ac_script || ac_script= - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:8424: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:8427: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:8430: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:$LINENO: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:$LINENO: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:$LINENO: result: ok" >&5 -$as_echo "ok" >&6; } -fi - - - - - - - - - - - - - - - - - - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 9621 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - lt_cv_cc_needs_belf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - lt_cv_ld_exported_symbols_list=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_ld_exported_symbols_list=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - - -for ac_header in dlfcn.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -# Set options - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - - - - - - - - - - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:$LINENO: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:10984: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:10988: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } - - - - - - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11323: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:11327: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11428: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:11432: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11483: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:11487: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat >conftest.$ac_ext <<_ACEOF -int foo(void) {} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then - shlibpath_overrides_runpath=yes -fi - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 -$as_echo_n "checking for shl_load... " >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -$as_echo "$ac_cv_func_shl_load" >&6; } -if test "x$ac_cv_func_shl_load" = x""yes; then - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 -$as_echo_n "checking for dlopen... " >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -$as_echo "$ac_cv_func_dlopen" >&6; } -if test "x$ac_cv_func_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_svld_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_dld_link=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 14283 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 14379 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -# Select memory manager depending on user input. -# If no "-enable-maxmem", use jmemnobs -MEMORYMGR='jmemnobs' -MAXMEM="no" -# Check whether --enable-maxmem was given. -if test "${enable_maxmem+set}" = set; then - enableval=$enable_maxmem; MAXMEM="$enableval" -fi - -if test "x$MAXMEM" = xyes; then - MAXMEM=1 -fi -if test "x$MAXMEM" != xno; then - if test -n "`echo $MAXMEM | sed 's/[0-9]//g'`"; then - { { $as_echo "$as_me:$LINENO: error: non-numeric argument to --enable-maxmem" >&5 -$as_echo "$as_me: error: non-numeric argument to --enable-maxmem" >&2;} - { (exit 1); exit 1; }; } - fi - DEFAULTMAXMEM=`expr $MAXMEM \* 1048576` - -cat >>confdefs.h <<_ACEOF -#define DEFAULT_MAX_MEM ${DEFAULTMAXMEM} -_ACEOF - -{ $as_echo "$as_me:$LINENO: checking for 'tmpfile()'" >&5 -$as_echo_n "checking for 'tmpfile()'... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ - FILE * tfile = tmpfile(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -MEMORYMGR='jmemansi' -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -MEMORYMGR='jmemname' - -# Test for the need to remove temporary files using a signal handler (for cjpeg/djpeg) - -cat >>confdefs.h <<\_ACEOF -#define NEED_SIGNAL_CATCHER 1 -_ACEOF - -{ $as_echo "$as_me:$LINENO: checking for 'mktemp()'" >&5 -$as_echo_n "checking for 'mktemp()'... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - char fname[80]; mktemp(fname); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define NO_MKTEMP 1 -_ACEOF - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - -# Extract the library version ID from jpeglib.h. -{ $as_echo "$as_me:$LINENO: checking libjpeg version number" >&5 -$as_echo_n "checking libjpeg version number... " >&6; } -JPEG_LIB_VERSION=`sed -e '/^#define JPEG_LIB_VERSION/!d' -e 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' $srcdir/jpeglib.h` -JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:`expr $JPEG_LIB_VERSION % 10`" -{ $as_echo "$as_me:$LINENO: result: $JPEG_LIB_VERSION" >&5 -$as_echo "$JPEG_LIB_VERSION" >&6; } - - -ac_config_files="$ac_config_files Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libjpeg $as_me 7.0, which was -generated by GNU Autoconf 2.63. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTION]... [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -libjpeg config.status 7.0 -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "jconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS jconfig.h:jconfig.cfg" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=' ' -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\).*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\).*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } -_ACEOF - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Assembler program. -AS=$AS - -# DLL creation program. -DLLTOOL=$DLLTOOL - -# Object dumper program. -OBJDUMP=$OBJDUMP - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} - -_LT_EOF - ;; - esac - - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/3rdparty/openctm/tools/jpeg/configure.ac b/3rdparty/openctm/tools/jpeg/configure.ac deleted file mode 100644 index ff96fe107..000000000 --- a/3rdparty/openctm/tools/jpeg/configure.ac +++ /dev/null @@ -1,317 +0,0 @@ -# IJG auto-configuration source file. -# Process this file with autoconf to produce a configure script. - -# -# Configure script for IJG libjpeg -# - -AC_INIT([libjpeg], [7.0]) - -# Directory where autotools helper scripts lives. -AC_CONFIG_AUX_DIR([.]) - -# Generate configuration headers. -AC_CONFIG_HEADERS([jconfig.h:jconfig.cfg]) - -# Hack: disable autoheader so that it doesn't overwrite our cfg template. -AUTOHEADER="echo autoheader ignored" - -# Check system type -AC_CANONICAL_TARGET - -# Initialize Automake -# Don't require all the GNU mandated files -AM_INIT_AUTOMAKE([-Wall -Werror ansi2knr no-dist foreign]) - -# Make --enable-silent-rules the default. -# To get verbose build output you may configure -# with --disable-silent-rules or use "make V=1". -AM_SILENT_RULES([yes]) - -# This is required when using the de-ANSI-fication feature. -AM_C_PROTOTYPES - -# Add configure option --enable-maintainer-mode which enables -# dependency checking and generation useful to package maintainers. -# This is made an option to avoid confusing end users. -AM_MAINTAINER_MODE - -# Check for programs -AC_PROG_CC -AC_PROG_CC_STDC -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_MAKE_SET -AC_PROG_LN_S - -# Check if LD supports linker scripts, -# and define automake conditional HAVE_LD_VERSION_SCRIPT if so. -AC_ARG_ENABLE([ld-version-script], - AS_HELP_STRING([--enable-ld-version-script], - [enable linker version script (default is enabled when possible)]), - [have_ld_version_script=$enableval], []) -if test -z "$have_ld_version_script"; then - AC_MSG_CHECKING([if LD -Wl,--version-script works]) - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map < rather than standard .])) - -# See whether type size_t is defined in any ANSI-standard places; -# if not, perhaps it is defined in . -AC_MSG_CHECKING(for size_t) -AC_TRY_COMPILE([ -#ifdef HAVE_STDDEF_H -#include -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#include -#ifdef NEED_BSD_STRINGS -#include -#else -#include -#endif -typedef size_t my_size_t; -], [ my_size_t foovar; ], ijg_size_t_ok=yes, -[ijg_size_t_ok="not ANSI, perhaps it is in sys/types.h"]) -AC_MSG_RESULT($ijg_size_t_ok) -if test "$ijg_size_t_ok" != yes; then -AC_CHECK_HEADER(sys/types.h, [AC_DEFINE([NEED_SYS_TYPES_H],[1],[Need to include in order to obtain size_t.]) -AC_EGREP_CPP(size_t, [#include ], -[ijg_size_t_ok="size_t is in sys/types.h"], ijg_size_t_ok=no)], -ijg_size_t_ok=no) -AC_MSG_RESULT($ijg_size_t_ok) -if test "$ijg_size_t_ok" = no; then - echo Type size_t is not defined in any of the usual places. - echo Try putting '"typedef unsigned int size_t;"' in jconfig.h. -fi -fi - -# Check compiler characteristics -AC_MSG_CHECKING(for type unsigned char) -AC_TRY_COMPILE(, [ unsigned char un_char; ], -[AC_MSG_RESULT(yes) -AC_DEFINE([HAVE_UNSIGNED_CHAR],[1],[Compiler supports 'unsigned char'.])], AC_MSG_RESULT(no)) -dnl -AC_MSG_CHECKING(for type unsigned short) -AC_TRY_COMPILE(, [ unsigned short un_short; ], -[AC_MSG_RESULT(yes) -AC_DEFINE([HAVE_UNSIGNED_SHORT],[1],[Compiler supports 'unsigned short'.])], AC_MSG_RESULT(no)) -dnl -AC_MSG_CHECKING(for type void) -AC_TRY_COMPILE([ -/* Caution: a C++ compiler will insist on valid prototypes */ -typedef void * void_ptr; /* check void * */ -#ifdef HAVE_PROTOTYPES /* check ptr to function returning void */ -typedef void (*void_func) (int a, int b); -#else -typedef void (*void_func) (); -#endif - -#ifdef HAVE_PROTOTYPES /* check void function result */ -void test3function (void_ptr arg1, void_func arg2) -#else -void test3function (arg1, arg2) - void_ptr arg1; - void_func arg2; -#endif -{ - char * locptr = (char *) arg1; /* check casting to and from void * */ - arg1 = (void *) locptr; - (*arg2) (1, 2); /* check call of fcn returning void */ -} -], [ ], AC_MSG_RESULT(yes), [AC_MSG_RESULT(no) -AC_DEFINE([void],[char],[Define 'void' as 'char' for archaic compilers that don't understand it.])]) -AC_C_CONST - -# Check for non-broken inline under various spellings -AC_MSG_CHECKING(for inline) -ijg_cv_inline="" -AC_TRY_COMPILE(, [} __inline__ int foo() { return 0; } -int bar() { return foo();], ijg_cv_inline="__inline__", -AC_TRY_COMPILE(, [} __inline int foo() { return 0; } -int bar() { return foo();], ijg_cv_inline="__inline", -AC_TRY_COMPILE(, [} inline int foo() { return 0; } -int bar() { return foo();], ijg_cv_inline="inline"))) -AC_MSG_RESULT($ijg_cv_inline) -AC_DEFINE_UNQUOTED([INLINE],[$ijg_cv_inline],[How to obtain function inlining.]) - -# We cannot check for bogus warnings, but at least we can check for errors -AC_MSG_CHECKING(for broken incomplete types) -AC_TRY_COMPILE([ typedef struct undefined_structure * undef_struct_ptr; ], , -AC_MSG_RESULT(ok), -[AC_MSG_RESULT(broken) -AC_DEFINE([INCOMPLETE_TYPES_BROKEN],[1],[Compiler does not support pointers to unspecified structures.])]) - -# Test whether global names are unique to at least 15 chars -AC_MSG_CHECKING(for short external names) -AC_TRY_LINK([ -int possibly_duplicate_function () { return 0; } -int possibly_dupli_function () { return 1; } -], [ ], AC_MSG_RESULT(ok), [AC_MSG_RESULT(short) -AC_DEFINE([NEED_SHORT_EXTERNAL_NAMES],[1],[Linker requires that global names be unique in first 15 characters.])]) - -# Run-time checks -AC_MSG_CHECKING(to see if char is signed) -AC_TRY_RUN([ -#ifdef HAVE_PROTOTYPES -int is_char_signed (int arg) -#else -int is_char_signed (arg) - int arg; -#endif -{ - if (arg == 189) { /* expected result for unsigned char */ - return 0; /* type char is unsigned */ - } - else if (arg != -67) { /* expected result for signed char */ - printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - } - return 1; /* assume char is signed otherwise */ -} -char signed_char_check = (char) (-67); -int main() { - exit(is_char_signed((int) signed_char_check)); -}], [AC_MSG_RESULT(no) -AC_DEFINE([CHAR_IS_UNSIGNED],[1],[Characters are unsigned])], AC_MSG_RESULT(yes), -[echo Assuming that char is signed on target machine. -echo If it is unsigned, this will be a little bit inefficient. -]) -dnl -AC_MSG_CHECKING(to see if right shift is signed) -AC_TRY_RUN([ -#ifdef HAVE_PROTOTYPES -int is_shifting_signed (long arg) -#else -int is_shifting_signed (arg) - long arg; -#endif -/* See whether right-shift on a long is signed or not. */ -{ - long res = arg >> 4; - - if (res == -0x7F7E80CL) { /* expected result for signed shift */ - return 1; /* right shift is signed */ - } - /* see if unsigned-shift hack will fix it. */ - /* we can't just test exact value since it depends on width of long... */ - res |= (~0L) << (32-4); - if (res == -0x7F7E80CL) { /* expected result now? */ - return 0; /* right shift is unsigned */ - } - printf("Right shift isn't acting as I expect it to.\n"); - printf("I fear the JPEG software will not work at all.\n\n"); - return 0; /* try it with unsigned anyway */ -} -int main() { - exit(is_shifting_signed(-0x7F7E80B1L)); -}], [AC_MSG_RESULT(no) -AC_DEFINE([RIGHT_SHIFT_IS_UNSIGNED],[1],[Broken compiler shifts signed values as an unsigned shift.])], AC_MSG_RESULT(yes), -AC_MSG_RESULT(Assuming that right shift is signed on target machine.)) -dnl -AC_MSG_CHECKING(to see if fopen accepts b spec) -AC_TRY_RUN([ -#include -int main() { - if (fopen("conftestdata", "wb") != NULL) - exit(0); - exit(1); -}], AC_MSG_RESULT(yes), [AC_MSG_RESULT(no) -AC_DEFINE([DONT_USE_B_MODE],[1],[Don't open files in binary mode.])], -AC_MSG_RESULT(Assuming that it does.)) - -# Configure libtool -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL - -# Select memory manager depending on user input. -# If no "-enable-maxmem", use jmemnobs -MEMORYMGR='jmemnobs' -MAXMEM="no" -AC_ARG_ENABLE(maxmem, -[ --enable-maxmem[=N] enable use of temp files, set max mem usage to N MB], -MAXMEM="$enableval") -dnl [# support --with-maxmem for backwards compatibility with IJG V5.] -dnl AC_ARG_WITH(maxmem, , MAXMEM="$withval") -if test "x$MAXMEM" = xyes; then - MAXMEM=1 -fi -if test "x$MAXMEM" != xno; then - if test -n "`echo $MAXMEM | sed 's/[[0-9]]//g'`"; then - AC_MSG_ERROR(non-numeric argument to --enable-maxmem) - fi - DEFAULTMAXMEM=`expr $MAXMEM \* 1048576` -AC_DEFINE_UNQUOTED([DEFAULT_MAX_MEM], [${DEFAULTMAXMEM}], [Maximum data space library will allocate.]) -AC_MSG_CHECKING([for 'tmpfile()']) -AC_TRY_LINK([#include ], [ FILE * tfile = tmpfile(); ], -[AC_MSG_RESULT(yes) -MEMORYMGR='jmemansi'], -[AC_MSG_RESULT(no) -dnl if tmpfile is not present, must use jmemname. -MEMORYMGR='jmemname' - -# Test for the need to remove temporary files using a signal handler (for cjpeg/djpeg) -AC_DEFINE([NEED_SIGNAL_CATCHER],[1],[Need signal handler to clean up temporary files.]) -AC_MSG_CHECKING([for 'mktemp()']) -AC_TRY_LINK(, [ char fname[80]; mktemp(fname); ], AC_MSG_RESULT(yes), -[AC_MSG_RESULT(no) -AC_DEFINE([NO_MKTEMP],[1],[The mktemp() function is not available.])])]) -fi -AC_SUBST(MEMORYMGR) - -# Extract the library version ID from jpeglib.h. -AC_MSG_CHECKING([libjpeg version number]) -[JPEG_LIB_VERSION=`sed -e '/^#define JPEG_LIB_VERSION/!d' -e 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' $srcdir/jpeglib.h`] -[JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:`expr $JPEG_LIB_VERSION % 10`"] -AC_MSG_RESULT([$JPEG_LIB_VERSION]) -AC_SUBST([JPEG_LIB_VERSION]) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/3rdparty/openctm/tools/jpeg/depcomp b/3rdparty/openctm/tools/jpeg/depcomp deleted file mode 100644 index 2484462d0..000000000 --- a/3rdparty/openctm/tools/jpeg/depcomp +++ /dev/null @@ -1,630 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/3rdparty/openctm/tools/jpeg/djpeg.1 b/3rdparty/openctm/tools/jpeg/djpeg.1 deleted file mode 100644 index e07256029..000000000 --- a/3rdparty/openctm/tools/jpeg/djpeg.1 +++ /dev/null @@ -1,251 +0,0 @@ -.TH DJPEG 1 "28 March 2009" -.SH NAME -djpeg \- decompress a JPEG file to an image file -.SH SYNOPSIS -.B djpeg -[ -.I options -] -[ -.I filename -] -.LP -.SH DESCRIPTION -.LP -.B djpeg -decompresses the named JPEG file, or the standard input if no file is named, -and produces an image file on the standard output. PBMPLUS (PPM/PGM), BMP, -GIF, Targa, or RLE (Utah Raster Toolkit) output format can be selected. -(RLE is supported only if the URT library is available.) -.SH OPTIONS -All switch names may be abbreviated; for example, -.B \-grayscale -may be written -.B \-gray -or -.BR \-gr . -Most of the "basic" switches can be abbreviated to as little as one letter. -Upper and lower case are equivalent (thus -.B \-BMP -is the same as -.BR \-bmp ). -British spellings are also accepted (e.g., -.BR \-greyscale ), -though for brevity these are not mentioned below. -.PP -The basic switches are: -.TP -.BI \-colors " N" -Reduce image to at most N colors. This reduces the number of colors used in -the output image, so that it can be displayed on a colormapped display or -stored in a colormapped file format. For example, if you have an 8-bit -display, you'd need to reduce to 256 or fewer colors. -.TP -.BI \-quantize " N" -Same as -.BR \-colors . -.B \-colors -is the recommended name, -.B \-quantize -is provided only for backwards compatibility. -.TP -.B \-fast -Select recommended processing options for fast, low quality output. (The -default options are chosen for highest quality output.) Currently, this is -equivalent to \fB\-dct fast \-nosmooth \-onepass \-dither ordered\fR. -.TP -.B \-grayscale -Force gray-scale output even if JPEG file is color. Useful for viewing on -monochrome displays; also, -.B djpeg -runs noticeably faster in this mode. -.TP -.BI \-scale " M/N" -Scale the output image by a factor M/N. Currently supported scale factors are -M/8 with all M from 1 to 16. If the /N part is omitted, then M specifies the -DCT scaled size to be applied on the given input, which is currently -equivalent to M/8 scaling, since the source DCT size is currently always 8. -Scaling is handy if the image is larger than your screen; also, -.B djpeg -runs much faster when scaling down the output. -.TP -.B \-bmp -Select BMP output format (Windows flavor). 8-bit colormapped format is -emitted if -.B \-colors -or -.B \-grayscale -is specified, or if the JPEG file is gray-scale; otherwise, 24-bit full-color -format is emitted. -.TP -.B \-gif -Select GIF output format. Since GIF does not support more than 256 colors, -.B \-colors 256 -is assumed (unless you specify a smaller number of colors). -.TP -.B \-os2 -Select BMP output format (OS/2 1.x flavor). 8-bit colormapped format is -emitted if -.B \-colors -or -.B \-grayscale -is specified, or if the JPEG file is gray-scale; otherwise, 24-bit full-color -format is emitted. -.TP -.B \-pnm -Select PBMPLUS (PPM/PGM) output format (this is the default format). -PGM is emitted if the JPEG file is gray-scale or if -.B \-grayscale -is specified; otherwise PPM is emitted. -.TP -.B \-rle -Select RLE output format. (Requires URT library.) -.TP -.B \-targa -Select Targa output format. Gray-scale format is emitted if the JPEG file is -gray-scale or if -.B \-grayscale -is specified; otherwise, colormapped format is emitted if -.B \-colors -is specified; otherwise, 24-bit full-color format is emitted. -.PP -Switches for advanced users: -.TP -.B \-dct int -Use integer DCT method (default). -.TP -.B \-dct fast -Use fast integer DCT (less accurate). -.TP -.B \-dct float -Use floating-point DCT method. -The float method is very slightly more accurate than the int method, but is -much slower unless your machine has very fast floating-point hardware. Also -note that results of the floating-point method may vary slightly across -machines, while the integer methods should give the same results everywhere. -The fast integer method is much less accurate than the other two. -.TP -.B \-dither fs -Use Floyd-Steinberg dithering in color quantization. -.TP -.B \-dither ordered -Use ordered dithering in color quantization. -.TP -.B \-dither none -Do not use dithering in color quantization. -By default, Floyd-Steinberg dithering is applied when quantizing colors; this -is slow but usually produces the best results. Ordered dither is a compromise -between speed and quality; no dithering is fast but usually looks awful. Note -that these switches have no effect unless color quantization is being done. -Ordered dither is only available in -.B \-onepass -mode. -.TP -.BI \-map " file" -Quantize to the colors used in the specified image file. This is useful for -producing multiple files with identical color maps, or for forcing a -predefined set of colors to be used. The -.I file -must be a GIF or PPM file. This option overrides -.B \-colors -and -.BR \-onepass . -.TP -.B \-nosmooth -Don't use high-quality upsampling. -.TP -.B \-onepass -Use one-pass instead of two-pass color quantization. The one-pass method is -faster and needs less memory, but it produces a lower-quality image. -.B \-onepass -is ignored unless you also say -.B \-colors -.IR N . -Also, the one-pass method is always used for gray-scale output (the two-pass -method is no improvement then). -.TP -.BI \-maxmemory " N" -Set limit for amount of memory to use in processing large images. Value is -in thousands of bytes, or millions of bytes if "M" is attached to the -number. For example, -.B \-max 4m -selects 4000000 bytes. If more space is needed, temporary files will be used. -.TP -.BI \-outfile " name" -Send output image to the named file, not to standard output. -.TP -.B \-verbose -Enable debug printout. More -.BR \-v 's -give more output. Also, version information is printed at startup. -.TP -.B \-debug -Same as -.BR \-verbose . -.SH EXAMPLES -.LP -This example decompresses the JPEG file foo.jpg, quantizes it to -256 colors, and saves the output in 8-bit BMP format in foo.bmp: -.IP -.B djpeg \-colors 256 \-bmp -.I foo.jpg -.B > -.I foo.bmp -.SH HINTS -To get a quick preview of an image, use the -.B \-grayscale -and/or -.B \-scale -switches. -.B \-grayscale \-scale 1/8 -is the fastest case. -.PP -Several options are available that trade off image quality to gain speed. -.B \-fast -turns on the recommended settings. -.PP -.B \-dct fast -and/or -.B \-nosmooth -gain speed at a small sacrifice in quality. -When producing a color-quantized image, -.B \-onepass \-dither ordered -is fast but much lower quality than the default behavior. -.B \-dither none -may give acceptable results in two-pass mode, but is seldom tolerable in -one-pass mode. -.PP -If you are fortunate enough to have very fast floating point hardware, -\fB\-dct float\fR may be even faster than \fB\-dct fast\fR. But on most -machines \fB\-dct float\fR is slower than \fB\-dct int\fR; in this case it is -not worth using, because its theoretical accuracy advantage is too small to be -significant in practice. -.SH ENVIRONMENT -.TP -.B JPEGMEM -If this environment variable is set, its value is the default memory limit. -The value is specified as described for the -.B \-maxmemory -switch. -.B JPEGMEM -overrides the default value specified when the program was compiled, and -itself is overridden by an explicit -.BR \-maxmemory . -.SH SEE ALSO -.BR cjpeg (1), -.BR jpegtran (1), -.BR rdjpgcom (1), -.BR wrjpgcom (1) -.br -.BR ppm (5), -.BR pgm (5) -.br -Wallace, Gregory K. "The JPEG Still Picture Compression Standard", -Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -.SH AUTHOR -Independent JPEG Group -.SH BUGS -To avoid the Unisys LZW patent, -.B djpeg -produces uncompressed GIF files. These are larger than they should be, but -are readable by standard GIF decoders. diff --git a/3rdparty/openctm/tools/jpeg/djpeg.c b/3rdparty/openctm/tools/jpeg/djpeg.c deleted file mode 100644 index 363c628cb..000000000 --- a/3rdparty/openctm/tools/jpeg/djpeg.c +++ /dev/null @@ -1,617 +0,0 @@ -/* - * djpeg.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a command-line user interface for the JPEG decompressor. - * It should work on any system with Unix- or MS-DOS-style command lines. - * - * Two different command line styles are permitted, depending on the - * compile-time switch TWO_FILE_COMMANDLINE: - * djpeg [options] inputfile outputfile - * djpeg [options] [inputfile] - * In the second style, output is always to standard output, which you'd - * normally redirect to a file or pipe to some other program. Input is - * either from a named file or from standard input (typically redirected). - * The second style is convenient on Unix but is unhelpful on systems that - * don't support pipes. Also, you MUST use the first style if your system - * doesn't do binary I/O to stdin/stdout. - * To simplify script writing, the "-outfile" switch is provided. The syntax - * djpeg [options] -outfile outputfile inputfile - * works regardless of which command line style is used. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ -#include "jversion.h" /* for version message */ - -#include /* to declare isprint() */ - -#ifdef USE_CCOMMAND /* command-line reader for Macintosh */ -#ifdef __MWERKS__ -#include /* Metrowerks needs this */ -#include /* ... and this */ -#endif -#ifdef THINK_C -#include /* Think declares it here */ -#endif -#endif - - -/* Create the add-on message string table. */ - -#define JMESSAGE(code,string) string , - -static const char * const cdjpeg_message_table[] = { -#include "cderror.h" - NULL -}; - - -/* - * This list defines the known output image formats - * (not all of which need be supported by a given version). - * You can change the default output format by defining DEFAULT_FMT; - * indeed, you had better do so if you undefine PPM_SUPPORTED. - */ - -typedef enum { - FMT_BMP, /* BMP format (Windows flavor) */ - FMT_GIF, /* GIF format */ - FMT_OS2, /* BMP format (OS/2 flavor) */ - FMT_PPM, /* PPM/PGM (PBMPLUS formats) */ - FMT_RLE, /* RLE format */ - FMT_TARGA, /* Targa format */ - FMT_TIFF /* TIFF format */ -} IMAGE_FORMATS; - -#ifndef DEFAULT_FMT /* so can override from CFLAGS in Makefile */ -#define DEFAULT_FMT FMT_PPM -#endif - -static IMAGE_FORMATS requested_fmt; - - -/* - * Argument-parsing code. - * The switch parser is designed to be useful with DOS-style command line - * syntax, ie, intermixed switches and file names, where only the switches - * to the left of a given file name affect processing of that file. - * The main program in this file doesn't actually use this capability... - */ - - -static const char * progname; /* program name for error messages */ -static char * outfilename; /* for -outfile switch */ - - -LOCAL(void) -usage (void) -/* complain about bad command line */ -{ - fprintf(stderr, "usage: %s [switches] ", progname); -#ifdef TWO_FILE_COMMANDLINE - fprintf(stderr, "inputfile outputfile\n"); -#else - fprintf(stderr, "[inputfile]\n"); -#endif - - fprintf(stderr, "Switches (names may be abbreviated):\n"); - fprintf(stderr, " -colors N Reduce image to no more than N colors\n"); - fprintf(stderr, " -fast Fast, low-quality processing\n"); - fprintf(stderr, " -grayscale Force grayscale output\n"); -#ifdef IDCT_SCALING_SUPPORTED - fprintf(stderr, " -scale M/N Scale output image by fraction M/N, eg, 1/8\n"); -#endif -#ifdef BMP_SUPPORTED - fprintf(stderr, " -bmp Select BMP output format (Windows style)%s\n", - (DEFAULT_FMT == FMT_BMP ? " (default)" : "")); -#endif -#ifdef GIF_SUPPORTED - fprintf(stderr, " -gif Select GIF output format%s\n", - (DEFAULT_FMT == FMT_GIF ? " (default)" : "")); -#endif -#ifdef BMP_SUPPORTED - fprintf(stderr, " -os2 Select BMP output format (OS/2 style)%s\n", - (DEFAULT_FMT == FMT_OS2 ? " (default)" : "")); -#endif -#ifdef PPM_SUPPORTED - fprintf(stderr, " -pnm Select PBMPLUS (PPM/PGM) output format%s\n", - (DEFAULT_FMT == FMT_PPM ? " (default)" : "")); -#endif -#ifdef RLE_SUPPORTED - fprintf(stderr, " -rle Select Utah RLE output format%s\n", - (DEFAULT_FMT == FMT_RLE ? " (default)" : "")); -#endif -#ifdef TARGA_SUPPORTED - fprintf(stderr, " -targa Select Targa output format%s\n", - (DEFAULT_FMT == FMT_TARGA ? " (default)" : "")); -#endif - fprintf(stderr, "Switches for advanced users:\n"); -#ifdef DCT_ISLOW_SUPPORTED - fprintf(stderr, " -dct int Use integer DCT method%s\n", - (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); -#endif -#ifdef DCT_IFAST_SUPPORTED - fprintf(stderr, " -dct fast Use fast integer DCT (less accurate)%s\n", - (JDCT_DEFAULT == JDCT_IFAST ? " (default)" : "")); -#endif -#ifdef DCT_FLOAT_SUPPORTED - fprintf(stderr, " -dct float Use floating-point DCT method%s\n", - (JDCT_DEFAULT == JDCT_FLOAT ? " (default)" : "")); -#endif - fprintf(stderr, " -dither fs Use F-S dithering (default)\n"); - fprintf(stderr, " -dither none Don't use dithering in quantization\n"); - fprintf(stderr, " -dither ordered Use ordered dither (medium speed, quality)\n"); -#ifdef QUANT_2PASS_SUPPORTED - fprintf(stderr, " -map FILE Map to colors used in named image file\n"); -#endif - fprintf(stderr, " -nosmooth Don't use high-quality upsampling\n"); -#ifdef QUANT_1PASS_SUPPORTED - fprintf(stderr, " -onepass Use 1-pass quantization (fast, low quality)\n"); -#endif - fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); - fprintf(stderr, " -outfile name Specify name for output file\n"); - fprintf(stderr, " -verbose or -debug Emit debug output\n"); - exit(EXIT_FAILURE); -} - - -LOCAL(int) -parse_switches (j_decompress_ptr cinfo, int argc, char **argv, - int last_file_arg_seen, boolean for_real) -/* Parse optional switches. - * Returns argv[] index of first file-name argument (== argc if none). - * Any file names with indexes <= last_file_arg_seen are ignored; - * they have presumably been processed in a previous iteration. - * (Pass 0 for last_file_arg_seen on the first or only iteration.) - * for_real is FALSE on the first (dummy) pass; we may skip any expensive - * processing. - */ -{ - int argn; - char * arg; - - /* Set up default JPEG parameters. */ - requested_fmt = DEFAULT_FMT; /* set default output file format */ - outfilename = NULL; - cinfo->err->trace_level = 0; - - /* Scan command line options, adjust parameters */ - - for (argn = 1; argn < argc; argn++) { - arg = argv[argn]; - if (*arg != '-') { - /* Not a switch, must be a file name argument */ - if (argn <= last_file_arg_seen) { - outfilename = NULL; /* -outfile applies to just one input file */ - continue; /* ignore this name if previously processed */ - } - break; /* else done parsing switches */ - } - arg++; /* advance past switch marker character */ - - if (keymatch(arg, "bmp", 1)) { - /* BMP output format. */ - requested_fmt = FMT_BMP; - - } else if (keymatch(arg, "colors", 1) || keymatch(arg, "colours", 1) || - keymatch(arg, "quantize", 1) || keymatch(arg, "quantise", 1)) { - /* Do color quantization. */ - int val; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%d", &val) != 1) - usage(); - cinfo->desired_number_of_colors = val; - cinfo->quantize_colors = TRUE; - - } else if (keymatch(arg, "dct", 2)) { - /* Select IDCT algorithm. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "int", 1)) { - cinfo->dct_method = JDCT_ISLOW; - } else if (keymatch(argv[argn], "fast", 2)) { - cinfo->dct_method = JDCT_IFAST; - } else if (keymatch(argv[argn], "float", 2)) { - cinfo->dct_method = JDCT_FLOAT; - } else - usage(); - - } else if (keymatch(arg, "dither", 2)) { - /* Select dithering algorithm. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "fs", 2)) { - cinfo->dither_mode = JDITHER_FS; - } else if (keymatch(argv[argn], "none", 2)) { - cinfo->dither_mode = JDITHER_NONE; - } else if (keymatch(argv[argn], "ordered", 2)) { - cinfo->dither_mode = JDITHER_ORDERED; - } else - usage(); - - } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { - /* Enable debug printouts. */ - /* On first -d, print version identification */ - static boolean printed_version = FALSE; - - if (! printed_version) { - fprintf(stderr, "Independent JPEG Group's DJPEG, version %s\n%s\n", - JVERSION, JCOPYRIGHT); - printed_version = TRUE; - } - cinfo->err->trace_level++; - - } else if (keymatch(arg, "fast", 1)) { - /* Select recommended processing options for quick-and-dirty output. */ - cinfo->two_pass_quantize = FALSE; - cinfo->dither_mode = JDITHER_ORDERED; - if (! cinfo->quantize_colors) /* don't override an earlier -colors */ - cinfo->desired_number_of_colors = 216; - cinfo->dct_method = JDCT_FASTEST; - cinfo->do_fancy_upsampling = FALSE; - - } else if (keymatch(arg, "gif", 1)) { - /* GIF output format. */ - requested_fmt = FMT_GIF; - - } else if (keymatch(arg, "grayscale", 2) || keymatch(arg, "greyscale",2)) { - /* Force monochrome output. */ - cinfo->out_color_space = JCS_GRAYSCALE; - - } else if (keymatch(arg, "map", 3)) { - /* Quantize to a color map taken from an input file. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (for_real) { /* too expensive to do twice! */ -#ifdef QUANT_2PASS_SUPPORTED /* otherwise can't quantize to supplied map */ - FILE * mapfile; - - if ((mapfile = fopen(argv[argn], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]); - exit(EXIT_FAILURE); - } - read_color_map(cinfo, mapfile); - fclose(mapfile); - cinfo->quantize_colors = TRUE; -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } - - } else if (keymatch(arg, "maxmemory", 3)) { - /* Maximum memory in Kb (or Mb with 'm'). */ - long lval; - char ch = 'x'; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1) - usage(); - if (ch == 'm' || ch == 'M') - lval *= 1000L; - cinfo->mem->max_memory_to_use = lval * 1000L; - - } else if (keymatch(arg, "nosmooth", 3)) { - /* Suppress fancy upsampling */ - cinfo->do_fancy_upsampling = FALSE; - - } else if (keymatch(arg, "onepass", 3)) { - /* Use fast one-pass quantization. */ - cinfo->two_pass_quantize = FALSE; - - } else if (keymatch(arg, "os2", 3)) { - /* BMP output format (OS/2 flavor). */ - requested_fmt = FMT_OS2; - - } else if (keymatch(arg, "outfile", 4)) { - /* Set output file name. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - outfilename = argv[argn]; /* save it away for later use */ - - } else if (keymatch(arg, "pnm", 1) || keymatch(arg, "ppm", 1)) { - /* PPM/PGM output format. */ - requested_fmt = FMT_PPM; - - } else if (keymatch(arg, "rle", 1)) { - /* RLE output format. */ - requested_fmt = FMT_RLE; - - } else if (keymatch(arg, "scale", 1)) { - /* Scale the output image by a fraction M/N. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%d/%d", - &cinfo->scale_num, &cinfo->scale_denom) < 1) - usage(); - - } else if (keymatch(arg, "targa", 1)) { - /* Targa output format. */ - requested_fmt = FMT_TARGA; - - } else { - usage(); /* bogus switch */ - } - } - - return argn; /* return index of next arg (file name) */ -} - - -/* - * Marker processor for COM and interesting APPn markers. - * This replaces the library's built-in processor, which just skips the marker. - * We want to print out the marker as text, to the extent possible. - * Note this code relies on a non-suspending data source. - */ - -LOCAL(unsigned int) -jpeg_getc (j_decompress_ptr cinfo) -/* Read next byte */ -{ - struct jpeg_source_mgr * datasrc = cinfo->src; - - if (datasrc->bytes_in_buffer == 0) { - if (! (*datasrc->fill_input_buffer) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - } - datasrc->bytes_in_buffer--; - return GETJOCTET(*datasrc->next_input_byte++); -} - - -METHODDEF(boolean) -print_text_marker (j_decompress_ptr cinfo) -{ - boolean traceit = (cinfo->err->trace_level >= 1); - INT32 length; - unsigned int ch; - unsigned int lastch = 0; - - length = jpeg_getc(cinfo) << 8; - length += jpeg_getc(cinfo); - length -= 2; /* discount the length word itself */ - - if (traceit) { - if (cinfo->unread_marker == JPEG_COM) - fprintf(stderr, "Comment, length %ld:\n", (long) length); - else /* assume it is an APPn otherwise */ - fprintf(stderr, "APP%d, length %ld:\n", - cinfo->unread_marker - JPEG_APP0, (long) length); - } - - while (--length >= 0) { - ch = jpeg_getc(cinfo); - if (traceit) { - /* Emit the character in a readable form. - * Nonprintables are converted to \nnn form, - * while \ is converted to \\. - * Newlines in CR, CR/LF, or LF form will be printed as one newline. - */ - if (ch == '\r') { - fprintf(stderr, "\n"); - } else if (ch == '\n') { - if (lastch != '\r') - fprintf(stderr, "\n"); - } else if (ch == '\\') { - fprintf(stderr, "\\\\"); - } else if (isprint(ch)) { - putc(ch, stderr); - } else { - fprintf(stderr, "\\%03o", ch); - } - lastch = ch; - } - } - - if (traceit) - fprintf(stderr, "\n"); - - return TRUE; -} - - -/* - * The main program. - */ - -int -main (int argc, char **argv) -{ - struct jpeg_decompress_struct cinfo; - struct jpeg_error_mgr jerr; -#ifdef PROGRESS_REPORT - struct cdjpeg_progress_mgr progress; -#endif - int file_index; - djpeg_dest_ptr dest_mgr = NULL; - FILE * input_file; - FILE * output_file; - JDIMENSION num_scanlines; - - /* On Mac, fetch a command line. */ -#ifdef USE_CCOMMAND - argc = ccommand(&argv); -#endif - - progname = argv[0]; - if (progname == NULL || progname[0] == 0) - progname = "djpeg"; /* in case C library doesn't provide it */ - - /* Initialize the JPEG decompression object with default error handling. */ - cinfo.err = jpeg_std_error(&jerr); - jpeg_create_decompress(&cinfo); - /* Add some application-specific error messages (from cderror.h) */ - jerr.addon_message_table = cdjpeg_message_table; - jerr.first_addon_message = JMSG_FIRSTADDONCODE; - jerr.last_addon_message = JMSG_LASTADDONCODE; - - /* Insert custom marker processor for COM and APP12. - * APP12 is used by some digital camera makers for textual info, - * so we provide the ability to display it as text. - * If you like, additional APPn marker types can be selected for display, - * but don't try to override APP0 or APP14 this way (see libjpeg.doc). - */ - jpeg_set_marker_processor(&cinfo, JPEG_COM, print_text_marker); - jpeg_set_marker_processor(&cinfo, JPEG_APP0+12, print_text_marker); - - /* Now safe to enable signal catcher. */ -#ifdef NEED_SIGNAL_CATCHER - enable_signal_catcher((j_common_ptr) &cinfo); -#endif - - /* Scan command line to find file names. */ - /* It is convenient to use just one switch-parsing routine, but the switch - * values read here are ignored; we will rescan the switches after opening - * the input file. - * (Exception: tracing level set here controls verbosity for COM markers - * found during jpeg_read_header...) - */ - - file_index = parse_switches(&cinfo, argc, argv, 0, FALSE); - -#ifdef TWO_FILE_COMMANDLINE - /* Must have either -outfile switch or explicit output file name */ - if (outfilename == NULL) { - if (file_index != argc-2) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - outfilename = argv[file_index+1]; - } else { - if (file_index != argc-1) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - } -#else - /* Unix style: expect zero or one file name */ - if (file_index < argc-1) { - fprintf(stderr, "%s: only one input file\n", progname); - usage(); - } -#endif /* TWO_FILE_COMMANDLINE */ - - /* Open the input file. */ - if (file_index < argc) { - if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]); - exit(EXIT_FAILURE); - } - } else { - /* default input file is stdin */ - input_file = read_stdin(); - } - - /* Open the output file. */ - if (outfilename != NULL) { - if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, outfilename); - exit(EXIT_FAILURE); - } - } else { - /* default output file is stdout */ - output_file = write_stdout(); - } - -#ifdef PROGRESS_REPORT - start_progress_monitor((j_common_ptr) &cinfo, &progress); -#endif - - /* Specify data source for decompression */ - jpeg_stdio_src(&cinfo, input_file); - - /* Read file header, set default decompression parameters */ - (void) jpeg_read_header(&cinfo, TRUE); - - /* Adjust default decompression parameters by re-parsing the options */ - file_index = parse_switches(&cinfo, argc, argv, 0, TRUE); - - /* Initialize the output module now to let it override any crucial - * option settings (for instance, GIF wants to force color quantization). - */ - switch (requested_fmt) { -#ifdef BMP_SUPPORTED - case FMT_BMP: - dest_mgr = jinit_write_bmp(&cinfo, FALSE); - break; - case FMT_OS2: - dest_mgr = jinit_write_bmp(&cinfo, TRUE); - break; -#endif -#ifdef GIF_SUPPORTED - case FMT_GIF: - dest_mgr = jinit_write_gif(&cinfo); - break; -#endif -#ifdef PPM_SUPPORTED - case FMT_PPM: - dest_mgr = jinit_write_ppm(&cinfo); - break; -#endif -#ifdef RLE_SUPPORTED - case FMT_RLE: - dest_mgr = jinit_write_rle(&cinfo); - break; -#endif -#ifdef TARGA_SUPPORTED - case FMT_TARGA: - dest_mgr = jinit_write_targa(&cinfo); - break; -#endif - default: - ERREXIT(&cinfo, JERR_UNSUPPORTED_FORMAT); - break; - } - dest_mgr->output_file = output_file; - - /* Start decompressor */ - (void) jpeg_start_decompress(&cinfo); - - /* Write output file header */ - (*dest_mgr->start_output) (&cinfo, dest_mgr); - - /* Process data */ - while (cinfo.output_scanline < cinfo.output_height) { - num_scanlines = jpeg_read_scanlines(&cinfo, dest_mgr->buffer, - dest_mgr->buffer_height); - (*dest_mgr->put_pixel_rows) (&cinfo, dest_mgr, num_scanlines); - } - -#ifdef PROGRESS_REPORT - /* Hack: count final pass as done in case finish_output does an extra pass. - * The library won't have updated completed_passes. - */ - progress.pub.completed_passes = progress.pub.total_passes; -#endif - - /* Finish decompression and release memory. - * I must do it in this order because output module has allocated memory - * of lifespan JPOOL_IMAGE; it needs to finish before releasing memory. - */ - (*dest_mgr->finish_output) (&cinfo, dest_mgr); - (void) jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); - - /* Close files, if we opened them */ - if (input_file != stdin) - fclose(input_file); - if (output_file != stdout) - fclose(output_file); - -#ifdef PROGRESS_REPORT - end_progress_monitor((j_common_ptr) &cinfo); -#endif - - /* All done. */ - exit(jerr.num_warnings ? EXIT_WARNING : EXIT_SUCCESS); - return 0; /* suppress no-return-value warnings */ -} diff --git a/3rdparty/openctm/tools/jpeg/example.c b/3rdparty/openctm/tools/jpeg/example.c deleted file mode 100644 index e21cf1212..000000000 --- a/3rdparty/openctm/tools/jpeg/example.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * example.c - * - * This file illustrates how to use the IJG code as a subroutine library - * to read or write JPEG image files. You should look at this code in - * conjunction with the documentation file libjpeg.txt. - * - * This code will not do anything useful as-is, but it may be helpful as a - * skeleton for constructing routines that call the JPEG library. - * - * We present these routines in the same coding style used in the JPEG code - * (ANSI function definitions, etc); but you are of course free to code your - * routines in a different style if you prefer. - */ - -#include - -/* - * Include file for users of JPEG library. - * You will need to have included system headers that define at least - * the typedefs FILE and size_t before you can include jpeglib.h. - * (stdio.h is sufficient on ANSI-conforming systems.) - * You may also wish to include "jerror.h". - */ - -#include "jpeglib.h" - -/* - * is used for the optional error recovery mechanism shown in - * the second part of the example. - */ - -#include - - - -/******************** JPEG COMPRESSION SAMPLE INTERFACE *******************/ - -/* This half of the example shows how to feed data into the JPEG compressor. - * We present a minimal version that does not worry about refinements such - * as error recovery (the JPEG code will just exit() if it gets an error). - */ - - -/* - * IMAGE DATA FORMATS: - * - * The standard input image format is a rectangular array of pixels, with - * each pixel having the same number of "component" values (color channels). - * Each pixel row is an array of JSAMPLEs (which typically are unsigned chars). - * If you are working with color data, then the color values for each pixel - * must be adjacent in the row; for example, R,G,B,R,G,B,R,G,B,... for 24-bit - * RGB color. - * - * For this example, we'll assume that this data structure matches the way - * our application has stored the image in memory, so we can just pass a - * pointer to our image buffer. In particular, let's say that the image is - * RGB color and is described by: - */ - -extern JSAMPLE * image_buffer; /* Points to large array of R,G,B-order data */ -extern int image_height; /* Number of rows in image */ -extern int image_width; /* Number of columns in image */ - - -/* - * Sample routine for JPEG compression. We assume that the target file name - * and a compression quality factor are passed in. - */ - -GLOBAL(void) -write_JPEG_file (char * filename, int quality) -{ - /* This struct contains the JPEG compression parameters and pointers to - * working space (which is allocated as needed by the JPEG library). - * It is possible to have several such structures, representing multiple - * compression/decompression processes, in existence at once. We refer - * to any one struct (and its associated working data) as a "JPEG object". - */ - struct jpeg_compress_struct cinfo; - /* This struct represents a JPEG error handler. It is declared separately - * because applications often want to supply a specialized error handler - * (see the second half of this file for an example). But here we just - * take the easy way out and use the standard error handler, which will - * print a message on stderr and call exit() if compression fails. - * Note that this struct must live as long as the main JPEG parameter - * struct, to avoid dangling-pointer problems. - */ - struct jpeg_error_mgr jerr; - /* More stuff */ - FILE * outfile; /* target file */ - JSAMPROW row_pointer[1]; /* pointer to JSAMPLE row[s] */ - int row_stride; /* physical row width in image buffer */ - - /* Step 1: allocate and initialize JPEG compression object */ - - /* We have to set up the error handler first, in case the initialization - * step fails. (Unlikely, but it could happen if you are out of memory.) - * This routine fills in the contents of struct jerr, and returns jerr's - * address which we place into the link field in cinfo. - */ - cinfo.err = jpeg_std_error(&jerr); - /* Now we can initialize the JPEG compression object. */ - jpeg_create_compress(&cinfo); - - /* Step 2: specify data destination (eg, a file) */ - /* Note: steps 2 and 3 can be done in either order. */ - - /* Here we use the library-supplied code to send compressed data to a - * stdio stream. You can also write your own code to do something else. - * VERY IMPORTANT: use "b" option to fopen() if you are on a machine that - * requires it in order to write binary files. - */ - if ((outfile = fopen(filename, "wb")) == NULL) { - fprintf(stderr, "can't open %s\n", filename); - exit(1); - } - jpeg_stdio_dest(&cinfo, outfile); - - /* Step 3: set parameters for compression */ - - /* First we supply a description of the input image. - * Four fields of the cinfo struct must be filled in: - */ - cinfo.image_width = image_width; /* image width and height, in pixels */ - cinfo.image_height = image_height; - cinfo.input_components = 3; /* # of color components per pixel */ - cinfo.in_color_space = JCS_RGB; /* colorspace of input image */ - /* Now use the library's routine to set default compression parameters. - * (You must set at least cinfo.in_color_space before calling this, - * since the defaults depend on the source color space.) - */ - jpeg_set_defaults(&cinfo); - /* Now you can set any non-default parameters you wish to. - * Here we just illustrate the use of quality (quantization table) scaling: - */ - jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); - - /* Step 4: Start compressor */ - - /* TRUE ensures that we will write a complete interchange-JPEG file. - * Pass TRUE unless you are very sure of what you're doing. - */ - jpeg_start_compress(&cinfo, TRUE); - - /* Step 5: while (scan lines remain to be written) */ - /* jpeg_write_scanlines(...); */ - - /* Here we use the library's state variable cinfo.next_scanline as the - * loop counter, so that we don't have to keep track ourselves. - * To keep things simple, we pass one scanline per call; you can pass - * more if you wish, though. - */ - row_stride = image_width * 3; /* JSAMPLEs per row in image_buffer */ - - while (cinfo.next_scanline < cinfo.image_height) { - /* jpeg_write_scanlines expects an array of pointers to scanlines. - * Here the array is only one element long, but you could pass - * more than one scanline at a time if that's more convenient. - */ - row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride]; - (void) jpeg_write_scanlines(&cinfo, row_pointer, 1); - } - - /* Step 6: Finish compression */ - - jpeg_finish_compress(&cinfo); - /* After finish_compress, we can close the output file. */ - fclose(outfile); - - /* Step 7: release JPEG compression object */ - - /* This is an important step since it will release a good deal of memory. */ - jpeg_destroy_compress(&cinfo); - - /* And we're done! */ -} - - -/* - * SOME FINE POINTS: - * - * In the above loop, we ignored the return value of jpeg_write_scanlines, - * which is the number of scanlines actually written. We could get away - * with this because we were only relying on the value of cinfo.next_scanline, - * which will be incremented correctly. If you maintain additional loop - * variables then you should be careful to increment them properly. - * Actually, for output to a stdio stream you needn't worry, because - * then jpeg_write_scanlines will write all the lines passed (or else exit - * with a fatal error). Partial writes can only occur if you use a data - * destination module that can demand suspension of the compressor. - * (If you don't know what that's for, you don't need it.) - * - * If the compressor requires full-image buffers (for entropy-coding - * optimization or a multi-scan JPEG file), it will create temporary - * files for anything that doesn't fit within the maximum-memory setting. - * (Note that temp files are NOT needed if you use the default parameters.) - * On some systems you may need to set up a signal handler to ensure that - * temporary files are deleted if the program is interrupted. See libjpeg.txt. - * - * Scanlines MUST be supplied in top-to-bottom order if you want your JPEG - * files to be compatible with everyone else's. If you cannot readily read - * your data in that order, you'll need an intermediate array to hold the - * image. See rdtarga.c or rdbmp.c for examples of handling bottom-to-top - * source data using the JPEG code's internal virtual-array mechanisms. - */ - - - -/******************** JPEG DECOMPRESSION SAMPLE INTERFACE *******************/ - -/* This half of the example shows how to read data from the JPEG decompressor. - * It's a bit more refined than the above, in that we show: - * (a) how to modify the JPEG library's standard error-reporting behavior; - * (b) how to allocate workspace using the library's memory manager. - * - * Just to make this example a little different from the first one, we'll - * assume that we do not intend to put the whole image into an in-memory - * buffer, but to send it line-by-line someplace else. We need a one- - * scanline-high JSAMPLE array as a work buffer, and we will let the JPEG - * memory manager allocate it for us. This approach is actually quite useful - * because we don't need to remember to deallocate the buffer separately: it - * will go away automatically when the JPEG object is cleaned up. - */ - - -/* - * ERROR HANDLING: - * - * The JPEG library's standard error handler (jerror.c) is divided into - * several "methods" which you can override individually. This lets you - * adjust the behavior without duplicating a lot of code, which you might - * have to update with each future release. - * - * Our example here shows how to override the "error_exit" method so that - * control is returned to the library's caller when a fatal error occurs, - * rather than calling exit() as the standard error_exit method does. - * - * We use C's setjmp/longjmp facility to return control. This means that the - * routine which calls the JPEG library must first execute a setjmp() call to - * establish the return point. We want the replacement error_exit to do a - * longjmp(). But we need to make the setjmp buffer accessible to the - * error_exit routine. To do this, we make a private extension of the - * standard JPEG error handler object. (If we were using C++, we'd say we - * were making a subclass of the regular error handler.) - * - * Here's the extended error handler struct: - */ - -struct my_error_mgr { - struct jpeg_error_mgr pub; /* "public" fields */ - - jmp_buf setjmp_buffer; /* for return to caller */ -}; - -typedef struct my_error_mgr * my_error_ptr; - -/* - * Here's the routine that will replace the standard error_exit method: - */ - -METHODDEF(void) -my_error_exit (j_common_ptr cinfo) -{ - /* cinfo->err really points to a my_error_mgr struct, so coerce pointer */ - my_error_ptr myerr = (my_error_ptr) cinfo->err; - - /* Always display the message. */ - /* We could postpone this until after returning, if we chose. */ - (*cinfo->err->output_message) (cinfo); - - /* Return control to the setjmp point */ - longjmp(myerr->setjmp_buffer, 1); -} - - -/* - * Sample routine for JPEG decompression. We assume that the source file name - * is passed in. We want to return 1 on success, 0 on error. - */ - - -GLOBAL(int) -read_JPEG_file (char * filename) -{ - /* This struct contains the JPEG decompression parameters and pointers to - * working space (which is allocated as needed by the JPEG library). - */ - struct jpeg_decompress_struct cinfo; - /* We use our private extension JPEG error handler. - * Note that this struct must live as long as the main JPEG parameter - * struct, to avoid dangling-pointer problems. - */ - struct my_error_mgr jerr; - /* More stuff */ - FILE * infile; /* source file */ - JSAMPARRAY buffer; /* Output row buffer */ - int row_stride; /* physical row width in output buffer */ - - /* In this example we want to open the input file before doing anything else, - * so that the setjmp() error recovery below can assume the file is open. - * VERY IMPORTANT: use "b" option to fopen() if you are on a machine that - * requires it in order to read binary files. - */ - - if ((infile = fopen(filename, "rb")) == NULL) { - fprintf(stderr, "can't open %s\n", filename); - return 0; - } - - /* Step 1: allocate and initialize JPEG decompression object */ - - /* We set up the normal JPEG error routines, then override error_exit. */ - cinfo.err = jpeg_std_error(&jerr.pub); - jerr.pub.error_exit = my_error_exit; - /* Establish the setjmp return context for my_error_exit to use. */ - if (setjmp(jerr.setjmp_buffer)) { - /* If we get here, the JPEG code has signaled an error. - * We need to clean up the JPEG object, close the input file, and return. - */ - jpeg_destroy_decompress(&cinfo); - fclose(infile); - return 0; - } - /* Now we can initialize the JPEG decompression object. */ - jpeg_create_decompress(&cinfo); - - /* Step 2: specify data source (eg, a file) */ - - jpeg_stdio_src(&cinfo, infile); - - /* Step 3: read file parameters with jpeg_read_header() */ - - (void) jpeg_read_header(&cinfo, TRUE); - /* We can ignore the return value from jpeg_read_header since - * (a) suspension is not possible with the stdio data source, and - * (b) we passed TRUE to reject a tables-only JPEG file as an error. - * See libjpeg.txt for more info. - */ - - /* Step 4: set parameters for decompression */ - - /* In this example, we don't need to change any of the defaults set by - * jpeg_read_header(), so we do nothing here. - */ - - /* Step 5: Start decompressor */ - - (void) jpeg_start_decompress(&cinfo); - /* We can ignore the return value since suspension is not possible - * with the stdio data source. - */ - - /* We may need to do some setup of our own at this point before reading - * the data. After jpeg_start_decompress() we have the correct scaled - * output image dimensions available, as well as the output colormap - * if we asked for color quantization. - * In this example, we need to make an output work buffer of the right size. - */ - /* JSAMPLEs per row in output buffer */ - row_stride = cinfo.output_width * cinfo.output_components; - /* Make a one-row-high sample array that will go away when done with image */ - buffer = (*cinfo.mem->alloc_sarray) - ((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1); - - /* Step 6: while (scan lines remain to be read) */ - /* jpeg_read_scanlines(...); */ - - /* Here we use the library's state variable cinfo.output_scanline as the - * loop counter, so that we don't have to keep track ourselves. - */ - while (cinfo.output_scanline < cinfo.output_height) { - /* jpeg_read_scanlines expects an array of pointers to scanlines. - * Here the array is only one element long, but you could ask for - * more than one scanline at a time if that's more convenient. - */ - (void) jpeg_read_scanlines(&cinfo, buffer, 1); - /* Assume put_scanline_someplace wants a pointer and sample count. */ - put_scanline_someplace(buffer[0], row_stride); - } - - /* Step 7: Finish decompression */ - - (void) jpeg_finish_decompress(&cinfo); - /* We can ignore the return value since suspension is not possible - * with the stdio data source. - */ - - /* Step 8: Release JPEG decompression object */ - - /* This is an important step since it will release a good deal of memory. */ - jpeg_destroy_decompress(&cinfo); - - /* After finish_decompress, we can close the input file. - * Here we postpone it until after no more JPEG errors are possible, - * so as to simplify the setjmp error logic above. (Actually, I don't - * think that jpeg_destroy can do an error exit, but why assume anything...) - */ - fclose(infile); - - /* At this point you may want to check to see whether any corrupt-data - * warnings occurred (test whether jerr.pub.num_warnings is nonzero). - */ - - /* And we're done! */ - return 1; -} - - -/* - * SOME FINE POINTS: - * - * In the above code, we ignored the return value of jpeg_read_scanlines, - * which is the number of scanlines actually read. We could get away with - * this because we asked for only one line at a time and we weren't using - * a suspending data source. See libjpeg.txt for more info. - * - * We cheated a bit by calling alloc_sarray() after jpeg_start_decompress(); - * we should have done it beforehand to ensure that the space would be - * counted against the JPEG max_memory setting. In some systems the above - * code would risk an out-of-memory error. However, in general we don't - * know the output image dimensions before jpeg_start_decompress(), unless we - * call jpeg_calc_output_dimensions(). See libjpeg.txt for more about this. - * - * Scanlines are returned in the same order as they appear in the JPEG file, - * which is standardly top-to-bottom. If you must emit data bottom-to-top, - * you can use one of the virtual arrays provided by the JPEG memory manager - * to invert the data. See wrbmp.c for an example. - * - * As with compression, some operating modes may require temporary files. - * On some systems you may need to set up a signal handler to ensure that - * temporary files are deleted if the program is interrupted. See libjpeg.txt. - */ diff --git a/3rdparty/openctm/tools/jpeg/filelist.txt b/3rdparty/openctm/tools/jpeg/filelist.txt deleted file mode 100644 index 6624de7a2..000000000 --- a/3rdparty/openctm/tools/jpeg/filelist.txt +++ /dev/null @@ -1,215 +0,0 @@ -IJG JPEG LIBRARY: FILE LIST - -Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding. -This file is part of the Independent JPEG Group's software. -For conditions of distribution and use, see the accompanying README file. - - -Here is a road map to the files in the IJG JPEG distribution. The -distribution includes the JPEG library proper, plus two application -programs ("cjpeg" and "djpeg") which use the library to convert JPEG -files to and from some other popular image formats. A third application -"jpegtran" uses the library to do lossless conversion between different -variants of JPEG. There are also two stand-alone applications, -"rdjpgcom" and "wrjpgcom". - - -THE JPEG LIBRARY -================ - -Include files: - -jpeglib.h JPEG library's exported data and function declarations. -jconfig.h Configuration declarations. Note: this file is not present - in the distribution; it is generated during installation. -jmorecfg.h Additional configuration declarations; need not be changed - for a standard installation. -jerror.h Declares JPEG library's error and trace message codes. -jinclude.h Central include file used by all IJG .c files to reference - system include files. -jpegint.h JPEG library's internal data structures. -jdct.h Private declarations for forward & reverse DCT subsystems. -jmemsys.h Private declarations for memory management subsystem. -jversion.h Version information. - -Applications using the library should include jpeglib.h (which in turn -includes jconfig.h and jmorecfg.h). Optionally, jerror.h may be included -if the application needs to reference individual JPEG error codes. The -other include files are intended for internal use and would not normally -be included by an application program. (cjpeg/djpeg/etc do use jinclude.h, -since its function is to improve portability of the whole IJG distribution. -Most other applications will directly include the system include files they -want, and hence won't need jinclude.h.) - - -C source code files: - -These files contain most of the functions intended to be called directly by -an application program: - -jcapimin.c Application program interface: core routines for compression. -jcapistd.c Application program interface: standard compression. -jdapimin.c Application program interface: core routines for decompression. -jdapistd.c Application program interface: standard decompression. -jcomapi.c Application program interface routines common to compression - and decompression. -jcparam.c Compression parameter setting helper routines. -jctrans.c API and library routines for transcoding compression. -jdtrans.c API and library routines for transcoding decompression. - -Compression side of the library: - -jcinit.c Initialization: determines which other modules to use. -jcmaster.c Master control: setup and inter-pass sequencing logic. -jcmainct.c Main buffer controller (preprocessor => JPEG compressor). -jcprepct.c Preprocessor buffer controller. -jccoefct.c Buffer controller for DCT coefficient buffer. -jccolor.c Color space conversion. -jcsample.c Downsampling. -jcdctmgr.c DCT manager (DCT implementation selection & control). -jfdctint.c Forward DCT using slow-but-accurate integer method. -jfdctfst.c Forward DCT using faster, less accurate integer method. -jfdctflt.c Forward DCT using floating-point arithmetic. -jchuff.c Huffman entropy coding. -jcarith.c Arithmetic entropy coding. -jcmarker.c JPEG marker writing. -jdatadst.c Data destination manager for stdio output. - -Decompression side of the library: - -jdmaster.c Master control: determines which other modules to use. -jdinput.c Input controller: controls input processing modules. -jdmainct.c Main buffer controller (JPEG decompressor => postprocessor). -jdcoefct.c Buffer controller for DCT coefficient buffer. -jdpostct.c Postprocessor buffer controller. -jdmarker.c JPEG marker reading. -jdhuff.c Huffman entropy decoding. -jdarith.c Arithmetic entropy decoding. -jddctmgr.c IDCT manager (IDCT implementation selection & control). -jidctint.c Inverse DCT using slow-but-accurate integer method. -jidctfst.c Inverse DCT using faster, less accurate integer method. -jidctflt.c Inverse DCT using floating-point arithmetic. -jdsample.c Upsampling. -jdcolor.c Color space conversion. -jdmerge.c Merged upsampling/color conversion (faster, lower quality). -jquant1.c One-pass color quantization using a fixed-spacing colormap. -jquant2.c Two-pass color quantization using a custom-generated colormap. - Also handles one-pass quantization to an externally given map. -jdatasrc.c Data source manager for stdio input. - -Support files for both compression and decompression: - -jaricom.c Tables for common use in arithmetic entropy encoding and - decoding routines. -jerror.c Standard error handling routines (application replaceable). -jmemmgr.c System-independent (more or less) memory management code. -jutils.c Miscellaneous utility routines. - -jmemmgr.c relies on a system-dependent memory management module. The IJG -distribution includes the following implementations of the system-dependent -module: - -jmemnobs.c "No backing store": assumes adequate virtual memory exists. -jmemansi.c Makes temporary files with ANSI-standard routine tmpfile(). -jmemname.c Makes temporary files with program-generated file names. -jmemdos.c Custom implementation for MS-DOS (16-bit environment only): - can use extended and expanded memory as well as temp files. -jmemmac.c Custom implementation for Apple Macintosh. - -Exactly one of the system-dependent modules should be configured into an -installed JPEG library (see install.txt for hints about which one to use). -On unusual systems you may find it worthwhile to make a special -system-dependent memory manager. - - -Non-C source code files: - -jmemdosa.asm 80x86 assembly code support for jmemdos.c; used only in - MS-DOS-specific configurations of the JPEG library. - - -CJPEG/DJPEG/JPEGTRAN -==================== - -Include files: - -cdjpeg.h Declarations shared by cjpeg/djpeg/jpegtran modules. -cderror.h Additional error and trace message codes for cjpeg et al. -transupp.h Declarations for jpegtran support routines in transupp.c. - -C source code files: - -cjpeg.c Main program for cjpeg. -djpeg.c Main program for djpeg. -jpegtran.c Main program for jpegtran. -cdjpeg.c Utility routines used by all three programs. -rdcolmap.c Code to read a colormap file for djpeg's "-map" switch. -rdswitch.c Code to process some of cjpeg's more complex switches. - Also used by jpegtran. -transupp.c Support code for jpegtran: lossless image manipulations. - -Image file reader modules for cjpeg: - -rdbmp.c BMP file input. -rdgif.c GIF file input (now just a stub). -rdppm.c PPM/PGM file input. -rdrle.c Utah RLE file input. -rdtarga.c Targa file input. - -Image file writer modules for djpeg: - -wrbmp.c BMP file output. -wrgif.c GIF file output (a mere shadow of its former self). -wrppm.c PPM/PGM file output. -wrrle.c Utah RLE file output. -wrtarga.c Targa file output. - - -RDJPGCOM/WRJPGCOM -================= - -C source code files: - -rdjpgcom.c Stand-alone rdjpgcom application. -wrjpgcom.c Stand-alone wrjpgcom application. - -These programs do not depend on the IJG library. They do use -jconfig.h and jinclude.h, only to improve portability. - - -ADDITIONAL FILES -================ - -Documentation (see README for a guide to the documentation files): - -README Master documentation file. -*.txt Other documentation files. -*.1 Documentation in Unix man page format. -change.log Version-to-version change highlights. -example.c Sample code for calling JPEG library. - -Configuration/installation files and programs (see install.txt for more info): - -configure Unix shell script to perform automatic configuration. -configure.ac Source file for use with Autoconf to generate configure. -ltmain.sh Support scripts for configure (from GNU libtool). -config.guess -config.sub -depcomp -missing -install-sh Install shell script for those Unix systems lacking one. -Makefile.in Makefile input for configure. -Makefile.am Source file for use with Automake to generate Makefile.in. -ckconfig.c Program to generate jconfig.h on non-Unix systems. -jconfig.txt Template for making jconfig.h by hand. -mak*.* Sample makefiles for particular systems. -jconfig.* Sample jconfig.h for particular systems. -libjpeg.map Script to generate shared library with versioned symbols. -aclocal.m4 M4 macro definitions for use with Autoconf. -ansi2knr.c De-ANSIfier for pre-ANSI C compilers (courtesy of - L. Peter Deutsch and Aladdin Enterprises). - -Test files (see install.txt for test procedure): - -test*.* Source and comparison files for confidence test. - These are binary image files, NOT text files. diff --git a/3rdparty/openctm/tools/jpeg/install-sh b/3rdparty/openctm/tools/jpeg/install-sh deleted file mode 100644 index 16c160754..000000000 --- a/3rdparty/openctm/tools/jpeg/install-sh +++ /dev/null @@ -1,520 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2009-04-28.21; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/3rdparty/openctm/tools/jpeg/install.txt b/3rdparty/openctm/tools/jpeg/install.txt deleted file mode 100644 index 24bb4ee9e..000000000 --- a/3rdparty/openctm/tools/jpeg/install.txt +++ /dev/null @@ -1,1097 +0,0 @@ -INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software - -Copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding. -This file is part of the Independent JPEG Group's software. -For conditions of distribution and use, see the accompanying README file. - - -This file explains how to configure and install the IJG software. We have -tried to make this software extremely portable and flexible, so that it can be -adapted to almost any environment. The downside of this decision is that the -installation process is complicated. We have provided shortcuts to simplify -the task on common systems. But in any case, you will need at least a little -familiarity with C programming and program build procedures for your system. - -If you are only using this software as part of a larger program, the larger -program's installation procedure may take care of configuring the IJG code. -For example, Ghostscript's installation script will configure the IJG code. -You don't need to read this file if you just want to compile Ghostscript. - -If you are on a Unix machine, you may not need to read this file at all. -Try doing - ./configure - make - make test -If that doesn't complain, do - make install -(better do "make -n install" first to see if the makefile will put the files -where you want them). Read further if you run into snags or want to customize -the code for your system. - - -TABLE OF CONTENTS ------------------ - -Before you start -Configuring the software: - using the automatic "configure" script - using one of the supplied jconfig and makefile files - by hand -Building the software -Testing the software -Installing the software -Optional stuff -Optimization -Hints for specific systems - - -BEFORE YOU START -================ - -Before installing the software you must unpack the distributed source code. -Since you are reading this file, you have probably already succeeded in this -task. However, there is a potential for error if you needed to convert the -files to the local standard text file format (for example, if you are on -MS-DOS you may have converted LF end-of-line to CR/LF). You must apply -such conversion to all the files EXCEPT those whose names begin with "test". -The test files contain binary data; if you change them in any way then the -self-test will give bad results. - -Please check the last section of this file to see if there are hints for the -specific machine or compiler you are using. - - -CONFIGURING THE SOFTWARE -======================== - -To configure the IJG code for your system, you need to create two files: - * jconfig.h: contains values for system-dependent #define symbols. - * Makefile: controls the compilation process. -(On a non-Unix machine, you may create "project files" or some other -substitute for a Makefile. jconfig.h is needed in any environment.) - -We provide three different ways to generate these files: - * On a Unix system, you can just run the "configure" script. - * We provide sample jconfig files and makefiles for popular machines; - if your machine matches one of the samples, just copy the right sample - files to jconfig.h and Makefile. - * If all else fails, read the instructions below and make your own files. - - -Configuring the software using the automatic "configure" script ---------------------------------------------------------------- - -If you are on a Unix machine, you can just type - ./configure -and let the configure script construct appropriate configuration files. -If you're using "csh" on an old version of System V, you might need to type - sh configure -instead to prevent csh from trying to execute configure itself. -Expect configure to run for a few minutes, particularly on slower machines; -it works by compiling a series of test programs. - -Configure was created with GNU Autoconf and it follows the usual conventions -for GNU configure scripts. It makes a few assumptions that you may want to -override. You can do this by providing optional switches to configure: - -* Configure will build both static and shared libraries, if possible. -If you want to build libjpeg only as a static library, say - ./configure --disable-shared -If you want to build libjpeg only as a shared library, say - ./configure --disable-static -Configure uses GNU libtool to take care of system-dependent shared library -building methods. - -* Configure will use gcc (GNU C compiler) if it's available, otherwise cc. -To force a particular compiler to be selected, use the CC option, for example - ./configure CC='cc' -The same method can be used to include any unusual compiler switches. -For example, on HP-UX you probably want to say - ./configure CC='cc -Aa' -to get HP's compiler to run in ANSI mode. - -* The default CFLAGS setting is "-g" for non-gcc compilers, "-g -O2" for gcc. -You can override this by saying, for example, - ./configure CFLAGS='-O2' -if you want to compile without debugging support. - -* Configure will set up the makefile so that "make install" will install files -into /usr/local/bin, /usr/local/man, etc. You can specify an installation -prefix other than "/usr/local" by giving configure the option "--prefix=PATH". - -* If you don't have a lot of swap space, you may need to enable the IJG -software's internal virtual memory mechanism. To do this, give the option -"--enable-maxmem=N" where N is the default maxmemory limit in megabytes. -This is discussed in more detail under "Selecting a memory manager", below. -You probably don't need to worry about this on reasonably-sized Unix machines, -unless you plan to process very large images. - -Configure has some other features that are useful if you are cross-compiling -or working in a network of multiple machine types; but if you need those -features, you probably already know how to use them. - - -Configuring the software using one of the supplied jconfig and makefile files ------------------------------------------------------------------------------ - -If you have one of these systems, you can just use the provided configuration -files: - -Makefile jconfig file System and/or compiler - -makefile.manx jconfig.manx Amiga, Manx Aztec C -makefile.sas jconfig.sas Amiga, SAS C -makeproj.mac jconfig.mac Apple Macintosh, Metrowerks CodeWarrior -mak*jpeg.st jconfig.st Atari ST/STE/TT, Pure C or Turbo C -makefile.bcc jconfig.bcc MS-DOS or OS/2, Borland C -makefile.dj jconfig.dj MS-DOS, DJGPP (Delorie's port of GNU C) -makefile.mc6 jconfig.mc6 MS-DOS, Microsoft C (16-bit only) -makefile.wat jconfig.wat MS-DOS, OS/2, or Windows NT, Watcom C -makefile.vc jconfig.vc Windows NT/95, MS Visual C++ -make*.vc6 jconfig.vc Windows NT/95, MS Visual C++ 6 -make*.vc9 jconfig.vc Windows NT/95, MS Visual C++ 2008 (v9) -makefile.mms jconfig.vms Digital VMS, with MMS software -makefile.vms jconfig.vms Digital VMS, without MMS software - -Copy the proper jconfig file to jconfig.h and the makefile to Makefile (or -whatever your system uses as the standard makefile name). For more info see -the appropriate system-specific hints section near the end of this file. - - -Configuring the software by hand --------------------------------- - -First, generate a jconfig.h file. If you are moderately familiar with C, -the comments in jconfig.txt should be enough information to do this; just -copy jconfig.txt to jconfig.h and edit it appropriately. Otherwise, you may -prefer to use the ckconfig.c program. You will need to compile and execute -ckconfig.c by hand --- we hope you know at least enough to do that. -ckconfig.c may not compile the first try (in fact, the whole idea is for it -to fail if anything is going to). If you get compile errors, fix them by -editing ckconfig.c according to the directions given in ckconfig.c. Once -you get it to run, it will write a suitable jconfig.h file, and will also -print out some advice about which makefile to use. - -You may also want to look at the canned jconfig files, if there is one for a -system similar to yours. - -Second, select a makefile and copy it to Makefile (or whatever your system -uses as the standard makefile name). The most generic makefiles we provide -are - makefile.ansi: if your C compiler supports function prototypes - makefile.unix: if not. -(You have function prototypes if ckconfig.c put "#define HAVE_PROTOTYPES" -in jconfig.h.) You may want to start from one of the other makefiles if -there is one for a system similar to yours. - -Look over the selected Makefile and adjust options as needed. In particular -you may want to change the CC and CFLAGS definitions. For instance, if you -are using GCC, set CC=gcc. If you had to use any compiler switches to get -ckconfig.c to work, make sure the same switches are in CFLAGS. - -If you are on a system that doesn't use makefiles, you'll need to set up -project files (or whatever you do use) to compile all the source files and -link them into executable files cjpeg, djpeg, jpegtran, rdjpgcom, and wrjpgcom. -See the file lists in any of the makefiles to find out which files go into -each program. Note that the provided makefiles all make a "library" file -libjpeg first, but you don't have to do that if you don't want to; the file -lists identify which source files are actually needed for compression, -decompression, or both. As a last resort, you can make a batch script that -just compiles everything and links it all together; makefile.vms is an example -of this (it's for VMS systems that have no make-like utility). - -Here are comments about some specific configuration decisions you'll -need to make: - -Command line style ------------------- - -These programs can use a Unix-like command line style which supports -redirection and piping, like this: - cjpeg inputfile >outputfile - cjpeg outputfile - source program | cjpeg >outputfile -The simpler "two file" command line style is just - cjpeg inputfile outputfile -You may prefer the two-file style, particularly if you don't have pipes. - -You MUST use two-file style on any system that doesn't cope well with binary -data fed through stdin/stdout; this is true for some MS-DOS compilers, for -example. If you're not on a Unix system, it's safest to assume you need -two-file style. (But if your compiler provides either the Posix-standard -fdopen() library routine or a Microsoft-compatible setmode() routine, you -can safely use the Unix command line style, by defining USE_FDOPEN or -USE_SETMODE respectively.) - -To use the two-file style, make jconfig.h say "#define TWO_FILE_COMMANDLINE". - -Selecting a memory manager --------------------------- - -The IJG code is capable of working on images that are too big to fit in main -memory; data is swapped out to temporary files as necessary. However, the -code to do this is rather system-dependent. We provide five different -memory managers: - -* jmemansi.c This version uses the ANSI-standard library routine tmpfile(), - which not all non-ANSI systems have. On some systems - tmpfile() may put the temporary file in a non-optimal - location; if you don't like what it does, use jmemname.c. - -* jmemname.c This version creates named temporary files. For anything - except a Unix machine, you'll need to configure the - select_file_name() routine appropriately; see the comments - near the head of jmemname.c. If you use this version, define - NEED_SIGNAL_CATCHER in jconfig.h to make sure the temp files - are removed if the program is aborted. - -* jmemnobs.c (That stands for No Backing Store :-).) This will compile on - almost any system, but it assumes you have enough main memory - or virtual memory to hold the biggest images you work with. - -* jmemdos.c This should be used with most 16-bit MS-DOS compilers. - See the system-specific notes about MS-DOS for more info. - IMPORTANT: if you use this, define USE_MSDOS_MEMMGR in - jconfig.h, and include the assembly file jmemdosa.asm in the - programs. The supplied makefiles and jconfig files for - 16-bit MS-DOS compilers already do both. - -* jmemmac.c Custom version for Apple Macintosh; see the system-specific - notes for Macintosh for more info. - -To use a particular memory manager, change the SYSDEPMEM variable in your -makefile to equal the corresponding object file name (for example, jmemansi.o -or jmemansi.obj for jmemansi.c). - -If you have plenty of (real or virtual) main memory, just use jmemnobs.c. -"Plenty" means about ten bytes for every pixel in the largest images -you plan to process, so a lot of systems don't meet this criterion. -If yours doesn't, try jmemansi.c first. If that doesn't compile, you'll have -to use jmemname.c; be sure to adjust select_file_name() for local conditions. -You may also need to change unlink() to remove() in close_backing_store(). - -Except with jmemnobs.c or jmemmac.c, you need to adjust the DEFAULT_MAX_MEM -setting to a reasonable value for your system (either by adding a #define for -DEFAULT_MAX_MEM to jconfig.h, or by adding a -D switch to the Makefile). -This value limits the amount of data space the program will attempt to -allocate. Code and static data space isn't counted, so the actual memory -needs for cjpeg or djpeg are typically 100 to 150Kb more than the max-memory -setting. Larger max-memory settings reduce the amount of I/O needed to -process a large image, but too large a value can result in "insufficient -memory" failures. On most Unix machines (and other systems with virtual -memory), just set DEFAULT_MAX_MEM to several million and forget it. At the -other end of the spectrum, for MS-DOS machines you probably can't go much -above 300K to 400K. (On MS-DOS the value refers to conventional memory only. -Extended/expanded memory is handled separately by jmemdos.c.) - - -BUILDING THE SOFTWARE -===================== - -Now you should be able to compile the software. Just say "make" (or -whatever's necessary to start the compilation). Have a cup of coffee. - -Here are some things that could go wrong: - -If your compiler complains about undefined structures, you should be able to -shut it up by putting "#define INCOMPLETE_TYPES_BROKEN" in jconfig.h. - -If you have trouble with missing system include files or inclusion of the -wrong ones, read jinclude.h. This shouldn't happen if you used configure -or ckconfig.c to set up jconfig.h. - -There are a fair number of routines that do not use all of their parameters; -some compilers will issue warnings about this, which you can ignore. There -are also a few configuration checks that may give "unreachable code" warnings. -Any other warning deserves investigation. - -If you don't have a getenv() library routine, define NO_GETENV. - -Also see the system-specific hints, below. - - -TESTING THE SOFTWARE -==================== - -As a quick test of functionality we've included a small sample image in -several forms: - testorig.jpg Starting point for the djpeg tests. - testimg.ppm The output of djpeg testorig.jpg - testimg.bmp The output of djpeg -bmp -colors 256 testorig.jpg - testimg.jpg The output of cjpeg testimg.ppm - testprog.jpg Progressive-mode equivalent of testorig.jpg. - testimgp.jpg The output of cjpeg -progressive -optimize testimg.ppm -(The first- and second-generation .jpg files aren't identical since JPEG is -lossy.) If you can generate duplicates of the testimg* files then you -probably have working programs. - -With most of the makefiles, "make test" will perform the necessary -comparisons. - -If you're using a makefile that doesn't provide the test option, run djpeg -and cjpeg by hand and compare the output files to testimg* with whatever -binary file comparison tool you have. The files should be bit-for-bit -identical. - -If the programs complain "MAX_ALLOC_CHUNK is wrong, please fix", then you -need to reduce MAX_ALLOC_CHUNK to a value that fits in type size_t. -Try adding "#define MAX_ALLOC_CHUNK 65520L" to jconfig.h. A less likely -configuration error is "ALIGN_TYPE is wrong, please fix": defining ALIGN_TYPE -as long should take care of that one. - -If the cjpeg test run fails with "Missing Huffman code table entry", it's a -good bet that you needed to define RIGHT_SHIFT_IS_UNSIGNED. Go back to the -configuration step and run ckconfig.c. (This is a good plan for any other -test failure, too.) - -If you are using Unix (one-file) command line style on a non-Unix system, -it's a good idea to check that binary I/O through stdin/stdout actually -works. You should get the same results from "djpeg out.ppm" -as from "djpeg -outfile out.ppm testorig.jpg". Note that the makefiles all -use the latter style and therefore do not exercise stdin/stdout! If this -check fails, try recompiling with USE_SETMODE or USE_FDOPEN defined. -If it still doesn't work, better use two-file style. - -If you chose a memory manager other than jmemnobs.c, you should test that -temporary-file usage works. Try "djpeg -bmp -colors 256 -max 0 testorig.jpg" -and make sure its output matches testimg.bmp. If you have any really large -images handy, try compressing them with -optimize and/or decompressing with --colors 256 to make sure your DEFAULT_MAX_MEM setting is not too large. - -NOTE: this is far from an exhaustive test of the JPEG software; some modules, -such as 1-pass color quantization, are not exercised at all. It's just a -quick test to give you some confidence that you haven't missed something -major. - - -INSTALLING THE SOFTWARE -======================= - -Once you're done with the above steps, you can install the software by -copying the executable files (cjpeg, djpeg, jpegtran, rdjpgcom, and wrjpgcom) -to wherever you normally install programs. On Unix systems, you'll also want -to put the man pages (cjpeg.1, djpeg.1, jpegtran.1, rdjpgcom.1, wrjpgcom.1) -in the man-page directory. The pre-fab makefiles don't support this step -since there's such a wide variety of installation procedures on different -systems. - -If you generated a Makefile with the "configure" script, you can just say - make install -to install the programs and their man pages into the standard places. -(You'll probably need to be root to do this.) We recommend first saying - make -n install -to see where configure thought the files should go. You may need to edit -the Makefile, particularly if your system's conventions for man page -filenames don't match what configure expects. - -If you want to install the IJG library itself, for use in compiling other -programs besides ours, then you need to put the four include files - jpeglib.h jerror.h jconfig.h jmorecfg.h -into your include-file directory, and put the library file libjpeg.a -(extension may vary depending on system) wherever library files go. -If you generated a Makefile with "configure", it will do what it thinks -is the right thing if you say - make install-lib - - -OPTIONAL STUFF -============== - -Progress monitor: - -If you like, you can #define PROGRESS_REPORT (in jconfig.h) to enable display -of percent-done progress reports. The routine provided in cdjpeg.c merely -prints percentages to stderr, but you can customize it to do something -fancier. - -Utah RLE file format support: - -We distribute the software with support for RLE image files (Utah Raster -Toolkit format) disabled, because the RLE support won't compile without the -Utah library. If you have URT version 3.1 or later, you can enable RLE -support as follows: - 1. #define RLE_SUPPORTED in jconfig.h. - 2. Add a -I option to CFLAGS in the Makefile for the directory - containing the URT .h files (typically the "include" - subdirectory of the URT distribution). - 3. Add -L... -lrle to LDLIBS in the Makefile, where ... specifies - the directory containing the URT "librle.a" file (typically the - "lib" subdirectory of the URT distribution). - -Support for 12-bit-deep pixel data: - -The JPEG standard allows either 8-bit or 12-bit data precision. (For color, -this means 8 or 12 bits per channel, of course.) If you need to work with -deeper than 8-bit data, you can compile the IJG code for 12-bit operation. -To do so: - 1. In jmorecfg.h, define BITS_IN_JSAMPLE as 12 rather than 8. - 2. In jconfig.h, undefine BMP_SUPPORTED, RLE_SUPPORTED, and TARGA_SUPPORTED, - because the code for those formats doesn't handle 12-bit data and won't - even compile. (The PPM code does work, as explained below. The GIF - code works too; it scales 8-bit GIF data to and from 12-bit depth - automatically.) - 3. Compile. Don't expect "make test" to pass, since the supplied test - files are for 8-bit data. - -Currently, 12-bit support does not work on 16-bit-int machines. - -Note that a 12-bit version will not read 8-bit JPEG files, nor vice versa; -so you'll want to keep around a regular 8-bit compilation as well. -(Run-time selection of data depth, to allow a single copy that does both, -is possible but would probably slow things down considerably; it's very low -on our to-do list.) - -The PPM reader (rdppm.c) can read 12-bit data from either text-format or -binary-format PPM and PGM files. Binary-format PPM/PGM files which have a -maxval greater than 255 are assumed to use 2 bytes per sample, MSB first -(big-endian order). As of early 1995, 2-byte binary format is not -officially supported by the PBMPLUS library, but it is expected that a -future release of PBMPLUS will support it. Note that the PPM reader will -read files of any maxval regardless of the BITS_IN_JSAMPLE setting; incoming -data is automatically rescaled to either maxval=255 or maxval=4095 as -appropriate for the cjpeg bit depth. - -The PPM writer (wrppm.c) will normally write 2-byte binary PPM or PGM -format, maxval 4095, when compiled with BITS_IN_JSAMPLE=12. Since this -format is not yet widely supported, you can disable it by compiling wrppm.c -with PPM_NORAWWORD defined; then the data is scaled down to 8 bits to make a -standard 1-byte/sample PPM or PGM file. (Yes, this means still another copy -of djpeg to keep around. But hopefully you won't need it for very long. -Poskanzer's supposed to get that new PBMPLUS release out Real Soon Now.) - -Of course, if you are working with 12-bit data, you probably have it stored -in some other, nonstandard format. In that case you'll probably want to -write your own I/O modules to read and write your format. - -Note that a 12-bit version of cjpeg always runs in "-optimize" mode, in -order to generate valid Huffman tables. This is necessary because our -default Huffman tables only cover 8-bit data. - -Removing code: - -If you need to make a smaller version of the JPEG software, some optional -functions can be removed at compile time. See the xxx_SUPPORTED #defines in -jconfig.h and jmorecfg.h. If at all possible, we recommend that you leave in -decoder support for all valid JPEG files, to ensure that you can read anyone's -output. Taking out support for image file formats that you don't use is the -most painless way to make the programs smaller. Another possibility is to -remove some of the DCT methods: in particular, the "IFAST" method may not be -enough faster than the others to be worth keeping on your machine. (If you -do remove ISLOW or IFAST, be sure to redefine JDCT_DEFAULT or JDCT_FASTEST -to a supported method, by adding a #define in jconfig.h.) - - -OPTIMIZATION -============ - -Unless you own a Cray, you'll probably be interested in making the JPEG -software go as fast as possible. This section covers some machine-dependent -optimizations you may want to try. We suggest that before trying any of -this, you first get the basic installation to pass the self-test step. -Repeat the self-test after any optimization to make sure that you haven't -broken anything. - -The integer DCT routines perform a lot of multiplications. These -multiplications must yield 32-bit results, but none of their input values -are more than 16 bits wide. On many machines, notably the 680x0 and 80x86 -CPUs, a 16x16=>32 bit multiply instruction is faster than a full 32x32=>32 -bit multiply. Unfortunately there is no portable way to specify such a -multiplication in C, but some compilers can generate one when you use the -right combination of casts. See the MULTIPLYxxx macro definitions in -jdct.h. If your compiler makes "int" be 32 bits and "short" be 16 bits, -defining SHORTxSHORT_32 is fairly likely to work. When experimenting with -alternate definitions, be sure to test not only whether the code still works -(use the self-test), but also whether it is actually faster --- on some -compilers, alternate definitions may compute the right answer, yet be slower -than the default. Timing cjpeg on a large PGM (grayscale) input file is the -best way to check this, as the DCT will be the largest fraction of the runtime -in that mode. (Note: some of the distributed compiler-specific jconfig files -already contain #define switches to select appropriate MULTIPLYxxx -definitions.) - -If your machine has sufficiently fast floating point hardware, you may find -that the float DCT method is faster than the integer DCT methods, even -after tweaking the integer multiply macros. In that case you may want to -make the float DCT be the default method. (The only objection to this is -that float DCT results may vary slightly across machines.) To do that, add -"#define JDCT_DEFAULT JDCT_FLOAT" to jconfig.h. Even if you don't change -the default, you should redefine JDCT_FASTEST, which is the method selected -by djpeg's -fast switch. Don't forget to update the documentation files -(usage.txt and/or cjpeg.1, djpeg.1) to agree with what you've done. - -If access to "short" arrays is slow on your machine, it may be a win to -define type JCOEF as int rather than short. This will cost a good deal of -memory though, particularly in some multi-pass modes, so don't do it unless -you have memory to burn and short is REALLY slow. - -If your compiler can compile function calls in-line, make sure the INLINE -macro in jmorecfg.h is defined as the keyword that marks a function -inline-able. Some compilers have a switch that tells the compiler to inline -any function it thinks is profitable (e.g., -finline-functions for gcc). -Enabling such a switch is likely to make the compiled code bigger but faster. - -In general, it's worth trying the maximum optimization level of your compiler, -and experimenting with any optional optimizations such as loop unrolling. -(Unfortunately, far too many compilers have optimizer bugs ... be prepared to -back off if the code fails self-test.) If you do any experimentation along -these lines, please report the optimal settings to jpeg-info@jpegclub.org so -we can mention them in future releases. Be sure to specify your machine and -compiler version. - - -HINTS FOR SPECIFIC SYSTEMS -========================== - -We welcome reports on changes needed for systems not mentioned here. Submit -'em to jpeg-info@jpegclub.org. Also, if configure or ckconfig.c is wrong -about how to configure the JPEG software for your system, please let us know. - - -Acorn RISC OS: - -(Thanks to Simon Middleton for these hints on compiling with Desktop C.) -After renaming the files according to Acorn conventions, take a copy of -makefile.ansi, change all occurrences of 'libjpeg.a' to 'libjpeg.o' and -change these definitions as indicated: - -CFLAGS= -throwback -IC: -Wn -LDLIBS=C:o.Stubs -SYSDEPMEM=jmemansi.o -LN=Link -AR=LibFile -c -o - -Also add a new line '.c.o:; $(cc) $< $(cflags) -c -o $@'. Remove the -lines '$(RM) libjpeg.o' and '$(AR2) libjpeg.o' and the 'jconfig.h' -dependency section. - -Copy jconfig.txt to jconfig.h. Edit jconfig.h to define TWO_FILE_COMMANDLINE -and CHAR_IS_UNSIGNED. - -Run the makefile using !AMU not !Make. If you want to use the 'clean' and -'test' makefile entries then you will have to fiddle with the syntax a bit -and rename the test files. - - -Amiga: - -SAS C 6.50 reportedly is too buggy to compile the IJG code properly. -A patch to update to 6.51 is available from SAS or AmiNet FTP sites. - -The supplied config files are set up to use jmemname.c as the memory -manager, with temporary files being created on the device named by -"JPEGTMP:". - - -Atari ST/STE/TT: - -Copy the project files makcjpeg.st, makdjpeg.st, maktjpeg.st, and makljpeg.st -to cjpeg.prj, djpeg.prj, jpegtran.prj, and libjpeg.prj respectively. The -project files should work as-is with Pure C. For Turbo C, change library -filenames "pc..." to "tc..." in each project file. Note that libjpeg.prj -selects jmemansi.c as the recommended memory manager. You'll probably want to -adjust the DEFAULT_MAX_MEM setting --- you want it to be a couple hundred K -less than your normal free memory. Put "#define DEFAULT_MAX_MEM nnnn" into -jconfig.h to do this. - -To use the 68881/68882 coprocessor for the floating point DCT, add the -compiler option "-8" to the project files and replace pcfltlib.lib with -pc881lib.lib in cjpeg.prj and djpeg.prj. Or if you don't have a -coprocessor, you may prefer to remove the float DCT code by undefining -DCT_FLOAT_SUPPORTED in jmorecfg.h (since without a coprocessor, the float -code will be too slow to be useful). In that case, you can delete -pcfltlib.lib from the project files. - -Note that you must make libjpeg.lib before making cjpeg.ttp, djpeg.ttp, -or jpegtran.ttp. You'll have to perform the self-test by hand. - -We haven't bothered to include project files for rdjpgcom and wrjpgcom. -Those source files should just be compiled by themselves; they don't -depend on the JPEG library. You can use the default.prj project file -of the Pure C distribution to make the programs. - -There is a bug in some older versions of the Turbo C library which causes the -space used by temporary files created with "tmpfile()" not to be freed after -an abnormal program exit. If you check your disk afterwards, you will find -cluster chains that are allocated but not used by a file. This should not -happen in cjpeg/djpeg/jpegtran, since we enable a signal catcher to explicitly -close temp files before exiting. But if you use the JPEG library with your -own code, be sure to supply a signal catcher, or else use a different -system-dependent memory manager. - - -Cray: - -Should you be so fortunate as to be running JPEG on a Cray YMP, there is a -compiler bug in old versions of Cray's Standard C (prior to 3.1). If you -still have an old compiler, you'll need to insert a line reading -"#pragma novector" just before the loop - for (i = 1; i <= (int) htbl->bits[l]; i++) - huffsize[p++] = (char) l; -in fix_huff_tbl (in V5beta1, line 204 of jchuff.c and line 176 of jdhuff.c). -[This bug may or may not still occur with the current IJG code, but it's -probably a dead issue anyway...] - - -HP-UX: - -If you have HP-UX 7.05 or later with the "software development" C compiler, -you should run the compiler in ANSI mode. If using the configure script, -say - ./configure CC='cc -Aa' -(or -Ae if you prefer). If configuring by hand, use makefile.ansi and add -"-Aa" to the CFLAGS line in the makefile. - -If you have a pre-7.05 system, or if you are using the non-ANSI C compiler -delivered with a minimum HP-UX system, then you must use makefile.unix -(and do NOT add -Aa); or just run configure without the CC option. - -On HP 9000 series 800 machines, the HP C compiler is buggy in revisions prior -to A.08.07. If you get complaints about "not a typedef name", you'll have to -use makefile.unix, or run configure without the CC option. - - -Macintosh, generic comments: - -The supplied user-interface files (cjpeg.c, djpeg.c, etc) are set up to -provide a Unix-style command line interface. You can use this interface on -the Mac by means of the ccommand() library routine provided by Metrowerks -CodeWarrior or Think C. This is only appropriate for testing the library, -however; to make a user-friendly equivalent of cjpeg/djpeg you'd really want -to develop a Mac-style user interface. There isn't a complete example -available at the moment, but there are some helpful starting points: -1. Sam Bushell's free "To JPEG" applet provides drag-and-drop conversion to -JPEG under System 7 and later. This only illustrates how to use the -compression half of the library, but it does a very nice job of that part. -The CodeWarrior source code is available from http://www.pobox.com/~jsam. -2. Jim Brunner prepared a Mac-style user interface for both compression and -decompression. Unfortunately, it hasn't been updated since IJG v4, and -the library's API has changed considerably since then. Still it may be of -some help, particularly as a guide to compiling the IJG code under Think C. -Jim's code is available from the Info-Mac archives, at sumex-aim.stanford.edu -or mirrors thereof; see file /info-mac/dev/src/jpeg-convert-c.hqx. - -jmemmac.c is the recommended memory manager back end for Macintosh. It uses -NewPtr/DisposePtr instead of malloc/free, and has a Mac-specific -implementation of jpeg_mem_available(). It also creates temporary files that -follow Mac conventions. (That part of the code relies on System-7-or-later OS -functions. See the comments in jmemmac.c if you need to run it on System 6.) -NOTE that USE_MAC_MEMMGR must be defined in jconfig.h to use jmemmac.c. - -You can also use jmemnobs.c, if you don't care about handling images larger -than available memory. If you use any memory manager back end other than -jmemmac.c, we recommend replacing "malloc" and "free" by "NewPtr" and -"DisposePtr", because Mac C libraries often have peculiar implementations of -malloc/free. (For instance, free() may not return the freed space to the -Mac Memory Manager. This is undesirable for the IJG code because jmemmgr.c -already clumps space requests.) - - -Macintosh, Metrowerks CodeWarrior: - -The Unix-command-line-style interface can be used by defining USE_CCOMMAND. -You'll also need to define TWO_FILE_COMMANDLINE to avoid stdin/stdout. -This means that when using the cjpeg/djpeg programs, you'll have to type the -input and output file names in the "Arguments" text-edit box, rather than -using the file radio buttons. (Perhaps USE_FDOPEN or USE_SETMODE would -eliminate the problem, but I haven't heard from anyone who's tried it.) - -On 680x0 Macs, Metrowerks defines type "double" as a 10-byte IEEE extended -float. jmemmgr.c won't like this: it wants sizeof(ALIGN_TYPE) to be a power -of 2. Add "#define ALIGN_TYPE long" to jconfig.h to eliminate the complaint. - -The supplied configuration file jconfig.mac can be used for your jconfig.h; -it includes all the recommended symbol definitions. If you have AppleScript -installed, you can run the supplied script makeproj.mac to create CodeWarrior -project files for the library and the testbed applications, then build the -library and applications. (Thanks to Dan Sears and Don Agro for this nifty -hack, which saves us from trying to maintain CodeWarrior project files as part -of the IJG distribution...) - - -Macintosh, Think C: - -The documentation in Jim Brunner's "JPEG Convert" source code (see above) -includes detailed build instructions for Think C; it's probably somewhat -out of date for the current release, but may be helpful. - -If you want to build the minimal command line version, proceed as follows. -You'll have to prepare project files for the programs; we don't include any -in the distribution since they are not text files. Use the file lists in -any of the supplied makefiles as a guide. Also add the ANSI and Unix C -libraries in a separate segment. You may need to divide the JPEG files into -more than one segment; we recommend dividing compression and decompression -modules. Define USE_CCOMMAND in jconfig.h so that the ccommand() routine is -called. You must also define TWO_FILE_COMMANDLINE because stdin/stdout -don't handle binary data correctly. - -On 680x0 Macs, Think C defines type "double" as a 12-byte IEEE extended float. -jmemmgr.c won't like this: it wants sizeof(ALIGN_TYPE) to be a power of 2. -Add "#define ALIGN_TYPE long" to jconfig.h to eliminate the complaint. - -jconfig.mac should work as a jconfig.h configuration file for Think C, -but the makeproj.mac AppleScript script is specific to CodeWarrior. Sorry. - - -MIPS R3000: - -MIPS's cc version 1.31 has a rather nasty optimization bug. Don't use -O -if you have that compiler version. (Use "cc -V" to check the version.) -Note that the R3000 chip is found in workstations from DEC and others. - - -MS-DOS, generic comments for 16-bit compilers: - -The IJG code is designed to work well in 80x86 "small" or "medium" memory -models (i.e., data pointers are 16 bits unless explicitly declared "far"; -code pointers can be either size). You may be able to use small model to -compile cjpeg or djpeg by itself, but you will probably have to use medium -model for any larger application. This won't make much difference in -performance. You *will* take a noticeable performance hit if you use a -large-data memory model, and you should avoid "huge" model if at all -possible. Be sure that NEED_FAR_POINTERS is defined in jconfig.h if you use -a small-data memory model; be sure it is NOT defined if you use a large-data -model. (The supplied makefiles and jconfig files for Borland and Microsoft C -compile in medium model and define NEED_FAR_POINTERS.) - -The DOS-specific memory manager, jmemdos.c, should be used if possible. -It needs some assembly-code routines which are in jmemdosa.asm; make sure -your makefile assembles that file and includes it in the library. If you -don't have a suitable assembler, you can get pre-assembled object files for -jmemdosa by FTP from ftp.uu.net:/graphics/jpeg/jdosaobj.zip. (DOS-oriented -distributions of the IJG source code often include these object files.) - -When using jmemdos.c, jconfig.h must define USE_MSDOS_MEMMGR and must set -MAX_ALLOC_CHUNK to less than 64K (65520L is a typical value). If your -C library's far-heap malloc() can't allocate blocks that large, reduce -MAX_ALLOC_CHUNK to whatever it can handle. - -If you can't use jmemdos.c for some reason --- for example, because you -don't have an assembler to assemble jmemdosa.asm --- you'll have to fall -back to jmemansi.c or jmemname.c. You'll probably still need to set -MAX_ALLOC_CHUNK in jconfig.h, because most DOS C libraries won't malloc() -more than 64K at a time. IMPORTANT: if you use jmemansi.c or jmemname.c, -you will have to compile in a large-data memory model in order to get the -right stdio library. Too bad. - -wrjpgcom needs to be compiled in large model, because it malloc()s a 64KB -work area to hold the comment text. If your C library's malloc can't -handle that, reduce MAX_COM_LENGTH as necessary in wrjpgcom.c. - -Most MS-DOS compilers treat stdin/stdout as text files, so you must use -two-file command line style. But if your compiler has either fdopen() or -setmode(), you can use one-file style if you like. To do this, define -USE_SETMODE or USE_FDOPEN so that stdin/stdout will be set to binary mode. -(USE_SETMODE seems to work with more DOS compilers than USE_FDOPEN.) You -should test that I/O through stdin/stdout produces the same results as I/O -to explicitly named files... the "make test" procedures in the supplied -makefiles do NOT use stdin/stdout. - - -MS-DOS, generic comments for 32-bit compilers: - -None of the above comments about memory models apply if you are using a -32-bit flat-memory-space environment, such as DJGPP or Watcom C. (And you -should use one if you have it, as performance will be much better than -8086-compatible code!) For flat-memory-space compilers, do NOT define -NEED_FAR_POINTERS, and do NOT use jmemdos.c. Use jmemnobs.c if the -environment supplies adequate virtual memory, otherwise use jmemansi.c or -jmemname.c. - -You'll still need to be careful about binary I/O through stdin/stdout. -See the last paragraph of the previous section. - - -MS-DOS, Borland C: - -Be sure to convert all the source files to DOS text format (CR/LF newlines). -Although Borland C will often work OK with unmodified Unix (LF newlines) -source files, sometimes it will give bogus compile errors. -"Illegal character '#'" is the most common such error. (This is true with -Borland C 3.1, but perhaps is fixed in newer releases.) - -If you want one-file command line style, just undefine TWO_FILE_COMMANDLINE. -jconfig.bcc already includes #define USE_SETMODE to make this work. -(fdopen does not work correctly.) - - -MS-DOS, Microsoft C: - -makefile.mc6 works with Microsoft C, DOS Visual C++, etc. It should only -be used if you want to build a 16-bit (small or medium memory model) program. - -If you want one-file command line style, just undefine TWO_FILE_COMMANDLINE. -jconfig.mc6 already includes #define USE_SETMODE to make this work. -(fdopen does not work correctly.) - -Note that this makefile assumes that the working copy of itself is called -"makefile". If you want to call it something else, say "makefile.mak", -be sure to adjust the dependency line that reads "$(RFILE) : makefile". -Otherwise the make will fail because it doesn't know how to create "makefile". -Worse, some releases of Microsoft's make utilities give an incorrect error -message in this situation. - -Old versions of MS C fail with an "out of macro expansion space" error -because they can't cope with the macro TRACEMS8 (defined in jerror.h). -If this happens to you, the easiest solution is to change TRACEMS8 to -expand to nothing. You'll lose the ability to dump out JPEG coefficient -tables with djpeg -debug -debug, but at least you can compile. - -Original MS C 6.0 is very buggy; it compiles incorrect code unless you turn -off optimization entirely (remove -O from CFLAGS). 6.00A is better, but it -still generates bad code if you enable loop optimizations (-Ol or -Ox). - -MS C 8.0 crashes when compiling jquant1.c with optimization switch /Oo ... -which is on by default. To work around this bug, compile that one file -with /Oo-. - - -Microsoft Windows (all versions), generic comments: - -Some Windows system include files define typedef boolean as "unsigned char". -The IJG code also defines typedef boolean, but we make it "int" by default. -This doesn't affect the IJG programs because we don't import those Windows -include files. But if you use the JPEG library in your own program, and some -of your program's files import one definition of boolean while some import the -other, you can get all sorts of mysterious problems. A good preventive step -is to make the IJG library use "unsigned char" for boolean. To do that, -add something like this to your jconfig.h file: - /* Define "boolean" as unsigned char, not int, per Windows custom */ - #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ - typedef unsigned char boolean; - #endif - #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ -(This is already in jconfig.vc, by the way.) - -windef.h contains the declarations - #define far - #define FAR far -Since jmorecfg.h tries to define FAR as empty, you may get a compiler -warning if you include both jpeglib.h and windef.h (which windows.h -includes). To suppress the warning, you can put "#ifndef FAR"/"#endif" -around the line "#define FAR" in jmorecfg.h. -(Something like this is already in jmorecfg.h, by the way.) - -When using the library in a Windows application, you will almost certainly -want to modify or replace the error handler module jerror.c, since our -default error handler does a couple of inappropriate things: - 1. it tries to write error and warning messages on stderr; - 2. in event of a fatal error, it exits by calling exit(). - -A simple stopgap solution for problem 1 is to replace the line - fprintf(stderr, "%s\n", buffer); -(in output_message in jerror.c) with - MessageBox(GetActiveWindow(),buffer,"JPEG Error",MB_OK|MB_ICONERROR); -It's highly recommended that you at least do that much, since otherwise -error messages will disappear into nowhere. (Beginning with IJG v6b, this -code is already present in jerror.c; just define USE_WINDOWS_MESSAGEBOX in -jconfig.h to enable it.) - -The proper solution for problem 2 is to return control to your calling -application after a library error. This can be done with the setjmp/longjmp -technique discussed in libjpeg.txt and illustrated in example.c. (NOTE: -some older Windows C compilers provide versions of setjmp/longjmp that -don't actually work under Windows. You may need to use the Windows system -functions Catch and Throw instead.) - -The recommended memory manager under Windows is jmemnobs.c; in other words, -let Windows do any virtual memory management needed. You should NOT use -jmemdos.c nor jmemdosa.asm under Windows. - -For Windows 3.1, we recommend compiling in medium or large memory model; -for newer Windows versions, use a 32-bit flat memory model. (See the MS-DOS -sections above for more info about memory models.) In the 16-bit memory -models only, you'll need to put - #define MAX_ALLOC_CHUNK 65520L /* Maximum request to malloc() */ -into jconfig.h to limit allocation chunks to 64Kb. (Without that, you'd -have to use huge memory model, which slows things down unnecessarily.) -jmemnobs.c works without modification in large or flat memory models, but to -use medium model, you need to modify its jpeg_get_large and jpeg_free_large -routines to allocate far memory. In any case, you might like to replace -its calls to malloc and free with direct calls on Windows memory allocation -functions. - -You may also want to modify jdatasrc.c and jdatadst.c to use Windows file -operations rather than fread/fwrite. This is only necessary if your C -compiler doesn't provide a competent implementation of C stdio functions. - -You might want to tweak the RGB_xxx macros in jmorecfg.h so that the library -will accept or deliver color pixels in BGR sample order, not RGB; BGR order -is usually more convenient under Windows. Note that this change will break -the sample applications cjpeg/djpeg, but the library itself works fine. - - -Many people want to convert the IJG library into a DLL. This is reasonably -straightforward, but watch out for the following: - - 1. Don't try to compile as a DLL in small or medium memory model; use -large model, or even better, 32-bit flat model. Many places in the IJG code -assume the address of a local variable is an ordinary (not FAR) pointer; -that isn't true in a medium-model DLL. - - 2. Microsoft C cannot pass file pointers between applications and DLLs. -(See Microsoft Knowledge Base, PSS ID Number Q50336.) So jdatasrc.c and -jdatadst.c don't work if you open a file in your application and then pass -the pointer to the DLL. One workaround is to make jdatasrc.c/jdatadst.c -part of your main application rather than part of the DLL. - - 3. You'll probably need to modify the macros GLOBAL() and EXTERN() to -attach suitable linkage keywords to the exported routine names. Similarly, -you'll want to modify METHODDEF() and JMETHOD() to ensure function pointers -are declared in a way that lets application routines be called back through -the function pointers. These macros are in jmorecfg.h. Typical definitions -for a 16-bit DLL are: - #define GLOBAL(type) type _far _pascal _loadds _export - #define EXTERN(type) extern type _far _pascal _loadds - #define METHODDEF(type) static type _far _pascal - #define JMETHOD(type,methodname,arglist) \ - type (_far _pascal *methodname) arglist -For a 32-bit DLL you may want something like - #define GLOBAL(type) __declspec(dllexport) type - #define EXTERN(type) extern __declspec(dllexport) type -Although not all the GLOBAL routines are actually intended to be called by -the application, the performance cost of making them all DLL entry points is -negligible. - -The unmodified IJG library presents a very C-specific application interface, -so the resulting DLL is only usable from C or C++ applications. There has -been some talk of writing wrapper code that would present a simpler interface -usable from other languages, such as Visual Basic. This is on our to-do list -but hasn't been very high priority --- any volunteers out there? - - -Microsoft Windows, Borland C: - -The provided jconfig.bcc should work OK in a 32-bit Windows environment, -but you'll need to tweak it in a 16-bit environment (you'd need to define -NEED_FAR_POINTERS and MAX_ALLOC_CHUNK). Beware that makefile.bcc will need -alteration if you want to use it for Windows --- in particular, you should -use jmemnobs.c not jmemdos.c under Windows. - -Borland C++ 4.5 fails with an internal compiler error when trying to compile -jdmerge.c in 32-bit mode. If enough people complain, perhaps Borland will fix -it. In the meantime, the simplest known workaround is to add a redundant -definition of the variable range_limit in h2v1_merged_upsample(), at the head -of the block that handles odd image width (about line 268 in v6 jdmerge.c): - /* If image width is odd, do the last output column separately */ - if (cinfo->output_width & 1) { - register JSAMPLE * range_limit = cinfo->sample_range_limit; /* ADD THIS */ - cb = GETJSAMPLE(*inptr1); -Pretty bizarre, especially since the very similar routine h2v2_merged_upsample -doesn't trigger the bug. -Recent reports suggest that this bug does not occur with "bcc32a" (the -Pentium-optimized version of the compiler). - -Another report from a user of Borland C 4.5 was that incorrect code (leading -to a color shift in processed images) was produced if any of the following -optimization switch combinations were used: - -Ot -Og - -Ot -Op - -Ot -Om -So try backing off on optimization if you see such a problem. (Are there -several different releases all numbered "4.5"??) - - -Microsoft Windows, Microsoft Visual C++: - -jconfig.vc should work OK with any Microsoft compiler for a 32-bit memory -model. makefile.vc is intended for command-line use. (If you are using -the Developer Studio environment, you may prefer the DevStudio project -files; see below.) - -v7 adds extern "C" to jpeglib.h. This avoids the need to put extern "C" -{ ... } around #include "jpeglib.h" in your C++ application. -You can also force VC++ to treat the library as C++ code by renaming -all the *.c files to *.cpp (and adjusting the makefile to match). -In this case you also need to define the symbol DONT_USE_EXTERN_C in -the configuration to prevent jpeglib.h from using extern "C". - - -Microsoft Windows, Microsoft Visual C++ 6 Developer Studio: - -We include makefiles that should work as project files in DevStudio 6.0 or -later. There is a library makefile that builds the IJG library as a static -Win32 library, and application makefiles that build the sample applications -as Win32 console applications. (Even if you only want the library, we -recommend building the applications so that you can run the self-test.) - -To use: -1. Copy jconfig.vc to jconfig.h, makejdsw.vc6 to jpeg.dsw, - makeadsw.vc6 to apps.dsw, makejmak.vc6 to jpeg.mak, - makejdep.vc6 to jpeg.dep, makejdsp.vc6 to jpeg.dsp, - makecmak.vc6 to cjpeg.mak, makecdep.vc6 to cjpeg.dep, - makecdsp.vc6 to cjpeg.dsp, makedmak.vc6 to djpeg.mak, - makeddep.vc6 to djpeg.dep, makeddsp.vc6 to djpeg.dsp, - maketmak.vc6 to jpegtran.mak, maketdep.vc6 to jpegtran.dep, - maketdsp.vc6 to jpegtran.dsp, makermak.vc6 to rdjpgcom.mak, - makerdep.vc6 to rdjpgcom.dep, makerdsp.vc6 to rdjpgcom.dsp, - makewmak.vc6 to wrjpgcom.mak, makewdep.vc6 to wrjpgcom.dep, and - makewdsp.vc6 to wrjpgcom.dsp. (Note that the renaming is critical!) -2. Click on jpeg.dsw and apps.dsw to load the project workspaces. - (If you are using DevStudio more recent than 6.0, you'll probably - get a message saying that the project files are being updated.) -3. Build the library project, then the applications project. -4. Move the application .exe files from `app`\Release to an - appropriate location on your path. -5. To perform the self-test, execute the command line - NMAKE /f makefile.vc test - - -Microsoft Windows, Microsoft Visual C++ 2008 Developer Studio (v9): - -We include makefiles that should work as project files in Visual Studio -2008 or later. There is a library makefile that builds the IJG library -as a static Win32 library, and application makefiles that build the sample -applications as Win32 console applications. (Even if you only want the -library, we recommend building the applications so that you can run the -self-test.) - -To use: -1. Copy jconfig.vc to jconfig.h, makejsln.vc9 to jpeg.sln, - makeasln.vc9 to apps.sln, makejvcp.vc9 to jpeg.vcproj, - makecvcp.vc9 to cjpeg.vcproj, makedvcp.vc9 to djpeg.vcproj, - maketvcp.vc9 to jpegtran.vcproj, makervcp.vc9 to rdjpgcom.vcproj, and - makewvcp.vc9 to wrjpgcom.vcproj. (Note that the renaming is critical!) -2. Click on jpeg.sln and apps.sln to load the project solutions. - (If you are using Visual Studio more recent than 2008 (v9), you'll - probably get a message saying that the project files are being - updated.) -3. Build the library project, then the applications project. -4. Move the application .exe files from `app`\Release to an - appropriate location on your path. -5. To perform the self-test, execute the command line - NMAKE /f makefile.vc test - - -OS/2, Borland C++: - -Watch out for optimization bugs in older Borland compilers; you may need -to back off the optimization switch settings. See the comments in -makefile.bcc. - - -SGI: - -On some SGI systems, you may need to set "AR2= ar -ts" in the Makefile. -If you are using configure, you can do this by saying - ./configure RANLIB='ar -ts' -This change is not needed on all SGIs. Use it only if the make fails at the -stage of linking the completed programs. - -On the MIPS R4000 architecture (Indy, etc.), the compiler option "-mips2" -reportedly speeds up the float DCT method substantially, enough to make it -faster than the default int method (but still slower than the fast int -method). If you use -mips2, you may want to alter the default DCT method to -be float. To do this, put "#define JDCT_DEFAULT JDCT_FLOAT" in jconfig.h. - - -VMS: - -On an Alpha/VMS system with MMS, be sure to use the "/Marco=Alpha=1" -qualifier with MMS when building the JPEG package. - -VAX/VMS v5.5-1 may have problems with the test step of the build procedure -reporting differences when it compares the original and test images. If the -error points to the last block of the files, it is most likely bogus and may -be safely ignored. It seems to be because the files are Stream_LF and -Backup/Compare has difficulty with the (presumably) null padded files. -This problem was not observed on VAX/VMS v6.1 or AXP/VMS v6.1. diff --git a/3rdparty/openctm/tools/jpeg/jaricom.c b/3rdparty/openctm/tools/jpeg/jaricom.c deleted file mode 100644 index 23d73c387..000000000 --- a/3rdparty/openctm/tools/jpeg/jaricom.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - * jaricom.c - * - * Developed 1997 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains probability estimation tables for common use in - * arithmetic entropy encoding and decoding routines. - * - * This data represents Table D.2 in the JPEG spec (ISO/IEC IS 10918-1 - * and CCITT Recommendation ITU-T T.81) and Table 24 in the JBIG spec - * (ISO/IEC IS 11544 and CCITT Recommendation ITU-T T.82). - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - -/* The following #define specifies the packing of the four components - * into the compact INT32 representation. - * Note that this formula must match the actual arithmetic encoder - * and decoder implementation. The implementation has to be changed - * if this formula is changed. - * The current organization is leaned on Markus Kuhn's JBIG - * implementation (jbig_tab.c). - */ - -#define V(a,b,c,d) (((INT32)a << 16) | ((INT32)c << 8) | ((INT32)d << 7) | b) - -const INT32 jaritab[113] = { -/* - * Index, Qe_Value, Next_Index_LPS, Next_Index_MPS, Switch_MPS - */ -/* 0 */ V( 0x5a1d, 1, 1, 1 ), -/* 1 */ V( 0x2586, 14, 2, 0 ), -/* 2 */ V( 0x1114, 16, 3, 0 ), -/* 3 */ V( 0x080b, 18, 4, 0 ), -/* 4 */ V( 0x03d8, 20, 5, 0 ), -/* 5 */ V( 0x01da, 23, 6, 0 ), -/* 6 */ V( 0x00e5, 25, 7, 0 ), -/* 7 */ V( 0x006f, 28, 8, 0 ), -/* 8 */ V( 0x0036, 30, 9, 0 ), -/* 9 */ V( 0x001a, 33, 10, 0 ), -/* 10 */ V( 0x000d, 35, 11, 0 ), -/* 11 */ V( 0x0006, 9, 12, 0 ), -/* 12 */ V( 0x0003, 10, 13, 0 ), -/* 13 */ V( 0x0001, 12, 13, 0 ), -/* 14 */ V( 0x5a7f, 15, 15, 1 ), -/* 15 */ V( 0x3f25, 36, 16, 0 ), -/* 16 */ V( 0x2cf2, 38, 17, 0 ), -/* 17 */ V( 0x207c, 39, 18, 0 ), -/* 18 */ V( 0x17b9, 40, 19, 0 ), -/* 19 */ V( 0x1182, 42, 20, 0 ), -/* 20 */ V( 0x0cef, 43, 21, 0 ), -/* 21 */ V( 0x09a1, 45, 22, 0 ), -/* 22 */ V( 0x072f, 46, 23, 0 ), -/* 23 */ V( 0x055c, 48, 24, 0 ), -/* 24 */ V( 0x0406, 49, 25, 0 ), -/* 25 */ V( 0x0303, 51, 26, 0 ), -/* 26 */ V( 0x0240, 52, 27, 0 ), -/* 27 */ V( 0x01b1, 54, 28, 0 ), -/* 28 */ V( 0x0144, 56, 29, 0 ), -/* 29 */ V( 0x00f5, 57, 30, 0 ), -/* 30 */ V( 0x00b7, 59, 31, 0 ), -/* 31 */ V( 0x008a, 60, 32, 0 ), -/* 32 */ V( 0x0068, 62, 33, 0 ), -/* 33 */ V( 0x004e, 63, 34, 0 ), -/* 34 */ V( 0x003b, 32, 35, 0 ), -/* 35 */ V( 0x002c, 33, 9, 0 ), -/* 36 */ V( 0x5ae1, 37, 37, 1 ), -/* 37 */ V( 0x484c, 64, 38, 0 ), -/* 38 */ V( 0x3a0d, 65, 39, 0 ), -/* 39 */ V( 0x2ef1, 67, 40, 0 ), -/* 40 */ V( 0x261f, 68, 41, 0 ), -/* 41 */ V( 0x1f33, 69, 42, 0 ), -/* 42 */ V( 0x19a8, 70, 43, 0 ), -/* 43 */ V( 0x1518, 72, 44, 0 ), -/* 44 */ V( 0x1177, 73, 45, 0 ), -/* 45 */ V( 0x0e74, 74, 46, 0 ), -/* 46 */ V( 0x0bfb, 75, 47, 0 ), -/* 47 */ V( 0x09f8, 77, 48, 0 ), -/* 48 */ V( 0x0861, 78, 49, 0 ), -/* 49 */ V( 0x0706, 79, 50, 0 ), -/* 50 */ V( 0x05cd, 48, 51, 0 ), -/* 51 */ V( 0x04de, 50, 52, 0 ), -/* 52 */ V( 0x040f, 50, 53, 0 ), -/* 53 */ V( 0x0363, 51, 54, 0 ), -/* 54 */ V( 0x02d4, 52, 55, 0 ), -/* 55 */ V( 0x025c, 53, 56, 0 ), -/* 56 */ V( 0x01f8, 54, 57, 0 ), -/* 57 */ V( 0x01a4, 55, 58, 0 ), -/* 58 */ V( 0x0160, 56, 59, 0 ), -/* 59 */ V( 0x0125, 57, 60, 0 ), -/* 60 */ V( 0x00f6, 58, 61, 0 ), -/* 61 */ V( 0x00cb, 59, 62, 0 ), -/* 62 */ V( 0x00ab, 61, 63, 0 ), -/* 63 */ V( 0x008f, 61, 32, 0 ), -/* 64 */ V( 0x5b12, 65, 65, 1 ), -/* 65 */ V( 0x4d04, 80, 66, 0 ), -/* 66 */ V( 0x412c, 81, 67, 0 ), -/* 67 */ V( 0x37d8, 82, 68, 0 ), -/* 68 */ V( 0x2fe8, 83, 69, 0 ), -/* 69 */ V( 0x293c, 84, 70, 0 ), -/* 70 */ V( 0x2379, 86, 71, 0 ), -/* 71 */ V( 0x1edf, 87, 72, 0 ), -/* 72 */ V( 0x1aa9, 87, 73, 0 ), -/* 73 */ V( 0x174e, 72, 74, 0 ), -/* 74 */ V( 0x1424, 72, 75, 0 ), -/* 75 */ V( 0x119c, 74, 76, 0 ), -/* 76 */ V( 0x0f6b, 74, 77, 0 ), -/* 77 */ V( 0x0d51, 75, 78, 0 ), -/* 78 */ V( 0x0bb6, 77, 79, 0 ), -/* 79 */ V( 0x0a40, 77, 48, 0 ), -/* 80 */ V( 0x5832, 80, 81, 1 ), -/* 81 */ V( 0x4d1c, 88, 82, 0 ), -/* 82 */ V( 0x438e, 89, 83, 0 ), -/* 83 */ V( 0x3bdd, 90, 84, 0 ), -/* 84 */ V( 0x34ee, 91, 85, 0 ), -/* 85 */ V( 0x2eae, 92, 86, 0 ), -/* 86 */ V( 0x299a, 93, 87, 0 ), -/* 87 */ V( 0x2516, 86, 71, 0 ), -/* 88 */ V( 0x5570, 88, 89, 1 ), -/* 89 */ V( 0x4ca9, 95, 90, 0 ), -/* 90 */ V( 0x44d9, 96, 91, 0 ), -/* 91 */ V( 0x3e22, 97, 92, 0 ), -/* 92 */ V( 0x3824, 99, 93, 0 ), -/* 93 */ V( 0x32b4, 99, 94, 0 ), -/* 94 */ V( 0x2e17, 93, 86, 0 ), -/* 95 */ V( 0x56a8, 95, 96, 1 ), -/* 96 */ V( 0x4f46, 101, 97, 0 ), -/* 97 */ V( 0x47e5, 102, 98, 0 ), -/* 98 */ V( 0x41cf, 103, 99, 0 ), -/* 99 */ V( 0x3c3d, 104, 100, 0 ), -/* 100 */ V( 0x375e, 99, 93, 0 ), -/* 101 */ V( 0x5231, 105, 102, 0 ), -/* 102 */ V( 0x4c0f, 106, 103, 0 ), -/* 103 */ V( 0x4639, 107, 104, 0 ), -/* 104 */ V( 0x415e, 103, 99, 0 ), -/* 105 */ V( 0x5627, 105, 106, 1 ), -/* 106 */ V( 0x50e7, 108, 107, 0 ), -/* 107 */ V( 0x4b85, 109, 103, 0 ), -/* 108 */ V( 0x5597, 110, 109, 0 ), -/* 109 */ V( 0x504f, 111, 107, 0 ), -/* 110 */ V( 0x5a10, 110, 111, 1 ), -/* 111 */ V( 0x5522, 112, 109, 0 ), -/* 112 */ V( 0x59eb, 112, 111, 1 ) -}; diff --git a/3rdparty/openctm/tools/jpeg/jcapimin.c b/3rdparty/openctm/tools/jpeg/jcapimin.c deleted file mode 100644 index 4cac19490..000000000 --- a/3rdparty/openctm/tools/jpeg/jcapimin.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - * jcapimin.c - * - * Copyright (C) 1994-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains application interface code for the compression half - * of the JPEG library. These are the "minimum" API routines that may be - * needed in either the normal full-compression case or the transcoding-only - * case. - * - * Most of the routines intended to be called directly by an application - * are in this file or in jcapistd.c. But also see jcparam.c for - * parameter-setup helper routines, jcomapi.c for routines shared by - * compression and decompression, and jctrans.c for the transcoding case. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Initialization of a JPEG compression object. - * The error manager must already be set up (in case memory manager fails). - */ - -GLOBAL(void) -jpeg_CreateCompress (j_compress_ptr cinfo, int version, size_t structsize) -{ - int i; - - /* Guard against version mismatches between library and caller. */ - cinfo->mem = NULL; /* so jpeg_destroy knows mem mgr not called */ - if (version != JPEG_LIB_VERSION) - ERREXIT2(cinfo, JERR_BAD_LIB_VERSION, JPEG_LIB_VERSION, version); - if (structsize != SIZEOF(struct jpeg_compress_struct)) - ERREXIT2(cinfo, JERR_BAD_STRUCT_SIZE, - (int) SIZEOF(struct jpeg_compress_struct), (int) structsize); - - /* For debugging purposes, we zero the whole master structure. - * But the application has already set the err pointer, and may have set - * client_data, so we have to save and restore those fields. - * Note: if application hasn't set client_data, tools like Purify may - * complain here. - */ - { - struct jpeg_error_mgr * err = cinfo->err; - void * client_data = cinfo->client_data; /* ignore Purify complaint here */ - MEMZERO(cinfo, SIZEOF(struct jpeg_compress_struct)); - cinfo->err = err; - cinfo->client_data = client_data; - } - cinfo->is_decompressor = FALSE; - - /* Initialize a memory manager instance for this object */ - jinit_memory_mgr((j_common_ptr) cinfo); - - /* Zero out pointers to permanent structures. */ - cinfo->progress = NULL; - cinfo->dest = NULL; - - cinfo->comp_info = NULL; - - for (i = 0; i < NUM_QUANT_TBLS; i++) { - cinfo->quant_tbl_ptrs[i] = NULL; - cinfo->q_scale_factor[i] = 100; - } - - for (i = 0; i < NUM_HUFF_TBLS; i++) { - cinfo->dc_huff_tbl_ptrs[i] = NULL; - cinfo->ac_huff_tbl_ptrs[i] = NULL; - } - - cinfo->script_space = NULL; - - cinfo->input_gamma = 1.0; /* in case application forgets */ - - /* OK, I'm ready */ - cinfo->global_state = CSTATE_START; -} - - -/* - * Destruction of a JPEG compression object - */ - -GLOBAL(void) -jpeg_destroy_compress (j_compress_ptr cinfo) -{ - jpeg_destroy((j_common_ptr) cinfo); /* use common routine */ -} - - -/* - * Abort processing of a JPEG compression operation, - * but don't destroy the object itself. - */ - -GLOBAL(void) -jpeg_abort_compress (j_compress_ptr cinfo) -{ - jpeg_abort((j_common_ptr) cinfo); /* use common routine */ -} - - -/* - * Forcibly suppress or un-suppress all quantization and Huffman tables. - * Marks all currently defined tables as already written (if suppress) - * or not written (if !suppress). This will control whether they get emitted - * by a subsequent jpeg_start_compress call. - * - * This routine is exported for use by applications that want to produce - * abbreviated JPEG datastreams. It logically belongs in jcparam.c, but - * since it is called by jpeg_start_compress, we put it here --- otherwise - * jcparam.o would be linked whether the application used it or not. - */ - -GLOBAL(void) -jpeg_suppress_tables (j_compress_ptr cinfo, boolean suppress) -{ - int i; - JQUANT_TBL * qtbl; - JHUFF_TBL * htbl; - - for (i = 0; i < NUM_QUANT_TBLS; i++) { - if ((qtbl = cinfo->quant_tbl_ptrs[i]) != NULL) - qtbl->sent_table = suppress; - } - - for (i = 0; i < NUM_HUFF_TBLS; i++) { - if ((htbl = cinfo->dc_huff_tbl_ptrs[i]) != NULL) - htbl->sent_table = suppress; - if ((htbl = cinfo->ac_huff_tbl_ptrs[i]) != NULL) - htbl->sent_table = suppress; - } -} - - -/* - * Finish JPEG compression. - * - * If a multipass operating mode was selected, this may do a great deal of - * work including most of the actual output. - */ - -GLOBAL(void) -jpeg_finish_compress (j_compress_ptr cinfo) -{ - JDIMENSION iMCU_row; - - if (cinfo->global_state == CSTATE_SCANNING || - cinfo->global_state == CSTATE_RAW_OK) { - /* Terminate first pass */ - if (cinfo->next_scanline < cinfo->image_height) - ERREXIT(cinfo, JERR_TOO_LITTLE_DATA); - (*cinfo->master->finish_pass) (cinfo); - } else if (cinfo->global_state != CSTATE_WRCOEFS) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - /* Perform any remaining passes */ - while (! cinfo->master->is_last_pass) { - (*cinfo->master->prepare_for_pass) (cinfo); - for (iMCU_row = 0; iMCU_row < cinfo->total_iMCU_rows; iMCU_row++) { - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) iMCU_row; - cinfo->progress->pass_limit = (long) cinfo->total_iMCU_rows; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - /* We bypass the main controller and invoke coef controller directly; - * all work is being done from the coefficient buffer. - */ - if (! (*cinfo->coef->compress_data) (cinfo, (JSAMPIMAGE) NULL)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - } - (*cinfo->master->finish_pass) (cinfo); - } - /* Write EOI, do final cleanup */ - (*cinfo->marker->write_file_trailer) (cinfo); - (*cinfo->dest->term_destination) (cinfo); - /* We can use jpeg_abort to release memory and reset global_state */ - jpeg_abort((j_common_ptr) cinfo); -} - - -/* - * Write a special marker. - * This is only recommended for writing COM or APPn markers. - * Must be called after jpeg_start_compress() and before - * first call to jpeg_write_scanlines() or jpeg_write_raw_data(). - */ - -GLOBAL(void) -jpeg_write_marker (j_compress_ptr cinfo, int marker, - const JOCTET *dataptr, unsigned int datalen) -{ - JMETHOD(void, write_marker_byte, (j_compress_ptr info, int val)); - - if (cinfo->next_scanline != 0 || - (cinfo->global_state != CSTATE_SCANNING && - cinfo->global_state != CSTATE_RAW_OK && - cinfo->global_state != CSTATE_WRCOEFS)) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - (*cinfo->marker->write_marker_header) (cinfo, marker, datalen); - write_marker_byte = cinfo->marker->write_marker_byte; /* copy for speed */ - while (datalen--) { - (*write_marker_byte) (cinfo, *dataptr); - dataptr++; - } -} - -/* Same, but piecemeal. */ - -GLOBAL(void) -jpeg_write_m_header (j_compress_ptr cinfo, int marker, unsigned int datalen) -{ - if (cinfo->next_scanline != 0 || - (cinfo->global_state != CSTATE_SCANNING && - cinfo->global_state != CSTATE_RAW_OK && - cinfo->global_state != CSTATE_WRCOEFS)) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - (*cinfo->marker->write_marker_header) (cinfo, marker, datalen); -} - -GLOBAL(void) -jpeg_write_m_byte (j_compress_ptr cinfo, int val) -{ - (*cinfo->marker->write_marker_byte) (cinfo, val); -} - - -/* - * Alternate compression function: just write an abbreviated table file. - * Before calling this, all parameters and a data destination must be set up. - * - * To produce a pair of files containing abbreviated tables and abbreviated - * image data, one would proceed as follows: - * - * initialize JPEG object - * set JPEG parameters - * set destination to table file - * jpeg_write_tables(cinfo); - * set destination to image file - * jpeg_start_compress(cinfo, FALSE); - * write data... - * jpeg_finish_compress(cinfo); - * - * jpeg_write_tables has the side effect of marking all tables written - * (same as jpeg_suppress_tables(..., TRUE)). Thus a subsequent start_compress - * will not re-emit the tables unless it is passed write_all_tables=TRUE. - */ - -GLOBAL(void) -jpeg_write_tables (j_compress_ptr cinfo) -{ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - /* (Re)initialize error mgr and destination modules */ - (*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo); - (*cinfo->dest->init_destination) (cinfo); - /* Initialize the marker writer ... bit of a crock to do it here. */ - jinit_marker_writer(cinfo); - /* Write them tables! */ - (*cinfo->marker->write_tables_only) (cinfo); - /* And clean up. */ - (*cinfo->dest->term_destination) (cinfo); - /* - * In library releases up through v6a, we called jpeg_abort() here to free - * any working memory allocated by the destination manager and marker - * writer. Some applications had a problem with that: they allocated space - * of their own from the library memory manager, and didn't want it to go - * away during write_tables. So now we do nothing. This will cause a - * memory leak if an app calls write_tables repeatedly without doing a full - * compression cycle or otherwise resetting the JPEG object. However, that - * seems less bad than unexpectedly freeing memory in the normal case. - * An app that prefers the old behavior can call jpeg_abort for itself after - * each call to jpeg_write_tables(). - */ -} diff --git a/3rdparty/openctm/tools/jpeg/jcapistd.c b/3rdparty/openctm/tools/jpeg/jcapistd.c deleted file mode 100644 index fed66caf1..000000000 --- a/3rdparty/openctm/tools/jpeg/jcapistd.c +++ /dev/null @@ -1,161 +0,0 @@ -/* - * jcapistd.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains application interface code for the compression half - * of the JPEG library. These are the "standard" API routines that are - * used in the normal full-compression case. They are not used by a - * transcoding-only application. Note that if an application links in - * jpeg_start_compress, it will end up linking in the entire compressor. - * We thus must separate this file from jcapimin.c to avoid linking the - * whole compression library into a transcoder. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Compression initialization. - * Before calling this, all parameters and a data destination must be set up. - * - * We require a write_all_tables parameter as a failsafe check when writing - * multiple datastreams from the same compression object. Since prior runs - * will have left all the tables marked sent_table=TRUE, a subsequent run - * would emit an abbreviated stream (no tables) by default. This may be what - * is wanted, but for safety's sake it should not be the default behavior: - * programmers should have to make a deliberate choice to emit abbreviated - * images. Therefore the documentation and examples should encourage people - * to pass write_all_tables=TRUE; then it will take active thought to do the - * wrong thing. - */ - -GLOBAL(void) -jpeg_start_compress (j_compress_ptr cinfo, boolean write_all_tables) -{ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - if (write_all_tables) - jpeg_suppress_tables(cinfo, FALSE); /* mark all tables to be written */ - - /* (Re)initialize error mgr and destination modules */ - (*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo); - (*cinfo->dest->init_destination) (cinfo); - /* Perform master selection of active modules */ - jinit_compress_master(cinfo); - /* Set up for the first pass */ - (*cinfo->master->prepare_for_pass) (cinfo); - /* Ready for application to drive first pass through jpeg_write_scanlines - * or jpeg_write_raw_data. - */ - cinfo->next_scanline = 0; - cinfo->global_state = (cinfo->raw_data_in ? CSTATE_RAW_OK : CSTATE_SCANNING); -} - - -/* - * Write some scanlines of data to the JPEG compressor. - * - * The return value will be the number of lines actually written. - * This should be less than the supplied num_lines only in case that - * the data destination module has requested suspension of the compressor, - * or if more than image_height scanlines are passed in. - * - * Note: we warn about excess calls to jpeg_write_scanlines() since - * this likely signals an application programmer error. However, - * excess scanlines passed in the last valid call are *silently* ignored, - * so that the application need not adjust num_lines for end-of-image - * when using a multiple-scanline buffer. - */ - -GLOBAL(JDIMENSION) -jpeg_write_scanlines (j_compress_ptr cinfo, JSAMPARRAY scanlines, - JDIMENSION num_lines) -{ - JDIMENSION row_ctr, rows_left; - - if (cinfo->global_state != CSTATE_SCANNING) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - if (cinfo->next_scanline >= cinfo->image_height) - WARNMS(cinfo, JWRN_TOO_MUCH_DATA); - - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) cinfo->next_scanline; - cinfo->progress->pass_limit = (long) cinfo->image_height; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - - /* Give master control module another chance if this is first call to - * jpeg_write_scanlines. This lets output of the frame/scan headers be - * delayed so that application can write COM, etc, markers between - * jpeg_start_compress and jpeg_write_scanlines. - */ - if (cinfo->master->call_pass_startup) - (*cinfo->master->pass_startup) (cinfo); - - /* Ignore any extra scanlines at bottom of image. */ - rows_left = cinfo->image_height - cinfo->next_scanline; - if (num_lines > rows_left) - num_lines = rows_left; - - row_ctr = 0; - (*cinfo->main->process_data) (cinfo, scanlines, &row_ctr, num_lines); - cinfo->next_scanline += row_ctr; - return row_ctr; -} - - -/* - * Alternate entry point to write raw data. - * Processes exactly one iMCU row per call, unless suspended. - */ - -GLOBAL(JDIMENSION) -jpeg_write_raw_data (j_compress_ptr cinfo, JSAMPIMAGE data, - JDIMENSION num_lines) -{ - JDIMENSION lines_per_iMCU_row; - - if (cinfo->global_state != CSTATE_RAW_OK) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - if (cinfo->next_scanline >= cinfo->image_height) { - WARNMS(cinfo, JWRN_TOO_MUCH_DATA); - return 0; - } - - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) cinfo->next_scanline; - cinfo->progress->pass_limit = (long) cinfo->image_height; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - - /* Give master control module another chance if this is first call to - * jpeg_write_raw_data. This lets output of the frame/scan headers be - * delayed so that application can write COM, etc, markers between - * jpeg_start_compress and jpeg_write_raw_data. - */ - if (cinfo->master->call_pass_startup) - (*cinfo->master->pass_startup) (cinfo); - - /* Verify that at least one iMCU row has been passed. */ - lines_per_iMCU_row = cinfo->max_v_samp_factor * DCTSIZE; - if (num_lines < lines_per_iMCU_row) - ERREXIT(cinfo, JERR_BUFFER_SIZE); - - /* Directly compress the row. */ - if (! (*cinfo->coef->compress_data) (cinfo, data)) { - /* If compressor did not consume the whole row, suspend processing. */ - return 0; - } - - /* OK, we processed one iMCU row. */ - cinfo->next_scanline += lines_per_iMCU_row; - return lines_per_iMCU_row; -} diff --git a/3rdparty/openctm/tools/jpeg/jcarith.c b/3rdparty/openctm/tools/jpeg/jcarith.c deleted file mode 100644 index dc19d9505..000000000 --- a/3rdparty/openctm/tools/jpeg/jcarith.c +++ /dev/null @@ -1,921 +0,0 @@ -/* - * jcarith.c - * - * Developed 1997 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains portable arithmetic entropy encoding routines for JPEG - * (implementing the ISO/IEC IS 10918-1 and CCITT Recommendation ITU-T T.81). - * - * Both sequential and progressive modes are supported in this single module. - * - * Suspension is not currently supported in this module. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Expanded entropy encoder object for arithmetic encoding. */ - -typedef struct { - struct jpeg_entropy_encoder pub; /* public fields */ - - INT32 c; /* C register, base of coding interval, layout as in sec. D.1.3 */ - INT32 a; /* A register, normalized size of coding interval */ - INT32 sc; /* counter for stacked 0xFF values which might overflow */ - INT32 zc; /* counter for pending 0x00 output values which might * - * be discarded at the end ("Pacman" termination) */ - int ct; /* bit shift counter, determines when next byte will be written */ - int buffer; /* buffer for most recent output byte != 0xFF */ - - int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ - int dc_context[MAX_COMPS_IN_SCAN]; /* context index for DC conditioning */ - - unsigned int restarts_to_go; /* MCUs left in this restart interval */ - int next_restart_num; /* next restart number to write (0-7) */ - - /* Pointers to statistics areas (these workspaces have image lifespan) */ - unsigned char * dc_stats[NUM_ARITH_TBLS]; - unsigned char * ac_stats[NUM_ARITH_TBLS]; -} arith_entropy_encoder; - -typedef arith_entropy_encoder * arith_entropy_ptr; - -/* The following two definitions specify the allocation chunk size - * for the statistics area. - * According to sections F.1.4.4.1.3 and F.1.4.4.2, we need at least - * 49 statistics bins for DC, and 245 statistics bins for AC coding. - * Note that we use one additional AC bin for codings with fixed - * probability (0.5), thus the minimum number for AC is 246. - * - * We use a compact representation with 1 byte per statistics bin, - * thus the numbers directly represent byte sizes. - * This 1 byte per statistics bin contains the meaning of the MPS - * (more probable symbol) in the highest bit (mask 0x80), and the - * index into the probability estimation state machine table - * in the lower bits (mask 0x7F). - */ - -#define DC_STAT_BINS 64 -#define AC_STAT_BINS 256 - -/* NOTE: Uncomment the following #define if you want to use the - * given formula for calculating the AC conditioning parameter Kx - * for spectral selection progressive coding in section G.1.3.2 - * of the spec (Kx = Kmin + SRL (8 + Se - Kmin) 4). - * Although the spec and P&M authors claim that this "has proven - * to give good results for 8 bit precision samples", I'm not - * convinced yet that this is really beneficial. - * Early tests gave only very marginal compression enhancements - * (a few - around 5 or so - bytes even for very large files), - * which would turn out rather negative if we'd suppress the - * DAC (Define Arithmetic Conditioning) marker segments for - * the default parameters in the future. - * Note that currently the marker writing module emits 12-byte - * DAC segments for a full-component scan in a color image. - * This is not worth worrying about IMHO. However, since the - * spec defines the default values to be used if the tables - * are omitted (unlike Huffman tables, which are required - * anyway), one might optimize this behaviour in the future, - * and then it would be disadvantageous to use custom tables if - * they don't provide sufficient gain to exceed the DAC size. - * - * On the other hand, I'd consider it as a reasonable result - * that the conditioning has no significant influence on the - * compression performance. This means that the basic - * statistical model is already rather stable. - * - * Thus, at the moment, we use the default conditioning values - * anyway, and do not use the custom formula. - * -#define CALCULATE_SPECTRAL_CONDITIONING - */ - -/* IRIGHT_SHIFT is like RIGHT_SHIFT, but works on int rather than INT32. - * We assume that int right shift is unsigned if INT32 right shift is, - * which should be safe. - */ - -#ifdef RIGHT_SHIFT_IS_UNSIGNED -#define ISHIFT_TEMPS int ishift_temp; -#define IRIGHT_SHIFT(x,shft) \ - ((ishift_temp = (x)) < 0 ? \ - (ishift_temp >> (shft)) | ((~0) << (16-(shft))) : \ - (ishift_temp >> (shft))) -#else -#define ISHIFT_TEMPS -#define IRIGHT_SHIFT(x,shft) ((x) >> (shft)) -#endif - - -LOCAL(void) -emit_byte (int val, j_compress_ptr cinfo) -/* Write next output byte; we do not support suspension in this module. */ -{ - struct jpeg_destination_mgr * dest = cinfo->dest; - - *dest->next_output_byte++ = (JOCTET) val; - if (--dest->free_in_buffer == 0) - if (! (*dest->empty_output_buffer) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); -} - - -/* - * Finish up at the end of an arithmetic-compressed scan. - */ - -METHODDEF(void) -finish_pass (j_compress_ptr cinfo) -{ - arith_entropy_ptr e = (arith_entropy_ptr) cinfo->entropy; - INT32 temp; - - /* Section D.1.8: Termination of encoding */ - - /* Find the e->c in the coding interval with the largest - * number of trailing zero bits */ - if ((temp = (e->a - 1 + e->c) & 0xFFFF0000L) < e->c) - e->c = temp + 0x8000L; - else - e->c = temp; - /* Send remaining bytes to output */ - e->c <<= e->ct; - if (e->c & 0xF8000000L) { - /* One final overflow has to be handled */ - if (e->buffer >= 0) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - emit_byte(e->buffer + 1, cinfo); - if (e->buffer + 1 == 0xFF) - emit_byte(0x00, cinfo); - } - e->zc += e->sc; /* carry-over converts stacked 0xFF bytes to 0x00 */ - e->sc = 0; - } else { - if (e->buffer == 0) - ++e->zc; - else if (e->buffer >= 0) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - emit_byte(e->buffer, cinfo); - } - if (e->sc) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - do { - emit_byte(0xFF, cinfo); - emit_byte(0x00, cinfo); - } while (--e->sc); - } - } - /* Output final bytes only if they are not 0x00 */ - if (e->c & 0x7FFF800L) { - if (e->zc) /* output final pending zero bytes */ - do emit_byte(0x00, cinfo); - while (--e->zc); - emit_byte((e->c >> 19) & 0xFF, cinfo); - if (((e->c >> 19) & 0xFF) == 0xFF) - emit_byte(0x00, cinfo); - if (e->c & 0x7F800L) { - emit_byte((e->c >> 11) & 0xFF, cinfo); - if (((e->c >> 11) & 0xFF) == 0xFF) - emit_byte(0x00, cinfo); - } - } -} - - -/* - * The core arithmetic encoding routine (common in JPEG and JBIG). - * This needs to go as fast as possible. - * Machine-dependent optimization facilities - * are not utilized in this portable implementation. - * However, this code should be fairly efficient and - * may be a good base for further optimizations anyway. - * - * Parameter 'val' to be encoded may be 0 or 1 (binary decision). - * - * Note: I've added full "Pacman" termination support to the - * byte output routines, which is equivalent to the optional - * Discard_final_zeros procedure (Figure D.15) in the spec. - * Thus, we always produce the shortest possible output - * stream compliant to the spec (no trailing zero bytes, - * except for FF stuffing). - * - * I've also introduced a new scheme for accessing - * the probability estimation state machine table, - * derived from Markus Kuhn's JBIG implementation. - */ - -LOCAL(void) -arith_encode (j_compress_ptr cinfo, unsigned char *st, int val) -{ - extern const INT32 jaritab[]; - register arith_entropy_ptr e = (arith_entropy_ptr) cinfo->entropy; - register unsigned char nl, nm; - register INT32 qe, temp; - register int sv; - - /* Fetch values from our compact representation of Table D.2: - * Qe values and probability estimation state machine - */ - sv = *st; - qe = jaritab[sv & 0x7F]; /* => Qe_Value */ - nl = qe & 0xFF; qe >>= 8; /* Next_Index_LPS + Switch_MPS */ - nm = qe & 0xFF; qe >>= 8; /* Next_Index_MPS */ - - /* Encode & estimation procedures per sections D.1.4 & D.1.5 */ - e->a -= qe; - if (val != (sv >> 7)) { - /* Encode the less probable symbol */ - if (e->a >= qe) { - /* If the interval size (qe) for the less probable symbol (LPS) - * is larger than the interval size for the MPS, then exchange - * the two symbols for coding efficiency, otherwise code the LPS - * as usual: */ - e->c += e->a; - e->a = qe; - } - *st = (sv & 0x80) ^ nl; /* Estimate_after_LPS */ - } else { - /* Encode the more probable symbol */ - if (e->a >= 0x8000L) - return; /* A >= 0x8000 -> ready, no renormalization required */ - if (e->a < qe) { - /* If the interval size (qe) for the less probable symbol (LPS) - * is larger than the interval size for the MPS, then exchange - * the two symbols for coding efficiency: */ - e->c += e->a; - e->a = qe; - } - *st = (sv & 0x80) ^ nm; /* Estimate_after_MPS */ - } - - /* Renormalization & data output per section D.1.6 */ - do { - e->a <<= 1; - e->c <<= 1; - if (--e->ct == 0) { - /* Another byte is ready for output */ - temp = e->c >> 19; - if (temp > 0xFF) { - /* Handle overflow over all stacked 0xFF bytes */ - if (e->buffer >= 0) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - emit_byte(e->buffer + 1, cinfo); - if (e->buffer + 1 == 0xFF) - emit_byte(0x00, cinfo); - } - e->zc += e->sc; /* carry-over converts stacked 0xFF bytes to 0x00 */ - e->sc = 0; - /* Note: The 3 spacer bits in the C register guarantee - * that the new buffer byte can't be 0xFF here - * (see page 160 in the P&M JPEG book). */ - e->buffer = temp & 0xFF; /* new output byte, might overflow later */ - } else if (temp == 0xFF) { - ++e->sc; /* stack 0xFF byte (which might overflow later) */ - } else { - /* Output all stacked 0xFF bytes, they will not overflow any more */ - if (e->buffer == 0) - ++e->zc; - else if (e->buffer >= 0) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - emit_byte(e->buffer, cinfo); - } - if (e->sc) { - if (e->zc) - do emit_byte(0x00, cinfo); - while (--e->zc); - do { - emit_byte(0xFF, cinfo); - emit_byte(0x00, cinfo); - } while (--e->sc); - } - e->buffer = temp & 0xFF; /* new output byte (can still overflow) */ - } - e->c &= 0x7FFFFL; - e->ct += 8; - } - } while (e->a < 0x8000L); -} - - -/* - * Emit a restart marker & resynchronize predictions. - */ - -LOCAL(void) -emit_restart (j_compress_ptr cinfo, int restart_num) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - int ci; - jpeg_component_info * compptr; - - finish_pass(cinfo); - - emit_byte(0xFF, cinfo); - emit_byte(JPEG_RST0 + restart_num, cinfo); - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Re-initialize statistics areas */ - if (cinfo->progressive_mode == 0 || (cinfo->Ss == 0 && cinfo->Ah == 0)) { - MEMZERO(entropy->dc_stats[compptr->dc_tbl_no], DC_STAT_BINS); - /* Reset DC predictions to 0 */ - entropy->last_dc_val[ci] = 0; - entropy->dc_context[ci] = 0; - } - if (cinfo->progressive_mode == 0 || cinfo->Ss) { - MEMZERO(entropy->ac_stats[compptr->ac_tbl_no], AC_STAT_BINS); - } - } - - /* Reset arithmetic encoding variables */ - entropy->c = 0; - entropy->a = 0x10000L; - entropy->sc = 0; - entropy->zc = 0; - entropy->ct = 11; - entropy->buffer = -1; /* empty */ -} - - -/* - * MCU encoding for DC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - unsigned char *st; - int blkn, ci, tbl; - int v, v2, m; - ISHIFT_TEMPS - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - emit_restart(cinfo, entropy->next_restart_num); - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - tbl = cinfo->cur_comp_info[ci]->dc_tbl_no; - - /* Compute the DC value after the required point transform by Al. - * This is simply an arithmetic right shift. - */ - m = IRIGHT_SHIFT((int) ((*block)[0]), cinfo->Al); - - /* Sections F.1.4.1 & F.1.4.4.1: Encoding of DC coefficients */ - - /* Table F.4: Point to statistics bin S0 for DC coefficient coding */ - st = entropy->dc_stats[tbl] + entropy->dc_context[ci]; - - /* Figure F.4: Encode_DC_DIFF */ - if ((v = m - entropy->last_dc_val[ci]) == 0) { - arith_encode(cinfo, st, 0); - entropy->dc_context[ci] = 0; /* zero diff category */ - } else { - entropy->last_dc_val[ci] = m; - arith_encode(cinfo, st, 1); - /* Figure F.6: Encoding nonzero value v */ - /* Figure F.7: Encoding the sign of v */ - if (v > 0) { - arith_encode(cinfo, st + 1, 0); /* Table F.4: SS = S0 + 1 */ - st += 2; /* Table F.4: SP = S0 + 2 */ - entropy->dc_context[ci] = 4; /* small positive diff category */ - } else { - v = -v; - arith_encode(cinfo, st + 1, 1); /* Table F.4: SS = S0 + 1 */ - st += 3; /* Table F.4: SN = S0 + 3 */ - entropy->dc_context[ci] = 8; /* small negative diff category */ - } - /* Figure F.8: Encoding the magnitude category of v */ - m = 0; - if (v -= 1) { - arith_encode(cinfo, st, 1); - m = 1; - v2 = v; - st = entropy->dc_stats[tbl] + 20; /* Table F.4: X1 = 20 */ - while (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st += 1; - } - } - arith_encode(cinfo, st, 0); - /* Section F.1.4.4.1.2: Establish dc_context conditioning category */ - if (m < (int) (((INT32) 1 << cinfo->arith_dc_L[tbl]) >> 1)) - entropy->dc_context[ci] = 0; /* zero diff category */ - else if (m > (int) (((INT32) 1 << cinfo->arith_dc_U[tbl]) >> 1)) - entropy->dc_context[ci] += 8; /* large diff category */ - /* Figure F.9: Encoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - arith_encode(cinfo, st, (m & v) ? 1 : 0); - } - } - - return TRUE; -} - - -/* - * MCU encoding for AC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - unsigned char *st; - int tbl, k, ke; - int v, v2, m; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - emit_restart(cinfo, entropy->next_restart_num); - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - /* Encode the MCU data block */ - block = MCU_data[0]; - tbl = cinfo->cur_comp_info[0]->ac_tbl_no; - - /* Sections F.1.4.2 & F.1.4.4.2: Encoding of AC coefficients */ - - /* Establish EOB (end-of-block) index */ - for (ke = cinfo->Se + 1; ke > 1; ke--) - /* We must apply the point transform by Al. For AC coefficients this - * is an integer division with rounding towards 0. To do this portably - * in C, we shift after obtaining the absolute value. - */ - if ((v = (*block)[jpeg_natural_order[ke - 1]]) >= 0) { - if (v >>= cinfo->Al) break; - } else { - v = -v; - if (v >>= cinfo->Al) break; - } - - /* Figure F.5: Encode_AC_Coefficients */ - for (k = cinfo->Ss; k < ke; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - arith_encode(cinfo, st, 0); /* EOB decision */ - entropy->ac_stats[tbl][245] = 0; - for (;;) { - if ((v = (*block)[jpeg_natural_order[k]]) >= 0) { - if (v >>= cinfo->Al) { - arith_encode(cinfo, st + 1, 1); - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 0); - break; - } - } else { - v = -v; - if (v >>= cinfo->Al) { - arith_encode(cinfo, st + 1, 1); - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 1); - break; - } - } - arith_encode(cinfo, st + 1, 0); st += 3; k++; - } - st += 2; - /* Figure F.8: Encoding the magnitude category of v */ - m = 0; - if (v -= 1) { - arith_encode(cinfo, st, 1); - m = 1; - v2 = v; - if (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st = entropy->ac_stats[tbl] + - (k <= cinfo->arith_ac_K[tbl] ? 189 : 217); - while (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st += 1; - } - } - } - arith_encode(cinfo, st, 0); - /* Figure F.9: Encoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - arith_encode(cinfo, st, (m & v) ? 1 : 0); - } - /* Encode EOB decision only if k <= cinfo->Se */ - if (k <= cinfo->Se) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - arith_encode(cinfo, st, 1); - } - - return TRUE; -} - - -/* - * MCU encoding for DC successive approximation refinement scan. - */ - -METHODDEF(boolean) -encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - unsigned char st[4]; - int Al, blkn; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - emit_restart(cinfo, entropy->next_restart_num); - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - Al = cinfo->Al; - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - st[0] = 0; /* use fixed probability estimation */ - /* We simply emit the Al'th bit of the DC coefficient value. */ - arith_encode(cinfo, st, (MCU_data[blkn][0][0] >> Al) & 1); - } - - return TRUE; -} - - -/* - * MCU encoding for AC successive approximation refinement scan. - */ - -METHODDEF(boolean) -encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - unsigned char *st; - int tbl, k, ke, kex; - int v; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - emit_restart(cinfo, entropy->next_restart_num); - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - /* Encode the MCU data block */ - block = MCU_data[0]; - tbl = cinfo->cur_comp_info[0]->ac_tbl_no; - - /* Section G.1.3.3: Encoding of AC coefficients */ - - /* Establish EOB (end-of-block) index */ - for (ke = cinfo->Se + 1; ke > 1; ke--) - /* We must apply the point transform by Al. For AC coefficients this - * is an integer division with rounding towards 0. To do this portably - * in C, we shift after obtaining the absolute value. - */ - if ((v = (*block)[jpeg_natural_order[ke - 1]]) >= 0) { - if (v >>= cinfo->Al) break; - } else { - v = -v; - if (v >>= cinfo->Al) break; - } - - /* Establish EOBx (previous stage end-of-block) index */ - for (kex = ke; kex > 1; kex--) - if ((v = (*block)[jpeg_natural_order[kex - 1]]) >= 0) { - if (v >>= cinfo->Ah) break; - } else { - v = -v; - if (v >>= cinfo->Ah) break; - } - - /* Figure G.10: Encode_AC_Coefficients_SA */ - for (k = cinfo->Ss; k < ke; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - if (k >= kex) - arith_encode(cinfo, st, 0); /* EOB decision */ - entropy->ac_stats[tbl][245] = 0; - for (;;) { - if ((v = (*block)[jpeg_natural_order[k]]) >= 0) { - if (v >>= cinfo->Al) { - if (v >> 1) /* previously nonzero coef */ - arith_encode(cinfo, st + 2, (v & 1)); - else { /* newly nonzero coef */ - arith_encode(cinfo, st + 1, 1); - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 0); - } - break; - } - } else { - v = -v; - if (v >>= cinfo->Al) { - if (v >> 1) /* previously nonzero coef */ - arith_encode(cinfo, st + 2, (v & 1)); - else { /* newly nonzero coef */ - arith_encode(cinfo, st + 1, 1); - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 1); - } - break; - } - } - arith_encode(cinfo, st + 1, 0); st += 3; k++; - } - } - /* Encode EOB decision only if k <= cinfo->Se */ - if (k <= cinfo->Se) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - arith_encode(cinfo, st, 1); - } - - return TRUE; -} - - -/* - * Encode and output one MCU's worth of arithmetic-compressed coefficients. - */ - -METHODDEF(boolean) -encode_mcu (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - jpeg_component_info * compptr; - JBLOCKROW block; - unsigned char *st; - int blkn, ci, tbl, k, ke; - int v, v2, m; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - emit_restart(cinfo, entropy->next_restart_num); - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - - /* Sections F.1.4.1 & F.1.4.4.1: Encoding of DC coefficients */ - - tbl = compptr->dc_tbl_no; - - /* Table F.4: Point to statistics bin S0 for DC coefficient coding */ - st = entropy->dc_stats[tbl] + entropy->dc_context[ci]; - - /* Figure F.4: Encode_DC_DIFF */ - if ((v = (*block)[0] - entropy->last_dc_val[ci]) == 0) { - arith_encode(cinfo, st, 0); - entropy->dc_context[ci] = 0; /* zero diff category */ - } else { - entropy->last_dc_val[ci] = (*block)[0]; - arith_encode(cinfo, st, 1); - /* Figure F.6: Encoding nonzero value v */ - /* Figure F.7: Encoding the sign of v */ - if (v > 0) { - arith_encode(cinfo, st + 1, 0); /* Table F.4: SS = S0 + 1 */ - st += 2; /* Table F.4: SP = S0 + 2 */ - entropy->dc_context[ci] = 4; /* small positive diff category */ - } else { - v = -v; - arith_encode(cinfo, st + 1, 1); /* Table F.4: SS = S0 + 1 */ - st += 3; /* Table F.4: SN = S0 + 3 */ - entropy->dc_context[ci] = 8; /* small negative diff category */ - } - /* Figure F.8: Encoding the magnitude category of v */ - m = 0; - if (v -= 1) { - arith_encode(cinfo, st, 1); - m = 1; - v2 = v; - st = entropy->dc_stats[tbl] + 20; /* Table F.4: X1 = 20 */ - while (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st += 1; - } - } - arith_encode(cinfo, st, 0); - /* Section F.1.4.4.1.2: Establish dc_context conditioning category */ - if (m < (int) (((INT32) 1 << cinfo->arith_dc_L[tbl]) >> 1)) - entropy->dc_context[ci] = 0; /* zero diff category */ - else if (m > (int) (((INT32) 1 << cinfo->arith_dc_U[tbl]) >> 1)) - entropy->dc_context[ci] += 8; /* large diff category */ - /* Figure F.9: Encoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - arith_encode(cinfo, st, (m & v) ? 1 : 0); - } - - /* Sections F.1.4.2 & F.1.4.4.2: Encoding of AC coefficients */ - - tbl = compptr->ac_tbl_no; - - /* Establish EOB (end-of-block) index */ - for (ke = DCTSIZE2; ke > 1; ke--) - if ((*block)[jpeg_natural_order[ke - 1]]) break; - - /* Figure F.5: Encode_AC_Coefficients */ - for (k = 1; k < ke; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - arith_encode(cinfo, st, 0); /* EOB decision */ - while ((v = (*block)[jpeg_natural_order[k]]) == 0) { - arith_encode(cinfo, st + 1, 0); st += 3; k++; - } - arith_encode(cinfo, st + 1, 1); - /* Figure F.6: Encoding nonzero value v */ - /* Figure F.7: Encoding the sign of v */ - entropy->ac_stats[tbl][245] = 0; - if (v > 0) { - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 0); - } else { - v = -v; - arith_encode(cinfo, entropy->ac_stats[tbl] + 245, 1); - } - st += 2; - /* Figure F.8: Encoding the magnitude category of v */ - m = 0; - if (v -= 1) { - arith_encode(cinfo, st, 1); - m = 1; - v2 = v; - if (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st = entropy->ac_stats[tbl] + - (k <= cinfo->arith_ac_K[tbl] ? 189 : 217); - while (v2 >>= 1) { - arith_encode(cinfo, st, 1); - m <<= 1; - st += 1; - } - } - } - arith_encode(cinfo, st, 0); - /* Figure F.9: Encoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - arith_encode(cinfo, st, (m & v) ? 1 : 0); - } - /* Encode EOB decision only if k < DCTSIZE2 */ - if (k < DCTSIZE2) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - arith_encode(cinfo, st, 1); - } - } - - return TRUE; -} - - -/* - * Initialize for an arithmetic-compressed scan. - */ - -METHODDEF(void) -start_pass (j_compress_ptr cinfo, boolean gather_statistics) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - int ci, tbl; - jpeg_component_info * compptr; - - if (gather_statistics) - /* Make sure to avoid that in the master control logic! - * We are fully adaptive here and need no extra - * statistics gathering pass! - */ - ERREXIT(cinfo, JERR_NOT_COMPILED); - - /* We assume jcmaster.c already validated the progressive scan parameters. */ - - /* Select execution routines */ - if (cinfo->progressive_mode) { - if (cinfo->Ah == 0) { - if (cinfo->Ss == 0) - entropy->pub.encode_mcu = encode_mcu_DC_first; - else - entropy->pub.encode_mcu = encode_mcu_AC_first; - } else { - if (cinfo->Ss == 0) - entropy->pub.encode_mcu = encode_mcu_DC_refine; - else - entropy->pub.encode_mcu = encode_mcu_AC_refine; - } - } else - entropy->pub.encode_mcu = encode_mcu; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Allocate & initialize requested statistics areas */ - if (cinfo->progressive_mode == 0 || (cinfo->Ss == 0 && cinfo->Ah == 0)) { - tbl = compptr->dc_tbl_no; - if (tbl < 0 || tbl >= NUM_ARITH_TBLS) - ERREXIT1(cinfo, JERR_NO_ARITH_TABLE, tbl); - if (entropy->dc_stats[tbl] == NULL) - entropy->dc_stats[tbl] = (unsigned char *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, DC_STAT_BINS); - MEMZERO(entropy->dc_stats[tbl], DC_STAT_BINS); - /* Initialize DC predictions to 0 */ - entropy->last_dc_val[ci] = 0; - entropy->dc_context[ci] = 0; - } - if (cinfo->progressive_mode == 0 || cinfo->Ss) { - tbl = compptr->ac_tbl_no; - if (tbl < 0 || tbl >= NUM_ARITH_TBLS) - ERREXIT1(cinfo, JERR_NO_ARITH_TABLE, tbl); - if (entropy->ac_stats[tbl] == NULL) - entropy->ac_stats[tbl] = (unsigned char *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, AC_STAT_BINS); - MEMZERO(entropy->ac_stats[tbl], AC_STAT_BINS); -#ifdef CALCULATE_SPECTRAL_CONDITIONING - if (cinfo->progressive_mode) - /* Section G.1.3.2: Set appropriate arithmetic conditioning value Kx */ - cinfo->arith_ac_K[tbl] = cinfo->Ss + ((8 + cinfo->Se - cinfo->Ss) >> 4); -#endif - } - } - - /* Initialize arithmetic encoding variables */ - entropy->c = 0; - entropy->a = 0x10000L; - entropy->sc = 0; - entropy->zc = 0; - entropy->ct = 11; - entropy->buffer = -1; /* empty */ - - /* Initialize restart stuff */ - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num = 0; -} - - -/* - * Module initialization routine for arithmetic entropy encoding. - */ - -GLOBAL(void) -jinit_arith_encoder (j_compress_ptr cinfo) -{ - arith_entropy_ptr entropy; - int i; - - entropy = (arith_entropy_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(arith_entropy_encoder)); - cinfo->entropy = (struct jpeg_entropy_encoder *) entropy; - entropy->pub.start_pass = start_pass; - entropy->pub.finish_pass = finish_pass; - - /* Mark tables unallocated */ - for (i = 0; i < NUM_ARITH_TBLS; i++) { - entropy->dc_stats[i] = NULL; - entropy->ac_stats[i] = NULL; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jccoefct.c b/3rdparty/openctm/tools/jpeg/jccoefct.c deleted file mode 100644 index 1e026193a..000000000 --- a/3rdparty/openctm/tools/jpeg/jccoefct.c +++ /dev/null @@ -1,453 +0,0 @@ -/* - * jccoefct.c - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the coefficient buffer controller for compression. - * This controller is the top level of the JPEG compressor proper. - * The coefficient buffer lies between forward-DCT and entropy encoding steps. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* We use a full-image coefficient buffer when doing Huffman optimization, - * and also for writing multiple-scan JPEG files. In all cases, the DCT - * step is run during the first pass, and subsequent passes need only read - * the buffered coefficients. - */ -#ifdef ENTROPY_OPT_SUPPORTED -#define FULL_COEF_BUFFER_SUPPORTED -#else -#ifdef C_MULTISCAN_FILES_SUPPORTED -#define FULL_COEF_BUFFER_SUPPORTED -#endif -#endif - - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_c_coef_controller pub; /* public fields */ - - JDIMENSION iMCU_row_num; /* iMCU row # within image */ - JDIMENSION mcu_ctr; /* counts MCUs processed in current row */ - int MCU_vert_offset; /* counts MCU rows within iMCU row */ - int MCU_rows_per_iMCU_row; /* number of such rows needed */ - - /* For single-pass compression, it's sufficient to buffer just one MCU - * (although this may prove a bit slow in practice). We allocate a - * workspace of C_MAX_BLOCKS_IN_MCU coefficient blocks, and reuse it for each - * MCU constructed and sent. (On 80x86, the workspace is FAR even though - * it's not really very big; this is to keep the module interfaces unchanged - * when a large coefficient buffer is necessary.) - * In multi-pass modes, this array points to the current MCU's blocks - * within the virtual arrays. - */ - JBLOCKROW MCU_buffer[C_MAX_BLOCKS_IN_MCU]; - - /* In multi-pass modes, we need a virtual block array for each component. */ - jvirt_barray_ptr whole_image[MAX_COMPONENTS]; -} my_coef_controller; - -typedef my_coef_controller * my_coef_ptr; - - -/* Forward declarations */ -METHODDEF(boolean) compress_data - JPP((j_compress_ptr cinfo, JSAMPIMAGE input_buf)); -#ifdef FULL_COEF_BUFFER_SUPPORTED -METHODDEF(boolean) compress_first_pass - JPP((j_compress_ptr cinfo, JSAMPIMAGE input_buf)); -METHODDEF(boolean) compress_output - JPP((j_compress_ptr cinfo, JSAMPIMAGE input_buf)); -#endif - - -LOCAL(void) -start_iMCU_row (j_compress_ptr cinfo) -/* Reset within-iMCU-row counters for a new row */ -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - /* In an interleaved scan, an MCU row is the same as an iMCU row. - * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. - * But at the bottom of the image, process only what's left. - */ - if (cinfo->comps_in_scan > 1) { - coef->MCU_rows_per_iMCU_row = 1; - } else { - if (coef->iMCU_row_num < (cinfo->total_iMCU_rows-1)) - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->v_samp_factor; - else - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->last_row_height; - } - - coef->mcu_ctr = 0; - coef->MCU_vert_offset = 0; -} - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_coef (j_compress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - coef->iMCU_row_num = 0; - start_iMCU_row(cinfo); - - switch (pass_mode) { - case JBUF_PASS_THRU: - if (coef->whole_image[0] != NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - coef->pub.compress_data = compress_data; - break; -#ifdef FULL_COEF_BUFFER_SUPPORTED - case JBUF_SAVE_AND_PASS: - if (coef->whole_image[0] == NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - coef->pub.compress_data = compress_first_pass; - break; - case JBUF_CRANK_DEST: - if (coef->whole_image[0] == NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - coef->pub.compress_data = compress_output; - break; -#endif - default: - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - break; - } -} - - -/* - * Process some data in the single-pass case. - * We process the equivalent of one fully interleaved MCU row ("iMCU" row) - * per call, ie, v_samp_factor block rows for each component in the image. - * Returns TRUE if the iMCU row is completed, FALSE if suspended. - * - * NB: input_buf contains a plane for each component in image, - * which we index according to the component's SOF position. - */ - -METHODDEF(boolean) -compress_data (j_compress_ptr cinfo, JSAMPIMAGE input_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION MCU_col_num; /* index of current MCU within row */ - JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - int blkn, bi, ci, yindex, yoffset, blockcnt; - JDIMENSION ypos, xpos; - jpeg_component_info *compptr; - forward_DCT_ptr forward_DCT; - - /* Loop to write as much as one whole iMCU row */ - for (yoffset = coef->MCU_vert_offset; yoffset < coef->MCU_rows_per_iMCU_row; - yoffset++) { - for (MCU_col_num = coef->mcu_ctr; MCU_col_num <= last_MCU_col; - MCU_col_num++) { - /* Determine where data comes from in input_buf and do the DCT thing. - * Each call on forward_DCT processes a horizontal row of DCT blocks - * as wide as an MCU; we rely on having allocated the MCU_buffer[] blocks - * sequentially. Dummy blocks at the right or bottom edge are filled in - * specially. The data in them does not matter for image reconstruction, - * so we fill them with values that will encode to the smallest amount of - * data, viz: all zeroes in the AC entries, DC entries equal to previous - * block's DC value. (Thanks to Thomas Kinsman for this idea.) - */ - blkn = 0; - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - forward_DCT = cinfo->fdct->forward_DCT[compptr->component_index]; - blockcnt = (MCU_col_num < last_MCU_col) ? compptr->MCU_width - : compptr->last_col_width; - xpos = MCU_col_num * compptr->MCU_sample_width; - ypos = yoffset * compptr->DCT_v_scaled_size; - /* ypos == (yoffset+yindex) * DCTSIZE */ - for (yindex = 0; yindex < compptr->MCU_height; yindex++) { - if (coef->iMCU_row_num < last_iMCU_row || - yoffset+yindex < compptr->last_row_height) { - (*forward_DCT) (cinfo, compptr, - input_buf[compptr->component_index], - coef->MCU_buffer[blkn], - ypos, xpos, (JDIMENSION) blockcnt); - if (blockcnt < compptr->MCU_width) { - /* Create some dummy blocks at the right edge of the image. */ - jzero_far((void FAR *) coef->MCU_buffer[blkn + blockcnt], - (compptr->MCU_width - blockcnt) * SIZEOF(JBLOCK)); - for (bi = blockcnt; bi < compptr->MCU_width; bi++) { - coef->MCU_buffer[blkn+bi][0][0] = coef->MCU_buffer[blkn+bi-1][0][0]; - } - } - } else { - /* Create a row of dummy blocks at the bottom of the image. */ - jzero_far((void FAR *) coef->MCU_buffer[blkn], - compptr->MCU_width * SIZEOF(JBLOCK)); - for (bi = 0; bi < compptr->MCU_width; bi++) { - coef->MCU_buffer[blkn+bi][0][0] = coef->MCU_buffer[blkn-1][0][0]; - } - } - blkn += compptr->MCU_width; - ypos += compptr->DCT_v_scaled_size; - } - } - /* Try to write the MCU. In event of a suspension failure, we will - * re-DCT the MCU on restart (a bit inefficient, could be fixed...) - */ - if (! (*cinfo->entropy->encode_mcu) (cinfo, coef->MCU_buffer)) { - /* Suspension forced; update state counters and exit */ - coef->MCU_vert_offset = yoffset; - coef->mcu_ctr = MCU_col_num; - return FALSE; - } - } - /* Completed an MCU row, but perhaps not an iMCU row */ - coef->mcu_ctr = 0; - } - /* Completed the iMCU row, advance counters for next one */ - coef->iMCU_row_num++; - start_iMCU_row(cinfo); - return TRUE; -} - - -#ifdef FULL_COEF_BUFFER_SUPPORTED - -/* - * Process some data in the first pass of a multi-pass case. - * We process the equivalent of one fully interleaved MCU row ("iMCU" row) - * per call, ie, v_samp_factor block rows for each component in the image. - * This amount of data is read from the source buffer, DCT'd and quantized, - * and saved into the virtual arrays. We also generate suitable dummy blocks - * as needed at the right and lower edges. (The dummy blocks are constructed - * in the virtual arrays, which have been padded appropriately.) This makes - * it possible for subsequent passes not to worry about real vs. dummy blocks. - * - * We must also emit the data to the entropy encoder. This is conveniently - * done by calling compress_output() after we've loaded the current strip - * of the virtual arrays. - * - * NB: input_buf contains a plane for each component in image. All - * components are DCT'd and loaded into the virtual arrays in this pass. - * However, it may be that only a subset of the components are emitted to - * the entropy encoder during this first pass; be careful about looking - * at the scan-dependent variables (MCU dimensions, etc). - */ - -METHODDEF(boolean) -compress_first_pass (j_compress_ptr cinfo, JSAMPIMAGE input_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - JDIMENSION blocks_across, MCUs_across, MCUindex; - int bi, ci, h_samp_factor, block_row, block_rows, ndummy; - JCOEF lastDC; - jpeg_component_info *compptr; - JBLOCKARRAY buffer; - JBLOCKROW thisblockrow, lastblockrow; - forward_DCT_ptr forward_DCT; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Align the virtual buffer for this component. */ - buffer = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[ci], - coef->iMCU_row_num * compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, TRUE); - /* Count non-dummy DCT block rows in this iMCU row. */ - if (coef->iMCU_row_num < last_iMCU_row) - block_rows = compptr->v_samp_factor; - else { - /* NB: can't use last_row_height here, since may not be set! */ - block_rows = (int) (compptr->height_in_blocks % compptr->v_samp_factor); - if (block_rows == 0) block_rows = compptr->v_samp_factor; - } - blocks_across = compptr->width_in_blocks; - h_samp_factor = compptr->h_samp_factor; - /* Count number of dummy blocks to be added at the right margin. */ - ndummy = (int) (blocks_across % h_samp_factor); - if (ndummy > 0) - ndummy = h_samp_factor - ndummy; - forward_DCT = cinfo->fdct->forward_DCT[ci]; - /* Perform DCT for all non-dummy blocks in this iMCU row. Each call - * on forward_DCT processes a complete horizontal row of DCT blocks. - */ - for (block_row = 0; block_row < block_rows; block_row++) { - thisblockrow = buffer[block_row]; - (*forward_DCT) (cinfo, compptr, input_buf[ci], thisblockrow, - (JDIMENSION) (block_row * compptr->DCT_v_scaled_size), - (JDIMENSION) 0, blocks_across); - if (ndummy > 0) { - /* Create dummy blocks at the right edge of the image. */ - thisblockrow += blocks_across; /* => first dummy block */ - jzero_far((void FAR *) thisblockrow, ndummy * SIZEOF(JBLOCK)); - lastDC = thisblockrow[-1][0]; - for (bi = 0; bi < ndummy; bi++) { - thisblockrow[bi][0] = lastDC; - } - } - } - /* If at end of image, create dummy block rows as needed. - * The tricky part here is that within each MCU, we want the DC values - * of the dummy blocks to match the last real block's DC value. - * This squeezes a few more bytes out of the resulting file... - */ - if (coef->iMCU_row_num == last_iMCU_row) { - blocks_across += ndummy; /* include lower right corner */ - MCUs_across = blocks_across / h_samp_factor; - for (block_row = block_rows; block_row < compptr->v_samp_factor; - block_row++) { - thisblockrow = buffer[block_row]; - lastblockrow = buffer[block_row-1]; - jzero_far((void FAR *) thisblockrow, - (size_t) (blocks_across * SIZEOF(JBLOCK))); - for (MCUindex = 0; MCUindex < MCUs_across; MCUindex++) { - lastDC = lastblockrow[h_samp_factor-1][0]; - for (bi = 0; bi < h_samp_factor; bi++) { - thisblockrow[bi][0] = lastDC; - } - thisblockrow += h_samp_factor; /* advance to next MCU in row */ - lastblockrow += h_samp_factor; - } - } - } - } - /* NB: compress_output will increment iMCU_row_num if successful. - * A suspension return will result in redoing all the work above next time. - */ - - /* Emit data to the entropy encoder, sharing code with subsequent passes */ - return compress_output(cinfo, input_buf); -} - - -/* - * Process some data in subsequent passes of a multi-pass case. - * We process the equivalent of one fully interleaved MCU row ("iMCU" row) - * per call, ie, v_samp_factor block rows for each component in the scan. - * The data is obtained from the virtual arrays and fed to the entropy coder. - * Returns TRUE if the iMCU row is completed, FALSE if suspended. - * - * NB: input_buf is ignored; it is likely to be a NULL pointer. - */ - -METHODDEF(boolean) -compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION MCU_col_num; /* index of current MCU within row */ - int blkn, ci, xindex, yindex, yoffset; - JDIMENSION start_col; - JBLOCKARRAY buffer[MAX_COMPS_IN_SCAN]; - JBLOCKROW buffer_ptr; - jpeg_component_info *compptr; - - /* Align the virtual buffers for the components used in this scan. - * NB: during first pass, this is safe only because the buffers will - * already be aligned properly, so jmemmgr.c won't need to do any I/O. - */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - buffer[ci] = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[compptr->component_index], - coef->iMCU_row_num * compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } - - /* Loop to process one whole iMCU row */ - for (yoffset = coef->MCU_vert_offset; yoffset < coef->MCU_rows_per_iMCU_row; - yoffset++) { - for (MCU_col_num = coef->mcu_ctr; MCU_col_num < cinfo->MCUs_per_row; - MCU_col_num++) { - /* Construct list of pointers to DCT blocks belonging to this MCU */ - blkn = 0; /* index of current DCT block within MCU */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - start_col = MCU_col_num * compptr->MCU_width; - for (yindex = 0; yindex < compptr->MCU_height; yindex++) { - buffer_ptr = buffer[ci][yindex+yoffset] + start_col; - for (xindex = 0; xindex < compptr->MCU_width; xindex++) { - coef->MCU_buffer[blkn++] = buffer_ptr++; - } - } - } - /* Try to write the MCU. */ - if (! (*cinfo->entropy->encode_mcu) (cinfo, coef->MCU_buffer)) { - /* Suspension forced; update state counters and exit */ - coef->MCU_vert_offset = yoffset; - coef->mcu_ctr = MCU_col_num; - return FALSE; - } - } - /* Completed an MCU row, but perhaps not an iMCU row */ - coef->mcu_ctr = 0; - } - /* Completed the iMCU row, advance counters for next one */ - coef->iMCU_row_num++; - start_iMCU_row(cinfo); - return TRUE; -} - -#endif /* FULL_COEF_BUFFER_SUPPORTED */ - - -/* - * Initialize coefficient buffer controller. - */ - -GLOBAL(void) -jinit_c_coef_controller (j_compress_ptr cinfo, boolean need_full_buffer) -{ - my_coef_ptr coef; - - coef = (my_coef_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_coef_controller)); - cinfo->coef = (struct jpeg_c_coef_controller *) coef; - coef->pub.start_pass = start_pass_coef; - - /* Create the coefficient buffer. */ - if (need_full_buffer) { -#ifdef FULL_COEF_BUFFER_SUPPORTED - /* Allocate a full-image virtual array for each component, */ - /* padded to a multiple of samp_factor DCT blocks in each direction. */ - int ci; - jpeg_component_info *compptr; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - coef->whole_image[ci] = (*cinfo->mem->request_virt_barray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - (JDIMENSION) jround_up((long) compptr->width_in_blocks, - (long) compptr->h_samp_factor), - (JDIMENSION) jround_up((long) compptr->height_in_blocks, - (long) compptr->v_samp_factor), - (JDIMENSION) compptr->v_samp_factor); - } -#else - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); -#endif - } else { - /* We only need a single-MCU buffer. */ - JBLOCKROW buffer; - int i; - - buffer = (JBLOCKROW) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, - C_MAX_BLOCKS_IN_MCU * SIZEOF(JBLOCK)); - for (i = 0; i < C_MAX_BLOCKS_IN_MCU; i++) { - coef->MCU_buffer[i] = buffer + i; - } - coef->whole_image[0] = NULL; /* flag for no virtual arrays */ - } -} diff --git a/3rdparty/openctm/tools/jpeg/jccolor.c b/3rdparty/openctm/tools/jpeg/jccolor.c deleted file mode 100644 index 266372454..000000000 --- a/3rdparty/openctm/tools/jpeg/jccolor.c +++ /dev/null @@ -1,459 +0,0 @@ -/* - * jccolor.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains input colorspace conversion routines. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private subobject */ - -typedef struct { - struct jpeg_color_converter pub; /* public fields */ - - /* Private state for RGB->YCC conversion */ - INT32 * rgb_ycc_tab; /* => table for RGB to YCbCr conversion */ -} my_color_converter; - -typedef my_color_converter * my_cconvert_ptr; - - -/**************** RGB -> YCbCr conversion: most common case **************/ - -/* - * YCbCr is defined per CCIR 601-1, except that Cb and Cr are - * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. - * The conversion equations to be implemented are therefore - * Y = 0.29900 * R + 0.58700 * G + 0.11400 * B - * Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + CENTERJSAMPLE - * Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + CENTERJSAMPLE - * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.) - * Note: older versions of the IJG code used a zero offset of MAXJSAMPLE/2, - * rather than CENTERJSAMPLE, for Cb and Cr. This gave equal positive and - * negative swings for Cb/Cr, but meant that grayscale values (Cb=Cr=0) - * were not represented exactly. Now we sacrifice exact representation of - * maximum red and maximum blue in order to get exact grayscales. - * - * To avoid floating-point arithmetic, we represent the fractional constants - * as integers scaled up by 2^16 (about 4 digits precision); we have to divide - * the products by 2^16, with appropriate rounding, to get the correct answer. - * - * For even more speed, we avoid doing any multiplications in the inner loop - * by precalculating the constants times R,G,B for all possible values. - * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); - * for 12-bit samples it is still acceptable. It's not very reasonable for - * 16-bit samples, but if you want lossless storage you shouldn't be changing - * colorspace anyway. - * The CENTERJSAMPLE offsets and the rounding fudge-factor of 0.5 are included - * in the tables to save adding them separately in the inner loop. - */ - -#define SCALEBITS 16 /* speediest right-shift on some machines */ -#define CBCR_OFFSET ((INT32) CENTERJSAMPLE << SCALEBITS) -#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) -#define FIX(x) ((INT32) ((x) * (1L< Y section */ -#define G_Y_OFF (1*(MAXJSAMPLE+1)) /* offset to G => Y section */ -#define B_Y_OFF (2*(MAXJSAMPLE+1)) /* etc. */ -#define R_CB_OFF (3*(MAXJSAMPLE+1)) -#define G_CB_OFF (4*(MAXJSAMPLE+1)) -#define B_CB_OFF (5*(MAXJSAMPLE+1)) -#define R_CR_OFF B_CB_OFF /* B=>Cb, R=>Cr are the same */ -#define G_CR_OFF (6*(MAXJSAMPLE+1)) -#define B_CR_OFF (7*(MAXJSAMPLE+1)) -#define TABLE_SIZE (8*(MAXJSAMPLE+1)) - - -/* - * Initialize for RGB->YCC colorspace conversion. - */ - -METHODDEF(void) -rgb_ycc_start (j_compress_ptr cinfo) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - INT32 * rgb_ycc_tab; - INT32 i; - - /* Allocate and fill in the conversion tables. */ - cconvert->rgb_ycc_tab = rgb_ycc_tab = (INT32 *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (TABLE_SIZE * SIZEOF(INT32))); - - for (i = 0; i <= MAXJSAMPLE; i++) { - rgb_ycc_tab[i+R_Y_OFF] = FIX(0.29900) * i; - rgb_ycc_tab[i+G_Y_OFF] = FIX(0.58700) * i; - rgb_ycc_tab[i+B_Y_OFF] = FIX(0.11400) * i + ONE_HALF; - rgb_ycc_tab[i+R_CB_OFF] = (-FIX(0.16874)) * i; - rgb_ycc_tab[i+G_CB_OFF] = (-FIX(0.33126)) * i; - /* We use a rounding fudge-factor of 0.5-epsilon for Cb and Cr. - * This ensures that the maximum output will round to MAXJSAMPLE - * not MAXJSAMPLE+1, and thus that we don't have to range-limit. - */ - rgb_ycc_tab[i+B_CB_OFF] = FIX(0.50000) * i + CBCR_OFFSET + ONE_HALF-1; -/* B=>Cb and R=>Cr tables are the same - rgb_ycc_tab[i+R_CR_OFF] = FIX(0.50000) * i + CBCR_OFFSET + ONE_HALF-1; -*/ - rgb_ycc_tab[i+G_CR_OFF] = (-FIX(0.41869)) * i; - rgb_ycc_tab[i+B_CR_OFF] = (-FIX(0.08131)) * i; - } -} - - -/* - * Convert some rows of samples to the JPEG colorspace. - * - * Note that we change from the application's interleaved-pixel format - * to our internal noninterleaved, one-plane-per-component format. - * The input buffer is therefore three times as wide as the output buffer. - * - * A starting row offset is provided only for the output buffer. The caller - * can easily adjust the passed input_buf value to accommodate any row - * offset required on that side. - */ - -METHODDEF(void) -rgb_ycc_convert (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - register int r, g, b; - register INT32 * ctab = cconvert->rgb_ycc_tab; - register JSAMPROW inptr; - register JSAMPROW outptr0, outptr1, outptr2; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->image_width; - - while (--num_rows >= 0) { - inptr = *input_buf++; - outptr0 = output_buf[0][output_row]; - outptr1 = output_buf[1][output_row]; - outptr2 = output_buf[2][output_row]; - output_row++; - for (col = 0; col < num_cols; col++) { - r = GETJSAMPLE(inptr[RGB_RED]); - g = GETJSAMPLE(inptr[RGB_GREEN]); - b = GETJSAMPLE(inptr[RGB_BLUE]); - inptr += RGB_PIXELSIZE; - /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations - * must be too; we do not need an explicit range-limiting operation. - * Hence the value being shifted is never negative, and we don't - * need the general RIGHT_SHIFT macro. - */ - /* Y */ - outptr0[col] = (JSAMPLE) - ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) - >> SCALEBITS); - /* Cb */ - outptr1[col] = (JSAMPLE) - ((ctab[r+R_CB_OFF] + ctab[g+G_CB_OFF] + ctab[b+B_CB_OFF]) - >> SCALEBITS); - /* Cr */ - outptr2[col] = (JSAMPLE) - ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) - >> SCALEBITS); - } - } -} - - -/**************** Cases other than RGB -> YCbCr **************/ - - -/* - * Convert some rows of samples to the JPEG colorspace. - * This version handles RGB->grayscale conversion, which is the same - * as the RGB->Y portion of RGB->YCbCr. - * We assume rgb_ycc_start has been called (we only use the Y tables). - */ - -METHODDEF(void) -rgb_gray_convert (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - register int r, g, b; - register INT32 * ctab = cconvert->rgb_ycc_tab; - register JSAMPROW inptr; - register JSAMPROW outptr; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->image_width; - - while (--num_rows >= 0) { - inptr = *input_buf++; - outptr = output_buf[0][output_row]; - output_row++; - for (col = 0; col < num_cols; col++) { - r = GETJSAMPLE(inptr[RGB_RED]); - g = GETJSAMPLE(inptr[RGB_GREEN]); - b = GETJSAMPLE(inptr[RGB_BLUE]); - inptr += RGB_PIXELSIZE; - /* Y */ - outptr[col] = (JSAMPLE) - ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) - >> SCALEBITS); - } - } -} - - -/* - * Convert some rows of samples to the JPEG colorspace. - * This version handles Adobe-style CMYK->YCCK conversion, - * where we convert R=1-C, G=1-M, and B=1-Y to YCbCr using the same - * conversion as above, while passing K (black) unchanged. - * We assume rgb_ycc_start has been called. - */ - -METHODDEF(void) -cmyk_ycck_convert (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - register int r, g, b; - register INT32 * ctab = cconvert->rgb_ycc_tab; - register JSAMPROW inptr; - register JSAMPROW outptr0, outptr1, outptr2, outptr3; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->image_width; - - while (--num_rows >= 0) { - inptr = *input_buf++; - outptr0 = output_buf[0][output_row]; - outptr1 = output_buf[1][output_row]; - outptr2 = output_buf[2][output_row]; - outptr3 = output_buf[3][output_row]; - output_row++; - for (col = 0; col < num_cols; col++) { - r = MAXJSAMPLE - GETJSAMPLE(inptr[0]); - g = MAXJSAMPLE - GETJSAMPLE(inptr[1]); - b = MAXJSAMPLE - GETJSAMPLE(inptr[2]); - /* K passes through as-is */ - outptr3[col] = inptr[3]; /* don't need GETJSAMPLE here */ - inptr += 4; - /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations - * must be too; we do not need an explicit range-limiting operation. - * Hence the value being shifted is never negative, and we don't - * need the general RIGHT_SHIFT macro. - */ - /* Y */ - outptr0[col] = (JSAMPLE) - ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) - >> SCALEBITS); - /* Cb */ - outptr1[col] = (JSAMPLE) - ((ctab[r+R_CB_OFF] + ctab[g+G_CB_OFF] + ctab[b+B_CB_OFF]) - >> SCALEBITS); - /* Cr */ - outptr2[col] = (JSAMPLE) - ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) - >> SCALEBITS); - } - } -} - - -/* - * Convert some rows of samples to the JPEG colorspace. - * This version handles grayscale output with no conversion. - * The source can be either plain grayscale or YCbCr (since Y == gray). - */ - -METHODDEF(void) -grayscale_convert (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows) -{ - register JSAMPROW inptr; - register JSAMPROW outptr; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->image_width; - int instride = cinfo->input_components; - - while (--num_rows >= 0) { - inptr = *input_buf++; - outptr = output_buf[0][output_row]; - output_row++; - for (col = 0; col < num_cols; col++) { - outptr[col] = inptr[0]; /* don't need GETJSAMPLE() here */ - inptr += instride; - } - } -} - - -/* - * Convert some rows of samples to the JPEG colorspace. - * This version handles multi-component colorspaces without conversion. - * We assume input_components == num_components. - */ - -METHODDEF(void) -null_convert (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows) -{ - register JSAMPROW inptr; - register JSAMPROW outptr; - register JDIMENSION col; - register int ci; - int nc = cinfo->num_components; - JDIMENSION num_cols = cinfo->image_width; - - while (--num_rows >= 0) { - /* It seems fastest to make a separate pass for each component. */ - for (ci = 0; ci < nc; ci++) { - inptr = *input_buf; - outptr = output_buf[ci][output_row]; - for (col = 0; col < num_cols; col++) { - outptr[col] = inptr[ci]; /* don't need GETJSAMPLE() here */ - inptr += nc; - } - } - input_buf++; - output_row++; - } -} - - -/* - * Empty method for start_pass. - */ - -METHODDEF(void) -null_method (j_compress_ptr cinfo) -{ - /* no work needed */ -} - - -/* - * Module initialization routine for input colorspace conversion. - */ - -GLOBAL(void) -jinit_color_converter (j_compress_ptr cinfo) -{ - my_cconvert_ptr cconvert; - - cconvert = (my_cconvert_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_color_converter)); - cinfo->cconvert = (struct jpeg_color_converter *) cconvert; - /* set start_pass to null method until we find out differently */ - cconvert->pub.start_pass = null_method; - - /* Make sure input_components agrees with in_color_space */ - switch (cinfo->in_color_space) { - case JCS_GRAYSCALE: - if (cinfo->input_components != 1) - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - break; - - case JCS_RGB: -#if RGB_PIXELSIZE != 3 - if (cinfo->input_components != RGB_PIXELSIZE) - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - break; -#endif /* else share code with YCbCr */ - - case JCS_YCbCr: - if (cinfo->input_components != 3) - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - break; - - case JCS_CMYK: - case JCS_YCCK: - if (cinfo->input_components != 4) - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - break; - - default: /* JCS_UNKNOWN can be anything */ - if (cinfo->input_components < 1) - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - break; - } - - /* Check num_components, set conversion method based on requested space */ - switch (cinfo->jpeg_color_space) { - case JCS_GRAYSCALE: - if (cinfo->num_components != 1) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - if (cinfo->in_color_space == JCS_GRAYSCALE) - cconvert->pub.color_convert = grayscale_convert; - else if (cinfo->in_color_space == JCS_RGB) { - cconvert->pub.start_pass = rgb_ycc_start; - cconvert->pub.color_convert = rgb_gray_convert; - } else if (cinfo->in_color_space == JCS_YCbCr) - cconvert->pub.color_convert = grayscale_convert; - else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_RGB: - if (cinfo->num_components != 3) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - if (cinfo->in_color_space == JCS_RGB && RGB_PIXELSIZE == 3) - cconvert->pub.color_convert = null_convert; - else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_YCbCr: - if (cinfo->num_components != 3) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - if (cinfo->in_color_space == JCS_RGB) { - cconvert->pub.start_pass = rgb_ycc_start; - cconvert->pub.color_convert = rgb_ycc_convert; - } else if (cinfo->in_color_space == JCS_YCbCr) - cconvert->pub.color_convert = null_convert; - else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_CMYK: - if (cinfo->num_components != 4) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - if (cinfo->in_color_space == JCS_CMYK) - cconvert->pub.color_convert = null_convert; - else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_YCCK: - if (cinfo->num_components != 4) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - if (cinfo->in_color_space == JCS_CMYK) { - cconvert->pub.start_pass = rgb_ycc_start; - cconvert->pub.color_convert = cmyk_ycck_convert; - } else if (cinfo->in_color_space == JCS_YCCK) - cconvert->pub.color_convert = null_convert; - else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - default: /* allow null conversion of JCS_UNKNOWN */ - if (cinfo->jpeg_color_space != cinfo->in_color_space || - cinfo->num_components != cinfo->input_components) - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - cconvert->pub.color_convert = null_convert; - break; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jcdctmgr.c b/3rdparty/openctm/tools/jpeg/jcdctmgr.c deleted file mode 100644 index 550b1a6e7..000000000 --- a/3rdparty/openctm/tools/jpeg/jcdctmgr.c +++ /dev/null @@ -1,482 +0,0 @@ -/* - * jcdctmgr.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the forward-DCT management logic. - * This code selects a particular DCT implementation to be used, - * and it performs related housekeeping chores including coefficient - * quantization. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - - -/* Private subobject for this module */ - -typedef struct { - struct jpeg_forward_dct pub; /* public fields */ - - /* Pointer to the DCT routine actually in use */ - forward_DCT_method_ptr do_dct[MAX_COMPONENTS]; - - /* The actual post-DCT divisors --- not identical to the quant table - * entries, because of scaling (especially for an unnormalized DCT). - * Each table is given in normal array order. - */ - DCTELEM * divisors[NUM_QUANT_TBLS]; - -#ifdef DCT_FLOAT_SUPPORTED - /* Same as above for the floating-point case. */ - float_DCT_method_ptr do_float_dct[MAX_COMPONENTS]; - FAST_FLOAT * float_divisors[NUM_QUANT_TBLS]; -#endif -} my_fdct_controller; - -typedef my_fdct_controller * my_fdct_ptr; - - -/* The current scaled-DCT routines require ISLOW-style divisor tables, - * so be sure to compile that code if either ISLOW or SCALING is requested. - */ -#ifdef DCT_ISLOW_SUPPORTED -#define PROVIDE_ISLOW_TABLES -#else -#ifdef DCT_SCALING_SUPPORTED -#define PROVIDE_ISLOW_TABLES -#endif -#endif - - -/* - * Perform forward DCT on one or more blocks of a component. - * - * The input samples are taken from the sample_data[] array starting at - * position start_row/start_col, and moving to the right for any additional - * blocks. The quantized coefficients are returned in coef_blocks[]. - */ - -METHODDEF(void) -forward_DCT (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY sample_data, JBLOCKROW coef_blocks, - JDIMENSION start_row, JDIMENSION start_col, - JDIMENSION num_blocks) -/* This version is used for integer DCT implementations. */ -{ - /* This routine is heavily used, so it's worth coding it tightly. */ - my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; - forward_DCT_method_ptr do_dct = fdct->do_dct[compptr->component_index]; - DCTELEM * divisors = fdct->divisors[compptr->quant_tbl_no]; - DCTELEM workspace[DCTSIZE2]; /* work area for FDCT subroutine */ - JDIMENSION bi; - - sample_data += start_row; /* fold in the vertical offset once */ - - for (bi = 0; bi < num_blocks; bi++, start_col += compptr->DCT_h_scaled_size) { - /* Perform the DCT */ - (*do_dct) (workspace, sample_data, start_col); - - /* Quantize/descale the coefficients, and store into coef_blocks[] */ - { register DCTELEM temp, qval; - register int i; - register JCOEFPTR output_ptr = coef_blocks[bi]; - - for (i = 0; i < DCTSIZE2; i++) { - qval = divisors[i]; - temp = workspace[i]; - /* Divide the coefficient value by qval, ensuring proper rounding. - * Since C does not specify the direction of rounding for negative - * quotients, we have to force the dividend positive for portability. - * - * In most files, at least half of the output values will be zero - * (at default quantization settings, more like three-quarters...) - * so we should ensure that this case is fast. On many machines, - * a comparison is enough cheaper than a divide to make a special test - * a win. Since both inputs will be nonnegative, we need only test - * for a < b to discover whether a/b is 0. - * If your machine's division is fast enough, define FAST_DIVIDE. - */ -#ifdef FAST_DIVIDE -#define DIVIDE_BY(a,b) a /= b -#else -#define DIVIDE_BY(a,b) if (a >= b) a /= b; else a = 0 -#endif - if (temp < 0) { - temp = -temp; - temp += qval>>1; /* for rounding */ - DIVIDE_BY(temp, qval); - temp = -temp; - } else { - temp += qval>>1; /* for rounding */ - DIVIDE_BY(temp, qval); - } - output_ptr[i] = (JCOEF) temp; - } - } - } -} - - -#ifdef DCT_FLOAT_SUPPORTED - -METHODDEF(void) -forward_DCT_float (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY sample_data, JBLOCKROW coef_blocks, - JDIMENSION start_row, JDIMENSION start_col, - JDIMENSION num_blocks) -/* This version is used for floating-point DCT implementations. */ -{ - /* This routine is heavily used, so it's worth coding it tightly. */ - my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; - float_DCT_method_ptr do_dct = fdct->do_float_dct[compptr->component_index]; - FAST_FLOAT * divisors = fdct->float_divisors[compptr->quant_tbl_no]; - FAST_FLOAT workspace[DCTSIZE2]; /* work area for FDCT subroutine */ - JDIMENSION bi; - - sample_data += start_row; /* fold in the vertical offset once */ - - for (bi = 0; bi < num_blocks; bi++, start_col += compptr->DCT_h_scaled_size) { - /* Perform the DCT */ - (*do_dct) (workspace, sample_data, start_col); - - /* Quantize/descale the coefficients, and store into coef_blocks[] */ - { register FAST_FLOAT temp; - register int i; - register JCOEFPTR output_ptr = coef_blocks[bi]; - - for (i = 0; i < DCTSIZE2; i++) { - /* Apply the quantization and scaling factor */ - temp = workspace[i] * divisors[i]; - /* Round to nearest integer. - * Since C does not specify the direction of rounding for negative - * quotients, we have to force the dividend positive for portability. - * The maximum coefficient size is +-16K (for 12-bit data), so this - * code should work for either 16-bit or 32-bit ints. - */ - output_ptr[i] = (JCOEF) ((int) (temp + (FAST_FLOAT) 16384.5) - 16384); - } - } - } -} - -#endif /* DCT_FLOAT_SUPPORTED */ - - -/* - * Initialize for a processing pass. - * Verify that all referenced Q-tables are present, and set up - * the divisor table for each one. - * In the current implementation, DCT of all components is done during - * the first pass, even if only some components will be output in the - * first scan. Hence all components should be examined here. - */ - -METHODDEF(void) -start_pass_fdctmgr (j_compress_ptr cinfo) -{ - my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; - int ci, qtblno, i; - jpeg_component_info *compptr; - int method = 0; - JQUANT_TBL * qtbl; - DCTELEM * dtbl; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Select the proper DCT routine for this component's scaling */ - switch ((compptr->DCT_h_scaled_size << 8) + compptr->DCT_v_scaled_size) { -#ifdef DCT_SCALING_SUPPORTED - case ((1 << 8) + 1): - fdct->do_dct[ci] = jpeg_fdct_1x1; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((2 << 8) + 2): - fdct->do_dct[ci] = jpeg_fdct_2x2; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((3 << 8) + 3): - fdct->do_dct[ci] = jpeg_fdct_3x3; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((4 << 8) + 4): - fdct->do_dct[ci] = jpeg_fdct_4x4; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((5 << 8) + 5): - fdct->do_dct[ci] = jpeg_fdct_5x5; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((6 << 8) + 6): - fdct->do_dct[ci] = jpeg_fdct_6x6; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((7 << 8) + 7): - fdct->do_dct[ci] = jpeg_fdct_7x7; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((9 << 8) + 9): - fdct->do_dct[ci] = jpeg_fdct_9x9; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((10 << 8) + 10): - fdct->do_dct[ci] = jpeg_fdct_10x10; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((11 << 8) + 11): - fdct->do_dct[ci] = jpeg_fdct_11x11; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((12 << 8) + 12): - fdct->do_dct[ci] = jpeg_fdct_12x12; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((13 << 8) + 13): - fdct->do_dct[ci] = jpeg_fdct_13x13; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((14 << 8) + 14): - fdct->do_dct[ci] = jpeg_fdct_14x14; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((15 << 8) + 15): - fdct->do_dct[ci] = jpeg_fdct_15x15; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((16 << 8) + 16): - fdct->do_dct[ci] = jpeg_fdct_16x16; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((16 << 8) + 8): - fdct->do_dct[ci] = jpeg_fdct_16x8; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((14 << 8) + 7): - fdct->do_dct[ci] = jpeg_fdct_14x7; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((12 << 8) + 6): - fdct->do_dct[ci] = jpeg_fdct_12x6; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((10 << 8) + 5): - fdct->do_dct[ci] = jpeg_fdct_10x5; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((8 << 8) + 4): - fdct->do_dct[ci] = jpeg_fdct_8x4; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((6 << 8) + 3): - fdct->do_dct[ci] = jpeg_fdct_6x3; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((4 << 8) + 2): - fdct->do_dct[ci] = jpeg_fdct_4x2; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((2 << 8) + 1): - fdct->do_dct[ci] = jpeg_fdct_2x1; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((8 << 8) + 16): - fdct->do_dct[ci] = jpeg_fdct_8x16; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((7 << 8) + 14): - fdct->do_dct[ci] = jpeg_fdct_7x14; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((6 << 8) + 12): - fdct->do_dct[ci] = jpeg_fdct_6x12; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((5 << 8) + 10): - fdct->do_dct[ci] = jpeg_fdct_5x10; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((4 << 8) + 8): - fdct->do_dct[ci] = jpeg_fdct_4x8; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((3 << 8) + 6): - fdct->do_dct[ci] = jpeg_fdct_3x6; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((2 << 8) + 4): - fdct->do_dct[ci] = jpeg_fdct_2x4; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; - case ((1 << 8) + 2): - fdct->do_dct[ci] = jpeg_fdct_1x2; - method = JDCT_ISLOW; /* jfdctint uses islow-style table */ - break; -#endif - case ((DCTSIZE << 8) + DCTSIZE): - switch (cinfo->dct_method) { -#ifdef DCT_ISLOW_SUPPORTED - case JDCT_ISLOW: - fdct->do_dct[ci] = jpeg_fdct_islow; - method = JDCT_ISLOW; - break; -#endif -#ifdef DCT_IFAST_SUPPORTED - case JDCT_IFAST: - fdct->do_dct[ci] = jpeg_fdct_ifast; - method = JDCT_IFAST; - break; -#endif -#ifdef DCT_FLOAT_SUPPORTED - case JDCT_FLOAT: - fdct->do_float_dct[ci] = jpeg_fdct_float; - method = JDCT_FLOAT; - break; -#endif - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - break; - } - break; - default: - ERREXIT2(cinfo, JERR_BAD_DCTSIZE, - compptr->DCT_h_scaled_size, compptr->DCT_v_scaled_size); - break; - } - qtblno = compptr->quant_tbl_no; - /* Make sure specified quantization table is present */ - if (qtblno < 0 || qtblno >= NUM_QUANT_TBLS || - cinfo->quant_tbl_ptrs[qtblno] == NULL) - ERREXIT1(cinfo, JERR_NO_QUANT_TABLE, qtblno); - qtbl = cinfo->quant_tbl_ptrs[qtblno]; - /* Compute divisors for this quant table */ - /* We may do this more than once for same table, but it's not a big deal */ - switch (method) { -#ifdef PROVIDE_ISLOW_TABLES - case JDCT_ISLOW: - /* For LL&M IDCT method, divisors are equal to raw quantization - * coefficients multiplied by 8 (to counteract scaling). - */ - if (fdct->divisors[qtblno] == NULL) { - fdct->divisors[qtblno] = (DCTELEM *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - DCTSIZE2 * SIZEOF(DCTELEM)); - } - dtbl = fdct->divisors[qtblno]; - for (i = 0; i < DCTSIZE2; i++) { - dtbl[i] = ((DCTELEM) qtbl->quantval[i]) << 3; - } - fdct->pub.forward_DCT[ci] = forward_DCT; - break; -#endif -#ifdef DCT_IFAST_SUPPORTED - case JDCT_IFAST: - { - /* For AA&N IDCT method, divisors are equal to quantization - * coefficients scaled by scalefactor[row]*scalefactor[col], where - * scalefactor[0] = 1 - * scalefactor[k] = cos(k*PI/16) * sqrt(2) for k=1..7 - * We apply a further scale factor of 8. - */ -#define CONST_BITS 14 - static const INT16 aanscales[DCTSIZE2] = { - /* precomputed values scaled up by 14 bits */ - 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520, - 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270, - 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906, - 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315, - 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520, - 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552, - 8867, 12299, 11585, 10426, 8867, 6967, 4799, 2446, - 4520, 6270, 5906, 5315, 4520, 3552, 2446, 1247 - }; - SHIFT_TEMPS - - if (fdct->divisors[qtblno] == NULL) { - fdct->divisors[qtblno] = (DCTELEM *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - DCTSIZE2 * SIZEOF(DCTELEM)); - } - dtbl = fdct->divisors[qtblno]; - for (i = 0; i < DCTSIZE2; i++) { - dtbl[i] = (DCTELEM) - DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], - (INT32) aanscales[i]), - CONST_BITS-3); - } - } - fdct->pub.forward_DCT[ci] = forward_DCT; - break; -#endif -#ifdef DCT_FLOAT_SUPPORTED - case JDCT_FLOAT: - { - /* For float AA&N IDCT method, divisors are equal to quantization - * coefficients scaled by scalefactor[row]*scalefactor[col], where - * scalefactor[0] = 1 - * scalefactor[k] = cos(k*PI/16) * sqrt(2) for k=1..7 - * We apply a further scale factor of 8. - * What's actually stored is 1/divisor so that the inner loop can - * use a multiplication rather than a division. - */ - FAST_FLOAT * fdtbl; - int row, col; - static const double aanscalefactor[DCTSIZE] = { - 1.0, 1.387039845, 1.306562965, 1.175875602, - 1.0, 0.785694958, 0.541196100, 0.275899379 - }; - - if (fdct->float_divisors[qtblno] == NULL) { - fdct->float_divisors[qtblno] = (FAST_FLOAT *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - DCTSIZE2 * SIZEOF(FAST_FLOAT)); - } - fdtbl = fdct->float_divisors[qtblno]; - i = 0; - for (row = 0; row < DCTSIZE; row++) { - for (col = 0; col < DCTSIZE; col++) { - fdtbl[i] = (FAST_FLOAT) - (1.0 / (((double) qtbl->quantval[i] * - aanscalefactor[row] * aanscalefactor[col] * 8.0))); - i++; - } - } - } - fdct->pub.forward_DCT[ci] = forward_DCT_float; - break; -#endif - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - break; - } - } -} - - -/* - * Initialize FDCT manager. - */ - -GLOBAL(void) -jinit_forward_dct (j_compress_ptr cinfo) -{ - my_fdct_ptr fdct; - int i; - - fdct = (my_fdct_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_fdct_controller)); - cinfo->fdct = (struct jpeg_forward_dct *) fdct; - fdct->pub.start_pass = start_pass_fdctmgr; - - /* Mark divisor tables unallocated */ - for (i = 0; i < NUM_QUANT_TBLS; i++) { - fdct->divisors[i] = NULL; -#ifdef DCT_FLOAT_SUPPORTED - fdct->float_divisors[i] = NULL; -#endif - } -} diff --git a/3rdparty/openctm/tools/jpeg/jchuff.c b/3rdparty/openctm/tools/jpeg/jchuff.c deleted file mode 100644 index f3971209c..000000000 --- a/3rdparty/openctm/tools/jpeg/jchuff.c +++ /dev/null @@ -1,1612 +0,0 @@ -/* - * jchuff.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2006-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains Huffman entropy encoding routines. - * Both sequential and progressive modes are supported in this single module. - * - * Much of the complexity here has to do with supporting output suspension. - * If the data destination module demands suspension, we want to be able to - * back up to the start of the current MCU. To do this, we copy state - * variables into local working storage, and update them back to the - * permanent JPEG objects only upon successful completion of an MCU. - * - * We do not support output suspension for the progressive JPEG mode, since - * the library currently does not allow multiple-scan files to be written - * with output suspension. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* The legal range of a DCT coefficient is - * -1024 .. +1023 for 8-bit data; - * -16384 .. +16383 for 12-bit data. - * Hence the magnitude should always fit in 10 or 14 bits respectively. - */ - -#if BITS_IN_JSAMPLE == 8 -#define MAX_COEF_BITS 10 -#else -#define MAX_COEF_BITS 14 -#endif - -/* Derived data constructed for each Huffman table */ - -typedef struct { - unsigned int ehufco[256]; /* code for each symbol */ - char ehufsi[256]; /* length of code for each symbol */ - /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */ -} c_derived_tbl; - - -/* Expanded entropy encoder object for Huffman encoding. - * - * The savable_state subrecord contains fields that change within an MCU, - * but must not be updated permanently until we complete the MCU. - */ - -typedef struct { - INT32 put_buffer; /* current bit-accumulation buffer */ - int put_bits; /* # of bits now in it */ - int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ -} savable_state; - -/* This macro is to work around compilers with missing or broken - * structure assignment. You'll need to fix this code if you have - * such a compiler and you change MAX_COMPS_IN_SCAN. - */ - -#ifndef NO_STRUCT_ASSIGN -#define ASSIGN_STATE(dest,src) ((dest) = (src)) -#else -#if MAX_COMPS_IN_SCAN == 4 -#define ASSIGN_STATE(dest,src) \ - ((dest).put_buffer = (src).put_buffer, \ - (dest).put_bits = (src).put_bits, \ - (dest).last_dc_val[0] = (src).last_dc_val[0], \ - (dest).last_dc_val[1] = (src).last_dc_val[1], \ - (dest).last_dc_val[2] = (src).last_dc_val[2], \ - (dest).last_dc_val[3] = (src).last_dc_val[3]) -#endif -#endif - - -typedef struct { - struct jpeg_entropy_encoder pub; /* public fields */ - - savable_state saved; /* Bit buffer & DC state at start of MCU */ - - /* These fields are NOT loaded into local working state. */ - unsigned int restarts_to_go; /* MCUs left in this restart interval */ - int next_restart_num; /* next restart number to write (0-7) */ - - /* Following four fields used only in sequential mode */ - - /* Pointers to derived tables (these workspaces have image lifespan) */ - c_derived_tbl * dc_derived_tbls[NUM_HUFF_TBLS]; - c_derived_tbl * ac_derived_tbls[NUM_HUFF_TBLS]; - - /* Statistics tables for optimization */ - long * dc_count_ptrs[NUM_HUFF_TBLS]; - long * ac_count_ptrs[NUM_HUFF_TBLS]; - - /* Following fields used only in progressive mode */ - - /* Mode flag: TRUE for optimization, FALSE for actual data output */ - boolean gather_statistics; - - /* next_output_byte/free_in_buffer are local copies of cinfo->dest fields. - */ - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - j_compress_ptr cinfo; /* link to cinfo (needed for dump_buffer) */ - - /* Coding status for AC components */ - int ac_tbl_no; /* the table number of the single component */ - unsigned int EOBRUN; /* run length of EOBs */ - unsigned int BE; /* # of buffered correction bits before MCU */ - char * bit_buffer; /* buffer for correction bits (1 per char) */ - /* packing correction bits tightly would save some space but cost time... */ - - /* Pointers to derived tables (these workspaces have image lifespan). - * Since any one scan in progressive mode codes only DC or only AC, - * we only need one set of tables, not one for DC and one for AC. - */ - c_derived_tbl * derived_tbls[NUM_HUFF_TBLS]; - - /* Statistics tables for optimization; again, one set is enough */ - long * count_ptrs[NUM_HUFF_TBLS]; -} huff_entropy_encoder; - -typedef huff_entropy_encoder * huff_entropy_ptr; - -/* Working state while writing an MCU (sequential mode). - * This struct contains all the fields that are needed by subroutines. - */ - -typedef struct { - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - savable_state cur; /* Current bit buffer & DC state */ - j_compress_ptr cinfo; /* dump_buffer needs access to this */ -} working_state; - -/* MAX_CORR_BITS is the number of bits the AC refinement correction-bit - * buffer can hold. Larger sizes may slightly improve compression, but - * 1000 is already well into the realm of overkill. - * The minimum safe size is 64 bits. - */ - -#define MAX_CORR_BITS 1000 /* Max # of correction bits I can buffer */ - -/* IRIGHT_SHIFT is like RIGHT_SHIFT, but works on int rather than INT32. - * We assume that int right shift is unsigned if INT32 right shift is, - * which should be safe. - */ - -#ifdef RIGHT_SHIFT_IS_UNSIGNED -#define ISHIFT_TEMPS int ishift_temp; -#define IRIGHT_SHIFT(x,shft) \ - ((ishift_temp = (x)) < 0 ? \ - (ishift_temp >> (shft)) | ((~0) << (16-(shft))) : \ - (ishift_temp >> (shft))) -#else -#define ISHIFT_TEMPS -#define IRIGHT_SHIFT(x,shft) ((x) >> (shft)) -#endif - - -/* - * Compute the derived values for a Huffman table. - * This routine also performs some validation checks on the table. - */ - -LOCAL(void) -jpeg_make_c_derived_tbl (j_compress_ptr cinfo, boolean isDC, int tblno, - c_derived_tbl ** pdtbl) -{ - JHUFF_TBL *htbl; - c_derived_tbl *dtbl; - int p, i, l, lastp, si, maxsymbol; - char huffsize[257]; - unsigned int huffcode[257]; - unsigned int code; - - /* Note that huffsize[] and huffcode[] are filled in code-length order, - * paralleling the order of the symbols themselves in htbl->huffval[]. - */ - - /* Find the input Huffman table */ - if (tblno < 0 || tblno >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, tblno); - htbl = - isDC ? cinfo->dc_huff_tbl_ptrs[tblno] : cinfo->ac_huff_tbl_ptrs[tblno]; - if (htbl == NULL) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, tblno); - - /* Allocate a workspace if we haven't already done so. */ - if (*pdtbl == NULL) - *pdtbl = (c_derived_tbl *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(c_derived_tbl)); - dtbl = *pdtbl; - - /* Figure C.1: make table of Huffman code length for each symbol */ - - p = 0; - for (l = 1; l <= 16; l++) { - i = (int) htbl->bits[l]; - if (i < 0 || p + i > 256) /* protect against table overrun */ - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - while (i--) - huffsize[p++] = (char) l; - } - huffsize[p] = 0; - lastp = p; - - /* Figure C.2: generate the codes themselves */ - /* We also validate that the counts represent a legal Huffman code tree. */ - - code = 0; - si = huffsize[0]; - p = 0; - while (huffsize[p]) { - while (((int) huffsize[p]) == si) { - huffcode[p++] = code; - code++; - } - /* code is now 1 more than the last code used for codelength si; but - * it must still fit in si bits, since no code is allowed to be all ones. - */ - if (((INT32) code) >= (((INT32) 1) << si)) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - code <<= 1; - si++; - } - - /* Figure C.3: generate encoding tables */ - /* These are code and size indexed by symbol value */ - - /* Set all codeless symbols to have code length 0; - * this lets us detect duplicate VAL entries here, and later - * allows emit_bits to detect any attempt to emit such symbols. - */ - MEMZERO(dtbl->ehufsi, SIZEOF(dtbl->ehufsi)); - - /* This is also a convenient place to check for out-of-range - * and duplicated VAL entries. We allow 0..255 for AC symbols - * but only 0..15 for DC. (We could constrain them further - * based on data depth and mode, but this seems enough.) - */ - maxsymbol = isDC ? 15 : 255; - - for (p = 0; p < lastp; p++) { - i = htbl->huffval[p]; - if (i < 0 || i > maxsymbol || dtbl->ehufsi[i]) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - dtbl->ehufco[i] = huffcode[p]; - dtbl->ehufsi[i] = huffsize[p]; - } -} - - -/* Outputting bytes to the file. - * NB: these must be called only when actually outputting, - * that is, entropy->gather_statistics == FALSE. - */ - -/* Emit a byte, taking 'action' if must suspend. */ -#define emit_byte_s(state,val,action) \ - { *(state)->next_output_byte++ = (JOCTET) (val); \ - if (--(state)->free_in_buffer == 0) \ - if (! dump_buffer_s(state)) \ - { action; } } - -/* Emit a byte */ -#define emit_byte_e(entropy,val) \ - { *(entropy)->next_output_byte++ = (JOCTET) (val); \ - if (--(entropy)->free_in_buffer == 0) \ - dump_buffer_e(entropy); } - - -LOCAL(boolean) -dump_buffer_s (working_state * state) -/* Empty the output buffer; return TRUE if successful, FALSE if must suspend */ -{ - struct jpeg_destination_mgr * dest = state->cinfo->dest; - - if (! (*dest->empty_output_buffer) (state->cinfo)) - return FALSE; - /* After a successful buffer dump, must reset buffer pointers */ - state->next_output_byte = dest->next_output_byte; - state->free_in_buffer = dest->free_in_buffer; - return TRUE; -} - - -LOCAL(void) -dump_buffer_e (huff_entropy_ptr entropy) -/* Empty the output buffer; we do not support suspension in this case. */ -{ - struct jpeg_destination_mgr * dest = entropy->cinfo->dest; - - if (! (*dest->empty_output_buffer) (entropy->cinfo)) - ERREXIT(entropy->cinfo, JERR_CANT_SUSPEND); - /* After a successful buffer dump, must reset buffer pointers */ - entropy->next_output_byte = dest->next_output_byte; - entropy->free_in_buffer = dest->free_in_buffer; -} - - -/* Outputting bits to the file */ - -/* Only the right 24 bits of put_buffer are used; the valid bits are - * left-justified in this part. At most 16 bits can be passed to emit_bits - * in one call, and we never retain more than 7 bits in put_buffer - * between calls, so 24 bits are sufficient. - */ - -INLINE -LOCAL(boolean) -emit_bits_s (working_state * state, unsigned int code, int size) -/* Emit some bits; return TRUE if successful, FALSE if must suspend */ -{ - /* This routine is heavily used, so it's worth coding tightly. */ - register INT32 put_buffer = (INT32) code; - register int put_bits = state->cur.put_bits; - - /* if size is 0, caller used an invalid Huffman table entry */ - if (size == 0) - ERREXIT(state->cinfo, JERR_HUFF_MISSING_CODE); - - put_buffer &= (((INT32) 1)<cur.put_buffer; /* and merge with old buffer contents */ - - while (put_bits >= 8) { - int c = (int) ((put_buffer >> 16) & 0xFF); - - emit_byte_s(state, c, return FALSE); - if (c == 0xFF) { /* need to stuff a zero byte? */ - emit_byte_s(state, 0, return FALSE); - } - put_buffer <<= 8; - put_bits -= 8; - } - - state->cur.put_buffer = put_buffer; /* update state variables */ - state->cur.put_bits = put_bits; - - return TRUE; -} - - -INLINE -LOCAL(void) -emit_bits_e (huff_entropy_ptr entropy, unsigned int code, int size) -/* Emit some bits, unless we are in gather mode */ -{ - /* This routine is heavily used, so it's worth coding tightly. */ - register INT32 put_buffer = (INT32) code; - register int put_bits = entropy->saved.put_bits; - - /* if size is 0, caller used an invalid Huffman table entry */ - if (size == 0) - ERREXIT(entropy->cinfo, JERR_HUFF_MISSING_CODE); - - if (entropy->gather_statistics) - return; /* do nothing if we're only getting stats */ - - put_buffer &= (((INT32) 1)<saved.put_buffer; - - while (put_bits >= 8) { - int c = (int) ((put_buffer >> 16) & 0xFF); - - emit_byte_e(entropy, c); - if (c == 0xFF) { /* need to stuff a zero byte? */ - emit_byte_e(entropy, 0); - } - put_buffer <<= 8; - put_bits -= 8; - } - - entropy->saved.put_buffer = put_buffer; /* update variables */ - entropy->saved.put_bits = put_bits; -} - - -LOCAL(boolean) -flush_bits_s (working_state * state) -{ - if (! emit_bits_s(state, 0x7F, 7)) /* fill any partial byte with ones */ - return FALSE; - state->cur.put_buffer = 0; /* and reset bit-buffer to empty */ - state->cur.put_bits = 0; - return TRUE; -} - - -LOCAL(void) -flush_bits_e (huff_entropy_ptr entropy) -{ - emit_bits_e(entropy, 0x7F, 7); /* fill any partial byte with ones */ - entropy->saved.put_buffer = 0; /* and reset bit-buffer to empty */ - entropy->saved.put_bits = 0; -} - - -/* - * Emit (or just count) a Huffman symbol. - */ - -INLINE -LOCAL(void) -emit_symbol (huff_entropy_ptr entropy, int tbl_no, int symbol) -{ - if (entropy->gather_statistics) - entropy->count_ptrs[tbl_no][symbol]++; - else { - c_derived_tbl * tbl = entropy->derived_tbls[tbl_no]; - emit_bits_e(entropy, tbl->ehufco[symbol], tbl->ehufsi[symbol]); - } -} - - -/* - * Emit bits from a correction bit buffer. - */ - -LOCAL(void) -emit_buffered_bits (huff_entropy_ptr entropy, char * bufstart, - unsigned int nbits) -{ - if (entropy->gather_statistics) - return; /* no real work */ - - while (nbits > 0) { - emit_bits_e(entropy, (unsigned int) (*bufstart), 1); - bufstart++; - nbits--; - } -} - - -/* - * Emit any pending EOBRUN symbol. - */ - -LOCAL(void) -emit_eobrun (huff_entropy_ptr entropy) -{ - register int temp, nbits; - - if (entropy->EOBRUN > 0) { /* if there is any pending EOBRUN */ - temp = entropy->EOBRUN; - nbits = 0; - while ((temp >>= 1)) - nbits++; - /* safety check: shouldn't happen given limited correction-bit buffer */ - if (nbits > 14) - ERREXIT(entropy->cinfo, JERR_HUFF_MISSING_CODE); - - emit_symbol(entropy, entropy->ac_tbl_no, nbits << 4); - if (nbits) - emit_bits_e(entropy, entropy->EOBRUN, nbits); - - entropy->EOBRUN = 0; - - /* Emit any buffered correction bits */ - emit_buffered_bits(entropy, entropy->bit_buffer, entropy->BE); - entropy->BE = 0; - } -} - - -/* - * Emit a restart marker & resynchronize predictions. - */ - -LOCAL(boolean) -emit_restart_s (working_state * state, int restart_num) -{ - int ci; - - if (! flush_bits_s(state)) - return FALSE; - - emit_byte_s(state, 0xFF, return FALSE); - emit_byte_s(state, JPEG_RST0 + restart_num, return FALSE); - - /* Re-initialize DC predictions to 0 */ - for (ci = 0; ci < state->cinfo->comps_in_scan; ci++) - state->cur.last_dc_val[ci] = 0; - - /* The restart counter is not updated until we successfully write the MCU. */ - - return TRUE; -} - - -LOCAL(void) -emit_restart_e (huff_entropy_ptr entropy, int restart_num) -{ - int ci; - - emit_eobrun(entropy); - - if (! entropy->gather_statistics) { - flush_bits_e(entropy); - emit_byte_e(entropy, 0xFF); - emit_byte_e(entropy, JPEG_RST0 + restart_num); - } - - if (entropy->cinfo->Ss == 0) { - /* Re-initialize DC predictions to 0 */ - for (ci = 0; ci < entropy->cinfo->comps_in_scan; ci++) - entropy->saved.last_dc_val[ci] = 0; - } else { - /* Re-initialize all AC-related fields to 0 */ - entropy->EOBRUN = 0; - entropy->BE = 0; - } -} - - -/* - * MCU encoding for DC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - register int temp, temp2; - register int nbits; - int blkn, ci; - int Al = cinfo->Al; - JBLOCKROW block; - jpeg_component_info * compptr; - ISHIFT_TEMPS - - entropy->next_output_byte = cinfo->dest->next_output_byte; - entropy->free_in_buffer = cinfo->dest->free_in_buffer; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) - if (entropy->restarts_to_go == 0) - emit_restart_e(entropy, entropy->next_restart_num); - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - - /* Compute the DC value after the required point transform by Al. - * This is simply an arithmetic right shift. - */ - temp2 = IRIGHT_SHIFT((int) ((*block)[0]), Al); - - /* DC differences are figured on the point-transformed values. */ - temp = temp2 - entropy->saved.last_dc_val[ci]; - entropy->saved.last_dc_val[ci] = temp2; - - /* Encode the DC coefficient difference per section G.1.2.1 */ - temp2 = temp; - if (temp < 0) { - temp = -temp; /* temp is abs value of input */ - /* For a negative input, want temp2 = bitwise complement of abs(input) */ - /* This code assumes we are on a two's complement machine */ - temp2--; - } - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 0; - while (temp) { - nbits++; - temp >>= 1; - } - /* Check for out-of-range coefficient values. - * Since we're encoding a difference, the range limit is twice as much. - */ - if (nbits > MAX_COEF_BITS+1) - ERREXIT(cinfo, JERR_BAD_DCT_COEF); - - /* Count/emit the Huffman-coded symbol for the number of bits */ - emit_symbol(entropy, compptr->dc_tbl_no, nbits); - - /* Emit that number of bits of the value, if positive, */ - /* or the complement of its magnitude, if negative. */ - if (nbits) /* emit_bits rejects calls with size 0 */ - emit_bits_e(entropy, (unsigned int) temp2, nbits); - } - - cinfo->dest->next_output_byte = entropy->next_output_byte; - cinfo->dest->free_in_buffer = entropy->free_in_buffer; - - /* Update restart-interval state too */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - return TRUE; -} - - -/* - * MCU encoding for AC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - register int temp, temp2; - register int nbits; - register int r, k; - int Se = cinfo->Se; - int Al = cinfo->Al; - JBLOCKROW block; - - entropy->next_output_byte = cinfo->dest->next_output_byte; - entropy->free_in_buffer = cinfo->dest->free_in_buffer; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) - if (entropy->restarts_to_go == 0) - emit_restart_e(entropy, entropy->next_restart_num); - - /* Encode the MCU data block */ - block = MCU_data[0]; - - /* Encode the AC coefficients per section G.1.2.2, fig. G.3 */ - - r = 0; /* r = run length of zeros */ - - for (k = cinfo->Ss; k <= Se; k++) { - if ((temp = (*block)[jpeg_natural_order[k]]) == 0) { - r++; - continue; - } - /* We must apply the point transform by Al. For AC coefficients this - * is an integer division with rounding towards 0. To do this portably - * in C, we shift after obtaining the absolute value; so the code is - * interwoven with finding the abs value (temp) and output bits (temp2). - */ - if (temp < 0) { - temp = -temp; /* temp is abs value of input */ - temp >>= Al; /* apply the point transform */ - /* For a negative coef, want temp2 = bitwise complement of abs(coef) */ - temp2 = ~temp; - } else { - temp >>= Al; /* apply the point transform */ - temp2 = temp; - } - /* Watch out for case that nonzero coef is zero after point transform */ - if (temp == 0) { - r++; - continue; - } - - /* Emit any pending EOBRUN */ - if (entropy->EOBRUN > 0) - emit_eobrun(entropy); - /* if run length > 15, must emit special run-length-16 codes (0xF0) */ - while (r > 15) { - emit_symbol(entropy, entropy->ac_tbl_no, 0xF0); - r -= 16; - } - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 1; /* there must be at least one 1 bit */ - while ((temp >>= 1)) - nbits++; - /* Check for out-of-range coefficient values */ - if (nbits > MAX_COEF_BITS) - ERREXIT(cinfo, JERR_BAD_DCT_COEF); - - /* Count/emit Huffman symbol for run length / number of bits */ - emit_symbol(entropy, entropy->ac_tbl_no, (r << 4) + nbits); - - /* Emit that number of bits of the value, if positive, */ - /* or the complement of its magnitude, if negative. */ - emit_bits_e(entropy, (unsigned int) temp2, nbits); - - r = 0; /* reset zero run length */ - } - - if (r > 0) { /* If there are trailing zeroes, */ - entropy->EOBRUN++; /* count an EOB */ - if (entropy->EOBRUN == 0x7FFF) - emit_eobrun(entropy); /* force it out to avoid overflow */ - } - - cinfo->dest->next_output_byte = entropy->next_output_byte; - cinfo->dest->free_in_buffer = entropy->free_in_buffer; - - /* Update restart-interval state too */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - return TRUE; -} - - -/* - * MCU encoding for DC successive approximation refinement scan. - * Note: we assume such scans can be multi-component, although the spec - * is not very clear on the point. - */ - -METHODDEF(boolean) -encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - register int temp; - int blkn; - int Al = cinfo->Al; - JBLOCKROW block; - - entropy->next_output_byte = cinfo->dest->next_output_byte; - entropy->free_in_buffer = cinfo->dest->free_in_buffer; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) - if (entropy->restarts_to_go == 0) - emit_restart_e(entropy, entropy->next_restart_num); - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - - /* We simply emit the Al'th bit of the DC coefficient value. */ - temp = (*block)[0]; - emit_bits_e(entropy, (unsigned int) (temp >> Al), 1); - } - - cinfo->dest->next_output_byte = entropy->next_output_byte; - cinfo->dest->free_in_buffer = entropy->free_in_buffer; - - /* Update restart-interval state too */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - return TRUE; -} - - -/* - * MCU encoding for AC successive approximation refinement scan. - */ - -METHODDEF(boolean) -encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - register int temp; - register int r, k; - int EOB; - char *BR_buffer; - unsigned int BR; - int Se = cinfo->Se; - int Al = cinfo->Al; - JBLOCKROW block; - int absvalues[DCTSIZE2]; - - entropy->next_output_byte = cinfo->dest->next_output_byte; - entropy->free_in_buffer = cinfo->dest->free_in_buffer; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) - if (entropy->restarts_to_go == 0) - emit_restart_e(entropy, entropy->next_restart_num); - - /* Encode the MCU data block */ - block = MCU_data[0]; - - /* It is convenient to make a pre-pass to determine the transformed - * coefficients' absolute values and the EOB position. - */ - EOB = 0; - for (k = cinfo->Ss; k <= Se; k++) { - temp = (*block)[jpeg_natural_order[k]]; - /* We must apply the point transform by Al. For AC coefficients this - * is an integer division with rounding towards 0. To do this portably - * in C, we shift after obtaining the absolute value. - */ - if (temp < 0) - temp = -temp; /* temp is abs value of input */ - temp >>= Al; /* apply the point transform */ - absvalues[k] = temp; /* save abs value for main pass */ - if (temp == 1) - EOB = k; /* EOB = index of last newly-nonzero coef */ - } - - /* Encode the AC coefficients per section G.1.2.3, fig. G.7 */ - - r = 0; /* r = run length of zeros */ - BR = 0; /* BR = count of buffered bits added now */ - BR_buffer = entropy->bit_buffer + entropy->BE; /* Append bits to buffer */ - - for (k = cinfo->Ss; k <= Se; k++) { - if ((temp = absvalues[k]) == 0) { - r++; - continue; - } - - /* Emit any required ZRLs, but not if they can be folded into EOB */ - while (r > 15 && k <= EOB) { - /* emit any pending EOBRUN and the BE correction bits */ - emit_eobrun(entropy); - /* Emit ZRL */ - emit_symbol(entropy, entropy->ac_tbl_no, 0xF0); - r -= 16; - /* Emit buffered correction bits that must be associated with ZRL */ - emit_buffered_bits(entropy, BR_buffer, BR); - BR_buffer = entropy->bit_buffer; /* BE bits are gone now */ - BR = 0; - } - - /* If the coef was previously nonzero, it only needs a correction bit. - * NOTE: a straight translation of the spec's figure G.7 would suggest - * that we also need to test r > 15. But if r > 15, we can only get here - * if k > EOB, which implies that this coefficient is not 1. - */ - if (temp > 1) { - /* The correction bit is the next bit of the absolute value. */ - BR_buffer[BR++] = (char) (temp & 1); - continue; - } - - /* Emit any pending EOBRUN and the BE correction bits */ - emit_eobrun(entropy); - - /* Count/emit Huffman symbol for run length / number of bits */ - emit_symbol(entropy, entropy->ac_tbl_no, (r << 4) + 1); - - /* Emit output bit for newly-nonzero coef */ - temp = ((*block)[jpeg_natural_order[k]] < 0) ? 0 : 1; - emit_bits_e(entropy, (unsigned int) temp, 1); - - /* Emit buffered correction bits that must be associated with this code */ - emit_buffered_bits(entropy, BR_buffer, BR); - BR_buffer = entropy->bit_buffer; /* BE bits are gone now */ - BR = 0; - r = 0; /* reset zero run length */ - } - - if (r > 0 || BR > 0) { /* If there are trailing zeroes, */ - entropy->EOBRUN++; /* count an EOB */ - entropy->BE += BR; /* concat my correction bits to older ones */ - /* We force out the EOB if we risk either: - * 1. overflow of the EOB counter; - * 2. overflow of the correction bit buffer during the next MCU. - */ - if (entropy->EOBRUN == 0x7FFF || entropy->BE > (MAX_CORR_BITS-DCTSIZE2+1)) - emit_eobrun(entropy); - } - - cinfo->dest->next_output_byte = entropy->next_output_byte; - cinfo->dest->free_in_buffer = entropy->free_in_buffer; - - /* Update restart-interval state too */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - return TRUE; -} - - -/* Encode a single block's worth of coefficients */ - -LOCAL(boolean) -encode_one_block (working_state * state, JCOEFPTR block, int last_dc_val, - c_derived_tbl *dctbl, c_derived_tbl *actbl) -{ - register int temp, temp2; - register int nbits; - register int k, r, i; - - /* Encode the DC coefficient difference per section F.1.2.1 */ - - temp = temp2 = block[0] - last_dc_val; - - if (temp < 0) { - temp = -temp; /* temp is abs value of input */ - /* For a negative input, want temp2 = bitwise complement of abs(input) */ - /* This code assumes we are on a two's complement machine */ - temp2--; - } - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 0; - while (temp) { - nbits++; - temp >>= 1; - } - /* Check for out-of-range coefficient values. - * Since we're encoding a difference, the range limit is twice as much. - */ - if (nbits > MAX_COEF_BITS+1) - ERREXIT(state->cinfo, JERR_BAD_DCT_COEF); - - /* Emit the Huffman-coded symbol for the number of bits */ - if (! emit_bits_s(state, dctbl->ehufco[nbits], dctbl->ehufsi[nbits])) - return FALSE; - - /* Emit that number of bits of the value, if positive, */ - /* or the complement of its magnitude, if negative. */ - if (nbits) /* emit_bits rejects calls with size 0 */ - if (! emit_bits_s(state, (unsigned int) temp2, nbits)) - return FALSE; - - /* Encode the AC coefficients per section F.1.2.2 */ - - r = 0; /* r = run length of zeros */ - - for (k = 1; k < DCTSIZE2; k++) { - if ((temp = block[jpeg_natural_order[k]]) == 0) { - r++; - } else { - /* if run length > 15, must emit special run-length-16 codes (0xF0) */ - while (r > 15) { - if (! emit_bits_s(state, actbl->ehufco[0xF0], actbl->ehufsi[0xF0])) - return FALSE; - r -= 16; - } - - temp2 = temp; - if (temp < 0) { - temp = -temp; /* temp is abs value of input */ - /* This code assumes we are on a two's complement machine */ - temp2--; - } - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 1; /* there must be at least one 1 bit */ - while ((temp >>= 1)) - nbits++; - /* Check for out-of-range coefficient values */ - if (nbits > MAX_COEF_BITS) - ERREXIT(state->cinfo, JERR_BAD_DCT_COEF); - - /* Emit Huffman symbol for run length / number of bits */ - i = (r << 4) + nbits; - if (! emit_bits_s(state, actbl->ehufco[i], actbl->ehufsi[i])) - return FALSE; - - /* Emit that number of bits of the value, if positive, */ - /* or the complement of its magnitude, if negative. */ - if (! emit_bits_s(state, (unsigned int) temp2, nbits)) - return FALSE; - - r = 0; - } - } - - /* If the last coef(s) were zero, emit an end-of-block code */ - if (r > 0) - if (! emit_bits_s(state, actbl->ehufco[0], actbl->ehufsi[0])) - return FALSE; - - return TRUE; -} - - -/* - * Encode and output one MCU's worth of Huffman-compressed coefficients. - */ - -METHODDEF(boolean) -encode_mcu_huff (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - working_state state; - int blkn, ci; - jpeg_component_info * compptr; - - /* Load up working state */ - state.next_output_byte = cinfo->dest->next_output_byte; - state.free_in_buffer = cinfo->dest->free_in_buffer; - ASSIGN_STATE(state.cur, entropy->saved); - state.cinfo = cinfo; - - /* Emit restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! emit_restart_s(&state, entropy->next_restart_num)) - return FALSE; - } - - /* Encode the MCU data blocks */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - if (! encode_one_block(&state, - MCU_data[blkn][0], state.cur.last_dc_val[ci], - entropy->dc_derived_tbls[compptr->dc_tbl_no], - entropy->ac_derived_tbls[compptr->ac_tbl_no])) - return FALSE; - /* Update last_dc_val */ - state.cur.last_dc_val[ci] = MCU_data[blkn][0][0]; - } - - /* Completed MCU, so update state */ - cinfo->dest->next_output_byte = state.next_output_byte; - cinfo->dest->free_in_buffer = state.free_in_buffer; - ASSIGN_STATE(entropy->saved, state.cur); - - /* Update restart-interval state too */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num++; - entropy->next_restart_num &= 7; - } - entropy->restarts_to_go--; - } - - return TRUE; -} - - -/* - * Finish up at the end of a Huffman-compressed scan. - */ - -METHODDEF(void) -finish_pass_huff (j_compress_ptr cinfo) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - working_state state; - - if (cinfo->progressive_mode) { - entropy->next_output_byte = cinfo->dest->next_output_byte; - entropy->free_in_buffer = cinfo->dest->free_in_buffer; - - /* Flush out any buffered data */ - emit_eobrun(entropy); - flush_bits_e(entropy); - - cinfo->dest->next_output_byte = entropy->next_output_byte; - cinfo->dest->free_in_buffer = entropy->free_in_buffer; - } else { - /* Load up working state ... flush_bits needs it */ - state.next_output_byte = cinfo->dest->next_output_byte; - state.free_in_buffer = cinfo->dest->free_in_buffer; - ASSIGN_STATE(state.cur, entropy->saved); - state.cinfo = cinfo; - - /* Flush out the last data */ - if (! flush_bits_s(&state)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - - /* Update state */ - cinfo->dest->next_output_byte = state.next_output_byte; - cinfo->dest->free_in_buffer = state.free_in_buffer; - ASSIGN_STATE(entropy->saved, state.cur); - } -} - - -/* - * Huffman coding optimization. - * - * We first scan the supplied data and count the number of uses of each symbol - * that is to be Huffman-coded. (This process MUST agree with the code above.) - * Then we build a Huffman coding tree for the observed counts. - * Symbols which are not needed at all for the particular image are not - * assigned any code, which saves space in the DHT marker as well as in - * the compressed data. - */ - - -/* Process a single block's worth of coefficients */ - -LOCAL(void) -htest_one_block (j_compress_ptr cinfo, JCOEFPTR block, int last_dc_val, - long dc_counts[], long ac_counts[]) -{ - register int temp; - register int nbits; - register int k, r; - - /* Encode the DC coefficient difference per section F.1.2.1 */ - - temp = block[0] - last_dc_val; - if (temp < 0) - temp = -temp; - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 0; - while (temp) { - nbits++; - temp >>= 1; - } - /* Check for out-of-range coefficient values. - * Since we're encoding a difference, the range limit is twice as much. - */ - if (nbits > MAX_COEF_BITS+1) - ERREXIT(cinfo, JERR_BAD_DCT_COEF); - - /* Count the Huffman symbol for the number of bits */ - dc_counts[nbits]++; - - /* Encode the AC coefficients per section F.1.2.2 */ - - r = 0; /* r = run length of zeros */ - - for (k = 1; k < DCTSIZE2; k++) { - if ((temp = block[jpeg_natural_order[k]]) == 0) { - r++; - } else { - /* if run length > 15, must emit special run-length-16 codes (0xF0) */ - while (r > 15) { - ac_counts[0xF0]++; - r -= 16; - } - - /* Find the number of bits needed for the magnitude of the coefficient */ - if (temp < 0) - temp = -temp; - - /* Find the number of bits needed for the magnitude of the coefficient */ - nbits = 1; /* there must be at least one 1 bit */ - while ((temp >>= 1)) - nbits++; - /* Check for out-of-range coefficient values */ - if (nbits > MAX_COEF_BITS) - ERREXIT(cinfo, JERR_BAD_DCT_COEF); - - /* Count Huffman symbol for run length / number of bits */ - ac_counts[(r << 4) + nbits]++; - - r = 0; - } - } - - /* If the last coef(s) were zero, emit an end-of-block code */ - if (r > 0) - ac_counts[0]++; -} - - -/* - * Trial-encode one MCU's worth of Huffman-compressed coefficients. - * No data is actually output, so no suspension return is possible. - */ - -METHODDEF(boolean) -encode_mcu_gather (j_compress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int blkn, ci; - jpeg_component_info * compptr; - - /* Take care of restart intervals if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) { - /* Re-initialize DC predictions to 0 */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) - entropy->saved.last_dc_val[ci] = 0; - /* Update restart state */ - entropy->restarts_to_go = cinfo->restart_interval; - } - entropy->restarts_to_go--; - } - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - htest_one_block(cinfo, MCU_data[blkn][0], entropy->saved.last_dc_val[ci], - entropy->dc_count_ptrs[compptr->dc_tbl_no], - entropy->ac_count_ptrs[compptr->ac_tbl_no]); - entropy->saved.last_dc_val[ci] = MCU_data[blkn][0][0]; - } - - return TRUE; -} - - -/* - * Generate the best Huffman code table for the given counts, fill htbl. - * - * The JPEG standard requires that no symbol be assigned a codeword of all - * one bits (so that padding bits added at the end of a compressed segment - * can't look like a valid code). Because of the canonical ordering of - * codewords, this just means that there must be an unused slot in the - * longest codeword length category. Section K.2 of the JPEG spec suggests - * reserving such a slot by pretending that symbol 256 is a valid symbol - * with count 1. In theory that's not optimal; giving it count zero but - * including it in the symbol set anyway should give a better Huffman code. - * But the theoretically better code actually seems to come out worse in - * practice, because it produces more all-ones bytes (which incur stuffed - * zero bytes in the final file). In any case the difference is tiny. - * - * The JPEG standard requires Huffman codes to be no more than 16 bits long. - * If some symbols have a very small but nonzero probability, the Huffman tree - * must be adjusted to meet the code length restriction. We currently use - * the adjustment method suggested in JPEG section K.2. This method is *not* - * optimal; it may not choose the best possible limited-length code. But - * typically only very-low-frequency symbols will be given less-than-optimal - * lengths, so the code is almost optimal. Experimental comparisons against - * an optimal limited-length-code algorithm indicate that the difference is - * microscopic --- usually less than a hundredth of a percent of total size. - * So the extra complexity of an optimal algorithm doesn't seem worthwhile. - */ - -LOCAL(void) -jpeg_gen_optimal_table (j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[]) -{ -#define MAX_CLEN 32 /* assumed maximum initial code length */ - UINT8 bits[MAX_CLEN+1]; /* bits[k] = # of symbols with code length k */ - int codesize[257]; /* codesize[k] = code length of symbol k */ - int others[257]; /* next symbol in current branch of tree */ - int c1, c2; - int p, i, j; - long v; - - /* This algorithm is explained in section K.2 of the JPEG standard */ - - MEMZERO(bits, SIZEOF(bits)); - MEMZERO(codesize, SIZEOF(codesize)); - for (i = 0; i < 257; i++) - others[i] = -1; /* init links to empty */ - - freq[256] = 1; /* make sure 256 has a nonzero count */ - /* Including the pseudo-symbol 256 in the Huffman procedure guarantees - * that no real symbol is given code-value of all ones, because 256 - * will be placed last in the largest codeword category. - */ - - /* Huffman's basic algorithm to assign optimal code lengths to symbols */ - - for (;;) { - /* Find the smallest nonzero frequency, set c1 = its symbol */ - /* In case of ties, take the larger symbol number */ - c1 = -1; - v = 1000000000L; - for (i = 0; i <= 256; i++) { - if (freq[i] && freq[i] <= v) { - v = freq[i]; - c1 = i; - } - } - - /* Find the next smallest nonzero frequency, set c2 = its symbol */ - /* In case of ties, take the larger symbol number */ - c2 = -1; - v = 1000000000L; - for (i = 0; i <= 256; i++) { - if (freq[i] && freq[i] <= v && i != c1) { - v = freq[i]; - c2 = i; - } - } - - /* Done if we've merged everything into one frequency */ - if (c2 < 0) - break; - - /* Else merge the two counts/trees */ - freq[c1] += freq[c2]; - freq[c2] = 0; - - /* Increment the codesize of everything in c1's tree branch */ - codesize[c1]++; - while (others[c1] >= 0) { - c1 = others[c1]; - codesize[c1]++; - } - - others[c1] = c2; /* chain c2 onto c1's tree branch */ - - /* Increment the codesize of everything in c2's tree branch */ - codesize[c2]++; - while (others[c2] >= 0) { - c2 = others[c2]; - codesize[c2]++; - } - } - - /* Now count the number of symbols of each code length */ - for (i = 0; i <= 256; i++) { - if (codesize[i]) { - /* The JPEG standard seems to think that this can't happen, */ - /* but I'm paranoid... */ - if (codesize[i] > MAX_CLEN) - ERREXIT(cinfo, JERR_HUFF_CLEN_OVERFLOW); - - bits[codesize[i]]++; - } - } - - /* JPEG doesn't allow symbols with code lengths over 16 bits, so if the pure - * Huffman procedure assigned any such lengths, we must adjust the coding. - * Here is what the JPEG spec says about how this next bit works: - * Since symbols are paired for the longest Huffman code, the symbols are - * removed from this length category two at a time. The prefix for the pair - * (which is one bit shorter) is allocated to one of the pair; then, - * skipping the BITS entry for that prefix length, a code word from the next - * shortest nonzero BITS entry is converted into a prefix for two code words - * one bit longer. - */ - - for (i = MAX_CLEN; i > 16; i--) { - while (bits[i] > 0) { - j = i - 2; /* find length of new prefix to be used */ - while (bits[j] == 0) - j--; - - bits[i] -= 2; /* remove two symbols */ - bits[i-1]++; /* one goes in this length */ - bits[j+1] += 2; /* two new symbols in this length */ - bits[j]--; /* symbol of this length is now a prefix */ - } - } - - /* Remove the count for the pseudo-symbol 256 from the largest codelength */ - while (bits[i] == 0) /* find largest codelength still in use */ - i--; - bits[i]--; - - /* Return final symbol counts (only for lengths 0..16) */ - MEMCOPY(htbl->bits, bits, SIZEOF(htbl->bits)); - - /* Return a list of the symbols sorted by code length */ - /* It's not real clear to me why we don't need to consider the codelength - * changes made above, but the JPEG spec seems to think this works. - */ - p = 0; - for (i = 1; i <= MAX_CLEN; i++) { - for (j = 0; j <= 255; j++) { - if (codesize[j] == i) { - htbl->huffval[p] = (UINT8) j; - p++; - } - } - } - - /* Set sent_table FALSE so updated table will be written to JPEG file. */ - htbl->sent_table = FALSE; -} - - -/* - * Finish up a statistics-gathering pass and create the new Huffman tables. - */ - -METHODDEF(void) -finish_pass_gather (j_compress_ptr cinfo) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int ci, dctbl, actbl, tbl; - jpeg_component_info * compptr; - JHUFF_TBL **htblptr; - boolean did_dc[NUM_HUFF_TBLS]; - boolean did_ac[NUM_HUFF_TBLS]; - boolean did[NUM_HUFF_TBLS]; - - /* It's important not to apply jpeg_gen_optimal_table more than once - * per table, because it clobbers the input frequency counts! - */ - if (cinfo->progressive_mode) { - /* Flush out buffered data (all we care about is counting the EOB symbol) */ - emit_eobrun(entropy); - - MEMZERO(did, SIZEOF(did)); - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - if (cinfo->Ss == 0) { - if (cinfo->Ah != 0) /* DC refinement needs no table */ - continue; - tbl = compptr->dc_tbl_no; - } else { - tbl = compptr->ac_tbl_no; - } - if (! did[tbl]) { - if (cinfo->Ss == 0) - htblptr = & cinfo->dc_huff_tbl_ptrs[tbl]; - else - htblptr = & cinfo->ac_huff_tbl_ptrs[tbl]; - if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); - jpeg_gen_optimal_table(cinfo, *htblptr, entropy->count_ptrs[tbl]); - did[tbl] = TRUE; - } - } - } else { - MEMZERO(did_dc, SIZEOF(did_dc)); - MEMZERO(did_ac, SIZEOF(did_ac)); - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - dctbl = compptr->dc_tbl_no; - actbl = compptr->ac_tbl_no; - if (! did_dc[dctbl]) { - htblptr = & cinfo->dc_huff_tbl_ptrs[dctbl]; - if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); - jpeg_gen_optimal_table(cinfo, *htblptr, entropy->dc_count_ptrs[dctbl]); - did_dc[dctbl] = TRUE; - } - if (! did_ac[actbl]) { - htblptr = & cinfo->ac_huff_tbl_ptrs[actbl]; - if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); - jpeg_gen_optimal_table(cinfo, *htblptr, entropy->ac_count_ptrs[actbl]); - did_ac[actbl] = TRUE; - } - } - } -} - - -/* - * Initialize for a Huffman-compressed scan. - * If gather_statistics is TRUE, we do not output anything during the scan, - * just count the Huffman symbols used and generate Huffman code tables. - */ - -METHODDEF(void) -start_pass_huff (j_compress_ptr cinfo, boolean gather_statistics) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int ci, dctbl, actbl, tbl; - jpeg_component_info * compptr; - - if (gather_statistics) - entropy->pub.finish_pass = finish_pass_gather; - else - entropy->pub.finish_pass = finish_pass_huff; - - if (cinfo->progressive_mode) { - entropy->cinfo = cinfo; - entropy->gather_statistics = gather_statistics; - - /* We assume jcmaster.c already validated the scan parameters. */ - - /* Select execution routine */ - if (cinfo->Ah == 0) { - if (cinfo->Ss == 0) - entropy->pub.encode_mcu = encode_mcu_DC_first; - else - entropy->pub.encode_mcu = encode_mcu_AC_first; - } else { - if (cinfo->Ss == 0) - entropy->pub.encode_mcu = encode_mcu_DC_refine; - else { - entropy->pub.encode_mcu = encode_mcu_AC_refine; - /* AC refinement needs a correction bit buffer */ - if (entropy->bit_buffer == NULL) - entropy->bit_buffer = (char *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - MAX_CORR_BITS * SIZEOF(char)); - } - } - - /* Only DC coefficients may be interleaved, so cinfo->comps_in_scan = 1 - * for AC coefficients. - */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Initialize DC predictions to 0 */ - entropy->saved.last_dc_val[ci] = 0; - /* Get table index */ - if (cinfo->Ss == 0) { - if (cinfo->Ah != 0) /* DC refinement needs no table */ - continue; - tbl = compptr->dc_tbl_no; - } else { - entropy->ac_tbl_no = tbl = compptr->ac_tbl_no; - } - if (gather_statistics) { - /* Check for invalid table index */ - /* (make_c_derived_tbl does this in the other path) */ - if (tbl < 0 || tbl >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, tbl); - /* Allocate and zero the statistics tables */ - /* Note that jpeg_gen_optimal_table expects 257 entries in each table! */ - if (entropy->count_ptrs[tbl] == NULL) - entropy->count_ptrs[tbl] = (long *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - 257 * SIZEOF(long)); - MEMZERO(entropy->count_ptrs[tbl], 257 * SIZEOF(long)); - } else { - /* Compute derived values for Huffman table */ - /* We may do this more than once for a table, but it's not expensive */ - jpeg_make_c_derived_tbl(cinfo, cinfo->Ss == 0, tbl, - & entropy->derived_tbls[tbl]); - } - } - - /* Initialize AC stuff */ - entropy->EOBRUN = 0; - entropy->BE = 0; - } else { - if (gather_statistics) - entropy->pub.encode_mcu = encode_mcu_gather; - else - entropy->pub.encode_mcu = encode_mcu_huff; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - dctbl = compptr->dc_tbl_no; - actbl = compptr->ac_tbl_no; - if (gather_statistics) { - /* Check for invalid table indexes */ - /* (make_c_derived_tbl does this in the other path) */ - if (dctbl < 0 || dctbl >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, dctbl); - if (actbl < 0 || actbl >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, actbl); - /* Allocate and zero the statistics tables */ - /* Note that jpeg_gen_optimal_table expects 257 entries in each table! */ - if (entropy->dc_count_ptrs[dctbl] == NULL) - entropy->dc_count_ptrs[dctbl] = (long *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - 257 * SIZEOF(long)); - MEMZERO(entropy->dc_count_ptrs[dctbl], 257 * SIZEOF(long)); - if (entropy->ac_count_ptrs[actbl] == NULL) - entropy->ac_count_ptrs[actbl] = (long *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - 257 * SIZEOF(long)); - MEMZERO(entropy->ac_count_ptrs[actbl], 257 * SIZEOF(long)); - } else { - /* Compute derived values for Huffman tables */ - /* We may do this more than once for a table, but it's not expensive */ - jpeg_make_c_derived_tbl(cinfo, TRUE, dctbl, - & entropy->dc_derived_tbls[dctbl]); - jpeg_make_c_derived_tbl(cinfo, FALSE, actbl, - & entropy->ac_derived_tbls[actbl]); - } - /* Initialize DC predictions to 0 */ - entropy->saved.last_dc_val[ci] = 0; - } - } - - /* Initialize bit buffer to empty */ - entropy->saved.put_buffer = 0; - entropy->saved.put_bits = 0; - - /* Initialize restart stuff */ - entropy->restarts_to_go = cinfo->restart_interval; - entropy->next_restart_num = 0; -} - - -/* - * Module initialization routine for Huffman entropy encoding. - */ - -GLOBAL(void) -jinit_huff_encoder (j_compress_ptr cinfo) -{ - huff_entropy_ptr entropy; - int i; - - entropy = (huff_entropy_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(huff_entropy_encoder)); - cinfo->entropy = (struct jpeg_entropy_encoder *) entropy; - entropy->pub.start_pass = start_pass_huff; - - if (cinfo->progressive_mode) { - /* Mark tables unallocated */ - for (i = 0; i < NUM_HUFF_TBLS; i++) { - entropy->derived_tbls[i] = NULL; - entropy->count_ptrs[i] = NULL; - } - entropy->bit_buffer = NULL; /* needed only in AC refinement scan */ - } else { - /* Mark tables unallocated */ - for (i = 0; i < NUM_HUFF_TBLS; i++) { - entropy->dc_derived_tbls[i] = entropy->ac_derived_tbls[i] = NULL; - entropy->dc_count_ptrs[i] = entropy->ac_count_ptrs[i] = NULL; - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jcinit.c b/3rdparty/openctm/tools/jpeg/jcinit.c deleted file mode 100644 index f7aa89fdb..000000000 --- a/3rdparty/openctm/tools/jpeg/jcinit.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * jcinit.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains initialization logic for the JPEG compressor. - * This routine is in charge of selecting the modules to be executed and - * making an initialization call to each one. - * - * Logically, this code belongs in jcmaster.c. It's split out because - * linking this routine implies linking the entire compression library. - * For a transcoding-only application, we want to be able to use jcmaster.c - * without linking in the whole library. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Master selection of compression modules. - * This is done once at the start of processing an image. We determine - * which modules will be used and give them appropriate initialization calls. - */ - -GLOBAL(void) -jinit_compress_master (j_compress_ptr cinfo) -{ - /* Initialize master control (includes parameter checking/processing) */ - jinit_c_master_control(cinfo, FALSE /* full compression */); - - /* Preprocessing */ - if (! cinfo->raw_data_in) { - jinit_color_converter(cinfo); - jinit_downsampler(cinfo); - jinit_c_prep_controller(cinfo, FALSE /* never need full buffer here */); - } - /* Forward DCT */ - jinit_forward_dct(cinfo); - /* Entropy encoding: either Huffman or arithmetic coding. */ - if (cinfo->arith_code) - jinit_arith_encoder(cinfo); - else { - jinit_huff_encoder(cinfo); - } - - /* Need a full-image coefficient buffer in any multi-pass mode. */ - jinit_c_coef_controller(cinfo, - (boolean) (cinfo->num_scans > 1 || cinfo->optimize_coding)); - jinit_c_main_controller(cinfo, FALSE /* never need full buffer here */); - - jinit_marker_writer(cinfo); - - /* We can now tell the memory manager to allocate virtual arrays. */ - (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); - - /* Write the datastream header (SOI) immediately. - * Frame and scan headers are postponed till later. - * This lets application insert special markers after the SOI. - */ - (*cinfo->marker->write_file_header) (cinfo); -} diff --git a/3rdparty/openctm/tools/jpeg/jcmainct.c b/3rdparty/openctm/tools/jpeg/jcmainct.c deleted file mode 100644 index 669b7bb4b..000000000 --- a/3rdparty/openctm/tools/jpeg/jcmainct.c +++ /dev/null @@ -1,293 +0,0 @@ -/* - * jcmainct.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the main buffer controller for compression. - * The main buffer lies between the pre-processor and the JPEG - * compressor proper; it holds downsampled data in the JPEG colorspace. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Note: currently, there is no operating mode in which a full-image buffer - * is needed at this step. If there were, that mode could not be used with - * "raw data" input, since this module is bypassed in that case. However, - * we've left the code here for possible use in special applications. - */ -#undef FULL_MAIN_BUFFER_SUPPORTED - - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_c_main_controller pub; /* public fields */ - - JDIMENSION cur_iMCU_row; /* number of current iMCU row */ - JDIMENSION rowgroup_ctr; /* counts row groups received in iMCU row */ - boolean suspended; /* remember if we suspended output */ - J_BUF_MODE pass_mode; /* current operating mode */ - - /* If using just a strip buffer, this points to the entire set of buffers - * (we allocate one for each component). In the full-image case, this - * points to the currently accessible strips of the virtual arrays. - */ - JSAMPARRAY buffer[MAX_COMPONENTS]; - -#ifdef FULL_MAIN_BUFFER_SUPPORTED - /* If using full-image storage, this array holds pointers to virtual-array - * control blocks for each component. Unused if not full-image storage. - */ - jvirt_sarray_ptr whole_image[MAX_COMPONENTS]; -#endif -} my_main_controller; - -typedef my_main_controller * my_main_ptr; - - -/* Forward declarations */ -METHODDEF(void) process_data_simple_main - JPP((j_compress_ptr cinfo, JSAMPARRAY input_buf, - JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail)); -#ifdef FULL_MAIN_BUFFER_SUPPORTED -METHODDEF(void) process_data_buffer_main - JPP((j_compress_ptr cinfo, JSAMPARRAY input_buf, - JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail)); -#endif - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_main (j_compress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - - /* Do nothing in raw-data mode. */ - if (cinfo->raw_data_in) - return; - - main->cur_iMCU_row = 0; /* initialize counters */ - main->rowgroup_ctr = 0; - main->suspended = FALSE; - main->pass_mode = pass_mode; /* save mode for use by process_data */ - - switch (pass_mode) { - case JBUF_PASS_THRU: -#ifdef FULL_MAIN_BUFFER_SUPPORTED - if (main->whole_image[0] != NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); -#endif - main->pub.process_data = process_data_simple_main; - break; -#ifdef FULL_MAIN_BUFFER_SUPPORTED - case JBUF_SAVE_SOURCE: - case JBUF_CRANK_DEST: - case JBUF_SAVE_AND_PASS: - if (main->whole_image[0] == NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - main->pub.process_data = process_data_buffer_main; - break; -#endif - default: - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - break; - } -} - - -/* - * Process some data. - * This routine handles the simple pass-through mode, - * where we have only a strip buffer. - */ - -METHODDEF(void) -process_data_simple_main (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - - while (main->cur_iMCU_row < cinfo->total_iMCU_rows) { - /* Read input data if we haven't filled the main buffer yet */ - if (main->rowgroup_ctr < (JDIMENSION) cinfo->min_DCT_v_scaled_size) - (*cinfo->prep->pre_process_data) (cinfo, - input_buf, in_row_ctr, in_rows_avail, - main->buffer, &main->rowgroup_ctr, - (JDIMENSION) cinfo->min_DCT_v_scaled_size); - - /* If we don't have a full iMCU row buffered, return to application for - * more data. Note that preprocessor will always pad to fill the iMCU row - * at the bottom of the image. - */ - if (main->rowgroup_ctr != (JDIMENSION) cinfo->min_DCT_v_scaled_size) - return; - - /* Send the completed row to the compressor */ - if (! (*cinfo->coef->compress_data) (cinfo, main->buffer)) { - /* If compressor did not consume the whole row, then we must need to - * suspend processing and return to the application. In this situation - * we pretend we didn't yet consume the last input row; otherwise, if - * it happened to be the last row of the image, the application would - * think we were done. - */ - if (! main->suspended) { - (*in_row_ctr)--; - main->suspended = TRUE; - } - return; - } - /* We did finish the row. Undo our little suspension hack if a previous - * call suspended; then mark the main buffer empty. - */ - if (main->suspended) { - (*in_row_ctr)++; - main->suspended = FALSE; - } - main->rowgroup_ctr = 0; - main->cur_iMCU_row++; - } -} - - -#ifdef FULL_MAIN_BUFFER_SUPPORTED - -/* - * Process some data. - * This routine handles all of the modes that use a full-size buffer. - */ - -METHODDEF(void) -process_data_buffer_main (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - int ci; - jpeg_component_info *compptr; - boolean writing = (main->pass_mode != JBUF_CRANK_DEST); - - while (main->cur_iMCU_row < cinfo->total_iMCU_rows) { - /* Realign the virtual buffers if at the start of an iMCU row. */ - if (main->rowgroup_ctr == 0) { - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - main->buffer[ci] = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, main->whole_image[ci], - main->cur_iMCU_row * (compptr->v_samp_factor * DCTSIZE), - (JDIMENSION) (compptr->v_samp_factor * DCTSIZE), writing); - } - /* In a read pass, pretend we just read some source data. */ - if (! writing) { - *in_row_ctr += cinfo->max_v_samp_factor * DCTSIZE; - main->rowgroup_ctr = DCTSIZE; - } - } - - /* If a write pass, read input data until the current iMCU row is full. */ - /* Note: preprocessor will pad if necessary to fill the last iMCU row. */ - if (writing) { - (*cinfo->prep->pre_process_data) (cinfo, - input_buf, in_row_ctr, in_rows_avail, - main->buffer, &main->rowgroup_ctr, - (JDIMENSION) DCTSIZE); - /* Return to application if we need more data to fill the iMCU row. */ - if (main->rowgroup_ctr < DCTSIZE) - return; - } - - /* Emit data, unless this is a sink-only pass. */ - if (main->pass_mode != JBUF_SAVE_SOURCE) { - if (! (*cinfo->coef->compress_data) (cinfo, main->buffer)) { - /* If compressor did not consume the whole row, then we must need to - * suspend processing and return to the application. In this situation - * we pretend we didn't yet consume the last input row; otherwise, if - * it happened to be the last row of the image, the application would - * think we were done. - */ - if (! main->suspended) { - (*in_row_ctr)--; - main->suspended = TRUE; - } - return; - } - /* We did finish the row. Undo our little suspension hack if a previous - * call suspended; then mark the main buffer empty. - */ - if (main->suspended) { - (*in_row_ctr)++; - main->suspended = FALSE; - } - } - - /* If get here, we are done with this iMCU row. Mark buffer empty. */ - main->rowgroup_ctr = 0; - main->cur_iMCU_row++; - } -} - -#endif /* FULL_MAIN_BUFFER_SUPPORTED */ - - -/* - * Initialize main buffer controller. - */ - -GLOBAL(void) -jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) -{ - my_main_ptr main; - int ci; - jpeg_component_info *compptr; - - main = (my_main_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_main_controller)); - cinfo->main = (struct jpeg_c_main_controller *) main; - main->pub.start_pass = start_pass_main; - - /* We don't need to create a buffer in raw-data mode. */ - if (cinfo->raw_data_in) - return; - - /* Create the buffer. It holds downsampled data, so each component - * may be of a different size. - */ - if (need_full_buffer) { -#ifdef FULL_MAIN_BUFFER_SUPPORTED - /* Allocate a full-image virtual array for each component */ - /* Note we pad the bottom to a multiple of the iMCU height */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - main->whole_image[ci] = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - compptr->width_in_blocks * compptr->DCT_h_scaled_size, - (JDIMENSION) jround_up((long) compptr->height_in_blocks, - (long) compptr->v_samp_factor) * DCTSIZE, - (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); - } -#else - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); -#endif - } else { -#ifdef FULL_MAIN_BUFFER_SUPPORTED - main->whole_image[0] = NULL; /* flag for no virtual arrays */ -#endif - /* Allocate a strip buffer for each component */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - main->buffer[ci] = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - compptr->width_in_blocks * compptr->DCT_h_scaled_size, - (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jcmarker.c b/3rdparty/openctm/tools/jpeg/jcmarker.c deleted file mode 100644 index 7f1de978d..000000000 --- a/3rdparty/openctm/tools/jpeg/jcmarker.c +++ /dev/null @@ -1,667 +0,0 @@ -/* - * jcmarker.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write JPEG datastream markers. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -typedef enum { /* JPEG marker codes */ - M_SOF0 = 0xc0, - M_SOF1 = 0xc1, - M_SOF2 = 0xc2, - M_SOF3 = 0xc3, - - M_SOF5 = 0xc5, - M_SOF6 = 0xc6, - M_SOF7 = 0xc7, - - M_JPG = 0xc8, - M_SOF9 = 0xc9, - M_SOF10 = 0xca, - M_SOF11 = 0xcb, - - M_SOF13 = 0xcd, - M_SOF14 = 0xce, - M_SOF15 = 0xcf, - - M_DHT = 0xc4, - - M_DAC = 0xcc, - - M_RST0 = 0xd0, - M_RST1 = 0xd1, - M_RST2 = 0xd2, - M_RST3 = 0xd3, - M_RST4 = 0xd4, - M_RST5 = 0xd5, - M_RST6 = 0xd6, - M_RST7 = 0xd7, - - M_SOI = 0xd8, - M_EOI = 0xd9, - M_SOS = 0xda, - M_DQT = 0xdb, - M_DNL = 0xdc, - M_DRI = 0xdd, - M_DHP = 0xde, - M_EXP = 0xdf, - - M_APP0 = 0xe0, - M_APP1 = 0xe1, - M_APP2 = 0xe2, - M_APP3 = 0xe3, - M_APP4 = 0xe4, - M_APP5 = 0xe5, - M_APP6 = 0xe6, - M_APP7 = 0xe7, - M_APP8 = 0xe8, - M_APP9 = 0xe9, - M_APP10 = 0xea, - M_APP11 = 0xeb, - M_APP12 = 0xec, - M_APP13 = 0xed, - M_APP14 = 0xee, - M_APP15 = 0xef, - - M_JPG0 = 0xf0, - M_JPG13 = 0xfd, - M_COM = 0xfe, - - M_TEM = 0x01, - - M_ERROR = 0x100 -} JPEG_MARKER; - - -/* Private state */ - -typedef struct { - struct jpeg_marker_writer pub; /* public fields */ - - unsigned int last_restart_interval; /* last DRI value emitted; 0 after SOI */ -} my_marker_writer; - -typedef my_marker_writer * my_marker_ptr; - - -/* - * Basic output routines. - * - * Note that we do not support suspension while writing a marker. - * Therefore, an application using suspension must ensure that there is - * enough buffer space for the initial markers (typ. 600-700 bytes) before - * calling jpeg_start_compress, and enough space to write the trailing EOI - * (a few bytes) before calling jpeg_finish_compress. Multipass compression - * modes are not supported at all with suspension, so those two are the only - * points where markers will be written. - */ - -LOCAL(void) -emit_byte (j_compress_ptr cinfo, int val) -/* Emit a byte */ -{ - struct jpeg_destination_mgr * dest = cinfo->dest; - - *(dest->next_output_byte)++ = (JOCTET) val; - if (--dest->free_in_buffer == 0) { - if (! (*dest->empty_output_buffer) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - } -} - - -LOCAL(void) -emit_marker (j_compress_ptr cinfo, JPEG_MARKER mark) -/* Emit a marker code */ -{ - emit_byte(cinfo, 0xFF); - emit_byte(cinfo, (int) mark); -} - - -LOCAL(void) -emit_2bytes (j_compress_ptr cinfo, int value) -/* Emit a 2-byte integer; these are always MSB first in JPEG files */ -{ - emit_byte(cinfo, (value >> 8) & 0xFF); - emit_byte(cinfo, value & 0xFF); -} - - -/* - * Routines to write specific marker types. - */ - -LOCAL(int) -emit_dqt (j_compress_ptr cinfo, int index) -/* Emit a DQT marker */ -/* Returns the precision used (0 = 8bits, 1 = 16bits) for baseline checking */ -{ - JQUANT_TBL * qtbl = cinfo->quant_tbl_ptrs[index]; - int prec; - int i; - - if (qtbl == NULL) - ERREXIT1(cinfo, JERR_NO_QUANT_TABLE, index); - - prec = 0; - for (i = 0; i < DCTSIZE2; i++) { - if (qtbl->quantval[i] > 255) - prec = 1; - } - - if (! qtbl->sent_table) { - emit_marker(cinfo, M_DQT); - - emit_2bytes(cinfo, prec ? DCTSIZE2*2 + 1 + 2 : DCTSIZE2 + 1 + 2); - - emit_byte(cinfo, index + (prec<<4)); - - for (i = 0; i < DCTSIZE2; i++) { - /* The table entries must be emitted in zigzag order. */ - unsigned int qval = qtbl->quantval[jpeg_natural_order[i]]; - if (prec) - emit_byte(cinfo, (int) (qval >> 8)); - emit_byte(cinfo, (int) (qval & 0xFF)); - } - - qtbl->sent_table = TRUE; - } - - return prec; -} - - -LOCAL(void) -emit_dht (j_compress_ptr cinfo, int index, boolean is_ac) -/* Emit a DHT marker */ -{ - JHUFF_TBL * htbl; - int length, i; - - if (is_ac) { - htbl = cinfo->ac_huff_tbl_ptrs[index]; - index += 0x10; /* output index has AC bit set */ - } else { - htbl = cinfo->dc_huff_tbl_ptrs[index]; - } - - if (htbl == NULL) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, index); - - if (! htbl->sent_table) { - emit_marker(cinfo, M_DHT); - - length = 0; - for (i = 1; i <= 16; i++) - length += htbl->bits[i]; - - emit_2bytes(cinfo, length + 2 + 1 + 16); - emit_byte(cinfo, index); - - for (i = 1; i <= 16; i++) - emit_byte(cinfo, htbl->bits[i]); - - for (i = 0; i < length; i++) - emit_byte(cinfo, htbl->huffval[i]); - - htbl->sent_table = TRUE; - } -} - - -LOCAL(void) -emit_dac (j_compress_ptr cinfo) -/* Emit a DAC marker */ -/* Since the useful info is so small, we want to emit all the tables in */ -/* one DAC marker. Therefore this routine does its own scan of the table. */ -{ -#ifdef C_ARITH_CODING_SUPPORTED - char dc_in_use[NUM_ARITH_TBLS]; - char ac_in_use[NUM_ARITH_TBLS]; - int length, i; - jpeg_component_info *compptr; - - for (i = 0; i < NUM_ARITH_TBLS; i++) - dc_in_use[i] = ac_in_use[i] = 0; - - for (i = 0; i < cinfo->comps_in_scan; i++) { - compptr = cinfo->cur_comp_info[i]; - dc_in_use[compptr->dc_tbl_no] = 1; - ac_in_use[compptr->ac_tbl_no] = 1; - } - - length = 0; - for (i = 0; i < NUM_ARITH_TBLS; i++) - length += dc_in_use[i] + ac_in_use[i]; - - emit_marker(cinfo, M_DAC); - - emit_2bytes(cinfo, length*2 + 2); - - for (i = 0; i < NUM_ARITH_TBLS; i++) { - if (dc_in_use[i]) { - emit_byte(cinfo, i); - emit_byte(cinfo, cinfo->arith_dc_L[i] + (cinfo->arith_dc_U[i]<<4)); - } - if (ac_in_use[i]) { - emit_byte(cinfo, i + 0x10); - emit_byte(cinfo, cinfo->arith_ac_K[i]); - } - } -#endif /* C_ARITH_CODING_SUPPORTED */ -} - - -LOCAL(void) -emit_dri (j_compress_ptr cinfo) -/* Emit a DRI marker */ -{ - emit_marker(cinfo, M_DRI); - - emit_2bytes(cinfo, 4); /* fixed length */ - - emit_2bytes(cinfo, (int) cinfo->restart_interval); -} - - -LOCAL(void) -emit_sof (j_compress_ptr cinfo, JPEG_MARKER code) -/* Emit a SOF marker */ -{ - int ci; - jpeg_component_info *compptr; - - emit_marker(cinfo, code); - - emit_2bytes(cinfo, 3 * cinfo->num_components + 2 + 5 + 1); /* length */ - - /* Make sure image isn't bigger than SOF field can handle */ - if ((long) cinfo->jpeg_height > 65535L || - (long) cinfo->jpeg_width > 65535L) - ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) 65535); - - emit_byte(cinfo, cinfo->data_precision); - emit_2bytes(cinfo, (int) cinfo->jpeg_height); - emit_2bytes(cinfo, (int) cinfo->jpeg_width); - - emit_byte(cinfo, cinfo->num_components); - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - emit_byte(cinfo, compptr->component_id); - emit_byte(cinfo, (compptr->h_samp_factor << 4) + compptr->v_samp_factor); - emit_byte(cinfo, compptr->quant_tbl_no); - } -} - - -LOCAL(void) -emit_sos (j_compress_ptr cinfo) -/* Emit a SOS marker */ -{ - int i, td, ta; - jpeg_component_info *compptr; - - emit_marker(cinfo, M_SOS); - - emit_2bytes(cinfo, 2 * cinfo->comps_in_scan + 2 + 1 + 3); /* length */ - - emit_byte(cinfo, cinfo->comps_in_scan); - - for (i = 0; i < cinfo->comps_in_scan; i++) { - compptr = cinfo->cur_comp_info[i]; - emit_byte(cinfo, compptr->component_id); - td = compptr->dc_tbl_no; - ta = compptr->ac_tbl_no; - if (cinfo->progressive_mode) { - /* Progressive mode: only DC or only AC tables are used in one scan; - * furthermore, Huffman coding of DC refinement uses no table at all. - * We emit 0 for unused field(s); this is recommended by the P&M text - * but does not seem to be specified in the standard. - */ - if (cinfo->Ss == 0) { - ta = 0; /* DC scan */ - if (cinfo->Ah != 0 && !cinfo->arith_code) - td = 0; /* no DC table either */ - } else { - td = 0; /* AC scan */ - } - } - emit_byte(cinfo, (td << 4) + ta); - } - - emit_byte(cinfo, cinfo->Ss); - emit_byte(cinfo, cinfo->Se); - emit_byte(cinfo, (cinfo->Ah << 4) + cinfo->Al); -} - - -LOCAL(void) -emit_jfif_app0 (j_compress_ptr cinfo) -/* Emit a JFIF-compliant APP0 marker */ -{ - /* - * Length of APP0 block (2 bytes) - * Block ID (4 bytes - ASCII "JFIF") - * Zero byte (1 byte to terminate the ID string) - * Version Major, Minor (2 bytes - major first) - * Units (1 byte - 0x00 = none, 0x01 = inch, 0x02 = cm) - * Xdpu (2 bytes - dots per unit horizontal) - * Ydpu (2 bytes - dots per unit vertical) - * Thumbnail X size (1 byte) - * Thumbnail Y size (1 byte) - */ - - emit_marker(cinfo, M_APP0); - - emit_2bytes(cinfo, 2 + 4 + 1 + 2 + 1 + 2 + 2 + 1 + 1); /* length */ - - emit_byte(cinfo, 0x4A); /* Identifier: ASCII "JFIF" */ - emit_byte(cinfo, 0x46); - emit_byte(cinfo, 0x49); - emit_byte(cinfo, 0x46); - emit_byte(cinfo, 0); - emit_byte(cinfo, cinfo->JFIF_major_version); /* Version fields */ - emit_byte(cinfo, cinfo->JFIF_minor_version); - emit_byte(cinfo, cinfo->density_unit); /* Pixel size information */ - emit_2bytes(cinfo, (int) cinfo->X_density); - emit_2bytes(cinfo, (int) cinfo->Y_density); - emit_byte(cinfo, 0); /* No thumbnail image */ - emit_byte(cinfo, 0); -} - - -LOCAL(void) -emit_adobe_app14 (j_compress_ptr cinfo) -/* Emit an Adobe APP14 marker */ -{ - /* - * Length of APP14 block (2 bytes) - * Block ID (5 bytes - ASCII "Adobe") - * Version Number (2 bytes - currently 100) - * Flags0 (2 bytes - currently 0) - * Flags1 (2 bytes - currently 0) - * Color transform (1 byte) - * - * Although Adobe TN 5116 mentions Version = 101, all the Adobe files - * now in circulation seem to use Version = 100, so that's what we write. - * - * We write the color transform byte as 1 if the JPEG color space is - * YCbCr, 2 if it's YCCK, 0 otherwise. Adobe's definition has to do with - * whether the encoder performed a transformation, which is pretty useless. - */ - - emit_marker(cinfo, M_APP14); - - emit_2bytes(cinfo, 2 + 5 + 2 + 2 + 2 + 1); /* length */ - - emit_byte(cinfo, 0x41); /* Identifier: ASCII "Adobe" */ - emit_byte(cinfo, 0x64); - emit_byte(cinfo, 0x6F); - emit_byte(cinfo, 0x62); - emit_byte(cinfo, 0x65); - emit_2bytes(cinfo, 100); /* Version */ - emit_2bytes(cinfo, 0); /* Flags0 */ - emit_2bytes(cinfo, 0); /* Flags1 */ - switch (cinfo->jpeg_color_space) { - case JCS_YCbCr: - emit_byte(cinfo, 1); /* Color transform = 1 */ - break; - case JCS_YCCK: - emit_byte(cinfo, 2); /* Color transform = 2 */ - break; - default: - emit_byte(cinfo, 0); /* Color transform = 0 */ - break; - } -} - - -/* - * These routines allow writing an arbitrary marker with parameters. - * The only intended use is to emit COM or APPn markers after calling - * write_file_header and before calling write_frame_header. - * Other uses are not guaranteed to produce desirable results. - * Counting the parameter bytes properly is the caller's responsibility. - */ - -METHODDEF(void) -write_marker_header (j_compress_ptr cinfo, int marker, unsigned int datalen) -/* Emit an arbitrary marker header */ -{ - if (datalen > (unsigned int) 65533) /* safety check */ - ERREXIT(cinfo, JERR_BAD_LENGTH); - - emit_marker(cinfo, (JPEG_MARKER) marker); - - emit_2bytes(cinfo, (int) (datalen + 2)); /* total length */ -} - -METHODDEF(void) -write_marker_byte (j_compress_ptr cinfo, int val) -/* Emit one byte of marker parameters following write_marker_header */ -{ - emit_byte(cinfo, val); -} - - -/* - * Write datastream header. - * This consists of an SOI and optional APPn markers. - * We recommend use of the JFIF marker, but not the Adobe marker, - * when using YCbCr or grayscale data. The JFIF marker should NOT - * be used for any other JPEG colorspace. The Adobe marker is helpful - * to distinguish RGB, CMYK, and YCCK colorspaces. - * Note that an application can write additional header markers after - * jpeg_start_compress returns. - */ - -METHODDEF(void) -write_file_header (j_compress_ptr cinfo) -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - - emit_marker(cinfo, M_SOI); /* first the SOI */ - - /* SOI is defined to reset restart interval to 0 */ - marker->last_restart_interval = 0; - - if (cinfo->write_JFIF_header) /* next an optional JFIF APP0 */ - emit_jfif_app0(cinfo); - if (cinfo->write_Adobe_marker) /* next an optional Adobe APP14 */ - emit_adobe_app14(cinfo); -} - - -/* - * Write frame header. - * This consists of DQT and SOFn markers. - * Note that we do not emit the SOF until we have emitted the DQT(s). - * This avoids compatibility problems with incorrect implementations that - * try to error-check the quant table numbers as soon as they see the SOF. - */ - -METHODDEF(void) -write_frame_header (j_compress_ptr cinfo) -{ - int ci, prec; - boolean is_baseline; - jpeg_component_info *compptr; - - /* Emit DQT for each quantization table. - * Note that emit_dqt() suppresses any duplicate tables. - */ - prec = 0; - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - prec += emit_dqt(cinfo, compptr->quant_tbl_no); - } - /* now prec is nonzero iff there are any 16-bit quant tables. */ - - /* Check for a non-baseline specification. - * Note we assume that Huffman table numbers won't be changed later. - */ - if (cinfo->arith_code || cinfo->progressive_mode || - cinfo->data_precision != 8) { - is_baseline = FALSE; - } else { - is_baseline = TRUE; - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - if (compptr->dc_tbl_no > 1 || compptr->ac_tbl_no > 1) - is_baseline = FALSE; - } - if (prec && is_baseline) { - is_baseline = FALSE; - /* If it's baseline except for quantizer size, warn the user */ - TRACEMS(cinfo, 0, JTRC_16BIT_TABLES); - } - } - - /* Emit the proper SOF marker */ - if (cinfo->arith_code) { - if (cinfo->progressive_mode) - emit_sof(cinfo, M_SOF10); /* SOF code for progressive arithmetic */ - else - emit_sof(cinfo, M_SOF9); /* SOF code for sequential arithmetic */ - } else { - if (cinfo->progressive_mode) - emit_sof(cinfo, M_SOF2); /* SOF code for progressive Huffman */ - else if (is_baseline) - emit_sof(cinfo, M_SOF0); /* SOF code for baseline implementation */ - else - emit_sof(cinfo, M_SOF1); /* SOF code for non-baseline Huffman file */ - } -} - - -/* - * Write scan header. - * This consists of DHT or DAC markers, optional DRI, and SOS. - * Compressed data will be written following the SOS. - */ - -METHODDEF(void) -write_scan_header (j_compress_ptr cinfo) -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - int i; - jpeg_component_info *compptr; - - if (cinfo->arith_code) { - /* Emit arith conditioning info. We may have some duplication - * if the file has multiple scans, but it's so small it's hardly - * worth worrying about. - */ - emit_dac(cinfo); - } else { - /* Emit Huffman tables. - * Note that emit_dht() suppresses any duplicate tables. - */ - for (i = 0; i < cinfo->comps_in_scan; i++) { - compptr = cinfo->cur_comp_info[i]; - if (cinfo->progressive_mode) { - /* Progressive mode: only DC or only AC tables are used in one scan */ - if (cinfo->Ss == 0) { - if (cinfo->Ah == 0) /* DC needs no table for refinement scan */ - emit_dht(cinfo, compptr->dc_tbl_no, FALSE); - } else { - emit_dht(cinfo, compptr->ac_tbl_no, TRUE); - } - } else { - /* Sequential mode: need both DC and AC tables */ - emit_dht(cinfo, compptr->dc_tbl_no, FALSE); - emit_dht(cinfo, compptr->ac_tbl_no, TRUE); - } - } - } - - /* Emit DRI if required --- note that DRI value could change for each scan. - * We avoid wasting space with unnecessary DRIs, however. - */ - if (cinfo->restart_interval != marker->last_restart_interval) { - emit_dri(cinfo); - marker->last_restart_interval = cinfo->restart_interval; - } - - emit_sos(cinfo); -} - - -/* - * Write datastream trailer. - */ - -METHODDEF(void) -write_file_trailer (j_compress_ptr cinfo) -{ - emit_marker(cinfo, M_EOI); -} - - -/* - * Write an abbreviated table-specification datastream. - * This consists of SOI, DQT and DHT tables, and EOI. - * Any table that is defined and not marked sent_table = TRUE will be - * emitted. Note that all tables will be marked sent_table = TRUE at exit. - */ - -METHODDEF(void) -write_tables_only (j_compress_ptr cinfo) -{ - int i; - - emit_marker(cinfo, M_SOI); - - for (i = 0; i < NUM_QUANT_TBLS; i++) { - if (cinfo->quant_tbl_ptrs[i] != NULL) - (void) emit_dqt(cinfo, i); - } - - if (! cinfo->arith_code) { - for (i = 0; i < NUM_HUFF_TBLS; i++) { - if (cinfo->dc_huff_tbl_ptrs[i] != NULL) - emit_dht(cinfo, i, FALSE); - if (cinfo->ac_huff_tbl_ptrs[i] != NULL) - emit_dht(cinfo, i, TRUE); - } - } - - emit_marker(cinfo, M_EOI); -} - - -/* - * Initialize the marker writer module. - */ - -GLOBAL(void) -jinit_marker_writer (j_compress_ptr cinfo) -{ - my_marker_ptr marker; - - /* Create the subobject */ - marker = (my_marker_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_marker_writer)); - cinfo->marker = (struct jpeg_marker_writer *) marker; - /* Initialize method pointers */ - marker->pub.write_file_header = write_file_header; - marker->pub.write_frame_header = write_frame_header; - marker->pub.write_scan_header = write_scan_header; - marker->pub.write_file_trailer = write_file_trailer; - marker->pub.write_tables_only = write_tables_only; - marker->pub.write_marker_header = write_marker_header; - marker->pub.write_marker_byte = write_marker_byte; - /* Initialize private state */ - marker->last_restart_interval = 0; -} diff --git a/3rdparty/openctm/tools/jpeg/jcmaster.c b/3rdparty/openctm/tools/jpeg/jcmaster.c deleted file mode 100644 index 15f2b3032..000000000 --- a/3rdparty/openctm/tools/jpeg/jcmaster.c +++ /dev/null @@ -1,770 +0,0 @@ -/* - * jcmaster.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2003-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains master control logic for the JPEG compressor. - * These routines are concerned with parameter validation, initial setup, - * and inter-pass control (determining the number of passes and the work - * to be done in each pass). - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private state */ - -typedef enum { - main_pass, /* input data, also do first output step */ - huff_opt_pass, /* Huffman code optimization pass */ - output_pass /* data output pass */ -} c_pass_type; - -typedef struct { - struct jpeg_comp_master pub; /* public fields */ - - c_pass_type pass_type; /* the type of the current pass */ - - int pass_number; /* # of passes completed */ - int total_passes; /* total # of passes needed */ - - int scan_number; /* current index in scan_info[] */ -} my_comp_master; - -typedef my_comp_master * my_master_ptr; - - -/* - * Support routines that do various essential calculations. - */ - -/* - * Compute JPEG image dimensions and related values. - * NOTE: this is exported for possible use by application. - * Hence it mustn't do anything that can't be done twice. - */ - -GLOBAL(void) -jpeg_calc_jpeg_dimensions (j_compress_ptr cinfo) -/* Do computations that are needed before master selection phase */ -{ -#ifdef DCT_SCALING_SUPPORTED - - /* Compute actual JPEG image dimensions and DCT scaling choices. */ - if (cinfo->scale_num >= cinfo->scale_denom * 8) { - /* Provide 8/1 scaling */ - cinfo->jpeg_width = cinfo->image_width << 3; - cinfo->jpeg_height = cinfo->image_height << 3; - cinfo->min_DCT_h_scaled_size = 1; - cinfo->min_DCT_v_scaled_size = 1; - } else if (cinfo->scale_num >= cinfo->scale_denom * 4) { - /* Provide 4/1 scaling */ - cinfo->jpeg_width = cinfo->image_width << 2; - cinfo->jpeg_height = cinfo->image_height << 2; - cinfo->min_DCT_h_scaled_size = 2; - cinfo->min_DCT_v_scaled_size = 2; - } else if (cinfo->scale_num * 3 >= cinfo->scale_denom * 8) { - /* Provide 8/3 scaling */ - cinfo->jpeg_width = (cinfo->image_width << 1) + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 2, 3L); - cinfo->jpeg_height = (cinfo->image_height << 1) + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 2, 3L); - cinfo->min_DCT_h_scaled_size = 3; - cinfo->min_DCT_v_scaled_size = 3; - } else if (cinfo->scale_num >= cinfo->scale_denom * 2) { - /* Provide 2/1 scaling */ - cinfo->jpeg_width = cinfo->image_width << 1; - cinfo->jpeg_height = cinfo->image_height << 1; - cinfo->min_DCT_h_scaled_size = 4; - cinfo->min_DCT_v_scaled_size = 4; - } else if (cinfo->scale_num * 5 >= cinfo->scale_denom * 8) { - /* Provide 8/5 scaling */ - cinfo->jpeg_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 3, 5L); - cinfo->jpeg_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 3, 5L); - cinfo->min_DCT_h_scaled_size = 5; - cinfo->min_DCT_v_scaled_size = 5; - } else if (cinfo->scale_num * 3 >= cinfo->scale_denom * 4) { - /* Provide 4/3 scaling */ - cinfo->jpeg_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 3L); - cinfo->jpeg_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 3L); - cinfo->min_DCT_h_scaled_size = 6; - cinfo->min_DCT_v_scaled_size = 6; - } else if (cinfo->scale_num * 7 >= cinfo->scale_denom * 8) { - /* Provide 8/7 scaling */ - cinfo->jpeg_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 7L); - cinfo->jpeg_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 7L); - cinfo->min_DCT_h_scaled_size = 7; - cinfo->min_DCT_v_scaled_size = 7; - } else if (cinfo->scale_num >= cinfo->scale_denom) { - /* Provide 1/1 scaling */ - cinfo->jpeg_width = cinfo->image_width; - cinfo->jpeg_height = cinfo->image_height; - cinfo->min_DCT_h_scaled_size = DCTSIZE; - cinfo->min_DCT_v_scaled_size = DCTSIZE; - } else if (cinfo->scale_num * 9 >= cinfo->scale_denom * 8) { - /* Provide 8/9 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 8, 9L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 8, 9L); - cinfo->min_DCT_h_scaled_size = 9; - cinfo->min_DCT_v_scaled_size = 9; - } else if (cinfo->scale_num * 5 >= cinfo->scale_denom * 4) { - /* Provide 4/5 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 4, 5L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 4, 5L); - cinfo->min_DCT_h_scaled_size = 10; - cinfo->min_DCT_v_scaled_size = 10; - } else if (cinfo->scale_num * 11 >= cinfo->scale_denom * 8) { - /* Provide 8/11 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 8, 11L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 8, 11L); - cinfo->min_DCT_h_scaled_size = 11; - cinfo->min_DCT_v_scaled_size = 11; - } else if (cinfo->scale_num * 3 >= cinfo->scale_denom * 2) { - /* Provide 2/3 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 2, 3L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 2, 3L); - cinfo->min_DCT_h_scaled_size = 12; - cinfo->min_DCT_v_scaled_size = 12; - } else if (cinfo->scale_num * 13 >= cinfo->scale_denom * 8) { - /* Provide 8/13 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 8, 13L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 8, 13L); - cinfo->min_DCT_h_scaled_size = 13; - cinfo->min_DCT_v_scaled_size = 13; - } else if (cinfo->scale_num * 7 >= cinfo->scale_denom * 4) { - /* Provide 4/7 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 4, 7L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 4, 7L); - cinfo->min_DCT_h_scaled_size = 14; - cinfo->min_DCT_v_scaled_size = 14; - } else if (cinfo->scale_num * 15 >= cinfo->scale_denom * 8) { - /* Provide 8/15 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 8, 15L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 8, 15L); - cinfo->min_DCT_h_scaled_size = 15; - cinfo->min_DCT_v_scaled_size = 15; - } else { - /* Provide 1/2 scaling */ - cinfo->jpeg_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 2L); - cinfo->jpeg_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 2L); - cinfo->min_DCT_h_scaled_size = 16; - cinfo->min_DCT_v_scaled_size = 16; - } - -#else /* !DCT_SCALING_SUPPORTED */ - - /* Hardwire it to "no scaling" */ - cinfo->jpeg_width = cinfo->image_width; - cinfo->jpeg_height = cinfo->image_height; - cinfo->min_DCT_h_scaled_size = DCTSIZE; - cinfo->min_DCT_v_scaled_size = DCTSIZE; - -#endif /* DCT_SCALING_SUPPORTED */ -} - - -LOCAL(void) -initial_setup (j_compress_ptr cinfo) -/* Do computations that are needed before master selection phase */ -{ - int ci, ssize; - jpeg_component_info *compptr; - long samplesperrow; - JDIMENSION jd_samplesperrow; - - jpeg_calc_jpeg_dimensions(cinfo); - - /* Sanity check on image dimensions */ - if (cinfo->jpeg_height <= 0 || cinfo->jpeg_width <= 0 - || cinfo->num_components <= 0 || cinfo->input_components <= 0) - ERREXIT(cinfo, JERR_EMPTY_IMAGE); - - /* Make sure image isn't bigger than I can handle */ - if ((long) cinfo->jpeg_height > (long) JPEG_MAX_DIMENSION || - (long) cinfo->jpeg_width > (long) JPEG_MAX_DIMENSION) - ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); - - /* Width of an input scanline must be representable as JDIMENSION. */ - samplesperrow = (long) cinfo->image_width * (long) cinfo->input_components; - jd_samplesperrow = (JDIMENSION) samplesperrow; - if ((long) jd_samplesperrow != samplesperrow) - ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); - - /* For now, precision must match compiled-in value... */ - if (cinfo->data_precision != BITS_IN_JSAMPLE) - ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); - - /* Check that number of components won't exceed internal array sizes */ - if (cinfo->num_components > MAX_COMPONENTS) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, - MAX_COMPONENTS); - - /* Compute maximum sampling factors; check factor validity */ - cinfo->max_h_samp_factor = 1; - cinfo->max_v_samp_factor = 1; - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - if (compptr->h_samp_factor<=0 || compptr->h_samp_factor>MAX_SAMP_FACTOR || - compptr->v_samp_factor<=0 || compptr->v_samp_factor>MAX_SAMP_FACTOR) - ERREXIT(cinfo, JERR_BAD_SAMPLING); - cinfo->max_h_samp_factor = MAX(cinfo->max_h_samp_factor, - compptr->h_samp_factor); - cinfo->max_v_samp_factor = MAX(cinfo->max_v_samp_factor, - compptr->v_samp_factor); - } - - /* Compute dimensions of components */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Fill in the correct component_index value; don't rely on application */ - compptr->component_index = ci; - /* In selecting the actual DCT scaling for each component, we try to - * scale down the chroma components via DCT scaling rather than downsampling. - * This saves time if the downsampler gets to use 1:1 scaling. - * Note this code adapts subsampling ratios which are powers of 2. - */ - ssize = 1; -#ifdef DCT_SCALING_SUPPORTED - while (cinfo->min_DCT_h_scaled_size * ssize <= - (cinfo->do_fancy_downsampling ? DCTSIZE : DCTSIZE / 2) && - (cinfo->max_h_samp_factor % (compptr->h_samp_factor * ssize * 2)) == 0) { - ssize = ssize * 2; - } -#endif - compptr->DCT_h_scaled_size = cinfo->min_DCT_h_scaled_size * ssize; - ssize = 1; -#ifdef DCT_SCALING_SUPPORTED - while (cinfo->min_DCT_v_scaled_size * ssize <= - (cinfo->do_fancy_downsampling ? DCTSIZE : DCTSIZE / 2) && - (cinfo->max_v_samp_factor % (compptr->v_samp_factor * ssize * 2)) == 0) { - ssize = ssize * 2; - } -#endif - compptr->DCT_v_scaled_size = cinfo->min_DCT_v_scaled_size * ssize; - - /* We don't support DCT ratios larger than 2. */ - if (compptr->DCT_h_scaled_size > compptr->DCT_v_scaled_size * 2) - compptr->DCT_h_scaled_size = compptr->DCT_v_scaled_size * 2; - else if (compptr->DCT_v_scaled_size > compptr->DCT_h_scaled_size * 2) - compptr->DCT_v_scaled_size = compptr->DCT_h_scaled_size * 2; - - /* Size in DCT blocks */ - compptr->width_in_blocks = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_width * (long) compptr->h_samp_factor, - (long) (cinfo->max_h_samp_factor * DCTSIZE)); - compptr->height_in_blocks = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_height * (long) compptr->v_samp_factor, - (long) (cinfo->max_v_samp_factor * DCTSIZE)); - /* Size in samples */ - compptr->downsampled_width = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_width * - (long) (compptr->h_samp_factor * compptr->DCT_h_scaled_size), - (long) (cinfo->max_h_samp_factor * DCTSIZE)); - compptr->downsampled_height = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_height * - (long) (compptr->v_samp_factor * compptr->DCT_v_scaled_size), - (long) (cinfo->max_v_samp_factor * DCTSIZE)); - /* Mark component needed (this flag isn't actually used for compression) */ - compptr->component_needed = TRUE; - } - - /* Compute number of fully interleaved MCU rows (number of times that - * main controller will call coefficient controller). - */ - cinfo->total_iMCU_rows = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_height, - (long) (cinfo->max_v_samp_factor*DCTSIZE)); -} - - -#ifdef C_MULTISCAN_FILES_SUPPORTED - -LOCAL(void) -validate_script (j_compress_ptr cinfo) -/* Verify that the scan script in cinfo->scan_info[] is valid; also - * determine whether it uses progressive JPEG, and set cinfo->progressive_mode. - */ -{ - const jpeg_scan_info * scanptr; - int scanno, ncomps, ci, coefi, thisi; - int Ss, Se, Ah, Al; - boolean component_sent[MAX_COMPONENTS]; -#ifdef C_PROGRESSIVE_SUPPORTED - int * last_bitpos_ptr; - int last_bitpos[MAX_COMPONENTS][DCTSIZE2]; - /* -1 until that coefficient has been seen; then last Al for it */ -#endif - - if (cinfo->num_scans <= 0) - ERREXIT1(cinfo, JERR_BAD_SCAN_SCRIPT, 0); - - /* For sequential JPEG, all scans must have Ss=0, Se=DCTSIZE2-1; - * for progressive JPEG, no scan can have this. - */ - scanptr = cinfo->scan_info; - if (scanptr->Ss != 0 || scanptr->Se != DCTSIZE2-1) { -#ifdef C_PROGRESSIVE_SUPPORTED - cinfo->progressive_mode = TRUE; - last_bitpos_ptr = & last_bitpos[0][0]; - for (ci = 0; ci < cinfo->num_components; ci++) - for (coefi = 0; coefi < DCTSIZE2; coefi++) - *last_bitpos_ptr++ = -1; -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } else { - cinfo->progressive_mode = FALSE; - for (ci = 0; ci < cinfo->num_components; ci++) - component_sent[ci] = FALSE; - } - - for (scanno = 1; scanno <= cinfo->num_scans; scanptr++, scanno++) { - /* Validate component indexes */ - ncomps = scanptr->comps_in_scan; - if (ncomps <= 0 || ncomps > MAX_COMPS_IN_SCAN) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, ncomps, MAX_COMPS_IN_SCAN); - for (ci = 0; ci < ncomps; ci++) { - thisi = scanptr->component_index[ci]; - if (thisi < 0 || thisi >= cinfo->num_components) - ERREXIT1(cinfo, JERR_BAD_SCAN_SCRIPT, scanno); - /* Components must appear in SOF order within each scan */ - if (ci > 0 && thisi <= scanptr->component_index[ci-1]) - ERREXIT1(cinfo, JERR_BAD_SCAN_SCRIPT, scanno); - } - /* Validate progression parameters */ - Ss = scanptr->Ss; - Se = scanptr->Se; - Ah = scanptr->Ah; - Al = scanptr->Al; - if (cinfo->progressive_mode) { -#ifdef C_PROGRESSIVE_SUPPORTED - /* The JPEG spec simply gives the ranges 0..13 for Ah and Al, but that - * seems wrong: the upper bound ought to depend on data precision. - * Perhaps they really meant 0..N+1 for N-bit precision. - * Here we allow 0..10 for 8-bit data; Al larger than 10 results in - * out-of-range reconstructed DC values during the first DC scan, - * which might cause problems for some decoders. - */ -#if BITS_IN_JSAMPLE == 8 -#define MAX_AH_AL 10 -#else -#define MAX_AH_AL 13 -#endif - if (Ss < 0 || Ss >= DCTSIZE2 || Se < Ss || Se >= DCTSIZE2 || - Ah < 0 || Ah > MAX_AH_AL || Al < 0 || Al > MAX_AH_AL) - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - if (Ss == 0) { - if (Se != 0) /* DC and AC together not OK */ - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - } else { - if (ncomps != 1) /* AC scans must be for only one component */ - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - } - for (ci = 0; ci < ncomps; ci++) { - last_bitpos_ptr = & last_bitpos[scanptr->component_index[ci]][0]; - if (Ss != 0 && last_bitpos_ptr[0] < 0) /* AC without prior DC scan */ - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - for (coefi = Ss; coefi <= Se; coefi++) { - if (last_bitpos_ptr[coefi] < 0) { - /* first scan of this coefficient */ - if (Ah != 0) - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - } else { - /* not first scan */ - if (Ah != last_bitpos_ptr[coefi] || Al != Ah-1) - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - } - last_bitpos_ptr[coefi] = Al; - } - } -#endif - } else { - /* For sequential JPEG, all progression parameters must be these: */ - if (Ss != 0 || Se != DCTSIZE2-1 || Ah != 0 || Al != 0) - ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno); - /* Make sure components are not sent twice */ - for (ci = 0; ci < ncomps; ci++) { - thisi = scanptr->component_index[ci]; - if (component_sent[thisi]) - ERREXIT1(cinfo, JERR_BAD_SCAN_SCRIPT, scanno); - component_sent[thisi] = TRUE; - } - } - } - - /* Now verify that everything got sent. */ - if (cinfo->progressive_mode) { -#ifdef C_PROGRESSIVE_SUPPORTED - /* For progressive mode, we only check that at least some DC data - * got sent for each component; the spec does not require that all bits - * of all coefficients be transmitted. Would it be wiser to enforce - * transmission of all coefficient bits?? - */ - for (ci = 0; ci < cinfo->num_components; ci++) { - if (last_bitpos[ci][0] < 0) - ERREXIT(cinfo, JERR_MISSING_DATA); - } -#endif - } else { - for (ci = 0; ci < cinfo->num_components; ci++) { - if (! component_sent[ci]) - ERREXIT(cinfo, JERR_MISSING_DATA); - } - } -} - -#endif /* C_MULTISCAN_FILES_SUPPORTED */ - - -LOCAL(void) -select_scan_parameters (j_compress_ptr cinfo) -/* Set up the scan parameters for the current scan */ -{ - int ci; - -#ifdef C_MULTISCAN_FILES_SUPPORTED - if (cinfo->scan_info != NULL) { - /* Prepare for current scan --- the script is already validated */ - my_master_ptr master = (my_master_ptr) cinfo->master; - const jpeg_scan_info * scanptr = cinfo->scan_info + master->scan_number; - - cinfo->comps_in_scan = scanptr->comps_in_scan; - for (ci = 0; ci < scanptr->comps_in_scan; ci++) { - cinfo->cur_comp_info[ci] = - &cinfo->comp_info[scanptr->component_index[ci]]; - } - cinfo->Ss = scanptr->Ss; - cinfo->Se = scanptr->Se; - cinfo->Ah = scanptr->Ah; - cinfo->Al = scanptr->Al; - } - else -#endif - { - /* Prepare for single sequential-JPEG scan containing all components */ - if (cinfo->num_components > MAX_COMPS_IN_SCAN) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, - MAX_COMPS_IN_SCAN); - cinfo->comps_in_scan = cinfo->num_components; - for (ci = 0; ci < cinfo->num_components; ci++) { - cinfo->cur_comp_info[ci] = &cinfo->comp_info[ci]; - } - cinfo->Ss = 0; - cinfo->Se = DCTSIZE2-1; - cinfo->Ah = 0; - cinfo->Al = 0; - } -} - - -LOCAL(void) -per_scan_setup (j_compress_ptr cinfo) -/* Do computations that are needed before processing a JPEG scan */ -/* cinfo->comps_in_scan and cinfo->cur_comp_info[] are already set */ -{ - int ci, mcublks, tmp; - jpeg_component_info *compptr; - - if (cinfo->comps_in_scan == 1) { - - /* Noninterleaved (single-component) scan */ - compptr = cinfo->cur_comp_info[0]; - - /* Overall image size in MCUs */ - cinfo->MCUs_per_row = compptr->width_in_blocks; - cinfo->MCU_rows_in_scan = compptr->height_in_blocks; - - /* For noninterleaved scan, always one block per MCU */ - compptr->MCU_width = 1; - compptr->MCU_height = 1; - compptr->MCU_blocks = 1; - compptr->MCU_sample_width = compptr->DCT_h_scaled_size; - compptr->last_col_width = 1; - /* For noninterleaved scans, it is convenient to define last_row_height - * as the number of block rows present in the last iMCU row. - */ - tmp = (int) (compptr->height_in_blocks % compptr->v_samp_factor); - if (tmp == 0) tmp = compptr->v_samp_factor; - compptr->last_row_height = tmp; - - /* Prepare array describing MCU composition */ - cinfo->blocks_in_MCU = 1; - cinfo->MCU_membership[0] = 0; - - } else { - - /* Interleaved (multi-component) scan */ - if (cinfo->comps_in_scan <= 0 || cinfo->comps_in_scan > MAX_COMPS_IN_SCAN) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->comps_in_scan, - MAX_COMPS_IN_SCAN); - - /* Overall image size in MCUs */ - cinfo->MCUs_per_row = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_width, - (long) (cinfo->max_h_samp_factor*DCTSIZE)); - cinfo->MCU_rows_in_scan = (JDIMENSION) - jdiv_round_up((long) cinfo->jpeg_height, - (long) (cinfo->max_v_samp_factor*DCTSIZE)); - - cinfo->blocks_in_MCU = 0; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Sampling factors give # of blocks of component in each MCU */ - compptr->MCU_width = compptr->h_samp_factor; - compptr->MCU_height = compptr->v_samp_factor; - compptr->MCU_blocks = compptr->MCU_width * compptr->MCU_height; - compptr->MCU_sample_width = compptr->MCU_width * compptr->DCT_h_scaled_size; - /* Figure number of non-dummy blocks in last MCU column & row */ - tmp = (int) (compptr->width_in_blocks % compptr->MCU_width); - if (tmp == 0) tmp = compptr->MCU_width; - compptr->last_col_width = tmp; - tmp = (int) (compptr->height_in_blocks % compptr->MCU_height); - if (tmp == 0) tmp = compptr->MCU_height; - compptr->last_row_height = tmp; - /* Prepare array describing MCU composition */ - mcublks = compptr->MCU_blocks; - if (cinfo->blocks_in_MCU + mcublks > C_MAX_BLOCKS_IN_MCU) - ERREXIT(cinfo, JERR_BAD_MCU_SIZE); - while (mcublks-- > 0) { - cinfo->MCU_membership[cinfo->blocks_in_MCU++] = ci; - } - } - - } - - /* Convert restart specified in rows to actual MCU count. */ - /* Note that count must fit in 16 bits, so we provide limiting. */ - if (cinfo->restart_in_rows > 0) { - long nominal = (long) cinfo->restart_in_rows * (long) cinfo->MCUs_per_row; - cinfo->restart_interval = (unsigned int) MIN(nominal, 65535L); - } -} - - -/* - * Per-pass setup. - * This is called at the beginning of each pass. We determine which modules - * will be active during this pass and give them appropriate start_pass calls. - * We also set is_last_pass to indicate whether any more passes will be - * required. - */ - -METHODDEF(void) -prepare_for_pass (j_compress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - - switch (master->pass_type) { - case main_pass: - /* Initial pass: will collect input data, and do either Huffman - * optimization or data output for the first scan. - */ - select_scan_parameters(cinfo); - per_scan_setup(cinfo); - if (! cinfo->raw_data_in) { - (*cinfo->cconvert->start_pass) (cinfo); - (*cinfo->downsample->start_pass) (cinfo); - (*cinfo->prep->start_pass) (cinfo, JBUF_PASS_THRU); - } - (*cinfo->fdct->start_pass) (cinfo); - (*cinfo->entropy->start_pass) (cinfo, cinfo->optimize_coding); - (*cinfo->coef->start_pass) (cinfo, - (master->total_passes > 1 ? - JBUF_SAVE_AND_PASS : JBUF_PASS_THRU)); - (*cinfo->main->start_pass) (cinfo, JBUF_PASS_THRU); - if (cinfo->optimize_coding) { - /* No immediate data output; postpone writing frame/scan headers */ - master->pub.call_pass_startup = FALSE; - } else { - /* Will write frame/scan headers at first jpeg_write_scanlines call */ - master->pub.call_pass_startup = TRUE; - } - break; -#ifdef ENTROPY_OPT_SUPPORTED - case huff_opt_pass: - /* Do Huffman optimization for a scan after the first one. */ - select_scan_parameters(cinfo); - per_scan_setup(cinfo); - if (cinfo->Ss != 0 || cinfo->Ah == 0) { - (*cinfo->entropy->start_pass) (cinfo, TRUE); - (*cinfo->coef->start_pass) (cinfo, JBUF_CRANK_DEST); - master->pub.call_pass_startup = FALSE; - break; - } - /* Special case: Huffman DC refinement scans need no Huffman table - * and therefore we can skip the optimization pass for them. - */ - master->pass_type = output_pass; - master->pass_number++; - /*FALLTHROUGH*/ -#endif - case output_pass: - /* Do a data-output pass. */ - /* We need not repeat per-scan setup if prior optimization pass did it. */ - if (! cinfo->optimize_coding) { - select_scan_parameters(cinfo); - per_scan_setup(cinfo); - } - (*cinfo->entropy->start_pass) (cinfo, FALSE); - (*cinfo->coef->start_pass) (cinfo, JBUF_CRANK_DEST); - /* We emit frame/scan headers now */ - if (master->scan_number == 0) - (*cinfo->marker->write_frame_header) (cinfo); - (*cinfo->marker->write_scan_header) (cinfo); - master->pub.call_pass_startup = FALSE; - break; - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - } - - master->pub.is_last_pass = (master->pass_number == master->total_passes-1); - - /* Set up progress monitor's pass info if present */ - if (cinfo->progress != NULL) { - cinfo->progress->completed_passes = master->pass_number; - cinfo->progress->total_passes = master->total_passes; - } -} - - -/* - * Special start-of-pass hook. - * This is called by jpeg_write_scanlines if call_pass_startup is TRUE. - * In single-pass processing, we need this hook because we don't want to - * write frame/scan headers during jpeg_start_compress; we want to let the - * application write COM markers etc. between jpeg_start_compress and the - * jpeg_write_scanlines loop. - * In multi-pass processing, this routine is not used. - */ - -METHODDEF(void) -pass_startup (j_compress_ptr cinfo) -{ - cinfo->master->call_pass_startup = FALSE; /* reset flag so call only once */ - - (*cinfo->marker->write_frame_header) (cinfo); - (*cinfo->marker->write_scan_header) (cinfo); -} - - -/* - * Finish up at end of pass. - */ - -METHODDEF(void) -finish_pass_master (j_compress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - - /* The entropy coder always needs an end-of-pass call, - * either to analyze statistics or to flush its output buffer. - */ - (*cinfo->entropy->finish_pass) (cinfo); - - /* Update state for next pass */ - switch (master->pass_type) { - case main_pass: - /* next pass is either output of scan 0 (after optimization) - * or output of scan 1 (if no optimization). - */ - master->pass_type = output_pass; - if (! cinfo->optimize_coding) - master->scan_number++; - break; - case huff_opt_pass: - /* next pass is always output of current scan */ - master->pass_type = output_pass; - break; - case output_pass: - /* next pass is either optimization or output of next scan */ - if (cinfo->optimize_coding) - master->pass_type = huff_opt_pass; - master->scan_number++; - break; - } - - master->pass_number++; -} - - -/* - * Initialize master compression control. - */ - -GLOBAL(void) -jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only) -{ - my_master_ptr master; - - master = (my_master_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_comp_master)); - cinfo->master = (struct jpeg_comp_master *) master; - master->pub.prepare_for_pass = prepare_for_pass; - master->pub.pass_startup = pass_startup; - master->pub.finish_pass = finish_pass_master; - master->pub.is_last_pass = FALSE; - - /* Validate parameters, determine derived values */ - initial_setup(cinfo); - - if (cinfo->scan_info != NULL) { -#ifdef C_MULTISCAN_FILES_SUPPORTED - validate_script(cinfo); -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } else { - cinfo->progressive_mode = FALSE; - cinfo->num_scans = 1; - } - - if (cinfo->progressive_mode && cinfo->arith_code == 0) /* TEMPORARY HACK ??? */ - cinfo->optimize_coding = TRUE; /* assume default tables no good for progressive mode */ - - /* Initialize my private state */ - if (transcode_only) { - /* no main pass in transcoding */ - if (cinfo->optimize_coding) - master->pass_type = huff_opt_pass; - else - master->pass_type = output_pass; - } else { - /* for normal compression, first pass is always this type: */ - master->pass_type = main_pass; - } - master->scan_number = 0; - master->pass_number = 0; - if (cinfo->optimize_coding) - master->total_passes = cinfo->num_scans * 2; - else - master->total_passes = cinfo->num_scans; -} diff --git a/3rdparty/openctm/tools/jpeg/jcomapi.c b/3rdparty/openctm/tools/jpeg/jcomapi.c deleted file mode 100644 index 1b1a340c1..000000000 --- a/3rdparty/openctm/tools/jpeg/jcomapi.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * jcomapi.c - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains application interface routines that are used for both - * compression and decompression. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Abort processing of a JPEG compression or decompression operation, - * but don't destroy the object itself. - * - * For this, we merely clean up all the nonpermanent memory pools. - * Note that temp files (virtual arrays) are not allowed to belong to - * the permanent pool, so we will be able to close all temp files here. - * Closing a data source or destination, if necessary, is the application's - * responsibility. - */ - -GLOBAL(void) -jpeg_abort (j_common_ptr cinfo) -{ - int pool; - - /* Do nothing if called on a not-initialized or destroyed JPEG object. */ - if (cinfo->mem == NULL) - return; - - /* Releasing pools in reverse order might help avoid fragmentation - * with some (brain-damaged) malloc libraries. - */ - for (pool = JPOOL_NUMPOOLS-1; pool > JPOOL_PERMANENT; pool--) { - (*cinfo->mem->free_pool) (cinfo, pool); - } - - /* Reset overall state for possible reuse of object */ - if (cinfo->is_decompressor) { - cinfo->global_state = DSTATE_START; - /* Try to keep application from accessing now-deleted marker list. - * A bit kludgy to do it here, but this is the most central place. - */ - ((j_decompress_ptr) cinfo)->marker_list = NULL; - } else { - cinfo->global_state = CSTATE_START; - } -} - - -/* - * Destruction of a JPEG object. - * - * Everything gets deallocated except the master jpeg_compress_struct itself - * and the error manager struct. Both of these are supplied by the application - * and must be freed, if necessary, by the application. (Often they are on - * the stack and so don't need to be freed anyway.) - * Closing a data source or destination, if necessary, is the application's - * responsibility. - */ - -GLOBAL(void) -jpeg_destroy (j_common_ptr cinfo) -{ - /* We need only tell the memory manager to release everything. */ - /* NB: mem pointer is NULL if memory mgr failed to initialize. */ - if (cinfo->mem != NULL) - (*cinfo->mem->self_destruct) (cinfo); - cinfo->mem = NULL; /* be safe if jpeg_destroy is called twice */ - cinfo->global_state = 0; /* mark it destroyed */ -} - - -/* - * Convenience routines for allocating quantization and Huffman tables. - * (Would jutils.c be a more reasonable place to put these?) - */ - -GLOBAL(JQUANT_TBL *) -jpeg_alloc_quant_table (j_common_ptr cinfo) -{ - JQUANT_TBL *tbl; - - tbl = (JQUANT_TBL *) - (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JQUANT_TBL)); - tbl->sent_table = FALSE; /* make sure this is false in any new table */ - return tbl; -} - - -GLOBAL(JHUFF_TBL *) -jpeg_alloc_huff_table (j_common_ptr cinfo) -{ - JHUFF_TBL *tbl; - - tbl = (JHUFF_TBL *) - (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JHUFF_TBL)); - tbl->sent_table = FALSE; /* make sure this is false in any new table */ - return tbl; -} diff --git a/3rdparty/openctm/tools/jpeg/jconfig.bcc b/3rdparty/openctm/tools/jpeg/jconfig.bcc deleted file mode 100644 index ae2e97e70..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.bcc +++ /dev/null @@ -1,48 +0,0 @@ -/* jconfig.bcc --- jconfig.h for Borland C (Turbo C) on MS-DOS or OS/2. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#ifdef __MSDOS__ -#define NEED_FAR_POINTERS /* for small or medium memory model */ -#endif -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN /* this assumes you have -w-stu in CFLAGS */ - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#ifdef __MSDOS__ -#define USE_MSDOS_MEMMGR /* Define this if you use jmemdos.c */ -#define MAX_ALLOC_CHUNK 65520L /* Maximum request to malloc() */ -#define USE_FMEM /* Borland has _fmemcpy() and _fmemset() */ -#endif - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE -#define USE_SETMODE /* Borland has setmode() */ -#ifdef __MSDOS__ -#define NEED_SIGNAL_CATCHER /* Define this if you use jmemdos.c */ -#endif -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.cfg b/3rdparty/openctm/tools/jpeg/jconfig.cfg deleted file mode 100644 index 2a509ae73..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.cfg +++ /dev/null @@ -1,45 +0,0 @@ -/* jconfig.cfg --- source file edited by configure script */ -/* see jconfig.txt for explanations */ - -#undef HAVE_PROTOTYPES -#undef HAVE_UNSIGNED_CHAR -#undef HAVE_UNSIGNED_SHORT -#undef void -#undef const -#undef CHAR_IS_UNSIGNED -#undef HAVE_STDDEF_H -#undef HAVE_STDLIB_H -#undef HAVE_LOCALE_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -/* Define this if you get warnings about undefined structures. */ -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED -#undef INLINE -/* These are for configuring the JPEG memory manager. */ -#undef DEFAULT_MAX_MEM -#undef NO_MKTEMP - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE - -/* Define this if you want percent-done progress reports from cjpeg/djpeg. */ -#undef PROGRESS_REPORT - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.dj b/3rdparty/openctm/tools/jpeg/jconfig.dj deleted file mode 100644 index 9c0f2cebb..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.dj +++ /dev/null @@ -1,38 +0,0 @@ -/* jconfig.dj --- jconfig.h for DJGPP (Delorie's GNU C port) on MS-DOS. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS /* DJGPP uses flat 32-bit addressing */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Needed to make one-file style work in DJGPP */ -#undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.linux b/3rdparty/openctm/tools/jpeg/jconfig.linux deleted file mode 100644 index 025d5cf64..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.linux +++ /dev/null @@ -1,38 +0,0 @@ -/* jconfig.linux --- jconfig.h for Linux. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Needed to make one-file style work in DJGPP */ -#undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.mac b/3rdparty/openctm/tools/jpeg/jconfig.mac deleted file mode 100644 index a5e5519fe..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.mac +++ /dev/null @@ -1,43 +0,0 @@ -/* jconfig.mac --- jconfig.h for CodeWarrior on Apple Macintosh */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#define USE_MAC_MEMMGR /* Define this if you use jmemmac.c */ - -#define ALIGN_TYPE long /* Needed for 680x0 Macs */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define USE_CCOMMAND /* Command line reader for Macintosh */ -#define TWO_FILE_COMMANDLINE /* Binary I/O thru stdin/stdout doesn't work */ - -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.macosx b/3rdparty/openctm/tools/jpeg/jconfig.macosx deleted file mode 100644 index ca6746ad8..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.macosx +++ /dev/null @@ -1,37 +0,0 @@ -/* jconfig.mac --- jconfig.h for CodeWarrior on Apple Macintosh */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE /* Binary I/O thru stdin/stdout doesn't work */ -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.manx b/3rdparty/openctm/tools/jpeg/jconfig.manx deleted file mode 100644 index 46ce2261f..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.manx +++ /dev/null @@ -1,43 +0,0 @@ -/* jconfig.manx --- jconfig.h for Amiga systems using Manx Aztec C ver 5.x. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#define TEMP_DIRECTORY "JPEGTMP:" /* recommended setting for Amiga */ - -#define SHORTxSHORT_32 /* produces better DCT code with Aztec C */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE -#define NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#define signal_catcher _abort /* hack for Aztec C naming requirements */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.mc6 b/3rdparty/openctm/tools/jpeg/jconfig.mc6 deleted file mode 100644 index 894a635f1..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.mc6 +++ /dev/null @@ -1,52 +0,0 @@ -/* jconfig.mc6 --- jconfig.h for Microsoft C on MS-DOS, version 6.00A & up. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#define NEED_FAR_POINTERS /* for small or medium memory model */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#define USE_MSDOS_MEMMGR /* Define this if you use jmemdos.c */ - -#define MAX_ALLOC_CHUNK 65520L /* Maximum request to malloc() */ - -#define USE_FMEM /* Microsoft has _fmemcpy() and _fmemset() */ - -#define NEED_FHEAPMIN /* far heap management routines are broken */ - -#define SHORTxLCONST_32 /* enable compiler-specific DCT optimization */ -/* Note: the above define is known to improve the code with Microsoft C 6.00A. - * I do not know whether it is good for later compiler versions. - * Please report any info on this point to jpeg-info@uunet.uu.net. - */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE -#define USE_SETMODE /* Microsoft has setmode() */ -#define NEED_SIGNAL_CATCHER /* Define this if you use jmemdos.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.mingw b/3rdparty/openctm/tools/jpeg/jconfig.mingw deleted file mode 100644 index d3f24c4d0..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.mingw +++ /dev/null @@ -1,38 +0,0 @@ -/* jconfig.mingw --- jconfig.h for MinGW. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS /* DJGPP uses flat 32-bit addressing */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Needed to make one-file style work in DJGPP */ -#undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.sas b/3rdparty/openctm/tools/jpeg/jconfig.sas deleted file mode 100644 index 8dc8cc184..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.sas +++ /dev/null @@ -1,43 +0,0 @@ -/* jconfig.sas --- jconfig.h for Amiga systems using SAS C 6.0 and up. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#define TEMP_DIRECTORY "JPEGTMP:" /* recommended setting for Amiga */ - -#define NO_MKTEMP /* SAS C doesn't have mktemp() */ - -#define SHORTxSHORT_32 /* produces better DCT code with SAS C */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE -#define NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.st b/3rdparty/openctm/tools/jpeg/jconfig.st deleted file mode 100644 index e0af8e100..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.st +++ /dev/null @@ -1,42 +0,0 @@ -/* jconfig.st --- jconfig.h for Atari ST/STE/TT using Pure C or Turbo C. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#define INCOMPLETE_TYPES_BROKEN /* suppress undefined-structure warnings */ - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#define ALIGN_TYPE long /* apparently double is a weird size? */ - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE /* optional -- undef if you like Unix style */ -/* Note: if you undef TWO_FILE_COMMANDLINE, you may need to define - * USE_SETMODE. Some Atari compilers require it, some do not. - */ -#define NEED_SIGNAL_CATCHER /* needed if you use jmemname.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.txt b/3rdparty/openctm/tools/jpeg/jconfig.txt deleted file mode 100644 index 253c9fd85..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.txt +++ /dev/null @@ -1,155 +0,0 @@ -/* - * jconfig.txt - * - * Copyright (C) 1991-1994, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file documents the configuration options that are required to - * customize the JPEG software for a particular system. - * - * The actual configuration options for a particular installation are stored - * in jconfig.h. On many machines, jconfig.h can be generated automatically - * or copied from one of the "canned" jconfig files that we supply. But if - * you need to generate a jconfig.h file by hand, this file tells you how. - * - * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING. - * EDIT A COPY NAMED JCONFIG.H. - */ - - -/* - * These symbols indicate the properties of your machine or compiler. - * #define the symbol if yes, #undef it if no. - */ - -/* Does your compiler support function prototypes? - * (If not, you also need to use ansi2knr, see install.txt) - */ -#define HAVE_PROTOTYPES - -/* Does your compiler support the declaration "unsigned char" ? - * How about "unsigned short" ? - */ -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT - -/* Define "void" as "char" if your compiler doesn't know about type void. - * NOTE: be sure to define void such that "void *" represents the most general - * pointer type, e.g., that returned by malloc(). - */ -/* #define void char */ - -/* Define "const" as empty if your compiler doesn't know the "const" keyword. - */ -/* #define const */ - -/* Define this if an ordinary "char" type is unsigned. - * If you're not sure, leaving it undefined will work at some cost in speed. - * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal. - */ -#undef CHAR_IS_UNSIGNED - -/* Define this if your system has an ANSI-conforming file. - */ -#define HAVE_STDDEF_H - -/* Define this if your system has an ANSI-conforming file. - */ -#define HAVE_STDLIB_H - -/* Define this if your system does not have an ANSI/SysV , - * but does have a BSD-style . - */ -#undef NEED_BSD_STRINGS - -/* Define this if your system does not provide typedef size_t in any of the - * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in - * instead. - */ -#undef NEED_SYS_TYPES_H - -/* For 80x86 machines, you need to define NEED_FAR_POINTERS, - * unless you are using a large-data memory model or 80386 flat-memory mode. - * On less brain-damaged CPUs this symbol must not be defined. - * (Defining this symbol causes large data structures to be referenced through - * "far" pointers and to be allocated with a special version of malloc.) - */ -#undef NEED_FAR_POINTERS - -/* Define this if your linker needs global names to be unique in less - * than the first 15 characters. - */ -#undef NEED_SHORT_EXTERNAL_NAMES - -/* Although a real ANSI C compiler can deal perfectly well with pointers to - * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI - * and pseudo-ANSI compilers get confused. To keep one of these bozos happy, - * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you - * actually get "missing structure definition" warnings or errors while - * compiling the JPEG code. - */ -#undef INCOMPLETE_TYPES_BROKEN - - -/* - * The following options affect code selection within the JPEG library, - * but they don't need to be visible to applications using the library. - * To minimize application namespace pollution, the symbols won't be - * defined unless JPEG_INTERNALS has been defined. - */ - -#ifdef JPEG_INTERNALS - -/* Define this if your compiler implements ">>" on signed values as a logical - * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift, - * which is the normal and rational definition. - */ -#undef RIGHT_SHIFT_IS_UNSIGNED - - -#endif /* JPEG_INTERNALS */ - - -/* - * The remaining options do not affect the JPEG library proper, - * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c). - * Other applications can ignore these. - */ - -#ifdef JPEG_CJPEG_DJPEG - -/* These defines indicate which image (non-JPEG) file formats are allowed. */ - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -/* Define this if you want to name both input and output files on the command - * line, rather than using stdout and optionally stdin. You MUST do this if - * your system can't cope with binary I/O to stdin/stdout. See comments at - * head of cjpeg.c or djpeg.c. - */ -#undef TWO_FILE_COMMANDLINE - -/* Define this if your system needs explicit cleanup of temporary files. - * This is crucial under MS-DOS, where the temporary "files" may be areas - * of extended memory; on most other systems it's not as important. - */ -#undef NEED_SIGNAL_CATCHER - -/* By default, we open image files with fopen(...,"rb") or fopen(...,"wb"). - * This is necessary on systems that distinguish text files from binary files, - * and is harmless on most systems that don't. If you have one of the rare - * systems that complains about the "b" spec, define this symbol. - */ -#undef DONT_USE_B_MODE - -/* Define this if you want percent-done progress reports from cjpeg/djpeg. - */ -#undef PROGRESS_REPORT - - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.vc b/3rdparty/openctm/tools/jpeg/jconfig.vc deleted file mode 100644 index 709c4de5f..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.vc +++ /dev/null @@ -1,45 +0,0 @@ -/* jconfig.vc --- jconfig.h for Microsoft Visual C++ on Windows 95 or NT. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS /* we presume a 32-bit flat memory model */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -/* Define "boolean" as unsigned char, not int, per Windows custom */ -#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ -typedef unsigned char boolean; -#endif -#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ - - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Microsoft has setmode() */ -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.vms b/3rdparty/openctm/tools/jpeg/jconfig.vms deleted file mode 100644 index bdaa027e5..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.vms +++ /dev/null @@ -1,37 +0,0 @@ -/* jconfig.vms --- jconfig.h for use on Digital VMS. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE /* Needed on VMS */ -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jconfig.wat b/3rdparty/openctm/tools/jpeg/jconfig.wat deleted file mode 100644 index f1e0c02f6..000000000 --- a/3rdparty/openctm/tools/jpeg/jconfig.wat +++ /dev/null @@ -1,38 +0,0 @@ -/* jconfig.wat --- jconfig.h for Watcom C/C++ on MS-DOS or OS/2. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#define CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS /* Watcom uses flat 32-bit addressing */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Needed to make one-file style work in Watcom */ -#undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/3rdparty/openctm/tools/jpeg/jcparam.c b/3rdparty/openctm/tools/jpeg/jcparam.c deleted file mode 100644 index 10c5c87e3..000000000 --- a/3rdparty/openctm/tools/jpeg/jcparam.c +++ /dev/null @@ -1,632 +0,0 @@ -/* - * jcparam.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modified 2003-2008 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains optional default-setting code for the JPEG compressor. - * Applications do not have to use this file, but those that don't use it - * must know a lot more about the innards of the JPEG code. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Quantization table setup routines - */ - -GLOBAL(void) -jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, boolean force_baseline) -/* Define a quantization table equal to the basic_table times - * a scale factor (given as a percentage). - * If force_baseline is TRUE, the computed quantization table entries - * are limited to 1..255 for JPEG baseline compatibility. - */ -{ - JQUANT_TBL ** qtblptr; - int i; - long temp; - - /* Safety check to ensure start_compress not called yet. */ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - if (which_tbl < 0 || which_tbl >= NUM_QUANT_TBLS) - ERREXIT1(cinfo, JERR_DQT_INDEX, which_tbl); - - qtblptr = & cinfo->quant_tbl_ptrs[which_tbl]; - - if (*qtblptr == NULL) - *qtblptr = jpeg_alloc_quant_table((j_common_ptr) cinfo); - - for (i = 0; i < DCTSIZE2; i++) { - temp = ((long) basic_table[i] * scale_factor + 50L) / 100L; - /* limit the values to the valid range */ - if (temp <= 0L) temp = 1L; - if (temp > 32767L) temp = 32767L; /* max quantizer needed for 12 bits */ - if (force_baseline && temp > 255L) - temp = 255L; /* limit to baseline range if requested */ - (*qtblptr)->quantval[i] = (UINT16) temp; - } - - /* Initialize sent_table FALSE so table will be written to JPEG file. */ - (*qtblptr)->sent_table = FALSE; -} - - -/* These are the sample quantization tables given in JPEG spec section K.1. - * The spec says that the values given produce "good" quality, and - * when divided by 2, "very good" quality. - */ -static const unsigned int std_luminance_quant_tbl[DCTSIZE2] = { - 16, 11, 10, 16, 24, 40, 51, 61, - 12, 12, 14, 19, 26, 58, 60, 55, - 14, 13, 16, 24, 40, 57, 69, 56, - 14, 17, 22, 29, 51, 87, 80, 62, - 18, 22, 37, 56, 68, 109, 103, 77, - 24, 35, 55, 64, 81, 104, 113, 92, - 49, 64, 78, 87, 103, 121, 120, 101, - 72, 92, 95, 98, 112, 100, 103, 99 -}; -static const unsigned int std_chrominance_quant_tbl[DCTSIZE2] = { - 17, 18, 24, 47, 99, 99, 99, 99, - 18, 21, 26, 66, 99, 99, 99, 99, - 24, 26, 56, 99, 99, 99, 99, 99, - 47, 66, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99 -}; - - -GLOBAL(void) -jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline) -/* Set or change the 'quality' (quantization) setting, using default tables - * and straight percentage-scaling quality scales. - * This entry point allows different scalings for luminance and chrominance. - */ -{ - /* Set up two quantization tables using the specified scaling */ - jpeg_add_quant_table(cinfo, 0, std_luminance_quant_tbl, - cinfo->q_scale_factor[0], force_baseline); - jpeg_add_quant_table(cinfo, 1, std_chrominance_quant_tbl, - cinfo->q_scale_factor[1], force_baseline); -} - - -GLOBAL(void) -jpeg_set_linear_quality (j_compress_ptr cinfo, int scale_factor, - boolean force_baseline) -/* Set or change the 'quality' (quantization) setting, using default tables - * and a straight percentage-scaling quality scale. In most cases it's better - * to use jpeg_set_quality (below); this entry point is provided for - * applications that insist on a linear percentage scaling. - */ -{ - /* Set up two quantization tables using the specified scaling */ - jpeg_add_quant_table(cinfo, 0, std_luminance_quant_tbl, - scale_factor, force_baseline); - jpeg_add_quant_table(cinfo, 1, std_chrominance_quant_tbl, - scale_factor, force_baseline); -} - - -GLOBAL(int) -jpeg_quality_scaling (int quality) -/* Convert a user-specified quality rating to a percentage scaling factor - * for an underlying quantization table, using our recommended scaling curve. - * The input 'quality' factor should be 0 (terrible) to 100 (very good). - */ -{ - /* Safety limit on quality factor. Convert 0 to 1 to avoid zero divide. */ - if (quality <= 0) quality = 1; - if (quality > 100) quality = 100; - - /* The basic table is used as-is (scaling 100) for a quality of 50. - * Qualities 50..100 are converted to scaling percentage 200 - 2*Q; - * note that at Q=100 the scaling is 0, which will cause jpeg_add_quant_table - * to make all the table entries 1 (hence, minimum quantization loss). - * Qualities 1..50 are converted to scaling percentage 5000/Q. - */ - if (quality < 50) - quality = 5000 / quality; - else - quality = 200 - quality*2; - - return quality; -} - - -GLOBAL(void) -jpeg_set_quality (j_compress_ptr cinfo, int quality, boolean force_baseline) -/* Set or change the 'quality' (quantization) setting, using default tables. - * This is the standard quality-adjusting entry point for typical user - * interfaces; only those who want detailed control over quantization tables - * would use the preceding three routines directly. - */ -{ - /* Convert user 0-100 rating to percentage scaling */ - quality = jpeg_quality_scaling(quality); - - /* Set up standard quality tables */ - jpeg_set_linear_quality(cinfo, quality, force_baseline); -} - - -/* - * Huffman table setup routines - */ - -LOCAL(void) -add_huff_table (j_compress_ptr cinfo, - JHUFF_TBL **htblptr, const UINT8 *bits, const UINT8 *val) -/* Define a Huffman table */ -{ - int nsymbols, len; - - if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); - - /* Copy the number-of-symbols-of-each-code-length counts */ - MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits)); - - /* Validate the counts. We do this here mainly so we can copy the right - * number of symbols from the val[] array, without risking marching off - * the end of memory. jchuff.c will do a more thorough test later. - */ - nsymbols = 0; - for (len = 1; len <= 16; len++) - nsymbols += bits[len]; - if (nsymbols < 1 || nsymbols > 256) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - - MEMCOPY((*htblptr)->huffval, val, nsymbols * SIZEOF(UINT8)); - - /* Initialize sent_table FALSE so table will be written to JPEG file. */ - (*htblptr)->sent_table = FALSE; -} - - -LOCAL(void) -std_huff_tables (j_compress_ptr cinfo) -/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */ -/* IMPORTANT: these are only valid for 8-bit data precision! */ -{ - static const UINT8 bits_dc_luminance[17] = - { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; - static const UINT8 val_dc_luminance[] = - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; - - static const UINT8 bits_dc_chrominance[17] = - { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }; - static const UINT8 val_dc_chrominance[] = - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; - - static const UINT8 bits_ac_luminance[17] = - { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d }; - static const UINT8 val_ac_luminance[] = - { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, - 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, - 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, - 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, - 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, - 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, - 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, - 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, - 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, - 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, - 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, - 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, - 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, - 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, - 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, - 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, - 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, - 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, - 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa }; - - static const UINT8 bits_ac_chrominance[17] = - { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 }; - static const UINT8 val_ac_chrominance[] = - { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, - 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, - 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, - 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, - 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, - 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, - 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, - 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, - 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, - 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, - 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, - 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, - 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, - 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, - 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, - 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, - 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, - 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, - 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa }; - - add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[0], - bits_dc_luminance, val_dc_luminance); - add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[0], - bits_ac_luminance, val_ac_luminance); - add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[1], - bits_dc_chrominance, val_dc_chrominance); - add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[1], - bits_ac_chrominance, val_ac_chrominance); -} - - -/* - * Default parameter setup for compression. - * - * Applications that don't choose to use this routine must do their - * own setup of all these parameters. Alternately, you can call this - * to establish defaults and then alter parameters selectively. This - * is the recommended approach since, if we add any new parameters, - * your code will still work (they'll be set to reasonable defaults). - */ - -GLOBAL(void) -jpeg_set_defaults (j_compress_ptr cinfo) -{ - int i; - - /* Safety check to ensure start_compress not called yet. */ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - /* Allocate comp_info array large enough for maximum component count. - * Array is made permanent in case application wants to compress - * multiple images at same param settings. - */ - if (cinfo->comp_info == NULL) - cinfo->comp_info = (jpeg_component_info *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - MAX_COMPONENTS * SIZEOF(jpeg_component_info)); - - /* Initialize everything not dependent on the color space */ - - cinfo->scale_num = 1; /* 1:1 scaling */ - cinfo->scale_denom = 1; - cinfo->data_precision = BITS_IN_JSAMPLE; - /* Set up two quantization tables using default quality of 75 */ - jpeg_set_quality(cinfo, 75, TRUE); - /* Set up two Huffman tables */ - std_huff_tables(cinfo); - - /* Initialize default arithmetic coding conditioning */ - for (i = 0; i < NUM_ARITH_TBLS; i++) { - cinfo->arith_dc_L[i] = 0; - cinfo->arith_dc_U[i] = 1; - cinfo->arith_ac_K[i] = 5; - } - - /* Default is no multiple-scan output */ - cinfo->scan_info = NULL; - cinfo->num_scans = 0; - - /* Expect normal source image, not raw downsampled data */ - cinfo->raw_data_in = FALSE; - - /* Use Huffman coding, not arithmetic coding, by default */ - cinfo->arith_code = FALSE; - - /* By default, don't do extra passes to optimize entropy coding */ - cinfo->optimize_coding = FALSE; - /* The standard Huffman tables are only valid for 8-bit data precision. - * If the precision is higher, force optimization on so that usable - * tables will be computed. This test can be removed if default tables - * are supplied that are valid for the desired precision. - */ - if (cinfo->data_precision > 8) - cinfo->optimize_coding = TRUE; - - /* By default, use the simpler non-cosited sampling alignment */ - cinfo->CCIR601_sampling = FALSE; - - /* By default, apply fancy downsampling */ - cinfo->do_fancy_downsampling = TRUE; - - /* No input smoothing */ - cinfo->smoothing_factor = 0; - - /* DCT algorithm preference */ - cinfo->dct_method = JDCT_DEFAULT; - - /* No restart markers */ - cinfo->restart_interval = 0; - cinfo->restart_in_rows = 0; - - /* Fill in default JFIF marker parameters. Note that whether the marker - * will actually be written is determined by jpeg_set_colorspace. - * - * By default, the library emits JFIF version code 1.01. - * An application that wants to emit JFIF 1.02 extension markers should set - * JFIF_minor_version to 2. We could probably get away with just defaulting - * to 1.02, but there may still be some decoders in use that will complain - * about that; saying 1.01 should minimize compatibility problems. - */ - cinfo->JFIF_major_version = 1; /* Default JFIF version = 1.01 */ - cinfo->JFIF_minor_version = 1; - cinfo->density_unit = 0; /* Pixel size is unknown by default */ - cinfo->X_density = 1; /* Pixel aspect ratio is square by default */ - cinfo->Y_density = 1; - - /* Choose JPEG colorspace based on input space, set defaults accordingly */ - - jpeg_default_colorspace(cinfo); -} - - -/* - * Select an appropriate JPEG colorspace for in_color_space. - */ - -GLOBAL(void) -jpeg_default_colorspace (j_compress_ptr cinfo) -{ - switch (cinfo->in_color_space) { - case JCS_GRAYSCALE: - jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); - break; - case JCS_RGB: - jpeg_set_colorspace(cinfo, JCS_YCbCr); - break; - case JCS_YCbCr: - jpeg_set_colorspace(cinfo, JCS_YCbCr); - break; - case JCS_CMYK: - jpeg_set_colorspace(cinfo, JCS_CMYK); /* By default, no translation */ - break; - case JCS_YCCK: - jpeg_set_colorspace(cinfo, JCS_YCCK); - break; - case JCS_UNKNOWN: - jpeg_set_colorspace(cinfo, JCS_UNKNOWN); - break; - default: - ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); - } -} - - -/* - * Set the JPEG colorspace, and choose colorspace-dependent default values. - */ - -GLOBAL(void) -jpeg_set_colorspace (j_compress_ptr cinfo, J_COLOR_SPACE colorspace) -{ - jpeg_component_info * compptr; - int ci; - -#define SET_COMP(index,id,hsamp,vsamp,quant,dctbl,actbl) \ - (compptr = &cinfo->comp_info[index], \ - compptr->component_id = (id), \ - compptr->h_samp_factor = (hsamp), \ - compptr->v_samp_factor = (vsamp), \ - compptr->quant_tbl_no = (quant), \ - compptr->dc_tbl_no = (dctbl), \ - compptr->ac_tbl_no = (actbl) ) - - /* Safety check to ensure start_compress not called yet. */ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - /* For all colorspaces, we use Q and Huff tables 0 for luminance components, - * tables 1 for chrominance components. - */ - - cinfo->jpeg_color_space = colorspace; - - cinfo->write_JFIF_header = FALSE; /* No marker for non-JFIF colorspaces */ - cinfo->write_Adobe_marker = FALSE; /* write no Adobe marker by default */ - - switch (colorspace) { - case JCS_GRAYSCALE: - cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ - cinfo->num_components = 1; - /* JFIF specifies component ID 1 */ - SET_COMP(0, 1, 1,1, 0, 0,0); - break; - case JCS_RGB: - cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag RGB */ - cinfo->num_components = 3; - SET_COMP(0, 0x52 /* 'R' */, 1,1, 0, 0,0); - SET_COMP(1, 0x47 /* 'G' */, 1,1, 0, 0,0); - SET_COMP(2, 0x42 /* 'B' */, 1,1, 0, 0,0); - break; - case JCS_YCbCr: - cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ - cinfo->num_components = 3; - /* JFIF specifies component IDs 1,2,3 */ - /* We default to 2x2 subsamples of chrominance */ - SET_COMP(0, 1, 2,2, 0, 0,0); - SET_COMP(1, 2, 1,1, 1, 1,1); - SET_COMP(2, 3, 1,1, 1, 1,1); - break; - case JCS_CMYK: - cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag CMYK */ - cinfo->num_components = 4; - SET_COMP(0, 0x43 /* 'C' */, 1,1, 0, 0,0); - SET_COMP(1, 0x4D /* 'M' */, 1,1, 0, 0,0); - SET_COMP(2, 0x59 /* 'Y' */, 1,1, 0, 0,0); - SET_COMP(3, 0x4B /* 'K' */, 1,1, 0, 0,0); - break; - case JCS_YCCK: - cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag YCCK */ - cinfo->num_components = 4; - SET_COMP(0, 1, 2,2, 0, 0,0); - SET_COMP(1, 2, 1,1, 1, 1,1); - SET_COMP(2, 3, 1,1, 1, 1,1); - SET_COMP(3, 4, 2,2, 0, 0,0); - break; - case JCS_UNKNOWN: - cinfo->num_components = cinfo->input_components; - if (cinfo->num_components < 1 || cinfo->num_components > MAX_COMPONENTS) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, - MAX_COMPONENTS); - for (ci = 0; ci < cinfo->num_components; ci++) { - SET_COMP(ci, ci, 1,1, 0, 0,0); - } - break; - default: - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - } -} - - -#ifdef C_PROGRESSIVE_SUPPORTED - -LOCAL(jpeg_scan_info *) -fill_a_scan (jpeg_scan_info * scanptr, int ci, - int Ss, int Se, int Ah, int Al) -/* Support routine: generate one scan for specified component */ -{ - scanptr->comps_in_scan = 1; - scanptr->component_index[0] = ci; - scanptr->Ss = Ss; - scanptr->Se = Se; - scanptr->Ah = Ah; - scanptr->Al = Al; - scanptr++; - return scanptr; -} - -LOCAL(jpeg_scan_info *) -fill_scans (jpeg_scan_info * scanptr, int ncomps, - int Ss, int Se, int Ah, int Al) -/* Support routine: generate one scan for each component */ -{ - int ci; - - for (ci = 0; ci < ncomps; ci++) { - scanptr->comps_in_scan = 1; - scanptr->component_index[0] = ci; - scanptr->Ss = Ss; - scanptr->Se = Se; - scanptr->Ah = Ah; - scanptr->Al = Al; - scanptr++; - } - return scanptr; -} - -LOCAL(jpeg_scan_info *) -fill_dc_scans (jpeg_scan_info * scanptr, int ncomps, int Ah, int Al) -/* Support routine: generate interleaved DC scan if possible, else N scans */ -{ - int ci; - - if (ncomps <= MAX_COMPS_IN_SCAN) { - /* Single interleaved DC scan */ - scanptr->comps_in_scan = ncomps; - for (ci = 0; ci < ncomps; ci++) - scanptr->component_index[ci] = ci; - scanptr->Ss = scanptr->Se = 0; - scanptr->Ah = Ah; - scanptr->Al = Al; - scanptr++; - } else { - /* Noninterleaved DC scan for each component */ - scanptr = fill_scans(scanptr, ncomps, 0, 0, Ah, Al); - } - return scanptr; -} - - -/* - * Create a recommended progressive-JPEG script. - * cinfo->num_components and cinfo->jpeg_color_space must be correct. - */ - -GLOBAL(void) -jpeg_simple_progression (j_compress_ptr cinfo) -{ - int ncomps = cinfo->num_components; - int nscans; - jpeg_scan_info * scanptr; - - /* Safety check to ensure start_compress not called yet. */ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - /* Figure space needed for script. Calculation must match code below! */ - if (ncomps == 3 && cinfo->jpeg_color_space == JCS_YCbCr) { - /* Custom script for YCbCr color images. */ - nscans = 10; - } else { - /* All-purpose script for other color spaces. */ - if (ncomps > MAX_COMPS_IN_SCAN) - nscans = 6 * ncomps; /* 2 DC + 4 AC scans per component */ - else - nscans = 2 + 4 * ncomps; /* 2 DC scans; 4 AC scans per component */ - } - - /* Allocate space for script. - * We need to put it in the permanent pool in case the application performs - * multiple compressions without changing the settings. To avoid a memory - * leak if jpeg_simple_progression is called repeatedly for the same JPEG - * object, we try to re-use previously allocated space, and we allocate - * enough space to handle YCbCr even if initially asked for grayscale. - */ - if (cinfo->script_space == NULL || cinfo->script_space_size < nscans) { - cinfo->script_space_size = MAX(nscans, 10); - cinfo->script_space = (jpeg_scan_info *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - cinfo->script_space_size * SIZEOF(jpeg_scan_info)); - } - scanptr = cinfo->script_space; - cinfo->scan_info = scanptr; - cinfo->num_scans = nscans; - - if (ncomps == 3 && cinfo->jpeg_color_space == JCS_YCbCr) { - /* Custom script for YCbCr color images. */ - /* Initial DC scan */ - scanptr = fill_dc_scans(scanptr, ncomps, 0, 1); - /* Initial AC scan: get some luma data out in a hurry */ - scanptr = fill_a_scan(scanptr, 0, 1, 5, 0, 2); - /* Chroma data is too small to be worth expending many scans on */ - scanptr = fill_a_scan(scanptr, 2, 1, 63, 0, 1); - scanptr = fill_a_scan(scanptr, 1, 1, 63, 0, 1); - /* Complete spectral selection for luma AC */ - scanptr = fill_a_scan(scanptr, 0, 6, 63, 0, 2); - /* Refine next bit of luma AC */ - scanptr = fill_a_scan(scanptr, 0, 1, 63, 2, 1); - /* Finish DC successive approximation */ - scanptr = fill_dc_scans(scanptr, ncomps, 1, 0); - /* Finish AC successive approximation */ - scanptr = fill_a_scan(scanptr, 2, 1, 63, 1, 0); - scanptr = fill_a_scan(scanptr, 1, 1, 63, 1, 0); - /* Luma bottom bit comes last since it's usually largest scan */ - scanptr = fill_a_scan(scanptr, 0, 1, 63, 1, 0); - } else { - /* All-purpose script for other color spaces. */ - /* Successive approximation first pass */ - scanptr = fill_dc_scans(scanptr, ncomps, 0, 1); - scanptr = fill_scans(scanptr, ncomps, 1, 5, 0, 2); - scanptr = fill_scans(scanptr, ncomps, 6, 63, 0, 2); - /* Successive approximation second pass */ - scanptr = fill_scans(scanptr, ncomps, 1, 63, 2, 1); - /* Successive approximation final pass */ - scanptr = fill_dc_scans(scanptr, ncomps, 1, 0); - scanptr = fill_scans(scanptr, ncomps, 1, 63, 1, 0); - } -} - -#endif /* C_PROGRESSIVE_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jcprepct.c b/3rdparty/openctm/tools/jpeg/jcprepct.c deleted file mode 100644 index 00101e0b5..000000000 --- a/3rdparty/openctm/tools/jpeg/jcprepct.c +++ /dev/null @@ -1,358 +0,0 @@ -/* - * jcprepct.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the compression preprocessing controller. - * This controller manages the color conversion, downsampling, - * and edge expansion steps. - * - * Most of the complexity here is associated with buffering input rows - * as required by the downsampler. See the comments at the head of - * jcsample.c for the downsampler's needs. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* At present, jcsample.c can request context rows only for smoothing. - * In the future, we might also need context rows for CCIR601 sampling - * or other more-complex downsampling procedures. The code to support - * context rows should be compiled only if needed. - */ -#ifdef INPUT_SMOOTHING_SUPPORTED -#define CONTEXT_ROWS_SUPPORTED -#endif - - -/* - * For the simple (no-context-row) case, we just need to buffer one - * row group's worth of pixels for the downsampling step. At the bottom of - * the image, we pad to a full row group by replicating the last pixel row. - * The downsampler's last output row is then replicated if needed to pad - * out to a full iMCU row. - * - * When providing context rows, we must buffer three row groups' worth of - * pixels. Three row groups are physically allocated, but the row pointer - * arrays are made five row groups high, with the extra pointers above and - * below "wrapping around" to point to the last and first real row groups. - * This allows the downsampler to access the proper context rows. - * At the top and bottom of the image, we create dummy context rows by - * copying the first or last real pixel row. This copying could be avoided - * by pointer hacking as is done in jdmainct.c, but it doesn't seem worth the - * trouble on the compression side. - */ - - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_c_prep_controller pub; /* public fields */ - - /* Downsampling input buffer. This buffer holds color-converted data - * until we have enough to do a downsample step. - */ - JSAMPARRAY color_buf[MAX_COMPONENTS]; - - JDIMENSION rows_to_go; /* counts rows remaining in source image */ - int next_buf_row; /* index of next row to store in color_buf */ - -#ifdef CONTEXT_ROWS_SUPPORTED /* only needed for context case */ - int this_row_group; /* starting row index of group to process */ - int next_buf_stop; /* downsample when we reach this index */ -#endif -} my_prep_controller; - -typedef my_prep_controller * my_prep_ptr; - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_prep (j_compress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_prep_ptr prep = (my_prep_ptr) cinfo->prep; - - if (pass_mode != JBUF_PASS_THRU) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - - /* Initialize total-height counter for detecting bottom of image */ - prep->rows_to_go = cinfo->image_height; - /* Mark the conversion buffer empty */ - prep->next_buf_row = 0; -#ifdef CONTEXT_ROWS_SUPPORTED - /* Preset additional state variables for context mode. - * These aren't used in non-context mode, so we needn't test which mode. - */ - prep->this_row_group = 0; - /* Set next_buf_stop to stop after two row groups have been read in. */ - prep->next_buf_stop = 2 * cinfo->max_v_samp_factor; -#endif -} - - -/* - * Expand an image vertically from height input_rows to height output_rows, - * by duplicating the bottom row. - */ - -LOCAL(void) -expand_bottom_edge (JSAMPARRAY image_data, JDIMENSION num_cols, - int input_rows, int output_rows) -{ - register int row; - - for (row = input_rows; row < output_rows; row++) { - jcopy_sample_rows(image_data, input_rows-1, image_data, row, - 1, num_cols); - } -} - - -/* - * Process some data in the simple no-context case. - * - * Preprocessor output data is counted in "row groups". A row group - * is defined to be v_samp_factor sample rows of each component. - * Downsampling will produce this much data from each max_v_samp_factor - * input rows. - */ - -METHODDEF(void) -pre_process_data (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail, - JSAMPIMAGE output_buf, JDIMENSION *out_row_group_ctr, - JDIMENSION out_row_groups_avail) -{ - my_prep_ptr prep = (my_prep_ptr) cinfo->prep; - int numrows, ci; - JDIMENSION inrows; - jpeg_component_info * compptr; - - while (*in_row_ctr < in_rows_avail && - *out_row_group_ctr < out_row_groups_avail) { - /* Do color conversion to fill the conversion buffer. */ - inrows = in_rows_avail - *in_row_ctr; - numrows = cinfo->max_v_samp_factor - prep->next_buf_row; - numrows = (int) MIN((JDIMENSION) numrows, inrows); - (*cinfo->cconvert->color_convert) (cinfo, input_buf + *in_row_ctr, - prep->color_buf, - (JDIMENSION) prep->next_buf_row, - numrows); - *in_row_ctr += numrows; - prep->next_buf_row += numrows; - prep->rows_to_go -= numrows; - /* If at bottom of image, pad to fill the conversion buffer. */ - if (prep->rows_to_go == 0 && - prep->next_buf_row < cinfo->max_v_samp_factor) { - for (ci = 0; ci < cinfo->num_components; ci++) { - expand_bottom_edge(prep->color_buf[ci], cinfo->image_width, - prep->next_buf_row, cinfo->max_v_samp_factor); - } - prep->next_buf_row = cinfo->max_v_samp_factor; - } - /* If we've filled the conversion buffer, empty it. */ - if (prep->next_buf_row == cinfo->max_v_samp_factor) { - (*cinfo->downsample->downsample) (cinfo, - prep->color_buf, (JDIMENSION) 0, - output_buf, *out_row_group_ctr); - prep->next_buf_row = 0; - (*out_row_group_ctr)++; - } - /* If at bottom of image, pad the output to a full iMCU height. - * Note we assume the caller is providing a one-iMCU-height output buffer! - */ - if (prep->rows_to_go == 0 && - *out_row_group_ctr < out_row_groups_avail) { - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - numrows = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; - expand_bottom_edge(output_buf[ci], - compptr->width_in_blocks * compptr->DCT_h_scaled_size, - (int) (*out_row_group_ctr * numrows), - (int) (out_row_groups_avail * numrows)); - } - *out_row_group_ctr = out_row_groups_avail; - break; /* can exit outer loop without test */ - } - } -} - - -#ifdef CONTEXT_ROWS_SUPPORTED - -/* - * Process some data in the context case. - */ - -METHODDEF(void) -pre_process_context (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail, - JSAMPIMAGE output_buf, JDIMENSION *out_row_group_ctr, - JDIMENSION out_row_groups_avail) -{ - my_prep_ptr prep = (my_prep_ptr) cinfo->prep; - int numrows, ci; - int buf_height = cinfo->max_v_samp_factor * 3; - JDIMENSION inrows; - - while (*out_row_group_ctr < out_row_groups_avail) { - if (*in_row_ctr < in_rows_avail) { - /* Do color conversion to fill the conversion buffer. */ - inrows = in_rows_avail - *in_row_ctr; - numrows = prep->next_buf_stop - prep->next_buf_row; - numrows = (int) MIN((JDIMENSION) numrows, inrows); - (*cinfo->cconvert->color_convert) (cinfo, input_buf + *in_row_ctr, - prep->color_buf, - (JDIMENSION) prep->next_buf_row, - numrows); - /* Pad at top of image, if first time through */ - if (prep->rows_to_go == cinfo->image_height) { - for (ci = 0; ci < cinfo->num_components; ci++) { - int row; - for (row = 1; row <= cinfo->max_v_samp_factor; row++) { - jcopy_sample_rows(prep->color_buf[ci], 0, - prep->color_buf[ci], -row, - 1, cinfo->image_width); - } - } - } - *in_row_ctr += numrows; - prep->next_buf_row += numrows; - prep->rows_to_go -= numrows; - } else { - /* Return for more data, unless we are at the bottom of the image. */ - if (prep->rows_to_go != 0) - break; - /* When at bottom of image, pad to fill the conversion buffer. */ - if (prep->next_buf_row < prep->next_buf_stop) { - for (ci = 0; ci < cinfo->num_components; ci++) { - expand_bottom_edge(prep->color_buf[ci], cinfo->image_width, - prep->next_buf_row, prep->next_buf_stop); - } - prep->next_buf_row = prep->next_buf_stop; - } - } - /* If we've gotten enough data, downsample a row group. */ - if (prep->next_buf_row == prep->next_buf_stop) { - (*cinfo->downsample->downsample) (cinfo, - prep->color_buf, - (JDIMENSION) prep->this_row_group, - output_buf, *out_row_group_ctr); - (*out_row_group_ctr)++; - /* Advance pointers with wraparound as necessary. */ - prep->this_row_group += cinfo->max_v_samp_factor; - if (prep->this_row_group >= buf_height) - prep->this_row_group = 0; - if (prep->next_buf_row >= buf_height) - prep->next_buf_row = 0; - prep->next_buf_stop = prep->next_buf_row + cinfo->max_v_samp_factor; - } - } -} - - -/* - * Create the wrapped-around downsampling input buffer needed for context mode. - */ - -LOCAL(void) -create_context_buffer (j_compress_ptr cinfo) -{ - my_prep_ptr prep = (my_prep_ptr) cinfo->prep; - int rgroup_height = cinfo->max_v_samp_factor; - int ci, i; - jpeg_component_info * compptr; - JSAMPARRAY true_buffer, fake_buffer; - - /* Grab enough space for fake row pointers for all the components; - * we need five row groups' worth of pointers for each component. - */ - fake_buffer = (JSAMPARRAY) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (cinfo->num_components * 5 * rgroup_height) * - SIZEOF(JSAMPROW)); - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Allocate the actual buffer space (3 row groups) for this component. - * We make the buffer wide enough to allow the downsampler to edge-expand - * horizontally within the buffer, if it so chooses. - */ - true_buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) (((long) compptr->width_in_blocks * - cinfo->min_DCT_h_scaled_size * - cinfo->max_h_samp_factor) / compptr->h_samp_factor), - (JDIMENSION) (3 * rgroup_height)); - /* Copy true buffer row pointers into the middle of the fake row array */ - MEMCOPY(fake_buffer + rgroup_height, true_buffer, - 3 * rgroup_height * SIZEOF(JSAMPROW)); - /* Fill in the above and below wraparound pointers */ - for (i = 0; i < rgroup_height; i++) { - fake_buffer[i] = true_buffer[2 * rgroup_height + i]; - fake_buffer[4 * rgroup_height + i] = true_buffer[i]; - } - prep->color_buf[ci] = fake_buffer + rgroup_height; - fake_buffer += 5 * rgroup_height; /* point to space for next component */ - } -} - -#endif /* CONTEXT_ROWS_SUPPORTED */ - - -/* - * Initialize preprocessing controller. - */ - -GLOBAL(void) -jinit_c_prep_controller (j_compress_ptr cinfo, boolean need_full_buffer) -{ - my_prep_ptr prep; - int ci; - jpeg_component_info * compptr; - - if (need_full_buffer) /* safety check */ - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - - prep = (my_prep_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_prep_controller)); - cinfo->prep = (struct jpeg_c_prep_controller *) prep; - prep->pub.start_pass = start_pass_prep; - - /* Allocate the color conversion buffer. - * We make the buffer wide enough to allow the downsampler to edge-expand - * horizontally within the buffer, if it so chooses. - */ - if (cinfo->downsample->need_context_rows) { - /* Set up to provide context rows */ -#ifdef CONTEXT_ROWS_SUPPORTED - prep->pub.pre_process_data = pre_process_context; - create_context_buffer(cinfo); -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } else { - /* No context, just make it tall enough for one row group */ - prep->pub.pre_process_data = pre_process_data; - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - prep->color_buf[ci] = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) (((long) compptr->width_in_blocks * - cinfo->min_DCT_h_scaled_size * - cinfo->max_h_samp_factor) / compptr->h_samp_factor), - (JDIMENSION) cinfo->max_v_samp_factor); - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jcsample.c b/3rdparty/openctm/tools/jpeg/jcsample.c deleted file mode 100644 index 1aef8a6fc..000000000 --- a/3rdparty/openctm/tools/jpeg/jcsample.c +++ /dev/null @@ -1,545 +0,0 @@ -/* - * jcsample.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains downsampling routines. - * - * Downsampling input data is counted in "row groups". A row group - * is defined to be max_v_samp_factor pixel rows of each component, - * from which the downsampler produces v_samp_factor sample rows. - * A single row group is processed in each call to the downsampler module. - * - * The downsampler is responsible for edge-expansion of its output data - * to fill an integral number of DCT blocks horizontally. The source buffer - * may be modified if it is helpful for this purpose (the source buffer is - * allocated wide enough to correspond to the desired output width). - * The caller (the prep controller) is responsible for vertical padding. - * - * The downsampler may request "context rows" by setting need_context_rows - * during startup. In this case, the input arrays will contain at least - * one row group's worth of pixels above and below the passed-in data; - * the caller will create dummy rows at image top and bottom by replicating - * the first or last real pixel row. - * - * An excellent reference for image resampling is - * Digital Image Warping, George Wolberg, 1990. - * Pub. by IEEE Computer Society Press, Los Alamitos, CA. ISBN 0-8186-8944-7. - * - * The downsampling algorithm used here is a simple average of the source - * pixels covered by the output pixel. The hi-falutin sampling literature - * refers to this as a "box filter". In general the characteristics of a box - * filter are not very good, but for the specific cases we normally use (1:1 - * and 2:1 ratios) the box is equivalent to a "triangle filter" which is not - * nearly so bad. If you intend to use other sampling ratios, you'd be well - * advised to improve this code. - * - * A simple input-smoothing capability is provided. This is mainly intended - * for cleaning up color-dithered GIF input files (if you find it inadequate, - * we suggest using an external filtering program such as pnmconvol). When - * enabled, each input pixel P is replaced by a weighted sum of itself and its - * eight neighbors. P's weight is 1-8*SF and each neighbor's weight is SF, - * where SF = (smoothing_factor / 1024). - * Currently, smoothing is only supported for 2h2v sampling factors. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Pointer to routine to downsample a single component */ -typedef JMETHOD(void, downsample1_ptr, - (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data)); - -/* Private subobject */ - -typedef struct { - struct jpeg_downsampler pub; /* public fields */ - - /* Downsampling method pointers, one per component */ - downsample1_ptr methods[MAX_COMPONENTS]; - - /* Height of an output row group for each component. */ - int rowgroup_height[MAX_COMPONENTS]; - - /* These arrays save pixel expansion factors so that int_downsample need not - * recompute them each time. They are unused for other downsampling methods. - */ - UINT8 h_expand[MAX_COMPONENTS]; - UINT8 v_expand[MAX_COMPONENTS]; -} my_downsampler; - -typedef my_downsampler * my_downsample_ptr; - - -/* - * Initialize for a downsampling pass. - */ - -METHODDEF(void) -start_pass_downsample (j_compress_ptr cinfo) -{ - /* no work for now */ -} - - -/* - * Expand a component horizontally from width input_cols to width output_cols, - * by duplicating the rightmost samples. - */ - -LOCAL(void) -expand_right_edge (JSAMPARRAY image_data, int num_rows, - JDIMENSION input_cols, JDIMENSION output_cols) -{ - register JSAMPROW ptr; - register JSAMPLE pixval; - register int count; - int row; - int numcols = (int) (output_cols - input_cols); - - if (numcols > 0) { - for (row = 0; row < num_rows; row++) { - ptr = image_data[row] + input_cols; - pixval = ptr[-1]; /* don't need GETJSAMPLE() here */ - for (count = numcols; count > 0; count--) - *ptr++ = pixval; - } - } -} - - -/* - * Do downsampling for a whole row group (all components). - * - * In this version we simply downsample each component independently. - */ - -METHODDEF(void) -sep_downsample (j_compress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION in_row_index, - JSAMPIMAGE output_buf, JDIMENSION out_row_group_index) -{ - my_downsample_ptr downsample = (my_downsample_ptr) cinfo->downsample; - int ci; - jpeg_component_info * compptr; - JSAMPARRAY in_ptr, out_ptr; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - in_ptr = input_buf[ci] + in_row_index; - out_ptr = output_buf[ci] + - (out_row_group_index * downsample->rowgroup_height[ci]); - (*downsample->methods[ci]) (cinfo, compptr, in_ptr, out_ptr); - } -} - - -/* - * Downsample pixel values of a single component. - * One row group is processed per call. - * This version handles arbitrary integral sampling ratios, without smoothing. - * Note that this version is not actually used for customary sampling ratios. - */ - -METHODDEF(void) -int_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - my_downsample_ptr downsample = (my_downsample_ptr) cinfo->downsample; - int inrow, outrow, h_expand, v_expand, numpix, numpix2, h, v; - JDIMENSION outcol, outcol_h; /* outcol_h == outcol*h_expand */ - JDIMENSION output_cols = compptr->width_in_blocks * compptr->DCT_h_scaled_size; - JSAMPROW inptr, outptr; - INT32 outvalue; - - h_expand = downsample->h_expand[compptr->component_index]; - v_expand = downsample->v_expand[compptr->component_index]; - numpix = h_expand * v_expand; - numpix2 = numpix/2; - - /* Expand input data enough to let all the output samples be generated - * by the standard loop. Special-casing padded output would be more - * efficient. - */ - expand_right_edge(input_data, cinfo->max_v_samp_factor, - cinfo->image_width, output_cols * h_expand); - - inrow = outrow = 0; - while (inrow < cinfo->max_v_samp_factor) { - outptr = output_data[outrow]; - for (outcol = 0, outcol_h = 0; outcol < output_cols; - outcol++, outcol_h += h_expand) { - outvalue = 0; - for (v = 0; v < v_expand; v++) { - inptr = input_data[inrow+v] + outcol_h; - for (h = 0; h < h_expand; h++) { - outvalue += (INT32) GETJSAMPLE(*inptr++); - } - } - *outptr++ = (JSAMPLE) ((outvalue + numpix2) / numpix); - } - inrow += v_expand; - outrow++; - } -} - - -/* - * Downsample pixel values of a single component. - * This version handles the special case of a full-size component, - * without smoothing. - */ - -METHODDEF(void) -fullsize_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - /* Copy the data */ - jcopy_sample_rows(input_data, 0, output_data, 0, - cinfo->max_v_samp_factor, cinfo->image_width); - /* Edge-expand */ - expand_right_edge(output_data, cinfo->max_v_samp_factor, cinfo->image_width, - compptr->width_in_blocks * compptr->DCT_h_scaled_size); -} - - -/* - * Downsample pixel values of a single component. - * This version handles the common case of 2:1 horizontal and 1:1 vertical, - * without smoothing. - * - * A note about the "bias" calculations: when rounding fractional values to - * integer, we do not want to always round 0.5 up to the next integer. - * If we did that, we'd introduce a noticeable bias towards larger values. - * Instead, this code is arranged so that 0.5 will be rounded up or down at - * alternate pixel locations (a simple ordered dither pattern). - */ - -METHODDEF(void) -h2v1_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - int inrow; - JDIMENSION outcol; - JDIMENSION output_cols = compptr->width_in_blocks * compptr->DCT_h_scaled_size; - register JSAMPROW inptr, outptr; - register int bias; - - /* Expand input data enough to let all the output samples be generated - * by the standard loop. Special-casing padded output would be more - * efficient. - */ - expand_right_edge(input_data, cinfo->max_v_samp_factor, - cinfo->image_width, output_cols * 2); - - for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) { - outptr = output_data[inrow]; - inptr = input_data[inrow]; - bias = 0; /* bias = 0,1,0,1,... for successive samples */ - for (outcol = 0; outcol < output_cols; outcol++) { - *outptr++ = (JSAMPLE) ((GETJSAMPLE(*inptr) + GETJSAMPLE(inptr[1]) - + bias) >> 1); - bias ^= 1; /* 0=>1, 1=>0 */ - inptr += 2; - } - } -} - - -/* - * Downsample pixel values of a single component. - * This version handles the standard case of 2:1 horizontal and 2:1 vertical, - * without smoothing. - */ - -METHODDEF(void) -h2v2_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - int inrow, outrow; - JDIMENSION outcol; - JDIMENSION output_cols = compptr->width_in_blocks * compptr->DCT_h_scaled_size; - register JSAMPROW inptr0, inptr1, outptr; - register int bias; - - /* Expand input data enough to let all the output samples be generated - * by the standard loop. Special-casing padded output would be more - * efficient. - */ - expand_right_edge(input_data, cinfo->max_v_samp_factor, - cinfo->image_width, output_cols * 2); - - inrow = outrow = 0; - while (inrow < cinfo->max_v_samp_factor) { - outptr = output_data[outrow]; - inptr0 = input_data[inrow]; - inptr1 = input_data[inrow+1]; - bias = 1; /* bias = 1,2,1,2,... for successive samples */ - for (outcol = 0; outcol < output_cols; outcol++) { - *outptr++ = (JSAMPLE) ((GETJSAMPLE(*inptr0) + GETJSAMPLE(inptr0[1]) + - GETJSAMPLE(*inptr1) + GETJSAMPLE(inptr1[1]) - + bias) >> 2); - bias ^= 3; /* 1=>2, 2=>1 */ - inptr0 += 2; inptr1 += 2; - } - inrow += 2; - outrow++; - } -} - - -#ifdef INPUT_SMOOTHING_SUPPORTED - -/* - * Downsample pixel values of a single component. - * This version handles the standard case of 2:1 horizontal and 2:1 vertical, - * with smoothing. One row of context is required. - */ - -METHODDEF(void) -h2v2_smooth_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - int inrow, outrow; - JDIMENSION colctr; - JDIMENSION output_cols = compptr->width_in_blocks * compptr->DCT_h_scaled_size; - register JSAMPROW inptr0, inptr1, above_ptr, below_ptr, outptr; - INT32 membersum, neighsum, memberscale, neighscale; - - /* Expand input data enough to let all the output samples be generated - * by the standard loop. Special-casing padded output would be more - * efficient. - */ - expand_right_edge(input_data - 1, cinfo->max_v_samp_factor + 2, - cinfo->image_width, output_cols * 2); - - /* We don't bother to form the individual "smoothed" input pixel values; - * we can directly compute the output which is the average of the four - * smoothed values. Each of the four member pixels contributes a fraction - * (1-8*SF) to its own smoothed image and a fraction SF to each of the three - * other smoothed pixels, therefore a total fraction (1-5*SF)/4 to the final - * output. The four corner-adjacent neighbor pixels contribute a fraction - * SF to just one smoothed pixel, or SF/4 to the final output; while the - * eight edge-adjacent neighbors contribute SF to each of two smoothed - * pixels, or SF/2 overall. In order to use integer arithmetic, these - * factors are scaled by 2^16 = 65536. - * Also recall that SF = smoothing_factor / 1024. - */ - - memberscale = 16384 - cinfo->smoothing_factor * 80; /* scaled (1-5*SF)/4 */ - neighscale = cinfo->smoothing_factor * 16; /* scaled SF/4 */ - - inrow = outrow = 0; - while (inrow < cinfo->max_v_samp_factor) { - outptr = output_data[outrow]; - inptr0 = input_data[inrow]; - inptr1 = input_data[inrow+1]; - above_ptr = input_data[inrow-1]; - below_ptr = input_data[inrow+2]; - - /* Special case for first column: pretend column -1 is same as column 0 */ - membersum = GETJSAMPLE(*inptr0) + GETJSAMPLE(inptr0[1]) + - GETJSAMPLE(*inptr1) + GETJSAMPLE(inptr1[1]); - neighsum = GETJSAMPLE(*above_ptr) + GETJSAMPLE(above_ptr[1]) + - GETJSAMPLE(*below_ptr) + GETJSAMPLE(below_ptr[1]) + - GETJSAMPLE(*inptr0) + GETJSAMPLE(inptr0[2]) + - GETJSAMPLE(*inptr1) + GETJSAMPLE(inptr1[2]); - neighsum += neighsum; - neighsum += GETJSAMPLE(*above_ptr) + GETJSAMPLE(above_ptr[2]) + - GETJSAMPLE(*below_ptr) + GETJSAMPLE(below_ptr[2]); - membersum = membersum * memberscale + neighsum * neighscale; - *outptr++ = (JSAMPLE) ((membersum + 32768) >> 16); - inptr0 += 2; inptr1 += 2; above_ptr += 2; below_ptr += 2; - - for (colctr = output_cols - 2; colctr > 0; colctr--) { - /* sum of pixels directly mapped to this output element */ - membersum = GETJSAMPLE(*inptr0) + GETJSAMPLE(inptr0[1]) + - GETJSAMPLE(*inptr1) + GETJSAMPLE(inptr1[1]); - /* sum of edge-neighbor pixels */ - neighsum = GETJSAMPLE(*above_ptr) + GETJSAMPLE(above_ptr[1]) + - GETJSAMPLE(*below_ptr) + GETJSAMPLE(below_ptr[1]) + - GETJSAMPLE(inptr0[-1]) + GETJSAMPLE(inptr0[2]) + - GETJSAMPLE(inptr1[-1]) + GETJSAMPLE(inptr1[2]); - /* The edge-neighbors count twice as much as corner-neighbors */ - neighsum += neighsum; - /* Add in the corner-neighbors */ - neighsum += GETJSAMPLE(above_ptr[-1]) + GETJSAMPLE(above_ptr[2]) + - GETJSAMPLE(below_ptr[-1]) + GETJSAMPLE(below_ptr[2]); - /* form final output scaled up by 2^16 */ - membersum = membersum * memberscale + neighsum * neighscale; - /* round, descale and output it */ - *outptr++ = (JSAMPLE) ((membersum + 32768) >> 16); - inptr0 += 2; inptr1 += 2; above_ptr += 2; below_ptr += 2; - } - - /* Special case for last column */ - membersum = GETJSAMPLE(*inptr0) + GETJSAMPLE(inptr0[1]) + - GETJSAMPLE(*inptr1) + GETJSAMPLE(inptr1[1]); - neighsum = GETJSAMPLE(*above_ptr) + GETJSAMPLE(above_ptr[1]) + - GETJSAMPLE(*below_ptr) + GETJSAMPLE(below_ptr[1]) + - GETJSAMPLE(inptr0[-1]) + GETJSAMPLE(inptr0[1]) + - GETJSAMPLE(inptr1[-1]) + GETJSAMPLE(inptr1[1]); - neighsum += neighsum; - neighsum += GETJSAMPLE(above_ptr[-1]) + GETJSAMPLE(above_ptr[1]) + - GETJSAMPLE(below_ptr[-1]) + GETJSAMPLE(below_ptr[1]); - membersum = membersum * memberscale + neighsum * neighscale; - *outptr = (JSAMPLE) ((membersum + 32768) >> 16); - - inrow += 2; - outrow++; - } -} - - -/* - * Downsample pixel values of a single component. - * This version handles the special case of a full-size component, - * with smoothing. One row of context is required. - */ - -METHODDEF(void) -fullsize_smooth_downsample (j_compress_ptr cinfo, jpeg_component_info *compptr, - JSAMPARRAY input_data, JSAMPARRAY output_data) -{ - int inrow; - JDIMENSION colctr; - JDIMENSION output_cols = compptr->width_in_blocks * compptr->DCT_h_scaled_size; - register JSAMPROW inptr, above_ptr, below_ptr, outptr; - INT32 membersum, neighsum, memberscale, neighscale; - int colsum, lastcolsum, nextcolsum; - - /* Expand input data enough to let all the output samples be generated - * by the standard loop. Special-casing padded output would be more - * efficient. - */ - expand_right_edge(input_data - 1, cinfo->max_v_samp_factor + 2, - cinfo->image_width, output_cols); - - /* Each of the eight neighbor pixels contributes a fraction SF to the - * smoothed pixel, while the main pixel contributes (1-8*SF). In order - * to use integer arithmetic, these factors are multiplied by 2^16 = 65536. - * Also recall that SF = smoothing_factor / 1024. - */ - - memberscale = 65536L - cinfo->smoothing_factor * 512L; /* scaled 1-8*SF */ - neighscale = cinfo->smoothing_factor * 64; /* scaled SF */ - - for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) { - outptr = output_data[inrow]; - inptr = input_data[inrow]; - above_ptr = input_data[inrow-1]; - below_ptr = input_data[inrow+1]; - - /* Special case for first column */ - colsum = GETJSAMPLE(*above_ptr++) + GETJSAMPLE(*below_ptr++) + - GETJSAMPLE(*inptr); - membersum = GETJSAMPLE(*inptr++); - nextcolsum = GETJSAMPLE(*above_ptr) + GETJSAMPLE(*below_ptr) + - GETJSAMPLE(*inptr); - neighsum = colsum + (colsum - membersum) + nextcolsum; - membersum = membersum * memberscale + neighsum * neighscale; - *outptr++ = (JSAMPLE) ((membersum + 32768) >> 16); - lastcolsum = colsum; colsum = nextcolsum; - - for (colctr = output_cols - 2; colctr > 0; colctr--) { - membersum = GETJSAMPLE(*inptr++); - above_ptr++; below_ptr++; - nextcolsum = GETJSAMPLE(*above_ptr) + GETJSAMPLE(*below_ptr) + - GETJSAMPLE(*inptr); - neighsum = lastcolsum + (colsum - membersum) + nextcolsum; - membersum = membersum * memberscale + neighsum * neighscale; - *outptr++ = (JSAMPLE) ((membersum + 32768) >> 16); - lastcolsum = colsum; colsum = nextcolsum; - } - - /* Special case for last column */ - membersum = GETJSAMPLE(*inptr); - neighsum = lastcolsum + (colsum - membersum) + colsum; - membersum = membersum * memberscale + neighsum * neighscale; - *outptr = (JSAMPLE) ((membersum + 32768) >> 16); - - } -} - -#endif /* INPUT_SMOOTHING_SUPPORTED */ - - -/* - * Module initialization routine for downsampling. - * Note that we must select a routine for each component. - */ - -GLOBAL(void) -jinit_downsampler (j_compress_ptr cinfo) -{ - my_downsample_ptr downsample; - int ci; - jpeg_component_info * compptr; - boolean smoothok = TRUE; - int h_in_group, v_in_group, h_out_group, v_out_group; - - downsample = (my_downsample_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_downsampler)); - cinfo->downsample = (struct jpeg_downsampler *) downsample; - downsample->pub.start_pass = start_pass_downsample; - downsample->pub.downsample = sep_downsample; - downsample->pub.need_context_rows = FALSE; - - if (cinfo->CCIR601_sampling) - ERREXIT(cinfo, JERR_CCIR601_NOTIMPL); - - /* Verify we can handle the sampling factors, and set up method pointers */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Compute size of an "output group" for DCT scaling. This many samples - * are to be converted from max_h_samp_factor * max_v_samp_factor pixels. - */ - h_out_group = (compptr->h_samp_factor * compptr->DCT_h_scaled_size) / - cinfo->min_DCT_h_scaled_size; - v_out_group = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; - h_in_group = cinfo->max_h_samp_factor; - v_in_group = cinfo->max_v_samp_factor; - downsample->rowgroup_height[ci] = v_out_group; /* save for use later */ - if (h_in_group == h_out_group && v_in_group == v_out_group) { -#ifdef INPUT_SMOOTHING_SUPPORTED - if (cinfo->smoothing_factor) { - downsample->methods[ci] = fullsize_smooth_downsample; - downsample->pub.need_context_rows = TRUE; - } else -#endif - downsample->methods[ci] = fullsize_downsample; - } else if (h_in_group == h_out_group * 2 && - v_in_group == v_out_group) { - smoothok = FALSE; - downsample->methods[ci] = h2v1_downsample; - } else if (h_in_group == h_out_group * 2 && - v_in_group == v_out_group * 2) { -#ifdef INPUT_SMOOTHING_SUPPORTED - if (cinfo->smoothing_factor) { - downsample->methods[ci] = h2v2_smooth_downsample; - downsample->pub.need_context_rows = TRUE; - } else -#endif - downsample->methods[ci] = h2v2_downsample; - } else if ((h_in_group % h_out_group) == 0 && - (v_in_group % v_out_group) == 0) { - smoothok = FALSE; - downsample->methods[ci] = int_downsample; - downsample->h_expand[ci] = (UINT8) (h_in_group / h_out_group); - downsample->v_expand[ci] = (UINT8) (v_in_group / v_out_group); - } else - ERREXIT(cinfo, JERR_FRACT_SAMPLE_NOTIMPL); - } - -#ifdef INPUT_SMOOTHING_SUPPORTED - if (cinfo->smoothing_factor && !smoothok) - TRACEMS(cinfo, 0, JTRC_SMOOTH_NOTIMPL); -#endif -} diff --git a/3rdparty/openctm/tools/jpeg/jctrans.c b/3rdparty/openctm/tools/jpeg/jctrans.c deleted file mode 100644 index e1a97a57d..000000000 --- a/3rdparty/openctm/tools/jpeg/jctrans.c +++ /dev/null @@ -1,381 +0,0 @@ -/* - * jctrans.c - * - * Copyright (C) 1995-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains library routines for transcoding compression, - * that is, writing raw DCT coefficient arrays to an output JPEG file. - * The routines in jcapimin.c will also be needed by a transcoder. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Forward declarations */ -LOCAL(void) transencode_master_selection - JPP((j_compress_ptr cinfo, jvirt_barray_ptr * coef_arrays)); -LOCAL(void) transencode_coef_controller - JPP((j_compress_ptr cinfo, jvirt_barray_ptr * coef_arrays)); - - -/* - * Compression initialization for writing raw-coefficient data. - * Before calling this, all parameters and a data destination must be set up. - * Call jpeg_finish_compress() to actually write the data. - * - * The number of passed virtual arrays must match cinfo->num_components. - * Note that the virtual arrays need not be filled or even realized at - * the time write_coefficients is called; indeed, if the virtual arrays - * were requested from this compression object's memory manager, they - * typically will be realized during this routine and filled afterwards. - */ - -GLOBAL(void) -jpeg_write_coefficients (j_compress_ptr cinfo, jvirt_barray_ptr * coef_arrays) -{ - if (cinfo->global_state != CSTATE_START) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - /* Mark all tables to be written */ - jpeg_suppress_tables(cinfo, FALSE); - /* (Re)initialize error mgr and destination modules */ - (*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo); - (*cinfo->dest->init_destination) (cinfo); - /* Perform master selection of active modules */ - transencode_master_selection(cinfo, coef_arrays); - /* Wait for jpeg_finish_compress() call */ - cinfo->next_scanline = 0; /* so jpeg_write_marker works */ - cinfo->global_state = CSTATE_WRCOEFS; -} - - -/* - * Initialize the compression object with default parameters, - * then copy from the source object all parameters needed for lossless - * transcoding. Parameters that can be varied without loss (such as - * scan script and Huffman optimization) are left in their default states. - */ - -GLOBAL(void) -jpeg_copy_critical_parameters (j_decompress_ptr srcinfo, - j_compress_ptr dstinfo) -{ - JQUANT_TBL ** qtblptr; - jpeg_component_info *incomp, *outcomp; - JQUANT_TBL *c_quant, *slot_quant; - int tblno, ci, coefi; - - /* Safety check to ensure start_compress not called yet. */ - if (dstinfo->global_state != CSTATE_START) - ERREXIT1(dstinfo, JERR_BAD_STATE, dstinfo->global_state); - /* Copy fundamental image dimensions */ - dstinfo->image_width = srcinfo->image_width; - dstinfo->image_height = srcinfo->image_height; - dstinfo->input_components = srcinfo->num_components; - dstinfo->in_color_space = srcinfo->jpeg_color_space; - /* Initialize all parameters to default values */ - jpeg_set_defaults(dstinfo); - /* jpeg_set_defaults may choose wrong colorspace, eg YCbCr if input is RGB. - * Fix it to get the right header markers for the image colorspace. - */ - jpeg_set_colorspace(dstinfo, srcinfo->jpeg_color_space); - dstinfo->data_precision = srcinfo->data_precision; - dstinfo->CCIR601_sampling = srcinfo->CCIR601_sampling; - /* Copy the source's quantization tables. */ - for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) { - if (srcinfo->quant_tbl_ptrs[tblno] != NULL) { - qtblptr = & dstinfo->quant_tbl_ptrs[tblno]; - if (*qtblptr == NULL) - *qtblptr = jpeg_alloc_quant_table((j_common_ptr) dstinfo); - MEMCOPY((*qtblptr)->quantval, - srcinfo->quant_tbl_ptrs[tblno]->quantval, - SIZEOF((*qtblptr)->quantval)); - (*qtblptr)->sent_table = FALSE; - } - } - /* Copy the source's per-component info. - * Note we assume jpeg_set_defaults has allocated the dest comp_info array. - */ - dstinfo->num_components = srcinfo->num_components; - if (dstinfo->num_components < 1 || dstinfo->num_components > MAX_COMPONENTS) - ERREXIT2(dstinfo, JERR_COMPONENT_COUNT, dstinfo->num_components, - MAX_COMPONENTS); - for (ci = 0, incomp = srcinfo->comp_info, outcomp = dstinfo->comp_info; - ci < dstinfo->num_components; ci++, incomp++, outcomp++) { - outcomp->component_id = incomp->component_id; - outcomp->h_samp_factor = incomp->h_samp_factor; - outcomp->v_samp_factor = incomp->v_samp_factor; - outcomp->quant_tbl_no = incomp->quant_tbl_no; - /* Make sure saved quantization table for component matches the qtable - * slot. If not, the input file re-used this qtable slot. - * IJG encoder currently cannot duplicate this. - */ - tblno = outcomp->quant_tbl_no; - if (tblno < 0 || tblno >= NUM_QUANT_TBLS || - srcinfo->quant_tbl_ptrs[tblno] == NULL) - ERREXIT1(dstinfo, JERR_NO_QUANT_TABLE, tblno); - slot_quant = srcinfo->quant_tbl_ptrs[tblno]; - c_quant = incomp->quant_table; - if (c_quant != NULL) { - for (coefi = 0; coefi < DCTSIZE2; coefi++) { - if (c_quant->quantval[coefi] != slot_quant->quantval[coefi]) - ERREXIT1(dstinfo, JERR_MISMATCHED_QUANT_TABLE, tblno); - } - } - /* Note: we do not copy the source's Huffman table assignments; - * instead we rely on jpeg_set_colorspace to have made a suitable choice. - */ - } - /* Also copy JFIF version and resolution information, if available. - * Strictly speaking this isn't "critical" info, but it's nearly - * always appropriate to copy it if available. In particular, - * if the application chooses to copy JFIF 1.02 extension markers from - * the source file, we need to copy the version to make sure we don't - * emit a file that has 1.02 extensions but a claimed version of 1.01. - * We will *not*, however, copy version info from mislabeled "2.01" files. - */ - if (srcinfo->saw_JFIF_marker) { - if (srcinfo->JFIF_major_version == 1) { - dstinfo->JFIF_major_version = srcinfo->JFIF_major_version; - dstinfo->JFIF_minor_version = srcinfo->JFIF_minor_version; - } - dstinfo->density_unit = srcinfo->density_unit; - dstinfo->X_density = srcinfo->X_density; - dstinfo->Y_density = srcinfo->Y_density; - } -} - - -/* - * Master selection of compression modules for transcoding. - * This substitutes for jcinit.c's initialization of the full compressor. - */ - -LOCAL(void) -transencode_master_selection (j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays) -{ - /* Although we don't actually use input_components for transcoding, - * jcmaster.c's initial_setup will complain if input_components is 0. - */ - cinfo->input_components = 1; - /* Initialize master control (includes parameter checking/processing) */ - jinit_c_master_control(cinfo, TRUE /* transcode only */); - - /* Entropy encoding: either Huffman or arithmetic coding. */ - if (cinfo->arith_code) { - jinit_arith_encoder(cinfo); - } else { - jinit_huff_encoder(cinfo); - } - - /* We need a special coefficient buffer controller. */ - transencode_coef_controller(cinfo, coef_arrays); - - jinit_marker_writer(cinfo); - - /* We can now tell the memory manager to allocate virtual arrays. */ - (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); - - /* Write the datastream header (SOI, JFIF) immediately. - * Frame and scan headers are postponed till later. - * This lets application insert special markers after the SOI. - */ - (*cinfo->marker->write_file_header) (cinfo); -} - - -/* - * The rest of this file is a special implementation of the coefficient - * buffer controller. This is similar to jccoefct.c, but it handles only - * output from presupplied virtual arrays. Furthermore, we generate any - * dummy padding blocks on-the-fly rather than expecting them to be present - * in the arrays. - */ - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_c_coef_controller pub; /* public fields */ - - JDIMENSION iMCU_row_num; /* iMCU row # within image */ - JDIMENSION mcu_ctr; /* counts MCUs processed in current row */ - int MCU_vert_offset; /* counts MCU rows within iMCU row */ - int MCU_rows_per_iMCU_row; /* number of such rows needed */ - - /* Virtual block array for each component. */ - jvirt_barray_ptr * whole_image; - - /* Workspace for constructing dummy blocks at right/bottom edges. */ - JBLOCKROW dummy_buffer[C_MAX_BLOCKS_IN_MCU]; -} my_coef_controller; - -typedef my_coef_controller * my_coef_ptr; - - -LOCAL(void) -start_iMCU_row (j_compress_ptr cinfo) -/* Reset within-iMCU-row counters for a new row */ -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - /* In an interleaved scan, an MCU row is the same as an iMCU row. - * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. - * But at the bottom of the image, process only what's left. - */ - if (cinfo->comps_in_scan > 1) { - coef->MCU_rows_per_iMCU_row = 1; - } else { - if (coef->iMCU_row_num < (cinfo->total_iMCU_rows-1)) - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->v_samp_factor; - else - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->last_row_height; - } - - coef->mcu_ctr = 0; - coef->MCU_vert_offset = 0; -} - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_coef (j_compress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - if (pass_mode != JBUF_CRANK_DEST) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - - coef->iMCU_row_num = 0; - start_iMCU_row(cinfo); -} - - -/* - * Process some data. - * We process the equivalent of one fully interleaved MCU row ("iMCU" row) - * per call, ie, v_samp_factor block rows for each component in the scan. - * The data is obtained from the virtual arrays and fed to the entropy coder. - * Returns TRUE if the iMCU row is completed, FALSE if suspended. - * - * NB: input_buf is ignored; it is likely to be a NULL pointer. - */ - -METHODDEF(boolean) -compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION MCU_col_num; /* index of current MCU within row */ - JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - int blkn, ci, xindex, yindex, yoffset, blockcnt; - JDIMENSION start_col; - JBLOCKARRAY buffer[MAX_COMPS_IN_SCAN]; - JBLOCKROW MCU_buffer[C_MAX_BLOCKS_IN_MCU]; - JBLOCKROW buffer_ptr; - jpeg_component_info *compptr; - - /* Align the virtual buffers for the components used in this scan. */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - buffer[ci] = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[compptr->component_index], - coef->iMCU_row_num * compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } - - /* Loop to process one whole iMCU row */ - for (yoffset = coef->MCU_vert_offset; yoffset < coef->MCU_rows_per_iMCU_row; - yoffset++) { - for (MCU_col_num = coef->mcu_ctr; MCU_col_num < cinfo->MCUs_per_row; - MCU_col_num++) { - /* Construct list of pointers to DCT blocks belonging to this MCU */ - blkn = 0; /* index of current DCT block within MCU */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - start_col = MCU_col_num * compptr->MCU_width; - blockcnt = (MCU_col_num < last_MCU_col) ? compptr->MCU_width - : compptr->last_col_width; - for (yindex = 0; yindex < compptr->MCU_height; yindex++) { - if (coef->iMCU_row_num < last_iMCU_row || - yindex+yoffset < compptr->last_row_height) { - /* Fill in pointers to real blocks in this row */ - buffer_ptr = buffer[ci][yindex+yoffset] + start_col; - for (xindex = 0; xindex < blockcnt; xindex++) - MCU_buffer[blkn++] = buffer_ptr++; - } else { - /* At bottom of image, need a whole row of dummy blocks */ - xindex = 0; - } - /* Fill in any dummy blocks needed in this row. - * Dummy blocks are filled in the same way as in jccoefct.c: - * all zeroes in the AC entries, DC entries equal to previous - * block's DC value. The init routine has already zeroed the - * AC entries, so we need only set the DC entries correctly. - */ - for (; xindex < compptr->MCU_width; xindex++) { - MCU_buffer[blkn] = coef->dummy_buffer[blkn]; - MCU_buffer[blkn][0][0] = MCU_buffer[blkn-1][0][0]; - blkn++; - } - } - } - /* Try to write the MCU. */ - if (! (*cinfo->entropy->encode_mcu) (cinfo, MCU_buffer)) { - /* Suspension forced; update state counters and exit */ - coef->MCU_vert_offset = yoffset; - coef->mcu_ctr = MCU_col_num; - return FALSE; - } - } - /* Completed an MCU row, but perhaps not an iMCU row */ - coef->mcu_ctr = 0; - } - /* Completed the iMCU row, advance counters for next one */ - coef->iMCU_row_num++; - start_iMCU_row(cinfo); - return TRUE; -} - - -/* - * Initialize coefficient buffer controller. - * - * Each passed coefficient array must be the right size for that - * coefficient: width_in_blocks wide and height_in_blocks high, - * with unitheight at least v_samp_factor. - */ - -LOCAL(void) -transencode_coef_controller (j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays) -{ - my_coef_ptr coef; - JBLOCKROW buffer; - int i; - - coef = (my_coef_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_coef_controller)); - cinfo->coef = (struct jpeg_c_coef_controller *) coef; - coef->pub.start_pass = start_pass_coef; - coef->pub.compress_data = compress_output; - - /* Save pointer to virtual arrays */ - coef->whole_image = coef_arrays; - - /* Allocate and pre-zero space for dummy DCT blocks. */ - buffer = (JBLOCKROW) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, - C_MAX_BLOCKS_IN_MCU * SIZEOF(JBLOCK)); - jzero_far((void FAR *) buffer, C_MAX_BLOCKS_IN_MCU * SIZEOF(JBLOCK)); - for (i = 0; i < C_MAX_BLOCKS_IN_MCU; i++) { - coef->dummy_buffer[i] = buffer + i; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdapimin.c b/3rdparty/openctm/tools/jpeg/jdapimin.c deleted file mode 100644 index 1ba7f1119..000000000 --- a/3rdparty/openctm/tools/jpeg/jdapimin.c +++ /dev/null @@ -1,396 +0,0 @@ -/* - * jdapimin.c - * - * Copyright (C) 1994-1998, Thomas G. Lane. - * Modified 2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains application interface code for the decompression half - * of the JPEG library. These are the "minimum" API routines that may be - * needed in either the normal full-decompression case or the - * transcoding-only case. - * - * Most of the routines intended to be called directly by an application - * are in this file or in jdapistd.c. But also see jcomapi.c for routines - * shared by compression and decompression, and jdtrans.c for the transcoding - * case. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * Initialization of a JPEG decompression object. - * The error manager must already be set up (in case memory manager fails). - */ - -GLOBAL(void) -jpeg_CreateDecompress (j_decompress_ptr cinfo, int version, size_t structsize) -{ - int i; - - /* Guard against version mismatches between library and caller. */ - cinfo->mem = NULL; /* so jpeg_destroy knows mem mgr not called */ - if (version != JPEG_LIB_VERSION) - ERREXIT2(cinfo, JERR_BAD_LIB_VERSION, JPEG_LIB_VERSION, version); - if (structsize != SIZEOF(struct jpeg_decompress_struct)) - ERREXIT2(cinfo, JERR_BAD_STRUCT_SIZE, - (int) SIZEOF(struct jpeg_decompress_struct), (int) structsize); - - /* For debugging purposes, we zero the whole master structure. - * But the application has already set the err pointer, and may have set - * client_data, so we have to save and restore those fields. - * Note: if application hasn't set client_data, tools like Purify may - * complain here. - */ - { - struct jpeg_error_mgr * err = cinfo->err; - void * client_data = cinfo->client_data; /* ignore Purify complaint here */ - MEMZERO(cinfo, SIZEOF(struct jpeg_decompress_struct)); - cinfo->err = err; - cinfo->client_data = client_data; - } - cinfo->is_decompressor = TRUE; - - /* Initialize a memory manager instance for this object */ - jinit_memory_mgr((j_common_ptr) cinfo); - - /* Zero out pointers to permanent structures. */ - cinfo->progress = NULL; - cinfo->src = NULL; - - for (i = 0; i < NUM_QUANT_TBLS; i++) - cinfo->quant_tbl_ptrs[i] = NULL; - - for (i = 0; i < NUM_HUFF_TBLS; i++) { - cinfo->dc_huff_tbl_ptrs[i] = NULL; - cinfo->ac_huff_tbl_ptrs[i] = NULL; - } - - /* Initialize marker processor so application can override methods - * for COM, APPn markers before calling jpeg_read_header. - */ - cinfo->marker_list = NULL; - jinit_marker_reader(cinfo); - - /* And initialize the overall input controller. */ - jinit_input_controller(cinfo); - - /* OK, I'm ready */ - cinfo->global_state = DSTATE_START; -} - - -/* - * Destruction of a JPEG decompression object - */ - -GLOBAL(void) -jpeg_destroy_decompress (j_decompress_ptr cinfo) -{ - jpeg_destroy((j_common_ptr) cinfo); /* use common routine */ -} - - -/* - * Abort processing of a JPEG decompression operation, - * but don't destroy the object itself. - */ - -GLOBAL(void) -jpeg_abort_decompress (j_decompress_ptr cinfo) -{ - jpeg_abort((j_common_ptr) cinfo); /* use common routine */ -} - - -/* - * Set default decompression parameters. - */ - -LOCAL(void) -default_decompress_parms (j_decompress_ptr cinfo) -{ - /* Guess the input colorspace, and set output colorspace accordingly. */ - /* (Wish JPEG committee had provided a real way to specify this...) */ - /* Note application may override our guesses. */ - switch (cinfo->num_components) { - case 1: - cinfo->jpeg_color_space = JCS_GRAYSCALE; - cinfo->out_color_space = JCS_GRAYSCALE; - break; - - case 3: - if (cinfo->saw_JFIF_marker) { - cinfo->jpeg_color_space = JCS_YCbCr; /* JFIF implies YCbCr */ - } else if (cinfo->saw_Adobe_marker) { - switch (cinfo->Adobe_transform) { - case 0: - cinfo->jpeg_color_space = JCS_RGB; - break; - case 1: - cinfo->jpeg_color_space = JCS_YCbCr; - break; - default: - WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); - cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ - break; - } - } else { - /* Saw no special markers, try to guess from the component IDs */ - int cid0 = cinfo->comp_info[0].component_id; - int cid1 = cinfo->comp_info[1].component_id; - int cid2 = cinfo->comp_info[2].component_id; - - if (cid0 == 1 && cid1 == 2 && cid2 == 3) - cinfo->jpeg_color_space = JCS_YCbCr; /* assume JFIF w/out marker */ - else if (cid0 == 82 && cid1 == 71 && cid2 == 66) - cinfo->jpeg_color_space = JCS_RGB; /* ASCII 'R', 'G', 'B' */ - else { - TRACEMS3(cinfo, 1, JTRC_UNKNOWN_IDS, cid0, cid1, cid2); - cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ - } - } - /* Always guess RGB is proper output colorspace. */ - cinfo->out_color_space = JCS_RGB; - break; - - case 4: - if (cinfo->saw_Adobe_marker) { - switch (cinfo->Adobe_transform) { - case 0: - cinfo->jpeg_color_space = JCS_CMYK; - break; - case 2: - cinfo->jpeg_color_space = JCS_YCCK; - break; - default: - WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); - cinfo->jpeg_color_space = JCS_YCCK; /* assume it's YCCK */ - break; - } - } else { - /* No special markers, assume straight CMYK. */ - cinfo->jpeg_color_space = JCS_CMYK; - } - cinfo->out_color_space = JCS_CMYK; - break; - - default: - cinfo->jpeg_color_space = JCS_UNKNOWN; - cinfo->out_color_space = JCS_UNKNOWN; - break; - } - - /* Set defaults for other decompression parameters. */ - cinfo->scale_num = DCTSIZE; /* 1:1 scaling */ - cinfo->scale_denom = DCTSIZE; - cinfo->output_gamma = 1.0; - cinfo->buffered_image = FALSE; - cinfo->raw_data_out = FALSE; - cinfo->dct_method = JDCT_DEFAULT; - cinfo->do_fancy_upsampling = TRUE; - cinfo->do_block_smoothing = TRUE; - cinfo->quantize_colors = FALSE; - /* We set these in case application only sets quantize_colors. */ - cinfo->dither_mode = JDITHER_FS; -#ifdef QUANT_2PASS_SUPPORTED - cinfo->two_pass_quantize = TRUE; -#else - cinfo->two_pass_quantize = FALSE; -#endif - cinfo->desired_number_of_colors = 256; - cinfo->colormap = NULL; - /* Initialize for no mode change in buffered-image mode. */ - cinfo->enable_1pass_quant = FALSE; - cinfo->enable_external_quant = FALSE; - cinfo->enable_2pass_quant = FALSE; -} - - -/* - * Decompression startup: read start of JPEG datastream to see what's there. - * Need only initialize JPEG object and supply a data source before calling. - * - * This routine will read as far as the first SOS marker (ie, actual start of - * compressed data), and will save all tables and parameters in the JPEG - * object. It will also initialize the decompression parameters to default - * values, and finally return JPEG_HEADER_OK. On return, the application may - * adjust the decompression parameters and then call jpeg_start_decompress. - * (Or, if the application only wanted to determine the image parameters, - * the data need not be decompressed. In that case, call jpeg_abort or - * jpeg_destroy to release any temporary space.) - * If an abbreviated (tables only) datastream is presented, the routine will - * return JPEG_HEADER_TABLES_ONLY upon reaching EOI. The application may then - * re-use the JPEG object to read the abbreviated image datastream(s). - * It is unnecessary (but OK) to call jpeg_abort in this case. - * The JPEG_SUSPENDED return code only occurs if the data source module - * requests suspension of the decompressor. In this case the application - * should load more source data and then re-call jpeg_read_header to resume - * processing. - * If a non-suspending data source is used and require_image is TRUE, then the - * return code need not be inspected since only JPEG_HEADER_OK is possible. - * - * This routine is now just a front end to jpeg_consume_input, with some - * extra error checking. - */ - -GLOBAL(int) -jpeg_read_header (j_decompress_ptr cinfo, boolean require_image) -{ - int retcode; - - if (cinfo->global_state != DSTATE_START && - cinfo->global_state != DSTATE_INHEADER) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - retcode = jpeg_consume_input(cinfo); - - switch (retcode) { - case JPEG_REACHED_SOS: - retcode = JPEG_HEADER_OK; - break; - case JPEG_REACHED_EOI: - if (require_image) /* Complain if application wanted an image */ - ERREXIT(cinfo, JERR_NO_IMAGE); - /* Reset to start state; it would be safer to require the application to - * call jpeg_abort, but we can't change it now for compatibility reasons. - * A side effect is to free any temporary memory (there shouldn't be any). - */ - jpeg_abort((j_common_ptr) cinfo); /* sets state = DSTATE_START */ - retcode = JPEG_HEADER_TABLES_ONLY; - break; - case JPEG_SUSPENDED: - /* no work */ - break; - } - - return retcode; -} - - -/* - * Consume data in advance of what the decompressor requires. - * This can be called at any time once the decompressor object has - * been created and a data source has been set up. - * - * This routine is essentially a state machine that handles a couple - * of critical state-transition actions, namely initial setup and - * transition from header scanning to ready-for-start_decompress. - * All the actual input is done via the input controller's consume_input - * method. - */ - -GLOBAL(int) -jpeg_consume_input (j_decompress_ptr cinfo) -{ - int retcode = JPEG_SUSPENDED; - - /* NB: every possible DSTATE value should be listed in this switch */ - switch (cinfo->global_state) { - case DSTATE_START: - /* Start-of-datastream actions: reset appropriate modules */ - (*cinfo->inputctl->reset_input_controller) (cinfo); - /* Initialize application's data source module */ - (*cinfo->src->init_source) (cinfo); - cinfo->global_state = DSTATE_INHEADER; - /*FALLTHROUGH*/ - case DSTATE_INHEADER: - retcode = (*cinfo->inputctl->consume_input) (cinfo); - if (retcode == JPEG_REACHED_SOS) { /* Found SOS, prepare to decompress */ - /* Set up default parameters based on header data */ - default_decompress_parms(cinfo); - /* Set global state: ready for start_decompress */ - cinfo->global_state = DSTATE_READY; - } - break; - case DSTATE_READY: - /* Can't advance past first SOS until start_decompress is called */ - retcode = JPEG_REACHED_SOS; - break; - case DSTATE_PRELOAD: - case DSTATE_PRESCAN: - case DSTATE_SCANNING: - case DSTATE_RAW_OK: - case DSTATE_BUFIMAGE: - case DSTATE_BUFPOST: - case DSTATE_STOPPING: - retcode = (*cinfo->inputctl->consume_input) (cinfo); - break; - default: - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - } - return retcode; -} - - -/* - * Have we finished reading the input file? - */ - -GLOBAL(boolean) -jpeg_input_complete (j_decompress_ptr cinfo) -{ - /* Check for valid jpeg object */ - if (cinfo->global_state < DSTATE_START || - cinfo->global_state > DSTATE_STOPPING) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - return cinfo->inputctl->eoi_reached; -} - - -/* - * Is there more than one scan? - */ - -GLOBAL(boolean) -jpeg_has_multiple_scans (j_decompress_ptr cinfo) -{ - /* Only valid after jpeg_read_header completes */ - if (cinfo->global_state < DSTATE_READY || - cinfo->global_state > DSTATE_STOPPING) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - return cinfo->inputctl->has_multiple_scans; -} - - -/* - * Finish JPEG decompression. - * - * This will normally just verify the file trailer and release temp storage. - * - * Returns FALSE if suspended. The return value need be inspected only if - * a suspending data source is used. - */ - -GLOBAL(boolean) -jpeg_finish_decompress (j_decompress_ptr cinfo) -{ - if ((cinfo->global_state == DSTATE_SCANNING || - cinfo->global_state == DSTATE_RAW_OK) && ! cinfo->buffered_image) { - /* Terminate final pass of non-buffered mode */ - if (cinfo->output_scanline < cinfo->output_height) - ERREXIT(cinfo, JERR_TOO_LITTLE_DATA); - (*cinfo->master->finish_output_pass) (cinfo); - cinfo->global_state = DSTATE_STOPPING; - } else if (cinfo->global_state == DSTATE_BUFIMAGE) { - /* Finishing after a buffered-image operation */ - cinfo->global_state = DSTATE_STOPPING; - } else if (cinfo->global_state != DSTATE_STOPPING) { - /* STOPPING = repeat call after a suspension, anything else is error */ - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - } - /* Read until EOI */ - while (! cinfo->inputctl->eoi_reached) { - if ((*cinfo->inputctl->consume_input) (cinfo) == JPEG_SUSPENDED) - return FALSE; /* Suspend, come back later */ - } - /* Do final cleanup */ - (*cinfo->src->term_source) (cinfo); - /* We can use jpeg_abort to release memory and reset global_state */ - jpeg_abort((j_common_ptr) cinfo); - return TRUE; -} diff --git a/3rdparty/openctm/tools/jpeg/jdapistd.c b/3rdparty/openctm/tools/jpeg/jdapistd.c deleted file mode 100644 index e81bd67dd..000000000 --- a/3rdparty/openctm/tools/jpeg/jdapistd.c +++ /dev/null @@ -1,275 +0,0 @@ -/* - * jdapistd.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains application interface code for the decompression half - * of the JPEG library. These are the "standard" API routines that are - * used in the normal full-decompression case. They are not used by a - * transcoding-only application. Note that if an application links in - * jpeg_start_decompress, it will end up linking in the entire decompressor. - * We thus must separate this file from jdapimin.c to avoid linking the - * whole decompression library into a transcoder. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Forward declarations */ -LOCAL(boolean) output_pass_setup JPP((j_decompress_ptr cinfo)); - - -/* - * Decompression initialization. - * jpeg_read_header must be completed before calling this. - * - * If a multipass operating mode was selected, this will do all but the - * last pass, and thus may take a great deal of time. - * - * Returns FALSE if suspended. The return value need be inspected only if - * a suspending data source is used. - */ - -GLOBAL(boolean) -jpeg_start_decompress (j_decompress_ptr cinfo) -{ - if (cinfo->global_state == DSTATE_READY) { - /* First call: initialize master control, select active modules */ - jinit_master_decompress(cinfo); - if (cinfo->buffered_image) { - /* No more work here; expecting jpeg_start_output next */ - cinfo->global_state = DSTATE_BUFIMAGE; - return TRUE; - } - cinfo->global_state = DSTATE_PRELOAD; - } - if (cinfo->global_state == DSTATE_PRELOAD) { - /* If file has multiple scans, absorb them all into the coef buffer */ - if (cinfo->inputctl->has_multiple_scans) { -#ifdef D_MULTISCAN_FILES_SUPPORTED - for (;;) { - int retcode; - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - /* Absorb some more input */ - retcode = (*cinfo->inputctl->consume_input) (cinfo); - if (retcode == JPEG_SUSPENDED) - return FALSE; - if (retcode == JPEG_REACHED_EOI) - break; - /* Advance progress counter if appropriate */ - if (cinfo->progress != NULL && - (retcode == JPEG_ROW_COMPLETED || retcode == JPEG_REACHED_SOS)) { - if (++cinfo->progress->pass_counter >= cinfo->progress->pass_limit) { - /* jdmaster underestimated number of scans; ratchet up one scan */ - cinfo->progress->pass_limit += (long) cinfo->total_iMCU_rows; - } - } - } -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif /* D_MULTISCAN_FILES_SUPPORTED */ - } - cinfo->output_scan_number = cinfo->input_scan_number; - } else if (cinfo->global_state != DSTATE_PRESCAN) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - /* Perform any dummy output passes, and set up for the final pass */ - return output_pass_setup(cinfo); -} - - -/* - * Set up for an output pass, and perform any dummy pass(es) needed. - * Common subroutine for jpeg_start_decompress and jpeg_start_output. - * Entry: global_state = DSTATE_PRESCAN only if previously suspended. - * Exit: If done, returns TRUE and sets global_state for proper output mode. - * If suspended, returns FALSE and sets global_state = DSTATE_PRESCAN. - */ - -LOCAL(boolean) -output_pass_setup (j_decompress_ptr cinfo) -{ - if (cinfo->global_state != DSTATE_PRESCAN) { - /* First call: do pass setup */ - (*cinfo->master->prepare_for_output_pass) (cinfo); - cinfo->output_scanline = 0; - cinfo->global_state = DSTATE_PRESCAN; - } - /* Loop over any required dummy passes */ - while (cinfo->master->is_dummy_pass) { -#ifdef QUANT_2PASS_SUPPORTED - /* Crank through the dummy pass */ - while (cinfo->output_scanline < cinfo->output_height) { - JDIMENSION last_scanline; - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) cinfo->output_scanline; - cinfo->progress->pass_limit = (long) cinfo->output_height; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - /* Process some data */ - last_scanline = cinfo->output_scanline; - (*cinfo->main->process_data) (cinfo, (JSAMPARRAY) NULL, - &cinfo->output_scanline, (JDIMENSION) 0); - if (cinfo->output_scanline == last_scanline) - return FALSE; /* No progress made, must suspend */ - } - /* Finish up dummy pass, and set up for another one */ - (*cinfo->master->finish_output_pass) (cinfo); - (*cinfo->master->prepare_for_output_pass) (cinfo); - cinfo->output_scanline = 0; -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif /* QUANT_2PASS_SUPPORTED */ - } - /* Ready for application to drive output pass through - * jpeg_read_scanlines or jpeg_read_raw_data. - */ - cinfo->global_state = cinfo->raw_data_out ? DSTATE_RAW_OK : DSTATE_SCANNING; - return TRUE; -} - - -/* - * Read some scanlines of data from the JPEG decompressor. - * - * The return value will be the number of lines actually read. - * This may be less than the number requested in several cases, - * including bottom of image, data source suspension, and operating - * modes that emit multiple scanlines at a time. - * - * Note: we warn about excess calls to jpeg_read_scanlines() since - * this likely signals an application programmer error. However, - * an oversize buffer (max_lines > scanlines remaining) is not an error. - */ - -GLOBAL(JDIMENSION) -jpeg_read_scanlines (j_decompress_ptr cinfo, JSAMPARRAY scanlines, - JDIMENSION max_lines) -{ - JDIMENSION row_ctr; - - if (cinfo->global_state != DSTATE_SCANNING) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - if (cinfo->output_scanline >= cinfo->output_height) { - WARNMS(cinfo, JWRN_TOO_MUCH_DATA); - return 0; - } - - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) cinfo->output_scanline; - cinfo->progress->pass_limit = (long) cinfo->output_height; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - - /* Process some data */ - row_ctr = 0; - (*cinfo->main->process_data) (cinfo, scanlines, &row_ctr, max_lines); - cinfo->output_scanline += row_ctr; - return row_ctr; -} - - -/* - * Alternate entry point to read raw data. - * Processes exactly one iMCU row per call, unless suspended. - */ - -GLOBAL(JDIMENSION) -jpeg_read_raw_data (j_decompress_ptr cinfo, JSAMPIMAGE data, - JDIMENSION max_lines) -{ - JDIMENSION lines_per_iMCU_row; - - if (cinfo->global_state != DSTATE_RAW_OK) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - if (cinfo->output_scanline >= cinfo->output_height) { - WARNMS(cinfo, JWRN_TOO_MUCH_DATA); - return 0; - } - - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) { - cinfo->progress->pass_counter = (long) cinfo->output_scanline; - cinfo->progress->pass_limit = (long) cinfo->output_height; - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - } - - /* Verify that at least one iMCU row can be returned. */ - lines_per_iMCU_row = cinfo->max_v_samp_factor * cinfo->min_DCT_v_scaled_size; - if (max_lines < lines_per_iMCU_row) - ERREXIT(cinfo, JERR_BUFFER_SIZE); - - /* Decompress directly into user's buffer. */ - if (! (*cinfo->coef->decompress_data) (cinfo, data)) - return 0; /* suspension forced, can do nothing more */ - - /* OK, we processed one iMCU row. */ - cinfo->output_scanline += lines_per_iMCU_row; - return lines_per_iMCU_row; -} - - -/* Additional entry points for buffered-image mode. */ - -#ifdef D_MULTISCAN_FILES_SUPPORTED - -/* - * Initialize for an output pass in buffered-image mode. - */ - -GLOBAL(boolean) -jpeg_start_output (j_decompress_ptr cinfo, int scan_number) -{ - if (cinfo->global_state != DSTATE_BUFIMAGE && - cinfo->global_state != DSTATE_PRESCAN) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - /* Limit scan number to valid range */ - if (scan_number <= 0) - scan_number = 1; - if (cinfo->inputctl->eoi_reached && - scan_number > cinfo->input_scan_number) - scan_number = cinfo->input_scan_number; - cinfo->output_scan_number = scan_number; - /* Perform any dummy output passes, and set up for the real pass */ - return output_pass_setup(cinfo); -} - - -/* - * Finish up after an output pass in buffered-image mode. - * - * Returns FALSE if suspended. The return value need be inspected only if - * a suspending data source is used. - */ - -GLOBAL(boolean) -jpeg_finish_output (j_decompress_ptr cinfo) -{ - if ((cinfo->global_state == DSTATE_SCANNING || - cinfo->global_state == DSTATE_RAW_OK) && cinfo->buffered_image) { - /* Terminate this pass. */ - /* We do not require the whole pass to have been completed. */ - (*cinfo->master->finish_output_pass) (cinfo); - cinfo->global_state = DSTATE_BUFPOST; - } else if (cinfo->global_state != DSTATE_BUFPOST) { - /* BUFPOST = repeat call after a suspension, anything else is error */ - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - } - /* Read markers looking for SOS or EOI */ - while (cinfo->input_scan_number <= cinfo->output_scan_number && - ! cinfo->inputctl->eoi_reached) { - if ((*cinfo->inputctl->consume_input) (cinfo) == JPEG_SUSPENDED) - return FALSE; /* Suspend, come back later */ - } - cinfo->global_state = DSTATE_BUFIMAGE; - return TRUE; -} - -#endif /* D_MULTISCAN_FILES_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jdarith.c b/3rdparty/openctm/tools/jpeg/jdarith.c deleted file mode 100644 index c28604cbe..000000000 --- a/3rdparty/openctm/tools/jpeg/jdarith.c +++ /dev/null @@ -1,762 +0,0 @@ -/* - * jdarith.c - * - * Developed 1997 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains portable arithmetic entropy decoding routines for JPEG - * (implementing the ISO/IEC IS 10918-1 and CCITT Recommendation ITU-T T.81). - * - * Both sequential and progressive modes are supported in this single module. - * - * Suspension is not currently supported in this module. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Expanded entropy decoder object for arithmetic decoding. */ - -typedef struct { - struct jpeg_entropy_decoder pub; /* public fields */ - - INT32 c; /* C register, base of coding interval + input bit buffer */ - INT32 a; /* A register, normalized size of coding interval */ - int ct; /* bit shift counter, # of bits left in bit buffer part of C */ - /* init: ct = -16 */ - /* run: ct = 0..7 */ - /* error: ct = -1 */ - int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ - int dc_context[MAX_COMPS_IN_SCAN]; /* context index for DC conditioning */ - - unsigned int restarts_to_go; /* MCUs left in this restart interval */ - - /* Pointers to statistics areas (these workspaces have image lifespan) */ - unsigned char * dc_stats[NUM_ARITH_TBLS]; - unsigned char * ac_stats[NUM_ARITH_TBLS]; -} arith_entropy_decoder; - -typedef arith_entropy_decoder * arith_entropy_ptr; - -/* The following two definitions specify the allocation chunk size - * for the statistics area. - * According to sections F.1.4.4.1.3 and F.1.4.4.2, we need at least - * 49 statistics bins for DC, and 245 statistics bins for AC coding. - * Note that we use one additional AC bin for codings with fixed - * probability (0.5), thus the minimum number for AC is 246. - * - * We use a compact representation with 1 byte per statistics bin, - * thus the numbers directly represent byte sizes. - * This 1 byte per statistics bin contains the meaning of the MPS - * (more probable symbol) in the highest bit (mask 0x80), and the - * index into the probability estimation state machine table - * in the lower bits (mask 0x7F). - */ - -#define DC_STAT_BINS 64 -#define AC_STAT_BINS 256 - - -LOCAL(int) -get_byte (j_decompress_ptr cinfo) -/* Read next input byte; we do not support suspension in this module. */ -{ - struct jpeg_source_mgr * src = cinfo->src; - - if (src->bytes_in_buffer == 0) - if (! (*src->fill_input_buffer) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - src->bytes_in_buffer--; - return GETJOCTET(*src->next_input_byte++); -} - - -/* - * The core arithmetic decoding routine (common in JPEG and JBIG). - * This needs to go as fast as possible. - * Machine-dependent optimization facilities - * are not utilized in this portable implementation. - * However, this code should be fairly efficient and - * may be a good base for further optimizations anyway. - * - * Return value is 0 or 1 (binary decision). - * - * Note: I've changed the handling of the code base & bit - * buffer register C compared to other implementations - * based on the standards layout & procedures. - * While it also contains both the actual base of the - * coding interval (16 bits) and the next-bits buffer, - * the cut-point between these two parts is floating - * (instead of fixed) with the bit shift counter CT. - * Thus, we also need only one (variable instead of - * fixed size) shift for the LPS/MPS decision, and - * we can get away with any renormalization update - * of C (except for new data insertion, of course). - * - * I've also introduced a new scheme for accessing - * the probability estimation state machine table, - * derived from Markus Kuhn's JBIG implementation. - */ - -LOCAL(int) -arith_decode (j_decompress_ptr cinfo, unsigned char *st) -{ - extern const INT32 jaritab[]; - register arith_entropy_ptr e = (arith_entropy_ptr) cinfo->entropy; - register unsigned char nl, nm; - register INT32 qe, temp; - register int sv, data; - - /* Renormalization & data input per section D.2.6 */ - while (e->a < 0x8000L) { - if (--e->ct < 0) { - /* Need to fetch next data byte */ - if (cinfo->unread_marker) - data = 0; /* stuff zero data */ - else { - data = get_byte(cinfo); /* read next input byte */ - if (data == 0xFF) { /* zero stuff or marker code */ - do data = get_byte(cinfo); - while (data == 0xFF); /* swallow extra 0xFF bytes */ - if (data == 0) - data = 0xFF; /* discard stuffed zero byte */ - else { - /* Note: Different from the Huffman decoder, hitting - * a marker while processing the compressed data - * segment is legal in arithmetic coding. - * The convention is to supply zero data - * then until decoding is complete. - */ - cinfo->unread_marker = data; - data = 0; - } - } - } - e->c = (e->c << 8) | data; /* insert data into C register */ - if ((e->ct += 8) < 0) /* update bit shift counter */ - /* Need more initial bytes */ - if (++e->ct == 0) - /* Got 2 initial bytes -> re-init A and exit loop */ - e->a = 0x8000L; /* => e->a = 0x10000L after loop exit */ - } - e->a <<= 1; - } - - /* Fetch values from our compact representation of Table D.2: - * Qe values and probability estimation state machine - */ - sv = *st; - qe = jaritab[sv & 0x7F]; /* => Qe_Value */ - nl = qe & 0xFF; qe >>= 8; /* Next_Index_LPS + Switch_MPS */ - nm = qe & 0xFF; qe >>= 8; /* Next_Index_MPS */ - - /* Decode & estimation procedures per sections D.2.4 & D.2.5 */ - temp = e->a - qe; - e->a = temp; - temp <<= e->ct; - if (e->c >= temp) { - e->c -= temp; - /* Conditional LPS (less probable symbol) exchange */ - if (e->a < qe) { - e->a = qe; - *st = (sv & 0x80) ^ nm; /* Estimate_after_MPS */ - } else { - e->a = qe; - *st = (sv & 0x80) ^ nl; /* Estimate_after_LPS */ - sv ^= 0x80; /* Exchange LPS/MPS */ - } - } else if (e->a < 0x8000L) { - /* Conditional MPS (more probable symbol) exchange */ - if (e->a < qe) { - *st = (sv & 0x80) ^ nl; /* Estimate_after_LPS */ - sv ^= 0x80; /* Exchange LPS/MPS */ - } else { - *st = (sv & 0x80) ^ nm; /* Estimate_after_MPS */ - } - } - - return sv >> 7; -} - - -/* - * Check for a restart marker & resynchronize decoder. - */ - -LOCAL(void) -process_restart (j_decompress_ptr cinfo) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - int ci; - jpeg_component_info * compptr; - - /* Advance past the RSTn marker */ - if (! (*cinfo->marker->read_restart_marker) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Re-initialize statistics areas */ - if (cinfo->progressive_mode == 0 || (cinfo->Ss == 0 && cinfo->Ah == 0)) { - MEMZERO(entropy->dc_stats[compptr->dc_tbl_no], DC_STAT_BINS); - /* Reset DC predictions to 0 */ - entropy->last_dc_val[ci] = 0; - entropy->dc_context[ci] = 0; - } - if (cinfo->progressive_mode == 0 || cinfo->Ss) { - MEMZERO(entropy->ac_stats[compptr->ac_tbl_no], AC_STAT_BINS); - } - } - - /* Reset arithmetic decoding variables */ - entropy->c = 0; - entropy->a = 0; - entropy->ct = -16; /* force reading 2 initial bytes to fill C */ - - /* Reset restart counter */ - entropy->restarts_to_go = cinfo->restart_interval; -} - - -/* - * Arithmetic MCU decoding. - * Each of these routines decodes and returns one MCU's worth of - * arithmetic-compressed coefficients. - * The coefficients are reordered from zigzag order into natural array order, - * but are not dequantized. - * - * The i'th block of the MCU is stored into the block pointed to by - * MCU_data[i]. WE ASSUME THIS AREA IS INITIALLY ZEROED BY THE CALLER. - */ - -/* - * MCU decoding for DC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - unsigned char *st; - int blkn, ci, tbl, sign; - int v, m; - - /* Process restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - process_restart(cinfo); - entropy->restarts_to_go--; - } - - if (entropy->ct == -1) return TRUE; /* if error do nothing */ - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - tbl = cinfo->cur_comp_info[ci]->dc_tbl_no; - - /* Sections F.2.4.1 & F.1.4.4.1: Decoding of DC coefficients */ - - /* Table F.4: Point to statistics bin S0 for DC coefficient coding */ - st = entropy->dc_stats[tbl] + entropy->dc_context[ci]; - - /* Figure F.19: Decode_DC_DIFF */ - if (arith_decode(cinfo, st) == 0) - entropy->dc_context[ci] = 0; - else { - /* Figure F.21: Decoding nonzero value v */ - /* Figure F.22: Decoding the sign of v */ - sign = arith_decode(cinfo, st + 1); - st += 2; st += sign; - /* Figure F.23: Decoding the magnitude category of v */ - if ((m = arith_decode(cinfo, st)) != 0) { - st = entropy->dc_stats[tbl] + 20; /* Table F.4: X1 = 20 */ - while (arith_decode(cinfo, st)) { - if ((m <<= 1) == 0x8000) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* magnitude overflow */ - return TRUE; - } - st += 1; - } - } - /* Section F.1.4.4.1.2: Establish dc_context conditioning category */ - if (m < (int) (((INT32) 1 << cinfo->arith_dc_L[tbl]) >> 1)) - entropy->dc_context[ci] = 0; /* zero diff category */ - else if (m > (int) (((INT32) 1 << cinfo->arith_dc_U[tbl]) >> 1)) - entropy->dc_context[ci] = 12 + (sign * 4); /* large diff category */ - else - entropy->dc_context[ci] = 4 + (sign * 4); /* small diff category */ - v = m; - /* Figure F.24: Decoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - if (arith_decode(cinfo, st)) v |= m; - v += 1; if (sign) v = -v; - entropy->last_dc_val[ci] += v; - } - - /* Scale and output the DC coefficient (assumes jpeg_natural_order[0]=0) */ - (*block)[0] = (JCOEF) (entropy->last_dc_val[ci] << cinfo->Al); - } - - return TRUE; -} - - -/* - * MCU decoding for AC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - unsigned char *st; - int tbl, sign, k; - int v, m; - - /* Process restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - process_restart(cinfo); - entropy->restarts_to_go--; - } - - if (entropy->ct == -1) return TRUE; /* if error do nothing */ - - /* There is always only one block per MCU */ - block = MCU_data[0]; - tbl = cinfo->cur_comp_info[0]->ac_tbl_no; - - /* Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients */ - - /* Figure F.20: Decode_AC_coefficients */ - for (k = cinfo->Ss; k <= cinfo->Se; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - if (arith_decode(cinfo, st)) break; /* EOB flag */ - while (arith_decode(cinfo, st + 1) == 0) { - st += 3; k++; - if (k > cinfo->Se) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* spectral overflow */ - return TRUE; - } - } - /* Figure F.21: Decoding nonzero value v */ - /* Figure F.22: Decoding the sign of v */ - entropy->ac_stats[tbl][245] = 0; - sign = arith_decode(cinfo, entropy->ac_stats[tbl] + 245); - st += 2; - /* Figure F.23: Decoding the magnitude category of v */ - if ((m = arith_decode(cinfo, st)) != 0) { - if (arith_decode(cinfo, st)) { - m <<= 1; - st = entropy->ac_stats[tbl] + - (k <= cinfo->arith_ac_K[tbl] ? 189 : 217); - while (arith_decode(cinfo, st)) { - if ((m <<= 1) == 0x8000) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* magnitude overflow */ - return TRUE; - } - st += 1; - } - } - } - v = m; - /* Figure F.24: Decoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - if (arith_decode(cinfo, st)) v |= m; - v += 1; if (sign) v = -v; - /* Scale and output coefficient in natural (dezigzagged) order */ - (*block)[jpeg_natural_order[k]] = (JCOEF) (v << cinfo->Al); - } - - return TRUE; -} - - -/* - * MCU decoding for DC successive approximation refinement scan. - */ - -METHODDEF(boolean) -decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - unsigned char st[4]; - int p1, blkn; - - /* Process restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - process_restart(cinfo); - entropy->restarts_to_go--; - } - - p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - st[0] = 0; /* use fixed probability estimation */ - /* Encoded data is simply the next bit of the two's-complement DC value */ - if (arith_decode(cinfo, st)) - MCU_data[blkn][0][0] |= p1; - } - - return TRUE; -} - - -/* - * MCU decoding for AC successive approximation refinement scan. - */ - -METHODDEF(boolean) -decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - JBLOCKROW block; - JCOEFPTR thiscoef; - unsigned char *st; - int tbl, k, kex; - int p1, m1; - - /* Process restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - process_restart(cinfo); - entropy->restarts_to_go--; - } - - if (entropy->ct == -1) return TRUE; /* if error do nothing */ - - /* There is always only one block per MCU */ - block = MCU_data[0]; - tbl = cinfo->cur_comp_info[0]->ac_tbl_no; - - p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ - m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ - - /* Establish EOBx (previous stage end-of-block) index */ - for (kex = cinfo->Se + 1; kex > 1; kex--) - if ((*block)[jpeg_natural_order[kex - 1]]) break; - - for (k = cinfo->Ss; k <= cinfo->Se; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - if (k >= kex) - if (arith_decode(cinfo, st)) break; /* EOB flag */ - for (;;) { - thiscoef = *block + jpeg_natural_order[k]; - if (*thiscoef) { /* previously nonzero coef */ - if (arith_decode(cinfo, st + 2)) { - if (*thiscoef < 0) - *thiscoef += m1; - else - *thiscoef += p1; - } - break; - } - if (arith_decode(cinfo, st + 1)) { /* newly nonzero coef */ - entropy->ac_stats[tbl][245] = 0; - if (arith_decode(cinfo, entropy->ac_stats[tbl] + 245)) - *thiscoef = m1; - else - *thiscoef = p1; - break; - } - st += 3; k++; - if (k > cinfo->Se) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* spectral overflow */ - return TRUE; - } - } - } - - return TRUE; -} - - -/* - * Decode one MCU's worth of arithmetic-compressed coefficients. - */ - -METHODDEF(boolean) -decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - jpeg_component_info * compptr; - JBLOCKROW block; - unsigned char *st; - int blkn, ci, tbl, sign, k; - int v, m; - - /* Process restart marker if needed */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - process_restart(cinfo); - entropy->restarts_to_go--; - } - - if (entropy->ct == -1) return TRUE; /* if error do nothing */ - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - - /* Sections F.2.4.1 & F.1.4.4.1: Decoding of DC coefficients */ - - tbl = compptr->dc_tbl_no; - - /* Table F.4: Point to statistics bin S0 for DC coefficient coding */ - st = entropy->dc_stats[tbl] + entropy->dc_context[ci]; - - /* Figure F.19: Decode_DC_DIFF */ - if (arith_decode(cinfo, st) == 0) - entropy->dc_context[ci] = 0; - else { - /* Figure F.21: Decoding nonzero value v */ - /* Figure F.22: Decoding the sign of v */ - sign = arith_decode(cinfo, st + 1); - st += 2; st += sign; - /* Figure F.23: Decoding the magnitude category of v */ - if ((m = arith_decode(cinfo, st)) != 0) { - st = entropy->dc_stats[tbl] + 20; /* Table F.4: X1 = 20 */ - while (arith_decode(cinfo, st)) { - if ((m <<= 1) == 0x8000) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* magnitude overflow */ - return TRUE; - } - st += 1; - } - } - /* Section F.1.4.4.1.2: Establish dc_context conditioning category */ - if (m < (int) (((INT32) 1 << cinfo->arith_dc_L[tbl]) >> 1)) - entropy->dc_context[ci] = 0; /* zero diff category */ - else if (m > (int) (((INT32) 1 << cinfo->arith_dc_U[tbl]) >> 1)) - entropy->dc_context[ci] = 12 + (sign * 4); /* large diff category */ - else - entropy->dc_context[ci] = 4 + (sign * 4); /* small diff category */ - v = m; - /* Figure F.24: Decoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - if (arith_decode(cinfo, st)) v |= m; - v += 1; if (sign) v = -v; - entropy->last_dc_val[ci] += v; - } - - (*block)[0] = (JCOEF) entropy->last_dc_val[ci]; - - /* Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients */ - - tbl = compptr->ac_tbl_no; - - /* Figure F.20: Decode_AC_coefficients */ - for (k = 1; k < DCTSIZE2; k++) { - st = entropy->ac_stats[tbl] + 3 * (k - 1); - if (arith_decode(cinfo, st)) break; /* EOB flag */ - while (arith_decode(cinfo, st + 1) == 0) { - st += 3; k++; - if (k >= DCTSIZE2) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* spectral overflow */ - return TRUE; - } - } - /* Figure F.21: Decoding nonzero value v */ - /* Figure F.22: Decoding the sign of v */ - entropy->ac_stats[tbl][245] = 0; - sign = arith_decode(cinfo, entropy->ac_stats[tbl] + 245); - st += 2; - /* Figure F.23: Decoding the magnitude category of v */ - if ((m = arith_decode(cinfo, st)) != 0) { - if (arith_decode(cinfo, st)) { - m <<= 1; - st = entropy->ac_stats[tbl] + - (k <= cinfo->arith_ac_K[tbl] ? 189 : 217); - while (arith_decode(cinfo, st)) { - if ((m <<= 1) == 0x8000) { - WARNMS(cinfo, JWRN_ARITH_BAD_CODE); - entropy->ct = -1; /* magnitude overflow */ - return TRUE; - } - st += 1; - } - } - } - v = m; - /* Figure F.24: Decoding the magnitude bit pattern of v */ - st += 14; - while (m >>= 1) - if (arith_decode(cinfo, st)) v |= m; - v += 1; if (sign) v = -v; - (*block)[jpeg_natural_order[k]] = (JCOEF) v; - } - } - - return TRUE; -} - - -/* - * Initialize for an arithmetic-compressed scan. - */ - -METHODDEF(void) -start_pass (j_decompress_ptr cinfo) -{ - arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; - int ci, tbl; - jpeg_component_info * compptr; - - if (cinfo->progressive_mode) { - /* Validate progressive scan parameters */ - if (cinfo->Ss == 0) { - if (cinfo->Se != 0) - goto bad; - } else { - /* need not check Ss/Se < 0 since they came from unsigned bytes */ - if (cinfo->Se < cinfo->Ss || cinfo->Se >= DCTSIZE2) - goto bad; - /* AC scans may have only one component */ - if (cinfo->comps_in_scan != 1) - goto bad; - } - if (cinfo->Ah != 0) { - /* Successive approximation refinement scan: must have Al = Ah-1. */ - if (cinfo->Ah-1 != cinfo->Al) - goto bad; - } - if (cinfo->Al > 13) { /* need not check for < 0 */ - bad: - ERREXIT4(cinfo, JERR_BAD_PROGRESSION, - cinfo->Ss, cinfo->Se, cinfo->Ah, cinfo->Al); - } - /* Update progression status, and verify that scan order is legal. - * Note that inter-scan inconsistencies are treated as warnings - * not fatal errors ... not clear if this is right way to behave. - */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - int coefi, cindex = cinfo->cur_comp_info[ci]->component_index; - int *coef_bit_ptr = & cinfo->coef_bits[cindex][0]; - if (cinfo->Ss && coef_bit_ptr[0] < 0) /* AC without prior DC scan */ - WARNMS2(cinfo, JWRN_BOGUS_PROGRESSION, cindex, 0); - for (coefi = cinfo->Ss; coefi <= cinfo->Se; coefi++) { - int expected = (coef_bit_ptr[coefi] < 0) ? 0 : coef_bit_ptr[coefi]; - if (cinfo->Ah != expected) - WARNMS2(cinfo, JWRN_BOGUS_PROGRESSION, cindex, coefi); - coef_bit_ptr[coefi] = cinfo->Al; - } - } - /* Select MCU decoding routine */ - if (cinfo->Ah == 0) { - if (cinfo->Ss == 0) - entropy->pub.decode_mcu = decode_mcu_DC_first; - else - entropy->pub.decode_mcu = decode_mcu_AC_first; - } else { - if (cinfo->Ss == 0) - entropy->pub.decode_mcu = decode_mcu_DC_refine; - else - entropy->pub.decode_mcu = decode_mcu_AC_refine; - } - } else { - /* Check that the scan parameters Ss, Se, Ah/Al are OK for sequential JPEG. - * This ought to be an error condition, but we make it a warning because - * there are some baseline files out there with all zeroes in these bytes. - */ - if (cinfo->Ss != 0 || cinfo->Se != DCTSIZE2-1 || - cinfo->Ah != 0 || cinfo->Al != 0) - WARNMS(cinfo, JWRN_NOT_SEQUENTIAL); - /* Select MCU decoding routine */ - entropy->pub.decode_mcu = decode_mcu; - } - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Allocate & initialize requested statistics areas */ - if (cinfo->progressive_mode == 0 || (cinfo->Ss == 0 && cinfo->Ah == 0)) { - tbl = compptr->dc_tbl_no; - if (tbl < 0 || tbl >= NUM_ARITH_TBLS) - ERREXIT1(cinfo, JERR_NO_ARITH_TABLE, tbl); - if (entropy->dc_stats[tbl] == NULL) - entropy->dc_stats[tbl] = (unsigned char *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, DC_STAT_BINS); - MEMZERO(entropy->dc_stats[tbl], DC_STAT_BINS); - /* Initialize DC predictions to 0 */ - entropy->last_dc_val[ci] = 0; - entropy->dc_context[ci] = 0; - } - if (cinfo->progressive_mode == 0 || cinfo->Ss) { - tbl = compptr->ac_tbl_no; - if (tbl < 0 || tbl >= NUM_ARITH_TBLS) - ERREXIT1(cinfo, JERR_NO_ARITH_TABLE, tbl); - if (entropy->ac_stats[tbl] == NULL) - entropy->ac_stats[tbl] = (unsigned char *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, AC_STAT_BINS); - MEMZERO(entropy->ac_stats[tbl], AC_STAT_BINS); - } - } - - /* Initialize arithmetic decoding variables */ - entropy->c = 0; - entropy->a = 0; - entropy->ct = -16; /* force reading 2 initial bytes to fill C */ - - /* Initialize restart counter */ - entropy->restarts_to_go = cinfo->restart_interval; -} - - -/* - * Module initialization routine for arithmetic entropy decoding. - */ - -GLOBAL(void) -jinit_arith_decoder (j_decompress_ptr cinfo) -{ - arith_entropy_ptr entropy; - int i; - - entropy = (arith_entropy_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(arith_entropy_decoder)); - cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; - entropy->pub.start_pass = start_pass; - - /* Mark tables unallocated */ - for (i = 0; i < NUM_ARITH_TBLS; i++) { - entropy->dc_stats[i] = NULL; - entropy->ac_stats[i] = NULL; - } - - if (cinfo->progressive_mode) { - /* Create progression status table */ - int *coef_bit_ptr, ci; - cinfo->coef_bits = (int (*)[DCTSIZE2]) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->num_components*DCTSIZE2*SIZEOF(int)); - coef_bit_ptr = & cinfo->coef_bits[0][0]; - for (ci = 0; ci < cinfo->num_components; ci++) - for (i = 0; i < DCTSIZE2; i++) - *coef_bit_ptr++ = -1; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdatadst.c b/3rdparty/openctm/tools/jpeg/jdatadst.c deleted file mode 100644 index 2ece4e95d..000000000 --- a/3rdparty/openctm/tools/jpeg/jdatadst.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * jdatadst.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains compression data destination routines for the case of - * emitting JPEG data to a file (or any stdio stream). While these routines - * are sufficient for most applications, some will want to use a different - * destination manager. - * IMPORTANT: we assume that fwrite() will correctly transcribe an array of - * JOCTETs into 8-bit-wide elements on external storage. If char is wider - * than 8 bits on your machine, you may need to do some tweaking. - */ - -/* this is not a core library module, so it doesn't define JPEG_INTERNALS */ -#include "jinclude.h" -#include "jpeglib.h" -#include "jerror.h" - - -/* Expanded data destination object for stdio output */ - -typedef struct { - struct jpeg_destination_mgr pub; /* public fields */ - - FILE * outfile; /* target stream */ - JOCTET * buffer; /* start of buffer */ -} my_destination_mgr; - -typedef my_destination_mgr * my_dest_ptr; - -#define OUTPUT_BUF_SIZE 4096 /* choose an efficiently fwrite'able size */ - - -/* - * Initialize destination --- called by jpeg_start_compress - * before any data is actually written. - */ - -METHODDEF(void) -init_destination (j_compress_ptr cinfo) -{ - my_dest_ptr dest = (my_dest_ptr) cinfo->dest; - - /* Allocate the output buffer --- it will be released when done with image */ - dest->buffer = (JOCTET *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - OUTPUT_BUF_SIZE * SIZEOF(JOCTET)); - - dest->pub.next_output_byte = dest->buffer; - dest->pub.free_in_buffer = OUTPUT_BUF_SIZE; -} - - -/* - * Empty the output buffer --- called whenever buffer fills up. - * - * In typical applications, this should write the entire output buffer - * (ignoring the current state of next_output_byte & free_in_buffer), - * reset the pointer & count to the start of the buffer, and return TRUE - * indicating that the buffer has been dumped. - * - * In applications that need to be able to suspend compression due to output - * overrun, a FALSE return indicates that the buffer cannot be emptied now. - * In this situation, the compressor will return to its caller (possibly with - * an indication that it has not accepted all the supplied scanlines). The - * application should resume compression after it has made more room in the - * output buffer. Note that there are substantial restrictions on the use of - * suspension --- see the documentation. - * - * When suspending, the compressor will back up to a convenient restart point - * (typically the start of the current MCU). next_output_byte & free_in_buffer - * indicate where the restart point will be if the current call returns FALSE. - * Data beyond this point will be regenerated after resumption, so do not - * write it out when emptying the buffer externally. - */ - -METHODDEF(boolean) -empty_output_buffer (j_compress_ptr cinfo) -{ - my_dest_ptr dest = (my_dest_ptr) cinfo->dest; - - if (JFWRITE(dest->outfile, dest->buffer, OUTPUT_BUF_SIZE) != - (size_t) OUTPUT_BUF_SIZE) - ERREXIT(cinfo, JERR_FILE_WRITE); - - dest->pub.next_output_byte = dest->buffer; - dest->pub.free_in_buffer = OUTPUT_BUF_SIZE; - - return TRUE; -} - - -/* - * Terminate destination --- called by jpeg_finish_compress - * after all data has been written. Usually needs to flush buffer. - * - * NB: *not* called by jpeg_abort or jpeg_destroy; surrounding - * application must deal with any cleanup that should happen even - * for error exit. - */ - -METHODDEF(void) -term_destination (j_compress_ptr cinfo) -{ - my_dest_ptr dest = (my_dest_ptr) cinfo->dest; - size_t datacount = OUTPUT_BUF_SIZE - dest->pub.free_in_buffer; - - /* Write any data remaining in the buffer */ - if (datacount > 0) { - if (JFWRITE(dest->outfile, dest->buffer, datacount) != datacount) - ERREXIT(cinfo, JERR_FILE_WRITE); - } - fflush(dest->outfile); - /* Make sure we wrote the output file OK */ - if (ferror(dest->outfile)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * Prepare for output to a stdio stream. - * The caller must have already opened the stream, and is responsible - * for closing it after finishing compression. - */ - -GLOBAL(void) -jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile) -{ - my_dest_ptr dest; - - /* The destination object is made permanent so that multiple JPEG images - * can be written to the same file without re-executing jpeg_stdio_dest. - * This makes it dangerous to use this manager and a different destination - * manager serially with the same JPEG object, because their private object - * sizes may be different. Caveat programmer. - */ - if (cinfo->dest == NULL) { /* first time for this JPEG object? */ - cinfo->dest = (struct jpeg_destination_mgr *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - SIZEOF(my_destination_mgr)); - } - - dest = (my_dest_ptr) cinfo->dest; - dest->pub.init_destination = init_destination; - dest->pub.empty_output_buffer = empty_output_buffer; - dest->pub.term_destination = term_destination; - dest->outfile = outfile; -} diff --git a/3rdparty/openctm/tools/jpeg/jdatasrc.c b/3rdparty/openctm/tools/jpeg/jdatasrc.c deleted file mode 100644 index 29b698328..000000000 --- a/3rdparty/openctm/tools/jpeg/jdatasrc.c +++ /dev/null @@ -1,212 +0,0 @@ -/* - * jdatasrc.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains decompression data source routines for the case of - * reading JPEG data from a file (or any stdio stream). While these routines - * are sufficient for most applications, some will want to use a different - * source manager. - * IMPORTANT: we assume that fread() will correctly transcribe an array of - * JOCTETs from 8-bit-wide elements on external storage. If char is wider - * than 8 bits on your machine, you may need to do some tweaking. - */ - -/* this is not a core library module, so it doesn't define JPEG_INTERNALS */ -#include "jinclude.h" -#include "jpeglib.h" -#include "jerror.h" - - -/* Expanded data source object for stdio input */ - -typedef struct { - struct jpeg_source_mgr pub; /* public fields */ - - FILE * infile; /* source stream */ - JOCTET * buffer; /* start of buffer */ - boolean start_of_file; /* have we gotten any data yet? */ -} my_source_mgr; - -typedef my_source_mgr * my_src_ptr; - -#define INPUT_BUF_SIZE 4096 /* choose an efficiently fread'able size */ - - -/* - * Initialize source --- called by jpeg_read_header - * before any data is actually read. - */ - -METHODDEF(void) -init_source (j_decompress_ptr cinfo) -{ - my_src_ptr src = (my_src_ptr) cinfo->src; - - /* We reset the empty-input-file flag for each image, - * but we don't clear the input buffer. - * This is correct behavior for reading a series of images from one source. - */ - src->start_of_file = TRUE; -} - - -/* - * Fill the input buffer --- called whenever buffer is emptied. - * - * In typical applications, this should read fresh data into the buffer - * (ignoring the current state of next_input_byte & bytes_in_buffer), - * reset the pointer & count to the start of the buffer, and return TRUE - * indicating that the buffer has been reloaded. It is not necessary to - * fill the buffer entirely, only to obtain at least one more byte. - * - * There is no such thing as an EOF return. If the end of the file has been - * reached, the routine has a choice of ERREXIT() or inserting fake data into - * the buffer. In most cases, generating a warning message and inserting a - * fake EOI marker is the best course of action --- this will allow the - * decompressor to output however much of the image is there. However, - * the resulting error message is misleading if the real problem is an empty - * input file, so we handle that case specially. - * - * In applications that need to be able to suspend compression due to input - * not being available yet, a FALSE return indicates that no more data can be - * obtained right now, but more may be forthcoming later. In this situation, - * the decompressor will return to its caller (with an indication of the - * number of scanlines it has read, if any). The application should resume - * decompression after it has loaded more data into the input buffer. Note - * that there are substantial restrictions on the use of suspension --- see - * the documentation. - * - * When suspending, the decompressor will back up to a convenient restart point - * (typically the start of the current MCU). next_input_byte & bytes_in_buffer - * indicate where the restart point will be if the current call returns FALSE. - * Data beyond this point must be rescanned after resumption, so move it to - * the front of the buffer rather than discarding it. - */ - -METHODDEF(boolean) -fill_input_buffer (j_decompress_ptr cinfo) -{ - my_src_ptr src = (my_src_ptr) cinfo->src; - size_t nbytes; - - nbytes = JFREAD(src->infile, src->buffer, INPUT_BUF_SIZE); - - if (nbytes <= 0) { - if (src->start_of_file) /* Treat empty input file as fatal error */ - ERREXIT(cinfo, JERR_INPUT_EMPTY); - WARNMS(cinfo, JWRN_JPEG_EOF); - /* Insert a fake EOI marker */ - src->buffer[0] = (JOCTET) 0xFF; - src->buffer[1] = (JOCTET) JPEG_EOI; - nbytes = 2; - } - - src->pub.next_input_byte = src->buffer; - src->pub.bytes_in_buffer = nbytes; - src->start_of_file = FALSE; - - return TRUE; -} - - -/* - * Skip data --- used to skip over a potentially large amount of - * uninteresting data (such as an APPn marker). - * - * Writers of suspendable-input applications must note that skip_input_data - * is not granted the right to give a suspension return. If the skip extends - * beyond the data currently in the buffer, the buffer can be marked empty so - * that the next read will cause a fill_input_buffer call that can suspend. - * Arranging for additional bytes to be discarded before reloading the input - * buffer is the application writer's problem. - */ - -METHODDEF(void) -skip_input_data (j_decompress_ptr cinfo, long num_bytes) -{ - my_src_ptr src = (my_src_ptr) cinfo->src; - - /* Just a dumb implementation for now. Could use fseek() except - * it doesn't work on pipes. Not clear that being smart is worth - * any trouble anyway --- large skips are infrequent. - */ - if (num_bytes > 0) { - while (num_bytes > (long) src->pub.bytes_in_buffer) { - num_bytes -= (long) src->pub.bytes_in_buffer; - (void) fill_input_buffer(cinfo); - /* note we assume that fill_input_buffer will never return FALSE, - * so suspension need not be handled. - */ - } - src->pub.next_input_byte += (size_t) num_bytes; - src->pub.bytes_in_buffer -= (size_t) num_bytes; - } -} - - -/* - * An additional method that can be provided by data source modules is the - * resync_to_restart method for error recovery in the presence of RST markers. - * For the moment, this source module just uses the default resync method - * provided by the JPEG library. That method assumes that no backtracking - * is possible. - */ - - -/* - * Terminate source --- called by jpeg_finish_decompress - * after all data has been read. Often a no-op. - * - * NB: *not* called by jpeg_abort or jpeg_destroy; surrounding - * application must deal with any cleanup that should happen even - * for error exit. - */ - -METHODDEF(void) -term_source (j_decompress_ptr cinfo) -{ - /* no work necessary here */ -} - - -/* - * Prepare for input from a stdio stream. - * The caller must have already opened the stream, and is responsible - * for closing it after finishing decompression. - */ - -GLOBAL(void) -jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile) -{ - my_src_ptr src; - - /* The source object and input buffer are made permanent so that a series - * of JPEG images can be read from the same file by calling jpeg_stdio_src - * only before the first one. (If we discarded the buffer at the end of - * one image, we'd likely lose the start of the next one.) - * This makes it unsafe to use this manager and a different source - * manager serially with the same JPEG object. Caveat programmer. - */ - if (cinfo->src == NULL) { /* first time for this JPEG object? */ - cinfo->src = (struct jpeg_source_mgr *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - SIZEOF(my_source_mgr)); - src = (my_src_ptr) cinfo->src; - src->buffer = (JOCTET *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - INPUT_BUF_SIZE * SIZEOF(JOCTET)); - } - - src = (my_src_ptr) cinfo->src; - src->pub.init_source = init_source; - src->pub.fill_input_buffer = fill_input_buffer; - src->pub.skip_input_data = skip_input_data; - src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ - src->pub.term_source = term_source; - src->infile = infile; - src->pub.bytes_in_buffer = 0; /* forces fill_input_buffer on first read */ - src->pub.next_input_byte = NULL; /* until buffer loaded */ -} diff --git a/3rdparty/openctm/tools/jpeg/jdcoefct.c b/3rdparty/openctm/tools/jpeg/jdcoefct.c deleted file mode 100644 index 8c81f8f3a..000000000 --- a/3rdparty/openctm/tools/jpeg/jdcoefct.c +++ /dev/null @@ -1,736 +0,0 @@ -/* - * jdcoefct.c - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the coefficient buffer controller for decompression. - * This controller is the top level of the JPEG decompressor proper. - * The coefficient buffer lies between entropy decoding and inverse-DCT steps. - * - * In buffered-image mode, this controller is the interface between - * input-oriented processing and output-oriented processing. - * Also, the input side (only) is used when reading a file for transcoding. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - -/* Block smoothing is only applicable for progressive JPEG, so: */ -#ifndef D_PROGRESSIVE_SUPPORTED -#undef BLOCK_SMOOTHING_SUPPORTED -#endif - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_d_coef_controller pub; /* public fields */ - - /* These variables keep track of the current location of the input side. */ - /* cinfo->input_iMCU_row is also used for this. */ - JDIMENSION MCU_ctr; /* counts MCUs processed in current row */ - int MCU_vert_offset; /* counts MCU rows within iMCU row */ - int MCU_rows_per_iMCU_row; /* number of such rows needed */ - - /* The output side's location is represented by cinfo->output_iMCU_row. */ - - /* In single-pass modes, it's sufficient to buffer just one MCU. - * We allocate a workspace of D_MAX_BLOCKS_IN_MCU coefficient blocks, - * and let the entropy decoder write into that workspace each time. - * (On 80x86, the workspace is FAR even though it's not really very big; - * this is to keep the module interfaces unchanged when a large coefficient - * buffer is necessary.) - * In multi-pass modes, this array points to the current MCU's blocks - * within the virtual arrays; it is used only by the input side. - */ - JBLOCKROW MCU_buffer[D_MAX_BLOCKS_IN_MCU]; - -#ifdef D_MULTISCAN_FILES_SUPPORTED - /* In multi-pass modes, we need a virtual block array for each component. */ - jvirt_barray_ptr whole_image[MAX_COMPONENTS]; -#endif - -#ifdef BLOCK_SMOOTHING_SUPPORTED - /* When doing block smoothing, we latch coefficient Al values here */ - int * coef_bits_latch; -#define SAVED_COEFS 6 /* we save coef_bits[0..5] */ -#endif -} my_coef_controller; - -typedef my_coef_controller * my_coef_ptr; - -/* Forward declarations */ -METHODDEF(int) decompress_onepass - JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf)); -#ifdef D_MULTISCAN_FILES_SUPPORTED -METHODDEF(int) decompress_data - JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf)); -#endif -#ifdef BLOCK_SMOOTHING_SUPPORTED -LOCAL(boolean) smoothing_ok JPP((j_decompress_ptr cinfo)); -METHODDEF(int) decompress_smooth_data - JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf)); -#endif - - -LOCAL(void) -start_iMCU_row (j_decompress_ptr cinfo) -/* Reset within-iMCU-row counters for a new row (input side) */ -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - /* In an interleaved scan, an MCU row is the same as an iMCU row. - * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. - * But at the bottom of the image, process only what's left. - */ - if (cinfo->comps_in_scan > 1) { - coef->MCU_rows_per_iMCU_row = 1; - } else { - if (cinfo->input_iMCU_row < (cinfo->total_iMCU_rows-1)) - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->v_samp_factor; - else - coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->last_row_height; - } - - coef->MCU_ctr = 0; - coef->MCU_vert_offset = 0; -} - - -/* - * Initialize for an input processing pass. - */ - -METHODDEF(void) -start_input_pass (j_decompress_ptr cinfo) -{ - cinfo->input_iMCU_row = 0; - start_iMCU_row(cinfo); -} - - -/* - * Initialize for an output processing pass. - */ - -METHODDEF(void) -start_output_pass (j_decompress_ptr cinfo) -{ -#ifdef BLOCK_SMOOTHING_SUPPORTED - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - - /* If multipass, check to see whether to use block smoothing on this pass */ - if (coef->pub.coef_arrays != NULL) { - if (cinfo->do_block_smoothing && smoothing_ok(cinfo)) - coef->pub.decompress_data = decompress_smooth_data; - else - coef->pub.decompress_data = decompress_data; - } -#endif - cinfo->output_iMCU_row = 0; -} - - -/* - * Decompress and return some data in the single-pass case. - * Always attempts to emit one fully interleaved MCU row ("iMCU" row). - * Input and output must run in lockstep since we have only a one-MCU buffer. - * Return value is JPEG_ROW_COMPLETED, JPEG_SCAN_COMPLETED, or JPEG_SUSPENDED. - * - * NB: output_buf contains a plane for each component in image, - * which we index according to the component's SOF position. - */ - -METHODDEF(int) -decompress_onepass (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION MCU_col_num; /* index of current MCU within row */ - JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - int blkn, ci, xindex, yindex, yoffset, useful_width; - JSAMPARRAY output_ptr; - JDIMENSION start_col, output_col; - jpeg_component_info *compptr; - inverse_DCT_method_ptr inverse_DCT; - - /* Loop to process as much as one whole iMCU row */ - for (yoffset = coef->MCU_vert_offset; yoffset < coef->MCU_rows_per_iMCU_row; - yoffset++) { - for (MCU_col_num = coef->MCU_ctr; MCU_col_num <= last_MCU_col; - MCU_col_num++) { - /* Try to fetch an MCU. Entropy decoder expects buffer to be zeroed. */ - jzero_far((void FAR *) coef->MCU_buffer[0], - (size_t) (cinfo->blocks_in_MCU * SIZEOF(JBLOCK))); - if (! (*cinfo->entropy->decode_mcu) (cinfo, coef->MCU_buffer)) { - /* Suspension forced; update state counters and exit */ - coef->MCU_vert_offset = yoffset; - coef->MCU_ctr = MCU_col_num; - return JPEG_SUSPENDED; - } - /* Determine where data should go in output_buf and do the IDCT thing. - * We skip dummy blocks at the right and bottom edges (but blkn gets - * incremented past them!). Note the inner loop relies on having - * allocated the MCU_buffer[] blocks sequentially. - */ - blkn = 0; /* index of current DCT block within MCU */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Don't bother to IDCT an uninteresting component. */ - if (! compptr->component_needed) { - blkn += compptr->MCU_blocks; - continue; - } - inverse_DCT = cinfo->idct->inverse_DCT[compptr->component_index]; - useful_width = (MCU_col_num < last_MCU_col) ? compptr->MCU_width - : compptr->last_col_width; - output_ptr = output_buf[compptr->component_index] + - yoffset * compptr->DCT_v_scaled_size; - start_col = MCU_col_num * compptr->MCU_sample_width; - for (yindex = 0; yindex < compptr->MCU_height; yindex++) { - if (cinfo->input_iMCU_row < last_iMCU_row || - yoffset+yindex < compptr->last_row_height) { - output_col = start_col; - for (xindex = 0; xindex < useful_width; xindex++) { - (*inverse_DCT) (cinfo, compptr, - (JCOEFPTR) coef->MCU_buffer[blkn+xindex], - output_ptr, output_col); - output_col += compptr->DCT_h_scaled_size; - } - } - blkn += compptr->MCU_width; - output_ptr += compptr->DCT_v_scaled_size; - } - } - } - /* Completed an MCU row, but perhaps not an iMCU row */ - coef->MCU_ctr = 0; - } - /* Completed the iMCU row, advance counters for next one */ - cinfo->output_iMCU_row++; - if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { - start_iMCU_row(cinfo); - return JPEG_ROW_COMPLETED; - } - /* Completed the scan */ - (*cinfo->inputctl->finish_input_pass) (cinfo); - return JPEG_SCAN_COMPLETED; -} - - -/* - * Dummy consume-input routine for single-pass operation. - */ - -METHODDEF(int) -dummy_consume_data (j_decompress_ptr cinfo) -{ - return JPEG_SUSPENDED; /* Always indicate nothing was done */ -} - - -#ifdef D_MULTISCAN_FILES_SUPPORTED - -/* - * Consume input data and store it in the full-image coefficient buffer. - * We read as much as one fully interleaved MCU row ("iMCU" row) per call, - * ie, v_samp_factor block rows for each component in the scan. - * Return value is JPEG_ROW_COMPLETED, JPEG_SCAN_COMPLETED, or JPEG_SUSPENDED. - */ - -METHODDEF(int) -consume_data (j_decompress_ptr cinfo) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION MCU_col_num; /* index of current MCU within row */ - int blkn, ci, xindex, yindex, yoffset; - JDIMENSION start_col; - JBLOCKARRAY buffer[MAX_COMPS_IN_SCAN]; - JBLOCKROW buffer_ptr; - jpeg_component_info *compptr; - - /* Align the virtual buffers for the components used in this scan. */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - buffer[ci] = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[compptr->component_index], - cinfo->input_iMCU_row * compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, TRUE); - /* Note: entropy decoder expects buffer to be zeroed, - * but this is handled automatically by the memory manager - * because we requested a pre-zeroed array. - */ - } - - /* Loop to process one whole iMCU row */ - for (yoffset = coef->MCU_vert_offset; yoffset < coef->MCU_rows_per_iMCU_row; - yoffset++) { - for (MCU_col_num = coef->MCU_ctr; MCU_col_num < cinfo->MCUs_per_row; - MCU_col_num++) { - /* Construct list of pointers to DCT blocks belonging to this MCU */ - blkn = 0; /* index of current DCT block within MCU */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - start_col = MCU_col_num * compptr->MCU_width; - for (yindex = 0; yindex < compptr->MCU_height; yindex++) { - buffer_ptr = buffer[ci][yindex+yoffset] + start_col; - for (xindex = 0; xindex < compptr->MCU_width; xindex++) { - coef->MCU_buffer[blkn++] = buffer_ptr++; - } - } - } - /* Try to fetch the MCU. */ - if (! (*cinfo->entropy->decode_mcu) (cinfo, coef->MCU_buffer)) { - /* Suspension forced; update state counters and exit */ - coef->MCU_vert_offset = yoffset; - coef->MCU_ctr = MCU_col_num; - return JPEG_SUSPENDED; - } - } - /* Completed an MCU row, but perhaps not an iMCU row */ - coef->MCU_ctr = 0; - } - /* Completed the iMCU row, advance counters for next one */ - if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { - start_iMCU_row(cinfo); - return JPEG_ROW_COMPLETED; - } - /* Completed the scan */ - (*cinfo->inputctl->finish_input_pass) (cinfo); - return JPEG_SCAN_COMPLETED; -} - - -/* - * Decompress and return some data in the multi-pass case. - * Always attempts to emit one fully interleaved MCU row ("iMCU" row). - * Return value is JPEG_ROW_COMPLETED, JPEG_SCAN_COMPLETED, or JPEG_SUSPENDED. - * - * NB: output_buf contains a plane for each component in image. - */ - -METHODDEF(int) -decompress_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - JDIMENSION block_num; - int ci, block_row, block_rows; - JBLOCKARRAY buffer; - JBLOCKROW buffer_ptr; - JSAMPARRAY output_ptr; - JDIMENSION output_col; - jpeg_component_info *compptr; - inverse_DCT_method_ptr inverse_DCT; - - /* Force some input to be done if we are getting ahead of the input. */ - while (cinfo->input_scan_number < cinfo->output_scan_number || - (cinfo->input_scan_number == cinfo->output_scan_number && - cinfo->input_iMCU_row <= cinfo->output_iMCU_row)) { - if ((*cinfo->inputctl->consume_input)(cinfo) == JPEG_SUSPENDED) - return JPEG_SUSPENDED; - } - - /* OK, output from the virtual arrays. */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Don't bother to IDCT an uninteresting component. */ - if (! compptr->component_needed) - continue; - /* Align the virtual buffer for this component. */ - buffer = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[ci], - cinfo->output_iMCU_row * compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, FALSE); - /* Count non-dummy DCT block rows in this iMCU row. */ - if (cinfo->output_iMCU_row < last_iMCU_row) - block_rows = compptr->v_samp_factor; - else { - /* NB: can't use last_row_height here; it is input-side-dependent! */ - block_rows = (int) (compptr->height_in_blocks % compptr->v_samp_factor); - if (block_rows == 0) block_rows = compptr->v_samp_factor; - } - inverse_DCT = cinfo->idct->inverse_DCT[ci]; - output_ptr = output_buf[ci]; - /* Loop over all DCT blocks to be processed. */ - for (block_row = 0; block_row < block_rows; block_row++) { - buffer_ptr = buffer[block_row]; - output_col = 0; - for (block_num = 0; block_num < compptr->width_in_blocks; block_num++) { - (*inverse_DCT) (cinfo, compptr, (JCOEFPTR) buffer_ptr, - output_ptr, output_col); - buffer_ptr++; - output_col += compptr->DCT_h_scaled_size; - } - output_ptr += compptr->DCT_v_scaled_size; - } - } - - if (++(cinfo->output_iMCU_row) < cinfo->total_iMCU_rows) - return JPEG_ROW_COMPLETED; - return JPEG_SCAN_COMPLETED; -} - -#endif /* D_MULTISCAN_FILES_SUPPORTED */ - - -#ifdef BLOCK_SMOOTHING_SUPPORTED - -/* - * This code applies interblock smoothing as described by section K.8 - * of the JPEG standard: the first 5 AC coefficients are estimated from - * the DC values of a DCT block and its 8 neighboring blocks. - * We apply smoothing only for progressive JPEG decoding, and only if - * the coefficients it can estimate are not yet known to full precision. - */ - -/* Natural-order array positions of the first 5 zigzag-order coefficients */ -#define Q01_POS 1 -#define Q10_POS 8 -#define Q20_POS 16 -#define Q11_POS 9 -#define Q02_POS 2 - -/* - * Determine whether block smoothing is applicable and safe. - * We also latch the current states of the coef_bits[] entries for the - * AC coefficients; otherwise, if the input side of the decompressor - * advances into a new scan, we might think the coefficients are known - * more accurately than they really are. - */ - -LOCAL(boolean) -smoothing_ok (j_decompress_ptr cinfo) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - boolean smoothing_useful = FALSE; - int ci, coefi; - jpeg_component_info *compptr; - JQUANT_TBL * qtable; - int * coef_bits; - int * coef_bits_latch; - - if (! cinfo->progressive_mode || cinfo->coef_bits == NULL) - return FALSE; - - /* Allocate latch area if not already done */ - if (coef->coef_bits_latch == NULL) - coef->coef_bits_latch = (int *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->num_components * - (SAVED_COEFS * SIZEOF(int))); - coef_bits_latch = coef->coef_bits_latch; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* All components' quantization values must already be latched. */ - if ((qtable = compptr->quant_table) == NULL) - return FALSE; - /* Verify DC & first 5 AC quantizers are nonzero to avoid zero-divide. */ - if (qtable->quantval[0] == 0 || - qtable->quantval[Q01_POS] == 0 || - qtable->quantval[Q10_POS] == 0 || - qtable->quantval[Q20_POS] == 0 || - qtable->quantval[Q11_POS] == 0 || - qtable->quantval[Q02_POS] == 0) - return FALSE; - /* DC values must be at least partly known for all components. */ - coef_bits = cinfo->coef_bits[ci]; - if (coef_bits[0] < 0) - return FALSE; - /* Block smoothing is helpful if some AC coefficients remain inaccurate. */ - for (coefi = 1; coefi <= 5; coefi++) { - coef_bits_latch[coefi] = coef_bits[coefi]; - if (coef_bits[coefi] != 0) - smoothing_useful = TRUE; - } - coef_bits_latch += SAVED_COEFS; - } - - return smoothing_useful; -} - - -/* - * Variant of decompress_data for use when doing block smoothing. - */ - -METHODDEF(int) -decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) -{ - my_coef_ptr coef = (my_coef_ptr) cinfo->coef; - JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; - JDIMENSION block_num, last_block_column; - int ci, block_row, block_rows, access_rows; - JBLOCKARRAY buffer; - JBLOCKROW buffer_ptr, prev_block_row, next_block_row; - JSAMPARRAY output_ptr; - JDIMENSION output_col; - jpeg_component_info *compptr; - inverse_DCT_method_ptr inverse_DCT; - boolean first_row, last_row; - JBLOCK workspace; - int *coef_bits; - JQUANT_TBL *quanttbl; - INT32 Q00,Q01,Q02,Q10,Q11,Q20, num; - int DC1,DC2,DC3,DC4,DC5,DC6,DC7,DC8,DC9; - int Al, pred; - - /* Force some input to be done if we are getting ahead of the input. */ - while (cinfo->input_scan_number <= cinfo->output_scan_number && - ! cinfo->inputctl->eoi_reached) { - if (cinfo->input_scan_number == cinfo->output_scan_number) { - /* If input is working on current scan, we ordinarily want it to - * have completed the current row. But if input scan is DC, - * we want it to keep one row ahead so that next block row's DC - * values are up to date. - */ - JDIMENSION delta = (cinfo->Ss == 0) ? 1 : 0; - if (cinfo->input_iMCU_row > cinfo->output_iMCU_row+delta) - break; - } - if ((*cinfo->inputctl->consume_input)(cinfo) == JPEG_SUSPENDED) - return JPEG_SUSPENDED; - } - - /* OK, output from the virtual arrays. */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Don't bother to IDCT an uninteresting component. */ - if (! compptr->component_needed) - continue; - /* Count non-dummy DCT block rows in this iMCU row. */ - if (cinfo->output_iMCU_row < last_iMCU_row) { - block_rows = compptr->v_samp_factor; - access_rows = block_rows * 2; /* this and next iMCU row */ - last_row = FALSE; - } else { - /* NB: can't use last_row_height here; it is input-side-dependent! */ - block_rows = (int) (compptr->height_in_blocks % compptr->v_samp_factor); - if (block_rows == 0) block_rows = compptr->v_samp_factor; - access_rows = block_rows; /* this iMCU row only */ - last_row = TRUE; - } - /* Align the virtual buffer for this component. */ - if (cinfo->output_iMCU_row > 0) { - access_rows += compptr->v_samp_factor; /* prior iMCU row too */ - buffer = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[ci], - (cinfo->output_iMCU_row - 1) * compptr->v_samp_factor, - (JDIMENSION) access_rows, FALSE); - buffer += compptr->v_samp_factor; /* point to current iMCU row */ - first_row = FALSE; - } else { - buffer = (*cinfo->mem->access_virt_barray) - ((j_common_ptr) cinfo, coef->whole_image[ci], - (JDIMENSION) 0, (JDIMENSION) access_rows, FALSE); - first_row = TRUE; - } - /* Fetch component-dependent info */ - coef_bits = coef->coef_bits_latch + (ci * SAVED_COEFS); - quanttbl = compptr->quant_table; - Q00 = quanttbl->quantval[0]; - Q01 = quanttbl->quantval[Q01_POS]; - Q10 = quanttbl->quantval[Q10_POS]; - Q20 = quanttbl->quantval[Q20_POS]; - Q11 = quanttbl->quantval[Q11_POS]; - Q02 = quanttbl->quantval[Q02_POS]; - inverse_DCT = cinfo->idct->inverse_DCT[ci]; - output_ptr = output_buf[ci]; - /* Loop over all DCT blocks to be processed. */ - for (block_row = 0; block_row < block_rows; block_row++) { - buffer_ptr = buffer[block_row]; - if (first_row && block_row == 0) - prev_block_row = buffer_ptr; - else - prev_block_row = buffer[block_row-1]; - if (last_row && block_row == block_rows-1) - next_block_row = buffer_ptr; - else - next_block_row = buffer[block_row+1]; - /* We fetch the surrounding DC values using a sliding-register approach. - * Initialize all nine here so as to do the right thing on narrow pics. - */ - DC1 = DC2 = DC3 = (int) prev_block_row[0][0]; - DC4 = DC5 = DC6 = (int) buffer_ptr[0][0]; - DC7 = DC8 = DC9 = (int) next_block_row[0][0]; - output_col = 0; - last_block_column = compptr->width_in_blocks - 1; - for (block_num = 0; block_num <= last_block_column; block_num++) { - /* Fetch current DCT block into workspace so we can modify it. */ - jcopy_block_row(buffer_ptr, (JBLOCKROW) workspace, (JDIMENSION) 1); - /* Update DC values */ - if (block_num < last_block_column) { - DC3 = (int) prev_block_row[1][0]; - DC6 = (int) buffer_ptr[1][0]; - DC9 = (int) next_block_row[1][0]; - } - /* Compute coefficient estimates per K.8. - * An estimate is applied only if coefficient is still zero, - * and is not known to be fully accurate. - */ - /* AC01 */ - if ((Al=coef_bits[1]) != 0 && workspace[1] == 0) { - num = 36 * Q00 * (DC4 - DC6); - if (num >= 0) { - pred = (int) (((Q01<<7) + num) / (Q01<<8)); - if (Al > 0 && pred >= (1< 0 && pred >= (1<= 0) { - pred = (int) (((Q10<<7) + num) / (Q10<<8)); - if (Al > 0 && pred >= (1< 0 && pred >= (1<= 0) { - pred = (int) (((Q20<<7) + num) / (Q20<<8)); - if (Al > 0 && pred >= (1< 0 && pred >= (1<= 0) { - pred = (int) (((Q11<<7) + num) / (Q11<<8)); - if (Al > 0 && pred >= (1< 0 && pred >= (1<= 0) { - pred = (int) (((Q02<<7) + num) / (Q02<<8)); - if (Al > 0 && pred >= (1< 0 && pred >= (1<DCT_h_scaled_size; - } - output_ptr += compptr->DCT_v_scaled_size; - } - } - - if (++(cinfo->output_iMCU_row) < cinfo->total_iMCU_rows) - return JPEG_ROW_COMPLETED; - return JPEG_SCAN_COMPLETED; -} - -#endif /* BLOCK_SMOOTHING_SUPPORTED */ - - -/* - * Initialize coefficient buffer controller. - */ - -GLOBAL(void) -jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer) -{ - my_coef_ptr coef; - - coef = (my_coef_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_coef_controller)); - cinfo->coef = (struct jpeg_d_coef_controller *) coef; - coef->pub.start_input_pass = start_input_pass; - coef->pub.start_output_pass = start_output_pass; -#ifdef BLOCK_SMOOTHING_SUPPORTED - coef->coef_bits_latch = NULL; -#endif - - /* Create the coefficient buffer. */ - if (need_full_buffer) { -#ifdef D_MULTISCAN_FILES_SUPPORTED - /* Allocate a full-image virtual array for each component, */ - /* padded to a multiple of samp_factor DCT blocks in each direction. */ - /* Note we ask for a pre-zeroed array. */ - int ci, access_rows; - jpeg_component_info *compptr; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - access_rows = compptr->v_samp_factor; -#ifdef BLOCK_SMOOTHING_SUPPORTED - /* If block smoothing could be used, need a bigger window */ - if (cinfo->progressive_mode) - access_rows *= 3; -#endif - coef->whole_image[ci] = (*cinfo->mem->request_virt_barray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, TRUE, - (JDIMENSION) jround_up((long) compptr->width_in_blocks, - (long) compptr->h_samp_factor), - (JDIMENSION) jround_up((long) compptr->height_in_blocks, - (long) compptr->v_samp_factor), - (JDIMENSION) access_rows); - } - coef->pub.consume_data = consume_data; - coef->pub.decompress_data = decompress_data; - coef->pub.coef_arrays = coef->whole_image; /* link to virtual arrays */ -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } else { - /* We only need a single-MCU buffer. */ - JBLOCKROW buffer; - int i; - - buffer = (JBLOCKROW) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, - D_MAX_BLOCKS_IN_MCU * SIZEOF(JBLOCK)); - for (i = 0; i < D_MAX_BLOCKS_IN_MCU; i++) { - coef->MCU_buffer[i] = buffer + i; - } - coef->pub.consume_data = dummy_consume_data; - coef->pub.decompress_data = decompress_onepass; - coef->pub.coef_arrays = NULL; /* flag for no virtual arrays */ - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdcolor.c b/3rdparty/openctm/tools/jpeg/jdcolor.c deleted file mode 100644 index fd7b13887..000000000 --- a/3rdparty/openctm/tools/jpeg/jdcolor.c +++ /dev/null @@ -1,396 +0,0 @@ -/* - * jdcolor.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains output colorspace conversion routines. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private subobject */ - -typedef struct { - struct jpeg_color_deconverter pub; /* public fields */ - - /* Private state for YCC->RGB conversion */ - int * Cr_r_tab; /* => table for Cr to R conversion */ - int * Cb_b_tab; /* => table for Cb to B conversion */ - INT32 * Cr_g_tab; /* => table for Cr to G conversion */ - INT32 * Cb_g_tab; /* => table for Cb to G conversion */ -} my_color_deconverter; - -typedef my_color_deconverter * my_cconvert_ptr; - - -/**************** YCbCr -> RGB conversion: most common case **************/ - -/* - * YCbCr is defined per CCIR 601-1, except that Cb and Cr are - * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. - * The conversion equations to be implemented are therefore - * R = Y + 1.40200 * Cr - * G = Y - 0.34414 * Cb - 0.71414 * Cr - * B = Y + 1.77200 * Cb - * where Cb and Cr represent the incoming values less CENTERJSAMPLE. - * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.) - * - * To avoid floating-point arithmetic, we represent the fractional constants - * as integers scaled up by 2^16 (about 4 digits precision); we have to divide - * the products by 2^16, with appropriate rounding, to get the correct answer. - * Notice that Y, being an integral input, does not contribute any fraction - * so it need not participate in the rounding. - * - * For even more speed, we avoid doing any multiplications in the inner loop - * by precalculating the constants times Cb and Cr for all possible values. - * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); - * for 12-bit samples it is still acceptable. It's not very reasonable for - * 16-bit samples, but if you want lossless storage you shouldn't be changing - * colorspace anyway. - * The Cr=>R and Cb=>B values can be rounded to integers in advance; the - * values for the G calculation are left scaled up, since we must add them - * together before rounding. - */ - -#define SCALEBITS 16 /* speediest right-shift on some machines */ -#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) -#define FIX(x) ((INT32) ((x) * (1L<RGB colorspace conversion. - */ - -LOCAL(void) -build_ycc_rgb_table (j_decompress_ptr cinfo) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - int i; - INT32 x; - SHIFT_TEMPS - - cconvert->Cr_r_tab = (int *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(int)); - cconvert->Cb_b_tab = (int *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(int)); - cconvert->Cr_g_tab = (INT32 *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(INT32)); - cconvert->Cb_g_tab = (INT32 *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(INT32)); - - for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { - /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ - /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ - /* Cr=>R value is nearest int to 1.40200 * x */ - cconvert->Cr_r_tab[i] = (int) - RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS); - /* Cb=>B value is nearest int to 1.77200 * x */ - cconvert->Cb_b_tab[i] = (int) - RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS); - /* Cr=>G value is scaled-up -0.71414 * x */ - cconvert->Cr_g_tab[i] = (- FIX(0.71414)) * x; - /* Cb=>G value is scaled-up -0.34414 * x */ - /* We also add in ONE_HALF so that need not do it in inner loop */ - cconvert->Cb_g_tab[i] = (- FIX(0.34414)) * x + ONE_HALF; - } -} - - -/* - * Convert some rows of samples to the output colorspace. - * - * Note that we change from noninterleaved, one-plane-per-component format - * to interleaved-pixel format. The output buffer is therefore three times - * as wide as the input buffer. - * A starting row offset is provided only for the input buffer. The caller - * can easily adjust the passed output_buf value to accommodate any row - * offset required on that side. - */ - -METHODDEF(void) -ycc_rgb_convert (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - register int y, cb, cr; - register JSAMPROW outptr; - register JSAMPROW inptr0, inptr1, inptr2; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->output_width; - /* copy these pointers into registers if possible */ - register JSAMPLE * range_limit = cinfo->sample_range_limit; - register int * Crrtab = cconvert->Cr_r_tab; - register int * Cbbtab = cconvert->Cb_b_tab; - register INT32 * Crgtab = cconvert->Cr_g_tab; - register INT32 * Cbgtab = cconvert->Cb_g_tab; - SHIFT_TEMPS - - while (--num_rows >= 0) { - inptr0 = input_buf[0][input_row]; - inptr1 = input_buf[1][input_row]; - inptr2 = input_buf[2][input_row]; - input_row++; - outptr = *output_buf++; - for (col = 0; col < num_cols; col++) { - y = GETJSAMPLE(inptr0[col]); - cb = GETJSAMPLE(inptr1[col]); - cr = GETJSAMPLE(inptr2[col]); - /* Range-limiting is essential due to noise introduced by DCT losses. */ - outptr[RGB_RED] = range_limit[y + Crrtab[cr]]; - outptr[RGB_GREEN] = range_limit[y + - ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], - SCALEBITS))]; - outptr[RGB_BLUE] = range_limit[y + Cbbtab[cb]]; - outptr += RGB_PIXELSIZE; - } - } -} - - -/**************** Cases other than YCbCr -> RGB **************/ - - -/* - * Color conversion for no colorspace change: just copy the data, - * converting from separate-planes to interleaved representation. - */ - -METHODDEF(void) -null_convert (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows) -{ - register JSAMPROW inptr, outptr; - register JDIMENSION count; - register int num_components = cinfo->num_components; - JDIMENSION num_cols = cinfo->output_width; - int ci; - - while (--num_rows >= 0) { - for (ci = 0; ci < num_components; ci++) { - inptr = input_buf[ci][input_row]; - outptr = output_buf[0] + ci; - for (count = num_cols; count > 0; count--) { - *outptr = *inptr++; /* needn't bother with GETJSAMPLE() here */ - outptr += num_components; - } - } - input_row++; - output_buf++; - } -} - - -/* - * Color conversion for grayscale: just copy the data. - * This also works for YCbCr -> grayscale conversion, in which - * we just copy the Y (luminance) component and ignore chrominance. - */ - -METHODDEF(void) -grayscale_convert (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows) -{ - jcopy_sample_rows(input_buf[0], (int) input_row, output_buf, 0, - num_rows, cinfo->output_width); -} - - -/* - * Convert grayscale to RGB: just duplicate the graylevel three times. - * This is provided to support applications that don't want to cope - * with grayscale as a separate case. - */ - -METHODDEF(void) -gray_rgb_convert (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows) -{ - register JSAMPROW inptr, outptr; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->output_width; - - while (--num_rows >= 0) { - inptr = input_buf[0][input_row++]; - outptr = *output_buf++; - for (col = 0; col < num_cols; col++) { - /* We can dispense with GETJSAMPLE() here */ - outptr[RGB_RED] = outptr[RGB_GREEN] = outptr[RGB_BLUE] = inptr[col]; - outptr += RGB_PIXELSIZE; - } - } -} - - -/* - * Adobe-style YCCK->CMYK conversion. - * We convert YCbCr to R=1-C, G=1-M, and B=1-Y using the same - * conversion as above, while passing K (black) unchanged. - * We assume build_ycc_rgb_table has been called. - */ - -METHODDEF(void) -ycck_cmyk_convert (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows) -{ - my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; - register int y, cb, cr; - register JSAMPROW outptr; - register JSAMPROW inptr0, inptr1, inptr2, inptr3; - register JDIMENSION col; - JDIMENSION num_cols = cinfo->output_width; - /* copy these pointers into registers if possible */ - register JSAMPLE * range_limit = cinfo->sample_range_limit; - register int * Crrtab = cconvert->Cr_r_tab; - register int * Cbbtab = cconvert->Cb_b_tab; - register INT32 * Crgtab = cconvert->Cr_g_tab; - register INT32 * Cbgtab = cconvert->Cb_g_tab; - SHIFT_TEMPS - - while (--num_rows >= 0) { - inptr0 = input_buf[0][input_row]; - inptr1 = input_buf[1][input_row]; - inptr2 = input_buf[2][input_row]; - inptr3 = input_buf[3][input_row]; - input_row++; - outptr = *output_buf++; - for (col = 0; col < num_cols; col++) { - y = GETJSAMPLE(inptr0[col]); - cb = GETJSAMPLE(inptr1[col]); - cr = GETJSAMPLE(inptr2[col]); - /* Range-limiting is essential due to noise introduced by DCT losses. */ - outptr[0] = range_limit[MAXJSAMPLE - (y + Crrtab[cr])]; /* red */ - outptr[1] = range_limit[MAXJSAMPLE - (y + /* green */ - ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], - SCALEBITS)))]; - outptr[2] = range_limit[MAXJSAMPLE - (y + Cbbtab[cb])]; /* blue */ - /* K passes through unchanged */ - outptr[3] = inptr3[col]; /* don't need GETJSAMPLE here */ - outptr += 4; - } - } -} - - -/* - * Empty method for start_pass. - */ - -METHODDEF(void) -start_pass_dcolor (j_decompress_ptr cinfo) -{ - /* no work needed */ -} - - -/* - * Module initialization routine for output colorspace conversion. - */ - -GLOBAL(void) -jinit_color_deconverter (j_decompress_ptr cinfo) -{ - my_cconvert_ptr cconvert; - int ci; - - cconvert = (my_cconvert_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_color_deconverter)); - cinfo->cconvert = (struct jpeg_color_deconverter *) cconvert; - cconvert->pub.start_pass = start_pass_dcolor; - - /* Make sure num_components agrees with jpeg_color_space */ - switch (cinfo->jpeg_color_space) { - case JCS_GRAYSCALE: - if (cinfo->num_components != 1) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - break; - - case JCS_RGB: - case JCS_YCbCr: - if (cinfo->num_components != 3) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - break; - - case JCS_CMYK: - case JCS_YCCK: - if (cinfo->num_components != 4) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - break; - - default: /* JCS_UNKNOWN can be anything */ - if (cinfo->num_components < 1) - ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); - break; - } - - /* Set out_color_components and conversion method based on requested space. - * Also clear the component_needed flags for any unused components, - * so that earlier pipeline stages can avoid useless computation. - */ - - switch (cinfo->out_color_space) { - case JCS_GRAYSCALE: - cinfo->out_color_components = 1; - if (cinfo->jpeg_color_space == JCS_GRAYSCALE || - cinfo->jpeg_color_space == JCS_YCbCr) { - cconvert->pub.color_convert = grayscale_convert; - /* For color->grayscale conversion, only the Y (0) component is needed */ - for (ci = 1; ci < cinfo->num_components; ci++) - cinfo->comp_info[ci].component_needed = FALSE; - } else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_RGB: - cinfo->out_color_components = RGB_PIXELSIZE; - if (cinfo->jpeg_color_space == JCS_YCbCr) { - cconvert->pub.color_convert = ycc_rgb_convert; - build_ycc_rgb_table(cinfo); - } else if (cinfo->jpeg_color_space == JCS_GRAYSCALE) { - cconvert->pub.color_convert = gray_rgb_convert; - } else if (cinfo->jpeg_color_space == JCS_RGB && RGB_PIXELSIZE == 3) { - cconvert->pub.color_convert = null_convert; - } else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - case JCS_CMYK: - cinfo->out_color_components = 4; - if (cinfo->jpeg_color_space == JCS_YCCK) { - cconvert->pub.color_convert = ycck_cmyk_convert; - build_ycc_rgb_table(cinfo); - } else if (cinfo->jpeg_color_space == JCS_CMYK) { - cconvert->pub.color_convert = null_convert; - } else - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - - default: - /* Permit null conversion to same output space */ - if (cinfo->out_color_space == cinfo->jpeg_color_space) { - cinfo->out_color_components = cinfo->num_components; - cconvert->pub.color_convert = null_convert; - } else /* unsupported non-null conversion */ - ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); - break; - } - - if (cinfo->quantize_colors) - cinfo->output_components = 1; /* single colormapped output component */ - else - cinfo->output_components = cinfo->out_color_components; -} diff --git a/3rdparty/openctm/tools/jpeg/jdct.h b/3rdparty/openctm/tools/jpeg/jdct.h deleted file mode 100644 index b1ff91250..000000000 --- a/3rdparty/openctm/tools/jpeg/jdct.h +++ /dev/null @@ -1,393 +0,0 @@ -/* - * jdct.h - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This include file contains common declarations for the forward and - * inverse DCT modules. These declarations are private to the DCT managers - * (jcdctmgr.c, jddctmgr.c) and the individual DCT algorithms. - * The individual DCT algorithms are kept in separate files to ease - * machine-dependent tuning (e.g., assembly coding). - */ - - -/* - * A forward DCT routine is given a pointer to an input sample array and - * a pointer to a work area of type DCTELEM[]; the DCT is to be performed - * in-place in that buffer. Type DCTELEM is int for 8-bit samples, INT32 - * for 12-bit samples. (NOTE: Floating-point DCT implementations use an - * array of type FAST_FLOAT, instead.) - * The input data is to be fetched from the sample array starting at a - * specified column. (Any row offset needed will be applied to the array - * pointer before it is passed to the FDCT code.) - * Note that the number of samples fetched by the FDCT routine is - * DCT_h_scaled_size * DCT_v_scaled_size. - * The DCT outputs are returned scaled up by a factor of 8; they therefore - * have a range of +-8K for 8-bit data, +-128K for 12-bit data. This - * convention improves accuracy in integer implementations and saves some - * work in floating-point ones. - * Quantization of the output coefficients is done by jcdctmgr.c. - */ - -#if BITS_IN_JSAMPLE == 8 -typedef int DCTELEM; /* 16 or 32 bits is fine */ -#else -typedef INT32 DCTELEM; /* must have 32 bits */ -#endif - -typedef JMETHOD(void, forward_DCT_method_ptr, (DCTELEM * data, - JSAMPARRAY sample_data, - JDIMENSION start_col)); -typedef JMETHOD(void, float_DCT_method_ptr, (FAST_FLOAT * data, - JSAMPARRAY sample_data, - JDIMENSION start_col)); - - -/* - * An inverse DCT routine is given a pointer to the input JBLOCK and a pointer - * to an output sample array. The routine must dequantize the input data as - * well as perform the IDCT; for dequantization, it uses the multiplier table - * pointed to by compptr->dct_table. The output data is to be placed into the - * sample array starting at a specified column. (Any row offset needed will - * be applied to the array pointer before it is passed to the IDCT code.) - * Note that the number of samples emitted by the IDCT routine is - * DCT_h_scaled_size * DCT_v_scaled_size. - */ - -/* typedef inverse_DCT_method_ptr is declared in jpegint.h */ - -/* - * Each IDCT routine has its own ideas about the best dct_table element type. - */ - -typedef MULTIPLIER ISLOW_MULT_TYPE; /* short or int, whichever is faster */ -#if BITS_IN_JSAMPLE == 8 -typedef MULTIPLIER IFAST_MULT_TYPE; /* 16 bits is OK, use short if faster */ -#define IFAST_SCALE_BITS 2 /* fractional bits in scale factors */ -#else -typedef INT32 IFAST_MULT_TYPE; /* need 32 bits for scaled quantizers */ -#define IFAST_SCALE_BITS 13 /* fractional bits in scale factors */ -#endif -typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */ - - -/* - * Each IDCT routine is responsible for range-limiting its results and - * converting them to unsigned form (0..MAXJSAMPLE). The raw outputs could - * be quite far out of range if the input data is corrupt, so a bulletproof - * range-limiting step is required. We use a mask-and-table-lookup method - * to do the combined operations quickly. See the comments with - * prepare_range_limit_table (in jdmaster.c) for more info. - */ - -#define IDCT_range_limit(cinfo) ((cinfo)->sample_range_limit + CENTERJSAMPLE) - -#define RANGE_MASK (MAXJSAMPLE * 4 + 3) /* 2 bits wider than legal samples */ - - -/* Short forms of external names for systems with brain-damaged linkers. */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_fdct_islow jFDislow -#define jpeg_fdct_ifast jFDifast -#define jpeg_fdct_float jFDfloat -#define jpeg_fdct_7x7 jFD7x7 -#define jpeg_fdct_6x6 jFD6x6 -#define jpeg_fdct_5x5 jFD5x5 -#define jpeg_fdct_4x4 jFD4x4 -#define jpeg_fdct_3x3 jFD3x3 -#define jpeg_fdct_2x2 jFD2x2 -#define jpeg_fdct_1x1 jFD1x1 -#define jpeg_fdct_9x9 jFD9x9 -#define jpeg_fdct_10x10 jFD10x10 -#define jpeg_fdct_11x11 jFD11x11 -#define jpeg_fdct_12x12 jFD12x12 -#define jpeg_fdct_13x13 jFD13x13 -#define jpeg_fdct_14x14 jFD14x14 -#define jpeg_fdct_15x15 jFD15x15 -#define jpeg_fdct_16x16 jFD16x16 -#define jpeg_fdct_16x8 jFD16x8 -#define jpeg_fdct_14x7 jFD14x7 -#define jpeg_fdct_12x6 jFD12x6 -#define jpeg_fdct_10x5 jFD10x5 -#define jpeg_fdct_8x4 jFD8x4 -#define jpeg_fdct_6x3 jFD6x3 -#define jpeg_fdct_4x2 jFD4x2 -#define jpeg_fdct_2x1 jFD2x1 -#define jpeg_fdct_8x16 jFD8x16 -#define jpeg_fdct_7x14 jFD7x14 -#define jpeg_fdct_6x12 jFD6x12 -#define jpeg_fdct_5x10 jFD5x10 -#define jpeg_fdct_4x8 jFD4x8 -#define jpeg_fdct_3x6 jFD3x6 -#define jpeg_fdct_2x4 jFD2x4 -#define jpeg_fdct_1x2 jFD1x2 -#define jpeg_idct_islow jRDislow -#define jpeg_idct_ifast jRDifast -#define jpeg_idct_float jRDfloat -#define jpeg_idct_7x7 jRD7x7 -#define jpeg_idct_6x6 jRD6x6 -#define jpeg_idct_5x5 jRD5x5 -#define jpeg_idct_4x4 jRD4x4 -#define jpeg_idct_3x3 jRD3x3 -#define jpeg_idct_2x2 jRD2x2 -#define jpeg_idct_1x1 jRD1x1 -#define jpeg_idct_9x9 jRD9x9 -#define jpeg_idct_10x10 jRD10x10 -#define jpeg_idct_11x11 jRD11x11 -#define jpeg_idct_12x12 jRD12x12 -#define jpeg_idct_13x13 jRD13x13 -#define jpeg_idct_14x14 jRD14x14 -#define jpeg_idct_15x15 jRD15x15 -#define jpeg_idct_16x16 jRD16x16 -#define jpeg_idct_16x8 jRD16x8 -#define jpeg_idct_14x7 jRD14x7 -#define jpeg_idct_12x6 jRD12x6 -#define jpeg_idct_10x5 jRD10x5 -#define jpeg_idct_8x4 jRD8x4 -#define jpeg_idct_6x3 jRD6x3 -#define jpeg_idct_4x2 jRD4x2 -#define jpeg_idct_2x1 jRD2x1 -#define jpeg_idct_8x16 jRD8x16 -#define jpeg_idct_7x14 jRD7x14 -#define jpeg_idct_6x12 jRD6x12 -#define jpeg_idct_5x10 jRD5x10 -#define jpeg_idct_4x8 jRD4x8 -#define jpeg_idct_3x6 jRD3x8 -#define jpeg_idct_2x4 jRD2x4 -#define jpeg_idct_1x2 jRD1x2 -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - -/* Extern declarations for the forward and inverse DCT routines. */ - -EXTERN(void) jpeg_fdct_islow - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_ifast - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_float - JPP((FAST_FLOAT * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_7x7 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_6x6 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_5x5 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_4x4 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_3x3 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_2x2 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_1x1 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_9x9 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_10x10 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_11x11 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_12x12 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_13x13 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_14x14 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_15x15 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_16x16 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_16x8 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_14x7 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_12x6 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_10x5 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_8x4 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_6x3 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_4x2 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_2x1 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_8x16 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_7x14 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_6x12 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_5x10 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_4x8 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_3x6 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_2x4 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); -EXTERN(void) jpeg_fdct_1x2 - JPP((DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)); - -EXTERN(void) jpeg_idct_islow - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_ifast - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_float - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_7x7 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_6x6 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_5x5 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_4x4 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_3x3 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_2x2 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_1x1 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_9x9 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_10x10 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_11x11 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_12x12 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_13x13 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_14x14 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_15x15 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_16x16 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_16x8 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_14x7 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_12x6 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_10x5 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_8x4 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_6x3 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_4x2 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_2x1 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_8x16 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_7x14 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_6x12 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_5x10 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_4x8 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_3x6 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_2x4 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); -EXTERN(void) jpeg_idct_1x2 - JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col)); - - -/* - * Macros for handling fixed-point arithmetic; these are used by many - * but not all of the DCT/IDCT modules. - * - * All values are expected to be of type INT32. - * Fractional constants are scaled left by CONST_BITS bits. - * CONST_BITS is defined within each module using these macros, - * and may differ from one module to the next. - */ - -#define ONE ((INT32) 1) -#define CONST_SCALE (ONE << CONST_BITS) - -/* Convert a positive real constant to an integer scaled by CONST_SCALE. - * Caution: some C compilers fail to reduce "FIX(constant)" at compile time, - * thus causing a lot of useless floating-point operations at run time. - */ - -#define FIX(x) ((INT32) ((x) * CONST_SCALE + 0.5)) - -/* Descale and correctly round an INT32 value that's scaled by N bits. - * We assume RIGHT_SHIFT rounds towards minus infinity, so adding - * the fudge factor is correct for either sign of X. - */ - -#define DESCALE(x,n) RIGHT_SHIFT((x) + (ONE << ((n)-1)), n) - -/* Multiply an INT32 variable by an INT32 constant to yield an INT32 result. - * This macro is used only when the two inputs will actually be no more than - * 16 bits wide, so that a 16x16->32 bit multiply can be used instead of a - * full 32x32 multiply. This provides a useful speedup on many machines. - * Unfortunately there is no way to specify a 16x16->32 multiply portably - * in C, but some C compilers will do the right thing if you provide the - * correct combination of casts. - */ - -#ifdef SHORTxSHORT_32 /* may work if 'int' is 32 bits */ -#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT16) (const))) -#endif -#ifdef SHORTxLCONST_32 /* known to work with Microsoft C 6.0 */ -#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT32) (const))) -#endif - -#ifndef MULTIPLY16C16 /* default definition */ -#define MULTIPLY16C16(var,const) ((var) * (const)) -#endif - -/* Same except both inputs are variables. */ - -#ifdef SHORTxSHORT_32 /* may work if 'int' is 32 bits */ -#define MULTIPLY16V16(var1,var2) (((INT16) (var1)) * ((INT16) (var2))) -#endif - -#ifndef MULTIPLY16V16 /* default definition */ -#define MULTIPLY16V16(var1,var2) ((var1) * (var2)) -#endif diff --git a/3rdparty/openctm/tools/jpeg/jddctmgr.c b/3rdparty/openctm/tools/jpeg/jddctmgr.c deleted file mode 100644 index 07cb06f4f..000000000 --- a/3rdparty/openctm/tools/jpeg/jddctmgr.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - * jddctmgr.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the inverse-DCT management logic. - * This code selects a particular IDCT implementation to be used, - * and it performs related housekeeping chores. No code in this file - * is executed per IDCT step, only during output pass setup. - * - * Note that the IDCT routines are responsible for performing coefficient - * dequantization as well as the IDCT proper. This module sets up the - * dequantization multiplier table needed by the IDCT routine. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - - -/* - * The decompressor input side (jdinput.c) saves away the appropriate - * quantization table for each component at the start of the first scan - * involving that component. (This is necessary in order to correctly - * decode files that reuse Q-table slots.) - * When we are ready to make an output pass, the saved Q-table is converted - * to a multiplier table that will actually be used by the IDCT routine. - * The multiplier table contents are IDCT-method-dependent. To support - * application changes in IDCT method between scans, we can remake the - * multiplier tables if necessary. - * In buffered-image mode, the first output pass may occur before any data - * has been seen for some components, and thus before their Q-tables have - * been saved away. To handle this case, multiplier tables are preset - * to zeroes; the result of the IDCT will be a neutral gray level. - */ - - -/* Private subobject for this module */ - -typedef struct { - struct jpeg_inverse_dct pub; /* public fields */ - - /* This array contains the IDCT method code that each multiplier table - * is currently set up for, or -1 if it's not yet set up. - * The actual multiplier tables are pointed to by dct_table in the - * per-component comp_info structures. - */ - int cur_method[MAX_COMPONENTS]; -} my_idct_controller; - -typedef my_idct_controller * my_idct_ptr; - - -/* Allocated multiplier tables: big enough for any supported variant */ - -typedef union { - ISLOW_MULT_TYPE islow_array[DCTSIZE2]; -#ifdef DCT_IFAST_SUPPORTED - IFAST_MULT_TYPE ifast_array[DCTSIZE2]; -#endif -#ifdef DCT_FLOAT_SUPPORTED - FLOAT_MULT_TYPE float_array[DCTSIZE2]; -#endif -} multiplier_table; - - -/* The current scaled-IDCT routines require ISLOW-style multiplier tables, - * so be sure to compile that code if either ISLOW or SCALING is requested. - */ -#ifdef DCT_ISLOW_SUPPORTED -#define PROVIDE_ISLOW_TABLES -#else -#ifdef IDCT_SCALING_SUPPORTED -#define PROVIDE_ISLOW_TABLES -#endif -#endif - - -/* - * Prepare for an output pass. - * Here we select the proper IDCT routine for each component and build - * a matching multiplier table. - */ - -METHODDEF(void) -start_pass (j_decompress_ptr cinfo) -{ - my_idct_ptr idct = (my_idct_ptr) cinfo->idct; - int ci, i; - jpeg_component_info *compptr; - int method = 0; - inverse_DCT_method_ptr method_ptr = NULL; - JQUANT_TBL * qtbl; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Select the proper IDCT routine for this component's scaling */ - switch ((compptr->DCT_h_scaled_size << 8) + compptr->DCT_v_scaled_size) { -#ifdef IDCT_SCALING_SUPPORTED - case ((1 << 8) + 1): - method_ptr = jpeg_idct_1x1; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((2 << 8) + 2): - method_ptr = jpeg_idct_2x2; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((3 << 8) + 3): - method_ptr = jpeg_idct_3x3; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((4 << 8) + 4): - method_ptr = jpeg_idct_4x4; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((5 << 8) + 5): - method_ptr = jpeg_idct_5x5; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((6 << 8) + 6): - method_ptr = jpeg_idct_6x6; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((7 << 8) + 7): - method_ptr = jpeg_idct_7x7; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((9 << 8) + 9): - method_ptr = jpeg_idct_9x9; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((10 << 8) + 10): - method_ptr = jpeg_idct_10x10; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((11 << 8) + 11): - method_ptr = jpeg_idct_11x11; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((12 << 8) + 12): - method_ptr = jpeg_idct_12x12; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((13 << 8) + 13): - method_ptr = jpeg_idct_13x13; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((14 << 8) + 14): - method_ptr = jpeg_idct_14x14; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((15 << 8) + 15): - method_ptr = jpeg_idct_15x15; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((16 << 8) + 16): - method_ptr = jpeg_idct_16x16; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((16 << 8) + 8): - method_ptr = jpeg_idct_16x8; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((14 << 8) + 7): - method_ptr = jpeg_idct_14x7; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((12 << 8) + 6): - method_ptr = jpeg_idct_12x6; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((10 << 8) + 5): - method_ptr = jpeg_idct_10x5; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((8 << 8) + 4): - method_ptr = jpeg_idct_8x4; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((6 << 8) + 3): - method_ptr = jpeg_idct_6x3; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((4 << 8) + 2): - method_ptr = jpeg_idct_4x2; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((2 << 8) + 1): - method_ptr = jpeg_idct_2x1; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((8 << 8) + 16): - method_ptr = jpeg_idct_8x16; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((7 << 8) + 14): - method_ptr = jpeg_idct_7x14; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((6 << 8) + 12): - method_ptr = jpeg_idct_6x12; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((5 << 8) + 10): - method_ptr = jpeg_idct_5x10; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((4 << 8) + 8): - method_ptr = jpeg_idct_4x8; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((3 << 8) + 6): - method_ptr = jpeg_idct_3x6; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((2 << 8) + 4): - method_ptr = jpeg_idct_2x4; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; - case ((1 << 8) + 2): - method_ptr = jpeg_idct_1x2; - method = JDCT_ISLOW; /* jidctint uses islow-style table */ - break; -#endif - case ((DCTSIZE << 8) + DCTSIZE): - switch (cinfo->dct_method) { -#ifdef DCT_ISLOW_SUPPORTED - case JDCT_ISLOW: - method_ptr = jpeg_idct_islow; - method = JDCT_ISLOW; - break; -#endif -#ifdef DCT_IFAST_SUPPORTED - case JDCT_IFAST: - method_ptr = jpeg_idct_ifast; - method = JDCT_IFAST; - break; -#endif -#ifdef DCT_FLOAT_SUPPORTED - case JDCT_FLOAT: - method_ptr = jpeg_idct_float; - method = JDCT_FLOAT; - break; -#endif - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - break; - } - break; - default: - ERREXIT2(cinfo, JERR_BAD_DCTSIZE, - compptr->DCT_h_scaled_size, compptr->DCT_v_scaled_size); - break; - } - idct->pub.inverse_DCT[ci] = method_ptr; - /* Create multiplier table from quant table. - * However, we can skip this if the component is uninteresting - * or if we already built the table. Also, if no quant table - * has yet been saved for the component, we leave the - * multiplier table all-zero; we'll be reading zeroes from the - * coefficient controller's buffer anyway. - */ - if (! compptr->component_needed || idct->cur_method[ci] == method) - continue; - qtbl = compptr->quant_table; - if (qtbl == NULL) /* happens if no data yet for component */ - continue; - idct->cur_method[ci] = method; - switch (method) { -#ifdef PROVIDE_ISLOW_TABLES - case JDCT_ISLOW: - { - /* For LL&M IDCT method, multipliers are equal to raw quantization - * coefficients, but are stored as ints to ensure access efficiency. - */ - ISLOW_MULT_TYPE * ismtbl = (ISLOW_MULT_TYPE *) compptr->dct_table; - for (i = 0; i < DCTSIZE2; i++) { - ismtbl[i] = (ISLOW_MULT_TYPE) qtbl->quantval[i]; - } - } - break; -#endif -#ifdef DCT_IFAST_SUPPORTED - case JDCT_IFAST: - { - /* For AA&N IDCT method, multipliers are equal to quantization - * coefficients scaled by scalefactor[row]*scalefactor[col], where - * scalefactor[0] = 1 - * scalefactor[k] = cos(k*PI/16) * sqrt(2) for k=1..7 - * For integer operation, the multiplier table is to be scaled by - * IFAST_SCALE_BITS. - */ - IFAST_MULT_TYPE * ifmtbl = (IFAST_MULT_TYPE *) compptr->dct_table; -#define CONST_BITS 14 - static const INT16 aanscales[DCTSIZE2] = { - /* precomputed values scaled up by 14 bits */ - 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520, - 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270, - 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906, - 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315, - 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520, - 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552, - 8867, 12299, 11585, 10426, 8867, 6967, 4799, 2446, - 4520, 6270, 5906, 5315, 4520, 3552, 2446, 1247 - }; - SHIFT_TEMPS - - for (i = 0; i < DCTSIZE2; i++) { - ifmtbl[i] = (IFAST_MULT_TYPE) - DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], - (INT32) aanscales[i]), - CONST_BITS-IFAST_SCALE_BITS); - } - } - break; -#endif -#ifdef DCT_FLOAT_SUPPORTED - case JDCT_FLOAT: - { - /* For float AA&N IDCT method, multipliers are equal to quantization - * coefficients scaled by scalefactor[row]*scalefactor[col], where - * scalefactor[0] = 1 - * scalefactor[k] = cos(k*PI/16) * sqrt(2) for k=1..7 - */ - FLOAT_MULT_TYPE * fmtbl = (FLOAT_MULT_TYPE *) compptr->dct_table; - int row, col; - static const double aanscalefactor[DCTSIZE] = { - 1.0, 1.387039845, 1.306562965, 1.175875602, - 1.0, 0.785694958, 0.541196100, 0.275899379 - }; - - i = 0; - for (row = 0; row < DCTSIZE; row++) { - for (col = 0; col < DCTSIZE; col++) { - fmtbl[i] = (FLOAT_MULT_TYPE) - ((double) qtbl->quantval[i] * - aanscalefactor[row] * aanscalefactor[col]); - i++; - } - } - } - break; -#endif - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - break; - } - } -} - - -/* - * Initialize IDCT manager. - */ - -GLOBAL(void) -jinit_inverse_dct (j_decompress_ptr cinfo) -{ - my_idct_ptr idct; - int ci; - jpeg_component_info *compptr; - - idct = (my_idct_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_idct_controller)); - cinfo->idct = (struct jpeg_inverse_dct *) idct; - idct->pub.start_pass = start_pass; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Allocate and pre-zero a multiplier table for each component */ - compptr->dct_table = - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(multiplier_table)); - MEMZERO(compptr->dct_table, SIZEOF(multiplier_table)); - /* Mark multiplier table not yet set up for any method */ - idct->cur_method[ci] = -1; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdhuff.c b/3rdparty/openctm/tools/jpeg/jdhuff.c deleted file mode 100644 index bad2bc1aa..000000000 --- a/3rdparty/openctm/tools/jpeg/jdhuff.c +++ /dev/null @@ -1,1309 +0,0 @@ -/* - * jdhuff.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2006-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains Huffman entropy decoding routines. - * Both sequential and progressive modes are supported in this single module. - * - * Much of the complexity here has to do with supporting input suspension. - * If the data source module demands suspension, we want to be able to back - * up to the start of the current MCU. To do this, we copy state variables - * into local working storage, and update them back to the permanent - * storage only upon successful completion of an MCU. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Derived data constructed for each Huffman table */ - -#define HUFF_LOOKAHEAD 8 /* # of bits of lookahead */ - -typedef struct { - /* Basic tables: (element [0] of each array is unused) */ - INT32 maxcode[18]; /* largest code of length k (-1 if none) */ - /* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */ - INT32 valoffset[17]; /* huffval[] offset for codes of length k */ - /* valoffset[k] = huffval[] index of 1st symbol of code length k, less - * the smallest code of length k; so given a code of length k, the - * corresponding symbol is huffval[code + valoffset[k]] - */ - - /* Link to public Huffman table (needed only in jpeg_huff_decode) */ - JHUFF_TBL *pub; - - /* Lookahead tables: indexed by the next HUFF_LOOKAHEAD bits of - * the input data stream. If the next Huffman code is no more - * than HUFF_LOOKAHEAD bits long, we can obtain its length and - * the corresponding symbol directly from these tables. - */ - int look_nbits[1< 32 bits on your machine, and shifting/masking longs is - * reasonably fast, making bit_buf_type be long and setting BIT_BUF_SIZE - * appropriately should be a win. Unfortunately we can't define the size - * with something like #define BIT_BUF_SIZE (sizeof(bit_buf_type)*8) - * because not all machines measure sizeof in 8-bit bytes. - */ - -typedef struct { /* Bitreading state saved across MCUs */ - bit_buf_type get_buffer; /* current bit-extraction buffer */ - int bits_left; /* # of unused bits in it */ -} bitread_perm_state; - -typedef struct { /* Bitreading working state within an MCU */ - /* Current data source location */ - /* We need a copy, rather than munging the original, in case of suspension */ - const JOCTET * next_input_byte; /* => next byte to read from source */ - size_t bytes_in_buffer; /* # of bytes remaining in source buffer */ - /* Bit input buffer --- note these values are kept in register variables, - * not in this struct, inside the inner loops. - */ - bit_buf_type get_buffer; /* current bit-extraction buffer */ - int bits_left; /* # of unused bits in it */ - /* Pointer needed by jpeg_fill_bit_buffer. */ - j_decompress_ptr cinfo; /* back link to decompress master record */ -} bitread_working_state; - -/* Macros to declare and load/save bitread local variables. */ -#define BITREAD_STATE_VARS \ - register bit_buf_type get_buffer; \ - register int bits_left; \ - bitread_working_state br_state - -#define BITREAD_LOAD_STATE(cinfop,permstate) \ - br_state.cinfo = cinfop; \ - br_state.next_input_byte = cinfop->src->next_input_byte; \ - br_state.bytes_in_buffer = cinfop->src->bytes_in_buffer; \ - get_buffer = permstate.get_buffer; \ - bits_left = permstate.bits_left; - -#define BITREAD_SAVE_STATE(cinfop,permstate) \ - cinfop->src->next_input_byte = br_state.next_input_byte; \ - cinfop->src->bytes_in_buffer = br_state.bytes_in_buffer; \ - permstate.get_buffer = get_buffer; \ - permstate.bits_left = bits_left - -/* - * These macros provide the in-line portion of bit fetching. - * Use CHECK_BIT_BUFFER to ensure there are N bits in get_buffer - * before using GET_BITS, PEEK_BITS, or DROP_BITS. - * The variables get_buffer and bits_left are assumed to be locals, - * but the state struct might not be (jpeg_huff_decode needs this). - * CHECK_BIT_BUFFER(state,n,action); - * Ensure there are N bits in get_buffer; if suspend, take action. - * val = GET_BITS(n); - * Fetch next N bits. - * val = PEEK_BITS(n); - * Fetch next N bits without removing them from the buffer. - * DROP_BITS(n); - * Discard next N bits. - * The value N should be a simple variable, not an expression, because it - * is evaluated multiple times. - */ - -#define CHECK_BIT_BUFFER(state,nbits,action) \ - { if (bits_left < (nbits)) { \ - if (! jpeg_fill_bit_buffer(&(state),get_buffer,bits_left,nbits)) \ - { action; } \ - get_buffer = (state).get_buffer; bits_left = (state).bits_left; } } - -#define GET_BITS(nbits) \ - (((int) (get_buffer >> (bits_left -= (nbits)))) & BIT_MASK(nbits)) - -#define PEEK_BITS(nbits) \ - (((int) (get_buffer >> (bits_left - (nbits)))) & BIT_MASK(nbits)) - -#define DROP_BITS(nbits) \ - (bits_left -= (nbits)) - - -/* - * Code for extracting next Huffman-coded symbol from input bit stream. - * Again, this is time-critical and we make the main paths be macros. - * - * We use a lookahead table to process codes of up to HUFF_LOOKAHEAD bits - * without looping. Usually, more than 95% of the Huffman codes will be 8 - * or fewer bits long. The few overlength codes are handled with a loop, - * which need not be inline code. - * - * Notes about the HUFF_DECODE macro: - * 1. Near the end of the data segment, we may fail to get enough bits - * for a lookahead. In that case, we do it the hard way. - * 2. If the lookahead table contains no entry, the next code must be - * more than HUFF_LOOKAHEAD bits long. - * 3. jpeg_huff_decode returns -1 if forced to suspend. - */ - -#define HUFF_DECODE(result,state,htbl,failaction,slowlabel) \ -{ register int nb, look; \ - if (bits_left < HUFF_LOOKAHEAD) { \ - if (! jpeg_fill_bit_buffer(&state,get_buffer,bits_left, 0)) {failaction;} \ - get_buffer = state.get_buffer; bits_left = state.bits_left; \ - if (bits_left < HUFF_LOOKAHEAD) { \ - nb = 1; goto slowlabel; \ - } \ - } \ - look = PEEK_BITS(HUFF_LOOKAHEAD); \ - if ((nb = htbl->look_nbits[look]) != 0) { \ - DROP_BITS(nb); \ - result = htbl->look_sym[look]; \ - } else { \ - nb = HUFF_LOOKAHEAD+1; \ -slowlabel: \ - if ((result=jpeg_huff_decode(&state,get_buffer,bits_left,htbl,nb)) < 0) \ - { failaction; } \ - get_buffer = state.get_buffer; bits_left = state.bits_left; \ - } \ -} - - -/* - * Expanded entropy decoder object for Huffman decoding. - * - * The savable_state subrecord contains fields that change within an MCU, - * but must not be updated permanently until we complete the MCU. - */ - -typedef struct { - unsigned int EOBRUN; /* remaining EOBs in EOBRUN */ - int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ -} savable_state; - -/* This macro is to work around compilers with missing or broken - * structure assignment. You'll need to fix this code if you have - * such a compiler and you change MAX_COMPS_IN_SCAN. - */ - -#ifndef NO_STRUCT_ASSIGN -#define ASSIGN_STATE(dest,src) ((dest) = (src)) -#else -#if MAX_COMPS_IN_SCAN == 4 -#define ASSIGN_STATE(dest,src) \ - ((dest).EOBRUN = (src).EOBRUN, \ - (dest).last_dc_val[0] = (src).last_dc_val[0], \ - (dest).last_dc_val[1] = (src).last_dc_val[1], \ - (dest).last_dc_val[2] = (src).last_dc_val[2], \ - (dest).last_dc_val[3] = (src).last_dc_val[3]) -#endif -#endif - - -typedef struct { - struct jpeg_entropy_decoder pub; /* public fields */ - - /* These fields are loaded into local variables at start of each MCU. - * In case of suspension, we exit WITHOUT updating them. - */ - bitread_perm_state bitstate; /* Bit buffer at start of MCU */ - savable_state saved; /* Other state at start of MCU */ - - /* These fields are NOT loaded into local working state. */ - unsigned int restarts_to_go; /* MCUs left in this restart interval */ - - /* Following two fields used only in progressive mode */ - - /* Pointers to derived tables (these workspaces have image lifespan) */ - d_derived_tbl * derived_tbls[NUM_HUFF_TBLS]; - - d_derived_tbl * ac_derived_tbl; /* active table during an AC scan */ - - /* Following fields used only in sequential mode */ - - /* Pointers to derived tables (these workspaces have image lifespan) */ - d_derived_tbl * dc_derived_tbls[NUM_HUFF_TBLS]; - d_derived_tbl * ac_derived_tbls[NUM_HUFF_TBLS]; - - /* Precalculated info set up by start_pass for use in decode_mcu: */ - - /* Pointers to derived tables to be used for each block within an MCU */ - d_derived_tbl * dc_cur_tbls[D_MAX_BLOCKS_IN_MCU]; - d_derived_tbl * ac_cur_tbls[D_MAX_BLOCKS_IN_MCU]; - /* Whether we care about the DC and AC coefficient values for each block */ - int coef_limit[D_MAX_BLOCKS_IN_MCU]; -} huff_entropy_decoder; - -typedef huff_entropy_decoder * huff_entropy_ptr; - - -static const int jpeg_zigzag_order[8][8] = { - { 0, 1, 5, 6, 14, 15, 27, 28 }, - { 2, 4, 7, 13, 16, 26, 29, 42 }, - { 3, 8, 12, 17, 25, 30, 41, 43 }, - { 9, 11, 18, 24, 31, 40, 44, 53 }, - { 10, 19, 23, 32, 39, 45, 52, 54 }, - { 20, 22, 33, 38, 46, 51, 55, 60 }, - { 21, 34, 37, 47, 50, 56, 59, 61 }, - { 35, 36, 48, 49, 57, 58, 62, 63 } -}; - - -/* - * Compute the derived values for a Huffman table. - * This routine also performs some validation checks on the table. - */ - -LOCAL(void) -jpeg_make_d_derived_tbl (j_decompress_ptr cinfo, boolean isDC, int tblno, - d_derived_tbl ** pdtbl) -{ - JHUFF_TBL *htbl; - d_derived_tbl *dtbl; - int p, i, l, si, numsymbols; - int lookbits, ctr; - char huffsize[257]; - unsigned int huffcode[257]; - unsigned int code; - - /* Note that huffsize[] and huffcode[] are filled in code-length order, - * paralleling the order of the symbols themselves in htbl->huffval[]. - */ - - /* Find the input Huffman table */ - if (tblno < 0 || tblno >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, tblno); - htbl = - isDC ? cinfo->dc_huff_tbl_ptrs[tblno] : cinfo->ac_huff_tbl_ptrs[tblno]; - if (htbl == NULL) - ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, tblno); - - /* Allocate a workspace if we haven't already done so. */ - if (*pdtbl == NULL) - *pdtbl = (d_derived_tbl *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(d_derived_tbl)); - dtbl = *pdtbl; - dtbl->pub = htbl; /* fill in back link */ - - /* Figure C.1: make table of Huffman code length for each symbol */ - - p = 0; - for (l = 1; l <= 16; l++) { - i = (int) htbl->bits[l]; - if (i < 0 || p + i > 256) /* protect against table overrun */ - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - while (i--) - huffsize[p++] = (char) l; - } - huffsize[p] = 0; - numsymbols = p; - - /* Figure C.2: generate the codes themselves */ - /* We also validate that the counts represent a legal Huffman code tree. */ - - code = 0; - si = huffsize[0]; - p = 0; - while (huffsize[p]) { - while (((int) huffsize[p]) == si) { - huffcode[p++] = code; - code++; - } - /* code is now 1 more than the last code used for codelength si; but - * it must still fit in si bits, since no code is allowed to be all ones. - */ - if (((INT32) code) >= (((INT32) 1) << si)) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - code <<= 1; - si++; - } - - /* Figure F.15: generate decoding tables for bit-sequential decoding */ - - p = 0; - for (l = 1; l <= 16; l++) { - if (htbl->bits[l]) { - /* valoffset[l] = huffval[] index of 1st symbol of code length l, - * minus the minimum code of length l - */ - dtbl->valoffset[l] = (INT32) p - (INT32) huffcode[p]; - p += htbl->bits[l]; - dtbl->maxcode[l] = huffcode[p-1]; /* maximum code of length l */ - } else { - dtbl->maxcode[l] = -1; /* -1 if no codes of this length */ - } - } - dtbl->maxcode[17] = 0xFFFFFL; /* ensures jpeg_huff_decode terminates */ - - /* Compute lookahead tables to speed up decoding. - * First we set all the table entries to 0, indicating "too long"; - * then we iterate through the Huffman codes that are short enough and - * fill in all the entries that correspond to bit sequences starting - * with that code. - */ - - MEMZERO(dtbl->look_nbits, SIZEOF(dtbl->look_nbits)); - - p = 0; - for (l = 1; l <= HUFF_LOOKAHEAD; l++) { - for (i = 1; i <= (int) htbl->bits[l]; i++, p++) { - /* l = current code's length, p = its index in huffcode[] & huffval[]. */ - /* Generate left-justified code followed by all possible bit sequences */ - lookbits = huffcode[p] << (HUFF_LOOKAHEAD-l); - for (ctr = 1 << (HUFF_LOOKAHEAD-l); ctr > 0; ctr--) { - dtbl->look_nbits[lookbits] = l; - dtbl->look_sym[lookbits] = htbl->huffval[p]; - lookbits++; - } - } - } - - /* Validate symbols as being reasonable. - * For AC tables, we make no check, but accept all byte values 0..255. - * For DC tables, we require the symbols to be in range 0..15. - * (Tighter bounds could be applied depending on the data depth and mode, - * but this is sufficient to ensure safe decoding.) - */ - if (isDC) { - for (i = 0; i < numsymbols; i++) { - int sym = htbl->huffval[i]; - if (sym < 0 || sym > 15) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - } - } -} - - -/* - * Out-of-line code for bit fetching. - * Note: current values of get_buffer and bits_left are passed as parameters, - * but are returned in the corresponding fields of the state struct. - * - * On most machines MIN_GET_BITS should be 25 to allow the full 32-bit width - * of get_buffer to be used. (On machines with wider words, an even larger - * buffer could be used.) However, on some machines 32-bit shifts are - * quite slow and take time proportional to the number of places shifted. - * (This is true with most PC compilers, for instance.) In this case it may - * be a win to set MIN_GET_BITS to the minimum value of 15. This reduces the - * average shift distance at the cost of more calls to jpeg_fill_bit_buffer. - */ - -#ifdef SLOW_SHIFT_32 -#define MIN_GET_BITS 15 /* minimum allowable value */ -#else -#define MIN_GET_BITS (BIT_BUF_SIZE-7) -#endif - - -LOCAL(boolean) -jpeg_fill_bit_buffer (bitread_working_state * state, - register bit_buf_type get_buffer, register int bits_left, - int nbits) -/* Load up the bit buffer to a depth of at least nbits */ -{ - /* Copy heavily used state fields into locals (hopefully registers) */ - register const JOCTET * next_input_byte = state->next_input_byte; - register size_t bytes_in_buffer = state->bytes_in_buffer; - j_decompress_ptr cinfo = state->cinfo; - - /* Attempt to load at least MIN_GET_BITS bits into get_buffer. */ - /* (It is assumed that no request will be for more than that many bits.) */ - /* We fail to do so only if we hit a marker or are forced to suspend. */ - - if (cinfo->unread_marker == 0) { /* cannot advance past a marker */ - while (bits_left < MIN_GET_BITS) { - register int c; - - /* Attempt to read a byte */ - if (bytes_in_buffer == 0) { - if (! (*cinfo->src->fill_input_buffer) (cinfo)) - return FALSE; - next_input_byte = cinfo->src->next_input_byte; - bytes_in_buffer = cinfo->src->bytes_in_buffer; - } - bytes_in_buffer--; - c = GETJOCTET(*next_input_byte++); - - /* If it's 0xFF, check and discard stuffed zero byte */ - if (c == 0xFF) { - /* Loop here to discard any padding FF's on terminating marker, - * so that we can save a valid unread_marker value. NOTE: we will - * accept multiple FF's followed by a 0 as meaning a single FF data - * byte. This data pattern is not valid according to the standard. - */ - do { - if (bytes_in_buffer == 0) { - if (! (*cinfo->src->fill_input_buffer) (cinfo)) - return FALSE; - next_input_byte = cinfo->src->next_input_byte; - bytes_in_buffer = cinfo->src->bytes_in_buffer; - } - bytes_in_buffer--; - c = GETJOCTET(*next_input_byte++); - } while (c == 0xFF); - - if (c == 0) { - /* Found FF/00, which represents an FF data byte */ - c = 0xFF; - } else { - /* Oops, it's actually a marker indicating end of compressed data. - * Save the marker code for later use. - * Fine point: it might appear that we should save the marker into - * bitread working state, not straight into permanent state. But - * once we have hit a marker, we cannot need to suspend within the - * current MCU, because we will read no more bytes from the data - * source. So it is OK to update permanent state right away. - */ - cinfo->unread_marker = c; - /* See if we need to insert some fake zero bits. */ - goto no_more_bytes; - } - } - - /* OK, load c into get_buffer */ - get_buffer = (get_buffer << 8) | c; - bits_left += 8; - } /* end while */ - } else { - no_more_bytes: - /* We get here if we've read the marker that terminates the compressed - * data segment. There should be enough bits in the buffer register - * to satisfy the request; if so, no problem. - */ - if (nbits > bits_left) { - /* Uh-oh. Report corrupted data to user and stuff zeroes into - * the data stream, so that we can produce some kind of image. - * We use a nonvolatile flag to ensure that only one warning message - * appears per data segment. - */ - if (! cinfo->entropy->insufficient_data) { - WARNMS(cinfo, JWRN_HIT_MARKER); - cinfo->entropy->insufficient_data = TRUE; - } - /* Fill the buffer with zero bits */ - get_buffer <<= MIN_GET_BITS - bits_left; - bits_left = MIN_GET_BITS; - } - } - - /* Unload the local registers */ - state->next_input_byte = next_input_byte; - state->bytes_in_buffer = bytes_in_buffer; - state->get_buffer = get_buffer; - state->bits_left = bits_left; - - return TRUE; -} - - -/* - * Figure F.12: extend sign bit. - * On some machines, a shift and sub will be faster than a table lookup. - */ - -#ifdef AVOID_TABLES - -#define BIT_MASK(nbits) ((1<<(nbits))-1) -#define HUFF_EXTEND(x,s) ((x) < (1<<((s)-1)) ? (x) - ((1<<(s))-1) : (x)) - -#else - -#define BIT_MASK(nbits) bmask[nbits] -#define HUFF_EXTEND(x,s) ((x) <= bmask[(s) - 1] ? (x) - bmask[s] : (x)) - -static const int bmask[16] = /* bmask[n] is mask for n rightmost bits */ - { 0, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, - 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF }; - -#endif /* AVOID_TABLES */ - - -/* - * Out-of-line code for Huffman code decoding. - */ - -LOCAL(int) -jpeg_huff_decode (bitread_working_state * state, - register bit_buf_type get_buffer, register int bits_left, - d_derived_tbl * htbl, int min_bits) -{ - register int l = min_bits; - register INT32 code; - - /* HUFF_DECODE has determined that the code is at least min_bits */ - /* bits long, so fetch that many bits in one swoop. */ - - CHECK_BIT_BUFFER(*state, l, return -1); - code = GET_BITS(l); - - /* Collect the rest of the Huffman code one bit at a time. */ - /* This is per Figure F.16 in the JPEG spec. */ - - while (code > htbl->maxcode[l]) { - code <<= 1; - CHECK_BIT_BUFFER(*state, 1, return -1); - code |= GET_BITS(1); - l++; - } - - /* Unload the local registers */ - state->get_buffer = get_buffer; - state->bits_left = bits_left; - - /* With garbage input we may reach the sentinel value l = 17. */ - - if (l > 16) { - WARNMS(state->cinfo, JWRN_HUFF_BAD_CODE); - return 0; /* fake a zero as the safest result */ - } - - return htbl->pub->huffval[ (int) (code + htbl->valoffset[l]) ]; -} - - -/* - * Check for a restart marker & resynchronize decoder. - * Returns FALSE if must suspend. - */ - -LOCAL(boolean) -process_restart (j_decompress_ptr cinfo) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int ci; - - /* Throw away any unused bits remaining in bit buffer; */ - /* include any full bytes in next_marker's count of discarded bytes */ - cinfo->marker->discarded_bytes += entropy->bitstate.bits_left / 8; - entropy->bitstate.bits_left = 0; - - /* Advance past the RSTn marker */ - if (! (*cinfo->marker->read_restart_marker) (cinfo)) - return FALSE; - - /* Re-initialize DC predictions to 0 */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) - entropy->saved.last_dc_val[ci] = 0; - /* Re-init EOB run count, too */ - entropy->saved.EOBRUN = 0; - - /* Reset restart counter */ - entropy->restarts_to_go = cinfo->restart_interval; - - /* Reset out-of-data flag, unless read_restart_marker left us smack up - * against a marker. In that case we will end up treating the next data - * segment as empty, and we can avoid producing bogus output pixels by - * leaving the flag set. - */ - if (cinfo->unread_marker == 0) - entropy->pub.insufficient_data = FALSE; - - return TRUE; -} - - -/* - * Huffman MCU decoding. - * Each of these routines decodes and returns one MCU's worth of - * Huffman-compressed coefficients. - * The coefficients are reordered from zigzag order into natural array order, - * but are not dequantized. - * - * The i'th block of the MCU is stored into the block pointed to by - * MCU_data[i]. WE ASSUME THIS AREA IS INITIALLY ZEROED BY THE CALLER. - * (Wholesale zeroing is usually a little faster than retail...) - * - * We return FALSE if data source requested suspension. In that case no - * changes have been made to permanent state. (Exception: some output - * coefficients may already have been assigned. This is harmless for - * spectral selection, since we'll just re-assign them on the next call. - * Successive approximation AC refinement has to be more careful, however.) - */ - -/* - * MCU decoding for DC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int Al = cinfo->Al; - register int s, r; - int blkn, ci; - JBLOCKROW block; - BITREAD_STATE_VARS; - savable_state state; - d_derived_tbl * tbl; - jpeg_component_info * compptr; - - /* Process restart marker if needed; may have to suspend */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! process_restart(cinfo)) - return FALSE; - } - - /* If we've run out of data, just leave the MCU set to zeroes. - * This way, we return uniform gray for the remainder of the segment. - */ - if (! entropy->pub.insufficient_data) { - - /* Load up working state */ - BITREAD_LOAD_STATE(cinfo,entropy->bitstate); - ASSIGN_STATE(state, entropy->saved); - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - tbl = entropy->derived_tbls[compptr->dc_tbl_no]; - - /* Decode a single block's worth of coefficients */ - - /* Section F.2.2.1: decode the DC coefficient difference */ - HUFF_DECODE(s, br_state, tbl, return FALSE, label1); - if (s) { - CHECK_BIT_BUFFER(br_state, s, return FALSE); - r = GET_BITS(s); - s = HUFF_EXTEND(r, s); - } - - /* Convert DC difference to actual value, update last_dc_val */ - s += state.last_dc_val[ci]; - state.last_dc_val[ci] = s; - /* Scale and output the coefficient (assumes jpeg_natural_order[0]=0) */ - (*block)[0] = (JCOEF) (s << Al); - } - - /* Completed MCU, so update state */ - BITREAD_SAVE_STATE(cinfo,entropy->bitstate); - ASSIGN_STATE(entropy->saved, state); - } - - /* Account for restart interval (no-op if not using restarts) */ - entropy->restarts_to_go--; - - return TRUE; -} - - -/* - * MCU decoding for AC initial scan (either spectral selection, - * or first pass of successive approximation). - */ - -METHODDEF(boolean) -decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int Se = cinfo->Se; - int Al = cinfo->Al; - register int s, k, r; - unsigned int EOBRUN; - JBLOCKROW block; - BITREAD_STATE_VARS; - d_derived_tbl * tbl; - - /* Process restart marker if needed; may have to suspend */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! process_restart(cinfo)) - return FALSE; - } - - /* If we've run out of data, just leave the MCU set to zeroes. - * This way, we return uniform gray for the remainder of the segment. - */ - if (! entropy->pub.insufficient_data) { - - /* Load up working state. - * We can avoid loading/saving bitread state if in an EOB run. - */ - EOBRUN = entropy->saved.EOBRUN; /* only part of saved state we need */ - - /* There is always only one block per MCU */ - - if (EOBRUN > 0) /* if it's a band of zeroes... */ - EOBRUN--; /* ...process it now (we do nothing) */ - else { - BITREAD_LOAD_STATE(cinfo,entropy->bitstate); - block = MCU_data[0]; - tbl = entropy->ac_derived_tbl; - - for (k = cinfo->Ss; k <= Se; k++) { - HUFF_DECODE(s, br_state, tbl, return FALSE, label2); - r = s >> 4; - s &= 15; - if (s) { - k += r; - CHECK_BIT_BUFFER(br_state, s, return FALSE); - r = GET_BITS(s); - s = HUFF_EXTEND(r, s); - /* Scale and output coefficient in natural (dezigzagged) order */ - (*block)[jpeg_natural_order[k]] = (JCOEF) (s << Al); - } else { - if (r == 15) { /* ZRL */ - k += 15; /* skip 15 zeroes in band */ - } else { /* EOBr, run length is 2^r + appended bits */ - EOBRUN = 1 << r; - if (r) { /* EOBr, r > 0 */ - CHECK_BIT_BUFFER(br_state, r, return FALSE); - r = GET_BITS(r); - EOBRUN += r; - } - EOBRUN--; /* this band is processed at this moment */ - break; /* force end-of-band */ - } - } - } - - BITREAD_SAVE_STATE(cinfo,entropy->bitstate); - } - - /* Completed MCU, so update state */ - entropy->saved.EOBRUN = EOBRUN; /* only part of saved state we need */ - } - - /* Account for restart interval (no-op if not using restarts) */ - entropy->restarts_to_go--; - - return TRUE; -} - - -/* - * MCU decoding for DC successive approximation refinement scan. - * Note: we assume such scans can be multi-component, although the spec - * is not very clear on the point. - */ - -METHODDEF(boolean) -decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ - int blkn; - JBLOCKROW block; - BITREAD_STATE_VARS; - - /* Process restart marker if needed; may have to suspend */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! process_restart(cinfo)) - return FALSE; - } - - /* Not worth the cycles to check insufficient_data here, - * since we will not change the data anyway if we read zeroes. - */ - - /* Load up working state */ - BITREAD_LOAD_STATE(cinfo,entropy->bitstate); - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - block = MCU_data[blkn]; - - /* Encoded data is simply the next bit of the two's-complement DC value */ - CHECK_BIT_BUFFER(br_state, 1, return FALSE); - if (GET_BITS(1)) - (*block)[0] |= p1; - /* Note: since we use |=, repeating the assignment later is safe */ - } - - /* Completed MCU, so update state */ - BITREAD_SAVE_STATE(cinfo,entropy->bitstate); - - /* Account for restart interval (no-op if not using restarts) */ - entropy->restarts_to_go--; - - return TRUE; -} - - -/* - * MCU decoding for AC successive approximation refinement scan. - */ - -METHODDEF(boolean) -decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int Se = cinfo->Se; - int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ - int m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ - register int s, k, r; - unsigned int EOBRUN; - JBLOCKROW block; - JCOEFPTR thiscoef; - BITREAD_STATE_VARS; - d_derived_tbl * tbl; - int num_newnz; - int newnz_pos[DCTSIZE2]; - - /* Process restart marker if needed; may have to suspend */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! process_restart(cinfo)) - return FALSE; - } - - /* If we've run out of data, don't modify the MCU. - */ - if (! entropy->pub.insufficient_data) { - - /* Load up working state */ - BITREAD_LOAD_STATE(cinfo,entropy->bitstate); - EOBRUN = entropy->saved.EOBRUN; /* only part of saved state we need */ - - /* There is always only one block per MCU */ - block = MCU_data[0]; - tbl = entropy->ac_derived_tbl; - - /* If we are forced to suspend, we must undo the assignments to any newly - * nonzero coefficients in the block, because otherwise we'd get confused - * next time about which coefficients were already nonzero. - * But we need not undo addition of bits to already-nonzero coefficients; - * instead, we can test the current bit to see if we already did it. - */ - num_newnz = 0; - - /* initialize coefficient loop counter to start of band */ - k = cinfo->Ss; - - if (EOBRUN == 0) { - for (; k <= Se; k++) { - HUFF_DECODE(s, br_state, tbl, goto undoit, label3); - r = s >> 4; - s &= 15; - if (s) { - if (s != 1) /* size of new coef should always be 1 */ - WARNMS(cinfo, JWRN_HUFF_BAD_CODE); - CHECK_BIT_BUFFER(br_state, 1, goto undoit); - if (GET_BITS(1)) - s = p1; /* newly nonzero coef is positive */ - else - s = m1; /* newly nonzero coef is negative */ - } else { - if (r != 15) { - EOBRUN = 1 << r; /* EOBr, run length is 2^r + appended bits */ - if (r) { - CHECK_BIT_BUFFER(br_state, r, goto undoit); - r = GET_BITS(r); - EOBRUN += r; - } - break; /* rest of block is handled by EOB logic */ - } - /* note s = 0 for processing ZRL */ - } - /* Advance over already-nonzero coefs and r still-zero coefs, - * appending correction bits to the nonzeroes. A correction bit is 1 - * if the absolute value of the coefficient must be increased. - */ - do { - thiscoef = *block + jpeg_natural_order[k]; - if (*thiscoef != 0) { - CHECK_BIT_BUFFER(br_state, 1, goto undoit); - if (GET_BITS(1)) { - if ((*thiscoef & p1) == 0) { /* do nothing if already set it */ - if (*thiscoef >= 0) - *thiscoef += p1; - else - *thiscoef += m1; - } - } - } else { - if (--r < 0) - break; /* reached target zero coefficient */ - } - k++; - } while (k <= Se); - if (s) { - int pos = jpeg_natural_order[k]; - /* Output newly nonzero coefficient */ - (*block)[pos] = (JCOEF) s; - /* Remember its position in case we have to suspend */ - newnz_pos[num_newnz++] = pos; - } - } - } - - if (EOBRUN > 0) { - /* Scan any remaining coefficient positions after the end-of-band - * (the last newly nonzero coefficient, if any). Append a correction - * bit to each already-nonzero coefficient. A correction bit is 1 - * if the absolute value of the coefficient must be increased. - */ - for (; k <= Se; k++) { - thiscoef = *block + jpeg_natural_order[k]; - if (*thiscoef != 0) { - CHECK_BIT_BUFFER(br_state, 1, goto undoit); - if (GET_BITS(1)) { - if ((*thiscoef & p1) == 0) { /* do nothing if already changed it */ - if (*thiscoef >= 0) - *thiscoef += p1; - else - *thiscoef += m1; - } - } - } - } - /* Count one block completed in EOB run */ - EOBRUN--; - } - - /* Completed MCU, so update state */ - BITREAD_SAVE_STATE(cinfo,entropy->bitstate); - entropy->saved.EOBRUN = EOBRUN; /* only part of saved state we need */ - } - - /* Account for restart interval (no-op if not using restarts) */ - entropy->restarts_to_go--; - - return TRUE; - -undoit: - /* Re-zero any output coefficients that we made newly nonzero */ - while (num_newnz > 0) - (*block)[newnz_pos[--num_newnz]] = 0; - - return FALSE; -} - - -/* - * Decode one MCU's worth of Huffman-compressed coefficients. - */ - -METHODDEF(boolean) -decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int blkn; - BITREAD_STATE_VARS; - savable_state state; - - /* Process restart marker if needed; may have to suspend */ - if (cinfo->restart_interval) { - if (entropy->restarts_to_go == 0) - if (! process_restart(cinfo)) - return FALSE; - } - - /* If we've run out of data, just leave the MCU set to zeroes. - * This way, we return uniform gray for the remainder of the segment. - */ - if (! entropy->pub.insufficient_data) { - - /* Load up working state */ - BITREAD_LOAD_STATE(cinfo,entropy->bitstate); - ASSIGN_STATE(state, entropy->saved); - - /* Outer loop handles each block in the MCU */ - - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - JBLOCKROW block = MCU_data[blkn]; - d_derived_tbl * htbl; - register int s, k, r; - int coef_limit, ci; - - /* Decode a single block's worth of coefficients */ - - /* Section F.2.2.1: decode the DC coefficient difference */ - htbl = entropy->dc_cur_tbls[blkn]; - HUFF_DECODE(s, br_state, htbl, return FALSE, label1); - - htbl = entropy->ac_cur_tbls[blkn]; - k = 1; - coef_limit = entropy->coef_limit[blkn]; - if (coef_limit) { - /* Convert DC difference to actual value, update last_dc_val */ - if (s) { - CHECK_BIT_BUFFER(br_state, s, return FALSE); - r = GET_BITS(s); - s = HUFF_EXTEND(r, s); - } - ci = cinfo->MCU_membership[blkn]; - s += state.last_dc_val[ci]; - state.last_dc_val[ci] = s; - /* Output the DC coefficient */ - (*block)[0] = (JCOEF) s; - - /* Section F.2.2.2: decode the AC coefficients */ - /* Since zeroes are skipped, output area must be cleared beforehand */ - for (; k < coef_limit; k++) { - HUFF_DECODE(s, br_state, htbl, return FALSE, label2); - - r = s >> 4; - s &= 15; - - if (s) { - k += r; - CHECK_BIT_BUFFER(br_state, s, return FALSE); - r = GET_BITS(s); - s = HUFF_EXTEND(r, s); - /* Output coefficient in natural (dezigzagged) order. - * Note: the extra entries in jpeg_natural_order[] will save us - * if k >= DCTSIZE2, which could happen if the data is corrupted. - */ - (*block)[jpeg_natural_order[k]] = (JCOEF) s; - } else { - if (r != 15) - goto EndOfBlock; - k += 15; - } - } - } else { - if (s) { - CHECK_BIT_BUFFER(br_state, s, return FALSE); - DROP_BITS(s); - } - } - - /* Section F.2.2.2: decode the AC coefficients */ - /* In this path we just discard the values */ - for (; k < DCTSIZE2; k++) { - HUFF_DECODE(s, br_state, htbl, return FALSE, label3); - - r = s >> 4; - s &= 15; - - if (s) { - k += r; - CHECK_BIT_BUFFER(br_state, s, return FALSE); - DROP_BITS(s); - } else { - if (r != 15) - break; - k += 15; - } - } - - EndOfBlock: ; - } - - /* Completed MCU, so update state */ - BITREAD_SAVE_STATE(cinfo,entropy->bitstate); - ASSIGN_STATE(entropy->saved, state); - } - - /* Account for restart interval (no-op if not using restarts) */ - entropy->restarts_to_go--; - - return TRUE; -} - - -/* - * Initialize for a Huffman-compressed scan. - */ - -METHODDEF(void) -start_pass_huff_decoder (j_decompress_ptr cinfo) -{ - huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; - int ci, blkn, dctbl, actbl, i; - jpeg_component_info * compptr; - - if (cinfo->progressive_mode) { - /* Validate progressive scan parameters */ - if (cinfo->Ss == 0) { - if (cinfo->Se != 0) - goto bad; - } else { - /* need not check Ss/Se < 0 since they came from unsigned bytes */ - if (cinfo->Se < cinfo->Ss || cinfo->Se >= DCTSIZE2) - goto bad; - /* AC scans may have only one component */ - if (cinfo->comps_in_scan != 1) - goto bad; - } - if (cinfo->Ah != 0) { - /* Successive approximation refinement scan: must have Al = Ah-1. */ - if (cinfo->Ah-1 != cinfo->Al) - goto bad; - } - if (cinfo->Al > 13) { /* need not check for < 0 */ - /* Arguably the maximum Al value should be less than 13 for 8-bit precision, - * but the spec doesn't say so, and we try to be liberal about what we - * accept. Note: large Al values could result in out-of-range DC - * coefficients during early scans, leading to bizarre displays due to - * overflows in the IDCT math. But we won't crash. - */ - bad: - ERREXIT4(cinfo, JERR_BAD_PROGRESSION, - cinfo->Ss, cinfo->Se, cinfo->Ah, cinfo->Al); - } - /* Update progression status, and verify that scan order is legal. - * Note that inter-scan inconsistencies are treated as warnings - * not fatal errors ... not clear if this is right way to behave. - */ - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - int coefi, cindex = cinfo->cur_comp_info[ci]->component_index; - int *coef_bit_ptr = & cinfo->coef_bits[cindex][0]; - if (cinfo->Ss && coef_bit_ptr[0] < 0) /* AC without prior DC scan */ - WARNMS2(cinfo, JWRN_BOGUS_PROGRESSION, cindex, 0); - for (coefi = cinfo->Ss; coefi <= cinfo->Se; coefi++) { - int expected = (coef_bit_ptr[coefi] < 0) ? 0 : coef_bit_ptr[coefi]; - if (cinfo->Ah != expected) - WARNMS2(cinfo, JWRN_BOGUS_PROGRESSION, cindex, coefi); - coef_bit_ptr[coefi] = cinfo->Al; - } - } - - /* Select MCU decoding routine */ - if (cinfo->Ah == 0) { - if (cinfo->Ss == 0) - entropy->pub.decode_mcu = decode_mcu_DC_first; - else - entropy->pub.decode_mcu = decode_mcu_AC_first; - } else { - if (cinfo->Ss == 0) - entropy->pub.decode_mcu = decode_mcu_DC_refine; - else - entropy->pub.decode_mcu = decode_mcu_AC_refine; - } - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Make sure requested tables are present, and compute derived tables. - * We may build same derived table more than once, but it's not expensive. - */ - if (cinfo->Ss == 0) { - if (cinfo->Ah == 0) { /* DC refinement needs no table */ - i = compptr->dc_tbl_no; - jpeg_make_d_derived_tbl(cinfo, TRUE, i, - & entropy->derived_tbls[i]); - } - } else { - i = compptr->ac_tbl_no; - jpeg_make_d_derived_tbl(cinfo, FALSE, i, - & entropy->derived_tbls[i]); - /* remember the single active table */ - entropy->ac_derived_tbl = entropy->derived_tbls[i]; - } - /* Initialize DC predictions to 0 */ - entropy->saved.last_dc_val[ci] = 0; - } - - /* Initialize private state variables */ - entropy->saved.EOBRUN = 0; - } else { - /* Check that the scan parameters Ss, Se, Ah/Al are OK for sequential JPEG. - * This ought to be an error condition, but we make it a warning because - * there are some baseline files out there with all zeroes in these bytes. - */ - if (cinfo->Ss != 0 || cinfo->Se != DCTSIZE2-1 || - cinfo->Ah != 0 || cinfo->Al != 0) - WARNMS(cinfo, JWRN_NOT_SEQUENTIAL); - - /* Select MCU decoding routine */ - entropy->pub.decode_mcu = decode_mcu; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - dctbl = compptr->dc_tbl_no; - actbl = compptr->ac_tbl_no; - /* Compute derived values for Huffman tables */ - /* We may do this more than once for a table, but it's not expensive */ - jpeg_make_d_derived_tbl(cinfo, TRUE, dctbl, - & entropy->dc_derived_tbls[dctbl]); - jpeg_make_d_derived_tbl(cinfo, FALSE, actbl, - & entropy->ac_derived_tbls[actbl]); - /* Initialize DC predictions to 0 */ - entropy->saved.last_dc_val[ci] = 0; - } - - /* Precalculate decoding info for each block in an MCU of this scan */ - for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { - ci = cinfo->MCU_membership[blkn]; - compptr = cinfo->cur_comp_info[ci]; - /* Precalculate which table to use for each block */ - entropy->dc_cur_tbls[blkn] = entropy->dc_derived_tbls[compptr->dc_tbl_no]; - entropy->ac_cur_tbls[blkn] = entropy->ac_derived_tbls[compptr->ac_tbl_no]; - /* Decide whether we really care about the coefficient values */ - if (compptr->component_needed) { - ci = compptr->DCT_v_scaled_size; - if (ci <= 0 || ci > 8) ci = 8; - i = compptr->DCT_h_scaled_size; - if (i <= 0 || i > 8) i = 8; - entropy->coef_limit[blkn] = 1 + jpeg_zigzag_order[ci - 1][i - 1]; - } else { - entropy->coef_limit[blkn] = 0; - } - } - } - - /* Initialize bitread state variables */ - entropy->bitstate.bits_left = 0; - entropy->bitstate.get_buffer = 0; /* unnecessary, but keeps Purify quiet */ - entropy->pub.insufficient_data = FALSE; - - /* Initialize restart counter */ - entropy->restarts_to_go = cinfo->restart_interval; -} - - -/* - * Module initialization routine for Huffman entropy decoding. - */ - -GLOBAL(void) -jinit_huff_decoder (j_decompress_ptr cinfo) -{ - huff_entropy_ptr entropy; - int i; - - entropy = (huff_entropy_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(huff_entropy_decoder)); - cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; - entropy->pub.start_pass = start_pass_huff_decoder; - - if (cinfo->progressive_mode) { - /* Create progression status table */ - int *coef_bit_ptr, ci; - cinfo->coef_bits = (int (*)[DCTSIZE2]) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->num_components*DCTSIZE2*SIZEOF(int)); - coef_bit_ptr = & cinfo->coef_bits[0][0]; - for (ci = 0; ci < cinfo->num_components; ci++) - for (i = 0; i < DCTSIZE2; i++) - *coef_bit_ptr++ = -1; - - /* Mark derived tables unallocated */ - for (i = 0; i < NUM_HUFF_TBLS; i++) { - entropy->derived_tbls[i] = NULL; - } - } else { - /* Mark tables unallocated */ - for (i = 0; i < NUM_HUFF_TBLS; i++) { - entropy->dc_derived_tbls[i] = entropy->ac_derived_tbls[i] = NULL; - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdinput.c b/3rdparty/openctm/tools/jpeg/jdinput.c deleted file mode 100644 index 2621768d5..000000000 --- a/3rdparty/openctm/tools/jpeg/jdinput.c +++ /dev/null @@ -1,384 +0,0 @@ -/* - * jdinput.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2002-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains input control logic for the JPEG decompressor. - * These routines are concerned with controlling the decompressor's input - * processing (marker reading and coefficient decoding). The actual input - * reading is done in jdmarker.c, jdhuff.c, and jdarith.c. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private state */ - -typedef struct { - struct jpeg_input_controller pub; /* public fields */ - - boolean inheaders; /* TRUE until first SOS is reached */ -} my_input_controller; - -typedef my_input_controller * my_inputctl_ptr; - - -/* Forward declarations */ -METHODDEF(int) consume_markers JPP((j_decompress_ptr cinfo)); - - -/* - * Routines to calculate various quantities related to the size of the image. - */ - -LOCAL(void) -initial_setup (j_decompress_ptr cinfo) -/* Called once, when first SOS marker is reached */ -{ - int ci; - jpeg_component_info *compptr; - - /* Make sure image isn't bigger than I can handle */ - if ((long) cinfo->image_height > (long) JPEG_MAX_DIMENSION || - (long) cinfo->image_width > (long) JPEG_MAX_DIMENSION) - ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); - - /* For now, precision must match compiled-in value... */ - if (cinfo->data_precision != BITS_IN_JSAMPLE) - ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); - - /* Check that number of components won't exceed internal array sizes */ - if (cinfo->num_components > MAX_COMPONENTS) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, - MAX_COMPONENTS); - - /* Compute maximum sampling factors; check factor validity */ - cinfo->max_h_samp_factor = 1; - cinfo->max_v_samp_factor = 1; - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - if (compptr->h_samp_factor<=0 || compptr->h_samp_factor>MAX_SAMP_FACTOR || - compptr->v_samp_factor<=0 || compptr->v_samp_factor>MAX_SAMP_FACTOR) - ERREXIT(cinfo, JERR_BAD_SAMPLING); - cinfo->max_h_samp_factor = MAX(cinfo->max_h_samp_factor, - compptr->h_samp_factor); - cinfo->max_v_samp_factor = MAX(cinfo->max_v_samp_factor, - compptr->v_samp_factor); - } - - /* We initialize DCT_scaled_size and min_DCT_scaled_size to DCTSIZE. - * In the full decompressor, this will be overridden by jdmaster.c; - * but in the transcoder, jdmaster.c is not used, so we must do it here. - */ - cinfo->min_DCT_h_scaled_size = DCTSIZE; - cinfo->min_DCT_v_scaled_size = DCTSIZE; - - /* Compute dimensions of components */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - compptr->DCT_h_scaled_size = DCTSIZE; - compptr->DCT_v_scaled_size = DCTSIZE; - /* Size in DCT blocks */ - compptr->width_in_blocks = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * (long) compptr->h_samp_factor, - (long) (cinfo->max_h_samp_factor * DCTSIZE)); - compptr->height_in_blocks = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * (long) compptr->v_samp_factor, - (long) (cinfo->max_v_samp_factor * DCTSIZE)); - /* downsampled_width and downsampled_height will also be overridden by - * jdmaster.c if we are doing full decompression. The transcoder library - * doesn't use these values, but the calling application might. - */ - /* Size in samples */ - compptr->downsampled_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * (long) compptr->h_samp_factor, - (long) cinfo->max_h_samp_factor); - compptr->downsampled_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * (long) compptr->v_samp_factor, - (long) cinfo->max_v_samp_factor); - /* Mark component needed, until color conversion says otherwise */ - compptr->component_needed = TRUE; - /* Mark no quantization table yet saved for component */ - compptr->quant_table = NULL; - } - - /* Compute number of fully interleaved MCU rows. */ - cinfo->total_iMCU_rows = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, - (long) (cinfo->max_v_samp_factor*DCTSIZE)); - - /* Decide whether file contains multiple scans */ - if (cinfo->comps_in_scan < cinfo->num_components || cinfo->progressive_mode) - cinfo->inputctl->has_multiple_scans = TRUE; - else - cinfo->inputctl->has_multiple_scans = FALSE; -} - - -LOCAL(void) -per_scan_setup (j_decompress_ptr cinfo) -/* Do computations that are needed before processing a JPEG scan */ -/* cinfo->comps_in_scan and cinfo->cur_comp_info[] were set from SOS marker */ -{ - int ci, mcublks, tmp; - jpeg_component_info *compptr; - - if (cinfo->comps_in_scan == 1) { - - /* Noninterleaved (single-component) scan */ - compptr = cinfo->cur_comp_info[0]; - - /* Overall image size in MCUs */ - cinfo->MCUs_per_row = compptr->width_in_blocks; - cinfo->MCU_rows_in_scan = compptr->height_in_blocks; - - /* For noninterleaved scan, always one block per MCU */ - compptr->MCU_width = 1; - compptr->MCU_height = 1; - compptr->MCU_blocks = 1; - compptr->MCU_sample_width = compptr->DCT_h_scaled_size; - compptr->last_col_width = 1; - /* For noninterleaved scans, it is convenient to define last_row_height - * as the number of block rows present in the last iMCU row. - */ - tmp = (int) (compptr->height_in_blocks % compptr->v_samp_factor); - if (tmp == 0) tmp = compptr->v_samp_factor; - compptr->last_row_height = tmp; - - /* Prepare array describing MCU composition */ - cinfo->blocks_in_MCU = 1; - cinfo->MCU_membership[0] = 0; - - } else { - - /* Interleaved (multi-component) scan */ - if (cinfo->comps_in_scan <= 0 || cinfo->comps_in_scan > MAX_COMPS_IN_SCAN) - ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->comps_in_scan, - MAX_COMPS_IN_SCAN); - - /* Overall image size in MCUs */ - cinfo->MCUs_per_row = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, - (long) (cinfo->max_h_samp_factor*DCTSIZE)); - cinfo->MCU_rows_in_scan = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, - (long) (cinfo->max_v_samp_factor*DCTSIZE)); - - cinfo->blocks_in_MCU = 0; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* Sampling factors give # of blocks of component in each MCU */ - compptr->MCU_width = compptr->h_samp_factor; - compptr->MCU_height = compptr->v_samp_factor; - compptr->MCU_blocks = compptr->MCU_width * compptr->MCU_height; - compptr->MCU_sample_width = compptr->MCU_width * compptr->DCT_h_scaled_size; - /* Figure number of non-dummy blocks in last MCU column & row */ - tmp = (int) (compptr->width_in_blocks % compptr->MCU_width); - if (tmp == 0) tmp = compptr->MCU_width; - compptr->last_col_width = tmp; - tmp = (int) (compptr->height_in_blocks % compptr->MCU_height); - if (tmp == 0) tmp = compptr->MCU_height; - compptr->last_row_height = tmp; - /* Prepare array describing MCU composition */ - mcublks = compptr->MCU_blocks; - if (cinfo->blocks_in_MCU + mcublks > D_MAX_BLOCKS_IN_MCU) - ERREXIT(cinfo, JERR_BAD_MCU_SIZE); - while (mcublks-- > 0) { - cinfo->MCU_membership[cinfo->blocks_in_MCU++] = ci; - } - } - - } -} - - -/* - * Save away a copy of the Q-table referenced by each component present - * in the current scan, unless already saved during a prior scan. - * - * In a multiple-scan JPEG file, the encoder could assign different components - * the same Q-table slot number, but change table definitions between scans - * so that each component uses a different Q-table. (The IJG encoder is not - * currently capable of doing this, but other encoders might.) Since we want - * to be able to dequantize all the components at the end of the file, this - * means that we have to save away the table actually used for each component. - * We do this by copying the table at the start of the first scan containing - * the component. - * The JPEG spec prohibits the encoder from changing the contents of a Q-table - * slot between scans of a component using that slot. If the encoder does so - * anyway, this decoder will simply use the Q-table values that were current - * at the start of the first scan for the component. - * - * The decompressor output side looks only at the saved quant tables, - * not at the current Q-table slots. - */ - -LOCAL(void) -latch_quant_tables (j_decompress_ptr cinfo) -{ - int ci, qtblno; - jpeg_component_info *compptr; - JQUANT_TBL * qtbl; - - for (ci = 0; ci < cinfo->comps_in_scan; ci++) { - compptr = cinfo->cur_comp_info[ci]; - /* No work if we already saved Q-table for this component */ - if (compptr->quant_table != NULL) - continue; - /* Make sure specified quantization table is present */ - qtblno = compptr->quant_tbl_no; - if (qtblno < 0 || qtblno >= NUM_QUANT_TBLS || - cinfo->quant_tbl_ptrs[qtblno] == NULL) - ERREXIT1(cinfo, JERR_NO_QUANT_TABLE, qtblno); - /* OK, save away the quantization table */ - qtbl = (JQUANT_TBL *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(JQUANT_TBL)); - MEMCOPY(qtbl, cinfo->quant_tbl_ptrs[qtblno], SIZEOF(JQUANT_TBL)); - compptr->quant_table = qtbl; - } -} - - -/* - * Initialize the input modules to read a scan of compressed data. - * The first call to this is done by jdmaster.c after initializing - * the entire decompressor (during jpeg_start_decompress). - * Subsequent calls come from consume_markers, below. - */ - -METHODDEF(void) -start_input_pass (j_decompress_ptr cinfo) -{ - per_scan_setup(cinfo); - latch_quant_tables(cinfo); - (*cinfo->entropy->start_pass) (cinfo); - (*cinfo->coef->start_input_pass) (cinfo); - cinfo->inputctl->consume_input = cinfo->coef->consume_data; -} - - -/* - * Finish up after inputting a compressed-data scan. - * This is called by the coefficient controller after it's read all - * the expected data of the scan. - */ - -METHODDEF(void) -finish_input_pass (j_decompress_ptr cinfo) -{ - cinfo->inputctl->consume_input = consume_markers; -} - - -/* - * Read JPEG markers before, between, or after compressed-data scans. - * Change state as necessary when a new scan is reached. - * Return value is JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. - * - * The consume_input method pointer points either here or to the - * coefficient controller's consume_data routine, depending on whether - * we are reading a compressed data segment or inter-segment markers. - */ - -METHODDEF(int) -consume_markers (j_decompress_ptr cinfo) -{ - my_inputctl_ptr inputctl = (my_inputctl_ptr) cinfo->inputctl; - int val; - - if (inputctl->pub.eoi_reached) /* After hitting EOI, read no further */ - return JPEG_REACHED_EOI; - - val = (*cinfo->marker->read_markers) (cinfo); - - switch (val) { - case JPEG_REACHED_SOS: /* Found SOS */ - if (inputctl->inheaders) { /* 1st SOS */ - initial_setup(cinfo); - inputctl->inheaders = FALSE; - /* Note: start_input_pass must be called by jdmaster.c - * before any more input can be consumed. jdapimin.c is - * responsible for enforcing this sequencing. - */ - } else { /* 2nd or later SOS marker */ - if (! inputctl->pub.has_multiple_scans) - ERREXIT(cinfo, JERR_EOI_EXPECTED); /* Oops, I wasn't expecting this! */ - start_input_pass(cinfo); - } - break; - case JPEG_REACHED_EOI: /* Found EOI */ - inputctl->pub.eoi_reached = TRUE; - if (inputctl->inheaders) { /* Tables-only datastream, apparently */ - if (cinfo->marker->saw_SOF) - ERREXIT(cinfo, JERR_SOF_NO_SOS); - } else { - /* Prevent infinite loop in coef ctlr's decompress_data routine - * if user set output_scan_number larger than number of scans. - */ - if (cinfo->output_scan_number > cinfo->input_scan_number) - cinfo->output_scan_number = cinfo->input_scan_number; - } - break; - case JPEG_SUSPENDED: - break; - } - - return val; -} - - -/* - * Reset state to begin a fresh datastream. - */ - -METHODDEF(void) -reset_input_controller (j_decompress_ptr cinfo) -{ - my_inputctl_ptr inputctl = (my_inputctl_ptr) cinfo->inputctl; - - inputctl->pub.consume_input = consume_markers; - inputctl->pub.has_multiple_scans = FALSE; /* "unknown" would be better */ - inputctl->pub.eoi_reached = FALSE; - inputctl->inheaders = TRUE; - /* Reset other modules */ - (*cinfo->err->reset_error_mgr) ((j_common_ptr) cinfo); - (*cinfo->marker->reset_marker_reader) (cinfo); - /* Reset progression state -- would be cleaner if entropy decoder did this */ - cinfo->coef_bits = NULL; -} - - -/* - * Initialize the input controller module. - * This is called only once, when the decompression object is created. - */ - -GLOBAL(void) -jinit_input_controller (j_decompress_ptr cinfo) -{ - my_inputctl_ptr inputctl; - - /* Create subobject in permanent pool */ - inputctl = (my_inputctl_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - SIZEOF(my_input_controller)); - cinfo->inputctl = (struct jpeg_input_controller *) inputctl; - /* Initialize method pointers */ - inputctl->pub.consume_input = consume_markers; - inputctl->pub.reset_input_controller = reset_input_controller; - inputctl->pub.start_input_pass = start_input_pass; - inputctl->pub.finish_input_pass = finish_input_pass; - /* Initialize state: can't use reset_input_controller since we don't - * want to try to reset other modules yet. - */ - inputctl->pub.has_multiple_scans = FALSE; /* "unknown" would be better */ - inputctl->pub.eoi_reached = FALSE; - inputctl->inheaders = TRUE; -} diff --git a/3rdparty/openctm/tools/jpeg/jdmainct.c b/3rdparty/openctm/tools/jpeg/jdmainct.c deleted file mode 100644 index 995aa3970..000000000 --- a/3rdparty/openctm/tools/jpeg/jdmainct.c +++ /dev/null @@ -1,512 +0,0 @@ -/* - * jdmainct.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the main buffer controller for decompression. - * The main buffer lies between the JPEG decompressor proper and the - * post-processor; it holds downsampled data in the JPEG colorspace. - * - * Note that this code is bypassed in raw-data mode, since the application - * supplies the equivalent of the main buffer in that case. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * In the current system design, the main buffer need never be a full-image - * buffer; any full-height buffers will be found inside the coefficient or - * postprocessing controllers. Nonetheless, the main controller is not - * trivial. Its responsibility is to provide context rows for upsampling/ - * rescaling, and doing this in an efficient fashion is a bit tricky. - * - * Postprocessor input data is counted in "row groups". A row group - * is defined to be (v_samp_factor * DCT_scaled_size / min_DCT_scaled_size) - * sample rows of each component. (We require DCT_scaled_size values to be - * chosen such that these numbers are integers. In practice DCT_scaled_size - * values will likely be powers of two, so we actually have the stronger - * condition that DCT_scaled_size / min_DCT_scaled_size is an integer.) - * Upsampling will typically produce max_v_samp_factor pixel rows from each - * row group (times any additional scale factor that the upsampler is - * applying). - * - * The coefficient controller will deliver data to us one iMCU row at a time; - * each iMCU row contains v_samp_factor * DCT_scaled_size sample rows, or - * exactly min_DCT_scaled_size row groups. (This amount of data corresponds - * to one row of MCUs when the image is fully interleaved.) Note that the - * number of sample rows varies across components, but the number of row - * groups does not. Some garbage sample rows may be included in the last iMCU - * row at the bottom of the image. - * - * Depending on the vertical scaling algorithm used, the upsampler may need - * access to the sample row(s) above and below its current input row group. - * The upsampler is required to set need_context_rows TRUE at global selection - * time if so. When need_context_rows is FALSE, this controller can simply - * obtain one iMCU row at a time from the coefficient controller and dole it - * out as row groups to the postprocessor. - * - * When need_context_rows is TRUE, this controller guarantees that the buffer - * passed to postprocessing contains at least one row group's worth of samples - * above and below the row group(s) being processed. Note that the context - * rows "above" the first passed row group appear at negative row offsets in - * the passed buffer. At the top and bottom of the image, the required - * context rows are manufactured by duplicating the first or last real sample - * row; this avoids having special cases in the upsampling inner loops. - * - * The amount of context is fixed at one row group just because that's a - * convenient number for this controller to work with. The existing - * upsamplers really only need one sample row of context. An upsampler - * supporting arbitrary output rescaling might wish for more than one row - * group of context when shrinking the image; tough, we don't handle that. - * (This is justified by the assumption that downsizing will be handled mostly - * by adjusting the DCT_scaled_size values, so that the actual scale factor at - * the upsample step needn't be much less than one.) - * - * To provide the desired context, we have to retain the last two row groups - * of one iMCU row while reading in the next iMCU row. (The last row group - * can't be processed until we have another row group for its below-context, - * and so we have to save the next-to-last group too for its above-context.) - * We could do this most simply by copying data around in our buffer, but - * that'd be very slow. We can avoid copying any data by creating a rather - * strange pointer structure. Here's how it works. We allocate a workspace - * consisting of M+2 row groups (where M = min_DCT_scaled_size is the number - * of row groups per iMCU row). We create two sets of redundant pointers to - * the workspace. Labeling the physical row groups 0 to M+1, the synthesized - * pointer lists look like this: - * M+1 M-1 - * master pointer --> 0 master pointer --> 0 - * 1 1 - * ... ... - * M-3 M-3 - * M-2 M - * M-1 M+1 - * M M-2 - * M+1 M-1 - * 0 0 - * We read alternate iMCU rows using each master pointer; thus the last two - * row groups of the previous iMCU row remain un-overwritten in the workspace. - * The pointer lists are set up so that the required context rows appear to - * be adjacent to the proper places when we pass the pointer lists to the - * upsampler. - * - * The above pictures describe the normal state of the pointer lists. - * At top and bottom of the image, we diddle the pointer lists to duplicate - * the first or last sample row as necessary (this is cheaper than copying - * sample rows around). - * - * This scheme breaks down if M < 2, ie, min_DCT_scaled_size is 1. In that - * situation each iMCU row provides only one row group so the buffering logic - * must be different (eg, we must read two iMCU rows before we can emit the - * first row group). For now, we simply do not support providing context - * rows when min_DCT_scaled_size is 1. That combination seems unlikely to - * be worth providing --- if someone wants a 1/8th-size preview, they probably - * want it quick and dirty, so a context-free upsampler is sufficient. - */ - - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_d_main_controller pub; /* public fields */ - - /* Pointer to allocated workspace (M or M+2 row groups). */ - JSAMPARRAY buffer[MAX_COMPONENTS]; - - boolean buffer_full; /* Have we gotten an iMCU row from decoder? */ - JDIMENSION rowgroup_ctr; /* counts row groups output to postprocessor */ - - /* Remaining fields are only used in the context case. */ - - /* These are the master pointers to the funny-order pointer lists. */ - JSAMPIMAGE xbuffer[2]; /* pointers to weird pointer lists */ - - int whichptr; /* indicates which pointer set is now in use */ - int context_state; /* process_data state machine status */ - JDIMENSION rowgroups_avail; /* row groups available to postprocessor */ - JDIMENSION iMCU_row_ctr; /* counts iMCU rows to detect image top/bot */ -} my_main_controller; - -typedef my_main_controller * my_main_ptr; - -/* context_state values: */ -#define CTX_PREPARE_FOR_IMCU 0 /* need to prepare for MCU row */ -#define CTX_PROCESS_IMCU 1 /* feeding iMCU to postprocessor */ -#define CTX_POSTPONED_ROW 2 /* feeding postponed row group */ - - -/* Forward declarations */ -METHODDEF(void) process_data_simple_main - JPP((j_decompress_ptr cinfo, JSAMPARRAY output_buf, - JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail)); -METHODDEF(void) process_data_context_main - JPP((j_decompress_ptr cinfo, JSAMPARRAY output_buf, - JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail)); -#ifdef QUANT_2PASS_SUPPORTED -METHODDEF(void) process_data_crank_post - JPP((j_decompress_ptr cinfo, JSAMPARRAY output_buf, - JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail)); -#endif - - -LOCAL(void) -alloc_funny_pointers (j_decompress_ptr cinfo) -/* Allocate space for the funny pointer lists. - * This is done only once, not once per pass. - */ -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - int ci, rgroup; - int M = cinfo->min_DCT_v_scaled_size; - jpeg_component_info *compptr; - JSAMPARRAY xbuf; - - /* Get top-level space for component array pointers. - * We alloc both arrays with one call to save a few cycles. - */ - main->xbuffer[0] = (JSAMPIMAGE) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->num_components * 2 * SIZEOF(JSAMPARRAY)); - main->xbuffer[1] = main->xbuffer[0] + cinfo->num_components; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ - /* Get space for pointer lists --- M+4 row groups in each list. - * We alloc both pointer lists with one call to save a few cycles. - */ - xbuf = (JSAMPARRAY) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - 2 * (rgroup * (M + 4)) * SIZEOF(JSAMPROW)); - xbuf += rgroup; /* want one row group at negative offsets */ - main->xbuffer[0][ci] = xbuf; - xbuf += rgroup * (M + 4); - main->xbuffer[1][ci] = xbuf; - } -} - - -LOCAL(void) -make_funny_pointers (j_decompress_ptr cinfo) -/* Create the funny pointer lists discussed in the comments above. - * The actual workspace is already allocated (in main->buffer), - * and the space for the pointer lists is allocated too. - * This routine just fills in the curiously ordered lists. - * This will be repeated at the beginning of each pass. - */ -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - int ci, i, rgroup; - int M = cinfo->min_DCT_v_scaled_size; - jpeg_component_info *compptr; - JSAMPARRAY buf, xbuf0, xbuf1; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ - xbuf0 = main->xbuffer[0][ci]; - xbuf1 = main->xbuffer[1][ci]; - /* First copy the workspace pointers as-is */ - buf = main->buffer[ci]; - for (i = 0; i < rgroup * (M + 2); i++) { - xbuf0[i] = xbuf1[i] = buf[i]; - } - /* In the second list, put the last four row groups in swapped order */ - for (i = 0; i < rgroup * 2; i++) { - xbuf1[rgroup*(M-2) + i] = buf[rgroup*M + i]; - xbuf1[rgroup*M + i] = buf[rgroup*(M-2) + i]; - } - /* The wraparound pointers at top and bottom will be filled later - * (see set_wraparound_pointers, below). Initially we want the "above" - * pointers to duplicate the first actual data line. This only needs - * to happen in xbuffer[0]. - */ - for (i = 0; i < rgroup; i++) { - xbuf0[i - rgroup] = xbuf0[0]; - } - } -} - - -LOCAL(void) -set_wraparound_pointers (j_decompress_ptr cinfo) -/* Set up the "wraparound" pointers at top and bottom of the pointer lists. - * This changes the pointer list state from top-of-image to the normal state. - */ -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - int ci, i, rgroup; - int M = cinfo->min_DCT_v_scaled_size; - jpeg_component_info *compptr; - JSAMPARRAY xbuf0, xbuf1; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ - xbuf0 = main->xbuffer[0][ci]; - xbuf1 = main->xbuffer[1][ci]; - for (i = 0; i < rgroup; i++) { - xbuf0[i - rgroup] = xbuf0[rgroup*(M+1) + i]; - xbuf1[i - rgroup] = xbuf1[rgroup*(M+1) + i]; - xbuf0[rgroup*(M+2) + i] = xbuf0[i]; - xbuf1[rgroup*(M+2) + i] = xbuf1[i]; - } - } -} - - -LOCAL(void) -set_bottom_pointers (j_decompress_ptr cinfo) -/* Change the pointer lists to duplicate the last sample row at the bottom - * of the image. whichptr indicates which xbuffer holds the final iMCU row. - * Also sets rowgroups_avail to indicate number of nondummy row groups in row. - */ -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - int ci, i, rgroup, iMCUheight, rows_left; - jpeg_component_info *compptr; - JSAMPARRAY xbuf; - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Count sample rows in one iMCU row and in one row group */ - iMCUheight = compptr->v_samp_factor * compptr->DCT_v_scaled_size; - rgroup = iMCUheight / cinfo->min_DCT_v_scaled_size; - /* Count nondummy sample rows remaining for this component */ - rows_left = (int) (compptr->downsampled_height % (JDIMENSION) iMCUheight); - if (rows_left == 0) rows_left = iMCUheight; - /* Count nondummy row groups. Should get same answer for each component, - * so we need only do it once. - */ - if (ci == 0) { - main->rowgroups_avail = (JDIMENSION) ((rows_left-1) / rgroup + 1); - } - /* Duplicate the last real sample row rgroup*2 times; this pads out the - * last partial rowgroup and ensures at least one full rowgroup of context. - */ - xbuf = main->xbuffer[main->whichptr][ci]; - for (i = 0; i < rgroup * 2; i++) { - xbuf[rows_left + i] = xbuf[rows_left-1]; - } - } -} - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - - switch (pass_mode) { - case JBUF_PASS_THRU: - if (cinfo->upsample->need_context_rows) { - main->pub.process_data = process_data_context_main; - make_funny_pointers(cinfo); /* Create the xbuffer[] lists */ - main->whichptr = 0; /* Read first iMCU row into xbuffer[0] */ - main->context_state = CTX_PREPARE_FOR_IMCU; - main->iMCU_row_ctr = 0; - } else { - /* Simple case with no context needed */ - main->pub.process_data = process_data_simple_main; - } - main->buffer_full = FALSE; /* Mark buffer empty */ - main->rowgroup_ctr = 0; - break; -#ifdef QUANT_2PASS_SUPPORTED - case JBUF_CRANK_DEST: - /* For last pass of 2-pass quantization, just crank the postprocessor */ - main->pub.process_data = process_data_crank_post; - break; -#endif - default: - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - break; - } -} - - -/* - * Process some data. - * This handles the simple case where no context is required. - */ - -METHODDEF(void) -process_data_simple_main (j_decompress_ptr cinfo, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - JDIMENSION rowgroups_avail; - - /* Read input data if we haven't filled the main buffer yet */ - if (! main->buffer_full) { - if (! (*cinfo->coef->decompress_data) (cinfo, main->buffer)) - return; /* suspension forced, can do nothing more */ - main->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ - } - - /* There are always min_DCT_scaled_size row groups in an iMCU row. */ - rowgroups_avail = (JDIMENSION) cinfo->min_DCT_v_scaled_size; - /* Note: at the bottom of the image, we may pass extra garbage row groups - * to the postprocessor. The postprocessor has to check for bottom - * of image anyway (at row resolution), so no point in us doing it too. - */ - - /* Feed the postprocessor */ - (*cinfo->post->post_process_data) (cinfo, main->buffer, - &main->rowgroup_ctr, rowgroups_avail, - output_buf, out_row_ctr, out_rows_avail); - - /* Has postprocessor consumed all the data yet? If so, mark buffer empty */ - if (main->rowgroup_ctr >= rowgroups_avail) { - main->buffer_full = FALSE; - main->rowgroup_ctr = 0; - } -} - - -/* - * Process some data. - * This handles the case where context rows must be provided. - */ - -METHODDEF(void) -process_data_context_main (j_decompress_ptr cinfo, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_main_ptr main = (my_main_ptr) cinfo->main; - - /* Read input data if we haven't filled the main buffer yet */ - if (! main->buffer_full) { - if (! (*cinfo->coef->decompress_data) (cinfo, - main->xbuffer[main->whichptr])) - return; /* suspension forced, can do nothing more */ - main->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ - main->iMCU_row_ctr++; /* count rows received */ - } - - /* Postprocessor typically will not swallow all the input data it is handed - * in one call (due to filling the output buffer first). Must be prepared - * to exit and restart. This switch lets us keep track of how far we got. - * Note that each case falls through to the next on successful completion. - */ - switch (main->context_state) { - case CTX_POSTPONED_ROW: - /* Call postprocessor using previously set pointers for postponed row */ - (*cinfo->post->post_process_data) (cinfo, main->xbuffer[main->whichptr], - &main->rowgroup_ctr, main->rowgroups_avail, - output_buf, out_row_ctr, out_rows_avail); - if (main->rowgroup_ctr < main->rowgroups_avail) - return; /* Need to suspend */ - main->context_state = CTX_PREPARE_FOR_IMCU; - if (*out_row_ctr >= out_rows_avail) - return; /* Postprocessor exactly filled output buf */ - /*FALLTHROUGH*/ - case CTX_PREPARE_FOR_IMCU: - /* Prepare to process first M-1 row groups of this iMCU row */ - main->rowgroup_ctr = 0; - main->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size - 1); - /* Check for bottom of image: if so, tweak pointers to "duplicate" - * the last sample row, and adjust rowgroups_avail to ignore padding rows. - */ - if (main->iMCU_row_ctr == cinfo->total_iMCU_rows) - set_bottom_pointers(cinfo); - main->context_state = CTX_PROCESS_IMCU; - /*FALLTHROUGH*/ - case CTX_PROCESS_IMCU: - /* Call postprocessor using previously set pointers */ - (*cinfo->post->post_process_data) (cinfo, main->xbuffer[main->whichptr], - &main->rowgroup_ctr, main->rowgroups_avail, - output_buf, out_row_ctr, out_rows_avail); - if (main->rowgroup_ctr < main->rowgroups_avail) - return; /* Need to suspend */ - /* After the first iMCU, change wraparound pointers to normal state */ - if (main->iMCU_row_ctr == 1) - set_wraparound_pointers(cinfo); - /* Prepare to load new iMCU row using other xbuffer list */ - main->whichptr ^= 1; /* 0=>1 or 1=>0 */ - main->buffer_full = FALSE; - /* Still need to process last row group of this iMCU row, */ - /* which is saved at index M+1 of the other xbuffer */ - main->rowgroup_ctr = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 1); - main->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 2); - main->context_state = CTX_POSTPONED_ROW; - } -} - - -/* - * Process some data. - * Final pass of two-pass quantization: just call the postprocessor. - * Source data will be the postprocessor controller's internal buffer. - */ - -#ifdef QUANT_2PASS_SUPPORTED - -METHODDEF(void) -process_data_crank_post (j_decompress_ptr cinfo, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - (*cinfo->post->post_process_data) (cinfo, (JSAMPIMAGE) NULL, - (JDIMENSION *) NULL, (JDIMENSION) 0, - output_buf, out_row_ctr, out_rows_avail); -} - -#endif /* QUANT_2PASS_SUPPORTED */ - - -/* - * Initialize main buffer controller. - */ - -GLOBAL(void) -jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) -{ - my_main_ptr main; - int ci, rgroup, ngroups; - jpeg_component_info *compptr; - - main = (my_main_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_main_controller)); - cinfo->main = (struct jpeg_d_main_controller *) main; - main->pub.start_pass = start_pass_main; - - if (need_full_buffer) /* shouldn't happen */ - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - - /* Allocate the workspace. - * ngroups is the number of row groups we need. - */ - if (cinfo->upsample->need_context_rows) { - if (cinfo->min_DCT_v_scaled_size < 2) /* unsupported, see comments above */ - ERREXIT(cinfo, JERR_NOTIMPL); - alloc_funny_pointers(cinfo); /* Alloc space for xbuffer[] lists */ - ngroups = cinfo->min_DCT_v_scaled_size + 2; - } else { - ngroups = cinfo->min_DCT_v_scaled_size; - } - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ - main->buffer[ci] = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - compptr->width_in_blocks * compptr->DCT_h_scaled_size, - (JDIMENSION) (rgroup * ngroups)); - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdmarker.c b/3rdparty/openctm/tools/jpeg/jdmarker.c deleted file mode 100644 index 9811761d3..000000000 --- a/3rdparty/openctm/tools/jpeg/jdmarker.c +++ /dev/null @@ -1,1360 +0,0 @@ -/* - * jdmarker.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to decode JPEG datastream markers. - * Most of the complexity arises from our desire to support input - * suspension: if not all of the data for a marker is available, - * we must exit back to the application. On resumption, we reprocess - * the marker. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -typedef enum { /* JPEG marker codes */ - M_SOF0 = 0xc0, - M_SOF1 = 0xc1, - M_SOF2 = 0xc2, - M_SOF3 = 0xc3, - - M_SOF5 = 0xc5, - M_SOF6 = 0xc6, - M_SOF7 = 0xc7, - - M_JPG = 0xc8, - M_SOF9 = 0xc9, - M_SOF10 = 0xca, - M_SOF11 = 0xcb, - - M_SOF13 = 0xcd, - M_SOF14 = 0xce, - M_SOF15 = 0xcf, - - M_DHT = 0xc4, - - M_DAC = 0xcc, - - M_RST0 = 0xd0, - M_RST1 = 0xd1, - M_RST2 = 0xd2, - M_RST3 = 0xd3, - M_RST4 = 0xd4, - M_RST5 = 0xd5, - M_RST6 = 0xd6, - M_RST7 = 0xd7, - - M_SOI = 0xd8, - M_EOI = 0xd9, - M_SOS = 0xda, - M_DQT = 0xdb, - M_DNL = 0xdc, - M_DRI = 0xdd, - M_DHP = 0xde, - M_EXP = 0xdf, - - M_APP0 = 0xe0, - M_APP1 = 0xe1, - M_APP2 = 0xe2, - M_APP3 = 0xe3, - M_APP4 = 0xe4, - M_APP5 = 0xe5, - M_APP6 = 0xe6, - M_APP7 = 0xe7, - M_APP8 = 0xe8, - M_APP9 = 0xe9, - M_APP10 = 0xea, - M_APP11 = 0xeb, - M_APP12 = 0xec, - M_APP13 = 0xed, - M_APP14 = 0xee, - M_APP15 = 0xef, - - M_JPG0 = 0xf0, - M_JPG13 = 0xfd, - M_COM = 0xfe, - - M_TEM = 0x01, - - M_ERROR = 0x100 -} JPEG_MARKER; - - -/* Private state */ - -typedef struct { - struct jpeg_marker_reader pub; /* public fields */ - - /* Application-overridable marker processing methods */ - jpeg_marker_parser_method process_COM; - jpeg_marker_parser_method process_APPn[16]; - - /* Limit on marker data length to save for each marker type */ - unsigned int length_limit_COM; - unsigned int length_limit_APPn[16]; - - /* Status of COM/APPn marker saving */ - jpeg_saved_marker_ptr cur_marker; /* NULL if not processing a marker */ - unsigned int bytes_read; /* data bytes read so far in marker */ - /* Note: cur_marker is not linked into marker_list until it's all read. */ -} my_marker_reader; - -typedef my_marker_reader * my_marker_ptr; - - -/* - * Macros for fetching data from the data source module. - * - * At all times, cinfo->src->next_input_byte and ->bytes_in_buffer reflect - * the current restart point; we update them only when we have reached a - * suitable place to restart if a suspension occurs. - */ - -/* Declare and initialize local copies of input pointer/count */ -#define INPUT_VARS(cinfo) \ - struct jpeg_source_mgr * datasrc = (cinfo)->src; \ - const JOCTET * next_input_byte = datasrc->next_input_byte; \ - size_t bytes_in_buffer = datasrc->bytes_in_buffer - -/* Unload the local copies --- do this only at a restart boundary */ -#define INPUT_SYNC(cinfo) \ - ( datasrc->next_input_byte = next_input_byte, \ - datasrc->bytes_in_buffer = bytes_in_buffer ) - -/* Reload the local copies --- used only in MAKE_BYTE_AVAIL */ -#define INPUT_RELOAD(cinfo) \ - ( next_input_byte = datasrc->next_input_byte, \ - bytes_in_buffer = datasrc->bytes_in_buffer ) - -/* Internal macro for INPUT_BYTE and INPUT_2BYTES: make a byte available. - * Note we do *not* do INPUT_SYNC before calling fill_input_buffer, - * but we must reload the local copies after a successful fill. - */ -#define MAKE_BYTE_AVAIL(cinfo,action) \ - if (bytes_in_buffer == 0) { \ - if (! (*datasrc->fill_input_buffer) (cinfo)) \ - { action; } \ - INPUT_RELOAD(cinfo); \ - } - -/* Read a byte into variable V. - * If must suspend, take the specified action (typically "return FALSE"). - */ -#define INPUT_BYTE(cinfo,V,action) \ - MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V = GETJOCTET(*next_input_byte++); ) - -/* As above, but read two bytes interpreted as an unsigned 16-bit integer. - * V should be declared unsigned int or perhaps INT32. - */ -#define INPUT_2BYTES(cinfo,V,action) \ - MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V = ((unsigned int) GETJOCTET(*next_input_byte++)) << 8; \ - MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V += GETJOCTET(*next_input_byte++); ) - - -/* - * Routines to process JPEG markers. - * - * Entry condition: JPEG marker itself has been read and its code saved - * in cinfo->unread_marker; input restart point is just after the marker. - * - * Exit: if return TRUE, have read and processed any parameters, and have - * updated the restart point to point after the parameters. - * If return FALSE, was forced to suspend before reaching end of - * marker parameters; restart point has not been moved. Same routine - * will be called again after application supplies more input data. - * - * This approach to suspension assumes that all of a marker's parameters - * can fit into a single input bufferload. This should hold for "normal" - * markers. Some COM/APPn markers might have large parameter segments - * that might not fit. If we are simply dropping such a marker, we use - * skip_input_data to get past it, and thereby put the problem on the - * source manager's shoulders. If we are saving the marker's contents - * into memory, we use a slightly different convention: when forced to - * suspend, the marker processor updates the restart point to the end of - * what it's consumed (ie, the end of the buffer) before returning FALSE. - * On resumption, cinfo->unread_marker still contains the marker code, - * but the data source will point to the next chunk of marker data. - * The marker processor must retain internal state to deal with this. - * - * Note that we don't bother to avoid duplicate trace messages if a - * suspension occurs within marker parameters. Other side effects - * require more care. - */ - - -LOCAL(boolean) -get_soi (j_decompress_ptr cinfo) -/* Process an SOI marker */ -{ - int i; - - TRACEMS(cinfo, 1, JTRC_SOI); - - if (cinfo->marker->saw_SOI) - ERREXIT(cinfo, JERR_SOI_DUPLICATE); - - /* Reset all parameters that are defined to be reset by SOI */ - - for (i = 0; i < NUM_ARITH_TBLS; i++) { - cinfo->arith_dc_L[i] = 0; - cinfo->arith_dc_U[i] = 1; - cinfo->arith_ac_K[i] = 5; - } - cinfo->restart_interval = 0; - - /* Set initial assumptions for colorspace etc */ - - cinfo->jpeg_color_space = JCS_UNKNOWN; - cinfo->CCIR601_sampling = FALSE; /* Assume non-CCIR sampling??? */ - - cinfo->saw_JFIF_marker = FALSE; - cinfo->JFIF_major_version = 1; /* set default JFIF APP0 values */ - cinfo->JFIF_minor_version = 1; - cinfo->density_unit = 0; - cinfo->X_density = 1; - cinfo->Y_density = 1; - cinfo->saw_Adobe_marker = FALSE; - cinfo->Adobe_transform = 0; - - cinfo->marker->saw_SOI = TRUE; - - return TRUE; -} - - -LOCAL(boolean) -get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) -/* Process a SOFn marker */ -{ - INT32 length; - int c, ci; - jpeg_component_info * compptr; - INPUT_VARS(cinfo); - - cinfo->progressive_mode = is_prog; - cinfo->arith_code = is_arith; - - INPUT_2BYTES(cinfo, length, return FALSE); - - INPUT_BYTE(cinfo, cinfo->data_precision, return FALSE); - INPUT_2BYTES(cinfo, cinfo->image_height, return FALSE); - INPUT_2BYTES(cinfo, cinfo->image_width, return FALSE); - INPUT_BYTE(cinfo, cinfo->num_components, return FALSE); - - length -= 8; - - TRACEMS4(cinfo, 1, JTRC_SOF, cinfo->unread_marker, - (int) cinfo->image_width, (int) cinfo->image_height, - cinfo->num_components); - - if (cinfo->marker->saw_SOF) - ERREXIT(cinfo, JERR_SOF_DUPLICATE); - - /* We don't support files in which the image height is initially specified */ - /* as 0 and is later redefined by DNL. As long as we have to check that, */ - /* might as well have a general sanity check. */ - if (cinfo->image_height <= 0 || cinfo->image_width <= 0 - || cinfo->num_components <= 0) - ERREXIT(cinfo, JERR_EMPTY_IMAGE); - - if (length != (cinfo->num_components * 3)) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - if (cinfo->comp_info == NULL) /* do only once, even if suspend */ - cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->num_components * SIZEOF(jpeg_component_info)); - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - compptr->component_index = ci; - INPUT_BYTE(cinfo, compptr->component_id, return FALSE); - INPUT_BYTE(cinfo, c, return FALSE); - compptr->h_samp_factor = (c >> 4) & 15; - compptr->v_samp_factor = (c ) & 15; - INPUT_BYTE(cinfo, compptr->quant_tbl_no, return FALSE); - - TRACEMS4(cinfo, 1, JTRC_SOF_COMPONENT, - compptr->component_id, compptr->h_samp_factor, - compptr->v_samp_factor, compptr->quant_tbl_no); - } - - cinfo->marker->saw_SOF = TRUE; - - INPUT_SYNC(cinfo); - return TRUE; -} - - -LOCAL(boolean) -get_sos (j_decompress_ptr cinfo) -/* Process a SOS marker */ -{ - INT32 length; - int i, ci, n, c, cc; - jpeg_component_info * compptr; - INPUT_VARS(cinfo); - - if (! cinfo->marker->saw_SOF) - ERREXIT(cinfo, JERR_SOS_NO_SOF); - - INPUT_2BYTES(cinfo, length, return FALSE); - - INPUT_BYTE(cinfo, n, return FALSE); /* Number of components */ - - TRACEMS1(cinfo, 1, JTRC_SOS, n); - - if (length != (n * 2 + 6) || n < 1 || n > MAX_COMPS_IN_SCAN) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - cinfo->comps_in_scan = n; - - /* Collect the component-spec parameters */ - - for (i = 0; i < n; i++) { - INPUT_BYTE(cinfo, cc, return FALSE); - INPUT_BYTE(cinfo, c, return FALSE); - - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - if (cc == compptr->component_id) - goto id_found; - } - - ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); - - id_found: - - cinfo->cur_comp_info[i] = compptr; - compptr->dc_tbl_no = (c >> 4) & 15; - compptr->ac_tbl_no = (c ) & 15; - - TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, - compptr->dc_tbl_no, compptr->ac_tbl_no); - } - - /* Collect the additional scan parameters Ss, Se, Ah/Al. */ - INPUT_BYTE(cinfo, c, return FALSE); - cinfo->Ss = c; - INPUT_BYTE(cinfo, c, return FALSE); - cinfo->Se = c; - INPUT_BYTE(cinfo, c, return FALSE); - cinfo->Ah = (c >> 4) & 15; - cinfo->Al = (c ) & 15; - - TRACEMS4(cinfo, 1, JTRC_SOS_PARAMS, cinfo->Ss, cinfo->Se, - cinfo->Ah, cinfo->Al); - - /* Prepare to scan data & restart markers */ - cinfo->marker->next_restart_num = 0; - - /* Count another SOS marker */ - cinfo->input_scan_number++; - - INPUT_SYNC(cinfo); - return TRUE; -} - - -#ifdef D_ARITH_CODING_SUPPORTED - -LOCAL(boolean) -get_dac (j_decompress_ptr cinfo) -/* Process a DAC marker */ -{ - INT32 length; - int index, val; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - - while (length > 0) { - INPUT_BYTE(cinfo, index, return FALSE); - INPUT_BYTE(cinfo, val, return FALSE); - - length -= 2; - - TRACEMS2(cinfo, 1, JTRC_DAC, index, val); - - if (index < 0 || index >= (2*NUM_ARITH_TBLS)) - ERREXIT1(cinfo, JERR_DAC_INDEX, index); - - if (index >= NUM_ARITH_TBLS) { /* define AC table */ - cinfo->arith_ac_K[index-NUM_ARITH_TBLS] = (UINT8) val; - } else { /* define DC table */ - cinfo->arith_dc_L[index] = (UINT8) (val & 0x0F); - cinfo->arith_dc_U[index] = (UINT8) (val >> 4); - if (cinfo->arith_dc_L[index] > cinfo->arith_dc_U[index]) - ERREXIT1(cinfo, JERR_DAC_VALUE, val); - } - } - - if (length != 0) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - INPUT_SYNC(cinfo); - return TRUE; -} - -#else /* ! D_ARITH_CODING_SUPPORTED */ - -#define get_dac(cinfo) skip_variable(cinfo) - -#endif /* D_ARITH_CODING_SUPPORTED */ - - -LOCAL(boolean) -get_dht (j_decompress_ptr cinfo) -/* Process a DHT marker */ -{ - INT32 length; - UINT8 bits[17]; - UINT8 huffval[256]; - int i, index, count; - JHUFF_TBL **htblptr; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - - while (length > 16) { - INPUT_BYTE(cinfo, index, return FALSE); - - TRACEMS1(cinfo, 1, JTRC_DHT, index); - - bits[0] = 0; - count = 0; - for (i = 1; i <= 16; i++) { - INPUT_BYTE(cinfo, bits[i], return FALSE); - count += bits[i]; - } - - length -= 1 + 16; - - TRACEMS8(cinfo, 2, JTRC_HUFFBITS, - bits[1], bits[2], bits[3], bits[4], - bits[5], bits[6], bits[7], bits[8]); - TRACEMS8(cinfo, 2, JTRC_HUFFBITS, - bits[9], bits[10], bits[11], bits[12], - bits[13], bits[14], bits[15], bits[16]); - - /* Here we just do minimal validation of the counts to avoid walking - * off the end of our table space. jdhuff.c will check more carefully. - */ - if (count > 256 || ((INT32) count) > length) - ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); - - for (i = 0; i < count; i++) - INPUT_BYTE(cinfo, huffval[i], return FALSE); - - length -= count; - - if (index & 0x10) { /* AC table definition */ - index -= 0x10; - htblptr = &cinfo->ac_huff_tbl_ptrs[index]; - } else { /* DC table definition */ - htblptr = &cinfo->dc_huff_tbl_ptrs[index]; - } - - if (index < 0 || index >= NUM_HUFF_TBLS) - ERREXIT1(cinfo, JERR_DHT_INDEX, index); - - if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); - - MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits)); - MEMCOPY((*htblptr)->huffval, huffval, SIZEOF((*htblptr)->huffval)); - } - - if (length != 0) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - INPUT_SYNC(cinfo); - return TRUE; -} - - -LOCAL(boolean) -get_dqt (j_decompress_ptr cinfo) -/* Process a DQT marker */ -{ - INT32 length; - int n, i, prec; - unsigned int tmp; - JQUANT_TBL *quant_ptr; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - - while (length > 0) { - INPUT_BYTE(cinfo, n, return FALSE); - prec = n >> 4; - n &= 0x0F; - - TRACEMS2(cinfo, 1, JTRC_DQT, n, prec); - - if (n >= NUM_QUANT_TBLS) - ERREXIT1(cinfo, JERR_DQT_INDEX, n); - - if (cinfo->quant_tbl_ptrs[n] == NULL) - cinfo->quant_tbl_ptrs[n] = jpeg_alloc_quant_table((j_common_ptr) cinfo); - quant_ptr = cinfo->quant_tbl_ptrs[n]; - - for (i = 0; i < DCTSIZE2; i++) { - if (prec) - INPUT_2BYTES(cinfo, tmp, return FALSE); - else - INPUT_BYTE(cinfo, tmp, return FALSE); - /* We convert the zigzag-order table to natural array order. */ - quant_ptr->quantval[jpeg_natural_order[i]] = (UINT16) tmp; - } - - if (cinfo->err->trace_level >= 2) { - for (i = 0; i < DCTSIZE2; i += 8) { - TRACEMS8(cinfo, 2, JTRC_QUANTVALS, - quant_ptr->quantval[i], quant_ptr->quantval[i+1], - quant_ptr->quantval[i+2], quant_ptr->quantval[i+3], - quant_ptr->quantval[i+4], quant_ptr->quantval[i+5], - quant_ptr->quantval[i+6], quant_ptr->quantval[i+7]); - } - } - - length -= DCTSIZE2+1; - if (prec) length -= DCTSIZE2; - } - - if (length != 0) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - INPUT_SYNC(cinfo); - return TRUE; -} - - -LOCAL(boolean) -get_dri (j_decompress_ptr cinfo) -/* Process a DRI marker */ -{ - INT32 length; - unsigned int tmp; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - - if (length != 4) - ERREXIT(cinfo, JERR_BAD_LENGTH); - - INPUT_2BYTES(cinfo, tmp, return FALSE); - - TRACEMS1(cinfo, 1, JTRC_DRI, tmp); - - cinfo->restart_interval = tmp; - - INPUT_SYNC(cinfo); - return TRUE; -} - - -/* - * Routines for processing APPn and COM markers. - * These are either saved in memory or discarded, per application request. - * APP0 and APP14 are specially checked to see if they are - * JFIF and Adobe markers, respectively. - */ - -#define APP0_DATA_LEN 14 /* Length of interesting data in APP0 */ -#define APP14_DATA_LEN 12 /* Length of interesting data in APP14 */ -#define APPN_DATA_LEN 14 /* Must be the largest of the above!! */ - - -LOCAL(void) -examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data, - unsigned int datalen, INT32 remaining) -/* Examine first few bytes from an APP0. - * Take appropriate action if it is a JFIF marker. - * datalen is # of bytes at data[], remaining is length of rest of marker data. - */ -{ - INT32 totallen = (INT32) datalen + remaining; - - if (datalen >= APP0_DATA_LEN && - GETJOCTET(data[0]) == 0x4A && - GETJOCTET(data[1]) == 0x46 && - GETJOCTET(data[2]) == 0x49 && - GETJOCTET(data[3]) == 0x46 && - GETJOCTET(data[4]) == 0) { - /* Found JFIF APP0 marker: save info */ - cinfo->saw_JFIF_marker = TRUE; - cinfo->JFIF_major_version = GETJOCTET(data[5]); - cinfo->JFIF_minor_version = GETJOCTET(data[6]); - cinfo->density_unit = GETJOCTET(data[7]); - cinfo->X_density = (GETJOCTET(data[8]) << 8) + GETJOCTET(data[9]); - cinfo->Y_density = (GETJOCTET(data[10]) << 8) + GETJOCTET(data[11]); - /* Check version. - * Major version must be 1, anything else signals an incompatible change. - * (We used to treat this as an error, but now it's a nonfatal warning, - * because some bozo at Hijaak couldn't read the spec.) - * Minor version should be 0..2, but process anyway if newer. - */ - if (cinfo->JFIF_major_version != 1) - WARNMS2(cinfo, JWRN_JFIF_MAJOR, - cinfo->JFIF_major_version, cinfo->JFIF_minor_version); - /* Generate trace messages */ - TRACEMS5(cinfo, 1, JTRC_JFIF, - cinfo->JFIF_major_version, cinfo->JFIF_minor_version, - cinfo->X_density, cinfo->Y_density, cinfo->density_unit); - /* Validate thumbnail dimensions and issue appropriate messages */ - if (GETJOCTET(data[12]) | GETJOCTET(data[13])) - TRACEMS2(cinfo, 1, JTRC_JFIF_THUMBNAIL, - GETJOCTET(data[12]), GETJOCTET(data[13])); - totallen -= APP0_DATA_LEN; - if (totallen != - ((INT32)GETJOCTET(data[12]) * (INT32)GETJOCTET(data[13]) * (INT32) 3)) - TRACEMS1(cinfo, 1, JTRC_JFIF_BADTHUMBNAILSIZE, (int) totallen); - } else if (datalen >= 6 && - GETJOCTET(data[0]) == 0x4A && - GETJOCTET(data[1]) == 0x46 && - GETJOCTET(data[2]) == 0x58 && - GETJOCTET(data[3]) == 0x58 && - GETJOCTET(data[4]) == 0) { - /* Found JFIF "JFXX" extension APP0 marker */ - /* The library doesn't actually do anything with these, - * but we try to produce a helpful trace message. - */ - switch (GETJOCTET(data[5])) { - case 0x10: - TRACEMS1(cinfo, 1, JTRC_THUMB_JPEG, (int) totallen); - break; - case 0x11: - TRACEMS1(cinfo, 1, JTRC_THUMB_PALETTE, (int) totallen); - break; - case 0x13: - TRACEMS1(cinfo, 1, JTRC_THUMB_RGB, (int) totallen); - break; - default: - TRACEMS2(cinfo, 1, JTRC_JFIF_EXTENSION, - GETJOCTET(data[5]), (int) totallen); - break; - } - } else { - /* Start of APP0 does not match "JFIF" or "JFXX", or too short */ - TRACEMS1(cinfo, 1, JTRC_APP0, (int) totallen); - } -} - - -LOCAL(void) -examine_app14 (j_decompress_ptr cinfo, JOCTET FAR * data, - unsigned int datalen, INT32 remaining) -/* Examine first few bytes from an APP14. - * Take appropriate action if it is an Adobe marker. - * datalen is # of bytes at data[], remaining is length of rest of marker data. - */ -{ - unsigned int version, flags0, flags1, transform; - - if (datalen >= APP14_DATA_LEN && - GETJOCTET(data[0]) == 0x41 && - GETJOCTET(data[1]) == 0x64 && - GETJOCTET(data[2]) == 0x6F && - GETJOCTET(data[3]) == 0x62 && - GETJOCTET(data[4]) == 0x65) { - /* Found Adobe APP14 marker */ - version = (GETJOCTET(data[5]) << 8) + GETJOCTET(data[6]); - flags0 = (GETJOCTET(data[7]) << 8) + GETJOCTET(data[8]); - flags1 = (GETJOCTET(data[9]) << 8) + GETJOCTET(data[10]); - transform = GETJOCTET(data[11]); - TRACEMS4(cinfo, 1, JTRC_ADOBE, version, flags0, flags1, transform); - cinfo->saw_Adobe_marker = TRUE; - cinfo->Adobe_transform = (UINT8) transform; - } else { - /* Start of APP14 does not match "Adobe", or too short */ - TRACEMS1(cinfo, 1, JTRC_APP14, (int) (datalen + remaining)); - } -} - - -METHODDEF(boolean) -get_interesting_appn (j_decompress_ptr cinfo) -/* Process an APP0 or APP14 marker without saving it */ -{ - INT32 length; - JOCTET b[APPN_DATA_LEN]; - unsigned int i, numtoread; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - - /* get the interesting part of the marker data */ - if (length >= APPN_DATA_LEN) - numtoread = APPN_DATA_LEN; - else if (length > 0) - numtoread = (unsigned int) length; - else - numtoread = 0; - for (i = 0; i < numtoread; i++) - INPUT_BYTE(cinfo, b[i], return FALSE); - length -= numtoread; - - /* process it */ - switch (cinfo->unread_marker) { - case M_APP0: - examine_app0(cinfo, (JOCTET FAR *) b, numtoread, length); - break; - case M_APP14: - examine_app14(cinfo, (JOCTET FAR *) b, numtoread, length); - break; - default: - /* can't get here unless jpeg_save_markers chooses wrong processor */ - ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, cinfo->unread_marker); - break; - } - - /* skip any remaining data -- could be lots */ - INPUT_SYNC(cinfo); - if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); - - return TRUE; -} - - -#ifdef SAVE_MARKERS_SUPPORTED - -METHODDEF(boolean) -save_marker (j_decompress_ptr cinfo) -/* Save an APPn or COM marker into the marker list */ -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - jpeg_saved_marker_ptr cur_marker = marker->cur_marker; - unsigned int bytes_read, data_length; - JOCTET FAR * data; - INT32 length = 0; - INPUT_VARS(cinfo); - - if (cur_marker == NULL) { - /* begin reading a marker */ - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - if (length >= 0) { /* watch out for bogus length word */ - /* figure out how much we want to save */ - unsigned int limit; - if (cinfo->unread_marker == (int) M_COM) - limit = marker->length_limit_COM; - else - limit = marker->length_limit_APPn[cinfo->unread_marker - (int) M_APP0]; - if ((unsigned int) length < limit) - limit = (unsigned int) length; - /* allocate and initialize the marker item */ - cur_marker = (jpeg_saved_marker_ptr) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(struct jpeg_marker_struct) + limit); - cur_marker->next = NULL; - cur_marker->marker = (UINT8) cinfo->unread_marker; - cur_marker->original_length = (unsigned int) length; - cur_marker->data_length = limit; - /* data area is just beyond the jpeg_marker_struct */ - data = cur_marker->data = (JOCTET FAR *) (cur_marker + 1); - marker->cur_marker = cur_marker; - marker->bytes_read = 0; - bytes_read = 0; - data_length = limit; - } else { - /* deal with bogus length word */ - bytes_read = data_length = 0; - data = NULL; - } - } else { - /* resume reading a marker */ - bytes_read = marker->bytes_read; - data_length = cur_marker->data_length; - data = cur_marker->data + bytes_read; - } - - while (bytes_read < data_length) { - INPUT_SYNC(cinfo); /* move the restart point to here */ - marker->bytes_read = bytes_read; - /* If there's not at least one byte in buffer, suspend */ - MAKE_BYTE_AVAIL(cinfo, return FALSE); - /* Copy bytes with reasonable rapidity */ - while (bytes_read < data_length && bytes_in_buffer > 0) { - *data++ = *next_input_byte++; - bytes_in_buffer--; - bytes_read++; - } - } - - /* Done reading what we want to read */ - if (cur_marker != NULL) { /* will be NULL if bogus length word */ - /* Add new marker to end of list */ - if (cinfo->marker_list == NULL) { - cinfo->marker_list = cur_marker; - } else { - jpeg_saved_marker_ptr prev = cinfo->marker_list; - while (prev->next != NULL) - prev = prev->next; - prev->next = cur_marker; - } - /* Reset pointer & calc remaining data length */ - data = cur_marker->data; - length = cur_marker->original_length - data_length; - } - /* Reset to initial state for next marker */ - marker->cur_marker = NULL; - - /* Process the marker if interesting; else just make a generic trace msg */ - switch (cinfo->unread_marker) { - case M_APP0: - examine_app0(cinfo, data, data_length, length); - break; - case M_APP14: - examine_app14(cinfo, data, data_length, length); - break; - default: - TRACEMS2(cinfo, 1, JTRC_MISC_MARKER, cinfo->unread_marker, - (int) (data_length + length)); - break; - } - - /* skip any remaining data -- could be lots */ - INPUT_SYNC(cinfo); /* do before skip_input_data */ - if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); - - return TRUE; -} - -#endif /* SAVE_MARKERS_SUPPORTED */ - - -METHODDEF(boolean) -skip_variable (j_decompress_ptr cinfo) -/* Skip over an unknown or uninteresting variable-length marker */ -{ - INT32 length; - INPUT_VARS(cinfo); - - INPUT_2BYTES(cinfo, length, return FALSE); - length -= 2; - - TRACEMS2(cinfo, 1, JTRC_MISC_MARKER, cinfo->unread_marker, (int) length); - - INPUT_SYNC(cinfo); /* do before skip_input_data */ - if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); - - return TRUE; -} - - -/* - * Find the next JPEG marker, save it in cinfo->unread_marker. - * Returns FALSE if had to suspend before reaching a marker; - * in that case cinfo->unread_marker is unchanged. - * - * Note that the result might not be a valid marker code, - * but it will never be 0 or FF. - */ - -LOCAL(boolean) -next_marker (j_decompress_ptr cinfo) -{ - int c; - INPUT_VARS(cinfo); - - for (;;) { - INPUT_BYTE(cinfo, c, return FALSE); - /* Skip any non-FF bytes. - * This may look a bit inefficient, but it will not occur in a valid file. - * We sync after each discarded byte so that a suspending data source - * can discard the byte from its buffer. - */ - while (c != 0xFF) { - cinfo->marker->discarded_bytes++; - INPUT_SYNC(cinfo); - INPUT_BYTE(cinfo, c, return FALSE); - } - /* This loop swallows any duplicate FF bytes. Extra FFs are legal as - * pad bytes, so don't count them in discarded_bytes. We assume there - * will not be so many consecutive FF bytes as to overflow a suspending - * data source's input buffer. - */ - do { - INPUT_BYTE(cinfo, c, return FALSE); - } while (c == 0xFF); - if (c != 0) - break; /* found a valid marker, exit loop */ - /* Reach here if we found a stuffed-zero data sequence (FF/00). - * Discard it and loop back to try again. - */ - cinfo->marker->discarded_bytes += 2; - INPUT_SYNC(cinfo); - } - - if (cinfo->marker->discarded_bytes != 0) { - WARNMS2(cinfo, JWRN_EXTRANEOUS_DATA, cinfo->marker->discarded_bytes, c); - cinfo->marker->discarded_bytes = 0; - } - - cinfo->unread_marker = c; - - INPUT_SYNC(cinfo); - return TRUE; -} - - -LOCAL(boolean) -first_marker (j_decompress_ptr cinfo) -/* Like next_marker, but used to obtain the initial SOI marker. */ -/* For this marker, we do not allow preceding garbage or fill; otherwise, - * we might well scan an entire input file before realizing it ain't JPEG. - * If an application wants to process non-JFIF files, it must seek to the - * SOI before calling the JPEG library. - */ -{ - int c, c2; - INPUT_VARS(cinfo); - - INPUT_BYTE(cinfo, c, return FALSE); - INPUT_BYTE(cinfo, c2, return FALSE); - if (c != 0xFF || c2 != (int) M_SOI) - ERREXIT2(cinfo, JERR_NO_SOI, c, c2); - - cinfo->unread_marker = c2; - - INPUT_SYNC(cinfo); - return TRUE; -} - - -/* - * Read markers until SOS or EOI. - * - * Returns same codes as are defined for jpeg_consume_input: - * JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. - */ - -METHODDEF(int) -read_markers (j_decompress_ptr cinfo) -{ - /* Outer loop repeats once for each marker. */ - for (;;) { - /* Collect the marker proper, unless we already did. */ - /* NB: first_marker() enforces the requirement that SOI appear first. */ - if (cinfo->unread_marker == 0) { - if (! cinfo->marker->saw_SOI) { - if (! first_marker(cinfo)) - return JPEG_SUSPENDED; - } else { - if (! next_marker(cinfo)) - return JPEG_SUSPENDED; - } - } - /* At this point cinfo->unread_marker contains the marker code and the - * input point is just past the marker proper, but before any parameters. - * A suspension will cause us to return with this state still true. - */ - switch (cinfo->unread_marker) { - case M_SOI: - if (! get_soi(cinfo)) - return JPEG_SUSPENDED; - break; - - case M_SOF0: /* Baseline */ - case M_SOF1: /* Extended sequential, Huffman */ - if (! get_sof(cinfo, FALSE, FALSE)) - return JPEG_SUSPENDED; - break; - - case M_SOF2: /* Progressive, Huffman */ - if (! get_sof(cinfo, TRUE, FALSE)) - return JPEG_SUSPENDED; - break; - - case M_SOF9: /* Extended sequential, arithmetic */ - if (! get_sof(cinfo, FALSE, TRUE)) - return JPEG_SUSPENDED; - break; - - case M_SOF10: /* Progressive, arithmetic */ - if (! get_sof(cinfo, TRUE, TRUE)) - return JPEG_SUSPENDED; - break; - - /* Currently unsupported SOFn types */ - case M_SOF3: /* Lossless, Huffman */ - case M_SOF5: /* Differential sequential, Huffman */ - case M_SOF6: /* Differential progressive, Huffman */ - case M_SOF7: /* Differential lossless, Huffman */ - case M_JPG: /* Reserved for JPEG extensions */ - case M_SOF11: /* Lossless, arithmetic */ - case M_SOF13: /* Differential sequential, arithmetic */ - case M_SOF14: /* Differential progressive, arithmetic */ - case M_SOF15: /* Differential lossless, arithmetic */ - ERREXIT1(cinfo, JERR_SOF_UNSUPPORTED, cinfo->unread_marker); - break; - - case M_SOS: - if (! get_sos(cinfo)) - return JPEG_SUSPENDED; - cinfo->unread_marker = 0; /* processed the marker */ - return JPEG_REACHED_SOS; - - case M_EOI: - TRACEMS(cinfo, 1, JTRC_EOI); - cinfo->unread_marker = 0; /* processed the marker */ - return JPEG_REACHED_EOI; - - case M_DAC: - if (! get_dac(cinfo)) - return JPEG_SUSPENDED; - break; - - case M_DHT: - if (! get_dht(cinfo)) - return JPEG_SUSPENDED; - break; - - case M_DQT: - if (! get_dqt(cinfo)) - return JPEG_SUSPENDED; - break; - - case M_DRI: - if (! get_dri(cinfo)) - return JPEG_SUSPENDED; - break; - - case M_APP0: - case M_APP1: - case M_APP2: - case M_APP3: - case M_APP4: - case M_APP5: - case M_APP6: - case M_APP7: - case M_APP8: - case M_APP9: - case M_APP10: - case M_APP11: - case M_APP12: - case M_APP13: - case M_APP14: - case M_APP15: - if (! (*((my_marker_ptr) cinfo->marker)->process_APPn[ - cinfo->unread_marker - (int) M_APP0]) (cinfo)) - return JPEG_SUSPENDED; - break; - - case M_COM: - if (! (*((my_marker_ptr) cinfo->marker)->process_COM) (cinfo)) - return JPEG_SUSPENDED; - break; - - case M_RST0: /* these are all parameterless */ - case M_RST1: - case M_RST2: - case M_RST3: - case M_RST4: - case M_RST5: - case M_RST6: - case M_RST7: - case M_TEM: - TRACEMS1(cinfo, 1, JTRC_PARMLESS_MARKER, cinfo->unread_marker); - break; - - case M_DNL: /* Ignore DNL ... perhaps the wrong thing */ - if (! skip_variable(cinfo)) - return JPEG_SUSPENDED; - break; - - default: /* must be DHP, EXP, JPGn, or RESn */ - /* For now, we treat the reserved markers as fatal errors since they are - * likely to be used to signal incompatible JPEG Part 3 extensions. - * Once the JPEG 3 version-number marker is well defined, this code - * ought to change! - */ - ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, cinfo->unread_marker); - break; - } - /* Successfully processed marker, so reset state variable */ - cinfo->unread_marker = 0; - } /* end loop */ -} - - -/* - * Read a restart marker, which is expected to appear next in the datastream; - * if the marker is not there, take appropriate recovery action. - * Returns FALSE if suspension is required. - * - * This is called by the entropy decoder after it has read an appropriate - * number of MCUs. cinfo->unread_marker may be nonzero if the entropy decoder - * has already read a marker from the data source. Under normal conditions - * cinfo->unread_marker will be reset to 0 before returning; if not reset, - * it holds a marker which the decoder will be unable to read past. - */ - -METHODDEF(boolean) -read_restart_marker (j_decompress_ptr cinfo) -{ - /* Obtain a marker unless we already did. */ - /* Note that next_marker will complain if it skips any data. */ - if (cinfo->unread_marker == 0) { - if (! next_marker(cinfo)) - return FALSE; - } - - if (cinfo->unread_marker == - ((int) M_RST0 + cinfo->marker->next_restart_num)) { - /* Normal case --- swallow the marker and let entropy decoder continue */ - TRACEMS1(cinfo, 3, JTRC_RST, cinfo->marker->next_restart_num); - cinfo->unread_marker = 0; - } else { - /* Uh-oh, the restart markers have been messed up. */ - /* Let the data source manager determine how to resync. */ - if (! (*cinfo->src->resync_to_restart) (cinfo, - cinfo->marker->next_restart_num)) - return FALSE; - } - - /* Update next-restart state */ - cinfo->marker->next_restart_num = (cinfo->marker->next_restart_num + 1) & 7; - - return TRUE; -} - - -/* - * This is the default resync_to_restart method for data source managers - * to use if they don't have any better approach. Some data source managers - * may be able to back up, or may have additional knowledge about the data - * which permits a more intelligent recovery strategy; such managers would - * presumably supply their own resync method. - * - * read_restart_marker calls resync_to_restart if it finds a marker other than - * the restart marker it was expecting. (This code is *not* used unless - * a nonzero restart interval has been declared.) cinfo->unread_marker is - * the marker code actually found (might be anything, except 0 or FF). - * The desired restart marker number (0..7) is passed as a parameter. - * This routine is supposed to apply whatever error recovery strategy seems - * appropriate in order to position the input stream to the next data segment. - * Note that cinfo->unread_marker is treated as a marker appearing before - * the current data-source input point; usually it should be reset to zero - * before returning. - * Returns FALSE if suspension is required. - * - * This implementation is substantially constrained by wanting to treat the - * input as a data stream; this means we can't back up. Therefore, we have - * only the following actions to work with: - * 1. Simply discard the marker and let the entropy decoder resume at next - * byte of file. - * 2. Read forward until we find another marker, discarding intervening - * data. (In theory we could look ahead within the current bufferload, - * without having to discard data if we don't find the desired marker. - * This idea is not implemented here, in part because it makes behavior - * dependent on buffer size and chance buffer-boundary positions.) - * 3. Leave the marker unread (by failing to zero cinfo->unread_marker). - * This will cause the entropy decoder to process an empty data segment, - * inserting dummy zeroes, and then we will reprocess the marker. - * - * #2 is appropriate if we think the desired marker lies ahead, while #3 is - * appropriate if the found marker is a future restart marker (indicating - * that we have missed the desired restart marker, probably because it got - * corrupted). - * We apply #2 or #3 if the found marker is a restart marker no more than - * two counts behind or ahead of the expected one. We also apply #2 if the - * found marker is not a legal JPEG marker code (it's certainly bogus data). - * If the found marker is a restart marker more than 2 counts away, we do #1 - * (too much risk that the marker is erroneous; with luck we will be able to - * resync at some future point). - * For any valid non-restart JPEG marker, we apply #3. This keeps us from - * overrunning the end of a scan. An implementation limited to single-scan - * files might find it better to apply #2 for markers other than EOI, since - * any other marker would have to be bogus data in that case. - */ - -GLOBAL(boolean) -jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) -{ - int marker = cinfo->unread_marker; - int action = 1; - - /* Always put up a warning. */ - WARNMS2(cinfo, JWRN_MUST_RESYNC, marker, desired); - - /* Outer loop handles repeated decision after scanning forward. */ - for (;;) { - if (marker < (int) M_SOF0) - action = 2; /* invalid marker */ - else if (marker < (int) M_RST0 || marker > (int) M_RST7) - action = 3; /* valid non-restart marker */ - else { - if (marker == ((int) M_RST0 + ((desired+1) & 7)) || - marker == ((int) M_RST0 + ((desired+2) & 7))) - action = 3; /* one of the next two expected restarts */ - else if (marker == ((int) M_RST0 + ((desired-1) & 7)) || - marker == ((int) M_RST0 + ((desired-2) & 7))) - action = 2; /* a prior restart, so advance */ - else - action = 1; /* desired restart or too far away */ - } - TRACEMS2(cinfo, 4, JTRC_RECOVERY_ACTION, marker, action); - switch (action) { - case 1: - /* Discard marker and let entropy decoder resume processing. */ - cinfo->unread_marker = 0; - return TRUE; - case 2: - /* Scan to the next marker, and repeat the decision loop. */ - if (! next_marker(cinfo)) - return FALSE; - marker = cinfo->unread_marker; - break; - case 3: - /* Return without advancing past this marker. */ - /* Entropy decoder will be forced to process an empty segment. */ - return TRUE; - } - } /* end loop */ -} - - -/* - * Reset marker processing state to begin a fresh datastream. - */ - -METHODDEF(void) -reset_marker_reader (j_decompress_ptr cinfo) -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - - cinfo->comp_info = NULL; /* until allocated by get_sof */ - cinfo->input_scan_number = 0; /* no SOS seen yet */ - cinfo->unread_marker = 0; /* no pending marker */ - marker->pub.saw_SOI = FALSE; /* set internal state too */ - marker->pub.saw_SOF = FALSE; - marker->pub.discarded_bytes = 0; - marker->cur_marker = NULL; -} - - -/* - * Initialize the marker reader module. - * This is called only once, when the decompression object is created. - */ - -GLOBAL(void) -jinit_marker_reader (j_decompress_ptr cinfo) -{ - my_marker_ptr marker; - int i; - - /* Create subobject in permanent pool */ - marker = (my_marker_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, - SIZEOF(my_marker_reader)); - cinfo->marker = (struct jpeg_marker_reader *) marker; - /* Initialize public method pointers */ - marker->pub.reset_marker_reader = reset_marker_reader; - marker->pub.read_markers = read_markers; - marker->pub.read_restart_marker = read_restart_marker; - /* Initialize COM/APPn processing. - * By default, we examine and then discard APP0 and APP14, - * but simply discard COM and all other APPn. - */ - marker->process_COM = skip_variable; - marker->length_limit_COM = 0; - for (i = 0; i < 16; i++) { - marker->process_APPn[i] = skip_variable; - marker->length_limit_APPn[i] = 0; - } - marker->process_APPn[0] = get_interesting_appn; - marker->process_APPn[14] = get_interesting_appn; - /* Reset marker processing state */ - reset_marker_reader(cinfo); -} - - -/* - * Control saving of COM and APPn markers into marker_list. - */ - -#ifdef SAVE_MARKERS_SUPPORTED - -GLOBAL(void) -jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit) -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - long maxlength; - jpeg_marker_parser_method processor; - - /* Length limit mustn't be larger than what we can allocate - * (should only be a concern in a 16-bit environment). - */ - maxlength = cinfo->mem->max_alloc_chunk - SIZEOF(struct jpeg_marker_struct); - if (((long) length_limit) > maxlength) - length_limit = (unsigned int) maxlength; - - /* Choose processor routine to use. - * APP0/APP14 have special requirements. - */ - if (length_limit) { - processor = save_marker; - /* If saving APP0/APP14, save at least enough for our internal use. */ - if (marker_code == (int) M_APP0 && length_limit < APP0_DATA_LEN) - length_limit = APP0_DATA_LEN; - else if (marker_code == (int) M_APP14 && length_limit < APP14_DATA_LEN) - length_limit = APP14_DATA_LEN; - } else { - processor = skip_variable; - /* If discarding APP0/APP14, use our regular on-the-fly processor. */ - if (marker_code == (int) M_APP0 || marker_code == (int) M_APP14) - processor = get_interesting_appn; - } - - if (marker_code == (int) M_COM) { - marker->process_COM = processor; - marker->length_limit_COM = length_limit; - } else if (marker_code >= (int) M_APP0 && marker_code <= (int) M_APP15) { - marker->process_APPn[marker_code - (int) M_APP0] = processor; - marker->length_limit_APPn[marker_code - (int) M_APP0] = length_limit; - } else - ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code); -} - -#endif /* SAVE_MARKERS_SUPPORTED */ - - -/* - * Install a special processing method for COM or APPn markers. - */ - -GLOBAL(void) -jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine) -{ - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; - - if (marker_code == (int) M_COM) - marker->process_COM = routine; - else if (marker_code >= (int) M_APP0 && marker_code <= (int) M_APP15) - marker->process_APPn[marker_code - (int) M_APP0] = routine; - else - ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code); -} diff --git a/3rdparty/openctm/tools/jpeg/jdmaster.c b/3rdparty/openctm/tools/jpeg/jdmaster.c deleted file mode 100644 index ff82ae052..000000000 --- a/3rdparty/openctm/tools/jpeg/jdmaster.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * jdmaster.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2002-2008 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains master control logic for the JPEG decompressor. - * These routines are concerned with selecting the modules to be executed - * and with determining the number of passes and the work to be done in each - * pass. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private state */ - -typedef struct { - struct jpeg_decomp_master pub; /* public fields */ - - int pass_number; /* # of passes completed */ - - boolean using_merged_upsample; /* TRUE if using merged upsample/cconvert */ - - /* Saved references to initialized quantizer modules, - * in case we need to switch modes. - */ - struct jpeg_color_quantizer * quantizer_1pass; - struct jpeg_color_quantizer * quantizer_2pass; -} my_decomp_master; - -typedef my_decomp_master * my_master_ptr; - - -/* - * Determine whether merged upsample/color conversion should be used. - * CRUCIAL: this must match the actual capabilities of jdmerge.c! - */ - -LOCAL(boolean) -use_merged_upsample (j_decompress_ptr cinfo) -{ -#ifdef UPSAMPLE_MERGING_SUPPORTED - /* Merging is the equivalent of plain box-filter upsampling */ - if (cinfo->do_fancy_upsampling || cinfo->CCIR601_sampling) - return FALSE; - /* jdmerge.c only supports YCC=>RGB color conversion */ - if (cinfo->jpeg_color_space != JCS_YCbCr || cinfo->num_components != 3 || - cinfo->out_color_space != JCS_RGB || - cinfo->out_color_components != RGB_PIXELSIZE) - return FALSE; - /* and it only handles 2h1v or 2h2v sampling ratios */ - if (cinfo->comp_info[0].h_samp_factor != 2 || - cinfo->comp_info[1].h_samp_factor != 1 || - cinfo->comp_info[2].h_samp_factor != 1 || - cinfo->comp_info[0].v_samp_factor > 2 || - cinfo->comp_info[1].v_samp_factor != 1 || - cinfo->comp_info[2].v_samp_factor != 1) - return FALSE; - /* furthermore, it doesn't work if we've scaled the IDCTs differently */ - if (cinfo->comp_info[0].DCT_h_scaled_size != cinfo->min_DCT_h_scaled_size || - cinfo->comp_info[1].DCT_h_scaled_size != cinfo->min_DCT_h_scaled_size || - cinfo->comp_info[2].DCT_h_scaled_size != cinfo->min_DCT_h_scaled_size || - cinfo->comp_info[0].DCT_v_scaled_size != cinfo->min_DCT_v_scaled_size || - cinfo->comp_info[1].DCT_v_scaled_size != cinfo->min_DCT_v_scaled_size || - cinfo->comp_info[2].DCT_v_scaled_size != cinfo->min_DCT_v_scaled_size) - return FALSE; - /* ??? also need to test for upsample-time rescaling, when & if supported */ - return TRUE; /* by golly, it'll work... */ -#else - return FALSE; -#endif -} - - -/* - * Compute output image dimensions and related values. - * NOTE: this is exported for possible use by application. - * Hence it mustn't do anything that can't be done twice. - * Also note that it may be called before the master module is initialized! - */ - -GLOBAL(void) -jpeg_calc_output_dimensions (j_decompress_ptr cinfo) -/* Do computations that are needed before master selection phase */ -{ -#ifdef IDCT_SCALING_SUPPORTED - int ci; - jpeg_component_info *compptr; -#endif - - /* Prevent application from calling me at wrong times */ - if (cinfo->global_state != DSTATE_READY) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - -#ifdef IDCT_SCALING_SUPPORTED - - /* Compute actual output image dimensions and DCT scaling choices. */ - if (cinfo->scale_num * 8 <= cinfo->scale_denom) { - /* Provide 1/8 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 8L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 8L); - cinfo->min_DCT_h_scaled_size = 1; - cinfo->min_DCT_v_scaled_size = 1; - } else if (cinfo->scale_num * 4 <= cinfo->scale_denom) { - /* Provide 1/4 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 4L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 4L); - cinfo->min_DCT_h_scaled_size = 2; - cinfo->min_DCT_v_scaled_size = 2; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 3) { - /* Provide 3/8 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 3L, 8L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 3L, 8L); - cinfo->min_DCT_h_scaled_size = 3; - cinfo->min_DCT_v_scaled_size = 3; - } else if (cinfo->scale_num * 2 <= cinfo->scale_denom) { - /* Provide 1/2 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 2L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 2L); - cinfo->min_DCT_h_scaled_size = 4; - cinfo->min_DCT_v_scaled_size = 4; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 5) { - /* Provide 5/8 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 5L, 8L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 5L, 8L); - cinfo->min_DCT_h_scaled_size = 5; - cinfo->min_DCT_v_scaled_size = 5; - } else if (cinfo->scale_num * 4 <= cinfo->scale_denom * 3) { - /* Provide 3/4 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 3L, 4L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 3L, 4L); - cinfo->min_DCT_h_scaled_size = 6; - cinfo->min_DCT_v_scaled_size = 6; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 7) { - /* Provide 7/8 scaling */ - cinfo->output_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 7L, 8L); - cinfo->output_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 7L, 8L); - cinfo->min_DCT_h_scaled_size = 7; - cinfo->min_DCT_v_scaled_size = 7; - } else if (cinfo->scale_num <= cinfo->scale_denom) { - /* Provide 1/1 scaling */ - cinfo->output_width = cinfo->image_width; - cinfo->output_height = cinfo->image_height; - cinfo->min_DCT_h_scaled_size = DCTSIZE; - cinfo->min_DCT_v_scaled_size = DCTSIZE; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 9) { - /* Provide 9/8 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 8L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 8L); - cinfo->min_DCT_h_scaled_size = 9; - cinfo->min_DCT_v_scaled_size = 9; - } else if (cinfo->scale_num * 4 <= cinfo->scale_denom * 5) { - /* Provide 5/4 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 4L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 4L); - cinfo->min_DCT_h_scaled_size = 10; - cinfo->min_DCT_v_scaled_size = 10; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 11) { - /* Provide 11/8 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 3L, 8L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 3L, 8L); - cinfo->min_DCT_h_scaled_size = 11; - cinfo->min_DCT_v_scaled_size = 11; - } else if (cinfo->scale_num * 2 <= cinfo->scale_denom * 3) { - /* Provide 3/2 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width, 2L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height, 2L); - cinfo->min_DCT_h_scaled_size = 12; - cinfo->min_DCT_v_scaled_size = 12; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 13) { - /* Provide 13/8 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 5L, 8L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 5L, 8L); - cinfo->min_DCT_h_scaled_size = 13; - cinfo->min_DCT_v_scaled_size = 13; - } else if (cinfo->scale_num * 4 <= cinfo->scale_denom * 7) { - /* Provide 7/4 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 3L, 4L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 3L, 4L); - cinfo->min_DCT_h_scaled_size = 14; - cinfo->min_DCT_v_scaled_size = 14; - } else if (cinfo->scale_num * 8 <= cinfo->scale_denom * 15) { - /* Provide 15/8 scaling */ - cinfo->output_width = cinfo->image_width + (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * 7L, 8L); - cinfo->output_height = cinfo->image_height + (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * 7L, 8L); - cinfo->min_DCT_h_scaled_size = 15; - cinfo->min_DCT_v_scaled_size = 15; - } else { - /* Provide 2/1 scaling */ - cinfo->output_width = cinfo->image_width << 1; - cinfo->output_height = cinfo->image_height << 1; - cinfo->min_DCT_h_scaled_size = 16; - cinfo->min_DCT_v_scaled_size = 16; - } - /* In selecting the actual DCT scaling for each component, we try to - * scale up the chroma components via IDCT scaling rather than upsampling. - * This saves time if the upsampler gets to use 1:1 scaling. - * Note this code adapts subsampling ratios which are powers of 2. - */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - int ssize = 1; - while (cinfo->min_DCT_h_scaled_size * ssize <= - (cinfo->do_fancy_upsampling ? DCTSIZE : DCTSIZE / 2) && - (cinfo->max_h_samp_factor % (compptr->h_samp_factor * ssize * 2)) == 0) { - ssize = ssize * 2; - } - compptr->DCT_h_scaled_size = cinfo->min_DCT_h_scaled_size * ssize; - ssize = 1; - while (cinfo->min_DCT_v_scaled_size * ssize <= - (cinfo->do_fancy_upsampling ? DCTSIZE : DCTSIZE / 2) && - (cinfo->max_v_samp_factor % (compptr->v_samp_factor * ssize * 2)) == 0) { - ssize = ssize * 2; - } - compptr->DCT_v_scaled_size = cinfo->min_DCT_v_scaled_size * ssize; - - /* We don't support IDCT ratios larger than 2. */ - if (compptr->DCT_h_scaled_size > compptr->DCT_v_scaled_size * 2) - compptr->DCT_h_scaled_size = compptr->DCT_v_scaled_size * 2; - else if (compptr->DCT_v_scaled_size > compptr->DCT_h_scaled_size * 2) - compptr->DCT_v_scaled_size = compptr->DCT_h_scaled_size * 2; - } - - /* Recompute downsampled dimensions of components; - * application needs to know these if using raw downsampled data. - */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Size in samples, after IDCT scaling */ - compptr->downsampled_width = (JDIMENSION) - jdiv_round_up((long) cinfo->image_width * - (long) (compptr->h_samp_factor * compptr->DCT_h_scaled_size), - (long) (cinfo->max_h_samp_factor * DCTSIZE)); - compptr->downsampled_height = (JDIMENSION) - jdiv_round_up((long) cinfo->image_height * - (long) (compptr->v_samp_factor * compptr->DCT_v_scaled_size), - (long) (cinfo->max_v_samp_factor * DCTSIZE)); - } - -#else /* !IDCT_SCALING_SUPPORTED */ - - /* Hardwire it to "no scaling" */ - cinfo->output_width = cinfo->image_width; - cinfo->output_height = cinfo->image_height; - /* jdinput.c has already initialized DCT_scaled_size to DCTSIZE, - * and has computed unscaled downsampled_width and downsampled_height. - */ - -#endif /* IDCT_SCALING_SUPPORTED */ - - /* Report number of components in selected colorspace. */ - /* Probably this should be in the color conversion module... */ - switch (cinfo->out_color_space) { - case JCS_GRAYSCALE: - cinfo->out_color_components = 1; - break; - case JCS_RGB: -#if RGB_PIXELSIZE != 3 - cinfo->out_color_components = RGB_PIXELSIZE; - break; -#endif /* else share code with YCbCr */ - case JCS_YCbCr: - cinfo->out_color_components = 3; - break; - case JCS_CMYK: - case JCS_YCCK: - cinfo->out_color_components = 4; - break; - default: /* else must be same colorspace as in file */ - cinfo->out_color_components = cinfo->num_components; - break; - } - cinfo->output_components = (cinfo->quantize_colors ? 1 : - cinfo->out_color_components); - - /* See if upsampler will want to emit more than one row at a time */ - if (use_merged_upsample(cinfo)) - cinfo->rec_outbuf_height = cinfo->max_v_samp_factor; - else - cinfo->rec_outbuf_height = 1; -} - - -/* - * Several decompression processes need to range-limit values to the range - * 0..MAXJSAMPLE; the input value may fall somewhat outside this range - * due to noise introduced by quantization, roundoff error, etc. These - * processes are inner loops and need to be as fast as possible. On most - * machines, particularly CPUs with pipelines or instruction prefetch, - * a (subscript-check-less) C table lookup - * x = sample_range_limit[x]; - * is faster than explicit tests - * if (x < 0) x = 0; - * else if (x > MAXJSAMPLE) x = MAXJSAMPLE; - * These processes all use a common table prepared by the routine below. - * - * For most steps we can mathematically guarantee that the initial value - * of x is within MAXJSAMPLE+1 of the legal range, so a table running from - * -(MAXJSAMPLE+1) to 2*MAXJSAMPLE+1 is sufficient. But for the initial - * limiting step (just after the IDCT), a wildly out-of-range value is - * possible if the input data is corrupt. To avoid any chance of indexing - * off the end of memory and getting a bad-pointer trap, we perform the - * post-IDCT limiting thus: - * x = range_limit[x & MASK]; - * where MASK is 2 bits wider than legal sample data, ie 10 bits for 8-bit - * samples. Under normal circumstances this is more than enough range and - * a correct output will be generated; with bogus input data the mask will - * cause wraparound, and we will safely generate a bogus-but-in-range output. - * For the post-IDCT step, we want to convert the data from signed to unsigned - * representation by adding CENTERJSAMPLE at the same time that we limit it. - * So the post-IDCT limiting table ends up looking like this: - * CENTERJSAMPLE,CENTERJSAMPLE+1,...,MAXJSAMPLE, - * MAXJSAMPLE (repeat 2*(MAXJSAMPLE+1)-CENTERJSAMPLE times), - * 0 (repeat 2*(MAXJSAMPLE+1)-CENTERJSAMPLE times), - * 0,1,...,CENTERJSAMPLE-1 - * Negative inputs select values from the upper half of the table after - * masking. - * - * We can save some space by overlapping the start of the post-IDCT table - * with the simpler range limiting table. The post-IDCT table begins at - * sample_range_limit + CENTERJSAMPLE. - * - * Note that the table is allocated in near data space on PCs; it's small - * enough and used often enough to justify this. - */ - -LOCAL(void) -prepare_range_limit_table (j_decompress_ptr cinfo) -/* Allocate and fill in the sample_range_limit table */ -{ - JSAMPLE * table; - int i; - - table = (JSAMPLE *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (5 * (MAXJSAMPLE+1) + CENTERJSAMPLE) * SIZEOF(JSAMPLE)); - table += (MAXJSAMPLE+1); /* allow negative subscripts of simple table */ - cinfo->sample_range_limit = table; - /* First segment of "simple" table: limit[x] = 0 for x < 0 */ - MEMZERO(table - (MAXJSAMPLE+1), (MAXJSAMPLE+1) * SIZEOF(JSAMPLE)); - /* Main part of "simple" table: limit[x] = x */ - for (i = 0; i <= MAXJSAMPLE; i++) - table[i] = (JSAMPLE) i; - table += CENTERJSAMPLE; /* Point to where post-IDCT table starts */ - /* End of simple table, rest of first half of post-IDCT table */ - for (i = CENTERJSAMPLE; i < 2*(MAXJSAMPLE+1); i++) - table[i] = MAXJSAMPLE; - /* Second half of post-IDCT table */ - MEMZERO(table + (2 * (MAXJSAMPLE+1)), - (2 * (MAXJSAMPLE+1) - CENTERJSAMPLE) * SIZEOF(JSAMPLE)); - MEMCOPY(table + (4 * (MAXJSAMPLE+1) - CENTERJSAMPLE), - cinfo->sample_range_limit, CENTERJSAMPLE * SIZEOF(JSAMPLE)); -} - - -/* - * Master selection of decompression modules. - * This is done once at jpeg_start_decompress time. We determine - * which modules will be used and give them appropriate initialization calls. - * We also initialize the decompressor input side to begin consuming data. - * - * Since jpeg_read_header has finished, we know what is in the SOF - * and (first) SOS markers. We also have all the application parameter - * settings. - */ - -LOCAL(void) -master_selection (j_decompress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - boolean use_c_buffer; - long samplesperrow; - JDIMENSION jd_samplesperrow; - - /* Initialize dimensions and other stuff */ - jpeg_calc_output_dimensions(cinfo); - prepare_range_limit_table(cinfo); - - /* Width of an output scanline must be representable as JDIMENSION. */ - samplesperrow = (long) cinfo->output_width * (long) cinfo->out_color_components; - jd_samplesperrow = (JDIMENSION) samplesperrow; - if ((long) jd_samplesperrow != samplesperrow) - ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); - - /* Initialize my private state */ - master->pass_number = 0; - master->using_merged_upsample = use_merged_upsample(cinfo); - - /* Color quantizer selection */ - master->quantizer_1pass = NULL; - master->quantizer_2pass = NULL; - /* No mode changes if not using buffered-image mode. */ - if (! cinfo->quantize_colors || ! cinfo->buffered_image) { - cinfo->enable_1pass_quant = FALSE; - cinfo->enable_external_quant = FALSE; - cinfo->enable_2pass_quant = FALSE; - } - if (cinfo->quantize_colors) { - if (cinfo->raw_data_out) - ERREXIT(cinfo, JERR_NOTIMPL); - /* 2-pass quantizer only works in 3-component color space. */ - if (cinfo->out_color_components != 3) { - cinfo->enable_1pass_quant = TRUE; - cinfo->enable_external_quant = FALSE; - cinfo->enable_2pass_quant = FALSE; - cinfo->colormap = NULL; - } else if (cinfo->colormap != NULL) { - cinfo->enable_external_quant = TRUE; - } else if (cinfo->two_pass_quantize) { - cinfo->enable_2pass_quant = TRUE; - } else { - cinfo->enable_1pass_quant = TRUE; - } - - if (cinfo->enable_1pass_quant) { -#ifdef QUANT_1PASS_SUPPORTED - jinit_1pass_quantizer(cinfo); - master->quantizer_1pass = cinfo->cquantize; -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } - - /* We use the 2-pass code to map to external colormaps. */ - if (cinfo->enable_2pass_quant || cinfo->enable_external_quant) { -#ifdef QUANT_2PASS_SUPPORTED - jinit_2pass_quantizer(cinfo); - master->quantizer_2pass = cinfo->cquantize; -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } - /* If both quantizers are initialized, the 2-pass one is left active; - * this is necessary for starting with quantization to an external map. - */ - } - - /* Post-processing: in particular, color conversion first */ - if (! cinfo->raw_data_out) { - if (master->using_merged_upsample) { -#ifdef UPSAMPLE_MERGING_SUPPORTED - jinit_merged_upsampler(cinfo); /* does color conversion too */ -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif - } else { - jinit_color_deconverter(cinfo); - jinit_upsampler(cinfo); - } - jinit_d_post_controller(cinfo, cinfo->enable_2pass_quant); - } - /* Inverse DCT */ - jinit_inverse_dct(cinfo); - /* Entropy decoding: either Huffman or arithmetic coding. */ - if (cinfo->arith_code) { - jinit_arith_decoder(cinfo); - } else { - jinit_huff_decoder(cinfo); - } - - /* Initialize principal buffer controllers. */ - use_c_buffer = cinfo->inputctl->has_multiple_scans || cinfo->buffered_image; - jinit_d_coef_controller(cinfo, use_c_buffer); - - if (! cinfo->raw_data_out) - jinit_d_main_controller(cinfo, FALSE /* never need full buffer here */); - - /* We can now tell the memory manager to allocate virtual arrays. */ - (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); - - /* Initialize input side of decompressor to consume first scan. */ - (*cinfo->inputctl->start_input_pass) (cinfo); - -#ifdef D_MULTISCAN_FILES_SUPPORTED - /* If jpeg_start_decompress will read the whole file, initialize - * progress monitoring appropriately. The input step is counted - * as one pass. - */ - if (cinfo->progress != NULL && ! cinfo->buffered_image && - cinfo->inputctl->has_multiple_scans) { - int nscans; - /* Estimate number of scans to set pass_limit. */ - if (cinfo->progressive_mode) { - /* Arbitrarily estimate 2 interleaved DC scans + 3 AC scans/component. */ - nscans = 2 + 3 * cinfo->num_components; - } else { - /* For a nonprogressive multiscan file, estimate 1 scan per component. */ - nscans = cinfo->num_components; - } - cinfo->progress->pass_counter = 0L; - cinfo->progress->pass_limit = (long) cinfo->total_iMCU_rows * nscans; - cinfo->progress->completed_passes = 0; - cinfo->progress->total_passes = (cinfo->enable_2pass_quant ? 3 : 2); - /* Count the input pass as done */ - master->pass_number++; - } -#endif /* D_MULTISCAN_FILES_SUPPORTED */ -} - - -/* - * Per-pass setup. - * This is called at the beginning of each output pass. We determine which - * modules will be active during this pass and give them appropriate - * start_pass calls. We also set is_dummy_pass to indicate whether this - * is a "real" output pass or a dummy pass for color quantization. - * (In the latter case, jdapistd.c will crank the pass to completion.) - */ - -METHODDEF(void) -prepare_for_output_pass (j_decompress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - - if (master->pub.is_dummy_pass) { -#ifdef QUANT_2PASS_SUPPORTED - /* Final pass of 2-pass quantization */ - master->pub.is_dummy_pass = FALSE; - (*cinfo->cquantize->start_pass) (cinfo, FALSE); - (*cinfo->post->start_pass) (cinfo, JBUF_CRANK_DEST); - (*cinfo->main->start_pass) (cinfo, JBUF_CRANK_DEST); -#else - ERREXIT(cinfo, JERR_NOT_COMPILED); -#endif /* QUANT_2PASS_SUPPORTED */ - } else { - if (cinfo->quantize_colors && cinfo->colormap == NULL) { - /* Select new quantization method */ - if (cinfo->two_pass_quantize && cinfo->enable_2pass_quant) { - cinfo->cquantize = master->quantizer_2pass; - master->pub.is_dummy_pass = TRUE; - } else if (cinfo->enable_1pass_quant) { - cinfo->cquantize = master->quantizer_1pass; - } else { - ERREXIT(cinfo, JERR_MODE_CHANGE); - } - } - (*cinfo->idct->start_pass) (cinfo); - (*cinfo->coef->start_output_pass) (cinfo); - if (! cinfo->raw_data_out) { - if (! master->using_merged_upsample) - (*cinfo->cconvert->start_pass) (cinfo); - (*cinfo->upsample->start_pass) (cinfo); - if (cinfo->quantize_colors) - (*cinfo->cquantize->start_pass) (cinfo, master->pub.is_dummy_pass); - (*cinfo->post->start_pass) (cinfo, - (master->pub.is_dummy_pass ? JBUF_SAVE_AND_PASS : JBUF_PASS_THRU)); - (*cinfo->main->start_pass) (cinfo, JBUF_PASS_THRU); - } - } - - /* Set up progress monitor's pass info if present */ - if (cinfo->progress != NULL) { - cinfo->progress->completed_passes = master->pass_number; - cinfo->progress->total_passes = master->pass_number + - (master->pub.is_dummy_pass ? 2 : 1); - /* In buffered-image mode, we assume one more output pass if EOI not - * yet reached, but no more passes if EOI has been reached. - */ - if (cinfo->buffered_image && ! cinfo->inputctl->eoi_reached) { - cinfo->progress->total_passes += (cinfo->enable_2pass_quant ? 2 : 1); - } - } -} - - -/* - * Finish up at end of an output pass. - */ - -METHODDEF(void) -finish_output_pass (j_decompress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - - if (cinfo->quantize_colors) - (*cinfo->cquantize->finish_pass) (cinfo); - master->pass_number++; -} - - -#ifdef D_MULTISCAN_FILES_SUPPORTED - -/* - * Switch to a new external colormap between output passes. - */ - -GLOBAL(void) -jpeg_new_colormap (j_decompress_ptr cinfo) -{ - my_master_ptr master = (my_master_ptr) cinfo->master; - - /* Prevent application from calling me at wrong times */ - if (cinfo->global_state != DSTATE_BUFIMAGE) - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - - if (cinfo->quantize_colors && cinfo->enable_external_quant && - cinfo->colormap != NULL) { - /* Select 2-pass quantizer for external colormap use */ - cinfo->cquantize = master->quantizer_2pass; - /* Notify quantizer of colormap change */ - (*cinfo->cquantize->new_color_map) (cinfo); - master->pub.is_dummy_pass = FALSE; /* just in case */ - } else - ERREXIT(cinfo, JERR_MODE_CHANGE); -} - -#endif /* D_MULTISCAN_FILES_SUPPORTED */ - - -/* - * Initialize master decompression control and select active modules. - * This is performed at the start of jpeg_start_decompress. - */ - -GLOBAL(void) -jinit_master_decompress (j_decompress_ptr cinfo) -{ - my_master_ptr master; - - master = (my_master_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_decomp_master)); - cinfo->master = (struct jpeg_decomp_master *) master; - master->pub.prepare_for_output_pass = prepare_for_output_pass; - master->pub.finish_output_pass = finish_output_pass; - - master->pub.is_dummy_pass = FALSE; - - master_selection(cinfo); -} diff --git a/3rdparty/openctm/tools/jpeg/jdmerge.c b/3rdparty/openctm/tools/jpeg/jdmerge.c deleted file mode 100644 index 9e3a595de..000000000 --- a/3rdparty/openctm/tools/jpeg/jdmerge.c +++ /dev/null @@ -1,400 +0,0 @@ -/* - * jdmerge.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains code for merged upsampling/color conversion. - * - * This file combines functions from jdsample.c and jdcolor.c; - * read those files first to understand what's going on. - * - * When the chroma components are to be upsampled by simple replication - * (ie, box filtering), we can save some work in color conversion by - * calculating all the output pixels corresponding to a pair of chroma - * samples at one time. In the conversion equations - * R = Y + K1 * Cr - * G = Y + K2 * Cb + K3 * Cr - * B = Y + K4 * Cb - * only the Y term varies among the group of pixels corresponding to a pair - * of chroma samples, so the rest of the terms can be calculated just once. - * At typical sampling ratios, this eliminates half or three-quarters of the - * multiplications needed for color conversion. - * - * This file currently provides implementations for the following cases: - * YCbCr => RGB color conversion only. - * Sampling ratios of 2h1v or 2h2v. - * No scaling needed at upsample time. - * Corner-aligned (non-CCIR601) sampling alignment. - * Other special cases could be added, but in most applications these are - * the only common cases. (For uncommon cases we fall back on the more - * general code in jdsample.c and jdcolor.c.) - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - -#ifdef UPSAMPLE_MERGING_SUPPORTED - - -/* Private subobject */ - -typedef struct { - struct jpeg_upsampler pub; /* public fields */ - - /* Pointer to routine to do actual upsampling/conversion of one row group */ - JMETHOD(void, upmethod, (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, - JSAMPARRAY output_buf)); - - /* Private state for YCC->RGB conversion */ - int * Cr_r_tab; /* => table for Cr to R conversion */ - int * Cb_b_tab; /* => table for Cb to B conversion */ - INT32 * Cr_g_tab; /* => table for Cr to G conversion */ - INT32 * Cb_g_tab; /* => table for Cb to G conversion */ - - /* For 2:1 vertical sampling, we produce two output rows at a time. - * We need a "spare" row buffer to hold the second output row if the - * application provides just a one-row buffer; we also use the spare - * to discard the dummy last row if the image height is odd. - */ - JSAMPROW spare_row; - boolean spare_full; /* T if spare buffer is occupied */ - - JDIMENSION out_row_width; /* samples per output row */ - JDIMENSION rows_to_go; /* counts rows remaining in image */ -} my_upsampler; - -typedef my_upsampler * my_upsample_ptr; - -#define SCALEBITS 16 /* speediest right-shift on some machines */ -#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) -#define FIX(x) ((INT32) ((x) * (1L<RGB colorspace conversion. - * This is taken directly from jdcolor.c; see that file for more info. - */ - -LOCAL(void) -build_ycc_rgb_table (j_decompress_ptr cinfo) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - int i; - INT32 x; - SHIFT_TEMPS - - upsample->Cr_r_tab = (int *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(int)); - upsample->Cb_b_tab = (int *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(int)); - upsample->Cr_g_tab = (INT32 *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(INT32)); - upsample->Cb_g_tab = (INT32 *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (MAXJSAMPLE+1) * SIZEOF(INT32)); - - for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { - /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ - /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ - /* Cr=>R value is nearest int to 1.40200 * x */ - upsample->Cr_r_tab[i] = (int) - RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS); - /* Cb=>B value is nearest int to 1.77200 * x */ - upsample->Cb_b_tab[i] = (int) - RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS); - /* Cr=>G value is scaled-up -0.71414 * x */ - upsample->Cr_g_tab[i] = (- FIX(0.71414)) * x; - /* Cb=>G value is scaled-up -0.34414 * x */ - /* We also add in ONE_HALF so that need not do it in inner loop */ - upsample->Cb_g_tab[i] = (- FIX(0.34414)) * x + ONE_HALF; - } -} - - -/* - * Initialize for an upsampling pass. - */ - -METHODDEF(void) -start_pass_merged_upsample (j_decompress_ptr cinfo) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - - /* Mark the spare buffer empty */ - upsample->spare_full = FALSE; - /* Initialize total-height counter for detecting bottom of image */ - upsample->rows_to_go = cinfo->output_height; -} - - -/* - * Control routine to do upsampling (and color conversion). - * - * The control routine just handles the row buffering considerations. - */ - -METHODDEF(void) -merged_2v_upsample (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -/* 2:1 vertical sampling case: may need a spare row. */ -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - JSAMPROW work_ptrs[2]; - JDIMENSION num_rows; /* number of rows returned to caller */ - - if (upsample->spare_full) { - /* If we have a spare row saved from a previous cycle, just return it. */ - jcopy_sample_rows(& upsample->spare_row, 0, output_buf + *out_row_ctr, 0, - 1, upsample->out_row_width); - num_rows = 1; - upsample->spare_full = FALSE; - } else { - /* Figure number of rows to return to caller. */ - num_rows = 2; - /* Not more than the distance to the end of the image. */ - if (num_rows > upsample->rows_to_go) - num_rows = upsample->rows_to_go; - /* And not more than what the client can accept: */ - out_rows_avail -= *out_row_ctr; - if (num_rows > out_rows_avail) - num_rows = out_rows_avail; - /* Create output pointer array for upsampler. */ - work_ptrs[0] = output_buf[*out_row_ctr]; - if (num_rows > 1) { - work_ptrs[1] = output_buf[*out_row_ctr + 1]; - } else { - work_ptrs[1] = upsample->spare_row; - upsample->spare_full = TRUE; - } - /* Now do the upsampling. */ - (*upsample->upmethod) (cinfo, input_buf, *in_row_group_ctr, work_ptrs); - } - - /* Adjust counts */ - *out_row_ctr += num_rows; - upsample->rows_to_go -= num_rows; - /* When the buffer is emptied, declare this input row group consumed */ - if (! upsample->spare_full) - (*in_row_group_ctr)++; -} - - -METHODDEF(void) -merged_1v_upsample (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -/* 1:1 vertical sampling case: much easier, never need a spare row. */ -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - - /* Just do the upsampling. */ - (*upsample->upmethod) (cinfo, input_buf, *in_row_group_ctr, - output_buf + *out_row_ctr); - /* Adjust counts */ - (*out_row_ctr)++; - (*in_row_group_ctr)++; -} - - -/* - * These are the routines invoked by the control routines to do - * the actual upsampling/conversion. One row group is processed per call. - * - * Note: since we may be writing directly into application-supplied buffers, - * we have to be honest about the output width; we can't assume the buffer - * has been rounded up to an even width. - */ - - -/* - * Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. - */ - -METHODDEF(void) -h2v1_merged_upsample (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, - JSAMPARRAY output_buf) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - register int y, cred, cgreen, cblue; - int cb, cr; - register JSAMPROW outptr; - JSAMPROW inptr0, inptr1, inptr2; - JDIMENSION col; - /* copy these pointers into registers if possible */ - register JSAMPLE * range_limit = cinfo->sample_range_limit; - int * Crrtab = upsample->Cr_r_tab; - int * Cbbtab = upsample->Cb_b_tab; - INT32 * Crgtab = upsample->Cr_g_tab; - INT32 * Cbgtab = upsample->Cb_g_tab; - SHIFT_TEMPS - - inptr0 = input_buf[0][in_row_group_ctr]; - inptr1 = input_buf[1][in_row_group_ctr]; - inptr2 = input_buf[2][in_row_group_ctr]; - outptr = output_buf[0]; - /* Loop for each pair of output pixels */ - for (col = cinfo->output_width >> 1; col > 0; col--) { - /* Do the chroma part of the calculation */ - cb = GETJSAMPLE(*inptr1++); - cr = GETJSAMPLE(*inptr2++); - cred = Crrtab[cr]; - cgreen = (int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], SCALEBITS); - cblue = Cbbtab[cb]; - /* Fetch 2 Y values and emit 2 pixels */ - y = GETJSAMPLE(*inptr0++); - outptr[RGB_RED] = range_limit[y + cred]; - outptr[RGB_GREEN] = range_limit[y + cgreen]; - outptr[RGB_BLUE] = range_limit[y + cblue]; - outptr += RGB_PIXELSIZE; - y = GETJSAMPLE(*inptr0++); - outptr[RGB_RED] = range_limit[y + cred]; - outptr[RGB_GREEN] = range_limit[y + cgreen]; - outptr[RGB_BLUE] = range_limit[y + cblue]; - outptr += RGB_PIXELSIZE; - } - /* If image width is odd, do the last output column separately */ - if (cinfo->output_width & 1) { - cb = GETJSAMPLE(*inptr1); - cr = GETJSAMPLE(*inptr2); - cred = Crrtab[cr]; - cgreen = (int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], SCALEBITS); - cblue = Cbbtab[cb]; - y = GETJSAMPLE(*inptr0); - outptr[RGB_RED] = range_limit[y + cred]; - outptr[RGB_GREEN] = range_limit[y + cgreen]; - outptr[RGB_BLUE] = range_limit[y + cblue]; - } -} - - -/* - * Upsample and color convert for the case of 2:1 horizontal and 2:1 vertical. - */ - -METHODDEF(void) -h2v2_merged_upsample (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, - JSAMPARRAY output_buf) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - register int y, cred, cgreen, cblue; - int cb, cr; - register JSAMPROW outptr0, outptr1; - JSAMPROW inptr00, inptr01, inptr1, inptr2; - JDIMENSION col; - /* copy these pointers into registers if possible */ - register JSAMPLE * range_limit = cinfo->sample_range_limit; - int * Crrtab = upsample->Cr_r_tab; - int * Cbbtab = upsample->Cb_b_tab; - INT32 * Crgtab = upsample->Cr_g_tab; - INT32 * Cbgtab = upsample->Cb_g_tab; - SHIFT_TEMPS - - inptr00 = input_buf[0][in_row_group_ctr*2]; - inptr01 = input_buf[0][in_row_group_ctr*2 + 1]; - inptr1 = input_buf[1][in_row_group_ctr]; - inptr2 = input_buf[2][in_row_group_ctr]; - outptr0 = output_buf[0]; - outptr1 = output_buf[1]; - /* Loop for each group of output pixels */ - for (col = cinfo->output_width >> 1; col > 0; col--) { - /* Do the chroma part of the calculation */ - cb = GETJSAMPLE(*inptr1++); - cr = GETJSAMPLE(*inptr2++); - cred = Crrtab[cr]; - cgreen = (int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], SCALEBITS); - cblue = Cbbtab[cb]; - /* Fetch 4 Y values and emit 4 pixels */ - y = GETJSAMPLE(*inptr00++); - outptr0[RGB_RED] = range_limit[y + cred]; - outptr0[RGB_GREEN] = range_limit[y + cgreen]; - outptr0[RGB_BLUE] = range_limit[y + cblue]; - outptr0 += RGB_PIXELSIZE; - y = GETJSAMPLE(*inptr00++); - outptr0[RGB_RED] = range_limit[y + cred]; - outptr0[RGB_GREEN] = range_limit[y + cgreen]; - outptr0[RGB_BLUE] = range_limit[y + cblue]; - outptr0 += RGB_PIXELSIZE; - y = GETJSAMPLE(*inptr01++); - outptr1[RGB_RED] = range_limit[y + cred]; - outptr1[RGB_GREEN] = range_limit[y + cgreen]; - outptr1[RGB_BLUE] = range_limit[y + cblue]; - outptr1 += RGB_PIXELSIZE; - y = GETJSAMPLE(*inptr01++); - outptr1[RGB_RED] = range_limit[y + cred]; - outptr1[RGB_GREEN] = range_limit[y + cgreen]; - outptr1[RGB_BLUE] = range_limit[y + cblue]; - outptr1 += RGB_PIXELSIZE; - } - /* If image width is odd, do the last output column separately */ - if (cinfo->output_width & 1) { - cb = GETJSAMPLE(*inptr1); - cr = GETJSAMPLE(*inptr2); - cred = Crrtab[cr]; - cgreen = (int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], SCALEBITS); - cblue = Cbbtab[cb]; - y = GETJSAMPLE(*inptr00); - outptr0[RGB_RED] = range_limit[y + cred]; - outptr0[RGB_GREEN] = range_limit[y + cgreen]; - outptr0[RGB_BLUE] = range_limit[y + cblue]; - y = GETJSAMPLE(*inptr01); - outptr1[RGB_RED] = range_limit[y + cred]; - outptr1[RGB_GREEN] = range_limit[y + cgreen]; - outptr1[RGB_BLUE] = range_limit[y + cblue]; - } -} - - -/* - * Module initialization routine for merged upsampling/color conversion. - * - * NB: this is called under the conditions determined by use_merged_upsample() - * in jdmaster.c. That routine MUST correspond to the actual capabilities - * of this module; no safety checks are made here. - */ - -GLOBAL(void) -jinit_merged_upsampler (j_decompress_ptr cinfo) -{ - my_upsample_ptr upsample; - - upsample = (my_upsample_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_upsampler)); - cinfo->upsample = (struct jpeg_upsampler *) upsample; - upsample->pub.start_pass = start_pass_merged_upsample; - upsample->pub.need_context_rows = FALSE; - - upsample->out_row_width = cinfo->output_width * cinfo->out_color_components; - - if (cinfo->max_v_samp_factor == 2) { - upsample->pub.upsample = merged_2v_upsample; - upsample->upmethod = h2v2_merged_upsample; - /* Allocate a spare row buffer */ - upsample->spare_row = (JSAMPROW) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (size_t) (upsample->out_row_width * SIZEOF(JSAMPLE))); - } else { - upsample->pub.upsample = merged_1v_upsample; - upsample->upmethod = h2v1_merged_upsample; - /* No spare row needed */ - upsample->spare_row = NULL; - } - - build_ycc_rgb_table(cinfo); -} - -#endif /* UPSAMPLE_MERGING_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jdosabcc.obj b/3rdparty/openctm/tools/jpeg/jdosabcc.obj deleted file mode 100644 index eb60d8619c43d234fedbf53b01c10cfb429964b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 zcmZqRW8lfkP0dZoFHY1;EY4ltp}@evAQMtrl$5XFSX`W%o0OAUq@WO%T2!2wpQm7~ zXE3`%gu&ru)5Kf}6rDFZn1RAR)0h|-GC<6QQ>Fg+z`ddIr+t@Y77i3CWr$C1t6-E6LWGP%6~C1EQ86U0?k3lWHK^%A{$g*lv$EG zoq<6KW-Um0Vp(ElP9o6TW{eE1$Zjl7P0e;;VEBbBR+O5UlF7jEu!DucVG-lR1uGaC z85lyl--Lw+2L`dp?POp$8pgH7=B#27`_VYIPIlu1^6XKO(eZJyrxB{UOXkIz(>gyW;1O|v81i1y%y0hsZ Y+hDFlvCU@=E5lKb5XQe>*62m7#|W5!s6`j;#xCS!&Ty1_rM9ETFmZMX8A? znG6g95IxC>IXMs&S&T3h#i^;;E^zhv1*v%qVD%sa5$b<2FmOXmOwP$KPE~_*%ZoBg zQl~R8EbU-nU|7U>aluMPMh1q^?l)oK!GS?+ayuCqj)rk}iCm?l`tBc0eUexMaJ-IJ*6~b}%^MQ*;!hh-ZsEPz{f@8&3)A4n~I8IE{p= zb|6Ca4hHA5`Zf(EY{r+254`5wApqp|9O^!NB#uq3lU=PdoC%Acj>K`Pb+fB=hcl^l zm$Rw$#dD~2$Fuy8W9vQ*l7i?{>-1-V>xBl{j&#$rihT0>xfpuQ7#MbPF#P$vtQ5^J tr(J!0BY?mF5r!bgVA^*!9b_HMnJCt+n8U$v)RTdcF^TbI7ZU?R2>`P`+W`Oo diff --git a/3rdparty/openctm/tools/jpeg/jdosaobj.txt b/3rdparty/openctm/tools/jpeg/jdosaobj.txt deleted file mode 100644 index b3b15add1..000000000 --- a/3rdparty/openctm/tools/jpeg/jdosaobj.txt +++ /dev/null @@ -1,16 +0,0 @@ -This archive contains already-assembled object files for JMEMDOSA.ASM -of the Independent JPEG Group's JPEG package. These files will be helpful -if you want to compile the IJG code for DOS, but don't have an assembler. - -These files were prepared from the 3/13/1992 version of JMEMDOSA.ASM, -which is still unchanged as of mid-1998. You can use these files with -releases 3 through 6 of the IJG code, and probably future releases too. - -To use these files, copy the proper version to JMEMDOSA.OBJ. Make sure -this file has a newer date than JMEMDOSA.ASM. Then compile the code as -usual. - -Object files included: - -JDOSAMSC.OBJ For Microsoft C version 5 or later. -JDOSABCC.OBJ For Borland C version 3.0 or later. diff --git a/3rdparty/openctm/tools/jpeg/jdpostct.c b/3rdparty/openctm/tools/jpeg/jdpostct.c deleted file mode 100644 index 7ba9eed52..000000000 --- a/3rdparty/openctm/tools/jpeg/jdpostct.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - * jdpostct.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the decompression postprocessing controller. - * This controller manages the upsampling, color conversion, and color - * quantization/reduction steps; specifically, it controls the buffering - * between upsample/color conversion and color quantization/reduction. - * - * If no color quantization/reduction is required, then this module has no - * work to do, and it just hands off to the upsample/color conversion code. - * An integrated upsample/convert/quantize process would replace this module - * entirely. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Private buffer controller object */ - -typedef struct { - struct jpeg_d_post_controller pub; /* public fields */ - - /* Color quantization source buffer: this holds output data from - * the upsample/color conversion step to be passed to the quantizer. - * For two-pass color quantization, we need a full-image buffer; - * for one-pass operation, a strip buffer is sufficient. - */ - jvirt_sarray_ptr whole_image; /* virtual array, or NULL if one-pass */ - JSAMPARRAY buffer; /* strip buffer, or current strip of virtual */ - JDIMENSION strip_height; /* buffer size in rows */ - /* for two-pass mode only: */ - JDIMENSION starting_row; /* row # of first row in current strip */ - JDIMENSION next_row; /* index of next row to fill/empty in strip */ -} my_post_controller; - -typedef my_post_controller * my_post_ptr; - - -/* Forward declarations */ -METHODDEF(void) post_process_1pass - JPP((j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); -#ifdef QUANT_2PASS_SUPPORTED -METHODDEF(void) post_process_prepass - JPP((j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); -METHODDEF(void) post_process_2pass - JPP((j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); -#endif - - -/* - * Initialize for a processing pass. - */ - -METHODDEF(void) -start_pass_dpost (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) -{ - my_post_ptr post = (my_post_ptr) cinfo->post; - - switch (pass_mode) { - case JBUF_PASS_THRU: - if (cinfo->quantize_colors) { - /* Single-pass processing with color quantization. */ - post->pub.post_process_data = post_process_1pass; - /* We could be doing buffered-image output before starting a 2-pass - * color quantization; in that case, jinit_d_post_controller did not - * allocate a strip buffer. Use the virtual-array buffer as workspace. - */ - if (post->buffer == NULL) { - post->buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, post->whole_image, - (JDIMENSION) 0, post->strip_height, TRUE); - } - } else { - /* For single-pass processing without color quantization, - * I have no work to do; just call the upsampler directly. - */ - post->pub.post_process_data = cinfo->upsample->upsample; - } - break; -#ifdef QUANT_2PASS_SUPPORTED - case JBUF_SAVE_AND_PASS: - /* First pass of 2-pass quantization */ - if (post->whole_image == NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - post->pub.post_process_data = post_process_prepass; - break; - case JBUF_CRANK_DEST: - /* Second pass of 2-pass quantization */ - if (post->whole_image == NULL) - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - post->pub.post_process_data = post_process_2pass; - break; -#endif /* QUANT_2PASS_SUPPORTED */ - default: - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); - break; - } - post->starting_row = post->next_row = 0; -} - - -/* - * Process some data in the one-pass (strip buffer) case. - * This is used for color precision reduction as well as one-pass quantization. - */ - -METHODDEF(void) -post_process_1pass (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_post_ptr post = (my_post_ptr) cinfo->post; - JDIMENSION num_rows, max_rows; - - /* Fill the buffer, but not more than what we can dump out in one go. */ - /* Note we rely on the upsampler to detect bottom of image. */ - max_rows = out_rows_avail - *out_row_ctr; - if (max_rows > post->strip_height) - max_rows = post->strip_height; - num_rows = 0; - (*cinfo->upsample->upsample) (cinfo, - input_buf, in_row_group_ctr, in_row_groups_avail, - post->buffer, &num_rows, max_rows); - /* Quantize and emit data. */ - (*cinfo->cquantize->color_quantize) (cinfo, - post->buffer, output_buf + *out_row_ctr, (int) num_rows); - *out_row_ctr += num_rows; -} - - -#ifdef QUANT_2PASS_SUPPORTED - -/* - * Process some data in the first pass of 2-pass quantization. - */ - -METHODDEF(void) -post_process_prepass (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_post_ptr post = (my_post_ptr) cinfo->post; - JDIMENSION old_next_row, num_rows; - - /* Reposition virtual buffer if at start of strip. */ - if (post->next_row == 0) { - post->buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, post->whole_image, - post->starting_row, post->strip_height, TRUE); - } - - /* Upsample some data (up to a strip height's worth). */ - old_next_row = post->next_row; - (*cinfo->upsample->upsample) (cinfo, - input_buf, in_row_group_ctr, in_row_groups_avail, - post->buffer, &post->next_row, post->strip_height); - - /* Allow quantizer to scan new data. No data is emitted, */ - /* but we advance out_row_ctr so outer loop can tell when we're done. */ - if (post->next_row > old_next_row) { - num_rows = post->next_row - old_next_row; - (*cinfo->cquantize->color_quantize) (cinfo, post->buffer + old_next_row, - (JSAMPARRAY) NULL, (int) num_rows); - *out_row_ctr += num_rows; - } - - /* Advance if we filled the strip. */ - if (post->next_row >= post->strip_height) { - post->starting_row += post->strip_height; - post->next_row = 0; - } -} - - -/* - * Process some data in the second pass of 2-pass quantization. - */ - -METHODDEF(void) -post_process_2pass (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_post_ptr post = (my_post_ptr) cinfo->post; - JDIMENSION num_rows, max_rows; - - /* Reposition virtual buffer if at start of strip. */ - if (post->next_row == 0) { - post->buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, post->whole_image, - post->starting_row, post->strip_height, FALSE); - } - - /* Determine number of rows to emit. */ - num_rows = post->strip_height - post->next_row; /* available in strip */ - max_rows = out_rows_avail - *out_row_ctr; /* available in output area */ - if (num_rows > max_rows) - num_rows = max_rows; - /* We have to check bottom of image here, can't depend on upsampler. */ - max_rows = cinfo->output_height - post->starting_row; - if (num_rows > max_rows) - num_rows = max_rows; - - /* Quantize and emit data. */ - (*cinfo->cquantize->color_quantize) (cinfo, - post->buffer + post->next_row, output_buf + *out_row_ctr, - (int) num_rows); - *out_row_ctr += num_rows; - - /* Advance if we filled the strip. */ - post->next_row += num_rows; - if (post->next_row >= post->strip_height) { - post->starting_row += post->strip_height; - post->next_row = 0; - } -} - -#endif /* QUANT_2PASS_SUPPORTED */ - - -/* - * Initialize postprocessing controller. - */ - -GLOBAL(void) -jinit_d_post_controller (j_decompress_ptr cinfo, boolean need_full_buffer) -{ - my_post_ptr post; - - post = (my_post_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_post_controller)); - cinfo->post = (struct jpeg_d_post_controller *) post; - post->pub.start_pass = start_pass_dpost; - post->whole_image = NULL; /* flag for no virtual arrays */ - post->buffer = NULL; /* flag for no strip buffer */ - - /* Create the quantization buffer, if needed */ - if (cinfo->quantize_colors) { - /* The buffer strip height is max_v_samp_factor, which is typically - * an efficient number of rows for upsampling to return. - * (In the presence of output rescaling, we might want to be smarter?) - */ - post->strip_height = (JDIMENSION) cinfo->max_v_samp_factor; - if (need_full_buffer) { - /* Two-pass color quantization: need full-image storage. */ - /* We round up the number of rows to a multiple of the strip height. */ -#ifdef QUANT_2PASS_SUPPORTED - post->whole_image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - cinfo->output_width * cinfo->out_color_components, - (JDIMENSION) jround_up((long) cinfo->output_height, - (long) post->strip_height), - post->strip_height); -#else - ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); -#endif /* QUANT_2PASS_SUPPORTED */ - } else { - /* One-pass color quantization: just make a strip buffer. */ - post->buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->output_width * cinfo->out_color_components, - post->strip_height); - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdsample.c b/3rdparty/openctm/tools/jpeg/jdsample.c deleted file mode 100644 index 94f9599f0..000000000 --- a/3rdparty/openctm/tools/jpeg/jdsample.c +++ /dev/null @@ -1,361 +0,0 @@ -/* - * jdsample.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * Modified 2002-2008 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains upsampling routines. - * - * Upsampling input data is counted in "row groups". A row group - * is defined to be (v_samp_factor * DCT_v_scaled_size / min_DCT_v_scaled_size) - * sample rows of each component. Upsampling will normally produce - * max_v_samp_factor pixel rows from each row group (but this could vary - * if the upsampler is applying a scale factor of its own). - * - * An excellent reference for image resampling is - * Digital Image Warping, George Wolberg, 1990. - * Pub. by IEEE Computer Society Press, Los Alamitos, CA. ISBN 0-8186-8944-7. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Pointer to routine to upsample a single component */ -typedef JMETHOD(void, upsample1_ptr, - (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); - -/* Private subobject */ - -typedef struct { - struct jpeg_upsampler pub; /* public fields */ - - /* Color conversion buffer. When using separate upsampling and color - * conversion steps, this buffer holds one upsampled row group until it - * has been color converted and output. - * Note: we do not allocate any storage for component(s) which are full-size, - * ie do not need rescaling. The corresponding entry of color_buf[] is - * simply set to point to the input data array, thereby avoiding copying. - */ - JSAMPARRAY color_buf[MAX_COMPONENTS]; - - /* Per-component upsampling method pointers */ - upsample1_ptr methods[MAX_COMPONENTS]; - - int next_row_out; /* counts rows emitted from color_buf */ - JDIMENSION rows_to_go; /* counts rows remaining in image */ - - /* Height of an input row group for each component. */ - int rowgroup_height[MAX_COMPONENTS]; - - /* These arrays save pixel expansion factors so that int_expand need not - * recompute them each time. They are unused for other upsampling methods. - */ - UINT8 h_expand[MAX_COMPONENTS]; - UINT8 v_expand[MAX_COMPONENTS]; -} my_upsampler; - -typedef my_upsampler * my_upsample_ptr; - - -/* - * Initialize for an upsampling pass. - */ - -METHODDEF(void) -start_pass_upsample (j_decompress_ptr cinfo) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - - /* Mark the conversion buffer empty */ - upsample->next_row_out = cinfo->max_v_samp_factor; - /* Initialize total-height counter for detecting bottom of image */ - upsample->rows_to_go = cinfo->output_height; -} - - -/* - * Control routine to do upsampling (and color conversion). - * - * In this version we upsample each component independently. - * We upsample one row group into the conversion buffer, then apply - * color conversion a row at a time. - */ - -METHODDEF(void) -sep_upsample (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - int ci; - jpeg_component_info * compptr; - JDIMENSION num_rows; - - /* Fill the conversion buffer, if it's empty */ - if (upsample->next_row_out >= cinfo->max_v_samp_factor) { - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Invoke per-component upsample method. Notice we pass a POINTER - * to color_buf[ci], so that fullsize_upsample can change it. - */ - (*upsample->methods[ci]) (cinfo, compptr, - input_buf[ci] + (*in_row_group_ctr * upsample->rowgroup_height[ci]), - upsample->color_buf + ci); - } - upsample->next_row_out = 0; - } - - /* Color-convert and emit rows */ - - /* How many we have in the buffer: */ - num_rows = (JDIMENSION) (cinfo->max_v_samp_factor - upsample->next_row_out); - /* Not more than the distance to the end of the image. Need this test - * in case the image height is not a multiple of max_v_samp_factor: - */ - if (num_rows > upsample->rows_to_go) - num_rows = upsample->rows_to_go; - /* And not more than what the client can accept: */ - out_rows_avail -= *out_row_ctr; - if (num_rows > out_rows_avail) - num_rows = out_rows_avail; - - (*cinfo->cconvert->color_convert) (cinfo, upsample->color_buf, - (JDIMENSION) upsample->next_row_out, - output_buf + *out_row_ctr, - (int) num_rows); - - /* Adjust counts */ - *out_row_ctr += num_rows; - upsample->rows_to_go -= num_rows; - upsample->next_row_out += num_rows; - /* When the buffer is emptied, declare this input row group consumed */ - if (upsample->next_row_out >= cinfo->max_v_samp_factor) - (*in_row_group_ctr)++; -} - - -/* - * These are the routines invoked by sep_upsample to upsample pixel values - * of a single component. One row group is processed per call. - */ - - -/* - * For full-size components, we just make color_buf[ci] point at the - * input buffer, and thus avoid copying any data. Note that this is - * safe only because sep_upsample doesn't declare the input row group - * "consumed" until we are done color converting and emitting it. - */ - -METHODDEF(void) -fullsize_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) -{ - *output_data_ptr = input_data; -} - - -/* - * This is a no-op version used for "uninteresting" components. - * These components will not be referenced by color conversion. - */ - -METHODDEF(void) -noop_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) -{ - *output_data_ptr = NULL; /* safety check */ -} - - -/* - * This version handles any integral sampling ratios. - * This is not used for typical JPEG files, so it need not be fast. - * Nor, for that matter, is it particularly accurate: the algorithm is - * simple replication of the input pixel onto the corresponding output - * pixels. The hi-falutin sampling literature refers to this as a - * "box filter". A box filter tends to introduce visible artifacts, - * so if you are actually going to use 3:1 or 4:1 sampling ratios - * you would be well advised to improve this code. - */ - -METHODDEF(void) -int_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) -{ - my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; - JSAMPARRAY output_data = *output_data_ptr; - register JSAMPROW inptr, outptr; - register JSAMPLE invalue; - register int h; - JSAMPROW outend; - int h_expand, v_expand; - int inrow, outrow; - - h_expand = upsample->h_expand[compptr->component_index]; - v_expand = upsample->v_expand[compptr->component_index]; - - inrow = outrow = 0; - while (outrow < cinfo->max_v_samp_factor) { - /* Generate one output row with proper horizontal expansion */ - inptr = input_data[inrow]; - outptr = output_data[outrow]; - outend = outptr + cinfo->output_width; - while (outptr < outend) { - invalue = *inptr++; /* don't need GETJSAMPLE() here */ - for (h = h_expand; h > 0; h--) { - *outptr++ = invalue; - } - } - /* Generate any additional output rows by duplicating the first one */ - if (v_expand > 1) { - jcopy_sample_rows(output_data, outrow, output_data, outrow+1, - v_expand-1, cinfo->output_width); - } - inrow++; - outrow += v_expand; - } -} - - -/* - * Fast processing for the common case of 2:1 horizontal and 1:1 vertical. - * It's still a box filter. - */ - -METHODDEF(void) -h2v1_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) -{ - JSAMPARRAY output_data = *output_data_ptr; - register JSAMPROW inptr, outptr; - register JSAMPLE invalue; - JSAMPROW outend; - int outrow; - - for (outrow = 0; outrow < cinfo->max_v_samp_factor; outrow++) { - inptr = input_data[outrow]; - outptr = output_data[outrow]; - outend = outptr + cinfo->output_width; - while (outptr < outend) { - invalue = *inptr++; /* don't need GETJSAMPLE() here */ - *outptr++ = invalue; - *outptr++ = invalue; - } - } -} - - -/* - * Fast processing for the common case of 2:1 horizontal and 2:1 vertical. - * It's still a box filter. - */ - -METHODDEF(void) -h2v2_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) -{ - JSAMPARRAY output_data = *output_data_ptr; - register JSAMPROW inptr, outptr; - register JSAMPLE invalue; - JSAMPROW outend; - int inrow, outrow; - - inrow = outrow = 0; - while (outrow < cinfo->max_v_samp_factor) { - inptr = input_data[inrow]; - outptr = output_data[outrow]; - outend = outptr + cinfo->output_width; - while (outptr < outend) { - invalue = *inptr++; /* don't need GETJSAMPLE() here */ - *outptr++ = invalue; - *outptr++ = invalue; - } - jcopy_sample_rows(output_data, outrow, output_data, outrow+1, - 1, cinfo->output_width); - inrow++; - outrow += 2; - } -} - - -/* - * Module initialization routine for upsampling. - */ - -GLOBAL(void) -jinit_upsampler (j_decompress_ptr cinfo) -{ - my_upsample_ptr upsample; - int ci; - jpeg_component_info * compptr; - boolean need_buffer; - int h_in_group, v_in_group, h_out_group, v_out_group; - - upsample = (my_upsample_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_upsampler)); - cinfo->upsample = (struct jpeg_upsampler *) upsample; - upsample->pub.start_pass = start_pass_upsample; - upsample->pub.upsample = sep_upsample; - upsample->pub.need_context_rows = FALSE; /* until we find out differently */ - - if (cinfo->CCIR601_sampling) /* this isn't supported */ - ERREXIT(cinfo, JERR_CCIR601_NOTIMPL); - - /* Verify we can handle the sampling factors, select per-component methods, - * and create storage as needed. - */ - for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; - ci++, compptr++) { - /* Compute size of an "input group" after IDCT scaling. This many samples - * are to be converted to max_h_samp_factor * max_v_samp_factor pixels. - */ - h_in_group = (compptr->h_samp_factor * compptr->DCT_h_scaled_size) / - cinfo->min_DCT_h_scaled_size; - v_in_group = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / - cinfo->min_DCT_v_scaled_size; - h_out_group = cinfo->max_h_samp_factor; - v_out_group = cinfo->max_v_samp_factor; - upsample->rowgroup_height[ci] = v_in_group; /* save for use later */ - need_buffer = TRUE; - if (! compptr->component_needed) { - /* Don't bother to upsample an uninteresting component. */ - upsample->methods[ci] = noop_upsample; - need_buffer = FALSE; - } else if (h_in_group == h_out_group && v_in_group == v_out_group) { - /* Fullsize components can be processed without any work. */ - upsample->methods[ci] = fullsize_upsample; - need_buffer = FALSE; - } else if (h_in_group * 2 == h_out_group && - v_in_group == v_out_group) { - /* Special case for 2h1v upsampling */ - upsample->methods[ci] = h2v1_upsample; - } else if (h_in_group * 2 == h_out_group && - v_in_group * 2 == v_out_group) { - /* Special case for 2h2v upsampling */ - upsample->methods[ci] = h2v2_upsample; - } else if ((h_out_group % h_in_group) == 0 && - (v_out_group % v_in_group) == 0) { - /* Generic integral-factors upsampling method */ - upsample->methods[ci] = int_upsample; - upsample->h_expand[ci] = (UINT8) (h_out_group / h_in_group); - upsample->v_expand[ci] = (UINT8) (v_out_group / v_in_group); - } else - ERREXIT(cinfo, JERR_FRACT_SAMPLE_NOTIMPL); - if (need_buffer) { - upsample->color_buf[ci] = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) jround_up((long) cinfo->output_width, - (long) cinfo->max_h_samp_factor), - (JDIMENSION) cinfo->max_v_samp_factor); - } - } -} diff --git a/3rdparty/openctm/tools/jpeg/jdtrans.c b/3rdparty/openctm/tools/jpeg/jdtrans.c deleted file mode 100644 index 5e42c5bb0..000000000 --- a/3rdparty/openctm/tools/jpeg/jdtrans.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * jdtrans.c - * - * Copyright (C) 1995-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains library routines for transcoding decompression, - * that is, reading raw DCT coefficient arrays from an input JPEG file. - * The routines in jdapimin.c will also be needed by a transcoder. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* Forward declarations */ -LOCAL(void) transdecode_master_selection JPP((j_decompress_ptr cinfo)); - - -/* - * Read the coefficient arrays from a JPEG file. - * jpeg_read_header must be completed before calling this. - * - * The entire image is read into a set of virtual coefficient-block arrays, - * one per component. The return value is a pointer to the array of - * virtual-array descriptors. These can be manipulated directly via the - * JPEG memory manager, or handed off to jpeg_write_coefficients(). - * To release the memory occupied by the virtual arrays, call - * jpeg_finish_decompress() when done with the data. - * - * An alternative usage is to simply obtain access to the coefficient arrays - * during a buffered-image-mode decompression operation. This is allowed - * after any jpeg_finish_output() call. The arrays can be accessed until - * jpeg_finish_decompress() is called. (Note that any call to the library - * may reposition the arrays, so don't rely on access_virt_barray() results - * to stay valid across library calls.) - * - * Returns NULL if suspended. This case need be checked only if - * a suspending data source is used. - */ - -GLOBAL(jvirt_barray_ptr *) -jpeg_read_coefficients (j_decompress_ptr cinfo) -{ - if (cinfo->global_state == DSTATE_READY) { - /* First call: initialize active modules */ - transdecode_master_selection(cinfo); - cinfo->global_state = DSTATE_RDCOEFS; - } - if (cinfo->global_state == DSTATE_RDCOEFS) { - /* Absorb whole file into the coef buffer */ - for (;;) { - int retcode; - /* Call progress monitor hook if present */ - if (cinfo->progress != NULL) - (*cinfo->progress->progress_monitor) ((j_common_ptr) cinfo); - /* Absorb some more input */ - retcode = (*cinfo->inputctl->consume_input) (cinfo); - if (retcode == JPEG_SUSPENDED) - return NULL; - if (retcode == JPEG_REACHED_EOI) - break; - /* Advance progress counter if appropriate */ - if (cinfo->progress != NULL && - (retcode == JPEG_ROW_COMPLETED || retcode == JPEG_REACHED_SOS)) { - if (++cinfo->progress->pass_counter >= cinfo->progress->pass_limit) { - /* startup underestimated number of scans; ratchet up one scan */ - cinfo->progress->pass_limit += (long) cinfo->total_iMCU_rows; - } - } - } - /* Set state so that jpeg_finish_decompress does the right thing */ - cinfo->global_state = DSTATE_STOPPING; - } - /* At this point we should be in state DSTATE_STOPPING if being used - * standalone, or in state DSTATE_BUFIMAGE if being invoked to get access - * to the coefficients during a full buffered-image-mode decompression. - */ - if ((cinfo->global_state == DSTATE_STOPPING || - cinfo->global_state == DSTATE_BUFIMAGE) && cinfo->buffered_image) { - return cinfo->coef->coef_arrays; - } - /* Oops, improper usage */ - ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); - return NULL; /* keep compiler happy */ -} - - -/* - * Master selection of decompression modules for transcoding. - * This substitutes for jdmaster.c's initialization of the full decompressor. - */ - -LOCAL(void) -transdecode_master_selection (j_decompress_ptr cinfo) -{ - /* This is effectively a buffered-image operation. */ - cinfo->buffered_image = TRUE; - - /* Entropy decoding: either Huffman or arithmetic coding. */ - if (cinfo->arith_code) - jinit_arith_decoder(cinfo); - else { - jinit_huff_decoder(cinfo); - } - - /* Always get a full-image coefficient buffer. */ - jinit_d_coef_controller(cinfo, TRUE); - - /* We can now tell the memory manager to allocate virtual arrays. */ - (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); - - /* Initialize input side of decompressor to consume first scan. */ - (*cinfo->inputctl->start_input_pass) (cinfo); - - /* Initialize progress monitoring. */ - if (cinfo->progress != NULL) { - int nscans; - /* Estimate number of scans to set pass_limit. */ - if (cinfo->progressive_mode) { - /* Arbitrarily estimate 2 interleaved DC scans + 3 AC scans/component. */ - nscans = 2 + 3 * cinfo->num_components; - } else if (cinfo->inputctl->has_multiple_scans) { - /* For a nonprogressive multiscan file, estimate 1 scan per component. */ - nscans = cinfo->num_components; - } else { - nscans = 1; - } - cinfo->progress->pass_counter = 0L; - cinfo->progress->pass_limit = (long) cinfo->total_iMCU_rows * nscans; - cinfo->progress->completed_passes = 0; - cinfo->progress->total_passes = 1; - } -} diff --git a/3rdparty/openctm/tools/jpeg/jerror.c b/3rdparty/openctm/tools/jpeg/jerror.c deleted file mode 100644 index c98aed76e..000000000 --- a/3rdparty/openctm/tools/jpeg/jerror.c +++ /dev/null @@ -1,252 +0,0 @@ -/* - * jerror.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains simple error-reporting and trace-message routines. - * These are suitable for Unix-like systems and others where writing to - * stderr is the right thing to do. Many applications will want to replace - * some or all of these routines. - * - * If you define USE_WINDOWS_MESSAGEBOX in jconfig.h or in the makefile, - * you get a Windows-specific hack to display error messages in a dialog box. - * It ain't much, but it beats dropping error messages into the bit bucket, - * which is what happens to output to stderr under most Windows C compilers. - * - * These routines are used by both the compression and decompression code. - */ - -/* this is not a core library module, so it doesn't define JPEG_INTERNALS */ -#include "jinclude.h" -#include "jpeglib.h" -#include "jversion.h" -#include "jerror.h" - -#ifdef USE_WINDOWS_MESSAGEBOX -#include -#endif - -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ -#define EXIT_FAILURE 1 -#endif - - -/* - * Create the message string table. - * We do this from the master message list in jerror.h by re-reading - * jerror.h with a suitable definition for macro JMESSAGE. - * The message table is made an external symbol just in case any applications - * want to refer to it directly. - */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_message_table jMsgTable -#endif - -#define JMESSAGE(code,string) string , - -const char * const jpeg_std_message_table[] = { -#include "jerror.h" - NULL -}; - - -/* - * Error exit handler: must not return to caller. - * - * Applications may override this if they want to get control back after - * an error. Typically one would longjmp somewhere instead of exiting. - * The setjmp buffer can be made a private field within an expanded error - * handler object. Note that the info needed to generate an error message - * is stored in the error object, so you can generate the message now or - * later, at your convenience. - * You should make sure that the JPEG object is cleaned up (with jpeg_abort - * or jpeg_destroy) at some point. - */ - -METHODDEF(void) -error_exit (j_common_ptr cinfo) -{ - /* Always display the message */ - (*cinfo->err->output_message) (cinfo); - - /* Let the memory manager delete any temp files before we die */ - jpeg_destroy(cinfo); - - exit(EXIT_FAILURE); -} - - -/* - * Actual output of an error or trace message. - * Applications may override this method to send JPEG messages somewhere - * other than stderr. - * - * On Windows, printing to stderr is generally completely useless, - * so we provide optional code to produce an error-dialog popup. - * Most Windows applications will still prefer to override this routine, - * but if they don't, it'll do something at least marginally useful. - * - * NOTE: to use the library in an environment that doesn't support the - * C stdio library, you may have to delete the call to fprintf() entirely, - * not just not use this routine. - */ - -METHODDEF(void) -output_message (j_common_ptr cinfo) -{ - char buffer[JMSG_LENGTH_MAX]; - - /* Create the message */ - (*cinfo->err->format_message) (cinfo, buffer); - -#ifdef USE_WINDOWS_MESSAGEBOX - /* Display it in a message dialog box */ - MessageBox(GetActiveWindow(), buffer, "JPEG Library Error", - MB_OK | MB_ICONERROR); -#else - /* Send it to stderr, adding a newline */ - fprintf(stderr, "%s\n", buffer); -#endif -} - - -/* - * Decide whether to emit a trace or warning message. - * msg_level is one of: - * -1: recoverable corrupt-data warning, may want to abort. - * 0: important advisory messages (always display to user). - * 1: first level of tracing detail. - * 2,3,...: successively more detailed tracing messages. - * An application might override this method if it wanted to abort on warnings - * or change the policy about which messages to display. - */ - -METHODDEF(void) -emit_message (j_common_ptr cinfo, int msg_level) -{ - struct jpeg_error_mgr * err = cinfo->err; - - if (msg_level < 0) { - /* It's a warning message. Since corrupt files may generate many warnings, - * the policy implemented here is to show only the first warning, - * unless trace_level >= 3. - */ - if (err->num_warnings == 0 || err->trace_level >= 3) - (*err->output_message) (cinfo); - /* Always count warnings in num_warnings. */ - err->num_warnings++; - } else { - /* It's a trace message. Show it if trace_level >= msg_level. */ - if (err->trace_level >= msg_level) - (*err->output_message) (cinfo); - } -} - - -/* - * Format a message string for the most recent JPEG error or message. - * The message is stored into buffer, which should be at least JMSG_LENGTH_MAX - * characters. Note that no '\n' character is added to the string. - * Few applications should need to override this method. - */ - -METHODDEF(void) -format_message (j_common_ptr cinfo, char * buffer) -{ - struct jpeg_error_mgr * err = cinfo->err; - int msg_code = err->msg_code; - const char * msgtext = NULL; - const char * msgptr; - char ch; - boolean isstring; - - /* Look up message string in proper table */ - if (msg_code > 0 && msg_code <= err->last_jpeg_message) { - msgtext = err->jpeg_message_table[msg_code]; - } else if (err->addon_message_table != NULL && - msg_code >= err->first_addon_message && - msg_code <= err->last_addon_message) { - msgtext = err->addon_message_table[msg_code - err->first_addon_message]; - } - - /* Defend against bogus message number */ - if (msgtext == NULL) { - err->msg_parm.i[0] = msg_code; - msgtext = err->jpeg_message_table[0]; - } - - /* Check for string parameter, as indicated by %s in the message text */ - isstring = FALSE; - msgptr = msgtext; - while ((ch = *msgptr++) != '\0') { - if (ch == '%') { - if (*msgptr == 's') isstring = TRUE; - break; - } - } - - /* Format the message into the passed buffer */ - if (isstring) - sprintf(buffer, msgtext, err->msg_parm.s); - else - sprintf(buffer, msgtext, - err->msg_parm.i[0], err->msg_parm.i[1], - err->msg_parm.i[2], err->msg_parm.i[3], - err->msg_parm.i[4], err->msg_parm.i[5], - err->msg_parm.i[6], err->msg_parm.i[7]); -} - - -/* - * Reset error state variables at start of a new image. - * This is called during compression startup to reset trace/error - * processing to default state, without losing any application-specific - * method pointers. An application might possibly want to override - * this method if it has additional error processing state. - */ - -METHODDEF(void) -reset_error_mgr (j_common_ptr cinfo) -{ - cinfo->err->num_warnings = 0; - /* trace_level is not reset since it is an application-supplied parameter */ - cinfo->err->msg_code = 0; /* may be useful as a flag for "no error" */ -} - - -/* - * Fill in the standard error-handling methods in a jpeg_error_mgr object. - * Typical call is: - * struct jpeg_compress_struct cinfo; - * struct jpeg_error_mgr err; - * - * cinfo.err = jpeg_std_error(&err); - * after which the application may override some of the methods. - */ - -GLOBAL(struct jpeg_error_mgr *) -jpeg_std_error (struct jpeg_error_mgr * err) -{ - err->error_exit = error_exit; - err->emit_message = emit_message; - err->output_message = output_message; - err->format_message = format_message; - err->reset_error_mgr = reset_error_mgr; - - err->trace_level = 0; /* default = no tracing */ - err->num_warnings = 0; /* no warnings emitted yet */ - err->msg_code = 0; /* may be useful as a flag for "no error" */ - - /* Initialize message table pointers */ - err->jpeg_message_table = jpeg_std_message_table; - err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1; - - err->addon_message_table = NULL; - err->first_addon_message = 0; /* for safety */ - err->last_addon_message = 0; - - return err; -} diff --git a/3rdparty/openctm/tools/jpeg/jerror.h b/3rdparty/openctm/tools/jpeg/jerror.h deleted file mode 100644 index 478b74d78..000000000 --- a/3rdparty/openctm/tools/jpeg/jerror.h +++ /dev/null @@ -1,304 +0,0 @@ -/* - * jerror.h - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * Modified 1997-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the error and message codes for the JPEG library. - * Edit this file to add new codes, or to translate the message strings to - * some other language. - * A set of error-reporting macros are defined too. Some applications using - * the JPEG library may wish to include this file to get the error codes - * and/or the macros. - */ - -/* - * To define the enum list of message codes, include this file without - * defining macro JMESSAGE. To create a message string table, include it - * again with a suitable JMESSAGE definition (see jerror.c for an example). - */ -#ifndef JMESSAGE -#ifndef JERROR_H -/* First time through, define the enum list */ -#define JMAKE_ENUM_LIST -#else -/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ -#define JMESSAGE(code,string) -#endif /* JERROR_H */ -#endif /* JMESSAGE */ - -#ifdef JMAKE_ENUM_LIST - -typedef enum { - -#define JMESSAGE(code,string) code , - -#endif /* JMAKE_ENUM_LIST */ - -JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */ - -/* For maintenance convenience, list is alphabetical by message code name */ -JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix") -JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") -JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") -JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") -JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") -JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range") -JMESSAGE(JERR_BAD_DCTSIZE, "DCT scaled block size %dx%d not supported") -JMESSAGE(JERR_BAD_DROP_SAMPLING, - "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") -JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") -JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace") -JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace") -JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length") -JMESSAGE(JERR_BAD_LIB_VERSION, - "Wrong JPEG library version: library is %d, caller expects %d") -JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan") -JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d") -JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d") -JMESSAGE(JERR_BAD_PROGRESSION, - "Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d") -JMESSAGE(JERR_BAD_PROG_SCRIPT, - "Invalid progressive parameters at scan script entry %d") -JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors") -JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d") -JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d") -JMESSAGE(JERR_BAD_STRUCT_SIZE, - "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u") -JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access") -JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small") -JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here") -JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet") -JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d") -JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request") -JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d") -JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x") -JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d") -JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d") -JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)") -JMESSAGE(JERR_EMS_READ, "Read from EMS failed") -JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed") -JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan") -JMESSAGE(JERR_FILE_READ, "Input file read error") -JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?") -JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet") -JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow") -JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry") -JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels") -JMESSAGE(JERR_INPUT_EMPTY, "Empty input file") -JMESSAGE(JERR_INPUT_EOF, "Premature end of input file") -JMESSAGE(JERR_MISMATCHED_QUANT_TABLE, - "Cannot transcode due to multiple use of quantization table %d") -JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data") -JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change") -JMESSAGE(JERR_NOTIMPL, "Not implemented yet") -JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time") -JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined") -JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported") -JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined") -JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image") -JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined") -JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x") -JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)") -JMESSAGE(JERR_QUANT_COMPONENTS, - "Cannot quantize more than %d color components") -JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") -JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") -JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") -JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") -JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") -JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") -JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF") -JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") -JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") -JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") -JMESSAGE(JERR_TFILE_WRITE, - "Write failed on temporary file --- out of disk space?") -JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines") -JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x") -JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up") -JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation") -JMESSAGE(JERR_XMS_READ, "Read from XMS failed") -JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed") -JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT) -JMESSAGE(JMSG_VERSION, JVERSION) -JMESSAGE(JTRC_16BIT_TABLES, - "Caution: quantization tables are too coarse for baseline JPEG") -JMESSAGE(JTRC_ADOBE, - "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d") -JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u") -JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u") -JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x") -JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x") -JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d") -JMESSAGE(JTRC_DRI, "Define Restart Interval %u") -JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u") -JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u") -JMESSAGE(JTRC_EOI, "End Of Image") -JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d") -JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d") -JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE, - "Warning: thumbnail image size does not match data length %u") -JMESSAGE(JTRC_JFIF_EXTENSION, - "JFIF extension marker: type 0x%02x, length %u") -JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image") -JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u") -JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x") -JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u") -JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors") -JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors") -JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization") -JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d") -JMESSAGE(JTRC_RST, "RST%d") -JMESSAGE(JTRC_SMOOTH_NOTIMPL, - "Smoothing not supported with nonstandard sampling ratios") -JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d") -JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d") -JMESSAGE(JTRC_SOI, "Start of Image") -JMESSAGE(JTRC_SOS, "Start Of Scan: %d components") -JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d") -JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d") -JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s") -JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s") -JMESSAGE(JTRC_THUMB_JPEG, - "JFIF extension marker: JPEG-compressed thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_PALETTE, - "JFIF extension marker: palette thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_RGB, - "JFIF extension marker: RGB thumbnail image, length %u") -JMESSAGE(JTRC_UNKNOWN_IDS, - "Unrecognized component IDs %d %d %d, assuming YCbCr") -JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u") -JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u") -JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d") -JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code") -JMESSAGE(JWRN_BOGUS_PROGRESSION, - "Inconsistent progression sequence for component %d coefficient %d") -JMESSAGE(JWRN_EXTRANEOUS_DATA, - "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x") -JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment") -JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code") -JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d") -JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file") -JMESSAGE(JWRN_MUST_RESYNC, - "Corrupt JPEG data: found marker 0x%02x instead of RST%d") -JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG") -JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines") - -#ifdef JMAKE_ENUM_LIST - - JMSG_LASTMSGCODE -} J_MESSAGE_CODE; - -#undef JMAKE_ENUM_LIST -#endif /* JMAKE_ENUM_LIST */ - -/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ -#undef JMESSAGE - - -#ifndef JERROR_H -#define JERROR_H - -/* Macros to simplify using the error and trace message stuff */ -/* The first parameter is either type of cinfo pointer */ - -/* Fatal errors (print message and exit) */ -#define ERREXIT(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT3(cinfo,code,p1,p2,p3) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT6(cinfo,code,p1,p2,p3,p4,p5,p6) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (cinfo)->err->msg_parm.i[4] = (p5), \ - (cinfo)->err->msg_parm.i[5] = (p6), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXITS(cinfo,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) - -#define MAKESTMT(stuff) do { stuff } while (0) - -/* Nonfatal errors (we can keep going, but the data is probably corrupt) */ -#define WARNMS(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) - -/* Informational/debugging messages */ -#define TRACEMS(cinfo,lvl,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS1(cinfo,lvl,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS2(cinfo,lvl,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMSS(cinfo,lvl,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) - -#endif /* JERROR_H */ diff --git a/3rdparty/openctm/tools/jpeg/jfdctflt.c b/3rdparty/openctm/tools/jpeg/jfdctflt.c deleted file mode 100644 index 3c1b17480..000000000 --- a/3rdparty/openctm/tools/jpeg/jfdctflt.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * jfdctflt.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * Modified 2003-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a floating-point implementation of the - * forward DCT (Discrete Cosine Transform). - * - * This implementation should be more accurate than either of the integer - * DCT implementations. However, it may not give the same results on all - * machines because of differences in roundoff behavior. Speed will depend - * on the hardware's floating point capacity. - * - * A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT - * on each column. Direct algorithms are also available, but they are - * much more complex and seem not to be any faster when reduced to code. - * - * This implementation is based on Arai, Agui, and Nakajima's algorithm for - * scaled DCT. Their original paper (Trans. IEICE E-71(11):1095) is in - * Japanese, but the algorithm is described in the Pennebaker & Mitchell - * JPEG textbook (see REFERENCES section in file README). The following code - * is based directly on figure 4-8 in P&M. - * While an 8-point DCT cannot be done in less than 11 multiplies, it is - * possible to arrange the computation so that many of the multiplies are - * simple scalings of the final outputs. These multiplies can then be - * folded into the multiplications or divisions by the JPEG quantization - * table entries. The AA&N method leaves only 5 multiplies and 29 adds - * to be done in the DCT itself. - * The primary disadvantage of this method is that with a fixed-point - * implementation, accuracy is lost due to imprecise representation of the - * scaled quantization values. However, that problem does not arise if - * we use floating point arithmetic. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_FLOAT_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */ -#endif - - -/* - * Perform the forward DCT on one block of samples. - */ - -GLOBAL(void) -jpeg_fdct_float (FAST_FLOAT * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - FAST_FLOAT tmp10, tmp11, tmp12, tmp13; - FAST_FLOAT z1, z2, z3, z4, z5, z11, z13; - FAST_FLOAT *dataptr; - JSAMPROW elemptr; - int ctr; - - /* Pass 1: process rows. */ - - dataptr = data; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Load data into workspace */ - tmp0 = (FAST_FLOAT) (GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7])); - tmp7 = (FAST_FLOAT) (GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7])); - tmp1 = (FAST_FLOAT) (GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6])); - tmp6 = (FAST_FLOAT) (GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6])); - tmp2 = (FAST_FLOAT) (GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5])); - tmp5 = (FAST_FLOAT) (GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5])); - tmp3 = (FAST_FLOAT) (GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4])); - tmp4 = (FAST_FLOAT) (GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4])); - - /* Even part */ - - tmp10 = tmp0 + tmp3; /* phase 2 */ - tmp13 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp1 - tmp2; - - /* Apply unsigned->signed conversion */ - dataptr[0] = tmp10 + tmp11 - 8 * CENTERJSAMPLE; /* phase 3 */ - dataptr[4] = tmp10 - tmp11; - - z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */ - dataptr[2] = tmp13 + z1; /* phase 5 */ - dataptr[6] = tmp13 - z1; - - /* Odd part */ - - tmp10 = tmp4 + tmp5; /* phase 2 */ - tmp11 = tmp5 + tmp6; - tmp12 = tmp6 + tmp7; - - /* The rotator is modified from fig 4-8 to avoid extra negations. */ - z5 = (tmp10 - tmp12) * ((FAST_FLOAT) 0.382683433); /* c6 */ - z2 = ((FAST_FLOAT) 0.541196100) * tmp10 + z5; /* c2-c6 */ - z4 = ((FAST_FLOAT) 1.306562965) * tmp12 + z5; /* c2+c6 */ - z3 = tmp11 * ((FAST_FLOAT) 0.707106781); /* c4 */ - - z11 = tmp7 + z3; /* phase 5 */ - z13 = tmp7 - z3; - - dataptr[5] = z13 + z2; /* phase 6 */ - dataptr[3] = z13 - z2; - dataptr[1] = z11 + z4; - dataptr[7] = z11 - z4; - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; - tmp7 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6]; - tmp6 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5]; - tmp5 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; - - /* Even part */ - - tmp10 = tmp0 + tmp3; /* phase 2 */ - tmp13 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp1 - tmp2; - - dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */ - dataptr[DCTSIZE*4] = tmp10 - tmp11; - - z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */ - dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */ - dataptr[DCTSIZE*6] = tmp13 - z1; - - /* Odd part */ - - tmp10 = tmp4 + tmp5; /* phase 2 */ - tmp11 = tmp5 + tmp6; - tmp12 = tmp6 + tmp7; - - /* The rotator is modified from fig 4-8 to avoid extra negations. */ - z5 = (tmp10 - tmp12) * ((FAST_FLOAT) 0.382683433); /* c6 */ - z2 = ((FAST_FLOAT) 0.541196100) * tmp10 + z5; /* c2-c6 */ - z4 = ((FAST_FLOAT) 1.306562965) * tmp12 + z5; /* c2+c6 */ - z3 = tmp11 * ((FAST_FLOAT) 0.707106781); /* c4 */ - - z11 = tmp7 + z3; /* phase 5 */ - z13 = tmp7 - z3; - - dataptr[DCTSIZE*5] = z13 + z2; /* phase 6 */ - dataptr[DCTSIZE*3] = z13 - z2; - dataptr[DCTSIZE*1] = z11 + z4; - dataptr[DCTSIZE*7] = z11 - z4; - - dataptr++; /* advance pointer to next column */ - } -} - -#endif /* DCT_FLOAT_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jfdctfst.c b/3rdparty/openctm/tools/jpeg/jfdctfst.c deleted file mode 100644 index 82b92317b..000000000 --- a/3rdparty/openctm/tools/jpeg/jfdctfst.c +++ /dev/null @@ -1,230 +0,0 @@ -/* - * jfdctfst.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * Modified 2003-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a fast, not so accurate integer implementation of the - * forward DCT (Discrete Cosine Transform). - * - * A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT - * on each column. Direct algorithms are also available, but they are - * much more complex and seem not to be any faster when reduced to code. - * - * This implementation is based on Arai, Agui, and Nakajima's algorithm for - * scaled DCT. Their original paper (Trans. IEICE E-71(11):1095) is in - * Japanese, but the algorithm is described in the Pennebaker & Mitchell - * JPEG textbook (see REFERENCES section in file README). The following code - * is based directly on figure 4-8 in P&M. - * While an 8-point DCT cannot be done in less than 11 multiplies, it is - * possible to arrange the computation so that many of the multiplies are - * simple scalings of the final outputs. These multiplies can then be - * folded into the multiplications or divisions by the JPEG quantization - * table entries. The AA&N method leaves only 5 multiplies and 29 adds - * to be done in the DCT itself. - * The primary disadvantage of this method is that with fixed-point math, - * accuracy is lost due to imprecise representation of the scaled - * quantization values. The smaller the quantization table entry, the less - * precise the scaled value, so this implementation does worse with high- - * quality-setting files than with low-quality ones. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_IFAST_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */ -#endif - - -/* Scaling decisions are generally the same as in the LL&M algorithm; - * see jfdctint.c for more details. However, we choose to descale - * (right shift) multiplication products as soon as they are formed, - * rather than carrying additional fractional bits into subsequent additions. - * This compromises accuracy slightly, but it lets us save a few shifts. - * More importantly, 16-bit arithmetic is then adequate (for 8-bit samples) - * everywhere except in the multiplications proper; this saves a good deal - * of work on 16-bit-int machines. - * - * Again to save a few shifts, the intermediate results between pass 1 and - * pass 2 are not upscaled, but are represented only to integral precision. - * - * A final compromise is to represent the multiplicative constants to only - * 8 fractional bits, rather than 13. This saves some shifting work on some - * machines, and may also reduce the cost of multiplication (since there - * are fewer one-bits in the constants). - */ - -#define CONST_BITS 8 - - -/* Some C compilers fail to reduce "FIX(constant)" at compile time, thus - * causing a lot of useless floating-point operations at run time. - * To get around this we use the following pre-calculated constants. - * If you change CONST_BITS you may want to add appropriate values. - * (With a reasonable C compiler, you can just rely on the FIX() macro...) - */ - -#if CONST_BITS == 8 -#define FIX_0_382683433 ((INT32) 98) /* FIX(0.382683433) */ -#define FIX_0_541196100 ((INT32) 139) /* FIX(0.541196100) */ -#define FIX_0_707106781 ((INT32) 181) /* FIX(0.707106781) */ -#define FIX_1_306562965 ((INT32) 334) /* FIX(1.306562965) */ -#else -#define FIX_0_382683433 FIX(0.382683433) -#define FIX_0_541196100 FIX(0.541196100) -#define FIX_0_707106781 FIX(0.707106781) -#define FIX_1_306562965 FIX(1.306562965) -#endif - - -/* We can gain a little more speed, with a further compromise in accuracy, - * by omitting the addition in a descaling shift. This yields an incorrectly - * rounded result half the time... - */ - -#ifndef USE_ACCURATE_ROUNDING -#undef DESCALE -#define DESCALE(x,n) RIGHT_SHIFT(x, n) -#endif - - -/* Multiply a DCTELEM variable by an INT32 constant, and immediately - * descale to yield a DCTELEM result. - */ - -#define MULTIPLY(var,const) ((DCTELEM) DESCALE((var) * (const), CONST_BITS)) - - -/* - * Perform the forward DCT on one block of samples. - */ - -GLOBAL(void) -jpeg_fdct_ifast (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - DCTELEM tmp10, tmp11, tmp12, tmp13; - DCTELEM z1, z2, z3, z4, z5, z11, z13; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - - dataptr = data; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Load data into workspace */ - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); - tmp7 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]); - tmp6 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]); - tmp5 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]); - tmp4 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]); - - /* Even part */ - - tmp10 = tmp0 + tmp3; /* phase 2 */ - tmp13 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp1 - tmp2; - - /* Apply unsigned->signed conversion */ - dataptr[0] = tmp10 + tmp11 - 8 * CENTERJSAMPLE; /* phase 3 */ - dataptr[4] = tmp10 - tmp11; - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */ - dataptr[2] = tmp13 + z1; /* phase 5 */ - dataptr[6] = tmp13 - z1; - - /* Odd part */ - - tmp10 = tmp4 + tmp5; /* phase 2 */ - tmp11 = tmp5 + tmp6; - tmp12 = tmp6 + tmp7; - - /* The rotator is modified from fig 4-8 to avoid extra negations. */ - z5 = MULTIPLY(tmp10 - tmp12, FIX_0_382683433); /* c6 */ - z2 = MULTIPLY(tmp10, FIX_0_541196100) + z5; /* c2-c6 */ - z4 = MULTIPLY(tmp12, FIX_1_306562965) + z5; /* c2+c6 */ - z3 = MULTIPLY(tmp11, FIX_0_707106781); /* c4 */ - - z11 = tmp7 + z3; /* phase 5 */ - z13 = tmp7 - z3; - - dataptr[5] = z13 + z2; /* phase 6 */ - dataptr[3] = z13 - z2; - dataptr[1] = z11 + z4; - dataptr[7] = z11 - z4; - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; - tmp7 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6]; - tmp6 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5]; - tmp5 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; - - /* Even part */ - - tmp10 = tmp0 + tmp3; /* phase 2 */ - tmp13 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp1 - tmp2; - - dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */ - dataptr[DCTSIZE*4] = tmp10 - tmp11; - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_707106781); /* c4 */ - dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */ - dataptr[DCTSIZE*6] = tmp13 - z1; - - /* Odd part */ - - tmp10 = tmp4 + tmp5; /* phase 2 */ - tmp11 = tmp5 + tmp6; - tmp12 = tmp6 + tmp7; - - /* The rotator is modified from fig 4-8 to avoid extra negations. */ - z5 = MULTIPLY(tmp10 - tmp12, FIX_0_382683433); /* c6 */ - z2 = MULTIPLY(tmp10, FIX_0_541196100) + z5; /* c2-c6 */ - z4 = MULTIPLY(tmp12, FIX_1_306562965) + z5; /* c2+c6 */ - z3 = MULTIPLY(tmp11, FIX_0_707106781); /* c4 */ - - z11 = tmp7 + z3; /* phase 5 */ - z13 = tmp7 - z3; - - dataptr[DCTSIZE*5] = z13 + z2; /* phase 6 */ - dataptr[DCTSIZE*3] = z13 - z2; - dataptr[DCTSIZE*1] = z11 + z4; - dataptr[DCTSIZE*7] = z11 - z4; - - dataptr++; /* advance pointer to next column */ - } -} - -#endif /* DCT_IFAST_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jfdctint.c b/3rdparty/openctm/tools/jpeg/jfdctint.c deleted file mode 100644 index 529eaf867..000000000 --- a/3rdparty/openctm/tools/jpeg/jfdctint.c +++ /dev/null @@ -1,4348 +0,0 @@ -/* - * jfdctint.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * Modification developed 2003-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a slow-but-accurate integer implementation of the - * forward DCT (Discrete Cosine Transform). - * - * A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT - * on each column. Direct algorithms are also available, but they are - * much more complex and seem not to be any faster when reduced to code. - * - * This implementation is based on an algorithm described in - * C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT - * Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics, - * Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991. - * The primary algorithm described there uses 11 multiplies and 29 adds. - * We use their alternate method with 12 multiplies and 32 adds. - * The advantage of this method is that no data path contains more than one - * multiplication; this allows a very simple and accurate implementation in - * scaled fixed-point arithmetic, with a minimal number of shifts. - * - * We also provide FDCT routines with various input sample block sizes for - * direct resolution reduction or enlargement and for direct resolving the - * common 2x1 and 1x2 subsampling cases without additional resampling: NxN - * (N=1...16), 2NxN, and Nx2N (N=1...8) pixels for one 8x8 output DCT block. - * - * For N<8 we fill the remaining block coefficients with zero. - * For N>8 we apply a partial N-point FDCT on the input samples, computing - * just the lower 8 frequency coefficients and discarding the rest. - * - * We must scale the output coefficients of the N-point FDCT appropriately - * to the standard 8-point FDCT level by 8/N per 1-D pass. This scaling - * is folded into the constant multipliers (pass 2) and/or final/initial - * shifting. - * - * CAUTION: We rely on the FIX() macro except for the N=1,2,4,8 cases - * since there would be too many additional constants to pre-calculate. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_ISLOW_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */ -#endif - - -/* - * The poop on this scaling stuff is as follows: - * - * Each 1-D DCT step produces outputs which are a factor of sqrt(N) - * larger than the true DCT outputs. The final outputs are therefore - * a factor of N larger than desired; since N=8 this can be cured by - * a simple right shift at the end of the algorithm. The advantage of - * this arrangement is that we save two multiplications per 1-D DCT, - * because the y0 and y4 outputs need not be divided by sqrt(N). - * In the IJG code, this factor of 8 is removed by the quantization step - * (in jcdctmgr.c), NOT in this module. - * - * We have to do addition and subtraction of the integer inputs, which - * is no problem, and multiplication by fractional constants, which is - * a problem to do in integer arithmetic. We multiply all the constants - * by CONST_SCALE and convert them to integer constants (thus retaining - * CONST_BITS bits of precision in the constants). After doing a - * multiplication we have to divide the product by CONST_SCALE, with proper - * rounding, to produce the correct output. This division can be done - * cheaply as a right shift of CONST_BITS bits. We postpone shifting - * as long as possible so that partial sums can be added together with - * full fractional precision. - * - * The outputs of the first pass are scaled up by PASS1_BITS bits so that - * they are represented to better-than-integral precision. These outputs - * require BITS_IN_JSAMPLE + PASS1_BITS + 3 bits; this fits in a 16-bit word - * with the recommended scaling. (For 12-bit sample data, the intermediate - * array is INT32 anyway.) - * - * To avoid overflow of the 32-bit intermediate results in pass 2, we must - * have BITS_IN_JSAMPLE + CONST_BITS + PASS1_BITS <= 26. Error analysis - * shows that the values given below are the most effective. - */ - -#if BITS_IN_JSAMPLE == 8 -#define CONST_BITS 13 -#define PASS1_BITS 2 -#else -#define CONST_BITS 13 -#define PASS1_BITS 1 /* lose a little precision to avoid overflow */ -#endif - -/* Some C compilers fail to reduce "FIX(constant)" at compile time, thus - * causing a lot of useless floating-point operations at run time. - * To get around this we use the following pre-calculated constants. - * If you change CONST_BITS you may want to add appropriate values. - * (With a reasonable C compiler, you can just rely on the FIX() macro...) - */ - -#if CONST_BITS == 13 -#define FIX_0_298631336 ((INT32) 2446) /* FIX(0.298631336) */ -#define FIX_0_390180644 ((INT32) 3196) /* FIX(0.390180644) */ -#define FIX_0_541196100 ((INT32) 4433) /* FIX(0.541196100) */ -#define FIX_0_765366865 ((INT32) 6270) /* FIX(0.765366865) */ -#define FIX_0_899976223 ((INT32) 7373) /* FIX(0.899976223) */ -#define FIX_1_175875602 ((INT32) 9633) /* FIX(1.175875602) */ -#define FIX_1_501321110 ((INT32) 12299) /* FIX(1.501321110) */ -#define FIX_1_847759065 ((INT32) 15137) /* FIX(1.847759065) */ -#define FIX_1_961570560 ((INT32) 16069) /* FIX(1.961570560) */ -#define FIX_2_053119869 ((INT32) 16819) /* FIX(2.053119869) */ -#define FIX_2_562915447 ((INT32) 20995) /* FIX(2.562915447) */ -#define FIX_3_072711026 ((INT32) 25172) /* FIX(3.072711026) */ -#else -#define FIX_0_298631336 FIX(0.298631336) -#define FIX_0_390180644 FIX(0.390180644) -#define FIX_0_541196100 FIX(0.541196100) -#define FIX_0_765366865 FIX(0.765366865) -#define FIX_0_899976223 FIX(0.899976223) -#define FIX_1_175875602 FIX(1.175875602) -#define FIX_1_501321110 FIX(1.501321110) -#define FIX_1_847759065 FIX(1.847759065) -#define FIX_1_961570560 FIX(1.961570560) -#define FIX_2_053119869 FIX(2.053119869) -#define FIX_2_562915447 FIX(2.562915447) -#define FIX_3_072711026 FIX(3.072711026) -#endif - - -/* Multiply an INT32 variable by an INT32 constant to yield an INT32 result. - * For 8-bit samples with the recommended scaling, all the variable - * and constant values involved are no more than 16 bits wide, so a - * 16x16->32 bit multiply can be used instead of a full 32x32 multiply. - * For 12-bit samples, a full 32-bit multiplication will be needed. - */ - -#if BITS_IN_JSAMPLE == 8 -#define MULTIPLY(var,const) MULTIPLY16C16(var,const) -#else -#define MULTIPLY(var,const) ((var) * (const)) -#endif - - -/* - * Perform the forward DCT on one block of samples. - */ - -GLOBAL(void) -jpeg_fdct_islow (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - - dataptr = data; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]); - - tmp10 = tmp0 + tmp3; - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - dataptr[2] = (DCTELEM) RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), - CONST_BITS-PASS1_BITS); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) - RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) - RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) - RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; - - /* Add fudge factor here for final descale. */ - tmp10 = tmp0 + tmp3 + (ONE << (PASS1_BITS-1)); - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; - - dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS+PASS1_BITS-1); - dataptr[DCTSIZE*2] = (DCTELEM) - RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) - RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), CONST_BITS+PASS1_BITS); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS+PASS1_BITS-1); - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[DCTSIZE*1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) - RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*7] = (DCTELEM) - RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - -#ifdef DCT_SCALING_SUPPORTED - - -/* - * Perform the forward DCT on a 7x7 sample block. - */ - -GLOBAL(void) -jpeg_fdct_7x7 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12; - INT32 z1, z2, z3; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* cK represents sqrt(2) * cos(K*pi/14). */ - - dataptr = data; - for (ctr = 0; ctr < 7; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[6]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[5]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[4]); - tmp3 = GETJSAMPLE(elemptr[3]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[6]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[5]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[4]); - - z1 = tmp0 + tmp2; - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((z1 + tmp1 + tmp3 - 7 * CENTERJSAMPLE) << PASS1_BITS); - tmp3 += tmp3; - z1 -= tmp3; - z1 -= tmp3; - z1 = MULTIPLY(z1, FIX(0.353553391)); /* (c2+c6-c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp2, FIX(0.920609002)); /* (c2+c4-c6)/2 */ - z3 = MULTIPLY(tmp1 - tmp2, FIX(0.314692123)); /* c6 */ - dataptr[2] = (DCTELEM) DESCALE(z1 + z2 + z3, CONST_BITS-PASS1_BITS); - z1 -= z2; - z2 = MULTIPLY(tmp0 - tmp1, FIX(0.881747734)); /* c4 */ - dataptr[4] = (DCTELEM) - DESCALE(z2 + z3 - MULTIPLY(tmp1 - tmp3, FIX(0.707106781)), /* c2+c6-c4 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(tmp10 - tmp11, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(tmp11 + tmp12, - FIX(1.378756276)); /* -c1 */ - tmp1 += tmp2; - tmp3 = MULTIPLY(tmp10 + tmp12, FIX(0.613604268)); /* c5 */ - tmp0 += tmp3; - tmp2 += tmp3 + MULTIPLY(tmp12, FIX(1.870828693)); /* c3+c1-c5 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/7)**2 = 64/49, which we fold - * into the constant multipliers: - * cK now represents sqrt(2) * cos(K*pi/14) * 64/49. - */ - - dataptr = data; - for (ctr = 0; ctr < 7; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*6]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*5]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*4]; - tmp3 = dataptr[DCTSIZE*3]; - - tmp10 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*6]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*5]; - tmp12 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*4]; - - z1 = tmp0 + tmp2; - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(z1 + tmp1 + tmp3, FIX(1.306122449)), /* 64/49 */ - CONST_BITS+PASS1_BITS); - tmp3 += tmp3; - z1 -= tmp3; - z1 -= tmp3; - z1 = MULTIPLY(z1, FIX(0.461784020)); /* (c2+c6-c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp2, FIX(1.202428084)); /* (c2+c4-c6)/2 */ - z3 = MULTIPLY(tmp1 - tmp2, FIX(0.411026446)); /* c6 */ - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(z1 + z2 + z3, CONST_BITS+PASS1_BITS); - z1 -= z2; - z2 = MULTIPLY(tmp0 - tmp1, FIX(1.151670509)); /* c4 */ - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(z2 + z3 - MULTIPLY(tmp1 - tmp3, FIX(0.923568041)), /* c2+c6-c4 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.221765677)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(tmp10 - tmp11, FIX(0.222383464)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(tmp11 + tmp12, - FIX(1.800824523)); /* -c1 */ - tmp1 += tmp2; - tmp3 = MULTIPLY(tmp10 + tmp12, FIX(0.801442310)); /* c5 */ - tmp0 += tmp3; - tmp2 += tmp3 + MULTIPLY(tmp12, FIX(2.443531355)); /* c3+c1-c5 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 6x6 sample block. - */ - -GLOBAL(void) -jpeg_fdct_6x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2; - INT32 tmp10, tmp11, tmp12; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* cK represents sqrt(2) * cos(K*pi/12). */ - - dataptr = data; - for (ctr = 0; ctr < 6; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[5]); - tmp11 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[3]); - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[5]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[3]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 - 6 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(1.224744871)), /* c2 */ - CONST_BITS-PASS1_BITS); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(0.707106781)), /* c4 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = DESCALE(MULTIPLY(tmp0 + tmp2, FIX(0.366025404)), /* c5 */ - CONST_BITS-PASS1_BITS); - - dataptr[1] = (DCTELEM) (tmp10 + ((tmp0 + tmp1) << PASS1_BITS)); - dataptr[3] = (DCTELEM) ((tmp0 - tmp1 - tmp2) << PASS1_BITS); - dataptr[5] = (DCTELEM) (tmp10 + ((tmp2 - tmp1) << PASS1_BITS)); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/6)**2 = 16/9, which we fold - * into the constant multipliers: - * cK now represents sqrt(2) * cos(K*pi/12) * 16/9. - */ - - dataptr = data; - for (ctr = 0; ctr < 6; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*5]; - tmp11 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*3]; - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*3]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(2.177324216)), /* c2 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(1.257078722)), /* c4 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp2, FIX(0.650711829)); /* c5 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0 + tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp2, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp2 - tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 5x5 sample block. - */ - -GLOBAL(void) -jpeg_fdct_5x5 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2; - INT32 tmp10, tmp11; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* cK represents sqrt(2) * cos(K*pi/10). */ - - dataptr = data; - for (ctr = 0; ctr < 5; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[4]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[3]); - tmp2 = GETJSAMPLE(elemptr[2]); - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[4]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[3]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp2 - 5 * CENTERJSAMPLE) << (PASS1_BITS+1)); - tmp11 = MULTIPLY(tmp11, FIX(0.790569415)); /* (c2+c4)/2 */ - tmp10 -= tmp2 << 2; - tmp10 = MULTIPLY(tmp10, FIX(0.353553391)); /* (c2-c4)/2 */ - dataptr[2] = (DCTELEM) DESCALE(tmp11 + tmp10, CONST_BITS-PASS1_BITS-1); - dataptr[4] = (DCTELEM) DESCALE(tmp11 - tmp10, CONST_BITS-PASS1_BITS-1); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp1, FIX(0.831253876)); /* c3 */ - - dataptr[1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0, FIX(0.513743148)), /* c1-c3 */ - CONST_BITS-PASS1_BITS-1); - dataptr[3] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp1, FIX(2.176250899)), /* c1+c3 */ - CONST_BITS-PASS1_BITS-1); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/5)**2 = 64/25, which we partially - * fold into the constant multipliers (other part was done in pass 1): - * cK now represents sqrt(2) * cos(K*pi/10) * 32/25. - */ - - dataptr = data; - for (ctr = 0; ctr < 5; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*4]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*3]; - tmp2 = dataptr[DCTSIZE*2]; - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*4]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*3]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp2, FIX(1.28)), /* 32/25 */ - CONST_BITS+PASS1_BITS); - tmp11 = MULTIPLY(tmp11, FIX(1.011928851)); /* (c2+c4)/2 */ - tmp10 -= tmp2 << 2; - tmp10 = MULTIPLY(tmp10, FIX(0.452548340)); /* (c2-c4)/2 */ - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(tmp11 + tmp10, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(tmp11 - tmp10, CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp1, FIX(1.064004961)); /* c3 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0, FIX(0.657591230)), /* c1-c3 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp1, FIX(2.785601151)), /* c1+c3 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 4x4 sample block. - */ - -GLOBAL(void) -jpeg_fdct_4x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1; - INT32 tmp10, tmp11; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We must also scale the output by (8/4)**2 = 2**2, which we add here. */ - /* cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[3]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[2]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[3]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[2]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 - 4 * CENTERJSAMPLE) << (PASS1_BITS+2)); - dataptr[2] = (DCTELEM) ((tmp0 - tmp1) << (PASS1_BITS+2)); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-3); - - dataptr[1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS-PASS1_BITS-2); - dataptr[3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS-PASS1_BITS-2); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*3] + (ONE << (PASS1_BITS-1)); - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*2]; - - tmp10 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*3]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*2]; - - dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp0 + tmp1, PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) RIGHT_SHIFT(tmp0 - tmp1, PASS1_BITS); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS+PASS1_BITS-1); - - dataptr[DCTSIZE*1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 3x3 sample block. - */ - -GLOBAL(void) -jpeg_fdct_3x3 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We scale the results further by 2**2 as part of output adaption */ - /* scaling for different DCT size. */ - /* cK represents sqrt(2) * cos(K*pi/6). */ - - dataptr = data; - for (ctr = 0; ctr < 3; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[2]); - tmp1 = GETJSAMPLE(elemptr[1]); - - tmp2 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[2]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 - 3 * CENTERJSAMPLE) << (PASS1_BITS+2)); - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp1, FIX(0.707106781)), /* c2 */ - CONST_BITS-PASS1_BITS-2); - - /* Odd part */ - - dataptr[1] = (DCTELEM) - DESCALE(MULTIPLY(tmp2, FIX(1.224744871)), /* c1 */ - CONST_BITS-PASS1_BITS-2); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/3)**2 = 64/9, which we partially - * fold into the constant multipliers (other part was done in pass 1): - * cK now represents sqrt(2) * cos(K*pi/6) * 16/9. - */ - - dataptr = data; - for (ctr = 0; ctr < 3; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*2]; - tmp1 = dataptr[DCTSIZE*1]; - - tmp2 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*2]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 + tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp1, FIX(1.257078722)), /* c2 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(MULTIPLY(tmp2, FIX(2.177324216)), /* c1 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 2x2 sample block. - */ - -GLOBAL(void) -jpeg_fdct_2x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - JSAMPROW elemptr; - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - - /* Row 0 */ - elemptr = sample_data[0] + start_col; - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[1]); - tmp1 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[1]); - - /* Row 1 */ - elemptr = sample_data[1] + start_col; - - tmp2 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[1]); - tmp3 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[1]); - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/2)**2 = 2**4. - */ - - /* Column 0 */ - /* Apply unsigned->signed conversion */ - data[DCTSIZE*0] = (DCTELEM) ((tmp0 + tmp2 - 4 * CENTERJSAMPLE) << 4); - data[DCTSIZE*1] = (DCTELEM) ((tmp0 - tmp2) << 4); - - /* Column 1 */ - data[DCTSIZE*0+1] = (DCTELEM) ((tmp1 + tmp3) << 4); - data[DCTSIZE*1+1] = (DCTELEM) ((tmp1 - tmp3) << 4); -} - - -/* - * Perform the forward DCT on a 1x1 sample block. - */ - -GLOBAL(void) -jpeg_fdct_1x1 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* We leave the result scaled up by an overall factor of 8. */ - /* We must also scale the output by (8/1)**2 = 2**6. */ - /* Apply unsigned->signed conversion */ - data[0] = (DCTELEM) - ((GETJSAMPLE(sample_data[0][start_col]) - CENTERJSAMPLE) << 6); -} - - -/* - * Perform the forward DCT on a 9x9 sample block. - */ - -GLOBAL(void) -jpeg_fdct_9x9 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1, z2; - DCTELEM workspace[8]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* we scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* cK represents sqrt(2) * cos(K*pi/18). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[8]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[7]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[6]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[5]); - tmp4 = GETJSAMPLE(elemptr[4]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[8]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[7]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[6]); - tmp13 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[5]); - - z1 = tmp0 + tmp2 + tmp3; - z2 = tmp1 + tmp4; - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) ((z1 + z2 - 9 * CENTERJSAMPLE) << 1); - dataptr[6] = (DCTELEM) - DESCALE(MULTIPLY(z1 - z2 - z2, FIX(0.707106781)), /* c6 */ - CONST_BITS-1); - z1 = MULTIPLY(tmp0 - tmp2, FIX(1.328926049)); /* c2 */ - z2 = MULTIPLY(tmp1 - tmp4 - tmp4, FIX(0.707106781)); /* c6 */ - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp2 - tmp3, FIX(1.083350441)) /* c4 */ - + z1 + z2, CONST_BITS-1); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp3 - tmp0, FIX(0.245575608)) /* c8 */ - + z1 - z2, CONST_BITS-1); - - /* Odd part */ - - dataptr[3] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12 - tmp13, FIX(1.224744871)), /* c3 */ - CONST_BITS-1); - - tmp11 = MULTIPLY(tmp11, FIX(1.224744871)); /* c3 */ - tmp0 = MULTIPLY(tmp10 + tmp12, FIX(0.909038955)); /* c5 */ - tmp1 = MULTIPLY(tmp10 + tmp13, FIX(0.483689525)); /* c7 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp11 + tmp0 + tmp1, CONST_BITS-1); - - tmp2 = MULTIPLY(tmp12 - tmp13, FIX(1.392728481)); /* c1 */ - - dataptr[5] = (DCTELEM) DESCALE(tmp0 - tmp11 - tmp2, CONST_BITS-1); - dataptr[7] = (DCTELEM) DESCALE(tmp1 - tmp11 + tmp2, CONST_BITS-1); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 9) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/9)**2 = 64/81, which we partially - * fold into the constant multipliers and final/initial shifting: - * cK now represents sqrt(2) * cos(K*pi/18) * 128/81. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*0]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*7]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*6]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*5]; - tmp4 = dataptr[DCTSIZE*4]; - - tmp10 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*0]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*7]; - tmp12 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*6]; - tmp13 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*5]; - - z1 = tmp0 + tmp2 + tmp3; - z2 = tmp1 + tmp4; - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(z1 + z2, FIX(1.580246914)), /* 128/81 */ - CONST_BITS+2); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(MULTIPLY(z1 - z2 - z2, FIX(1.117403309)), /* c6 */ - CONST_BITS+2); - z1 = MULTIPLY(tmp0 - tmp2, FIX(2.100031287)); /* c2 */ - z2 = MULTIPLY(tmp1 - tmp4 - tmp4, FIX(1.117403309)); /* c6 */ - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp2 - tmp3, FIX(1.711961190)) /* c4 */ - + z1 + z2, CONST_BITS+2); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp3 - tmp0, FIX(0.388070096)) /* c8 */ - + z1 - z2, CONST_BITS+2); - - /* Odd part */ - - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12 - tmp13, FIX(1.935399303)), /* c3 */ - CONST_BITS+2); - - tmp11 = MULTIPLY(tmp11, FIX(1.935399303)); /* c3 */ - tmp0 = MULTIPLY(tmp10 + tmp12, FIX(1.436506004)); /* c5 */ - tmp1 = MULTIPLY(tmp10 + tmp13, FIX(0.764348879)); /* c7 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp11 + tmp0 + tmp1, CONST_BITS+2); - - tmp2 = MULTIPLY(tmp12 - tmp13, FIX(2.200854883)); /* c1 */ - - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp0 - tmp11 - tmp2, CONST_BITS+2); - dataptr[DCTSIZE*7] = (DCTELEM) - DESCALE(tmp1 - tmp11 + tmp2, CONST_BITS+2); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 10x10 sample block. - */ - -GLOBAL(void) -jpeg_fdct_10x10 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - DCTELEM workspace[8*2]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* we scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* cK represents sqrt(2) * cos(K*pi/20). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[9]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[8]); - tmp12 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[7]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[6]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[5]); - - tmp10 = tmp0 + tmp4; - tmp13 = tmp0 - tmp4; - tmp11 = tmp1 + tmp3; - tmp14 = tmp1 - tmp3; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[9]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[8]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[7]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[6]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[5]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 - 10 * CENTERJSAMPLE) << 1); - tmp12 += tmp12; - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.144122806)) - /* c4 */ - MULTIPLY(tmp11 - tmp12, FIX(0.437016024)), /* c8 */ - CONST_BITS-1); - tmp10 = MULTIPLY(tmp13 + tmp14, FIX(0.831253876)); /* c6 */ - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp13, FIX(0.513743148)), /* c2-c6 */ - CONST_BITS-1); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(2.176250899)), /* c2+c6 */ - CONST_BITS-1); - - /* Odd part */ - - tmp10 = tmp0 + tmp4; - tmp11 = tmp1 - tmp3; - dataptr[5] = (DCTELEM) ((tmp10 - tmp11 - tmp2) << 1); - tmp2 <<= CONST_BITS; - dataptr[1] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.396802247)) + /* c1 */ - MULTIPLY(tmp1, FIX(1.260073511)) + tmp2 + /* c3 */ - MULTIPLY(tmp3, FIX(0.642039522)) + /* c7 */ - MULTIPLY(tmp4, FIX(0.221231742)), /* c9 */ - CONST_BITS-1); - tmp12 = MULTIPLY(tmp0 - tmp4, FIX(0.951056516)) - /* (c3+c7)/2 */ - MULTIPLY(tmp1 + tmp3, FIX(0.587785252)); /* (c1-c9)/2 */ - tmp13 = MULTIPLY(tmp10 + tmp11, FIX(0.309016994)) + /* (c3-c7)/2 */ - (tmp11 << (CONST_BITS - 1)) - tmp2; - dataptr[3] = (DCTELEM) DESCALE(tmp12 + tmp13, CONST_BITS-1); - dataptr[7] = (DCTELEM) DESCALE(tmp12 - tmp13, CONST_BITS-1); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 10) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/10)**2 = 16/25, which we partially - * fold into the constant multipliers and final/initial shifting: - * cK now represents sqrt(2) * cos(K*pi/20) * 32/25. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*1]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*0]; - tmp12 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*7]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*6]; - tmp4 = dataptr[DCTSIZE*4] + dataptr[DCTSIZE*5]; - - tmp10 = tmp0 + tmp4; - tmp13 = tmp0 - tmp4; - tmp11 = tmp1 + tmp3; - tmp14 = tmp1 - tmp3; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*1]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*0]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*7]; - tmp3 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*6]; - tmp4 = dataptr[DCTSIZE*4] - dataptr[DCTSIZE*5]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12, FIX(1.28)), /* 32/25 */ - CONST_BITS+2); - tmp12 += tmp12; - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.464477191)) - /* c4 */ - MULTIPLY(tmp11 - tmp12, FIX(0.559380511)), /* c8 */ - CONST_BITS+2); - tmp10 = MULTIPLY(tmp13 + tmp14, FIX(1.064004961)); /* c6 */ - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp13, FIX(0.657591230)), /* c2-c6 */ - CONST_BITS+2); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(2.785601151)), /* c2+c6 */ - CONST_BITS+2); - - /* Odd part */ - - tmp10 = tmp0 + tmp4; - tmp11 = tmp1 - tmp3; - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp2, FIX(1.28)), /* 32/25 */ - CONST_BITS+2); - tmp2 = MULTIPLY(tmp2, FIX(1.28)); /* 32/25 */ - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.787906876)) + /* c1 */ - MULTIPLY(tmp1, FIX(1.612894094)) + tmp2 + /* c3 */ - MULTIPLY(tmp3, FIX(0.821810588)) + /* c7 */ - MULTIPLY(tmp4, FIX(0.283176630)), /* c9 */ - CONST_BITS+2); - tmp12 = MULTIPLY(tmp0 - tmp4, FIX(1.217352341)) - /* (c3+c7)/2 */ - MULTIPLY(tmp1 + tmp3, FIX(0.752365123)); /* (c1-c9)/2 */ - tmp13 = MULTIPLY(tmp10 + tmp11, FIX(0.395541753)) + /* (c3-c7)/2 */ - MULTIPLY(tmp11, FIX(0.64)) - tmp2; /* 16/25 */ - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp12 + tmp13, CONST_BITS+2); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp12 - tmp13, CONST_BITS+2); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on an 11x11 sample block. - */ - -GLOBAL(void) -jpeg_fdct_11x11 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 z1, z2, z3; - DCTELEM workspace[8*3]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* we scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* cK represents sqrt(2) * cos(K*pi/22). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[10]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[9]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[8]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[7]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[6]); - tmp5 = GETJSAMPLE(elemptr[5]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[10]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[9]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[8]); - tmp13 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[7]); - tmp14 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[6]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5 - 11 * CENTERJSAMPLE) << 1); - tmp5 += tmp5; - tmp0 -= tmp5; - tmp1 -= tmp5; - tmp2 -= tmp5; - tmp3 -= tmp5; - tmp4 -= tmp5; - z1 = MULTIPLY(tmp0 + tmp3, FIX(1.356927976)) + /* c2 */ - MULTIPLY(tmp2 + tmp4, FIX(0.201263574)); /* c10 */ - z2 = MULTIPLY(tmp1 - tmp3, FIX(0.926112931)); /* c6 */ - z3 = MULTIPLY(tmp0 - tmp1, FIX(1.189712156)); /* c4 */ - dataptr[2] = (DCTELEM) - DESCALE(z1 + z2 - MULTIPLY(tmp3, FIX(1.018300590)) /* c2+c8-c6 */ - - MULTIPLY(tmp4, FIX(1.390975730)), /* c4+c10 */ - CONST_BITS-1); - dataptr[4] = (DCTELEM) - DESCALE(z2 + z3 + MULTIPLY(tmp1, FIX(0.062335650)) /* c4-c6-c10 */ - - MULTIPLY(tmp2, FIX(1.356927976)) /* c2 */ - + MULTIPLY(tmp4, FIX(0.587485545)), /* c8 */ - CONST_BITS-1); - dataptr[6] = (DCTELEM) - DESCALE(z1 + z3 - MULTIPLY(tmp0, FIX(1.620527200)) /* c2+c4-c6 */ - - MULTIPLY(tmp2, FIX(0.788749120)), /* c8+c10 */ - CONST_BITS-1); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.286413905)); /* c3 */ - tmp2 = MULTIPLY(tmp10 + tmp12, FIX(1.068791298)); /* c5 */ - tmp3 = MULTIPLY(tmp10 + tmp13, FIX(0.764581576)); /* c7 */ - tmp0 = tmp1 + tmp2 + tmp3 - MULTIPLY(tmp10, FIX(1.719967871)) /* c7+c5+c3-c1 */ - + MULTIPLY(tmp14, FIX(0.398430003)); /* c9 */ - tmp4 = MULTIPLY(tmp11 + tmp12, - FIX(0.764581576)); /* -c7 */ - tmp5 = MULTIPLY(tmp11 + tmp13, - FIX(1.399818907)); /* -c1 */ - tmp1 += tmp4 + tmp5 + MULTIPLY(tmp11, FIX(1.276416582)) /* c9+c7+c1-c3 */ - - MULTIPLY(tmp14, FIX(1.068791298)); /* c5 */ - tmp10 = MULTIPLY(tmp12 + tmp13, FIX(0.398430003)); /* c9 */ - tmp2 += tmp4 + tmp10 - MULTIPLY(tmp12, FIX(1.989053629)) /* c9+c5+c3-c7 */ - + MULTIPLY(tmp14, FIX(1.399818907)); /* c1 */ - tmp3 += tmp5 + tmp10 + MULTIPLY(tmp13, FIX(1.305598626)) /* c1+c5-c9-c7 */ - - MULTIPLY(tmp14, FIX(1.286413905)); /* c3 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS-1); - dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS-1); - dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS-1); - dataptr[7] = (DCTELEM) DESCALE(tmp3, CONST_BITS-1); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 11) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/11)**2 = 64/121, which we partially - * fold into the constant multipliers and final/initial shifting: - * cK now represents sqrt(2) * cos(K*pi/22) * 128/121. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*2]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*1]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*0]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*7]; - tmp4 = dataptr[DCTSIZE*4] + dataptr[DCTSIZE*6]; - tmp5 = dataptr[DCTSIZE*5]; - - tmp10 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*2]; - tmp11 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*1]; - tmp12 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*0]; - tmp13 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*7]; - tmp14 = dataptr[DCTSIZE*4] - dataptr[DCTSIZE*6]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5, - FIX(1.057851240)), /* 128/121 */ - CONST_BITS+2); - tmp5 += tmp5; - tmp0 -= tmp5; - tmp1 -= tmp5; - tmp2 -= tmp5; - tmp3 -= tmp5; - tmp4 -= tmp5; - z1 = MULTIPLY(tmp0 + tmp3, FIX(1.435427942)) + /* c2 */ - MULTIPLY(tmp2 + tmp4, FIX(0.212906922)); /* c10 */ - z2 = MULTIPLY(tmp1 - tmp3, FIX(0.979689713)); /* c6 */ - z3 = MULTIPLY(tmp0 - tmp1, FIX(1.258538479)); /* c4 */ - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(z1 + z2 - MULTIPLY(tmp3, FIX(1.077210542)) /* c2+c8-c6 */ - - MULTIPLY(tmp4, FIX(1.471445400)), /* c4+c10 */ - CONST_BITS+2); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(z2 + z3 + MULTIPLY(tmp1, FIX(0.065941844)) /* c4-c6-c10 */ - - MULTIPLY(tmp2, FIX(1.435427942)) /* c2 */ - + MULTIPLY(tmp4, FIX(0.621472312)), /* c8 */ - CONST_BITS+2); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(z1 + z3 - MULTIPLY(tmp0, FIX(1.714276708)) /* c2+c4-c6 */ - - MULTIPLY(tmp2, FIX(0.834379234)), /* c8+c10 */ - CONST_BITS+2); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.360834544)); /* c3 */ - tmp2 = MULTIPLY(tmp10 + tmp12, FIX(1.130622199)); /* c5 */ - tmp3 = MULTIPLY(tmp10 + tmp13, FIX(0.808813568)); /* c7 */ - tmp0 = tmp1 + tmp2 + tmp3 - MULTIPLY(tmp10, FIX(1.819470145)) /* c7+c5+c3-c1 */ - + MULTIPLY(tmp14, FIX(0.421479672)); /* c9 */ - tmp4 = MULTIPLY(tmp11 + tmp12, - FIX(0.808813568)); /* -c7 */ - tmp5 = MULTIPLY(tmp11 + tmp13, - FIX(1.480800167)); /* -c1 */ - tmp1 += tmp4 + tmp5 + MULTIPLY(tmp11, FIX(1.350258864)) /* c9+c7+c1-c3 */ - - MULTIPLY(tmp14, FIX(1.130622199)); /* c5 */ - tmp10 = MULTIPLY(tmp12 + tmp13, FIX(0.421479672)); /* c9 */ - tmp2 += tmp4 + tmp10 - MULTIPLY(tmp12, FIX(2.104122847)) /* c9+c5+c3-c7 */ - + MULTIPLY(tmp14, FIX(1.480800167)); /* c1 */ - tmp3 += tmp5 + tmp10 + MULTIPLY(tmp13, FIX(1.381129125)) /* c1+c5-c9-c7 */ - - MULTIPLY(tmp14, FIX(1.360834544)); /* c3 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+2); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+2); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+2); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3, CONST_BITS+2); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 12x12 sample block. - */ - -GLOBAL(void) -jpeg_fdct_12x12 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - DCTELEM workspace[8*4]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - /* cK represents sqrt(2) * cos(K*pi/24). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[11]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[10]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[9]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[8]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[7]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[6]); - - tmp10 = tmp0 + tmp5; - tmp13 = tmp0 - tmp5; - tmp11 = tmp1 + tmp4; - tmp14 = tmp1 - tmp4; - tmp12 = tmp2 + tmp3; - tmp15 = tmp2 - tmp3; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[11]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[10]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[9]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[8]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[7]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[6]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) (tmp10 + tmp11 + tmp12 - 12 * CENTERJSAMPLE); - dataptr[6] = (DCTELEM) (tmp13 - tmp14 - tmp15); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.224744871)), /* c4 */ - CONST_BITS); - dataptr[2] = (DCTELEM) - DESCALE(tmp14 - tmp15 + MULTIPLY(tmp13 + tmp15, FIX(1.366025404)), /* c2 */ - CONST_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp1 + tmp4, FIX_0_541196100); /* c9 */ - tmp14 = tmp10 + MULTIPLY(tmp1, FIX_0_765366865); /* c3-c9 */ - tmp15 = tmp10 - MULTIPLY(tmp4, FIX_1_847759065); /* c3+c9 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.121971054)); /* c5 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(0.860918669)); /* c7 */ - tmp10 = tmp12 + tmp13 + tmp14 - MULTIPLY(tmp0, FIX(0.580774953)) /* c5+c7-c1 */ - + MULTIPLY(tmp5, FIX(0.184591911)); /* c11 */ - tmp11 = MULTIPLY(tmp2 + tmp3, - FIX(0.184591911)); /* -c11 */ - tmp12 += tmp11 - tmp15 - MULTIPLY(tmp2, FIX(2.339493912)) /* c1+c5-c11 */ - + MULTIPLY(tmp5, FIX(0.860918669)); /* c7 */ - tmp13 += tmp11 - tmp14 + MULTIPLY(tmp3, FIX(0.725788011)) /* c1+c11-c7 */ - - MULTIPLY(tmp5, FIX(1.121971054)); /* c5 */ - tmp11 = tmp15 + MULTIPLY(tmp0 - tmp3, FIX(1.306562965)) /* c3 */ - - MULTIPLY(tmp2 + tmp5, FIX_0_541196100); /* c9 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp10, CONST_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp11, CONST_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp12, CONST_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp13, CONST_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 12) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/12)**2 = 4/9, which we partially - * fold into the constant multipliers and final shifting: - * cK now represents sqrt(2) * cos(K*pi/24) * 8/9. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*3]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*2]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*1]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*0]; - tmp4 = dataptr[DCTSIZE*4] + dataptr[DCTSIZE*7]; - tmp5 = dataptr[DCTSIZE*5] + dataptr[DCTSIZE*6]; - - tmp10 = tmp0 + tmp5; - tmp13 = tmp0 - tmp5; - tmp11 = tmp1 + tmp4; - tmp14 = tmp1 - tmp4; - tmp12 = tmp2 + tmp3; - tmp15 = tmp2 - tmp3; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*3]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*2]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*1]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*0]; - tmp4 = dataptr[DCTSIZE*4] - dataptr[DCTSIZE*7]; - tmp5 = dataptr[DCTSIZE*5] - dataptr[DCTSIZE*6]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12, FIX(0.888888889)), /* 8/9 */ - CONST_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(MULTIPLY(tmp13 - tmp14 - tmp15, FIX(0.888888889)), /* 8/9 */ - CONST_BITS+1); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.088662108)), /* c4 */ - CONST_BITS+1); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp14 - tmp15, FIX(0.888888889)) + /* 8/9 */ - MULTIPLY(tmp13 + tmp15, FIX(1.214244803)), /* c2 */ - CONST_BITS+1); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp1 + tmp4, FIX(0.481063200)); /* c9 */ - tmp14 = tmp10 + MULTIPLY(tmp1, FIX(0.680326102)); /* c3-c9 */ - tmp15 = tmp10 - MULTIPLY(tmp4, FIX(1.642452502)); /* c3+c9 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(0.997307603)); /* c5 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(0.765261039)); /* c7 */ - tmp10 = tmp12 + tmp13 + tmp14 - MULTIPLY(tmp0, FIX(0.516244403)) /* c5+c7-c1 */ - + MULTIPLY(tmp5, FIX(0.164081699)); /* c11 */ - tmp11 = MULTIPLY(tmp2 + tmp3, - FIX(0.164081699)); /* -c11 */ - tmp12 += tmp11 - tmp15 - MULTIPLY(tmp2, FIX(2.079550144)) /* c1+c5-c11 */ - + MULTIPLY(tmp5, FIX(0.765261039)); /* c7 */ - tmp13 += tmp11 - tmp14 + MULTIPLY(tmp3, FIX(0.645144899)) /* c1+c11-c7 */ - - MULTIPLY(tmp5, FIX(0.997307603)); /* c5 */ - tmp11 = tmp15 + MULTIPLY(tmp0 - tmp3, FIX(1.161389302)) /* c3 */ - - MULTIPLY(tmp2 + tmp5, FIX(0.481063200)); /* c9 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp10, CONST_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp11, CONST_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp12, CONST_BITS+1); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp13, CONST_BITS+1); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 13x13 sample block. - */ - -GLOBAL(void) -jpeg_fdct_13x13 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - INT32 z1, z2; - DCTELEM workspace[8*5]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - /* cK represents sqrt(2) * cos(K*pi/26). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[12]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[11]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[10]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[9]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[8]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[7]); - tmp6 = GETJSAMPLE(elemptr[6]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[12]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[11]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[10]); - tmp13 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[9]); - tmp14 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[8]); - tmp15 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[7]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - (tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6 - 13 * CENTERJSAMPLE); - tmp6 += tmp6; - tmp0 -= tmp6; - tmp1 -= tmp6; - tmp2 -= tmp6; - tmp3 -= tmp6; - tmp4 -= tmp6; - tmp5 -= tmp6; - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.373119086)) + /* c2 */ - MULTIPLY(tmp1, FIX(1.058554052)) + /* c6 */ - MULTIPLY(tmp2, FIX(0.501487041)) - /* c10 */ - MULTIPLY(tmp3, FIX(0.170464608)) - /* c12 */ - MULTIPLY(tmp4, FIX(0.803364869)) - /* c8 */ - MULTIPLY(tmp5, FIX(1.252223920)), /* c4 */ - CONST_BITS); - z1 = MULTIPLY(tmp0 - tmp2, FIX(1.155388986)) - /* (c4+c6)/2 */ - MULTIPLY(tmp3 - tmp4, FIX(0.435816023)) - /* (c2-c10)/2 */ - MULTIPLY(tmp1 - tmp5, FIX(0.316450131)); /* (c8-c12)/2 */ - z2 = MULTIPLY(tmp0 + tmp2, FIX(0.096834934)) - /* (c4-c6)/2 */ - MULTIPLY(tmp3 + tmp4, FIX(0.937303064)) + /* (c2+c10)/2 */ - MULTIPLY(tmp1 + tmp5, FIX(0.486914739)); /* (c8+c12)/2 */ - - dataptr[4] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS); - dataptr[6] = (DCTELEM) DESCALE(z1 - z2, CONST_BITS); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.322312651)); /* c3 */ - tmp2 = MULTIPLY(tmp10 + tmp12, FIX(1.163874945)); /* c5 */ - tmp3 = MULTIPLY(tmp10 + tmp13, FIX(0.937797057)) + /* c7 */ - MULTIPLY(tmp14 + tmp15, FIX(0.338443458)); /* c11 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(tmp10, FIX(2.020082300)) + /* c3+c5+c7-c1 */ - MULTIPLY(tmp14, FIX(0.318774355)); /* c9-c11 */ - tmp4 = MULTIPLY(tmp14 - tmp15, FIX(0.937797057)) - /* c7 */ - MULTIPLY(tmp11 + tmp12, FIX(0.338443458)); /* c11 */ - tmp5 = MULTIPLY(tmp11 + tmp13, - FIX(1.163874945)); /* -c5 */ - tmp1 += tmp4 + tmp5 + - MULTIPLY(tmp11, FIX(0.837223564)) - /* c5+c9+c11-c3 */ - MULTIPLY(tmp14, FIX(2.341699410)); /* c1+c7 */ - tmp6 = MULTIPLY(tmp12 + tmp13, - FIX(0.657217813)); /* -c9 */ - tmp2 += tmp4 + tmp6 - - MULTIPLY(tmp12, FIX(1.572116027)) + /* c1+c5-c9-c11 */ - MULTIPLY(tmp15, FIX(2.260109708)); /* c3+c7 */ - tmp3 += tmp5 + tmp6 + - MULTIPLY(tmp13, FIX(2.205608352)) - /* c3+c5+c9-c7 */ - MULTIPLY(tmp15, FIX(1.742345811)); /* c1+c11 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp3, CONST_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 13) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/13)**2 = 64/169, which we partially - * fold into the constant multipliers and final shifting: - * cK now represents sqrt(2) * cos(K*pi/26) * 128/169. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*4]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*3]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*2]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*1]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*0]; - tmp5 = dataptr[DCTSIZE*5] + dataptr[DCTSIZE*7]; - tmp6 = dataptr[DCTSIZE*6]; - - tmp10 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*4]; - tmp11 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*3]; - tmp12 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*2]; - tmp13 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*1]; - tmp14 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*0]; - tmp15 = dataptr[DCTSIZE*5] - dataptr[DCTSIZE*7]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 + tmp1 + tmp2 + tmp3 + tmp4 + tmp5 + tmp6, - FIX(0.757396450)), /* 128/169 */ - CONST_BITS+1); - tmp6 += tmp6; - tmp0 -= tmp6; - tmp1 -= tmp6; - tmp2 -= tmp6; - tmp3 -= tmp6; - tmp4 -= tmp6; - tmp5 -= tmp6; - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.039995521)) + /* c2 */ - MULTIPLY(tmp1, FIX(0.801745081)) + /* c6 */ - MULTIPLY(tmp2, FIX(0.379824504)) - /* c10 */ - MULTIPLY(tmp3, FIX(0.129109289)) - /* c12 */ - MULTIPLY(tmp4, FIX(0.608465700)) - /* c8 */ - MULTIPLY(tmp5, FIX(0.948429952)), /* c4 */ - CONST_BITS+1); - z1 = MULTIPLY(tmp0 - tmp2, FIX(0.875087516)) - /* (c4+c6)/2 */ - MULTIPLY(tmp3 - tmp4, FIX(0.330085509)) - /* (c2-c10)/2 */ - MULTIPLY(tmp1 - tmp5, FIX(0.239678205)); /* (c8-c12)/2 */ - z2 = MULTIPLY(tmp0 + tmp2, FIX(0.073342435)) - /* (c4-c6)/2 */ - MULTIPLY(tmp3 + tmp4, FIX(0.709910013)) + /* (c2+c10)/2 */ - MULTIPLY(tmp1 + tmp5, FIX(0.368787494)); /* (c8+c12)/2 */ - - dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 - z2, CONST_BITS+1); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.001514908)); /* c3 */ - tmp2 = MULTIPLY(tmp10 + tmp12, FIX(0.881514751)); /* c5 */ - tmp3 = MULTIPLY(tmp10 + tmp13, FIX(0.710284161)) + /* c7 */ - MULTIPLY(tmp14 + tmp15, FIX(0.256335874)); /* c11 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(tmp10, FIX(1.530003162)) + /* c3+c5+c7-c1 */ - MULTIPLY(tmp14, FIX(0.241438564)); /* c9-c11 */ - tmp4 = MULTIPLY(tmp14 - tmp15, FIX(0.710284161)) - /* c7 */ - MULTIPLY(tmp11 + tmp12, FIX(0.256335874)); /* c11 */ - tmp5 = MULTIPLY(tmp11 + tmp13, - FIX(0.881514751)); /* -c5 */ - tmp1 += tmp4 + tmp5 + - MULTIPLY(tmp11, FIX(0.634110155)) - /* c5+c9+c11-c3 */ - MULTIPLY(tmp14, FIX(1.773594819)); /* c1+c7 */ - tmp6 = MULTIPLY(tmp12 + tmp13, - FIX(0.497774438)); /* -c9 */ - tmp2 += tmp4 + tmp6 - - MULTIPLY(tmp12, FIX(1.190715098)) + /* c1+c5-c9-c11 */ - MULTIPLY(tmp15, FIX(1.711799069)); /* c3+c7 */ - tmp3 += tmp5 + tmp6 + - MULTIPLY(tmp13, FIX(1.670519935)) - /* c3+c5+c9-c7 */ - MULTIPLY(tmp15, FIX(1.319646532)); /* c1+c11 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+1); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3, CONST_BITS+1); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 14x14 sample block. - */ - -GLOBAL(void) -jpeg_fdct_14x14 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - DCTELEM workspace[8*6]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - /* cK represents sqrt(2) * cos(K*pi/28). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[13]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[12]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[11]); - tmp13 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[10]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[9]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[8]); - tmp6 = GETJSAMPLE(elemptr[6]) + GETJSAMPLE(elemptr[7]); - - tmp10 = tmp0 + tmp6; - tmp14 = tmp0 - tmp6; - tmp11 = tmp1 + tmp5; - tmp15 = tmp1 - tmp5; - tmp12 = tmp2 + tmp4; - tmp16 = tmp2 - tmp4; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[13]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[12]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[11]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[10]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[9]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[8]); - tmp6 = GETJSAMPLE(elemptr[6]) - GETJSAMPLE(elemptr[7]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - (tmp10 + tmp11 + tmp12 + tmp13 - 14 * CENTERJSAMPLE); - tmp13 += tmp13; - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.274162392)) + /* c4 */ - MULTIPLY(tmp11 - tmp13, FIX(0.314692123)) - /* c12 */ - MULTIPLY(tmp12 - tmp13, FIX(0.881747734)), /* c8 */ - CONST_BITS); - - tmp10 = MULTIPLY(tmp14 + tmp15, FIX(1.105676686)); /* c6 */ - - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp14, FIX(0.273079590)) /* c2-c6 */ - + MULTIPLY(tmp16, FIX(0.613604268)), /* c10 */ - CONST_BITS); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp15, FIX(1.719280954)) /* c6+c10 */ - - MULTIPLY(tmp16, FIX(1.378756276)), /* c2 */ - CONST_BITS); - - /* Odd part */ - - tmp10 = tmp1 + tmp2; - tmp11 = tmp5 - tmp4; - dataptr[7] = (DCTELEM) (tmp0 - tmp10 + tmp3 - tmp11 - tmp6); - tmp3 <<= CONST_BITS; - tmp10 = MULTIPLY(tmp10, - FIX(0.158341681)); /* -c13 */ - tmp11 = MULTIPLY(tmp11, FIX(1.405321284)); /* c1 */ - tmp10 += tmp11 - tmp3; - tmp11 = MULTIPLY(tmp0 + tmp2, FIX(1.197448846)) + /* c5 */ - MULTIPLY(tmp4 + tmp6, FIX(0.752406978)); /* c9 */ - dataptr[5] = (DCTELEM) - DESCALE(tmp10 + tmp11 - MULTIPLY(tmp2, FIX(2.373959773)) /* c3+c5-c13 */ - + MULTIPLY(tmp4, FIX(1.119999435)), /* c1+c11-c9 */ - CONST_BITS); - tmp12 = MULTIPLY(tmp0 + tmp1, FIX(1.334852607)) + /* c3 */ - MULTIPLY(tmp5 - tmp6, FIX(0.467085129)); /* c11 */ - dataptr[3] = (DCTELEM) - DESCALE(tmp10 + tmp12 - MULTIPLY(tmp1, FIX(0.424103948)) /* c3-c9-c13 */ - - MULTIPLY(tmp5, FIX(3.069855259)), /* c1+c5+c11 */ - CONST_BITS); - dataptr[1] = (DCTELEM) - DESCALE(tmp11 + tmp12 + tmp3 + tmp6 - - MULTIPLY(tmp0 + tmp6, FIX(1.126980169)), /* c3+c5-c1 */ - CONST_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 14) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/14)**2 = 16/49, which we partially - * fold into the constant multipliers and final shifting: - * cK now represents sqrt(2) * cos(K*pi/28) * 32/49. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*3]; - tmp13 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*2]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*1]; - tmp5 = dataptr[DCTSIZE*5] + wsptr[DCTSIZE*0]; - tmp6 = dataptr[DCTSIZE*6] + dataptr[DCTSIZE*7]; - - tmp10 = tmp0 + tmp6; - tmp14 = tmp0 - tmp6; - tmp11 = tmp1 + tmp5; - tmp15 = tmp1 - tmp5; - tmp12 = tmp2 + tmp4; - tmp16 = tmp2 - tmp4; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*3]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*2]; - tmp4 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*1]; - tmp5 = dataptr[DCTSIZE*5] - wsptr[DCTSIZE*0]; - tmp6 = dataptr[DCTSIZE*6] - dataptr[DCTSIZE*7]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12 + tmp13, - FIX(0.653061224)), /* 32/49 */ - CONST_BITS+1); - tmp13 += tmp13; - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(0.832106052)) + /* c4 */ - MULTIPLY(tmp11 - tmp13, FIX(0.205513223)) - /* c12 */ - MULTIPLY(tmp12 - tmp13, FIX(0.575835255)), /* c8 */ - CONST_BITS+1); - - tmp10 = MULTIPLY(tmp14 + tmp15, FIX(0.722074570)); /* c6 */ - - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp14, FIX(0.178337691)) /* c2-c6 */ - + MULTIPLY(tmp16, FIX(0.400721155)), /* c10 */ - CONST_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp15, FIX(1.122795725)) /* c6+c10 */ - - MULTIPLY(tmp16, FIX(0.900412262)), /* c2 */ - CONST_BITS+1); - - /* Odd part */ - - tmp10 = tmp1 + tmp2; - tmp11 = tmp5 - tmp4; - dataptr[DCTSIZE*7] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp10 + tmp3 - tmp11 - tmp6, - FIX(0.653061224)), /* 32/49 */ - CONST_BITS+1); - tmp3 = MULTIPLY(tmp3 , FIX(0.653061224)); /* 32/49 */ - tmp10 = MULTIPLY(tmp10, - FIX(0.103406812)); /* -c13 */ - tmp11 = MULTIPLY(tmp11, FIX(0.917760839)); /* c1 */ - tmp10 += tmp11 - tmp3; - tmp11 = MULTIPLY(tmp0 + tmp2, FIX(0.782007410)) + /* c5 */ - MULTIPLY(tmp4 + tmp6, FIX(0.491367823)); /* c9 */ - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp10 + tmp11 - MULTIPLY(tmp2, FIX(1.550341076)) /* c3+c5-c13 */ - + MULTIPLY(tmp4, FIX(0.731428202)), /* c1+c11-c9 */ - CONST_BITS+1); - tmp12 = MULTIPLY(tmp0 + tmp1, FIX(0.871740478)) + /* c3 */ - MULTIPLY(tmp5 - tmp6, FIX(0.305035186)); /* c11 */ - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(tmp10 + tmp12 - MULTIPLY(tmp1, FIX(0.276965844)) /* c3-c9-c13 */ - - MULTIPLY(tmp5, FIX(2.004803435)), /* c1+c5+c11 */ - CONST_BITS+1); - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp11 + tmp12 + tmp3 - - MULTIPLY(tmp0, FIX(0.735987049)) /* c3+c5-c1 */ - - MULTIPLY(tmp6, FIX(0.082925825)), /* c9-c11-c13 */ - CONST_BITS+1); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 15x15 sample block. - */ - -GLOBAL(void) -jpeg_fdct_15x15 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 z1, z2, z3; - DCTELEM workspace[8*7]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - /* cK represents sqrt(2) * cos(K*pi/30). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[14]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[13]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[12]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[11]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[10]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[9]); - tmp6 = GETJSAMPLE(elemptr[6]) + GETJSAMPLE(elemptr[8]); - tmp7 = GETJSAMPLE(elemptr[7]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[14]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[13]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[12]); - tmp13 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[11]); - tmp14 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[10]); - tmp15 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[9]); - tmp16 = GETJSAMPLE(elemptr[6]) - GETJSAMPLE(elemptr[8]); - - z1 = tmp0 + tmp4 + tmp5; - z2 = tmp1 + tmp3 + tmp6; - z3 = tmp2 + tmp7; - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) (z1 + z2 + z3 - 15 * CENTERJSAMPLE); - z3 += z3; - dataptr[6] = (DCTELEM) - DESCALE(MULTIPLY(z1 - z3, FIX(1.144122806)) - /* c6 */ - MULTIPLY(z2 - z3, FIX(0.437016024)), /* c12 */ - CONST_BITS); - tmp2 += ((tmp1 + tmp4) >> 1) - tmp7 - tmp7; - z1 = MULTIPLY(tmp3 - tmp2, FIX(1.531135173)) - /* c2+c14 */ - MULTIPLY(tmp6 - tmp2, FIX(2.238241955)); /* c4+c8 */ - z2 = MULTIPLY(tmp5 - tmp2, FIX(0.798468008)) - /* c8-c14 */ - MULTIPLY(tmp0 - tmp2, FIX(0.091361227)); /* c2-c4 */ - z3 = MULTIPLY(tmp0 - tmp3, FIX(1.383309603)) + /* c2 */ - MULTIPLY(tmp6 - tmp5, FIX(0.946293579)) + /* c8 */ - MULTIPLY(tmp1 - tmp4, FIX(0.790569415)); /* (c6+c12)/2 */ - - dataptr[2] = (DCTELEM) DESCALE(z1 + z3, CONST_BITS); - dataptr[4] = (DCTELEM) DESCALE(z2 + z3, CONST_BITS); - - /* Odd part */ - - tmp2 = MULTIPLY(tmp10 - tmp12 - tmp13 + tmp15 + tmp16, - FIX(1.224744871)); /* c5 */ - tmp1 = MULTIPLY(tmp10 - tmp14 - tmp15, FIX(1.344997024)) + /* c3 */ - MULTIPLY(tmp11 - tmp13 - tmp16, FIX(0.831253876)); /* c9 */ - tmp12 = MULTIPLY(tmp12, FIX(1.224744871)); /* c5 */ - tmp4 = MULTIPLY(tmp10 - tmp16, FIX(1.406466353)) + /* c1 */ - MULTIPLY(tmp11 + tmp14, FIX(1.344997024)) + /* c3 */ - MULTIPLY(tmp13 + tmp15, FIX(0.575212477)); /* c11 */ - tmp0 = MULTIPLY(tmp13, FIX(0.475753014)) - /* c7-c11 */ - MULTIPLY(tmp14, FIX(0.513743148)) + /* c3-c9 */ - MULTIPLY(tmp16, FIX(1.700497885)) + tmp4 + tmp12; /* c1+c13 */ - tmp3 = MULTIPLY(tmp10, - FIX(0.355500862)) - /* -(c1-c7) */ - MULTIPLY(tmp11, FIX(2.176250899)) - /* c3+c9 */ - MULTIPLY(tmp15, FIX(0.869244010)) + tmp4 - tmp12; /* c11+c13 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp3, CONST_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 15) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/15)**2 = 64/225, which we partially - * fold into the constant multipliers and final shifting: - * cK now represents sqrt(2) * cos(K*pi/30) * 256/225. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*6]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*5]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*4]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*3]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*2]; - tmp5 = dataptr[DCTSIZE*5] + wsptr[DCTSIZE*1]; - tmp6 = dataptr[DCTSIZE*6] + wsptr[DCTSIZE*0]; - tmp7 = dataptr[DCTSIZE*7]; - - tmp10 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*6]; - tmp11 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*5]; - tmp12 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*4]; - tmp13 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*3]; - tmp14 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*2]; - tmp15 = dataptr[DCTSIZE*5] - wsptr[DCTSIZE*1]; - tmp16 = dataptr[DCTSIZE*6] - wsptr[DCTSIZE*0]; - - z1 = tmp0 + tmp4 + tmp5; - z2 = tmp1 + tmp3 + tmp6; - z3 = tmp2 + tmp7; - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(z1 + z2 + z3, FIX(1.137777778)), /* 256/225 */ - CONST_BITS+2); - z3 += z3; - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(MULTIPLY(z1 - z3, FIX(1.301757503)) - /* c6 */ - MULTIPLY(z2 - z3, FIX(0.497227121)), /* c12 */ - CONST_BITS+2); - tmp2 += ((tmp1 + tmp4) >> 1) - tmp7 - tmp7; - z1 = MULTIPLY(tmp3 - tmp2, FIX(1.742091575)) - /* c2+c14 */ - MULTIPLY(tmp6 - tmp2, FIX(2.546621957)); /* c4+c8 */ - z2 = MULTIPLY(tmp5 - tmp2, FIX(0.908479156)) - /* c8-c14 */ - MULTIPLY(tmp0 - tmp2, FIX(0.103948774)); /* c2-c4 */ - z3 = MULTIPLY(tmp0 - tmp3, FIX(1.573898926)) + /* c2 */ - MULTIPLY(tmp6 - tmp5, FIX(1.076671805)) + /* c8 */ - MULTIPLY(tmp1 - tmp4, FIX(0.899492312)); /* (c6+c12)/2 */ - - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(z1 + z3, CONST_BITS+2); - dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(z2 + z3, CONST_BITS+2); - - /* Odd part */ - - tmp2 = MULTIPLY(tmp10 - tmp12 - tmp13 + tmp15 + tmp16, - FIX(1.393487498)); /* c5 */ - tmp1 = MULTIPLY(tmp10 - tmp14 - tmp15, FIX(1.530307725)) + /* c3 */ - MULTIPLY(tmp11 - tmp13 - tmp16, FIX(0.945782187)); /* c9 */ - tmp12 = MULTIPLY(tmp12, FIX(1.393487498)); /* c5 */ - tmp4 = MULTIPLY(tmp10 - tmp16, FIX(1.600246161)) + /* c1 */ - MULTIPLY(tmp11 + tmp14, FIX(1.530307725)) + /* c3 */ - MULTIPLY(tmp13 + tmp15, FIX(0.654463974)); /* c11 */ - tmp0 = MULTIPLY(tmp13, FIX(0.541301207)) - /* c7-c11 */ - MULTIPLY(tmp14, FIX(0.584525538)) + /* c3-c9 */ - MULTIPLY(tmp16, FIX(1.934788705)) + tmp4 + tmp12; /* c1+c13 */ - tmp3 = MULTIPLY(tmp10, - FIX(0.404480980)) - /* -(c1-c7) */ - MULTIPLY(tmp11, FIX(2.476089912)) - /* c3+c9 */ - MULTIPLY(tmp15, FIX(0.989006518)) + tmp4 - tmp12; /* c11+c13 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+2); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+2); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+2); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3, CONST_BITS+2); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 16x16 sample block. - */ - -GLOBAL(void) -jpeg_fdct_16x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17; - DCTELEM workspace[DCTSIZE2]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* cK represents sqrt(2) * cos(K*pi/32). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[15]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[14]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[13]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[12]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[11]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[10]); - tmp6 = GETJSAMPLE(elemptr[6]) + GETJSAMPLE(elemptr[9]); - tmp7 = GETJSAMPLE(elemptr[7]) + GETJSAMPLE(elemptr[8]); - - tmp10 = tmp0 + tmp7; - tmp14 = tmp0 - tmp7; - tmp11 = tmp1 + tmp6; - tmp15 = tmp1 - tmp6; - tmp12 = tmp2 + tmp5; - tmp16 = tmp2 - tmp5; - tmp13 = tmp3 + tmp4; - tmp17 = tmp3 - tmp4; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[15]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[14]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[13]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[12]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[11]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[10]); - tmp6 = GETJSAMPLE(elemptr[6]) - GETJSAMPLE(elemptr[9]); - tmp7 = GETJSAMPLE(elemptr[7]) - GETJSAMPLE(elemptr[8]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 + tmp13 - 16 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.306562965)) + /* c4[16] = c2[8] */ - MULTIPLY(tmp11 - tmp12, FIX_0_541196100), /* c12[16] = c6[8] */ - CONST_BITS-PASS1_BITS); - - tmp10 = MULTIPLY(tmp17 - tmp15, FIX(0.275899379)) + /* c14[16] = c7[8] */ - MULTIPLY(tmp14 - tmp16, FIX(1.387039845)); /* c2[16] = c1[8] */ - - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp15, FIX(1.451774982)) /* c6+c14 */ - + MULTIPLY(tmp16, FIX(2.172734804)), /* c2+c10 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(0.211164243)) /* c2-c6 */ - - MULTIPLY(tmp17, FIX(1.061594338)), /* c10+c14 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp11 = MULTIPLY(tmp0 + tmp1, FIX(1.353318001)) + /* c3 */ - MULTIPLY(tmp6 - tmp7, FIX(0.410524528)); /* c13 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.247225013)) + /* c5 */ - MULTIPLY(tmp5 + tmp7, FIX(0.666655658)); /* c11 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(1.093201867)) + /* c7 */ - MULTIPLY(tmp4 - tmp7, FIX(0.897167586)); /* c9 */ - tmp14 = MULTIPLY(tmp1 + tmp2, FIX(0.138617169)) + /* c15 */ - MULTIPLY(tmp6 - tmp5, FIX(1.407403738)); /* c1 */ - tmp15 = MULTIPLY(tmp1 + tmp3, - FIX(0.666655658)) + /* -c11 */ - MULTIPLY(tmp4 + tmp6, - FIX(1.247225013)); /* -c5 */ - tmp16 = MULTIPLY(tmp2 + tmp3, - FIX(1.353318001)) + /* -c3 */ - MULTIPLY(tmp5 - tmp4, FIX(0.410524528)); /* c13 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(tmp0, FIX(2.286341144)) + /* c7+c5+c3-c1 */ - MULTIPLY(tmp7, FIX(0.779653625)); /* c15+c13-c11+c9 */ - tmp11 += tmp14 + tmp15 + MULTIPLY(tmp1, FIX(0.071888074)) /* c9-c3-c15+c11 */ - - MULTIPLY(tmp6, FIX(1.663905119)); /* c7+c13+c1-c5 */ - tmp12 += tmp14 + tmp16 - MULTIPLY(tmp2, FIX(1.125726048)) /* c7+c5+c15-c3 */ - + MULTIPLY(tmp5, FIX(1.227391138)); /* c9-c11+c1-c13 */ - tmp13 += tmp15 + tmp16 + MULTIPLY(tmp3, FIX(1.065388962)) /* c15+c3+c11-c7 */ - + MULTIPLY(tmp4, FIX(2.167985692)); /* c1+c13+c5-c9 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp10, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp11, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp12, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp13, CONST_BITS-PASS1_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == DCTSIZE * 2) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/16)**2 = 1/2**2. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*3]; - tmp5 = dataptr[DCTSIZE*5] + wsptr[DCTSIZE*2]; - tmp6 = dataptr[DCTSIZE*6] + wsptr[DCTSIZE*1]; - tmp7 = dataptr[DCTSIZE*7] + wsptr[DCTSIZE*0]; - - tmp10 = tmp0 + tmp7; - tmp14 = tmp0 - tmp7; - tmp11 = tmp1 + tmp6; - tmp15 = tmp1 - tmp6; - tmp12 = tmp2 + tmp5; - tmp16 = tmp2 - tmp5; - tmp13 = tmp3 + tmp4; - tmp17 = tmp3 - tmp4; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*3]; - tmp5 = dataptr[DCTSIZE*5] - wsptr[DCTSIZE*2]; - tmp6 = dataptr[DCTSIZE*6] - wsptr[DCTSIZE*1]; - tmp7 = dataptr[DCTSIZE*7] - wsptr[DCTSIZE*0]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(tmp10 + tmp11 + tmp12 + tmp13, PASS1_BITS+2); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.306562965)) + /* c4[16] = c2[8] */ - MULTIPLY(tmp11 - tmp12, FIX_0_541196100), /* c12[16] = c6[8] */ - CONST_BITS+PASS1_BITS+2); - - tmp10 = MULTIPLY(tmp17 - tmp15, FIX(0.275899379)) + /* c14[16] = c7[8] */ - MULTIPLY(tmp14 - tmp16, FIX(1.387039845)); /* c2[16] = c1[8] */ - - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp15, FIX(1.451774982)) /* c6+c14 */ - + MULTIPLY(tmp16, FIX(2.172734804)), /* c2+10 */ - CONST_BITS+PASS1_BITS+2); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(0.211164243)) /* c2-c6 */ - - MULTIPLY(tmp17, FIX(1.061594338)), /* c10+c14 */ - CONST_BITS+PASS1_BITS+2); - - /* Odd part */ - - tmp11 = MULTIPLY(tmp0 + tmp1, FIX(1.353318001)) + /* c3 */ - MULTIPLY(tmp6 - tmp7, FIX(0.410524528)); /* c13 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.247225013)) + /* c5 */ - MULTIPLY(tmp5 + tmp7, FIX(0.666655658)); /* c11 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(1.093201867)) + /* c7 */ - MULTIPLY(tmp4 - tmp7, FIX(0.897167586)); /* c9 */ - tmp14 = MULTIPLY(tmp1 + tmp2, FIX(0.138617169)) + /* c15 */ - MULTIPLY(tmp6 - tmp5, FIX(1.407403738)); /* c1 */ - tmp15 = MULTIPLY(tmp1 + tmp3, - FIX(0.666655658)) + /* -c11 */ - MULTIPLY(tmp4 + tmp6, - FIX(1.247225013)); /* -c5 */ - tmp16 = MULTIPLY(tmp2 + tmp3, - FIX(1.353318001)) + /* -c3 */ - MULTIPLY(tmp5 - tmp4, FIX(0.410524528)); /* c13 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(tmp0, FIX(2.286341144)) + /* c7+c5+c3-c1 */ - MULTIPLY(tmp7, FIX(0.779653625)); /* c15+c13-c11+c9 */ - tmp11 += tmp14 + tmp15 + MULTIPLY(tmp1, FIX(0.071888074)) /* c9-c3-c15+c11 */ - - MULTIPLY(tmp6, FIX(1.663905119)); /* c7+c13+c1-c5 */ - tmp12 += tmp14 + tmp16 - MULTIPLY(tmp2, FIX(1.125726048)) /* c7+c5+c15-c3 */ - + MULTIPLY(tmp5, FIX(1.227391138)); /* c9-c11+c1-c13 */ - tmp13 += tmp15 + tmp16 + MULTIPLY(tmp3, FIX(1.065388962)) /* c15+c3+c11-c7 */ - + MULTIPLY(tmp4, FIX(2.167985692)); /* c1+c13+c5-c9 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp10, CONST_BITS+PASS1_BITS+2); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp11, CONST_BITS+PASS1_BITS+2); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp12, CONST_BITS+PASS1_BITS+2); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp13, CONST_BITS+PASS1_BITS+2); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 16x8 sample block. - * - * 16-point FDCT in pass 1 (rows), 8-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_16x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17; - INT32 z1; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 16-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/32). */ - - dataptr = data; - ctr = 0; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[15]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[14]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[13]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[12]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[11]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[10]); - tmp6 = GETJSAMPLE(elemptr[6]) + GETJSAMPLE(elemptr[9]); - tmp7 = GETJSAMPLE(elemptr[7]) + GETJSAMPLE(elemptr[8]); - - tmp10 = tmp0 + tmp7; - tmp14 = tmp0 - tmp7; - tmp11 = tmp1 + tmp6; - tmp15 = tmp1 - tmp6; - tmp12 = tmp2 + tmp5; - tmp16 = tmp2 - tmp5; - tmp13 = tmp3 + tmp4; - tmp17 = tmp3 - tmp4; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[15]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[14]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[13]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[12]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[11]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[10]); - tmp6 = GETJSAMPLE(elemptr[6]) - GETJSAMPLE(elemptr[9]); - tmp7 = GETJSAMPLE(elemptr[7]) - GETJSAMPLE(elemptr[8]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 + tmp13 - 16 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.306562965)) + /* c4[16] = c2[8] */ - MULTIPLY(tmp11 - tmp12, FIX_0_541196100), /* c12[16] = c6[8] */ - CONST_BITS-PASS1_BITS); - - tmp10 = MULTIPLY(tmp17 - tmp15, FIX(0.275899379)) + /* c14[16] = c7[8] */ - MULTIPLY(tmp14 - tmp16, FIX(1.387039845)); /* c2[16] = c1[8] */ - - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp15, FIX(1.451774982)) /* c6+c14 */ - + MULTIPLY(tmp16, FIX(2.172734804)), /* c2+c10 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(0.211164243)) /* c2-c6 */ - - MULTIPLY(tmp17, FIX(1.061594338)), /* c10+c14 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp11 = MULTIPLY(tmp0 + tmp1, FIX(1.353318001)) + /* c3 */ - MULTIPLY(tmp6 - tmp7, FIX(0.410524528)); /* c13 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.247225013)) + /* c5 */ - MULTIPLY(tmp5 + tmp7, FIX(0.666655658)); /* c11 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(1.093201867)) + /* c7 */ - MULTIPLY(tmp4 - tmp7, FIX(0.897167586)); /* c9 */ - tmp14 = MULTIPLY(tmp1 + tmp2, FIX(0.138617169)) + /* c15 */ - MULTIPLY(tmp6 - tmp5, FIX(1.407403738)); /* c1 */ - tmp15 = MULTIPLY(tmp1 + tmp3, - FIX(0.666655658)) + /* -c11 */ - MULTIPLY(tmp4 + tmp6, - FIX(1.247225013)); /* -c5 */ - tmp16 = MULTIPLY(tmp2 + tmp3, - FIX(1.353318001)) + /* -c3 */ - MULTIPLY(tmp5 - tmp4, FIX(0.410524528)); /* c13 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(tmp0, FIX(2.286341144)) + /* c7+c5+c3-c1 */ - MULTIPLY(tmp7, FIX(0.779653625)); /* c15+c13-c11+c9 */ - tmp11 += tmp14 + tmp15 + MULTIPLY(tmp1, FIX(0.071888074)) /* c9-c3-c15+c11 */ - - MULTIPLY(tmp6, FIX(1.663905119)); /* c7+c13+c1-c5 */ - tmp12 += tmp14 + tmp16 - MULTIPLY(tmp2, FIX(1.125726048)) /* c7+c5+c15-c3 */ - + MULTIPLY(tmp5, FIX(1.227391138)); /* c9-c11+c1-c13 */ - tmp13 += tmp15 + tmp16 + MULTIPLY(tmp3, FIX(1.065388962)) /* c15+c3+c11-c7 */ - + MULTIPLY(tmp4, FIX(2.167985692)); /* c1+c13+c5-c9 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp10, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp11, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp12, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp13, CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by 8/16 = 1/2. - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; - - tmp10 = tmp0 + tmp3; - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; - - dataptr[DCTSIZE*0] = (DCTELEM) DESCALE(tmp10 + tmp11, PASS1_BITS+1); - dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(tmp10 - tmp11, PASS1_BITS+1); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), - CONST_BITS+PASS1_BITS+1); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0 + tmp10 + tmp12, - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1 + tmp11 + tmp13, - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2 + tmp11 + tmp12, - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3 + tmp10 + tmp13, - CONST_BITS+PASS1_BITS+1); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 14x7 sample block. - * - * 14-point FDCT in pass 1 (rows), 7-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_14x7 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 z1, z2, z3; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Zero bottom row of output coefficient block. */ - MEMZERO(&data[DCTSIZE*7], SIZEOF(DCTELEM) * DCTSIZE); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 14-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/28). */ - - dataptr = data; - for (ctr = 0; ctr < 7; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[13]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[12]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[11]); - tmp13 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[10]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[9]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[8]); - tmp6 = GETJSAMPLE(elemptr[6]) + GETJSAMPLE(elemptr[7]); - - tmp10 = tmp0 + tmp6; - tmp14 = tmp0 - tmp6; - tmp11 = tmp1 + tmp5; - tmp15 = tmp1 - tmp5; - tmp12 = tmp2 + tmp4; - tmp16 = tmp2 - tmp4; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[13]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[12]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[11]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[10]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[9]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[8]); - tmp6 = GETJSAMPLE(elemptr[6]) - GETJSAMPLE(elemptr[7]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 + tmp13 - 14 * CENTERJSAMPLE) << PASS1_BITS); - tmp13 += tmp13; - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.274162392)) + /* c4 */ - MULTIPLY(tmp11 - tmp13, FIX(0.314692123)) - /* c12 */ - MULTIPLY(tmp12 - tmp13, FIX(0.881747734)), /* c8 */ - CONST_BITS-PASS1_BITS); - - tmp10 = MULTIPLY(tmp14 + tmp15, FIX(1.105676686)); /* c6 */ - - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp14, FIX(0.273079590)) /* c2-c6 */ - + MULTIPLY(tmp16, FIX(0.613604268)), /* c10 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp15, FIX(1.719280954)) /* c6+c10 */ - - MULTIPLY(tmp16, FIX(1.378756276)), /* c2 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = tmp1 + tmp2; - tmp11 = tmp5 - tmp4; - dataptr[7] = (DCTELEM) ((tmp0 - tmp10 + tmp3 - tmp11 - tmp6) << PASS1_BITS); - tmp3 <<= CONST_BITS; - tmp10 = MULTIPLY(tmp10, - FIX(0.158341681)); /* -c13 */ - tmp11 = MULTIPLY(tmp11, FIX(1.405321284)); /* c1 */ - tmp10 += tmp11 - tmp3; - tmp11 = MULTIPLY(tmp0 + tmp2, FIX(1.197448846)) + /* c5 */ - MULTIPLY(tmp4 + tmp6, FIX(0.752406978)); /* c9 */ - dataptr[5] = (DCTELEM) - DESCALE(tmp10 + tmp11 - MULTIPLY(tmp2, FIX(2.373959773)) /* c3+c5-c13 */ - + MULTIPLY(tmp4, FIX(1.119999435)), /* c1+c11-c9 */ - CONST_BITS-PASS1_BITS); - tmp12 = MULTIPLY(tmp0 + tmp1, FIX(1.334852607)) + /* c3 */ - MULTIPLY(tmp5 - tmp6, FIX(0.467085129)); /* c11 */ - dataptr[3] = (DCTELEM) - DESCALE(tmp10 + tmp12 - MULTIPLY(tmp1, FIX(0.424103948)) /* c3-c9-c13 */ - - MULTIPLY(tmp5, FIX(3.069855259)), /* c1+c5+c11 */ - CONST_BITS-PASS1_BITS); - dataptr[1] = (DCTELEM) - DESCALE(tmp11 + tmp12 + tmp3 + tmp6 - - MULTIPLY(tmp0 + tmp6, FIX(1.126980169)), /* c3+c5-c1 */ - CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/14)*(8/7) = 32/49, which we - * partially fold into the constant multipliers and final shifting: - * 7-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/14) * 64/49. - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*6]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*5]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*4]; - tmp3 = dataptr[DCTSIZE*3]; - - tmp10 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*6]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*5]; - tmp12 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*4]; - - z1 = tmp0 + tmp2; - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(z1 + tmp1 + tmp3, FIX(1.306122449)), /* 64/49 */ - CONST_BITS+PASS1_BITS+1); - tmp3 += tmp3; - z1 -= tmp3; - z1 -= tmp3; - z1 = MULTIPLY(z1, FIX(0.461784020)); /* (c2+c6-c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp2, FIX(1.202428084)); /* (c2+c4-c6)/2 */ - z3 = MULTIPLY(tmp1 - tmp2, FIX(0.411026446)); /* c6 */ - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(z1 + z2 + z3, CONST_BITS+PASS1_BITS+1); - z1 -= z2; - z2 = MULTIPLY(tmp0 - tmp1, FIX(1.151670509)); /* c4 */ - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(z2 + z3 - MULTIPLY(tmp1 - tmp3, FIX(0.923568041)), /* c2+c6-c4 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS+PASS1_BITS+1); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(1.221765677)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(tmp10 - tmp11, FIX(0.222383464)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(tmp11 + tmp12, - FIX(1.800824523)); /* -c1 */ - tmp1 += tmp2; - tmp3 = MULTIPLY(tmp10 + tmp12, FIX(0.801442310)); /* c5 */ - tmp0 += tmp3; - tmp2 += tmp3 + MULTIPLY(tmp12, FIX(2.443531355)); /* c3+c1-c5 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+PASS1_BITS+1); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 12x6 sample block. - * - * 12-point FDCT in pass 1 (rows), 6-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_12x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Zero 2 bottom rows of output coefficient block. */ - MEMZERO(&data[DCTSIZE*6], SIZEOF(DCTELEM) * DCTSIZE * 2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 12-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/24). */ - - dataptr = data; - for (ctr = 0; ctr < 6; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[11]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[10]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[9]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[8]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[7]); - tmp5 = GETJSAMPLE(elemptr[5]) + GETJSAMPLE(elemptr[6]); - - tmp10 = tmp0 + tmp5; - tmp13 = tmp0 - tmp5; - tmp11 = tmp1 + tmp4; - tmp14 = tmp1 - tmp4; - tmp12 = tmp2 + tmp3; - tmp15 = tmp2 - tmp3; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[11]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[10]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[9]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[8]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[7]); - tmp5 = GETJSAMPLE(elemptr[5]) - GETJSAMPLE(elemptr[6]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 - 12 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[6] = (DCTELEM) ((tmp13 - tmp14 - tmp15) << PASS1_BITS); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.224744871)), /* c4 */ - CONST_BITS-PASS1_BITS); - dataptr[2] = (DCTELEM) - DESCALE(tmp14 - tmp15 + MULTIPLY(tmp13 + tmp15, FIX(1.366025404)), /* c2 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp1 + tmp4, FIX_0_541196100); /* c9 */ - tmp14 = tmp10 + MULTIPLY(tmp1, FIX_0_765366865); /* c3-c9 */ - tmp15 = tmp10 - MULTIPLY(tmp4, FIX_1_847759065); /* c3+c9 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.121971054)); /* c5 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(0.860918669)); /* c7 */ - tmp10 = tmp12 + tmp13 + tmp14 - MULTIPLY(tmp0, FIX(0.580774953)) /* c5+c7-c1 */ - + MULTIPLY(tmp5, FIX(0.184591911)); /* c11 */ - tmp11 = MULTIPLY(tmp2 + tmp3, - FIX(0.184591911)); /* -c11 */ - tmp12 += tmp11 - tmp15 - MULTIPLY(tmp2, FIX(2.339493912)) /* c1+c5-c11 */ - + MULTIPLY(tmp5, FIX(0.860918669)); /* c7 */ - tmp13 += tmp11 - tmp14 + MULTIPLY(tmp3, FIX(0.725788011)) /* c1+c11-c7 */ - - MULTIPLY(tmp5, FIX(1.121971054)); /* c5 */ - tmp11 = tmp15 + MULTIPLY(tmp0 - tmp3, FIX(1.306562965)) /* c3 */ - - MULTIPLY(tmp2 + tmp5, FIX_0_541196100); /* c9 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp10, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp11, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp12, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp13, CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/12)*(8/6) = 8/9, which we - * partially fold into the constant multipliers and final shifting: - * 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12) * 16/9. - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*5]; - tmp11 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*3]; - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*3]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(2.177324216)), /* c2 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(1.257078722)), /* c4 */ - CONST_BITS+PASS1_BITS+1); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp2, FIX(0.650711829)); /* c5 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0 + tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp2, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp2 - tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS+1); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 10x5 sample block. - * - * 10-point FDCT in pass 1 (rows), 5-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_10x5 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Zero 3 bottom rows of output coefficient block. */ - MEMZERO(&data[DCTSIZE*5], SIZEOF(DCTELEM) * DCTSIZE * 3); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 10-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/20). */ - - dataptr = data; - for (ctr = 0; ctr < 5; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[9]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[8]); - tmp12 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[7]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[6]); - tmp4 = GETJSAMPLE(elemptr[4]) + GETJSAMPLE(elemptr[5]); - - tmp10 = tmp0 + tmp4; - tmp13 = tmp0 - tmp4; - tmp11 = tmp1 + tmp3; - tmp14 = tmp1 - tmp3; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[9]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[8]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[7]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[6]); - tmp4 = GETJSAMPLE(elemptr[4]) - GETJSAMPLE(elemptr[5]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 + tmp12 - 10 * CENTERJSAMPLE) << PASS1_BITS); - tmp12 += tmp12; - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.144122806)) - /* c4 */ - MULTIPLY(tmp11 - tmp12, FIX(0.437016024)), /* c8 */ - CONST_BITS-PASS1_BITS); - tmp10 = MULTIPLY(tmp13 + tmp14, FIX(0.831253876)); /* c6 */ - dataptr[2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp13, FIX(0.513743148)), /* c2-c6 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(2.176250899)), /* c2+c6 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = tmp0 + tmp4; - tmp11 = tmp1 - tmp3; - dataptr[5] = (DCTELEM) ((tmp10 - tmp11 - tmp2) << PASS1_BITS); - tmp2 <<= CONST_BITS; - dataptr[1] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.396802247)) + /* c1 */ - MULTIPLY(tmp1, FIX(1.260073511)) + tmp2 + /* c3 */ - MULTIPLY(tmp3, FIX(0.642039522)) + /* c7 */ - MULTIPLY(tmp4, FIX(0.221231742)), /* c9 */ - CONST_BITS-PASS1_BITS); - tmp12 = MULTIPLY(tmp0 - tmp4, FIX(0.951056516)) - /* (c3+c7)/2 */ - MULTIPLY(tmp1 + tmp3, FIX(0.587785252)); /* (c1-c9)/2 */ - tmp13 = MULTIPLY(tmp10 + tmp11, FIX(0.309016994)) + /* (c3-c7)/2 */ - (tmp11 << (CONST_BITS - 1)) - tmp2; - dataptr[3] = (DCTELEM) DESCALE(tmp12 + tmp13, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp12 - tmp13, CONST_BITS-PASS1_BITS); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/10)*(8/5) = 32/25, which we - * fold into the constant multipliers: - * 5-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/10) * 32/25. - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*4]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*3]; - tmp2 = dataptr[DCTSIZE*2]; - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*4]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*3]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp2, FIX(1.28)), /* 32/25 */ - CONST_BITS+PASS1_BITS); - tmp11 = MULTIPLY(tmp11, FIX(1.011928851)); /* (c2+c4)/2 */ - tmp10 -= tmp2 << 2; - tmp10 = MULTIPLY(tmp10, FIX(0.452548340)); /* (c2-c4)/2 */ - dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(tmp11 + tmp10, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(tmp11 - tmp10, CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp1, FIX(1.064004961)); /* c3 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0, FIX(0.657591230)), /* c1-c3 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp1, FIX(2.785601151)), /* c1+c3 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on an 8x4 sample block. - * - * 8-point FDCT in pass 1 (rows), 4-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_8x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Zero 4 bottom rows of output coefficient block. */ - MEMZERO(&data[DCTSIZE*4], SIZEOF(DCTELEM) * DCTSIZE * 4); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We must also scale the output by 8/4 = 2, which we add here. */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]); - - tmp10 = tmp0 + tmp3; - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << (PASS1_BITS+1)); - dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << (PASS1_BITS+1)); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-2); - dataptr[2] = (DCTELEM) RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), - CONST_BITS-PASS1_BITS-1); - dataptr[6] = (DCTELEM) RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), - CONST_BITS-PASS1_BITS-1); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-2); - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS-1); - dataptr[3] = (DCTELEM) - RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS-1); - dataptr[5] = (DCTELEM) - RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS-1); - dataptr[7] = (DCTELEM) - RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS-1); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * 4-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - */ - - dataptr = data; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*3] + (ONE << (PASS1_BITS-1)); - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*2]; - - tmp10 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*3]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*2]; - - dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp0 + tmp1, PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) RIGHT_SHIFT(tmp0 - tmp1, PASS1_BITS); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS+PASS1_BITS-1); - - dataptr[DCTSIZE*1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 6x3 sample block. - * - * 6-point FDCT in pass 1 (rows), 3-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_6x3 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2; - INT32 tmp10, tmp11, tmp12; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). */ - - dataptr = data; - for (ctr = 0; ctr < 3; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[5]); - tmp11 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[3]); - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[5]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[3]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 - 6 * CENTERJSAMPLE) << (PASS1_BITS+1)); - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(1.224744871)), /* c2 */ - CONST_BITS-PASS1_BITS-1); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(0.707106781)), /* c4 */ - CONST_BITS-PASS1_BITS-1); - - /* Odd part */ - - tmp10 = DESCALE(MULTIPLY(tmp0 + tmp2, FIX(0.366025404)), /* c5 */ - CONST_BITS-PASS1_BITS-1); - - dataptr[1] = (DCTELEM) (tmp10 + ((tmp0 + tmp1) << (PASS1_BITS+1))); - dataptr[3] = (DCTELEM) ((tmp0 - tmp1 - tmp2) << (PASS1_BITS+1)); - dataptr[5] = (DCTELEM) (tmp10 + ((tmp2 - tmp1) << (PASS1_BITS+1))); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/6)*(8/3) = 32/9, which we partially - * fold into the constant multipliers (other part was done in pass 1): - * 3-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/6) * 16/9. - */ - - dataptr = data; - for (ctr = 0; ctr < 6; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*2]; - tmp1 = dataptr[DCTSIZE*1]; - - tmp2 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*2]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 + tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp1, FIX(1.257078722)), /* c2 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(MULTIPLY(tmp2, FIX(2.177324216)), /* c1 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 4x2 sample block. - * - * 4-point FDCT in pass 1 (rows), 2-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_4x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1; - INT32 tmp10, tmp11; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We must also scale the output by (8/4)*(8/2) = 2**3, which we add here. */ - /* 4-point FDCT kernel, */ - /* cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. */ - - dataptr = data; - for (ctr = 0; ctr < 2; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[3]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[2]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[3]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[2]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 - 4 * CENTERJSAMPLE) << (PASS1_BITS+3)); - dataptr[2] = (DCTELEM) ((tmp0 - tmp1) << (PASS1_BITS+3)); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-4); - - dataptr[1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS-PASS1_BITS-3); - dataptr[3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS-PASS1_BITS-3); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = dataptr[DCTSIZE*0] + (ONE << (PASS1_BITS-1)); - tmp1 = dataptr[DCTSIZE*1]; - - dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp0 + tmp1, PASS1_BITS); - - /* Odd part */ - - dataptr[DCTSIZE*1] = (DCTELEM) RIGHT_SHIFT(tmp0 - tmp1, PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 2x1 sample block. - * - * 2-point FDCT in pass 1 (rows), 1-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_2x1 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1; - JSAMPROW elemptr; - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - elemptr = sample_data[0] + start_col; - - tmp0 = GETJSAMPLE(elemptr[0]); - tmp1 = GETJSAMPLE(elemptr[1]); - - /* We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/2)*(8/1) = 2**5. - */ - - /* Even part */ - /* Apply unsigned->signed conversion */ - data[0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); - - /* Odd part */ - data[1] = (DCTELEM) ((tmp0 - tmp1) << 5); -} - - -/* - * Perform the forward DCT on an 8x16 sample block. - * - * 8-point FDCT in pass 1 (rows), 16-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_8x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17; - INT32 z1; - DCTELEM workspace[DCTSIZE2]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) + GETJSAMPLE(elemptr[4]); - - tmp10 = tmp0 + tmp3; - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[7]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[6]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[5]); - tmp3 = GETJSAMPLE(elemptr[3]) - GETJSAMPLE(elemptr[4]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - dataptr[2] = (DCTELEM) DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), - CONST_BITS-PASS1_BITS); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[1] = (DCTELEM) DESCALE(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS); - dataptr[7] = (DCTELEM) DESCALE(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == DCTSIZE * 2) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by 8/16 = 1/2. - * 16-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/32). - */ - - dataptr = data; - wsptr = workspace; - for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*3]; - tmp5 = dataptr[DCTSIZE*5] + wsptr[DCTSIZE*2]; - tmp6 = dataptr[DCTSIZE*6] + wsptr[DCTSIZE*1]; - tmp7 = dataptr[DCTSIZE*7] + wsptr[DCTSIZE*0]; - - tmp10 = tmp0 + tmp7; - tmp14 = tmp0 - tmp7; - tmp11 = tmp1 + tmp6; - tmp15 = tmp1 - tmp6; - tmp12 = tmp2 + tmp5; - tmp16 = tmp2 - tmp5; - tmp13 = tmp3 + tmp4; - tmp17 = tmp3 - tmp4; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*4]; - tmp4 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*3]; - tmp5 = dataptr[DCTSIZE*5] - wsptr[DCTSIZE*2]; - tmp6 = dataptr[DCTSIZE*6] - wsptr[DCTSIZE*1]; - tmp7 = dataptr[DCTSIZE*7] - wsptr[DCTSIZE*0]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(tmp10 + tmp11 + tmp12 + tmp13, PASS1_BITS+1); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(1.306562965)) + /* c4[16] = c2[8] */ - MULTIPLY(tmp11 - tmp12, FIX_0_541196100), /* c12[16] = c6[8] */ - CONST_BITS+PASS1_BITS+1); - - tmp10 = MULTIPLY(tmp17 - tmp15, FIX(0.275899379)) + /* c14[16] = c7[8] */ - MULTIPLY(tmp14 - tmp16, FIX(1.387039845)); /* c2[16] = c1[8] */ - - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp15, FIX(1.451774982)) /* c6+c14 */ - + MULTIPLY(tmp16, FIX(2.172734804)), /* c2+c10 */ - CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(0.211164243)) /* c2-c6 */ - - MULTIPLY(tmp17, FIX(1.061594338)), /* c10+c14 */ - CONST_BITS+PASS1_BITS+1); - - /* Odd part */ - - tmp11 = MULTIPLY(tmp0 + tmp1, FIX(1.353318001)) + /* c3 */ - MULTIPLY(tmp6 - tmp7, FIX(0.410524528)); /* c13 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(1.247225013)) + /* c5 */ - MULTIPLY(tmp5 + tmp7, FIX(0.666655658)); /* c11 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(1.093201867)) + /* c7 */ - MULTIPLY(tmp4 - tmp7, FIX(0.897167586)); /* c9 */ - tmp14 = MULTIPLY(tmp1 + tmp2, FIX(0.138617169)) + /* c15 */ - MULTIPLY(tmp6 - tmp5, FIX(1.407403738)); /* c1 */ - tmp15 = MULTIPLY(tmp1 + tmp3, - FIX(0.666655658)) + /* -c11 */ - MULTIPLY(tmp4 + tmp6, - FIX(1.247225013)); /* -c5 */ - tmp16 = MULTIPLY(tmp2 + tmp3, - FIX(1.353318001)) + /* -c3 */ - MULTIPLY(tmp5 - tmp4, FIX(0.410524528)); /* c13 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(tmp0, FIX(2.286341144)) + /* c7+c5+c3-c1 */ - MULTIPLY(tmp7, FIX(0.779653625)); /* c15+c13-c11+c9 */ - tmp11 += tmp14 + tmp15 + MULTIPLY(tmp1, FIX(0.071888074)) /* c9-c3-c15+c11 */ - - MULTIPLY(tmp6, FIX(1.663905119)); /* c7+c13+c1-c5 */ - tmp12 += tmp14 + tmp16 - MULTIPLY(tmp2, FIX(1.125726048)) /* c7+c5+c15-c3 */ - + MULTIPLY(tmp5, FIX(1.227391138)); /* c9-c11+c1-c13 */ - tmp13 += tmp15 + tmp16 + MULTIPLY(tmp3, FIX(1.065388962)) /* c15+c3+c11-c7 */ - + MULTIPLY(tmp4, FIX(2.167985692)); /* c1+c13+c5-c9 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp10, CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp11, CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp12, CONST_BITS+PASS1_BITS+1); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp13, CONST_BITS+PASS1_BITS+1); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 7x14 sample block. - * - * 7-point FDCT in pass 1 (rows), 14-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_7x14 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 z1, z2, z3; - DCTELEM workspace[8*6]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 7-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/14). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[6]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[5]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[4]); - tmp3 = GETJSAMPLE(elemptr[3]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[6]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[5]); - tmp12 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[4]); - - z1 = tmp0 + tmp2; - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((z1 + tmp1 + tmp3 - 7 * CENTERJSAMPLE) << PASS1_BITS); - tmp3 += tmp3; - z1 -= tmp3; - z1 -= tmp3; - z1 = MULTIPLY(z1, FIX(0.353553391)); /* (c2+c6-c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp2, FIX(0.920609002)); /* (c2+c4-c6)/2 */ - z3 = MULTIPLY(tmp1 - tmp2, FIX(0.314692123)); /* c6 */ - dataptr[2] = (DCTELEM) DESCALE(z1 + z2 + z3, CONST_BITS-PASS1_BITS); - z1 -= z2; - z2 = MULTIPLY(tmp0 - tmp1, FIX(0.881747734)); /* c4 */ - dataptr[4] = (DCTELEM) - DESCALE(z2 + z3 - MULTIPLY(tmp1 - tmp3, FIX(0.707106781)), /* c2+c6-c4 */ - CONST_BITS-PASS1_BITS); - dataptr[6] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp1 = MULTIPLY(tmp10 + tmp11, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(tmp10 - tmp11, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(tmp11 + tmp12, - FIX(1.378756276)); /* -c1 */ - tmp1 += tmp2; - tmp3 = MULTIPLY(tmp10 + tmp12, FIX(0.613604268)); /* c5 */ - tmp0 += tmp3; - tmp2 += tmp3 + MULTIPLY(tmp12, FIX(1.870828693)); /* c3+c1-c5 */ - - dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS-PASS1_BITS); - dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS-PASS1_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 14) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/7)*(8/14) = 32/49, which we - * fold into the constant multipliers: - * 14-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/28) * 32/49. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = 0; ctr < 7; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*3]; - tmp13 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*2]; - tmp4 = dataptr[DCTSIZE*4] + wsptr[DCTSIZE*1]; - tmp5 = dataptr[DCTSIZE*5] + wsptr[DCTSIZE*0]; - tmp6 = dataptr[DCTSIZE*6] + dataptr[DCTSIZE*7]; - - tmp10 = tmp0 + tmp6; - tmp14 = tmp0 - tmp6; - tmp11 = tmp1 + tmp5; - tmp15 = tmp1 - tmp5; - tmp12 = tmp2 + tmp4; - tmp16 = tmp2 - tmp4; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*3]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*2]; - tmp4 = dataptr[DCTSIZE*4] - wsptr[DCTSIZE*1]; - tmp5 = dataptr[DCTSIZE*5] - wsptr[DCTSIZE*0]; - tmp6 = dataptr[DCTSIZE*6] - dataptr[DCTSIZE*7]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12 + tmp13, - FIX(0.653061224)), /* 32/49 */ - CONST_BITS+PASS1_BITS); - tmp13 += tmp13; - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp13, FIX(0.832106052)) + /* c4 */ - MULTIPLY(tmp11 - tmp13, FIX(0.205513223)) - /* c12 */ - MULTIPLY(tmp12 - tmp13, FIX(0.575835255)), /* c8 */ - CONST_BITS+PASS1_BITS); - - tmp10 = MULTIPLY(tmp14 + tmp15, FIX(0.722074570)); /* c6 */ - - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp14, FIX(0.178337691)) /* c2-c6 */ - + MULTIPLY(tmp16, FIX(0.400721155)), /* c10 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp15, FIX(1.122795725)) /* c6+c10 */ - - MULTIPLY(tmp16, FIX(0.900412262)), /* c2 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = tmp1 + tmp2; - tmp11 = tmp5 - tmp4; - dataptr[DCTSIZE*7] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp10 + tmp3 - tmp11 - tmp6, - FIX(0.653061224)), /* 32/49 */ - CONST_BITS+PASS1_BITS); - tmp3 = MULTIPLY(tmp3 , FIX(0.653061224)); /* 32/49 */ - tmp10 = MULTIPLY(tmp10, - FIX(0.103406812)); /* -c13 */ - tmp11 = MULTIPLY(tmp11, FIX(0.917760839)); /* c1 */ - tmp10 += tmp11 - tmp3; - tmp11 = MULTIPLY(tmp0 + tmp2, FIX(0.782007410)) + /* c5 */ - MULTIPLY(tmp4 + tmp6, FIX(0.491367823)); /* c9 */ - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp10 + tmp11 - MULTIPLY(tmp2, FIX(1.550341076)) /* c3+c5-c13 */ - + MULTIPLY(tmp4, FIX(0.731428202)), /* c1+c11-c9 */ - CONST_BITS+PASS1_BITS); - tmp12 = MULTIPLY(tmp0 + tmp1, FIX(0.871740478)) + /* c3 */ - MULTIPLY(tmp5 - tmp6, FIX(0.305035186)); /* c11 */ - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(tmp10 + tmp12 - MULTIPLY(tmp1, FIX(0.276965844)) /* c3-c9-c13 */ - - MULTIPLY(tmp5, FIX(2.004803435)), /* c1+c5+c11 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp11 + tmp12 + tmp3 - - MULTIPLY(tmp0, FIX(0.735987049)) /* c3+c5-c1 */ - - MULTIPLY(tmp6, FIX(0.082925825)), /* c9-c11-c13 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 6x12 sample block. - * - * 6-point FDCT in pass 1 (rows), 12-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_6x12 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - DCTELEM workspace[8*4]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[5]); - tmp11 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) + GETJSAMPLE(elemptr[3]); - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[5]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[4]); - tmp2 = GETJSAMPLE(elemptr[2]) - GETJSAMPLE(elemptr[3]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp11 - 6 * CENTERJSAMPLE) << PASS1_BITS); - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(1.224744871)), /* c2 */ - CONST_BITS-PASS1_BITS); - dataptr[4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(0.707106781)), /* c4 */ - CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = DESCALE(MULTIPLY(tmp0 + tmp2, FIX(0.366025404)), /* c5 */ - CONST_BITS-PASS1_BITS); - - dataptr[1] = (DCTELEM) (tmp10 + ((tmp0 + tmp1) << PASS1_BITS)); - dataptr[3] = (DCTELEM) ((tmp0 - tmp1 - tmp2) << PASS1_BITS); - dataptr[5] = (DCTELEM) (tmp10 + ((tmp2 - tmp1) << PASS1_BITS)); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 12) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/6)*(8/12) = 8/9, which we - * fold into the constant multipliers: - * 12-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/24) * 8/9. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*3]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*2]; - tmp2 = dataptr[DCTSIZE*2] + wsptr[DCTSIZE*1]; - tmp3 = dataptr[DCTSIZE*3] + wsptr[DCTSIZE*0]; - tmp4 = dataptr[DCTSIZE*4] + dataptr[DCTSIZE*7]; - tmp5 = dataptr[DCTSIZE*5] + dataptr[DCTSIZE*6]; - - tmp10 = tmp0 + tmp5; - tmp13 = tmp0 - tmp5; - tmp11 = tmp1 + tmp4; - tmp14 = tmp1 - tmp4; - tmp12 = tmp2 + tmp3; - tmp15 = tmp2 - tmp3; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*3]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*2]; - tmp2 = dataptr[DCTSIZE*2] - wsptr[DCTSIZE*1]; - tmp3 = dataptr[DCTSIZE*3] - wsptr[DCTSIZE*0]; - tmp4 = dataptr[DCTSIZE*4] - dataptr[DCTSIZE*7]; - tmp5 = dataptr[DCTSIZE*5] - dataptr[DCTSIZE*6]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12, FIX(0.888888889)), /* 8/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(MULTIPLY(tmp13 - tmp14 - tmp15, FIX(0.888888889)), /* 8/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.088662108)), /* c4 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp14 - tmp15, FIX(0.888888889)) + /* 8/9 */ - MULTIPLY(tmp13 + tmp15, FIX(1.214244803)), /* c2 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp1 + tmp4, FIX(0.481063200)); /* c9 */ - tmp14 = tmp10 + MULTIPLY(tmp1, FIX(0.680326102)); /* c3-c9 */ - tmp15 = tmp10 - MULTIPLY(tmp4, FIX(1.642452502)); /* c3+c9 */ - tmp12 = MULTIPLY(tmp0 + tmp2, FIX(0.997307603)); /* c5 */ - tmp13 = MULTIPLY(tmp0 + tmp3, FIX(0.765261039)); /* c7 */ - tmp10 = tmp12 + tmp13 + tmp14 - MULTIPLY(tmp0, FIX(0.516244403)) /* c5+c7-c1 */ - + MULTIPLY(tmp5, FIX(0.164081699)); /* c11 */ - tmp11 = MULTIPLY(tmp2 + tmp3, - FIX(0.164081699)); /* -c11 */ - tmp12 += tmp11 - tmp15 - MULTIPLY(tmp2, FIX(2.079550144)) /* c1+c5-c11 */ - + MULTIPLY(tmp5, FIX(0.765261039)); /* c7 */ - tmp13 += tmp11 - tmp14 + MULTIPLY(tmp3, FIX(0.645144899)) /* c1+c11-c7 */ - - MULTIPLY(tmp5, FIX(0.997307603)); /* c5 */ - tmp11 = tmp15 + MULTIPLY(tmp0 - tmp3, FIX(1.161389302)) /* c3 */ - - MULTIPLY(tmp2 + tmp5, FIX(0.481063200)); /* c9 */ - - dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp10, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp11, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp12, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp13, CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 5x10 sample block. - * - * 5-point FDCT in pass 1 (rows), 10-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_5x10 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4; - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - DCTELEM workspace[8*2]; - DCTELEM *dataptr; - DCTELEM *wsptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* 5-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/10). */ - - dataptr = data; - ctr = 0; - for (;;) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[4]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[3]); - tmp2 = GETJSAMPLE(elemptr[2]); - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - - tmp0 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[4]); - tmp1 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[3]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp10 + tmp2 - 5 * CENTERJSAMPLE) << PASS1_BITS); - tmp11 = MULTIPLY(tmp11, FIX(0.790569415)); /* (c2+c4)/2 */ - tmp10 -= tmp2 << 2; - tmp10 = MULTIPLY(tmp10, FIX(0.353553391)); /* (c2-c4)/2 */ - dataptr[2] = (DCTELEM) DESCALE(tmp11 + tmp10, CONST_BITS-PASS1_BITS); - dataptr[4] = (DCTELEM) DESCALE(tmp11 - tmp10, CONST_BITS-PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp1, FIX(0.831253876)); /* c3 */ - - dataptr[1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0, FIX(0.513743148)), /* c1-c3 */ - CONST_BITS-PASS1_BITS); - dataptr[3] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp1, FIX(2.176250899)), /* c1+c3 */ - CONST_BITS-PASS1_BITS); - - ctr++; - - if (ctr != DCTSIZE) { - if (ctr == 10) - break; /* Done. */ - dataptr += DCTSIZE; /* advance pointer to next row */ - } else - dataptr = workspace; /* switch pointer to extended workspace */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/5)*(8/10) = 32/25, which we - * fold into the constant multipliers: - * 10-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/20) * 32/25. - */ - - dataptr = data; - wsptr = workspace; - for (ctr = 0; ctr < 5; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + wsptr[DCTSIZE*1]; - tmp1 = dataptr[DCTSIZE*1] + wsptr[DCTSIZE*0]; - tmp12 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*7]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*6]; - tmp4 = dataptr[DCTSIZE*4] + dataptr[DCTSIZE*5]; - - tmp10 = tmp0 + tmp4; - tmp13 = tmp0 - tmp4; - tmp11 = tmp1 + tmp3; - tmp14 = tmp1 - tmp3; - - tmp0 = dataptr[DCTSIZE*0] - wsptr[DCTSIZE*1]; - tmp1 = dataptr[DCTSIZE*1] - wsptr[DCTSIZE*0]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*7]; - tmp3 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*6]; - tmp4 = dataptr[DCTSIZE*4] - dataptr[DCTSIZE*5]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11 + tmp12, FIX(1.28)), /* 32/25 */ - CONST_BITS+PASS1_BITS); - tmp12 += tmp12; - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp12, FIX(1.464477191)) - /* c4 */ - MULTIPLY(tmp11 - tmp12, FIX(0.559380511)), /* c8 */ - CONST_BITS+PASS1_BITS); - tmp10 = MULTIPLY(tmp13 + tmp14, FIX(1.064004961)); /* c6 */ - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp13, FIX(0.657591230)), /* c2-c6 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) - DESCALE(tmp10 - MULTIPLY(tmp14, FIX(2.785601151)), /* c2+c6 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = tmp0 + tmp4; - tmp11 = tmp1 - tmp3; - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp2, FIX(1.28)), /* 32/25 */ - CONST_BITS+PASS1_BITS); - tmp2 = MULTIPLY(tmp2, FIX(1.28)); /* 32/25 */ - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(MULTIPLY(tmp0, FIX(1.787906876)) + /* c1 */ - MULTIPLY(tmp1, FIX(1.612894094)) + tmp2 + /* c3 */ - MULTIPLY(tmp3, FIX(0.821810588)) + /* c7 */ - MULTIPLY(tmp4, FIX(0.283176630)), /* c9 */ - CONST_BITS+PASS1_BITS); - tmp12 = MULTIPLY(tmp0 - tmp4, FIX(1.217352341)) - /* (c3+c7)/2 */ - MULTIPLY(tmp1 + tmp3, FIX(0.752365123)); /* (c1-c9)/2 */ - tmp13 = MULTIPLY(tmp10 + tmp11, FIX(0.395541753)) + /* (c3-c7)/2 */ - MULTIPLY(tmp11, FIX(0.64)) - tmp2; /* 16/25 */ - dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp12 + tmp13, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp12 - tmp13, CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - wsptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 4x8 sample block. - * - * 4-point FDCT in pass 1 (rows), 8-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_4x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We must also scale the output by 8/4 = 2, which we add here. */ - /* 4-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). */ - - dataptr = data; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[3]); - tmp1 = GETJSAMPLE(elemptr[1]) + GETJSAMPLE(elemptr[2]); - - tmp10 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[3]); - tmp11 = GETJSAMPLE(elemptr[1]) - GETJSAMPLE(elemptr[2]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 - 4 * CENTERJSAMPLE) << (PASS1_BITS+1)); - dataptr[2] = (DCTELEM) ((tmp0 - tmp1) << (PASS1_BITS+1)); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-2); - - dataptr[1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS-PASS1_BITS-1); - dataptr[3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS-PASS1_BITS-1); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - /* Even part per LL&M figure 1 --- note that published figure is faulty; - * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". - */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4]; - - /* Add fudge factor here for final descale. */ - tmp10 = tmp0 + tmp3 + (ONE << (PASS1_BITS-1)); - tmp12 = tmp0 - tmp3; - tmp11 = tmp1 + tmp2; - tmp13 = tmp1 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5]; - tmp3 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4]; - - dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); - - z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS+PASS1_BITS-1); - dataptr[DCTSIZE*2] = (DCTELEM) - RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*6] = (DCTELEM) - RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), CONST_BITS+PASS1_BITS); - - /* Odd part per figure 8 --- note paper omits factor of sqrt(2). - * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - * i0..i3 in the paper are tmp0..tmp3 here. - */ - - tmp10 = tmp0 + tmp3; - tmp11 = tmp1 + tmp2; - tmp12 = tmp0 + tmp2; - tmp13 = tmp1 + tmp3; - z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS+PASS1_BITS-1); - - tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ - tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ - tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ - tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ - tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ - tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ - tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ - tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ - - tmp12 += z1; - tmp13 += z1; - - dataptr[DCTSIZE*1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) - RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*7] = (DCTELEM) - RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 3x6 sample block. - * - * 3-point FDCT in pass 1 (rows), 6-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_3x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1, tmp2; - INT32 tmp10, tmp11, tmp12; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - /* We scale the results further by 2 as part of output adaption */ - /* scaling for different DCT size. */ - /* 3-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/6). */ - - dataptr = data; - for (ctr = 0; ctr < 6; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[2]); - tmp1 = GETJSAMPLE(elemptr[1]); - - tmp2 = GETJSAMPLE(elemptr[0]) - GETJSAMPLE(elemptr[2]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) - ((tmp0 + tmp1 - 3 * CENTERJSAMPLE) << (PASS1_BITS+1)); - dataptr[2] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp1, FIX(0.707106781)), /* c2 */ - CONST_BITS-PASS1_BITS-1); - - /* Odd part */ - - dataptr[1] = (DCTELEM) - DESCALE(MULTIPLY(tmp2, FIX(1.224744871)), /* c1 */ - CONST_BITS-PASS1_BITS-1); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We remove the PASS1_BITS scaling, but leave the results scaled up - * by an overall factor of 8. - * We must also scale the output by (8/6)*(8/3) = 32/9, which we partially - * fold into the constant multipliers (other part was done in pass 1): - * 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12) * 16/9. - */ - - dataptr = data; - for (ctr = 0; ctr < 3; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*5]; - tmp11 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*3]; - - tmp10 = tmp0 + tmp2; - tmp12 = tmp0 - tmp2; - - tmp0 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*5]; - tmp1 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*4]; - tmp2 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*3]; - - dataptr[DCTSIZE*0] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 + tmp11, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*2] = (DCTELEM) - DESCALE(MULTIPLY(tmp12, FIX(2.177324216)), /* c2 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*4] = (DCTELEM) - DESCALE(MULTIPLY(tmp10 - tmp11 - tmp11, FIX(1.257078722)), /* c4 */ - CONST_BITS+PASS1_BITS); - - /* Odd part */ - - tmp10 = MULTIPLY(tmp0 + tmp2, FIX(0.650711829)); /* c5 */ - - dataptr[DCTSIZE*1] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp0 + tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - DESCALE(MULTIPLY(tmp0 - tmp1 - tmp2, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - dataptr[DCTSIZE*5] = (DCTELEM) - DESCALE(tmp10 + MULTIPLY(tmp2 - tmp1, FIX(1.777777778)), /* 16/9 */ - CONST_BITS+PASS1_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 2x4 sample block. - * - * 2-point FDCT in pass 1 (rows), 4-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_2x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1; - INT32 tmp10, tmp11; - DCTELEM *dataptr; - JSAMPROW elemptr; - int ctr; - SHIFT_TEMPS - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - /* Pass 1: process rows. */ - /* Note results are scaled up by sqrt(8) compared to a true DCT. */ - /* We must also scale the output by (8/2)*(8/4) = 2**3, which we add here. */ - - dataptr = data; - for (ctr = 0; ctr < 4; ctr++) { - elemptr = sample_data[ctr] + start_col; - - /* Even part */ - - tmp0 = GETJSAMPLE(elemptr[0]); - tmp1 = GETJSAMPLE(elemptr[1]); - - /* Apply unsigned->signed conversion */ - dataptr[0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 3); - - /* Odd part */ - - dataptr[1] = (DCTELEM) ((tmp0 - tmp1) << 3); - - dataptr += DCTSIZE; /* advance pointer to next row */ - } - - /* Pass 2: process columns. - * We leave the results scaled up by an overall factor of 8. - * 4-point FDCT kernel, - * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. - */ - - dataptr = data; - for (ctr = 0; ctr < 2; ctr++) { - /* Even part */ - - tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*3]; - tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*2]; - - tmp10 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*3]; - tmp11 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*2]; - - dataptr[DCTSIZE*0] = (DCTELEM) (tmp0 + tmp1); - dataptr[DCTSIZE*2] = (DCTELEM) (tmp0 - tmp1); - - /* Odd part */ - - tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-1); - - dataptr[DCTSIZE*1] = (DCTELEM) - RIGHT_SHIFT(tmp0 + MULTIPLY(tmp10, FIX_0_765366865), /* c2-c6 */ - CONST_BITS); - dataptr[DCTSIZE*3] = (DCTELEM) - RIGHT_SHIFT(tmp0 - MULTIPLY(tmp11, FIX_1_847759065), /* c2+c6 */ - CONST_BITS); - - dataptr++; /* advance pointer to next column */ - } -} - - -/* - * Perform the forward DCT on a 1x2 sample block. - * - * 1-point FDCT in pass 1 (rows), 2-point in pass 2 (columns). - */ - -GLOBAL(void) -jpeg_fdct_1x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) -{ - INT32 tmp0, tmp1; - - /* Pre-zero output coefficient block. */ - MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); - - tmp0 = GETJSAMPLE(sample_data[0][start_col]); - tmp1 = GETJSAMPLE(sample_data[1][start_col]); - - /* We leave the results scaled up by an overall factor of 8. - * We must also scale the output by (8/1)*(8/2) = 2**5. - */ - - /* Even part */ - /* Apply unsigned->signed conversion */ - data[DCTSIZE*0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); - - /* Odd part */ - data[DCTSIZE*1] = (DCTELEM) ((tmp0 - tmp1) << 5); -} - -#endif /* DCT_SCALING_SUPPORTED */ -#endif /* DCT_ISLOW_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jidctflt.c b/3rdparty/openctm/tools/jpeg/jidctflt.c deleted file mode 100644 index 5fea54c23..000000000 --- a/3rdparty/openctm/tools/jpeg/jidctflt.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * jidctflt.c - * - * Copyright (C) 1994-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a floating-point implementation of the - * inverse DCT (Discrete Cosine Transform). In the IJG code, this routine - * must also perform dequantization of the input coefficients. - * - * This implementation should be more accurate than either of the integer - * IDCT implementations. However, it may not give the same results on all - * machines because of differences in roundoff behavior. Speed will depend - * on the hardware's floating point capacity. - * - * A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT - * on each row (or vice versa, but it's more convenient to emit a row at - * a time). Direct algorithms are also available, but they are much more - * complex and seem not to be any faster when reduced to code. - * - * This implementation is based on Arai, Agui, and Nakajima's algorithm for - * scaled DCT. Their original paper (Trans. IEICE E-71(11):1095) is in - * Japanese, but the algorithm is described in the Pennebaker & Mitchell - * JPEG textbook (see REFERENCES section in file README). The following code - * is based directly on figure 4-8 in P&M. - * While an 8-point DCT cannot be done in less than 11 multiplies, it is - * possible to arrange the computation so that many of the multiplies are - * simple scalings of the final outputs. These multiplies can then be - * folded into the multiplications or divisions by the JPEG quantization - * table entries. The AA&N method leaves only 5 multiplies and 29 adds - * to be done in the DCT itself. - * The primary disadvantage of this method is that with a fixed-point - * implementation, accuracy is lost due to imprecise representation of the - * scaled quantization values. However, that problem does not arise if - * we use floating point arithmetic. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_FLOAT_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */ -#endif - - -/* Dequantize a coefficient by multiplying it by the multiplier-table - * entry; produce a float result. - */ - -#define DEQUANTIZE(coef,quantval) (((FAST_FLOAT) (coef)) * (quantval)) - - -/* - * Perform dequantization and inverse DCT on one block of coefficients. - */ - -GLOBAL(void) -jpeg_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - FAST_FLOAT tmp10, tmp11, tmp12, tmp13; - FAST_FLOAT z5, z10, z11, z12, z13; - JCOEFPTR inptr; - FLOAT_MULT_TYPE * quantptr; - FAST_FLOAT * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - FAST_FLOAT workspace[DCTSIZE2]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (FLOAT_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = DCTSIZE; ctr > 0; ctr--) { - /* Due to quantization, we will usually find that many of the input - * coefficients are zero, especially the AC terms. We can exploit this - * by short-circuiting the IDCT calculation for any column in which all - * the AC terms are zero. In that case each output is equal to the - * DC coefficient (with scale factor as needed). - * With typical images and quantization tables, half or more of the - * column DCT calculations can be simplified this way. - */ - - if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && - inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && - inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && - inptr[DCTSIZE*7] == 0) { - /* AC terms all zero */ - FAST_FLOAT dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - - wsptr[DCTSIZE*0] = dcval; - wsptr[DCTSIZE*1] = dcval; - wsptr[DCTSIZE*2] = dcval; - wsptr[DCTSIZE*3] = dcval; - wsptr[DCTSIZE*4] = dcval; - wsptr[DCTSIZE*5] = dcval; - wsptr[DCTSIZE*6] = dcval; - wsptr[DCTSIZE*7] = dcval; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - continue; - } - - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp10 = tmp0 + tmp2; /* phase 3 */ - tmp11 = tmp0 - tmp2; - - tmp13 = tmp1 + tmp3; /* phases 5-3 */ - tmp12 = (tmp1 - tmp3) * ((FAST_FLOAT) 1.414213562) - tmp13; /* 2*c4 */ - - tmp0 = tmp10 + tmp13; /* phase 2 */ - tmp3 = tmp10 - tmp13; - tmp1 = tmp11 + tmp12; - tmp2 = tmp11 - tmp12; - - /* Odd part */ - - tmp4 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - tmp5 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - tmp6 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp7 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - z13 = tmp6 + tmp5; /* phase 6 */ - z10 = tmp6 - tmp5; - z11 = tmp4 + tmp7; - z12 = tmp4 - tmp7; - - tmp7 = z11 + z13; /* phase 5 */ - tmp11 = (z11 - z13) * ((FAST_FLOAT) 1.414213562); /* 2*c4 */ - - z5 = (z10 + z12) * ((FAST_FLOAT) 1.847759065); /* 2*c2 */ - tmp10 = ((FAST_FLOAT) 1.082392200) * z12 - z5; /* 2*(c2-c6) */ - tmp12 = ((FAST_FLOAT) -2.613125930) * z10 + z5; /* -2*(c2+c6) */ - - tmp6 = tmp12 - tmp7; /* phase 2 */ - tmp5 = tmp11 - tmp6; - tmp4 = tmp10 + tmp5; - - wsptr[DCTSIZE*0] = tmp0 + tmp7; - wsptr[DCTSIZE*7] = tmp0 - tmp7; - wsptr[DCTSIZE*1] = tmp1 + tmp6; - wsptr[DCTSIZE*6] = tmp1 - tmp6; - wsptr[DCTSIZE*2] = tmp2 + tmp5; - wsptr[DCTSIZE*5] = tmp2 - tmp5; - wsptr[DCTSIZE*4] = tmp3 + tmp4; - wsptr[DCTSIZE*3] = tmp3 - tmp4; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - } - - /* Pass 2: process rows from work array, store into output array. */ - /* Note that we must descale the results by a factor of 8 == 2**3. */ - - wsptr = workspace; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - outptr = output_buf[ctr] + output_col; - /* Rows of zeroes can be exploited in the same way as we did with columns. - * However, the column calculation has created many nonzero AC terms, so - * the simplification applies less often (typically 5% to 10% of the time). - * And testing floats for zero is relatively expensive, so we don't bother. - */ - - /* Even part */ - - tmp10 = wsptr[0] + wsptr[4]; - tmp11 = wsptr[0] - wsptr[4]; - - tmp13 = wsptr[2] + wsptr[6]; - tmp12 = (wsptr[2] - wsptr[6]) * ((FAST_FLOAT) 1.414213562) - tmp13; - - tmp0 = tmp10 + tmp13; - tmp3 = tmp10 - tmp13; - tmp1 = tmp11 + tmp12; - tmp2 = tmp11 - tmp12; - - /* Odd part */ - - z13 = wsptr[5] + wsptr[3]; - z10 = wsptr[5] - wsptr[3]; - z11 = wsptr[1] + wsptr[7]; - z12 = wsptr[1] - wsptr[7]; - - tmp7 = z11 + z13; - tmp11 = (z11 - z13) * ((FAST_FLOAT) 1.414213562); - - z5 = (z10 + z12) * ((FAST_FLOAT) 1.847759065); /* 2*c2 */ - tmp10 = ((FAST_FLOAT) 1.082392200) * z12 - z5; /* 2*(c2-c6) */ - tmp12 = ((FAST_FLOAT) -2.613125930) * z10 + z5; /* -2*(c2+c6) */ - - tmp6 = tmp12 - tmp7; - tmp5 = tmp11 - tmp6; - tmp4 = tmp10 + tmp5; - - /* Final output stage: scale down by a factor of 8 and range-limit */ - - outptr[0] = range_limit[(int) DESCALE((INT32) (tmp0 + tmp7), 3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) DESCALE((INT32) (tmp0 - tmp7), 3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) DESCALE((INT32) (tmp1 + tmp6), 3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) DESCALE((INT32) (tmp1 - tmp6), 3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) DESCALE((INT32) (tmp2 + tmp5), 3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) DESCALE((INT32) (tmp2 - tmp5), 3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) DESCALE((INT32) (tmp3 + tmp4), 3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) DESCALE((INT32) (tmp3 - tmp4), 3) - & RANGE_MASK]; - - wsptr += DCTSIZE; /* advance pointer to next row */ - } -} - -#endif /* DCT_FLOAT_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jidctfst.c b/3rdparty/openctm/tools/jpeg/jidctfst.c deleted file mode 100644 index 078b8c444..000000000 --- a/3rdparty/openctm/tools/jpeg/jidctfst.c +++ /dev/null @@ -1,368 +0,0 @@ -/* - * jidctfst.c - * - * Copyright (C) 1994-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a fast, not so accurate integer implementation of the - * inverse DCT (Discrete Cosine Transform). In the IJG code, this routine - * must also perform dequantization of the input coefficients. - * - * A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT - * on each row (or vice versa, but it's more convenient to emit a row at - * a time). Direct algorithms are also available, but they are much more - * complex and seem not to be any faster when reduced to code. - * - * This implementation is based on Arai, Agui, and Nakajima's algorithm for - * scaled DCT. Their original paper (Trans. IEICE E-71(11):1095) is in - * Japanese, but the algorithm is described in the Pennebaker & Mitchell - * JPEG textbook (see REFERENCES section in file README). The following code - * is based directly on figure 4-8 in P&M. - * While an 8-point DCT cannot be done in less than 11 multiplies, it is - * possible to arrange the computation so that many of the multiplies are - * simple scalings of the final outputs. These multiplies can then be - * folded into the multiplications or divisions by the JPEG quantization - * table entries. The AA&N method leaves only 5 multiplies and 29 adds - * to be done in the DCT itself. - * The primary disadvantage of this method is that with fixed-point math, - * accuracy is lost due to imprecise representation of the scaled - * quantization values. The smaller the quantization table entry, the less - * precise the scaled value, so this implementation does worse with high- - * quality-setting files than with low-quality ones. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_IFAST_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */ -#endif - - -/* Scaling decisions are generally the same as in the LL&M algorithm; - * see jidctint.c for more details. However, we choose to descale - * (right shift) multiplication products as soon as they are formed, - * rather than carrying additional fractional bits into subsequent additions. - * This compromises accuracy slightly, but it lets us save a few shifts. - * More importantly, 16-bit arithmetic is then adequate (for 8-bit samples) - * everywhere except in the multiplications proper; this saves a good deal - * of work on 16-bit-int machines. - * - * The dequantized coefficients are not integers because the AA&N scaling - * factors have been incorporated. We represent them scaled up by PASS1_BITS, - * so that the first and second IDCT rounds have the same input scaling. - * For 8-bit JSAMPLEs, we choose IFAST_SCALE_BITS = PASS1_BITS so as to - * avoid a descaling shift; this compromises accuracy rather drastically - * for small quantization table entries, but it saves a lot of shifts. - * For 12-bit JSAMPLEs, there's no hope of using 16x16 multiplies anyway, - * so we use a much larger scaling factor to preserve accuracy. - * - * A final compromise is to represent the multiplicative constants to only - * 8 fractional bits, rather than 13. This saves some shifting work on some - * machines, and may also reduce the cost of multiplication (since there - * are fewer one-bits in the constants). - */ - -#if BITS_IN_JSAMPLE == 8 -#define CONST_BITS 8 -#define PASS1_BITS 2 -#else -#define CONST_BITS 8 -#define PASS1_BITS 1 /* lose a little precision to avoid overflow */ -#endif - -/* Some C compilers fail to reduce "FIX(constant)" at compile time, thus - * causing a lot of useless floating-point operations at run time. - * To get around this we use the following pre-calculated constants. - * If you change CONST_BITS you may want to add appropriate values. - * (With a reasonable C compiler, you can just rely on the FIX() macro...) - */ - -#if CONST_BITS == 8 -#define FIX_1_082392200 ((INT32) 277) /* FIX(1.082392200) */ -#define FIX_1_414213562 ((INT32) 362) /* FIX(1.414213562) */ -#define FIX_1_847759065 ((INT32) 473) /* FIX(1.847759065) */ -#define FIX_2_613125930 ((INT32) 669) /* FIX(2.613125930) */ -#else -#define FIX_1_082392200 FIX(1.082392200) -#define FIX_1_414213562 FIX(1.414213562) -#define FIX_1_847759065 FIX(1.847759065) -#define FIX_2_613125930 FIX(2.613125930) -#endif - - -/* We can gain a little more speed, with a further compromise in accuracy, - * by omitting the addition in a descaling shift. This yields an incorrectly - * rounded result half the time... - */ - -#ifndef USE_ACCURATE_ROUNDING -#undef DESCALE -#define DESCALE(x,n) RIGHT_SHIFT(x, n) -#endif - - -/* Multiply a DCTELEM variable by an INT32 constant, and immediately - * descale to yield a DCTELEM result. - */ - -#define MULTIPLY(var,const) ((DCTELEM) DESCALE((var) * (const), CONST_BITS)) - - -/* Dequantize a coefficient by multiplying it by the multiplier-table - * entry; produce a DCTELEM result. For 8-bit data a 16x16->16 - * multiplication will do. For 12-bit data, the multiplier table is - * declared INT32, so a 32-bit multiply will be used. - */ - -#if BITS_IN_JSAMPLE == 8 -#define DEQUANTIZE(coef,quantval) (((IFAST_MULT_TYPE) (coef)) * (quantval)) -#else -#define DEQUANTIZE(coef,quantval) \ - DESCALE((coef)*(quantval), IFAST_SCALE_BITS-PASS1_BITS) -#endif - - -/* Like DESCALE, but applies to a DCTELEM and produces an int. - * We assume that int right shift is unsigned if INT32 right shift is. - */ - -#ifdef RIGHT_SHIFT_IS_UNSIGNED -#define ISHIFT_TEMPS DCTELEM ishift_temp; -#if BITS_IN_JSAMPLE == 8 -#define DCTELEMBITS 16 /* DCTELEM may be 16 or 32 bits */ -#else -#define DCTELEMBITS 32 /* DCTELEM must be 32 bits */ -#endif -#define IRIGHT_SHIFT(x,shft) \ - ((ishift_temp = (x)) < 0 ? \ - (ishift_temp >> (shft)) | ((~((DCTELEM) 0)) << (DCTELEMBITS-(shft))) : \ - (ishift_temp >> (shft))) -#else -#define ISHIFT_TEMPS -#define IRIGHT_SHIFT(x,shft) ((x) >> (shft)) -#endif - -#ifdef USE_ACCURATE_ROUNDING -#define IDESCALE(x,n) ((int) IRIGHT_SHIFT((x) + (1 << ((n)-1)), n)) -#else -#define IDESCALE(x,n) ((int) IRIGHT_SHIFT(x, n)) -#endif - - -/* - * Perform dequantization and inverse DCT on one block of coefficients. - */ - -GLOBAL(void) -jpeg_idct_ifast (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - DCTELEM tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - DCTELEM tmp10, tmp11, tmp12, tmp13; - DCTELEM z5, z10, z11, z12, z13; - JCOEFPTR inptr; - IFAST_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[DCTSIZE2]; /* buffers data between passes */ - SHIFT_TEMPS /* for DESCALE */ - ISHIFT_TEMPS /* for IDESCALE */ - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (IFAST_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = DCTSIZE; ctr > 0; ctr--) { - /* Due to quantization, we will usually find that many of the input - * coefficients are zero, especially the AC terms. We can exploit this - * by short-circuiting the IDCT calculation for any column in which all - * the AC terms are zero. In that case each output is equal to the - * DC coefficient (with scale factor as needed). - * With typical images and quantization tables, half or more of the - * column DCT calculations can be simplified this way. - */ - - if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && - inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && - inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && - inptr[DCTSIZE*7] == 0) { - /* AC terms all zero */ - int dcval = (int) DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - - wsptr[DCTSIZE*0] = dcval; - wsptr[DCTSIZE*1] = dcval; - wsptr[DCTSIZE*2] = dcval; - wsptr[DCTSIZE*3] = dcval; - wsptr[DCTSIZE*4] = dcval; - wsptr[DCTSIZE*5] = dcval; - wsptr[DCTSIZE*6] = dcval; - wsptr[DCTSIZE*7] = dcval; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - continue; - } - - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp10 = tmp0 + tmp2; /* phase 3 */ - tmp11 = tmp0 - tmp2; - - tmp13 = tmp1 + tmp3; /* phases 5-3 */ - tmp12 = MULTIPLY(tmp1 - tmp3, FIX_1_414213562) - tmp13; /* 2*c4 */ - - tmp0 = tmp10 + tmp13; /* phase 2 */ - tmp3 = tmp10 - tmp13; - tmp1 = tmp11 + tmp12; - tmp2 = tmp11 - tmp12; - - /* Odd part */ - - tmp4 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - tmp5 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - tmp6 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp7 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - z13 = tmp6 + tmp5; /* phase 6 */ - z10 = tmp6 - tmp5; - z11 = tmp4 + tmp7; - z12 = tmp4 - tmp7; - - tmp7 = z11 + z13; /* phase 5 */ - tmp11 = MULTIPLY(z11 - z13, FIX_1_414213562); /* 2*c4 */ - - z5 = MULTIPLY(z10 + z12, FIX_1_847759065); /* 2*c2 */ - tmp10 = MULTIPLY(z12, FIX_1_082392200) - z5; /* 2*(c2-c6) */ - tmp12 = MULTIPLY(z10, - FIX_2_613125930) + z5; /* -2*(c2+c6) */ - - tmp6 = tmp12 - tmp7; /* phase 2 */ - tmp5 = tmp11 - tmp6; - tmp4 = tmp10 + tmp5; - - wsptr[DCTSIZE*0] = (int) (tmp0 + tmp7); - wsptr[DCTSIZE*7] = (int) (tmp0 - tmp7); - wsptr[DCTSIZE*1] = (int) (tmp1 + tmp6); - wsptr[DCTSIZE*6] = (int) (tmp1 - tmp6); - wsptr[DCTSIZE*2] = (int) (tmp2 + tmp5); - wsptr[DCTSIZE*5] = (int) (tmp2 - tmp5); - wsptr[DCTSIZE*4] = (int) (tmp3 + tmp4); - wsptr[DCTSIZE*3] = (int) (tmp3 - tmp4); - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - } - - /* Pass 2: process rows from work array, store into output array. */ - /* Note that we must descale the results by a factor of 8 == 2**3, */ - /* and also undo the PASS1_BITS scaling. */ - - wsptr = workspace; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - outptr = output_buf[ctr] + output_col; - /* Rows of zeroes can be exploited in the same way as we did with columns. - * However, the column calculation has created many nonzero AC terms, so - * the simplification applies less often (typically 5% to 10% of the time). - * On machines with very fast multiplication, it's possible that the - * test takes more time than it's worth. In that case this section - * may be commented out. - */ - -#ifndef NO_ZERO_ROW_TEST - if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 && - wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) { - /* AC terms all zero */ - JSAMPLE dcval = range_limit[IDESCALE(wsptr[0], PASS1_BITS+3) - & RANGE_MASK]; - - outptr[0] = dcval; - outptr[1] = dcval; - outptr[2] = dcval; - outptr[3] = dcval; - outptr[4] = dcval; - outptr[5] = dcval; - outptr[6] = dcval; - outptr[7] = dcval; - - wsptr += DCTSIZE; /* advance pointer to next row */ - continue; - } -#endif - - /* Even part */ - - tmp10 = ((DCTELEM) wsptr[0] + (DCTELEM) wsptr[4]); - tmp11 = ((DCTELEM) wsptr[0] - (DCTELEM) wsptr[4]); - - tmp13 = ((DCTELEM) wsptr[2] + (DCTELEM) wsptr[6]); - tmp12 = MULTIPLY((DCTELEM) wsptr[2] - (DCTELEM) wsptr[6], FIX_1_414213562) - - tmp13; - - tmp0 = tmp10 + tmp13; - tmp3 = tmp10 - tmp13; - tmp1 = tmp11 + tmp12; - tmp2 = tmp11 - tmp12; - - /* Odd part */ - - z13 = (DCTELEM) wsptr[5] + (DCTELEM) wsptr[3]; - z10 = (DCTELEM) wsptr[5] - (DCTELEM) wsptr[3]; - z11 = (DCTELEM) wsptr[1] + (DCTELEM) wsptr[7]; - z12 = (DCTELEM) wsptr[1] - (DCTELEM) wsptr[7]; - - tmp7 = z11 + z13; /* phase 5 */ - tmp11 = MULTIPLY(z11 - z13, FIX_1_414213562); /* 2*c4 */ - - z5 = MULTIPLY(z10 + z12, FIX_1_847759065); /* 2*c2 */ - tmp10 = MULTIPLY(z12, FIX_1_082392200) - z5; /* 2*(c2-c6) */ - tmp12 = MULTIPLY(z10, - FIX_2_613125930) + z5; /* -2*(c2+c6) */ - - tmp6 = tmp12 - tmp7; /* phase 2 */ - tmp5 = tmp11 - tmp6; - tmp4 = tmp10 + tmp5; - - /* Final output stage: scale down by a factor of 8 and range-limit */ - - outptr[0] = range_limit[IDESCALE(tmp0 + tmp7, PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[IDESCALE(tmp0 - tmp7, PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[IDESCALE(tmp1 + tmp6, PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[IDESCALE(tmp1 - tmp6, PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[IDESCALE(tmp2 + tmp5, PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[IDESCALE(tmp2 - tmp5, PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[IDESCALE(tmp3 + tmp4, PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[IDESCALE(tmp3 - tmp4, PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += DCTSIZE; /* advance pointer to next row */ - } -} - -#endif /* DCT_IFAST_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jidctint.c b/3rdparty/openctm/tools/jpeg/jidctint.c deleted file mode 100644 index 49ef79f56..000000000 --- a/3rdparty/openctm/tools/jpeg/jidctint.c +++ /dev/null @@ -1,5137 +0,0 @@ -/* - * jidctint.c - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modification developed 2002-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a slow-but-accurate integer implementation of the - * inverse DCT (Discrete Cosine Transform). In the IJG code, this routine - * must also perform dequantization of the input coefficients. - * - * A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT - * on each row (or vice versa, but it's more convenient to emit a row at - * a time). Direct algorithms are also available, but they are much more - * complex and seem not to be any faster when reduced to code. - * - * This implementation is based on an algorithm described in - * C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT - * Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics, - * Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991. - * The primary algorithm described there uses 11 multiplies and 29 adds. - * We use their alternate method with 12 multiplies and 32 adds. - * The advantage of this method is that no data path contains more than one - * multiplication; this allows a very simple and accurate implementation in - * scaled fixed-point arithmetic, with a minimal number of shifts. - * - * We also provide IDCT routines with various output sample block sizes for - * direct resolution reduction or enlargement and for direct resolving the - * common 2x1 and 1x2 subsampling cases without additional resampling: NxN - * (N=1...16), 2NxN, and Nx2N (N=1...8) pixels for one 8x8 input DCT block. - * - * For N<8 we simply take the corresponding low-frequency coefficients of - * the 8x8 input DCT block and apply an NxN point IDCT on the sub-block - * to yield the downscaled outputs. - * This can be seen as direct low-pass downsampling from the DCT domain - * point of view rather than the usual spatial domain point of view, - * yielding significant computational savings and results at least - * as good as common bilinear (averaging) spatial downsampling. - * - * For N>8 we apply a partial NxN IDCT on the 8 input coefficients as - * lower frequencies and higher frequencies assumed to be zero. - * It turns out that the computational effort is similar to the 8x8 IDCT - * regarding the output size. - * Furthermore, the scaling and descaling is the same for all IDCT sizes. - * - * CAUTION: We rely on the FIX() macro except for the N=1,2,4,8 cases - * since there would be too many additional constants to pre-calculate. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jdct.h" /* Private declarations for DCT subsystem */ - -#ifdef DCT_ISLOW_SUPPORTED - - -/* - * This module is specialized to the case DCTSIZE = 8. - */ - -#if DCTSIZE != 8 - Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */ -#endif - - -/* - * The poop on this scaling stuff is as follows: - * - * Each 1-D IDCT step produces outputs which are a factor of sqrt(N) - * larger than the true IDCT outputs. The final outputs are therefore - * a factor of N larger than desired; since N=8 this can be cured by - * a simple right shift at the end of the algorithm. The advantage of - * this arrangement is that we save two multiplications per 1-D IDCT, - * because the y0 and y4 inputs need not be divided by sqrt(N). - * - * We have to do addition and subtraction of the integer inputs, which - * is no problem, and multiplication by fractional constants, which is - * a problem to do in integer arithmetic. We multiply all the constants - * by CONST_SCALE and convert them to integer constants (thus retaining - * CONST_BITS bits of precision in the constants). After doing a - * multiplication we have to divide the product by CONST_SCALE, with proper - * rounding, to produce the correct output. This division can be done - * cheaply as a right shift of CONST_BITS bits. We postpone shifting - * as long as possible so that partial sums can be added together with - * full fractional precision. - * - * The outputs of the first pass are scaled up by PASS1_BITS bits so that - * they are represented to better-than-integral precision. These outputs - * require BITS_IN_JSAMPLE + PASS1_BITS + 3 bits; this fits in a 16-bit word - * with the recommended scaling. (To scale up 12-bit sample data further, an - * intermediate INT32 array would be needed.) - * - * To avoid overflow of the 32-bit intermediate results in pass 2, we must - * have BITS_IN_JSAMPLE + CONST_BITS + PASS1_BITS <= 26. Error analysis - * shows that the values given below are the most effective. - */ - -#if BITS_IN_JSAMPLE == 8 -#define CONST_BITS 13 -#define PASS1_BITS 2 -#else -#define CONST_BITS 13 -#define PASS1_BITS 1 /* lose a little precision to avoid overflow */ -#endif - -/* Some C compilers fail to reduce "FIX(constant)" at compile time, thus - * causing a lot of useless floating-point operations at run time. - * To get around this we use the following pre-calculated constants. - * If you change CONST_BITS you may want to add appropriate values. - * (With a reasonable C compiler, you can just rely on the FIX() macro...) - */ - -#if CONST_BITS == 13 -#define FIX_0_298631336 ((INT32) 2446) /* FIX(0.298631336) */ -#define FIX_0_390180644 ((INT32) 3196) /* FIX(0.390180644) */ -#define FIX_0_541196100 ((INT32) 4433) /* FIX(0.541196100) */ -#define FIX_0_765366865 ((INT32) 6270) /* FIX(0.765366865) */ -#define FIX_0_899976223 ((INT32) 7373) /* FIX(0.899976223) */ -#define FIX_1_175875602 ((INT32) 9633) /* FIX(1.175875602) */ -#define FIX_1_501321110 ((INT32) 12299) /* FIX(1.501321110) */ -#define FIX_1_847759065 ((INT32) 15137) /* FIX(1.847759065) */ -#define FIX_1_961570560 ((INT32) 16069) /* FIX(1.961570560) */ -#define FIX_2_053119869 ((INT32) 16819) /* FIX(2.053119869) */ -#define FIX_2_562915447 ((INT32) 20995) /* FIX(2.562915447) */ -#define FIX_3_072711026 ((INT32) 25172) /* FIX(3.072711026) */ -#else -#define FIX_0_298631336 FIX(0.298631336) -#define FIX_0_390180644 FIX(0.390180644) -#define FIX_0_541196100 FIX(0.541196100) -#define FIX_0_765366865 FIX(0.765366865) -#define FIX_0_899976223 FIX(0.899976223) -#define FIX_1_175875602 FIX(1.175875602) -#define FIX_1_501321110 FIX(1.501321110) -#define FIX_1_847759065 FIX(1.847759065) -#define FIX_1_961570560 FIX(1.961570560) -#define FIX_2_053119869 FIX(2.053119869) -#define FIX_2_562915447 FIX(2.562915447) -#define FIX_3_072711026 FIX(3.072711026) -#endif - - -/* Multiply an INT32 variable by an INT32 constant to yield an INT32 result. - * For 8-bit samples with the recommended scaling, all the variable - * and constant values involved are no more than 16 bits wide, so a - * 16x16->32 bit multiply can be used instead of a full 32x32 multiply. - * For 12-bit samples, a full 32-bit multiplication will be needed. - */ - -#if BITS_IN_JSAMPLE == 8 -#define MULTIPLY(var,const) MULTIPLY16C16(var,const) -#else -#define MULTIPLY(var,const) ((var) * (const)) -#endif - - -/* Dequantize a coefficient by multiplying it by the multiplier-table - * entry; produce an int result. In this module, both inputs and result - * are 16 bits or less, so either int or short multiply will work. - */ - -#define DEQUANTIZE(coef,quantval) (((ISLOW_MULT_TYPE) (coef)) * (quantval)) - - -/* - * Perform dequantization and inverse DCT on one block of coefficients. - */ - -GLOBAL(void) -jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[DCTSIZE2]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = DCTSIZE; ctr > 0; ctr--) { - /* Due to quantization, we will usually find that many of the input - * coefficients are zero, especially the AC terms. We can exploit this - * by short-circuiting the IDCT calculation for any column in which all - * the AC terms are zero. In that case each output is equal to the - * DC coefficient (with scale factor as needed). - * With typical images and quantization tables, half or more of the - * column DCT calculations can be simplified this way. - */ - - if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && - inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && - inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && - inptr[DCTSIZE*7] == 0) { - /* AC terms all zero */ - int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS; - - wsptr[DCTSIZE*0] = dcval; - wsptr[DCTSIZE*1] = dcval; - wsptr[DCTSIZE*2] = dcval; - wsptr[DCTSIZE*3] = dcval; - wsptr[DCTSIZE*4] = dcval; - wsptr[DCTSIZE*5] = dcval; - wsptr[DCTSIZE*6] = dcval; - wsptr[DCTSIZE*7] = dcval; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - continue; - } - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z2 <<= CONST_BITS; - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z2 += ONE << (CONST_BITS-PASS1_BITS-1); - - tmp0 = z2 + z3; - tmp1 = z2 - z3; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - wsptr[DCTSIZE*0] = (int) RIGHT_SHIFT(tmp10 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*7] = (int) RIGHT_SHIFT(tmp10 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*1] = (int) RIGHT_SHIFT(tmp11 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*6] = (int) RIGHT_SHIFT(tmp11 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*2] = (int) RIGHT_SHIFT(tmp12 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - } - - /* Pass 2: process rows from work array, store into output array. */ - /* Note that we must descale the results by a factor of 8 == 2**3, */ - /* and also undo the PASS1_BITS scaling. */ - - wsptr = workspace; - for (ctr = 0; ctr < DCTSIZE; ctr++) { - outptr = output_buf[ctr] + output_col; - /* Rows of zeroes can be exploited in the same way as we did with columns. - * However, the column calculation has created many nonzero AC terms, so - * the simplification applies less often (typically 5% to 10% of the time). - * On machines with very fast multiplication, it's possible that the - * test takes more time than it's worth. In that case this section - * may be commented out. - */ - -#ifndef NO_ZERO_ROW_TEST - if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 && - wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) { - /* AC terms all zero */ - JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3) - & RANGE_MASK]; - - outptr[0] = dcval; - outptr[1] = dcval; - outptr[2] = dcval; - outptr[3] = dcval; - outptr[4] = dcval; - outptr[5] = dcval; - outptr[6] = dcval; - outptr[7] = dcval; - - wsptr += DCTSIZE; /* advance pointer to next row */ - continue; - } -#endif - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[6]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - /* Add fudge factor here for final descale. */ - z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 = (INT32) wsptr[4]; - - tmp0 = (z2 + z3) << CONST_BITS; - tmp1 = (z2 - z3) << CONST_BITS; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = (INT32) wsptr[7]; - tmp1 = (INT32) wsptr[5]; - tmp2 = (INT32) wsptr[3]; - tmp3 = (INT32) wsptr[1]; - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp13 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += DCTSIZE; /* advance pointer to next row */ - } -} - -#ifdef IDCT_SCALING_SUPPORTED - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 7x7 output block. - * - * Optimized algorithm with 12 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/14). - */ - -GLOBAL(void) -jpeg_idct_7x7 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp10, tmp11, tmp12, tmp13; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[7*7]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 7; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp13 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp13 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp13 += ONE << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp10 = MULTIPLY(z2 - z3, FIX(0.881747734)); /* c4 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.314692123)); /* c6 */ - tmp11 = tmp10 + tmp12 + tmp13 - MULTIPLY(z2, FIX(1.841218003)); /* c2+c4-c6 */ - tmp0 = z1 + z3; - z2 -= tmp0; - tmp0 = MULTIPLY(tmp0, FIX(1.274162392)) + tmp13; /* c2 */ - tmp10 += tmp0 - MULTIPLY(z3, FIX(0.077722536)); /* c2-c4-c6 */ - tmp12 += tmp0 - MULTIPLY(z1, FIX(2.470602249)); /* c2+c4+c6 */ - tmp13 += MULTIPLY(z2, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - - tmp1 = MULTIPLY(z1 + z2, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(z1 - z2, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(z2 + z3, - FIX(1.378756276)); /* -c1 */ - tmp1 += tmp2; - z2 = MULTIPLY(z1 + z3, FIX(0.613604268)); /* c5 */ - tmp0 += z2; - tmp2 += z2 + MULTIPLY(z3, FIX(1.870828693)); /* c3+c1-c5 */ - - /* Final output stage */ - - wsptr[7*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[7*6] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[7*1] = (int) RIGHT_SHIFT(tmp11 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[7*5] = (int) RIGHT_SHIFT(tmp11 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[7*2] = (int) RIGHT_SHIFT(tmp12 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[7*4] = (int) RIGHT_SHIFT(tmp12 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[7*3] = (int) RIGHT_SHIFT(tmp13, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 7 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 7; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp13 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp13 <<= CONST_BITS; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[4]; - z3 = (INT32) wsptr[6]; - - tmp10 = MULTIPLY(z2 - z3, FIX(0.881747734)); /* c4 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.314692123)); /* c6 */ - tmp11 = tmp10 + tmp12 + tmp13 - MULTIPLY(z2, FIX(1.841218003)); /* c2+c4-c6 */ - tmp0 = z1 + z3; - z2 -= tmp0; - tmp0 = MULTIPLY(tmp0, FIX(1.274162392)) + tmp13; /* c2 */ - tmp10 += tmp0 - MULTIPLY(z3, FIX(0.077722536)); /* c2-c4-c6 */ - tmp12 += tmp0 - MULTIPLY(z1, FIX(2.470602249)); /* c2+c4+c6 */ - tmp13 += MULTIPLY(z2, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - - tmp1 = MULTIPLY(z1 + z2, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp2 = MULTIPLY(z1 - z2, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp0 = tmp1 - tmp2; - tmp1 += tmp2; - tmp2 = MULTIPLY(z2 + z3, - FIX(1.378756276)); /* -c1 */ - tmp1 += tmp2; - z2 = MULTIPLY(z1 + z3, FIX(0.613604268)); /* c5 */ - tmp0 += z2; - tmp2 += z2 + MULTIPLY(z3, FIX(1.870828693)); /* c3+c1-c5 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 7; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 6x6 output block. - * - * Optimized algorithm with 3 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/12). - */ - -GLOBAL(void) -jpeg_idct_6x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp10, tmp11, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[6*6]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp10 = MULTIPLY(tmp2, FIX(0.707106781)); /* c4 */ - tmp1 = tmp0 + tmp10; - tmp11 = RIGHT_SHIFT(tmp0 - tmp10 - tmp10, CONST_BITS-PASS1_BITS); - tmp10 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp0 = MULTIPLY(tmp10, FIX(1.224744871)); /* c2 */ - tmp10 = tmp1 + tmp0; - tmp12 = tmp1 - tmp0; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp1 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp0 = tmp1 + ((z1 + z2) << CONST_BITS); - tmp2 = tmp1 + ((z3 - z2) << CONST_BITS); - tmp1 = (z1 - z2 - z3) << PASS1_BITS; - - /* Final output stage */ - - wsptr[6*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[6*5] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[6*1] = (int) (tmp11 + tmp1); - wsptr[6*4] = (int) (tmp11 - tmp1); - wsptr[6*2] = (int) RIGHT_SHIFT(tmp12 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[6*3] = (int) RIGHT_SHIFT(tmp12 - tmp2, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 6 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - tmp2 = (INT32) wsptr[4]; - tmp10 = MULTIPLY(tmp2, FIX(0.707106781)); /* c4 */ - tmp1 = tmp0 + tmp10; - tmp11 = tmp0 - tmp10 - tmp10; - tmp10 = (INT32) wsptr[2]; - tmp0 = MULTIPLY(tmp10, FIX(1.224744871)); /* c2 */ - tmp10 = tmp1 + tmp0; - tmp12 = tmp1 - tmp0; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - tmp1 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp0 = tmp1 + ((z1 + z2) << CONST_BITS); - tmp2 = tmp1 + ((z3 - z2) << CONST_BITS); - tmp1 = (z1 - z2 - z3) << CONST_BITS; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 6; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 5x5 output block. - * - * Optimized algorithm with 5 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/10). - */ - -GLOBAL(void) -jpeg_idct_5x5 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp10, tmp11, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[5*5]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 5; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp12 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp12 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp12 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp0 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z1 = MULTIPLY(tmp0 + tmp1, FIX(0.790569415)); /* (c2+c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp1, FIX(0.353553391)); /* (c2-c4)/2 */ - z3 = tmp12 + z2; - tmp10 = z3 + z1; - tmp11 = z3 - z1; - tmp12 -= z2 << 2; - - /* Odd part */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z3 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c3 */ - tmp0 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c1-c3 */ - tmp1 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c1+c3 */ - - /* Final output stage */ - - wsptr[5*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[5*4] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[5*1] = (int) RIGHT_SHIFT(tmp11 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[5*3] = (int) RIGHT_SHIFT(tmp11 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[5*2] = (int) RIGHT_SHIFT(tmp12, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 5 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 5; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp12 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp12 <<= CONST_BITS; - tmp0 = (INT32) wsptr[2]; - tmp1 = (INT32) wsptr[4]; - z1 = MULTIPLY(tmp0 + tmp1, FIX(0.790569415)); /* (c2+c4)/2 */ - z2 = MULTIPLY(tmp0 - tmp1, FIX(0.353553391)); /* (c2-c4)/2 */ - z3 = tmp12 + z2; - tmp10 = z3 + z1; - tmp11 = z3 - z1; - tmp12 -= z2 << 2; - - /* Odd part */ - - z2 = (INT32) wsptr[1]; - z3 = (INT32) wsptr[3]; - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c3 */ - tmp0 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c1-c3 */ - tmp1 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c1+c3 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 5; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 4x4 output block. - * - * Optimized algorithm with 3 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. - */ - -GLOBAL(void) -jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp2, tmp10, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[4*4]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 4; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - - tmp10 = (tmp0 + tmp2) << PASS1_BITS; - tmp12 = (tmp0 - tmp2) << PASS1_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z3 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp0 = RIGHT_SHIFT(z1 + MULTIPLY(z2, FIX_0_765366865), /* c2-c6 */ - CONST_BITS-PASS1_BITS); - tmp2 = RIGHT_SHIFT(z1 - MULTIPLY(z3, FIX_1_847759065), /* c2+c6 */ - CONST_BITS-PASS1_BITS); - - /* Final output stage */ - - wsptr[4*0] = (int) (tmp10 + tmp0); - wsptr[4*3] = (int) (tmp10 - tmp0); - wsptr[4*1] = (int) (tmp12 + tmp2); - wsptr[4*2] = (int) (tmp12 - tmp2); - } - - /* Pass 2: process 4 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 4; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp2 = (INT32) wsptr[2]; - - tmp10 = (tmp0 + tmp2) << CONST_BITS; - tmp12 = (tmp0 - tmp2) << CONST_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = (INT32) wsptr[1]; - z3 = (INT32) wsptr[3]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - tmp0 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ - tmp2 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 4; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 3x3 output block. - * - * Optimized algorithm with 2 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/6). - */ - -GLOBAL(void) -jpeg_idct_3x3 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp2, tmp10, tmp12; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[3*3]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 3; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp12 = MULTIPLY(tmp2, FIX(0.707106781)); /* c2 */ - tmp10 = tmp0 + tmp12; - tmp2 = tmp0 - tmp12 - tmp12; - - /* Odd part */ - - tmp12 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - tmp0 = MULTIPLY(tmp12, FIX(1.224744871)); /* c1 */ - - /* Final output stage */ - - wsptr[3*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[3*2] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[3*1] = (int) RIGHT_SHIFT(tmp2, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 3 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 3; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - tmp2 = (INT32) wsptr[2]; - tmp12 = MULTIPLY(tmp2, FIX(0.707106781)); /* c2 */ - tmp10 = tmp0 + tmp12; - tmp2 = tmp0 - tmp12 - tmp12; - - /* Odd part */ - - tmp12 = (INT32) wsptr[1]; - tmp0 = MULTIPLY(tmp12, FIX(1.224744871)); /* c1 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 3; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 2x2 output block. - * - * Multiplication-less algorithm. - */ - -GLOBAL(void) -jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - ISLOW_MULT_TYPE * quantptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - SHIFT_TEMPS - - /* Pass 1: process columns from input. */ - - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - - /* Column 0 */ - tmp4 = DEQUANTIZE(coef_block[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp5 = DEQUANTIZE(coef_block[DCTSIZE*1], quantptr[DCTSIZE*1]); - /* Add fudge factor here for final descale. */ - tmp4 += ONE << 2; - - tmp0 = tmp4 + tmp5; - tmp2 = tmp4 - tmp5; - - /* Column 1 */ - tmp4 = DEQUANTIZE(coef_block[DCTSIZE*0+1], quantptr[DCTSIZE*0+1]); - tmp5 = DEQUANTIZE(coef_block[DCTSIZE*1+1], quantptr[DCTSIZE*1+1]); - - tmp1 = tmp4 + tmp5; - tmp3 = tmp4 - tmp5; - - /* Pass 2: process 2 rows, store into output array. */ - - /* Row 0 */ - outptr = output_buf[0] + output_col; - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp0 + tmp1, 3) & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp0 - tmp1, 3) & RANGE_MASK]; - - /* Row 1 */ - outptr = output_buf[1] + output_col; - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp2 + tmp3, 3) & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp2 - tmp3, 3) & RANGE_MASK]; -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 1x1 output block. - * - * We hardly need an inverse DCT routine for this: just take the - * average pixel value, which is one-eighth of the DC coefficient. - */ - -GLOBAL(void) -jpeg_idct_1x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - int dcval; - ISLOW_MULT_TYPE * quantptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - SHIFT_TEMPS - - /* 1x1 is trivial: just take the DC coefficient divided by 8. */ - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - dcval = DEQUANTIZE(coef_block[0], quantptr[0]); - dcval = (int) DESCALE((INT32) dcval, 3); - - output_buf[0][output_col] = range_limit[dcval & RANGE_MASK]; -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 9x9 output block. - * - * Optimized algorithm with 10 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/18). - */ - -GLOBAL(void) -jpeg_idct_9x9 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*9]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp3 = MULTIPLY(z3, FIX(0.707106781)); /* c6 */ - tmp1 = tmp0 + tmp3; - tmp2 = tmp0 - tmp3 - tmp3; - - tmp0 = MULTIPLY(z1 - z2, FIX(0.707106781)); /* c6 */ - tmp11 = tmp2 + tmp0; - tmp14 = tmp2 - tmp0 - tmp0; - - tmp0 = MULTIPLY(z1 + z2, FIX(1.328926049)); /* c2 */ - tmp2 = MULTIPLY(z1, FIX(1.083350441)); /* c4 */ - tmp3 = MULTIPLY(z2, FIX(0.245575608)); /* c8 */ - - tmp10 = tmp1 + tmp0 - tmp3; - tmp12 = tmp1 - tmp0 + tmp2; - tmp13 = tmp1 - tmp2 + tmp3; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - z2 = MULTIPLY(z2, - FIX(1.224744871)); /* -c3 */ - - tmp2 = MULTIPLY(z1 + z3, FIX(0.909038955)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(0.483689525)); /* c7 */ - tmp0 = tmp2 + tmp3 - z2; - tmp1 = MULTIPLY(z3 - z4, FIX(1.392728481)); /* c1 */ - tmp2 += z2 - tmp1; - tmp3 += z2 + tmp1; - tmp1 = MULTIPLY(z1 - z3 - z4, FIX(1.224744871)); /* c3 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp11 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp11 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp12 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp12 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp13 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp13 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp14, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 9 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 9; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[4]; - z3 = (INT32) wsptr[6]; - - tmp3 = MULTIPLY(z3, FIX(0.707106781)); /* c6 */ - tmp1 = tmp0 + tmp3; - tmp2 = tmp0 - tmp3 - tmp3; - - tmp0 = MULTIPLY(z1 - z2, FIX(0.707106781)); /* c6 */ - tmp11 = tmp2 + tmp0; - tmp14 = tmp2 - tmp0 - tmp0; - - tmp0 = MULTIPLY(z1 + z2, FIX(1.328926049)); /* c2 */ - tmp2 = MULTIPLY(z1, FIX(1.083350441)); /* c4 */ - tmp3 = MULTIPLY(z2, FIX(0.245575608)); /* c8 */ - - tmp10 = tmp1 + tmp0 - tmp3; - tmp12 = tmp1 - tmp0 + tmp2; - tmp13 = tmp1 - tmp2 + tmp3; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - z2 = MULTIPLY(z2, - FIX(1.224744871)); /* -c3 */ - - tmp2 = MULTIPLY(z1 + z3, FIX(0.909038955)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(0.483689525)); /* c7 */ - tmp0 = tmp2 + tmp3 - z2; - tmp1 = MULTIPLY(z3 - z4, FIX(1.392728481)); /* c1 */ - tmp2 += z2 - tmp1; - tmp3 += z2 + tmp1; - tmp1 = MULTIPLY(z1 - z3 - z4, FIX(1.224744871)); /* c3 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp13 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 10x10 output block. - * - * Optimized algorithm with 12 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/20). - */ - -GLOBAL(void) -jpeg_idct_10x10 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24; - INT32 z1, z2, z3, z4, z5; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*10]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z3 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z3 += ONE << (CONST_BITS-PASS1_BITS-1); - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z1 = MULTIPLY(z4, FIX(1.144122806)); /* c4 */ - z2 = MULTIPLY(z4, FIX(0.437016024)); /* c8 */ - tmp10 = z3 + z1; - tmp11 = z3 - z2; - - tmp22 = RIGHT_SHIFT(z3 - ((z1 - z2) << 1), /* c0 = (c4-c8)*2 */ - CONST_BITS-PASS1_BITS); - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c6 */ - tmp12 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c2-c6 */ - tmp13 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c2+c6 */ - - tmp20 = tmp10 + tmp12; - tmp24 = tmp10 - tmp12; - tmp21 = tmp11 + tmp13; - tmp23 = tmp11 - tmp13; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = z2 + z4; - tmp13 = z2 - z4; - - tmp12 = MULTIPLY(tmp13, FIX(0.309016994)); /* (c3-c7)/2 */ - z5 = z3 << CONST_BITS; - - z2 = MULTIPLY(tmp11, FIX(0.951056516)); /* (c3+c7)/2 */ - z4 = z5 + tmp12; - - tmp10 = MULTIPLY(z1, FIX(1.396802247)) + z2 + z4; /* c1 */ - tmp14 = MULTIPLY(z1, FIX(0.221231742)) - z2 + z4; /* c9 */ - - z2 = MULTIPLY(tmp11, FIX(0.587785252)); /* (c1-c9)/2 */ - z4 = z5 - tmp12 - (tmp13 << (CONST_BITS - 1)); - - tmp12 = (z1 - tmp13 - z3) << PASS1_BITS; - - tmp11 = MULTIPLY(z1, FIX(1.260073511)) - z2 - z4; /* c3 */ - tmp13 = MULTIPLY(z1, FIX(0.642039522)) - z2 + z4; /* c7 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) (tmp22 + tmp12); - wsptr[8*7] = (int) (tmp22 - tmp12); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 10 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 10; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z3 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 <<= CONST_BITS; - z4 = (INT32) wsptr[4]; - z1 = MULTIPLY(z4, FIX(1.144122806)); /* c4 */ - z2 = MULTIPLY(z4, FIX(0.437016024)); /* c8 */ - tmp10 = z3 + z1; - tmp11 = z3 - z2; - - tmp22 = z3 - ((z1 - z2) << 1); /* c0 = (c4-c8)*2 */ - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[6]; - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c6 */ - tmp12 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c2-c6 */ - tmp13 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c2+c6 */ - - tmp20 = tmp10 + tmp12; - tmp24 = tmp10 - tmp12; - tmp21 = tmp11 + tmp13; - tmp23 = tmp11 - tmp13; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z3 <<= CONST_BITS; - z4 = (INT32) wsptr[7]; - - tmp11 = z2 + z4; - tmp13 = z2 - z4; - - tmp12 = MULTIPLY(tmp13, FIX(0.309016994)); /* (c3-c7)/2 */ - - z2 = MULTIPLY(tmp11, FIX(0.951056516)); /* (c3+c7)/2 */ - z4 = z3 + tmp12; - - tmp10 = MULTIPLY(z1, FIX(1.396802247)) + z2 + z4; /* c1 */ - tmp14 = MULTIPLY(z1, FIX(0.221231742)) - z2 + z4; /* c9 */ - - z2 = MULTIPLY(tmp11, FIX(0.587785252)); /* (c1-c9)/2 */ - z4 = z3 - tmp12 - (tmp13 << (CONST_BITS - 1)); - - tmp12 = ((z1 - tmp13) << CONST_BITS) - z3; - - tmp11 = MULTIPLY(z1, FIX(1.260073511)) - z2 - z4; /* c3 */ - tmp13 = MULTIPLY(z1, FIX(0.642039522)) - z2 + z4; /* c7 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 11x11 output block. - * - * Optimized algorithm with 24 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/22). - */ - -GLOBAL(void) -jpeg_idct_11x11 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*11]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp10 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp10 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp10 += ONE << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp20 = MULTIPLY(z2 - z3, FIX(2.546640132)); /* c2+c4 */ - tmp23 = MULTIPLY(z2 - z1, FIX(0.430815045)); /* c2-c6 */ - z4 = z1 + z3; - tmp24 = MULTIPLY(z4, - FIX(1.155664402)); /* -(c2-c10) */ - z4 -= z2; - tmp25 = tmp10 + MULTIPLY(z4, FIX(1.356927976)); /* c2 */ - tmp21 = tmp20 + tmp23 + tmp25 - - MULTIPLY(z2, FIX(1.821790775)); /* c2+c4+c10-c6 */ - tmp20 += tmp25 + MULTIPLY(z3, FIX(2.115825087)); /* c4+c6 */ - tmp23 += tmp25 - MULTIPLY(z1, FIX(1.513598477)); /* c6+c8 */ - tmp24 += tmp25; - tmp22 = tmp24 - MULTIPLY(z3, FIX(0.788749120)); /* c8+c10 */ - tmp24 += MULTIPLY(z2, FIX(1.944413522)) - /* c2+c8 */ - MULTIPLY(z1, FIX(1.390975730)); /* c4+c10 */ - tmp25 = tmp10 - MULTIPLY(z4, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = z1 + z2; - tmp14 = MULTIPLY(tmp11 + z3 + z4, FIX(0.398430003)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.887983902)); /* c3-c9 */ - tmp12 = MULTIPLY(z1 + z3, FIX(0.670361295)); /* c5-c9 */ - tmp13 = tmp14 + MULTIPLY(z1 + z4, FIX(0.366151574)); /* c7-c9 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(z1, FIX(0.923107866)); /* c7+c5+c3-c1-2*c9 */ - z1 = tmp14 - MULTIPLY(z2 + z3, FIX(1.163011579)); /* c7+c9 */ - tmp11 += z1 + MULTIPLY(z2, FIX(2.073276588)); /* c1+c7+3*c9-c3 */ - tmp12 += z1 - MULTIPLY(z3, FIX(1.192193623)); /* c3+c5-c7-c9 */ - z1 = MULTIPLY(z2 + z4, - FIX(1.798248910)); /* -(c1+c9) */ - tmp11 += z1; - tmp13 += z1 + MULTIPLY(z4, FIX(2.102458632)); /* c1+c5+c9-c7 */ - tmp14 += MULTIPLY(z2, - FIX(1.467221301)) + /* -(c5+c9) */ - MULTIPLY(z3, FIX(1.001388905)) - /* c1-c9 */ - MULTIPLY(z4, FIX(1.684843907)); /* c3+c9 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 11 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 11; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp10 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp10 <<= CONST_BITS; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[4]; - z3 = (INT32) wsptr[6]; - - tmp20 = MULTIPLY(z2 - z3, FIX(2.546640132)); /* c2+c4 */ - tmp23 = MULTIPLY(z2 - z1, FIX(0.430815045)); /* c2-c6 */ - z4 = z1 + z3; - tmp24 = MULTIPLY(z4, - FIX(1.155664402)); /* -(c2-c10) */ - z4 -= z2; - tmp25 = tmp10 + MULTIPLY(z4, FIX(1.356927976)); /* c2 */ - tmp21 = tmp20 + tmp23 + tmp25 - - MULTIPLY(z2, FIX(1.821790775)); /* c2+c4+c10-c6 */ - tmp20 += tmp25 + MULTIPLY(z3, FIX(2.115825087)); /* c4+c6 */ - tmp23 += tmp25 - MULTIPLY(z1, FIX(1.513598477)); /* c6+c8 */ - tmp24 += tmp25; - tmp22 = tmp24 - MULTIPLY(z3, FIX(0.788749120)); /* c8+c10 */ - tmp24 += MULTIPLY(z2, FIX(1.944413522)) - /* c2+c8 */ - MULTIPLY(z1, FIX(1.390975730)); /* c4+c10 */ - tmp25 = tmp10 - MULTIPLY(z4, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = z1 + z2; - tmp14 = MULTIPLY(tmp11 + z3 + z4, FIX(0.398430003)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.887983902)); /* c3-c9 */ - tmp12 = MULTIPLY(z1 + z3, FIX(0.670361295)); /* c5-c9 */ - tmp13 = tmp14 + MULTIPLY(z1 + z4, FIX(0.366151574)); /* c7-c9 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(z1, FIX(0.923107866)); /* c7+c5+c3-c1-2*c9 */ - z1 = tmp14 - MULTIPLY(z2 + z3, FIX(1.163011579)); /* c7+c9 */ - tmp11 += z1 + MULTIPLY(z2, FIX(2.073276588)); /* c1+c7+3*c9-c3 */ - tmp12 += z1 - MULTIPLY(z3, FIX(1.192193623)); /* c3+c5-c7-c9 */ - z1 = MULTIPLY(z2 + z4, - FIX(1.798248910)); /* -(c1+c9) */ - tmp11 += z1; - tmp13 += z1 + MULTIPLY(z4, FIX(2.102458632)); /* c1+c5+c9-c7 */ - tmp14 += MULTIPLY(z2, - FIX(1.467221301)) + /* -(c5+c9) */ - MULTIPLY(z3, FIX(1.001388905)) - /* c1-c9 */ - MULTIPLY(z4, FIX(1.684843907)); /* c3+c9 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 12x12 output block. - * - * Optimized algorithm with 15 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/24). - */ - -GLOBAL(void) -jpeg_idct_12x12 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*12]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z3 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z3 += ONE << (CONST_BITS-PASS1_BITS-1); - - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z4 = MULTIPLY(z4, FIX(1.224744871)); /* c4 */ - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z4 = MULTIPLY(z1, FIX(1.366025404)); /* c2 */ - z1 <<= CONST_BITS; - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - z2 <<= CONST_BITS; - - tmp12 = z1 - z2; - - tmp21 = z3 + tmp12; - tmp24 = z3 - tmp12; - - tmp12 = z4 + z2; - - tmp20 = tmp10 + tmp12; - tmp25 = tmp10 - tmp12; - - tmp12 = z4 - z1 - z2; - - tmp22 = tmp11 + tmp12; - tmp23 = tmp11 - tmp12; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = MULTIPLY(z2, FIX(1.306562965)); /* c3 */ - tmp14 = MULTIPLY(z2, - FIX_0_541196100); /* -c9 */ - - tmp10 = z1 + z3; - tmp15 = MULTIPLY(tmp10 + z4, FIX(0.860918669)); /* c7 */ - tmp12 = tmp15 + MULTIPLY(tmp10, FIX(0.261052384)); /* c5-c7 */ - tmp10 = tmp12 + tmp11 + MULTIPLY(z1, FIX(0.280143716)); /* c1-c5 */ - tmp13 = MULTIPLY(z3 + z4, - FIX(1.045510580)); /* -(c7+c11) */ - tmp12 += tmp13 + tmp14 - MULTIPLY(z3, FIX(1.478575242)); /* c1+c5-c7-c11 */ - tmp13 += tmp15 - tmp11 + MULTIPLY(z4, FIX(1.586706681)); /* c1+c11 */ - tmp15 += tmp14 - MULTIPLY(z1, FIX(0.676326758)) - /* c7-c11 */ - MULTIPLY(z4, FIX(1.982889723)); /* c5+c7 */ - - z1 -= z4; - z2 -= z3; - z3 = MULTIPLY(z1 + z2, FIX_0_541196100); /* c9 */ - tmp11 = z3 + MULTIPLY(z1, FIX_0_765366865); /* c3-c9 */ - tmp14 = z3 - MULTIPLY(z2, FIX_1_847759065); /* c3+c9 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 12 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 12; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z3 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 <<= CONST_BITS; - - z4 = (INT32) wsptr[4]; - z4 = MULTIPLY(z4, FIX(1.224744871)); /* c4 */ - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - z1 = (INT32) wsptr[2]; - z4 = MULTIPLY(z1, FIX(1.366025404)); /* c2 */ - z1 <<= CONST_BITS; - z2 = (INT32) wsptr[6]; - z2 <<= CONST_BITS; - - tmp12 = z1 - z2; - - tmp21 = z3 + tmp12; - tmp24 = z3 - tmp12; - - tmp12 = z4 + z2; - - tmp20 = tmp10 + tmp12; - tmp25 = tmp10 - tmp12; - - tmp12 = z4 - z1 - z2; - - tmp22 = tmp11 + tmp12; - tmp23 = tmp11 - tmp12; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = MULTIPLY(z2, FIX(1.306562965)); /* c3 */ - tmp14 = MULTIPLY(z2, - FIX_0_541196100); /* -c9 */ - - tmp10 = z1 + z3; - tmp15 = MULTIPLY(tmp10 + z4, FIX(0.860918669)); /* c7 */ - tmp12 = tmp15 + MULTIPLY(tmp10, FIX(0.261052384)); /* c5-c7 */ - tmp10 = tmp12 + tmp11 + MULTIPLY(z1, FIX(0.280143716)); /* c1-c5 */ - tmp13 = MULTIPLY(z3 + z4, - FIX(1.045510580)); /* -(c7+c11) */ - tmp12 += tmp13 + tmp14 - MULTIPLY(z3, FIX(1.478575242)); /* c1+c5-c7-c11 */ - tmp13 += tmp15 - tmp11 + MULTIPLY(z4, FIX(1.586706681)); /* c1+c11 */ - tmp15 += tmp14 - MULTIPLY(z1, FIX(0.676326758)) - /* c7-c11 */ - MULTIPLY(z4, FIX(1.982889723)); /* c5+c7 */ - - z1 -= z4; - z2 -= z3; - z3 = MULTIPLY(z1 + z2, FIX_0_541196100); /* c9 */ - tmp11 = z3 + MULTIPLY(z1, FIX_0_765366865); /* c3-c9 */ - tmp14 = z3 - MULTIPLY(z2, FIX_1_847759065); /* c3+c9 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 13x13 output block. - * - * Optimized algorithm with 29 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/26). - */ - -GLOBAL(void) -jpeg_idct_13x13 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*13]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z1 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z4 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - tmp12 = MULTIPLY(tmp10, FIX(1.155388986)); /* (c4+c6)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.096834934)) + z1; /* (c4-c6)/2 */ - - tmp20 = MULTIPLY(z2, FIX(1.373119086)) + tmp12 + tmp13; /* c2 */ - tmp22 = MULTIPLY(z2, FIX(0.501487041)) - tmp12 + tmp13; /* c10 */ - - tmp12 = MULTIPLY(tmp10, FIX(0.316450131)); /* (c8-c12)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.486914739)) + z1; /* (c8+c12)/2 */ - - tmp21 = MULTIPLY(z2, FIX(1.058554052)) - tmp12 + tmp13; /* c6 */ - tmp25 = MULTIPLY(z2, - FIX(1.252223920)) + tmp12 + tmp13; /* c4 */ - - tmp12 = MULTIPLY(tmp10, FIX(0.435816023)); /* (c2-c10)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.937303064)) - z1; /* (c2+c10)/2 */ - - tmp23 = MULTIPLY(z2, - FIX(0.170464608)) - tmp12 - tmp13; /* c12 */ - tmp24 = MULTIPLY(z2, - FIX(0.803364869)) + tmp12 - tmp13; /* c8 */ - - tmp26 = MULTIPLY(tmp11 - z2, FIX(1.414213562)) + z1; /* c0 */ - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = MULTIPLY(z1 + z2, FIX(1.322312651)); /* c3 */ - tmp12 = MULTIPLY(z1 + z3, FIX(1.163874945)); /* c5 */ - tmp15 = z1 + z4; - tmp13 = MULTIPLY(tmp15, FIX(0.937797057)); /* c7 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(z1, FIX(2.020082300)); /* c7+c5+c3-c1 */ - tmp14 = MULTIPLY(z2 + z3, - FIX(0.338443458)); /* -c11 */ - tmp11 += tmp14 + MULTIPLY(z2, FIX(0.837223564)); /* c5+c9+c11-c3 */ - tmp12 += tmp14 - MULTIPLY(z3, FIX(1.572116027)); /* c1+c5-c9-c11 */ - tmp14 = MULTIPLY(z2 + z4, - FIX(1.163874945)); /* -c5 */ - tmp11 += tmp14; - tmp13 += tmp14 + MULTIPLY(z4, FIX(2.205608352)); /* c3+c5+c9-c7 */ - tmp14 = MULTIPLY(z3 + z4, - FIX(0.657217813)); /* -c9 */ - tmp12 += tmp14; - tmp13 += tmp14; - tmp15 = MULTIPLY(tmp15, FIX(0.338443458)); /* c11 */ - tmp14 = tmp15 + MULTIPLY(z1, FIX(0.318774355)) - /* c9-c11 */ - MULTIPLY(z2, FIX(0.466105296)); /* c1-c7 */ - z1 = MULTIPLY(z3 - z2, FIX(0.937797057)); /* c7 */ - tmp14 += z1; - tmp15 += z1 + MULTIPLY(z3, FIX(0.384515595)) - /* c3-c7 */ - MULTIPLY(z4, FIX(1.742345811)); /* c1+c11 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*12] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp26, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 13 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 13; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z1 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z1 <<= CONST_BITS; - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[4]; - z4 = (INT32) wsptr[6]; - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - tmp12 = MULTIPLY(tmp10, FIX(1.155388986)); /* (c4+c6)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.096834934)) + z1; /* (c4-c6)/2 */ - - tmp20 = MULTIPLY(z2, FIX(1.373119086)) + tmp12 + tmp13; /* c2 */ - tmp22 = MULTIPLY(z2, FIX(0.501487041)) - tmp12 + tmp13; /* c10 */ - - tmp12 = MULTIPLY(tmp10, FIX(0.316450131)); /* (c8-c12)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.486914739)) + z1; /* (c8+c12)/2 */ - - tmp21 = MULTIPLY(z2, FIX(1.058554052)) - tmp12 + tmp13; /* c6 */ - tmp25 = MULTIPLY(z2, - FIX(1.252223920)) + tmp12 + tmp13; /* c4 */ - - tmp12 = MULTIPLY(tmp10, FIX(0.435816023)); /* (c2-c10)/2 */ - tmp13 = MULTIPLY(tmp11, FIX(0.937303064)) - z1; /* (c2+c10)/2 */ - - tmp23 = MULTIPLY(z2, - FIX(0.170464608)) - tmp12 - tmp13; /* c12 */ - tmp24 = MULTIPLY(z2, - FIX(0.803364869)) + tmp12 - tmp13; /* c8 */ - - tmp26 = MULTIPLY(tmp11 - z2, FIX(1.414213562)) + z1; /* c0 */ - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = MULTIPLY(z1 + z2, FIX(1.322312651)); /* c3 */ - tmp12 = MULTIPLY(z1 + z3, FIX(1.163874945)); /* c5 */ - tmp15 = z1 + z4; - tmp13 = MULTIPLY(tmp15, FIX(0.937797057)); /* c7 */ - tmp10 = tmp11 + tmp12 + tmp13 - - MULTIPLY(z1, FIX(2.020082300)); /* c7+c5+c3-c1 */ - tmp14 = MULTIPLY(z2 + z3, - FIX(0.338443458)); /* -c11 */ - tmp11 += tmp14 + MULTIPLY(z2, FIX(0.837223564)); /* c5+c9+c11-c3 */ - tmp12 += tmp14 - MULTIPLY(z3, FIX(1.572116027)); /* c1+c5-c9-c11 */ - tmp14 = MULTIPLY(z2 + z4, - FIX(1.163874945)); /* -c5 */ - tmp11 += tmp14; - tmp13 += tmp14 + MULTIPLY(z4, FIX(2.205608352)); /* c3+c5+c9-c7 */ - tmp14 = MULTIPLY(z3 + z4, - FIX(0.657217813)); /* -c9 */ - tmp12 += tmp14; - tmp13 += tmp14; - tmp15 = MULTIPLY(tmp15, FIX(0.338443458)); /* c11 */ - tmp14 = tmp15 + MULTIPLY(z1, FIX(0.318774355)) - /* c9-c11 */ - MULTIPLY(z2, FIX(0.466105296)); /* c1-c7 */ - z1 = MULTIPLY(z3 - z2, FIX(0.937797057)); /* c7 */ - tmp14 += z1; - tmp15 += z1 + MULTIPLY(z3, FIX(0.384515595)) - /* c3-c7 */ - MULTIPLY(z4, FIX(1.742345811)); /* c1+c11 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 14x14 output block. - * - * Optimized algorithm with 20 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/28). - */ - -GLOBAL(void) -jpeg_idct_14x14 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*14]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z1 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z2 = MULTIPLY(z4, FIX(1.274162392)); /* c4 */ - z3 = MULTIPLY(z4, FIX(0.314692123)); /* c12 */ - z4 = MULTIPLY(z4, FIX(0.881747734)); /* c8 */ - - tmp10 = z1 + z2; - tmp11 = z1 + z3; - tmp12 = z1 - z4; - - tmp23 = RIGHT_SHIFT(z1 - ((z2 + z3 - z4) << 1), /* c0 = (c4+c12-c8)*2 */ - CONST_BITS-PASS1_BITS); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z3 = MULTIPLY(z1 + z2, FIX(1.105676686)); /* c6 */ - - tmp13 = z3 + MULTIPLY(z1, FIX(0.273079590)); /* c2-c6 */ - tmp14 = z3 - MULTIPLY(z2, FIX(1.719280954)); /* c6+c10 */ - tmp15 = MULTIPLY(z1, FIX(0.613604268)) - /* c10 */ - MULTIPLY(z2, FIX(1.378756276)); /* c2 */ - - tmp20 = tmp10 + tmp13; - tmp26 = tmp10 - tmp13; - tmp21 = tmp11 + tmp14; - tmp25 = tmp11 - tmp14; - tmp22 = tmp12 + tmp15; - tmp24 = tmp12 - tmp15; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - tmp13 = z4 << CONST_BITS; - - tmp14 = z1 + z3; - tmp11 = MULTIPLY(z1 + z2, FIX(1.334852607)); /* c3 */ - tmp12 = MULTIPLY(tmp14, FIX(1.197448846)); /* c5 */ - tmp10 = tmp11 + tmp12 + tmp13 - MULTIPLY(z1, FIX(1.126980169)); /* c3+c5-c1 */ - tmp14 = MULTIPLY(tmp14, FIX(0.752406978)); /* c9 */ - tmp16 = tmp14 - MULTIPLY(z1, FIX(1.061150426)); /* c9+c11-c13 */ - z1 -= z2; - tmp15 = MULTIPLY(z1, FIX(0.467085129)) - tmp13; /* c11 */ - tmp16 += tmp15; - z1 += z4; - z4 = MULTIPLY(z2 + z3, - FIX(0.158341681)) - tmp13; /* -c13 */ - tmp11 += z4 - MULTIPLY(z2, FIX(0.424103948)); /* c3-c9-c13 */ - tmp12 += z4 - MULTIPLY(z3, FIX(2.373959773)); /* c3+c5-c13 */ - z4 = MULTIPLY(z3 - z2, FIX(1.405321284)); /* c1 */ - tmp14 += z4 + tmp13 - MULTIPLY(z3, FIX(1.6906431334)); /* c1+c9-c11 */ - tmp15 += z4 + MULTIPLY(z2, FIX(0.674957567)); /* c1+c11-c5 */ - - tmp13 = (z1 - z3) << PASS1_BITS; - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*13] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*12] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) (tmp23 + tmp13); - wsptr[8*10] = (int) (tmp23 - tmp13); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp26 + tmp16, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp26 - tmp16, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 14 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 14; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z1 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z1 <<= CONST_BITS; - z4 = (INT32) wsptr[4]; - z2 = MULTIPLY(z4, FIX(1.274162392)); /* c4 */ - z3 = MULTIPLY(z4, FIX(0.314692123)); /* c12 */ - z4 = MULTIPLY(z4, FIX(0.881747734)); /* c8 */ - - tmp10 = z1 + z2; - tmp11 = z1 + z3; - tmp12 = z1 - z4; - - tmp23 = z1 - ((z2 + z3 - z4) << 1); /* c0 = (c4+c12-c8)*2 */ - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[6]; - - z3 = MULTIPLY(z1 + z2, FIX(1.105676686)); /* c6 */ - - tmp13 = z3 + MULTIPLY(z1, FIX(0.273079590)); /* c2-c6 */ - tmp14 = z3 - MULTIPLY(z2, FIX(1.719280954)); /* c6+c10 */ - tmp15 = MULTIPLY(z1, FIX(0.613604268)) - /* c10 */ - MULTIPLY(z2, FIX(1.378756276)); /* c2 */ - - tmp20 = tmp10 + tmp13; - tmp26 = tmp10 - tmp13; - tmp21 = tmp11 + tmp14; - tmp25 = tmp11 - tmp14; - tmp22 = tmp12 + tmp15; - tmp24 = tmp12 - tmp15; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - z4 <<= CONST_BITS; - - tmp14 = z1 + z3; - tmp11 = MULTIPLY(z1 + z2, FIX(1.334852607)); /* c3 */ - tmp12 = MULTIPLY(tmp14, FIX(1.197448846)); /* c5 */ - tmp10 = tmp11 + tmp12 + z4 - MULTIPLY(z1, FIX(1.126980169)); /* c3+c5-c1 */ - tmp14 = MULTIPLY(tmp14, FIX(0.752406978)); /* c9 */ - tmp16 = tmp14 - MULTIPLY(z1, FIX(1.061150426)); /* c9+c11-c13 */ - z1 -= z2; - tmp15 = MULTIPLY(z1, FIX(0.467085129)) - z4; /* c11 */ - tmp16 += tmp15; - tmp13 = MULTIPLY(z2 + z3, - FIX(0.158341681)) - z4; /* -c13 */ - tmp11 += tmp13 - MULTIPLY(z2, FIX(0.424103948)); /* c3-c9-c13 */ - tmp12 += tmp13 - MULTIPLY(z3, FIX(2.373959773)); /* c3+c5-c13 */ - tmp13 = MULTIPLY(z3 - z2, FIX(1.405321284)); /* c1 */ - tmp14 += tmp13 + z4 - MULTIPLY(z3, FIX(1.6906431334)); /* c1+c9-c11 */ - tmp15 += tmp13 + MULTIPLY(z2, FIX(0.674957567)); /* c1+c11-c5 */ - - tmp13 = ((z1 - z3) << CONST_BITS) + z4; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[13] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26 + tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp26 - tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 15x15 output block. - * - * Optimized algorithm with 22 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/30). - */ - -GLOBAL(void) -jpeg_idct_15x15 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*15]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z1 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z4 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp10 = MULTIPLY(z4, FIX(0.437016024)); /* c12 */ - tmp11 = MULTIPLY(z4, FIX(1.144122806)); /* c6 */ - - tmp12 = z1 - tmp10; - tmp13 = z1 + tmp11; - z1 -= (tmp11 - tmp10) << 1; /* c0 = (c6-c12)*2 */ - - z4 = z2 - z3; - z3 += z2; - tmp10 = MULTIPLY(z3, FIX(1.337628990)); /* (c2+c4)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.045680613)); /* (c2-c4)/2 */ - z2 = MULTIPLY(z2, FIX(1.439773946)); /* c4+c14 */ - - tmp20 = tmp13 + tmp10 + tmp11; - tmp23 = tmp12 - tmp10 + tmp11 + z2; - - tmp10 = MULTIPLY(z3, FIX(0.547059574)); /* (c8+c14)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.399234004)); /* (c8-c14)/2 */ - - tmp25 = tmp13 - tmp10 - tmp11; - tmp26 = tmp12 + tmp10 - tmp11 - z2; - - tmp10 = MULTIPLY(z3, FIX(0.790569415)); /* (c6+c12)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.353553391)); /* (c6-c12)/2 */ - - tmp21 = tmp12 + tmp10 + tmp11; - tmp24 = tmp13 - tmp10 + tmp11; - tmp11 += tmp11; - tmp22 = z1 + tmp11; /* c10 = c6-c12 */ - tmp27 = z1 - tmp11 - tmp11; /* c0 = (c6-c12)*2 */ - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z4 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z3 = MULTIPLY(z4, FIX(1.224744871)); /* c5 */ - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp13 = z2 - z4; - tmp15 = MULTIPLY(z1 + tmp13, FIX(0.831253876)); /* c9 */ - tmp11 = tmp15 + MULTIPLY(z1, FIX(0.513743148)); /* c3-c9 */ - tmp14 = tmp15 - MULTIPLY(tmp13, FIX(2.176250899)); /* c3+c9 */ - - tmp13 = MULTIPLY(z2, - FIX(0.831253876)); /* -c9 */ - tmp15 = MULTIPLY(z2, - FIX(1.344997024)); /* -c3 */ - z2 = z1 - z4; - tmp12 = z3 + MULTIPLY(z2, FIX(1.406466353)); /* c1 */ - - tmp10 = tmp12 + MULTIPLY(z4, FIX(2.457431844)) - tmp15; /* c1+c7 */ - tmp16 = tmp12 - MULTIPLY(z1, FIX(1.112434820)) + tmp13; /* c1-c13 */ - tmp12 = MULTIPLY(z2, FIX(1.224744871)) - z3; /* c5 */ - z2 = MULTIPLY(z1 + z4, FIX(0.575212477)); /* c11 */ - tmp13 += z2 + MULTIPLY(z1, FIX(0.475753014)) - z3; /* c7-c11 */ - tmp15 += z2 - MULTIPLY(z4, FIX(0.869244010)) + z3; /* c11+c13 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*14] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*13] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*12] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp26 + tmp16, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp26 - tmp16, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp27, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 15 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 15; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z1 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z1 <<= CONST_BITS; - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[4]; - z4 = (INT32) wsptr[6]; - - tmp10 = MULTIPLY(z4, FIX(0.437016024)); /* c12 */ - tmp11 = MULTIPLY(z4, FIX(1.144122806)); /* c6 */ - - tmp12 = z1 - tmp10; - tmp13 = z1 + tmp11; - z1 -= (tmp11 - tmp10) << 1; /* c0 = (c6-c12)*2 */ - - z4 = z2 - z3; - z3 += z2; - tmp10 = MULTIPLY(z3, FIX(1.337628990)); /* (c2+c4)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.045680613)); /* (c2-c4)/2 */ - z2 = MULTIPLY(z2, FIX(1.439773946)); /* c4+c14 */ - - tmp20 = tmp13 + tmp10 + tmp11; - tmp23 = tmp12 - tmp10 + tmp11 + z2; - - tmp10 = MULTIPLY(z3, FIX(0.547059574)); /* (c8+c14)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.399234004)); /* (c8-c14)/2 */ - - tmp25 = tmp13 - tmp10 - tmp11; - tmp26 = tmp12 + tmp10 - tmp11 - z2; - - tmp10 = MULTIPLY(z3, FIX(0.790569415)); /* (c6+c12)/2 */ - tmp11 = MULTIPLY(z4, FIX(0.353553391)); /* (c6-c12)/2 */ - - tmp21 = tmp12 + tmp10 + tmp11; - tmp24 = tmp13 - tmp10 + tmp11; - tmp11 += tmp11; - tmp22 = z1 + tmp11; /* c10 = c6-c12 */ - tmp27 = z1 - tmp11 - tmp11; /* c0 = (c6-c12)*2 */ - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z4 = (INT32) wsptr[5]; - z3 = MULTIPLY(z4, FIX(1.224744871)); /* c5 */ - z4 = (INT32) wsptr[7]; - - tmp13 = z2 - z4; - tmp15 = MULTIPLY(z1 + tmp13, FIX(0.831253876)); /* c9 */ - tmp11 = tmp15 + MULTIPLY(z1, FIX(0.513743148)); /* c3-c9 */ - tmp14 = tmp15 - MULTIPLY(tmp13, FIX(2.176250899)); /* c3+c9 */ - - tmp13 = MULTIPLY(z2, - FIX(0.831253876)); /* -c9 */ - tmp15 = MULTIPLY(z2, - FIX(1.344997024)); /* -c3 */ - z2 = z1 - z4; - tmp12 = z3 + MULTIPLY(z2, FIX(1.406466353)); /* c1 */ - - tmp10 = tmp12 + MULTIPLY(z4, FIX(2.457431844)) - tmp15; /* c1+c7 */ - tmp16 = tmp12 - MULTIPLY(z1, FIX(1.112434820)) + tmp13; /* c1-c13 */ - tmp12 = MULTIPLY(z2, FIX(1.224744871)) - z3; /* c5 */ - z2 = MULTIPLY(z1 + z4, FIX(0.575212477)); /* c11 */ - tmp13 += z2 + MULTIPLY(z1, FIX(0.475753014)) - z3; /* c7-c11 */ - tmp15 += z2 - MULTIPLY(z4, FIX(0.869244010)) + z3; /* c11+c13 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[14] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[13] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26 + tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp26 - tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp27, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 16x16 output block. - * - * Optimized algorithm with 28 multiplications in the 1-D kernel. - * cK represents sqrt(2) * cos(K*pi/32). - */ - -GLOBAL(void) -jpeg_idct_16x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp10, tmp11, tmp12, tmp13; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*16]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += 1 << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */ - tmp2 = MULTIPLY(z1, FIX_0_541196100); /* c12[16] = c6[8] */ - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - tmp12 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - z3 = z1 - z2; - z4 = MULTIPLY(z3, FIX(0.275899379)); /* c14[16] = c7[8] */ - z3 = MULTIPLY(z3, FIX(1.387039845)); /* c2[16] = c1[8] */ - - tmp0 = z3 + MULTIPLY(z2, FIX_2_562915447); /* (c6+c2)[16] = (c3+c1)[8] */ - tmp1 = z4 + MULTIPLY(z1, FIX_0_899976223); /* (c6-c14)[16] = (c3-c7)[8] */ - tmp2 = z3 - MULTIPLY(z1, FIX(0.601344887)); /* (c2-c10)[16] = (c1-c5)[8] */ - tmp3 = z4 - MULTIPLY(z2, FIX(0.509795579)); /* (c10-c14)[16] = (c5-c7)[8] */ - - tmp20 = tmp10 + tmp0; - tmp27 = tmp10 - tmp0; - tmp21 = tmp12 + tmp1; - tmp26 = tmp12 - tmp1; - tmp22 = tmp13 + tmp2; - tmp25 = tmp13 - tmp2; - tmp23 = tmp11 + tmp3; - tmp24 = tmp11 - tmp3; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = z1 + z3; - - tmp1 = MULTIPLY(z1 + z2, FIX(1.353318001)); /* c3 */ - tmp2 = MULTIPLY(tmp11, FIX(1.247225013)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(1.093201867)); /* c7 */ - tmp10 = MULTIPLY(z1 - z4, FIX(0.897167586)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.666655658)); /* c11 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.410524528)); /* c13 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(z1, FIX(2.286341144)); /* c7+c5+c3-c1 */ - tmp13 = tmp10 + tmp11 + tmp12 - - MULTIPLY(z1, FIX(1.835730603)); /* c9+c11+c13-c15 */ - z1 = MULTIPLY(z2 + z3, FIX(0.138617169)); /* c15 */ - tmp1 += z1 + MULTIPLY(z2, FIX(0.071888074)); /* c9+c11-c3-c15 */ - tmp2 += z1 - MULTIPLY(z3, FIX(1.125726048)); /* c5+c7+c15-c3 */ - z1 = MULTIPLY(z3 - z2, FIX(1.407403738)); /* c1 */ - tmp11 += z1 - MULTIPLY(z3, FIX(0.766367282)); /* c1+c11-c9-c13 */ - tmp12 += z1 + MULTIPLY(z2, FIX(1.971951411)); /* c1+c5+c13-c7 */ - z2 += z4; - z1 = MULTIPLY(z2, - FIX(0.666655658)); /* -c11 */ - tmp1 += z1; - tmp3 += z1 + MULTIPLY(z4, FIX(1.065388962)); /* c3+c11+c15-c7 */ - z2 = MULTIPLY(z2, - FIX(1.247225013)); /* -c5 */ - tmp10 += z2 + MULTIPLY(z4, FIX(3.141271809)); /* c1+c5+c9-c13 */ - tmp12 += z2; - z2 = MULTIPLY(z3 + z4, - FIX(1.353318001)); /* -c3 */ - tmp2 += z2; - tmp3 += z2; - z2 = MULTIPLY(z4 - z3, FIX(0.410524528)); /* c13 */ - tmp10 += z2; - tmp11 += z2; - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*15] = (int) RIGHT_SHIFT(tmp20 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*14] = (int) RIGHT_SHIFT(tmp21 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*13] = (int) RIGHT_SHIFT(tmp22 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*12] = (int) RIGHT_SHIFT(tmp23 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp24 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp25 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp26 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp26 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp27 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp27 - tmp13, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 16 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 16; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - - z1 = (INT32) wsptr[4]; - tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */ - tmp2 = MULTIPLY(z1, FIX_0_541196100); /* c12[16] = c6[8] */ - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - tmp12 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[6]; - z3 = z1 - z2; - z4 = MULTIPLY(z3, FIX(0.275899379)); /* c14[16] = c7[8] */ - z3 = MULTIPLY(z3, FIX(1.387039845)); /* c2[16] = c1[8] */ - - tmp0 = z3 + MULTIPLY(z2, FIX_2_562915447); /* (c6+c2)[16] = (c3+c1)[8] */ - tmp1 = z4 + MULTIPLY(z1, FIX_0_899976223); /* (c6-c14)[16] = (c3-c7)[8] */ - tmp2 = z3 - MULTIPLY(z1, FIX(0.601344887)); /* (c2-c10)[16] = (c1-c5)[8] */ - tmp3 = z4 - MULTIPLY(z2, FIX(0.509795579)); /* (c10-c14)[16] = (c5-c7)[8] */ - - tmp20 = tmp10 + tmp0; - tmp27 = tmp10 - tmp0; - tmp21 = tmp12 + tmp1; - tmp26 = tmp12 - tmp1; - tmp22 = tmp13 + tmp2; - tmp25 = tmp13 - tmp2; - tmp23 = tmp11 + tmp3; - tmp24 = tmp11 - tmp3; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = z1 + z3; - - tmp1 = MULTIPLY(z1 + z2, FIX(1.353318001)); /* c3 */ - tmp2 = MULTIPLY(tmp11, FIX(1.247225013)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(1.093201867)); /* c7 */ - tmp10 = MULTIPLY(z1 - z4, FIX(0.897167586)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.666655658)); /* c11 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.410524528)); /* c13 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(z1, FIX(2.286341144)); /* c7+c5+c3-c1 */ - tmp13 = tmp10 + tmp11 + tmp12 - - MULTIPLY(z1, FIX(1.835730603)); /* c9+c11+c13-c15 */ - z1 = MULTIPLY(z2 + z3, FIX(0.138617169)); /* c15 */ - tmp1 += z1 + MULTIPLY(z2, FIX(0.071888074)); /* c9+c11-c3-c15 */ - tmp2 += z1 - MULTIPLY(z3, FIX(1.125726048)); /* c5+c7+c15-c3 */ - z1 = MULTIPLY(z3 - z2, FIX(1.407403738)); /* c1 */ - tmp11 += z1 - MULTIPLY(z3, FIX(0.766367282)); /* c1+c11-c9-c13 */ - tmp12 += z1 + MULTIPLY(z2, FIX(1.971951411)); /* c1+c5+c13-c7 */ - z2 += z4; - z1 = MULTIPLY(z2, - FIX(0.666655658)); /* -c11 */ - tmp1 += z1; - tmp3 += z1 + MULTIPLY(z4, FIX(1.065388962)); /* c3+c11+c15-c7 */ - z2 = MULTIPLY(z2, - FIX(1.247225013)); /* -c5 */ - tmp10 += z2 + MULTIPLY(z4, FIX(3.141271809)); /* c1+c5+c9-c13 */ - tmp12 += z2; - z2 = MULTIPLY(z3 + z4, - FIX(1.353318001)); /* -c3 */ - tmp2 += z2; - tmp3 += z2; - z2 = MULTIPLY(z4 - z3, FIX(0.410524528)); /* c13 */ - tmp10 += z2; - tmp11 += z2; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[15] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[14] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[13] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp26 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp27 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp27 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 16x8 output block. - * - * 8-point IDCT in pass 1 (columns), 16-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp10, tmp11, tmp12, tmp13; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*8]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = DCTSIZE; ctr > 0; ctr--) { - /* Due to quantization, we will usually find that many of the input - * coefficients are zero, especially the AC terms. We can exploit this - * by short-circuiting the IDCT calculation for any column in which all - * the AC terms are zero. In that case each output is equal to the - * DC coefficient (with scale factor as needed). - * With typical images and quantization tables, half or more of the - * column DCT calculations can be simplified this way. - */ - - if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && - inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && - inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && - inptr[DCTSIZE*7] == 0) { - /* AC terms all zero */ - int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS; - - wsptr[DCTSIZE*0] = dcval; - wsptr[DCTSIZE*1] = dcval; - wsptr[DCTSIZE*2] = dcval; - wsptr[DCTSIZE*3] = dcval; - wsptr[DCTSIZE*4] = dcval; - wsptr[DCTSIZE*5] = dcval; - wsptr[DCTSIZE*6] = dcval; - wsptr[DCTSIZE*7] = dcval; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - continue; - } - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z2 <<= CONST_BITS; - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z2 += ONE << (CONST_BITS-PASS1_BITS-1); - - tmp0 = z2 + z3; - tmp1 = z2 - z3; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - wsptr[DCTSIZE*0] = (int) RIGHT_SHIFT(tmp10 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*7] = (int) RIGHT_SHIFT(tmp10 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*1] = (int) RIGHT_SHIFT(tmp11 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*6] = (int) RIGHT_SHIFT(tmp11 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*2] = (int) RIGHT_SHIFT(tmp12 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - } - - /* Pass 2: process 8 rows from work array, store into output array. - * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). - */ - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - - z1 = (INT32) wsptr[4]; - tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */ - tmp2 = MULTIPLY(z1, FIX_0_541196100); /* c12[16] = c6[8] */ - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - tmp12 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[6]; - z3 = z1 - z2; - z4 = MULTIPLY(z3, FIX(0.275899379)); /* c14[16] = c7[8] */ - z3 = MULTIPLY(z3, FIX(1.387039845)); /* c2[16] = c1[8] */ - - tmp0 = z3 + MULTIPLY(z2, FIX_2_562915447); /* (c6+c2)[16] = (c3+c1)[8] */ - tmp1 = z4 + MULTIPLY(z1, FIX_0_899976223); /* (c6-c14)[16] = (c3-c7)[8] */ - tmp2 = z3 - MULTIPLY(z1, FIX(0.601344887)); /* (c2-c10)[16] = (c1-c5)[8] */ - tmp3 = z4 - MULTIPLY(z2, FIX(0.509795579)); /* (c10-c14)[16] = (c5-c7)[8] */ - - tmp20 = tmp10 + tmp0; - tmp27 = tmp10 - tmp0; - tmp21 = tmp12 + tmp1; - tmp26 = tmp12 - tmp1; - tmp22 = tmp13 + tmp2; - tmp25 = tmp13 - tmp2; - tmp23 = tmp11 + tmp3; - tmp24 = tmp11 - tmp3; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = z1 + z3; - - tmp1 = MULTIPLY(z1 + z2, FIX(1.353318001)); /* c3 */ - tmp2 = MULTIPLY(tmp11, FIX(1.247225013)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(1.093201867)); /* c7 */ - tmp10 = MULTIPLY(z1 - z4, FIX(0.897167586)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.666655658)); /* c11 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.410524528)); /* c13 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(z1, FIX(2.286341144)); /* c7+c5+c3-c1 */ - tmp13 = tmp10 + tmp11 + tmp12 - - MULTIPLY(z1, FIX(1.835730603)); /* c9+c11+c13-c15 */ - z1 = MULTIPLY(z2 + z3, FIX(0.138617169)); /* c15 */ - tmp1 += z1 + MULTIPLY(z2, FIX(0.071888074)); /* c9+c11-c3-c15 */ - tmp2 += z1 - MULTIPLY(z3, FIX(1.125726048)); /* c5+c7+c15-c3 */ - z1 = MULTIPLY(z3 - z2, FIX(1.407403738)); /* c1 */ - tmp11 += z1 - MULTIPLY(z3, FIX(0.766367282)); /* c1+c11-c9-c13 */ - tmp12 += z1 + MULTIPLY(z2, FIX(1.971951411)); /* c1+c5+c13-c7 */ - z2 += z4; - z1 = MULTIPLY(z2, - FIX(0.666655658)); /* -c11 */ - tmp1 += z1; - tmp3 += z1 + MULTIPLY(z4, FIX(1.065388962)); /* c3+c11+c15-c7 */ - z2 = MULTIPLY(z2, - FIX(1.247225013)); /* -c5 */ - tmp10 += z2 + MULTIPLY(z4, FIX(3.141271809)); /* c1+c5+c9-c13 */ - tmp12 += z2; - z2 = MULTIPLY(z3 + z4, - FIX(1.353318001)); /* -c3 */ - tmp2 += z2; - tmp3 += z2; - z2 = MULTIPLY(z4 - z3, FIX(0.410524528)); /* c13 */ - tmp10 += z2; - tmp11 += z2; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[15] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[14] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[13] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp26 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp27 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp27 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 14x7 output block. - * - * 7-point IDCT in pass 1 (columns), 14-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_14x7 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*7]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp23 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp23 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp23 += ONE << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - tmp20 = MULTIPLY(z2 - z3, FIX(0.881747734)); /* c4 */ - tmp22 = MULTIPLY(z1 - z2, FIX(0.314692123)); /* c6 */ - tmp21 = tmp20 + tmp22 + tmp23 - MULTIPLY(z2, FIX(1.841218003)); /* c2+c4-c6 */ - tmp10 = z1 + z3; - z2 -= tmp10; - tmp10 = MULTIPLY(tmp10, FIX(1.274162392)) + tmp23; /* c2 */ - tmp20 += tmp10 - MULTIPLY(z3, FIX(0.077722536)); /* c2-c4-c6 */ - tmp22 += tmp10 - MULTIPLY(z1, FIX(2.470602249)); /* c2+c4+c6 */ - tmp23 += MULTIPLY(z2, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - - tmp11 = MULTIPLY(z1 + z2, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp10 = tmp11 - tmp12; - tmp11 += tmp12; - tmp12 = MULTIPLY(z2 + z3, - FIX(1.378756276)); /* -c1 */ - tmp11 += tmp12; - z2 = MULTIPLY(z1 + z3, FIX(0.613604268)); /* c5 */ - tmp10 += z2; - tmp12 += z2 + MULTIPLY(z3, FIX(1.870828693)); /* c3+c1-c5 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 7 rows from work array, store into output array. - * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). - */ - wsptr = workspace; - for (ctr = 0; ctr < 7; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z1 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z1 <<= CONST_BITS; - z4 = (INT32) wsptr[4]; - z2 = MULTIPLY(z4, FIX(1.274162392)); /* c4 */ - z3 = MULTIPLY(z4, FIX(0.314692123)); /* c12 */ - z4 = MULTIPLY(z4, FIX(0.881747734)); /* c8 */ - - tmp10 = z1 + z2; - tmp11 = z1 + z3; - tmp12 = z1 - z4; - - tmp23 = z1 - ((z2 + z3 - z4) << 1); /* c0 = (c4+c12-c8)*2 */ - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[6]; - - z3 = MULTIPLY(z1 + z2, FIX(1.105676686)); /* c6 */ - - tmp13 = z3 + MULTIPLY(z1, FIX(0.273079590)); /* c2-c6 */ - tmp14 = z3 - MULTIPLY(z2, FIX(1.719280954)); /* c6+c10 */ - tmp15 = MULTIPLY(z1, FIX(0.613604268)) - /* c10 */ - MULTIPLY(z2, FIX(1.378756276)); /* c2 */ - - tmp20 = tmp10 + tmp13; - tmp26 = tmp10 - tmp13; - tmp21 = tmp11 + tmp14; - tmp25 = tmp11 - tmp14; - tmp22 = tmp12 + tmp15; - tmp24 = tmp12 - tmp15; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - z4 <<= CONST_BITS; - - tmp14 = z1 + z3; - tmp11 = MULTIPLY(z1 + z2, FIX(1.334852607)); /* c3 */ - tmp12 = MULTIPLY(tmp14, FIX(1.197448846)); /* c5 */ - tmp10 = tmp11 + tmp12 + z4 - MULTIPLY(z1, FIX(1.126980169)); /* c3+c5-c1 */ - tmp14 = MULTIPLY(tmp14, FIX(0.752406978)); /* c9 */ - tmp16 = tmp14 - MULTIPLY(z1, FIX(1.061150426)); /* c9+c11-c13 */ - z1 -= z2; - tmp15 = MULTIPLY(z1, FIX(0.467085129)) - z4; /* c11 */ - tmp16 += tmp15; - tmp13 = MULTIPLY(z2 + z3, - FIX(0.158341681)) - z4; /* -c13 */ - tmp11 += tmp13 - MULTIPLY(z2, FIX(0.424103948)); /* c3-c9-c13 */ - tmp12 += tmp13 - MULTIPLY(z3, FIX(2.373959773)); /* c3+c5-c13 */ - tmp13 = MULTIPLY(z3 - z2, FIX(1.405321284)); /* c1 */ - tmp14 += tmp13 + z4 - MULTIPLY(z3, FIX(1.6906431334)); /* c1+c9-c11 */ - tmp15 += tmp13 + MULTIPLY(z2, FIX(0.674957567)); /* c1+c11-c5 */ - - tmp13 = ((z1 - z3) << CONST_BITS) + z4; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[13] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[12] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp26 + tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp26 - tmp16, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 12x6 output block. - * - * 6-point IDCT in pass 1 (columns), 12-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_12x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*6]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp10 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp10 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp10 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp12 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp20 = MULTIPLY(tmp12, FIX(0.707106781)); /* c4 */ - tmp11 = tmp10 + tmp20; - tmp21 = RIGHT_SHIFT(tmp10 - tmp20 - tmp20, CONST_BITS-PASS1_BITS); - tmp20 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp10 = MULTIPLY(tmp20, FIX(1.224744871)); /* c2 */ - tmp20 = tmp11 + tmp10; - tmp22 = tmp11 - tmp10; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp11 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp10 = tmp11 + ((z1 + z2) << CONST_BITS); - tmp12 = tmp11 + ((z3 - z2) << CONST_BITS); - tmp11 = (z1 - z2 - z3) << PASS1_BITS; - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) (tmp21 + tmp11); - wsptr[8*4] = (int) (tmp21 - tmp11); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 6 rows from work array, store into output array. - * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). - */ - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z3 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 <<= CONST_BITS; - - z4 = (INT32) wsptr[4]; - z4 = MULTIPLY(z4, FIX(1.224744871)); /* c4 */ - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - z1 = (INT32) wsptr[2]; - z4 = MULTIPLY(z1, FIX(1.366025404)); /* c2 */ - z1 <<= CONST_BITS; - z2 = (INT32) wsptr[6]; - z2 <<= CONST_BITS; - - tmp12 = z1 - z2; - - tmp21 = z3 + tmp12; - tmp24 = z3 - tmp12; - - tmp12 = z4 + z2; - - tmp20 = tmp10 + tmp12; - tmp25 = tmp10 - tmp12; - - tmp12 = z4 - z1 - z2; - - tmp22 = tmp11 + tmp12; - tmp23 = tmp11 - tmp12; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z4 = (INT32) wsptr[7]; - - tmp11 = MULTIPLY(z2, FIX(1.306562965)); /* c3 */ - tmp14 = MULTIPLY(z2, - FIX_0_541196100); /* -c9 */ - - tmp10 = z1 + z3; - tmp15 = MULTIPLY(tmp10 + z4, FIX(0.860918669)); /* c7 */ - tmp12 = tmp15 + MULTIPLY(tmp10, FIX(0.261052384)); /* c5-c7 */ - tmp10 = tmp12 + tmp11 + MULTIPLY(z1, FIX(0.280143716)); /* c1-c5 */ - tmp13 = MULTIPLY(z3 + z4, - FIX(1.045510580)); /* -(c7+c11) */ - tmp12 += tmp13 + tmp14 - MULTIPLY(z3, FIX(1.478575242)); /* c1+c5-c7-c11 */ - tmp13 += tmp15 - tmp11 + MULTIPLY(z4, FIX(1.586706681)); /* c1+c11 */ - tmp15 += tmp14 - MULTIPLY(z1, FIX(0.676326758)) - /* c7-c11 */ - MULTIPLY(z4, FIX(1.982889723)); /* c5+c7 */ - - z1 -= z4; - z2 -= z3; - z3 = MULTIPLY(z1 + z2, FIX_0_541196100); /* c9 */ - tmp11 = z3 + MULTIPLY(z1, FIX_0_765366865); /* c3-c9 */ - tmp14 = z3 - MULTIPLY(z2, FIX_1_847759065); /* c3+c9 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[11] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[10] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp25 + tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp25 - tmp15, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 10x5 output block. - * - * 5-point IDCT in pass 1 (columns), 10-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_10x5 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*5]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp12 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp12 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp12 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp13 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp14 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z1 = MULTIPLY(tmp13 + tmp14, FIX(0.790569415)); /* (c2+c4)/2 */ - z2 = MULTIPLY(tmp13 - tmp14, FIX(0.353553391)); /* (c2-c4)/2 */ - z3 = tmp12 + z2; - tmp10 = z3 + z1; - tmp11 = z3 - z1; - tmp12 -= z2 << 2; - - /* Odd part */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z3 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c3 */ - tmp13 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c1-c3 */ - tmp14 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c1+c3 */ - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp10 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp10 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp11 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp11 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp12, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 5 rows from work array, store into output array. - * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). - */ - wsptr = workspace; - for (ctr = 0; ctr < 5; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - z3 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 <<= CONST_BITS; - z4 = (INT32) wsptr[4]; - z1 = MULTIPLY(z4, FIX(1.144122806)); /* c4 */ - z2 = MULTIPLY(z4, FIX(0.437016024)); /* c8 */ - tmp10 = z3 + z1; - tmp11 = z3 - z2; - - tmp22 = z3 - ((z1 - z2) << 1); /* c0 = (c4-c8)*2 */ - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[6]; - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c6 */ - tmp12 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c2-c6 */ - tmp13 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c2+c6 */ - - tmp20 = tmp10 + tmp12; - tmp24 = tmp10 - tmp12; - tmp21 = tmp11 + tmp13; - tmp23 = tmp11 - tmp13; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - z3 <<= CONST_BITS; - z4 = (INT32) wsptr[7]; - - tmp11 = z2 + z4; - tmp13 = z2 - z4; - - tmp12 = MULTIPLY(tmp13, FIX(0.309016994)); /* (c3-c7)/2 */ - - z2 = MULTIPLY(tmp11, FIX(0.951056516)); /* (c3+c7)/2 */ - z4 = z3 + tmp12; - - tmp10 = MULTIPLY(z1, FIX(1.396802247)) + z2 + z4; /* c1 */ - tmp14 = MULTIPLY(z1, FIX(0.221231742)) - z2 + z4; /* c9 */ - - z2 = MULTIPLY(tmp11, FIX(0.587785252)); /* (c1-c9)/2 */ - z4 = z3 - tmp12 - (tmp13 << (CONST_BITS - 1)); - - tmp12 = ((z1 - tmp13) << CONST_BITS) - z3; - - tmp11 = MULTIPLY(z1, FIX(1.260073511)) - z2 - z4; /* c3 */ - tmp13 = MULTIPLY(z1, FIX(0.642039522)) - z2 + z4; /* c7 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[9] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[8] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp23 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp24 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp24 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 8; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 8x4 output block. - * - * 4-point IDCT in pass 1 (columns), 8-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_8x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*4]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 4-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - - tmp10 = (tmp0 + tmp2) << PASS1_BITS; - tmp12 = (tmp0 - tmp2) << PASS1_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z3 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp0 = RIGHT_SHIFT(z1 + MULTIPLY(z2, FIX_0_765366865), /* c2-c6 */ - CONST_BITS-PASS1_BITS); - tmp2 = RIGHT_SHIFT(z1 - MULTIPLY(z3, FIX_1_847759065), /* c2+c6 */ - CONST_BITS-PASS1_BITS); - - /* Final output stage */ - - wsptr[8*0] = (int) (tmp10 + tmp0); - wsptr[8*3] = (int) (tmp10 - tmp0); - wsptr[8*1] = (int) (tmp12 + tmp2); - wsptr[8*2] = (int) (tmp12 - tmp2); - } - - /* Pass 2: process rows from work array, store into output array. */ - /* Note that we must descale the results by a factor of 8 == 2**3, */ - /* and also undo the PASS1_BITS scaling. */ - - wsptr = workspace; - for (ctr = 0; ctr < 4; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[6]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - /* Add fudge factor here for final descale. */ - z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 = (INT32) wsptr[4]; - - tmp0 = (z2 + z3) << CONST_BITS; - tmp1 = (z2 - z3) << CONST_BITS; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = (INT32) wsptr[7]; - tmp1 = (INT32) wsptr[5]; - tmp2 = (INT32) wsptr[3]; - tmp3 = (INT32) wsptr[1]; - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp13 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += DCTSIZE; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 6x3 output block. - * - * 3-point IDCT in pass 1 (columns), 6-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_6x3 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp10, tmp11, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[6*3]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp12 = MULTIPLY(tmp2, FIX(0.707106781)); /* c2 */ - tmp10 = tmp0 + tmp12; - tmp2 = tmp0 - tmp12 - tmp12; - - /* Odd part */ - - tmp12 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - tmp0 = MULTIPLY(tmp12, FIX(1.224744871)); /* c1 */ - - /* Final output stage */ - - wsptr[6*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[6*2] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[6*1] = (int) RIGHT_SHIFT(tmp2, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 3 rows from work array, store into output array. - * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). - */ - wsptr = workspace; - for (ctr = 0; ctr < 3; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - tmp2 = (INT32) wsptr[4]; - tmp10 = MULTIPLY(tmp2, FIX(0.707106781)); /* c4 */ - tmp1 = tmp0 + tmp10; - tmp11 = tmp0 - tmp10 - tmp10; - tmp10 = (INT32) wsptr[2]; - tmp0 = MULTIPLY(tmp10, FIX(1.224744871)); /* c2 */ - tmp10 = tmp1 + tmp0; - tmp12 = tmp1 - tmp0; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - tmp1 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp0 = tmp1 + ((z1 + z2) << CONST_BITS); - tmp2 = tmp1 + ((z3 - z2) << CONST_BITS); - tmp1 = (z1 - z2 - z3) << CONST_BITS; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 6; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 4x2 output block. - * - * 2-point IDCT in pass 1 (columns), 4-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_4x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp2, tmp10, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - INT32 * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - INT32 workspace[4*2]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 4; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp10 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - - /* Odd part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - - /* Final output stage */ - - wsptr[4*0] = tmp10 + tmp0; - wsptr[4*1] = tmp10 - tmp0; - } - - /* Pass 2: process 2 rows from work array, store into output array. - * 4-point IDCT kernel, - * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. - */ - wsptr = workspace; - for (ctr = 0; ctr < 2; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = wsptr[0] + (ONE << 2); - tmp2 = wsptr[2]; - - tmp10 = (tmp0 + tmp2) << CONST_BITS; - tmp12 = (tmp0 - tmp2) << CONST_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = wsptr[1]; - z3 = wsptr[3]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - tmp0 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ - tmp2 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+3) - & RANGE_MASK]; - - wsptr += 4; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 2x1 output block. - * - * 1-point IDCT in pass 1 (columns), 2-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_2x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp10; - ISLOW_MULT_TYPE * quantptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - SHIFT_TEMPS - - /* Pass 1: empty. */ - - /* Pass 2: process 1 row from input, store into output array. */ - - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - outptr = output_buf[0] + output_col; - - /* Even part */ - - tmp10 = DEQUANTIZE(coef_block[0], quantptr[0]); - /* Add fudge factor here for final descale. */ - tmp10 += ONE << 2; - - /* Odd part */ - - tmp0 = DEQUANTIZE(coef_block[1], quantptr[1]); - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, 3) & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, 3) & RANGE_MASK]; -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 8x16 output block. - * - * 16-point IDCT in pass 1 (columns), 8-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_8x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3, tmp10, tmp11, tmp12, tmp13; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[8*16]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - - z1 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */ - tmp2 = MULTIPLY(z1, FIX_0_541196100); /* c12[16] = c6[8] */ - - tmp10 = tmp0 + tmp1; - tmp11 = tmp0 - tmp1; - tmp12 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - z3 = z1 - z2; - z4 = MULTIPLY(z3, FIX(0.275899379)); /* c14[16] = c7[8] */ - z3 = MULTIPLY(z3, FIX(1.387039845)); /* c2[16] = c1[8] */ - - tmp0 = z3 + MULTIPLY(z2, FIX_2_562915447); /* (c6+c2)[16] = (c3+c1)[8] */ - tmp1 = z4 + MULTIPLY(z1, FIX_0_899976223); /* (c6-c14)[16] = (c3-c7)[8] */ - tmp2 = z3 - MULTIPLY(z1, FIX(0.601344887)); /* (c2-c10)[16] = (c1-c5)[8] */ - tmp3 = z4 - MULTIPLY(z2, FIX(0.509795579)); /* (c10-c14)[16] = (c5-c7)[8] */ - - tmp20 = tmp10 + tmp0; - tmp27 = tmp10 - tmp0; - tmp21 = tmp12 + tmp1; - tmp26 = tmp12 - tmp1; - tmp22 = tmp13 + tmp2; - tmp25 = tmp13 - tmp2; - tmp23 = tmp11 + tmp3; - tmp24 = tmp11 - tmp3; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = z1 + z3; - - tmp1 = MULTIPLY(z1 + z2, FIX(1.353318001)); /* c3 */ - tmp2 = MULTIPLY(tmp11, FIX(1.247225013)); /* c5 */ - tmp3 = MULTIPLY(z1 + z4, FIX(1.093201867)); /* c7 */ - tmp10 = MULTIPLY(z1 - z4, FIX(0.897167586)); /* c9 */ - tmp11 = MULTIPLY(tmp11, FIX(0.666655658)); /* c11 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.410524528)); /* c13 */ - tmp0 = tmp1 + tmp2 + tmp3 - - MULTIPLY(z1, FIX(2.286341144)); /* c7+c5+c3-c1 */ - tmp13 = tmp10 + tmp11 + tmp12 - - MULTIPLY(z1, FIX(1.835730603)); /* c9+c11+c13-c15 */ - z1 = MULTIPLY(z2 + z3, FIX(0.138617169)); /* c15 */ - tmp1 += z1 + MULTIPLY(z2, FIX(0.071888074)); /* c9+c11-c3-c15 */ - tmp2 += z1 - MULTIPLY(z3, FIX(1.125726048)); /* c5+c7+c15-c3 */ - z1 = MULTIPLY(z3 - z2, FIX(1.407403738)); /* c1 */ - tmp11 += z1 - MULTIPLY(z3, FIX(0.766367282)); /* c1+c11-c9-c13 */ - tmp12 += z1 + MULTIPLY(z2, FIX(1.971951411)); /* c1+c5+c13-c7 */ - z2 += z4; - z1 = MULTIPLY(z2, - FIX(0.666655658)); /* -c11 */ - tmp1 += z1; - tmp3 += z1 + MULTIPLY(z4, FIX(1.065388962)); /* c3+c11+c15-c7 */ - z2 = MULTIPLY(z2, - FIX(1.247225013)); /* -c5 */ - tmp10 += z2 + MULTIPLY(z4, FIX(3.141271809)); /* c1+c5+c9-c13 */ - tmp12 += z2; - z2 = MULTIPLY(z3 + z4, - FIX(1.353318001)); /* -c3 */ - tmp2 += z2; - tmp3 += z2; - z2 = MULTIPLY(z4 - z3, FIX(0.410524528)); /* c13 */ - tmp10 += z2; - tmp11 += z2; - - /* Final output stage */ - - wsptr[8*0] = (int) RIGHT_SHIFT(tmp20 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*15] = (int) RIGHT_SHIFT(tmp20 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[8*1] = (int) RIGHT_SHIFT(tmp21 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*14] = (int) RIGHT_SHIFT(tmp21 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[8*2] = (int) RIGHT_SHIFT(tmp22 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*13] = (int) RIGHT_SHIFT(tmp22 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[8*3] = (int) RIGHT_SHIFT(tmp23 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*12] = (int) RIGHT_SHIFT(tmp23 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[8*4] = (int) RIGHT_SHIFT(tmp24 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*11] = (int) RIGHT_SHIFT(tmp24 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[8*5] = (int) RIGHT_SHIFT(tmp25 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*10] = (int) RIGHT_SHIFT(tmp25 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[8*6] = (int) RIGHT_SHIFT(tmp26 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*9] = (int) RIGHT_SHIFT(tmp26 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[8*7] = (int) RIGHT_SHIFT(tmp27 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[8*8] = (int) RIGHT_SHIFT(tmp27 - tmp13, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process rows from work array, store into output array. */ - /* Note that we must descale the results by a factor of 8 == 2**3, */ - /* and also undo the PASS1_BITS scaling. */ - - wsptr = workspace; - for (ctr = 0; ctr < 16; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = (INT32) wsptr[2]; - z3 = (INT32) wsptr[6]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - /* Add fudge factor here for final descale. */ - z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - z3 = (INT32) wsptr[4]; - - tmp0 = (z2 + z3) << CONST_BITS; - tmp1 = (z2 - z3) << CONST_BITS; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = (INT32) wsptr[7]; - tmp1 = (INT32) wsptr[5]; - tmp2 = (INT32) wsptr[3]; - tmp3 = (INT32) wsptr[1]; - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[7] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp3, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp1, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp13 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += DCTSIZE; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 7x14 output block. - * - * 14-point IDCT in pass 1 (columns), 7-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_7x14 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[7*14]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 7; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z1 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z1 += ONE << (CONST_BITS-PASS1_BITS-1); - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z2 = MULTIPLY(z4, FIX(1.274162392)); /* c4 */ - z3 = MULTIPLY(z4, FIX(0.314692123)); /* c12 */ - z4 = MULTIPLY(z4, FIX(0.881747734)); /* c8 */ - - tmp10 = z1 + z2; - tmp11 = z1 + z3; - tmp12 = z1 - z4; - - tmp23 = RIGHT_SHIFT(z1 - ((z2 + z3 - z4) << 1), /* c0 = (c4+c12-c8)*2 */ - CONST_BITS-PASS1_BITS); - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z3 = MULTIPLY(z1 + z2, FIX(1.105676686)); /* c6 */ - - tmp13 = z3 + MULTIPLY(z1, FIX(0.273079590)); /* c2-c6 */ - tmp14 = z3 - MULTIPLY(z2, FIX(1.719280954)); /* c6+c10 */ - tmp15 = MULTIPLY(z1, FIX(0.613604268)) - /* c10 */ - MULTIPLY(z2, FIX(1.378756276)); /* c2 */ - - tmp20 = tmp10 + tmp13; - tmp26 = tmp10 - tmp13; - tmp21 = tmp11 + tmp14; - tmp25 = tmp11 - tmp14; - tmp22 = tmp12 + tmp15; - tmp24 = tmp12 - tmp15; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - tmp13 = z4 << CONST_BITS; - - tmp14 = z1 + z3; - tmp11 = MULTIPLY(z1 + z2, FIX(1.334852607)); /* c3 */ - tmp12 = MULTIPLY(tmp14, FIX(1.197448846)); /* c5 */ - tmp10 = tmp11 + tmp12 + tmp13 - MULTIPLY(z1, FIX(1.126980169)); /* c3+c5-c1 */ - tmp14 = MULTIPLY(tmp14, FIX(0.752406978)); /* c9 */ - tmp16 = tmp14 - MULTIPLY(z1, FIX(1.061150426)); /* c9+c11-c13 */ - z1 -= z2; - tmp15 = MULTIPLY(z1, FIX(0.467085129)) - tmp13; /* c11 */ - tmp16 += tmp15; - z1 += z4; - z4 = MULTIPLY(z2 + z3, - FIX(0.158341681)) - tmp13; /* -c13 */ - tmp11 += z4 - MULTIPLY(z2, FIX(0.424103948)); /* c3-c9-c13 */ - tmp12 += z4 - MULTIPLY(z3, FIX(2.373959773)); /* c3+c5-c13 */ - z4 = MULTIPLY(z3 - z2, FIX(1.405321284)); /* c1 */ - tmp14 += z4 + tmp13 - MULTIPLY(z3, FIX(1.6906431334)); /* c1+c9-c11 */ - tmp15 += z4 + MULTIPLY(z2, FIX(0.674957567)); /* c1+c11-c5 */ - - tmp13 = (z1 - z3) << PASS1_BITS; - - /* Final output stage */ - - wsptr[7*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[7*13] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[7*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[7*12] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[7*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[7*11] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[7*3] = (int) (tmp23 + tmp13); - wsptr[7*10] = (int) (tmp23 - tmp13); - wsptr[7*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[7*9] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[7*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[7*8] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - wsptr[7*6] = (int) RIGHT_SHIFT(tmp26 + tmp16, CONST_BITS-PASS1_BITS); - wsptr[7*7] = (int) RIGHT_SHIFT(tmp26 - tmp16, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 14 rows from work array, store into output array. - * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). - */ - wsptr = workspace; - for (ctr = 0; ctr < 14; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp23 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp23 <<= CONST_BITS; - - z1 = (INT32) wsptr[2]; - z2 = (INT32) wsptr[4]; - z3 = (INT32) wsptr[6]; - - tmp20 = MULTIPLY(z2 - z3, FIX(0.881747734)); /* c4 */ - tmp22 = MULTIPLY(z1 - z2, FIX(0.314692123)); /* c6 */ - tmp21 = tmp20 + tmp22 + tmp23 - MULTIPLY(z2, FIX(1.841218003)); /* c2+c4-c6 */ - tmp10 = z1 + z3; - z2 -= tmp10; - tmp10 = MULTIPLY(tmp10, FIX(1.274162392)) + tmp23; /* c2 */ - tmp20 += tmp10 - MULTIPLY(z3, FIX(0.077722536)); /* c2-c4-c6 */ - tmp22 += tmp10 - MULTIPLY(z1, FIX(2.470602249)); /* c2+c4+c6 */ - tmp23 += MULTIPLY(z2, FIX(1.414213562)); /* c0 */ - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - - tmp11 = MULTIPLY(z1 + z2, FIX(0.935414347)); /* (c3+c1-c5)/2 */ - tmp12 = MULTIPLY(z1 - z2, FIX(0.170262339)); /* (c3+c5-c1)/2 */ - tmp10 = tmp11 - tmp12; - tmp11 += tmp12; - tmp12 = MULTIPLY(z2 + z3, - FIX(1.378756276)); /* -c1 */ - tmp11 += tmp12; - z2 = MULTIPLY(z1 + z3, FIX(0.613604268)); /* c5 */ - tmp10 += z2; - tmp12 += z2 + MULTIPLY(z3, FIX(1.870828693)); /* c3+c1-c5 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[6] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp23, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 7; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 6x12 output block. - * - * 12-point IDCT in pass 1 (columns), 6-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_6x12 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14, tmp15; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24, tmp25; - INT32 z1, z2, z3, z4; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[6*12]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z3 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z3 += ONE << (CONST_BITS-PASS1_BITS-1); - - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z4 = MULTIPLY(z4, FIX(1.224744871)); /* c4 */ - - tmp10 = z3 + z4; - tmp11 = z3 - z4; - - z1 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z4 = MULTIPLY(z1, FIX(1.366025404)); /* c2 */ - z1 <<= CONST_BITS; - z2 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - z2 <<= CONST_BITS; - - tmp12 = z1 - z2; - - tmp21 = z3 + tmp12; - tmp24 = z3 - tmp12; - - tmp12 = z4 + z2; - - tmp20 = tmp10 + tmp12; - tmp25 = tmp10 - tmp12; - - tmp12 = z4 - z1 - z2; - - tmp22 = tmp11 + tmp12; - tmp23 = tmp11 - tmp12; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = MULTIPLY(z2, FIX(1.306562965)); /* c3 */ - tmp14 = MULTIPLY(z2, - FIX_0_541196100); /* -c9 */ - - tmp10 = z1 + z3; - tmp15 = MULTIPLY(tmp10 + z4, FIX(0.860918669)); /* c7 */ - tmp12 = tmp15 + MULTIPLY(tmp10, FIX(0.261052384)); /* c5-c7 */ - tmp10 = tmp12 + tmp11 + MULTIPLY(z1, FIX(0.280143716)); /* c1-c5 */ - tmp13 = MULTIPLY(z3 + z4, - FIX(1.045510580)); /* -(c7+c11) */ - tmp12 += tmp13 + tmp14 - MULTIPLY(z3, FIX(1.478575242)); /* c1+c5-c7-c11 */ - tmp13 += tmp15 - tmp11 + MULTIPLY(z4, FIX(1.586706681)); /* c1+c11 */ - tmp15 += tmp14 - MULTIPLY(z1, FIX(0.676326758)) - /* c7-c11 */ - MULTIPLY(z4, FIX(1.982889723)); /* c5+c7 */ - - z1 -= z4; - z2 -= z3; - z3 = MULTIPLY(z1 + z2, FIX_0_541196100); /* c9 */ - tmp11 = z3 + MULTIPLY(z1, FIX_0_765366865); /* c3-c9 */ - tmp14 = z3 - MULTIPLY(z2, FIX_1_847759065); /* c3+c9 */ - - /* Final output stage */ - - wsptr[6*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[6*11] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[6*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[6*10] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[6*2] = (int) RIGHT_SHIFT(tmp22 + tmp12, CONST_BITS-PASS1_BITS); - wsptr[6*9] = (int) RIGHT_SHIFT(tmp22 - tmp12, CONST_BITS-PASS1_BITS); - wsptr[6*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[6*8] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[6*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[6*7] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - wsptr[6*5] = (int) RIGHT_SHIFT(tmp25 + tmp15, CONST_BITS-PASS1_BITS); - wsptr[6*6] = (int) RIGHT_SHIFT(tmp25 - tmp15, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 12 rows from work array, store into output array. - * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). - */ - wsptr = workspace; - for (ctr = 0; ctr < 12; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp10 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp10 <<= CONST_BITS; - tmp12 = (INT32) wsptr[4]; - tmp20 = MULTIPLY(tmp12, FIX(0.707106781)); /* c4 */ - tmp11 = tmp10 + tmp20; - tmp21 = tmp10 - tmp20 - tmp20; - tmp20 = (INT32) wsptr[2]; - tmp10 = MULTIPLY(tmp20, FIX(1.224744871)); /* c2 */ - tmp20 = tmp11 + tmp10; - tmp22 = tmp11 - tmp10; - - /* Odd part */ - - z1 = (INT32) wsptr[1]; - z2 = (INT32) wsptr[3]; - z3 = (INT32) wsptr[5]; - tmp11 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp10 = tmp11 + ((z1 + z2) << CONST_BITS); - tmp12 = tmp11 + ((z3 - z2) << CONST_BITS); - tmp11 = (z1 - z2 - z3) << CONST_BITS; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp20 + tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[5] = range_limit[(int) RIGHT_SHIFT(tmp20 - tmp10, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp21 + tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp21 - tmp11, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp22 + tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp22 - tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 6; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 5x10 output block. - * - * 10-point IDCT in pass 1 (columns), 5-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_5x10 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp10, tmp11, tmp12, tmp13, tmp14; - INT32 tmp20, tmp21, tmp22, tmp23, tmp24; - INT32 z1, z2, z3, z4, z5; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[5*10]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 5; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - z3 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z3 += ONE << (CONST_BITS-PASS1_BITS-1); - z4 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z1 = MULTIPLY(z4, FIX(1.144122806)); /* c4 */ - z2 = MULTIPLY(z4, FIX(0.437016024)); /* c8 */ - tmp10 = z3 + z1; - tmp11 = z3 - z2; - - tmp22 = RIGHT_SHIFT(z3 - ((z1 - z2) << 1), /* c0 = (c4-c8)*2 */ - CONST_BITS-PASS1_BITS); - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c6 */ - tmp12 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c2-c6 */ - tmp13 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c2+c6 */ - - tmp20 = tmp10 + tmp12; - tmp24 = tmp10 - tmp12; - tmp21 = tmp11 + tmp13; - tmp23 = tmp11 - tmp13; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - z4 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - - tmp11 = z2 + z4; - tmp13 = z2 - z4; - - tmp12 = MULTIPLY(tmp13, FIX(0.309016994)); /* (c3-c7)/2 */ - z5 = z3 << CONST_BITS; - - z2 = MULTIPLY(tmp11, FIX(0.951056516)); /* (c3+c7)/2 */ - z4 = z5 + tmp12; - - tmp10 = MULTIPLY(z1, FIX(1.396802247)) + z2 + z4; /* c1 */ - tmp14 = MULTIPLY(z1, FIX(0.221231742)) - z2 + z4; /* c9 */ - - z2 = MULTIPLY(tmp11, FIX(0.587785252)); /* (c1-c9)/2 */ - z4 = z5 - tmp12 - (tmp13 << (CONST_BITS - 1)); - - tmp12 = (z1 - tmp13 - z3) << PASS1_BITS; - - tmp11 = MULTIPLY(z1, FIX(1.260073511)) - z2 - z4; /* c3 */ - tmp13 = MULTIPLY(z1, FIX(0.642039522)) - z2 + z4; /* c7 */ - - /* Final output stage */ - - wsptr[5*0] = (int) RIGHT_SHIFT(tmp20 + tmp10, CONST_BITS-PASS1_BITS); - wsptr[5*9] = (int) RIGHT_SHIFT(tmp20 - tmp10, CONST_BITS-PASS1_BITS); - wsptr[5*1] = (int) RIGHT_SHIFT(tmp21 + tmp11, CONST_BITS-PASS1_BITS); - wsptr[5*8] = (int) RIGHT_SHIFT(tmp21 - tmp11, CONST_BITS-PASS1_BITS); - wsptr[5*2] = (int) (tmp22 + tmp12); - wsptr[5*7] = (int) (tmp22 - tmp12); - wsptr[5*3] = (int) RIGHT_SHIFT(tmp23 + tmp13, CONST_BITS-PASS1_BITS); - wsptr[5*6] = (int) RIGHT_SHIFT(tmp23 - tmp13, CONST_BITS-PASS1_BITS); - wsptr[5*4] = (int) RIGHT_SHIFT(tmp24 + tmp14, CONST_BITS-PASS1_BITS); - wsptr[5*5] = (int) RIGHT_SHIFT(tmp24 - tmp14, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 10 rows from work array, store into output array. - * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). - */ - wsptr = workspace; - for (ctr = 0; ctr < 10; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp12 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp12 <<= CONST_BITS; - tmp13 = (INT32) wsptr[2]; - tmp14 = (INT32) wsptr[4]; - z1 = MULTIPLY(tmp13 + tmp14, FIX(0.790569415)); /* (c2+c4)/2 */ - z2 = MULTIPLY(tmp13 - tmp14, FIX(0.353553391)); /* (c2-c4)/2 */ - z3 = tmp12 + z2; - tmp10 = z3 + z1; - tmp11 = z3 - z1; - tmp12 -= z2 << 2; - - /* Odd part */ - - z2 = (INT32) wsptr[1]; - z3 = (INT32) wsptr[3]; - - z1 = MULTIPLY(z2 + z3, FIX(0.831253876)); /* c3 */ - tmp13 = z1 + MULTIPLY(z2, FIX(0.513743148)); /* c1-c3 */ - tmp14 = z1 - MULTIPLY(z3, FIX(2.176250899)); /* c1+c3 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp13, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp11 + tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp11 - tmp14, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 5; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 4x8 output block. - * - * 8-point IDCT in pass 1 (columns), 4-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp3; - INT32 tmp10, tmp11, tmp12, tmp13; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[4*8]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. */ - /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ - /* furthermore, we scale the results by 2**PASS1_BITS. */ - - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 4; ctr > 0; ctr--) { - /* Due to quantization, we will usually find that many of the input - * coefficients are zero, especially the AC terms. We can exploit this - * by short-circuiting the IDCT calculation for any column in which all - * the AC terms are zero. In that case each output is equal to the - * DC coefficient (with scale factor as needed). - * With typical images and quantization tables, half or more of the - * column DCT calculations can be simplified this way. - */ - - if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && - inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && - inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && - inptr[DCTSIZE*7] == 0) { - /* AC terms all zero */ - int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS; - - wsptr[4*0] = dcval; - wsptr[4*1] = dcval; - wsptr[4*2] = dcval; - wsptr[4*3] = dcval; - wsptr[4*4] = dcval; - wsptr[4*5] = dcval; - wsptr[4*6] = dcval; - wsptr[4*7] = dcval; - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - continue; - } - - /* Even part: reverse the even part of the forward DCT. */ - /* The rotator is sqrt(2)*c(-6). */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); - tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); - tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); - - z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - z2 <<= CONST_BITS; - z3 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - z2 += ONE << (CONST_BITS-PASS1_BITS-1); - - tmp0 = z2 + z3; - tmp1 = z2 - z3; - - tmp10 = tmp0 + tmp2; - tmp13 = tmp0 - tmp2; - tmp11 = tmp1 + tmp3; - tmp12 = tmp1 - tmp3; - - /* Odd part per figure 8; the matrix is unitary and hence its - * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. - */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); - tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - - z2 = tmp0 + tmp2; - z3 = tmp1 + tmp3; - - z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ - z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ - z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ - z2 += z1; - z3 += z1; - - z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ - tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ - tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ - tmp0 += z1 + z2; - tmp3 += z1 + z3; - - z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ - tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ - tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ - tmp1 += z1 + z3; - tmp2 += z1 + z2; - - /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ - - wsptr[4*0] = (int) RIGHT_SHIFT(tmp10 + tmp3, CONST_BITS-PASS1_BITS); - wsptr[4*7] = (int) RIGHT_SHIFT(tmp10 - tmp3, CONST_BITS-PASS1_BITS); - wsptr[4*1] = (int) RIGHT_SHIFT(tmp11 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[4*6] = (int) RIGHT_SHIFT(tmp11 - tmp2, CONST_BITS-PASS1_BITS); - wsptr[4*2] = (int) RIGHT_SHIFT(tmp12 + tmp1, CONST_BITS-PASS1_BITS); - wsptr[4*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); - wsptr[4*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[4*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); - - inptr++; /* advance pointers to next column */ - quantptr++; - wsptr++; - } - - /* Pass 2: process 8 rows from work array, store into output array. - * 4-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). - */ - wsptr = workspace; - for (ctr = 0; ctr < 8; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp2 = (INT32) wsptr[2]; - - tmp10 = (tmp0 + tmp2) << CONST_BITS; - tmp12 = (tmp0 - tmp2) << CONST_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = (INT32) wsptr[1]; - z3 = (INT32) wsptr[3]; - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - tmp0 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ - tmp2 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[3] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp12 + tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 4; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a reduced-size 3x6 output block. - * - * 6-point IDCT in pass 1 (columns), 3-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_3x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp1, tmp2, tmp10, tmp11, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - int * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - int workspace[3*6]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 3; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp0 <<= CONST_BITS; - /* Add fudge factor here for final descale. */ - tmp0 += ONE << (CONST_BITS-PASS1_BITS-1); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); - tmp10 = MULTIPLY(tmp2, FIX(0.707106781)); /* c4 */ - tmp1 = tmp0 + tmp10; - tmp11 = RIGHT_SHIFT(tmp0 - tmp10 - tmp10, CONST_BITS-PASS1_BITS); - tmp10 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - tmp0 = MULTIPLY(tmp10, FIX(1.224744871)); /* c2 */ - tmp10 = tmp1 + tmp0; - tmp12 = tmp1 - tmp0; - - /* Odd part */ - - z1 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - z3 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); - tmp1 = MULTIPLY(z1 + z3, FIX(0.366025404)); /* c5 */ - tmp0 = tmp1 + ((z1 + z2) << CONST_BITS); - tmp2 = tmp1 + ((z3 - z2) << CONST_BITS); - tmp1 = (z1 - z2 - z3) << PASS1_BITS; - - /* Final output stage */ - - wsptr[3*0] = (int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS-PASS1_BITS); - wsptr[3*5] = (int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS-PASS1_BITS); - wsptr[3*1] = (int) (tmp11 + tmp1); - wsptr[3*4] = (int) (tmp11 - tmp1); - wsptr[3*2] = (int) RIGHT_SHIFT(tmp12 + tmp2, CONST_BITS-PASS1_BITS); - wsptr[3*3] = (int) RIGHT_SHIFT(tmp12 - tmp2, CONST_BITS-PASS1_BITS); - } - - /* Pass 2: process 6 rows from work array, store into output array. - * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). - */ - wsptr = workspace; - for (ctr = 0; ctr < 6; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp0 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); - tmp0 <<= CONST_BITS; - tmp2 = (INT32) wsptr[2]; - tmp12 = MULTIPLY(tmp2, FIX(0.707106781)); /* c2 */ - tmp10 = tmp0 + tmp12; - tmp2 = tmp0 - tmp12 - tmp12; - - /* Odd part */ - - tmp12 = (INT32) wsptr[1]; - tmp0 = MULTIPLY(tmp12, FIX(1.224744871)); /* c1 */ - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp2, - CONST_BITS+PASS1_BITS+3) - & RANGE_MASK]; - - wsptr += 3; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 2x4 output block. - * - * 4-point IDCT in pass 1 (columns), 2-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_2x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp2, tmp10, tmp12; - INT32 z1, z2, z3; - JCOEFPTR inptr; - ISLOW_MULT_TYPE * quantptr; - INT32 * wsptr; - JSAMPROW outptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - int ctr; - INT32 workspace[2*4]; /* buffers data between passes */ - SHIFT_TEMPS - - /* Pass 1: process columns from input, store into work array. - * 4-point IDCT kernel, - * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. - */ - inptr = coef_block; - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - wsptr = workspace; - for (ctr = 0; ctr < 2; ctr++, inptr++, quantptr++, wsptr++) { - /* Even part */ - - tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); - tmp2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); - - tmp10 = (tmp0 + tmp2) << CONST_BITS; - tmp12 = (tmp0 - tmp2) << CONST_BITS; - - /* Odd part */ - /* Same rotation as in the even part of the 8x8 LL&M IDCT */ - - z2 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); - z3 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); - - z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ - tmp0 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ - tmp2 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ - - /* Final output stage */ - - wsptr[2*0] = tmp10 + tmp0; - wsptr[2*3] = tmp10 - tmp0; - wsptr[2*1] = tmp12 + tmp2; - wsptr[2*2] = tmp12 - tmp2; - } - - /* Pass 2: process 4 rows from work array, store into output array. */ - - wsptr = workspace; - for (ctr = 0; ctr < 4; ctr++) { - outptr = output_buf[ctr] + output_col; - - /* Even part */ - - /* Add fudge factor here for final descale. */ - tmp10 = wsptr[0] + (ONE << (CONST_BITS+2)); - - /* Odd part */ - - tmp0 = wsptr[1]; - - /* Final output stage */ - - outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, CONST_BITS+3) - & RANGE_MASK]; - outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, CONST_BITS+3) - & RANGE_MASK]; - - wsptr += 2; /* advance pointer to next row */ - } -} - - -/* - * Perform dequantization and inverse DCT on one block of coefficients, - * producing a 1x2 output block. - * - * 2-point IDCT in pass 1 (columns), 1-point in pass 2 (rows). - */ - -GLOBAL(void) -jpeg_idct_1x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col) -{ - INT32 tmp0, tmp10; - ISLOW_MULT_TYPE * quantptr; - JSAMPLE *range_limit = IDCT_range_limit(cinfo); - SHIFT_TEMPS - - /* Process 1 column from input, store into output array. */ - - quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; - - /* Even part */ - - tmp10 = DEQUANTIZE(coef_block[DCTSIZE*0], quantptr[DCTSIZE*0]); - /* Add fudge factor here for final descale. */ - tmp10 += ONE << 2; - - /* Odd part */ - - tmp0 = DEQUANTIZE(coef_block[DCTSIZE*1], quantptr[DCTSIZE*1]); - - /* Final output stage */ - - output_buf[0][output_col] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, 3) - & RANGE_MASK]; - output_buf[1][output_col] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, 3) - & RANGE_MASK]; -} - -#endif /* IDCT_SCALING_SUPPORTED */ -#endif /* DCT_ISLOW_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jinclude.h b/3rdparty/openctm/tools/jpeg/jinclude.h deleted file mode 100644 index 5ff60fedf..000000000 --- a/3rdparty/openctm/tools/jpeg/jinclude.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * jinclude.h - * - * Copyright (C) 1991-1994, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file exists to provide a single place to fix any problems with - * including the wrong system include files. (Common problems are taken - * care of by the standard jconfig symbols, but on really weird systems - * you may have to edit this file.) - * - * NOTE: this file is NOT intended to be included by applications using the - * JPEG library. Most applications need only include jpeglib.h. - */ - - -/* Include auto-config file to find out which system include files we need. */ - -#include "jconfig.h" /* auto configuration options */ -#define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */ - -/* - * We need the NULL macro and size_t typedef. - * On an ANSI-conforming system it is sufficient to include . - * Otherwise, we get them from or ; we may have to - * pull in as well. - * Note that the core JPEG library does not require ; - * only the default error handler and data source/destination modules do. - * But we must pull it in because of the references to FILE in jpeglib.h. - * You can remove those references if you want to compile without . - */ - -#ifdef HAVE_STDDEF_H -#include -#endif - -#ifdef HAVE_STDLIB_H -#include -#endif - -#ifdef NEED_SYS_TYPES_H -#include -#endif - -#include - -/* - * We need memory copying and zeroing functions, plus strncpy(). - * ANSI and System V implementations declare these in . - * BSD doesn't have the mem() functions, but it does have bcopy()/bzero(). - * Some systems may declare memset and memcpy in . - * - * NOTE: we assume the size parameters to these functions are of type size_t. - * Change the casts in these macros if not! - */ - -#ifdef NEED_BSD_STRINGS - -#include -#define MEMZERO(target,size) bzero((void *)(target), (size_t)(size)) -#define MEMCOPY(dest,src,size) bcopy((const void *)(src), (void *)(dest), (size_t)(size)) - -#else /* not BSD, assume ANSI/SysV string lib */ - -#include -#define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size)) -#define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size)) - -#endif - -/* - * In ANSI C, and indeed any rational implementation, size_t is also the - * type returned by sizeof(). However, it seems there are some irrational - * implementations out there, in which sizeof() returns an int even though - * size_t is defined as long or unsigned long. To ensure consistent results - * we always use this SIZEOF() macro in place of using sizeof() directly. - */ - -#define SIZEOF(object) ((size_t) sizeof(object)) - -/* - * The modules that use fread() and fwrite() always invoke them through - * these macros. On some systems you may need to twiddle the argument casts. - * CAUTION: argument order is different from underlying functions! - */ - -#define JFREAD(file,buf,sizeofbuf) \ - ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) -#define JFWRITE(file,buf,sizeofbuf) \ - ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) diff --git a/3rdparty/openctm/tools/jpeg/jmemansi.c b/3rdparty/openctm/tools/jpeg/jmemansi.c deleted file mode 100644 index b5da4743f..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemansi.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * jmemansi.c - * - * Copyright (C) 1992-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file provides a simple generic implementation of the system- - * dependent portion of the JPEG memory manager. This implementation - * assumes that you have the ANSI-standard library routine tmpfile(). - * Also, the problem of determining the amount of memory available - * is shoved onto the user. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - -#ifndef SEEK_SET /* pre-ANSI systems may not define this; */ -#define SEEK_SET 0 /* if not, assume 0 is correct */ -#endif - - -/* - * Memory allocation and freeing are controlled by the regular library - * routines malloc() and free(). - */ - -GLOBAL(void *) -jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * "Large" objects are treated the same as "small" ones. - * NB: although we include FAR keywords in the routine declarations, - * this file won't actually work in 80x86 small/medium model; at least, - * you probably won't be able to process useful-size images in only 64KB. - */ - -GLOBAL(void FAR *) -jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void FAR *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * This routine computes the total memory space available for allocation. - * It's impossible to do this in a portable way; our current solution is - * to make the user tell us (with a default value set at compile time). - * If you can actually get the available space, it's a good idea to subtract - * a slop factor of 5% or so. - */ - -#ifndef DEFAULT_MAX_MEM /* so can override from makefile */ -#define DEFAULT_MAX_MEM 1000000L /* default: one megabyte */ -#endif - -GLOBAL(long) -jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, - long max_bytes_needed, long already_allocated) -{ - return cinfo->mem->max_memory_to_use - already_allocated; -} - - -/* - * Backing store (temporary file) management. - * Backing store objects are only used when the value returned by - * jpeg_mem_available is less than the total space needed. You can dispense - * with these routines if you have plenty of virtual memory; see jmemnobs.c. - */ - - -METHODDEF(void) -read_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (fseek(info->temp_file, file_offset, SEEK_SET)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - if (JFREAD(info->temp_file, buffer_address, byte_count) - != (size_t) byte_count) - ERREXIT(cinfo, JERR_TFILE_READ); -} - - -METHODDEF(void) -write_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (fseek(info->temp_file, file_offset, SEEK_SET)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - if (JFWRITE(info->temp_file, buffer_address, byte_count) - != (size_t) byte_count) - ERREXIT(cinfo, JERR_TFILE_WRITE); -} - - -METHODDEF(void) -close_backing_store (j_common_ptr cinfo, backing_store_ptr info) -{ - fclose(info->temp_file); - /* Since this implementation uses tmpfile() to create the file, - * no explicit file deletion is needed. - */ -} - - -/* - * Initial opening of a backing-store object. - * - * This version uses tmpfile(), which constructs a suitable file name - * behind the scenes. We don't have to use info->temp_name[] at all; - * indeed, we can't even find out the actual name of the temp file. - */ - -GLOBAL(void) -jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - if ((info->temp_file = tmpfile()) == NULL) - ERREXITS(cinfo, JERR_TFILE_CREATE, ""); - info->read_backing_store = read_backing_store; - info->write_backing_store = write_backing_store; - info->close_backing_store = close_backing_store; -} - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. - */ - -GLOBAL(long) -jpeg_mem_init (j_common_ptr cinfo) -{ - return DEFAULT_MAX_MEM; /* default for max_memory_to_use */ -} - -GLOBAL(void) -jpeg_mem_term (j_common_ptr cinfo) -{ - /* no work */ -} diff --git a/3rdparty/openctm/tools/jpeg/jmemdos.c b/3rdparty/openctm/tools/jpeg/jmemdos.c deleted file mode 100644 index 0955047ec..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemdos.c +++ /dev/null @@ -1,638 +0,0 @@ -/* - * jmemdos.c - * - * Copyright (C) 1992-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file provides an MS-DOS-compatible implementation of the system- - * dependent portion of the JPEG memory manager. Temporary data can be - * stored in extended or expanded memory as well as in regular DOS files. - * - * If you use this file, you must be sure that NEED_FAR_POINTERS is defined - * if you compile in a small-data memory model; it should NOT be defined if - * you use a large-data memory model. This file is not recommended if you - * are using a flat-memory-space 386 environment such as DJGCC or Watcom C. - * Also, this code will NOT work if struct fields are aligned on greater than - * 2-byte boundaries. - * - * Based on code contributed by Ge' Weijers. - */ - -/* - * If you have both extended and expanded memory, you may want to change the - * order in which they are tried in jopen_backing_store. On a 286 machine - * expanded memory is usually faster, since extended memory access involves - * an expensive protected-mode-and-back switch. On 386 and better, extended - * memory is usually faster. As distributed, the code tries extended memory - * first (what? not everyone has a 386? :-). - * - * You can disable use of extended/expanded memory entirely by altering these - * definitions or overriding them from the Makefile (eg, -DEMS_SUPPORTED=0). - */ - -#ifndef XMS_SUPPORTED -#define XMS_SUPPORTED 1 -#endif -#ifndef EMS_SUPPORTED -#define EMS_SUPPORTED 1 -#endif - - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef HAVE_STDLIB_H /* should declare these */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -extern char * getenv JPP((const char * name)); -#endif - -#ifdef NEED_FAR_POINTERS - -#ifdef __TURBOC__ -/* These definitions work for Borland C (Turbo C) */ -#include /* need farmalloc(), farfree() */ -#define far_malloc(x) farmalloc(x) -#define far_free(x) farfree(x) -#else -/* These definitions work for Microsoft C and compatible compilers */ -#include /* need _fmalloc(), _ffree() */ -#define far_malloc(x) _fmalloc(x) -#define far_free(x) _ffree(x) -#endif - -#else /* not NEED_FAR_POINTERS */ - -#define far_malloc(x) malloc(x) -#define far_free(x) free(x) - -#endif /* NEED_FAR_POINTERS */ - -#ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */ -#define READ_BINARY "r" -#else -#define READ_BINARY "rb" -#endif - -#ifndef USE_MSDOS_MEMMGR /* make sure user got configuration right */ - You forgot to define USE_MSDOS_MEMMGR in jconfig.h. /* deliberate syntax error */ -#endif - -#if MAX_ALLOC_CHUNK >= 65535L /* make sure jconfig.h got this right */ - MAX_ALLOC_CHUNK should be less than 64K. /* deliberate syntax error */ -#endif - - -/* - * Declarations for assembly-language support routines (see jmemdosa.asm). - * - * The functions are declared "far" as are all their pointer arguments; - * this ensures the assembly source code will work regardless of the - * compiler memory model. We assume "short" is 16 bits, "long" is 32. - */ - -typedef void far * XMSDRIVER; /* actually a pointer to code */ -typedef struct { /* registers for calling XMS driver */ - unsigned short ax, dx, bx; - void far * ds_si; - } XMScontext; -typedef struct { /* registers for calling EMS driver */ - unsigned short ax, dx, bx; - void far * ds_si; - } EMScontext; - -extern short far jdos_open JPP((short far * handle, char far * filename)); -extern short far jdos_close JPP((short handle)); -extern short far jdos_seek JPP((short handle, long offset)); -extern short far jdos_read JPP((short handle, void far * buffer, - unsigned short count)); -extern short far jdos_write JPP((short handle, void far * buffer, - unsigned short count)); -extern void far jxms_getdriver JPP((XMSDRIVER far *)); -extern void far jxms_calldriver JPP((XMSDRIVER, XMScontext far *)); -extern short far jems_available JPP((void)); -extern void far jems_calldriver JPP((EMScontext far *)); - - -/* - * Selection of a file name for a temporary file. - * This is highly system-dependent, and you may want to customize it. - */ - -static int next_file_num; /* to distinguish among several temp files */ - -LOCAL(void) -select_file_name (char * fname) -{ - const char * env; - char * ptr; - FILE * tfile; - - /* Keep generating file names till we find one that's not in use */ - for (;;) { - /* Get temp directory name from environment TMP or TEMP variable; - * if none, use "." - */ - if ((env = (const char *) getenv("TMP")) == NULL) - if ((env = (const char *) getenv("TEMP")) == NULL) - env = "."; - if (*env == '\0') /* null string means "." */ - env = "."; - ptr = fname; /* copy name to fname */ - while (*env != '\0') - *ptr++ = *env++; - if (ptr[-1] != '\\' && ptr[-1] != '/') - *ptr++ = '\\'; /* append backslash if not in env variable */ - /* Append a suitable file name */ - next_file_num++; /* advance counter */ - sprintf(ptr, "JPG%03d.TMP", next_file_num); - /* Probe to see if file name is already in use */ - if ((tfile = fopen(fname, READ_BINARY)) == NULL) - break; - fclose(tfile); /* oops, it's there; close tfile & try again */ - } -} - - -/* - * Near-memory allocation and freeing are controlled by the regular library - * routines malloc() and free(). - */ - -GLOBAL(void *) -jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * "Large" objects are allocated in far memory, if possible - */ - -GLOBAL(void FAR *) -jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void FAR *) far_malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) -{ - far_free(object); -} - - -/* - * This routine computes the total memory space available for allocation. - * It's impossible to do this in a portable way; our current solution is - * to make the user tell us (with a default value set at compile time). - * If you can actually get the available space, it's a good idea to subtract - * a slop factor of 5% or so. - */ - -#ifndef DEFAULT_MAX_MEM /* so can override from makefile */ -#define DEFAULT_MAX_MEM 300000L /* for total usage about 450K */ -#endif - -GLOBAL(long) -jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, - long max_bytes_needed, long already_allocated) -{ - return cinfo->mem->max_memory_to_use - already_allocated; -} - - -/* - * Backing store (temporary file) management. - * Backing store objects are only used when the value returned by - * jpeg_mem_available is less than the total space needed. You can dispense - * with these routines if you have plenty of virtual memory; see jmemnobs.c. - */ - -/* - * For MS-DOS we support three types of backing storage: - * 1. Conventional DOS files. We access these by direct DOS calls rather - * than via the stdio package. This provides a bit better performance, - * but the real reason is that the buffers to be read or written are FAR. - * The stdio library for small-data memory models can't cope with that. - * 2. Extended memory, accessed per the XMS V2.0 specification. - * 3. Expanded memory, accessed per the LIM/EMS 4.0 specification. - * You'll need copies of those specs to make sense of the related code. - * The specs are available by Internet FTP from the SIMTEL archives - * (oak.oakland.edu and its various mirror sites). See files - * pub/msdos/microsoft/xms20.arc and pub/msdos/info/limems41.zip. - */ - - -/* - * Access methods for a DOS file. - */ - - -METHODDEF(void) -read_file_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (jdos_seek(info->handle.file_handle, file_offset)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - /* Since MAX_ALLOC_CHUNK is less than 64K, byte_count will be too. */ - if (byte_count > 65535L) /* safety check */ - ERREXIT(cinfo, JERR_BAD_ALLOC_CHUNK); - if (jdos_read(info->handle.file_handle, buffer_address, - (unsigned short) byte_count)) - ERREXIT(cinfo, JERR_TFILE_READ); -} - - -METHODDEF(void) -write_file_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (jdos_seek(info->handle.file_handle, file_offset)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - /* Since MAX_ALLOC_CHUNK is less than 64K, byte_count will be too. */ - if (byte_count > 65535L) /* safety check */ - ERREXIT(cinfo, JERR_BAD_ALLOC_CHUNK); - if (jdos_write(info->handle.file_handle, buffer_address, - (unsigned short) byte_count)) - ERREXIT(cinfo, JERR_TFILE_WRITE); -} - - -METHODDEF(void) -close_file_store (j_common_ptr cinfo, backing_store_ptr info) -{ - jdos_close(info->handle.file_handle); /* close the file */ - remove(info->temp_name); /* delete the file */ -/* If your system doesn't have remove(), try unlink() instead. - * remove() is the ANSI-standard name for this function, but - * unlink() was more common in pre-ANSI systems. - */ - TRACEMSS(cinfo, 1, JTRC_TFILE_CLOSE, info->temp_name); -} - - -LOCAL(boolean) -open_file_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - short handle; - - select_file_name(info->temp_name); - if (jdos_open((short far *) & handle, (char far *) info->temp_name)) { - /* might as well exit since jpeg_open_backing_store will fail anyway */ - ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name); - return FALSE; - } - info->handle.file_handle = handle; - info->read_backing_store = read_file_store; - info->write_backing_store = write_file_store; - info->close_backing_store = close_file_store; - TRACEMSS(cinfo, 1, JTRC_TFILE_OPEN, info->temp_name); - return TRUE; /* succeeded */ -} - - -/* - * Access methods for extended memory. - */ - -#if XMS_SUPPORTED - -static XMSDRIVER xms_driver; /* saved address of XMS driver */ - -typedef union { /* either long offset or real-mode pointer */ - long offset; - void far * ptr; - } XMSPTR; - -typedef struct { /* XMS move specification structure */ - long length; - XMSH src_handle; - XMSPTR src; - XMSH dst_handle; - XMSPTR dst; - } XMSspec; - -#define ODD(X) (((X) & 1L) != 0) - - -METHODDEF(void) -read_xms_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - XMScontext ctx; - XMSspec spec; - char endbuffer[2]; - - /* The XMS driver can't cope with an odd length, so handle the last byte - * specially if byte_count is odd. We don't expect this to be common. - */ - - spec.length = byte_count & (~ 1L); - spec.src_handle = info->handle.xms_handle; - spec.src.offset = file_offset; - spec.dst_handle = 0; - spec.dst.ptr = buffer_address; - - ctx.ds_si = (void far *) & spec; - ctx.ax = 0x0b00; /* EMB move */ - jxms_calldriver(xms_driver, (XMScontext far *) & ctx); - if (ctx.ax != 1) - ERREXIT(cinfo, JERR_XMS_READ); - - if (ODD(byte_count)) { - read_xms_store(cinfo, info, (void FAR *) endbuffer, - file_offset + byte_count - 1L, 2L); - ((char FAR *) buffer_address)[byte_count - 1L] = endbuffer[0]; - } -} - - -METHODDEF(void) -write_xms_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - XMScontext ctx; - XMSspec spec; - char endbuffer[2]; - - /* The XMS driver can't cope with an odd length, so handle the last byte - * specially if byte_count is odd. We don't expect this to be common. - */ - - spec.length = byte_count & (~ 1L); - spec.src_handle = 0; - spec.src.ptr = buffer_address; - spec.dst_handle = info->handle.xms_handle; - spec.dst.offset = file_offset; - - ctx.ds_si = (void far *) & spec; - ctx.ax = 0x0b00; /* EMB move */ - jxms_calldriver(xms_driver, (XMScontext far *) & ctx); - if (ctx.ax != 1) - ERREXIT(cinfo, JERR_XMS_WRITE); - - if (ODD(byte_count)) { - read_xms_store(cinfo, info, (void FAR *) endbuffer, - file_offset + byte_count - 1L, 2L); - endbuffer[0] = ((char FAR *) buffer_address)[byte_count - 1L]; - write_xms_store(cinfo, info, (void FAR *) endbuffer, - file_offset + byte_count - 1L, 2L); - } -} - - -METHODDEF(void) -close_xms_store (j_common_ptr cinfo, backing_store_ptr info) -{ - XMScontext ctx; - - ctx.dx = info->handle.xms_handle; - ctx.ax = 0x0a00; - jxms_calldriver(xms_driver, (XMScontext far *) & ctx); - TRACEMS1(cinfo, 1, JTRC_XMS_CLOSE, info->handle.xms_handle); - /* we ignore any error return from the driver */ -} - - -LOCAL(boolean) -open_xms_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - XMScontext ctx; - - /* Get address of XMS driver */ - jxms_getdriver((XMSDRIVER far *) & xms_driver); - if (xms_driver == NULL) - return FALSE; /* no driver to be had */ - - /* Get version number, must be >= 2.00 */ - ctx.ax = 0x0000; - jxms_calldriver(xms_driver, (XMScontext far *) & ctx); - if (ctx.ax < (unsigned short) 0x0200) - return FALSE; - - /* Try to get space (expressed in kilobytes) */ - ctx.dx = (unsigned short) ((total_bytes_needed + 1023L) >> 10); - ctx.ax = 0x0900; - jxms_calldriver(xms_driver, (XMScontext far *) & ctx); - if (ctx.ax != 1) - return FALSE; - - /* Succeeded, save the handle and away we go */ - info->handle.xms_handle = ctx.dx; - info->read_backing_store = read_xms_store; - info->write_backing_store = write_xms_store; - info->close_backing_store = close_xms_store; - TRACEMS1(cinfo, 1, JTRC_XMS_OPEN, ctx.dx); - return TRUE; /* succeeded */ -} - -#endif /* XMS_SUPPORTED */ - - -/* - * Access methods for expanded memory. - */ - -#if EMS_SUPPORTED - -/* The EMS move specification structure requires word and long fields aligned - * at odd byte boundaries. Some compilers will align struct fields at even - * byte boundaries. While it's usually possible to force byte alignment, - * that causes an overall performance penalty and may pose problems in merging - * JPEG into a larger application. Instead we accept some rather dirty code - * here. Note this code would fail if the hardware did not allow odd-byte - * word & long accesses, but all 80x86 CPUs do. - */ - -typedef void far * EMSPTR; - -typedef union { /* EMS move specification structure */ - long length; /* It's easy to access first 4 bytes */ - char bytes[18]; /* Misaligned fields in here! */ - } EMSspec; - -/* Macros for accessing misaligned fields */ -#define FIELD_AT(spec,offset,type) (*((type *) &(spec.bytes[offset]))) -#define SRC_TYPE(spec) FIELD_AT(spec,4,char) -#define SRC_HANDLE(spec) FIELD_AT(spec,5,EMSH) -#define SRC_OFFSET(spec) FIELD_AT(spec,7,unsigned short) -#define SRC_PAGE(spec) FIELD_AT(spec,9,unsigned short) -#define SRC_PTR(spec) FIELD_AT(spec,7,EMSPTR) -#define DST_TYPE(spec) FIELD_AT(spec,11,char) -#define DST_HANDLE(spec) FIELD_AT(spec,12,EMSH) -#define DST_OFFSET(spec) FIELD_AT(spec,14,unsigned short) -#define DST_PAGE(spec) FIELD_AT(spec,16,unsigned short) -#define DST_PTR(spec) FIELD_AT(spec,14,EMSPTR) - -#define EMSPAGESIZE 16384L /* gospel, see the EMS specs */ - -#define HIBYTE(W) (((W) >> 8) & 0xFF) -#define LOBYTE(W) ((W) & 0xFF) - - -METHODDEF(void) -read_ems_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - EMScontext ctx; - EMSspec spec; - - spec.length = byte_count; - SRC_TYPE(spec) = 1; - SRC_HANDLE(spec) = info->handle.ems_handle; - SRC_PAGE(spec) = (unsigned short) (file_offset / EMSPAGESIZE); - SRC_OFFSET(spec) = (unsigned short) (file_offset % EMSPAGESIZE); - DST_TYPE(spec) = 0; - DST_HANDLE(spec) = 0; - DST_PTR(spec) = buffer_address; - - ctx.ds_si = (void far *) & spec; - ctx.ax = 0x5700; /* move memory region */ - jems_calldriver((EMScontext far *) & ctx); - if (HIBYTE(ctx.ax) != 0) - ERREXIT(cinfo, JERR_EMS_READ); -} - - -METHODDEF(void) -write_ems_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - EMScontext ctx; - EMSspec spec; - - spec.length = byte_count; - SRC_TYPE(spec) = 0; - SRC_HANDLE(spec) = 0; - SRC_PTR(spec) = buffer_address; - DST_TYPE(spec) = 1; - DST_HANDLE(spec) = info->handle.ems_handle; - DST_PAGE(spec) = (unsigned short) (file_offset / EMSPAGESIZE); - DST_OFFSET(spec) = (unsigned short) (file_offset % EMSPAGESIZE); - - ctx.ds_si = (void far *) & spec; - ctx.ax = 0x5700; /* move memory region */ - jems_calldriver((EMScontext far *) & ctx); - if (HIBYTE(ctx.ax) != 0) - ERREXIT(cinfo, JERR_EMS_WRITE); -} - - -METHODDEF(void) -close_ems_store (j_common_ptr cinfo, backing_store_ptr info) -{ - EMScontext ctx; - - ctx.ax = 0x4500; - ctx.dx = info->handle.ems_handle; - jems_calldriver((EMScontext far *) & ctx); - TRACEMS1(cinfo, 1, JTRC_EMS_CLOSE, info->handle.ems_handle); - /* we ignore any error return from the driver */ -} - - -LOCAL(boolean) -open_ems_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - EMScontext ctx; - - /* Is EMS driver there? */ - if (! jems_available()) - return FALSE; - - /* Get status, make sure EMS is OK */ - ctx.ax = 0x4000; - jems_calldriver((EMScontext far *) & ctx); - if (HIBYTE(ctx.ax) != 0) - return FALSE; - - /* Get version, must be >= 4.0 */ - ctx.ax = 0x4600; - jems_calldriver((EMScontext far *) & ctx); - if (HIBYTE(ctx.ax) != 0 || LOBYTE(ctx.ax) < 0x40) - return FALSE; - - /* Try to allocate requested space */ - ctx.ax = 0x4300; - ctx.bx = (unsigned short) ((total_bytes_needed + EMSPAGESIZE-1L) / EMSPAGESIZE); - jems_calldriver((EMScontext far *) & ctx); - if (HIBYTE(ctx.ax) != 0) - return FALSE; - - /* Succeeded, save the handle and away we go */ - info->handle.ems_handle = ctx.dx; - info->read_backing_store = read_ems_store; - info->write_backing_store = write_ems_store; - info->close_backing_store = close_ems_store; - TRACEMS1(cinfo, 1, JTRC_EMS_OPEN, ctx.dx); - return TRUE; /* succeeded */ -} - -#endif /* EMS_SUPPORTED */ - - -/* - * Initial opening of a backing-store object. - */ - -GLOBAL(void) -jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - /* Try extended memory, then expanded memory, then regular file. */ -#if XMS_SUPPORTED - if (open_xms_store(cinfo, info, total_bytes_needed)) - return; -#endif -#if EMS_SUPPORTED - if (open_ems_store(cinfo, info, total_bytes_needed)) - return; -#endif - if (open_file_store(cinfo, info, total_bytes_needed)) - return; - ERREXITS(cinfo, JERR_TFILE_CREATE, ""); -} - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. - */ - -GLOBAL(long) -jpeg_mem_init (j_common_ptr cinfo) -{ - next_file_num = 0; /* initialize temp file name generator */ - return DEFAULT_MAX_MEM; /* default for max_memory_to_use */ -} - -GLOBAL(void) -jpeg_mem_term (j_common_ptr cinfo) -{ - /* Microsoft C, at least in v6.00A, will not successfully reclaim freed - * blocks of size > 32Kbytes unless we give it a kick in the rear, like so: - */ -#ifdef NEED_FHEAPMIN - _fheapmin(); -#endif -} diff --git a/3rdparty/openctm/tools/jpeg/jmemdosa.asm b/3rdparty/openctm/tools/jpeg/jmemdosa.asm deleted file mode 100644 index c6ec48b34..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemdosa.asm +++ /dev/null @@ -1,379 +0,0 @@ -; -; jmemdosa.asm -; -; Copyright (C) 1992, Thomas G. Lane. -; This file is part of the Independent JPEG Group's software. -; For conditions of distribution and use, see the accompanying README file. -; -; This file contains low-level interface routines to support the MS-DOS -; backing store manager (jmemdos.c). Routines are provided to access disk -; files through direct DOS calls, and to access XMS and EMS drivers. -; -; This file should assemble with Microsoft's MASM or any compatible -; assembler (including Borland's Turbo Assembler). If you haven't got -; a compatible assembler, better fall back to jmemansi.c or jmemname.c. -; -; To minimize dependence on the C compiler's register usage conventions, -; we save and restore all 8086 registers, even though most compilers only -; require SI,DI,DS to be preserved. Also, we use only 16-bit-wide return -; values, which everybody returns in AX. -; -; Based on code contributed by Ge' Weijers. -; - -JMEMDOSA_TXT segment byte public 'CODE' - - assume cs:JMEMDOSA_TXT - - public _jdos_open - public _jdos_close - public _jdos_seek - public _jdos_read - public _jdos_write - public _jxms_getdriver - public _jxms_calldriver - public _jems_available - public _jems_calldriver - -; -; short far jdos_open (short far * handle, char far * filename) -; -; Create and open a temporary file -; -_jdos_open proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov cx,0 ; normal file attributes - lds dx,dword ptr [bp+10] ; get filename pointer - mov ah,3ch ; create file - int 21h - jc open_err ; if failed, return error code - lds bx,dword ptr [bp+6] ; get handle pointer - mov word ptr [bx],ax ; save the handle - xor ax,ax ; return zero for OK -open_err: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jdos_open endp - - -; -; short far jdos_close (short handle) -; -; Close the file handle -; -_jdos_close proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov bx,word ptr [bp+6] ; file handle - mov ah,3eh ; close file - int 21h - jc close_err ; if failed, return error code - xor ax,ax ; return zero for OK -close_err: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jdos_close endp - - -; -; short far jdos_seek (short handle, long offset) -; -; Set file position -; -_jdos_seek proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov bx,word ptr [bp+6] ; file handle - mov dx,word ptr [bp+8] ; LS offset - mov cx,word ptr [bp+10] ; MS offset - mov ax,4200h ; absolute seek - int 21h - jc seek_err ; if failed, return error code - xor ax,ax ; return zero for OK -seek_err: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jdos_seek endp - - -; -; short far jdos_read (short handle, void far * buffer, unsigned short count) -; -; Read from file -; -_jdos_read proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov bx,word ptr [bp+6] ; file handle - lds dx,dword ptr [bp+8] ; buffer address - mov cx,word ptr [bp+12] ; number of bytes - mov ah,3fh ; read file - int 21h - jc read_err ; if failed, return error code - cmp ax,word ptr [bp+12] ; make sure all bytes were read - je read_ok - mov ax,1 ; else return 1 for not OK - jmp short read_err -read_ok: xor ax,ax ; return zero for OK -read_err: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jdos_read endp - - -; -; short far jdos_write (short handle, void far * buffer, unsigned short count) -; -; Write to file -; -_jdos_write proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov bx,word ptr [bp+6] ; file handle - lds dx,dword ptr [bp+8] ; buffer address - mov cx,word ptr [bp+12] ; number of bytes - mov ah,40h ; write file - int 21h - jc write_err ; if failed, return error code - cmp ax,word ptr [bp+12] ; make sure all bytes written - je write_ok - mov ax,1 ; else return 1 for not OK - jmp short write_err -write_ok: xor ax,ax ; return zero for OK -write_err: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jdos_write endp - - -; -; void far jxms_getdriver (XMSDRIVER far *) -; -; Get the address of the XMS driver, or NULL if not available -; -_jxms_getdriver proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov ax,4300h ; call multiplex interrupt with - int 2fh ; a magic cookie, hex 4300 - cmp al,80h ; AL should contain hex 80 - je xmsavail - xor dx,dx ; no XMS driver available - xor ax,ax ; return a nil pointer - jmp short xmsavail_done -xmsavail: mov ax,4310h ; fetch driver address with - int 2fh ; another magic cookie - mov dx,es ; copy address to dx:ax - mov ax,bx -xmsavail_done: les bx,dword ptr [bp+6] ; get pointer to return value - mov word ptr es:[bx],ax - mov word ptr es:[bx+2],dx - pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jxms_getdriver endp - - -; -; void far jxms_calldriver (XMSDRIVER, XMScontext far *) -; -; The XMScontext structure contains values for the AX,DX,BX,SI,DS registers. -; These are loaded, the XMS call is performed, and the new values of the -; AX,DX,BX registers are written back to the context structure. -; -_jxms_calldriver proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - les bx,dword ptr [bp+10] ; get XMScontext pointer - mov ax,word ptr es:[bx] ; load registers - mov dx,word ptr es:[bx+2] - mov si,word ptr es:[bx+6] - mov ds,word ptr es:[bx+8] - mov bx,word ptr es:[bx+4] - call dword ptr [bp+6] ; call the driver - mov cx,bx ; save returned BX for a sec - les bx,dword ptr [bp+10] ; get XMScontext pointer - mov word ptr es:[bx],ax ; put back ax,dx,bx - mov word ptr es:[bx+2],dx - mov word ptr es:[bx+4],cx - pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jxms_calldriver endp - - -; -; short far jems_available (void) -; -; Have we got an EMS driver? (this comes straight from the EMS 4.0 specs) -; -_jems_available proc far - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - mov ax,3567h ; get interrupt vector 67h - int 21h - push cs - pop ds - mov di,000ah ; check offs 10 in returned seg - lea si,ASCII_device_name ; against literal string - mov cx,8 - cld - repe cmpsb - jne no_ems - mov ax,1 ; match, it's there - jmp short avail_done -no_ems: xor ax,ax ; it's not there -avail_done: pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - ret - -ASCII_device_name db "EMMXXXX0" - -_jems_available endp - - -; -; void far jems_calldriver (EMScontext far *) -; -; The EMScontext structure contains values for the AX,DX,BX,SI,DS registers. -; These are loaded, the EMS trap is performed, and the new values of the -; AX,DX,BX registers are written back to the context structure. -; -_jems_calldriver proc far - push bp ; linkage - mov bp,sp - push si ; save all registers for safety - push di - push bx - push cx - push dx - push es - push ds - les bx,dword ptr [bp+6] ; get EMScontext pointer - mov ax,word ptr es:[bx] ; load registers - mov dx,word ptr es:[bx+2] - mov si,word ptr es:[bx+6] - mov ds,word ptr es:[bx+8] - mov bx,word ptr es:[bx+4] - int 67h ; call the EMS driver - mov cx,bx ; save returned BX for a sec - les bx,dword ptr [bp+6] ; get EMScontext pointer - mov word ptr es:[bx],ax ; put back ax,dx,bx - mov word ptr es:[bx+2],dx - mov word ptr es:[bx+4],cx - pop ds ; restore registers and exit - pop es - pop dx - pop cx - pop bx - pop di - pop si - pop bp - ret -_jems_calldriver endp - -JMEMDOSA_TXT ends - - end diff --git a/3rdparty/openctm/tools/jpeg/jmemmac.c b/3rdparty/openctm/tools/jpeg/jmemmac.c deleted file mode 100644 index a6f043ed4..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemmac.c +++ /dev/null @@ -1,289 +0,0 @@ -/* - * jmemmac.c - * - * Copyright (C) 1992-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * jmemmac.c provides an Apple Macintosh implementation of the system- - * dependent portion of the JPEG memory manager. - * - * If you use jmemmac.c, then you must define USE_MAC_MEMMGR in the - * JPEG_INTERNALS part of jconfig.h. - * - * jmemmac.c uses the Macintosh toolbox routines NewPtr and DisposePtr - * instead of malloc and free. It accurately determines the amount of - * memory available by using CompactMem. Notice that if left to its - * own devices, this code can chew up all available space in the - * application's zone, with the exception of the rather small "slop" - * factor computed in jpeg_mem_available(). The application can ensure - * that more space is left over by reducing max_memory_to_use. - * - * Large images are swapped to disk using temporary files and System 7.0+'s - * temporary folder functionality. - * - * Note that jmemmac.c depends on two features of MacOS that were first - * introduced in System 7: FindFolder and the FSSpec-based calls. - * If your application uses jmemmac.c and is run under System 6 or earlier, - * and the jpeg library decides it needs a temporary file, it will abort, - * printing error messages about requiring System 7. (If no temporary files - * are created, it will run fine.) - * - * If you want to use jmemmac.c in an application that might be used with - * System 6 or earlier, then you should remove dependencies on FindFolder - * and the FSSpec calls. You will need to replace FindFolder with some - * other mechanism for finding a place to put temporary files, and you - * should replace the FSSpec calls with their HFS equivalents: - * - * FSpDelete -> HDelete - * FSpGetFInfo -> HGetFInfo - * FSpCreate -> HCreate - * FSpOpenDF -> HOpen *** Note: not HOpenDF *** - * FSMakeFSSpec -> (fill in spec by hand.) - * - * (Use HOpen instead of HOpenDF. HOpen is just a glue-interface to PBHOpen, - * which is on all HFS macs. HOpenDF is a System 7 addition which avoids the - * ages-old problem of names starting with a period.) - * - * Contributed by Sam Bushell (jsam@iagu.on.net) and - * Dan Gildor (gyld@in-touch.com). - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef USE_MAC_MEMMGR /* make sure user got configuration right */ - You forgot to define USE_MAC_MEMMGR in jconfig.h. /* deliberate syntax error */ -#endif - -#include /* we use the MacOS memory manager */ -#include /* we use the MacOS File stuff */ -#include /* we use the MacOS HFS stuff */ -#include /* for smSystemScript */ -#include /* we use Gestalt to test for specific functionality */ - -#ifndef TEMP_FILE_NAME /* can override from jconfig.h or Makefile */ -#define TEMP_FILE_NAME "JPG%03d.TMP" -#endif - -static int next_file_num; /* to distinguish among several temp files */ - - -/* - * Memory allocation and freeing are controlled by the MacOS library - * routines NewPtr() and DisposePtr(), which allocate fixed-address - * storage. Unfortunately, the IJG library isn't smart enough to cope - * with relocatable storage. - */ - -GLOBAL(void *) -jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void *) NewPtr(sizeofobject); -} - -GLOBAL(void) -jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) -{ - DisposePtr((Ptr) object); -} - - -/* - * "Large" objects are treated the same as "small" ones. - * NB: we include FAR keywords in the routine declarations simply for - * consistency with the rest of the IJG code; FAR should expand to empty - * on rational architectures like the Mac. - */ - -GLOBAL(void FAR *) -jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void FAR *) NewPtr(sizeofobject); -} - -GLOBAL(void) -jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) -{ - DisposePtr((Ptr) object); -} - - -/* - * This routine computes the total memory space available for allocation. - */ - -GLOBAL(long) -jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, - long max_bytes_needed, long already_allocated) -{ - long limit = cinfo->mem->max_memory_to_use - already_allocated; - long slop, mem; - - /* Don't ask for more than what application has told us we may use */ - if (max_bytes_needed > limit && limit > 0) - max_bytes_needed = limit; - /* Find whether there's a big enough free block in the heap. - * CompactMem tries to create a contiguous block of the requested size, - * and then returns the size of the largest free block (which could be - * much more or much less than we asked for). - * We add some slop to ensure we don't use up all available memory. - */ - slop = max_bytes_needed / 16 + 32768L; - mem = CompactMem(max_bytes_needed + slop) - slop; - if (mem < 0) - mem = 0; /* sigh, couldn't even get the slop */ - /* Don't take more than the application says we can have */ - if (mem > limit && limit > 0) - mem = limit; - return mem; -} - - -/* - * Backing store (temporary file) management. - * Backing store objects are only used when the value returned by - * jpeg_mem_available is less than the total space needed. You can dispense - * with these routines if you have plenty of virtual memory; see jmemnobs.c. - */ - - -METHODDEF(void) -read_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - long bytes = byte_count; - long retVal; - - if ( SetFPos ( info->temp_file, fsFromStart, file_offset ) != noErr ) - ERREXIT(cinfo, JERR_TFILE_SEEK); - - retVal = FSRead ( info->temp_file, &bytes, - (unsigned char *) buffer_address ); - if ( retVal != noErr || bytes != byte_count ) - ERREXIT(cinfo, JERR_TFILE_READ); -} - - -METHODDEF(void) -write_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - long bytes = byte_count; - long retVal; - - if ( SetFPos ( info->temp_file, fsFromStart, file_offset ) != noErr ) - ERREXIT(cinfo, JERR_TFILE_SEEK); - - retVal = FSWrite ( info->temp_file, &bytes, - (unsigned char *) buffer_address ); - if ( retVal != noErr || bytes != byte_count ) - ERREXIT(cinfo, JERR_TFILE_WRITE); -} - - -METHODDEF(void) -close_backing_store (j_common_ptr cinfo, backing_store_ptr info) -{ - FSClose ( info->temp_file ); - FSpDelete ( &(info->tempSpec) ); -} - - -/* - * Initial opening of a backing-store object. - * - * This version uses FindFolder to find the Temporary Items folder, - * and puts the temporary file in there. - */ - -GLOBAL(void) -jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - short tmpRef, vRefNum; - long dirID; - FInfo finderInfo; - FSSpec theSpec; - Str255 fName; - OSErr osErr; - long gestaltResponse = 0; - - /* Check that FSSpec calls are available. */ - osErr = Gestalt( gestaltFSAttr, &gestaltResponse ); - if ( ( osErr != noErr ) - || !( gestaltResponse & (1<temp_name, TEMP_FILE_NAME, next_file_num); - strcpy ( (Ptr)fName+1, info->temp_name ); - *fName = strlen (info->temp_name); - osErr = FSMakeFSSpec ( vRefNum, dirID, fName, &theSpec ); - - if ( (osErr = FSpGetFInfo ( &theSpec, &finderInfo ) ) != noErr ) - break; - } - - osErr = FSpCreate ( &theSpec, '????', '????', smSystemScript ); - if ( osErr != noErr ) - ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name); - - osErr = FSpOpenDF ( &theSpec, fsRdWrPerm, &(info->temp_file) ); - if ( osErr != noErr ) - ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name); - - info->tempSpec = theSpec; - - info->read_backing_store = read_backing_store; - info->write_backing_store = write_backing_store; - info->close_backing_store = close_backing_store; - TRACEMSS(cinfo, 1, JTRC_TFILE_OPEN, info->temp_name); -} - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. - */ - -GLOBAL(long) -jpeg_mem_init (j_common_ptr cinfo) -{ - next_file_num = 0; - - /* max_memory_to_use will be initialized to FreeMem()'s result; - * the calling application might later reduce it, for example - * to leave room to invoke multiple JPEG objects. - * Note that FreeMem returns the total number of free bytes; - * it may not be possible to allocate a single block of this size. - */ - return FreeMem(); -} - -GLOBAL(void) -jpeg_mem_term (j_common_ptr cinfo) -{ - /* no work */ -} diff --git a/3rdparty/openctm/tools/jpeg/jmemmgr.c b/3rdparty/openctm/tools/jpeg/jmemmgr.c deleted file mode 100644 index b636f1be5..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemmgr.c +++ /dev/null @@ -1,1118 +0,0 @@ -/* - * jmemmgr.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains the JPEG system-independent memory management - * routines. This code is usable across a wide variety of machines; most - * of the system dependencies have been isolated in a separate file. - * The major functions provided here are: - * * pool-based allocation and freeing of memory; - * * policy decisions about how to divide available memory among the - * virtual arrays; - * * control logic for swapping virtual arrays between main memory and - * backing storage. - * The separate system-dependent file provides the actual backing-storage - * access code, and it contains the policy decision about how much total - * main memory to use. - * This file is system-dependent in the sense that some of its functions - * are unnecessary in some systems. For example, if there is enough virtual - * memory so that backing storage will never be used, much of the virtual - * array control logic could be removed. (Of course, if you have that much - * memory then you shouldn't care about a little bit of unused code...) - */ - -#define JPEG_INTERNALS -#define AM_MEMORY_MANAGER /* we define jvirt_Xarray_control structs */ -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef NO_GETENV -#ifndef HAVE_STDLIB_H /* should declare getenv() */ -extern char * getenv JPP((const char * name)); -#endif -#endif - - -/* - * Some important notes: - * The allocation routines provided here must never return NULL. - * They should exit to error_exit if unsuccessful. - * - * It's not a good idea to try to merge the sarray and barray routines, - * even though they are textually almost the same, because samples are - * usually stored as bytes while coefficients are shorts or ints. Thus, - * in machines where byte pointers have a different representation from - * word pointers, the resulting machine code could not be the same. - */ - - -/* - * Many machines require storage alignment: longs must start on 4-byte - * boundaries, doubles on 8-byte boundaries, etc. On such machines, malloc() - * always returns pointers that are multiples of the worst-case alignment - * requirement, and we had better do so too. - * There isn't any really portable way to determine the worst-case alignment - * requirement. This module assumes that the alignment requirement is - * multiples of sizeof(ALIGN_TYPE). - * By default, we define ALIGN_TYPE as double. This is necessary on some - * workstations (where doubles really do need 8-byte alignment) and will work - * fine on nearly everything. If your machine has lesser alignment needs, - * you can save a few bytes by making ALIGN_TYPE smaller. - * The only place I know of where this will NOT work is certain Macintosh - * 680x0 compilers that define double as a 10-byte IEEE extended float. - * Doing 10-byte alignment is counterproductive because longwords won't be - * aligned well. Put "#define ALIGN_TYPE long" in jconfig.h if you have - * such a compiler. - */ - -#ifndef ALIGN_TYPE /* so can override from jconfig.h */ -#define ALIGN_TYPE double -#endif - - -/* - * We allocate objects from "pools", where each pool is gotten with a single - * request to jpeg_get_small() or jpeg_get_large(). There is no per-object - * overhead within a pool, except for alignment padding. Each pool has a - * header with a link to the next pool of the same class. - * Small and large pool headers are identical except that the latter's - * link pointer must be FAR on 80x86 machines. - * Notice that the "real" header fields are union'ed with a dummy ALIGN_TYPE - * field. This forces the compiler to make SIZEOF(small_pool_hdr) a multiple - * of the alignment requirement of ALIGN_TYPE. - */ - -typedef union small_pool_struct * small_pool_ptr; - -typedef union small_pool_struct { - struct { - small_pool_ptr next; /* next in list of pools */ - size_t bytes_used; /* how many bytes already used within pool */ - size_t bytes_left; /* bytes still available in this pool */ - } hdr; - ALIGN_TYPE dummy; /* included in union to ensure alignment */ -} small_pool_hdr; - -typedef union large_pool_struct FAR * large_pool_ptr; - -typedef union large_pool_struct { - struct { - large_pool_ptr next; /* next in list of pools */ - size_t bytes_used; /* how many bytes already used within pool */ - size_t bytes_left; /* bytes still available in this pool */ - } hdr; - ALIGN_TYPE dummy; /* included in union to ensure alignment */ -} large_pool_hdr; - - -/* - * Here is the full definition of a memory manager object. - */ - -typedef struct { - struct jpeg_memory_mgr pub; /* public fields */ - - /* Each pool identifier (lifetime class) names a linked list of pools. */ - small_pool_ptr small_list[JPOOL_NUMPOOLS]; - large_pool_ptr large_list[JPOOL_NUMPOOLS]; - - /* Since we only have one lifetime class of virtual arrays, only one - * linked list is necessary (for each datatype). Note that the virtual - * array control blocks being linked together are actually stored somewhere - * in the small-pool list. - */ - jvirt_sarray_ptr virt_sarray_list; - jvirt_barray_ptr virt_barray_list; - - /* This counts total space obtained from jpeg_get_small/large */ - long total_space_allocated; - - /* alloc_sarray and alloc_barray set this value for use by virtual - * array routines. - */ - JDIMENSION last_rowsperchunk; /* from most recent alloc_sarray/barray */ -} my_memory_mgr; - -typedef my_memory_mgr * my_mem_ptr; - - -/* - * The control blocks for virtual arrays. - * Note that these blocks are allocated in the "small" pool area. - * System-dependent info for the associated backing store (if any) is hidden - * inside the backing_store_info struct. - */ - -struct jvirt_sarray_control { - JSAMPARRAY mem_buffer; /* => the in-memory buffer */ - JDIMENSION rows_in_array; /* total virtual array height */ - JDIMENSION samplesperrow; /* width of array (and of memory buffer) */ - JDIMENSION maxaccess; /* max rows accessed by access_virt_sarray */ - JDIMENSION rows_in_mem; /* height of memory buffer */ - JDIMENSION rowsperchunk; /* allocation chunk size in mem_buffer */ - JDIMENSION cur_start_row; /* first logical row # in the buffer */ - JDIMENSION first_undef_row; /* row # of first uninitialized row */ - boolean pre_zero; /* pre-zero mode requested? */ - boolean dirty; /* do current buffer contents need written? */ - boolean b_s_open; /* is backing-store data valid? */ - jvirt_sarray_ptr next; /* link to next virtual sarray control block */ - backing_store_info b_s_info; /* System-dependent control info */ -}; - -struct jvirt_barray_control { - JBLOCKARRAY mem_buffer; /* => the in-memory buffer */ - JDIMENSION rows_in_array; /* total virtual array height */ - JDIMENSION blocksperrow; /* width of array (and of memory buffer) */ - JDIMENSION maxaccess; /* max rows accessed by access_virt_barray */ - JDIMENSION rows_in_mem; /* height of memory buffer */ - JDIMENSION rowsperchunk; /* allocation chunk size in mem_buffer */ - JDIMENSION cur_start_row; /* first logical row # in the buffer */ - JDIMENSION first_undef_row; /* row # of first uninitialized row */ - boolean pre_zero; /* pre-zero mode requested? */ - boolean dirty; /* do current buffer contents need written? */ - boolean b_s_open; /* is backing-store data valid? */ - jvirt_barray_ptr next; /* link to next virtual barray control block */ - backing_store_info b_s_info; /* System-dependent control info */ -}; - - -#ifdef MEM_STATS /* optional extra stuff for statistics */ - -LOCAL(void) -print_mem_stats (j_common_ptr cinfo, int pool_id) -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - small_pool_ptr shdr_ptr; - large_pool_ptr lhdr_ptr; - - /* Since this is only a debugging stub, we can cheat a little by using - * fprintf directly rather than going through the trace message code. - * This is helpful because message parm array can't handle longs. - */ - fprintf(stderr, "Freeing pool %d, total space = %ld\n", - pool_id, mem->total_space_allocated); - - for (lhdr_ptr = mem->large_list[pool_id]; lhdr_ptr != NULL; - lhdr_ptr = lhdr_ptr->hdr.next) { - fprintf(stderr, " Large chunk used %ld\n", - (long) lhdr_ptr->hdr.bytes_used); - } - - for (shdr_ptr = mem->small_list[pool_id]; shdr_ptr != NULL; - shdr_ptr = shdr_ptr->hdr.next) { - fprintf(stderr, " Small chunk used %ld free %ld\n", - (long) shdr_ptr->hdr.bytes_used, - (long) shdr_ptr->hdr.bytes_left); - } -} - -#endif /* MEM_STATS */ - - -LOCAL(void) -out_of_memory (j_common_ptr cinfo, int which) -/* Report an out-of-memory error and stop execution */ -/* If we compiled MEM_STATS support, report alloc requests before dying */ -{ -#ifdef MEM_STATS - cinfo->err->trace_level = 2; /* force self_destruct to report stats */ -#endif - ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, which); -} - - -/* - * Allocation of "small" objects. - * - * For these, we use pooled storage. When a new pool must be created, - * we try to get enough space for the current request plus a "slop" factor, - * where the slop will be the amount of leftover space in the new pool. - * The speed vs. space tradeoff is largely determined by the slop values. - * A different slop value is provided for each pool class (lifetime), - * and we also distinguish the first pool of a class from later ones. - * NOTE: the values given work fairly well on both 16- and 32-bit-int - * machines, but may be too small if longs are 64 bits or more. - */ - -static const size_t first_pool_slop[JPOOL_NUMPOOLS] = -{ - 1600, /* first PERMANENT pool */ - 16000 /* first IMAGE pool */ -}; - -static const size_t extra_pool_slop[JPOOL_NUMPOOLS] = -{ - 0, /* additional PERMANENT pools */ - 5000 /* additional IMAGE pools */ -}; - -#define MIN_SLOP 50 /* greater than 0 to avoid futile looping */ - - -METHODDEF(void *) -alloc_small (j_common_ptr cinfo, int pool_id, size_t sizeofobject) -/* Allocate a "small" object */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - small_pool_ptr hdr_ptr, prev_hdr_ptr; - char * data_ptr; - size_t odd_bytes, min_request, slop; - - /* Check for unsatisfiable request (do now to ensure no overflow below) */ - if (sizeofobject > (size_t) (MAX_ALLOC_CHUNK-SIZEOF(small_pool_hdr))) - out_of_memory(cinfo, 1); /* request exceeds malloc's ability */ - - /* Round up the requested size to a multiple of SIZEOF(ALIGN_TYPE) */ - odd_bytes = sizeofobject % SIZEOF(ALIGN_TYPE); - if (odd_bytes > 0) - sizeofobject += SIZEOF(ALIGN_TYPE) - odd_bytes; - - /* See if space is available in any existing pool */ - if (pool_id < 0 || pool_id >= JPOOL_NUMPOOLS) - ERREXIT1(cinfo, JERR_BAD_POOL_ID, pool_id); /* safety check */ - prev_hdr_ptr = NULL; - hdr_ptr = mem->small_list[pool_id]; - while (hdr_ptr != NULL) { - if (hdr_ptr->hdr.bytes_left >= sizeofobject) - break; /* found pool with enough space */ - prev_hdr_ptr = hdr_ptr; - hdr_ptr = hdr_ptr->hdr.next; - } - - /* Time to make a new pool? */ - if (hdr_ptr == NULL) { - /* min_request is what we need now, slop is what will be leftover */ - min_request = sizeofobject + SIZEOF(small_pool_hdr); - if (prev_hdr_ptr == NULL) /* first pool in class? */ - slop = first_pool_slop[pool_id]; - else - slop = extra_pool_slop[pool_id]; - /* Don't ask for more than MAX_ALLOC_CHUNK */ - if (slop > (size_t) (MAX_ALLOC_CHUNK-min_request)) - slop = (size_t) (MAX_ALLOC_CHUNK-min_request); - /* Try to get space, if fail reduce slop and try again */ - for (;;) { - hdr_ptr = (small_pool_ptr) jpeg_get_small(cinfo, min_request + slop); - if (hdr_ptr != NULL) - break; - slop /= 2; - if (slop < MIN_SLOP) /* give up when it gets real small */ - out_of_memory(cinfo, 2); /* jpeg_get_small failed */ - } - mem->total_space_allocated += min_request + slop; - /* Success, initialize the new pool header and add to end of list */ - hdr_ptr->hdr.next = NULL; - hdr_ptr->hdr.bytes_used = 0; - hdr_ptr->hdr.bytes_left = sizeofobject + slop; - if (prev_hdr_ptr == NULL) /* first pool in class? */ - mem->small_list[pool_id] = hdr_ptr; - else - prev_hdr_ptr->hdr.next = hdr_ptr; - } - - /* OK, allocate the object from the current pool */ - data_ptr = (char *) (hdr_ptr + 1); /* point to first data byte in pool */ - data_ptr += hdr_ptr->hdr.bytes_used; /* point to place for object */ - hdr_ptr->hdr.bytes_used += sizeofobject; - hdr_ptr->hdr.bytes_left -= sizeofobject; - - return (void *) data_ptr; -} - - -/* - * Allocation of "large" objects. - * - * The external semantics of these are the same as "small" objects, - * except that FAR pointers are used on 80x86. However the pool - * management heuristics are quite different. We assume that each - * request is large enough that it may as well be passed directly to - * jpeg_get_large; the pool management just links everything together - * so that we can free it all on demand. - * Note: the major use of "large" objects is in JSAMPARRAY and JBLOCKARRAY - * structures. The routines that create these structures (see below) - * deliberately bunch rows together to ensure a large request size. - */ - -METHODDEF(void FAR *) -alloc_large (j_common_ptr cinfo, int pool_id, size_t sizeofobject) -/* Allocate a "large" object */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - large_pool_ptr hdr_ptr; - size_t odd_bytes; - - /* Check for unsatisfiable request (do now to ensure no overflow below) */ - if (sizeofobject > (size_t) (MAX_ALLOC_CHUNK-SIZEOF(large_pool_hdr))) - out_of_memory(cinfo, 3); /* request exceeds malloc's ability */ - - /* Round up the requested size to a multiple of SIZEOF(ALIGN_TYPE) */ - odd_bytes = sizeofobject % SIZEOF(ALIGN_TYPE); - if (odd_bytes > 0) - sizeofobject += SIZEOF(ALIGN_TYPE) - odd_bytes; - - /* Always make a new pool */ - if (pool_id < 0 || pool_id >= JPOOL_NUMPOOLS) - ERREXIT1(cinfo, JERR_BAD_POOL_ID, pool_id); /* safety check */ - - hdr_ptr = (large_pool_ptr) jpeg_get_large(cinfo, sizeofobject + - SIZEOF(large_pool_hdr)); - if (hdr_ptr == NULL) - out_of_memory(cinfo, 4); /* jpeg_get_large failed */ - mem->total_space_allocated += sizeofobject + SIZEOF(large_pool_hdr); - - /* Success, initialize the new pool header and add to list */ - hdr_ptr->hdr.next = mem->large_list[pool_id]; - /* We maintain space counts in each pool header for statistical purposes, - * even though they are not needed for allocation. - */ - hdr_ptr->hdr.bytes_used = sizeofobject; - hdr_ptr->hdr.bytes_left = 0; - mem->large_list[pool_id] = hdr_ptr; - - return (void FAR *) (hdr_ptr + 1); /* point to first data byte in pool */ -} - - -/* - * Creation of 2-D sample arrays. - * The pointers are in near heap, the samples themselves in FAR heap. - * - * To minimize allocation overhead and to allow I/O of large contiguous - * blocks, we allocate the sample rows in groups of as many rows as possible - * without exceeding MAX_ALLOC_CHUNK total bytes per allocation request. - * NB: the virtual array control routines, later in this file, know about - * this chunking of rows. The rowsperchunk value is left in the mem manager - * object so that it can be saved away if this sarray is the workspace for - * a virtual array. - */ - -METHODDEF(JSAMPARRAY) -alloc_sarray (j_common_ptr cinfo, int pool_id, - JDIMENSION samplesperrow, JDIMENSION numrows) -/* Allocate a 2-D sample array */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - JSAMPARRAY result; - JSAMPROW workspace; - JDIMENSION rowsperchunk, currow, i; - long ltemp; - - /* Calculate max # of rows allowed in one allocation chunk */ - ltemp = (MAX_ALLOC_CHUNK-SIZEOF(large_pool_hdr)) / - ((long) samplesperrow * SIZEOF(JSAMPLE)); - if (ltemp <= 0) - ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); - if (ltemp < (long) numrows) - rowsperchunk = (JDIMENSION) ltemp; - else - rowsperchunk = numrows; - mem->last_rowsperchunk = rowsperchunk; - - /* Get space for row pointers (small object) */ - result = (JSAMPARRAY) alloc_small(cinfo, pool_id, - (size_t) (numrows * SIZEOF(JSAMPROW))); - - /* Get the rows themselves (large objects) */ - currow = 0; - while (currow < numrows) { - rowsperchunk = MIN(rowsperchunk, numrows - currow); - workspace = (JSAMPROW) alloc_large(cinfo, pool_id, - (size_t) ((size_t) rowsperchunk * (size_t) samplesperrow - * SIZEOF(JSAMPLE))); - for (i = rowsperchunk; i > 0; i--) { - result[currow++] = workspace; - workspace += samplesperrow; - } - } - - return result; -} - - -/* - * Creation of 2-D coefficient-block arrays. - * This is essentially the same as the code for sample arrays, above. - */ - -METHODDEF(JBLOCKARRAY) -alloc_barray (j_common_ptr cinfo, int pool_id, - JDIMENSION blocksperrow, JDIMENSION numrows) -/* Allocate a 2-D coefficient-block array */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - JBLOCKARRAY result; - JBLOCKROW workspace; - JDIMENSION rowsperchunk, currow, i; - long ltemp; - - /* Calculate max # of rows allowed in one allocation chunk */ - ltemp = (MAX_ALLOC_CHUNK-SIZEOF(large_pool_hdr)) / - ((long) blocksperrow * SIZEOF(JBLOCK)); - if (ltemp <= 0) - ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); - if (ltemp < (long) numrows) - rowsperchunk = (JDIMENSION) ltemp; - else - rowsperchunk = numrows; - mem->last_rowsperchunk = rowsperchunk; - - /* Get space for row pointers (small object) */ - result = (JBLOCKARRAY) alloc_small(cinfo, pool_id, - (size_t) (numrows * SIZEOF(JBLOCKROW))); - - /* Get the rows themselves (large objects) */ - currow = 0; - while (currow < numrows) { - rowsperchunk = MIN(rowsperchunk, numrows - currow); - workspace = (JBLOCKROW) alloc_large(cinfo, pool_id, - (size_t) ((size_t) rowsperchunk * (size_t) blocksperrow - * SIZEOF(JBLOCK))); - for (i = rowsperchunk; i > 0; i--) { - result[currow++] = workspace; - workspace += blocksperrow; - } - } - - return result; -} - - -/* - * About virtual array management: - * - * The above "normal" array routines are only used to allocate strip buffers - * (as wide as the image, but just a few rows high). Full-image-sized buffers - * are handled as "virtual" arrays. The array is still accessed a strip at a - * time, but the memory manager must save the whole array for repeated - * accesses. The intended implementation is that there is a strip buffer in - * memory (as high as is possible given the desired memory limit), plus a - * backing file that holds the rest of the array. - * - * The request_virt_array routines are told the total size of the image and - * the maximum number of rows that will be accessed at once. The in-memory - * buffer must be at least as large as the maxaccess value. - * - * The request routines create control blocks but not the in-memory buffers. - * That is postponed until realize_virt_arrays is called. At that time the - * total amount of space needed is known (approximately, anyway), so free - * memory can be divided up fairly. - * - * The access_virt_array routines are responsible for making a specific strip - * area accessible (after reading or writing the backing file, if necessary). - * Note that the access routines are told whether the caller intends to modify - * the accessed strip; during a read-only pass this saves having to rewrite - * data to disk. The access routines are also responsible for pre-zeroing - * any newly accessed rows, if pre-zeroing was requested. - * - * In current usage, the access requests are usually for nonoverlapping - * strips; that is, successive access start_row numbers differ by exactly - * num_rows = maxaccess. This means we can get good performance with simple - * buffer dump/reload logic, by making the in-memory buffer be a multiple - * of the access height; then there will never be accesses across bufferload - * boundaries. The code will still work with overlapping access requests, - * but it doesn't handle bufferload overlaps very efficiently. - */ - - -METHODDEF(jvirt_sarray_ptr) -request_virt_sarray (j_common_ptr cinfo, int pool_id, boolean pre_zero, - JDIMENSION samplesperrow, JDIMENSION numrows, - JDIMENSION maxaccess) -/* Request a virtual 2-D sample array */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - jvirt_sarray_ptr result; - - /* Only IMAGE-lifetime virtual arrays are currently supported */ - if (pool_id != JPOOL_IMAGE) - ERREXIT1(cinfo, JERR_BAD_POOL_ID, pool_id); /* safety check */ - - /* get control block */ - result = (jvirt_sarray_ptr) alloc_small(cinfo, pool_id, - SIZEOF(struct jvirt_sarray_control)); - - result->mem_buffer = NULL; /* marks array not yet realized */ - result->rows_in_array = numrows; - result->samplesperrow = samplesperrow; - result->maxaccess = maxaccess; - result->pre_zero = pre_zero; - result->b_s_open = FALSE; /* no associated backing-store object */ - result->next = mem->virt_sarray_list; /* add to list of virtual arrays */ - mem->virt_sarray_list = result; - - return result; -} - - -METHODDEF(jvirt_barray_ptr) -request_virt_barray (j_common_ptr cinfo, int pool_id, boolean pre_zero, - JDIMENSION blocksperrow, JDIMENSION numrows, - JDIMENSION maxaccess) -/* Request a virtual 2-D coefficient-block array */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - jvirt_barray_ptr result; - - /* Only IMAGE-lifetime virtual arrays are currently supported */ - if (pool_id != JPOOL_IMAGE) - ERREXIT1(cinfo, JERR_BAD_POOL_ID, pool_id); /* safety check */ - - /* get control block */ - result = (jvirt_barray_ptr) alloc_small(cinfo, pool_id, - SIZEOF(struct jvirt_barray_control)); - - result->mem_buffer = NULL; /* marks array not yet realized */ - result->rows_in_array = numrows; - result->blocksperrow = blocksperrow; - result->maxaccess = maxaccess; - result->pre_zero = pre_zero; - result->b_s_open = FALSE; /* no associated backing-store object */ - result->next = mem->virt_barray_list; /* add to list of virtual arrays */ - mem->virt_barray_list = result; - - return result; -} - - -METHODDEF(void) -realize_virt_arrays (j_common_ptr cinfo) -/* Allocate the in-memory buffers for any unrealized virtual arrays */ -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - long space_per_minheight, maximum_space, avail_mem; - long minheights, max_minheights; - jvirt_sarray_ptr sptr; - jvirt_barray_ptr bptr; - - /* Compute the minimum space needed (maxaccess rows in each buffer) - * and the maximum space needed (full image height in each buffer). - * These may be of use to the system-dependent jpeg_mem_available routine. - */ - space_per_minheight = 0; - maximum_space = 0; - for (sptr = mem->virt_sarray_list; sptr != NULL; sptr = sptr->next) { - if (sptr->mem_buffer == NULL) { /* if not realized yet */ - space_per_minheight += (long) sptr->maxaccess * - (long) sptr->samplesperrow * SIZEOF(JSAMPLE); - maximum_space += (long) sptr->rows_in_array * - (long) sptr->samplesperrow * SIZEOF(JSAMPLE); - } - } - for (bptr = mem->virt_barray_list; bptr != NULL; bptr = bptr->next) { - if (bptr->mem_buffer == NULL) { /* if not realized yet */ - space_per_minheight += (long) bptr->maxaccess * - (long) bptr->blocksperrow * SIZEOF(JBLOCK); - maximum_space += (long) bptr->rows_in_array * - (long) bptr->blocksperrow * SIZEOF(JBLOCK); - } - } - - if (space_per_minheight <= 0) - return; /* no unrealized arrays, no work */ - - /* Determine amount of memory to actually use; this is system-dependent. */ - avail_mem = jpeg_mem_available(cinfo, space_per_minheight, maximum_space, - mem->total_space_allocated); - - /* If the maximum space needed is available, make all the buffers full - * height; otherwise parcel it out with the same number of minheights - * in each buffer. - */ - if (avail_mem >= maximum_space) - max_minheights = 1000000000L; - else { - max_minheights = avail_mem / space_per_minheight; - /* If there doesn't seem to be enough space, try to get the minimum - * anyway. This allows a "stub" implementation of jpeg_mem_available(). - */ - if (max_minheights <= 0) - max_minheights = 1; - } - - /* Allocate the in-memory buffers and initialize backing store as needed. */ - - for (sptr = mem->virt_sarray_list; sptr != NULL; sptr = sptr->next) { - if (sptr->mem_buffer == NULL) { /* if not realized yet */ - minheights = ((long) sptr->rows_in_array - 1L) / sptr->maxaccess + 1L; - if (minheights <= max_minheights) { - /* This buffer fits in memory */ - sptr->rows_in_mem = sptr->rows_in_array; - } else { - /* It doesn't fit in memory, create backing store. */ - sptr->rows_in_mem = (JDIMENSION) (max_minheights * sptr->maxaccess); - jpeg_open_backing_store(cinfo, & sptr->b_s_info, - (long) sptr->rows_in_array * - (long) sptr->samplesperrow * - (long) SIZEOF(JSAMPLE)); - sptr->b_s_open = TRUE; - } - sptr->mem_buffer = alloc_sarray(cinfo, JPOOL_IMAGE, - sptr->samplesperrow, sptr->rows_in_mem); - sptr->rowsperchunk = mem->last_rowsperchunk; - sptr->cur_start_row = 0; - sptr->first_undef_row = 0; - sptr->dirty = FALSE; - } - } - - for (bptr = mem->virt_barray_list; bptr != NULL; bptr = bptr->next) { - if (bptr->mem_buffer == NULL) { /* if not realized yet */ - minheights = ((long) bptr->rows_in_array - 1L) / bptr->maxaccess + 1L; - if (minheights <= max_minheights) { - /* This buffer fits in memory */ - bptr->rows_in_mem = bptr->rows_in_array; - } else { - /* It doesn't fit in memory, create backing store. */ - bptr->rows_in_mem = (JDIMENSION) (max_minheights * bptr->maxaccess); - jpeg_open_backing_store(cinfo, & bptr->b_s_info, - (long) bptr->rows_in_array * - (long) bptr->blocksperrow * - (long) SIZEOF(JBLOCK)); - bptr->b_s_open = TRUE; - } - bptr->mem_buffer = alloc_barray(cinfo, JPOOL_IMAGE, - bptr->blocksperrow, bptr->rows_in_mem); - bptr->rowsperchunk = mem->last_rowsperchunk; - bptr->cur_start_row = 0; - bptr->first_undef_row = 0; - bptr->dirty = FALSE; - } - } -} - - -LOCAL(void) -do_sarray_io (j_common_ptr cinfo, jvirt_sarray_ptr ptr, boolean writing) -/* Do backing store read or write of a virtual sample array */ -{ - long bytesperrow, file_offset, byte_count, rows, thisrow, i; - - bytesperrow = (long) ptr->samplesperrow * SIZEOF(JSAMPLE); - file_offset = ptr->cur_start_row * bytesperrow; - /* Loop to read or write each allocation chunk in mem_buffer */ - for (i = 0; i < (long) ptr->rows_in_mem; i += ptr->rowsperchunk) { - /* One chunk, but check for short chunk at end of buffer */ - rows = MIN((long) ptr->rowsperchunk, (long) ptr->rows_in_mem - i); - /* Transfer no more than is currently defined */ - thisrow = (long) ptr->cur_start_row + i; - rows = MIN(rows, (long) ptr->first_undef_row - thisrow); - /* Transfer no more than fits in file */ - rows = MIN(rows, (long) ptr->rows_in_array - thisrow); - if (rows <= 0) /* this chunk might be past end of file! */ - break; - byte_count = rows * bytesperrow; - if (writing) - (*ptr->b_s_info.write_backing_store) (cinfo, & ptr->b_s_info, - (void FAR *) ptr->mem_buffer[i], - file_offset, byte_count); - else - (*ptr->b_s_info.read_backing_store) (cinfo, & ptr->b_s_info, - (void FAR *) ptr->mem_buffer[i], - file_offset, byte_count); - file_offset += byte_count; - } -} - - -LOCAL(void) -do_barray_io (j_common_ptr cinfo, jvirt_barray_ptr ptr, boolean writing) -/* Do backing store read or write of a virtual coefficient-block array */ -{ - long bytesperrow, file_offset, byte_count, rows, thisrow, i; - - bytesperrow = (long) ptr->blocksperrow * SIZEOF(JBLOCK); - file_offset = ptr->cur_start_row * bytesperrow; - /* Loop to read or write each allocation chunk in mem_buffer */ - for (i = 0; i < (long) ptr->rows_in_mem; i += ptr->rowsperchunk) { - /* One chunk, but check for short chunk at end of buffer */ - rows = MIN((long) ptr->rowsperchunk, (long) ptr->rows_in_mem - i); - /* Transfer no more than is currently defined */ - thisrow = (long) ptr->cur_start_row + i; - rows = MIN(rows, (long) ptr->first_undef_row - thisrow); - /* Transfer no more than fits in file */ - rows = MIN(rows, (long) ptr->rows_in_array - thisrow); - if (rows <= 0) /* this chunk might be past end of file! */ - break; - byte_count = rows * bytesperrow; - if (writing) - (*ptr->b_s_info.write_backing_store) (cinfo, & ptr->b_s_info, - (void FAR *) ptr->mem_buffer[i], - file_offset, byte_count); - else - (*ptr->b_s_info.read_backing_store) (cinfo, & ptr->b_s_info, - (void FAR *) ptr->mem_buffer[i], - file_offset, byte_count); - file_offset += byte_count; - } -} - - -METHODDEF(JSAMPARRAY) -access_virt_sarray (j_common_ptr cinfo, jvirt_sarray_ptr ptr, - JDIMENSION start_row, JDIMENSION num_rows, - boolean writable) -/* Access the part of a virtual sample array starting at start_row */ -/* and extending for num_rows rows. writable is true if */ -/* caller intends to modify the accessed area. */ -{ - JDIMENSION end_row = start_row + num_rows; - JDIMENSION undef_row; - - /* debugging check */ - if (end_row > ptr->rows_in_array || num_rows > ptr->maxaccess || - ptr->mem_buffer == NULL) - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - - /* Make the desired part of the virtual array accessible */ - if (start_row < ptr->cur_start_row || - end_row > ptr->cur_start_row+ptr->rows_in_mem) { - if (! ptr->b_s_open) - ERREXIT(cinfo, JERR_VIRTUAL_BUG); - /* Flush old buffer contents if necessary */ - if (ptr->dirty) { - do_sarray_io(cinfo, ptr, TRUE); - ptr->dirty = FALSE; - } - /* Decide what part of virtual array to access. - * Algorithm: if target address > current window, assume forward scan, - * load starting at target address. If target address < current window, - * assume backward scan, load so that target area is top of window. - * Note that when switching from forward write to forward read, will have - * start_row = 0, so the limiting case applies and we load from 0 anyway. - */ - if (start_row > ptr->cur_start_row) { - ptr->cur_start_row = start_row; - } else { - /* use long arithmetic here to avoid overflow & unsigned problems */ - long ltemp; - - ltemp = (long) end_row - (long) ptr->rows_in_mem; - if (ltemp < 0) - ltemp = 0; /* don't fall off front end of file */ - ptr->cur_start_row = (JDIMENSION) ltemp; - } - /* Read in the selected part of the array. - * During the initial write pass, we will do no actual read - * because the selected part is all undefined. - */ - do_sarray_io(cinfo, ptr, FALSE); - } - /* Ensure the accessed part of the array is defined; prezero if needed. - * To improve locality of access, we only prezero the part of the array - * that the caller is about to access, not the entire in-memory array. - */ - if (ptr->first_undef_row < end_row) { - if (ptr->first_undef_row < start_row) { - if (writable) /* writer skipped over a section of array */ - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - undef_row = start_row; /* but reader is allowed to read ahead */ - } else { - undef_row = ptr->first_undef_row; - } - if (writable) - ptr->first_undef_row = end_row; - if (ptr->pre_zero) { - size_t bytesperrow = (size_t) ptr->samplesperrow * SIZEOF(JSAMPLE); - undef_row -= ptr->cur_start_row; /* make indexes relative to buffer */ - end_row -= ptr->cur_start_row; - while (undef_row < end_row) { - jzero_far((void FAR *) ptr->mem_buffer[undef_row], bytesperrow); - undef_row++; - } - } else { - if (! writable) /* reader looking at undefined data */ - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - } - } - /* Flag the buffer dirty if caller will write in it */ - if (writable) - ptr->dirty = TRUE; - /* Return address of proper part of the buffer */ - return ptr->mem_buffer + (start_row - ptr->cur_start_row); -} - - -METHODDEF(JBLOCKARRAY) -access_virt_barray (j_common_ptr cinfo, jvirt_barray_ptr ptr, - JDIMENSION start_row, JDIMENSION num_rows, - boolean writable) -/* Access the part of a virtual block array starting at start_row */ -/* and extending for num_rows rows. writable is true if */ -/* caller intends to modify the accessed area. */ -{ - JDIMENSION end_row = start_row + num_rows; - JDIMENSION undef_row; - - /* debugging check */ - if (end_row > ptr->rows_in_array || num_rows > ptr->maxaccess || - ptr->mem_buffer == NULL) - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - - /* Make the desired part of the virtual array accessible */ - if (start_row < ptr->cur_start_row || - end_row > ptr->cur_start_row+ptr->rows_in_mem) { - if (! ptr->b_s_open) - ERREXIT(cinfo, JERR_VIRTUAL_BUG); - /* Flush old buffer contents if necessary */ - if (ptr->dirty) { - do_barray_io(cinfo, ptr, TRUE); - ptr->dirty = FALSE; - } - /* Decide what part of virtual array to access. - * Algorithm: if target address > current window, assume forward scan, - * load starting at target address. If target address < current window, - * assume backward scan, load so that target area is top of window. - * Note that when switching from forward write to forward read, will have - * start_row = 0, so the limiting case applies and we load from 0 anyway. - */ - if (start_row > ptr->cur_start_row) { - ptr->cur_start_row = start_row; - } else { - /* use long arithmetic here to avoid overflow & unsigned problems */ - long ltemp; - - ltemp = (long) end_row - (long) ptr->rows_in_mem; - if (ltemp < 0) - ltemp = 0; /* don't fall off front end of file */ - ptr->cur_start_row = (JDIMENSION) ltemp; - } - /* Read in the selected part of the array. - * During the initial write pass, we will do no actual read - * because the selected part is all undefined. - */ - do_barray_io(cinfo, ptr, FALSE); - } - /* Ensure the accessed part of the array is defined; prezero if needed. - * To improve locality of access, we only prezero the part of the array - * that the caller is about to access, not the entire in-memory array. - */ - if (ptr->first_undef_row < end_row) { - if (ptr->first_undef_row < start_row) { - if (writable) /* writer skipped over a section of array */ - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - undef_row = start_row; /* but reader is allowed to read ahead */ - } else { - undef_row = ptr->first_undef_row; - } - if (writable) - ptr->first_undef_row = end_row; - if (ptr->pre_zero) { - size_t bytesperrow = (size_t) ptr->blocksperrow * SIZEOF(JBLOCK); - undef_row -= ptr->cur_start_row; /* make indexes relative to buffer */ - end_row -= ptr->cur_start_row; - while (undef_row < end_row) { - jzero_far((void FAR *) ptr->mem_buffer[undef_row], bytesperrow); - undef_row++; - } - } else { - if (! writable) /* reader looking at undefined data */ - ERREXIT(cinfo, JERR_BAD_VIRTUAL_ACCESS); - } - } - /* Flag the buffer dirty if caller will write in it */ - if (writable) - ptr->dirty = TRUE; - /* Return address of proper part of the buffer */ - return ptr->mem_buffer + (start_row - ptr->cur_start_row); -} - - -/* - * Release all objects belonging to a specified pool. - */ - -METHODDEF(void) -free_pool (j_common_ptr cinfo, int pool_id) -{ - my_mem_ptr mem = (my_mem_ptr) cinfo->mem; - small_pool_ptr shdr_ptr; - large_pool_ptr lhdr_ptr; - size_t space_freed; - - if (pool_id < 0 || pool_id >= JPOOL_NUMPOOLS) - ERREXIT1(cinfo, JERR_BAD_POOL_ID, pool_id); /* safety check */ - -#ifdef MEM_STATS - if (cinfo->err->trace_level > 1) - print_mem_stats(cinfo, pool_id); /* print pool's memory usage statistics */ -#endif - - /* If freeing IMAGE pool, close any virtual arrays first */ - if (pool_id == JPOOL_IMAGE) { - jvirt_sarray_ptr sptr; - jvirt_barray_ptr bptr; - - for (sptr = mem->virt_sarray_list; sptr != NULL; sptr = sptr->next) { - if (sptr->b_s_open) { /* there may be no backing store */ - sptr->b_s_open = FALSE; /* prevent recursive close if error */ - (*sptr->b_s_info.close_backing_store) (cinfo, & sptr->b_s_info); - } - } - mem->virt_sarray_list = NULL; - for (bptr = mem->virt_barray_list; bptr != NULL; bptr = bptr->next) { - if (bptr->b_s_open) { /* there may be no backing store */ - bptr->b_s_open = FALSE; /* prevent recursive close if error */ - (*bptr->b_s_info.close_backing_store) (cinfo, & bptr->b_s_info); - } - } - mem->virt_barray_list = NULL; - } - - /* Release large objects */ - lhdr_ptr = mem->large_list[pool_id]; - mem->large_list[pool_id] = NULL; - - while (lhdr_ptr != NULL) { - large_pool_ptr next_lhdr_ptr = lhdr_ptr->hdr.next; - space_freed = lhdr_ptr->hdr.bytes_used + - lhdr_ptr->hdr.bytes_left + - SIZEOF(large_pool_hdr); - jpeg_free_large(cinfo, (void FAR *) lhdr_ptr, space_freed); - mem->total_space_allocated -= space_freed; - lhdr_ptr = next_lhdr_ptr; - } - - /* Release small objects */ - shdr_ptr = mem->small_list[pool_id]; - mem->small_list[pool_id] = NULL; - - while (shdr_ptr != NULL) { - small_pool_ptr next_shdr_ptr = shdr_ptr->hdr.next; - space_freed = shdr_ptr->hdr.bytes_used + - shdr_ptr->hdr.bytes_left + - SIZEOF(small_pool_hdr); - jpeg_free_small(cinfo, (void *) shdr_ptr, space_freed); - mem->total_space_allocated -= space_freed; - shdr_ptr = next_shdr_ptr; - } -} - - -/* - * Close up shop entirely. - * Note that this cannot be called unless cinfo->mem is non-NULL. - */ - -METHODDEF(void) -self_destruct (j_common_ptr cinfo) -{ - int pool; - - /* Close all backing store, release all memory. - * Releasing pools in reverse order might help avoid fragmentation - * with some (brain-damaged) malloc libraries. - */ - for (pool = JPOOL_NUMPOOLS-1; pool >= JPOOL_PERMANENT; pool--) { - free_pool(cinfo, pool); - } - - /* Release the memory manager control block too. */ - jpeg_free_small(cinfo, (void *) cinfo->mem, SIZEOF(my_memory_mgr)); - cinfo->mem = NULL; /* ensures I will be called only once */ - - jpeg_mem_term(cinfo); /* system-dependent cleanup */ -} - - -/* - * Memory manager initialization. - * When this is called, only the error manager pointer is valid in cinfo! - */ - -GLOBAL(void) -jinit_memory_mgr (j_common_ptr cinfo) -{ - my_mem_ptr mem; - long max_to_use; - int pool; - size_t test_mac; - - cinfo->mem = NULL; /* for safety if init fails */ - - /* Check for configuration errors. - * SIZEOF(ALIGN_TYPE) should be a power of 2; otherwise, it probably - * doesn't reflect any real hardware alignment requirement. - * The test is a little tricky: for X>0, X and X-1 have no one-bits - * in common if and only if X is a power of 2, ie has only one one-bit. - * Some compilers may give an "unreachable code" warning here; ignore it. - */ - if ((SIZEOF(ALIGN_TYPE) & (SIZEOF(ALIGN_TYPE)-1)) != 0) - ERREXIT(cinfo, JERR_BAD_ALIGN_TYPE); - /* MAX_ALLOC_CHUNK must be representable as type size_t, and must be - * a multiple of SIZEOF(ALIGN_TYPE). - * Again, an "unreachable code" warning may be ignored here. - * But a "constant too large" warning means you need to fix MAX_ALLOC_CHUNK. - */ - test_mac = (size_t) MAX_ALLOC_CHUNK; - if ((long) test_mac != MAX_ALLOC_CHUNK || - (MAX_ALLOC_CHUNK % SIZEOF(ALIGN_TYPE)) != 0) - ERREXIT(cinfo, JERR_BAD_ALLOC_CHUNK); - - max_to_use = jpeg_mem_init(cinfo); /* system-dependent initialization */ - - /* Attempt to allocate memory manager's control block */ - mem = (my_mem_ptr) jpeg_get_small(cinfo, SIZEOF(my_memory_mgr)); - - if (mem == NULL) { - jpeg_mem_term(cinfo); /* system-dependent cleanup */ - ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, 0); - } - - /* OK, fill in the method pointers */ - mem->pub.alloc_small = alloc_small; - mem->pub.alloc_large = alloc_large; - mem->pub.alloc_sarray = alloc_sarray; - mem->pub.alloc_barray = alloc_barray; - mem->pub.request_virt_sarray = request_virt_sarray; - mem->pub.request_virt_barray = request_virt_barray; - mem->pub.realize_virt_arrays = realize_virt_arrays; - mem->pub.access_virt_sarray = access_virt_sarray; - mem->pub.access_virt_barray = access_virt_barray; - mem->pub.free_pool = free_pool; - mem->pub.self_destruct = self_destruct; - - /* Make MAX_ALLOC_CHUNK accessible to other modules */ - mem->pub.max_alloc_chunk = MAX_ALLOC_CHUNK; - - /* Initialize working state */ - mem->pub.max_memory_to_use = max_to_use; - - for (pool = JPOOL_NUMPOOLS-1; pool >= JPOOL_PERMANENT; pool--) { - mem->small_list[pool] = NULL; - mem->large_list[pool] = NULL; - } - mem->virt_sarray_list = NULL; - mem->virt_barray_list = NULL; - - mem->total_space_allocated = SIZEOF(my_memory_mgr); - - /* Declare ourselves open for business */ - cinfo->mem = & mem->pub; - - /* Check for an environment variable JPEGMEM; if found, override the - * default max_memory setting from jpeg_mem_init. Note that the - * surrounding application may again override this value. - * If your system doesn't support getenv(), define NO_GETENV to disable - * this feature. - */ -#ifndef NO_GETENV - { char * memenv; - - if ((memenv = getenv("JPEGMEM")) != NULL) { - char ch = 'x'; - - if (sscanf(memenv, "%ld%c", &max_to_use, &ch) > 0) { - if (ch == 'm' || ch == 'M') - max_to_use *= 1000L; - mem->pub.max_memory_to_use = max_to_use * 1000L; - } - } - } -#endif - -} diff --git a/3rdparty/openctm/tools/jpeg/jmemname.c b/3rdparty/openctm/tools/jpeg/jmemname.c deleted file mode 100644 index e28b212f4..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemname.c +++ /dev/null @@ -1,276 +0,0 @@ -/* - * jmemname.c - * - * Copyright (C) 1992-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file provides a generic implementation of the system-dependent - * portion of the JPEG memory manager. This implementation assumes that - * you must explicitly construct a name for each temp file. - * Also, the problem of determining the amount of memory available - * is shoved onto the user. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - -#ifndef SEEK_SET /* pre-ANSI systems may not define this; */ -#define SEEK_SET 0 /* if not, assume 0 is correct */ -#endif - -#ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */ -#define READ_BINARY "r" -#define RW_BINARY "w+" -#else -#ifdef VMS /* VMS is very nonstandard */ -#define READ_BINARY "rb", "ctx=stm" -#define RW_BINARY "w+b", "ctx=stm" -#else /* standard ANSI-compliant case */ -#define READ_BINARY "rb" -#define RW_BINARY "w+b" -#endif -#endif - - -/* - * Selection of a file name for a temporary file. - * This is system-dependent! - * - * The code as given is suitable for most Unix systems, and it is easily - * modified for most non-Unix systems. Some notes: - * 1. The temp file is created in the directory named by TEMP_DIRECTORY. - * The default value is /usr/tmp, which is the conventional place for - * creating large temp files on Unix. On other systems you'll probably - * want to change the file location. You can do this by editing the - * #define, or (preferred) by defining TEMP_DIRECTORY in jconfig.h. - * - * 2. If you need to change the file name as well as its location, - * you can override the TEMP_FILE_NAME macro. (Note that this is - * actually a printf format string; it must contain %s and %d.) - * Few people should need to do this. - * - * 3. mktemp() is used to ensure that multiple processes running - * simultaneously won't select the same file names. If your system - * doesn't have mktemp(), define NO_MKTEMP to do it the hard way. - * (If you don't have , also define NO_ERRNO_H.) - * - * 4. You probably want to define NEED_SIGNAL_CATCHER so that cjpeg.c/djpeg.c - * will cause the temp files to be removed if you stop the program early. - */ - -#ifndef TEMP_DIRECTORY /* can override from jconfig.h or Makefile */ -#define TEMP_DIRECTORY "/usr/tmp/" /* recommended setting for Unix */ -#endif - -static int next_file_num; /* to distinguish among several temp files */ - -#ifdef NO_MKTEMP - -#ifndef TEMP_FILE_NAME /* can override from jconfig.h or Makefile */ -#define TEMP_FILE_NAME "%sJPG%03d.TMP" -#endif - -#ifndef NO_ERRNO_H -#include /* to define ENOENT */ -#endif - -/* ANSI C specifies that errno is a macro, but on older systems it's more - * likely to be a plain int variable. And not all versions of errno.h - * bother to declare it, so we have to in order to be most portable. Thus: - */ -#ifndef errno -extern int errno; -#endif - - -LOCAL(void) -select_file_name (char * fname) -{ - FILE * tfile; - - /* Keep generating file names till we find one that's not in use */ - for (;;) { - next_file_num++; /* advance counter */ - sprintf(fname, TEMP_FILE_NAME, TEMP_DIRECTORY, next_file_num); - if ((tfile = fopen(fname, READ_BINARY)) == NULL) { - /* fopen could have failed for a reason other than the file not - * being there; for example, file there but unreadable. - * If isn't available, then we cannot test the cause. - */ -#ifdef ENOENT - if (errno != ENOENT) - continue; -#endif - break; - } - fclose(tfile); /* oops, it's there; close tfile & try again */ - } -} - -#else /* ! NO_MKTEMP */ - -/* Note that mktemp() requires the initial filename to end in six X's */ -#ifndef TEMP_FILE_NAME /* can override from jconfig.h or Makefile */ -#define TEMP_FILE_NAME "%sJPG%dXXXXXX" -#endif - -LOCAL(void) -select_file_name (char * fname) -{ - next_file_num++; /* advance counter */ - sprintf(fname, TEMP_FILE_NAME, TEMP_DIRECTORY, next_file_num); - mktemp(fname); /* make sure file name is unique */ - /* mktemp replaces the trailing XXXXXX with a unique string of characters */ -} - -#endif /* NO_MKTEMP */ - - -/* - * Memory allocation and freeing are controlled by the regular library - * routines malloc() and free(). - */ - -GLOBAL(void *) -jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * "Large" objects are treated the same as "small" ones. - * NB: although we include FAR keywords in the routine declarations, - * this file won't actually work in 80x86 small/medium model; at least, - * you probably won't be able to process useful-size images in only 64KB. - */ - -GLOBAL(void FAR *) -jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void FAR *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * This routine computes the total memory space available for allocation. - * It's impossible to do this in a portable way; our current solution is - * to make the user tell us (with a default value set at compile time). - * If you can actually get the available space, it's a good idea to subtract - * a slop factor of 5% or so. - */ - -#ifndef DEFAULT_MAX_MEM /* so can override from makefile */ -#define DEFAULT_MAX_MEM 1000000L /* default: one megabyte */ -#endif - -GLOBAL(long) -jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, - long max_bytes_needed, long already_allocated) -{ - return cinfo->mem->max_memory_to_use - already_allocated; -} - - -/* - * Backing store (temporary file) management. - * Backing store objects are only used when the value returned by - * jpeg_mem_available is less than the total space needed. You can dispense - * with these routines if you have plenty of virtual memory; see jmemnobs.c. - */ - - -METHODDEF(void) -read_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (fseek(info->temp_file, file_offset, SEEK_SET)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - if (JFREAD(info->temp_file, buffer_address, byte_count) - != (size_t) byte_count) - ERREXIT(cinfo, JERR_TFILE_READ); -} - - -METHODDEF(void) -write_backing_store (j_common_ptr cinfo, backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count) -{ - if (fseek(info->temp_file, file_offset, SEEK_SET)) - ERREXIT(cinfo, JERR_TFILE_SEEK); - if (JFWRITE(info->temp_file, buffer_address, byte_count) - != (size_t) byte_count) - ERREXIT(cinfo, JERR_TFILE_WRITE); -} - - -METHODDEF(void) -close_backing_store (j_common_ptr cinfo, backing_store_ptr info) -{ - fclose(info->temp_file); /* close the file */ - unlink(info->temp_name); /* delete the file */ -/* If your system doesn't have unlink(), use remove() instead. - * remove() is the ANSI-standard name for this function, but if - * your system was ANSI you'd be using jmemansi.c, right? - */ - TRACEMSS(cinfo, 1, JTRC_TFILE_CLOSE, info->temp_name); -} - - -/* - * Initial opening of a backing-store object. - */ - -GLOBAL(void) -jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - select_file_name(info->temp_name); - if ((info->temp_file = fopen(info->temp_name, RW_BINARY)) == NULL) - ERREXITS(cinfo, JERR_TFILE_CREATE, info->temp_name); - info->read_backing_store = read_backing_store; - info->write_backing_store = write_backing_store; - info->close_backing_store = close_backing_store; - TRACEMSS(cinfo, 1, JTRC_TFILE_OPEN, info->temp_name); -} - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. - */ - -GLOBAL(long) -jpeg_mem_init (j_common_ptr cinfo) -{ - next_file_num = 0; /* initialize temp file name generator */ - return DEFAULT_MAX_MEM; /* default for max_memory_to_use */ -} - -GLOBAL(void) -jpeg_mem_term (j_common_ptr cinfo) -{ - /* no work */ -} diff --git a/3rdparty/openctm/tools/jpeg/jmemnobs.c b/3rdparty/openctm/tools/jpeg/jmemnobs.c deleted file mode 100644 index 6aa1e9295..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemnobs.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * jmemnobs.c - * - * Copyright (C) 1992-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file provides a really simple implementation of the system- - * dependent portion of the JPEG memory manager. This implementation - * assumes that no backing-store files are needed: all required space - * can be obtained from malloc(). - * This is very portable in the sense that it'll compile on almost anything, - * but you'd better have lots of main memory (or virtual memory) if you want - * to process big images. - * Note that the max_memory_to_use option is ignored by this implementation. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" -#include "jmemsys.h" /* import the system-dependent declarations */ - -#ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ -extern void * malloc JPP((size_t size)); -extern void free JPP((void *ptr)); -#endif - - -/* - * Memory allocation and freeing are controlled by the regular library - * routines malloc() and free(). - */ - -GLOBAL(void *) -jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * "Large" objects are treated the same as "small" ones. - * NB: although we include FAR keywords in the routine declarations, - * this file won't actually work in 80x86 small/medium model; at least, - * you probably won't be able to process useful-size images in only 64KB. - */ - -GLOBAL(void FAR *) -jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) -{ - return (void FAR *) malloc(sizeofobject); -} - -GLOBAL(void) -jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) -{ - free(object); -} - - -/* - * This routine computes the total memory space available for allocation. - * Here we always say, "we got all you want bud!" - */ - -GLOBAL(long) -jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, - long max_bytes_needed, long already_allocated) -{ - return max_bytes_needed; -} - - -/* - * Backing store (temporary file) management. - * Since jpeg_mem_available always promised the moon, - * this should never be called and we can just error out. - */ - -GLOBAL(void) -jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, - long total_bytes_needed) -{ - ERREXIT(cinfo, JERR_NO_BACKING_STORE); -} - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. Here, there isn't any. - */ - -GLOBAL(long) -jpeg_mem_init (j_common_ptr cinfo) -{ - return 0; /* just set max_memory_to_use to 0 */ -} - -GLOBAL(void) -jpeg_mem_term (j_common_ptr cinfo) -{ - /* no work */ -} diff --git a/3rdparty/openctm/tools/jpeg/jmemsys.h b/3rdparty/openctm/tools/jpeg/jmemsys.h deleted file mode 100644 index 2a8796119..000000000 --- a/3rdparty/openctm/tools/jpeg/jmemsys.h +++ /dev/null @@ -1,198 +0,0 @@ -/* - * jmemsys.h - * - * Copyright (C) 1992-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This include file defines the interface between the system-independent - * and system-dependent portions of the JPEG memory manager. No other - * modules need include it. (The system-independent portion is jmemmgr.c; - * there are several different versions of the system-dependent portion.) - * - * This file works as-is for the system-dependent memory managers supplied - * in the IJG distribution. You may need to modify it if you write a - * custom memory manager. If system-dependent changes are needed in - * this file, the best method is to #ifdef them based on a configuration - * symbol supplied in jconfig.h, as we have done with USE_MSDOS_MEMMGR - * and USE_MAC_MEMMGR. - */ - - -/* Short forms of external names for systems with brain-damaged linkers. */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_get_small jGetSmall -#define jpeg_free_small jFreeSmall -#define jpeg_get_large jGetLarge -#define jpeg_free_large jFreeLarge -#define jpeg_mem_available jMemAvail -#define jpeg_open_backing_store jOpenBackStore -#define jpeg_mem_init jMemInit -#define jpeg_mem_term jMemTerm -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* - * These two functions are used to allocate and release small chunks of - * memory. (Typically the total amount requested through jpeg_get_small is - * no more than 20K or so; this will be requested in chunks of a few K each.) - * Behavior should be the same as for the standard library functions malloc - * and free; in particular, jpeg_get_small must return NULL on failure. - * On most systems, these ARE malloc and free. jpeg_free_small is passed the - * size of the object being freed, just in case it's needed. - * On an 80x86 machine using small-data memory model, these manage near heap. - */ - -EXTERN(void *) jpeg_get_small JPP((j_common_ptr cinfo, size_t sizeofobject)); -EXTERN(void) jpeg_free_small JPP((j_common_ptr cinfo, void * object, - size_t sizeofobject)); - -/* - * These two functions are used to allocate and release large chunks of - * memory (up to the total free space designated by jpeg_mem_available). - * The interface is the same as above, except that on an 80x86 machine, - * far pointers are used. On most other machines these are identical to - * the jpeg_get/free_small routines; but we keep them separate anyway, - * in case a different allocation strategy is desirable for large chunks. - */ - -EXTERN(void FAR *) jpeg_get_large JPP((j_common_ptr cinfo, - size_t sizeofobject)); -EXTERN(void) jpeg_free_large JPP((j_common_ptr cinfo, void FAR * object, - size_t sizeofobject)); - -/* - * The macro MAX_ALLOC_CHUNK designates the maximum number of bytes that may - * be requested in a single call to jpeg_get_large (and jpeg_get_small for that - * matter, but that case should never come into play). This macro is needed - * to model the 64Kb-segment-size limit of far addressing on 80x86 machines. - * On those machines, we expect that jconfig.h will provide a proper value. - * On machines with 32-bit flat address spaces, any large constant may be used. - * - * NB: jmemmgr.c expects that MAX_ALLOC_CHUNK will be representable as type - * size_t and will be a multiple of sizeof(align_type). - */ - -#ifndef MAX_ALLOC_CHUNK /* may be overridden in jconfig.h */ -#define MAX_ALLOC_CHUNK 1000000000L -#endif - -/* - * This routine computes the total space still available for allocation by - * jpeg_get_large. If more space than this is needed, backing store will be - * used. NOTE: any memory already allocated must not be counted. - * - * There is a minimum space requirement, corresponding to the minimum - * feasible buffer sizes; jmemmgr.c will request that much space even if - * jpeg_mem_available returns zero. The maximum space needed, enough to hold - * all working storage in memory, is also passed in case it is useful. - * Finally, the total space already allocated is passed. If no better - * method is available, cinfo->mem->max_memory_to_use - already_allocated - * is often a suitable calculation. - * - * It is OK for jpeg_mem_available to underestimate the space available - * (that'll just lead to more backing-store access than is really necessary). - * However, an overestimate will lead to failure. Hence it's wise to subtract - * a slop factor from the true available space. 5% should be enough. - * - * On machines with lots of virtual memory, any large constant may be returned. - * Conversely, zero may be returned to always use the minimum amount of memory. - */ - -EXTERN(long) jpeg_mem_available JPP((j_common_ptr cinfo, - long min_bytes_needed, - long max_bytes_needed, - long already_allocated)); - - -/* - * This structure holds whatever state is needed to access a single - * backing-store object. The read/write/close method pointers are called - * by jmemmgr.c to manipulate the backing-store object; all other fields - * are private to the system-dependent backing store routines. - */ - -#define TEMP_NAME_LENGTH 64 /* max length of a temporary file's name */ - - -#ifdef USE_MSDOS_MEMMGR /* DOS-specific junk */ - -typedef unsigned short XMSH; /* type of extended-memory handles */ -typedef unsigned short EMSH; /* type of expanded-memory handles */ - -typedef union { - short file_handle; /* DOS file handle if it's a temp file */ - XMSH xms_handle; /* handle if it's a chunk of XMS */ - EMSH ems_handle; /* handle if it's a chunk of EMS */ -} handle_union; - -#endif /* USE_MSDOS_MEMMGR */ - -#ifdef USE_MAC_MEMMGR /* Mac-specific junk */ -#include -#endif /* USE_MAC_MEMMGR */ - - -typedef struct backing_store_struct * backing_store_ptr; - -typedef struct backing_store_struct { - /* Methods for reading/writing/closing this backing-store object */ - JMETHOD(void, read_backing_store, (j_common_ptr cinfo, - backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count)); - JMETHOD(void, write_backing_store, (j_common_ptr cinfo, - backing_store_ptr info, - void FAR * buffer_address, - long file_offset, long byte_count)); - JMETHOD(void, close_backing_store, (j_common_ptr cinfo, - backing_store_ptr info)); - - /* Private fields for system-dependent backing-store management */ -#ifdef USE_MSDOS_MEMMGR - /* For the MS-DOS manager (jmemdos.c), we need: */ - handle_union handle; /* reference to backing-store storage object */ - char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */ -#else -#ifdef USE_MAC_MEMMGR - /* For the Mac manager (jmemmac.c), we need: */ - short temp_file; /* file reference number to temp file */ - FSSpec tempSpec; /* the FSSpec for the temp file */ - char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */ -#else - /* For a typical implementation with temp files, we need: */ - FILE * temp_file; /* stdio reference to temp file */ - char temp_name[TEMP_NAME_LENGTH]; /* name of temp file */ -#endif -#endif -} backing_store_info; - - -/* - * Initial opening of a backing-store object. This must fill in the - * read/write/close pointers in the object. The read/write routines - * may take an error exit if the specified maximum file size is exceeded. - * (If jpeg_mem_available always returns a large value, this routine can - * just take an error exit.) - */ - -EXTERN(void) jpeg_open_backing_store JPP((j_common_ptr cinfo, - backing_store_ptr info, - long total_bytes_needed)); - - -/* - * These routines take care of any system-dependent initialization and - * cleanup required. jpeg_mem_init will be called before anything is - * allocated (and, therefore, nothing in cinfo is of use except the error - * manager pointer). It should return a suitable default value for - * max_memory_to_use; this may subsequently be overridden by the surrounding - * application. (Note that max_memory_to_use is only important if - * jpeg_mem_available chooses to consult it ... no one else will.) - * jpeg_mem_term may assume that all requested memory has been freed and that - * all opened backing-store objects have been closed. - */ - -EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo)); -EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo)); diff --git a/3rdparty/openctm/tools/jpeg/jmorecfg.h b/3rdparty/openctm/tools/jpeg/jmorecfg.h deleted file mode 100644 index 8bda4fa9b..000000000 --- a/3rdparty/openctm/tools/jpeg/jmorecfg.h +++ /dev/null @@ -1,371 +0,0 @@ -/* - * jmorecfg.h - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 1997-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains additional configuration options that customize the - * JPEG software for special applications or support machine-dependent - * optimizations. Most users will not need to touch this file. - */ - - -/* - * Define BITS_IN_JSAMPLE as either - * 8 for 8-bit sample values (the usual setting) - * 12 for 12-bit sample values - * Only 8 and 12 are legal data precisions for lossy JPEG according to the - * JPEG standard, and the IJG code does not support anything else! - * We do not support run-time selection of data precision, sorry. - */ - -#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ - - -/* - * Maximum number of components (color channels) allowed in JPEG image. - * To meet the letter of the JPEG spec, set this to 255. However, darn - * few applications need more than 4 channels (maybe 5 for CMYK + alpha - * mask). We recommend 10 as a reasonable compromise; use 4 if you are - * really short on memory. (Each allowed component costs a hundred or so - * bytes of storage, whether actually used in an image or not.) - */ - -#define MAX_COMPONENTS 10 /* maximum number of image components */ - - -/* - * Basic data types. - * You may need to change these if you have a machine with unusual data - * type sizes; for example, "char" not 8 bits, "short" not 16 bits, - * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, - * but it had better be at least 16. - */ - -/* Representation of a single sample (pixel element value). - * We frequently allocate large arrays of these, so it's important to keep - * them small. But if you have memory to burn and access to char or short - * arrays is very slow on your hardware, you might want to change these. - */ - -#if BITS_IN_JSAMPLE == 8 -/* JSAMPLE should be the smallest type that will hold the values 0..255. - * You can use a signed char by having GETJSAMPLE mask it with 0xFF. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JSAMPLE; -#ifdef CHAR_IS_UNSIGNED -#define GETJSAMPLE(value) ((int) (value)) -#else -#define GETJSAMPLE(value) ((int) (value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - -#define MAXJSAMPLE 255 -#define CENTERJSAMPLE 128 - -#endif /* BITS_IN_JSAMPLE == 8 */ - - -#if BITS_IN_JSAMPLE == 12 -/* JSAMPLE should be the smallest type that will hold the values 0..4095. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 4095 -#define CENTERJSAMPLE 2048 - -#endif /* BITS_IN_JSAMPLE == 12 */ - - -/* Representation of a DCT frequency coefficient. - * This should be a signed value of at least 16 bits; "short" is usually OK. - * Again, we allocate large arrays of these, but you can change to int - * if you have memory to burn and "short" is really slow. - */ - -typedef short JCOEF; - - -/* Compressed datastreams are represented as arrays of JOCTET. - * These must be EXACTLY 8 bits wide, at least once they are written to - * external storage. Note that when using the stdio data source/destination - * managers, this is also the data type passed to fread/fwrite. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JOCTET; -#define GETJOCTET(value) (value) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JOCTET; -#ifdef CHAR_IS_UNSIGNED -#define GETJOCTET(value) (value) -#else -#define GETJOCTET(value) ((value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - - -/* These typedefs are used for various table entries and so forth. - * They must be at least as wide as specified; but making them too big - * won't cost a huge amount of memory, so we don't provide special - * extraction code like we did for JSAMPLE. (In other words, these - * typedefs live at a different point on the speed/space tradeoff curve.) - */ - -/* UINT8 must hold at least the values 0..255. */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char UINT8; -#else /* not HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char UINT8; -#else /* not CHAR_IS_UNSIGNED */ -typedef short UINT8; -#endif /* CHAR_IS_UNSIGNED */ -#endif /* HAVE_UNSIGNED_CHAR */ - -/* UINT16 must hold at least the values 0..65535. */ - -#ifdef HAVE_UNSIGNED_SHORT -typedef unsigned short UINT16; -#else /* not HAVE_UNSIGNED_SHORT */ -typedef unsigned int UINT16; -#endif /* HAVE_UNSIGNED_SHORT */ - -/* INT16 must hold at least the values -32768..32767. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ -typedef short INT16; -#endif - -/* INT32 must hold at least signed 32-bit values. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ -#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ -#ifndef _BASETSD_H /* ...same but for MinGW basetsd.h */ -#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ -typedef long INT32; -#endif -#endif -#endif -#endif - -/* Datatype used for image dimensions. The JPEG standard only supports - * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore - * "unsigned int" is sufficient on all machines. However, if you need to - * handle larger images and you don't mind deviating from the spec, you - * can change this datatype. - */ - -typedef unsigned int JDIMENSION; - -#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ - - -/* These macros are used in all function definitions and extern declarations. - * You could modify them if you need to change function linkage conventions; - * in particular, you'll need to do that to make the library a Windows DLL. - * Another application is to make all functions global for use with debuggers - * or code profilers that require it. - */ - -/* a function called through method pointers: */ -#define METHODDEF(type) static type -/* a function used only in its module: */ -#define LOCAL(type) static type -/* a function referenced thru EXTERNs: */ -#define GLOBAL(type) type -/* a reference to a GLOBAL function: */ -#define EXTERN(type) extern type - - -/* This macro is used to declare a "method", that is, a function pointer. - * We want to supply prototype parameters if the compiler can cope. - * Note that the arglist parameter must be parenthesized! - * Again, you can customize this if you need special linkage keywords. - */ - -#ifdef HAVE_PROTOTYPES -#define JMETHOD(type,methodname,arglist) type (*methodname) arglist -#else -#define JMETHOD(type,methodname,arglist) type (*methodname) () -#endif - - -/* Here is the pseudo-keyword for declaring pointers that must be "far" - * on 80x86 machines. Most of the specialized coding for 80x86 is handled - * by just saying "FAR *" where such a pointer is needed. In a few places - * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. - */ - -#ifndef FAR -#ifdef NEED_FAR_POINTERS -#define FAR far -#else -#define FAR -#endif -#endif - - -/* - * On a few systems, type boolean and/or its values FALSE, TRUE may appear - * in standard header files. Or you may have conflicts with application- - * specific header files that you want to include together with these files. - * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. - */ - -#ifndef HAVE_BOOLEAN -typedef int boolean; -#endif -#ifndef FALSE /* in case these macros already exist */ -#define FALSE 0 /* values of boolean */ -#endif -#ifndef TRUE -#define TRUE 1 -#endif - - -/* - * The remaining options affect code selection within the JPEG library, - * but they don't need to be visible to most applications using the library. - * To minimize application namespace pollution, the symbols won't be - * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. - */ - -#ifdef JPEG_INTERNALS -#define JPEG_INTERNAL_OPTIONS -#endif - -#ifdef JPEG_INTERNAL_OPTIONS - - -/* - * These defines indicate whether to include various optional functions. - * Undefining some of these symbols will produce a smaller but less capable - * library. Note that you can leave certain source files out of the - * compilation/linking process if you've #undef'd the corresponding symbols. - * (You may HAVE to do that if your compiler doesn't like null source files.) - */ - -/* Capability options common to encoder and decoder: */ - -#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ -#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ -#define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ - -/* Encoder capability options: */ - -#define C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ -#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ -/* Note: if you selected 12-bit data precision, it is dangerous to turn off - * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit - * precision, so jchuff.c normally uses entropy optimization to compute - * usable tables for higher precision. If you don't want to do optimization, - * you'll have to supply different default Huffman tables. - * The exact same statements apply for progressive JPEG: the default tables - * don't work for progressive mode. (This may get fixed, however.) - */ -#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ - -/* Decoder capability options: */ - -#define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ -#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ -#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ -#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ -#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ -#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ -#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ - -/* more capability options later, no doubt */ - - -/* - * Ordering of RGB data in scanlines passed to or from the application. - * If your application wants to deal with data in the order B,G,R, just - * change these macros. You can also deal with formats such as R,G,B,X - * (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing - * the offsets will also change the order in which colormap data is organized. - * RESTRICTIONS: - * 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats. - * 2. These macros only affect RGB<=>YCbCr color conversion, so they are not - * useful if you are using JPEG color spaces other than YCbCr or grayscale. - * 3. The color quantizer modules will not behave desirably if RGB_PIXELSIZE - * is not 3 (they don't understand about dummy color components!). So you - * can't use color quantization if you change that value. - */ - -#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ -#define RGB_GREEN 1 /* Offset of Green */ -#define RGB_BLUE 2 /* Offset of Blue */ -#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ - - -/* Definitions for speed-related optimizations. */ - - -/* If your compiler supports inline functions, define INLINE - * as the inline keyword; otherwise define it as empty. - */ - -#ifndef INLINE -#ifdef __GNUC__ /* for instance, GNU C knows about inline */ -#define INLINE __inline__ -#endif -#ifndef INLINE -#define INLINE /* default is to define it as empty */ -#endif -#endif - - -/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying - * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER - * as short on such a machine. MULTIPLIER must be at least 16 bits wide. - */ - -#ifndef MULTIPLIER -#define MULTIPLIER int /* type for fastest integer multiply */ -#endif - - -/* FAST_FLOAT should be either float or double, whichever is done faster - * by your compiler. (Note that this type is only used in the floating point - * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) - * Typically, float is faster in ANSI C compilers, while double is faster in - * pre-ANSI compilers (because they insist on converting to double anyway). - * The code below therefore chooses float if we have ANSI-style prototypes. - */ - -#ifndef FAST_FLOAT -#ifdef HAVE_PROTOTYPES -#define FAST_FLOAT float -#else -#define FAST_FLOAT double -#endif -#endif - -#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/3rdparty/openctm/tools/jpeg/jpegint.h b/3rdparty/openctm/tools/jpeg/jpegint.h deleted file mode 100644 index 23454d6c8..000000000 --- a/3rdparty/openctm/tools/jpeg/jpegint.h +++ /dev/null @@ -1,395 +0,0 @@ -/* - * jpegint.h - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 1997-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file provides common declarations for the various JPEG modules. - * These declarations are considered internal to the JPEG library; most - * applications using the library shouldn't need to include this file. - */ - - -/* Declarations for both compression & decompression */ - -typedef enum { /* Operating modes for buffer controllers */ - JBUF_PASS_THRU, /* Plain stripwise operation */ - /* Remaining modes require a full-image buffer to have been created */ - JBUF_SAVE_SOURCE, /* Run source subobject only, save output */ - JBUF_CRANK_DEST, /* Run dest subobject only, using saved data */ - JBUF_SAVE_AND_PASS /* Run both subobjects, save output */ -} J_BUF_MODE; - -/* Values of global_state field (jdapi.c has some dependencies on ordering!) */ -#define CSTATE_START 100 /* after create_compress */ -#define CSTATE_SCANNING 101 /* start_compress done, write_scanlines OK */ -#define CSTATE_RAW_OK 102 /* start_compress done, write_raw_data OK */ -#define CSTATE_WRCOEFS 103 /* jpeg_write_coefficients done */ -#define DSTATE_START 200 /* after create_decompress */ -#define DSTATE_INHEADER 201 /* reading header markers, no SOS yet */ -#define DSTATE_READY 202 /* found SOS, ready for start_decompress */ -#define DSTATE_PRELOAD 203 /* reading multiscan file in start_decompress*/ -#define DSTATE_PRESCAN 204 /* performing dummy pass for 2-pass quant */ -#define DSTATE_SCANNING 205 /* start_decompress done, read_scanlines OK */ -#define DSTATE_RAW_OK 206 /* start_decompress done, read_raw_data OK */ -#define DSTATE_BUFIMAGE 207 /* expecting jpeg_start_output */ -#define DSTATE_BUFPOST 208 /* looking for SOS/EOI in jpeg_finish_output */ -#define DSTATE_RDCOEFS 209 /* reading file in jpeg_read_coefficients */ -#define DSTATE_STOPPING 210 /* looking for EOI in jpeg_finish_decompress */ - - -/* Declarations for compression modules */ - -/* Master control module */ -struct jpeg_comp_master { - JMETHOD(void, prepare_for_pass, (j_compress_ptr cinfo)); - JMETHOD(void, pass_startup, (j_compress_ptr cinfo)); - JMETHOD(void, finish_pass, (j_compress_ptr cinfo)); - - /* State variables made visible to other modules */ - boolean call_pass_startup; /* True if pass_startup must be called */ - boolean is_last_pass; /* True during last pass */ -}; - -/* Main buffer control (downsampled-data buffer) */ -struct jpeg_c_main_controller { - JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); - JMETHOD(void, process_data, (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail)); -}; - -/* Compression preprocessing (downsampling input buffer control) */ -struct jpeg_c_prep_controller { - JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); - JMETHOD(void, pre_process_data, (j_compress_ptr cinfo, - JSAMPARRAY input_buf, - JDIMENSION *in_row_ctr, - JDIMENSION in_rows_avail, - JSAMPIMAGE output_buf, - JDIMENSION *out_row_group_ctr, - JDIMENSION out_row_groups_avail)); -}; - -/* Coefficient buffer control */ -struct jpeg_c_coef_controller { - JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); - JMETHOD(boolean, compress_data, (j_compress_ptr cinfo, - JSAMPIMAGE input_buf)); -}; - -/* Colorspace conversion */ -struct jpeg_color_converter { - JMETHOD(void, start_pass, (j_compress_ptr cinfo)); - JMETHOD(void, color_convert, (j_compress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPIMAGE output_buf, - JDIMENSION output_row, int num_rows)); -}; - -/* Downsampling */ -struct jpeg_downsampler { - JMETHOD(void, start_pass, (j_compress_ptr cinfo)); - JMETHOD(void, downsample, (j_compress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION in_row_index, - JSAMPIMAGE output_buf, - JDIMENSION out_row_group_index)); - - boolean need_context_rows; /* TRUE if need rows above & below */ -}; - -/* Forward DCT (also controls coefficient quantization) */ -typedef JMETHOD(void, forward_DCT_ptr, - (j_compress_ptr cinfo, jpeg_component_info * compptr, - JSAMPARRAY sample_data, JBLOCKROW coef_blocks, - JDIMENSION start_row, JDIMENSION start_col, - JDIMENSION num_blocks)); - -struct jpeg_forward_dct { - JMETHOD(void, start_pass, (j_compress_ptr cinfo)); - /* It is useful to allow each component to have a separate FDCT method. */ - forward_DCT_ptr forward_DCT[MAX_COMPONENTS]; -}; - -/* Entropy encoding */ -struct jpeg_entropy_encoder { - JMETHOD(void, start_pass, (j_compress_ptr cinfo, boolean gather_statistics)); - JMETHOD(boolean, encode_mcu, (j_compress_ptr cinfo, JBLOCKROW *MCU_data)); - JMETHOD(void, finish_pass, (j_compress_ptr cinfo)); -}; - -/* Marker writing */ -struct jpeg_marker_writer { - JMETHOD(void, write_file_header, (j_compress_ptr cinfo)); - JMETHOD(void, write_frame_header, (j_compress_ptr cinfo)); - JMETHOD(void, write_scan_header, (j_compress_ptr cinfo)); - JMETHOD(void, write_file_trailer, (j_compress_ptr cinfo)); - JMETHOD(void, write_tables_only, (j_compress_ptr cinfo)); - /* These routines are exported to allow insertion of extra markers */ - /* Probably only COM and APPn markers should be written this way */ - JMETHOD(void, write_marker_header, (j_compress_ptr cinfo, int marker, - unsigned int datalen)); - JMETHOD(void, write_marker_byte, (j_compress_ptr cinfo, int val)); -}; - - -/* Declarations for decompression modules */ - -/* Master control module */ -struct jpeg_decomp_master { - JMETHOD(void, prepare_for_output_pass, (j_decompress_ptr cinfo)); - JMETHOD(void, finish_output_pass, (j_decompress_ptr cinfo)); - - /* State variables made visible to other modules */ - boolean is_dummy_pass; /* True during 1st pass for 2-pass quant */ -}; - -/* Input control module */ -struct jpeg_input_controller { - JMETHOD(int, consume_input, (j_decompress_ptr cinfo)); - JMETHOD(void, reset_input_controller, (j_decompress_ptr cinfo)); - JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo)); - JMETHOD(void, finish_input_pass, (j_decompress_ptr cinfo)); - - /* State variables made visible to other modules */ - boolean has_multiple_scans; /* True if file has multiple scans */ - boolean eoi_reached; /* True when EOI has been consumed */ -}; - -/* Main buffer control (downsampled-data buffer) */ -struct jpeg_d_main_controller { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); - JMETHOD(void, process_data, (j_decompress_ptr cinfo, - JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); -}; - -/* Coefficient buffer control */ -struct jpeg_d_coef_controller { - JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo)); - JMETHOD(int, consume_data, (j_decompress_ptr cinfo)); - JMETHOD(void, start_output_pass, (j_decompress_ptr cinfo)); - JMETHOD(int, decompress_data, (j_decompress_ptr cinfo, - JSAMPIMAGE output_buf)); - /* Pointer to array of coefficient virtual arrays, or NULL if none */ - jvirt_barray_ptr *coef_arrays; -}; - -/* Decompression postprocessing (color quantization buffer control) */ -struct jpeg_d_post_controller { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); - JMETHOD(void, post_process_data, (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, - JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, - JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); -}; - -/* Marker reading & parsing */ -struct jpeg_marker_reader { - JMETHOD(void, reset_marker_reader, (j_decompress_ptr cinfo)); - /* Read markers until SOS or EOI. - * Returns same codes as are defined for jpeg_consume_input: - * JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. - */ - JMETHOD(int, read_markers, (j_decompress_ptr cinfo)); - /* Read a restart marker --- exported for use by entropy decoder only */ - jpeg_marker_parser_method read_restart_marker; - - /* State of marker reader --- nominally internal, but applications - * supplying COM or APPn handlers might like to know the state. - */ - boolean saw_SOI; /* found SOI? */ - boolean saw_SOF; /* found SOF? */ - int next_restart_num; /* next restart number expected (0-7) */ - unsigned int discarded_bytes; /* # of bytes skipped looking for a marker */ -}; - -/* Entropy decoding */ -struct jpeg_entropy_decoder { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); - JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, - JBLOCKROW *MCU_data)); - - /* This is here to share code between baseline and progressive decoders; */ - /* other modules probably should not use it */ - boolean insufficient_data; /* set TRUE after emitting warning */ -}; - -/* Inverse DCT (also performs dequantization) */ -typedef JMETHOD(void, inverse_DCT_method_ptr, - (j_decompress_ptr cinfo, jpeg_component_info * compptr, - JCOEFPTR coef_block, - JSAMPARRAY output_buf, JDIMENSION output_col)); - -struct jpeg_inverse_dct { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); - /* It is useful to allow each component to have a separate IDCT method. */ - inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS]; -}; - -/* Upsampling (note that upsampler must also call color converter) */ -struct jpeg_upsampler { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); - JMETHOD(void, upsample, (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, - JDIMENSION *in_row_group_ctr, - JDIMENSION in_row_groups_avail, - JSAMPARRAY output_buf, - JDIMENSION *out_row_ctr, - JDIMENSION out_rows_avail)); - - boolean need_context_rows; /* TRUE if need rows above & below */ -}; - -/* Colorspace conversion */ -struct jpeg_color_deconverter { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); - JMETHOD(void, color_convert, (j_decompress_ptr cinfo, - JSAMPIMAGE input_buf, JDIMENSION input_row, - JSAMPARRAY output_buf, int num_rows)); -}; - -/* Color quantization or color precision reduction */ -struct jpeg_color_quantizer { - JMETHOD(void, start_pass, (j_decompress_ptr cinfo, boolean is_pre_scan)); - JMETHOD(void, color_quantize, (j_decompress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPARRAY output_buf, - int num_rows)); - JMETHOD(void, finish_pass, (j_decompress_ptr cinfo)); - JMETHOD(void, new_color_map, (j_decompress_ptr cinfo)); -}; - - -/* Miscellaneous useful macros */ - -#undef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#undef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) - - -/* We assume that right shift corresponds to signed division by 2 with - * rounding towards minus infinity. This is correct for typical "arithmetic - * shift" instructions that shift in copies of the sign bit. But some - * C compilers implement >> with an unsigned shift. For these machines you - * must define RIGHT_SHIFT_IS_UNSIGNED. - * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity. - * It is only applied with constant shift counts. SHIFT_TEMPS must be - * included in the variables of any routine using RIGHT_SHIFT. - */ - -#ifdef RIGHT_SHIFT_IS_UNSIGNED -#define SHIFT_TEMPS INT32 shift_temp; -#define RIGHT_SHIFT(x,shft) \ - ((shift_temp = (x)) < 0 ? \ - (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \ - (shift_temp >> (shft))) -#else -#define SHIFT_TEMPS -#define RIGHT_SHIFT(x,shft) ((x) >> (shft)) -#endif - - -/* Short forms of external names for systems with brain-damaged linkers. */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jinit_compress_master jICompress -#define jinit_c_master_control jICMaster -#define jinit_c_main_controller jICMainC -#define jinit_c_prep_controller jICPrepC -#define jinit_c_coef_controller jICCoefC -#define jinit_color_converter jICColor -#define jinit_downsampler jIDownsampler -#define jinit_forward_dct jIFDCT -#define jinit_huff_encoder jIHEncoder -#define jinit_arith_encoder jIAEncoder -#define jinit_marker_writer jIMWriter -#define jinit_master_decompress jIDMaster -#define jinit_d_main_controller jIDMainC -#define jinit_d_coef_controller jIDCoefC -#define jinit_d_post_controller jIDPostC -#define jinit_input_controller jIInCtlr -#define jinit_marker_reader jIMReader -#define jinit_huff_decoder jIHDecoder -#define jinit_arith_decoder jIADecoder -#define jinit_inverse_dct jIIDCT -#define jinit_upsampler jIUpsampler -#define jinit_color_deconverter jIDColor -#define jinit_1pass_quantizer jI1Quant -#define jinit_2pass_quantizer jI2Quant -#define jinit_merged_upsampler jIMUpsampler -#define jinit_memory_mgr jIMemMgr -#define jdiv_round_up jDivRound -#define jround_up jRound -#define jcopy_sample_rows jCopySamples -#define jcopy_block_row jCopyBlocks -#define jzero_far jZeroFar -#define jpeg_zigzag_order jZIGTable -#define jpeg_natural_order jZAGTable -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* Compression module initialization routines */ -EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo, - boolean transcode_only)); -EXTERN(void) jinit_c_main_controller JPP((j_compress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_c_prep_controller JPP((j_compress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_c_coef_controller JPP((j_compress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_color_converter JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_downsampler JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_forward_dct JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_huff_encoder JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_arith_encoder JPP((j_compress_ptr cinfo)); -EXTERN(void) jinit_marker_writer JPP((j_compress_ptr cinfo)); -/* Decompression module initialization routines */ -EXTERN(void) jinit_master_decompress JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_d_main_controller JPP((j_decompress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_d_coef_controller JPP((j_decompress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_d_post_controller JPP((j_decompress_ptr cinfo, - boolean need_full_buffer)); -EXTERN(void) jinit_input_controller JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_marker_reader JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_huff_decoder JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_arith_decoder JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_inverse_dct JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_upsampler JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_color_deconverter JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_1pass_quantizer JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_2pass_quantizer JPP((j_decompress_ptr cinfo)); -EXTERN(void) jinit_merged_upsampler JPP((j_decompress_ptr cinfo)); -/* Memory manager initialization */ -EXTERN(void) jinit_memory_mgr JPP((j_common_ptr cinfo)); - -/* Utility routines in jutils.c */ -EXTERN(long) jdiv_round_up JPP((long a, long b)); -EXTERN(long) jround_up JPP((long a, long b)); -EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row, - JSAMPARRAY output_array, int dest_row, - int num_rows, JDIMENSION num_cols)); -EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row, - JDIMENSION num_blocks)); -EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero)); -/* Constant tables in jutils.c */ -#if 0 /* This table is not actually needed in v6a */ -extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */ -#endif -extern const int jpeg_natural_order[]; /* zigzag coef order to natural order */ - -/* Suppress undefined-structure complaints if necessary. */ - -#ifdef INCOMPLETE_TYPES_BROKEN -#ifndef AM_MEMORY_MANAGER /* only jmemmgr.c defines these */ -struct jvirt_sarray_control { long dummy; }; -struct jvirt_barray_control { long dummy; }; -#endif -#endif /* INCOMPLETE_TYPES_BROKEN */ diff --git a/3rdparty/openctm/tools/jpeg/jpeglib.h b/3rdparty/openctm/tools/jpeg/jpeglib.h deleted file mode 100644 index 0b3287226..000000000 --- a/3rdparty/openctm/tools/jpeg/jpeglib.h +++ /dev/null @@ -1,1135 +0,0 @@ -/* - * jpeglib.h - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modified 2002-2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the application interface for the JPEG library. - * Most applications using the library need only include this file, - * and perhaps jerror.h if they want to know the exact error codes. - */ - -#ifndef JPEGLIB_H -#define JPEGLIB_H - -/* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be - * generated automatically for many systems. jmorecfg.h contains - * manual configuration options that most people need not worry about. - */ - -#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ -#include "jconfig.h" /* widely used configuration options */ -#endif -#include "jmorecfg.h" /* seldom changed options */ - - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -extern "C" { -#endif -#endif - -/* Version ID for the JPEG library. - * Might be useful for tests like "#if JPEG_LIB_VERSION >= 70". - */ - -#define JPEG_LIB_VERSION 70 /* Version 7.0 */ - - -/* Various constants determining the sizes of things. - * All of these are specified by the JPEG standard, so don't change them - * if you want to be compatible. - */ - -#define DCTSIZE 8 /* The basic DCT block is 8x8 samples */ -#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ -#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ -#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ -#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ -#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ -#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ -/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; - * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. - * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU - * to handle it. We even let you do this from the jconfig.h file. However, - * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe - * sometimes emits noncompliant files doesn't mean you should too. - */ -#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on blocks per MCU */ -#ifndef D_MAX_BLOCKS_IN_MCU -#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on blocks per MCU */ -#endif - - -/* Data structures for images (arrays of samples and of DCT coefficients). - * On 80x86 machines, the image arrays are too big for near pointers, - * but the pointer arrays can fit in near memory. - */ - -typedef JSAMPLE FAR *JSAMPROW; /* ptr to one image row of pixel samples. */ -typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ -typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ - -typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ -typedef JBLOCK FAR *JBLOCKROW; /* pointer to one row of coefficient blocks */ -typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ -typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ - -typedef JCOEF FAR *JCOEFPTR; /* useful in a couple of places */ - - -/* Types for JPEG compression parameters and working tables. */ - - -/* DCT coefficient quantization tables. */ - -typedef struct { - /* This array gives the coefficient quantizers in natural array order - * (not the zigzag order in which they are stored in a JPEG DQT marker). - * CAUTION: IJG versions prior to v6a kept this array in zigzag order. - */ - UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JQUANT_TBL; - - -/* Huffman coding tables. */ - -typedef struct { - /* These two fields directly represent the contents of a JPEG DHT marker */ - UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ - /* length k bits; bits[0] is unused */ - UINT8 huffval[256]; /* The symbols, in order of incr code length */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JHUFF_TBL; - - -/* Basic info about one component (color channel). */ - -typedef struct { - /* These values are fixed over the whole image. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOF marker. */ - int component_id; /* identifier for this component (0..255) */ - int component_index; /* its index in SOF or cinfo->comp_info[] */ - int h_samp_factor; /* horizontal sampling factor (1..4) */ - int v_samp_factor; /* vertical sampling factor (1..4) */ - int quant_tbl_no; /* quantization table selector (0..3) */ - /* These values may vary between scans. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOS marker. */ - /* The decompressor output side may not use these variables. */ - int dc_tbl_no; /* DC entropy table selector (0..3) */ - int ac_tbl_no; /* AC entropy table selector (0..3) */ - - /* Remaining fields should be treated as private by applications. */ - - /* These values are computed during compression or decompression startup: */ - /* Component's size in DCT blocks. - * Any dummy blocks added to complete an MCU are not counted; therefore - * these values do not depend on whether a scan is interleaved or not. - */ - JDIMENSION width_in_blocks; - JDIMENSION height_in_blocks; - /* Size of a DCT block in samples, - * reflecting any scaling we choose to apply during the DCT step. - * Values from 1 to 16 are supported. - * Note that different components may receive different DCT scalings. - */ - int DCT_h_scaled_size; - int DCT_v_scaled_size; - /* The downsampled dimensions are the component's actual, unpadded number - * of samples at the main buffer (preprocessing/compression interface); - * DCT scaling is included, so - * downsampled_width = ceil(image_width * Hi/Hmax * DCT_h_scaled_size/DCTSIZE) - * and similarly for height. - */ - JDIMENSION downsampled_width; /* actual width in samples */ - JDIMENSION downsampled_height; /* actual height in samples */ - /* This flag is used only for decompression. In cases where some of the - * components will be ignored (eg grayscale output from YCbCr image), - * we can skip most computations for the unused components. - */ - boolean component_needed; /* do we need the value of this component? */ - - /* These values are computed before starting a scan of the component. */ - /* The decompressor output side may not use these variables. */ - int MCU_width; /* number of blocks per MCU, horizontally */ - int MCU_height; /* number of blocks per MCU, vertically */ - int MCU_blocks; /* MCU_width * MCU_height */ - int MCU_sample_width; /* MCU width in samples, MCU_width*DCT_scaled_size */ - int last_col_width; /* # of non-dummy blocks across in last MCU */ - int last_row_height; /* # of non-dummy blocks down in last MCU */ - - /* Saved quantization table for component; NULL if none yet saved. - * See jdinput.c comments about the need for this information. - * This field is currently used only for decompression. - */ - JQUANT_TBL * quant_table; - - /* Private per-component storage for DCT or IDCT subsystem. */ - void * dct_table; -} jpeg_component_info; - - -/* The script for encoding a multiple-scan file is an array of these: */ - -typedef struct { - int comps_in_scan; /* number of components encoded in this scan */ - int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ - int Ss, Se; /* progressive JPEG spectral selection parms */ - int Ah, Al; /* progressive JPEG successive approx. parms */ -} jpeg_scan_info; - -/* The decompressor can save APPn and COM markers in a list of these: */ - -typedef struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr; - -struct jpeg_marker_struct { - jpeg_saved_marker_ptr next; /* next in list, or NULL */ - UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ - unsigned int original_length; /* # bytes of data in the file */ - unsigned int data_length; /* # bytes of data saved at data[] */ - JOCTET FAR * data; /* the data contained in the marker */ - /* the marker length word is not counted in data_length or original_length */ -}; - -/* Known color spaces. */ - -typedef enum { - JCS_UNKNOWN, /* error/unspecified */ - JCS_GRAYSCALE, /* monochrome */ - JCS_RGB, /* red/green/blue */ - JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ - JCS_CMYK, /* C/M/Y/K */ - JCS_YCCK /* Y/Cb/Cr/K */ -} J_COLOR_SPACE; - -/* DCT/IDCT algorithm options. */ - -typedef enum { - JDCT_ISLOW, /* slow but accurate integer algorithm */ - JDCT_IFAST, /* faster, less accurate integer method */ - JDCT_FLOAT /* floating-point: accurate, fast on fast HW */ -} J_DCT_METHOD; - -#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ -#define JDCT_DEFAULT JDCT_ISLOW -#endif -#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ -#define JDCT_FASTEST JDCT_IFAST -#endif - -/* Dithering options for decompression. */ - -typedef enum { - JDITHER_NONE, /* no dithering */ - JDITHER_ORDERED, /* simple ordered dither */ - JDITHER_FS /* Floyd-Steinberg error diffusion dither */ -} J_DITHER_MODE; - - -/* Common fields between JPEG compression and decompression master structs. */ - -#define jpeg_common_fields \ - struct jpeg_error_mgr * err; /* Error handler module */\ - struct jpeg_memory_mgr * mem; /* Memory manager module */\ - struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\ - void * client_data; /* Available for use by application */\ - boolean is_decompressor; /* So common code can tell which is which */\ - int global_state /* For checking call sequence validity */ - -/* Routines that are to be used by both halves of the library are declared - * to receive a pointer to this structure. There are no actual instances of - * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. - */ -struct jpeg_common_struct { - jpeg_common_fields; /* Fields common to both master struct types */ - /* Additional fields follow in an actual jpeg_compress_struct or - * jpeg_decompress_struct. All three structs must agree on these - * initial fields! (This would be a lot cleaner in C++.) - */ -}; - -typedef struct jpeg_common_struct * j_common_ptr; -typedef struct jpeg_compress_struct * j_compress_ptr; -typedef struct jpeg_decompress_struct * j_decompress_ptr; - - -/* Master record for a compression instance */ - -struct jpeg_compress_struct { - jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ - - /* Destination for compressed data */ - struct jpeg_destination_mgr * dest; - - /* Description of source image --- these fields must be filled in by - * outer application before starting compression. in_color_space must - * be correct before you can even call jpeg_set_defaults(). - */ - - JDIMENSION image_width; /* input image width */ - JDIMENSION image_height; /* input image height */ - int input_components; /* # of color components in input image */ - J_COLOR_SPACE in_color_space; /* colorspace of input image */ - - double input_gamma; /* image gamma of input image */ - - /* Compression parameters --- these fields must be set before calling - * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to - * initialize everything to reasonable defaults, then changing anything - * the application specifically wants to change. That way you won't get - * burnt when new parameters are added. Also note that there are several - * helper routines to simplify changing parameters. - */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - JDIMENSION jpeg_width; /* scaled JPEG image width */ - JDIMENSION jpeg_height; /* scaled JPEG image height */ - /* Dimensions of actual JPEG image that will be written to file, - * derived from input dimensions by scaling factors above. - * These fields are computed by jpeg_start_compress(). - * You can also use jpeg_calc_jpeg_dimensions() to determine these values - * in advance of calling jpeg_start_compress(). - */ - - int data_precision; /* bits of precision in image data */ - - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - int q_scale_factor[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined, - * and corresponding scale factors (percentage, initialized 100). - */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - int num_scans; /* # of entries in scan_info array */ - const jpeg_scan_info * scan_info; /* script for multi-scan file, or NULL */ - /* The default value of scan_info is NULL, which causes a single-scan - * sequential JPEG file to be emitted. To create a multi-scan file, - * set num_scans and scan_info to point to an array of scan definitions. - */ - - boolean raw_data_in; /* TRUE=caller supplies downsampled data */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - boolean do_fancy_downsampling; /* TRUE=apply fancy downsampling */ - int smoothing_factor; /* 1..100, or 0 for no input smoothing */ - J_DCT_METHOD dct_method; /* DCT algorithm selector */ - - /* The restart interval can be specified in absolute MCUs by setting - * restart_interval, or in MCU rows by setting restart_in_rows - * (in which case the correct restart_interval will be figured - * for each scan). - */ - unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ - int restart_in_rows; /* if > 0, MCU rows per restart interval */ - - /* Parameters controlling emission of special markers. */ - - boolean write_JFIF_header; /* should a JFIF marker be written? */ - UINT8 JFIF_major_version; /* What to write for the JFIF version number */ - UINT8 JFIF_minor_version; - /* These three values are not used by the JPEG code, merely copied */ - /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ - /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ - /* ratio is defined by X_density/Y_density even when density_unit=0. */ - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean write_Adobe_marker; /* should an Adobe marker be written? */ - - /* State variable: index of next scanline to be written to - * jpeg_write_scanlines(). Application may use this to control its - * processing loop, e.g., "while (next_scanline < image_height)". - */ - - JDIMENSION next_scanline; /* 0 .. image_height-1 */ - - /* Remaining fields are known throughout compressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during compression startup - */ - boolean progressive_mode; /* TRUE if scan script uses progressive mode */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */ - /* The coefficient controller receives data in units of MCU rows as defined - * for fully interleaved scans (whether the JPEG file is interleaved or not). - * There are v_samp_factor * DCTSIZE sample rows of each component in an - * "iMCU" (interleaved MCU) row. - */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[C_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* - * Links to compression subobjects (methods and private variables of modules) - */ - struct jpeg_comp_master * master; - struct jpeg_c_main_controller * main; - struct jpeg_c_prep_controller * prep; - struct jpeg_c_coef_controller * coef; - struct jpeg_marker_writer * marker; - struct jpeg_color_converter * cconvert; - struct jpeg_downsampler * downsample; - struct jpeg_forward_dct * fdct; - struct jpeg_entropy_encoder * entropy; - jpeg_scan_info * script_space; /* workspace for jpeg_simple_progression */ - int script_space_size; -}; - - -/* Master record for a decompression instance */ - -struct jpeg_decompress_struct { - jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ - - /* Source of compressed data */ - struct jpeg_source_mgr * src; - - /* Basic description of image --- filled in by jpeg_read_header(). */ - /* Application may inspect these values to decide how to process image. */ - - JDIMENSION image_width; /* nominal image width (from SOF marker) */ - JDIMENSION image_height; /* nominal image height */ - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - /* Decompression processing parameters --- these fields must be set before - * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes - * them to default values. - */ - - J_COLOR_SPACE out_color_space; /* colorspace for output */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - double output_gamma; /* image gamma wanted in output */ - - boolean buffered_image; /* TRUE=multiple output passes */ - boolean raw_data_out; /* TRUE=downsampled data wanted */ - - J_DCT_METHOD dct_method; /* IDCT algorithm selector */ - boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ - boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ - - boolean quantize_colors; /* TRUE=colormapped output wanted */ - /* the following are ignored if not quantize_colors: */ - J_DITHER_MODE dither_mode; /* type of color dithering to use */ - boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ - int desired_number_of_colors; /* max # colors to use in created colormap */ - /* these are significant only in buffered-image mode: */ - boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ - boolean enable_external_quant;/* enable future use of external colormap */ - boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ - - /* Description of actual output image that will be returned to application. - * These fields are computed by jpeg_start_decompress(). - * You can also use jpeg_calc_output_dimensions() to determine these values - * in advance of calling jpeg_start_decompress(). - */ - - JDIMENSION output_width; /* scaled image width */ - JDIMENSION output_height; /* scaled image height */ - int out_color_components; /* # of color components in out_color_space */ - int output_components; /* # of color components returned */ - /* output_components is 1 (a colormap index) when quantizing colors; - * otherwise it equals out_color_components. - */ - int rec_outbuf_height; /* min recommended height of scanline buffer */ - /* If the buffer passed to jpeg_read_scanlines() is less than this many rows - * high, space and time will be wasted due to unnecessary data copying. - * Usually rec_outbuf_height will be 1 or 2, at most 4. - */ - - /* When quantizing colors, the output colormap is described by these fields. - * The application can supply a colormap by setting colormap non-NULL before - * calling jpeg_start_decompress; otherwise a colormap is created during - * jpeg_start_decompress or jpeg_start_output. - * The map has out_color_components rows and actual_number_of_colors columns. - */ - int actual_number_of_colors; /* number of entries in use */ - JSAMPARRAY colormap; /* The color map as a 2-D pixel array */ - - /* State variables: these variables indicate the progress of decompression. - * The application may examine these but must not modify them. - */ - - /* Row index of next scanline to be read from jpeg_read_scanlines(). - * Application may use this to control its processing loop, e.g., - * "while (output_scanline < output_height)". - */ - JDIMENSION output_scanline; /* 0 .. output_height-1 */ - - /* Current input scan number and number of iMCU rows completed in scan. - * These indicate the progress of the decompressor input side. - */ - int input_scan_number; /* Number of SOS markers seen so far */ - JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ - - /* The "output scan number" is the notional scan being displayed by the - * output side. The decompressor will not allow output scan/row number - * to get ahead of input scan/row, but it can fall arbitrarily far behind. - */ - int output_scan_number; /* Nominal scan number being displayed */ - JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ - - /* Current progression status. coef_bits[c][i] indicates the precision - * with which component c's DCT coefficient i (in zigzag order) is known. - * It is -1 when no data has yet been received, otherwise it is the point - * transform (shift) value for the most recent scan of the coefficient - * (thus, 0 at completion of the progression). - * This pointer is NULL when reading a non-progressive file. - */ - int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ - - /* Internal JPEG parameters --- the application usually need not look at - * these fields. Note that the decompressor output side may not use - * any parameters that can change between scans. - */ - - /* Quantization and Huffman tables are carried forward across input - * datastreams when processing abbreviated JPEG datastreams. - */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - /* These parameters are never carried across datastreams, since they - * are given in SOF/SOS markers or defined to be reset by SOI. - */ - - int data_precision; /* bits of precision in image data */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ - - /* These fields record data obtained from optional markers recognized by - * the JPEG library. - */ - boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ - /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ - UINT8 JFIF_major_version; /* JFIF version number */ - UINT8 JFIF_minor_version; - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ - UINT8 Adobe_transform; /* Color transform code from Adobe marker */ - - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - - /* Aside from the specific data retained from APPn markers known to the - * library, the uninterpreted contents of any or all APPn and COM markers - * can be saved in a list for examination by the application. - */ - jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ - - /* Remaining fields are known throughout decompressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during decompression startup - */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ - /* The coefficient controller's input and output progress is measured in - * units of "iMCU" (interleaved MCU) rows. These are the same as MCU rows - * in fully interleaved JPEG scans, but are used whether the scan is - * interleaved or not. We define an iMCU row as v_samp_factor DCT block - * rows of each component. Therefore, the IDCT output contains - * v_samp_factor*DCT_v_scaled_size sample rows of a component per iMCU row. - */ - - JSAMPLE * sample_range_limit; /* table for fast range-limiting */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - * Note that the decompressor output side must not use these fields. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[D_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* This field is shared between entropy decoder and marker parser. - * It is either zero or the code of a JPEG marker that has been - * read from the data source, but has not yet been processed. - */ - int unread_marker; - - /* - * Links to decompression subobjects (methods, private variables of modules) - */ - struct jpeg_decomp_master * master; - struct jpeg_d_main_controller * main; - struct jpeg_d_coef_controller * coef; - struct jpeg_d_post_controller * post; - struct jpeg_input_controller * inputctl; - struct jpeg_marker_reader * marker; - struct jpeg_entropy_decoder * entropy; - struct jpeg_inverse_dct * idct; - struct jpeg_upsampler * upsample; - struct jpeg_color_deconverter * cconvert; - struct jpeg_color_quantizer * cquantize; -}; - - -/* "Object" declarations for JPEG modules that may be supplied or called - * directly by the surrounding application. - * As with all objects in the JPEG library, these structs only define the - * publicly visible methods and state variables of a module. Additional - * private fields may exist after the public ones. - */ - - -/* Error handler object */ - -struct jpeg_error_mgr { - /* Error exit handler: does not return to caller */ - JMETHOD(void, error_exit, (j_common_ptr cinfo)); - /* Conditionally emit a trace or warning message */ - JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); - /* Routine that actually outputs a trace or error message */ - JMETHOD(void, output_message, (j_common_ptr cinfo)); - /* Format a message string for the most recent JPEG error or message */ - JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer)); -#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ - /* Reset error state variables at start of a new image */ - JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo)); - - /* The message ID code and any parameters are saved here. - * A message can have one string parameter or up to 8 int parameters. - */ - int msg_code; -#define JMSG_STR_PARM_MAX 80 - union { - int i[8]; - char s[JMSG_STR_PARM_MAX]; - } msg_parm; - - /* Standard state variables for error facility */ - - int trace_level; /* max msg_level that will be displayed */ - - /* For recoverable corrupt-data errors, we emit a warning message, - * but keep going unless emit_message chooses to abort. emit_message - * should count warnings in num_warnings. The surrounding application - * can check for bad data by seeing if num_warnings is nonzero at the - * end of processing. - */ - long num_warnings; /* number of corrupt-data warnings */ - - /* These fields point to the table(s) of error message strings. - * An application can change the table pointer to switch to a different - * message list (typically, to change the language in which errors are - * reported). Some applications may wish to add additional error codes - * that will be handled by the JPEG library error mechanism; the second - * table pointer is used for this purpose. - * - * First table includes all errors generated by JPEG library itself. - * Error code 0 is reserved for a "no such error string" message. - */ - const char * const * jpeg_message_table; /* Library errors */ - int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ - /* Second table can be added by application (see cjpeg/djpeg for example). - * It contains strings numbered first_addon_message..last_addon_message. - */ - const char * const * addon_message_table; /* Non-library errors */ - int first_addon_message; /* code for first string in addon table */ - int last_addon_message; /* code for last string in addon table */ -}; - - -/* Progress monitor object */ - -struct jpeg_progress_mgr { - JMETHOD(void, progress_monitor, (j_common_ptr cinfo)); - - long pass_counter; /* work units completed in this pass */ - long pass_limit; /* total number of work units in this pass */ - int completed_passes; /* passes completed so far */ - int total_passes; /* total number of passes expected */ -}; - - -/* Data destination object for compression */ - -struct jpeg_destination_mgr { - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - - JMETHOD(void, init_destination, (j_compress_ptr cinfo)); - JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo)); - JMETHOD(void, term_destination, (j_compress_ptr cinfo)); -}; - - -/* Data source object for decompression */ - -struct jpeg_source_mgr { - const JOCTET * next_input_byte; /* => next byte to read from buffer */ - size_t bytes_in_buffer; /* # of bytes remaining in buffer */ - - JMETHOD(void, init_source, (j_decompress_ptr cinfo)); - JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo)); - JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes)); - JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired)); - JMETHOD(void, term_source, (j_decompress_ptr cinfo)); -}; - - -/* Memory manager object. - * Allocates "small" objects (a few K total), "large" objects (tens of K), - * and "really big" objects (virtual arrays with backing store if needed). - * The memory manager does not allow individual objects to be freed; rather, - * each created object is assigned to a pool, and whole pools can be freed - * at once. This is faster and more convenient than remembering exactly what - * to free, especially where malloc()/free() are not too speedy. - * NB: alloc routines never return NULL. They exit to error_exit if not - * successful. - */ - -#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ -#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ -#define JPOOL_NUMPOOLS 2 - -typedef struct jvirt_sarray_control * jvirt_sarray_ptr; -typedef struct jvirt_barray_control * jvirt_barray_ptr; - - -struct jpeg_memory_mgr { - /* Method pointers */ - JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id, - JDIMENSION samplesperrow, - JDIMENSION numrows)); - JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id, - JDIMENSION blocksperrow, - JDIMENSION numrows)); - JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION samplesperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION blocksperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo)); - JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo, - jvirt_sarray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo, - jvirt_barray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id)); - JMETHOD(void, self_destruct, (j_common_ptr cinfo)); - - /* Limit on memory allocation for this JPEG object. (Note that this is - * merely advisory, not a guaranteed maximum; it only affects the space - * used for virtual-array buffers.) May be changed by outer application - * after creating the JPEG object. - */ - long max_memory_to_use; - - /* Maximum allocation request accepted by alloc_large. */ - long max_alloc_chunk; -}; - - -/* Routine signature for application-supplied marker processing methods. - * Need not pass marker code since it is stored in cinfo->unread_marker. - */ -typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); - - -/* Declarations for routines called by application. - * The JPP macro hides prototype parameters from compilers that can't cope. - * Note JPP requires double parentheses. - */ - -#ifdef HAVE_PROTOTYPES -#define JPP(arglist) arglist -#else -#define JPP(arglist) () -#endif - - -/* Short forms of external names for systems with brain-damaged linkers. - * We shorten external names to be unique in the first six letters, which - * is good enough for all known systems. - * (If your compiler itself needs names to be unique in less than 15 - * characters, you are out of luck. Get a better compiler.) - */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_error jStdError -#define jpeg_CreateCompress jCreaCompress -#define jpeg_CreateDecompress jCreaDecompress -#define jpeg_destroy_compress jDestCompress -#define jpeg_destroy_decompress jDestDecompress -#define jpeg_stdio_dest jStdDest -#define jpeg_stdio_src jStdSrc -#define jpeg_set_defaults jSetDefaults -#define jpeg_set_colorspace jSetColorspace -#define jpeg_default_colorspace jDefColorspace -#define jpeg_set_quality jSetQuality -#define jpeg_set_linear_quality jSetLQuality -#define jpeg_default_qtables jDefQTables -#define jpeg_add_quant_table jAddQuantTable -#define jpeg_quality_scaling jQualityScaling -#define jpeg_simple_progression jSimProgress -#define jpeg_suppress_tables jSuppressTables -#define jpeg_alloc_quant_table jAlcQTable -#define jpeg_alloc_huff_table jAlcHTable -#define jpeg_start_compress jStrtCompress -#define jpeg_write_scanlines jWrtScanlines -#define jpeg_finish_compress jFinCompress -#define jpeg_calc_jpeg_dimensions jCjpegDimensions -#define jpeg_write_raw_data jWrtRawData -#define jpeg_write_marker jWrtMarker -#define jpeg_write_m_header jWrtMHeader -#define jpeg_write_m_byte jWrtMByte -#define jpeg_write_tables jWrtTables -#define jpeg_read_header jReadHeader -#define jpeg_start_decompress jStrtDecompress -#define jpeg_read_scanlines jReadScanlines -#define jpeg_finish_decompress jFinDecompress -#define jpeg_read_raw_data jReadRawData -#define jpeg_has_multiple_scans jHasMultScn -#define jpeg_start_output jStrtOutput -#define jpeg_finish_output jFinOutput -#define jpeg_input_complete jInComplete -#define jpeg_new_colormap jNewCMap -#define jpeg_consume_input jConsumeInput -#define jpeg_calc_output_dimensions jCalcDimensions -#define jpeg_save_markers jSaveMarkers -#define jpeg_set_marker_processor jSetMarker -#define jpeg_read_coefficients jReadCoefs -#define jpeg_write_coefficients jWrtCoefs -#define jpeg_copy_critical_parameters jCopyCrit -#define jpeg_abort_compress jAbrtCompress -#define jpeg_abort_decompress jAbrtDecompress -#define jpeg_abort jAbort -#define jpeg_destroy jDestroy -#define jpeg_resync_to_restart jResyncRestart -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* Default error-management setup */ -EXTERN(struct jpeg_error_mgr *) jpeg_std_error - JPP((struct jpeg_error_mgr * err)); - -/* Initialization of JPEG compression objects. - * jpeg_create_compress() and jpeg_create_decompress() are the exported - * names that applications should call. These expand to calls on - * jpeg_CreateCompress and jpeg_CreateDecompress with additional information - * passed for version mismatch checking. - * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. - */ -#define jpeg_create_compress(cinfo) \ - jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_compress_struct)) -#define jpeg_create_decompress(cinfo) \ - jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_decompress_struct)) -EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo, - int version, size_t structsize)); -EXTERN(void) jpeg_CreateDecompress JPP((j_decompress_ptr cinfo, - int version, size_t structsize)); -/* Destruction of JPEG compression objects */ -EXTERN(void) jpeg_destroy_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_destroy_decompress JPP((j_decompress_ptr cinfo)); - -/* Standard data source and destination managers: stdio streams. */ -/* Caller is responsible for opening the file before and closing after. */ -EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); -EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); - -/* Default parameter setup for compression */ -EXTERN(void) jpeg_set_defaults JPP((j_compress_ptr cinfo)); -/* Compression parameter setup aids */ -EXTERN(void) jpeg_set_colorspace JPP((j_compress_ptr cinfo, - J_COLOR_SPACE colorspace)); -EXTERN(void) jpeg_default_colorspace JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_set_quality JPP((j_compress_ptr cinfo, int quality, - boolean force_baseline)); -EXTERN(void) jpeg_set_linear_quality JPP((j_compress_ptr cinfo, - int scale_factor, - boolean force_baseline)); -EXTERN(void) jpeg_default_qtables JPP((j_compress_ptr cinfo, - boolean force_baseline)); -EXTERN(void) jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, - boolean force_baseline)); -EXTERN(int) jpeg_quality_scaling JPP((int quality)); -EXTERN(void) jpeg_simple_progression JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_suppress_tables JPP((j_compress_ptr cinfo, - boolean suppress)); -EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo)); -EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo)); - -/* Main entry points for compression */ -EXTERN(void) jpeg_start_compress JPP((j_compress_ptr cinfo, - boolean write_all_tables)); -EXTERN(JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION num_lines)); -EXTERN(void) jpeg_finish_compress JPP((j_compress_ptr cinfo)); - -/* Precalculate JPEG dimensions for current compression parameters. */ -EXTERN(void) jpeg_calc_jpeg_dimensions JPP((j_compress_ptr cinfo)); - -/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_write_raw_data JPP((j_compress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION num_lines)); - -/* Write a special marker. See libjpeg.txt concerning safe usage. */ -EXTERN(void) jpeg_write_marker - JPP((j_compress_ptr cinfo, int marker, - const JOCTET * dataptr, unsigned int datalen)); -/* Same, but piecemeal. */ -EXTERN(void) jpeg_write_m_header - JPP((j_compress_ptr cinfo, int marker, unsigned int datalen)); -EXTERN(void) jpeg_write_m_byte - JPP((j_compress_ptr cinfo, int val)); - -/* Alternate compression function: just write an abbreviated table file */ -EXTERN(void) jpeg_write_tables JPP((j_compress_ptr cinfo)); - -/* Decompression startup: read start of JPEG datastream to see what's there */ -EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, - boolean require_image)); -/* Return value is one of: */ -#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ -#define JPEG_HEADER_OK 1 /* Found valid image datastream */ -#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ -/* If you pass require_image = TRUE (normal case), you need not check for - * a TABLES_ONLY return code; an abbreviated file will cause an error exit. - * JPEG_SUSPENDED is only possible if you use a data source module that can - * give a suspension return (the stdio source module doesn't). - */ - -/* Main entry points for decompression */ -EXTERN(boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo)); -EXTERN(JDIMENSION) jpeg_read_scanlines JPP((j_decompress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION max_lines)); -EXTERN(boolean) jpeg_finish_decompress JPP((j_decompress_ptr cinfo)); - -/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_read_raw_data JPP((j_decompress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION max_lines)); - -/* Additional entry points for buffered-image mode. */ -EXTERN(boolean) jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_start_output JPP((j_decompress_ptr cinfo, - int scan_number)); -EXTERN(boolean) jpeg_finish_output JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_input_complete JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_new_colormap JPP((j_decompress_ptr cinfo)); -EXTERN(int) jpeg_consume_input JPP((j_decompress_ptr cinfo)); -/* Return value is one of: */ -/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ -#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ -#define JPEG_REACHED_EOI 2 /* Reached end of image */ -#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ -#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ - -/* Precalculate output dimensions for current decompression parameters. */ -EXTERN(void) jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo)); - -/* Control saving of COM and APPn markers into marker_list. */ -EXTERN(void) jpeg_save_markers - JPP((j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit)); - -/* Install a special processing method for COM or APPn markers. */ -EXTERN(void) jpeg_set_marker_processor - JPP((j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine)); - -/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ -EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_write_coefficients JPP((j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays)); -EXTERN(void) jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo, - j_compress_ptr dstinfo)); - -/* If you choose to abort compression or decompression before completing - * jpeg_finish_(de)compress, then you need to clean up to release memory, - * temporary files, etc. You can just call jpeg_destroy_(de)compress - * if you're done with the JPEG object, but if you want to clean it up and - * reuse it, call this: - */ -EXTERN(void) jpeg_abort_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_abort_decompress JPP((j_decompress_ptr cinfo)); - -/* Generic versions of jpeg_abort and jpeg_destroy that work on either - * flavor of JPEG object. These may be more convenient in some places. - */ -EXTERN(void) jpeg_abort JPP((j_common_ptr cinfo)); -EXTERN(void) jpeg_destroy JPP((j_common_ptr cinfo)); - -/* Default restart-marker-resync procedure for use by data source modules */ -EXTERN(boolean) jpeg_resync_to_restart JPP((j_decompress_ptr cinfo, - int desired)); - - -/* These marker codes are exported since applications and data source modules - * are likely to want to use them. - */ - -#define JPEG_RST0 0xD0 /* RST0 marker code */ -#define JPEG_EOI 0xD9 /* EOI marker code */ -#define JPEG_APP0 0xE0 /* APP0 marker code */ -#define JPEG_COM 0xFE /* COM marker code */ - - -/* If we have a brain-damaged compiler that emits warnings (or worse, errors) - * for structure definitions that are never filled in, keep it quiet by - * supplying dummy definitions for the various substructures. - */ - -#ifdef INCOMPLETE_TYPES_BROKEN -#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ -struct jvirt_sarray_control { long dummy; }; -struct jvirt_barray_control { long dummy; }; -struct jpeg_comp_master { long dummy; }; -struct jpeg_c_main_controller { long dummy; }; -struct jpeg_c_prep_controller { long dummy; }; -struct jpeg_c_coef_controller { long dummy; }; -struct jpeg_marker_writer { long dummy; }; -struct jpeg_color_converter { long dummy; }; -struct jpeg_downsampler { long dummy; }; -struct jpeg_forward_dct { long dummy; }; -struct jpeg_entropy_encoder { long dummy; }; -struct jpeg_decomp_master { long dummy; }; -struct jpeg_d_main_controller { long dummy; }; -struct jpeg_d_coef_controller { long dummy; }; -struct jpeg_d_post_controller { long dummy; }; -struct jpeg_input_controller { long dummy; }; -struct jpeg_marker_reader { long dummy; }; -struct jpeg_entropy_decoder { long dummy; }; -struct jpeg_inverse_dct { long dummy; }; -struct jpeg_upsampler { long dummy; }; -struct jpeg_color_deconverter { long dummy; }; -struct jpeg_color_quantizer { long dummy; }; -#endif /* JPEG_INTERNALS */ -#endif /* INCOMPLETE_TYPES_BROKEN */ - - -/* - * The JPEG library modules define JPEG_INTERNALS before including this file. - * The internal structure declarations are read only when that is true. - * Applications using the library should not include jpegint.h, but may wish - * to include jerror.h. - */ - -#ifdef JPEG_INTERNALS -#include "jpegint.h" /* fetch private declarations */ -#include "jerror.h" /* fetch error codes too */ -#endif - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -} -#endif -#endif - -#endif /* JPEGLIB_H */ diff --git a/3rdparty/openctm/tools/jpeg/jpegtran.1 b/3rdparty/openctm/tools/jpeg/jpegtran.1 deleted file mode 100644 index 737423cf5..000000000 --- a/3rdparty/openctm/tools/jpeg/jpegtran.1 +++ /dev/null @@ -1,272 +0,0 @@ -.TH JPEGTRAN 1 "28 March 2009" -.SH NAME -jpegtran \- lossless transformation of JPEG files -.SH SYNOPSIS -.B jpegtran -[ -.I options -] -[ -.I filename -] -.LP -.SH DESCRIPTION -.LP -.B jpegtran -performs various useful transformations of JPEG files. -It can translate the coded representation from one variant of JPEG to another, -for example from baseline JPEG to progressive JPEG or vice versa. It can also -perform some rearrangements of the image data, for example turning an image -from landscape to portrait format by rotation. -.PP -.B jpegtran -works by rearranging the compressed data (DCT coefficients), without -ever fully decoding the image. Therefore, its transformations are lossless: -there is no image degradation at all, which would not be true if you used -.B djpeg -followed by -.B cjpeg -to accomplish the same conversion. But by the same token, -.B jpegtran -cannot perform lossy operations such as changing the image quality. -.PP -.B jpegtran -reads the named JPEG/JFIF file, or the standard input if no file is -named, and produces a JPEG/JFIF file on the standard output. -.SH OPTIONS -All switch names may be abbreviated; for example, -.B \-optimize -may be written -.B \-opt -or -.BR \-o . -Upper and lower case are equivalent. -British spellings are also accepted (e.g., -.BR \-optimise ), -though for brevity these are not mentioned below. -.PP -To specify the coded JPEG representation used in the output file, -.B jpegtran -accepts a subset of the switches recognized by -.BR cjpeg : -.TP -.B \-optimize -Perform optimization of entropy encoding parameters. -.TP -.B \-progressive -Create progressive JPEG file. -.TP -.BI \-restart " N" -Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is -attached to the number. -.TP -.B \-arithmetic -Use arithmetic coding. -.TP -.BI \-scans " file" -Use the scan script given in the specified text file. -.PP -See -.BR cjpeg (1) -for more details about these switches. -If you specify none of these switches, you get a plain baseline-JPEG output -file. The quality setting and so forth are determined by the input file. -.PP -The image can be losslessly transformed by giving one of these switches: -.TP -.B \-flip horizontal -Mirror image horizontally (left-right). -.TP -.B \-flip vertical -Mirror image vertically (top-bottom). -.TP -.B \-rotate 90 -Rotate image 90 degrees clockwise. -.TP -.B \-rotate 180 -Rotate image 180 degrees. -.TP -.B \-rotate 270 -Rotate image 270 degrees clockwise (or 90 ccw). -.TP -.B \-transpose -Transpose image (across UL-to-LR axis). -.TP -.B \-transverse -Transverse transpose (across UR-to-LL axis). -.IP -The transpose transformation has no restrictions regarding image dimensions. -The other transformations operate rather oddly if the image dimensions are not -a multiple of the iMCU size (usually 8 or 16 pixels), because they can only -transform complete blocks of DCT coefficient data in the desired way. -.IP -.BR jpegtran 's -default behavior when transforming an odd-size image is designed -to preserve exact reversibility and mathematical consistency of the -transformation set. As stated, transpose is able to flip the entire image -area. Horizontal mirroring leaves any partial iMCU column at the right edge -untouched, but is able to flip all rows of the image. Similarly, vertical -mirroring leaves any partial iMCU row at the bottom edge untouched, but is -able to flip all columns. The other transforms can be built up as sequences -of transpose and flip operations; for consistency, their actions on edge -pixels are defined to be the same as the end result of the corresponding -transpose-and-flip sequence. -.IP -For practical use, you may prefer to discard any untransformable edge pixels -rather than having a strange-looking strip along the right and/or bottom edges -of a transformed image. To do this, add the -.B \-trim -switch: -.TP -.B \-trim -Drop non-transformable edge blocks. -.IP -Obviously, a transformation with -.B \-trim -is not reversible, so strictly speaking -.B jpegtran -with this switch is not lossless. Also, the expected mathematical -equivalences between the transformations no longer hold. For example, -.B \-rot 270 -trim -trims only the bottom edge, but -.B \-rot 90 -trim -followed by -.B \-rot 180 -trim -trims both edges. -.IP -If you are only interested in perfect transformation, add the -.B \-perfect -switch: -.TP -.B \-perfect -Fails with an error if the transformation is not perfect. -.IP -For example you may want to do -.IP -.B (jpegtran \-rot 90 -perfect -.I foo.jpg -.B || djpeg -.I foo.jpg -.B | pnmflip \-r90 | cjpeg) -.IP -to do a perfect rotation if available or an approximated one if not. -.PP -We also offer a lossless-crop option, which discards data outside a given -image region but losslessly preserves what is inside. Like the rotate and -flip transforms, lossless crop is restricted by the current JPEG format: the -upper left corner of the selected region must fall on an iMCU boundary. If -this does not hold for the given crop parameters, we silently move the upper -left corner up and/or left to make it so, simultaneously increasing the region -dimensions to keep the lower right crop corner unchanged. (Thus, the output -image covers at least the requested region, but may cover more.) - -The image can be losslessly cropped by giving the switch: -.TP -.B \-crop WxH+X+Y -Crop to a rectangular subarea of width W, height H starting at point X,Y. -.PP -Another not-strictly-lossless transformation switch is: -.TP -.B \-grayscale -Force grayscale output. -.IP -This option discards the chrominance channels if the input image is YCbCr -(ie, a standard color JPEG), resulting in a grayscale JPEG file. The -luminance channel is preserved exactly, so this is a better method of reducing -to grayscale than decompression, conversion, and recompression. This switch -is particularly handy for fixing a monochrome picture that was mistakenly -encoded as a color JPEG. (In such a case, the space savings from getting rid -of the near-empty chroma channels won't be large; but the decoding time for -a grayscale JPEG is substantially less than that for a color JPEG.) -.PP -.B jpegtran -also recognizes these switches that control what to do with "extra" markers, -such as comment blocks: -.TP -.B \-copy none -Copy no extra markers from source file. This setting suppresses all -comments and other excess baggage present in the source file. -.TP -.B \-copy comments -Copy only comment markers. This setting copies comments from the source file, -but discards any other inessential (for image display) data. -.TP -.B \-copy all -Copy all extra markers. This setting preserves miscellaneous markers -found in the source file, such as JFIF thumbnails, Exif data, and Photoshop -settings. In some files these extra markers can be sizable. -.IP -The default behavior is -.BR "\-copy comments" . -(Note: in IJG releases v6 and v6a, -.B jpegtran -always did the equivalent of -.BR "\-copy none" .) -.PP -Additional switches recognized by jpegtran are: -.TP -.BI \-maxmemory " N" -Set limit for amount of memory to use in processing large images. Value is -in thousands of bytes, or millions of bytes if "M" is attached to the -number. For example, -.B \-max 4m -selects 4000000 bytes. If more space is needed, temporary files will be used. -.TP -.BI \-outfile " name" -Send output image to the named file, not to standard output. -.TP -.B \-verbose -Enable debug printout. More -.BR \-v 's -give more output. Also, version information is printed at startup. -.TP -.B \-debug -Same as -.BR \-verbose . -.SH EXAMPLES -.LP -This example converts a baseline JPEG file to progressive form: -.IP -.B jpegtran \-progressive -.I foo.jpg -.B > -.I fooprog.jpg -.PP -This example rotates an image 90 degrees clockwise, discarding any -unrotatable edge pixels: -.IP -.B jpegtran \-rot 90 -trim -.I foo.jpg -.B > -.I foo90.jpg -.SH ENVIRONMENT -.TP -.B JPEGMEM -If this environment variable is set, its value is the default memory limit. -The value is specified as described for the -.B \-maxmemory -switch. -.B JPEGMEM -overrides the default value specified when the program was compiled, and -itself is overridden by an explicit -.BR \-maxmemory . -.SH SEE ALSO -.BR cjpeg (1), -.BR djpeg (1), -.BR rdjpgcom (1), -.BR wrjpgcom (1) -.br -Wallace, Gregory K. "The JPEG Still Picture Compression Standard", -Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -.SH AUTHOR -Independent JPEG Group -.SH BUGS -The transform options can't transform odd-size images perfectly. Use -.B \-trim -or -.B \-perfect -if you don't like the results. -.PP -The entire image is read into memory and then written out again, even in -cases where this isn't really necessary. Expect swapping on large images, -especially when using the more complex transform options. diff --git a/3rdparty/openctm/tools/jpeg/jpegtran.c b/3rdparty/openctm/tools/jpeg/jpegtran.c deleted file mode 100644 index 7004c4e4a..000000000 --- a/3rdparty/openctm/tools/jpeg/jpegtran.c +++ /dev/null @@ -1,546 +0,0 @@ -/* - * jpegtran.c - * - * Copyright (C) 1995-2001, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a command-line user interface for JPEG transcoding. - * It is very similar to cjpeg.c, but provides lossless transcoding between - * different JPEG file formats. It also provides some lossless and sort-of- - * lossless transformations of JPEG data. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ -#include "transupp.h" /* Support routines for jpegtran */ -#include "jversion.h" /* for version message */ - -#ifdef USE_CCOMMAND /* command-line reader for Macintosh */ -#ifdef __MWERKS__ -#include /* Metrowerks needs this */ -#include /* ... and this */ -#endif -#ifdef THINK_C -#include /* Think declares it here */ -#endif -#endif - - -/* - * Argument-parsing code. - * The switch parser is designed to be useful with DOS-style command line - * syntax, ie, intermixed switches and file names, where only the switches - * to the left of a given file name affect processing of that file. - * The main program in this file doesn't actually use this capability... - */ - - -static const char * progname; /* program name for error messages */ -static char * outfilename; /* for -outfile switch */ -static JCOPY_OPTION copyoption; /* -copy switch */ -static jpeg_transform_info transformoption; /* image transformation options */ - - -LOCAL(void) -usage (void) -/* complain about bad command line */ -{ - fprintf(stderr, "usage: %s [switches] ", progname); -#ifdef TWO_FILE_COMMANDLINE - fprintf(stderr, "inputfile outputfile\n"); -#else - fprintf(stderr, "[inputfile]\n"); -#endif - - fprintf(stderr, "Switches (names may be abbreviated):\n"); - fprintf(stderr, " -copy none Copy no extra markers from source file\n"); - fprintf(stderr, " -copy comments Copy only comment markers (default)\n"); - fprintf(stderr, " -copy all Copy all extra markers\n"); -#ifdef ENTROPY_OPT_SUPPORTED - fprintf(stderr, " -optimize Optimize Huffman table (smaller file, but slow compression)\n"); -#endif -#ifdef C_PROGRESSIVE_SUPPORTED - fprintf(stderr, " -progressive Create progressive JPEG file\n"); -#endif -#if TRANSFORMS_SUPPORTED - fprintf(stderr, "Switches for modifying the image:\n"); - fprintf(stderr, " -crop WxH+X+Y Crop to a rectangular subarea\n"); - fprintf(stderr, " -grayscale Reduce to grayscale (omit color data)\n"); - fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or top-bottom)\n"); - fprintf(stderr, " -perfect Fail if there is non-transformable edge blocks\n"); - fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwise)\n"); - fprintf(stderr, " -transpose Transpose image\n"); - fprintf(stderr, " -transverse Transverse transpose image\n"); - fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); -#endif /* TRANSFORMS_SUPPORTED */ - fprintf(stderr, "Switches for advanced users:\n"); - fprintf(stderr, " -restart N Set restart interval in rows, or in blocks with B\n"); - fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); - fprintf(stderr, " -outfile name Specify name for output file\n"); - fprintf(stderr, " -verbose or -debug Emit debug output\n"); - fprintf(stderr, "Switches for wizards:\n"); -#ifdef C_ARITH_CODING_SUPPORTED - fprintf(stderr, " -arithmetic Use arithmetic coding\n"); -#endif -#ifdef C_MULTISCAN_FILES_SUPPORTED - fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); -#endif - exit(EXIT_FAILURE); -} - - -LOCAL(void) -select_transform (JXFORM_CODE transform) -/* Silly little routine to detect multiple transform options, - * which we can't handle. - */ -{ -#if TRANSFORMS_SUPPORTED - if (transformoption.transform == JXFORM_NONE || - transformoption.transform == transform) { - transformoption.transform = transform; - } else { - fprintf(stderr, "%s: can only do one image transformation at a time\n", - progname); - usage(); - } -#else - fprintf(stderr, "%s: sorry, image transformation was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif -} - - -LOCAL(int) -parse_switches (j_compress_ptr cinfo, int argc, char **argv, - int last_file_arg_seen, boolean for_real) -/* Parse optional switches. - * Returns argv[] index of first file-name argument (== argc if none). - * Any file names with indexes <= last_file_arg_seen are ignored; - * they have presumably been processed in a previous iteration. - * (Pass 0 for last_file_arg_seen on the first or only iteration.) - * for_real is FALSE on the first (dummy) pass; we may skip any expensive - * processing. - */ -{ - int argn; - char * arg; - boolean simple_progressive; - char * scansarg = NULL; /* saves -scans parm if any */ - - /* Set up default JPEG parameters. */ - simple_progressive = FALSE; - outfilename = NULL; - copyoption = JCOPYOPT_DEFAULT; - transformoption.transform = JXFORM_NONE; - transformoption.trim = FALSE; - transformoption.perfect = FALSE; - transformoption.force_grayscale = FALSE; - transformoption.crop = FALSE; - cinfo->err->trace_level = 0; - - /* Scan command line options, adjust parameters */ - - for (argn = 1; argn < argc; argn++) { - arg = argv[argn]; - if (*arg != '-') { - /* Not a switch, must be a file name argument */ - if (argn <= last_file_arg_seen) { - outfilename = NULL; /* -outfile applies to just one input file */ - continue; /* ignore this name if previously processed */ - } - break; /* else done parsing switches */ - } - arg++; /* advance past switch marker character */ - - if (keymatch(arg, "arithmetic", 1)) { - /* Use arithmetic coding. */ -#ifdef C_ARITH_CODING_SUPPORTED - cinfo->arith_code = TRUE; -#else - fprintf(stderr, "%s: sorry, arithmetic coding not supported\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "copy", 2)) { - /* Select which extra markers to copy. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "none", 1)) { - copyoption = JCOPYOPT_NONE; - } else if (keymatch(argv[argn], "comments", 1)) { - copyoption = JCOPYOPT_COMMENTS; - } else if (keymatch(argv[argn], "all", 1)) { - copyoption = JCOPYOPT_ALL; - } else - usage(); - - } else if (keymatch(arg, "crop", 2)) { - /* Perform lossless cropping. */ -#if TRANSFORMS_SUPPORTED - if (++argn >= argc) /* advance to next argument */ - usage(); - if (! jtransform_parse_crop_spec(&transformoption, argv[argn])) { - fprintf(stderr, "%s: bogus -crop argument '%s'\n", - progname, argv[argn]); - exit(EXIT_FAILURE); - } -#else - select_transform(JXFORM_NONE); /* force an error */ -#endif - - } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { - /* Enable debug printouts. */ - /* On first -d, print version identification */ - static boolean printed_version = FALSE; - - if (! printed_version) { - fprintf(stderr, "Independent JPEG Group's JPEGTRAN, version %s\n%s\n", - JVERSION, JCOPYRIGHT); - printed_version = TRUE; - } - cinfo->err->trace_level++; - - } else if (keymatch(arg, "flip", 1)) { - /* Mirror left-right or top-bottom. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "horizontal", 1)) - select_transform(JXFORM_FLIP_H); - else if (keymatch(argv[argn], "vertical", 1)) - select_transform(JXFORM_FLIP_V); - else - usage(); - - } else if (keymatch(arg, "grayscale", 1) || keymatch(arg, "greyscale",1)) { - /* Force to grayscale. */ -#if TRANSFORMS_SUPPORTED - transformoption.force_grayscale = TRUE; -#else - select_transform(JXFORM_NONE); /* force an error */ -#endif - - } else if (keymatch(arg, "maxmemory", 3)) { - /* Maximum memory in Kb (or Mb with 'm'). */ - long lval; - char ch = 'x'; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1) - usage(); - if (ch == 'm' || ch == 'M') - lval *= 1000L; - cinfo->mem->max_memory_to_use = lval * 1000L; - - } else if (keymatch(arg, "optimize", 1) || keymatch(arg, "optimise", 1)) { - /* Enable entropy parm optimization. */ -#ifdef ENTROPY_OPT_SUPPORTED - cinfo->optimize_coding = TRUE; -#else - fprintf(stderr, "%s: sorry, entropy optimization was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "outfile", 4)) { - /* Set output file name. */ - if (++argn >= argc) /* advance to next argument */ - usage(); - outfilename = argv[argn]; /* save it away for later use */ - - } else if (keymatch(arg, "perfect", 2)) { - /* Fail if there is any partial edge MCUs that the transform can't - * handle. */ - transformoption.perfect = TRUE; - - } else if (keymatch(arg, "progressive", 2)) { - /* Select simple progressive mode. */ -#ifdef C_PROGRESSIVE_SUPPORTED - simple_progressive = TRUE; - /* We must postpone execution until num_components is known. */ -#else - fprintf(stderr, "%s: sorry, progressive output was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "restart", 1)) { - /* Restart interval in MCU rows (or in MCUs with 'b'). */ - long lval; - char ch = 'x'; - - if (++argn >= argc) /* advance to next argument */ - usage(); - if (sscanf(argv[argn], "%ld%c", &lval, &ch) < 1) - usage(); - if (lval < 0 || lval > 65535L) - usage(); - if (ch == 'b' || ch == 'B') { - cinfo->restart_interval = (unsigned int) lval; - cinfo->restart_in_rows = 0; /* else prior '-restart n' overrides me */ - } else { - cinfo->restart_in_rows = (int) lval; - /* restart_interval will be computed during startup */ - } - - } else if (keymatch(arg, "rotate", 2)) { - /* Rotate 90, 180, or 270 degrees (measured clockwise). */ - if (++argn >= argc) /* advance to next argument */ - usage(); - if (keymatch(argv[argn], "90", 2)) - select_transform(JXFORM_ROT_90); - else if (keymatch(argv[argn], "180", 3)) - select_transform(JXFORM_ROT_180); - else if (keymatch(argv[argn], "270", 3)) - select_transform(JXFORM_ROT_270); - else - usage(); - - } else if (keymatch(arg, "scans", 1)) { - /* Set scan script. */ -#ifdef C_MULTISCAN_FILES_SUPPORTED - if (++argn >= argc) /* advance to next argument */ - usage(); - scansarg = argv[argn]; - /* We must postpone reading the file in case -progressive appears. */ -#else - fprintf(stderr, "%s: sorry, multi-scan output was not compiled\n", - progname); - exit(EXIT_FAILURE); -#endif - - } else if (keymatch(arg, "transpose", 1)) { - /* Transpose (across UL-to-LR axis). */ - select_transform(JXFORM_TRANSPOSE); - - } else if (keymatch(arg, "transverse", 6)) { - /* Transverse transpose (across UR-to-LL axis). */ - select_transform(JXFORM_TRANSVERSE); - - } else if (keymatch(arg, "trim", 3)) { - /* Trim off any partial edge MCUs that the transform can't handle. */ - transformoption.trim = TRUE; - - } else { - usage(); /* bogus switch */ - } - } - - /* Post-switch-scanning cleanup */ - - if (for_real) { - -#ifdef C_PROGRESSIVE_SUPPORTED - if (simple_progressive) /* process -progressive; -scans can override */ - jpeg_simple_progression(cinfo); -#endif - -#ifdef C_MULTISCAN_FILES_SUPPORTED - if (scansarg != NULL) /* process -scans if it was present */ - if (! read_scan_script(cinfo, scansarg)) - usage(); -#endif - } - - return argn; /* return index of next arg (file name) */ -} - - -/* - * The main program. - */ - -int -main (int argc, char **argv) -{ - struct jpeg_decompress_struct srcinfo; - struct jpeg_compress_struct dstinfo; - struct jpeg_error_mgr jsrcerr, jdsterr; -#ifdef PROGRESS_REPORT - struct cdjpeg_progress_mgr progress; -#endif - jvirt_barray_ptr * src_coef_arrays; - jvirt_barray_ptr * dst_coef_arrays; - int file_index; - /* We assume all-in-memory processing and can therefore use only a - * single file pointer for sequential input and output operation. - */ - FILE * fp; - - /* On Mac, fetch a command line. */ -#ifdef USE_CCOMMAND - argc = ccommand(&argv); -#endif - - progname = argv[0]; - if (progname == NULL || progname[0] == 0) - progname = "jpegtran"; /* in case C library doesn't provide it */ - - /* Initialize the JPEG decompression object with default error handling. */ - srcinfo.err = jpeg_std_error(&jsrcerr); - jpeg_create_decompress(&srcinfo); - /* Initialize the JPEG compression object with default error handling. */ - dstinfo.err = jpeg_std_error(&jdsterr); - jpeg_create_compress(&dstinfo); - - /* Now safe to enable signal catcher. - * Note: we assume only the decompression object will have virtual arrays. - */ -#ifdef NEED_SIGNAL_CATCHER - enable_signal_catcher((j_common_ptr) &srcinfo); -#endif - - /* Scan command line to find file names. - * It is convenient to use just one switch-parsing routine, but the switch - * values read here are mostly ignored; we will rescan the switches after - * opening the input file. Also note that most of the switches affect the - * destination JPEG object, so we parse into that and then copy over what - * needs to affects the source too. - */ - - file_index = parse_switches(&dstinfo, argc, argv, 0, FALSE); - jsrcerr.trace_level = jdsterr.trace_level; - srcinfo.mem->max_memory_to_use = dstinfo.mem->max_memory_to_use; - -#ifdef TWO_FILE_COMMANDLINE - /* Must have either -outfile switch or explicit output file name */ - if (outfilename == NULL) { - if (file_index != argc-2) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - outfilename = argv[file_index+1]; - } else { - if (file_index != argc-1) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - } -#else - /* Unix style: expect zero or one file name */ - if (file_index < argc-1) { - fprintf(stderr, "%s: only one input file\n", progname); - usage(); - } -#endif /* TWO_FILE_COMMANDLINE */ - - /* Open the input file. */ - if (file_index < argc) { - if ((fp = fopen(argv[file_index], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s for reading\n", progname, argv[file_index]); - exit(EXIT_FAILURE); - } - } else { - /* default input file is stdin */ - fp = read_stdin(); - } - -#ifdef PROGRESS_REPORT - start_progress_monitor((j_common_ptr) &dstinfo, &progress); -#endif - - /* Specify data source for decompression */ - jpeg_stdio_src(&srcinfo, fp); - - /* Enable saving of extra markers that we want to copy */ - jcopy_markers_setup(&srcinfo, copyoption); - - /* Read file header */ - (void) jpeg_read_header(&srcinfo, TRUE); - - /* Any space needed by a transform option must be requested before - * jpeg_read_coefficients so that memory allocation will be done right. - */ -#if TRANSFORMS_SUPPORTED - /* Fails right away if -perfect is given and transformation is not perfect. - */ - if (transformoption.perfect && - !jtransform_perfect_transform(srcinfo.image_width, srcinfo.image_height, - srcinfo.max_h_samp_factor * DCTSIZE, srcinfo.max_v_samp_factor * DCTSIZE, - transformoption.transform)) { - fprintf(stderr, "%s: transformation is not perfect\n", progname); - exit(EXIT_FAILURE); - } - jtransform_request_workspace(&srcinfo, &transformoption); -#endif - - /* Read source file as DCT coefficients */ - src_coef_arrays = jpeg_read_coefficients(&srcinfo); - - /* Initialize destination compression parameters from source values */ - jpeg_copy_critical_parameters(&srcinfo, &dstinfo); - - /* Adjust destination parameters if required by transform options; - * also find out which set of coefficient arrays will hold the output. - */ -#if TRANSFORMS_SUPPORTED - dst_coef_arrays = jtransform_adjust_parameters(&srcinfo, &dstinfo, - src_coef_arrays, - &transformoption); -#else - dst_coef_arrays = src_coef_arrays; -#endif - - /* Close input file, if we opened it. - * Note: we assume that jpeg_read_coefficients consumed all input - * until JPEG_REACHED_EOI, and that jpeg_finish_decompress will - * only consume more while (! cinfo->inputctl->eoi_reached). - * We cannot call jpeg_finish_decompress here since we still need the - * virtual arrays allocated from the source object for processing. - */ - if (fp != stdin) - fclose(fp); - - /* Open the output file. */ - if (outfilename != NULL) { - if ((fp = fopen(outfilename, WRITE_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s for writing\n", progname, outfilename); - exit(EXIT_FAILURE); - } - } else { - /* default output file is stdout */ - fp = write_stdout(); - } - - /* Adjust default compression parameters by re-parsing the options */ - file_index = parse_switches(&dstinfo, argc, argv, 0, TRUE); - - /* Specify data destination for compression */ - jpeg_stdio_dest(&dstinfo, fp); - - /* Start compressor (note no image data is actually written here) */ - jpeg_write_coefficients(&dstinfo, dst_coef_arrays); - - /* Copy to the output file any extra markers that we want to preserve */ - jcopy_markers_execute(&srcinfo, &dstinfo, copyoption); - - /* Execute image transformation, if any */ -#if TRANSFORMS_SUPPORTED - jtransform_execute_transformation(&srcinfo, &dstinfo, - src_coef_arrays, - &transformoption); -#endif - - /* Finish compression and release memory */ - jpeg_finish_compress(&dstinfo); - jpeg_destroy_compress(&dstinfo); - (void) jpeg_finish_decompress(&srcinfo); - jpeg_destroy_decompress(&srcinfo); - - /* Close output file, if we opened it */ - if (fp != stdout) - fclose(fp); - -#ifdef PROGRESS_REPORT - end_progress_monitor((j_common_ptr) &dstinfo); -#endif - - /* All done. */ - exit(jsrcerr.num_warnings + jdsterr.num_warnings ?EXIT_WARNING:EXIT_SUCCESS); - return 0; /* suppress no-return-value warnings */ -} diff --git a/3rdparty/openctm/tools/jpeg/jquant1.c b/3rdparty/openctm/tools/jpeg/jquant1.c deleted file mode 100644 index aaa34a189..000000000 --- a/3rdparty/openctm/tools/jpeg/jquant1.c +++ /dev/null @@ -1,856 +0,0 @@ -/* - * jquant1.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains 1-pass color quantization (color mapping) routines. - * These routines provide mapping to a fixed color map using equally spaced - * color values. Optional Floyd-Steinberg or ordered dithering is available. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - -#ifdef QUANT_1PASS_SUPPORTED - - -/* - * The main purpose of 1-pass quantization is to provide a fast, if not very - * high quality, colormapped output capability. A 2-pass quantizer usually - * gives better visual quality; however, for quantized grayscale output this - * quantizer is perfectly adequate. Dithering is highly recommended with this - * quantizer, though you can turn it off if you really want to. - * - * In 1-pass quantization the colormap must be chosen in advance of seeing the - * image. We use a map consisting of all combinations of Ncolors[i] color - * values for the i'th component. The Ncolors[] values are chosen so that - * their product, the total number of colors, is no more than that requested. - * (In most cases, the product will be somewhat less.) - * - * Since the colormap is orthogonal, the representative value for each color - * component can be determined without considering the other components; - * then these indexes can be combined into a colormap index by a standard - * N-dimensional-array-subscript calculation. Most of the arithmetic involved - * can be precalculated and stored in the lookup table colorindex[]. - * colorindex[i][j] maps pixel value j in component i to the nearest - * representative value (grid plane) for that component; this index is - * multiplied by the array stride for component i, so that the - * index of the colormap entry closest to a given pixel value is just - * sum( colorindex[component-number][pixel-component-value] ) - * Aside from being fast, this scheme allows for variable spacing between - * representative values with no additional lookup cost. - * - * If gamma correction has been applied in color conversion, it might be wise - * to adjust the color grid spacing so that the representative colors are - * equidistant in linear space. At this writing, gamma correction is not - * implemented by jdcolor, so nothing is done here. - */ - - -/* Declarations for ordered dithering. - * - * We use a standard 16x16 ordered dither array. The basic concept of ordered - * dithering is described in many references, for instance Dale Schumacher's - * chapter II.2 of Graphics Gems II (James Arvo, ed. Academic Press, 1991). - * In place of Schumacher's comparisons against a "threshold" value, we add a - * "dither" value to the input pixel and then round the result to the nearest - * output value. The dither value is equivalent to (0.5 - threshold) times - * the distance between output values. For ordered dithering, we assume that - * the output colors are equally spaced; if not, results will probably be - * worse, since the dither may be too much or too little at a given point. - * - * The normal calculation would be to form pixel value + dither, range-limit - * this to 0..MAXJSAMPLE, and then index into the colorindex table as usual. - * We can skip the separate range-limiting step by extending the colorindex - * table in both directions. - */ - -#define ODITHER_SIZE 16 /* dimension of dither matrix */ -/* NB: if ODITHER_SIZE is not a power of 2, ODITHER_MASK uses will break */ -#define ODITHER_CELLS (ODITHER_SIZE*ODITHER_SIZE) /* # cells in matrix */ -#define ODITHER_MASK (ODITHER_SIZE-1) /* mask for wrapping around counters */ - -typedef int ODITHER_MATRIX[ODITHER_SIZE][ODITHER_SIZE]; -typedef int (*ODITHER_MATRIX_PTR)[ODITHER_SIZE]; - -static const UINT8 base_dither_matrix[ODITHER_SIZE][ODITHER_SIZE] = { - /* Bayer's order-4 dither array. Generated by the code given in - * Stephen Hawley's article "Ordered Dithering" in Graphics Gems I. - * The values in this array must range from 0 to ODITHER_CELLS-1. - */ - { 0,192, 48,240, 12,204, 60,252, 3,195, 51,243, 15,207, 63,255 }, - { 128, 64,176,112,140, 76,188,124,131, 67,179,115,143, 79,191,127 }, - { 32,224, 16,208, 44,236, 28,220, 35,227, 19,211, 47,239, 31,223 }, - { 160, 96,144, 80,172,108,156, 92,163, 99,147, 83,175,111,159, 95 }, - { 8,200, 56,248, 4,196, 52,244, 11,203, 59,251, 7,199, 55,247 }, - { 136, 72,184,120,132, 68,180,116,139, 75,187,123,135, 71,183,119 }, - { 40,232, 24,216, 36,228, 20,212, 43,235, 27,219, 39,231, 23,215 }, - { 168,104,152, 88,164,100,148, 84,171,107,155, 91,167,103,151, 87 }, - { 2,194, 50,242, 14,206, 62,254, 1,193, 49,241, 13,205, 61,253 }, - { 130, 66,178,114,142, 78,190,126,129, 65,177,113,141, 77,189,125 }, - { 34,226, 18,210, 46,238, 30,222, 33,225, 17,209, 45,237, 29,221 }, - { 162, 98,146, 82,174,110,158, 94,161, 97,145, 81,173,109,157, 93 }, - { 10,202, 58,250, 6,198, 54,246, 9,201, 57,249, 5,197, 53,245 }, - { 138, 74,186,122,134, 70,182,118,137, 73,185,121,133, 69,181,117 }, - { 42,234, 26,218, 38,230, 22,214, 41,233, 25,217, 37,229, 21,213 }, - { 170,106,154, 90,166,102,150, 86,169,105,153, 89,165,101,149, 85 } -}; - - -/* Declarations for Floyd-Steinberg dithering. - * - * Errors are accumulated into the array fserrors[], at a resolution of - * 1/16th of a pixel count. The error at a given pixel is propagated - * to its not-yet-processed neighbors using the standard F-S fractions, - * ... (here) 7/16 - * 3/16 5/16 1/16 - * We work left-to-right on even rows, right-to-left on odd rows. - * - * We can get away with a single array (holding one row's worth of errors) - * by using it to store the current row's errors at pixel columns not yet - * processed, but the next row's errors at columns already processed. We - * need only a few extra variables to hold the errors immediately around the - * current column. (If we are lucky, those variables are in registers, but - * even if not, they're probably cheaper to access than array elements are.) - * - * The fserrors[] array is indexed [component#][position]. - * We provide (#columns + 2) entries per component; the extra entry at each - * end saves us from special-casing the first and last pixels. - * - * Note: on a wide image, we might not have enough room in a PC's near data - * segment to hold the error array; so it is allocated with alloc_large. - */ - -#if BITS_IN_JSAMPLE == 8 -typedef INT16 FSERROR; /* 16 bits should be enough */ -typedef int LOCFSERROR; /* use 'int' for calculation temps */ -#else -typedef INT32 FSERROR; /* may need more than 16 bits */ -typedef INT32 LOCFSERROR; /* be sure calculation temps are big enough */ -#endif - -typedef FSERROR FAR *FSERRPTR; /* pointer to error array (in FAR storage!) */ - - -/* Private subobject */ - -#define MAX_Q_COMPS 4 /* max components I can handle */ - -typedef struct { - struct jpeg_color_quantizer pub; /* public fields */ - - /* Initially allocated colormap is saved here */ - JSAMPARRAY sv_colormap; /* The color map as a 2-D pixel array */ - int sv_actual; /* number of entries in use */ - - JSAMPARRAY colorindex; /* Precomputed mapping for speed */ - /* colorindex[i][j] = index of color closest to pixel value j in component i, - * premultiplied as described above. Since colormap indexes must fit into - * JSAMPLEs, the entries of this array will too. - */ - boolean is_padded; /* is the colorindex padded for odither? */ - - int Ncolors[MAX_Q_COMPS]; /* # of values alloced to each component */ - - /* Variables for ordered dithering */ - int row_index; /* cur row's vertical index in dither matrix */ - ODITHER_MATRIX_PTR odither[MAX_Q_COMPS]; /* one dither array per component */ - - /* Variables for Floyd-Steinberg dithering */ - FSERRPTR fserrors[MAX_Q_COMPS]; /* accumulated errors */ - boolean on_odd_row; /* flag to remember which row we are on */ -} my_cquantizer; - -typedef my_cquantizer * my_cquantize_ptr; - - -/* - * Policy-making subroutines for create_colormap and create_colorindex. - * These routines determine the colormap to be used. The rest of the module - * only assumes that the colormap is orthogonal. - * - * * select_ncolors decides how to divvy up the available colors - * among the components. - * * output_value defines the set of representative values for a component. - * * largest_input_value defines the mapping from input values to - * representative values for a component. - * Note that the latter two routines may impose different policies for - * different components, though this is not currently done. - */ - - -LOCAL(int) -select_ncolors (j_decompress_ptr cinfo, int Ncolors[]) -/* Determine allocation of desired colors to components, */ -/* and fill in Ncolors[] array to indicate choice. */ -/* Return value is total number of colors (product of Ncolors[] values). */ -{ - int nc = cinfo->out_color_components; /* number of color components */ - int max_colors = cinfo->desired_number_of_colors; - int total_colors, iroot, i, j; - boolean changed; - long temp; - static const int RGB_order[3] = { RGB_GREEN, RGB_RED, RGB_BLUE }; - - /* We can allocate at least the nc'th root of max_colors per component. */ - /* Compute floor(nc'th root of max_colors). */ - iroot = 1; - do { - iroot++; - temp = iroot; /* set temp = iroot ** nc */ - for (i = 1; i < nc; i++) - temp *= iroot; - } while (temp <= (long) max_colors); /* repeat till iroot exceeds root */ - iroot--; /* now iroot = floor(root) */ - - /* Must have at least 2 color values per component */ - if (iroot < 2) - ERREXIT1(cinfo, JERR_QUANT_FEW_COLORS, (int) temp); - - /* Initialize to iroot color values for each component */ - total_colors = 1; - for (i = 0; i < nc; i++) { - Ncolors[i] = iroot; - total_colors *= iroot; - } - /* We may be able to increment the count for one or more components without - * exceeding max_colors, though we know not all can be incremented. - * Sometimes, the first component can be incremented more than once! - * (Example: for 16 colors, we start at 2*2*2, go to 3*2*2, then 4*2*2.) - * In RGB colorspace, try to increment G first, then R, then B. - */ - do { - changed = FALSE; - for (i = 0; i < nc; i++) { - j = (cinfo->out_color_space == JCS_RGB ? RGB_order[i] : i); - /* calculate new total_colors if Ncolors[j] is incremented */ - temp = total_colors / Ncolors[j]; - temp *= Ncolors[j]+1; /* done in long arith to avoid oflo */ - if (temp > (long) max_colors) - break; /* won't fit, done with this pass */ - Ncolors[j]++; /* OK, apply the increment */ - total_colors = (int) temp; - changed = TRUE; - } - } while (changed); - - return total_colors; -} - - -LOCAL(int) -output_value (j_decompress_ptr cinfo, int ci, int j, int maxj) -/* Return j'th output value, where j will range from 0 to maxj */ -/* The output values must fall in 0..MAXJSAMPLE in increasing order */ -{ - /* We always provide values 0 and MAXJSAMPLE for each component; - * any additional values are equally spaced between these limits. - * (Forcing the upper and lower values to the limits ensures that - * dithering can't produce a color outside the selected gamut.) - */ - return (int) (((INT32) j * MAXJSAMPLE + maxj/2) / maxj); -} - - -LOCAL(int) -largest_input_value (j_decompress_ptr cinfo, int ci, int j, int maxj) -/* Return largest input value that should map to j'th output value */ -/* Must have largest(j=0) >= 0, and largest(j=maxj) >= MAXJSAMPLE */ -{ - /* Breakpoints are halfway between values returned by output_value */ - return (int) (((INT32) (2*j + 1) * MAXJSAMPLE + maxj) / (2*maxj)); -} - - -/* - * Create the colormap. - */ - -LOCAL(void) -create_colormap (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - JSAMPARRAY colormap; /* Created colormap */ - int total_colors; /* Number of distinct output colors */ - int i,j,k, nci, blksize, blkdist, ptr, val; - - /* Select number of colors for each component */ - total_colors = select_ncolors(cinfo, cquantize->Ncolors); - - /* Report selected color counts */ - if (cinfo->out_color_components == 3) - TRACEMS4(cinfo, 1, JTRC_QUANT_3_NCOLORS, - total_colors, cquantize->Ncolors[0], - cquantize->Ncolors[1], cquantize->Ncolors[2]); - else - TRACEMS1(cinfo, 1, JTRC_QUANT_NCOLORS, total_colors); - - /* Allocate and fill in the colormap. */ - /* The colors are ordered in the map in standard row-major order, */ - /* i.e. rightmost (highest-indexed) color changes most rapidly. */ - - colormap = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) total_colors, (JDIMENSION) cinfo->out_color_components); - - /* blksize is number of adjacent repeated entries for a component */ - /* blkdist is distance between groups of identical entries for a component */ - blkdist = total_colors; - - for (i = 0; i < cinfo->out_color_components; i++) { - /* fill in colormap entries for i'th color component */ - nci = cquantize->Ncolors[i]; /* # of distinct values for this color */ - blksize = blkdist / nci; - for (j = 0; j < nci; j++) { - /* Compute j'th output value (out of nci) for component */ - val = output_value(cinfo, i, j, nci-1); - /* Fill in all colormap entries that have this value of this component */ - for (ptr = j * blksize; ptr < total_colors; ptr += blkdist) { - /* fill in blksize entries beginning at ptr */ - for (k = 0; k < blksize; k++) - colormap[i][ptr+k] = (JSAMPLE) val; - } - } - blkdist = blksize; /* blksize of this color is blkdist of next */ - } - - /* Save the colormap in private storage, - * where it will survive color quantization mode changes. - */ - cquantize->sv_colormap = colormap; - cquantize->sv_actual = total_colors; -} - - -/* - * Create the color index table. - */ - -LOCAL(void) -create_colorindex (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - JSAMPROW indexptr; - int i,j,k, nci, blksize, val, pad; - - /* For ordered dither, we pad the color index tables by MAXJSAMPLE in - * each direction (input index values can be -MAXJSAMPLE .. 2*MAXJSAMPLE). - * This is not necessary in the other dithering modes. However, we - * flag whether it was done in case user changes dithering mode. - */ - if (cinfo->dither_mode == JDITHER_ORDERED) { - pad = MAXJSAMPLE*2; - cquantize->is_padded = TRUE; - } else { - pad = 0; - cquantize->is_padded = FALSE; - } - - cquantize->colorindex = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) (MAXJSAMPLE+1 + pad), - (JDIMENSION) cinfo->out_color_components); - - /* blksize is number of adjacent repeated entries for a component */ - blksize = cquantize->sv_actual; - - for (i = 0; i < cinfo->out_color_components; i++) { - /* fill in colorindex entries for i'th color component */ - nci = cquantize->Ncolors[i]; /* # of distinct values for this color */ - blksize = blksize / nci; - - /* adjust colorindex pointers to provide padding at negative indexes. */ - if (pad) - cquantize->colorindex[i] += MAXJSAMPLE; - - /* in loop, val = index of current output value, */ - /* and k = largest j that maps to current val */ - indexptr = cquantize->colorindex[i]; - val = 0; - k = largest_input_value(cinfo, i, 0, nci-1); - for (j = 0; j <= MAXJSAMPLE; j++) { - while (j > k) /* advance val if past boundary */ - k = largest_input_value(cinfo, i, ++val, nci-1); - /* premultiply so that no multiplication needed in main processing */ - indexptr[j] = (JSAMPLE) (val * blksize); - } - /* Pad at both ends if necessary */ - if (pad) - for (j = 1; j <= MAXJSAMPLE; j++) { - indexptr[-j] = indexptr[0]; - indexptr[MAXJSAMPLE+j] = indexptr[MAXJSAMPLE]; - } - } -} - - -/* - * Create an ordered-dither array for a component having ncolors - * distinct output values. - */ - -LOCAL(ODITHER_MATRIX_PTR) -make_odither_array (j_decompress_ptr cinfo, int ncolors) -{ - ODITHER_MATRIX_PTR odither; - int j,k; - INT32 num,den; - - odither = (ODITHER_MATRIX_PTR) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(ODITHER_MATRIX)); - /* The inter-value distance for this color is MAXJSAMPLE/(ncolors-1). - * Hence the dither value for the matrix cell with fill order f - * (f=0..N-1) should be (N-1-2*f)/(2*N) * MAXJSAMPLE/(ncolors-1). - * On 16-bit-int machine, be careful to avoid overflow. - */ - den = 2 * ODITHER_CELLS * ((INT32) (ncolors - 1)); - for (j = 0; j < ODITHER_SIZE; j++) { - for (k = 0; k < ODITHER_SIZE; k++) { - num = ((INT32) (ODITHER_CELLS-1 - 2*((int)base_dither_matrix[j][k]))) - * MAXJSAMPLE; - /* Ensure round towards zero despite C's lack of consistency - * about rounding negative values in integer division... - */ - odither[j][k] = (int) (num<0 ? -((-num)/den) : num/den); - } - } - return odither; -} - - -/* - * Create the ordered-dither tables. - * Components having the same number of representative colors may - * share a dither table. - */ - -LOCAL(void) -create_odither_tables (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - ODITHER_MATRIX_PTR odither; - int i, j, nci; - - for (i = 0; i < cinfo->out_color_components; i++) { - nci = cquantize->Ncolors[i]; /* # of distinct values for this color */ - odither = NULL; /* search for matching prior component */ - for (j = 0; j < i; j++) { - if (nci == cquantize->Ncolors[j]) { - odither = cquantize->odither[j]; - break; - } - } - if (odither == NULL) /* need a new table? */ - odither = make_odither_array(cinfo, nci); - cquantize->odither[i] = odither; - } -} - - -/* - * Map some rows of pixels to the output colormapped representation. - */ - -METHODDEF(void) -color_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf, - JSAMPARRAY output_buf, int num_rows) -/* General case, no dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - JSAMPARRAY colorindex = cquantize->colorindex; - register int pixcode, ci; - register JSAMPROW ptrin, ptrout; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - register int nc = cinfo->out_color_components; - - for (row = 0; row < num_rows; row++) { - ptrin = input_buf[row]; - ptrout = output_buf[row]; - for (col = width; col > 0; col--) { - pixcode = 0; - for (ci = 0; ci < nc; ci++) { - pixcode += GETJSAMPLE(colorindex[ci][GETJSAMPLE(*ptrin++)]); - } - *ptrout++ = (JSAMPLE) pixcode; - } - } -} - - -METHODDEF(void) -color_quantize3 (j_decompress_ptr cinfo, JSAMPARRAY input_buf, - JSAMPARRAY output_buf, int num_rows) -/* Fast path for out_color_components==3, no dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - register int pixcode; - register JSAMPROW ptrin, ptrout; - JSAMPROW colorindex0 = cquantize->colorindex[0]; - JSAMPROW colorindex1 = cquantize->colorindex[1]; - JSAMPROW colorindex2 = cquantize->colorindex[2]; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - - for (row = 0; row < num_rows; row++) { - ptrin = input_buf[row]; - ptrout = output_buf[row]; - for (col = width; col > 0; col--) { - pixcode = GETJSAMPLE(colorindex0[GETJSAMPLE(*ptrin++)]); - pixcode += GETJSAMPLE(colorindex1[GETJSAMPLE(*ptrin++)]); - pixcode += GETJSAMPLE(colorindex2[GETJSAMPLE(*ptrin++)]); - *ptrout++ = (JSAMPLE) pixcode; - } - } -} - - -METHODDEF(void) -quantize_ord_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, - JSAMPARRAY output_buf, int num_rows) -/* General case, with ordered dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - register JSAMPROW input_ptr; - register JSAMPROW output_ptr; - JSAMPROW colorindex_ci; - int * dither; /* points to active row of dither matrix */ - int row_index, col_index; /* current indexes into dither matrix */ - int nc = cinfo->out_color_components; - int ci; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - - for (row = 0; row < num_rows; row++) { - /* Initialize output values to 0 so can process components separately */ - jzero_far((void FAR *) output_buf[row], - (size_t) (width * SIZEOF(JSAMPLE))); - row_index = cquantize->row_index; - for (ci = 0; ci < nc; ci++) { - input_ptr = input_buf[row] + ci; - output_ptr = output_buf[row]; - colorindex_ci = cquantize->colorindex[ci]; - dither = cquantize->odither[ci][row_index]; - col_index = 0; - - for (col = width; col > 0; col--) { - /* Form pixel value + dither, range-limit to 0..MAXJSAMPLE, - * select output value, accumulate into output code for this pixel. - * Range-limiting need not be done explicitly, as we have extended - * the colorindex table to produce the right answers for out-of-range - * inputs. The maximum dither is +- MAXJSAMPLE; this sets the - * required amount of padding. - */ - *output_ptr += colorindex_ci[GETJSAMPLE(*input_ptr)+dither[col_index]]; - input_ptr += nc; - output_ptr++; - col_index = (col_index + 1) & ODITHER_MASK; - } - } - /* Advance row index for next row */ - row_index = (row_index + 1) & ODITHER_MASK; - cquantize->row_index = row_index; - } -} - - -METHODDEF(void) -quantize3_ord_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, - JSAMPARRAY output_buf, int num_rows) -/* Fast path for out_color_components==3, with ordered dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - register int pixcode; - register JSAMPROW input_ptr; - register JSAMPROW output_ptr; - JSAMPROW colorindex0 = cquantize->colorindex[0]; - JSAMPROW colorindex1 = cquantize->colorindex[1]; - JSAMPROW colorindex2 = cquantize->colorindex[2]; - int * dither0; /* points to active row of dither matrix */ - int * dither1; - int * dither2; - int row_index, col_index; /* current indexes into dither matrix */ - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - - for (row = 0; row < num_rows; row++) { - row_index = cquantize->row_index; - input_ptr = input_buf[row]; - output_ptr = output_buf[row]; - dither0 = cquantize->odither[0][row_index]; - dither1 = cquantize->odither[1][row_index]; - dither2 = cquantize->odither[2][row_index]; - col_index = 0; - - for (col = width; col > 0; col--) { - pixcode = GETJSAMPLE(colorindex0[GETJSAMPLE(*input_ptr++) + - dither0[col_index]]); - pixcode += GETJSAMPLE(colorindex1[GETJSAMPLE(*input_ptr++) + - dither1[col_index]]); - pixcode += GETJSAMPLE(colorindex2[GETJSAMPLE(*input_ptr++) + - dither2[col_index]]); - *output_ptr++ = (JSAMPLE) pixcode; - col_index = (col_index + 1) & ODITHER_MASK; - } - row_index = (row_index + 1) & ODITHER_MASK; - cquantize->row_index = row_index; - } -} - - -METHODDEF(void) -quantize_fs_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, - JSAMPARRAY output_buf, int num_rows) -/* General case, with Floyd-Steinberg dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - register LOCFSERROR cur; /* current error or pixel value */ - LOCFSERROR belowerr; /* error for pixel below cur */ - LOCFSERROR bpreverr; /* error for below/prev col */ - LOCFSERROR bnexterr; /* error for below/next col */ - LOCFSERROR delta; - register FSERRPTR errorptr; /* => fserrors[] at column before current */ - register JSAMPROW input_ptr; - register JSAMPROW output_ptr; - JSAMPROW colorindex_ci; - JSAMPROW colormap_ci; - int pixcode; - int nc = cinfo->out_color_components; - int dir; /* 1 for left-to-right, -1 for right-to-left */ - int dirnc; /* dir * nc */ - int ci; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - JSAMPLE *range_limit = cinfo->sample_range_limit; - SHIFT_TEMPS - - for (row = 0; row < num_rows; row++) { - /* Initialize output values to 0 so can process components separately */ - jzero_far((void FAR *) output_buf[row], - (size_t) (width * SIZEOF(JSAMPLE))); - for (ci = 0; ci < nc; ci++) { - input_ptr = input_buf[row] + ci; - output_ptr = output_buf[row]; - if (cquantize->on_odd_row) { - /* work right to left in this row */ - input_ptr += (width-1) * nc; /* so point to rightmost pixel */ - output_ptr += width-1; - dir = -1; - dirnc = -nc; - errorptr = cquantize->fserrors[ci] + (width+1); /* => entry after last column */ - } else { - /* work left to right in this row */ - dir = 1; - dirnc = nc; - errorptr = cquantize->fserrors[ci]; /* => entry before first column */ - } - colorindex_ci = cquantize->colorindex[ci]; - colormap_ci = cquantize->sv_colormap[ci]; - /* Preset error values: no error propagated to first pixel from left */ - cur = 0; - /* and no error propagated to row below yet */ - belowerr = bpreverr = 0; - - for (col = width; col > 0; col--) { - /* cur holds the error propagated from the previous pixel on the - * current line. Add the error propagated from the previous line - * to form the complete error correction term for this pixel, and - * round the error term (which is expressed * 16) to an integer. - * RIGHT_SHIFT rounds towards minus infinity, so adding 8 is correct - * for either sign of the error value. - * Note: errorptr points to *previous* column's array entry. - */ - cur = RIGHT_SHIFT(cur + errorptr[dir] + 8, 4); - /* Form pixel value + error, and range-limit to 0..MAXJSAMPLE. - * The maximum error is +- MAXJSAMPLE; this sets the required size - * of the range_limit array. - */ - cur += GETJSAMPLE(*input_ptr); - cur = GETJSAMPLE(range_limit[cur]); - /* Select output value, accumulate into output code for this pixel */ - pixcode = GETJSAMPLE(colorindex_ci[cur]); - *output_ptr += (JSAMPLE) pixcode; - /* Compute actual representation error at this pixel */ - /* Note: we can do this even though we don't have the final */ - /* pixel code, because the colormap is orthogonal. */ - cur -= GETJSAMPLE(colormap_ci[pixcode]); - /* Compute error fractions to be propagated to adjacent pixels. - * Add these into the running sums, and simultaneously shift the - * next-line error sums left by 1 column. - */ - bnexterr = cur; - delta = cur * 2; - cur += delta; /* form error * 3 */ - errorptr[0] = (FSERROR) (bpreverr + cur); - cur += delta; /* form error * 5 */ - bpreverr = belowerr + cur; - belowerr = bnexterr; - cur += delta; /* form error * 7 */ - /* At this point cur contains the 7/16 error value to be propagated - * to the next pixel on the current line, and all the errors for the - * next line have been shifted over. We are therefore ready to move on. - */ - input_ptr += dirnc; /* advance input ptr to next column */ - output_ptr += dir; /* advance output ptr to next column */ - errorptr += dir; /* advance errorptr to current column */ - } - /* Post-loop cleanup: we must unload the final error value into the - * final fserrors[] entry. Note we need not unload belowerr because - * it is for the dummy column before or after the actual array. - */ - errorptr[0] = (FSERROR) bpreverr; /* unload prev err into array */ - } - cquantize->on_odd_row = (cquantize->on_odd_row ? FALSE : TRUE); - } -} - - -/* - * Allocate workspace for Floyd-Steinberg errors. - */ - -LOCAL(void) -alloc_fs_workspace (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - size_t arraysize; - int i; - - arraysize = (size_t) ((cinfo->output_width + 2) * SIZEOF(FSERROR)); - for (i = 0; i < cinfo->out_color_components; i++) { - cquantize->fserrors[i] = (FSERRPTR) - (*cinfo->mem->alloc_large)((j_common_ptr) cinfo, JPOOL_IMAGE, arraysize); - } -} - - -/* - * Initialize for one-pass color quantization. - */ - -METHODDEF(void) -start_pass_1_quant (j_decompress_ptr cinfo, boolean is_pre_scan) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - size_t arraysize; - int i; - - /* Install my colormap. */ - cinfo->colormap = cquantize->sv_colormap; - cinfo->actual_number_of_colors = cquantize->sv_actual; - - /* Initialize for desired dithering mode. */ - switch (cinfo->dither_mode) { - case JDITHER_NONE: - if (cinfo->out_color_components == 3) - cquantize->pub.color_quantize = color_quantize3; - else - cquantize->pub.color_quantize = color_quantize; - break; - case JDITHER_ORDERED: - if (cinfo->out_color_components == 3) - cquantize->pub.color_quantize = quantize3_ord_dither; - else - cquantize->pub.color_quantize = quantize_ord_dither; - cquantize->row_index = 0; /* initialize state for ordered dither */ - /* If user changed to ordered dither from another mode, - * we must recreate the color index table with padding. - * This will cost extra space, but probably isn't very likely. - */ - if (! cquantize->is_padded) - create_colorindex(cinfo); - /* Create ordered-dither tables if we didn't already. */ - if (cquantize->odither[0] == NULL) - create_odither_tables(cinfo); - break; - case JDITHER_FS: - cquantize->pub.color_quantize = quantize_fs_dither; - cquantize->on_odd_row = FALSE; /* initialize state for F-S dither */ - /* Allocate Floyd-Steinberg workspace if didn't already. */ - if (cquantize->fserrors[0] == NULL) - alloc_fs_workspace(cinfo); - /* Initialize the propagated errors to zero. */ - arraysize = (size_t) ((cinfo->output_width + 2) * SIZEOF(FSERROR)); - for (i = 0; i < cinfo->out_color_components; i++) - jzero_far((void FAR *) cquantize->fserrors[i], arraysize); - break; - default: - ERREXIT(cinfo, JERR_NOT_COMPILED); - break; - } -} - - -/* - * Finish up at the end of the pass. - */ - -METHODDEF(void) -finish_pass_1_quant (j_decompress_ptr cinfo) -{ - /* no work in 1-pass case */ -} - - -/* - * Switch to a new external colormap between output passes. - * Shouldn't get to this module! - */ - -METHODDEF(void) -new_color_map_1_quant (j_decompress_ptr cinfo) -{ - ERREXIT(cinfo, JERR_MODE_CHANGE); -} - - -/* - * Module initialization routine for 1-pass color quantization. - */ - -GLOBAL(void) -jinit_1pass_quantizer (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize; - - cquantize = (my_cquantize_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_cquantizer)); - cinfo->cquantize = (struct jpeg_color_quantizer *) cquantize; - cquantize->pub.start_pass = start_pass_1_quant; - cquantize->pub.finish_pass = finish_pass_1_quant; - cquantize->pub.new_color_map = new_color_map_1_quant; - cquantize->fserrors[0] = NULL; /* Flag FS workspace not allocated */ - cquantize->odither[0] = NULL; /* Also flag odither arrays not allocated */ - - /* Make sure my internal arrays won't overflow */ - if (cinfo->out_color_components > MAX_Q_COMPS) - ERREXIT1(cinfo, JERR_QUANT_COMPONENTS, MAX_Q_COMPS); - /* Make sure colormap indexes can be represented by JSAMPLEs */ - if (cinfo->desired_number_of_colors > (MAXJSAMPLE+1)) - ERREXIT1(cinfo, JERR_QUANT_MANY_COLORS, MAXJSAMPLE+1); - - /* Create the colormap and color index table. */ - create_colormap(cinfo); - create_colorindex(cinfo); - - /* Allocate Floyd-Steinberg workspace now if requested. - * We do this now since it is FAR storage and may affect the memory - * manager's space calculations. If the user changes to FS dither - * mode in a later pass, we will allocate the space then, and will - * possibly overrun the max_memory_to_use setting. - */ - if (cinfo->dither_mode == JDITHER_FS) - alloc_fs_workspace(cinfo); -} - -#endif /* QUANT_1PASS_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jquant2.c b/3rdparty/openctm/tools/jpeg/jquant2.c deleted file mode 100644 index 87a3920b0..000000000 --- a/3rdparty/openctm/tools/jpeg/jquant2.c +++ /dev/null @@ -1,1310 +0,0 @@ -/* - * jquant2.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains 2-pass color quantization (color mapping) routines. - * These routines provide selection of a custom color map for an image, - * followed by mapping of the image to that color map, with optional - * Floyd-Steinberg dithering. - * It is also possible to use just the second pass to map to an arbitrary - * externally-given color map. - * - * Note: ordered dithering is not supported, since there isn't any fast - * way to compute intercolor distances; it's unclear that ordered dither's - * fundamental assumptions even hold with an irregularly spaced color map. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - -#ifdef QUANT_2PASS_SUPPORTED - - -/* - * This module implements the well-known Heckbert paradigm for color - * quantization. Most of the ideas used here can be traced back to - * Heckbert's seminal paper - * Heckbert, Paul. "Color Image Quantization for Frame Buffer Display", - * Proc. SIGGRAPH '82, Computer Graphics v.16 #3 (July 1982), pp 297-304. - * - * In the first pass over the image, we accumulate a histogram showing the - * usage count of each possible color. To keep the histogram to a reasonable - * size, we reduce the precision of the input; typical practice is to retain - * 5 or 6 bits per color, so that 8 or 4 different input values are counted - * in the same histogram cell. - * - * Next, the color-selection step begins with a box representing the whole - * color space, and repeatedly splits the "largest" remaining box until we - * have as many boxes as desired colors. Then the mean color in each - * remaining box becomes one of the possible output colors. - * - * The second pass over the image maps each input pixel to the closest output - * color (optionally after applying a Floyd-Steinberg dithering correction). - * This mapping is logically trivial, but making it go fast enough requires - * considerable care. - * - * Heckbert-style quantizers vary a good deal in their policies for choosing - * the "largest" box and deciding where to cut it. The particular policies - * used here have proved out well in experimental comparisons, but better ones - * may yet be found. - * - * In earlier versions of the IJG code, this module quantized in YCbCr color - * space, processing the raw upsampled data without a color conversion step. - * This allowed the color conversion math to be done only once per colormap - * entry, not once per pixel. However, that optimization precluded other - * useful optimizations (such as merging color conversion with upsampling) - * and it also interfered with desired capabilities such as quantizing to an - * externally-supplied colormap. We have therefore abandoned that approach. - * The present code works in the post-conversion color space, typically RGB. - * - * To improve the visual quality of the results, we actually work in scaled - * RGB space, giving G distances more weight than R, and R in turn more than - * B. To do everything in integer math, we must use integer scale factors. - * The 2/3/1 scale factors used here correspond loosely to the relative - * weights of the colors in the NTSC grayscale equation. - * If you want to use this code to quantize a non-RGB color space, you'll - * probably need to change these scale factors. - */ - -#define R_SCALE 2 /* scale R distances by this much */ -#define G_SCALE 3 /* scale G distances by this much */ -#define B_SCALE 1 /* and B by this much */ - -/* Relabel R/G/B as components 0/1/2, respecting the RGB ordering defined - * in jmorecfg.h. As the code stands, it will do the right thing for R,G,B - * and B,G,R orders. If you define some other weird order in jmorecfg.h, - * you'll get compile errors until you extend this logic. In that case - * you'll probably want to tweak the histogram sizes too. - */ - -#if RGB_RED == 0 -#define C0_SCALE R_SCALE -#endif -#if RGB_BLUE == 0 -#define C0_SCALE B_SCALE -#endif -#if RGB_GREEN == 1 -#define C1_SCALE G_SCALE -#endif -#if RGB_RED == 2 -#define C2_SCALE R_SCALE -#endif -#if RGB_BLUE == 2 -#define C2_SCALE B_SCALE -#endif - - -/* - * First we have the histogram data structure and routines for creating it. - * - * The number of bits of precision can be adjusted by changing these symbols. - * We recommend keeping 6 bits for G and 5 each for R and B. - * If you have plenty of memory and cycles, 6 bits all around gives marginally - * better results; if you are short of memory, 5 bits all around will save - * some space but degrade the results. - * To maintain a fully accurate histogram, we'd need to allocate a "long" - * (preferably unsigned long) for each cell. In practice this is overkill; - * we can get by with 16 bits per cell. Few of the cell counts will overflow, - * and clamping those that do overflow to the maximum value will give close- - * enough results. This reduces the recommended histogram size from 256Kb - * to 128Kb, which is a useful savings on PC-class machines. - * (In the second pass the histogram space is re-used for pixel mapping data; - * in that capacity, each cell must be able to store zero to the number of - * desired colors. 16 bits/cell is plenty for that too.) - * Since the JPEG code is intended to run in small memory model on 80x86 - * machines, we can't just allocate the histogram in one chunk. Instead - * of a true 3-D array, we use a row of pointers to 2-D arrays. Each - * pointer corresponds to a C0 value (typically 2^5 = 32 pointers) and - * each 2-D array has 2^6*2^5 = 2048 or 2^6*2^6 = 4096 entries. Note that - * on 80x86 machines, the pointer row is in near memory but the actual - * arrays are in far memory (same arrangement as we use for image arrays). - */ - -#define MAXNUMCOLORS (MAXJSAMPLE+1) /* maximum size of colormap */ - -/* These will do the right thing for either R,G,B or B,G,R color order, - * but you may not like the results for other color orders. - */ -#define HIST_C0_BITS 5 /* bits of precision in R/B histogram */ -#define HIST_C1_BITS 6 /* bits of precision in G histogram */ -#define HIST_C2_BITS 5 /* bits of precision in B/R histogram */ - -/* Number of elements along histogram axes. */ -#define HIST_C0_ELEMS (1<cquantize; - register JSAMPROW ptr; - register histptr histp; - register hist3d histogram = cquantize->histogram; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - - for (row = 0; row < num_rows; row++) { - ptr = input_buf[row]; - for (col = width; col > 0; col--) { - /* get pixel value and index into the histogram */ - histp = & histogram[GETJSAMPLE(ptr[0]) >> C0_SHIFT] - [GETJSAMPLE(ptr[1]) >> C1_SHIFT] - [GETJSAMPLE(ptr[2]) >> C2_SHIFT]; - /* increment, check for overflow and undo increment if so. */ - if (++(*histp) <= 0) - (*histp)--; - ptr += 3; - } - } -} - - -/* - * Next we have the really interesting routines: selection of a colormap - * given the completed histogram. - * These routines work with a list of "boxes", each representing a rectangular - * subset of the input color space (to histogram precision). - */ - -typedef struct { - /* The bounds of the box (inclusive); expressed as histogram indexes */ - int c0min, c0max; - int c1min, c1max; - int c2min, c2max; - /* The volume (actually 2-norm) of the box */ - INT32 volume; - /* The number of nonzero histogram cells within this box */ - long colorcount; -} box; - -typedef box * boxptr; - - -LOCAL(boxptr) -find_biggest_color_pop (boxptr boxlist, int numboxes) -/* Find the splittable box with the largest color population */ -/* Returns NULL if no splittable boxes remain */ -{ - register boxptr boxp; - register int i; - register long maxc = 0; - boxptr which = NULL; - - for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) { - if (boxp->colorcount > maxc && boxp->volume > 0) { - which = boxp; - maxc = boxp->colorcount; - } - } - return which; -} - - -LOCAL(boxptr) -find_biggest_volume (boxptr boxlist, int numboxes) -/* Find the splittable box with the largest (scaled) volume */ -/* Returns NULL if no splittable boxes remain */ -{ - register boxptr boxp; - register int i; - register INT32 maxv = 0; - boxptr which = NULL; - - for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) { - if (boxp->volume > maxv) { - which = boxp; - maxv = boxp->volume; - } - } - return which; -} - - -LOCAL(void) -update_box (j_decompress_ptr cinfo, boxptr boxp) -/* Shrink the min/max bounds of a box to enclose only nonzero elements, */ -/* and recompute its volume and population */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - histptr histp; - int c0,c1,c2; - int c0min,c0max,c1min,c1max,c2min,c2max; - INT32 dist0,dist1,dist2; - long ccount; - - c0min = boxp->c0min; c0max = boxp->c0max; - c1min = boxp->c1min; c1max = boxp->c1max; - c2min = boxp->c2min; c2max = boxp->c2max; - - if (c0max > c0min) - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++) - if (*histp++ != 0) { - boxp->c0min = c0min = c0; - goto have_c0min; - } - } - have_c0min: - if (c0max > c0min) - for (c0 = c0max; c0 >= c0min; c0--) - for (c1 = c1min; c1 <= c1max; c1++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++) - if (*histp++ != 0) { - boxp->c0max = c0max = c0; - goto have_c0max; - } - } - have_c0max: - if (c1max > c1min) - for (c1 = c1min; c1 <= c1max; c1++) - for (c0 = c0min; c0 <= c0max; c0++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++) - if (*histp++ != 0) { - boxp->c1min = c1min = c1; - goto have_c1min; - } - } - have_c1min: - if (c1max > c1min) - for (c1 = c1max; c1 >= c1min; c1--) - for (c0 = c0min; c0 <= c0max; c0++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++) - if (*histp++ != 0) { - boxp->c1max = c1max = c1; - goto have_c1max; - } - } - have_c1max: - if (c2max > c2min) - for (c2 = c2min; c2 <= c2max; c2++) - for (c0 = c0min; c0 <= c0max; c0++) { - histp = & histogram[c0][c1min][c2]; - for (c1 = c1min; c1 <= c1max; c1++, histp += HIST_C2_ELEMS) - if (*histp != 0) { - boxp->c2min = c2min = c2; - goto have_c2min; - } - } - have_c2min: - if (c2max > c2min) - for (c2 = c2max; c2 >= c2min; c2--) - for (c0 = c0min; c0 <= c0max; c0++) { - histp = & histogram[c0][c1min][c2]; - for (c1 = c1min; c1 <= c1max; c1++, histp += HIST_C2_ELEMS) - if (*histp != 0) { - boxp->c2max = c2max = c2; - goto have_c2max; - } - } - have_c2max: - - /* Update box volume. - * We use 2-norm rather than real volume here; this biases the method - * against making long narrow boxes, and it has the side benefit that - * a box is splittable iff norm > 0. - * Since the differences are expressed in histogram-cell units, - * we have to shift back to JSAMPLE units to get consistent distances; - * after which, we scale according to the selected distance scale factors. - */ - dist0 = ((c0max - c0min) << C0_SHIFT) * C0_SCALE; - dist1 = ((c1max - c1min) << C1_SHIFT) * C1_SCALE; - dist2 = ((c2max - c2min) << C2_SHIFT) * C2_SCALE; - boxp->volume = dist0*dist0 + dist1*dist1 + dist2*dist2; - - /* Now scan remaining volume of box and compute population */ - ccount = 0; - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++, histp++) - if (*histp != 0) { - ccount++; - } - } - boxp->colorcount = ccount; -} - - -LOCAL(int) -median_cut (j_decompress_ptr cinfo, boxptr boxlist, int numboxes, - int desired_colors) -/* Repeatedly select and split the largest box until we have enough boxes */ -{ - int n,lb; - int c0,c1,c2,cmax; - register boxptr b1,b2; - - while (numboxes < desired_colors) { - /* Select box to split. - * Current algorithm: by population for first half, then by volume. - */ - if (numboxes*2 <= desired_colors) { - b1 = find_biggest_color_pop(boxlist, numboxes); - } else { - b1 = find_biggest_volume(boxlist, numboxes); - } - if (b1 == NULL) /* no splittable boxes left! */ - break; - b2 = &boxlist[numboxes]; /* where new box will go */ - /* Copy the color bounds to the new box. */ - b2->c0max = b1->c0max; b2->c1max = b1->c1max; b2->c2max = b1->c2max; - b2->c0min = b1->c0min; b2->c1min = b1->c1min; b2->c2min = b1->c2min; - /* Choose which axis to split the box on. - * Current algorithm: longest scaled axis. - * See notes in update_box about scaling distances. - */ - c0 = ((b1->c0max - b1->c0min) << C0_SHIFT) * C0_SCALE; - c1 = ((b1->c1max - b1->c1min) << C1_SHIFT) * C1_SCALE; - c2 = ((b1->c2max - b1->c2min) << C2_SHIFT) * C2_SCALE; - /* We want to break any ties in favor of green, then red, blue last. - * This code does the right thing for R,G,B or B,G,R color orders only. - */ -#if RGB_RED == 0 - cmax = c1; n = 1; - if (c0 > cmax) { cmax = c0; n = 0; } - if (c2 > cmax) { n = 2; } -#else - cmax = c1; n = 1; - if (c2 > cmax) { cmax = c2; n = 2; } - if (c0 > cmax) { n = 0; } -#endif - /* Choose split point along selected axis, and update box bounds. - * Current algorithm: split at halfway point. - * (Since the box has been shrunk to minimum volume, - * any split will produce two nonempty subboxes.) - * Note that lb value is max for lower box, so must be < old max. - */ - switch (n) { - case 0: - lb = (b1->c0max + b1->c0min) / 2; - b1->c0max = lb; - b2->c0min = lb+1; - break; - case 1: - lb = (b1->c1max + b1->c1min) / 2; - b1->c1max = lb; - b2->c1min = lb+1; - break; - case 2: - lb = (b1->c2max + b1->c2min) / 2; - b1->c2max = lb; - b2->c2min = lb+1; - break; - } - /* Update stats for boxes */ - update_box(cinfo, b1); - update_box(cinfo, b2); - numboxes++; - } - return numboxes; -} - - -LOCAL(void) -compute_color (j_decompress_ptr cinfo, boxptr boxp, int icolor) -/* Compute representative color for a box, put it in colormap[icolor] */ -{ - /* Current algorithm: mean weighted by pixels (not colors) */ - /* Note it is important to get the rounding correct! */ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - histptr histp; - int c0,c1,c2; - int c0min,c0max,c1min,c1max,c2min,c2max; - long count; - long total = 0; - long c0total = 0; - long c1total = 0; - long c2total = 0; - - c0min = boxp->c0min; c0max = boxp->c0max; - c1min = boxp->c1min; c1max = boxp->c1max; - c2min = boxp->c2min; c2max = boxp->c2max; - - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { - histp = & histogram[c0][c1][c2min]; - for (c2 = c2min; c2 <= c2max; c2++) { - if ((count = *histp++) != 0) { - total += count; - c0total += ((c0 << C0_SHIFT) + ((1<>1)) * count; - c1total += ((c1 << C1_SHIFT) + ((1<>1)) * count; - c2total += ((c2 << C2_SHIFT) + ((1<>1)) * count; - } - } - } - - cinfo->colormap[0][icolor] = (JSAMPLE) ((c0total + (total>>1)) / total); - cinfo->colormap[1][icolor] = (JSAMPLE) ((c1total + (total>>1)) / total); - cinfo->colormap[2][icolor] = (JSAMPLE) ((c2total + (total>>1)) / total); -} - - -LOCAL(void) -select_colors (j_decompress_ptr cinfo, int desired_colors) -/* Master routine for color selection */ -{ - boxptr boxlist; - int numboxes; - int i; - - /* Allocate workspace for box list */ - boxlist = (boxptr) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, desired_colors * SIZEOF(box)); - /* Initialize one box containing whole space */ - numboxes = 1; - boxlist[0].c0min = 0; - boxlist[0].c0max = MAXJSAMPLE >> C0_SHIFT; - boxlist[0].c1min = 0; - boxlist[0].c1max = MAXJSAMPLE >> C1_SHIFT; - boxlist[0].c2min = 0; - boxlist[0].c2max = MAXJSAMPLE >> C2_SHIFT; - /* Shrink it to actually-used volume and set its statistics */ - update_box(cinfo, & boxlist[0]); - /* Perform median-cut to produce final box list */ - numboxes = median_cut(cinfo, boxlist, numboxes, desired_colors); - /* Compute the representative color for each box, fill colormap */ - for (i = 0; i < numboxes; i++) - compute_color(cinfo, & boxlist[i], i); - cinfo->actual_number_of_colors = numboxes; - TRACEMS1(cinfo, 1, JTRC_QUANT_SELECTED, numboxes); -} - - -/* - * These routines are concerned with the time-critical task of mapping input - * colors to the nearest color in the selected colormap. - * - * We re-use the histogram space as an "inverse color map", essentially a - * cache for the results of nearest-color searches. All colors within a - * histogram cell will be mapped to the same colormap entry, namely the one - * closest to the cell's center. This may not be quite the closest entry to - * the actual input color, but it's almost as good. A zero in the cache - * indicates we haven't found the nearest color for that cell yet; the array - * is cleared to zeroes before starting the mapping pass. When we find the - * nearest color for a cell, its colormap index plus one is recorded in the - * cache for future use. The pass2 scanning routines call fill_inverse_cmap - * when they need to use an unfilled entry in the cache. - * - * Our method of efficiently finding nearest colors is based on the "locally - * sorted search" idea described by Heckbert and on the incremental distance - * calculation described by Spencer W. Thomas in chapter III.1 of Graphics - * Gems II (James Arvo, ed. Academic Press, 1991). Thomas points out that - * the distances from a given colormap entry to each cell of the histogram can - * be computed quickly using an incremental method: the differences between - * distances to adjacent cells themselves differ by a constant. This allows a - * fairly fast implementation of the "brute force" approach of computing the - * distance from every colormap entry to every histogram cell. Unfortunately, - * it needs a work array to hold the best-distance-so-far for each histogram - * cell (because the inner loop has to be over cells, not colormap entries). - * The work array elements have to be INT32s, so the work array would need - * 256Kb at our recommended precision. This is not feasible in DOS machines. - * - * To get around these problems, we apply Thomas' method to compute the - * nearest colors for only the cells within a small subbox of the histogram. - * The work array need be only as big as the subbox, so the memory usage - * problem is solved. Furthermore, we need not fill subboxes that are never - * referenced in pass2; many images use only part of the color gamut, so a - * fair amount of work is saved. An additional advantage of this - * approach is that we can apply Heckbert's locality criterion to quickly - * eliminate colormap entries that are far away from the subbox; typically - * three-fourths of the colormap entries are rejected by Heckbert's criterion, - * and we need not compute their distances to individual cells in the subbox. - * The speed of this approach is heavily influenced by the subbox size: too - * small means too much overhead, too big loses because Heckbert's criterion - * can't eliminate as many colormap entries. Empirically the best subbox - * size seems to be about 1/512th of the histogram (1/8th in each direction). - * - * Thomas' article also describes a refined method which is asymptotically - * faster than the brute-force method, but it is also far more complex and - * cannot efficiently be applied to small subboxes. It is therefore not - * useful for programs intended to be portable to DOS machines. On machines - * with plenty of memory, filling the whole histogram in one shot with Thomas' - * refined method might be faster than the present code --- but then again, - * it might not be any faster, and it's certainly more complicated. - */ - - -/* log2(histogram cells in update box) for each axis; this can be adjusted */ -#define BOX_C0_LOG (HIST_C0_BITS-3) -#define BOX_C1_LOG (HIST_C1_BITS-3) -#define BOX_C2_LOG (HIST_C2_BITS-3) - -#define BOX_C0_ELEMS (1<actual_number_of_colors; - int maxc0, maxc1, maxc2; - int centerc0, centerc1, centerc2; - int i, x, ncolors; - INT32 minmaxdist, min_dist, max_dist, tdist; - INT32 mindist[MAXNUMCOLORS]; /* min distance to colormap entry i */ - - /* Compute true coordinates of update box's upper corner and center. - * Actually we compute the coordinates of the center of the upper-corner - * histogram cell, which are the upper bounds of the volume we care about. - * Note that since ">>" rounds down, the "center" values may be closer to - * min than to max; hence comparisons to them must be "<=", not "<". - */ - maxc0 = minc0 + ((1 << BOX_C0_SHIFT) - (1 << C0_SHIFT)); - centerc0 = (minc0 + maxc0) >> 1; - maxc1 = minc1 + ((1 << BOX_C1_SHIFT) - (1 << C1_SHIFT)); - centerc1 = (minc1 + maxc1) >> 1; - maxc2 = minc2 + ((1 << BOX_C2_SHIFT) - (1 << C2_SHIFT)); - centerc2 = (minc2 + maxc2) >> 1; - - /* For each color in colormap, find: - * 1. its minimum squared-distance to any point in the update box - * (zero if color is within update box); - * 2. its maximum squared-distance to any point in the update box. - * Both of these can be found by considering only the corners of the box. - * We save the minimum distance for each color in mindist[]; - * only the smallest maximum distance is of interest. - */ - minmaxdist = 0x7FFFFFFFL; - - for (i = 0; i < numcolors; i++) { - /* We compute the squared-c0-distance term, then add in the other two. */ - x = GETJSAMPLE(cinfo->colormap[0][i]); - if (x < minc0) { - tdist = (x - minc0) * C0_SCALE; - min_dist = tdist*tdist; - tdist = (x - maxc0) * C0_SCALE; - max_dist = tdist*tdist; - } else if (x > maxc0) { - tdist = (x - maxc0) * C0_SCALE; - min_dist = tdist*tdist; - tdist = (x - minc0) * C0_SCALE; - max_dist = tdist*tdist; - } else { - /* within cell range so no contribution to min_dist */ - min_dist = 0; - if (x <= centerc0) { - tdist = (x - maxc0) * C0_SCALE; - max_dist = tdist*tdist; - } else { - tdist = (x - minc0) * C0_SCALE; - max_dist = tdist*tdist; - } - } - - x = GETJSAMPLE(cinfo->colormap[1][i]); - if (x < minc1) { - tdist = (x - minc1) * C1_SCALE; - min_dist += tdist*tdist; - tdist = (x - maxc1) * C1_SCALE; - max_dist += tdist*tdist; - } else if (x > maxc1) { - tdist = (x - maxc1) * C1_SCALE; - min_dist += tdist*tdist; - tdist = (x - minc1) * C1_SCALE; - max_dist += tdist*tdist; - } else { - /* within cell range so no contribution to min_dist */ - if (x <= centerc1) { - tdist = (x - maxc1) * C1_SCALE; - max_dist += tdist*tdist; - } else { - tdist = (x - minc1) * C1_SCALE; - max_dist += tdist*tdist; - } - } - - x = GETJSAMPLE(cinfo->colormap[2][i]); - if (x < minc2) { - tdist = (x - minc2) * C2_SCALE; - min_dist += tdist*tdist; - tdist = (x - maxc2) * C2_SCALE; - max_dist += tdist*tdist; - } else if (x > maxc2) { - tdist = (x - maxc2) * C2_SCALE; - min_dist += tdist*tdist; - tdist = (x - minc2) * C2_SCALE; - max_dist += tdist*tdist; - } else { - /* within cell range so no contribution to min_dist */ - if (x <= centerc2) { - tdist = (x - maxc2) * C2_SCALE; - max_dist += tdist*tdist; - } else { - tdist = (x - minc2) * C2_SCALE; - max_dist += tdist*tdist; - } - } - - mindist[i] = min_dist; /* save away the results */ - if (max_dist < minmaxdist) - minmaxdist = max_dist; - } - - /* Now we know that no cell in the update box is more than minmaxdist - * away from some colormap entry. Therefore, only colors that are - * within minmaxdist of some part of the box need be considered. - */ - ncolors = 0; - for (i = 0; i < numcolors; i++) { - if (mindist[i] <= minmaxdist) - colorlist[ncolors++] = (JSAMPLE) i; - } - return ncolors; -} - - -LOCAL(void) -find_best_colors (j_decompress_ptr cinfo, int minc0, int minc1, int minc2, - int numcolors, JSAMPLE colorlist[], JSAMPLE bestcolor[]) -/* Find the closest colormap entry for each cell in the update box, - * given the list of candidate colors prepared by find_nearby_colors. - * Return the indexes of the closest entries in the bestcolor[] array. - * This routine uses Thomas' incremental distance calculation method to - * find the distance from a colormap entry to successive cells in the box. - */ -{ - int ic0, ic1, ic2; - int i, icolor; - register INT32 * bptr; /* pointer into bestdist[] array */ - JSAMPLE * cptr; /* pointer into bestcolor[] array */ - INT32 dist0, dist1; /* initial distance values */ - register INT32 dist2; /* current distance in inner loop */ - INT32 xx0, xx1; /* distance increments */ - register INT32 xx2; - INT32 inc0, inc1, inc2; /* initial values for increments */ - /* This array holds the distance to the nearest-so-far color for each cell */ - INT32 bestdist[BOX_C0_ELEMS * BOX_C1_ELEMS * BOX_C2_ELEMS]; - - /* Initialize best-distance for each cell of the update box */ - bptr = bestdist; - for (i = BOX_C0_ELEMS*BOX_C1_ELEMS*BOX_C2_ELEMS-1; i >= 0; i--) - *bptr++ = 0x7FFFFFFFL; - - /* For each color selected by find_nearby_colors, - * compute its distance to the center of each cell in the box. - * If that's less than best-so-far, update best distance and color number. - */ - - /* Nominal steps between cell centers ("x" in Thomas article) */ -#define STEP_C0 ((1 << C0_SHIFT) * C0_SCALE) -#define STEP_C1 ((1 << C1_SHIFT) * C1_SCALE) -#define STEP_C2 ((1 << C2_SHIFT) * C2_SCALE) - - for (i = 0; i < numcolors; i++) { - icolor = GETJSAMPLE(colorlist[i]); - /* Compute (square of) distance from minc0/c1/c2 to this color */ - inc0 = (minc0 - GETJSAMPLE(cinfo->colormap[0][icolor])) * C0_SCALE; - dist0 = inc0*inc0; - inc1 = (minc1 - GETJSAMPLE(cinfo->colormap[1][icolor])) * C1_SCALE; - dist0 += inc1*inc1; - inc2 = (minc2 - GETJSAMPLE(cinfo->colormap[2][icolor])) * C2_SCALE; - dist0 += inc2*inc2; - /* Form the initial difference increments */ - inc0 = inc0 * (2 * STEP_C0) + STEP_C0 * STEP_C0; - inc1 = inc1 * (2 * STEP_C1) + STEP_C1 * STEP_C1; - inc2 = inc2 * (2 * STEP_C2) + STEP_C2 * STEP_C2; - /* Now loop over all cells in box, updating distance per Thomas method */ - bptr = bestdist; - cptr = bestcolor; - xx0 = inc0; - for (ic0 = BOX_C0_ELEMS-1; ic0 >= 0; ic0--) { - dist1 = dist0; - xx1 = inc1; - for (ic1 = BOX_C1_ELEMS-1; ic1 >= 0; ic1--) { - dist2 = dist1; - xx2 = inc2; - for (ic2 = BOX_C2_ELEMS-1; ic2 >= 0; ic2--) { - if (dist2 < *bptr) { - *bptr = dist2; - *cptr = (JSAMPLE) icolor; - } - dist2 += xx2; - xx2 += 2 * STEP_C2 * STEP_C2; - bptr++; - cptr++; - } - dist1 += xx1; - xx1 += 2 * STEP_C1 * STEP_C1; - } - dist0 += xx0; - xx0 += 2 * STEP_C0 * STEP_C0; - } - } -} - - -LOCAL(void) -fill_inverse_cmap (j_decompress_ptr cinfo, int c0, int c1, int c2) -/* Fill the inverse-colormap entries in the update box that contains */ -/* histogram cell c0/c1/c2. (Only that one cell MUST be filled, but */ -/* we can fill as many others as we wish.) */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - int minc0, minc1, minc2; /* lower left corner of update box */ - int ic0, ic1, ic2; - register JSAMPLE * cptr; /* pointer into bestcolor[] array */ - register histptr cachep; /* pointer into main cache array */ - /* This array lists the candidate colormap indexes. */ - JSAMPLE colorlist[MAXNUMCOLORS]; - int numcolors; /* number of candidate colors */ - /* This array holds the actually closest colormap index for each cell. */ - JSAMPLE bestcolor[BOX_C0_ELEMS * BOX_C1_ELEMS * BOX_C2_ELEMS]; - - /* Convert cell coordinates to update box ID */ - c0 >>= BOX_C0_LOG; - c1 >>= BOX_C1_LOG; - c2 >>= BOX_C2_LOG; - - /* Compute true coordinates of update box's origin corner. - * Actually we compute the coordinates of the center of the corner - * histogram cell, which are the lower bounds of the volume we care about. - */ - minc0 = (c0 << BOX_C0_SHIFT) + ((1 << C0_SHIFT) >> 1); - minc1 = (c1 << BOX_C1_SHIFT) + ((1 << C1_SHIFT) >> 1); - minc2 = (c2 << BOX_C2_SHIFT) + ((1 << C2_SHIFT) >> 1); - - /* Determine which colormap entries are close enough to be candidates - * for the nearest entry to some cell in the update box. - */ - numcolors = find_nearby_colors(cinfo, minc0, minc1, minc2, colorlist); - - /* Determine the actually nearest colors. */ - find_best_colors(cinfo, minc0, minc1, minc2, numcolors, colorlist, - bestcolor); - - /* Save the best color numbers (plus 1) in the main cache array */ - c0 <<= BOX_C0_LOG; /* convert ID back to base cell indexes */ - c1 <<= BOX_C1_LOG; - c2 <<= BOX_C2_LOG; - cptr = bestcolor; - for (ic0 = 0; ic0 < BOX_C0_ELEMS; ic0++) { - for (ic1 = 0; ic1 < BOX_C1_ELEMS; ic1++) { - cachep = & histogram[c0+ic0][c1+ic1][c2]; - for (ic2 = 0; ic2 < BOX_C2_ELEMS; ic2++) { - *cachep++ = (histcell) (GETJSAMPLE(*cptr++) + 1); - } - } - } -} - - -/* - * Map some rows of pixels to the output colormapped representation. - */ - -METHODDEF(void) -pass2_no_dither (j_decompress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) -/* This version performs no dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - register JSAMPROW inptr, outptr; - register histptr cachep; - register int c0, c1, c2; - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - - for (row = 0; row < num_rows; row++) { - inptr = input_buf[row]; - outptr = output_buf[row]; - for (col = width; col > 0; col--) { - /* get pixel value and index into the cache */ - c0 = GETJSAMPLE(*inptr++) >> C0_SHIFT; - c1 = GETJSAMPLE(*inptr++) >> C1_SHIFT; - c2 = GETJSAMPLE(*inptr++) >> C2_SHIFT; - cachep = & histogram[c0][c1][c2]; - /* If we have not seen this color before, find nearest colormap entry */ - /* and update the cache */ - if (*cachep == 0) - fill_inverse_cmap(cinfo, c0,c1,c2); - /* Now emit the colormap index for this cell */ - *outptr++ = (JSAMPLE) (*cachep - 1); - } - } -} - - -METHODDEF(void) -pass2_fs_dither (j_decompress_ptr cinfo, - JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) -/* This version performs Floyd-Steinberg dithering */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - register LOCFSERROR cur0, cur1, cur2; /* current error or pixel value */ - LOCFSERROR belowerr0, belowerr1, belowerr2; /* error for pixel below cur */ - LOCFSERROR bpreverr0, bpreverr1, bpreverr2; /* error for below/prev col */ - register FSERRPTR errorptr; /* => fserrors[] at column before current */ - JSAMPROW inptr; /* => current input pixel */ - JSAMPROW outptr; /* => current output pixel */ - histptr cachep; - int dir; /* +1 or -1 depending on direction */ - int dir3; /* 3*dir, for advancing inptr & errorptr */ - int row; - JDIMENSION col; - JDIMENSION width = cinfo->output_width; - JSAMPLE *range_limit = cinfo->sample_range_limit; - int *error_limit = cquantize->error_limiter; - JSAMPROW colormap0 = cinfo->colormap[0]; - JSAMPROW colormap1 = cinfo->colormap[1]; - JSAMPROW colormap2 = cinfo->colormap[2]; - SHIFT_TEMPS - - for (row = 0; row < num_rows; row++) { - inptr = input_buf[row]; - outptr = output_buf[row]; - if (cquantize->on_odd_row) { - /* work right to left in this row */ - inptr += (width-1) * 3; /* so point to rightmost pixel */ - outptr += width-1; - dir = -1; - dir3 = -3; - errorptr = cquantize->fserrors + (width+1)*3; /* => entry after last column */ - cquantize->on_odd_row = FALSE; /* flip for next time */ - } else { - /* work left to right in this row */ - dir = 1; - dir3 = 3; - errorptr = cquantize->fserrors; /* => entry before first real column */ - cquantize->on_odd_row = TRUE; /* flip for next time */ - } - /* Preset error values: no error propagated to first pixel from left */ - cur0 = cur1 = cur2 = 0; - /* and no error propagated to row below yet */ - belowerr0 = belowerr1 = belowerr2 = 0; - bpreverr0 = bpreverr1 = bpreverr2 = 0; - - for (col = width; col > 0; col--) { - /* curN holds the error propagated from the previous pixel on the - * current line. Add the error propagated from the previous line - * to form the complete error correction term for this pixel, and - * round the error term (which is expressed * 16) to an integer. - * RIGHT_SHIFT rounds towards minus infinity, so adding 8 is correct - * for either sign of the error value. - * Note: errorptr points to *previous* column's array entry. - */ - cur0 = RIGHT_SHIFT(cur0 + errorptr[dir3+0] + 8, 4); - cur1 = RIGHT_SHIFT(cur1 + errorptr[dir3+1] + 8, 4); - cur2 = RIGHT_SHIFT(cur2 + errorptr[dir3+2] + 8, 4); - /* Limit the error using transfer function set by init_error_limit. - * See comments with init_error_limit for rationale. - */ - cur0 = error_limit[cur0]; - cur1 = error_limit[cur1]; - cur2 = error_limit[cur2]; - /* Form pixel value + error, and range-limit to 0..MAXJSAMPLE. - * The maximum error is +- MAXJSAMPLE (or less with error limiting); - * this sets the required size of the range_limit array. - */ - cur0 += GETJSAMPLE(inptr[0]); - cur1 += GETJSAMPLE(inptr[1]); - cur2 += GETJSAMPLE(inptr[2]); - cur0 = GETJSAMPLE(range_limit[cur0]); - cur1 = GETJSAMPLE(range_limit[cur1]); - cur2 = GETJSAMPLE(range_limit[cur2]); - /* Index into the cache with adjusted pixel value */ - cachep = & histogram[cur0>>C0_SHIFT][cur1>>C1_SHIFT][cur2>>C2_SHIFT]; - /* If we have not seen this color before, find nearest colormap */ - /* entry and update the cache */ - if (*cachep == 0) - fill_inverse_cmap(cinfo, cur0>>C0_SHIFT,cur1>>C1_SHIFT,cur2>>C2_SHIFT); - /* Now emit the colormap index for this cell */ - { register int pixcode = *cachep - 1; - *outptr = (JSAMPLE) pixcode; - /* Compute representation error for this pixel */ - cur0 -= GETJSAMPLE(colormap0[pixcode]); - cur1 -= GETJSAMPLE(colormap1[pixcode]); - cur2 -= GETJSAMPLE(colormap2[pixcode]); - } - /* Compute error fractions to be propagated to adjacent pixels. - * Add these into the running sums, and simultaneously shift the - * next-line error sums left by 1 column. - */ - { register LOCFSERROR bnexterr, delta; - - bnexterr = cur0; /* Process component 0 */ - delta = cur0 * 2; - cur0 += delta; /* form error * 3 */ - errorptr[0] = (FSERROR) (bpreverr0 + cur0); - cur0 += delta; /* form error * 5 */ - bpreverr0 = belowerr0 + cur0; - belowerr0 = bnexterr; - cur0 += delta; /* form error * 7 */ - bnexterr = cur1; /* Process component 1 */ - delta = cur1 * 2; - cur1 += delta; /* form error * 3 */ - errorptr[1] = (FSERROR) (bpreverr1 + cur1); - cur1 += delta; /* form error * 5 */ - bpreverr1 = belowerr1 + cur1; - belowerr1 = bnexterr; - cur1 += delta; /* form error * 7 */ - bnexterr = cur2; /* Process component 2 */ - delta = cur2 * 2; - cur2 += delta; /* form error * 3 */ - errorptr[2] = (FSERROR) (bpreverr2 + cur2); - cur2 += delta; /* form error * 5 */ - bpreverr2 = belowerr2 + cur2; - belowerr2 = bnexterr; - cur2 += delta; /* form error * 7 */ - } - /* At this point curN contains the 7/16 error value to be propagated - * to the next pixel on the current line, and all the errors for the - * next line have been shifted over. We are therefore ready to move on. - */ - inptr += dir3; /* Advance pixel pointers to next column */ - outptr += dir; - errorptr += dir3; /* advance errorptr to current column */ - } - /* Post-loop cleanup: we must unload the final error values into the - * final fserrors[] entry. Note we need not unload belowerrN because - * it is for the dummy column before or after the actual array. - */ - errorptr[0] = (FSERROR) bpreverr0; /* unload prev errs into array */ - errorptr[1] = (FSERROR) bpreverr1; - errorptr[2] = (FSERROR) bpreverr2; - } -} - - -/* - * Initialize the error-limiting transfer function (lookup table). - * The raw F-S error computation can potentially compute error values of up to - * +- MAXJSAMPLE. But we want the maximum correction applied to a pixel to be - * much less, otherwise obviously wrong pixels will be created. (Typical - * effects include weird fringes at color-area boundaries, isolated bright - * pixels in a dark area, etc.) The standard advice for avoiding this problem - * is to ensure that the "corners" of the color cube are allocated as output - * colors; then repeated errors in the same direction cannot cause cascading - * error buildup. However, that only prevents the error from getting - * completely out of hand; Aaron Giles reports that error limiting improves - * the results even with corner colors allocated. - * A simple clamping of the error values to about +- MAXJSAMPLE/8 works pretty - * well, but the smoother transfer function used below is even better. Thanks - * to Aaron Giles for this idea. - */ - -LOCAL(void) -init_error_limit (j_decompress_ptr cinfo) -/* Allocate and fill in the error_limiter table */ -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - int * table; - int in, out; - - table = (int *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, (MAXJSAMPLE*2+1) * SIZEOF(int)); - table += MAXJSAMPLE; /* so can index -MAXJSAMPLE .. +MAXJSAMPLE */ - cquantize->error_limiter = table; - -#define STEPSIZE ((MAXJSAMPLE+1)/16) - /* Map errors 1:1 up to +- MAXJSAMPLE/16 */ - out = 0; - for (in = 0; in < STEPSIZE; in++, out++) { - table[in] = out; table[-in] = -out; - } - /* Map errors 1:2 up to +- 3*MAXJSAMPLE/16 */ - for (; in < STEPSIZE*3; in++, out += (in&1) ? 0 : 1) { - table[in] = out; table[-in] = -out; - } - /* Clamp the rest to final out value (which is (MAXJSAMPLE+1)/8) */ - for (; in <= MAXJSAMPLE; in++) { - table[in] = out; table[-in] = -out; - } -#undef STEPSIZE -} - - -/* - * Finish up at the end of each pass. - */ - -METHODDEF(void) -finish_pass1 (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - - /* Select the representative colors and fill in cinfo->colormap */ - cinfo->colormap = cquantize->sv_colormap; - select_colors(cinfo, cquantize->desired); - /* Force next pass to zero the color index table */ - cquantize->needs_zeroed = TRUE; -} - - -METHODDEF(void) -finish_pass2 (j_decompress_ptr cinfo) -{ - /* no work */ -} - - -/* - * Initialize for each processing pass. - */ - -METHODDEF(void) -start_pass_2_quant (j_decompress_ptr cinfo, boolean is_pre_scan) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - hist3d histogram = cquantize->histogram; - int i; - - /* Only F-S dithering or no dithering is supported. */ - /* If user asks for ordered dither, give him F-S. */ - if (cinfo->dither_mode != JDITHER_NONE) - cinfo->dither_mode = JDITHER_FS; - - if (is_pre_scan) { - /* Set up method pointers */ - cquantize->pub.color_quantize = prescan_quantize; - cquantize->pub.finish_pass = finish_pass1; - cquantize->needs_zeroed = TRUE; /* Always zero histogram */ - } else { - /* Set up method pointers */ - if (cinfo->dither_mode == JDITHER_FS) - cquantize->pub.color_quantize = pass2_fs_dither; - else - cquantize->pub.color_quantize = pass2_no_dither; - cquantize->pub.finish_pass = finish_pass2; - - /* Make sure color count is acceptable */ - i = cinfo->actual_number_of_colors; - if (i < 1) - ERREXIT1(cinfo, JERR_QUANT_FEW_COLORS, 1); - if (i > MAXNUMCOLORS) - ERREXIT1(cinfo, JERR_QUANT_MANY_COLORS, MAXNUMCOLORS); - - if (cinfo->dither_mode == JDITHER_FS) { - size_t arraysize = (size_t) ((cinfo->output_width + 2) * - (3 * SIZEOF(FSERROR))); - /* Allocate Floyd-Steinberg workspace if we didn't already. */ - if (cquantize->fserrors == NULL) - cquantize->fserrors = (FSERRPTR) (*cinfo->mem->alloc_large) - ((j_common_ptr) cinfo, JPOOL_IMAGE, arraysize); - /* Initialize the propagated errors to zero. */ - jzero_far((void FAR *) cquantize->fserrors, arraysize); - /* Make the error-limit table if we didn't already. */ - if (cquantize->error_limiter == NULL) - init_error_limit(cinfo); - cquantize->on_odd_row = FALSE; - } - - } - /* Zero the histogram or inverse color map, if necessary */ - if (cquantize->needs_zeroed) { - for (i = 0; i < HIST_C0_ELEMS; i++) { - jzero_far((void FAR *) histogram[i], - HIST_C1_ELEMS*HIST_C2_ELEMS * SIZEOF(histcell)); - } - cquantize->needs_zeroed = FALSE; - } -} - - -/* - * Switch to a new external colormap between output passes. - */ - -METHODDEF(void) -new_color_map_2_quant (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; - - /* Reset the inverse color map */ - cquantize->needs_zeroed = TRUE; -} - - -/* - * Module initialization routine for 2-pass color quantization. - */ - -GLOBAL(void) -jinit_2pass_quantizer (j_decompress_ptr cinfo) -{ - my_cquantize_ptr cquantize; - int i; - - cquantize = (my_cquantize_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(my_cquantizer)); - cinfo->cquantize = (struct jpeg_color_quantizer *) cquantize; - cquantize->pub.start_pass = start_pass_2_quant; - cquantize->pub.new_color_map = new_color_map_2_quant; - cquantize->fserrors = NULL; /* flag optional arrays not allocated */ - cquantize->error_limiter = NULL; - - /* Make sure jdmaster didn't give me a case I can't handle */ - if (cinfo->out_color_components != 3) - ERREXIT(cinfo, JERR_NOTIMPL); - - /* Allocate the histogram/inverse colormap storage */ - cquantize->histogram = (hist3d) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, HIST_C0_ELEMS * SIZEOF(hist2d)); - for (i = 0; i < HIST_C0_ELEMS; i++) { - cquantize->histogram[i] = (hist2d) (*cinfo->mem->alloc_large) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - HIST_C1_ELEMS*HIST_C2_ELEMS * SIZEOF(histcell)); - } - cquantize->needs_zeroed = TRUE; /* histogram is garbage now */ - - /* Allocate storage for the completed colormap, if required. - * We do this now since it is FAR storage and may affect - * the memory manager's space calculations. - */ - if (cinfo->enable_2pass_quant) { - /* Make sure color count is acceptable */ - int desired = cinfo->desired_number_of_colors; - /* Lower bound on # of colors ... somewhat arbitrary as long as > 0 */ - if (desired < 8) - ERREXIT1(cinfo, JERR_QUANT_FEW_COLORS, 8); - /* Make sure colormap indexes can be represented by JSAMPLEs */ - if (desired > MAXNUMCOLORS) - ERREXIT1(cinfo, JERR_QUANT_MANY_COLORS, MAXNUMCOLORS); - cquantize->sv_colormap = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo,JPOOL_IMAGE, (JDIMENSION) desired, (JDIMENSION) 3); - cquantize->desired = desired; - } else - cquantize->sv_colormap = NULL; - - /* Only F-S dithering or no dithering is supported. */ - /* If user asks for ordered dither, give him F-S. */ - if (cinfo->dither_mode != JDITHER_NONE) - cinfo->dither_mode = JDITHER_FS; - - /* Allocate Floyd-Steinberg workspace if necessary. - * This isn't really needed until pass 2, but again it is FAR storage. - * Although we will cope with a later change in dither_mode, - * we do not promise to honor max_memory_to_use if dither_mode changes. - */ - if (cinfo->dither_mode == JDITHER_FS) { - cquantize->fserrors = (FSERRPTR) (*cinfo->mem->alloc_large) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (size_t) ((cinfo->output_width + 2) * (3 * SIZEOF(FSERROR)))); - /* Might as well create the error-limiting table too. */ - init_error_limit(cinfo); - } -} - -#endif /* QUANT_2PASS_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/jutils.c b/3rdparty/openctm/tools/jpeg/jutils.c deleted file mode 100644 index 286cda207..000000000 --- a/3rdparty/openctm/tools/jpeg/jutils.c +++ /dev/null @@ -1,179 +0,0 @@ -/* - * jutils.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains tables and miscellaneous utility routines needed - * for both compression and decompression. - * Note we prefix all global names with "j" to minimize conflicts with - * a surrounding application. - */ - -#define JPEG_INTERNALS -#include "jinclude.h" -#include "jpeglib.h" - - -/* - * jpeg_zigzag_order[i] is the zigzag-order position of the i'th element - * of a DCT block read in natural order (left to right, top to bottom). - */ - -#if 0 /* This table is not actually needed in v6a */ - -const int jpeg_zigzag_order[DCTSIZE2] = { - 0, 1, 5, 6, 14, 15, 27, 28, - 2, 4, 7, 13, 16, 26, 29, 42, - 3, 8, 12, 17, 25, 30, 41, 43, - 9, 11, 18, 24, 31, 40, 44, 53, - 10, 19, 23, 32, 39, 45, 52, 54, - 20, 22, 33, 38, 46, 51, 55, 60, - 21, 34, 37, 47, 50, 56, 59, 61, - 35, 36, 48, 49, 57, 58, 62, 63 -}; - -#endif - -/* - * jpeg_natural_order[i] is the natural-order position of the i'th element - * of zigzag order. - * - * When reading corrupted data, the Huffman decoders could attempt - * to reference an entry beyond the end of this array (if the decoded - * zero run length reaches past the end of the block). To prevent - * wild stores without adding an inner-loop test, we put some extra - * "63"s after the real entries. This will cause the extra coefficient - * to be stored in location 63 of the block, not somewhere random. - * The worst case would be a run-length of 15, which means we need 16 - * fake entries. - */ - -const int jpeg_natural_order[DCTSIZE2+16] = { - 0, 1, 8, 16, 9, 2, 3, 10, - 17, 24, 32, 25, 18, 11, 4, 5, - 12, 19, 26, 33, 40, 48, 41, 34, - 27, 20, 13, 6, 7, 14, 21, 28, - 35, 42, 49, 56, 57, 50, 43, 36, - 29, 22, 15, 23, 30, 37, 44, 51, - 58, 59, 52, 45, 38, 31, 39, 46, - 53, 60, 61, 54, 47, 55, 62, 63, - 63, 63, 63, 63, 63, 63, 63, 63, /* extra entries for safety in decoder */ - 63, 63, 63, 63, 63, 63, 63, 63 -}; - - -/* - * Arithmetic utilities - */ - -GLOBAL(long) -jdiv_round_up (long a, long b) -/* Compute a/b rounded up to next integer, ie, ceil(a/b) */ -/* Assumes a >= 0, b > 0 */ -{ - return (a + b - 1L) / b; -} - - -GLOBAL(long) -jround_up (long a, long b) -/* Compute a rounded up to next multiple of b, ie, ceil(a/b)*b */ -/* Assumes a >= 0, b > 0 */ -{ - a += b - 1L; - return a - (a % b); -} - - -/* On normal machines we can apply MEMCOPY() and MEMZERO() to sample arrays - * and coefficient-block arrays. This won't work on 80x86 because the arrays - * are FAR and we're assuming a small-pointer memory model. However, some - * DOS compilers provide far-pointer versions of memcpy() and memset() even - * in the small-model libraries. These will be used if USE_FMEM is defined. - * Otherwise, the routines below do it the hard way. (The performance cost - * is not all that great, because these routines aren't very heavily used.) - */ - -#ifndef NEED_FAR_POINTERS /* normal case, same as regular macros */ -#define FMEMCOPY(dest,src,size) MEMCOPY(dest,src,size) -#define FMEMZERO(target,size) MEMZERO(target,size) -#else /* 80x86 case, define if we can */ -#ifdef USE_FMEM -#define FMEMCOPY(dest,src,size) _fmemcpy((void FAR *)(dest), (const void FAR *)(src), (size_t)(size)) -#define FMEMZERO(target,size) _fmemset((void FAR *)(target), 0, (size_t)(size)) -#endif -#endif - - -GLOBAL(void) -jcopy_sample_rows (JSAMPARRAY input_array, int source_row, - JSAMPARRAY output_array, int dest_row, - int num_rows, JDIMENSION num_cols) -/* Copy some rows of samples from one place to another. - * num_rows rows are copied from input_array[source_row++] - * to output_array[dest_row++]; these areas may overlap for duplication. - * The source and destination arrays must be at least as wide as num_cols. - */ -{ - register JSAMPROW inptr, outptr; -#ifdef FMEMCOPY - register size_t count = (size_t) (num_cols * SIZEOF(JSAMPLE)); -#else - register JDIMENSION count; -#endif - register int row; - - input_array += source_row; - output_array += dest_row; - - for (row = num_rows; row > 0; row--) { - inptr = *input_array++; - outptr = *output_array++; -#ifdef FMEMCOPY - FMEMCOPY(outptr, inptr, count); -#else - for (count = num_cols; count > 0; count--) - *outptr++ = *inptr++; /* needn't bother with GETJSAMPLE() here */ -#endif - } -} - - -GLOBAL(void) -jcopy_block_row (JBLOCKROW input_row, JBLOCKROW output_row, - JDIMENSION num_blocks) -/* Copy a row of coefficient blocks from one place to another. */ -{ -#ifdef FMEMCOPY - FMEMCOPY(output_row, input_row, num_blocks * (DCTSIZE2 * SIZEOF(JCOEF))); -#else - register JCOEFPTR inptr, outptr; - register long count; - - inptr = (JCOEFPTR) input_row; - outptr = (JCOEFPTR) output_row; - for (count = (long) num_blocks * DCTSIZE2; count > 0; count--) { - *outptr++ = *inptr++; - } -#endif -} - - -GLOBAL(void) -jzero_far (void FAR * target, size_t bytestozero) -/* Zero out a chunk of FAR memory. */ -/* This might be sample-array data, block-array data, or alloc_large data. */ -{ -#ifdef FMEMZERO - FMEMZERO(target, bytestozero); -#else - register char FAR * ptr = (char FAR *) target; - register size_t count; - - for (count = bytestozero; count > 0; count--) { - *ptr++ = 0; - } -#endif -} diff --git a/3rdparty/openctm/tools/jpeg/jversion.h b/3rdparty/openctm/tools/jpeg/jversion.h deleted file mode 100644 index 3a7789f2d..000000000 --- a/3rdparty/openctm/tools/jpeg/jversion.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * jversion.h - * - * Copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains software version identification. - */ - - -#define JVERSION "7 27-Jun-2009" - -#define JCOPYRIGHT "Copyright (C) 2009, Thomas G. Lane, Guido Vollbeding" diff --git a/3rdparty/openctm/tools/jpeg/libjpeg.map b/3rdparty/openctm/tools/jpeg/libjpeg.map deleted file mode 100644 index 4c17a0609..000000000 --- a/3rdparty/openctm/tools/jpeg/libjpeg.map +++ /dev/null @@ -1,4 +0,0 @@ -LIBJPEG_7.0 { - global: - *; -}; diff --git a/3rdparty/openctm/tools/jpeg/libjpeg.txt b/3rdparty/openctm/tools/jpeg/libjpeg.txt deleted file mode 100644 index e9059c405..000000000 --- a/3rdparty/openctm/tools/jpeg/libjpeg.txt +++ /dev/null @@ -1,3067 +0,0 @@ -USING THE IJG JPEG LIBRARY - -Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding. -This file is part of the Independent JPEG Group's software. -For conditions of distribution and use, see the accompanying README file. - - -This file describes how to use the IJG JPEG library within an application -program. Read it if you want to write a program that uses the library. - -The file example.c provides heavily commented skeleton code for calling the -JPEG library. Also see jpeglib.h (the include file to be used by application -programs) for full details about data structures and function parameter lists. -The library source code, of course, is the ultimate reference. - -Note that there have been *major* changes from the application interface -presented by IJG version 4 and earlier versions. The old design had several -inherent limitations, and it had accumulated a lot of cruft as we added -features while trying to minimize application-interface changes. We have -sacrificed backward compatibility in the version 5 rewrite, but we think the -improvements justify this. - - -TABLE OF CONTENTS ------------------ - -Overview: - Functions provided by the library - Outline of typical usage -Basic library usage: - Data formats - Compression details - Decompression details - Mechanics of usage: include files, linking, etc -Advanced features: - Compression parameter selection - Decompression parameter selection - Special color spaces - Error handling - Compressed data handling (source and destination managers) - I/O suspension - Progressive JPEG support - Buffered-image mode - Abbreviated datastreams and multiple images - Special markers - Raw (downsampled) image data - Really raw data: DCT coefficients - Progress monitoring - Memory management - Memory usage - Library compile-time options - Portability considerations - Notes for MS-DOS implementors - -You should read at least the overview and basic usage sections before trying -to program with the library. The sections on advanced features can be read -if and when you need them. - - -OVERVIEW -======== - -Functions provided by the library ---------------------------------- - -The IJG JPEG library provides C code to read and write JPEG-compressed image -files. The surrounding application program receives or supplies image data a -scanline at a time, using a straightforward uncompressed image format. All -details of color conversion and other preprocessing/postprocessing can be -handled by the library. - -The library includes a substantial amount of code that is not covered by the -JPEG standard but is necessary for typical applications of JPEG. These -functions preprocess the image before JPEG compression or postprocess it after -decompression. They include colorspace conversion, downsampling/upsampling, -and color quantization. The application indirectly selects use of this code -by specifying the format in which it wishes to supply or receive image data. -For example, if colormapped output is requested, then the decompression -library automatically invokes color quantization. - -A wide range of quality vs. speed tradeoffs are possible in JPEG processing, -and even more so in decompression postprocessing. The decompression library -provides multiple implementations that cover most of the useful tradeoffs, -ranging from very-high-quality down to fast-preview operation. On the -compression side we have generally not provided low-quality choices, since -compression is normally less time-critical. It should be understood that the -low-quality modes may not meet the JPEG standard's accuracy requirements; -nonetheless, they are useful for viewers. - -A word about functions *not* provided by the library. We handle a subset of -the ISO JPEG standard; most baseline, extended-sequential, and progressive -JPEG processes are supported. (Our subset includes all features now in common -use.) Unsupported ISO options include: - * Hierarchical storage - * Lossless JPEG - * DNL marker - * Nonintegral subsampling ratios -We support both 8- and 12-bit data precision, but this is a compile-time -choice rather than a run-time choice; hence it is difficult to use both -precisions in a single application. - -By itself, the library handles only interchange JPEG datastreams --- in -particular the widely used JFIF file format. The library can be used by -surrounding code to process interchange or abbreviated JPEG datastreams that -are embedded in more complex file formats. (For example, this library is -used by the free LIBTIFF library to support JPEG compression in TIFF.) - - -Outline of typical usage ------------------------- - -The rough outline of a JPEG compression operation is: - - Allocate and initialize a JPEG compression object - Specify the destination for the compressed data (eg, a file) - Set parameters for compression, including image size & colorspace - jpeg_start_compress(...); - while (scan lines remain to be written) - jpeg_write_scanlines(...); - jpeg_finish_compress(...); - Release the JPEG compression object - -A JPEG compression object holds parameters and working state for the JPEG -library. We make creation/destruction of the object separate from starting -or finishing compression of an image; the same object can be re-used for a -series of image compression operations. This makes it easy to re-use the -same parameter settings for a sequence of images. Re-use of a JPEG object -also has important implications for processing abbreviated JPEG datastreams, -as discussed later. - -The image data to be compressed is supplied to jpeg_write_scanlines() from -in-memory buffers. If the application is doing file-to-file compression, -reading image data from the source file is the application's responsibility. -The library emits compressed data by calling a "data destination manager", -which typically will write the data into a file; but the application can -provide its own destination manager to do something else. - -Similarly, the rough outline of a JPEG decompression operation is: - - Allocate and initialize a JPEG decompression object - Specify the source of the compressed data (eg, a file) - Call jpeg_read_header() to obtain image info - Set parameters for decompression - jpeg_start_decompress(...); - while (scan lines remain to be read) - jpeg_read_scanlines(...); - jpeg_finish_decompress(...); - Release the JPEG decompression object - -This is comparable to the compression outline except that reading the -datastream header is a separate step. This is helpful because information -about the image's size, colorspace, etc is available when the application -selects decompression parameters. For example, the application can choose an -output scaling ratio that will fit the image into the available screen size. - -The decompression library obtains compressed data by calling a data source -manager, which typically will read the data from a file; but other behaviors -can be obtained with a custom source manager. Decompressed data is delivered -into in-memory buffers passed to jpeg_read_scanlines(). - -It is possible to abort an incomplete compression or decompression operation -by calling jpeg_abort(); or, if you do not need to retain the JPEG object, -simply release it by calling jpeg_destroy(). - -JPEG compression and decompression objects are two separate struct types. -However, they share some common fields, and certain routines such as -jpeg_destroy() can work on either type of object. - -The JPEG library has no static variables: all state is in the compression -or decompression object. Therefore it is possible to process multiple -compression and decompression operations concurrently, using multiple JPEG -objects. - -Both compression and decompression can be done in an incremental memory-to- -memory fashion, if suitable source/destination managers are used. See the -section on "I/O suspension" for more details. - - -BASIC LIBRARY USAGE -=================== - -Data formats ------------- - -Before diving into procedural details, it is helpful to understand the -image data format that the JPEG library expects or returns. - -The standard input image format is a rectangular array of pixels, with each -pixel having the same number of "component" or "sample" values (color -channels). You must specify how many components there are and the colorspace -interpretation of the components. Most applications will use RGB data -(three components per pixel) or grayscale data (one component per pixel). -PLEASE NOTE THAT RGB DATA IS THREE SAMPLES PER PIXEL, GRAYSCALE ONLY ONE. -A remarkable number of people manage to miss this, only to find that their -programs don't work with grayscale JPEG files. - -There is no provision for colormapped input. JPEG files are always full-color -or full grayscale (or sometimes another colorspace such as CMYK). You can -feed in a colormapped image by expanding it to full-color format. However -JPEG often doesn't work very well with source data that has been colormapped, -because of dithering noise. This is discussed in more detail in the JPEG FAQ -and the other references mentioned in the README file. - -Pixels are stored by scanlines, with each scanline running from left to -right. The component values for each pixel are adjacent in the row; for -example, R,G,B,R,G,B,R,G,B,... for 24-bit RGB color. Each scanline is an -array of data type JSAMPLE --- which is typically "unsigned char", unless -you've changed jmorecfg.h. (You can also change the RGB pixel layout, say -to B,G,R order, by modifying jmorecfg.h. But see the restrictions listed in -that file before doing so.) - -A 2-D array of pixels is formed by making a list of pointers to the starts of -scanlines; so the scanlines need not be physically adjacent in memory. Even -if you process just one scanline at a time, you must make a one-element -pointer array to conform to this structure. Pointers to JSAMPLE rows are of -type JSAMPROW, and the pointer to the pointer array is of type JSAMPARRAY. - -The library accepts or supplies one or more complete scanlines per call. -It is not possible to process part of a row at a time. Scanlines are always -processed top-to-bottom. You can process an entire image in one call if you -have it all in memory, but usually it's simplest to process one scanline at -a time. - -For best results, source data values should have the precision specified by -BITS_IN_JSAMPLE (normally 8 bits). For instance, if you choose to compress -data that's only 6 bits/channel, you should left-justify each value in a -byte before passing it to the compressor. If you need to compress data -that has more than 8 bits/channel, compile with BITS_IN_JSAMPLE = 12. -(See "Library compile-time options", later.) - - -The data format returned by the decompressor is the same in all details, -except that colormapped output is supported. (Again, a JPEG file is never -colormapped. But you can ask the decompressor to perform on-the-fly color -quantization to deliver colormapped output.) If you request colormapped -output then the returned data array contains a single JSAMPLE per pixel; -its value is an index into a color map. The color map is represented as -a 2-D JSAMPARRAY in which each row holds the values of one color component, -that is, colormap[i][j] is the value of the i'th color component for pixel -value (map index) j. Note that since the colormap indexes are stored in -JSAMPLEs, the maximum number of colors is limited by the size of JSAMPLE -(ie, at most 256 colors for an 8-bit JPEG library). - - -Compression details -------------------- - -Here we revisit the JPEG compression outline given in the overview. - -1. Allocate and initialize a JPEG compression object. - -A JPEG compression object is a "struct jpeg_compress_struct". (It also has -a bunch of subsidiary structures which are allocated via malloc(), but the -application doesn't control those directly.) This struct can be just a local -variable in the calling routine, if a single routine is going to execute the -whole JPEG compression sequence. Otherwise it can be static or allocated -from malloc(). - -You will also need a structure representing a JPEG error handler. The part -of this that the library cares about is a "struct jpeg_error_mgr". If you -are providing your own error handler, you'll typically want to embed the -jpeg_error_mgr struct in a larger structure; this is discussed later under -"Error handling". For now we'll assume you are just using the default error -handler. The default error handler will print JPEG error/warning messages -on stderr, and it will call exit() if a fatal error occurs. - -You must initialize the error handler structure, store a pointer to it into -the JPEG object's "err" field, and then call jpeg_create_compress() to -initialize the rest of the JPEG object. - -Typical code for this step, if you are using the default error handler, is - - struct jpeg_compress_struct cinfo; - struct jpeg_error_mgr jerr; - ... - cinfo.err = jpeg_std_error(&jerr); - jpeg_create_compress(&cinfo); - -jpeg_create_compress allocates a small amount of memory, so it could fail -if you are out of memory. In that case it will exit via the error handler; -that's why the error handler must be initialized first. - - -2. Specify the destination for the compressed data (eg, a file). - -As previously mentioned, the JPEG library delivers compressed data to a -"data destination" module. The library includes one data destination -module which knows how to write to a stdio stream. You can use your own -destination module if you want to do something else, as discussed later. - -If you use the standard destination module, you must open the target stdio -stream beforehand. Typical code for this step looks like: - - FILE * outfile; - ... - if ((outfile = fopen(filename, "wb")) == NULL) { - fprintf(stderr, "can't open %s\n", filename); - exit(1); - } - jpeg_stdio_dest(&cinfo, outfile); - -where the last line invokes the standard destination module. - -WARNING: it is critical that the binary compressed data be delivered to the -output file unchanged. On non-Unix systems the stdio library may perform -newline translation or otherwise corrupt binary data. To suppress this -behavior, you may need to use a "b" option to fopen (as shown above), or use -setmode() or another routine to put the stdio stream in binary mode. See -cjpeg.c and djpeg.c for code that has been found to work on many systems. - -You can select the data destination after setting other parameters (step 3), -if that's more convenient. You may not change the destination between -calling jpeg_start_compress() and jpeg_finish_compress(). - - -3. Set parameters for compression, including image size & colorspace. - -You must supply information about the source image by setting the following -fields in the JPEG object (cinfo structure): - - image_width Width of image, in pixels - image_height Height of image, in pixels - input_components Number of color channels (samples per pixel) - in_color_space Color space of source image - -The image dimensions are, hopefully, obvious. JPEG supports image dimensions -of 1 to 64K pixels in either direction. The input color space is typically -RGB or grayscale, and input_components is 3 or 1 accordingly. (See "Special -color spaces", later, for more info.) The in_color_space field must be -assigned one of the J_COLOR_SPACE enum constants, typically JCS_RGB or -JCS_GRAYSCALE. - -JPEG has a large number of compression parameters that determine how the -image is encoded. Most applications don't need or want to know about all -these parameters. You can set all the parameters to reasonable defaults by -calling jpeg_set_defaults(); then, if there are particular values you want -to change, you can do so after that. The "Compression parameter selection" -section tells about all the parameters. - -You must set in_color_space correctly before calling jpeg_set_defaults(), -because the defaults depend on the source image colorspace. However the -other three source image parameters need not be valid until you call -jpeg_start_compress(). There's no harm in calling jpeg_set_defaults() more -than once, if that happens to be convenient. - -Typical code for a 24-bit RGB source image is - - cinfo.image_width = Width; /* image width and height, in pixels */ - cinfo.image_height = Height; - cinfo.input_components = 3; /* # of color components per pixel */ - cinfo.in_color_space = JCS_RGB; /* colorspace of input image */ - - jpeg_set_defaults(&cinfo); - /* Make optional parameter settings here */ - - -4. jpeg_start_compress(...); - -After you have established the data destination and set all the necessary -source image info and other parameters, call jpeg_start_compress() to begin -a compression cycle. This will initialize internal state, allocate working -storage, and emit the first few bytes of the JPEG datastream header. - -Typical code: - - jpeg_start_compress(&cinfo, TRUE); - -The "TRUE" parameter ensures that a complete JPEG interchange datastream -will be written. This is appropriate in most cases. If you think you might -want to use an abbreviated datastream, read the section on abbreviated -datastreams, below. - -Once you have called jpeg_start_compress(), you may not alter any JPEG -parameters or other fields of the JPEG object until you have completed -the compression cycle. - - -5. while (scan lines remain to be written) - jpeg_write_scanlines(...); - -Now write all the required image data by calling jpeg_write_scanlines() -one or more times. You can pass one or more scanlines in each call, up -to the total image height. In most applications it is convenient to pass -just one or a few scanlines at a time. The expected format for the passed -data is discussed under "Data formats", above. - -Image data should be written in top-to-bottom scanline order. The JPEG spec -contains some weasel wording about how top and bottom are application-defined -terms (a curious interpretation of the English language...) but if you want -your files to be compatible with everyone else's, you WILL use top-to-bottom -order. If the source data must be read in bottom-to-top order, you can use -the JPEG library's virtual array mechanism to invert the data efficiently. -Examples of this can be found in the sample application cjpeg. - -The library maintains a count of the number of scanlines written so far -in the next_scanline field of the JPEG object. Usually you can just use -this variable as the loop counter, so that the loop test looks like -"while (cinfo.next_scanline < cinfo.image_height)". - -Code for this step depends heavily on the way that you store the source data. -example.c shows the following code for the case of a full-size 2-D source -array containing 3-byte RGB pixels: - - JSAMPROW row_pointer[1]; /* pointer to a single row */ - int row_stride; /* physical row width in buffer */ - - row_stride = image_width * 3; /* JSAMPLEs per row in image_buffer */ - - while (cinfo.next_scanline < cinfo.image_height) { - row_pointer[0] = & image_buffer[cinfo.next_scanline * row_stride]; - jpeg_write_scanlines(&cinfo, row_pointer, 1); - } - -jpeg_write_scanlines() returns the number of scanlines actually written. -This will normally be equal to the number passed in, so you can usually -ignore the return value. It is different in just two cases: - * If you try to write more scanlines than the declared image height, - the additional scanlines are ignored. - * If you use a suspending data destination manager, output buffer overrun - will cause the compressor to return before accepting all the passed lines. - This feature is discussed under "I/O suspension", below. The normal - stdio destination manager will NOT cause this to happen. -In any case, the return value is the same as the change in the value of -next_scanline. - - -6. jpeg_finish_compress(...); - -After all the image data has been written, call jpeg_finish_compress() to -complete the compression cycle. This step is ESSENTIAL to ensure that the -last bufferload of data is written to the data destination. -jpeg_finish_compress() also releases working memory associated with the JPEG -object. - -Typical code: - - jpeg_finish_compress(&cinfo); - -If using the stdio destination manager, don't forget to close the output -stdio stream (if necessary) afterwards. - -If you have requested a multi-pass operating mode, such as Huffman code -optimization, jpeg_finish_compress() will perform the additional passes using -data buffered by the first pass. In this case jpeg_finish_compress() may take -quite a while to complete. With the default compression parameters, this will -not happen. - -It is an error to call jpeg_finish_compress() before writing the necessary -total number of scanlines. If you wish to abort compression, call -jpeg_abort() as discussed below. - -After completing a compression cycle, you may dispose of the JPEG object -as discussed next, or you may use it to compress another image. In that case -return to step 2, 3, or 4 as appropriate. If you do not change the -destination manager, the new datastream will be written to the same target. -If you do not change any JPEG parameters, the new datastream will be written -with the same parameters as before. Note that you can change the input image -dimensions freely between cycles, but if you change the input colorspace, you -should call jpeg_set_defaults() to adjust for the new colorspace; and then -you'll need to repeat all of step 3. - - -7. Release the JPEG compression object. - -When you are done with a JPEG compression object, destroy it by calling -jpeg_destroy_compress(). This will free all subsidiary memory (regardless of -the previous state of the object). Or you can call jpeg_destroy(), which -works for either compression or decompression objects --- this may be more -convenient if you are sharing code between compression and decompression -cases. (Actually, these routines are equivalent except for the declared type -of the passed pointer. To avoid gripes from ANSI C compilers, jpeg_destroy() -should be passed a j_common_ptr.) - -If you allocated the jpeg_compress_struct structure from malloc(), freeing -it is your responsibility --- jpeg_destroy() won't. Ditto for the error -handler structure. - -Typical code: - - jpeg_destroy_compress(&cinfo); - - -8. Aborting. - -If you decide to abort a compression cycle before finishing, you can clean up -in either of two ways: - -* If you don't need the JPEG object any more, just call - jpeg_destroy_compress() or jpeg_destroy() to release memory. This is - legitimate at any point after calling jpeg_create_compress() --- in fact, - it's safe even if jpeg_create_compress() fails. - -* If you want to re-use the JPEG object, call jpeg_abort_compress(), or call - jpeg_abort() which works on both compression and decompression objects. - This will return the object to an idle state, releasing any working memory. - jpeg_abort() is allowed at any time after successful object creation. - -Note that cleaning up the data destination, if required, is your -responsibility; neither of these routines will call term_destination(). -(See "Compressed data handling", below, for more about that.) - -jpeg_destroy() and jpeg_abort() are the only safe calls to make on a JPEG -object that has reported an error by calling error_exit (see "Error handling" -for more info). The internal state of such an object is likely to be out of -whack. Either of these two routines will return the object to a known state. - - -Decompression details ---------------------- - -Here we revisit the JPEG decompression outline given in the overview. - -1. Allocate and initialize a JPEG decompression object. - -This is just like initialization for compression, as discussed above, -except that the object is a "struct jpeg_decompress_struct" and you -call jpeg_create_decompress(). Error handling is exactly the same. - -Typical code: - - struct jpeg_decompress_struct cinfo; - struct jpeg_error_mgr jerr; - ... - cinfo.err = jpeg_std_error(&jerr); - jpeg_create_decompress(&cinfo); - -(Both here and in the IJG code, we usually use variable name "cinfo" for -both compression and decompression objects.) - - -2. Specify the source of the compressed data (eg, a file). - -As previously mentioned, the JPEG library reads compressed data from a "data -source" module. The library includes one data source module which knows how -to read from a stdio stream. You can use your own source module if you want -to do something else, as discussed later. - -If you use the standard source module, you must open the source stdio stream -beforehand. Typical code for this step looks like: - - FILE * infile; - ... - if ((infile = fopen(filename, "rb")) == NULL) { - fprintf(stderr, "can't open %s\n", filename); - exit(1); - } - jpeg_stdio_src(&cinfo, infile); - -where the last line invokes the standard source module. - -WARNING: it is critical that the binary compressed data be read unchanged. -On non-Unix systems the stdio library may perform newline translation or -otherwise corrupt binary data. To suppress this behavior, you may need to use -a "b" option to fopen (as shown above), or use setmode() or another routine to -put the stdio stream in binary mode. See cjpeg.c and djpeg.c for code that -has been found to work on many systems. - -You may not change the data source between calling jpeg_read_header() and -jpeg_finish_decompress(). If you wish to read a series of JPEG images from -a single source file, you should repeat the jpeg_read_header() to -jpeg_finish_decompress() sequence without reinitializing either the JPEG -object or the data source module; this prevents buffered input data from -being discarded. - - -3. Call jpeg_read_header() to obtain image info. - -Typical code for this step is just - - jpeg_read_header(&cinfo, TRUE); - -This will read the source datastream header markers, up to the beginning -of the compressed data proper. On return, the image dimensions and other -info have been stored in the JPEG object. The application may wish to -consult this information before selecting decompression parameters. - -More complex code is necessary if - * A suspending data source is used --- in that case jpeg_read_header() - may return before it has read all the header data. See "I/O suspension", - below. The normal stdio source manager will NOT cause this to happen. - * Abbreviated JPEG files are to be processed --- see the section on - abbreviated datastreams. Standard applications that deal only in - interchange JPEG files need not be concerned with this case either. - -It is permissible to stop at this point if you just wanted to find out the -image dimensions and other header info for a JPEG file. In that case, -call jpeg_destroy() when you are done with the JPEG object, or call -jpeg_abort() to return it to an idle state before selecting a new data -source and reading another header. - - -4. Set parameters for decompression. - -jpeg_read_header() sets appropriate default decompression parameters based on -the properties of the image (in particular, its colorspace). However, you -may well want to alter these defaults before beginning the decompression. -For example, the default is to produce full color output from a color file. -If you want colormapped output you must ask for it. Other options allow the -returned image to be scaled and allow various speed/quality tradeoffs to be -selected. "Decompression parameter selection", below, gives details. - -If the defaults are appropriate, nothing need be done at this step. - -Note that all default values are set by each call to jpeg_read_header(). -If you reuse a decompression object, you cannot expect your parameter -settings to be preserved across cycles, as you can for compression. -You must set desired parameter values each time. - - -5. jpeg_start_decompress(...); - -Once the parameter values are satisfactory, call jpeg_start_decompress() to -begin decompression. This will initialize internal state, allocate working -memory, and prepare for returning data. - -Typical code is just - - jpeg_start_decompress(&cinfo); - -If you have requested a multi-pass operating mode, such as 2-pass color -quantization, jpeg_start_decompress() will do everything needed before data -output can begin. In this case jpeg_start_decompress() may take quite a while -to complete. With a single-scan (non progressive) JPEG file and default -decompression parameters, this will not happen; jpeg_start_decompress() will -return quickly. - -After this call, the final output image dimensions, including any requested -scaling, are available in the JPEG object; so is the selected colormap, if -colormapped output has been requested. Useful fields include - - output_width image width and height, as scaled - output_height - out_color_components # of color components in out_color_space - output_components # of color components returned per pixel - colormap the selected colormap, if any - actual_number_of_colors number of entries in colormap - -output_components is 1 (a colormap index) when quantizing colors; otherwise it -equals out_color_components. It is the number of JSAMPLE values that will be -emitted per pixel in the output arrays. - -Typically you will need to allocate data buffers to hold the incoming image. -You will need output_width * output_components JSAMPLEs per scanline in your -output buffer, and a total of output_height scanlines will be returned. - -Note: if you are using the JPEG library's internal memory manager to allocate -data buffers (as djpeg does), then the manager's protocol requires that you -request large buffers *before* calling jpeg_start_decompress(). This is a -little tricky since the output_XXX fields are not normally valid then. You -can make them valid by calling jpeg_calc_output_dimensions() after setting the -relevant parameters (scaling, output color space, and quantization flag). - - -6. while (scan lines remain to be read) - jpeg_read_scanlines(...); - -Now you can read the decompressed image data by calling jpeg_read_scanlines() -one or more times. At each call, you pass in the maximum number of scanlines -to be read (ie, the height of your working buffer); jpeg_read_scanlines() -will return up to that many lines. The return value is the number of lines -actually read. The format of the returned data is discussed under "Data -formats", above. Don't forget that grayscale and color JPEGs will return -different data formats! - -Image data is returned in top-to-bottom scanline order. If you must write -out the image in bottom-to-top order, you can use the JPEG library's virtual -array mechanism to invert the data efficiently. Examples of this can be -found in the sample application djpeg. - -The library maintains a count of the number of scanlines returned so far -in the output_scanline field of the JPEG object. Usually you can just use -this variable as the loop counter, so that the loop test looks like -"while (cinfo.output_scanline < cinfo.output_height)". (Note that the test -should NOT be against image_height, unless you never use scaling. The -image_height field is the height of the original unscaled image.) -The return value always equals the change in the value of output_scanline. - -If you don't use a suspending data source, it is safe to assume that -jpeg_read_scanlines() reads at least one scanline per call, until the -bottom of the image has been reached. - -If you use a buffer larger than one scanline, it is NOT safe to assume that -jpeg_read_scanlines() fills it. (The current implementation returns only a -few scanlines per call, no matter how large a buffer you pass.) So you must -always provide a loop that calls jpeg_read_scanlines() repeatedly until the -whole image has been read. - - -7. jpeg_finish_decompress(...); - -After all the image data has been read, call jpeg_finish_decompress() to -complete the decompression cycle. This causes working memory associated -with the JPEG object to be released. - -Typical code: - - jpeg_finish_decompress(&cinfo); - -If using the stdio source manager, don't forget to close the source stdio -stream if necessary. - -It is an error to call jpeg_finish_decompress() before reading the correct -total number of scanlines. If you wish to abort decompression, call -jpeg_abort() as discussed below. - -After completing a decompression cycle, you may dispose of the JPEG object as -discussed next, or you may use it to decompress another image. In that case -return to step 2 or 3 as appropriate. If you do not change the source -manager, the next image will be read from the same source. - - -8. Release the JPEG decompression object. - -When you are done with a JPEG decompression object, destroy it by calling -jpeg_destroy_decompress() or jpeg_destroy(). The previous discussion of -destroying compression objects applies here too. - -Typical code: - - jpeg_destroy_decompress(&cinfo); - - -9. Aborting. - -You can abort a decompression cycle by calling jpeg_destroy_decompress() or -jpeg_destroy() if you don't need the JPEG object any more, or -jpeg_abort_decompress() or jpeg_abort() if you want to reuse the object. -The previous discussion of aborting compression cycles applies here too. - - -Mechanics of usage: include files, linking, etc ------------------------------------------------ - -Applications using the JPEG library should include the header file jpeglib.h -to obtain declarations of data types and routines. Before including -jpeglib.h, include system headers that define at least the typedefs FILE and -size_t. On ANSI-conforming systems, including is sufficient; on -older Unix systems, you may need to define size_t. - -If the application needs to refer to individual JPEG library error codes, also -include jerror.h to define those symbols. - -jpeglib.h indirectly includes the files jconfig.h and jmorecfg.h. If you are -installing the JPEG header files in a system directory, you will want to -install all four files: jpeglib.h, jerror.h, jconfig.h, jmorecfg.h. - -The most convenient way to include the JPEG code into your executable program -is to prepare a library file ("libjpeg.a", or a corresponding name on non-Unix -machines) and reference it at your link step. If you use only half of the -library (only compression or only decompression), only that much code will be -included from the library, unless your linker is hopelessly brain-damaged. -The supplied makefiles build libjpeg.a automatically (see install.txt). - -While you can build the JPEG library as a shared library if the whim strikes -you, we don't really recommend it. The trouble with shared libraries is that -at some point you'll probably try to substitute a new version of the library -without recompiling the calling applications. That generally doesn't work -because the parameter struct declarations usually change with each new -version. In other words, the library's API is *not* guaranteed binary -compatible across versions; we only try to ensure source-code compatibility. -(In hindsight, it might have been smarter to hide the parameter structs from -applications and introduce a ton of access functions instead. Too late now, -however.) - -On some systems your application may need to set up a signal handler to ensure -that temporary files are deleted if the program is interrupted. This is most -critical if you are on MS-DOS and use the jmemdos.c memory manager back end; -it will try to grab extended memory for temp files, and that space will NOT be -freed automatically. See cjpeg.c or djpeg.c for an example signal handler. - -It may be worth pointing out that the core JPEG library does not actually -require the stdio library: only the default source/destination managers and -error handler need it. You can use the library in a stdio-less environment -if you replace those modules and use jmemnobs.c (or another memory manager of -your own devising). More info about the minimum system library requirements -may be found in jinclude.h. - - -ADVANCED FEATURES -================= - -Compression parameter selection -------------------------------- - -This section describes all the optional parameters you can set for JPEG -compression, as well as the "helper" routines provided to assist in this -task. Proper setting of some parameters requires detailed understanding -of the JPEG standard; if you don't know what a parameter is for, it's best -not to mess with it! See REFERENCES in the README file for pointers to -more info about JPEG. - -It's a good idea to call jpeg_set_defaults() first, even if you plan to set -all the parameters; that way your code is more likely to work with future JPEG -libraries that have additional parameters. For the same reason, we recommend -you use a helper routine where one is provided, in preference to twiddling -cinfo fields directly. - -The helper routines are: - -jpeg_set_defaults (j_compress_ptr cinfo) - This routine sets all JPEG parameters to reasonable defaults, using - only the input image's color space (field in_color_space, which must - already be set in cinfo). Many applications will only need to use - this routine and perhaps jpeg_set_quality(). - -jpeg_set_colorspace (j_compress_ptr cinfo, J_COLOR_SPACE colorspace) - Sets the JPEG file's colorspace (field jpeg_color_space) as specified, - and sets other color-space-dependent parameters appropriately. See - "Special color spaces", below, before using this. A large number of - parameters, including all per-component parameters, are set by this - routine; if you want to twiddle individual parameters you should call - jpeg_set_colorspace() before rather than after. - -jpeg_default_colorspace (j_compress_ptr cinfo) - Selects an appropriate JPEG colorspace based on cinfo->in_color_space, - and calls jpeg_set_colorspace(). This is actually a subroutine of - jpeg_set_defaults(). It's broken out in case you want to change - just the colorspace-dependent JPEG parameters. - -jpeg_set_quality (j_compress_ptr cinfo, int quality, boolean force_baseline) - Constructs JPEG quantization tables appropriate for the indicated - quality setting. The quality value is expressed on the 0..100 scale - recommended by IJG (cjpeg's "-quality" switch uses this routine). - Note that the exact mapping from quality values to tables may change - in future IJG releases as more is learned about DCT quantization. - If the force_baseline parameter is TRUE, then the quantization table - entries are constrained to the range 1..255 for full JPEG baseline - compatibility. In the current implementation, this only makes a - difference for quality settings below 25, and it effectively prevents - very small/low quality files from being generated. The IJG decoder - is capable of reading the non-baseline files generated at low quality - settings when force_baseline is FALSE, but other decoders may not be. - -jpeg_set_linear_quality (j_compress_ptr cinfo, int scale_factor, - boolean force_baseline) - Same as jpeg_set_quality() except that the generated tables are the - sample tables given in the JPEC spec section K.1, multiplied by the - specified scale factor (which is expressed as a percentage; thus - scale_factor = 100 reproduces the spec's tables). Note that larger - scale factors give lower quality. This entry point is useful for - conforming to the Adobe PostScript DCT conventions, but we do not - recommend linear scaling as a user-visible quality scale otherwise. - force_baseline again constrains the computed table entries to 1..255. - -int jpeg_quality_scaling (int quality) - Converts a value on the IJG-recommended quality scale to a linear - scaling percentage. Note that this routine may change or go away - in future releases --- IJG may choose to adopt a scaling method that - can't be expressed as a simple scalar multiplier, in which case the - premise of this routine collapses. Caveat user. - -jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline) - Set default quantization tables with linear q_scale_factor[] values - (see below). - -jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, boolean force_baseline) - Allows an arbitrary quantization table to be created. which_tbl - indicates which table slot to fill. basic_table points to an array - of 64 unsigned ints given in normal array order. These values are - multiplied by scale_factor/100 and then clamped to the range 1..65535 - (or to 1..255 if force_baseline is TRUE). - CAUTION: prior to library version 6a, jpeg_add_quant_table expected - the basic table to be given in JPEG zigzag order. If you need to - write code that works with either older or newer versions of this - routine, you must check the library version number. Something like - "#if JPEG_LIB_VERSION >= 61" is the right test. - -jpeg_simple_progression (j_compress_ptr cinfo) - Generates a default scan script for writing a progressive-JPEG file. - This is the recommended method of creating a progressive file, - unless you want to make a custom scan sequence. You must ensure that - the JPEG color space is set correctly before calling this routine. - - -Compression parameters (cinfo fields) include: - -J_DCT_METHOD dct_method - Selects the algorithm used for the DCT step. Choices are: - JDCT_ISLOW: slow but accurate integer algorithm - JDCT_IFAST: faster, less accurate integer method - JDCT_FLOAT: floating-point method - JDCT_DEFAULT: default method (normally JDCT_ISLOW) - JDCT_FASTEST: fastest method (normally JDCT_IFAST) - The FLOAT method is very slightly more accurate than the ISLOW method, - but may give different results on different machines due to varying - roundoff behavior. The integer methods should give the same results - on all machines. On machines with sufficiently fast FP hardware, the - floating-point method may also be the fastest. The IFAST method is - considerably less accurate than the other two; its use is not - recommended if high quality is a concern. JDCT_DEFAULT and - JDCT_FASTEST are macros configurable by each installation. - -unsigned int scale_num, scale_denom - Scale the image by the fraction scale_num/scale_denom. Default is - 1/1, or no scaling. Currently, the supported scaling ratios are - 8/N with all N from 1 to 16. (The library design allows for arbitrary - scaling ratios but this is not likely to be implemented any time soon.) - -J_COLOR_SPACE jpeg_color_space -int num_components - The JPEG color space and corresponding number of components; see - "Special color spaces", below, for more info. We recommend using - jpeg_set_color_space() if you want to change these. - -boolean optimize_coding - TRUE causes the compressor to compute optimal Huffman coding tables - for the image. This requires an extra pass over the data and - therefore costs a good deal of space and time. The default is - FALSE, which tells the compressor to use the supplied or default - Huffman tables. In most cases optimal tables save only a few percent - of file size compared to the default tables. Note that when this is - TRUE, you need not supply Huffman tables at all, and any you do - supply will be overwritten. - -unsigned int restart_interval -int restart_in_rows - To emit restart markers in the JPEG file, set one of these nonzero. - Set restart_interval to specify the exact interval in MCU blocks. - Set restart_in_rows to specify the interval in MCU rows. (If - restart_in_rows is not 0, then restart_interval is set after the - image width in MCUs is computed.) Defaults are zero (no restarts). - One restart marker per MCU row is often a good choice. - NOTE: the overhead of restart markers is higher in grayscale JPEG - files than in color files, and MUCH higher in progressive JPEGs. - If you use restarts, you may want to use larger intervals in those - cases. - -const jpeg_scan_info * scan_info -int num_scans - By default, scan_info is NULL; this causes the compressor to write a - single-scan sequential JPEG file. If not NULL, scan_info points to - an array of scan definition records of length num_scans. The - compressor will then write a JPEG file having one scan for each scan - definition record. This is used to generate noninterleaved or - progressive JPEG files. The library checks that the scan array - defines a valid JPEG scan sequence. (jpeg_simple_progression creates - a suitable scan definition array for progressive JPEG.) This is - discussed further under "Progressive JPEG support". - -boolean do_fancy_downsampling - If TRUE, use direct DCT scaling with DCT size > 8 for downsampling - of chroma components. - If FALSE, use only DCT size <= 8 and simple separate downsampling. - Default is TRUE. - For better image stability in multiple generation compression cycles - it is preferable that this value matches the corresponding - do_fancy_upsampling value in decompression. - -int smoothing_factor - If non-zero, the input image is smoothed; the value should be 1 for - minimal smoothing to 100 for maximum smoothing. Consult jcsample.c - for details of the smoothing algorithm. The default is zero. - -boolean write_JFIF_header - If TRUE, a JFIF APP0 marker is emitted. jpeg_set_defaults() and - jpeg_set_colorspace() set this TRUE if a JFIF-legal JPEG color space - (ie, YCbCr or grayscale) is selected, otherwise FALSE. - -UINT8 JFIF_major_version -UINT8 JFIF_minor_version - The version number to be written into the JFIF marker. - jpeg_set_defaults() initializes the version to 1.01 (major=minor=1). - You should set it to 1.02 (major=1, minor=2) if you plan to write - any JFIF 1.02 extension markers. - -UINT8 density_unit -UINT16 X_density -UINT16 Y_density - The resolution information to be written into the JFIF marker; - not used otherwise. density_unit may be 0 for unknown, - 1 for dots/inch, or 2 for dots/cm. The default values are 0,1,1 - indicating square pixels of unknown size. - -boolean write_Adobe_marker - If TRUE, an Adobe APP14 marker is emitted. jpeg_set_defaults() and - jpeg_set_colorspace() set this TRUE if JPEG color space RGB, CMYK, - or YCCK is selected, otherwise FALSE. It is generally a bad idea - to set both write_JFIF_header and write_Adobe_marker. In fact, - you probably shouldn't change the default settings at all --- the - default behavior ensures that the JPEG file's color space can be - recognized by the decoder. - -JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS] - Pointers to coefficient quantization tables, one per table slot, - or NULL if no table is defined for a slot. Usually these should - be set via one of the above helper routines; jpeg_add_quant_table() - is general enough to define any quantization table. The other - routines will set up table slot 0 for luminance quality and table - slot 1 for chrominance. - -int q_scale_factor[NUM_QUANT_TBLS] - Linear quantization scaling factors (percentage, initialized 100) - for use with jpeg_default_qtables(). - See rdswitch.c and cjpeg.c for an example of usage. - Note that the q_scale_factor[] fields are the "linear" scales, so you - have to convert from user-defined ratings via jpeg_quality_scaling(). - Here is an example code which corresponds to cjpeg -quality 90,70: - - jpeg_set_defaults(cinfo); - - /* Set luminance quality 90. */ - cinfo->q_scale_factor[0] = jpeg_quality_scaling(90); - /* Set chrominance quality 70. */ - cinfo->q_scale_factor[1] = jpeg_quality_scaling(70); - - jpeg_default_qtables(cinfo, force_baseline); - - CAUTION: You must also set 1x1 subsampling for efficient separate - color quality selection, since the default value used by library - is 2x2: - - cinfo->comp_info[0].v_samp_factor = 1; - cinfo->comp_info[0].h_samp_factor = 1; - -JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS] -JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS] - Pointers to Huffman coding tables, one per table slot, or NULL if - no table is defined for a slot. Slots 0 and 1 are filled with the - JPEG sample tables by jpeg_set_defaults(). If you need to allocate - more table structures, jpeg_alloc_huff_table() may be used. - Note that optimal Huffman tables can be computed for an image - by setting optimize_coding, as discussed above; there's seldom - any need to mess with providing your own Huffman tables. - - -The actual dimensions of the JPEG image that will be written to the file are -given by the following fields. These are computed from the input image -dimensions and the compression parameters by jpeg_start_compress(). You can -also call jpeg_calc_jpeg_dimensions() to obtain the values that will result -from the current parameter settings. This can be useful if you are trying -to pick a scaling ratio that will get close to a desired target size. - -JDIMENSION jpeg_width Actual dimensions of output image. -JDIMENSION jpeg_height - - -Per-component parameters are stored in the struct cinfo.comp_info[i] for -component number i. Note that components here refer to components of the -JPEG color space, *not* the source image color space. A suitably large -comp_info[] array is allocated by jpeg_set_defaults(); if you choose not -to use that routine, it's up to you to allocate the array. - -int component_id - The one-byte identifier code to be recorded in the JPEG file for - this component. For the standard color spaces, we recommend you - leave the default values alone. - -int h_samp_factor -int v_samp_factor - Horizontal and vertical sampling factors for the component; must - be 1..4 according to the JPEG standard. Note that larger sampling - factors indicate a higher-resolution component; many people find - this behavior quite unintuitive. The default values are 2,2 for - luminance components and 1,1 for chrominance components, except - for grayscale where 1,1 is used. - -int quant_tbl_no - Quantization table number for component. The default value is - 0 for luminance components and 1 for chrominance components. - -int dc_tbl_no -int ac_tbl_no - DC and AC entropy coding table numbers. The default values are - 0 for luminance components and 1 for chrominance components. - -int component_index - Must equal the component's index in comp_info[]. (Beginning in - release v6, the compressor library will fill this in automatically; - you don't have to.) - - -Decompression parameter selection ---------------------------------- - -Decompression parameter selection is somewhat simpler than compression -parameter selection, since all of the JPEG internal parameters are -recorded in the source file and need not be supplied by the application. -(Unless you are working with abbreviated files, in which case see -"Abbreviated datastreams", below.) Decompression parameters control -the postprocessing done on the image to deliver it in a format suitable -for the application's use. Many of the parameters control speed/quality -tradeoffs, in which faster decompression may be obtained at the price of -a poorer-quality image. The defaults select the highest quality (slowest) -processing. - -The following fields in the JPEG object are set by jpeg_read_header() and -may be useful to the application in choosing decompression parameters: - -JDIMENSION image_width Width and height of image -JDIMENSION image_height -int num_components Number of color components -J_COLOR_SPACE jpeg_color_space Colorspace of image -boolean saw_JFIF_marker TRUE if a JFIF APP0 marker was seen - UINT8 JFIF_major_version Version information from JFIF marker - UINT8 JFIF_minor_version - UINT8 density_unit Resolution data from JFIF marker - UINT16 X_density - UINT16 Y_density -boolean saw_Adobe_marker TRUE if an Adobe APP14 marker was seen - UINT8 Adobe_transform Color transform code from Adobe marker - -The JPEG color space, unfortunately, is something of a guess since the JPEG -standard proper does not provide a way to record it. In practice most files -adhere to the JFIF or Adobe conventions, and the decoder will recognize these -correctly. See "Special color spaces", below, for more info. - - -The decompression parameters that determine the basic properties of the -returned image are: - -J_COLOR_SPACE out_color_space - Output color space. jpeg_read_header() sets an appropriate default - based on jpeg_color_space; typically it will be RGB or grayscale. - The application can change this field to request output in a different - colorspace. For example, set it to JCS_GRAYSCALE to get grayscale - output from a color file. (This is useful for previewing: grayscale - output is faster than full color since the color components need not - be processed.) Note that not all possible color space transforms are - currently implemented; you may need to extend jdcolor.c if you want an - unusual conversion. - -unsigned int scale_num, scale_denom - Scale the image by the fraction scale_num/scale_denom. Currently, - the supported scaling ratios are N/8 with all N from 1 to 16. (The - library design allows for arbitrary scaling ratios but this is not - likely to be implemented any time soon.) The values are initialized - by jpeg_read_header() with the source DCT size, which is currently - 8/8. If you change only the scale_num value while leaving the other - unchanged, then this specifies the DCT scaled size to be applied on - the given input, which is currently equivalent to N/8 scaling, since - the source DCT size is currently always 8. Smaller scaling ratios - permit significantly faster decoding since fewer pixels need be - processed and a simpler IDCT method can be used. - -boolean quantize_colors - If set TRUE, colormapped output will be delivered. Default is FALSE, - meaning that full-color output will be delivered. - -The next three parameters are relevant only if quantize_colors is TRUE. - -int desired_number_of_colors - Maximum number of colors to use in generating a library-supplied color - map (the actual number of colors is returned in a different field). - Default 256. Ignored when the application supplies its own color map. - -boolean two_pass_quantize - If TRUE, an extra pass over the image is made to select a custom color - map for the image. This usually looks a lot better than the one-size- - fits-all colormap that is used otherwise. Default is TRUE. Ignored - when the application supplies its own color map. - -J_DITHER_MODE dither_mode - Selects color dithering method. Supported values are: - JDITHER_NONE no dithering: fast, very low quality - JDITHER_ORDERED ordered dither: moderate speed and quality - JDITHER_FS Floyd-Steinberg dither: slow, high quality - Default is JDITHER_FS. (At present, ordered dither is implemented - only in the single-pass, standard-colormap case. If you ask for - ordered dither when two_pass_quantize is TRUE or when you supply - an external color map, you'll get F-S dithering.) - -When quantize_colors is TRUE, the target color map is described by the next -two fields. colormap is set to NULL by jpeg_read_header(). The application -can supply a color map by setting colormap non-NULL and setting -actual_number_of_colors to the map size. Otherwise, jpeg_start_decompress() -selects a suitable color map and sets these two fields itself. -[Implementation restriction: at present, an externally supplied colormap is -only accepted for 3-component output color spaces.] - -JSAMPARRAY colormap - The color map, represented as a 2-D pixel array of out_color_components - rows and actual_number_of_colors columns. Ignored if not quantizing. - CAUTION: if the JPEG library creates its own colormap, the storage - pointed to by this field is released by jpeg_finish_decompress(). - Copy the colormap somewhere else first, if you want to save it. - -int actual_number_of_colors - The number of colors in the color map. - -Additional decompression parameters that the application may set include: - -J_DCT_METHOD dct_method - Selects the algorithm used for the DCT step. Choices are the same - as described above for compression. - -boolean do_fancy_upsampling - If TRUE, use direct DCT scaling with DCT size > 8 for upsampling - of chroma components. - If FALSE, use only DCT size <= 8 and simple separate upsampling. - Default is TRUE. - For better image stability in multiple generation compression cycles - it is preferable that this value matches the corresponding - do_fancy_downsampling value in compression. - -boolean do_block_smoothing - If TRUE, interblock smoothing is applied in early stages of decoding - progressive JPEG files; if FALSE, not. Default is TRUE. Early - progression stages look "fuzzy" with smoothing, "blocky" without. - In any case, block smoothing ceases to be applied after the first few - AC coefficients are known to full accuracy, so it is relevant only - when using buffered-image mode for progressive images. - -boolean enable_1pass_quant -boolean enable_external_quant -boolean enable_2pass_quant - These are significant only in buffered-image mode, which is - described in its own section below. - - -The output image dimensions are given by the following fields. These are -computed from the source image dimensions and the decompression parameters -by jpeg_start_decompress(). You can also call jpeg_calc_output_dimensions() -to obtain the values that will result from the current parameter settings. -This can be useful if you are trying to pick a scaling ratio that will get -close to a desired target size. It's also important if you are using the -JPEG library's memory manager to allocate output buffer space, because you -are supposed to request such buffers *before* jpeg_start_decompress(). - -JDIMENSION output_width Actual dimensions of output image. -JDIMENSION output_height -int out_color_components Number of color components in out_color_space. -int output_components Number of color components returned. -int rec_outbuf_height Recommended height of scanline buffer. - -When quantizing colors, output_components is 1, indicating a single color map -index per pixel. Otherwise it equals out_color_components. The output arrays -are required to be output_width * output_components JSAMPLEs wide. - -rec_outbuf_height is the recommended minimum height (in scanlines) of the -buffer passed to jpeg_read_scanlines(). If the buffer is smaller, the -library will still work, but time will be wasted due to unnecessary data -copying. In high-quality modes, rec_outbuf_height is always 1, but some -faster, lower-quality modes set it to larger values (typically 2 to 4). -If you are going to ask for a high-speed processing mode, you may as well -go to the trouble of honoring rec_outbuf_height so as to avoid data copying. -(An output buffer larger than rec_outbuf_height lines is OK, but won't -provide any material speed improvement over that height.) - - -Special color spaces --------------------- - -The JPEG standard itself is "color blind" and doesn't specify any particular -color space. It is customary to convert color data to a luminance/chrominance -color space before compressing, since this permits greater compression. The -existing de-facto JPEG file format standards specify YCbCr or grayscale data -(JFIF), or grayscale, RGB, YCbCr, CMYK, or YCCK (Adobe). For special -applications such as multispectral images, other color spaces can be used, -but it must be understood that such files will be unportable. - -The JPEG library can handle the most common colorspace conversions (namely -RGB <=> YCbCr and CMYK <=> YCCK). It can also deal with data of an unknown -color space, passing it through without conversion. If you deal extensively -with an unusual color space, you can easily extend the library to understand -additional color spaces and perform appropriate conversions. - -For compression, the source data's color space is specified by field -in_color_space. This is transformed to the JPEG file's color space given -by jpeg_color_space. jpeg_set_defaults() chooses a reasonable JPEG color -space depending on in_color_space, but you can override this by calling -jpeg_set_colorspace(). Of course you must select a supported transformation. -jccolor.c currently supports the following transformations: - RGB => YCbCr - RGB => GRAYSCALE - YCbCr => GRAYSCALE - CMYK => YCCK -plus the null transforms: GRAYSCALE => GRAYSCALE, RGB => RGB, -YCbCr => YCbCr, CMYK => CMYK, YCCK => YCCK, and UNKNOWN => UNKNOWN. - -The de-facto file format standards (JFIF and Adobe) specify APPn markers that -indicate the color space of the JPEG file. It is important to ensure that -these are written correctly, or omitted if the JPEG file's color space is not -one of the ones supported by the de-facto standards. jpeg_set_colorspace() -will set the compression parameters to include or omit the APPn markers -properly, so long as it is told the truth about the JPEG color space. -For example, if you are writing some random 3-component color space without -conversion, don't try to fake out the library by setting in_color_space and -jpeg_color_space to JCS_YCbCr; use JCS_UNKNOWN. You may want to write an -APPn marker of your own devising to identify the colorspace --- see "Special -markers", below. - -When told that the color space is UNKNOWN, the library will default to using -luminance-quality compression parameters for all color components. You may -well want to change these parameters. See the source code for -jpeg_set_colorspace(), in jcparam.c, for details. - -For decompression, the JPEG file's color space is given in jpeg_color_space, -and this is transformed to the output color space out_color_space. -jpeg_read_header's setting of jpeg_color_space can be relied on if the file -conforms to JFIF or Adobe conventions, but otherwise it is no better than a -guess. If you know the JPEG file's color space for certain, you can override -jpeg_read_header's guess by setting jpeg_color_space. jpeg_read_header also -selects a default output color space based on (its guess of) jpeg_color_space; -set out_color_space to override this. Again, you must select a supported -transformation. jdcolor.c currently supports - YCbCr => GRAYSCALE - YCbCr => RGB - GRAYSCALE => RGB - YCCK => CMYK -as well as the null transforms. (Since GRAYSCALE=>RGB is provided, an -application can force grayscale JPEGs to look like color JPEGs if it only -wants to handle one case.) - -The two-pass color quantizer, jquant2.c, is specialized to handle RGB data -(it weights distances appropriately for RGB colors). You'll need to modify -the code if you want to use it for non-RGB output color spaces. Note that -jquant2.c is used to map to an application-supplied colormap as well as for -the normal two-pass colormap selection process. - -CAUTION: it appears that Adobe Photoshop writes inverted data in CMYK JPEG -files: 0 represents 100% ink coverage, rather than 0% ink as you'd expect. -This is arguably a bug in Photoshop, but if you need to work with Photoshop -CMYK files, you will have to deal with it in your application. We cannot -"fix" this in the library by inverting the data during the CMYK<=>YCCK -transform, because that would break other applications, notably Ghostscript. -Photoshop versions prior to 3.0 write EPS files containing JPEG-encoded CMYK -data in the same inverted-YCCK representation used in bare JPEG files, but -the surrounding PostScript code performs an inversion using the PS image -operator. I am told that Photoshop 3.0 will write uninverted YCCK in -EPS/JPEG files, and will omit the PS-level inversion. (But the data -polarity used in bare JPEG files will not change in 3.0.) In either case, -the JPEG library must not invert the data itself, or else Ghostscript would -read these EPS files incorrectly. - - -Error handling --------------- - -When the default error handler is used, any error detected inside the JPEG -routines will cause a message to be printed on stderr, followed by exit(). -You can supply your own error handling routines to override this behavior -and to control the treatment of nonfatal warnings and trace/debug messages. -The file example.c illustrates the most common case, which is to have the -application regain control after an error rather than exiting. - -The JPEG library never writes any message directly; it always goes through -the error handling routines. Three classes of messages are recognized: - * Fatal errors: the library cannot continue. - * Warnings: the library can continue, but the data is corrupt, and a - damaged output image is likely to result. - * Trace/informational messages. These come with a trace level indicating - the importance of the message; you can control the verbosity of the - program by adjusting the maximum trace level that will be displayed. - -You may, if you wish, simply replace the entire JPEG error handling module -(jerror.c) with your own code. However, you can avoid code duplication by -only replacing some of the routines depending on the behavior you need. -This is accomplished by calling jpeg_std_error() as usual, but then overriding -some of the method pointers in the jpeg_error_mgr struct, as illustrated by -example.c. - -All of the error handling routines will receive a pointer to the JPEG object -(a j_common_ptr which points to either a jpeg_compress_struct or a -jpeg_decompress_struct; if you need to tell which, test the is_decompressor -field). This struct includes a pointer to the error manager struct in its -"err" field. Frequently, custom error handler routines will need to access -additional data which is not known to the JPEG library or the standard error -handler. The most convenient way to do this is to embed either the JPEG -object or the jpeg_error_mgr struct in a larger structure that contains -additional fields; then casting the passed pointer provides access to the -additional fields. Again, see example.c for one way to do it. (Beginning -with IJG version 6b, there is also a void pointer "client_data" in each -JPEG object, which the application can also use to find related data. -The library does not touch client_data at all.) - -The individual methods that you might wish to override are: - -error_exit (j_common_ptr cinfo) - Receives control for a fatal error. Information sufficient to - generate the error message has been stored in cinfo->err; call - output_message to display it. Control must NOT return to the caller; - generally this routine will exit() or longjmp() somewhere. - Typically you would override this routine to get rid of the exit() - default behavior. Note that if you continue processing, you should - clean up the JPEG object with jpeg_abort() or jpeg_destroy(). - -output_message (j_common_ptr cinfo) - Actual output of any JPEG message. Override this to send messages - somewhere other than stderr. Note that this method does not know - how to generate a message, only where to send it. - -format_message (j_common_ptr cinfo, char * buffer) - Constructs a readable error message string based on the error info - stored in cinfo->err. This method is called by output_message. Few - applications should need to override this method. One possible - reason for doing so is to implement dynamic switching of error message - language. - -emit_message (j_common_ptr cinfo, int msg_level) - Decide whether or not to emit a warning or trace message; if so, - calls output_message. The main reason for overriding this method - would be to abort on warnings. msg_level is -1 for warnings, - 0 and up for trace messages. - -Only error_exit() and emit_message() are called from the rest of the JPEG -library; the other two are internal to the error handler. - -The actual message texts are stored in an array of strings which is pointed to -by the field err->jpeg_message_table. The messages are numbered from 0 to -err->last_jpeg_message, and it is these code numbers that are used in the -JPEG library code. You could replace the message texts (for instance, with -messages in French or German) by changing the message table pointer. See -jerror.h for the default texts. CAUTION: this table will almost certainly -change or grow from one library version to the next. - -It may be useful for an application to add its own message texts that are -handled by the same mechanism. The error handler supports a second "add-on" -message table for this purpose. To define an addon table, set the pointer -err->addon_message_table and the message numbers err->first_addon_message and -err->last_addon_message. If you number the addon messages beginning at 1000 -or so, you won't have to worry about conflicts with the library's built-in -messages. See the sample applications cjpeg/djpeg for an example of using -addon messages (the addon messages are defined in cderror.h). - -Actual invocation of the error handler is done via macros defined in jerror.h: - ERREXITn(...) for fatal errors - WARNMSn(...) for corrupt-data warnings - TRACEMSn(...) for trace and informational messages. -These macros store the message code and any additional parameters into the -error handler struct, then invoke the error_exit() or emit_message() method. -The variants of each macro are for varying numbers of additional parameters. -The additional parameters are inserted into the generated message using -standard printf() format codes. - -See jerror.h and jerror.c for further details. - - -Compressed data handling (source and destination managers) ----------------------------------------------------------- - -The JPEG compression library sends its compressed data to a "destination -manager" module. The default destination manager just writes the data to a -stdio stream, but you can provide your own manager to do something else. -Similarly, the decompression library calls a "source manager" to obtain the -compressed data; you can provide your own source manager if you want the data -to come from somewhere other than a stdio stream. - -In both cases, compressed data is processed a bufferload at a time: the -destination or source manager provides a work buffer, and the library invokes -the manager only when the buffer is filled or emptied. (You could define a -one-character buffer to force the manager to be invoked for each byte, but -that would be rather inefficient.) The buffer's size and location are -controlled by the manager, not by the library. For example, if you desired to -decompress a JPEG datastream that was all in memory, you could just make the -buffer pointer and length point to the original data in memory. Then the -buffer-reload procedure would be invoked only if the decompressor ran off the -end of the datastream, which would indicate an erroneous datastream. - -The work buffer is defined as an array of datatype JOCTET, which is generally -"char" or "unsigned char". On a machine where char is not exactly 8 bits -wide, you must define JOCTET as a wider data type and then modify the data -source and destination modules to transcribe the work arrays into 8-bit units -on external storage. - -A data destination manager struct contains a pointer and count defining the -next byte to write in the work buffer and the remaining free space: - - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - -The library increments the pointer and decrements the count until the buffer -is filled. The manager's empty_output_buffer method must reset the pointer -and count. The manager is expected to remember the buffer's starting address -and total size in private fields not visible to the library. - -A data destination manager provides three methods: - -init_destination (j_compress_ptr cinfo) - Initialize destination. This is called by jpeg_start_compress() - before any data is actually written. It must initialize - next_output_byte and free_in_buffer. free_in_buffer must be - initialized to a positive value. - -empty_output_buffer (j_compress_ptr cinfo) - This is called whenever the buffer has filled (free_in_buffer - reaches zero). In typical applications, it should write out the - *entire* buffer (use the saved start address and buffer length; - ignore the current state of next_output_byte and free_in_buffer). - Then reset the pointer & count to the start of the buffer, and - return TRUE indicating that the buffer has been dumped. - free_in_buffer must be set to a positive value when TRUE is - returned. A FALSE return should only be used when I/O suspension is - desired (this operating mode is discussed in the next section). - -term_destination (j_compress_ptr cinfo) - Terminate destination --- called by jpeg_finish_compress() after all - data has been written. In most applications, this must flush any - data remaining in the buffer. Use either next_output_byte or - free_in_buffer to determine how much data is in the buffer. - -term_destination() is NOT called by jpeg_abort() or jpeg_destroy(). If you -want the destination manager to be cleaned up during an abort, you must do it -yourself. - -You will also need code to create a jpeg_destination_mgr struct, fill in its -method pointers, and insert a pointer to the struct into the "dest" field of -the JPEG compression object. This can be done in-line in your setup code if -you like, but it's probably cleaner to provide a separate routine similar to -the jpeg_stdio_dest() routine of the supplied destination manager. - -Decompression source managers follow a parallel design, but with some -additional frammishes. The source manager struct contains a pointer and count -defining the next byte to read from the work buffer and the number of bytes -remaining: - - const JOCTET * next_input_byte; /* => next byte to read from buffer */ - size_t bytes_in_buffer; /* # of bytes remaining in buffer */ - -The library increments the pointer and decrements the count until the buffer -is emptied. The manager's fill_input_buffer method must reset the pointer and -count. In most applications, the manager must remember the buffer's starting -address and total size in private fields not visible to the library. - -A data source manager provides five methods: - -init_source (j_decompress_ptr cinfo) - Initialize source. This is called by jpeg_read_header() before any - data is actually read. Unlike init_destination(), it may leave - bytes_in_buffer set to 0 (in which case a fill_input_buffer() call - will occur immediately). - -fill_input_buffer (j_decompress_ptr cinfo) - This is called whenever bytes_in_buffer has reached zero and more - data is wanted. In typical applications, it should read fresh data - into the buffer (ignoring the current state of next_input_byte and - bytes_in_buffer), reset the pointer & count to the start of the - buffer, and return TRUE indicating that the buffer has been reloaded. - It is not necessary to fill the buffer entirely, only to obtain at - least one more byte. bytes_in_buffer MUST be set to a positive value - if TRUE is returned. A FALSE return should only be used when I/O - suspension is desired (this mode is discussed in the next section). - -skip_input_data (j_decompress_ptr cinfo, long num_bytes) - Skip num_bytes worth of data. The buffer pointer and count should - be advanced over num_bytes input bytes, refilling the buffer as - needed. This is used to skip over a potentially large amount of - uninteresting data (such as an APPn marker). In some applications - it may be possible to optimize away the reading of the skipped data, - but it's not clear that being smart is worth much trouble; large - skips are uncommon. bytes_in_buffer may be zero on return. - A zero or negative skip count should be treated as a no-op. - -resync_to_restart (j_decompress_ptr cinfo, int desired) - This routine is called only when the decompressor has failed to find - a restart (RSTn) marker where one is expected. Its mission is to - find a suitable point for resuming decompression. For most - applications, we recommend that you just use the default resync - procedure, jpeg_resync_to_restart(). However, if you are able to back - up in the input data stream, or if you have a-priori knowledge about - the likely location of restart markers, you may be able to do better. - Read the read_restart_marker() and jpeg_resync_to_restart() routines - in jdmarker.c if you think you'd like to implement your own resync - procedure. - -term_source (j_decompress_ptr cinfo) - Terminate source --- called by jpeg_finish_decompress() after all - data has been read. Often a no-op. - -For both fill_input_buffer() and skip_input_data(), there is no such thing -as an EOF return. If the end of the file has been reached, the routine has -a choice of exiting via ERREXIT() or inserting fake data into the buffer. -In most cases, generating a warning message and inserting a fake EOI marker -is the best course of action --- this will allow the decompressor to output -however much of the image is there. In pathological cases, the decompressor -may swallow the EOI and again demand data ... just keep feeding it fake EOIs. -jdatasrc.c illustrates the recommended error recovery behavior. - -term_source() is NOT called by jpeg_abort() or jpeg_destroy(). If you want -the source manager to be cleaned up during an abort, you must do it yourself. - -You will also need code to create a jpeg_source_mgr struct, fill in its method -pointers, and insert a pointer to the struct into the "src" field of the JPEG -decompression object. This can be done in-line in your setup code if you -like, but it's probably cleaner to provide a separate routine similar to the -jpeg_stdio_src() routine of the supplied source manager. - -For more information, consult the stdio source and destination managers -in jdatasrc.c and jdatadst.c. - - -I/O suspension --------------- - -Some applications need to use the JPEG library as an incremental memory-to- -memory filter: when the compressed data buffer is filled or emptied, they want -control to return to the outer loop, rather than expecting that the buffer can -be emptied or reloaded within the data source/destination manager subroutine. -The library supports this need by providing an "I/O suspension" mode, which we -describe in this section. - -The I/O suspension mode is not a panacea: nothing is guaranteed about the -maximum amount of time spent in any one call to the library, so it will not -eliminate response-time problems in single-threaded applications. If you -need guaranteed response time, we suggest you "bite the bullet" and implement -a real multi-tasking capability. - -To use I/O suspension, cooperation is needed between the calling application -and the data source or destination manager; you will always need a custom -source/destination manager. (Please read the previous section if you haven't -already.) The basic idea is that the empty_output_buffer() or -fill_input_buffer() routine is a no-op, merely returning FALSE to indicate -that it has done nothing. Upon seeing this, the JPEG library suspends -operation and returns to its caller. The surrounding application is -responsible for emptying or refilling the work buffer before calling the -JPEG library again. - -Compression suspension: - -For compression suspension, use an empty_output_buffer() routine that returns -FALSE; typically it will not do anything else. This will cause the -compressor to return to the caller of jpeg_write_scanlines(), with the return -value indicating that not all the supplied scanlines have been accepted. -The application must make more room in the output buffer, adjust the output -buffer pointer/count appropriately, and then call jpeg_write_scanlines() -again, pointing to the first unconsumed scanline. - -When forced to suspend, the compressor will backtrack to a convenient stopping -point (usually the start of the current MCU); it will regenerate some output -data when restarted. Therefore, although empty_output_buffer() is only -called when the buffer is filled, you should NOT write out the entire buffer -after a suspension. Write only the data up to the current position of -next_output_byte/free_in_buffer. The data beyond that point will be -regenerated after resumption. - -Because of the backtracking behavior, a good-size output buffer is essential -for efficiency; you don't want the compressor to suspend often. (In fact, an -overly small buffer could lead to infinite looping, if a single MCU required -more data than would fit in the buffer.) We recommend a buffer of at least -several Kbytes. You may want to insert explicit code to ensure that you don't -call jpeg_write_scanlines() unless there is a reasonable amount of space in -the output buffer; in other words, flush the buffer before trying to compress -more data. - -The compressor does not allow suspension while it is trying to write JPEG -markers at the beginning and end of the file. This means that: - * At the beginning of a compression operation, there must be enough free - space in the output buffer to hold the header markers (typically 600 or - so bytes). The recommended buffer size is bigger than this anyway, so - this is not a problem as long as you start with an empty buffer. However, - this restriction might catch you if you insert large special markers, such - as a JFIF thumbnail image, without flushing the buffer afterwards. - * When you call jpeg_finish_compress(), there must be enough space in the - output buffer to emit any buffered data and the final EOI marker. In the - current implementation, half a dozen bytes should suffice for this, but - for safety's sake we recommend ensuring that at least 100 bytes are free - before calling jpeg_finish_compress(). - -A more significant restriction is that jpeg_finish_compress() cannot suspend. -This means you cannot use suspension with multi-pass operating modes, namely -Huffman code optimization and multiple-scan output. Those modes write the -whole file during jpeg_finish_compress(), which will certainly result in -buffer overrun. (Note that this restriction applies only to compression, -not decompression. The decompressor supports input suspension in all of its -operating modes.) - -Decompression suspension: - -For decompression suspension, use a fill_input_buffer() routine that simply -returns FALSE (except perhaps during error recovery, as discussed below). -This will cause the decompressor to return to its caller with an indication -that suspension has occurred. This can happen at four places: - * jpeg_read_header(): will return JPEG_SUSPENDED. - * jpeg_start_decompress(): will return FALSE, rather than its usual TRUE. - * jpeg_read_scanlines(): will return the number of scanlines already - completed (possibly 0). - * jpeg_finish_decompress(): will return FALSE, rather than its usual TRUE. -The surrounding application must recognize these cases, load more data into -the input buffer, and repeat the call. In the case of jpeg_read_scanlines(), -increment the passed pointers past any scanlines successfully read. - -Just as with compression, the decompressor will typically backtrack to a -convenient restart point before suspending. When fill_input_buffer() is -called, next_input_byte/bytes_in_buffer point to the current restart point, -which is where the decompressor will backtrack to if FALSE is returned. -The data beyond that position must NOT be discarded if you suspend; it needs -to be re-read upon resumption. In most implementations, you'll need to shift -this data down to the start of your work buffer and then load more data after -it. Again, this behavior means that a several-Kbyte work buffer is essential -for decent performance; furthermore, you should load a reasonable amount of -new data before resuming decompression. (If you loaded, say, only one new -byte each time around, you could waste a LOT of cycles.) - -The skip_input_data() source manager routine requires special care in a -suspension scenario. This routine is NOT granted the ability to suspend the -decompressor; it can decrement bytes_in_buffer to zero, but no more. If the -requested skip distance exceeds the amount of data currently in the input -buffer, then skip_input_data() must set bytes_in_buffer to zero and record the -additional skip distance somewhere else. The decompressor will immediately -call fill_input_buffer(), which should return FALSE, which will cause a -suspension return. The surrounding application must then arrange to discard -the recorded number of bytes before it resumes loading the input buffer. -(Yes, this design is rather baroque, but it avoids complexity in the far more -common case where a non-suspending source manager is used.) - -If the input data has been exhausted, we recommend that you emit a warning -and insert dummy EOI markers just as a non-suspending data source manager -would do. This can be handled either in the surrounding application logic or -within fill_input_buffer(); the latter is probably more efficient. If -fill_input_buffer() knows that no more data is available, it can set the -pointer/count to point to a dummy EOI marker and then return TRUE just as -though it had read more data in a non-suspending situation. - -The decompressor does not attempt to suspend within standard JPEG markers; -instead it will backtrack to the start of the marker and reprocess the whole -marker next time. Hence the input buffer must be large enough to hold the -longest standard marker in the file. Standard JPEG markers should normally -not exceed a few hundred bytes each (DHT tables are typically the longest). -We recommend at least a 2K buffer for performance reasons, which is much -larger than any correct marker is likely to be. For robustness against -damaged marker length counts, you may wish to insert a test in your -application for the case that the input buffer is completely full and yet -the decoder has suspended without consuming any data --- otherwise, if this -situation did occur, it would lead to an endless loop. (The library can't -provide this test since it has no idea whether "the buffer is full", or -even whether there is a fixed-size input buffer.) - -The input buffer would need to be 64K to allow for arbitrary COM or APPn -markers, but these are handled specially: they are either saved into allocated -memory, or skipped over by calling skip_input_data(). In the former case, -suspension is handled correctly, and in the latter case, the problem of -buffer overrun is placed on skip_input_data's shoulders, as explained above. -Note that if you provide your own marker handling routine for large markers, -you should consider how to deal with buffer overflow. - -Multiple-buffer management: - -In some applications it is desirable to store the compressed data in a linked -list of buffer areas, so as to avoid data copying. This can be handled by -having empty_output_buffer() or fill_input_buffer() set the pointer and count -to reference the next available buffer; FALSE is returned only if no more -buffers are available. Although seemingly straightforward, there is a -pitfall in this approach: the backtrack that occurs when FALSE is returned -could back up into an earlier buffer. For example, when fill_input_buffer() -is called, the current pointer & count indicate the backtrack restart point. -Since fill_input_buffer() will set the pointer and count to refer to a new -buffer, the restart position must be saved somewhere else. Suppose a second -call to fill_input_buffer() occurs in the same library call, and no -additional input data is available, so fill_input_buffer must return FALSE. -If the JPEG library has not moved the pointer/count forward in the current -buffer, then *the correct restart point is the saved position in the prior -buffer*. Prior buffers may be discarded only after the library establishes -a restart point within a later buffer. Similar remarks apply for output into -a chain of buffers. - -The library will never attempt to backtrack over a skip_input_data() call, -so any skipped data can be permanently discarded. You still have to deal -with the case of skipping not-yet-received data, however. - -It's much simpler to use only a single buffer; when fill_input_buffer() is -called, move any unconsumed data (beyond the current pointer/count) down to -the beginning of this buffer and then load new data into the remaining buffer -space. This approach requires a little more data copying but is far easier -to get right. - - -Progressive JPEG support ------------------------- - -Progressive JPEG rearranges the stored data into a series of scans of -increasing quality. In situations where a JPEG file is transmitted across a -slow communications link, a decoder can generate a low-quality image very -quickly from the first scan, then gradually improve the displayed quality as -more scans are received. The final image after all scans are complete is -identical to that of a regular (sequential) JPEG file of the same quality -setting. Progressive JPEG files are often slightly smaller than equivalent -sequential JPEG files, but the possibility of incremental display is the main -reason for using progressive JPEG. - -The IJG encoder library generates progressive JPEG files when given a -suitable "scan script" defining how to divide the data into scans. -Creation of progressive JPEG files is otherwise transparent to the encoder. -Progressive JPEG files can also be read transparently by the decoder library. -If the decoding application simply uses the library as defined above, it -will receive a final decoded image without any indication that the file was -progressive. Of course, this approach does not allow incremental display. -To perform incremental display, an application needs to use the decoder -library's "buffered-image" mode, in which it receives a decoded image -multiple times. - -Each displayed scan requires about as much work to decode as a full JPEG -image of the same size, so the decoder must be fairly fast in relation to the -data transmission rate in order to make incremental display useful. However, -it is possible to skip displaying the image and simply add the incoming bits -to the decoder's coefficient buffer. This is fast because only Huffman -decoding need be done, not IDCT, upsampling, colorspace conversion, etc. -The IJG decoder library allows the application to switch dynamically between -displaying the image and simply absorbing the incoming bits. A properly -coded application can automatically adapt the number of display passes to -suit the time available as the image is received. Also, a final -higher-quality display cycle can be performed from the buffered data after -the end of the file is reached. - -Progressive compression: - -To create a progressive JPEG file (or a multiple-scan sequential JPEG file), -set the scan_info cinfo field to point to an array of scan descriptors, and -perform compression as usual. Instead of constructing your own scan list, -you can call the jpeg_simple_progression() helper routine to create a -recommended progression sequence; this method should be used by all -applications that don't want to get involved in the nitty-gritty of -progressive scan sequence design. (If you want to provide user control of -scan sequences, you may wish to borrow the scan script reading code found -in rdswitch.c, so that you can read scan script files just like cjpeg's.) -When scan_info is not NULL, the compression library will store DCT'd data -into a buffer array as jpeg_write_scanlines() is called, and will emit all -the requested scans during jpeg_finish_compress(). This implies that -multiple-scan output cannot be created with a suspending data destination -manager, since jpeg_finish_compress() does not support suspension. We -should also note that the compressor currently forces Huffman optimization -mode when creating a progressive JPEG file, because the default Huffman -tables are unsuitable for progressive files. - -Progressive decompression: - -When buffered-image mode is not used, the decoder library will read all of -a multi-scan file during jpeg_start_decompress(), so that it can provide a -final decoded image. (Here "multi-scan" means either progressive or -multi-scan sequential.) This makes multi-scan files transparent to the -decoding application. However, existing applications that used suspending -input with version 5 of the IJG library will need to be modified to check -for a suspension return from jpeg_start_decompress(). - -To perform incremental display, an application must use the library's -buffered-image mode. This is described in the next section. - - -Buffered-image mode -------------------- - -In buffered-image mode, the library stores the partially decoded image in a -coefficient buffer, from which it can be read out as many times as desired. -This mode is typically used for incremental display of progressive JPEG files, -but it can be used with any JPEG file. Each scan of a progressive JPEG file -adds more data (more detail) to the buffered image. The application can -display in lockstep with the source file (one display pass per input scan), -or it can allow input processing to outrun display processing. By making -input and display processing run independently, it is possible for the -application to adapt progressive display to a wide range of data transmission -rates. - -The basic control flow for buffered-image decoding is - - jpeg_create_decompress() - set data source - jpeg_read_header() - set overall decompression parameters - cinfo.buffered_image = TRUE; /* select buffered-image mode */ - jpeg_start_decompress() - for (each output pass) { - adjust output decompression parameters if required - jpeg_start_output() /* start a new output pass */ - for (all scanlines in image) { - jpeg_read_scanlines() - display scanlines - } - jpeg_finish_output() /* terminate output pass */ - } - jpeg_finish_decompress() - jpeg_destroy_decompress() - -This differs from ordinary unbuffered decoding in that there is an additional -level of looping. The application can choose how many output passes to make -and how to display each pass. - -The simplest approach to displaying progressive images is to do one display -pass for each scan appearing in the input file. In this case the outer loop -condition is typically - while (! jpeg_input_complete(&cinfo)) -and the start-output call should read - jpeg_start_output(&cinfo, cinfo.input_scan_number); -The second parameter to jpeg_start_output() indicates which scan of the input -file is to be displayed; the scans are numbered starting at 1 for this -purpose. (You can use a loop counter starting at 1 if you like, but using -the library's input scan counter is easier.) The library automatically reads -data as necessary to complete each requested scan, and jpeg_finish_output() -advances to the next scan or end-of-image marker (hence input_scan_number -will be incremented by the time control arrives back at jpeg_start_output()). -With this technique, data is read from the input file only as needed, and -input and output processing run in lockstep. - -After reading the final scan and reaching the end of the input file, the -buffered image remains available; it can be read additional times by -repeating the jpeg_start_output()/jpeg_read_scanlines()/jpeg_finish_output() -sequence. For example, a useful technique is to use fast one-pass color -quantization for display passes made while the image is arriving, followed by -a final display pass using two-pass quantization for highest quality. This -is done by changing the library parameters before the final output pass. -Changing parameters between passes is discussed in detail below. - -In general the last scan of a progressive file cannot be recognized as such -until after it is read, so a post-input display pass is the best approach if -you want special processing in the final pass. - -When done with the image, be sure to call jpeg_finish_decompress() to release -the buffered image (or just use jpeg_destroy_decompress()). - -If input data arrives faster than it can be displayed, the application can -cause the library to decode input data in advance of what's needed to produce -output. This is done by calling the routine jpeg_consume_input(). -The return value is one of the following: - JPEG_REACHED_SOS: reached an SOS marker (the start of a new scan) - JPEG_REACHED_EOI: reached the EOI marker (end of image) - JPEG_ROW_COMPLETED: completed reading one MCU row of compressed data - JPEG_SCAN_COMPLETED: completed reading last MCU row of current scan - JPEG_SUSPENDED: suspended before completing any of the above -(JPEG_SUSPENDED can occur only if a suspending data source is used.) This -routine can be called at any time after initializing the JPEG object. It -reads some additional data and returns when one of the indicated significant -events occurs. (If called after the EOI marker is reached, it will -immediately return JPEG_REACHED_EOI without attempting to read more data.) - -The library's output processing will automatically call jpeg_consume_input() -whenever the output processing overtakes the input; thus, simple lockstep -display requires no direct calls to jpeg_consume_input(). But by adding -calls to jpeg_consume_input(), you can absorb data in advance of what is -being displayed. This has two benefits: - * You can limit buildup of unprocessed data in your input buffer. - * You can eliminate extra display passes by paying attention to the - state of the library's input processing. - -The first of these benefits only requires interspersing calls to -jpeg_consume_input() with your display operations and any other processing -you may be doing. To avoid wasting cycles due to backtracking, it's best to -call jpeg_consume_input() only after a hundred or so new bytes have arrived. -This is discussed further under "I/O suspension", above. (Note: the JPEG -library currently is not thread-safe. You must not call jpeg_consume_input() -from one thread of control if a different library routine is working on the -same JPEG object in another thread.) - -When input arrives fast enough that more than one new scan is available -before you start a new output pass, you may as well skip the output pass -corresponding to the completed scan. This occurs for free if you pass -cinfo.input_scan_number as the target scan number to jpeg_start_output(). -The input_scan_number field is simply the index of the scan currently being -consumed by the input processor. You can ensure that this is up-to-date by -emptying the input buffer just before calling jpeg_start_output(): call -jpeg_consume_input() repeatedly until it returns JPEG_SUSPENDED or -JPEG_REACHED_EOI. - -The target scan number passed to jpeg_start_output() is saved in the -cinfo.output_scan_number field. The library's output processing calls -jpeg_consume_input() whenever the current input scan number and row within -that scan is less than or equal to the current output scan number and row. -Thus, input processing can "get ahead" of the output processing but is not -allowed to "fall behind". You can achieve several different effects by -manipulating this interlock rule. For example, if you pass a target scan -number greater than the current input scan number, the output processor will -wait until that scan starts to arrive before producing any output. (To avoid -an infinite loop, the target scan number is automatically reset to the last -scan number when the end of image is reached. Thus, if you specify a large -target scan number, the library will just absorb the entire input file and -then perform an output pass. This is effectively the same as what -jpeg_start_decompress() does when you don't select buffered-image mode.) -When you pass a target scan number equal to the current input scan number, -the image is displayed no faster than the current input scan arrives. The -final possibility is to pass a target scan number less than the current input -scan number; this disables the input/output interlock and causes the output -processor to simply display whatever it finds in the image buffer, without -waiting for input. (However, the library will not accept a target scan -number less than one, so you can't avoid waiting for the first scan.) - -When data is arriving faster than the output display processing can advance -through the image, jpeg_consume_input() will store data into the buffered -image beyond the point at which the output processing is reading data out -again. If the input arrives fast enough, it may "wrap around" the buffer to -the point where the input is more than one whole scan ahead of the output. -If the output processing simply proceeds through its display pass without -paying attention to the input, the effect seen on-screen is that the lower -part of the image is one or more scans better in quality than the upper part. -Then, when the next output scan is started, you have a choice of what target -scan number to use. The recommended choice is to use the current input scan -number at that time, which implies that you've skipped the output scans -corresponding to the input scans that were completed while you processed the -previous output scan. In this way, the decoder automatically adapts its -speed to the arriving data, by skipping output scans as necessary to keep up -with the arriving data. - -When using this strategy, you'll want to be sure that you perform a final -output pass after receiving all the data; otherwise your last display may not -be full quality across the whole screen. So the right outer loop logic is -something like this: - do { - absorb any waiting input by calling jpeg_consume_input() - final_pass = jpeg_input_complete(&cinfo); - adjust output decompression parameters if required - jpeg_start_output(&cinfo, cinfo.input_scan_number); - ... - jpeg_finish_output() - } while (! final_pass); -rather than quitting as soon as jpeg_input_complete() returns TRUE. This -arrangement makes it simple to use higher-quality decoding parameters -for the final pass. But if you don't want to use special parameters for -the final pass, the right loop logic is like this: - for (;;) { - absorb any waiting input by calling jpeg_consume_input() - jpeg_start_output(&cinfo, cinfo.input_scan_number); - ... - jpeg_finish_output() - if (jpeg_input_complete(&cinfo) && - cinfo.input_scan_number == cinfo.output_scan_number) - break; - } -In this case you don't need to know in advance whether an output pass is to -be the last one, so it's not necessary to have reached EOF before starting -the final output pass; rather, what you want to test is whether the output -pass was performed in sync with the final input scan. This form of the loop -will avoid an extra output pass whenever the decoder is able (or nearly able) -to keep up with the incoming data. - -When the data transmission speed is high, you might begin a display pass, -then find that much or all of the file has arrived before you can complete -the pass. (You can detect this by noting the JPEG_REACHED_EOI return code -from jpeg_consume_input(), or equivalently by testing jpeg_input_complete().) -In this situation you may wish to abort the current display pass and start a -new one using the newly arrived information. To do so, just call -jpeg_finish_output() and then start a new pass with jpeg_start_output(). - -A variant strategy is to abort and restart display if more than one complete -scan arrives during an output pass; this can be detected by noting -JPEG_REACHED_SOS returns and/or examining cinfo.input_scan_number. This -idea should be employed with caution, however, since the display process -might never get to the bottom of the image before being aborted, resulting -in the lower part of the screen being several passes worse than the upper. -In most cases it's probably best to abort an output pass only if the whole -file has arrived and you want to begin the final output pass immediately. - -When receiving data across a communication link, we recommend always using -the current input scan number for the output target scan number; if a -higher-quality final pass is to be done, it should be started (aborting any -incomplete output pass) as soon as the end of file is received. However, -many other strategies are possible. For example, the application can examine -the parameters of the current input scan and decide whether to display it or -not. If the scan contains only chroma data, one might choose not to use it -as the target scan, expecting that the scan will be small and will arrive -quickly. To skip to the next scan, call jpeg_consume_input() until it -returns JPEG_REACHED_SOS or JPEG_REACHED_EOI. Or just use the next higher -number as the target scan for jpeg_start_output(); but that method doesn't -let you inspect the next scan's parameters before deciding to display it. - - -In buffered-image mode, jpeg_start_decompress() never performs input and -thus never suspends. An application that uses input suspension with -buffered-image mode must be prepared for suspension returns from these -routines: -* jpeg_start_output() performs input only if you request 2-pass quantization - and the target scan isn't fully read yet. (This is discussed below.) -* jpeg_read_scanlines(), as always, returns the number of scanlines that it - was able to produce before suspending. -* jpeg_finish_output() will read any markers following the target scan, - up to the end of the file or the SOS marker that begins another scan. - (But it reads no input if jpeg_consume_input() has already reached the - end of the file or a SOS marker beyond the target output scan.) -* jpeg_finish_decompress() will read until the end of file, and thus can - suspend if the end hasn't already been reached (as can be tested by - calling jpeg_input_complete()). -jpeg_start_output(), jpeg_finish_output(), and jpeg_finish_decompress() -all return TRUE if they completed their tasks, FALSE if they had to suspend. -In the event of a FALSE return, the application must load more input data -and repeat the call. Applications that use non-suspending data sources need -not check the return values of these three routines. - - -It is possible to change decoding parameters between output passes in the -buffered-image mode. The decoder library currently supports only very -limited changes of parameters. ONLY THE FOLLOWING parameter changes are -allowed after jpeg_start_decompress() is called: -* dct_method can be changed before each call to jpeg_start_output(). - For example, one could use a fast DCT method for early scans, changing - to a higher quality method for the final scan. -* dither_mode can be changed before each call to jpeg_start_output(); - of course this has no impact if not using color quantization. Typically - one would use ordered dither for initial passes, then switch to - Floyd-Steinberg dither for the final pass. Caution: changing dither mode - can cause more memory to be allocated by the library. Although the amount - of memory involved is not large (a scanline or so), it may cause the - initial max_memory_to_use specification to be exceeded, which in the worst - case would result in an out-of-memory failure. -* do_block_smoothing can be changed before each call to jpeg_start_output(). - This setting is relevant only when decoding a progressive JPEG image. - During the first DC-only scan, block smoothing provides a very "fuzzy" look - instead of the very "blocky" look seen without it; which is better seems a - matter of personal taste. But block smoothing is nearly always a win - during later stages, especially when decoding a successive-approximation - image: smoothing helps to hide the slight blockiness that otherwise shows - up on smooth gradients until the lowest coefficient bits are sent. -* Color quantization mode can be changed under the rules described below. - You *cannot* change between full-color and quantized output (because that - would alter the required I/O buffer sizes), but you can change which - quantization method is used. - -When generating color-quantized output, changing quantization method is a -very useful way of switching between high-speed and high-quality display. -The library allows you to change among its three quantization methods: -1. Single-pass quantization to a fixed color cube. - Selected by cinfo.two_pass_quantize = FALSE and cinfo.colormap = NULL. -2. Single-pass quantization to an application-supplied colormap. - Selected by setting cinfo.colormap to point to the colormap (the value of - two_pass_quantize is ignored); also set cinfo.actual_number_of_colors. -3. Two-pass quantization to a colormap chosen specifically for the image. - Selected by cinfo.two_pass_quantize = TRUE and cinfo.colormap = NULL. - (This is the default setting selected by jpeg_read_header, but it is - probably NOT what you want for the first pass of progressive display!) -These methods offer successively better quality and lesser speed. However, -only the first method is available for quantizing in non-RGB color spaces. - -IMPORTANT: because the different quantizer methods have very different -working-storage requirements, the library requires you to indicate which -one(s) you intend to use before you call jpeg_start_decompress(). (If we did -not require this, the max_memory_to_use setting would be a complete fiction.) -You do this by setting one or more of these three cinfo fields to TRUE: - enable_1pass_quant Fixed color cube colormap - enable_external_quant Externally-supplied colormap - enable_2pass_quant Two-pass custom colormap -All three are initialized FALSE by jpeg_read_header(). But -jpeg_start_decompress() automatically sets TRUE the one selected by the -current two_pass_quantize and colormap settings, so you only need to set the -enable flags for any other quantization methods you plan to change to later. - -After setting the enable flags correctly at jpeg_start_decompress() time, you -can change to any enabled quantization method by setting two_pass_quantize -and colormap properly just before calling jpeg_start_output(). The following -special rules apply: -1. You must explicitly set cinfo.colormap to NULL when switching to 1-pass - or 2-pass mode from a different mode, or when you want the 2-pass - quantizer to be re-run to generate a new colormap. -2. To switch to an external colormap, or to change to a different external - colormap than was used on the prior pass, you must call - jpeg_new_colormap() after setting cinfo.colormap. -NOTE: if you want to use the same colormap as was used in the prior pass, -you should not do either of these things. This will save some nontrivial -switchover costs. -(These requirements exist because cinfo.colormap will always be non-NULL -after completing a prior output pass, since both the 1-pass and 2-pass -quantizers set it to point to their output colormaps. Thus you have to -do one of these two things to notify the library that something has changed. -Yup, it's a bit klugy, but it's necessary to do it this way for backwards -compatibility.) - -Note that in buffered-image mode, the library generates any requested colormap -during jpeg_start_output(), not during jpeg_start_decompress(). - -When using two-pass quantization, jpeg_start_output() makes a pass over the -buffered image to determine the optimum color map; it therefore may take a -significant amount of time, whereas ordinarily it does little work. The -progress monitor hook is called during this pass, if defined. It is also -important to realize that if the specified target scan number is greater than -or equal to the current input scan number, jpeg_start_output() will attempt -to consume input as it makes this pass. If you use a suspending data source, -you need to check for a FALSE return from jpeg_start_output() under these -conditions. The combination of 2-pass quantization and a not-yet-fully-read -target scan is the only case in which jpeg_start_output() will consume input. - - -Application authors who support buffered-image mode may be tempted to use it -for all JPEG images, even single-scan ones. This will work, but it is -inefficient: there is no need to create an image-sized coefficient buffer for -single-scan images. Requesting buffered-image mode for such an image wastes -memory. Worse, it can cost time on large images, since the buffered data has -to be swapped out or written to a temporary file. If you are concerned about -maximum performance on baseline JPEG files, you should use buffered-image -mode only when the incoming file actually has multiple scans. This can be -tested by calling jpeg_has_multiple_scans(), which will return a correct -result at any time after jpeg_read_header() completes. - -It is also worth noting that when you use jpeg_consume_input() to let input -processing get ahead of output processing, the resulting pattern of access to -the coefficient buffer is quite nonsequential. It's best to use the memory -manager jmemnobs.c if you can (ie, if you have enough real or virtual main -memory). If not, at least make sure that max_memory_to_use is set as high as -possible. If the JPEG memory manager has to use a temporary file, you will -probably see a lot of disk traffic and poor performance. (This could be -improved with additional work on the memory manager, but we haven't gotten -around to it yet.) - -In some applications it may be convenient to use jpeg_consume_input() for all -input processing, including reading the initial markers; that is, you may -wish to call jpeg_consume_input() instead of jpeg_read_header() during -startup. This works, but note that you must check for JPEG_REACHED_SOS and -JPEG_REACHED_EOI return codes as the equivalent of jpeg_read_header's codes. -Once the first SOS marker has been reached, you must call -jpeg_start_decompress() before jpeg_consume_input() will consume more input; -it'll just keep returning JPEG_REACHED_SOS until you do. If you read a -tables-only file this way, jpeg_consume_input() will return JPEG_REACHED_EOI -without ever returning JPEG_REACHED_SOS; be sure to check for this case. -If this happens, the decompressor will not read any more input until you call -jpeg_abort() to reset it. It is OK to call jpeg_consume_input() even when not -using buffered-image mode, but in that case it's basically a no-op after the -initial markers have been read: it will just return JPEG_SUSPENDED. - - -Abbreviated datastreams and multiple images -------------------------------------------- - -A JPEG compression or decompression object can be reused to process multiple -images. This saves a small amount of time per image by eliminating the -"create" and "destroy" operations, but that isn't the real purpose of the -feature. Rather, reuse of an object provides support for abbreviated JPEG -datastreams. Object reuse can also simplify processing a series of images in -a single input or output file. This section explains these features. - -A JPEG file normally contains several hundred bytes worth of quantization -and Huffman tables. In a situation where many images will be stored or -transmitted with identical tables, this may represent an annoying overhead. -The JPEG standard therefore permits tables to be omitted. The standard -defines three classes of JPEG datastreams: - * "Interchange" datastreams contain an image and all tables needed to decode - the image. These are the usual kind of JPEG file. - * "Abbreviated image" datastreams contain an image, but are missing some or - all of the tables needed to decode that image. - * "Abbreviated table specification" (henceforth "tables-only") datastreams - contain only table specifications. -To decode an abbreviated image, it is necessary to load the missing table(s) -into the decoder beforehand. This can be accomplished by reading a separate -tables-only file. A variant scheme uses a series of images in which the first -image is an interchange (complete) datastream, while subsequent ones are -abbreviated and rely on the tables loaded by the first image. It is assumed -that once the decoder has read a table, it will remember that table until a -new definition for the same table number is encountered. - -It is the application designer's responsibility to figure out how to associate -the correct tables with an abbreviated image. While abbreviated datastreams -can be useful in a closed environment, their use is strongly discouraged in -any situation where data exchange with other applications might be needed. -Caveat designer. - -The JPEG library provides support for reading and writing any combination of -tables-only datastreams and abbreviated images. In both compression and -decompression objects, a quantization or Huffman table will be retained for -the lifetime of the object, unless it is overwritten by a new table definition. - - -To create abbreviated image datastreams, it is only necessary to tell the -compressor not to emit some or all of the tables it is using. Each -quantization and Huffman table struct contains a boolean field "sent_table", -which normally is initialized to FALSE. For each table used by the image, the -header-writing process emits the table and sets sent_table = TRUE unless it is -already TRUE. (In normal usage, this prevents outputting the same table -definition multiple times, as would otherwise occur because the chroma -components typically share tables.) Thus, setting this field to TRUE before -calling jpeg_start_compress() will prevent the table from being written at -all. - -If you want to create a "pure" abbreviated image file containing no tables, -just call "jpeg_suppress_tables(&cinfo, TRUE)" after constructing all the -tables. If you want to emit some but not all tables, you'll need to set the -individual sent_table fields directly. - -To create an abbreviated image, you must also call jpeg_start_compress() -with a second parameter of FALSE, not TRUE. Otherwise jpeg_start_compress() -will force all the sent_table fields to FALSE. (This is a safety feature to -prevent abbreviated images from being created accidentally.) - -To create a tables-only file, perform the same parameter setup that you -normally would, but instead of calling jpeg_start_compress() and so on, call -jpeg_write_tables(&cinfo). This will write an abbreviated datastream -containing only SOI, DQT and/or DHT markers, and EOI. All the quantization -and Huffman tables that are currently defined in the compression object will -be emitted unless their sent_tables flag is already TRUE, and then all the -sent_tables flags will be set TRUE. - -A sure-fire way to create matching tables-only and abbreviated image files -is to proceed as follows: - - create JPEG compression object - set JPEG parameters - set destination to tables-only file - jpeg_write_tables(&cinfo); - set destination to image file - jpeg_start_compress(&cinfo, FALSE); - write data... - jpeg_finish_compress(&cinfo); - -Since the JPEG parameters are not altered between writing the table file and -the abbreviated image file, the same tables are sure to be used. Of course, -you can repeat the jpeg_start_compress() ... jpeg_finish_compress() sequence -many times to produce many abbreviated image files matching the table file. - -You cannot suppress output of the computed Huffman tables when Huffman -optimization is selected. (If you could, there'd be no way to decode the -image...) Generally, you don't want to set optimize_coding = TRUE when -you are trying to produce abbreviated files. - -In some cases you might want to compress an image using tables which are -not stored in the application, but are defined in an interchange or -tables-only file readable by the application. This can be done by setting up -a JPEG decompression object to read the specification file, then copying the -tables into your compression object. See jpeg_copy_critical_parameters() -for an example of copying quantization tables. - - -To read abbreviated image files, you simply need to load the proper tables -into the decompression object before trying to read the abbreviated image. -If the proper tables are stored in the application program, you can just -allocate the table structs and fill in their contents directly. For example, -to load a fixed quantization table into table slot "n": - - if (cinfo.quant_tbl_ptrs[n] == NULL) - cinfo.quant_tbl_ptrs[n] = jpeg_alloc_quant_table((j_common_ptr) &cinfo); - quant_ptr = cinfo.quant_tbl_ptrs[n]; /* quant_ptr is JQUANT_TBL* */ - for (i = 0; i < 64; i++) { - /* Qtable[] is desired quantization table, in natural array order */ - quant_ptr->quantval[i] = Qtable[i]; - } - -Code to load a fixed Huffman table is typically (for AC table "n"): - - if (cinfo.ac_huff_tbl_ptrs[n] == NULL) - cinfo.ac_huff_tbl_ptrs[n] = jpeg_alloc_huff_table((j_common_ptr) &cinfo); - huff_ptr = cinfo.ac_huff_tbl_ptrs[n]; /* huff_ptr is JHUFF_TBL* */ - for (i = 1; i <= 16; i++) { - /* counts[i] is number of Huffman codes of length i bits, i=1..16 */ - huff_ptr->bits[i] = counts[i]; - } - for (i = 0; i < 256; i++) { - /* symbols[] is the list of Huffman symbols, in code-length order */ - huff_ptr->huffval[i] = symbols[i]; - } - -(Note that trying to set cinfo.quant_tbl_ptrs[n] to point directly at a -constant JQUANT_TBL object is not safe. If the incoming file happened to -contain a quantization table definition, your master table would get -overwritten! Instead allocate a working table copy and copy the master table -into it, as illustrated above. Ditto for Huffman tables, of course.) - -You might want to read the tables from a tables-only file, rather than -hard-wiring them into your application. The jpeg_read_header() call is -sufficient to read a tables-only file. You must pass a second parameter of -FALSE to indicate that you do not require an image to be present. Thus, the -typical scenario is - - create JPEG decompression object - set source to tables-only file - jpeg_read_header(&cinfo, FALSE); - set source to abbreviated image file - jpeg_read_header(&cinfo, TRUE); - set decompression parameters - jpeg_start_decompress(&cinfo); - read data... - jpeg_finish_decompress(&cinfo); - -In some cases, you may want to read a file without knowing whether it contains -an image or just tables. In that case, pass FALSE and check the return value -from jpeg_read_header(): it will be JPEG_HEADER_OK if an image was found, -JPEG_HEADER_TABLES_ONLY if only tables were found. (A third return value, -JPEG_SUSPENDED, is possible when using a suspending data source manager.) -Note that jpeg_read_header() will not complain if you read an abbreviated -image for which you haven't loaded the missing tables; the missing-table check -occurs later, in jpeg_start_decompress(). - - -It is possible to read a series of images from a single source file by -repeating the jpeg_read_header() ... jpeg_finish_decompress() sequence, -without releasing/recreating the JPEG object or the data source module. -(If you did reinitialize, any partial bufferload left in the data source -buffer at the end of one image would be discarded, causing you to lose the -start of the next image.) When you use this method, stored tables are -automatically carried forward, so some of the images can be abbreviated images -that depend on tables from earlier images. - -If you intend to write a series of images into a single destination file, -you might want to make a specialized data destination module that doesn't -flush the output buffer at term_destination() time. This would speed things -up by some trifling amount. Of course, you'd need to remember to flush the -buffer after the last image. You can make the later images be abbreviated -ones by passing FALSE to jpeg_start_compress(). - - -Special markers ---------------- - -Some applications may need to insert or extract special data in the JPEG -datastream. The JPEG standard provides marker types "COM" (comment) and -"APP0" through "APP15" (application) to hold application-specific data. -Unfortunately, the use of these markers is not specified by the standard. -COM markers are fairly widely used to hold user-supplied text. The JFIF file -format spec uses APP0 markers with specified initial strings to hold certain -data. Adobe applications use APP14 markers beginning with the string "Adobe" -for miscellaneous data. Other APPn markers are rarely seen, but might -contain almost anything. - -If you wish to store user-supplied text, we recommend you use COM markers -and place readable 7-bit ASCII text in them. Newline conventions are not -standardized --- expect to find LF (Unix style), CR/LF (DOS style), or CR -(Mac style). A robust COM reader should be able to cope with random binary -garbage, including nulls, since some applications generate COM markers -containing non-ASCII junk. (But yours should not be one of them.) - -For program-supplied data, use an APPn marker, and be sure to begin it with an -identifying string so that you can tell whether the marker is actually yours. -It's probably best to avoid using APP0 or APP14 for any private markers. -(NOTE: the upcoming SPIFF standard will use APP8 markers; we recommend you -not use APP8 markers for any private purposes, either.) - -Keep in mind that at most 65533 bytes can be put into one marker, but you -can have as many markers as you like. - -By default, the IJG compression library will write a JFIF APP0 marker if the -selected JPEG colorspace is grayscale or YCbCr, or an Adobe APP14 marker if -the selected colorspace is RGB, CMYK, or YCCK. You can disable this, but -we don't recommend it. The decompression library will recognize JFIF and -Adobe markers and will set the JPEG colorspace properly when one is found. - - -You can write special markers immediately following the datastream header by -calling jpeg_write_marker() after jpeg_start_compress() and before the first -call to jpeg_write_scanlines(). When you do this, the markers appear after -the SOI and the JFIF APP0 and Adobe APP14 markers (if written), but before -all else. Specify the marker type parameter as "JPEG_COM" for COM or -"JPEG_APP0 + n" for APPn. (Actually, jpeg_write_marker will let you write -any marker type, but we don't recommend writing any other kinds of marker.) -For example, to write a user comment string pointed to by comment_text: - jpeg_write_marker(cinfo, JPEG_COM, comment_text, strlen(comment_text)); - -If it's not convenient to store all the marker data in memory at once, -you can instead call jpeg_write_m_header() followed by multiple calls to -jpeg_write_m_byte(). If you do it this way, it's your responsibility to -call jpeg_write_m_byte() exactly the number of times given in the length -parameter to jpeg_write_m_header(). (This method lets you empty the -output buffer partway through a marker, which might be important when -using a suspending data destination module. In any case, if you are using -a suspending destination, you should flush its buffer after inserting -any special markers. See "I/O suspension".) - -Or, if you prefer to synthesize the marker byte sequence yourself, -you can just cram it straight into the data destination module. - -If you are writing JFIF 1.02 extension markers (thumbnail images), don't -forget to set cinfo.JFIF_minor_version = 2 so that the encoder will write the -correct JFIF version number in the JFIF header marker. The library's default -is to write version 1.01, but that's wrong if you insert any 1.02 extension -markers. (We could probably get away with just defaulting to 1.02, but there -used to be broken decoders that would complain about unknown minor version -numbers. To reduce compatibility risks it's safest not to write 1.02 unless -you are actually using 1.02 extensions.) - - -When reading, two methods of handling special markers are available: -1. You can ask the library to save the contents of COM and/or APPn markers -into memory, and then examine them at your leisure afterwards. -2. You can supply your own routine to process COM and/or APPn markers -on-the-fly as they are read. -The first method is simpler to use, especially if you are using a suspending -data source; writing a marker processor that copes with input suspension is -not easy (consider what happens if the marker is longer than your available -input buffer). However, the second method conserves memory since the marker -data need not be kept around after it's been processed. - -For either method, you'd normally set up marker handling after creating a -decompression object and before calling jpeg_read_header(), because the -markers of interest will typically be near the head of the file and so will -be scanned by jpeg_read_header. Once you've established a marker handling -method, it will be used for the life of that decompression object -(potentially many datastreams), unless you change it. Marker handling is -determined separately for COM markers and for each APPn marker code. - - -To save the contents of special markers in memory, call - jpeg_save_markers(cinfo, marker_code, length_limit) -where marker_code is the marker type to save, JPEG_COM or JPEG_APP0+n. -(To arrange to save all the special marker types, you need to call this -routine 17 times, for COM and APP0-APP15.) If the incoming marker is longer -than length_limit data bytes, only length_limit bytes will be saved; this -parameter allows you to avoid chewing up memory when you only need to see the -first few bytes of a potentially large marker. If you want to save all the -data, set length_limit to 0xFFFF; that is enough since marker lengths are only -16 bits. As a special case, setting length_limit to 0 prevents that marker -type from being saved at all. (That is the default behavior, in fact.) - -After jpeg_read_header() completes, you can examine the special markers by -following the cinfo->marker_list pointer chain. All the special markers in -the file appear in this list, in order of their occurrence in the file (but -omitting any markers of types you didn't ask for). Both the original data -length and the saved data length are recorded for each list entry; the latter -will not exceed length_limit for the particular marker type. Note that these -lengths exclude the marker length word, whereas the stored representation -within the JPEG file includes it. (Hence the maximum data length is really -only 65533.) - -It is possible that additional special markers appear in the file beyond the -SOS marker at which jpeg_read_header stops; if so, the marker list will be -extended during reading of the rest of the file. This is not expected to be -common, however. If you are short on memory you may want to reset the length -limit to zero for all marker types after finishing jpeg_read_header, to -ensure that the max_memory_to_use setting cannot be exceeded due to addition -of later markers. - -The marker list remains stored until you call jpeg_finish_decompress or -jpeg_abort, at which point the memory is freed and the list is set to empty. -(jpeg_destroy also releases the storage, of course.) - -Note that the library is internally interested in APP0 and APP14 markers; -if you try to set a small nonzero length limit on these types, the library -will silently force the length up to the minimum it wants. (But you can set -a zero length limit to prevent them from being saved at all.) Also, in a -16-bit environment, the maximum length limit may be constrained to less than -65533 by malloc() limitations. It is therefore best not to assume that the -effective length limit is exactly what you set it to be. - - -If you want to supply your own marker-reading routine, you do it by calling -jpeg_set_marker_processor(). A marker processor routine must have the -signature - boolean jpeg_marker_parser_method (j_decompress_ptr cinfo) -Although the marker code is not explicitly passed, the routine can find it -in cinfo->unread_marker. At the time of call, the marker proper has been -read from the data source module. The processor routine is responsible for -reading the marker length word and the remaining parameter bytes, if any. -Return TRUE to indicate success. (FALSE should be returned only if you are -using a suspending data source and it tells you to suspend. See the standard -marker processors in jdmarker.c for appropriate coding methods if you need to -use a suspending data source.) - -If you override the default APP0 or APP14 processors, it is up to you to -recognize JFIF and Adobe markers if you want colorspace recognition to occur -properly. We recommend copying and extending the default processors if you -want to do that. (A better idea is to save these marker types for later -examination by calling jpeg_save_markers(); that method doesn't interfere -with the library's own processing of these markers.) - -jpeg_set_marker_processor() and jpeg_save_markers() are mutually exclusive ---- if you call one it overrides any previous call to the other, for the -particular marker type specified. - -A simple example of an external COM processor can be found in djpeg.c. -Also, see jpegtran.c for an example of using jpeg_save_markers. - - -Raw (downsampled) image data ----------------------------- - -Some applications need to supply already-downsampled image data to the JPEG -compressor, or to receive raw downsampled data from the decompressor. The -library supports this requirement by allowing the application to write or -read raw data, bypassing the normal preprocessing or postprocessing steps. -The interface is different from the standard one and is somewhat harder to -use. If your interest is merely in bypassing color conversion, we recommend -that you use the standard interface and simply set jpeg_color_space = -in_color_space (or jpeg_color_space = out_color_space for decompression). -The mechanism described in this section is necessary only to supply or -receive downsampled image data, in which not all components have the same -dimensions. - - -To compress raw data, you must supply the data in the colorspace to be used -in the JPEG file (please read the earlier section on Special color spaces) -and downsampled to the sampling factors specified in the JPEG parameters. -You must supply the data in the format used internally by the JPEG library, -namely a JSAMPIMAGE array. This is an array of pointers to two-dimensional -arrays, each of type JSAMPARRAY. Each 2-D array holds the values for one -color component. This structure is necessary since the components are of -different sizes. If the image dimensions are not a multiple of the MCU size, -you must also pad the data correctly (usually, this is done by replicating -the last column and/or row). The data must be padded to a multiple of a DCT -block in each component: that is, each downsampled row must contain a -multiple of 8 valid samples, and there must be a multiple of 8 sample rows -for each component. (For applications such as conversion of digital TV -images, the standard image size is usually a multiple of the DCT block size, -so that no padding need actually be done.) - -The procedure for compression of raw data is basically the same as normal -compression, except that you call jpeg_write_raw_data() in place of -jpeg_write_scanlines(). Before calling jpeg_start_compress(), you must do -the following: - * Set cinfo->raw_data_in to TRUE. (It is set FALSE by jpeg_set_defaults().) - This notifies the library that you will be supplying raw data. - Furthermore, set cinfo->do_fancy_downsampling to FALSE if you want to use - real downsampled data. (It is set TRUE by jpeg_set_defaults().) - * Ensure jpeg_color_space is correct --- an explicit jpeg_set_colorspace() - call is a good idea. Note that since color conversion is bypassed, - in_color_space is ignored, except that jpeg_set_defaults() uses it to - choose the default jpeg_color_space setting. - * Ensure the sampling factors, cinfo->comp_info[i].h_samp_factor and - cinfo->comp_info[i].v_samp_factor, are correct. Since these indicate the - dimensions of the data you are supplying, it's wise to set them - explicitly, rather than assuming the library's defaults are what you want. - -To pass raw data to the library, call jpeg_write_raw_data() in place of -jpeg_write_scanlines(). The two routines work similarly except that -jpeg_write_raw_data takes a JSAMPIMAGE data array rather than JSAMPARRAY. -The scanlines count passed to and returned from jpeg_write_raw_data is -measured in terms of the component with the largest v_samp_factor. - -jpeg_write_raw_data() processes one MCU row per call, which is to say -v_samp_factor*DCTSIZE sample rows of each component. The passed num_lines -value must be at least max_v_samp_factor*DCTSIZE, and the return value will -be exactly that amount (or possibly some multiple of that amount, in future -library versions). This is true even on the last call at the bottom of the -image; don't forget to pad your data as necessary. - -The required dimensions of the supplied data can be computed for each -component as - cinfo->comp_info[i].width_in_blocks*DCTSIZE samples per row - cinfo->comp_info[i].height_in_blocks*DCTSIZE rows in image -after jpeg_start_compress() has initialized those fields. If the valid data -is smaller than this, it must be padded appropriately. For some sampling -factors and image sizes, additional dummy DCT blocks are inserted to make -the image a multiple of the MCU dimensions. The library creates such dummy -blocks itself; it does not read them from your supplied data. Therefore you -need never pad by more than DCTSIZE samples. An example may help here. -Assume 2h2v downsampling of YCbCr data, that is - cinfo->comp_info[0].h_samp_factor = 2 for Y - cinfo->comp_info[0].v_samp_factor = 2 - cinfo->comp_info[1].h_samp_factor = 1 for Cb - cinfo->comp_info[1].v_samp_factor = 1 - cinfo->comp_info[2].h_samp_factor = 1 for Cr - cinfo->comp_info[2].v_samp_factor = 1 -and suppose that the nominal image dimensions (cinfo->image_width and -cinfo->image_height) are 101x101 pixels. Then jpeg_start_compress() will -compute downsampled_width = 101 and width_in_blocks = 13 for Y, -downsampled_width = 51 and width_in_blocks = 7 for Cb and Cr (and the same -for the height fields). You must pad the Y data to at least 13*8 = 104 -columns and rows, the Cb/Cr data to at least 7*8 = 56 columns and rows. The -MCU height is max_v_samp_factor = 2 DCT rows so you must pass at least 16 -scanlines on each call to jpeg_write_raw_data(), which is to say 16 actual -sample rows of Y and 8 each of Cb and Cr. A total of 7 MCU rows are needed, -so you must pass a total of 7*16 = 112 "scanlines". The last DCT block row -of Y data is dummy, so it doesn't matter what you pass for it in the data -arrays, but the scanlines count must total up to 112 so that all of the Cb -and Cr data gets passed. - -Output suspension is supported with raw-data compression: if the data -destination module suspends, jpeg_write_raw_data() will return 0. -In this case the same data rows must be passed again on the next call. - - -Decompression with raw data output implies bypassing all postprocessing. -You must deal with the color space and sampling factors present in the -incoming file. If your application only handles, say, 2h1v YCbCr data, -you must check for and fail on other color spaces or other sampling factors. -The library will not convert to a different color space for you. - -To obtain raw data output, set cinfo->raw_data_out = TRUE before -jpeg_start_decompress() (it is set FALSE by jpeg_read_header()). Be sure to -verify that the color space and sampling factors are ones you can handle. -Furthermore, set cinfo->do_fancy_upsampling = FALSE if you want to get real -downsampled data (it is set TRUE by jpeg_read_header()). -Then call jpeg_read_raw_data() in place of jpeg_read_scanlines(). The -decompression process is otherwise the same as usual. - -jpeg_read_raw_data() returns one MCU row per call, and thus you must pass a -buffer of at least max_v_samp_factor*DCTSIZE scanlines (scanline counting is -the same as for raw-data compression). The buffer you pass must be large -enough to hold the actual data plus padding to DCT-block boundaries. As with -compression, any entirely dummy DCT blocks are not processed so you need not -allocate space for them, but the total scanline count includes them. The -above example of computing buffer dimensions for raw-data compression is -equally valid for decompression. - -Input suspension is supported with raw-data decompression: if the data source -module suspends, jpeg_read_raw_data() will return 0. You can also use -buffered-image mode to read raw data in multiple passes. - - -Really raw data: DCT coefficients ---------------------------------- - -It is possible to read or write the contents of a JPEG file as raw DCT -coefficients. This facility is mainly intended for use in lossless -transcoding between different JPEG file formats. Other possible applications -include lossless cropping of a JPEG image, lossless reassembly of a -multi-strip or multi-tile TIFF/JPEG file into a single JPEG datastream, etc. - -To read the contents of a JPEG file as DCT coefficients, open the file and do -jpeg_read_header() as usual. But instead of calling jpeg_start_decompress() -and jpeg_read_scanlines(), call jpeg_read_coefficients(). This will read the -entire image into a set of virtual coefficient-block arrays, one array per -component. The return value is a pointer to an array of virtual-array -descriptors. Each virtual array can be accessed directly using the JPEG -memory manager's access_virt_barray method (see Memory management, below, -and also read structure.txt's discussion of virtual array handling). Or, -for simple transcoding to a different JPEG file format, the array list can -just be handed directly to jpeg_write_coefficients(). - -Each block in the block arrays contains quantized coefficient values in -normal array order (not JPEG zigzag order). The block arrays contain only -DCT blocks containing real data; any entirely-dummy blocks added to fill out -interleaved MCUs at the right or bottom edges of the image are discarded -during reading and are not stored in the block arrays. (The size of each -block array can be determined from the width_in_blocks and height_in_blocks -fields of the component's comp_info entry.) This is also the data format -expected by jpeg_write_coefficients(). - -When you are done using the virtual arrays, call jpeg_finish_decompress() -to release the array storage and return the decompression object to an idle -state; or just call jpeg_destroy() if you don't need to reuse the object. - -If you use a suspending data source, jpeg_read_coefficients() will return -NULL if it is forced to suspend; a non-NULL return value indicates successful -completion. You need not test for a NULL return value when using a -non-suspending data source. - -It is also possible to call jpeg_read_coefficients() to obtain access to the -decoder's coefficient arrays during a normal decode cycle in buffered-image -mode. This frammish might be useful for progressively displaying an incoming -image and then re-encoding it without loss. To do this, decode in buffered- -image mode as discussed previously, then call jpeg_read_coefficients() after -the last jpeg_finish_output() call. The arrays will be available for your use -until you call jpeg_finish_decompress(). - - -To write the contents of a JPEG file as DCT coefficients, you must provide -the DCT coefficients stored in virtual block arrays. You can either pass -block arrays read from an input JPEG file by jpeg_read_coefficients(), or -allocate virtual arrays from the JPEG compression object and fill them -yourself. In either case, jpeg_write_coefficients() is substituted for -jpeg_start_compress() and jpeg_write_scanlines(). Thus the sequence is - * Create compression object - * Set all compression parameters as necessary - * Request virtual arrays if needed - * jpeg_write_coefficients() - * jpeg_finish_compress() - * Destroy or re-use compression object -jpeg_write_coefficients() is passed a pointer to an array of virtual block -array descriptors; the number of arrays is equal to cinfo.num_components. - -The virtual arrays need only have been requested, not realized, before -jpeg_write_coefficients() is called. A side-effect of -jpeg_write_coefficients() is to realize any virtual arrays that have been -requested from the compression object's memory manager. Thus, when obtaining -the virtual arrays from the compression object, you should fill the arrays -after calling jpeg_write_coefficients(). The data is actually written out -when you call jpeg_finish_compress(); jpeg_write_coefficients() only writes -the file header. - -When writing raw DCT coefficients, it is crucial that the JPEG quantization -tables and sampling factors match the way the data was encoded, or the -resulting file will be invalid. For transcoding from an existing JPEG file, -we recommend using jpeg_copy_critical_parameters(). This routine initializes -all the compression parameters to default values (like jpeg_set_defaults()), -then copies the critical information from a source decompression object. -The decompression object should have just been used to read the entire -JPEG input file --- that is, it should be awaiting jpeg_finish_decompress(). - -jpeg_write_coefficients() marks all tables stored in the compression object -as needing to be written to the output file (thus, it acts like -jpeg_start_compress(cinfo, TRUE)). This is for safety's sake, to avoid -emitting abbreviated JPEG files by accident. If you really want to emit an -abbreviated JPEG file, call jpeg_suppress_tables(), or set the tables' -individual sent_table flags, between calling jpeg_write_coefficients() and -jpeg_finish_compress(). - - -Progress monitoring -------------------- - -Some applications may need to regain control from the JPEG library every so -often. The typical use of this feature is to produce a percent-done bar or -other progress display. (For a simple example, see cjpeg.c or djpeg.c.) -Although you do get control back frequently during the data-transferring pass -(the jpeg_read_scanlines or jpeg_write_scanlines loop), any additional passes -will occur inside jpeg_finish_compress or jpeg_start_decompress; those -routines may take a long time to execute, and you don't get control back -until they are done. - -You can define a progress-monitor routine which will be called periodically -by the library. No guarantees are made about how often this call will occur, -so we don't recommend you use it for mouse tracking or anything like that. -At present, a call will occur once per MCU row, scanline, or sample row -group, whichever unit is convenient for the current processing mode; so the -wider the image, the longer the time between calls. During the data -transferring pass, only one call occurs per call of jpeg_read_scanlines or -jpeg_write_scanlines, so don't pass a large number of scanlines at once if -you want fine resolution in the progress count. (If you really need to use -the callback mechanism for time-critical tasks like mouse tracking, you could -insert additional calls inside some of the library's inner loops.) - -To establish a progress-monitor callback, create a struct jpeg_progress_mgr, -fill in its progress_monitor field with a pointer to your callback routine, -and set cinfo->progress to point to the struct. The callback will be called -whenever cinfo->progress is non-NULL. (This pointer is set to NULL by -jpeg_create_compress or jpeg_create_decompress; the library will not change -it thereafter. So if you allocate dynamic storage for the progress struct, -make sure it will live as long as the JPEG object does. Allocating from the -JPEG memory manager with lifetime JPOOL_PERMANENT will work nicely.) You -can use the same callback routine for both compression and decompression. - -The jpeg_progress_mgr struct contains four fields which are set by the library: - long pass_counter; /* work units completed in this pass */ - long pass_limit; /* total number of work units in this pass */ - int completed_passes; /* passes completed so far */ - int total_passes; /* total number of passes expected */ -During any one pass, pass_counter increases from 0 up to (not including) -pass_limit; the step size is usually but not necessarily 1. The pass_limit -value may change from one pass to another. The expected total number of -passes is in total_passes, and the number of passes already completed is in -completed_passes. Thus the fraction of work completed may be estimated as - completed_passes + (pass_counter/pass_limit) - -------------------------------------------- - total_passes -ignoring the fact that the passes may not be equal amounts of work. - -When decompressing, pass_limit can even change within a pass, because it -depends on the number of scans in the JPEG file, which isn't always known in -advance. The computed fraction-of-work-done may jump suddenly (if the library -discovers it has overestimated the number of scans) or even decrease (in the -opposite case). It is not wise to put great faith in the work estimate. - -When using the decompressor's buffered-image mode, the progress monitor work -estimate is likely to be completely unhelpful, because the library has no way -to know how many output passes will be demanded of it. Currently, the library -sets total_passes based on the assumption that there will be one more output -pass if the input file end hasn't yet been read (jpeg_input_complete() isn't -TRUE), but no more output passes if the file end has been reached when the -output pass is started. This means that total_passes will rise as additional -output passes are requested. If you have a way of determining the input file -size, estimating progress based on the fraction of the file that's been read -will probably be more useful than using the library's value. - - -Memory management ------------------ - -This section covers some key facts about the JPEG library's built-in memory -manager. For more info, please read structure.txt's section about the memory -manager, and consult the source code if necessary. - -All memory and temporary file allocation within the library is done via the -memory manager. If necessary, you can replace the "back end" of the memory -manager to control allocation yourself (for example, if you don't want the -library to use malloc() and free() for some reason). - -Some data is allocated "permanently" and will not be freed until the JPEG -object is destroyed. Most data is allocated "per image" and is freed by -jpeg_finish_compress, jpeg_finish_decompress, or jpeg_abort. You can call the -memory manager yourself to allocate structures that will automatically be -freed at these times. Typical code for this is - ptr = (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, size); -Use JPOOL_PERMANENT to get storage that lasts as long as the JPEG object. -Use alloc_large instead of alloc_small for anything bigger than a few Kbytes. -There are also alloc_sarray and alloc_barray routines that automatically -build 2-D sample or block arrays. - -The library's minimum space requirements to process an image depend on the -image's width, but not on its height, because the library ordinarily works -with "strip" buffers that are as wide as the image but just a few rows high. -Some operating modes (eg, two-pass color quantization) require full-image -buffers. Such buffers are treated as "virtual arrays": only the current strip -need be in memory, and the rest can be swapped out to a temporary file. - -If you use the simplest memory manager back end (jmemnobs.c), then no -temporary files are used; virtual arrays are simply malloc()'d. Images bigger -than memory can be processed only if your system supports virtual memory. -The other memory manager back ends support temporary files of various flavors -and thus work in machines without virtual memory. They may also be useful on -Unix machines if you need to process images that exceed available swap space. - -When using temporary files, the library will make the in-memory buffers for -its virtual arrays just big enough to stay within a "maximum memory" setting. -Your application can set this limit by setting cinfo->mem->max_memory_to_use -after creating the JPEG object. (Of course, there is still a minimum size for -the buffers, so the max-memory setting is effective only if it is bigger than -the minimum space needed.) If you allocate any large structures yourself, you -must allocate them before jpeg_start_compress() or jpeg_start_decompress() in -order to have them counted against the max memory limit. Also keep in mind -that space allocated with alloc_small() is ignored, on the assumption that -it's too small to be worth worrying about; so a reasonable safety margin -should be left when setting max_memory_to_use. - -If you use the jmemname.c or jmemdos.c memory manager back end, it is -important to clean up the JPEG object properly to ensure that the temporary -files get deleted. (This is especially crucial with jmemdos.c, where the -"temporary files" may be extended-memory segments; if they are not freed, -DOS will require a reboot to recover the memory.) Thus, with these memory -managers, it's a good idea to provide a signal handler that will trap any -early exit from your program. The handler should call either jpeg_abort() -or jpeg_destroy() for any active JPEG objects. A handler is not needed with -jmemnobs.c, and shouldn't be necessary with jmemansi.c or jmemmac.c either, -since the C library is supposed to take care of deleting files made with -tmpfile(). - - -Memory usage ------------- - -Working memory requirements while performing compression or decompression -depend on image dimensions, image characteristics (such as colorspace and -JPEG process), and operating mode (application-selected options). - -As of v6b, the decompressor requires: - 1. About 24K in more-or-less-fixed-size data. This varies a bit depending - on operating mode and image characteristics (particularly color vs. - grayscale), but it doesn't depend on image dimensions. - 2. Strip buffers (of size proportional to the image width) for IDCT and - upsampling results. The worst case for commonly used sampling factors - is about 34 bytes * width in pixels for a color image. A grayscale image - only needs about 8 bytes per pixel column. - 3. A full-image DCT coefficient buffer is needed to decode a multi-scan JPEG - file (including progressive JPEGs), or whenever you select buffered-image - mode. This takes 2 bytes/coefficient. At typical 2x2 sampling, that's - 3 bytes per pixel for a color image. Worst case (1x1 sampling) requires - 6 bytes/pixel. For grayscale, figure 2 bytes/pixel. - 4. To perform 2-pass color quantization, the decompressor also needs a - 128K color lookup table and a full-image pixel buffer (3 bytes/pixel). -This does not count any memory allocated by the application, such as a -buffer to hold the final output image. - -The above figures are valid for 8-bit JPEG data precision and a machine with -32-bit ints. For 12-bit JPEG data, double the size of the strip buffers and -quantization pixel buffer. The "fixed-size" data will be somewhat smaller -with 16-bit ints, larger with 64-bit ints. Also, CMYK or other unusual -color spaces will require different amounts of space. - -The full-image coefficient and pixel buffers, if needed at all, do not -have to be fully RAM resident; you can have the library use temporary -files instead when the total memory usage would exceed a limit you set. -(But if your OS supports virtual memory, it's probably better to just use -jmemnobs and let the OS do the swapping.) - -The compressor's memory requirements are similar, except that it has no need -for color quantization. Also, it needs a full-image DCT coefficient buffer -if Huffman-table optimization is asked for, even if progressive mode is not -requested. - -If you need more detailed information about memory usage in a particular -situation, you can enable the MEM_STATS code in jmemmgr.c. - - -Library compile-time options ----------------------------- - -A number of compile-time options are available by modifying jmorecfg.h. - -The JPEG standard provides for both the baseline 8-bit DCT process and -a 12-bit DCT process. The IJG code supports 12-bit lossy JPEG if you define -BITS_IN_JSAMPLE as 12 rather than 8. Note that this causes JSAMPLE to be -larger than a char, so it affects the surrounding application's image data. -The sample applications cjpeg and djpeg can support 12-bit mode only for PPM -and GIF file formats; you must disable the other file formats to compile a -12-bit cjpeg or djpeg. (install.txt has more information about that.) -At present, a 12-bit library can handle *only* 12-bit images, not both -precisions. (If you need to include both 8- and 12-bit libraries in a single -application, you could probably do it by defining NEED_SHORT_EXTERNAL_NAMES -for just one of the copies. You'd have to access the 8-bit and 12-bit copies -from separate application source files. This is untested ... if you try it, -we'd like to hear whether it works!) - -Note that a 12-bit library always compresses in Huffman optimization mode, -in order to generate valid Huffman tables. This is necessary because our -default Huffman tables only cover 8-bit data. If you need to output 12-bit -files in one pass, you'll have to supply suitable default Huffman tables. -You may also want to supply your own DCT quantization tables; the existing -quality-scaling code has been developed for 8-bit use, and probably doesn't -generate especially good tables for 12-bit. - -The maximum number of components (color channels) in the image is determined -by MAX_COMPONENTS. The JPEG standard allows up to 255 components, but we -expect that few applications will need more than four or so. - -On machines with unusual data type sizes, you may be able to improve -performance or reduce memory space by tweaking the various typedefs in -jmorecfg.h. In particular, on some RISC CPUs, access to arrays of "short"s -is quite slow; consider trading memory for speed by making JCOEF, INT16, and -UINT16 be "int" or "unsigned int". UINT8 is also a candidate to become int. -You probably don't want to make JSAMPLE be int unless you have lots of memory -to burn. - -You can reduce the size of the library by compiling out various optional -functions. To do this, undefine xxx_SUPPORTED symbols as necessary. - -You can also save a few K by not having text error messages in the library; -the standard error message table occupies about 5Kb. This is particularly -reasonable for embedded applications where there's no good way to display -a message anyway. To do this, remove the creation of the message table -(jpeg_std_message_table[]) from jerror.c, and alter format_message to do -something reasonable without it. You could output the numeric value of the -message code number, for example. If you do this, you can also save a couple -more K by modifying the TRACEMSn() macros in jerror.h to expand to nothing; -you don't need trace capability anyway, right? - - -Portability considerations --------------------------- - -The JPEG library has been written to be extremely portable; the sample -applications cjpeg and djpeg are slightly less so. This section summarizes -the design goals in this area. (If you encounter any bugs that cause the -library to be less portable than is claimed here, we'd appreciate hearing -about them.) - -The code works fine on ANSI C, C++, and pre-ANSI C compilers, using any of -the popular system include file setups, and some not-so-popular ones too. -See install.txt for configuration procedures. - -The code is not dependent on the exact sizes of the C data types. As -distributed, we make the assumptions that - char is at least 8 bits wide - short is at least 16 bits wide - int is at least 16 bits wide - long is at least 32 bits wide -(These are the minimum requirements of the ANSI C standard.) Wider types will -work fine, although memory may be used inefficiently if char is much larger -than 8 bits or short is much bigger than 16 bits. The code should work -equally well with 16- or 32-bit ints. - -In a system where these assumptions are not met, you may be able to make the -code work by modifying the typedefs in jmorecfg.h. However, you will probably -have difficulty if int is less than 16 bits wide, since references to plain -int abound in the code. - -char can be either signed or unsigned, although the code runs faster if an -unsigned char type is available. If char is wider than 8 bits, you will need -to redefine JOCTET and/or provide custom data source/destination managers so -that JOCTET represents exactly 8 bits of data on external storage. - -The JPEG library proper does not assume ASCII representation of characters. -But some of the image file I/O modules in cjpeg/djpeg do have ASCII -dependencies in file-header manipulation; so does cjpeg's select_file_type() -routine. - -The JPEG library does not rely heavily on the C library. In particular, C -stdio is used only by the data source/destination modules and the error -handler, all of which are application-replaceable. (cjpeg/djpeg are more -heavily dependent on stdio.) malloc and free are called only from the memory -manager "back end" module, so you can use a different memory allocator by -replacing that one file. - -The code generally assumes that C names must be unique in the first 15 -characters. However, global function names can be made unique in the -first 6 characters by defining NEED_SHORT_EXTERNAL_NAMES. - -More info about porting the code may be gleaned by reading jconfig.txt, -jmorecfg.h, and jinclude.h. - - -Notes for MS-DOS implementors ------------------------------ - -The IJG code is designed to work efficiently in 80x86 "small" or "medium" -memory models (i.e., data pointers are 16 bits unless explicitly declared -"far"; code pointers can be either size). You may be able to use small -model to compile cjpeg or djpeg by itself, but you will probably have to use -medium model for any larger application. This won't make much difference in -performance. You *will* take a noticeable performance hit if you use a -large-data memory model (perhaps 10%-25%), and you should avoid "huge" model -if at all possible. - -The JPEG library typically needs 2Kb-3Kb of stack space. It will also -malloc about 20K-30K of near heap space while executing (and lots of far -heap, but that doesn't count in this calculation). This figure will vary -depending on selected operating mode, and to a lesser extent on image size. -There is also about 5Kb-6Kb of constant data which will be allocated in the -near data segment (about 4Kb of this is the error message table). -Thus you have perhaps 20K available for other modules' static data and near -heap space before you need to go to a larger memory model. The C library's -static data will account for several K of this, but that still leaves a good -deal for your needs. (If you are tight on space, you could reduce the sizes -of the I/O buffers allocated by jdatasrc.c and jdatadst.c, say from 4K to -1K. Another possibility is to move the error message table to far memory; -this should be doable with only localized hacking on jerror.c.) - -About 2K of the near heap space is "permanent" memory that will not be -released until you destroy the JPEG object. This is only an issue if you -save a JPEG object between compression or decompression operations. - -Far data space may also be a tight resource when you are dealing with large -images. The most memory-intensive case is decompression with two-pass color -quantization, or single-pass quantization to an externally supplied color -map. This requires a 128Kb color lookup table plus strip buffers amounting -to about 40 bytes per column for typical sampling ratios (eg, about 25600 -bytes for a 640-pixel-wide image). You may not be able to process wide -images if you have large data structures of your own. - -Of course, all of these concerns vanish if you use a 32-bit flat-memory-model -compiler, such as DJGPP or Watcom C. We highly recommend flat model if you -can use it; the JPEG library is significantly faster in flat model. diff --git a/3rdparty/openctm/tools/jpeg/ltmain.sh b/3rdparty/openctm/tools/jpeg/ltmain.sh deleted file mode 100644 index ff57f28c6..000000000 --- a/3rdparty/openctm/tools/jpeg/ltmain.sh +++ /dev/null @@ -1,8406 +0,0 @@ -# Generated from ltmain.m4sh. - -# ltmain.sh (GNU libtool) 2.2.6 -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print informational messages (default) -# --version print version information -# -h, --help print short or long help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=2.2.6 -TIMESTAMP="" -package_revision=1.3012 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# NLS nuisances: We save the old values to restore during execute mode. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done - -$lt_unset CDPATH - - - - - -: ${CP="cp -f"} -: ${ECHO="echo"} -: ${EGREP="/usr/bin/grep -E"} -: ${FGREP="/usr/bin/grep -F"} -: ${GREP="/usr/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/opt/local/bin/gsed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -# Generated shell functions inserted here. - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -# In the unlikely event $progname began with a '-', it would play havoc with -# func_echo (imagine progname=-n), so we prepend ./ in that case: -func_dirname_and_basename "$progpath" -progname=$func_basename_result -case $progname in - -*) progname=./$progname ;; -esac - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname${mode+: }$mode: $*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` - done - my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "X$my_tmpdir" | $Xsed -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "X$1" | $Xsed \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - - - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $SED -n '/^# Usage:/,/# -h/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - $ECHO - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help -# Echo long help message to standard output and exit. -func_help () -{ - $SED -n '/^# Usage:/,/# Report bugs to/ { - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - }' < "$progpath" - exit $? -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit -} - -exit_cmd=: - - - - - -# Check that we have a working $ECHO. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell, and then maybe $ECHO will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# Parse options once, thoroughly. This comes as soon as possible in -# the script to make things like `libtool --version' happen quickly. -{ - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Parse non-mode specific arguments: - while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --config) func_config ;; - - --debug) preserve_args="$preserve_args $opt" - func_echo "enabling shell trace mode" - opt_debug='set -x' - $opt_debug - ;; - - -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break - execute_dlfiles="$execute_dlfiles $1" - shift - ;; - - --dry-run | -n) opt_dry_run=: ;; - --features) func_features ;; - --finish) mode="finish" ;; - - --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break - case $1 in - # Valid mode arguments: - clean) ;; - compile) ;; - execute) ;; - finish) ;; - install) ;; - link) ;; - relink) ;; - uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; - esac - - mode="$1" - shift - ;; - - --preserve-dup-deps) - opt_duplicate_deps=: ;; - - --quiet|--silent) preserve_args="$preserve_args $opt" - opt_silent=: - ;; - - --verbose| -v) preserve_args="$preserve_args $opt" - opt_silent=false - ;; - - --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break - preserve_args="$preserve_args $opt $1" - func_enable_tag "$1" # tagname is set here - shift - ;; - - # Separate optargs to long options: - -dlopen=*|--mode=*|--tag=*) - func_opt_split "$opt" - set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} - shift - ;; - - -\?|-h) func_usage ;; - --help) opt_help=: ;; - --version) func_version ;; - - -*) func_fatal_help "unrecognized option \`$opt'" ;; - - *) nonopt="$opt" - break - ;; - esac - done - - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_duplicate_deps - ;; - esac - - # Having warned about all mis-specified options, bail out if - # anything was wrong. - $exit_cmd $EXIT_FAILURE -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -## ----------- ## -## Main. ## -## ----------- ## - -$opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - test -z "$mode" && func_fatal_error "error: you must specify a MODE." - - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$mode' for more information." -} - - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_ltwrapper_scriptname_result="" - if func_ltwrapper_executable_p "$1"; then - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" - fi -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - case "$@ " in - " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - removelist="$removelist $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - removelist="$removelist $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { -test "$mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$mode'" - ;; - esac - - $ECHO - $ECHO "Try \`$progname --help' for more information about other modes." - - exit $? -} - - # Now that we've collected a possible --mode arg, show help if necessary - $opt_help && func_mode_help - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_quote_for_eval "$file" - args="$args $func_quote_for_eval_result" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - $ECHO "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - $ECHO "X----------------------------------------------------------------------" | $Xsed - $ECHO "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - $ECHO - $ECHO "If you ever happen to want to link against installed libraries" - $ECHO "in a given directory, LIBDIR, you must either use libtool, and" - $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" - $ECHO "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" - $ECHO " during execution" - fi - if test -n "$runpath_var"; then - $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" - $ECHO " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $ECHO - - $ECHO "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" - $ECHO "pages." - ;; - *) - $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - $ECHO "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS -} - -test "$mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $ECHO "X$nonopt" | $GREP shtool >/dev/null; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog="$install_prog$func_quote_for_eval_result" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog="$install_prog $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_verbose "extracting global C symbols from \`$progfile'" - $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - $ECHO >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -" - case $host in - *cygwin* | *mingw* | *cegcc* ) - $ECHO >> "$output_objdir/$my_dlsyms" "\ -/* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs. */" - lt_dlsym_const= ;; - *osf5*) - echo >> "$output_objdir/$my_dlsyms" "\ -/* This system does not cope well with relocations in const data */" - lt_dlsym_const= ;; - *) - lt_dlsym_const=const ;; - esac - - $ECHO >> "$output_objdir/$my_dlsyms" "\ -extern $lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -$lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - $ECHO >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags="$symtab_cflags $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - - -# func_emit_wrapper_part1 [arg=no] -# -# Emit the first part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part1 () -{ - func_emit_wrapper_part1_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part1_arg1=$1 - fi - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - ECHO=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$ECHO works! - : - else - # Restart under the correct shell, and then maybe \$ECHO will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $ECHO "\ - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done -" -} -# end: func_emit_wrapper_part1 - -# func_emit_wrapper_part2 [arg=no] -# -# Emit the second part of a libtool wrapper script on stdout. -# For more information, see the description associated with -# func_emit_wrapper(), below. -func_emit_wrapper_part2 () -{ - func_emit_wrapper_part2_arg1=no - if test -n "$1" ; then - func_emit_wrapper_part2_arg1=$1 - fi - - $ECHO "\ - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} -# end: func_emit_wrapper_part2 - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=no - if test -n "$1" ; then - func_emit_wrapper_arg1=$1 - fi - - # split this up so that func_emit_cwrapperexe_src - # can call each part independently. - func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" - func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" -} - - -# func_to_host_path arg -# -# Convert paths to host format when used with build tools. -# Intended for use with "native" mingw (where libtool itself -# is running under the msys shell), or in the following cross- -# build environments: -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# where wine is equipped with the `winepath' executable. -# In the native mingw case, the (msys) shell automatically -# converts paths for any non-msys applications it launches, -# but that facility isn't available from inside the cwrapper. -# Similar accommodations are necessary for $host mingw and -# $build cygwin. Calling this function does no harm for other -# $host/$build combinations not listed above. -# -# ARG is the path (on $build) that should be converted to -# the proper representation for $host. The result is stored -# in $func_to_host_path_result. -func_to_host_path () -{ - func_to_host_path_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - case $build in - *mingw* ) # actually, msys - # awkward: cmd appends spaces to result - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_path_tmp1=`( cmd //c echo "$1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_path_tmp1=`cygpath -w "$1"` - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # Unfortunately, winepath does not exit with a non-zero - # error code, so we are forced to check the contents of - # stdout. On the other hand, if the command is not - # found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both - # error code of zero AND non-empty stdout, which explains - # the odd construction: - func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then - func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ - $SED -e "$lt_sed_naive_backslashify"` - else - # Allow warning below. - func_to_host_path_result="" - fi - ;; - esac - if test -z "$func_to_host_path_result" ; then - func_error "Could not determine host path corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_path_result="$1" - fi - ;; - esac - fi -} -# end: func_to_host_path - -# func_to_host_pathlist arg -# -# Convert pathlists to host format when used with build tools. -# See func_to_host_path(), above. This function supports the -# following $build/$host combinations (but does no harm for -# combinations not listed here): -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# -# Path separators are also converted from $build format to -# $host format. If ARG begins or ends with a path separator -# character, it is preserved (but converted to $host format) -# on output. -# -# ARG is a pathlist (on $build) that should be converted to -# the proper representation on $host. The result is stored -# in $func_to_host_pathlist_result. -func_to_host_pathlist () -{ - func_to_host_pathlist_result="$1" - if test -n "$1" ; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_to_host_pathlist_tmp2="$1" - # Once set for this call, this variable should not be - # reassigned. It is used in tha fallback case. - func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e 's|^:*||' -e 's|:*$||'` - case $build in - *mingw* ) # Actually, msys. - # Awkward: cmd appends spaces to result. - lt_sed_strip_trailing_spaces="s/[ ]*\$//" - func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # unfortunately, winepath doesn't convert pathlists - func_to_host_pathlist_result="" - func_to_host_pathlist_oldIFS=$IFS - IFS=: - for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do - IFS=$func_to_host_pathlist_oldIFS - if test -n "$func_to_host_pathlist_f" ; then - func_to_host_path "$func_to_host_pathlist_f" - if test -n "$func_to_host_path_result" ; then - if test -z "$func_to_host_pathlist_result" ; then - func_to_host_pathlist_result="$func_to_host_path_result" - else - func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" - fi - fi - fi - IFS=: - done - IFS=$func_to_host_pathlist_oldIFS - ;; - esac - if test -z "$func_to_host_pathlist_result" ; then - func_error "Could not determine the host path(s) corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This may break if $1 contains DOS-style drive - # specifications. The fix is not to complicate the expression - # below, but for the user to provide a working wine installation - # with winepath so that path translation in the cross-to-mingw - # case works properly. - lt_replace_pathsep_nix_to_dos="s|:|;|g" - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_replace_pathsep_nix_to_dos"` - fi - # Now, add the leading and trailing path separators back - case "$1" in - :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" - ;; - esac - case "$1" in - *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" - ;; - esac - ;; - esac - fi -} -# end: func_to_host_pathlist - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -# define setmode _setmode -#else -# include -# include -# ifdef __CYGWIN__ -# include -# define HAVE_SETENV -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -#ifdef _MSC_VER -# define S_IXUSR _S_IEXEC -# define stat _stat -# ifndef _INTPTR_T_DEFINED -# define intptr_t int -# endif -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifdef __CYGWIN__ -# define FOPEN_WB "wb" -#endif - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#undef LTWRAPPER_DEBUGPRINTF -#if defined DEBUGWRAPPER -# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args -static void -ltwrapper_debugprintf (const char *fmt, ...) -{ - va_list args; - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); -} -#else -# define LTWRAPPER_DEBUGPRINTF(args) -#endif - -const char *program_name = NULL; - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_fatal (const char *message, ...); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_opt_process_env_set (const char *arg); -void lt_opt_process_env_prepend (const char *arg); -void lt_opt_process_env_append (const char *arg); -int lt_split_name_value (const char *arg, char** name, char** value); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); - -static const char *script_text_part1 = -EOF - - func_emit_wrapper_part1 yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ "/' -e 's/$/\\n"/' - echo ";" - cat <"))); - for (i = 0; i < newargc; i++) - { - LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", - wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", - tmp_pathspec)); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - char *errstr = strerror (errno); - lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal ("Could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} - -void -lt_setenv (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", - (name ? name : ""), - (value ? value : ""))); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -int -lt_split_name_value (const char *arg, char** name, char** value) -{ - const char *p; - int len; - if (!arg || !*arg) - return 1; - - p = strchr (arg, (int)'='); - - if (!p) - return 1; - - *value = xstrdup (++p); - - len = strlen (arg) - strlen (*value); - *name = XMALLOC (char, len); - strncpy (*name, arg, len-1); - (*name)[len - 1] = '\0'; - - return 0; -} - -void -lt_opt_process_env_set (const char *arg) -{ - char *name = NULL; - char *value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); - } - - lt_setenv (name, value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_prepend (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_opt_process_env_append (const char *arg) -{ - char *name = NULL; - char *value = NULL; - char *new_value = NULL; - - if (lt_split_name_value (arg, &name, &value) != 0) - { - XFREE (name); - XFREE (value); - lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); - } - - new_value = lt_extend_str (getenv (name), value, 1); - lt_setenv (name, new_value); - XFREE (new_value); - XFREE (name); - XFREE (value); -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - (name ? name : ""), - (value ? value : ""))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - - -EOF -} -# end: func_emit_cwrapperexe_src - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs="$weak_libs $arg" - prev= - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname '-L' '' "$arg" - dir=$func_stripname_result - if test -z "$dir"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" - linker_flags="$linker_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_duplicate_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - case $lib in - *.la) func_source "$lib" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs="$deplibs $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - dir=$func_stripname_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $ECHO - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because the file extensions .$libext of this argument makes me believe" - $ECHO "*** that it is just a static archive that I should not use here." - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath="$temp_rpath$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - $ECHO - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $ECHO - $ECHO "*** And there doesn't seem to be a static archive available" - $ECHO "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $ECHO - $ECHO "*** Warning: This system can not link to static lib archive $lib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $ECHO "*** But as you try to build a module library, libtool will still create " - $ECHO "*** a static module, that should work as long as the dlopening application" - $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_dirname "$deplib" "" "." - dir="$func_dirname_result" - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - $ECHO - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs="$libobjs $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` - # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` - # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $ECHO - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - $ECHO "*** I have the capability to make that library automatically link in when" - $ECHO "*** you link to this library. But I can only do this if you have a" - $ECHO "*** shared version of the library, which you do not appear to have" - $ECHO "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ - -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` - done - fi - if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | - $GREP . >/dev/null; then - $ECHO - if test "X$deplibs_check_method" = "Xnone"; then - $ECHO "*** Warning: inter-library dependencies are not supported in this platform." - else - $ECHO "*** Warning: inter-library dependencies are not known to be supported." - fi - $ECHO "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $ECHO - $ECHO "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - $ECHO "*** a static module, that should work as long as the dlopening" - $ECHO "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $ECHO - $ECHO "*** However, this would only work if libtool was able to extract symbol" - $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" - $ECHO "*** not find such a program. So, this module is probably useless." - $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $ECHO "*** The inter-library dependencies that have been dropped here will be" - $ECHO "*** automatically added whenever a program is linked with this library" - $ECHO "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $ECHO - $ECHO "*** Since this library must not contain undefined symbols," - $ECHO "*** because either the platform does not support them or" - $ECHO "*** it was explicitly requested with -no-undefined," - $ECHO "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles="$delfiles $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - func_len " $cmd" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$ECHO "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - $ECHO 'INPUT (' > $output - for obj in $save_libobjs - do - $ECHO "$obj" >> $output - done - $ECHO ')' >> $output - delfiles="$delfiles $output" - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - $ECHO "$obj" >> $output - done - delfiles="$delfiles $output" - output=$firstobj\"$file_list_spec$output\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - delfiles="$delfiles $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *cegcc) - # Disable wrappers for cegcc, we are cross compiling anyway. - wrappers_required=no - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - - # Quote $ECHO for shipping. - if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs="$oldobjs $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $ECHO "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles="$newdlfiles $libdir/$name" - ;; - *) newdlfiles="$newdlfiles $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles="$newdlprefiles $libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$mode" = link || test "$mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) RM="$RM $arg"; rmforce=yes ;; - -*) RM="$RM $arg" ;; - *) files="$files $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles="$rmfiles $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$mode" = uninstall || test "$mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/3rdparty/openctm/tools/jpeg/makcjpeg.st b/3rdparty/openctm/tools/jpeg/makcjpeg.st deleted file mode 100644 index 3cbad5ed6..000000000 --- a/3rdparty/openctm/tools/jpeg/makcjpeg.st +++ /dev/null @@ -1,36 +0,0 @@ -; Project file for Independent JPEG Group's software -; -; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. -; Thanks to Frank Moehle, B. Setzepfandt, and Guido Vollbeding. -; -; To use this file, rename it to cjpeg.prj. -; If you are using Turbo C, change filenames beginning with "pc..." to "tc..." -; Read installation instructions before trying to make the program! -; -; -; * * * Output file * * * -cjpeg.ttp -; -; * * * COMPILER OPTIONS * * * -.C[-P] ; absolute calls -.C[-M] ; and no string merging, folks -.C[-w-cln] ; no "constant is long" warnings -.C[-w-par] ; no "parameter xxxx unused" -.C[-w-rch] ; no "unreachable code" -.C[-wsig] ; warn if significant digits may be lost -= -; * * * * List of modules * * * * -pcstart.o -cjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,jversion.h) -cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdswitch.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdppm.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdgif.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdtarga.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdbmp.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdrle.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -libjpeg.lib ; built by libjpeg.prj -pcfltlib.lib ; floating point library -; the float library can be omitted if you've turned off DCT_FLOAT_SUPPORTED -pcstdlib.lib ; standard library -pcextlib.lib ; extended library diff --git a/3rdparty/openctm/tools/jpeg/makdjpeg.st b/3rdparty/openctm/tools/jpeg/makdjpeg.st deleted file mode 100644 index 52179e3e6..000000000 --- a/3rdparty/openctm/tools/jpeg/makdjpeg.st +++ /dev/null @@ -1,36 +0,0 @@ -; Project file for Independent JPEG Group's software -; -; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. -; Thanks to Frank Moehle, B. Setzepfandt, and Guido Vollbeding. -; -; To use this file, rename it to djpeg.prj. -; If you are using Turbo C, change filenames beginning with "pc..." to "tc..." -; Read installation instructions before trying to make the program! -; -; -; * * * Output file * * * -djpeg.ttp -; -; * * * COMPILER OPTIONS * * * -.C[-P] ; absolute calls -.C[-M] ; and no string merging, folks -.C[-w-cln] ; no "constant is long" warnings -.C[-w-par] ; no "parameter xxxx unused" -.C[-w-rch] ; no "unreachable code" -.C[-wsig] ; warn if significant digits may be lost -= -; * * * * List of modules * * * * -pcstart.o -djpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,jversion.h) -cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdcolmap.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -wrppm.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -wrgif.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -wrtarga.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -wrbmp.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -wrrle.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -libjpeg.lib ; built by libjpeg.prj -pcfltlib.lib ; floating point library -; the float library can be omitted if you've turned off DCT_FLOAT_SUPPORTED -pcstdlib.lib ; standard library -pcextlib.lib ; extended library diff --git a/3rdparty/openctm/tools/jpeg/makeadsw.vc6 b/3rdparty/openctm/tools/jpeg/makeadsw.vc6 deleted file mode 100644 index 9af6a1994..000000000 --- a/3rdparty/openctm/tools/jpeg/makeadsw.vc6 +++ /dev/null @@ -1,77 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! - -############################################################################### - -Project: "cjpeg"=".\cjpeg.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "djpeg"=".\djpeg.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "jpegtran"=".\jpegtran.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "rdjpgcom"=".\rdjpgcom.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "wrjpgcom"=".\wrjpgcom.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/3rdparty/openctm/tools/jpeg/makeasln.vc9 b/3rdparty/openctm/tools/jpeg/makeasln.vc9 deleted file mode 100644 index 49ed24885..000000000 --- a/3rdparty/openctm/tools/jpeg/makeasln.vc9 +++ /dev/null @@ -1,33 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cjpeg", "cjpeg.vcproj", "{B4F61778-C45D-45C6-9E87-06F03F50519F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "djpeg", "djpeg.vcproj", "{9B7E57AE-31CD-405E-8070-26A8303B9DC9}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpegtran", "jpegtran.vcproj", "{813C33AF-9031-49D2-BA19-93D600CDD404}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rdjpgcom", "rdjpgcom.vcproj", "{EB107F86-A8CC-4507-8115-88D31DDE4CDF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wrjpgcom", "wrjpgcom.vcproj", "{178670D7-FA7F-44A8-96C7-11B1CA14269C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B4F61778-C45D-45C6-9E87-06F03F50519F}.Release|Win32.ActiveCfg = Release|Win32 - {B4F61778-C45D-45C6-9E87-06F03F50519F}.Release|Win32.Build.0 = Release|Win32 - {9B7E57AE-31CD-405E-8070-26A8303B9DC9}.Release|Win32.ActiveCfg = Release|Win32 - {9B7E57AE-31CD-405E-8070-26A8303B9DC9}.Release|Win32.Build.0 = Release|Win32 - {813C33AF-9031-49D2-BA19-93D600CDD404}.Release|Win32.ActiveCfg = Release|Win32 - {813C33AF-9031-49D2-BA19-93D600CDD404}.Release|Win32.Build.0 = Release|Win32 - {EB107F86-A8CC-4507-8115-88D31DDE4CDF}.Release|Win32.ActiveCfg = Release|Win32 - {EB107F86-A8CC-4507-8115-88D31DDE4CDF}.Release|Win32.Build.0 = Release|Win32 - {178670D7-FA7F-44A8-96C7-11B1CA14269C}.Release|Win32.ActiveCfg = Release|Win32 - {178670D7-FA7F-44A8-96C7-11B1CA14269C}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/3rdparty/openctm/tools/jpeg/makecdep.vc6 b/3rdparty/openctm/tools/jpeg/makecdep.vc6 deleted file mode 100644 index 5436a5967..000000000 --- a/3rdparty/openctm/tools/jpeg/makecdep.vc6 +++ /dev/null @@ -1,82 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von cjpeg.mak - -.\cdjpeg.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\cjpeg.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - ".\jversion.h"\ - - -.\rdbmp.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\rdgif.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\rdppm.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\rdrle.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\rdswitch.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\rdtarga.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/makecdsp.vc6 b/3rdparty/openctm/tools/jpeg/makecdsp.vc6 deleted file mode 100644 index c9d3d4a82..000000000 --- a/3rdparty/openctm/tools/jpeg/makecdsp.vc6 +++ /dev/null @@ -1,130 +0,0 @@ -# Microsoft Developer Studio Project File - Name="cjpeg" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=cjpeg - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "cjpeg.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "cjpeg.mak" CFG="cjpeg - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "cjpeg - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\cjpeg\Release" -# PROP BASE Intermediate_Dir ".\cjpeg\Release" -# PROP BASE Target_Dir ".\cjpeg" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\cjpeg\Release" -# PROP Intermediate_Dir ".\cjpeg\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir ".\cjpeg" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# Begin Target - -# Name "cjpeg - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\cdjpeg.c -# End Source File -# Begin Source File - -SOURCE=.\cjpeg.c -# End Source File -# Begin Source File - -SOURCE=.\rdbmp.c -# End Source File -# Begin Source File - -SOURCE=.\rdgif.c -# End Source File -# Begin Source File - -SOURCE=.\rdppm.c -# End Source File -# Begin Source File - -SOURCE=.\rdrle.c -# End Source File -# Begin Source File - -SOURCE=.\rdswitch.c -# End Source File -# Begin Source File - -SOURCE=.\rdtarga.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\cderror.h -# End Source File -# Begin Source File - -SOURCE=.\cdjpeg.h -# End Source File -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jerror.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# Begin Source File - -SOURCE=.\jmorecfg.h -# End Source File -# Begin Source File - -SOURCE=.\jpeglib.h -# End Source File -# Begin Source File - -SOURCE=.\jversion.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/makecmak.vc6 b/3rdparty/openctm/tools/jpeg/makecmak.vc6 deleted file mode 100644 index 53235add5..000000000 --- a/3rdparty/openctm/tools/jpeg/makecmak.vc6 +++ /dev/null @@ -1,159 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on cjpeg.dsp -!IF "$(CFG)" == "" -CFG=cjpeg - Win32 -!MESSAGE Keine Konfiguration angegeben. cjpeg - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "cjpeg - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "cjpeg.mak" CFG="cjpeg - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "cjpeg - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -CPP=cl.exe -RSC=rc.exe -OUTDIR=.\cjpeg\Release -INTDIR=.\cjpeg\Release -# Begin Custom Macros -OutDir=.\cjpeg\Release -# End Custom Macros - -ALL : "$(OUTDIR)\cjpeg.exe" - - -CLEAN : - -@erase "$(INTDIR)\cdjpeg.obj" - -@erase "$(INTDIR)\cjpeg.obj" - -@erase "$(INTDIR)\rdbmp.obj" - -@erase "$(INTDIR)\rdgif.obj" - -@erase "$(INTDIR)\rdppm.obj" - -@erase "$(INTDIR)\rdrle.obj" - -@erase "$(INTDIR)\rdswitch.obj" - -@erase "$(INTDIR)\rdtarga.obj" - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(OUTDIR)\cjpeg.exe" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\cjpeg.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\cjpeg.pdb" /machine:I386 /out:"$(OUTDIR)\cjpeg.exe" -LINK32_OBJS= \ - "$(INTDIR)\cdjpeg.obj" \ - "$(INTDIR)\cjpeg.obj" \ - "$(INTDIR)\rdbmp.obj" \ - "$(INTDIR)\rdgif.obj" \ - "$(INTDIR)\rdppm.obj" \ - "$(INTDIR)\rdrle.obj" \ - "$(INTDIR)\rdswitch.obj" \ - "$(INTDIR)\rdtarga.obj" - -"$(OUTDIR)\cjpeg.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)\cjpeg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("cjpeg.dep") -!INCLUDE "cjpeg.dep" -!ELSE -!MESSAGE Warning: cannot find "cjpeg.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "cjpeg - Win32" -SOURCE=.\cdjpeg.c - -"$(INTDIR)\cdjpeg.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\cjpeg.c - -"$(INTDIR)\cjpeg.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdbmp.c - -"$(INTDIR)\rdbmp.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdgif.c - -"$(INTDIR)\rdgif.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdppm.c - -"$(INTDIR)\rdppm.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdrle.c - -"$(INTDIR)\rdrle.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdswitch.c - -"$(INTDIR)\rdswitch.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdtarga.c - -"$(INTDIR)\rdtarga.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/makecvcp.vc9 b/3rdparty/openctm/tools/jpeg/makecvcp.vc9 deleted file mode 100644 index 95fefc112..000000000 --- a/3rdparty/openctm/tools/jpeg/makecvcp.vc9 +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/makeddep.vc6 b/3rdparty/openctm/tools/jpeg/makeddep.vc6 deleted file mode 100644 index 79a44a1c0..000000000 --- a/3rdparty/openctm/tools/jpeg/makeddep.vc6 +++ /dev/null @@ -1,82 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von djpeg.mak - -.\cdjpeg.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\djpeg.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - ".\jversion.h"\ - - -.\rdcolmap.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\wrbmp.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\wrgif.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\wrppm.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\wrrle.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\wrtarga.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/makeddsp.vc6 b/3rdparty/openctm/tools/jpeg/makeddsp.vc6 deleted file mode 100644 index fdb5e5a48..000000000 --- a/3rdparty/openctm/tools/jpeg/makeddsp.vc6 +++ /dev/null @@ -1,130 +0,0 @@ -# Microsoft Developer Studio Project File - Name="djpeg" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=djpeg - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "djpeg.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "djpeg.mak" CFG="djpeg - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "djpeg - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\djpeg\Release" -# PROP BASE Intermediate_Dir ".\djpeg\Release" -# PROP BASE Target_Dir ".\djpeg" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\djpeg\Release" -# PROP Intermediate_Dir ".\djpeg\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir ".\djpeg" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# Begin Target - -# Name "djpeg - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\cdjpeg.c -# End Source File -# Begin Source File - -SOURCE=.\djpeg.c -# End Source File -# Begin Source File - -SOURCE=.\rdcolmap.c -# End Source File -# Begin Source File - -SOURCE=.\wrbmp.c -# End Source File -# Begin Source File - -SOURCE=.\wrgif.c -# End Source File -# Begin Source File - -SOURCE=.\wrppm.c -# End Source File -# Begin Source File - -SOURCE=.\wrrle.c -# End Source File -# Begin Source File - -SOURCE=.\wrtarga.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\cderror.h -# End Source File -# Begin Source File - -SOURCE=.\cdjpeg.h -# End Source File -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jerror.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# Begin Source File - -SOURCE=.\jmorecfg.h -# End Source File -# Begin Source File - -SOURCE=.\jpeglib.h -# End Source File -# Begin Source File - -SOURCE=.\jversion.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/makedmak.vc6 b/3rdparty/openctm/tools/jpeg/makedmak.vc6 deleted file mode 100644 index fd89563f5..000000000 --- a/3rdparty/openctm/tools/jpeg/makedmak.vc6 +++ /dev/null @@ -1,159 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on djpeg.dsp -!IF "$(CFG)" == "" -CFG=djpeg - Win32 -!MESSAGE Keine Konfiguration angegeben. djpeg - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "djpeg - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "djpeg.mak" CFG="djpeg - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "djpeg - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -CPP=cl.exe -RSC=rc.exe -OUTDIR=.\djpeg\Release -INTDIR=.\djpeg\Release -# Begin Custom Macros -OutDir=.\djpeg\Release -# End Custom Macros - -ALL : "$(OUTDIR)\djpeg.exe" - - -CLEAN : - -@erase "$(INTDIR)\cdjpeg.obj" - -@erase "$(INTDIR)\djpeg.obj" - -@erase "$(INTDIR)\rdcolmap.obj" - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(INTDIR)\wrbmp.obj" - -@erase "$(INTDIR)\wrgif.obj" - -@erase "$(INTDIR)\wrppm.obj" - -@erase "$(INTDIR)\wrrle.obj" - -@erase "$(INTDIR)\wrtarga.obj" - -@erase "$(OUTDIR)\djpeg.exe" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\djpeg.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\djpeg.pdb" /machine:I386 /out:"$(OUTDIR)\djpeg.exe" -LINK32_OBJS= \ - "$(INTDIR)\cdjpeg.obj" \ - "$(INTDIR)\djpeg.obj" \ - "$(INTDIR)\rdcolmap.obj" \ - "$(INTDIR)\wrbmp.obj" \ - "$(INTDIR)\wrgif.obj" \ - "$(INTDIR)\wrppm.obj" \ - "$(INTDIR)\wrrle.obj" \ - "$(INTDIR)\wrtarga.obj" - -"$(OUTDIR)\djpeg.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)\djpeg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("djpeg.dep") -!INCLUDE "djpeg.dep" -!ELSE -!MESSAGE Warning: cannot find "djpeg.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "djpeg - Win32" -SOURCE=.\cdjpeg.c - -"$(INTDIR)\cdjpeg.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\djpeg.c - -"$(INTDIR)\djpeg.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdcolmap.c - -"$(INTDIR)\rdcolmap.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\wrbmp.c - -"$(INTDIR)\wrbmp.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\wrgif.c - -"$(INTDIR)\wrgif.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\wrppm.c - -"$(INTDIR)\wrppm.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\wrrle.c - -"$(INTDIR)\wrrle.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\wrtarga.c - -"$(INTDIR)\wrtarga.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/makedvcp.vc9 b/3rdparty/openctm/tools/jpeg/makedvcp.vc9 deleted file mode 100644 index 60a9f77d2..000000000 --- a/3rdparty/openctm/tools/jpeg/makedvcp.vc9 +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/makefile.ansi b/3rdparty/openctm/tools/jpeg/makefile.ansi deleted file mode 100644 index aaf9ea16d..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.ansi +++ /dev/null @@ -1,220 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is suitable for Unix-like systems with ANSI-capable compilers. -# If you have a non-ANSI compiler, makefile.unix is a better starting point. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= cc - -# You may need to adjust these cc options: -CFLAGS= -O -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -LDFLAGS= - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= - -# Put here the object file name for the correct system-dependent memory -# manager file. For Unix this is usually jmemnobs.o, but you may want -# to use jmemansi.o or jmemname.o if you have limited swap space. -SYSDEPMEM= jmemnobs.o - -# miscellaneous OS-dependent stuff -# linker -LN= $(CC) -# file deletion command -RM= rm -f -# library (.a) file creation command -AR= ar rc -# second step in .a creation (use "touch" if not needed) -AR2= ranlib - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.a -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.a cjpeg djpeg jpegtran rdjpgcom wrjpgcom - -libjpeg.a: $(LIBOBJECTS) - $(RM) libjpeg.a - $(AR) libjpeg.a $(LIBOBJECTS) - $(AR2) libjpeg.a - -cjpeg: $(COBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.a $(LDLIBS) - -djpeg: $(DOBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.a $(LDLIBS) - -jpegtran: $(TROBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.a $(LDLIBS) - -rdjpgcom: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS) - -wrjpgcom: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: - $(RM) *.o cjpeg djpeg jpegtran libjpeg.a rdjpgcom wrjpgcom - $(RM) core testout* - -test: cjpeg djpeg jpegtran - $(RM) testout* - ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - ./cjpeg -dct int -outfile testout.jpg testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - ./jpegtran -outfile testoutt.jpg testprog.jpg - cmp testimg.ppm testout.ppm - cmp testimg.bmp testout.bmp - cmp testimg.jpg testout.jpg - cmp testimg.ppm testoutp.ppm - cmp testimgp.jpg testoutp.jpg - cmp testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.bcc b/3rdparty/openctm/tools/jpeg/makefile.bcc deleted file mode 100644 index c6c996159..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.bcc +++ /dev/null @@ -1,291 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is suitable for Borland C on MS-DOS or OS/2. -# It works with Borland C++ for DOS, revision 3.0 or later, -# and has been tested with Borland C++ for OS/2. -# Watch out for optimization bugs in the OS/2 compilers --- see notes below! -# Thanks to Tom Wright and Ge' Weijers (original DOS) and -# Ken Porter (OS/2) for this file. - -# Read installation instructions before saying "make" !! - -# Are we under DOS or OS/2? -!if !$d(DOS) && !$d(OS2) -!if $d(__OS2__) -OS2=1 -!else -DOS=1 -!endif -!endif - -# The name of your C compiler: -CC= bcc - -# You may need to adjust these cc options: -!if $d(DOS) -CFLAGS= -O2 -mm -w-par -w-stu -w-ccc -w-rch -!else -CFLAGS= -O1 -w-par -w-stu -w-ccc -w-rch -!endif -# -O2 enables full code optimization (for pre-3.0 Borland C++, use -O -G -Z). -# -O2 is buggy in Borland OS/2 C++ revision 2.0, so use -O1 there for now. -# If you have Borland OS/2 C++ revision 1.0, use -O or no optimization at all. -# -mm selects medium memory model (near data, far code pointers; DOS only!) -# -w-par suppresses warnings about unused function parameters -# -w-stu suppresses warnings about incomplete structures -# -w-ccc suppresses warnings about compile-time-constant conditions -# -w-rch suppresses warnings about unreachable code -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -!if $d(DOS) -LDFLAGS= -mm -# memory model option here must match CFLAGS! -!else -LDFLAGS= -# -lai full-screen app -# -lc case-significant link -!endif - -# Put here the object file name for the correct system-dependent memory -# manager file. -# For DOS, we recommend jmemdos.c and jmemdosa.asm. -# For OS/2, we recommend jmemnobs.c (flat memory!) -# SYSDEPMEMLIB must list the same files with "+" signs for the librarian. -!if $d(DOS) -SYSDEPMEM= jmemdos.obj jmemdosa.obj -SYSDEPMEMLIB= +jmemdos.obj +jmemdosa.obj -!else -SYSDEPMEM= jmemnobs.obj -SYSDEPMEMLIB= +jmemnobs.obj -!endif - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \ - jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \ - jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \ - jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj -# decompression library object files -DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \ - jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \ - jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \ - jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \ - jdmerge.obj -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \ - rdswitch.obj cdjpeg.obj -DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \ - rdcolmap.obj cdjpeg.obj -TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj - - -all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.lib: $(LIBOBJECTS) - - del libjpeg.lib - tlib libjpeg.lib /E /C @&&| -+jcapimin.obj +jcapistd.obj +jcarith.obj +jctrans.obj +jcparam.obj & -+jdatadst.obj +jcinit.obj +jcmaster.obj +jcmarker.obj +jcmainct.obj & -+jcprepct.obj +jccoefct.obj +jccolor.obj +jcsample.obj +jchuff.obj & -+jcdctmgr.obj +jfdctfst.obj +jfdctflt.obj +jfdctint.obj +jdapimin.obj & -+jdapistd.obj +jdarith.obj +jdtrans.obj +jdatasrc.obj +jdmaster.obj & -+jdinput.obj +jdmarker.obj +jdhuff.obj +jdmainct.obj +jdcoefct.obj & -+jdpostct.obj +jddctmgr.obj +jidctfst.obj +jidctflt.obj +jidctint.obj & -+jdsample.obj +jdcolor.obj +jquant1.obj +jquant2.obj +jdmerge.obj & -+jaricom.obj +jcomapi.obj +jutils.obj +jerror.obj +jmemmgr.obj & -$(SYSDEPMEMLIB) -| - -cjpeg.exe: $(COBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) -ecjpeg.exe $(COBJECTS) libjpeg.lib - -djpeg.exe: $(DOBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) -edjpeg.exe $(DOBJECTS) libjpeg.lib - -jpegtran.exe: $(TROBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) -ejpegtran.exe $(TROBJECTS) libjpeg.lib - -rdjpgcom.exe: rdjpgcom.c -!if $d(DOS) - $(CC) -ms -O rdjpgcom.c -!else - $(CC) $(CFLAGS) rdjpgcom.c -!endif - -# On DOS, wrjpgcom needs large model so it can malloc a 64K chunk -wrjpgcom.exe: wrjpgcom.c -!if $d(DOS) - $(CC) -ml -O wrjpgcom.c -!else - $(CC) $(CFLAGS) wrjpgcom.c -!endif - -# This "{}" syntax allows Borland Make to "batch" source files. -# In this way, each run of the compiler can build many modules. -.c.obj: - $(CC) $(CFLAGS) -c{ $<} - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: - - del *.obj - - del libjpeg.lib - - del cjpeg.exe - - del djpeg.exe - - del jpegtran.exe - - del rdjpgcom.exe - - del wrjpgcom.exe - - del testout*.* - -test: cjpeg.exe djpeg.exe jpegtran.exe - - del testout*.* - djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - cjpeg -dct int -outfile testout.jpg testimg.ppm - djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - jpegtran -outfile testoutt.jpg testprog.jpg -!if $d(DOS) - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg -!else - echo n > n.tmp - comp testimg.ppm testout.ppm < n.tmp - comp testimg.bmp testout.bmp < n.tmp - comp testimg.jpg testout.jpg < n.tmp - comp testimg.ppm testoutp.ppm < n.tmp - comp testimgp.jpg testoutp.jpg < n.tmp - comp testorig.jpg testoutt.jpg < n.tmp - del n.tmp -!endif - - -jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -jmemdosa.obj: jmemdosa.asm - tasm /mx jmemdosa.asm diff --git a/3rdparty/openctm/tools/jpeg/makefile.dj b/3rdparty/openctm/tools/jpeg/makefile.dj deleted file mode 100644 index 0dcbb02ae..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.dj +++ /dev/null @@ -1,226 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for DJGPP (Delorie's GNU C port on MS-DOS), v2.0 or later. -# Thanks to Frank J. Donahoe for this version. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= gcc - -# You may need to adjust these cc options: -CFLAGS= -O2 -Wall -I. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -LDFLAGS= -s - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= - -# Put here the object file name for the correct system-dependent memory -# manager file. For DJGPP this is usually jmemnobs.o, but you could -# use jmemname.o if you want to use named temp files instead of swap space. -SYSDEPMEM= jmemnobs.o - -# miscellaneous OS-dependent stuff -# linker -LN= $(CC) -# file deletion command -RM= del -# library (.a) file creation command -AR= ar rc -# second step in .a creation (use "touch" if not needed) -AR2= ranlib - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.a -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.a cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.a: $(LIBOBJECTS) - $(RM) libjpeg.a - $(AR) libjpeg.a $(LIBOBJECTS) - $(AR2) libjpeg.a - -cjpeg.exe: $(COBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o cjpeg.exe $(COBJECTS) libjpeg.a $(LDLIBS) - -djpeg.exe: $(DOBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o djpeg.exe $(DOBJECTS) libjpeg.a $(LDLIBS) - -jpegtran.exe: $(TROBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o jpegtran.exe $(TROBJECTS) libjpeg.a $(LDLIBS) - -rdjpgcom.exe: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom.exe rdjpgcom.o $(LDLIBS) - -wrjpgcom.exe: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom.exe wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: - $(RM) *.o - $(RM) cjpeg.exe - $(RM) djpeg.exe - $(RM) jpegtran.exe - $(RM) rdjpgcom.exe - $(RM) wrjpgcom.exe - $(RM) libjpeg.a - $(RM) testout*.* - -test: cjpeg.exe djpeg.exe jpegtran.exe - $(RM) testout*.* - ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - ./cjpeg -dct int -outfile testout.jpg testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - ./jpegtran -outfile testoutt.jpg testprog.jpg - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.linux b/3rdparty/openctm/tools/jpeg/makefile.linux deleted file mode 100644 index 895b3f589..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.linux +++ /dev/null @@ -1,221 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is suitable for Linux. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= gcc - -# You may need to adjust these cc options: -CFLAGS= -O2 -Wall -I. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -LDFLAGS= - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= - -# Put here the object file name for the correct system-dependent memory -# manager file. For Unix this is usually jmemnobs.o, but you may want -# to use jmemansi.o or jmemname.o if you have limited swap space. -SYSDEPMEM= jmemnobs.o - -# miscellaneous OS-dependent stuff -# linker -LN= $(CC) -# file deletion command -RM= rm -f -# file rename command -MV= mv -# library (.a) file creation command -AR= ar rcs -# copy -CP= cp -f - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.a -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.a cjpeg djpeg jpegtran rdjpgcom wrjpgcom - -.c.o: - $(CC) $(CFLAGS) -c $*.c - -libjpeg.a: $(LIBOBJECTS) - $(RM) libjpeg.a - $(AR) libjpeg.a $(LIBOBJECTS) - -cjpeg: $(COBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.a $(LDLIBS) - -djpeg: $(DOBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.a $(LDLIBS) - -jpegtran: $(TROBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.a $(LDLIBS) - -rdjpgcom: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS) - -wrjpgcom: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.linux - $(CP) jconfig.linux jconfig.h - -clean: - $(RM) *.o cjpeg djpeg jpegtran libjpeg.a rdjpgcom wrjpgcom - $(RM) core testout* - -test: cjpeg djpeg jpegtran - $(RM) testout* - ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - ./cjpeg -dct int -outfile testout.jpg testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - ./jpegtran -outfile testoutt.jpg testprog.jpg - cmp testimg.ppm testout.ppm - cmp testimg.bmp testout.bmp - cmp testimg.jpg testout.jpg - cmp testimg.ppm testoutp.ppm - cmp testimgp.jpg testoutp.jpg - cmp testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.macosx b/3rdparty/openctm/tools/jpeg/makefile.macosx deleted file mode 100644 index 9785bc86c..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.macosx +++ /dev/null @@ -1,221 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is suitable for Mac OS X. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= gcc - -# You may need to adjust these cc options: -CFLAGS= -O2 -Wall -I. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -LDFLAGS= - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= - -# Put here the object file name for the correct system-dependent memory -# manager file. For Unix this is usually jmemnobs.o, but you may want -# to use jmemansi.o or jmemname.o if you have limited swap space. -SYSDEPMEM= jmemnobs.o - -# miscellaneous OS-dependent stuff -# linker -LN= $(CC) -# file deletion command -RM= rm -f -# file rename command -MV= mv -# library (.a) file creation command -AR= ar rcs -# copy -CP= cp -f - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.a -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.a cjpeg djpeg jpegtran rdjpgcom wrjpgcom - -.c.o: - $(CC) $(CFLAGS) -c $*.c - -libjpeg.a: $(LIBOBJECTS) - $(RM) libjpeg.a - $(AR) libjpeg.a $(LIBOBJECTS) - -cjpeg: $(COBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.a $(LDLIBS) - -djpeg: $(DOBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.a $(LDLIBS) - -jpegtran: $(TROBJECTS) libjpeg.a - $(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.a $(LDLIBS) - -rdjpgcom: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS) - -wrjpgcom: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.macosx - $(CP) jconfig.macosx jconfig.h - -clean: - $(RM) *.o cjpeg djpeg jpegtran libjpeg.a rdjpgcom wrjpgcom - $(RM) core testout* - -test: cjpeg djpeg jpegtran - $(RM) testout* - ./djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - ./djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - ./cjpeg -dct int -outfile testout.jpg testimg.ppm - ./djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - ./cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - ./jpegtran -outfile testoutt.jpg testprog.jpg - cmp testimg.ppm testout.ppm - cmp testimg.bmp testout.bmp - cmp testimg.jpg testout.jpg - cmp testimg.ppm testoutp.ppm - cmp testimgp.jpg testoutp.jpg - cmp testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.manx b/3rdparty/openctm/tools/jpeg/makefile.manx deleted file mode 100644 index be40ad13c..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.manx +++ /dev/null @@ -1,220 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for Amiga systems using Manx Aztec C ver 5.x. -# Thanks to D.J. James (djjames@cup.portal.com) for this version. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= cc - -# You may need to adjust these cc options: -# Uncomment for generic 68000 code (will work on any Amiga) -ARCHFLAGS= -sn - -# Uncomment for 68020/68030 code (faster, but won't run on 68000 CPU) -#ARCHFLAGS= -c2 - -CFLAGS= -MC -MD $(ARCHFLAGS) -spfam -r4 - -# Link-time cc options: -LDFLAGS= -g - -# To link any special libraries, add the necessary -l commands here. -LDLIBS= -lml -lcl - -# Put here the object file name for the correct system-dependent memory -# manager file. For Amiga we recommend jmemname.o. -SYSDEPMEM= jmemname.o - -# miscellaneous OS-dependent stuff -# linker -LN= ln -# file deletion command -RM= delete quiet -# library (.lib) file creation command -AR= lb - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.lib cjpeg djpeg jpegtran rdjpgcom wrjpgcom - -libjpeg.lib: $(LIBOBJECTS) - -$(RM) libjpeg.lib - $(AR) libjpeg.lib $(LIBOBJECTS) - -cjpeg: $(COBJECTS) libjpeg.lib - $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) libjpeg.lib $(LDLIBS) - -djpeg: $(DOBJECTS) libjpeg.lib - $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) libjpeg.lib $(LDLIBS) - -jpegtran: $(TROBJECTS) libjpeg.lib - $(LN) $(LDFLAGS) -o jpegtran $(TROBJECTS) libjpeg.lib $(LDLIBS) - -rdjpgcom: rdjpgcom.o - $(LN) $(LDFLAGS) -o rdjpgcom rdjpgcom.o $(LDLIBS) - -wrjpgcom: wrjpgcom.o - $(LN) $(LDFLAGS) -o wrjpgcom wrjpgcom.o $(LDLIBS) - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: - -$(RM) *.o cjpeg djpeg jpegtran libjpeg.lib rdjpgcom wrjpgcom - -$(RM) core testout*.* - -test: cjpeg djpeg jpegtran - -$(RM) testout*.* - djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - cjpeg -dct int -outfile testout.jpg testimg.ppm - djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - jpegtran -outfile testoutt.jpg testprog.jpg - cmp testimg.ppm testout.ppm - cmp testimg.bmp testout.bmp - cmp testimg.jpg testout.jpg - cmp testimg.ppm testoutp.ppm - cmp testimgp.jpg testoutp.jpg - cmp testorig.jpg testoutt.jpg - - -jaricom.o: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.o: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.o: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.o: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.o: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.o: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.o: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.o: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.o: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.o: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.o: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.o: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.o: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.o: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.o: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.o: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.o: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.o: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.o: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.o: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.o: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.o: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.o: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.o: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.o: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.o: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.o: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.o: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.o: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.o: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.o: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.o: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.o: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.o: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.o: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.o: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.o: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.o: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.o: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.o: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.o: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.o: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.o: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.o: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.o: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.o: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.o: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.o: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.o: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.o: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.o: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.o: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.o: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.o: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.o: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.o: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.o: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.o: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.o: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.o: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.o: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.o: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.o: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.o: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.o: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.o: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.o: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.o: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.o: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.mc6 b/3rdparty/openctm/tools/jpeg/makefile.mc6 deleted file mode 100644 index 65274eeee..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.mc6 +++ /dev/null @@ -1,255 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for Microsoft C for MS-DOS, version 6.00A and up. -# Use NMAKE, not Microsoft's brain-damaged MAKE. -# Thanks to Alan Wright and Chris Turner of Olivetti Research Ltd. - -# Read installation instructions before saying "nmake" !! - -# You may need to adjust these compiler options: -CFLAGS = -AM -Oecigt -Gs -W3 -# -AM medium memory model (or use -AS for small model, if you remove features) -# -Oecigt -Gs maximum safe optimisation (-Ol has bugs in MSC 6.00A) -# -W3 warning level 3 -# You might also want to add -G2 if you have an 80286, etc. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Jan-Herman Buining suggests the following switches for MS C 8.0 and a 486: -# CFLAGS = /AM /f- /FPi87 /G3 /Gs /Gy /Ob1 /Oc /Oe /Og /Oi /Ol /On /Oo /Ot \ -# /OV4 /W3 -# except for jquant1.c, which must be compiled with /Oo- to avoid a compiler -# crash. - -# Ingar Steinsland suggests the following switches when building -# a 16-bit Windows DLL: -# CFLAGS = -ALw -Gsw -Zpe -W3 -O2 -Zi -Zd - -# Put here the object file name for the correct system-dependent memory -# manager file. For DOS, we recommend jmemdos.c and jmemdosa.asm. -# (But not for Windows; see install.txt if you use this makefile for Windows.) -SYSDEPMEM= jmemdos.obj jmemdosa.obj -# SYSDEPMEMLIB must list the same files with "+" signs for the librarian. -SYSDEPMEMLIB= +jmemdos.obj +jmemdosa.obj - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \ - jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \ - jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \ - jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj -# decompression library object files -DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \ - jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \ - jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \ - jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \ - jdmerge.obj -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \ - rdswitch.obj cdjpeg.obj -DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \ - rdcolmap.obj cdjpeg.obj -TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj - -# need linker response file because file list > 128 chars -RFILE = libjpeg.ans - - -all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.lib: $(LIBOBJECTS) $(RFILE) - del libjpeg.lib - lib @$(RFILE) - -# linker response file for building libjpeg.lib -$(RFILE) : makefile - del $(RFILE) - echo libjpeg.lib >$(RFILE) -# silly want-to-create-it prompt: - echo y >>$(RFILE) - echo +jcapimin.obj +jcapistd.obj +jcarith.obj +jctrans.obj & >>$(RFILE) - echo +jcparam.obj +jdatadst.obj +jcinit.obj +jcmaster.obj & >>$(RFILE) - echo +jcmarker.obj +jcmainct.obj +jcprepct.obj & >>$(RFILE) - echo +jccoefct.obj +jccolor.obj +jcsample.obj +jchuff.obj & >>$(RFILE) - echo +jcdctmgr.obj +jfdctfst.obj +jfdctflt.obj & >>$(RFILE) - echo +jfdctint.obj +jdapimin.obj +jdapistd.obj & >>$(RFILE) - echo +jdarith.obj +jdtrans.obj +jdatasrc.obj +jdmaster.obj & >>$(RFILE) - echo +jdinput.obj +jdmarker.obj +jdhuff.obj +jdmainct.obj & >>$(RFILE) - echo +jdcoefct.obj +jdpostct.obj +jddctmgr.obj & >>$(RFILE) - echo +jidctfst.obj +jidctflt.obj +jidctint.obj & >>$(RFILE) - echo +jdsample.obj +jdcolor.obj +jquant1.obj & >>$(RFILE) - echo +jquant2.obj +jdmerge.obj +jaricom.obj +jcomapi.obj & >>$(RFILE) - echo +jutils.obj +jerror.obj +jmemmgr.obj & >>$(RFILE) - echo $(SYSDEPMEMLIB) ; >>$(RFILE) - -cjpeg.exe: $(COBJECTS) libjpeg.lib - echo $(COBJECTS) >cjpeg.lst - link /STACK:4096 /EXEPACK @cjpeg.lst, cjpeg.exe, , libjpeg.lib, ; - del cjpeg.lst - -djpeg.exe: $(DOBJECTS) libjpeg.lib - echo $(DOBJECTS) >djpeg.lst - link /STACK:4096 /EXEPACK @djpeg.lst, djpeg.exe, , libjpeg.lib, ; - del djpeg.lst - -jpegtran.exe: $(TROBJECTS) libjpeg.lib - link /STACK:4096 /EXEPACK $(TROBJECTS), jpegtran.exe, , libjpeg.lib, ; - -rdjpgcom.exe: rdjpgcom.c - $(CC) -AS -O -W3 rdjpgcom.c - -# wrjpgcom needs large model so it can malloc a 64K chunk -wrjpgcom.exe: wrjpgcom.c - $(CC) -AL -O -W3 wrjpgcom.c - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: - del *.obj - del libjpeg.lib - del cjpeg.exe - del djpeg.exe - del jpegtran.exe - del rdjpgcom.exe - del wrjpgcom.exe - del testout*.* - -test: cjpeg.exe djpeg.exe jpegtran.exe - del testout*.* - djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - cjpeg -dct int -outfile testout.jpg testimg.ppm - djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - jpegtran -outfile testoutt.jpg testprog.jpg - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg - - -jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -jmemdosa.obj : jmemdosa.asm - masm /mx $*; diff --git a/3rdparty/openctm/tools/jpeg/makefile.mms b/3rdparty/openctm/tools/jpeg/makefile.mms deleted file mode 100644 index aa1a35751..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.mms +++ /dev/null @@ -1,224 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for use with MMS on Digital VMS systems. -# Thanks to Rick Dyson (dyson@iowasp.physics.uiowa.edu) -# and Tim Bell (tbell@netcom.com) for their help. - -# Read installation instructions before saying "MMS" !! - -# You may need to adjust these cc options: -CFLAGS= $(CFLAGS) /NoDebug /Optimize -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via /Define switches here. -.ifdef ALPHA -OPT= -.else -OPT= ,Sys$Disk:[]MAKVMS.OPT/Option -.endif - -# Put here the object file name for the correct system-dependent memory -# manager file. For Unix this is usually jmemnobs.o, but you may want -# to use jmemansi.o or jmemname.o if you have limited swap space. -SYSDEPMEM= jmemnobs.obj - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \ - jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \ - jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \ - jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj -# decompression library object files -DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \ - jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \ - jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \ - jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \ - jdmerge.obj -# These objectfiles are included in libjpeg.olb -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \ - rdswitch.obj cdjpeg.obj -DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \ - rdcolmap.obj cdjpeg.obj -TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj -# objectfile lists with commas --- what a crock -COBJLIST= cjpeg.obj,rdppm.obj,rdgif.obj,rdtarga.obj,rdrle.obj,rdbmp.obj,\ - rdswitch.obj,cdjpeg.obj -DOBJLIST= djpeg.obj,wrppm.obj,wrgif.obj,wrtarga.obj,wrrle.obj,wrbmp.obj,\ - rdcolmap.obj,cdjpeg.obj -TROBJLIST= jpegtran.obj,rdswitch.obj,cdjpeg.obj,transupp.obj -LIBOBJLIST= jaricom.obj,jcapimin.obj,jcapistd.obj,jcarith.obj,jctrans.obj,\ - jcparam.obj,jdatadst.obj,jcinit.obj,jcmaster.obj,jcmarker.obj,\ - jcmainct.obj,jcprepct.obj,jccoefct.obj,jccolor.obj,jcsample.obj,\ - jchuff.obj,jcdctmgr.obj,jfdctfst.obj,jfdctflt.obj,jfdctint.obj,\ - jdapimin.obj,jdapistd.obj,jdarith.obj,jdtrans.obj,jdatasrc.obj,\ - jdmaster.obj,jdinput.obj,jdmarker.obj,jdhuff.obj,jdmainct.obj,\ - jdcoefct.obj,jdpostct.obj,jddctmgr.obj,jidctfst.obj,jidctflt.obj,\ - jidctint.obj,jdsample.obj,jdcolor.obj,jquant1.obj,jquant2.obj,\ - jdmerge.obj,jcomapi.obj,jutils.obj,jerror.obj,jmemmgr.obj,$(SYSDEPMEM) - - -.first - @- Define /NoLog Sys Sys$Library - -ALL : libjpeg.olb cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - @ Continue - -libjpeg.olb : $(LIBOBJECTS) - Library /Create libjpeg.olb $(LIBOBJLIST) - -cjpeg.exe : $(COBJECTS) libjpeg.olb - $(LINK) $(LFLAGS) /Executable = cjpeg.exe $(COBJLIST),libjpeg.olb/Library$(OPT) - -djpeg.exe : $(DOBJECTS) libjpeg.olb - $(LINK) $(LFLAGS) /Executable = djpeg.exe $(DOBJLIST),libjpeg.olb/Library$(OPT) - -jpegtran.exe : $(TROBJECTS) libjpeg.olb - $(LINK) $(LFLAGS) /Executable = jpegtran.exe $(TROBJLIST),libjpeg.olb/Library$(OPT) - -rdjpgcom.exe : rdjpgcom.obj - $(LINK) $(LFLAGS) /Executable = rdjpgcom.exe rdjpgcom.obj$(OPT) - -wrjpgcom.exe : wrjpgcom.obj - $(LINK) $(LFLAGS) /Executable = wrjpgcom.exe wrjpgcom.obj$(OPT) - -jconfig.h : jconfig.vms - @- Copy jconfig.vms jconfig.h - -clean : - @- Set Protection = Owner:RWED *.*;-1 - @- Set Protection = Owner:RWED *.OBJ - - Purge /NoLog /NoConfirm *.* - - Delete /NoLog /NoConfirm *.OBJ; - -test : cjpeg.exe djpeg.exe jpegtran.exe - mcr sys$disk:[]djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - mcr sys$disk:[]djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - mcr sys$disk:[]cjpeg -dct int -outfile testout.jpg testimg.ppm - mcr sys$disk:[]djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - mcr sys$disk:[]cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - mcr sys$disk:[]jpegtran -outfile testoutt.jpg testprog.jpg - - Backup /Compare/Log testimg.ppm testout.ppm - - Backup /Compare/Log testimg.bmp testout.bmp - - Backup /Compare/Log testimg.jpg testout.jpg - - Backup /Compare/Log testimg.ppm testoutp.ppm - - Backup /Compare/Log testimgp.jpg testoutp.jpg - - Backup /Compare/Log testorig.jpg testoutt.jpg - - -jaricom.obj : jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.obj : jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.obj : jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.obj : jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.obj : jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.obj : jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.obj : jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.obj : jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.obj : jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.obj : jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.obj : jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.obj : jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.obj : jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.obj : jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.obj : jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.obj : jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.obj : jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.obj : jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.obj : jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.obj : jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.obj : jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.obj : jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.obj : jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.obj : jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.obj : jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.obj : jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.obj : jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.obj : jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.obj : jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.obj : jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.obj : jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.obj : jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.obj : jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.obj : jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.obj : jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.obj : jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.obj : jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.obj : jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.obj : jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.obj : jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.obj : jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.obj : jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.obj : jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.obj : jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.obj : jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.obj : jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.obj : jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.obj : jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.obj : jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.obj : jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.obj : cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.obj : djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.obj : jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.obj : rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.obj : wrjpgcom.c jinclude.h jconfig.h -cdjpeg.obj : cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.obj : rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.obj : rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.obj : transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.obj : rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.obj : wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.obj : rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.obj : wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.obj : rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.obj : wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.obj : rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.obj : wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.obj : rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.obj : wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.sas b/3rdparty/openctm/tools/jpeg/makefile.sas deleted file mode 100644 index a3bae64e5..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.sas +++ /dev/null @@ -1,258 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is for Amiga systems using SAS C 6.0 and up. -# Thanks to Ed Hanway, Mark Rinfret, and Jim Zepeda. - -# Read installation instructions before saying "make" !! - -# The name of your C compiler: -CC= sc - -# You may need to adjust these cc options: -# Uncomment the following lines for generic 680x0 version -ARCHFLAGS= cpu=any -SUFFIX= - -# Uncomment the following lines for 68030-only version -#ARCHFLAGS= cpu=68030 -#SUFFIX=.030 - -CFLAGS= nostackcheck data=near parms=register optimize $(ARCHFLAGS) \ - ignore=104 ignore=304 ignore=306 -# ignore=104 disables warnings for mismatched const qualifiers -# ignore=304 disables warnings for variables being optimized out -# ignore=306 disables warnings for the inlining of functions -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via define switches here. - -# Link-time cc options: -LDFLAGS= SC SD ND BATCH - -# To link any special libraries, add the necessary commands here. -LDLIBS= LIB:scm.lib LIB:sc.lib - -# Put here the object file name for the correct system-dependent memory -# manager file. For Amiga we recommend jmemname.o. -SYSDEPMEM= jmemname.o - -# miscellaneous OS-dependent stuff -# linker -LN= slink -# file deletion command -RM= delete quiet -# library (.lib) file creation command -AR= oml - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.o jcomapi.o jutils.o jerror.o jmemmgr.o $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.o jcapistd.o jcarith.o jctrans.o jcparam.o \ - jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o \ - jccoefct.o jccolor.o jcsample.o jchuff.o jcdctmgr.o jfdctfst.o \ - jfdctflt.o jfdctint.o -# decompression library object files -DLIBOBJECTS= jdapimin.o jdapistd.o jdarith.o jdtrans.o jdatasrc.o \ - jdmaster.o jdinput.o jdmarker.o jdhuff.o jdmainct.o \ - jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o \ - jidctint.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o \ - cdjpeg.o -DOBJECTS= djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o \ - cdjpeg.o -TROBJECTS= jpegtran.o rdswitch.o cdjpeg.o transupp.o - - -all: libjpeg.lib cjpeg$(SUFFIX) djpeg$(SUFFIX) jpegtran$(SUFFIX) rdjpgcom$(SUFFIX) wrjpgcom$(SUFFIX) - -# note: do several AR steps to avoid command line length limitations - -libjpeg.lib: $(LIBOBJECTS) - -$(RM) libjpeg.lib - $(AR) libjpeg.lib r $(CLIBOBJECTS) - $(AR) libjpeg.lib r $(DLIBOBJECTS) - $(AR) libjpeg.lib r $(COMOBJECTS) - -cjpeg$(SUFFIX): $(COBJECTS) libjpeg.lib - $(LN) - -# You may want to adjust these compiler options: -CFLAGS= $(cflags) $(cdebug) $(cvars) -I. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time options: -LDFLAGS= $(ldebug) $(conlflags) - -# To link any special libraries, add the necessary commands here. -LDLIBS= $(conlibs) - -# Put here the object file name for the correct system-dependent memory -# manager file. For NT we suggest jmemnobs.obj, which expects the OS to -# provide adequate virtual memory. -SYSDEPMEM= jmemnobs.obj - -# miscellaneous OS-dependent stuff -# file deletion command -RM= del - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \ - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \ - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \ - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \ - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \ - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \ - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \ - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \ - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \ - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \ - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \ - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \ - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \ - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \ - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \ - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \ - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \ - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \ - jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \ - jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \ - jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj -# decompression library object files -DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \ - jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \ - jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \ - jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \ - jdmerge.obj -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \ - rdswitch.obj cdjpeg.obj -DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \ - rdcolmap.obj cdjpeg.obj -TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj - -# Template command for compiling .c to .obj -.c.obj: - $(cc) $(CFLAGS) $*.c - - -all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.lib: $(LIBOBJECTS) - $(RM) libjpeg.lib - lib -out:libjpeg.lib $(LIBOBJECTS) - -cjpeg.exe: $(COBJECTS) libjpeg.lib - $(link) $(LDFLAGS) -out:cjpeg.exe $(COBJECTS) libjpeg.lib $(LDLIBS) - -djpeg.exe: $(DOBJECTS) libjpeg.lib - $(link) $(LDFLAGS) -out:djpeg.exe $(DOBJECTS) libjpeg.lib $(LDLIBS) - -jpegtran.exe: $(TROBJECTS) libjpeg.lib - $(link) $(LDFLAGS) -out:jpegtran.exe $(TROBJECTS) libjpeg.lib $(LDLIBS) - -rdjpgcom.exe: rdjpgcom.obj - $(link) $(LDFLAGS) -out:rdjpgcom.exe rdjpgcom.obj $(LDLIBS) - -wrjpgcom.exe: wrjpgcom.obj - $(link) $(LDFLAGS) -out:wrjpgcom.exe wrjpgcom.obj $(LDLIBS) - - -clean: - $(RM) *.obj *.exe libjpeg.lib - $(RM) testout* - -cleanlib: - $(RM) $(LIBOBJECTS) libjpeg.lib - -test: cjpeg.exe djpeg.exe jpegtran.exe - $(RM) testout* - .\djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - .\djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - .\cjpeg -dct int -outfile testout.jpg testimg.ppm - .\djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - .\cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - .\jpegtran -outfile testoutt.jpg testprog.jpg - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg - - -jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makefile.vms b/3rdparty/openctm/tools/jpeg/makefile.vms deleted file mode 100644 index 5d89ff28e..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.vms +++ /dev/null @@ -1,142 +0,0 @@ -$! Makefile for Independent JPEG Group's software -$! -$! This is a command procedure for Digital VMS systems that do not have MMS. -$! It builds the JPEG software by brute force, recompiling everything whether -$! or not it is necessary. It then runs the basic self-test. -$! Thanks to Rick Dyson (dyson@iowasp.physics.uiowa.edu) -$! and Tim Bell (tbell@netcom.com) for their help. -$! -$! Read installation instructions before running this!! -$! -$ If F$Mode () .eqs. "INTERACTIVE" -$ Then -$ VERIFY = F$Verify (0) -$ Else -$ VERIFY = F$Verify (1) -$ EndIf -$ On Control_Y Then GoTo End -$ On Error Then GoTo End -$ -$ If F$GetSyi ("HW_MODEL") .gt. 1023 -$ Then -$ OPT = "" -$ Else -$ OPT = ",Sys$Disk:[]makvms.opt/Option" -$ EndIf -$ -$ DoCompile := CC /NoDebug /Optimize /NoList -$! -$ DoCompile jaricom.c -$ DoCompile jcapimin.c -$ DoCompile jcapistd.c -$ DoCompile jcarith.c -$ DoCompile jctrans.c -$ DoCompile jcparam.c -$ DoCompile jdatadst.c -$ DoCompile jcinit.c -$ DoCompile jcmaster.c -$ DoCompile jcmarker.c -$ DoCompile jcmainct.c -$ DoCompile jcprepct.c -$ DoCompile jccoefct.c -$ DoCompile jccolor.c -$ DoCompile jcsample.c -$ DoCompile jchuff.c -$ DoCompile jcdctmgr.c -$ DoCompile jfdctfst.c -$ DoCompile jfdctflt.c -$ DoCompile jfdctint.c -$ DoCompile jdapimin.c -$ DoCompile jdapistd.c -$ DoCompile jdarith.c -$ DoCompile jdtrans.c -$ DoCompile jdatasrc.c -$ DoCompile jdmaster.c -$ DoCompile jdinput.c -$ DoCompile jdmarker.c -$ DoCompile jdhuff.c -$ DoCompile jdmainct.c -$ DoCompile jdcoefct.c -$ DoCompile jdpostct.c -$ DoCompile jddctmgr.c -$ DoCompile jidctfst.c -$ DoCompile jidctflt.c -$ DoCompile jidctint.c -$ DoCompile jdsample.c -$ DoCompile jdcolor.c -$ DoCompile jquant1.c -$ DoCompile jquant2.c -$ DoCompile jdmerge.c -$ DoCompile jcomapi.c -$ DoCompile jutils.c -$ DoCompile jerror.c -$ DoCompile jmemmgr.c -$ DoCompile jmemnobs.c -$! -$ Library /Create libjpeg.olb jaricom.obj,jcapimin.obj,jcapistd.obj, - - jcarith.obj,jctrans.obj,jcparam.obj,jdatadst.obj,jcinit.obj, - - jcmaster.obj,jcmarker.obj,jcmainct.obj,jcprepct.obj,jccoefct.obj, - - jccolor.obj,jcsample.obj,jchuff.obj,jcdctmgr.obj,jfdctfst.obj, - - jfdctflt.obj,jfdctint.obj,jdapimin.obj,jdapistd.obj,jdarith.obj, - - jdtrans.obj,jdatasrc.obj,jdmaster.obj,jdinput.obj,jdmarker.obj, - - jdhuff.obj,jdmainct.obj,jdcoefct.obj,jdpostct.obj,jddctmgr.obj, - - jidctfst.obj,jidctflt.obj,jidctint.obj,jdsample.obj,jdcolor.obj, - - jquant1.obj,jquant2.obj,jdmerge.obj,jcomapi.obj,jutils.obj, - - jerror.obj,jmemmgr.obj,jmemnobs.obj -$! -$ DoCompile cjpeg.c -$ DoCompile rdppm.c -$ DoCompile rdgif.c -$ DoCompile rdtarga.c -$ DoCompile rdrle.c -$ DoCompile rdbmp.c -$ DoCompile rdswitch.c -$ DoCompile cdjpeg.c -$! -$ Link /NoMap /Executable = cjpeg.exe cjpeg.obj,rdppm.obj,rdgif.obj, - - rdtarga.obj,rdrle.obj,rdbmp.obj,rdswitch.obj,cdjpeg.obj,libjpeg.olb/Library'OPT' -$! -$ DoCompile djpeg.c -$ DoCompile wrppm.c -$ DoCompile wrgif.c -$ DoCompile wrtarga.c -$ DoCompile wrrle.c -$ DoCompile wrbmp.c -$ DoCompile rdcolmap.c -$ DoCompile cdjpeg.c -$! -$ Link /NoMap /Executable = djpeg.exe djpeg.obj,wrppm.obj,wrgif.obj, - - wrtarga.obj,wrrle.obj,wrbmp.obj,rdcolmap.obj,cdjpeg.obj,libjpeg.olb/Library'OPT' -$! -$ DoCompile jpegtran.c -$ DoCompile rdswitch.c -$ DoCompile cdjpeg.c -$ DoCompile transupp.c -$! -$ Link /NoMap /Executable = jpegtran.exe jpegtran.obj,rdswitch.obj, - - cdjpeg.obj,transupp.obj,libjpeg.olb/Library'OPT' -$! -$ DoCompile rdjpgcom.c -$ Link /NoMap /Executable = rdjpgcom.exe rdjpgcom.obj'OPT' -$! -$ DoCompile wrjpgcom.c -$ Link /NoMap /Executable = wrjpgcom.exe wrjpgcom.obj'OPT' -$! -$! Run the self-test -$! -$ mcr sys$disk:[]djpeg -dct int -ppm -outfile testout.ppm testorig.jpg -$ mcr sys$disk:[]djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg -$ mcr sys$disk:[]cjpeg -dct int -outfile testout.jpg testimg.ppm -$ mcr sys$disk:[]djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg -$ mcr sys$disk:[]cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm -$ mcr sys$disk:[]jpegtran -outfile testoutt.jpg testprog.jpg -$ Backup /Compare/Log testimg.ppm testout.ppm -$ Backup /Compare/Log testimg.bmp testout.bmp -$ Backup /Compare/Log testimg.jpg testout.jpg -$ Backup /Compare/Log testimg.ppm testoutp.ppm -$ Backup /Compare/Log testimgp.jpg testoutp.jpg -$ Backup /Compare/Log testorig.jpg testoutt.jpg -$! -$End: -$ If Verify Then Set Verify -$ Exit diff --git a/3rdparty/openctm/tools/jpeg/makefile.wat b/3rdparty/openctm/tools/jpeg/makefile.wat deleted file mode 100644 index 0bcd50c7d..000000000 --- a/3rdparty/openctm/tools/jpeg/makefile.wat +++ /dev/null @@ -1,239 +0,0 @@ -# Makefile for Independent JPEG Group's software - -# This makefile is suitable for Watcom C/C++ 10.0 on MS-DOS (using -# dos4g extender), OS/2, and Windows NT console mode. -# Thanks to Janos Haide, jhaide@btrvtech.com. - -# Read installation instructions before saying "wmake" !! - -# Uncomment line for desired system -SYSTEM=DOS -#SYSTEM=OS2 -#SYSTEM=NT - -# The name of your C compiler: -CC= wcl386 - -# You may need to adjust these cc options: -CFLAGS= -4r -ort -wx -zq -bt=$(SYSTEM) -# Caution: avoid -ol or -ox; these generate bad code with 10.0 or 10.0a. -# Generally, we recommend defining any configuration symbols in jconfig.h, -# NOT via -D switches here. - -# Link-time cc options: -!ifeq SYSTEM DOS -LDFLAGS= -zq -l=dos4g -!else ifeq SYSTEM OS2 -LDFLAGS= -zq -l=os2v2 -!else ifeq SYSTEM NT -LDFLAGS= -zq -l=nt -!endif - -# Put here the object file name for the correct system-dependent memory -# manager file. jmemnobs should work fine for dos4g or OS/2 environment. -SYSDEPMEM= jmemnobs.obj - -# End of configurable options. - - -# source files: JPEG library proper -LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c & - jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c & - jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c & - jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c & - jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c & - jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c & - jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c & - jquant2.c jutils.c jmemmgr.c -# memmgr back ends: compile only one of these into a working library -SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c -# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom -APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c & - rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c & - rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c -SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES) -# files included by source files -INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h & - jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h -# documentation, test, and support files -DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 & - wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt & - coderules.txt filelist.txt change.log -MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc & - makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 & - makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 & - makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 & - maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 & - makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 & - makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 & - makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st & - makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms & - makefile.vms makvms.opt -CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat & - jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas & - jconfig.vms -CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing -OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm & - libjpeg.map -TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg & - testimgp.jpg -DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) & - $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES) -# library object files common to compression and decompression -COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM) -# compression library object files -CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj & - jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj & - jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj & - jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj -# decompression library object files -DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj & - jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj & - jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj & - jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj & - jdmerge.obj -# These objectfiles are included in libjpeg.lib -LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS) -# object files for sample applications (excluding library files) -COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj & - rdswitch.obj cdjpeg.obj -DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj & - rdcolmap.obj cdjpeg.obj -TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj - - -all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe - -libjpeg.lib: $(LIBOBJECTS) - - del libjpeg.lib - * wlib -n libjpeg.lib $(LIBOBJECTS) - -cjpeg.exe: $(COBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) $(COBJECTS) libjpeg.lib - -djpeg.exe: $(DOBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) $(DOBJECTS) libjpeg.lib - -jpegtran.exe: $(TROBJECTS) libjpeg.lib - $(CC) $(LDFLAGS) $(TROBJECTS) libjpeg.lib - -rdjpgcom.exe: rdjpgcom.c - $(CC) $(CFLAGS) $(LDFLAGS) rdjpgcom.c - -wrjpgcom.exe: wrjpgcom.c - $(CC) $(CFLAGS) $(LDFLAGS) wrjpgcom.c - -.c.obj: - $(CC) $(CFLAGS) -c $< - -jconfig.h: jconfig.txt - echo You must prepare a system-dependent jconfig.h file. - echo Please read the installation directions in install.txt. - exit 1 - -clean: .SYMBOLIC - - del *.obj - - del libjpeg.lib - - del cjpeg.exe - - del djpeg.exe - - del jpegtran.exe - - del rdjpgcom.exe - - del wrjpgcom.exe - - del testout*.* - -test: cjpeg.exe djpeg.exe jpegtran.exe .SYMBOLIC - - del testout*.* - djpeg -dct int -ppm -outfile testout.ppm testorig.jpg - djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg - cjpeg -dct int -outfile testout.jpg testimg.ppm - djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg - cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm - jpegtran -outfile testoutt.jpg testprog.jpg -!ifeq SYSTEM DOS - fc /b testimg.ppm testout.ppm - fc /b testimg.bmp testout.bmp - fc /b testimg.jpg testout.jpg - fc /b testimg.ppm testoutp.ppm - fc /b testimgp.jpg testoutp.jpg - fc /b testorig.jpg testoutt.jpg -!else - echo n > n.tmp - comp testimg.ppm testout.ppm < n.tmp - comp testimg.bmp testout.bmp < n.tmp - comp testimg.jpg testout.jpg < n.tmp - comp testimg.ppm testoutp.ppm < n.tmp - comp testimgp.jpg testoutp.jpg < n.tmp - comp testorig.jpg testoutt.jpg < n.tmp - del n.tmp -!endif - - -jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h -jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h -jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h -jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h -jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h -cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h -jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h -rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h -wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h -cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h -rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h -wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h diff --git a/3rdparty/openctm/tools/jpeg/makejdep.vc6 b/3rdparty/openctm/tools/jpeg/makejdep.vc6 deleted file mode 100644 index d1e3c5f90..000000000 --- a/3rdparty/openctm/tools/jpeg/makejdep.vc6 +++ /dev/null @@ -1,423 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von jpeg.mak - -.\jaricom.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcapimin.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcapistd.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcarith.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jccoefct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jccolor.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcdctmgr.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jchuff.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcinit.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcmainct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcmarker.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcmaster.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcomapi.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcparam.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcprepct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jcsample.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jctrans.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdapimin.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdapistd.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdarith.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdatadst.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\jdatasrc.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\jdcoefct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdcolor.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jddctmgr.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdhuff.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdinput.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdmainct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdmarker.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdmaster.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdmerge.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdpostct.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdsample.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jdtrans.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jerror.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - ".\jversion.h"\ - - -.\jfdctflt.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jfdctfst.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jfdctint.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jidctflt.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jidctfst.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jidctint.c : \ - ".\jconfig.h"\ - ".\jdct.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jmemmgr.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmemsys.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jmemnobs.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmemsys.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jquant1.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jquant2.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - - -.\jutils.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/makejdsp.vc6 b/3rdparty/openctm/tools/jpeg/makejdsp.vc6 deleted file mode 100644 index ba87738a2..000000000 --- a/3rdparty/openctm/tools/jpeg/makejdsp.vc6 +++ /dev/null @@ -1,285 +0,0 @@ -# Microsoft Developer Studio Project File - Name="jpeg" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=jpeg - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "jpeg.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "jpeg.mak" CFG="jpeg - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "jpeg - Win32" (basierend auf "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\Release" -# PROP BASE Intermediate_Dir ".\Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\Release" -# PROP Intermediate_Dir ".\Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c -# ADD BASE RSC /l 0x407 -# ADD RSC /l 0x407 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo -# Begin Target - -# Name "jpeg - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\jaricom.c -# End Source File -# Begin Source File - -SOURCE=.\jcapimin.c -# End Source File -# Begin Source File - -SOURCE=.\jcapistd.c -# End Source File -# Begin Source File - -SOURCE=.\jcarith.c -# End Source File -# Begin Source File - -SOURCE=.\jccoefct.c -# End Source File -# Begin Source File - -SOURCE=.\jccolor.c -# End Source File -# Begin Source File - -SOURCE=.\jcdctmgr.c -# End Source File -# Begin Source File - -SOURCE=.\jchuff.c -# End Source File -# Begin Source File - -SOURCE=.\jcinit.c -# End Source File -# Begin Source File - -SOURCE=.\jcmainct.c -# End Source File -# Begin Source File - -SOURCE=.\jcmarker.c -# End Source File -# Begin Source File - -SOURCE=.\jcmaster.c -# End Source File -# Begin Source File - -SOURCE=.\jcomapi.c -# End Source File -# Begin Source File - -SOURCE=.\jcparam.c -# End Source File -# Begin Source File - -SOURCE=.\jcprepct.c -# End Source File -# Begin Source File - -SOURCE=.\jcsample.c -# End Source File -# Begin Source File - -SOURCE=.\jctrans.c -# End Source File -# Begin Source File - -SOURCE=.\jdapimin.c -# End Source File -# Begin Source File - -SOURCE=.\jdapistd.c -# End Source File -# Begin Source File - -SOURCE=.\jdarith.c -# End Source File -# Begin Source File - -SOURCE=.\jdatadst.c -# End Source File -# Begin Source File - -SOURCE=.\jdatasrc.c -# End Source File -# Begin Source File - -SOURCE=.\jdcoefct.c -# End Source File -# Begin Source File - -SOURCE=.\jdcolor.c -# End Source File -# Begin Source File - -SOURCE=.\jddctmgr.c -# End Source File -# Begin Source File - -SOURCE=.\jdhuff.c -# End Source File -# Begin Source File - -SOURCE=.\jdinput.c -# End Source File -# Begin Source File - -SOURCE=.\jdmainct.c -# End Source File -# Begin Source File - -SOURCE=.\jdmarker.c -# End Source File -# Begin Source File - -SOURCE=.\jdmaster.c -# End Source File -# Begin Source File - -SOURCE=.\jdmerge.c -# End Source File -# Begin Source File - -SOURCE=.\jdpostct.c -# End Source File -# Begin Source File - -SOURCE=.\jdsample.c -# End Source File -# Begin Source File - -SOURCE=.\jdtrans.c -# End Source File -# Begin Source File - -SOURCE=.\jerror.c -# End Source File -# Begin Source File - -SOURCE=.\jfdctflt.c -# End Source File -# Begin Source File - -SOURCE=.\jfdctfst.c -# End Source File -# Begin Source File - -SOURCE=.\jfdctint.c -# End Source File -# Begin Source File - -SOURCE=.\jidctflt.c -# End Source File -# Begin Source File - -SOURCE=.\jidctfst.c -# End Source File -# Begin Source File - -SOURCE=.\jidctint.c -# End Source File -# Begin Source File - -SOURCE=.\jmemmgr.c -# End Source File -# Begin Source File - -SOURCE=.\jmemnobs.c -# End Source File -# Begin Source File - -SOURCE=.\jquant1.c -# End Source File -# Begin Source File - -SOURCE=.\jquant2.c -# End Source File -# Begin Source File - -SOURCE=.\jutils.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jdct.h -# End Source File -# Begin Source File - -SOURCE=.\jerror.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# Begin Source File - -SOURCE=.\jmemsys.h -# End Source File -# Begin Source File - -SOURCE=.\jmorecfg.h -# End Source File -# Begin Source File - -SOURCE=.\jpegint.h -# End Source File -# Begin Source File - -SOURCE=.\jpeglib.h -# End Source File -# Begin Source File - -SOURCE=.\jversion.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/makejdsw.vc6 b/3rdparty/openctm/tools/jpeg/makejdsw.vc6 deleted file mode 100644 index 86c8fe5b4..000000000 --- a/3rdparty/openctm/tools/jpeg/makejdsw.vc6 +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! - -############################################################################### - -Project: "jpeg"=".\jpeg.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/3rdparty/openctm/tools/jpeg/makejmak.vc6 b/3rdparty/openctm/tools/jpeg/makejmak.vc6 deleted file mode 100644 index eff0c72c0..000000000 --- a/3rdparty/openctm/tools/jpeg/makejmak.vc6 +++ /dev/null @@ -1,425 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on jpeg.dsp -!IF "$(CFG)" == "" -CFG=jpeg - Win32 -!MESSAGE Keine Konfiguration angegeben. jpeg - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "jpeg - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "jpeg.mak" CFG="jpeg - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "jpeg - Win32" (basierend auf "Win32 (x86) Static Library") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -OUTDIR=.\Release -INTDIR=.\Release -# Begin Custom Macros -OutDir=.\Release -# End Custom Macros - -ALL : "$(OUTDIR)\jpeg.lib" - - -CLEAN : - -@erase "$(INTDIR)\jaricom.obj" - -@erase "$(INTDIR)\jcapimin.obj" - -@erase "$(INTDIR)\jcapistd.obj" - -@erase "$(INTDIR)\jcarith.obj" - -@erase "$(INTDIR)\jccoefct.obj" - -@erase "$(INTDIR)\jccolor.obj" - -@erase "$(INTDIR)\jcdctmgr.obj" - -@erase "$(INTDIR)\jchuff.obj" - -@erase "$(INTDIR)\jcinit.obj" - -@erase "$(INTDIR)\jcmainct.obj" - -@erase "$(INTDIR)\jcmarker.obj" - -@erase "$(INTDIR)\jcmaster.obj" - -@erase "$(INTDIR)\jcomapi.obj" - -@erase "$(INTDIR)\jcparam.obj" - -@erase "$(INTDIR)\jcprepct.obj" - -@erase "$(INTDIR)\jcsample.obj" - -@erase "$(INTDIR)\jctrans.obj" - -@erase "$(INTDIR)\jdapimin.obj" - -@erase "$(INTDIR)\jdapistd.obj" - -@erase "$(INTDIR)\jdarith.obj" - -@erase "$(INTDIR)\jdatadst.obj" - -@erase "$(INTDIR)\jdatasrc.obj" - -@erase "$(INTDIR)\jdcoefct.obj" - -@erase "$(INTDIR)\jdcolor.obj" - -@erase "$(INTDIR)\jddctmgr.obj" - -@erase "$(INTDIR)\jdhuff.obj" - -@erase "$(INTDIR)\jdinput.obj" - -@erase "$(INTDIR)\jdmainct.obj" - -@erase "$(INTDIR)\jdmarker.obj" - -@erase "$(INTDIR)\jdmaster.obj" - -@erase "$(INTDIR)\jdmerge.obj" - -@erase "$(INTDIR)\jdpostct.obj" - -@erase "$(INTDIR)\jdsample.obj" - -@erase "$(INTDIR)\jdtrans.obj" - -@erase "$(INTDIR)\jerror.obj" - -@erase "$(INTDIR)\jfdctflt.obj" - -@erase "$(INTDIR)\jfdctfst.obj" - -@erase "$(INTDIR)\jfdctint.obj" - -@erase "$(INTDIR)\jidctflt.obj" - -@erase "$(INTDIR)\jidctfst.obj" - -@erase "$(INTDIR)\jidctint.obj" - -@erase "$(INTDIR)\jmemmgr.obj" - -@erase "$(INTDIR)\jmemnobs.obj" - -@erase "$(INTDIR)\jquant1.obj" - -@erase "$(INTDIR)\jquant2.obj" - -@erase "$(INTDIR)\jutils.obj" - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(OUTDIR)\jpeg.lib" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -CPP=cl.exe -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)\jpeg.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -RSC=rc.exe -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\jpeg.bsc" -BSC32_SBRS= \ - -LIB32=link.exe -lib -LIB32_FLAGS=/nologo /out:"$(OUTDIR)\jpeg.lib" -LIB32_OBJS= \ - "$(INTDIR)\jaricom.obj" \ - "$(INTDIR)\jcapimin.obj" \ - "$(INTDIR)\jcapistd.obj" \ - "$(INTDIR)\jcarith.obj" \ - "$(INTDIR)\jccoefct.obj" \ - "$(INTDIR)\jccolor.obj" \ - "$(INTDIR)\jcdctmgr.obj" \ - "$(INTDIR)\jchuff.obj" \ - "$(INTDIR)\jcinit.obj" \ - "$(INTDIR)\jcmainct.obj" \ - "$(INTDIR)\jcmarker.obj" \ - "$(INTDIR)\jcmaster.obj" \ - "$(INTDIR)\jcomapi.obj" \ - "$(INTDIR)\jcparam.obj" \ - "$(INTDIR)\jcprepct.obj" \ - "$(INTDIR)\jcsample.obj" \ - "$(INTDIR)\jctrans.obj" \ - "$(INTDIR)\jdapimin.obj" \ - "$(INTDIR)\jdapistd.obj" \ - "$(INTDIR)\jdarith.obj" \ - "$(INTDIR)\jdatadst.obj" \ - "$(INTDIR)\jdatasrc.obj" \ - "$(INTDIR)\jdcoefct.obj" \ - "$(INTDIR)\jdcolor.obj" \ - "$(INTDIR)\jddctmgr.obj" \ - "$(INTDIR)\jdhuff.obj" \ - "$(INTDIR)\jdinput.obj" \ - "$(INTDIR)\jdmainct.obj" \ - "$(INTDIR)\jdmarker.obj" \ - "$(INTDIR)\jdmaster.obj" \ - "$(INTDIR)\jdmerge.obj" \ - "$(INTDIR)\jdpostct.obj" \ - "$(INTDIR)\jdsample.obj" \ - "$(INTDIR)\jdtrans.obj" \ - "$(INTDIR)\jerror.obj" \ - "$(INTDIR)\jfdctflt.obj" \ - "$(INTDIR)\jfdctfst.obj" \ - "$(INTDIR)\jfdctint.obj" \ - "$(INTDIR)\jidctflt.obj" \ - "$(INTDIR)\jidctfst.obj" \ - "$(INTDIR)\jidctint.obj" \ - "$(INTDIR)\jmemmgr.obj" \ - "$(INTDIR)\jmemnobs.obj" \ - "$(INTDIR)\jquant1.obj" \ - "$(INTDIR)\jquant2.obj" \ - "$(INTDIR)\jutils.obj" - -"$(OUTDIR)\jpeg.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) - $(LIB32) @<< - $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("jpeg.dep") -!INCLUDE "jpeg.dep" -!ELSE -!MESSAGE Warning: cannot find "jpeg.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "jpeg - Win32" -SOURCE=.\jaricom.c - -"$(INTDIR)\jaricom.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcapimin.c - -"$(INTDIR)\jcapimin.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcapistd.c - -"$(INTDIR)\jcapistd.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcarith.c - -"$(INTDIR)\jcarith.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jccoefct.c - -"$(INTDIR)\jccoefct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jccolor.c - -"$(INTDIR)\jccolor.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcdctmgr.c - -"$(INTDIR)\jcdctmgr.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jchuff.c - -"$(INTDIR)\jchuff.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcinit.c - -"$(INTDIR)\jcinit.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcmainct.c - -"$(INTDIR)\jcmainct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcmarker.c - -"$(INTDIR)\jcmarker.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcmaster.c - -"$(INTDIR)\jcmaster.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcomapi.c - -"$(INTDIR)\jcomapi.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcparam.c - -"$(INTDIR)\jcparam.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcprepct.c - -"$(INTDIR)\jcprepct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jcsample.c - -"$(INTDIR)\jcsample.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jctrans.c - -"$(INTDIR)\jctrans.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdapimin.c - -"$(INTDIR)\jdapimin.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdapistd.c - -"$(INTDIR)\jdapistd.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdarith.c - -"$(INTDIR)\jdarith.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdatadst.c - -"$(INTDIR)\jdatadst.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdatasrc.c - -"$(INTDIR)\jdatasrc.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdcoefct.c - -"$(INTDIR)\jdcoefct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdcolor.c - -"$(INTDIR)\jdcolor.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jddctmgr.c - -"$(INTDIR)\jddctmgr.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdhuff.c - -"$(INTDIR)\jdhuff.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdinput.c - -"$(INTDIR)\jdinput.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdmainct.c - -"$(INTDIR)\jdmainct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdmarker.c - -"$(INTDIR)\jdmarker.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdmaster.c - -"$(INTDIR)\jdmaster.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdmerge.c - -"$(INTDIR)\jdmerge.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdpostct.c - -"$(INTDIR)\jdpostct.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdsample.c - -"$(INTDIR)\jdsample.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jdtrans.c - -"$(INTDIR)\jdtrans.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jerror.c - -"$(INTDIR)\jerror.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jfdctflt.c - -"$(INTDIR)\jfdctflt.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jfdctfst.c - -"$(INTDIR)\jfdctfst.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jfdctint.c - -"$(INTDIR)\jfdctint.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jidctflt.c - -"$(INTDIR)\jidctflt.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jidctfst.c - -"$(INTDIR)\jidctfst.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jidctint.c - -"$(INTDIR)\jidctint.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jmemmgr.c - -"$(INTDIR)\jmemmgr.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jmemnobs.c - -"$(INTDIR)\jmemnobs.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jquant1.c - -"$(INTDIR)\jquant1.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jquant2.c - -"$(INTDIR)\jquant2.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jutils.c - -"$(INTDIR)\jutils.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/makejsln.vc9 b/3rdparty/openctm/tools/jpeg/makejsln.vc9 deleted file mode 100644 index 093e68644..000000000 --- a/3rdparty/openctm/tools/jpeg/makejsln.vc9 +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg", "jpeg.vcproj", "{E61592E1-28F4-4AFC-9EE1-9BE833A061C1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E61592E1-28F4-4AFC-9EE1-9BE833A061C1}.Release|Win32.ActiveCfg = Release|Win32 - {E61592E1-28F4-4AFC-9EE1-9BE833A061C1}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/3rdparty/openctm/tools/jpeg/makejvcp.vc9 b/3rdparty/openctm/tools/jpeg/makejvcp.vc9 deleted file mode 100644 index df35717c2..000000000 --- a/3rdparty/openctm/tools/jpeg/makejvcp.vc9 +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/makeproj.mac b/3rdparty/openctm/tools/jpeg/makeproj.mac deleted file mode 100644 index 4c01e15ba..000000000 --- a/3rdparty/openctm/tools/jpeg/makeproj.mac +++ /dev/null @@ -1,213 +0,0 @@ --- --- makeproj.mac --- --- This AppleScript builds Code Warrior PRO Release 2 project files for the --- libjpeg library as well as the test programs 'cjpeg', 'djpeg', 'jpegtran'. --- (We'd distribute real project files, except they're not text --- and would create maintenance headaches.) --- --- The script then compiles and links the library and the test programs. --- NOTE: if you haven't already created a 'jconfig.h' file, the script --- automatically copies 'jconfig.mac' to 'jconfig.h'. --- --- To use this script, you must have AppleScript 1.1 or later installed --- and a suitable AppleScript editor like Script Editor or Script Debugger --- (http://www.latenightsw.com). Open this file with your AppleScript --- editor and execute the "run" command to build the projects. --- --- Thanks to Dan Sears and Don Agro for this script. --- Questions about this script can be addressed to dogpark@interlog.com --- - -on run - - choose folder with prompt ">>> Select IJG source folder <<<" - set ijg_folder to result - - choose folder with prompt ">>> Select MetroWerks folder <<<" - set cw_folder to result - - -- if jconfig.h doesn't already exist, copy jconfig.mac - - tell application "Finder" - if not (exists file "jconfig.h" of ijg_folder) then - duplicate {file "jconfig.mac" of folder ijg_folder} - select file "jconfig.mac copy" of folder ijg_folder - set name of selection to "jconfig.h" - end if - end tell - - tell application "CodeWarrior IDE 2.1" - with timeout of 10000 seconds - - -- create libjpeg project - - activate - Create Project (ijg_folder as string) & "libjpeg.proj" - Set Preferences of panel "Target Settings" to {Target Name:"libjpeg"} - Set Preferences of panel "PPC Project" to {File Name:"libjpeg"} - Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} - Set Preferences of panel "PPC Project" to {Project Type:library} - Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} - Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} - Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} - Set Preferences of panel "PPC Linker" to {Generate SYM File:false} - - Add Files (ijg_folder as string) & "jaricom.c" To Segment 1 - Add Files (ijg_folder as string) & "jcapimin.c" To Segment 1 - Add Files (ijg_folder as string) & "jcapistd.c" To Segment 1 - Add Files (ijg_folder as string) & "jcarith.c" To Segment 1 - Add Files (ijg_folder as string) & "jctrans.c" To Segment 1 - Add Files (ijg_folder as string) & "jcparam.c" To Segment 1 - Add Files (ijg_folder as string) & "jdatadst.c" To Segment 1 - Add Files (ijg_folder as string) & "jcinit.c" To Segment 1 - Add Files (ijg_folder as string) & "jcmaster.c" To Segment 1 - Add Files (ijg_folder as string) & "jcmarker.c" To Segment 1 - Add Files (ijg_folder as string) & "jcmainct.c" To Segment 1 - Add Files (ijg_folder as string) & "jcprepct.c" To Segment 1 - Add Files (ijg_folder as string) & "jccoefct.c" To Segment 1 - Add Files (ijg_folder as string) & "jccolor.c" To Segment 1 - Add Files (ijg_folder as string) & "jcsample.c" To Segment 1 - Add Files (ijg_folder as string) & "jchuff.c" To Segment 1 - Add Files (ijg_folder as string) & "jcdctmgr.c" To Segment 1 - Add Files (ijg_folder as string) & "jfdctfst.c" To Segment 1 - Add Files (ijg_folder as string) & "jfdctflt.c" To Segment 1 - Add Files (ijg_folder as string) & "jfdctint.c" To Segment 1 - Add Files (ijg_folder as string) & "jdapimin.c" To Segment 1 - Add Files (ijg_folder as string) & "jdapistd.c" To Segment 1 - Add Files (ijg_folder as string) & "jdarith.c" To Segment 1 - Add Files (ijg_folder as string) & "jdtrans.c" To Segment 1 - Add Files (ijg_folder as string) & "jdatasrc.c" To Segment 1 - Add Files (ijg_folder as string) & "jdmaster.c" To Segment 1 - Add Files (ijg_folder as string) & "jdinput.c" To Segment 1 - Add Files (ijg_folder as string) & "jdmarker.c" To Segment 1 - Add Files (ijg_folder as string) & "jdhuff.c" To Segment 1 - Add Files (ijg_folder as string) & "jdmainct.c" To Segment 1 - Add Files (ijg_folder as string) & "jdcoefct.c" To Segment 1 - Add Files (ijg_folder as string) & "jdpostct.c" To Segment 1 - Add Files (ijg_folder as string) & "jddctmgr.c" To Segment 1 - Add Files (ijg_folder as string) & "jidctfst.c" To Segment 1 - Add Files (ijg_folder as string) & "jidctflt.c" To Segment 1 - Add Files (ijg_folder as string) & "jidctint.c" To Segment 1 - Add Files (ijg_folder as string) & "jdsample.c" To Segment 1 - Add Files (ijg_folder as string) & "jdcolor.c" To Segment 1 - Add Files (ijg_folder as string) & "jquant1.c" To Segment 1 - Add Files (ijg_folder as string) & "jquant2.c" To Segment 1 - Add Files (ijg_folder as string) & "jdmerge.c" To Segment 1 - Add Files (ijg_folder as string) & "jcomapi.c" To Segment 1 - Add Files (ijg_folder as string) & "jutils.c" To Segment 1 - Add Files (ijg_folder as string) & "jerror.c" To Segment 1 - Add Files (ijg_folder as string) & "jmemmgr.c" To Segment 1 - Add Files (ijg_folder as string) & "jmemmac.c" To Segment 1 - - -- compile and link the library - - Make Project - Close Project - - -- create cjpeg project - - activate - Create Project (ijg_folder as string) & "cjpeg.proj" - Set Preferences of panel "Target Settings" to {Target Name:"cjpeg"} - Set Preferences of panel "PPC Project" to {File Name:"cjpeg"} - Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} - Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} - Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} - Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} - Set Preferences of panel "PPC Linker" to {Generate SYM File:false} - - Add Files (ijg_folder as string) & "cjpeg.c" To Segment 1 - Add Files (ijg_folder as string) & "rdppm.c" To Segment 1 - Add Files (ijg_folder as string) & "rdgif.c" To Segment 1 - Add Files (ijg_folder as string) & "rdtarga.c" To Segment 1 - Add Files (ijg_folder as string) & "rdrle.c" To Segment 1 - Add Files (ijg_folder as string) & "rdbmp.c" To Segment 1 - Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1 - Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 - - Add Files (ijg_folder as string) & "libjpeg" To Segment 2 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 - - -- compile and link cjpeg - - Make Project - Close Project - - -- create djpeg project - - activate - Create Project (ijg_folder as string) & "djpeg.proj" - Set Preferences of panel "Target Settings" to {Target Name:"djpeg"} - Set Preferences of panel "PPC Project" to {File Name:"djpeg"} - Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} - Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} - Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} - Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} - Set Preferences of panel "PPC Linker" to {Generate SYM File:false} - - Add Files (ijg_folder as string) & "djpeg.c" To Segment 1 - Add Files (ijg_folder as string) & "wrppm.c" To Segment 1 - Add Files (ijg_folder as string) & "wrgif.c" To Segment 1 - Add Files (ijg_folder as string) & "wrtarga.c" To Segment 1 - Add Files (ijg_folder as string) & "wrrle.c" To Segment 1 - Add Files (ijg_folder as string) & "wrbmp.c" To Segment 1 - Add Files (ijg_folder as string) & "rdcolmap.c" To Segment 1 - Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 - - Add Files (ijg_folder as string) & "libjpeg" To Segment 2 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 - - -- compile and link djpeg - - Make Project - Close Project - - -- create jpegtran project - - activate - Create Project (ijg_folder as string) & "jpegtran.proj" - Set Preferences of panel "Target Settings" to {Target Name:"jpegtran"} - Set Preferences of panel "PPC Project" to {File Name:"jpegtran"} - Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} - Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} - Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} - Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} - Set Preferences of panel "PPC Linker" to {Generate SYM File:false} - - Add Files (ijg_folder as string) & "jpegtran.c" To Segment 1 - Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1 - Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 - Add Files (ijg_folder as string) & "transupp.c" To Segment 1 - - Add Files (ijg_folder as string) & "libjpeg" To Segment 2 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 - - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 - Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 - - -- compile and link jpegtran - - Make Project - Close Project - - quit - - end timeout - end tell -end run diff --git a/3rdparty/openctm/tools/jpeg/makerdep.vc6 b/3rdparty/openctm/tools/jpeg/makerdep.vc6 deleted file mode 100644 index 27052b049..000000000 --- a/3rdparty/openctm/tools/jpeg/makerdep.vc6 +++ /dev/null @@ -1,6 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von rdjpgcom.mak - -.\rdjpgcom.c : \ - ".\jconfig.h"\ - ".\jinclude.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/makerdsp.vc6 b/3rdparty/openctm/tools/jpeg/makerdsp.vc6 deleted file mode 100644 index f62700ecf..000000000 --- a/3rdparty/openctm/tools/jpeg/makerdsp.vc6 +++ /dev/null @@ -1,78 +0,0 @@ -# Microsoft Developer Studio Project File - Name="rdjpgcom" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=rdjpgcom - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "rdjpgcom.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "rdjpgcom.mak" CFG="rdjpgcom - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "rdjpgcom - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\rdjpgcom\Release" -# PROP BASE Intermediate_Dir ".\rdjpgcom\Release" -# PROP BASE Target_Dir ".\rdjpgcom" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\rdjpgcom\Release" -# PROP Intermediate_Dir ".\rdjpgcom\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir ".\rdjpgcom" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# Begin Target - -# Name "rdjpgcom - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\rdjpgcom.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/makermak.vc6 b/3rdparty/openctm/tools/jpeg/makermak.vc6 deleted file mode 100644 index ac76914c6..000000000 --- a/3rdparty/openctm/tools/jpeg/makermak.vc6 +++ /dev/null @@ -1,110 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on rdjpgcom.dsp -!IF "$(CFG)" == "" -CFG=rdjpgcom - Win32 -!MESSAGE Keine Konfiguration angegeben. rdjpgcom - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "rdjpgcom - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "rdjpgcom.mak" CFG="rdjpgcom - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "rdjpgcom - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -CPP=cl.exe -RSC=rc.exe -OUTDIR=.\rdjpgcom\Release -INTDIR=.\rdjpgcom\Release -# Begin Custom Macros -OutDir=.\rdjpgcom\Release -# End Custom Macros - -ALL : "$(OUTDIR)\rdjpgcom.exe" - - -CLEAN : - -@erase "$(INTDIR)\rdjpgcom.obj" - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(OUTDIR)\rdjpgcom.exe" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\rdjpgcom.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\rdjpgcom.pdb" /machine:I386 /out:"$(OUTDIR)\rdjpgcom.exe" -LINK32_OBJS= \ - "$(INTDIR)\rdjpgcom.obj" - -"$(OUTDIR)\rdjpgcom.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)\rdjpgcom.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("rdjpgcom.dep") -!INCLUDE "rdjpgcom.dep" -!ELSE -!MESSAGE Warning: cannot find "rdjpgcom.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "rdjpgcom - Win32" -SOURCE=.\rdjpgcom.c - -"$(INTDIR)\rdjpgcom.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/makervcp.vc9 b/3rdparty/openctm/tools/jpeg/makervcp.vc9 deleted file mode 100644 index a99648125..000000000 --- a/3rdparty/openctm/tools/jpeg/makervcp.vc9 +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/maketdep.vc6 b/3rdparty/openctm/tools/jpeg/maketdep.vc6 deleted file mode 100644 index ee26cf177..000000000 --- a/3rdparty/openctm/tools/jpeg/maketdep.vc6 +++ /dev/null @@ -1,43 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von jpegtran.mak - -.\cdjpeg.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\jpegtran.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - ".\jversion.h"\ - ".\transupp.h"\ - - -.\rdswitch.c : \ - ".\cderror.h"\ - ".\cdjpeg.h"\ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpeglib.h"\ - - -.\transupp.c : \ - ".\jconfig.h"\ - ".\jerror.h"\ - ".\jinclude.h"\ - ".\jmorecfg.h"\ - ".\jpegint.h"\ - ".\jpeglib.h"\ - ".\transupp.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/maketdsp.vc6 b/3rdparty/openctm/tools/jpeg/maketdsp.vc6 deleted file mode 100644 index 4df6026fb..000000000 --- a/3rdparty/openctm/tools/jpeg/maketdsp.vc6 +++ /dev/null @@ -1,122 +0,0 @@ -# Microsoft Developer Studio Project File - Name="jpegtran" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=jpegtran - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "jpegtran.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "jpegtran.mak" CFG="jpegtran - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "jpegtran - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\jpegtran\Release" -# PROP BASE Intermediate_Dir ".\jpegtran\Release" -# PROP BASE Target_Dir ".\jpegtran" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\jpegtran\Release" -# PROP Intermediate_Dir ".\jpegtran\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir ".\jpegtran" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# Begin Target - -# Name "jpegtran - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\cdjpeg.c -# End Source File -# Begin Source File - -SOURCE=.\jpegtran.c -# End Source File -# Begin Source File - -SOURCE=.\rdswitch.c -# End Source File -# Begin Source File - -SOURCE=.\transupp.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\cderror.h -# End Source File -# Begin Source File - -SOURCE=.\cdjpeg.h -# End Source File -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jerror.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# Begin Source File - -SOURCE=.\jmorecfg.h -# End Source File -# Begin Source File - -SOURCE=.\jpegint.h -# End Source File -# Begin Source File - -SOURCE=.\jpeglib.h -# End Source File -# Begin Source File - -SOURCE=.\jversion.h -# End Source File -# Begin Source File - -SOURCE=.\transupp.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/maketmak.vc6 b/3rdparty/openctm/tools/jpeg/maketmak.vc6 deleted file mode 100644 index 3f35c2814..000000000 --- a/3rdparty/openctm/tools/jpeg/maketmak.vc6 +++ /dev/null @@ -1,131 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on jpegtran.dsp -!IF "$(CFG)" == "" -CFG=jpegtran - Win32 -!MESSAGE Keine Konfiguration angegeben. jpegtran - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "jpegtran - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "jpegtran.mak" CFG="jpegtran - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "jpegtran - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -CPP=cl.exe -RSC=rc.exe -OUTDIR=.\jpegtran\Release -INTDIR=.\jpegtran\Release -# Begin Custom Macros -OutDir=.\jpegtran\Release -# End Custom Macros - -ALL : "$(OUTDIR)\jpegtran.exe" - - -CLEAN : - -@erase "$(INTDIR)\cdjpeg.obj" - -@erase "$(INTDIR)\jpegtran.obj" - -@erase "$(INTDIR)\rdswitch.obj" - -@erase "$(INTDIR)\transupp.obj" - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(OUTDIR)\jpegtran.exe" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\jpegtran.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\jpegtran.pdb" /machine:I386 /out:"$(OUTDIR)\jpegtran.exe" -LINK32_OBJS= \ - "$(INTDIR)\cdjpeg.obj" \ - "$(INTDIR)\jpegtran.obj" \ - "$(INTDIR)\rdswitch.obj" \ - "$(INTDIR)\transupp.obj" - -"$(OUTDIR)\jpegtran.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)\jpegtran.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("jpegtran.dep") -!INCLUDE "jpegtran.dep" -!ELSE -!MESSAGE Warning: cannot find "jpegtran.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "jpegtran - Win32" -SOURCE=.\cdjpeg.c - -"$(INTDIR)\cdjpeg.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\jpegtran.c - -"$(INTDIR)\jpegtran.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\rdswitch.c - -"$(INTDIR)\rdswitch.obj" : $(SOURCE) "$(INTDIR)" - - -SOURCE=.\transupp.c - -"$(INTDIR)\transupp.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/maketvcp.vc9 b/3rdparty/openctm/tools/jpeg/maketvcp.vc9 deleted file mode 100644 index 6fd2271b9..000000000 --- a/3rdparty/openctm/tools/jpeg/maketvcp.vc9 +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/makewdep.vc6 b/3rdparty/openctm/tools/jpeg/makewdep.vc6 deleted file mode 100644 index 7dd081fd2..000000000 --- a/3rdparty/openctm/tools/jpeg/makewdep.vc6 +++ /dev/null @@ -1,6 +0,0 @@ -# Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von wrjpgcom.mak - -.\wrjpgcom.c : \ - ".\jconfig.h"\ - ".\jinclude.h"\ - diff --git a/3rdparty/openctm/tools/jpeg/makewdsp.vc6 b/3rdparty/openctm/tools/jpeg/makewdsp.vc6 deleted file mode 100644 index f625aecaf..000000000 --- a/3rdparty/openctm/tools/jpeg/makewdsp.vc6 +++ /dev/null @@ -1,78 +0,0 @@ -# Microsoft Developer Studio Project File - Name="wrjpgcom" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** NICHT BEARBEITEN ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=wrjpgcom - Win32 -!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE -!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl -!MESSAGE -!MESSAGE NMAKE /f "wrjpgcom.mak". -!MESSAGE -!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "wrjpgcom.mak" CFG="wrjpgcom - Win32" -!MESSAGE -!MESSAGE Für die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "wrjpgcom - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\wrjpgcom\Release" -# PROP BASE Intermediate_Dir ".\wrjpgcom\Release" -# PROP BASE Target_Dir ".\wrjpgcom" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\wrjpgcom\Release" -# PROP Intermediate_Dir ".\wrjpgcom\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir ".\wrjpgcom" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c -# ADD CPP /nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# Begin Target - -# Name "wrjpgcom - Win32" -# Begin Group "Quellcodedateien" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\wrjpgcom.c -# End Source File -# End Group -# Begin Group "Header-Dateien" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\jconfig.h -# End Source File -# Begin Source File - -SOURCE=.\jinclude.h -# End Source File -# End Group -# Begin Group "Ressourcendateien" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/3rdparty/openctm/tools/jpeg/makewmak.vc6 b/3rdparty/openctm/tools/jpeg/makewmak.vc6 deleted file mode 100644 index 89ed55544..000000000 --- a/3rdparty/openctm/tools/jpeg/makewmak.vc6 +++ /dev/null @@ -1,110 +0,0 @@ -# Microsoft Developer Studio Generated NMAKE File, Based on wrjpgcom.dsp -!IF "$(CFG)" == "" -CFG=wrjpgcom - Win32 -!MESSAGE Keine Konfiguration angegeben. wrjpgcom - Win32 wird als Standard verwendet. -!ENDIF - -!IF "$(CFG)" != "wrjpgcom - Win32" -!MESSAGE Ungltige Konfiguration "$(CFG)" angegeben. -!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben -!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: -!MESSAGE -!MESSAGE NMAKE /f "wrjpgcom.mak" CFG="wrjpgcom - Win32" -!MESSAGE -!MESSAGE Fr die Konfiguration stehen zur Auswahl: -!MESSAGE -!MESSAGE "wrjpgcom - Win32" (basierend auf "Win32 (x86) Console Application") -!MESSAGE -!ERROR Eine ungltige Konfiguration wurde angegeben. -!ENDIF - -!IF "$(OS)" == "Windows_NT" -NULL= -!ELSE -NULL=nul -!ENDIF - -CPP=cl.exe -RSC=rc.exe -OUTDIR=.\wrjpgcom\Release -INTDIR=.\wrjpgcom\Release -# Begin Custom Macros -OutDir=.\wrjpgcom\Release -# End Custom Macros - -ALL : "$(OUTDIR)\wrjpgcom.exe" - - -CLEAN : - -@erase "$(INTDIR)\vc60.idb" - -@erase "$(INTDIR)\wrjpgcom.obj" - -@erase "$(OUTDIR)\wrjpgcom.exe" - -"$(OUTDIR)" : - if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" - -BSC32=bscmake.exe -BSC32_FLAGS=/nologo /o"$(OUTDIR)\wrjpgcom.bsc" -BSC32_SBRS= \ - -LINK32=link.exe -LINK32_FLAGS=Release\jpeg.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\wrjpgcom.pdb" /machine:I386 /out:"$(OUTDIR)\wrjpgcom.exe" -LINK32_OBJS= \ - "$(INTDIR)\wrjpgcom.obj" - -"$(OUTDIR)\wrjpgcom.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) - $(LINK32) @<< - $(LINK32_FLAGS) $(LINK32_OBJS) -<< - -CPP_PROJ=/nologo /G6 /MT /W3 /GX /Ox /Oa /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)\wrjpgcom.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c - -.c{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.obj:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.c{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cpp{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - -.cxx{$(INTDIR)}.sbr:: - $(CPP) @<< - $(CPP_PROJ) $< -<< - - -!IF "$(NO_EXTERNAL_DEPS)" != "1" -!IF EXISTS("wrjpgcom.dep") -!INCLUDE "wrjpgcom.dep" -!ELSE -!MESSAGE Warning: cannot find "wrjpgcom.dep" -!ENDIF -!ENDIF - - -!IF "$(CFG)" == "wrjpgcom - Win32" -SOURCE=.\wrjpgcom.c - -"$(INTDIR)\wrjpgcom.obj" : $(SOURCE) "$(INTDIR)" - - - -!ENDIF - diff --git a/3rdparty/openctm/tools/jpeg/makewvcp.vc9 b/3rdparty/openctm/tools/jpeg/makewvcp.vc9 deleted file mode 100644 index 50a72a06b..000000000 --- a/3rdparty/openctm/tools/jpeg/makewvcp.vc9 +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/openctm/tools/jpeg/makljpeg.st b/3rdparty/openctm/tools/jpeg/makljpeg.st deleted file mode 100644 index 0720fb553..000000000 --- a/3rdparty/openctm/tools/jpeg/makljpeg.st +++ /dev/null @@ -1,68 +0,0 @@ -; Project file for Independent JPEG Group's software -; -; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. -; Thanks to Frank Moehle, B. Setzepfandt, and Guido Vollbeding. -; -; To use this file, rename it to libjpeg.prj. -; Read installation instructions before trying to make the program! -; -; -; * * * Output file * * * -libjpeg.lib -; -; * * * COMPILER OPTIONS * * * -.C[-P] ; absolute calls -.C[-M] ; and no string merging, folks -.C[-w-cln] ; no "constant is long" warnings -.C[-w-par] ; no "parameter xxxx unused" -.C[-w-rch] ; no "unreachable code" -.C[-wsig] ; warn if significant digits may be lost -.L[-J] ; link new Obj-format (so we get a library) -= -; * * * * List of modules * * * * -jaricom.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcapimin.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcapistd.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcarith.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jccoefct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jccolor.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcdctmgr.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jchuff.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcinit.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcmainct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcmarker.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcmaster.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcomapi.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcparam.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcprepct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jcsample.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jctrans.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdapimin.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdapistd.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdarith.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdatadst.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h) -jdatasrc.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h) -jdcoefct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdcolor.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jddctmgr.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jdhuff.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdinput.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdmainct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdmarker.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdmaster.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdmerge.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdpostct.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdsample.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jdtrans.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jerror.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jversion.h,jerror.h) -jfdctflt.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jfdctfst.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jfdctint.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jidctflt.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jidctfst.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jidctint.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jdct.h) -jquant1.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jquant2.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jutils.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h) -jmemmgr.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jmemsys.h) -jmemansi.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,jmemsys.h) diff --git a/3rdparty/openctm/tools/jpeg/maktjpeg.st b/3rdparty/openctm/tools/jpeg/maktjpeg.st deleted file mode 100644 index 25ce9266d..000000000 --- a/3rdparty/openctm/tools/jpeg/maktjpeg.st +++ /dev/null @@ -1,30 +0,0 @@ -; Project file for Independent JPEG Group's software -; -; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. -; Thanks to Frank Moehle, B. Setzepfandt, and Guido Vollbeding. -; -; To use this file, rename it to jpegtran.prj. -; If you are using Turbo C, change filenames beginning with "pc..." to "tc..." -; Read installation instructions before trying to make the program! -; -; -; * * * Output file * * * -jpegtran.ttp -; -; * * * COMPILER OPTIONS * * * -.C[-P] ; absolute calls -.C[-M] ; and no string merging, folks -.C[-w-cln] ; no "constant is long" warnings -.C[-w-par] ; no "parameter xxxx unused" -.C[-w-rch] ; no "unreachable code" -.C[-wsig] ; warn if significant digits may be lost -= -; * * * * List of modules * * * * -pcstart.o -jpegtran.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,transupp.h,jversion.h) -cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -rdswitch.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) -transupp.c (jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jpegint.h,jerror.h,transupp.h) -libjpeg.lib ; built by libjpeg.prj -pcstdlib.lib ; standard library -pcextlib.lib ; extended library diff --git a/3rdparty/openctm/tools/jpeg/makvms.opt b/3rdparty/openctm/tools/jpeg/makvms.opt deleted file mode 100644 index 26db71422..000000000 --- a/3rdparty/openctm/tools/jpeg/makvms.opt +++ /dev/null @@ -1,4 +0,0 @@ -! A pointer to the VAX/VMS C Run-Time Shareable Library. -! This file is needed by makefile.mms and makefile.vms, -! but only for the older VAX C compiler. DEC C does not need it. -Sys$Library:VAXCRTL.EXE /Share diff --git a/3rdparty/openctm/tools/jpeg/missing b/3rdparty/openctm/tools/jpeg/missing deleted file mode 100644 index 23c9d2e0a..000000000 --- a/3rdparty/openctm/tools/jpeg/missing +++ /dev/null @@ -1,376 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/3rdparty/openctm/tools/jpeg/rdbmp.c b/3rdparty/openctm/tools/jpeg/rdbmp.c deleted file mode 100644 index 4f61bcf73..000000000 --- a/3rdparty/openctm/tools/jpeg/rdbmp.c +++ /dev/null @@ -1,439 +0,0 @@ -/* - * rdbmp.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to read input images in Microsoft "BMP" - * format (MS Windows 3.x, OS/2 1.x, and OS/2 2.x flavors). - * Currently, only 8-bit and 24-bit images are supported, not 1-bit or - * 4-bit (feeding such low-depth images into JPEG would be silly anyway). - * Also, we don't support RLE-compressed files. - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume input from - * an ordinary stdio stream. They further assume that reading begins - * at the start of the file; start_input may need work if the - * user interface has already read some data (e.g., to determine that - * the file is indeed BMP format). - * - * This code contributed by James Arthur Boucher. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef BMP_SUPPORTED - - -/* Macros to deal with unsigned chars as efficiently as compiler allows */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char U_CHAR; -#define UCH(x) ((int) (x)) -#else /* !HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char U_CHAR; -#define UCH(x) ((int) (x)) -#else -typedef char U_CHAR; -#define UCH(x) ((int) (x) & 0xFF) -#endif -#endif /* HAVE_UNSIGNED_CHAR */ - - -#define ReadOK(file,buffer,len) (JFREAD(file,buffer,len) == ((size_t) (len))) - - -/* Private version of data source object */ - -typedef struct _bmp_source_struct * bmp_source_ptr; - -typedef struct _bmp_source_struct { - struct cjpeg_source_struct pub; /* public fields */ - - j_compress_ptr cinfo; /* back link saves passing separate parm */ - - JSAMPARRAY colormap; /* BMP colormap (converted to my format) */ - - jvirt_sarray_ptr whole_image; /* Needed to reverse row order */ - JDIMENSION source_row; /* Current source row number */ - JDIMENSION row_width; /* Physical width of scanlines in file */ - - int bits_per_pixel; /* remembers 8- or 24-bit format */ -} bmp_source_struct; - - -LOCAL(int) -read_byte (bmp_source_ptr sinfo) -/* Read next byte from BMP file */ -{ - register FILE *infile = sinfo->pub.input_file; - register int c; - - if ((c = getc(infile)) == EOF) - ERREXIT(sinfo->cinfo, JERR_INPUT_EOF); - return c; -} - - -LOCAL(void) -read_colormap (bmp_source_ptr sinfo, int cmaplen, int mapentrysize) -/* Read the colormap from a BMP file */ -{ - int i; - - switch (mapentrysize) { - case 3: - /* BGR format (occurs in OS/2 files) */ - for (i = 0; i < cmaplen; i++) { - sinfo->colormap[2][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[1][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[0][i] = (JSAMPLE) read_byte(sinfo); - } - break; - case 4: - /* BGR0 format (occurs in MS Windows files) */ - for (i = 0; i < cmaplen; i++) { - sinfo->colormap[2][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[1][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[0][i] = (JSAMPLE) read_byte(sinfo); - (void) read_byte(sinfo); - } - break; - default: - ERREXIT(sinfo->cinfo, JERR_BMP_BADCMAP); - break; - } -} - - -/* - * Read one row of pixels. - * The image has been read into the whole_image array, but is otherwise - * unprocessed. We must read it out in top-to-bottom row order, and if - * it is an 8-bit image, we must expand colormapped pixels to 24bit format. - */ - -METHODDEF(JDIMENSION) -get_8bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 8-bit colormap indexes */ -{ - bmp_source_ptr source = (bmp_source_ptr) sinfo; - register JSAMPARRAY colormap = source->colormap; - JSAMPARRAY image_ptr; - register int t; - register JSAMPROW inptr, outptr; - register JDIMENSION col; - - /* Fetch next row from virtual array */ - source->source_row--; - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->whole_image, - source->source_row, (JDIMENSION) 1, FALSE); - - /* Expand the colormap indexes to real data */ - inptr = image_ptr[0]; - outptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - t = GETJSAMPLE(*inptr++); - *outptr++ = colormap[0][t]; /* can omit GETJSAMPLE() safely */ - *outptr++ = colormap[1][t]; - *outptr++ = colormap[2][t]; - } - - return 1; -} - - -METHODDEF(JDIMENSION) -get_24bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 24-bit pixels */ -{ - bmp_source_ptr source = (bmp_source_ptr) sinfo; - JSAMPARRAY image_ptr; - register JSAMPROW inptr, outptr; - register JDIMENSION col; - - /* Fetch next row from virtual array */ - source->source_row--; - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->whole_image, - source->source_row, (JDIMENSION) 1, FALSE); - - /* Transfer data. Note source values are in BGR order - * (even though Microsoft's own documents say the opposite). - */ - inptr = image_ptr[0]; - outptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - outptr[2] = *inptr++; /* can omit GETJSAMPLE() safely */ - outptr[1] = *inptr++; - outptr[0] = *inptr++; - outptr += 3; - } - - return 1; -} - - -/* - * This method loads the image into whole_image during the first call on - * get_pixel_rows. The get_pixel_rows pointer is then adjusted to call - * get_8bit_row or get_24bit_row on subsequent calls. - */ - -METHODDEF(JDIMENSION) -preload_image (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - bmp_source_ptr source = (bmp_source_ptr) sinfo; - register FILE *infile = source->pub.input_file; - register int c; - register JSAMPROW out_ptr; - JSAMPARRAY image_ptr; - JDIMENSION row, col; - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - - /* Read the data into a virtual array in input-file row order. */ - for (row = 0; row < cinfo->image_height; row++) { - if (progress != NULL) { - progress->pub.pass_counter = (long) row; - progress->pub.pass_limit = (long) cinfo->image_height; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->whole_image, - row, (JDIMENSION) 1, TRUE); - out_ptr = image_ptr[0]; - for (col = source->row_width; col > 0; col--) { - /* inline copy of read_byte() for speed */ - if ((c = getc(infile)) == EOF) - ERREXIT(cinfo, JERR_INPUT_EOF); - *out_ptr++ = (JSAMPLE) c; - } - } - if (progress != NULL) - progress->completed_extra_passes++; - - /* Set up to read from the virtual array in top-to-bottom order */ - switch (source->bits_per_pixel) { - case 8: - source->pub.get_pixel_rows = get_8bit_row; - break; - case 24: - source->pub.get_pixel_rows = get_24bit_row; - break; - default: - ERREXIT(cinfo, JERR_BMP_BADDEPTH); - } - source->source_row = cinfo->image_height; - - /* And read the first row */ - return (*source->pub.get_pixel_rows) (cinfo, sinfo); -} - - -/* - * Read the file header; return image size and component count. - */ - -METHODDEF(void) -start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - bmp_source_ptr source = (bmp_source_ptr) sinfo; - U_CHAR bmpfileheader[14]; - U_CHAR bmpinfoheader[64]; -#define GET_2B(array,offset) ((unsigned int) UCH(array[offset]) + \ - (((unsigned int) UCH(array[offset+1])) << 8)) -#define GET_4B(array,offset) ((INT32) UCH(array[offset]) + \ - (((INT32) UCH(array[offset+1])) << 8) + \ - (((INT32) UCH(array[offset+2])) << 16) + \ - (((INT32) UCH(array[offset+3])) << 24)) - INT32 bfOffBits; - INT32 headerSize; - INT32 biWidth = 0; /* initialize to avoid compiler warning */ - INT32 biHeight = 0; - unsigned int biPlanes; - INT32 biCompression; - INT32 biXPelsPerMeter,biYPelsPerMeter; - INT32 biClrUsed = 0; - int mapentrysize = 0; /* 0 indicates no colormap */ - INT32 bPad; - JDIMENSION row_width; - - /* Read and verify the bitmap file header */ - if (! ReadOK(source->pub.input_file, bmpfileheader, 14)) - ERREXIT(cinfo, JERR_INPUT_EOF); - if (GET_2B(bmpfileheader,0) != 0x4D42) /* 'BM' */ - ERREXIT(cinfo, JERR_BMP_NOT); - bfOffBits = (INT32) GET_4B(bmpfileheader,10); - /* We ignore the remaining fileheader fields */ - - /* The infoheader might be 12 bytes (OS/2 1.x), 40 bytes (Windows), - * or 64 bytes (OS/2 2.x). Check the first 4 bytes to find out which. - */ - if (! ReadOK(source->pub.input_file, bmpinfoheader, 4)) - ERREXIT(cinfo, JERR_INPUT_EOF); - headerSize = (INT32) GET_4B(bmpinfoheader,0); - if (headerSize < 12 || headerSize > 64) - ERREXIT(cinfo, JERR_BMP_BADHEADER); - if (! ReadOK(source->pub.input_file, bmpinfoheader+4, headerSize-4)) - ERREXIT(cinfo, JERR_INPUT_EOF); - - switch ((int) headerSize) { - case 12: - /* Decode OS/2 1.x header (Microsoft calls this a BITMAPCOREHEADER) */ - biWidth = (INT32) GET_2B(bmpinfoheader,4); - biHeight = (INT32) GET_2B(bmpinfoheader,6); - biPlanes = GET_2B(bmpinfoheader,8); - source->bits_per_pixel = (int) GET_2B(bmpinfoheader,10); - - switch (source->bits_per_pixel) { - case 8: /* colormapped image */ - mapentrysize = 3; /* OS/2 uses RGBTRIPLE colormap */ - TRACEMS2(cinfo, 1, JTRC_BMP_OS2_MAPPED, (int) biWidth, (int) biHeight); - break; - case 24: /* RGB image */ - TRACEMS2(cinfo, 1, JTRC_BMP_OS2, (int) biWidth, (int) biHeight); - break; - default: - ERREXIT(cinfo, JERR_BMP_BADDEPTH); - break; - } - if (biPlanes != 1) - ERREXIT(cinfo, JERR_BMP_BADPLANES); - break; - case 40: - case 64: - /* Decode Windows 3.x header (Microsoft calls this a BITMAPINFOHEADER) */ - /* or OS/2 2.x header, which has additional fields that we ignore */ - biWidth = GET_4B(bmpinfoheader,4); - biHeight = GET_4B(bmpinfoheader,8); - biPlanes = GET_2B(bmpinfoheader,12); - source->bits_per_pixel = (int) GET_2B(bmpinfoheader,14); - biCompression = GET_4B(bmpinfoheader,16); - biXPelsPerMeter = GET_4B(bmpinfoheader,24); - biYPelsPerMeter = GET_4B(bmpinfoheader,28); - biClrUsed = GET_4B(bmpinfoheader,32); - /* biSizeImage, biClrImportant fields are ignored */ - - switch (source->bits_per_pixel) { - case 8: /* colormapped image */ - mapentrysize = 4; /* Windows uses RGBQUAD colormap */ - TRACEMS2(cinfo, 1, JTRC_BMP_MAPPED, (int) biWidth, (int) biHeight); - break; - case 24: /* RGB image */ - TRACEMS2(cinfo, 1, JTRC_BMP, (int) biWidth, (int) biHeight); - break; - default: - ERREXIT(cinfo, JERR_BMP_BADDEPTH); - break; - } - if (biPlanes != 1) - ERREXIT(cinfo, JERR_BMP_BADPLANES); - if (biCompression != 0) - ERREXIT(cinfo, JERR_BMP_COMPRESSED); - - if (biXPelsPerMeter > 0 && biYPelsPerMeter > 0) { - /* Set JFIF density parameters from the BMP data */ - cinfo->X_density = (UINT16) (biXPelsPerMeter/100); /* 100 cm per meter */ - cinfo->Y_density = (UINT16) (biYPelsPerMeter/100); - cinfo->density_unit = 2; /* dots/cm */ - } - break; - default: - ERREXIT(cinfo, JERR_BMP_BADHEADER); - break; - } - - /* Compute distance to bitmap data --- will adjust for colormap below */ - bPad = bfOffBits - (headerSize + 14); - - /* Read the colormap, if any */ - if (mapentrysize > 0) { - if (biClrUsed <= 0) - biClrUsed = 256; /* assume it's 256 */ - else if (biClrUsed > 256) - ERREXIT(cinfo, JERR_BMP_BADCMAP); - /* Allocate space to store the colormap */ - source->colormap = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) biClrUsed, (JDIMENSION) 3); - /* and read it from the file */ - read_colormap(source, (int) biClrUsed, mapentrysize); - /* account for size of colormap */ - bPad -= biClrUsed * mapentrysize; - } - - /* Skip any remaining pad bytes */ - if (bPad < 0) /* incorrect bfOffBits value? */ - ERREXIT(cinfo, JERR_BMP_BADHEADER); - while (--bPad >= 0) { - (void) read_byte(source); - } - - /* Compute row width in file, including padding to 4-byte boundary */ - if (source->bits_per_pixel == 24) - row_width = (JDIMENSION) (biWidth * 3); - else - row_width = (JDIMENSION) biWidth; - while ((row_width & 3) != 0) row_width++; - source->row_width = row_width; - - /* Allocate space for inversion array, prepare for preload pass */ - source->whole_image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - row_width, (JDIMENSION) biHeight, (JDIMENSION) 1); - source->pub.get_pixel_rows = preload_image; - if (cinfo->progress != NULL) { - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - progress->total_extra_passes++; /* count file input as separate pass */ - } - - /* Allocate one-row buffer for returned data */ - source->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) (biWidth * 3), (JDIMENSION) 1); - source->pub.buffer_height = 1; - - cinfo->in_color_space = JCS_RGB; - cinfo->input_components = 3; - cinfo->data_precision = 8; - cinfo->image_width = (JDIMENSION) biWidth; - cinfo->image_height = (JDIMENSION) biHeight; -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - /* no work */ -} - - -/* - * The module selection routine for BMP format input. - */ - -GLOBAL(cjpeg_source_ptr) -jinit_read_bmp (j_compress_ptr cinfo) -{ - bmp_source_ptr source; - - /* Create module interface object */ - source = (bmp_source_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(bmp_source_struct)); - source->cinfo = cinfo; /* make back link for subroutines */ - /* Fill in method ptrs, except get_pixel_rows which start_input sets */ - source->pub.start_input = start_input_bmp; - source->pub.finish_input = finish_input_bmp; - - return (cjpeg_source_ptr) source; -} - -#endif /* BMP_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/rdcolmap.c b/3rdparty/openctm/tools/jpeg/rdcolmap.c deleted file mode 100644 index eebf8346c..000000000 --- a/3rdparty/openctm/tools/jpeg/rdcolmap.c +++ /dev/null @@ -1,253 +0,0 @@ -/* - * rdcolmap.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file implements djpeg's "-map file" switch. It reads a source image - * and constructs a colormap to be supplied to the JPEG decompressor. - * - * Currently, these file formats are supported for the map file: - * GIF: the contents of the GIF's global colormap are used. - * PPM (either text or raw flavor): the entire file is read and - * each unique pixel value is entered in the map. - * Note that reading a large PPM file will be horrendously slow. - * Typically, a PPM-format map file should contain just one pixel - * of each desired color. Such a file can be extracted from an - * ordinary image PPM file with ppmtomap(1). - * - * Rescaling a PPM that has a maxval unequal to MAXJSAMPLE is not - * currently implemented. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef QUANT_2PASS_SUPPORTED /* otherwise can't quantize to supplied map */ - -/* Portions of this code are based on the PBMPLUS library, which is: -** -** Copyright (C) 1988 by Jef Poskanzer. -** -** Permission to use, copy, modify, and distribute this software and its -** documentation for any purpose and without fee is hereby granted, provided -** that the above copyright notice appear in all copies and that both that -** copyright notice and this permission notice appear in supporting -** documentation. This software is provided "as is" without express or -** implied warranty. -*/ - - -/* - * Add a (potentially) new color to the color map. - */ - -LOCAL(void) -add_map_entry (j_decompress_ptr cinfo, int R, int G, int B) -{ - JSAMPROW colormap0 = cinfo->colormap[0]; - JSAMPROW colormap1 = cinfo->colormap[1]; - JSAMPROW colormap2 = cinfo->colormap[2]; - int ncolors = cinfo->actual_number_of_colors; - int index; - - /* Check for duplicate color. */ - for (index = 0; index < ncolors; index++) { - if (GETJSAMPLE(colormap0[index]) == R && - GETJSAMPLE(colormap1[index]) == G && - GETJSAMPLE(colormap2[index]) == B) - return; /* color is already in map */ - } - - /* Check for map overflow. */ - if (ncolors >= (MAXJSAMPLE+1)) - ERREXIT1(cinfo, JERR_QUANT_MANY_COLORS, (MAXJSAMPLE+1)); - - /* OK, add color to map. */ - colormap0[ncolors] = (JSAMPLE) R; - colormap1[ncolors] = (JSAMPLE) G; - colormap2[ncolors] = (JSAMPLE) B; - cinfo->actual_number_of_colors++; -} - - -/* - * Extract color map from a GIF file. - */ - -LOCAL(void) -read_gif_map (j_decompress_ptr cinfo, FILE * infile) -{ - int header[13]; - int i, colormaplen; - int R, G, B; - - /* Initial 'G' has already been read by read_color_map */ - /* Read the rest of the GIF header and logical screen descriptor */ - for (i = 1; i < 13; i++) { - if ((header[i] = getc(infile)) == EOF) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - } - - /* Verify GIF Header */ - if (header[1] != 'I' || header[2] != 'F') - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - - /* There must be a global color map. */ - if ((header[10] & 0x80) == 0) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - - /* OK, fetch it. */ - colormaplen = 2 << (header[10] & 0x07); - - for (i = 0; i < colormaplen; i++) { - R = getc(infile); - G = getc(infile); - B = getc(infile); - if (R == EOF || G == EOF || B == EOF) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - add_map_entry(cinfo, - R << (BITS_IN_JSAMPLE-8), - G << (BITS_IN_JSAMPLE-8), - B << (BITS_IN_JSAMPLE-8)); - } -} - - -/* Support routines for reading PPM */ - - -LOCAL(int) -pbm_getc (FILE * infile) -/* Read next char, skipping over any comments */ -/* A comment/newline sequence is returned as a newline */ -{ - register int ch; - - ch = getc(infile); - if (ch == '#') { - do { - ch = getc(infile); - } while (ch != '\n' && ch != EOF); - } - return ch; -} - - -LOCAL(unsigned int) -read_pbm_integer (j_decompress_ptr cinfo, FILE * infile) -/* Read an unsigned decimal integer from the PPM file */ -/* Swallows one trailing character after the integer */ -/* Note that on a 16-bit-int machine, only values up to 64k can be read. */ -/* This should not be a problem in practice. */ -{ - register int ch; - register unsigned int val; - - /* Skip any leading whitespace */ - do { - ch = pbm_getc(infile); - if (ch == EOF) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - } while (ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r'); - - if (ch < '0' || ch > '9') - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - - val = ch - '0'; - while ((ch = pbm_getc(infile)) >= '0' && ch <= '9') { - val *= 10; - val += ch - '0'; - } - return val; -} - - -/* - * Extract color map from a PPM file. - */ - -LOCAL(void) -read_ppm_map (j_decompress_ptr cinfo, FILE * infile) -{ - int c; - unsigned int w, h, maxval, row, col; - int R, G, B; - - /* Initial 'P' has already been read by read_color_map */ - c = getc(infile); /* save format discriminator for a sec */ - - /* while we fetch the remaining header info */ - w = read_pbm_integer(cinfo, infile); - h = read_pbm_integer(cinfo, infile); - maxval = read_pbm_integer(cinfo, infile); - - if (w <= 0 || h <= 0 || maxval <= 0) /* error check */ - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - - /* For now, we don't support rescaling from an unusual maxval. */ - if (maxval != (unsigned int) MAXJSAMPLE) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - - switch (c) { - case '3': /* it's a text-format PPM file */ - for (row = 0; row < h; row++) { - for (col = 0; col < w; col++) { - R = read_pbm_integer(cinfo, infile); - G = read_pbm_integer(cinfo, infile); - B = read_pbm_integer(cinfo, infile); - add_map_entry(cinfo, R, G, B); - } - } - break; - - case '6': /* it's a raw-format PPM file */ - for (row = 0; row < h; row++) { - for (col = 0; col < w; col++) { - R = getc(infile); - G = getc(infile); - B = getc(infile); - if (R == EOF || G == EOF || B == EOF) - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - add_map_entry(cinfo, R, G, B); - } - } - break; - - default: - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - break; - } -} - - -/* - * Main entry point from djpeg.c. - * Input: opened input file (from file name argument on command line). - * Output: colormap and actual_number_of_colors fields are set in cinfo. - */ - -GLOBAL(void) -read_color_map (j_decompress_ptr cinfo, FILE * infile) -{ - /* Allocate space for a color map of maximum supported size. */ - cinfo->colormap = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) (MAXJSAMPLE+1), (JDIMENSION) 3); - cinfo->actual_number_of_colors = 0; /* initialize map to empty */ - - /* Read first byte to determine file format */ - switch (getc(infile)) { - case 'G': - read_gif_map(cinfo, infile); - break; - case 'P': - read_ppm_map(cinfo, infile); - break; - default: - ERREXIT(cinfo, JERR_BAD_CMAP_FILE); - break; - } -} - -#endif /* QUANT_2PASS_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/rdgif.c b/3rdparty/openctm/tools/jpeg/rdgif.c deleted file mode 100644 index b0757e718..000000000 --- a/3rdparty/openctm/tools/jpeg/rdgif.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * rdgif.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to read input images in GIF format. - * - ***************************************************************************** - * NOTE: to avoid entanglements with Unisys' patent on LZW compression, * - * the ability to read GIF files has been removed from the IJG distribution. * - * Sorry about that. * - ***************************************************************************** - * - * We are required to state that - * "The Graphics Interchange Format(c) is the Copyright property of - * CompuServe Incorporated. GIF(sm) is a Service Mark property of - * CompuServe Incorporated." - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef GIF_SUPPORTED - -/* - * The module selection routine for GIF format input. - */ - -GLOBAL(cjpeg_source_ptr) -jinit_read_gif (j_compress_ptr cinfo) -{ - fprintf(stderr, "GIF input is unsupported for legal reasons. Sorry.\n"); - exit(EXIT_FAILURE); - return NULL; /* keep compiler happy */ -} - -#endif /* GIF_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/rdjpgcom.1 b/3rdparty/openctm/tools/jpeg/rdjpgcom.1 deleted file mode 100644 index 2ddea6b01..000000000 --- a/3rdparty/openctm/tools/jpeg/rdjpgcom.1 +++ /dev/null @@ -1,63 +0,0 @@ -.TH RDJPGCOM 1 "02 April 2009" -.SH NAME -rdjpgcom \- display text comments from a JPEG file -.SH SYNOPSIS -.B rdjpgcom -[ -.B \-raw -] -[ -.B \-verbose -] -[ -.I filename -] -.LP -.SH DESCRIPTION -.LP -.B rdjpgcom -reads the named JPEG/JFIF file, or the standard input if no file is named, -and prints any text comments found in the file on the standard output. -.PP -The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file. -Although the standard doesn't actually define what COM blocks are for, they -are widely used to hold user-supplied text strings. This lets you add -annotations, titles, index terms, etc to your JPEG files, and later retrieve -them as text. COM blocks do not interfere with the image stored in the JPEG -file. The maximum size of a COM block is 64K, but you can have as many of -them as you like in one JPEG file. -.SH OPTIONS -.TP -.B \-raw -Normally -.B rdjpgcom -escapes non-printable characters in comments, for security reasons. -This option avoids that. -.PP -.B \-verbose -Causes -.B rdjpgcom -to also display the JPEG image dimensions. -.PP -Switch names may be abbreviated, and are not case sensitive. -.SH HINTS -.B rdjpgcom -does not depend on the IJG JPEG library. Its source code is intended as an -illustration of the minimum amount of code required to parse a JPEG file -header correctly. -.PP -In -.B \-verbose -mode, -.B rdjpgcom -will also attempt to print the contents of any "APP12" markers as text. -Some digital cameras produce APP12 markers containing useful textual -information. If you like, you can modify the source code to print -other APPn marker types as well. -.SH SEE ALSO -.BR cjpeg (1), -.BR djpeg (1), -.BR jpegtran (1), -.BR wrjpgcom (1) -.SH AUTHOR -Independent JPEG Group diff --git a/3rdparty/openctm/tools/jpeg/rdjpgcom.c b/3rdparty/openctm/tools/jpeg/rdjpgcom.c deleted file mode 100644 index ab09b443f..000000000 --- a/3rdparty/openctm/tools/jpeg/rdjpgcom.c +++ /dev/null @@ -1,515 +0,0 @@ -/* - * rdjpgcom.c - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * Modified 2009 by Bill Allombert, Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a very simple stand-alone application that displays - * the text in COM (comment) markers in a JFIF file. - * This may be useful as an example of the minimum logic needed to parse - * JPEG markers. - */ - -#define JPEG_CJPEG_DJPEG /* to get the command-line config symbols */ -#include "jinclude.h" /* get auto-config symbols, */ - -#ifdef HAVE_LOCALE_H -#include /* Bill Allombert: use locale for isprint */ -#endif -#include /* to declare isupper(), tolower() */ -#ifdef USE_SETMODE -#include /* to declare setmode()'s parameter macros */ -/* If you have setmode() but not , just delete this line: */ -#include /* to declare setmode() */ -#endif - -#ifdef USE_CCOMMAND /* command-line reader for Macintosh */ -#ifdef __MWERKS__ -#include /* Metrowerks needs this */ -#include /* ... and this */ -#endif -#ifdef THINK_C -#include /* Think declares it here */ -#endif -#endif - -#ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */ -#define READ_BINARY "r" -#else -#ifdef VMS /* VMS is very nonstandard */ -#define READ_BINARY "rb", "ctx=stm" -#else /* standard ANSI-compliant case */ -#define READ_BINARY "rb" -#endif -#endif - -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ -#define EXIT_FAILURE 1 -#endif -#ifndef EXIT_SUCCESS -#ifdef VMS -#define EXIT_SUCCESS 1 /* VMS is very nonstandard */ -#else -#define EXIT_SUCCESS 0 -#endif -#endif - - -/* - * These macros are used to read the input file. - * To reuse this code in another application, you might need to change these. - */ - -static FILE * infile; /* input JPEG file */ - -/* Return next input byte, or EOF if no more */ -#define NEXTBYTE() getc(infile) - - -/* Error exit handler */ -#define ERREXIT(msg) (fprintf(stderr, "%s\n", msg), exit(EXIT_FAILURE)) - - -/* Read one byte, testing for EOF */ -static int -read_1_byte (void) -{ - int c; - - c = NEXTBYTE(); - if (c == EOF) - ERREXIT("Premature EOF in JPEG file"); - return c; -} - -/* Read 2 bytes, convert to unsigned int */ -/* All 2-byte quantities in JPEG markers are MSB first */ -static unsigned int -read_2_bytes (void) -{ - int c1, c2; - - c1 = NEXTBYTE(); - if (c1 == EOF) - ERREXIT("Premature EOF in JPEG file"); - c2 = NEXTBYTE(); - if (c2 == EOF) - ERREXIT("Premature EOF in JPEG file"); - return (((unsigned int) c1) << 8) + ((unsigned int) c2); -} - - -/* - * JPEG markers consist of one or more 0xFF bytes, followed by a marker - * code byte (which is not an FF). Here are the marker codes of interest - * in this program. (See jdmarker.c for a more complete list.) - */ - -#define M_SOF0 0xC0 /* Start Of Frame N */ -#define M_SOF1 0xC1 /* N indicates which compression process */ -#define M_SOF2 0xC2 /* Only SOF0-SOF2 are now in common use */ -#define M_SOF3 0xC3 -#define M_SOF5 0xC5 /* NB: codes C4 and CC are NOT SOF markers */ -#define M_SOF6 0xC6 -#define M_SOF7 0xC7 -#define M_SOF9 0xC9 -#define M_SOF10 0xCA -#define M_SOF11 0xCB -#define M_SOF13 0xCD -#define M_SOF14 0xCE -#define M_SOF15 0xCF -#define M_SOI 0xD8 /* Start Of Image (beginning of datastream) */ -#define M_EOI 0xD9 /* End Of Image (end of datastream) */ -#define M_SOS 0xDA /* Start Of Scan (begins compressed data) */ -#define M_APP0 0xE0 /* Application-specific marker, type N */ -#define M_APP12 0xEC /* (we don't bother to list all 16 APPn's) */ -#define M_COM 0xFE /* COMment */ - - -/* - * Find the next JPEG marker and return its marker code. - * We expect at least one FF byte, possibly more if the compressor used FFs - * to pad the file. - * There could also be non-FF garbage between markers. The treatment of such - * garbage is unspecified; we choose to skip over it but emit a warning msg. - * NB: this routine must not be used after seeing SOS marker, since it will - * not deal correctly with FF/00 sequences in the compressed image data... - */ - -static int -next_marker (void) -{ - int c; - int discarded_bytes = 0; - - /* Find 0xFF byte; count and skip any non-FFs. */ - c = read_1_byte(); - while (c != 0xFF) { - discarded_bytes++; - c = read_1_byte(); - } - /* Get marker code byte, swallowing any duplicate FF bytes. Extra FFs - * are legal as pad bytes, so don't count them in discarded_bytes. - */ - do { - c = read_1_byte(); - } while (c == 0xFF); - - if (discarded_bytes != 0) { - fprintf(stderr, "Warning: garbage data found in JPEG file\n"); - } - - return c; -} - - -/* - * Read the initial marker, which should be SOI. - * For a JFIF file, the first two bytes of the file should be literally - * 0xFF M_SOI. To be more general, we could use next_marker, but if the - * input file weren't actually JPEG at all, next_marker might read the whole - * file and then return a misleading error message... - */ - -static int -first_marker (void) -{ - int c1, c2; - - c1 = NEXTBYTE(); - c2 = NEXTBYTE(); - if (c1 != 0xFF || c2 != M_SOI) - ERREXIT("Not a JPEG file"); - return c2; -} - - -/* - * Most types of marker are followed by a variable-length parameter segment. - * This routine skips over the parameters for any marker we don't otherwise - * want to process. - * Note that we MUST skip the parameter segment explicitly in order not to - * be fooled by 0xFF bytes that might appear within the parameter segment; - * such bytes do NOT introduce new markers. - */ - -static void -skip_variable (void) -/* Skip over an unknown or uninteresting variable-length marker */ -{ - unsigned int length; - - /* Get the marker parameter length count */ - length = read_2_bytes(); - /* Length includes itself, so must be at least 2 */ - if (length < 2) - ERREXIT("Erroneous JPEG marker length"); - length -= 2; - /* Skip over the remaining bytes */ - while (length > 0) { - (void) read_1_byte(); - length--; - } -} - - -/* - * Process a COM marker. - * We want to print out the marker contents as legible text; - * we must guard against non-text junk and varying newline representations. - */ - -static void -process_COM (int raw) -{ - unsigned int length; - int ch; - int lastch = 0; - - /* Bill Allombert: set locale properly for isprint */ -#ifdef HAVE_LOCALE_H - setlocale(LC_CTYPE, ""); -#endif - - /* Get the marker parameter length count */ - length = read_2_bytes(); - /* Length includes itself, so must be at least 2 */ - if (length < 2) - ERREXIT("Erroneous JPEG marker length"); - length -= 2; - - while (length > 0) { - ch = read_1_byte(); - if (raw) { - putc(ch, stdout); - /* Emit the character in a readable form. - * Nonprintables are converted to \nnn form, - * while \ is converted to \\. - * Newlines in CR, CR/LF, or LF form will be printed as one newline. - */ - } else if (ch == '\r') { - printf("\n"); - } else if (ch == '\n') { - if (lastch != '\r') - printf("\n"); - } else if (ch == '\\') { - printf("\\\\"); - } else if (isprint(ch)) { - putc(ch, stdout); - } else { - printf("\\%03o", ch); - } - lastch = ch; - length--; - } - printf("\n"); - - /* Bill Allombert: revert to C locale */ -#ifdef HAVE_LOCALE_H - setlocale(LC_CTYPE, "C"); -#endif -} - - -/* - * Process a SOFn marker. - * This code is only needed if you want to know the image dimensions... - */ - -static void -process_SOFn (int marker) -{ - unsigned int length; - unsigned int image_height, image_width; - int data_precision, num_components; - const char * process; - int ci; - - length = read_2_bytes(); /* usual parameter length count */ - - data_precision = read_1_byte(); - image_height = read_2_bytes(); - image_width = read_2_bytes(); - num_components = read_1_byte(); - - switch (marker) { - case M_SOF0: process = "Baseline"; break; - case M_SOF1: process = "Extended sequential"; break; - case M_SOF2: process = "Progressive"; break; - case M_SOF3: process = "Lossless"; break; - case M_SOF5: process = "Differential sequential"; break; - case M_SOF6: process = "Differential progressive"; break; - case M_SOF7: process = "Differential lossless"; break; - case M_SOF9: process = "Extended sequential, arithmetic coding"; break; - case M_SOF10: process = "Progressive, arithmetic coding"; break; - case M_SOF11: process = "Lossless, arithmetic coding"; break; - case M_SOF13: process = "Differential sequential, arithmetic coding"; break; - case M_SOF14: process = "Differential progressive, arithmetic coding"; break; - case M_SOF15: process = "Differential lossless, arithmetic coding"; break; - default: process = "Unknown"; break; - } - - printf("JPEG image is %uw * %uh, %d color components, %d bits per sample\n", - image_width, image_height, num_components, data_precision); - printf("JPEG process: %s\n", process); - - if (length != (unsigned int) (8 + num_components * 3)) - ERREXIT("Bogus SOF marker length"); - - for (ci = 0; ci < num_components; ci++) { - (void) read_1_byte(); /* Component ID code */ - (void) read_1_byte(); /* H, V sampling factors */ - (void) read_1_byte(); /* Quantization table number */ - } -} - - -/* - * Parse the marker stream until SOS or EOI is seen; - * display any COM markers. - * While the companion program wrjpgcom will always insert COM markers before - * SOFn, other implementations might not, so we scan to SOS before stopping. - * If we were only interested in the image dimensions, we would stop at SOFn. - * (Conversely, if we only cared about COM markers, there would be no need - * for special code to handle SOFn; we could treat it like other markers.) - */ - -static int -scan_JPEG_header (int verbose, int raw) -{ - int marker; - - /* Expect SOI at start of file */ - if (first_marker() != M_SOI) - ERREXIT("Expected SOI marker first"); - - /* Scan miscellaneous markers until we reach SOS. */ - for (;;) { - marker = next_marker(); - switch (marker) { - /* Note that marker codes 0xC4, 0xC8, 0xCC are not, and must not be, - * treated as SOFn. C4 in particular is actually DHT. - */ - case M_SOF0: /* Baseline */ - case M_SOF1: /* Extended sequential, Huffman */ - case M_SOF2: /* Progressive, Huffman */ - case M_SOF3: /* Lossless, Huffman */ - case M_SOF5: /* Differential sequential, Huffman */ - case M_SOF6: /* Differential progressive, Huffman */ - case M_SOF7: /* Differential lossless, Huffman */ - case M_SOF9: /* Extended sequential, arithmetic */ - case M_SOF10: /* Progressive, arithmetic */ - case M_SOF11: /* Lossless, arithmetic */ - case M_SOF13: /* Differential sequential, arithmetic */ - case M_SOF14: /* Differential progressive, arithmetic */ - case M_SOF15: /* Differential lossless, arithmetic */ - if (verbose) - process_SOFn(marker); - else - skip_variable(); - break; - - case M_SOS: /* stop before hitting compressed data */ - return marker; - - case M_EOI: /* in case it's a tables-only JPEG stream */ - return marker; - - case M_COM: - process_COM(raw); - break; - - case M_APP12: - /* Some digital camera makers put useful textual information into - * APP12 markers, so we print those out too when in -verbose mode. - */ - if (verbose) { - printf("APP12 contains:\n"); - process_COM(raw); - } else - skip_variable(); - break; - - default: /* Anything else just gets skipped */ - skip_variable(); /* we assume it has a parameter count... */ - break; - } - } /* end loop */ -} - - -/* Command line parsing code */ - -static const char * progname; /* program name for error messages */ - - -static void -usage (void) -/* complain about bad command line */ -{ - fprintf(stderr, "rdjpgcom displays any textual comments in a JPEG file.\n"); - - fprintf(stderr, "Usage: %s [switches] [inputfile]\n", progname); - - fprintf(stderr, "Switches (names may be abbreviated):\n"); - fprintf(stderr, " -raw Display non-printable characters in comments (unsafe)\n"); - fprintf(stderr, " -verbose Also display dimensions of JPEG image\n"); - - exit(EXIT_FAILURE); -} - - -static int -keymatch (char * arg, const char * keyword, int minchars) -/* Case-insensitive matching of (possibly abbreviated) keyword switches. */ -/* keyword is the constant keyword (must be lower case already), */ -/* minchars is length of minimum legal abbreviation. */ -{ - register int ca, ck; - register int nmatched = 0; - - while ((ca = *arg++) != '\0') { - if ((ck = *keyword++) == '\0') - return 0; /* arg longer than keyword, no good */ - if (isupper(ca)) /* force arg to lcase (assume ck is already) */ - ca = tolower(ca); - if (ca != ck) - return 0; /* no good */ - nmatched++; /* count matched characters */ - } - /* reached end of argument; fail if it's too short for unique abbrev */ - if (nmatched < minchars) - return 0; - return 1; /* A-OK */ -} - - -/* - * The main program. - */ - -int -main (int argc, char **argv) -{ - int argn; - char * arg; - int verbose = 0, raw = 0; - - /* On Mac, fetch a command line. */ -#ifdef USE_CCOMMAND - argc = ccommand(&argv); -#endif - - progname = argv[0]; - if (progname == NULL || progname[0] == 0) - progname = "rdjpgcom"; /* in case C library doesn't provide it */ - - /* Parse switches, if any */ - for (argn = 1; argn < argc; argn++) { - arg = argv[argn]; - if (arg[0] != '-') - break; /* not switch, must be file name */ - arg++; /* advance over '-' */ - if (keymatch(arg, "verbose", 1)) { - verbose++; - } else if (keymatch(arg, "raw", 1)) { - raw = 1; - } else - usage(); - } - - /* Open the input file. */ - /* Unix style: expect zero or one file name */ - if (argn < argc-1) { - fprintf(stderr, "%s: only one input file\n", progname); - usage(); - } - if (argn < argc) { - if ((infile = fopen(argv[argn], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]); - exit(EXIT_FAILURE); - } - } else { - /* default input file is stdin */ -#ifdef USE_SETMODE /* need to hack file mode? */ - setmode(fileno(stdin), O_BINARY); -#endif -#ifdef USE_FDOPEN /* need to re-open in binary mode? */ - if ((infile = fdopen(fileno(stdin), READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open stdin\n", progname); - exit(EXIT_FAILURE); - } -#else - infile = stdin; -#endif - } - - /* Scan the JPEG headers. */ - (void) scan_JPEG_header(verbose, raw); - - /* All done. */ - exit(EXIT_SUCCESS); - return 0; /* suppress no-return-value warnings */ -} diff --git a/3rdparty/openctm/tools/jpeg/rdppm.c b/3rdparty/openctm/tools/jpeg/rdppm.c deleted file mode 100644 index 9dcd2dc21..000000000 --- a/3rdparty/openctm/tools/jpeg/rdppm.c +++ /dev/null @@ -1,459 +0,0 @@ -/* - * rdppm.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 2009 by Bill Allombert, Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to read input images in PPM/PGM format. - * The extended 2-byte-per-sample raw PPM/PGM formats are supported. - * The PBMPLUS library is NOT required to compile this software - * (but it is highly useful as a set of PPM image manipulation programs). - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume input from - * an ordinary stdio stream. They further assume that reading begins - * at the start of the file; start_input may need work if the - * user interface has already read some data (e.g., to determine that - * the file is indeed PPM format). - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef PPM_SUPPORTED - - -/* Portions of this code are based on the PBMPLUS library, which is: -** -** Copyright (C) 1988 by Jef Poskanzer. -** -** Permission to use, copy, modify, and distribute this software and its -** documentation for any purpose and without fee is hereby granted, provided -** that the above copyright notice appear in all copies and that both that -** copyright notice and this permission notice appear in supporting -** documentation. This software is provided "as is" without express or -** implied warranty. -*/ - - -/* Macros to deal with unsigned chars as efficiently as compiler allows */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char U_CHAR; -#define UCH(x) ((int) (x)) -#else /* !HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char U_CHAR; -#define UCH(x) ((int) (x)) -#else -typedef char U_CHAR; -#define UCH(x) ((int) (x) & 0xFF) -#endif -#endif /* HAVE_UNSIGNED_CHAR */ - - -#define ReadOK(file,buffer,len) (JFREAD(file,buffer,len) == ((size_t) (len))) - - -/* - * On most systems, reading individual bytes with getc() is drastically less - * efficient than buffering a row at a time with fread(). On PCs, we must - * allocate the buffer in near data space, because we are assuming small-data - * memory model, wherein fread() can't reach far memory. If you need to - * process very wide images on a PC, you might have to compile in large-memory - * model, or else replace fread() with a getc() loop --- which will be much - * slower. - */ - - -/* Private version of data source object */ - -typedef struct { - struct cjpeg_source_struct pub; /* public fields */ - - U_CHAR *iobuffer; /* non-FAR pointer to I/O buffer */ - JSAMPROW pixrow; /* FAR pointer to same */ - size_t buffer_width; /* width of I/O buffer */ - JSAMPLE *rescale; /* => maxval-remapping array, or NULL */ -} ppm_source_struct; - -typedef ppm_source_struct * ppm_source_ptr; - - -LOCAL(int) -pbm_getc (FILE * infile) -/* Read next char, skipping over any comments */ -/* A comment/newline sequence is returned as a newline */ -{ - register int ch; - - ch = getc(infile); - if (ch == '#') { - do { - ch = getc(infile); - } while (ch != '\n' && ch != EOF); - } - return ch; -} - - -LOCAL(unsigned int) -read_pbm_integer (j_compress_ptr cinfo, FILE * infile) -/* Read an unsigned decimal integer from the PPM file */ -/* Swallows one trailing character after the integer */ -/* Note that on a 16-bit-int machine, only values up to 64k can be read. */ -/* This should not be a problem in practice. */ -{ - register int ch; - register unsigned int val; - - /* Skip any leading whitespace */ - do { - ch = pbm_getc(infile); - if (ch == EOF) - ERREXIT(cinfo, JERR_INPUT_EOF); - } while (ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r'); - - if (ch < '0' || ch > '9') - ERREXIT(cinfo, JERR_PPM_NONNUMERIC); - - val = ch - '0'; - while ((ch = pbm_getc(infile)) >= '0' && ch <= '9') { - val *= 10; - val += ch - '0'; - } - return val; -} - - -/* - * Read one row of pixels. - * - * We provide several different versions depending on input file format. - * In all cases, input is scaled to the size of JSAMPLE. - * - * A really fast path is provided for reading byte/sample raw files with - * maxval = MAXJSAMPLE, which is the normal case for 8-bit data. - */ - - -METHODDEF(JDIMENSION) -get_text_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading text-format PGM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - FILE * infile = source->pub.input_file; - register JSAMPROW ptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - *ptr++ = rescale[read_pbm_integer(cinfo, infile)]; - } - return 1; -} - - -METHODDEF(JDIMENSION) -get_text_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading text-format PPM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - FILE * infile = source->pub.input_file; - register JSAMPROW ptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - *ptr++ = rescale[read_pbm_integer(cinfo, infile)]; - *ptr++ = rescale[read_pbm_integer(cinfo, infile)]; - *ptr++ = rescale[read_pbm_integer(cinfo, infile)]; - } - return 1; -} - - -METHODDEF(JDIMENSION) -get_scaled_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading raw-byte-format PGM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - register JSAMPROW ptr; - register U_CHAR * bufferptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width)) - ERREXIT(cinfo, JERR_INPUT_EOF); - ptr = source->pub.buffer[0]; - bufferptr = source->iobuffer; - for (col = cinfo->image_width; col > 0; col--) { - *ptr++ = rescale[UCH(*bufferptr++)]; - } - return 1; -} - - -METHODDEF(JDIMENSION) -get_scaled_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading raw-byte-format PPM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - register JSAMPROW ptr; - register U_CHAR * bufferptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width)) - ERREXIT(cinfo, JERR_INPUT_EOF); - ptr = source->pub.buffer[0]; - bufferptr = source->iobuffer; - for (col = cinfo->image_width; col > 0; col--) { - *ptr++ = rescale[UCH(*bufferptr++)]; - *ptr++ = rescale[UCH(*bufferptr++)]; - *ptr++ = rescale[UCH(*bufferptr++)]; - } - return 1; -} - - -METHODDEF(JDIMENSION) -get_raw_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading raw-byte-format files with maxval = MAXJSAMPLE. - * In this case we just read right into the JSAMPLE buffer! - * Note that same code works for PPM and PGM files. - */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - - if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width)) - ERREXIT(cinfo, JERR_INPUT_EOF); - return 1; -} - - -METHODDEF(JDIMENSION) -get_word_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading raw-word-format PGM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - register JSAMPROW ptr; - register U_CHAR * bufferptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width)) - ERREXIT(cinfo, JERR_INPUT_EOF); - ptr = source->pub.buffer[0]; - bufferptr = source->iobuffer; - for (col = cinfo->image_width; col > 0; col--) { - register int temp; - temp = UCH(*bufferptr++) << 8; - temp |= UCH(*bufferptr++); - *ptr++ = rescale[temp]; - } - return 1; -} - - -METHODDEF(JDIMENSION) -get_word_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading raw-word-format PPM files with any maxval */ -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - register JSAMPROW ptr; - register U_CHAR * bufferptr; - register JSAMPLE *rescale = source->rescale; - JDIMENSION col; - - if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width)) - ERREXIT(cinfo, JERR_INPUT_EOF); - ptr = source->pub.buffer[0]; - bufferptr = source->iobuffer; - for (col = cinfo->image_width; col > 0; col--) { - register int temp; - temp = UCH(*bufferptr++) << 8; - temp |= UCH(*bufferptr++); - *ptr++ = rescale[temp]; - temp = UCH(*bufferptr++) << 8; - temp |= UCH(*bufferptr++); - *ptr++ = rescale[temp]; - temp = UCH(*bufferptr++) << 8; - temp |= UCH(*bufferptr++); - *ptr++ = rescale[temp]; - } - return 1; -} - - -/* - * Read the file header; return image size and component count. - */ - -METHODDEF(void) -start_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - ppm_source_ptr source = (ppm_source_ptr) sinfo; - int c; - unsigned int w, h, maxval; - boolean need_iobuffer, use_raw_buffer, need_rescale; - - if (getc(source->pub.input_file) != 'P') - ERREXIT(cinfo, JERR_PPM_NOT); - - c = getc(source->pub.input_file); /* subformat discriminator character */ - - /* detect unsupported variants (ie, PBM) before trying to read header */ - switch (c) { - case '2': /* it's a text-format PGM file */ - case '3': /* it's a text-format PPM file */ - case '5': /* it's a raw-format PGM file */ - case '6': /* it's a raw-format PPM file */ - break; - default: - ERREXIT(cinfo, JERR_PPM_NOT); - break; - } - - /* fetch the remaining header info */ - w = read_pbm_integer(cinfo, source->pub.input_file); - h = read_pbm_integer(cinfo, source->pub.input_file); - maxval = read_pbm_integer(cinfo, source->pub.input_file); - - if (w <= 0 || h <= 0 || maxval <= 0) /* error check */ - ERREXIT(cinfo, JERR_PPM_NOT); - - cinfo->data_precision = BITS_IN_JSAMPLE; /* we always rescale data to this */ - cinfo->image_width = (JDIMENSION) w; - cinfo->image_height = (JDIMENSION) h; - - /* initialize flags to most common settings */ - need_iobuffer = TRUE; /* do we need an I/O buffer? */ - use_raw_buffer = FALSE; /* do we map input buffer onto I/O buffer? */ - need_rescale = TRUE; /* do we need a rescale array? */ - - switch (c) { - case '2': /* it's a text-format PGM file */ - cinfo->input_components = 1; - cinfo->in_color_space = JCS_GRAYSCALE; - TRACEMS2(cinfo, 1, JTRC_PGM_TEXT, w, h); - source->pub.get_pixel_rows = get_text_gray_row; - need_iobuffer = FALSE; - break; - - case '3': /* it's a text-format PPM file */ - cinfo->input_components = 3; - cinfo->in_color_space = JCS_RGB; - TRACEMS2(cinfo, 1, JTRC_PPM_TEXT, w, h); - source->pub.get_pixel_rows = get_text_rgb_row; - need_iobuffer = FALSE; - break; - - case '5': /* it's a raw-format PGM file */ - cinfo->input_components = 1; - cinfo->in_color_space = JCS_GRAYSCALE; - TRACEMS2(cinfo, 1, JTRC_PGM, w, h); - if (maxval > 255) { - source->pub.get_pixel_rows = get_word_gray_row; - } else if (maxval == MAXJSAMPLE && SIZEOF(JSAMPLE) == SIZEOF(U_CHAR)) { - source->pub.get_pixel_rows = get_raw_row; - use_raw_buffer = TRUE; - need_rescale = FALSE; - } else { - source->pub.get_pixel_rows = get_scaled_gray_row; - } - break; - - case '6': /* it's a raw-format PPM file */ - cinfo->input_components = 3; - cinfo->in_color_space = JCS_RGB; - TRACEMS2(cinfo, 1, JTRC_PPM, w, h); - if (maxval > 255) { - source->pub.get_pixel_rows = get_word_rgb_row; - } else if (maxval == MAXJSAMPLE && SIZEOF(JSAMPLE) == SIZEOF(U_CHAR)) { - source->pub.get_pixel_rows = get_raw_row; - use_raw_buffer = TRUE; - need_rescale = FALSE; - } else { - source->pub.get_pixel_rows = get_scaled_rgb_row; - } - break; - } - - /* Allocate space for I/O buffer: 1 or 3 bytes or words/pixel. */ - if (need_iobuffer) { - source->buffer_width = (size_t) w * cinfo->input_components * - ((maxval<=255) ? SIZEOF(U_CHAR) : (2*SIZEOF(U_CHAR))); - source->iobuffer = (U_CHAR *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - source->buffer_width); - } - - /* Create compressor input buffer. */ - if (use_raw_buffer) { - /* For unscaled raw-input case, we can just map it onto the I/O buffer. */ - /* Synthesize a JSAMPARRAY pointer structure */ - /* Cast here implies near->far pointer conversion on PCs */ - source->pixrow = (JSAMPROW) source->iobuffer; - source->pub.buffer = & source->pixrow; - source->pub.buffer_height = 1; - } else { - /* Need to translate anyway, so make a separate sample buffer. */ - source->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) w * cinfo->input_components, (JDIMENSION) 1); - source->pub.buffer_height = 1; - } - - /* Compute the rescaling array if required. */ - if (need_rescale) { - INT32 val, half_maxval; - - /* On 16-bit-int machines we have to be careful of maxval = 65535 */ - source->rescale = (JSAMPLE *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (size_t) (((long) maxval + 1L) * SIZEOF(JSAMPLE))); - half_maxval = maxval / 2; - for (val = 0; val <= (INT32) maxval; val++) { - /* The multiplication here must be done in 32 bits to avoid overflow */ - source->rescale[val] = (JSAMPLE) ((val*MAXJSAMPLE + half_maxval)/maxval); - } - } -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - /* no work */ -} - - -/* - * The module selection routine for PPM format input. - */ - -GLOBAL(cjpeg_source_ptr) -jinit_read_ppm (j_compress_ptr cinfo) -{ - ppm_source_ptr source; - - /* Create module interface object */ - source = (ppm_source_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(ppm_source_struct)); - /* Fill in method ptrs, except get_pixel_rows which start_input sets */ - source->pub.start_input = start_input_ppm; - source->pub.finish_input = finish_input_ppm; - - return (cjpeg_source_ptr) source; -} - -#endif /* PPM_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/rdrle.c b/3rdparty/openctm/tools/jpeg/rdrle.c deleted file mode 100644 index df871e00a..000000000 --- a/3rdparty/openctm/tools/jpeg/rdrle.c +++ /dev/null @@ -1,387 +0,0 @@ -/* - * rdrle.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to read input images in Utah RLE format. - * The Utah Raster Toolkit library is required (version 3.1 or later). - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume input from - * an ordinary stdio stream. They further assume that reading begins - * at the start of the file; start_input may need work if the - * user interface has already read some data (e.g., to determine that - * the file is indeed RLE format). - * - * Based on code contributed by Mike Lijewski, - * with updates from Robert Hutchinson. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef RLE_SUPPORTED - -/* rle.h is provided by the Utah Raster Toolkit. */ - -#include - -/* - * We assume that JSAMPLE has the same representation as rle_pixel, - * to wit, "unsigned char". Hence we can't cope with 12- or 16-bit samples. - */ - -#if BITS_IN_JSAMPLE != 8 - Sorry, this code only copes with 8-bit JSAMPLEs. /* deliberate syntax err */ -#endif - -/* - * We support the following types of RLE files: - * - * GRAYSCALE - 8 bits, no colormap - * MAPPEDGRAY - 8 bits, 1 channel colomap - * PSEUDOCOLOR - 8 bits, 3 channel colormap - * TRUECOLOR - 24 bits, 3 channel colormap - * DIRECTCOLOR - 24 bits, no colormap - * - * For now, we ignore any alpha channel in the image. - */ - -typedef enum - { GRAYSCALE, MAPPEDGRAY, PSEUDOCOLOR, TRUECOLOR, DIRECTCOLOR } rle_kind; - - -/* - * Since RLE stores scanlines bottom-to-top, we have to invert the image - * to conform to JPEG's top-to-bottom order. To do this, we read the - * incoming image into a virtual array on the first get_pixel_rows call, - * then fetch the required row from the virtual array on subsequent calls. - */ - -typedef struct _rle_source_struct * rle_source_ptr; - -typedef struct _rle_source_struct { - struct cjpeg_source_struct pub; /* public fields */ - - rle_kind visual; /* actual type of input file */ - jvirt_sarray_ptr image; /* virtual array to hold the image */ - JDIMENSION row; /* current row # in the virtual array */ - rle_hdr header; /* Input file information */ - rle_pixel** rle_row; /* holds a row returned by rle_getrow() */ - -} rle_source_struct; - - -/* - * Read the file header; return image size and component count. - */ - -METHODDEF(void) -start_input_rle (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - rle_source_ptr source = (rle_source_ptr) sinfo; - JDIMENSION width, height; -#ifdef PROGRESS_REPORT - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; -#endif - - /* Use RLE library routine to get the header info */ - source->header = *rle_hdr_init(NULL); - source->header.rle_file = source->pub.input_file; - switch (rle_get_setup(&(source->header))) { - case RLE_SUCCESS: - /* A-OK */ - break; - case RLE_NOT_RLE: - ERREXIT(cinfo, JERR_RLE_NOT); - break; - case RLE_NO_SPACE: - ERREXIT(cinfo, JERR_RLE_MEM); - break; - case RLE_EMPTY: - ERREXIT(cinfo, JERR_RLE_EMPTY); - break; - case RLE_EOF: - ERREXIT(cinfo, JERR_RLE_EOF); - break; - default: - ERREXIT(cinfo, JERR_RLE_BADERROR); - break; - } - - /* Figure out what we have, set private vars and return values accordingly */ - - width = source->header.xmax - source->header.xmin + 1; - height = source->header.ymax - source->header.ymin + 1; - source->header.xmin = 0; /* realign horizontally */ - source->header.xmax = width-1; - - cinfo->image_width = width; - cinfo->image_height = height; - cinfo->data_precision = 8; /* we can only handle 8 bit data */ - - if (source->header.ncolors == 1 && source->header.ncmap == 0) { - source->visual = GRAYSCALE; - TRACEMS2(cinfo, 1, JTRC_RLE_GRAY, width, height); - } else if (source->header.ncolors == 1 && source->header.ncmap == 1) { - source->visual = MAPPEDGRAY; - TRACEMS3(cinfo, 1, JTRC_RLE_MAPGRAY, width, height, - 1 << source->header.cmaplen); - } else if (source->header.ncolors == 1 && source->header.ncmap == 3) { - source->visual = PSEUDOCOLOR; - TRACEMS3(cinfo, 1, JTRC_RLE_MAPPED, width, height, - 1 << source->header.cmaplen); - } else if (source->header.ncolors == 3 && source->header.ncmap == 3) { - source->visual = TRUECOLOR; - TRACEMS3(cinfo, 1, JTRC_RLE_FULLMAP, width, height, - 1 << source->header.cmaplen); - } else if (source->header.ncolors == 3 && source->header.ncmap == 0) { - source->visual = DIRECTCOLOR; - TRACEMS2(cinfo, 1, JTRC_RLE, width, height); - } else - ERREXIT(cinfo, JERR_RLE_UNSUPPORTED); - - if (source->visual == GRAYSCALE || source->visual == MAPPEDGRAY) { - cinfo->in_color_space = JCS_GRAYSCALE; - cinfo->input_components = 1; - } else { - cinfo->in_color_space = JCS_RGB; - cinfo->input_components = 3; - } - - /* - * A place to hold each scanline while it's converted. - * (GRAYSCALE scanlines don't need converting) - */ - if (source->visual != GRAYSCALE) { - source->rle_row = (rle_pixel**) (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) width, (JDIMENSION) cinfo->input_components); - } - - /* request a virtual array to hold the image */ - source->image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - (JDIMENSION) (width * source->header.ncolors), - (JDIMENSION) height, (JDIMENSION) 1); - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - /* count file input as separate pass */ - progress->total_extra_passes++; - } -#endif - - source->pub.buffer_height = 1; -} - - -/* - * Read one row of pixels. - * Called only after load_image has read the image into the virtual array. - * Used for GRAYSCALE, MAPPEDGRAY, TRUECOLOR, and DIRECTCOLOR images. - */ - -METHODDEF(JDIMENSION) -get_rle_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - rle_source_ptr source = (rle_source_ptr) sinfo; - - source->row--; - source->pub.buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->image, source->row, (JDIMENSION) 1, FALSE); - - return 1; -} - -/* - * Read one row of pixels. - * Called only after load_image has read the image into the virtual array. - * Used for PSEUDOCOLOR images. - */ - -METHODDEF(JDIMENSION) -get_pseudocolor_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - rle_source_ptr source = (rle_source_ptr) sinfo; - JSAMPROW src_row, dest_row; - JDIMENSION col; - rle_map *colormap; - int val; - - colormap = source->header.cmap; - dest_row = source->pub.buffer[0]; - source->row--; - src_row = * (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->image, source->row, (JDIMENSION) 1, FALSE); - - for (col = cinfo->image_width; col > 0; col--) { - val = GETJSAMPLE(*src_row++); - *dest_row++ = (JSAMPLE) (colormap[val ] >> 8); - *dest_row++ = (JSAMPLE) (colormap[val + 256] >> 8); - *dest_row++ = (JSAMPLE) (colormap[val + 512] >> 8); - } - - return 1; -} - - -/* - * Load the image into a virtual array. We have to do this because RLE - * files start at the lower left while the JPEG standard has them starting - * in the upper left. This is called the first time we want to get a row - * of input. What we do is load the RLE data into the array and then call - * the appropriate routine to read one row from the array. Before returning, - * we set source->pub.get_pixel_rows so that subsequent calls go straight to - * the appropriate row-reading routine. - */ - -METHODDEF(JDIMENSION) -load_image (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - rle_source_ptr source = (rle_source_ptr) sinfo; - JDIMENSION row, col; - JSAMPROW scanline, red_ptr, green_ptr, blue_ptr; - rle_pixel **rle_row; - rle_map *colormap; - char channel; -#ifdef PROGRESS_REPORT - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; -#endif - - colormap = source->header.cmap; - rle_row = source->rle_row; - - /* Read the RLE data into our virtual array. - * We assume here that (a) rle_pixel is represented the same as JSAMPLE, - * and (b) we are not on a machine where FAR pointers differ from regular. - */ - RLE_CLR_BIT(source->header, RLE_ALPHA); /* don't read the alpha channel */ - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_limit = cinfo->image_height; - progress->pub.pass_counter = 0; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - - switch (source->visual) { - - case GRAYSCALE: - case PSEUDOCOLOR: - for (row = 0; row < cinfo->image_height; row++) { - rle_row = (rle_pixel **) (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->image, row, (JDIMENSION) 1, TRUE); - rle_getrow(&source->header, rle_row); -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_counter++; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - } - break; - - case MAPPEDGRAY: - case TRUECOLOR: - for (row = 0; row < cinfo->image_height; row++) { - scanline = * (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->image, row, (JDIMENSION) 1, TRUE); - rle_row = source->rle_row; - rle_getrow(&source->header, rle_row); - - for (col = 0; col < cinfo->image_width; col++) { - for (channel = 0; channel < source->header.ncolors; channel++) { - *scanline++ = (JSAMPLE) - (colormap[GETJSAMPLE(rle_row[channel][col]) + 256 * channel] >> 8); - } - } - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_counter++; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - } - break; - - case DIRECTCOLOR: - for (row = 0; row < cinfo->image_height; row++) { - scanline = * (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->image, row, (JDIMENSION) 1, TRUE); - rle_getrow(&source->header, rle_row); - - red_ptr = rle_row[0]; - green_ptr = rle_row[1]; - blue_ptr = rle_row[2]; - - for (col = cinfo->image_width; col > 0; col--) { - *scanline++ = *red_ptr++; - *scanline++ = *green_ptr++; - *scanline++ = *blue_ptr++; - } - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_counter++; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - } - } - -#ifdef PROGRESS_REPORT - if (progress != NULL) - progress->completed_extra_passes++; -#endif - - /* Set up to call proper row-extraction routine in future */ - if (source->visual == PSEUDOCOLOR) { - source->pub.buffer = source->rle_row; - source->pub.get_pixel_rows = get_pseudocolor_row; - } else { - source->pub.get_pixel_rows = get_rle_row; - } - source->row = cinfo->image_height; - - /* And fetch the topmost (bottommost) row */ - return (*source->pub.get_pixel_rows) (cinfo, sinfo); -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_input_rle (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - /* no work */ -} - - -/* - * The module selection routine for RLE format input. - */ - -GLOBAL(cjpeg_source_ptr) -jinit_read_rle (j_compress_ptr cinfo) -{ - rle_source_ptr source; - - /* Create module interface object */ - source = (rle_source_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(rle_source_struct)); - /* Fill in method ptrs */ - source->pub.start_input = start_input_rle; - source->pub.finish_input = finish_input_rle; - source->pub.get_pixel_rows = load_image; - - return (cjpeg_source_ptr) source; -} - -#endif /* RLE_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/rdswitch.c b/3rdparty/openctm/tools/jpeg/rdswitch.c deleted file mode 100644 index 5eebcc1e5..000000000 --- a/3rdparty/openctm/tools/jpeg/rdswitch.c +++ /dev/null @@ -1,365 +0,0 @@ -/* - * rdswitch.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to process some of cjpeg's more complicated - * command-line switches. Switches processed here are: - * -qtables file Read quantization tables from text file - * -scans file Read scan script from text file - * -quality N[,N,...] Set quality ratings - * -qslots N[,N,...] Set component quantization table selectors - * -sample HxV[,HxV,...] Set component sampling factors - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ -#include /* to declare isdigit(), isspace() */ - - -LOCAL(int) -text_getc (FILE * file) -/* Read next char, skipping over any comments (# to end of line) */ -/* A comment/newline sequence is returned as a newline */ -{ - register int ch; - - ch = getc(file); - if (ch == '#') { - do { - ch = getc(file); - } while (ch != '\n' && ch != EOF); - } - return ch; -} - - -LOCAL(boolean) -read_text_integer (FILE * file, long * result, int * termchar) -/* Read an unsigned decimal integer from a file, store it in result */ -/* Reads one trailing character after the integer; returns it in termchar */ -{ - register int ch; - register long val; - - /* Skip any leading whitespace, detect EOF */ - do { - ch = text_getc(file); - if (ch == EOF) { - *termchar = ch; - return FALSE; - } - } while (isspace(ch)); - - if (! isdigit(ch)) { - *termchar = ch; - return FALSE; - } - - val = ch - '0'; - while ((ch = text_getc(file)) != EOF) { - if (! isdigit(ch)) - break; - val *= 10; - val += ch - '0'; - } - *result = val; - *termchar = ch; - return TRUE; -} - - -GLOBAL(boolean) -read_quant_tables (j_compress_ptr cinfo, char * filename, boolean force_baseline) -/* Read a set of quantization tables from the specified file. - * The file is plain ASCII text: decimal numbers with whitespace between. - * Comments preceded by '#' may be included in the file. - * There may be one to NUM_QUANT_TBLS tables in the file, each of 64 values. - * The tables are implicitly numbered 0,1,etc. - * NOTE: does not affect the qslots mapping, which will default to selecting - * table 0 for luminance (or primary) components, 1 for chrominance components. - * You must use -qslots if you want a different component->table mapping. - */ -{ - FILE * fp; - int tblno, i, termchar; - long val; - unsigned int table[DCTSIZE2]; - - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open table file %s\n", filename); - return FALSE; - } - tblno = 0; - - while (read_text_integer(fp, &val, &termchar)) { /* read 1st element of table */ - if (tblno >= NUM_QUANT_TBLS) { - fprintf(stderr, "Too many tables in file %s\n", filename); - fclose(fp); - return FALSE; - } - table[0] = (unsigned int) val; - for (i = 1; i < DCTSIZE2; i++) { - if (! read_text_integer(fp, &val, &termchar)) { - fprintf(stderr, "Invalid table data in file %s\n", filename); - fclose(fp); - return FALSE; - } - table[i] = (unsigned int) val; - } - jpeg_add_quant_table(cinfo, tblno, table, cinfo->q_scale_factor[tblno], - force_baseline); - tblno++; - } - - if (termchar != EOF) { - fprintf(stderr, "Non-numeric data in file %s\n", filename); - fclose(fp); - return FALSE; - } - - fclose(fp); - return TRUE; -} - - -#ifdef C_MULTISCAN_FILES_SUPPORTED - -LOCAL(boolean) -read_scan_integer (FILE * file, long * result, int * termchar) -/* Variant of read_text_integer that always looks for a non-space termchar; - * this simplifies parsing of punctuation in scan scripts. - */ -{ - register int ch; - - if (! read_text_integer(file, result, termchar)) - return FALSE; - ch = *termchar; - while (ch != EOF && isspace(ch)) - ch = text_getc(file); - if (isdigit(ch)) { /* oops, put it back */ - if (ungetc(ch, file) == EOF) - return FALSE; - ch = ' '; - } else { - /* Any separators other than ';' and ':' are ignored; - * this allows user to insert commas, etc, if desired. - */ - if (ch != EOF && ch != ';' && ch != ':') - ch = ' '; - } - *termchar = ch; - return TRUE; -} - - -GLOBAL(boolean) -read_scan_script (j_compress_ptr cinfo, char * filename) -/* Read a scan script from the specified text file. - * Each entry in the file defines one scan to be emitted. - * Entries are separated by semicolons ';'. - * An entry contains one to four component indexes, - * optionally followed by a colon ':' and four progressive-JPEG parameters. - * The component indexes denote which component(s) are to be transmitted - * in the current scan. The first component has index 0. - * Sequential JPEG is used if the progressive-JPEG parameters are omitted. - * The file is free format text: any whitespace may appear between numbers - * and the ':' and ';' punctuation marks. Also, other punctuation (such - * as commas or dashes) can be placed between numbers if desired. - * Comments preceded by '#' may be included in the file. - * Note: we do very little validity checking here; - * jcmaster.c will validate the script parameters. - */ -{ - FILE * fp; - int scanno, ncomps, termchar; - long val; - jpeg_scan_info * scanptr; -#define MAX_SCANS 100 /* quite arbitrary limit */ - jpeg_scan_info scans[MAX_SCANS]; - - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open scan definition file %s\n", filename); - return FALSE; - } - scanptr = scans; - scanno = 0; - - while (read_scan_integer(fp, &val, &termchar)) { - if (scanno >= MAX_SCANS) { - fprintf(stderr, "Too many scans defined in file %s\n", filename); - fclose(fp); - return FALSE; - } - scanptr->component_index[0] = (int) val; - ncomps = 1; - while (termchar == ' ') { - if (ncomps >= MAX_COMPS_IN_SCAN) { - fprintf(stderr, "Too many components in one scan in file %s\n", - filename); - fclose(fp); - return FALSE; - } - if (! read_scan_integer(fp, &val, &termchar)) - goto bogus; - scanptr->component_index[ncomps] = (int) val; - ncomps++; - } - scanptr->comps_in_scan = ncomps; - if (termchar == ':') { - if (! read_scan_integer(fp, &val, &termchar) || termchar != ' ') - goto bogus; - scanptr->Ss = (int) val; - if (! read_scan_integer(fp, &val, &termchar) || termchar != ' ') - goto bogus; - scanptr->Se = (int) val; - if (! read_scan_integer(fp, &val, &termchar) || termchar != ' ') - goto bogus; - scanptr->Ah = (int) val; - if (! read_scan_integer(fp, &val, &termchar)) - goto bogus; - scanptr->Al = (int) val; - } else { - /* set non-progressive parameters */ - scanptr->Ss = 0; - scanptr->Se = DCTSIZE2-1; - scanptr->Ah = 0; - scanptr->Al = 0; - } - if (termchar != ';' && termchar != EOF) { -bogus: - fprintf(stderr, "Invalid scan entry format in file %s\n", filename); - fclose(fp); - return FALSE; - } - scanptr++, scanno++; - } - - if (termchar != EOF) { - fprintf(stderr, "Non-numeric data in file %s\n", filename); - fclose(fp); - return FALSE; - } - - if (scanno > 0) { - /* Stash completed scan list in cinfo structure. - * NOTE: for cjpeg's use, JPOOL_IMAGE is the right lifetime for this data, - * but if you want to compress multiple images you'd want JPOOL_PERMANENT. - */ - scanptr = (jpeg_scan_info *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - scanno * SIZEOF(jpeg_scan_info)); - MEMCOPY(scanptr, scans, scanno * SIZEOF(jpeg_scan_info)); - cinfo->scan_info = scanptr; - cinfo->num_scans = scanno; - } - - fclose(fp); - return TRUE; -} - -#endif /* C_MULTISCAN_FILES_SUPPORTED */ - - -GLOBAL(boolean) -set_quality_ratings (j_compress_ptr cinfo, char *arg, boolean force_baseline) -/* Process a quality-ratings parameter string, of the form - * N[,N,...] - * If there are more q-table slots than parameters, the last value is replicated. - */ -{ - int val = 75; /* default value */ - int tblno; - char ch; - - for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) { - if (*arg) { - ch = ','; /* if not set by sscanf, will be ',' */ - if (sscanf(arg, "%d%c", &val, &ch) < 1) - return FALSE; - if (ch != ',') /* syntax check */ - return FALSE; - /* Convert user 0-100 rating to percentage scaling */ - cinfo->q_scale_factor[tblno] = jpeg_quality_scaling(val); - while (*arg && *arg++ != ',') /* advance to next segment of arg string */ - ; - } else { - /* reached end of parameter, set remaining factors to last value */ - cinfo->q_scale_factor[tblno] = jpeg_quality_scaling(val); - } - } - jpeg_default_qtables(cinfo, force_baseline); - return TRUE; -} - - -GLOBAL(boolean) -set_quant_slots (j_compress_ptr cinfo, char *arg) -/* Process a quantization-table-selectors parameter string, of the form - * N[,N,...] - * If there are more components than parameters, the last value is replicated. - */ -{ - int val = 0; /* default table # */ - int ci; - char ch; - - for (ci = 0; ci < MAX_COMPONENTS; ci++) { - if (*arg) { - ch = ','; /* if not set by sscanf, will be ',' */ - if (sscanf(arg, "%d%c", &val, &ch) < 1) - return FALSE; - if (ch != ',') /* syntax check */ - return FALSE; - if (val < 0 || val >= NUM_QUANT_TBLS) { - fprintf(stderr, "JPEG quantization tables are numbered 0..%d\n", - NUM_QUANT_TBLS-1); - return FALSE; - } - cinfo->comp_info[ci].quant_tbl_no = val; - while (*arg && *arg++ != ',') /* advance to next segment of arg string */ - ; - } else { - /* reached end of parameter, set remaining components to last table */ - cinfo->comp_info[ci].quant_tbl_no = val; - } - } - return TRUE; -} - - -GLOBAL(boolean) -set_sample_factors (j_compress_ptr cinfo, char *arg) -/* Process a sample-factors parameter string, of the form - * HxV[,HxV,...] - * If there are more components than parameters, "1x1" is assumed for the rest. - */ -{ - int ci, val1, val2; - char ch1, ch2; - - for (ci = 0; ci < MAX_COMPONENTS; ci++) { - if (*arg) { - ch2 = ','; /* if not set by sscanf, will be ',' */ - if (sscanf(arg, "%d%c%d%c", &val1, &ch1, &val2, &ch2) < 3) - return FALSE; - if ((ch1 != 'x' && ch1 != 'X') || ch2 != ',') /* syntax check */ - return FALSE; - if (val1 <= 0 || val1 > 4 || val2 <= 0 || val2 > 4) { - fprintf(stderr, "JPEG sampling factors must be 1..4\n"); - return FALSE; - } - cinfo->comp_info[ci].h_samp_factor = val1; - cinfo->comp_info[ci].v_samp_factor = val2; - while (*arg && *arg++ != ',') /* advance to next segment of arg string */ - ; - } else { - /* reached end of parameter, set remaining components to 1x1 sampling */ - cinfo->comp_info[ci].h_samp_factor = 1; - cinfo->comp_info[ci].v_samp_factor = 1; - } - } - return TRUE; -} diff --git a/3rdparty/openctm/tools/jpeg/rdtarga.c b/3rdparty/openctm/tools/jpeg/rdtarga.c deleted file mode 100644 index d7ffc33eb..000000000 --- a/3rdparty/openctm/tools/jpeg/rdtarga.c +++ /dev/null @@ -1,500 +0,0 @@ -/* - * rdtarga.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to read input images in Targa format. - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume input from - * an ordinary stdio stream. They further assume that reading begins - * at the start of the file; start_input may need work if the - * user interface has already read some data (e.g., to determine that - * the file is indeed Targa format). - * - * Based on code contributed by Lee Daniel Crocker. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef TARGA_SUPPORTED - - -/* Macros to deal with unsigned chars as efficiently as compiler allows */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char U_CHAR; -#define UCH(x) ((int) (x)) -#else /* !HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char U_CHAR; -#define UCH(x) ((int) (x)) -#else -typedef char U_CHAR; -#define UCH(x) ((int) (x) & 0xFF) -#endif -#endif /* HAVE_UNSIGNED_CHAR */ - - -#define ReadOK(file,buffer,len) (JFREAD(file,buffer,len) == ((size_t) (len))) - - -/* Private version of data source object */ - -typedef struct _tga_source_struct * tga_source_ptr; - -typedef struct _tga_source_struct { - struct cjpeg_source_struct pub; /* public fields */ - - j_compress_ptr cinfo; /* back link saves passing separate parm */ - - JSAMPARRAY colormap; /* Targa colormap (converted to my format) */ - - jvirt_sarray_ptr whole_image; /* Needed if funny input row order */ - JDIMENSION current_row; /* Current logical row number to read */ - - /* Pointer to routine to extract next Targa pixel from input file */ - JMETHOD(void, read_pixel, (tga_source_ptr sinfo)); - - /* Result of read_pixel is delivered here: */ - U_CHAR tga_pixel[4]; - - int pixel_size; /* Bytes per Targa pixel (1 to 4) */ - - /* State info for reading RLE-coded pixels; both counts must be init to 0 */ - int block_count; /* # of pixels remaining in RLE block */ - int dup_pixel_count; /* # of times to duplicate previous pixel */ - - /* This saves the correct pixel-row-expansion method for preload_image */ - JMETHOD(JDIMENSION, get_pixel_rows, (j_compress_ptr cinfo, - cjpeg_source_ptr sinfo)); -} tga_source_struct; - - -/* For expanding 5-bit pixel values to 8-bit with best rounding */ - -static const UINT8 c5to8bits[32] = { - 0, 8, 16, 25, 33, 41, 49, 58, - 66, 74, 82, 90, 99, 107, 115, 123, - 132, 140, 148, 156, 165, 173, 181, 189, - 197, 206, 214, 222, 230, 239, 247, 255 -}; - - - -LOCAL(int) -read_byte (tga_source_ptr sinfo) -/* Read next byte from Targa file */ -{ - register FILE *infile = sinfo->pub.input_file; - register int c; - - if ((c = getc(infile)) == EOF) - ERREXIT(sinfo->cinfo, JERR_INPUT_EOF); - return c; -} - - -LOCAL(void) -read_colormap (tga_source_ptr sinfo, int cmaplen, int mapentrysize) -/* Read the colormap from a Targa file */ -{ - int i; - - /* Presently only handles 24-bit BGR format */ - if (mapentrysize != 24) - ERREXIT(sinfo->cinfo, JERR_TGA_BADCMAP); - - for (i = 0; i < cmaplen; i++) { - sinfo->colormap[2][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[1][i] = (JSAMPLE) read_byte(sinfo); - sinfo->colormap[0][i] = (JSAMPLE) read_byte(sinfo); - } -} - - -/* - * read_pixel methods: get a single pixel from Targa file into tga_pixel[] - */ - -METHODDEF(void) -read_non_rle_pixel (tga_source_ptr sinfo) -/* Read one Targa pixel from the input file; no RLE expansion */ -{ - register FILE *infile = sinfo->pub.input_file; - register int i; - - for (i = 0; i < sinfo->pixel_size; i++) { - sinfo->tga_pixel[i] = (U_CHAR) getc(infile); - } -} - - -METHODDEF(void) -read_rle_pixel (tga_source_ptr sinfo) -/* Read one Targa pixel from the input file, expanding RLE data as needed */ -{ - register FILE *infile = sinfo->pub.input_file; - register int i; - - /* Duplicate previously read pixel? */ - if (sinfo->dup_pixel_count > 0) { - sinfo->dup_pixel_count--; - return; - } - - /* Time to read RLE block header? */ - if (--sinfo->block_count < 0) { /* decrement pixels remaining in block */ - i = read_byte(sinfo); - if (i & 0x80) { /* Start of duplicate-pixel block? */ - sinfo->dup_pixel_count = i & 0x7F; /* number of dups after this one */ - sinfo->block_count = 0; /* then read new block header */ - } else { - sinfo->block_count = i & 0x7F; /* number of pixels after this one */ - } - } - - /* Read next pixel */ - for (i = 0; i < sinfo->pixel_size; i++) { - sinfo->tga_pixel[i] = (U_CHAR) getc(infile); - } -} - - -/* - * Read one row of pixels. - * - * We provide several different versions depending on input file format. - */ - - -METHODDEF(JDIMENSION) -get_8bit_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 8-bit grayscale pixels */ -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - register JSAMPROW ptr; - register JDIMENSION col; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - (*source->read_pixel) (source); /* Load next pixel into tga_pixel */ - *ptr++ = (JSAMPLE) UCH(source->tga_pixel[0]); - } - return 1; -} - -METHODDEF(JDIMENSION) -get_8bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 8-bit colormap indexes */ -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - register int t; - register JSAMPROW ptr; - register JDIMENSION col; - register JSAMPARRAY colormap = source->colormap; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - (*source->read_pixel) (source); /* Load next pixel into tga_pixel */ - t = UCH(source->tga_pixel[0]); - *ptr++ = colormap[0][t]; - *ptr++ = colormap[1][t]; - *ptr++ = colormap[2][t]; - } - return 1; -} - -METHODDEF(JDIMENSION) -get_16bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 16-bit pixels */ -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - register int t; - register JSAMPROW ptr; - register JDIMENSION col; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - (*source->read_pixel) (source); /* Load next pixel into tga_pixel */ - t = UCH(source->tga_pixel[0]); - t += UCH(source->tga_pixel[1]) << 8; - /* We expand 5 bit data to 8 bit sample width. - * The format of the 16-bit (LSB first) input word is - * xRRRRRGGGGGBBBBB - */ - ptr[2] = (JSAMPLE) c5to8bits[t & 0x1F]; - t >>= 5; - ptr[1] = (JSAMPLE) c5to8bits[t & 0x1F]; - t >>= 5; - ptr[0] = (JSAMPLE) c5to8bits[t & 0x1F]; - ptr += 3; - } - return 1; -} - -METHODDEF(JDIMENSION) -get_24bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -/* This version is for reading 24-bit pixels */ -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - register JSAMPROW ptr; - register JDIMENSION col; - - ptr = source->pub.buffer[0]; - for (col = cinfo->image_width; col > 0; col--) { - (*source->read_pixel) (source); /* Load next pixel into tga_pixel */ - *ptr++ = (JSAMPLE) UCH(source->tga_pixel[2]); /* change BGR to RGB order */ - *ptr++ = (JSAMPLE) UCH(source->tga_pixel[1]); - *ptr++ = (JSAMPLE) UCH(source->tga_pixel[0]); - } - return 1; -} - -/* - * Targa also defines a 32-bit pixel format with order B,G,R,A. - * We presently ignore the attribute byte, so the code for reading - * these pixels is identical to the 24-bit routine above. - * This works because the actual pixel length is only known to read_pixel. - */ - -#define get_32bit_row get_24bit_row - - -/* - * This method is for re-reading the input data in standard top-down - * row order. The entire image has already been read into whole_image - * with proper conversion of pixel format, but it's in a funny row order. - */ - -METHODDEF(JDIMENSION) -get_memory_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - JDIMENSION source_row; - - /* Compute row of source that maps to current_row of normal order */ - /* For now, assume image is bottom-up and not interlaced. */ - /* NEEDS WORK to support interlaced images! */ - source_row = cinfo->image_height - source->current_row - 1; - - /* Fetch that row from virtual array */ - source->pub.buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->whole_image, - source_row, (JDIMENSION) 1, FALSE); - - source->current_row++; - return 1; -} - - -/* - * This method loads the image into whole_image during the first call on - * get_pixel_rows. The get_pixel_rows pointer is then adjusted to call - * get_memory_row on subsequent calls. - */ - -METHODDEF(JDIMENSION) -preload_image (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - JDIMENSION row; - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - - /* Read the data into a virtual array in input-file row order. */ - for (row = 0; row < cinfo->image_height; row++) { - if (progress != NULL) { - progress->pub.pass_counter = (long) row; - progress->pub.pass_limit = (long) cinfo->image_height; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } - source->pub.buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, source->whole_image, row, (JDIMENSION) 1, TRUE); - (*source->get_pixel_rows) (cinfo, sinfo); - } - if (progress != NULL) - progress->completed_extra_passes++; - - /* Set up to read from the virtual array in unscrambled order */ - source->pub.get_pixel_rows = get_memory_row; - source->current_row = 0; - /* And read the first row */ - return get_memory_row(cinfo, sinfo); -} - - -/* - * Read the file header; return image size and component count. - */ - -METHODDEF(void) -start_input_tga (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - tga_source_ptr source = (tga_source_ptr) sinfo; - U_CHAR targaheader[18]; - int idlen, cmaptype, subtype, flags, interlace_type, components; - unsigned int width, height, maplen; - boolean is_bottom_up; - -#define GET_2B(offset) ((unsigned int) UCH(targaheader[offset]) + \ - (((unsigned int) UCH(targaheader[offset+1])) << 8)) - - if (! ReadOK(source->pub.input_file, targaheader, 18)) - ERREXIT(cinfo, JERR_INPUT_EOF); - - /* Pretend "15-bit" pixels are 16-bit --- we ignore attribute bit anyway */ - if (targaheader[16] == 15) - targaheader[16] = 16; - - idlen = UCH(targaheader[0]); - cmaptype = UCH(targaheader[1]); - subtype = UCH(targaheader[2]); - maplen = GET_2B(5); - width = GET_2B(12); - height = GET_2B(14); - source->pixel_size = UCH(targaheader[16]) >> 3; - flags = UCH(targaheader[17]); /* Image Descriptor byte */ - - is_bottom_up = ((flags & 0x20) == 0); /* bit 5 set => top-down */ - interlace_type = flags >> 6; /* bits 6/7 are interlace code */ - - if (cmaptype > 1 || /* cmaptype must be 0 or 1 */ - source->pixel_size < 1 || source->pixel_size > 4 || - (UCH(targaheader[16]) & 7) != 0 || /* bits/pixel must be multiple of 8 */ - interlace_type != 0) /* currently don't allow interlaced image */ - ERREXIT(cinfo, JERR_TGA_BADPARMS); - - if (subtype > 8) { - /* It's an RLE-coded file */ - source->read_pixel = read_rle_pixel; - source->block_count = source->dup_pixel_count = 0; - subtype -= 8; - } else { - /* Non-RLE file */ - source->read_pixel = read_non_rle_pixel; - } - - /* Now should have subtype 1, 2, or 3 */ - components = 3; /* until proven different */ - cinfo->in_color_space = JCS_RGB; - - switch (subtype) { - case 1: /* Colormapped image */ - if (source->pixel_size == 1 && cmaptype == 1) - source->get_pixel_rows = get_8bit_row; - else - ERREXIT(cinfo, JERR_TGA_BADPARMS); - TRACEMS2(cinfo, 1, JTRC_TGA_MAPPED, width, height); - break; - case 2: /* RGB image */ - switch (source->pixel_size) { - case 2: - source->get_pixel_rows = get_16bit_row; - break; - case 3: - source->get_pixel_rows = get_24bit_row; - break; - case 4: - source->get_pixel_rows = get_32bit_row; - break; - default: - ERREXIT(cinfo, JERR_TGA_BADPARMS); - break; - } - TRACEMS2(cinfo, 1, JTRC_TGA, width, height); - break; - case 3: /* Grayscale image */ - components = 1; - cinfo->in_color_space = JCS_GRAYSCALE; - if (source->pixel_size == 1) - source->get_pixel_rows = get_8bit_gray_row; - else - ERREXIT(cinfo, JERR_TGA_BADPARMS); - TRACEMS2(cinfo, 1, JTRC_TGA_GRAY, width, height); - break; - default: - ERREXIT(cinfo, JERR_TGA_BADPARMS); - break; - } - - if (is_bottom_up) { - /* Create a virtual array to buffer the upside-down image. */ - source->whole_image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - (JDIMENSION) width * components, (JDIMENSION) height, (JDIMENSION) 1); - if (cinfo->progress != NULL) { - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - progress->total_extra_passes++; /* count file input as separate pass */ - } - /* source->pub.buffer will point to the virtual array. */ - source->pub.buffer_height = 1; /* in case anyone looks at it */ - source->pub.get_pixel_rows = preload_image; - } else { - /* Don't need a virtual array, but do need a one-row input buffer. */ - source->whole_image = NULL; - source->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - (JDIMENSION) width * components, (JDIMENSION) 1); - source->pub.buffer_height = 1; - source->pub.get_pixel_rows = source->get_pixel_rows; - } - - while (idlen--) /* Throw away ID field */ - (void) read_byte(source); - - if (maplen > 0) { - if (maplen > 256 || GET_2B(3) != 0) - ERREXIT(cinfo, JERR_TGA_BADCMAP); - /* Allocate space to store the colormap */ - source->colormap = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, (JDIMENSION) maplen, (JDIMENSION) 3); - /* and read it from the file */ - read_colormap(source, (int) maplen, UCH(targaheader[7])); - } else { - if (cmaptype) /* but you promised a cmap! */ - ERREXIT(cinfo, JERR_TGA_BADPARMS); - source->colormap = NULL; - } - - cinfo->input_components = components; - cinfo->data_precision = 8; - cinfo->image_width = width; - cinfo->image_height = height; -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_input_tga (j_compress_ptr cinfo, cjpeg_source_ptr sinfo) -{ - /* no work */ -} - - -/* - * The module selection routine for Targa format input. - */ - -GLOBAL(cjpeg_source_ptr) -jinit_read_targa (j_compress_ptr cinfo) -{ - tga_source_ptr source; - - /* Create module interface object */ - source = (tga_source_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(tga_source_struct)); - source->cinfo = cinfo; /* make back link for subroutines */ - /* Fill in method ptrs, except get_pixel_rows which start_input sets */ - source->pub.start_input = start_input_tga; - source->pub.finish_input = finish_input_tga; - - return (cjpeg_source_ptr) source; -} - -#endif /* TARGA_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/readme.dos b/3rdparty/openctm/tools/jpeg/readme.dos deleted file mode 100644 index 4d10d2d70..000000000 --- a/3rdparty/openctm/tools/jpeg/readme.dos +++ /dev/null @@ -1,15 +0,0 @@ -This archive contains a DOS-friendly version of the Independent JPEG Group's -source code. It differs from the normal distribution in that: - -1. The archive format is zip rather than tar+gzip. You should be able to -unpack it with PKUNZIP (2.04g or later) or Info-Zip's unzip or 7-Zip. - -2. Newlines have been converted from Unix (LF) to DOS (CR/LF) style in all -text files, but not in the binary files (test*.*). - -3. Object files have been included for jmemdosa.asm. See jdosaobj.txt. - -Please see the main README file for the primary documentation. - -If you'd rather have a non-DOSified archive, see the ARCHIVE LOCATIONS section -of README. diff --git a/3rdparty/openctm/tools/jpeg/structure.txt b/3rdparty/openctm/tools/jpeg/structure.txt deleted file mode 100644 index bbed6d6d2..000000000 --- a/3rdparty/openctm/tools/jpeg/structure.txt +++ /dev/null @@ -1,945 +0,0 @@ -IJG JPEG LIBRARY: SYSTEM ARCHITECTURE - -Copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding. -This file is part of the Independent JPEG Group's software. -For conditions of distribution and use, see the accompanying README file. - - -This file provides an overview of the architecture of the IJG JPEG software; -that is, the functions of the various modules in the system and the interfaces -between modules. For more precise details about any data structure or calling -convention, see the include files and comments in the source code. - -We assume that the reader is already somewhat familiar with the JPEG standard. -The README file includes references for learning about JPEG. The file -libjpeg.txt describes the library from the viewpoint of an application -programmer using the library; it's best to read that file before this one. -Also, the file coderules.txt describes the coding style conventions we use. - -In this document, JPEG-specific terminology follows the JPEG standard: - A "component" means a color channel, e.g., Red or Luminance. - A "sample" is a single component value (i.e., one number in the image data). - A "coefficient" is a frequency coefficient (a DCT transform output number). - A "block" is an 8x8 group of samples or coefficients. - An "MCU" (minimum coded unit) is an interleaved set of blocks of size - determined by the sampling factors, or a single block in a - noninterleaved scan. -We do not use the terms "pixel" and "sample" interchangeably. When we say -pixel, we mean an element of the full-size image, while a sample is an element -of the downsampled image. Thus the number of samples may vary across -components while the number of pixels does not. (This terminology is not used -rigorously throughout the code, but it is used in places where confusion would -otherwise result.) - - -*** System features *** - -The IJG distribution contains two parts: - * A subroutine library for JPEG compression and decompression. - * cjpeg/djpeg, two sample applications that use the library to transform - JFIF JPEG files to and from several other image formats. -cjpeg/djpeg are of no great intellectual complexity: they merely add a simple -command-line user interface and I/O routines for several uncompressed image -formats. This document concentrates on the library itself. - -We desire the library to be capable of supporting all JPEG baseline, extended -sequential, and progressive DCT processes. Hierarchical processes are not -supported. - -The library does not support the lossless (spatial) JPEG process. Lossless -JPEG shares little or no code with lossy JPEG, and would normally be used -without the extensive pre- and post-processing provided by this library. -We feel that lossless JPEG is better handled by a separate library. - -Within these limits, any set of compression parameters allowed by the JPEG -spec should be readable for decompression. (We can be more restrictive about -what formats we can generate.) Although the system design allows for all -parameter values, some uncommon settings are not yet implemented and may -never be; nonintegral sampling ratios are the prime example. Furthermore, -we treat 8-bit vs. 12-bit data precision as a compile-time switch, not a -run-time option, because most machines can store 8-bit pixels much more -compactly than 12-bit. - -By itself, the library handles only interchange JPEG datastreams --- in -particular the widely used JFIF file format. The library can be used by -surrounding code to process interchange or abbreviated JPEG datastreams that -are embedded in more complex file formats. (For example, libtiff uses this -library to implement JPEG compression within the TIFF file format.) - -The library includes a substantial amount of code that is not covered by the -JPEG standard but is necessary for typical applications of JPEG. These -functions preprocess the image before JPEG compression or postprocess it after -decompression. They include colorspace conversion, downsampling/upsampling, -and color quantization. This code can be omitted if not needed. - -A wide range of quality vs. speed tradeoffs are possible in JPEG processing, -and even more so in decompression postprocessing. The decompression library -provides multiple implementations that cover most of the useful tradeoffs, -ranging from very-high-quality down to fast-preview operation. On the -compression side we have generally not provided low-quality choices, since -compression is normally less time-critical. It should be understood that the -low-quality modes may not meet the JPEG standard's accuracy requirements; -nonetheless, they are useful for viewers. - - -*** Portability issues *** - -Portability is an essential requirement for the library. The key portability -issues that show up at the level of system architecture are: - -1. Memory usage. We want the code to be able to run on PC-class machines -with limited memory. Images should therefore be processed sequentially (in -strips), to avoid holding the whole image in memory at once. Where a -full-image buffer is necessary, we should be able to use either virtual memory -or temporary files. - -2. Near/far pointer distinction. To run efficiently on 80x86 machines, the -code should distinguish "small" objects (kept in near data space) from -"large" ones (kept in far data space). This is an annoying restriction, but -fortunately it does not impact code quality for less brain-damaged machines, -and the source code clutter turns out to be minimal with sufficient use of -pointer typedefs. - -3. Data precision. We assume that "char" is at least 8 bits, "short" and -"int" at least 16, "long" at least 32. The code will work fine with larger -data sizes, although memory may be used inefficiently in some cases. However, -the JPEG compressed datastream must ultimately appear on external storage as a -sequence of 8-bit bytes if it is to conform to the standard. This may pose a -problem on machines where char is wider than 8 bits. The library represents -compressed data as an array of values of typedef JOCTET. If no data type -exactly 8 bits wide is available, custom data source and data destination -modules must be written to unpack and pack the chosen JOCTET datatype into -8-bit external representation. - - -*** System overview *** - -The compressor and decompressor are each divided into two main sections: -the JPEG compressor or decompressor proper, and the preprocessing or -postprocessing functions. The interface between these two sections is the -image data that the official JPEG spec regards as its input or output: this -data is in the colorspace to be used for compression, and it is downsampled -to the sampling factors to be used. The preprocessing and postprocessing -steps are responsible for converting a normal image representation to or from -this form. (Those few applications that want to deal with YCbCr downsampled -data can skip the preprocessing or postprocessing step.) - -Looking more closely, the compressor library contains the following main -elements: - - Preprocessing: - * Color space conversion (e.g., RGB to YCbCr). - * Edge expansion and downsampling. Optionally, this step can do simple - smoothing --- this is often helpful for low-quality source data. - JPEG proper: - * MCU assembly, DCT, quantization. - * Entropy coding (sequential or progressive, Huffman or arithmetic). - -In addition to these modules we need overall control, marker generation, -and support code (memory management & error handling). There is also a -module responsible for physically writing the output data --- typically -this is just an interface to fwrite(), but some applications may need to -do something else with the data. - -The decompressor library contains the following main elements: - - JPEG proper: - * Entropy decoding (sequential or progressive, Huffman or arithmetic). - * Dequantization, inverse DCT, MCU disassembly. - Postprocessing: - * Upsampling. Optionally, this step may be able to do more general - rescaling of the image. - * Color space conversion (e.g., YCbCr to RGB). This step may also - provide gamma adjustment [ currently it does not ]. - * Optional color quantization (e.g., reduction to 256 colors). - * Optional color precision reduction (e.g., 24-bit to 15-bit color). - [This feature is not currently implemented.] - -We also need overall control, marker parsing, and a data source module. -The support code (memory management & error handling) can be shared with -the compression half of the library. - -There may be several implementations of each of these elements, particularly -in the decompressor, where a wide range of speed/quality tradeoffs is very -useful. It must be understood that some of the best speedups involve -merging adjacent steps in the pipeline. For example, upsampling, color space -conversion, and color quantization might all be done at once when using a -low-quality ordered-dither technique. The system architecture is designed to -allow such merging where appropriate. - - -Note: it is convenient to regard edge expansion (padding to block boundaries) -as a preprocessing/postprocessing function, even though the JPEG spec includes -it in compression/decompression. We do this because downsampling/upsampling -can be simplified a little if they work on padded data: it's not necessary to -have special cases at the right and bottom edges. Therefore the interface -buffer is always an integral number of blocks wide and high, and we expect -compression preprocessing to pad the source data properly. Padding will occur -only to the next block (8-sample) boundary. In an interleaved-scan situation, -additional dummy blocks may be used to fill out MCUs, but the MCU assembly and -disassembly logic will create or discard these blocks internally. (This is -advantageous for speed reasons, since we avoid DCTing the dummy blocks. -It also permits a small reduction in file size, because the compressor can -choose dummy block contents so as to minimize their size in compressed form. -Finally, it makes the interface buffer specification independent of whether -the file is actually interleaved or not.) Applications that wish to deal -directly with the downsampled data must provide similar buffering and padding -for odd-sized images. - - -*** Poor man's object-oriented programming *** - -It should be clear by now that we have a lot of quasi-independent processing -steps, many of which have several possible behaviors. To avoid cluttering the -code with lots of switch statements, we use a simple form of object-style -programming to separate out the different possibilities. - -For example, two different color quantization algorithms could be implemented -as two separate modules that present the same external interface; at runtime, -the calling code will access the proper module indirectly through an "object". - -We can get the limited features we need while staying within portable C. -The basic tool is a function pointer. An "object" is just a struct -containing one or more function pointer fields, each of which corresponds to -a method name in real object-oriented languages. During initialization we -fill in the function pointers with references to whichever module we have -determined we need to use in this run. Then invocation of the module is done -by indirecting through a function pointer; on most machines this is no more -expensive than a switch statement, which would be the only other way of -making the required run-time choice. The really significant benefit, of -course, is keeping the source code clean and well structured. - -We can also arrange to have private storage that varies between different -implementations of the same kind of object. We do this by making all the -module-specific object structs be separately allocated entities, which will -be accessed via pointers in the master compression or decompression struct. -The "public" fields or methods for a given kind of object are specified by -a commonly known struct. But a module's initialization code can allocate -a larger struct that contains the common struct as its first member, plus -additional private fields. With appropriate pointer casting, the module's -internal functions can access these private fields. (For a simple example, -see jdatadst.c, which implements the external interface specified by struct -jpeg_destination_mgr, but adds extra fields.) - -(Of course this would all be a lot easier if we were using C++, but we are -not yet prepared to assume that everyone has a C++ compiler.) - -An important benefit of this scheme is that it is easy to provide multiple -versions of any method, each tuned to a particular case. While a lot of -precalculation might be done to select an optimal implementation of a method, -the cost per invocation is constant. For example, the upsampling step might -have a "generic" method, plus one or more "hardwired" methods for the most -popular sampling factors; the hardwired methods would be faster because they'd -use straight-line code instead of for-loops. The cost to determine which -method to use is paid only once, at startup, and the selection criteria are -hidden from the callers of the method. - -This plan differs a little bit from usual object-oriented structures, in that -only one instance of each object class will exist during execution. The -reason for having the class structure is that on different runs we may create -different instances (choose to execute different modules). You can think of -the term "method" as denoting the common interface presented by a particular -set of interchangeable functions, and "object" as denoting a group of related -methods, or the total shared interface behavior of a group of modules. - - -*** Overall control structure *** - -We previously mentioned the need for overall control logic in the compression -and decompression libraries. In IJG implementations prior to v5, overall -control was mostly provided by "pipeline control" modules, which proved to be -large, unwieldy, and hard to understand. To improve the situation, the -control logic has been subdivided into multiple modules. The control modules -consist of: - -1. Master control for module selection and initialization. This has two -responsibilities: - - 1A. Startup initialization at the beginning of image processing. - The individual processing modules to be used in this run are selected - and given initialization calls. - - 1B. Per-pass control. This determines how many passes will be performed - and calls each active processing module to configure itself - appropriately at the beginning of each pass. End-of-pass processing, - where necessary, is also invoked from the master control module. - - Method selection is partially distributed, in that a particular processing - module may contain several possible implementations of a particular method, - which it will select among when given its initialization call. The master - control code need only be concerned with decisions that affect more than - one module. - -2. Data buffering control. A separate control module exists for each - inter-processing-step data buffer. This module is responsible for - invoking the processing steps that write or read that data buffer. - -Each buffer controller sees the world as follows: - -input data => processing step A => buffer => processing step B => output data - | | | - ------------------ controller ------------------ - -The controller knows the dataflow requirements of steps A and B: how much data -they want to accept in one chunk and how much they output in one chunk. Its -function is to manage its buffer and call A and B at the proper times. - -A data buffer control module may itself be viewed as a processing step by a -higher-level control module; thus the control modules form a binary tree with -elementary processing steps at the leaves of the tree. - -The control modules are objects. A considerable amount of flexibility can -be had by replacing implementations of a control module. For example: -* Merging of adjacent steps in the pipeline is done by replacing a control - module and its pair of processing-step modules with a single processing- - step module. (Hence the possible merges are determined by the tree of - control modules.) -* In some processing modes, a given interstep buffer need only be a "strip" - buffer large enough to accommodate the desired data chunk sizes. In other - modes, a full-image buffer is needed and several passes are required. - The control module determines which kind of buffer is used and manipulates - virtual array buffers as needed. One or both processing steps may be - unaware of the multi-pass behavior. - -In theory, we might be able to make all of the data buffer controllers -interchangeable and provide just one set of implementations for all. In -practice, each one contains considerable special-case processing for its -particular job. The buffer controller concept should be regarded as an -overall system structuring principle, not as a complete description of the -task performed by any one controller. - - -*** Compression object structure *** - -Here is a sketch of the logical structure of the JPEG compression library: - - |-- Colorspace conversion - |-- Preprocessing controller --| - | |-- Downsampling -Main controller --| - | |-- Forward DCT, quantize - |-- Coefficient controller --| - |-- Entropy encoding - -This sketch also describes the flow of control (subroutine calls) during -typical image data processing. Each of the components shown in the diagram is -an "object" which may have several different implementations available. One -or more source code files contain the actual implementation(s) of each object. - -The objects shown above are: - -* Main controller: buffer controller for the subsampled-data buffer, which - holds the preprocessed input data. This controller invokes preprocessing to - fill the subsampled-data buffer, and JPEG compression to empty it. There is - usually no need for a full-image buffer here; a strip buffer is adequate. - -* Preprocessing controller: buffer controller for the downsampling input data - buffer, which lies between colorspace conversion and downsampling. Note - that a unified conversion/downsampling module would probably replace this - controller entirely. - -* Colorspace conversion: converts application image data into the desired - JPEG color space; also changes the data from pixel-interleaved layout to - separate component planes. Processes one pixel row at a time. - -* Downsampling: performs reduction of chroma components as required. - Optionally may perform pixel-level smoothing as well. Processes a "row - group" at a time, where a row group is defined as Vmax pixel rows of each - component before downsampling, and Vk sample rows afterwards (remember Vk - differs across components). Some downsampling or smoothing algorithms may - require context rows above and below the current row group; the - preprocessing controller is responsible for supplying these rows via proper - buffering. The downsampler is responsible for edge expansion at the right - edge (i.e., extending each sample row to a multiple of 8 samples); but the - preprocessing controller is responsible for vertical edge expansion (i.e., - duplicating the bottom sample row as needed to make a multiple of 8 rows). - -* Coefficient controller: buffer controller for the DCT-coefficient data. - This controller handles MCU assembly, including insertion of dummy DCT - blocks when needed at the right or bottom edge. When performing - Huffman-code optimization or emitting a multiscan JPEG file, this - controller is responsible for buffering the full image. The equivalent of - one fully interleaved MCU row of subsampled data is processed per call, - even when the JPEG file is noninterleaved. - -* Forward DCT and quantization: Perform DCT, quantize, and emit coefficients. - Works on one or more DCT blocks at a time. (Note: the coefficients are now - emitted in normal array order, which the entropy encoder is expected to - convert to zigzag order as necessary. Prior versions of the IJG code did - the conversion to zigzag order within the quantization step.) - -* Entropy encoding: Perform Huffman or arithmetic entropy coding and emit the - coded data to the data destination module. Works on one MCU per call. - For progressive JPEG, the same DCT blocks are fed to the entropy coder - during each pass, and the coder must emit the appropriate subset of - coefficients. - -In addition to the above objects, the compression library includes these -objects: - -* Master control: determines the number of passes required, controls overall - and per-pass initialization of the other modules. - -* Marker writing: generates JPEG markers (except for RSTn, which is emitted - by the entropy encoder when needed). - -* Data destination manager: writes the output JPEG datastream to its final - destination (e.g., a file). The destination manager supplied with the - library knows how to write to a stdio stream; for other behaviors, the - surrounding application may provide its own destination manager. - -* Memory manager: allocates and releases memory, controls virtual arrays - (with backing store management, where required). - -* Error handler: performs formatting and output of error and trace messages; - determines handling of nonfatal errors. The surrounding application may - override some or all of this object's methods to change error handling. - -* Progress monitor: supports output of "percent-done" progress reports. - This object represents an optional callback to the surrounding application: - if wanted, it must be supplied by the application. - -The error handler, destination manager, and progress monitor objects are -defined as separate objects in order to simplify application-specific -customization of the JPEG library. A surrounding application may override -individual methods or supply its own all-new implementation of one of these -objects. The object interfaces for these objects are therefore treated as -part of the application interface of the library, whereas the other objects -are internal to the library. - -The error handler and memory manager are shared by JPEG compression and -decompression; the progress monitor, if used, may be shared as well. - - -*** Decompression object structure *** - -Here is a sketch of the logical structure of the JPEG decompression library: - - |-- Entropy decoding - |-- Coefficient controller --| - | |-- Dequantize, Inverse DCT -Main controller --| - | |-- Upsampling - |-- Postprocessing controller --| |-- Colorspace conversion - |-- Color quantization - |-- Color precision reduction - -As before, this diagram also represents typical control flow. The objects -shown are: - -* Main controller: buffer controller for the subsampled-data buffer, which - holds the output of JPEG decompression proper. This controller's primary - task is to feed the postprocessing procedure. Some upsampling algorithms - may require context rows above and below the current row group; when this - is true, the main controller is responsible for managing its buffer so as - to make context rows available. In the current design, the main buffer is - always a strip buffer; a full-image buffer is never required. - -* Coefficient controller: buffer controller for the DCT-coefficient data. - This controller handles MCU disassembly, including deletion of any dummy - DCT blocks at the right or bottom edge. When reading a multiscan JPEG - file, this controller is responsible for buffering the full image. - (Buffering DCT coefficients, rather than samples, is necessary to support - progressive JPEG.) The equivalent of one fully interleaved MCU row of - subsampled data is processed per call, even when the source JPEG file is - noninterleaved. - -* Entropy decoding: Read coded data from the data source module and perform - Huffman or arithmetic entropy decoding. Works on one MCU per call. - For progressive JPEG decoding, the coefficient controller supplies the prior - coefficients of each MCU (initially all zeroes), which the entropy decoder - modifies in each scan. - -* Dequantization and inverse DCT: like it says. Note that the coefficients - buffered by the coefficient controller have NOT been dequantized; we - merge dequantization and inverse DCT into a single step for speed reasons. - When scaled-down output is asked for, simplified DCT algorithms may be used - that need fewer coefficients and emit fewer samples per DCT block, not the - full 8x8. Works on one DCT block at a time. - -* Postprocessing controller: buffer controller for the color quantization - input buffer, when quantization is in use. (Without quantization, this - controller just calls the upsampler.) For two-pass quantization, this - controller is responsible for buffering the full-image data. - -* Upsampling: restores chroma components to full size. (May support more - general output rescaling, too. Note that if undersized DCT outputs have - been emitted by the DCT module, this module must adjust so that properly - sized outputs are created.) Works on one row group at a time. This module - also calls the color conversion module, so its top level is effectively a - buffer controller for the upsampling->color conversion buffer. However, in - all but the highest-quality operating modes, upsampling and color - conversion are likely to be merged into a single step. - -* Colorspace conversion: convert from JPEG color space to output color space, - and change data layout from separate component planes to pixel-interleaved. - Works on one pixel row at a time. - -* Color quantization: reduce the data to colormapped form, using either an - externally specified colormap or an internally generated one. This module - is not used for full-color output. Works on one pixel row at a time; may - require two passes to generate a color map. Note that the output will - always be a single component representing colormap indexes. In the current - design, the output values are JSAMPLEs, so an 8-bit compilation cannot - quantize to more than 256 colors. This is unlikely to be a problem in - practice. - -* Color reduction: this module handles color precision reduction, e.g., - generating 15-bit color (5 bits/primary) from JPEG's 24-bit output. - Not quite clear yet how this should be handled... should we merge it with - colorspace conversion??? - -Note that some high-speed operating modes might condense the entire -postprocessing sequence to a single module (upsample, color convert, and -quantize in one step). - -In addition to the above objects, the decompression library includes these -objects: - -* Master control: determines the number of passes required, controls overall - and per-pass initialization of the other modules. This is subdivided into - input and output control: jdinput.c controls only input-side processing, - while jdmaster.c handles overall initialization and output-side control. - -* Marker reading: decodes JPEG markers (except for RSTn). - -* Data source manager: supplies the input JPEG datastream. The source - manager supplied with the library knows how to read from a stdio stream; - for other behaviors, the surrounding application may provide its own source - manager. - -* Memory manager: same as for compression library. - -* Error handler: same as for compression library. - -* Progress monitor: same as for compression library. - -As with compression, the data source manager, error handler, and progress -monitor are candidates for replacement by a surrounding application. - - -*** Decompression input and output separation *** - -To support efficient incremental display of progressive JPEG files, the -decompressor is divided into two sections that can run independently: - -1. Data input includes marker parsing, entropy decoding, and input into the - coefficient controller's DCT coefficient buffer. Note that this - processing is relatively cheap and fast. - -2. Data output reads from the DCT coefficient buffer and performs the IDCT - and all postprocessing steps. - -For a progressive JPEG file, the data input processing is allowed to get -arbitrarily far ahead of the data output processing. (This occurs only -if the application calls jpeg_consume_input(); otherwise input and output -run in lockstep, since the input section is called only when the output -section needs more data.) In this way the application can avoid making -extra display passes when data is arriving faster than the display pass -can run. Furthermore, it is possible to abort an output pass without -losing anything, since the coefficient buffer is read-only as far as the -output section is concerned. See libjpeg.txt for more detail. - -A full-image coefficient array is only created if the JPEG file has multiple -scans (or if the application specifies buffered-image mode anyway). When -reading a single-scan file, the coefficient controller normally creates only -a one-MCU buffer, so input and output processing must run in lockstep in this -case. jpeg_consume_input() is effectively a no-op in this situation. - -The main impact of dividing the decompressor in this fashion is that we must -be very careful with shared variables in the cinfo data structure. Each -variable that can change during the course of decompression must be -classified as belonging to data input or data output, and each section must -look only at its own variables. For example, the data output section may not -depend on any of the variables that describe the current scan in the JPEG -file, because these may change as the data input section advances into a new -scan. - -The progress monitor is (somewhat arbitrarily) defined to treat input of the -file as one pass when buffered-image mode is not used, and to ignore data -input work completely when buffered-image mode is used. Note that the -library has no reliable way to predict the number of passes when dealing -with a progressive JPEG file, nor can it predict the number of output passes -in buffered-image mode. So the work estimate is inherently bogus anyway. - -No comparable division is currently made in the compression library, because -there isn't any real need for it. - - -*** Data formats *** - -Arrays of pixel sample values use the following data structure: - - typedef something JSAMPLE; a pixel component value, 0..MAXJSAMPLE - typedef JSAMPLE *JSAMPROW; ptr to a row of samples - typedef JSAMPROW *JSAMPARRAY; ptr to a list of rows - typedef JSAMPARRAY *JSAMPIMAGE; ptr to a list of color-component arrays - -The basic element type JSAMPLE will typically be one of unsigned char, -(signed) char, or short. Short will be used if samples wider than 8 bits are -to be supported (this is a compile-time option). Otherwise, unsigned char is -used if possible. If the compiler only supports signed chars, then it is -necessary to mask off the value when reading. Thus, all reads of JSAMPLE -values must be coded as "GETJSAMPLE(value)", where the macro will be defined -as "((value) & 0xFF)" on signed-char machines and "((int) (value))" elsewhere. - -With these conventions, JSAMPLE values can be assumed to be >= 0. This helps -simplify correct rounding during downsampling, etc. The JPEG standard's -specification that sample values run from -128..127 is accommodated by -subtracting 128 from the sample value in the DCT step. Similarly, during -decompression the output of the IDCT step will be immediately shifted back to -0..255. (NB: different values are required when 12-bit samples are in use. -The code is written in terms of MAXJSAMPLE and CENTERJSAMPLE, which will be -defined as 255 and 128 respectively in an 8-bit implementation, and as 4095 -and 2048 in a 12-bit implementation.) - -We use a pointer per row, rather than a two-dimensional JSAMPLE array. This -choice costs only a small amount of memory and has several benefits: -* Code using the data structure doesn't need to know the allocated width of - the rows. This simplifies edge expansion/compression, since we can work - in an array that's wider than the logical picture width. -* Indexing doesn't require multiplication; this is a performance win on many - machines. -* Arrays with more than 64K total elements can be supported even on machines - where malloc() cannot allocate chunks larger than 64K. -* The rows forming a component array may be allocated at different times - without extra copying. This trick allows some speedups in smoothing steps - that need access to the previous and next rows. - -Note that each color component is stored in a separate array; we don't use the -traditional layout in which the components of a pixel are stored together. -This simplifies coding of modules that work on each component independently, -because they don't need to know how many components there are. Furthermore, -we can read or write each component to a temporary file independently, which -is helpful when dealing with noninterleaved JPEG files. - -In general, a specific sample value is accessed by code such as - GETJSAMPLE(image[colorcomponent][row][col]) -where col is measured from the image left edge, but row is measured from the -first sample row currently in memory. Either of the first two indexings can -be precomputed by copying the relevant pointer. - - -Since most image-processing applications prefer to work on images in which -the components of a pixel are stored together, the data passed to or from the -surrounding application uses the traditional convention: a single pixel is -represented by N consecutive JSAMPLE values, and an image row is an array of -(# of color components)*(image width) JSAMPLEs. One or more rows of data can -be represented by a pointer of type JSAMPARRAY in this scheme. This scheme is -converted to component-wise storage inside the JPEG library. (Applications -that want to skip JPEG preprocessing or postprocessing will have to contend -with component-wise storage.) - - -Arrays of DCT-coefficient values use the following data structure: - - typedef short JCOEF; a 16-bit signed integer - typedef JCOEF JBLOCK[DCTSIZE2]; an 8x8 block of coefficients - typedef JBLOCK *JBLOCKROW; ptr to one horizontal row of 8x8 blocks - typedef JBLOCKROW *JBLOCKARRAY; ptr to a list of such rows - typedef JBLOCKARRAY *JBLOCKIMAGE; ptr to a list of color component arrays - -The underlying type is at least a 16-bit signed integer; while "short" is big -enough on all machines of interest, on some machines it is preferable to use -"int" for speed reasons, despite the storage cost. Coefficients are grouped -into 8x8 blocks (but we always use #defines DCTSIZE and DCTSIZE2 rather than -"8" and "64"). - -The contents of a coefficient block may be in either "natural" or zigzagged -order, and may be true values or divided by the quantization coefficients, -depending on where the block is in the processing pipeline. In the current -library, coefficient blocks are kept in natural order everywhere; the entropy -codecs zigzag or dezigzag the data as it is written or read. The blocks -contain quantized coefficients everywhere outside the DCT/IDCT subsystems. -(This latter decision may need to be revisited to support variable -quantization a la JPEG Part 3.) - -Notice that the allocation unit is now a row of 8x8 blocks, corresponding to -eight rows of samples. Otherwise the structure is much the same as for -samples, and for the same reasons. - -On machines where malloc() can't handle a request bigger than 64Kb, this data -structure limits us to rows of less than 512 JBLOCKs, or a picture width of -4000+ pixels. This seems an acceptable restriction. - - -On 80x86 machines, the bottom-level pointer types (JSAMPROW and JBLOCKROW) -must be declared as "far" pointers, but the upper levels can be "near" -(implying that the pointer lists are allocated in the DS segment). -We use a #define symbol FAR, which expands to the "far" keyword when -compiling on 80x86 machines and to nothing elsewhere. - - -*** Suspendable processing *** - -In some applications it is desirable to use the JPEG library as an -incremental, memory-to-memory filter. In this situation the data source or -destination may be a limited-size buffer, and we can't rely on being able to -empty or refill the buffer at arbitrary times. Instead the application would -like to have control return from the library at buffer overflow/underrun, and -then resume compression or decompression at a later time. - -This scenario is supported for simple cases. (For anything more complex, we -recommend that the application "bite the bullet" and develop real multitasking -capability.) The libjpeg.txt file goes into more detail about the usage and -limitations of this capability; here we address the implications for library -structure. - -The essence of the problem is that the entropy codec (coder or decoder) must -be prepared to stop at arbitrary times. In turn, the controllers that call -the entropy codec must be able to stop before having produced or consumed all -the data that they normally would handle in one call. That part is reasonably -straightforward: we make the controller call interfaces include "progress -counters" which indicate the number of data chunks successfully processed, and -we require callers to test the counter rather than just assume all of the data -was processed. - -Rather than trying to restart at an arbitrary point, the current Huffman -codecs are designed to restart at the beginning of the current MCU after a -suspension due to buffer overflow/underrun. At the start of each call, the -codec's internal state is loaded from permanent storage (in the JPEG object -structures) into local variables. On successful completion of the MCU, the -permanent state is updated. (This copying is not very expensive, and may even -lead to *improved* performance if the local variables can be registerized.) -If a suspension occurs, the codec simply returns without updating the state, -thus effectively reverting to the start of the MCU. Note that this implies -leaving some data unprocessed in the source/destination buffer (ie, the -compressed partial MCU). The data source/destination module interfaces are -specified so as to make this possible. This also implies that the data buffer -must be large enough to hold a worst-case compressed MCU; a couple thousand -bytes should be enough. - -In a successive-approximation AC refinement scan, the progressive Huffman -decoder has to be able to undo assignments of newly nonzero coefficients if it -suspends before the MCU is complete, since decoding requires distinguishing -previously-zero and previously-nonzero coefficients. This is a bit tedious -but probably won't have much effect on performance. Other variants of Huffman -decoding need not worry about this, since they will just store the same values -again if forced to repeat the MCU. - -This approach would probably not work for an arithmetic codec, since its -modifiable state is quite large and couldn't be copied cheaply. Instead it -would have to suspend and resume exactly at the point of the buffer end. - -The JPEG marker reader is designed to cope with suspension at an arbitrary -point. It does so by backing up to the start of the marker parameter segment, -so the data buffer must be big enough to hold the largest marker of interest. -Again, a couple KB should be adequate. (A special "skip" convention is used -to bypass COM and APPn markers, so these can be larger than the buffer size -without causing problems; otherwise a 64K buffer would be needed in the worst -case.) - -The JPEG marker writer currently does *not* cope with suspension. -We feel that this is not necessary; it is much easier simply to require -the application to ensure there is enough buffer space before starting. (An -empty 2K buffer is more than sufficient for the header markers; and ensuring -there are a dozen or two bytes available before calling jpeg_finish_compress() -will suffice for the trailer.) This would not work for writing multi-scan -JPEG files, but we simply do not intend to support that capability with -suspension. - - -*** Memory manager services *** - -The JPEG library's memory manager controls allocation and deallocation of -memory, and it manages large "virtual" data arrays on machines where the -operating system does not provide virtual memory. Note that the same -memory manager serves both compression and decompression operations. - -In all cases, allocated objects are tied to a particular compression or -decompression master record, and they will be released when that master -record is destroyed. - -The memory manager does not provide explicit deallocation of objects. -Instead, objects are created in "pools" of free storage, and a whole pool -can be freed at once. This approach helps prevent storage-leak bugs, and -it speeds up operations whenever malloc/free are slow (as they often are). -The pools can be regarded as lifetime identifiers for objects. Two -pools/lifetimes are defined: - * JPOOL_PERMANENT lasts until master record is destroyed - * JPOOL_IMAGE lasts until done with image (JPEG datastream) -Permanent lifetime is used for parameters and tables that should be carried -across from one datastream to another; this includes all application-visible -parameters. Image lifetime is used for everything else. (A third lifetime, -JPOOL_PASS = one processing pass, was originally planned. However it was -dropped as not being worthwhile. The actual usage patterns are such that the -peak memory usage would be about the same anyway; and having per-pass storage -substantially complicates the virtual memory allocation rules --- see below.) - -The memory manager deals with three kinds of object: -1. "Small" objects. Typically these require no more than 10K-20K total. -2. "Large" objects. These may require tens to hundreds of K depending on - image size. Semantically they behave the same as small objects, but we - distinguish them for two reasons: - * On MS-DOS machines, large objects are referenced by FAR pointers, - small objects by NEAR pointers. - * Pool allocation heuristics may differ for large and small objects. - Note that individual "large" objects cannot exceed the size allowed by - type size_t, which may be 64K or less on some machines. -3. "Virtual" objects. These are large 2-D arrays of JSAMPLEs or JBLOCKs - (typically large enough for the entire image being processed). The - memory manager provides stripwise access to these arrays. On machines - without virtual memory, the rest of the array may be swapped out to a - temporary file. - -(Note: JSAMPARRAY and JBLOCKARRAY data structures are a combination of large -objects for the data proper and small objects for the row pointers. For -convenience and speed, the memory manager provides single routines to create -these structures. Similarly, virtual arrays include a small control block -and a JSAMPARRAY or JBLOCKARRAY working buffer, all created with one call.) - -In the present implementation, virtual arrays are only permitted to have image -lifespan. (Permanent lifespan would not be reasonable, and pass lifespan is -not very useful since a virtual array's raison d'etre is to store data for -multiple passes through the image.) We also expect that only "small" objects -will be given permanent lifespan, though this restriction is not required by -the memory manager. - -In a non-virtual-memory machine, some performance benefit can be gained by -making the in-memory buffers for virtual arrays be as large as possible. -(For small images, the buffers might fit entirely in memory, so blind -swapping would be very wasteful.) The memory manager will adjust the height -of the buffers to fit within a prespecified maximum memory usage. In order -to do this in a reasonably optimal fashion, the manager needs to allocate all -of the virtual arrays at once. Therefore, there isn't a one-step allocation -routine for virtual arrays; instead, there is a "request" routine that simply -allocates the control block, and a "realize" routine (called just once) that -determines space allocation and creates all of the actual buffers. The -realize routine must allow for space occupied by non-virtual large objects. -(We don't bother to factor in the space needed for small objects, on the -grounds that it isn't worth the trouble.) - -To support all this, we establish the following protocol for doing business -with the memory manager: - 1. Modules must request virtual arrays (which may have only image lifespan) - during the initial setup phase, i.e., in their jinit_xxx routines. - 2. All "large" objects (including JSAMPARRAYs and JBLOCKARRAYs) must also be - allocated during initial setup. - 3. realize_virt_arrays will be called at the completion of initial setup. - The above conventions ensure that sufficient information is available - for it to choose a good size for virtual array buffers. -Small objects of any lifespan may be allocated at any time. We expect that -the total space used for small objects will be small enough to be negligible -in the realize_virt_arrays computation. - -In a virtual-memory machine, we simply pretend that the available space is -infinite, thus causing realize_virt_arrays to decide that it can allocate all -the virtual arrays as full-size in-memory buffers. The overhead of the -virtual-array access protocol is very small when no swapping occurs. - -A virtual array can be specified to be "pre-zeroed"; when this flag is set, -never-yet-written sections of the array are set to zero before being made -available to the caller. If this flag is not set, never-written sections -of the array contain garbage. (This feature exists primarily because the -equivalent logic would otherwise be needed in jdcoefct.c for progressive -JPEG mode; we may as well make it available for possible other uses.) - -The first write pass on a virtual array is required to occur in top-to-bottom -order; read passes, as well as any write passes after the first one, may -access the array in any order. This restriction exists partly to simplify -the virtual array control logic, and partly because some file systems may not -support seeking beyond the current end-of-file in a temporary file. The main -implication of this restriction is that rearrangement of rows (such as -converting top-to-bottom data order to bottom-to-top) must be handled while -reading data out of the virtual array, not while putting it in. - - -*** Memory manager internal structure *** - -To isolate system dependencies as much as possible, we have broken the -memory manager into two parts. There is a reasonably system-independent -"front end" (jmemmgr.c) and a "back end" that contains only the code -likely to change across systems. All of the memory management methods -outlined above are implemented by the front end. The back end provides -the following routines for use by the front end (none of these routines -are known to the rest of the JPEG code): - -jpeg_mem_init, jpeg_mem_term system-dependent initialization/shutdown - -jpeg_get_small, jpeg_free_small interface to malloc and free library routines - (or their equivalents) - -jpeg_get_large, jpeg_free_large interface to FAR malloc/free in MSDOS machines; - else usually the same as - jpeg_get_small/jpeg_free_small - -jpeg_mem_available estimate available memory - -jpeg_open_backing_store create a backing-store object - -read_backing_store, manipulate a backing-store object -write_backing_store, -close_backing_store - -On some systems there will be more than one type of backing-store object -(specifically, in MS-DOS a backing store file might be an area of extended -memory as well as a disk file). jpeg_open_backing_store is responsible for -choosing how to implement a given object. The read/write/close routines -are method pointers in the structure that describes a given object; this -lets them be different for different object types. - -It may be necessary to ensure that backing store objects are explicitly -released upon abnormal program termination. For example, MS-DOS won't free -extended memory by itself. To support this, we will expect the main program -or surrounding application to arrange to call self_destruct (typically via -jpeg_destroy) upon abnormal termination. This may require a SIGINT signal -handler or equivalent. We don't want to have the back end module install its -own signal handler, because that would pre-empt the surrounding application's -ability to control signal handling. - -The IJG distribution includes several memory manager back end implementations. -Usually the same back end should be suitable for all applications on a given -system, but it is possible for an application to supply its own back end at -need. - - -*** Implications of DNL marker *** - -Some JPEG files may use a DNL marker to postpone definition of the image -height (this would be useful for a fax-like scanner's output, for instance). -In these files the SOF marker claims the image height is 0, and you only -find out the true image height at the end of the first scan. - -We could read these files as follows: -1. Upon seeing zero image height, replace it by 65535 (the maximum allowed). -2. When the DNL is found, update the image height in the global image - descriptor. -This implies that control modules must avoid making copies of the image -height, and must re-test for termination after each MCU row. This would -be easy enough to do. - -In cases where image-size data structures are allocated, this approach will -result in very inefficient use of virtual memory or much-larger-than-necessary -temporary files. This seems acceptable for something that probably won't be a -mainstream usage. People might have to forgo use of memory-hogging options -(such as two-pass color quantization or noninterleaved JPEG files) if they -want efficient conversion of such files. (One could improve efficiency by -demanding a user-supplied upper bound for the height, less than 65536; in most -cases it could be much less.) - -The standard also permits the SOF marker to overestimate the image height, -with a DNL to give the true, smaller height at the end of the first scan. -This would solve the space problems if the overestimate wasn't too great. -However, it implies that you don't even know whether DNL will be used. - -This leads to a couple of very serious objections: -1. Testing for a DNL marker must occur in the inner loop of the decompressor's - Huffman decoder; this implies a speed penalty whether the feature is used - or not. -2. There is no way to hide the last-minute change in image height from an - application using the decoder. Thus *every* application using the IJG - library would suffer a complexity penalty whether it cared about DNL or - not. -We currently do not support DNL because of these problems. - -A different approach is to insist that DNL-using files be preprocessed by a -separate program that reads ahead to the DNL, then goes back and fixes the SOF -marker. This is a much simpler solution and is probably far more efficient. -Even if one wants piped input, buffering the first scan of the JPEG file needs -a lot smaller temp file than is implied by the maximum-height method. For -this approach we'd simply treat DNL as a no-op in the decompressor (at most, -check that it matches the SOF image height). - -We will not worry about making the compressor capable of outputting DNL. -Something similar to the first scheme above could be applied if anyone ever -wants to make that work. diff --git a/3rdparty/openctm/tools/jpeg/testimg.bmp b/3rdparty/openctm/tools/jpeg/testimg.bmp deleted file mode 100644 index 012223eb67e30448ecb29b2c8ce501f98c0d464c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35050 zcmb824?tGs+5b<&x0o0aGZGwFC^|`ICXh;x8Im#+2U;>ff^33G{z1!$3Ye`{ZzWc) z$P#5*ZtRcfT4siO%fZOaNL~5rD-yVB%*+zmB!m4v-|L(Qt!=;e_q)%-c@7VckLPo~ z*LB_3{pZ|Ia@t=XajYcvahz{)bb_BB^K*$4Xs>^1cZvJkh}aQM>JxW6vDZ~PH)cTIug$eB26t`i%Z>&*MrYG=fa?>Jlk@QyQM z>0GDyz9#4T@nf8(kKcB#AN`p#=l)7((UXrjOJ+7XFYNe@6E}X76Q6vSlYL9FvwrDp zXKMCC&g7-va}K_Jz_~B$XHIR+TIYtFQ=N>l?>KiYUF~Gwe%6_gzT26Vc;4Bv?IUMN z^`p*6U!8ML=45BnvU2B!2@g42{&LD`uBdSCeR7_&AaAa7=-0n?%4(l;#wNexjLn(u zEL!|GXA9@?`_ffT^T!>|b>F(pnZNX2=g8qR&e*hR&f?pm*Ve(2<;oO5oy`E@6M zcBhkjcb$_m?P2GUJa2dC%NaH7@6Plm7dnqW^_cU$v}7kWXQp%JlfOG@4;DHP zu5NOks@v`?e*PY3YhjLab7F@xKDovD&af_LdVZ1f!(aZ$@!gW-+&-h#`Sy+XI;juj zIIkbCbAE8gZ=D}**x_ur|8?j0jsN9z{QM`*3)LSwPjCK%^T$1}IzOuTgR|)SZ#%F3 z_PA63lV3W&TejG_XKuFhm+m%a(OqviOIAPU{AP8fv;DXGoL@ZtoU`-zC(bYGUT|hi zKIkkhsCJ&8{{v^y1G}C7%$VUczR}>s#_w@9ZrS0Cy=S5`GCtLL<>fD&dD+>{eNUD+ z6;GUZw*TZO&d`MCoSz-q?(F*0>rTSdBAXMw&$Jl`#*Pn z{_D4#th;~a{AlUx&U^p!zO#7Ka_5D)uRAd#YMjIg#ZLA8i=CUNEpnEw{;88bxz!mv zd5`n$aSu3;?yJI|TAjNmPIHzqZm zo_89ad={Prr}X|(XX?D~Ig?ZOIQi2uoWuLxbY9(a*10+1HRq0*mCm~BBLefGC($WgjW~Na_X_wZ~k+gfu9oPQt`-|7!vUcp) zoqNxp|NXlA53XDH%1wI~FTUmfrHtJ(_Fug5nJ}L(-Ivb8m*DeCfG?pY!IzK_6csjn z^ysN!c^&Q_^d_IL$QNA{T3Q-f8d}2>KcO|H{904$ZTd}rt_j#QF>2zbO*Nr+-(6D^ z(9yA}rsnRu?}o9XBcvjvAOu1cLmib?k(O2wlC<#JM~xB4or1h#-GKMjtsC^wO^g4Z zDEBlUkIQy??yLit>d&Yj{HGbWjC$; z>)<8WbwI@;&f3#a&!(G^)flFJ2R2|+)T&ickWm5>&~Z`C-7pq+K$#X&fx-H%)Qq(v zEh#FgFQ&TFgBg3vA!)g8-Nu7J{wsn031{)xe}3E8TlQkB64LDO0%=Wjh7Zhy^n{5) zLF~2h0K6zVT3m)`GJox^!s>$%%Dv*?l6)TLcz_r?t zw2GwN($RnFW5*skw0HV>%=O^oAN}*m```AzKJR_XELBEodTCda;lr#litM#${8C%7 z5Tkve(E@Nc7f#1+F@wcOu}HSi(2R^tn=(vBASsgZZbxJtL>U~=D=X4gn8k)9MSXL2 zudUjtANt1hSAM^4-T6UB{#So=E&QK>58d+2jPz(z0Isnhc2&0CZ4V8jwN7 zKA*9e3-)pfNiTbHiVn4UOQ=4?EyO2Yc2=OD3&)c^Mx~8XcnwKQ3fbNFSz^wG6CJzr z+X(sl^Zy?*Ui7bTxn=AvV-M|l<k=W_l>`O{~|@!9@@Eg`W5E~{eLj_UZAmu zURn3xQ!{5qu84@Jj);!1;w%s0#E2IL-JVfE|o%G1(dF( zHH$#w-_>xyyLglNBOd5VsV5L;TGR;%NlLooOFCLDIsKLCM?N}28nF0cie9(x#i977J;xTvf7B~Xf(`-j`mGV3kn(1;S0T6r~BoCR>t=g5$)H|Qm`;k zAqEr|2b7k|k{vhB_=S{=D+=VI*lJqRZuw(x<#Ef{wPO#h{q~`~J3rd{(H?T0|BH~l zw1;kfH8QzRpFVMubK{KgMDq#o+)^H4q%LJddUSPlC}9Q}sUbUtBq5~BsMsPyyukMr zLf0wrRq`L#P!ozfDyTYKMs&m@d8oL?>Q#{FxbUTiF2tP0w~U37xN~UlM<1EF_LBU& zgRzI6KU`l}SXke1A};QPi3r~b4^dC$$Z3X46oPS_>XC#MK~#|;d1;v1MQ9i4cL7l^ zQrO8CVbs6Ks7bi4IIZJ4RUMA%4!8`hB8}`^zfyUmrOiyjg3sLX#zithXXVhLBYOwE zLTvr_LXyUVJ@%PzT{RTK!n2bpaUixp^(DgQ6Q9dFh3Ts4OAiXNBqt~&X?OA6ii~>L z=HeKT3FPg>rw4c@JLbBGguJ7o*mQJUe*}+*u_`B6q4o!rN7C*)Zn&s=T)cDVk)1n{ z5g}jMd;Z8x|JEg4#9MBCwNK&Dwzjiv4UL}}&e)OEQ5+y0on9S{&_L5h;gK@jq%%z~J$k`Z z-NpxyswK~#Kd*G>-?g#?IrfpO4i^??$7i=?pSxH`;aQQ1x*|f^&$JY!mmmbC4QU!; zGD;%b*!?r5{$vmNtb&b_xZ;40im0TH04fd&4Gc?l+`WGB2-8A_BsINpQNBuzCsSQ} zh{Sa|t*ik9);%=+B2)f~Pd@WVa((^Kp|SC8XU~Oi#ZqOfUQtMOJy9B3iIBNQvolQM zY*0{0Q&@2?oCk8jJTE@tU9N~!{fiPHEKcZ%N{Xtu4r9Hbqid-Cy_XLpq2u4Ywv`Bo zI6KD@chK?o1Ez*8oVxL~hmQE$B^M!*zm5I-^L_f%4vlS#XNxs&G(>hMWT+=B*7yPS z9AQ$55yxyvZw?AdYkDdKWe~{#y(dpe`^`8xq7ZL{xhP;$z{G$A8q2hbX-RrIQa>t< zGc{FL0=UBZ147cy^gT$PbJ5w4wNP>kIu4kT7m^hA#sJdui~jCEy!A)9g>B(&`T1=i z4h;{V+z^-BOk|~q4@}!GW)!6!>~K}-ICIFtrlMZ`dJ!+SSN^I?K!p)nLzPcYfHjRb zB?NRtg+x_&#%ht&cJe_&568;qC^WK~7Rp*LBmpp})jM|Y6$8RTiqm#4ymrH&e-?7_ z-=A+7+BOscrQ^`HdI)8!LM*o*D5o@k-aO?3B>pIuRB0Avb4&WnAz@8EiDXK8I2Sba z(@RD9VR3N)hzXn6Xhu$q0aQ4YGnbx~OK;L~Ro%cEGrb4jnn9Bvf^wAGdn6%EM@9 zQil{I%~7u7)dpsZw2+>8{N_uCtSGKHvwP!fswh270LLD>^~!o`jI(Fsg_#{+8J`_H zd8?{N?9`+LZ;BbLNWWA(O6p2VL_}_KZnIl^c$hqyre>e6y6WJe+#MRwu{){*{RGG^ z%F4t5F|JUz91==JjuqR33+(x#H#-X~n+c;)2-&27RfXJoK&G z4;KzCY{L-^GCn@O?Ogcetsn|8u3URe6=3b%3_xyJtp_{Fs-4mw8Yrmf7ZNCAb>Te3 z&YS2_d_eMA6Y9Kz1O8tO8oK2ilp2xT340CnJd4$aZi^+8!5Vbc4>Jz3T>q zrTKgTivrF}T}NJrw64T^zB8-7u(mC>@+<=C!R~B!_~dZ#{5m2doXsxk1s&aZOC`}Hf&jZAH!U(UpmU}m|doIzWc9KnaHP!qD?=%kNPE(#&#j3H5iBrk_iy&bYw z|C6VpU&}L74}LkBp>yu{Akv_PFrvD1#hDogWvzR@H7h&5tc+NScqQ>YNC}^(qvwyV zGkQXn_bS;dpZ@?l9ufVjn{&5CwxkzDOF$K1dhJ#+n$^On{^PtYlNQjuYJjLH9r4IT zHI}b}hg*`YdLHRg5_eRUAmoN4JFOidm!nbt%KZ=K;fyqBqpPDs2Nrd{J>$JwZ~E4K zv+~PYd*UlwTjNUxm-NK@t&J*z4^hWpp2r7q9WRR)upA;)#-2l*SG%j%2~Cottly$t;ko>8f<`K z1T?lDMhGt|{>Umq&n+(|1P~!9%?-I-xhqx#`7|0}l!~ENgLsWa5M{xkzKKi1CLyHE zRCG(0ASA}RDF8+l&scR}4(XEWH#{<_Y3gf(ES;g_`_{*Ao-w4@S7d_>(bWXD#_ICi zS-02b=LZJD2ww>W8!d?sjE@f#V_Vx+S46k|@H?a-o57a5oECvjC+Dlh6rOug6TL3Mw#iVRZCV`F-F``L_FD%3v8ga8^s^rZhGk; zV;np8962)R@duwO2=d8F?85Tt(dD_TpUls%3~X(M2*TFNl1ebG;xK=V4VSIb)zK^D z6lFOUd)#CIEYD*7gkElkj(xhY))hf?wz@IYQ<2Ia^QEuf^;AEjgcKZzMoE<^9WA{v z1urBz_A5Ke+X}7=U)s3g{JIVA4Vc=5D{>9Z;Y({6ZE0>Utj#BciVn0^)3HPv>Oowk z-4X8hMKG1m`HM?vxV=)klBvK~GUM={@j?|vw7cM_l#l?bi&=&L(c+ewCH%4RUBD=1Eb|apMlZq|mamY}KnC z6<;rg^JMf}tmyoRQqycTvY}5ypFS|s>zbe(6iPSTF!qYIs&>ps2+4D0y!>*5ykylS zA77%#8r2(fOf(ZtkZFwnDaY~j6=YCxI?=l*x+WtcxAxp^Jw37K&Q93XewN_b#*Y;o z&|;4$sVSFHS(cQXt2!4RPF&qeyz$G3rq)Ene0jKk;cqVe6w)9s2vK=TM#5@tS66Q2 zwxF7tgbuWvn6N1$gHbpTsiBnuB}|M$Mwb$ogiwzKlGLxGziPCY1Dr|dhqPxHHNOJJ z=(xhRb5+^df$bk8wwLAm0hO9sJe5DTrT{5K*bPxV0e)B1L9+{lj5>(hYMT-T%9ImR z%BQILjE?xD%oQ2C`gF|nWMY7nbW@*3qAJ;{7gi@xe|V4>>jILUDB`NeXIMx# zimF1YYG+51Q!;8ekkPV?h={ntpb3(evU?n0tD@$N=5zD<4fyCfMF20YDT@77@k;yZIRxoKGAu41E=E|u= zyK%J?Q>AuXFloUg3$32DdJgI8X!VEdbRep@z#zK61+5Sw&5Vp9DyHc2?vZJ4)4JlIsMOk^4m{T9e zsiI?COEa>;DZ#=|Y(>74Cu2{>#`0v8?q3blQXm;C|2Q{NQKwH=^2}F>1~-$@9=t72ng-*%!Nyk22g~>>{AdeYJp&0>5zdSILi8k=k8U zcND|aVT^_-J0-pbrI9I8Ez;6Zj;I+=2pM$yg!UNuTW}Q;vgu*FSY>XMld)CtfhlD~ z*!Xj?;q~;CtG|P?HBJU<<>bjKnScV5Wqc=3Vy|2PH~hNQ$`qLZsZO7+K7EqAB9jw> zCZ=h$KcKjyn1S`sMgopi9g3=cW3|Aez>2N9jJ<~HSJR$_#})*-E2FOzOcK>1UvWh4 ztX}w6t$n%Di+63tr7ZEit$XLWQ0$)O>FTJ^;Hn24_Gc!K+q%lI6i6EJXiEojf3Q_o(RFWw@ z@xfK+j>Vpfl|5Pk5-Y8$Lc)}i{w0}g5;HqCmf@eR1X=*y=u|%C1eTiHC%I2#a#u3O zn&3k1ZkizbplV%?z#^96b2ku__lb99+8wDg853 z`uE4`rDgo!*ulUn!m9sAg<2#IGbLS32C^%;t0RF4E>>vRQJ3M3Jn%<1=D7aoGUAdH zY*pG7L$aA4ff}MqtQXSwyVZ=~`Dnm(Vz-f3&B_n#5n^mxJzBYxMi|d)c9OB^h}pup zY+2^Ao@KnfC$lFw7)HEPaa4aqzW&Rg#3VSDy~bx}gYSpjI^_iIuG~V^96&}UCnqn- z%PUsHSdA)d))D~oM^{IyA-&-0R+Fn%IYB|G7-MQsanNQR3H71^W^sC__4=Q>L!b?hRmI`TSQ1!ff8qT5FOyc8B?>$zc@u(_NJPNxFJ9<@vLrs3IE>#~ za#wz0>txz-4TWR?l&+8kqX*nSdeTI4Iyb&bPyCVAqZ@IcG+XuiB>u=OQm^<7RkBh) zjv7@^@OHt9QOMW{f2WI&yma~Gc4^SYDhFv~h`nMO0}9JhOGxWf!DI?26Qf*KQlg6k zB&JFr;E~ZC`p(hAmyp!?YUGca z`stgf-W-DJC2D;vfYS3xwU{0M+)87WIZCZj1#iFo_L(z+gtr(c<$VV87c*-HwgH=Vm;SKSwFM2ZST9pu-_!WtGkz^?;F(tQERWa@(EqT3US&8eI2x(eMNX1^`j0>MK;oY*B*2=Sm z$uoxpWK>tTgiQL6c|hjnJm{JryE_#>Kwe*-9n?8L)zI{oLW(E97GCAj+wJ#&i?&Cj`#xSRCQtrUnG#ZeTD|& zW;#KMA!`LSlXJt{&@=~Z`JGD$Bo_lEWtMfBDXs4&<^<~fo|JqDeA;v$C?T&cCM6?TyHYW|(R?i1P*v&+A}%_QWN?xjHU!?GgCFy=p5R5@BxrZl|A&OVr>LasG*$uW@ z6^f#$X;g#MHbe^#AJD=iB4_+3Kk==GngK7ov37#sd5d> zd4XImr_1b#p;)ZdRU+5pMcFEXlHFqCdZ<)k@KrJ6vxW^DcDlQ#If5kh?#AkI5kYyQ z=iNC^^+*&wR;$FQ4AlgMQSRxwrOPPDQcM-Z%?HGYj`GL-YY06M?tgm!{u}2|nXK3h zo?D4T!dS*>QbFh>jRM!i$*@$;EWQkjqj?!?>AL-yH>RXm!qY#qN2W^?RJewy@QS69 z5Mix+h+I;iBgdqYl8`D5Cn9M0M}OF_IwEbs=s*AY&O1l1T%gf7FW4BQ=ajNuDiJYi zjIyybv}lpZ_`+rTUUnhzM?Kg{N4)ZjB!pCor}jwhVa8Nr=(G}pT2(x7Fd*fQT>7%W zI${S|tvzUFaUsM=S*}bS<&>(TniVOTVvzPuLGno=tzsrqFhaUYW|uSO**LDcUv$RA zNu%$&>(0?61TZoZVA4s*1rk&7$AmP-#>Pf!5MSr!QI}O*M%lN<)6ejPC?%gJ^c0NB zZ6WM*kO(B#)|Pdb5g-%eOR7{ovZ<9-M|G(4icb-}Ucb;2!r9Z*TDENdawV_I#+8y2 zgJ_bt5y@U4h;iNYkNE_NNeC+$KmPQvVataN>%OL6=)h7&cN;S@LWbXe*Ij?UbND1W zi=`tYItn%Bn)s!3L`gBC;y@Tb^lh%#eBiRpFQDWaqZHez3sTOR)3m-IH#ZfZ>o_5|=(K{#ZcIS2+W~DSPCc_uRLlEAIiJUTe!&GjYjqPo1)bi4 zt!oPo&dD($hn+qfS6!-U0cug@J^1Il?z-#p;Vz>HMWwK_#Db4031eevBf~W6!q{AJ zpy0p@l*@kb@*3>bTv4EK;*~$1Gw00uuG~>U9UaAyxwZLaIqmIF8v3UCTn23}C^%lQ@3PBYxJ;1dj3Y;$`c$Nftf!uyGh+R=ZRF_1L6Kdx z`4e*5KX^-sFe=i>LWL+6x42#kWNa|wKG-jRKqO4m=$32Gu>~Ntzmy4Bb4!5nywhLw zfvxW%q{W@9KZg-h4XuujPFOO0Dvc0E#^sRWG$({H#2|UqQN>tfw|Et&)1b06oUn7? zWjDBv9Qo-dpME;>)2By%`svd@-alf*wo#*~J6a+OXXWR&qvDG%f|x`96CCnNF&d&B zc$pj`O31+YHi9fo5P|XY-S5u-?(*-NPm;e8kVt2h@2JS={e*g^hMJ4Do)%?ycE4%~ z8I1)-C**|z!IFr#TNxcN8&>aYiB8sdDNtIAguzvl^`wkpH$RC(PZvSNacKv+% z#3%QB`st@P&MBY?lDZ-?xA5?++6f!5KO0!q&HxZf%T~YZK}yE?^D$DhOjRhB z{>tXvdecS3NBMV&CM1bKcj36kP;!=NI_-h%kXb@T*uhX$cZe=Z)~fjrjxuqnsD^$z zE#UQMMjSuBX5YRaDD3Q?Hf`D)Z`||}O07m)F>fi(P4@my;wwP|;&%-FJcB52Ao=+t&53em81h18+x zCQINCUg5(^s^%t+@2*s69acHHAIUj4FZrlI5|jYAjEbmYWeC9Lu7r>sggDW5+bkUb zAZkb3@%Zr_YhYB^898#=!#BM1=sSb{wqe5tFz@+sQ_`8VnQuqV?3#7uz3;xu&=rW8 zfiX&KP>lM5Rs%|!>8UUAWNdsOe;XWM);&HaCSO5^kx2$hl;$9)80z|G))^wl$_(&G z%Wb(By+!UFgOFtytAs3p6;BW*{Q5Wc0v96uv?jK|Vv<;h6591o!$I71ub_?nlY zM97hEzInqte;YJt`jP3coPYeigEJPM8Itz)kmTgsam7RtqGE7-nN^Sqo53kLIm%$o z=5WYkpjQTG2M=x~@5_myrJRyQmODPPE|@$H1d?>fxF%+sbkNBsu}nTgGU_c{2nC(0 z!HGah$J4EkzeESQO8U78+AAF$Bg|RsH>!WyPQsuxe$bD1XCH<$#K*DRf2Z11N^a`ziG3RaMP> zmybA2WX-y|FfKiaN}UNE9ZT}WCuekr1B{nGN1Lk4EJ*sS+@hXGadxJrTHx8S=4Bw) ztQk4-%^Nlh+WT!4C~qD;BkZZGl4o7{;s-H|h%X~W5n}Agp%W4VtGN1gF*yv_p@9ll zpNJdZnu3Ti<8$UF#tcRjf=reSAcnStKwQgpn=hVQ`gJr@*3NW1<}zZfJ>9EwBN7lX z+Il(MS`pCem9kp@oF)ROBut#>DBRd4RMRq*YV!D;<8$Pc#2p|XJ-^o=_wK#oiUAKk z_5Q1UX6;JMVFDm#MZI1{2Y=gy_IARm{4k}2mSP=US!RI@dB8$sYKW38|#%xKt`x*V0xtRSkxs>PHUzD*b6ByQg_5`EkHRUYt7W%<&y_#*A6BMit1ZPp-Y;wewfJ@(MCu@yPRq_kGY72%T+B3ca16;1NX(Il$%0~jU6v4Y3{o8gWUD~xpYd0U z{ZoI{Axc6{?6KJV-`uMUBgWI+apSPnV&-#fS+IZ^$Y!Npw<=Hc$1PaEEElBo>jB#w} z(B%^o%=zPCt-*tD8?2@6)r4n@lE2)B7(UI9Mw4gG{@rb+2VrYYT2Jh+^kB)7$0N#~H zTI-{-p~ujue?4ofq!|OqbYS7W>h#1%vY{gS*Gqi>LAMl$p}b) zQcz!wFyTo@E*xEu`EU6d@yOGy-BZea6IW4ZZ1F?NXpg#(m(Lr$a`@3LyScgiBF5e& zGz6#-$@J6~w$xGUkIPm+{p0WMbJMrhEFd#82Xk7+Xx*uXXpkv%I#!Xhk$9CxLQd?S5M-}YY(RceF|M?%V^ydkq07pujf>vIIEUFOXh$JL zNzYK{t-O5YpJvbQTd`R>YK4W1D0#(hU{_8+l!bBq@xFcg{`gn-{gvJ+5*G3sCNW@d zbY*CshB|9JGsS`-AVVcL*BNH@0)Bn@*Xx#lef)A&i7})?1Y}KB;u6uRu6&Q_^}zA^ zv17;R)N4gZGgJ=}9b+em(MeNk^j1<-^hJ=+VouQ|(mdU4HrK(Rbc;*BcAx zILgUw-4nlhT2;boOR@o_2Uu$XO_48t2O`kybNnN7vIjzJ9Wfr$dTbL z?iEqYF*}z#(%!B*+pfCfUWA-GzPmMR*s`qp^iAXdVPRpzhp&Wd5}3n>yM*&V9I)>E z74N*UP-EqyV&lM{po`aXR~S=MQx6;;ac0E(_r3M*+^m%4%Z4$j2u4NEN*OC>#PGfX zX=Y|1qfrpLkk;Cz`;GEldN*`1>~xkwe@seUYfs&6$KWCIa8(!r(vCEO=}8*F46L*& zR$T`2MzuP4U!dNtB&ZdsM0U$vAX4AyiS;4XlQ!Y_%=FUEWCL0pr|m zIpolwP4ofeF;6heHPzvlOHT?i4oAmVK6>bhm;5@qLVk(QC`EYSz{?{>+<4FLe(~48 zb`K_|mN7rx5Mg8zi^d3J+giy@=ntU7h6baA1QIy*79EwLn~=*gG1u_~Ew@*dtbi70 z3=@0dqku<&o#0%jd|g)vQ{_|J+7o4{f`rj@tX)C#FoZF4@;U630_41v4B5?_w{rMY zRxo({hBsgomzk;CTK+1gAoq>9am>?y{NwL_@sEG3hD#I3OH!7l$Y^0SNL}@kk}~xN zaDwjn+GwMKk#g6%`E@inzWd!}b^U3CEbCEcIYH^`)T${AL{eoaG^4C~@+f72IHy;O zC_*vsx&4E8l>%JEm_L)j9C|wPmgMbTaQ)Gv_#)91zIm!0M{hj1?!ALA;g1xT64Z;$ zlF)RX%0^$I$dYv6Srqgj&iJs4-mR?QRTmK1gufs)Y~;+Ut$JU!>e8-IP{ zufIoi$b?J{v7uy2YmW&T&V<|&%L!y^Iz>0?n57BEE5_J=KKUw^ixCn}xCUxe)09R? zEE_5Hk7LCs_2{;(!hreQ{11!~8Q&$HpBqEWdF;~Rq^pG0u&@QYKVBj!B_oh`j{ejA zubn^tIFuXRJjbGrbc2LPwnq3yfhTdBlz1YnYs!&5%Bjgq)Nf-M^7d z7EoEGLAf@P5hGMhN1jq=JyL!^TF27y>vV!ZCP$;tKUqeiPB#fjEiZe18Jp9t4`UvT zHUjs_*a?Xrfaew*QlnTCE}eaJ_=4dxMo%3*oJI!5dQ^6LC*^(+Kl%{Mf<4w_#gtQqVk7 zlyXINC3=vIZisO{EczpJS*TqYAdqwv0t~4wm&&A6ce9ErCe74|oq#*eh45aQ$%*e$ zRiopsjVp&w3JV*3{}t1x|LmuKe)dl*|0KjeQ}_S=XM6V^xe3U1@5xq$WE%^Fd588I z-RAp7*u;)gr)Xa7*s+hUoS+9So6(&Z@+!b)yBwO9AtIF$TKTrPof4g=%yqw%8@v0L4qel z5^@WhnI&G*!uuqh?sb(~Vhm2HOQBtf!u*g960kLgNfTaq1PXDNgiNG=Pda90oqlV^ z^&e9?4tT~^Cs@07=QsZF)1UwJr$2q*fxSBqv0UFxdvChwnU7!u3HdVzyl9V{{x8J9e(JhoAw;qGuDkc3Z_7^6)~Qy*{X=Sxd0VM zZr?s~`?NQwJ#3Vpe8NcNUw-(Ht9u69U1PeZDmcEf?OdDs*OaB3keHv%nd6*OBn!`W z%0jn(byqhDX0C~(q&0M}*QLZDQ%qT=xRnmL8uHKD;*GJry|sPrE;%H5Wmfl#vsZ2E zm^fs>GybJESfSw?l$~p}@Wj|X&m1}gz2>iKda5*Jyj&~RN>VACT5wzL%CbUxJO*{VKKQzt$Svz;FU623As!=9FVit{HxoJ z(G}vw80%zKKeJhJd{r4aFs)_o@!Hca;SR(QE3?lw!woGGFBO&{y>q>nR04hP)CyJQM=%- z^40j;=wPLnpv+p5yjRiL#niqHKw5U__wKHo?wmwwNm`M=nY}bBAz{eW$1g0E+KUL> zSPWK-CYf{;p+SmKuXgU+acbJdjIXPR@!BVT_hh9QdrAT|OObjpP+5VsDcjsILd~rS z4%XKyuOu%OwO4pS(TE_csB3?&Dr*l8tZEG`!)$pYkg7P`AN&!wMt@21{0d@g2$PsK^^RIqUgORL#1SMy9?XThAl(-05oUjOau4@*Lc zX^#2n(_dV(`Yf3JX|c1?5jR*7bkqZ)+gWwf!)@k>)Pm}4BZG0_G}9(nadw%;^mu!n zaZ2YZ=6hBKBO`=TPCY0tVs>C#TV=bVO%B@4-F4+#-}#Ola@UJLdE~*40N;uqKYr6q zF3!b!i?zlm(TtIs#G@OFqDwV9K!cJ+sRcVenKtd=hkyIqhqZwxpPV-B)TzFG=ZyH` zxocKeGN?mGE0oHiJ%hCKlM-+tkTlX}kSHWZ{*h`E{+^PengvuUi=499_`%%$<7sH0 zqg`7dcgR-ait6N;i#zUm>pOp)K;YT+;*TDAKWb6&ic247scjeUf@9*2?n`4Gj}R;6 zju$2`l|~bLh(PH+`6GyeR1qXWhgo!Mj_=zyYTLGL4Xg75D~I)@^i&QWJeb>Ya4Ld> z76+nvseVL*Q`8GS?DywE6=Mm&-njxe}Fu-E=w6&59X+8b}Q!;FY^R zn05H7w1}WDHp1v<^FNP0@{#Hd0?$s(d9W!UHaiPUAX%>17eShHe1~hQ@BH?iciutA zH@A-*Gv;LwH@`4&;J|7qbCaL@2j#J=QL?9%lT&{pMVXwYj!8hj#n#>Oq8C`*;8KK#V?Q)6CUe<1a;7g9eQSjsvb+zwf^=(-<#bH|(; zpZ?1=*VNW>$Ew|F1f-_ba^gz5*@&RRq@?7~$>Y@+7HTxvRpzOps?n_!5i&bIzbwBk zn;V?zM&~h}D&H?6M|AGdEfkZJ^<47v-@5gt-WY02!m^&|O=RPHtae;`#ECBLRZ%*^ z2qBM7(i|pr_yf-CZ*D&|XZ=3r3#PvC;lOHL8Qt!=NRZ$B=9x3wwsmzCHfVyon`0WI z8+4eqDJ^;A_$ef#16`qoz>4v33yl8$D$YrpU47D6*q&6ecMnRKODAs?m_az1%e6~~*z(@#G6 zwD0kP%Qkm*EI%7d&z_r(>`~BJyz~3q7ofsqYv$=vdk|x-tCe}z1#>p|OkC!q`jb>8OdUWO7W{EtvD;Po@!QPR$uJf*GHkoib6qUH6WP(Mkj}g1Hxw zDWZ+kCX;2X6lU`)@(@mFaFDyQkYy&ff9|B2gfrIsU<)3Ze1VMjVz4? zp&&6zT2cUdm~>uZtqkxySvc!Ie{zwGy{v*{iSZ*lk4*m?_dYc0hbeZNWk;3+B2kBC zN5z@GeLp?LT*vhXMs@zOvxrbCK21HZc7@bB)D&C)jU}J@otS*?9ASrBIITb5AlVtC zO*KPVwKJ5gDzK{NV89hb&B$Vqg9fu2VG2CzMpiq7OiCik^#C+`H9=cjyMObO-{h7* z_sHM(h|D!oPfU5_;v<93KlHQnKYQpk=QHknFiVx8Y7(S1AeG>8*VUXkJD5UFRWY!7 z;6UXF+Dt}INSi;xrC}C(balVar<^jqJhycXihep47HIZkSOG}T4eztk&EjtqKqe!s z zB&E!jLc}>g;H8BsVZ|z&4+*65IdCvV(jf!`$ZkWkSGD95{#f0Q zOAxAcwnJ;$+h9^Xi4BjSlEk|ymxR6G;XV8X6Us~9dw7ZEp4@}H< zWh9Lgql^_$>)44XVuGlrmoR0iycLe@6Qo<*n zoP08zrLC14(9pzK)g7sBR$`8Y9VlblZoj=x@~jV-W0;bu+gPiDQyA(RhK@FaT+=y0 z)J8x(J&fFS?yg-Q{P*Fm$fjQ%T({wGe|zX}e;f4uBi}bQwL9|BhK;j#?`Bz#kPt_J z*dFdw3gSR0O-oI{b{o#dC_Wbw6nUg5aYw@}=Qq7UnL+84hT80^x^qVjn6dncFJ<* zCSG|>TzPZL%%&L|2OKYCK}DOO5^Q8gl0L`H7KX6Ar~yp~aI&~sBl zcTRAoIzeXLuCJgfY#2-3Smdjd^QnSZg9XU`f+5Oii8_LURAf=~W#j0>G zO`U!1#y4KtcyPn{^MgKO+wkbYsZ8pK>L@NQw)-Ec@Jb1t(F1X^3&kKr2$95N>)jcp z>F8bpS4hRIe&uJovwAXbJI1~5;n_WP_1WR52P4L+x;?v+^&Wc4%G!qJ=a&ucS#CPU z&g#<=$=8=0zVZVN7BS^OlMa^A9WM>(^mn7G8LMg8{g2wXe*L0ZW{$6=$$M%xvuYQz zTR3~_Yp=cb`|}Sy^xDBcE!@Hi<(tIl%INwcl&+S>Dr5*OakFPZV%eUKf}^PZD3Uu; zbP1ySomkzP6;sLjBjIiFJ(=>!*mL#7RHHnZeU9yHZEf7vDO=CBYPE>W;Oq&7kwG&< zX3k80^?62L8R!=l)9RRV%oGAE;#1I3veP~HvDzu+{j`>6Mg(^=FpRuqOW2k?cEe{+ zedAAW96UJSjXTU#L6nZv8X#K5VOnCd&?%VOX%kR&>H-v@5cM!9FVTUJ-({-wBlIhe zTfO?~CnvK|W8u)iN5ggb&g#ZU8705^>L&|7M@7tw0jPu^zE}Xh1zUD+Spe(s*|V>m zdhNBd7jD_TDyd@=6OGW(C`qo__#!ER0bFgEZjB)XF^bUL3EI`sqK?H?glkSkXhCU5o7WOH;rci5m+aet9_gertCBFS^{#%7{kuAkqqfh2~ zWtk=h($k;#)?4@e=kw2Bdg=Q!nBd*iG$gqtx4D^>E?vNJ)#JvE>&Fyvbj(|_`(u<` zI%&)GleQeap1~|3N=G^vE#{b#s3?D;$y}so+o)5%THKV?ubIh-qHm;mJkWqt-Dy5OwP=?rPnWIuyxB) z{RhS^=JFjMmUE?MM;ddwW zCFU7@uEqua#hqa2F3Ka-bQMl{i_S>Jobn5JtoGg=X!iXnZK4!LU zG2fIluJN7u5m+Thf^-CvBT6z>lc3ZCB!d2N+6y2zM19i>-c}}P6 zbW!=tE!H>zPuZ;%Q_?V%5J2RbG#w|^{l;NUcIo&m7`0HItw^rrtXj15maLMPQ%*D# zhL`8&HuJSfT1bxjPKFF=nlWSc(W5I@0@)PS1mPB@p|a+CbmKUk4qpL4o~=EgjZ~5y zX)xlB*DnALN(m`zUDZ*Hjad$$7OpnJ%9r>W`5Z&kzR_)G`dea+g0g6O5ujcJi!x3t zr|XF2xLLNzmZ(w~vZAHeY+WwdD~mbt{RnXiQ7SAUH)M#W6d57s%BgPI{qb(T4S<#3 zKC|<2={!gXqKiY4n4-f>YvA;A`BAP8|1fFdrlL?gZ&w>2EpVa|JXky?q3guQYSXWc zpNUW#A8e3NTBRWo-IutlU5GI923lLJIPRLNi|5~Kc|geJlPv0}#r1Rra#`THD|tv0 zkrBj|E2#jMF8!GDO;*L%_f@*rob$25UH=IBnG@=x_F&#TbnfIp897(yIIwaVtYDk2nKo8`R?Umm)p8O{Rht%3XYES3w9KL5)!UQs z>`Nf@Bu1_OnA;#78@isms>x)$b~a^;5ViQ`b+#C?%Vt;Iqip2l8d9wl5oK0ND1&na2#nS=mF%#||PbUeCpwzkTw}UY|rHE`rhcdWAGI?Zq<43p@BsOv#9tc0ojCq^Kw*%@GyI zWU_n>hj6qIPFy%ETe9loNn3LaAQjw_?}0#S_O3e`V;*xg0K9hg(WOhTXT-mwqm$KE zEHZFvW?t?u2KrfJC|Q6Ju4G}IJMT0z=PD7XDiRje6mizFYV6Wj4dMdSSC1g%CA$PN zUEI?xo-;~DtA(g_h&`$sp+Gz^C(~4(%=*^htYeAYx=$P^CBQYyO+U_@Ki^1qo*ympUV1Nm$tI*~4egW8%usfBqlyRx&Y=f4^ln zBd{6KVpKs-P$B&)*2TZ`k@{el(jY+;m$!EXwR*@1S&@>Okt(qsDQSR&Lkh80OtIw_%A{&eB8KkG9Ap$H$a=*gD!>_(SW4457Qk|i-*O8HP6eSm0c*0fe|8ybcdKKJU3so0((W3lQ*zU;v+st6VA zfV9v6CXl|0yoGn%aYx@fu6_2|XaDpph}W)UUKvp*iDmy1kOnewx*GnwaAV-!HL&;c z-{@+Zj;_6$rJ9D)(b5~lnk)&KaNZWrsJorpAtHz&l}!2h!2k!P@D4Kj{nPwRc>5$LzjG7p`3Sr)y{5v4skfwiU|x zADFjLTug7T*9?YhASAmO+GDRgxjN#I0Fv~$8{ZtKFUFCnie|E=*U-1faE3bQdW!^w zl!t89WJJh5^$lmw!icqo(Wl1Rwu?+gbhAp%t>|=&lzPBeq%M6;cI&&NZ{OV`l6LRd zvha>;WveoSAQ9SiVb@D&M`oHrq3~f|9OK!K$}9dt``I{wRN+ewK`hrYqlD6M`T*!F z)m;P#*^8;b1EpM2no3KUiBAm;XS0VE&U*E!r}B~rsp=S%sY0b>TNaJhBw=7&plFJfgK`tT~s^3N83MZi?sYxr*OhESyYS`$p+l>5=WZR&4GvvAOp#Amc24!t}@s-79vGRvsrm+Zax2?jlP1zR}C3bP#i$p z$gU(%`W_3f=)ZRYX5Tgi3^dp`@3j z(u-!dR7(OjJ{hPR&n{@l87R?F*Rm1vZ36nvIKJNi#>w^Sud*5T{poO1)aj+PAS)@A z1G$-jl;jQko9v;p4kxcjuUVw#8hMi*;-dIbO<8p0+NO@W@yDn3uUYf*3%~s3I57?^ zU36V>afMbEk*xwLLX@&RT*j$G(-0Xw-_zeXboDa@*{Q8!UCP#a^bEC#aY?>TRt;c) z>f6p%BBOfQQn+V=-g0bL{mCi-vH_+aFI&Kv>2c-@6I}=Lty%Mf7k>F6i_T;vsHEEpdt@$XZJ})S4H}7G>^slN}0JF4_+^!QDUs5JW5^JiI&=iD9i|JTVZaC z8tj(y+kYlRqx29t3A0psRJOf6LN^v;sX%Jfm(i)t0N-^!Ek!Cq-s?9#!?K+|m8<0G zXjja3y?CNDAu%T4+zoeR_%fnJ>yWbuYg@xm`!Wcr$iwckM?*H(Xk8hV*BPk}s6h!* zn#Vr4&_(2SNbn!_BASv?p|Kw(!ii(Ofbv$y1qYM)# z`*Pu*UMNQCMjbViRqTH=7r|7lFHX@^-pKffzKguM*h)cedcDg zp1BH9F%~5uBob?=62?Bw&DQ7X1|9oRItf@3o@FBV8n4DhfCX9XMSqU&Y$fqj@Xz z3~QD>Gt78Z5A~a)rO4RGdK7fr-w9M2#se~!fq1n}dy87>t}}Y4MBcBjN$Gm-i!XNU z-?8t7PMK=whntfYE^J!ZG^8TPw>fpQMAS9$my15oUb4^PiYeUKX7ShiCqx{K$q0R# z0zsFu9xygg^T)=X#pqfok`W;pcjJB(h9wz|G)n4957N^S-pM$ml7_ZyzEQE6cS?hHMJ8RdmYS=`PF9+&V!V3 z_g)qJQ8L;X39~#jUm_x!Rj5jiU3;ZrexT!yVOlnJ7?z4+%xAsGk@+}PG2qpu9+AZ8vuYn008)B050bM zdH|X$SE#R0(NI%U)6&w=F|aW*(9<(;vanudH_NTmw)5K_CiB5ET_A<)7@xKl=bmW-1mz z*;`jwVRxy80@>uEGs|d%bsM|E*5d~v@~%NoY3bOnb8vEriro;GfG8*`DXXZe>D|^h zFf=kYv9Yy-+dCkTZtfnQUfw<^^n>7#(6I1`nAm4=@d=4ZS=l+cdHDs;3tyF2U@EJs zvA8!)%`L5M?fADJdwL0d{R4wT#0k>m)R*a**`?(b^6J|9#^%=H(ecUY*|+aM&i`=% z0ib`g{;dCo{SO!O9~T8BC5V#x9~Y1!^v?t_Q&I`aUSYWfqrMx+DkK+8!={^A*4Rxe zEN^`Pb`2V*V;50a5l8+P z&|Jd&xqhlewzE;Ptp$mALApmGS*is~KNEX0PtwOZelDm7JCBX)ZDlT*ZTz9Hc;(XhfPQY}(U+!{BFx+N8LaMk}uNC4xz=i^*sB-F(Wbp|-LBoXNLwfk&e@cgV~q zHXHeL_6omt;H1IT?>4S);)HnTMm2Nl0q5t$^?0=Z&V`<@Ilpz;#2)(;w9-sZLeNnw zSCYO+ypA%o9S!0W5$03@q?ImNBjzMr-K}x)Yg)gb;^fVpRtR^uY;f2Kdwi(*uL0+2 z5NV3^K|>SzqR@z(0ex+yawiN78B;L4XWh=ZAm)1hq zI#-{=d+^x%<)gi*E&;N}VlyA6`qDJ%l4e;VnSy&17f%Y?MvjiTCCIRrcTl3(_&phA znHf9I=xz&|Z{X3d-q+#si~VbcrFr_C)Z3d#T$Pv%v?gu}*&w8S6=})1JTJEtNbHz< zIJKBU=Bg?C9*(BdI(5ixzZMQC$}`?ls}^6T#-f54=!( z4DBh6PqH)_(aMF+3l-1Y6TaXj6NU$_GzObXLq7+^C~lCtx-Zl?ap~BVXoLmFwaBfz z#J8iSJ@Q3AyqVOvJ~fX&!UORxx@WxGBfYRQ%dZi<4iR?H;k>Mlo4?1@Q!4y=NOX-} zD8fiq8C`rCuX!+WUJv|!zy;Q)inEvXTf79&tbB;>|ld8HsMdPt*P|vX&wXG3-=Z$dm0B7#XEL} zSn$vLQSa{c)31drmLe+-3+AzlN%_0{cw6C&AV~Hex^hX{ud>4BtyjCEh6$4+zoJzf zS>X}$RLe+MqH|zYfbXlE+Tgyoc`*P8reh`MZ>>piufS&Z>zrRr5d|v(yIlfBr4e`@ zv+*{{SWcBKA0!dsmRW8-$}vcJ1l&ies&51>dzjd+a;00eYI1*+qFPI2hIDjw_t!m; zpfJ1;K5CHse!pf|wD+ubhK~H3v%%pvUnI2t#iLd&z8a@5aU*f=DfJEv_7b?T2r2kF z*-GcE9>2^YETI{OYrUz!=ibj>T*T-I5CIz;a8u{mfXwbKR}}iXJR>UA5XTm=Ih1 zvJ?|^Za0x9KwgBe_R`$vvZ9rIrwN@dk&}IzQ*ieH-C&c&oiXn#=d3eSz}+qa_Zy2y z6}t8WRuD6$i9J$r7^E)zfjeDCKAOU&J(1M?JBeG~L;osP;ttYE;BnUa)~ghQq@^y%=PHmQkCuuONSr z($pp3lr%oTEX*C$c~Nn?t`QM+inZ05QqB2&_<}qe4l2921Yq=K#eb?$sj$`EH?z$S z&BiN^OdY2VrE^E>MLo00Mc#mPt#2Bo-O+i6NP{eNu{sUxsjX0yzL0HeAyO$sR(N58 zr#>C)q*bts@SJTrb=>09f;Ip0Eju7RH7aDCL=&92?j;h7Z}@OA_kOf;R}~DhkS+cA z(lk+|WKTg`zSl0w@}MT4+C5x@)oGWo)FPvn*`dOp>en19-%Bv1wfnH@Wp}VeROhwu z!h2BR`H?3ticx)&7GAnvpL|K284iW`+4t=&H|Y5dpe5@^_fRW#1b!+=s=n}qz@dnx zV4qU9J(&c845TQ1YfwtM{}SM9X<8WWynKAKByJu+SwdmCs-UQ}$7l=!25pb~Hk=rTNHVeQrRfIH4TqzKZ z9rc<}U7#qrn>C?-`%Vcr)kuRp?PSyEkld;SZWWQjxiD#KrOf+xjJn7&e|5pXCVKh! zMPs_PPBGP}kPOGR{5AnwH+NFxGZp7hg&w$YMD~_6ytI$aFS)yKJ4hwoB&8NwvP4W$HC+KF62J5cF&?qk(2|Jd%qf#m-I&Wd~ zp$((PZjeE%WhYFTHt(8cmpqg_jQ+r{wo+DYv8w$svMH(9M*XgM-;t!b=OLaxU+)_? z|HCT&I$2miQC3m~c+72V^T$cm?BDM?y`2qCwIzht{yM1pt2ysY=JNtPCsmq} zVy$bNfj_f^)W}?NO>zcq{9^P1qJD0D32@;oXABfJ_`WCuJFUFUf&i};-KV}GLY{0P zk(G8Z0Sj!O3m4KbG@k}hHjZIZEVA-VBgNN%F=J@hFdtoWfv50G1+9r;cl^47%iiEx z*$^40(W=|S@HoKbNvKo_sf$n{8BvHX%{VsWVYU%_APN>8s#TdPeKyaC^d5U45>?vQ zWbQl;G&gaK{#bFFbua7^z=exqPE*ntbofHr({f9DXfIJ?#_-wEi&OpY^C;vjzQ|Zm zWXVvZ)MRDf{rYwDkoq7?ev8TZ%$0TUyEHJ&arj8xmwk?6@qo&KWlz%=Wb*#_zV3P^ z5;nZ=L>!;~t_qbmckffhis8eSrP$s(y4CxNIc9ZAxqszOuAFsudEb{KGa9Imx)mVv zb!mDlKD(sZ7G!C$SO{&}W|&%IZ24kVxG;gSCZwa*rY1>bc=7YF?XY&N*r((UhYj#r zN9nLt2;GL{#Lj>^SO2)5uzgQ-;dDoPYCv~;!{cX2zfw6*bM?GYaxqX5ezqCQh{tuH zuGNN9dN%IMAQyB0>Tqf=x-G~pH7dwHl=kNWHGRv77#eWSt_V{ce%0FCsTKe8CiGhY zA7BHzzHM5gIge4b3v5k4P&(a|Djbal`Z)rq_T(=CQ}sT#sD-Ms3^IrD!+e$H;2sI* zQZsDOjFO2!s7pSm zvJS8wlzKgctWnvAemkeby!yOnH>s`q~%EOR7uU)(>I+(3(rYTeYd?qsONO zM+@}yP zoYgL7l{=HXzP*`S%HuuvdOud>Y4@VYw-fZyw&uw7Z1p`t06nwS&L@<+#qQTCBicZM z{!Ze%guI!MH1RqaDML>FVz9Ds!Sdsg_c^Oi=t}azn|uY6R7|(Jt2*DP?Meq4h!fOX zUb$EmSEM#&=`(+oIkdyOGR49*4mqZYe+M~F^_^BUnzmEZ3wAkus|XvhFuw3rHZ@?S zkI8B*ivG2>1FcGBIU5@Z(a#MFES7j9O8Zux#~AE@=0IR$Yr+IpM$rnDuL}1 zFs%2(UIwc9{^9fbIceZdSWUpdt+^*d3kd^Qe#PP>!OW;3R~fX)mu*UrT7>Rp+ir^cV@1lQ=6Ff8^~-(ij152i9nqTP z*9IhQ8(a6Rav#;|!Fe6tZ9C9lU1H9{OdV$EP+wT0J7ae&2(rch*C(uQN5DI<0i?T7 z#bzX@_+`pUoiAGu3A?v-qPM4^=TSbZpr+sc(=`37*+MGXUinLCl6%RY2D|9A4zatt zH#8vdQ-gl&hU95}ctBQGrntkz6Dm7J@Eg*PQ{Rj^<@4K7Fz3^^Aiq+R# z%JHlvCE5Slj`XfiX6hA6LPD!g{Mef50ytlKBtvQU*RORwOFY|jHu{bZ)JzD!#x7i4 zcL|6OL?+y#&EGTHzmsG{|B)O4ucwtV`>{7x5Nxh)b8s;R;$#t;St-LoYn^Y0PxmYY zUes(vv4%bVV%wNKlE9}4?Fx1V?*?zgIA5 zb_sxV3PV)?d@H!S#%Cq%vju#N$R(5GzP~}OB->FJ`0P4==y#r<=a0c)@!-T=mt*%j zu1i4pDknjq1of$^YQe|e+&`S&P+%v5dFyJRZBxJE(D+_ovu6Xl&HMD!m2~8ormyuu zx(qe8wsjk+d#2IpYJ&Mp^pRksj7EwCwhF3LNJ^yiPN41FZpb3A!uL!{VYjH_0Ov5q z&h(q=7Lx*vCu}>WnVsz*F`N_XW>1FQU%bHe!cQHfS+fd+?PkeZ)9^ZWu#Qc=h$HFZ z_fCk+`|1hRWBC}n;*iz+G8{R^+E4)G`vA9U>Xv>#n!_t;UqMx4PG97JDu5|YY5qe< zhm_co)B^$X#f}O%H|$u77JHCiU;k(`fqL~0)y)sXNuOAcOOdaMy9szrD)dpo^jOJX ze`{-Q)Y7M#y@>Cx15fNAoKm*DU!qOnA%Hq_78*}dneqF*2)Ij~Id`!IFl7~2ekkO* zla40dld9b*KXTJCA!k4cq%}z@PDQ>P%spXBx1`7=dd~YF>&qLVuDLrqXKCe6^#k)t z=zNP|`_6;&QFNPb?LY1Mb4I_mEk)neVQ-4{-3lTT$W+gZi*Rn&Y}U7`8>WcIb{SI2+lxgCIV z#LoI!)vCcwAY=rGm#PNLCYN(l{{fmkq>*7_=!y3${CEIYB-E`ZwawbFOVpALhSXcu z#WwD-qnWG9-HPC1*y_<^@h)ERS4kad6dUIerZPoGvTmcn^q=X(YvMmT^;@&*v&mU8 zq3!lU{nLGOImt{XFcU{6^}L7Hvdc;0r5}6SG%Q!>R(h4(G$KpSzZ92TSAaRC2c0u+ z6O0+(4vG(M1?sbX?ej-hc77IUAzo~d{pC5O(%w&w&^okE47^IRnxy0%5KBd8$l7_o zYD?>u4IEW9RDjv))Zz>w5L1qF-2F@2IA4JB5KC6KD4MD5MD5MD3NB2OC3OC3PD4QE5T>1Y?2b@4nB5}E6ŒG8šG9¥E7²F9ºF9¿E8ÆF;ÉF>ËF?ÌG@ÌG@íCNíCLíCLíDKíDIïBFñ>Bõ@â?@×?<Ñ=;µ@.µ@.µ@.´?-´?-³@-²?-°?-­@,ªA.¦A-¢B,A*›A)˜@*—A*’?/’?/’?/‘>,‘>,’<+’<+’<+”?+”?+”=*”=*”=*•>+–?+—@,”?:•>7—=4Ÿ?1©B3³D3¼D3¿D4º?/¶@2­E8žH;‡H9mB2T8*D3#:659549547326216005//50-72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-3--5,-4+,4*+4(*7(+=.1E69LUPdUPdUPd0/-0/-10.10.40-51.62/72.83/83/83/:3-:3-:3-:3-:3-91.91.80-80-80-80-91.91.80-80-80-80-80-80-80-80-6.+6.+5-*5-*5-*4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*/,%0-&0-&1.'2/(30)41*41*63,63,74-74-85.96/:70:70@:.A;/C=1E?3H@3IA4JB5JC3LC4LC4KB3MA1MA1NB2OC3PD4P>0U?1^A3jC4xD6†D4“D5žB3¨B3°@2¶@4¼B7ÂC:ÄE<ÆF=ÇG>èAKèAIèCIêDHíDGïBDó@D÷>Cø;Aø9@ö9?ð.‘>.‘>,=+’<+’<+”>-“>*“>*”=*”=*•>+–?,—@-“@8•>5˜>3Ÿ?1«A3µD4½D3ÁC4¼A2¸B6­E8œI;…G:kA3S9*D4$<66;55:4493382271161.61.72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-2.-3--5,-4*+4(*5)+<-0C47I:=h<;vDC†JI’LJST§`h¨k{rŽ‘{¢„°|†»y†½lv«[\ŒQHsQBkOFaOFaNI_RN_[Yfnotƒ‡ˆ”™•™ž—š ”™‘ƒ~ojk[]\JVUCXQaXQaXQa/.,/.,0/-10.40-40-51.51.72.72.72.92,92,92,92,92,91.80-7/,7/,7/,7/,80-91.80-80-80-80-80-80-80-80-6.+5-*5-*5-*4,)4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*1.'1.'2/(30)30)41*41*52+63,63,63,74-85.96/96/:70?9-@:.B<0D>2G?4H@3H@3H@3I@1I@1I@1K?1K?/L@0MA1NB2MA1QA2YB2dC2qC3|C2‰A2“@0™<+ :+©;,¯>0¶@4¼C8¿F=ÀG>à?Eá@FãBGæCFêDFðCEõADù?Dú;@û:?÷:@ñ=@è@@ÜA=Ñ@;É>7³@-³@-³@-²?,²?,²?-¯>,®?,ª?-©@-¥@,¡A+A,˜@*—A*–@)’?/‘>.‘>.‘>.=+=+=+’<+“=,“=,’<+’=)“>*“>*”?+•@,”B7–?5š>3£>2­A4¹C5¿D5ÂC4ÂD6ºF9¯I=›I=‚F;gA4P:,B6&=77=77<66:4493383072/72/62/62/62/52-52-41,41,41,,1-,1-.0-.0-//-//-0/-2.-5//4..5,-4*+4*+9-/>24C79_83l?:|E@ˆIB’NK›Z^œft”n‡Œwž€~¯zƒºs¹dm¤UU‰NEtO?lMBbPEcQHcMH^NK\[[estx…‰ˆ‡Œ†Š†…†Š|xzlghXZ[KVTEZT`ZT`ZT`.-+/.,/.,0/-10.40-40-40-51.61-61-61-81+81+81+81+50-50-4/,4/,4/,4/,50-50-61.61.61.61.61.61.61.61.3.+3.+3.+2-*2-*2-*1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,30+30+30+41,41,52-52-52-52-52-63.74/850850961961>8,?9-@:.B<0E=2E=2F>1F>1G=1G>/F=.I=/I=/J>0L@0L@0JD4NE4TD4^D3hE2sB1~A/‡>-Œ9'”9'9)£<-¬@3³E8·I<ºJ>Ù@CÚACÝCEâDEçCDîACô@Cø>Aü;@û:?÷:>ð=@åA?ÚB=ËA7Ã>5°@,°@,°@,°?-¯>,¯>,®?,¬>-ª?-¦?,£@-Ÿ@,œ@+˜@*–@)”@(‘>.‘>.‘>.=-=-=-<*<*=+=+<*<*=+“=,”>-”>-”B6–?5›?2¦@2²B4½C6ÂB5ÄB5ÄF:½H>­K@˜J@|F:aA4K;.?9+@86@86?75>64:5294183073062/62/62/32.32-21,21,21,-2.-2.-2./1./1.00.00.10.5106005//5,-4+,6,-:01>45W6-b<3qA7}D9„H@ŒRQŽ_i‹iƒs˜|z¬u~·myµ^g¢RQŠMDyM?rN@dPEgQFfLC^GBVNLZ^^fjnquzvx}vz€vwzokoa`bUWYKTUG]V^]V^]V^.-+.-+.-+/.,0/-10.3/,40-3/,4/+4/+4/+4/+6/)6/)6/)4/,4/,3.+3.+3.+3.+4/,4/,50-50-50-50-50-50-50-50-3.+3.+2-*2-*2-*1,)1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,41,41,41,41,41,52-52-52-52-52-63.63.74/850961961<5+=6,?8.@9/B:/C;0C;0C;.D:.D:.D:.G;-H<.I=/J>0K?1GH6KH7PG6XG5aF3jD1uB/|?,‚;)‹:'’;(š=,£B2«G7±K<´M>ÒDBÔDCØDBÝEBâC@ê@@ð>>÷:>û:=ú9<õ;>í?>áB>ÓC:ÅA5º?0¯@-®?,®?,®?,­>+­>+¬>-ª?-¨?,¤?-¢?,ž?+š?*–?+”?*“>)?.?.>->->-Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,<,=-‘>.‘>.”B4—A4@1ª@3¶B5ÁC7ÆA8Å@7ÁB;¸G?©KCJ@uE;Y>3C9-78*@86@86?75>64=53:5294173062/43/43/32.23.12-12,12,,2.-2.-2.-2./1./1.00.00.3205105104..2,,4+,7./901P5*Y9,e>/n@1tB7|KGƒYcƒg~p—xx¬s{¹js¶]e¦TT”OG‚LAyPAjPAhMAeJA`GBYHEXKKWMPU^bc`fbcha`f\Z`TWZOUYKWYL`WZ`WZ`WZ,,,,,,---.-+/.,0/-10.3/,2.+2.+3.*3.*3.*3.*3.*3.*3.+3.+2-*1,)1,)2-*3.+3.+3.+3.+3.+3.+3.+3.+3.+3.+2-*2-*2-*2-*1,)1,)1,)0+(3.+3.+3.+3.+3.+3.+3.+3.+41,41,41,41,41,41,41,41,41,52-52-63.74/850850850;4*<5+=6,>7-@7.A8/A9.A9.C9/C9-C9-F:.G;/H<.J>0K?1FI8GH6MH5TG6[F3dC0lA.t?-{<*‚;)Š;*“=,šA1£F5ªJ:­M=ÉE@ËFAÑFAÖE@ÞC?å@>í==ó9<ø:<÷9;ó;=ë?=ÝB=ÌD8¼A2±>,«@,«@,¬?+¬>-¬>-©>,©>,¨>.¥>-¢?, ?,›>,—?+•>*“>)‘?)>->->->-Ž=,Ž=,Ž=,<+Ž=,<+‹<+‹<+‹<+Œ=.>/Ž?0’C2—A2 @2­A5»B9ÃC:Ç@:Å@9»@9³H@¥NGNEoG=R@4?;039-A75A75@64>63<4194083/74/63.43.34/23.13.02-02-02--3/-3/-3/.3/.3/02/02/11/11/32032040/2.-1-,4..5//H4)M5)X8+a<,f>2nGBzYb‚lƒ€uŸ{|´u|Àmu¾bi±[[¡SLLBQAnN?jI=cH>`HB^FCX@BO2K?3DG6EF6KE5PD4VC2^C2e@.m>,v=,|;)ƒ:)Š;*“=.›B2¢F7¦I:¿D<ÂF>ÇG>ÏF>ØE>âC?ì@>ó<>õ9:ó9:ï;<å@<×B;ÆD6´A/¨=)©@-©@-©@-¨?,¨?,¨>.§=-¥>-£>, ?.ž?-š?,—>,“>*‘?*>)>->->-Œ=,Œ=,Œ=,‹<-‹<-‹<-‹<-‰<,‰<,Š=-‹=0‹=0Œ>1‘D2–C1¡A3®B6¼C:ÅA<ÇB=ÃB=»EA³PJ¥XPŽZOqSIVI@BD97A6A83@72?61=60<4194083/63.43.43.34.13.13.02-.3-.3--3/-3/-3/.3/.3/.3/02/02/00.11/22021/0/-/.,2.-3/.?0)C1'K3'T8,Z<2dGCw]hƒsˆ­„„À|ƒËszÈkq¿ed°VSšJC‡N>kK5.>5.>5.>5,B8/B8/C9/E8/G:1I<3J=4K?3EC6FB6IC5NB4TA3\@2b>0h=-q<.w9*}8)…7*Œ:,•=/›B2 D5µE9¸F;ÀG<ÈH=ÒH>ßF@èC?ð@@î:9î:9é=;àA;ÑD:¾E4¬A-¢?(¦A-¦A-¥@.¥@.¦?.¥>-¤?-¤>/¢>.Ÿ@.œ?.˜?-•>+‘?*>)>+>->->-Œ=,Œ=.Š=-Š=-Š=-Š1‹?2‘D2–C1¢B4®B6¼C;ÄC>ÄC>¾D?»PJ²[T¥e\‘f]s_TYUJFNC>KA@70@72>71=6094.83-63,63.43.34.34.13.13..3-.3-.3--3/-3/-3/.3/.3/.3/.3/02/.0-00.22022000.0/-0/-10.8,,;,)B1*K7.S<4^IHtbn‡z–Џ‹Ê‚ˆÒy€ÐrwÈik¸XV¡GD‹I^C@[ABV>DP>EMGQSKWUQ^WU`XS_UR^TT^SV`UaZHaZHaZH,-/,-/------------.-+.-+/.,/.,1-*0,)0,)0,)/+(0+'/+*/+*/+*/+*/+*/+*/+*0,+/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+1-,1-,2.-1-,1-,1-,1-,1-,1-,1-,1-,0,)1-*2.+3/,3/,3/,3/,3/,3/,3/,3/,3/,40-51.62/73081+92,:3-;4.=4/>5.>5.>5.?4.?5,@6-C6.D7.F90G:1H;2F?5H@5J@6N@5R>3W<1\:0a7+k9.t8-|8+…9,;/“=0˜?1›?2¨@3¬B5´D8¾E:ÊG=ÕF>ßD?çB>ë?=íA?çD?ÜE>ÉC8¶C1§B.¡B,¢A.¡@-¢?,¢?,¡=-¡=-¢>. ?.œ<,š=,˜=+•>-“=,=+Ž=*Œ>*‹<+‹<+‹<+‰<,‰<,‰<,‡;-‡;-‰=/†½F@¾C>¾DA»KG·XR¯f]£qfth|rfik^S_SCSHQJBLE=D=5<8/95,74-63,33+43.34.23-13.02--2,,1+,1+-2.-2.-2.-2.-2.-2./1./1.02/02/11/11/11/11/11/11/5*2;/3A32C4/J;6]OOymy‹…Ÿ’‘½”–Ӕ݂‰×tzÈjn¸_b©YZPHmHBdA>]>>X?AVBHVLU^U`bbqnn}xv†|p€ulyoguh_k_T`Ta[Eb\Fc]G,-/,-/,-/,-/---------.-+/.,.-+.-+0,)/+(/+(/+(/+(.*).*).*).*)/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+0,+1-,1-,1-,1-,1-,1-,1-,1-,1-,1-,0,)0,)1-*2.+3/,3/,2.+2.+2.+2.+2.+2.+3/,40-51.62/80-91.:2/;30=4/>50>50=4-?4.?4.?4.B5-C6.E80G:2H;3H>5J=5L=6O>6Q=4V;2Z90_7/h8.p7.y6-‚8-‰9.’;1–<1š>1¢@3¦A5ªB5³E8¾E:ÉF<ÔE=ÜC=âC?ãD@ßF@ÕF>ÄF8±C2£B/›C-ŸB0 A/Ÿ@.ž?-ž?-Ÿ>-ž>.ž>.š=,™=.–=-“=,=+>-Œ=,‹>,Š=+Š=+‰<,‰<,‰<,‡;-‡;-…<-†4†@6‡A7ˆB8‘H7•F7£G:±I@¹HB¹FAºJFµTM²dZªreŸ~op~|mlteYgZJZOPLAKI=EC7@>2=:1:7.44*11)23+23-12,/1,/1,.0+.0+.0-/1./1./1./1./1./1./1./1.02/11/11/11/11/11/11/11/5*:9-9<15?53H?:^VTxszŠˆž‘“º”—Εׄ‹ÓxÆpyºkt¯en¥__yXZsSUjRWjU]j\gmguvr‚v‡€‘‡ƒ•‰}v†yp€sfteXfW_YA`ZBb\D,-/,-/,-/,-/,-/---------.-+.-+.-+-,*/+(.*'.*'.*'.*+.*+.*+.*+-)*-)*-)*-)*/+,/+,/+,/+,/+,/+,/+,/+,.*+.*+/+,/+,/+,0,-0,-0,-0,-0,-0,-1-.1-.1-.1-.1-.0,+0,+1-,2.-2.-2.-2.-1-,1-,1-,1-,1-,2.-3/.40/51080-91.:2/;30=31=31=4/=4/?40?4.?4.A4.C60D7/F91G:2H;5J;6K<7N=6P;6S:5V72[60c60k6.t5,}7/‡9/Ž:0”<0˜<1œ@3ž@4¢@3§A3±C6¼C8ÇD:ÎC<ÖF>ÚG@×HBÍH?¾E:­C3ŸB0™B.B/œA.›@-›>-›>-›>-›>-œ?0˜<-–=-”=,“=.>-Œ=,Š=+Š=+‰<*‰<,‰<,‡;+‡;+…<-„;,ƒ;-„<0‚<0‚<2‚>3ƒ?4…A8†C:‡D;“K<–H; H>­JDµIF´KG´SM¯_V®rg¥qœz{Šwr€ocqbVdWPQCMN@HI;DD8@@4::055+/0(01)01+/0*/0+./*./*//-//-//-//-//-//-//-//-//-//-00.00.00.00.00.00.00.00.6*>6+;8.6;63HE>_^Yyz|Šœ“²’–ÃŽ•Ë„Æ}ˆ¾{‰¸|‹´|Œ°ˆ—yƒq~‡o|‚n}€o‚€yއƒ™‹¡”‘¨˜¦”ˆŠƒ–ƒ|{j{iXiW\V<^X>`Z@-.0-.0-.0-.0-.0-.0......---.-+-,*-,*,+).*'.*'.*',*++)*+)*+)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+-+,-+,-+,-+,.,-.,-.,-.,-/-./-./-./+*0,+1-,1-,1-,1-,0,+0,+0,+0,+0,+0,+1-,2.-3/.40/91/:20;31<42=31=31=31=31>3/>3/>3/@3-A4.C60D71E82G83H94I:5L:6M:6N94Q83T50^72e60o6/x8/ƒ90Š:/’;1•=1™?4™?4›?2@1¥A2­C5¸D7ÀD:ÉF<ÌG>ÌIAÄH>¶F:©C4B0—B.˜A.˜A.˜?-—>,™>,™=.™=.™=.•<,”<.“=.=-Ž<.Š=-Š=-ˆ<,ˆ;)ˆ;+‡;+‡;+„;,„;,ƒ;-‚:,;/€<1€<1>5ƒ@7ƒC:…E<†F=’M>•I<œH>¨IC¯LG¯PL¯\Tªj^§€o y˜š‚Žœƒ„–€z‹ym{lam_UYHQUDKO@EI:@D6;=057,13(01)/0*/.).-).-).-+/.,0/-/.,/.,/.,/.,/.,/.,/.,/.,0/-0/-0/-0/-0/-0/-0/-0/-8*A6):3-1961HJ=bfX{€y‰‘“Œ“£–²Œ”¸ƒ³±…™²¤¶ªµ•§§¤£Œ ž‡ž–‚™}˜‰œ‹ˆ£”°š–²›”­—‹£‹…›†’~k|iUfSXT7ZV9^Z=+/2+/2-.0-.0-.0-.0-.0...------.-+-,*-,*,+),+),+),*+,*+,*++)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*++)*+)*+)*,*+-+,-+,.,-.,-/-./-./-./+*0,+0,+0,+0,+0,+/+*.*)/+*/+*/+*/+*0,+1-,3/.40/91/:20;31<42=32=32<20<20=20=2.=2.?1.@2/A4.B5/C60D63C84D95G96G96H94K84N51V72_60h70r7/}:1†<1=2>2˜?7—?5—?5—?3šA3£C5ªD6³E8ºE;¿F=ÀG>»F=°D8¤B5™@0–@/–A-–A-–?,•>+•<,•<,–=-–=/”<.’<-=-Ž<.‹<-‰<,ˆ<,ˆ<,‡;+†:*†:*†:*ƒ:+‚:+‚:,€:.;0€<1€=4?6‚B9ƒD;†G@‡HALA’H?˜HA¤KGªOLªWQªf]¥wh¡Œw˜›€’¥‰Š¤‡„ž…|’}t‚qlte\eRV_LMVCEL0-?1.@2/A30A30?61@72@93A96A96B94E74G51O61W6/a6/j8/u9.€0•>7•>5“?5’@4•B4™C4ŸC4¥D4ªB5²C8´E:±E;©C7 @4˜?1•?2“A,’?-“=,“=,“<+“<+”<.”<.“;-’E5:@29<134,22*1.)/+(/*'0**3*+4+,1++1++1++1++1++1++1++0,+1-,1-,1-,1-,1-,1-,1-,/.,;(;5(23+(56$CL-\hDt„`…”wŽ›‰’ž”Ÿšž–¥—•µ¡Æ¤¦Ð¨¥É¯¦Ê°§Ë¯¢Éª—¿‹³ˆ°‹³ŽŽ²Ž²¬Š„¢€€™{wŽrdx]MaHQQ5QQ5RR6,03,03,03,03./1./1./1./1/////////0/-/.,/.,.-+.-+/-..,-.,--+,,*++)*+)**()+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)**()*()*())'()'(+)*+)*,*+-+,.,-.,-/-./-./+*/+*/+*/+*/+*.*)-)(,('0,+0,+0,+0,+1-,2.-40/40/:12;23;23<34=32<21<21;10<1/<1/<1/=/,>0->0-?1.@2/;60;62;83<94=:5=:5?82A60F5.O4-W5+b6+n8,x:-<,„<.’:6‘<5=5Ž@4A4‘B3•B2™@0Ÿ?1¦@4ªB7ªB9¥@6?5—=2•?2‘@-’?-‘>,’<+‘;*‘;,“;-“;-‘;,<.;-‹<-‰;.‡;-„;,„;,…9)…9)…9)‚9*‚9*9+~8,}9,=1€=4€@7B9„E>…HCˆKFŠMHŒIAŽGA˜JF¢SOª\X«h`©{n£Žy—Ž©ˆ…¯‹«ˆ~£„€˜€‹w{nixacr[ZhQP]IIUACL;>D60-?1.?1.96/:729839839:4:94;83>71A2+I2*S2)^4(j6)s8*|:*~;+84:5=4Œ@3‹B3A1@/”>-˜<-Ÿ=0¥@4¦A7¢@7œ>4—=4•=3‘@-?,=+<*‘;*‘;,‘;,’<-‘;.<.;-Š;,ˆ:-‡;-„;,„;,…9)…9)‚9(‚9*9*€8*~8,}9,€>2?5€@7‚C<ƒG?†IDˆMGŠOIŒICHD˜MJ¥UT¬a^­ng«s¤•€–¡ƒŠ¬‰‚°‹|«‡|£„™y‚ql{dgv__nWXeQP\HIRAAG9=@579.66.41,1,)1)'2()3)*4*+2)*2)*2)*2)*2)*2)*2)*0**1++1++1++0,+0,+0,+0,+0,+:&27(+4."47=HRb1l~J€’b‰™rŽ|Ÿ‚ŠŸ~Ч{·€˜Æ…œÎ…œÉ¢šÉŸ™Èž”׉¸Š®€‚°‹¶ˆ‚¬~ˆ¯ƒ‡ª€~œvuml„dZnRG[?IL/GJ-DG*/0*/0*/0*01+01+01+21,21,32-63.63.63.52-50,4/+4/+8.,7/,6.+5-+4,*2-*1++0,-0,-.,/--/-,1,+0*+/)*.()./(0/(//(//(//(//)-.)-.*+/+,-,*-,(.-).-)-.(./)./)--/--/---.../-.0/-2.+3.+2-)4,)5.(7.)8/(;0*;1(<2)<5+=4+>5.>5.>5.=4-<3.<1-=2.<1-<1/;0.=/.>0/>0/?11H-&C1';5)2:++=-(=.-;.45-?-+H()R%(X((Z.+Z8.[A2\G6wC-{B.„C1A3’?1•;0–:/”8+“;-‘>.‘B1‘D0‘D0B.?,<*Ÿ63›83”:2Œ<1…@1B0|A/|A/‚C2„A1ˆ>1‰=0‰;/ˆ:.‡9-‡9-v:/|@5u=0n9)s@/s@/t<+{@0{<-ƒ?4ˆD9‹H?ˆLA„NBQC€RC—HK•TRd]…ue{…lw’sz|€£ƒ‰¦ˆŽ¥‰’¤Œ‘¥Œ‡¤ˆy¢‚kŸ{awhŽea†]\zV[sS]mR[cLVTEPH=J;6G53B,/=&,:#+:#-9#/8".#/-#-,$-,&*+))+-(.1'/2'/4'06&14'14'13'32(32(30(3.)-0,-0,)//'=>0WZErx\‹gœs‹žpŒ¢qŒ§r‹¨r‰ªs³{›¾†£¿Ž ¾Œ›¹‡’²€‹­{†ªz„ª{…ª~„§}…¥€€ž|z“vr‰oi{e[jWLZIKO@CG8>B3/0*01+01+01+12,12,21,32-43.63.74/74/63.61-50,50,7/,7/,6.+6.,5-+2-*1++0,+0,-/-./-0--/-,1+*/)*.()-/(//(//(//(//)-/)-.*+.*+/+*-,*.-).-)/.*./)./)./)..0....../-./.,/.,1-*3.+3.*5.(6/)8/(90);0*<2)=3*>5,>5,>5.>5.>5.=4-<3,=2.=2.<1-;0.;0.;0.=/.>0/?10F/'D0)A3*=4+96-85.83-<1-?-+D*)K)(P*'U.)[4-_:1c?3s@+xA-€A0‰?2‘?4”;3”:1“;19.‹<-Š>.ŠA0‹B1B/ŽA/@/š93—:3’;2‹=1„?0‚@0@/?/„A1†>0‰=0‰;/‡;.„:-‚:,‚:,w9.x<1s9-n9)r?.s>.q9*u:,}=1„@5‰E:‹H?‰K@†MB„PCQC›DJ›QR–d]vfƒ‡p}”w~ ƒ¦…ˆ§ˆŽ§Š’¦‹“¥Œ£‰‚Ÿƒwœ}o˜xa•g\`VƒZU}XWyXWpSPbJKVECI;@A998340-0,+/+,.)--(,*,+)+***,+),-(,/)-2(03(03(02(02(10)1/*1-*1,+3,+32-12./0,)--%9:,TWBox[€‹i‡–o†™l†žnˆ£p†¤p„¥pŠ­w“¶€›¹‡˜¶„“³Œ®{†«xƒ§w‚¨yƒ¨|ƒ¦|„¤{x’uqˆnh{eYjWL[HGK<@D5:>/12,12,12,12,23-23-43.43.54/74/85085085083/72.61-80-80-7/,6.,6.,3.+2,,1-,1-./-.0.1..0--/,+0+*/*).1'//(//(//)-/)-/)-.*+.*+0,+0,+/.*/.*/.*0/*/0*/0*/////////0./0/-1-,1-*2-)4/+70*90+:1*<1+=3*>4+?5,?6-?6-@7.@70?6/>5.=4->3/=2.<1-;0.;0.;0.;0.<1/=20C2*E0+H/+L,-N+/M*.J*/E+.A-,@.*@/(C/(M/'Y0*d1-j30i;+o;-w;0=4‰<4Ž;5Ž94:4‹;2‡=2†>2…@1†A2‰A3ŒB5C6‘=2=1Œ>1Š>0†>/…=.…=.†=.ˆ<.‰;.ˆ:-‡9,„;,€;+~=+z=*}=3z<1v:/u;-x@1x@1v<.v;-?3„B6ŠF=‹H?ŠJA‡KA‡NC†PDDHQQšc^’ug‰„n‘t~}€¥ƒ„©‡ˆª‰©Œ“§Œ‘£‰‹ƒ„˜€”{a›k[•eXaV‰`W…`W]QtVMiPC[E=RA6F9/<2*5-&1+%.)$-(1&*1&*1&*1&*1&*1(-2).1+//*0-+0,+0+,0),1(-1&.1&.14.24.0.*'**"66*PUAmv[~‰i€k~“h™jƒŸn€ n~ m€¥q‡¬xŽ®|‹­zˆªw„©v§t€¦u¦w€¥y¤y€¢}}›yw’sp‡mh{eYkUL[HEG:=?28:-23-23-34.34.34.45/54/54/650961961:72:72:51940940:2/91.91.80-7/-4/,4/,3/.3/.3/01/01/00.1..0--/,,.2).2).2).0*.0*,0*,0*,/+*1-,1-*0/+0/+10+10+10+10+11111100010.10.2.+2.+3.*91.92,;2+<3,>4+@6-@6-A7.A8/A8/B90A8/A81@70>5.?4.=2.=2.<1-;0.;0.<1/=20=20?5,E2.O-.W(0]#/\"0W#/L'.C/.:3-55);5)E1(U.'c+*l*+e;/j;1s=3}<6…;8‰;9Š;7ˆ:6‰>9†?9…B9ƒC9…B9†B9‡A9‰@7†B/†B/‡@.‡@.‡>-ˆ<,‰:+‹9+‹8*‹8*ˆ9*…9)€<)z=(w?(t@(ƒ=3{7,x8,z3/>3/=2.=2.=20=20>31>31>7/C41O/2Y*2_%3`#2Y%1N+1B3077-39+68*?5)N1)]-)e+)c;3h<3r=7z=:‚<<†<=‡;;…;:‚;9>8€A:C;‚C<ƒB<…@9„?8E/D/C.ƒ@-†=,‰<,‹9+Œ9+Œ6)Š7)†9)‚;)~=)w?(sA(qB(…6/|/'8/ƒ?4w5)s5*}A6}C7E9G<ƒI>„J?…K@‡LDŠOGŒSJycL~hSoYu]}bˆi„•u‚ |¥~|©€~¬…­†€ª„¥€|ž}{˜yn}ŽlyŒlwŒkwŒmt‰joƒgl~dbqZ[hTSZHIK=B@4=6,8/&5+":&(8%'6&'2&&0(&-)(++)).*'+*&,*&,*'+*'+,)*,**,**,-#$2*(50,85,BC5UZFfpWn}^tˆcqŠbt‘ex˜iw›ks™hs›iwŸmz¢mx lwŸkv¡ly£q{¥u{¥w|£wxžuzœww–tqŽom†hd{_WkPJ^CFB9>:195,560560671671782782872872983<94=:5>;6>;6?:6>95>95?74?74>63=52;62:5294194184184195484373243132021/6-.6-.6-.6-.6-.4..4/,4/,40-40-40-52-32-32-43.43.431431542540841850940:5/=60?6/@7.B8/C9/F90G:1H;2F<3F<3F<3F<3E;2C90B71A60@5/@51>50=4/=4/>42?53?53=82A64I35Q16V.6U-5R/5J22A62::08<.9;-?9)H6*P4)U3)]2+c4.k62t76}77‚89ƒ7978}75{:6|=8{?7@9ƒ@:…@;†?;|E0}D0€C0‚A/…=.‡;-‰:-ˆ9,‡8+…9+‚:+<+{>+x?+uA+tB+‹2,‹2,¡LE§XQŠA8|90‚F;€J>yH:zJ<{M@|NA~NB‚PE‡UJYN_uNgwRtzX€{^Š|b“i›s›—|™zˆ |ƒ¨¬ƒ|¬‚x¨~t£yq vŠpˆo†nƒŽp€p}px‹ms‡kk~bgu\_iQWZGPM0%:,+7,*5+)1,(-,'+.').((/().(+-*,,*/+*3)*6',7&,9&,2)$<3,E>4JF:QR@]bLgqVizXmƒ]j…\j‰]p‘bq•eo•do—eršhu krhq›itžlx¢rz¤vy¢vyŸvvštw™tu”rokj…fc|^UlOJ^BHA9@91;4,671782782782893893983:94:94=:5>;6?<7?<7@;7@;7@;7B:7B:7A96@85=84=84<73<73<74<74<74;74:6395284173080.80.80.80.80.80.61.61.61-52-52-52-63.63.54/54/540540651952:72=84=82@93?80A8/C90D:0E;1H;2I=1I=1H>4H>4H>4G=4F<3D:1B8/A60B71@70@72?61?61@72@72A83=84@85B86D97E:8G96G96E:4C90B90B:/B:-D;,F:*H;*H;*].&b0)n3/x73ƒ98‰;;Š<<‰>;‹A>†A<?6}=4~;3‚;5ˆ=8Œ>:~C3€B3€A2ƒ?2ƒ=1„<0ƒ;/;/;.|=.{=.|>/|>/|>/}>/}>/—.*£;8ÎkfÙ~y­ZTŒC<ˆLAN@tJ:qM=pQ?qR@tSB{VD‚[J‰_OUOe€Uz~[‘y_¥ra³of»rk»xo¶…vªz ›~•£€Œ¦ƒ¦~}¢yyŸvŒr‹rˆ‘r„“r€•t|–sv”ps’pl‹ig„eby\\lQU_GMP;ED0A<)>3-<3,92*41(01).1(+1'+0)/0*2/*6,*:*+@'+D%+G$+H#+A7+LC4WP@[XE`bLgmQiwVj{Wl‚[g‚Wf†WjŽ^n”an”an–bršfržko›hnšiqœnw¡sy¢vxžuu›ts—su—ts’pn‹li„cb{[TmMH`@MD=E<5@707827828938938939:4:94:94;:5>;6?<7@=8@=8A<8A<8A<8A<8A<8A<8@;7?:6>95>95=84>95>95>95>95=84<73:51940:0.:0.:0.91.91.91.91.72.61-61-63.63.63.74/74/74/540651961;83<94?:4@;5B;3A8/B90C9/E;1H<0I=1J>2K=2K>5K>5J=4J=4F<3E;2C90B8/B92B92A81@72@72@93A:4A:4?74>95=<7>?7?@8@@6D@5J=4J70N5.Q6-Q6+O8*M:+I<)H=)l3(r6,~;3‰@:•DA›HDŸJGŸLH QJ—MDD;„;2‚8-…7-Œ91;4…?7…?7†=6…<5ƒ=5€=4|>3y?3vA3uA3uA3y?3}=3ƒ:3‡83Š73Ÿ%$´<;í{zþ•’Åhc–G@‰K@wI:mNfW@jX@r\E}aL„eQj{O{{U™w\´l`Ì^_ÚR\áM[àO^êmuÜxxÎ…~¿€²–€§—}ž•x˜“u•Žr”r‘‘u”u‡–u—s{–sx–rq‘lp‹hiadtW]gLVX@LJ3GB.L40H3.D3,?2*:1(70&40'40'81):/+?-+C++H(+M%-O$-Q#-PE1[P:d^FgfJilOnuTm{Wl~Vk„Zg„Vg‡Vm]p•ap—br™dvhrœlo™km—ip™mwtyŸxw›wt–us•tu”tsqoŠki„cb{[TmMGa>SJCKB;F=69:49:49:49:49:4:;5=<7=<7=<7?<7@=8@=8A>9C>:D?;D?;E@8C>8D=7B;5B;5B;5B;5B;5B;5A:4A:4A83A83A83@72@72>71>71>71<71<71;60:5/85085074/74/761961961:72<71=82A:2B;1C:1E;1F<2J>2K?3L@2N@3N@3M@7M@7L?6K>5I<3F<2E;2E;2B90A81A81?80?80?82@93@93<5/LE?IB:E<5OB:K:2J3+\>6Z5-`5.`4+^/'\0%b8,g@1gB2‹I;G;–I?žLAŸF>›>7š=6žD;¥ND£QE¨VH«YK£PBš@5˜:0ž=4’9;9:Œ67†54„96ƒ@:{@8o?3oC6lB4m?2u:274Œ35’-3–(1ÏEEèbaÅEDÍWUáyv«VO†F<‚WGlS=f\CedFgfHgbEm_DyeL†nVŽdK­p]ÍphÞW]å8Kð(Dü&Hþ+Lþd02b22\31L)'D'#I2,J70F5.E2,E0+H0.I-,I)*O+-V24VK/`W:f_BgdEkoLu}Xu„]oWj„WlˆXnŽ]q“`s•bu˜bušdv›eq–ks˜ms˜oq•os•rw™xz™zy–zx•yqŽrm‡jj„ghƒdazZTnKIc@TKBSJAPG>9:49:49:49:4:;5;<6>=8?>9>=8@=8A>9A>9B?:D?;D?;D?;FA;E@:E@:E@:D?9D?9E>8E>8E>8E>6E>6D=5C<4D;4D;4C:3B92B92B92B92A81A81@91@93>71<71;60;60:5/85.74-74-96196/96/;60<8/>:1A:0C:1C;0E;1G=1J>0L@2M?2NA1NA1N@5N@5M?6J=4I<3H;2E;1E;2C:1B90A81@91@91@91?;2?;2C:3G81I0,V..j68u99{;;†ECƒD?„H@…I?†G>ŽJA›NH£PL¥MK’E3”C2šB4 B6 >36-7+¡<0£C5›@.™@. E3¦F6©E5¯H9¸N@´KR¯GN¥@F™9=‘8:Š?<€A:r@5k?2uK=€NC@:‚,-“(0µ8FÒK\àJIáMMÌ>=Ã>?Ò_\µXQ„@5€UDvbJa]@Z_?ekIonOshJ{fK†kPÌ]VÚ][êSZó7SD=]P.dY9ga?ifCnrMz‚[z‰bt†^r‰]oŠ]oŒ^qŽ^u’bw•cw•cw•cr’mw—rz˜vy–w~˜}ƒ„…‡ƒ›…™ƒz’|q‰ql„jhc`yYTnKJdAWQEVPDUOC8938938939:4;<6<=7?>9@?:@?:B?:C@;C@;C@;D?;D?;D?;FA;FA;FA;E@:E@:G@:G@8F?7IB:HA9H?8G>5F=4E<3E<3D;2D:1D:1D:1C:1D;2D;4D;4C<4?80?80<71;60:5/:5/94.94.96/96/96/;7.<8/@9/A:0C;0E;1F<0I=/K?1M@0M@0NA1M@0N@5M?4L>3K=2I<3H;2E;1D:0C:1C:1A:0A:2?;2@<3@<3A=4SE–I?•MA›OB¬RJÃSRÏNSÒENœE2B0 @0¥?1¦:-¥7*¦8+§=/¬E4¡>+˜7$:%¥>+®@/³B2¹C5§/8±9B¹DL¾KR¸NRªLL“B>}:1u;/q9,s5*2-›47º8@?:A@;BA4G=3F<2E;1D:0D:0E;1E;1D;2E<3E<3E<3@91?80?80<71;60:5/:5/:5/96/96-;7.;7.=9.@9/C;0D<1F<0F=.J>0L?/M@0M@0O?/O?/O>4O>4N=3K=2J<1G:1G:1D:0D;2D;2B;1B;1@<3A=4A>5A>5Q9/X+&‰:?ÅP`ãOeñOfíPcÐGO¢20”:/Ž?.–C3®F=ËFGÞ>Hã2B§H6§F5©B3®@3°?1²>1³B4´D6²G5«B/£<)¤;&©<(­:(¯5&®3$¸7<»8>½7>½6=¿9@?:BA4G=1H<0G;/E;/E;/E;/E;1E;1D<1D;2D;2@9/@91@91?82<71;60;60:5/;7.;7.;7.<8-?8.A;/C;0D4N=3N=3J<1I;0G;/F90D:0D<1D;2B;1@<1A=2A>5B?6C@7_4-t42¯KSâYiðH_ð:Qá2C½#+¬/)š9(;&•=)¬@3ÈA=Ý:?ä0;¨D4¨B3«?2®>2´?5¹C7½G;»J<¬>/ª?-¨=+¨:)ª9'²:*¹;-¼ÃLDËTLÑTNÙKJÝ>Cã3>è.<Ù5+Û7.Ò0+Ò94Á82µ@9µ[P”UDxO9~dI„lPbF]F®eTÍqdÛsjübÿ?eÿAiÿBkÿBmÿAmÿ@oÿ@oÿ@qÿAqÿBnÿ=hÿEmÿJpöGhíMièZrÛbs½YcŒ@D]($M-"PC2PR=CO76H.WH1eYCujT€{gŽy˜œ‹”Œ‡”ƒ~‰—ˆŽœŒ™ˆ‡’‚Š“‚—žŽ¤¨—²¶§¸¼®¿Á¶ÀÁ¹ÂþÅÅÃÃÃþ¾¾²´³¢©¢—Žy‡vh{e\sWTmONiHTYBUZCW\E560560671782893:;5=<7>=8@?:B?:C@;DAGB>GD=GD=HC=ID>IE0I=/G>/G>/F<0F<0E;/E;1D<1C:1B90A:2@91@91?82<71;60;60;7.;7.;7,<8-?8.A;/D0K?/M@0NA0P@0O?/O@-P>2N>1M<2L;1I;0H:/F90C9/C;0B<0B;1@<1A=2A?3B@4C@7t50–FEÆY_ßUbã@Qä5FÚ0;À*+¯1%Ÿ9#•;!”: ¡=&·=.Æ90Ê2- :,¢:-¥9-¨6,°91¸A9»E;·E:­?2«@0§<,¤6'ª6)·=0ÄD9ÊG=¾9*Î@4áD=ïA@öDâ<@×?>ÎC>ÍJB×RMåZWéPRìELï;Gõ6F÷2Dø/Bû1Gÿ6Lø:Tø:Tø:Tû:Wþ=\ÿ?aÿBeÿDiûhú?júAm÷@nõ?oò>mï=mÿFnÿ:aÿ>dÿInÿJløMmòSoæXnëp‚Å_j˜ILt:6\6-O9+OD2SN:`PArdWˆ|p”Ž‚Ÿœ“¦§¡¡¦ ”˜”Ÿ›¨¤¦¯¬¦¬ª¤¦¥§§¥µ´°ÄÀ½ÍÉÀÒÍÇÕÐÌ×ÏÍÖÍÐ×ÎÓÑÊÑËÆÌ¿½À°²±˜Ÿ˜€Œ€m~k^u[VoQSlNU_DV`EWaF560560560560671893:94;:5=<7@=8A>9C@;DAHC?HC?GD=HE>ID>ID>JF=LE=MF2G=1F<0D<1D<1C:1B;1A:2@91?82?82<71<71<8/<8-<8->7-@:.B:/D2B@4@@4+)¨JKÁSV¾=BÀ/6Ç.3Ä./»0)ª1 £9!›=!–=˜= ¡=#¥;#¦6"6- 8/¢5.¦3,®71·@:¹B<²@6±B7­A5¨7È`UÑq¤eSŽWC‡N:¡XGÊe[ãa_ëPTëBIùDKí@DÞ@?ÑB<ÅB8ÁB9ÌIAßPLìKPô@Kù9Hý7Hþ5Hø3Eö7G÷=K÷9R÷9Rø7Rú7Uý7Xÿ9]ÿHC?ID@HE>HE>ID>JE?JF=MF>MF2G=1E=2D<1C:1C:1A:2A:2@93?82<71<71<8-<8-<8-?8.@:.B:/D2??3@@4”67Á]_ÈZ[¯78®,,µ/,±,#°0#¯8$®B(©G* G'šF$šF$–C!”? Ÿ81£;2¦92¨50°:6¹B>¹D=±>7«<3¨<2¦»72»:Ê<$á:*ñ.(ÿ$&ÿ'ÿ'ÿ%ÿ%(ù,)ñ2*ë5*è3(è2'ê/&ì-%Ü=(Ñ2Þ>0Ñ5)Ê7/Â?7¯C9Çqd²m]–YF™VE¿i\ÝlfãSSë@Hù?Lï4¹6,½4.Î44ïBHø8Gÿ2Fÿ3Hÿ5Iú7GöYÿ=Xÿ:Wÿ6Wÿ5Yÿ5\ÿ6_ÿ7eÿ;kÿ:mÿ;oÿtû>vôEbýNkÿTqúIfð?\ÿRqÿfƒÿf€ô^wêbváky×s{Ärvªfe”ZV‰TN’€~¨™–¾°°Ä»¼ÆÁÅÈÇÍÅÈÑÀÄÏÆÌØÈËÚËÍÜÓÐáÚÖåäÜëêßïîáòòäãõççöçêóâèñàêïßêìÜéå×äÓÉÒþά©—y‡vi|f`w[\uWbqRapQ`oP201312423653875984984983;:5<<4==5??5AA7CC9EE9EE9HH@HH>HH3B90E<5C:5@85?74@86?67>56:44F85E76B87@78>:;<:=<<>==????A@,§B0©D2©D0©B/¨?,«>*­<*µ=-¾C4ÅF7À>0·3&Í6+Ì8,Ì:-Ì=/Ï=.Ô(Þ9%Ô4Ï4 Î9%Å8&¾6&Æ@4ÕQEÒIAÜMIïUUüVXýJPø9Aü4?ÿ9DäCHßCFÓAAÆ?;¹=3®=/ª?/ª@0¿Q@ÉQCÑLCØC=å??÷@Eÿ>Gÿ8CúGMúENûEQþESüARú=Sü>XÿCbÿGiÿBhùHH7H?8F=6C:5C<6A:4?74?74@85>95=84;63>3/=4/>42<74=98<;9=<:>=;@?;C@9G@6J@4L@0O@-P?+P>(=B,?A,E=0H92K63J46F35A57>=;8=69?5?A4C=-J9)^B4sRC¼K=¬;- 2#¡6&£:'8$ž9%£?(¡;%¦=(­@,³@-¶=,·9*¸6(¹5(¦;+¤:*£9)¥;+¦?.©B/«B/«@.­?.«:(±<+¿E6ÆH9Á?1¼8+½7+Ï5+Ï7,Î:.Ï;/Ó=/×;/ß8/ç4/ð0-õ--÷-+ò/+ê4)ß8(Ö;'Ï=&á:'Ù7"×8%Ô=*Ì;*Á5&Ã;/ÍG<ÐG?ÙJFèPOóPQôGKò;@÷:Aÿ?GàDGÜDCÓB?Å>8·;1¬;-ª<-©>.µF5ÅM?ÓNEÜGCã?@ñ>Bý>Fÿ>H÷DJ÷CLúDPÿFTýBSú=Sü>XÿBaÿFhÿCiü?iù@lùBpûGvüJzþL|ÿIxÿHtõKpðRsò]zö`{ùXwýMqÿCkÿAlóCjÝJgÉ^p®pugNI†‚v´”‡Ì²¥äÔÇëäÜèéäéêîéçòíáõöâûýàüÿâýÿçþÿìÿÿòþÿ÷üþúûþûöýúõü÷ôúôôøïðôëîñèëïæëäÞâÜÖØÊÆÅ²²°ž ›Ž“Œˆ…ˆ…–†‰€†}/.,0/-10.21/43/540762761:94::2<<4>>4@@6BB8CC9DD8IF=IG;JH;KJ8MJ7NL7NL7OL9KI:NKBTSQ_^dihxmm…lkŠihˆcYd[QZQGPJ@IH>FG>CC=A@::1>:1=90:3-94.;60=82=:3>;4?<5?<3C?4F@4I?3L@2O?0P?-Q>-P>*3@&7?'<=+A;-B8/A62>42;31=85B:7H94O2.[+)o-.Š:= EJª9+¢2$Ÿ1"¤9'¥<)ž7$8$¢<&¤;&¨=)±A-¶A/¹>.»<-¾:-À:.®>0¬<.©9+¨:+ª<+¬>-­>-¬=,²?-®9(¸>/ÊL=ÊH:¼6*º2&Å;0Ó5*Ô6+Ò8,Ô:.×;/Û9.â7/é2,ñ/-õ.+õ.+ñ0)ç2'Ý6&Ó8$Ì:#à7$Ü5#Û8'Û>-Ó=.Æ7)Å8.ËA7Ç<5Ì?8ÙEAåKIìIJëCCí?Að@CÜDC×C?ÏB;Â=4¶:.­9*ª;*«<+ª9)¿E8ÔNEÝIEâ?@ëXÿ@_ÿDfÿCiþDmÿFpÿIwÿK{ÿL|ýK{ÿCvÿGwÿJtúNtþZ|ÿa€ýUvòCdüHkÿRvÞ=\ÎH`Úz†µ}~\F;„r³‹Õ³§óÛÑúíåøóðøøú÷ôýôëüüêÿÿéÿÿëÿÿíÿÿòÿÿ÷ÿÿûÿÿýþÿþúÿýùÿûøÿøöþõöýòöûðôúïóðçêåßáÓÏξ½¹­®¨¢¥œ£™£—¤ªœŸ¥—œ¢”/.,/.,0/-10,21-32.54/650872991;;3==3??5AA7BB8CC9IE<0?=1@<0?<-A;+F?/H?.K?/M@/O?/P?/Q>/P=.<@)=?*?>,?<-?;0=:3;:5:94<94D95N43[*-o&--8¨3C¶7H§7)¥7&§9(ª?-¨?, 9&Ÿ9#¤;&¥:&«<)³>,¹@/½>/Â<0Å=/Ç=0¹@5¶=2²:,®8*¯9+°:,²:,²:*¶;,¹;-ÄB4ËE9Ç?3¾1'À2(Ê:1Ú3+Ø4*Ù7,Ú8-Ü8.ß7,æ3,ì1,ó0,õ.+õ.)ï0(æ1&Ú4$Ñ6 Ê8Ü/Ú0Ú4$Ý;,ØVßetû §Í‘]=2aP@©wlÑ¥œöÔËþêãÿôòÿþÿÿüÿùóÿüïÿÿïÿÿðÿÿòÿÿôÿÿ÷þÿûýÿüûÿýùÿüøÿúøÿù÷ÿö÷ÿôøÿôøþó÷öëïìãäÚÔÔÉź¹´³´¬±´©²µª¶¾³°¸­¬´©10,10,0/+0/+10,21,43.54/77/880991;;1==3??5AA7BB8KD:LF:OG:QJ:RK9SL9RM:QK=OKBVTUfdowx††¨»“ÃŽ‘ÆŠÀ‡‚¸{w©rlœid_[~UPnNJaJGXEBM?=B;7696196-86*86)581692891;;/><-?<+C<)D<'I>*J?+L?,M@/M@0M?2M?4L>3M?4K?3F<2B90=909:25<44>57<5>:1H3.\0/{48œ;D¯9E²2Aª<+ª<+«@.¬A/©@-¥<'¥<'©>*§8%­:'µ<+¼=.Á;/Å;.Ê<0Ì<1ÁA6¾>3º:/·7,·7,¸8+¸8+º8+»7+ÇA5ÍC8Å8.Á1&Æ3)Ë7-Í6-à2+ß3)á5+â6,ã5,ç4-ê2*ð/*ö/,ø.*ô/)ì0'ã1#Ù4!Î6É7Ú/Ù/Ù2"Ù5)Ù9-Ô:0Ö?6ØE=ÕF>Í@9Ç<5Ë@9ÖKDÙNGÐF<Å;1Å=1Ä<0ÀCí>EóBJûJTÿJYýFXúCYýB]ù@_ûBdþFjÿJsÿOxÿOzÿLyýIxÿGwÿRÿQ}ÿIqûImÿStÿVtøNiëD^äF]èYkÿ—¢ÿ¶¼î žˆKFd2)©jcÍ–ôÇÁÿãÞÿòðÿüýÿýÿú÷ÿý÷ÿÿöÿÿöÿÿøÿÿùÿÿüÿÿýýÿýúÿüøÿûøÿúøÿø÷ÿ÷øÿõ÷ÿôøÿôøýñóóéêäÜÚÖÑÍÍÊÃÉÉ¿É˾ËÍÀÇÑȾȿ·Á¸84163.52-30+30+41,52-63,85.96/:70<90>;2@=4B?6B?6KC8ME:PF:SJ9TK:UL;SL<=;:6;8396/267465672880<:-A<)D>(G?(I?&J?)IA,JA0IA4IA6HA9G@:R9?ž46§<*¨=+ª?-ª?-©>,©>*¬?+¯@-«8%²9(¹:+¿:+Ã9,É9.Î:0Ò;2É>7Æ;4Ã81Â8.Â8.Ã9/Â8.Ã6,Ä7-ÑC9Ò?5Ä0&Ã,#Ð7/Ö<4Î4,æ1*æ1*ç2)è3*ê3+í2+ð/*ó.(ø.*÷-)ò/)ì2&ã3$Ø5"Ï7 Ì7Ü5#Ù3#Ø2$Ö2&Õ5)Õ7,Õ;3Ö?8ìYRáRJÓHAÊD;ÉF<ÊJ?ÅG;½?3¼;(¼;(º;*¹:)·:(¸:+¼>0¿A3ÁA6Á<5Å<6ÏA?×EEÝGIãJMèMQëADì?EðCIúJTþN[üJZüF\üF]øA]ùBaýEiÿJpÿNwÿOzÿMxÿKxÿR{ÿR{þOvýOtÿVwÿ]{ÿSoîD^øUjîQd÷dtÿ’žÿ‹“òƒ‰Ç`c­KL²keÏŽˆñ¼¶ÿÞÙÿðìÿúúÿüþýûÿüûÿþûÿÿûÿÿûÿÿüÿÿûýÿûûÿûøÿûøÿüùÿûùÿûúÿøúÿöøÿòõÿðóûìïòææçÝÛߨÒÛ×ÎÝÛÏàÞÑàáÓÚãÞÏØÓÅÎÉ<94;8385052-41*41*52+63,74-85.96/;8/=:1?<3A>5B?6KA7MC7RF8UI9WK;WK;UL=SJASJK[Xcnl‚‚‚¨‘”Çš Þž§ì¡©ò¡¤óž í™›æ•˜ß”•Ö̈‰¿‚ƒ±zz rq‘fd|XWiPN\IGRFCJDBG=?K==G;:?;:8<92A;-D=*F@*F@(GA)GB.ED2CC7BC=AC@>BAG9HH,©>,ª?+­@,¯@-°?-°=*±8'¶8)½9*Ã9,È8-Ì8.Ò91Õ;3Î;4Í:3Ë81Ë81Ì92Í:2Ì70Ë6/Ó<3Õ>5Ò91Ì2*Ð3*Ù;2Ú<3Ó5,è0(é1)ì1*î1+ñ0+ò/)ô-(ö,(÷-)õ.)ñ0)ê2(â5%Ù6#Ò7!Í8 Õ8%Õ8%Õ5%Ñ4%Ò4(Ô6+Ô7.Ð7/ãNGèXPçZQØRIËH>ÃE9¼B5·?1¹<&¹<&¹<(¸;'¸9(º;*À>0Ä@4ÉD;Æ?9É@:ÑFCÕIHÖHG×IHÛJMìCFêADíDIöKSüQZýN]ûL]üJ`öD^÷DaùFfýIlÿNuÿOxÿOxÿNyðYzðWvóVuüYxÿ]{ÿZuûQkòI`ýWköUgêN\ö^kâKZçSaçSaåQ_¸jfÉ‚~窧ÿÓÑÿëèÿôòÿøùÿÿÿùýÿùüÿûüÿüüþüúûýùøüøõü÷ôÿú÷ÿûøÿüúÿûúÿøøÿòõýîñúëîðââëÝÝäÙÕâÙÒæßÕëçÛñîßóñâêóðÜåâÏØÕ@=6=:3:7074-52+52+52+63,74-74-96/;8/=:1?<3@=4A>5M@7OC7RF8WJ:XK:YL-C@-CB.BC3AE7>E=€UE’YFL7A+“A+«@,®A-®A-®A-°A.²A/²=+°7&µ7(¼8)Â8+È8-Í6-Ñ7/Õ8/Ù;2Ò73Ñ61Ñ61Ò72Ô94Ô94Õ81Ó6/ÞA:Ö8/Ñ3*Ø7/Þ=5Þ=5Û8/Ù6-ë0'ì0'ï0(ò/)õ.)ø-)ø+(ø+(ø-)ô/)ð1)é4)á5'Ù8&Ó8$Ï8#Í8$Î9%Î7$Ï6&Ð7)Ô8,Ó7+Î4*Ì3+ãNGôd\ë`YÔOFÂB9¸<2´:/·?&¸>&·=&¸;%º9&½9*Á;/Ä>3ÌC9ÊA9ÎE?ÕKHÓLIÎGDÌFEÐJIéFGæCDéDHòMSùRZùR\ùN^úOaõG^õGbøGdûIiÿNrÿRvÿRyÿRyå[uë\xõ`}ü_|øUpõMgùPgÿYnÿ[mÿbsóL]úSdøM_ÿRgüI_ýE]³d`¾tqÚš˜ûÈÅÿåãÿîëÿõôÿÿÿûÿÿùÿÿùÿÿúÿÿüþýýüúýùöýøõÿøõÿùöÿúøÿúùÿööþððøêêõåæìÜÝèÚÙæØÕèÞÕðèÝùóåþûêÿþíòûúâëêÔÝÜA>5@=4?<3=:1;8/96-74+63*52)52)63*74-:70=:3@=6B?8J@6OC7RF8VI9WJ9XK;ZL?[NHTIMXR`gd|}©’Ì—Ÿçž©ù¤°ÿª³ÿª³ÿ¬³ÿ«³þª±ùª®õ¨«î§«êŸ¡Ü™šÒÁ±ur¡he’]Z…XR~YP{YQxVOpOG_E?M?:@?;8@@6>>2@B5@F:>E=:C>9CB*®?,±@.³@.´?-¶=,¹;,º6'¿5(Ä6*Ë7-Ñ7-Ö8/Ú91Û81×84Ø95Ù:6Ú85Ø61Ø61Û83Ý:3æC<à=6Ú70ã@7þ[Rÿlcÿ]Tã@7é1'î2)ò1*ô/)õ*&÷'%ø(&ú*(ø-)ó0*í2)ã1%Ú0#Ó1"Ò5$Õ:(É=&É=&Ë=)Ï<*Ñ;,Ò9+Ô8,Ó6-Ú@8Ð71ÜGAôc^ãXQÉB<Å@9·3.´<#¶<$¹<&º<&½:(¿:)Ä<.Ç=2È>4ÌC;ÙPJßXTÓOJÁ@;¿@:ÊKEäFEäFEèJKïPTòQWïNVïKVñL\ùRdøOf÷Ke÷JfüMnÿRsÿRvÿPtê[wêZuðZuú[wÿ]xÿZsÿWnÿViÿctþVgÿ\mÿYlõDXùBXÿMeÿIb·nh­hcËŽ‹èµ²ùÑÏÿêéýïîúù÷øþüøÿÿøÿÿøÿþúþýþþüÿûøþöôþùõÿû÷ÿùöÿöôÿööÿõõöèèçרäÔÔÞÐÍãÖÐñçÝüôçÿøèÿüéÿÿí÷ÿÿèñðØáàC?4B>3A=2?;0=90;7.:6-95,73*73*73*83-:5/=82@;5B=7I?5LB6QE7UH8VI8YI9YK>ZMEUKLXP_ebyz¦‰É”œäš§ö ¯ÿ«´ÿ¬µÿ­·ÿ¯·ÿ¯·ÿ¯¶ü¯³ú¯²÷§ªí¢£ä˜˜ØŒŠÉ€~½uq®ie¢b^›cVŽbU‹]TƒWOtNHdFCTBAIAAA;=8@C9ß<7ß<7â=9æA=èC=éB<èA;ç@:èA9ä@7Ü8/Õ1'Ø6+ëI>þ\Qô?4î6,ê+#î)#ù,)ÿ./þ,-ø((ú0.õ4/ï7/ç6,Ü4)Ö2&Ó3%Ò5&Å='Ç<'É<(Ì;(Í:(Ï7)Ï6(Ð4(Õ8/Ï5-Õ<6åPJçSOÛLHÏA?º/,¹=%º>&»='½<'¾9(À8(Ã9,Ä:/È>4ËB:ÕOFÜWPÒQKÃD=¿B<ÆKDáIFáIFåMLëSRíTVëPVéNVìOZ÷VføUhùSiúRküRmÿSqÿStÿRsïNoøTvÿ\|ÿ^{ÿ[vÿUoýQgûReüUføQbÿZhÿZjôM^úRcÿWiôI\§ha™\W·€{Ù©¥ïÇÅýáÞùêçýøõøýùøÿÿ÷ÿÿöÿýùÿýÿÿýÿûûÿö÷üùòþùõþùõþöóÿ÷õÿõõøêéêÜÛäÖÓÝÐÊáÔÌïåÙüõåÿùçÿýéÿÿì÷ÿýèñîÙâßEA5EA6C?4A=2?;0=9.<8-;7.84+84+73*83-:5/=82?:4A<6G>5JB7ND8RF6TG6WG7YI:YKBWKKXP[b^wsuž…ŠÂ™Þ—¤ó¬ÿª´û¬¶ý®¸ÿ±¹ÿ²ºÿ´»ÿ³ºÿµ¹ÿ¯²ùª­ô££ë™—àŽŒÕ‚€Éxt¾qm·l`¢i]dY“^V‡VQyNKhEDV@@J76;?=>HBBKABN?BYFJmX_}fnt¤}¬§‚®¬}§´w ¾p—Âc…ÃRpÅE^ÔI\×EPÊ9<¾3,»7(¸;%³; ¯<*¯<*°;)³;*·<,»<-À<-Ä<.Ä6*Ë8.Ô<1Û>5á@8á>7à<3á:2Ü73Ù40Ø3/à93èA;ìE?êA<å<5ã<4Û4,Ø4*Û7-Ô2'Ì, Ö6*èH<÷I>ò@6ï4-ð-)÷+*ý+,ý+,ø*,ñ))ì/+è3,â5.Ü4+Ö2(Ô2'Ô2'Ç:&È;'Ê<(Î;)Ñ;*Ò:,Ô8+Ô8,Ñ4+Ø;4Õ:5Õ<7çONîXYÙEEÅ02¾=(¿<(¿<(¿:'Á9)À8*Á7*Á7,Æ>2ÇA6ÏJAØUKÑRIÄH>¿E:ÃH@ÚIDÙHCÝLGäSPåSSâPQâMQåNWòXdöZhý[pþZrýUoûQlýPnÿRpÿFmÿOvÿZ}ÿ[{ÿVqÿSkÿVkÿ[mûYhúYhü`mö`kî\fñenífmÚT[’cY}ND™lfØ’ß¹¶ñÓÑôàßþöôøú÷÷ÿý÷ÿÿöÿýùÿýÿþÿÿýÿÿ÷ûúúòüùôüùôýøôÿùöÿøöùîìñãâçÙÖÝÐÈÜÒÈîäØýöäÿûèÿýçÿÿè÷ýùêðìÝãßIE9HD8FB6D@4B>2@<1?;0>:/:6-95,95,94.:5/<71>93@;5E>6HA7LD7QE5RE4UF3WG7WIC_@EmDJ€OU•]f¦jrÇe˜ÍkœÏl›Ïf‘Í]…ÎTyÌFgË8UÌ0Hß>PäBMÔ:<Æ7/Ã@.ºB*®/Û?0Ü@3Ü@3Ò6*èKBåJEÎ50àFFóZ\áHKØ?BÆ=-Ä;+Ã:*Ã:*Ã:*Ã9,Á9+À8,Â<0Â>2ÈF9ÏOBÎPDÄH<¿C7¾D7ÑF?ÑF?ÕJCÛPKÝROÙMLÚKMÜKPëX`ó[hüaqÿauûWoõOgõMgúPkÿJuÿOyÿSwÿRqÿSmþ[pÿcuÿixÿguüaoôbmìelàglÔjjÉjh¼c_dVeH:_Tª‡Í«©åÇÇïÚÙÿóóùøöøþü÷ÿÿ÷ÿÿûÿÿÿþÿÿüÿÿ÷þûüôúûóûúõþûöÿýùÿûøþôòøíéêßÙÞÔËÝÓÇíæÖÿøåÿþèÿÿæÿÿçõúóêïèáæßLI:KH9JG8HD8FB6D@4B>3A=2=9.<8/;7.;60;60<71>93?:4B?8EA8JD8NE4PE1TE0VG4XH9ZMEVMR[Whkl‹~‚²‰“Ð’Ÿå™§ò§­÷©¯ù«±û­³ý°´þ°´þ°´þ¯³ý«®û¨«ø¥§ô ¢ïšœé“•⊌ل†Ó…É{u½mj­dd _a”X[†QQsNHbUFY_CRlBLEO˜LV¬U]¼[dÅ]fçJuéNxæPuàLn×FcÒ?YÍ5JÊ+?Ú5EçAMéFKÙ><Í>6ÊH8¿J6°B)·>-¸=-º<-½>/Ã?2ÊB4ÐD7ÕE:ÙE9ÚB7Û>5Û:2Ù6-Ù5,Ú3+Ù2*Ô1*×4-Û60Ý90ß80Þ7/Ý6.Ü5,Ö/&Ù5+Ø6)Ï2#Í1"Ò9)Õ>-Ó<+Ö=-æD7÷KAÿD?û56÷)-÷)-ù.2ø67í55â30Ú1,×/,×/,Ù0-Û/-ã80â:1â:1â<0à<0ß=0Ü?0Ú>1Ñ7+ïWLù`XÓ;6Ó;:èOQÞEHèOTÍ=2Ê:/Æ8,Æ8,Æ:-Å;.Ã;-À:.¾:-¾<.ÁB3ÇH9ÇI:ÂD6¾@2¼>0ÊE<ÊE<ÎI@ÕPI×RMÔNKÓKK×LOçZ`ð^hüfrÿhxü]qóOgóMeùQjÿPzÿQxÿQpûSmø\qûhxûjw÷epüfró_kí_kêkrÝsu¿lh¦f\¡l^ujXVI8kXJ–{t¾ŸœßÁÁïÕØþîïûõõúüûúÿÿùÿÿýþÿÿýÿÿûÿÿ÷ÿýÿ÷ûþõûüöÿþùÿÿúÿþúÿûõÿ÷òñèáäÜÑáÙÌðé×ÿúæÿÿæÿÿãÿÿäöùðíðççêáQK=PJ3Õ;1Ö8/Õ4*Ö3*Ø4+Û4,Ü5-Ú9/Ý<2à=4ß<3Ý90Ü5-Ü5,Ý6-Ò.$Ý;.Ü<.Í1"Å.Í8$Ð=)Ì;&Ë:'Ò9+á:1ó=9ÿ@@ÿ;?ÿ27ô+1ê,.ß+,×+)Ó+(×/.Þ44ä88è:;ó55ò64î73é6/ã7-Ý5*×5(Ñ5&Í5'çPEÿmcÛHAÈ42×CCÓ>BêUYÙB;Ô=6Ì70Æ6-Ç9/Æ<1Ã=1Á=.»9)»<+½@.¿B0¿B0¾?.¼=,»<+ÃC8ÄD9ÈH=ÏPGÒSLÐOIÐOJÔOPç_cîaiûitÿm|ÿdu÷UjõRgýWoÿSxÿUtûWpð_pñoyôy~êmsÞXaïamò`mïaoðs{숊ɂ|¥wjšyhhpYMO:^WGƒqg±•’Ý¿¿ñÔØýéëþôõýûþûÿÿúþÿýþÿÿýÿÿûÿÿöÿüÿøùÿõúýôÿÿúÿÿúÿÿúÿý÷ÿþöùðçíåÚéâÒôïÜÿûåÿþåÿÿãÿÿâøúíòôçîðãSM=RL4D=5B;3A:4@93A:4A96B:7@A;CC;IE:NG7QF2RF.UF/WH5XJ=RHFXR\jh€}§‹’Æ’žÚ–¤å¥¦ù¦§ú©ªý«¬þ¬­ÿ­®þ¬­ý«®û¨¬ö¦ªó¤¨ñ£§î¡¨î §ë¤è›¢æ™žâ’šÛŠ”Ò…Ê‚ŽÂ‚‰·‚©‡yšŽmˆšczªWi¾P]ÓKWäGPí?Hñ9Aî;6é<5âB6ÙH7ÎJ5ÅG1ÂD.Å@/ãUGàG?Ú;7Ø64Ø88Ö:;Ï98Ê66¼=.¾<.¿;.À;,Â8+Ä6*Æ3)È1&Í5*Ð3*Ñ3(Õ2)×3*Ù5,Ý6.Þ7/Ü>3Ý<2Ü;1Û8/Û7.Ú6,Ø4*×3)Õ3&Ó3%Ñ4%Ï6&Ò=)Ñ>*Ê9$À2Æ;(È5%Ó3'ç60ü;<ÿ=@ÿ7=ù27ê-1à..×--Õ0.Ü44ã9:é;=ë;>ý.4ú/3ö01î1/æ1*Þ2(Õ1%Ï3$È2#Ð>/új_ãTLÈ95Ð@@Ë:=ãRUçJEÝB=Ò93Ê5.Æ8.Å;0Â<0¿=-¹<*¼?-½@.¼?-º;(º;(½<)¾=*º>2º>2ÀD8ÈLBÌPFÊNFÌMGÐNLçbcêbføhqÿo{ÿhxøYm÷Ujþ[pÿXsü\tìbqãktç€í‰‡ãyyØ_dñhrÿl|öcsíkwø‘•餟À–Š¥‹z\pWFRRLÿ4:èB*âD)ÙH)ÎN+ÃO(¹L%¶H%»D&ÛWBÚF8Ú;5æ>>íBHé>Fß5>×08ÈF8ÇE7ÈD7ÉA3Ç=0Æ8,Æ3)Ç0%Ê0&Î1(Ó2(Ö3*Ù5,Ù5,Û4,Û4,áC8Û=2Ø7-Ø7-Ü:/Ý9/Ù5+Õ1'Ù7*Ð0"Ì0!Ð9&Ì9%Æ5 Ç9#ÑE.Á:&É:)Õ7+â3.í//÷05þ5;ÿ;BÿIMúGJîDDæ@@ä>>ã9:ã28á.4þ'/û(/ø*.ó-.ë0+ã2*Û5)Ô7(Æ0!¾/óeYê]TÌA<ÓEDÊ;=ÝNRïPMäFCÕ:6Ê5/Æ8.Ä:/À,¼A/½B0º=)·8%º9&¾;)Á>,²8+²8+¸>1ÁG<ÅK@ÄIAÆICÊJGå`aæ^bñdlÿlxÿix÷ZköTiýZoú^tòcuãgqØqrÝ…é”ꋇåruùq{ÿxˆõ`sßXgóŠ‘ý¶´Ö«¢¬•…TnSAS;PTCkaWž†‚Ý¿ÁõÖÛøßåÿóùÿûÿÿþÿüýÿýüÿÿüÿÿúÿÿôÿùÿø÷ÿôöüòüÿøýþøüüôÿýöÿÿöÿþôûõç÷ñáüúåÿþåþýáýþßÿÿãÿÿñýþîüýíXO@XO@WN?VM>TKñ8>æ=@ÙD@ÑHBå;Dà;BÞCGÉ99ÌB@ËD@½/-ÞHIëHKîAGï;Dì8Aé:?â<>Ú<;Ô<9ÏA=É>9ÊC=ÑLCËK@¼>2³7+¹;-¹9,¾8-Å7-Ê3,Ï0,Ô/-Ý11á34çA1à9)Ü1 á1"é8(ê;*ã6%×2Ñ2Ì4Ê5Ç4 É3"Ì3%Ñ3(Ô3)Í.(Ï2+Î6+Ì8*Ë8(Í7&Ð7%Ø6'ß3'é2,ð31ò01ð+2í*2í+4ï-6ú+1÷*/ñ+,î.-ë4.ä8,Ú7(Ð5#Ã.Ä3 çXHèZLÊ<2ÞOGÄ5/ÚIFÝQRÚLKÒDBË<8È80Ç7,È9+Ê;+È;)Å:'À9%½:&»<)º=+¸=+¶=,³9.µ;.¹=1½?1½?1¿@1Â@2ÅA4ïk_õqeêd[ômiùroécbðjiútuÿk|ûivñdmï_hòaføgjõnkîqk÷|wÿ}ƒþYjÿ[wîZpû¬±«°œaŸz]sMIZ6LR6snX£–†Ë·®íÕÓÿîðÿõ÷ÿ÷ûþøüüüþþÿÿþÿÿþÿÿýþÿæÿòàÿëâýêìÿð÷ÿôûÿôþÿóÿþñÿýïÿûîÿùèÿùæÿøãÿùãÿùáþúáýÿþþÿÿþÿÿYPAXO@XO@VM>UL=TKDë:Bè7?ä7;Ü89Õ:8Ð;7ÓF?Ç<5Å<4ÌG>ÌLAÁC7¶;,·9+¹7*½7+Å7-Ë4-Ñ2.Ø3/á53æ66á?0ß<-Þ6)à4&á6%á6%Û4"Ó4Ð:"Ê:"Æ:#Æ;&É<*Í;,Ì8,Ì5*Ö3.Ö5-Ñ7-Î8*É6&Ç4"Ë4!Ð3"Ø2$ß1(å/+ç.,è,-æ,1æ-3ç.4î*,î,-í0.é2.á3*Û5'×7'Ò9'Ó@,»*ÔE5Î?1ÙF>êWPØC?ØBAåWVâRRÛKJÔC>Í=5É9.È9+Ç8(È;)Ä;(Á:'¾;'½>+º?-¹@/¶>-²9.µ;0·=0¹=1º?0½?1ÁB3ÅC6ëi\òmdçb[ðkfõolèbañklûuvÿp€ÿo|öirë^fêY^òadøqnù|vöyuÿx~ùRdÿUríXnö¥«¥¨“X”n[tLN_;QZ;us\ª×úøàÜÿôóÿúûÿúûÿûüüüþúþÿûÿÿúþÿûüþçÿñáÿêáýçéÿìóÿòøÿóýÿòÿÿóÿýïÿýíÿúëÿöåûóàúòÝûõßý÷ßúúøüüúÿÿýZQBYPAYPAWN?VM>UL=TKCß>Câ;CØ7=Õ?AÏA@ÉD?Â=8Ã96ëWWàBCæ=Bé:Aæ7<Þ58Ö66Ñ96Ì;6ÕHAÅ:3¾5+ÅA5ËK>ÆH:»=/¶8)¹7)¿7+Æ8,Î7.Õ60Þ63æ87ë;;Ó5)Ö6*Ú6*Ü6*Ý5(Ý7)Ú:*Ö?,Ã5¼5¸6 ¸7"»9)¼8+¼4(º0&é=;å>8Þ=5Ô*ÓB/Â1 æTEÐ<0ÚA;ÞC?èJIòTSèVVçSSãOMÝIEÖC;Ï<2Ê8+Å6&Ä7&À7%¼7$»:'¹<*·>-µ=,²=,°:.±;/²<.µ=/·=.º?0ÀB4ÃE7Ü\Oêg]äaYñlgöpoçabìfgòkoäP`ï^kôhqòemñ`eödgûqqúzwövsÿnuõJ]ÿMjïUmñœ¡ŸžŠPˆcVoEOd=Va?ww]¯¤’âÐÄÿíæÿ÷óÿûøÿýûÿþüûÿüûÿýûÿýùÿû÷ýùãÿëÜþãÚøÞàúáèûåïüèöýëýþîýúëÿúêÿ÷èúñàòê×ðèÕôìÙùñÜýùöÿûøÿþû\PB\PB[OAZN@YM?YM?XL>XL>UI;TH:SG9RF8RF8RF8RF8RF8JF=KGÓ>@ÐFCÅA<¸71Å>:ê[WÝABä?Cç=@ã:=Û89Ó97Î=8ÌA:ÏE;Ã9/»2(À/¸9(¼8)Â8+É:,Ò:/Ù80á83è;7ì=:Ô3+Ö3,Ù5,Ý4-Þ6-Þ7.Ú:.Ô>/Æ9(Á<)½>-¹>.»=/½=2Á>6Ã>7ó?>î?<æ?7Ù=1Í:*Æ9%Æ;$È<%Ï<(Ï8'Ï2#Ñ1%Ó2(Õ4,Ñ2,Ï0*Ñ3*Ó5*Ñ7+Ï7)Ê7'É8%Ê<(Ì>*Ê<(Î=,ô^PàF<Ò3/Ò.-è?BþUXÿvuÿroÿjgö^YçPIÕA7Ç5(½.Ä8'À9&»8&¹:)¶=,µ=-±>,°<-­<.­<.®=/°<-±;-¶>0¼B3ÁE9ÉMAß`Wâa[ôpløtrå`aä]aå^dÙFVçYeógpôgo÷dlýjpÿstúxvõssûenóCXÿEbðRkë’˜œ—ƒN‚\Ql?Ri?ZhDy|_°ª”èÛËÿôêÿùðÿúóÿýöýÿùûÿúùÿúöÿøòüóîøïÔüÚÎóÒÊëÌÏìÎ×îÒàïØéòÝóöãöõãûõåüõãõìÛíáÑéÝÍíáÑóç×úõïü÷ñþùó\PB\PB[OA[OAZN@YM?YM?YM?WK=VJcî7Uí8IçAEßFAØIAØIAÞFCæAGð;Jõ9JãDI×>AÐ@?ÏJE¾?8²3,ÇD<âTPÜDCáACä>@â>?Ü>=Ô@<ÏE;ÌH<Ç=2Á7,½5'½9*¿=-¿=-»<+½<)À;*Ç;,Î<-Õ;/Û8/à70ç83ë95ã:7â64â22å31æ42ä50Û2+Ò1)É2'Ç9-Ä<0¿90¼5/¿52È<;ÒDCó57î66å61Ø5,Ë5&Ã6"Á9#Ã;#É>'Ê9&Ë5$Í5'Ñ9,Ó;0Ò:/Ï8-Í?1É;-Ä8'Ã7&Ã:'Å<)Å='Æ;&Í>-Í:*Ø>2ãB:Ö.+æ::á14å26Ò73Ö;7ÞC>åJEêQIêSHèTHäUGË?0Æ>.¾<,º<-¶>.³@.°?/®?.«=0«=.¬<.¬<.­<,±=.·A3¼D6ÆLAÞbZâc]ðnlôrrå`cå`eæ`gúixûozõltí`hñ^fÿkqÿw{ÿ{|öpqø^hö@Wý>]óOh懠•ƒX†aXuE\vIgwP‚ˆfµ±–éáÌÿùéÿüíÿýñþÿóûÿôøÿöôÿóíûìäòãÝëÜÁëŻ㾺޺¿Þ¼ÆáÀÍâÃØæÌãëÓìîÙôñÞøñßóêÛìàÒèÚÍìÜÏñáÔòçáòçáóèâ[OA[OA[OAZN@ZN@YM?YM?YM?XL>XL>WK=VJPI?QI>SK>UL;XM9YM7YM7XM;WK=ULGYSWc_nmkƒtt–|~§ƒ†³†‰²‡Š·ŠŒ¿‹ÈŽÏŽŽÔÕÓ”Ó‹Ê‚‰¿{‚¶u|²ov­gp«ck©€n~ey­ZvÏMoê?cú2Vÿ0Lû6Gð@CâGBÙLB×MCÝIGèCJõÍID¸<4¯5*ÉI@ÕLF×CAÜ>=Ý:;Û;;Ù?=ÔE=ÌH<ÇI;Á7*Á7*À8(¾9(¼9'º9&½:(À;(Ä;)Ê=,Ò<-×;.Ü8.á6.ä6/è5.ê24è.1ê+0ð/2ö37÷69î45æ21Ø/,×31Ô63Ï42Î/3Ð/5Û5?ä=Gõ,2ñ.2è2/Ü3,Ñ5(É8'Æ;&Æ>(Ä9$Æ8$Ë8&Ò:,Ø?1ÛA5ÚB5ÙA6ÎI8ÇB1¿<*½:&Á<)Ã?*Å<)Ä9&Ì;*Î6)Î0'çB<Ý1/ñ>Aå.2à'-Ò3-Ó4.Ö71Ö92Ò8.Í5*Æ2&À1#ÎE5ÆA2¼=.µ:+±9)®:+ª:,ª:,ª/«=.«<+¬=,°?/µA4ÉSGàg^ßd_èkiînoæchðjqõoxüp}ýt~õmwîcj÷dlÿqzÿw|ûsuökpöXfûAYÿ:[õKfâ}…©˜†l”ojŠXo‰ZxŠ`—r¶·˜âÜÂúôÞüúåÿÿïûÿïõÿïîÿëçúäÜïÙÐãÍÉÛū٫¨Ó¦¨Ñ¥¯Ô©¶Ô®¼Ö±ÇÚºÒßÁàæÌêéÔòíÚòéÚïáÖìÛÑëØÑíÚÓèÛÒæÙÐåØÏZN>ZN>ZN>ZN>YM=YM=YM=YM=XL@çE@ÝJBÚKCÞHGéBLó8ÏE;ÆF9¿E6Á8(Ã:*Â:*¿:'½8%½:&¿:'Á:&Ä9&Ë:)Ò;*Ù9+Ý7+á5+ä3+ç4-í)-ò)/ù,3ÿ.4ÿ07ÿ18ÿ28ý58ú7;õ8<ò9?ò9Aô9D÷6Gû6Hü5Jø)1õ,2î02ã4/Ø7-Ï9*Í<+Ì=,È7&Ï9*Ø2á?4â>4â?6â?6ÑN<ÍH7ÇB1Â=,¿:'Á:'Å9(È9)Ç3%Ó9/á@8ëD>Þ0/á-.ì38í38×4-×6.Ù80Ø:1Õ;1Ó;0Î:.Ê:/ÖL?ÌF:¿?2´9*¯7)«7*©8*¨8*ª<-¬>/­?0­=/«<+«<+­<,¯>0ÀKAÚc[Ýc^èkiðosëhnõrzüvïer÷oyør{öjsÿlvÿvÿu}öioõfl÷RbÿA[ÿ6YôFaÝt{²›‰€¤~z›f{—f€–h‘u­±ŽÌË­áàÄéëÓî÷ÜåóÙÙíÑÎçÉÅÞÀ¼Õ·´Ë®®Å¨•Ã’”‘˜Ä“¡È™§Ë¬Ë¡µÎ§ÁÒ®ÎÙ»ÙÝÄåãÎìåÕïáÖëÚÒçÒÍäÏÊÞÐÇÚÌÃÕǾ[N>ZM=ZM=ZM=ZM=ZM=YLXL>YNø<=íA=äE?àGBãDHèAKï=Mô:OÒBAÑGDÅA<ÂH=¯;.°5É83È.,Ç)&É.*Í:3ÌC9ÂD6¸@0Ã:(Ã<)Ã<)Á:'À;(Á=(Â;'Ã8%Ä6"Ê7%Ô8)Ù7*Ý5(á3(å3)è3*û03ÿ58ÿ7<ÿ38ÿ,2ÿ&-ÿ'-ÿ)1ÿ,3ù'0ô%/ú'6ÿ+=ÿ(Aÿ:ú2ö".ô&0î+1æ0/Ú1,Ò4+Ï5)Ð6*Ô6+Ü90æ>5ì>7ë:4é61è50é61ØL?×K<ÒF7Ê>/Ä6(Â3%È6)Í9-Í5*Ô6-æC<à74à21Ò ì89ê35Ó2(Ô3)Ò4)Ñ5)Ï5+Ì5*È5+Å7+ãYNØRFÊH;¾@4¶=ê@AéBIêCMëANê>NÌA<Å@9¾?6µ?3®=/±=0¿E8ÒMDÇ61Ô;6Ï1.Í2.ÖC<Ç?3´6'·?.½6#Á:'Ã<)Â;'À9%Á:&Ã:'Ç:&Ë:'Ð9(Ô7(Ö3$Ú."à/%ì7.ô=5ø72ù30ú.-û)(ý%&ÿ#%ÿ"'ÿ"'ÿ$*ù )ú!,ÿ%7ÿ'<ÿ;ÿ4ÿ3ý)7ð".ç"+ä*-Ý--Ó+(Ò-)Ü41â62é54ï64ó55ó12ñ-.ï+,í++Õ<4Ò91Ñ:1ëTK»"Ä+#ßF>È.&Ì/(Þ<7èE@â:7Ø/,Û.*ã41é:7Ý?3×;.Ï5)Ë3&Ì5*Î:.Ë;0Æ8.ìbWàZOÈD8¹6,º:/·9-¯3)²6,¯1%°2&®2&®4'¯7'²:,²<.³=/°:.ºC;Ö\Wìppñsvøv~ûyƒõq|ÿ{„ûx€øu}üs{ÿr~ÿq}ÿlxûisøbmôI\ÿ=\ÿ8[ñ:VÖek²–‡¦}~¡i|šd}•c‡—j”ŸuŸ¥ ¨ƒœ¨„’£Š£|€Ÿvx›qw›o|r t„£w¯uƒ³y‰¹½„“¾†—¾‡œ¾‹¢½§¼“¯½š¾Â§Ï̹ßÓÇãÒËÜÇÄÖ¾¾Ê»´Á²«¹ª£ZM1ÐB6Ü?6è?8ôA=ö=;ø:<÷:@ô7½=4¶<1°õ6;ú3:û06ú-2û.3ý14þ36×4/Ü:5Ù72æDAæDAÎ/+Ñ2.Á"Ö41á?<èE@à=8Ø3-Ù2,Ý60à91Ò<-Ï9*É5'È4&Ê8+Ë;0Ê<2Æ9/ícYáXNÉ@8¼3+À:1Á;2½7.À:1Á4+¾4*½4*»5*¸6(´6(²7(°6)´;0»B9ÓYTèllïqtöw~þ|†øv€ÿ|„ûyøv~þuÿsÿo}ÿiwùeqùanöI]ÿ<\ÿ9\ô=YÕdh«y€œsu˜`t’\w]cŠ•k—p‹•p…”mp†_lˆ_fŠ\g^j_q•ey›i}l€­r„²tЏz»}½‘½‚–½„›»‰›µ†¡³­¶—¾½¨ÏÆ·ØÇ¿ÖÁ¾ÒººÅ·¶º¬«²¤£\L<\L<\L<\L<\L<\L<\L<\L/ÇE5ÐG7ÚC8ä?9ó=<ú9>ü9Aú:Eò>GæAH×@EÏ@B¿<4¸90±8-«:*¨9(«:*»?3ÏF<ÙD>Ø96Ú65Ü:7ÜC=ÝOEÍI<²4%À9&Á:'Ã<)Æ=+Ç>,È=*É:)Ì9)Ï8'Ï2#Ó/#ß4*î=3ô?6ñ91í2+Ú7&Ý6&à3#å/"é-"î+%ñ,&ò+(ó++ð(+ò'-ú(5þ%8ÿ5þ2ÿ3ð(5ô.;ô4?ò8Cï;Dðå+6ñ1<ô/9ù-8ù+5ù,3ø-1ö.1ö01Ù1.ä<9Û64à;9ÿljæBAÒ.-Ð.,Û97á?<àA=Û<6Õ7.Ô6+Ô6+Ó5*Å8&Ã6%Ã6%Ä8)Ç;.Æ<1Æ<2Å;1ëaWáTMÉ<3¿0(Ë;3Ï?6Î;3Ñ>6Ú=8×<7Ô=4Ï<2É;/Â:.»7*¶6)·;/»@8ÏTMãgeíorøz~ÿˆý{…ý{ƒùzúx€ÿwÿsÿl}ÿftøbnø]kõG^ÿ:Zÿ9\÷AZÐ_c›gkŠ^e†Oh…Ol„Rt…X{ˆ\}ˆ^x„\q‚X`yO_P`†UeYm•`uœg{ j€£m­p…±tˆ¶v‹¹y‹¹yŒºz‘º~”º‘±•¬€›©†©­’ºµ¢Ç¹°Ë¸²Ì´²¶­®ª¡¢ —˜[K;[K;[K;[K;[K;[K;[K;[K;ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<]K=]K=]L<^M=^M;^O<^O<^O<`P@^Q@]P@\NC\NE[NF\OI]PJ`NdcSmfX{g^‰ohœzu¯„|¸†{µ™…º¥…´¯€ªºy¡ÈxŸÓušÍc‹¾OyêAFà@@ÕA=ÌF;ÈJ;ÉJ;ÐF9ÜB:î@?ø;Aþ:Dü7õ>8ð50è-&×:)Ú8)Ý5(à2'æ/'é.'é,(é,*ç+*å(,è)1ï+7õ';ö";ú=ÿ"A÷8Gä(6ç/;ÿP\ÿ`lÿP\ò^N>^N?^N?_OB`PC`OEbM\cPdcUodZle‘vr¤~w«‚v¦“~©¬†«Â‰©ÐžÛw“âk‡ÝXuÓFfÿ=MüDPðJNÞJHÌG>ÇG<ÍG<ÙD>èBBó>Cù>Gø@HðCIÞDDÍB=À?9½A5µ=/®:+ª;*©:)­9*º<.Ì?6áFBä<;ïABíAAÞ:8ãJBæXLÔL>È@0À8(»3#Á8(È<-É:*Ë7)Ð8+Î0%×3)à8/é;4ï:3î50ë0+è+'Û4,ß4-ä2.ë31ð43õ45ö58õ6;é/4ç.6ê0=î2Cò.Fõ*Gý,Lÿ1TðPî3Dî2Aî3>ê5<æ89Ü73Ð3*Ç/$Ì2*È-(Ñ61óXT÷\ZóXVÜ@AâHHÜB@Õ<7Î70Í6-Ï8-Í9+Ê7'Æ3!³:%²9$´;(¸=-¹;-¶6)»8.Ä>5ÛNGÙEAÎ50Ð1-á>9è?:ã81ä71ð/0ï11ì42é73â92Ø:/Ð9.È:.¾6*º7-ÈIBÜ_Yënlû}€ÿ…‰ýƒõv}õx~ùzÿx‚ÿsÿj{ÿdtö_nðUeôF]ÿ6Vÿ7ZúF_ÀTRvaBJoRÿ-Hÿ:QþCTéDKÒ@AËA>ÎDAÖEBãEFêAFï@EïBFçDEÚEAÉC:¿?4º@3±;-©8(¨9(©:)®9(º:-Ë;3èIEë??î;>æ68Û2/ÞA:îZPõg[ÙQCÉA3¾4'À6)Ç9+Ê8+Í6+Ò8,Ñ0&Ü5-æ;4ë:4ê40è/,ê-+í-,ó4;õ3;ø3<þ2=ÿ1>þ0=ý0?ù0@ô1Añ2Dò5Kó5Oó0Põ-Qþ1Xÿ:dá7B÷O\ÿanÿ`nþXfùQbòEXé8Jó@Sê:GÝ2;Ò/2È3-Á9-º=+µ>(Æ9/¿2(ÙJBúkcÝLGáPMÍ<9Ï;9àLJÔ@<Ê7/Ê7-Î(«;%­=)²?-±9)®4'º:1ÊC=ÕHAØC?Ô72×2.ç;7ì:6è2.ë2-÷)+÷+,ô.-ð3/é61â:1Ú<1Ò>2Â6)º4)ÅB:×XRçjhú|}ÿ†‰þ€„õv}öyú{‚ÿx„ÿqÿh{ýbtõ^oîSe÷I`ÿ9Xÿ9[ûI_ºQNmZ:Em8ZvCa|InSv†Y|‡]Šbg‚—lœl{ m|¤o}¨p~ªo‚ªnƒ©l…©lˆ«qˆ®qˆ°r†³r„³oƒµn„¸p‡¹t‹µv‰¬tŒ¦wš¨„°´™ÈïØÌ¾àÏŽÃÓ«±Á›¡±ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M;_N<_N<^O<^O<_P;_P;aPHÿ$Hÿ0Qÿ;UñÇA6¾>1·?1¯9+¨7'¨:)¬=*²=,À>1Ñ>7ß=:ç79æ/3ã/0á32Û94åNEülaïj[ÙQCÆÍD>Á61É;7ãUQÕF@É91È8-É:,È9(È:&É;%ªB)¦<&¦<&¬=*©8(¬3(¼=4ÒMFÕGCÝEBÛ96Ü30é73í41ì/+ó2-ÿ)/ÿ*/ý--ö0/ï4/è7/ß;1Ø>2É:,¼4(À;2ÏNHßb^÷yzÿˆŠÿ„†ùzú}ƒü}„ÿx„ÿn~ÿdwù^pò[léN`öHaÿ8Wÿ7YøH]²JGcS1Al6ZtDf~NuˆZŽc…f‡’jˆ—n‰žs‡¤t‚§t§r}¨p}©n©mƒ©l…©k†§n‡ªp†¬o…¯o°l³k‚¶n…·p‡´s‡­rŒ¨wœ¬…²¹šÈƱ×οÞÐÅ·¿Ò¤¬¿’š­ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M=_N<_N<^O<`Q>aR=bQ=bQ=bR;bP:aO9`N8jNMgNRbQ[cWkjfuv’}}™y‘’{¯ŒËƒ‡ã{|ùqsÿgjÿTXÿAGÿ#Mÿ.Tÿ7Wù9Pé>NàEM×EHÑ?B×BDÚACÜ@AÛA?ØC?ÏB9Å?4¿=0·?1¯9+©8(«=,°A.·B1ÇC7×D=Ú64å57ã,0ç02è88Ó0+Ï5-éUKÿznæ^RÎD7É=0Ê<0É6,Í6+Ö90Ú70ß82ä71ç40é1/í10ò53ø87ÿ=ÿ>ÿ>ÿ>ÿ=ÿ=ÿ<ü=ò:ï@ð$Ið&Nï$Qó%Uÿ0eÿ=sÿgrþalôXeîR_ïQ`îM]â?RÖ1Bß:JÑ4?¿-0±-(¦5'ž>&–C%E"¯7&²9(ÒWHº<0ÁA8º7/º3/ÍC@ãXSÕHAÈ91Ä6*Å6&Ä5$Ä6"Ç9#¦B*¢<%£:%§<*¦7&©3'½A7ØSLØIEáGEÞ:8ß2.ê41î1-ï.)ù4.ÿ'-ÿ',ÿ)+ö*)í-(ä1*Ü5,Õ9-Ð>1½3(¼7.ÉHBÙ\Xôwuÿ‰‰ÿ‡‰ý~…ý€†þ†ÿx„ÿl|ý`sõZlïXiãHZóE^û4Sÿ3RóCX«E@\L*?j4Uo?d|LwŠ\†“h‹–l˜pŽtŽ£xŽ«{†«x©t|¨mz¦i}¥g¥h‚¦h…¤k…¦m„ªm‚¬l®j}±i€´lƒ·oˆ·sˆ°tެxœ®„²¹šÄ«ÐǶÖÈ»²½Óž©¿‹–¬]K7]K7]K7]K7]K7]K7]K7]K7^L8^L8^L8^L8^L8^L8^L8^L8\J>]K?]M@\L=ZM=ZO=\Q?^SA_T@_R?^Q@aQAcRBdQCdNAcM@pKEjKIfOUgZknl„v|ž}†¯ƒŠ´Š…®Ÿ‰­¸Š¦Ìƒ”Þ{~îumøl]ûfRðN[æDQä>LéANïCQí>Ké:Gê4Á;/¼8+ :$¬C0¬=,®6(Â?5ÑD=Ð;5Ó61Û83Ü71Ý6-Ý7)Ü9(Ý='Ù;"Õ7à74õPLõXOÛD9Ç8(Ì?.ÒC3Ñ;-Ò4+ðGDâ.1ï4;ö4?ï+9ÿ@Qí(9þ&+ÿ*-ÿ*-÷"û#$ÿ()þ((òð"ú+1ì )î&1ò.<ç$5ÿYnë+@ÿ`jÿ^iÿYcûT[öPTìHIÛ@;Ê:1ÅA2½F2®D.Ÿ;$”5–7#˜;)œ=+§81«83ÁEC¿;9¾23Æ45È44×CAÜKFÚKEÑD;È:0Ä4+È4*Ì3+Ì2*·?1³9,®.#­'¶,"Æ7/ÓC:ÚG=äPFßE;Ù80Ü1*ç/-ô01ý/3ÿ.4ò14ó12ô01ó/0ó0.î1+é4+à8-Ö=/¾2#¾?0·>3Õ`Wçtqÿù…†ôŠŒþ…Œÿwˆÿe}ÿ[wÿXuÿSoûJgûDcö7Y÷9]ç>[Ú]k„C=PI/F`;Xw^N?^N?[N>ZO=\Q?^SA_TB]QA]P@_OB`NBbPFcOFcOFkLGjMOgS\h_rnoŽw~ª~ˆ»…ŠÁ›–Ì¢Œ»«£»wŽÕx‚í|x÷uhöjYüZgóN\ìFRòHUöJVõERï?Jë;Eä9Aà:>Ú::Õ=:Î?7Ç>4À+ª?-¨9(²:,ÁA6Å<4Ç7/Õ<7Ó40×4-Ø4*Ø4(Ú7&Û:&Û;%Ù;"Þ52æA;ëMDàI>Ð>/Ç8(Ê8)Ó;.Ý<2öJFæ/1ò5<ø6Aò.<ÿ?Pì'8ö$'÷%(û),ý+,ü*+ù'(ø((ø*,ð$'í%(ê%,þ:DÚ'ð4CüATÞ#6ÿluÿblþZcüW]õOSæBCÙ;8Ñ>6¾8,¾E4¹H6¨?,–1)Ž()ž-'°:6ÑTRÎHGÃ54Æ45Ò<=ëWUØGBÖGAÏB9Ç9/Ä4+Ê6,Ð7/Ò5.Â?5À:1À5.Â3+É4.Ð83Ø?9ÞE=ãJBÞA8Ù6/Ü1*æ0-ó11ü03ÿ.3ò14ó12ô01õ/0ó0.î1+é4+à8-×>0¿3$¼=.¶=2Ó^Uévsÿù…†õ‡Šþ‚Šÿu…ÿe|ÿ[vÿWtÿQoþIhúAaö8Zö=_æF`ÅQ\{?7NH.Ga>Yx=e‡Ks•Yx›awbz¢f|¥i}¦j|¥i|¥i|¤h{£e{¡d}¡c}¡c¡d{¤l}¦n}©l}ªi}ªe}­c¯c‚±cƒ±f‡²k‡¯pˆ«u‹«|¬„©‰‹¤†z…‡doqR]_]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8^K<_N>aP@`P@]P?[O?[O?[RC[QE[QE\OF\OG_PKcQOfTRhTUiTQiVXi]kmi„sv¡zƒ¼ŠÍ‰Ö—‘ÙŸ‹Êª‚¶º}ŸÒ‘烅ð~tïveÿ`k÷S\íGQðFQöHR÷EQô@Kî=Gå6=à7:Ù99Ô<7Í@7ÅA4½?0¸=-©@-¨=+ª;*¸B4ÅI?À;2»0)Ì92Í6/Ò5.Õ7,Ù7*Ù7(Ú7$Ü:%Þ<'ß3/Û4.âA9éOCÜH:Ç6%Æ3#Ù@2á>5õHDé13ó4;ú6@ø4@ÿES÷3Añ),í"&î#&û03÷--ï''í%%÷12ì(*ø7:è+1â)1ë3?ÿR^ï=KÿYiúafñV\îOTðMRêEIÞ:;Õ74Ô?9À6,¿?2»C5²>1ª8-¥3)Ÿ,%œ' ˜% §0*ÆFCÂ::¼,,È44×ABô^]Ò>:ÒC;ÐA9Ë=3Ì9/Ô=4Ú@8Ý@9ÙA>×=;Ü>=ãA?ã?>à;9ã?=ëIDàA;Û=4Ø5,Û2+å2-ð31÷12ú/2ó04ô02ö01õ/0õ/.ð0+é4+à8-Ø?1À4%¸9*´;0Ð[Rízwÿ’’û‡ˆøƒ‹ü~‰ÿr‚ÿcyÿZtÿTqÿMmÿFgü=_ø:^ôBbåQg§?Fn<1OK2KcA[z?h‡Lr“Zu˜^tš_wŸc{£gz£gy¢fy¢fy¡cx byŸb{Ÿa| b}Ÿby¢j{¤j{§h{¨e{©azª^|­^®`…³hеnвs‰¬t†¦w‚žvy“pn‡gVb`COM4@>^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^L6`N:aP<`Q>]P?ZN>YPAXPEXOH[RM_UTcWYeX_iYcl\fm]hlbclemolrtšx¶~†Ï„ŒßŠŽç‹‡ÞŠÙ¬‰É³­½y’Í{ßyê†vÿnrÿbgùU\öLUöFPöBMó>Gð;Dæ5;á7:Û97Ò=7ËA6ÄB4»B1·?.©;,­=/¯>0»G:ËRGÇH?¹6.º1)È91Í81Ó;0Ú<0Û;-Ù6%Ü6&à9'á40Û2-à=4ëOCãK=Ñ;,Ð8*àB6Þ7.ð>:é/0ò16÷4<ü8BÿNZÿKWý>Cò38â$&í/1ê,,ð22ç+*é0.ò::Ñæ37Ü-2ç9BïENÿYcôLYÔ?AÚADßCFá>CÞ9=Ü89Ø88Ó:5É83Â91½:2ÀA:ÍNHÖVSÐNNÆAB¯82µ:5ÏKGØNLãQRïYZêRQñYXÉ51Î>6ÑC9Ð@7Ó?5ÚA9àC<àA;íCñ:?é58í=?øLJà93Ú70Ø4+Ü3,ã5.ì30ò21ô01ô04ô02ö01ö.0õ/.ñ0+ê3+à8-Ù@2Â6'µ6'²9.ÉWMî}yÿ“’û‰‰þ€‹ý{‡üoücwÿXqÿNmÿFhÿ?cþ8\ù=`íIdÙYhˆ25d<0SQ8TgG`}Ej‰Ps’Yt•\u˜^wby¡ey¢fw dv awŸavž`xŸ`zž`{Ÿa| by¢hz£g|¦fz§bz¨_z¨]|«]~­_†²eеmŒ³rŠ­s†¦u€œstŽii_RaZDSL8G@^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;_K2_M5aO9_P;\O>ZN@XPEXQKYQO^X\g`hnfsshysg{sg}tfnnzor…rw•v|¬y‚Ã~†×ƒŠåˆ‹ì’뛌ߞƒÆžt¢¡kƒ®mq¾vjÈ{iþllÿklÿfiÿ]`üQWöEMð;Bí5=è59ã68Ý98Õ>7ÎA7ÅC5¼C0¶A-¬8+´@3¯;.°;1ÇRHÓ]SÈNCº;2¾90Á7,Ì9/Ö>1Ý=1Ú6*Ü4'á7(á2-ã60ä=5åE9âF9ÜC3ÝA2á?2Û0&ì62ì0/ð-1ò-4ú7?ÿOYÿZdÿ[_ÿOSá.1ã03ß--÷EEè66Ü,,Û-.ë>@Û25Ù37ÿchÞ=CÊ*2Ê-4¾()Ô;=àAEÚ7:Ù37á8;Ü89Î..Ì43Í<9ÓHEÝSSì`c÷hnõdkî[e¿B<ÆE@å^[÷igÿopÿjjåKK×=;É4.Ñ>7ÕE<ÖC;Ó?5Ö<4Ø93Ø7/ö0=ò,9ó+6õ-8ò*5î+3õ8<þJKà3/Û4.Ø4+Ü4+â5.ê40ï4/ð3/ö/4ö/2÷/1ø-0ö..ñ0+ê3+â7-Û?2Å9*²3$±8-ÃNEî}yÿ’‘üŠŠÿ}‹ÿw…ùl|öatùUmÿHgÿ>bÿ8_þ4\õ@aâMcÂWap/+\A0XX>]lMbIl‰St’\u–_v™_xžcy¡ex buŸ`uŸ`u_vž_wž_zž`{Ÿa| by£d{¥f|¦dz¨`y§^y¨Z{ªZ}¬\€¬_…¯g‡®m‡ªp…¥sƒ t{•nrŠffvi[k^RbU_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<`L1aM2`N6^O:[N>YOE[RMZTT_ZahbprmzuŒ{t“yr“zp“yo”ov’pyšt}¨w€·zƒÈ~…Õƒ‰á‹‹å”ã—ŠÒ™„¼¡ƒ§ª„“«~yŸl[ŽX>ÈH?ÕPIäVRìVUòRRôJMî=Cè38ì7<ç9;à;9Ø=8ÑA8ÈC4¿B0¹@-³9.ºA6«5+£.$¼J?Øh\×eZÊVI·=2¸6)¾4)Î:0Ù;0Ü5,ß3)ä6+á/+å61ã;2Ü:/Ü?0ãF7ãC3ß9+ß1&ê3-ð31ï-.î*.ô17ÿEJÿS[ÿ_dÿ\aâ9<â9<Õ+.ôJKâ89×//Û55Ì()Ë(+÷YZÛ?BÔ9=Ð7:· %Ã))Û=>åBEÝ49Ù,2Þ17Ú/5Í(,Ò37äKNöaeûhnùcl÷_kû_mý_nÒNIÔOJè]ZêVTçMMãGHÑ32Î31ÙA<àKDãPHßKAØA8×:3×50Õ2+ÿ,;þ+:ü(7ø%4÷'4û/:ÿ=CÿILà1.Ü3,Û4,Ü5,á4-ç4-ì5/ï4/ö/4÷/2ù.1ù-0ø..ò/+ë3+â7-Ù=0É;-³1#°7,¹D;ìyvÿþŠ‹ÿyŠþqõhxó`söTlüCcÿ7^ÿ3_ÿ3\óDcÒM^ JMb6+TE0W[@^kMc~Kk‡Tt‘[w•_x™`{ždz cvž`s›]s›\s›\tœ]v^wž_{Ÿa| by¡bz¤b|§b{¦_x¦[x§Yz©Y{ªZ~ª]ƒ­e…¬i†ªm‰§s‰¥u„s|•mv‡unmfwe_P=_P=_P=_P=_P=_P=_P=_P=^O<^O<^O<^O<^O<^O<^O<^OÏcWÔh[ÔfYÁPB¹?2¹5)Ç7,Ô:0Ù5,ß2+ç6.ã0,ã4/â7/Ü8.à>1åC4â?0Þ4'æ4*é1)ò2/ð..ï-.ò14ô68ü?CðOTúY^éFKõRW×47ëFJÝ8<åBEÚ7:Î.0Ð15ãIKÑ8;Î8:¸#%Ñ<>Ü89ä;>ê=Aç6<â-4Þ)2â19çÿ/>ý)7ÿ-:ÿ9CÿAHûABã1/ß4-Ü5,Ý5,á4-æ3,ì5/ð50÷.4ù.2ú.1ù-0ø..ò/+ë3+ã7-Ø:.Ì>0´2$±7,±<3çtqþŠŠþŠ‹ÿr†ýj}ñbtð]pôRjûBbÿ6`ÿ5aÿ8_ïKfÁN[z;6Y?.LH/TZ@]cIbzJj„TrŽ[v”^yšc{ždxžas›\p˜Yp˜Yq™Zq™Zt›\uœ]y_zž`x¡_y¢^z¥^y¤\x¤Wv¥Uw¦V{§X~ª]‚¬d„«h†¨l‡¥o†¢r€šmx‘gr„lk}ecu]_O?_O?_O?_O?_O?_O?_O?_O?^N>^N>^N>^N>^N>^N>^N>^N>eQ6cR8aP<]P@ZPG\TR_Zab^otrŠyx˜€¨ƒ°~~²yx±wv°xw³t}Âw€Ã}…Æ‚ˆÆ…ŠÂÀ—–¾ ¼¬§»¶¬´¾³¯È¸©Ð¿¥Õ¡ϼ”Dz‡·kS®\F¤G5©=0ÂH=áVQðVTòNOì?Aë=?è<<ä<;ß=:×=5Ï;1Ë8.¿82Á<5¹:3·>5ÀPDÅYMÅ]PÎgXÐdWÁM@º:-Å8.Ò91Ø3-ß2,è50æ40á2-à5-ã<3çC7æC4â:-à3%ê5*è-&ð0+ð.,ò21ò44ç.,è00áEIõY]öW\ÿpuåDJéHNÞ=Cü[aÿouÝ>Cÿ~‚ÿmqêQTÔ>@Å02Ñ<>øEIî9>ð7=ø=Fô6@è-8ö>Jÿ\hÿmwÿitÿdl÷]gú^kÿapÿ]nüWhî_YãOKâJGÕ74Ò0.Ù54Ó/.Ø95ßD?ãJDáJAÙ@8Ó6/Ö5-Ü71â94ð$0ý/<ÿ1=ø*6û/:ÿ>Eÿ>Cì44â3.Þ5.Ý6-Ý5,á3*è3,ï4/ò5/÷.4ù.2ú.1ù-0ø..ô.+í2+ä6-×9-Ï@2µ1$²6,°7/èpoþˆˆÿŠŒÿkƒücxð]pïZnôPiýAdÿ7aÿ8dý=bæPi°QW^2'RG3DH/PV`P@`P@_O?_O?_O?aQAbRB_O?]M=]M=aQAcSCbRB`P@eS;aP<_O?^QH[QOZSZeapsq‰xxšz|¥~€±€¹}¼xy¹rs¶no²qwÏv{̓̋Ȗ—䤾²±¹½¸²ÌŲÓÍ­ÙЩÛУÛÑ ÝÑ¡ØÌšÒÆ”Õ¦Š·gŸ_FËzgØte¾G?ØQMøbaìILç>Aä79æ9;ã99Ü75Ù61Û94È95À50ÇB;¹=5¾I?ÄXK·PAËeVÎdVÊYKÃG;Ä:/Í6-Ù6/â5/å3/á/-ß2,â70ä=4à<0Û8)Ý5(å8*å/$ê/(î.)ð0-ï20ë40è51æ40Ó8<åJNõY]ëOS×7?×6>ùX`ÿ~†ÿ~†ÿowÿgoÿipÿfjõ\_ïY[ô^`ÿRYÿCKü8Bü7A÷1>ï+9î/>ñ=IÿS_ÿ`kÿgpÿepþboÿbpÿ`oÿ[lìTOßFA×85×31Ù10×/.Ú21Ü86áD=ÜB:Ø?7Ö<4×90Û81á83ä84ô5=ó4;õ3;÷4<ø5;ó49ë33ã1/Þ3,Ý6-Þ7.à5+ä3+é2,ñ1,õ2.ø/5ø03ú/2ú.1ù//õ/,î3,å7.à@4Ë9,½7+®/&·<5ÒXWÿ˜šù~ÿhÿe|ö]rîRhòHeÿAeÿ9bÿ5`üJlÕRd‰==K. >>&?I.IO5]]EWlAcxMqˆZx’by–`t•\r–Xq˜Wl•Sm–Rn—So˜Vr™Xt›\uœ]uœ]tœVtWv Xw¡Wv¢Uv¢Uu¡Tt S{¥[{£\zŸ\u—Zn‹Uc}MXrCSj>AW1?U/`P@`P@`P@_O?`P@aQAbRB`P@_O?`P@bRBcSCbRB`P@fVF_QD\OF_TRcZ_f`nmkƒwv˜wy¢{}°}¸x|»qt·lo¶ln¸oq»suÙ|}Ù‰ˆÔ˜—Ш§Æ¹¶½ÉƵÓÏ©Ý×£âÜžçßžæÞäÜžâÙ ÙÒœÑʖѼ¸€¦~dÄ‹wÉ}m¶VJÓ`Y÷qnîZZêJLä>@é<>ì>@è:;ã56á34Õ=:Ë73Ê?8¹6.·>3¼L@³I;Å^OÛp`ÒaSÄH<½5)Ä0&Ö5-Ý4-Ü/)â43å95å<7à<3Ü8.Ù5)Ý5(ã5*í6.ï4-î1+ë0+ç0,ã2,á4.Þ5.Ò9;×>AäIMóW[ü\dü\dþ]eÿ`kôR]ïMXñQ[ÿ_gÿjqÿflô[`ëRU÷07ó+5ô+5ù-9ó&5è/ç'6í7DüP\ÿ[dÿclÿemÿepÿdoý[hõP^åFBÞ<9Û64ß63á53Þ20Û2/Û62à>9Û>7Ö<2×:1Ú91ß82å95è96é9;ê7:ë7:î79î79ì57å31Þ3,Û4,Û7-Þ7.á6,å2+ì1*ó0,ø1.÷05÷03ú/2ù.1ù//õ/,î3,ç6.ß=2Ò>2Â8-µ2*·82ØZ[ÿ“õw{ÿa{ÿ^v÷WqöOkøFfý=bÿ:cú=cëLhºJVw<8F5#7=#9C(DH/UP`rJnƒXw_v“]t“Zp”Vn•Tk’Ok”Pl•Qm–Ro˜Vr™Zsš[sš[tœVuWuŸWuŸUtžTržQqPq›Qn˜Pl”NhŒLbFXu?Nh8F]/@W+@W-@W-AX.YL<[N>^QA^QA^QA^QA_RB`SCaTD`SC_RB`SCaTDaTD`SC^QAbUM^QK[QPcYakesqm„vu•y{¤y{®y~¶w}»ns·ei°bf°jn¸rvÀ}zᇃᖔߩ§Ù¼¸ÏÍÊÃÝØ¸çá­êå¡ïéŸðêžíæžéá¢âÛ¤×Ï ËĘ´°“¦œ˜„k§„p¥p`œRG»]UÞmi÷usð^_çHLæ@Dí@Dí=@ë7:ç36Ü>;Ô;6ÔA:Â70·7.µ?3­=/µG8Új\Þj[×\MÊB6Å2(Ñ4+Ú6-Ú1*Þ44éA>ìGCà=6Õ2)Õ1'Ú2'Þ0%è3*é1)ç.)æ/)ã2,â7/á=4âA7Ã-,Ê43ÜCEðVXú^bùYaóS]òP[èFQêHSðNYü\fÿmvÿmtôY_ÜAGó*2õ,4ý1<ÿ1>÷*9ï&6ö6EÿJX÷ISõOY÷W_ü_fÿdkÿai÷Q[éBJÞ95Þ63ã75é<8ë<9ç85â51Ý60Ý:3Ù;2Ö90×90Û81á83ç:6ì:8à;9â:9ã99ç98è88å84à40Ú3+Ú6,Ú8-Ü8,á6,å3)ì/)õ/,ú0.ô15õ13ø02ù.1÷//ó0,î3,ç6.Ý9/ÛD9Æ9/»4.´0,â`bÿƒˆônuÿ_zþWsúPmþLlýDfø8_ö9_ðGf×ReDJi=4K@,7@%8@(ED/LE2N^9YkEg|Qr‰[tZqUmRkMi‘Kh‘Ki’Lk”Pm–To–Up—Xq—ZuWuWtœUrœTpšRm—Mk•Kj”LdGaˆE\~AUt;Li3E_/AX*>U'B\/E_2Ic6WJ:ZM=\O?^QA]P@^QA_RBaTD`SC`SC`SCaTDaTD`SC_RB]P@YNR[PVbXcjcsqm†vu•xz£z|­w|´sy·mr¶bi±]c­ag±lr¾v|È‹‡æ”‘褡淴áÇÄ×ÕÒËáÞ¿èå²ëç¨ïê¦îé¥éã¥ãܨÛÒ§Ëß¾µ–Ÿ§˜š…‰v—‚q—se™cW³i`Ïrmû‹‰õutë[[çKNéCGî?Dî;?í8=ß:8Ý;8ßD?ÓC;Ã:0¹;/¯7)¦2#¾J;ÚbRék]ÛSGÉ9.Í3)Ö5+Ø4+Ù33ñMLý[XíKFÙ80Ö3*Û4+Þ2(à-&á,%á,%ß,'Ý0)Ú6-Ø<0×?2À0(Ä4,Î:6ÙCBßFHàEKäGPìLVñQ]öVbøXdû[gÿgpÿmuôY_Ø=Cñ.2ò-4ô-4ò*4í%2ì(6ûô@?ð<;ç85à72Ü92Ø:1×90Ù80Ü71ã73ê86ì87Þ<9ß;9â:7ä;8æ:8ä84Þ5.Ø4+Ù7,Ú8-Ü8,á7*å3)ì/)ô/)ù/+ó25ô23õ12÷/1÷//ó0,î3,ç6.Ü8.ßG<É90¾3.´-*îfjÿy€ójrÿ`{ýTqþKkÿFjÿ=cö3[î<^äPhÄXe…DBbE7WP=DH1@D-JH3JB/IW4Sc?btLmƒUp‹XoŒRkŽNiŽKgIg‘Ih‘Kj“Mk”Pm–To–Wp–YtœVs›Uq™Sn—Qj”Lg‘IeŽHdG`‡D]AWy=Rq8Mi6Lf6Ne7Pe:Lf6Oi9Sm=UH8WJ:[N>\O?]P@]P@_RBaTD_RB`SCaTDaTD`SC_RB_RB_RBTLY`Xgnf{tp‰xt•xw¡xz«y{´sy·jqµ`g¯\b¬`f°kq»v|Æ~„Ε”äžžè­­é½¼æËÉßÕÓÔÝÜÊãàÁåâ¹çã¶æß³àØ³ÚÑ´ÐůÀ´¤¯¥™”œ‰ˆ†y‰}qwk›sk§ngºoi扄î~ósróedòVYòLNðCEî>Aå95â:7äB=ÞE?Ì<3Æ=3ÂB5­1%¬1"ÇI;ÛYKÖN@Ì=/Î8*Ò6*Ñ3'Ö34õUUÿkhú]XâE>Ü;3ß;2ã80â4-ä1,â1+Ý0)Ö/'Ì0$Æ/$Â0#Ã9,À4'Á3)Ë:5×CAÛEGÛBGÛ@HàDOìOZóVaòVaú^iÿgoóYaÝDIð88í55ï26ð18ò3;÷9CÿHSÿVaä6?Ý4;Ý7;êAFøKOüIMô;@ê05å61ë95ñ;8ó;9ó;9ð:7é73â70ß;2Ü;1Ù;2Û:2ß82ä73è64ì65á<8ã;8ä;8è:9è;7æ95á6/Û4,Ú8-Û9,Ý9-á7*å3)ë0'ò/)÷0+ð45ñ33ô22ô01ö0/ò1,î3,ç6.Þ7.ÞD:Ê7/¿1-¾21÷jpÿrzøhrû]vúPmÿCfÿ_L;_ZFQP;KI4PI6MB0DR1M[8[kFf|Nm…SmŠPlŒMhHfŽGgHg‘Ii’Lj“Ol•Sn•Vo•Xt™Vq˜Un–Pj’LfIcŒFaŠF_ˆDZ@X|?St;Pn8Pj:Tk=XmB[pEUp=Vq>Wr?RE5UH8XK;ZM=[N>\O?^QA`SC`SCaTDaTDaTD`SC`SCbUEdWG]Ulje|yu}yœzy£wyªvx±sw¶lqµcj²[c¬]e®hp¹w}LjІՙܡ¦à¯²å»¿åÆÇãÍÏÞÔÓØ×ÖÑÙ×ËÙÕÉ×ÑÅÒÉÂÌÂÀŹ»´§®¥˜¡‡Œ†xzuwvqulg~mfŒoib[œa[¾sm×zuï{ü|yÿrpýccöSTîHHñB=ê>:ã<6àA;Ñ:1ÒD:ÝTJÂ>2¸6)¼:,Â=.È?/ÏA3×C5×?1Ñ8*Ð23èLMú_]ñXSßD?Ø;4Û81à70æ92ç92ç92â92Ú9/Ñ9.È9+Ä8)®)¸3"È@2ÓI>ÒE>Ë;:Ì7;Ð9@Ï8AâHTïUaðYbõ^g÷`iêU[ØCIè?:ë?;ñAAúGJÿMRÿQYÿT]ÿV^á4:Ú/5Ú03ç7:ô=Aù:?ø48÷/2é61ï95ð95í41í1/ê20ç40á4.ã<4à=4Þ=3Þ;2à93ä73è43ë33æ:8ç98ê88ì89ì87é75ã4/Ü4+Û7-Û9,Ý9-ß7*ã2(è0&ï0(õ0*î45ð43ó32ó11ô1/ò1,î3,è5.à90Ù<3Ì70Á0-ÑAAÿnuýku÷coïSkóIfÿ;cÿ1`ÿ3bÿRJ7QF4MB0AL.GU4Sc>`rHgMj‡MjŠKh‹GeFfŽGfHgJi’Nk”Rl”Um“Vq–So”Qj‘NgŽKcŒH`‰E_ˆF_†G\‚E[~DWxAVr?Uo?YpB]rG_tKYtAYtAXs@NB2QE5UI9WK;XL\P@^RBaUEbVFbVFaUE_SCaUEfZJj^Nkg‚up|x›{y¡wx¨vw­pt±jo±ah®^f¯_g°em¶pxÁ~…͉ؖܙ¡Ï ¨Öª±Û´¹ßº¿ß¾ÂßÂÄÝÅÆÛÆÃÖÅÁÒÁºÌ¼³Æ»¯Å´¨¾¦˜±—‰¢†‡‰qqstpqogevhe†nj`Y”e_š[T·g`×tnî{vÿ{wÿwsÿhfù[ZÿQKöGBè=6èC=Ø;4ÛG=ê\RÅ;0Ä<0½7+¾6(Ç>.ÑD3ÔC2ÔA1×A0Ò8:Ø>@ÜDCÛC@Ö=8Ó91Ø7/Þ7/å:3æ93å:3â;3Û>5ÕA5ÑE6ÌG8¬.¼;%ÌK8ÑL=Æ=3»0+¿10Ë8>ÕBJáKVëU`ðZeð]eìYaßLRÐ?DÑ4+Ö8/ß<7ê@@ñDFôEJñBIî?Fâ5;ß26ã36ï8<õ79ù14þ-2ÿ.4ë40ð95ò64ì0.è,*è/,è2.á2-ä=5à=4ß>4ß<3ã:5ç85ì65í55ì57ì57í57ï56ï56ì42å2.Þ1*Þ7.Ü:-Ý:+Þ8*á3(ç1&í1(ò1*í55î53ñ42ó11ó1/ò1,î3,è5.ã;2Ò4+Ò;4Æ20çUVÿpxùcnñ[gãKbóEfÿ7bÿ+]ÿ1bÿ@hÞKe­RYd8/ZI7SN:UN;[P>VI8M@0MA1=H*CN.K[6Xj@ayGf‚HhˆIgŠFeŠDc‹BcEeŽHgLh‘Oi‘Rj’Tn“Pl‘NhLd‹Jb‰H_ˆF_‡H`‡H_…H_‚H]~I]yH]wH`wKcxOdyP[vA[vAZu@MA1PD4SG7VJ:WK;YM=[O?]QAcWGdXHdXHbVFaUEcWGj^NpdTvq‘yu˜xvtsŸrr¤su®lp¯bg«Za©^f¯em¸lt½u}ƈДڕœâš¤ÈŸ©Í¦°Ô¬´Ù°µÛ±µÚ²´ÚµµÛ³±Ö²®Ñ®¦Ë«¡ÄªžÂ¦˜»™‹®‹{Ÿ|y€dbgidhbY\g[[xeauXRe]ˆOHŸVO»aY×jcóvpÿ}zÿwuÿljÿZUÿPJñD>ôMGàB9ßF>êWOº,"¼2'½5'Ç=0ÑE6Ë>-Á2!É8%ÙF4ÞDFÒ9;Ë32Ë62Ó;6×<7Û<6á<6æ;4å82à5.Ø4+Ï5+Ê8+Ä<.Â>/ÑU;ÅI/»='½;+Ã=2Ä;5Â65Â37ÜKRÞLVâOYåS]éWaæU\ÝLSÒCGÉ5)Ð8-Õ81Ú64Ý55ß58á4:ß28å8<å6;ì9=ö8É53øceÿpyô\hêR_ÞHaõGhÿ:eÿ*]ÿ/aÿ@hÓE]–AFQ-!UJ8PN9OH5\O>YH8L<-NB2:D)?J*GU2Rd:]sBcEf†GeˆDcˆBa‰@a‹CcŒFeŽJfMgPhRlPkOfLcŠIaˆG_‡H_‡H`†I\‚G]€H]~I`|Ka{Ld{Of{Rg|S]xC^yD_zEAC8CE:IF=OH@RGAWI@]M>`O=aQ:aS9`T>_VGaZTfaeljwro€wožzt¢~wªzu«ro¨hf¥a`¢^^¦ba­hg·qoÃ|xÏ…€Ú‰ã—í–ó¢žÙ£ŸÚ¥¡Ü¦¢Ý§¡Ý¦¡Û¥ Ú¦žÙ¥Ö£œÒ¢™Ð¡˜Íž–É—ÁŒ‚´ƒy«mrvghlc_`e[ZlYUtUP€ULVK–RG¨ZN²ZP½\SÔmdç|tò…~üˆðxyõyyæabÜPQ×EEñYVÎ61È1(Ç5(Ä7&Â6%Ã8%Æ9'Ì:+Ð<.Õ?1Ô8+Ö=/Ø?1Ó;-Í5'Í4&Ø:.ã?5à90á90Þ7.×7+Ï7)È;)Ä@+ÁC,Ä;3È?7ÍD<ÏF>ÌC;Å<4»2*µ,$Ä>5ÍG>×QHÞXOá[RßYPÖPGËE<Ìÿ)<ö*6í.6ç48å;;Ü94Ü:5Ý<4à;5ã:5æ93é73é62ì25ì44ë54è64ä71ß7.Ú6,Ø6)Û9*Û:(Û:&Ü9&ß8%á8%â7#â7#í41ï4/ñ4.ó3.ó4,ï5)ê6(å8*à:.Ø7/×96Ý>BÿlyÿasþRlöGdÿIjû5Yÿ5]ÿ;eú=cãPj©LVT)":1 9<)EF4RL>PH;BC39E15K4FGHJ#MQ,U\:\jGcuOf}QeNc…Hb‡BaŠ>cŒ@eDjIl‘Nm‘Qj’IiFgŒFf‹Ff‹Hf‰Ic…Ic‚GdƒJdIc~Gc~Gd€FfFe~Dc|BX}8[€;^ƒ>[K>^M;`O;`Q:^S?^WGa\Vhcinlyrqƒtnšvpžtp¢pm¢gfŸaaŸ]^Ÿ\\¤ed°kjºtrÅ}{φ‚ÙŽˆà”Žè˜’ì›—Òœ˜Ó™Öžš×™Ö—Õœ–Ò•Ñž–Ñœ”Íœ“Ê›’Ç™‘Ä“‰»ˆ®€w¦tmtkdkf]`e[YiZSoWMzVJŠVI›UK°\RºYRÁXRÓf_Þqjãvoêwý‡…ÿˆ‡÷uuðfdäTSíYUÇ2+Â/%Æ7)Ã7&À7%Á8%Ä9&É:*Ï;-Ó=/Ö8,Õ9,Ó:,Ò:,Ñ9+Ñ9+Ô8+Ø8,ß;1à90Ü8.Ø8,Ð8*Ç:(¿;&¼;%¿4-Á80Æ=5É@8ÊA9È?7Å<4Â91¾5-Ç>6ÑH@ØOGÚQI×NFÌC;À7/Ê8Ñ9"Û8)å4,ï./ö*3û(7ÿ(:ÿ+Bÿ*Bÿ)Aÿ&Aÿ$@ÿ >ÿ=ÿ<ÿ8ÿ9ÿ$;ÿ);÷-9ï29ê7;å;;Ü94Ü:5Ý;6à;5ã:5æ93é73é62ì25í36ë54è64ä71ß7.Ü5,Ø6)Û9*Û:(Û:&Ü9&Þ9%á8%â7#â7#é4-ê3-ì4,ì4*ì4*ë5(æ6)á7*ÞcŒ@eDiŽHkMlPl’IjGhGf‹Ff‹Hf‰Id†JdƒHe„KdIc€HdHeGeGfEd}C\<_„?b‡B69.:<1??7E@:KB=OE/Ô>/Î6(Ë/"Ú:.Û7-Ù7,Ö8,Ñ9+É:)Â9&¼8#¾4*À6,Â8.Ä:0Ç=3Ê@6ËA7ÌB8Å;1Ê@6ÏE;ÐF<ÒH>ÑG=Ê@6Â8.Í6!Ô7&ß7,é3/ñ03ø,5ý*9ÿ*<ü'=ü'=û%=ù#;û!:ü8ü7þ7ÿ6ÿ6ÿ#8ý*;ù1<ñ6=é9;ã;:Ü86Ü:5Þ;6à;5ã:5ç85é73é62ï26î47í55ê65å61ß6/Ü5,×5(Ù9)Ù9)Ú9'Û8%Ý8%Þ7$à7$à7$â4+â4)å4*å5(ã6(â7&Þ7'Û8)Ý=1Ï2+×98ÿltÿ]nþPið=[ÿJlÿ5\ÿ=eü4[ô<`êTq«?Oa#(H1+79+-8'18&:;)B=*A<(@>)@B*?GY`4s~T€Œfw‡bi~Ub|MaI`ƒC`…?aŠ>cŒ@hŽEjJkMlPn”Kk‘HhGgŒGgŒIh‹KfˆKf…Je„Ke‚Jc€HeGf‚Hf‚GeFcDb‡BeŠEhH06*58-;<4A>9G@:KB;RE.Ð?.Ë8(Ç/!Ò6)Ó5)Ô4(Ò6)Ñ9+Í<+È=*Ä;(Æ9/Æ9/Æ9/Æ9/Ç:0È;1É<2Ê=3ÒE;ÒE;ÐB8Ë=3Ë=3ÏA7ÏA7Ë=3Ñ4#Ø6)â5.ë31ò/5÷+6û(7ü)<ù&9÷&;÷&;ø'<û&<ý%<ÿ$:ÿ#:ÿ!7ÿ"7ü%7ù-9÷5>ñ:?ç9:à87Ü86Ü:5Þ;6à;5å95ç85ê65ë54ñ27ð37î66ê65æ72á6/Ü5,×5(Ø8*Ø8(Ø9&Ù8&Ú7$Ü7$Ý6#Ý6#Ù6'Ú7(Û8'Ü9(Ü9(Û:(×:'Ö:+Õ;/Î3.éIKÿo{ÿVjøDaö=_ÿCiÿ/[ÿ7`û=cëLlÆOe€0=G >3--3'+8'2=,=B.B@+C;$G="MA'R_*q}MŸp—¨|ƒ˜mj„W_{J]~E_ƒCa†@b‹?fCk‘Hl‘Lm‘Qm‘So•Ll’IiŽHhHhJiŒLhŠMiˆMf…LdƒJdGe‚Hf„Hh„If‚EeDf‹FiŽIl‘L-3'17-7:3<;6B=9G?UOCZUQa_dhgukkƒllˆjg’baXV‡PP†QQXYš`cªfj´orÁuxÉ|Ѓ„Ö†‡×‰ˆØŠ‰×Œ‰ØŒŒÌ‹‹ËŠ‰Í‰‡Ð‰…ш„ÑŠƒÓ‰‚ÐŒ„Ï‹„È…Á†º†²‡¥}x–vpŠ“ScƒQ\qUT`^RVcOTbH_]DvUB’LB¼RRÖPWàPYé\dèejâljâwqâvláphõ~vÿ‚{ÿ‡~ôkaÉ?2À8(À;(¿='¾='¿='Â;'Å:'Ç8(Ê8)Ü8/Ú7.Ô8,Ï9+Ê;+È;*Ç:)É7(Ï9+Ñ7+Ô8,Ó7+Ï7*Ì8*Ë<,Ë>-É=0Ê<0Ê<0É;/È:.Æ8,Å7+Å5*Ð@5Ð@5Í=2Ë8.Ë8.Î;1Í:0É6,Ò.$Ù0)ä2.î23ô/8ù-9û+;ü+>ü-?û.?ú0@ü/@þ/Aÿ.?ÿ-?ÿ->ÿ)9ý)8ø*7õ0:ó6=ì9=ã77Ú53Ü86Ü:5Þ;6â:7å95ç85ê65ë54ò38ñ48ï56í76æ74á6/Ú6,×5*Ö9*Ö9*Ö9(Ø9&Ø9&Ù8&Ú7$Ú7$Ô9%Õ:&Ô<'Õ=(Ô=(Ô=(Ó>*Ó=.Ð8-Ù;8ÿ^eÿaqÿPi÷;\ÿAiû6aÿ/]ÿ.WøIjÛYq•>NX'-?+,730*1)-9-5@/:B+<<"B;VG(iV6v‡P£lª¾‹¨¾Ž¥wo‹[aK^F`…BcˆBeŽBj“Go•Lp•Po“So“Uo•Ll‘KiŽHgŒGiŒJiŒLi‹NhŠNf…Je„IdƒHfƒIg…Ih†Hg…Gf„FgIi‘Kl”N*2%.4*470894<;7B=:HA;KD(À>(Á=(Ä;(È;)Ì9)Î8*Ú3+Ù6-Ö:.Î:,Ç:)Â9'Ä;)É=,Í>.Ö@2ÙA4×=1Ï7*Ê4&Ê8)Ë<,È:,È:,É;-Ê;-Ê;-È9+È6)Ç5(Ê6*Ï;/Ò>2Õ>3Ö?4Õ>3Î7,Å.#Õ)%Ü-*ç02ñ29ø0;ü/>þ/?ý0Aú0@÷1@ö2@ö0=÷/:ù-9ú,8ü*7ý/<ù/;õ0:ñ2:í6;æ68ß55Ù42Ü86Ý:5ß:6â:7æ87é77ê67ë54õ49ó49ð69í76æ74ß6/Ú6-Ö6*Õ7+Ô8)Ô8)Ô9'Õ8'Õ8%×8%×8%Ï:$Î<%Î>&Í?'ÍA(ÍA*Î@,Ï=.Ð71éIKÿgrÿOdÿHfû7]ÿAmý/_ÿ1^ø1XåOj¹Wfh39@*,?994443524925>-2<#29ECl`8Ž}R™±u©Á‡µÎ—­È•’®}v”be†Q_ƒF`…Bc‰@gDo•Jr˜Or—Rq•Up”Vo•Ll‘KhGf‹Fh‹IiŒLi‹Ni‹Og†Kf…Je„If…IhˆIjˆJi‡Gg…EhJk“Mn–P(0#*2'/4-350664<87@<9C>8IEû3>ú0>ú0@ø/?ò.<ï/<í/9í07í.5ï,2ò+2ò)/õ1;õ3<ò5;ì59ç47á55Þ65Û75Ü86Ý97ß:6ã:7æ87é77ê67ë46ö5:ô5:ñ7:î87æ74à72Ù6-Ô6+Ñ8*Ð8*Ð9(Ð9(Ð9(Ñ8&Ñ8&Ó8&È:"Ç;"È>$Ç?%ÇA(Ç@*Ê>-Î;1Õ:6üU\ÿ_oÿGcÿ>bÿ8cÿ6gÿ0cÿ4\òCbÈMa…BIL44:97<<>948>58<7379+3="8DS[,ƒPª£o«Èˆ¯ËŽ¯Ì’¦Ã‘¯}{™ggˆQ^‚E^ƒ@c‰@iDo•Js™Ps˜Sq•Uo“Un“MkJgŒGeŠEgŠHh‹Ki‹Ni‹NfˆLd†Id†Ig‡Hi‰JjŠIi‰FhˆEi“Kl–No™Q&.!(0%-2+130333756:97>;6GD=DD*½<'»8$¾5#ÑB2ãOAäN@ØB4Í7)Ë7)Ð>/Ê;+É:*Ç8(È6'È6'Ê6(Î8*Ð8+Ó;.Õ;/Õ9-Ó5*Õ7,Ü;1Ý<2Ú9/ë7:ñ8=÷:Aü8Bü4A÷.>ò,;ï,:í/;é19è38é58í57ñ48ô36ö45î49ï6;í9<é69â45Ý33Ý86ß;9Ü86Þ97á98å99æ89é69ê67ë46ö5:ô5:ñ7:î79ç85ß82Ø7/Ó7+Ð8+Í9+Í:*Ì;*Í:*Í:*Í:(Ï9(Ä: Â: Ã=$Á?%Â@(Ä@+É=.Í81ßhŽCo•Jr˜Or—Rp”Tn’To“MkIgŠFeˆFf‰Gh‹Ki‹Ni‹NfˆKe‡Jd‡GeˆHgŠHh‹Gh‹GfŠDj”Lm—OpšR(0!'/"(-&+-*.0/333775:94==5?@8DE?JLKQQYVWiZ\s]^|YW†[Y‹^]–ee¥nn¸wxÊ€Ú„„䊌ðŠŒðŠŠì†‡ä‚‚Ü€Ô‚€Óƒ‚Ò€„ĄǃƒÉ„„ΆƒÒˆƒÕ‹ƒÖŒƒÒŠ€ÇŠ€½‰±…~ €xwpxkeec^XpZMm[Mi\Kf^Kd_IcaHfbGl`FlR;„UA£^O¿aYÑYXßPTñQ[ÿXbôkcæYRÔD<Î70Ñ7/×;/Ø/Å@/Á@-¾=*¼9'Â9)¾0"êVJáJ?Å.#Ñ=1Î2Ü<0Ù7,Û7-â>4éE;øAFó8?ð3:ö4?ö2>ñ-;ï,:í2=ì7@æ5;ã68å78é99ð:9ñ86ò65ï==î<<ê:<æ89á77ß76Ü75Ü75Þ97á98ã99æ::é9;ì9<í9<ï8<÷6;ô5:ñ7:í9:è:9à;5×90Ï7,Ë7+È9)Ç:)Ç:)Ç:)Ç:)È;*È;)Á9!Ä>%½;#µ5»:$ÈE3Í@6Ê0.ÿ^eÿVgÿHcÿ;\ú0Xø/[ý5cÿc‡?iDn”Im•Ll”Nk’Qj‘RjŽHfŠDc†Bc†Df‰Gh‹Kg‰LdˆJg‹MhŒNg‹Kf‹HeŠEf‹EjIm“Jp›SrUtŸW*0")/#).'+-(-/.222553782;<4>@5BC;HJGOPTSUaXYm[[s\Z‚^]‰da–kj¦us¼}Ї‡á‹‹íŒòŒ‹ñ‰‰í…„ ڀ~Ò€σ€Ï…†Æ†‡È‡ˆË‰ˆÎ‹‡ÑŒ†Ð…ÎŽ„ÉŠ€½‰³†{£‚x‘{s€tknkd^e\SbaLb`Ke^Kh]Ii\Ij^Hk_Gm_EraG{]CŽ[Fª[LÆWPàQS÷PXÿS`ìWQãKFÛ>9×50Ú5/Ý90Ü8,Ø8*Ó8&Ñ8&Ñ8&Ô8)×7)Ü5,à3,ã2,Ë1'Ë4)È9+Æ=-ÄA/Á@-¾=*¾9(Â9)Ë<.åQEÜH<È4(Ì:-È:,Á5&Ê=+Ê=+Ê;*Ì;*Ë:)Î8)Ï7)Ï6(Ó7*Ö8,Ù7,×3)Õ1'Ø1(ß7.å=4ûBHò7>í07ï/:ò0;î.;ì1<ê6?ã6<Ü36×32ß:8îEB÷JFøEAõ?<è:9æ:8å97â96á85à85á98á98à87â88å99ç9:é9;ì9<í8=ì7<ô5:ò59î68ê88æ:8Ý:5Ó91Ë7-Æ8*Ã:*Â:*À;*À;*Á<+Á<+Á<+½9"Á?)¹;$²5¸;'À>];2@>/3A05?4E=:X;?T-0X51ZI7bjEu[бpšÄ|žÈ|š¹}š¹€™·ƒ©yr`YuESq?\{B_>b†>iCm“Fl”Kk“Mh‘MhQhŒFeˆDc†Bc†DgŠHiŒLhŒNg‹MiOiMiŽKgŒGgŒGfŽGj’Im•LnœQoRr U-1"-1#,/&,.).0-11/34/45-9;0<>1@B5EH?KMLQRWUTbXWi\Yx^]fcŽpm¢zx¹…‚ÏŠáíŽñŽŒïŠˆé‡ƒá~Õ|Í}È}Ç…‡ÄˆˆÆŠŠÊŒŠËŒŠËŒ‡ÇŒ„À‹‚¹‰€¯†|¡€v‘{p€ujpod`i_Ue\MXeK]bKa_Jh[HmZIp[Hq\Go]EtcItZ?‚V= WDÅYMäTSûNTÿIUß@<Þ<9Ý84ß61á6/á6.Þ6+Ú7(Ö6&Ó8&Ó8&Õ8'Ø6)Ý5,á3,ä1,Ç5(Å6(Â9)Á<+Á@-Á@-À=+À8(Ã5'ÜJ=ÜE:ÕA5Îë7@ê=CÜ7;áAAìNK÷ZUüZUùRLïB>è62à72à74à74ß74à85á96ã;8ä::á77ä88æ89è8;é9<ë8<ì7<ì7<ò38î47ì57ç77â:7Ù:4Ï8/Ç7,Â8+¿:+½;+»<+»<+»<+»<+»<+º9$¾@*³9$°7$¶;+´2%Ã40îOTÿZiÿH`ù8Uó6Vó>]ñFfçHfÞEat?9e?6QA2@C04?.29)>5,O61K*#W:,j\Bˆ_«t”½{“ÃyÃv•²|œ¸…™µ…€šm\uKHa7Nh9[xB_}?c„?hŒBl’Ej“Gh’JgLeMe‰Cd‡Cc†BeˆFh‹IjŽNkOjŽNkOkOiMhJgHi‘Hl•Ip™Ms¡Vt¢Wv¤Y25$13&02'01+12-23.34.46+9;-;>-?B1DF9IJBNNNRQWTR]XVd\Zoda~nl”zw®„ÄŒ‰Ø‘Žå”‘ì“펋扅ڂÎ{Å|¿‚}¿ƒƒ¿……Á‰ˆÂŠÃ‹ˆ¿‹„¸‡®…}¦…{€vŽzm~sfmoa`k^Vi[NgZJVdJZbJa_JjZJpYIsYJtZIs]FqY?tU9†T;§ZFÌ\PæRNóEGù:AØ3/Ü41á51ä50ã5.â4+à6)Û8)Ö7$Ó8$Ñ8&Ô9'Ø6)Ý5*à3,ã2,Â8+¿7)»7(¼:*¿=-Â>/Ã;-Ä8+Æ3)ëTKÔ;3Ì8.ÑA6¾4'À<-½>-Ã7&Ä8'Æ9(Ç:)Ê8)Ë7)Ì6(Í3'Ó5*Ô3)Ö2)Û4,ã:3é>7ì?9ë>8è47ì59ï6;î5;ê2:æ39ä7=á<@óUVûc`ÿnjÿidóVQäA<ß61à3/Þ71Þ71Þ71ß82á85â96å97æ::å78æ89è8;é9<ë8<ë8<ë8<ë8<ñ48î68ê67æ87à;7Ö<4Ì9/Å8.½9,º;,¶;+µ<+´<+´<+³;*³;*³:'·@,­8&¬9'±;-«+"Ã54ÿ_gÿSdýE]ó;Uí1B2SE*okHŠ“f•¬t´t‹¹q‹½t¡¹‰¡¸Š§}l‚\K_:BV1Lc7Yq?_{@dƒ@i‹Ak‘Di’Fg‘IdJbLc†Bc†Bd‡CgŠHjMkOm‘Qn’Rj‘Pj‘Nj’Li‘Jg‘Gi“Gm—KqœMu¥Yv¦Zx¨\78(78*66,56056156167/68+;>-=@+@C.DG4IK=NNFQPNSQTVUSYY[a_lkius›€}´ˆ…ÈŒ‰Ö•’ã”äÞ‹‡Ó„Æ}º|µ€{±~¸‚º‡„»‰…¸Š„²†¨z›€xs‡znzrfjm_\j[Tk[NjZKjYI^bK_aKe^Kk[KpZLtZKw\Kz[G{WAƒS=—U?³XFÍSFÝF?å76ê01Û2-ß3/â5/å4.ã2*à2'ß5(Ü9(Ô7$Ð9$Ï:$Ñ:'Ô8)Ù7*Ý5,à3,½>-¹:)µ6%·8'½;+Â=.Ç;.É6,Ñ80ö\T×=5Ë4+ÏA5¸3$·:(¹@-Â9)Ã:*Æ:+È:,Ê;-Ì:-Ï8-Ñ7-Ñ3*Ò1)Ö1+Þ71ç;7ë>:è;7æ74é77ï;<ðê7=ê7=ð69î79ê7:ä::ß=:Ö=7Ë;2Ã;/¸9*´;*±<*¯<)­=)¬<(¬<(¬<(«:(¬=*¤9'¥:*©9-«0)ËAAÿgr÷L^÷E[ðBYèF[ÛN^ÈT]´VW§SQSU@LN9JG4JE1FD-AA'>C#@G%MU.^g,?=.==1==5=<7;<6;=2;=/?B-@D+CG,GI1KM8NOASPITQLYXDZ[M_^Zgepqo‡{y¡ƒ€·‡…ƌӋՊъ…ǃ€¹~z­zw¤{u¡zw°|y°€|®~©‚~£y•|t‰zrvkqrffm`Zl[QlZNl[KmZKmZIg^Mi]Mi]Mj]Mn]Ms^My^M€[I“`OšWG§N@¹I=Æ@5Ð6.Ù0)á0*á51â5/ã4/â4-à2)ß3'Ü6&Ú;(Ð9$Í;$Ì<$Í<'Ñ:)Õ9*Ù7,Ü5,ºA.´;(¯6#°5#¹:)Â=.É;/Í6-Û>7ùZTåHAÐ90Ì@3¸6&«4 ±>)¿7'¿7'À7'Ã7(Å7)É7*Î7,Ð8-Ù<3Û:2Þ93å<7ê>:ê=9ç85ã41è96ë<9ê::è8:ì>@øORÿccÿqpùheàUPÈ=8¿2+È5.Ö;7à<:â:9à<3á:2á:4á83ã73ä65å55æ68é69é69ê7;ë8<ë8>è7=è7=ç6<ð8:ì8;è8:ã;:Ý>:Ó>7É<2À+>467>O#Jh4gTt•\„›c‹™dŽ›f‘¢l•¬t•²x„”pn}\Q`C=J09F,BO3O_;Xi=czDgBkŠDk‘Dh’Fe‘F`G`Gf†Ci‰FjKlMlOkOm‘Ql“Rm”Qm”Qm–Pl–Lk—Jm™JržOu¢Qy¬]y¬]x«\CB0DB3DB6EB9CC;CC;BB8AD3CG0EH-GJ-JM0OO7RQ?TREURI[\:\\@\]Kaa_ihvrq{z¦~µ†‚¿ˆƒÃˆ„Á„¸{­ysŸtp•qmŽol£rn¡tq wršwrtoƒskxrilmb^l_Vj\OlZLn[Lo\Kq\Kq\KrZNq[Nn\Nl_Ol`PqaQy_N†[KŸ_S¦OE°A8½:2È5-Ï1(Ø1(Ý5*â70á6/á4-á3*à4(ß5(Ù6%Ô9#Í;"Ê<$È>$Ê>'Í<'Ò;*Õ9,Ø8,·D/±<(¬5!­4!¸9(Ä<.Ì9/Ï5-Ú83ñNIòSMÙB9ÌB5½@.¥2¬?(À;,Á9+À8*À6)Å7+É9.Ï;1Ô;3áD=ãA<ä?;ç>;é=;é;:è88ç77æ93æ95å84é;:ôJJÿ\[ÿdc÷caË=9¿82»4.Ã81ÓB=ÞE@ß=;Ù42â;3â;3â92ä84å84æ66é77é77ê69ë6;ë6;ë8<ë8>è7=è7=ç6<í68ê69æ89à;9Û>9Ñ>6Æ<1¾<.²8)®;)ª;(¦;'¤;&¡;%¡:' 9&ž?-”7%š=,—:)˜3'ÂQKíkmï\fïN^ìI\àHWÎJU·SS¡]RŒfQ‚jP=Sg{Fh‚Cl‹Ek‘Di“Gc‘Fa‘G^Gi‰FlŒImNn‘OlOjŽNkOk’Qp—Tp™SpšRo›Po›NqNv£Rw¦Uz­^z­^y¬]GD3HE6HF9HE±61Á3/Î5/Ö5+Ù7*Û8)ß6/ß4-à3,à4*â6*Þ7'Ø7%Ï7 Ì<"È>"Æ>$Ç?'Ê>'Ï<*Ó:,Õ9,µE/­='¨3¬3 ·8'Å;.Ì9/Ò5.Ò/*ä?;ûYTàI@ÎD7ÆI7¥5®D,ËF7ÉD5ÉA3É?2Í?3ÒB7ÚF<àG?ßB;à>9à;7à74â64ä65ç77é99é>7ç:4ä73è<:ñIHñMLØ=;¹(%¸-(¼5/Å@9ÌC=ÐA;Ö=8Ý>;ã?>á:2á:2â92ä84æ95è96ë99í9:ë7:ë6;ì7<ë8<ë8>è7=ç6<æ7<ì59è58å78ß:8Ù<7Ï<4Ä<0º:-°8(«:(¨;'¤;&¡:'Ÿ:&Ÿ:&ž9%š?,4"—>,“:*“1&Ì\X÷y|æT_ðTbèI[ØDRÃGO®SPšbS†lS{rSC[C?H3B7%O6"_K0prJ€£iˆÇ€yÃt{¾qu¢]oƒHy}J‡†Xy|O\d5:D)3=$4>&WN?XO@YPAZQB\SD]TE]TEcZKbYJbXNcXRg\Zmacsfmwjs|n{~p}s€s€~p}wjtobli\fcb]a`[a^W_\U_[R^ZOa[ObZMe\Kg\Ji\Ii]Gk\El]Fm]Dm]D_gOkiTqZH{M@•RI©WL®TI³WH¦N:¢G2¢?*ª;(¾:.Ò72à23å,1Þ7.Þ7.Þ7.Ü8.Ü8.Û7-Ø6+Ø6+×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+¸=.·=.°8(§2!ª2!´;*½>/Â:,Æ6+Í6-Ô:2ÜB8àI>ÖG9Ç;,¹1!ßOGÙIAÔE=ÓE;ØH?ÜG@àC>á<:ã54ê67ï8:í9:ç77à72Ý:3Ü>5ÎKAÈE;½=0µ7)°5&³8)¹>.ÀA2Á;/Ê<2Õ>5ß=8ç;9î79ò67ô68æ7>æ7>æ7<å8:å99å97ã:5ã:3Þ5.ß6/ã81ä84å97ç98ç9:ç9:ë;>ç9;á99Ü<<ÖA=ÌC;ÀB6´@3¦;+¢=+>,™<*–;(•:'”9&“8%‡F2‡>/†/%”-(ÀIKèkoçlqÊWZ¶OP©TQŸVO˜YP•[P–]R™^Vœ`XMb!:O3JOf x’I˜²h¡½r »t™²pƒ›akN\lEWdHS\GHN@=C9;<,AB4=?2:=2,¯:)½9,Ì70Ø42Þ22Ý6-Þ7.Ü8.Ü8.Û7-Ú8-Ù7,×7+×7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+Ò9+¸>/·=.®9(¥2 ¦3 ²:)»=.¿;,Æ:-È4*Ì3+Ó;0ÜE:ßPBÞRCÚQAÝE@Ø@;Ñ<6Ð;5Õ>7Ø=8Û96Ý33é69í68ï79í68é77å97â=9á?:ÆC9¿?2¸:,±6'¯5&²8)¸=-¿@1ÅA4ÍA4×@7ß=8å97ê67ï56ô68ç6<ç6<ç7:æ89æ87å97å95ã:3â92ã:3ã:3ä;6æ:8æ:8å99å99æ9;ä:=à<=Ú?=Ñ@;Å?6¸<2¬;-¥;+ <,œ=+—<)–;(’:&‘8&7%z;)€8)‰5*ž;5ÁQPÚceÔ]a¹MM­NL¤SOYP˜\R—^S—^U˜_V™^VSg*Sg(^r3zO—°l¥¾z™²nˆ¡`j‚Fau@Sf9IY5FP7?H59?358/;<,AB4=?2:=2;A5:C2@M3Rc?]uCgƒHqLp”Jm“Hk“Jk“Lh‘Km‘Tn’To“Sm”Qk“Lj”Hl—Hm˜HpJnžJp Ls£Ou¦Tx©Xx©Xx©Zm–\b‹QY‚H]TE]TE]TE]TE]TE]TE]TE]TE[RC\SD]TE^UF_VG`WHaXIaXIe]He]Jd[Jd[Le[Qf[Uh]Yh\\i]]j^`k_ak__i]]f[YbWU`USYVMWTKTQHRNCQMBSOCWQCXRB^WG^WEaYFc[Fg\Hi^Hk`Jk`J^cOmhUy_PˆXN¤[T³VQ´HE¸E>¹@7¸>3·<-·9*¼8+Ã9.Ê:/Ï;1Û7-Û7-Û7-Ü8.Ú8-Ù7,Ø8,×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ò9+Ò9+º@1¶>.®9(£2 ¢3ª:&µ=,»=.Ä?0Å7+Æ2(Ê3(Ð<0ØF9ÛM?ÝQBÜ87Ø43Ô20Ô52Ù:7à>;å=<é;<ï8<ï5:ì27ê24é56å97á<8à=8¹;-·9+±6'®4%­5%°8(µ<+»=.ÈD7ÏC6ÖB8Ü=7â96è64í55ò67ê5:é6:é69ç79ç77æ95å:3å:3ã:3ä;4ã<6ã<6ã;8â:9á99à88Ý9:Þ;<Û@>ÕA=É>7º:1­7+¥7(¡;,œ=+˜=*”<(’;(9&8%Ž7$u8%y6%ˆ9,¢E=ºROÂVT¹OO¬HH¤LHœSL˜ZO—^S–bU—aW˜_V˜]UgxB{ŒU“¦n¥¸€«À‡ž³zz‘YYp:?R$AS)AQ-?L0:C.6<.690581:;+@A3=?29<1;A59B1@M3Qb>_wEi…Js’Nr–Lo•Jm•Lm•Nk”Np”Vq•Uo–Sn–Pl”Kk•Il—HmšIpJpJp Lu¤Sx©Xyª[u¦Wq¡U_ˆNVEOx>aXIaXIaXIaXIaXIaXIaXIaXI_VG`WH`WHaXIbYJcZKd[Ld[Le]Ff^Gf^Ig_Lg^Of\Pf\Rf\Sh]Wh]Wh^Uh^Ug]Se[QdZNdZN]YNZVKVRFRNBPL@PM>RO@UO?WQAYTA[VC^WDaZGd]Jf`JgaKadSleUt]O‹[Q«b\»YXºDD¾9:Æ;8É:6Ç80Â8-½8)¼:*½@.¾C1Ù7*Ù7*Ú8+Ú8+Ú8+Ø8*Ø8*Õ8)Õ8)Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)»A2¶>.¬9'¡4 2¢8"¬=)µ@.¼>/Á9+Ä6*Ç4*Ë7+Í;.Î0å26á14Ý02Ý34à88å;<ë=?î;?ï6<í38ì/5é05ç47ã77Û64Õ30±7(°6'®6&¬7&¬7&®9'²:)µ:*ÃA3ËA4ÔA7Ü?8â:7ç85í76ð67í6:í6:í68ë76ê86è94ç:4æ;4â92á:2ß:4à;7Þ:8Ý98Û97Û89Ö<:Õ@<ÓB?ÊA;»;2¯6+¥5'ž7(œ;*—<)“<)‘<(:&8$Œ7#Œ6%z@,v5#6'™E;¬OH¬MI©LG¨PLPH–VL“ZO“_R“bT•aV—aW™`W~‹]™©z­½Ž¦·Š¡ts†YN`8/A->3B%:F.=F3;A3:=2;<4<=79:*?@2<>19<1:@49B1?L2Pa=`xFj†Kt“Os—Mq—Lo—No—Pm–Pp—Tq˜Up˜Ro—Pm•Ll–Jn™JoœKqžMrŸNt£Sy¨X|«]w§[mSd”J[„LS|DNw?cZKcZKcZKcZKcZKcZKcZKcZKcZKcZKd[Ld[Le\Mf]Nf]Nf]Nf_Eg`Fh`IiaLiaNi`Oh_Ng^OjaRi`Qi`Qh_Nh`Mh`Mh`KiaLb_P^[LYVGTQBPM>NKTQ>VS@YVC\YF^[H^]I`aSf^QmWJ†[R­hcÁb`ÄLMÌ@CÔ:<×79Ö74Î70Á9+·>)²D+°H-×7)×7)Ø8*Ù9+Ù9+Ö9*Ö9*Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)¼A2¶>.«:( 7"™5š7 ¢>&¯B-±<*º;*Â:,È8-Ë8.Î:.Ð<0Ò>2ò5<î3:é27ã36â46â46â46ä15ì5:ì39ê38ê5:æ8:Ü66Ñ2/Ç,(®9(­:(­:(«:(«:(«:(¬9&¯7&¸:+Á<-Í?3Ø?7à=8æ:6ê86ì87ï56î66î66í74ë84ê93ç:3æ;3á:2ß;2Þ=5Ü=9Û=:Ù><Ø=;×==ÌA<ËB<ÆA:»<3­7-£5(ž7(š;)–;)“<)=(Œ;(Š9&‰8%ˆ7$‡6#}C/s4"y4$“G:¤RG¡NFžNE¡WN˜UL’XL[NŒ\NŽ^R”`U—aW›bYƒŽd˜¤|©ƒ€Žj]kJDS42@&$2-:&0;*5=.9?36:;3::29:*>?1;=08;09?38A0>K1Pa=ayGk‡Lu”Pt˜Nr˜Mq™Pq™Ro˜RršSršSršQp˜Om—Km˜Ip›LržOt Qv¢Sx§Y{©^z¨_qŸVd’JY‡?]†NVGQzBe\Me\Me\Me\Me\Me\Me\Me\Me\Mf]Nf]Nf]Ng^Og^Oh_Ph_Pg`Fh`IiaJjbMjbMjbOjbOjbOjbOiaNh`Kh`Ih`IhaGibHjcGe`Mb]J^XHXRBSM=MJ9KH7IH6KJ8LK9LM;NO=PQ?QTASVESVEYYM]WKcQEzXN¡ha¸eaÇUUÛORÞ=Cã8>à67Õ62È:.¹@+­E*¦I*Ô7(Ô7(Õ8)Ö9*Ö9*Õ9*Õ9*Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)Ò9)Ñ:)¼@4µ=/«<+ :$—7’6š<#¦B*°C.¹@/¿;,Ã7*Å2(Ë4+Ó:2Ù@8ó1<ð2<î5=ë8>ç:>å;>ä:=ã9<á48ä5:å8<ä;>Þ;<Ò86Å1-¼-'«<+«=,«>*©>*¨=)©<(©:'«8%¯6%¹7)Å;.Ñ=3Ù<5à;7ä;8è;7ð75ï75ï75î84ì94é;4è;4å=4â>5à?7ÞA:ÚA;ÙA>ÕA?Ñ??Ñ??¾B:»@8µ<3ª8-¡5(›5'˜8(•<*‘;*<)Š<(‡:&†9'„7%ƒ6$‚5#y<)r3!}:*—OA£YLœRG•OE–VJ”ZN[MŒ[M‹[OŽ\Q”^T™`Yœa[s}Xyƒ`r|ZU`B9F,/;'0;+1;03=44;35<4:?8?B9?A6<<277+89)>?1:27@/=J0O`HO?HO?PPDVRGYOChREYM˜UL³RLØXWàGJçï:Aì?CæBCáACÞ@AÚ>?Ï12Ñ56Ô::Ò<;Ê;7¾73µ4.¯3+¥>+¥>+¥>+¦?,¥>+¤>(¥<'¨;'ª7$²7'¼8+Å8.Ì8.Ö92Þ<7ä?;î85î85î84ì94ë:4è;4å=4â>4âA7ÝC9ÚC<ÕB;ÐA=Ê?<Ç=;Ã<9®>3©:/¢8+œ6(˜7'”8)‘:)Œ;(‹=)ˆ=*…<)ƒ:'‚9&€7&6%~5$v4$x5%…B2˜UEœXK“QCPD•ZL’ZM[NŽ]OŽ\Q’\R•\U˜[V™\W`hCX_=JS4>G,6?*2=-4>35?74=88>:=B/;9*78(=>0:26?.=J0N_;`xFk‡Lu”Pu™Os™NršQršSp™SqœMrNqœMp›LošKrNu¡Ry¥X«`~©az¥]qœUf‘L_‰G[ˆE\‰Hb‰RY€ISzCh_Ph_Ph_Ph_Ph_Ph_Ph_Ph_Pg^Oh_Ph_Ph_Ph_Ph_Pi`Qi`QmcWlbVjaRi`Qh_Pg^Og^Mh_NiaNiaLiaLiaJh`IhaGhaGhaGh`Kg_Je_Ib[H\WCUR?PM:ML:EF4DG6DH7BI9BI9BJ;BJ;BJ;JJ@QQERPAUNÄYSÛQOãCEå8:ß55×:3Ê>/¸>)¬<$Ï8'Ï8'Ð9(Ò;*Ò;*Ò;*Ò;*Ò;*Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)½=2¶:.­<,¥>+˜9#Œ59ž@' :$¯<)¾?0È;1Ì8.Ñ7/Ù<5àA;ð;Bï>FëBGãCEÖ@?Ê;7À50»1.·0,¼51¾:5»<6³:2©9.£9,¡9,Ÿ>+Ÿ>+ ?,¡@-¡@-¡A+£>*¤=*©<(­:(²7(¹5)Á4*Ë80Ö?8ÝD>é:5é:5è;4è;4ç<4ä=4á?4Þ@5ÝC9ØD:ÒC;ÊA9Ä?:¼;6¸85´73ž9-™7*•5'’6'‘:)<*‰:)„9&†=*„=+=*€<)~:'|7'{6&{6&y1#€8*ŒG8–RE’PB‹K?ŽSE™_SXKZN’\R–]T—\V˜[V˜YT—XSV^7EM(6@8A&>G27@E>GJ?GI;BC1?>);;#78(=>09;.69.8>26?.E5>F7?G8=H8AE4HK6YS;_F0€K9Àj]Ýf`åSSçDEè@@ã?=Ö=5É=0Â>/É3$Ë5&Ì6'Í7(Í7(Î8)Ñ;,Ó=.Ò<-Ò<-Ò<-Ò<-Ñ;,Ñ;,Ñ;,Ñ;,¸3,·7.±;-¦;)˜8"‘7’8š:"«B-±<+¹7)Á4*Í6/×<7âC?êHCëBGéDHÝCCÉ:6»61´80®8.§5+ª:/¨9.¤8. 8-›9,–:+’<+>-˜=*˜=*™>+š?,›@-œA.žB-¡@-¡<*¥:(«7(°6)¶6+¾8-Å;1Ê=4ß:4á<6â?6ã@7âA7ßA6Ú@4×@5ÚG=ÒE;ÇA6»;2±6.ª3-¤1,¢1+”;-’:,:+:*‰:)ˆ;)…<+„=+~:'|9(|9({:({:(z9'x6&w4$z, A4˜NC“MAŽL>RE‘VHŽRG˜\R˜\R‘UMTL™ZU—XS–WR `^R[0IQ(AK&BK,>H/7@-2=-4>34;3HPEX^RW[LLO?1;=0:=29?34=,;H.Pa=bzHlˆMu”Ps—Mq—Lp˜OršSqšTpJqžKrŸLrŸNsŸPv¢U{§\ªb‚­fx£^i”O_‰G]‡G`ŠJfŽOhRd‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^^j_]j_]j_[j_Yj`Wj`Vj`Vj`TjaRjaRjaRjaRjaRjaRjaRj_Kh`Kg_Jg_Jd]J^YEUR?ONE5?E7>F7>F7=E6BF8>E5=F1DN5HK0PB'yS<¹ubÉdXà_YíUTêFGä>>â@=Û>9Ñ82Ì:+Î<-Ï=.Ð<.Ï;-Î:,Í9+Í9+Î:,Î:,Î:,Ð:,Ð:,Ð:,Ð:,Ð:,È?9ÆA:½A7®=/6#•2•2™3¦5#²7(Á;0ÑA8ÞE?æIDéJFìJGÞBCÛEDÎC@¼;5®9/¨>1¢A1œ?.œ@1™@0–>0’?/Œ?-ˆ?.„A.ƒB.‘;*‘;*’<+“=,”?+”?+–?,™>+Ÿ@.¡=-¤:,§9*¬8+±8-¶:0¹:1Ð90Ò;2Õ>5ÕA7×C7ÖD7ÔD9ÑE8ÊB6ÃA4¹=1°:0¨8-¢5.5,œ5.Ž=,Œ=,Š;,ˆ;+†:*„;*<,€=,~;*|;)y:)y:)x9(w8'u6't5&„1)‘C9˜NC‘K?ŒJ>PD’TIRG“SJšWQ˜UO™UR\X”WTŽSO—\XT]0Zc8_j@[eBIT66C)4@*0:-;H.Pa=c{IlˆMu”Pt˜Nq—Lq™PršSqšTq¡Kp LpJqžMt Qx¤W|§_ªc{¦aošUcŒJ]…Fa‰JeNeNc‹Ld‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^`j^`j^^j_]j_[j_Yj`Wj`Vj`Vj`Tj`Tj`Tj`Tj`Vj`Vj`VlaMk`LiaLiaNf_La\I[VCTQ@ML:HI9DG6AE6AE6?E7>D6=C5=F57@-?H3EM5AA%QA']E³u`³WHÙbZðebîRSéEFìFHèBDÝ79È9+É:,É:,É:,É:,Ê8+È6)È6)Ê8+Ë7+Ë7+Ë7+Ë7+Ì8,Ì8,Î7,Â3/¾5/¸5-¬3( 0"›0Ÿ1 ¥4$»A2ÇC7ÖG?ãKFçLGéJFåFBâC?ÕCCÏDAÁ@:°;1£=/žC1™F4•G3’E3E2ŒC2‰B0ƒB0B/{B.xD.Š8*‹9+‰:)Š;*‹<+<+Ž=,<*–?.–=-›;+9* 8+¥9-©:/«;/¼7.¾90Á;0Ä>3Å?3Æ@4Ä@3ÁA4¸:,²:,ª9+£7+7+™7,–8.–91‰=-ˆ<,…<+„;,‚:+€;+<+<,};+z;*z;,w9*v8)u7(t6's5&Œ91”F<—MBŽJ?ˆHMKB3;I27C-EJ3IG0K<%mN9—dO§`NŸA5ÆSLçc_ð^^îRUíJMêDHç>CÉ;/Ç9-Å7+Å7+Ç9-Ê:/Ë;0Ë;0Ñ>4Ñ>4Ñ>4Ò>4Ó?5Ó?5Ó?5Ó?5Ó?=ÑB>ÍD>ÆF=ÁG<ÂI>ÆN@ÎPDÙSJÞOGäLGäIEåFCâC?àA=ß@<ÔFDÊC?º?7«<1ž>.—D2“H3‘J6‹G4ŠF3‡D3„C1B0zA.wC.uB/†8+…9+…9+†:,†:,‡;-‡;+ˆ;+‰:+‹:)Ž8)8*•9,™<-=/ž>0«9/­8.®9/°:.°:.²:,¯9+®8*¨7)¥7*ž7(›6*•7+’8-9/;0†=.…<-ƒ;,9*:+~9*}:*};-|:,z;,y;,w9,s8*q6(q7)q7)B8”G=‘K?ŠH<‡I<‹OD“UJ—TL—PLSP˜QO–RO—\X_Xh^žzn™k…’fu‚VYh=CR)?O(P`B'=A&;>#78(:;-79,9<1;A57@/MKH/JH1Q?+e>-”ZL¬`S›>6œ4+µ@9ØXUóigödeëRUèINìKQ×J@ÓF<Í@6Ë>4Í@6ÒD:ÕG=×G>ÚJAÚJAÝJBÝJBÞKCßJCàKDàKDëRTéSTãTPÜSMØSLØSLÛTNàUNàLHâHFäEBäB@äB@äB@ãEBãEBØJHËD@¹>7ª>2žA2–C1F3I6‰F3‡D3†C3ƒ@0@1}?0y@/x@1ƒ9.ƒ9.‚:.‚:.ƒ;/ƒ;-ƒ;-ƒ;-9*‚9*…9+‡9,‰:+;-<.=/›;/œ:/ž9- :.¡9,¢8*¢8*¢8*Ÿ8)œ8)˜8(”8)9*Œ:,ˆ:-‡;-ƒ;-‚:,9+~9*}8)}7+|8+{9+z8*y9-x:-t9+q5*o5)q7+r:-G;ŽH<‰I=„I;…K=ŒRF“WMšWO˜QMžTQ™RP•VQ’`YˆbW‚h[ŠwhivKZi>JY.AR&IZ0Wi?dvLj|TXjDL\8?M,:D)C-=@-:=*89):;-68+8;0H-NC-b=-„D:¯VP¶MJ¡++´:9º=;ÑTPòpnýwvñehêY^ò]cáVOÚOHÒG@ÎC<ÑD=ÔG@ÖGAÖGAÙHCÚIDÚIDÝIEÞJFÞJFàKGàKGãGJáGIÝGHÙGG×HD×HDØGDÝEBàBAåABé@CêBBèBBäB@ßA>ÜA=ÚJIÌB@»<6®>3¢@3—A2B0D3‰A2ˆ@2ˆ>1…=1‚<2€<1=1}=1ƒ:3;3;1;1€<1€<1=/=/=/€.™9)•9*“:*Ž;+Š;,‡;+ƒ;,€;+‚:,9+7)~6*{5){5)z6)z6+x6*x8,w9.s7,o5)o5)r:-u=0ŽL>‰K>„J<‚M=…QC‹VH’XM—WN”MIœRQšTR•[We\y_PcXFb]IBP,?M)?O(K\2_qGk~QcyKVk@M_7@R,6E&7D*=F1=D4:=27:19:*:;-68+8;0G*SA+{E9¦NL¸EH»5<¾19Ë@EÄ?@ÊJIÞb`îrpïopçbeáZ^ÛRJÕLDÏD=ÍB;ÏD=ÒE>ÐC<Î?9ÒC=ÓB=ÔC>×C?×C?ØD@ÙEAÚEAà?Dß@DÞDFßFHßIHàJIãIIæFHçACëADîAEîACéAAâ@>Ù>:Ö=8ÛEGË=<»73°;4¦@4˜?1>0ŽA1‰=/Š<0‰;1‰92‡81†93…:4„;4:4:4€<3€<3<3}=3}=3|<0{=0{=0{=.{<-z;,y:+z8*z8*€:0‚:.„:-ˆ:.Œ:.‘;.”<.–=-’9)‘:):*Š;*‡;+ƒ;,<+}<*€8,€8,~6*}5)|4(z4(z4*y5*u3'v6,v8-r6+n4(n5*s:/v@4‹PB†N?N=R@…VF‰XIŽUJ‘RI“NI™RP”SO‘\VŠfZl\LML7BL3@O.KZ9WgC`rJezOdzLVl=G]/AV+7I#0A!5C*=F5QJ:MG7IC3GA13M*>G*[B.PGºVVº7?»'3ÜBNÐ:CÄ9>»;:ÂHGÓ][ßgf×[]ÇILÓJDÏF@ÌC=ÎC>ÒGBÒGBÐB>Ë=9ÒC?ÓB?ÔC@ÕDAØDBÙECÙECÚFDá>Cà?DÞBEßEGáGGàFFàBCâ=AëADí>Cì;Aê<>æ>>ãA?ßD@ßFAÙ@CÉ78¹30±:4§?4š>1=/Ž?2Š;.‹9.‹80‹61Š71Š73‰84‰:5:3:3:3~;3|<3|<2{=2{=2u9.v;-w<.w<.x=-x=-y;,y;,{;1};/~8,7*„6)‡5'‰6(‹5&7(‹8(‹:)ˆ;)…<+<,~=+{<*€8,7+~6*|4(|4({2)y3)y5*t1(u5+v8-r6+n4)n5*t;0xB6ŒTE„Q@P>‚UB„YHˆYI‰SGNG˜SN˜RPPKˆVO‚bUeZHFK4;K0IX;[jKgxVewQYnCSi;Me5I`28M"-B*;2@):E7;B;8<;7;<<=-<=/79,9<1=C77@/6C)DU1Rj8_{@mŒHp”Jq—LršQtœUr›Uq¢Qt¥Vu¥Ys£Ym›Sd‘N\‰HZ„DdŒNa‰J`‡HcŠIfJiŽIeŠDa‡>`‚PWyGPr@i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTo\Nq_QtdUrdWnbTj`Th`ShbTgaSebQa^K[VBVQ;TN6NH.GA'RD)N=#cI2iV²zm·ng³[W¸PQ¶BEÁ@EÉ@GÑBFÖDGÚEIÜGIÝGIÔBEÔBE×BDÙEEØDBÒC;ÎD:ÌH;ÄF7ÃH9ÆH:ÊG?ÐEB×BDÜ?FÞ=EâBDâBDâBDâDEâDEãEDãEDãEDâDAâC@áB?â@>ã?=ã?=ã?=å@>ÎE?Ä?8¶:2©80Ÿ:0•>4Œ@3ƒ?2A4|@5}?4<3ƒ:3‡83Š73Œ72…<-…<-…<-„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/~80~80}90}90}90}90|90|90|90|90z:0y9/y9/x8.w9.w9.w8/w8/v7.t8.s7-r6,q5+p6+l2'q7,m4)l3(o6+m4)q8-H=ULƒTL†QK‹PJNJ•NL˜NM—PL”SM‹UK†\NdOkaFTW8JX5N_;gT`zMWpFTkARg@O`0CA4B@4@<12:/2:/4:.5;-9=.A,>D*T^4ÉE9ÈF9ÊG=ÍG>ÒGDØCEÜAEß?GáCDáCDáCDâDEâDEáFDáFDáFDàEAáC@àB?ßA>àA=àA=â@=ãA>ÑFAÉB<¼=6¬:0 90“;/‰=0=0A4|@5}?4<3ƒ:3†91Š71Œ72…<-…<-„;,„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/}90}90}90}90}90}90|90|90|90z:0z:0y9/y9/x:/w9.w9.w8/w8/t8.s7-r6,r6,p6+p6+k1&q7,m4)l3(o6+l3(p7,~H<‚SK„TJˆQJ‹PJ‘PL•OM–PN–RO‹OG…SH€[K{ePsiPhkLdrOgxT\uKXoEPf?Ka:K_:K\:GV7CP42><03;03;05;/6<09=/A,>D*Q[9^mDmPpŒRr’Sq™RsSsŸRxža|¢exžak‘T`†I]ƒF]ƒF\‚E`†Ia‡Jc‰Le‹NdŠMbˆK`†I^„G]MRtBIk9i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtbTo_Pm]Pm_ToeYog\keYhbVfbVpl`{xi~{jzgzuapiVf`JPVÔG@ÖGCÚFFÛEFÝDGáCDßCDßCDßCDàDEßECßECßECÞDBÞE@ÝD?ÜC>ÜC=ÜC=ÝB=ÝB=ÕF@ÎE=ÃC:³>5¢:/’8-ˆ9,<-€A2~@3}?2=1ƒ:1†91ˆ81‹80…<-„;,„;,„;,‚:,‚:,‚:,€:.9-9-9-~:/~:/~:/~:/~:/}90}90}90}90|90{8/{8/{8/{;1{;1z:0y;0x:/x:/x:/x:/t8.t8.s7-s7-r6,q5+o5*o5*k1&o6+m4)k2'n5*i3'm7+}G;†QI‡PIŠQJŽQL‘RM“RN•TP’UPVO‡[P^OtbNoiQnrWjwYfwWPf@K_:EY6BV3EV6GV7FU8ER8?I1*7;*:<.<>0<=/:;-5<45<46<26<09=/<>0=@-=C)MV7Zi@h|KlˆNpOq™RuŸSt Sz cw`n”Wc‰L\‚E\‚E\‚EZ€C_…Ha‡JbˆKdŠMc‰La‡J_…H]ƒF[}KPr@Gi7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtdWqaTm_Rk_SkaWlcZle[jf]jf]wuiˆ„y‘•’Œ|‰‚r€ygZfNLV>AI2CF1ED0D?,I=-TD5M:+O8*R6*T7)X8+];/a?3eA5‹KAœSL­UQ¶NK½EDÇABÓCCÛEF×?>Ø@=×B>ØD@ÙEAÚFDÛEDÛEDßCDßCDÞDDÞDDÞDDÝEDÝEBÜGCÛFBÚE?ØE>ØE>×D=×D=ØE=ØE=ÖC<ÔE?ÊE>»@8§;/–8,‹9+…;.‚@2@1~?0=/;/„:/‡9/‰90„;,„;,ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/~:/~:/}90|90|90{8/{8/{8/y9/x8.{;1y;0y;0y;0x:/x:/v:/v:/s7-s7-s7-r6,p6+o5*o5*n4)j1&o6+l3(h2&k5)h2&l6*|F:ŠOGŒPHQIRMSN’UPWPŽYQ‰]R…aUy_PiZGd_IciOZgKN]@EU8AQ4=M0G2:A/7>,9=,9=.8<-7;,6=66=66;46<29<1;=/dxGj†LpOs›Tw¡Uw£T{¡dr˜[e‹N\‚EZ€C\‚E\‚EZ€C_…H`†Ia‡JbˆKa‡J`†I^„G]ƒFY{INp>Ef7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTseXugZsg[mcYjaXle]snhzwp~w† –©¥œ«§œª£™£‘œ”‰v~i`hSLSADK9AJ7>G4>G4BI7GNBÛ?@ÛAAÛC@ÚEAÚEAÚEAÚEAÞDFÞDFÞDFÞDDÝEDÝEDÛEDÙEAÚFB×FAÕF>ÔE=ÓF=ÓF=ÓF=ÔG>×@9ÕB;ÏD=ÁB9®>3œ:-‘;.‰=/„?0?/~?0=/<-„:-†:-ˆ:.ƒ;-ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/}:1}:1}:1|90|90|90{8/y9/x8.x8.v8-y;0y;0x:/v:/v:/u9.u9.u9.s7/r6.q6.p5-o4,n3+m4+m4+j1(o6-j4*h2(j4*g1'k5+zF;MGNH‘PJ’SLUOŽWPŠZP…ZQ{YMv\OkZJ]UBYXDY^HOYA>L3;G18D.5A+5A+8D.=I3AM7EN;BK8?H5.5<,4;+5;75<56;56;48;2:-;@)GP1Ra:buGi…Kq‘PuVy£Wx¤Uzcn‘W`ƒIZ}C[~D^G^G]€F`ƒIa„Jb…Kb…Ka„J`ƒI_‚H^GW{KLp@Bf6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTmaUndXpf\lcZkd\rmg„|‘‹¥¤ ³²®ÄÁ¼ÉÆÁÉľÅÀºÀ¹±¹²ª¤œˆ‚tfcTPQAEI8=F38E18G45F35F44E36D58D6;E:?G<@H=<6(L0–=/Œ=.†>/‚?/€>.=-<-ƒ;,„;,‡;-‚:,‚:,‚:,‚:,9+9-9-~8,~:/~:/~:/~:/}:1}:1}:1}:1z:1z:1y90y90x8/v7.v7.v7.u9/u9/u9/s9.s9.s9.r8-r8-q6.q6.p5-o4,n3+m4+l3*l3*h2(l6,i3)f2'h4)e1&i5*xD9’KE’MF“PJTLVO‡XNYO|\Os\Nk[L_XFUTBPS@JQ?@I64@,3<+2;*09(09(2;*5>-9B1-;@*CL/O^7_rDi„Mr’SwŸXy£Wv¢Us–\f‰OZ}CX{A\E]€F]€F^G`ƒI`ƒI`ƒI`ƒI`ƒI_‚H^G]€FVzLJn@Ae7haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTiaVjbWkdZmf^upjˆ…€Ÿžš°°®ÂÂÀÓÒÐâáßéåäçãàãÞÚÞÖÓ×ÏÌÒº°º¤™˜†zym__YIKL:>F19E1>2J91`94ˆHH²\_È_dÍVZÐOSÕMOÚLKÜJJàHEáFBãDAåA?ÞDFÞDFÞDFÝCEÝCEÜBBÛCBÛCBÚDCØD@ÔE?ÓF?ÐF<ÏF<ÐG=ÎH=Ý>8Ú?:ÒB9ÉC:¼C8«A4™<-Œ9)‡>-ƒ>.>-€=,€=,<,ƒ;,…<-‚:,‚:,‚:,9+9-9-~8,}9.~:/~:/~:/}:1}:1}:1}:1}:1y:1y:1x90x90w8/t8.s7-s7-s9.s9.r8-r8-q8-p7,p7,p7,p5-o6-n5,n5,m4+l3*i3)i3)g1'k7,h4)e1&h4)d0%f4)uC8•JE“LH“PJTL‰WNYOx[Mp]Nj^N]WGPQAKN=CJ:9B12:+08)36-17-06,/5+/5)17+2:-4<-9D4;F6=H7*0640641622716929;0:<.:?)?H+KY5]pChƒLs“TwŸYw¡WržQiŒT^IUx@WzB[~F[~F[~F]€H_‚J_‚J_‚J_‚J^I^I]€H]€HUvKJk@@a6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcToh^ng_lh_tqj…„¡ ž¼¼ºÏÏÏÎÏÑààâòòòúøùû÷öøòòñìéêåâïÍÃàÀµÅ©¥€sbaZGML7CH2AI4AH6BF7BD7C@9D<9C98C772?5;@9@93H/+c76QR³giÇmmÂ[\ÉYWÑUS×QNÝKKåGFèBBê@AÞCGÞDFÞDFÞBEÞBEÝADÜBBÜBBÜDCÙCB×C?ÔC>ÒE>ÐE>ÏF<ÐG=â@;Ý@9Õ@9ÌC9ÀD:°B5›;-‹5&Š=-…=.>-€=,€=,<,ƒ<*„=+‚:,‚:,€:.9-9-~8,}9.}9.~:/~:/}:1}:1}:1}:1}:1{;2w;1w;1v:0u9/t8.s9.r8-q7,r8-q8-p7,p7,n8,m7+m7+m7+o6-o6-n5,m4+j4*j4*i3)h4)f2'k7,h4)c1&e3(b0%e3(uC8”JG“NIQJ‹TM„XOzZMq[Mh\LXUDHK:=D4=E69A208+/7*5=056157257247005.06,08-19,6A3:E5=J9>K9;J77F12A,0?*.42.420511605818:/:<.:?+WzB[~FY|DY|D\G_‚J_‚J^I^I^I]€H]€H]€HSsJHh?>^5icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUfc\gd]vsn“’ޝ¯­ÄÆÅÚÛÝìíïóôöö÷ùüüþÿÿÿÿþÿÿûúüööùôñÿÞÏöÖÇãÈ·É´Ÿ­ž‡ŠƒicbFGG-EG/DF0GD3IC5H;3F42G34M797@;;@:@;8G85cGF‘kjŔ譩ҋ‡ÇtnÀ]XÆSNÖNNâIKëEIðCGÜFHáHKÜCFÕ:>Ø>@âFIàDGÖ:;Ú@@Ú@@ÙA@ÖB>ÔC>ÑB<ÏB;ÏB;ãA<Ý@9Ô?8ËA7¾B8°@4;.8*‹>.†>/‚?.>-€=,<+=*=*9-9-9-~8,~8,|8-|8-|8-}9.|90|90|90z:1z:1z:1z:1x=5w<4v;3u:2t91r7/p7.p7.o6-m7-m7-m7-m7-l8-l8-l8-i2+m6/p92o81k4-g2*g2*h3+e0(i7.d2)^,#`0&_/%b2(p@6’LJOKŠQJ‚QJ}YMv_QfYIRO>CF5=F58C35@02=/3;04:04:077577566446135016/05..6+.9+2=/6C29H5:I68G42D./A+,20,2.-2..3-36/780:&DR1YkCh‚Ru”[wž_r›Wj•N\}HXyDTu@Tu@WxCZ{F[|GZ{F^JbƒNbƒN^J\}H_€K`L^JTrNFd@:X4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUed_onj…†¤¤¢ÁÃÂÖÚÛêîï÷ûþ÷ûþøüÿüýÿþþþÿþÿÿýüÿüùÿûøÿïÚüêÒîÞÅØÍ±À»¤£„‚ƒcgkJMP1II/EC,HA/J>2L93M85Q99;;9BA?MHE\RQyjg¢‹Ì³®åÇ¿ÿÙÏ괪̃|Àc\ÌVTÛPSãFMâ=DÕEEÕEEÙGHÞIKÛEGÖ<>Ö<>Ü@CÚ>?Ù??Ú@@ÙA@ÖB>ÓB=ÒA<ÐA;ß@:Û@;Ô?8ÌA:¿C9±A6 ;/‘9+Œ=.‡>/ƒ>.>-€=,<+€=,<,9-9-9-~8,}9.|8-|8-|8-|90|90|90z:1z:1{;2{;2{;2v=4u<3t;2s:1r90p7.m7-m7-m7-l8-l8-l8-l8-j8-j8-j8-l5.n70n91n91l7/i4,g2*e3*c1(e3*_/%^.$b2(^.$`0&n?5„IEˆQLˆWRWOrVKdRDQJ:>?/:A16A14A02>02<14<15;17:388677577557446116005./7,.8-1<.4A07E49H58G44E22D.062.40.3--2,14-45-8:-9=,7?'DQ3YkEh‚Sv”`wbp˜YfNZzHWwETtBTtBVvDYyGYyGYyG[{I_M_M\|J[{I^~L^~L\|JTmOF_A9R4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUneVneVneVddby{x—™˜²¶µÍÑÒäéìôùüúÿÿûÿÿûÿÿûÿÿýÿþþþüÿÿûÿÿúÿÿúÿüßúùÛïðÐáåÄÒØ´¼Äž©‡’j`hCRW7DG,EC.KD4MC9N?8L=8C:;SJKi`a€xv›“¼µ¯×ÐÈçÝÓúêÝÿôéÿåÛ画Äec¸ACËBIáNVÚVRÒLIËDAÎBAÔFE×EFÙCDÛBD×=?Ø>>Ù??Ø@?×A@ÕA=ÓB=ÒA<Ü?:Ù@:ÔA:ÍD<ÀD<²B7¡<2“9.Œ=0‡=0ƒ>/>.€=-<+€=,€=,9-9-9-}9.}9.|8-|8-{8/}:1}:1{;2{;2{;2{;2{;2{;2t;2s:1p:0o9/n8.m7-k7,k7,l8-l8-j8-j8-j8-j8-i9-i9-n91m80m80m80m80i7.f4+c1(c3)a1']-#_0&c4*\-#_0&sD:OK‚UPXQqSK^J?OC7?<-37(2:+/<+0<.2=/4<15;17:37:388688668557257227016/08-.8-0;-2?.6C27E48G48G48G46=53:2/4-,1*.1(13(57*6:)6>'DQ5[lHk„Zy–fwœfl”X^‡KWwEUuCRr@Rr@TtBVvDWwEWwEXxF[{I]}K[{I[{I]}K\|JXxFPfOAW@3I2icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUneVneVneVneVofWgklƒ‡ˆ£§¨¹¾ÁÐÕØåíðóûþõýÿùÿÿûÿÿüÿÿüþûýþùþýøÿþ÷ÿÿöóÿâñÿÞëùÖäòÎÛêÃÌÛ²³Â™ ¬„}‰cdnKLS4EI0HJ5KI:GE9D@7QEEk__‹€¤š™µ°­ÊÇÂÜÜÔççÝ÷óèÿýñÿøíÿÝÕú·±èŽŽÌbd±>CÃPIÉTMÉOJÃF@ÊFBÔMJØJIÑ??Ò>>Ô>?Õ?>Ö@?ÕA?ÓB?ÓB?ÒC?×>8×?:ÒC=ÌE?ÀE>±B9¢=5•;2Œ<1‡=0ƒ=1=0=-~<,€=-€=-~:/~:/~:/}9.}9.|8-{8/{8/~;2|<3|<3{;2{;2z;4z;4z;4p:0o9/o9/m9.l8-k7,j6+h6+i7,i7,h8,h8,h8,h8,h8,h8,o:4j81h6/i70j81j81e4-a0)e4-b1*].&a2*b3+Y*"_3*zNE~]XvWRiNGWC:J<3@:.:;-8<.08)/:,1<.2=/5=25;169078079468368349338138119.19..9+/:,1<.2?.5B18E4:I6;J7;C87?428.-3)-0%/1&24'48)4<'ER8_pPr‹d}šnwœifXT}EUrBTqASp@Sp@TqAUrBVsCVsCWtD[xH]zJ\yI^{K_|L\yIVsCK\JD8f\Z†|z«¡ŸÁ·µËÃÁÕÐÍãâÞîïé÷øðùöíüòèÿóéÿóíÿäß즤´if«K=³QDÁYNÇ[QÆQH¿D=ÂA<ËD@Ë@=Ï?>Ð@?ÑB>ÒC?ÒC?ÑC?ÑC?Ö>9Ô@<ÒD@ÉE@½D<¯@9 >5•<4Œ<3‡=2ƒ=1=0=/~<.=/€Qn>Qn>Qn>Qn>Qn>Sp@Sp@WtD[xH]zJ]zJ_|L_|LZwGQn>ESF6D7(6)gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXpgXpgXinrz‚…“š «´¹ÄÍÒÜåêì÷ùôþÿôþýöÿüúÿúûÿ÷ûþóøúìõöæòóãòþêôýèôüåóøáòöÛëëÏØ×¹ÅÄ¥±°’ŽregOMP;EL:EM>EODGSG~zqŸ›’ƽ¸ÙÎÌáÓÒçÛÛôêéü÷ôðïëûüöÿÿöÿþôÿúñÿôêÿçÞÿÚÒß‘}·fS¢K:²UF½WKµF;·@8ÈKEÇC>ÊC?ÌB?ÎC@ÎC>ÍD>ÍD>ÌC=Ô@<ÒC=ÎE?ÅD?¸A;ª=8ž;5•<4Œ<3‡=4ƒ=3=2=1~<0=1=/~:/~:/~:/}9.|90{8/{8/{8/|<3{;2{;2y:3y:3x92w81w81m80l7/j8/j8/i7.i7.g7-g7-g7-g7-f7-f7-f7-f7-f7-d8-i70h6/g5.f5.g6/h70g6/e6.a2*e6.^2)\0'`4+a5,i=4|PGQJBE>6:6-85,99/8:/47,36+4:.5;/5;/69.69.68-57,46+19,19,19,19,19,19,19,19,08+.9+.9+/:*0;+3>.6A17B2gw]umv‘nf‰_RwKAh;Mj:Nk;Pm=Pm=Nk;Nk;OlVsCZwG]zJ^{K_|L_|LVsCLi9=H@/:2#.&gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXqhYqhYcjpmtz„’£¬±¾ÉÍÓÞâåðòðüüòüûõþùøÿ÷úÿôüÿòúýìøùçöøãööìù÷ëúöêýöæÿôâøëØçØÁÖÆ¯À±šŸ“}vn[ZWFOQCQWKYcZbme–˜‹²²¦ÕÎÆêÜÙõããüéëÿñôÿ÷ùÿýýýþùøûôõûñúýòÿÿóÿÿóÿÿñÿãÊ¹q[¨WD¬SCµQB¹MA¿JAÂG@ÆE?ÉE@ÊE@ÊE>ÉD=ÈC<ÈC<ÒC?ÒD@ÌEAÂC=³=9¦;5œ;5•<6Œ<5‡<6ƒ=5=4<3~<0=1€<1~:/~:/~:/}9.|90{8/{8/y90{;2{;2z:1x92w81v70v70u6/k90j8/j8/j8/j8/h8.h8.h8.g7-f7-f7-f7-d8-d8-d8-d8-h6/h70i81i81h70i81j;3l=5g80k<4b6-a5,oC:xLCtI@uJA:=647036/7:18;247.14+25,58-58-57,46+46+46+46+46)/7(08)08)08)08)08)08+08+19,08+08+/7*08+19,3;.4e9Jg9Li;Nk=Nk=Li;Li;Mj
    UrDYvH[xJ]zL^{M\yKQn@Eb47@;+4/!*%gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVofWpgXpgXqhYriZhowmt|‚‹’¥®µÂÍÑÔßãäïñòþþóýüôÿùöÿ÷úÿôüÿñýÿíýÿêýÿêÿöñÿøóÿ÷ïÿ÷íÿöëÿïáöÜÍäʹƯ§”ƒ€sce]P[YM_bYovo|…€¦­¾À³ÚÖÍñãàÿìíÿñôÿñ÷ÿñ÷ÿ÷ûûúøøÿøøÿúôÿõîÿïòÿï÷ÿóÿñÖÿðÖÿȰÅ}g¢O=®Q@¸RD³C8ÀIAÄH@ÇF@ÇF@ÈE=ÇD<ÆC;ÆC;ÓD@ÐE@ÊE@¾A=±;7£74š93•<6Œ<5‡<6ƒ=5=4<3~;2<3=1~:/~:/~:/}9.|90{8/{8/y90z:1z:1y90w81v70u6/u6/t5.k90k90j8/j8/j8/i9/i9/h8.f7-f7-f7-d8-d8-d8-d8-d8-f5.i81l;4k:3j92j92m>6qB:n?7pD;g;2g;2SJŒaXTKpE<6=52913:27<5492/5+25,9<345-35*24)13(13(35(46)57*,7',7'-8(-8(-8(-8(-8(/7(19*08)08+/7*/7*/7*08+08+7@+9B-=D2=D2=A29;-35'/3$3:*JVBcr[f}a\wVLnICgA=c:He7Kh:Nk=Nk=Kh:Jg9Li;Nk=TqCWtFZwI[xJ]zLZwINk=A^05;9*0.!'%heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVg`MjeOnlWnl]ff^eeeqqy‡‘“–ž¡«³¶ÃÈËÙÝàìíï÷÷÷ûùúþýûÿþúÿÿûýþøûüöùüóúýôùÿõùúõùúôøúïúûëûýèöùÞäçÈÒÖµ¶¼š”›ymvW\fK`lTq~lƒ‘€žŽ··µËËÉââàïïíôôòøøöúúøùù÷þþüþþüþþüþþüþþüþþüþþüþþüæÿÿðÿÿûÿÿýïîЪ§ a\™D=¸MEÄKBÈC:ÊA7ÎD:ÑH>ÏJAÉI>ÆG>ÁJ2¿K4¹L5¯K4 H2”F2ŒE3‡E5‚D5C6€@4‚>3…;2‡9/Š7/6-~:1~:1}90|8/{7.z7.y6-x5,w7-w7-x8.x8.v8-u7,s5*q3(h91h91h91g80h70g6/g6/g6/f5.h6/i70j81i70h6/f4-g2,k1-k4/n70m80k9.j:.i>.iB1dC2gJ8aJ8raOyn\ƒ|j…‚qOL;4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4./4..3-.3-/4./4.05/0;32=55A77C98D86B64@22?.3@.DQ=WeN\jSSaHHV=DR8FT:Ic>Ke@Ke@Ke>JeOjAUpGYtK\vO]wR]wTWpPHaC8Q3).2&+/$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVjcPlgQmkVlj[gg_lll~~†’ž§±³¹ÁÄÏ×Úâçêðô÷ûüþÿÿÿÿþÿþýûÿþúÿÿûþÿùûüôøûòøûò÷ýóøùóøùñøúíøùéùûåòõÚáâÃÌЯ´¸—‘–vkrSYaI_kUtoŒ˜Š›©œÀÀ¾ÓÓÑççåóóñ÷÷õûûùüüúûûùþþüþþüþþüþþüþþüþþüþþüþþüîÿÿôÿÿüÿÿÿüúÿíêñ¿¸Ã}u¢J@³K@»J<ÅK>ÈJ>ÄD9½=2¿?6ÃD;ÂH3ÃJ7½M9³J7¦G5™C4D6‹F7ƒC7C8A7>5‚<4„:1†91‡81}:2}:2|91z:1y90x8/w7.v7.u6-v7.t8.t8.t8.r6,p4*o3)i81i81i81h70h70h70g6/g6/e3,e3,g5.h6/j81j81j81k92k60l71m80l:1k;/l>1j@0iD2hG6kP=gR?ufSvd‹†s†ƒrML:4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4..3-.3-.3-.3-/4.05/-80/:21=34@66B66B66B45B16C1CPAO6BP7FT:Ic@Jd?Ke@Ke>Ic3L/).2',0$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVmhTmhRmkVjk[jkcvxw‘‘™¨ª¶¾ÈÊÓÛÞêòõ÷üÿüÿÿþÿÿÿÿÿÿþÿþýûÿþúÿÿúýþøúûóõøïóöëñ÷ëô÷îöøíöøêö÷åõ÷áîîÔÛÛ¿ÉÊ«°±’“–yuy^kpZt{iˆ§œ¬¶­ÎÎÌÞÞÜïïíøøöûûùþþüþþüýýûþþüþþüþþüþþüþþüþþüþþüþþü÷ÿÿùÿÿþÿÿÿüúÿúôÿöíÿÑÄÙž•L=§Q@¬K;ª>1¸G9ÑXMÐTJ¾?6ÆD6ÇH9ÄJ=¹I=ªB7?5•A7’E=‡A9„A9@:>8~>5<4<4€;4x<2x<2w;1w;1v:0u9/t:/t:/s9.r9.r9.r9.q8-n8,l6*k5)j81j81j81j81i70i70i70h6/g5.g5.g5.g6/h70i81k:3k:3l;4k:3i:0j;1k?2lB4iD2fE2fI7lVAjYEviV†l‘Ž{€mEF439/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4./4./4..3--2,-2,.3-/4./4.*5-+6.-9//;12>24@46B47D38E3?L:ER>CQ:;I28F->L3ES:H`>Jb@LdBKc?Ia=G`9F_8G`9RkDXpL]uS^vVZqTPgK=T8,C)).2',0%*.heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\kd\md]meZmfVniUljSlkVlm]pqi€‚ž¡¨º¼ÈÃÍÏÜäçóûþûÿÿúþÿüýÿýýýüûùÿþüÿÿûÿþùûüôõöîîñæëîãçíáíñãðôåñôãòôßðòÜêêÐÙØ¼ÈÇ«²±•¡¡‡‘“}‘’€œžª­¢¶»´ÀÅ¿ÜÜÚééçööôûûùýýûÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüüúÿÿþÿÿþÿöòïûôîÿýóÿûíÿõäêı·ƒn”Q>¡P=¸XH¸L?¸D7ÀG<Ç>4ÉD;ÈH?¿F>°?9¢;6š=8–A>?;‡@<@<}@;z?9y@9x?8v?8v=4v=4v=4u<3s=3r<2r<2q;1o;0o;0o;0l:/k9.j8-j8-i7,n72n72m61l71l71k60i70i70l:3j92h70g6/f7/f7/h91h91j?6f>4e=1f>2hC3iE5gF3cG2cJ6hV@k\GskV‡‚nŽzor_9>*28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3-.3-.3--2,-2,-2,-2,.3-.3-)4,)4,*6,+7-.:01=14@25A36C2:G5Æ=7ÈA;ÈD?ÀC?´<;©98 9:›==‘==Š>>„@?|A=xA6s>6s>6r=5p>5p>5p>5n>4n>4m=3l<2j;1j;1i:0i:0i:0p62p62p62o51m61m61k60i70l;4k:3h91e90e90e90e:1f;2dB6cA5cC4dD5fG5eH6cH3_I2^L6eV?jbKrmW„ƒn„‡r[`L3;&28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3--2,-2,,1+,1+,1+,1+-2,-2,,6.+5-*4,*4++5,.8-0:/2=/2=-5@06A05A-1=)1=)5A+9E/=O5AS9FY=I\@J]?J]=K^>L_?TgG\oQcvZbtZYkSK]G6G4$5"&+.$),"'*heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\lc\md]meZlfVlgSljSlnXorasvm…„Ÿ¤ª¸¿ÉÖßäîöùùÿÿûÿÿùýÿþÿÿÿÿÿþýûÿÿûÿÿúüüôóõêëíâãçÙßãÕÜãÓäéÒçìÕéíÖêìÔëëÓèæÏßÚÄÔθÔÍºÍÆ¶ËøÐÉÁÙÒÌàÛØëååòîïòòðùù÷ýýûýýûýýûÿÿýþþüüüúþþüþþüþþüþþüþþüþþüþþüþþüÿøüÿöùÿýýþÿý÷ÿýïÿøëÿõòÿøëúçÿÿíÿïÛ̧”£lX£ZG­VCªM;ÁA8ÃB<ÃD>¿D?·?>­;;£99œ:;–<<Ž>?…?=}@=wB7o>7n?7o@8n?7m>6i=4h<3h<3h<3i=4r73q62q62p62o51m61l71j81h70g80e90e:1d<2f>4f@5gA6]C4aG8cL:dM;cM8`K6]K3]M4]Q9`Y?miPss[€„mt|eFO:2>(39/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0*+0*+0*,1+-2,,6.,6.*4,*4+*4++5*-7,.9+-8*0;+4?/5@/4?.3>-3?+4@,7F/;J3@P6DT:GWºH=ºH>ºG@·F@°C@¦=:97—<;‘=;ˆ>;€A5i=4j>5j>5k?6s63r73q62p62n72l71j81i81d8/d90c;1d>3d@4cA5cA5bB5VG4^OmmSsw^z‚jcmU2>(5C,4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1+,1++0**/)*/)+0*,1+,1++5-+5-*4,*4,+5,+5,,6+-7,,7)/:,2=/6A17B27B25@/4?.2?+5B.:G3>L5AO6ES:JX?M[BTbI]kTcqZ_lXUbPERA2>0#/#(..&,,$**heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVjdTjdVjcYkd\lc\md]lfZlfVomXmmUimVgkZembr{xŽ—œ¨±ºÊÓØäëñöþÿ÷üÿøüÿþÿÿÿÿÿúù÷ÿÿúýýõøøîðòåéëÝåéÚåéØåìÚæíÎèïÐéîÐæéÎèæÏèãÏáÚÈÙÏÃÚÍÄßÒÌìÞÛúììÿôöÿõùÿõûÿøþýýûÿÿýÿÿýþþüþþüÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüÿüúÿýúÿûøùýüøÿÿôÿÿðÿÿêþüðÿûùÿûÿÿôÿöæÿôßÿãÍ×­”¢sY°SA®Q?®N>°O?±OB¯J@¥C:š<4—<7‘>8‰?6ƒ@7{B7tD6qE8nG8s>:s>:s>:q>:q>:q>:q>:p?:sB=rA8l=7l=7m>8n?9r73r73q73n72m82j81i81f:1f;2d>3d@4bB5`C5]A3\@2[?1QI4[S>f^Gg_H`Y?ZS9ZS7\W:ZV;WW;knSrx^u}eUaI%37E.4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0**/)*/)+0*+0*,1+)3+)3+*4,+5-+5,,6--7.-7,,6+.8-2=/6A39D69D67B46A1/<*2?-5B09F2:u@:s@9o>9o>9n72n72n93m;4l;4j;3g<3d<2c?3^>1dG9cG9T=-O8(M8'D/TR;PN7KI0MK2]Y>ieJeaDVU7XX<]`CosXz€fcmT=I1,:#1?(5;15;14:04:04:039/39/39/39/39/39/28.17-17-17-06,16016005/05//4./4./4./4.,1+,1+,1+,1+,1+,1++0*+0*.5.-4--4-,3,-4--4-.5-.5-+2*-4,08-5=29A6=E:?G7B25@03>-1<+2>*9E/BN8IU?O[EVbN]hWYdTLWIF5F4‰D4…D2}B0yB.s@-o?+v?:t=8u>9v?:t?9q<6r=7sA:q?8q?8q?8o>7o>7n=6n=6n=6l;4m<5m>6k?6j?6h@6eA5cA5dG9[A2^G7\I8N=+F7$G8%A4!IM4GK2DG,BE*MM1[[?abC`aBYY=dgJsw\sy_X`H8D,/;%6D-7=36<26<26<25;15;15;15;15;15;15;14:04:039/39/39/27127127116016016005/05/.3-.3--2,-2,,1+,1++0*+0**1**1*)0))0))0)*1*+2+,3,.5--4,.5-07/4;39@8?F>BIA:G69F56C13@.2?+5B.;I2?M6KXDR_KXeSVcRKWI8p;5q<6vA;sA:p>7r@9xG@n=6n=6n=6m>6l=5l=5l=5l=5g?5h@6gA6gC7eC7cC6`C5^D5aL;UB1ZI7`S@RG3C;&E=(GA+>G,BH.@F*<@%?B%LO2_`AijKaaEnqTvz_gmSHP84<%4=(=F18>48>48>48>47=37=37=36<28>48>47=37=37=36<26<26<25:449349349338238238227105/05//4..3--2,,1++0*+0*(/((/((/((/((/()0)*1*+2+070.5.+2++2+.5.5<5K:4-9/-3/-3/,2.gdUgdUheVheVheVheVifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWmlWimThpXht`hthm|wˆ—𥴻ÀÉÐÔÛáéðööûÿúþÿýþÿÿÿýÿþúþþöýýñúûí÷úéô÷âîóÝçìÕàèÐÜà¿×Ú»ÖÖ¼Ù×ÂÝ×ÉßÖÍåÛÙìàâøìðüïöÿõûÿùþÿúýÿûûÿûûÿýúþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüöÿþ÷ÿþúÿþþþÿÿüÿÿùÿÿøÿÿ÷þÿøÿÿøüÿùùÿýúÿÿøþÿøúÿõöÿóÿþìÿýéÿòßÿñÛÿðÚñÒ½³zyS3i?3i?3i?3f>2f>2f>2f>2aA4`C5`C5_C5^D5[D4ZE4VE3XI6OB/\T?oiSc^HMK4IG0LJ3;E*?H->G*48>47=37=37=39?58>48>48>48>48>48>48>47<67<67<66;56;56;55:45:438238216005//4.-2,,1+,1++0,+0,*/+*/++0,,1--2.-2.051.3/+0,+0,-2.2738=9'4.:0.5..5.-4-gdUgdUgdUheVheVifWifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWjnUiqYgs_drejyt…”—¡²¹¾ÇÎÓÚâèïõôùýùýÿýþÿÿÿýÿÿúÿÿøÿÿóþÿñûþë÷úåðõÞèîÔàéÎÛܽÕÕ¹ÑÑ·ÔѾÚÔÈáØÓêàßôéíþóùÿöþÿûÿÿýÿÿþÿÿþúÿþúþÿùþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüøÿÿøÿÿûÿÿþþþÿýþÿûüÿûúÿúúÿùùÿù÷ÿù÷ÿüùÿÿûþÿûûÿüùÿûùôîÿÿöÿþôÿýóÿüîÿ÷çùçÓéӾϴŸ¶š„•u`yVBlI5mH6rM;uP>mF7iB3gB2jE5nI9oJ:pK;oK;eA1eA1cB1cB1cB1cB1cB1bC1\G6\G6\G6ZG6YH6WH5TG4RG3PH3MH2fdM~~fprZVX@IM4HL3;E*A.;>+9?59?59?58>48>47=37=37=38>48>48>48>48>48>48>48>49>89>89>88=78=78=77<67<66;55:449338227105//4./4.-2.-2.,1-+0,+0,,1--2.-2.,1-,1-,1-,1-.21043376598:H7=L9@O<@O:8F91?2,9/.5.-4-,3,fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWioUiqYgs_bpcgxr‚”– ³¹ÁÊÑÕÜäéðöõúþùýÿýÿþÿÿýÿÿúÿÿöÿÿôÿÿñÿÿïúýèò÷àéïÕàéÎÙÚ»ÑѵÍË´Î˺ÖÏÅßÕÓìâãøíóÿöþÿùÿÿüÿÿýÿÿÿýþÿúýÿ÷þÿøþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüýýÿýþÿýþÿýÿþþþüþÿùþÿ÷ÿÿõýýóýýõþýøþýùÿþüÿýÿÿýÿÿþÿþùÿÿüÿÿúþúöõýøôÿþöÿþñÿþïÿûéÿóàöåÓåÓ¿Ò»©¹ŸŸƒuŽrd|]I}^JrVAaE0W;&Y=(Z?*X=(`E0`E0_F0_F0`G1`G1^H1^H1[L9ZM:ZM:XM9XM9UM8RL6QL6NL5QQ9ikS|€glrXSY?DM2>G,:G+48>48>48>47=37=38>48>48>48>49?59?5:?9:?9:?9:?99>89>89>88=78=78=77<66;55:4493382382/40.3/-2.,1-+0,+0,+0,+0,+/.,0/-10.21/32/32/32.210A.5F3;M7>P:=O7:L47I/6H.3E-6H0:L6MJ9EB1;A7;A7;A7;A7:@6:@6:@69?58>48>48>49?59?5:@6:@6:@6;@:;@:;@::?9:?99>89>89>8:?9:?99>89>88=78=77<67<6495273162/40-2.,1-+0,+/.,0/,0/-10.21.21.23-12,01):'/@-6H2;M5=O7?I.9F*?L0=J.AN2DN3HQ4LR6IN0JM0ZY;miLhdIc]C_YA_ZD`[GZUBQN=LI8=C9=C9=C989>89>8;@:;@:;@:;@::?9:?9:?9:?99>:8=95:6384162/40.3/.21.21.21-10-12,01,01-12-12$5"*<&3E/9K3XW9UT6SR3KE/JD.FA-D?,A>/@>1??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B79A6:B7;C8F;7B:7C97A66A16?.4<-39-270.5./51-7/-9+-<%.B3J7O7Z 8Y$8W+:U2:R8;P==O?>O=:L6@R8EX:EZ;DY:>U93J0(>'.5-,3++2*ZgM[hN\hP_iQakSckTglXhkXghVihVifWifWkeWmeXmeZnf[khWkhYkg[kg^jf]jf]hfZgeVgjWglVfoZerajwnzЉ𫲷ÉÓÑØÞáéìò÷úøþþùþúúÿøûþóúüï÷úé÷øæõôâíìØéæÓåâÏÜ×ÄÑ̹˾­Á´¤º¬Ÿ¼¯§Á¶²ÌÀÀÛÐÖèÞæûóþý÷ÿþûÿÿþÿþýÿüýÿüýÿüýÿþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿýúÿüùÿüùÿýùÿýùÿþúÿþýÿýüÿüûÿýþÿþÿÿþÿÿýþýûüÿþÿÿýýÿüùÿøóøíçòåÝöèßÿïçÿûÿÿýÿÿýþÿÿýÿÿûýÿüýÿþüýÿýþÿþýÿÿýÿÿýþÿý÷ÿþîÿÿæÿÿâ÷÷ßýûââàÇ‹‡lRM0TM0QK+SJ+WN/UO/UN1TO1SO2QP4QP4PP6QM2PO3PN5PP6MO7KO6HM6EM5HQ6EN3BK.AH)BI(GM+JP,KQ-NR/PT1VZ9^aBaaE[[?VVVV>XV=YW>XW;XW9WV8VU7QK5OI3LG3ID1DA2B@3??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B7:B7:B7;C8F;76<83=51=/3B+9M*BY-Ia1Nq7Mn9Ji=Fa>AY?:L<:K9=O9DV5:@69A67B47B47C57D3:B7:B79A69A69A69A6:B7:B7:B7:B7:B7:B7;C8F;>F;>IA>J@?I>>I9?H7>F7>D8=B;>E>;A=6@85A39H1BV3Pg;ZrB]€F\}HVuIMhEBZ@9N;5G74E3XR6F;?G<>H=>I9?H7>F7>D8=B;=D=;A=6@85A39H1DX5Ri=]uEY|BXyDRqEIdA,6H2@R8L_AQfGShIMdH@W=4J329107/-4,YgMZhN\hP^jRblTemVgoZjo[lo\lm[mk\mj[nhZnhZoi]ph]liXkhYjfZie\ie\ie\ig[igXfiVchRajUerao|s{‹ŠŽŸ¦Ÿ±»ÂËÒÕÜäéðöòúüôúøñöðíðçéëÞáãÕÚÛËÒÑ¿ÌɶÉıþ«¾¹¦»´¢Ë¾®ÓŸÝÏÄæÙÑíâà÷ëíÿôúÿøÿÿ÷ÿÿúÿÿüÿþýÿýüÿûüþüþýþÿÿþþþþþþþþþþþþþþþþþþÿþüÿþüþýûÿüùÿýúÿýúÿýúÿû÷ÿúöþùõÿýüÿûúýùøüúûþüýÿýþÿþÿÿýþÿüýÿüüÿüùÿøó÷ìæòåÝøêáÿóëÿûÿÿýÿÿýþÿÿûÿÿûýÿúýÿüüýÿüýÿþýÿÿþÿÿþýÿþõÿüìÿüãÿúÝþýèÿÿëåãÌŒˆoRL2UN2TM0WN1VM.UO/WP3VQ3UQ4QP2ON2MM1PL1NM1NL3MM3LN6LP7KP9JR:LU:IR7JS6QX9SZ9U[9]c?gmI€”a’¦sŸ±š«’¡xˆ”pr|Z\bFLP7KM7LK6KI4NI5PK7TM:VP:WQ;VP:SN:QL9LI:IG:EE9CE:=>6F;?G<=G<=H8>G6=E6=C7=B;:A:9?;5?75A39H1BV3Ne9Wo?Svs0wTR6gx;izGyxImRRob5s(|!frH3ND3P@La?*u90Rhsms zfHVQI@WK7=ePg`$@2zvj`Lo8@=_ zh=_>@Nr;JwNl8h_Ak-8Pa&ia*oazQO3nLpV3nMc#;-(-Mf}Nj(nVDOhhhG?l!C=_9 zBxNPgGJ+x)^z|Y@Qc_X~IfR~qf*y@zMxy`UaoG!ikpR*FYXm@c00;&ofB`T20Zae@ zhyZx~yZ;7=000CN5)oe|8GwNQodW=`vS7l?IRJzJ2mnC|pjTxcebh(Y#-%cSiuP`Z z7b`Q!_1pR|!@MD+rWkf?O7Nt`_)Y3DK@Cl_v%Yj?L-vln|NiU3GC56>#vZR;xYSeT zzg9kxeIg;}v+4}fZp;=CO!}ZOV@xve^I5TJbI0hjAJ29qt6|?Nv4=Hu-mw|)#wXw7 zrcGE_dOyyXc0TkN2-jK)#Nx$mo+$o{+odnb=di`vu#X z0hWn{KHwsY`Ry8))Y4mKBNLT;*biz`*ENJNc0eX}YWBjWpDQ%(B80Ven_7l9xEi~tOUBakRUDt5Gp0yT%QA`M3Aihd+lj0F;c{*Y$?%c}+1 zSjf?diK@&mkC(v1x_RQw@(HUrMiIjWP3uifn+WCC@j{EsXsY7DGGU#Z67@7*gAZ3P zvAy((pHsi)^MZp<`?h_926LXs4_kbhiT#V;%p77~@jjc63I^oqtAvF(Mi2LWX68OT zKr=IXt+v|b6<3sNb0zdS(i5qS6j`xR@ytg@wUL_1cFV5z5aH!r?%s=d#hB@_#>axF zZzC;2Z<;D>YN28yqAh8{s(&zS1%7=X=|wTu2Aq%Pc#lnwFylB7 z_G@u0)FINhs{8dYO&uL$WrnfFHhTY9bi z#fWZGPH*(8e@^bnESq*Hc)Wsv*(Z(HEv*UXc>7QdT^YDb`LR~ILGdw%qF8}&rL>Gi zML<^AVOaJyJM2DP(y@A)Y^^Pj3Ewj69=6aCR*QUKzvt#(^WHs>>atUA_K(CFI z$sLm{G>AJlrKBDf#>L;!< z@_;D?XeQYqO>2}g?H-*?q)BW|OxQNI=8#q^+Q4Ke{{DBr{M!s9&TV$v>9@`A_>ftD zpqnX231B0m@e+`8#dmJlKYag}?pIO@B7i~RNH79Lg;pS>rqN|rbo-m^S1K$I+$+Sp z`Y!cj(H0Im^VKOMZB6#A&s+ygM?C9w0|OQC;~^UrkCri#SLGjAicOv&T4XW5as;tVP-Uhd~r{vOC87^{^cYVlR*~xvEGCPutdd3y-8IJT~;QQDk&BQ5)$#7PARJ4-% zJ&=m}{ejv3`&$}ZxwOfLrI_bw^V~k19*>+^qOdM4aOjCy)bp+@u#neaT^kkPA8oh> z>k2CZ1PZA@rKtNiN}y|$c9aWsRbUqG1KfkVsVU+<^@9hSu>z#oq}dc=PgT~!xrB|F|s>0EK}NNVqVHT|w81;5J&s+6^0=^pC<3 z$%B4Er|H<7$?{5hcfCYi#*O$evm1BP(t8}k&mY2NDk5WR>)FD&Yy`3?eSd<*4qDR* zKe;V0*wkZM=9rK^4ZHB(d(p7e^(jA|pO zXG6)4&DBrpYrC2-m;y=zt<4&(SMMBSy9~bVH=c3pL61)ej#>lft@0neE}sc1i|_Iq zn!ht}?;*B0m2GbGw>kBh^FwK@{@{zczR~P_{&Ku{$L@Y6$uzX;s5BufJ*%Ik%9&J= z;H%EuQ+Tnb?v`~?E7ZRA$##XuPQ{%OO?gR6V$csJ5wXak^I61}&5bLt*r8W@{ohUh zw>tsCkSORCP6)T)q=LGCZ9pEWSt8U!A_)I!U9eo_uS@K~#z&dp5aPy-O|kZOp*H0j z%K)m5a`J^jWh3iTafQ11iea)UQ!;U#JUz5rWL9%evijJdo<6t^#+@YNx^Z2#IBnbD z(C4wJ7q{3U3I!zoyoD`l52k)mAJMpctZ%ynKvDwLZq4-y!UU2jCP0Ih?duNmy+^4_ zp@%C(PLodM;gCevi%cbwa$6+`toqPQgvlxlGhe-~9*5Dqw;dr6e>zqw8efo1)j7^< z`;#unU$4+SWKa`Giq0WbMKzH!N)fykkB7$coO91p8}l!~SsCKGg3CPRhLflT?j0t) zn2x2OfH-YClN#E8&YWDH{Pp?H8=KV^5yN$iaZkLI{`6`06;DRR)l0!0Jtcd2zP&4PkBj! zQ@5XrrEs^C&HKb#m30K zxC`FSFB&ejpJoV|Oe%PTs$3%7Bi&XMpG=+A))kz`&~!O_EH~^dP2ql`p4#V~payJ~ za;e*6(IhZKChDTvJGOD}LdyhtJ~ZO1-iWHF&G8%@c)TVO?f?sKiABG%0a-e#^ZDzm zgvdX392PkpNj%?WO@G{hDAh4ENCTPD0hujr8+R zo6RO{5hU#%s8^MW)$^;XaWx^A06i=FuN2OasNDX_2*Jf?N_K&}7LP+$UL)!XwGYcX zsTI^(6$7*`0fsMXUp+p{;M)sM#Vwa)Z`WEQ&>2W9@}dsoNt@1fvtg@!I{#dQ_D zKW@g{XC@p zFuDuJMUX$?>iOCz9`@o@WW%FO)wWZ_BlAew7rO_Fs$cc67Tu*w!`8}A%^9^;(7q4r zqBX*UCUF@Ni0!bFg9Z?&t$HZW>6DheIe(n?A%hSpF zRgU68+|whT9v7U-*3e59^0I;xzs++&pDVOjVAo^c6&P3FfBJ0z42neQDp>uu>A1F2 zs0M$%-5#GcV~3{npyasc`1D>kN-E{(&q3*c%Wy}hB9rxEElQp?ckwpLu>s|R3z${^ zTzpb1;X=lq<7s5{am3Ec&igyA?tOjiV;RZEb3+c#JIG1Bgnbo#-<5RJ-4Qr#LeP3q zq|0`xPSyVEc2=OgZ`E-=c9_^b;oVH6`RmuguCItuxzV0CY zE)@v4a*`_}fnFQQR9z2Z<>2st>;!ruJvx93f~gP3O5jy=Di$y{+vyBiaolB^H*Hl6 zGr^|HKyGxeQKg;hd3$kHd7NX0aHu=z)=G$8AN>uK`5}N;@&ba6u^hl7v!d#b;kw`9 z+YX3Z(5RTN*tpSNfL^Z%yK;rS+M=&M{EQzL(Sy=IPk#m5iQyd#dBFe0OwqENrJRu16pnnObI4Tc_RYBoq zGMuCL_%1@CCi_+BNETm=$A_0n95S{FcXTfe_d35I!&b>GMUm#}QGx_Itxc3m+j88$ z@OD>34*SISMNS(D!){|lZW0kqHD{MpqYG{>yYoJX!T;s+IL?%nVYgr3WejZ0HLrVA zvWq#_wq=b>`+a9he_dZ8?RkE@0l|7Hy6WbqOeVy#)?k`JBOX!k=FO;Utje&=*gDxS z)1xnp35Pu9{bkvf^x3Qi=e-#P@jSK zbGtGm@tCM_qu+U?mYLOm=pk$kYWh4DS@!KB`XjU2M!i0u;{!aM_AIP)FRDSpFnUnm zA1`ytF1{64P9Xezi_hkUc}!G3Ll|pK)I+^08R*E{9>$ua@}z3F-3qXo9MU?3C@D78 zB`+ag2~i?3pj?s{+sB5hl&NBJ-8wugzY#>~n?XiQG}KNxUCcAVUy&aXp##FsN8L2B z0pAgj|CX6)v`XMy{X1}>I|nSdP}o4blHJV0|F#(sY7D7Oe*ItuF(@xw&9~{)&9S0l z49w7x67+*vf8p~Tw5>pgulQ>&4jJHP#|CDM`0DTd;+%oh8N}W46`PxtjPee76~J9DA9UwyblfpauCtd`VG6>MZS>B`7X*YpNHR4OX-;qF!- zj=efy>O)l)k#RwN7Kt>+gnS*k1uuLj*T!(=nV(5!sSk_ly0crL8_R%Daa6SCYu)^u zUqxl`IHNNe9W^=|%?=ig@QQ7kx!*Ja;=3n##rTw47aoZlIrEhE zfOsDUla}df*ntft1Gtuye%+{+69vQ+Ju=F0d=j-;gZaY|)Z=ssh(actso;A|y;%lM zjH6Dt&qi*)F{WUlbf@3Y#839NYoM1o^JT!E+TMA3ggxLcQOOv3!!J7I2}O#PL?xOv zu=@9B0lw#9L9RQ}tap9zs+6;h)?uoq$~u0xwW?^QgoNJv*LBWY#{rfT0W{6EO49qr zZnG^z}sz1pX-r(?BWjMKI_t3Rhy-xk}eCA^fTg<2f}>~Eb$6S UV9?7uwJ&e$(diH-;xA|a1JT3r4gdfE diff --git a/3rdparty/openctm/tools/jpeg/testorig.jpg b/3rdparty/openctm/tools/jpeg/testorig.jpg deleted file mode 100644 index 9816a0c6231a7c5eaafd445368a9eeb1cffc63df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5770 zcmbW(S5y;DmjLjD7OF@IQiAkel%{kP4J8sV5JE?av`~c5K@n7n^ePbPA&}6K-V}sT z6$Ap(MS2lLiZsRb|9yLQ&)KKly>n(BX70IXelrg!N z0e1kjG&CR@YFZEoL`O$U&&bZi$iTqJ#mdIa&dberm6sa=;TM(_;}?_`f|9_4@od6bEKn7r$5-13uU;$FH z0RQv=`2Oyb8u+gO{AU0uD5v}?P-#-n?}3J#cObo3loIJvk*M8(7l0; zqpPP6GeMf7%*-t;9UnS5ySTccef|6c0)v7>p1+8UijH|1o0^uM@hUSb8(V}c#+Q^5 zh-Gi;>KhuHnp;}mclVHb`}zk4$HvJMlb@%iXTB~iudJ@EZ)|S;*grTt`gweEdiIYC z2%!8o>+kq)*#B^`{B==KQBhKX{&4{*0{?bO7Ak51IU3g62#~!Go1lCIExUF~VQm+k zkb?0Z*a0(2&mpY%RpiG%w13I|cd%#wFWG;={@XPJV59{8y*x@5fEHkX6&-NqEJ3S? z<#s$i(D{LY#413eeOAVPAa+U0kWstlJphrN%u^#VXy|6n@KTl<_J$Q*uxOI8hlbqK zDP}!=!sKQ-&!OyG_4ppirXlO<(FiKvWV~|;@?o?ctY?&aGu)#B9wM@=mIcwLXC zX;3_2+-1L{U}YJV%VV+Ar(9mj9P+K3FD_oZ%sn9Zc?1GGNv^OIRS#2&?}_TF>e&s- zeEWVW!?2H0;x#eQl%iEN_sV_eY$03yrAB{J)^xZIVCD18ug0ZFoB38Vyi9z^i#SNJ zC+SgSIV@BD^;N;TjOtGZ3D){kqoHeKjVHA@lbgPpi(M(j8Vvd{F;j}SE=gr^WJ}BCLveC z3P&@zLLUF_Gv(C!3XdJ+j0t?C_|v$Va(nw;9`DC@bw8LY6`#POjhd~@tFq-7iz7YG zkTtU2MfEHTUq3JgCC5Kpq)>etsqf-}f0+U+8~IGVZ{9T=pKTVLS1P%n`nRoZ zt8pD|uMng_I{zEq4-VK}p%+1EpmlsZNsD?1{taw00G6d&dICme;5rQtLSl#_r&SYd6hX$**^2 zH*IEu^m?-&r^PP)(sh`8Q*Y<(R^}zSW;=|S$O~A5?{sZLJ%1-@m|!JaQpSUFKFvkb zRP-E4Hy+vC$C)lH*A_e%QX1Q^q_RwCap4keiOC9=YTSFgLWB6k{RPB1SXnHI)!7&( zt8@8qIRb@4xYr&jwzcWg53p2YELbv=nH;vT)@B7?Y1~JN5zkNj6ioR{`Y7JyT<1S0 zcjNuBnNcn(`=20wO1W-Drx;31XXH1v&)G4!Z~5(qsx^mYW|=Y~0rtQ10=e|&qX}S# z;fc6x5p6KDwkmcT-y9|NB)Jn8?~AN*nD4q^83u7x!6t}!wAXrd)S#4vuW4iMP4PE% zwE+(1IjLy9Px9eV6$ggnFO(Z-Q*j)v!mj&>$Fb{ZTO0p=Y+4guzb0}D)W)}ILL+`@ zvG}*DvB(EPPkBmSfuCkiVDX9Hi5jnx`tm0Ar6`dSSe zTe^G1UF=1*cY7FW6PU^g%DQt6Y5!?Ly9}3VG*(G%;>pb+0~tzw+B)4;9_^TlMg&f$ zi})%ePJ~P+Uiq-orP-jrEZ1Vv1->?;g(2wjub7I>t;642&%^b){6@UdLFqTF_>}HP zttdWbnQZtF^wP#B)!V%&y~4k@_0@BqdJbNnuJ8Hi*rm&U15*ZJvmFLL$pMR(4UIai z_2Pu=SPAkz-W!88Ji4 z=6=P}UY+>du6_5RSTz{+o+iAX=X?%1h|&pB^v0aP*fY`#`W4N5lwJ=gXsTi*&Pz}( z9}Iv51Ac6#B7N^VJW9~c4ElAur_q6PG0j{%ub9}s)POUa9?8nq-s&svCKA_G2wwiA z7r6!bc+8pU_$&UEMbv5!tta<=I_VA#si{19xo7EF_Itk7CaFBhbMEpsw+6F#nuSqb zBOwX)m+f$JpuA9%74O~NVhg(N z!);TRtT_sKZ}b+Fy~;rv7)I#__*ucjs{(_;!Is*CgSu2Jp(aJ9oMKqv$i8F(7=3C2a8fAqv3w@#8 z?@?>5Ldmi^T@gokWB}JN$Yb*P<_{>^*5Pi)E#ByN9WFzvIQD*Njpo9xO2fbbj@6G3 zg?4pjzFf3oRVaiVz0C5{^V-*wj4m1^W4Qa|^A{8zzc%9c)5KnX~U+JgGovhEM9a0rk{v4j7YErx-q^+CRPLrTSK6+U<}KWDn(Iep0~W4hy`HM$wM=!75?hj?5S zdAXw8JBB{QhC5lXL@gYxjl$~zOm3ULMpEsz&TI=Y$h83b=)Crd9m97X?QH$WMeSQ_ zZmet2gJ{rL?9NZ$n`;rPuU$zj&32M@FLHnbRaQLK3CL6cWHQInAb~Sbc?6v|NOGXC zsBNp#kkST1e zn^y$BOY;a%KnEmSHDxyOBOM=-pF}F#1S)o$W~iLsJyIXG;Lm!O%oAuF-z->%H>qE1 z*gfLJxBvYsi|zv;dFh+=Csm`Rb$0#1vvX!~#yPl_pXTb1<-Auz6fTWX-pq;(Xa+nB z;X~8hmh6lIQE_ASL?U0_sZD3~9Zz(tgEdLNDf@=G-mT8IV?Owimz_);$@r$6FE27@ zX!5QJuSt`Dr+AP-+a=V*Su$7~j0pA$Twb^KQ=*$IJuzzZF)4HL5aC>azN}cdDS+7s zTXy{Jw|rDmrc~iU!aP0p|TJ@wA3maZdy!cX&i z>)2Pwn*- zOT^H3>#@E5|B#QLEH;nTHEJaV0Yk?cVmLU;F3-Mc?-M zx!#$gDd8JJr^l;N8_+9TsWnl`roMS9|qwB^RiK`nman zsimw9eYql-%DMLYHOs|}2W{5PId=tkWIhUT3?}|PLk;)BF+43eeMk6GRLiO{+`6&l z{JPX})>XiU)cW?la*a8>im6Xy(%y}uO&RRR2%wi0fO=Qq4`8y&?KViTG*u^MsAcGC z2@c#XVUuq_#7y51@RDc#bY_xkg|6M0rzM!avCxnt4Q4IHK}trSX`Efuo9Bg=oUyp9 z&V<=-pr0!Bh_L52Z|0!^6@5I0VHv6dCa=^J!?^>UwCS}4dBbb^Ce!2p09bxe8$oP+ zQ^y3wSF?u!_*5(V^ahmAg4y>&@I7eZTzOeQEdMz!&j<~Isfgvdbw}L8IEktF%B3>O z=(ZN8|BA*IJCW`s45N?Ig)Ny=CL0R)oNExjFu6O2-?T<59i{|Y-|F?vZ~X!6CN@<1 z$T~TzH`#AmAtH09FZXn3kO_x6H)9^fqux2kU+mjHn0|V86kTF5hrS{=^PbLGE1YO> zg*)R9Ad|kmPGvp*!hiN8td|$aJY(Rn%;jX8C&WQ8s{!3>{nJiex+-J9~LKZ zmIl-t(6iO2G-C9M)JPYSP13hN#rEY1@o-!1-fNv&sDC992>AL?nIZ2miRw9}|3`!wct9?Gw??;jC^l4)Mo9asnXP;%90t*kP?|3D(S59YV_ZJfxdCU`*DVy1U zP~@MwK9yWub!i&$Rho6`)JOt*anY)Ib6M4LfrU2r`ftl?f(j@~^_E{ejvFDaOw`-M za>%(qh14>oce;+033>j=Ia8=qF&GdS`b8|Zfg#0;@7rv=gM}>VI4#XgAj2A< zteKH4Y`>7xL~ZyqK2>fY1f z6F@r?y@ifXMS6-UajC^ncAyJ_m1^Z*w<*=P*oqfBDa-S=>_TnsY@beun|WO+B9P1# zbm@ar)9P7r{3{(2Ei*LcZDXGF#dy?*>O|``@wxe&54^6eLa&|e{xC=z{9t5~*HEs} z(J^g7#peO}yq^Qv{U$YX!BtZ!9H>cKLrUF9TQW6fzmq=I4O-?{5nX_nmuAW4skXORozZcF{OUWbLROcn97_yI zm!L%NB|^;Cm_DE(mZHP>vKJi%?^>z*DM9_?2uW(3 zp;cNLPnee;G0$whk`GRy?866LDlh7&B8pVN9)MOWSmD#SAP33u6X7wLDch<764En` zOCo>O?1huAVA~_gAZ|5i?EXV02}s&ZEBt9Esx_6Xe!sEF{QO<#`j_!N0`X3Tkvr(M zi0kL`5z%3Z;saCzT=lzto4flIw}h_ar=6@TP4402N05-o;BCvy z7r{XqaHl5Au`9K!%dDodQEB>muEO-ALJ75WBmsK^XVKT#axRtFkNP|g$g@~l>Fc1e z7|)g9h?xK)by7j8gLT4cCzq1(G9n7{tn6fiS$)!fp=8WSaIn_DFUPcg1#-bO)1}Fn6j7fX51NCTRr;^`PxmHw!KtSeua$3zrJ_lWSZ( zZ#r(9f7azW1%>yP6X|s|tZt&uBT=f$qvW7YDL~Gbz(EGL@~ppxY?dq6T4Hx$C6r zd|~6eh=)dBHMp1w8s+`J;EQoP)HAL(=gsp{fd^veoliA0c91O1mvt=%D@C+S%9-Mb zx6i8$`#xmyr-OJ^Cw&v$7mh}vEm6d`R@PHKknir(w7GH{YcUR@W6&NOO-MF~dJckQu)LnE}U_{r;`I})_ z#TiaR$#`!ylhS8w4-?12_G(W-cm=K{!A9yAkxYrqFtUa5_}!M|h?dU|zm32t9{UxY zi#1;KXA>O{u0gy>9}xRbJ~H^e@^@17T~{1O(T5s)fEv8)P#;Bi(E~9^Pv8y`kebr9 zVoGXD?v2%4`dP75QJOCGYMml}U6*fkQ*K3GyRRmOZ@Ppsc6}|B>{ktPV9O|EqX#ng9Q(i%9Qn47NBI1q+ zKt&jNMeVq+VK9Cl6e5n7iA`KhB*%NV6vdi^ZHssX<@bX7Vx&)(zx{p1+rRDoonK3> zyH+rI;A7n7@n%pyBnJUycD&g#ZW|QFV59Ic5p^J!I<>uH-JJ2VYXt#?-}EOC8;|+1 zN?SCN)iCj@m~Sd^iEe``MX^QH{?-_3eMfdrKT3X~u~^Dsuv;8( e^;Dd4QS7i5y@D0wT$xcv%Tm0kNlEL^^nU=~nbB7O diff --git a/3rdparty/openctm/tools/jpeg/testprog.jpg b/3rdparty/openctm/tools/jpeg/testprog.jpg deleted file mode 100644 index 920fee2e32b5a8ab0af796e010ee8a1add3eee63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5655 zcmb7{cQjmU+s0=`?^D!47`-!$(TOfvln|nKi8@;JPDG8P6J&IW9yPk?L{IeSHIir% zk>KN;^S$&#ty6@|`>s0_)UFDt%00;yCfHxQ5dJ&)qAjHQf zz{evbARr(jA|xiIBqJpuA*F-DC@2}>Om`UJ3=GU{0-Ve&e5?!%Tw>gOLP!(}#l$Hg zBQ7j0Ac7LUeF>0=h=`Pgl$MN)Rv5v65dMGHbq@eS2uK5L-~d?wAP5i#0=(`8&;tM< z9N_Ke{QoB^V#GdhuimXn;{b) zxA>^!0F~>|#=Atb8uQ%#4<8Ve*CP{t`&F6yws-GrC25R0RtHy(444airxDB*!+$yQ zs8Lcfuwya)&$wq?aiG(Wx5u+&x&G|)iW(T*!Is$@T%v3uQ7QV zSY6Q+{W7ml-j~yTEszX*G543_ z3pU59D;JtKdx2UzU8l3Z+NFHP#m)1K?r6Vro}89gY*lj;$+0~O5Lb;X8f9)zmYny5 zxXzRTd4;$oJlNoQ1AX_z>|_On(|XG4OW6or^s3rS2UqWcPwIRNW-Rt*E_2o4>$pX6IvCi#4zi)NLHf8f5&oNjCP44XnNE;8nZlJZj8y zIIj%9zhWWgr*=h8qL{|3ipB_H>7)kgPUQG^U)b)+NHtOk?g6heDISj_W>=2I`1s&> zXU?lYhVLxmjymIiUIE+4+~u$o0we1H6tEoy7jioPz#7oI@Mv4&c$`O|YH0$u8>{hv z0iYY>;o#ujIPC8Nf&dU4TriXwfy9Hc2#d%ounJL9p>DiKcw<)}9_T7A16Womz{E%* zoRp-(kbAO%JE)s4)+|@Go(UH*TGF)M*0hOMs!9-CUKNHF^_L3iyew8v<1zera}zj9 zod&q{Y6f8s=f2s!?>AiVMtt1i%}N^RRQ7(&Q&zs?%7P0D(xrw948Dw)S?ft+!a;PG zy7HFzU9oE^V5HIXmR-UETJ(hHS=vjQ%5&;_-+*Tb z)dlPlZJ(x0qxmZNpXahKvBGFuBT<&Id*7?IIpSqSbmW%cTV2yuJ0U zo*DXlL>;@lt9wDkP_jbfUDFLRLKfICysWy{9)0%tSd=Ai{ zHQtsC*ycgNv~7?iDGXg?i&-~ZvU9Pg2TSXbzFs*aaGGPB$BIC(^g5Xaxp{&!omvXM zJzA#_!t%JmU&ZQqbHbqs+ooF*J+9_GM&Q@=KFu8u_uk#HI+=(uy#`cSXJIy{^Zg=K zf3mx7RQM&lAo}+Coa~Kg=KbI#Z4!O`Qq%Gb3Wj%#gvR-ITR2Qzo)@0)6T8%zua3iD zm~M~X==+fsy1o@7Q6d7RO6RQJ4?4vC1w2sjZAGICq03PV#dETu z(5jbLxp90$dlJ1LA~dx{o<2P>Sg8awr|C;>dAUM#6;U@hGWuSrjmTd;NyMa=@7#qZ2(gnHuh7OKvDkU|(H&NT;>V z9>jK%1rDoaO=zRwIy~myZ0PGNhn@`BD0{Vx5WX(^$XI0J$J`==`twr2!{IETja)!h zgZfFvxrDpn6=@|y?B@DU%FmTXteI^@#Y6jOb)p<0Odd(Pc3l9^{BPP;sHC=Cge&QD z+m)uUwziZ!+6tp(*0Rozd24%lV=41PeHS^BDPq2L{fFCe{6slKIb>)j<&7v#!J=lGwIQ+~ zPVsAisW~;v2ZCBUNdc3^E54err3^0*hc*CjB1mAlA7la z^3*{S8$CSOp4WEN%acv9FW6ZpsBol1y2j zkOosgsF}h~nEoN$KYRla{2R4E02l&dMnHv-Eb_WmICoivtuY>9$^Q}#Uk>yeJVnFg zN}ON9bKoQD_Q9AJHNT~rmfr0g_3I&2y8KyOO&wDdrwxA&x&Lom^x?a7ygAJ3l1&|| zWq}^y`<4g0$EcB>vpuNeJkFnIT90bfP%6wR)r^W3O#h2`&6`%i&$uR`g0qAdQ>}p}4E`b*lFL~mVa1576iglnHr77n~22f>~ zoi_q3^QRfep4YsoQD#it_YsDd0lb}uLt>}lE)^_m(79e|U)baea}N~LnxDE`_xWK2 zdKW#T5UtuAM2d}kAdHPB{B&NGl~B_IclmV8t^()aJXNIb|7|x7@1GbV@|>^83f@{3 zEmodk8wy2G>xXgmqp_^2cfI?M3LtiJc=XnB$~obR?~xgYsBfk7P?o6jE94Yh*9wc( z3kEMiYbM)8u-({SZHZ1yl#yuVm>C<5I;JzY4DiT=IG<{>->ul|DE!cxCvSj1A(>tVq$Uy>U7nhtnY7Ej6Nus<^>{BMlP##&q`)vY zy!Q(lT%e((bR5L$m#};9W5e#mvAs`l`YhS6_<`Ts()tJjz3>V$HO?U<7Z0`-^!|X` z^-b3-t)o7h?iq)oOd)UAsXW8=)f+!7LfA(%ds1&!);fz1li+l!dR8z}ddTNKe)YZf4*yfsHGm2297AF(7tHtJz7@gFO4K!gnV>5$RPF{BtdQGT z*uD2V2!I?rCP ztBYn{#&Ff^hJ*-dt&a~i6`x8pCr0a%>cIk7vioXws#3k<+^2%V>yDmxW^&>%kGp$U z87Dwqyngo9HcO@TjM>)w8TE^ULj{#DdL9;CB`bs0N>1i*tuV zO`Hj{S5r^&=C2$3A{FbkbklV5EMvt54za2LK0!AQp<*oi{JZ>Wutif03@RipZ z-mWRtFY&?q!_?OYp3ht?4>2_7Y3dLwUZF}2>C1cj}>>(sPdmRFjM=GrOR}xOxAsp zlx)v6dN&Yu07EbFZ|Gy&&)`3vs4bNREa?K*mVZSAIBy}AK=~0oThjK zk#&nr1Xmjc8K!rR_wf$}xoo@=)`PI|zxbuvFkgK!H+$s--#P;X#J%k!{+TWSH(7EM zCE(jAnXK(*UOPPcZ=irrrH1=5Lm}#eapI%OI^|0!o85Fet$40dO*T7aqbyugB_Nk@ zkMSD^_w%-*in4g;450{55XV}$-g{aKr1=qmN8*B1IM%Xn6pQzRIZ7-TAwzRiFCrMM+5CtuF(A$UM1HR@ywx&-|gs9wG zP3tNtfttk|7?yUkPCX?)0qi?S63#lj^2CF5QR{2Y>yWcL6-E;qgpM`|^!wpbY&+{; zBxbbn5OiX`SW&rvoPJQIYMc8bih=Pp>bi^3rlsHHOD>d3K&bV+d-ptq_<}Cd56to8 z)d_-G7ro1rghrcQ@|RAdO#{)jN;7-UQ*d=uM@6~k%_0?z-f7jsC>Lt(-t#)l;Fhl5 zCuUWIP@1y(D5BBSnH#-Nc6)x}gs>9N#1@Dd`E`O}e47loCV{<+N+qq)kAFZcAH3g` zR<)`^W(c-4kaRPP2Y1nnzbiLl7N+q@q9Wrha}l6IdQVCJW0_ z#cqY@o*GC{f$c0DSq(yeamT+QLUX7Lio-C)29?M?V)UnZZHQwFK~`XxMO?JUKD_FP z@lJ1nlqGFcT5?UfQN?mUT(G_7sm6dV3nS)?rF||#XjuV>O#eGrM}I)aEY6KLr2*#{n4BAcvp+nOGQ2pnRSxj z2qpvLP`m~4k(AM91$N_@8T2Hzt{LOq*WF{j;W67n?DYc&P^*<64hUs zn_IokL(L3#0tX&KHo&Gqafs6I7td!I)VAs#0NOu7)2V+(mVA9~-)xlL{~&Nw`iw(p{8zlb#hs9CFYq;vGqJ%{<(K=O z^@464$F=e@WU1>VuE0{kTk5r(7F%AEC9r%YzR|shJo{i9rcA@M6Z9(Nu%Hq!QpQLl z6I1I=)ovp^lcjLj!Qr~`M$>s~eV;FFp7RPitYY*=1tvr9;u5Qj(mR;WNp`_}?S0*NZ!0O17jS5$qW4qOgdqc(E}HrWIl;#kEx#ljhbX~C zsF5pQ1Ii$E;zqw^G$J0cwP$(_Pm4b}xl>l{n=!JQ?H~xAq1vSpBXbRji@5qGIxCp; zTLGcJ8iU;&IZ@!sS}N*QA1sz<9}bJGA;PHO8k-c@8%b@6d17(T%qj7qUYsZ0?6z56+I?~sasnVb9`n?ZjVtZ3B7%oF~GNLhe#LwZ#q;};^oZisv30;4}CYxss%Jin` zJ}ZSZkL0KdZN}0x5OJ4Su%;$1BJvgNy`Pe@RVcB;2Gwk@0U%wNCx0E^V&GL8LmRKu z-sSM6qzFZ{UIIDm+n#|kOp)bT#;B*P(fM$jQr|k)hk>_=uK0@ZWl@L*4 zD2uZ*`|z;_)RsDT;*`4^IDXN**v3#jGDu;n$2hu2e_hm9F0NmR5z)R^LnX>9WdC4L U9#E?5!l?r;*e8trGk!h)KW4JmQUCw| diff --git a/3rdparty/openctm/tools/jpeg/transupp.c b/3rdparty/openctm/tools/jpeg/transupp.c deleted file mode 100644 index bc13b06f3..000000000 --- a/3rdparty/openctm/tools/jpeg/transupp.c +++ /dev/null @@ -1,1533 +0,0 @@ -/* - * transupp.c - * - * Copyright (C) 1997-2009, Thomas G. Lane, Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains image transformation routines and other utility code - * used by the jpegtran sample application. These are NOT part of the core - * JPEG library. But we keep these routines separate from jpegtran.c to - * ease the task of maintaining jpegtran-like programs that have other user - * interfaces. - */ - -/* Although this file really shouldn't have access to the library internals, - * it's helpful to let it call jround_up() and jcopy_block_row(). - */ -#define JPEG_INTERNALS - -#include "jinclude.h" -#include "jpeglib.h" -#include "transupp.h" /* My own external interface */ -#include /* to declare isdigit() */ - - -#if TRANSFORMS_SUPPORTED - -/* - * Lossless image transformation routines. These routines work on DCT - * coefficient arrays and thus do not require any lossy decompression - * or recompression of the image. - * Thanks to Guido Vollbeding for the initial design and code of this feature, - * and to Ben Jackson for introducing the cropping feature. - * - * Horizontal flipping is done in-place, using a single top-to-bottom - * pass through the virtual source array. It will thus be much the - * fastest option for images larger than main memory. - * - * The other routines require a set of destination virtual arrays, so they - * need twice as much memory as jpegtran normally does. The destination - * arrays are always written in normal scan order (top to bottom) because - * the virtual array manager expects this. The source arrays will be scanned - * in the corresponding order, which means multiple passes through the source - * arrays for most of the transforms. That could result in much thrashing - * if the image is larger than main memory. - * - * If cropping or trimming is involved, the destination arrays may be smaller - * than the source arrays. Note it is not possible to do horizontal flip - * in-place when a nonzero Y crop offset is specified, since we'd have to move - * data from one block row to another but the virtual array manager doesn't - * guarantee we can touch more than one row at a time. So in that case, - * we have to use a separate destination array. - * - * Some notes about the operating environment of the individual transform - * routines: - * 1. Both the source and destination virtual arrays are allocated from the - * source JPEG object, and therefore should be manipulated by calling the - * source's memory manager. - * 2. The destination's component count should be used. It may be smaller - * than the source's when forcing to grayscale. - * 3. Likewise the destination's sampling factors should be used. When - * forcing to grayscale the destination's sampling factors will be all 1, - * and we may as well take that as the effective iMCU size. - * 4. When "trim" is in effect, the destination's dimensions will be the - * trimmed values but the source's will be untrimmed. - * 5. When "crop" is in effect, the destination's dimensions will be the - * cropped values but the source's will be uncropped. Each transform - * routine is responsible for picking up source data starting at the - * correct X and Y offset for the crop region. (The X and Y offsets - * passed to the transform routines are measured in iMCU blocks of the - * destination.) - * 6. All the routines assume that the source and destination buffers are - * padded out to a full iMCU boundary. This is true, although for the - * source buffer it is an undocumented property of jdcoefct.c. - */ - - -LOCAL(void) -do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* Crop. This is only used when no rotate/flip is requested with the crop. */ -{ - JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks; - int ci, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - jpeg_component_info *compptr; - - /* We simply have to copy the right amount of data (the destination's - * image size) starting at the given X and Y offsets in the source. - */ - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_y + y_crop_blocks, - (JDIMENSION) compptr->v_samp_factor, FALSE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, - dst_buffer[offset_y], - compptr->width_in_blocks); - } - } - } -} - - -LOCAL(void) -do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, - jvirt_barray_ptr *src_coef_arrays) -/* Horizontal flip; done in-place, so no separate dest array is required. - * NB: this only works when y_crop_offset is zero. - */ -{ - JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks; - int ci, k, offset_y; - JBLOCKARRAY buffer; - JCOEFPTR ptr1, ptr2; - JCOEF temp1, temp2; - jpeg_component_info *compptr; - - /* Horizontal mirroring of DCT blocks is accomplished by swapping - * pairs of blocks in-place. Within a DCT block, we perform horizontal - * mirroring by changing the signs of odd-numbered columns. - * Partial iMCUs at the right edge are left untouched. - */ - MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_width = MCU_cols * compptr->h_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - for (blk_y = 0; blk_y < compptr->height_in_blocks; - blk_y += compptr->v_samp_factor) { - buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - /* Do the mirroring */ - for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) { - ptr1 = buffer[offset_y][blk_x]; - ptr2 = buffer[offset_y][comp_width - blk_x - 1]; - /* this unrolled loop doesn't need to know which row it's on... */ - for (k = 0; k < DCTSIZE2; k += 2) { - temp1 = *ptr1; /* swap even column */ - temp2 = *ptr2; - *ptr1++ = temp2; - *ptr2++ = temp1; - temp1 = *ptr1; /* swap odd column with sign change */ - temp2 = *ptr2; - *ptr1++ = -temp2; - *ptr2++ = -temp1; - } - } - if (x_crop_blocks > 0) { - /* Now left-justify the portion of the data to be kept. - * We can't use a single jcopy_block_row() call because that routine - * depends on memcpy(), whose behavior is unspecified for overlapping - * source and destination areas. Sigh. - */ - for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) { - jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks, - buffer[offset_y] + blk_x, - (JDIMENSION) 1); - } - } - } - } - } -} - - -LOCAL(void) -do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* Horizontal flip in general cropping case */ -{ - JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, k, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JBLOCKROW src_row_ptr, dst_row_ptr; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - /* Here we must output into a separate array because we can't touch - * different rows of a single virtual array simultaneously. Otherwise, - * this is essentially the same as the routine above. - */ - MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_width = MCU_cols * compptr->h_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_y + y_crop_blocks, - (JDIMENSION) compptr->v_samp_factor, FALSE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - dst_row_ptr = dst_buffer[offset_y]; - src_row_ptr = src_buffer[offset_y]; - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Do the mirrorable blocks */ - dst_ptr = dst_row_ptr[dst_blk_x]; - src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; - /* this unrolled loop doesn't need to know which row it's on... */ - for (k = 0; k < DCTSIZE2; k += 2) { - *dst_ptr++ = *src_ptr++; /* copy even column */ - *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */ - } - } else { - /* Copy last partial block(s) verbatim */ - jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, - dst_row_ptr + dst_blk_x, - (JDIMENSION) 1); - } - } - } - } - } -} - - -LOCAL(void) -do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* Vertical flip */ -{ - JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JBLOCKROW src_row_ptr, dst_row_ptr; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - /* We output into a separate array because we can't touch different - * rows of the source virtual array simultaneously. Otherwise, this - * is a pretty straightforward analog of horizontal flip. - * Within a DCT block, vertical mirroring is done by changing the signs - * of odd-numbered rows. - * Partial iMCUs at the bottom edge are copied verbatim. - */ - MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_height = MCU_rows * compptr->v_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - if (y_crop_blocks + dst_blk_y < comp_height) { - /* Row is within the mirrorable area. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - comp_height - y_crop_blocks - dst_blk_y - - (JDIMENSION) compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } else { - /* Bottom-edge blocks will be copied verbatim. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_y + y_crop_blocks, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - if (y_crop_blocks + dst_blk_y < comp_height) { - /* Row is within the mirrorable area. */ - dst_row_ptr = dst_buffer[offset_y]; - src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; - src_row_ptr += x_crop_blocks; - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; - dst_blk_x++) { - dst_ptr = dst_row_ptr[dst_blk_x]; - src_ptr = src_row_ptr[dst_blk_x]; - for (i = 0; i < DCTSIZE; i += 2) { - /* copy even row */ - for (j = 0; j < DCTSIZE; j++) - *dst_ptr++ = *src_ptr++; - /* copy odd row with sign change */ - for (j = 0; j < DCTSIZE; j++) - *dst_ptr++ = - *src_ptr++; - } - } - } else { - /* Just copy row verbatim. */ - jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, - dst_buffer[offset_y], - compptr->width_in_blocks); - } - } - } - } -} - - -LOCAL(void) -do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* Transpose source into destination */ -{ - JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_x, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - /* Transposing pixels within a block just requires transposing the - * DCT coefficients. - * Partial iMCUs at the edges require no special treatment; we simply - * process all the available DCT blocks for every component. - */ - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; - dst_blk_x += compptr->h_samp_factor) { - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_x + x_crop_blocks, - (JDIMENSION) compptr->h_samp_factor, FALSE); - for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; - src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - } - } - } - } - } -} - - -LOCAL(void) -do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* 90 degree rotation is equivalent to - * 1. Transposing the image; - * 2. Horizontal mirroring. - * These two steps are merged into a single processing routine. - */ -{ - JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_x, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - /* Because of the horizontal mirror step, we can't process partial iMCUs - * at the (output) right edge properly. They just get transposed and - * not mirrored. - */ - MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_width = MCU_cols * compptr->h_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; - dst_blk_x += compptr->h_samp_factor) { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Block is within the mirrorable area. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - comp_width - x_crop_blocks - dst_blk_x - - (JDIMENSION) compptr->h_samp_factor, - (JDIMENSION) compptr->h_samp_factor, FALSE); - } else { - /* Edge blocks are transposed but not mirrored. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_x + x_crop_blocks, - (JDIMENSION) compptr->h_samp_factor, FALSE); - } - for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Block is within the mirrorable area. */ - src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] - [dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - i++; - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - } - } else { - /* Edge blocks are transposed but not mirrored. */ - src_ptr = src_buffer[offset_x] - [dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - } - } - } - } - } - } -} - - -LOCAL(void) -do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* 270 degree rotation is equivalent to - * 1. Horizontal mirroring; - * 2. Transposing the image. - * These two steps are merged into a single processing routine. - */ -{ - JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_x, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - /* Because of the horizontal mirror step, we can't process partial iMCUs - * at the (output) bottom edge properly. They just get transposed and - * not mirrored. - */ - MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_height = MCU_rows * compptr->v_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; - dst_blk_x += compptr->h_samp_factor) { - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_x + x_crop_blocks, - (JDIMENSION) compptr->h_samp_factor, FALSE); - for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; - if (y_crop_blocks + dst_blk_y < comp_height) { - /* Block is within the mirrorable area. */ - src_ptr = src_buffer[offset_x] - [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < DCTSIZE; j++) { - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - j++; - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - } - } - } else { - /* Edge blocks are transposed but not mirrored. */ - src_ptr = src_buffer[offset_x] - [dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - } - } - } - } - } - } -} - - -LOCAL(void) -do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* 180 degree rotation is equivalent to - * 1. Vertical mirroring; - * 2. Horizontal mirroring. - * These two steps are merged into a single processing routine. - */ -{ - JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JBLOCKROW src_row_ptr, dst_row_ptr; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE); - MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_width = MCU_cols * compptr->h_samp_factor; - comp_height = MCU_rows * compptr->v_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - if (y_crop_blocks + dst_blk_y < comp_height) { - /* Row is within the vertically mirrorable area. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - comp_height - y_crop_blocks - dst_blk_y - - (JDIMENSION) compptr->v_samp_factor, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } else { - /* Bottom-edge rows are only mirrored horizontally. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_y + y_crop_blocks, - (JDIMENSION) compptr->v_samp_factor, FALSE); - } - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - dst_row_ptr = dst_buffer[offset_y]; - if (y_crop_blocks + dst_blk_y < comp_height) { - /* Row is within the mirrorable area. */ - src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1]; - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { - dst_ptr = dst_row_ptr[dst_blk_x]; - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Process the blocks that can be mirrored both ways. */ - src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; - for (i = 0; i < DCTSIZE; i += 2) { - /* For even row, negate every odd column. */ - for (j = 0; j < DCTSIZE; j += 2) { - *dst_ptr++ = *src_ptr++; - *dst_ptr++ = - *src_ptr++; - } - /* For odd row, negate every even column. */ - for (j = 0; j < DCTSIZE; j += 2) { - *dst_ptr++ = - *src_ptr++; - *dst_ptr++ = *src_ptr++; - } - } - } else { - /* Any remaining right-edge blocks are only mirrored vertically. */ - src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x]; - for (i = 0; i < DCTSIZE; i += 2) { - for (j = 0; j < DCTSIZE; j++) - *dst_ptr++ = *src_ptr++; - for (j = 0; j < DCTSIZE; j++) - *dst_ptr++ = - *src_ptr++; - } - } - } - } else { - /* Remaining rows are just mirrored horizontally. */ - src_row_ptr = src_buffer[offset_y]; - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Process the blocks that can be mirrored. */ - dst_ptr = dst_row_ptr[dst_blk_x]; - src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1]; - for (i = 0; i < DCTSIZE2; i += 2) { - *dst_ptr++ = *src_ptr++; - *dst_ptr++ = - *src_ptr++; - } - } else { - /* Any remaining right-edge blocks are only copied. */ - jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks, - dst_row_ptr + dst_blk_x, - (JDIMENSION) 1); - } - } - } - } - } - } -} - - -LOCAL(void) -do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, - jvirt_barray_ptr *src_coef_arrays, - jvirt_barray_ptr *dst_coef_arrays) -/* Transverse transpose is equivalent to - * 1. 180 degree rotation; - * 2. Transposition; - * or - * 1. Horizontal mirroring; - * 2. Transposition; - * 3. Horizontal mirroring. - * These steps are merged into a single processing routine. - */ -{ - JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y; - JDIMENSION x_crop_blocks, y_crop_blocks; - int ci, i, j, offset_x, offset_y; - JBLOCKARRAY src_buffer, dst_buffer; - JCOEFPTR src_ptr, dst_ptr; - jpeg_component_info *compptr; - - MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE); - MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE); - - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - comp_width = MCU_cols * compptr->h_samp_factor; - comp_height = MCU_rows * compptr->v_samp_factor; - x_crop_blocks = x_crop_offset * compptr->h_samp_factor; - y_crop_blocks = y_crop_offset * compptr->v_samp_factor; - for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; - dst_blk_y += compptr->v_samp_factor) { - dst_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, - (JDIMENSION) compptr->v_samp_factor, TRUE); - for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { - for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; - dst_blk_x += compptr->h_samp_factor) { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Block is within the mirrorable area. */ - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - comp_width - x_crop_blocks - dst_blk_x - - (JDIMENSION) compptr->h_samp_factor, - (JDIMENSION) compptr->h_samp_factor, FALSE); - } else { - src_buffer = (*srcinfo->mem->access_virt_barray) - ((j_common_ptr) srcinfo, src_coef_arrays[ci], - dst_blk_x + x_crop_blocks, - (JDIMENSION) compptr->h_samp_factor, FALSE); - } - for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) { - dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x]; - if (y_crop_blocks + dst_blk_y < comp_height) { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Block is within the mirrorable area. */ - src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] - [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < DCTSIZE; j++) { - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - j++; - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - } - i++; - for (j = 0; j < DCTSIZE; j++) { - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - j++; - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - } - } - } else { - /* Right-edge blocks are mirrored in y only */ - src_ptr = src_buffer[offset_x] - [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1]; - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < DCTSIZE; j++) { - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - j++; - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - } - } - } - } else { - if (x_crop_blocks + dst_blk_x < comp_width) { - /* Bottom-edge blocks are mirrored in x only */ - src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1] - [dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - i++; - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j]; - } - } else { - /* At lower right corner, just transpose, no mirroring */ - src_ptr = src_buffer[offset_x] - [dst_blk_y + offset_y + y_crop_blocks]; - for (i = 0; i < DCTSIZE; i++) - for (j = 0; j < DCTSIZE; j++) - dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j]; - } - } - } - } - } - } - } -} - - -/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec. - * Returns TRUE if valid integer found, FALSE if not. - * *strptr is advanced over the digit string, and *result is set to its value. - */ - -LOCAL(boolean) -jt_read_integer (const char ** strptr, JDIMENSION * result) -{ - const char * ptr = *strptr; - JDIMENSION val = 0; - - for (; isdigit(*ptr); ptr++) { - val = val * 10 + (JDIMENSION) (*ptr - '0'); - } - *result = val; - if (ptr == *strptr) - return FALSE; /* oops, no digits */ - *strptr = ptr; - return TRUE; -} - - -/* Parse a crop specification (written in X11 geometry style). - * The routine returns TRUE if the spec string is valid, FALSE if not. - * - * The crop spec string should have the format - * x{+-}{+-} - * where width, height, xoffset, and yoffset are unsigned integers. - * Each of the elements can be omitted to indicate a default value. - * (A weakness of this style is that it is not possible to omit xoffset - * while specifying yoffset, since they look alike.) - * - * This code is loosely based on XParseGeometry from the X11 distribution. - */ - -GLOBAL(boolean) -jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec) -{ - info->crop = FALSE; - info->crop_width_set = JCROP_UNSET; - info->crop_height_set = JCROP_UNSET; - info->crop_xoffset_set = JCROP_UNSET; - info->crop_yoffset_set = JCROP_UNSET; - - if (isdigit(*spec)) { - /* fetch width */ - if (! jt_read_integer(&spec, &info->crop_width)) - return FALSE; - info->crop_width_set = JCROP_POS; - } - if (*spec == 'x' || *spec == 'X') { - /* fetch height */ - spec++; - if (! jt_read_integer(&spec, &info->crop_height)) - return FALSE; - info->crop_height_set = JCROP_POS; - } - if (*spec == '+' || *spec == '-') { - /* fetch xoffset */ - info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; - spec++; - if (! jt_read_integer(&spec, &info->crop_xoffset)) - return FALSE; - } - if (*spec == '+' || *spec == '-') { - /* fetch yoffset */ - info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS; - spec++; - if (! jt_read_integer(&spec, &info->crop_yoffset)) - return FALSE; - } - /* We had better have gotten to the end of the string. */ - if (*spec != '\0') - return FALSE; - info->crop = TRUE; - return TRUE; -} - - -/* Trim off any partial iMCUs on the indicated destination edge */ - -LOCAL(void) -trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width) -{ - JDIMENSION MCU_cols; - - MCU_cols = info->output_width / (info->max_h_samp_factor * DCTSIZE); - if (MCU_cols > 0 && info->x_crop_offset + MCU_cols == - full_width / (info->max_h_samp_factor * DCTSIZE)) - info->output_width = MCU_cols * (info->max_h_samp_factor * DCTSIZE); -} - -LOCAL(void) -trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height) -{ - JDIMENSION MCU_rows; - - MCU_rows = info->output_height / (info->max_v_samp_factor * DCTSIZE); - if (MCU_rows > 0 && info->y_crop_offset + MCU_rows == - full_height / (info->max_v_samp_factor * DCTSIZE)) - info->output_height = MCU_rows * (info->max_v_samp_factor * DCTSIZE); -} - - -/* Request any required workspace. - * - * This routine figures out the size that the output image will be - * (which implies that all the transform parameters must be set before - * it is called). - * - * We allocate the workspace virtual arrays from the source decompression - * object, so that all the arrays (both the original data and the workspace) - * will be taken into account while making memory management decisions. - * Hence, this routine must be called after jpeg_read_header (which reads - * the image dimensions) and before jpeg_read_coefficients (which realizes - * the source's virtual arrays). - */ - -GLOBAL(void) -jtransform_request_workspace (j_decompress_ptr srcinfo, - jpeg_transform_info *info) -{ - jvirt_barray_ptr *coef_arrays = NULL; - boolean need_workspace, transpose_it; - jpeg_component_info *compptr; - JDIMENSION xoffset, yoffset, width_in_iMCUs, height_in_iMCUs; - JDIMENSION width_in_blocks, height_in_blocks; - int ci, h_samp_factor, v_samp_factor; - - /* Determine number of components in output image */ - if (info->force_grayscale && - srcinfo->jpeg_color_space == JCS_YCbCr && - srcinfo->num_components == 3) { - /* We'll only process the first component */ - info->num_components = 1; - } else { - /* Process all the components */ - info->num_components = srcinfo->num_components; - } - /* If there is only one output component, force the iMCU size to be 1; - * else use the source iMCU size. (This allows us to do the right thing - * when reducing color to grayscale, and also provides a handy way of - * cleaning up "funny" grayscale images whose sampling factors are not 1x1.) - */ - - switch (info->transform) { - case JXFORM_TRANSPOSE: - case JXFORM_TRANSVERSE: - case JXFORM_ROT_90: - case JXFORM_ROT_270: - info->output_width = srcinfo->image_height; - info->output_height = srcinfo->image_width; - if (info->num_components == 1) { - info->max_h_samp_factor = 1; - info->max_v_samp_factor = 1; - } else { - info->max_h_samp_factor = srcinfo->max_v_samp_factor; - info->max_v_samp_factor = srcinfo->max_h_samp_factor; - } - break; - default: - info->output_width = srcinfo->image_width; - info->output_height = srcinfo->image_height; - if (info->num_components == 1) { - info->max_h_samp_factor = 1; - info->max_v_samp_factor = 1; - } else { - info->max_h_samp_factor = srcinfo->max_h_samp_factor; - info->max_v_samp_factor = srcinfo->max_v_samp_factor; - } - break; - } - - /* If cropping has been requested, compute the crop area's position and - * dimensions, ensuring that its upper left corner falls at an iMCU boundary. - */ - if (info->crop) { - /* Insert default values for unset crop parameters */ - if (info->crop_xoffset_set == JCROP_UNSET) - info->crop_xoffset = 0; /* default to +0 */ - if (info->crop_yoffset_set == JCROP_UNSET) - info->crop_yoffset = 0; /* default to +0 */ - if (info->crop_xoffset >= info->output_width || - info->crop_yoffset >= info->output_height) - ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); - if (info->crop_width_set == JCROP_UNSET) - info->crop_width = info->output_width - info->crop_xoffset; - if (info->crop_height_set == JCROP_UNSET) - info->crop_height = info->output_height - info->crop_yoffset; - /* Ensure parameters are valid */ - if (info->crop_width <= 0 || info->crop_width > info->output_width || - info->crop_height <= 0 || info->crop_height > info->output_height || - info->crop_xoffset > info->output_width - info->crop_width || - info->crop_yoffset > info->output_height - info->crop_height) - ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); - /* Convert negative crop offsets into regular offsets */ - if (info->crop_xoffset_set == JCROP_NEG) - xoffset = info->output_width - info->crop_width - info->crop_xoffset; - else - xoffset = info->crop_xoffset; - if (info->crop_yoffset_set == JCROP_NEG) - yoffset = info->output_height - info->crop_height - info->crop_yoffset; - else - yoffset = info->crop_yoffset; - /* Now adjust so that upper left corner falls at an iMCU boundary */ - info->output_width = - info->crop_width + (xoffset % (info->max_h_samp_factor * DCTSIZE)); - info->output_height = - info->crop_height + (yoffset % (info->max_v_samp_factor * DCTSIZE)); - /* Save x/y offsets measured in iMCUs */ - info->x_crop_offset = xoffset / (info->max_h_samp_factor * DCTSIZE); - info->y_crop_offset = yoffset / (info->max_v_samp_factor * DCTSIZE); - } else { - info->x_crop_offset = 0; - info->y_crop_offset = 0; - } - - /* Figure out whether we need workspace arrays, - * and if so whether they are transposed relative to the source. - */ - need_workspace = FALSE; - transpose_it = FALSE; - switch (info->transform) { - case JXFORM_NONE: - if (info->x_crop_offset != 0 || info->y_crop_offset != 0) - need_workspace = TRUE; - /* No workspace needed if neither cropping nor transforming */ - break; - case JXFORM_FLIP_H: - if (info->trim) - trim_right_edge(info, srcinfo->image_width); - if (info->y_crop_offset != 0) - need_workspace = TRUE; - /* do_flip_h_no_crop doesn't need a workspace array */ - break; - case JXFORM_FLIP_V: - if (info->trim) - trim_bottom_edge(info, srcinfo->image_height); - /* Need workspace arrays having same dimensions as source image. */ - need_workspace = TRUE; - break; - case JXFORM_TRANSPOSE: - /* transpose does NOT have to trim anything */ - /* Need workspace arrays having transposed dimensions. */ - need_workspace = TRUE; - transpose_it = TRUE; - break; - case JXFORM_TRANSVERSE: - if (info->trim) { - trim_right_edge(info, srcinfo->image_height); - trim_bottom_edge(info, srcinfo->image_width); - } - /* Need workspace arrays having transposed dimensions. */ - need_workspace = TRUE; - transpose_it = TRUE; - break; - case JXFORM_ROT_90: - if (info->trim) - trim_right_edge(info, srcinfo->image_height); - /* Need workspace arrays having transposed dimensions. */ - need_workspace = TRUE; - transpose_it = TRUE; - break; - case JXFORM_ROT_180: - if (info->trim) { - trim_right_edge(info, srcinfo->image_width); - trim_bottom_edge(info, srcinfo->image_height); - } - /* Need workspace arrays having same dimensions as source image. */ - need_workspace = TRUE; - break; - case JXFORM_ROT_270: - if (info->trim) - trim_bottom_edge(info, srcinfo->image_width); - /* Need workspace arrays having transposed dimensions. */ - need_workspace = TRUE; - transpose_it = TRUE; - break; - } - - /* Allocate workspace if needed. - * Note that we allocate arrays padded out to the next iMCU boundary, - * so that transform routines need not worry about missing edge blocks. - */ - if (need_workspace) { - coef_arrays = (jvirt_barray_ptr *) - (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, - SIZEOF(jvirt_barray_ptr) * info->num_components); - width_in_iMCUs = (JDIMENSION) - jdiv_round_up((long) info->output_width, - (long) (info->max_h_samp_factor * DCTSIZE)); - height_in_iMCUs = (JDIMENSION) - jdiv_round_up((long) info->output_height, - (long) (info->max_v_samp_factor * DCTSIZE)); - for (ci = 0; ci < info->num_components; ci++) { - compptr = srcinfo->comp_info + ci; - if (info->num_components == 1) { - /* we're going to force samp factors to 1x1 in this case */ - h_samp_factor = v_samp_factor = 1; - } else if (transpose_it) { - h_samp_factor = compptr->v_samp_factor; - v_samp_factor = compptr->h_samp_factor; - } else { - h_samp_factor = compptr->h_samp_factor; - v_samp_factor = compptr->v_samp_factor; - } - width_in_blocks = width_in_iMCUs * h_samp_factor; - height_in_blocks = height_in_iMCUs * v_samp_factor; - coef_arrays[ci] = (*srcinfo->mem->request_virt_barray) - ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE, - width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor); - } - } - - info->workspace_coef_arrays = coef_arrays; -} - - -/* Transpose destination image parameters */ - -LOCAL(void) -transpose_critical_parameters (j_compress_ptr dstinfo) -{ - int tblno, i, j, ci, itemp; - jpeg_component_info *compptr; - JQUANT_TBL *qtblptr; - UINT16 qtemp; - - /* Transpose sampling factors */ - for (ci = 0; ci < dstinfo->num_components; ci++) { - compptr = dstinfo->comp_info + ci; - itemp = compptr->h_samp_factor; - compptr->h_samp_factor = compptr->v_samp_factor; - compptr->v_samp_factor = itemp; - } - - /* Transpose quantization tables */ - for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) { - qtblptr = dstinfo->quant_tbl_ptrs[tblno]; - if (qtblptr != NULL) { - for (i = 0; i < DCTSIZE; i++) { - for (j = 0; j < i; j++) { - qtemp = qtblptr->quantval[i*DCTSIZE+j]; - qtblptr->quantval[i*DCTSIZE+j] = qtblptr->quantval[j*DCTSIZE+i]; - qtblptr->quantval[j*DCTSIZE+i] = qtemp; - } - } - } - } -} - - -/* Adjust Exif image parameters. - * - * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible. - */ - -LOCAL(void) -adjust_exif_parameters (JOCTET FAR * data, unsigned int length, - JDIMENSION new_width, JDIMENSION new_height) -{ - boolean is_motorola; /* Flag for byte order */ - unsigned int number_of_tags, tagnum; - unsigned int firstoffset, offset; - JDIMENSION new_value; - - if (length < 12) return; /* Length of an IFD entry */ - - /* Discover byte order */ - if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49) - is_motorola = FALSE; - else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D) - is_motorola = TRUE; - else - return; - - /* Check Tag Mark */ - if (is_motorola) { - if (GETJOCTET(data[2]) != 0) return; - if (GETJOCTET(data[3]) != 0x2A) return; - } else { - if (GETJOCTET(data[3]) != 0) return; - if (GETJOCTET(data[2]) != 0x2A) return; - } - - /* Get first IFD offset (offset to IFD0) */ - if (is_motorola) { - if (GETJOCTET(data[4]) != 0) return; - if (GETJOCTET(data[5]) != 0) return; - firstoffset = GETJOCTET(data[6]); - firstoffset <<= 8; - firstoffset += GETJOCTET(data[7]); - } else { - if (GETJOCTET(data[7]) != 0) return; - if (GETJOCTET(data[6]) != 0) return; - firstoffset = GETJOCTET(data[5]); - firstoffset <<= 8; - firstoffset += GETJOCTET(data[4]); - } - if (firstoffset > length - 2) return; /* check end of data segment */ - - /* Get the number of directory entries contained in this IFD */ - if (is_motorola) { - number_of_tags = GETJOCTET(data[firstoffset]); - number_of_tags <<= 8; - number_of_tags += GETJOCTET(data[firstoffset+1]); - } else { - number_of_tags = GETJOCTET(data[firstoffset+1]); - number_of_tags <<= 8; - number_of_tags += GETJOCTET(data[firstoffset]); - } - if (number_of_tags == 0) return; - firstoffset += 2; - - /* Search for ExifSubIFD offset Tag in IFD0 */ - for (;;) { - if (firstoffset > length - 12) return; /* check end of data segment */ - /* Get Tag number */ - if (is_motorola) { - tagnum = GETJOCTET(data[firstoffset]); - tagnum <<= 8; - tagnum += GETJOCTET(data[firstoffset+1]); - } else { - tagnum = GETJOCTET(data[firstoffset+1]); - tagnum <<= 8; - tagnum += GETJOCTET(data[firstoffset]); - } - if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */ - if (--number_of_tags == 0) return; - firstoffset += 12; - } - - /* Get the ExifSubIFD offset */ - if (is_motorola) { - if (GETJOCTET(data[firstoffset+8]) != 0) return; - if (GETJOCTET(data[firstoffset+9]) != 0) return; - offset = GETJOCTET(data[firstoffset+10]); - offset <<= 8; - offset += GETJOCTET(data[firstoffset+11]); - } else { - if (GETJOCTET(data[firstoffset+11]) != 0) return; - if (GETJOCTET(data[firstoffset+10]) != 0) return; - offset = GETJOCTET(data[firstoffset+9]); - offset <<= 8; - offset += GETJOCTET(data[firstoffset+8]); - } - if (offset > length - 2) return; /* check end of data segment */ - - /* Get the number of directory entries contained in this SubIFD */ - if (is_motorola) { - number_of_tags = GETJOCTET(data[offset]); - number_of_tags <<= 8; - number_of_tags += GETJOCTET(data[offset+1]); - } else { - number_of_tags = GETJOCTET(data[offset+1]); - number_of_tags <<= 8; - number_of_tags += GETJOCTET(data[offset]); - } - if (number_of_tags < 2) return; - offset += 2; - - /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */ - do { - if (offset > length - 12) return; /* check end of data segment */ - /* Get Tag number */ - if (is_motorola) { - tagnum = GETJOCTET(data[offset]); - tagnum <<= 8; - tagnum += GETJOCTET(data[offset+1]); - } else { - tagnum = GETJOCTET(data[offset+1]); - tagnum <<= 8; - tagnum += GETJOCTET(data[offset]); - } - if (tagnum == 0xA002 || tagnum == 0xA003) { - if (tagnum == 0xA002) - new_value = new_width; /* ExifImageWidth Tag */ - else - new_value = new_height; /* ExifImageHeight Tag */ - if (is_motorola) { - data[offset+2] = 0; /* Format = unsigned long (4 octets) */ - data[offset+3] = 4; - data[offset+4] = 0; /* Number Of Components = 1 */ - data[offset+5] = 0; - data[offset+6] = 0; - data[offset+7] = 1; - data[offset+8] = 0; - data[offset+9] = 0; - data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF); - data[offset+11] = (JOCTET)(new_value & 0xFF); - } else { - data[offset+2] = 4; /* Format = unsigned long (4 octets) */ - data[offset+3] = 0; - data[offset+4] = 1; /* Number Of Components = 1 */ - data[offset+5] = 0; - data[offset+6] = 0; - data[offset+7] = 0; - data[offset+8] = (JOCTET)(new_value & 0xFF); - data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF); - data[offset+10] = 0; - data[offset+11] = 0; - } - } - offset += 12; - } while (--number_of_tags); -} - - -/* Adjust output image parameters as needed. - * - * This must be called after jpeg_copy_critical_parameters() - * and before jpeg_write_coefficients(). - * - * The return value is the set of virtual coefficient arrays to be written - * (either the ones allocated by jtransform_request_workspace, or the - * original source data arrays). The caller will need to pass this value - * to jpeg_write_coefficients(). - */ - -GLOBAL(jvirt_barray_ptr *) -jtransform_adjust_parameters (j_decompress_ptr srcinfo, - j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, - jpeg_transform_info *info) -{ - /* If force-to-grayscale is requested, adjust destination parameters */ - if (info->force_grayscale) { - /* First, ensure we have YCbCr or grayscale data, and that the source's - * Y channel is full resolution. (No reasonable person would make Y - * be less than full resolution, so actually coping with that case - * isn't worth extra code space. But we check it to avoid crashing.) - */ - if (((dstinfo->jpeg_color_space == JCS_YCbCr && - dstinfo->num_components == 3) || - (dstinfo->jpeg_color_space == JCS_GRAYSCALE && - dstinfo->num_components == 1)) && - srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor && - srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) { - /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed - * properly. Among other things, it sets the target h_samp_factor & - * v_samp_factor to 1, which typically won't match the source. - * We have to preserve the source's quantization table number, however. - */ - int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no; - jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE); - dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no; - } else { - /* Sorry, can't do it */ - ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL); - } - } else if (info->num_components == 1) { - /* For a single-component source, we force the destination sampling factors - * to 1x1, with or without force_grayscale. This is useful because some - * decoders choke on grayscale images with other sampling factors. - */ - dstinfo->comp_info[0].h_samp_factor = 1; - dstinfo->comp_info[0].v_samp_factor = 1; - } - - /* Correct the destination's image dimensions as necessary - * for crop and rotate/flip operations. - */ - dstinfo->image_width = info->output_width; - dstinfo->image_height = info->output_height; - - /* Transpose destination image parameters */ - switch (info->transform) { - case JXFORM_TRANSPOSE: - case JXFORM_TRANSVERSE: - case JXFORM_ROT_90: - case JXFORM_ROT_270: - transpose_critical_parameters(dstinfo); - break; - default: - break; - } - - /* Adjust Exif properties */ - if (srcinfo->marker_list != NULL && - srcinfo->marker_list->marker == JPEG_APP0+1 && - srcinfo->marker_list->data_length >= 6 && - GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 && - GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 && - GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 && - GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 && - GETJOCTET(srcinfo->marker_list->data[4]) == 0 && - GETJOCTET(srcinfo->marker_list->data[5]) == 0) { - /* Suppress output of JFIF marker */ - dstinfo->write_JFIF_header = FALSE; - /* Adjust Exif image parameters */ - if (dstinfo->image_width != srcinfo->image_width || - dstinfo->image_height != srcinfo->image_height) - /* Align data segment to start of TIFF structure for parsing */ - adjust_exif_parameters(srcinfo->marker_list->data + 6, - srcinfo->marker_list->data_length - 6, - dstinfo->image_width, dstinfo->image_height); - } - - /* Return the appropriate output data set */ - if (info->workspace_coef_arrays != NULL) - return info->workspace_coef_arrays; - return src_coef_arrays; -} - - -/* Execute the actual transformation, if any. - * - * This must be called *after* jpeg_write_coefficients, because it depends - * on jpeg_write_coefficients to have computed subsidiary values such as - * the per-component width and height fields in the destination object. - * - * Note that some transformations will modify the source data arrays! - */ - -GLOBAL(void) -jtransform_execute_transform (j_decompress_ptr srcinfo, - j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, - jpeg_transform_info *info) -{ - jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays; - - /* Note: conditions tested here should match those in switch statement - * in jtransform_request_workspace() - */ - switch (info->transform) { - case JXFORM_NONE: - if (info->x_crop_offset != 0 || info->y_crop_offset != 0) - do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_FLIP_H: - if (info->y_crop_offset != 0) - do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - else - do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset, - src_coef_arrays); - break; - case JXFORM_FLIP_V: - do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_TRANSPOSE: - do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_TRANSVERSE: - do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_ROT_90: - do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_ROT_180: - do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - case JXFORM_ROT_270: - do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, - src_coef_arrays, dst_coef_arrays); - break; - } -} - -/* jtransform_perfect_transform - * - * Determine whether lossless transformation is perfectly - * possible for a specified image and transformation. - * - * Inputs: - * image_width, image_height: source image dimensions. - * MCU_width, MCU_height: pixel dimensions of MCU. - * transform: transformation identifier. - * Parameter sources from initialized jpeg_struct - * (after reading source header): - * image_width = cinfo.image_width - * image_height = cinfo.image_height - * MCU_width = cinfo.max_h_samp_factor * DCTSIZE - * MCU_height = cinfo.max_v_samp_factor * DCTSIZE - * Result: - * TRUE = perfect transformation possible - * FALSE = perfect transformation not possible - * (may use custom action then) - */ - -GLOBAL(boolean) -jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height, - int MCU_width, int MCU_height, - JXFORM_CODE transform) -{ - boolean result = TRUE; /* initialize TRUE */ - - switch (transform) { - case JXFORM_FLIP_H: - case JXFORM_ROT_270: - if (image_width % (JDIMENSION) MCU_width) - result = FALSE; - break; - case JXFORM_FLIP_V: - case JXFORM_ROT_90: - if (image_height % (JDIMENSION) MCU_height) - result = FALSE; - break; - case JXFORM_TRANSVERSE: - case JXFORM_ROT_180: - if (image_width % (JDIMENSION) MCU_width) - result = FALSE; - if (image_height % (JDIMENSION) MCU_height) - result = FALSE; - break; - default: - break; - } - - return result; -} - -#endif /* TRANSFORMS_SUPPORTED */ - - -/* Setup decompression object to save desired markers in memory. - * This must be called before jpeg_read_header() to have the desired effect. - */ - -GLOBAL(void) -jcopy_markers_setup (j_decompress_ptr srcinfo, JCOPY_OPTION option) -{ -#ifdef SAVE_MARKERS_SUPPORTED - int m; - - /* Save comments except under NONE option */ - if (option != JCOPYOPT_NONE) { - jpeg_save_markers(srcinfo, JPEG_COM, 0xFFFF); - } - /* Save all types of APPn markers iff ALL option */ - if (option == JCOPYOPT_ALL) { - for (m = 0; m < 16; m++) - jpeg_save_markers(srcinfo, JPEG_APP0 + m, 0xFFFF); - } -#endif /* SAVE_MARKERS_SUPPORTED */ -} - -/* Copy markers saved in the given source object to the destination object. - * This should be called just after jpeg_start_compress() or - * jpeg_write_coefficients(). - * Note that those routines will have written the SOI, and also the - * JFIF APP0 or Adobe APP14 markers if selected. - */ - -GLOBAL(void) -jcopy_markers_execute (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JCOPY_OPTION option) -{ - jpeg_saved_marker_ptr marker; - - /* In the current implementation, we don't actually need to examine the - * option flag here; we just copy everything that got saved. - * But to avoid confusion, we do not output JFIF and Adobe APP14 markers - * if the encoder library already wrote one. - */ - for (marker = srcinfo->marker_list; marker != NULL; marker = marker->next) { - if (dstinfo->write_JFIF_header && - marker->marker == JPEG_APP0 && - marker->data_length >= 5 && - GETJOCTET(marker->data[0]) == 0x4A && - GETJOCTET(marker->data[1]) == 0x46 && - GETJOCTET(marker->data[2]) == 0x49 && - GETJOCTET(marker->data[3]) == 0x46 && - GETJOCTET(marker->data[4]) == 0) - continue; /* reject duplicate JFIF */ - if (dstinfo->write_Adobe_marker && - marker->marker == JPEG_APP0+14 && - marker->data_length >= 5 && - GETJOCTET(marker->data[0]) == 0x41 && - GETJOCTET(marker->data[1]) == 0x64 && - GETJOCTET(marker->data[2]) == 0x6F && - GETJOCTET(marker->data[3]) == 0x62 && - GETJOCTET(marker->data[4]) == 0x65) - continue; /* reject duplicate Adobe */ -#ifdef NEED_FAR_POINTERS - /* We could use jpeg_write_marker if the data weren't FAR... */ - { - unsigned int i; - jpeg_write_m_header(dstinfo, marker->marker, marker->data_length); - for (i = 0; i < marker->data_length; i++) - jpeg_write_m_byte(dstinfo, marker->data[i]); - } -#else - jpeg_write_marker(dstinfo, marker->marker, - marker->data, marker->data_length); -#endif - } -} diff --git a/3rdparty/openctm/tools/jpeg/transupp.h b/3rdparty/openctm/tools/jpeg/transupp.h deleted file mode 100644 index 858e2f48e..000000000 --- a/3rdparty/openctm/tools/jpeg/transupp.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * transupp.h - * - * Copyright (C) 1997-2001, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains declarations for image transformation routines and - * other utility code used by the jpegtran sample application. These are - * NOT part of the core JPEG library. But we keep these routines separate - * from jpegtran.c to ease the task of maintaining jpegtran-like programs - * that have other user interfaces. - * - * NOTE: all the routines declared here have very specific requirements - * about when they are to be executed during the reading and writing of the - * source and destination files. See the comments in transupp.c, or see - * jpegtran.c for an example of correct usage. - */ - -/* If you happen not to want the image transform support, disable it here */ -#ifndef TRANSFORMS_SUPPORTED -#define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */ -#endif - -/* - * Although rotating and flipping data expressed as DCT coefficients is not - * hard, there is an asymmetry in the JPEG format specification for images - * whose dimensions aren't multiples of the iMCU size. The right and bottom - * image edges are padded out to the next iMCU boundary with junk data; but - * no padding is possible at the top and left edges. If we were to flip - * the whole image including the pad data, then pad garbage would become - * visible at the top and/or left, and real pixels would disappear into the - * pad margins --- perhaps permanently, since encoders & decoders may not - * bother to preserve DCT blocks that appear to be completely outside the - * nominal image area. So, we have to exclude any partial iMCUs from the - * basic transformation. - * - * Transpose is the only transformation that can handle partial iMCUs at the - * right and bottom edges completely cleanly. flip_h can flip partial iMCUs - * at the bottom, but leaves any partial iMCUs at the right edge untouched. - * Similarly flip_v leaves any partial iMCUs at the bottom edge untouched. - * The other transforms are defined as combinations of these basic transforms - * and process edge blocks in a way that preserves the equivalence. - * - * The "trim" option causes untransformable partial iMCUs to be dropped; - * this is not strictly lossless, but it usually gives the best-looking - * result for odd-size images. Note that when this option is active, - * the expected mathematical equivalences between the transforms may not hold. - * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim - * followed by -rot 180 -trim trims both edges.) - * - * We also offer a lossless-crop option, which discards data outside a given - * image region but losslessly preserves what is inside. Like the rotate and - * flip transforms, lossless crop is restricted by the JPEG format: the upper - * left corner of the selected region must fall on an iMCU boundary. If this - * does not hold for the given crop parameters, we silently move the upper left - * corner up and/or left to make it so, simultaneously increasing the region - * dimensions to keep the lower right crop corner unchanged. (Thus, the - * output image covers at least the requested region, but may cover more.) - * - * If both crop and a rotate/flip transform are requested, the crop is applied - * last --- that is, the crop region is specified in terms of the destination - * image. - * - * We also offer a "force to grayscale" option, which simply discards the - * chrominance channels of a YCbCr image. This is lossless in the sense that - * the luminance channel is preserved exactly. It's not the same kind of - * thing as the rotate/flip transformations, but it's convenient to handle it - * as part of this package, mainly because the transformation routines have to - * be aware of the option to know how many components to work on. - */ - - -/* Short forms of external names for systems with brain-damaged linkers. */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jtransform_parse_crop_spec jTrParCrop -#define jtransform_request_workspace jTrRequest -#define jtransform_adjust_parameters jTrAdjust -#define jtransform_execute_transform jTrExec -#define jtransform_perfect_transform jTrPerfect -#define jcopy_markers_setup jCMrkSetup -#define jcopy_markers_execute jCMrkExec -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* - * Codes for supported types of image transformations. - */ - -typedef enum { - JXFORM_NONE, /* no transformation */ - JXFORM_FLIP_H, /* horizontal flip */ - JXFORM_FLIP_V, /* vertical flip */ - JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */ - JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ - JXFORM_ROT_90, /* 90-degree clockwise rotation */ - JXFORM_ROT_180, /* 180-degree rotation */ - JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ -} JXFORM_CODE; - -/* - * Codes for crop parameters, which can individually be unspecified, - * positive, or negative. (Negative width or height makes no sense, though.) - */ - -typedef enum { - JCROP_UNSET, - JCROP_POS, - JCROP_NEG -} JCROP_CODE; - -/* - * Transform parameters struct. - * NB: application must not change any elements of this struct after - * calling jtransform_request_workspace. - */ - -typedef struct { - /* Options: set by caller */ - JXFORM_CODE transform; /* image transform operator */ - boolean perfect; /* if TRUE, fail if partial MCUs are requested */ - boolean trim; /* if TRUE, trim partial MCUs as needed */ - boolean force_grayscale; /* if TRUE, convert color image to grayscale */ - boolean crop; /* if TRUE, crop source image */ - - /* Crop parameters: application need not set these unless crop is TRUE. - * These can be filled in by jtransform_parse_crop_spec(). - */ - JDIMENSION crop_width; /* Width of selected region */ - JCROP_CODE crop_width_set; - JDIMENSION crop_height; /* Height of selected region */ - JCROP_CODE crop_height_set; - JDIMENSION crop_xoffset; /* X offset of selected region */ - JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */ - JDIMENSION crop_yoffset; /* Y offset of selected region */ - JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */ - - /* Internal workspace: caller should not touch these */ - int num_components; /* # of components in workspace */ - jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */ - JDIMENSION output_width; /* cropped destination dimensions */ - JDIMENSION output_height; - JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */ - JDIMENSION y_crop_offset; - int max_h_samp_factor; /* destination iMCU size */ - int max_v_samp_factor; -} jpeg_transform_info; - - -#if TRANSFORMS_SUPPORTED - -/* Parse a crop specification (written in X11 geometry style) */ -EXTERN(boolean) jtransform_parse_crop_spec - JPP((jpeg_transform_info *info, const char *spec)); -/* Request any required workspace */ -EXTERN(void) jtransform_request_workspace - JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info)); -/* Adjust output image parameters */ -EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters - JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, - jpeg_transform_info *info)); -/* Execute the actual transformation, if any */ -EXTERN(void) jtransform_execute_transform - JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - jvirt_barray_ptr *src_coef_arrays, - jpeg_transform_info *info)); -/* Determine whether lossless transformation is perfectly - * possible for a specified image and transformation. - */ -EXTERN(boolean) jtransform_perfect_transform - JPP((JDIMENSION image_width, JDIMENSION image_height, - int MCU_width, int MCU_height, - JXFORM_CODE transform)); - -/* jtransform_execute_transform used to be called - * jtransform_execute_transformation, but some compilers complain about - * routine names that long. This macro is here to avoid breaking any - * old source code that uses the original name... - */ -#define jtransform_execute_transformation jtransform_execute_transform - -#endif /* TRANSFORMS_SUPPORTED */ - - -/* - * Support for copying optional markers from source to destination file. - */ - -typedef enum { - JCOPYOPT_NONE, /* copy no optional markers */ - JCOPYOPT_COMMENTS, /* copy only comment (COM) markers */ - JCOPYOPT_ALL /* copy all optional markers */ -} JCOPY_OPTION; - -#define JCOPYOPT_DEFAULT JCOPYOPT_COMMENTS /* recommended default */ - -/* Setup decompression object to save desired markers in memory */ -EXTERN(void) jcopy_markers_setup - JPP((j_decompress_ptr srcinfo, JCOPY_OPTION option)); -/* Copy markers saved in the given source object to the destination object */ -EXTERN(void) jcopy_markers_execute - JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo, - JCOPY_OPTION option)); diff --git a/3rdparty/openctm/tools/jpeg/usage.txt b/3rdparty/openctm/tools/jpeg/usage.txt deleted file mode 100644 index e3465cf19..000000000 --- a/3rdparty/openctm/tools/jpeg/usage.txt +++ /dev/null @@ -1,605 +0,0 @@ -USAGE instructions for the Independent JPEG Group's JPEG software -================================================================= - -This file describes usage of the JPEG conversion programs cjpeg and djpeg, -as well as the utility programs jpegtran, rdjpgcom and wrjpgcom. (See -the other documentation files if you wish to use the JPEG library within -your own programs.) - -If you are on a Unix machine you may prefer to read the Unix-style manual -pages in files cjpeg.1, djpeg.1, jpegtran.1, rdjpgcom.1, wrjpgcom.1. - - -INTRODUCTION - -These programs implement JPEG image encoding, decoding, and transcoding. -JPEG (pronounced "jay-peg") is a standardized compression method for -full-color and gray-scale images. - - -GENERAL USAGE - -We provide two programs, cjpeg to compress an image file into JPEG format, -and djpeg to decompress a JPEG file back into a conventional image format. - -On Unix-like systems, you say: - cjpeg [switches] [imagefile] >jpegfile -or - djpeg [switches] [jpegfile] >imagefile -The programs read the specified input file, or standard input if none is -named. They always write to standard output (with trace/error messages to -standard error). These conventions are handy for piping images between -programs. - -On most non-Unix systems, you say: - cjpeg [switches] imagefile jpegfile -or - djpeg [switches] jpegfile imagefile -i.e., both the input and output files are named on the command line. This -style is a little more foolproof, and it loses no functionality if you don't -have pipes. (You can get this style on Unix too, if you prefer, by defining -TWO_FILE_COMMANDLINE when you compile the programs; see install.txt.) - -You can also say: - cjpeg [switches] -outfile jpegfile imagefile -or - djpeg [switches] -outfile imagefile jpegfile -This syntax works on all systems, so it is useful for scripts. - -The currently supported image file formats are: PPM (PBMPLUS color format), -PGM (PBMPLUS gray-scale format), BMP, Targa, and RLE (Utah Raster Toolkit -format). (RLE is supported only if the URT library is available.) -cjpeg recognizes the input image format automatically, with the exception -of some Targa-format files. You have to tell djpeg which format to generate. - -JPEG files are in the defacto standard JFIF file format. There are other, -less widely used JPEG-based file formats, but we don't support them. - -All switch names may be abbreviated; for example, -grayscale may be written --gray or -gr. Most of the "basic" switches can be abbreviated to as little as -one letter. Upper and lower case are equivalent (-BMP is the same as -bmp). -British spellings are also accepted (e.g., -greyscale), though for brevity -these are not mentioned below. - - -CJPEG DETAILS - -The basic command line switches for cjpeg are: - - -quality N[,...] Scale quantization tables to adjust image quality. - Quality is 0 (worst) to 100 (best); default is 75. - (See below for more info.) - - -grayscale Create monochrome JPEG file from color input. - Be sure to use this switch when compressing a grayscale - BMP file, because cjpeg isn't bright enough to notice - whether a BMP file uses only shades of gray. By - saying -grayscale, you'll get a smaller JPEG file that - takes less time to process. - - -optimize Perform optimization of entropy encoding parameters. - Without this, default encoding parameters are used. - -optimize usually makes the JPEG file a little smaller, - but cjpeg runs somewhat slower and needs much more - memory. Image quality and speed of decompression are - unaffected by -optimize. - - -progressive Create progressive JPEG file (see below). - - -scale M/N Scale the output image by a factor M/N. Currently - supported scale factors are 8/N with all N from 1 to - 16. - - -targa Input file is Targa format. Targa files that contain - an "identification" field will not be automatically - recognized by cjpeg; for such files you must specify - -targa to make cjpeg treat the input as Targa format. - For most Targa files, you won't need this switch. - -The -quality switch lets you trade off compressed file size against quality of -the reconstructed image: the higher the quality setting, the larger the JPEG -file, and the closer the output image will be to the original input. Normally -you want to use the lowest quality setting (smallest file) that decompresses -into something visually indistinguishable from the original image. For this -purpose the quality setting should be between 50 and 95; the default of 75 is -often about right. If you see defects at -quality 75, then go up 5 or 10 -counts at a time until you are happy with the output image. (The optimal -setting will vary from one image to another.) - --quality 100 will generate a quantization table of all 1's, minimizing loss -in the quantization step (but there is still information loss in subsampling, -as well as roundoff error). This setting is mainly of interest for -experimental purposes. Quality values above about 95 are NOT recommended for -normal use; the compressed file size goes up dramatically for hardly any gain -in output image quality. - -In the other direction, quality values below 50 will produce very small files -of low image quality. Settings around 5 to 10 might be useful in preparing an -index of a large image library, for example. Try -quality 2 (or so) for some -amusing Cubist effects. (Note: quality values below about 25 generate 2-byte -quantization tables, which are considered optional in the JPEG standard. -cjpeg emits a warning message when you give such a quality value, because some -other JPEG programs may be unable to decode the resulting file. Use -baseline -if you need to ensure compatibility at low quality values.) - -The -quality option has been extended in IJG version 7 for support of separate -quality settings for luminance and chrominance (or in general, for every -provided quantization table slot). This feature is useful for high-quality -applications which cannot accept the damage of color data by coarse -subsampling settings. You can now easily reduce the color data amount more -smoothly with finer control without separate subsampling. The resulting file -is fully compliant with standard JPEG decoders. -Note that the -quality ratings refer to the quantization table slots, and that -the last value is replicated if there are more q-table slots than parameters. -The default q-table slots are 0 for luminance and 1 for chrominance with -default tables as given in the JPEG standard. This is compatible with the old -behaviour in case that only one parameter is given, which is then used for -both luminance and chrominance (slots 0 and 1). More or custom quantization -tables can be set with -qtables and assigned to components with -qslots -parameter (see the "wizard" switches below). -CAUTION: You must explicitely add -sample 1x1 for efficient separate color -quality selection, since the default value used by library is 2x2! - -The -progressive switch creates a "progressive JPEG" file. In this type of -JPEG file, the data is stored in multiple scans of increasing quality. If the -file is being transmitted over a slow communications link, the decoder can use -the first scan to display a low-quality image very quickly, and can then -improve the display with each subsequent scan. The final image is exactly -equivalent to a standard JPEG file of the same quality setting, and the total -file size is about the same --- often a little smaller. - -Switches for advanced users: - - -dct int Use integer DCT method (default). - -dct fast Use fast integer DCT (less accurate). - -dct float Use floating-point DCT method. - The float method is very slightly more accurate than - the int method, but is much slower unless your machine - has very fast floating-point hardware. Also note that - results of the floating-point method may vary slightly - across machines, while the integer methods should give - the same results everywhere. The fast integer method - is much less accurate than the other two. - - -nosmooth Don't use high-quality downsampling. - - -restart N Emit a JPEG restart marker every N MCU rows, or every - N MCU blocks if "B" is attached to the number. - -restart 0 (the default) means no restart markers. - - -smooth N Smooth the input image to eliminate dithering noise. - N, ranging from 1 to 100, indicates the strength of - smoothing. 0 (the default) means no smoothing. - - -maxmemory N Set limit for amount of memory to use in processing - large images. Value is in thousands of bytes, or - millions of bytes if "M" is attached to the number. - For example, -max 4m selects 4000000 bytes. If more - space is needed, temporary files will be used. - - -verbose Enable debug printout. More -v's give more printout. - or -debug Also, version information is printed at startup. - -The -restart option inserts extra markers that allow a JPEG decoder to -resynchronize after a transmission error. Without restart markers, any damage -to a compressed file will usually ruin the image from the point of the error -to the end of the image; with restart markers, the damage is usually confined -to the portion of the image up to the next restart marker. Of course, the -restart markers occupy extra space. We recommend -restart 1 for images that -will be transmitted across unreliable networks such as Usenet. - -The -smooth option filters the input to eliminate fine-scale noise. This is -often useful when converting dithered images to JPEG: a moderate smoothing -factor of 10 to 50 gets rid of dithering patterns in the input file, resulting -in a smaller JPEG file and a better-looking image. Too large a smoothing -factor will visibly blur the image, however. - -Switches for wizards: - - -arithmetic Use arithmetic coding. CAUTION: arithmetic coded JPEG - is not yet widely implemented, so many decoders will - be unable to view an arithmetic coded JPEG file at - all. - - -baseline Force baseline-compatible quantization tables to be - generated. This clamps quantization values to 8 bits - even at low quality settings. (This switch is poorly - named, since it does not ensure that the output is - actually baseline JPEG. For example, you can use - -baseline and -progressive together.) - - -qtables file Use the quantization tables given in the specified - text file. - - -qslots N[,...] Select which quantization table to use for each color - component. - - -sample HxV[,...] Set JPEG sampling factors for each color component. - - -scans file Use the scan script given in the specified text file. - -The "wizard" switches are intended for experimentation with JPEG. If you -don't know what you are doing, DON'T USE THEM. These switches are documented -further in the file wizard.txt. - - -DJPEG DETAILS - -The basic command line switches for djpeg are: - - -colors N Reduce image to at most N colors. This reduces the - or -quantize N number of colors used in the output image, so that it - can be displayed on a colormapped display or stored in - a colormapped file format. For example, if you have - an 8-bit display, you'd need to reduce to 256 or fewer - colors. (-colors is the recommended name, -quantize - is provided only for backwards compatibility.) - - -fast Select recommended processing options for fast, low - quality output. (The default options are chosen for - highest quality output.) Currently, this is equivalent - to "-dct fast -nosmooth -onepass -dither ordered". - - -grayscale Force gray-scale output even if JPEG file is color. - Useful for viewing on monochrome displays; also, - djpeg runs noticeably faster in this mode. - - -scale M/N Scale the output image by a factor M/N. Currently - supported scale factors are M/8 with all M from 1 to - 16. If the /N part is omitted, then M specifies the - DCT scaled size to be applied on the given input, - which is currently equivalent to M/8 scaling, since - the source DCT size is currently always 8. - Scaling is handy if the image is larger than your - screen; also, djpeg runs much faster when scaling - down the output. - - -bmp Select BMP output format (Windows flavor). 8-bit - colormapped format is emitted if -colors or -grayscale - is specified, or if the JPEG file is gray-scale; - otherwise, 24-bit full-color format is emitted. - - -gif Select GIF output format. Since GIF does not support - more than 256 colors, -colors 256 is assumed (unless - you specify a smaller number of colors). If you - specify -fast, the default number of colors is 216. - - -os2 Select BMP output format (OS/2 1.x flavor). 8-bit - colormapped format is emitted if -colors or -grayscale - is specified, or if the JPEG file is gray-scale; - otherwise, 24-bit full-color format is emitted. - - -pnm Select PBMPLUS (PPM/PGM) output format (this is the - default format). PGM is emitted if the JPEG file is - gray-scale or if -grayscale is specified; otherwise - PPM is emitted. - - -rle Select RLE output format. (Requires URT library.) - - -targa Select Targa output format. Gray-scale format is - emitted if the JPEG file is gray-scale or if - -grayscale is specified; otherwise, colormapped format - is emitted if -colors is specified; otherwise, 24-bit - full-color format is emitted. - -Switches for advanced users: - - -dct int Use integer DCT method (default). - -dct fast Use fast integer DCT (less accurate). - -dct float Use floating-point DCT method. - The float method is very slightly more accurate than - the int method, but is much slower unless your machine - has very fast floating-point hardware. Also note that - results of the floating-point method may vary slightly - across machines, while the integer methods should give - the same results everywhere. The fast integer method - is much less accurate than the other two. - - -dither fs Use Floyd-Steinberg dithering in color quantization. - -dither ordered Use ordered dithering in color quantization. - -dither none Do not use dithering in color quantization. - By default, Floyd-Steinberg dithering is applied when - quantizing colors; this is slow but usually produces - the best results. Ordered dither is a compromise - between speed and quality; no dithering is fast but - usually looks awful. Note that these switches have - no effect unless color quantization is being done. - Ordered dither is only available in -onepass mode. - - -map FILE Quantize to the colors used in the specified image - file. This is useful for producing multiple files - with identical color maps, or for forcing a predefined - set of colors to be used. The FILE must be a GIF - or PPM file. This option overrides -colors and - -onepass. - - -nosmooth Don't use high-quality upsampling. - - -onepass Use one-pass instead of two-pass color quantization. - The one-pass method is faster and needs less memory, - but it produces a lower-quality image. -onepass is - ignored unless you also say -colors N. Also, - the one-pass method is always used for gray-scale - output (the two-pass method is no improvement then). - - -maxmemory N Set limit for amount of memory to use in processing - large images. Value is in thousands of bytes, or - millions of bytes if "M" is attached to the number. - For example, -max 4m selects 4000000 bytes. If more - space is needed, temporary files will be used. - - -verbose Enable debug printout. More -v's give more printout. - or -debug Also, version information is printed at startup. - - -HINTS FOR CJPEG - -Color GIF files are not the ideal input for JPEG; JPEG is really intended for -compressing full-color (24-bit) images. In particular, don't try to convert -cartoons, line drawings, and other images that have only a few distinct -colors. GIF works great on these, JPEG does not. If you want to convert a -GIF to JPEG, you should experiment with cjpeg's -quality and -smooth options -to get a satisfactory conversion. -smooth 10 or so is often helpful. - -Avoid running an image through a series of JPEG compression/decompression -cycles. Image quality loss will accumulate; after ten or so cycles the image -may be noticeably worse than it was after one cycle. It's best to use a -lossless format while manipulating an image, then convert to JPEG format when -you are ready to file the image away. - -The -optimize option to cjpeg is worth using when you are making a "final" -version for posting or archiving. It's also a win when you are using low -quality settings to make very small JPEG files; the percentage improvement -is often a lot more than it is on larger files. (At present, -optimize -mode is always selected when generating progressive JPEG files.) - -GIF input files are no longer supported, to avoid the Unisys LZW patent. -(Conversion of GIF files to JPEG is usually a bad idea anyway.) - - -HINTS FOR DJPEG - -To get a quick preview of an image, use the -grayscale and/or -scale switches. -"-grayscale -scale 1/8" is the fastest case. - -Several options are available that trade off image quality to gain speed. -"-fast" turns on the recommended settings. - -"-dct fast" and/or "-nosmooth" gain speed at a small sacrifice in quality. -When producing a color-quantized image, "-onepass -dither ordered" is fast but -much lower quality than the default behavior. "-dither none" may give -acceptable results in two-pass mode, but is seldom tolerable in one-pass mode. - -If you are fortunate enough to have very fast floating point hardware, -"-dct float" may be even faster than "-dct fast". But on most machines -"-dct float" is slower than "-dct int"; in this case it is not worth using, -because its theoretical accuracy advantage is too small to be significant -in practice. - -Two-pass color quantization requires a good deal of memory; on MS-DOS machines -it may run out of memory even with -maxmemory 0. In that case you can still -decompress, with some loss of image quality, by specifying -onepass for -one-pass quantization. - -To avoid the Unisys LZW patent, djpeg produces uncompressed GIF files. These -are larger than they should be, but are readable by standard GIF decoders. - - -HINTS FOR BOTH PROGRAMS - -If more space is needed than will fit in the available main memory (as -determined by -maxmemory), temporary files will be used. (MS-DOS versions -will try to get extended or expanded memory first.) The temporary files are -often rather large: in typical cases they occupy three bytes per pixel, for -example 3*800*600 = 1.44Mb for an 800x600 image. If you don't have enough -free disk space, leave out -progressive and -optimize (for cjpeg) or specify --onepass (for djpeg). - -On MS-DOS, the temporary files are created in the directory named by the TMP -or TEMP environment variable, or in the current directory if neither of those -exist. Amiga implementations put the temp files in the directory named by -JPEGTMP:, so be sure to assign JPEGTMP: to a disk partition with adequate free -space. - -The default memory usage limit (-maxmemory) is set when the software is -compiled. If you get an "insufficient memory" error, try specifying a smaller --maxmemory value, even -maxmemory 0 to use the absolute minimum space. You -may want to recompile with a smaller default value if this happens often. - -On machines that have "environment" variables, you can define the environment -variable JPEGMEM to set the default memory limit. The value is specified as -described for the -maxmemory switch. JPEGMEM overrides the default value -specified when the program was compiled, and itself is overridden by an -explicit -maxmemory switch. - -On MS-DOS machines, -maxmemory is the amount of main (conventional) memory to -use. (Extended or expanded memory is also used if available.) Most -DOS-specific versions of this software do their own memory space estimation -and do not need you to specify -maxmemory. - - -JPEGTRAN - -jpegtran performs various useful transformations of JPEG files. -It can translate the coded representation from one variant of JPEG to another, -for example from baseline JPEG to progressive JPEG or vice versa. It can also -perform some rearrangements of the image data, for example turning an image -from landscape to portrait format by rotation. - -jpegtran works by rearranging the compressed data (DCT coefficients), without -ever fully decoding the image. Therefore, its transformations are lossless: -there is no image degradation at all, which would not be true if you used -djpeg followed by cjpeg to accomplish the same conversion. But by the same -token, jpegtran cannot perform lossy operations such as changing the image -quality. - -jpegtran uses a command line syntax similar to cjpeg or djpeg. -On Unix-like systems, you say: - jpegtran [switches] [inputfile] >outputfile -On most non-Unix systems, you say: - jpegtran [switches] inputfile outputfile -where both the input and output files are JPEG files. - -To specify the coded JPEG representation used in the output file, -jpegtran accepts a subset of the switches recognized by cjpeg: - -optimize Perform optimization of entropy encoding parameters. - -progressive Create progressive JPEG file. - -restart N Emit a JPEG restart marker every N MCU rows, or every - N MCU blocks if "B" is attached to the number. - -arithmetic Use arithmetic coding. - -scans file Use the scan script given in the specified text file. -See the previous discussion of cjpeg for more details about these switches. -If you specify none of these switches, you get a plain baseline-JPEG output -file. The quality setting and so forth are determined by the input file. - -The image can be losslessly transformed by giving one of these switches: - -flip horizontal Mirror image horizontally (left-right). - -flip vertical Mirror image vertically (top-bottom). - -rotate 90 Rotate image 90 degrees clockwise. - -rotate 180 Rotate image 180 degrees. - -rotate 270 Rotate image 270 degrees clockwise (or 90 ccw). - -transpose Transpose image (across UL-to-LR axis). - -transverse Transverse transpose (across UR-to-LL axis). - -The transpose transformation has no restrictions regarding image dimensions. -The other transformations operate rather oddly if the image dimensions are not -a multiple of the iMCU size (usually 8 or 16 pixels), because they can only -transform complete blocks of DCT coefficient data in the desired way. - -jpegtran's default behavior when transforming an odd-size image is designed -to preserve exact reversibility and mathematical consistency of the -transformation set. As stated, transpose is able to flip the entire image -area. Horizontal mirroring leaves any partial iMCU column at the right edge -untouched, but is able to flip all rows of the image. Similarly, vertical -mirroring leaves any partial iMCU row at the bottom edge untouched, but is -able to flip all columns. The other transforms can be built up as sequences -of transpose and flip operations; for consistency, their actions on edge -pixels are defined to be the same as the end result of the corresponding -transpose-and-flip sequence. - -For practical use, you may prefer to discard any untransformable edge pixels -rather than having a strange-looking strip along the right and/or bottom edges -of a transformed image. To do this, add the -trim switch: - -trim Drop non-transformable edge blocks. -Obviously, a transformation with -trim is not reversible, so strictly speaking -jpegtran with this switch is not lossless. Also, the expected mathematical -equivalences between the transformations no longer hold. For example, -"-rot 270 -trim" trims only the bottom edge, but "-rot 90 -trim" followed by -"-rot 180 -trim" trims both edges. - -If you are only interested in perfect transformation, add the -perfect switch: - -perfect Fails with an error if the transformation is not - perfect. -For example you may want to do - jpegtran -rot 90 -perfect foo.jpg || djpeg foo.jpg | pnmflip -r90 | cjpeg -to do a perfect rotation if available or an approximated one if not. - -We also offer a lossless-crop option, which discards data outside a given -image region but losslessly preserves what is inside. Like the rotate and -flip transforms, lossless crop is restricted by the current JPEG format: the -upper left corner of the selected region must fall on an iMCU boundary. If -this does not hold for the given crop parameters, we silently move the upper -left corner up and/or left to make it so, simultaneously increasing the region -dimensions to keep the lower right crop corner unchanged. (Thus, the output -image covers at least the requested region, but may cover more.) - -The image can be losslessly cropped by giving the switch: - -crop WxH+X+Y Crop to a rectangular subarea of width W, height H - starting at point X,Y. - -Another not-strictly-lossless transformation switch is: - -grayscale Force grayscale output. -This option discards the chrominance channels if the input image is YCbCr -(ie, a standard color JPEG), resulting in a grayscale JPEG file. The -luminance channel is preserved exactly, so this is a better method of reducing -to grayscale than decompression, conversion, and recompression. This switch -is particularly handy for fixing a monochrome picture that was mistakenly -encoded as a color JPEG. (In such a case, the space savings from getting rid -of the near-empty chroma channels won't be large; but the decoding time for -a grayscale JPEG is substantially less than that for a color JPEG.) - -jpegtran also recognizes these switches that control what to do with "extra" -markers, such as comment blocks: - -copy none Copy no extra markers from source file. This setting - suppresses all comments and other excess baggage - present in the source file. - -copy comments Copy only comment markers. This setting copies - comments from the source file, but discards - any other inessential (for image display) data. - -copy all Copy all extra markers. This setting preserves - miscellaneous markers found in the source file, such - as JFIF thumbnails, Exif data, and Photoshop settings. - In some files these extra markers can be sizable. -The default behavior is -copy comments. (Note: in IJG releases v6 and v6a, -jpegtran always did the equivalent of -copy none.) - -Additional switches recognized by jpegtran are: - -outfile filename - -maxmemory N - -verbose - -debug -These work the same as in cjpeg or djpeg. - - -THE COMMENT UTILITIES - -The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file. -Although the standard doesn't actually define what COM blocks are for, they -are widely used to hold user-supplied text strings. This lets you add -annotations, titles, index terms, etc to your JPEG files, and later retrieve -them as text. COM blocks do not interfere with the image stored in the JPEG -file. The maximum size of a COM block is 64K, but you can have as many of -them as you like in one JPEG file. - -We provide two utility programs to display COM block contents and add COM -blocks to a JPEG file. - -rdjpgcom searches a JPEG file and prints the contents of any COM blocks on -standard output. The command line syntax is - rdjpgcom [-raw] [-verbose] [inputfilename] -The switch "-raw" (or just "-r") causes rdjpgcom to also output non-printable -characters in comments, which are normally escaped for security reasons. -The switch "-verbose" (or just "-v") causes rdjpgcom to also display the JPEG -image dimensions. If you omit the input file name from the command line, -the JPEG file is read from standard input. (This may not work on some -operating systems, if binary data can't be read from stdin.) - -wrjpgcom adds a COM block, containing text you provide, to a JPEG file. -Ordinarily, the COM block is added after any existing COM blocks, but you -can delete the old COM blocks if you wish. wrjpgcom produces a new JPEG -file; it does not modify the input file. DO NOT try to overwrite the input -file by directing wrjpgcom's output back into it; on most systems this will -just destroy your file. - -The command line syntax for wrjpgcom is similar to cjpeg's. On Unix-like -systems, it is - wrjpgcom [switches] [inputfilename] -The output file is written to standard output. The input file comes from -the named file, or from standard input if no input file is named. - -On most non-Unix systems, the syntax is - wrjpgcom [switches] inputfilename outputfilename -where both input and output file names must be given explicitly. - -wrjpgcom understands three switches: - -replace Delete any existing COM blocks from the file. - -comment "Comment text" Supply new COM text on command line. - -cfile name Read text for new COM block from named file. -(Switch names can be abbreviated.) If you have only one line of comment text -to add, you can provide it on the command line with -comment. The comment -text must be surrounded with quotes so that it is treated as a single -argument. Longer comments can be read from a text file. - -If you give neither -comment nor -cfile, then wrjpgcom will read the comment -text from standard input. (In this case an input image file name MUST be -supplied, so that the source JPEG file comes from somewhere else.) You can -enter multiple lines, up to 64KB worth. Type an end-of-file indicator -(usually control-D or control-Z) to terminate the comment text entry. - -wrjpgcom will not add a COM block if the provided comment string is empty. -Therefore -replace -comment "" can be used to delete all COM blocks from a -file. - -These utility programs do not depend on the IJG JPEG library. In -particular, the source code for rdjpgcom is intended as an illustration of -the minimum amount of code required to parse a JPEG file header correctly. diff --git a/3rdparty/openctm/tools/jpeg/wizard.txt b/3rdparty/openctm/tools/jpeg/wizard.txt deleted file mode 100644 index 02418ba2b..000000000 --- a/3rdparty/openctm/tools/jpeg/wizard.txt +++ /dev/null @@ -1,211 +0,0 @@ -Advanced usage instructions for the Independent JPEG Group's JPEG software -========================================================================== - -This file describes cjpeg's "switches for wizards". - -The "wizard" switches are intended for experimentation with JPEG by persons -who are reasonably knowledgeable about the JPEG standard. If you don't know -what you are doing, DON'T USE THESE SWITCHES. You'll likely produce files -with worse image quality and/or poorer compression than you'd get from the -default settings. Furthermore, these switches must be used with caution -when making files intended for general use, because not all JPEG decoders -will support unusual JPEG parameter settings. - - -Quantization Table Adjustment ------------------------------ - -Ordinarily, cjpeg starts with a default set of tables (the same ones given -as examples in the JPEG standard) and scales them up or down according to -the -quality setting. The details of the scaling algorithm can be found in -jcparam.c. At very low quality settings, some quantization table entries -can get scaled up to values exceeding 255. Although 2-byte quantization -values are supported by the IJG software, this feature is not in baseline -JPEG and is not supported by all implementations. If you need to ensure -wide compatibility of low-quality files, you can constrain the scaled -quantization values to no more than 255 by giving the -baseline switch. -Note that use of -baseline will result in poorer quality for the same file -size, since more bits than necessary are expended on higher AC coefficients. - -You can substitute a different set of quantization values by using the --qtables switch: - - -qtables file Use the quantization tables given in the named file. - -The specified file should be a text file containing decimal quantization -values. The file should contain one to four tables, each of 64 elements. -The tables are implicitly numbered 0,1,etc. in order of appearance. Table -entries appear in normal array order (NOT in the zigzag order in which they -will be stored in the JPEG file). - -Quantization table files are free format, in that arbitrary whitespace can -appear between numbers. Also, comments can be included: a comment starts -with '#' and extends to the end of the line. Here is an example file that -duplicates the default quantization tables: - - # Quantization tables given in JPEG spec, section K.1 - - # This is table 0 (the luminance table): - 16 11 10 16 24 40 51 61 - 12 12 14 19 26 58 60 55 - 14 13 16 24 40 57 69 56 - 14 17 22 29 51 87 80 62 - 18 22 37 56 68 109 103 77 - 24 35 55 64 81 104 113 92 - 49 64 78 87 103 121 120 101 - 72 92 95 98 112 100 103 99 - - # This is table 1 (the chrominance table): - 17 18 24 47 99 99 99 99 - 18 21 26 66 99 99 99 99 - 24 26 56 99 99 99 99 99 - 47 66 99 99 99 99 99 99 - 99 99 99 99 99 99 99 99 - 99 99 99 99 99 99 99 99 - 99 99 99 99 99 99 99 99 - 99 99 99 99 99 99 99 99 - -If the -qtables switch is used without -quality, then the specified tables -are used exactly as-is. If both -qtables and -quality are used, then the -tables taken from the file are scaled in the same fashion that the default -tables would be scaled for that quality setting. If -baseline appears, then -the quantization values are constrained to the range 1-255. - -By default, cjpeg will use quantization table 0 for luminance components and -table 1 for chrominance components. To override this choice, use the -qslots -switch: - - -qslots N[,...] Select which quantization table to use for - each color component. - -The -qslots switch specifies a quantization table number for each color -component, in the order in which the components appear in the JPEG SOF marker. -For example, to create a separate table for each of Y,Cb,Cr, you could -provide a -qtables file that defines three quantization tables and say -"-qslots 0,1,2". If -qslots gives fewer table numbers than there are color -components, then the last table number is repeated as necessary. - - -Sampling Factor Adjustment --------------------------- - -By default, cjpeg uses 2:1 horizontal and vertical downsampling when -compressing YCbCr data, and no downsampling for all other color spaces. -You can override this default with the -sample switch: - - -sample HxV[,...] Set JPEG sampling factors for each color - component. - -The -sample switch specifies the JPEG sampling factors for each color -component, in the order in which they appear in the JPEG SOF marker. -If you specify fewer HxV pairs than there are components, the remaining -components are set to 1x1 sampling. For example, the default YCbCr setting -is equivalent to "-sample 2x2,1x1,1x1", which can be abbreviated to -"-sample 2x2". - -There are still some JPEG decoders in existence that support only 2x1 -sampling (also called 4:2:2 sampling). Compatibility with such decoders can -be achieved by specifying "-sample 2x1". This is not recommended unless -really necessary, since it increases file size and encoding/decoding time -with very little quality gain. - - -Multiple Scan / Progression Control ------------------------------------ - -By default, cjpeg emits a single-scan sequential JPEG file. The --progressive switch generates a progressive JPEG file using a default series -of progression parameters. You can create multiple-scan sequential JPEG -files or progressive JPEG files with custom progression parameters by using -the -scans switch: - - -scans file Use the scan sequence given in the named file. - -The specified file should be a text file containing a "scan script". -The script specifies the contents and ordering of the scans to be emitted. -Each entry in the script defines one scan. A scan definition specifies -the components to be included in the scan, and for progressive JPEG it also -specifies the progression parameters Ss,Se,Ah,Al for the scan. Scan -definitions are separated by semicolons (';'). A semicolon after the last -scan definition is optional. - -Each scan definition contains one to four component indexes, optionally -followed by a colon (':') and the four progressive-JPEG parameters. The -component indexes denote which color component(s) are to be transmitted in -the scan. Components are numbered in the order in which they appear in the -JPEG SOF marker, with the first component being numbered 0. (Note that these -indexes are not the "component ID" codes assigned to the components, just -positional indexes.) - -The progression parameters for each scan are: - Ss Zigzag index of first coefficient included in scan - Se Zigzag index of last coefficient included in scan - Ah Zero for first scan of a coefficient, else Al of prior scan - Al Successive approximation low bit position for scan -If the progression parameters are omitted, the values 0,63,0,0 are used, -producing a sequential JPEG file. cjpeg automatically determines whether -the script represents a progressive or sequential file, by observing whether -Ss and Se values other than 0 and 63 appear. (The -progressive switch is -not needed to specify this; in fact, it is ignored when -scans appears.) -The scan script must meet the JPEG restrictions on progression sequences. -(cjpeg checks that the spec's requirements are obeyed.) - -Scan script files are free format, in that arbitrary whitespace can appear -between numbers and around punctuation. Also, comments can be included: a -comment starts with '#' and extends to the end of the line. For additional -legibility, commas or dashes can be placed between values. (Actually, any -single punctuation character other than ':' or ';' can be inserted.) For -example, the following two scan definitions are equivalent: - 0 1 2: 0 63 0 0; - 0,1,2 : 0-63, 0,0 ; - -Here is an example of a scan script that generates a partially interleaved -sequential JPEG file: - - 0; # Y only in first scan - 1 2; # Cb and Cr in second scan - -Here is an example of a progressive scan script using only spectral selection -(no successive approximation): - - # Interleaved DC scan for Y,Cb,Cr: - 0,1,2: 0-0, 0, 0 ; - # AC scans: - 0: 1-2, 0, 0 ; # First two Y AC coefficients - 0: 3-5, 0, 0 ; # Three more - 1: 1-63, 0, 0 ; # All AC coefficients for Cb - 2: 1-63, 0, 0 ; # All AC coefficients for Cr - 0: 6-9, 0, 0 ; # More Y coefficients - 0: 10-63, 0, 0 ; # Remaining Y coefficients - -Here is an example of a successive-approximation script. This is equivalent -to the default script used by "cjpeg -progressive" for YCbCr images: - - # Initial DC scan for Y,Cb,Cr (lowest bit not sent) - 0,1,2: 0-0, 0, 1 ; - # First AC scan: send first 5 Y AC coefficients, minus 2 lowest bits: - 0: 1-5, 0, 2 ; - # Send all Cr,Cb AC coefficients, minus lowest bit: - # (chroma data is usually too small to be worth subdividing further; - # but note we send Cr first since eye is least sensitive to Cb) - 2: 1-63, 0, 1 ; - 1: 1-63, 0, 1 ; - # Send remaining Y AC coefficients, minus 2 lowest bits: - 0: 6-63, 0, 2 ; - # Send next-to-lowest bit of all Y AC coefficients: - 0: 1-63, 2, 1 ; - # At this point we've sent all but the lowest bit of all coefficients. - # Send lowest bit of DC coefficients - 0,1,2: 0-0, 1, 0 ; - # Send lowest bit of AC coefficients - 2: 1-63, 1, 0 ; - 1: 1-63, 1, 0 ; - # Y AC lowest bit scan is last; it's usually the largest scan - 0: 1-63, 1, 0 ; - -It may be worth pointing out that this script is tuned for quality settings -of around 50 to 75. For lower quality settings, you'd probably want to use -a script with fewer stages of successive approximation (otherwise the -initial scans will be really bad). For higher quality settings, you might -want to use more stages of successive approximation (so that the initial -scans are not too large). diff --git a/3rdparty/openctm/tools/jpeg/wrbmp.c b/3rdparty/openctm/tools/jpeg/wrbmp.c deleted file mode 100644 index 2b8146e2c..000000000 --- a/3rdparty/openctm/tools/jpeg/wrbmp.c +++ /dev/null @@ -1,442 +0,0 @@ -/* - * wrbmp.c - * - * Copyright (C) 1994-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write output images in Microsoft "BMP" - * format (MS Windows 3.x and OS/2 1.x flavors). - * Either 8-bit colormapped or 24-bit full-color format can be written. - * No compression is supported. - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume output to - * an ordinary stdio stream. - * - * This code contributed by James Arthur Boucher. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef BMP_SUPPORTED - - -/* - * To support 12-bit JPEG data, we'd have to scale output down to 8 bits. - * This is not yet implemented. - */ - -#if BITS_IN_JSAMPLE != 8 - Sorry, this code only copes with 8-bit JSAMPLEs. /* deliberate syntax err */ -#endif - -/* - * Since BMP stores scanlines bottom-to-top, we have to invert the image - * from JPEG's top-to-bottom order. To do this, we save the outgoing data - * in a virtual array during put_pixel_row calls, then actually emit the - * BMP file during finish_output. The virtual array contains one JSAMPLE per - * pixel if the output is grayscale or colormapped, three if it is full color. - */ - -/* Private version of data destination object */ - -typedef struct { - struct djpeg_dest_struct pub; /* public fields */ - - boolean is_os2; /* saves the OS2 format request flag */ - - jvirt_sarray_ptr whole_image; /* needed to reverse row order */ - JDIMENSION data_width; /* JSAMPLEs per row */ - JDIMENSION row_width; /* physical width of one row in the BMP file */ - int pad_bytes; /* number of padding bytes needed per row */ - JDIMENSION cur_output_row; /* next row# to write to virtual array */ -} bmp_dest_struct; - -typedef bmp_dest_struct * bmp_dest_ptr; - - -/* Forward declarations */ -LOCAL(void) write_colormap - JPP((j_decompress_ptr cinfo, bmp_dest_ptr dest, - int map_colors, int map_entry_size)); - - -/* - * Write some pixel data. - * In this module rows_supplied will always be 1. - */ - -METHODDEF(void) -put_pixel_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -/* This version is for writing 24-bit pixels */ -{ - bmp_dest_ptr dest = (bmp_dest_ptr) dinfo; - JSAMPARRAY image_ptr; - register JSAMPROW inptr, outptr; - register JDIMENSION col; - int pad; - - /* Access next row in virtual array */ - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->whole_image, - dest->cur_output_row, (JDIMENSION) 1, TRUE); - dest->cur_output_row++; - - /* Transfer data. Note destination values must be in BGR order - * (even though Microsoft's own documents say the opposite). - */ - inptr = dest->pub.buffer[0]; - outptr = image_ptr[0]; - for (col = cinfo->output_width; col > 0; col--) { - outptr[2] = *inptr++; /* can omit GETJSAMPLE() safely */ - outptr[1] = *inptr++; - outptr[0] = *inptr++; - outptr += 3; - } - - /* Zero out the pad bytes. */ - pad = dest->pad_bytes; - while (--pad >= 0) - *outptr++ = 0; -} - -METHODDEF(void) -put_gray_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -/* This version is for grayscale OR quantized color output */ -{ - bmp_dest_ptr dest = (bmp_dest_ptr) dinfo; - JSAMPARRAY image_ptr; - register JSAMPROW inptr, outptr; - register JDIMENSION col; - int pad; - - /* Access next row in virtual array */ - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->whole_image, - dest->cur_output_row, (JDIMENSION) 1, TRUE); - dest->cur_output_row++; - - /* Transfer data. */ - inptr = dest->pub.buffer[0]; - outptr = image_ptr[0]; - for (col = cinfo->output_width; col > 0; col--) { - *outptr++ = *inptr++; /* can omit GETJSAMPLE() safely */ - } - - /* Zero out the pad bytes. */ - pad = dest->pad_bytes; - while (--pad >= 0) - *outptr++ = 0; -} - - -/* - * Startup: normally writes the file header. - * In this module we may as well postpone everything until finish_output. - */ - -METHODDEF(void) -start_output_bmp (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - /* no work here */ -} - - -/* - * Finish up at the end of the file. - * - * Here is where we really output the BMP file. - * - * First, routines to write the Windows and OS/2 variants of the file header. - */ - -LOCAL(void) -write_bmp_header (j_decompress_ptr cinfo, bmp_dest_ptr dest) -/* Write a Windows-style BMP file header, including colormap if needed */ -{ - char bmpfileheader[14]; - char bmpinfoheader[40]; -#define PUT_2B(array,offset,value) \ - (array[offset] = (char) ((value) & 0xFF), \ - array[offset+1] = (char) (((value) >> 8) & 0xFF)) -#define PUT_4B(array,offset,value) \ - (array[offset] = (char) ((value) & 0xFF), \ - array[offset+1] = (char) (((value) >> 8) & 0xFF), \ - array[offset+2] = (char) (((value) >> 16) & 0xFF), \ - array[offset+3] = (char) (((value) >> 24) & 0xFF)) - INT32 headersize, bfSize; - int bits_per_pixel, cmap_entries; - - /* Compute colormap size and total file size */ - if (cinfo->out_color_space == JCS_RGB) { - if (cinfo->quantize_colors) { - /* Colormapped RGB */ - bits_per_pixel = 8; - cmap_entries = 256; - } else { - /* Unquantized, full color RGB */ - bits_per_pixel = 24; - cmap_entries = 0; - } - } else { - /* Grayscale output. We need to fake a 256-entry colormap. */ - bits_per_pixel = 8; - cmap_entries = 256; - } - /* File size */ - headersize = 14 + 40 + cmap_entries * 4; /* Header and colormap */ - bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height; - - /* Set unused fields of header to 0 */ - MEMZERO(bmpfileheader, SIZEOF(bmpfileheader)); - MEMZERO(bmpinfoheader, SIZEOF(bmpinfoheader)); - - /* Fill the file header */ - bmpfileheader[0] = 0x42; /* first 2 bytes are ASCII 'B', 'M' */ - bmpfileheader[1] = 0x4D; - PUT_4B(bmpfileheader, 2, bfSize); /* bfSize */ - /* we leave bfReserved1 & bfReserved2 = 0 */ - PUT_4B(bmpfileheader, 10, headersize); /* bfOffBits */ - - /* Fill the info header (Microsoft calls this a BITMAPINFOHEADER) */ - PUT_2B(bmpinfoheader, 0, 40); /* biSize */ - PUT_4B(bmpinfoheader, 4, cinfo->output_width); /* biWidth */ - PUT_4B(bmpinfoheader, 8, cinfo->output_height); /* biHeight */ - PUT_2B(bmpinfoheader, 12, 1); /* biPlanes - must be 1 */ - PUT_2B(bmpinfoheader, 14, bits_per_pixel); /* biBitCount */ - /* we leave biCompression = 0, for none */ - /* we leave biSizeImage = 0; this is correct for uncompressed data */ - if (cinfo->density_unit == 2) { /* if have density in dots/cm, then */ - PUT_4B(bmpinfoheader, 24, (INT32) (cinfo->X_density*100)); /* XPels/M */ - PUT_4B(bmpinfoheader, 28, (INT32) (cinfo->Y_density*100)); /* XPels/M */ - } - PUT_2B(bmpinfoheader, 32, cmap_entries); /* biClrUsed */ - /* we leave biClrImportant = 0 */ - - if (JFWRITE(dest->pub.output_file, bmpfileheader, 14) != (size_t) 14) - ERREXIT(cinfo, JERR_FILE_WRITE); - if (JFWRITE(dest->pub.output_file, bmpinfoheader, 40) != (size_t) 40) - ERREXIT(cinfo, JERR_FILE_WRITE); - - if (cmap_entries > 0) - write_colormap(cinfo, dest, cmap_entries, 4); -} - - -LOCAL(void) -write_os2_header (j_decompress_ptr cinfo, bmp_dest_ptr dest) -/* Write an OS2-style BMP file header, including colormap if needed */ -{ - char bmpfileheader[14]; - char bmpcoreheader[12]; - INT32 headersize, bfSize; - int bits_per_pixel, cmap_entries; - - /* Compute colormap size and total file size */ - if (cinfo->out_color_space == JCS_RGB) { - if (cinfo->quantize_colors) { - /* Colormapped RGB */ - bits_per_pixel = 8; - cmap_entries = 256; - } else { - /* Unquantized, full color RGB */ - bits_per_pixel = 24; - cmap_entries = 0; - } - } else { - /* Grayscale output. We need to fake a 256-entry colormap. */ - bits_per_pixel = 8; - cmap_entries = 256; - } - /* File size */ - headersize = 14 + 12 + cmap_entries * 3; /* Header and colormap */ - bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height; - - /* Set unused fields of header to 0 */ - MEMZERO(bmpfileheader, SIZEOF(bmpfileheader)); - MEMZERO(bmpcoreheader, SIZEOF(bmpcoreheader)); - - /* Fill the file header */ - bmpfileheader[0] = 0x42; /* first 2 bytes are ASCII 'B', 'M' */ - bmpfileheader[1] = 0x4D; - PUT_4B(bmpfileheader, 2, bfSize); /* bfSize */ - /* we leave bfReserved1 & bfReserved2 = 0 */ - PUT_4B(bmpfileheader, 10, headersize); /* bfOffBits */ - - /* Fill the info header (Microsoft calls this a BITMAPCOREHEADER) */ - PUT_2B(bmpcoreheader, 0, 12); /* bcSize */ - PUT_2B(bmpcoreheader, 4, cinfo->output_width); /* bcWidth */ - PUT_2B(bmpcoreheader, 6, cinfo->output_height); /* bcHeight */ - PUT_2B(bmpcoreheader, 8, 1); /* bcPlanes - must be 1 */ - PUT_2B(bmpcoreheader, 10, bits_per_pixel); /* bcBitCount */ - - if (JFWRITE(dest->pub.output_file, bmpfileheader, 14) != (size_t) 14) - ERREXIT(cinfo, JERR_FILE_WRITE); - if (JFWRITE(dest->pub.output_file, bmpcoreheader, 12) != (size_t) 12) - ERREXIT(cinfo, JERR_FILE_WRITE); - - if (cmap_entries > 0) - write_colormap(cinfo, dest, cmap_entries, 3); -} - - -/* - * Write the colormap. - * Windows uses BGR0 map entries; OS/2 uses BGR entries. - */ - -LOCAL(void) -write_colormap (j_decompress_ptr cinfo, bmp_dest_ptr dest, - int map_colors, int map_entry_size) -{ - JSAMPARRAY colormap = cinfo->colormap; - int num_colors = cinfo->actual_number_of_colors; - FILE * outfile = dest->pub.output_file; - int i; - - if (colormap != NULL) { - if (cinfo->out_color_components == 3) { - /* Normal case with RGB colormap */ - for (i = 0; i < num_colors; i++) { - putc(GETJSAMPLE(colormap[2][i]), outfile); - putc(GETJSAMPLE(colormap[1][i]), outfile); - putc(GETJSAMPLE(colormap[0][i]), outfile); - if (map_entry_size == 4) - putc(0, outfile); - } - } else { - /* Grayscale colormap (only happens with grayscale quantization) */ - for (i = 0; i < num_colors; i++) { - putc(GETJSAMPLE(colormap[0][i]), outfile); - putc(GETJSAMPLE(colormap[0][i]), outfile); - putc(GETJSAMPLE(colormap[0][i]), outfile); - if (map_entry_size == 4) - putc(0, outfile); - } - } - } else { - /* If no colormap, must be grayscale data. Generate a linear "map". */ - for (i = 0; i < 256; i++) { - putc(i, outfile); - putc(i, outfile); - putc(i, outfile); - if (map_entry_size == 4) - putc(0, outfile); - } - } - /* Pad colormap with zeros to ensure specified number of colormap entries */ - if (i > map_colors) - ERREXIT1(cinfo, JERR_TOO_MANY_COLORS, i); - for (; i < map_colors; i++) { - putc(0, outfile); - putc(0, outfile); - putc(0, outfile); - if (map_entry_size == 4) - putc(0, outfile); - } -} - - -METHODDEF(void) -finish_output_bmp (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - bmp_dest_ptr dest = (bmp_dest_ptr) dinfo; - register FILE * outfile = dest->pub.output_file; - JSAMPARRAY image_ptr; - register JSAMPROW data_ptr; - JDIMENSION row; - register JDIMENSION col; - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - - /* Write the header and colormap */ - if (dest->is_os2) - write_os2_header(cinfo, dest); - else - write_bmp_header(cinfo, dest); - - /* Write the file body from our virtual array */ - for (row = cinfo->output_height; row > 0; row--) { - if (progress != NULL) { - progress->pub.pass_counter = (long) (cinfo->output_height - row); - progress->pub.pass_limit = (long) cinfo->output_height; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } - image_ptr = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->whole_image, row-1, (JDIMENSION) 1, FALSE); - data_ptr = image_ptr[0]; - for (col = dest->row_width; col > 0; col--) { - putc(GETJSAMPLE(*data_ptr), outfile); - data_ptr++; - } - } - if (progress != NULL) - progress->completed_extra_passes++; - - /* Make sure we wrote the output file OK */ - fflush(outfile); - if (ferror(outfile)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * The module selection routine for BMP format output. - */ - -GLOBAL(djpeg_dest_ptr) -jinit_write_bmp (j_decompress_ptr cinfo, boolean is_os2) -{ - bmp_dest_ptr dest; - JDIMENSION row_width; - - /* Create module interface object, fill in method pointers */ - dest = (bmp_dest_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(bmp_dest_struct)); - dest->pub.start_output = start_output_bmp; - dest->pub.finish_output = finish_output_bmp; - dest->is_os2 = is_os2; - - if (cinfo->out_color_space == JCS_GRAYSCALE) { - dest->pub.put_pixel_rows = put_gray_rows; - } else if (cinfo->out_color_space == JCS_RGB) { - if (cinfo->quantize_colors) - dest->pub.put_pixel_rows = put_gray_rows; - else - dest->pub.put_pixel_rows = put_pixel_rows; - } else { - ERREXIT(cinfo, JERR_BMP_COLORSPACE); - } - - /* Calculate output image dimensions so we can allocate space */ - jpeg_calc_output_dimensions(cinfo); - - /* Determine width of rows in the BMP file (padded to 4-byte boundary). */ - row_width = cinfo->output_width * cinfo->output_components; - dest->data_width = row_width; - while ((row_width & 3) != 0) row_width++; - dest->row_width = row_width; - dest->pad_bytes = (int) (row_width - dest->data_width); - - /* Allocate space for inversion array, prepare for write pass */ - dest->whole_image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - row_width, cinfo->output_height, (JDIMENSION) 1); - dest->cur_output_row = 0; - if (cinfo->progress != NULL) { - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; - progress->total_extra_passes++; /* count file input as separate pass */ - } - - /* Create decompressor output buffer. */ - dest->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, row_width, (JDIMENSION) 1); - dest->pub.buffer_height = 1; - - return (djpeg_dest_ptr) dest; -} - -#endif /* BMP_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/wrgif.c b/3rdparty/openctm/tools/jpeg/wrgif.c deleted file mode 100644 index 13f953b56..000000000 --- a/3rdparty/openctm/tools/jpeg/wrgif.c +++ /dev/null @@ -1,399 +0,0 @@ -/* - * wrgif.c - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write output images in GIF format. - * - ************************************************************************** - * NOTE: to avoid entanglements with Unisys' patent on LZW compression, * - * this code has been modified to output "uncompressed GIF" files. * - * There is no trace of the LZW algorithm in this file. * - ************************************************************************** - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume output to - * an ordinary stdio stream. - */ - -/* - * This code is loosely based on ppmtogif from the PBMPLUS distribution - * of Feb. 1991. That file contains the following copyright notice: - * Based on GIFENCODE by David Rowley . - * Lempel-Ziv compression based on "compress" by Spencer W. Thomas et al. - * Copyright (C) 1989 by Jef Poskanzer. - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, provided - * that the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. This software is provided "as is" without express or - * implied warranty. - * - * We are also required to state that - * "The Graphics Interchange Format(c) is the Copyright property of - * CompuServe Incorporated. GIF(sm) is a Service Mark property of - * CompuServe Incorporated." - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef GIF_SUPPORTED - - -/* Private version of data destination object */ - -typedef struct { - struct djpeg_dest_struct pub; /* public fields */ - - j_decompress_ptr cinfo; /* back link saves passing separate parm */ - - /* State for packing variable-width codes into a bitstream */ - int n_bits; /* current number of bits/code */ - int maxcode; /* maximum code, given n_bits */ - INT32 cur_accum; /* holds bits not yet output */ - int cur_bits; /* # of bits in cur_accum */ - - /* State for GIF code assignment */ - int ClearCode; /* clear code (doesn't change) */ - int EOFCode; /* EOF code (ditto) */ - int code_counter; /* counts output symbols */ - - /* GIF data packet construction buffer */ - int bytesinpkt; /* # of bytes in current packet */ - char packetbuf[256]; /* workspace for accumulating packet */ - -} gif_dest_struct; - -typedef gif_dest_struct * gif_dest_ptr; - -/* Largest value that will fit in N bits */ -#define MAXCODE(n_bits) ((1 << (n_bits)) - 1) - - -/* - * Routines to package finished data bytes into GIF data blocks. - * A data block consists of a count byte (1..255) and that many data bytes. - */ - -LOCAL(void) -flush_packet (gif_dest_ptr dinfo) -/* flush any accumulated data */ -{ - if (dinfo->bytesinpkt > 0) { /* never write zero-length packet */ - dinfo->packetbuf[0] = (char) dinfo->bytesinpkt++; - if (JFWRITE(dinfo->pub.output_file, dinfo->packetbuf, dinfo->bytesinpkt) - != (size_t) dinfo->bytesinpkt) - ERREXIT(dinfo->cinfo, JERR_FILE_WRITE); - dinfo->bytesinpkt = 0; - } -} - - -/* Add a character to current packet; flush to disk if necessary */ -#define CHAR_OUT(dinfo,c) \ - { (dinfo)->packetbuf[++(dinfo)->bytesinpkt] = (char) (c); \ - if ((dinfo)->bytesinpkt >= 255) \ - flush_packet(dinfo); \ - } - - -/* Routine to convert variable-width codes into a byte stream */ - -LOCAL(void) -output (gif_dest_ptr dinfo, int code) -/* Emit a code of n_bits bits */ -/* Uses cur_accum and cur_bits to reblock into 8-bit bytes */ -{ - dinfo->cur_accum |= ((INT32) code) << dinfo->cur_bits; - dinfo->cur_bits += dinfo->n_bits; - - while (dinfo->cur_bits >= 8) { - CHAR_OUT(dinfo, dinfo->cur_accum & 0xFF); - dinfo->cur_accum >>= 8; - dinfo->cur_bits -= 8; - } -} - - -/* The pseudo-compression algorithm. - * - * In this module we simply output each pixel value as a separate symbol; - * thus, no compression occurs. In fact, there is expansion of one bit per - * pixel, because we use a symbol width one bit wider than the pixel width. - * - * GIF ordinarily uses variable-width symbols, and the decoder will expect - * to ratchet up the symbol width after a fixed number of symbols. - * To simplify the logic and keep the expansion penalty down, we emit a - * GIF Clear code to reset the decoder just before the width would ratchet up. - * Thus, all the symbols in the output file will have the same bit width. - * Note that emitting the Clear codes at the right times is a mere matter of - * counting output symbols and is in no way dependent on the LZW patent. - * - * With a small basic pixel width (low color count), Clear codes will be - * needed very frequently, causing the file to expand even more. So this - * simplistic approach wouldn't work too well on bilevel images, for example. - * But for output of JPEG conversions the pixel width will usually be 8 bits - * (129 to 256 colors), so the overhead added by Clear symbols is only about - * one symbol in every 256. - */ - -LOCAL(void) -compress_init (gif_dest_ptr dinfo, int i_bits) -/* Initialize pseudo-compressor */ -{ - /* init all the state variables */ - dinfo->n_bits = i_bits; - dinfo->maxcode = MAXCODE(dinfo->n_bits); - dinfo->ClearCode = (1 << (i_bits - 1)); - dinfo->EOFCode = dinfo->ClearCode + 1; - dinfo->code_counter = dinfo->ClearCode + 2; - /* init output buffering vars */ - dinfo->bytesinpkt = 0; - dinfo->cur_accum = 0; - dinfo->cur_bits = 0; - /* GIF specifies an initial Clear code */ - output(dinfo, dinfo->ClearCode); -} - - -LOCAL(void) -compress_pixel (gif_dest_ptr dinfo, int c) -/* Accept and "compress" one pixel value. - * The given value must be less than n_bits wide. - */ -{ - /* Output the given pixel value as a symbol. */ - output(dinfo, c); - /* Issue Clear codes often enough to keep the reader from ratcheting up - * its symbol size. - */ - if (dinfo->code_counter < dinfo->maxcode) { - dinfo->code_counter++; - } else { - output(dinfo, dinfo->ClearCode); - dinfo->code_counter = dinfo->ClearCode + 2; /* reset the counter */ - } -} - - -LOCAL(void) -compress_term (gif_dest_ptr dinfo) -/* Clean up at end */ -{ - /* Send an EOF code */ - output(dinfo, dinfo->EOFCode); - /* Flush the bit-packing buffer */ - if (dinfo->cur_bits > 0) { - CHAR_OUT(dinfo, dinfo->cur_accum & 0xFF); - } - /* Flush the packet buffer */ - flush_packet(dinfo); -} - - -/* GIF header construction */ - - -LOCAL(void) -put_word (gif_dest_ptr dinfo, unsigned int w) -/* Emit a 16-bit word, LSB first */ -{ - putc(w & 0xFF, dinfo->pub.output_file); - putc((w >> 8) & 0xFF, dinfo->pub.output_file); -} - - -LOCAL(void) -put_3bytes (gif_dest_ptr dinfo, int val) -/* Emit 3 copies of same byte value --- handy subr for colormap construction */ -{ - putc(val, dinfo->pub.output_file); - putc(val, dinfo->pub.output_file); - putc(val, dinfo->pub.output_file); -} - - -LOCAL(void) -emit_header (gif_dest_ptr dinfo, int num_colors, JSAMPARRAY colormap) -/* Output the GIF file header, including color map */ -/* If colormap==NULL, synthesize a gray-scale colormap */ -{ - int BitsPerPixel, ColorMapSize, InitCodeSize, FlagByte; - int cshift = dinfo->cinfo->data_precision - 8; - int i; - - if (num_colors > 256) - ERREXIT1(dinfo->cinfo, JERR_TOO_MANY_COLORS, num_colors); - /* Compute bits/pixel and related values */ - BitsPerPixel = 1; - while (num_colors > (1 << BitsPerPixel)) - BitsPerPixel++; - ColorMapSize = 1 << BitsPerPixel; - if (BitsPerPixel <= 1) - InitCodeSize = 2; - else - InitCodeSize = BitsPerPixel; - /* - * Write the GIF header. - * Note that we generate a plain GIF87 header for maximum compatibility. - */ - putc('G', dinfo->pub.output_file); - putc('I', dinfo->pub.output_file); - putc('F', dinfo->pub.output_file); - putc('8', dinfo->pub.output_file); - putc('7', dinfo->pub.output_file); - putc('a', dinfo->pub.output_file); - /* Write the Logical Screen Descriptor */ - put_word(dinfo, (unsigned int) dinfo->cinfo->output_width); - put_word(dinfo, (unsigned int) dinfo->cinfo->output_height); - FlagByte = 0x80; /* Yes, there is a global color table */ - FlagByte |= (BitsPerPixel-1) << 4; /* color resolution */ - FlagByte |= (BitsPerPixel-1); /* size of global color table */ - putc(FlagByte, dinfo->pub.output_file); - putc(0, dinfo->pub.output_file); /* Background color index */ - putc(0, dinfo->pub.output_file); /* Reserved (aspect ratio in GIF89) */ - /* Write the Global Color Map */ - /* If the color map is more than 8 bits precision, */ - /* we reduce it to 8 bits by shifting */ - for (i=0; i < ColorMapSize; i++) { - if (i < num_colors) { - if (colormap != NULL) { - if (dinfo->cinfo->out_color_space == JCS_RGB) { - /* Normal case: RGB color map */ - putc(GETJSAMPLE(colormap[0][i]) >> cshift, dinfo->pub.output_file); - putc(GETJSAMPLE(colormap[1][i]) >> cshift, dinfo->pub.output_file); - putc(GETJSAMPLE(colormap[2][i]) >> cshift, dinfo->pub.output_file); - } else { - /* Grayscale "color map": possible if quantizing grayscale image */ - put_3bytes(dinfo, GETJSAMPLE(colormap[0][i]) >> cshift); - } - } else { - /* Create a gray-scale map of num_colors values, range 0..255 */ - put_3bytes(dinfo, (i * 255 + (num_colors-1)/2) / (num_colors-1)); - } - } else { - /* fill out the map to a power of 2 */ - put_3bytes(dinfo, 0); - } - } - /* Write image separator and Image Descriptor */ - putc(',', dinfo->pub.output_file); /* separator */ - put_word(dinfo, 0); /* left/top offset */ - put_word(dinfo, 0); - put_word(dinfo, (unsigned int) dinfo->cinfo->output_width); /* image size */ - put_word(dinfo, (unsigned int) dinfo->cinfo->output_height); - /* flag byte: not interlaced, no local color map */ - putc(0x00, dinfo->pub.output_file); - /* Write Initial Code Size byte */ - putc(InitCodeSize, dinfo->pub.output_file); - - /* Initialize for "compression" of image data */ - compress_init(dinfo, InitCodeSize+1); -} - - -/* - * Startup: write the file header. - */ - -METHODDEF(void) -start_output_gif (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - gif_dest_ptr dest = (gif_dest_ptr) dinfo; - - if (cinfo->quantize_colors) - emit_header(dest, cinfo->actual_number_of_colors, cinfo->colormap); - else - emit_header(dest, 256, (JSAMPARRAY) NULL); -} - - -/* - * Write some pixel data. - * In this module rows_supplied will always be 1. - */ - -METHODDEF(void) -put_pixel_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - gif_dest_ptr dest = (gif_dest_ptr) dinfo; - register JSAMPROW ptr; - register JDIMENSION col; - - ptr = dest->pub.buffer[0]; - for (col = cinfo->output_width; col > 0; col--) { - compress_pixel(dest, GETJSAMPLE(*ptr++)); - } -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_output_gif (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - gif_dest_ptr dest = (gif_dest_ptr) dinfo; - - /* Flush "compression" mechanism */ - compress_term(dest); - /* Write a zero-length data block to end the series */ - putc(0, dest->pub.output_file); - /* Write the GIF terminator mark */ - putc(';', dest->pub.output_file); - /* Make sure we wrote the output file OK */ - fflush(dest->pub.output_file); - if (ferror(dest->pub.output_file)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * The module selection routine for GIF format output. - */ - -GLOBAL(djpeg_dest_ptr) -jinit_write_gif (j_decompress_ptr cinfo) -{ - gif_dest_ptr dest; - - /* Create module interface object, fill in method pointers */ - dest = (gif_dest_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(gif_dest_struct)); - dest->cinfo = cinfo; /* make back link for subroutines */ - dest->pub.start_output = start_output_gif; - dest->pub.put_pixel_rows = put_pixel_rows; - dest->pub.finish_output = finish_output_gif; - - if (cinfo->out_color_space != JCS_GRAYSCALE && - cinfo->out_color_space != JCS_RGB) - ERREXIT(cinfo, JERR_GIF_COLORSPACE); - - /* Force quantization if color or if > 8 bits input */ - if (cinfo->out_color_space != JCS_GRAYSCALE || cinfo->data_precision > 8) { - /* Force quantization to at most 256 colors */ - cinfo->quantize_colors = TRUE; - if (cinfo->desired_number_of_colors > 256) - cinfo->desired_number_of_colors = 256; - } - - /* Calculate output image dimensions so we can allocate space */ - jpeg_calc_output_dimensions(cinfo); - - if (cinfo->output_components != 1) /* safety check: just one component? */ - ERREXIT(cinfo, JERR_GIF_BUG); - - /* Create decompressor output buffer. */ - dest->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, cinfo->output_width, (JDIMENSION) 1); - dest->pub.buffer_height = 1; - - return (djpeg_dest_ptr) dest; -} - -#endif /* GIF_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/wrjpgcom.1 b/3rdparty/openctm/tools/jpeg/wrjpgcom.1 deleted file mode 100644 index 44dad355d..000000000 --- a/3rdparty/openctm/tools/jpeg/wrjpgcom.1 +++ /dev/null @@ -1,103 +0,0 @@ -.TH WRJPGCOM 1 "15 June 1995" -.SH NAME -wrjpgcom \- insert text comments into a JPEG file -.SH SYNOPSIS -.B wrjpgcom -[ -.B \-replace -] -[ -.BI \-comment " text" -] -[ -.BI \-cfile " name" -] -[ -.I filename -] -.LP -.SH DESCRIPTION -.LP -.B wrjpgcom -reads the named JPEG/JFIF file, or the standard input if no file is named, -and generates a new JPEG/JFIF file on standard output. A comment block is -added to the file. -.PP -The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file. -Although the standard doesn't actually define what COM blocks are for, they -are widely used to hold user-supplied text strings. This lets you add -annotations, titles, index terms, etc to your JPEG files, and later retrieve -them as text. COM blocks do not interfere with the image stored in the JPEG -file. The maximum size of a COM block is 64K, but you can have as many of -them as you like in one JPEG file. -.PP -.B wrjpgcom -adds a COM block, containing text you provide, to a JPEG file. -Ordinarily, the COM block is added after any existing COM blocks; but you -can delete the old COM blocks if you wish. -.SH OPTIONS -Switch names may be abbreviated, and are not case sensitive. -.TP -.B \-replace -Delete any existing COM blocks from the file. -.TP -.BI \-comment " text" -Supply text for new COM block on command line. -.TP -.BI \-cfile " name" -Read text for new COM block from named file. -.PP -If you have only one line of comment text to add, you can provide it on the -command line with -.BR \-comment . -The comment text must be surrounded with quotes so that it is treated as a -single argument. Longer comments can be read from a text file. -.PP -If you give neither -.B \-comment -nor -.BR \-cfile , -then -.B wrjpgcom -will read the comment text from standard input. (In this case an input image -file name MUST be supplied, so that the source JPEG file comes from somewhere -else.) You can enter multiple lines, up to 64KB worth. Type an end-of-file -indicator (usually control-D) to terminate the comment text entry. -.PP -.B wrjpgcom -will not add a COM block if the provided comment string is empty. Therefore -\fB\-replace \-comment ""\fR can be used to delete all COM blocks from a file. -.SH EXAMPLES -.LP -Add a short comment to in.jpg, producing out.jpg: -.IP -.B wrjpgcom \-c -\fI"View of my back yard" in.jpg -.B > -.I out.jpg -.PP -Attach a long comment previously stored in comment.txt: -.IP -.B wrjpgcom -.I in.jpg -.B < -.I comment.txt -.B > -.I out.jpg -.PP -or equivalently -.IP -.B wrjpgcom -.B -cfile -.I comment.txt -.B < -.I in.jpg -.B > -.I out.jpg -.SH SEE ALSO -.BR cjpeg (1), -.BR djpeg (1), -.BR jpegtran (1), -.BR rdjpgcom (1) -.SH AUTHOR -Independent JPEG Group diff --git a/3rdparty/openctm/tools/jpeg/wrjpgcom.c b/3rdparty/openctm/tools/jpeg/wrjpgcom.c deleted file mode 100644 index 7d10ee66e..000000000 --- a/3rdparty/openctm/tools/jpeg/wrjpgcom.c +++ /dev/null @@ -1,583 +0,0 @@ -/* - * wrjpgcom.c - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains a very simple stand-alone application that inserts - * user-supplied text as a COM (comment) marker in a JFIF file. - * This may be useful as an example of the minimum logic needed to parse - * JPEG markers. - */ - -#define JPEG_CJPEG_DJPEG /* to get the command-line config symbols */ -#include "jinclude.h" /* get auto-config symbols, */ - -#ifndef HAVE_STDLIB_H /* should declare malloc() */ -extern void * malloc (); -#endif -#include /* to declare isupper(), tolower() */ -#ifdef USE_SETMODE -#include /* to declare setmode()'s parameter macros */ -/* If you have setmode() but not , just delete this line: */ -#include /* to declare setmode() */ -#endif - -#ifdef USE_CCOMMAND /* command-line reader for Macintosh */ -#ifdef __MWERKS__ -#include /* Metrowerks needs this */ -#include /* ... and this */ -#endif -#ifdef THINK_C -#include /* Think declares it here */ -#endif -#endif - -#ifdef DONT_USE_B_MODE /* define mode parameters for fopen() */ -#define READ_BINARY "r" -#define WRITE_BINARY "w" -#else -#ifdef VMS /* VMS is very nonstandard */ -#define READ_BINARY "rb", "ctx=stm" -#define WRITE_BINARY "wb", "ctx=stm" -#else /* standard ANSI-compliant case */ -#define READ_BINARY "rb" -#define WRITE_BINARY "wb" -#endif -#endif - -#ifndef EXIT_FAILURE /* define exit() codes if not provided */ -#define EXIT_FAILURE 1 -#endif -#ifndef EXIT_SUCCESS -#ifdef VMS -#define EXIT_SUCCESS 1 /* VMS is very nonstandard */ -#else -#define EXIT_SUCCESS 0 -#endif -#endif - -/* Reduce this value if your malloc() can't allocate blocks up to 64K. - * On DOS, compiling in large model is usually a better solution. - */ - -#ifndef MAX_COM_LENGTH -#define MAX_COM_LENGTH 65000L /* must be <= 65533 in any case */ -#endif - - -/* - * These macros are used to read the input file and write the output file. - * To reuse this code in another application, you might need to change these. - */ - -static FILE * infile; /* input JPEG file */ - -/* Return next input byte, or EOF if no more */ -#define NEXTBYTE() getc(infile) - -static FILE * outfile; /* output JPEG file */ - -/* Emit an output byte */ -#define PUTBYTE(x) putc((x), outfile) - - -/* Error exit handler */ -#define ERREXIT(msg) (fprintf(stderr, "%s\n", msg), exit(EXIT_FAILURE)) - - -/* Read one byte, testing for EOF */ -static int -read_1_byte (void) -{ - int c; - - c = NEXTBYTE(); - if (c == EOF) - ERREXIT("Premature EOF in JPEG file"); - return c; -} - -/* Read 2 bytes, convert to unsigned int */ -/* All 2-byte quantities in JPEG markers are MSB first */ -static unsigned int -read_2_bytes (void) -{ - int c1, c2; - - c1 = NEXTBYTE(); - if (c1 == EOF) - ERREXIT("Premature EOF in JPEG file"); - c2 = NEXTBYTE(); - if (c2 == EOF) - ERREXIT("Premature EOF in JPEG file"); - return (((unsigned int) c1) << 8) + ((unsigned int) c2); -} - - -/* Routines to write data to output file */ - -static void -write_1_byte (int c) -{ - PUTBYTE(c); -} - -static void -write_2_bytes (unsigned int val) -{ - PUTBYTE((val >> 8) & 0xFF); - PUTBYTE(val & 0xFF); -} - -static void -write_marker (int marker) -{ - PUTBYTE(0xFF); - PUTBYTE(marker); -} - -static void -copy_rest_of_file (void) -{ - int c; - - while ((c = NEXTBYTE()) != EOF) - PUTBYTE(c); -} - - -/* - * JPEG markers consist of one or more 0xFF bytes, followed by a marker - * code byte (which is not an FF). Here are the marker codes of interest - * in this program. (See jdmarker.c for a more complete list.) - */ - -#define M_SOF0 0xC0 /* Start Of Frame N */ -#define M_SOF1 0xC1 /* N indicates which compression process */ -#define M_SOF2 0xC2 /* Only SOF0-SOF2 are now in common use */ -#define M_SOF3 0xC3 -#define M_SOF5 0xC5 /* NB: codes C4 and CC are NOT SOF markers */ -#define M_SOF6 0xC6 -#define M_SOF7 0xC7 -#define M_SOF9 0xC9 -#define M_SOF10 0xCA -#define M_SOF11 0xCB -#define M_SOF13 0xCD -#define M_SOF14 0xCE -#define M_SOF15 0xCF -#define M_SOI 0xD8 /* Start Of Image (beginning of datastream) */ -#define M_EOI 0xD9 /* End Of Image (end of datastream) */ -#define M_SOS 0xDA /* Start Of Scan (begins compressed data) */ -#define M_COM 0xFE /* COMment */ - - -/* - * Find the next JPEG marker and return its marker code. - * We expect at least one FF byte, possibly more if the compressor used FFs - * to pad the file. (Padding FFs will NOT be replicated in the output file.) - * There could also be non-FF garbage between markers. The treatment of such - * garbage is unspecified; we choose to skip over it but emit a warning msg. - * NB: this routine must not be used after seeing SOS marker, since it will - * not deal correctly with FF/00 sequences in the compressed image data... - */ - -static int -next_marker (void) -{ - int c; - int discarded_bytes = 0; - - /* Find 0xFF byte; count and skip any non-FFs. */ - c = read_1_byte(); - while (c != 0xFF) { - discarded_bytes++; - c = read_1_byte(); - } - /* Get marker code byte, swallowing any duplicate FF bytes. Extra FFs - * are legal as pad bytes, so don't count them in discarded_bytes. - */ - do { - c = read_1_byte(); - } while (c == 0xFF); - - if (discarded_bytes != 0) { - fprintf(stderr, "Warning: garbage data found in JPEG file\n"); - } - - return c; -} - - -/* - * Read the initial marker, which should be SOI. - * For a JFIF file, the first two bytes of the file should be literally - * 0xFF M_SOI. To be more general, we could use next_marker, but if the - * input file weren't actually JPEG at all, next_marker might read the whole - * file and then return a misleading error message... - */ - -static int -first_marker (void) -{ - int c1, c2; - - c1 = NEXTBYTE(); - c2 = NEXTBYTE(); - if (c1 != 0xFF || c2 != M_SOI) - ERREXIT("Not a JPEG file"); - return c2; -} - - -/* - * Most types of marker are followed by a variable-length parameter segment. - * This routine skips over the parameters for any marker we don't otherwise - * want to process. - * Note that we MUST skip the parameter segment explicitly in order not to - * be fooled by 0xFF bytes that might appear within the parameter segment; - * such bytes do NOT introduce new markers. - */ - -static void -copy_variable (void) -/* Copy an unknown or uninteresting variable-length marker */ -{ - unsigned int length; - - /* Get the marker parameter length count */ - length = read_2_bytes(); - write_2_bytes(length); - /* Length includes itself, so must be at least 2 */ - if (length < 2) - ERREXIT("Erroneous JPEG marker length"); - length -= 2; - /* Skip over the remaining bytes */ - while (length > 0) { - write_1_byte(read_1_byte()); - length--; - } -} - -static void -skip_variable (void) -/* Skip over an unknown or uninteresting variable-length marker */ -{ - unsigned int length; - - /* Get the marker parameter length count */ - length = read_2_bytes(); - /* Length includes itself, so must be at least 2 */ - if (length < 2) - ERREXIT("Erroneous JPEG marker length"); - length -= 2; - /* Skip over the remaining bytes */ - while (length > 0) { - (void) read_1_byte(); - length--; - } -} - - -/* - * Parse the marker stream until SOFn or EOI is seen; - * copy data to output, but discard COM markers unless keep_COM is true. - */ - -static int -scan_JPEG_header (int keep_COM) -{ - int marker; - - /* Expect SOI at start of file */ - if (first_marker() != M_SOI) - ERREXIT("Expected SOI marker first"); - write_marker(M_SOI); - - /* Scan miscellaneous markers until we reach SOFn. */ - for (;;) { - marker = next_marker(); - switch (marker) { - /* Note that marker codes 0xC4, 0xC8, 0xCC are not, and must not be, - * treated as SOFn. C4 in particular is actually DHT. - */ - case M_SOF0: /* Baseline */ - case M_SOF1: /* Extended sequential, Huffman */ - case M_SOF2: /* Progressive, Huffman */ - case M_SOF3: /* Lossless, Huffman */ - case M_SOF5: /* Differential sequential, Huffman */ - case M_SOF6: /* Differential progressive, Huffman */ - case M_SOF7: /* Differential lossless, Huffman */ - case M_SOF9: /* Extended sequential, arithmetic */ - case M_SOF10: /* Progressive, arithmetic */ - case M_SOF11: /* Lossless, arithmetic */ - case M_SOF13: /* Differential sequential, arithmetic */ - case M_SOF14: /* Differential progressive, arithmetic */ - case M_SOF15: /* Differential lossless, arithmetic */ - return marker; - - case M_SOS: /* should not see compressed data before SOF */ - ERREXIT("SOS without prior SOFn"); - break; - - case M_EOI: /* in case it's a tables-only JPEG stream */ - return marker; - - case M_COM: /* Existing COM: conditionally discard */ - if (keep_COM) { - write_marker(marker); - copy_variable(); - } else { - skip_variable(); - } - break; - - default: /* Anything else just gets copied */ - write_marker(marker); - copy_variable(); /* we assume it has a parameter count... */ - break; - } - } /* end loop */ -} - - -/* Command line parsing code */ - -static const char * progname; /* program name for error messages */ - - -static void -usage (void) -/* complain about bad command line */ -{ - fprintf(stderr, "wrjpgcom inserts a textual comment in a JPEG file.\n"); - fprintf(stderr, "You can add to or replace any existing comment(s).\n"); - - fprintf(stderr, "Usage: %s [switches] ", progname); -#ifdef TWO_FILE_COMMANDLINE - fprintf(stderr, "inputfile outputfile\n"); -#else - fprintf(stderr, "[inputfile]\n"); -#endif - - fprintf(stderr, "Switches (names may be abbreviated):\n"); - fprintf(stderr, " -replace Delete any existing comments\n"); - fprintf(stderr, " -comment \"text\" Insert comment with given text\n"); - fprintf(stderr, " -cfile name Read comment from named file\n"); - fprintf(stderr, "Notice that you must put quotes around the comment text\n"); - fprintf(stderr, "when you use -comment.\n"); - fprintf(stderr, "If you do not give either -comment or -cfile on the command line,\n"); - fprintf(stderr, "then the comment text is read from standard input.\n"); - fprintf(stderr, "It can be multiple lines, up to %u characters total.\n", - (unsigned int) MAX_COM_LENGTH); -#ifndef TWO_FILE_COMMANDLINE - fprintf(stderr, "You must specify an input JPEG file name when supplying\n"); - fprintf(stderr, "comment text from standard input.\n"); -#endif - - exit(EXIT_FAILURE); -} - - -static int -keymatch (char * arg, const char * keyword, int minchars) -/* Case-insensitive matching of (possibly abbreviated) keyword switches. */ -/* keyword is the constant keyword (must be lower case already), */ -/* minchars is length of minimum legal abbreviation. */ -{ - register int ca, ck; - register int nmatched = 0; - - while ((ca = *arg++) != '\0') { - if ((ck = *keyword++) == '\0') - return 0; /* arg longer than keyword, no good */ - if (isupper(ca)) /* force arg to lcase (assume ck is already) */ - ca = tolower(ca); - if (ca != ck) - return 0; /* no good */ - nmatched++; /* count matched characters */ - } - /* reached end of argument; fail if it's too short for unique abbrev */ - if (nmatched < minchars) - return 0; - return 1; /* A-OK */ -} - - -/* - * The main program. - */ - -int -main (int argc, char **argv) -{ - int argn; - char * arg; - int keep_COM = 1; - char * comment_arg = NULL; - FILE * comment_file = NULL; - unsigned int comment_length = 0; - int marker; - - /* On Mac, fetch a command line. */ -#ifdef USE_CCOMMAND - argc = ccommand(&argv); -#endif - - progname = argv[0]; - if (progname == NULL || progname[0] == 0) - progname = "wrjpgcom"; /* in case C library doesn't provide it */ - - /* Parse switches, if any */ - for (argn = 1; argn < argc; argn++) { - arg = argv[argn]; - if (arg[0] != '-') - break; /* not switch, must be file name */ - arg++; /* advance over '-' */ - if (keymatch(arg, "replace", 1)) { - keep_COM = 0; - } else if (keymatch(arg, "cfile", 2)) { - if (++argn >= argc) usage(); - if ((comment_file = fopen(argv[argn], "r")) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]); - exit(EXIT_FAILURE); - } - } else if (keymatch(arg, "comment", 1)) { - if (++argn >= argc) usage(); - comment_arg = argv[argn]; - /* If the comment text starts with '"', then we are probably running - * under MS-DOG and must parse out the quoted string ourselves. Sigh. - */ - if (comment_arg[0] == '"') { - comment_arg = (char *) malloc((size_t) MAX_COM_LENGTH); - if (comment_arg == NULL) - ERREXIT("Insufficient memory"); - strcpy(comment_arg, argv[argn]+1); - for (;;) { - comment_length = (unsigned int) strlen(comment_arg); - if (comment_length > 0 && comment_arg[comment_length-1] == '"') { - comment_arg[comment_length-1] = '\0'; /* zap terminating quote */ - break; - } - if (++argn >= argc) - ERREXIT("Missing ending quote mark"); - strcat(comment_arg, " "); - strcat(comment_arg, argv[argn]); - } - } - comment_length = (unsigned int) strlen(comment_arg); - } else - usage(); - } - - /* Cannot use both -comment and -cfile. */ - if (comment_arg != NULL && comment_file != NULL) - usage(); - /* If there is neither -comment nor -cfile, we will read the comment text - * from stdin; in this case there MUST be an input JPEG file name. - */ - if (comment_arg == NULL && comment_file == NULL && argn >= argc) - usage(); - - /* Open the input file. */ - if (argn < argc) { - if ((infile = fopen(argv[argn], READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[argn]); - exit(EXIT_FAILURE); - } - } else { - /* default input file is stdin */ -#ifdef USE_SETMODE /* need to hack file mode? */ - setmode(fileno(stdin), O_BINARY); -#endif -#ifdef USE_FDOPEN /* need to re-open in binary mode? */ - if ((infile = fdopen(fileno(stdin), READ_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open stdin\n", progname); - exit(EXIT_FAILURE); - } -#else - infile = stdin; -#endif - } - - /* Open the output file. */ -#ifdef TWO_FILE_COMMANDLINE - /* Must have explicit output file name */ - if (argn != argc-2) { - fprintf(stderr, "%s: must name one input and one output file\n", - progname); - usage(); - } - if ((outfile = fopen(argv[argn+1], WRITE_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open %s\n", progname, argv[argn+1]); - exit(EXIT_FAILURE); - } -#else - /* Unix style: expect zero or one file name */ - if (argn < argc-1) { - fprintf(stderr, "%s: only one input file\n", progname); - usage(); - } - /* default output file is stdout */ -#ifdef USE_SETMODE /* need to hack file mode? */ - setmode(fileno(stdout), O_BINARY); -#endif -#ifdef USE_FDOPEN /* need to re-open in binary mode? */ - if ((outfile = fdopen(fileno(stdout), WRITE_BINARY)) == NULL) { - fprintf(stderr, "%s: can't open stdout\n", progname); - exit(EXIT_FAILURE); - } -#else - outfile = stdout; -#endif -#endif /* TWO_FILE_COMMANDLINE */ - - /* Collect comment text from comment_file or stdin, if necessary */ - if (comment_arg == NULL) { - FILE * src_file; - int c; - - comment_arg = (char *) malloc((size_t) MAX_COM_LENGTH); - if (comment_arg == NULL) - ERREXIT("Insufficient memory"); - comment_length = 0; - src_file = (comment_file != NULL ? comment_file : stdin); - while ((c = getc(src_file)) != EOF) { - if (comment_length >= (unsigned int) MAX_COM_LENGTH) { - fprintf(stderr, "Comment text may not exceed %u bytes\n", - (unsigned int) MAX_COM_LENGTH); - exit(EXIT_FAILURE); - } - comment_arg[comment_length++] = (char) c; - } - if (comment_file != NULL) - fclose(comment_file); - } - - /* Copy JPEG headers until SOFn marker; - * we will insert the new comment marker just before SOFn. - * This (a) causes the new comment to appear after, rather than before, - * existing comments; and (b) ensures that comments come after any JFIF - * or JFXX markers, as required by the JFIF specification. - */ - marker = scan_JPEG_header(keep_COM); - /* Insert the new COM marker, but only if nonempty text has been supplied */ - if (comment_length > 0) { - write_marker(M_COM); - write_2_bytes(comment_length + 2); - while (comment_length > 0) { - write_1_byte(*comment_arg++); - comment_length--; - } - } - /* Duplicate the remainder of the source file. - * Note that any COM markers occuring after SOF will not be touched. - */ - write_marker(marker); - copy_rest_of_file(); - - /* All done. */ - exit(EXIT_SUCCESS); - return 0; /* suppress no-return-value warnings */ -} diff --git a/3rdparty/openctm/tools/jpeg/wrppm.c b/3rdparty/openctm/tools/jpeg/wrppm.c deleted file mode 100644 index 1e56d9c50..000000000 --- a/3rdparty/openctm/tools/jpeg/wrppm.c +++ /dev/null @@ -1,269 +0,0 @@ -/* - * wrppm.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * Modified 2009 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write output images in PPM/PGM format. - * The extended 2-byte-per-sample raw PPM/PGM formats are supported. - * The PBMPLUS library is NOT required to compile this software - * (but it is highly useful as a set of PPM image manipulation programs). - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume output to - * an ordinary stdio stream. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef PPM_SUPPORTED - - -/* - * For 12-bit JPEG data, we either downscale the values to 8 bits - * (to write standard byte-per-sample PPM/PGM files), or output - * nonstandard word-per-sample PPM/PGM files. Downscaling is done - * if PPM_NORAWWORD is defined (this can be done in the Makefile - * or in jconfig.h). - * (When the core library supports data precision reduction, a cleaner - * implementation will be to ask for that instead.) - */ - -#if BITS_IN_JSAMPLE == 8 -#define PUTPPMSAMPLE(ptr,v) *ptr++ = (char) (v) -#define BYTESPERSAMPLE 1 -#define PPM_MAXVAL 255 -#else -#ifdef PPM_NORAWWORD -#define PUTPPMSAMPLE(ptr,v) *ptr++ = (char) ((v) >> (BITS_IN_JSAMPLE-8)) -#define BYTESPERSAMPLE 1 -#define PPM_MAXVAL 255 -#else -/* The word-per-sample format always puts the MSB first. */ -#define PUTPPMSAMPLE(ptr,v) \ - { register int val_ = v; \ - *ptr++ = (char) ((val_ >> 8) & 0xFF); \ - *ptr++ = (char) (val_ & 0xFF); \ - } -#define BYTESPERSAMPLE 2 -#define PPM_MAXVAL ((1<pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -/* - * This code is used when we have to copy the data and apply a pixel - * format translation. Typically this only happens in 12-bit mode. - */ - -METHODDEF(void) -copy_pixel_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - ppm_dest_ptr dest = (ppm_dest_ptr) dinfo; - register char * bufferptr; - register JSAMPROW ptr; - register JDIMENSION col; - - ptr = dest->pub.buffer[0]; - bufferptr = dest->iobuffer; - for (col = dest->samples_per_row; col > 0; col--) { - PUTPPMSAMPLE(bufferptr, GETJSAMPLE(*ptr++)); - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -/* - * Write some pixel data when color quantization is in effect. - * We have to demap the color index values to straight data. - */ - -METHODDEF(void) -put_demapped_rgb (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - ppm_dest_ptr dest = (ppm_dest_ptr) dinfo; - register char * bufferptr; - register int pixval; - register JSAMPROW ptr; - register JSAMPROW color_map0 = cinfo->colormap[0]; - register JSAMPROW color_map1 = cinfo->colormap[1]; - register JSAMPROW color_map2 = cinfo->colormap[2]; - register JDIMENSION col; - - ptr = dest->pub.buffer[0]; - bufferptr = dest->iobuffer; - for (col = cinfo->output_width; col > 0; col--) { - pixval = GETJSAMPLE(*ptr++); - PUTPPMSAMPLE(bufferptr, GETJSAMPLE(color_map0[pixval])); - PUTPPMSAMPLE(bufferptr, GETJSAMPLE(color_map1[pixval])); - PUTPPMSAMPLE(bufferptr, GETJSAMPLE(color_map2[pixval])); - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -METHODDEF(void) -put_demapped_gray (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - ppm_dest_ptr dest = (ppm_dest_ptr) dinfo; - register char * bufferptr; - register JSAMPROW ptr; - register JSAMPROW color_map = cinfo->colormap[0]; - register JDIMENSION col; - - ptr = dest->pub.buffer[0]; - bufferptr = dest->iobuffer; - for (col = cinfo->output_width; col > 0; col--) { - PUTPPMSAMPLE(bufferptr, GETJSAMPLE(color_map[GETJSAMPLE(*ptr++)])); - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -/* - * Startup: write the file header. - */ - -METHODDEF(void) -start_output_ppm (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - ppm_dest_ptr dest = (ppm_dest_ptr) dinfo; - - /* Emit file header */ - switch (cinfo->out_color_space) { - case JCS_GRAYSCALE: - /* emit header for raw PGM format */ - fprintf(dest->pub.output_file, "P5\n%ld %ld\n%d\n", - (long) cinfo->output_width, (long) cinfo->output_height, - PPM_MAXVAL); - break; - case JCS_RGB: - /* emit header for raw PPM format */ - fprintf(dest->pub.output_file, "P6\n%ld %ld\n%d\n", - (long) cinfo->output_width, (long) cinfo->output_height, - PPM_MAXVAL); - break; - default: - ERREXIT(cinfo, JERR_PPM_COLORSPACE); - } -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_output_ppm (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - /* Make sure we wrote the output file OK */ - fflush(dinfo->output_file); - if (ferror(dinfo->output_file)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * The module selection routine for PPM format output. - */ - -GLOBAL(djpeg_dest_ptr) -jinit_write_ppm (j_decompress_ptr cinfo) -{ - ppm_dest_ptr dest; - - /* Create module interface object, fill in method pointers */ - dest = (ppm_dest_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(ppm_dest_struct)); - dest->pub.start_output = start_output_ppm; - dest->pub.finish_output = finish_output_ppm; - - /* Calculate output image dimensions so we can allocate space */ - jpeg_calc_output_dimensions(cinfo); - - /* Create physical I/O buffer. Note we make this near on a PC. */ - dest->samples_per_row = cinfo->output_width * cinfo->out_color_components; - dest->buffer_width = dest->samples_per_row * (BYTESPERSAMPLE * SIZEOF(char)); - dest->iobuffer = (char *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, dest->buffer_width); - - if (cinfo->quantize_colors || BITS_IN_JSAMPLE != 8 || - SIZEOF(JSAMPLE) != SIZEOF(char)) { - /* When quantizing, we need an output buffer for colormap indexes - * that's separate from the physical I/O buffer. We also need a - * separate buffer if pixel format translation must take place. - */ - dest->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->output_width * cinfo->output_components, (JDIMENSION) 1); - dest->pub.buffer_height = 1; - if (! cinfo->quantize_colors) - dest->pub.put_pixel_rows = copy_pixel_rows; - else if (cinfo->out_color_space == JCS_GRAYSCALE) - dest->pub.put_pixel_rows = put_demapped_gray; - else - dest->pub.put_pixel_rows = put_demapped_rgb; - } else { - /* We will fwrite() directly from decompressor output buffer. */ - /* Synthesize a JSAMPARRAY pointer structure */ - /* Cast here implies near->far pointer conversion on PCs */ - dest->pixrow = (JSAMPROW) dest->iobuffer; - dest->pub.buffer = & dest->pixrow; - dest->pub.buffer_height = 1; - dest->pub.put_pixel_rows = put_pixel_rows; - } - - return (djpeg_dest_ptr) dest; -} - -#endif /* PPM_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/wrrle.c b/3rdparty/openctm/tools/jpeg/wrrle.c deleted file mode 100644 index 7a00c0dd1..000000000 --- a/3rdparty/openctm/tools/jpeg/wrrle.c +++ /dev/null @@ -1,305 +0,0 @@ -/* - * wrrle.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write output images in RLE format. - * The Utah Raster Toolkit library is required (version 3.1 or later). - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume output to - * an ordinary stdio stream. - * - * Based on code contributed by Mike Lijewski, - * with updates from Robert Hutchinson. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef RLE_SUPPORTED - -/* rle.h is provided by the Utah Raster Toolkit. */ - -#include - -/* - * We assume that JSAMPLE has the same representation as rle_pixel, - * to wit, "unsigned char". Hence we can't cope with 12- or 16-bit samples. - */ - -#if BITS_IN_JSAMPLE != 8 - Sorry, this code only copes with 8-bit JSAMPLEs. /* deliberate syntax err */ -#endif - - -/* - * Since RLE stores scanlines bottom-to-top, we have to invert the image - * from JPEG's top-to-bottom order. To do this, we save the outgoing data - * in a virtual array during put_pixel_row calls, then actually emit the - * RLE file during finish_output. - */ - - -/* - * For now, if we emit an RLE color map then it is always 256 entries long, - * though not all of the entries need be used. - */ - -#define CMAPBITS 8 -#define CMAPLENGTH (1<<(CMAPBITS)) - -typedef struct { - struct djpeg_dest_struct pub; /* public fields */ - - jvirt_sarray_ptr image; /* virtual array to store the output image */ - rle_map *colormap; /* RLE-style color map, or NULL if none */ - rle_pixel **rle_row; /* To pass rows to rle_putrow() */ - -} rle_dest_struct; - -typedef rle_dest_struct * rle_dest_ptr; - -/* Forward declarations */ -METHODDEF(void) rle_put_pixel_rows - JPP((j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied)); - - -/* - * Write the file header. - * - * In this module it's easier to wait till finish_output to write anything. - */ - -METHODDEF(void) -start_output_rle (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - rle_dest_ptr dest = (rle_dest_ptr) dinfo; - size_t cmapsize; - int i, ci; -#ifdef PROGRESS_REPORT - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; -#endif - - /* - * Make sure the image can be stored in RLE format. - * - * - RLE stores image dimensions as *signed* 16 bit integers. JPEG - * uses unsigned, so we have to check the width. - * - * - Colorspace is expected to be grayscale or RGB. - * - * - The number of channels (components) is expected to be 1 (grayscale/ - * pseudocolor) or 3 (truecolor/directcolor). - * (could be 2 or 4 if using an alpha channel, but we aren't) - */ - - if (cinfo->output_width > 32767 || cinfo->output_height > 32767) - ERREXIT2(cinfo, JERR_RLE_DIMENSIONS, cinfo->output_width, - cinfo->output_height); - - if (cinfo->out_color_space != JCS_GRAYSCALE && - cinfo->out_color_space != JCS_RGB) - ERREXIT(cinfo, JERR_RLE_COLORSPACE); - - if (cinfo->output_components != 1 && cinfo->output_components != 3) - ERREXIT1(cinfo, JERR_RLE_TOOMANYCHANNELS, cinfo->num_components); - - /* Convert colormap, if any, to RLE format. */ - - dest->colormap = NULL; - - if (cinfo->quantize_colors) { - /* Allocate storage for RLE-style cmap, zero any extra entries */ - cmapsize = cinfo->out_color_components * CMAPLENGTH * SIZEOF(rle_map); - dest->colormap = (rle_map *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, cmapsize); - MEMZERO(dest->colormap, cmapsize); - - /* Save away data in RLE format --- note 8-bit left shift! */ - /* Shifting would need adjustment for JSAMPLEs wider than 8 bits. */ - for (ci = 0; ci < cinfo->out_color_components; ci++) { - for (i = 0; i < cinfo->actual_number_of_colors; i++) { - dest->colormap[ci * CMAPLENGTH + i] = - GETJSAMPLE(cinfo->colormap[ci][i]) << 8; - } - } - } - - /* Set the output buffer to the first row */ - dest->pub.buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->image, (JDIMENSION) 0, (JDIMENSION) 1, TRUE); - dest->pub.buffer_height = 1; - - dest->pub.put_pixel_rows = rle_put_pixel_rows; - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->total_extra_passes++; /* count file writing as separate pass */ - } -#endif -} - - -/* - * Write some pixel data. - * - * This routine just saves the data away in a virtual array. - */ - -METHODDEF(void) -rle_put_pixel_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - rle_dest_ptr dest = (rle_dest_ptr) dinfo; - - if (cinfo->output_scanline < cinfo->output_height) { - dest->pub.buffer = (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->image, - cinfo->output_scanline, (JDIMENSION) 1, TRUE); - } -} - -/* - * Finish up at the end of the file. - * - * Here is where we really output the RLE file. - */ - -METHODDEF(void) -finish_output_rle (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - rle_dest_ptr dest = (rle_dest_ptr) dinfo; - rle_hdr header; /* Output file information */ - rle_pixel **rle_row, *red, *green, *blue; - JSAMPROW output_row; - char cmapcomment[80]; - int row, col; - int ci; -#ifdef PROGRESS_REPORT - cd_progress_ptr progress = (cd_progress_ptr) cinfo->progress; -#endif - - /* Initialize the header info */ - header = *rle_hdr_init(NULL); - header.rle_file = dest->pub.output_file; - header.xmin = 0; - header.xmax = cinfo->output_width - 1; - header.ymin = 0; - header.ymax = cinfo->output_height - 1; - header.alpha = 0; - header.ncolors = cinfo->output_components; - for (ci = 0; ci < cinfo->output_components; ci++) { - RLE_SET_BIT(header, ci); - } - if (cinfo->quantize_colors) { - header.ncmap = cinfo->out_color_components; - header.cmaplen = CMAPBITS; - header.cmap = dest->colormap; - /* Add a comment to the output image with the true colormap length. */ - sprintf(cmapcomment, "color_map_length=%d", cinfo->actual_number_of_colors); - rle_putcom(cmapcomment, &header); - } - - /* Emit the RLE header and color map (if any) */ - rle_put_setup(&header); - - /* Now output the RLE data from our virtual array. - * We assume here that (a) rle_pixel is represented the same as JSAMPLE, - * and (b) we are not on a machine where FAR pointers differ from regular. - */ - -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_limit = cinfo->output_height; - progress->pub.pass_counter = 0; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - - if (cinfo->output_components == 1) { - for (row = cinfo->output_height-1; row >= 0; row--) { - rle_row = (rle_pixel **) (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->image, - (JDIMENSION) row, (JDIMENSION) 1, FALSE); - rle_putrow(rle_row, (int) cinfo->output_width, &header); -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_counter++; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - } - } else { - for (row = cinfo->output_height-1; row >= 0; row--) { - rle_row = (rle_pixel **) dest->rle_row; - output_row = * (*cinfo->mem->access_virt_sarray) - ((j_common_ptr) cinfo, dest->image, - (JDIMENSION) row, (JDIMENSION) 1, FALSE); - red = rle_row[0]; - green = rle_row[1]; - blue = rle_row[2]; - for (col = cinfo->output_width; col > 0; col--) { - *red++ = GETJSAMPLE(*output_row++); - *green++ = GETJSAMPLE(*output_row++); - *blue++ = GETJSAMPLE(*output_row++); - } - rle_putrow(rle_row, (int) cinfo->output_width, &header); -#ifdef PROGRESS_REPORT - if (progress != NULL) { - progress->pub.pass_counter++; - (*progress->pub.progress_monitor) ((j_common_ptr) cinfo); - } -#endif - } - } - -#ifdef PROGRESS_REPORT - if (progress != NULL) - progress->completed_extra_passes++; -#endif - - /* Emit file trailer */ - rle_puteof(&header); - fflush(dest->pub.output_file); - if (ferror(dest->pub.output_file)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * The module selection routine for RLE format output. - */ - -GLOBAL(djpeg_dest_ptr) -jinit_write_rle (j_decompress_ptr cinfo) -{ - rle_dest_ptr dest; - - /* Create module interface object, fill in method pointers */ - dest = (rle_dest_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(rle_dest_struct)); - dest->pub.start_output = start_output_rle; - dest->pub.finish_output = finish_output_rle; - - /* Calculate output image dimensions so we can allocate space */ - jpeg_calc_output_dimensions(cinfo); - - /* Allocate a work array for output to the RLE library. */ - dest->rle_row = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, - cinfo->output_width, (JDIMENSION) cinfo->output_components); - - /* Allocate a virtual array to hold the image. */ - dest->image = (*cinfo->mem->request_virt_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, - (JDIMENSION) (cinfo->output_width * cinfo->output_components), - cinfo->output_height, (JDIMENSION) 1); - - return (djpeg_dest_ptr) dest; -} - -#endif /* RLE_SUPPORTED */ diff --git a/3rdparty/openctm/tools/jpeg/wrtarga.c b/3rdparty/openctm/tools/jpeg/wrtarga.c deleted file mode 100644 index 65662738d..000000000 --- a/3rdparty/openctm/tools/jpeg/wrtarga.c +++ /dev/null @@ -1,253 +0,0 @@ -/* - * wrtarga.c - * - * Copyright (C) 1991-1996, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains routines to write output images in Targa format. - * - * These routines may need modification for non-Unix environments or - * specialized applications. As they stand, they assume output to - * an ordinary stdio stream. - * - * Based on code contributed by Lee Daniel Crocker. - */ - -#include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ - -#ifdef TARGA_SUPPORTED - - -/* - * To support 12-bit JPEG data, we'd have to scale output down to 8 bits. - * This is not yet implemented. - */ - -#if BITS_IN_JSAMPLE != 8 - Sorry, this code only copes with 8-bit JSAMPLEs. /* deliberate syntax err */ -#endif - -/* - * The output buffer needs to be writable by fwrite(). On PCs, we must - * allocate the buffer in near data space, because we are assuming small-data - * memory model, wherein fwrite() can't reach far memory. If you need to - * process very wide images on a PC, you might have to compile in large-memory - * model, or else replace fwrite() with a putc() loop --- which will be much - * slower. - */ - - -/* Private version of data destination object */ - -typedef struct { - struct djpeg_dest_struct pub; /* public fields */ - - char *iobuffer; /* physical I/O buffer */ - JDIMENSION buffer_width; /* width of one row */ -} tga_dest_struct; - -typedef tga_dest_struct * tga_dest_ptr; - - -LOCAL(void) -write_header (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, int num_colors) -/* Create and write a Targa header */ -{ - char targaheader[18]; - - /* Set unused fields of header to 0 */ - MEMZERO(targaheader, SIZEOF(targaheader)); - - if (num_colors > 0) { - targaheader[1] = 1; /* color map type 1 */ - targaheader[5] = (char) (num_colors & 0xFF); - targaheader[6] = (char) (num_colors >> 8); - targaheader[7] = 24; /* 24 bits per cmap entry */ - } - - targaheader[12] = (char) (cinfo->output_width & 0xFF); - targaheader[13] = (char) (cinfo->output_width >> 8); - targaheader[14] = (char) (cinfo->output_height & 0xFF); - targaheader[15] = (char) (cinfo->output_height >> 8); - targaheader[17] = 0x20; /* Top-down, non-interlaced */ - - if (cinfo->out_color_space == JCS_GRAYSCALE) { - targaheader[2] = 3; /* image type = uncompressed gray-scale */ - targaheader[16] = 8; /* bits per pixel */ - } else { /* must be RGB */ - if (num_colors > 0) { - targaheader[2] = 1; /* image type = colormapped RGB */ - targaheader[16] = 8; - } else { - targaheader[2] = 2; /* image type = uncompressed RGB */ - targaheader[16] = 24; - } - } - - if (JFWRITE(dinfo->output_file, targaheader, 18) != (size_t) 18) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * Write some pixel data. - * In this module rows_supplied will always be 1. - */ - -METHODDEF(void) -put_pixel_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -/* used for unquantized full-color output */ -{ - tga_dest_ptr dest = (tga_dest_ptr) dinfo; - register JSAMPROW inptr; - register char * outptr; - register JDIMENSION col; - - inptr = dest->pub.buffer[0]; - outptr = dest->iobuffer; - for (col = cinfo->output_width; col > 0; col--) { - outptr[0] = (char) GETJSAMPLE(inptr[2]); /* RGB to BGR order */ - outptr[1] = (char) GETJSAMPLE(inptr[1]); - outptr[2] = (char) GETJSAMPLE(inptr[0]); - inptr += 3, outptr += 3; - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - -METHODDEF(void) -put_gray_rows (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -/* used for grayscale OR quantized color output */ -{ - tga_dest_ptr dest = (tga_dest_ptr) dinfo; - register JSAMPROW inptr; - register char * outptr; - register JDIMENSION col; - - inptr = dest->pub.buffer[0]; - outptr = dest->iobuffer; - for (col = cinfo->output_width; col > 0; col--) { - *outptr++ = (char) GETJSAMPLE(*inptr++); - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -/* - * Write some demapped pixel data when color quantization is in effect. - * For Targa, this is only applied to grayscale data. - */ - -METHODDEF(void) -put_demapped_gray (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo, - JDIMENSION rows_supplied) -{ - tga_dest_ptr dest = (tga_dest_ptr) dinfo; - register JSAMPROW inptr; - register char * outptr; - register JSAMPROW color_map0 = cinfo->colormap[0]; - register JDIMENSION col; - - inptr = dest->pub.buffer[0]; - outptr = dest->iobuffer; - for (col = cinfo->output_width; col > 0; col--) { - *outptr++ = (char) GETJSAMPLE(color_map0[GETJSAMPLE(*inptr++)]); - } - (void) JFWRITE(dest->pub.output_file, dest->iobuffer, dest->buffer_width); -} - - -/* - * Startup: write the file header. - */ - -METHODDEF(void) -start_output_tga (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - tga_dest_ptr dest = (tga_dest_ptr) dinfo; - int num_colors, i; - FILE *outfile; - - if (cinfo->out_color_space == JCS_GRAYSCALE) { - /* Targa doesn't have a mapped grayscale format, so we will */ - /* demap quantized gray output. Never emit a colormap. */ - write_header(cinfo, dinfo, 0); - if (cinfo->quantize_colors) - dest->pub.put_pixel_rows = put_demapped_gray; - else - dest->pub.put_pixel_rows = put_gray_rows; - } else if (cinfo->out_color_space == JCS_RGB) { - if (cinfo->quantize_colors) { - /* We only support 8-bit colormap indexes, so only 256 colors */ - num_colors = cinfo->actual_number_of_colors; - if (num_colors > 256) - ERREXIT1(cinfo, JERR_TOO_MANY_COLORS, num_colors); - write_header(cinfo, dinfo, num_colors); - /* Write the colormap. Note Targa uses BGR byte order */ - outfile = dest->pub.output_file; - for (i = 0; i < num_colors; i++) { - putc(GETJSAMPLE(cinfo->colormap[2][i]), outfile); - putc(GETJSAMPLE(cinfo->colormap[1][i]), outfile); - putc(GETJSAMPLE(cinfo->colormap[0][i]), outfile); - } - dest->pub.put_pixel_rows = put_gray_rows; - } else { - write_header(cinfo, dinfo, 0); - dest->pub.put_pixel_rows = put_pixel_rows; - } - } else { - ERREXIT(cinfo, JERR_TGA_COLORSPACE); - } -} - - -/* - * Finish up at the end of the file. - */ - -METHODDEF(void) -finish_output_tga (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo) -{ - /* Make sure we wrote the output file OK */ - fflush(dinfo->output_file); - if (ferror(dinfo->output_file)) - ERREXIT(cinfo, JERR_FILE_WRITE); -} - - -/* - * The module selection routine for Targa format output. - */ - -GLOBAL(djpeg_dest_ptr) -jinit_write_targa (j_decompress_ptr cinfo) -{ - tga_dest_ptr dest; - - /* Create module interface object, fill in method pointers */ - dest = (tga_dest_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - SIZEOF(tga_dest_struct)); - dest->pub.start_output = start_output_tga; - dest->pub.finish_output = finish_output_tga; - - /* Calculate output image dimensions so we can allocate space */ - jpeg_calc_output_dimensions(cinfo); - - /* Create I/O buffer. Note we make this near on a PC. */ - dest->buffer_width = cinfo->output_width * cinfo->output_components; - dest->iobuffer = (char *) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, - (size_t) (dest->buffer_width * SIZEOF(char))); - - /* Create decompressor output buffer. */ - dest->pub.buffer = (*cinfo->mem->alloc_sarray) - ((j_common_ptr) cinfo, JPOOL_IMAGE, dest->buffer_width, (JDIMENSION) 1); - dest->pub.buffer_height = 1; - - return (djpeg_dest_ptr) dest; -} - -#endif /* TARGA_SUPPORTED */ diff --git a/3rdparty/openctm/tools/lwo.cpp b/3rdparty/openctm/tools/lwo.cpp deleted file mode 100644 index 9b1544ee8..000000000 --- a/3rdparty/openctm/tools/lwo.cpp +++ /dev/null @@ -1,636 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: lwo.cpp -// Description: Implementation of the LWO file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include "lwo.h" - -#ifdef _MSC_VER - typedef unsigned int uint32; -#else - #include - typedef uint32_t uint32; -#endif - -using namespace std; - - -//------------------------------------------------------------------------------ -// Helper functions for reading -//------------------------------------------------------------------------------ - -/// Read a 16-bit integer, endian independent. -static uint32 ReadU2(istream &aStream) -{ - unsigned char buf[2]; - aStream.read((char *) buf, 2); - return (((uint32) buf[0]) << 8) | - ((uint32) buf[1]); -} - -/// Read a 32-bit integer, endian independent. -static uint32 ReadU4(istream &aStream) -{ - unsigned char buf[4]; - aStream.read((char *) buf, 4); - return (((uint32) buf[0]) << 24) | - (((uint32) buf[1]) << 16) | - (((uint32) buf[2]) << 8) | - ((uint32) buf[3]); -} - -/// Read a 32-bit floating point scalar, endian independent. -static float ReadF4(istream &aStream) -{ - unsigned char buf[4]; - aStream.read((char *) buf, 4); - union { - uint32 i; - float f; - } val; - val.i = (((uint32) buf[0]) << 24) | - (((uint32) buf[1]) << 16) | - (((uint32) buf[2]) << 8) | - ((uint32) buf[3]); - return val.f; -} - -/// Read a 3 x 32-bit floating point vector, endian independent. -/// Note: We flip the Y & Z axes, to go from our right handed to LightWaves -/// left handed coordinate system. -static Vector3 ReadVEC12(istream &aStream) -{ - unsigned char buf[12]; - Vector3 result; - aStream.read((char *) buf, 12); - union { - uint32 i; - float f; - } val; - val.i = (((uint32) buf[0]) << 24) | - (((uint32) buf[1]) << 16) | - (((uint32) buf[2]) << 8) | - ((uint32) buf[3]); - result.x = val.f; - val.i = (((uint32) buf[4]) << 24) | - (((uint32) buf[5]) << 16) | - (((uint32) buf[6]) << 8) | - ((uint32) buf[7]); - result.z = val.f; - val.i = (((uint32) buf[8]) << 24) | - (((uint32) buf[9]) << 16) | - (((uint32) buf[10]) << 8) | - ((uint32) buf[11]); - result.y = val.f; - return result; -} - -/// Read a non-terminated string from the stream (e.g. a chunk ID string). -static string ReadString(istream &aStream, int aCount) -{ - string result; - result.resize(aCount); - aStream.read((char *) &result[0], aCount); - return result; -} - -/// Read a zero terminated string from a stream. -static string ReadStringZ(istream &aStream) -{ - string str; - getline(aStream, str, '\0'); - if((str.size() & 1) == 0) - aStream.get(); - return str; -} - -/// Read a vertex index (variable size) from a stream. -static uint32 ReadVX(istream &aStream, int * aBytesLeft) -{ - uint32 result = ReadU2(aStream); - if(result >= 0x0000ff00) - { - result = ((result & 255) << 16) | ReadU2(aStream); - *aBytesLeft -= 4; - } - else - *aBytesLeft -= 2; - return result; -} - - -//------------------------------------------------------------------------------ -// Helper functions for writing -//------------------------------------------------------------------------------ - -/// Write a 16-bit integer, endian independent. -static void WriteU2(ostream &aStream, uint32 aValue) -{ - unsigned char buf[2]; - buf[0] = (aValue >> 8) & 255; - buf[1] = aValue & 255; - aStream.write((char *) buf, 2); -} - -/// Write a 32-bit integer, endian independent. -static void WriteU4(ostream &aStream, uint32 aValue) -{ - unsigned char buf[4]; - buf[0] = (aValue >> 24) & 255; - buf[1] = (aValue >> 16) & 255; - buf[2] = (aValue >> 8) & 255; - buf[3] = aValue & 255; - aStream.write((char *) buf, 4); -} - -/// Write a 32-bit floating point scalar, endian independent. -static void WriteF4(ostream &aStream, float aValue) -{ - unsigned char buf[4]; - union { - uint32 i; - float f; - } val; - val.f = aValue; - buf[0] = (val.i >> 24) & 255; - buf[1] = (val.i >> 16) & 255; - buf[2] = (val.i >> 8) & 255; - buf[3] = val.i & 255; - aStream.write((char *) buf, 4); -} - -/// Write a 3 x 32-bit floating point vector, endian independent. -/// Note: We flip the Y & Z axes, to go from our right handed to LightWaves -/// left handed coordinate system. -static void WriteVEC12(ostream &aStream, Vector3 aValue) -{ - unsigned char buf[12]; - union { - uint32 i; - float f; - } val; - val.f = aValue.x; - buf[0] = (val.i >> 24) & 255; - buf[1] = (val.i >> 16) & 255; - buf[2] = (val.i >> 8) & 255; - buf[3] = val.i & 255; - val.f = aValue.z; - buf[4] = (val.i >> 24) & 255; - buf[5] = (val.i >> 16) & 255; - buf[6] = (val.i >> 8) & 255; - buf[7] = val.i & 255; - val.f = aValue.y; - buf[8] = (val.i >> 24) & 255; - buf[9] = (val.i >> 16) & 255; - buf[10] = (val.i >> 8) & 255; - buf[11] = val.i & 255; - aStream.write((char *) buf, 12); -} - -/// Write a string to a stream (no zero termination). -static void WriteString(ostream &aStream, const char * aString) -{ - int len = (int)strlen(aString); - aStream.write(aString, len); -} - -/// Write a zero terminated string to a stream. -static void WriteStringZ(ostream &aStream, const char * aString) -{ - int len = (int)strlen(aString) + 1; - aStream.write(aString, len); - if(len & 1) - { - char zero = 0; - aStream.write(&zero, 1); - } -} - -/// Write a vertex index (variable size) to a stream. -static void WriteVX(ostream &aStream, uint32 aIndex) -{ - if(aIndex < 0x0000ff00) - WriteU2(aStream, aIndex); - else - WriteU4(aStream, aIndex + 0xff000000); -} - -/// Calculate the size of a POLS chunk - take variable size indices into -/// account... -static uint32 CalcPOLSSize(Mesh * aMesh) -{ - uint32 triCount = (uint32) (aMesh->mIndices.size() / 3); - uint32 size = 4 + triCount * 2; - for(unsigned int i = 0; i < aMesh->mIndices.size(); ++ i) - { - uint32 idx = aMesh->mIndices[i]; - if(idx < 0x0000ff00) - size += 2; - else - size += 4; - } - return size; -} - -/// Calculate the size of a VMAP chunk - take variable size indices into -/// account, but exclude the name string (at least two bytes)... -static uint32 CalcVMAPSize(Mesh * aMesh, uint32 aDimension) -{ - uint32 size = (uint32)(6 + aMesh->mVertices.size() * (2 + 4 * aDimension)); - uint32 maxIdx = (uint32)(aMesh->mVertices.size() - 1); - if(maxIdx >= 0x0000ff00) - size += (maxIdx - 0x0000feff) * 2; - return size; -} - - -//------------------------------------------------------------------------------ -// Public functions -//------------------------------------------------------------------------------ - -/// Import a mesh from an LWO file. -void Import_LWO(const char * aFileName, Mesh * aMesh) -{ - // Open the input file - ifstream f(aFileName, ios::in | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open input file."); - - // File header - if(ReadString(f, 4) != string("FORM")) - throw_runtime_error("Not a valid LWO file (missing FORM chunk)."); - uint32 fileSize = ReadU4(f); - if(ReadString(f, 4) != string("LWO2")) - throw_runtime_error("Not a valid LWO file (not LWO2 format)."); - - // Start with an empty mesh - aMesh->Clear(); - uint32 pointCount = 0; - uint32 triangleCount = 0; - uint32 indexBias = 0; - bool havePoints = false; - - // Current pivot point (based on current layer) - Vector3 pivot(0.0f, 0.0f, 0.0f); - - // Iterate all chunks - while(!f.eof() && ( (uint32)f.tellg() < fileSize)) - { - // Get chunk ID & size (round size to next nearest even size - all chunks - // are word aligned) - string chunkID = ReadString(f, 4); - uint32 chunkSize = (ReadU4(f) + 1) & 0xfffffffe; - - // Get file position of the chunk start - size_t chunkStart = f.tellg(); - - // Was this a supported chunk? - if(chunkID == string("TEXT")) - { - // Read file comment - aMesh->mComment = string(ReadStringZ(f)); - } - else if(chunkID == string("LAYR")) - { - // Read layer information - ReadU2(f); // number - ReadU2(f); // flags - pivot = ReadVEC12(f); // pivot - ReadStringZ(f); // name - - size_t pos = f.tellg(); - if((pos - chunkStart) < chunkSize) - ReadU2(f); // parent (optional) - } - else if(chunkID == string("PNTS")) - { - // Check point count - uint32 newPoints = chunkSize / 12; - if((newPoints * 12) != chunkSize) - throw_runtime_error("Not a valid LWO file (invalid PNTS chunk)."); - - // Read points (relative to current pivot point) - aMesh->mVertices.resize(pointCount + newPoints); - for(uint32 i = pointCount; i < (uint32) aMesh->mVertices.size(); ++ i) - aMesh->mVertices[i] = ReadVEC12(f) + pivot; - indexBias = pointCount; - pointCount += newPoints; - havePoints = true; - } - else if(chunkID == string("POLS")) - { - // POLS before PNTS? - if(!havePoints) - throw_runtime_error("Not a valid LWO file (POLS chunk before PNTS chunk)."); - - // Check that we have a FACE or PTCH descriptor. - string type = ReadString(f, 4); - if((type == string("FACE")) || (type == string("PTCH"))) - { - // Perpare for worst case triangle count (a single poly with only - // 16-bit indices) - uint32 maxTriCount = (chunkSize - 10) / 2; - vector indices; - indices.resize(maxTriCount * 3); - - // Read polygons - uint32 newTris = 0; - int bytesLeft = (int) chunkSize - 4; - while(bytesLeft > 0) - { - int polyNodes = (int) ReadU2(f) & 1023; - bytesLeft -= 2; - if(polyNodes >= 3) - { - polyNodes -= 3; - uint32 idx[3]; - idx[0] = ReadVX(f, &bytesLeft); - idx[1] = ReadVX(f, &bytesLeft); - idx[2] = ReadVX(f, &bytesLeft); - while((polyNodes >= 0) && (bytesLeft >= 0)) - { - indices[newTris * 3] = idx[0]; - indices[newTris * 3 + 1] = idx[1]; - indices[newTris * 3 + 2] = idx[2]; - ++ newTris; - if(polyNodes > 0) - { - idx[1] = idx[2]; - idx[2] = ReadVX(f, &bytesLeft); - } - -- polyNodes; - } - } - else - { - // Skip polygons with less than 3 nodes - for(int i = 0; i < polyNodes; ++ i) - ReadVX(f, &bytesLeft); - } - } - - // Copy all the read indices to the mesh - aMesh->mIndices.resize((triangleCount + newTris) * 3); - for(uint32 i = 0; i < newTris; ++ i) - { - aMesh->mIndices[(i + triangleCount) * 3] = indices[i * 3] + indexBias; - aMesh->mIndices[(i + triangleCount) * 3 + 1] = indices[i * 3 + 1] + indexBias; - aMesh->mIndices[(i + triangleCount) * 3 + 2] = indices[i * 3 + 2] + indexBias; - } - triangleCount += newTris; - } - else - { - // We only support FACE/PTCH type polygons - skip this chunk - f.seekg(chunkSize - 4, ios::cur); - } - } - else if((chunkID == string("VMAP")) || (chunkID == string("VMAD"))) - { - bool dynamic = (chunkID == string("VMAD")); - string type = ReadString(f, 4); - uint32 dimension = ReadU2(f); - ReadStringZ(f); // Ignore the name - - // How many bytes are currently left to read in this chunk? - int bytesLeft = (int) chunkSize - ((int) f.tellg() - (int) chunkStart); - - if((type == string("RGB ")) || (type == string("RGBA"))) - { - // Resize the mesh colors array - uint32 oldSize = (uint32)aMesh->mColors.size(); - aMesh->mColors.resize(pointCount); - for(uint32 i = oldSize; i < pointCount; ++ i) - aMesh->mColors[i] = Vector4(1.0f, 1.0f, 1.0f, 1.0f); - - // Read all the colors - while(bytesLeft > 0) - { - uint32 idx = ReadVX(f, &bytesLeft) + indexBias; - if(dynamic) - ReadVX(f, &bytesLeft); // ignore the face index for VMAD... - Vector4 col; - col.x = ReadF4(f); - col.y = ReadF4(f); - col.z = ReadF4(f); - if(dimension == 4) - { - col.w = ReadF4(f); - bytesLeft -= 16; - } - else - { - col.w = 1.0f; - bytesLeft -= 12; - } - if(idx < aMesh->mColors.size()) - aMesh->mColors[idx] = col; - } - } - else if((type == string("TXUV"))) - { - // Resize the mesh UV array - uint32 oldSize = (uint32)aMesh->mTexCoords.size(); - aMesh->mTexCoords.resize(pointCount); - for(uint32 i = oldSize; i < pointCount; ++ i) - aMesh->mTexCoords[i] = Vector2(0.0f, 0.0f); - - // Read all the texture coordinates - while(bytesLeft > 0) - { - uint32 idx = ReadVX(f, &bytesLeft) + indexBias; - if(dynamic) - ReadVX(f, &bytesLeft); // ignore the face index for VMAD... - Vector2 texCoord; - texCoord.u = ReadF4(f); - texCoord.v = ReadF4(f); - bytesLeft -= 8; - if(idx < aMesh->mTexCoords.size()) - aMesh->mTexCoords[idx] = texCoord; - } - } - else - { - // We only support RGB/RGBA & TXUV type VMAPs - skip this chunk - f.seekg(bytesLeft, ios::cur); - } - } - else - { - // Just skip this chunk - f.seekg(chunkSize, ios::cur); - } - } - - // Post-adjustment: color array (if any) - if((aMesh->mColors.size() > 0) && (aMesh->mColors.size() < pointCount)) - { - uint32 oldSize = (uint32)aMesh->mColors.size(); - aMesh->mColors.resize(pointCount); - for(uint32 i = oldSize; i < pointCount; ++ i) - aMesh->mColors[i] = Vector4(1.0f, 1.0f, 1.0f, 1.0f); - } - - // Post-adjustment: texture coordinate array (if any) - if((aMesh->mTexCoords.size() > 0) && (aMesh->mTexCoords.size() < pointCount)) - { - uint32 oldSize = (uint32)aMesh->mTexCoords.size(); - aMesh->mTexCoords.resize(pointCount); - for(uint32 i = oldSize; i < pointCount; ++ i) - aMesh->mTexCoords[i] = Vector2(0.0f, 0.0f); - } - - // Close the input file - f.close(); -} - -/// Export a mesh to an LWO file. -void Export_LWO(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Check if we can support this mesh (too many vertices?) - if(aMesh->mVertices.size() > 0x00ffffff) - throw_runtime_error("Too large mesh (not supported by the LWO file format)."); - - // What should we export? - bool exportComment = (aMesh->mComment.size() > 0); - bool exportTexCoords = aMesh->HasTexCoords() && !aOptions.mNoTexCoords; - bool exportColors = aMesh->HasColors() && !aOptions.mNoColors; - - // Calculate the sizes of the individual chunks - uint32 textSize = (uint32)aMesh->mComment.size() + 1; - if(textSize & 1) ++ textSize; - uint32 tagsSize = 8; - uint32 layrSize = 24; - uint32 pntsSize = (uint32) (aMesh->mVertices.size() * 12); - uint32 txuvSize = CalcVMAPSize(aMesh, 2) + 20; - uint32 rgbaSize = CalcVMAPSize(aMesh, 4) + 14; - uint32 polsSize = CalcPOLSSize(aMesh); - - // Calculate output file size - uint32 fileSize = 4 + - 8 + tagsSize + - 8 + layrSize + - 8 + pntsSize + - 8 + polsSize; - if(exportComment) - fileSize += 8 + textSize; - if(exportTexCoords) - fileSize += 8 + txuvSize; - if(exportColors) - fileSize += 8 + rgbaSize; - - // Open the output file - ofstream f(aFileName, ios::out | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // File header - WriteString(f, "FORM"); - WriteU4(f, fileSize); // File size (excluding FORM chunk header) - WriteString(f, "LWO2"); - - // TEXT chunk - if(exportComment) - { - WriteString(f, "TEXT"); - WriteU4(f, textSize); - WriteStringZ(f, aMesh->mComment.c_str()); - } - - // TAGS chunk - WriteString(f, "TAGS"); - WriteU4(f, tagsSize); - WriteStringZ(f, "Default"); - - // LAYR chunk - WriteString(f, "LAYR"); - WriteU4(f, layrSize); - WriteU2(f, 0); // number - WriteU2(f, 0); // flags - WriteVEC12(f, Vector3(0.0f, 0.0f, 0.0f)); // pivot - WriteStringZ(f, "Layer 1"); // name - - // PNTS chunk - WriteString(f, "PNTS"); - WriteU4(f, pntsSize); - for(uint32 i = 0; i < (uint32) aMesh->mVertices.size(); ++ i) - WriteVEC12(f, aMesh->mVertices[i]); - - // VMAP:TXUV chunk (optional) - if(exportTexCoords) - { - WriteString(f, "VMAP"); - WriteU4(f, txuvSize); - WriteString(f, "TXUV"); // type - WriteU2(f, 2); // dimension - WriteStringZ(f, "Texture coordaintes"); // name - for(uint32 i = 0; i < (uint32) aMesh->mTexCoords.size(); ++ i) - { - WriteVX(f, i); - WriteF4(f, aMesh->mTexCoords[i].u); - WriteF4(f, aMesh->mTexCoords[i].v); - } - } - - // VMAP:RGBA chunk (optional) - if(exportColors) - { - WriteString(f, "VMAP"); - WriteU4(f, rgbaSize); - WriteString(f, "RGBA"); // type - WriteU2(f, 4); // dimension - WriteStringZ(f, "Vertex colors"); // name - for(uint32 i = 0; i < (uint32) aMesh->mColors.size(); ++ i) - { - WriteVX(f, i); - WriteF4(f, aMesh->mColors[i].x); - WriteF4(f, aMesh->mColors[i].y); - WriteF4(f, aMesh->mColors[i].z); - WriteF4(f, aMesh->mColors[i].w); - } - } - - // POLS chunk - WriteString(f, "POLS"); - WriteU4(f, polsSize); - WriteString(f, "FACE"); - uint32 triCount = (uint32) (aMesh->mIndices.size() / 3); - for(uint32 i = 0; i < triCount; ++ i) - { - // Polygon node count (always 3) - WriteU2(f, 3); - - // Write polygon node indices - for(int j = 0; j < 3; ++ j) - WriteVX(f, aMesh->mIndices[i * 3 + j]); - } - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/lwo.h b/3rdparty/openctm/tools/lwo.h deleted file mode 100644 index c1cea4f9a..000000000 --- a/3rdparty/openctm/tools/lwo.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: lwo.h -// Description: Interface for the LWO file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __LWO_H_ -#define __LWO_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a mesh from an LWO file. -void Import_LWO(const char * aFileName, Mesh * aMesh); - -/// Export a mesh to an LWO file. -void Export_LWO(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __LWO_H_ diff --git a/3rdparty/openctm/tools/mesh.cpp b/3rdparty/openctm/tools/mesh.cpp deleted file mode 100644 index c6a8947fb..000000000 --- a/3rdparty/openctm/tools/mesh.cpp +++ /dev/null @@ -1,214 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: mesh.cpp -// Description: Implementation of the 3D triangle mesh class. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include "mesh.h" -#include "convoptions.h" - - -using namespace std; - - -/// Compute the cross product of two vectors -Vector3 Cross(Vector3 &v1, Vector3 &v2) -{ - return Vector3( - v1.y * v2.z - v1.z * v2.y, - v1.z * v2.x - v1.x * v2.z, - v1.x * v2.y - v1.y * v2.x - ); -} - -/// Normalize a vector -Vector3 Normalize(Vector3 v) -{ - float len = sqrtf(v.x * v.x + v.y * v.y + v.z * v.z); - if(len > 1e-20f) - len = 1.0f / len; - else - len = 1.0f; - return Vector3(v.x * len, v.y * len, v.z * len); -} - - -/// Clear the mesh -void Mesh::Clear() -{ - mComment = string(""); - mTexFileName = string(""); - mIndices.clear(); - mVertices.clear(); - mNormals.clear(); - mColors.clear(); - mTexCoords.clear(); - mOriginalNormals = true; -} - -/// Automatic detection of the optimal normal calculation method -Mesh::NormalCalcAlgo Mesh::DetectNormalCalculationMethod() -{ - unsigned int triCount = (unsigned int)(mIndices.size() / 3); - unsigned int vertexCount = (unsigned int)(mVertices.size() ); - - // Calculate the mean edge length - double meanEdgeLen = 0; - for(unsigned int i = 0; i < triCount; ++ i) - { - meanEdgeLen += (mVertices[mIndices[i * 3 + 1]] - mVertices[mIndices[i * 3]]).Abs(); - meanEdgeLen += (mVertices[mIndices[i * 3 + 2]] - mVertices[mIndices[i * 3 + 1]]).Abs(); - meanEdgeLen += (mVertices[mIndices[i * 3]] - mVertices[mIndices[i * 3 + 2]]).Abs(); - } - if(triCount > 0) - meanEdgeLen = meanEdgeLen / (3 * triCount); - - // Calculate the standard deviation of the edge length - double stdDevEdgeLen = 0; - for(unsigned int i = 0; i < triCount; ++ i) - { - double len = (mVertices[mIndices[i * 3 + 1]] - mVertices[mIndices[i * 3]]).Abs(); - stdDevEdgeLen += (len - meanEdgeLen) * (len - meanEdgeLen); - len = (mVertices[mIndices[i * 3 + 2]] - mVertices[mIndices[i * 3 + 1]]).Abs(); - stdDevEdgeLen += (len - meanEdgeLen) * (len - meanEdgeLen); - len = (mVertices[mIndices[i * 3]] - mVertices[mIndices[i * 3 + 2]]).Abs(); - stdDevEdgeLen += (len - meanEdgeLen) * (len - meanEdgeLen); - } - if(triCount > 0) - stdDevEdgeLen = sqrt(stdDevEdgeLen / (3 * triCount)); - - // Calculate the number of triangles that connect to each vertex - vector connectCount; - connectCount.resize(vertexCount); - for(unsigned int i = 0; i < vertexCount; ++ i) - connectCount[i] = 0; - for(unsigned int i = 0; i < mIndices.size(); ++ i) - { - unsigned int idx = mIndices[i]; - if(idx < vertexCount) - ++ connectCount[idx]; - } - - // First analysis: how much variation is there in the triangle edge lengths? - double edgeVariation = 0.0; - if(meanEdgeLen > 0.0) - edgeVariation = stdDevEdgeLen / meanEdgeLen; - - // Calculate the mean number of triangle connections - double meanConnectCount = 0; - for(unsigned int i = 0; i < vertexCount; ++ i) - meanConnectCount += connectCount[i]; - if(vertexCount > 0) - meanConnectCount = meanConnectCount / vertexCount; - - // Calculate the standard deviation of the number of triangle connections - double stdDevConnectCount = 0; - for(unsigned int i = 0; i < vertexCount; ++ i) - stdDevConnectCount += (connectCount[i] - meanConnectCount) * (connectCount[i] - meanConnectCount); - if(vertexCount > 0) - stdDevConnectCount = sqrt(stdDevConnectCount / vertexCount); - - // Second analysis: how much variation is there in the number of connections - // per vertex? - double connectVariation = 0.0; - if(meanConnectCount > 0.0) - connectVariation = stdDevConnectCount / meanConnectCount; - - // Normalize the different measures to their respective threshold values - edgeVariation /= 0.7; - connectVariation /= 0.3; - - // Is this a CAD-like object or a organic-like object? - NormalCalcAlgo algo = ncaOrganic; - if(edgeVariation * connectVariation > 1.0) - algo = ncaCAD; - - return algo; -} - -/// Calculate smooth per-vertex normals -void Mesh::CalculateNormals(NormalCalcAlgo aAlgo) -{ - // Determine which normal calculation algorithm to use - NormalCalcAlgo algo; - if(aAlgo == ncaAuto) - algo = DetectNormalCalculationMethod(); - else - algo = aAlgo; - - // The original normals are no longer preserved - mOriginalNormals = false; - - // Clear the smooth normals - mNormals.resize(mVertices.size()); - for(unsigned int i = 0; i < mNormals.size(); ++ i) - mNormals[i] = Vector3(0.0f, 0.0f, 0.0f); - - // Calculate sum of the flat normals of the neighbouring triangles - unsigned int triCount = (unsigned int)(mIndices.size() / 3); - for(unsigned int i = 0; i < triCount; ++ i) - { - // Calculate the weighted flat normal for this triangle - Vector3 v1 = mVertices[mIndices[i * 3 + 1]] - mVertices[mIndices[i * 3]]; - Vector3 v2 = mVertices[mIndices[i * 3 + 2]] - mVertices[mIndices[i * 3]]; - Vector3 flatNormal = Cross(v1, v2); - if(algo == ncaOrganic) - flatNormal = Normalize(flatNormal); - - // ...and add it to all three triangle vertices' smooth normals - for(unsigned int j = 0; j < 3; ++ j) - mNormals[mIndices[i * 3 + j]] += flatNormal; - } - - // Normalize all the smooth normals - for(unsigned int i = 0; i < mNormals.size(); ++ i) - mNormals[i] = Normalize(mNormals[i]); -} - -/// Calculate the bounding box for the mesh -void Mesh::BoundingBox(Vector3 &aMin, Vector3 &aMax) -{ - if(mVertices.size() < 1) - aMin = aMax = Vector3(0.0f, 0.0f, 0.0f); - else - aMin = aMax = mVertices[0]; - for(unsigned int i = 1; i < mVertices.size(); ++ i) - { - if(mVertices[i].x < aMin.x) - aMin.x = mVertices[i].x; - else if(mVertices[i].x > aMax.x) - aMax.x = mVertices[i].x; - if(mVertices[i].y < aMin.y) - aMin.y = mVertices[i].y; - else if(mVertices[i].y > aMax.y) - aMax.y = mVertices[i].y; - if(mVertices[i].z < aMin.z) - aMin.z = mVertices[i].z; - else if(mVertices[i].z > aMax.z) - aMax.z = mVertices[i].z; - } -} diff --git a/3rdparty/openctm/tools/mesh.h b/3rdparty/openctm/tools/mesh.h deleted file mode 100644 index 466d599c7..000000000 --- a/3rdparty/openctm/tools/mesh.h +++ /dev/null @@ -1,195 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: mesh.h -// Description: Interface for the 3D triangle mesh class. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __MESH_H_ -#define __MESH_H_ - -#include -#include -#include - -class Vector2 { - public: - Vector2() - { - u = 0.0f; v = 0.0f; - } - - Vector2(float a, float b) - { - u = a; v = b; - } - - Vector2(const Vector2 &a) - { - u = a.u; v = a.v; - } - - float u, v; -}; - -class Vector3 { - public: - Vector3() - { - x = 0.0f; y = 0.0f; z = 0.0f; - } - - Vector3(float a, float b, float c) - { - x = a; y = b; z = c; - } - - Vector3(const Vector3 &a) - { - x = a.x; y = a.y; z = a.z; - } - - inline Vector3 operator+(const Vector3 &v) const - { - return Vector3(x + v.x, y + v.y, z + v.z); - } - - inline Vector3 operator-(const Vector3 &v) const - { - return Vector3(x - v.x, y - v.y, z - v.z); - } - - inline Vector3 operator*(const float &aScale) const - { - return Vector3(aScale * x, aScale * y, aScale * z); - } - - inline void operator+=(const Vector3 &v) - { - x += v.x; - y += v.y; - z += v.z; - } - - float Abs() - { - return sqrtf(x * x + y * y + z * z); - } - - float x, y, z; -}; - -class Vector4 { - public: - Vector4() - { - x = 0.0f; y = 0.0f; z = 0.0f; w = 0.0f; - } - - Vector4(float a, float b, float c, float d) - { - x = a; y = b; z = c; w = d; - } - - Vector4(const Vector4 &a) - { - x = a.x; y = a.y; z = a.z; w = a.w; - } - - Vector4(const Vector3 &a) - { - x = a.x; y = a.y; z = a.z; w = 1.0; - } - - float x, y, z, w; -}; - -class Options; - -class Mesh { - public: - /// Normal calculation algorithm - enum NormalCalcAlgo { - ncaAuto, ///< Auto detect optimal algorithm - ncaOrganic, ///< Optimized for "organic" models (e.g. scanned objects) - ncaCAD ///< Optimized for CAD models (varying triangle sizes etc) - }; - - /// Constructor - Mesh() - { - mOriginalNormals = true; - } - - /// Clear the mesh - void Clear(); - - /// Calculate smooth per-vertex normals - void CalculateNormals(NormalCalcAlgo aAlgo = ncaAuto); - - /// Calculate the bounding box for the mesh - void BoundingBox(Vector3 &aMin, Vector3 &aMax); - - /// Set to true if the mesh contains the original normals from the imported - /// file. This flag is set to false by the CalculateNormals() method. - bool mOriginalNormals; - - /// Check if the mesh has normals - bool HasNormals() - { - return (mNormals.size() > 0) && (mNormals.size() == mVertices.size()); - } - - /// Check if the mesh has colors - bool HasColors() - { - return (mColors.size() > 0) && (mColors.size() == mVertices.size()); - } - - /// Check if the mesh has texture coordinates - bool HasTexCoords() - { - return (mTexCoords.size() > 0) && (mTexCoords.size() == mVertices.size()); - } - - std::string mComment; - std::string mTexFileName; - std::vector mIndices; - std::vector mVertices; - std::vector mNormals; - std::vector mColors; - std::vector mTexCoords; - - private: - /// Automatic detection of the optimal normal calculation method - NormalCalcAlgo DetectNormalCalculationMethod(); -}; - - -/// Compute the cross product of two vectors -Vector3 Cross(Vector3 &v1, Vector3 &v2); - -/// Normalize a vector -Vector3 Normalize(Vector3 v); - -#endif // __MESH_H_ diff --git a/3rdparty/openctm/tools/meshio.cpp b/3rdparty/openctm/tools/meshio.cpp deleted file mode 100644 index 270641be4..000000000 --- a/3rdparty/openctm/tools/meshio.cpp +++ /dev/null @@ -1,112 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: meshio.cpp -// Description: Mesh I/O using different file format loaders/savers. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include "mesh.h" -#include "meshio.h" -#include "convoptions.h" -#include "ctm.h" -#include "ply.h" -#include "stl.h" -#include "3ds.h" -#include "dae.h" -#include "obj.h" -#include "lwo.h" -#include "off.h" -#include "wrl.h" -#include "common.h" - -using namespace std; - - -/// Import a mesh from a file. -void ImportMesh(const char * aFileName, Mesh * aMesh) -{ - string fileExt = UpperCase(ExtractFileExt(string(aFileName))); - if(fileExt == string(".CTM")) - Import_CTM(aFileName, aMesh); - else if(fileExt == string(".PLY")) - Import_PLY(aFileName, aMesh); - else if(fileExt == string(".STL")) - Import_STL(aFileName, aMesh); - else if(fileExt == string(".3DS")) - Import_3DS(aFileName, aMesh); - else if(fileExt == string(".DAE")) - Import_DAE(aFileName, aMesh); - else if(fileExt == string(".OBJ")) - Import_OBJ(aFileName, aMesh); - else if(fileExt == string(".LWO")) - Import_LWO(aFileName, aMesh); - else if(fileExt == string(".OFF")) - Import_OFF(aFileName, aMesh); - else if(fileExt == string(".WRL")) - Import_WRL(aFileName, aMesh); - else - throw_runtime_error("Unknown input file extension."); -} - -/// Export a mesh to a file. -void ExportMesh(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - string fileExt = UpperCase(ExtractFileExt(string(aFileName))); - if(fileExt == string(".CTM")) - Export_CTM(aFileName, aMesh, aOptions); - else if(fileExt == string(".PLY")) - Export_PLY(aFileName, aMesh, aOptions); - else if(fileExt == string(".STL")) - Export_STL(aFileName, aMesh, aOptions); - else if(fileExt == string(".3DS")) - Export_3DS(aFileName, aMesh, aOptions); - else if(fileExt == string(".DAE")) - Export_DAE(aFileName, aMesh, aOptions); - else if(fileExt == string(".OBJ")) - Export_OBJ(aFileName, aMesh, aOptions); - else if(fileExt == string(".LWO")) - Export_LWO(aFileName, aMesh, aOptions); - else if(fileExt == string(".OFF")) - Export_OFF(aFileName, aMesh, aOptions); - else if(fileExt == string(".WRL")) - Export_WRL(aFileName, aMesh, aOptions); - else - throw_runtime_error("Unknown output file extension."); -} - -/// Return a list of supported formats. -void SupportedFormats(list &aList) -{ - aList.push_back(string("OpenCTM (.ctm)")); - aList.push_back(string("Stanford triangle format (.ply)")); - aList.push_back(string("Stereolithography (.stl)")); - aList.push_back(string("3D Studio (.3ds)")); - aList.push_back(string("COLLADA 1.4/1.5 (.dae)")); - aList.push_back(string("Wavefront geometry file (.obj)")); - aList.push_back(string("LightWave object (.lwo)")); - aList.push_back(string("Geomview object file format (.off)")); - aList.push_back(string("VRML 2.0 (.wrl) - export only")); -} diff --git a/3rdparty/openctm/tools/meshio.h b/3rdparty/openctm/tools/meshio.h deleted file mode 100644 index 255e3c46c..000000000 --- a/3rdparty/openctm/tools/meshio.h +++ /dev/null @@ -1,46 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: meshio.h -// Description: Interface for the mesh I/O functions. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __MESHIO_H_ -#define __MESHIO_H_ - -#include -#include "mesh.h" -#include "convoptions.h" - - -/// Import a mesh from a file. -void ImportMesh(const char * aFileName, Mesh * aMesh); - -/// Export a mesh to a file. -void ExportMesh(const char * aFileName, Mesh * aMesh, Options &aOptions); - -/// Return a list of supported formats. -void SupportedFormats(std::list &aList); - - -#endif // __MESHIO_H_ diff --git a/3rdparty/openctm/tools/obj.cpp b/3rdparty/openctm/tools/obj.cpp deleted file mode 100644 index 75e7012eb..000000000 --- a/3rdparty/openctm/tools/obj.cpp +++ /dev/null @@ -1,347 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: obj.cpp -// Description: Implementation of the OBJ file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include -#include -#include -#include "obj.h" -#include "common.h" - -using namespace std; - -class OBJFaceNode { - public: - OBJFaceNode() - { - v = vt = vn = 0; - } - - void Set(int aIndex, int aValue) - { - if(aIndex == 0) - v = aValue; - else if(aIndex == 1) - vt = aValue; - else - vn = aValue; - } - - int v, vt, vn; -}; - -// OBJ file face description class (three triangle corners, with one vertex, -// texcoord and normal index each). -class OBJFace { - public: - OBJFace() - { - } - - // Contruct a face (one triangle) from an OBJ face description string - OBJFace(const string aStr) - { - // Start by finding the first and last non-whitespace char (trim) - size_t l = aStr.size(); - size_t pos = 0, strEnd = l - 1; - while((pos < strEnd) && ((aStr[pos] == ' ') || (aStr[pos] == '\t'))) - ++ pos; - while((strEnd > pos) && ((aStr[strEnd] == ' ') || (aStr[strEnd] == '\t'))) - -- strEnd; - - // Extract three face corners (one triangle) - while((pos <= strEnd) && (aStr[pos] != ' ') && (aStr[pos] != '\t')) - { - // Extract three /-separated strings (v/vt/vn) - string v_s[3]; - int j = 0; - while((pos <= strEnd) && (aStr[pos] != ' ') && (aStr[pos] != '\t') && (j < 3)) - { - if(aStr[pos] != '/') - v_s[j] += aStr[pos]; - else - ++ j; - ++ pos; - } - - // Skip whitespaces - while((pos <= strEnd) && ((aStr[pos] == ' ') || (aStr[pos] == '\t'))) - ++ pos; - - // Convert the strings to integers - mNodes.push_back(OBJFaceNode()); - OBJFaceNode &n = mNodes.back(); - for(int j = 0; j < 3; ++ j) - { - int value = 0; - if(v_s[j].size() > 0) - { - istringstream ss(v_s[j]); - ss >> value; - if(value > 0) - value --; - else if(value < 0) - throw_runtime_error("Negative vertex references in OBJ files are not supported."); - else - throw_runtime_error("Invalid index (zero) in OBJ file."); - } - n.Set(j, value); - } - } - } - - list mNodes; -}; - -// Parse a 2 x float string as a Vector2 -static Vector2 ParseVector2(const string aString) -{ - Vector2 result; - istringstream sstr(aString); - sstr >> result.u; - sstr >> result.v; - return result; -} - -// Parse a 3 x float string as a Vector3 -static Vector3 ParseVector3(const string aString) -{ - Vector3 result; - istringstream sstr(aString); - sstr >> result.x; - sstr >> result.y; - sstr >> result.z; - return result; -} - -/// Import a mesh from an OBJ file. -void Import_OBJ(const char * aFileName, Mesh * aMesh) -{ - // Clear the mesh - aMesh->Clear(); - - // Open the input file - ifstream inFile(aFileName, ios::in); - if(inFile.fail()) - throw_runtime_error("Could not open input file."); - - // Mesh description - parsed from the OBJ file - list vertices; - list texCoords; - list normals; - list faces; - - // Parse the file - while(!inFile.eof()) - { - // Read one line from the file (concatenate lines that end with "\") - string line; - getline(inFile, line); - while((line.size() > 0) && (line[line.size() - 1] == '\\') && !inFile.eof()) - { - string nextLine; - getline(inFile, nextLine); - line = line.substr(0, line.size() - 1) + string(" ") + nextLine; - } - - // Parse the line, if it is non-empty - if(line.size() >= 1) - { - if(line.substr(0, 2) == string("v ")) - vertices.push_back(ParseVector3(line.substr(2))); - else if(line.substr(0, 3) == string("vt ")) - texCoords.push_back(ParseVector2(line.substr(3))); - else if(line.substr(0, 3) == string("vn ")) - normals.push_back(ParseVector3(line.substr(3))); - else if(line.substr(0, 2) == string("f ")) - faces.push_back(OBJFace(line.substr(2))); - } - } - - // Convert lists to vectors (for random element access) - vector verticesArray(vertices.begin(), vertices.end()); - vector texCoordsArray(texCoords.begin(), texCoords.end()); - vector normalsArray(normals.begin(), normals.end()); - - // Prepare vertices - aMesh->mVertices.resize(verticesArray.size()); - if(texCoordsArray.size() > 0) - aMesh->mTexCoords.resize(verticesArray.size()); - if(normalsArray.size() > 0) - aMesh->mNormals.resize(verticesArray.size()); - - // Prepare indices - int triCount = 0; - for(list::iterator i = faces.begin(); i != faces.end(); ++ i) - { - int nodeCount = (int)((*i).mNodes.size()); - if(nodeCount >= 3) - triCount += (nodeCount - 2); - } - aMesh->mIndices.resize(triCount * 3); - - // Iterate faces and extract vertex data - unsigned int idx = 0; - for(list::iterator i = faces.begin(); i != faces.end(); ++ i) - { - OBJFace &f = (*i); - int nodes[3][3]; - int nodeCount = 0; - for(list::iterator n = f.mNodes.begin(); n != f.mNodes.end(); ++ n) - { - // Collect polygon nodes for this face, turning it into triangles - if(nodeCount < 3) - { - nodes[nodeCount][0] = (*n).v; - nodes[nodeCount][1] = (*n).vt; - nodes[nodeCount][2] = (*n).vn; - } - else - { - nodes[1][0] = nodes[2][0]; - nodes[1][1] = nodes[2][1]; - nodes[1][2] = nodes[2][2]; - nodes[2][0] = (*n).v; - nodes[2][1] = (*n).vt; - nodes[2][2] = (*n).vn; - } - ++ nodeCount; - - // Emit one triangle? - if(nodeCount >= 3) - { - aMesh->mIndices[idx ++] = nodes[0][0]; - aMesh->mIndices[idx ++] = nodes[1][0]; - aMesh->mIndices[idx ++] = nodes[2][0]; - aMesh->mVertices[nodes[0][0]] = verticesArray[nodes[0][0]]; - aMesh->mVertices[nodes[1][0]] = verticesArray[nodes[1][0]]; - aMesh->mVertices[nodes[2][0]] = verticesArray[nodes[2][0]]; - if(texCoordsArray.size() > 0) - { - aMesh->mTexCoords[nodes[0][0]] = texCoordsArray[nodes[0][1]]; - aMesh->mTexCoords[nodes[1][0]] = texCoordsArray[nodes[1][1]]; - aMesh->mTexCoords[nodes[2][0]] = texCoordsArray[nodes[2][1]]; - } - if(normalsArray.size() > 0) - { - aMesh->mNormals[nodes[0][0]] = normalsArray[nodes[0][2]]; - aMesh->mNormals[nodes[1][0]] = normalsArray[nodes[1][2]]; - aMesh->mNormals[nodes[2][0]] = normalsArray[nodes[2][2]]; - } - } - } - } - - // Close the input file - inFile.close(); -} - -/// Export a mesh to an OBJ file. -void Export_OBJ(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Open the output file - ofstream f(aFileName, ios::out); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // What should we export? - bool exportTexCoords = aMesh->HasTexCoords() && !aOptions.mNoTexCoords; - bool exportNormals = aMesh->HasNormals() && !aOptions.mNoNormals; - - // Set floating point precision - f << setprecision(8); - - // Write comment - if(aMesh->mComment.size() > 0) - { - stringstream sstr(aMesh->mComment); - sstr.seekg(0); - while(!sstr.eof()) - { - string line; - getline(sstr, line); - line = TrimString(line); - if(line.size() > 0) - f << "# " << line << endl; - } - } - - // Write vertices - for(unsigned int i = 0; i < aMesh->mVertices.size(); ++ i) - f << "v " << aMesh->mVertices[i].x << " " << aMesh->mVertices[i].y << " " << aMesh->mVertices[i].z << endl; - - // Write UV coordinates - if(exportTexCoords) - { - for(unsigned int i = 0; i < aMesh->mTexCoords.size(); ++ i) - f << "vt " << aMesh->mTexCoords[i].u << " " << aMesh->mTexCoords[i].v << endl; - } - - // Write normals - if(exportNormals) - { - for(unsigned int i = 0; i < aMesh->mNormals.size(); ++ i) - f << "vn " << aMesh->mNormals[i].x << " " << aMesh->mNormals[i].y << " " << aMesh->mNormals[i].z << endl; - } - - // Write faces - unsigned int triCount = (unsigned int)(aMesh->mIndices.size() / 3); - f << "s 1" << endl; // Put all faces in the same smoothing group - for(unsigned int i = 0; i < triCount; ++ i) - { - unsigned int idx = aMesh->mIndices[i * 3] + 1; - f << "f " << idx << "/"; - if(exportTexCoords) - f << idx; - f << "/"; - if(exportNormals) - f << idx; - - idx = aMesh->mIndices[i * 3 + 1] + 1; - f << " " << idx << "/"; - if(exportTexCoords) - f << idx; - f << "/"; - if(exportNormals) - f << idx; - - idx = aMesh->mIndices[i * 3 + 2] + 1; - f << " " << idx << "/"; - if(exportTexCoords) - f << idx; - f << "/"; - if(exportNormals) - f << idx; - f << endl; - } - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/obj.h b/3rdparty/openctm/tools/obj.h deleted file mode 100644 index 79b387323..000000000 --- a/3rdparty/openctm/tools/obj.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: obj.h -// Description: Interface for the OBJ file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __OBJ_H_ -#define __OBJ_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a mesh from an OBJ file. -void Import_OBJ(const char * aFileName, Mesh * aMesh); - -/// Export a mesh to an OBJ file. -void Export_OBJ(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __OBJ_H_ diff --git a/3rdparty/openctm/tools/off.cpp b/3rdparty/openctm/tools/off.cpp deleted file mode 100644 index ac427a725..000000000 --- a/3rdparty/openctm/tools/off.cpp +++ /dev/null @@ -1,253 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: off.cpp -// Description: Implementation of the OFF file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -// The "Object File Format" (OFF) is, among other things, used by the Princeton -// Shape Benchmark data set (http://shape.cs.princeton.edu/benchmark). The file -// format specification can be found here: -// http://people.sc.fsu.edu/~burkardt/data/off/off.html -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include -#include -#include -#include "off.h" -#include "common.h" - -using namespace std; - -// Read the next line in a file (skip comments and empty lines) -static void ReadNextLine(ifstream &aStream, string &aResult, string &aComment) -{ - while(true) - { - // Read another line from the file - string line; - getline(aStream, line); - - // Check for comment - size_t commentPos = line.find('#'); - if(commentPos != string::npos) - { - string lineComment = TrimString(line.substr(commentPos + 1)); - if(lineComment.size() > 0) - { - if(aComment.size() > 0) - aComment = aComment + string(" ") + lineComment; - else - aComment = lineComment; - } - line = line.substr(0, commentPos); - } - - // Trim the string - aResult = TrimString(line); - - // Non-empty line? - if((aResult.size() > 0) || aStream.eof()) - return; - } -} - -// Parse a 7 x float string as a Vector3 and a Vector4 element -static void ParseVeretex(const string aString, Vector3 * aCoord, Vector4 * aColor) -{ - istringstream sstr(aString); - sstr >> aCoord->x; - sstr >> aCoord->y; - sstr >> aCoord->z; - sstr >> aColor->x; - sstr >> aColor->y; - sstr >> aColor->z; - sstr >> aColor->w; -} - -/// Import a mesh from an OFF file. -void Import_OFF(const char * aFileName, Mesh * aMesh) -{ - // Clear the mesh - aMesh->Clear(); - - // Open the input file - ifstream f(aFileName, ios::in); - if(f.fail()) - throw_runtime_error("Could not open input file."); - - // Some state variables that we need... - unsigned int numVertices; - unsigned int numFaces; - string line, comment; - istringstream sstr; - - // Read header - ReadNextLine(f, line, comment); - if(line != string("OFF")) - throw_runtime_error("Not a valid OFF format file (missing OFF signature)."); - ReadNextLine(f, line, comment); - sstr.clear(); - sstr.str(line); - sstr >> numVertices; - sstr >> numFaces; - if(numVertices < 1) - throw_runtime_error("Not a valid OFF format file (bad vertex count)."); - if(numFaces < 1) - throw_runtime_error("Not a valid OFF format file (bad face count)."); - - // Read vertices - aMesh->mVertices.resize(numVertices); - aMesh->mColors.resize(numVertices); - for(unsigned int i = 0; i < numVertices; ++ i) - { - ReadNextLine(f, line, comment); - ParseVeretex(line, &aMesh->mVertices[i], &aMesh->mColors[i]); - } - - // Check if there were vertex colors - bool hasVertexColors = false; - Vector4 firstColor = aMesh->mColors[0]; - for(unsigned int i = 1; i < numVertices; ++ i) - { - if((aMesh->mColors[i].x != firstColor.x) || (aMesh->mColors[i].y != firstColor.y) || - (aMesh->mColors[i].z != firstColor.z) || (aMesh->mColors[i].w != firstColor.w)) - { - hasVertexColors = true; - break; - } - } - if(!hasVertexColors) - aMesh->mColors.clear(); - - // Read faces - list indices; - unsigned int idx[3]; - for(unsigned int i = 0; i < numFaces; ++ i) - { - ReadNextLine(f, line, comment); - sstr.clear(); - sstr.str(line); - int nodeCount; - sstr >> nodeCount; - if(nodeCount >= 3) - { - sstr >> idx[0]; - sstr >> idx[1]; - sstr >> idx[2]; - nodeCount -= 3; - while(nodeCount >= 0) - { - indices.push_back(idx[0]); - indices.push_back(idx[1]); - indices.push_back(idx[2]); - if(nodeCount > 0) - { - idx[1] = idx[2]; - sstr >> idx[2]; - } - -- nodeCount; - } - } - } - - // Copy triangle indices from the read index list to the mesh index vector - aMesh->mIndices.resize(indices.size()); - unsigned int j = 0; - for(list::iterator i = indices.begin(); i != indices.end(); ++ i) - { - aMesh->mIndices[j] = (*i); - ++ j; - } - - // Close the input file - f.close(); - - // Did we get a comment? - if(comment.size() > 0) - aMesh->mComment = comment; -} - -/// Export a mesh to an OFF file. -void Export_OFF(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Open the output file - ofstream f(aFileName, ios::out); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // Mesh information - unsigned int numVertices = (unsigned int) aMesh->mVertices.size(); - unsigned int numFaces = (unsigned int) aMesh->mIndices.size() / 3; - - // Set floating point precision - f << setprecision(8); - - // Write OFF file header ID - f << "OFF" << endl; - - // Write comment - if(aMesh->mComment.size() > 0) - { - stringstream sstr(aMesh->mComment); - sstr.seekg(0); - while(!sstr.eof()) - { - string line; - getline(sstr, line); - line = TrimString(line); - if(line.size() > 0) - f << "# " << line << endl; - } - } - f << endl; - - // Write mesh information - f << numVertices << " " << numFaces << " 0" << endl; - - // Write vertices - bool exportVertexColors = !aOptions.mNoColors && aMesh->HasColors(); - for(unsigned int i = 0; i < numVertices; ++ i) - { - f << aMesh->mVertices[i].x << " " << aMesh->mVertices[i].y << " " << aMesh->mVertices[i].z; - if(exportVertexColors) - f << " " << aMesh->mColors[i].x << " " << aMesh->mColors[i].y << " " << aMesh->mColors[i].z << " " << aMesh->mColors[i].w; - f << endl; - } - - // Write faces - for(unsigned int i = 0; i < numFaces; ++ i) - { - f << "3 " << aMesh->mIndices[i * 3] << " " << - aMesh->mIndices[i * 3 + 1] << " " << - aMesh->mIndices[i * 3 + 2] << endl; - } - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/off.h b/3rdparty/openctm/tools/off.h deleted file mode 100644 index 3ebdd148c..000000000 --- a/3rdparty/openctm/tools/off.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: off.h -// Description: Interface for the OFF file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __OFF_H_ -#define __OFF_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a mesh from an OFF file. -void Import_OFF(const char * aFileName, Mesh * aMesh); - -/// Export a mesh to an OFF file. -void Export_OFF(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __OFF_H_ diff --git a/3rdparty/openctm/tools/phong.frag b/3rdparty/openctm/tools/phong.frag deleted file mode 100644 index e2e989656..000000000 --- a/3rdparty/openctm/tools/phong.frag +++ /dev/null @@ -1,62 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: phong.frag -// Description: GLSL per-pixel phong shader - fragment shader -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -uniform bool uUseTexture; -uniform sampler2D uTex; - -varying vec3 vNormal; -varying vec3 vPos; -varying vec4 vColor; - -void main() -{ - vec3 n = normalize(vNormal); - - // Calculate vertex color (vertex color * texture color) - vec4 color = vColor; - if(uUseTexture) - color *= texture2D(uTex, gl_TexCoord[0].st); - - // Ambient term -// vec4 ambient = color * gl_LightSource[0].ambient; - vec4 ambient = color * gl_LightModel.ambient; - - // Diffuse term - vec3 lightDir = normalize(gl_LightSource[0].position.xyz - vPos); - float NdotL = abs(dot(n, lightDir)); - vec4 diffuse = color * gl_LightSource[0].diffuse * NdotL; - - // Specular term - vec3 rVector = normalize(2.0 * n * dot(n, lightDir) - lightDir); - vec3 viewVector = normalize(-vPos); - float RdotV = dot(rVector, viewVector); - vec4 specular = vec4(0.0); - if(RdotV > 0.0) - specular = vec4(0.4, 0.4, 0.4, 1.0) * gl_LightSource[0].specular * pow(RdotV, 20.0); - - gl_FragColor = ambient + diffuse + specular; -} diff --git a/3rdparty/openctm/tools/phong.vert b/3rdparty/openctm/tools/phong.vert deleted file mode 100644 index cd374a16e..000000000 --- a/3rdparty/openctm/tools/phong.vert +++ /dev/null @@ -1,48 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: phong.vert -// Description: GLSL per-pixel phong shader - vertex shader -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -varying vec3 vNormal; -varying vec3 vPos; -varying vec4 vColor; - -void main() -{ - // Vertex normal - vNormal = normalize(gl_NormalMatrix * gl_Normal); - - // Vertex position in eye coordinates - vPos = vec3(gl_ModelViewMatrix * gl_Vertex); - - // Vertex color (used for the ambient and diffuse terms) - vColor = gl_Color; - - // Texture coordinate - gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; - - // Vertex position in screen coordinates - gl_Position = ftransform(); -} diff --git a/3rdparty/openctm/tools/ply.cpp b/3rdparty/openctm/tools/ply.cpp deleted file mode 100644 index fcbe18d2b..000000000 --- a/3rdparty/openctm/tools/ply.cpp +++ /dev/null @@ -1,320 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ply.cpp -// Description: Implementation of the PLY file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include "common.h" -#include -#include -#include -#include -#include -#include -#include -#include "ply.h" -#include "common.h" - -using namespace std; - -typedef struct { - Mesh * mMesh; - long mFaceIdx; - long mVertexIdx; - long mNormalIdx; - long mTexCoordIdx; - long mColorIdx; -} PLYReaderState; - - -static int PLYFaceCallback(p_ply_argument argument) -{ - PLYReaderState * state; - long dummy, length, valueIndex; - ply_get_argument_user_data(argument, (void **) &state, &dummy); - double value = ply_get_argument_value(argument); - ply_get_argument_property(argument, NULL, &length, &valueIndex); - if((valueIndex >= 0) && (valueIndex <= 2)) - state->mMesh->mIndices[state->mFaceIdx * 3 + valueIndex] = int(value); - if(valueIndex == 2) - ++ state->mFaceIdx; - return 1; -} - -static int PLYVertexCallback(p_ply_argument argument) -{ - PLYReaderState * state; - long index; - ply_get_argument_user_data(argument, (void **) &state, &index); - double value = ply_get_argument_value(argument); - switch(index) - { - case 0: - state->mMesh->mVertices[state->mVertexIdx].x = float(value); - break; - case 1: - state->mMesh->mVertices[state->mVertexIdx].y = float(value); - break; - case 2: - state->mMesh->mVertices[state->mVertexIdx].z = float(value); - ++ state->mVertexIdx; - break; - } - return 1; -} - -static int PLYNormalCallback(p_ply_argument argument) -{ - PLYReaderState * state; - long index; - ply_get_argument_user_data(argument, (void **) &state, &index); - double value = ply_get_argument_value(argument); - switch(index) - { - case 0: - state->mMesh->mNormals[state->mNormalIdx].x = float(value); - break; - case 1: - state->mMesh->mNormals[state->mNormalIdx].y = float(value); - break; - case 2: - state->mMesh->mNormals[state->mNormalIdx].z = float(value); - ++ state->mNormalIdx; - break; - } - return 1; -} - -static int PLYTexCoordCallback(p_ply_argument argument) -{ - PLYReaderState * state; - long index; - ply_get_argument_user_data(argument, (void **) &state, &index); - double value = ply_get_argument_value(argument); - switch(index) - { - case 0: - state->mMesh->mTexCoords[state->mTexCoordIdx].u = float(value); - break; - case 1: - state->mMesh->mTexCoords[state->mTexCoordIdx].v = float(value); - ++ state->mTexCoordIdx; - break; - } - return 1; -} - -static int PLYColorCallback(p_ply_argument argument) -{ - PLYReaderState * state; - long index; - ply_get_argument_user_data(argument, (void **) &state, &index); - double value = ply_get_argument_value(argument); - switch(index) - { - case 0: - state->mMesh->mColors[state->mColorIdx].x = float(value) / 255.0f; - break; - case 1: - state->mMesh->mColors[state->mColorIdx].y = float(value) / 255.0f; - break; - case 2: - state->mMesh->mColors[state->mColorIdx].z = float(value) / 255.0f; - ++ state->mColorIdx; - break; - } - return 1; -} - -/// Import a PLY file from a file. -void Import_PLY(const char * aFileName, Mesh * aMesh) -{ - // Start by ensuring that we use proper locale settings for the file format - setlocale(LC_NUMERIC, "C"); - - // Clear the mesh - aMesh->Clear(); - - // Initialize the state - PLYReaderState state; - state.mMesh = aMesh; - state.mFaceIdx = 0; - state.mVertexIdx = 0; - state.mNormalIdx = 0; - state.mTexCoordIdx = 0; - state.mColorIdx = 0; - - // Open the PLY file - p_ply ply = ply_open(aFileName, NULL); - if(!ply) - throw_runtime_error("Unable to open PLY file."); - if(!ply_read_header(ply)) - throw_runtime_error("Invalid PLY file."); - - // Get the file comment (if any) - bool firstComment = true; - const char * comment = ply_get_next_comment(ply, NULL); - while(comment) - { - if(firstComment) - aMesh->mComment = string(comment); - else - aMesh->mComment += string(" ") + string(comment); - firstComment = false; - comment = ply_get_next_comment(ply, comment); - } - - // Set face callback - long faceCount = ply_set_read_cb(ply, "face", "vertex_indices", PLYFaceCallback, &state, 0); - if(faceCount == 0) - faceCount = ply_set_read_cb(ply, "face", "vertex_index", PLYFaceCallback, &state, 0); - - // Set vertex callback - long vertexCount = ply_set_read_cb(ply, "vertex", "x", PLYVertexCallback, &state, 0); - ply_set_read_cb(ply, "vertex", "y", PLYVertexCallback, &state, 1); - ply_set_read_cb(ply, "vertex", "z", PLYVertexCallback, &state, 2); - - // Set normal callback - long normalCount = ply_set_read_cb(ply, "vertex", "nx", PLYNormalCallback, &state, 0); - ply_set_read_cb(ply, "vertex", "ny", PLYNormalCallback, &state, 1); - ply_set_read_cb(ply, "vertex", "nz", PLYNormalCallback, &state, 2); - - // Set tex coord callback - long texCoordCount = ply_set_read_cb(ply, "vertex", "s", PLYTexCoordCallback, &state, 0); - ply_set_read_cb(ply, "vertex", "t", PLYTexCoordCallback, &state, 1); - - // Set color callback - long colorCount = ply_set_read_cb(ply, "vertex", "red", PLYColorCallback, &state, 0); - ply_set_read_cb(ply, "vertex", "green", PLYColorCallback, &state, 1); - ply_set_read_cb(ply, "vertex", "blue", PLYColorCallback, &state, 2); - - // Sanity check - if((faceCount < 1) || (vertexCount < 1)) - throw_runtime_error("Empty PLY mesh - invalid file format?"); - - // Prepare the mesh - aMesh->mIndices.resize(faceCount * 3); - aMesh->mVertices.resize(vertexCount); - aMesh->mNormals.resize(normalCount); - aMesh->mTexCoords.resize(texCoordCount); - aMesh->mColors.resize(colorCount); - - // Read the PLY file - if(!ply_read(ply)) - throw_runtime_error("Unable to load PLY file."); - - // Close the PLY file - ply_close(ply); -} - -/// Export a PLY file to a file. -void Export_PLY(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Start by ensuring that we use proper locale settings for the file format - setlocale(LC_NUMERIC, "C"); - - // What should we export? - bool exportTexCoords = aMesh->HasTexCoords() && !aOptions.mNoTexCoords; - bool exportNormals = aMesh->HasNormals() && !aOptions.mNoNormals; - bool exportColors = aMesh->HasColors() && !aOptions.mNoColors; - - // Open the output file - ofstream f(aFileName, ios::out | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // Set floating point precision - f << setprecision(8); - - // Write header - f << "ply" << endl; - f << "format ascii 1.0" << endl; - if(aMesh->mComment.size() > 0) - { - stringstream sstr(aMesh->mComment); - sstr.seekg(0); - while(!sstr.eof()) - { - string line; - getline(sstr, line); - line = TrimString(line); - if(line.size() > 0) - f << "comment " << line << endl; - } - } - f << "element vertex " << aMesh->mVertices.size() << endl; - f << "property float x" << endl; - f << "property float y" << endl; - f << "property float z" << endl; - if(exportTexCoords) - { - f << "property float s" << endl; - f << "property float t" << endl; - } - if(exportNormals) - { - f << "property float nx" << endl; - f << "property float ny" << endl; - f << "property float nz" << endl; - } - if(exportColors) - { - f << "property uchar red" << endl; - f << "property uchar green" << endl; - f << "property uchar blue" << endl; - } - f << "element face " << aMesh->mIndices.size() / 3 << endl; - f << "property list uchar int vertex_indices" << endl; - f << "end_header" << endl; - - // Write vertices - for(unsigned int i = 0; i < aMesh->mVertices.size(); ++ i) - { - f << aMesh->mVertices[i].x << " " << - aMesh->mVertices[i].y << " " << - aMesh->mVertices[i].z; - if(exportTexCoords) - f << " " << aMesh->mTexCoords[i].u << " " << - aMesh->mTexCoords[i].v; - if(exportNormals) - f << " " << aMesh->mNormals[i].x << " " << - aMesh->mNormals[i].y << " " << - aMesh->mNormals[i].z; - if(exportColors) - f << " " << int(floorf(255.0f * aMesh->mColors[i].x + 0.5f)) << " " << - int(floorf(255.0f * aMesh->mColors[i].y + 0.5f)) << " " << - int(floorf(255.0f * aMesh->mColors[i].z + 0.5f)); - f << endl; - } - - // Write faces - for(unsigned int i = 0; i < aMesh->mIndices.size() / 3; ++ i) - f << "3 " << aMesh->mIndices[i * 3] << " " << - aMesh->mIndices[i * 3 + 1] << " " << - aMesh->mIndices[i * 3 + 2] << endl; - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/ply.h b/3rdparty/openctm/tools/ply.h deleted file mode 100644 index 1544f5576..000000000 --- a/3rdparty/openctm/tools/ply.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: ply.h -// Description: Interface for the PLY file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __PLY_H_ -#define __PLY_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a PLY file from a file. -void Import_PLY(const char * aFileName, Mesh * aMesh); - -/// Export a PLY file to a file. -void Export_PLY(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __PLY_H_ diff --git a/3rdparty/openctm/tools/pnglite/pnglite.c b/3rdparty/openctm/tools/pnglite/pnglite.c deleted file mode 100644 index f1af9e479..000000000 --- a/3rdparty/openctm/tools/pnglite/pnglite.c +++ /dev/null @@ -1,877 +0,0 @@ -/* pnglite.c - pnglite library - For conditions of distribution and use, see copyright notice in pnglite.h -*/ -#define DO_CRC_CHECKS 1 -#define USE_ZLIB 1 - -#if USE_ZLIB -#include "../zlib/zlib.h" -#else -#include "zlite.h" -#endif - -#include -#include -#include -#include "pnglite.h" - - - -static png_alloc_t png_alloc; -static png_free_t png_free; - -static size_t file_read(png_t* png, void* out, size_t size, size_t numel) -{ - size_t result; - if(png->read_fun) - { - result = png->read_fun(out, size, numel, png->user_pointer); - } - else - { - if(!out) - { - result = fseek(png->user_pointer, (long)(size*numel), SEEK_CUR); - } - else - { - result = fread(out, size, numel, png->user_pointer); - } - } - - return result; -} - -static size_t file_write(png_t* png, void* p, size_t size, size_t numel) -{ - size_t result; - - if(png->write_fun) - { - result = png->write_fun(p, size, numel, png->user_pointer); - } - else - { - result = fwrite(p, size, numel, png->user_pointer); - } - - return result; -} - -static int file_read_ul(png_t* png, unsigned *out) -{ - unsigned char buf[4]; - - if(file_read(png, buf, 1, 4) != 4) - return PNG_FILE_ERROR; - - *out = (buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3]; - - return PNG_NO_ERROR; -} - -static int file_write_ul(png_t* png, unsigned in) -{ - unsigned char buf[4]; - - buf[0] = (in>>24) & 0xff; - buf[1] = (in>>16) & 0xff; - buf[2] = (in>>8) & 0xff; - buf[3] = (in) & 0xff; - - if(file_write(png, buf, 1, 4) != 4) - return PNG_FILE_ERROR; - - return PNG_NO_ERROR; -} - - -static unsigned get_ul(unsigned char* buf) -{ - unsigned result; - unsigned char foo[4]; - - memcpy(foo, buf, 4); - - result = (foo[0]<<24) | (foo[1]<<16) | (foo[2]<<8) | foo[3]; - - return result; -} - -static unsigned set_ul(unsigned char* buf, unsigned in) -{ - buf[0] = (in>>24) & 0xff; - buf[1] = (in>>16) & 0xff; - buf[2] = (in>>8) & 0xff; - buf[3] = (in) & 0xff; - - return PNG_NO_ERROR; -} - -int png_init(png_alloc_t pngalloc, png_free_t pngfree) -{ - if(pngalloc) - png_alloc = pngalloc; - else - png_alloc = &malloc; - - if(pngfree) - png_free = pngfree; - else - png_free = &free; - - return PNG_NO_ERROR; -} - -static int png_get_bpp(png_t* png) -{ - int bpp; - - switch(png->color_type) - { - case PNG_GREYSCALE: - bpp = 1; break; - case PNG_TRUECOLOR: - bpp = 3; break; - case PNG_INDEXED: - bpp = 1; break; - case PNG_GREYSCALE_ALPHA: - bpp = 2; break; - case PNG_TRUECOLOR_ALPHA: - bpp = 4; break; - default: - return PNG_FILE_ERROR; - } - - bpp *= png->depth/8; - - return bpp; -} - -static int png_read_ihdr(png_t* png) -{ - unsigned length; -#if DO_CRC_CHECKS - unsigned orig_crc; - unsigned calc_crc; -#endif - unsigned char ihdr[13+4]; /* length should be 13, make room for type (IHDR) */ - - file_read_ul(png, &length); - - if(length != 13) - { - printf("%d\n", length); - return PNG_CRC_ERROR; - } - - if(file_read(png, ihdr, 1, 13+4) != 13+4) - return PNG_EOF_ERROR; -#if DO_CRC_CHECKS - file_read_ul(png, &orig_crc); - - calc_crc = crc32(0L, 0, 0); - calc_crc = crc32(calc_crc, ihdr, 13+4); - - if(orig_crc != calc_crc) - return PNG_CRC_ERROR; -#else - file_read_ul(png); -#endif - - png->width = get_ul(ihdr+4); - png->height = get_ul(ihdr+8); - png->depth = ihdr[12]; - png->color_type = ihdr[13]; - png->compression_method = ihdr[14]; - png->filter_method = ihdr[15]; - png->interlace_method = ihdr[16]; - - if(png->color_type == PNG_INDEXED) - return PNG_NOT_SUPPORTED; - - if(png->depth != 8 && png->depth != 16) - return PNG_NOT_SUPPORTED; - - if(png->interlace_method) - return PNG_NOT_SUPPORTED; - - return PNG_NO_ERROR; -} - -static int png_write_ihdr(png_t* png) -{ - unsigned char ihdr[13+4]; - unsigned char *p = ihdr; - unsigned crc; - - file_write(png, "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A", 1, 8); - - file_write_ul(png, 13); - - *p = 'I'; p++; - *p = 'H'; p++; - *p = 'D'; p++; - *p = 'R'; p++; - set_ul(p, png->width); p+=4; - set_ul(p, png->height); p+=4; - *p = png->depth; p++; - *p = png->color_type; p++; - *p = 0; p++; - *p = 0; p++; - *p = 0; p++; - - file_write(png, ihdr, 1, 13+4); - - crc = crc32(0L, 0, 0); - crc = crc32(crc, ihdr, 13+4); - - file_write_ul(png, crc); - - return PNG_NO_ERROR; -} - -void png_print_info(png_t* png) -{ - printf("PNG INFO:\n"); - printf("\twidth:\t\t%d\n", png->width); - printf("\theight:\t\t%d\n", png->height); - printf("\tdepth:\t\t%d\n", png->depth); - printf("\tcolor:\t\t"); - - switch(png->color_type) - { - case PNG_GREYSCALE: printf("greyscale\n"); break; - case PNG_TRUECOLOR: printf("truecolor\n"); break; - case PNG_INDEXED: printf("palette\n"); break; - case PNG_GREYSCALE_ALPHA: printf("greyscale with alpha\n"); break; - case PNG_TRUECOLOR_ALPHA: printf("truecolor with alpha\n"); break; - default: printf("unknown, this is not good\n"); break; - } - - printf("\tcompression:\t%s\n", png->compression_method?"unknown, this is not good":"inflate/deflate"); - printf("\tfilter:\t\t%s\n", png->filter_method?"unknown, this is not good":"adaptive"); - printf("\tinterlace:\t%s\n", png->interlace_method?"interlace":"no interlace"); -} - -int png_open_read(png_t* png, png_read_callback_t read_fun, void* user_pointer) -{ - char header[8]; - int result; - - png->read_fun = read_fun; - png->write_fun = 0; - png->user_pointer = user_pointer; - - if(!read_fun && !user_pointer) - return PNG_WRONG_ARGUMENTS; - - if(file_read(png, header, 1, 8) != 8) - return PNG_EOF_ERROR; - - if(memcmp(header, "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A", 8) != 0) - return PNG_HEADER_ERROR; - - result = png_read_ihdr(png); - - png->bpp = (unsigned char)png_get_bpp(png); - - return result; -} - -int png_open_write(png_t* png, png_write_callback_t write_fun, void* user_pointer) -{ - png->write_fun = write_fun; - png->read_fun = 0; - png->user_pointer = user_pointer; - - if(!write_fun && !user_pointer) - return PNG_WRONG_ARGUMENTS; - - return PNG_NO_ERROR; -} - -int png_open(png_t* png, png_read_callback_t read_fun, void* user_pointer) -{ - return png_open_read(png, read_fun, user_pointer); -} - -int png_open_file_read(png_t *png, const char* filename) -{ - FILE* fp = fopen(filename, "rb"); - - if(!fp) - return PNG_FILE_ERROR; - - return png_open_read(png, 0, fp); -} - -int png_open_file_write(png_t *png, const char* filename) -{ - FILE* fp = fopen(filename, "wb"); - - if(!fp) - return PNG_FILE_ERROR; - - return png_open_write(png, 0, fp); -} - -int png_open_file(png_t *png, const char* filename) -{ - return png_open_file_read(png, filename); -} - -int png_close_file(png_t* png) -{ - fclose(png->user_pointer); - - return PNG_NO_ERROR; -} - -static int png_init_deflate(png_t* png, unsigned char* data, int datalen) -{ - z_stream *stream; - png->zs = png_alloc(sizeof(z_stream)); - - stream = png->zs; - - if(!stream) - return PNG_MEMORY_ERROR; - - memset(stream, 0, sizeof(z_stream)); - - if(deflateInit(stream, Z_DEFAULT_COMPRESSION) != Z_OK) - return PNG_ZLIB_ERROR; - - stream->next_in = data; - stream->avail_in = datalen; - - return PNG_NO_ERROR; -} - -static int png_init_inflate(png_t* png) -{ -#if USE_ZLIB - z_stream *stream; - png->zs = png_alloc(sizeof(z_stream)); -#else - zl_stream *stream; - png->zs = png_alloc(sizeof(zl_stream)); -#endif - - stream = png->zs; - - if(!stream) - return PNG_MEMORY_ERROR; - - - -#if USE_ZLIB - memset(stream, 0, sizeof(z_stream)); - if(inflateInit(stream) != Z_OK) - return PNG_ZLIB_ERROR; -#else - memset(stream, 0, sizeof(zl_stream)); - if(z_inflateInit(stream) != Z_OK) - return PNG_ZLIB_ERROR; -#endif - - stream->next_out = png->png_data; - stream->avail_out = png->png_datalen; - - return PNG_NO_ERROR; -} - -static int png_end_deflate(png_t* png) -{ - z_stream *stream = png->zs; - - if(!stream) - return PNG_MEMORY_ERROR; - - deflateEnd(stream); - - png_free(png->zs); - - return PNG_NO_ERROR; -} - -static int png_end_inflate(png_t* png) -{ -#if USE_ZLIB - z_stream *stream = png->zs; -#else - zl_stream *stream = png->zs; -#endif - - if(!stream) - return PNG_MEMORY_ERROR; - -#if USE_ZLIB - if(inflateEnd(stream) != Z_OK) -#else - if(z_inflateEnd(stream) != Z_OK) -#endif - { - printf("ZLIB says: %s\n", stream->msg); - return PNG_ZLIB_ERROR; - } - - png_free(png->zs); - - return PNG_NO_ERROR; -} - -static int png_inflate(png_t* png, char* data, int len) -{ - int result; -#if USE_ZLIB - z_stream *stream = png->zs; -#else - zl_stream *stream = png->zs; -#endif - - if(!stream) - return PNG_MEMORY_ERROR; - - stream->next_in = (unsigned char*)data; - stream->avail_in = len; - -#if USE_ZLIB - result = inflate(stream, Z_SYNC_FLUSH); -#else - result = z_inflate(stream); -#endif - - if(result != Z_STREAM_END && result != Z_OK) - { - printf("%s\n", stream->msg); - return PNG_ZLIB_ERROR; - } - - if(stream->avail_in != 0) - return PNG_ZLIB_ERROR; - - return PNG_NO_ERROR; -} - -static int png_deflate(png_t* png, char* outdata, int outlen, int *outwritten) -{ - int result; - - z_stream *stream = png->zs; - - - if(!stream) - return PNG_MEMORY_ERROR; - - stream->next_out = (unsigned char*)outdata; - stream->avail_out = outlen; - - result = deflate(stream, Z_SYNC_FLUSH); - - *outwritten = outlen - stream->avail_out; - - if(result != Z_STREAM_END && result != Z_OK) - { - printf("%s\n", stream->msg); - return PNG_ZLIB_ERROR; - } - - return result; -} - -static int png_write_idats(png_t* png, unsigned char* data) -{ - unsigned char *chunk; - unsigned long written; - unsigned long crc; - unsigned size = png->width * png->height * png->bpp + png->height; - - (void)png_init_deflate; - (void)png_end_deflate; - (void)png_deflate; - - chunk = png_alloc(size); - memcpy(chunk, "IDAT", 4); - - written = size; - compress(chunk+4, &written, data, size); - - crc = crc32(0L, Z_NULL, 0); - crc = crc32(crc, chunk, written+4); - set_ul(chunk+written+4, crc); - file_write_ul(png, written); - file_write(png, chunk, 1, written+8); - png_free(chunk); - - file_write_ul(png, 0); - file_write(png, "IEND", 1, 4); - crc = crc32(0L, (const unsigned char *)"IEND", 4); - file_write_ul(png, crc); - - return PNG_NO_ERROR; -} - -static int png_read_idat(png_t* png, unsigned firstlen) -{ - unsigned type = 0; - char *chunk; - int result; - unsigned length = firstlen; - unsigned old_len = length; - -#if DO_CRC_CHECKS - unsigned orig_crc; - unsigned calc_crc; -#endif - - chunk = png_alloc(firstlen); - - result = png_init_inflate(png); - - if(result != PNG_NO_ERROR) - { - png_end_inflate(png); - png_free(chunk); - return result; - } - - do - { - if(file_read(png, chunk, 1, length) != length) - { - png_end_inflate(png); - png_free(chunk); - return PNG_FILE_ERROR; - } - -#if DO_CRC_CHECKS - calc_crc = crc32(0L, Z_NULL, 0); - calc_crc = crc32(calc_crc, (unsigned char*)"IDAT", 4); - calc_crc = crc32(calc_crc, (unsigned char*)chunk, length); - - file_read_ul(png, &orig_crc); - - if(orig_crc != calc_crc) - { - result = PNG_CRC_ERROR; - break; - } -#else - file_read_ul(png); -#endif - - result = png_inflate(png, chunk, length); - - if(result != PNG_NO_ERROR) break; - - file_read_ul(png, &length); - - if(length > old_len) - { - png_free(chunk); - chunk = png_alloc(length); - old_len = length; - } - - if(file_read(png, &type, 1, 4) != 4) - { - result = PNG_FILE_ERROR; - break; - } - - }while(type == *(unsigned int*)"IDAT"); - - if(type == *(unsigned int*)"IEND") - result = PNG_DONE; - - png_free(chunk); - png_end_inflate(png); - - return result; -} - -static int png_process_chunk(png_t* png) -{ - int result = PNG_NO_ERROR; - unsigned type; - unsigned length; - - file_read_ul(png, &length); - - if(file_read(png, &type, 1, 4) != 4) - return PNG_FILE_ERROR; - - if(type == *(unsigned int*)"IDAT") /* if we found an idat, all other idats should be followed with no other chunks in between */ - { - png->png_datalen = png->width * png->height * png->bpp + png->height; - png->png_data = png_alloc(png->png_datalen); - - if(!png->png_data) - return PNG_MEMORY_ERROR; - - return png_read_idat(png, length); - } - else if(type == *(unsigned int*)"IEND") - { - return PNG_DONE; - } - else - { - file_read(png, 0, 1, length + 4); /* unknown chunk */ - } - - return result; -} - -static void png_filter_sub(int stride, unsigned char* in, unsigned char* out, int len) -{ - int i; - unsigned char a = 0; - - for(i = 0; i < len; i++) - { - if(i >= stride) - a = out[i - stride]; - - out[i] = in[i] + a; - } -} - -static void png_filter_up(int stride, unsigned char* in, unsigned char* out, unsigned char* prev_line, int len) -{ - int i; - - if(prev_line) - { - for(i = 0; i < len; i++) - out[i] = in[i] + prev_line[i]; - } - else - memcpy(out, in, len); -} - -static void png_filter_average(int stride, unsigned char* in, unsigned char* out, unsigned char* prev_line, int len) -{ - int i; - unsigned char a = 0; - unsigned char b = 0; - unsigned int sum = 0; - - for(i = 0; i < len; i++) - { - if(prev_line) - b = prev_line[i]; - - if(i >= stride) - a = out[i - stride]; - - sum = a; - sum += b; - - out[i] = (char)(in[i] + sum/2); - } -} - -static unsigned char png_paeth(unsigned char a, unsigned char b, unsigned char c) -{ - int p = (int)a + b - c; - int pa = abs(p - a); - int pb = abs(p - b); - int pc = abs(p - c); - - int pr; - - if(pa <= pb && pa <= pc) - pr = a; - else if(pb <= pc) - pr = b; - else - pr = c; - - return (char)pr; -} - -static void png_filter_paeth(int stride, unsigned char* in, unsigned char* out, unsigned char* prev_line, int len) -{ - int i; - unsigned char a; - unsigned char b; - unsigned char c; - - for(i = 0; i < len; i++) - { - if(prev_line && i >= stride) - { - a = out[i - stride]; - b = prev_line[i]; - c = prev_line[i - stride]; - } - else - { - if(prev_line) - b = prev_line[i]; - else - b = 0; - - if(i >= stride) - a = out[i - stride]; - else - a = 0; - - c = 0; - } - - out[i] = in[i] + png_paeth(a, b, c); - } -} - -static int png_filter(png_t* png, unsigned char* data) -{ - - - return PNG_NO_ERROR; -} - -static int png_unfilter(png_t* png, unsigned char* data) -{ - unsigned i; - unsigned pos = 0; - unsigned outpos = 0; - unsigned char *filtered = png->png_data; - - int stride = png->bpp; - - while(pos < png->png_datalen) - { - unsigned char filter = filtered[pos]; - - pos++; - - if(png->depth == 16) - { - for(i = 0; i < png->width * stride; i+=2) - { - *(short*)(filtered+pos+i) = (filtered[pos+i] << 8) | filtered[pos+i+1]; - } - } - - switch(filter) - { - case 0: /* none */ - memcpy(data+outpos, filtered+pos, png->width * stride); - break; - case 1: /* sub */ - png_filter_sub(stride, filtered+pos, data+outpos, png->width * stride); - break; - case 2: /* up */ - if(outpos) - png_filter_up(stride, filtered+pos, data+outpos, data + outpos - (png->width*stride), png->width*stride); - else - png_filter_up(stride, filtered+pos, data+outpos, 0, png->width*stride); - break; - case 3: /* average */ - if(outpos) - png_filter_average(stride, filtered+pos, data+outpos, data + outpos - (png->width*stride), png->width*stride); - else - png_filter_average(stride, filtered+pos, data+outpos, 0, png->width*stride); - break; - case 4: /* paeth */ - if(outpos) - png_filter_paeth(stride, filtered+pos, data+outpos, data + outpos - (png->width*stride), png->width*stride); - else - png_filter_paeth(stride, filtered+pos, data+outpos, 0, png->width*stride); - break; - default: - return PNG_UNKNOWN_FILTER; - } - - outpos += png->width * stride; - pos += png->width * stride; - } - - return PNG_NO_ERROR; -} - -int png_get_data(png_t* png, unsigned char* data) -{ - int result = PNG_NO_ERROR; - - while(result == PNG_NO_ERROR) - { - result = png_process_chunk(png); - } - - if(result != PNG_DONE) - { - png_free(png->png_data); - return result; - } - - result = png_unfilter(png, data); - - png_free(png->png_data); - - return result; -} - -int png_set_data(png_t* png, unsigned width, unsigned height, char depth, int color, unsigned char* data) -{ - int i; - unsigned char *filtered; - png->width = width; - png->height = height; - png->depth = depth; - png->color_type = color; - png->bpp = png_get_bpp(png); - - filtered = png_alloc(width * height * png->bpp + height); - - for(i = 0; i < png->height; i++) - { - filtered[i*png->width*png->bpp+i] = 0; - memcpy(&filtered[i*png->width*png->bpp+i+1], data + i * png->width*png->bpp, png->width*png->bpp); - } - - png_filter(png, filtered); - png_write_ihdr(png); - png_write_idats(png, filtered); - - png_free(filtered); - return PNG_NO_ERROR; -} - - -char* png_error_string(int error) -{ - switch(error) - { - case PNG_NO_ERROR: - return "No error"; - case PNG_FILE_ERROR: - return "Unknown file error."; - case PNG_HEADER_ERROR: - return "No PNG header found. Are you sure this is a PNG?"; - case PNG_IO_ERROR: - return "Failure while reading file."; - case PNG_EOF_ERROR: - return "Reached end of file."; - case PNG_CRC_ERROR: - return "CRC or chunk length error."; - case PNG_MEMORY_ERROR: - return "Could not allocate memory."; - case PNG_ZLIB_ERROR: - return "zlib reported an error."; - case PNG_UNKNOWN_FILTER: - return "Unknown filter method used in scanline."; - case PNG_DONE: - return "PNG done"; - case PNG_NOT_SUPPORTED: - return "The PNG is unsupported by pnglite, too bad for you!"; - case PNG_WRONG_ARGUMENTS: - return "Wrong combination of arguments passed to png_open. You must use either a read_function or supply a file pointer to use."; - default: - return "Unknown error."; - }; -} diff --git a/3rdparty/openctm/tools/pnglite/pnglite.h b/3rdparty/openctm/tools/pnglite/pnglite.h deleted file mode 100644 index f464c46be..000000000 --- a/3rdparty/openctm/tools/pnglite/pnglite.h +++ /dev/null @@ -1,227 +0,0 @@ -/* pnglite.h - Interface for pnglite library - Copyright (c) 2007 Daniel Karling - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. - - Daniel Karling - daniel.karling@gmail.com - */ - - -#ifndef _PNGLITE_H_ -#define _PNGLITE_H_ - -#ifdef __cplusplus -extern "C"{ -#endif - -/* - Enumerations for pnglite. - Negative numbers are error codes and 0 and up are okay responses. -*/ - -enum -{ - PNG_DONE = 1, - PNG_NO_ERROR = 0, - PNG_FILE_ERROR = -1, - PNG_HEADER_ERROR = -2, - PNG_IO_ERROR = -3, - PNG_EOF_ERROR = -4, - PNG_CRC_ERROR = -5, - PNG_MEMORY_ERROR = -6, - PNG_ZLIB_ERROR = -7, - PNG_UNKNOWN_FILTER = -8, - PNG_NOT_SUPPORTED = -9, - PNG_WRONG_ARGUMENTS = -10 -}; - -/* - The five different kinds of color storage in PNG files. -*/ - -enum -{ - PNG_GREYSCALE = 0, - PNG_TRUECOLOR = 2, - PNG_INDEXED = 3, - PNG_GREYSCALE_ALPHA = 4, - PNG_TRUECOLOR_ALPHA = 6 -}; - -/* - Typedefs for callbacks. -*/ - -typedef unsigned (*png_write_callback_t)(void* input, size_t size, size_t numel, void* user_pointer); -typedef unsigned (*png_read_callback_t)(void* output, size_t size, size_t numel, void* user_pointer); -typedef void (*png_free_t)(void* p); -typedef void * (*png_alloc_t)(size_t s); - -typedef struct -{ - void* zs; /* pointer to z_stream */ - png_read_callback_t read_fun; - png_write_callback_t write_fun; - void* user_pointer; - - unsigned char* png_data; - unsigned png_datalen; - - unsigned width; - unsigned height; - unsigned char depth; - unsigned char color_type; - unsigned char compression_method; - unsigned char filter_method; - unsigned char interlace_method; - unsigned char bpp; -}png_t; - -/* - Function: png_init - - This function initializes pnglite. The parameters can be used to set your own memory allocation routines following these formats: - - > void* (*custom_alloc)(size_t s) - > void (*custom_free)(void* p) - Parameters: - pngalloc - Pointer to custom allocation routine. If 0 is passed, malloc from libc will be used. - pngfree - Pointer to custom free routine. If 0 is passed, free from libc will be used. - - Returns: - Always returns PNG_NO_ERROR. -*/ - -int png_init(png_alloc_t pngalloc, png_free_t pngfree); - -/* - Function: png_open_file - - This function is used to open a png file with the internal file IO system. This function should be used instead of - png_open if no custom read function is used. - - Parameters: - png - Empty png_t struct. - filename - Filename of the file to be opened. - - Returns: - PNG_NO_ERROR on success, otherwise an error code. -*/ - -int png_open_file(png_t *png, const char* filename); - -int png_open_file_read(png_t *png, const char* filename); -int png_open_file_write(png_t *png, const char* filename); - -/* - Function: png_open - - This function reads or writes a png from/to the specified callback. The callbacks should be of the format: - - > size_t (*png_write_callback_t)(void* input, size_t size, size_t numel, void* user_pointer); - > size_t (*png_read_callback_t)(void* output, size_t size, size_t numel, void* user_pointer). - - Only one callback has to be specified. The read callback in case of PNG reading, otherwise the write callback. - - Writing: - The callback will be called like fwrite. - - Reading: - The callback will be called each time pnglite needs more data. The callback should read as much data as requested, - or return 0. This should always be possible if the PNG is sane. If the output-buffer is a null-pointer the callback - should only skip ahead the specified number of elements. If the callback is a null-pointer the user_pointer will be - treated as a file pointer (use png_open_file instead). - - Parameters: - png - png_t struct - read_fun - Callback function for reading. - user_pointer - User pointer to be passed to read_fun. - - Returns: - PNG_NO_ERROR on success, otherwise an error code. -*/ - -int png_open(png_t* png, png_read_callback_t read_fun, void* user_pointer); - -int png_open_read(png_t* png, png_read_callback_t read_fun, void* user_pointer); -int png_open_write(png_t* png, png_write_callback_t write_fun, void* user_pointer); - -/* - Function: png_print_info - - This function prints some info about the opened png file to stdout. - - Parameters: - png - png struct to get info from. -*/ - -void png_print_info(png_t* png); - -/* - Function: png_error_string - - This function translates an error code to a human readable string. - - Parameters: - error - Error code. - - Returns: - Pointer to string. -*/ - -char* png_error_string(int error); - -/* - Function: png_get_data - - This function decodes the opened png file and stores the result in data. data should be big enough to hold the decoded png. Required size will be: - - > width*height*(bytes per pixel) - - Parameters: - data - Where to store result. - - Returns: - PNG_NO_ERROR on success, otherwise an error code. -*/ - -int png_get_data(png_t* png, unsigned char* data); - -int png_set_data(png_t* png, unsigned width, unsigned height, char depth, int color, unsigned char* data); - -/* - Function: png_close_file - - Closes an open png file pointer. Should only be used when the png has been opened with png_open_file. - - Parameters: - png - png to close. - - Returns: - PNG_NO_ERROR -*/ - -int png_close_file(png_t* png); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/3rdparty/openctm/tools/rply/LICENSE b/3rdparty/openctm/tools/rply/LICENSE deleted file mode 100644 index 02e7c5f38..000000000 --- a/3rdparty/openctm/tools/rply/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -RPly 1.01 license -Copyright © 2003-2005 Diego Nehab. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/3rdparty/openctm/tools/rply/rply.c b/3rdparty/openctm/tools/rply/rply.c deleted file mode 100644 index 369c23525..000000000 --- a/3rdparty/openctm/tools/rply/rply.c +++ /dev/null @@ -1,1497 +0,0 @@ -/* ---------------------------------------------------------------------- - * RPly library, read/write PLY files - * Diego Nehab, Princeton University - * http://www.cs.princeton.edu/~diego/professional/rply - * - * This library is distributed under the MIT License. See notice - * at the end of this file. - * ---------------------------------------------------------------------- */ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rply.h" - -/* ---------------------------------------------------------------------- - * Constants - * ---------------------------------------------------------------------- */ -#define WORDSIZE 256 -#define LINESIZE 1024 -#define BUFFERSIZE (8*1024) - -typedef enum e_ply_io_mode_ { - PLY_READ, - PLY_WRITE -} e_ply_io_mode; - -static const char *const ply_storage_mode_list[] = { - "binary_big_endian", "binary_little_endian", "ascii", NULL -}; /* order matches e_ply_storage_mode enum */ - -static const char *const ply_type_list[] = { - "int8", "uint8", "int16", "uint16", - "int32", "uint32", "float32", "float64", - "char", "uchar", "short", "ushort", - "int", "uint", "float", "double", - "list", NULL -}; /* order matches e_ply_type enum */ - -/* ---------------------------------------------------------------------- - * Property reading callback argument - * - * element: name of element being processed - * property: name of property being processed - * nelements: number of elements of this kind in file - * instance_index: index current element of this kind being processed - * length: number of values in current list (or 1 for scalars) - * value_index: index of current value int this list (or 0 for scalars) - * value: value of property - * pdata/idata: user data defined with ply_set_cb - * - * Returns handle to ply file if succesful, NULL otherwise. - * ---------------------------------------------------------------------- */ -typedef struct t_ply_argument_ { - p_ply_element element; - long instance_index; - p_ply_property property; - long length, value_index; - double value; - void *pdata; - long idata; -} t_ply_argument; - -/* ---------------------------------------------------------------------- - * Property information - * - * name: name of this property - * type: type of this property (list or type of scalar value) - * length_type, value_type: type of list property count and values - * read_cb: function to be called when this property is called - * - * Returns 1 if should continue processing file, 0 if should abort. - * ---------------------------------------------------------------------- */ -typedef struct t_ply_property_ { - char name[WORDSIZE]; - e_ply_type type, value_type, length_type; - p_ply_read_cb read_cb; - void *pdata; - long idata; -} t_ply_property; - -/* ---------------------------------------------------------------------- - * Element information - * - * name: name of this property - * ninstances: number of elements of this type in file - * property: property descriptions for this element - * nproperty: number of properties in this element - * - * Returns 1 if should continue processing file, 0 if should abort. - * ---------------------------------------------------------------------- */ -typedef struct t_ply_element_ { - char name[WORDSIZE]; - long ninstances; - p_ply_property property; - long nproperties; -} t_ply_element; - -/* ---------------------------------------------------------------------- - * Input/output driver - * - * Depending on file mode, different functions are used to read/write - * property fields. The drivers make it transparent to read/write in ascii, - * big endian or little endian cases. - * ---------------------------------------------------------------------- */ -typedef int (*p_ply_ihandler)(p_ply ply, double *value); -typedef int (*p_ply_ichunk)(p_ply ply, void *anydata, size_t size); -typedef struct t_ply_idriver_ { - p_ply_ihandler ihandler[16]; - p_ply_ichunk ichunk; - const char *name; -} t_ply_idriver; -typedef t_ply_idriver *p_ply_idriver; - -typedef int (*p_ply_ohandler)(p_ply ply, double value); -typedef int (*p_ply_ochunk)(p_ply ply, void *anydata, size_t size); -typedef struct t_ply_odriver_ { - p_ply_ohandler ohandler[16]; - p_ply_ochunk ochunk; - const char *name; -} t_ply_odriver; -typedef t_ply_odriver *p_ply_odriver; - -/* ---------------------------------------------------------------------- - * Ply file handle. - * - * io_mode: read or write (from e_ply_io_mode) - * storage_mode: mode of file associated with handle (from e_ply_storage_mode) - * element: elements description for this file - * nelement: number of different elements in file - * comment: comments for this file - * ncomments: number of comments in file - * obj_info: obj_info items for this file - * nobj_infos: number of obj_info items in file - * fp: file pointer associated with ply file - * c: last character read from ply file - * buffer: last word/chunck of data read from ply file - * buffer_first, buffer_last: interval of untouched good data in buffer - * buffer_token: start of parsed token (line or word) in buffer - * idriver, odriver: input driver used to get property fields from file - * argument: storage space for callback arguments - * welement, wproperty: element/property type being written - * winstance_index: index of instance of current element being written - * wvalue_index: index of list property value being written - * wlength: number of values in list property being written - * error_cb: callback for error messages - * ---------------------------------------------------------------------- */ -typedef struct t_ply_ { - e_ply_io_mode io_mode; - e_ply_storage_mode storage_mode; - p_ply_element element; - long nelements; - char *comment; - long ncomments; - char *obj_info; - long nobj_infos; - FILE *fp; - int c; - char buffer[BUFFERSIZE]; - size_t buffer_first, buffer_token, buffer_last; - p_ply_idriver idriver; - p_ply_odriver odriver; - t_ply_argument argument; - long welement, wproperty; - long winstance_index, wvalue_index, wlength; - p_ply_error_cb error_cb; -} t_ply; - -/* ---------------------------------------------------------------------- - * I/O functions and drivers - * ---------------------------------------------------------------------- */ -static t_ply_idriver ply_idriver_ascii; -static t_ply_idriver ply_idriver_binary; -static t_ply_idriver ply_idriver_binary_reverse; -static t_ply_odriver ply_odriver_ascii; -static t_ply_odriver ply_odriver_binary; -static t_ply_odriver ply_odriver_binary_reverse; - -static int ply_read_word(p_ply ply); -static int ply_check_word(p_ply ply); -static int ply_read_line(p_ply ply); -static int ply_check_line(p_ply ply); -static int ply_read_chunk(p_ply ply, void *anybuffer, size_t size); -static int ply_read_chunk_reverse(p_ply ply, void *anybuffer, size_t size); -static int ply_write_chunk(p_ply ply, void *anybuffer, size_t size); -static int ply_write_chunk_reverse(p_ply ply, void *anybuffer, size_t size); -static void ply_reverse(void *anydata, size_t size); - -/* ---------------------------------------------------------------------- - * String functions - * ---------------------------------------------------------------------- */ -static int ply_find_string(const char *item, const char* const list[]); -static p_ply_element ply_find_element(p_ply ply, const char *name); -static p_ply_property ply_find_property(p_ply_element element, - const char *name); - -/* ---------------------------------------------------------------------- - * Header parsing - * ---------------------------------------------------------------------- */ -static int ply_read_header_format(p_ply ply); -static int ply_read_header_comment(p_ply ply); -static int ply_read_header_obj_info(p_ply ply); -static int ply_read_header_property(p_ply ply); -static int ply_read_header_element(p_ply ply); - -/* ---------------------------------------------------------------------- - * Error handling - * ---------------------------------------------------------------------- */ -static void ply_error_cb(const char *message); -static void ply_error(p_ply ply, const char *fmt, ...); - -/* ---------------------------------------------------------------------- - * Memory allocation and initialization - * ---------------------------------------------------------------------- */ -static void ply_init(p_ply ply); -static void ply_element_init(p_ply_element element); -static void ply_property_init(p_ply_property property); -static p_ply ply_alloc(void); -static p_ply_element ply_grow_element(p_ply ply); -static p_ply_property ply_grow_property(p_ply ply, p_ply_element element); -static void *ply_grow_array(p_ply ply, void **pointer, long *nmemb, long size); - -/* ---------------------------------------------------------------------- - * Special functions - * ---------------------------------------------------------------------- */ -static e_ply_storage_mode ply_arch_endian(void); -static int ply_type_check(void); - -/* ---------------------------------------------------------------------- - * Auxiliary read functions - * ---------------------------------------------------------------------- */ -static int ply_read_element(p_ply ply, p_ply_element element, - p_ply_argument argument); -static int ply_read_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument); -static int ply_read_list_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument); -static int ply_read_scalar_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument); - - -/* ---------------------------------------------------------------------- - * Buffer support functions - * ---------------------------------------------------------------------- */ -/* pointers to tokenized word and line in buffer */ -#define BWORD(p) (p->buffer + p->buffer_token) -#define BLINE(p) (p->buffer + p->buffer_token) - -/* pointer to start of untouched bytes in buffer */ -#define BFIRST(p) (p->buffer + p->buffer_first) - -/* number of bytes untouched in buffer */ -#define BSIZE(p) (p->buffer_last - p->buffer_first) - -/* consumes data from buffer */ -#define BSKIP(p, s) (p->buffer_first += s) - -/* refills the buffer */ -static int BREFILL(p_ply ply) { - /* move untouched data to beginning of buffer */ - size_t size = BSIZE(ply); - memmove(ply->buffer, BFIRST(ply), size); - ply->buffer_last = size; - ply->buffer_first = ply->buffer_token = 0; - /* fill remaining with new data */ - size = fread(ply->buffer+size, 1, BUFFERSIZE-size-1, ply->fp); - /* place sentinel so we can use str* functions with buffer */ - ply->buffer[BUFFERSIZE-1] = '\0'; - /* check if read failed */ - if (size <= 0) return 0; - /* increase size to account for new data */ - ply->buffer_last += size; - return 1; -} - -/* ---------------------------------------------------------------------- - * Exported functions - * ---------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - * Read support functions - * ---------------------------------------------------------------------- */ -p_ply ply_open(const char *name, p_ply_error_cb error_cb) { - char magic[5] = " "; - FILE *fp = NULL; - p_ply ply = NULL; - if (error_cb == NULL) error_cb = ply_error_cb; - if (!ply_type_check()) { - error_cb("Incompatible type system"); - return NULL; - } - assert(name); - fp = fopen(name, "rb"); - if (!fp) { - error_cb("Unable to open file"); - return NULL; - } - if (fread(magic, 1, 4, fp) < 4) { - error_cb("Error reading from file"); - fclose(fp); - return NULL; - } - if (strcmp(magic, "ply\n")) { - fclose(fp); - error_cb("Not a PLY file. Expected magic number 'ply\\n'"); - return NULL; - } - ply = ply_alloc(); - if (!ply) { - error_cb("Out of memory"); - fclose(fp); - return NULL; - } - ply->fp = fp; - ply->io_mode = PLY_READ; - ply->error_cb = error_cb; - return ply; -} - -int ply_read_header(p_ply ply) { - assert(ply && ply->fp && ply->io_mode == PLY_READ); - if (!ply_read_word(ply)) return 0; - /* parse file format */ - if (!ply_read_header_format(ply)) { - ply_error(ply, "Invalid file format"); - return 0; - } - /* parse elements, comments or obj_infos until the end of header */ - while (strcmp(BWORD(ply), "end_header")) { - if (!ply_read_header_comment(ply) && - !ply_read_header_element(ply) && - !ply_read_header_obj_info(ply)) { - ply_error(ply, "Unexpected token '%s'", BWORD(ply)); - return 0; - } - } - return 1; -} - -long ply_set_read_cb(p_ply ply, const char *element_name, - const char* property_name, p_ply_read_cb read_cb, - void *pdata, long idata) { - p_ply_element element = NULL; - p_ply_property property = NULL; - assert(ply && element_name && property_name); - element = ply_find_element(ply, element_name); - if (!element) return 0; - property = ply_find_property(element, property_name); - if (!property) return 0; - property->read_cb = read_cb; - property->pdata = pdata; - property->idata = idata; - return (int) element->ninstances; -} - -int ply_read(p_ply ply) { - long i; - p_ply_argument argument; - assert(ply && ply->fp && ply->io_mode == PLY_READ); - argument = &ply->argument; - /* for each element type */ - for (i = 0; i < ply->nelements; i++) { - p_ply_element element = &ply->element[i]; - argument->element = element; - if (!ply_read_element(ply, element, argument)) - return 0; - } - return 1; -} - -/* ---------------------------------------------------------------------- - * Write support functions - * ---------------------------------------------------------------------- */ -p_ply ply_create(const char *name, e_ply_storage_mode storage_mode, - p_ply_error_cb error_cb) { - FILE *fp = NULL; - p_ply ply = NULL; - if (error_cb == NULL) error_cb = ply_error_cb; - if (!ply_type_check()) { - error_cb("Incompatible type system"); - return NULL; - } - assert(name && storage_mode <= PLY_DEFAULT); - fp = fopen(name, "wb"); - if (!fp) { - error_cb("Unable to create file"); - return NULL; - } - ply = ply_alloc(); - if (!ply) { - fclose(fp); - error_cb("Out of memory"); - return NULL; - } - ply->io_mode = PLY_WRITE; - if (storage_mode == PLY_DEFAULT) storage_mode = ply_arch_endian(); - if (storage_mode == PLY_ASCII) ply->odriver = &ply_odriver_ascii; - else if (storage_mode == ply_arch_endian()) - ply->odriver = &ply_odriver_binary; - else ply->odriver = &ply_odriver_binary_reverse; - ply->storage_mode = storage_mode; - ply->fp = fp; - ply->error_cb = error_cb; - return ply; -} - -int ply_add_element(p_ply ply, const char *name, long ninstances) { - p_ply_element element = NULL; - assert(ply && ply->fp && ply->io_mode == PLY_WRITE); - assert(name && strlen(name) < WORDSIZE && ninstances >= 0); - if (strlen(name) >= WORDSIZE || ninstances < 0) { - ply_error(ply, "Invalid arguments"); - return 0; - } - element = ply_grow_element(ply); - if (!element) return 0; - strcpy(element->name, name); - element->ninstances = ninstances; - return 1; -} - -int ply_add_scalar_property(p_ply ply, const char *name, e_ply_type type) { - p_ply_element element = NULL; - p_ply_property property = NULL; - assert(ply && ply->fp && ply->io_mode == PLY_WRITE); - assert(name && strlen(name) < WORDSIZE); - assert(type < PLY_LIST); - if (strlen(name) >= WORDSIZE || type >= PLY_LIST) { - ply_error(ply, "Invalid arguments"); - return 0; - } - element = &ply->element[ply->nelements-1]; - property = ply_grow_property(ply, element); - if (!property) return 0; - strcpy(property->name, name); - property->type = type; - return 1; -} - -int ply_add_list_property(p_ply ply, const char *name, - e_ply_type length_type, e_ply_type value_type) { - p_ply_element element = NULL; - p_ply_property property = NULL; - assert(ply && ply->fp && ply->io_mode == PLY_WRITE); - assert(name && strlen(name) < WORDSIZE); - if (strlen(name) >= WORDSIZE) { - ply_error(ply, "Invalid arguments"); - return 0; - } - assert(length_type < PLY_LIST); - assert(value_type < PLY_LIST); - if (length_type >= PLY_LIST || value_type >= PLY_LIST) { - ply_error(ply, "Invalid arguments"); - return 0; - } - element = &ply->element[ply->nelements-1]; - property = ply_grow_property(ply, element); - if (!property) return 0; - strcpy(property->name, name); - property->type = PLY_LIST; - property->length_type = length_type; - property->value_type = value_type; - return 1; -} - -int ply_add_property(p_ply ply, const char *name, e_ply_type type, - e_ply_type length_type, e_ply_type value_type) { - if (type == PLY_LIST) - return ply_add_list_property(ply, name, length_type, value_type); - else - return ply_add_scalar_property(ply, name, type); -} - -int ply_add_comment(p_ply ply, const char *comment) { - char *new_comment = NULL; - assert(ply && comment && strlen(comment) < LINESIZE); - if (!comment || strlen(comment) >= LINESIZE) { - ply_error(ply, "Invalid arguments"); - return 0; - } - new_comment = (char *) ply_grow_array(ply, (void **) &ply->comment, - &ply->ncomments, LINESIZE); - if (!new_comment) return 0; - strcpy(new_comment, comment); - return 1; -} - -int ply_add_obj_info(p_ply ply, const char *obj_info) { - char *new_obj_info = NULL; - assert(ply && obj_info && strlen(obj_info) < LINESIZE); - if (!obj_info || strlen(obj_info) >= LINESIZE) { - ply_error(ply, "Invalid arguments"); - return 0; - } - new_obj_info = (char *) ply_grow_array(ply, (void **) &ply->obj_info, - &ply->nobj_infos, LINESIZE); - if (!new_obj_info) return 0; - strcpy(new_obj_info, obj_info); - return 1; -} - -int ply_write_header(p_ply ply) { - long i, j; - assert(ply && ply->fp && ply->io_mode == PLY_WRITE); - assert(ply->element || ply->nelements == 0); - assert(!ply->element || ply->nelements > 0); - if (fprintf(ply->fp, "ply\nformat %s 1.0\n", - ply_storage_mode_list[ply->storage_mode]) <= 0) goto error; - for (i = 0; i < ply->ncomments; i++) - if (fprintf(ply->fp, "comment %s\n", ply->comment + LINESIZE*i) <= 0) - goto error; - for (i = 0; i < ply->nobj_infos; i++) - if (fprintf(ply->fp, "obj_info %s\n", ply->obj_info + LINESIZE*i) <= 0) - goto error; - for (i = 0; i < ply->nelements; i++) { - p_ply_element element = &ply->element[i]; - assert(element->property || element->nproperties == 0); - assert(!element->property || element->nproperties > 0); - if (fprintf(ply->fp, "element %s %ld\n", element->name, - element->ninstances) <= 0) goto error; - for (j = 0; j < element->nproperties; j++) { - p_ply_property property = &element->property[j]; - if (property->type == PLY_LIST) { - if (fprintf(ply->fp, "property list %s %s %s\n", - ply_type_list[property->length_type], - ply_type_list[property->value_type], - property->name) <= 0) goto error; - } else { - if (fprintf(ply->fp, "property %s %s\n", - ply_type_list[property->type], - property->name) <= 0) goto error; - } - } - } - return fprintf(ply->fp, "end_header\n") > 0; -error: - ply_error(ply, "Error writing to file"); - return 0; -} - -int ply_write(p_ply ply, double value) { - p_ply_element element = NULL; - p_ply_property property = NULL; - int type = -1; - int breakafter = 0; - if (ply->welement > ply->nelements) return 0; - element = &ply->element[ply->welement]; - if (ply->wproperty > element->nproperties) return 0; - property = &element->property[ply->wproperty]; - if (property->type == PLY_LIST) { - if (ply->wvalue_index == 0) { - type = property->length_type; - ply->wlength = (long) value; - } else type = property->value_type; - } else { - type = property->type; - ply->wlength = 0; - } - if (!ply->odriver->ohandler[type](ply, value)) { - ply_error(ply, "Failed writing %s of %s %d (%s: %s)", - property->name, element->name, - ply->winstance_index, - ply->odriver->name, ply_type_list[type]); - return 0; - } - ply->wvalue_index++; - if (ply->wvalue_index > ply->wlength) { - ply->wvalue_index = 0; - ply->wproperty++; - } - if (ply->wproperty >= element->nproperties) { - ply->wproperty = 0; - ply->winstance_index++; - if (ply->storage_mode == PLY_ASCII) breakafter = 1; - } - if (ply->winstance_index >= element->ninstances) { - ply->winstance_index = 0; - ply->welement++; - } - return !breakafter || putc('\n', ply->fp) > 0; -} - -int ply_close(p_ply ply) { - long i; - assert(ply && ply->fp); - assert(ply->element || ply->nelements == 0); - assert(!ply->element || ply->nelements > 0); - /* write last chunk to file */ - if (ply->io_mode == PLY_WRITE && - fwrite(ply->buffer, 1, ply->buffer_last, ply->fp) < ply->buffer_last) { - ply_error(ply, "Error closing up"); - return 0; - } - fclose(ply->fp); - /* free all memory used by handle */ - if (ply->element) { - for (i = 0; i < ply->nelements; i++) { - p_ply_element element = &ply->element[i]; - if (element->property) free(element->property); - } - free(ply->element); - } - if (ply->obj_info) free(ply->obj_info); - if (ply->comment) free(ply->comment); - free(ply); - return 1; -} - -/* ---------------------------------------------------------------------- - * Query support functions - * ---------------------------------------------------------------------- */ -p_ply_element ply_get_next_element(p_ply ply, - p_ply_element last) { - assert(ply); - if (!last) return ply->element; - last++; - if (last < ply->element + ply->nelements) return last; - else return NULL; -} - -int ply_get_element_info(p_ply_element element, const char** name, - long *ninstances) { - assert(element); - if (name) *name = element->name; - if (ninstances) *ninstances = (long) element->ninstances; - return 1; -} - -p_ply_property ply_get_next_property(p_ply_element element, - p_ply_property last) { - assert(element); - if (!last) return element->property; - last++; - if (last < element->property + element->nproperties) return last; - else return NULL; -} - -int ply_get_property_info(p_ply_property property, const char** name, - e_ply_type *type, e_ply_type *length_type, e_ply_type *value_type) { - assert(property); - if (name) *name = property->name; - if (type) *type = property->type; - if (length_type) *length_type = property->length_type; - if (value_type) *value_type = property->value_type; - return 1; - -} - -const char *ply_get_next_comment(p_ply ply, const char *last) { - assert(ply); - if (!last) return ply->comment; - last += LINESIZE; - if (last < ply->comment + LINESIZE*ply->ncomments) return last; - else return NULL; -} - -const char *ply_get_next_obj_info(p_ply ply, const char *last) { - assert(ply); - if (!last) return ply->obj_info; - last += LINESIZE; - if (last < ply->obj_info + LINESIZE*ply->nobj_infos) return last; - else return NULL; -} - -/* ---------------------------------------------------------------------- - * Callback argument support functions - * ---------------------------------------------------------------------- */ -int ply_get_argument_element(p_ply_argument argument, - p_ply_element *element, long *instance_index) { - assert(argument); - if (!argument) return 0; - if (element) *element = argument->element; - if (instance_index) *instance_index = argument->instance_index; - return 1; -} - -int ply_get_argument_property(p_ply_argument argument, - p_ply_property *property, long *length, long *value_index) { - assert(argument); - if (!argument) return 0; - if (property) *property = argument->property; - if (length) *length = argument->length; - if (value_index) *value_index = argument->value_index; - return 1; -} - -int ply_get_argument_user_data(p_ply_argument argument, void **pdata, - long *idata) { - assert(argument); - if (!argument) return 0; - if (pdata) *pdata = argument->pdata; - if (idata) *idata = argument->idata; - return 1; -} - -double ply_get_argument_value(p_ply_argument argument) { - assert(argument); - if (!argument) return 0.0; - return argument->value; -} - -/* ---------------------------------------------------------------------- - * Internal functions - * ---------------------------------------------------------------------- */ -static int ply_read_list_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument) { - int l; - p_ply_read_cb read_cb = property->read_cb; - p_ply_ihandler *driver = ply->idriver->ihandler; - /* get list length */ - p_ply_ihandler handler = driver[property->length_type]; - double length; - if (!handler(ply, &length)) { - ply_error(ply, "Error reading '%s' of '%s' number %d", - property->name, element->name, argument->instance_index); - return 0; - } - /* invoke callback to pass length in value field */ - argument->length = (long) length; - argument->value_index = -1; - argument->value = length; - if (read_cb && !read_cb(argument)) { - ply_error(ply, "Aborted by user"); - return 0; - } - /* read list values */ - handler = driver[property->value_type]; - /* for each value in list */ - for (l = 0; l < (long) length; l++) { - /* read value from file */ - argument->value_index = l; - if (!handler(ply, &argument->value)) { - ply_error(ply, "Error reading value number %d of '%s' of " - "'%s' number %d", l+1, property->name, - element->name, argument->instance_index); - return 0; - } - /* invoke callback to pass value */ - if (read_cb && !read_cb(argument)) { - ply_error(ply, "Aborted by user"); - return 0; - } - } - return 1; -} - -static int ply_read_scalar_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument) { - p_ply_read_cb read_cb = property->read_cb; - p_ply_ihandler *driver = ply->idriver->ihandler; - p_ply_ihandler handler = driver[property->type]; - argument->length = 1; - argument->value_index = 0; - if (!handler(ply, &argument->value)) { - ply_error(ply, "Error reading '%s' of '%s' number %d", - property->name, element->name, argument->instance_index); - return 0; - } - if (read_cb && !read_cb(argument)) { - ply_error(ply, "Aborted by user"); - return 0; - } - return 1; -} - -static int ply_read_property(p_ply ply, p_ply_element element, - p_ply_property property, p_ply_argument argument) { - if (property->type == PLY_LIST) - return ply_read_list_property(ply, element, property, argument); - else - return ply_read_scalar_property(ply, element, property, argument); -} - -static int ply_read_element(p_ply ply, p_ply_element element, - p_ply_argument argument) { - long j, k; - /* for each element of this type */ - for (j = 0; j < element->ninstances; j++) { - argument->instance_index = j; - /* for each property */ - for (k = 0; k < element->nproperties; k++) { - p_ply_property property = &element->property[k]; - argument->property = property; - argument->pdata = property->pdata; - argument->idata = property->idata; - if (!ply_read_property(ply, element, property, argument)) - return 0; - } - } - return 1; -} - -static int ply_find_string(const char *item, const char* const list[]) { - int i; - assert(item && list); - for (i = 0; list[i]; i++) - if (!strcmp(list[i], item)) return i; - return -1; -} - -static p_ply_element ply_find_element(p_ply ply, const char *name) { - p_ply_element element; - int i, nelements; - assert(ply && name); - element = ply->element; - nelements = ply->nelements; - assert(element || nelements == 0); - assert(!element || nelements > 0); - for (i = 0; i < nelements; i++) - if (!strcmp(element[i].name, name)) return &element[i]; - return NULL; -} - -static p_ply_property ply_find_property(p_ply_element element, - const char *name) { - p_ply_property property; - int i, nproperties; - assert(element && name); - property = element->property; - nproperties = element->nproperties; - assert(property || nproperties == 0); - assert(!property || nproperties > 0); - for (i = 0; i < nproperties; i++) - if (!strcmp(property[i].name, name)) return &property[i]; - return NULL; -} - -static int ply_check_word(p_ply ply) { - if (strlen(BLINE(ply)) >= WORDSIZE) { - ply_error(ply, "Word too long"); - return 0; - } - return 1; -} - -static int ply_read_word(p_ply ply) { - size_t t = 0; - assert(ply && ply->fp && ply->io_mode == PLY_READ); - /* skip leading blanks */ - while (1) { - t = strspn(BFIRST(ply), " \n\r\t"); - /* check if all buffer was made of blanks */ - if (t >= BSIZE(ply)) { - if (!BREFILL(ply)) { - ply_error(ply, "Unexpected end of file"); - return 0; - } - } else break; - } - BSKIP(ply, t); - /* look for a space after the current word */ - t = strcspn(BFIRST(ply), " \n\r\t"); - /* if we didn't reach the end of the buffer, we are done */ - if (t < BSIZE(ply)) { - ply->buffer_token = ply->buffer_first; - BSKIP(ply, t); - *BFIRST(ply) = '\0'; - BSKIP(ply, 1); - return ply_check_word(ply); - } - /* otherwise, try to refill buffer */ - if (!BREFILL(ply)) { - ply_error(ply, "Unexpected end of file"); - return 0; - } - /* keep looking from where we left */ - t += strcspn(BFIRST(ply) + t, " \n\r\t"); - /* check if the token is too large for our buffer */ - if (t >= BSIZE(ply)) { - ply_error(ply, "Token too large"); - return 0; - } - /* we are done */ - ply->buffer_token = ply->buffer_first; - BSKIP(ply, t); - *BFIRST(ply) = '\0'; - BSKIP(ply, 1); - return ply_check_word(ply); -} - -static int ply_check_line(p_ply ply) { - if (strlen(BLINE(ply)) >= LINESIZE) { - ply_error(ply, "Line too long"); - return 0; - } - return 1; -} - -static int ply_read_line(p_ply ply) { - const char *end = NULL; - assert(ply && ply->fp && ply->io_mode == PLY_READ); - /* look for a end of line */ - end = strchr(BFIRST(ply), '\n'); - /* if we didn't reach the end of the buffer, we are done */ - if (end) { - ply->buffer_token = ply->buffer_first; - BSKIP(ply, end - BFIRST(ply)); - *BFIRST(ply) = '\0'; - BSKIP(ply, 1); - return ply_check_line(ply); - } else { - end = ply->buffer + BSIZE(ply); - /* otherwise, try to refill buffer */ - if (!BREFILL(ply)) { - ply_error(ply, "Unexpected end of file"); - return 0; - } - } - /* keep looking from where we left */ - end = strchr(end, '\n'); - /* check if the token is too large for our buffer */ - if (!end) { - ply_error(ply, "Token too large"); - return 0; - } - /* we are done */ - ply->buffer_token = ply->buffer_first; - BSKIP(ply, end - BFIRST(ply)); - *BFIRST(ply) = '\0'; - BSKIP(ply, 1); - return ply_check_line(ply); -} - -static int ply_read_chunk(p_ply ply, void *anybuffer, size_t size) { - char *buffer = (char *) anybuffer; - size_t i = 0; - assert(ply && ply->fp && ply->io_mode == PLY_READ); - assert(ply->buffer_first <= ply->buffer_last); - while (i < size) { - if (ply->buffer_first < ply->buffer_last) { - buffer[i] = ply->buffer[ply->buffer_first]; - ply->buffer_first++; - i++; - } else { - ply->buffer_first = 0; - ply->buffer_last = fread(ply->buffer, 1, BUFFERSIZE, ply->fp); - if (ply->buffer_last <= 0) return 0; - } - } - return 1; -} - -static int ply_write_chunk(p_ply ply, void *anybuffer, size_t size) { - char *buffer = (char *) anybuffer; - size_t i = 0; - assert(ply && ply->fp && ply->io_mode == PLY_WRITE); - assert(ply->buffer_last <= BUFFERSIZE); - while (i < size) { - if (ply->buffer_last < BUFFERSIZE) { - ply->buffer[ply->buffer_last] = buffer[i]; - ply->buffer_last++; - i++; - } else { - ply->buffer_last = 0; - if (fwrite(ply->buffer, 1, BUFFERSIZE, ply->fp) < BUFFERSIZE) - return 0; - } - } - return 1; -} - -static int ply_write_chunk_reverse(p_ply ply, void *anybuffer, size_t size) { - int ret = 0; - ply_reverse(anybuffer, size); - ret = ply_write_chunk(ply, anybuffer, size); - ply_reverse(anybuffer, size); - return ret; -} - -static int ply_read_chunk_reverse(p_ply ply, void *anybuffer, size_t size) { - if (!ply_read_chunk(ply, anybuffer, size)) return 0; - ply_reverse(anybuffer, size); - return 1; -} - -static void ply_reverse(void *anydata, size_t size) { - char *data = (char *) anydata; - char temp; - size_t i; - for (i = 0; i < size/2; i++) { - temp = data[i]; - data[i] = data[size-i-1]; - data[size-i-1] = temp; - } -} - -static void ply_init(p_ply ply) { - ply->c = ' '; - ply->element = NULL; - ply->nelements = 0; - ply->comment = NULL; - ply->ncomments = 0; - ply->obj_info = NULL; - ply->nobj_infos = 0; - ply->idriver = NULL; - ply->odriver = NULL; - ply->buffer[0] = '\0'; - ply->buffer_first = ply->buffer_last = ply->buffer_token = 0; - ply->welement = 0; - ply->wproperty = 0; - ply->winstance_index = 0; - ply->wlength = 0; - ply->wvalue_index = 0; -} - -static void ply_element_init(p_ply_element element) { - element->name[0] = '\0'; - element->ninstances = 0; - element->property = NULL; - element->nproperties = 0; -} - -static void ply_property_init(p_ply_property property) { - property->name[0] = '\0'; - property->type = -1; - property->length_type = -1; - property->value_type = -1; - property->read_cb = (p_ply_read_cb) NULL; - property->pdata = NULL; - property->idata = 0; -} - -static p_ply ply_alloc(void) { - p_ply ply = (p_ply) malloc(sizeof(t_ply)); - if (!ply) return NULL; - ply_init(ply); - return ply; -} - -static void *ply_grow_array(p_ply ply, void **pointer, - long *nmemb, long size) { - void *temp = *pointer; - long count = *nmemb + 1; - if (!temp) temp = malloc(count*size); - else temp = realloc(temp, count*size); - if (!temp) { - ply_error(ply, "Out of memory"); - return NULL; - } - *pointer = temp; - *nmemb = count; - return (char *) temp + (count-1) * size; -} - -static p_ply_element ply_grow_element(p_ply ply) { - p_ply_element element = NULL; - assert(ply); - assert(ply->element || ply->nelements == 0); - assert(!ply->element || ply->nelements > 0); - element = (p_ply_element) ply_grow_array(ply, (void **) &ply->element, - &ply->nelements, sizeof(t_ply_element)); - if (!element) return NULL; - ply_element_init(element); - return element; -} - -static p_ply_property ply_grow_property(p_ply ply, p_ply_element element) { - p_ply_property property = NULL; - assert(ply); - assert(element); - assert(element->property || element->nproperties == 0); - assert(!element->property || element->nproperties > 0); - property = (p_ply_property) ply_grow_array(ply, - (void **) &element->property, - &element->nproperties, sizeof(t_ply_property)); - if (!property) return NULL; - ply_property_init(property); - return property; -} - -static int ply_read_header_format(p_ply ply) { - assert(ply && ply->fp && ply->io_mode == PLY_READ); - if (strcmp(BWORD(ply), "format")) return 0; - if (!ply_read_word(ply)) return 0; - ply->storage_mode = ply_find_string(BWORD(ply), ply_storage_mode_list); - if (ply->storage_mode == (e_ply_storage_mode) (-1)) return 0; - if (ply->storage_mode == PLY_ASCII) ply->idriver = &ply_idriver_ascii; - else if (ply->storage_mode == ply_arch_endian()) - ply->idriver = &ply_idriver_binary; - else ply->idriver = &ply_idriver_binary_reverse; - if (!ply_read_word(ply)) return 0; - if (strcmp(BWORD(ply), "1.0")) return 0; - if (!ply_read_word(ply)) return 0; - return 1; -} - -static int ply_read_header_comment(p_ply ply) { - assert(ply && ply->fp && ply->io_mode == PLY_READ); - if (strcmp(BWORD(ply), "comment")) return 0; - if (!ply_read_line(ply)) return 0; - if (!ply_add_comment(ply, BLINE(ply))) return 0; - if (!ply_read_word(ply)) return 0; - return 1; -} - -static int ply_read_header_obj_info(p_ply ply) { - assert(ply && ply->fp && ply->io_mode == PLY_READ); - if (strcmp(BWORD(ply), "obj_info")) return 0; - if (!ply_read_line(ply)) return 0; - if (!ply_add_obj_info(ply, BLINE(ply))) return 0; - if (!ply_read_word(ply)) return 0; - return 1; -} - -static int ply_read_header_property(p_ply ply) { - p_ply_element element = NULL; - p_ply_property property = NULL; - /* make sure it is a property */ - if (strcmp(BWORD(ply), "property")) return 0; - element = &ply->element[ply->nelements-1]; - property = ply_grow_property(ply, element); - if (!property) return 0; - /* get property type */ - if (!ply_read_word(ply)) return 0; - property->type = ply_find_string(BWORD(ply), ply_type_list); - if (property->type == (e_ply_type) (-1)) return 0; - if (property->type == PLY_LIST) { - /* if it's a list, we need the base types */ - if (!ply_read_word(ply)) return 0; - property->length_type = ply_find_string(BWORD(ply), ply_type_list); - if (property->length_type == (e_ply_type) (-1)) return 0; - if (!ply_read_word(ply)) return 0; - property->value_type = ply_find_string(BWORD(ply), ply_type_list); - if (property->value_type == (e_ply_type) (-1)) return 0; - } - /* get property name */ - if (!ply_read_word(ply)) return 0; - strcpy(property->name, BWORD(ply)); - if (!ply_read_word(ply)) return 0; - return 1; -} - -static int ply_read_header_element(p_ply ply) { - p_ply_element element = NULL; - long dummy; - assert(ply && ply->fp && ply->io_mode == PLY_READ); - if (strcmp(BWORD(ply), "element")) return 0; - /* allocate room for new element */ - element = ply_grow_element(ply); - if (!element) return 0; - /* get element name */ - if (!ply_read_word(ply)) return 0; - strcpy(element->name, BWORD(ply)); - /* get number of elements of this type */ - if (!ply_read_word(ply)) return 0; - if (sscanf(BWORD(ply), "%ld", &dummy) != 1) { - ply_error(ply, "Expected number got '%s'", BWORD(ply)); - return 0; - } - element->ninstances = dummy; - /* get all properties for this element */ - if (!ply_read_word(ply)) return 0; - while (ply_read_header_property(ply) || - ply_read_header_comment(ply) || ply_read_header_obj_info(ply)) - /* do nothing */; - return 1; -} - -static void ply_error_cb(const char *message) { - fprintf(stderr, "RPly: %s\n", message); -} - -static void ply_error(p_ply ply, const char *fmt, ...) { - char buffer[1024]; - va_list ap; - va_start(ap, fmt); - vsprintf(buffer, fmt, ap); - va_end(ap); - ply->error_cb(buffer); -} - -static e_ply_storage_mode ply_arch_endian(void) { - unsigned long i = 1; - unsigned char *s = (unsigned char *) &i; - if (*s == 1) return PLY_LITTLE_ENDIAN; - else return PLY_BIG_ENDIAN; -} - -static int ply_type_check(void) { - assert(sizeof(char) == 1); - assert(sizeof(unsigned char) == 1); - assert(sizeof(short) == 2); - assert(sizeof(unsigned short) == 2); - assert(sizeof(int) == 4); - assert(sizeof(unsigned int) == 4); - assert(sizeof(float) == 4); - assert(sizeof(double) == 8); - if (sizeof(char) != 1) return 0; - if (sizeof(unsigned char) != 1) return 0; - if (sizeof(short) != 2) return 0; - if (sizeof(unsigned short) != 2) return 0; - if (sizeof(int) != 4) return 0; - if (sizeof(unsigned int) != 4) return 0; - if (sizeof(float) != 4) return 0; - if (sizeof(double) != 8) return 0; - return 1; -} - -/* ---------------------------------------------------------------------- - * Output handlers - * ---------------------------------------------------------------------- */ -static int oascii_int8(p_ply ply, double value) { - if (value > CHAR_MAX || value < CHAR_MIN) return 0; - return fprintf(ply->fp, "%d ", (char) value) > 0; -} - -static int oascii_uint8(p_ply ply, double value) { - if (value > UCHAR_MAX || value < 0) return 0; - return fprintf(ply->fp, "%d ", (unsigned char) value) > 0; -} - -static int oascii_int16(p_ply ply, double value) { - if (value > SHRT_MAX || value < SHRT_MIN) return 0; - return fprintf(ply->fp, "%d ", (short) value) > 0; -} - -static int oascii_uint16(p_ply ply, double value) { - if (value > USHRT_MAX || value < 0) return 0; - return fprintf(ply->fp, "%d ", (unsigned short) value) > 0; -} - -static int oascii_int32(p_ply ply, double value) { - if (value > INT_MAX || value < INT_MIN) return 0; - return fprintf(ply->fp, "%d ", (int) value) > 0; -} - -static int oascii_uint32(p_ply ply, double value) { - if (value > UINT_MAX || value < 0) return 0; - return fprintf(ply->fp, "%d ", (unsigned int) value) > 0; -} - -static int oascii_float32(p_ply ply, double value) { - if (value < -FLT_MAX || value > FLT_MAX) return 0; - return fprintf(ply->fp, "%g ", (float) value) > 0; -} - -static int oascii_float64(p_ply ply, double value) { - if (value < -DBL_MAX || value > DBL_MAX) return 0; - return fprintf(ply->fp, "%g ", value) > 0; -} - -static int obinary_int8(p_ply ply, double value) { - char int8 = (char) value; - if (value > CHAR_MAX || value < CHAR_MIN) return 0; - return ply->odriver->ochunk(ply, &int8, sizeof(int8)); -} - -static int obinary_uint8(p_ply ply, double value) { - unsigned char uint8 = (unsigned char) value; - if (value > UCHAR_MAX || value < 0) return 0; - return ply->odriver->ochunk(ply, &uint8, sizeof(uint8)); -} - -static int obinary_int16(p_ply ply, double value) { - short int16 = (short) value; - if (value > SHRT_MAX || value < SHRT_MIN) return 0; - return ply->odriver->ochunk(ply, &int16, sizeof(int16)); -} - -static int obinary_uint16(p_ply ply, double value) { - unsigned short uint16 = (unsigned short) value; - if (value > USHRT_MAX || value < 0) return 0; - return ply->odriver->ochunk(ply, &uint16, sizeof(uint16)); -} - -static int obinary_int32(p_ply ply, double value) { - int int32 = (int) value; - if (value > INT_MAX || value < INT_MIN) return 0; - return ply->odriver->ochunk(ply, &int32, sizeof(int32)); -} - -static int obinary_uint32(p_ply ply, double value) { - unsigned int uint32 = (unsigned int) value; - if (value > UINT_MAX || value < 0) return 0; - return ply->odriver->ochunk(ply, &uint32, sizeof(uint32)); -} - -static int obinary_float32(p_ply ply, double value) { - float float32 = (float) value; - if (value > FLT_MAX || value < -FLT_MAX) return 0; - return ply->odriver->ochunk(ply, &float32, sizeof(float32)); -} - -static int obinary_float64(p_ply ply, double value) { - return ply->odriver->ochunk(ply, &value, sizeof(value)); -} - -/* ---------------------------------------------------------------------- - * Input handlers - * ---------------------------------------------------------------------- */ -static int iascii_int8(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value > CHAR_MAX || *value < CHAR_MIN) return 0; - return 1; -} - -static int iascii_uint8(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value > UCHAR_MAX || *value < 0) return 0; - return 1; -} - -static int iascii_int16(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value > SHRT_MAX || *value < SHRT_MIN) return 0; - return 1; -} - -static int iascii_uint16(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value > USHRT_MAX || *value < 0) return 0; - return 1; -} - -static int iascii_int32(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value > INT_MAX || *value < INT_MIN) return 0; - return 1; -} - -static int iascii_uint32(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtol(BWORD(ply), &end, 10); - if (*end || *value < 0) return 0; - return 1; -} - -static int iascii_float32(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtod(BWORD(ply), &end); - if (*end || *value < -FLT_MAX || *value > FLT_MAX) return 0; - return 1; -} - -static int iascii_float64(p_ply ply, double *value) { - char *end; - if (!ply_read_word(ply)) return 0; - *value = strtod(BWORD(ply), &end); - if (*end || *value < -DBL_MAX || *value > DBL_MAX) return 0; - return 1; -} - -static int ibinary_int8(p_ply ply, double *value) { - char int8; - if (!ply->idriver->ichunk(ply, &int8, 1)) return 0; - *value = int8; - return 1; -} - -static int ibinary_uint8(p_ply ply, double *value) { - unsigned char uint8; - if (!ply->idriver->ichunk(ply, &uint8, 1)) return 0; - *value = uint8; - return 1; -} - -static int ibinary_int16(p_ply ply, double *value) { - short int16; - if (!ply->idriver->ichunk(ply, &int16, sizeof(int16))) return 0; - *value = int16; - return 1; -} - -static int ibinary_uint16(p_ply ply, double *value) { - unsigned short uint16; - if (!ply->idriver->ichunk(ply, &uint16, sizeof(uint16))) return 0; - *value = uint16; - return 1; -} - -static int ibinary_int32(p_ply ply, double *value) { - int int32; - if (!ply->idriver->ichunk(ply, &int32, sizeof(int32))) return 0; - *value = int32; - return 1; -} - -static int ibinary_uint32(p_ply ply, double *value) { - unsigned int uint32; - if (!ply->idriver->ichunk(ply, &uint32, sizeof(uint32))) return 0; - *value = uint32; - return 1; -} - -static int ibinary_float32(p_ply ply, double *value) { - float float32; - if (!ply->idriver->ichunk(ply, &float32, sizeof(float32))) return 0; - *value = float32; - ply_reverse(&float32, sizeof(float32)); - return 1; -} - -static int ibinary_float64(p_ply ply, double *value) { - return ply->idriver->ichunk(ply, value, sizeof(double)); -} - -/* ---------------------------------------------------------------------- - * Constants - * ---------------------------------------------------------------------- */ -static t_ply_idriver ply_idriver_ascii = { - { iascii_int8, iascii_uint8, iascii_int16, iascii_uint16, - iascii_int32, iascii_uint32, iascii_float32, iascii_float64, - iascii_int8, iascii_uint8, iascii_int16, iascii_uint16, - iascii_int32, iascii_uint32, iascii_float32, iascii_float64 - }, /* order matches e_ply_type enum */ - NULL, - "ascii input" -}; - -static t_ply_idriver ply_idriver_binary = { - { ibinary_int8, ibinary_uint8, ibinary_int16, ibinary_uint16, - ibinary_int32, ibinary_uint32, ibinary_float32, ibinary_float64, - ibinary_int8, ibinary_uint8, ibinary_int16, ibinary_uint16, - ibinary_int32, ibinary_uint32, ibinary_float32, ibinary_float64 - }, /* order matches e_ply_type enum */ - ply_read_chunk, - "binary input" -}; - -static t_ply_idriver ply_idriver_binary_reverse = { - { ibinary_int8, ibinary_uint8, ibinary_int16, ibinary_uint16, - ibinary_int32, ibinary_uint32, ibinary_float32, ibinary_float64, - ibinary_int8, ibinary_uint8, ibinary_int16, ibinary_uint16, - ibinary_int32, ibinary_uint32, ibinary_float32, ibinary_float64 - }, /* order matches e_ply_type enum */ - ply_read_chunk_reverse, - "reverse binary input" -}; - -static t_ply_odriver ply_odriver_ascii = { - { oascii_int8, oascii_uint8, oascii_int16, oascii_uint16, - oascii_int32, oascii_uint32, oascii_float32, oascii_float64, - oascii_int8, oascii_uint8, oascii_int16, oascii_uint16, - oascii_int32, oascii_uint32, oascii_float32, oascii_float64 - }, /* order matches e_ply_type enum */ - NULL, - "ascii output" -}; - -static t_ply_odriver ply_odriver_binary = { - { obinary_int8, obinary_uint8, obinary_int16, obinary_uint16, - obinary_int32, obinary_uint32, obinary_float32, obinary_float64, - obinary_int8, obinary_uint8, obinary_int16, obinary_uint16, - obinary_int32, obinary_uint32, obinary_float32, obinary_float64 - }, /* order matches e_ply_type enum */ - ply_write_chunk, - "binary output" -}; - -static t_ply_odriver ply_odriver_binary_reverse = { - { obinary_int8, obinary_uint8, obinary_int16, obinary_uint16, - obinary_int32, obinary_uint32, obinary_float32, obinary_float64, - obinary_int8, obinary_uint8, obinary_int16, obinary_uint16, - obinary_int32, obinary_uint32, obinary_float32, obinary_float64 - }, /* order matches e_ply_type enum */ - ply_write_chunk_reverse, - "reverse binary output" -}; - -/* ---------------------------------------------------------------------- - * Copyright (C) 2003 Diego Nehab. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * ---------------------------------------------------------------------- */ diff --git a/3rdparty/openctm/tools/rply/rply.h b/3rdparty/openctm/tools/rply/rply.h deleted file mode 100644 index 049fe1868..000000000 --- a/3rdparty/openctm/tools/rply/rply.h +++ /dev/null @@ -1,365 +0,0 @@ -#ifndef PLY_H -#define PLY_H -/* ---------------------------------------------------------------------- - * RPly library, read/write PLY files - * Diego Nehab, Princeton University - * http://www.cs.princeton.edu/~diego/professional/rply - * - * This library is distributed under the MIT License. See notice - * at the end of this file. - * ---------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#endif - -#define RPLY_VERSION "RPly 1.01" -#define RPLY_COPYRIGHT "Copyright (C) 2003-2005 Diego Nehab" -#define RPLY_AUTHORS "Diego Nehab" - -/* ---------------------------------------------------------------------- - * Types - * ---------------------------------------------------------------------- */ -/* structures are opaque */ -typedef struct t_ply_ *p_ply; -typedef struct t_ply_element_ *p_ply_element; -typedef struct t_ply_property_ *p_ply_property; -typedef struct t_ply_argument_ *p_ply_argument; - -/* ply format mode type */ -typedef enum e_ply_storage_mode_ { - PLY_BIG_ENDIAN, - PLY_LITTLE_ENDIAN, - PLY_ASCII, - PLY_DEFAULT /* has to be the last in enum */ -} e_ply_storage_mode; /* order matches ply_storage_mode_list */ - -/* ply data type */ -typedef enum e_ply_type { - PLY_INT8, PLY_UINT8, PLY_INT16, PLY_UINT16, - PLY_INT32, PLY_UIN32, PLY_FLOAT32, PLY_FLOAT64, - PLY_CHAR, PLY_UCHAR, PLY_SHORT, PLY_USHORT, - PLY_INT, PLY_UINT, PLY_FLOAT, PLY_DOUBLE, - PLY_LIST /* has to be the last in enum */ -} e_ply_type; /* order matches ply_type_list */ - -/* ---------------------------------------------------------------------- - * Property reading callback prototype - * - * message: error message - * ---------------------------------------------------------------------- */ -typedef void (*p_ply_error_cb)(const char *message); - -/* ---------------------------------------------------------------------- - * Opens a ply file for reading (fails if file is not a ply file) - * - * error_cb: error callback function - * name: file name - * - * Returns 1 if successful, 0 otherwise - * ---------------------------------------------------------------------- */ -p_ply ply_open(const char *name, p_ply_error_cb error_cb); - -/* ---------------------------------------------------------------------- - * Reads and parses the header of a ply file returned by ply_open - * - * ply: handle returned by ply_open - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_read_header(p_ply ply); - -/* ---------------------------------------------------------------------- - * Property reading callback prototype - * - * argument: parameters for property being processed when callback is called - * - * Returns 1 if should continue processing file, 0 if should abort. - * ---------------------------------------------------------------------- */ -typedef int (*p_ply_read_cb)(p_ply_argument argument); - -/* ---------------------------------------------------------------------- - * Sets up callbacks for property reading after header was parsed - * - * ply: handle returned by ply_open - * element_name: element where property is - * property_name: property to associate element with - * read_cb: function to be called for each property value - * pdata/idata: user data that will be passed to callback - * - * Returns 0 if no element or no property in element, returns the - * number of element instances otherwise. - * ---------------------------------------------------------------------- */ -long ply_set_read_cb(p_ply ply, const char *element_name, - const char *property_name, p_ply_read_cb read_cb, - void *pdata, long idata); - -/* ---------------------------------------------------------------------- - * Returns information about the element originating a callback - * - * argument: handle to argument - * element: receives a the element handle (if non-null) - * instance_index: receives the index of the current element instance - * (if non-null) - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_get_argument_element(p_ply_argument argument, - p_ply_element *element, long *instance_index); - -/* ---------------------------------------------------------------------- - * Returns information about the property originating a callback - * - * argument: handle to argument - * property: receives the property handle (if non-null) - * length: receives the number of values in this property (if non-null) - * value_index: receives the index of current property value (if non-null) - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_get_argument_property(p_ply_argument argument, - p_ply_property *property, long *length, long *value_index); - -/* ---------------------------------------------------------------------- - * Returns user data associated with callback - * - * pdata: receives a copy of user custom data pointer (if non-null) - * idata: receives a copy of user custom data integer (if non-null) - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_get_argument_user_data(p_ply_argument argument, void **pdata, - long *idata); - -/* ---------------------------------------------------------------------- - * Returns the value associated with a callback - * - * argument: handle to argument - * - * Returns the current data item - * ---------------------------------------------------------------------- */ -double ply_get_argument_value(p_ply_argument argument); - -/* ---------------------------------------------------------------------- - * Reads all elements and properties calling the callbacks defined with - * calls to ply_set_read_cb - * - * ply: handle returned by ply_open - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_read(p_ply ply); - -/* ---------------------------------------------------------------------- - * Iterates over all elements by returning the next element. - * Call with NULL to return handle to first element. - * - * ply: handle returned by ply_open - * last: handle of last element returned (NULL for first element) - * - * Returns element if successfull or NULL if no more elements - * ---------------------------------------------------------------------- */ -p_ply_element ply_get_next_element(p_ply ply, p_ply_element last); - -/* ---------------------------------------------------------------------- - * Iterates over all comments by returning the next comment. - * Call with NULL to return pointer to first comment. - * - * ply: handle returned by ply_open - * last: pointer to last comment returned (NULL for first comment) - * - * Returns comment if successfull or NULL if no more comments - * ---------------------------------------------------------------------- */ -const char *ply_get_next_comment(p_ply ply, const char *last); - -/* ---------------------------------------------------------------------- - * Iterates over all obj_infos by returning the next obj_info. - * Call with NULL to return pointer to first obj_info. - * - * ply: handle returned by ply_open - * last: pointer to last obj_info returned (NULL for first obj_info) - * - * Returns obj_info if successfull or NULL if no more obj_infos - * ---------------------------------------------------------------------- */ -const char *ply_get_next_obj_info(p_ply ply, const char *last); - -/* ---------------------------------------------------------------------- - * Returns information about an element - * - * element: element of interest - * name: receives a pointer to internal copy of element name (if non-null) - * ninstances: receives the number of instances of this element (if non-null) - * - * Returns 1 if successfull or 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_get_element_info(p_ply_element element, const char** name, - long *ninstances); - -/* ---------------------------------------------------------------------- - * Iterates over all properties by returning the next property. - * Call with NULL to return handle to first property. - * - * element: handle of element with the properties of interest - * last: handle of last property returned (NULL for first property) - * - * Returns element if successfull or NULL if no more properties - * ---------------------------------------------------------------------- */ -p_ply_property ply_get_next_property(p_ply_element element, - p_ply_property last); - -/* ---------------------------------------------------------------------- - * Returns information about a property - * - * property: handle to property of interest - * name: receives a pointer to internal copy of property name (if non-null) - * type: receives the property type (if non-null) - * length_type: for list properties, receives the scalar type of - * the length field (if non-null) - * value_type: for list properties, receives the scalar type of the value - * fields (if non-null) - * - * Returns 1 if successfull or 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_get_property_info(p_ply_property property, const char** name, - e_ply_type *type, e_ply_type *length_type, e_ply_type *value_type); - -/* ---------------------------------------------------------------------- - * Creates new ply file - * - * name: file name - * storage_mode: file format mode - * - * Returns handle to ply file if successfull, NULL otherwise - * ---------------------------------------------------------------------- */ -p_ply ply_create(const char *name, e_ply_storage_mode storage_mode, - p_ply_error_cb error_cb); - -/* ---------------------------------------------------------------------- - * Adds a new element to the ply file created by ply_create - * - * ply: handle returned by ply_create - * name: name of new element - * ninstances: number of element of this time in file - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_element(p_ply ply, const char *name, long ninstances); - -/* ---------------------------------------------------------------------- - * Adds a new property to the last element added by ply_add_element - * - * ply: handle returned by ply_create - * name: name of new property - * type: property type - * length_type: scalar type of length field of a list property - * value_type: scalar type of value fields of a list property - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_property(p_ply ply, const char *name, e_ply_type type, - e_ply_type length_type, e_ply_type value_type); - -/* ---------------------------------------------------------------------- - * Adds a new list property to the last element added by ply_add_element - * - * ply: handle returned by ply_create - * name: name of new property - * length_type: scalar type of length field of a list property - * value_type: scalar type of value fields of a list property - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_list_property(p_ply ply, const char *name, - e_ply_type length_type, e_ply_type value_type); - -/* ---------------------------------------------------------------------- - * Adds a new property to the last element added by ply_add_element - * - * ply: handle returned by ply_create - * name: name of new property - * type: property type - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_scalar_property(p_ply ply, const char *name, e_ply_type type); - -/* ---------------------------------------------------------------------- - * Adds a new comment item - * - * ply: handle returned by ply_create - * comment: pointer to string with comment text - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_comment(p_ply ply, const char *comment); - -/* ---------------------------------------------------------------------- - * Adds a new obj_info item - * - * ply: handle returned by ply_create - * comment: pointer to string with obj_info data - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_add_obj_info(p_ply ply, const char *obj_info); - -/* ---------------------------------------------------------------------- - * Writes the ply file header after all element and properties have been - * defined by calls to ply_add_element and ply_add_property - * - * ply: handle returned by ply_create - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_write_header(p_ply ply); - -/* ---------------------------------------------------------------------- - * Writes one property value, in the order they should be written to the - * file. For each element type, write all elements of that type in order. - * For each element, write all its properties in order. For scalar - * properties, just write the value. For list properties, write the length - * and then each of the values. - * - * ply: handle returned by ply_create - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_write(p_ply ply, double value); - -/* ---------------------------------------------------------------------- - * Closes a ply file handle. Releases all memory used by handle - * - * ply: handle to be closed. - * - * Returns 1 if successfull, 0 otherwise - * ---------------------------------------------------------------------- */ -int ply_close(p_ply ply); - -#ifdef __cplusplus -} -#endif - -#endif /* RPLY_H */ - -/* ---------------------------------------------------------------------- - * Copyright (C) 2003-2005 Diego Nehab. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * ---------------------------------------------------------------------- */ diff --git a/3rdparty/openctm/tools/stl.cpp b/3rdparty/openctm/tools/stl.cpp deleted file mode 100644 index cf07a6074..000000000 --- a/3rdparty/openctm/tools/stl.cpp +++ /dev/null @@ -1,238 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: stl.cpp -// Description: Implementation of the STL file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "common.h" -#include -#include -#include -#include -#include "stl.h" - -#ifdef _MSC_VER -typedef unsigned int uint32; -#else -#include -typedef uint32_t uint32; -#endif - -using namespace std; - - -/// Read a 32-bit integer, endian independent. -static uint32 ReadInt32(istream &aStream) -{ - unsigned char buf[4]; - aStream.read((char *) buf, 4); - return ((uint32) buf[0]) | (((uint32) buf[1]) << 8) | - (((uint32) buf[2]) << 16) | (((uint32) buf[3]) << 24); -} - -/// Write a 32-bit integer, endian independent. -static void WriteInt32(ostream &aStream, uint32 aValue) -{ - unsigned char buf[4]; - buf[0] = aValue & 255; - buf[1] = (aValue >> 8) & 255; - buf[2] = (aValue >> 16) & 255; - buf[3] = (aValue >> 24) & 255; - aStream.write((char *) buf, 4); -} - -/// Read a Vector3, endian independent. -static Vector3 ReadVector3(istream &aStream) -{ - union { - uint32 i; - float f; - } val; - Vector3 result; - val.i = ReadInt32(aStream); - result.x = val.f; - val.i = ReadInt32(aStream); - result.y = val.f; - val.i = ReadInt32(aStream); - result.z = val.f; - return result; -} - -/// Write a Vector3, endian independent. -static void WriteVector3(ostream &aStream, Vector3 aValue) -{ - union { - uint32 i; - float f; - } val; - val.f = aValue.x; - WriteInt32(aStream, val.i); - val.f = aValue.y; - WriteInt32(aStream, val.i); - val.f = aValue.z; - WriteInt32(aStream, val.i); -} - -/// Vertex class used when reading and joining the triangle vertices. -class SortVertex { - public: - float x, y, z; - uint32 mOldIndex; - - bool operator<(const SortVertex &v) const - { - return (x < v.x) || ((x == v.x) && ((y < v.y) || ((y == v.y) && (z < v.z)))); - } -}; - -/// Import an STL file from a file. -void Import_STL(const char * aFileName, Mesh * aMesh) -{ - // Clear the mesh - aMesh->Clear(); - - // Open the input file - ifstream f(aFileName, ios::in | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open input file."); - - // Get the file size - f.seekg(0, ios::end); - uint32 fileSize = (uint32) f.tellg(); - f.seekg(0, ios::beg); - if(fileSize < 84) - throw_runtime_error("Invalid format - not a valid STL file."); - - // Read header (80 character comment + triangle count) - char comment[81]; - f.read(comment, 80); - comment[80] = 0; - aMesh->mComment = string(comment); - uint32 triangleCount = ReadInt32(f); - if(fileSize != (84 + triangleCount * 50)) - throw_runtime_error("Invalid format - not a valid STL file."); - - if(triangleCount > 0) - { - // Read all the triangle data - vector vertices; - vertices.resize(triangleCount * 3); - for(uint32 i = 0; i < triangleCount; ++ i) - { - // Skip the flat normal - f.seekg(12, ios::cur); - - // Read the three triangle vertices - for(uint32 j = 0; j < 3; ++ j) - { - Vector3 v = ReadVector3(f); - uint32 index = i * 3 + j; - vertices[index].x = v.x; - vertices[index].y = v.y; - vertices[index].z = v.z; - vertices[index].mOldIndex = index; - } - - // Ignore the two fill bytes - f.seekg(2, ios::cur); - } - - // Make sure that no redundant copies of vertices exist (STL files are full - // of vertex duplicates, so remove the redundancy), and store the data in - // the mesh object - sort(vertices.begin(), vertices.end()); - aMesh->mVertices.resize(vertices.size()); - aMesh->mIndices.resize(vertices.size()); - SortVertex * firstEqual = &vertices[0]; - int vertIdx = -1; - for(uint32 i = 0; i < vertices.size(); ++ i) - { - if((i == 0) || - (vertices[i].z != firstEqual->z) || - (vertices[i].y != firstEqual->y) || - (vertices[i].x != firstEqual->x)) - { - firstEqual = &vertices[i]; - ++ vertIdx; - aMesh->mVertices[vertIdx] = Vector3(firstEqual->x, firstEqual->y, firstEqual->z); - } - aMesh->mIndices[vertices[i].mOldIndex] = vertIdx; - } - aMesh->mVertices.resize(vertIdx + 1); - } - - // Close the input file - f.close(); -} - -/// Export an STL file to a file. -void Export_STL(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Open the output file - ofstream f(aFileName, ios::out | ios::binary); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // Write header (80-character comment + triangle count) - char comment[80]; - for(uint32 i = 0; i < 80; ++ i) - { - if(i < aMesh->mComment.size()) - comment[i] = aMesh->mComment[i]; - else - comment[i] = 0; - } - f.write(comment, 80); - uint32 triangleCount = (CTMuint)(aMesh->mIndices.size() / 3); - WriteInt32(f, triangleCount); - - // Write the triangle data - for(uint32 i = 0; i < triangleCount; ++ i) - { - // Get the triangle vertices - Vector3 v1 = aMesh->mVertices[aMesh->mIndices[i * 3]]; - Vector3 v2 = aMesh->mVertices[aMesh->mIndices[i * 3 + 1]]; - Vector3 v3 = aMesh->mVertices[aMesh->mIndices[i * 3 + 2]]; - - // Calculate the triangle normal - Vector3 n1 = v2 - v1; - Vector3 n2 = v3 - v1; - Vector3 n = Normalize(Cross(n1, n2)); - - // Write the triangle normal - WriteVector3(f, n); - - // Coordinates - WriteVector3(f, v1); - WriteVector3(f, v2); - WriteVector3(f, v3); - - // Set the two fill bytes to zero - f.put(0); - f.put(0); - } - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/stl.h b/3rdparty/openctm/tools/stl.h deleted file mode 100644 index fb7c8325c..000000000 --- a/3rdparty/openctm/tools/stl.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: stl.h -// Description: Interface for the STL file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __STL_H_ -#define __STL_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import an STL file from a file. -void Import_STL(const char * aFileName, Mesh * aMesh); - -/// Export an STL file to a file. -void Export_STL(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __STL_H_ diff --git a/3rdparty/openctm/tools/sysdialog.h b/3rdparty/openctm/tools/sysdialog.h deleted file mode 100644 index 2e3820442..000000000 --- a/3rdparty/openctm/tools/sysdialog.h +++ /dev/null @@ -1,98 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: sysdialog.h -// Description: Interface for system GUI dialog routines. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __SYSDIALOG_H_ -#define __SYSDIALOG_H_ - -#include -#include - -/// Message box class. -class SysMessageBox { - public: - /// Message box type - enum MessageType { - mtInformation, - mtWarning, - mtError - }; - - /// Constructor - SysMessageBox(); - - /// Show the dialog. - bool Show(); - - /// What type of message - MessageType mMessageType; - - /// Dialog caption - std::string mCaption; - - /// Dialog text - std::string mText; -}; - -/// Open dialog class. -class SysOpenDialog { - public: - /// Constructor - SysOpenDialog(); - - /// Show the dialog. - bool Show(); - - /// Dialog caption - std::string mCaption; - - /// Filters (e.g. "OpenCTM|*.ctm") - std::list mFilters; - - /// File name (result) - std::string mFileName; -}; - -/// Save dialog class. -class SysSaveDialog { - public: - /// Constructor - SysSaveDialog(); - - /// Show the dialog. - bool Show(); - - /// Dialog caption - std::string mCaption; - - /// Filters (e.g. "OpenCTM|*.ctm") - std::list mFilters; - - /// File name (result) - std::string mFileName; -}; - -#endif // __SYSDIALOG_H_ diff --git a/3rdparty/openctm/tools/sysdialog_gtk.cpp b/3rdparty/openctm/tools/sysdialog_gtk.cpp deleted file mode 100644 index d1a887fb9..000000000 --- a/3rdparty/openctm/tools/sysdialog_gtk.cpp +++ /dev/null @@ -1,217 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: sysdialog_gtk.cpp -// Description: Implementation of system GUI dialog routines for GTK+. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include "sysdialog.h" - -using namespace std; - - -/// Constructor. -SysMessageBox::SysMessageBox() -{ - mMessageType = mtInformation; -} - -/// Show the dialog. -bool SysMessageBox::Show() -{ - // Init GTK+ - if(!gtk_init_check(0, NULL)) - return false; - - // Select message type - GtkMessageType messageType; - switch(mMessageType) - { - default: - case mtInformation: - messageType = GTK_MESSAGE_INFO; - break; - case mtWarning: - messageType = GTK_MESSAGE_WARNING; - break; - case mtError: - messageType = GTK_MESSAGE_ERROR; - break; - } - - // Create dialog widget - GtkWidget * dialog = gtk_message_dialog_new( - NULL, - GTK_DIALOG_DESTROY_WITH_PARENT, - messageType, - GTK_BUTTONS_OK, - mText.c_str(), "title"); - gtk_window_set_title(GTK_WINDOW(dialog), mCaption.c_str()); - - // Show the dialog - gint dlgResult = gtk_dialog_run(GTK_DIALOG(dialog)); - - // Free the dialog widget (we're done with it) - gtk_widget_destroy(dialog); - while(gtk_events_pending()) gtk_main_iteration(); - - // Evaluate dialog result - return (dlgResult == GTK_RESPONSE_ACCEPT); -} - - -/// Constructor -SysOpenDialog::SysOpenDialog() -{ - mCaption = "Open File"; -} - -/// Show the dialog. -bool SysOpenDialog::Show() -{ - // Init GTK+ - if(!gtk_init_check(0, NULL)) - return true; - - // Create dialog widget - GtkWidget * dialog = gtk_file_chooser_dialog_new( - mCaption.c_str(), - NULL, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - - // Add filters - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - { - size_t splitPos = (*i).find("|"); - if(splitPos != string::npos) - { - string name = (*i).substr(0, splitPos); - string pattern = (*i).substr(splitPos + 1); - GtkFileFilter * filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, name.c_str()); - size_t pos1 = 0; - while(pos1 != string::npos) - { - size_t pos2 = pattern.find(";", pos1); - gtk_file_filter_add_pattern(filter, (pattern.substr(pos1, pos2 - pos1)).c_str()); - if(pos2 != string::npos) - pos1 = pos2 + 1; - else - pos1 = pos2; - } - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); - } - } - - // Show the dialog - gint dlgResult = gtk_dialog_run(GTK_DIALOG(dialog)); - - // Extract the resulting file name - if(dlgResult == GTK_RESPONSE_ACCEPT) - { - char * fileName = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - mFileName = string(fileName); - g_free(fileName); - } - - // Free the dialog widget (we're done with it) - gtk_widget_destroy(dialog); - while(gtk_events_pending()) gtk_main_iteration(); - - // Evaluate dialog result - return (dlgResult == GTK_RESPONSE_ACCEPT); -} - - -/// Constructor -SysSaveDialog::SysSaveDialog() -{ - mCaption = "Save File"; -} - -/// Show the dialog. -bool SysSaveDialog::Show() -{ - // Init GTK+ - if(!gtk_init_check(0, NULL)) - return true; - - // Create dialog widget - GtkWidget * dialog = gtk_file_chooser_dialog_new( - mCaption.c_str(), - NULL, - GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, - NULL); - - // Configure the dialog - gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), mFileName.c_str()); - gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); - - // Add filters - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - { - size_t splitPos = (*i).find("|"); - if(splitPos != string::npos) - { - string name = (*i).substr(0, splitPos); - string pattern = (*i).substr(splitPos + 1); - GtkFileFilter * filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, name.c_str()); - size_t pos1 = 0; - while(pos1 != string::npos) - { - size_t pos2 = pattern.find(";", pos1); - gtk_file_filter_add_pattern(filter, (pattern.substr(pos1, pos2 - pos1)).c_str()); - if(pos2 != string::npos) - pos1 = pos2 + 1; - else - pos1 = pos2; - } - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); - } - } - - // Show the dialog - gint dlgResult = gtk_dialog_run(GTK_DIALOG(dialog)); - - // Extract the resulting file name - if(dlgResult == GTK_RESPONSE_ACCEPT) - { - char * fileName = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - mFileName = string(fileName); - g_free(fileName); - } - - // Free the dialog widget (we're done with it) - gtk_widget_destroy(dialog); - while(gtk_events_pending()) gtk_main_iteration(); - - // Evaluate dialog result - return (dlgResult == GTK_RESPONSE_ACCEPT); -} diff --git a/3rdparty/openctm/tools/sysdialog_mac.mm b/3rdparty/openctm/tools/sysdialog_mac.mm deleted file mode 100644 index 0e81d7310..000000000 --- a/3rdparty/openctm/tools/sysdialog_mac.mm +++ /dev/null @@ -1,149 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: sysdialog_mac.mm -// Description: Implementation of system GUI dialog routines for Mac OS X, -// using the Objective-C based COCOA API. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#import -#include "sysdialog.h" - -using namespace std; - - -/// Constructor. -SysMessageBox::SysMessageBox() -{ - mMessageType = mtInformation; -} - -/// Show the dialog. -bool SysMessageBox::Show() -{ - // Intialize Cocoa environment - [NSApplication sharedApplication]; - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - - // Create the alert object - NSAlert *alert = [[NSAlert alloc] init]; - [alert addButtonWithTitle:@"OK"]; - [alert setMessageText:[NSString stringWithCString:mCaption.c_str() length:mCaption.size()]]; - [alert setInformativeText:[NSString stringWithCString:mText.c_str() length:mText.size()]]; - switch(mMessageType) - { - case mtInformation: - default: - [alert setAlertStyle:NSInformationalAlertStyle]; - break; - case mtWarning: - [alert setAlertStyle:NSWarningAlertStyle]; - break; - case mtError: - [alert setAlertStyle:NSCriticalAlertStyle]; - break; - } - - // Show the dialog - NSInteger clickedButton = [alert runModal]; - bool result = (clickedButton == NSAlertFirstButtonReturn); - - // Cleanup - [alert release]; - [pool drain]; - - return result; -} - - -/// Constructor -SysOpenDialog::SysOpenDialog() -{ - mCaption = "Open File"; -} - -/// Show the dialog. -bool SysOpenDialog::Show() -{ - // Intialize Cocoa environment - [NSApplication sharedApplication]; - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - - // Create the file open panel object - NSOpenPanel * oPanel = [NSOpenPanel openPanel]; - [oPanel setCanChooseDirectories:NO]; - [oPanel setCanChooseFiles:YES]; - [oPanel setCanCreateDirectories:NO]; - [oPanel setAllowsMultipleSelection:NO]; - [oPanel setTitle:[NSString stringWithCString:mCaption.c_str() length:mCaption.size()]]; - - // Define filters - FIXME! - // [oPanel setAllowedFileTypes:[NSArray arrayWithObjects:@"ctm", @"3ds", @"stl", @"dae", @"obj", nil]]; - - // Display the dialog - int dlgResult = [oPanel runModal]; - - // Extract the resulting file name - if(dlgResult == NSOKButton) - mFileName = string([[oPanel filename] UTF8String]); - - // Cleanup - [pool drain]; - - return (dlgResult == NSOKButton); -} - - -/// Constructor -SysSaveDialog::SysSaveDialog() -{ - mCaption = "Save File"; -} - -/// Show the dialog. -bool SysSaveDialog::Show() -{ - // Intialize Cocoa environment - [NSApplication sharedApplication]; - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - - // Create the file save panel object - NSSavePanel * sPanel = [NSSavePanel savePanel]; - [sPanel setCanCreateDirectories:YES]; - [sPanel setTitle:[NSString stringWithCString:mCaption.c_str() length:mCaption.size()]]; - - // Define filters - FIXME! - // [oPanel setAllowedFileTypes:[NSArray arrayWithObjects:@"ctm", @"3ds", @"stl", @"dae", @"obj", nil]]; - - // Display the dialog - int dlgResult = [sPanel runModal]; - - // Extract the resulting file name - if(dlgResult == NSOKButton) - mFileName = string([[sPanel filename] UTF8String]); - - // Cleanup - [pool drain]; - - return (dlgResult == NSOKButton); -} diff --git a/3rdparty/openctm/tools/sysdialog_win.cpp b/3rdparty/openctm/tools/sysdialog_win.cpp deleted file mode 100644 index a4395ef3b..000000000 --- a/3rdparty/openctm/tools/sysdialog_win.cpp +++ /dev/null @@ -1,203 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: sysdialog_win.cpp -// Description: Implementation of system GUI dialog routines for Windows. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include -#include -#include "sysdialog.h" - -using namespace std; - - -static BOOL CALLBACK WindowEnumFun(HWND hwnd, LPARAM lParam) -{ - *((HWND *)lParam) = hwnd; - return FALSE; -} - -// Get the window handle of the main window for this application -static HWND GetMainWindow() -{ - HWND result = 0; - EnumThreadWindows(GetCurrentThreadId(), WindowEnumFun, (LPARAM) &result); - return result; -} - - -/// Constructor. -SysMessageBox::SysMessageBox() -{ - mMessageType = mtInformation; -} - -/// Show the dialog. -bool SysMessageBox::Show() -{ - // Select message type - DWORD messageType; - switch(mMessageType) - { - default: - case mtInformation: - messageType = MB_ICONINFORMATION; - break; - case mtWarning: - messageType = MB_ICONWARNING; - break; - case mtError: - messageType = MB_ICONERROR; - break; - } - - // Show the message box - MessageBoxA(GetMainWindow(), mText.c_str(), mCaption.c_str(), - MB_OK | messageType); - - return true; -} - - -/// Constructor -SysOpenDialog::SysOpenDialog() -{ - mCaption = "Open File"; -} - -/// Show the dialog. -bool SysOpenDialog::Show() -{ - OPENFILENAME ofn; - char fileNameBuf[1000]; - - // Initialize the file dialog structure - memset(&ofn, 0, sizeof(OPENFILENAME)); - ofn.lStructSize = sizeof(OPENFILENAME); - memset(&fileNameBuf, 0, sizeof(fileNameBuf)); - ofn.lpstrFile = fileNameBuf; - ofn.nMaxFile = sizeof(fileNameBuf); - ofn.lpstrTitle = mCaption.c_str(); - ofn.hwndOwner = GetMainWindow(); - ofn.Flags = 0; - - // Add filters - int filterBufSize = 3; - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - filterBufSize += (*i).size() + 1; - char * filterBuf = new char[filterBufSize]; - memset(filterBuf, 0, filterBufSize); - int pos = 0; - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - { - size_t splitPos = (*i).find("|"); - if(splitPos != string::npos) - { - string name = (*i).substr(0, splitPos); - string pattern = (*i).substr(splitPos + 1); - memcpy(&filterBuf[pos], name.c_str(), name.size()); - pos += name.size() + 1; - memcpy(&filterBuf[pos], pattern.c_str(), pattern.size()); - pos += pattern.size() + 1; - } - } - ofn.lpstrFilter = filterBuf; - ofn.nFilterIndex = 1; - - // Show the dialog - bool result = GetOpenFileNameA(&ofn); - - // Extract the resulting file name - if(result) - mFileName = string(fileNameBuf); - else - mFileName = string(""); - - // Clean up - delete [] filterBuf; - - return result; -} - - -/// Constructor -SysSaveDialog::SysSaveDialog() -{ - mCaption = "Save File"; -} - -/// Show the dialog. -bool SysSaveDialog::Show() -{ - OPENFILENAME ofn; - char fileNameBuf[1000]; - - // Initialize the file dialog structure - memset(&ofn, 0, sizeof(OPENFILENAME)); - ofn.lStructSize = sizeof(OPENFILENAME); - memset(&fileNameBuf, 0, sizeof(fileNameBuf)); - mFileName.copy(fileNameBuf, mFileName.size()); - ofn.lpstrFile = fileNameBuf; - ofn.nMaxFile = sizeof(fileNameBuf); - ofn.lpstrTitle = mCaption.c_str(); - ofn.hwndOwner = GetMainWindow(); - ofn.Flags = OFN_OVERWRITEPROMPT; - - // Add filters - int filterBufSize = 3; - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - filterBufSize += (*i).size() + 1; - char * filterBuf = new char[filterBufSize]; - memset(filterBuf, 0, filterBufSize); - int pos = 0; - for(list::iterator i = mFilters.begin(); i != mFilters.end(); ++ i) - { - size_t splitPos = (*i).find("|"); - if(splitPos != string::npos) - { - string name = (*i).substr(0, splitPos); - string pattern = (*i).substr(splitPos + 1); - memcpy(&filterBuf[pos], name.c_str(), name.size()); - pos += name.size() + 1; - memcpy(&filterBuf[pos], pattern.c_str(), pattern.size()); - pos += pattern.size() + 1; - } - } - ofn.lpstrFilter = filterBuf; - ofn.nFilterIndex = 1; - - // Show the dialog - bool result = GetSaveFileNameA(&ofn); - - // Extract the resulting file name - if(result) - mFileName = string(fileNameBuf); - else - mFileName = string(""); - - // Clean up - delete [] filterBuf; - - return result; -} diff --git a/3rdparty/openctm/tools/systimer.cpp b/3rdparty/openctm/tools/systimer.cpp deleted file mode 100644 index fbccef18c..000000000 --- a/3rdparty/openctm/tools/systimer.cpp +++ /dev/null @@ -1,75 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: systimer.cpp -// Description: Implementation of the system timer routines. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#include "systimer.h" - -using namespace std; - - -/// Constructor -SysTimer::SysTimer() -{ -#ifdef WIN32 - if(QueryPerformanceFrequency((LARGE_INTEGER *)&mTimeFreq)) - QueryPerformanceCounter((LARGE_INTEGER *)&mTimeStart); - else - mTimeFreq = 0; -#else - struct timeval tv; - gettimeofday(&tv, 0); - mTimeStart = (long long) tv.tv_sec * (long long) 1000000 + (long long) tv.tv_usec; -#endif -} - -/// Get current time. -double SysTimer::GetTime() -{ -#ifdef WIN32 - __int64 t; - QueryPerformanceCounter((LARGE_INTEGER *)&t); - return double(t - mTimeStart) / double(mTimeFreq); -#else - struct timeval tv; - gettimeofday(&tv, 0); - long long t = (long long) tv.tv_sec * (long long) 1000000 + (long long) tv.tv_usec; - return (1e-6) * double(t - mTimeStart); -#endif -} - -/// Push current time (start measuring). -void SysTimer::Push() -{ - mStack.push_back(GetTime()); -} - -/// Pop delta time since last push. -double SysTimer::PopDelta() -{ - double delta = GetTime() - mStack.back(); - mStack.pop_back(); - return delta; -} diff --git a/3rdparty/openctm/tools/systimer.h b/3rdparty/openctm/tools/systimer.h deleted file mode 100644 index e0a0e2220..000000000 --- a/3rdparty/openctm/tools/systimer.h +++ /dev/null @@ -1,66 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: systimer.h -// Description: Interface for the system timer routines. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __SYSIMER_H_ -#define __SYSIMER_H_ - -#if !defined(WIN32) && defined(_WIN32) -#define WIN32 -#endif - -#ifdef WIN32 -#include -#else -#include -#endif -#include - -class SysTimer { - private: - std::list mStack; -#ifdef WIN32 - __int64 mTimeFreq; - __int64 mTimeStart; -#else - long long mTimeStart; -#endif - - public: - /// Constructor - SysTimer(); - - /// Get current time. - double GetTime(); - - /// Push current time (start measuring). - void Push(); - - /// Pop delta time since last push. - double PopDelta(); -}; - -#endif // __SYSIMER_H_ diff --git a/3rdparty/openctm/tools/tinyxml/Makefile.linux b/3rdparty/openctm/tools/tinyxml/Makefile.linux deleted file mode 100644 index 6b5ec24cb..000000000 --- a/3rdparty/openctm/tools/tinyxml/Makefile.linux +++ /dev/null @@ -1,35 +0,0 @@ -#**************************************************************************** -# Makefile for TinyXml for Linux -#**************************************************************************** - -# Compiler configuration -CPP = g++ -AR = ar rcs -CPPFLAGS = -Wall -Wno-unknown-pragmas -Wno-format -O3 - -# Target files -STATICLIB = libtinyxml.a - -all: $(STATICLIB) - -# Object files -OBJS = tinyxml.o \ - tinyxmlparser.o \ - tinyxmlerror.o \ - tinystr.o - -# Rule for static library -$(STATICLIB): $(OBJS) - $(AR) $@ $(OBJS) - -# Compile rules -%.o : %.cpp - $(CPP) -c $(CPPFLAGS) $< -o $@ - -clean: - rm -f $(OBJS) $(STATICLIB) - -tinyxml.o: tinyxml.cpp tinyxml.h tinystr.h -tinyxmlparser.o: tinyxmlparser.cpp tinyxml.h tinystr.h -tinyxmlerror.o: tinyxmlerror.cpp tinyxml.h tinystr.h -tinystr.o: tinystr.cpp tinystr.h diff --git a/3rdparty/openctm/tools/tinyxml/Makefile.macosx b/3rdparty/openctm/tools/tinyxml/Makefile.macosx deleted file mode 100644 index 6c458f19f..000000000 --- a/3rdparty/openctm/tools/tinyxml/Makefile.macosx +++ /dev/null @@ -1,35 +0,0 @@ -#**************************************************************************** -# Makefile for TinyXml for Mac OS X -#**************************************************************************** - -# Compiler configuration -CPP = g++ -AR = ar rcs -CPPFLAGS = -Wall -Wno-unknown-pragmas -Wno-format -O3 - -# Target files -STATICLIB = libtinyxml.a - -all: $(STATICLIB) - -# Object files -OBJS = tinyxml.o \ - tinyxmlparser.o \ - tinyxmlerror.o \ - tinystr.o - -# Rule for static library -$(STATICLIB): $(OBJS) - $(AR) $@ $(OBJS) - -# Compile rules -%.o : %.cpp - $(CPP) -c $(CPPFLAGS) $< -o $@ - -clean: - rm -f $(OBJS) $(STATICLIB) - -tinyxml.o: tinyxml.cpp tinyxml.h tinystr.h -tinyxmlparser.o: tinyxmlparser.cpp tinyxml.h tinystr.h -tinyxmlerror.o: tinyxmlerror.cpp tinyxml.h tinystr.h -tinystr.o: tinystr.cpp tinystr.h diff --git a/3rdparty/openctm/tools/tinyxml/Makefile.mingw b/3rdparty/openctm/tools/tinyxml/Makefile.mingw deleted file mode 100644 index 3db2b0622..000000000 --- a/3rdparty/openctm/tools/tinyxml/Makefile.mingw +++ /dev/null @@ -1,35 +0,0 @@ -#**************************************************************************** -# Makefile for TinyXml for Windows / MinGW32 -#**************************************************************************** - -# Compiler configuration -CPP = g++ -AR = ar rcs -CPPFLAGS = -Wall -Wno-unknown-pragmas -Wno-format -O3 - -# Target files -STATICLIB = libtinyxml.a - -all: $(STATICLIB) - -# Object files -OBJS = tinyxml.o \ - tinyxmlparser.o \ - tinyxmlerror.o \ - tinystr.o - -# Rule for static library -$(STATICLIB): $(OBJS) - $(AR) $@ $(OBJS) - -# Compile rules -%.o : %.cpp - $(CPP) -c $(CPPFLAGS) $< -o $@ - -clean: - del /Q $(OBJS) $(STATICLIB) - -tinyxml.o: tinyxml.cpp tinyxml.h tinystr.h -tinyxmlparser.o: tinyxmlparser.cpp tinyxml.h tinystr.h -tinyxmlerror.o: tinyxmlerror.cpp tinyxml.h tinystr.h -tinystr.o: tinystr.cpp tinystr.h diff --git a/3rdparty/openctm/tools/tinyxml/Makefile.msvc b/3rdparty/openctm/tools/tinyxml/Makefile.msvc deleted file mode 100644 index fbc9a6011..000000000 --- a/3rdparty/openctm/tools/tinyxml/Makefile.msvc +++ /dev/null @@ -1,35 +0,0 @@ -#**************************************************************************** -# Makefile for TinyXml for Microsoft Visual C++ / nmake -#**************************************************************************** - -# Compiler configuration -CPP = cl -AR = lib /nologo -CPPFLAGS = /nologo /O2 /Gs /W3 /EHsc /D_CRT_SECURE_NO_WARNINGS - -# Target files -STATICLIB = tinyxml.lib - -all: $(STATICLIB) - -# Object files -OBJS = tinyxml.obj \ - tinyxmlparser.obj \ - tinyxmlerror.obj \ - tinystr.obj - -# Rule for static library -$(STATICLIB): $(OBJS) - $(AR) /OUT:$@ $(OBJS) - -# Compile rules -.cpp.obj: - $(CPP) /c $(CPPFLAGS) /Fo$@ $< - -clean: - del /Q $(OBJS) $(STATICLIB) - -tinyxml.obj: tinyxml.cpp tinyxml.h tinystr.h -tinyxmlparser.obj: tinyxmlparser.cpp tinyxml.h tinystr.h -tinyxmlerror.obj: tinyxmlerror.cpp tinyxml.h tinystr.h -tinystr.obj: tinystr.cpp tinystr.h diff --git a/3rdparty/openctm/tools/tinyxml/changes.txt b/3rdparty/openctm/tools/tinyxml/changes.txt deleted file mode 100644 index 4075fd620..000000000 --- a/3rdparty/openctm/tools/tinyxml/changes.txt +++ /dev/null @@ -1,269 +0,0 @@ -Changes in version 1.0.1: -- Fixed comment tags which were outputing as ' include. Thanks - to Steve Lhomme for that. - -Changes in version 2.0.0 BETA -- Made the ToXXX() casts safe if 'this' is null. - When "LoadFile" is called with a filename, the value will correctly get set. - Thanks to Brian Yoder. -- Fixed bug where isalpha() and isalnum() would get called with a negative value for - high ascii numbers. Thanks to Alesky Aksenov. -- Fixed some errors codes that were not getting set. -- Made methods "const" that were not. -- Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() ) -- Greater standardization and code re-use in the parser. -- Added a stream out operator. -- Added a stream in operator. -- Entity support, of predefined entites. &#x entities are untouched by input or output. -- Improved text out formatting. -- Fixed ReplaceChild bug, thanks to Tao Chen. - -Changes in version 2.0.1 -- Fixed hanging on loading a 0 length file. Thanks to Jeff Scozzafava. -- Fixed crashing on InsertBeforeChild and InsertAfterChild. Also possibility of bad links being - created by same function. Thanks to Frank De prins. -- Added missing licence text. Thanks to Lars Willemsens. -- Added include, at the suggestion of Steve Walters. - -Changes in version 2.1.0 -- Yves Berquin brings us the STL switch. The forum on SourceForge, and various emails to - me, have long debated all out STL vs. no STL at all. And now you can have it both ways. - TinyXml will compile either way. - -Changes in version 2.1.1 -- Compilation warnings. - -Changes in version 2.1.2 -- Uneeded code is not compiled in the STL case. -- Changed headers so that STL can be turned on or off in tinyxml.h - -Changes in version 2.1.3 -- Fixed non-const reference in API; now uses a pointer. -- Copy constructor of TiXmlString not checking for assignment to self. -- Nimrod Cohen found a truly evil bug in the STL implementation that occurs - when a string is converted to a c_str and then assigned to self. Search for - STL_STRING_BUG for a full description. I'm asserting this is a Microsoft STL - bug, since &string and string.c_str() should never be the same. Nevertheless, - the code works around it. -- Urivan Saaib pointed out a compiler conflict, where the C headers define - the isblank macro, which was wiping out the TiXmlString::isblank() method. - The method was unused and has been removed. - -Changes in version 2.1.4 -- Reworked the entity code. Entities were not correctly surving round trip input and output. - Will now automatically create entities for high ascii in output. - -Changes in version 2.1.5 -- Bug fix by kylotan : infinite loop on some input (tinyxmlparser.cpp rev 1.27) -- Contributed by Ivica Aracic (bytelord) : 1 new VC++ project to compile versions as static libraries (tinyxml_lib.dsp), - and an example usage in xmltest.dsp - (Patch request ID 678605) -- A suggestion by Ronald Fenner Jr (dormlock) to add #include and for Apple's Project Builder - (Patch request ID 697642) -- A patch from ohommes that allows to parse correctly dots in element names and attribute names - (Patch request 602600 and kylotan 701728) -- A patch from hermitgeek ( James ) and wasteland for improper error reporting -- Reviewed by Lee, with the following changes: - - Got sick of fighting the STL/non-STL thing in the windows build. Broke - them out as seperate projects. - - I have too long not included the dsw. Added. - - TinyXmlText had a protected Print. Odd. - - Made LinkEndChild public, with docs and appropriate warnings. - - Updated the docs. - -2.2.0 -- Fixed an uninitialized pointer in the TiXmlAttributes -- Fixed STL compilation problem in MinGW (and gcc 3?) - thanks Brian Yoder for finding this one -- Fixed a syntax error in TiXmlDeclaration - thanks Brian Yoder -- Fletcher Dunn proposed and submitted new error handling that tracked the row and column. Lee - modified it to not have performance impact. -- General cleanup suggestions from Fletcher Dunn. -- In error handling, general errors will no longer clear the error state of specific ones. -- Fix error in documentation : comments starting with ">) has now - been fixed. - -2.5.2 -- Lieven, and others, pointed out a missing const-cast that upset the Open Watcom compiler. - Should now be fixed. -- ErrorRow and ErrorCol should have been const, and weren't. Fixed thanks to Dmitry Polutov. - -2.5.3 -- zloe_zlo identified a missing string specialization for QueryValueAttribute() [ 1695429 ]. Worked - on this bug, but not sure how to fix it in a safe, cross-compiler way. -- increased warning level to 4 and turned on detect 64 bit portability issues for VC2005. - May address [ 1677737 ] VS2005: /Wp64 warnings -- grosheck identified several problems with the Document copy. Many thanks for [ 1660367 ] -- Nice catch, and suggested fix, be Gilad Novik on the Printer dropping entities. - "[ 1600650 ] Bug when printing xml text" is now fixed. -- A subtle fix from Nicos Gollan in the tinystring initializer: - [ 1581449 ] Fix initialiser of TiXmlString::nullrep_ -- Great catch, although there isn't a submitter for the bug. [ 1475201 ] TinyXML parses entities in comments. - Comments should not, in fact, parse entities. Fixed the code path and added tests. -- We were not catching all the returns from ftell. Thanks to Bernard for catching that. - diff --git a/3rdparty/openctm/tools/tinyxml/readme.txt b/3rdparty/openctm/tools/tinyxml/readme.txt deleted file mode 100644 index 14ec3d2e0..000000000 --- a/3rdparty/openctm/tools/tinyxml/readme.txt +++ /dev/null @@ -1,530 +0,0 @@ -/** @mainpage - -

    TinyXML

    - -TinyXML is a simple, small, C++ XML parser that can be easily -integrated into other programs. - -

    What it does.

    - -In brief, TinyXML parses an XML document, and builds from that a -Document Object Model (DOM) that can be read, modified, and saved. - -XML stands for "eXtensible Markup Language." It allows you to create -your own document markups. Where HTML does a very good job of marking -documents for browsers, XML allows you to define any kind of document -markup, for example a document that describes a "to do" list for an -organizer application. XML is a very structured and convenient format. -All those random file formats created to store application data can -all be replaced with XML. One parser for everything. - -The best place for the complete, correct, and quite frankly hard to -read spec is at -http://www.w3.org/TR/2004/REC-xml-20040204/. An intro to XML -(that I really like) can be found at -http://skew.org/xml/tutorial. - -There are different ways to access and interact with XML data. -TinyXML uses a Document Object Model (DOM), meaning the XML data is parsed -into a C++ objects that can be browsed and manipulated, and then -written to disk or another output stream. You can also construct an XML document -from scratch with C++ objects and write this to disk or another output -stream. - -TinyXML is designed to be easy and fast to learn. It is two headers -and four cpp files. Simply add these to your project and off you go. -There is an example file - xmltest.cpp - to get you started. - -TinyXML is released under the ZLib license, -so you can use it in open source or commercial code. The details -of the license are at the top of every source file. - -TinyXML attempts to be a flexible parser, but with truly correct and -compliant XML output. TinyXML should compile on any reasonably C++ -compliant system. It does not rely on exceptions or RTTI. It can be -compiled with or without STL support. TinyXML fully supports -the UTF-8 encoding, and the first 64k character entities. - - -

    What it doesn't do.

    - -TinyXML doesn't parse or use DTDs (Document Type Definitions) or XSLs -(eXtensible Stylesheet Language.) There are other parsers out there -(check out www.sourceforge.org, search for XML) that are much more fully -featured. But they are also much bigger, take longer to set up in -your project, have a higher learning curve, and often have a more -restrictive license. If you are working with browsers or have more -complete XML needs, TinyXML is not the parser for you. - -The following DTD syntax will not parse at this time in TinyXML: - -@verbatim - - ]> -@endverbatim - -because TinyXML sees this as a !DOCTYPE node with an illegally -embedded !ELEMENT node. This may be addressed in the future. - -

    Tutorials.

    - -For the impatient, here is a tutorial to get you going. A great way to get started, -but it is worth your time to read this (very short) manual completely. - -- @subpage tutorial0 - -

    Code Status.

    - -TinyXML is mature, tested code. It is very stable. If you find -bugs, please file a bug report on the sourceforge web site -(www.sourceforge.net/projects/tinyxml). We'll get them straightened -out as soon as possible. - -There are some areas of improvement; please check sourceforge if you are -interested in working on TinyXML. - -

    Related Projects

    - -TinyXML projects you may find useful! (Descriptions provided by the projects.) - -
      -
    • TinyXPath (http://tinyxpath.sourceforge.net). TinyXPath is a small footprint - XPath syntax decoder, written in C++.
    • -
    • TinyXML++ (http://code.google.com/p/ticpp/). TinyXML++ is a completely new - interface to TinyXML that uses MANY of the C++ strengths. Templates, - exceptions, and much better error handling.
    • -
    - -

    Features

    - -

    Using STL

    - -TinyXML can be compiled to use or not use STL. When using STL, TinyXML -uses the std::string class, and fully supports std::istream, std::ostream, -operator<<, and operator>>. Many API methods have both 'const char*' and -'const std::string&' forms. - -When STL support is compiled out, no STL files are included whatsoever. All -the string classes are implemented by TinyXML itself. API methods -all use the 'const char*' form for input. - -Use the compile time #define: - - TIXML_USE_STL - -to compile one version or the other. This can be passed by the compiler, -or set as the first line of "tinyxml.h". - -Note: If compiling the test code in Linux, setting the environment -variable TINYXML_USE_STL=YES/NO will control STL compilation. In the -Windows project file, STL and non STL targets are provided. In your project, -It's probably easiest to add the line "#define TIXML_USE_STL" as the first -line of tinyxml.h. - -

    UTF-8

    - -TinyXML supports UTF-8 allowing to manipulate XML files in any language. TinyXML -also supports "legacy mode" - the encoding used before UTF-8 support and -probably best described as "extended ascii". - -Normally, TinyXML will try to detect the correct encoding and use it. However, -by setting the value of TIXML_DEFAULT_ENCODING in the header file, TinyXML -can be forced to always use one encoding. - -TinyXML will assume Legacy Mode until one of the following occurs: -
      -
    1. If the non-standard but common "UTF-8 lead bytes" (0xef 0xbb 0xbf) - begin the file or data stream, TinyXML will read it as UTF-8.
    2. -
    3. If the declaration tag is read, and it has an encoding="UTF-8", then - TinyXML will read it as UTF-8.
    4. -
    5. If the declaration tag is read, and it has no encoding specified, then TinyXML will - read it as UTF-8.
    6. -
    7. If the declaration tag is read, and it has an encoding="something else", then TinyXML - will read it as Legacy Mode. In legacy mode, TinyXML will work as it did before. It's - not clear what that mode does exactly, but old content should keep working.
    8. -
    9. Until one of the above criteria is met, TinyXML runs in Legacy Mode.
    10. -
    - -What happens if the encoding is incorrectly set or detected? TinyXML will try -to read and pass through text seen as improperly encoded. You may get some strange results or -mangled characters. You may want to force TinyXML to the correct mode. - -You may force TinyXML to Legacy Mode by using LoadFile( TIXML_ENCODING_LEGACY ) or -LoadFile( filename, TIXML_ENCODING_LEGACY ). You may force it to use legacy mode all -the time by setting TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Likewise, you may -force it to TIXML_ENCODING_UTF8 with the same technique. - -For English users, using English XML, UTF-8 is the same as low-ASCII. You -don't need to be aware of UTF-8 or change your code in any way. You can think -of UTF-8 as a "superset" of ASCII. - -UTF-8 is not a double byte format - but it is a standard encoding of Unicode! -TinyXML does not use or directly support wchar, TCHAR, or Microsoft's _UNICODE at this time. -It is common to see the term "Unicode" improperly refer to UTF-16, a wide byte encoding -of unicode. This is a source of confusion. - -For "high-ascii" languages - everything not English, pretty much - TinyXML can -handle all languages, at the same time, as long as the XML is encoded -in UTF-8. That can be a little tricky, older programs and operating systems -tend to use the "default" or "traditional" code page. Many apps (and almost all -modern ones) can output UTF-8, but older or stubborn (or just broken) ones -still output text in the default code page. - -For example, Japanese systems traditionally use SHIFT-JIS encoding. -Text encoded as SHIFT-JIS can not be read by TinyXML. -A good text editor can import SHIFT-JIS and then save as UTF-8. - -The Skew.org link does a great -job covering the encoding issue. - -The test file "utf8test.xml" is an XML containing English, Spanish, Russian, -and Simplified Chinese. (Hopefully they are translated correctly). The file -"utf8test.gif" is a screen capture of the XML file, rendered in IE. Note that -if you don't have the correct fonts (Simplified Chinese or Russian) on your -system, you won't see output that matches the GIF file even if you can parse -it correctly. Also note that (at least on my Windows machine) console output -is in a Western code page, so that Print() or printf() cannot correctly display -the file. This is not a bug in TinyXML - just an OS issue. No data is lost or -destroyed by TinyXML. The console just doesn't render UTF-8. - - -

    Entities

    -TinyXML recognizes the pre-defined "character entities", meaning special -characters. Namely: - -@verbatim - & & - < < - > > - " " - ' ' -@endverbatim - -These are recognized when the XML document is read, and translated to there -UTF-8 equivalents. For instance, text with the XML of: - -@verbatim - Far & Away -@endverbatim - -will have the Value() of "Far & Away" when queried from the TiXmlText object, -and will be written back to the XML stream/file as an ampersand. Older versions -of TinyXML "preserved" character entities, but the newer versions will translate -them into characters. - -Additionally, any character can be specified by its Unicode code point: -The syntax " " or " " are both to the non-breaking space characher. - -

    Printing

    -TinyXML can print output in several different ways that all have strengths and limitations. - -- Print( FILE* ). Output to a std-C stream, which includes all C files as well as stdout. - - "Pretty prints", but you don't have control over printing options. - - The output is streamed directly to the FILE object, so there is no memory overhead - in the TinyXML code. - - used by Print() and SaveFile() - -- operator<<. Output to a c++ stream. - - Integrates with standart C++ iostreams. - - Outputs in "network printing" mode without line breaks. Good for network transmission - and moving XML between C++ objects, but hard for a human to read. - -- TiXmlPrinter. Output to a std::string or memory buffer. - - API is less concise - - Future printing options will be put here. - - Printing may change slightly in future versions as it is refined and expanded. - -

    Streams

    -With TIXML_USE_STL on TinyXML supports C++ streams (operator <<,>>) streams as well -as C (FILE*) streams. There are some differences that you may need to be aware of. - -C style output: - - based on FILE* - - the Print() and SaveFile() methods - - Generates formatted output, with plenty of white space, intended to be as - human-readable as possible. They are very fast, and tolerant of ill formed - XML documents. For example, an XML document that contains 2 root elements - and 2 declarations, will still print. - -C style input: - - based on FILE* - - the Parse() and LoadFile() methods - - A fast, tolerant read. Use whenever you don't need the C++ streams. - -C++ style output: - - based on std::ostream - - operator<< - - Generates condensed output, intended for network transmission rather than - readability. Depending on your system's implementation of the ostream class, - these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML: - a document should contain the correct one root element. Additional root level - elements will not be streamed out. - -C++ style input: - - based on std::istream - - operator>> - - Reads XML from a stream, making it useful for network transmission. The tricky - part is knowing when the XML document is complete, since there will almost - certainly be other data in the stream. TinyXML will assume the XML data is - complete after it reads the root element. Put another way, documents that - are ill-constructed with more than one root element will not read correctly. - Also note that operator>> is somewhat slower than Parse, due to both - implementation of the STL and limitations of TinyXML. - -

    White space

    -The world simply does not agree on whether white space should be kept, or condensed. -For example, pretend the '_' is a space, and look at "Hello____world". HTML, and -at least some XML parsers, will interpret this as "Hello_world". They condense white -space. Some XML parsers do not, and will leave it as "Hello____world". (Remember -to keep pretending the _ is a space.) Others suggest that __Hello___world__ should become -Hello___world. - -It's an issue that hasn't been resolved to my satisfaction. TinyXML supports the -first 2 approaches. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior. -The default is to condense white space. - -If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool ) -before making any calls to Parse XML data, and I don't recommend changing it after -it has been set. - - -

    Handles

    - -Where browsing an XML document in a robust way, it is important to check -for null returns from method calls. An error safe implementation can -generate a lot of code like: - -@verbatim -TiXmlElement* root = document.FirstChildElement( "Document" ); -if ( root ) -{ - TiXmlElement* element = root->FirstChildElement( "Element" ); - if ( element ) - { - TiXmlElement* child = element->FirstChildElement( "Child" ); - if ( child ) - { - TiXmlElement* child2 = child->NextSiblingElement( "Child" ); - if ( child2 ) - { - // Finally do something useful. -@endverbatim - -Handles have been introduced to clean this up. Using the TiXmlHandle class, -the previous code reduces to: - -@verbatim -TiXmlHandle docHandle( &document ); -TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement(); -if ( child2 ) -{ - // do something useful -@endverbatim - -Which is much easier to deal with. See TiXmlHandle for more information. - - -

    Row and Column tracking

    -Being able to track nodes and attributes back to their origin location -in source files can be very important for some applications. Additionally, -knowing where parsing errors occured in the original source can be very -time saving. - -TinyXML can tracks the row and column origin of all nodes and attributes -in a text file. The TiXmlBase::Row() and TiXmlBase::Column() methods return -the origin of the node in the source text. The correct tabs can be -configured in TiXmlDocument::SetTabSize(). - - -

    Using and Installing

    - -To Compile and Run xmltest: - -A Linux Makefile and a Windows Visual C++ .dsw file is provided. -Simply compile and run. It will write the file demotest.xml to your -disk and generate output on the screen. It also tests walking the -DOM by printing out the number of nodes found using different -techniques. - -The Linux makefile is very generic and runs on many systems - it -is currently tested on mingw and -MacOSX. You do not need to run 'make depend'. The dependecies have been -hard coded. - -

    Windows project file for VC6

    -
      -
    • tinyxml: tinyxml library, non-STL
    • -
    • tinyxmlSTL: tinyxml library, STL
    • -
    • tinyXmlTest: test app, non-STL
    • -
    • tinyXmlTestSTL: test app, STL
    • -
    - -

    Makefile

    -At the top of the makefile you can set: - -PROFILE, DEBUG, and TINYXML_USE_STL. Details (such that they are) are in -the makefile. - -In the tinyxml directory, type "make clean" then "make". The executable -file 'xmltest' will be created. - - - -

    To Use in an Application:

    - -Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.cpp, and tinystr.h to your -project or make file. That's it! It should compile on any reasonably -compliant C++ system. You do not need to enable exceptions or -RTTI for TinyXML. - - -

    How TinyXML works.

    - -An example is probably the best way to go. Take: -@verbatim - - - - Go to the Toy store! - Do bills - -@endverbatim - -Its not much of a To Do list, but it will do. To read this file -(say "demo.xml") you would create a document, and parse it in: -@verbatim - TiXmlDocument doc( "demo.xml" ); - doc.LoadFile(); -@endverbatim - -And its ready to go. Now lets look at some lines and how they -relate to the DOM. - -@verbatim - -@endverbatim - - The first line is a declaration, and gets turned into the - TiXmlDeclaration class. It will be the first child of the - document node. - - This is the only directive/special tag parsed by by TinyXML. - Generally directive tags are stored in TiXmlUnknown so the - commands wont be lost when it is saved back to disk. - -@verbatim - -@endverbatim - - A comment. Will become a TiXmlComment object. - -@verbatim - -@endverbatim - - The "ToDo" tag defines a TiXmlElement object. This one does not have - any attributes, but does contain 2 other elements. - -@verbatim - -@endverbatim - - Creates another TiXmlElement which is a child of the "ToDo" element. - This element has 1 attribute, with the name "priority" and the value - "1". - -@verbatim -Go to the -@endverbatim - - A TiXmlText. This is a leaf node and cannot contain other nodes. - It is a child of the "Item" TiXmlElement. - -@verbatim - -@endverbatim - - - Another TiXmlElement, this one a child of the "Item" element. - -Etc. - -Looking at the entire object tree, you end up with: -@verbatim -TiXmlDocument "demo.xml" - TiXmlDeclaration "version='1.0'" "standalone=no" - TiXmlComment " Our to do list data" - TiXmlElement "ToDo" - TiXmlElement "Item" Attribtutes: priority = 1 - TiXmlText "Go to the " - TiXmlElement "bold" - TiXmlText "Toy store!" - TiXmlElement "Item" Attributes: priority=2 - TiXmlText "Do bills" -@endverbatim - -

    Documentation

    - -The documentation is build with Doxygen, using the 'dox' -configuration file. - -

    License

    - -TinyXML is released under the zlib license: - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any -damages arising from the use of this software. - -Permission is granted to anyone to use this software for any -purpose, including commercial applications, and to alter it and -redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and -must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source -distribution. - -

    References

    - -The World Wide Web Consortium is the definitive standard body for -XML, and there web pages contain huge amounts of information. - -The definitive spec: -http://www.w3.org/TR/2004/REC-xml-20040204/ - -I also recommend "XML Pocket Reference" by Robert Eckstein and published by -OReilly...the book that got the whole thing started. - -

    Contributors, Contacts, and a Brief History

    - -Thanks very much to everyone who sends suggestions, bugs, ideas, and -encouragement. It all helps, and makes this project fun. A special thanks -to the contributors on the web pages that keep it lively. - -So many people have sent in bugs and ideas, that rather than list here -we try to give credit due in the "changes.txt" file. - -TinyXML was originally written by Lee Thomason. (Often the "I" still -in the documentation.) Lee reviews changes and releases new versions, -with the help of Yves Berquin, Andrew Ellerton, and the tinyXml community. - -We appreciate your suggestions, and would love to know if you -use TinyXML. Hopefully you will enjoy it and find it useful. -Please post questions, comments, file bugs, or contact us at: - -www.sourceforge.net/projects/tinyxml - -Lee Thomason, Yves Berquin, Andrew Ellerton -*/ diff --git a/3rdparty/openctm/tools/tinyxml/tinystr.cpp b/3rdparty/openctm/tools/tinyxml/tinystr.cpp deleted file mode 100644 index 681250714..000000000 --- a/3rdparty/openctm/tools/tinyxml/tinystr.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* -www.sourceforge.net/projects/tinyxml -Original file by Yves Berquin. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any -damages arising from the use of this software. - -Permission is granted to anyone to use this software for any -purpose, including commercial applications, and to alter it and -redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and -must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source -distribution. -*/ - -/* - * THIS FILE WAS ALTERED BY Tyge Løvset, 7. April 2005. - */ - - -#ifndef TIXML_USE_STL - -#include "tinystr.h" - -// Error value for find primitive -const TiXmlString::size_type TiXmlString::npos = static_cast< TiXmlString::size_type >(-1); - - -// Null rep. -TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } }; - - -void TiXmlString::reserve (size_type cap) -{ - if (cap > capacity()) - { - TiXmlString tmp; - tmp.init(length(), cap); - memcpy(tmp.start(), data(), length()); - swap(tmp); - } -} - - -TiXmlString& TiXmlString::assign(const char* str, size_type len) -{ - size_type cap = capacity(); - if (len > cap || cap > 3*(len + 8)) - { - TiXmlString tmp; - tmp.init(len); - memcpy(tmp.start(), str, len); - swap(tmp); - } - else - { - memmove(start(), str, len); - set_size(len); - } - return *this; -} - - -TiXmlString& TiXmlString::append(const char* str, size_type len) -{ - size_type newsize = length() + len; - if (newsize > capacity()) - { - reserve (newsize + capacity()); - } - memmove(finish(), str, len); - set_size(newsize); - return *this; -} - - -TiXmlString operator + (const TiXmlString & a, const TiXmlString & b) -{ - TiXmlString tmp; - tmp.reserve(a.length() + b.length()); - tmp += a; - tmp += b; - return tmp; -} - -TiXmlString operator + (const TiXmlString & a, const char* b) -{ - TiXmlString tmp; - TiXmlString::size_type b_len = static_cast( strlen(b) ); - tmp.reserve(a.length() + b_len); - tmp += a; - tmp.append(b, b_len); - return tmp; -} - -TiXmlString operator + (const char* a, const TiXmlString & b) -{ - TiXmlString tmp; - TiXmlString::size_type a_len = static_cast( strlen(a) ); - tmp.reserve(a_len + b.length()); - tmp.append(a, a_len); - tmp += b; - return tmp; -} - - -#endif // TIXML_USE_STL diff --git a/3rdparty/openctm/tools/tinyxml/tinystr.h b/3rdparty/openctm/tools/tinyxml/tinystr.h deleted file mode 100644 index 3c2aa9d54..000000000 --- a/3rdparty/openctm/tools/tinyxml/tinystr.h +++ /dev/null @@ -1,319 +0,0 @@ -/* -www.sourceforge.net/projects/tinyxml -Original file by Yves Berquin. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any -damages arising from the use of this software. - -Permission is granted to anyone to use this software for any -purpose, including commercial applications, and to alter it and -redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and -must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source -distribution. -*/ - -/* - * THIS FILE WAS ALTERED BY Tyge Lovset, 7. April 2005. - * - * - completely rewritten. compact, clean, and fast implementation. - * - sizeof(TiXmlString) = pointer size (4 bytes on 32-bit systems) - * - fixed reserve() to work as per specification. - * - fixed buggy compares operator==(), operator<(), and operator>() - * - fixed operator+=() to take a const ref argument, following spec. - * - added "copy" constructor with length, and most compare operators. - * - added swap(), clear(), size(), capacity(), operator+(). - */ - -#ifndef TIXML_USE_STL - -#ifndef TIXML_STRING_INCLUDED -#define TIXML_STRING_INCLUDED - -#include -#include - -/* The support for explicit isn't that universal, and it isn't really - required - it is used to check that the TiXmlString class isn't incorrectly - used. Be nice to old compilers and macro it here: -*/ -#if defined(_MSC_VER) && (_MSC_VER >= 1200 ) - // Microsoft visual studio, version 6 and higher. - #define TIXML_EXPLICIT explicit -#elif defined(__GNUC__) && (__GNUC__ >= 3 ) - // GCC version 3 and higher.s - #define TIXML_EXPLICIT explicit -#else - #define TIXML_EXPLICIT -#endif - - -/* - TiXmlString is an emulation of a subset of the std::string template. - Its purpose is to allow compiling TinyXML on compilers with no or poor STL support. - Only the member functions relevant to the TinyXML project have been implemented. - The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase - a string and there's no more room, we allocate a buffer twice as big as we need. -*/ -class TiXmlString -{ - public : - // The size type used - typedef size_t size_type; - - // Error value for find primitive - static const size_type npos; // = -1; - - - // TiXmlString empty constructor - TiXmlString () : rep_(&nullrep_) - { - } - - // TiXmlString copy constructor - TiXmlString ( const TiXmlString & copy) : rep_(0) - { - init(copy.length()); - memcpy(start(), copy.data(), length()); - } - - // TiXmlString constructor, based on a string - TIXML_EXPLICIT TiXmlString ( const char * copy) : rep_(0) - { - init( static_cast( strlen(copy) )); - memcpy(start(), copy, length()); - } - - // TiXmlString constructor, based on a string - TIXML_EXPLICIT TiXmlString ( const char * str, size_type len) : rep_(0) - { - init(len); - memcpy(start(), str, len); - } - - // TiXmlString destructor - ~TiXmlString () - { - quit(); - } - - // = operator - TiXmlString& operator = (const char * copy) - { - return assign( copy, (size_type)strlen(copy)); - } - - // = operator - TiXmlString& operator = (const TiXmlString & copy) - { - return assign(copy.start(), copy.length()); - } - - - // += operator. Maps to append - TiXmlString& operator += (const char * suffix) - { - return append(suffix, static_cast( strlen(suffix) )); - } - - // += operator. Maps to append - TiXmlString& operator += (char single) - { - return append(&single, 1); - } - - // += operator. Maps to append - TiXmlString& operator += (const TiXmlString & suffix) - { - return append(suffix.data(), suffix.length()); - } - - - // Convert a TiXmlString into a null-terminated char * - const char * c_str () const { return rep_->str; } - - // Convert a TiXmlString into a char * (need not be null terminated). - const char * data () const { return rep_->str; } - - // Return the length of a TiXmlString - size_type length () const { return rep_->size; } - - // Alias for length() - size_type size () const { return rep_->size; } - - // Checks if a TiXmlString is empty - bool empty () const { return rep_->size == 0; } - - // Return capacity of string - size_type capacity () const { return rep_->capacity; } - - - // single char extraction - const char& at (size_type index) const - { - assert( index < length() ); - return rep_->str[ index ]; - } - - // [] operator - char& operator [] (size_type index) const - { - assert( index < length() ); - return rep_->str[ index ]; - } - - // find a char in a string. Return TiXmlString::npos if not found - size_type find (char lookup) const - { - return find(lookup, 0); - } - - // find a char in a string from an offset. Return TiXmlString::npos if not found - size_type find (char tofind, size_type offset) const - { - if (offset >= length()) return npos; - - for (const char* p = c_str() + offset; *p != '\0'; ++p) - { - if (*p == tofind) return static_cast< size_type >( p - c_str() ); - } - return npos; - } - - void clear () - { - //Lee: - //The original was just too strange, though correct: - // TiXmlString().swap(*this); - //Instead use the quit & re-init: - quit(); - init(0,0); - } - - /* Function to reserve a big amount of data when we know we'll need it. Be aware that this - function DOES NOT clear the content of the TiXmlString if any exists. - */ - void reserve (size_type cap); - - TiXmlString& assign (const char* str, size_type len); - - TiXmlString& append (const char* str, size_type len); - - void swap (TiXmlString& other) - { - Rep* r = rep_; - rep_ = other.rep_; - other.rep_ = r; - } - - private: - - void init(size_type sz) { init(sz, sz); } - void set_size(size_type sz) { rep_->str[ rep_->size = sz ] = '\0'; } - char* start() const { return rep_->str; } - char* finish() const { return rep_->str + rep_->size; } - - struct Rep - { - size_type size, capacity; - char str[1]; - }; - - void init(size_type sz, size_type cap) - { - if (cap) - { - // Lee: the original form: - // rep_ = static_cast(operator new(sizeof(Rep) + cap)); - // doesn't work in some cases of new being overloaded. Switching - // to the normal allocation, although use an 'int' for systems - // that are overly picky about structure alignment. - const size_type bytesNeeded = sizeof(Rep) + cap; - const size_type intsNeeded = ( bytesNeeded + sizeof(int) - 1 ) / sizeof( int ); - rep_ = reinterpret_cast( new int[ intsNeeded ] ); - - rep_->str[ rep_->size = sz ] = '\0'; - rep_->capacity = cap; - } - else - { - rep_ = &nullrep_; - } - } - - void quit() - { - if (rep_ != &nullrep_) - { - // The rep_ is really an array of ints. (see the allocator, above). - // Cast it back before delete, so the compiler won't incorrectly call destructors. - delete [] ( reinterpret_cast( rep_ ) ); - } - } - - Rep * rep_; - static Rep nullrep_; - -} ; - - -inline bool operator == (const TiXmlString & a, const TiXmlString & b) -{ - return ( a.length() == b.length() ) // optimization on some platforms - && ( strcmp(a.c_str(), b.c_str()) == 0 ); // actual compare -} -inline bool operator < (const TiXmlString & a, const TiXmlString & b) -{ - return strcmp(a.c_str(), b.c_str()) < 0; -} - -inline bool operator != (const TiXmlString & a, const TiXmlString & b) { return !(a == b); } -inline bool operator > (const TiXmlString & a, const TiXmlString & b) { return b < a; } -inline bool operator <= (const TiXmlString & a, const TiXmlString & b) { return !(b < a); } -inline bool operator >= (const TiXmlString & a, const TiXmlString & b) { return !(a < b); } - -inline bool operator == (const TiXmlString & a, const char* b) { return strcmp(a.c_str(), b) == 0; } -inline bool operator == (const char* a, const TiXmlString & b) { return b == a; } -inline bool operator != (const TiXmlString & a, const char* b) { return !(a == b); } -inline bool operator != (const char* a, const TiXmlString & b) { return !(b == a); } - -TiXmlString operator + (const TiXmlString & a, const TiXmlString & b); -TiXmlString operator + (const TiXmlString & a, const char* b); -TiXmlString operator + (const char* a, const TiXmlString & b); - - -/* - TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString. - Only the operators that we need for TinyXML have been developped. -*/ -class TiXmlOutStream : public TiXmlString -{ -public : - - // TiXmlOutStream << operator. - TiXmlOutStream & operator << (const TiXmlString & in) - { - *this += in; - return *this; - } - - // TiXmlOutStream << operator. - TiXmlOutStream & operator << (const char * in) - { - *this += in; - return *this; - } - -} ; - -#endif // TIXML_STRING_INCLUDED -#endif // TIXML_USE_STL diff --git a/3rdparty/openctm/tools/tinyxml/tinyxml.cpp b/3rdparty/openctm/tools/tinyxml/tinyxml.cpp deleted file mode 100644 index 5de21f6de..000000000 --- a/3rdparty/openctm/tools/tinyxml/tinyxml.cpp +++ /dev/null @@ -1,1888 +0,0 @@ -/* -www.sourceforge.net/projects/tinyxml -Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com) - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any -damages arising from the use of this software. - -Permission is granted to anyone to use this software for any -purpose, including commercial applications, and to alter it and -redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and -must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source -distribution. -*/ - -#include - -#ifdef TIXML_USE_STL -#include -#include -#endif - -#include "tinyxml.h" - - -bool TiXmlBase::condenseWhiteSpace = true; - -// Microsoft compiler security -FILE* TiXmlFOpen( const char* filename, const char* mode ) -{ - #if defined(_MSC_VER) && (_MSC_VER >= 1400 ) - FILE* fp = 0; - errno_t err = fopen_s( &fp, filename, mode ); - if ( !err && fp ) - return fp; - return 0; - #else - return fopen( filename, mode ); - #endif -} - -void TiXmlBase::EncodeString( const TIXML_STRING& str, TIXML_STRING* outString ) -{ - int i=0; - - while( i<(int)str.length() ) - { - unsigned char c = (unsigned char) str[i]; - - if ( c == '&' - && i < ( (int)str.length() - 2 ) - && str[i+1] == '#' - && str[i+2] == 'x' ) - { - // Hexadecimal character reference. - // Pass through unchanged. - // © -- copyright symbol, for example. - // - // The -1 is a bug fix from Rob Laveaux. It keeps - // an overflow from happening if there is no ';'. - // There are actually 2 ways to exit this loop - - // while fails (error case) and break (semicolon found). - // However, there is no mechanism (currently) for - // this function to return an error. - while ( i<(int)str.length()-1 ) - { - outString->append( str.c_str() + i, 1 ); - ++i; - if ( str[i] == ';' ) - break; - } - } - else if ( c == '&' ) - { - outString->append( entity[0].str, entity[0].strLength ); - ++i; - } - else if ( c == '<' ) - { - outString->append( entity[1].str, entity[1].strLength ); - ++i; - } - else if ( c == '>' ) - { - outString->append( entity[2].str, entity[2].strLength ); - ++i; - } - else if ( c == '\"' ) - { - outString->append( entity[3].str, entity[3].strLength ); - ++i; - } - else if ( c == '\'' ) - { - outString->append( entity[4].str, entity[4].strLength ); - ++i; - } - else if ( c < 32 ) - { - // Easy pass at non-alpha/numeric/symbol - // Below 32 is symbolic. - char buf[ 32 ]; - - #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) ); - #else - sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) ); - #endif - - //*ME: warning C4267: convert 'size_t' to 'int' - //*ME: Int-Cast to make compiler happy ... - outString->append( buf, (int)strlen( buf ) ); - ++i; - } - else - { - //char realc = (char) c; - //outString->append( &realc, 1 ); - *outString += (char) c; // somewhat more efficient function call. - ++i; - } - } -} - - -TiXmlNode::TiXmlNode( NodeType _type ) : TiXmlBase() -{ - parent = 0; - type = _type; - firstChild = 0; - lastChild = 0; - prev = 0; - next = 0; -} - - -TiXmlNode::~TiXmlNode() -{ - TiXmlNode* node = firstChild; - TiXmlNode* temp = 0; - - while ( node ) - { - temp = node; - node = node->next; - delete temp; - } -} - - -void TiXmlNode::CopyTo( TiXmlNode* target ) const -{ - target->SetValue (value.c_str() ); - target->userData = userData; -} - - -void TiXmlNode::Clear() -{ - TiXmlNode* node = firstChild; - TiXmlNode* temp = 0; - - while ( node ) - { - temp = node; - node = node->next; - delete temp; - } - - firstChild = 0; - lastChild = 0; -} - - -TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node ) -{ - assert( node->parent == 0 || node->parent == this ); - assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() ); - - if ( node->Type() == TiXmlNode::DOCUMENT ) - { - delete node; - if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - - node->parent = this; - - node->prev = lastChild; - node->next = 0; - - if ( lastChild ) - lastChild->next = node; - else - firstChild = node; // it was an empty list. - - lastChild = node; - return node; -} - - -TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis ) -{ - if ( addThis.Type() == TiXmlNode::DOCUMENT ) - { - if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - TiXmlNode* node = addThis.Clone(); - if ( !node ) - return 0; - - return LinkEndChild( node ); -} - - -TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ) -{ - if ( !beforeThis || beforeThis->parent != this ) { - return 0; - } - if ( addThis.Type() == TiXmlNode::DOCUMENT ) - { - if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - - TiXmlNode* node = addThis.Clone(); - if ( !node ) - return 0; - node->parent = this; - - node->next = beforeThis; - node->prev = beforeThis->prev; - if ( beforeThis->prev ) - { - beforeThis->prev->next = node; - } - else - { - assert( firstChild == beforeThis ); - firstChild = node; - } - beforeThis->prev = node; - return node; -} - - -TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ) -{ - if ( !afterThis || afterThis->parent != this ) { - return 0; - } - if ( addThis.Type() == TiXmlNode::DOCUMENT ) - { - if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - - TiXmlNode* node = addThis.Clone(); - if ( !node ) - return 0; - node->parent = this; - - node->prev = afterThis; - node->next = afterThis->next; - if ( afterThis->next ) - { - afterThis->next->prev = node; - } - else - { - assert( lastChild == afterThis ); - lastChild = node; - } - afterThis->next = node; - return node; -} - - -TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ) -{ - if ( replaceThis->parent != this ) - return 0; - - TiXmlNode* node = withThis.Clone(); - if ( !node ) - return 0; - - node->next = replaceThis->next; - node->prev = replaceThis->prev; - - if ( replaceThis->next ) - replaceThis->next->prev = node; - else - lastChild = node; - - if ( replaceThis->prev ) - replaceThis->prev->next = node; - else - firstChild = node; - - delete replaceThis; - node->parent = this; - return node; -} - - -bool TiXmlNode::RemoveChild( TiXmlNode* removeThis ) -{ - if ( removeThis->parent != this ) - { - assert( 0 ); - return false; - } - - if ( removeThis->next ) - removeThis->next->prev = removeThis->prev; - else - lastChild = removeThis->prev; - - if ( removeThis->prev ) - removeThis->prev->next = removeThis->next; - else - firstChild = removeThis->next; - - delete removeThis; - return true; -} - -const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const -{ - const TiXmlNode* node; - for ( node = firstChild; node; node = node->next ) - { - if ( strcmp( node->Value(), _value ) == 0 ) - return node; - } - return 0; -} - - -const TiXmlNode* TiXmlNode::LastChild( const char * _value ) const -{ - const TiXmlNode* node; - for ( node = lastChild; node; node = node->prev ) - { - if ( strcmp( node->Value(), _value ) == 0 ) - return node; - } - return 0; -} - - -const TiXmlNode* TiXmlNode::IterateChildren( const TiXmlNode* previous ) const -{ - if ( !previous ) - { - return FirstChild(); - } - else - { - assert( previous->parent == this ); - return previous->NextSibling(); - } -} - - -const TiXmlNode* TiXmlNode::IterateChildren( const char * val, const TiXmlNode* previous ) const -{ - if ( !previous ) - { - return FirstChild( val ); - } - else - { - assert( previous->parent == this ); - return previous->NextSibling( val ); - } -} - - -const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const -{ - const TiXmlNode* node; - for ( node = next; node; node = node->next ) - { - if ( strcmp( node->Value(), _value ) == 0 ) - return node; - } - return 0; -} - - -const TiXmlNode* TiXmlNode::PreviousSibling( const char * _value ) const -{ - const TiXmlNode* node; - for ( node = prev; node; node = node->prev ) - { - if ( strcmp( node->Value(), _value ) == 0 ) - return node; - } - return 0; -} - - -void TiXmlElement::RemoveAttribute( const char * name ) -{ - #ifdef TIXML_USE_STL - TIXML_STRING str( name ); - TiXmlAttribute* node = attributeSet.Find( str ); - #else - TiXmlAttribute* node = attributeSet.Find( name ); - #endif - if ( node ) - { - attributeSet.Remove( node ); - delete node; - } -} - -const TiXmlElement* TiXmlNode::FirstChildElement() const -{ - const TiXmlNode* node; - - for ( node = FirstChild(); - node; - node = node->NextSibling() ) - { - if ( node->ToElement() ) - return node->ToElement(); - } - return 0; -} - - -const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const -{ - const TiXmlNode* node; - - for ( node = FirstChild( _value ); - node; - node = node->NextSibling( _value ) ) - { - if ( node->ToElement() ) - return node->ToElement(); - } - return 0; -} - - -const TiXmlElement* TiXmlNode::NextSiblingElement() const -{ - const TiXmlNode* node; - - for ( node = NextSibling(); - node; - node = node->NextSibling() ) - { - if ( node->ToElement() ) - return node->ToElement(); - } - return 0; -} - - -const TiXmlElement* TiXmlNode::NextSiblingElement( const char * _value ) const -{ - const TiXmlNode* node; - - for ( node = NextSibling( _value ); - node; - node = node->NextSibling( _value ) ) - { - if ( node->ToElement() ) - return node->ToElement(); - } - return 0; -} - - -const TiXmlDocument* TiXmlNode::GetDocument() const -{ - const TiXmlNode* node; - - for( node = this; node; node = node->parent ) - { - if ( node->ToDocument() ) - return node->ToDocument(); - } - return 0; -} - - -TiXmlElement::TiXmlElement (const char * _value) - : TiXmlNode( TiXmlNode::ELEMENT ) -{ - firstChild = lastChild = 0; - value = _value; -} - - -#ifdef TIXML_USE_STL -TiXmlElement::TiXmlElement( const std::string& _value ) - : TiXmlNode( TiXmlNode::ELEMENT ) -{ - firstChild = lastChild = 0; - value = _value; -} -#endif - - -TiXmlElement::TiXmlElement( const TiXmlElement& copy) - : TiXmlNode( TiXmlNode::ELEMENT ) -{ - firstChild = lastChild = 0; - copy.CopyTo( this ); -} - - -void TiXmlElement::operator=( const TiXmlElement& base ) -{ - ClearThis(); - base.CopyTo( this ); -} - - -TiXmlElement::~TiXmlElement() -{ - ClearThis(); -} - - -void TiXmlElement::ClearThis() -{ - Clear(); - while( attributeSet.First() ) - { - TiXmlAttribute* node = attributeSet.First(); - attributeSet.Remove( node ); - delete node; - } -} - - -const char* TiXmlElement::Attribute( const char* name ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( node ) - return node->Value(); - return 0; -} - - -#ifdef TIXML_USE_STL -const std::string* TiXmlElement::Attribute( const std::string& name ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( node ) - return &node->ValueStr(); - return 0; -} -#endif - - -const char* TiXmlElement::Attribute( const char* name, int* i ) const -{ - const char* s = Attribute( name ); - if ( i ) - { - if ( s ) { - *i = atoi( s ); - } - else { - *i = 0; - } - } - return s; -} - - -#ifdef TIXML_USE_STL -const std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const -{ - const std::string* s = Attribute( name ); - if ( i ) - { - if ( s ) { - *i = atoi( s->c_str() ); - } - else { - *i = 0; - } - } - return s; -} -#endif - - -const char* TiXmlElement::Attribute( const char* name, double* d ) const -{ - const char* s = Attribute( name ); - if ( d ) - { - if ( s ) { - *d = atof( s ); - } - else { - *d = 0; - } - } - return s; -} - - -#ifdef TIXML_USE_STL -const std::string* TiXmlElement::Attribute( const std::string& name, double* d ) const -{ - const std::string* s = Attribute( name ); - if ( d ) - { - if ( s ) { - *d = atof( s->c_str() ); - } - else { - *d = 0; - } - } - return s; -} -#endif - - -int TiXmlElement::QueryIntAttribute( const char* name, int* ival ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - return node->QueryIntValue( ival ); -} - - -#ifdef TIXML_USE_STL -int TiXmlElement::QueryIntAttribute( const std::string& name, int* ival ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - return node->QueryIntValue( ival ); -} -#endif - - -int TiXmlElement::QueryDoubleAttribute( const char* name, double* dval ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - return node->QueryDoubleValue( dval ); -} - - -#ifdef TIXML_USE_STL -int TiXmlElement::QueryDoubleAttribute( const std::string& name, double* dval ) const -{ - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - return node->QueryDoubleValue( dval ); -} -#endif - - -void TiXmlElement::SetAttribute( const char * name, int val ) -{ - char buf[64]; - #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF( buf, sizeof(buf), "%d", val ); - #else - sprintf( buf, "%d", val ); - #endif - SetAttribute( name, buf ); -} - - -#ifdef TIXML_USE_STL -void TiXmlElement::SetAttribute( const std::string& name, int val ) -{ - std::ostringstream oss; - oss << val; - SetAttribute( name, oss.str() ); -} -#endif - - -void TiXmlElement::SetDoubleAttribute( const char * name, double val ) -{ - char buf[256]; - #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF( buf, sizeof(buf), "%f", val ); - #else - sprintf( buf, "%f", val ); - #endif - SetAttribute( name, buf ); -} - - -void TiXmlElement::SetAttribute( const char * cname, const char * cvalue ) -{ - #ifdef TIXML_USE_STL - TIXML_STRING _name( cname ); - TIXML_STRING _value( cvalue ); - #else - const char* _name = cname; - const char* _value = cvalue; - #endif - - TiXmlAttribute* node = attributeSet.Find( _name ); - if ( node ) - { - node->SetValue( _value ); - return; - } - - TiXmlAttribute* attrib = new TiXmlAttribute( cname, cvalue ); - if ( attrib ) - { - attributeSet.Add( attrib ); - } - else - { - TiXmlDocument* document = GetDocument(); - if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN ); - } -} - - -#ifdef TIXML_USE_STL -void TiXmlElement::SetAttribute( const std::string& name, const std::string& _value ) -{ - TiXmlAttribute* node = attributeSet.Find( name ); - if ( node ) - { - node->SetValue( _value ); - return; - } - - TiXmlAttribute* attrib = new TiXmlAttribute( name, _value ); - if ( attrib ) - { - attributeSet.Add( attrib ); - } - else - { - TiXmlDocument* document = GetDocument(); - if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN ); - } -} -#endif - - -void TiXmlElement::Print( FILE* cfile, int depth ) const -{ - int i; - assert( cfile ); - for ( i=0; iNext() ) - { - fprintf( cfile, " " ); - attrib->Print( cfile, depth ); - } - - // There are 3 different formatting approaches: - // 1) An element without children is printed as a node - // 2) An element with only a text child is printed as text - // 3) An element with children is printed on multiple lines. - TiXmlNode* node; - if ( !firstChild ) - { - fprintf( cfile, " />" ); - } - else if ( firstChild == lastChild && firstChild->ToText() ) - { - fprintf( cfile, ">" ); - firstChild->Print( cfile, depth + 1 ); - fprintf( cfile, "", value.c_str() ); - } - else - { - fprintf( cfile, ">" ); - - for ( node = firstChild; node; node=node->NextSibling() ) - { - if ( !node->ToText() ) - { - fprintf( cfile, "\n" ); - } - node->Print( cfile, depth+1 ); - } - fprintf( cfile, "\n" ); - for( i=0; i", value.c_str() ); - } -} - - -void TiXmlElement::CopyTo( TiXmlElement* target ) const -{ - // superclass: - TiXmlNode::CopyTo( target ); - - // Element class: - // Clone the attributes, then clone the children. - const TiXmlAttribute* attribute = 0; - for( attribute = attributeSet.First(); - attribute; - attribute = attribute->Next() ) - { - target->SetAttribute( attribute->Name(), attribute->Value() ); - } - - TiXmlNode* node = 0; - for ( node = firstChild; node; node = node->NextSibling() ) - { - target->LinkEndChild( node->Clone() ); - } -} - -bool TiXmlElement::Accept( TiXmlVisitor* visitor ) const -{ - if ( visitor->VisitEnter( *this, attributeSet.First() ) ) - { - for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() ) - { - if ( !node->Accept( visitor ) ) - break; - } - } - return visitor->VisitExit( *this ); -} - - -TiXmlNode* TiXmlElement::Clone() const -{ - TiXmlElement* clone = new TiXmlElement( Value() ); - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -const char* TiXmlElement::GetText() const -{ - const TiXmlNode* child = this->FirstChild(); - if ( child ) { - const TiXmlText* childText = child->ToText(); - if ( childText ) { - return childText->Value(); - } - } - return 0; -} - - -TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::DOCUMENT ) -{ - tabsize = 4; - useMicrosoftBOM = false; - ClearError(); -} - -TiXmlDocument::TiXmlDocument( const char * documentName ) : TiXmlNode( TiXmlNode::DOCUMENT ) -{ - tabsize = 4; - useMicrosoftBOM = false; - value = documentName; - ClearError(); -} - - -#ifdef TIXML_USE_STL -TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::DOCUMENT ) -{ - tabsize = 4; - useMicrosoftBOM = false; - value = documentName; - ClearError(); -} -#endif - - -TiXmlDocument::TiXmlDocument( const TiXmlDocument& copy ) : TiXmlNode( TiXmlNode::DOCUMENT ) -{ - copy.CopyTo( this ); -} - - -void TiXmlDocument::operator=( const TiXmlDocument& copy ) -{ - Clear(); - copy.CopyTo( this ); -} - - -bool TiXmlDocument::LoadFile( TiXmlEncoding encoding ) -{ - // See STL_STRING_BUG below. - //StringToBuffer buf( value ); - - return LoadFile( Value(), encoding ); -} - - -bool TiXmlDocument::SaveFile() const -{ - // See STL_STRING_BUG below. -// StringToBuffer buf( value ); -// -// if ( buf.buffer && SaveFile( buf.buffer ) ) -// return true; -// -// return false; - return SaveFile( Value() ); -} - -bool TiXmlDocument::LoadFile( const char* _filename, TiXmlEncoding encoding ) -{ - // There was a really terrifying little bug here. The code: - // value = filename - // in the STL case, cause the assignment method of the std::string to - // be called. What is strange, is that the std::string had the same - // address as it's c_str() method, and so bad things happen. Looks - // like a bug in the Microsoft STL implementation. - // Add an extra string to avoid the crash. - TIXML_STRING filename( _filename ); - value = filename; - - // reading in binary mode so that tinyxml can normalize the EOL - FILE* file = TiXmlFOpen( value.c_str (), "rb" ); - - if ( file ) - { - bool result = LoadFile( file, encoding ); - fclose( file ); - return result; - } - else - { - SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN ); - return false; - } -} - -bool TiXmlDocument::LoadFile( FILE* file, TiXmlEncoding encoding ) -{ - if ( !file ) - { - SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN ); - return false; - } - - // Delete the existing data: - Clear(); - location.Clear(); - - // Get the file size, so we can pre-allocate the string. HUGE speed impact. - long length = 0; - fseek( file, 0, SEEK_END ); - length = ftell( file ); - fseek( file, 0, SEEK_SET ); - - // Strange case, but good to handle up front. - if ( length <= 0 ) - { - SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return false; - } - - // If we have a file, assume it is all one big XML file, and read it in. - // The document parser may decide the document ends sooner than the entire file, however. - TIXML_STRING data; - data.reserve( length ); - - // Subtle bug here. TinyXml did use fgets. But from the XML spec: - // 2.11 End-of-Line Handling - // - // - // ...the XML processor MUST behave as if it normalized all line breaks in external - // parsed entities (including the document entity) on input, before parsing, by translating - // both the two-character sequence #xD #xA and any #xD that is not followed by #xA to - // a single #xA character. - // - // - // It is not clear fgets does that, and certainly isn't clear it works cross platform. - // Generally, you expect fgets to translate from the convention of the OS to the c/unix - // convention, and not work generally. - - /* - while( fgets( buf, sizeof(buf), file ) ) - { - data += buf; - } - */ - - char* buf = new char[ length+1 ]; - buf[0] = 0; - - if ( fread( buf, length, 1, file ) != 1 ) { - delete [] buf; - SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN ); - return false; - } - - const char* lastPos = buf; - const char* p = buf; - - buf[length] = 0; - while( *p ) { - assert( p < (buf+length) ); - if ( *p == 0xa ) { - // Newline character. No special rules for this. Append all the characters - // since the last string, and include the newline. - data.append( lastPos, (p-lastPos+1) ); // append, include the newline - ++p; // move past the newline - lastPos = p; // and point to the new buffer (may be 0) - assert( p <= (buf+length) ); - } - else if ( *p == 0xd ) { - // Carriage return. Append what we have so far, then - // handle moving forward in the buffer. - if ( (p-lastPos) > 0 ) { - data.append( lastPos, p-lastPos ); // do not add the CR - } - data += (char)0xa; // a proper newline - - if ( *(p+1) == 0xa ) { - // Carriage return - new line sequence - p += 2; - lastPos = p; - assert( p <= (buf+length) ); - } - else { - // it was followed by something else...that is presumably characters again. - ++p; - lastPos = p; - assert( p <= (buf+length) ); - } - } - else { - ++p; - } - } - // Handle any left over characters. - if ( p-lastPos ) { - data.append( lastPos, p-lastPos ); - } - delete [] buf; - buf = 0; - - Parse( data.c_str(), 0, encoding ); - - if ( Error() ) - return false; - else - return true; -} - - -bool TiXmlDocument::SaveFile( const char * filename ) const -{ - // The old c stuff lives on... - FILE* fp = TiXmlFOpen( filename, "w" ); - if ( fp ) - { - bool result = SaveFile( fp ); - fclose( fp ); - return result; - } - return false; -} - - -bool TiXmlDocument::SaveFile( FILE* fp ) const -{ - if ( useMicrosoftBOM ) - { - const unsigned char TIXML_UTF_LEAD_0 = 0xefU; - const unsigned char TIXML_UTF_LEAD_1 = 0xbbU; - const unsigned char TIXML_UTF_LEAD_2 = 0xbfU; - - fputc( TIXML_UTF_LEAD_0, fp ); - fputc( TIXML_UTF_LEAD_1, fp ); - fputc( TIXML_UTF_LEAD_2, fp ); - } - Print( fp, 0 ); - return (ferror(fp) == 0); -} - - -void TiXmlDocument::CopyTo( TiXmlDocument* target ) const -{ - TiXmlNode::CopyTo( target ); - - target->error = error; - target->errorId = errorId; - target->errorDesc = errorDesc; - target->tabsize = tabsize; - target->errorLocation = errorLocation; - target->useMicrosoftBOM = useMicrosoftBOM; - - TiXmlNode* node = 0; - for ( node = firstChild; node; node = node->NextSibling() ) - { - target->LinkEndChild( node->Clone() ); - } -} - - -TiXmlNode* TiXmlDocument::Clone() const -{ - TiXmlDocument* clone = new TiXmlDocument(); - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -void TiXmlDocument::Print( FILE* cfile, int depth ) const -{ - assert( cfile ); - for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() ) - { - node->Print( cfile, depth ); - fprintf( cfile, "\n" ); - } -} - - -bool TiXmlDocument::Accept( TiXmlVisitor* visitor ) const -{ - if ( visitor->VisitEnter( *this ) ) - { - for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() ) - { - if ( !node->Accept( visitor ) ) - break; - } - } - return visitor->VisitExit( *this ); -} - - -const TiXmlAttribute* TiXmlAttribute::Next() const -{ - // We are using knowledge of the sentinel. The sentinel - // have a value or name. - if ( next->value.empty() && next->name.empty() ) - return 0; - return next; -} - -/* -TiXmlAttribute* TiXmlAttribute::Next() -{ - // We are using knowledge of the sentinel. The sentinel - // have a value or name. - if ( next->value.empty() && next->name.empty() ) - return 0; - return next; -} -*/ - -const TiXmlAttribute* TiXmlAttribute::Previous() const -{ - // We are using knowledge of the sentinel. The sentinel - // have a value or name. - if ( prev->value.empty() && prev->name.empty() ) - return 0; - return prev; -} - -/* -TiXmlAttribute* TiXmlAttribute::Previous() -{ - // We are using knowledge of the sentinel. The sentinel - // have a value or name. - if ( prev->value.empty() && prev->name.empty() ) - return 0; - return prev; -} -*/ - -void TiXmlAttribute::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const -{ - TIXML_STRING n, v; - - EncodeString( name, &n ); - EncodeString( value, &v ); - - if (value.find ('\"') == TIXML_STRING::npos) { - if ( cfile ) { - fprintf (cfile, "%s=\"%s\"", n.c_str(), v.c_str() ); - } - if ( str ) { - (*str) += n; (*str) += "=\""; (*str) += v; (*str) += "\""; - } - } - else { - if ( cfile ) { - fprintf (cfile, "%s='%s'", n.c_str(), v.c_str() ); - } - if ( str ) { - (*str) += n; (*str) += "='"; (*str) += v; (*str) += "'"; - } - } -} - - -int TiXmlAttribute::QueryIntValue( int* ival ) const -{ - if ( TIXML_SSCANF( value.c_str(), "%d", ival ) == 1 ) - return TIXML_SUCCESS; - return TIXML_WRONG_TYPE; -} - -int TiXmlAttribute::QueryDoubleValue( double* dval ) const -{ - if ( TIXML_SSCANF( value.c_str(), "%lf", dval ) == 1 ) - return TIXML_SUCCESS; - return TIXML_WRONG_TYPE; -} - -void TiXmlAttribute::SetIntValue( int _value ) -{ - char buf [64]; - #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF(buf, sizeof(buf), "%d", _value); - #else - sprintf (buf, "%d", _value); - #endif - SetValue (buf); -} - -void TiXmlAttribute::SetDoubleValue( double _value ) -{ - char buf [256]; - #if defined(TIXML_SNPRINTF) - TIXML_SNPRINTF( buf, sizeof(buf), "%lf", _value); - #else - sprintf (buf, "%lf", _value); - #endif - SetValue (buf); -} - -int TiXmlAttribute::IntValue() const -{ - return atoi (value.c_str ()); -} - -double TiXmlAttribute::DoubleValue() const -{ - return atof (value.c_str ()); -} - - -TiXmlComment::TiXmlComment( const TiXmlComment& copy ) : TiXmlNode( TiXmlNode::COMMENT ) -{ - copy.CopyTo( this ); -} - - -void TiXmlComment::operator=( const TiXmlComment& base ) -{ - Clear(); - base.CopyTo( this ); -} - - -void TiXmlComment::Print( FILE* cfile, int depth ) const -{ - assert( cfile ); - for ( int i=0; i", value.c_str() ); -} - - -void TiXmlComment::CopyTo( TiXmlComment* target ) const -{ - TiXmlNode::CopyTo( target ); -} - - -bool TiXmlComment::Accept( TiXmlVisitor* visitor ) const -{ - return visitor->Visit( *this ); -} - - -TiXmlNode* TiXmlComment::Clone() const -{ - TiXmlComment* clone = new TiXmlComment(); - - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -void TiXmlText::Print( FILE* cfile, int depth ) const -{ - assert( cfile ); - if ( cdata ) - { - int i; - fprintf( cfile, "\n" ); - for ( i=0; i\n", value.c_str() ); // unformatted output - } - else - { - TIXML_STRING buffer; - EncodeString( value, &buffer ); - fprintf( cfile, "%s", buffer.c_str() ); - } -} - - -void TiXmlText::CopyTo( TiXmlText* target ) const -{ - TiXmlNode::CopyTo( target ); - target->cdata = cdata; -} - - -bool TiXmlText::Accept( TiXmlVisitor* visitor ) const -{ - return visitor->Visit( *this ); -} - - -TiXmlNode* TiXmlText::Clone() const -{ - TiXmlText* clone = 0; - clone = new TiXmlText( "" ); - - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -TiXmlDeclaration::TiXmlDeclaration( const char * _version, - const char * _encoding, - const char * _standalone ) - : TiXmlNode( TiXmlNode::DECLARATION ) -{ - version = _version; - encoding = _encoding; - standalone = _standalone; -} - - -#ifdef TIXML_USE_STL -TiXmlDeclaration::TiXmlDeclaration( const std::string& _version, - const std::string& _encoding, - const std::string& _standalone ) - : TiXmlNode( TiXmlNode::DECLARATION ) -{ - version = _version; - encoding = _encoding; - standalone = _standalone; -} -#endif - - -TiXmlDeclaration::TiXmlDeclaration( const TiXmlDeclaration& copy ) - : TiXmlNode( TiXmlNode::DECLARATION ) -{ - copy.CopyTo( this ); -} - - -void TiXmlDeclaration::operator=( const TiXmlDeclaration& copy ) -{ - Clear(); - copy.CopyTo( this ); -} - - -void TiXmlDeclaration::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const -{ - if ( cfile ) fprintf( cfile, "" ); - if ( str ) (*str) += "?>"; -} - - -void TiXmlDeclaration::CopyTo( TiXmlDeclaration* target ) const -{ - TiXmlNode::CopyTo( target ); - - target->version = version; - target->encoding = encoding; - target->standalone = standalone; -} - - -bool TiXmlDeclaration::Accept( TiXmlVisitor* visitor ) const -{ - return visitor->Visit( *this ); -} - - -TiXmlNode* TiXmlDeclaration::Clone() const -{ - TiXmlDeclaration* clone = new TiXmlDeclaration(); - - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -void TiXmlUnknown::Print( FILE* cfile, int depth ) const -{ - for ( int i=0; i", value.c_str() ); -} - - -void TiXmlUnknown::CopyTo( TiXmlUnknown* target ) const -{ - TiXmlNode::CopyTo( target ); -} - - -bool TiXmlUnknown::Accept( TiXmlVisitor* visitor ) const -{ - return visitor->Visit( *this ); -} - - -TiXmlNode* TiXmlUnknown::Clone() const -{ - TiXmlUnknown* clone = new TiXmlUnknown(); - - if ( !clone ) - return 0; - - CopyTo( clone ); - return clone; -} - - -TiXmlAttributeSet::TiXmlAttributeSet() -{ - sentinel.next = &sentinel; - sentinel.prev = &sentinel; -} - - -TiXmlAttributeSet::~TiXmlAttributeSet() -{ - assert( sentinel.next == &sentinel ); - assert( sentinel.prev == &sentinel ); -} - - -void TiXmlAttributeSet::Add( TiXmlAttribute* addMe ) -{ - #ifdef TIXML_USE_STL - assert( !Find( TIXML_STRING( addMe->Name() ) ) ); // Shouldn't be multiply adding to the set. - #else - assert( !Find( addMe->Name() ) ); // Shouldn't be multiply adding to the set. - #endif - - addMe->next = &sentinel; - addMe->prev = sentinel.prev; - - sentinel.prev->next = addMe; - sentinel.prev = addMe; -} - -void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe ) -{ - TiXmlAttribute* node; - - for( node = sentinel.next; node != &sentinel; node = node->next ) - { - if ( node == removeMe ) - { - node->prev->next = node->next; - node->next->prev = node->prev; - node->next = 0; - node->prev = 0; - return; - } - } - assert( 0 ); // we tried to remove a non-linked attribute. -} - - -#ifdef TIXML_USE_STL -const TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) const -{ - for( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next ) - { - if ( node->name == name ) - return node; - } - return 0; -} - -/* -TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) -{ - for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next ) - { - if ( node->name == name ) - return node; - } - return 0; -} -*/ -#endif - - -const TiXmlAttribute* TiXmlAttributeSet::Find( const char* name ) const -{ - for( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next ) - { - if ( strcmp( node->name.c_str(), name ) == 0 ) - return node; - } - return 0; -} - -/* -TiXmlAttribute* TiXmlAttributeSet::Find( const char* name ) -{ - for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next ) - { - if ( strcmp( node->name.c_str(), name ) == 0 ) - return node; - } - return 0; -} -*/ - -#ifdef TIXML_USE_STL -std::istream& operator>> (std::istream & in, TiXmlNode & base) -{ - TIXML_STRING tag; - tag.reserve( 8 * 1000 ); - base.StreamIn( &in, &tag ); - - base.Parse( tag.c_str(), 0, TIXML_DEFAULT_ENCODING ); - return in; -} -#endif - - -#ifdef TIXML_USE_STL -std::ostream& operator<< (std::ostream & out, const TiXmlNode & base) -{ - TiXmlPrinter printer; - printer.SetStreamPrinting(); - base.Accept( &printer ); - out << printer.Str(); - - return out; -} - - -std::string& operator<< (std::string& out, const TiXmlNode& base ) -{ - TiXmlPrinter printer; - printer.SetStreamPrinting(); - base.Accept( &printer ); - out.append( printer.Str() ); - - return out; -} -#endif - - -TiXmlHandle TiXmlHandle::FirstChild() const -{ - if ( node ) - { - TiXmlNode* child = node->FirstChild(); - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::FirstChild( const char * value ) const -{ - if ( node ) - { - TiXmlNode* child = node->FirstChild( value ); - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::FirstChildElement() const -{ - if ( node ) - { - TiXmlElement* child = node->FirstChildElement(); - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::FirstChildElement( const char * value ) const -{ - if ( node ) - { - TiXmlElement* child = node->FirstChildElement( value ); - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::Child( int count ) const -{ - if ( node ) - { - int i; - TiXmlNode* child = node->FirstChild(); - for ( i=0; - child && iNextSibling(), ++i ) - { - // nothing - } - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::Child( const char* value, int count ) const -{ - if ( node ) - { - int i; - TiXmlNode* child = node->FirstChild( value ); - for ( i=0; - child && iNextSibling( value ), ++i ) - { - // nothing - } - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::ChildElement( int count ) const -{ - if ( node ) - { - int i; - TiXmlElement* child = node->FirstChildElement(); - for ( i=0; - child && iNextSiblingElement(), ++i ) - { - // nothing - } - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -TiXmlHandle TiXmlHandle::ChildElement( const char* value, int count ) const -{ - if ( node ) - { - int i; - TiXmlElement* child = node->FirstChildElement( value ); - for ( i=0; - child && iNextSiblingElement( value ), ++i ) - { - // nothing - } - if ( child ) - return TiXmlHandle( child ); - } - return TiXmlHandle( 0 ); -} - - -bool TiXmlPrinter::VisitEnter( const TiXmlDocument& ) -{ - return true; -} - -bool TiXmlPrinter::VisitExit( const TiXmlDocument& ) -{ - return true; -} - -bool TiXmlPrinter::VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute ) -{ - DoIndent(); - buffer += "<"; - buffer += element.Value(); - - for( const TiXmlAttribute* attrib = firstAttribute; attrib; attrib = attrib->Next() ) - { - buffer += " "; - attrib->Print( 0, 0, &buffer ); - } - - if ( !element.FirstChild() ) - { - buffer += " />"; - DoLineBreak(); - } - else - { - buffer += ">"; - if ( element.FirstChild()->ToText() - && element.LastChild() == element.FirstChild() - && element.FirstChild()->ToText()->CDATA() == false ) - { - simpleTextPrint = true; - // no DoLineBreak()! - } - else - { - DoLineBreak(); - } - } - ++depth; - return true; -} - - -bool TiXmlPrinter::VisitExit( const TiXmlElement& element ) -{ - --depth; - if ( !element.FirstChild() ) - { - // nothing. - } - else - { - if ( simpleTextPrint ) - { - simpleTextPrint = false; - } - else - { - DoIndent(); - } - buffer += ""; - DoLineBreak(); - } - return true; -} - - -bool TiXmlPrinter::Visit( const TiXmlText& text ) -{ - if ( text.CDATA() ) - { - DoIndent(); - buffer += ""; - DoLineBreak(); - } - else if ( simpleTextPrint ) - { - TIXML_STRING str; - TiXmlBase::EncodeString( text.ValueTStr(), &str ); - buffer += str; - } - else - { - DoIndent(); - TIXML_STRING str; - TiXmlBase::EncodeString( text.ValueTStr(), &str ); - buffer += str; - DoLineBreak(); - } - return true; -} - - -bool TiXmlPrinter::Visit( const TiXmlDeclaration& declaration ) -{ - DoIndent(); - declaration.Print( 0, 0, &buffer ); - DoLineBreak(); - return true; -} - - -bool TiXmlPrinter::Visit( const TiXmlComment& comment ) -{ - DoIndent(); - buffer += ""; - DoLineBreak(); - return true; -} - - -bool TiXmlPrinter::Visit( const TiXmlUnknown& unknown ) -{ - DoIndent(); - buffer += "<"; - buffer += unknown.Value(); - buffer += ">"; - DoLineBreak(); - return true; -} - diff --git a/3rdparty/openctm/tools/tinyxml/tinyxml.h b/3rdparty/openctm/tools/tinyxml/tinyxml.h deleted file mode 100644 index c6f40cc27..000000000 --- a/3rdparty/openctm/tools/tinyxml/tinyxml.h +++ /dev/null @@ -1,1802 +0,0 @@ -/* -www.sourceforge.net/projects/tinyxml -Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com) - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any -damages arising from the use of this software. - -Permission is granted to anyone to use this software for any -purpose, including commercial applications, and to alter it and -redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must -not claim that you wrote the original software. If you use this -software in a product, an acknowledgment in the product documentation -would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and -must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source -distribution. -*/ - - -#ifndef TINYXML_INCLUDED -#define TINYXML_INCLUDED - -#ifdef _MSC_VER -#pragma warning( push ) -#pragma warning( disable : 4530 ) -#pragma warning( disable : 4786 ) -#endif - -#include -#include -#include -#include -#include - -// Help out windows: -#if defined( _DEBUG ) && !defined( DEBUG ) -#define DEBUG -#endif - -#ifdef TIXML_USE_STL - #include - #include - #include - #define TIXML_STRING std::string -#else - #include "tinystr.h" - #define TIXML_STRING TiXmlString -#endif - -// Deprecated library function hell. Compilers want to use the -// new safe versions. This probably doesn't fully address the problem, -// but it gets closer. There are too many compilers for me to fully -// test. If you get compilation troubles, undefine TIXML_SAFE -#define TIXML_SAFE - -#ifdef TIXML_SAFE - #if defined(_MSC_VER) && (_MSC_VER >= 1400 ) - // Microsoft visual studio, version 2005 and higher. - #define TIXML_SNPRINTF _snprintf_s - #define TIXML_SNSCANF _snscanf_s - #define TIXML_SSCANF sscanf_s - #elif defined(_MSC_VER) && (_MSC_VER >= 1200 ) - // Microsoft visual studio, version 6 and higher. - //#pragma message( "Using _sn* functions." ) - #define TIXML_SNPRINTF _snprintf - #define TIXML_SNSCANF _snscanf - #define TIXML_SSCANF sscanf - #elif defined(__GNUC__) && (__GNUC__ >= 3 ) - // GCC version 3 and higher.s - //#warning( "Using sn* functions." ) - #define TIXML_SNPRINTF snprintf - #define TIXML_SNSCANF snscanf - #define TIXML_SSCANF sscanf - #else - #define TIXML_SSCANF sscanf - #endif -#endif - -class TiXmlDocument; -class TiXmlElement; -class TiXmlComment; -class TiXmlUnknown; -class TiXmlAttribute; -class TiXmlText; -class TiXmlDeclaration; -class TiXmlParsingData; - -const int TIXML_MAJOR_VERSION = 2; -const int TIXML_MINOR_VERSION = 5; -const int TIXML_PATCH_VERSION = 3; - -/* Internal structure for tracking location of items - in the XML file. -*/ -struct TiXmlCursor -{ - TiXmlCursor() { Clear(); } - void Clear() { row = col = -1; } - - int row; // 0 based. - int col; // 0 based. -}; - - -/** - If you call the Accept() method, it requires being passed a TiXmlVisitor - class to handle callbacks. For nodes that contain other nodes (Document, Element) - you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves - are simple called with Visit(). - - If you return 'true' from a Visit method, recursive parsing will continue. If you return - false, no children of this node or its sibilings will be Visited. - - All flavors of Visit methods have a default implementation that returns 'true' (continue - visiting). You need to only override methods that are interesting to you. - - Generally Accept() is called on the TiXmlDocument, although all nodes suppert Visiting. - - You should never change the document from a callback. - - @sa TiXmlNode::Accept() -*/ -class TiXmlVisitor -{ -public: - virtual ~TiXmlVisitor() {} - - /// Visit a document. - virtual bool VisitEnter( const TiXmlDocument& /*doc*/ ) { return true; } - /// Visit a document. - virtual bool VisitExit( const TiXmlDocument& /*doc*/ ) { return true; } - - /// Visit an element. - virtual bool VisitEnter( const TiXmlElement& /*element*/, const TiXmlAttribute* /*firstAttribute*/ ) { return true; } - /// Visit an element. - virtual bool VisitExit( const TiXmlElement& /*element*/ ) { return true; } - - /// Visit a declaration - virtual bool Visit( const TiXmlDeclaration& /*declaration*/ ) { return true; } - /// Visit a text node - virtual bool Visit( const TiXmlText& /*text*/ ) { return true; } - /// Visit a comment node - virtual bool Visit( const TiXmlComment& /*comment*/ ) { return true; } - /// Visit an unknow node - virtual bool Visit( const TiXmlUnknown& /*unknown*/ ) { return true; } -}; - -// Only used by Attribute::Query functions -enum -{ - TIXML_SUCCESS, - TIXML_NO_ATTRIBUTE, - TIXML_WRONG_TYPE -}; - - -// Used by the parsing routines. -enum TiXmlEncoding -{ - TIXML_ENCODING_UNKNOWN, - TIXML_ENCODING_UTF8, - TIXML_ENCODING_LEGACY -}; - -const TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN; - -/** TiXmlBase is a base class for every class in TinyXml. - It does little except to establish that TinyXml classes - can be printed and provide some utility functions. - - In XML, the document and elements can contain - other elements and other types of nodes. - - @verbatim - A Document can contain: Element (container or leaf) - Comment (leaf) - Unknown (leaf) - Declaration( leaf ) - - An Element can contain: Element (container or leaf) - Text (leaf) - Attributes (not on tree) - Comment (leaf) - Unknown (leaf) - - A Decleration contains: Attributes (not on tree) - @endverbatim -*/ -class TiXmlBase -{ - friend class TiXmlNode; - friend class TiXmlElement; - friend class TiXmlDocument; - -public: - TiXmlBase() : userData(0) {} - virtual ~TiXmlBase() {} - - /** All TinyXml classes can print themselves to a filestream - or the string class (TiXmlString in non-STL mode, std::string - in STL mode.) Either or both cfile and str can be null. - - This is a formatted print, and will insert - tabs and newlines. - - (For an unformatted stream, use the << operator.) - */ - virtual void Print( FILE* cfile, int depth ) const = 0; - - /** The world does not agree on whether white space should be kept or - not. In order to make everyone happy, these global, static functions - are provided to set whether or not TinyXml will condense all white space - into a single space or not. The default is to condense. Note changing this - value is not thread safe. - */ - static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; } - - /// Return the current white space setting. - static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; } - - /** Return the position, in the original source file, of this node or attribute. - The row and column are 1-based. (That is the first row and first column is - 1,1). If the returns values are 0 or less, then the parser does not have - a row and column value. - - Generally, the row and column value will be set when the TiXmlDocument::Load(), - TiXmlDocument::LoadFile(), or any TiXmlNode::Parse() is called. It will NOT be set - when the DOM was created from operator>>. - - The values reflect the initial load. Once the DOM is modified programmatically - (by adding or changing nodes and attributes) the new values will NOT update to - reflect changes in the document. - - There is a minor performance cost to computing the row and column. Computation - can be disabled if TiXmlDocument::SetTabSize() is called with 0 as the value. - - @sa TiXmlDocument::SetTabSize() - */ - int Row() const { return location.row + 1; } - int Column() const { return location.col + 1; } ///< See Row() - - void SetUserData( void* user ) { userData = user; } ///< Set a pointer to arbitrary user data. - void* GetUserData() { return userData; } ///< Get a pointer to arbitrary user data. - const void* GetUserData() const { return userData; } ///< Get a pointer to arbitrary user data. - - // Table that returs, for a given lead byte, the total number of bytes - // in the UTF-8 sequence. - static const int utf8ByteTable[256]; - - virtual const char* Parse( const char* p, - TiXmlParsingData* data, - TiXmlEncoding encoding /*= TIXML_ENCODING_UNKNOWN */ ) = 0; - - /** Expands entities in a string. Note this should not contian the tag's '<', '>', etc, - or they will be transformed into entities! - */ - static void EncodeString( const TIXML_STRING& str, TIXML_STRING* out ); - - enum - { - TIXML_NO_ERROR = 0, - TIXML_ERROR, - TIXML_ERROR_OPENING_FILE, - TIXML_ERROR_OUT_OF_MEMORY, - TIXML_ERROR_PARSING_ELEMENT, - TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, - TIXML_ERROR_READING_ELEMENT_VALUE, - TIXML_ERROR_READING_ATTRIBUTES, - TIXML_ERROR_PARSING_EMPTY, - TIXML_ERROR_READING_END_TAG, - TIXML_ERROR_PARSING_UNKNOWN, - TIXML_ERROR_PARSING_COMMENT, - TIXML_ERROR_PARSING_DECLARATION, - TIXML_ERROR_DOCUMENT_EMPTY, - TIXML_ERROR_EMBEDDED_NULL, - TIXML_ERROR_PARSING_CDATA, - TIXML_ERROR_DOCUMENT_TOP_ONLY, - - TIXML_ERROR_STRING_COUNT - }; - -protected: - - static const char* SkipWhiteSpace( const char*, TiXmlEncoding encoding ); - inline static bool IsWhiteSpace( char c ) - { - return ( isspace( (unsigned char) c ) || c == '\n' || c == '\r' ); - } - inline static bool IsWhiteSpace( int c ) - { - if ( c < 256 ) - return IsWhiteSpace( (char) c ); - return false; // Again, only truly correct for English/Latin...but usually works. - } - - #ifdef TIXML_USE_STL - static bool StreamWhiteSpace( std::istream * in, TIXML_STRING * tag ); - static bool StreamTo( std::istream * in, int character, TIXML_STRING * tag ); - #endif - - /* Reads an XML name into the string provided. Returns - a pointer just past the last character of the name, - or 0 if the function has an error. - */ - static const char* ReadName( const char* p, TIXML_STRING* name, TiXmlEncoding encoding ); - - /* Reads text. Returns a pointer past the given end tag. - Wickedly complex options, but it keeps the (sensitive) code in one place. - */ - static const char* ReadText( const char* in, // where to start - TIXML_STRING* text, // the string read - bool ignoreWhiteSpace, // whether to keep the white space - const char* endTag, // what ends this text - bool ignoreCase, // whether to ignore case in the end tag - TiXmlEncoding encoding ); // the current encoding - - // If an entity has been found, transform it into a character. - static const char* GetEntity( const char* in, char* value, int* length, TiXmlEncoding encoding ); - - // Get a character, while interpreting entities. - // The length can be from 0 to 4 bytes. - inline static const char* GetChar( const char* p, char* _value, int* length, TiXmlEncoding encoding ) - { - assert( p ); - if ( encoding == TIXML_ENCODING_UTF8 ) - { - *length = utf8ByteTable[ *((const unsigned char*)p) ]; - assert( *length >= 0 && *length < 5 ); - } - else - { - *length = 1; - } - - if ( *length == 1 ) - { - if ( *p == '&' ) - return GetEntity( p, _value, length, encoding ); - *_value = *p; - return p+1; - } - else if ( *length ) - { - //strncpy( _value, p, *length ); // lots of compilers don't like this function (unsafe), - // and the null terminator isn't needed - for( int i=0; p[i] && i<*length; ++i ) { - _value[i] = p[i]; - } - return p + (*length); - } - else - { - // Not valid text. - return 0; - } - } - - // Return true if the next characters in the stream are any of the endTag sequences. - // Ignore case only works for english, and should only be relied on when comparing - // to English words: StringEqual( p, "version", true ) is fine. - static bool StringEqual( const char* p, - const char* endTag, - bool ignoreCase, - TiXmlEncoding encoding ); - - static const char* errorString[ TIXML_ERROR_STRING_COUNT ]; - - TiXmlCursor location; - - /// Field containing a generic user pointer - void* userData; - - // None of these methods are reliable for any language except English. - // Good for approximation, not great for accuracy. - static int IsAlpha( unsigned char anyByte, TiXmlEncoding encoding ); - static int IsAlphaNum( unsigned char anyByte, TiXmlEncoding encoding ); - inline static int ToLower( int v, TiXmlEncoding encoding ) - { - if ( encoding == TIXML_ENCODING_UTF8 ) - { - if ( v < 128 ) return tolower( v ); - return v; - } - else - { - return tolower( v ); - } - } - static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ); - -private: - TiXmlBase( const TiXmlBase& ); // not implemented. - void operator=( const TiXmlBase& base ); // not allowed. - - struct Entity - { - const char* str; - unsigned int strLength; - char chr; - }; - enum - { - NUM_ENTITY = 5, - MAX_ENTITY_LENGTH = 6 - - }; - static Entity entity[ NUM_ENTITY ]; - static bool condenseWhiteSpace; -}; - - -/** The parent class for everything in the Document Object Model. - (Except for attributes). - Nodes have siblings, a parent, and children. A node can be - in a document, or stand on its own. The type of a TiXmlNode - can be queried, and it can be cast to its more defined type. -*/ -class TiXmlNode : public TiXmlBase -{ - friend class TiXmlDocument; - friend class TiXmlElement; - -public: - #ifdef TIXML_USE_STL - - /** An input stream operator, for every class. Tolerant of newlines and - formatting, but doesn't expect them. - */ - friend std::istream& operator >> (std::istream& in, TiXmlNode& base); - - /** An output stream operator, for every class. Note that this outputs - without any newlines or formatting, as opposed to Print(), which - includes tabs and new lines. - - The operator<< and operator>> are not completely symmetric. Writing - a node to a stream is very well defined. You'll get a nice stream - of output, without any extra whitespace or newlines. - - But reading is not as well defined. (As it always is.) If you create - a TiXmlElement (for example) and read that from an input stream, - the text needs to define an element or junk will result. This is - true of all input streams, but it's worth keeping in mind. - - A TiXmlDocument will read nodes until it reads a root element, and - all the children of that root element. - */ - friend std::ostream& operator<< (std::ostream& out, const TiXmlNode& base); - - /// Appends the XML node or attribute to a std::string. - friend std::string& operator<< (std::string& out, const TiXmlNode& base ); - - #endif - - /** The types of XML nodes supported by TinyXml. (All the - unsupported types are picked up by UNKNOWN.) - */ - enum NodeType - { - DOCUMENT, - ELEMENT, - COMMENT, - UNKNOWN, - TEXT, - DECLARATION, - TYPECOUNT - }; - - virtual ~TiXmlNode(); - - /** The meaning of 'value' changes for the specific type of - TiXmlNode. - @verbatim - Document: filename of the xml file - Element: name of the element - Comment: the comment text - Unknown: the tag contents - Text: the text string - @endverbatim - - The subclasses will wrap this function. - */ - const char *Value() const { return value.c_str (); } - - #ifdef TIXML_USE_STL - /** Return Value() as a std::string. If you only use STL, - this is more efficient than calling Value(). - Only available in STL mode. - */ - const std::string& ValueStr() const { return value; } - #endif - - const TIXML_STRING& ValueTStr() const { return value; } - - /** Changes the value of the node. Defined as: - @verbatim - Document: filename of the xml file - Element: name of the element - Comment: the comment text - Unknown: the tag contents - Text: the text string - @endverbatim - */ - void SetValue(const char * _value) { value = _value;} - - #ifdef TIXML_USE_STL - /// STL std::string form. - void SetValue( const std::string& _value ) { value = _value; } - #endif - - /// Delete all the children of this node. Does not affect 'this'. - void Clear(); - - /// One step up the DOM. - TiXmlNode* Parent() { return parent; } - const TiXmlNode* Parent() const { return parent; } - - const TiXmlNode* FirstChild() const { return firstChild; } ///< The first child of this node. Will be null if there are no children. - TiXmlNode* FirstChild() { return firstChild; } - const TiXmlNode* FirstChild( const char * value ) const; ///< The first child of this node with the matching 'value'. Will be null if none found. - /// The first child of this node with the matching 'value'. Will be null if none found. - TiXmlNode* FirstChild( const char * _value ) { - // Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe) - // call the method, cast the return back to non-const. - return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->FirstChild( _value )); - } - const TiXmlNode* LastChild() const { return lastChild; } /// The last child of this node. Will be null if there are no children. - TiXmlNode* LastChild() { return lastChild; } - - const TiXmlNode* LastChild( const char * value ) const; /// The last child of this node matching 'value'. Will be null if there are no children. - TiXmlNode* LastChild( const char * _value ) { - return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->LastChild( _value )); - } - - #ifdef TIXML_USE_STL - const TiXmlNode* FirstChild( const std::string& _value ) const { return FirstChild (_value.c_str ()); } ///< STL std::string form. - TiXmlNode* FirstChild( const std::string& _value ) { return FirstChild (_value.c_str ()); } ///< STL std::string form. - const TiXmlNode* LastChild( const std::string& _value ) const { return LastChild (_value.c_str ()); } ///< STL std::string form. - TiXmlNode* LastChild( const std::string& _value ) { return LastChild (_value.c_str ()); } ///< STL std::string form. - #endif - - /** An alternate way to walk the children of a node. - One way to iterate over nodes is: - @verbatim - for( child = parent->FirstChild(); child; child = child->NextSibling() ) - @endverbatim - - IterateChildren does the same thing with the syntax: - @verbatim - child = 0; - while( child = parent->IterateChildren( child ) ) - @endverbatim - - IterateChildren takes the previous child as input and finds - the next one. If the previous child is null, it returns the - first. IterateChildren will return null when done. - */ - const TiXmlNode* IterateChildren( const TiXmlNode* previous ) const; - TiXmlNode* IterateChildren( const TiXmlNode* previous ) { - return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( previous ) ); - } - - /// This flavor of IterateChildren searches for children with a particular 'value' - const TiXmlNode* IterateChildren( const char * value, const TiXmlNode* previous ) const; - TiXmlNode* IterateChildren( const char * _value, const TiXmlNode* previous ) { - return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( _value, previous ) ); - } - - #ifdef TIXML_USE_STL - const TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) const { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form. - TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form. - #endif - - /** Add a new node related to this. Adds a child past the LastChild. - Returns a pointer to the new object or NULL if an error occured. - */ - TiXmlNode* InsertEndChild( const TiXmlNode& addThis ); - - - /** Add a new node related to this. Adds a child past the LastChild. - - NOTE: the node to be added is passed by pointer, and will be - henceforth owned (and deleted) by tinyXml. This method is efficient - and avoids an extra copy, but should be used with care as it - uses a different memory model than the other insert functions. - - @sa InsertEndChild - */ - TiXmlNode* LinkEndChild( TiXmlNode* addThis ); - - /** Add a new node related to this. Adds a child before the specified child. - Returns a pointer to the new object or NULL if an error occured. - */ - TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ); - - /** Add a new node related to this. Adds a child after the specified child. - Returns a pointer to the new object or NULL if an error occured. - */ - TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ); - - /** Replace a child of this node. - Returns a pointer to the new object or NULL if an error occured. - */ - TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ); - - /// Delete a child of this node. - bool RemoveChild( TiXmlNode* removeThis ); - - /// Navigate to a sibling node. - const TiXmlNode* PreviousSibling() const { return prev; } - TiXmlNode* PreviousSibling() { return prev; } - - /// Navigate to a sibling node. - const TiXmlNode* PreviousSibling( const char * ) const; - TiXmlNode* PreviousSibling( const char *_prev ) { - return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->PreviousSibling( _prev ) ); - } - - #ifdef TIXML_USE_STL - const TiXmlNode* PreviousSibling( const std::string& _value ) const { return PreviousSibling (_value.c_str ()); } ///< STL std::string form. - TiXmlNode* PreviousSibling( const std::string& _value ) { return PreviousSibling (_value.c_str ()); } ///< STL std::string form. - const TiXmlNode* NextSibling( const std::string& _value) const { return NextSibling (_value.c_str ()); } ///< STL std::string form. - TiXmlNode* NextSibling( const std::string& _value) { return NextSibling (_value.c_str ()); } ///< STL std::string form. - #endif - - /// Navigate to a sibling node. - const TiXmlNode* NextSibling() const { return next; } - TiXmlNode* NextSibling() { return next; } - - /// Navigate to a sibling node with the given 'value'. - const TiXmlNode* NextSibling( const char * ) const; - TiXmlNode* NextSibling( const char* _next ) { - return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->NextSibling( _next ) ); - } - - /** Convenience function to get through elements. - Calls NextSibling and ToElement. Will skip all non-Element - nodes. Returns 0 if there is not another element. - */ - const TiXmlElement* NextSiblingElement() const; - TiXmlElement* NextSiblingElement() { - return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement() ); - } - - /** Convenience function to get through elements. - Calls NextSibling and ToElement. Will skip all non-Element - nodes. Returns 0 if there is not another element. - */ - const TiXmlElement* NextSiblingElement( const char * ) const; - TiXmlElement* NextSiblingElement( const char *_next ) { - return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement( _next ) ); - } - - #ifdef TIXML_USE_STL - const TiXmlElement* NextSiblingElement( const std::string& _value) const { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form. - TiXmlElement* NextSiblingElement( const std::string& _value) { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form. - #endif - - /// Convenience function to get through elements. - const TiXmlElement* FirstChildElement() const; - TiXmlElement* FirstChildElement() { - return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement() ); - } - - /// Convenience function to get through elements. - const TiXmlElement* FirstChildElement( const char * _value ) const; - TiXmlElement* FirstChildElement( const char * _value ) { - return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement( _value ) ); - } - - #ifdef TIXML_USE_STL - const TiXmlElement* FirstChildElement( const std::string& _value ) const { return FirstChildElement (_value.c_str ()); } ///< STL std::string form. - TiXmlElement* FirstChildElement( const std::string& _value ) { return FirstChildElement (_value.c_str ()); } ///< STL std::string form. - #endif - - /** Query the type (as an enumerated value, above) of this node. - The possible types are: DOCUMENT, ELEMENT, COMMENT, - UNKNOWN, TEXT, and DECLARATION. - */ - int Type() const { return type; } - - /** Return a pointer to the Document this node lives in. - Returns null if not in a document. - */ - const TiXmlDocument* GetDocument() const; - TiXmlDocument* GetDocument() { - return const_cast< TiXmlDocument* >( (const_cast< const TiXmlNode* >(this))->GetDocument() ); - } - - /// Returns true if this node has no children. - bool NoChildren() const { return !firstChild; } - - virtual const TiXmlDocument* ToDocument() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual const TiXmlElement* ToElement() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual const TiXmlComment* ToComment() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual const TiXmlUnknown* ToUnknown() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual const TiXmlText* ToText() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual const TiXmlDeclaration* ToDeclaration() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - - virtual TiXmlDocument* ToDocument() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual TiXmlElement* ToElement() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual TiXmlComment* ToComment() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual TiXmlUnknown* ToUnknown() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual TiXmlText* ToText() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - virtual TiXmlDeclaration* ToDeclaration() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type. - - /** Create an exact duplicate of this node and return it. The memory must be deleted - by the caller. - */ - virtual TiXmlNode* Clone() const = 0; - - /** Accept a hierchical visit the nodes in the TinyXML DOM. Every node in the - XML tree will be conditionally visited and the host will be called back - via the TiXmlVisitor interface. - - This is essentially a SAX interface for TinyXML. (Note however it doesn't re-parse - the XML for the callbacks, so the performance of TinyXML is unchanged by using this - interface versus any other.) - - The interface has been based on ideas from: - - - http://www.saxproject.org/ - - http://c2.com/cgi/wiki?HierarchicalVisitorPattern - - Which are both good references for "visiting". - - An example of using Accept(): - @verbatim - TiXmlPrinter printer; - tinyxmlDoc.Accept( &printer ); - const char* xmlcstr = printer.CStr(); - @endverbatim - */ - virtual bool Accept( TiXmlVisitor* visitor ) const = 0; - -protected: - TiXmlNode( NodeType _type ); - - // Copy to the allocated object. Shared functionality between Clone, Copy constructor, - // and the assignment operator. - void CopyTo( TiXmlNode* target ) const; - - #ifdef TIXML_USE_STL - // The real work of the input operator. - virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; - #endif - - // Figure out what is at *p, and parse it. Returns null if it is not an xml node. - TiXmlNode* Identify( const char* start, TiXmlEncoding encoding ); - - TiXmlNode* parent; - NodeType type; - - TiXmlNode* firstChild; - TiXmlNode* lastChild; - - TIXML_STRING value; - - TiXmlNode* prev; - TiXmlNode* next; - -private: - TiXmlNode( const TiXmlNode& ); // not implemented. - void operator=( const TiXmlNode& base ); // not allowed. -}; - - -/** An attribute is a name-value pair. Elements have an arbitrary - number of attributes, each with a unique name. - - @note The attributes are not TiXmlNodes, since they are not - part of the tinyXML document object model. There are other - suggested ways to look at this problem. -*/ -class TiXmlAttribute : public TiXmlBase -{ - friend class TiXmlAttributeSet; - -public: - /// Construct an empty attribute. - TiXmlAttribute() : TiXmlBase() - { - document = 0; - prev = next = 0; - } - - #ifdef TIXML_USE_STL - /// std::string constructor. - TiXmlAttribute( const std::string& _name, const std::string& _value ) - { - name = _name; - value = _value; - document = 0; - prev = next = 0; - } - #endif - - /// Construct an attribute with a name and value. - TiXmlAttribute( const char * _name, const char * _value ) - { - name = _name; - value = _value; - document = 0; - prev = next = 0; - } - - const char* Name() const { return name.c_str(); } ///< Return the name of this attribute. - const char* Value() const { return value.c_str(); } ///< Return the value of this attribute. - #ifdef TIXML_USE_STL - const std::string& ValueStr() const { return value; } ///< Return the value of this attribute. - #endif - int IntValue() const; ///< Return the value of this attribute, converted to an integer. - double DoubleValue() const; ///< Return the value of this attribute, converted to a double. - - // Get the tinyxml string representation - const TIXML_STRING& NameTStr() const { return name; } - - /** QueryIntValue examines the value string. It is an alternative to the - IntValue() method with richer error checking. - If the value is an integer, it is stored in 'value' and - the call returns TIXML_SUCCESS. If it is not - an integer, it returns TIXML_WRONG_TYPE. - - A specialized but useful call. Note that for success it returns 0, - which is the opposite of almost all other TinyXml calls. - */ - int QueryIntValue( int* _value ) const; - /// QueryDoubleValue examines the value string. See QueryIntValue(). - int QueryDoubleValue( double* _value ) const; - - void SetName( const char* _name ) { name = _name; } ///< Set the name of this attribute. - void SetValue( const char* _value ) { value = _value; } ///< Set the value. - - void SetIntValue( int _value ); ///< Set the value from an integer. - void SetDoubleValue( double _value ); ///< Set the value from a double. - - #ifdef TIXML_USE_STL - /// STL std::string form. - void SetName( const std::string& _name ) { name = _name; } - /// STL std::string form. - void SetValue( const std::string& _value ) { value = _value; } - #endif - - /// Get the next sibling attribute in the DOM. Returns null at end. - const TiXmlAttribute* Next() const; - TiXmlAttribute* Next() { - return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Next() ); - } - - /// Get the previous sibling attribute in the DOM. Returns null at beginning. - const TiXmlAttribute* Previous() const; - TiXmlAttribute* Previous() { - return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Previous() ); - } - - bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; } - bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; } - bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; } - - /* Attribute parsing starts: first letter of the name - returns: the next char after the value end quote - */ - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - // Prints this Attribute to a FILE stream. - virtual void Print( FILE* cfile, int depth ) const { - Print( cfile, depth, 0 ); - } - void Print( FILE* cfile, int depth, TIXML_STRING* str ) const; - - // [internal use] - // Set the document pointer so the attribute can report errors. - void SetDocument( TiXmlDocument* doc ) { document = doc; } - -private: - TiXmlAttribute( const TiXmlAttribute& ); // not implemented. - void operator=( const TiXmlAttribute& base ); // not allowed. - - TiXmlDocument* document; // A pointer back to a document, for error reporting. - TIXML_STRING name; - TIXML_STRING value; - TiXmlAttribute* prev; - TiXmlAttribute* next; -}; - - -/* A class used to manage a group of attributes. - It is only used internally, both by the ELEMENT and the DECLARATION. - - The set can be changed transparent to the Element and Declaration - classes that use it, but NOT transparent to the Attribute - which has to implement a next() and previous() method. Which makes - it a bit problematic and prevents the use of STL. - - This version is implemented with circular lists because: - - I like circular lists - - it demonstrates some independence from the (typical) doubly linked list. -*/ -class TiXmlAttributeSet -{ -public: - TiXmlAttributeSet(); - ~TiXmlAttributeSet(); - - void Add( TiXmlAttribute* attribute ); - void Remove( TiXmlAttribute* attribute ); - - const TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; } - TiXmlAttribute* First() { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; } - const TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; } - TiXmlAttribute* Last() { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; } - - const TiXmlAttribute* Find( const char* _name ) const; - TiXmlAttribute* Find( const char* _name ) { - return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) ); - } - #ifdef TIXML_USE_STL - const TiXmlAttribute* Find( const std::string& _name ) const; - TiXmlAttribute* Find( const std::string& _name ) { - return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) ); - } - - #endif - -private: - //*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element), - //*ME: this class must be also use a hidden/disabled copy-constructor !!! - TiXmlAttributeSet( const TiXmlAttributeSet& ); // not allowed - void operator=( const TiXmlAttributeSet& ); // not allowed (as TiXmlAttribute) - - TiXmlAttribute sentinel; -}; - - -/** The element is a container class. It has a value, the element name, - and can contain other elements, text, comments, and unknowns. - Elements also contain an arbitrary number of attributes. -*/ -class TiXmlElement : public TiXmlNode -{ -public: - /// Construct an element. - TiXmlElement (const char * in_value); - - #ifdef TIXML_USE_STL - /// std::string constructor. - TiXmlElement( const std::string& _value ); - #endif - - TiXmlElement( const TiXmlElement& ); - - void operator=( const TiXmlElement& base ); - - virtual ~TiXmlElement(); - - /** Given an attribute name, Attribute() returns the value - for the attribute of that name, or null if none exists. - */ - const char* Attribute( const char* name ) const; - - /** Given an attribute name, Attribute() returns the value - for the attribute of that name, or null if none exists. - If the attribute exists and can be converted to an integer, - the integer value will be put in the return 'i', if 'i' - is non-null. - */ - const char* Attribute( const char* name, int* i ) const; - - /** Given an attribute name, Attribute() returns the value - for the attribute of that name, or null if none exists. - If the attribute exists and can be converted to an double, - the double value will be put in the return 'd', if 'd' - is non-null. - */ - const char* Attribute( const char* name, double* d ) const; - - /** QueryIntAttribute examines the attribute - it is an alternative to the - Attribute() method with richer error checking. - If the attribute is an integer, it is stored in 'value' and - the call returns TIXML_SUCCESS. If it is not - an integer, it returns TIXML_WRONG_TYPE. If the attribute - does not exist, then TIXML_NO_ATTRIBUTE is returned. - */ - int QueryIntAttribute( const char* name, int* _value ) const; - /// QueryDoubleAttribute examines the attribute - see QueryIntAttribute(). - int QueryDoubleAttribute( const char* name, double* _value ) const; - /// QueryFloatAttribute examines the attribute - see QueryIntAttribute(). - int QueryFloatAttribute( const char* name, float* _value ) const { - double d; - int result = QueryDoubleAttribute( name, &d ); - if ( result == TIXML_SUCCESS ) { - *_value = (float)d; - } - return result; - } - - #ifdef TIXML_USE_STL - /** Template form of the attribute query which will try to read the - attribute into the specified type. Very easy, very powerful, but - be careful to make sure to call this with the correct type. - - NOTE: This method doesn't work correctly for 'string' types. - - @return TIXML_SUCCESS, TIXML_WRONG_TYPE, or TIXML_NO_ATTRIBUTE - */ - template< typename T > int QueryValueAttribute( const std::string& name, T* outValue ) const - { - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - - std::stringstream sstream( node->ValueStr() ); - sstream >> *outValue; - if ( !sstream.fail() ) - return TIXML_SUCCESS; - return TIXML_WRONG_TYPE; - } - /* - This is - in theory - a bug fix for "QueryValueAtribute returns truncated std::string" - but template specialization is hard to get working cross-compiler. Leaving the bug for now. - - // The above will fail for std::string because the space character is used as a seperator. - // Specialize for strings. Bug [ 1695429 ] QueryValueAtribute returns truncated std::string - template<> int QueryValueAttribute( const std::string& name, std::string* outValue ) const - { - const TiXmlAttribute* node = attributeSet.Find( name ); - if ( !node ) - return TIXML_NO_ATTRIBUTE; - *outValue = node->ValueStr(); - return TIXML_SUCCESS; - } - */ - #endif - - /** Sets an attribute of name to a given value. The attribute - will be created if it does not exist, or changed if it does. - */ - void SetAttribute( const char* name, const char * _value ); - - #ifdef TIXML_USE_STL - const std::string* Attribute( const std::string& name ) const; - const std::string* Attribute( const std::string& name, int* i ) const; - const std::string* Attribute( const std::string& name, double* d ) const; - int QueryIntAttribute( const std::string& name, int* _value ) const; - int QueryDoubleAttribute( const std::string& name, double* _value ) const; - - /// STL std::string form. - void SetAttribute( const std::string& name, const std::string& _value ); - ///< STL std::string form. - void SetAttribute( const std::string& name, int _value ); - #endif - - /** Sets an attribute of name to a given value. The attribute - will be created if it does not exist, or changed if it does. - */ - void SetAttribute( const char * name, int value ); - - /** Sets an attribute of name to a given value. The attribute - will be created if it does not exist, or changed if it does. - */ - void SetDoubleAttribute( const char * name, double value ); - - /** Deletes an attribute with the given name. - */ - void RemoveAttribute( const char * name ); - #ifdef TIXML_USE_STL - void RemoveAttribute( const std::string& name ) { RemoveAttribute (name.c_str ()); } ///< STL std::string form. - #endif - - const TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); } ///< Access the first attribute in this element. - TiXmlAttribute* FirstAttribute() { return attributeSet.First(); } - const TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); } ///< Access the last attribute in this element. - TiXmlAttribute* LastAttribute() { return attributeSet.Last(); } - - /** Convenience function for easy access to the text inside an element. Although easy - and concise, GetText() is limited compared to getting the TiXmlText child - and accessing it directly. - - If the first child of 'this' is a TiXmlText, the GetText() - returns the character string of the Text node, else null is returned. - - This is a convenient method for getting the text of simple contained text: - @verbatim - This is text - const char* str = fooElement->GetText(); - @endverbatim - - 'str' will be a pointer to "This is text". - - Note that this function can be misleading. If the element foo was created from - this XML: - @verbatim - This is text - @endverbatim - - then the value of str would be null. The first child node isn't a text node, it is - another element. From this XML: - @verbatim - This is text - @endverbatim - GetText() will return "This is ". - - WARNING: GetText() accesses a child node - don't become confused with the - similarly named TiXmlHandle::Text() and TiXmlNode::ToText() which are - safe type casts on the referenced node. - */ - const char* GetText() const; - - /// Creates a new Element and returns it - the returned element is a copy. - virtual TiXmlNode* Clone() const; - // Print the Element to a FILE stream. - virtual void Print( FILE* cfile, int depth ) const; - - /* Attribtue parsing starts: next char past '<' - returns: next char past '>' - */ - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - virtual const TiXmlElement* ToElement() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlElement* ToElement() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* visitor ) const; - -protected: - - void CopyTo( TiXmlElement* target ) const; - void ClearThis(); // like clear, but initializes 'this' object as well - - // Used to be public [internal use] - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif - /* [internal use] - Reads the "value" of the element -- another element, or text. - This should terminate with the current end tag. - */ - const char* ReadValue( const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding ); - -private: - - TiXmlAttributeSet attributeSet; -}; - - -/** An XML comment. -*/ -class TiXmlComment : public TiXmlNode -{ -public: - /// Constructs an empty comment. - TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {} - /// Construct a comment from text. - TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::COMMENT ) { - SetValue( _value ); - } - TiXmlComment( const TiXmlComment& ); - void operator=( const TiXmlComment& base ); - - virtual ~TiXmlComment() {} - - /// Returns a copy of this Comment. - virtual TiXmlNode* Clone() const; - // Write this Comment to a FILE stream. - virtual void Print( FILE* cfile, int depth ) const; - - /* Attribtue parsing starts: at the ! of the !-- - returns: next char past '>' - */ - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - virtual const TiXmlComment* ToComment() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlComment* ToComment() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* visitor ) const; - -protected: - void CopyTo( TiXmlComment* target ) const; - - // used to be public - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif -// virtual void StreamOut( TIXML_OSTREAM * out ) const; - -private: - -}; - - -/** XML text. A text node can have 2 ways to output the next. "normal" output - and CDATA. It will default to the mode it was parsed from the XML file and - you generally want to leave it alone, but you can change the output mode with - SetCDATA() and query it with CDATA(). -*/ -class TiXmlText : public TiXmlNode -{ - friend class TiXmlElement; -public: - /** Constructor for text element. By default, it is treated as - normal, encoded text. If you want it be output as a CDATA text - element, set the parameter _cdata to 'true' - */ - TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TEXT) - { - SetValue( initValue ); - cdata = false; - } - virtual ~TiXmlText() {} - - #ifdef TIXML_USE_STL - /// Constructor. - TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TEXT) - { - SetValue( initValue ); - cdata = false; - } - #endif - - TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TEXT ) { copy.CopyTo( this ); } - void operator=( const TiXmlText& base ) { base.CopyTo( this ); } - - // Write this text object to a FILE stream. - virtual void Print( FILE* cfile, int depth ) const; - - /// Queries whether this represents text using a CDATA section. - bool CDATA() const { return cdata; } - /// Turns on or off a CDATA representation of text. - void SetCDATA( bool _cdata ) { cdata = _cdata; } - - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - virtual const TiXmlText* ToText() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlText* ToText() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* content ) const; - -protected : - /// [internal use] Creates a new Element and returns it. - virtual TiXmlNode* Clone() const; - void CopyTo( TiXmlText* target ) const; - - bool Blank() const; // returns true if all white space and new lines - // [internal use] - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif - -private: - bool cdata; // true if this should be input and output as a CDATA style text element -}; - - -/** In correct XML the declaration is the first entry in the file. - @verbatim - - @endverbatim - - TinyXml will happily read or write files without a declaration, - however. There are 3 possible attributes to the declaration: - version, encoding, and standalone. - - Note: In this version of the code, the attributes are - handled as special cases, not generic attributes, simply - because there can only be at most 3 and they are always the same. -*/ -class TiXmlDeclaration : public TiXmlNode -{ -public: - /// Construct an empty declaration. - TiXmlDeclaration() : TiXmlNode( TiXmlNode::DECLARATION ) {} - -#ifdef TIXML_USE_STL - /// Constructor. - TiXmlDeclaration( const std::string& _version, - const std::string& _encoding, - const std::string& _standalone ); -#endif - - /// Construct. - TiXmlDeclaration( const char* _version, - const char* _encoding, - const char* _standalone ); - - TiXmlDeclaration( const TiXmlDeclaration& copy ); - void operator=( const TiXmlDeclaration& copy ); - - virtual ~TiXmlDeclaration() {} - - /// Version. Will return an empty string if none was found. - const char *Version() const { return version.c_str (); } - /// Encoding. Will return an empty string if none was found. - const char *Encoding() const { return encoding.c_str (); } - /// Is this a standalone document? - const char *Standalone() const { return standalone.c_str (); } - - /// Creates a copy of this Declaration and returns it. - virtual TiXmlNode* Clone() const; - // Print this declaration to a FILE stream. - virtual void Print( FILE* cfile, int depth, TIXML_STRING* str ) const; - virtual void Print( FILE* cfile, int depth ) const { - Print( cfile, depth, 0 ); - } - - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - virtual const TiXmlDeclaration* ToDeclaration() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlDeclaration* ToDeclaration() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* visitor ) const; - -protected: - void CopyTo( TiXmlDeclaration* target ) const; - // used to be public - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif - -private: - - TIXML_STRING version; - TIXML_STRING encoding; - TIXML_STRING standalone; -}; - - -/** Any tag that tinyXml doesn't recognize is saved as an - unknown. It is a tag of text, but should not be modified. - It will be written back to the XML, unchanged, when the file - is saved. - - DTD tags get thrown into TiXmlUnknowns. -*/ -class TiXmlUnknown : public TiXmlNode -{ -public: - TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {} - virtual ~TiXmlUnknown() {} - - TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::UNKNOWN ) { copy.CopyTo( this ); } - void operator=( const TiXmlUnknown& copy ) { copy.CopyTo( this ); } - - /// Creates a copy of this Unknown and returns it. - virtual TiXmlNode* Clone() const; - // Print this Unknown to a FILE stream. - virtual void Print( FILE* cfile, int depth ) const; - - virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ); - - virtual const TiXmlUnknown* ToUnknown() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlUnknown* ToUnknown() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* content ) const; - -protected: - void CopyTo( TiXmlUnknown* target ) const; - - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif - -private: - -}; - - -/** Always the top level node. A document binds together all the - XML pieces. It can be saved, loaded, and printed to the screen. - The 'value' of a document node is the xml file name. -*/ -class TiXmlDocument : public TiXmlNode -{ -public: - /// Create an empty document, that has no name. - TiXmlDocument(); - /// Create a document with a name. The name of the document is also the filename of the xml. - TiXmlDocument( const char * documentName ); - - #ifdef TIXML_USE_STL - /// Constructor. - TiXmlDocument( const std::string& documentName ); - #endif - - TiXmlDocument( const TiXmlDocument& copy ); - void operator=( const TiXmlDocument& copy ); - - virtual ~TiXmlDocument() {} - - /** Load a file using the current document value. - Returns true if successful. Will delete any existing - document data before loading. - */ - bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); - /// Save a file using the current document value. Returns true if successful. - bool SaveFile() const; - /// Load a file using the given filename. Returns true if successful. - bool LoadFile( const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); - /// Save a file using the given filename. Returns true if successful. - bool SaveFile( const char * filename ) const; - /** Load a file using the given FILE*. Returns true if successful. Note that this method - doesn't stream - the entire object pointed at by the FILE* - will be interpreted as an XML file. TinyXML doesn't stream in XML from the current - file location. Streaming may be added in the future. - */ - bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); - /// Save a file using the given FILE*. Returns true if successful. - bool SaveFile( FILE* ) const; - - #ifdef TIXML_USE_STL - bool LoadFile( const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ) ///< STL std::string version. - { -// StringToBuffer f( filename ); -// return ( f.buffer && LoadFile( f.buffer, encoding )); - return LoadFile( filename.c_str(), encoding ); - } - bool SaveFile( const std::string& filename ) const ///< STL std::string version. - { -// StringToBuffer f( filename ); -// return ( f.buffer && SaveFile( f.buffer )); - return SaveFile( filename.c_str() ); - } - #endif - - /** Parse the given null terminated block of xml data. Passing in an encoding to this - method (either TIXML_ENCODING_LEGACY or TIXML_ENCODING_UTF8 will force TinyXml - to use that encoding, regardless of what TinyXml might otherwise try to detect. - */ - virtual const char* Parse( const char* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ); - - /** Get the root element -- the only top level element -- of the document. - In well formed XML, there should only be one. TinyXml is tolerant of - multiple elements at the document level. - */ - const TiXmlElement* RootElement() const { return FirstChildElement(); } - TiXmlElement* RootElement() { return FirstChildElement(); } - - /** If an error occurs, Error will be set to true. Also, - - The ErrorId() will contain the integer identifier of the error (not generally useful) - - The ErrorDesc() method will return the name of the error. (very useful) - - The ErrorRow() and ErrorCol() will return the location of the error (if known) - */ - bool Error() const { return error; } - - /// Contains a textual (english) description of the error if one occurs. - const char * ErrorDesc() const { return errorDesc.c_str (); } - - /** Generally, you probably want the error string ( ErrorDesc() ). But if you - prefer the ErrorId, this function will fetch it. - */ - int ErrorId() const { return errorId; } - - /** Returns the location (if known) of the error. The first column is column 1, - and the first row is row 1. A value of 0 means the row and column wasn't applicable - (memory errors, for example, have no row/column) or the parser lost the error. (An - error in the error reporting, in that case.) - - @sa SetTabSize, Row, Column - */ - int ErrorRow() const { return errorLocation.row+1; } - int ErrorCol() const { return errorLocation.col+1; } ///< The column where the error occured. See ErrorRow() - - /** SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol()) - to report the correct values for row and column. It does not change the output - or input in any way. - - By calling this method, with a tab size - greater than 0, the row and column of each node and attribute is stored - when the file is loaded. Very useful for tracking the DOM back in to - the source file. - - The tab size is required for calculating the location of nodes. If not - set, the default of 4 is used. The tabsize is set per document. Setting - the tabsize to 0 disables row/column tracking. - - Note that row and column tracking is not supported when using operator>>. - - The tab size needs to be enabled before the parse or load. Correct usage: - @verbatim - TiXmlDocument doc; - doc.SetTabSize( 8 ); - doc.Load( "myfile.xml" ); - @endverbatim - - @sa Row, Column - */ - void SetTabSize( int _tabsize ) { tabsize = _tabsize; } - - int TabSize() const { return tabsize; } - - /** If you have handled the error, it can be reset with this call. The error - state is automatically cleared if you Parse a new XML block. - */ - void ClearError() { error = false; - errorId = 0; - errorDesc = ""; - errorLocation.row = errorLocation.col = 0; - //errorLocation.last = 0; - } - - /** Write the document to standard out using formatted printing ("pretty print"). */ - void Print() const { Print( stdout, 0 ); } - - /* Write the document to a string using formatted printing ("pretty print"). This - will allocate a character array (new char[]) and return it as a pointer. The - calling code pust call delete[] on the return char* to avoid a memory leak. - */ - //char* PrintToMemory() const; - - /// Print this Document to a FILE stream. - virtual void Print( FILE* cfile, int depth = 0 ) const; - // [internal use] - void SetError( int err, const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding ); - - virtual const TiXmlDocument* ToDocument() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - virtual TiXmlDocument* ToDocument() { return this; } ///< Cast to a more defined type. Will return null not of the requested type. - - /** Walk the XML tree visiting this node and all of its children. - */ - virtual bool Accept( TiXmlVisitor* content ) const; - -protected : - // [internal use] - virtual TiXmlNode* Clone() const; - #ifdef TIXML_USE_STL - virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); - #endif - -private: - void CopyTo( TiXmlDocument* target ) const; - - bool error; - int errorId; - TIXML_STRING errorDesc; - int tabsize; - TiXmlCursor errorLocation; - bool useMicrosoftBOM; // the UTF-8 BOM were found when read. Note this, and try to write. -}; - - -/** - A TiXmlHandle is a class that wraps a node pointer with null checks; this is - an incredibly useful thing. Note that TiXmlHandle is not part of the TinyXml - DOM structure. It is a separate utility class. - - Take an example: - @verbatim - - - - - - - @endverbatim - - Assuming you want the value of "attributeB" in the 2nd "Child" element, it's very - easy to write a *lot* of code that looks like: - - @verbatim - TiXmlElement* root = document.FirstChildElement( "Document" ); - if ( root ) - { - TiXmlElement* element = root->FirstChildElement( "Element" ); - if ( element ) - { - TiXmlElement* child = element->FirstChildElement( "Child" ); - if ( child ) - { - TiXmlElement* child2 = child->NextSiblingElement( "Child" ); - if ( child2 ) - { - // Finally do something useful. - @endverbatim - - And that doesn't even cover "else" cases. TiXmlHandle addresses the verbosity - of such code. A TiXmlHandle checks for null pointers so it is perfectly safe - and correct to use: - - @verbatim - TiXmlHandle docHandle( &document ); - TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement(); - if ( child2 ) - { - // do something useful - @endverbatim - - Which is MUCH more concise and useful. - - It is also safe to copy handles - internally they are nothing more than node pointers. - @verbatim - TiXmlHandle handleCopy = handle; - @endverbatim - - What they should not be used for is iteration: - - @verbatim - int i=0; - while ( true ) - { - TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", i ).ToElement(); - if ( !child ) - break; - // do something - ++i; - } - @endverbatim - - It seems reasonable, but it is in fact two embedded while loops. The Child method is - a linear walk to find the element, so this code would iterate much more than it needs - to. Instead, prefer: - - @verbatim - TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).FirstChild( "Child" ).ToElement(); - - for( child; child; child=child->NextSiblingElement() ) - { - // do something - } - @endverbatim -*/ -class TiXmlHandle -{ -public: - /// Create a handle from any node (at any depth of the tree.) This can be a null pointer. - TiXmlHandle( TiXmlNode* _node ) { this->node = _node; } - /// Copy constructor - TiXmlHandle( const TiXmlHandle& ref ) { this->node = ref.node; } - TiXmlHandle operator=( const TiXmlHandle& ref ) { this->node = ref.node; return *this; } - - /// Return a handle to the first child node. - TiXmlHandle FirstChild() const; - /// Return a handle to the first child node with the given name. - TiXmlHandle FirstChild( const char * value ) const; - /// Return a handle to the first child element. - TiXmlHandle FirstChildElement() const; - /// Return a handle to the first child element with the given name. - TiXmlHandle FirstChildElement( const char * value ) const; - - /** Return a handle to the "index" child with the given name. - The first child is 0, the second 1, etc. - */ - TiXmlHandle Child( const char* value, int index ) const; - /** Return a handle to the "index" child. - The first child is 0, the second 1, etc. - */ - TiXmlHandle Child( int index ) const; - /** Return a handle to the "index" child element with the given name. - The first child element is 0, the second 1, etc. Note that only TiXmlElements - are indexed: other types are not counted. - */ - TiXmlHandle ChildElement( const char* value, int index ) const; - /** Return a handle to the "index" child element. - The first child element is 0, the second 1, etc. Note that only TiXmlElements - are indexed: other types are not counted. - */ - TiXmlHandle ChildElement( int index ) const; - - #ifdef TIXML_USE_STL - TiXmlHandle FirstChild( const std::string& _value ) const { return FirstChild( _value.c_str() ); } - TiXmlHandle FirstChildElement( const std::string& _value ) const { return FirstChildElement( _value.c_str() ); } - - TiXmlHandle Child( const std::string& _value, int index ) const { return Child( _value.c_str(), index ); } - TiXmlHandle ChildElement( const std::string& _value, int index ) const { return ChildElement( _value.c_str(), index ); } - #endif - - /** Return the handle as a TiXmlNode. This may return null. - */ - TiXmlNode* ToNode() const { return node; } - /** Return the handle as a TiXmlElement. This may return null. - */ - TiXmlElement* ToElement() const { return ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); } - /** Return the handle as a TiXmlText. This may return null. - */ - TiXmlText* ToText() const { return ( ( node && node->ToText() ) ? node->ToText() : 0 ); } - /** Return the handle as a TiXmlUnknown. This may return null. - */ - TiXmlUnknown* ToUnknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); } - - /** @deprecated use ToNode. - Return the handle as a TiXmlNode. This may return null. - */ - TiXmlNode* Node() const { return ToNode(); } - /** @deprecated use ToElement. - Return the handle as a TiXmlElement. This may return null. - */ - TiXmlElement* Element() const { return ToElement(); } - /** @deprecated use ToText() - Return the handle as a TiXmlText. This may return null. - */ - TiXmlText* Text() const { return ToText(); } - /** @deprecated use ToUnknown() - Return the handle as a TiXmlUnknown. This may return null. - */ - TiXmlUnknown* Unknown() const { return ToUnknown(); } - -private: - TiXmlNode* node; -}; - - -/** Print to memory functionality. The TiXmlPrinter is useful when you need to: - - -# Print to memory (especially in non-STL mode) - -# Control formatting (line endings, etc.) - - When constructed, the TiXmlPrinter is in its default "pretty printing" mode. - Before calling Accept() you can call methods to control the printing - of the XML document. After TiXmlNode::Accept() is called, the printed document can - be accessed via the CStr(), Str(), and Size() methods. - - TiXmlPrinter uses the Visitor API. - @verbatim - TiXmlPrinter printer; - printer.SetIndent( "\t" ); - - doc.Accept( &printer ); - fprintf( stdout, "%s", printer.CStr() ); - @endverbatim -*/ -class TiXmlPrinter : public TiXmlVisitor -{ -public: - TiXmlPrinter() : depth( 0 ), simpleTextPrint( false ), - buffer(), indent( " " ), lineBreak( "\n" ) {} - - virtual bool VisitEnter( const TiXmlDocument& doc ); - virtual bool VisitExit( const TiXmlDocument& doc ); - - virtual bool VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute ); - virtual bool VisitExit( const TiXmlElement& element ); - - virtual bool Visit( const TiXmlDeclaration& declaration ); - virtual bool Visit( const TiXmlText& text ); - virtual bool Visit( const TiXmlComment& comment ); - virtual bool Visit( const TiXmlUnknown& unknown ); - - /** Set the indent characters for printing. By default 4 spaces - but tab (\t) is also useful, or null/empty string for no indentation. - */ - void SetIndent( const char* _indent ) { indent = _indent ? _indent : "" ; } - /// Query the indention string. - const char* Indent() { return indent.c_str(); } - /** Set the line breaking string. By default set to newline (\n). - Some operating systems prefer other characters, or can be - set to the null/empty string for no indenation. - */ - void SetLineBreak( const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : ""; } - /// Query the current line breaking string. - const char* LineBreak() { return lineBreak.c_str(); } - - /** Switch over to "stream printing" which is the most dense formatting without - linebreaks. Common when the XML is needed for network transmission. - */ - void SetStreamPrinting() { indent = ""; - lineBreak = ""; - } - /// Return the result. - const char* CStr() { return buffer.c_str(); } - /// Return the length of the result string. - size_t Size() { return buffer.size(); } - - #ifdef TIXML_USE_STL - /// Return the result. - const std::string& Str() { return buffer; } - #endif - -private: - void DoIndent() { - for( int i=0; i -#include - -#include "tinyxml.h" - -//#define DEBUG_PARSER -#if defined( DEBUG_PARSER ) -# if defined( DEBUG ) && defined( _MSC_VER ) -# include -# define TIXML_LOG OutputDebugString -# else -# define TIXML_LOG printf -# endif -#endif - -// Note tha "PutString" hardcodes the same list. This -// is less flexible than it appears. Changing the entries -// or order will break putstring. -TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] = -{ - { "&", 5, '&' }, - { "<", 4, '<' }, - { ">", 4, '>' }, - { """, 6, '\"' }, - { "'", 6, '\'' } -}; - -// Bunch of unicode info at: -// http://www.unicode.org/faq/utf_bom.html -// Including the basic of this table, which determines the #bytes in the -// sequence from the lead byte. 1 placed for invalid sequences -- -// although the result will be junk, pass it through as much as possible. -// Beware of the non-characters in UTF-8: -// ef bb bf (Microsoft "lead bytes") -// ef bf be -// ef bf bf - -const unsigned char TIXML_UTF_LEAD_0 = 0xefU; -const unsigned char TIXML_UTF_LEAD_1 = 0xbbU; -const unsigned char TIXML_UTF_LEAD_2 = 0xbfU; - -const int TiXmlBase::utf8ByteTable[256] = -{ - // 0 1 2 3 4 5 6 7 8 9 a b c d e f - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x00 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x10 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x20 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x30 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x50 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x70 End of ASCII range - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x80 0x80 to 0xc1 invalid - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x90 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xa0 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xb0 - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xc0 0xc2 to 0xdf 2 byte - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xd0 - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xe0 0xe0 to 0xef 3 byte - 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid -}; - - -void TiXmlBase::ConvertUTF32ToUTF8( unsigned long input, char* output, int* length ) -{ - const unsigned long BYTE_MASK = 0xBF; - const unsigned long BYTE_MARK = 0x80; - const unsigned long FIRST_BYTE_MARK[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC }; - - if (input < 0x80) - *length = 1; - else if ( input < 0x800 ) - *length = 2; - else if ( input < 0x10000 ) - *length = 3; - else if ( input < 0x200000 ) - *length = 4; - else - { *length = 0; return; } // This code won't covert this correctly anyway. - - output += *length; - - // Scary scary fall throughs. - switch (*length) - { - case 4: - --output; - *output = (char)((input | BYTE_MARK) & BYTE_MASK); - input >>= 6; - case 3: - --output; - *output = (char)((input | BYTE_MARK) & BYTE_MASK); - input >>= 6; - case 2: - --output; - *output = (char)((input | BYTE_MARK) & BYTE_MASK); - input >>= 6; - case 1: - --output; - *output = (char)(input | FIRST_BYTE_MARK[*length]); - } -} - - -/*static*/ int TiXmlBase::IsAlpha( unsigned char anyByte, TiXmlEncoding /*encoding*/ ) -{ - // This will only work for low-ascii, everything else is assumed to be a valid - // letter. I'm not sure this is the best approach, but it is quite tricky trying - // to figure out alhabetical vs. not across encoding. So take a very - // conservative approach. - -// if ( encoding == TIXML_ENCODING_UTF8 ) -// { - if ( anyByte < 127 ) - return isalpha( anyByte ); - else - return 1; // What else to do? The unicode set is huge...get the english ones right. -// } -// else -// { -// return isalpha( anyByte ); -// } -} - - -/*static*/ int TiXmlBase::IsAlphaNum( unsigned char anyByte, TiXmlEncoding /*encoding*/ ) -{ - // This will only work for low-ascii, everything else is assumed to be a valid - // letter. I'm not sure this is the best approach, but it is quite tricky trying - // to figure out alhabetical vs. not across encoding. So take a very - // conservative approach. - -// if ( encoding == TIXML_ENCODING_UTF8 ) -// { - if ( anyByte < 127 ) - return isalnum( anyByte ); - else - return 1; // What else to do? The unicode set is huge...get the english ones right. -// } -// else -// { -// return isalnum( anyByte ); -// } -} - - -class TiXmlParsingData -{ - friend class TiXmlDocument; - public: - void Stamp( const char* now, TiXmlEncoding encoding ); - - const TiXmlCursor& Cursor() { return cursor; } - - private: - // Only used by the document! - TiXmlParsingData( const char* start, int _tabsize, int row, int col ) - { - assert( start ); - stamp = start; - tabsize = _tabsize; - cursor.row = row; - cursor.col = col; - } - - TiXmlCursor cursor; - const char* stamp; - int tabsize; -}; - - -void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding ) -{ - assert( now ); - - // Do nothing if the tabsize is 0. - if ( tabsize < 1 ) - { - return; - } - - // Get the current row, column. - int row = cursor.row; - int col = cursor.col; - const char* p = stamp; - assert( p ); - - while ( p < now ) - { - // Treat p as unsigned, so we have a happy compiler. - const unsigned char* pU = (const unsigned char*)p; - - // Code contributed by Fletcher Dunn: (modified by lee) - switch (*pU) { - case 0: - // We *should* never get here, but in case we do, don't - // advance past the terminating null character, ever - return; - - case '\r': - // bump down to the next line - ++row; - col = 0; - // Eat the character - ++p; - - // Check for \r\n sequence, and treat this as a single character - if (*p == '\n') { - ++p; - } - break; - - case '\n': - // bump down to the next line - ++row; - col = 0; - - // Eat the character - ++p; - - // Check for \n\r sequence, and treat this as a single - // character. (Yes, this bizarre thing does occur still - // on some arcane platforms...) - if (*p == '\r') { - ++p; - } - break; - - case '\t': - // Eat the character - ++p; - - // Skip to next tab stop - col = (col / tabsize + 1) * tabsize; - break; - - case TIXML_UTF_LEAD_0: - if ( encoding == TIXML_ENCODING_UTF8 ) - { - if ( *(p+1) && *(p+2) ) - { - // In these cases, don't advance the column. These are - // 0-width spaces. - if ( *(pU+1)==TIXML_UTF_LEAD_1 && *(pU+2)==TIXML_UTF_LEAD_2 ) - p += 3; - else if ( *(pU+1)==0xbfU && *(pU+2)==0xbeU ) - p += 3; - else if ( *(pU+1)==0xbfU && *(pU+2)==0xbfU ) - p += 3; - else - { p +=3; ++col; } // A normal character. - } - } - else - { - ++p; - ++col; - } - break; - - default: - if ( encoding == TIXML_ENCODING_UTF8 ) - { - // Eat the 1 to 4 byte utf8 character. - int step = TiXmlBase::utf8ByteTable[*((const unsigned char*)p)]; - if ( step == 0 ) - step = 1; // Error case from bad encoding, but handle gracefully. - p += step; - - // Just advance one column, of course. - ++col; - } - else - { - ++p; - ++col; - } - break; - } - } - cursor.row = row; - cursor.col = col; - assert( cursor.row >= -1 ); - assert( cursor.col >= -1 ); - stamp = p; - assert( stamp ); -} - - -const char* TiXmlBase::SkipWhiteSpace( const char* p, TiXmlEncoding encoding ) -{ - if ( !p || !*p ) - { - return 0; - } - if ( encoding == TIXML_ENCODING_UTF8 ) - { - while ( *p ) - { - const unsigned char* pU = (const unsigned char*)p; - - // Skip the stupid Microsoft UTF-8 Byte order marks - if ( *(pU+0)==TIXML_UTF_LEAD_0 - && *(pU+1)==TIXML_UTF_LEAD_1 - && *(pU+2)==TIXML_UTF_LEAD_2 ) - { - p += 3; - continue; - } - else if(*(pU+0)==TIXML_UTF_LEAD_0 - && *(pU+1)==0xbfU - && *(pU+2)==0xbeU ) - { - p += 3; - continue; - } - else if(*(pU+0)==TIXML_UTF_LEAD_0 - && *(pU+1)==0xbfU - && *(pU+2)==0xbfU ) - { - p += 3; - continue; - } - - if ( IsWhiteSpace( *p ) || *p == '\n' || *p =='\r' ) // Still using old rules for white space. - ++p; - else - break; - } - } - else - { - while ( *p && (IsWhiteSpace( *p ) || *p == '\n' || *p =='\r') ) - ++p; - } - - return p; -} - -#ifdef TIXML_USE_STL -/*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream * in, TIXML_STRING * tag ) -{ - for( ;; ) - { - if ( !in->good() ) return false; - - int c = in->peek(); - // At this scope, we can't get to a document. So fail silently. - if ( !IsWhiteSpace( c ) || c <= 0 ) - return true; - - *tag += (char) in->get(); - } -} - -/*static*/ bool TiXmlBase::StreamTo( std::istream * in, int character, TIXML_STRING * tag ) -{ - //assert( character > 0 && character < 128 ); // else it won't work in utf-8 - while ( in->good() ) - { - int c = in->peek(); - if ( c == character ) - return true; - if ( c <= 0 ) // Silent failure: can't get document at this scope - return false; - - in->get(); - *tag += (char) c; - } - return false; -} -#endif - -// One of TinyXML's more performance demanding functions. Try to keep the memory overhead down. The -// "assign" optimization removes over 10% of the execution time. -// -const char* TiXmlBase::ReadName( const char* p, TIXML_STRING * name, TiXmlEncoding encoding ) -{ - // Oddly, not supported on some comilers, - //name->clear(); - // So use this: - *name = ""; - assert( p ); - - // Names start with letters or underscores. - // Of course, in unicode, tinyxml has no idea what a letter *is*. The - // algorithm is generous. - // - // After that, they can be letters, underscores, numbers, - // hyphens, or colons. (Colons are valid ony for namespaces, - // but tinyxml can't tell namespaces from names.) - if ( p && *p - && ( IsAlpha( (unsigned char) *p, encoding ) || *p == '_' ) ) - { - const char* start = p; - while( p && *p - && ( IsAlphaNum( (unsigned char ) *p, encoding ) - || *p == '_' - || *p == '-' - || *p == '.' - || *p == ':' ) ) - { - //(*name) += *p; // expensive - ++p; - } - if ( p-start > 0 ) { - name->assign( start, p-start ); - } - return p; - } - return 0; -} - -const char* TiXmlBase::GetEntity( const char* p, char* value, int* length, TiXmlEncoding encoding ) -{ - // Presume an entity, and pull it out. - TIXML_STRING ent; - int i; - *length = 0; - - if ( *(p+1) && *(p+1) == '#' && *(p+2) ) - { - unsigned long ucs = 0; - ptrdiff_t delta = 0; - unsigned mult = 1; - - if ( *(p+2) == 'x' ) - { - // Hexadecimal. - if ( !*(p+3) ) return 0; - - const char* q = p+3; - q = strchr( q, ';' ); - - if ( !q || !*q ) return 0; - - delta = q-p; - --q; - - while ( *q != 'x' ) - { - if ( *q >= '0' && *q <= '9' ) - ucs += mult * (*q - '0'); - else if ( *q >= 'a' && *q <= 'f' ) - ucs += mult * (*q - 'a' + 10); - else if ( *q >= 'A' && *q <= 'F' ) - ucs += mult * (*q - 'A' + 10 ); - else - return 0; - mult *= 16; - --q; - } - } - else - { - // Decimal. - if ( !*(p+2) ) return 0; - - const char* q = p+2; - q = strchr( q, ';' ); - - if ( !q || !*q ) return 0; - - delta = q-p; - --q; - - while ( *q != '#' ) - { - if ( *q >= '0' && *q <= '9' ) - ucs += mult * (*q - '0'); - else - return 0; - mult *= 10; - --q; - } - } - if ( encoding == TIXML_ENCODING_UTF8 ) - { - // convert the UCS to UTF-8 - ConvertUTF32ToUTF8( ucs, value, length ); - } - else - { - *value = (char)ucs; - *length = 1; - } - return p + delta + 1; - } - - // Now try to match it. - for( i=0; iappend( cArr, len ); - } - } - else - { - bool whitespace = false; - - // Remove leading white space: - p = SkipWhiteSpace( p, encoding ); - while ( p && *p - && !StringEqual( p, endTag, caseInsensitive, encoding ) ) - { - if ( *p == '\r' || *p == '\n' ) - { - whitespace = true; - ++p; - } - else if ( IsWhiteSpace( *p ) ) - { - whitespace = true; - ++p; - } - else - { - // If we've found whitespace, add it before the - // new character. Any whitespace just becomes a space. - if ( whitespace ) - { - (*text) += ' '; - whitespace = false; - } - int len; - char cArr[4] = { 0, 0, 0, 0 }; - p = GetChar( p, cArr, &len, encoding ); - if ( len == 1 ) - (*text) += cArr[0]; // more efficient - else - text->append( cArr, len ); - } - } - } - if ( p ) - p += strlen( endTag ); - return p; -} - -#ifdef TIXML_USE_STL - -void TiXmlDocument::StreamIn( std::istream * in, TIXML_STRING * tag ) -{ - // The basic issue with a document is that we don't know what we're - // streaming. Read something presumed to be a tag (and hope), then - // identify it, and call the appropriate stream method on the tag. - // - // This "pre-streaming" will never read the closing ">" so the - // sub-tag can orient itself. - - if ( !StreamTo( in, '<', tag ) ) - { - SetError( TIXML_ERROR_PARSING_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return; - } - - while ( in->good() ) - { - int tagIndex = (int) tag->length(); - while ( in->good() && in->peek() != '>' ) - { - int c = in->get(); - if ( c <= 0 ) - { - SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN ); - break; - } - (*tag) += (char) c; - } - - if ( in->good() ) - { - // We now have something we presume to be a node of - // some sort. Identify it, and call the node to - // continue streaming. - TiXmlNode* node = Identify( tag->c_str() + tagIndex, TIXML_DEFAULT_ENCODING ); - - if ( node ) - { - node->StreamIn( in, tag ); - bool isElement = node->ToElement() != 0; - delete node; - node = 0; - - // If this is the root element, we're done. Parsing will be - // done by the >> operator. - if ( isElement ) - { - return; - } - } - else - { - SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN ); - return; - } - } - } - // We should have returned sooner. - SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN ); -} - -#endif - -const char* TiXmlDocument::Parse( const char* p, TiXmlParsingData* prevData, TiXmlEncoding encoding ) -{ - ClearError(); - - // Parse away, at the document level. Since a document - // contains nothing but other tags, most of what happens - // here is skipping white space. - if ( !p || !*p ) - { - SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - - // Note that, for a document, this needs to come - // before the while space skip, so that parsing - // starts from the pointer we are given. - location.Clear(); - if ( prevData ) - { - location.row = prevData->cursor.row; - location.col = prevData->cursor.col; - } - else - { - location.row = 0; - location.col = 0; - } - TiXmlParsingData data( p, TabSize(), location.row, location.col ); - location = data.Cursor(); - - if ( encoding == TIXML_ENCODING_UNKNOWN ) - { - // Check for the Microsoft UTF-8 lead bytes. - const unsigned char* pU = (const unsigned char*)p; - if ( *(pU+0) && *(pU+0) == TIXML_UTF_LEAD_0 - && *(pU+1) && *(pU+1) == TIXML_UTF_LEAD_1 - && *(pU+2) && *(pU+2) == TIXML_UTF_LEAD_2 ) - { - encoding = TIXML_ENCODING_UTF8; - useMicrosoftBOM = true; - } - } - - p = SkipWhiteSpace( p, encoding ); - if ( !p ) - { - SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN ); - return 0; - } - - while ( p && *p ) - { - TiXmlNode* node = Identify( p, encoding ); - if ( node ) - { - p = node->Parse( p, &data, encoding ); - LinkEndChild( node ); - } - else - { - break; - } - - // Did we get encoding info? - if ( encoding == TIXML_ENCODING_UNKNOWN - && node->ToDeclaration() ) - { - TiXmlDeclaration* dec = node->ToDeclaration(); - const char* enc = dec->Encoding(); - assert( enc ); - - if ( *enc == 0 ) - encoding = TIXML_ENCODING_UTF8; - else if ( StringEqual( enc, "UTF-8", true, TIXML_ENCODING_UNKNOWN ) ) - encoding = TIXML_ENCODING_UTF8; - else if ( StringEqual( enc, "UTF8", true, TIXML_ENCODING_UNKNOWN ) ) - encoding = TIXML_ENCODING_UTF8; // incorrect, but be nice - else - encoding = TIXML_ENCODING_LEGACY; - } - - p = SkipWhiteSpace( p, encoding ); - } - - // Was this empty? - if ( !firstChild ) { - SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, encoding ); - return 0; - } - - // All is well. - return p; -} - -void TiXmlDocument::SetError( int err, const char* pError, TiXmlParsingData* data, TiXmlEncoding encoding ) -{ - // The first error in a chain is more accurate - don't set again! - if ( error ) - return; - - assert( err > 0 && err < TIXML_ERROR_STRING_COUNT ); - error = true; - errorId = err; - errorDesc = errorString[ errorId ]; - - errorLocation.Clear(); - if ( pError && data ) - { - data->Stamp( pError, encoding ); - errorLocation = data->Cursor(); - } -} - - -TiXmlNode* TiXmlNode::Identify( const char* p, TiXmlEncoding encoding ) -{ - TiXmlNode* returnNode = 0; - - p = SkipWhiteSpace( p, encoding ); - if( !p || !*p || *p != '<' ) - { - return 0; - } - - TiXmlDocument* doc = GetDocument(); - p = SkipWhiteSpace( p, encoding ); - - if ( !p || !*p ) - { - return 0; - } - - // What is this thing? - // - Elements start with a letter or underscore, but xml is reserved. - // - Comments: "; - - if ( !StringEqual( p, startTag, false, encoding ) ) - { - document->SetError( TIXML_ERROR_PARSING_COMMENT, p, data, encoding ); - return 0; - } - p += strlen( startTag ); - - // [ 1475201 ] TinyXML parses entities in comments - // Oops - ReadText doesn't work, because we don't want to parse the entities. - // p = ReadText( p, &value, false, endTag, false, encoding ); - // - // from the XML spec: - /* - [Definition: Comments may appear anywhere in a document outside other markup; in addition, - they may appear within the document type declaration at places allowed by the grammar. - They are not part of the document's character data; an XML processor MAY, but need not, - make it possible for an application to retrieve the text of comments. For compatibility, - the string "--" (double-hyphen) MUST NOT occur within comments.] Parameter entity - references MUST NOT be recognized within comments. - - An example of a comment: - - - */ - - value = ""; - // Keep all the white space. - while ( p && *p && !StringEqual( p, endTag, false, encoding ) ) - { - value.append( p, 1 ); - ++p; - } - if ( p ) - p += strlen( endTag ); - - return p; -} - - -const char* TiXmlAttribute::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ) -{ - p = SkipWhiteSpace( p, encoding ); - if ( !p || !*p ) return 0; - -// int tabsize = 4; -// if ( document ) -// tabsize = document->TabSize(); - - if ( data ) - { - data->Stamp( p, encoding ); - location = data->Cursor(); - } - // Read the name, the '=' and the value. - const char* pErr = p; - p = ReadName( p, &name, encoding ); - if ( !p || !*p ) - { - if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding ); - return 0; - } - p = SkipWhiteSpace( p, encoding ); - if ( !p || !*p || *p != '=' ) - { - if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding ); - return 0; - } - - ++p; // skip '=' - p = SkipWhiteSpace( p, encoding ); - if ( !p || !*p ) - { - if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding ); - return 0; - } - - const char* end; - const char SINGLE_QUOTE = '\''; - const char DOUBLE_QUOTE = '\"'; - - if ( *p == SINGLE_QUOTE ) - { - ++p; - end = "\'"; // single quote in string - p = ReadText( p, &value, false, end, false, encoding ); - } - else if ( *p == DOUBLE_QUOTE ) - { - ++p; - end = "\""; // double quote in string - p = ReadText( p, &value, false, end, false, encoding ); - } - else - { - // All attribute values should be in single or double quotes. - // But this is such a common error that the parser will try - // its best, even without them. - value = ""; - while ( p && *p // existence - && !IsWhiteSpace( *p ) && *p != '\n' && *p != '\r' // whitespace - && *p != '/' && *p != '>' ) // tag end - { - if ( *p == SINGLE_QUOTE || *p == DOUBLE_QUOTE ) { - // [ 1451649 ] Attribute values with trailing quotes not handled correctly - // We did not have an opening quote but seem to have a - // closing one. Give up and throw an error. - if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding ); - return 0; - } - value += *p; - ++p; - } - } - return p; -} - -#ifdef TIXML_USE_STL -void TiXmlText::StreamIn( std::istream * in, TIXML_STRING * tag ) -{ - while ( in->good() ) - { - int c = in->peek(); - if ( !cdata && (c == '<' ) ) - { - return; - } - if ( c <= 0 ) - { - TiXmlDocument* document = GetDocument(); - if ( document ) - document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN ); - return; - } - - (*tag) += (char) c; - in->get(); // "commits" the peek made above - - if ( cdata && c == '>' && tag->size() >= 3 ) { - size_t len = tag->size(); - if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' ) { - // terminator of cdata. - return; - } - } - } -} -#endif - -const char* TiXmlText::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding ) -{ - value = ""; - TiXmlDocument* document = GetDocument(); - - if ( data ) - { - data->Stamp( p, encoding ); - location = data->Cursor(); - } - - const char* const startTag = ""; - - if ( cdata || StringEqual( p, startTag, false, encoding ) ) - { - cdata = true; - - if ( !StringEqual( p, startTag, false, encoding ) ) - { - document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding ); - return 0; - } - p += strlen( startTag ); - - // Keep all the white space, ignore the encoding, etc. - while ( p && *p - && !StringEqual( p, endTag, false, encoding ) - ) - { - value += *p; - ++p; - } - - TIXML_STRING dummy; - p = ReadText( p, &dummy, false, endTag, false, encoding ); - return p; - } - else - { - bool ignoreWhite = true; - - const char* end = "<"; - p = ReadText( p, &value, ignoreWhite, end, false, encoding ); - if ( p ) - return p-1; // don't truncate the '<' - return 0; - } -} - -#ifdef TIXML_USE_STL -void TiXmlDeclaration::StreamIn( std::istream * in, TIXML_STRING * tag ) -{ - while ( in->good() ) - { - int c = in->get(); - if ( c <= 0 ) - { - TiXmlDocument* document = GetDocument(); - if ( document ) - document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN ); - return; - } - (*tag) += (char) c; - - if ( c == '>' ) - { - // All is well. - return; - } - } -} -#endif - -const char* TiXmlDeclaration::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding _encoding ) -{ - p = SkipWhiteSpace( p, _encoding ); - // Find the beginning, find the end, and look for - // the stuff in-between. - TiXmlDocument* document = GetDocument(); - if ( !p || !*p || !StringEqual( p, "SetError( TIXML_ERROR_PARSING_DECLARATION, 0, 0, _encoding ); - return 0; - } - if ( data ) - { - data->Stamp( p, _encoding ); - location = data->Cursor(); - } - p += 5; - - version = ""; - encoding = ""; - standalone = ""; - - while ( p && *p ) - { - if ( *p == '>' ) - { - ++p; - return p; - } - - p = SkipWhiteSpace( p, _encoding ); - if ( StringEqual( p, "version", true, _encoding ) ) - { - TiXmlAttribute attrib; - p = attrib.Parse( p, data, _encoding ); - version = attrib.Value(); - } - else if ( StringEqual( p, "encoding", true, _encoding ) ) - { - TiXmlAttribute attrib; - p = attrib.Parse( p, data, _encoding ); - encoding = attrib.Value(); - } - else if ( StringEqual( p, "standalone", true, _encoding ) ) - { - TiXmlAttribute attrib; - p = attrib.Parse( p, data, _encoding ); - standalone = attrib.Value(); - } - else - { - // Read over whatever it is. - while( p && *p && *p != '>' && !IsWhiteSpace( *p ) ) - ++p; - } - } - return 0; -} - -bool TiXmlText::Blank() const -{ - for ( unsigned i=0; i -#include -#include -#include -#include -#include -#include "wrl.h" -#include "common.h" - -using namespace std; - - -/// VRML reader class -class VRMLReader { - private: - /// Read buffer - char * mBuffer; - int mBufSize; - int mBufActual; - int mBufPos; - bool mEndOfFile; - - /// File comment(s) - string mComment; - - /// Read one character from the file stream - via the read buffer - char GetNextChar() - { - if(!mStream) - throw_runtime_error("VRML input stream undefined."); - if(mBufPos >= mBufActual) - { - mBufPos = 0; - if(!mStream->eof()) - { - mStream->read(mBuffer, mBufSize); - mBufActual = (int)(mStream->gcount()); - } - else - mBufActual = 0; - mEndOfFile = (mBufActual < 1); - } - if(!mEndOfFile) - { - char c = mBuffer[mBufPos]; - ++ mBufPos; - return c; - } - else - return ' '; - } - - /// Read the next line from file - string GetNextLine() - { - // Read the token (until the next new line) - stringstream sstr; - char c = GetNextChar(); - while((!mEndOfFile) && (!IsEOL(c))) - { - sstr << c; - c = GetNextChar(); - } - return sstr.str(); - } - - /// Read a line comment from the stream, and append it to the global - /// comment string - void ReadComment() - { - // Extract the line comment - string newComment = TrimString(GetNextLine()); - - // Append the line comment to the global comment string - if(newComment.size() > 0) - { - if(mComment.size() > 0) - mComment = mComment + string(" "); - mComment = mComment + newComment; - } - } - - /// Read the next token from file (skip comments and whitespaces) - string GetNextToken() - { - char c = ' '; - - // Iterate until we find the first character of a token - while(!mEndOfFile) - { - while(!mEndOfFile) - { - c = GetNextChar(); - if(!IsWhiteSpace(c)) - break; - } - - // End of file? - if(mEndOfFile) - return string(""); - - // Was this a comment? - if(c == '#') - ReadComment(); - else - break; - } - - // Read the token (until the next white space) - stringstream sstr; - while((!mEndOfFile) && (!IsWhiteSpace(c))) - { - sstr << c; - c = GetNextChar(); - } - return sstr.str(); - } - - public: - /// Constructor - VRMLReader() - { - // Init read buffer - mBufSize = 1024; - mBuffer = new char[mBufSize]; - mBufActual = 0; - mBufPos = 0; - mEndOfFile = false; - - // Clear state - mStream = 0; - mComment = string(""); - } - - /// Destructor - ~VRMLReader() - { - delete [] mBuffer; - } - - /// Read the mesh from a file - void ReadMesh(Mesh * aMesh) - { - // Read the header - string header = GetNextLine(); - if(header.substr(0, 10) != string("#VRML V2.0")) - throw_runtime_error("Not a valid VRML 2.0 file."); - - // Read the rest of the file - while(!mEndOfFile) - { - string token = GetNextToken(); - if(token == string("geometry")) - { - token = GetNextToken(); - if(token == string("IndexedFaceSet")) - { - // ...FIXME - } - } - } - - // Set mesh comment (if any) - aMesh->mComment = mComment; - } - - /// Input file stream - ifstream * mStream; -}; - - -/// Import a mesh from a VRML 2.0 file. -void Import_WRL(const char * aFileName, Mesh * aMesh) -{ - // FIXME: The import functionality has not yet been fully implemented - throw_runtime_error("VRML import is not yet supported."); - - // Clear the mesh - aMesh->Clear(); - - // Open the input file - ifstream f(aFileName, ios::in); - if(f.fail()) - throw_runtime_error("Could not open input file."); - - // Initialize the reader object - VRMLReader reader; - reader.mStream = &f; - - // Read the entire file... - reader.ReadMesh(aMesh); - - // Close the input file - f.close(); -} - -/// Export a mesh to a VRML 2.0 file. -void Export_WRL(const char * aFileName, Mesh * aMesh, Options &aOptions) -{ - // Open the output file - ofstream f(aFileName, ios::out); - if(f.fail()) - throw_runtime_error("Could not open output file."); - - // Set floating point precision - f << setprecision(8); - - // Write VRML file header ID - f << "#VRML V2.0 utf8" << endl; - - // Write comment - if(aMesh->mComment.size() > 0) - { - stringstream sstr(aMesh->mComment); - sstr.seekg(0); - while(!sstr.eof()) - { - string line; - getline(sstr, line); - line = TrimString(line); - if(line.size() > 0) - f << "# " << line << endl; - } - } - f << endl; - - // Write shape header - f << "Group {" << endl; - f << "\tchildren [" << endl; - f << "\t\tShape {" << endl; - f << "\t\t\tappearance Appearance {" << endl; - f << "\t\t\t\tmaterial Material {" << endl; - f << "\t\t\t\t\tdiffuseColor 1.0 1.0 1.0" << endl; - f << "\t\t\t\t\tambientIntensity 0.2" << endl; - f << "\t\t\t\t\tspecularColor 0.8 0.8 0.8" << endl; - f << "\t\t\t\t\tshininess 0.4" << endl; - f << "\t\t\t\t\ttransparency 0" << endl; - f << "\t\t\t\t}" << endl; - f << "\t\t\t}" << endl; - f << "\t\t\tgeometry IndexedFaceSet {" << endl; - f << "\t\t\t\tccw TRUE" << endl; - f << "\t\t\t\tsolid FALSE" << endl; - - // Write vertices - f << "\t\t\t\tcoord DEF co Coordinate {" << endl; - f << "\t\t\t\t\tpoint [" << endl; - for(unsigned int i = 0; i < aMesh->mVertices.size(); ++ i) - { - f << "\t\t\t\t\t\t" << - aMesh->mVertices[i].x << " " << - aMesh->mVertices[i].y << " " << - aMesh->mVertices[i].z << "," << endl; - } - f << "\t\t\t\t\t]" << endl; - f << "\t\t\t\t}" << endl; - - // Write faces - f << "\t\t\t\tcoordIndex [" << endl; - unsigned int triCount = (unsigned int)(aMesh->mIndices.size() / 3); - for(unsigned int i = 0; i < triCount; ++ i) - { - f << "\t\t\t\t\t" << - aMesh->mIndices[i * 3] << ", " << - aMesh->mIndices[i * 3 + 1] << ", " << - aMesh->mIndices[i * 3 + 2] << ", -1," << endl; - } - f << "\t\t\t\t]" << endl; - - // Write shape footer - f << "\t\t\t}" << endl; - f << "\t\t}" << endl; - f << "\t]" << endl; - f << "}" << endl; - - // Close the output file - f.close(); -} diff --git a/3rdparty/openctm/tools/wrl.h b/3rdparty/openctm/tools/wrl.h deleted file mode 100644 index 8b6facdfb..000000000 --- a/3rdparty/openctm/tools/wrl.h +++ /dev/null @@ -1,40 +0,0 @@ -//----------------------------------------------------------------------------- -// Product: OpenCTM tools -// File: wrl.h -// Description: Interface for the VRML 2.0 file format importer/exporter. -//----------------------------------------------------------------------------- -// Copyright (c) 2009-2010 Marcus Geelnard -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -// be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -// distribution. -//----------------------------------------------------------------------------- - -#ifndef __WRL_H_ -#define __WRL_H_ - -#include "mesh.h" -#include "convoptions.h" - -/// Import a mesh from a VRML 2.0 file. -void Import_WRL(const char * aFileName, Mesh * aMesh); - -/// Export a mesh to a VRML 2.0 file. -void Export_WRL(const char * aFileName, Mesh * aMesh, Options &aOptions); - -#endif // __WRL_H_ diff --git a/3rdparty/openctm/tools/zlib/Makefile.linux b/3rdparty/openctm/tools/zlib/Makefile.linux deleted file mode 100644 index 295b57fda..000000000 --- a/3rdparty/openctm/tools/zlib/Makefile.linux +++ /dev/null @@ -1,39 +0,0 @@ -# Makefile for zlib - for Linux -# Copyright (C) 1995-2005 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -CC=gcc -CFLAGS=-c -O3 -W - -AR=ar rcs -RM=rm -f - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infback.o inftrees.o inffast.o - - -all: libz.a - -libz.a: $(OBJS) - $(AR) $@ $(OBJS) - -clean: - $(RM) *.o libz.a - -%.o: %.c - $(CC) $(CFLAGS) $< - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: crc32.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/3rdparty/openctm/tools/zlib/Makefile.macosx b/3rdparty/openctm/tools/zlib/Makefile.macosx deleted file mode 100644 index 8df2c006c..000000000 --- a/3rdparty/openctm/tools/zlib/Makefile.macosx +++ /dev/null @@ -1,39 +0,0 @@ -# Makefile for zlib - for Mac OS X -# Copyright (C) 1995-2005 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -CC=gcc -CFLAGS=-c -O3 -W - -AR=ar rcs -RM=rm -f - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infback.o inftrees.o inffast.o - - -all: libz.a - -libz.a: $(OBJS) - $(AR) $@ $(OBJS) - -clean: - $(RM) *.o libz.a - -%.o: %.c - $(CC) $(CFLAGS) $< - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: crc32.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/3rdparty/openctm/tools/zlib/Makefile.mingw b/3rdparty/openctm/tools/zlib/Makefile.mingw deleted file mode 100644 index 42305a3f4..000000000 --- a/3rdparty/openctm/tools/zlib/Makefile.mingw +++ /dev/null @@ -1,39 +0,0 @@ -# Makefile for zlib - for MinGW for Windows -# Copyright (C) 1995-2005 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -CC=gcc -CFLAGS=-c -O3 -W - -AR=ar rcs -RM=del /Q - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infback.o inftrees.o inffast.o - - -all: libz.a - -libz.a: $(OBJS) - $(AR) $@ $(OBJS) - -clean: - $(RM) *.o libz.a - -%.o: %.c - $(CC) $(CFLAGS) $< - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: crc32.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/3rdparty/openctm/tools/zlib/Makefile.msvc b/3rdparty/openctm/tools/zlib/Makefile.msvc deleted file mode 100644 index 3c4e070fa..000000000 --- a/3rdparty/openctm/tools/zlib/Makefile.msvc +++ /dev/null @@ -1,39 +0,0 @@ -# Makefile for zlib - for MS Visual Studio for Windows -# Copyright (C) 1995-2005 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -CC = cl -CFLAGS = $(LOC) /nologo /c /O2 /Gs /W3 /I. /D_CRT_SECURE_NO_WARNINGS - -AR=lib /nologo -RM=del /Q - -OBJS = adler32.obj compress.obj crc32.obj gzio.obj uncompr.obj deflate.obj trees.obj \ - zutil.obj inflate.obj infback.obj inftrees.obj inffast.obj - - -all: libz.lib - -libz.lib: $(OBJS) - $(AR) /OUT:$@ $(OBJS) - -clean: - $(RM) *.obj libz.lib - -.c.obj: - $(CC) $(CFLAGS) /Fo$@ $< - -adler32.obj: zlib.h zconf.h -compress.obj: zlib.h zconf.h -crc32.obj: crc32.h zlib.h zconf.h -deflate.obj: deflate.h zutil.h zlib.h zconf.h -example.obj: zlib.h zconf.h -gzio.obj: zutil.h zlib.h zconf.h -inffast.obj: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.obj: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.obj: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.obj: zutil.h zlib.h zconf.h inftrees.h -minigzip.obj: zlib.h zconf.h -trees.obj: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.obj: zlib.h zconf.h -zutil.obj: zutil.h zlib.h zconf.h diff --git a/3rdparty/openctm/tools/zlib/README b/3rdparty/openctm/tools/zlib/README deleted file mode 100644 index 758cc5002..000000000 --- a/3rdparty/openctm/tools/zlib/README +++ /dev/null @@ -1,125 +0,0 @@ -ZLIB DATA COMPRESSION LIBRARY - -zlib 1.2.3 is a general purpose data compression library. All the code is -thread safe. The data format used by the zlib library is described by RFCs -(Request for Comments) 1950 to 1952 in the files -http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) -and rfc1952.txt (gzip format). These documents are also available in other -formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html - -All functions of the compression library are documented in the file zlib.h -(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example -of the library is given in the file example.c which also tests that the library -is working correctly. Another example is given in the file minigzip.c. The -compression library itself is composed of all source files except example.c and -minigzip.c. - -To compile all files and run the test program, follow the instructions given at -the top of Makefile. In short "make test; make install" should work for most -machines. For Unix: "./configure; make test; make install". For MSDOS, use one -of the special makefiles such as Makefile.msc. For VMS, use make_vms.com. - -Questions about zlib should be sent to , or to Gilles Vollant - for the Windows DLL version. The zlib home page is -http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem, -please check this site to verify that you have the latest version of zlib; -otherwise get the latest version and check whether the problem still exists or -not. - -PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking -for help. - -Mark Nelson wrote an article about zlib for the Jan. 1997 -issue of Dr. Dobb's Journal; a copy of the article is available in -http://dogma.net/markn/articles/zlibtool/zlibtool.htm - -The changes made in version 1.2.3 are documented in the file ChangeLog. - -Unsupported third party contributions are provided in directory "contrib". - -A Java implementation of zlib is available in the Java Development Kit -http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html -See the zlib home page http://www.zlib.org for details. - -A Perl interface to zlib written by Paul Marquess is in the -CPAN (Comprehensive Perl Archive Network) sites -http://www.cpan.org/modules/by-module/Compress/ - -A Python interface to zlib written by A.M. Kuchling is -available in Python 1.5 and later versions, see -http://www.python.org/doc/lib/module-zlib.html - -A zlib binding for TCL written by Andreas Kupries is -availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html - -An experimental package to read and write files in .zip format, written on top -of zlib by Gilles Vollant , is available in the -contrib/minizip directory of zlib. - - -Notes for some targets: - -- For Windows DLL versions, please see win32/DLL_FAQ.txt - -- For 64-bit Irix, deflate.c must be compiled without any optimization. With - -O, one libpng test fails. The test works in 32 bit mode (with the -n32 - compiler flag). The compiler bug has been reported to SGI. - -- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works - when compiled with cc. - -- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is - necessary to get gzprintf working correctly. This is done by configure. - -- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with - other compilers. Use "make test" to check your compiler. - -- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. - -- For PalmOs, see http://palmzlib.sourceforge.net/ - -- When building a shared, i.e. dynamic library on Mac OS X, the library must be - installed before testing (do "make install" before "make test"), since the - library location is specified in the library. - - -Acknowledgments: - - The deflate format used by zlib was defined by Phil Katz. The deflate - and zlib specifications were written by L. Peter Deutsch. Thanks to all the - people who reported problems and suggested various improvements in zlib; - they are too numerous to cite here. - -Copyright notice: - - (C) 1995-2004 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* -receiving lengthy legal documents to sign. The sources are provided -for free but without warranty of any kind. The library has been -entirely written by Jean-loup Gailly and Mark Adler; it does not -include third-party code. - -If you redistribute modified sources, we would appreciate that you include -in the file ChangeLog history information documenting your changes. Please -read the FAQ for more information on the distribution of modified source -versions. diff --git a/3rdparty/openctm/tools/zlib/adler32.c b/3rdparty/openctm/tools/zlib/adler32.c deleted file mode 100644 index 007ba2627..000000000 --- a/3rdparty/openctm/tools/zlib/adler32.c +++ /dev/null @@ -1,149 +0,0 @@ -/* adler32.c -- compute the Adler-32 checksum of a data stream - * Copyright (C) 1995-2004 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#define ZLIB_INTERNAL -#include "zlib.h" - -#define BASE 65521UL /* largest prime smaller than 65536 */ -#define NMAX 5552 -/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ - -#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;} -#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); -#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); -#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); -#define DO16(buf) DO8(buf,0); DO8(buf,8); - -/* use NO_DIVIDE if your processor does not do division in hardware */ -#ifdef NO_DIVIDE -# define MOD(a) \ - do { \ - if (a >= (BASE << 16)) a -= (BASE << 16); \ - if (a >= (BASE << 15)) a -= (BASE << 15); \ - if (a >= (BASE << 14)) a -= (BASE << 14); \ - if (a >= (BASE << 13)) a -= (BASE << 13); \ - if (a >= (BASE << 12)) a -= (BASE << 12); \ - if (a >= (BASE << 11)) a -= (BASE << 11); \ - if (a >= (BASE << 10)) a -= (BASE << 10); \ - if (a >= (BASE << 9)) a -= (BASE << 9); \ - if (a >= (BASE << 8)) a -= (BASE << 8); \ - if (a >= (BASE << 7)) a -= (BASE << 7); \ - if (a >= (BASE << 6)) a -= (BASE << 6); \ - if (a >= (BASE << 5)) a -= (BASE << 5); \ - if (a >= (BASE << 4)) a -= (BASE << 4); \ - if (a >= (BASE << 3)) a -= (BASE << 3); \ - if (a >= (BASE << 2)) a -= (BASE << 2); \ - if (a >= (BASE << 1)) a -= (BASE << 1); \ - if (a >= BASE) a -= BASE; \ - } while (0) -# define MOD4(a) \ - do { \ - if (a >= (BASE << 4)) a -= (BASE << 4); \ - if (a >= (BASE << 3)) a -= (BASE << 3); \ - if (a >= (BASE << 2)) a -= (BASE << 2); \ - if (a >= (BASE << 1)) a -= (BASE << 1); \ - if (a >= BASE) a -= BASE; \ - } while (0) -#else -# define MOD(a) a %= BASE -# define MOD4(a) a %= BASE -#endif - -/* ========================================================================= */ -uLong ZEXPORT adler32(adler, buf, len) - uLong adler; - const Bytef *buf; - uInt len; -{ - unsigned long sum2; - unsigned n; - - /* split Adler-32 into component sums */ - sum2 = (adler >> 16) & 0xffff; - adler &= 0xffff; - - /* in case user likes doing a byte at a time, keep it fast */ - if (len == 1) { - adler += buf[0]; - if (adler >= BASE) - adler -= BASE; - sum2 += adler; - if (sum2 >= BASE) - sum2 -= BASE; - return adler | (sum2 << 16); - } - - /* initial Adler-32 value (deferred check for len == 1 speed) */ - if (buf == Z_NULL) - return 1L; - - /* in case short lengths are provided, keep it somewhat fast */ - if (len < 16) { - while (len--) { - adler += *buf++; - sum2 += adler; - } - if (adler >= BASE) - adler -= BASE; - MOD4(sum2); /* only added so many BASE's */ - return adler | (sum2 << 16); - } - - /* do length NMAX blocks -- requires just one modulo operation */ - while (len >= NMAX) { - len -= NMAX; - n = NMAX / 16; /* NMAX is divisible by 16 */ - do { - DO16(buf); /* 16 sums unrolled */ - buf += 16; - } while (--n); - MOD(adler); - MOD(sum2); - } - - /* do remaining bytes (less than NMAX, still just one modulo) */ - if (len) { /* avoid modulos if none remaining */ - while (len >= 16) { - len -= 16; - DO16(buf); - buf += 16; - } - while (len--) { - adler += *buf++; - sum2 += adler; - } - MOD(adler); - MOD(sum2); - } - - /* return recombined sums */ - return adler | (sum2 << 16); -} - -/* ========================================================================= */ -uLong ZEXPORT adler32_combine(adler1, adler2, len2) - uLong adler1; - uLong adler2; - z_off_t len2; -{ - unsigned long sum1; - unsigned long sum2; - unsigned rem; - - /* the derivation of this formula is left as an exercise for the reader */ - rem = (unsigned)(len2 % BASE); - sum1 = adler1 & 0xffff; - sum2 = rem * sum1; - MOD(sum2); - sum1 += (adler2 & 0xffff) + BASE - 1; - sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; - if (sum1 > BASE) sum1 -= BASE; - if (sum1 > BASE) sum1 -= BASE; - if (sum2 > (BASE << 1)) sum2 -= (BASE << 1); - if (sum2 > BASE) sum2 -= BASE; - return sum1 | (sum2 << 16); -} diff --git a/3rdparty/openctm/tools/zlib/compress.c b/3rdparty/openctm/tools/zlib/compress.c deleted file mode 100644 index df04f0148..000000000 --- a/3rdparty/openctm/tools/zlib/compress.c +++ /dev/null @@ -1,79 +0,0 @@ -/* compress.c -- compress a memory buffer - * Copyright (C) 1995-2003 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#define ZLIB_INTERNAL -#include "zlib.h" - -/* =========================================================================== - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least 0.1% larger than sourceLen plus - 12 bytes. Upon exit, destLen is the actual size of the compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ -int ZEXPORT compress2 (dest, destLen, source, sourceLen, level) - Bytef *dest; - uLongf *destLen; - const Bytef *source; - uLong sourceLen; - int level; -{ - z_stream stream; - int err; - - stream.next_in = (Bytef*)source; - stream.avail_in = (uInt)sourceLen; -#ifdef MAXSEG_64K - /* Check for source > 64K on 16-bit machine: */ - if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -#endif - stream.next_out = dest; - stream.avail_out = (uInt)*destLen; - if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; - - stream.zalloc = (alloc_func)0; - stream.zfree = (free_func)0; - stream.opaque = (voidpf)0; - - err = deflateInit(&stream, level); - if (err != Z_OK) return err; - - err = deflate(&stream, Z_FINISH); - if (err != Z_STREAM_END) { - deflateEnd(&stream); - return err == Z_OK ? Z_BUF_ERROR : err; - } - *destLen = stream.total_out; - - err = deflateEnd(&stream); - return err; -} - -/* =========================================================================== - */ -int ZEXPORT compress (dest, destLen, source, sourceLen) - Bytef *dest; - uLongf *destLen; - const Bytef *source; - uLong sourceLen; -{ - return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); -} - -/* =========================================================================== - If the default memLevel or windowBits for deflateInit() is changed, then - this function needs to be updated. - */ -uLong ZEXPORT compressBound (sourceLen) - uLong sourceLen; -{ - return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11; -} diff --git a/3rdparty/openctm/tools/zlib/crc32.c b/3rdparty/openctm/tools/zlib/crc32.c deleted file mode 100644 index f658a9ef5..000000000 --- a/3rdparty/openctm/tools/zlib/crc32.c +++ /dev/null @@ -1,423 +0,0 @@ -/* crc32.c -- compute the CRC-32 of a data stream - * Copyright (C) 1995-2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Thanks to Rodney Brown for his contribution of faster - * CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing - * tables for updating the shift register in one step with three exclusive-ors - * instead of four steps with four exclusive-ors. This results in about a - * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3. - */ - -/* @(#) $Id$ */ - -/* - Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore - protection on the static variables used to control the first-use generation - of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should - first call get_crc_table() to initialize the tables before allowing more than - one thread to use crc32(). - */ - -#ifdef MAKECRCH -# include -# ifndef DYNAMIC_CRC_TABLE -# define DYNAMIC_CRC_TABLE -# endif /* !DYNAMIC_CRC_TABLE */ -#endif /* MAKECRCH */ - -#include "zutil.h" /* for STDC and FAR definitions */ - -#define local static - -/* Find a four-byte integer type for crc32_little() and crc32_big(). */ -#ifndef NOBYFOUR -# ifdef STDC /* need ANSI C limits.h to determine sizes */ -# include -# define BYFOUR -# if (UINT_MAX == 0xffffffffUL) - typedef unsigned int u4; -# else -# if (ULONG_MAX == 0xffffffffUL) - typedef unsigned long u4; -# else -# if (USHRT_MAX == 0xffffffffUL) - typedef unsigned short u4; -# else -# undef BYFOUR /* can't find a four-byte integer type! */ -# endif -# endif -# endif -# endif /* STDC */ -#endif /* !NOBYFOUR */ - -/* Definitions for doing the crc four data bytes at a time. */ -#ifdef BYFOUR -# define REV(w) (((w)>>24)+(((w)>>8)&0xff00)+ \ - (((w)&0xff00)<<8)+(((w)&0xff)<<24)) - local unsigned long crc32_little OF((unsigned long, - const unsigned char FAR *, unsigned)); - local unsigned long crc32_big OF((unsigned long, - const unsigned char FAR *, unsigned)); -# define TBLS 8 -#else -# define TBLS 1 -#endif /* BYFOUR */ - -/* Local functions for crc concatenation */ -local unsigned long gf2_matrix_times OF((unsigned long *mat, - unsigned long vec)); -local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat)); - -#ifdef DYNAMIC_CRC_TABLE - -local volatile int crc_table_empty = 1; -local unsigned long FAR crc_table[TBLS][256]; -local void make_crc_table OF((void)); -#ifdef MAKECRCH - local void write_table OF((FILE *, const unsigned long FAR *)); -#endif /* MAKECRCH */ -/* - Generate tables for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The first table is simply the CRC of all possible eight bit values. This is - all the information needed to generate CRCs on data a byte at a time for all - combinations of CRC register values and incoming bytes. The remaining tables - allow for word-at-a-time CRC calculation for both big-endian and little- - endian machines, where a word is four bytes. -*/ -local void make_crc_table() -{ - unsigned long c; - int n, k; - unsigned long poly; /* polynomial exclusive-or pattern */ - /* terms of polynomial defining this crc (except x^32): */ - static volatile int first = 1; /* flag to limit concurrent making */ - static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26}; - - /* See if another task is already doing this (not thread-safe, but better - than nothing -- significantly reduces duration of vulnerability in - case the advice about DYNAMIC_CRC_TABLE is ignored) */ - if (first) { - first = 0; - - /* make exclusive-or pattern from polynomial (0xedb88320UL) */ - poly = 0UL; - for (n = 0; n < sizeof(p)/sizeof(unsigned char); n++) - poly |= 1UL << (31 - p[n]); - - /* generate a crc for every 8-bit value */ - for (n = 0; n < 256; n++) { - c = (unsigned long)n; - for (k = 0; k < 8; k++) - c = c & 1 ? poly ^ (c >> 1) : c >> 1; - crc_table[0][n] = c; - } - -#ifdef BYFOUR - /* generate crc for each value followed by one, two, and three zeros, - and then the byte reversal of those as well as the first table */ - for (n = 0; n < 256; n++) { - c = crc_table[0][n]; - crc_table[4][n] = REV(c); - for (k = 1; k < 4; k++) { - c = crc_table[0][c & 0xff] ^ (c >> 8); - crc_table[k][n] = c; - crc_table[k + 4][n] = REV(c); - } - } -#endif /* BYFOUR */ - - crc_table_empty = 0; - } - else { /* not first */ - /* wait for the other guy to finish (not efficient, but rare) */ - while (crc_table_empty) - ; - } - -#ifdef MAKECRCH - /* write out CRC tables to crc32.h */ - { - FILE *out; - - out = fopen("crc32.h", "w"); - if (out == NULL) return; - fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n"); - fprintf(out, " * Generated automatically by crc32.c\n */\n\n"); - fprintf(out, "local const unsigned long FAR "); - fprintf(out, "crc_table[TBLS][256] =\n{\n {\n"); - write_table(out, crc_table[0]); -# ifdef BYFOUR - fprintf(out, "#ifdef BYFOUR\n"); - for (k = 1; k < 8; k++) { - fprintf(out, " },\n {\n"); - write_table(out, crc_table[k]); - } - fprintf(out, "#endif\n"); -# endif /* BYFOUR */ - fprintf(out, " }\n};\n"); - fclose(out); - } -#endif /* MAKECRCH */ -} - -#ifdef MAKECRCH -local void write_table(out, table) - FILE *out; - const unsigned long FAR *table; -{ - int n; - - for (n = 0; n < 256; n++) - fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", table[n], - n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", ")); -} -#endif /* MAKECRCH */ - -#else /* !DYNAMIC_CRC_TABLE */ -/* ======================================================================== - * Tables of CRC-32s of all single-byte values, made by make_crc_table(). - */ -#include "crc32.h" -#endif /* DYNAMIC_CRC_TABLE */ - -/* ========================================================================= - * This function can be used by asm versions of crc32() - */ -const unsigned long FAR * ZEXPORT get_crc_table() -{ -#ifdef DYNAMIC_CRC_TABLE - if (crc_table_empty) - make_crc_table(); -#endif /* DYNAMIC_CRC_TABLE */ - return (const unsigned long FAR *)crc_table; -} - -/* ========================================================================= */ -#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8) -#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1 - -/* ========================================================================= */ -unsigned long ZEXPORT crc32(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - unsigned len; -{ - if (buf == Z_NULL) return 0UL; - -#ifdef DYNAMIC_CRC_TABLE - if (crc_table_empty) - make_crc_table(); -#endif /* DYNAMIC_CRC_TABLE */ - -#ifdef BYFOUR - if (sizeof(void *) == sizeof(ptrdiff_t)) { - u4 endian; - - endian = 1; - if (*((unsigned char *)(&endian))) - return crc32_little(crc, buf, len); - else - return crc32_big(crc, buf, len); - } -#endif /* BYFOUR */ - crc = crc ^ 0xffffffffUL; - while (len >= 8) { - DO8; - len -= 8; - } - if (len) do { - DO1; - } while (--len); - return crc ^ 0xffffffffUL; -} - -#ifdef BYFOUR - -/* ========================================================================= */ -#define DOLIT4 c ^= *buf4++; \ - c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \ - crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24] -#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4 - -/* ========================================================================= */ -local unsigned long crc32_little(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - unsigned len; -{ - register u4 c; - register const u4 FAR *buf4; - - c = (u4)crc; - c = ~c; - while (len && ((ptrdiff_t)buf & 3)) { - c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - len--; - } - - buf4 = (const u4 FAR *)(const void FAR *)buf; - while (len >= 32) { - DOLIT32; - len -= 32; - } - while (len >= 4) { - DOLIT4; - len -= 4; - } - buf = (const unsigned char FAR *)buf4; - - if (len) do { - c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - } while (--len); - c = ~c; - return (unsigned long)c; -} - -/* ========================================================================= */ -#define DOBIG4 c ^= *++buf4; \ - c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \ - crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24] -#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 - -/* ========================================================================= */ -local unsigned long crc32_big(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - unsigned len; -{ - register u4 c; - register const u4 FAR *buf4; - - c = REV((u4)crc); - c = ~c; - while (len && ((ptrdiff_t)buf & 3)) { - c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - len--; - } - - buf4 = (const u4 FAR *)(const void FAR *)buf; - buf4--; - while (len >= 32) { - DOBIG32; - len -= 32; - } - while (len >= 4) { - DOBIG4; - len -= 4; - } - buf4++; - buf = (const unsigned char FAR *)buf4; - - if (len) do { - c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - } while (--len); - c = ~c; - return (unsigned long)(REV(c)); -} - -#endif /* BYFOUR */ - -#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ - -/* ========================================================================= */ -local unsigned long gf2_matrix_times(mat, vec) - unsigned long *mat; - unsigned long vec; -{ - unsigned long sum; - - sum = 0; - while (vec) { - if (vec & 1) - sum ^= *mat; - vec >>= 1; - mat++; - } - return sum; -} - -/* ========================================================================= */ -local void gf2_matrix_square(square, mat) - unsigned long *square; - unsigned long *mat; -{ - int n; - - for (n = 0; n < GF2_DIM; n++) - square[n] = gf2_matrix_times(mat, mat[n]); -} - -/* ========================================================================= */ -uLong ZEXPORT crc32_combine(crc1, crc2, len2) - uLong crc1; - uLong crc2; - z_off_t len2; -{ - int n; - unsigned long row; - unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */ - unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */ - - /* degenerate case */ - if (len2 == 0) - return crc1; - - /* put operator for one zero bit in odd */ - odd[0] = 0xedb88320L; /* CRC-32 polynomial */ - row = 1; - for (n = 1; n < GF2_DIM; n++) { - odd[n] = row; - row <<= 1; - } - - /* put operator for two zero bits in even */ - gf2_matrix_square(even, odd); - - /* put operator for four zero bits in odd */ - gf2_matrix_square(odd, even); - - /* apply len2 zeros to crc1 (first square will put the operator for one - zero byte, eight zero bits, in even) */ - do { - /* apply zeros operator for this bit of len2 */ - gf2_matrix_square(even, odd); - if (len2 & 1) - crc1 = gf2_matrix_times(even, crc1); - len2 >>= 1; - - /* if no more bits set, then done */ - if (len2 == 0) - break; - - /* another iteration of the loop with odd and even swapped */ - gf2_matrix_square(odd, even); - if (len2 & 1) - crc1 = gf2_matrix_times(odd, crc1); - len2 >>= 1; - - /* if no more bits set, then done */ - } while (len2 != 0); - - /* return combined crc */ - crc1 ^= crc2; - return crc1; -} diff --git a/3rdparty/openctm/tools/zlib/crc32.h b/3rdparty/openctm/tools/zlib/crc32.h deleted file mode 100644 index 8053b6117..000000000 --- a/3rdparty/openctm/tools/zlib/crc32.h +++ /dev/null @@ -1,441 +0,0 @@ -/* crc32.h -- tables for rapid CRC calculation - * Generated automatically by crc32.c - */ - -local const unsigned long FAR crc_table[TBLS][256] = -{ - { - 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL, - 0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL, 0x0edb8832UL, 0x79dcb8a4UL, - 0xe0d5e91eUL, 0x97d2d988UL, 0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL, - 0x90bf1d91UL, 0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL, - 0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL, 0x136c9856UL, - 0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL, 0x14015c4fUL, 0x63066cd9UL, - 0xfa0f3d63UL, 0x8d080df5UL, 0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL, - 0xa2677172UL, 0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL, - 0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL, 0x32d86ce3UL, - 0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL, 0x26d930acUL, 0x51de003aUL, - 0xc8d75180UL, 0xbfd06116UL, 0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL, - 0xb8bda50fUL, 0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL, - 0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL, 0x76dc4190UL, - 0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL, 0x71b18589UL, 0x06b6b51fUL, - 0x9fbfe4a5UL, 0xe8b8d433UL, 0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL, - 0xe10e9818UL, 0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL, - 0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL, 0x6c0695edUL, - 0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL, 0x65b0d9c6UL, 0x12b7e950UL, - 0x8bbeb8eaUL, 0xfcb9887cUL, 0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL, - 0xfbd44c65UL, 0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL, - 0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL, 0x4369e96aUL, - 0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL, 0x44042d73UL, 0x33031de5UL, - 0xaa0a4c5fUL, 0xdd0d7cc9UL, 0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL, - 0xc90c2086UL, 0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL, - 0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL, 0x59b33d17UL, - 0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL, 0xedb88320UL, 0x9abfb3b6UL, - 0x03b6e20cUL, 0x74b1d29aUL, 0xead54739UL, 0x9dd277afUL, 0x04db2615UL, - 0x73dc1683UL, 0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL, - 0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL, 0xf00f9344UL, - 0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL, 0xf762575dUL, 0x806567cbUL, - 0x196c3671UL, 0x6e6b06e7UL, 0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL, - 0x67dd4accUL, 0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL, - 0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL, 0xd1bb67f1UL, - 0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL, 0xd80d2bdaUL, 0xaf0a1b4cUL, - 0x36034af6UL, 0x41047a60UL, 0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL, - 0x4669be79UL, 0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL, - 0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL, 0xc5ba3bbeUL, - 0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL, 0xc2d7ffa7UL, 0xb5d0cf31UL, - 0x2cd99e8bUL, 0x5bdeae1dUL, 0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL, - 0x026d930aUL, 0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL, - 0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL, 0x92d28e9bUL, - 0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL, 0x86d3d2d4UL, 0xf1d4e242UL, - 0x68ddb3f8UL, 0x1fda836eUL, 0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL, - 0x18b74777UL, 0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL, - 0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL, 0xa00ae278UL, - 0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL, 0xa7672661UL, 0xd06016f7UL, - 0x4969474dUL, 0x3e6e77dbUL, 0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL, - 0x37d83bf0UL, 0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL, - 0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL, 0xbad03605UL, - 0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL, 0xb3667a2eUL, 0xc4614ab8UL, - 0x5d681b02UL, 0x2a6f2b94UL, 0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL, - 0x2d02ef8dUL -#ifdef BYFOUR - }, - { - 0x00000000UL, 0x191b3141UL, 0x32366282UL, 0x2b2d53c3UL, 0x646cc504UL, - 0x7d77f445UL, 0x565aa786UL, 0x4f4196c7UL, 0xc8d98a08UL, 0xd1c2bb49UL, - 0xfaefe88aUL, 0xe3f4d9cbUL, 0xacb54f0cUL, 0xb5ae7e4dUL, 0x9e832d8eUL, - 0x87981ccfUL, 0x4ac21251UL, 0x53d92310UL, 0x78f470d3UL, 0x61ef4192UL, - 0x2eaed755UL, 0x37b5e614UL, 0x1c98b5d7UL, 0x05838496UL, 0x821b9859UL, - 0x9b00a918UL, 0xb02dfadbUL, 0xa936cb9aUL, 0xe6775d5dUL, 0xff6c6c1cUL, - 0xd4413fdfUL, 0xcd5a0e9eUL, 0x958424a2UL, 0x8c9f15e3UL, 0xa7b24620UL, - 0xbea97761UL, 0xf1e8e1a6UL, 0xe8f3d0e7UL, 0xc3de8324UL, 0xdac5b265UL, - 0x5d5daeaaUL, 0x44469febUL, 0x6f6bcc28UL, 0x7670fd69UL, 0x39316baeUL, - 0x202a5aefUL, 0x0b07092cUL, 0x121c386dUL, 0xdf4636f3UL, 0xc65d07b2UL, - 0xed705471UL, 0xf46b6530UL, 0xbb2af3f7UL, 0xa231c2b6UL, 0x891c9175UL, - 0x9007a034UL, 0x179fbcfbUL, 0x0e848dbaUL, 0x25a9de79UL, 0x3cb2ef38UL, - 0x73f379ffUL, 0x6ae848beUL, 0x41c51b7dUL, 0x58de2a3cUL, 0xf0794f05UL, - 0xe9627e44UL, 0xc24f2d87UL, 0xdb541cc6UL, 0x94158a01UL, 0x8d0ebb40UL, - 0xa623e883UL, 0xbf38d9c2UL, 0x38a0c50dUL, 0x21bbf44cUL, 0x0a96a78fUL, - 0x138d96ceUL, 0x5ccc0009UL, 0x45d73148UL, 0x6efa628bUL, 0x77e153caUL, - 0xbabb5d54UL, 0xa3a06c15UL, 0x888d3fd6UL, 0x91960e97UL, 0xded79850UL, - 0xc7cca911UL, 0xece1fad2UL, 0xf5facb93UL, 0x7262d75cUL, 0x6b79e61dUL, - 0x4054b5deUL, 0x594f849fUL, 0x160e1258UL, 0x0f152319UL, 0x243870daUL, - 0x3d23419bUL, 0x65fd6ba7UL, 0x7ce65ae6UL, 0x57cb0925UL, 0x4ed03864UL, - 0x0191aea3UL, 0x188a9fe2UL, 0x33a7cc21UL, 0x2abcfd60UL, 0xad24e1afUL, - 0xb43fd0eeUL, 0x9f12832dUL, 0x8609b26cUL, 0xc94824abUL, 0xd05315eaUL, - 0xfb7e4629UL, 0xe2657768UL, 0x2f3f79f6UL, 0x362448b7UL, 0x1d091b74UL, - 0x04122a35UL, 0x4b53bcf2UL, 0x52488db3UL, 0x7965de70UL, 0x607eef31UL, - 0xe7e6f3feUL, 0xfefdc2bfUL, 0xd5d0917cUL, 0xcccba03dUL, 0x838a36faUL, - 0x9a9107bbUL, 0xb1bc5478UL, 0xa8a76539UL, 0x3b83984bUL, 0x2298a90aUL, - 0x09b5fac9UL, 0x10aecb88UL, 0x5fef5d4fUL, 0x46f46c0eUL, 0x6dd93fcdUL, - 0x74c20e8cUL, 0xf35a1243UL, 0xea412302UL, 0xc16c70c1UL, 0xd8774180UL, - 0x9736d747UL, 0x8e2de606UL, 0xa500b5c5UL, 0xbc1b8484UL, 0x71418a1aUL, - 0x685abb5bUL, 0x4377e898UL, 0x5a6cd9d9UL, 0x152d4f1eUL, 0x0c367e5fUL, - 0x271b2d9cUL, 0x3e001cddUL, 0xb9980012UL, 0xa0833153UL, 0x8bae6290UL, - 0x92b553d1UL, 0xddf4c516UL, 0xc4eff457UL, 0xefc2a794UL, 0xf6d996d5UL, - 0xae07bce9UL, 0xb71c8da8UL, 0x9c31de6bUL, 0x852aef2aUL, 0xca6b79edUL, - 0xd37048acUL, 0xf85d1b6fUL, 0xe1462a2eUL, 0x66de36e1UL, 0x7fc507a0UL, - 0x54e85463UL, 0x4df36522UL, 0x02b2f3e5UL, 0x1ba9c2a4UL, 0x30849167UL, - 0x299fa026UL, 0xe4c5aeb8UL, 0xfdde9ff9UL, 0xd6f3cc3aUL, 0xcfe8fd7bUL, - 0x80a96bbcUL, 0x99b25afdUL, 0xb29f093eUL, 0xab84387fUL, 0x2c1c24b0UL, - 0x350715f1UL, 0x1e2a4632UL, 0x07317773UL, 0x4870e1b4UL, 0x516bd0f5UL, - 0x7a468336UL, 0x635db277UL, 0xcbfad74eUL, 0xd2e1e60fUL, 0xf9ccb5ccUL, - 0xe0d7848dUL, 0xaf96124aUL, 0xb68d230bUL, 0x9da070c8UL, 0x84bb4189UL, - 0x03235d46UL, 0x1a386c07UL, 0x31153fc4UL, 0x280e0e85UL, 0x674f9842UL, - 0x7e54a903UL, 0x5579fac0UL, 0x4c62cb81UL, 0x8138c51fUL, 0x9823f45eUL, - 0xb30ea79dUL, 0xaa1596dcUL, 0xe554001bUL, 0xfc4f315aUL, 0xd7626299UL, - 0xce7953d8UL, 0x49e14f17UL, 0x50fa7e56UL, 0x7bd72d95UL, 0x62cc1cd4UL, - 0x2d8d8a13UL, 0x3496bb52UL, 0x1fbbe891UL, 0x06a0d9d0UL, 0x5e7ef3ecUL, - 0x4765c2adUL, 0x6c48916eUL, 0x7553a02fUL, 0x3a1236e8UL, 0x230907a9UL, - 0x0824546aUL, 0x113f652bUL, 0x96a779e4UL, 0x8fbc48a5UL, 0xa4911b66UL, - 0xbd8a2a27UL, 0xf2cbbce0UL, 0xebd08da1UL, 0xc0fdde62UL, 0xd9e6ef23UL, - 0x14bce1bdUL, 0x0da7d0fcUL, 0x268a833fUL, 0x3f91b27eUL, 0x70d024b9UL, - 0x69cb15f8UL, 0x42e6463bUL, 0x5bfd777aUL, 0xdc656bb5UL, 0xc57e5af4UL, - 0xee530937UL, 0xf7483876UL, 0xb809aeb1UL, 0xa1129ff0UL, 0x8a3fcc33UL, - 0x9324fd72UL - }, - { - 0x00000000UL, 0x01c26a37UL, 0x0384d46eUL, 0x0246be59UL, 0x0709a8dcUL, - 0x06cbc2ebUL, 0x048d7cb2UL, 0x054f1685UL, 0x0e1351b8UL, 0x0fd13b8fUL, - 0x0d9785d6UL, 0x0c55efe1UL, 0x091af964UL, 0x08d89353UL, 0x0a9e2d0aUL, - 0x0b5c473dUL, 0x1c26a370UL, 0x1de4c947UL, 0x1fa2771eUL, 0x1e601d29UL, - 0x1b2f0bacUL, 0x1aed619bUL, 0x18abdfc2UL, 0x1969b5f5UL, 0x1235f2c8UL, - 0x13f798ffUL, 0x11b126a6UL, 0x10734c91UL, 0x153c5a14UL, 0x14fe3023UL, - 0x16b88e7aUL, 0x177ae44dUL, 0x384d46e0UL, 0x398f2cd7UL, 0x3bc9928eUL, - 0x3a0bf8b9UL, 0x3f44ee3cUL, 0x3e86840bUL, 0x3cc03a52UL, 0x3d025065UL, - 0x365e1758UL, 0x379c7d6fUL, 0x35dac336UL, 0x3418a901UL, 0x3157bf84UL, - 0x3095d5b3UL, 0x32d36beaUL, 0x331101ddUL, 0x246be590UL, 0x25a98fa7UL, - 0x27ef31feUL, 0x262d5bc9UL, 0x23624d4cUL, 0x22a0277bUL, 0x20e69922UL, - 0x2124f315UL, 0x2a78b428UL, 0x2bbade1fUL, 0x29fc6046UL, 0x283e0a71UL, - 0x2d711cf4UL, 0x2cb376c3UL, 0x2ef5c89aUL, 0x2f37a2adUL, 0x709a8dc0UL, - 0x7158e7f7UL, 0x731e59aeUL, 0x72dc3399UL, 0x7793251cUL, 0x76514f2bUL, - 0x7417f172UL, 0x75d59b45UL, 0x7e89dc78UL, 0x7f4bb64fUL, 0x7d0d0816UL, - 0x7ccf6221UL, 0x798074a4UL, 0x78421e93UL, 0x7a04a0caUL, 0x7bc6cafdUL, - 0x6cbc2eb0UL, 0x6d7e4487UL, 0x6f38fadeUL, 0x6efa90e9UL, 0x6bb5866cUL, - 0x6a77ec5bUL, 0x68315202UL, 0x69f33835UL, 0x62af7f08UL, 0x636d153fUL, - 0x612bab66UL, 0x60e9c151UL, 0x65a6d7d4UL, 0x6464bde3UL, 0x662203baUL, - 0x67e0698dUL, 0x48d7cb20UL, 0x4915a117UL, 0x4b531f4eUL, 0x4a917579UL, - 0x4fde63fcUL, 0x4e1c09cbUL, 0x4c5ab792UL, 0x4d98dda5UL, 0x46c49a98UL, - 0x4706f0afUL, 0x45404ef6UL, 0x448224c1UL, 0x41cd3244UL, 0x400f5873UL, - 0x4249e62aUL, 0x438b8c1dUL, 0x54f16850UL, 0x55330267UL, 0x5775bc3eUL, - 0x56b7d609UL, 0x53f8c08cUL, 0x523aaabbUL, 0x507c14e2UL, 0x51be7ed5UL, - 0x5ae239e8UL, 0x5b2053dfUL, 0x5966ed86UL, 0x58a487b1UL, 0x5deb9134UL, - 0x5c29fb03UL, 0x5e6f455aUL, 0x5fad2f6dUL, 0xe1351b80UL, 0xe0f771b7UL, - 0xe2b1cfeeUL, 0xe373a5d9UL, 0xe63cb35cUL, 0xe7fed96bUL, 0xe5b86732UL, - 0xe47a0d05UL, 0xef264a38UL, 0xeee4200fUL, 0xeca29e56UL, 0xed60f461UL, - 0xe82fe2e4UL, 0xe9ed88d3UL, 0xebab368aUL, 0xea695cbdUL, 0xfd13b8f0UL, - 0xfcd1d2c7UL, 0xfe976c9eUL, 0xff5506a9UL, 0xfa1a102cUL, 0xfbd87a1bUL, - 0xf99ec442UL, 0xf85cae75UL, 0xf300e948UL, 0xf2c2837fUL, 0xf0843d26UL, - 0xf1465711UL, 0xf4094194UL, 0xf5cb2ba3UL, 0xf78d95faUL, 0xf64fffcdUL, - 0xd9785d60UL, 0xd8ba3757UL, 0xdafc890eUL, 0xdb3ee339UL, 0xde71f5bcUL, - 0xdfb39f8bUL, 0xddf521d2UL, 0xdc374be5UL, 0xd76b0cd8UL, 0xd6a966efUL, - 0xd4efd8b6UL, 0xd52db281UL, 0xd062a404UL, 0xd1a0ce33UL, 0xd3e6706aUL, - 0xd2241a5dUL, 0xc55efe10UL, 0xc49c9427UL, 0xc6da2a7eUL, 0xc7184049UL, - 0xc25756ccUL, 0xc3953cfbUL, 0xc1d382a2UL, 0xc011e895UL, 0xcb4dafa8UL, - 0xca8fc59fUL, 0xc8c97bc6UL, 0xc90b11f1UL, 0xcc440774UL, 0xcd866d43UL, - 0xcfc0d31aUL, 0xce02b92dUL, 0x91af9640UL, 0x906dfc77UL, 0x922b422eUL, - 0x93e92819UL, 0x96a63e9cUL, 0x976454abUL, 0x9522eaf2UL, 0x94e080c5UL, - 0x9fbcc7f8UL, 0x9e7eadcfUL, 0x9c381396UL, 0x9dfa79a1UL, 0x98b56f24UL, - 0x99770513UL, 0x9b31bb4aUL, 0x9af3d17dUL, 0x8d893530UL, 0x8c4b5f07UL, - 0x8e0de15eUL, 0x8fcf8b69UL, 0x8a809decUL, 0x8b42f7dbUL, 0x89044982UL, - 0x88c623b5UL, 0x839a6488UL, 0x82580ebfUL, 0x801eb0e6UL, 0x81dcdad1UL, - 0x8493cc54UL, 0x8551a663UL, 0x8717183aUL, 0x86d5720dUL, 0xa9e2d0a0UL, - 0xa820ba97UL, 0xaa6604ceUL, 0xaba46ef9UL, 0xaeeb787cUL, 0xaf29124bUL, - 0xad6fac12UL, 0xacadc625UL, 0xa7f18118UL, 0xa633eb2fUL, 0xa4755576UL, - 0xa5b73f41UL, 0xa0f829c4UL, 0xa13a43f3UL, 0xa37cfdaaUL, 0xa2be979dUL, - 0xb5c473d0UL, 0xb40619e7UL, 0xb640a7beUL, 0xb782cd89UL, 0xb2cddb0cUL, - 0xb30fb13bUL, 0xb1490f62UL, 0xb08b6555UL, 0xbbd72268UL, 0xba15485fUL, - 0xb853f606UL, 0xb9919c31UL, 0xbcde8ab4UL, 0xbd1ce083UL, 0xbf5a5edaUL, - 0xbe9834edUL - }, - { - 0x00000000UL, 0xb8bc6765UL, 0xaa09c88bUL, 0x12b5afeeUL, 0x8f629757UL, - 0x37def032UL, 0x256b5fdcUL, 0x9dd738b9UL, 0xc5b428efUL, 0x7d084f8aUL, - 0x6fbde064UL, 0xd7018701UL, 0x4ad6bfb8UL, 0xf26ad8ddUL, 0xe0df7733UL, - 0x58631056UL, 0x5019579fUL, 0xe8a530faUL, 0xfa109f14UL, 0x42acf871UL, - 0xdf7bc0c8UL, 0x67c7a7adUL, 0x75720843UL, 0xcdce6f26UL, 0x95ad7f70UL, - 0x2d111815UL, 0x3fa4b7fbUL, 0x8718d09eUL, 0x1acfe827UL, 0xa2738f42UL, - 0xb0c620acUL, 0x087a47c9UL, 0xa032af3eUL, 0x188ec85bUL, 0x0a3b67b5UL, - 0xb28700d0UL, 0x2f503869UL, 0x97ec5f0cUL, 0x8559f0e2UL, 0x3de59787UL, - 0x658687d1UL, 0xdd3ae0b4UL, 0xcf8f4f5aUL, 0x7733283fUL, 0xeae41086UL, - 0x525877e3UL, 0x40edd80dUL, 0xf851bf68UL, 0xf02bf8a1UL, 0x48979fc4UL, - 0x5a22302aUL, 0xe29e574fUL, 0x7f496ff6UL, 0xc7f50893UL, 0xd540a77dUL, - 0x6dfcc018UL, 0x359fd04eUL, 0x8d23b72bUL, 0x9f9618c5UL, 0x272a7fa0UL, - 0xbafd4719UL, 0x0241207cUL, 0x10f48f92UL, 0xa848e8f7UL, 0x9b14583dUL, - 0x23a83f58UL, 0x311d90b6UL, 0x89a1f7d3UL, 0x1476cf6aUL, 0xaccaa80fUL, - 0xbe7f07e1UL, 0x06c36084UL, 0x5ea070d2UL, 0xe61c17b7UL, 0xf4a9b859UL, - 0x4c15df3cUL, 0xd1c2e785UL, 0x697e80e0UL, 0x7bcb2f0eUL, 0xc377486bUL, - 0xcb0d0fa2UL, 0x73b168c7UL, 0x6104c729UL, 0xd9b8a04cUL, 0x446f98f5UL, - 0xfcd3ff90UL, 0xee66507eUL, 0x56da371bUL, 0x0eb9274dUL, 0xb6054028UL, - 0xa4b0efc6UL, 0x1c0c88a3UL, 0x81dbb01aUL, 0x3967d77fUL, 0x2bd27891UL, - 0x936e1ff4UL, 0x3b26f703UL, 0x839a9066UL, 0x912f3f88UL, 0x299358edUL, - 0xb4446054UL, 0x0cf80731UL, 0x1e4da8dfUL, 0xa6f1cfbaUL, 0xfe92dfecUL, - 0x462eb889UL, 0x549b1767UL, 0xec277002UL, 0x71f048bbUL, 0xc94c2fdeUL, - 0xdbf98030UL, 0x6345e755UL, 0x6b3fa09cUL, 0xd383c7f9UL, 0xc1366817UL, - 0x798a0f72UL, 0xe45d37cbUL, 0x5ce150aeUL, 0x4e54ff40UL, 0xf6e89825UL, - 0xae8b8873UL, 0x1637ef16UL, 0x048240f8UL, 0xbc3e279dUL, 0x21e91f24UL, - 0x99557841UL, 0x8be0d7afUL, 0x335cb0caUL, 0xed59b63bUL, 0x55e5d15eUL, - 0x47507eb0UL, 0xffec19d5UL, 0x623b216cUL, 0xda874609UL, 0xc832e9e7UL, - 0x708e8e82UL, 0x28ed9ed4UL, 0x9051f9b1UL, 0x82e4565fUL, 0x3a58313aUL, - 0xa78f0983UL, 0x1f336ee6UL, 0x0d86c108UL, 0xb53aa66dUL, 0xbd40e1a4UL, - 0x05fc86c1UL, 0x1749292fUL, 0xaff54e4aUL, 0x322276f3UL, 0x8a9e1196UL, - 0x982bbe78UL, 0x2097d91dUL, 0x78f4c94bUL, 0xc048ae2eUL, 0xd2fd01c0UL, - 0x6a4166a5UL, 0xf7965e1cUL, 0x4f2a3979UL, 0x5d9f9697UL, 0xe523f1f2UL, - 0x4d6b1905UL, 0xf5d77e60UL, 0xe762d18eUL, 0x5fdeb6ebUL, 0xc2098e52UL, - 0x7ab5e937UL, 0x680046d9UL, 0xd0bc21bcUL, 0x88df31eaUL, 0x3063568fUL, - 0x22d6f961UL, 0x9a6a9e04UL, 0x07bda6bdUL, 0xbf01c1d8UL, 0xadb46e36UL, - 0x15080953UL, 0x1d724e9aUL, 0xa5ce29ffUL, 0xb77b8611UL, 0x0fc7e174UL, - 0x9210d9cdUL, 0x2aacbea8UL, 0x38191146UL, 0x80a57623UL, 0xd8c66675UL, - 0x607a0110UL, 0x72cfaefeUL, 0xca73c99bUL, 0x57a4f122UL, 0xef189647UL, - 0xfdad39a9UL, 0x45115eccUL, 0x764dee06UL, 0xcef18963UL, 0xdc44268dUL, - 0x64f841e8UL, 0xf92f7951UL, 0x41931e34UL, 0x5326b1daUL, 0xeb9ad6bfUL, - 0xb3f9c6e9UL, 0x0b45a18cUL, 0x19f00e62UL, 0xa14c6907UL, 0x3c9b51beUL, - 0x842736dbUL, 0x96929935UL, 0x2e2efe50UL, 0x2654b999UL, 0x9ee8defcUL, - 0x8c5d7112UL, 0x34e11677UL, 0xa9362eceUL, 0x118a49abUL, 0x033fe645UL, - 0xbb838120UL, 0xe3e09176UL, 0x5b5cf613UL, 0x49e959fdUL, 0xf1553e98UL, - 0x6c820621UL, 0xd43e6144UL, 0xc68bceaaUL, 0x7e37a9cfUL, 0xd67f4138UL, - 0x6ec3265dUL, 0x7c7689b3UL, 0xc4caeed6UL, 0x591dd66fUL, 0xe1a1b10aUL, - 0xf3141ee4UL, 0x4ba87981UL, 0x13cb69d7UL, 0xab770eb2UL, 0xb9c2a15cUL, - 0x017ec639UL, 0x9ca9fe80UL, 0x241599e5UL, 0x36a0360bUL, 0x8e1c516eUL, - 0x866616a7UL, 0x3eda71c2UL, 0x2c6fde2cUL, 0x94d3b949UL, 0x090481f0UL, - 0xb1b8e695UL, 0xa30d497bUL, 0x1bb12e1eUL, 0x43d23e48UL, 0xfb6e592dUL, - 0xe9dbf6c3UL, 0x516791a6UL, 0xccb0a91fUL, 0x740cce7aUL, 0x66b96194UL, - 0xde0506f1UL - }, - { - 0x00000000UL, 0x96300777UL, 0x2c610eeeUL, 0xba510999UL, 0x19c46d07UL, - 0x8ff46a70UL, 0x35a563e9UL, 0xa395649eUL, 0x3288db0eUL, 0xa4b8dc79UL, - 0x1ee9d5e0UL, 0x88d9d297UL, 0x2b4cb609UL, 0xbd7cb17eUL, 0x072db8e7UL, - 0x911dbf90UL, 0x6410b71dUL, 0xf220b06aUL, 0x4871b9f3UL, 0xde41be84UL, - 0x7dd4da1aUL, 0xebe4dd6dUL, 0x51b5d4f4UL, 0xc785d383UL, 0x56986c13UL, - 0xc0a86b64UL, 0x7af962fdUL, 0xecc9658aUL, 0x4f5c0114UL, 0xd96c0663UL, - 0x633d0ffaUL, 0xf50d088dUL, 0xc8206e3bUL, 0x5e10694cUL, 0xe44160d5UL, - 0x727167a2UL, 0xd1e4033cUL, 0x47d4044bUL, 0xfd850dd2UL, 0x6bb50aa5UL, - 0xfaa8b535UL, 0x6c98b242UL, 0xd6c9bbdbUL, 0x40f9bcacUL, 0xe36cd832UL, - 0x755cdf45UL, 0xcf0dd6dcUL, 0x593dd1abUL, 0xac30d926UL, 0x3a00de51UL, - 0x8051d7c8UL, 0x1661d0bfUL, 0xb5f4b421UL, 0x23c4b356UL, 0x9995bacfUL, - 0x0fa5bdb8UL, 0x9eb80228UL, 0x0888055fUL, 0xb2d90cc6UL, 0x24e90bb1UL, - 0x877c6f2fUL, 0x114c6858UL, 0xab1d61c1UL, 0x3d2d66b6UL, 0x9041dc76UL, - 0x0671db01UL, 0xbc20d298UL, 0x2a10d5efUL, 0x8985b171UL, 0x1fb5b606UL, - 0xa5e4bf9fUL, 0x33d4b8e8UL, 0xa2c90778UL, 0x34f9000fUL, 0x8ea80996UL, - 0x18980ee1UL, 0xbb0d6a7fUL, 0x2d3d6d08UL, 0x976c6491UL, 0x015c63e6UL, - 0xf4516b6bUL, 0x62616c1cUL, 0xd8306585UL, 0x4e0062f2UL, 0xed95066cUL, - 0x7ba5011bUL, 0xc1f40882UL, 0x57c40ff5UL, 0xc6d9b065UL, 0x50e9b712UL, - 0xeab8be8bUL, 0x7c88b9fcUL, 0xdf1ddd62UL, 0x492dda15UL, 0xf37cd38cUL, - 0x654cd4fbUL, 0x5861b24dUL, 0xce51b53aUL, 0x7400bca3UL, 0xe230bbd4UL, - 0x41a5df4aUL, 0xd795d83dUL, 0x6dc4d1a4UL, 0xfbf4d6d3UL, 0x6ae96943UL, - 0xfcd96e34UL, 0x468867adUL, 0xd0b860daUL, 0x732d0444UL, 0xe51d0333UL, - 0x5f4c0aaaUL, 0xc97c0dddUL, 0x3c710550UL, 0xaa410227UL, 0x10100bbeUL, - 0x86200cc9UL, 0x25b56857UL, 0xb3856f20UL, 0x09d466b9UL, 0x9fe461ceUL, - 0x0ef9de5eUL, 0x98c9d929UL, 0x2298d0b0UL, 0xb4a8d7c7UL, 0x173db359UL, - 0x810db42eUL, 0x3b5cbdb7UL, 0xad6cbac0UL, 0x2083b8edUL, 0xb6b3bf9aUL, - 0x0ce2b603UL, 0x9ad2b174UL, 0x3947d5eaUL, 0xaf77d29dUL, 0x1526db04UL, - 0x8316dc73UL, 0x120b63e3UL, 0x843b6494UL, 0x3e6a6d0dUL, 0xa85a6a7aUL, - 0x0bcf0ee4UL, 0x9dff0993UL, 0x27ae000aUL, 0xb19e077dUL, 0x44930ff0UL, - 0xd2a30887UL, 0x68f2011eUL, 0xfec20669UL, 0x5d5762f7UL, 0xcb676580UL, - 0x71366c19UL, 0xe7066b6eUL, 0x761bd4feUL, 0xe02bd389UL, 0x5a7ada10UL, - 0xcc4add67UL, 0x6fdfb9f9UL, 0xf9efbe8eUL, 0x43beb717UL, 0xd58eb060UL, - 0xe8a3d6d6UL, 0x7e93d1a1UL, 0xc4c2d838UL, 0x52f2df4fUL, 0xf167bbd1UL, - 0x6757bca6UL, 0xdd06b53fUL, 0x4b36b248UL, 0xda2b0dd8UL, 0x4c1b0aafUL, - 0xf64a0336UL, 0x607a0441UL, 0xc3ef60dfUL, 0x55df67a8UL, 0xef8e6e31UL, - 0x79be6946UL, 0x8cb361cbUL, 0x1a8366bcUL, 0xa0d26f25UL, 0x36e26852UL, - 0x95770cccUL, 0x03470bbbUL, 0xb9160222UL, 0x2f260555UL, 0xbe3bbac5UL, - 0x280bbdb2UL, 0x925ab42bUL, 0x046ab35cUL, 0xa7ffd7c2UL, 0x31cfd0b5UL, - 0x8b9ed92cUL, 0x1daede5bUL, 0xb0c2649bUL, 0x26f263ecUL, 0x9ca36a75UL, - 0x0a936d02UL, 0xa906099cUL, 0x3f360eebUL, 0x85670772UL, 0x13570005UL, - 0x824abf95UL, 0x147ab8e2UL, 0xae2bb17bUL, 0x381bb60cUL, 0x9b8ed292UL, - 0x0dbed5e5UL, 0xb7efdc7cUL, 0x21dfdb0bUL, 0xd4d2d386UL, 0x42e2d4f1UL, - 0xf8b3dd68UL, 0x6e83da1fUL, 0xcd16be81UL, 0x5b26b9f6UL, 0xe177b06fUL, - 0x7747b718UL, 0xe65a0888UL, 0x706a0fffUL, 0xca3b0666UL, 0x5c0b0111UL, - 0xff9e658fUL, 0x69ae62f8UL, 0xd3ff6b61UL, 0x45cf6c16UL, 0x78e20aa0UL, - 0xeed20dd7UL, 0x5483044eUL, 0xc2b30339UL, 0x612667a7UL, 0xf71660d0UL, - 0x4d476949UL, 0xdb776e3eUL, 0x4a6ad1aeUL, 0xdc5ad6d9UL, 0x660bdf40UL, - 0xf03bd837UL, 0x53aebca9UL, 0xc59ebbdeUL, 0x7fcfb247UL, 0xe9ffb530UL, - 0x1cf2bdbdUL, 0x8ac2bacaUL, 0x3093b353UL, 0xa6a3b424UL, 0x0536d0baUL, - 0x9306d7cdUL, 0x2957de54UL, 0xbf67d923UL, 0x2e7a66b3UL, 0xb84a61c4UL, - 0x021b685dUL, 0x942b6f2aUL, 0x37be0bb4UL, 0xa18e0cc3UL, 0x1bdf055aUL, - 0x8def022dUL - }, - { - 0x00000000UL, 0x41311b19UL, 0x82623632UL, 0xc3532d2bUL, 0x04c56c64UL, - 0x45f4777dUL, 0x86a75a56UL, 0xc796414fUL, 0x088ad9c8UL, 0x49bbc2d1UL, - 0x8ae8effaUL, 0xcbd9f4e3UL, 0x0c4fb5acUL, 0x4d7eaeb5UL, 0x8e2d839eUL, - 0xcf1c9887UL, 0x5112c24aUL, 0x1023d953UL, 0xd370f478UL, 0x9241ef61UL, - 0x55d7ae2eUL, 0x14e6b537UL, 0xd7b5981cUL, 0x96848305UL, 0x59981b82UL, - 0x18a9009bUL, 0xdbfa2db0UL, 0x9acb36a9UL, 0x5d5d77e6UL, 0x1c6c6cffUL, - 0xdf3f41d4UL, 0x9e0e5acdUL, 0xa2248495UL, 0xe3159f8cUL, 0x2046b2a7UL, - 0x6177a9beUL, 0xa6e1e8f1UL, 0xe7d0f3e8UL, 0x2483dec3UL, 0x65b2c5daUL, - 0xaaae5d5dUL, 0xeb9f4644UL, 0x28cc6b6fUL, 0x69fd7076UL, 0xae6b3139UL, - 0xef5a2a20UL, 0x2c09070bUL, 0x6d381c12UL, 0xf33646dfUL, 0xb2075dc6UL, - 0x715470edUL, 0x30656bf4UL, 0xf7f32abbUL, 0xb6c231a2UL, 0x75911c89UL, - 0x34a00790UL, 0xfbbc9f17UL, 0xba8d840eUL, 0x79dea925UL, 0x38efb23cUL, - 0xff79f373UL, 0xbe48e86aUL, 0x7d1bc541UL, 0x3c2ade58UL, 0x054f79f0UL, - 0x447e62e9UL, 0x872d4fc2UL, 0xc61c54dbUL, 0x018a1594UL, 0x40bb0e8dUL, - 0x83e823a6UL, 0xc2d938bfUL, 0x0dc5a038UL, 0x4cf4bb21UL, 0x8fa7960aUL, - 0xce968d13UL, 0x0900cc5cUL, 0x4831d745UL, 0x8b62fa6eUL, 0xca53e177UL, - 0x545dbbbaUL, 0x156ca0a3UL, 0xd63f8d88UL, 0x970e9691UL, 0x5098d7deUL, - 0x11a9ccc7UL, 0xd2fae1ecUL, 0x93cbfaf5UL, 0x5cd76272UL, 0x1de6796bUL, - 0xdeb55440UL, 0x9f844f59UL, 0x58120e16UL, 0x1923150fUL, 0xda703824UL, - 0x9b41233dUL, 0xa76bfd65UL, 0xe65ae67cUL, 0x2509cb57UL, 0x6438d04eUL, - 0xa3ae9101UL, 0xe29f8a18UL, 0x21cca733UL, 0x60fdbc2aUL, 0xafe124adUL, - 0xeed03fb4UL, 0x2d83129fUL, 0x6cb20986UL, 0xab2448c9UL, 0xea1553d0UL, - 0x29467efbUL, 0x687765e2UL, 0xf6793f2fUL, 0xb7482436UL, 0x741b091dUL, - 0x352a1204UL, 0xf2bc534bUL, 0xb38d4852UL, 0x70de6579UL, 0x31ef7e60UL, - 0xfef3e6e7UL, 0xbfc2fdfeUL, 0x7c91d0d5UL, 0x3da0cbccUL, 0xfa368a83UL, - 0xbb07919aUL, 0x7854bcb1UL, 0x3965a7a8UL, 0x4b98833bUL, 0x0aa99822UL, - 0xc9fab509UL, 0x88cbae10UL, 0x4f5def5fUL, 0x0e6cf446UL, 0xcd3fd96dUL, - 0x8c0ec274UL, 0x43125af3UL, 0x022341eaUL, 0xc1706cc1UL, 0x804177d8UL, - 0x47d73697UL, 0x06e62d8eUL, 0xc5b500a5UL, 0x84841bbcUL, 0x1a8a4171UL, - 0x5bbb5a68UL, 0x98e87743UL, 0xd9d96c5aUL, 0x1e4f2d15UL, 0x5f7e360cUL, - 0x9c2d1b27UL, 0xdd1c003eUL, 0x120098b9UL, 0x533183a0UL, 0x9062ae8bUL, - 0xd153b592UL, 0x16c5f4ddUL, 0x57f4efc4UL, 0x94a7c2efUL, 0xd596d9f6UL, - 0xe9bc07aeUL, 0xa88d1cb7UL, 0x6bde319cUL, 0x2aef2a85UL, 0xed796bcaUL, - 0xac4870d3UL, 0x6f1b5df8UL, 0x2e2a46e1UL, 0xe136de66UL, 0xa007c57fUL, - 0x6354e854UL, 0x2265f34dUL, 0xe5f3b202UL, 0xa4c2a91bUL, 0x67918430UL, - 0x26a09f29UL, 0xb8aec5e4UL, 0xf99fdefdUL, 0x3accf3d6UL, 0x7bfde8cfUL, - 0xbc6ba980UL, 0xfd5ab299UL, 0x3e099fb2UL, 0x7f3884abUL, 0xb0241c2cUL, - 0xf1150735UL, 0x32462a1eUL, 0x73773107UL, 0xb4e17048UL, 0xf5d06b51UL, - 0x3683467aUL, 0x77b25d63UL, 0x4ed7facbUL, 0x0fe6e1d2UL, 0xccb5ccf9UL, - 0x8d84d7e0UL, 0x4a1296afUL, 0x0b238db6UL, 0xc870a09dUL, 0x8941bb84UL, - 0x465d2303UL, 0x076c381aUL, 0xc43f1531UL, 0x850e0e28UL, 0x42984f67UL, - 0x03a9547eUL, 0xc0fa7955UL, 0x81cb624cUL, 0x1fc53881UL, 0x5ef42398UL, - 0x9da70eb3UL, 0xdc9615aaUL, 0x1b0054e5UL, 0x5a314ffcUL, 0x996262d7UL, - 0xd85379ceUL, 0x174fe149UL, 0x567efa50UL, 0x952dd77bUL, 0xd41ccc62UL, - 0x138a8d2dUL, 0x52bb9634UL, 0x91e8bb1fUL, 0xd0d9a006UL, 0xecf37e5eUL, - 0xadc26547UL, 0x6e91486cUL, 0x2fa05375UL, 0xe836123aUL, 0xa9070923UL, - 0x6a542408UL, 0x2b653f11UL, 0xe479a796UL, 0xa548bc8fUL, 0x661b91a4UL, - 0x272a8abdUL, 0xe0bccbf2UL, 0xa18dd0ebUL, 0x62defdc0UL, 0x23efe6d9UL, - 0xbde1bc14UL, 0xfcd0a70dUL, 0x3f838a26UL, 0x7eb2913fUL, 0xb924d070UL, - 0xf815cb69UL, 0x3b46e642UL, 0x7a77fd5bUL, 0xb56b65dcUL, 0xf45a7ec5UL, - 0x370953eeUL, 0x763848f7UL, 0xb1ae09b8UL, 0xf09f12a1UL, 0x33cc3f8aUL, - 0x72fd2493UL - }, - { - 0x00000000UL, 0x376ac201UL, 0x6ed48403UL, 0x59be4602UL, 0xdca80907UL, - 0xebc2cb06UL, 0xb27c8d04UL, 0x85164f05UL, 0xb851130eUL, 0x8f3bd10fUL, - 0xd685970dUL, 0xe1ef550cUL, 0x64f91a09UL, 0x5393d808UL, 0x0a2d9e0aUL, - 0x3d475c0bUL, 0x70a3261cUL, 0x47c9e41dUL, 0x1e77a21fUL, 0x291d601eUL, - 0xac0b2f1bUL, 0x9b61ed1aUL, 0xc2dfab18UL, 0xf5b56919UL, 0xc8f23512UL, - 0xff98f713UL, 0xa626b111UL, 0x914c7310UL, 0x145a3c15UL, 0x2330fe14UL, - 0x7a8eb816UL, 0x4de47a17UL, 0xe0464d38UL, 0xd72c8f39UL, 0x8e92c93bUL, - 0xb9f80b3aUL, 0x3cee443fUL, 0x0b84863eUL, 0x523ac03cUL, 0x6550023dUL, - 0x58175e36UL, 0x6f7d9c37UL, 0x36c3da35UL, 0x01a91834UL, 0x84bf5731UL, - 0xb3d59530UL, 0xea6bd332UL, 0xdd011133UL, 0x90e56b24UL, 0xa78fa925UL, - 0xfe31ef27UL, 0xc95b2d26UL, 0x4c4d6223UL, 0x7b27a022UL, 0x2299e620UL, - 0x15f32421UL, 0x28b4782aUL, 0x1fdeba2bUL, 0x4660fc29UL, 0x710a3e28UL, - 0xf41c712dUL, 0xc376b32cUL, 0x9ac8f52eUL, 0xada2372fUL, 0xc08d9a70UL, - 0xf7e75871UL, 0xae591e73UL, 0x9933dc72UL, 0x1c259377UL, 0x2b4f5176UL, - 0x72f11774UL, 0x459bd575UL, 0x78dc897eUL, 0x4fb64b7fUL, 0x16080d7dUL, - 0x2162cf7cUL, 0xa4748079UL, 0x931e4278UL, 0xcaa0047aUL, 0xfdcac67bUL, - 0xb02ebc6cUL, 0x87447e6dUL, 0xdefa386fUL, 0xe990fa6eUL, 0x6c86b56bUL, - 0x5bec776aUL, 0x02523168UL, 0x3538f369UL, 0x087faf62UL, 0x3f156d63UL, - 0x66ab2b61UL, 0x51c1e960UL, 0xd4d7a665UL, 0xe3bd6464UL, 0xba032266UL, - 0x8d69e067UL, 0x20cbd748UL, 0x17a11549UL, 0x4e1f534bUL, 0x7975914aUL, - 0xfc63de4fUL, 0xcb091c4eUL, 0x92b75a4cUL, 0xa5dd984dUL, 0x989ac446UL, - 0xaff00647UL, 0xf64e4045UL, 0xc1248244UL, 0x4432cd41UL, 0x73580f40UL, - 0x2ae64942UL, 0x1d8c8b43UL, 0x5068f154UL, 0x67023355UL, 0x3ebc7557UL, - 0x09d6b756UL, 0x8cc0f853UL, 0xbbaa3a52UL, 0xe2147c50UL, 0xd57ebe51UL, - 0xe839e25aUL, 0xdf53205bUL, 0x86ed6659UL, 0xb187a458UL, 0x3491eb5dUL, - 0x03fb295cUL, 0x5a456f5eUL, 0x6d2fad5fUL, 0x801b35e1UL, 0xb771f7e0UL, - 0xeecfb1e2UL, 0xd9a573e3UL, 0x5cb33ce6UL, 0x6bd9fee7UL, 0x3267b8e5UL, - 0x050d7ae4UL, 0x384a26efUL, 0x0f20e4eeUL, 0x569ea2ecUL, 0x61f460edUL, - 0xe4e22fe8UL, 0xd388ede9UL, 0x8a36abebUL, 0xbd5c69eaUL, 0xf0b813fdUL, - 0xc7d2d1fcUL, 0x9e6c97feUL, 0xa90655ffUL, 0x2c101afaUL, 0x1b7ad8fbUL, - 0x42c49ef9UL, 0x75ae5cf8UL, 0x48e900f3UL, 0x7f83c2f2UL, 0x263d84f0UL, - 0x115746f1UL, 0x944109f4UL, 0xa32bcbf5UL, 0xfa958df7UL, 0xcdff4ff6UL, - 0x605d78d9UL, 0x5737bad8UL, 0x0e89fcdaUL, 0x39e33edbUL, 0xbcf571deUL, - 0x8b9fb3dfUL, 0xd221f5ddUL, 0xe54b37dcUL, 0xd80c6bd7UL, 0xef66a9d6UL, - 0xb6d8efd4UL, 0x81b22dd5UL, 0x04a462d0UL, 0x33cea0d1UL, 0x6a70e6d3UL, - 0x5d1a24d2UL, 0x10fe5ec5UL, 0x27949cc4UL, 0x7e2adac6UL, 0x494018c7UL, - 0xcc5657c2UL, 0xfb3c95c3UL, 0xa282d3c1UL, 0x95e811c0UL, 0xa8af4dcbUL, - 0x9fc58fcaUL, 0xc67bc9c8UL, 0xf1110bc9UL, 0x740744ccUL, 0x436d86cdUL, - 0x1ad3c0cfUL, 0x2db902ceUL, 0x4096af91UL, 0x77fc6d90UL, 0x2e422b92UL, - 0x1928e993UL, 0x9c3ea696UL, 0xab546497UL, 0xf2ea2295UL, 0xc580e094UL, - 0xf8c7bc9fUL, 0xcfad7e9eUL, 0x9613389cUL, 0xa179fa9dUL, 0x246fb598UL, - 0x13057799UL, 0x4abb319bUL, 0x7dd1f39aUL, 0x3035898dUL, 0x075f4b8cUL, - 0x5ee10d8eUL, 0x698bcf8fUL, 0xec9d808aUL, 0xdbf7428bUL, 0x82490489UL, - 0xb523c688UL, 0x88649a83UL, 0xbf0e5882UL, 0xe6b01e80UL, 0xd1dadc81UL, - 0x54cc9384UL, 0x63a65185UL, 0x3a181787UL, 0x0d72d586UL, 0xa0d0e2a9UL, - 0x97ba20a8UL, 0xce0466aaUL, 0xf96ea4abUL, 0x7c78ebaeUL, 0x4b1229afUL, - 0x12ac6fadUL, 0x25c6adacUL, 0x1881f1a7UL, 0x2feb33a6UL, 0x765575a4UL, - 0x413fb7a5UL, 0xc429f8a0UL, 0xf3433aa1UL, 0xaafd7ca3UL, 0x9d97bea2UL, - 0xd073c4b5UL, 0xe71906b4UL, 0xbea740b6UL, 0x89cd82b7UL, 0x0cdbcdb2UL, - 0x3bb10fb3UL, 0x620f49b1UL, 0x55658bb0UL, 0x6822d7bbUL, 0x5f4815baUL, - 0x06f653b8UL, 0x319c91b9UL, 0xb48adebcUL, 0x83e01cbdUL, 0xda5e5abfUL, - 0xed3498beUL - }, - { - 0x00000000UL, 0x6567bcb8UL, 0x8bc809aaUL, 0xeeafb512UL, 0x5797628fUL, - 0x32f0de37UL, 0xdc5f6b25UL, 0xb938d79dUL, 0xef28b4c5UL, 0x8a4f087dUL, - 0x64e0bd6fUL, 0x018701d7UL, 0xb8bfd64aUL, 0xddd86af2UL, 0x3377dfe0UL, - 0x56106358UL, 0x9f571950UL, 0xfa30a5e8UL, 0x149f10faUL, 0x71f8ac42UL, - 0xc8c07bdfUL, 0xada7c767UL, 0x43087275UL, 0x266fcecdUL, 0x707fad95UL, - 0x1518112dUL, 0xfbb7a43fUL, 0x9ed01887UL, 0x27e8cf1aUL, 0x428f73a2UL, - 0xac20c6b0UL, 0xc9477a08UL, 0x3eaf32a0UL, 0x5bc88e18UL, 0xb5673b0aUL, - 0xd00087b2UL, 0x6938502fUL, 0x0c5fec97UL, 0xe2f05985UL, 0x8797e53dUL, - 0xd1878665UL, 0xb4e03addUL, 0x5a4f8fcfUL, 0x3f283377UL, 0x8610e4eaUL, - 0xe3775852UL, 0x0dd8ed40UL, 0x68bf51f8UL, 0xa1f82bf0UL, 0xc49f9748UL, - 0x2a30225aUL, 0x4f579ee2UL, 0xf66f497fUL, 0x9308f5c7UL, 0x7da740d5UL, - 0x18c0fc6dUL, 0x4ed09f35UL, 0x2bb7238dUL, 0xc518969fUL, 0xa07f2a27UL, - 0x1947fdbaUL, 0x7c204102UL, 0x928ff410UL, 0xf7e848a8UL, 0x3d58149bUL, - 0x583fa823UL, 0xb6901d31UL, 0xd3f7a189UL, 0x6acf7614UL, 0x0fa8caacUL, - 0xe1077fbeUL, 0x8460c306UL, 0xd270a05eUL, 0xb7171ce6UL, 0x59b8a9f4UL, - 0x3cdf154cUL, 0x85e7c2d1UL, 0xe0807e69UL, 0x0e2fcb7bUL, 0x6b4877c3UL, - 0xa20f0dcbUL, 0xc768b173UL, 0x29c70461UL, 0x4ca0b8d9UL, 0xf5986f44UL, - 0x90ffd3fcUL, 0x7e5066eeUL, 0x1b37da56UL, 0x4d27b90eUL, 0x284005b6UL, - 0xc6efb0a4UL, 0xa3880c1cUL, 0x1ab0db81UL, 0x7fd76739UL, 0x9178d22bUL, - 0xf41f6e93UL, 0x03f7263bUL, 0x66909a83UL, 0x883f2f91UL, 0xed589329UL, - 0x546044b4UL, 0x3107f80cUL, 0xdfa84d1eUL, 0xbacff1a6UL, 0xecdf92feUL, - 0x89b82e46UL, 0x67179b54UL, 0x027027ecUL, 0xbb48f071UL, 0xde2f4cc9UL, - 0x3080f9dbUL, 0x55e74563UL, 0x9ca03f6bUL, 0xf9c783d3UL, 0x176836c1UL, - 0x720f8a79UL, 0xcb375de4UL, 0xae50e15cUL, 0x40ff544eUL, 0x2598e8f6UL, - 0x73888baeUL, 0x16ef3716UL, 0xf8408204UL, 0x9d273ebcUL, 0x241fe921UL, - 0x41785599UL, 0xafd7e08bUL, 0xcab05c33UL, 0x3bb659edUL, 0x5ed1e555UL, - 0xb07e5047UL, 0xd519ecffUL, 0x6c213b62UL, 0x094687daUL, 0xe7e932c8UL, - 0x828e8e70UL, 0xd49eed28UL, 0xb1f95190UL, 0x5f56e482UL, 0x3a31583aUL, - 0x83098fa7UL, 0xe66e331fUL, 0x08c1860dUL, 0x6da63ab5UL, 0xa4e140bdUL, - 0xc186fc05UL, 0x2f294917UL, 0x4a4ef5afUL, 0xf3762232UL, 0x96119e8aUL, - 0x78be2b98UL, 0x1dd99720UL, 0x4bc9f478UL, 0x2eae48c0UL, 0xc001fdd2UL, - 0xa566416aUL, 0x1c5e96f7UL, 0x79392a4fUL, 0x97969f5dUL, 0xf2f123e5UL, - 0x05196b4dUL, 0x607ed7f5UL, 0x8ed162e7UL, 0xebb6de5fUL, 0x528e09c2UL, - 0x37e9b57aUL, 0xd9460068UL, 0xbc21bcd0UL, 0xea31df88UL, 0x8f566330UL, - 0x61f9d622UL, 0x049e6a9aUL, 0xbda6bd07UL, 0xd8c101bfUL, 0x366eb4adUL, - 0x53090815UL, 0x9a4e721dUL, 0xff29cea5UL, 0x11867bb7UL, 0x74e1c70fUL, - 0xcdd91092UL, 0xa8beac2aUL, 0x46111938UL, 0x2376a580UL, 0x7566c6d8UL, - 0x10017a60UL, 0xfeaecf72UL, 0x9bc973caUL, 0x22f1a457UL, 0x479618efUL, - 0xa939adfdUL, 0xcc5e1145UL, 0x06ee4d76UL, 0x6389f1ceUL, 0x8d2644dcUL, - 0xe841f864UL, 0x51792ff9UL, 0x341e9341UL, 0xdab12653UL, 0xbfd69aebUL, - 0xe9c6f9b3UL, 0x8ca1450bUL, 0x620ef019UL, 0x07694ca1UL, 0xbe519b3cUL, - 0xdb362784UL, 0x35999296UL, 0x50fe2e2eUL, 0x99b95426UL, 0xfcdee89eUL, - 0x12715d8cUL, 0x7716e134UL, 0xce2e36a9UL, 0xab498a11UL, 0x45e63f03UL, - 0x208183bbUL, 0x7691e0e3UL, 0x13f65c5bUL, 0xfd59e949UL, 0x983e55f1UL, - 0x2106826cUL, 0x44613ed4UL, 0xaace8bc6UL, 0xcfa9377eUL, 0x38417fd6UL, - 0x5d26c36eUL, 0xb389767cUL, 0xd6eecac4UL, 0x6fd61d59UL, 0x0ab1a1e1UL, - 0xe41e14f3UL, 0x8179a84bUL, 0xd769cb13UL, 0xb20e77abUL, 0x5ca1c2b9UL, - 0x39c67e01UL, 0x80fea99cUL, 0xe5991524UL, 0x0b36a036UL, 0x6e511c8eUL, - 0xa7166686UL, 0xc271da3eUL, 0x2cde6f2cUL, 0x49b9d394UL, 0xf0810409UL, - 0x95e6b8b1UL, 0x7b490da3UL, 0x1e2eb11bUL, 0x483ed243UL, 0x2d596efbUL, - 0xc3f6dbe9UL, 0xa6916751UL, 0x1fa9b0ccUL, 0x7ace0c74UL, 0x9461b966UL, - 0xf10605deUL -#endif - } -}; diff --git a/3rdparty/openctm/tools/zlib/deflate.c b/3rdparty/openctm/tools/zlib/deflate.c deleted file mode 100644 index 29ce1f64a..000000000 --- a/3rdparty/openctm/tools/zlib/deflate.c +++ /dev/null @@ -1,1736 +0,0 @@ -/* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * ALGORITHM - * - * The "deflation" process depends on being able to identify portions - * of the input text which are identical to earlier input (within a - * sliding window trailing behind the input currently being processed). - * - * The most straightforward technique turns out to be the fastest for - * most input files: try all possible matches and select the longest. - * The key feature of this algorithm is that insertions into the string - * dictionary are very simple and thus fast, and deletions are avoided - * completely. Insertions are performed at each input character, whereas - * string matches are performed only when the previous match ends. So it - * is preferable to spend more time in matches to allow very fast string - * insertions and avoid deletions. The matching algorithm for small - * strings is inspired from that of Rabin & Karp. A brute force approach - * is used to find longer strings when a small match has been found. - * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze - * (by Leonid Broukhis). - * A previous version of this file used a more sophisticated algorithm - * (by Fiala and Greene) which is guaranteed to run in linear amortized - * time, but has a larger average cost, uses more memory and is patented. - * However the F&G algorithm may be faster for some highly redundant - * files if the parameter max_chain_length (described below) is too large. - * - * ACKNOWLEDGEMENTS - * - * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and - * I found it in 'freeze' written by Leonid Broukhis. - * Thanks to many people for bug reports and testing. - * - * REFERENCES - * - * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification". - * Available in http://www.ietf.org/rfc/rfc1951.txt - * - * A description of the Rabin and Karp algorithm is given in the book - * "Algorithms" by R. Sedgewick, Addison-Wesley, p252. - * - * Fiala,E.R., and Greene,D.H. - * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595 - * - */ - -/* @(#) $Id$ */ - -#include "deflate.h" - -const char deflate_copyright[] = - " deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* =========================================================================== - * Function prototypes. - */ -typedef enum { - need_more, /* block not completed, need more input or more output */ - block_done, /* block flush performed */ - finish_started, /* finish started, need only more output at next deflate */ - finish_done /* finish done, accept no more input or output */ -} block_state; - -typedef block_state (*compress_func) OF((deflate_state *s, int flush)); -/* Compression function. Returns the block state after the call. */ - -local void fill_window OF((deflate_state *s)); -local block_state deflate_stored OF((deflate_state *s, int flush)); -local block_state deflate_fast OF((deflate_state *s, int flush)); -#ifndef FASTEST -local block_state deflate_slow OF((deflate_state *s, int flush)); -#endif -local void lm_init OF((deflate_state *s)); -local void putShortMSB OF((deflate_state *s, uInt b)); -local void flush_pending OF((z_streamp strm)); -local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size)); -#ifndef FASTEST -#ifdef ASMV - void match_init OF((void)); /* asm code initialization */ - uInt longest_match OF((deflate_state *s, IPos cur_match)); -#else -local uInt longest_match OF((deflate_state *s, IPos cur_match)); -#endif -#endif -local uInt longest_match_fast OF((deflate_state *s, IPos cur_match)); - -#ifdef DEBUG -local void check_match OF((deflate_state *s, IPos start, IPos match, - int length)); -#endif - -/* =========================================================================== - * Local data - */ - -#define NIL 0 -/* Tail of hash chains */ - -#ifndef TOO_FAR -# define TOO_FAR 4096 -#endif -/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */ - -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) -/* Minimum amount of lookahead, except at the end of the input file. - * See deflate.c for comments about the MIN_MATCH+1. - */ - -/* Values for max_lazy_match, good_match and max_chain_length, depending on - * the desired pack level (0..9). The values given below have been tuned to - * exclude worst case performance for pathological files. Better values may be - * found for specific files. - */ -typedef struct config_s { - ush good_length; /* reduce lazy search above this match length */ - ush max_lazy; /* do not perform lazy search above this match length */ - ush nice_length; /* quit search above this match length */ - ush max_chain; - compress_func func; -} config; - -#ifdef FASTEST -local const config configuration_table[2] = { -/* good lazy nice chain */ -/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ -/* 1 */ {4, 4, 8, 4, deflate_fast}}; /* max speed, no lazy matches */ -#else -local const config configuration_table[10] = { -/* good lazy nice chain */ -/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ -/* 1 */ {4, 4, 8, 4, deflate_fast}, /* max speed, no lazy matches */ -/* 2 */ {4, 5, 16, 8, deflate_fast}, -/* 3 */ {4, 6, 32, 32, deflate_fast}, - -/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */ -/* 5 */ {8, 16, 32, 32, deflate_slow}, -/* 6 */ {8, 16, 128, 128, deflate_slow}, -/* 7 */ {8, 32, 128, 256, deflate_slow}, -/* 8 */ {32, 128, 258, 1024, deflate_slow}, -/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* max compression */ -#endif - -/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4 - * For deflate_fast() (levels <= 3) good is ignored and lazy has a different - * meaning. - */ - -#define EQUAL 0 -/* result of memcmp for equal strings */ - -#ifndef NO_DUMMY_DECL -struct static_tree_desc_s {int dummy;}; /* for buggy compilers */ -#endif - -/* =========================================================================== - * Update a hash value with the given input byte - * IN assertion: all calls to to UPDATE_HASH are made with consecutive - * input characters, so that a running hash key can be computed from the - * previous key instead of complete recalculation each time. - */ -#define UPDATE_HASH(s,h,c) (h = (((h)<hash_shift) ^ (c)) & s->hash_mask) - - -/* =========================================================================== - * Insert string str in the dictionary and set match_head to the previous head - * of the hash chain (the most recent string with same hash key). Return - * the previous length of the hash chain. - * If this file is compiled with -DFASTEST, the compression level is forced - * to 1, and no hash chains are maintained. - * IN assertion: all calls to to INSERT_STRING are made with consecutive - * input characters and the first MIN_MATCH bytes of str are valid - * (except for the last MIN_MATCH-1 bytes of the input file). - */ -#ifdef FASTEST -#define INSERT_STRING(s, str, match_head) \ - (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ - match_head = s->head[s->ins_h], \ - s->head[s->ins_h] = (Pos)(str)) -#else -#define INSERT_STRING(s, str, match_head) \ - (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ - match_head = s->prev[(str) & s->w_mask] = s->head[s->ins_h], \ - s->head[s->ins_h] = (Pos)(str)) -#endif - -/* =========================================================================== - * Initialize the hash table (avoiding 64K overflow for 16 bit systems). - * prev[] will be initialized on the fly. - */ -#define CLEAR_HASH(s) \ - s->head[s->hash_size-1] = NIL; \ - zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head)); - -/* ========================================================================= */ -int ZEXPORT deflateInit_(strm, level, version, stream_size) - z_streamp strm; - int level; - const char *version; - int stream_size; -{ - return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, - Z_DEFAULT_STRATEGY, version, stream_size); - /* To do: ignore strm->next_in if we use it as window */ -} - -/* ========================================================================= */ -int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - version, stream_size) - z_streamp strm; - int level; - int method; - int windowBits; - int memLevel; - int strategy; - const char *version; - int stream_size; -{ - deflate_state *s; - int wrap = 1; - static const char my_version[] = ZLIB_VERSION; - - ushf *overlay; - /* We overlay pending_buf and d_buf+l_buf. This works since the average - * output size for (length,distance) codes is <= 24 bits. - */ - - if (version == Z_NULL || version[0] != my_version[0] || - stream_size != sizeof(z_stream)) { - return Z_VERSION_ERROR; - } - if (strm == Z_NULL) return Z_STREAM_ERROR; - - strm->msg = Z_NULL; - if (strm->zalloc == (alloc_func)0) { - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; - } - if (strm->zfree == (free_func)0) strm->zfree = zcfree; - -#ifdef FASTEST - if (level != 0) level = 1; -#else - if (level == Z_DEFAULT_COMPRESSION) level = 6; -#endif - - if (windowBits < 0) { /* suppress zlib wrapper */ - wrap = 0; - windowBits = -windowBits; - } -#ifdef GZIP - else if (windowBits > 15) { - wrap = 2; /* write gzip wrapper instead */ - windowBits -= 16; - } -#endif - if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || - windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || - strategy < 0 || strategy > Z_FIXED) { - return Z_STREAM_ERROR; - } - if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ - s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state)); - if (s == Z_NULL) return Z_MEM_ERROR; - strm->state = (struct internal_state FAR *)s; - s->strm = strm; - - s->wrap = wrap; - s->gzhead = Z_NULL; - s->w_bits = windowBits; - s->w_size = 1 << s->w_bits; - s->w_mask = s->w_size - 1; - - s->hash_bits = memLevel + 7; - s->hash_size = 1 << s->hash_bits; - s->hash_mask = s->hash_size - 1; - s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH); - - s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte)); - s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); - s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); - - s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ - - overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); - s->pending_buf = (uchf *) overlay; - s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); - - if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || - s->pending_buf == Z_NULL) { - s->status = FINISH_STATE; - strm->msg = (char*)ERR_MSG(Z_MEM_ERROR); - deflateEnd (strm); - return Z_MEM_ERROR; - } - s->d_buf = overlay + s->lit_bufsize/sizeof(ush); - s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; - - s->level = level; - s->strategy = strategy; - s->method = (Byte)method; - - return deflateReset(strm); -} - -/* ========================================================================= */ -int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength) - z_streamp strm; - const Bytef *dictionary; - uInt dictLength; -{ - deflate_state *s; - uInt length = dictLength; - uInt n; - IPos hash_head = 0; - - if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL || - strm->state->wrap == 2 || - (strm->state->wrap == 1 && strm->state->status != INIT_STATE)) - return Z_STREAM_ERROR; - - s = strm->state; - if (s->wrap) - strm->adler = adler32(strm->adler, dictionary, dictLength); - - if (length < MIN_MATCH) return Z_OK; - if (length > MAX_DIST(s)) { - length = MAX_DIST(s); - dictionary += dictLength - length; /* use the tail of the dictionary */ - } - zmemcpy(s->window, dictionary, length); - s->strstart = length; - s->block_start = (long)length; - - /* Insert all strings in the hash table (except for the last two bytes). - * s->lookahead stays null, so s->ins_h will be recomputed at the next - * call of fill_window. - */ - s->ins_h = s->window[0]; - UPDATE_HASH(s, s->ins_h, s->window[1]); - for (n = 0; n <= length - MIN_MATCH; n++) { - INSERT_STRING(s, n, hash_head); - } - if (hash_head) hash_head = 0; /* to make compiler happy */ - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateReset (strm) - z_streamp strm; -{ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL || - strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) { - return Z_STREAM_ERROR; - } - - strm->total_in = strm->total_out = 0; - strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */ - strm->data_type = Z_UNKNOWN; - - s = (deflate_state *)strm->state; - s->pending = 0; - s->pending_out = s->pending_buf; - - if (s->wrap < 0) { - s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */ - } - s->status = s->wrap ? INIT_STATE : BUSY_STATE; - strm->adler = -#ifdef GZIP - s->wrap == 2 ? crc32(0L, Z_NULL, 0) : -#endif - adler32(0L, Z_NULL, 0); - s->last_flush = Z_NO_FLUSH; - - _tr_init(s); - lm_init(s); - - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateSetHeader (strm, head) - z_streamp strm; - gz_headerp head; -{ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - if (strm->state->wrap != 2) return Z_STREAM_ERROR; - strm->state->gzhead = head; - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflatePrime (strm, bits, value) - z_streamp strm; - int bits; - int value; -{ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - strm->state->bi_valid = bits; - strm->state->bi_buf = (ush)(value & ((1 << bits) - 1)); - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateParams(strm, level, strategy) - z_streamp strm; - int level; - int strategy; -{ - deflate_state *s; - compress_func func; - int err = Z_OK; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - s = strm->state; - -#ifdef FASTEST - if (level != 0) level = 1; -#else - if (level == Z_DEFAULT_COMPRESSION) level = 6; -#endif - if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - return Z_STREAM_ERROR; - } - func = configuration_table[s->level].func; - - if (func != configuration_table[level].func && strm->total_in != 0) { - /* Flush the last buffer: */ - err = deflate(strm, Z_PARTIAL_FLUSH); - } - if (s->level != level) { - s->level = level; - s->max_lazy_match = configuration_table[level].max_lazy; - s->good_match = configuration_table[level].good_length; - s->nice_match = configuration_table[level].nice_length; - s->max_chain_length = configuration_table[level].max_chain; - } - s->strategy = strategy; - return err; -} - -/* ========================================================================= */ -int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain) - z_streamp strm; - int good_length; - int max_lazy; - int nice_length; - int max_chain; -{ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - s = strm->state; - s->good_match = good_length; - s->max_lazy_match = max_lazy; - s->nice_match = nice_length; - s->max_chain_length = max_chain; - return Z_OK; -} - -/* ========================================================================= - * For the default windowBits of 15 and memLevel of 8, this function returns - * a close to exact, as well as small, upper bound on the compressed size. - * They are coded as constants here for a reason--if the #define's are - * changed, then this function needs to be changed as well. The return - * value for 15 and 8 only works for those exact settings. - * - * For any setting other than those defaults for windowBits and memLevel, - * the value returned is a conservative worst case for the maximum expansion - * resulting from using fixed blocks instead of stored blocks, which deflate - * can emit on compressed data for some combinations of the parameters. - * - * This function could be more sophisticated to provide closer upper bounds - * for every combination of windowBits and memLevel, as well as wrap. - * But even the conservative upper bound of about 14% expansion does not - * seem onerous for output buffer allocation. - */ -uLong ZEXPORT deflateBound(strm, sourceLen) - z_streamp strm; - uLong sourceLen; -{ - deflate_state *s; - uLong destLen; - - /* conservative upper bound */ - destLen = sourceLen + - ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 11; - - /* if can't get parameters, return conservative bound */ - if (strm == Z_NULL || strm->state == Z_NULL) - return destLen; - - /* if not default parameters, return conservative bound */ - s = strm->state; - if (s->w_bits != 15 || s->hash_bits != 8 + 7) - return destLen; - - /* default settings: return tight bound for that case */ - return compressBound(sourceLen); -} - -/* ========================================================================= - * Put a short in the pending buffer. The 16-bit value is put in MSB order. - * IN assertion: the stream state is correct and there is enough room in - * pending_buf. - */ -local void putShortMSB (s, b) - deflate_state *s; - uInt b; -{ - put_byte(s, (Byte)(b >> 8)); - put_byte(s, (Byte)(b & 0xff)); -} - -/* ========================================================================= - * Flush as much pending output as possible. All deflate() output goes - * through this function so some applications may wish to modify it - * to avoid allocating a large strm->next_out buffer and copying into it. - * (See also read_buf()). - */ -local void flush_pending(strm) - z_streamp strm; -{ - unsigned len = strm->state->pending; - - if (len > strm->avail_out) len = strm->avail_out; - if (len == 0) return; - - zmemcpy(strm->next_out, strm->state->pending_out, len); - strm->next_out += len; - strm->state->pending_out += len; - strm->total_out += len; - strm->avail_out -= len; - strm->state->pending -= len; - if (strm->state->pending == 0) { - strm->state->pending_out = strm->state->pending_buf; - } -} - -/* ========================================================================= */ -int ZEXPORT deflate (strm, flush) - z_streamp strm; - int flush; -{ - int old_flush; /* value of flush param for previous deflate call */ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL || - flush > Z_FINISH || flush < 0) { - return Z_STREAM_ERROR; - } - s = strm->state; - - if (strm->next_out == Z_NULL || - (strm->next_in == Z_NULL && strm->avail_in != 0) || - (s->status == FINISH_STATE && flush != Z_FINISH)) { - ERR_RETURN(strm, Z_STREAM_ERROR); - } - if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR); - - s->strm = strm; /* just in case */ - old_flush = s->last_flush; - s->last_flush = flush; - - /* Write the header */ - if (s->status == INIT_STATE) { -#ifdef GZIP - if (s->wrap == 2) { - strm->adler = crc32(0L, Z_NULL, 0); - put_byte(s, 31); - put_byte(s, 139); - put_byte(s, 8); - if (s->gzhead == NULL) { - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, s->level == 9 ? 2 : - (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? - 4 : 0)); - put_byte(s, OS_CODE); - s->status = BUSY_STATE; - } - else { - put_byte(s, (s->gzhead->text ? 1 : 0) + - (s->gzhead->hcrc ? 2 : 0) + - (s->gzhead->extra == Z_NULL ? 0 : 4) + - (s->gzhead->name == Z_NULL ? 0 : 8) + - (s->gzhead->comment == Z_NULL ? 0 : 16) - ); - put_byte(s, (Byte)(s->gzhead->time & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff)); - put_byte(s, s->level == 9 ? 2 : - (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? - 4 : 0)); - put_byte(s, s->gzhead->os & 0xff); - if (s->gzhead->extra != NULL) { - put_byte(s, s->gzhead->extra_len & 0xff); - put_byte(s, (s->gzhead->extra_len >> 8) & 0xff); - } - if (s->gzhead->hcrc) - strm->adler = crc32(strm->adler, s->pending_buf, - s->pending); - s->gzindex = 0; - s->status = EXTRA_STATE; - } - } - else -#endif - { - uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8; - uInt level_flags; - - if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2) - level_flags = 0; - else if (s->level < 6) - level_flags = 1; - else if (s->level == 6) - level_flags = 2; - else - level_flags = 3; - header |= (level_flags << 6); - if (s->strstart != 0) header |= PRESET_DICT; - header += 31 - (header % 31); - - s->status = BUSY_STATE; - putShortMSB(s, header); - - /* Save the adler32 of the preset dictionary: */ - if (s->strstart != 0) { - putShortMSB(s, (uInt)(strm->adler >> 16)); - putShortMSB(s, (uInt)(strm->adler & 0xffff)); - } - strm->adler = adler32(0L, Z_NULL, 0); - } - } -#ifdef GZIP - if (s->status == EXTRA_STATE) { - if (s->gzhead->extra != NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - - while (s->gzindex < (s->gzhead->extra_len & 0xffff)) { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) - break; - } - put_byte(s, s->gzhead->extra[s->gzindex]); - s->gzindex++; - } - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (s->gzindex == s->gzhead->extra_len) { - s->gzindex = 0; - s->status = NAME_STATE; - } - } - else - s->status = NAME_STATE; - } - if (s->status == NAME_STATE) { - if (s->gzhead->name != NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - int val; - - do { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) { - val = 1; - break; - } - } - val = s->gzhead->name[s->gzindex++]; - put_byte(s, val); - } while (val != 0); - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (val == 0) { - s->gzindex = 0; - s->status = COMMENT_STATE; - } - } - else - s->status = COMMENT_STATE; - } - if (s->status == COMMENT_STATE) { - if (s->gzhead->comment != NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - int val; - - do { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) { - val = 1; - break; - } - } - val = s->gzhead->comment[s->gzindex++]; - put_byte(s, val); - } while (val != 0); - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (val == 0) - s->status = HCRC_STATE; - } - else - s->status = HCRC_STATE; - } - if (s->status == HCRC_STATE) { - if (s->gzhead->hcrc) { - if (s->pending + 2 > s->pending_buf_size) - flush_pending(strm); - if (s->pending + 2 <= s->pending_buf_size) { - put_byte(s, (Byte)(strm->adler & 0xff)); - put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - strm->adler = crc32(0L, Z_NULL, 0); - s->status = BUSY_STATE; - } - } - else - s->status = BUSY_STATE; - } -#endif - - /* Flush as much pending output as possible */ - if (s->pending != 0) { - flush_pending(strm); - if (strm->avail_out == 0) { - /* Since avail_out is 0, deflate will be called again with - * more output space, but possibly with both pending and - * avail_in equal to zero. There won't be anything to do, - * but this is not an error situation so make sure we - * return OK instead of BUF_ERROR at next call of deflate: - */ - s->last_flush = -1; - return Z_OK; - } - - /* Make sure there is something to do and avoid duplicate consecutive - * flushes. For repeated and useless calls with Z_FINISH, we keep - * returning Z_STREAM_END instead of Z_BUF_ERROR. - */ - } else if (strm->avail_in == 0 && flush <= old_flush && - flush != Z_FINISH) { - ERR_RETURN(strm, Z_BUF_ERROR); - } - - /* User must not provide more input after the first FINISH: */ - if (s->status == FINISH_STATE && strm->avail_in != 0) { - ERR_RETURN(strm, Z_BUF_ERROR); - } - - /* Start a new block or continue the current one. - */ - if (strm->avail_in != 0 || s->lookahead != 0 || - (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { - block_state bstate; - - bstate = (*(configuration_table[s->level].func))(s, flush); - - if (bstate == finish_started || bstate == finish_done) { - s->status = FINISH_STATE; - } - if (bstate == need_more || bstate == finish_started) { - if (strm->avail_out == 0) { - s->last_flush = -1; /* avoid BUF_ERROR next call, see above */ - } - return Z_OK; - /* If flush != Z_NO_FLUSH && avail_out == 0, the next call - * of deflate should use the same flush parameter to make sure - * that the flush is complete. So we don't have to output an - * empty block here, this will be done at next call. This also - * ensures that for a very small output buffer, we emit at most - * one empty block. - */ - } - if (bstate == block_done) { - if (flush == Z_PARTIAL_FLUSH) { - _tr_align(s); - } else { /* FULL_FLUSH or SYNC_FLUSH */ - _tr_stored_block(s, (char*)0, 0L, 0); - /* For a full flush, this empty block will be recognized - * as a special marker by inflate_sync(). - */ - if (flush == Z_FULL_FLUSH) { - CLEAR_HASH(s); /* forget history */ - } - } - flush_pending(strm); - if (strm->avail_out == 0) { - s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ - return Z_OK; - } - } - } - Assert(strm->avail_out > 0, "bug2"); - - if (flush != Z_FINISH) return Z_OK; - if (s->wrap <= 0) return Z_STREAM_END; - - /* Write the trailer */ -#ifdef GZIP - if (s->wrap == 2) { - put_byte(s, (Byte)(strm->adler & 0xff)); - put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - put_byte(s, (Byte)((strm->adler >> 16) & 0xff)); - put_byte(s, (Byte)((strm->adler >> 24) & 0xff)); - put_byte(s, (Byte)(strm->total_in & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 8) & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 16) & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 24) & 0xff)); - } - else -#endif - { - putShortMSB(s, (uInt)(strm->adler >> 16)); - putShortMSB(s, (uInt)(strm->adler & 0xffff)); - } - flush_pending(strm); - /* If avail_out is zero, the application will call deflate again - * to flush the rest. - */ - if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */ - return s->pending != 0 ? Z_OK : Z_STREAM_END; -} - -/* ========================================================================= */ -int ZEXPORT deflateEnd (strm) - z_streamp strm; -{ - int status; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - status = strm->state->status; - if (status != INIT_STATE && - status != EXTRA_STATE && - status != NAME_STATE && - status != COMMENT_STATE && - status != HCRC_STATE && - status != BUSY_STATE && - status != FINISH_STATE) { - return Z_STREAM_ERROR; - } - - /* Deallocate in reverse order of allocations: */ - TRY_FREE(strm, strm->state->pending_buf); - TRY_FREE(strm, strm->state->head); - TRY_FREE(strm, strm->state->prev); - TRY_FREE(strm, strm->state->window); - - ZFREE(strm, strm->state); - strm->state = Z_NULL; - - return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK; -} - -/* ========================================================================= - * Copy the source state to the destination state. - * To simplify the source, this is not supported for 16-bit MSDOS (which - * doesn't have enough memory anyway to duplicate compression states). - */ -int ZEXPORT deflateCopy (dest, source) - z_streamp dest; - z_streamp source; -{ -#ifdef MAXSEG_64K - return Z_STREAM_ERROR; -#else - deflate_state *ds; - deflate_state *ss; - ushf *overlay; - - - if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) { - return Z_STREAM_ERROR; - } - - ss = source->state; - - zmemcpy(dest, source, sizeof(z_stream)); - - ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state)); - if (ds == Z_NULL) return Z_MEM_ERROR; - dest->state = (struct internal_state FAR *) ds; - zmemcpy(ds, ss, sizeof(deflate_state)); - ds->strm = dest; - - ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); - ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); - ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); - ds->pending_buf = (uchf *) overlay; - - if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || - ds->pending_buf == Z_NULL) { - deflateEnd (dest); - return Z_MEM_ERROR; - } - /* following zmemcpy do not work for 16-bit MSDOS */ - zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); - zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos)); - zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); - - ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); - ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); - ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; - - ds->l_desc.dyn_tree = ds->dyn_ltree; - ds->d_desc.dyn_tree = ds->dyn_dtree; - ds->bl_desc.dyn_tree = ds->bl_tree; - - return Z_OK; -#endif /* MAXSEG_64K */ -} - -/* =========================================================================== - * Read a new buffer from the current input stream, update the adler32 - * and total number of bytes read. All deflate() input goes through - * this function so some applications may wish to modify it to avoid - * allocating a large strm->next_in buffer and copying from it. - * (See also flush_pending()). - */ -local int read_buf(strm, buf, size) - z_streamp strm; - Bytef *buf; - unsigned size; -{ - unsigned len = strm->avail_in; - - if (len > size) len = size; - if (len == 0) return 0; - - strm->avail_in -= len; - - if (strm->state->wrap == 1) { - strm->adler = adler32(strm->adler, strm->next_in, len); - } -#ifdef GZIP - else if (strm->state->wrap == 2) { - strm->adler = crc32(strm->adler, strm->next_in, len); - } -#endif - zmemcpy(buf, strm->next_in, len); - strm->next_in += len; - strm->total_in += len; - - return (int)len; -} - -/* =========================================================================== - * Initialize the "longest match" routines for a new zlib stream - */ -local void lm_init (s) - deflate_state *s; -{ - s->window_size = (ulg)2L*s->w_size; - - CLEAR_HASH(s); - - /* Set the default configuration parameters: - */ - s->max_lazy_match = configuration_table[s->level].max_lazy; - s->good_match = configuration_table[s->level].good_length; - s->nice_match = configuration_table[s->level].nice_length; - s->max_chain_length = configuration_table[s->level].max_chain; - - s->strstart = 0; - s->block_start = 0L; - s->lookahead = 0; - s->match_length = s->prev_length = MIN_MATCH-1; - s->match_available = 0; - s->ins_h = 0; -#ifndef FASTEST -#ifdef ASMV - match_init(); /* initialize the asm code */ -#endif -#endif -} - -#ifndef FASTEST -/* =========================================================================== - * Set match_start to the longest match starting at the given string and - * return its length. Matches shorter or equal to prev_length are discarded, - * in which case the result is equal to prev_length and match_start is - * garbage. - * IN assertions: cur_match is the head of the hash chain for the current - * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 - * OUT assertion: the match length is not greater than s->lookahead. - */ -#ifndef ASMV -/* For 80x86 and 680x0, an optimized version will be provided in match.asm or - * match.S. The code will be functionally equivalent. - */ -local uInt longest_match(s, cur_match) - deflate_state *s; - IPos cur_match; /* current match */ -{ - unsigned chain_length = s->max_chain_length;/* max hash chain length */ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - int best_len = s->prev_length; /* best match length so far */ - int nice_match = s->nice_match; /* stop if match long enough */ - IPos limit = s->strstart > (IPos)MAX_DIST(s) ? - s->strstart - (IPos)MAX_DIST(s) : NIL; - /* Stop when cur_match becomes <= limit. To simplify the code, - * we prevent matches with the string of window index 0. - */ - Posf *prev = s->prev; - uInt wmask = s->w_mask; - -#ifdef UNALIGNED_OK - /* Compare two bytes at a time. Note: this is not always beneficial. - * Try with and without -DUNALIGNED_OK to check. - */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; - register ush scan_start = *(ushf*)scan; - register ush scan_end = *(ushf*)(scan+best_len-1); -#else - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - register Byte scan_end1 = scan[best_len-1]; - register Byte scan_end = scan[best_len]; -#endif - - /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. - * It is easy to get rid of this optimization if necessary. - */ - Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); - - /* Do not waste too much time if we already have a good match: */ - if (s->prev_length >= s->good_match) { - chain_length >>= 2; - } - /* Do not look for matches beyond the end of the input. This is necessary - * to make deflate deterministic. - */ - if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); - - do { - Assert(cur_match < s->strstart, "no future"); - match = s->window + cur_match; - - /* Skip to next match if the match length cannot increase - * or if the match length is less than 2. Note that the checks below - * for insufficient lookahead only occur occasionally for performance - * reasons. Therefore uninitialized memory will be accessed, and - * conditional jumps will be made that depend on those values. - * However the length of the match is limited to the lookahead, so - * the output of deflate is not affected by the uninitialized values. - */ -#if (defined(UNALIGNED_OK) && MAX_MATCH == 258) - /* This code assumes sizeof(unsigned short) == 2. Do not use - * UNALIGNED_OK if your compiler uses a different size. - */ - if (*(ushf*)(match+best_len-1) != scan_end || - *(ushf*)match != scan_start) continue; - - /* It is not necessary to compare scan[2] and match[2] since they are - * always equal when the other bytes match, given that the hash keys - * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at - * strstart+3, +5, ... up to strstart+257. We check for insufficient - * lookahead only every 4th comparison; the 128th check will be made - * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is - * necessary to put more guard bytes at the end of the window, or - * to check more often for insufficient lookahead. - */ - Assert(scan[2] == match[2], "scan[2]?"); - scan++, match++; - do { - } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - scan < strend); - /* The funny "do {}" generates better code on most compilers */ - - /* Here, scan <= window+strstart+257 */ - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - if (*scan == *match) scan++; - - len = (MAX_MATCH - 1) - (int)(strend-scan); - scan = strend - (MAX_MATCH-1); - -#else /* UNALIGNED_OK */ - - if (match[best_len] != scan_end || - match[best_len-1] != scan_end1 || - *match != *scan || - *++match != scan[1]) continue; - - /* The check at best_len-1 can be removed because it will be made - * again later. (This heuristic is not always a win.) - * It is not necessary to compare scan[2] and match[2] since they - * are always equal when the other bytes match, given that - * the hash keys are equal and that HASH_BITS >= 8. - */ - scan += 2, match++; - Assert(*scan == *match, "match[2]?"); - - /* We check for insufficient lookahead only every 8th comparison; - * the 256th check will be made at strstart+258. - */ - do { - } while (*++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - scan < strend); - - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - - len = MAX_MATCH - (int)(strend - scan); - scan = strend - MAX_MATCH; - -#endif /* UNALIGNED_OK */ - - if (len > best_len) { - s->match_start = cur_match; - best_len = len; - if (len >= nice_match) break; -#ifdef UNALIGNED_OK - scan_end = *(ushf*)(scan+best_len-1); -#else - scan_end1 = scan[best_len-1]; - scan_end = scan[best_len]; -#endif - } - } while ((cur_match = prev[cur_match & wmask]) > limit - && --chain_length != 0); - - if ((uInt)best_len <= s->lookahead) return (uInt)best_len; - return s->lookahead; -} -#endif /* ASMV */ -#endif /* FASTEST */ - -/* --------------------------------------------------------------------------- - * Optimized version for level == 1 or strategy == Z_RLE only - */ -local uInt longest_match_fast(s, cur_match) - deflate_state *s; - IPos cur_match; /* current match */ -{ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - - /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. - * It is easy to get rid of this optimization if necessary. - */ - Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); - - Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); - - Assert(cur_match < s->strstart, "no future"); - - match = s->window + cur_match; - - /* Return failure if the match length is less than 2: - */ - if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1; - - /* The check at best_len-1 can be removed because it will be made - * again later. (This heuristic is not always a win.) - * It is not necessary to compare scan[2] and match[2] since they - * are always equal when the other bytes match, given that - * the hash keys are equal and that HASH_BITS >= 8. - */ - scan += 2, match += 2; - Assert(*scan == *match, "match[2]?"); - - /* We check for insufficient lookahead only every 8th comparison; - * the 256th check will be made at strstart+258. - */ - do { - } while (*++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - scan < strend); - - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - - len = MAX_MATCH - (int)(strend - scan); - - if (len < MIN_MATCH) return MIN_MATCH - 1; - - s->match_start = cur_match; - return (uInt)len <= s->lookahead ? (uInt)len : s->lookahead; -} - -#ifdef DEBUG -/* =========================================================================== - * Check that the match at match_start is indeed a match. - */ -local void check_match(s, start, match, length) - deflate_state *s; - IPos start, match; - int length; -{ - /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); - do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); - z_error("invalid match"); - } - if (z_verbose > 1) { - fprintf(stderr,"\\[%d,%d]", start-match, length); - do { putc(s->window[start++], stderr); } while (--length != 0); - } -} -#else -# define check_match(s, start, match, length) -#endif /* DEBUG */ - -/* =========================================================================== - * Fill the window when the lookahead becomes insufficient. - * Updates strstart and lookahead. - * - * IN assertion: lookahead < MIN_LOOKAHEAD - * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD - * At least one byte has been read, or avail_in == 0; reads are - * performed for at least two bytes (required for the zip translate_eol - * option -- not supported here). - */ -local void fill_window(s) - deflate_state *s; -{ - register unsigned n, m; - register Posf *p; - unsigned more; /* Amount of free space at the end of the window. */ - uInt wsize = s->w_size; - - do { - more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart); - - /* Deal with !@#$% 64K limit: */ - if (sizeof(int) <= 2) { - if (more == 0 && s->strstart == 0 && s->lookahead == 0) { - more = wsize; - - } else if (more == (unsigned)(-1)) { - /* Very unlikely, but possible on 16 bit machine if - * strstart == 0 && lookahead == 1 (input done a byte at time) - */ - more--; - } - } - - /* If the window is almost full and there is insufficient lookahead, - * move the upper half to the lower one to make room in the upper half. - */ - if (s->strstart >= wsize+MAX_DIST(s)) { - - zmemcpy(s->window, s->window+wsize, (unsigned)wsize); - s->match_start -= wsize; - s->strstart -= wsize; /* we now have strstart >= MAX_DIST */ - s->block_start -= (long) wsize; - - /* Slide the hash table (could be avoided with 32 bit values - at the expense of memory usage). We slide even when level == 0 - to keep the hash table consistent if we switch back to level > 0 - later. (Using level 0 permanently is not an optimal usage of - zlib, so we don't care about this pathological case.) - */ - /* %%% avoid this when Z_RLE */ - n = s->hash_size; - p = &s->head[n]; - do { - m = *--p; - *p = (Pos)(m >= wsize ? m-wsize : NIL); - } while (--n); - - n = wsize; -#ifndef FASTEST - p = &s->prev[n]; - do { - m = *--p; - *p = (Pos)(m >= wsize ? m-wsize : NIL); - /* If n is not on any hash chain, prev[n] is garbage but - * its value will never be used. - */ - } while (--n); -#endif - more += wsize; - } - if (s->strm->avail_in == 0) return; - - /* If there was no sliding: - * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && - * more == window_size - lookahead - strstart - * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) - * => more >= window_size - 2*WSIZE + 2 - * In the BIG_MEM or MMAP case (not yet supported), - * window_size == input_size + MIN_LOOKAHEAD && - * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. - * Otherwise, window_size == 2*WSIZE so more >= 2. - * If there was sliding, more >= WSIZE. So in all cases, more >= 2. - */ - Assert(more >= 2, "more < 2"); - - n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more); - s->lookahead += n; - - /* Initialize the hash value now that we have some input: */ - if (s->lookahead >= MIN_MATCH) { - s->ins_h = s->window[s->strstart]; - UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]); -#if MIN_MATCH != 3 - Call UPDATE_HASH() MIN_MATCH-3 more times -#endif - } - /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, - * but this is not important since only literal bytes will be emitted. - */ - - } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); -} - -/* =========================================================================== - * Flush the current block, with given end-of-file flag. - * IN assertion: strstart is set to the end of the current match. - */ -#define FLUSH_BLOCK_ONLY(s, eof) { \ - _tr_flush_block(s, (s->block_start >= 0L ? \ - (charf *)&s->window[(unsigned)s->block_start] : \ - (charf *)Z_NULL), \ - (ulg)((long)s->strstart - s->block_start), \ - (eof)); \ - s->block_start = s->strstart; \ - flush_pending(s->strm); \ - Tracev((stderr,"[FLUSH]")); \ -} - -/* Same but force premature exit if necessary. */ -#define FLUSH_BLOCK(s, eof) { \ - FLUSH_BLOCK_ONLY(s, eof); \ - if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \ -} - -/* =========================================================================== - * Copy without compression as much as possible from the input stream, return - * the current block state. - * This function does not insert new strings in the dictionary since - * uncompressible data is probably not useful. This function is used - * only for the level=0 compression option. - * NOTE: this function should be optimized to avoid extra copying from - * window to pending_buf. - */ -local block_state deflate_stored(s, flush) - deflate_state *s; - int flush; -{ - /* Stored blocks are limited to 0xffff bytes, pending_buf is limited - * to pending_buf_size, and each stored block has a 5 byte header: - */ - ulg max_block_size = 0xffff; - ulg max_start; - - if (max_block_size > s->pending_buf_size - 5) { - max_block_size = s->pending_buf_size - 5; - } - - /* Copy as much as possible from input to output: */ - for (;;) { - /* Fill the window as much as possible: */ - if (s->lookahead <= 1) { - - Assert(s->strstart < s->w_size+MAX_DIST(s) || - s->block_start >= (long)s->w_size, "slide too late"); - - fill_window(s); - if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - if (s->lookahead == 0) break; /* flush the current block */ - } - Assert(s->block_start >= 0L, "block gone"); - - s->strstart += s->lookahead; - s->lookahead = 0; - - /* Emit a stored block if pending_buf will be full: */ - max_start = s->block_start + max_block_size; - if (s->strstart == 0 || (ulg)s->strstart >= max_start) { - /* strstart == 0 is possible when wraparound on 16-bit machine */ - s->lookahead = (uInt)(s->strstart - max_start); - s->strstart = (uInt)max_start; - FLUSH_BLOCK(s, 0); - } - /* Flush if we may have to slide, otherwise block_start may become - * negative and the data will be gone: - */ - if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) { - FLUSH_BLOCK(s, 0); - } - } - FLUSH_BLOCK(s, flush == Z_FINISH); - return flush == Z_FINISH ? finish_done : block_done; -} - -/* =========================================================================== - * Compress as much as possible from the input stream, return the current - * block state. - * This function does not perform lazy evaluation of matches and inserts - * new strings in the dictionary only for unmatched strings or for short - * matches. It is used only for the fast compression options. - */ -local block_state deflate_fast(s, flush) - deflate_state *s; - int flush; -{ - IPos hash_head = NIL; /* head of the hash chain */ - int bflush; /* set if current block must be flushed */ - - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the next match, plus MIN_MATCH bytes to insert the - * string following the next match. - */ - if (s->lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* Insert the string window[strstart .. strstart+2] in the - * dictionary, and set hash_head to the head of the hash chain: - */ - if (s->lookahead >= MIN_MATCH) { - INSERT_STRING(s, s->strstart, hash_head); - } - - /* Find the longest match, discarding those <= prev_length. - * At this point we have always match_length < MIN_MATCH - */ - if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) { - /* To simplify the code, we prevent matches with the string - * of window index 0 (in particular we have to avoid a match - * of the string with itself at the start of the input file). - */ -#ifdef FASTEST - if ((s->strategy != Z_HUFFMAN_ONLY && s->strategy != Z_RLE) || - (s->strategy == Z_RLE && s->strstart - hash_head == 1)) { - s->match_length = longest_match_fast (s, hash_head); - } -#else - if (s->strategy != Z_HUFFMAN_ONLY && s->strategy != Z_RLE) { - s->match_length = longest_match (s, hash_head); - } else if (s->strategy == Z_RLE && s->strstart - hash_head == 1) { - s->match_length = longest_match_fast (s, hash_head); - } -#endif - /* longest_match() or longest_match_fast() sets match_start */ - } - if (s->match_length >= MIN_MATCH) { - check_match(s, s->strstart, s->match_start, s->match_length); - - _tr_tally_dist(s, s->strstart - s->match_start, - s->match_length - MIN_MATCH, bflush); - - s->lookahead -= s->match_length; - - /* Insert new strings in the hash table only if the match length - * is not too large. This saves time but degrades compression. - */ -#ifndef FASTEST - if (s->match_length <= s->max_insert_length && - s->lookahead >= MIN_MATCH) { - s->match_length--; /* string at strstart already in table */ - do { - s->strstart++; - INSERT_STRING(s, s->strstart, hash_head); - /* strstart never exceeds WSIZE-MAX_MATCH, so there are - * always MIN_MATCH bytes ahead. - */ - } while (--s->match_length != 0); - s->strstart++; - } else -#endif - { - s->strstart += s->match_length; - s->match_length = 0; - s->ins_h = s->window[s->strstart]; - UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]); -#if MIN_MATCH != 3 - Call UPDATE_HASH() MIN_MATCH-3 more times -#endif - /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not - * matter since it will be recomputed at next deflate call. - */ - } - } else { - /* No match, output a literal byte */ - Tracevv((stderr,"%c", s->window[s->strstart])); - _tr_tally_lit (s, s->window[s->strstart], bflush); - s->lookahead--; - s->strstart++; - } - if (bflush) FLUSH_BLOCK(s, 0); - } - FLUSH_BLOCK(s, flush == Z_FINISH); - return flush == Z_FINISH ? finish_done : block_done; -} - -#ifndef FASTEST -/* =========================================================================== - * Same as above, but achieves better compression. We use a lazy - * evaluation for matches: a match is finally adopted only if there is - * no better match at the next window position. - */ -local block_state deflate_slow(s, flush) - deflate_state *s; - int flush; -{ - IPos hash_head = NIL; /* head of hash chain */ - int bflush; /* set if current block must be flushed */ - - /* Process the input block. */ - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the next match, plus MIN_MATCH bytes to insert the - * string following the next match. - */ - if (s->lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* Insert the string window[strstart .. strstart+2] in the - * dictionary, and set hash_head to the head of the hash chain: - */ - if (s->lookahead >= MIN_MATCH) { - INSERT_STRING(s, s->strstart, hash_head); - } - - /* Find the longest match, discarding those <= prev_length. - */ - s->prev_length = s->match_length, s->prev_match = s->match_start; - s->match_length = MIN_MATCH-1; - - if (hash_head != NIL && s->prev_length < s->max_lazy_match && - s->strstart - hash_head <= MAX_DIST(s)) { - /* To simplify the code, we prevent matches with the string - * of window index 0 (in particular we have to avoid a match - * of the string with itself at the start of the input file). - */ - if (s->strategy != Z_HUFFMAN_ONLY && s->strategy != Z_RLE) { - s->match_length = longest_match (s, hash_head); - } else if (s->strategy == Z_RLE && s->strstart - hash_head == 1) { - s->match_length = longest_match_fast (s, hash_head); - } - /* longest_match() or longest_match_fast() sets match_start */ - - if (s->match_length <= 5 && (s->strategy == Z_FILTERED -#if TOO_FAR <= 32767 - || (s->match_length == MIN_MATCH && - s->strstart - s->match_start > TOO_FAR) -#endif - )) { - - /* If prev_match is also MIN_MATCH, match_start is garbage - * but we will ignore the current match anyway. - */ - s->match_length = MIN_MATCH-1; - } - } - /* If there was a match at the previous step and the current - * match is not better, output the previous match: - */ - if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) { - uInt max_insert = s->strstart + s->lookahead - MIN_MATCH; - /* Do not insert strings in hash table beyond this. */ - - check_match(s, s->strstart-1, s->prev_match, s->prev_length); - - _tr_tally_dist(s, s->strstart -1 - s->prev_match, - s->prev_length - MIN_MATCH, bflush); - - /* Insert in hash table all strings up to the end of the match. - * strstart-1 and strstart are already inserted. If there is not - * enough lookahead, the last two strings are not inserted in - * the hash table. - */ - s->lookahead -= s->prev_length-1; - s->prev_length -= 2; - do { - if (++s->strstart <= max_insert) { - INSERT_STRING(s, s->strstart, hash_head); - } - } while (--s->prev_length != 0); - s->match_available = 0; - s->match_length = MIN_MATCH-1; - s->strstart++; - - if (bflush) FLUSH_BLOCK(s, 0); - - } else if (s->match_available) { - /* If there was no match at the previous position, output a - * single literal. If there was a match but the current match - * is longer, truncate the previous match to a single literal. - */ - Tracevv((stderr,"%c", s->window[s->strstart-1])); - _tr_tally_lit(s, s->window[s->strstart-1], bflush); - if (bflush) { - FLUSH_BLOCK_ONLY(s, 0); - } - s->strstart++; - s->lookahead--; - if (s->strm->avail_out == 0) return need_more; - } else { - /* There is no previous match to compare with, wait for - * the next step to decide. - */ - s->match_available = 1; - s->strstart++; - s->lookahead--; - } - } - Assert (flush != Z_NO_FLUSH, "no flush?"); - if (s->match_available) { - Tracevv((stderr,"%c", s->window[s->strstart-1])); - _tr_tally_lit(s, s->window[s->strstart-1], bflush); - s->match_available = 0; - } - FLUSH_BLOCK(s, flush == Z_FINISH); - return flush == Z_FINISH ? finish_done : block_done; -} -#endif /* FASTEST */ - -#if 0 -/* =========================================================================== - * For Z_RLE, simply look for runs of bytes, generate matches only of distance - * one. Do not maintain a hash table. (It will be regenerated if this run of - * deflate switches away from Z_RLE.) - */ -local block_state deflate_rle(s, flush) - deflate_state *s; - int flush; -{ - int bflush; /* set if current block must be flushed */ - uInt run; /* length of run */ - uInt max; /* maximum length of run */ - uInt prev; /* byte at distance one to match */ - Bytef *scan; /* scan for end of run */ - - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the longest encodable run. - */ - if (s->lookahead < MAX_MATCH) { - fill_window(s); - if (s->lookahead < MAX_MATCH && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* See how many times the previous byte repeats */ - run = 0; - if (s->strstart > 0) { /* if there is a previous byte, that is */ - max = s->lookahead < MAX_MATCH ? s->lookahead : MAX_MATCH; - scan = s->window + s->strstart - 1; - prev = *scan++; - do { - if (*scan++ != prev) - break; - } while (++run < max); - } - - /* Emit match if have run of MIN_MATCH or longer, else emit literal */ - if (run >= MIN_MATCH) { - check_match(s, s->strstart, s->strstart - 1, run); - _tr_tally_dist(s, 1, run - MIN_MATCH, bflush); - s->lookahead -= run; - s->strstart += run; - } else { - /* No match, output a literal byte */ - Tracevv((stderr,"%c", s->window[s->strstart])); - _tr_tally_lit (s, s->window[s->strstart], bflush); - s->lookahead--; - s->strstart++; - } - if (bflush) FLUSH_BLOCK(s, 0); - } - FLUSH_BLOCK(s, flush == Z_FINISH); - return flush == Z_FINISH ? finish_done : block_done; -} -#endif diff --git a/3rdparty/openctm/tools/zlib/deflate.h b/3rdparty/openctm/tools/zlib/deflate.h deleted file mode 100644 index 05a5ab3a2..000000000 --- a/3rdparty/openctm/tools/zlib/deflate.h +++ /dev/null @@ -1,331 +0,0 @@ -/* deflate.h -- internal compression state - * Copyright (C) 1995-2004 Jean-loup Gailly - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* @(#) $Id$ */ - -#ifndef DEFLATE_H -#define DEFLATE_H - -#include "zutil.h" - -/* define NO_GZIP when compiling if you want to disable gzip header and - trailer creation by deflate(). NO_GZIP would be used to avoid linking in - the crc code when it is not needed. For shared libraries, gzip encoding - should be left enabled. */ -#ifndef NO_GZIP -# define GZIP -#endif - -/* =========================================================================== - * Internal compression state. - */ - -#define LENGTH_CODES 29 -/* number of length codes, not counting the special END_BLOCK code */ - -#define LITERALS 256 -/* number of literal bytes 0..255 */ - -#define L_CODES (LITERALS+1+LENGTH_CODES) -/* number of Literal or Length codes, including the END_BLOCK code */ - -#define D_CODES 30 -/* number of distance codes */ - -#define BL_CODES 19 -/* number of codes used to transfer the bit lengths */ - -#define HEAP_SIZE (2*L_CODES+1) -/* maximum heap size */ - -#define MAX_BITS 15 -/* All codes must not exceed MAX_BITS bits */ - -#define INIT_STATE 42 -#define EXTRA_STATE 69 -#define NAME_STATE 73 -#define COMMENT_STATE 91 -#define HCRC_STATE 103 -#define BUSY_STATE 113 -#define FINISH_STATE 666 -/* Stream status */ - - -/* Data structure describing a single value and its code string. */ -typedef struct ct_data_s { - union { - ush freq; /* frequency count */ - ush code; /* bit string */ - } fc; - union { - ush dad; /* father node in Huffman tree */ - ush len; /* length of bit string */ - } dl; -} FAR ct_data; - -#define Freq fc.freq -#define Code fc.code -#define Dad dl.dad -#define Len dl.len - -typedef struct static_tree_desc_s static_tree_desc; - -typedef struct tree_desc_s { - ct_data *dyn_tree; /* the dynamic tree */ - int max_code; /* largest code with non zero frequency */ - static_tree_desc *stat_desc; /* the corresponding static tree */ -} FAR tree_desc; - -typedef ush Pos; -typedef Pos FAR Posf; -typedef unsigned IPos; - -/* A Pos is an index in the character window. We use short instead of int to - * save space in the various tables. IPos is used only for parameter passing. - */ - -typedef struct internal_state { - z_streamp strm; /* pointer back to this zlib stream */ - int status; /* as the name implies */ - Bytef *pending_buf; /* output still pending */ - ulg pending_buf_size; /* size of pending_buf */ - Bytef *pending_out; /* next pending byte to output to the stream */ - uInt pending; /* nb of bytes in the pending buffer */ - int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ - gz_headerp gzhead; /* gzip header information to write */ - uInt gzindex; /* where in extra, name, or comment */ - Byte method; /* STORED (for zip only) or DEFLATED */ - int last_flush; /* value of flush param for previous deflate call */ - - /* used by deflate.c: */ - - uInt w_size; /* LZ77 window size (32K by default) */ - uInt w_bits; /* log2(w_size) (8..16) */ - uInt w_mask; /* w_size - 1 */ - - Bytef *window; - /* Sliding window. Input bytes are read into the second half of the window, - * and move to the first half later to keep a dictionary of at least wSize - * bytes. With this organization, matches are limited to a distance of - * wSize-MAX_MATCH bytes, but this ensures that IO is always - * performed with a length multiple of the block size. Also, it limits - * the window size to 64K, which is quite useful on MSDOS. - * To do: use the user input buffer as sliding window. - */ - - ulg window_size; - /* Actual size of window: 2*wSize, except when the user input buffer - * is directly used as sliding window. - */ - - Posf *prev; - /* Link to older string with same hash index. To limit the size of this - * array to 64K, this link is maintained only for the last 32K strings. - * An index in this array is thus a window index modulo 32K. - */ - - Posf *head; /* Heads of the hash chains or NIL. */ - - uInt ins_h; /* hash index of string to be inserted */ - uInt hash_size; /* number of elements in hash table */ - uInt hash_bits; /* log2(hash_size) */ - uInt hash_mask; /* hash_size-1 */ - - uInt hash_shift; - /* Number of bits by which ins_h must be shifted at each input - * step. It must be such that after MIN_MATCH steps, the oldest - * byte no longer takes part in the hash key, that is: - * hash_shift * MIN_MATCH >= hash_bits - */ - - long block_start; - /* Window position at the beginning of the current output block. Gets - * negative when the window is moved backwards. - */ - - uInt match_length; /* length of best match */ - IPos prev_match; /* previous match */ - int match_available; /* set if previous match exists */ - uInt strstart; /* start of string to insert */ - uInt match_start; /* start of matching string */ - uInt lookahead; /* number of valid bytes ahead in window */ - - uInt prev_length; - /* Length of the best match at previous step. Matches not greater than this - * are discarded. This is used in the lazy match evaluation. - */ - - uInt max_chain_length; - /* To speed up deflation, hash chains are never searched beyond this - * length. A higher limit improves compression ratio but degrades the - * speed. - */ - - uInt max_lazy_match; - /* Attempt to find a better match only when the current match is strictly - * smaller than this value. This mechanism is used only for compression - * levels >= 4. - */ -# define max_insert_length max_lazy_match - /* Insert new strings in the hash table only if the match length is not - * greater than this length. This saves time but degrades compression. - * max_insert_length is used only for compression levels <= 3. - */ - - int level; /* compression level (1..9) */ - int strategy; /* favor or force Huffman coding*/ - - uInt good_match; - /* Use a faster search when the previous match is longer than this */ - - int nice_match; /* Stop searching when current match exceeds this */ - - /* used by trees.c: */ - /* Didn't use ct_data typedef below to supress compiler warning */ - struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ - struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ - struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ - - struct tree_desc_s l_desc; /* desc. for literal tree */ - struct tree_desc_s d_desc; /* desc. for distance tree */ - struct tree_desc_s bl_desc; /* desc. for bit length tree */ - - ush bl_count[MAX_BITS+1]; - /* number of codes at each bit length for an optimal tree */ - - int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ - int heap_len; /* number of elements in the heap */ - int heap_max; /* element of largest frequency */ - /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. - * The same heap array is used to build all trees. - */ - - uch depth[2*L_CODES+1]; - /* Depth of each subtree used as tie breaker for trees of equal frequency - */ - - uchf *l_buf; /* buffer for literals or lengths */ - - uInt lit_bufsize; - /* Size of match buffer for literals/lengths. There are 4 reasons for - * limiting lit_bufsize to 64K: - * - frequencies can be kept in 16 bit counters - * - if compression is not successful for the first block, all input - * data is still in the window so we can still emit a stored block even - * when input comes from standard input. (This can also be done for - * all blocks if lit_bufsize is not greater than 32K.) - * - if compression is not successful for a file smaller than 64K, we can - * even emit a stored file instead of a stored block (saving 5 bytes). - * This is applicable only for zip (not gzip or zlib). - * - creating new Huffman trees less frequently may not provide fast - * adaptation to changes in the input data statistics. (Take for - * example a binary file with poorly compressible code followed by - * a highly compressible string table.) Smaller buffer sizes give - * fast adaptation but have of course the overhead of transmitting - * trees more frequently. - * - I can't count above 4 - */ - - uInt last_lit; /* running index in l_buf */ - - ushf *d_buf; - /* Buffer for distances. To simplify the code, d_buf and l_buf have - * the same number of elements. To use different lengths, an extra flag - * array would be necessary. - */ - - ulg opt_len; /* bit length of current block with optimal trees */ - ulg static_len; /* bit length of current block with static trees */ - uInt matches; /* number of string matches in current block */ - int last_eob_len; /* bit length of EOB code for last block */ - -#ifdef DEBUG - ulg compressed_len; /* total bit length of compressed file mod 2^32 */ - ulg bits_sent; /* bit length of compressed data sent mod 2^32 */ -#endif - - ush bi_buf; - /* Output buffer. bits are inserted starting at the bottom (least - * significant bits). - */ - int bi_valid; - /* Number of valid bits in bi_buf. All bits above the last valid bit - * are always zero. - */ - -} FAR deflate_state; - -/* Output a byte on the stream. - * IN assertion: there is enough room in pending_buf. - */ -#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);} - - -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) -/* Minimum amount of lookahead, except at the end of the input file. - * See deflate.c for comments about the MIN_MATCH+1. - */ - -#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD) -/* In order to simplify the code, particularly on 16 bit machines, match - * distances are limited to MAX_DIST instead of WSIZE. - */ - - /* in trees.c */ -void _tr_init OF((deflate_state *s)); -int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc)); -void _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len, - int eof)); -void _tr_align OF((deflate_state *s)); -void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len, - int eof)); - -#define d_code(dist) \ - ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)]) -/* Mapping from a distance to a distance code. dist is the distance - 1 and - * must not have side effects. _dist_code[256] and _dist_code[257] are never - * used. - */ - -#ifndef DEBUG -/* Inline versions of _tr_tally for speed: */ - -#if defined(GEN_TREES_H) || !defined(STDC) - extern uch _length_code[]; - extern uch _dist_code[]; -#else - extern const uch _length_code[]; - extern const uch _dist_code[]; -#endif - -# define _tr_tally_lit(s, c, flush) \ - { uch cc = (c); \ - s->d_buf[s->last_lit] = 0; \ - s->l_buf[s->last_lit++] = cc; \ - s->dyn_ltree[cc].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ - } -# define _tr_tally_dist(s, distance, length, flush) \ - { uch len = (length); \ - ush dist = (distance); \ - s->d_buf[s->last_lit] = dist; \ - s->l_buf[s->last_lit++] = len; \ - dist--; \ - s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ - s->dyn_dtree[d_code(dist)].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ - } -#else -# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) -# define _tr_tally_dist(s, distance, length, flush) \ - flush = _tr_tally(s, distance, length) -#endif - -#endif /* DEFLATE_H */ diff --git a/3rdparty/openctm/tools/zlib/gzio.c b/3rdparty/openctm/tools/zlib/gzio.c deleted file mode 100644 index 7e90f4928..000000000 --- a/3rdparty/openctm/tools/zlib/gzio.c +++ /dev/null @@ -1,1026 +0,0 @@ -/* gzio.c -- IO on .gz files - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Compile this file with -DNO_GZCOMPRESS to avoid the compression code. - */ - -/* @(#) $Id$ */ - -#include - -#include "zutil.h" - -#ifdef NO_DEFLATE /* for compatibility with old definition */ -# define NO_GZCOMPRESS -#endif - -#ifndef NO_DUMMY_DECL -struct internal_state {int dummy;}; /* for buggy compilers */ -#endif - -#ifndef Z_BUFSIZE -# ifdef MAXSEG_64K -# define Z_BUFSIZE 4096 /* minimize memory usage for 16-bit DOS */ -# else -# define Z_BUFSIZE 16384 -# endif -#endif -#ifndef Z_PRINTF_BUFSIZE -# define Z_PRINTF_BUFSIZE 4096 -#endif - -#ifdef __MVS__ -# pragma map (fdopen , "\174\174FDOPEN") - FILE *fdopen(int, const char *); -#endif - -#ifndef STDC -extern voidp malloc OF((uInt size)); -extern void free OF((voidpf ptr)); -#endif - -#define ALLOC(size) malloc(size) -#define TRYFREE(p) {if (p) free(p);} - -static int const gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */ - -/* gzip flag byte */ -#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */ -#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */ -#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */ -#define ORIG_NAME 0x08 /* bit 3 set: original file name present */ -#define COMMENT 0x10 /* bit 4 set: file comment present */ -#define RESERVED 0xE0 /* bits 5..7: reserved */ - -typedef struct gz_stream { - z_stream stream; - int z_err; /* error code for last stream operation */ - int z_eof; /* set if end of input file */ - FILE *file; /* .gz file */ - Byte *inbuf; /* input buffer */ - Byte *outbuf; /* output buffer */ - uLong crc; /* crc32 of uncompressed data */ - char *msg; /* error message */ - char *path; /* path name for debugging only */ - int transparent; /* 1 if input file is not a .gz file */ - char mode; /* 'w' or 'r' */ - z_off_t start; /* start of compressed data in file (header skipped) */ - z_off_t in; /* bytes into deflate or inflate */ - z_off_t out; /* bytes out of deflate or inflate */ - int back; /* one character push-back */ - int last; /* true if push-back is last character */ -} gz_stream; - - -local gzFile gz_open OF((const char *path, const char *mode, int fd)); -local int do_flush OF((gzFile file, int flush)); -local int get_byte OF((gz_stream *s)); -local void check_header OF((gz_stream *s)); -local int destroy OF((gz_stream *s)); -local void putLong OF((FILE *file, uLong x)); -local uLong getLong OF((gz_stream *s)); - -/* =========================================================================== - Opens a gzip (.gz) file for reading or writing. The mode parameter - is as in fopen ("rb" or "wb"). The file is given either by file descriptor - or path name (if fd == -1). - gz_open returns NULL if the file could not be opened or if there was - insufficient memory to allocate the (de)compression state; errno - can be checked to distinguish the two cases (if errno is zero, the - zlib error is Z_MEM_ERROR). -*/ -local gzFile gz_open (path, mode, fd) - const char *path; - const char *mode; - int fd; -{ - int err; - int level = Z_DEFAULT_COMPRESSION; /* compression level */ - int strategy = Z_DEFAULT_STRATEGY; /* compression strategy */ - char *p = (char*)mode; - gz_stream *s; - char fmode[80]; /* copy of mode, without the compression level */ - char *m = fmode; - - if (!path || !mode) return Z_NULL; - - s = (gz_stream *)ALLOC(sizeof(gz_stream)); - if (!s) return Z_NULL; - - s->stream.zalloc = (alloc_func)0; - s->stream.zfree = (free_func)0; - s->stream.opaque = (voidpf)0; - s->stream.next_in = s->inbuf = Z_NULL; - s->stream.next_out = s->outbuf = Z_NULL; - s->stream.avail_in = s->stream.avail_out = 0; - s->file = NULL; - s->z_err = Z_OK; - s->z_eof = 0; - s->in = 0; - s->out = 0; - s->back = EOF; - s->crc = crc32(0L, Z_NULL, 0); - s->msg = NULL; - s->transparent = 0; - - s->path = (char*)ALLOC(strlen(path)+1); - if (s->path == NULL) { - return destroy(s), (gzFile)Z_NULL; - } - strcpy(s->path, path); /* do this early for debugging */ - - s->mode = '\0'; - do { - if (*p == 'r') s->mode = 'r'; - if (*p == 'w' || *p == 'a') s->mode = 'w'; - if (*p >= '0' && *p <= '9') { - level = *p - '0'; - } else if (*p == 'f') { - strategy = Z_FILTERED; - } else if (*p == 'h') { - strategy = Z_HUFFMAN_ONLY; - } else if (*p == 'R') { - strategy = Z_RLE; - } else { - *m++ = *p; /* copy the mode */ - } - } while (*p++ && m != fmode + sizeof(fmode)); - if (s->mode == '\0') return destroy(s), (gzFile)Z_NULL; - - if (s->mode == 'w') { -#ifdef NO_GZCOMPRESS - err = Z_STREAM_ERROR; -#else - err = deflateInit2(&(s->stream), level, - Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, strategy); - /* windowBits is passed < 0 to suppress zlib header */ - - s->stream.next_out = s->outbuf = (Byte*)ALLOC(Z_BUFSIZE); -#endif - if (err != Z_OK || s->outbuf == Z_NULL) { - return destroy(s), (gzFile)Z_NULL; - } - } else { - s->stream.next_in = s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); - - err = inflateInit2(&(s->stream), -MAX_WBITS); - /* windowBits is passed < 0 to tell that there is no zlib header. - * Note that in this case inflate *requires* an extra "dummy" byte - * after the compressed stream in order to complete decompression and - * return Z_STREAM_END. Here the gzip CRC32 ensures that 4 bytes are - * present after the compressed stream. - */ - if (err != Z_OK || s->inbuf == Z_NULL) { - return destroy(s), (gzFile)Z_NULL; - } - } - s->stream.avail_out = Z_BUFSIZE; - - errno = 0; - s->file = fd < 0 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, fmode); - - if (s->file == NULL) { - return destroy(s), (gzFile)Z_NULL; - } - if (s->mode == 'w') { - /* Write a very simple .gz header: - */ - fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1], - Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, 0 /*xflags*/, OS_CODE); - s->start = 10L; - /* We use 10L instead of ftell(s->file) to because ftell causes an - * fflush on some systems. This version of the library doesn't use - * start anyway in write mode, so this initialization is not - * necessary. - */ - } else { - check_header(s); /* skip the .gz header */ - s->start = ftell(s->file) - s->stream.avail_in; - } - - return (gzFile)s; -} - -/* =========================================================================== - Opens a gzip (.gz) file for reading or writing. -*/ -gzFile ZEXPORT gzopen (path, mode) - const char *path; - const char *mode; -{ - return gz_open (path, mode, -1); -} - -/* =========================================================================== - Associate a gzFile with the file descriptor fd. fd is not dup'ed here - to mimic the behavio(u)r of fdopen. -*/ -gzFile ZEXPORT gzdopen (fd, mode) - int fd; - const char *mode; -{ - char name[46]; /* allow for up to 128-bit integers */ - - if (fd < 0) return (gzFile)Z_NULL; - sprintf(name, "", fd); /* for debugging */ - - return gz_open (name, mode, fd); -} - -/* =========================================================================== - * Update the compression level and strategy - */ -int ZEXPORT gzsetparams (file, level, strategy) - gzFile file; - int level; - int strategy; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR; - - /* Make room to allow flushing */ - if (s->stream.avail_out == 0) { - - s->stream.next_out = s->outbuf; - if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) { - s->z_err = Z_ERRNO; - } - s->stream.avail_out = Z_BUFSIZE; - } - - return deflateParams (&(s->stream), level, strategy); -} - -/* =========================================================================== - Read a byte from a gz_stream; update next_in and avail_in. Return EOF - for end of file. - IN assertion: the stream s has been sucessfully opened for reading. -*/ -local int get_byte(s) - gz_stream *s; -{ - if (s->z_eof) return EOF; - if (s->stream.avail_in == 0) { - errno = 0; - s->stream.avail_in = (uInt)fread(s->inbuf, 1, Z_BUFSIZE, s->file); - if (s->stream.avail_in == 0) { - s->z_eof = 1; - if (ferror(s->file)) s->z_err = Z_ERRNO; - return EOF; - } - s->stream.next_in = s->inbuf; - } - s->stream.avail_in--; - return *(s->stream.next_in)++; -} - -/* =========================================================================== - Check the gzip header of a gz_stream opened for reading. Set the stream - mode to transparent if the gzip magic header is not present; set s->err - to Z_DATA_ERROR if the magic header is present but the rest of the header - is incorrect. - IN assertion: the stream s has already been created sucessfully; - s->stream.avail_in is zero for the first time, but may be non-zero - for concatenated .gz files. -*/ -local void check_header(s) - gz_stream *s; -{ - int method; /* method byte */ - int flags; /* flags byte */ - uInt len; - int c; - - /* Assure two bytes in the buffer so we can peek ahead -- handle case - where first byte of header is at the end of the buffer after the last - gzip segment */ - len = s->stream.avail_in; - if (len < 2) { - if (len) s->inbuf[0] = s->stream.next_in[0]; - errno = 0; - len = (uInt)fread(s->inbuf + len, 1, Z_BUFSIZE >> len, s->file); - if (len == 0 && ferror(s->file)) s->z_err = Z_ERRNO; - s->stream.avail_in += len; - s->stream.next_in = s->inbuf; - if (s->stream.avail_in < 2) { - s->transparent = s->stream.avail_in; - return; - } - } - - /* Peek ahead to check the gzip magic header */ - if (s->stream.next_in[0] != gz_magic[0] || - s->stream.next_in[1] != gz_magic[1]) { - s->transparent = 1; - return; - } - s->stream.avail_in -= 2; - s->stream.next_in += 2; - - /* Check the rest of the gzip header */ - method = get_byte(s); - flags = get_byte(s); - if (method != Z_DEFLATED || (flags & RESERVED) != 0) { - s->z_err = Z_DATA_ERROR; - return; - } - - /* Discard time, xflags and OS code: */ - for (len = 0; len < 6; len++) (void)get_byte(s); - - if ((flags & EXTRA_FIELD) != 0) { /* skip the extra field */ - len = (uInt)get_byte(s); - len += ((uInt)get_byte(s))<<8; - /* len is garbage if EOF but the loop below will quit anyway */ - while (len-- != 0 && get_byte(s) != EOF) ; - } - if ((flags & ORIG_NAME) != 0) { /* skip the original file name */ - while ((c = get_byte(s)) != 0 && c != EOF) ; - } - if ((flags & COMMENT) != 0) { /* skip the .gz file comment */ - while ((c = get_byte(s)) != 0 && c != EOF) ; - } - if ((flags & HEAD_CRC) != 0) { /* skip the header crc */ - for (len = 0; len < 2; len++) (void)get_byte(s); - } - s->z_err = s->z_eof ? Z_DATA_ERROR : Z_OK; -} - - /* =========================================================================== - * Cleanup then free the given gz_stream. Return a zlib error code. - Try freeing in the reverse order of allocations. - */ -local int destroy (s) - gz_stream *s; -{ - int err = Z_OK; - - if (!s) return Z_STREAM_ERROR; - - TRYFREE(s->msg); - - if (s->stream.state != NULL) { - if (s->mode == 'w') { -#ifdef NO_GZCOMPRESS - err = Z_STREAM_ERROR; -#else - err = deflateEnd(&(s->stream)); -#endif - } else if (s->mode == 'r') { - err = inflateEnd(&(s->stream)); - } - } - if (s->file != NULL && fclose(s->file)) { -#ifdef ESPIPE - if (errno != ESPIPE) /* fclose is broken for pipes in HP/UX */ -#endif - err = Z_ERRNO; - } - if (s->z_err < 0) err = s->z_err; - - TRYFREE(s->inbuf); - TRYFREE(s->outbuf); - TRYFREE(s->path); - TRYFREE(s); - return err; -} - -/* =========================================================================== - Reads the given number of uncompressed bytes from the compressed file. - gzread returns the number of bytes actually read (0 for end of file). -*/ -int ZEXPORT gzread (file, buf, len) - gzFile file; - voidp buf; - unsigned len; -{ - gz_stream *s = (gz_stream*)file; - Bytef *start = (Bytef*)buf; /* starting point for crc computation */ - Byte *next_out; /* == stream.next_out but not forced far (for MSDOS) */ - - if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR; - - if (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO) return -1; - if (s->z_err == Z_STREAM_END) return 0; /* EOF */ - - next_out = (Byte*)buf; - s->stream.next_out = (Bytef*)buf; - s->stream.avail_out = len; - - if (s->stream.avail_out && s->back != EOF) { - *next_out++ = s->back; - s->stream.next_out++; - s->stream.avail_out--; - s->back = EOF; - s->out++; - start++; - if (s->last) { - s->z_err = Z_STREAM_END; - return 1; - } - } - - while (s->stream.avail_out != 0) { - - if (s->transparent) { - /* Copy first the lookahead bytes: */ - uInt n = s->stream.avail_in; - if (n > s->stream.avail_out) n = s->stream.avail_out; - if (n > 0) { - zmemcpy(s->stream.next_out, s->stream.next_in, n); - next_out += n; - s->stream.next_out = next_out; - s->stream.next_in += n; - s->stream.avail_out -= n; - s->stream.avail_in -= n; - } - if (s->stream.avail_out > 0) { - s->stream.avail_out -= - (uInt)fread(next_out, 1, s->stream.avail_out, s->file); - } - len -= s->stream.avail_out; - s->in += len; - s->out += len; - if (len == 0) s->z_eof = 1; - return (int)len; - } - if (s->stream.avail_in == 0 && !s->z_eof) { - - errno = 0; - s->stream.avail_in = (uInt)fread(s->inbuf, 1, Z_BUFSIZE, s->file); - if (s->stream.avail_in == 0) { - s->z_eof = 1; - if (ferror(s->file)) { - s->z_err = Z_ERRNO; - break; - } - } - s->stream.next_in = s->inbuf; - } - s->in += s->stream.avail_in; - s->out += s->stream.avail_out; - s->z_err = inflate(&(s->stream), Z_NO_FLUSH); - s->in -= s->stream.avail_in; - s->out -= s->stream.avail_out; - - if (s->z_err == Z_STREAM_END) { - /* Check CRC and original size */ - s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); - start = s->stream.next_out; - - if (getLong(s) != s->crc) { - s->z_err = Z_DATA_ERROR; - } else { - (void)getLong(s); - /* The uncompressed length returned by above getlong() may be - * different from s->out in case of concatenated .gz files. - * Check for such files: - */ - check_header(s); - if (s->z_err == Z_OK) { - inflateReset(&(s->stream)); - s->crc = crc32(0L, Z_NULL, 0); - } - } - } - if (s->z_err != Z_OK || s->z_eof) break; - } - s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); - - if (len == s->stream.avail_out && - (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO)) - return -1; - return (int)(len - s->stream.avail_out); -} - - -/* =========================================================================== - Reads one byte from the compressed file. gzgetc returns this byte - or -1 in case of end of file or error. -*/ -int ZEXPORT gzgetc(file) - gzFile file; -{ - unsigned char c; - - return gzread(file, &c, 1) == 1 ? c : -1; -} - - -/* =========================================================================== - Push one byte back onto the stream. -*/ -int ZEXPORT gzungetc(c, file) - int c; - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'r' || c == EOF || s->back != EOF) return EOF; - s->back = c; - s->out--; - s->last = (s->z_err == Z_STREAM_END); - if (s->last) s->z_err = Z_OK; - s->z_eof = 0; - return c; -} - - -/* =========================================================================== - Reads bytes from the compressed file until len-1 characters are - read, or a newline character is read and transferred to buf, or an - end-of-file condition is encountered. The string is then terminated - with a null character. - gzgets returns buf, or Z_NULL in case of error. - - The current implementation is not optimized at all. -*/ -char * ZEXPORT gzgets(file, buf, len) - gzFile file; - char *buf; - int len; -{ - char *b = buf; - if (buf == Z_NULL || len <= 0) return Z_NULL; - - while (--len > 0 && gzread(file, buf, 1) == 1 && *buf++ != '\n') ; - *buf = '\0'; - return b == buf && len > 0 ? Z_NULL : b; -} - - -#ifndef NO_GZCOMPRESS -/* =========================================================================== - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of bytes actually written (0 in case of error). -*/ -int ZEXPORT gzwrite (file, buf, len) - gzFile file; - voidpc buf; - unsigned len; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR; - - s->stream.next_in = (Bytef*)buf; - s->stream.avail_in = len; - - while (s->stream.avail_in != 0) { - - if (s->stream.avail_out == 0) { - - s->stream.next_out = s->outbuf; - if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) { - s->z_err = Z_ERRNO; - break; - } - s->stream.avail_out = Z_BUFSIZE; - } - s->in += s->stream.avail_in; - s->out += s->stream.avail_out; - s->z_err = deflate(&(s->stream), Z_NO_FLUSH); - s->in -= s->stream.avail_in; - s->out -= s->stream.avail_out; - if (s->z_err != Z_OK) break; - } - s->crc = crc32(s->crc, (const Bytef *)buf, len); - - return (int)(len - s->stream.avail_in); -} - - -/* =========================================================================== - Converts, formats, and writes the args to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written (0 in case of error). -*/ -#ifdef STDC -#include - -int ZEXPORTVA gzprintf (gzFile file, const char *format, /* args */ ...) -{ - char buf[Z_PRINTF_BUFSIZE]; - va_list va; - int len; - - buf[sizeof(buf) - 1] = 0; - va_start(va, format); -#ifdef NO_vsnprintf -# ifdef HAS_vsprintf_void - (void)vsprintf(buf, format, va); - va_end(va); - for (len = 0; len < sizeof(buf); len++) - if (buf[len] == 0) break; -# else - len = vsprintf(buf, format, va); - va_end(va); -# endif -#else -# ifdef HAS_vsnprintf_void - (void)vsnprintf(buf, sizeof(buf), format, va); - va_end(va); - len = strlen(buf); -# else - len = vsnprintf(buf, sizeof(buf), format, va); - va_end(va); -# endif -#endif - if (len <= 0 || len >= (int)sizeof(buf) || buf[sizeof(buf) - 1] != 0) - return 0; - return gzwrite(file, buf, (unsigned)len); -} -#else /* not ANSI C */ - -int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, - a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) - gzFile file; - const char *format; - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, - a11, a12, a13, a14, a15, a16, a17, a18, a19, a20; -{ - char buf[Z_PRINTF_BUFSIZE]; - int len; - - buf[sizeof(buf) - 1] = 0; -#ifdef NO_snprintf -# ifdef HAS_sprintf_void - sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); - for (len = 0; len < sizeof(buf); len++) - if (buf[len] == 0) break; -# else - len = sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -# endif -#else -# ifdef HAS_snprintf_void - snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); - len = strlen(buf); -# else - len = snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -# endif -#endif - if (len <= 0 || len >= sizeof(buf) || buf[sizeof(buf) - 1] != 0) - return 0; - return gzwrite(file, buf, len); -} -#endif - -/* =========================================================================== - Writes c, converted to an unsigned char, into the compressed file. - gzputc returns the value that was written, or -1 in case of error. -*/ -int ZEXPORT gzputc(file, c) - gzFile file; - int c; -{ - unsigned char cc = (unsigned char) c; /* required for big endian systems */ - - return gzwrite(file, &cc, 1) == 1 ? (int)cc : -1; -} - - -/* =========================================================================== - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - gzputs returns the number of characters written, or -1 in case of error. -*/ -int ZEXPORT gzputs(file, s) - gzFile file; - const char *s; -{ - return gzwrite(file, (char*)s, (unsigned)strlen(s)); -} - - -/* =========================================================================== - Flushes all pending output into the compressed file. The parameter - flush is as in the deflate() function. -*/ -local int do_flush (file, flush) - gzFile file; - int flush; -{ - uInt len; - int done = 0; - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR; - - s->stream.avail_in = 0; /* should be zero already anyway */ - - for (;;) { - len = Z_BUFSIZE - s->stream.avail_out; - - if (len != 0) { - if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) { - s->z_err = Z_ERRNO; - return Z_ERRNO; - } - s->stream.next_out = s->outbuf; - s->stream.avail_out = Z_BUFSIZE; - } - if (done) break; - s->out += s->stream.avail_out; - s->z_err = deflate(&(s->stream), flush); - s->out -= s->stream.avail_out; - - /* Ignore the second of two consecutive flushes: */ - if (len == 0 && s->z_err == Z_BUF_ERROR) s->z_err = Z_OK; - - /* deflate has finished flushing only when it hasn't used up - * all the available space in the output buffer: - */ - done = (s->stream.avail_out != 0 || s->z_err == Z_STREAM_END); - - if (s->z_err != Z_OK && s->z_err != Z_STREAM_END) break; - } - return s->z_err == Z_STREAM_END ? Z_OK : s->z_err; -} - -int ZEXPORT gzflush (file, flush) - gzFile file; - int flush; -{ - gz_stream *s = (gz_stream*)file; - int err = do_flush (file, flush); - - if (err) return err; - fflush(s->file); - return s->z_err == Z_STREAM_END ? Z_OK : s->z_err; -} -#endif /* NO_GZCOMPRESS */ - -/* =========================================================================== - Sets the starting position for the next gzread or gzwrite on the given - compressed file. The offset represents a number of bytes in the - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error. - SEEK_END is not implemented, returns error. - In this version of the library, gzseek can be extremely slow. -*/ -z_off_t ZEXPORT gzseek (file, offset, whence) - gzFile file; - z_off_t offset; - int whence; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || whence == SEEK_END || - s->z_err == Z_ERRNO || s->z_err == Z_DATA_ERROR) { - return -1L; - } - - if (s->mode == 'w') { -#ifdef NO_GZCOMPRESS - return -1L; -#else - if (whence == SEEK_SET) { - offset -= s->in; - } - if (offset < 0) return -1L; - - /* At this point, offset is the number of zero bytes to write. */ - if (s->inbuf == Z_NULL) { - s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); /* for seeking */ - if (s->inbuf == Z_NULL) return -1L; - zmemzero(s->inbuf, Z_BUFSIZE); - } - while (offset > 0) { - uInt size = Z_BUFSIZE; - if (offset < Z_BUFSIZE) size = (uInt)offset; - - size = gzwrite(file, s->inbuf, size); - if (size == 0) return -1L; - - offset -= size; - } - return s->in; -#endif - } - /* Rest of function is for reading only */ - - /* compute absolute position */ - if (whence == SEEK_CUR) { - offset += s->out; - } - if (offset < 0) return -1L; - - if (s->transparent) { - /* map to fseek */ - s->back = EOF; - s->stream.avail_in = 0; - s->stream.next_in = s->inbuf; - if (fseek(s->file, offset, SEEK_SET) < 0) return -1L; - - s->in = s->out = offset; - return offset; - } - - /* For a negative seek, rewind and use positive seek */ - if (offset >= s->out) { - offset -= s->out; - } else if (gzrewind(file) < 0) { - return -1L; - } - /* offset is now the number of bytes to skip. */ - - if (offset != 0 && s->outbuf == Z_NULL) { - s->outbuf = (Byte*)ALLOC(Z_BUFSIZE); - if (s->outbuf == Z_NULL) return -1L; - } - if (offset && s->back != EOF) { - s->back = EOF; - s->out++; - offset--; - if (s->last) s->z_err = Z_STREAM_END; - } - while (offset > 0) { - int size = Z_BUFSIZE; - if (offset < Z_BUFSIZE) size = (int)offset; - - size = gzread(file, s->outbuf, (uInt)size); - if (size <= 0) return -1L; - offset -= size; - } - return s->out; -} - -/* =========================================================================== - Rewinds input file. -*/ -int ZEXPORT gzrewind (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'r') return -1; - - s->z_err = Z_OK; - s->z_eof = 0; - s->back = EOF; - s->stream.avail_in = 0; - s->stream.next_in = s->inbuf; - s->crc = crc32(0L, Z_NULL, 0); - if (!s->transparent) (void)inflateReset(&s->stream); - s->in = 0; - s->out = 0; - return fseek(s->file, s->start, SEEK_SET); -} - -/* =========================================================================== - Returns the starting position for the next gzread or gzwrite on the - given compressed file. This position represents a number of bytes in the - uncompressed data stream. -*/ -z_off_t ZEXPORT gztell (file) - gzFile file; -{ - return gzseek(file, 0L, SEEK_CUR); -} - -/* =========================================================================== - Returns 1 when EOF has previously been detected reading the given - input stream, otherwise zero. -*/ -int ZEXPORT gzeof (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - /* With concatenated compressed files that can have embedded - * crc trailers, z_eof is no longer the only/best indicator of EOF - * on a gz_stream. Handle end-of-stream error explicitly here. - */ - if (s == NULL || s->mode != 'r') return 0; - if (s->z_eof) return 1; - return s->z_err == Z_STREAM_END; -} - -/* =========================================================================== - Returns 1 if reading and doing so transparently, otherwise zero. -*/ -int ZEXPORT gzdirect (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL || s->mode != 'r') return 0; - return s->transparent; -} - -/* =========================================================================== - Outputs a long in LSB order to the given file -*/ -local void putLong (file, x) - FILE *file; - uLong x; -{ - int n; - for (n = 0; n < 4; n++) { - fputc((int)(x & 0xff), file); - x >>= 8; - } -} - -/* =========================================================================== - Reads a long in LSB order from the given gz_stream. Sets z_err in case - of error. -*/ -local uLong getLong (s) - gz_stream *s; -{ - uLong x = (uLong)get_byte(s); - int c; - - x += ((uLong)get_byte(s))<<8; - x += ((uLong)get_byte(s))<<16; - c = get_byte(s); - if (c == EOF) s->z_err = Z_DATA_ERROR; - x += ((uLong)c)<<24; - return x; -} - -/* =========================================================================== - Flushes all pending output if necessary, closes the compressed file - and deallocates all the (de)compression state. -*/ -int ZEXPORT gzclose (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL) return Z_STREAM_ERROR; - - if (s->mode == 'w') { -#ifdef NO_GZCOMPRESS - return Z_STREAM_ERROR; -#else - if (do_flush (file, Z_FINISH) != Z_OK) - return destroy((gz_stream*)file); - - putLong (s->file, s->crc); - putLong (s->file, (uLong)(s->in & 0xffffffff)); -#endif - } - return destroy((gz_stream*)file); -} - -#ifdef STDC -# define zstrerror(errnum) strerror(errnum) -#else -# define zstrerror(errnum) "" -#endif - -/* =========================================================================== - Returns the error message for the last error which occurred on the - given compressed file. errnum is set to zlib error number. If an - error occurred in the file system and not in the compression library, - errnum is set to Z_ERRNO and the application may consult errno - to get the exact error code. -*/ -const char * ZEXPORT gzerror (file, errnum) - gzFile file; - int *errnum; -{ - char *m; - gz_stream *s = (gz_stream*)file; - - if (s == NULL) { - *errnum = Z_STREAM_ERROR; - return (const char*)ERR_MSG(Z_STREAM_ERROR); - } - *errnum = s->z_err; - if (*errnum == Z_OK) return (const char*)""; - - m = (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg); - - if (m == NULL || *m == '\0') m = (char*)ERR_MSG(s->z_err); - - TRYFREE(s->msg); - s->msg = (char*)ALLOC(strlen(s->path) + strlen(m) + 3); - if (s->msg == Z_NULL) return (const char*)ERR_MSG(Z_MEM_ERROR); - strcpy(s->msg, s->path); - strcat(s->msg, ": "); - strcat(s->msg, m); - return (const char*)s->msg; -} - -/* =========================================================================== - Clear the error and end-of-file flags, and do the same for the real file. -*/ -void ZEXPORT gzclearerr (file) - gzFile file; -{ - gz_stream *s = (gz_stream*)file; - - if (s == NULL) return; - if (s->z_err != Z_STREAM_END) s->z_err = Z_OK; - s->z_eof = 0; - clearerr(s->file); -} diff --git a/3rdparty/openctm/tools/zlib/infback.c b/3rdparty/openctm/tools/zlib/infback.c deleted file mode 100644 index 455dbc9ee..000000000 --- a/3rdparty/openctm/tools/zlib/infback.c +++ /dev/null @@ -1,623 +0,0 @@ -/* infback.c -- inflate using a call-back interface - * Copyright (C) 1995-2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - This code is largely copied from inflate.c. Normally either infback.o or - inflate.o would be linked into an application--not both. The interface - with inffast.c is retained so that optimized assembler-coded versions of - inflate_fast() can be used with either inflate.c or infback.c. - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* function prototypes */ -local void fixedtables OF((struct inflate_state FAR *state)); - -/* - strm provides memory allocation functions in zalloc and zfree, or - Z_NULL to use the library memory allocation functions. - - windowBits is in the range 8..15, and window is a user-supplied - window and output buffer that is 2**windowBits bytes. - */ -int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size) -z_streamp strm; -int windowBits; -unsigned char FAR *window; -const char *version; -int stream_size; -{ - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL || window == Z_NULL || - windowBits < 8 || windowBits > 15) - return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; - } - if (strm->zfree == (free_func)0) strm->zfree = zcfree; - state = (struct inflate_state FAR *)ZALLOC(strm, 1, - sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (struct internal_state FAR *)state; - state->dmax = 32768U; - state->wbits = windowBits; - state->wsize = 1U << windowBits; - state->window = window; - state->write = 0; - state->whave = 0; - return Z_OK; -} - -/* - Return state with length and distance decoding tables and index sizes set to - fixed code decoding. Normally this returns fixed tables from inffixed.h. - If BUILDFIXED is defined, then instead this routine builds the tables the - first time it's called, and returns those tables the first time and - thereafter. This reduces the size of the code by about 2K bytes, in - exchange for a little execution time. However, BUILDFIXED should not be - used for threaded applications, since the rewriting of the tables and virgin - may not be thread-safe. - */ -local void fixedtables(state) -struct inflate_state FAR *state; -{ -#ifdef BUILDFIXED - static int virgin = 1; - static code *lenfix, *distfix; - static code fixed[544]; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - unsigned sym, bits; - static code *next; - - /* literal/length table */ - sym = 0; - while (sym < 144) state->lens[sym++] = 8; - while (sym < 256) state->lens[sym++] = 9; - while (sym < 280) state->lens[sym++] = 7; - while (sym < 288) state->lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); - - /* distance table */ - sym = 0; - while (sym < 32) state->lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); - - /* do this just once */ - virgin = 0; - } -#else /* !BUILDFIXED */ -# include "inffixed.h" -#endif /* BUILDFIXED */ - state->lencode = lenfix; - state->lenbits = 9; - state->distcode = distfix; - state->distbits = 5; -} - -/* Macros for inflateBack(): */ - -/* Load returned state from inflate_fast() */ -#define LOAD() \ - do { \ - put = strm->next_out; \ - left = strm->avail_out; \ - next = strm->next_in; \ - have = strm->avail_in; \ - hold = state->hold; \ - bits = state->bits; \ - } while (0) - -/* Set state from registers for inflate_fast() */ -#define RESTORE() \ - do { \ - strm->next_out = put; \ - strm->avail_out = left; \ - strm->next_in = next; \ - strm->avail_in = have; \ - state->hold = hold; \ - state->bits = bits; \ - } while (0) - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Assure that some input is available. If input is requested, but denied, - then return a Z_BUF_ERROR from inflateBack(). */ -#define PULL() \ - do { \ - if (have == 0) { \ - have = in(in_desc, &next); \ - if (have == 0) { \ - next = Z_NULL; \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflateBack() - with an error if there is no input available. */ -#define PULLBYTE() \ - do { \ - PULL(); \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflateBack() with - an error. */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n < 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Assure that some output space is available, by writing out the window - if it's full. If the write fails, return from inflateBack() with a - Z_BUF_ERROR. */ -#define ROOM() \ - do { \ - if (left == 0) { \ - put = state->window; \ - left = state->wsize; \ - state->whave = left; \ - if (out(out_desc, put, left)) { \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* - strm provides the memory allocation functions and window buffer on input, - and provides information on the unused input on return. For Z_DATA_ERROR - returns, strm will also provide an error message. - - in() and out() are the call-back input and output functions. When - inflateBack() needs more input, it calls in(). When inflateBack() has - filled the window with output, or when it completes with data in the - window, it calls out() to write out the data. The application must not - change the provided input until in() is called again or inflateBack() - returns. The application must not change the window/output buffer until - inflateBack() returns. - - in() and out() are called with a descriptor parameter provided in the - inflateBack() call. This parameter can be a structure that provides the - information required to do the read or write, as well as accumulated - information on the input and output such as totals and check values. - - in() should return zero on failure. out() should return non-zero on - failure. If either in() or out() fails, than inflateBack() returns a - Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it - was in() or out() that caused in the error. Otherwise, inflateBack() - returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format - error, or Z_MEM_ERROR if it could not allocate memory for the state. - inflateBack() can also return Z_STREAM_ERROR if the input parameters - are not correct, i.e. strm is Z_NULL or the state was not initialized. - */ -int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) -z_streamp strm; -in_func in; -void FAR *in_desc; -out_func out; -void FAR *out_desc; -{ - struct inflate_state FAR *state; - unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have, left; /* available input and output */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code this; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - /* Check that the strm exists and that the state was initialized */ - if (strm == Z_NULL || strm->state == Z_NULL) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - - /* Reset the state */ - strm->msg = Z_NULL; - state->mode = TYPE; - state->last = 0; - state->whave = 0; - next = strm->next_in; - have = next != Z_NULL ? strm->avail_in : 0; - hold = 0; - bits = 0; - put = state->window; - left = state->wsize; - - /* Inflate until end of block marked as last */ - for (;;) - switch (state->mode) { - case TYPE: - /* determine and dispatch block type */ - if (state->last) { - BYTEBITS(); - state->mode = DONE; - break; - } - NEEDBITS(3); - state->last = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - state->last ? " (last)" : "")); - state->mode = STORED; - break; - case 1: /* fixed block */ - fixedtables(state); - Tracev((stderr, "inflate: fixed codes block%s\n", - state->last ? " (last)" : "")); - state->mode = LEN; /* decode codes */ - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - state->last ? " (last)" : "")); - state->mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - state->mode = BAD; - } - DROPBITS(2); - break; - - case STORED: - /* get and verify stored block length */ - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - state->mode = BAD; - break; - } - state->length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %u\n", - state->length)); - INITBITS(); - - /* copy stored block from input to output */ - while (state->length != 0) { - copy = state->length; - PULL(); - ROOM(); - if (copy > have) copy = have; - if (copy > left) copy = left; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - state->length -= copy; - } - Tracev((stderr, "inflate: stored end\n")); - state->mode = TYPE; - break; - - case TABLE: - /* get dynamic table entries descriptor */ - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); -#ifndef PKZIP_BUG_WORKAROUND - if (state->nlen > 286 || state->ndist > 30) { - strm->msg = (char *)"too many length or distance symbols"; - state->mode = BAD; - break; - } -#endif - Tracev((stderr, "inflate: table sizes ok\n")); - - /* get code length code lengths (not a typo) */ - state->have = 0; - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 7; - ret = inflate_table(CODES, state->lens, 19, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - - /* get length and distance code code lengths */ - state->have = 0; - while (state->have < state->nlen + state->ndist) { - for (;;) { - this = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if (this.val < 16) { - NEEDBITS(this.bits); - DROPBITS(this.bits); - state->lens[state->have++] = this.val; - } - else { - if (this.val == 16) { - NEEDBITS(this.bits + 2); - DROPBITS(this.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - len = (unsigned)(state->lens[state->have - 1]); - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (this.val == 17) { - NEEDBITS(this.bits + 3); - DROPBITS(this.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(this.bits + 7); - DROPBITS(this.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (state->mode == BAD) break; - - /* build code tables */ - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 9; - ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - state->mode = BAD; - break; - } - state->distcode = (code const FAR *)(state->next); - state->distbits = 6; - ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - &(state->next), &(state->distbits), state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - state->mode = LEN; - - case LEN: - /* use inflate_fast() if we have enough input and output */ - if (have >= 6 && left >= 258) { - RESTORE(); - if (state->whave < state->wsize) - state->whave = state->wsize - left; - inflate_fast(strm, state->wsize); - LOAD(); - break; - } - - /* get a literal, length, or end-of-block code */ - for (;;) { - this = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if (this.op && (this.op & 0xf0) == 0) { - last = this; - for (;;) { - this = state->lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + this.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(this.bits); - state->length = (unsigned)this.val; - - /* process literal */ - if (this.op == 0) { - Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", this.val)); - ROOM(); - *put++ = (unsigned char)(state->length); - left--; - state->mode = LEN; - break; - } - - /* process end of block */ - if (this.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - state->mode = TYPE; - break; - } - - /* invalid code */ - if (this.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - - /* length code -- get extra bits, if any */ - state->extra = (unsigned)(this.op) & 15; - if (state->extra != 0) { - NEEDBITS(state->extra); - state->length += BITS(state->extra); - DROPBITS(state->extra); - } - Tracevv((stderr, "inflate: length %u\n", state->length)); - - /* get distance code */ - for (;;) { - this = state->distcode[BITS(state->distbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if ((this.op & 0xf0) == 0) { - last = this; - for (;;) { - this = state->distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + this.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(this.bits); - if (this.op & 64) { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - state->offset = (unsigned)this.val; - - /* get distance extra bits, if any */ - state->extra = (unsigned)(this.op) & 15; - if (state->extra != 0) { - NEEDBITS(state->extra); - state->offset += BITS(state->extra); - DROPBITS(state->extra); - } - if (state->offset > state->wsize - (state->whave < state->wsize ? - left : 0)) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } - Tracevv((stderr, "inflate: distance %u\n", state->offset)); - - /* copy match from window to output */ - do { - ROOM(); - copy = state->wsize - state->offset; - if (copy < left) { - from = put + copy; - copy = left - copy; - } - else { - from = put - state->offset; - copy = left; - } - if (copy > state->length) copy = state->length; - state->length -= copy; - left -= copy; - do { - *put++ = *from++; - } while (--copy); - } while (state->length != 0); - break; - - case DONE: - /* inflate stream terminated properly -- write leftover output */ - ret = Z_STREAM_END; - if (left < state->wsize) { - if (out(out_desc, state->window, state->wsize - left)) - ret = Z_BUF_ERROR; - } - goto inf_leave; - - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - - default: /* can't happen, but makes compilers happy */ - ret = Z_STREAM_ERROR; - goto inf_leave; - } - - /* Return unused input */ - inf_leave: - strm->next_in = next; - strm->avail_in = have; - return ret; -} - -int ZEXPORT inflateBackEnd(strm) -z_streamp strm; -{ - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} diff --git a/3rdparty/openctm/tools/zlib/inffast.c b/3rdparty/openctm/tools/zlib/inffast.c deleted file mode 100644 index bbee92ed1..000000000 --- a/3rdparty/openctm/tools/zlib/inffast.c +++ /dev/null @@ -1,318 +0,0 @@ -/* inffast.c -- fast decoding - * Copyright (C) 1995-2004 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -#ifndef ASMINF - -/* Allow machine dependent optimization for post-increment or pre-increment. - Based on testing to date, - Pre-increment preferred for: - - PowerPC G3 (Adler) - - MIPS R5000 (Randers-Pehrson) - Post-increment preferred for: - - none - No measurable difference: - - Pentium III (Anderson) - - M68060 (Nikl) - */ -#ifdef POSTINC -# define OFF 0 -# define PUP(a) *(a)++ -#else -# define OFF 1 -# define PUP(a) *++(a) -#endif - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ -void inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - unsigned char FAR *in; /* local strm->next_in */ - unsigned char FAR *last; /* while in < last, enough input available */ - unsigned char FAR *out; /* local strm->next_out */ - unsigned char FAR *beg; /* inflate()'s initial strm->next_out */ - unsigned char FAR *end; /* while out < end, enough space available */ -#ifdef INFLATE_STRICT - unsigned dmax; /* maximum distance from zlib header */ -#endif - unsigned wsize; /* window size or zero if not using window */ - unsigned whave; /* valid bytes in the window */ - unsigned write; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */ - unsigned long hold; /* local strm->hold */ - unsigned bits; /* local strm->bits */ - code const FAR *lcode; /* local strm->lencode */ - code const FAR *dcode; /* local strm->distcode */ - unsigned lmask; /* mask for first level of length codes */ - unsigned dmask; /* mask for first level of distance codes */ - code this; /* retrieved table entry */ - unsigned op; /* code bits, operation, extra bits, or */ - /* window position, window bytes to copy */ - unsigned len; /* match length, unused bytes */ - unsigned dist; /* match distance */ - unsigned char FAR *from; /* where to copy match from */ - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - in = strm->next_in - OFF; - last = in + (strm->avail_in - 5); - out = strm->next_out - OFF; - beg = out - (start - strm->avail_out); - end = out + (strm->avail_out - 257); -#ifdef INFLATE_STRICT - dmax = state->dmax; -#endif - wsize = state->wsize; - whave = state->whave; - write = state->write; - window = state->window; - hold = state->hold; - bits = state->bits; - lcode = state->lencode; - dcode = state->distcode; - lmask = (1U << state->lenbits) - 1; - dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - do { - if (bits < 15) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - this = lcode[hold & lmask]; - dolen: - op = (unsigned)(this.bits); - hold >>= op; - bits -= op; - op = (unsigned)(this.op); - if (op == 0) { /* literal */ - Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", this.val)); - PUP(out) = (unsigned char)(this.val); - } - else if (op & 16) { /* length base */ - len = (unsigned)(this.val); - op &= 15; /* number of extra bits */ - if (op) { - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - len += (unsigned)hold & ((1U << op) - 1); - hold >>= op; - bits -= op; - } - Tracevv((stderr, "inflate: length %u\n", len)); - if (bits < 15) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - this = dcode[hold & dmask]; - dodist: - op = (unsigned)(this.bits); - hold >>= op; - bits -= op; - op = (unsigned)(this.op); - if (op & 16) { /* distance base */ - dist = (unsigned)(this.val); - op &= 15; /* number of extra bits */ - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - } - dist += (unsigned)hold & ((1U << op) - 1); -#ifdef INFLATE_STRICT - if (dist > dmax) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#endif - hold >>= op; - bits -= op; - Tracevv((stderr, "inflate: distance %u\n", dist)); - op = (unsigned)(out - beg); /* max distance in output */ - if (dist > op) { /* see if copy from window */ - op = dist - op; /* distance back in window */ - if (op > whave) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } - from = window - OFF; - if (write == 0) { /* very common case */ - from += wsize - op; - if (op < len) { /* some from window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - else if (write < op) { /* wrap around window */ - from += wsize + write - op; - op -= write; - if (op < len) { /* some from end of window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = window - OFF; - if (write < len) { /* some from start of window */ - op = write; - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - } - else { /* contiguous in window */ - from += write - op; - if (op < len) { /* some from window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - while (len > 2) { - PUP(out) = PUP(from); - PUP(out) = PUP(from); - PUP(out) = PUP(from); - len -= 3; - } - if (len) { - PUP(out) = PUP(from); - if (len > 1) - PUP(out) = PUP(from); - } - } - else { - from = out - dist; /* copy direct from output */ - do { /* minimum length is three */ - PUP(out) = PUP(from); - PUP(out) = PUP(from); - PUP(out) = PUP(from); - len -= 3; - } while (len > 2); - if (len) { - PUP(out) = PUP(from); - if (len > 1) - PUP(out) = PUP(from); - } - } - } - else if ((op & 64) == 0) { /* 2nd level distance code */ - this = dcode[this.val + (hold & ((1U << op) - 1))]; - goto dodist; - } - else { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - } - else if ((op & 64) == 0) { /* 2nd level length code */ - this = lcode[this.val + (hold & ((1U << op) - 1))]; - goto dolen; - } - else if (op & 32) { /* end-of-block */ - Tracevv((stderr, "inflate: end of block\n")); - state->mode = TYPE; - break; - } - else { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - } while (in < last && out < end); - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - len = bits >> 3; - in -= len; - bits -= len << 3; - hold &= (1U << bits) - 1; - - /* update state and return */ - strm->next_in = in + OFF; - strm->next_out = out + OFF; - strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last)); - strm->avail_out = (unsigned)(out < end ? - 257 + (end - out) : 257 - (out - end)); - state->hold = hold; - state->bits = bits; - return; -} - -/* - inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe): - - Using bit fields for code structure - - Different op definition to avoid & for extra bits (do & for table bits) - - Three separate decoding do-loops for direct, window, and write == 0 - - Special case for distance > 1 copies to do overlapped load and store copy - - Explicit branch predictions (based on measured branch probabilities) - - Deferring match copy and interspersed it with decoding subsequent codes - - Swapping literal/length else - - Swapping window/direct else - - Larger unrolled copy loops (three is about right) - - Moving len -= 3 statement into middle of loop - */ - -#endif /* !ASMINF */ diff --git a/3rdparty/openctm/tools/zlib/inffast.h b/3rdparty/openctm/tools/zlib/inffast.h deleted file mode 100644 index 1e88d2d97..000000000 --- a/3rdparty/openctm/tools/zlib/inffast.h +++ /dev/null @@ -1,11 +0,0 @@ -/* inffast.h -- header to use inffast.c - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -void inflate_fast OF((z_streamp strm, unsigned start)); diff --git a/3rdparty/openctm/tools/zlib/inffixed.h b/3rdparty/openctm/tools/zlib/inffixed.h deleted file mode 100644 index 75ed4b597..000000000 --- a/3rdparty/openctm/tools/zlib/inffixed.h +++ /dev/null @@ -1,94 +0,0 @@ - /* inffixed.h -- table for decoding fixed codes - * Generated automatically by makefixed(). - */ - - /* WARNING: this file should *not* be used by applications. It - is part of the implementation of the compression library and - is subject to change. Applications should only use zlib.h. - */ - - static const code lenfix[512] = { - {96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48}, - {0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128}, - {0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59}, - {0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176}, - {0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20}, - {21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100}, - {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8}, - {0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216}, - {18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76}, - {0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114}, - {0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2}, - {0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148}, - {20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42}, - {0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86}, - {0,8,22},{64,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15}, - {0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236}, - {16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62}, - {0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, - {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31}, - {0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162}, - {0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25}, - {0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105}, - {0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4}, - {0,8,85},{0,8,21},{16,8,258},{19,7,43},{0,8,117},{0,8,53},{0,9,202}, - {17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69}, - {0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125}, - {0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13}, - {0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195}, - {19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35}, - {0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91}, - {0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19}, - {0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246}, - {16,7,5},{0,8,87},{0,8,23},{64,8,0},{19,7,51},{0,8,119},{0,8,55}, - {0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135}, - {0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99}, - {0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190}, - {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16}, - {20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96}, - {0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6}, - {0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209}, - {17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72}, - {0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116}, - {0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4}, - {0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153}, - {20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44}, - {0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82}, - {0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11}, - {0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, - {16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58}, - {0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138}, - {0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{64,8,0},{19,7,51}, - {0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173}, - {0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30}, - {0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110}, - {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0}, - {0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195}, - {16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65}, - {0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121}, - {0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9}, - {0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{16,8,258}, - {19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37}, - {0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93}, - {0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23}, - {0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251}, - {16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51}, - {0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, - {0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67}, - {0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183}, - {0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23}, - {64,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103}, - {0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9}, - {0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223}, - {18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79}, - {0,9,255} - }; - - static const code distfix[32] = { - {16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025}, - {21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193}, - {18,5,9},{26,5,2049},{22,5,129},{64,5,0},{16,5,2},{23,5,385}, - {19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577}, - {16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073}, - {22,5,193},{64,5,0} - }; diff --git a/3rdparty/openctm/tools/zlib/inflate.c b/3rdparty/openctm/tools/zlib/inflate.c deleted file mode 100644 index 792fdee8e..000000000 --- a/3rdparty/openctm/tools/zlib/inflate.c +++ /dev/null @@ -1,1368 +0,0 @@ -/* inflate.c -- zlib decompression - * Copyright (C) 1995-2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * Change history: - * - * 1.2.beta0 24 Nov 2002 - * - First version -- complete rewrite of inflate to simplify code, avoid - * creation of window when not needed, minimize use of window when it is - * needed, make inffast.c even faster, implement gzip decoding, and to - * improve code readability and style over the previous zlib inflate code - * - * 1.2.beta1 25 Nov 2002 - * - Use pointers for available input and output checking in inffast.c - * - Remove input and output counters in inffast.c - * - Change inffast.c entry and loop from avail_in >= 7 to >= 6 - * - Remove unnecessary second byte pull from length extra in inffast.c - * - Unroll direct copy to three copies per loop in inffast.c - * - * 1.2.beta2 4 Dec 2002 - * - Change external routine names to reduce potential conflicts - * - Correct filename to inffixed.h for fixed tables in inflate.c - * - Make hbuf[] unsigned char to match parameter type in inflate.c - * - Change strm->next_out[-state->offset] to *(strm->next_out - state->offset) - * to avoid negation problem on Alphas (64 bit) in inflate.c - * - * 1.2.beta3 22 Dec 2002 - * - Add comments on state->bits assertion in inffast.c - * - Add comments on op field in inftrees.h - * - Fix bug in reuse of allocated window after inflateReset() - * - Remove bit fields--back to byte structure for speed - * - Remove distance extra == 0 check in inflate_fast()--only helps for lengths - * - Change post-increments to pre-increments in inflate_fast(), PPC biased? - * - Add compile time option, POSTINC, to use post-increments instead (Intel?) - * - Make MATCH copy in inflate() much faster for when inflate_fast() not used - * - Use local copies of stream next and avail values, as well as local bit - * buffer and bit count in inflate()--for speed when inflate_fast() not used - * - * 1.2.beta4 1 Jan 2003 - * - Split ptr - 257 statements in inflate_table() to avoid compiler warnings - * - Move a comment on output buffer sizes from inffast.c to inflate.c - * - Add comments in inffast.c to introduce the inflate_fast() routine - * - Rearrange window copies in inflate_fast() for speed and simplification - * - Unroll last copy for window match in inflate_fast() - * - Use local copies of window variables in inflate_fast() for speed - * - Pull out common write == 0 case for speed in inflate_fast() - * - Make op and len in inflate_fast() unsigned for consistency - * - Add FAR to lcode and dcode declarations in inflate_fast() - * - Simplified bad distance check in inflate_fast() - * - Added inflateBackInit(), inflateBack(), and inflateBackEnd() in new - * source file infback.c to provide a call-back interface to inflate for - * programs like gzip and unzip -- uses window as output buffer to avoid - * window copying - * - * 1.2.beta5 1 Jan 2003 - * - Improved inflateBack() interface to allow the caller to provide initial - * input in strm. - * - Fixed stored blocks bug in inflateBack() - * - * 1.2.beta6 4 Jan 2003 - * - Added comments in inffast.c on effectiveness of POSTINC - * - Typecasting all around to reduce compiler warnings - * - Changed loops from while (1) or do {} while (1) to for (;;), again to - * make compilers happy - * - Changed type of window in inflateBackInit() to unsigned char * - * - * 1.2.beta7 27 Jan 2003 - * - Changed many types to unsigned or unsigned short to avoid warnings - * - Added inflateCopy() function - * - * 1.2.0 9 Mar 2003 - * - Changed inflateBack() interface to provide separate opaque descriptors - * for the in() and out() functions - * - Changed inflateBack() argument and in_func typedef to swap the length - * and buffer address return values for the input function - * - Check next_in and next_out for Z_NULL on entry to inflate() - * - * The history for versions after 1.2.0 are in ChangeLog in zlib distribution. - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -#ifdef MAKEFIXED -# ifndef BUILDFIXED -# define BUILDFIXED -# endif -#endif - -/* function prototypes */ -local void fixedtables OF((struct inflate_state FAR *state)); -local int updatewindow OF((z_streamp strm, unsigned out)); -#ifdef BUILDFIXED - void makefixed OF((void)); -#endif -local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf, - unsigned len)); - -int ZEXPORT inflateReset(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - strm->total_in = strm->total_out = state->total = 0; - strm->msg = Z_NULL; - strm->adler = 1; /* to support ill-conceived Java test suite */ - state->mode = HEAD; - state->last = 0; - state->havedict = 0; - state->dmax = 32768U; - state->head = Z_NULL; - state->wsize = 0; - state->whave = 0; - state->write = 0; - state->hold = 0; - state->bits = 0; - state->lencode = state->distcode = state->next = state->codes; - Tracev((stderr, "inflate: reset\n")); - return Z_OK; -} - -int ZEXPORT inflatePrime(strm, bits, value) -z_streamp strm; -int bits; -int value; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - value &= (1L << bits) - 1; - state->hold += value << state->bits; - state->bits += bits; - return Z_OK; -} - -int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size) -z_streamp strm; -int windowBits; -const char *version; -int stream_size; -{ - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL) return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; - } - if (strm->zfree == (free_func)0) strm->zfree = zcfree; - state = (struct inflate_state FAR *) - ZALLOC(strm, 1, sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (struct internal_state FAR *)state; - if (windowBits < 0) { - state->wrap = 0; - windowBits = -windowBits; - } - else { - state->wrap = (windowBits >> 4) + 1; -#ifdef GUNZIP - if (windowBits < 48) windowBits &= 15; -#endif - } - if (windowBits < 8 || windowBits > 15) { - ZFREE(strm, state); - strm->state = Z_NULL; - return Z_STREAM_ERROR; - } - state->wbits = (unsigned)windowBits; - state->window = Z_NULL; - return inflateReset(strm); -} - -int ZEXPORT inflateInit_(strm, version, stream_size) -z_streamp strm; -const char *version; -int stream_size; -{ - return inflateInit2_(strm, DEF_WBITS, version, stream_size); -} - -/* - Return state with length and distance decoding tables and index sizes set to - fixed code decoding. Normally this returns fixed tables from inffixed.h. - If BUILDFIXED is defined, then instead this routine builds the tables the - first time it's called, and returns those tables the first time and - thereafter. This reduces the size of the code by about 2K bytes, in - exchange for a little execution time. However, BUILDFIXED should not be - used for threaded applications, since the rewriting of the tables and virgin - may not be thread-safe. - */ -local void fixedtables(state) -struct inflate_state FAR *state; -{ -#ifdef BUILDFIXED - static int virgin = 1; - static code *lenfix, *distfix; - static code fixed[544]; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - unsigned sym, bits; - static code *next; - - /* literal/length table */ - sym = 0; - while (sym < 144) state->lens[sym++] = 8; - while (sym < 256) state->lens[sym++] = 9; - while (sym < 280) state->lens[sym++] = 7; - while (sym < 288) state->lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); - - /* distance table */ - sym = 0; - while (sym < 32) state->lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); - - /* do this just once */ - virgin = 0; - } -#else /* !BUILDFIXED */ -# include "inffixed.h" -#endif /* BUILDFIXED */ - state->lencode = lenfix; - state->lenbits = 9; - state->distcode = distfix; - state->distbits = 5; -} - -#ifdef MAKEFIXED -#include - -/* - Write out the inffixed.h that is #include'd above. Defining MAKEFIXED also - defines BUILDFIXED, so the tables are built on the fly. makefixed() writes - those tables to stdout, which would be piped to inffixed.h. A small program - can simply call makefixed to do this: - - void makefixed(void); - - int main(void) - { - makefixed(); - return 0; - } - - Then that can be linked with zlib built with MAKEFIXED defined and run: - - a.out > inffixed.h - */ -void makefixed() -{ - unsigned low, size; - struct inflate_state state; - - fixedtables(&state); - puts(" /* inffixed.h -- table for decoding fixed codes"); - puts(" * Generated automatically by makefixed()."); - puts(" */"); - puts(""); - puts(" /* WARNING: this file should *not* be used by applications."); - puts(" It is part of the implementation of this library and is"); - puts(" subject to change. Applications should only use zlib.h."); - puts(" */"); - puts(""); - size = 1U << 9; - printf(" static const code lenfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 7) == 0) printf("\n "); - printf("{%u,%u,%d}", state.lencode[low].op, state.lencode[low].bits, - state.lencode[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); - size = 1U << 5; - printf("\n static const code distfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 6) == 0) printf("\n "); - printf("{%u,%u,%d}", state.distcode[low].op, state.distcode[low].bits, - state.distcode[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); -} -#endif /* MAKEFIXED */ - -/* - Update the window with the last wsize (normally 32K) bytes written before - returning. If window does not exist yet, create it. This is only called - when a window is already in use, or when output has been written during this - inflate call, but the end of the deflate stream has not been reached yet. - It is also called to create a window for dictionary data when a dictionary - is loaded. - - Providing output buffers larger than 32K to inflate() should provide a speed - advantage, since only the last 32K of output is copied to the sliding window - upon return from inflate(), and since all distances after the first 32K of - output will fall in the output data, making match copies simpler and faster. - The advantage may be dependent on the size of the processor's data caches. - */ -local int updatewindow(strm, out) -z_streamp strm; -unsigned out; -{ - struct inflate_state FAR *state; - unsigned copy, dist; - - state = (struct inflate_state FAR *)strm->state; - - /* if it hasn't been done already, allocate space for the window */ - if (state->window == Z_NULL) { - state->window = (unsigned char FAR *) - ZALLOC(strm, 1U << state->wbits, - sizeof(unsigned char)); - if (state->window == Z_NULL) return 1; - } - - /* if window not in use yet, initialize */ - if (state->wsize == 0) { - state->wsize = 1U << state->wbits; - state->write = 0; - state->whave = 0; - } - - /* copy state->wsize or less output bytes into the circular window */ - copy = out - strm->avail_out; - if (copy >= state->wsize) { - zmemcpy(state->window, strm->next_out - state->wsize, state->wsize); - state->write = 0; - state->whave = state->wsize; - } - else { - dist = state->wsize - state->write; - if (dist > copy) dist = copy; - zmemcpy(state->window + state->write, strm->next_out - copy, dist); - copy -= dist; - if (copy) { - zmemcpy(state->window, strm->next_out - copy, copy); - state->write = copy; - state->whave = state->wsize; - } - else { - state->write += dist; - if (state->write == state->wsize) state->write = 0; - if (state->whave < state->wsize) state->whave += dist; - } - } - return 0; -} - -/* Macros for inflate(): */ - -/* check function to use adler32() for zlib or crc32() for gzip */ -#ifdef GUNZIP -# define UPDATE(check, buf, len) \ - (state->flags ? crc32(check, buf, len) : adler32(check, buf, len)) -#else -# define UPDATE(check, buf, len) adler32(check, buf, len) -#endif - -/* check macros for header crc */ -#ifdef GUNZIP -# define CRC2(check, word) \ - do { \ - hbuf[0] = (unsigned char)(word); \ - hbuf[1] = (unsigned char)((word) >> 8); \ - check = crc32(check, hbuf, 2); \ - } while (0) - -# define CRC4(check, word) \ - do { \ - hbuf[0] = (unsigned char)(word); \ - hbuf[1] = (unsigned char)((word) >> 8); \ - hbuf[2] = (unsigned char)((word) >> 16); \ - hbuf[3] = (unsigned char)((word) >> 24); \ - check = crc32(check, hbuf, 4); \ - } while (0) -#endif - -/* Load registers with state in inflate() for speed */ -#define LOAD() \ - do { \ - put = strm->next_out; \ - left = strm->avail_out; \ - next = strm->next_in; \ - have = strm->avail_in; \ - hold = state->hold; \ - bits = state->bits; \ - } while (0) - -/* Restore state from registers in inflate() */ -#define RESTORE() \ - do { \ - strm->next_out = put; \ - strm->avail_out = left; \ - strm->next_in = next; \ - strm->avail_in = have; \ - state->hold = hold; \ - state->bits = bits; \ - } while (0) - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflate() - if there is no input available. */ -#define PULLBYTE() \ - do { \ - if (have == 0) goto inf_leave; \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflate(). */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n < 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Reverse the bytes in a 32-bit value */ -#define REVERSE(q) \ - ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ - (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) - -/* - inflate() uses a state machine to process as much input data and generate as - much output data as possible before returning. The state machine is - structured roughly as follows: - - for (;;) switch (state) { - ... - case STATEn: - if (not enough input data or output space to make progress) - return; - ... make progress ... - state = STATEm; - break; - ... - } - - so when inflate() is called again, the same case is attempted again, and - if the appropriate resources are provided, the machine proceeds to the - next state. The NEEDBITS() macro is usually the way the state evaluates - whether it can proceed or should return. NEEDBITS() does the return if - the requested bits are not available. The typical use of the BITS macros - is: - - NEEDBITS(n); - ... do something with BITS(n) ... - DROPBITS(n); - - where NEEDBITS(n) either returns from inflate() if there isn't enough - input left to load n bits into the accumulator, or it continues. BITS(n) - gives the low n bits in the accumulator. When done, DROPBITS(n) drops - the low n bits off the accumulator. INITBITS() clears the accumulator - and sets the number of available bits to zero. BYTEBITS() discards just - enough bits to put the accumulator on a byte boundary. After BYTEBITS() - and a NEEDBITS(8), then BITS(8) would return the next byte in the stream. - - NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return - if there is no input available. The decoding of variable length codes uses - PULLBYTE() directly in order to pull just enough bytes to decode the next - code, and no more. - - Some states loop until they get enough input, making sure that enough - state information is maintained to continue the loop where it left off - if NEEDBITS() returns in the loop. For example, want, need, and keep - would all have to actually be part of the saved state in case NEEDBITS() - returns: - - case STATEw: - while (want < need) { - NEEDBITS(n); - keep[want++] = BITS(n); - DROPBITS(n); - } - state = STATEx; - case STATEx: - - As shown above, if the next state is also the next case, then the break - is omitted. - - A state may also return if there is not enough output space available to - complete that state. Those states are copying stored data, writing a - literal byte, and copying a matching string. - - When returning, a "goto inf_leave" is used to update the total counters, - update the check value, and determine whether any progress has been made - during that inflate() call in order to return the proper return code. - Progress is defined as a change in either strm->avail_in or strm->avail_out. - When there is a window, goto inf_leave will update the window with the last - output written. If a goto inf_leave occurs in the middle of decompression - and there is no window currently, goto inf_leave will create one and copy - output to the window for the next call of inflate(). - - In this implementation, the flush parameter of inflate() only affects the - return code (per zlib.h). inflate() always writes as much as possible to - strm->next_out, given the space available and the provided input--the effect - documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers - the allocation of and copying into a sliding window until necessary, which - provides the effect documented in zlib.h for Z_FINISH when the entire input - stream available. So the only thing the flush parameter actually does is: - when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it - will return Z_BUF_ERROR if it has not reached the end of the stream. - */ - -int ZEXPORT inflate(strm, flush) -z_streamp strm; -int flush; -{ - struct inflate_state FAR *state; - unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have, left; /* available input and output */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned in, out; /* save starting available input and output */ - unsigned copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code this; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ -#ifdef GUNZIP - unsigned char hbuf[4]; /* buffer for gzip header crc calculation */ -#endif - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL || - (strm->next_in == Z_NULL && strm->avail_in != 0)) - return Z_STREAM_ERROR; - - state = (struct inflate_state FAR *)strm->state; - if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */ - LOAD(); - in = have; - out = left; - ret = Z_OK; - for (;;) - switch (state->mode) { - case HEAD: - if (state->wrap == 0) { - state->mode = TYPEDO; - break; - } - NEEDBITS(16); -#ifdef GUNZIP - if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ - state->check = crc32(0L, Z_NULL, 0); - CRC2(state->check, hold); - INITBITS(); - state->mode = FLAGS; - break; - } - state->flags = 0; /* expect zlib header */ - if (state->head != Z_NULL) - state->head->done = -1; - if (!(state->wrap & 1) || /* check if zlib header allowed */ -#else - if ( -#endif - ((BITS(8) << 8) + (hold >> 8)) % 31) { - strm->msg = (char *)"incorrect header check"; - state->mode = BAD; - break; - } - if (BITS(4) != Z_DEFLATED) { - strm->msg = (char *)"unknown compression method"; - state->mode = BAD; - break; - } - DROPBITS(4); - len = BITS(4) + 8; - if (len > state->wbits) { - strm->msg = (char *)"invalid window size"; - state->mode = BAD; - break; - } - state->dmax = 1U << len; - Tracev((stderr, "inflate: zlib header ok\n")); - strm->adler = state->check = adler32(0L, Z_NULL, 0); - state->mode = hold & 0x200 ? DICTID : TYPE; - INITBITS(); - break; -#ifdef GUNZIP - case FLAGS: - NEEDBITS(16); - state->flags = (int)(hold); - if ((state->flags & 0xff) != Z_DEFLATED) { - strm->msg = (char *)"unknown compression method"; - state->mode = BAD; - break; - } - if (state->flags & 0xe000) { - strm->msg = (char *)"unknown header flags set"; - state->mode = BAD; - break; - } - if (state->head != Z_NULL) - state->head->text = (int)((hold >> 8) & 1); - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - state->mode = TIME; - case TIME: - NEEDBITS(32); - if (state->head != Z_NULL) - state->head->time = hold; - if (state->flags & 0x0200) CRC4(state->check, hold); - INITBITS(); - state->mode = OS; - case OS: - NEEDBITS(16); - if (state->head != Z_NULL) { - state->head->xflags = (int)(hold & 0xff); - state->head->os = (int)(hold >> 8); - } - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - state->mode = EXLEN; - case EXLEN: - if (state->flags & 0x0400) { - NEEDBITS(16); - state->length = (unsigned)(hold); - if (state->head != Z_NULL) - state->head->extra_len = (unsigned)hold; - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - } - else if (state->head != Z_NULL) - state->head->extra = Z_NULL; - state->mode = EXTRA; - case EXTRA: - if (state->flags & 0x0400) { - copy = state->length; - if (copy > have) copy = have; - if (copy) { - if (state->head != Z_NULL && - state->head->extra != Z_NULL) { - len = state->head->extra_len - state->length; - zmemcpy(state->head->extra + len, next, - len + copy > state->head->extra_max ? - state->head->extra_max - len : copy); - } - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - state->length -= copy; - } - if (state->length) goto inf_leave; - } - state->length = 0; - state->mode = NAME; - case NAME: - if (state->flags & 0x0800) { - if (have == 0) goto inf_leave; - copy = 0; - do { - len = (unsigned)(next[copy++]); - if (state->head != Z_NULL && - state->head->name != Z_NULL && - state->length < state->head->name_max) - state->head->name[state->length++] = len; - } while (len && copy < have); - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - if (len) goto inf_leave; - } - else if (state->head != Z_NULL) - state->head->name = Z_NULL; - state->length = 0; - state->mode = COMMENT; - case COMMENT: - if (state->flags & 0x1000) { - if (have == 0) goto inf_leave; - copy = 0; - do { - len = (unsigned)(next[copy++]); - if (state->head != Z_NULL && - state->head->comment != Z_NULL && - state->length < state->head->comm_max) - state->head->comment[state->length++] = len; - } while (len && copy < have); - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - if (len) goto inf_leave; - } - else if (state->head != Z_NULL) - state->head->comment = Z_NULL; - state->mode = HCRC; - case HCRC: - if (state->flags & 0x0200) { - NEEDBITS(16); - if (hold != (state->check & 0xffff)) { - strm->msg = (char *)"header crc mismatch"; - state->mode = BAD; - break; - } - INITBITS(); - } - if (state->head != Z_NULL) { - state->head->hcrc = (int)((state->flags >> 9) & 1); - state->head->done = 1; - } - strm->adler = state->check = crc32(0L, Z_NULL, 0); - state->mode = TYPE; - break; -#endif - case DICTID: - NEEDBITS(32); - strm->adler = state->check = REVERSE(hold); - INITBITS(); - state->mode = DICT; - case DICT: - if (state->havedict == 0) { - RESTORE(); - return Z_NEED_DICT; - } - strm->adler = state->check = adler32(0L, Z_NULL, 0); - state->mode = TYPE; - case TYPE: - if (flush == Z_BLOCK) goto inf_leave; - case TYPEDO: - if (state->last) { - BYTEBITS(); - state->mode = CHECK; - break; - } - NEEDBITS(3); - state->last = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - state->last ? " (last)" : "")); - state->mode = STORED; - break; - case 1: /* fixed block */ - fixedtables(state); - Tracev((stderr, "inflate: fixed codes block%s\n", - state->last ? " (last)" : "")); - state->mode = LEN; /* decode codes */ - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - state->last ? " (last)" : "")); - state->mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - state->mode = BAD; - } - DROPBITS(2); - break; - case STORED: - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - state->mode = BAD; - break; - } - state->length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %u\n", - state->length)); - INITBITS(); - state->mode = COPY; - case COPY: - copy = state->length; - if (copy) { - if (copy > have) copy = have; - if (copy > left) copy = left; - if (copy == 0) goto inf_leave; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - state->length -= copy; - break; - } - Tracev((stderr, "inflate: stored end\n")); - state->mode = TYPE; - break; - case TABLE: - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); -#ifndef PKZIP_BUG_WORKAROUND - if (state->nlen > 286 || state->ndist > 30) { - strm->msg = (char *)"too many length or distance symbols"; - state->mode = BAD; - break; - } -#endif - Tracev((stderr, "inflate: table sizes ok\n")); - state->have = 0; - state->mode = LENLENS; - case LENLENS: - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 7; - ret = inflate_table(CODES, state->lens, 19, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - state->have = 0; - state->mode = CODELENS; - case CODELENS: - while (state->have < state->nlen + state->ndist) { - for (;;) { - this = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if (this.val < 16) { - NEEDBITS(this.bits); - DROPBITS(this.bits); - state->lens[state->have++] = this.val; - } - else { - if (this.val == 16) { - NEEDBITS(this.bits + 2); - DROPBITS(this.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - len = state->lens[state->have - 1]; - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (this.val == 17) { - NEEDBITS(this.bits + 3); - DROPBITS(this.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(this.bits + 7); - DROPBITS(this.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (state->mode == BAD) break; - - /* build code tables */ - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 9; - ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - state->mode = BAD; - break; - } - state->distcode = (code const FAR *)(state->next); - state->distbits = 6; - ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - &(state->next), &(state->distbits), state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - state->mode = LEN; - case LEN: - if (have >= 6 && left >= 258) { - RESTORE(); - inflate_fast(strm, out); - LOAD(); - break; - } - for (;;) { - this = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if (this.op && (this.op & 0xf0) == 0) { - last = this; - for (;;) { - this = state->lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + this.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(this.bits); - state->length = (unsigned)this.val; - if ((int)(this.op) == 0) { - Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", this.val)); - state->mode = LIT; - break; - } - if (this.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - state->mode = TYPE; - break; - } - if (this.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - state->extra = (unsigned)(this.op) & 15; - state->mode = LENEXT; - case LENEXT: - if (state->extra) { - NEEDBITS(state->extra); - state->length += BITS(state->extra); - DROPBITS(state->extra); - } - Tracevv((stderr, "inflate: length %u\n", state->length)); - state->mode = DIST; - case DIST: - for (;;) { - this = state->distcode[BITS(state->distbits)]; - if ((unsigned)(this.bits) <= bits) break; - PULLBYTE(); - } - if ((this.op & 0xf0) == 0) { - last = this; - for (;;) { - this = state->distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + this.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(this.bits); - if (this.op & 64) { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - state->offset = (unsigned)this.val; - state->extra = (unsigned)(this.op) & 15; - state->mode = DISTEXT; - case DISTEXT: - if (state->extra) { - NEEDBITS(state->extra); - state->offset += BITS(state->extra); - DROPBITS(state->extra); - } -#ifdef INFLATE_STRICT - if (state->offset > state->dmax) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#endif - if (state->offset > state->whave + out - left) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } - Tracevv((stderr, "inflate: distance %u\n", state->offset)); - state->mode = MATCH; - case MATCH: - if (left == 0) goto inf_leave; - copy = out - left; - if (state->offset > copy) { /* copy from window */ - copy = state->offset - copy; - if (copy > state->write) { - copy -= state->write; - from = state->window + (state->wsize - copy); - } - else - from = state->window + (state->write - copy); - if (copy > state->length) copy = state->length; - } - else { /* copy from output */ - from = put - state->offset; - copy = state->length; - } - if (copy > left) copy = left; - left -= copy; - state->length -= copy; - do { - *put++ = *from++; - } while (--copy); - if (state->length == 0) state->mode = LEN; - break; - case LIT: - if (left == 0) goto inf_leave; - *put++ = (unsigned char)(state->length); - left--; - state->mode = LEN; - break; - case CHECK: - if (state->wrap) { - NEEDBITS(32); - out -= left; - strm->total_out += out; - state->total += out; - if (out) - strm->adler = state->check = - UPDATE(state->check, put - out, out); - out = left; - if (( -#ifdef GUNZIP - state->flags ? hold : -#endif - REVERSE(hold)) != state->check) { - strm->msg = (char *)"incorrect data check"; - state->mode = BAD; - break; - } - INITBITS(); - Tracev((stderr, "inflate: check matches trailer\n")); - } -#ifdef GUNZIP - state->mode = LENGTH; - case LENGTH: - if (state->wrap && state->flags) { - NEEDBITS(32); - if (hold != (state->total & 0xffffffffUL)) { - strm->msg = (char *)"incorrect length check"; - state->mode = BAD; - break; - } - INITBITS(); - Tracev((stderr, "inflate: length matches trailer\n")); - } -#endif - state->mode = DONE; - case DONE: - ret = Z_STREAM_END; - goto inf_leave; - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - case MEM: - return Z_MEM_ERROR; - case SYNC: - default: - return Z_STREAM_ERROR; - } - - /* - Return from inflate(), updating the total counts and the check value. - If there was no progress during the inflate() call, return a buffer - error. Call updatewindow() to create and/or update the window state. - Note: a memory error from inflate() is non-recoverable. - */ - inf_leave: - RESTORE(); - if (state->wsize || (state->mode < CHECK && out != strm->avail_out)) - if (updatewindow(strm, out)) { - state->mode = MEM; - return Z_MEM_ERROR; - } - in -= strm->avail_in; - out -= strm->avail_out; - strm->total_in += in; - strm->total_out += out; - state->total += out; - if (state->wrap && out) - strm->adler = state->check = - UPDATE(state->check, strm->next_out - out, out); - strm->data_type = state->bits + (state->last ? 64 : 0) + - (state->mode == TYPE ? 128 : 0); - if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) - ret = Z_BUF_ERROR; - return ret; -} - -int ZEXPORT inflateEnd(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (state->window != Z_NULL) ZFREE(strm, state->window); - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} - -int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength) -z_streamp strm; -const Bytef *dictionary; -uInt dictLength; -{ - struct inflate_state FAR *state; - unsigned long id; - - /* check state */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (state->wrap != 0 && state->mode != DICT) - return Z_STREAM_ERROR; - - /* check for correct dictionary id */ - if (state->mode == DICT) { - id = adler32(0L, Z_NULL, 0); - id = adler32(id, dictionary, dictLength); - if (id != state->check) - return Z_DATA_ERROR; - } - - /* copy dictionary to window */ - if (updatewindow(strm, strm->avail_out)) { - state->mode = MEM; - return Z_MEM_ERROR; - } - if (dictLength > state->wsize) { - zmemcpy(state->window, dictionary + dictLength - state->wsize, - state->wsize); - state->whave = state->wsize; - } - else { - zmemcpy(state->window + state->wsize - dictLength, dictionary, - dictLength); - state->whave = dictLength; - } - state->havedict = 1; - Tracev((stderr, "inflate: dictionary set\n")); - return Z_OK; -} - -int ZEXPORT inflateGetHeader(strm, head) -z_streamp strm; -gz_headerp head; -{ - struct inflate_state FAR *state; - - /* check state */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; - - /* save header structure */ - state->head = head; - head->done = 0; - return Z_OK; -} - -/* - Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found - or when out of input. When called, *have is the number of pattern bytes - found in order so far, in 0..3. On return *have is updated to the new - state. If on return *have equals four, then the pattern was found and the - return value is how many bytes were read including the last byte of the - pattern. If *have is less than four, then the pattern has not been found - yet and the return value is len. In the latter case, syncsearch() can be - called again with more data and the *have state. *have is initialized to - zero for the first call. - */ -local unsigned syncsearch(have, buf, len) -unsigned FAR *have; -unsigned char FAR *buf; -unsigned len; -{ - unsigned got; - unsigned next; - - got = *have; - next = 0; - while (next < len && got < 4) { - if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) - got++; - else if (buf[next]) - got = 0; - else - got = 4 - got; - next++; - } - *have = got; - return next; -} - -int ZEXPORT inflateSync(strm) -z_streamp strm; -{ - unsigned len; /* number of bytes to look at or looked at */ - unsigned long in, out; /* temporary to save total_in and total_out */ - unsigned char buf[4]; /* to restore bit buffer to byte string */ - struct inflate_state FAR *state; - - /* check parameters */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; - - /* if first time, start search in bit buffer */ - if (state->mode != SYNC) { - state->mode = SYNC; - state->hold <<= state->bits & 7; - state->bits -= state->bits & 7; - len = 0; - while (state->bits >= 8) { - buf[len++] = (unsigned char)(state->hold); - state->hold >>= 8; - state->bits -= 8; - } - state->have = 0; - syncsearch(&(state->have), buf, len); - } - - /* search available input */ - len = syncsearch(&(state->have), strm->next_in, strm->avail_in); - strm->avail_in -= len; - strm->next_in += len; - strm->total_in += len; - - /* return no joy or set up to restart inflate() on a new block */ - if (state->have != 4) return Z_DATA_ERROR; - in = strm->total_in; out = strm->total_out; - inflateReset(strm); - strm->total_in = in; strm->total_out = out; - state->mode = TYPE; - return Z_OK; -} - -/* - Returns true if inflate is currently at the end of a block generated by - Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP - implementation to provide an additional safety check. PPP uses - Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored - block. When decompressing, PPP checks that at the end of input packet, - inflate is waiting for these length bytes. - */ -int ZEXPORT inflateSyncPoint(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - return state->mode == STORED && state->bits == 0; -} - -int ZEXPORT inflateCopy(dest, source) -z_streamp dest; -z_streamp source; -{ - struct inflate_state FAR *state; - struct inflate_state FAR *copy; - unsigned char FAR *window; - unsigned wsize; - - /* check input */ - if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL || - source->zalloc == (alloc_func)0 || source->zfree == (free_func)0) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)source->state; - - /* allocate space */ - copy = (struct inflate_state FAR *) - ZALLOC(source, 1, sizeof(struct inflate_state)); - if (copy == Z_NULL) return Z_MEM_ERROR; - window = Z_NULL; - if (state->window != Z_NULL) { - window = (unsigned char FAR *) - ZALLOC(source, 1U << state->wbits, sizeof(unsigned char)); - if (window == Z_NULL) { - ZFREE(source, copy); - return Z_MEM_ERROR; - } - } - - /* copy state */ - zmemcpy(dest, source, sizeof(z_stream)); - zmemcpy(copy, state, sizeof(struct inflate_state)); - if (state->lencode >= state->codes && - state->lencode <= state->codes + ENOUGH - 1) { - copy->lencode = copy->codes + (state->lencode - state->codes); - copy->distcode = copy->codes + (state->distcode - state->codes); - } - copy->next = copy->codes + (state->next - state->codes); - if (window != Z_NULL) { - wsize = 1U << state->wbits; - zmemcpy(window, state->window, wsize); - } - copy->window = window; - dest->state = (struct internal_state FAR *)copy; - return Z_OK; -} diff --git a/3rdparty/openctm/tools/zlib/inflate.h b/3rdparty/openctm/tools/zlib/inflate.h deleted file mode 100644 index 07bd3e78a..000000000 --- a/3rdparty/openctm/tools/zlib/inflate.h +++ /dev/null @@ -1,115 +0,0 @@ -/* inflate.h -- internal inflate state definition - * Copyright (C) 1995-2004 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* define NO_GZIP when compiling if you want to disable gzip header and - trailer decoding by inflate(). NO_GZIP would be used to avoid linking in - the crc code when it is not needed. For shared libraries, gzip decoding - should be left enabled. */ -#ifndef NO_GZIP -# define GUNZIP -#endif - -/* Possible inflate modes between inflate() calls */ -typedef enum { - HEAD, /* i: waiting for magic header */ - FLAGS, /* i: waiting for method and flags (gzip) */ - TIME, /* i: waiting for modification time (gzip) */ - OS, /* i: waiting for extra flags and operating system (gzip) */ - EXLEN, /* i: waiting for extra length (gzip) */ - EXTRA, /* i: waiting for extra bytes (gzip) */ - NAME, /* i: waiting for end of file name (gzip) */ - COMMENT, /* i: waiting for end of comment (gzip) */ - HCRC, /* i: waiting for header crc (gzip) */ - DICTID, /* i: waiting for dictionary check value */ - DICT, /* waiting for inflateSetDictionary() call */ - TYPE, /* i: waiting for type bits, including last-flag bit */ - TYPEDO, /* i: same, but skip check to exit inflate on new block */ - STORED, /* i: waiting for stored size (length and complement) */ - COPY, /* i/o: waiting for input or output to copy stored block */ - TABLE, /* i: waiting for dynamic block table lengths */ - LENLENS, /* i: waiting for code length code lengths */ - CODELENS, /* i: waiting for length/lit and distance code lengths */ - LEN, /* i: waiting for length/lit code */ - LENEXT, /* i: waiting for length extra bits */ - DIST, /* i: waiting for distance code */ - DISTEXT, /* i: waiting for distance extra bits */ - MATCH, /* o: waiting for output space to copy string */ - LIT, /* o: waiting for output space to write literal */ - CHECK, /* i: waiting for 32-bit check value */ - LENGTH, /* i: waiting for 32-bit length (gzip) */ - DONE, /* finished check, done -- remain here until reset */ - BAD, /* got a data error -- remain here until reset */ - MEM, /* got an inflate() memory error -- remain here until reset */ - SYNC /* looking for synchronization bytes to restart inflate() */ -} inflate_mode; - -/* - State transitions between above modes - - - (most modes can go to the BAD or MEM mode -- not shown for clarity) - - Process header: - HEAD -> (gzip) or (zlib) - (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME - NAME -> COMMENT -> HCRC -> TYPE - (zlib) -> DICTID or TYPE - DICTID -> DICT -> TYPE - Read deflate blocks: - TYPE -> STORED or TABLE or LEN or CHECK - STORED -> COPY -> TYPE - TABLE -> LENLENS -> CODELENS -> LEN - Read deflate codes: - LEN -> LENEXT or LIT or TYPE - LENEXT -> DIST -> DISTEXT -> MATCH -> LEN - LIT -> LEN - Process trailer: - CHECK -> LENGTH -> DONE - */ - -/* state maintained between inflate() calls. Approximately 7K bytes. */ -struct inflate_state { - inflate_mode mode; /* current inflate mode */ - int last; /* true if processing last block */ - int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ - int havedict; /* true if dictionary provided */ - int flags; /* gzip header method and flags (0 if zlib) */ - unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */ - unsigned long check; /* protected copy of check value */ - unsigned long total; /* protected copy of output count */ - gz_headerp head; /* where to save gzip header information */ - /* sliding window */ - unsigned wbits; /* log base 2 of requested window size */ - unsigned wsize; /* window size or zero if not using window */ - unsigned whave; /* valid bytes in the window */ - unsigned write; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - /* bit accumulator */ - unsigned long hold; /* input bit accumulator */ - unsigned bits; /* number of bits in "in" */ - /* for string and stored block copying */ - unsigned length; /* literal or length of data to copy */ - unsigned offset; /* distance back to copy string from */ - /* for table and code decoding */ - unsigned extra; /* extra bits needed */ - /* fixed and dynamic code tables */ - code const FAR *lencode; /* starting table for length/literal codes */ - code const FAR *distcode; /* starting table for distance codes */ - unsigned lenbits; /* index bits for lencode */ - unsigned distbits; /* index bits for distcode */ - /* dynamic table building */ - unsigned ncode; /* number of code length code lengths */ - unsigned nlen; /* number of length code lengths */ - unsigned ndist; /* number of distance code lengths */ - unsigned have; /* number of code lengths in lens[] */ - code FAR *next; /* next available space in codes[] */ - unsigned short lens[320]; /* temporary storage for code lengths */ - unsigned short work[288]; /* work area for code table building */ - code codes[ENOUGH]; /* space for code tables */ -}; diff --git a/3rdparty/openctm/tools/zlib/inftrees.c b/3rdparty/openctm/tools/zlib/inftrees.c deleted file mode 100644 index 8a9c13ff0..000000000 --- a/3rdparty/openctm/tools/zlib/inftrees.c +++ /dev/null @@ -1,329 +0,0 @@ -/* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftrees.h" - -#define MAXBITS 15 - -const char inflate_copyright[] = - " inflate 1.2.3 Copyright 1995-2005 Mark Adler "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* - Build a set of tables to decode the provided canonical Huffman code. - The code lengths are lens[0..codes-1]. The result starts at *table, - whose indices are 0..2^bits-1. work is a writable array of at least - lens shorts, which is used as a work area. type is the type of code - to be generated, CODES, LENS, or DISTS. On return, zero is success, - -1 is an invalid code, and +1 means that ENOUGH isn't enough. table - on return points to the next available entry's address. bits is the - requested root table index bits, and on return it is the actual root - table index bits. It will differ if the request is greater than the - longest code or if it is less than the shortest code. - */ -int inflate_table(type, lens, codes, table, bits, work) -codetype type; -unsigned short FAR *lens; -unsigned codes; -code FAR * FAR *table; -unsigned FAR *bits; -unsigned short FAR *work; -{ - unsigned len; /* a code's length in bits */ - unsigned sym; /* index of code symbols */ - unsigned min, max; /* minimum and maximum code lengths */ - unsigned root; /* number of index bits for root table */ - unsigned curr; /* number of index bits for current table */ - unsigned drop; /* code bits to drop for sub-table */ - int left; /* number of prefix codes available */ - unsigned used; /* code entries in table used */ - unsigned huff; /* Huffman code */ - unsigned incr; /* for incrementing code, index */ - unsigned fill; /* index for replicating entries */ - unsigned low; /* low bits for current root entry */ - unsigned mask; /* mask for low root bits */ - code this; /* table entry for duplication */ - code FAR *next; /* next available space in table */ - const unsigned short FAR *base; /* base value table to use */ - const unsigned short FAR *extra; /* extra bits table to use */ - int end; /* use base and extra for symbol > end */ - unsigned short count[MAXBITS+1]; /* number of codes of each length */ - unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ - static const unsigned short lbase[31] = { /* Length codes 257..285 base */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, - 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; - static const unsigned short lext[31] = { /* Length codes 257..285 extra */ - 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 201, 196}; - static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, - 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, - 8193, 12289, 16385, 24577, 0, 0}; - static const unsigned short dext[32] = { /* Distance codes 0..29 extra */ - 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, - 28, 28, 29, 29, 64, 64}; - - /* - Process a set of code lengths to create a canonical Huffman code. The - code lengths are lens[0..codes-1]. Each length corresponds to the - symbols 0..codes-1. The Huffman code is generated by first sorting the - symbols by length from short to long, and retaining the symbol order - for codes with equal lengths. Then the code starts with all zero bits - for the first code of the shortest length, and the codes are integer - increments for the same length, and zeros are appended as the length - increases. For the deflate format, these bits are stored backwards - from their more natural integer increment ordering, and so when the - decoding tables are built in the large loop below, the integer codes - are incremented backwards. - - This routine assumes, but does not check, that all of the entries in - lens[] are in the range 0..MAXBITS. The caller must assure this. - 1..MAXBITS is interpreted as that code length. zero means that that - symbol does not occur in this code. - - The codes are sorted by computing a count of codes for each length, - creating from that a table of starting indices for each length in the - sorted table, and then entering the symbols in order in the sorted - table. The sorted table is work[], with that space being provided by - the caller. - - The length counts are used for other purposes as well, i.e. finding - the minimum and maximum length codes, determining if there are any - codes at all, checking for a valid set of lengths, and looking ahead - at length counts to determine sub-table sizes when building the - decoding tables. - */ - - /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ - for (len = 0; len <= MAXBITS; len++) - count[len] = 0; - for (sym = 0; sym < codes; sym++) - count[lens[sym]]++; - - /* bound code lengths, force root to be within code lengths */ - root = *bits; - for (max = MAXBITS; max >= 1; max--) - if (count[max] != 0) break; - if (root > max) root = max; - if (max == 0) { /* no symbols to code at all */ - this.op = (unsigned char)64; /* invalid code marker */ - this.bits = (unsigned char)1; - this.val = (unsigned short)0; - *(*table)++ = this; /* make a table to force an error */ - *(*table)++ = this; - *bits = 1; - return 0; /* no symbols, but wait for decoding to report error */ - } - for (min = 1; min <= MAXBITS; min++) - if (count[min] != 0) break; - if (root < min) root = min; - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) return -1; /* over-subscribed */ - } - if (left > 0 && (type == CODES || max != 1)) - return -1; /* incomplete set */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + count[len]; - - /* sort symbols by length, by symbol order within each length */ - for (sym = 0; sym < codes; sym++) - if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - /* - Create and fill in decoding tables. In this loop, the table being - filled is at next and has curr index bits. The code being used is huff - with length len. That code is converted to an index by dropping drop - bits off of the bottom. For codes where len is less than drop + curr, - those top drop + curr - len bits are incremented through all values to - fill the table with replicated entries. - - root is the number of index bits for the root table. When len exceeds - root, sub-tables are created pointed to by the root entry with an index - of the low root bits of huff. This is saved in low to check for when a - new sub-table should be started. drop is zero when the root table is - being filled, and drop is root when sub-tables are being filled. - - When a new sub-table is needed, it is necessary to look ahead in the - code lengths to determine what size sub-table is needed. The length - counts are used for this, and so count[] is decremented as codes are - entered in the tables. - - used keeps track of how many table entries have been allocated from the - provided *table space. It is checked when a LENS table is being made - against the space in *table, ENOUGH, minus the maximum space needed by - the worst case distance code, MAXD. This should never happen, but the - sufficiency of ENOUGH has not been proven exhaustively, hence the check. - This assumes that when type == LENS, bits == 9. - - sym increments through all symbols, and the loop terminates when - all codes of length max, i.e. all codes, have been processed. This - routine permits incomplete codes, so another loop after this one fills - in the rest of the decoding tables with invalid code markers. - */ - - /* set up for code type */ - switch (type) { - case CODES: - base = extra = work; /* dummy value--not used */ - end = 19; - break; - case LENS: - base = lbase; - base -= 257; - extra = lext; - extra -= 257; - end = 256; - break; - default: /* DISTS */ - base = dbase; - extra = dext; - end = -1; - } - - /* initialize state for loop */ - huff = 0; /* starting code */ - sym = 0; /* starting code symbol */ - len = min; /* starting code length */ - next = *table; /* current table to fill in */ - curr = root; /* current table index bits */ - drop = 0; /* current bits to drop from code for index */ - low = (unsigned)(-1); /* trigger new sub-table when len > root */ - used = 1U << root; /* use root table entries */ - mask = used - 1; /* mask for comparing low */ - - /* check available table space */ - if (type == LENS && used >= ENOUGH - MAXD) - return 1; - - /* process all codes and make table entries */ - for (;;) { - /* create table entry */ - this.bits = (unsigned char)(len - drop); - if ((int)(work[sym]) < end) { - this.op = (unsigned char)0; - this.val = work[sym]; - } - else if ((int)(work[sym]) > end) { - this.op = (unsigned char)(extra[work[sym]]); - this.val = base[work[sym]]; - } - else { - this.op = (unsigned char)(32 + 64); /* end of block */ - this.val = 0; - } - - /* replicate for those indices with low len bits equal to huff */ - incr = 1U << (len - drop); - fill = 1U << curr; - min = fill; /* save offset to next table */ - do { - fill -= incr; - next[(huff >> drop) + fill] = this; - } while (fill != 0); - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - - /* go to next symbol, update count, len */ - sym++; - if (--(count[len]) == 0) { - if (len == max) break; - len = lens[work[sym]]; - } - - /* create new sub-table if needed */ - if (len > root && (huff & mask) != low) { - /* if first time, transition to sub-tables */ - if (drop == 0) - drop = root; - - /* increment past last table */ - next += min; /* here min is 1 << curr */ - - /* determine length of next table */ - curr = len - drop; - left = (int)(1 << curr); - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) break; - curr++; - left <<= 1; - } - - /* check for enough space */ - used += 1U << curr; - if (type == LENS && used >= ENOUGH - MAXD) - return 1; - - /* point entry in root table to sub-table */ - low = huff & mask; - (*table)[low].op = (unsigned char)curr; - (*table)[low].bits = (unsigned char)root; - (*table)[low].val = (unsigned short)(next - *table); - } - } - - /* - Fill in rest of table for incomplete codes. This loop is similar to the - loop above in incrementing huff for table indices. It is assumed that - len is equal to curr + drop, so there is no loop needed to increment - through high index bits. When the current sub-table is filled, the loop - drops back to the root table to fill in any remaining entries there. - */ - this.op = (unsigned char)64; /* invalid code marker */ - this.bits = (unsigned char)(len - drop); - this.val = (unsigned short)0; - while (huff != 0) { - /* when done with sub-table, drop back to root table */ - if (drop != 0 && (huff & mask) != low) { - drop = 0; - len = root; - next = *table; - this.bits = (unsigned char)len; - } - - /* put invalid code marker in table */ - next[huff >> drop] = this; - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - } - - /* set return parameters */ - *table += used; - *bits = root; - return 0; -} diff --git a/3rdparty/openctm/tools/zlib/inftrees.h b/3rdparty/openctm/tools/zlib/inftrees.h deleted file mode 100644 index b1104c87e..000000000 --- a/3rdparty/openctm/tools/zlib/inftrees.h +++ /dev/null @@ -1,55 +0,0 @@ -/* inftrees.h -- header to use inftrees.c - * Copyright (C) 1995-2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Structure for decoding tables. Each entry provides either the - information needed to do the operation requested by the code that - indexed that table entry, or it provides a pointer to another - table that indexes more bits of the code. op indicates whether - the entry is a pointer to another table, a literal, a length or - distance, an end-of-block, or an invalid code. For a table - pointer, the low four bits of op is the number of index bits of - that table. For a length or distance, the low four bits of op - is the number of extra bits to get after the code. bits is - the number of bits in this code or part of the code to drop off - of the bit buffer. val is the actual byte to output in the case - of a literal, the base length or distance, or the offset from - the current table to the next table. Each entry is four bytes. */ -typedef struct { - unsigned char op; /* operation, extra bits, table bits */ - unsigned char bits; /* bits in this part of the code */ - unsigned short val; /* offset in table or code value */ -} code; - -/* op values as set by inflate_table(): - 00000000 - literal - 0000tttt - table link, tttt != 0 is the number of table index bits - 0001eeee - length or distance, eeee is the number of extra bits - 01100000 - end of block - 01000000 - invalid code - */ - -/* Maximum size of dynamic tree. The maximum found in a long but non- - exhaustive search was 1444 code structures (852 for length/literals - and 592 for distances, the latter actually the result of an - exhaustive search). The true maximum is not known, but the value - below is more than safe. */ -#define ENOUGH 2048 -#define MAXD 592 - -/* Type of code to build for inftable() */ -typedef enum { - CODES, - LENS, - DISTS -} codetype; - -extern int inflate_table OF((codetype type, unsigned short FAR *lens, - unsigned codes, code FAR * FAR *table, - unsigned FAR *bits, unsigned short FAR *work)); diff --git a/3rdparty/openctm/tools/zlib/minigzip.c b/3rdparty/openctm/tools/zlib/minigzip.c deleted file mode 100644 index 4524b96a1..000000000 --- a/3rdparty/openctm/tools/zlib/minigzip.c +++ /dev/null @@ -1,322 +0,0 @@ -/* minigzip.c -- simulate gzip using the zlib compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * minigzip is a minimal implementation of the gzip utility. This is - * only an example of using zlib and isn't meant to replace the - * full-featured gzip. No attempt is made to deal with file systems - * limiting names to 14 or 8+3 characters, etc... Error checking is - * very limited. So use minigzip only for testing; use gzip for the - * real thing. On MSDOS, use only on file names without extension - * or in pipe mode. - */ - -/* @(#) $Id$ */ - -#include -#include "zlib.h" - -#ifdef STDC -# include -# include -#endif - -#ifdef USE_MMAP -# include -# include -# include -#endif - -#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -#ifdef VMS -# define unlink delete -# define GZ_SUFFIX "-gz" -#endif -#ifdef RISCOS -# define unlink remove -# define GZ_SUFFIX "-gz" -# define fileno(file) file->__file -#endif -#if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fileno */ -#endif - -#ifndef WIN32 /* unlink already in stdio.h for WIN32 */ - extern int unlink OF((const char *)); -#endif - -#ifndef GZ_SUFFIX -# define GZ_SUFFIX ".gz" -#endif -#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) - -#define BUFLEN 16384 -#define MAX_NAME_LEN 1024 - -#ifdef MAXSEG_64K -# define local static - /* Needed for systems with limitation on stack size. */ -#else -# define local -#endif - -char *prog; - -void error OF((const char *msg)); -void gz_compress OF((FILE *in, gzFile out)); -#ifdef USE_MMAP -int gz_compress_mmap OF((FILE *in, gzFile out)); -#endif -void gz_uncompress OF((gzFile in, FILE *out)); -void file_compress OF((char *file, char *mode)); -void file_uncompress OF((char *file)); -int main OF((int argc, char *argv[])); - -/* =========================================================================== - * Display error message and exit - */ -void error(msg) - const char *msg; -{ - fprintf(stderr, "%s: %s\n", prog, msg); - exit(1); -} - -/* =========================================================================== - * Compress input to output then close both files. - */ - -void gz_compress(in, out) - FILE *in; - gzFile out; -{ - local char buf[BUFLEN]; - int len; - int err; - -#ifdef USE_MMAP - /* Try first compressing with mmap. If mmap fails (minigzip used in a - * pipe), use the normal fread loop. - */ - if (gz_compress_mmap(in, out) == Z_OK) return; -#endif - for (;;) { - len = (int)fread(buf, 1, sizeof(buf), in); - if (ferror(in)) { - perror("fread"); - exit(1); - } - if (len == 0) break; - - if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err)); - } - fclose(in); - if (gzclose(out) != Z_OK) error("failed gzclose"); -} - -#ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ - -/* Try compressing the input file at once using mmap. Return Z_OK if - * if success, Z_ERRNO otherwise. - */ -int gz_compress_mmap(in, out) - FILE *in; - gzFile out; -{ - int len; - int err; - int ifd = fileno(in); - caddr_t buf; /* mmap'ed buffer for the entire input file */ - off_t buf_len; /* length of the input file */ - struct stat sb; - - /* Determine the size of the file, needed for mmap: */ - if (fstat(ifd, &sb) < 0) return Z_ERRNO; - buf_len = sb.st_size; - if (buf_len <= 0) return Z_ERRNO; - - /* Now do the actual mmap: */ - buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0); - if (buf == (caddr_t)(-1)) return Z_ERRNO; - - /* Compress the whole file at once: */ - len = gzwrite(out, (char *)buf, (unsigned)buf_len); - - if (len != (int)buf_len) error(gzerror(out, &err)); - - munmap(buf, buf_len); - fclose(in); - if (gzclose(out) != Z_OK) error("failed gzclose"); - return Z_OK; -} -#endif /* USE_MMAP */ - -/* =========================================================================== - * Uncompress input to output then close both files. - */ -void gz_uncompress(in, out) - gzFile in; - FILE *out; -{ - local char buf[BUFLEN]; - int len; - int err; - - for (;;) { - len = gzread(in, buf, sizeof(buf)); - if (len < 0) error (gzerror(in, &err)); - if (len == 0) break; - - if ((int)fwrite(buf, 1, (unsigned)len, out) != len) { - error("failed fwrite"); - } - } - if (fclose(out)) error("failed fclose"); - - if (gzclose(in) != Z_OK) error("failed gzclose"); -} - - -/* =========================================================================== - * Compress the given file: create a corresponding .gz file and remove the - * original. - */ -void file_compress(file, mode) - char *file; - char *mode; -{ - local char outfile[MAX_NAME_LEN]; - FILE *in; - gzFile out; - - strcpy(outfile, file); - strcat(outfile, GZ_SUFFIX); - - in = fopen(file, "rb"); - if (in == NULL) { - perror(file); - exit(1); - } - out = gzopen(outfile, mode); - if (out == NULL) { - fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile); - exit(1); - } - gz_compress(in, out); - - unlink(file); -} - - -/* =========================================================================== - * Uncompress the given file and remove the original. - */ -void file_uncompress(file) - char *file; -{ - local char buf[MAX_NAME_LEN]; - char *infile, *outfile; - FILE *out; - gzFile in; - uInt len = (uInt)strlen(file); - - strcpy(buf, file); - - if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { - infile = file; - outfile = buf; - outfile[len-3] = '\0'; - } else { - outfile = file; - infile = buf; - strcat(infile, GZ_SUFFIX); - } - in = gzopen(infile, "rb"); - if (in == NULL) { - fprintf(stderr, "%s: can't gzopen %s\n", prog, infile); - exit(1); - } - out = fopen(outfile, "wb"); - if (out == NULL) { - perror(file); - exit(1); - } - - gz_uncompress(in, out); - - unlink(infile); -} - - -/* =========================================================================== - * Usage: minigzip [-d] [-f] [-h] [-r] [-1 to -9] [files...] - * -d : decompress - * -f : compress with Z_FILTERED - * -h : compress with Z_HUFFMAN_ONLY - * -r : compress with Z_RLE - * -1 to -9 : compression level - */ - -int main(argc, argv) - int argc; - char *argv[]; -{ - int uncompr = 0; - gzFile file; - char outmode[20]; - - strcpy(outmode, "wb6 "); - - prog = argv[0]; - argc--, argv++; - - while (argc > 0) { - if (strcmp(*argv, "-d") == 0) - uncompr = 1; - else if (strcmp(*argv, "-f") == 0) - outmode[3] = 'f'; - else if (strcmp(*argv, "-h") == 0) - outmode[3] = 'h'; - else if (strcmp(*argv, "-r") == 0) - outmode[3] = 'R'; - else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' && - (*argv)[2] == 0) - outmode[2] = (*argv)[1]; - else - break; - argc--, argv++; - } - if (outmode[3] == ' ') - outmode[3] = 0; - if (argc == 0) { - SET_BINARY_MODE(stdin); - SET_BINARY_MODE(stdout); - if (uncompr) { - file = gzdopen(fileno(stdin), "rb"); - if (file == NULL) error("can't gzdopen stdin"); - gz_uncompress(file, stdout); - } else { - file = gzdopen(fileno(stdout), outmode); - if (file == NULL) error("can't gzdopen stdout"); - gz_compress(stdin, file); - } - } else { - do { - if (uncompr) { - file_uncompress(*argv); - } else { - file_compress(*argv, outmode); - } - } while (argv++, --argc); - } - return 0; -} diff --git a/3rdparty/openctm/tools/zlib/trees.c b/3rdparty/openctm/tools/zlib/trees.c deleted file mode 100644 index 395e4e168..000000000 --- a/3rdparty/openctm/tools/zlib/trees.c +++ /dev/null @@ -1,1219 +0,0 @@ -/* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2005 Jean-loup Gailly - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * ALGORITHM - * - * The "deflation" process uses several Huffman trees. The more - * common source values are represented by shorter bit sequences. - * - * Each code tree is stored in a compressed form which is itself - * a Huffman encoding of the lengths of all the code strings (in - * ascending order by source values). The actual code strings are - * reconstructed from the lengths in the inflate process, as described - * in the deflate specification. - * - * REFERENCES - * - * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification". - * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc - * - * Storer, James A. - * Data Compression: Methods and Theory, pp. 49-50. - * Computer Science Press, 1988. ISBN 0-7167-8156-5. - * - * Sedgewick, R. - * Algorithms, p290. - * Addison-Wesley, 1983. ISBN 0-201-06672-6. - */ - -/* @(#) $Id$ */ - -/* #define GEN_TREES_H */ - -#include "deflate.h" - -#ifdef DEBUG -# include -#endif - -/* =========================================================================== - * Constants - */ - -#define MAX_BL_BITS 7 -/* Bit length codes must not exceed MAX_BL_BITS bits */ - -#define END_BLOCK 256 -/* end of block literal code */ - -#define REP_3_6 16 -/* repeat previous bit length 3-6 times (2 bits of repeat count) */ - -#define REPZ_3_10 17 -/* repeat a zero length 3-10 times (3 bits of repeat count) */ - -#define REPZ_11_138 18 -/* repeat a zero length 11-138 times (7 bits of repeat count) */ - -local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */ - = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0}; - -local const int extra_dbits[D_CODES] /* extra bits for each distance code */ - = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */ - = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7}; - -local const uch bl_order[BL_CODES] - = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15}; -/* The lengths of the bit length codes are sent in order of decreasing - * probability, to avoid transmitting the lengths for unused bit length codes. - */ - -#define Buf_size (8 * 2*sizeof(char)) -/* Number of bits used within bi_buf. (bi_buf might be implemented on - * more than 16 bits on some systems.) - */ - -/* =========================================================================== - * Local data. These are initialized only once. - */ - -#define DIST_CODE_LEN 512 /* see definition of array dist_code below */ - -#if defined(GEN_TREES_H) || !defined(STDC) -/* non ANSI compilers may not accept trees.h */ - -local ct_data static_ltree[L_CODES+2]; -/* The static literal tree. Since the bit lengths are imposed, there is no - * need for the L_CODES extra codes used during heap construction. However - * The codes 286 and 287 are needed to build a canonical tree (see _tr_init - * below). - */ - -local ct_data static_dtree[D_CODES]; -/* The static distance tree. (Actually a trivial tree since all codes use - * 5 bits.) - */ - -uch _dist_code[DIST_CODE_LEN]; -/* Distance codes. The first 256 values correspond to the distances - * 3 .. 258, the last 256 values correspond to the top 8 bits of - * the 15 bit distances. - */ - -uch _length_code[MAX_MATCH-MIN_MATCH+1]; -/* length code for each normalized match length (0 == MIN_MATCH) */ - -local int base_length[LENGTH_CODES]; -/* First normalized length for each code (0 = MIN_MATCH) */ - -local int base_dist[D_CODES]; -/* First normalized distance for each code (0 = distance of 1) */ - -#else -# include "trees.h" -#endif /* GEN_TREES_H */ - -struct static_tree_desc_s { - const ct_data *static_tree; /* static tree or NULL */ - const intf *extra_bits; /* extra bits for each code or NULL */ - int extra_base; /* base index for extra_bits */ - int elems; /* max number of elements in the tree */ - int max_length; /* max bit length for the codes */ -}; - -local static_tree_desc static_l_desc = -{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS}; - -local static_tree_desc static_d_desc = -{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS}; - -local static_tree_desc static_bl_desc = -{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS}; - -/* =========================================================================== - * Local (static) routines in this file. - */ - -local void tr_static_init OF((void)); -local void init_block OF((deflate_state *s)); -local void pqdownheap OF((deflate_state *s, ct_data *tree, int k)); -local void gen_bitlen OF((deflate_state *s, tree_desc *desc)); -local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count)); -local void build_tree OF((deflate_state *s, tree_desc *desc)); -local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code)); -local void send_tree OF((deflate_state *s, ct_data *tree, int max_code)); -local int build_bl_tree OF((deflate_state *s)); -local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes, - int blcodes)); -local void compress_block OF((deflate_state *s, ct_data *ltree, - ct_data *dtree)); -local void set_data_type OF((deflate_state *s)); -local unsigned bi_reverse OF((unsigned value, int length)); -local void bi_windup OF((deflate_state *s)); -local void bi_flush OF((deflate_state *s)); -local void copy_block OF((deflate_state *s, charf *buf, unsigned len, - int header)); - -#ifdef GEN_TREES_H -local void gen_trees_header OF((void)); -#endif - -#ifndef DEBUG -# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len) - /* Send a code of the given tree. c and tree must not have side effects */ - -#else /* DEBUG */ -# define send_code(s, c, tree) \ - { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \ - send_bits(s, tree[c].Code, tree[c].Len); } -#endif - -/* =========================================================================== - * Output a short LSB first on the stream. - * IN assertion: there is enough room in pendingBuf. - */ -#define put_short(s, w) { \ - put_byte(s, (uch)((w) & 0xff)); \ - put_byte(s, (uch)((ush)(w) >> 8)); \ -} - -/* =========================================================================== - * Send a value on a given number of bits. - * IN assertion: length <= 16 and value fits in length bits. - */ -#ifdef DEBUG -local void send_bits OF((deflate_state *s, int value, int length)); - -local void send_bits(s, value, length) - deflate_state *s; - int value; /* value to send */ - int length; /* number of bits */ -{ - Tracevv((stderr," l %2d v %4x ", length, value)); - Assert(length > 0 && length <= 15, "invalid length"); - s->bits_sent += (ulg)length; - - /* If not enough room in bi_buf, use (valid) bits from bi_buf and - * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid)) - * unused bits in value. - */ - if (s->bi_valid > (int)Buf_size - length) { - s->bi_buf |= (value << s->bi_valid); - put_short(s, s->bi_buf); - s->bi_buf = (ush)value >> (Buf_size - s->bi_valid); - s->bi_valid += length - Buf_size; - } else { - s->bi_buf |= value << s->bi_valid; - s->bi_valid += length; - } -} -#else /* !DEBUG */ - -#define send_bits(s, value, length) \ -{ int len = length;\ - if (s->bi_valid > (int)Buf_size - len) {\ - int val = value;\ - s->bi_buf |= (val << s->bi_valid);\ - put_short(s, s->bi_buf);\ - s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\ - s->bi_valid += len - Buf_size;\ - } else {\ - s->bi_buf |= (value) << s->bi_valid;\ - s->bi_valid += len;\ - }\ -} -#endif /* DEBUG */ - - -/* the arguments must not have side effects */ - -/* =========================================================================== - * Initialize the various 'constant' tables. - */ -local void tr_static_init() -{ -#if defined(GEN_TREES_H) || !defined(STDC) - static int static_init_done = 0; - int n; /* iterates over tree elements */ - int bits; /* bit counter */ - int length; /* length value */ - int code; /* code value */ - int dist; /* distance index */ - ush bl_count[MAX_BITS+1]; - /* number of codes at each bit length for an optimal tree */ - - if (static_init_done) return; - - /* For some embedded targets, global variables are not initialized: */ - static_l_desc.static_tree = static_ltree; - static_l_desc.extra_bits = extra_lbits; - static_d_desc.static_tree = static_dtree; - static_d_desc.extra_bits = extra_dbits; - static_bl_desc.extra_bits = extra_blbits; - - /* Initialize the mapping length (0..255) -> length code (0..28) */ - length = 0; - for (code = 0; code < LENGTH_CODES-1; code++) { - base_length[code] = length; - for (n = 0; n < (1< dist code (0..29) */ - dist = 0; - for (code = 0 ; code < 16; code++) { - base_dist[code] = dist; - for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ - for ( ; code < D_CODES; code++) { - base_dist[code] = dist << 7; - for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) { - _dist_code[256 + dist++] = (uch)code; - } - } - Assert (dist == 256, "tr_static_init: 256+dist != 512"); - - /* Construct the codes of the static literal tree */ - for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; - n = 0; - while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; - while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; - while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; - while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; - /* Codes 286 and 287 do not exist, but we must include them in the - * tree construction to get a canonical Huffman tree (longest code - * all ones) - */ - gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count); - - /* The static distance tree is trivial: */ - for (n = 0; n < D_CODES; n++) { - static_dtree[n].Len = 5; - static_dtree[n].Code = bi_reverse((unsigned)n, 5); - } - static_init_done = 1; - -# ifdef GEN_TREES_H - gen_trees_header(); -# endif -#endif /* defined(GEN_TREES_H) || !defined(STDC) */ -} - -/* =========================================================================== - * Genererate the file trees.h describing the static trees. - */ -#ifdef GEN_TREES_H -# ifndef DEBUG -# include -# endif - -# define SEPARATOR(i, last, width) \ - ((i) == (last)? "\n};\n\n" : \ - ((i) % (width) == (width)-1 ? ",\n" : ", ")) - -void gen_trees_header() -{ - FILE *header = fopen("trees.h", "w"); - int i; - - Assert (header != NULL, "Can't open trees.h"); - fprintf(header, - "/* header created automatically with -DGEN_TREES_H */\n\n"); - - fprintf(header, "local const ct_data static_ltree[L_CODES+2] = {\n"); - for (i = 0; i < L_CODES+2; i++) { - fprintf(header, "{{%3u},{%3u}}%s", static_ltree[i].Code, - static_ltree[i].Len, SEPARATOR(i, L_CODES+1, 5)); - } - - fprintf(header, "local const ct_data static_dtree[D_CODES] = {\n"); - for (i = 0; i < D_CODES; i++) { - fprintf(header, "{{%2u},{%2u}}%s", static_dtree[i].Code, - static_dtree[i].Len, SEPARATOR(i, D_CODES-1, 5)); - } - - fprintf(header, "const uch _dist_code[DIST_CODE_LEN] = {\n"); - for (i = 0; i < DIST_CODE_LEN; i++) { - fprintf(header, "%2u%s", _dist_code[i], - SEPARATOR(i, DIST_CODE_LEN-1, 20)); - } - - fprintf(header, "const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {\n"); - for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) { - fprintf(header, "%2u%s", _length_code[i], - SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20)); - } - - fprintf(header, "local const int base_length[LENGTH_CODES] = {\n"); - for (i = 0; i < LENGTH_CODES; i++) { - fprintf(header, "%1u%s", base_length[i], - SEPARATOR(i, LENGTH_CODES-1, 20)); - } - - fprintf(header, "local const int base_dist[D_CODES] = {\n"); - for (i = 0; i < D_CODES; i++) { - fprintf(header, "%5u%s", base_dist[i], - SEPARATOR(i, D_CODES-1, 10)); - } - - fclose(header); -} -#endif /* GEN_TREES_H */ - -/* =========================================================================== - * Initialize the tree data structures for a new zlib stream. - */ -void _tr_init(s) - deflate_state *s; -{ - tr_static_init(); - - s->l_desc.dyn_tree = s->dyn_ltree; - s->l_desc.stat_desc = &static_l_desc; - - s->d_desc.dyn_tree = s->dyn_dtree; - s->d_desc.stat_desc = &static_d_desc; - - s->bl_desc.dyn_tree = s->bl_tree; - s->bl_desc.stat_desc = &static_bl_desc; - - s->bi_buf = 0; - s->bi_valid = 0; - s->last_eob_len = 8; /* enough lookahead for inflate */ -#ifdef DEBUG - s->compressed_len = 0L; - s->bits_sent = 0L; -#endif - - /* Initialize the first block of the first file: */ - init_block(s); -} - -/* =========================================================================== - * Initialize a new block. - */ -local void init_block(s) - deflate_state *s; -{ - int n; /* iterates over tree elements */ - - /* Initialize the trees. */ - for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0; - for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0; - for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0; - - s->dyn_ltree[END_BLOCK].Freq = 1; - s->opt_len = s->static_len = 0L; - s->last_lit = s->matches = 0; -} - -#define SMALLEST 1 -/* Index within the heap array of least frequent node in the Huffman tree */ - - -/* =========================================================================== - * Remove the smallest element from the heap and recreate the heap with - * one less element. Updates heap and heap_len. - */ -#define pqremove(s, tree, top) \ -{\ - top = s->heap[SMALLEST]; \ - s->heap[SMALLEST] = s->heap[s->heap_len--]; \ - pqdownheap(s, tree, SMALLEST); \ -} - -/* =========================================================================== - * Compares to subtrees, using the tree depth as tie breaker when - * the subtrees have equal frequency. This minimizes the worst case length. - */ -#define smaller(tree, n, m, depth) \ - (tree[n].Freq < tree[m].Freq || \ - (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m])) - -/* =========================================================================== - * Restore the heap property by moving down the tree starting at node k, - * exchanging a node with the smallest of its two sons if necessary, stopping - * when the heap property is re-established (each father smaller than its - * two sons). - */ -local void pqdownheap(s, tree, k) - deflate_state *s; - ct_data *tree; /* the tree to restore */ - int k; /* node to move down */ -{ - int v = s->heap[k]; - int j = k << 1; /* left son of k */ - while (j <= s->heap_len) { - /* Set j to the smallest of the two sons: */ - if (j < s->heap_len && - smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { - j++; - } - /* Exit if v is smaller than both sons */ - if (smaller(tree, v, s->heap[j], s->depth)) break; - - /* Exchange v with the smallest son */ - s->heap[k] = s->heap[j]; k = j; - - /* And continue down the tree, setting j to the left son of k */ - j <<= 1; - } - s->heap[k] = v; -} - -/* =========================================================================== - * Compute the optimal bit lengths for a tree and update the total bit length - * for the current block. - * IN assertion: the fields freq and dad are set, heap[heap_max] and - * above are the tree nodes sorted by increasing frequency. - * OUT assertions: the field len is set to the optimal bit length, the - * array bl_count contains the frequencies for each bit length. - * The length opt_len is updated; static_len is also updated if stree is - * not null. - */ -local void gen_bitlen(s, desc) - deflate_state *s; - tree_desc *desc; /* the tree descriptor */ -{ - ct_data *tree = desc->dyn_tree; - int max_code = desc->max_code; - const ct_data *stree = desc->stat_desc->static_tree; - const intf *extra = desc->stat_desc->extra_bits; - int base = desc->stat_desc->extra_base; - int max_length = desc->stat_desc->max_length; - int h; /* heap index */ - int n, m; /* iterate over the tree elements */ - int bits; /* bit length */ - int xbits; /* extra bits */ - ush f; /* frequency */ - int overflow = 0; /* number of elements with bit length too large */ - - for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0; - - /* In a first pass, compute the optimal bit lengths (which may - * overflow in the case of the bit length tree). - */ - tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - n = s->heap[h]; - bits = tree[tree[n].Dad].Len + 1; - if (bits > max_length) bits = max_length, overflow++; - tree[n].Len = (ush)bits; - /* We overwrite tree[n].Dad which is no longer needed */ - - if (n > max_code) continue; /* not a leaf node */ - - s->bl_count[bits]++; - xbits = 0; - if (n >= base) xbits = extra[n-base]; - f = tree[n].Freq; - s->opt_len += (ulg)f * (bits + xbits); - if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits); - } - if (overflow == 0) return; - - Trace((stderr,"\nbit length overflow\n")); - /* This happens for example on obj2 and pic of the Calgary corpus */ - - /* Find the first bit length which could increase: */ - do { - bits = max_length-1; - while (s->bl_count[bits] == 0) bits--; - s->bl_count[bits]--; /* move one leaf down the tree */ - s->bl_count[bits+1] += 2; /* move one overflow item as its brother */ - s->bl_count[max_length]--; - /* The brother of the overflow item also moves one step up, - * but this does not affect bl_count[max_length] - */ - overflow -= 2; - } while (overflow > 0); - - /* Now recompute all bit lengths, scanning in increasing frequency. - * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all - * lengths instead of fixing only the wrong ones. This idea is taken - * from 'ar' written by Haruhiko Okumura.) - */ - for (bits = max_length; bits != 0; bits--) { - n = s->bl_count[bits]; - while (n != 0) { - m = s->heap[--h]; - if (m > max_code) continue; - if ((unsigned) tree[m].Len != (unsigned) bits) { - Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); - s->opt_len += ((long)bits - (long)tree[m].Len) - *(long)tree[m].Freq; - tree[m].Len = (ush)bits; - } - n--; - } - } -} - -/* =========================================================================== - * Generate the codes for a given tree and bit counts (which need not be - * optimal). - * IN assertion: the array bl_count contains the bit length statistics for - * the given tree and the field len is set for all tree elements. - * OUT assertion: the field code is set for all tree elements of non - * zero code length. - */ -local void gen_codes (tree, max_code, bl_count) - ct_data *tree; /* the tree to decorate */ - int max_code; /* largest code with non zero frequency */ - ushf *bl_count; /* number of codes at each bit length */ -{ - ush next_code[MAX_BITS+1]; /* next code value for each bit length */ - ush code = 0; /* running code value */ - int bits; /* bit index */ - int n; /* code index */ - - /* The distribution counts are first used to generate the code values - * without bit reversal. - */ - for (bits = 1; bits <= MAX_BITS; bits++) { - next_code[bits] = code = (code + bl_count[bits-1]) << 1; - } - /* Check that the bit counts in bl_count are consistent. The last code - * must be all ones. - */ - Assert (code + bl_count[MAX_BITS]-1 == (1<dyn_tree; - const ct_data *stree = desc->stat_desc->static_tree; - int elems = desc->stat_desc->elems; - int n, m; /* iterate over heap elements */ - int max_code = -1; /* largest code with non zero frequency */ - int node; /* new node being created */ - - /* Construct the initial heap, with least frequent element in - * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. - * heap[0] is not used. - */ - s->heap_len = 0, s->heap_max = HEAP_SIZE; - - for (n = 0; n < elems; n++) { - if (tree[n].Freq != 0) { - s->heap[++(s->heap_len)] = max_code = n; - s->depth[n] = 0; - } else { - tree[n].Len = 0; - } - } - - /* The pkzip format requires that at least one distance code exists, - * and that at least one bit should be sent even if there is only one - * possible code. So to avoid special checks later on we force at least - * two codes of non zero frequency. - */ - while (s->heap_len < 2) { - node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); - tree[node].Freq = 1; - s->depth[node] = 0; - s->opt_len--; if (stree) s->static_len -= stree[node].Len; - /* node is 0 or 1 so it does not have extra bits */ - } - desc->max_code = max_code; - - /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, - * establish sub-heaps of increasing lengths: - */ - for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); - - /* Construct the Huffman tree by repeatedly combining the least two - * frequent nodes. - */ - node = elems; /* next internal node of the tree */ - do { - pqremove(s, tree, n); /* n = node of least frequency */ - m = s->heap[SMALLEST]; /* m = node of next least frequency */ - - s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */ - s->heap[--(s->heap_max)] = m; - - /* Create a new node father of n and m */ - tree[node].Freq = tree[n].Freq + tree[m].Freq; - s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ? - s->depth[n] : s->depth[m]) + 1); - tree[n].Dad = tree[m].Dad = (ush)node; -#ifdef DUMP_BL_TREE - if (tree == s->bl_tree) { - fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)", - node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq); - } -#endif - /* and insert the new node in the heap */ - s->heap[SMALLEST] = node++; - pqdownheap(s, tree, SMALLEST); - - } while (s->heap_len >= 2); - - s->heap[--(s->heap_max)] = s->heap[SMALLEST]; - - /* At this point, the fields freq and dad are set. We can now - * generate the bit lengths. - */ - gen_bitlen(s, (tree_desc *)desc); - - /* The field len is now set, we can generate the bit codes */ - gen_codes ((ct_data *)tree, max_code, s->bl_count); -} - -/* =========================================================================== - * Scan a literal or distance tree to determine the frequencies of the codes - * in the bit length tree. - */ -local void scan_tree (s, tree, max_code) - deflate_state *s; - ct_data *tree; /* the tree to be scanned */ - int max_code; /* and its largest code of non zero frequency */ -{ - int n; /* iterates over all tree elements */ - int prevlen = -1; /* last emitted length */ - int curlen; /* length of current code */ - int nextlen = tree[0].Len; /* length of next code */ - int count = 0; /* repeat count of the current code */ - int max_count = 7; /* max repeat count */ - int min_count = 4; /* min repeat count */ - - if (nextlen == 0) max_count = 138, min_count = 3; - tree[max_code+1].Len = (ush)0xffff; /* guard */ - - for (n = 0; n <= max_code; n++) { - curlen = nextlen; nextlen = tree[n+1].Len; - if (++count < max_count && curlen == nextlen) { - continue; - } else if (count < min_count) { - s->bl_tree[curlen].Freq += count; - } else if (curlen != 0) { - if (curlen != prevlen) s->bl_tree[curlen].Freq++; - s->bl_tree[REP_3_6].Freq++; - } else if (count <= 10) { - s->bl_tree[REPZ_3_10].Freq++; - } else { - s->bl_tree[REPZ_11_138].Freq++; - } - count = 0; prevlen = curlen; - if (nextlen == 0) { - max_count = 138, min_count = 3; - } else if (curlen == nextlen) { - max_count = 6, min_count = 3; - } else { - max_count = 7, min_count = 4; - } - } -} - -/* =========================================================================== - * Send a literal or distance tree in compressed form, using the codes in - * bl_tree. - */ -local void send_tree (s, tree, max_code) - deflate_state *s; - ct_data *tree; /* the tree to be scanned */ - int max_code; /* and its largest code of non zero frequency */ -{ - int n; /* iterates over all tree elements */ - int prevlen = -1; /* last emitted length */ - int curlen; /* length of current code */ - int nextlen = tree[0].Len; /* length of next code */ - int count = 0; /* repeat count of the current code */ - int max_count = 7; /* max repeat count */ - int min_count = 4; /* min repeat count */ - - /* tree[max_code+1].Len = -1; */ /* guard already set */ - if (nextlen == 0) max_count = 138, min_count = 3; - - for (n = 0; n <= max_code; n++) { - curlen = nextlen; nextlen = tree[n+1].Len; - if (++count < max_count && curlen == nextlen) { - continue; - } else if (count < min_count) { - do { send_code(s, curlen, s->bl_tree); } while (--count != 0); - - } else if (curlen != 0) { - if (curlen != prevlen) { - send_code(s, curlen, s->bl_tree); count--; - } - Assert(count >= 3 && count <= 6, " 3_6?"); - send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); - - } else if (count <= 10) { - send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); - - } else { - send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); - } - count = 0; prevlen = curlen; - if (nextlen == 0) { - max_count = 138, min_count = 3; - } else if (curlen == nextlen) { - max_count = 6, min_count = 3; - } else { - max_count = 7, min_count = 4; - } - } -} - -/* =========================================================================== - * Construct the Huffman tree for the bit lengths and return the index in - * bl_order of the last bit length code to send. - */ -local int build_bl_tree(s) - deflate_state *s; -{ - int max_blindex; /* index of last bit length code of non zero freq */ - - /* Determine the bit length frequencies for literal and distance trees */ - scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code); - scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code); - - /* Build the bit length tree: */ - build_tree(s, (tree_desc *)(&(s->bl_desc))); - /* opt_len now includes the length of the tree representations, except - * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. - */ - - /* Determine the number of bit length codes to send. The pkzip format - * requires that at least 4 bit length codes be sent. (appnote.txt says - * 3 but the actual value used is 4.) - */ - for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - } - /* Update opt_len to include the bit length tree and counts */ - s->opt_len += 3*(max_blindex+1) + 5+5+4; - Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", - s->opt_len, s->static_len)); - - return max_blindex; -} - -/* =========================================================================== - * Send the header for a block using dynamic Huffman trees: the counts, the - * lengths of the bit length codes, the literal tree and the distance tree. - * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. - */ -local void send_all_trees(s, lcodes, dcodes, blcodes) - deflate_state *s; - int lcodes, dcodes, blcodes; /* number of codes for each tree */ -{ - int rank; /* index in bl_order */ - - Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); - Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, - "too many codes"); - Tracev((stderr, "\nbl counts: ")); - send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */ - send_bits(s, dcodes-1, 5); - send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */ - for (rank = 0; rank < blcodes; rank++) { - Tracev((stderr, "\nbl code %2d ", bl_order[rank])); - send_bits(s, s->bl_tree[bl_order[rank]].Len, 3); - } - Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); - - send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */ - Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); - - send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */ - Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); -} - -/* =========================================================================== - * Send a stored block - */ -void _tr_stored_block(s, buf, stored_len, eof) - deflate_state *s; - charf *buf; /* input block */ - ulg stored_len; /* length of input block */ - int eof; /* true if this is the last block for a file */ -{ - send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */ -#ifdef DEBUG - s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; - s->compressed_len += (stored_len + 4) << 3; -#endif - copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ -} - -/* =========================================================================== - * Send one empty static block to give enough lookahead for inflate. - * This takes 10 bits, of which 7 may remain in the bit buffer. - * The current inflate code requires 9 bits of lookahead. If the - * last two codes for the previous block (real code plus EOB) were coded - * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode - * the last real code. In this case we send two empty static blocks instead - * of one. (There are no problems if the previous block is stored or fixed.) - * To simplify the code, we assume the worst case of last real code encoded - * on one bit only. - */ -void _tr_align(s) - deflate_state *s; -{ - send_bits(s, STATIC_TREES<<1, 3); - send_code(s, END_BLOCK, static_ltree); -#ifdef DEBUG - s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -#endif - bi_flush(s); - /* Of the 10 bits for the empty block, we have already sent - * (10 - bi_valid) bits. The lookahead for the last real code (before - * the EOB of the previous block) was thus at least one plus the length - * of the EOB plus what we have just sent of the empty static block. - */ - if (1 + s->last_eob_len + 10 - s->bi_valid < 9) { - send_bits(s, STATIC_TREES<<1, 3); - send_code(s, END_BLOCK, static_ltree); -#ifdef DEBUG - s->compressed_len += 10L; -#endif - bi_flush(s); - } - s->last_eob_len = 7; -} - -/* =========================================================================== - * Determine the best encoding for the current block: dynamic trees, static - * trees or store, and output the encoded block to the zip file. - */ -void _tr_flush_block(s, buf, stored_len, eof) - deflate_state *s; - charf *buf; /* input block, or NULL if too old */ - ulg stored_len; /* length of input block */ - int eof; /* true if this is the last block for a file */ -{ - ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ - int max_blindex = 0; /* index of last bit length code of non zero freq */ - - /* Build the Huffman trees unless a stored block is forced */ - if (s->level > 0) { - - /* Check if the file is binary or text */ - if (stored_len > 0 && s->strm->data_type == Z_UNKNOWN) - set_data_type(s); - - /* Construct the literal and distance trees */ - build_tree(s, (tree_desc *)(&(s->l_desc))); - Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, - s->static_len)); - - build_tree(s, (tree_desc *)(&(s->d_desc))); - Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, - s->static_len)); - /* At this point, opt_len and static_len are the total bit lengths of - * the compressed block data, excluding the tree representations. - */ - - /* Build the bit length tree for the above two trees, and get the index - * in bl_order of the last bit length code to send. - */ - max_blindex = build_bl_tree(s); - - /* Determine the best encoding. Compute the block lengths in bytes. */ - opt_lenb = (s->opt_len+3+7)>>3; - static_lenb = (s->static_len+3+7)>>3; - - Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", - opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, - s->last_lit)); - - if (static_lenb <= opt_lenb) opt_lenb = static_lenb; - - } else { - Assert(buf != (char*)0, "lost buf"); - opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ - } - -#ifdef FORCE_STORED - if (buf != (char*)0) { /* force stored block */ -#else - if (stored_len+4 <= opt_lenb && buf != (char*)0) { - /* 4: two words for the lengths */ -#endif - /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. - * Otherwise we can't have processed more than WSIZE input bytes since - * the last block flush, because compression would have been - * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to - * transform a block into a stored block. - */ - _tr_stored_block(s, buf, stored_len, eof); - -#ifdef FORCE_STATIC - } else if (static_lenb >= 0) { /* force static trees */ -#else - } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { -#endif - send_bits(s, (STATIC_TREES<<1)+eof, 3); - compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree); -#ifdef DEBUG - s->compressed_len += 3 + s->static_len; -#endif - } else { - send_bits(s, (DYN_TREES<<1)+eof, 3); - send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1, - max_blindex+1); - compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree); -#ifdef DEBUG - s->compressed_len += 3 + s->opt_len; -#endif - } - Assert (s->compressed_len == s->bits_sent, "bad compressed size"); - /* The above check is made mod 2^32, for files larger than 512 MB - * and uLong implemented on 32 bits. - */ - init_block(s); - - if (eof) { - bi_windup(s); -#ifdef DEBUG - s->compressed_len += 7; /* align on byte boundary */ -#endif - } - Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, - s->compressed_len-7*eof)); -} - -/* =========================================================================== - * Save the match info and tally the frequency counts. Return true if - * the current block must be flushed. - */ -int _tr_tally (s, dist, lc) - deflate_state *s; - unsigned dist; /* distance of matched string */ - unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ -{ - s->d_buf[s->last_lit] = (ush)dist; - s->l_buf[s->last_lit++] = (uch)lc; - if (dist == 0) { - /* lc is the unmatched char */ - s->dyn_ltree[lc].Freq++; - } else { - s->matches++; - /* Here, lc is the match length - MIN_MATCH */ - dist--; /* dist = match distance - 1 */ - Assert((ush)dist < (ush)MAX_DIST(s) && - (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && - (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); - - s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++; - s->dyn_dtree[d_code(dist)].Freq++; - } - -#ifdef TRUNCATE_BLOCK - /* Try to guess if it is profitable to stop the current block here */ - if ((s->last_lit & 0x1fff) == 0 && s->level > 2) { - /* Compute an upper bound for the compressed length */ - ulg out_length = (ulg)s->last_lit*8L; - ulg in_length = (ulg)((long)s->strstart - s->block_start); - int dcode; - for (dcode = 0; dcode < D_CODES; dcode++) { - out_length += (ulg)s->dyn_dtree[dcode].Freq * - (5L+extra_dbits[dcode]); - } - out_length >>= 3; - Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", - s->last_lit, in_length, out_length, - 100L - out_length*100L/in_length)); - if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1; - } -#endif - return (s->last_lit == s->lit_bufsize-1); - /* We avoid equality with lit_bufsize because of wraparound at 64K - * on 16 bit machines and because stored blocks are restricted to - * 64K-1 bytes. - */ -} - -/* =========================================================================== - * Send the block data compressed using the given Huffman trees - */ -local void compress_block(s, ltree, dtree) - deflate_state *s; - ct_data *ltree; /* literal tree */ - ct_data *dtree; /* distance tree */ -{ - unsigned dist; /* distance of matched string */ - int lc; /* match length or unmatched char (if dist == 0) */ - unsigned lx = 0; /* running index in l_buf */ - unsigned code; /* the code to send */ - int extra; /* number of extra bits to send */ - - if (s->last_lit != 0) do { - dist = s->d_buf[lx]; - lc = s->l_buf[lx++]; - if (dist == 0) { - send_code(s, lc, ltree); /* send a literal byte */ - Tracecv(isgraph(lc), (stderr," '%c' ", lc)); - } else { - /* Here, lc is the match length - MIN_MATCH */ - code = _length_code[lc]; - send_code(s, code+LITERALS+1, ltree); /* send the length code */ - extra = extra_lbits[code]; - if (extra != 0) { - lc -= base_length[code]; - send_bits(s, lc, extra); /* send the extra length bits */ - } - dist--; /* dist is now the match distance - 1 */ - code = d_code(dist); - Assert (code < D_CODES, "bad d_code"); - - send_code(s, code, dtree); /* send the distance code */ - extra = extra_dbits[code]; - if (extra != 0) { - dist -= base_dist[code]; - send_bits(s, dist, extra); /* send the extra distance bits */ - } - } /* literal or match pair ? */ - - /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ - Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, - "pendingBuf overflow"); - - } while (lx < s->last_lit); - - send_code(s, END_BLOCK, ltree); - s->last_eob_len = ltree[END_BLOCK].Len; -} - -/* =========================================================================== - * Set the data type to BINARY or TEXT, using a crude approximation: - * set it to Z_TEXT if all symbols are either printable characters (33 to 255) - * or white spaces (9 to 13, or 32); or set it to Z_BINARY otherwise. - * IN assertion: the fields Freq of dyn_ltree are set. - */ -local void set_data_type(s) - deflate_state *s; -{ - int n; - - for (n = 0; n < 9; n++) - if (s->dyn_ltree[n].Freq != 0) - break; - if (n == 9) - for (n = 14; n < 32; n++) - if (s->dyn_ltree[n].Freq != 0) - break; - s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY; -} - -/* =========================================================================== - * Reverse the first len bits of a code, using straightforward code (a faster - * method would use a table) - * IN assertion: 1 <= len <= 15 - */ -local unsigned bi_reverse(code, len) - unsigned code; /* the value to invert */ - int len; /* its bit length */ -{ - register unsigned res = 0; - do { - res |= code & 1; - code >>= 1, res <<= 1; - } while (--len > 0); - return res >> 1; -} - -/* =========================================================================== - * Flush the bit buffer, keeping at most 7 bits in it. - */ -local void bi_flush(s) - deflate_state *s; -{ - if (s->bi_valid == 16) { - put_short(s, s->bi_buf); - s->bi_buf = 0; - s->bi_valid = 0; - } else if (s->bi_valid >= 8) { - put_byte(s, (Byte)s->bi_buf); - s->bi_buf >>= 8; - s->bi_valid -= 8; - } -} - -/* =========================================================================== - * Flush the bit buffer and align the output on a byte boundary - */ -local void bi_windup(s) - deflate_state *s; -{ - if (s->bi_valid > 8) { - put_short(s, s->bi_buf); - } else if (s->bi_valid > 0) { - put_byte(s, (Byte)s->bi_buf); - } - s->bi_buf = 0; - s->bi_valid = 0; -#ifdef DEBUG - s->bits_sent = (s->bits_sent+7) & ~7; -#endif -} - -/* =========================================================================== - * Copy a stored block, storing first the length and its - * one's complement if requested. - */ -local void copy_block(s, buf, len, header) - deflate_state *s; - charf *buf; /* the input data */ - unsigned len; /* its length */ - int header; /* true if block header must be written */ -{ - bi_windup(s); /* align on byte boundary */ - s->last_eob_len = 8; /* enough lookahead for inflate */ - - if (header) { - put_short(s, (ush)len); - put_short(s, (ush)~len); -#ifdef DEBUG - s->bits_sent += 2*16; -#endif - } -#ifdef DEBUG - s->bits_sent += (ulg)len<<3; -#endif - while (len--) { - put_byte(s, *buf++); - } -} diff --git a/3rdparty/openctm/tools/zlib/trees.h b/3rdparty/openctm/tools/zlib/trees.h deleted file mode 100644 index 72facf900..000000000 --- a/3rdparty/openctm/tools/zlib/trees.h +++ /dev/null @@ -1,128 +0,0 @@ -/* header created automatically with -DGEN_TREES_H */ - -local const ct_data static_ltree[L_CODES+2] = { -{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}}, -{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}}, -{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}}, -{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}}, -{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}}, -{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}}, -{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}}, -{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}}, -{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}}, -{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}}, -{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}}, -{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}}, -{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}}, -{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}}, -{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}}, -{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}}, -{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}}, -{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}}, -{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}}, -{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}}, -{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}}, -{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}}, -{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}}, -{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}}, -{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}}, -{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}}, -{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}}, -{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}}, -{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}}, -{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}}, -{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}}, -{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}}, -{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}}, -{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}}, -{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}}, -{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}}, -{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}}, -{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}}, -{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}}, -{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}}, -{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}}, -{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}}, -{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}}, -{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}}, -{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}}, -{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}}, -{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}}, -{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}}, -{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}}, -{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}}, -{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}}, -{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}}, -{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}}, -{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}}, -{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}}, -{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}}, -{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}}, -{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}} -}; - -local const ct_data static_dtree[D_CODES] = { -{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}}, -{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}}, -{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}}, -{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}}, -{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}}, -{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}} -}; - -const uch _dist_code[DIST_CODE_LEN] = { - 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, - 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, -10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, -11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, -18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 -}; - -const uch _length_code[MAX_MATCH-MIN_MATCH+1]= { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, -13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, -17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, -19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, -22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28 -}; - -local const int base_length[LENGTH_CODES] = { -0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, -64, 80, 96, 112, 128, 160, 192, 224, 0 -}; - -local const int base_dist[D_CODES] = { - 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, - 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, - 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576 -}; - diff --git a/3rdparty/openctm/tools/zlib/uncompr.c b/3rdparty/openctm/tools/zlib/uncompr.c deleted file mode 100644 index b59e3d0de..000000000 --- a/3rdparty/openctm/tools/zlib/uncompr.c +++ /dev/null @@ -1,61 +0,0 @@ -/* uncompr.c -- decompress a memory buffer - * Copyright (C) 1995-2003 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#define ZLIB_INTERNAL -#include "zlib.h" - -/* =========================================================================== - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be large enough to hold the - entire uncompressed data. (The size of the uncompressed data must have - been saved previously by the compressor and transmitted to the decompressor - by some mechanism outside the scope of this compression library.) - Upon exit, destLen is the actual size of the compressed buffer. - This function can be used to decompress a whole file at once if the - input file is mmap'ed. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted. -*/ -int ZEXPORT uncompress (dest, destLen, source, sourceLen) - Bytef *dest; - uLongf *destLen; - const Bytef *source; - uLong sourceLen; -{ - z_stream stream; - int err; - - stream.next_in = (Bytef*)source; - stream.avail_in = (uInt)sourceLen; - /* Check for source > 64K on 16-bit machine: */ - if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; - - stream.next_out = dest; - stream.avail_out = (uInt)*destLen; - if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; - - stream.zalloc = (alloc_func)0; - stream.zfree = (free_func)0; - - err = inflateInit(&stream); - if (err != Z_OK) return err; - - err = inflate(&stream, Z_FINISH); - if (err != Z_STREAM_END) { - inflateEnd(&stream); - if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) - return Z_DATA_ERROR; - return err; - } - *destLen = stream.total_out; - - err = inflateEnd(&stream); - return err; -} diff --git a/3rdparty/openctm/tools/zlib/zconf.h b/3rdparty/openctm/tools/zlib/zconf.h deleted file mode 100644 index 03a9431c8..000000000 --- a/3rdparty/openctm/tools/zlib/zconf.h +++ /dev/null @@ -1,332 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - */ -#ifdef Z_PREFIX -# define deflateInit_ z_deflateInit_ -# define deflate z_deflate -# define deflateEnd z_deflateEnd -# define inflateInit_ z_inflateInit_ -# define inflate z_inflate -# define inflateEnd z_inflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateSetDictionary z_deflateSetDictionary -# define deflateCopy z_deflateCopy -# define deflateReset z_deflateReset -# define deflateParams z_deflateParams -# define deflateBound z_deflateBound -# define deflatePrime z_deflatePrime -# define inflateInit2_ z_inflateInit2_ -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateCopy z_inflateCopy -# define inflateReset z_inflateReset -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# define uncompress z_uncompress -# define adler32 z_adler32 -# define crc32 z_crc32 -# define get_crc_table z_get_crc_table -# define zError z_zError - -# define alloc_func z_alloc_func -# define free_func z_free_func -# define in_func z_in_func -# define out_func z_out_func -# define Byte z_Byte -# define uInt z_uInt -# define uLong z_uLong -# define Bytef z_Bytef -# define charf z_charf -# define intf z_intf -# define uIntf z_uIntf -# define uLongf z_uLongf -# define voidpf z_voidpf -# define voidp z_voidp -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ -# include /* for off_t */ -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# define z_off_t off_t -#endif -#ifndef SEEK_SET -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif -#ifndef z_off_t -# define z_off_t long -#endif - -#if defined(__OS400__) -# define NO_vsnprintf -#endif - -#if defined(__MVS__) -# define NO_vsnprintf -# ifdef FAR -# undef FAR -# endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) -# pragma map(deflateInit_,"DEIN") -# pragma map(deflateInit2_,"DEIN2") -# pragma map(deflateEnd,"DEEND") -# pragma map(deflateBound,"DEBND") -# pragma map(inflateInit_,"ININ") -# pragma map(inflateInit2_,"ININ2") -# pragma map(inflateEnd,"INEND") -# pragma map(inflateSync,"INSY") -# pragma map(inflateSetDictionary,"INSEDI") -# pragma map(compressBound,"CMBND") -# pragma map(inflate_table,"INTABL") -# pragma map(inflate_fast,"INFA") -# pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/3rdparty/openctm/tools/zlib/zlib.h b/3rdparty/openctm/tools/zlib/zlib.h deleted file mode 100644 index 022817927..000000000 --- a/3rdparty/openctm/tools/zlib/zlib.h +++ /dev/null @@ -1,1357 +0,0 @@ -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.3, July 18th, 2005 - - Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - - The data format used by the zlib library is described by RFCs (Request for - Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt - (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). -*/ - -#ifndef ZLIB_H -#define ZLIB_H - -#include "zconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define ZLIB_VERSION "1.2.3" -#define ZLIB_VERNUM 0x1230 - -/* - The 'zlib' compression library provides in-memory compression and - decompression functions, including integrity checks of the uncompressed - data. This version of the library supports only one compression method - (deflation) but other algorithms will be added later and will have the same - stream interface. - - Compression can be done in a single step if the buffers are large - enough (for example if an input file is mmap'ed), or can be done by - repeated calls of the compression function. In the latter case, the - application must provide more input and/or consume the output - (providing more output space) before each call. - - The compressed data format used by default by the in-memory functions is - the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped - around a deflate stream, which is itself documented in RFC 1951. - - The library also supports reading and writing files in gzip (.gz) format - with an interface similar to that of stdio using the functions that start - with "gz". The gzip format is different from the zlib format. gzip is a - gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. - - This library can optionally read and write gzip streams in memory as well. - - The zlib format was designed to be compact and fast for use in memory - and on communications channels. The gzip format was designed for single- - file compression on file systems, has a larger header than zlib to maintain - directory information, and uses a different, slower check method than zlib. - - The library does not install any signal handler. The decoder checks - the consistency of the compressed data, so the library should never - crash even in case of corrupted input. -*/ - -typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); -typedef void (*free_func) OF((voidpf opaque, voidpf address)); - -struct internal_state; - -typedef struct z_stream_s { - Bytef *next_in; /* next input byte */ - uInt avail_in; /* number of bytes available at next_in */ - uLong total_in; /* total nb of input bytes read so far */ - - Bytef *next_out; /* next output byte should be put there */ - uInt avail_out; /* remaining free space at next_out */ - uLong total_out; /* total nb of bytes output so far */ - - char *msg; /* last error message, NULL if no error */ - struct internal_state FAR *state; /* not visible by applications */ - - alloc_func zalloc; /* used to allocate the internal state */ - free_func zfree; /* used to free the internal state */ - voidpf opaque; /* private data object passed to zalloc and zfree */ - - int data_type; /* best guess about the data type: binary or text */ - uLong adler; /* adler32 value of the uncompressed data */ - uLong reserved; /* reserved for future use */ -} z_stream; - -typedef z_stream FAR *z_streamp; - -/* - gzip header information passed to and from zlib routines. See RFC 1952 - for more details on the meanings of these fields. -*/ -typedef struct gz_header_s { - int text; /* true if compressed data believed to be text */ - uLong time; /* modification time */ - int xflags; /* extra flags (not used when writing a gzip file) */ - int os; /* operating system */ - Bytef *extra; /* pointer to extra field or Z_NULL if none */ - uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ - uInt extra_max; /* space at extra (only when reading header) */ - Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ - uInt name_max; /* space at name (only when reading header) */ - Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ - uInt comm_max; /* space at comment (only when reading header) */ - int hcrc; /* true if there was or will be a header crc */ - int done; /* true when done reading gzip header (not used - when writing a gzip file) */ -} gz_header; - -typedef gz_header FAR *gz_headerp; - -/* - The application must update next_in and avail_in when avail_in has - dropped to zero. It must update next_out and avail_out when avail_out - has dropped to zero. The application must initialize zalloc, zfree and - opaque before calling the init function. All other fields are set by the - compression library and must not be updated by the application. - - The opaque value provided by the application will be passed as the first - parameter for calls of zalloc and zfree. This can be useful for custom - memory management. The compression library attaches no meaning to the - opaque value. - - zalloc must return Z_NULL if there is not enough memory for the object. - If zlib is used in a multi-threaded application, zalloc and zfree must be - thread safe. - - On 16-bit systems, the functions zalloc and zfree must be able to allocate - exactly 65536 bytes, but will not be required to allocate more than this - if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, - pointers returned by zalloc for objects of exactly 65536 bytes *must* - have their offset normalized to zero. The default allocation function - provided by this library ensures this (see zutil.c). To reduce memory - requirements and avoid any allocation of 64K objects, at the expense of - compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h). - - The fields total_in and total_out can be used for statistics or - progress reports. After compression, total_in holds the total size of - the uncompressed data and may be saved for use in the decompressor - (particularly if the decompressor wants to decompress everything in - a single step). -*/ - - /* constants */ - -#define Z_NO_FLUSH 0 -#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */ -#define Z_SYNC_FLUSH 2 -#define Z_FULL_FLUSH 3 -#define Z_FINISH 4 -#define Z_BLOCK 5 -/* Allowed flush values; see deflate() and inflate() below for details */ - -#define Z_OK 0 -#define Z_STREAM_END 1 -#define Z_NEED_DICT 2 -#define Z_ERRNO (-1) -#define Z_STREAM_ERROR (-2) -#define Z_DATA_ERROR (-3) -#define Z_MEM_ERROR (-4) -#define Z_BUF_ERROR (-5) -#define Z_VERSION_ERROR (-6) -/* Return codes for the compression/decompression functions. Negative - * values are errors, positive values are used for special but normal events. - */ - -#define Z_NO_COMPRESSION 0 -#define Z_BEST_SPEED 1 -#define Z_BEST_COMPRESSION 9 -#define Z_DEFAULT_COMPRESSION (-1) -/* compression levels */ - -#define Z_FILTERED 1 -#define Z_HUFFMAN_ONLY 2 -#define Z_RLE 3 -#define Z_FIXED 4 -#define Z_DEFAULT_STRATEGY 0 -/* compression strategy; see deflateInit2() below for details */ - -#define Z_BINARY 0 -#define Z_TEXT 1 -#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ -#define Z_UNKNOWN 2 -/* Possible values of the data_type field (though see inflate()) */ - -#define Z_DEFLATED 8 -/* The deflate compression method (the only one supported in this version) */ - -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define zlib_version zlibVersion() -/* for compatibility with versions < 1.0.2 */ - - /* basic functions */ - -ZEXTERN const char * ZEXPORT zlibVersion OF((void)); -/* The application can compare zlibVersion and ZLIB_VERSION for consistency. - If the first character differs, the library code actually used is - not compatible with the zlib.h header file used by the application. - This check is automatically made by deflateInit and inflateInit. - */ - -/* -ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); - - Initializes the internal stream state for compression. The fields - zalloc, zfree and opaque must be initialized before by the caller. - If zalloc and zfree are set to Z_NULL, deflateInit updates them to - use default allocation functions. - - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: - 1 gives best speed, 9 gives best compression, 0 gives no compression at - all (the input data is simply copied a block at a time). - Z_DEFAULT_COMPRESSION requests a default compromise between speed and - compression (currently equivalent to level 6). - - deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if level is not a valid compression level, - Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible - with the version assumed by the caller (ZLIB_VERSION). - msg is set to null if there is no error message. deflateInit does not - perform any compression: this will be done by deflate(). -*/ - - -ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); -/* - deflate compresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce some - output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. deflate performs one or both of the - following actions: - - - Compress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in and avail_in are updated and - processing will resume at this point for the next call of deflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. This action is forced if the parameter flush is non zero. - Forcing flush frequently degrades the compression ratio, so this parameter - should be set only when necessary (in interactive applications). - Some output may be provided even if flush is not set. - - Before the call of deflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating avail_in or avail_out accordingly; avail_out - should never be zero before the call. The application can consume the - compressed output when it wants, for example when the output buffer is full - (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK - and with zero avail_out, it must be called again after making room in the - output buffer because there might be more output pending. - - Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to - decide how much data to accumualte before producing output, in order to - maximize compression. - - If the parameter flush is set to Z_SYNC_FLUSH, all pending output is - flushed to the output buffer and the output is aligned on a byte boundary, so - that the decompressor can get all input data available so far. (In particular - avail_in is zero after the call if enough output space has been provided - before the call.) Flushing may degrade compression for some compression - algorithms and so it should be used only when necessary. - - If flush is set to Z_FULL_FLUSH, all output is flushed as with - Z_SYNC_FLUSH, and the compression state is reset so that decompression can - restart from this point if previous compressed data has been damaged or if - random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - compression. - - If deflate returns with avail_out == 0, this function must be called again - with the same value of the flush parameter and more output space (updated - avail_out), until the flush is complete (deflate returns with non-zero - avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that - avail_out is greater than six to avoid repeated flush markers due to - avail_out == 0 on return. - - If the parameter flush is set to Z_FINISH, pending input is processed, - pending output is flushed and deflate returns with Z_STREAM_END if there - was enough output space; if deflate returns with Z_OK, this function must be - called again with Z_FINISH and more output space (updated avail_out) but no - more input data, until it returns with Z_STREAM_END or an error. After - deflate has returned Z_STREAM_END, the only possible operations on the - stream are deflateReset or deflateEnd. - - Z_FINISH can be used immediately after deflateInit if all the compression - is to be done in a single step. In this case, avail_out must be at least - the value returned by deflateBound (see below). If deflate does not return - Z_STREAM_END, then it must be called again as described above. - - deflate() sets strm->adler to the adler32 checksum of all input read - so far (that is, total_in bytes). - - deflate() may update strm->data_type if it can make a good guess about - the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered - binary. This field is only for information purposes and does not affect - the compression algorithm in any manner. - - deflate() returns Z_OK if some progress has been made (more input - processed or more output produced), Z_STREAM_END if all input has been - consumed and all output has been produced (only when flush is set to - Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example - if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible - (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not - fatal, and deflate() can be called again with more input and more output - space to continue compressing. -*/ - - -ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the - stream state was inconsistent, Z_DATA_ERROR if the stream was freed - prematurely (some input or output was discarded). In the error case, - msg may be set but then points to a static string (which must not be - deallocated). -*/ - - -/* -ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); - - Initializes the internal stream state for decompression. The fields - next_in, avail_in, zalloc, zfree and opaque must be initialized before by - the caller. If next_in is not Z_NULL and avail_in is large enough (the exact - value depends on the compression method), inflateInit determines the - compression method from the zlib header and allocates all data structures - accordingly; otherwise the allocation will be deferred to the first call of - inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to - use default allocation functions. - - inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller. msg is set to null if there is no error - message. inflateInit does not perform any decompression apart from reading - the zlib header if present: this will be done by inflate(). (So next_in and - avail_in may be modified, but next_out and avail_out are unchanged.) -*/ - - -ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); -/* - inflate decompresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. inflate performs one or both of the - following actions: - - - Decompress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in is updated and processing - will resume at this point for the next call of inflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. inflate() provides as much output as possible, until there - is no more input data or no more space in the output buffer (see below - about the flush parameter). - - Before the call of inflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating the next_* and avail_* values accordingly. - The application can consume the uncompressed output when it wants, for - example when the output buffer is full (avail_out == 0), or after each - call of inflate(). If inflate returns Z_OK and with zero avail_out, it - must be called again after making room in the output buffer because there - might be more output pending. - - The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, - Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much - output as possible to the output buffer. Z_BLOCK requests that inflate() stop - if and when it gets to the next deflate block boundary. When decoding the - zlib or gzip format, this will cause inflate() to return immediately after - the header and before the first block. When doing a raw inflate, inflate() - will go ahead and process the first block, and will return when it gets to - the end of that block, or when it runs out of data. - - The Z_BLOCK option assists in appending to or combining deflate streams. - Also to assist in this, on return inflate() will set strm->data_type to the - number of unused bits in the last byte taken from strm->next_in, plus 64 - if inflate() is currently decoding the last block in the deflate stream, - plus 128 if inflate() returned immediately after decoding an end-of-block - code or decoding the complete header up to just before the first byte of the - deflate stream. The end-of-block will not be indicated until all of the - uncompressed data from that block has been written to strm->next_out. The - number of unused bits may in general be greater than seven, except when - bit 7 of data_type is set, in which case the number of unused bits will be - less than eight. - - inflate() should normally be called until it returns Z_STREAM_END or an - error. However if all decompression is to be performed in a single step - (a single call of inflate), the parameter flush should be set to - Z_FINISH. In this case all pending input is processed and all pending - output is flushed; avail_out must be large enough to hold all the - uncompressed data. (The size of the uncompressed data may have been saved - by the compressor for this purpose.) The next operation on this stream must - be inflateEnd to deallocate the decompression state. The use of Z_FINISH - is never required, but can be used to inform inflate that a faster approach - may be used for the single inflate() call. - - In this implementation, inflate() always flushes as much output as - possible to the output buffer, and always uses the faster approach on the - first call. So the only effect of the flush parameter in this implementation - is on the return value of inflate(), as noted below, or when it returns early - because Z_BLOCK is used. - - If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm->adler to the adler32 checksum of the dictionary - chosen by the compressor and returns Z_NEED_DICT; otherwise it sets - strm->adler to the adler32 checksum of all output produced so far (that is, - total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described - below. At the end of the stream, inflate() checks that its computed adler32 - checksum is equal to that saved by the compressor and returns Z_STREAM_END - only if the checksum is correct. - - inflate() will decompress and check either zlib-wrapped or gzip-wrapped - deflate data. The header type is detected automatically. Any information - contained in the gzip header is not retained, so applications that need that - information should instead use raw inflate, see inflateInit2() below, or - inflateBack() and perform their own processing of the gzip header and - trailer. - - inflate() returns Z_OK if some progress has been made (more input processed - or more output produced), Z_STREAM_END if the end of the compressed data has - been reached and all uncompressed output has been produced, Z_NEED_DICT if a - preset dictionary is needed at this point, Z_DATA_ERROR if the input data was - corrupted (input stream not conforming to the zlib format or incorrect check - value), Z_STREAM_ERROR if the stream structure was inconsistent (for example - if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory, - Z_BUF_ERROR if no progress is possible or if there was not enough room in the - output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and - inflate() can be called again with more input and more output space to - continue decompressing. If Z_DATA_ERROR is returned, the application may then - call inflateSync() to look for a good compression block if a partial recovery - of the data is desired. -*/ - - -ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state - was inconsistent. In the error case, msg may be set but then points to a - static string (which must not be deallocated). -*/ - - /* Advanced functions */ - -/* - The following functions are needed only in some special applications. -*/ - -/* -ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, - int level, - int method, - int windowBits, - int memLevel, - int strategy)); - - This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by - the caller. - - The method parameter is the compression method. It must be Z_DEFLATED in - this version of the library. - - The windowBits parameter is the base two logarithm of the window size - (the size of the history buffer). It should be in the range 8..15 for this - version of the library. Larger values of this parameter result in better - compression at the expense of memory usage. The default value is 15 if - deflateInit is used instead. - - windowBits can also be -8..-15 for raw deflate. In this case, -windowBits - determines the window size. deflate() will then generate raw deflate data - with no zlib header or trailer, and will not compute an adler32 check value. - - windowBits can also be greater than 15 for optional gzip encoding. Add - 16 to windowBits to write a simple gzip header and trailer around the - compressed data instead of a zlib wrapper. The gzip header will have no - file name, no extra data, no comment, no modification time (set to zero), - no header crc, and the operating system will be set to 255 (unknown). If a - gzip stream is being written, strm->adler is a crc32 instead of an adler32. - - The memLevel parameter specifies how much memory should be allocated - for the internal compression state. memLevel=1 uses minimum memory but - is slow and reduces compression ratio; memLevel=9 uses maximum memory - for optimal speed. The default value is 8. See zconf.h for total memory - usage as a function of windowBits and memLevel. - - The strategy parameter is used to tune the compression algorithm. Use the - value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a - filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no - string match), or Z_RLE to limit match distances to one (run-length - encoding). Filtered data consists mostly of small values with a somewhat - random distribution. In this case, the compression algorithm is tuned to - compress them better. The effect of Z_FILTERED is to force more Huffman - coding and less string matching; it is somewhat intermediate between - Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as - Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy - parameter only affects the compression ratio but not the correctness of the - compressed output even if it is not set appropriately. Z_FIXED prevents the - use of dynamic Huffman codes, allowing for a simpler decoder for special - applications. - - deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid - method). msg is set to null if there is no error message. deflateInit2 does - not perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the compression dictionary from the given byte sequence - without producing any compressed output. This function must be called - immediately after deflateInit, deflateInit2 or deflateReset, before any - call of deflate. The compressor and decompressor must use exactly the same - dictionary (see inflateSetDictionary). - - The dictionary should consist of strings (byte sequences) that are likely - to be encountered later in the data to be compressed, with the most commonly - used strings preferably put towards the end of the dictionary. Using a - dictionary is most useful when the data to be compressed is short and can be - predicted with good accuracy; the data can then be compressed better than - with the default empty dictionary. - - Depending on the size of the compression data structures selected by - deflateInit or deflateInit2, a part of the dictionary may in effect be - discarded, for example if the dictionary is larger than the window size in - deflate or deflate2. Thus the strings most likely to be useful should be - put at the end of the dictionary, not at the front. In addition, the - current implementation of deflate will use at most the window size minus - 262 bytes of the provided dictionary. - - Upon return of this function, strm->adler is set to the adler32 value - of the dictionary; the decompressor may later use this value to determine - which dictionary has been used by the compressor. (The adler32 value - applies to the whole dictionary even if only a subset of the dictionary is - actually used by the compressor.) If a raw deflate was requested, then the - adler32 value is not computed and strm->adler is not set. - - deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent (for example if deflate has already been called for this stream - or if the compression method is bsort). deflateSetDictionary does not - perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when several compression strategies will be - tried, for example when there are several ways of pre-processing the input - data with a filter. The streams that will be discarded should then be freed - by calling deflateEnd. Note that deflateCopy duplicates the internal - compression state which can be quite large, so this strategy is slow and - can consume lots of memory. - - deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); -/* - This function is equivalent to deflateEnd followed by deflateInit, - but does not free and reallocate all the internal compression state. - The stream will keep the same compression level and any other attributes - that may have been set by deflateInit2. - - deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, - int level, - int strategy)); -/* - Dynamically update the compression level and compression strategy. The - interpretation of level and strategy is as in deflateInit2. This can be - used to switch between compression and straight copy of the input data, or - to switch to a different kind of input data requiring a different - strategy. If the compression level is changed, the input available so far - is compressed with the old level (and may be flushed); the new level will - take effect only at the next call of deflate(). - - Before the call of deflateParams, the stream state must be set as for - a call of deflate(), since the currently available input may have to - be compressed and flushed. In particular, strm->avail_out must be non-zero. - - deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source - stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR - if strm->avail_out was zero. -*/ - -ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, - int good_length, - int max_lazy, - int nice_length, - int max_chain)); -/* - Fine tune deflate's internal compression parameters. This should only be - used by someone who understands the algorithm used by zlib's deflate for - searching for the best matching string, and even then only by the most - fanatic optimizer trying to squeeze out the last compressed bit for their - specific input data. Read the deflate.c source code for the meaning of the - max_lazy, good_length, nice_length, and max_chain parameters. - - deflateTune() can be called after deflateInit() or deflateInit2(), and - returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. - */ - -ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, - uLong sourceLen)); -/* - deflateBound() returns an upper bound on the compressed size after - deflation of sourceLen bytes. It must be called after deflateInit() - or deflateInit2(). This would be used to allocate an output buffer - for deflation in a single pass, and so would be called before deflate(). -*/ - -ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - deflatePrime() inserts bits in the deflate output stream. The intent - is that this function is used to start off the deflate output with the - bits leftover from a previous deflate stream when appending to it. As such, - this function can only be used for raw deflate, and must be used before the - first deflate() call after a deflateInit2() or deflateReset(). bits must be - less than or equal to 16, and that many of the least significant bits of - value will be inserted in the output. - - deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, - gz_headerp head)); -/* - deflateSetHeader() provides gzip header information for when a gzip - stream is requested by deflateInit2(). deflateSetHeader() may be called - after deflateInit2() or deflateReset() and before the first call of - deflate(). The text, time, os, extra field, name, and comment information - in the provided gz_header structure are written to the gzip header (xflag is - ignored -- the extra flags are set according to the compression level). The - caller must assure that, if not Z_NULL, name and comment are terminated with - a zero byte, and that if extra is not Z_NULL, that extra_len bytes are - available there. If hcrc is true, a gzip header crc is included. Note that - the current versions of the command-line version of gzip (up through version - 1.3.x) do not support header crc's, and will report that it is a "multi-part - gzip file" and give up. - - If deflateSetHeader is not used, the default gzip header has text false, - the time set to zero, and os set to 255, with no extra, name, or comment - fields. The gzip header is returned to the default state by deflateReset(). - - deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, - int windowBits)); - - This is another version of inflateInit with an extra parameter. The - fields next_in, avail_in, zalloc, zfree and opaque must be initialized - before by the caller. - - The windowBits parameter is the base two logarithm of the maximum window - size (the size of the history buffer). It should be in the range 8..15 for - this version of the library. The default value is 15 if inflateInit is used - instead. windowBits must be greater than or equal to the windowBits value - provided to deflateInit2() while compressing, or it must be equal to 15 if - deflateInit2() was not used. If a compressed stream with a larger window - size is given as input, inflate() will return with the error code - Z_DATA_ERROR instead of trying to allocate a larger window. - - windowBits can also be -8..-15 for raw inflate. In this case, -windowBits - determines the window size. inflate() will then process raw deflate data, - not looking for a zlib or gzip header, not generating a check value, and not - looking for any check values for comparison at the end of the stream. This - is for use with other formats that use the deflate compressed data format - such as zip. Those formats provide their own check values. If a custom - format is developed using the raw deflate format for compressed data, it is - recommended that a check value such as an adler32 or a crc32 be applied to - the uncompressed data as is done in the zlib, gzip, and zip formats. For - most applications, the zlib format should be used as is. Note that comments - above on the use in deflateInit2() applies to the magnitude of windowBits. - - windowBits can also be greater than 15 for optional gzip decoding. Add - 32 to windowBits to enable zlib and gzip decoding with automatic header - detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is - a crc32 instead of an adler32. - - inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg - is set to null if there is no error message. inflateInit2 does not perform - any decompression apart from reading the zlib header if present: this will - be done by inflate(). (So next_in and avail_in may be modified, but next_out - and avail_out are unchanged.) -*/ - -ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate, - if that call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by that call of inflate. - The compressor and decompressor must use exactly the same dictionary (see - deflateSetDictionary). For raw inflate, this function can be called - immediately after inflateInit2() or inflateReset() and before any call of - inflate() to set the dictionary. The application must insure that the - dictionary that was used for compression is provided. - - inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the - expected one (incorrect adler32 value). inflateSetDictionary does not - perform any decompression: this will be done by subsequent calls of - inflate(). -*/ - -ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); -/* - Skips invalid compressed data until a full flush point (see above the - description of deflate with Z_FULL_FLUSH) can be found, or until all - available input is skipped. No output is provided. - - inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR - if no more input was provided, Z_DATA_ERROR if no flush point has been found, - or Z_STREAM_ERROR if the stream structure was inconsistent. In the success - case, the application may save the current current value of total_in which - indicates where valid compressed data was found. In the error case, the - application may repeatedly call inflateSync, providing more input each time, - until success or end of the input data. -*/ - -ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when randomly accessing a large stream. The - first pass through the stream can periodically record the inflate state, - allowing restarting inflate at those points when randomly accessing the - stream. - - inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); -/* - This function is equivalent to inflateEnd followed by inflateInit, - but does not free and reallocate all the internal decompression state. - The stream will keep attributes that may have been set by inflateInit2. - - inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - This function inserts bits in the inflate input stream. The intent is - that this function is used to start inflating at a bit position in the - middle of a byte. The provided bits will be used before any bytes are used - from next_in. This function should only be used with raw inflate, and - should be used before the first inflate() call after inflateInit2() or - inflateReset(). bits must be less than or equal to 16, and that many of the - least significant bits of value will be inserted in the input. - - inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, - gz_headerp head)); -/* - inflateGetHeader() requests that gzip header information be stored in the - provided gz_header structure. inflateGetHeader() may be called after - inflateInit2() or inflateReset(), and before the first call of inflate(). - As inflate() processes the gzip stream, head->done is zero until the header - is completed, at which time head->done is set to one. If a zlib stream is - being decoded, then head->done is set to -1 to indicate that there will be - no gzip header information forthcoming. Note that Z_BLOCK can be used to - force inflate() to return immediately after header processing is complete - and before any actual data is decompressed. - - The text, time, xflags, and os fields are filled in with the gzip header - contents. hcrc is set to true if there is a header CRC. (The header CRC - was valid if done is set to one.) If extra is not Z_NULL, then extra_max - contains the maximum number of bytes to write to extra. Once done is true, - extra_len contains the actual extra field length, and extra contains the - extra field, or that field truncated if extra_max is less than extra_len. - If name is not Z_NULL, then up to name_max characters are written there, - terminated with a zero unless the length is greater than name_max. If - comment is not Z_NULL, then up to comm_max characters are written there, - terminated with a zero unless the length is greater than comm_max. When - any of extra, name, or comment are not Z_NULL and the respective field is - not present in the header, then that field is set to Z_NULL to signal its - absence. This allows the use of deflateSetHeader() with the returned - structure to duplicate the header. However if those fields are set to - allocated memory, then the application will need to save those pointers - elsewhere so that they can be eventually freed. - - If inflateGetHeader is not used, then the header information is simply - discarded. The header is always checked for validity, including the header - CRC if present. inflateReset() will reset the process to discard the header - information. The application would need to call inflateGetHeader() again to - retrieve the header from the next gzip stream. - - inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, - unsigned char FAR *window)); - - Initialize the internal stream state for decompression using inflateBack() - calls. The fields zalloc, zfree and opaque in strm must be initialized - before the call. If zalloc and zfree are Z_NULL, then the default library- - derived memory allocation routines are used. windowBits is the base two - logarithm of the window size, in the range 8..15. window is a caller - supplied buffer of that size. Except for special applications where it is - assured that deflate was used with small window sizes, windowBits must be 15 - and a 32K byte window must be supplied to be able to decompress general - deflate streams. - - See inflateBack() for the usage of these routines. - - inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of - the paramaters are invalid, Z_MEM_ERROR if the internal state could not - be allocated, or Z_VERSION_ERROR if the version of the library does not - match the version of the header file. -*/ - -typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); -typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); - -ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -/* - inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is more efficient than inflate() for - file i/o applications in that it avoids copying between the output and the - sliding window by simply making the window itself the output buffer. This - function trusts the application to not change the output buffer passed by - the output function, at least until inflateBack() returns. - - inflateBackInit() must be called first to allocate the internal state - and to initialize the state with the user-provided window buffer. - inflateBack() may then be used multiple times to inflate a complete, raw - deflate stream with each call. inflateBackEnd() is then called to free - the allocated state. - - A raw deflate stream is one with no zlib or gzip header or trailer. - This routine would normally be used in a utility that reads zip or gzip - files and writes out uncompressed files. The utility would decode the - header and process the trailer on its own, hence this routine expects - only the raw deflate stream to decompress. This is different from the - normal behavior of inflate(), which expects either a zlib or gzip header and - trailer around the deflate stream. - - inflateBack() uses two subroutines supplied by the caller that are then - called by inflateBack() for input and output. inflateBack() calls those - routines until it reads a complete deflate stream and writes out all of the - uncompressed data, or until it encounters an error. The function's - parameters and return types are defined above in the in_func and out_func - typedefs. inflateBack() will call in(in_desc, &buf) which should return the - number of bytes of provided input, and a pointer to that input in buf. If - there is no input available, in() must return zero--buf is ignored in that - case--and inflateBack() will return a buffer error. inflateBack() will call - out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() - should return zero on success, or non-zero on failure. If out() returns - non-zero, inflateBack() will return with an error. Neither in() nor out() - are permitted to change the contents of the window provided to - inflateBackInit(), which is also the buffer that out() uses to write from. - The length written by out() will be at most the window size. Any non-zero - amount of input may be provided by in(). - - For convenience, inflateBack() can be provided input on the first call by - setting strm->next_in and strm->avail_in. If that input is exhausted, then - in() will be called. Therefore strm->next_in must be initialized before - calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called - immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in - must also be initialized, and then if strm->avail_in is not zero, input will - initially be taken from strm->next_in[0 .. strm->avail_in - 1]. - - The in_desc and out_desc parameters of inflateBack() is passed as the - first parameter of in() and out() respectively when they are called. These - descriptors can be optionally used to pass any information that the caller- - supplied in() and out() functions need to do their job. - - On return, inflateBack() will set strm->next_in and strm->avail_in to - pass back any unused input that was provided by the last in() call. The - return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR - if in() or out() returned an error, Z_DATA_ERROR if there was a format - error in the deflate stream (in which case strm->msg is set to indicate the - nature of the error), or Z_STREAM_ERROR if the stream was not properly - initialized. In the case of Z_BUF_ERROR, an input or output error can be - distinguished using strm->next_in which will be Z_NULL only if in() returned - an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to - out() returning non-zero. (in() will always be called before out(), so - strm->next_in is assured to be defined if out() returns non-zero.) Note - that inflateBack() cannot return Z_OK. -*/ - -ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); -/* - All memory allocated by inflateBackInit() is freed. - - inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream - state was inconsistent. -*/ - -ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); -/* Return flags indicating compile-time options. - - Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: - 1.0: size of uInt - 3.2: size of uLong - 5.4: size of voidpf (pointer) - 7.6: size of z_off_t - - Compiler, assembler, and debug options: - 8: DEBUG - 9: ASMV or ASMINF -- use ASM code - 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention - 11: 0 (reserved) - - One-time table building (smaller code, but not thread-safe if true): - 12: BUILDFIXED -- build static block decoding tables when needed - 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed - 14,15: 0 (reserved) - - Library content (indicates missing functionality): - 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking - deflate code when not needed) - 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect - and decode gzip streams (to avoid linking crc code) - 18-19: 0 (reserved) - - Operation variations (changes in library functionality): - 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate - 21: FASTEST -- deflate algorithm with only one, lowest compression level - 22,23: 0 (reserved) - - The sprintf variant used by gzprintf (zero is best): - 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format - 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! - 26: 0 = returns value, 1 = void -- 1 means inferred string length returned - - Remainder: - 27-31: 0 (reserved) - */ - - - /* utility functions */ - -/* - The following utility functions are implemented on top of the - basic stream-oriented functions. To simplify the interface, some - default options are assumed (compression level and memory usage, - standard memory allocation functions). The source code of these - utility functions can easily be modified if you need special options. -*/ - -ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Compresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be at least the value returned - by compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - This function can be used to compress a whole file at once if the - input file is mmap'ed. - compress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer. -*/ - -ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen, - int level)); -/* - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ - -ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); -/* - compressBound() returns an upper bound on the compressed size after - compress() or compress2() on sourceLen bytes. It would be used before - a compress() or compress2() call to allocate the destination buffer. -*/ - -ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be large enough to hold the - entire uncompressed data. (The size of the uncompressed data must have - been saved previously by the compressor and transmitted to the decompressor - by some mechanism outside the scope of this compression library.) - Upon exit, destLen is the actual size of the compressed buffer. - This function can be used to decompress a whole file at once if the - input file is mmap'ed. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. -*/ - - -typedef voidp gzFile; - -ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); -/* - Opens a gzip (.gz) file for reading or writing. The mode parameter - is as in fopen ("rb" or "wb") but can also include a compression level - ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for - Huffman only compression as in "wb1h", or 'R' for run-length encoding - as in "wb1R". (See the description of deflateInit2 for more information - about the strategy parameter.) - - gzopen can be used to read a file which is not in gzip format; in this - case gzread will directly read from the file without decompression. - - gzopen returns NULL if the file could not be opened or if there was - insufficient memory to allocate the (de)compression state; errno - can be checked to distinguish the two cases (if errno is zero, the - zlib error is Z_MEM_ERROR). */ - -ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); -/* - gzdopen() associates a gzFile with the file descriptor fd. File - descriptors are obtained from calls like open, dup, creat, pipe or - fileno (in the file has been previously opened with fopen). - The mode parameter is as in gzopen. - The next call of gzclose on the returned gzFile will also close the - file descriptor fd, just like fclose(fdopen(fd), mode) closes the file - descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode). - gzdopen returns NULL if there was insufficient memory to allocate - the (de)compression state. -*/ - -ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); -/* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. - gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not - opened for writing. -*/ - -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); -/* - Reads the given number of uncompressed bytes from the compressed file. - If the input file was not in gzip format, gzread copies the given number - of bytes into the buffer. - gzread returns the number of uncompressed bytes actually read (0 for - end of file, -1 for error). */ - -ZEXTERN int ZEXPORT gzwrite OF((gzFile file, - voidpc buf, unsigned len)); -/* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes actually written - (0 in case of error). -*/ - -ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); -/* - Converts, formats, and writes the args to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written (0 in case of error). The number of - uncompressed bytes written is limited to 4095. The caller should assure that - this limit is not exceeded. If it is exceeded, then gzprintf() will return - return an error (0) with nothing written. In this case, there may also be a - buffer overflow with unpredictable consequences, which is possible only if - zlib was compiled with the insecure functions sprintf() or vsprintf() - because the secure snprintf() or vsnprintf() functions were not available. -*/ - -ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); -/* - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - gzputs returns the number of characters written, or -1 in case of error. -*/ - -ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); -/* - Reads bytes from the compressed file until len-1 characters are read, or - a newline character is read and transferred to buf, or an end-of-file - condition is encountered. The string is then terminated with a null - character. - gzgets returns buf, or Z_NULL in case of error. -*/ - -ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); -/* - Writes c, converted to an unsigned char, into the compressed file. - gzputc returns the value that was written, or -1 in case of error. -*/ - -ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); -/* - Reads one byte from the compressed file. gzgetc returns this byte - or -1 in case of end of file or error. -*/ - -ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); -/* - Push one character back onto the stream to be read again later. - Only one character of push-back is allowed. gzungetc() returns the - character pushed, or -1 on failure. gzungetc() will fail if a - character has been pushed but not read yet, or if c is -1. The pushed - character will be discarded if the stream is repositioned with gzseek() - or gzrewind(). -*/ - -ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); -/* - Flushes all pending output into the compressed file. The parameter - flush is as in the deflate() function. The return value is the zlib - error number (see function gzerror below). gzflush returns Z_OK if - the flush parameter is Z_FINISH and all output could be flushed. - gzflush should be called only when strictly necessary because it can - degrade compression. -*/ - -ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, - z_off_t offset, int whence)); -/* - Sets the starting position for the next gzread or gzwrite on the - given compressed file. The offset represents a number of bytes in the - uncompressed data stream. The whence parameter is defined as in lseek(2); - the value SEEK_END is not supported. - If the file is opened for reading, this function is emulated but can be - extremely slow. If the file is opened for writing, only forward seeks are - supported; gzseek then compresses a sequence of zeroes up to the new - starting position. - - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error, in - particular if the file is opened for writing and the new starting position - would be before the current position. -*/ - -ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); -/* - Rewinds the given file. This function is supported only for reading. - - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) -*/ - -ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); -/* - Returns the starting position for the next gzread or gzwrite on the - given compressed file. This position represents a number of bytes in the - uncompressed data stream. - - gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) -*/ - -ZEXTERN int ZEXPORT gzeof OF((gzFile file)); -/* - Returns 1 when EOF has previously been detected reading the given - input stream, otherwise zero. -*/ - -ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); -/* - Returns 1 if file is being read directly without decompression, otherwise - zero. -*/ - -ZEXTERN int ZEXPORT gzclose OF((gzFile file)); -/* - Flushes all pending output if necessary, closes the compressed file - and deallocates all the (de)compression state. The return value is the zlib - error number (see function gzerror below). -*/ - -ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); -/* - Returns the error message for the last error which occurred on the - given compressed file. errnum is set to zlib error number. If an - error occurred in the file system and not in the compression library, - errnum is set to Z_ERRNO and the application may consult errno - to get the exact error code. -*/ - -ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); -/* - Clears the error and end-of-file flags for file. This is analogous to the - clearerr() function in stdio. This is useful for continuing to read a gzip - file that is being written concurrently. -*/ - - /* checksum functions */ - -/* - These functions are not related to compression but are exported - anyway because they might be useful in applications using the - compression library. -*/ - -ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); -/* - Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is NULL, this function returns - the required initial value for the checksum. - An Adler-32 checksum is almost as reliable as a CRC32 but can be computed - much faster. Usage example: - - uLong adler = adler32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - adler = adler32(adler, buffer, length); - } - if (adler != original_adler) error(); -*/ - -ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, - z_off_t len2)); -/* - Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 - and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for - each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of - seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. -*/ - -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); -/* - Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is NULL, this function returns the required initial - value for the for the crc. Pre- and post-conditioning (one's complement) is - performed within this function so it shouldn't be done by the application. - Usage example: - - uLong crc = crc32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - crc = crc32(crc, buffer, length); - } - if (crc != original_crc) error(); -*/ - -ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); - -/* - Combine two CRC-32 check values into one. For two sequences of bytes, - seq1 and seq2 with lengths len1 and len2, CRC-32 check values were - calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 - check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. -*/ - - - /* various hacks, don't look :) */ - -/* deflateInit and inflateInit are macros to allow checking the zlib version - * and the compiler's view of z_stream: - */ -ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, - int windowBits, int memLevel, - int strategy, const char *version, - int stream_size)); -ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define deflateInit(strm, level) \ - deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit(strm) \ - inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) -#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ - deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ - (strategy), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit2(strm, windowBits) \ - inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) -#define inflateBackInit(strm, windowBits, window) \ - inflateBackInit_((strm), (windowBits), (window), \ - ZLIB_VERSION, sizeof(z_stream)) - - -#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) - struct internal_state {int dummy;}; /* hack for buggy compilers */ -#endif - -ZEXTERN const char * ZEXPORT zError OF((int)); -ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); -ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); - -#ifdef __cplusplus -} -#endif - -#endif /* ZLIB_H */ diff --git a/3rdparty/openctm/tools/zlib/zutil.c b/3rdparty/openctm/tools/zlib/zutil.c deleted file mode 100644 index d55f5948a..000000000 --- a/3rdparty/openctm/tools/zlib/zutil.c +++ /dev/null @@ -1,318 +0,0 @@ -/* zutil.c -- target dependent utility functions for the compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#include "zutil.h" - -#ifndef NO_DUMMY_DECL -struct internal_state {int dummy;}; /* for buggy compilers */ -#endif - -const char * const z_errmsg[10] = { -"need dictionary", /* Z_NEED_DICT 2 */ -"stream end", /* Z_STREAM_END 1 */ -"", /* Z_OK 0 */ -"file error", /* Z_ERRNO (-1) */ -"stream error", /* Z_STREAM_ERROR (-2) */ -"data error", /* Z_DATA_ERROR (-3) */ -"insufficient memory", /* Z_MEM_ERROR (-4) */ -"buffer error", /* Z_BUF_ERROR (-5) */ -"incompatible version",/* Z_VERSION_ERROR (-6) */ -""}; - - -const char * ZEXPORT zlibVersion() -{ - return ZLIB_VERSION; -} - -uLong ZEXPORT zlibCompileFlags() -{ - uLong flags; - - flags = 0; - switch (sizeof(uInt)) { - case 2: break; - case 4: flags += 1; break; - case 8: flags += 2; break; - default: flags += 3; - } - switch (sizeof(uLong)) { - case 2: break; - case 4: flags += 1 << 2; break; - case 8: flags += 2 << 2; break; - default: flags += 3 << 2; - } - switch (sizeof(voidpf)) { - case 2: break; - case 4: flags += 1 << 4; break; - case 8: flags += 2 << 4; break; - default: flags += 3 << 4; - } - switch (sizeof(z_off_t)) { - case 2: break; - case 4: flags += 1 << 6; break; - case 8: flags += 2 << 6; break; - default: flags += 3 << 6; - } -#ifdef DEBUG - flags += 1 << 8; -#endif -#if defined(ASMV) || defined(ASMINF) - flags += 1 << 9; -#endif -#ifdef ZLIB_WINAPI - flags += 1 << 10; -#endif -#ifdef BUILDFIXED - flags += 1 << 12; -#endif -#ifdef DYNAMIC_CRC_TABLE - flags += 1 << 13; -#endif -#ifdef NO_GZCOMPRESS - flags += 1L << 16; -#endif -#ifdef NO_GZIP - flags += 1L << 17; -#endif -#ifdef PKZIP_BUG_WORKAROUND - flags += 1L << 20; -#endif -#ifdef FASTEST - flags += 1L << 21; -#endif -#ifdef STDC -# ifdef NO_vsnprintf - flags += 1L << 25; -# ifdef HAS_vsprintf_void - flags += 1L << 26; -# endif -# else -# ifdef HAS_vsnprintf_void - flags += 1L << 26; -# endif -# endif -#else - flags += 1L << 24; -# ifdef NO_snprintf - flags += 1L << 25; -# ifdef HAS_sprintf_void - flags += 1L << 26; -# endif -# else -# ifdef HAS_snprintf_void - flags += 1L << 26; -# endif -# endif -#endif - return flags; -} - -#ifdef DEBUG - -# ifndef verbose -# define verbose 0 -# endif -int z_verbose = verbose; - -void z_error (m) - char *m; -{ - fprintf(stderr, "%s\n", m); - exit(1); -} -#endif - -/* exported to allow conversion of error code to string for compress() and - * uncompress() - */ -const char * ZEXPORT zError(err) - int err; -{ - return ERR_MSG(err); -} - -#if defined(_WIN32_WCE) - /* The Microsoft C Run-Time Library for Windows CE doesn't have - * errno. We define it as a global variable to simplify porting. - * Its value is always 0 and should not be used. - */ - int errno = 0; -#endif - -#ifndef HAVE_MEMCPY - -void zmemcpy(dest, source, len) - Bytef* dest; - const Bytef* source; - uInt len; -{ - if (len == 0) return; - do { - *dest++ = *source++; /* ??? to be unrolled */ - } while (--len != 0); -} - -int zmemcmp(s1, s2, len) - const Bytef* s1; - const Bytef* s2; - uInt len; -{ - uInt j; - - for (j = 0; j < len; j++) { - if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1; - } - return 0; -} - -void zmemzero(dest, len) - Bytef* dest; - uInt len; -{ - if (len == 0) return; - do { - *dest++ = 0; /* ??? to be unrolled */ - } while (--len != 0); -} -#endif - - -#ifdef SYS16BIT - -#ifdef __TURBOC__ -/* Turbo C in 16-bit mode */ - -# define MY_ZCALLOC - -/* Turbo C malloc() does not allow dynamic allocation of 64K bytes - * and farmalloc(64K) returns a pointer with an offset of 8, so we - * must fix the pointer. Warning: the pointer must be put back to its - * original form in order to free it, use zcfree(). - */ - -#define MAX_PTR 10 -/* 10*64K = 640K */ - -local int next_ptr = 0; - -typedef struct ptr_table_s { - voidpf org_ptr; - voidpf new_ptr; -} ptr_table; - -local ptr_table table[MAX_PTR]; -/* This table is used to remember the original form of pointers - * to large buffers (64K). Such pointers are normalized with a zero offset. - * Since MSDOS is not a preemptive multitasking OS, this table is not - * protected from concurrent access. This hack doesn't work anyway on - * a protected system like OS/2. Use Microsoft C instead. - */ - -voidpf zcalloc (voidpf opaque, unsigned items, unsigned size) -{ - voidpf buf = opaque; /* just to make some compilers happy */ - ulg bsize = (ulg)items*size; - - /* If we allocate less than 65520 bytes, we assume that farmalloc - * will return a usable pointer which doesn't have to be normalized. - */ - if (bsize < 65520L) { - buf = farmalloc(bsize); - if (*(ush*)&buf != 0) return buf; - } else { - buf = farmalloc(bsize + 16L); - } - if (buf == NULL || next_ptr >= MAX_PTR) return NULL; - table[next_ptr].org_ptr = buf; - - /* Normalize the pointer to seg:0 */ - *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4; - *(ush*)&buf = 0; - table[next_ptr++].new_ptr = buf; - return buf; -} - -void zcfree (voidpf opaque, voidpf ptr) -{ - int n; - if (*(ush*)&ptr != 0) { /* object < 64K */ - farfree(ptr); - return; - } - /* Find the original pointer */ - for (n = 0; n < next_ptr; n++) { - if (ptr != table[n].new_ptr) continue; - - farfree(table[n].org_ptr); - while (++n < next_ptr) { - table[n-1] = table[n]; - } - next_ptr--; - return; - } - ptr = opaque; /* just to make some compilers happy */ - Assert(0, "zcfree: ptr not found"); -} - -#endif /* __TURBOC__ */ - - -#ifdef M_I86 -/* Microsoft C in 16-bit mode */ - -# define MY_ZCALLOC - -#if (!defined(_MSC_VER) || (_MSC_VER <= 600)) -# define _halloc halloc -# define _hfree hfree -#endif - -voidpf zcalloc (voidpf opaque, unsigned items, unsigned size) -{ - if (opaque) opaque = 0; /* to make compiler happy */ - return _halloc((long)items, size); -} - -void zcfree (voidpf opaque, voidpf ptr) -{ - if (opaque) opaque = 0; /* to make compiler happy */ - _hfree(ptr); -} - -#endif /* M_I86 */ - -#endif /* SYS16BIT */ - - -#ifndef MY_ZCALLOC /* Any system without a special alloc function */ - -#ifndef STDC -extern voidp malloc OF((uInt size)); -extern voidp calloc OF((uInt items, uInt size)); -extern void free OF((voidpf ptr)); -#endif - -voidpf zcalloc (opaque, items, size) - voidpf opaque; - unsigned items; - unsigned size; -{ - if (opaque) items += size - size; /* make compiler happy */ - return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : - (voidpf)calloc(items, size); -} - -void zcfree (opaque, ptr) - voidpf opaque; - voidpf ptr; -{ - free(ptr); - if (opaque) return; /* make compiler happy */ -} - -#endif /* MY_ZCALLOC */ diff --git a/3rdparty/openctm/tools/zlib/zutil.h b/3rdparty/openctm/tools/zlib/zutil.h deleted file mode 100644 index b7d5eff81..000000000 --- a/3rdparty/openctm/tools/zlib/zutil.h +++ /dev/null @@ -1,269 +0,0 @@ -/* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* @(#) $Id$ */ - -#ifndef ZUTIL_H -#define ZUTIL_H - -#define ZLIB_INTERNAL -#include "zlib.h" - -#ifdef STDC -# ifndef _WIN32_WCE -# include -# endif -# include -# include -#endif -#ifdef NO_ERRNO_H -# ifdef _WIN32_WCE - /* The Microsoft C Run-Time Library for Windows CE doesn't have - * errno. We define it as a global variable to simplify porting. - * Its value is always 0 and should not be used. We rename it to - * avoid conflict with other libraries that use the same workaround. - */ -# define errno z_errno -# endif - extern int errno; -#else -# ifndef _WIN32_WCE -# include -# endif -#endif - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -typedef unsigned char uch; -typedef uch FAR uchf; -typedef unsigned short ush; -typedef ush FAR ushf; -typedef unsigned long ulg; - -extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ -/* (size given to avoid silly warnings with Visual C++) */ - -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] - -#define ERR_RETURN(strm,err) \ - return (strm->msg = (char*)ERR_MSG(err), (err)) -/* To be used only when the state is known to be valid */ - - /* common constants */ - -#ifndef DEF_WBITS -# define DEF_WBITS MAX_WBITS -#endif -/* default windowBits for decompression. MAX_WBITS is for compression only */ - -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif -/* default memLevel */ - -#define STORED_BLOCK 0 -#define STATIC_TREES 1 -#define DYN_TREES 2 -/* The three kinds of block type */ - -#define MIN_MATCH 3 -#define MAX_MATCH 258 -/* The minimum and maximum match lengths */ - -#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */ - - /* target dependencies */ - -#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32)) -# define OS_CODE 0x00 -# if defined(__TURBOC__) || defined(__BORLANDC__) -# if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__)) - /* Allow compilation with ANSI keywords only enabled */ - void _Cdecl farfree( void *block ); - void *_Cdecl farmalloc( unsigned long nbytes ); -# else -# include -# endif -# else /* MSC or DJGPP */ -# include -# endif -#endif - -#ifdef AMIGA -# define OS_CODE 0x01 -#endif - -#if defined(VAXC) || defined(VMS) -# define OS_CODE 0x02 -# define F_OPEN(name, mode) \ - fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512") -#endif - -#if defined(ATARI) || defined(atarist) -# define OS_CODE 0x05 -#endif - -#ifdef OS2 -# define OS_CODE 0x06 -# ifdef M_I86 - #include -# endif -#endif - -#if defined(MACOS) || defined(TARGET_OS_MAC) -# define OS_CODE 0x07 -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -#endif - -#ifdef TOPS20 -# define OS_CODE 0x0a -#endif - -#ifdef WIN32 -# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */ -# define OS_CODE 0x0b -# endif -#endif - -#ifdef __50SERIES /* Prime/PRIMOS */ -# define OS_CODE 0x0f -#endif - -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; -# define _PTRDIFF_T_DEFINED -# endif -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - - /* common defaults */ - -#ifndef OS_CODE -# define OS_CODE 0x03 /* assume Unix */ -#endif - -#ifndef F_OPEN -# define F_OPEN(name, mode) fopen((name), (mode)) -#endif - - /* functions */ - -#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550) -# ifndef HAVE_VSNPRINTF -# define HAVE_VSNPRINTF -# endif -#endif -#if defined(__CYGWIN__) -# ifndef HAVE_VSNPRINTF -# define HAVE_VSNPRINTF -# endif -#endif -#ifndef HAVE_VSNPRINTF -# ifdef MSDOS - /* vsnprintf may exist on some MS-DOS compilers (DJGPP?), - but for now we just assume it doesn't. */ -# define NO_vsnprintf -# endif -# ifdef __TURBOC__ -# define NO_vsnprintf -# endif -# ifdef WIN32 - /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */ -# if !defined(vsnprintf) && !defined(NO_vsnprintf) -# define vsnprintf _vsnprintf -# endif -# endif -# ifdef __SASC -# define NO_vsnprintf -# endif -#endif -#ifdef VMS -# define NO_vsnprintf -#endif - -#if defined(pyr) -# define NO_MEMCPY -#endif -#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__) - /* Use our own functions for small and medium model with MSC <= 5.0. - * You may have to use the same strategy for Borland C (untested). - * The __SC__ check is for Symantec. - */ -# define NO_MEMCPY -#endif -#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY) -# define HAVE_MEMCPY -#endif -#ifdef HAVE_MEMCPY -# ifdef SMALL_MEDIUM /* MSDOS small or medium model */ -# define zmemcpy _fmemcpy -# define zmemcmp _fmemcmp -# define zmemzero(dest, len) _fmemset(dest, 0, len) -# else -# define zmemcpy memcpy -# define zmemcmp memcmp -# define zmemzero(dest, len) memset(dest, 0, len) -# endif -#else - extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len)); - extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len)); - extern void zmemzero OF((Bytef* dest, uInt len)); -#endif - -/* Diagnostic functions */ -#ifdef DEBUG -# include - extern int z_verbose; - extern void z_error OF((char *m)); -# define Assert(cond,msg) {if(!(cond)) z_error(msg);} -# define Trace(x) {if (z_verbose>=0) fprintf x ;} -# define Tracev(x) {if (z_verbose>0) fprintf x ;} -# define Tracevv(x) {if (z_verbose>1) fprintf x ;} -# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;} -# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;} -#else -# define Assert(cond,msg) -# define Trace(x) -# define Tracev(x) -# define Tracevv(x) -# define Tracec(c,x) -# define Tracecv(c,x) -#endif - - -voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size)); -void zcfree OF((voidpf opaque, voidpf ptr)); - -#define ZALLOC(strm, items, size) \ - (*((strm)->zalloc))((strm)->opaque, (items), (size)) -#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) -#define TRY_FREE(s, p) {if (p) ZFREE(s, p);} - -#endif /* ZUTIL_H */ diff --git a/3rdparty/openctm/win-installer.iss b/3rdparty/openctm/win-installer.iss deleted file mode 100644 index d599c08c3..000000000 --- a/3rdparty/openctm/win-installer.iss +++ /dev/null @@ -1,249 +0,0 @@ -; ---------------------------------------------------------------------------- -; Inno Setup 5.x setup script for Windows -; This script will create an installer for the binary Windows distribution -; ---------------------------------------------------------------------------- - -[Setup] -AppName=OpenCTM -AppVerName=OpenCTM 1.0.3 -VersionInfoVersion=1.0.3.0 -AppPublisher=Marcus Geelnard -AppPublisherURL=http://openctm.sourceforge.net/ -AppSupportURL=http://openctm.sourceforge.net/ -AppUpdatesURL=http://openctm.sourceforge.net/ -DefaultDirName={pf}\OpenCTM 1.0.3 -DefaultGroupName=OpenCTM 1.0.3 -LicenseFile=LICENSE.txt -OutputDir=. -OutputBaseFilename=OpenCTM-1.0.3-setup -Compression=lzma -SolidCompression=yes -ChangesAssociations=yes -ChangesEnvironment=yes - - -[Tasks] -Name: associatectm; Description: "&Associate OpenCTM (.ctm) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associatestl; Description: "&Associate Stereolithography (.stl) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associateply; Description: "&Associate Stanford PLY (.ply) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associate3ds; Description: "&Associate 3DStudio (.3ds) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associatedae; Description: "&Associate COLLADA (.dae) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associateobj; Description: "&Associate Wavefront (.obj) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associatelwo; Description: "&Associate LightWave (.lwo) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: associateoff; Description: "&Associate Geomview OFF (.off) files with the OpenCTM viewer"; GroupDescription: "Associate files:" -Name: modifypath; Description: "&Add application directory to your system path"; GroupDescription: "Modify system paths:" - -[Files] -Source: "lib\openctm.dll"; DestDir: "{app}\bin" -Source: "tools\freeglut.dll"; DestDir: "{app}\bin" -Source: "tools\ctmconv.exe"; DestDir: "{app}\bin" -Source: "tools\ctmviewer.exe"; DestDir: "{app}\bin" -Source: "doc\APIReference\*"; DestDir: "{app}\Documentation\APIReference" -Source: "doc\DevelopersManual.pdf"; DestDir: "{app}\Documentation" -Source: "doc\FormatSpecification.pdf"; DestDir: "{app}\Documentation" -Source: "doc\ctmconv.html"; DestDir: "{app}\Documentation" -Source: "doc\ctmviewer.html"; DestDir: "{app}\Documentation" -Source: "README.txt"; DestDir: "{app}\Documentation"; Flags: isreadme -Source: "LICENSE.txt"; DestDir: "{app}\Documentation" -Source: "lib\openctm.h"; DestDir: "{app}\Developer files" -Source: "lib\openctmpp.h"; DestDir: "{app}\Developer files" -Source: "lib\openctm.lib"; DestDir: "{app}\Developer files" -Source: "bindings\delphi\OpenCTM.pas"; DestDir: "{app}\Developer files" -Source: "bindings\python\openctm.py"; DestDir: "{app}\Developer files" -Source: "bindings\python\ctminfo.py"; DestDir: "{app}\Developer files" -Source: "plugins\blender\*"; DestDir: "{app}\Plugins\Blender" -Source: "plugins\maya\*"; DestDir: "{app}\Plugins\Maya" - -[Icons] -Name: "{group}\3D Viewer"; Filename: "{app}\bin\ctmviewer.exe"; WorkingDir: "{app}\bin" -Name: "{group}\Browse the OpenCTM folder"; Filename: "{app}" -Name: "{group}\Documentation\Developers Manual"; Filename: "{app}\Documentation\DevelopersManual.pdf" -Name: "{group}\Documentation\API Reference"; Filename: "{app}\Documentation\APIReference\index.html" -Name: "{group}\Documentation\Format Specification"; Filename: "{app}\Documentation\FormatSpecification.pdf" -Name: "{group}\Documentation\3D Viewer Manual (ctmviewer)"; Filename: "{app}\Documentation\ctmviewer.html" -Name: "{group}\Documentation\File Converter Manual (ctmconv)"; Filename: "{app}\Documentation\ctmconv.html" -Name: "{group}\Documentation\License"; Filename: "{app}\Documentation\LICENSE.txt" -Name: "{group}\Documentation\README"; Filename: "{app}\Documentation\README.txt" -Name: "{group}\{cm:UninstallProgram,OpenCTM}"; Filename: "{uninstallexe}" - -[Registry] -Root: HKCR; Subkey: ".ctm"; ValueType: string; ValueName: ""; ValueData: "OpenCTM_file"; Flags: uninsdeletevalue; Tasks: associatectm -Root: HKCR; Subkey: "OpenCTM_file"; ValueType: string; ValueName: ""; ValueData: "OpenCTM 3D mesh file"; Flags: uninsdeletekey; Tasks: associatectm -Root: HKCR; Subkey: "OpenCTM_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associatectm -Root: HKCR; Subkey: "OpenCTM_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associatectm - -Root: HKCR; Subkey: ".ply"; ValueType: string; ValueName: ""; ValueData: "PLY_file"; Flags: uninsdeletevalue; Tasks: associateply -Root: HKCR; Subkey: "PLY_file"; ValueType: string; ValueName: ""; ValueData: "Stanford PLY file"; Flags: uninsdeletekey; Tasks: associateply -Root: HKCR; Subkey: "PLY_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associateply -Root: HKCR; Subkey: "PLY_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associateply - -Root: HKCR; Subkey: ".stl"; ValueType: string; ValueName: ""; ValueData: "STL_file"; Flags: uninsdeletevalue; Tasks: associatestl -Root: HKCR; Subkey: "STL_file"; ValueType: string; ValueName: ""; ValueData: "Stereolithography 3D mesh file"; Flags: uninsdeletekey; Tasks: associatestl -Root: HKCR; Subkey: "STL_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associatestl -Root: HKCR; Subkey: "STL_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associatestl - -Root: HKCR; Subkey: ".3ds"; ValueType: string; ValueName: ""; ValueData: "3DS_file"; Flags: uninsdeletevalue; Tasks: associate3ds -Root: HKCR; Subkey: "3DS_file"; ValueType: string; ValueName: ""; ValueData: "3DStudio file"; Flags: uninsdeletekey; Tasks: associate3ds -Root: HKCR; Subkey: "3DS_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associate3ds -Root: HKCR; Subkey: "3DS_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associate3ds - -Root: HKCR; Subkey: ".dae"; ValueType: string; ValueName: ""; ValueData: "DAE_file"; Flags: uninsdeletevalue; Tasks: associatedae -Root: HKCR; Subkey: "DAE_file"; ValueType: string; ValueName: ""; ValueData: "COLLADA file"; Flags: uninsdeletekey; Tasks: associatedae -Root: HKCR; Subkey: "DAE_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associatedae -Root: HKCR; Subkey: "DAE_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associatedae - -Root: HKCR; Subkey: ".obj"; ValueType: string; ValueName: ""; ValueData: "OBJ_file"; Flags: uninsdeletevalue; Tasks: associateobj -Root: HKCR; Subkey: "OBJ_file"; ValueType: string; ValueName: ""; ValueData: "Wavefront OBJ file"; Flags: uninsdeletekey; Tasks: associateobj -Root: HKCR; Subkey: "OBJ_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associateobj -Root: HKCR; Subkey: "OBJ_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associateobj - -Root: HKCR; Subkey: ".lwo"; ValueType: string; ValueName: ""; ValueData: "LWO_file"; Flags: uninsdeletevalue; Tasks: associatelwo -Root: HKCR; Subkey: "LWO_file"; ValueType: string; ValueName: ""; ValueData: "LightWave object file"; Flags: uninsdeletekey; Tasks: associatelwo -Root: HKCR; Subkey: "LWO_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associatelwo -Root: HKCR; Subkey: "LWO_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associatelwo - -Root: HKCR; Subkey: ".off"; ValueType: string; ValueName: ""; ValueData: "OFF_file"; Flags: uninsdeletevalue; Tasks: associateoff -Root: HKCR; Subkey: "OFF_file"; ValueType: string; ValueName: ""; ValueData: "Geomview object file"; Flags: uninsdeletekey; Tasks: associateoff -Root: HKCR; Subkey: "OFF_file\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\ctmviewer.exe,0"; Tasks: associateoff -Root: HKCR; Subkey: "OFF_file\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\ctmviewer.exe"" ""%1"""; Tasks: associateoff - -[Code] - -// ---------------------------------------------------------------------------- -// ModPath script, by Jared Breland -// Homepage: http://www.legroom.net/software -// ---------------------------------------------------------------------------- - -function ModPathDir(): TArrayOfString; -var - Dir: TArrayOfString; -begin - setArrayLength(Dir, 1) - Dir[0] := ExpandConstant('{app}\bin'); - Result := Dir; -end; - -procedure ModPath(); -var - oldpath: String; - newpath: String; - pathArr: TArrayOfString; - aExecFile: String; - aExecArr: TArrayOfString; - i, d: Integer; - pathdir: TArrayOfString; -begin - - // Get array of new directories and act on each individually - pathdir := ModPathDir(); - for d := 0 to GetArrayLength(pathdir)-1 do begin - - // Modify WinNT path - if UsingWinNT() = true then begin - - // Get current path, split into an array - RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', oldpath); - oldpath := oldpath + ';'; - i := 0; - while (Pos(';', oldpath) > 0) do begin - SetArrayLength(pathArr, i+1); - pathArr[i] := Copy(oldpath, 0, Pos(';', oldpath)-1); - oldpath := Copy(oldpath, Pos(';', oldpath)+1, Length(oldpath)); - i := i + 1; - - // Check if current directory matches app dir - if pathdir[d] = pathArr[i-1] then begin - // if uninstalling, remove dir from path - if IsUninstaller() = true then begin - continue; - // if installing, abort because dir was already in path - end else begin - abort; - end; - end; - - // Add current directory to new path - if i = 1 then begin - newpath := pathArr[i-1]; - end else begin - newpath := newpath + ';' + pathArr[i-1]; - end; - end; - - // Append app dir to path if not already included - if IsUninstaller() = false then - newpath := newpath + ';' + pathdir[d]; - - // Write new path - RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', newpath); - - // Modify Win9x path - end else begin - - // Convert to shortened dirname - pathdir[d] := GetShortName(pathdir[d]); - - // If autoexec.bat exists, check if app dir already exists in path - aExecFile := 'C:\AUTOEXEC.BAT'; - if FileExists(aExecFile) then begin - LoadStringsFromFile(aExecFile, aExecArr); - for i := 0 to GetArrayLength(aExecArr)-1 do begin - if IsUninstaller() = false then begin - // If app dir already exists while installing, abort add - if (Pos(pathdir[d], aExecArr[i]) > 0) then - abort; - end else begin - // If app dir exists and = what we originally set, then delete at uninstall - if aExecArr[i] = 'SET PATH=%PATH%;' + pathdir[d] then - aExecArr[i] := ''; - end; - end; - end; - - // If app dir not found, or autoexec.bat didn't exist, then (create and) append to current path - if IsUninstaller() = false then begin - SaveStringToFile(aExecFile, #13#10 + 'SET PATH=%PATH%;' + pathdir[d], True); - - // If uninstalling, write the full autoexec out - end else begin - SaveStringsToFile(aExecFile, aExecArr, False); - end; - end; - - // Write file to flag modifypath was selected - // Workaround since IsTaskSelected() cannot be called at uninstall and AppName and AppId cannot be "read" in Code section - if IsUninstaller() = false then - SaveStringToFile(ExpandConstant('{app}') + '\uninsTasks.txt', WizardSelectedTasks(False), False); - end; -end; - -procedure CurStepChanged(CurStep: TSetupStep); -begin - if CurStep = ssPostInstall then - if IsTaskSelected('modifypath') then - ModPath(); -end; - -procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); -var - appdir: String; - selectedTasks: String; -begin - appdir := ExpandConstant('{app}') - if CurUninstallStep = usUninstall then begin - if LoadStringFromFile(appdir + '\uninsTasks.txt', selectedTasks) then - if Pos('modifypath', selectedTasks) > 0 then - ModPath(); - DeleteFile(appdir + '\uninsTasks.txt') - end; -end; - -function NeedRestart(): Boolean; -begin - if IsTaskSelected('modifypath') and not UsingWinNT() then begin - Result := True; - end else begin - Result := False; - end; -end; - diff --git a/README.md b/README.md index 8303b3a35..57bdecdf4 100644 --- a/README.md +++ b/README.md @@ -233,6 +233,10 @@ Frexx C preprocessor https://github.com/bagder/fcpp +### Forsyth Triangle Order Optimizer (Public Domain) + +http://gameangst.com/?p=9 + ### glsl-optimizer (MIT) GLSL optimizer based on Mesa's GLSL compiler. Used in Unity for mobile shader diff --git a/examples/04-mesh/bun_zipper.ply b/examples/04-mesh/bun_zipper.ply deleted file mode 100644 index 928b54107..000000000 --- a/examples/04-mesh/bun_zipper.ply +++ /dev/null @@ -1,105410 +0,0 @@ -ply -format ascii 1.0 -comment zipper output -element vertex 35947 -property float x -property float y -property float z -property float confidence -property float intensity -element face 69451 -property list uchar int vertex_indices -end_header --0.0378297 0.12794 0.00447467 0.850855 0.5 --0.0447794 0.128887 0.00190497 0.900159 0.5 --0.0680095 0.151244 0.0371953 0.398443 0.5 --0.00228741 0.13015 0.0232201 0.85268 0.5 --0.0226054 0.126675 0.00715587 0.675938 0.5 --0.0251078 0.125921 0.00624226 0.711533 0.5 --0.0371209 0.127449 0.0017956 0.888639 0.5 -0.033213 0.112692 0.0276861 0.652757 0.5 -0.0380425 0.109755 0.0161689 0.708171 0.5 --0.0255083 0.112568 0.0366767 0.454541 0.437538 --0.0245306 0.112636 0.0373469 0.448754 0.455187 -0.0274031 0.12156 0.0212208 0.533079 0.5 --0.0628961 0.158419 -0.0175871 0.404517 0.5 -0.0400813 0.104202 0.0221684 0.535542 0.5 -0.0451532 0.0931968 0.0111604 0.579563 0.425995 --0.0324965 0.174231 -0.00238999 0.365607 0.5 --0.0804587 0.135827 0.0500319 0.499575 0.5 --0.0724944 0.126022 0.052902 0.564827 0.5 --0.0804375 0.137229 0.0490949 0.406774 0.422055 -0.00799809 0.131294 0.0169006 0.748371 0.5 -0.0400265 0.10701 0.00816505 0.680399 0.5 -0.0371657 0.0997172 -0.00981258 0.600054 0.5 --0.0905968 0.140629 0.0221693 0.824561 0.5 --0.0843417 0.109004 0.0243603 0.690889 0.5 --0.0688709 0.156258 0.0147705 0.807492 0.5 --0.0844782 0.152284 0.0269844 0.248168 0.41865 -0.00536718 0.125777 0.0317922 0.555044 0.354559 -0.00893209 0.124393 0.0330753 0.653433 0.5 --0.0315414 0.125778 0.00387502 0.898771 0.5 --0.049674 0.141672 0.0123895 0.691477 0.5 --0.0784825 0.135851 0.0506454 0.566256 0.5 --0.00425882 0.128035 0.0283342 0.271491 0.462815 --0.0454789 0.123431 0.0251209 0.539149 0.5 --0.0235385 0.11268 0.0379979 0.464537 0.5 --0.0790203 0.0935614 -0.0105962 0.710999 0.5 -0.0235742 0.124212 0.0226421 0.530957 0.5 --0.0902127 0.122664 0.0052855 0.635593 0.5 -0.0403742 0.101353 -0.00282827 0.574857 0.5 -0.041224 0.101389 -0.000814438 0.49265 0.490797 --0.0859766 0.117044 0.000228439 0.487167 0.430737 --0.0499053 0.141681 0.0133989 0.685665 0.5 --0.0325018 0.177105 -0.00443384 0.269231 0.447035 --0.0774954 0.147028 0.0416906 0.414139 0.5 -0.0240312 0.1242 0.0213823 0.524222 0.5 --0.0225205 0.112681 0.0384786 0.482541 0.5 --0.0202018 0.177138 -0.0227808 0.341071 0.440034 --0.0381912 0.168168 -0.0127822 0.396317 0.473039 --0.0214993 0.112665 0.0388138 0.514245 0.5 --0.0322365 0.126297 0.00653811 0.896274 0.5 --0.0303734 0.125779 0.00722581 0.874471 0.5 -0.0104221 0.127848 0.0278469 0.350014 0.41288 --0.0463671 0.133058 0.0160254 0.599596 0.5 --0.0263079 0.125672 0.00579971 0.73687 0.5 --0.0238556 0.126292 0.00669874 0.675023 0.5 -0.0174667 0.122816 0.0304302 0.625269 0.5 -0.0184111 0.122524 0.0307587 0.611204 0.34486 -0.0166382 0.123302 0.0301317 0.647156 0.5 -0.0337656 0.111689 0.027893 0.664884 0.5 -0.0320484 0.11465 0.0272407 0.635343 0.5 --0.0405044 0.166738 0.00354035 0.413994 0.469929 --0.0891386 0.129503 0.00423129 0.625486 0.5 --0.0537547 0.143134 0.0264016 0.696873 0.5 -0.0429765 0.0987175 0.0181666 0.665192 0.5 -0.042638 0.101488 0.0111603 0.691828 0.5 -0.040945 0.0957511 0.0281635 0.671611 0.5 --0.055076 0.154226 0.0167194 0.394763 0.437313 --0.0246921 0.156571 -0.00408158 0.136389 0.380194 --0.0685096 0.147001 0.0412847 0.751812 0.5 --0.0715343 0.141411 0.0464325 0.627973 0.5 --0.0700345 0.0631474 0.0200567 0.413051 0.5 --0.0904383 0.119966 0.00529664 0.442613 0.376719 --0.0754938 0.127441 0.0530403 0.629117 0.5 --0.0395371 0.165252 0.00310729 0.710449 0.5 --0.0405211 0.16525 0.00379284 0.525639 0.48044 --0.0644897 0.161538 -0.0184978 0.449093 0.5 --0.0343115 0.126654 0.00282732 0.884528 0.5 --0.0460392 0.132757 0.0146796 0.568661 0.5 --0.0682754 0.155222 0.00480981 0.855717 0.5 --0.0921421 0.116123 0.0383102 0.673877 0.5 -0.00630024 0.125509 0.0321214 0.446946 0.5 -0.00717458 0.125139 0.032446 0.470989 0.335749 -0.00805559 0.124767 0.0327601 0.646519 0.5 --0.0324333 0.126109 0.00355422 0.886231 0.5 --0.0633574 0.155908 0.0123853 0.798496 0.5 -0.0314417 0.115539 0.0270138 0.635485 0.5 -0.0308488 0.116432 0.0267923 0.619616 0.5 --0.0295173 0.175738 -0.0052542 0.533048 0.5 -0.0396492 0.0970274 -0.00677557 0.585857 0.459742 --0.0715237 0.165101 -0.0167379 0.548789 0.5 --0.0725643 0.165173 -0.0170441 0.320651 0.421495 --0.00749309 0.122405 0.0352331 0.602316 0.374044 --0.008499 0.12243 0.035017 0.55503 0.370512 -0.0289099 0.0929198 0.0437028 0.649753 0.5 --0.0135013 0.163627 -0.011822 0.338176 0.5 --0.0434958 0.166715 0.00391556 0.449091 0.5 --0.0302474 0.125253 0.00290344 0.886165 0.5 --0.0427308 0.169809 0.000879537 0.44784 0.5 --0.0205091 0.112696 0.0389743 0.544401 0.5 --0.0905331 0.135117 0.0212107 0.8537 0.5 --0.0765896 0.172837 -0.038783 0.256591 0.4298 --0.0764984 0.127442 0.0532158 0.64269 0.5 --0.0194912 0.112675 0.0392933 0.58523 0.5 --0.0864902 0.103559 0.00540359 0.523819 0.297125 --0.0500639 0.141673 0.0143962 0.701537 0.5 -0.0370668 0.109719 0.0231776 0.52623 0.448558 -0.0322675 0.102123 0.0362847 0.733041 0.5 --0.0344941 0.171246 -0.000779029 0.483961 0.464804 --0.0764811 0.141399 0.0471717 0.586335 0.5 --0.0764751 0.146968 0.0421376 0.424358 0.5 --0.0394762 0.17111 0.000601324 0.452893 0.5 -0.0391769 0.106978 0.0201683 0.695921 0.5 --0.085121 0.108927 0.00536277 0.436727 0.419097 -0.0452897 0.0861791 0.0201631 0.487783 0.481728 -0.0172248 0.12732 0.0217261 0.481793 0.5 --0.000517251 0.0386237 0.0468325 0.280725 0.5 -0.00049898 0.0385943 0.0466363 0.331809 0.5 -0.00148534 0.0385845 0.0464325 0.326482 0.5 -0.00248248 0.0385592 0.0461627 0.29533 0.5 --0.0157632 0.12799 0.00385748 0.693854 0.5 --0.0725199 0.141421 0.0466976 0.6287 0.5 --0.0504991 0.156412 0.0101915 0.561042 0.5 --0.0907438 0.135107 0.0202099 0.861739 0.5 --0.0754962 0.141423 0.0471972 0.622335 0.5 --0.0355139 0.176726 -0.00796363 0.212789 0.5 -0.0406665 0.105637 0.00516291 0.522321 0.489889 --0.0920359 0.126943 0.0332532 0.848517 0.5 -0.037492 0.0983062 -0.0097724 0.721144 0.5 -0.0404914 0.098527 -0.00482713 0.553326 0.5 -0.0418428 0.0986036 -0.00180869 0.577837 0.48103 -0.0306552 0.102095 0.0374778 0.713605 0.5 -0.0457525 0.0862068 0.0131643 0.575503 0.5 --0.0305333 0.178655 -0.00565353 0.25965 0.435901 --0.028415 0.178753 -0.00594863 0.258799 0.457369 --0.0714932 0.121802 0.0535223 0.588503 0.5 --0.0725041 0.146981 0.0423864 0.549207 0.5 --0.0610006 0.129721 0.0398956 0.658867 0.444043 -0.0426086 0.0930422 0.0261716 0.622686 0.5 --0.00885946 0.13031 0.0150517 0.633691 0.5 --0.0173344 0.128368 0.0119773 0.547632 0.5 --0.0313084 0.126018 0.00688499 0.887275 0.5 --0.0700706 0.155642 0.00707306 0.739059 0.5 -0.012157 0.123544 0.032833 0.477619 0.481075 --0.0093317 0.127279 0.0279745 0.375412 0.377874 --0.0657234 0.153927 0.0319321 0.855321 0.5 --0.0717789 0.154685 0.0298089 0.444959 0.455263 -0.0193029 0.12103 0.032512 0.519282 0.5 --0.0425159 0.17187 -0.00332083 0.274377 0.177706 --0.0442176 0.170815 -0.00391429 0.245926 0.5 --0.0574617 0.0399955 0.0466824 0.417977 0.459314 --0.0564911 0.0400264 0.0468768 0.454934 0.5 --0.0554873 0.0400326 0.0469712 0.454776 0.456044 --0.0544992 0.0400332 0.0469658 0.389055 0.477691 --0.018505 0.112714 0.0394706 0.595032 0.5 --0.0504965 0.157865 0.00943584 0.524633 0.5 --0.0754858 0.146995 0.0422823 0.535866 0.5 --0.0137239 0.16215 -0.0118322 0.238043 0.5 --0.0735613 0.16372 -0.0149978 0.267801 0.372187 --0.0714997 0.16363 -0.0138384 0.403228 0.45768 -0.0386678 0.106943 0.0231645 0.646528 0.5 -0.0390362 0.108381 0.0141662 0.713602 0.5 -0.0421962 0.0929549 -0.00479827 0.490139 0.464008 --0.0454996 0.163749 0.00555272 0.432857 0.486946 --0.0435232 0.163746 0.00524284 0.447592 0.5 --0.0424866 0.0396651 0.043393 0.509262 0.5 --0.0415057 0.0396254 0.0430594 0.532611 0.5 --0.0703661 0.16678 -0.0206717 0.332592 0.447054 --0.025416 0.0905129 0.0490114 0.608282 0.5 --0.0352058 0.126987 0.0025067 0.900167 0.5 --0.0872747 0.139127 0.00719289 0.549009 0.5 --0.0147356 0.124887 0.0290085 0.420759 0.5 --0.0360017 0.17408 -0.0118959 0.409753 0.289042 --0.089164 0.0928946 0.0114433 0.753697 0.5 --0.033385 0.126374 0.00317306 0.877013 0.5 -0.0192795 0.122165 0.0310901 0.603903 0.5 --0.0646073 0.15754 -0.0113176 0.595216 0.5 --0.0641033 0.156361 -0.011127 0.453029 0.5 --0.0635915 0.15525 -0.0109401 0.366881 0.5 --0.0631289 0.15403 -0.0107687 0.340522 0.399141 --0.0709666 0.138448 -0.00754922 0.446131 0.5 --0.0705473 0.1414 0.0460484 0.622822 0.472924 --0.0755718 0.165165 -0.0201548 0.263106 0.5 --0.0767116 0.165247 -0.022942 0.32887 0.453908 -0.0296197 0.117006 0.0277632 0.614421 0.5 -0.0302544 0.115002 0.0294335 0.642356 0.5 -0.0405971 0.101404 0.0241737 0.51725 0.5 -0.0380609 0.108343 0.0221716 0.669466 0.5 -0.0404422 0.105635 0.0151656 0.69659 0.5 --0.0174953 0.112701 0.0395679 0.605597 0.5 --0.073496 0.147014 0.0424214 0.548554 0.5 --0.0734653 0.11597 0.0519419 0.585543 0.5 -0.0134925 0.114016 0.0379994 0.669811 0.5 -0.0124885 0.114028 0.0382457 0.678748 0.405433 --0.0826299 0.110259 0.0284001 0.480115 0.5 -0.0417216 0.100008 -0.000812454 0.499934 0.485059 --0.077491 0.135849 0.0507593 0.615109 0.5 --0.0164902 0.112704 0.0398029 0.574624 0.463256 --0.0154996 0.112736 0.0400881 0.562483 0.466106 --0.0354998 0.17123 0.000174393 0.438578 0.5 --0.0364553 0.171237 0.000642707 0.3609 0.453206 --0.0375058 0.171208 0.000818011 0.405342 0.5 --0.0384996 0.171162 0.000767348 0.386672 0.5 --0.0619095 0.118087 -0.0102757 0.569796 0.5 --0.070971 0.166609 -0.0480118 0.381568 0.451091 --0.091466 0.14613 0.0241501 0.648478 0.5 --0.0144894 0.112737 0.0404341 0.565572 0.465454 --0.0134864 0.112741 0.0406725 0.582932 0.462597 --0.012499 0.112778 0.04085 0.609944 0.5 -0.00148487 0.0399885 0.0464307 0.447157 0.5 -0.00248698 0.0399628 0.0461692 0.408006 0.5 -0.00347876 0.039945 0.0459765 0.428449 0.5 --0.0215095 0.114043 0.0376946 0.504636 0.5 --0.0903131 0.126767 0.00528424 0.623704 0.5 -0.0104915 0.114065 0.0387753 0.549283 0.408623 --0.0766944 0.171427 -0.0358927 0.241573 0.413559 -0.0276403 0.118218 0.0284429 0.592842 0.5 -0.0309816 0.102484 -0.0145328 0.732658 0.5 -0.0424909 0.101472 0.00517268 0.547756 0.5 -0.000497836 0.114196 0.0414191 0.592572 0.5 --0.0675175 0.146991 0.0409028 0.62562 0.5 -0.0424058 0.101483 0.00416631 0.537588 0.5 -0.0405495 0.0999198 -0.00379356 0.561091 0.5 --0.0724896 0.12743 0.0524304 0.563116 0.5 --0.0415986 0.169934 0.00129157 0.383746 0.5 --0.0145885 0.128899 0.00863716 0.682121 0.5 -0.0043237 0.131753 0.0112849 0.795238 0.5 --0.0635102 0.151152 0.0361873 0.463512 0.5 -0.034591 0.113857 0.0224952 0.620597 0.5 -0.0213151 0.0393899 0.0411211 0.259499 0.426724 -0.0175297 0.092684 0.048312 0.654705 0.5 -0.00701986 0.131464 0.0165435 0.748167 0.5 --0.0114796 0.112753 0.0411508 0.615633 0.5 -0.0381875 0.10978 0.0131678 0.715814 0.5 --0.0793995 0.0962934 -0.0095136 0.508477 0.5 -0.0412927 0.101424 0.0211601 0.662312 0.5 -0.0419266 0.101462 0.0171593 0.569693 0.490777 --0.0787984 0.113337 -0.0032043 0.505277 0.5 --0.0779682 0.135412 -0.00525448 0.466714 0.5 -0.00613123 0.105885 -0.0208912 0.792948 0.5 -0.00913637 0.105871 -0.0204027 0.581086 0.481535 -0.0111199 0.129735 0.0223368 0.465873 0.5 -0.00437534 0.131145 0.0198749 0.592486 0.5 --0.00201716 0.131125 0.0175388 0.587804 0.5 --0.0363521 0.126723 0.0183002 0.438744 0.464814 --0.0160775 0.128732 0.0124337 0.588033 0.5 --0.0331235 0.126633 0.00621772 0.899288 0.5 -0.00953758 0.128186 0.0275085 0.349878 0.5 --0.0221316 0.122996 0.0264112 0.445477 0.415699 --0.0709341 0.162789 -0.0122264 0.463758 0.368162 --0.0620602 0.155611 0.00849054 0.611624 0.331941 --0.0468392 0.132859 0.0202702 0.674928 0.5 --0.0410267 0.172571 -0.00282243 0.287825 0.5 --0.0385594 0.173184 -0.00190958 0.404578 0.436515 --0.0141081 0.128922 0.00736661 0.686692 0.5 --0.0574689 0.0413481 0.0461934 0.460353 0.5 --0.0564742 0.041367 0.0464242 0.413263 0.5 --0.0554898 0.041398 0.0465154 0.417403 0.440199 --0.0544756 0.0413314 0.0465715 0.443352 0.45246 --0.0534963 0.0413918 0.0463882 0.543733 0.5 --0.0526044 0.041455 0.0460966 0.571083 0.412186 --0.0415348 0.163761 0.00444738 0.465626 0.5 --0.00473635 0.13076 0.00793547 0.738924 0.5 --0.0898767 0.135147 0.0252168 0.80362 0.5 --0.00862433 0.122038 -0.0113292 0.767738 0.284429 --0.0475127 0.0411749 0.0444313 0.654962 0.5 --0.0464937 0.0411703 0.0442462 0.682757 0.5 --0.0454852 0.0411575 0.0440424 0.698389 0.5 --0.0444852 0.0411138 0.0436529 0.696126 0.5 --0.0434929 0.0410777 0.0433607 0.66402 0.5 --0.0424856 0.0410553 0.0431368 0.644332 0.5 --0.0414945 0.041025 0.0428519 0.637792 0.5 --0.0620472 0.176838 -0.0608311 0.245129 0.411885 --0.0650951 0.162442 -0.0187197 0.602921 0.370414 --0.0336466 0.125738 0.0192922 0.32811 0.5 --0.0806268 0.150792 0.0343829 0.331963 0.314683 --0.0650964 0.155112 0.00596226 0.733116 0.5 --0.00214115 0.127727 0.0291435 0.353234 0.447391 --0.0897483 0.0929448 0.0154361 0.603378 0.5 -0.0208676 0.121124 0.0316774 0.669742 0.5 -0.0201038 0.121698 0.0313961 0.649828 0.387148 --0.0652623 0.158339 -0.0115587 0.445876 0.5 --0.0319348 0.125225 0.000800634 0.910494 0.5 --0.0328435 0.125555 0.000439943 0.913283 0.5 --0.0337259 0.125903 0.000119567 0.920724 0.5 --0.0346506 0.126197 -0.000232823 0.63839 0.5 --0.0355882 0.126454 -0.000576513 0.630547 0.482626 --0.0838755 0.106118 0.000396239 0.338681 0.43162 --0.0164965 0.114086 0.0389356 0.585858 0.5 -0.0422361 0.101506 0.0151693 0.700951 0.5 -0.0394332 0.101324 0.027167 0.651687 0.5 -0.0402348 0.101386 0.0251818 0.521 0.482308 -0.0395793 0.107012 0.0171684 0.7064 0.5 --0.0524989 0.157892 0.00946562 0.425035 0.5 --0.0494896 0.157875 0.00921755 0.470367 0.484595 --0.0485004 0.157854 0.0090451 0.519328 0.5 --0.0104878 0.112778 0.0413082 0.596551 0.5 --0.0374903 0.172653 -0.000576721 0.367272 0.5 -0.0417828 0.101446 0.0181564 0.700087 0.5 -0.0448261 0.0875458 0.0221634 0.587804 0.5 --0.0300853 0.179019 -0.00589649 0.247028 0.359013 --0.0235755 0.157761 -0.0033973 0.196275 0.5 --0.0226294 0.157855 -0.00422736 0.168936 0.266977 -0.0234635 0.12256 0.0268857 0.477255 0.5 --0.00779065 0.130523 0.0125627 0.678364 0.5 -0.04086 0.101423 0.0231764 0.628267 0.5 -0.0382413 0.108427 0.0210592 0.687176 0.5 --0.0275027 0.115261 0.0337596 0.543293 0.5 --0.0255204 0.115294 0.0339151 0.435792 0.5 --0.021518 0.115416 0.036565 0.468887 0.429556 --0.0205005 0.115412 0.03703 0.534732 0.411301 --0.0754994 0.115715 0.0515239 0.490413 0.5 --0.000524008 0.041433 0.0467891 0.576734 0.5 -0.000487446 0.041412 0.0465786 0.465964 0.5 -0.00148054 0.0413996 0.0463959 0.471059 0.5 -0.00248318 0.0413744 0.0461608 0.459172 0.427194 -0.00348805 0.0413645 0.0460201 0.446673 0.5 -0.00450182 0.0413372 0.0458645 0.474555 0.5 -0.00549603 0.0413259 0.0457036 0.4746 0.5 -0.00648432 0.0413231 0.0455852 0.476347 0.38769 -0.00748602 0.041302 0.0454759 0.498672 0.40219 -0.00849456 0.0412846 0.0453159 0.486765 0.5 --0.0504978 0.159322 0.00851944 0.476667 0.5 --0.0484837 0.159357 0.00832828 0.495992 0.483766 --0.0464924 0.159333 0.00779524 0.528671 0.5 --0.0094881 0.112787 0.0415502 0.595459 0.5 --0.00849378 0.112803 0.0415796 0.624315 0.5 --0.0755022 0.131669 0.0524935 0.568988 0.5 -0.0269735 0.121605 0.0224835 0.654362 0.5 --0.0609269 0.155849 0.0219449 0.677314 0.5 --0.0175043 0.114096 0.0387143 0.583586 0.5 -0.0303038 0.118886 0.0223059 0.579556 0.5 -0.038029 0.105425 -0.00179734 0.588286 0.5 --0.0824071 0.136209 -0.001703 0.641736 0.5 -0.0380176 0.101228 -0.00786632 0.596105 0.5 --0.00749383 0.112788 0.0415528 0.627986 0.5 --0.0365049 0.169731 0.000981263 0.473031 0.5 --0.0754975 0.123189 0.0531282 0.65366 0.5 -0.0354525 0.106753 -0.0069512 0.534403 0.5 --0.0714939 0.126019 0.0527835 0.563814 0.5 -0.0377471 0.104052 -0.00484079 0.570151 0.446284 -0.0414464 0.101443 0.020163 0.677413 0.5 -0.0459345 0.0862193 0.0101703 0.586292 0.439394 --0.0708515 0.0937008 -0.0159297 0.511499 0.5 --0.0698326 0.0937229 -0.0162704 0.694987 0.5 --0.0738109 0.0935956 -0.0146814 0.429902 0.5 --0.071815 0.0936645 -0.0155813 0.472825 0.5 --0.072824 0.0936306 -0.0150907 0.44866 0.5 --0.0274399 0.180304 -0.00715734 0.249925 0.433402 --0.025431 0.180214 -0.00870569 0.433686 0.5 -0.0102401 0.13009 0.0220074 0.603593 0.5 --0.0554437 0.158541 0.0079523 0.308119 0.5 --0.059742 0.156334 0.00641085 0.31374 0.5 --0.0624591 0.155071 0.0054624 0.478676 0.5 --0.0686509 0.155409 0.00612964 0.844054 0.5 --0.0354711 0.126342 0.0186171 0.402648 0.5 --0.023563 0.126621 0.00971624 0.623756 0.5 --0.0340011 0.127005 0.00589371 0.890142 0.5 --0.072851 0.148958 0.0401319 0.500951 0.364518 --0.0719375 0.16298 -0.0125698 0.360888 0.273209 --0.0469091 0.134066 0.0158053 0.641168 0.5 --0.0697412 0.154452 0.0305168 0.841551 0.5 --0.0772099 0.0954309 0.0368548 0.678588 0.5 --0.0397448 0.172952 -0.00234724 0.355793 0.5 --0.058497 0.0426323 0.0447374 0.520655 0.5 --0.0574975 0.0426993 0.0453715 0.491988 0.5 --0.0564882 0.042714 0.0457133 0.430304 0.474128 --0.0554949 0.0427291 0.0458455 0.444299 0.481086 --0.0544973 0.0427375 0.0458563 0.540474 0.5 --0.0534987 0.0427392 0.045857 0.565446 0.5 --0.0525195 0.0426931 0.0456595 0.584439 0.442995 --0.0372497 0.126436 -0.00264816 0.906897 0.5 -0.0390771 0.099844 -0.00681802 0.565183 0.5 --0.0875792 0.134961 0.00324767 0.517441 0.5 --0.0484986 0.0425777 0.0442245 0.683295 0.5 --0.0475009 0.0425468 0.0439593 0.712662 0.5 --0.0465061 0.0425232 0.0438042 0.752307 0.5 --0.0454992 0.0425256 0.0437126 0.770258 0.5 --0.0445079 0.0424992 0.043443 0.788341 0.392875 --0.0435004 0.0424369 0.0431009 0.617426 0.4623 --0.0424905 0.0424327 0.0427417 0.707545 0.5 --0.0414965 0.0424145 0.0425934 0.688217 0.5 --0.040483 0.0423569 0.0419938 0.669165 0.320516 --0.0394907 0.0422995 0.0416287 0.624009 0.5 --0.0384762 0.0423266 0.0418914 0.528344 0.5 --0.0702433 0.163232 -0.0134117 0.451195 0.5 --0.0693658 0.16286 -0.0130912 0.452951 0.423894 --0.0685971 0.162283 -0.0128033 0.451134 0.5 --0.0678768 0.1616 -0.0125361 0.364487 0.5 --0.0672213 0.1608 -0.0122924 0.335302 0.5 --0.0665531 0.160013 -0.0120422 0.553899 0.5 --0.0659186 0.159142 -0.0118027 0.595231 0.5 --0.0310902 0.124844 0.00108587 0.901027 0.5 --0.030417 0.0360576 0.0517185 0.553401 0.5 --0.0285156 0.0433359 0.0513164 0.501112 0.5 --0.0274517 0.043312 0.0519115 0.444258 0.412775 --0.0263289 0.0434924 0.0526862 0.473744 0.406416 --0.0254805 0.0434932 0.0531599 0.487956 0.5 --0.0245014 0.043543 0.0534366 0.557003 0.474964 --0.023487 0.0435372 0.0536017 0.709553 0.5 --0.0224934 0.0435545 0.0535652 0.538684 0.48177 --0.0215102 0.0435311 0.0534788 0.544518 0.5 -0.00943169 0.130854 0.0188531 0.678388 0.5 --0.0435085 0.165227 0.00470373 0.51105 0.5 --0.0445007 0.165214 0.00483168 0.467154 0.5 -0.0219297 0.123716 0.0263137 0.534141 0.5 --0.0237608 0.156715 -0.0053038 0.158292 0.110553 --0.00664529 0.1307 0.0129838 0.669976 0.5 --0.0145323 0.043279 0.0510718 0.575852 0.5 --0.0135206 0.0432479 0.0507363 0.576144 0.470349 --0.012539 0.0432081 0.0504383 0.448727 0.478567 --0.011518 0.0431769 0.0500228 0.448927 0.393067 --0.0105379 0.0431327 0.0497176 0.512374 0.475983 --0.0095237 0.0431051 0.0494016 0.414418 0.403751 --0.00853122 0.0430617 0.0490142 0.639175 0.5 --0.0075399 0.0430305 0.0487452 0.63253 0.5 --0.00654714 0.043 0.0484741 0.596913 0.5 --0.00554666 0.0429634 0.0481135 0.598081 0.5 --0.0045458 0.042944 0.0478735 0.397613 0.5 --0.00354236 0.0429091 0.0474905 0.473885 0.5 --0.00253313 0.0428829 0.047136 0.480573 0.5 --0.00151689 0.0428507 0.0468014 0.414958 0.456422 --0.000523566 0.0428273 0.0465064 0.577992 0.5 -0.000556364 0.0427979 0.0462128 0.456298 0.458882 -0.00148401 0.0427923 0.0460657 0.464527 0.44659 -0.00249537 0.0427747 0.0458993 0.45889 0.438584 -0.00349523 0.0427434 0.0456833 0.443442 0.5 -0.00450037 0.0427385 0.0456181 0.48812 0.352062 -0.0055205 0.0427186 0.0455303 0.492534 0.351666 -0.00649466 0.0427198 0.0454361 0.481813 0.5 -0.00748686 0.0427091 0.0452774 0.502422 0.5 -0.00848754 0.0426921 0.0451471 0.52148 0.5 -0.00949394 0.0426698 0.0450285 0.519814 0.433928 --0.0312712 0.125373 0.00251041 0.881765 0.5 -0.0185111 0.114004 0.0370685 0.681163 0.5 --0.0166719 0.128014 0.0194984 0.293349 0.5 --0.00948977 0.114167 0.0408028 0.616926 0.448066 --0.0114786 0.114128 0.0403922 0.616017 0.5 --0.0134888 0.11412 0.0398002 0.570863 0.5 --0.0255274 0.113962 0.0353265 0.431045 0.5 --0.0530543 0.14469 0.0223994 0.639643 0.5 --0.0623396 0.172509 -0.0536126 0.549906 0.5 --0.0381364 0.171203 -0.0118442 0.436075 0.5 --0.0538885 0.131144 0.0343613 0.727547 0.5 --0.065797 0.132562 0.0435297 0.724494 0.5 -0.0425599 0.101502 0.0121632 0.700448 0.5 -0.0269244 0.118903 0.0281816 0.594201 0.5 --0.0384984 0.169734 0.00180247 0.419452 0.5 --0.0355002 0.174151 -0.00180627 0.34771 0.5 --0.0938575 0.120136 0.0242923 0.794672 0.5 -0.0455621 0.0889987 0.00417598 0.507794 0.5 --0.00649004 0.112763 0.0415025 0.626781 0.5 --0.00548831 0.112771 0.0416249 0.635396 0.5 --0.0768441 0.113421 -0.00459179 0.435244 0.44599 --0.0461647 0.162128 -0.00806097 0.424682 0.5 --0.0411461 0.162173 -0.0113613 0.411895 0.405943 --0.0506704 0.0680761 0.0375114 0.682177 0.456916 --0.0358262 0.0929298 -0.0238031 0.72469 0.5 --0.0368263 0.0929138 -0.0236695 0.716574 0.5 --0.00449355 0.112805 0.041803 0.637129 0.5 -0.0398162 0.107019 0.0141667 0.7096 0.5 --0.0715276 0.14003 0.0472238 0.61723 0.5 --0.0845757 0.151155 0.0298105 0.29708 0.5 --0.00349089 0.112806 0.0419152 0.643881 0.5 -0.00931098 0.130351 0.0216675 0.620134 0.375978 --0.0611888 0.155469 0.00589931 0.320383 0.5 --0.0686715 0.165205 -0.0529941 0.518552 0.5 --0.0657827 0.158229 -0.0103034 0.576317 0.397537 --0.0646035 0.156332 -0.00986181 0.543974 0.5 --0.00112962 0.125371 0.0323555 0.444043 0.5 --0.0248162 0.126254 0.00926143 0.653441 0.5 --0.0388176 0.128112 0.00411022 0.864483 0.5 --0.0747959 0.149331 0.0394056 0.432149 0.5 -0.0112941 0.127457 0.0281604 0.471276 0.5 --0.0707468 0.161979 -0.010709 0.464361 0.5 -0.0184391 0.121423 0.0322194 0.497301 0.5 --0.0677549 0.154168 0.0312275 0.475281 0.457511 --0.064733 0.15377 0.0322824 0.855275 0.5 --0.0584936 0.0439589 0.0439647 0.437887 0.447715 --0.0574962 0.0440189 0.0444763 0.402121 0.5 --0.0564899 0.0440403 0.0448345 0.353388 0.5 --0.0554809 0.0440191 0.0450323 0.441993 0.5 --0.0544952 0.0440117 0.0450302 0.453665 0.418275 --0.0535025 0.0440354 0.0449405 0.431955 0.5 --0.0525152 0.0439969 0.0448982 0.443075 0.5 --0.0515259 0.0439564 0.0445165 0.419507 0.5 --0.0505573 0.0439128 0.0441317 0.443831 0.401265 --0.0495011 0.0439447 0.0438293 0.578607 0.5 --0.0485184 0.0438796 0.0435224 0.603752 0.440048 --0.0475121 0.0438565 0.0432608 0.627778 0.5 --0.0465128 0.0438401 0.043121 0.670741 0.5 --0.0455024 0.0438631 0.0430524 0.692912 0.5 --0.0445045 0.0438483 0.042919 0.710879 0.5 --0.0435038 0.0438236 0.0424673 0.738646 0.379127 --0.0425002 0.0437706 0.0420539 0.719937 0.5 --0.0414888 0.0437926 0.0421195 0.730733 0.5 --0.0404988 0.043751 0.0418177 0.700143 0.5 --0.039497 0.0436994 0.0413132 0.505854 0.327 --0.0384894 0.0436513 0.0409963 0.818051 0.5 --0.0143198 0.128437 0.0203415 0.427313 0.5 --0.0229389 0.126187 0.00412352 0.710427 0.5 --0.0241862 0.125789 0.00366503 0.703021 0.5 --0.0255023 0.125351 0.00317915 0.728192 0.5 --0.0266954 0.125077 0.00273937 0.76612 0.5 --0.0278953 0.124828 0.00229374 0.823897 0.5 --0.028881 0.124884 0.00195054 0.84196 0.5 --0.0300707 0.124739 0.00148409 0.844261 0.5 --0.0294793 0.0446083 0.0503994 0.511042 0.5 --0.0284587 0.0446173 0.0507119 0.546568 0.5 --0.0274798 0.0446461 0.0507675 0.521414 0.476195 --0.0264922 0.0447022 0.0511549 0.471406 0.469403 --0.0254758 0.0447668 0.0519525 0.450796 0.400981 --0.0244827 0.044849 0.0526821 0.506788 0.5 --0.0234833 0.0448815 0.0530288 0.563115 0.5 --0.0224929 0.0448955 0.0530527 0.679128 0.5 --0.0215028 0.0448835 0.0530162 0.682895 0.5 --0.0205217 0.0448565 0.0528623 0.687704 0.5 --0.0195138 0.0448322 0.0525308 0.535833 0.472325 --0.0664988 0.146992 0.0401715 0.646294 0.5 --0.0174883 0.044685 0.0517611 0.525083 0.5 --0.0165095 0.0446732 0.0513338 0.502772 0.5 --0.0155403 0.0446621 0.0510487 0.467745 0.475695 --0.0145231 0.0446315 0.0506096 0.473882 0.5 --0.0135516 0.0445689 0.0502862 0.620194 0.436087 --0.0125497 0.0445369 0.0499253 0.622482 0.5 --0.0115453 0.0445033 0.0495732 0.647659 0.5 --0.0105391 0.0444694 0.0492224 0.62392 0.5 --0.0095351 0.0444416 0.0488648 0.608997 0.5 --0.00853579 0.044404 0.0484956 0.613173 0.5 --0.00752629 0.0443832 0.0481509 0.640516 0.5 --0.00652958 0.0443624 0.0478753 0.61046 0.5 --0.0055195 0.0443362 0.047543 0.617575 0.5 --0.00452146 0.0443187 0.0472734 0.628665 0.5 --0.00351628 0.0442826 0.04692 0.648434 0.5 --0.00251639 0.0442645 0.0466529 0.67224 0.5 --0.00150749 0.0442279 0.0463824 0.578592 0.464517 --0.000506085 0.0442149 0.046198 0.524352 0.464064 -0.000494981 0.0442085 0.0460563 0.464978 0.5 -0.00150093 0.0441835 0.0459725 0.48956 0.5 -0.00250242 0.0441898 0.0459568 0.481694 0.5 -0.00350312 0.0441648 0.0458711 0.474228 0.5 -0.00450017 0.0441843 0.0459802 0.550942 0.5 -0.00550628 0.0441375 0.0457857 0.614058 0.5 -0.00650269 0.044152 0.0457422 0.622114 0.5 -0.00751849 0.0440876 0.0454461 0.516694 0.5 -0.00849016 0.0441134 0.0451901 0.532587 0.5 -0.00949781 0.0440631 0.0448456 0.72381 0.5 -0.0194908 0.113962 0.0368661 0.543398 0.48059 --0.000436317 0.122463 0.0356275 0.606203 0.420431 -0.00748358 0.11412 0.0398951 0.531072 0.5 --0.010493 0.114167 0.0405696 0.618466 0.448503 --0.0124865 0.114128 0.0400495 0.588678 0.5 --0.023546 0.114036 0.0366055 0.523621 0.5 --0.0245515 0.114015 0.0358596 0.515012 0.5 --0.0195083 0.11546 0.0373373 0.557477 0.408277 --0.0805239 0.148418 0.0381727 0.47939 0.5 --0.0795053 0.148405 0.0389114 0.458429 0.464546 --0.0784976 0.148406 0.0395361 0.465879 0.5 --0.0775017 0.148428 0.039927 0.39118 0.478719 --0.0444613 0.12936 0.0182577 0.438518 0.5 --0.0804668 0.131637 0.0521945 0.54405 0.5 --0.0514917 0.154976 0.0111 0.53832 0.47749 --0.0395009 0.16971 0.00189803 0.415321 0.5 --0.0414861 0.169687 0.00162271 0.384299 0.5 -0.0385319 0.0997972 -0.00779458 0.581641 0.5 -0.0379028 0.0997575 -0.00879746 0.607254 0.465993 -0.0451983 0.0889806 0.0171667 0.521547 0.5 -0.000137104 0.104495 -0.0221519 0.733954 0.5 --0.0738111 0.0907253 -0.0150698 0.397424 0.5 --0.0728162 0.0907583 -0.0154663 0.420617 0.5 --0.0718188 0.0907915 -0.0158595 0.436745 0.469601 --0.070799 0.0908224 -0.0163205 0.499444 0.407676 --0.0688127 0.0908552 -0.0166124 0.716411 0.5 --0.0698172 0.0908437 -0.0164973 0.691972 0.5 --0.033107 0.125984 0.00180258 0.904588 0.5 -0.0255618 0.120425 0.027665 0.547703 0.5 --0.039513 0.166742 0.00312951 0.509862 0.5 --0.0384463 0.166779 0.00239389 0.493833 0.5 --0.00482205 0.130969 0.0150835 0.650381 0.5 --0.0735195 0.135848 0.0500526 0.628388 0.5 -0.00828872 0.130472 0.0213052 0.586346 0.396701 --0.015947 0.124632 0.0285893 0.429788 0.5 --0.0661935 0.155092 0.00556387 0.832947 0.5 --0.0651326 0.157423 -0.0100634 0.549807 0.5 --0.0671177 0.159814 -0.0107973 0.42216 0.440727 --0.0222267 0.0906414 0.0528718 0.546444 0.5 --0.0349319 0.127285 0.00554823 0.891809 0.5 --0.0398081 0.128271 0.00374611 0.860622 0.5 --0.0920085 0.116136 0.0393096 0.646363 0.5 --0.00402267 0.0975528 0.0526596 0.455087 0.5 --0.0669805 0.1589 -0.00929727 0.396982 0.5 --0.0127755 0.126776 0.0267341 0.348721 0.5 --0.0139293 0.126622 0.0263262 0.347801 0.371858 -0.047185 0.0692848 0.0242283 0.33948 0.5 --0.0574743 0.0452883 0.0435332 0.264409 0.5 --0.0564615 0.0452367 0.0437224 0.306375 0.5 --0.0554801 0.0452738 0.0437595 0.32622 0.5 --0.054487 0.0452173 0.0438312 0.329123 0.5 --0.0535114 0.0452153 0.0437642 0.294185 0.404382 --0.052516 0.0452355 0.0436109 0.279548 0.5 --0.0515128 0.0452783 0.043411 0.368276 0.458414 --0.0505103 0.0452467 0.0429196 0.393801 0.462138 --0.0495176 0.0451863 0.0426306 0.43714 0.5 --0.0485029 0.0452121 0.0424266 0.495506 0.5 --0.047499 0.0451812 0.0421654 0.550536 0.5 --0.0464981 0.0451704 0.0419279 0.572863 0.5 --0.0454982 0.045182 0.0420491 0.635941 0.5 --0.044496 0.0451943 0.0419603 0.652968 0.5 --0.0434918 0.0451945 0.0416496 0.699461 0.5 --0.0424936 0.045133 0.0413379 0.711239 0.5 --0.0414975 0.045132 0.0414403 0.721914 0.5 --0.0404955 0.0451407 0.0414639 0.657568 0.5 --0.0395021 0.0450562 0.0411081 0.532288 0.311328 --0.038496 0.0450464 0.0406484 0.620035 0.5 --0.0375125 0.045091 0.0407522 0.801759 0.5 --0.069527 0.156219 -3.70248e-05 0.629099 0.5 --0.088156 0.151596 0.0228856 0.276354 0.5 --0.0725884 0.155473 0.0265843 0.47565 0.441038 --0.0758153 0.155373 0.0254598 0.799832 0.5 --0.00601771 0.0990415 0.0504631 0.327523 0.438474 -0.0296092 0.114943 -0.00583865 0.66246 0.5 --0.0918829 0.116106 0.0333156 0.476916 0.5 --0.0294372 0.045874 0.0494957 0.432059 0.466683 --0.02847 0.045966 0.0500228 0.428999 0.5 --0.0274618 0.045988 0.0503593 0.616836 0.5 --0.0264467 0.0459901 0.0505652 0.616881 0.5 --0.025466 0.0460651 0.0509844 0.563027 0.396248 --0.0244855 0.0461464 0.0516096 0.454706 0.407068 --0.0234881 0.0462034 0.0522022 0.438423 0.5 --0.0224893 0.0462052 0.0523041 0.557416 0.5 --0.0214969 0.0461967 0.0522939 0.540731 0.5 --0.0205102 0.0461853 0.0521703 0.565034 0.5 --0.0195364 0.0461211 0.0518679 0.569967 0.459648 --0.0185448 0.0460852 0.0515079 0.447008 0.5 --0.0175443 0.0460366 0.0510389 0.544281 0.5 --0.0165385 0.0459978 0.0505746 0.509702 0.5 --0.0155349 0.0459646 0.0502157 0.485165 0.5 --0.0145321 0.0459268 0.0498594 0.463789 0.44849 --0.0135288 0.0458914 0.0493586 0.469555 0.5 --0.012533 0.0458468 0.048979 0.511849 0.42028 --0.0115387 0.0458293 0.048671 0.551458 0.5 --0.0105333 0.0457993 0.0483516 0.581683 0.396212 --0.0095211 0.045789 0.0480158 0.556595 0.5 --0.00850771 0.0457646 0.047699 0.616722 0.5 --0.00750575 0.0457415 0.0474579 0.640683 0.5 --0.00649796 0.0457161 0.0472731 0.671927 0.5 --0.00549495 0.0456998 0.0471564 0.611505 0.5 --0.00449363 0.0456798 0.0470573 0.581333 0.5 --0.00349731 0.0456721 0.0469862 0.46766 0.454238 --0.00248901 0.0456504 0.0469622 0.477238 0.5 --0.00149685 0.0456811 0.047029 0.522546 0.5 --0.000499367 0.0456802 0.0470389 0.497193 0.429154 -0.000501495 0.0457296 0.0472541 0.425279 0.459567 -0.00150908 0.0458287 0.0477014 0.528532 0.5 -0.00251634 0.0459065 0.0480561 0.56846 0.5 -0.00351191 0.0459363 0.0483003 0.550182 0.5 -0.00450167 0.0459455 0.0484199 0.573739 0.5 -0.00549045 0.0459551 0.048539 0.453336 0.5 -0.00647697 0.0459611 0.0484012 0.56068 0.5 -0.00747158 0.0458651 0.0478111 0.572906 0.5 -0.00845531 0.04577 0.0469205 0.620266 0.5 -0.00953188 0.0455622 0.0461832 0.626827 0.5 --0.0354984 0.115235 0.0327878 0.683562 0.5 --0.033517 0.115303 0.0329858 0.643519 0.5 --0.034501 0.115223 0.0328885 0.675316 0.5 --0.0484911 0.115278 0.0334198 0.515399 0.5 --0.00248977 0.112799 0.0419964 0.661564 0.455977 -0.0429479 0.0845778 -0.00579145 0.568535 0.5 --0.00749309 0.114174 0.0409291 0.643883 0.5 --0.00648723 0.114138 0.040862 0.645616 0.5 --0.0343726 0.127227 0.0072164 0.890292 0.5 --0.0675131 0.145595 0.0418048 0.617258 0.5 --0.0685186 0.1456 0.0424246 0.503733 0.5 --0.076485 0.148385 0.0403892 0.46656 0.5 --0.0715061 0.148353 0.0408514 0.53355 0.438723 --0.0393744 0.174134 -0.00504658 0.250755 0.5 -0.0410678 0.10142 0.0221661 0.638113 0.5 --0.0514931 0.156432 0.0104716 0.535638 0.5 -0.0202898 0.124676 0.0257091 0.513676 0.5 --0.0151278 0.128803 0.00988702 0.67945 0.5 --0.00149333 0.112805 0.0421166 0.662393 0.468388 --0.0228105 0.123961 0.023212 0.374818 0.437592 -0.0405574 0.104219 0.0191648 0.561751 0.5 -0.0315129 0.0439606 0.0299133 0.650152 0.5 -0.0325099 0.0439072 0.0294151 0.770367 0.5 --0.0490964 0.156122 -0.00621407 0.386286 0.5 --0.0271937 0.174158 -0.0183459 0.379432 0.418735 -0.0272121 0.088765 -0.0222319 0.715629 0.5 --0.0307256 0.0915724 -0.0247467 0.474586 0.431409 --0.0318346 0.0915622 -0.0244444 0.643906 0.5 --0.0298676 0.0916468 -0.0252289 0.34034 0.5 --0.0494924 0.160775 0.00747898 0.515745 0.5 --0.0322408 0.125589 0.00213325 0.898503 0.5 --0.0888501 0.151809 0.0151852 0.257143 0.5 -0.0343092 0.113032 0.0252402 0.612766 0.5 -0.0375985 0.10834 0.0241868 0.534482 0.490368 --0.0254275 0.181837 -0.00892324 0.236115 0.43737 -0.028089 0.0929174 0.0442737 0.642207 0.5 --0.000498881 0.112805 0.0421187 0.625603 0.5 -0.00328959 0.131137 0.0194851 0.597335 0.5 --0.00316996 0.131012 0.0171239 0.593251 0.5 -0.00680734 0.129132 0.0265205 0.374593 0.448613 -0.00773558 0.128847 0.0268569 0.39179 0.5 --0.0445078 0.128204 0.0197407 0.463673 0.5 --0.0288355 0.125617 0.00924976 0.816818 0.5 --0.0407972 0.128426 0.00338476 0.855031 0.5 --0.088826 0.122625 0.00229599 0.498057 0.5 --0.00326172 0.0994383 0.0499516 0.273204 0.415905 --0.0426789 0.168728 0.0023488 0.333917 0.5 --0.0657091 0.157202 -0.00882727 0.538634 0.5 --0.0645952 0.155196 -0.0084031 0.562426 0.370229 --0.0635463 0.153079 -0.00800928 0.50597 0.5 --0.0236453 0.0906062 0.0514725 0.701203 0.5 --0.0564936 0.0465915 0.0420515 0.155364 0.331947 --0.0554996 0.0466308 0.0421953 0.174013 0.386104 --0.054494 0.0465534 0.0422647 0.204041 0.5 --0.053498 0.0465766 0.0420409 0.196715 0.5 --0.0525012 0.046573 0.0420391 0.224388 0.5 --0.0515001 0.0465582 0.0417907 0.325701 0.5 --0.0504972 0.0465484 0.0414292 0.392275 0.5 --0.0495014 0.0464837 0.0411417 0.465213 0.5 --0.048497 0.0464891 0.040915 0.435536 0.5 --0.0474979 0.0464882 0.040801 0.517842 0.5 --0.0464961 0.0464761 0.0407845 0.564414 0.5 --0.0454996 0.0464888 0.0408011 0.625964 0.5 --0.0444986 0.0465011 0.0409291 0.659381 0.5 --0.0435026 0.0465062 0.0407289 0.739843 0.5 --0.0424955 0.0464529 0.0406301 0.772548 0.5 --0.0414956 0.0464933 0.0408152 0.747413 0.5 --0.0404958 0.0464911 0.0408136 0.648237 0.5 --0.0394936 0.046476 0.0404962 0.650046 0.5 --0.0384944 0.0464446 0.0402202 0.650395 0.5 --0.0375004 0.0464372 0.040096 0.614167 0.5 --0.036507 0.0464425 0.0402005 0.769891 0.5 --0.0255118 0.0936195 -0.0293755 0.294426 0.332222 --0.0297999 0.12434 0.000117203 0.866874 0.5 --0.0308235 0.12443 -0.00028071 0.89886 0.5 --0.0317456 0.124703 -0.000629789 0.90558 0.5 --0.0326323 0.125019 -0.000941466 0.92032 0.5 --0.0335104 0.125389 -0.00127044 0.638757 0.5 --0.0344386 0.125663 -0.00162003 0.643798 0.476155 --0.0284556 0.0472262 0.0488083 0.381268 0.5 --0.0274608 0.0473022 0.0495228 0.326031 0.5 --0.0264774 0.0473675 0.0499125 0.398738 0.5 --0.0254423 0.0473682 0.0503166 0.372414 0.46559 --0.0244616 0.0474336 0.050725 0.35697 0.413926 --0.0234912 0.0474961 0.0510145 0.339507 0.5 --0.0224848 0.0474635 0.0510926 0.42123 0.5 --0.0214953 0.0474568 0.0509792 0.398311 0.5 --0.0205082 0.0474421 0.0508554 0.522247 0.5 --0.0195149 0.0474114 0.0506124 0.52524 0.5 --0.0185134 0.0473863 0.05026 0.546784 0.5 --0.0175351 0.0472943 0.0498404 0.576068 0.5 --0.0165233 0.0472885 0.0494939 0.526685 0.5 --0.0155034 0.0472755 0.0490261 0.387348 0.5 --0.0144968 0.0472352 0.0484474 0.414984 0.428712 --0.0134961 0.0472092 0.0480936 0.502337 0.5 --0.0124976 0.0472007 0.0479814 0.573371 0.5 --0.0114987 0.0471911 0.0478612 0.625363 0.5 --0.010495 0.0471724 0.0477907 0.597977 0.5 --0.00949656 0.0471698 0.047803 0.569713 0.5 --0.00851871 0.0471234 0.047663 0.565586 0.316117 --0.00750517 0.0471136 0.0478292 0.553926 0.314627 --0.00650105 0.0472142 0.0482843 0.437426 0.44831 --0.00549562 0.0472961 0.0485942 0.446744 0.431743 --0.0044937 0.0473352 0.0489501 0.556866 0.5 --0.0034922 0.0473569 0.0490622 0.557965 0.5 --0.00249349 0.0474079 0.0491587 0.448484 0.460756 --0.00147854 0.0474532 0.049375 0.486688 0.446217 --0.000486036 0.047441 0.049521 0.509834 0.439423 -0.000507196 0.0474213 0.049671 0.495901 0.44823 -0.00150975 0.0474485 0.049901 0.591917 0.5 -0.00250708 0.0474439 0.0499052 0.499299 0.5 -0.00350193 0.0474397 0.0500395 0.505375 0.5 -0.00449953 0.0474774 0.0501288 0.505968 0.5 -0.00549435 0.0474709 0.0500045 0.508281 0.5 -0.00648582 0.047441 0.0497645 0.494952 0.5 -0.00747686 0.0474111 0.0493962 0.504357 0.5 -0.00849245 0.0473031 0.0488481 0.429122 0.458323 -0.00946392 0.0472926 0.0483305 0.530082 0.45981 -0.0104364 0.0472441 0.0475563 0.520876 0.5 --0.0764988 0.13725 0.0499203 0.608254 0.5 --0.0774908 0.137247 0.0499166 0.59291 0.5 --0.0325172 0.115309 0.0332233 0.593262 0.5 --0.0586564 0.152453 0.0326111 0.470966 0.5 -0.0348698 0.112104 0.0254475 0.620406 0.474458 --0.00549593 0.114185 0.0409403 0.649936 0.437916 --0.0755046 0.137255 0.0498073 0.624942 0.5 --0.0745038 0.137269 0.049596 0.614235 0.394881 --0.0735087 0.137262 0.0493527 0.625357 0.5 --0.0715111 0.145604 0.0434169 0.588713 0.456363 --0.0725069 0.145589 0.0436497 0.59144 0.5 --0.0705109 0.148356 0.0407257 0.528951 0.5 --0.0675145 0.148386 0.0398761 0.462984 0.5 --0.0663959 0.148276 0.0393784 0.511409 0.450962 --0.0810243 0.0936828 -0.00856919 0.685573 0.5 -0.0432798 0.100122 0.00916351 0.574016 0.5 --0.0475138 0.156385 0.00914965 0.626298 0.5 -0.0402856 0.10561 0.017163 0.704161 0.5 --0.0774854 0.142838 0.0458543 0.518864 0.5 --0.0749127 0.151363 0.0363064 0.353251 0.459253 --0.0284773 0.177212 -0.00607735 0.446338 0.5 -0.0325091 0.0454335 0.0302933 0.787274 0.5 -0.0335076 0.0453895 0.0300756 0.814738 0.5 -0.0345025 0.0454126 0.0301845 0.810974 0.5 -0.035496 0.0454077 0.0303438 0.807573 0.5 -0.0364941 0.0454217 0.0304675 0.622717 0.5 -0.0375013 0.045461 0.0306904 0.62344 0.5 -0.0385027 0.0454964 0.0307784 0.599664 0.5 --0.0154988 0.114109 0.0392017 0.566077 0.5 --0.0475053 0.16079 0.00736091 0.478146 0.5 --0.0434424 0.160833 0.00573037 0.584039 0.5 --0.0127683 0.163589 -0.0126806 0.289791 0.5 -0.0323217 0.116577 0.0230638 0.748262 0.5 --0.0414995 0.168206 0.00296291 0.422685 0.5 -0.0393714 0.104176 0.025187 0.518452 0.458836 -0.0299608 0.102103 0.0382304 0.70041 0.5 --0.0255896 0.182763 -0.0105092 0.245054 0.5 --0.0245507 0.183147 -0.010424 0.234 0.5 --0.0234711 0.183379 -0.010712 0.246322 0.458572 --0.0100076 0.130157 0.0146359 0.580144 0.5 --0.0185901 0.128007 0.0115203 0.561423 0.5 -0.000382137 0.128869 0.0270967 0.347796 0.441746 -0.00961512 0.122501 0.0348066 0.599451 0.5 --0.0689992 0.150311 0.0384044 0.435317 0.281638 --0.0742776 0.161639 -0.0118948 0.294222 0.5 --0.0699149 0.161541 -0.0103834 0.496545 0.382959 --0.0437665 0.168716 0.00196199 0.333813 0.428845 --0.00338001 0.130095 0.0228247 0.835857 0.5 --0.0637552 0.15245 -0.00517189 0.691705 0.5 --0.067462 0.157723 -0.00658264 0.409289 0.444444 --0.0696084 0.159782 -0.00738408 0.493602 0.396952 --0.0564952 0.047766 0.0395183 0.0883466 0.213805 --0.0554939 0.0477978 0.0398952 0.0899238 0.223778 --0.0544725 0.0478754 0.0402183 0.0936448 0.372444 --0.0534956 0.0478266 0.0400304 0.159535 0.5 --0.0524983 0.0477783 0.0397646 0.155558 0.429639 --0.0514997 0.047729 0.0396118 0.247029 0.5 --0.0504949 0.0477308 0.0397221 0.307418 0.5 --0.0494981 0.0477699 0.0395132 0.394846 0.5 --0.0484934 0.047761 0.0395051 0.439768 0.5 --0.0474969 0.0477925 0.0396528 0.497979 0.5 --0.0464984 0.047794 0.0396541 0.596063 0.5 --0.045503 0.0478046 0.0396725 0.671048 0.5 --0.044502 0.0478297 0.0399289 0.738675 0.5 --0.0435018 0.0478421 0.040059 0.78748 0.5 --0.0425045 0.0478596 0.0401075 0.82803 0.5 --0.0414999 0.0478558 0.040117 0.775761 0.5 --0.0404958 0.0478428 0.0400733 0.730289 0.5 --0.0394895 0.0478295 0.0398724 0.719405 0.5 --0.0384924 0.0478181 0.0398313 0.704038 0.5 --0.0374932 0.0478153 0.0397186 0.656538 0.5 --0.0365036 0.0478079 0.0395886 0.809528 0.5 --0.0355275 0.04785 0.0396404 0.737409 0.5 --0.0697425 0.164473 -0.0161193 0.358587 0.445312 --0.0689178 0.164003 -0.0158096 0.349886 0.384981 --0.0681413 0.163425 -0.0155251 0.35769 0.449279 --0.0673944 0.162815 -0.015253 0.349438 0.460572 --0.0666931 0.162075 -0.0149837 0.400441 0.5 --0.0660878 0.161167 -0.014759 0.393223 0.422636 --0.0654948 0.160255 -0.0145439 0.549279 0.5 --0.0274537 0.0485303 0.0479606 0.219221 0.5 --0.0264744 0.0486202 0.0485825 0.245873 0.5 --0.0254941 0.0486931 0.0489695 0.241748 0.39204 --0.0244788 0.0486839 0.0492934 0.282983 0.5 --0.0234883 0.0487024 0.0493089 0.373489 0.5 --0.0224914 0.04868 0.0491885 0.367946 0.5 --0.0214981 0.0486638 0.0490621 0.381852 0.5 --0.0205025 0.0486482 0.0489372 0.373069 0.5 --0.0194857 0.0486564 0.0485018 0.303163 0.444285 --0.0184963 0.0486167 0.0482304 0.33741 0.44631 --0.017497 0.0485942 0.047882 0.409156 0.5 --0.0164973 0.0485745 0.0476342 0.420528 0.5 --0.0154987 0.0485755 0.0476399 0.490508 0.5 --0.0144966 0.0485988 0.0478804 0.500347 0.5 --0.013506 0.0486161 0.0481837 0.527089 0.5 --0.0125023 0.0486789 0.0487656 0.496618 0.5 --0.0114995 0.0486859 0.0490069 0.453954 0.355746 --0.010491 0.0487865 0.0492904 0.439773 0.333963 --0.00948608 0.0488348 0.0496357 0.478728 0.5 --0.0084766 0.0489124 0.0500846 0.61481 0.5 --0.00748372 0.0488969 0.0502433 0.596772 0.5 --0.00649633 0.0488329 0.050181 0.617627 0.5 --0.00549072 0.0488848 0.0502608 0.53012 0.5 --0.00449485 0.0488681 0.0504112 0.55229 0.5 --0.00348603 0.0489394 0.050606 0.545374 0.5 --0.00249719 0.0488761 0.0505372 0.527248 0.5 --0.00148646 0.0489421 0.0507365 0.547703 0.455802 --0.000497779 0.0489051 0.0509033 0.561112 0.5 -0.000506827 0.0489752 0.0512269 0.560812 0.423049 -0.0015066 0.0490028 0.0513272 0.53515 0.5 -0.00250363 0.0489881 0.0513443 0.545766 0.5 -0.00350274 0.0489558 0.0513808 0.545727 0.5 -0.00450171 0.04895 0.0512539 0.538384 0.5 -0.00549546 0.0489597 0.051102 0.545653 0.5 -0.0064937 0.048929 0.05087 0.558244 0.5 -0.00748827 0.048894 0.0505047 0.552985 0.5 -0.0084996 0.0488213 0.0500608 0.562009 0.5 -0.00949238 0.0487693 0.0494463 0.564871 0.5 -0.0104455 0.0488162 0.0487077 0.577213 0.378391 --0.0724967 0.123205 0.0535111 0.500853 0.5 --0.00949475 0.122405 0.0348735 0.515152 0.5 -0.0449966 0.0931749 0.00418165 0.582116 0.455816 --0.0893649 0.111932 0.017326 0.604102 0.5 -0.000497507 0.112823 0.0420607 0.773647 0.5 --0.0744965 0.123196 0.0533572 0.663729 0.5 --0.0576724 0.155657 0.012957 0.57019 0.5 -0.00599322 0.131555 0.0161709 0.748023 0.5 --0.0725241 0.13724 0.0489632 0.621356 0.5 --0.0764972 0.123179 0.0527664 0.567268 0.5 --0.0735012 0.145587 0.0437725 0.590859 0.354482 --0.074493 0.145596 0.0437863 0.580156 0.391421 --0.0754893 0.145614 0.0436847 0.557271 0.5 --0.0764843 0.145607 0.0435529 0.548446 0.5 --0.0654644 0.148292 0.0388168 0.516432 0.5 --0.0645196 0.148285 0.0383203 0.505246 0.481751 --0.063566 0.148289 0.0378536 0.506024 0.469958 --0.0624682 0.148372 0.0373168 0.491494 0.5 --0.061629 0.148291 0.0370712 0.495113 0.5 --0.000397233 0.131333 0.0167016 0.611031 0.5 --0.00149054 0.131258 0.0163007 0.630676 0.326365 -0.0325208 0.0469245 0.0310812 0.735147 0.5 -0.0335068 0.0468989 0.0306812 0.819134 0.5 -0.0345037 0.0468848 0.0307194 0.819865 0.5 -0.0354988 0.0469226 0.030944 0.64587 0.5 -0.0364837 0.0469104 0.0311466 0.66983 0.5 -0.0374899 0.0469458 0.0313688 0.668179 0.5 -0.0384949 0.0469555 0.0314897 0.697464 0.5 -0.0395014 0.0469731 0.0315971 0.685596 0.5 -0.0405026 0.0469928 0.0315524 0.610453 0.5 --0.0893231 0.14203 0.0321578 0.623335 0.5 -0.00149473 0.112812 0.0419217 0.591813 0.5 --0.0774962 0.131676 0.0527303 0.613646 0.5 --0.00266999 0.131274 0.0130017 0.734441 0.5 --0.0625219 0.151129 0.0359075 0.465095 0.452331 -0.0444235 0.0917457 0.0211574 0.493368 0.454688 -0.00249002 0.112797 0.0416669 0.614079 0.5 -0.0432951 0.0987146 0.0161577 0.668233 0.5 --0.0354636 0.172718 -0.000342918 0.338322 0.453736 --0.02246 0.183226 -0.0115124 0.300187 0.5 -0.0430875 0.0930739 0.0251589 0.612628 0.471241 --0.0260776 0.125932 0.00880255 0.730099 0.5 --0.0358232 0.127618 0.00522677 0.875884 0.5 --0.0417874 0.128546 0.00302224 0.854553 0.5 --0.0728566 0.162156 -0.0114327 0.290448 0.5 --0.069106 0.161031 -0.0101008 0.388478 0.416746 --0.0683786 0.160357 -0.00982452 0.382925 0.468866 --0.0619637 0.147832 -0.00431835 0.335344 0.5 --0.0643494 0.153359 -0.00540282 0.715743 0.5 --0.0681652 0.158429 -0.00684039 0.359365 0.5 --0.0704807 0.1602 -0.00768602 0.494572 0.5 --0.0725078 0.160609 -0.0083559 0.289181 0.5 --0.0555 0.0488797 0.0362241 0 0 -0.00348618 0.11278 0.041408 0.634788 0.5 --0.0534691 0.0491595 0.0373719 0.0893996 0.5 --0.05252 0.0490121 0.0379722 0.105546 0.367057 --0.0515081 0.0490357 0.0376444 0.156125 0.394583 --0.0505546 0.0490872 0.0373101 0.235892 0.440149 --0.0495075 0.0490436 0.0377607 0.338157 0.379608 --0.0485055 0.0490796 0.0381424 0.412251 0.5 --0.0475135 0.0491287 0.0385522 0.52319 0.5 --0.0465112 0.0491437 0.0387964 0.625886 0.5 --0.0454932 0.0491469 0.0390026 0.735566 0.5 --0.0445073 0.0491885 0.039305 0.62148 0.5 --0.0435045 0.0492094 0.0395536 0.814004 0.5 --0.0425019 0.049221 0.0396798 0.831296 0.5 --0.0415014 0.0492193 0.0396812 0.819986 0.5 --0.0404973 0.0492165 0.0395965 0.811804 0.5 --0.0394944 0.0492076 0.0395541 0.792379 0.5 --0.0384865 0.0492045 0.0394845 0.762134 0.5 --0.0374859 0.0491992 0.0393813 0.693926 0.5 --0.0364777 0.0491722 0.0391199 0.634483 0.337292 --0.0354984 0.0491504 0.038916 0.795083 0.5 --0.0345051 0.0491976 0.0390013 0.676102 0.5 --0.00403191 0.0987119 0.0511654 0.36294 0.5 --0.0358096 0.12684 0.0170169 0.612182 0.5 --0.00679601 0.100851 0.0456503 0.338462 0.5 --0.0432963 0.128843 0.0142751 0.417331 0.5 --0.0581623 0.155642 0.0142378 0.649033 0.5 --0.0730465 0.158091 -0.00419381 0.246338 0.5 --0.0274922 0.0497667 0.0454723 0.182016 0.5 --0.0265027 0.0498541 0.0461184 0.138028 0.423664 --0.0254896 0.049863 0.0466034 0.183933 0.396889 --0.0244999 0.049902 0.0466266 0.179675 0.387382 --0.0234974 0.0498976 0.0468652 0.195646 0.404388 --0.0224974 0.0498852 0.046496 0.223469 0.413874 --0.0214969 0.0498836 0.0466158 0.340887 0.5 --0.0205078 0.049871 0.046386 0.361152 0.5 --0.0194942 0.0498847 0.046612 0.417663 0.5 --0.0185111 0.0499058 0.0467842 0.475376 0.5 --0.0175003 0.0499225 0.0470061 0.520032 0.5 --0.0165027 0.0499584 0.0473896 0.518655 0.5 --0.0154803 0.0500282 0.047966 0.367462 0.5 --0.0144943 0.0500942 0.0487331 0.451613 0.5 --0.0134983 0.0501789 0.0495792 0.471863 0.5 --0.0125327 0.0502379 0.050201 0.442906 0.461725 --0.0114878 0.0502762 0.0503958 0.563179 0.5 --0.0104937 0.0502816 0.0505289 0.565703 0.5 --0.00949487 0.0503088 0.0507661 0.61046 0.5 --0.0084955 0.0503277 0.0510127 0.616442 0.5 --0.00749319 0.0503553 0.0512463 0.605487 0.5 --0.00648958 0.0503786 0.0513549 0.629861 0.5 --0.00549746 0.0503818 0.0516227 0.637441 0.5 --0.00449958 0.0504123 0.0519892 0.619263 0.5 --0.00349567 0.0504603 0.052334 0.723747 0.5 --0.00249426 0.0505094 0.0526827 0.675644 0.5 --0.00149572 0.0505531 0.0529099 0.517623 0.467984 --0.000498029 0.0505184 0.0529377 0.502968 0.5 -0.000511374 0.0503823 0.0524384 0.541197 0.470804 -0.00150167 0.0504398 0.0522275 0.572525 0.5 -0.00250222 0.0504849 0.0522926 0.577891 0.5 -0.00349864 0.0505127 0.0525247 0.60557 0.5 -0.00450189 0.050474 0.0524519 0.589517 0.5 -0.00551166 0.0504095 0.0521406 0.571142 0.5 -0.00650609 0.0503877 0.0517539 0.499955 0.451736 -0.00749105 0.050377 0.0513506 0.497899 0.453305 -0.00847112 0.0503629 0.0509458 0.517311 0.47728 -0.00951901 0.0504027 0.0504431 0.595216 0.5 --0.0625516 0.147537 -0.0115723 0.363787 0.461156 --0.0908043 0.122683 0.00627651 0.587249 0.5 --0.0626008 0.160001 -0.0205855 0.524863 0.5 --0.0266054 0.0916781 -0.031606 0.294527 0.5 --0.0703512 0.170836 -0.0520339 0.460427 0.5 --0.0744896 0.128852 0.0526631 0.58178 0.469371 --0.0617312 0.142927 -0.00565867 0.48145 0.5 --0.0945717 0.122812 0.0182725 0.570519 0.5 -0.0327608 0.11383 -0.00261931 0.532211 0.5 --0.00947595 0.130265 0.0133884 0.641078 0.313821 --0.0528475 0.140082 0.0254195 0.72719 0.5 --0.00648998 0.122405 0.0354776 0.614897 0.5 --0.013019 0.129549 0.0120959 0.635915 0.5 --0.0617146 0.155302 -0.0255819 0.690546 0.5 --0.0853384 0.107683 0.0213404 0.519516 0.5 --0.0774937 0.145636 0.0432119 0.423974 0.5 --0.078513 0.145668 0.0427459 0.399127 0.466636 -0.00323629 0.131729 0.0108817 0.774375 0.5 --0.0896348 0.140659 0.0301806 0.685876 0.5 --0.0267629 0.124714 0.018819 0.428255 0.5 --0.0293056 0.125075 0.00323421 0.876488 0.5 --0.0464927 0.165223 0.0045927 0.435281 0.345503 -0.0324954 0.0484967 0.0321634 0.609925 0.5 -0.0335365 0.0483507 0.0312493 0.751192 0.5 -0.0345069 0.0483661 0.0310725 0.823693 0.5 -0.0354985 0.0483762 0.03122 0.810059 0.5 -0.0364932 0.0484054 0.0314672 0.628112 0.5 -0.0374917 0.0484328 0.0317174 0.638199 0.5 -0.038489 0.0484512 0.0319961 0.669803 0.5 -0.039494 0.0484532 0.0321483 0.669936 0.5 -0.0405023 0.0484755 0.0322215 0.678682 0.5 -0.0415181 0.0484385 0.0321463 0.655209 0.5 --0.0394865 0.115305 0.0335817 0.657986 0.5 --0.0881399 0.122604 0.000302573 0.499082 0.5 --0.0641133 0.155183 -0.0406054 0.523327 0.5 -0.0396737 0.107002 0.0161655 0.705639 0.5 -0.0398576 0.101362 0.0261824 0.526023 0.487748 --0.0744916 0.146991 0.0423999 0.552387 0.5 --0.0424971 0.165251 0.00449932 0.423131 0.417913 --0.0704743 0.121802 0.053345 0.580985 0.5 -0.0267515 0.102116 0.0406018 0.689793 0.5 --0.0878008 0.119885 0.00028492 0.365047 0.462462 --0.089797 0.129515 0.00524651 0.576313 0.5 --0.0269413 0.181454 -0.0140289 0.314049 0.5 --0.0307494 0.125973 0.00854668 0.879561 0.5 --0.0747157 0.155426 0.0258403 0.815423 0.5 --0.0448976 0.168579 0.00154181 0.341222 0.5 --0.0624118 0.148891 -0.00459657 0.336809 0.5 --0.0640913 0.154089 -0.00821335 0.573973 0.5 --0.0630663 0.151874 -0.00782908 0.282357 0.362595 --0.075878 0.0954761 0.0383509 0.647987 0.457049 -0.0169167 0.127898 0.0201801 0.412341 0.5 --0.00552471 0.130134 0.0220582 0.484766 0.5 --0.0148858 0.0985034 0.047376 0.271215 0.427554 --0.0088618 0.129865 0.0208462 0.438679 0.430152 --0.0384222 0.125448 0.0219859 0.477385 0.440541 --0.0513808 0.0500433 0.0347314 0.192432 0.5 --0.0504584 0.0502644 0.0363006 0.229078 0.5 --0.0495137 0.0503617 0.0366255 0.311543 0.5 --0.0485081 0.0504118 0.037253 0.348657 0.446953 --0.0475093 0.0504634 0.0377677 0.448188 0.5 --0.0465214 0.0505047 0.038174 0.530008 0.5 --0.0455152 0.0505363 0.0385492 0.586491 0.5 --0.0445141 0.050571 0.038927 0.619105 0.5 --0.0435279 0.0506014 0.0392212 0.629588 0.477809 --0.0425018 0.0506116 0.0394181 0.643914 0.5 --0.0415011 0.0506114 0.0394281 0.656785 0.5 --0.0404972 0.0506061 0.0393715 0.655189 0.5 --0.0394902 0.0506047 0.0393469 0.670506 0.5 --0.0384895 0.050603 0.0393394 0.658053 0.5 --0.0374901 0.0505918 0.0391881 0.728451 0.5 --0.036484 0.0505609 0.038833 0.654762 0.5 --0.0354915 0.050532 0.0385401 0.593052 0.5 --0.0344903 0.0505305 0.0383369 0.691623 0.5 --0.0334893 0.050539 0.0382432 0.593249 0.5 --0.032509 0.0506603 0.0384213 0.451433 0.5 -0.0299711 0.119398 0.020753 0.594362 0.5 -0.0306772 0.118704 0.0210209 0.593679 0.5 -0.0313679 0.117954 0.0212794 0.593086 0.5 -0.0320331 0.117177 0.0215305 0.590358 0.5 -0.0326927 0.116394 0.0217802 0.608973 0.5 --0.0264808 0.0509031 0.0429156 0.155274 0.5 --0.0254692 0.0509386 0.0434079 0.16159 0.5 --0.0244966 0.0509689 0.0431921 0.401781 0.5 --0.0234839 0.0509996 0.0435588 0.358278 0.5 --0.0224071 0.0510134 0.0440995 0.361366 0.5 --0.02141 0.0511007 0.0448554 0.42442 0.5 --0.0205114 0.0512056 0.0456176 0.402008 0.5 --0.0195075 0.0512747 0.046374 0.410968 0.451007 --0.0184955 0.0513594 0.0472431 0.457402 0.5 --0.0174765 0.0514437 0.047967 0.473179 0.5 --0.0164815 0.0515035 0.0485835 0.476891 0.5 --0.015494 0.0515277 0.0489706 0.364897 0.5 --0.0144633 0.051615 0.0495133 0.398285 0.5 --0.0134374 0.0516868 0.0502089 0.487072 0.432696 --0.0124795 0.0517352 0.0508543 0.622758 0.5 --0.0115065 0.0517326 0.051159 0.649165 0.5 --0.010498 0.0517545 0.0512545 0.676962 0.5 --0.00949945 0.0517772 0.0514996 0.713344 0.5 --0.00849798 0.051815 0.0518583 0.719934 0.5 --0.0074916 0.0518487 0.0520774 0.710682 0.5 --0.0065051 0.0518538 0.05236 0.705017 0.448548 --0.00548466 0.051944 0.0528973 0.58205 0.5 --0.00451507 0.0519264 0.0531932 0.568403 0.478519 --0.0034931 0.0519852 0.0535284 0.625813 0.5 --0.00249774 0.0520145 0.0539036 0.594613 0.5 --0.00150003 0.0520299 0.0541649 0.558823 0.5 --0.000496894 0.0520342 0.0541515 0.504065 0.5 -0.000500504 0.0519731 0.0534094 0.672591 0.5 -0.00149895 0.0519342 0.0529111 0.767982 0.5 -0.00250445 0.0519435 0.0530423 0.626241 0.470992 -0.00349695 0.0519735 0.0532512 0.63804 0.5 -0.00449781 0.0519669 0.0532713 0.640811 0.5 -0.00550647 0.0519309 0.0530702 0.60892 0.5 -0.00652038 0.0518639 0.0525018 0.523055 0.449685 -0.00750786 0.0518308 0.0519822 0.558997 0.451517 -0.00848446 0.0518256 0.0516867 0.680592 0.5 -0.00950265 0.0517655 0.0513753 0.51429 0.482771 --0.0734977 0.128836 0.0522844 0.565207 0.5 --0.0725184 0.128806 0.0519752 0.543532 0.5 -0.042865 0.0958458 -0.000810373 0.576953 0.480183 -0.0445611 0.0931651 0.0181595 0.529697 0.467417 -0.0444356 0.0931566 0.0191609 0.522961 0.5 --0.0754919 0.128859 0.0530266 0.498365 0.5 -0.00647696 0.11413 0.0402504 0.514579 0.417286 --0.0765071 0.126009 0.0528667 0.685814 0.5 --0.0764996 0.128859 0.0532215 0.618076 0.5 --0.0849208 0.114388 0.046865 0.438131 0.5 --0.0918951 0.117319 0.00831437 0.325678 0.5 --0.0735209 0.134443 0.0506533 0.5919 0.470629 --0.0745084 0.134461 0.0510337 0.603833 0.5 --0.0754981 0.13448 0.0513067 0.591228 0.5 --0.0764995 0.134472 0.0515165 0.595096 0.5 -0.0335187 0.113275 -0.00203325 0.534651 0.5 --0.0922478 0.11733 0.00930597 0.340466 0.445747 -0.0044777 0.112767 0.0412512 0.531313 0.456953 --0.00448954 0.122402 0.0358368 0.591545 0.5 --0.00442605 0.128738 0.0268092 0.472631 0.5 -0.0161585 0.128774 0.0170439 0.840212 0.5 -0.0427229 0.10007 0.00318201 0.538519 0.5 -0.0156241 0.128368 0.0211329 0.396949 0.405133 -0.0335218 0.0499029 0.0322045 0.67356 0.5 -0.0345233 0.0498189 0.0314944 0.804771 0.5 -0.0355057 0.0498307 0.031489 0.818671 0.5 -0.0364957 0.049851 0.0316154 0.760729 0.5 -0.0374928 0.0498822 0.031843 0.590014 0.5 -0.0384903 0.0499056 0.0320993 0.61253 0.5 -0.0394879 0.0499122 0.0322705 0.643013 0.5 -0.0404983 0.0499404 0.0324741 0.666211 0.5 -0.0415062 0.0499285 0.0325086 0.665052 0.5 -0.0425051 0.049941 0.0324381 0.6368 0.5 --0.0704857 0.116111 0.0520944 0.537694 0.5 -0.0232634 0.124781 0.0210949 0.398117 0.452037 -0.0208043 0.12624 0.020186 0.489671 0.43554 --0.00332845 0.128773 0.0271941 0.353348 0.382641 -0.040053 0.107027 0.0101639 0.709071 0.5 --0.0794099 0.141428 0.0463829 0.386868 0.449839 -0.0220922 0.12286 0.0278182 0.481654 0.441814 --0.015772 0.160715 -0.00958045 0.202865 0.5 --0.0150623 0.160937 -0.0114195 0.216337 0.5 --0.0775565 0.148654 -0.00488618 0.403345 0.5 --0.0875531 0.12123 -0.000692815 0.677311 0.5 --0.025877 0.125557 0.00449924 0.734154 0.5 -0.0220166 0.125337 0.0220596 0.508966 0.324815 --0.06497 0.154244 -0.00563561 0.682004 0.5 -0.012166 0.127075 0.0284779 0.479299 0.429147 --0.0151406 0.126373 0.0259068 0.35115 0.350977 --0.0805255 0.14991 0.0359696 0.394581 0.5 --0.0405676 0.171048 0.000226569 0.430746 0.5 --0.0417025 0.170926 -0.000183345 0.357528 0.465271 --0.0719231 0.155792 0.0253493 0.477426 0.437615 --0.0410851 0.123071 0.0255089 0.514489 0.5 --0.0704025 0.156596 -0.000355665 0.550101 0.5 -0.0158791 0.123986 0.0298499 0.52054 0.455285 --0.0494029 0.0516267 0.0356191 0.421285 0.5 --0.0484712 0.0517504 0.0365675 0.540535 0.5 --0.0474808 0.0518309 0.037336 0.508239 0.5 --0.0465141 0.0518831 0.0377757 0.565654 0.449518 --0.045508 0.0519257 0.0382686 0.589633 0.5 --0.0444939 0.0519693 0.038747 0.505691 0.5 --0.0435203 0.0519967 0.0390799 0.524311 0.5 --0.0425091 0.0520201 0.0393163 0.630519 0.5 --0.0415114 0.0520187 0.0393909 0.65372 0.5 --0.0404977 0.0520197 0.0394004 0.684014 0.5 --0.0394885 0.0520168 0.0393574 0.684715 0.5 --0.0384859 0.0520062 0.0392089 0.657625 0.46098 --0.0374857 0.0519831 0.0389557 0.566216 0.473414 --0.0364795 0.0519621 0.0386972 0.625383 0.5 --0.035474 0.0519266 0.0383228 0.604076 0.370262 --0.0344826 0.0519106 0.0380623 0.547854 0.5 --0.0334582 0.0518969 0.0377238 0.485449 0.320443 --0.0324964 0.0518418 0.0373712 0.490483 0.5 --0.031463 0.0519033 0.0373773 0.387832 0.5 --0.0643667 0.159406 -0.0155654 0.468372 0.5 --0.0637704 0.158563 -0.0153492 0.421695 0.396619 --0.0362227 0.121033 0.0288309 0.510424 0.470651 --0.0353536 0.12061 0.029103 0.555767 0.5 --0.0345743 0.120058 0.0294165 0.568849 0.348087 --0.0254497 0.052221 0.0403383 0.348943 0.5 --0.0244489 0.052187 0.0413714 0.290294 0.5 --0.0234293 0.0522884 0.0423691 0.372844 0.5 --0.0224569 0.0524128 0.0435307 0.482278 0.5 --0.0214965 0.0525299 0.044709 0.554588 0.5 --0.0204809 0.0526524 0.0459576 0.54592 0.5 --0.0194396 0.0527865 0.0471813 0.553615 0.5 --0.0184644 0.0528818 0.0482087 0.540625 0.5 --0.0174692 0.0529782 0.0491698 0.462001 0.5 --0.0164825 0.0530314 0.0497852 0.498664 0.5 --0.0154865 0.0530505 0.0500296 0.553324 0.5 --0.0144826 0.0530653 0.0501401 0.608074 0.5 --0.0134843 0.053101 0.0504987 0.652655 0.5 --0.0124761 0.0531764 0.0512005 0.574862 0.5 --0.0114906 0.0532044 0.051601 0.595599 0.482594 --0.01051 0.0531978 0.0517663 0.750543 0.5 --0.00949468 0.0532459 0.0520833 0.758501 0.5 --0.00849647 0.0532799 0.0524507 0.760264 0.5 --0.00749418 0.0533074 0.0526841 0.748532 0.5 --0.00650042 0.0533369 0.0530605 0.610099 0.5 --0.0054947 0.0533903 0.0535249 0.604602 0.5 --0.00451061 0.0534011 0.0538125 0.582524 0.485665 --0.00349166 0.0534503 0.0541192 0.570547 0.48477 --0.00249263 0.0534855 0.0544759 0.544189 0.5 --0.00149823 0.0535022 0.0547476 0.614107 0.5 --0.000498287 0.0535066 0.0547347 0.558103 0.5 -0.000497149 0.0534577 0.0541163 0.58184 0.32162 -0.00150153 0.0534013 0.0535077 0.651531 0.456257 -0.00251869 0.05336 0.0534808 0.678995 0.5 -0.00350403 0.0533854 0.0535456 0.672773 0.5 -0.00450086 0.0533884 0.0535142 0.682456 0.5 -0.00550371 0.0533623 0.0533002 0.65769 0.5 -0.0065027 0.0533154 0.0528127 0.653877 0.440846 -0.00750328 0.0532576 0.0522142 0.691184 0.436713 -0.008486 0.0532759 0.0521458 0.70637 0.5 -0.00951284 0.0532319 0.0521285 0.619862 0.5 -0.0105195 0.053345 0.0519069 0.551383 0.5 --0.0124978 0.122374 0.0339942 0.446842 0.5 -0.0366798 0.105376 -0.00582172 0.471972 0.45594 --0.0745126 0.131657 0.0521168 0.561065 0.458423 --0.0621605 0.170953 -0.0526019 0.511023 0.5 --0.0564439 0.115317 0.036137 0.634635 0.5 -0.00548112 0.11414 0.0405028 0.51909 0.483992 -0.00448236 0.11415 0.0407558 0.636936 0.398543 --0.0435006 0.115257 0.0335166 0.600577 0.5 --0.0785029 0.128864 0.0532728 0.667357 0.5 --0.079504 0.128859 0.053141 0.6358 0.5 -0.0366571 0.0968397 -0.0108144 0.731575 0.5 --0.0262668 0.179961 -0.0169689 0.450584 0.5 --0.0225205 0.114038 0.037332 0.442893 0.473315 --0.0636978 0.164648 -0.0286005 0.685413 0.5 --0.0774938 0.134462 0.0515018 0.599327 0.451108 --0.0784776 0.134439 0.0514602 0.594375 0.46101 --0.0794917 0.134473 0.0511764 0.454691 0.5 --0.0804551 0.134426 0.050865 0.537965 0.5 --9.29522e-05 0.131467 0.0096514 0.759095 0.5 --0.0809318 0.142082 0.0447817 0.392929 0.5 -0.0288769 0.120252 0.0217702 0.574998 0.5 --0.0298175 0.125729 0.00888885 0.864514 0.5 -0.0398988 0.106999 0.0131638 0.708381 0.5 -0.0345014 0.0513521 0.0321623 0.70238 0.5 -0.0355423 0.0512597 0.0315836 0.806353 0.386778 -0.0365033 0.0512847 0.031619 0.741222 0.5 -0.037495 0.0513025 0.031739 0.544479 0.5 -0.0384886 0.0513309 0.0319844 0.545433 0.442196 -0.0394872 0.0513548 0.03224 0.560009 0.444583 -0.0404949 0.0513767 0.0324659 0.611752 0.450303 -0.0414995 0.0513848 0.032599 0.631695 0.5 -0.0425053 0.0513815 0.0326154 0.652464 0.5 -0.0435142 0.0513638 0.0325031 0.645491 0.5 --0.0265155 0.115287 0.0336658 0.48442 0.5 --0.0586545 0.152137 0.0330321 0.416823 0.5 --0.0834511 0.149763 0.0335021 0.359365 0.5 --0.0655672 0.149686 0.0379738 0.531875 0.463401 --0.0644942 0.149793 0.0375095 0.534265 0.5 --0.0634854 0.149796 0.0371525 0.536946 0.5 -0.0284626 0.102127 0.0395666 0.691947 0.5 -0.0350916 0.102085 0.0333486 0.716199 0.5 -0.0314548 0.113206 0.0298812 0.689434 0.5 -0.0308728 0.114122 0.0296728 0.662303 0.434003 -0.0426395 0.101487 0.00716583 0.570141 0.5 --0.0318889 0.124978 0.0199371 0.428244 0.5 -0.0398408 0.105612 0.0201716 0.67746 0.5 --0.0688748 0.159133 -0.00709894 0.484239 0.5 -0.01303 0.126665 0.0287751 0.50727 0.351505 --0.0294715 0.117536 0.0312989 0.525408 0.5 --0.0448162 0.12956 0.0195798 0.459431 0.45803 -0.0138368 0.126165 0.029064 0.541828 0.5 -0.0138704 0.12508 0.0305218 0.618389 0.5 --0.0729271 0.151083 0.037025 0.357602 0.5 --0.0614531 0.154118 0.0305097 0.93076 0.5 --0.0733037 0.155556 0.00591793 0.638257 0.5 --0.0710688 0.156192 0.0139947 0.771742 0.5 --0.048428 0.0531039 0.036022 0.58186 0.5 --0.0475344 0.05323 0.0369443 0.572487 0.5 --0.0464945 0.0532702 0.037612 0.571784 0.5 --0.0455151 0.0533187 0.0381544 0.587625 0.5 --0.0445186 0.0533636 0.0386768 0.501437 0.5 --0.0435006 0.0534118 0.0391466 0.511744 0.5 --0.042519 0.0534194 0.039352 0.62845 0.5 --0.0415063 0.0534301 0.0394734 0.673582 0.5 --0.0404974 0.0534278 0.0394751 0.70876 0.5 --0.0394917 0.0534182 0.0393765 0.706069 0.449129 --0.0384745 0.0533908 0.0391471 0.657134 0.5 --0.03749 0.0533987 0.0390423 0.588582 0.5 --0.036476 0.0533606 0.0387027 0.531033 0.5 --0.0354965 0.0533413 0.0383699 0.664956 0.386379 --0.034498 0.0533048 0.037996 0.639796 0.5 --0.0334673 0.0532523 0.0375728 0.586737 0.372404 --0.0324736 0.0532348 0.0372028 0.500342 0.5 --0.0314741 0.053189 0.0369367 0.423307 0.284677 --0.0304869 0.0532061 0.0367531 0.421981 0.5 --0.0600274 0.155812 0.00342033 0.133166 0.5 --0.0649586 0.160381 -0.0157887 0.563606 0.384724 --0.0632603 0.157387 -0.0151607 0.422396 0.5 --0.0883817 0.123968 0.00128346 0.488592 0.357377 --0.0676833 0.155656 0.026832 0.885987 0.5 --0.0245117 0.0536384 0.0409132 0.373816 0.5 --0.0234219 0.0537493 0.0424994 0.458334 0.5 --0.0224181 0.05387 0.0440179 0.570735 0.5 --0.021445 0.0539977 0.0453008 0.660553 0.5 --0.020414 0.0541289 0.0465389 0.666046 0.5 --0.0194474 0.054231 0.0477027 0.556691 0.5 --0.0184804 0.0543192 0.0487134 0.539764 0.5 --0.0174561 0.0544373 0.0497557 0.481338 0.5 --0.0164926 0.0544756 0.0504072 0.506591 0.5 --0.0154767 0.0545272 0.0507241 0.629858 0.5 --0.0145052 0.0544906 0.0506759 0.695609 0.5 --0.0134767 0.0545379 0.0508338 0.718739 0.5 --0.0124579 0.0545987 0.0514221 0.734293 0.432237 --0.0114754 0.0546403 0.0519269 0.620033 0.481998 --0.0105014 0.0546468 0.0522278 0.635563 0.5 --0.00949649 0.0546877 0.0525704 0.79198 0.5 --0.00849625 0.0547108 0.0528122 0.784046 0.5 --0.00749363 0.0547355 0.05304 0.775641 0.5 --0.00650329 0.0547609 0.0534371 0.619296 0.5 --0.00550412 0.0547964 0.0538028 0.748019 0.5 --0.00449379 0.0548276 0.0540049 0.724866 0.5 --0.00348783 0.0548509 0.0542207 0.715069 0.5 --0.00248496 0.0548872 0.0545581 0.707158 0.5 --0.00149759 0.0549023 0.0548542 0.564589 0.395425 --0.000496498 0.0549075 0.0548747 0.623051 0.5 -0.000535895 0.0548656 0.0545076 0.537046 0.31889 -0.00151752 0.0547965 0.0538164 0.656408 0.446148 -0.00250208 0.0547919 0.0536548 0.701208 0.5 -0.00350625 0.0547769 0.0535608 0.683289 0.5 -0.00450584 0.0547654 0.053433 0.687704 0.5 -0.0054972 0.0547598 0.0532635 0.665049 0.5 -0.00650352 0.0547197 0.0529464 0.684234 0.346429 -0.00749482 0.0546914 0.0525351 0.715527 0.5 -0.00850697 0.0546686 0.0524774 0.694703 0.5 -0.00950273 0.0546854 0.0525766 0.636588 0.5 -0.0105088 0.0546576 0.0523588 0.557168 0.5 --0.0805181 0.12599 0.0525745 0.665202 0.5 --0.0795103 0.126002 0.0528073 0.668617 0.5 --0.0785092 0.126003 0.0529555 0.670821 0.5 --0.0775133 0.126 0.0528602 0.675486 0.5 --0.0494959 0.115246 0.0337414 0.643409 0.5 --0.0574796 0.115365 0.0367006 0.652233 0.5 -0.00348793 0.114165 0.0408953 0.649034 0.445413 --0.0445033 0.11527 0.0334071 0.568902 0.5 --0.0425002 0.115266 0.0336474 0.635578 0.5 --0.0335104 0.175675 -0.00315318 0.316869 0.5 --0.0805024 0.128853 0.052889 0.518259 0.5 --0.0814773 0.128835 0.0524787 0.497298 0.5 -0.0351546 0.112861 0.0227039 0.633037 0.5 --0.0366664 0.175138 -0.00407486 0.287054 0.464834 --0.0620073 0.155313 -0.0175819 0.532648 0.5 --0.00957953 0.177197 -0.0268263 0.400699 0.458536 -0.037597 0.0883595 -0.0147642 0.702331 0.5 -0.0442559 0.0973532 0.00916034 0.575949 0.5 -0.0386307 0.106935 0.00116239 0.536822 0.5 --0.0776201 0.171284 -0.03689 0.270922 0.5 --0.0304741 0.177281 -0.004356 0.32717 0.5 --0.089623 0.0983355 0.0134109 0.574286 0.477791 -0.0014962 0.114186 0.0411808 0.602374 0.390506 --0.0745038 0.141441 0.0470955 0.651766 0.5 -0.0355309 0.0527205 0.03199 0.682683 0.5 -0.0365187 0.0526805 0.0315096 0.753833 0.5 -0.0375018 0.0527008 0.0316063 0.677187 0.5 -0.038497 0.0527286 0.031838 0.606334 0.5 -0.0394926 0.052754 0.032086 0.534796 0.5 -0.0404835 0.052774 0.0322642 0.586296 0.5 -0.041497 0.0527902 0.0324777 0.585734 0.5 -0.0424986 0.0527982 0.0326152 0.632258 0.5 -0.0435095 0.0527832 0.0325495 0.640346 0.5 -0.0444807 0.0526489 0.0324592 0.629309 0.5 -0.0175085 0.114012 0.0373101 0.551706 0.5 -0.0254796 0.122858 0.0219249 0.498278 0.5 -0.0243371 0.123621 0.0229269 0.534461 0.5 --0.0282153 0.125116 0.00364014 0.810878 0.5 --0.00263978 0.131127 0.015882 0.647167 0.5 --0.0624811 0.149792 0.0367836 0.534358 0.5 --0.0614742 0.149784 0.0364078 0.44616 0.5 --0.087948 0.102288 0.00840013 0.477822 0.5 --0.0454844 0.1652 0.00481603 0.464346 0.36111 -0.018594 0.125548 0.0250901 0.705354 0.5 --0.0745647 0.162191 -0.0132518 0.275427 0.5 --0.0200308 0.127492 0.00809368 0.648632 0.5 --0.0719688 0.147362 0.0419058 0.548603 0.5 --0.0713898 0.160567 -0.00801414 0.352134 0.455975 --0.0663516 0.155012 0.0287678 0.864791 0.5 --0.0684694 0.153743 0.0324784 0.509026 0.5 -0.0145581 0.125506 0.0293407 0.489036 0.5 --0.00661995 0.130084 0.0216557 0.484707 0.416975 --0.062494 0.155703 0.00979223 0.69444 0.5 --0.0653695 0.151233 0.0366147 0.434522 0.5 --0.0745121 0.155307 0.0054919 0.57436 0.5 --0.0224768 0.123487 0.0248086 0.391267 0.350387 --0.0711203 0.163576 -0.0137477 0.441709 0.453408 --0.0153636 0.128543 0.00690549 0.692939 0.5 --0.0574953 0.153709 0.0290191 0.402162 0.5 --0.0238083 0.125586 0.00234805 0.713488 0.5 --0.0445292 0.0547767 0.038815 0.482763 0.468025 --0.0435028 0.0548283 0.0392794 0.620176 0.5 --0.0425065 0.0548487 0.0395533 0.64507 0.5 --0.0415045 0.0548576 0.0396938 0.700561 0.5 --0.0404982 0.0548597 0.0396645 0.73249 0.5 --0.0394936 0.0548399 0.0395943 0.727157 0.5 --0.0384864 0.0548303 0.0394681 0.680224 0.5 --0.03748 0.0548048 0.0392179 0.627349 0.5 --0.0364861 0.0547872 0.0389196 0.577882 0.5 --0.0354687 0.054727 0.0384538 0.550401 0.412456 --0.0344916 0.0547205 0.0381399 0.680766 0.5 --0.0334777 0.0546734 0.0376709 0.640434 0.5 --0.0324718 0.0546382 0.0373194 0.558436 0.5 --0.0314811 0.0546225 0.0370229 0.498235 0.369306 --0.0304966 0.0545819 0.0366047 0.495087 0.5 --0.029505 0.0545565 0.0362962 0.476404 0.5 --0.0285043 0.0545632 0.0363758 0.733665 0.5 --0.0107039 0.129221 0.0216334 0.750122 0.5 --0.00955325 0.129382 0.0220461 0.734012 0.5 --0.027617 0.125471 0.0155889 0.393422 0.5 --0.0725432 0.15415 0.0310449 0.456773 0.444707 --0.0786632 0.155487 0.0200952 0.505065 0.5 --0.079327 0.169353 -0.0390258 0.405226 0.426366 --0.0768438 0.0975378 -0.0115852 0.528684 0.5 --0.012834 0.128656 0.00349339 0.705329 0.5 --0.00196689 0.131088 0.00752604 0.758967 0.5 -0.00256341 0.131601 0.00920655 0.772846 0.5 -0.0134351 0.129972 0.01319 0.608127 0.5 --0.016529 0.0558872 0.0508401 0.556055 0.5 --0.0154895 0.0559453 0.0511175 0.652683 0.5 --0.0144925 0.0559441 0.0511232 0.727766 0.5 --0.0134794 0.0559661 0.0512091 0.750068 0.5 --0.0124902 0.0560062 0.0517339 0.766998 0.423013 --0.0114896 0.0560578 0.0523304 0.781548 0.413019 --0.0105297 0.0560622 0.0527517 0.656659 0.482714 --0.00947974 0.0561444 0.0530127 0.796126 0.5 --0.00850551 0.0561268 0.0532043 0.785517 0.5 --0.00750736 0.0561433 0.0534652 0.775281 0.5 --0.00650086 0.0561902 0.0537938 0.793154 0.5 --0.00550353 0.0561986 0.0539335 0.774384 0.5 --0.00450247 0.056202 0.0539356 0.758683 0.5 --0.00349598 0.0562185 0.05401 0.743066 0.5 --0.00250456 0.0562401 0.0542942 0.716993 0.5 --0.00149512 0.0562755 0.0546084 0.658183 0.5 --0.000496913 0.056284 0.0547664 0.689717 0.5 -0.000502788 0.056275 0.0546165 0.704357 0.5 -0.00150976 0.0562224 0.0541662 0.680534 0.5 -0.00252507 0.0561606 0.0537161 0.69423 0.434389 -0.00351715 0.0561463 0.0534882 0.68469 0.5 -0.00451269 0.0561377 0.0533474 0.690583 0.5 -0.00550694 0.0561304 0.0532033 0.689737 0.5 -0.00651257 0.056103 0.0529931 0.692645 0.5 -0.00750493 0.0561002 0.0528313 0.68609 0.5 -0.00850148 0.0561026 0.0528172 0.66553 0.5 -0.00951185 0.0560842 0.0527429 0.637791 0.5 -0.0104958 0.0560929 0.0526786 0.581387 0.5 -0.0045023 0.122399 0.0348631 0.629757 0.5 -0.00349789 0.122445 0.0347995 0.619211 0.365734 -0.0023439 0.122378 0.0350184 0.598492 0.437187 -0.0407559 0.0844033 -0.0107694 0.500391 0.430286 -0.0103725 0.130878 0.016344 0.791062 0.308926 --0.0753594 0.113961 -0.00568407 0.493181 0.5 --0.0335039 0.113859 0.0341437 0.617794 0.5 -0.00248459 0.114158 0.0410016 0.630752 0.5 --0.037487 0.115255 0.0329307 0.672078 0.5 --0.0815194 0.125984 0.0522053 0.553742 0.5 --0.0037337 0.131051 0.015481 0.666985 0.5 -0.0452295 0.0931909 0.0101587 0.585026 0.425907 -0.00547548 0.112757 0.0410095 0.517897 0.408012 -0.0064659 0.11274 0.0407332 0.533473 0.5 -0.0228866 0.122341 0.0280976 0.49736 0.5 -0.0316544 0.117354 0.0228159 0.741485 0.5 --0.0547075 0.153861 0.0184094 0.397554 0.5 --0.0208042 0.125974 0.0209606 0.285434 0.5 -0.00417447 0.127894 0.028461 0.346178 0.47219 --0.00381736 0.131135 0.0125816 0.727362 0.5 -0.0084546 0.131034 0.0184964 0.704965 0.332308 --0.0290201 0.125445 0.00626167 0.827153 0.5 --0.0205709 0.127392 0.00935219 0.617458 0.5 --0.0275449 0.178709 -0.00674077 0.314225 0.461048 --0.0784667 0.141403 0.0468168 0.48625 0.441708 -0.0365178 0.0541167 0.0317039 0.681281 0.5 -0.0375206 0.0540908 0.0314327 0.693806 0.438302 -0.0384994 0.0541178 0.0316123 0.612032 0.4505 -0.0394926 0.0541437 0.0318453 0.501502 0.46071 -0.0404914 0.0541681 0.032094 0.527461 0.464284 -0.0414903 0.0541829 0.0322405 0.572459 0.464975 -0.0424932 0.0541962 0.0323753 0.591094 0.450071 -0.0435018 0.0542009 0.0324922 0.63047 0.447523 -0.0445103 0.0541956 0.0324876 0.599745 0.5 -0.0455381 0.0540654 0.0323771 0.580328 0.456654 --0.0764978 0.13864 0.0490601 0.588653 0.42756 --0.0273424 0.0931435 -0.0275899 0.254473 0.5 --0.0316129 0.119551 -0.0104429 0.656019 0.5 --0.0474174 0.157905 0.00867917 0.534769 0.463306 --0.0204551 0.0879984 0.0554627 0.449983 0.473992 -0.0197435 0.125962 0.0226458 0.361212 0.411531 --0.0835371 0.151134 0.0310567 0.318494 0.5 -0.0391698 0.101249 -0.00580082 0.541467 0.5 --0.0775506 0.172738 -0.0395384 0.237113 0.5 -0.0314823 0.114431 0.0284596 0.656356 0.5 -0.0289756 0.116666 0.0289439 0.643003 0.5 --0.0609581 0.142927 -0.00458074 0.523823 0.5 --0.0737585 0.160179 -0.00884095 0.281303 0.5 --0.0175794 0.128153 0.00899134 0.649094 0.5 --0.066041 0.156288 0.0201296 0.687157 0.5 --0.0758021 0.154133 0.0299324 0.323875 0.45561 --0.00771604 0.130016 0.0212618 0.484344 0.5 --0.0613933 0.155777 0.0101812 0.630937 0.339611 --0.0090472 0.129209 0.0236827 0.735708 0.5 -0.0270825 0.114018 -0.00875387 0.567922 0.385391 --0.0365963 0.127614 0.0137714 0.718983 0.5 --0.0165553 0.128252 0.0064647 0.682564 0.5 -0.00136992 0.128685 0.0274437 0.380861 0.413183 --0.0213082 0.126358 0.00326486 0.71456 0.5 --0.0706171 0.164859 -0.0164358 0.348996 0.5 --0.044501 0.0562098 0.0390177 0.511245 0.5 --0.0435207 0.0562403 0.0394546 0.540369 0.5 --0.042508 0.0562794 0.0398023 0.558096 0.481996 --0.041504 0.0562873 0.0399374 0.723266 0.5 --0.0405006 0.0562797 0.0399754 0.744016 0.5 --0.0394955 0.0562825 0.0399491 0.730856 0.5 --0.0384935 0.0562767 0.0397971 0.687954 0.5 --0.0374897 0.0562507 0.0395531 0.646744 0.5 --0.0364959 0.0562316 0.0392716 0.617797 0.5 --0.0354821 0.0561791 0.038801 0.578049 0.5 --0.0344763 0.0561322 0.0383021 0.541394 0.437959 --0.0334848 0.0561021 0.0379001 0.641295 0.5 --0.0324882 0.0560654 0.0375153 0.644867 0.5 --0.0314956 0.0560344 0.0371147 0.571263 0.5 --0.0304896 0.0559845 0.0366491 0.526756 0.5 --0.0294988 0.0559628 0.0364214 0.548273 0.5 --0.0285134 0.0559644 0.0364164 0.800426 0.5 --0.0275116 0.0560234 0.0370088 0.803963 0.5 --0.0247631 0.123128 0.0239793 0.379391 0.5 -0.0149217 0.127634 0.0251635 0.455703 0.5 --0.0818191 0.154205 0.0234297 0.385494 0.444119 --0.0942641 0.126921 0.0212556 0.588569 0.481269 --0.0777677 0.0975799 -0.010556 0.497944 0.5 --0.0115095 0.129073 0.00398865 0.702319 0.5 --0.00311195 0.130927 0.00709886 0.743411 0.5 -0.00365619 0.131646 0.00960837 0.788217 0.5 -0.012555 0.130318 0.0128667 0.860518 0.5 -0.0195332 0.12729 0.0154357 0.624434 0.5 --0.0165413 0.0573347 0.0511714 0.582531 0.465558 --0.0154965 0.0573571 0.0513792 0.694345 0.5 --0.0144744 0.0573903 0.0514423 0.734525 0.5 --0.0135016 0.0573891 0.0517499 0.75174 0.43176 --0.0363729 0.176071 -0.00683571 0.199648 0.251821 --0.0115063 0.0575113 0.0530742 0.644883 0.5 --0.0104794 0.0575747 0.0533869 0.65926 0.480612 --0.00951316 0.0575536 0.0537045 0.789302 0.405177 --0.00849376 0.0576353 0.0542501 0.77325 0.5 --0.00749701 0.0576432 0.054379 0.768932 0.5 --0.00649525 0.0576581 0.0543368 0.77423 0.5 --0.0054972 0.0576157 0.054162 0.760765 0.5 --0.00449169 0.0575673 0.0538908 0.767052 0.388508 --0.00349897 0.0575855 0.053786 0.776635 0.5 --0.0025152 0.0575969 0.0540026 0.784409 0.406468 --0.00151732 0.0576213 0.0542293 0.74703 0.402276 --0.000508059 0.0576316 0.0544767 0.753299 0.404396 -0.000501319 0.0576739 0.0545888 0.773554 0.5 -0.00150103 0.0576486 0.0543674 0.727662 0.5 -0.00250286 0.0576093 0.0540213 0.686212 0.5 -0.00351232 0.0575709 0.0538233 0.688393 0.5 -0.00450187 0.0575756 0.0536585 0.667952 0.5 -0.00550441 0.0575487 0.0534334 0.661786 0.5 -0.00650779 0.0575337 0.0533257 0.636038 0.5 -0.00751117 0.0575089 0.0530994 0.623949 0.5 -0.00850874 0.0575011 0.0529664 0.600507 0.5 -0.00952232 0.057476 0.0527668 0.583695 0.5 -0.0105117 0.057471 0.0526043 0.5591 0.5 --0.0315128 0.115295 0.0334421 0.603313 0.5 --0.0184879 0.122208 0.0309285 0.55532 0.5 --0.0174938 0.122238 0.0311921 0.583946 0.5 --0.0164768 0.122235 0.0319313 0.584175 0.5 --0.0682947 0.162375 -0.0539731 0.38665 0.5 --0.0241621 0.125878 0.0168174 0.29842 0.431342 --0.0345055 0.113874 0.0339275 0.650428 0.5 --0.0354987 0.113848 0.0338946 0.662164 0.5 --0.0305056 0.115271 0.0335326 0.603031 0.5 -0.00550466 0.122397 0.0349805 0.6164 0.5 -0.0339681 0.114736 0.0222644 0.605488 0.5 --0.0343294 0.175491 -0.0032043 0.286755 0.5 --0.0642372 0.158555 -0.0140759 0.505978 0.5 --0.0648774 0.159303 -0.0143091 0.485095 0.5 --0.0194915 0.120861 0.0324568 0.426861 0.5 --0.0915531 0.115336 0.039285 0.63351 0.5 --0.0638143 0.15519 -0.0396115 0.519983 0.5 -0.040097 0.105566 0.00218117 0.530524 0.483164 --0.0518485 0.147799 0.0174109 0.716684 0.5 -0.0259145 0.102099 0.0411479 0.693569 0.5 --0.0374501 0.127748 0.0031441 0.880551 0.5 --0.0174933 0.120917 0.0332266 0.470635 0.336572 --0.0615165 0.15114 0.0355512 0.463154 0.5 -0.040798 0.105646 0.00916422 0.691405 0.5 --0.0924012 0.125564 0.030262 0.63493 0.5 --0.0785035 0.127443 0.053282 0.686091 0.5 -0.0375436 0.055493 0.03143 0.656253 0.5 -0.0385307 0.0554981 0.0313684 0.628847 0.5 -0.0395 0.055533 0.0316092 0.793205 0.5 -0.0404941 0.0555582 0.0318463 0.594277 0.5 -0.041496 0.0555737 0.0320634 0.513362 0.5 -0.0424902 0.0555855 0.0321183 0.548707 0.5 -0.0434964 0.0555926 0.0322399 0.577847 0.5 -0.0445032 0.0555996 0.0323503 0.576429 0.5 -0.0455086 0.055594 0.0323303 0.578635 0.5 -0.0465727 0.0554592 0.0320923 0.673717 0.46891 --0.0774982 0.133088 0.0521596 0.602948 0.5 --0.0784904 0.133065 0.0521095 0.590653 0.5 --0.0794975 0.133078 0.0519067 0.465659 0.5 --0.0775459 0.0688051 0.0117853 0.703257 0.5 --0.0756208 0.166729 -0.0233779 0.247329 0.293283 --0.0383911 0.127983 0.00280515 0.877117 0.5 -0.0188647 0.126347 0.0223312 0.455245 0.407026 -0.00946799 0.112678 0.0395888 0.635041 0.5 -0.0424151 0.101486 0.0141591 0.706519 0.5 --0.00945917 0.175708 -0.0257473 0.379771 0.5 -0.0381693 0.109765 0.0141664 0.716145 0.5 --0.0225647 0.184728 -0.0122995 0.186313 0.403961 --0.0750934 0.159541 -0.00936327 0.326151 0.5 --0.0429479 0.170625 -0.000616016 0.324546 0.45085 --0.00717727 0.0999816 0.0485274 0.395736 0.5 --0.074389 0.0874223 0.0399149 0.650646 0.5 --0.0535827 0.0550746 0.0114399 0.270787 0.5 --0.00712049 0.126279 0.0302479 0.359142 0.5 --0.0665222 0.156255 0.0214077 0.672998 0.5 --0.00239285 0.100006 0.0487279 0.292669 0.5 --0.060198 0.152175 0.0339452 0.402892 0.472309 --0.0178682 0.127784 0.00598386 0.698832 0.5 -0.00609443 0.127443 0.0291456 0.346862 0.399528 --0.0198477 0.126879 0.00378288 0.705203 0.5 --0.0215304 0.127346 0.0119061 0.534695 0.5 --0.0805747 0.154604 0.0238516 0.292051 0.4047 --0.0435068 0.0576714 0.0396679 0.558157 0.5 --0.0425042 0.0577064 0.0400486 0.588924 0.5 --0.0415058 0.0577139 0.0401965 0.739606 0.5 --0.040496 0.0577326 0.0402811 0.755837 0.5 --0.0394971 0.057712 0.040203 0.733162 0.5 --0.0384946 0.0577019 0.0400515 0.679472 0.5 --0.0374871 0.0576725 0.0398228 0.644348 0.5 --0.0364968 0.0576627 0.0395237 0.623271 0.5 --0.0354902 0.0576195 0.0391492 0.586272 0.448514 --0.0344815 0.0575696 0.0386716 0.552154 0.5 --0.0334964 0.0575473 0.0382542 0.539729 0.5 --0.0325132 0.0575193 0.0378292 0.656249 0.449594 --0.0314915 0.057461 0.0373842 0.601315 0.5 --0.0304883 0.0574252 0.0370157 0.577268 0.5 --0.0294978 0.0574079 0.0367222 0.573617 0.5 --0.0285008 0.0573948 0.0366096 0.859861 0.5 --0.0275166 0.057436 0.037149 0.900038 0.5 --0.0231678 0.124994 -0.000333927 0.782181 0.5 --0.0242322 0.124794 -0.000701199 0.727949 0.5 --0.0308709 0.178515 -0.0130008 0.371348 0.5 --0.0786212 0.0976351 -0.0095679 0.506544 0.5 --0.0102634 0.129467 0.00444971 0.722585 0.5 --0.00431736 0.130694 0.00665461 0.744875 0.5 -0.0047441 0.131688 0.0100125 0.805054 0.5 -0.0116725 0.130674 0.0125466 0.862683 0.5 -0.0203982 0.126887 0.0157559 0.465741 0.450318 --0.0174739 0.0587291 0.0509898 0.59576 0.471696 --0.0164996 0.0587643 0.0515064 0.597947 0.5 --0.0154906 0.0587868 0.0517337 0.609312 0.479377 --0.0145087 0.0587885 0.0518852 0.743754 0.5 --0.013551 0.0588296 0.0525443 0.623538 0.428768 --0.0125152 0.0589286 0.0534547 0.644773 0.5 --0.0114781 0.0589986 0.0537512 0.692324 0.467739 --0.0105137 0.0589924 0.0541839 0.673497 0.410953 --0.00950572 0.0590791 0.0548422 0.645069 0.478357 --0.0084928 0.0591086 0.0550857 0.778631 0.5 --0.00750142 0.0590729 0.0550185 0.786634 0.5 --0.00649422 0.0590504 0.0549316 0.779679 0.5 --0.00549453 0.0590678 0.0548923 0.736729 0.5 --0.00449702 0.0590031 0.0543234 0.793812 0.5 --0.0035043 0.0589584 0.0540181 0.794334 0.5 --0.00249479 0.0590139 0.0541301 0.776353 0.5 --0.00150748 0.059016 0.0544507 0.768563 0.5 --0.000499764 0.0590718 0.0548831 0.759016 0.5 -0.000501847 0.0590908 0.0549783 0.768603 0.5 -0.00150053 0.0591133 0.0550768 0.74677 0.5 -0.00250252 0.0590979 0.0551087 0.643912 0.5 -0.00350505 0.0590839 0.0549927 0.605694 0.5 -0.00449835 0.0590783 0.0547231 0.592566 0.5 -0.00548498 0.0590856 0.0545593 0.698716 0.5 -0.00649387 0.0590149 0.0539921 0.739002 0.5 -0.00749975 0.0589567 0.0535286 0.567602 0.481595 -0.0085002 0.0589241 0.0531764 0.463323 0.5 -0.00964614 0.0589005 0.0527021 0.547321 0.477909 -0.0106562 0.0589179 0.0524466 0.536229 0.446134 --0.0124881 0.120998 0.0354929 0.450936 0.5 --0.0134923 0.120989 0.0351213 0.436127 0.5 --0.0144851 0.120961 0.0347298 0.40788 0.5 --0.0155011 0.120965 0.0341268 0.522467 0.5 --0.0165005 0.120964 0.0336371 0.558479 0.312743 --0.0694864 0.116115 0.0518347 0.459388 0.5 --0.0364913 0.113889 0.0338295 0.652364 0.5 --0.0374809 0.113893 0.0340704 0.667428 0.417365 --0.0524335 0.115217 0.0341034 0.677092 0.438456 --0.0194949 0.122198 0.0303074 0.469418 0.5 -0.00650251 0.122426 0.0350167 0.579098 0.5 -0.00749947 0.122404 0.035106 0.590276 0.5 -0.00849573 0.122392 0.0350922 0.607246 0.5 --0.014506 0.114132 0.0394731 0.569175 0.5 -0.0335837 0.114911 0.0235455 0.765492 0.5 --0.0353742 0.125928 -0.00196324 0.629252 0.48251 --0.0400541 0.128036 0.0139949 0.599272 0.391835 --0.0661021 0.155727 0.025928 0.920722 0.5 --0.00158005 0.131357 0.0134024 0.712773 0.5 -0.00547063 0.131454 0.017409 0.692956 0.5 --0.026736 0.125755 0.00710307 0.732482 0.5 --0.0106209 0.130105 0.0129711 0.631874 0.5 --0.0118194 0.129824 0.0125318 0.633161 0.5 -0.0395657 0.0998694 -0.00580754 0.552621 0.444663 -0.0103588 0.130588 0.0191927 0.514037 0.5 --0.0354216 0.17545 -0.00362892 0.335701 0.5 --0.0374813 0.169748 0.00157136 0.376782 0.5 -0.038562 0.0568882 0.0311978 0.49391 0.5 -0.0395203 0.0569025 0.0311403 0.859939 0.5 -0.040497 0.0569389 0.0314027 0.770121 0.5 -0.0414852 0.0569681 0.0316528 0.783059 0.5 -0.0424943 0.0569701 0.0318321 0.502329 0.467916 -0.0434926 0.056984 0.0319757 0.529079 0.467481 -0.0444988 0.0569914 0.0320977 0.558274 0.467151 -0.0455074 0.0569933 0.0321208 0.560564 0.5 -0.0465619 0.0568462 0.0320779 0.537442 0.5 -0.0475192 0.0568404 0.0316921 0.379978 0.477232 -0.0443161 0.095966 0.0141619 0.554026 0.5 -0.0444938 0.0959562 0.00517859 0.567858 0.45203 --0.0804891 0.133061 0.0515278 0.547391 0.5 --0.0814521 0.13302 0.0511119 0.534093 0.5 --0.0795217 0.123111 0.0512585 0.678884 0.5 --0.0860777 0.110355 0.00735249 0.304511 0.3924 -0.0394644 0.107011 0.0181712 0.710106 0.5 --0.0726003 0.145757 -0.0168539 0.130446 0.5 --0.0620057 0.153738 -0.0265835 0.797276 0.5 --0.0744939 0.127436 0.052791 0.598326 0.5 --0.0214511 0.184864 -0.013038 0.269383 0.417486 -0.0145889 0.124413 0.0307966 0.544768 0.413456 --0.00442413 0.130145 0.0224484 0.835842 0.5 --0.0795255 0.0953936 0.0349279 0.629357 0.5 --0.0768234 0.0927696 0.0379671 0.697967 0.5 --0.0284025 0.119846 0.0286714 0.345323 0.386314 --0.00815712 0.126302 0.0298556 0.348364 0.5 --0.0545817 0.152467 0.0257328 0.49489 0.5 --0.0712761 0.153449 0.0330143 0.357988 0.438467 --0.0610187 0.152669 0.0336579 0.343708 0.473835 --0.0190623 0.127503 0.00554509 0.703137 0.5 --0.0701097 0.156012 0.00122102 0.60267 0.39516 --0.0225598 0.125982 0.00280455 0.723605 0.5 -0.0122871 0.124953 0.0313975 0.487471 0.467055 --0.0769692 0.155214 0.0250641 0.769944 0.5 --0.0435242 0.0590876 0.0398271 0.555182 0.472295 --0.0425056 0.0591222 0.0401769 0.726093 0.5 --0.041507 0.0591281 0.0403212 0.749345 0.5 --0.0404996 0.0591463 0.0404229 0.750122 0.5 --0.0394972 0.0591632 0.0405173 0.751111 0.5 --0.0384905 0.0591295 0.0404813 0.708003 0.5 --0.0374964 0.0591338 0.0402834 0.65483 0.452095 --0.0364983 0.059104 0.0398977 0.608463 0.5 --0.0354822 0.0590569 0.0395591 0.572275 0.5 --0.034478 0.0590226 0.0391844 0.558375 0.5 --0.0334706 0.0589721 0.0386927 0.553456 0.468973 --0.0325011 0.058955 0.0382451 0.536103 0.5 --0.0315398 0.0589058 0.0377684 0.488759 0.458633 --0.030503 0.0588732 0.0373493 0.552163 0.424945 --0.0294983 0.0588236 0.0368769 0.51949 0.5 --0.0285046 0.0588067 0.036767 0.783481 0.5 --0.0275164 0.0588544 0.0372755 0.618007 0.5 --0.0266186 0.0589226 0.0382515 0.804045 0.5 --0.014074 0.128231 0.00303832 0.697783 0.5 --0.0795696 0.0976882 -0.00856087 0.499264 0.5 --0.00906667 0.129748 0.004892 0.731358 0.5 --0.00546011 0.130518 0.00622904 0.729782 0.5 -0.00577065 0.131636 0.0103849 0.81638 0.5 -0.0107439 0.130936 0.0122066 0.856865 0.5 -0.0212208 0.126407 0.0160623 0.466853 0.477405 -0.0288964 0.120556 0.0189249 0.612603 0.5 --0.0174573 0.0601724 0.0514531 0.598628 0.5 --0.0164899 0.0602176 0.0520938 0.608098 0.5 --0.0154981 0.060248 0.0524646 0.599172 0.5 --0.0144773 0.0603048 0.0528052 0.620283 0.411922 --0.0134723 0.0603845 0.0536243 0.63903 0.443373 --0.0124985 0.0603974 0.0541523 0.646771 0.464613 --0.0114926 0.0604332 0.0544994 0.650202 0.46547 --0.0104903 0.0604984 0.0550813 0.633479 0.5 --0.00950118 0.06052 0.0554819 0.783202 0.5 --0.00851812 0.0604987 0.0555487 0.798193 0.5 --0.00749367 0.0605601 0.0556586 0.800826 0.5 --0.00649644 0.0605343 0.0557379 0.77304 0.5 --0.00549595 0.0605287 0.0555985 0.751621 0.5 --0.00449819 0.0604864 0.0551163 0.767927 0.5 --0.00349094 0.060529 0.0547186 0.785372 0.5 --0.00244861 0.0605864 0.0553645 0.783698 0.402186 --0.00148294 0.0606073 0.0558577 0.757588 0.5 --0.000492298 0.0605899 0.0560413 0.73432 0.5 -0.000506781 0.0605965 0.0560209 0.746636 0.5 -0.00150254 0.0605844 0.0560506 0.683842 0.5 -0.002504 0.0605716 0.0560843 0.617437 0.5 -0.00349883 0.0605728 0.0559342 0.599244 0.439223 -0.0044963 0.0605551 0.0556784 0.48502 0.483312 -0.00553119 0.0603997 0.0554086 0.52471 0.5 -0.0104936 0.11823 0.0368787 0.562107 0.5 --0.015609 0.128774 0.0111587 0.635772 0.285136 --0.0155019 0.119619 0.0357771 0.452338 0.5 -0.000493498 0.119652 0.0380928 0.649494 0.5 --0.0942207 0.120117 0.0202902 0.664933 0.5 --0.0254563 0.120601 0.0288472 0.425603 0.5 --0.0244888 0.120706 0.0294035 0.413973 0.5 --0.0234909 0.120747 0.0300444 0.426071 0.5 --0.0224887 0.120777 0.0306794 0.472307 0.5 --0.0214979 0.120818 0.0311972 0.50776 0.5 --0.0455015 0.115241 0.0333765 0.547189 0.5 --0.0474934 0.115292 0.0331905 0.521053 0.5 --0.0384898 0.113893 0.0344296 0.667726 0.5 --0.0394837 0.113931 0.0345962 0.685591 0.5 --0.0514754 0.115278 0.0338114 0.63268 0.5 --0.0204678 0.122105 0.0297617 0.470906 0.5 --0.0214771 0.122102 0.0291424 0.467006 0.5 --0.0224613 0.12203 0.0284859 0.4404 0.5 --0.0234883 0.122057 0.0276339 0.429725 0.5 --0.0745006 0.142795 0.0461595 0.628145 0.5 --0.0536299 0.144677 0.0243972 0.75025 0.5 -0.0216673 0.125834 0.0205048 0.403092 0.5 --0.0816886 0.154881 0.0175845 0.500539 0.5 -0.0126438 0.130236 0.0157508 0.855852 0.5 -0.0373352 0.108319 0.0251875 0.529532 0.5 --0.0620106 0.15528 -0.0315878 0.814083 0.5 --0.0455612 0.125305 -0.00846085 0.590842 0.5 -0.0416081 0.101418 0.000182195 0.472042 0.439829 -0.0426769 0.101505 0.0101616 0.693234 0.5 --0.0699808 0.136988 -0.00795948 0.543007 0.466572 --0.084368 0.114299 0.000284663 0.445557 0.5 --0.0235296 0.159196 -0.00227474 0.309766 0.47069 -0.0385114 0.0583288 0.0314228 0.577651 0.5 -0.0395682 0.0582726 0.0307001 0.643451 0.5 -0.0405223 0.0582848 0.0307512 0.568603 0.5 -0.0414985 0.058326 0.0311197 0.733842 0.5 -0.0424926 0.0583469 0.0313486 0.527122 0.5 -0.0434891 0.0583702 0.0316051 0.468866 0.5 -0.0444976 0.0583814 0.0318302 0.657685 0.5 -0.0455013 0.0583861 0.0319381 0.715427 0.5 -0.0465079 0.0583728 0.0318256 0.699595 0.5 -0.0475195 0.0583521 0.0315949 0.548877 0.5 -0.0484836 0.0582148 0.031165 0.463927 0.46751 --0.0859867 0.140484 0.00417932 0.470029 0.5 -0.0442088 0.0931449 0.0211603 0.493192 0.5 --0.0632381 0.170981 -0.0495819 0.613718 0.5 --0.0737003 0.156269 0.0145144 0.717415 0.5 --0.0765015 0.121776 0.0527715 0.559358 0.5 --0.0823392 0.111551 0.0443764 0.573141 0.431344 --0.0444887 0.166716 0.00379579 0.432842 0.342484 --0.0896061 0.126751 0.00429509 0.668477 0.5 --0.0623544 0.152149 -0.0255836 0.690046 0.5 --0.0735334 0.165176 -0.017728 0.254223 0.376154 --0.0924363 0.118744 0.0263157 0.815533 0.5 -0.0105014 0.112682 0.0391847 0.660816 0.5 -0.0114979 0.112659 0.03891 0.670599 0.5 --0.0575 0.0588269 0.0212602 0.079935 0 -0.0124968 0.112648 0.0387734 0.687865 0.5 -0.0134971 0.112635 0.0387508 0.657701 0.429898 --0.035368 0.122868 0.0260927 0.514037 0.5 --0.0710693 0.155098 0.0285743 0.86313 0.5 --0.0100751 0.129607 0.0204184 0.462694 0.5 --0.0541438 0.151337 0.0259237 0.429515 0.468852 -0.0215791 0.120444 0.0319368 0.571352 0.5 --0.0801398 0.154387 0.00935749 0.601617 0.5 --0.0203743 0.127028 0.00506457 0.692997 0.5 --0.00823225 0.127328 0.0283641 0.313066 0.338258 --0.0251238 0.125152 0.00185767 0.736391 0.5 --0.076884 0.155644 0.0221655 0.46949 0.5 --0.0502879 0.133796 0.0278403 0.650903 0.5 --0.0435044 0.0605182 0.0400424 0.557234 0.5 --0.0425016 0.0605517 0.0404213 0.608014 0.5 --0.0415072 0.0605699 0.0406995 0.613801 0.48453 --0.0405058 0.060576 0.0408455 0.600241 0.5 --0.039497 0.060614 0.0410267 0.734593 0.5 --0.0384926 0.0605846 0.0409778 0.705704 0.5 --0.037493 0.0605801 0.0408152 0.655323 0.5 --0.0364972 0.0605644 0.0405385 0.622127 0.5 --0.0354996 0.0605317 0.0401535 0.745235 0.5 --0.0344836 0.0604651 0.0395531 0.708236 0.5 --0.0334912 0.0604137 0.038899 0.544415 0.481734 --0.0325027 0.0603855 0.0384943 0.543254 0.5 --0.0314976 0.0603384 0.0380002 0.485646 0.464123 --0.0304988 0.0603029 0.0376116 0.536668 0.5 --0.0294972 0.0602632 0.0372614 0.423394 0.5 --0.028493 0.0602587 0.0370952 0.538044 0.5 --0.0274915 0.0602914 0.037483 0.600191 0.5 --0.0265857 0.0603669 0.0385952 0.569277 0.5 --0.00786498 0.13001 0.00533674 0.730507 0.5 --0.0066641 0.130277 0.00578337 0.728624 0.5 --0.000819486 0.131234 0.00795191 0.74977 0.268126 -0.00782583 0.131487 0.0111342 0.834131 0.5 -0.0169782 0.128539 0.0144983 0.626962 0.5 -0.0220436 0.125932 0.0163676 0.495179 0.5 -0.0281636 0.121218 0.0186511 0.589169 0.5 -0.032372 0.116958 0.0202394 0.619565 0.5 --0.00645905 0.128953 0.0260767 0.320502 0.5 --0.0164629 0.0616668 0.0525376 0.607095 0.478501 --0.0154642 0.0617228 0.0531313 0.608033 0.445048 --0.0144795 0.0617481 0.0535104 0.630395 0.5 --0.0135115 0.0617879 0.0541775 0.635568 0.5 --0.012492 0.061843 0.0546212 0.634839 0.469435 --0.0114833 0.0618754 0.0549615 0.650491 0.470895 --0.0104902 0.0619157 0.0554492 0.644525 0.5 --0.0094927 0.0619497 0.0558121 0.642854 0.486242 --0.00850445 0.0619527 0.0559735 0.643791 0.5 --0.00750248 0.0619634 0.0561006 0.782508 0.5 --0.00649716 0.0619561 0.0561245 0.770599 0.5 --0.0054968 0.061946 0.0559894 0.762387 0.5 --0.00449481 0.0619627 0.0557718 0.787854 0.5 --0.00349601 0.0619414 0.0556852 0.806374 0.5 --0.00249339 0.0619776 0.0560364 0.809931 0.5 --0.00149436 0.0620061 0.056412 0.776964 0.5 --0.000496937 0.0620135 0.0565388 0.773294 0.5 -0.000501079 0.0620074 0.0565701 0.748671 0.5 -0.00150309 0.0619973 0.0566118 0.679398 0.5 -0.00250176 0.0620246 0.0566613 0.632265 0.5 -0.00350624 0.0619975 0.0564502 0.592048 0.5 -0.00451197 0.0619711 0.0562284 0.577325 0.5 -0.00552678 0.0619607 0.0559576 0.474229 0.468369 -0.00660499 0.0617786 0.0553203 0.488299 0.46872 -0.0114719 0.1182 0.0365719 0.549455 0.435041 -0.0337482 0.102096 0.0349353 0.721289 0.5 --0.0144951 0.119623 0.0361429 0.441459 0.5 --0.000499702 0.119705 0.0381547 0.65526 0.5 --0.00149547 0.119691 0.0381347 0.662053 0.5 --0.00249391 0.119678 0.0379989 0.649997 0.5 --0.00349428 0.119696 0.0379021 0.652911 0.5 --0.00449084 0.119679 0.0378771 0.659008 0.5 --0.00548321 0.119649 0.0378412 0.660868 0.5 --0.0064872 0.119657 0.0377321 0.681198 0.5 --0.00749647 0.119689 0.0375376 0.653724 0.5 --0.0659203 0.122383 -0.00896938 0.797322 0.5 --0.0408255 0.0914222 -0.0231618 0.53277 0.5 --0.0943455 0.121485 0.0232874 0.718584 0.5 --0.0114919 0.121016 0.0357517 0.483027 0.5 --0.0104801 0.120983 0.0360777 0.51483 0.5 --0.00949197 0.121025 0.0361236 0.562294 0.401275 --0.00848516 0.121007 0.0363393 0.613899 0.5 --0.0941076 0.120125 0.0222927 0.709616 0.5 --0.0942113 0.120123 0.0212925 0.687694 0.5 --0.0529166 0.0566407 0.0191372 0.106703 0 --0.0625812 0.150647 -0.00957658 0.278467 0.5 --0.0628107 0.150584 -0.0245802 0.609564 0.5 -0.0439346 0.0959403 0.0181595 0.520877 0.453052 --0.0784743 0.140032 0.0478552 0.537882 0.5 -0.0368905 0.10997 0.023344 0.51887 0.5 --0.0883977 0.0983242 0.022387 0.535268 0.5 -0.0370893 0.106835 -0.00283087 0.54654 0.5 --0.0348521 0.0972102 -0.0229902 0.620611 0.5 -0.0419445 0.0972272 0.0251571 0.522316 0.5 -0.0414472 0.0971985 0.0261597 0.646328 0.5 -0.0409571 0.0971716 0.0271682 0.659957 0.5 -0.0395317 0.0596774 0.0306966 0.48752 0.477098 -0.0405486 0.0596459 0.0301455 0.467746 0.467985 -0.0415111 0.0596706 0.0303495 0.744481 0.5 -0.0424994 0.0597124 0.0306347 0.490935 0.464071 -0.0434928 0.0597185 0.030951 0.421123 0.418951 -0.0444883 0.05975 0.0312137 0.481007 0.462733 -0.0455002 0.059749 0.0314265 0.533753 0.5 -0.0465043 0.0597504 0.0314309 0.679077 0.5 -0.0475108 0.0597433 0.0313293 0.562761 0.5 -0.0485157 0.0597129 0.0310438 0.415372 0.426236 -0.0495183 0.0596792 0.0306871 0.406227 0.483913 -0.0503974 0.0595708 0.0303584 0.405493 0.41666 -0.0407085 0.0956949 -0.00580768 0.618948 0.5 -0.0296013 0.119582 0.02204 0.579465 0.5 -0.0281452 0.12091 0.0214948 0.558575 0.455906 -0.0411647 0.0886413 -0.00977915 0.635782 0.5 -0.0112861 0.130316 0.0195341 0.490788 0.469141 --0.024907 0.0916549 -0.0335476 0.373758 0.5 -0.0407967 0.105643 0.0101649 0.704041 0.5 -0.0115111 0.114076 0.0384616 0.574655 0.5 -0.042138 0.101461 0.00217211 0.445161 0.5 -0.0144928 0.11263 0.0387455 0.661797 0.5 -0.0155048 0.112635 0.0385412 0.55419 0.485359 --0.0760639 0.155862 0.0136886 0.720668 0.5 -0.0152697 0.128852 0.0195703 0.425587 0.469491 --0.0628269 0.1502 -0.00476792 0.45276 0.5 --0.0655762 0.155146 -0.00586759 0.623706 0.363703 --0.0585553 0.060477 0.023496 0.335404 0.429844 --0.0574179 0.0608499 0.024689 0.448705 0.5 -0.0164932 0.112605 0.0382483 0.550588 0.486924 -0.017486 0.112589 0.0378808 0.54787 0.425276 --0.0544716 0.0607811 0.0269495 0.136202 0.5 --0.0533559 0.0609747 0.0280244 0.20843 0.5 -0.0152572 0.124805 0.0295869 0.510897 0.5 --0.0327176 0.125444 0.0196276 0.359289 0.447792 -0.0137336 0.122464 0.0333928 0.607142 0.5 --0.0216874 0.126575 0.00458035 0.700459 0.5 --0.048101 0.135891 0.0168055 0.740469 0.5 --0.0263156 0.124827 0.00142734 0.773209 0.5 -0.000667625 0.0985049 0.0513232 0.395048 0.366076 -0.0158763 0.121559 0.0327664 0.696033 0.374342 -0.0263229 0.122689 0.0193841 0.550515 0.379774 --0.0434938 0.0619471 0.0402773 0.587502 0.5 --0.0424946 0.0619914 0.040787 0.597864 0.5 --0.0415061 0.0620057 0.0410722 0.59853 0.485814 --0.0404923 0.0620428 0.0412639 0.715885 0.5 --0.0394989 0.0620307 0.0413298 0.722344 0.5 --0.0384965 0.0620329 0.0413169 0.709329 0.5 --0.0374934 0.0620193 0.0412021 0.681563 0.5 --0.036486 0.0619956 0.0409573 0.650585 0.5 --0.0354995 0.0619703 0.0405316 0.775243 0.5 --0.0345243 0.0619374 0.0399691 0.707148 0.5 --0.0334995 0.0618586 0.0392638 0.69182 0.43434 --0.0325014 0.0618008 0.0386259 0.638347 0.5 --0.031495 0.061765 0.0382603 0.572156 0.5 --0.0305049 0.0617476 0.0379767 0.407147 0.5 --0.0294951 0.0617035 0.0376524 0.405711 0.434391 --0.0285033 0.0616825 0.0373869 0.529014 0.5 --0.0274823 0.0617236 0.037721 0.592675 0.5 --0.0265671 0.0617846 0.0387137 0.617817 0.5 -0.00147793 0.131501 0.00880182 0.765149 0.5 -0.000326986 0.131385 0.00837406 0.756918 0.5 -0.00679991 0.131589 0.0107583 0.816641 0.5 -0.0160657 0.128852 0.0141586 0.626754 0.5 -0.0228597 0.125444 0.016672 0.485191 0.43871 -0.0274329 0.121878 0.0183804 0.567877 0.5 -0.0330284 0.116174 0.0204895 0.630343 0.5 -0.00617007 0.126444 0.0306412 0.493308 0.391016 --0.0604932 0.155795 0.0206537 0.763824 0.31952 --0.0164541 0.0630817 0.0527623 0.586174 0.5 --0.0155135 0.0631057 0.0533345 0.593961 0.5 --0.0145015 0.0631456 0.0536787 0.596473 0.472256 --0.037924 0.175153 -0.00739726 0.194484 0.5 --0.0124743 0.0632507 0.0548154 0.59119 0.5 --0.0114871 0.063283 0.055206 0.621008 0.5 --0.0105123 0.0633015 0.0555068 0.638224 0.5 --0.00949444 0.063336 0.0558203 0.631342 0.484898 --0.00850113 0.0633575 0.0560799 0.634451 0.5 --0.00750585 0.0633646 0.0562436 0.772077 0.5 --0.00650337 0.0633626 0.0562557 0.768336 0.5 --0.00549722 0.0633676 0.0561862 0.779276 0.5 --0.00449554 0.0633716 0.0561592 0.792627 0.5 --0.00349688 0.0633763 0.0563118 0.803014 0.5 --0.00250336 0.0633801 0.0564795 0.790951 0.5 --0.00149888 0.0634085 0.0566876 0.785645 0.5 --0.000501715 0.0634055 0.0567322 0.747375 0.5 -0.000499004 0.0634057 0.0567297 0.711431 0.5 -0.00150192 0.0634213 0.0567922 0.693637 0.5 -0.00250861 0.0634123 0.0567384 0.645679 0.5 -0.00351519 0.0634007 0.0566286 0.76692 0.5 -0.00451348 0.0633892 0.056472 0.586773 0.5 -0.00552401 0.0633596 0.0561453 0.566684 0.479813 -0.00652265 0.0633208 0.0557678 0.55314 0.477505 -0.00753471 0.0632773 0.055432 0.467608 0.469581 -0.012487 0.118181 0.036207 0.558035 0.486602 --0.0867528 0.121192 -0.00171893 0.678506 0.5 --0.0135041 0.11966 0.0364252 0.444733 0.5 --0.0124895 0.119639 0.0367572 0.45816 0.5 --0.0114857 0.119632 0.0369891 0.518047 0.452131 --0.0104925 0.119661 0.037142 0.567773 0.5 --0.0094889 0.119647 0.0372435 0.599836 0.5 --0.0875722 0.151019 0.0254764 0.265855 0.5 --0.0705258 0.142815 0.0451961 0.619012 0.5 --0.0755017 0.140041 0.0481 0.631832 0.5 --0.0164574 0.11955 0.0353527 0.471714 0.42603 -0.001497 0.119685 0.0377723 0.646485 0.5 -0.0441509 0.0959467 0.0161545 0.538158 0.486991 --0.0617076 0.156842 -0.0315932 0.516935 0.473269 --0.0628413 0.144409 -0.0076345 0.668887 0.5 -0.0429803 0.0916104 -0.003806 0.471195 0.462248 -0.0426083 0.0915862 -0.00481093 0.463345 0.461836 --0.0075036 0.12108 0.0363047 0.62373 0.5 --0.00649673 0.121064 0.0364033 0.651446 0.5 --0.00548988 0.121033 0.0366102 0.656255 0.5 --0.00449347 0.121049 0.0367461 0.666065 0.5 --0.00348704 0.121028 0.0369539 0.665679 0.383273 --0.00149798 0.121047 0.037107 0.652268 0.5 -0.000500084 0.12107 0.0367737 0.623932 0.5 --0.079441 0.139988 0.0475582 0.412428 0.5 --0.0355723 0.127236 0.00383072 0.866827 0.5 --0.0144799 0.123658 0.0314246 0.524597 0.5 --0.0154726 0.123613 0.0307813 0.515149 0.5 --0.00850001 0.125156 0.0314578 0.405973 0.394643 --0.00749813 0.125151 0.0317009 0.41678 0.399997 -0.0435925 0.0958855 0.00119521 0.478662 0.489932 -0.0432433 0.0958712 0.000187851 0.486341 0.5 -0.0405445 0.0610221 0.0298369 0.644997 0.5 -0.0415387 0.0610238 0.0295203 0.578152 0.5 -0.0425062 0.0610428 0.0297234 0.700168 0.5 -0.043495 0.0610671 0.0301862 0.481914 0.5 -0.0444927 0.0610909 0.0304355 0.430024 0.5 -0.0454967 0.0611109 0.0306935 0.480851 0.5 -0.046501 0.0611194 0.0308227 0.513672 0.5 -0.0475064 0.0611159 0.0308231 0.549298 0.470059 -0.0485116 0.0611011 0.0306918 0.481944 0.5 -0.0495286 0.0610841 0.0304744 0.504734 0.474515 -0.0505141 0.0610459 0.0301699 0.41911 0.4848 -0.0515419 0.0610093 0.0297195 0.417836 0.45457 --0.00301536 0.127034 0.030217 0.335862 0.5 -0.0184989 0.11258 0.037522 0.563485 0.479802 -0.0165164 0.126586 0.0257514 0.533651 0.364132 --0.0334673 0.174268 -0.00177832 0.340256 0.5 -0.0360643 0.108191 -0.003826 0.461807 0.466834 -0.0389991 0.108356 0.0151637 0.71034 0.5 -0.0194959 0.11257 0.0373879 0.575178 0.47545 --0.0294775 0.17726 -0.00505881 0.354828 0.5 --0.0206189 0.186125 -0.0151754 0.215116 0.5 -0.0205916 0.112587 0.0371117 0.554683 0.5 --0.0271582 0.125819 0.00840694 0.738593 0.5 --0.0368019 0.127806 0.00485952 0.858539 0.5 --0.0428232 0.12861 0.00263817 0.867778 0.5 --0.067466 0.154933 0.00219081 0.87304 0.5 --0.000406928 0.0996624 0.04942 0.321894 0.443496 -0.0144323 0.129298 0.0192627 0.434752 0.433797 --0.0661878 0.156038 -0.00610123 0.577648 0.5 --0.0381245 0.162196 -0.0129852 0.499753 0.5 --0.043053 0.153237 -0.00732462 0.733715 0.5 --0.0574847 0.0623327 0.0283417 0.440932 0.5 --0.0564752 0.0624455 0.0290854 0.294348 0.5 --0.0555013 0.0623754 0.0293782 0.259304 0.5 --0.0544738 0.0624824 0.0299832 0.277414 0.5 --0.053455 0.0625326 0.0304805 0.254393 0.5 --0.0523859 0.0626167 0.0314055 0.376362 0.5 --0.0514165 0.0627417 0.0327301 0.410021 0.5 --0.050463 0.0627793 0.0338697 0.55581 0.5 --0.0692317 0.155651 0.00154206 0.696929 0.5 --0.0274601 0.124651 0.00100866 0.781512 0.5 -0.00601824 0.128477 0.0276707 0.380813 0.5 -0.000773445 0.126081 0.0315854 0.413132 0.5 -0.0270658 0.12207 0.0196667 0.547679 0.5 --0.0183396 0.126605 0.021835 0.442036 0.5 --0.043478 0.0633766 0.0405033 0.582038 0.5 --0.0424707 0.0634258 0.0409808 0.602862 0.5 --0.0414812 0.0634467 0.0412468 0.738037 0.5 --0.0404969 0.0634536 0.0414219 0.743837 0.5 --0.039496 0.0634667 0.0415276 0.74085 0.5 --0.0384984 0.0634699 0.041507 0.722617 0.5 --0.037501 0.0634549 0.0414009 0.689467 0.5 --0.0364902 0.0634253 0.0412069 0.655591 0.5 --0.0354974 0.0634085 0.0409173 0.611013 0.5 --0.0345208 0.0633716 0.0403553 0.720692 0.5 --0.033478 0.0632761 0.0395519 0.701016 0.429013 --0.0325077 0.0632413 0.0389915 0.654137 0.5 --0.0315047 0.0631978 0.0384961 0.596135 0.5 --0.0304985 0.0631621 0.0381216 0.424835 0.5 --0.029494 0.0631194 0.0377814 0.416495 0.5 --0.0284985 0.0631152 0.0376198 0.561231 0.5 --0.0274987 0.0631476 0.0380009 0.634962 0.5 --0.0265303 0.0632322 0.0390504 0.68021 0.5 -0.00977817 0.131153 0.0118468 0.848684 0.5 -0.00880568 0.131337 0.0114907 0.836177 0.5 -0.0178265 0.128119 0.0148069 0.609441 0.472706 -0.0244543 0.124393 0.0172632 0.506732 0.5 -0.0267042 0.122545 0.0181085 0.583129 0.5 -0.0343104 0.114465 0.0209626 0.630321 0.5 -0.00803725 0.125889 0.0313 0.436846 0.375892 --0.0461368 0.13275 0.0116924 0.493237 0.5 -0.0108694 0.130662 0.0179509 0.745943 0.5 --0.0164763 0.064491 0.0530345 0.586151 0.5 --0.0154803 0.0645289 0.0535158 0.74166 0.5 --0.0144784 0.0645279 0.0535035 0.741207 0.5 --0.0134598 0.0645734 0.0539775 0.700608 0.418084 --0.0124605 0.0646213 0.0545516 0.573247 0.424427 --0.0114811 0.0646532 0.0550744 0.594615 0.385264 --0.0105091 0.0646847 0.0553841 0.618928 0.417008 --0.00951396 0.0647096 0.055646 0.632681 0.393193 --0.00851461 0.0647289 0.0558918 0.629525 0.396722 --0.00749994 0.0647419 0.0560829 0.625036 0.415146 --0.0064961 0.0647536 0.0562043 0.763018 0.416706 --0.00550336 0.0647558 0.0562438 0.768812 0.5 --0.00450514 0.0647631 0.0563697 0.772915 0.5 --0.00349826 0.0647878 0.0565544 0.776921 0.5 --0.00250198 0.0647948 0.0567081 0.774375 0.5 --0.00150357 0.0647954 0.0567431 0.750771 0.5 --0.000498244 0.0647983 0.0567029 0.722297 0.5 -0.000503407 0.0647904 0.0566018 0.688217 0.5 -0.00150101 0.0647986 0.0566673 0.665502 0.5 -0.00251112 0.0647983 0.0566425 0.514157 0.484218 -0.00350781 0.064793 0.0565955 0.76751 0.5 -0.00451245 0.064772 0.0563635 0.581601 0.5 -0.00550696 0.0647473 0.0560963 0.566414 0.5 -0.00651279 0.0647152 0.0557475 0.551561 0.5 -0.00750963 0.0646928 0.0554932 0.402513 0.429742 -0.00852849 0.0646614 0.0551736 0.397823 0.5 -0.0135044 0.118213 0.0361594 0.539802 0.485694 --0.0767143 0.154218 -0.0048969 0.708579 0.5 --0.0737112 0.155478 -0.0269075 0.645327 0.5 --0.0843615 0.0993477 -0.00259153 0.490806 0.397415 -0.0424402 0.100042 0.00119598 0.535954 0.5 --0.0754947 0.142836 0.0460912 0.603224 0.389029 --0.0695102 0.148387 0.0405048 0.532625 0.5 --0.077508 0.174998 -0.0490226 0.259897 0.5 -0.000190276 0.131527 0.0154789 0.634271 0.5 --0.0175015 0.119559 0.0348485 0.501925 0.391936 -0.00249824 0.119676 0.0375233 0.636512 0.5 -0.00349102 0.11963 0.0373483 0.642762 0.5 -0.0044907 0.119648 0.0370088 0.641669 0.419334 -0.00549953 0.119637 0.0367537 0.653599 0.5 -0.006499 0.119638 0.036869 0.66824 0.5 -0.00749696 0.119642 0.0368719 0.678708 0.5 --0.0205115 0.114066 0.0379617 0.540353 0.5 --0.0181282 0.187252 -0.018852 0.237973 0.106197 -0.0416377 0.084481 -0.00877138 0.48917 0.447538 --0.0464848 0.12067 0.0277891 0.752764 0.5 --0.0454987 0.120637 0.0275066 0.663586 0.5 --0.00249278 0.121064 0.0370013 0.658686 0.382951 --0.000500925 0.121055 0.0369996 0.629943 0.5 --0.0745094 0.140045 0.0479791 0.621967 0.393756 --0.0922148 0.11614 0.0373108 0.656791 0.5 --0.0134871 0.123689 0.0319378 0.492325 0.32918 --0.0104881 0.125079 0.0309157 0.393586 0.390846 --0.00950667 0.125161 0.0310898 0.397648 0.394028 --0.0509699 0.122064 -0.0109984 0.538005 0.5 -0.0199669 0.107838 -0.0162613 0.576137 0.468722 --0.0940806 0.122789 0.0152778 0.737559 0.5 -0.0405961 0.0624185 0.0297312 0.617794 0.5 -0.0415243 0.0623608 0.0290336 0.668268 0.5 -0.0425314 0.0623712 0.0287546 0.560431 0.445738 -0.0434691 0.0624283 0.0290897 0.484351 0.309426 -0.0444853 0.062436 0.0294527 0.486488 0.5 -0.0454875 0.0624627 0.0298224 0.531179 0.5 -0.0464905 0.0624784 0.0299685 0.481589 0.5 -0.0475024 0.06248 0.0300852 0.526572 0.5 -0.0485082 0.0624718 0.0300814 0.568509 0.5 -0.0495191 0.0624602 0.0299628 0.595289 0.5 -0.0505407 0.062451 0.0297568 0.501229 0.5 -0.0515344 0.0624078 0.0294591 0.506257 0.469252 -0.0365694 0.109049 0.0260841 0.532292 0.5 --0.00603107 0.130744 0.0146461 0.649902 0.5 --0.0424989 0.16674 0.00381643 0.457258 0.5 --0.0475653 0.166962 -0.00492463 0.371444 0.5 --0.0471313 0.132491 0.00541336 0.503701 0.482121 --0.0926871 0.118696 0.0103064 0.58524 0.5 --0.0870053 0.0954387 0.00242783 0.494536 0.346642 --0.0784995 0.162482 -0.0259435 0.476378 0.5 --0.078491 0.121738 0.0515581 0.575447 0.5 -0.00224686 0.131192 0.0191047 0.609266 0.5 --0.00426313 0.130924 0.016725 0.616377 0.338713 --0.011153 0.129981 0.0142184 0.574107 0.5 --0.0197896 0.127727 0.0110836 0.559469 0.5 --0.0283564 0.125587 0.00796681 0.77586 0.5 --0.0410879 0.12806 0.000341883 0.861706 0.5 --0.0421309 0.128083 -3.62159e-05 0.853498 0.5 --0.00713141 0.127357 0.0287426 0.315467 0.348002 --0.00124361 0.130098 0.0236021 0.839043 0.5 --0.0252829 0.0751884 0.0479421 0.693464 0.5 --0.063251 0.15135 -0.00497603 0.578172 0.5 --0.0668589 0.156842 -0.00635476 0.399753 0.460744 --0.0608875 0.104029 -0.0182853 0.484023 0.5 --0.0598828 0.104039 -0.0184233 0.65474 0.5 --0.0739165 0.113504 -0.00683708 0.44421 0.5 --0.0628061 0.0896011 -0.0190246 0.676741 0.5 --0.0308936 0.0901442 -0.0248987 0.370176 0.330832 --0.0535159 0.0640852 0.0330775 0.456708 0.5 --0.052462 0.0642313 0.0336351 0.529612 0.5 --0.051438 0.0643214 0.0343604 0.679218 0.5 --0.0503626 0.0642656 0.0349674 0.737724 0.5 --0.0494719 0.0643044 0.0356628 0.765604 0.5 --0.0228512 0.126901 0.0114323 0.543299 0.5 --0.021597 0.124211 0.0236359 0.375546 0.425091 -0.0277966 0.12141 0.0199376 0.568193 0.362101 --0.00541562 0.128879 0.0264449 0.291638 0.467429 --0.0661547 0.1622 -0.0162285 0.407424 0.450462 --0.0434723 0.0647942 0.0406198 0.595812 0.5 --0.0424858 0.064826 0.0410217 0.608876 0.5 --0.0414966 0.064844 0.0412967 0.753864 0.391923 --0.0404921 0.0648693 0.0415314 0.762128 0.395104 --0.0394972 0.0648803 0.0416583 0.740462 0.5 --0.0384977 0.0648621 0.0416261 0.704044 0.5 --0.0375049 0.0648832 0.0416292 0.674847 0.5 --0.0364897 0.0648519 0.0414613 0.638885 0.5 --0.035492 0.0648204 0.0410644 0.620204 0.410011 --0.0345021 0.0647803 0.0405279 0.761882 0.408763 --0.0335094 0.0647262 0.0398847 0.696046 0.5 --0.0325205 0.0646875 0.0393461 0.632222 0.5 --0.0314872 0.0646167 0.0387865 0.565229 0.5 --0.0304944 0.064586 0.038393 0.41999 0.456178 --0.0294959 0.0645466 0.0380401 0.517109 0.5 --0.0285046 0.0645461 0.0380462 0.642794 0.5 --0.027486 0.0646029 0.0384895 0.719015 0.5 --0.026557 0.0646504 0.0393284 0.712861 0.5 -0.0143125 0.129601 0.0135477 0.468204 0.474841 -0.0151955 0.129241 0.0138359 0.613337 0.5 -0.0236525 0.124901 0.0169603 0.609556 0.5 -0.0259555 0.123153 0.0178233 0.564956 0.5 -0.0349362 0.113582 0.0211925 0.643093 0.5 --0.00900002 0.1303 0.0121232 0.675478 0.5 --0.0467325 0.133652 0.0114554 0.516435 0.5 -0.046038 0.0679968 0.0252834 0.500109 0.390105 -0.0472026 0.0681414 0.0256953 0.394426 0.5 --0.0164672 0.0659336 0.0534892 0.713079 0.5 --0.0154968 0.0659374 0.0537935 0.735049 0.5 --0.014508 0.0659228 0.0537042 0.744854 0.5 --0.0134952 0.0659366 0.0537869 0.744166 0.5 --0.0124852 0.0659775 0.0542376 0.729188 0.5 --0.0114925 0.06602 0.0547394 0.720231 0.5 --0.0104895 0.0660607 0.0552117 0.61411 0.5 --0.00950506 0.0660833 0.0554985 0.624978 0.5 --0.00849416 0.0661021 0.0557034 0.767122 0.5 --0.00750518 0.0661146 0.0558703 0.767791 0.5 --0.00650089 0.0661332 0.0560881 0.772061 0.5 --0.00550273 0.0661441 0.0562254 0.773359 0.5 --0.00450592 0.0661541 0.056364 0.773854 0.5 --0.0034975 0.0661744 0.0565538 0.776553 0.5 --0.00249995 0.0661849 0.0567093 0.766296 0.5 --0.00149822 0.0661867 0.0567241 0.728489 0.5 --0.000497657 0.066177 0.0565989 0.716155 0.5 -0.000499624 0.0661631 0.0564081 0.697748 0.452414 -0.0015045 0.0661578 0.0563313 0.660329 0.466845 -0.00251128 0.0661582 0.0562906 0.630138 0.5 -0.00351414 0.0661565 0.0562774 0.752306 0.5 -0.0045204 0.0661365 0.0560558 0.741005 0.5 -0.00551724 0.0661119 0.0558057 0.731659 0.5 -0.00651157 0.066084 0.0555109 0.725503 0.436932 -0.00750533 0.0660627 0.0552439 0.568635 0.5 -0.00851416 0.06604 0.0550264 0.566521 0.5 -0.00951738 0.0660057 0.0546772 0.477793 0.458716 -0.0144977 0.11819 0.0360011 0.522873 0.484655 -0.0154982 0.118174 0.0357451 0.611549 0.5 -0.0165026 0.118175 0.0355154 0.617343 0.5 -0.0175115 0.118187 0.0352964 0.62813 0.5 -0.0185027 0.118159 0.035136 0.613114 0.5 --0.0387263 0.127561 -0.000266265 0.885937 0.5 --0.0245336 0.118082 0.0325274 0.408284 0.5 -0.00949782 0.11825 0.0371477 0.565597 0.403149 -0.00284904 0.131659 0.0150261 0.741053 0.5 --0.0185008 0.119534 0.0344711 0.517712 0.368239 --0.0195067 0.119545 0.0340058 0.470689 0.393644 --0.0204952 0.119495 0.0334766 0.437568 0.5 --0.0225483 0.119525 0.0321637 0.405224 0.5 --0.0215106 0.119492 0.0328652 0.402519 0.5 -0.00849911 0.119651 0.036768 0.561316 0.5 -0.00950115 0.119644 0.0365249 0.549398 0.5 --0.0367939 0.127143 0.000444502 0.905229 0.5 -0.0115015 0.119616 0.0358941 0.647063 0.5 -0.012488 0.119576 0.0355898 0.643976 0.5 --0.0474373 0.120726 0.0283448 0.71085 0.5 -0.0121624 0.129948 0.0198557 0.488161 0.5 -0.0164452 0.127885 0.0214354 0.397866 0.438331 --0.0725345 0.140015 0.0475615 0.629604 0.5 -0.0147905 0.128825 0.0208219 0.498267 0.370723 --0.0124935 0.123722 0.0323282 0.420781 0.335242 --0.0114821 0.125053 0.0306553 0.381088 0.5 --0.0946145 0.122826 0.0212791 0.643261 0.5 --0.0498404 0.122243 -0.0112035 0.52125 0.473649 -0.0431391 0.098698 0.00317491 0.544182 0.465461 -0.0442623 0.0959503 0.0151546 0.551349 0.482572 -0.0406613 0.0638232 0.0297482 0.553232 0.5 -0.0416181 0.0637615 0.0286411 0.694551 0.5 -0.0425502 0.0637218 0.0280932 0.700294 0.5 -0.0435205 0.0637429 0.0281056 0.553618 0.5 -0.0444941 0.0637658 0.0284543 0.502525 0.423341 -0.0454797 0.0637982 0.0288243 0.51548 0.413138 -0.0464934 0.0638096 0.0291729 0.573387 0.409437 -0.0474969 0.0638142 0.0292952 0.497772 0.5 -0.0485032 0.0638048 0.0293893 0.546999 0.5 -0.0495086 0.0638139 0.0293036 0.582108 0.5 -0.0505111 0.0637895 0.0291551 0.61038 0.414637 -0.0515137 0.0637653 0.0289012 0.507184 0.5 --0.0687402 0.156349 0.0177202 0.768676 0.5 -0.0161 0.12839 0.0198796 0.430451 0.5 --0.0211124 0.182965 -0.0210132 0.438505 0.359518 -0.030263 0.116206 0.0279976 0.630072 0.5 -0.0379602 0.108292 0.00117706 0.454731 0.5 -0.0387554 0.108357 0.00416438 0.52235 0.5 --0.0613991 0.0718897 0.0389316 0.673529 0.5 --0.0270737 0.125279 0.00405866 0.765799 0.5 --0.061476 0.158429 -0.028587 0.366343 0.5 -0.0137449 0.12859 0.0232984 0.510024 0.394876 -0.00735972 0.130718 0.020957 0.593926 0.392236 -0.00115082 0.131147 0.0187057 0.599532 0.5 --0.00541266 0.130784 0.0163058 0.615219 0.5 --0.0123571 0.12972 0.0137799 0.583478 0.5 --0.0210495 0.127369 0.0106273 0.587303 0.311357 --0.029395 0.125597 0.00758806 0.841605 0.5 --0.0380634 0.127686 0.00145512 0.887978 0.5 --0.0438011 0.128754 0.0022734 0.887676 0.5 --0.0610057 0.155949 0.0190169 0.797163 0.5 --0.0676703 0.159658 -0.00956407 0.35053 0.435517 --0.0663702 0.157999 -0.00906779 0.550398 0.411161 --0.065143 0.156205 -0.00860924 0.569263 0.378522 --0.0658189 0.0895406 -0.0182783 0.497226 0.407058 --0.0638201 0.089594 -0.0189434 0.530506 0.5 --0.0709153 0.113624 -0.0087498 0.530989 0.5 --0.061811 0.0896079 -0.0190442 0.624474 0.5 --0.0317955 0.0901023 -0.0248195 0.44913 0.45963 --0.0361548 0.166687 -0.0142688 0.452499 0.429459 --0.0450711 0.153185 -0.00674331 0.695144 0.5 --0.0548148 0.0883935 -0.0220325 0.619673 0.5 --0.0418064 0.0884466 -0.0220226 0.693083 0.5 --0.0505296 0.0657745 0.0361047 0.648205 0.476253 --0.0493845 0.0657885 0.0368321 0.829801 0.5 --0.045035 0.131096 0.00921538 0.468825 0.450152 -0.0285362 0.120755 0.0202147 0.577459 0.5 -0.00424945 0.126892 0.0299609 0.419275 0.5 --0.0454889 0.0660999 0.0395126 0.577612 0.472131 --0.0444857 0.0661533 0.0401374 0.604317 0.5 --0.0434963 0.0661943 0.0406667 0.606914 0.5 --0.0425031 0.0662262 0.0410651 0.614234 0.482955 --0.0414917 0.0662628 0.0414077 0.759445 0.5 --0.0404937 0.0662835 0.0416604 0.780785 0.5 --0.0394965 0.0662956 0.0417788 0.748794 0.5 --0.0384968 0.066293 0.0418062 0.712884 0.5 --0.0374975 0.0662835 0.0416878 0.685083 0.5 --0.0364911 0.0662596 0.041455 0.663146 0.454764 --0.0355073 0.0662414 0.0411418 0.640183 0.5 --0.0344904 0.0661905 0.0406967 0.609392 0.475138 --0.0335022 0.0661629 0.0402747 0.741914 0.5 --0.0324978 0.0661054 0.0396515 0.663374 0.5 --0.0314917 0.0660582 0.0391556 0.594285 0.5 --0.0305014 0.066031 0.0387492 0.547638 0.5 --0.0294956 0.0660091 0.0384906 0.542424 0.5 --0.0284876 0.0660147 0.0384689 0.662493 0.5 --0.0275277 0.0660102 0.0388181 0.747185 0.5 --0.026605 0.06607 0.0397555 0.715684 0.5 -0.0186908 0.127724 0.0151265 0.620339 0.5 -0.0252163 0.1238 0.0175509 0.523329 0.5 -0.0296171 0.11988 0.0191943 0.626643 0.5 -0.0361181 0.111694 0.0216233 0.65716 0.5 -0.0378254 0.108706 0.0222481 0.666582 0.5 --0.0741599 0.155538 0.00126713 0.265821 0.5 -0.0452046 0.0684536 0.0248447 0.59426 0.5 -0.0248702 0.121138 0.0274186 0.523768 0.5 --0.0801768 0.155046 0.0137223 0.64695 0.5 --0.0164761 0.0673645 0.0539812 0.617647 0.5 --0.015485 0.0673895 0.0543529 0.744271 0.5 --0.0144888 0.0673806 0.0542261 0.742124 0.388241 --0.013511 0.0673225 0.0538556 0.779661 0.5 --0.0125029 0.0673483 0.0540527 0.787126 0.5 --0.011518 0.0673875 0.054571 0.771038 0.5 --0.010503 0.0674297 0.0550101 0.754975 0.5 --0.00948933 0.0674612 0.0553354 0.782977 0.5 --0.00849422 0.0674811 0.0555845 0.791197 0.5 --0.00749086 0.0675042 0.0558082 0.796854 0.5 --0.00650569 0.0675101 0.0559953 0.782596 0.5 --0.00549741 0.0675328 0.0561955 0.778957 0.5 --0.00450121 0.0675415 0.056336 0.782942 0.5 --0.00350144 0.0675505 0.0564719 0.787248 0.5 --0.0025007 0.0675576 0.0566246 0.783426 0.5 --0.00149557 0.0675596 0.0566557 0.753246 0.416416 --0.000496537 0.0675633 0.0565514 0.726137 0.5 -0.000505152 0.0675448 0.0563482 0.683491 0.5 -0.00150869 0.0675259 0.0561223 0.664096 0.5 -0.00251277 0.0675114 0.055914 0.651274 0.46739 -0.00351108 0.067509 0.0559028 0.620277 0.475474 -0.00451102 0.0674972 0.0557889 0.613904 0.5 -0.0055201 0.0674746 0.0556049 0.794409 0.5 -0.00651867 0.0674599 0.0552944 0.620754 0.469527 -0.00750596 0.0674413 0.055134 0.621064 0.5 -0.00850767 0.067431 0.0550095 0.610195 0.5 -0.00951997 0.0673959 0.0546877 0.499246 0.5 -0.0105122 0.0673666 0.0542979 0.51838 0.464908 --0.0484803 0.117974 0.0310954 0.649888 0.5 --0.049455 0.118007 0.0316443 0.655371 0.5 -0.0215785 0.11262 0.0367657 0.518981 0.471269 --0.0774971 0.128861 0.0533302 0.659535 0.5 --0.0915343 0.140602 0.0181819 0.515231 0.5 -0.035616 0.10962 -0.00284805 0.440664 0.483938 --0.09116 0.146144 0.0251605 0.504684 0.469425 -0.00849857 0.118254 0.0373924 0.567843 0.480013 --0.0729498 0.156259 0.0191473 0.546802 0.5 --0.0555057 0.153886 0.023914 0.396539 0.5 -0.00508264 0.128731 0.0273249 0.383982 0.412998 --0.0776837 0.154812 0.0263001 0.414342 0.453814 --0.0235467 0.119499 0.0316537 0.384996 0.5 --0.0245147 0.119422 0.0312229 0.367137 0.5 --0.0255089 0.119394 0.0308336 0.394949 0.5 --0.0344987 0.119335 0.0301753 0.572536 0.5 --0.0354943 0.119369 0.0303337 0.580609 0.5 -0.0135067 0.1196 0.0353985 0.630136 0.5 --0.0504161 0.144734 0.0123765 0.524362 0.5 --0.0694673 0.0635361 0.0216095 0.415275 0.458036 --0.050108 0.144746 0.0113816 0.636632 0.45621 --0.0778042 0.156927 -0.0169128 0.519503 0.5 --0.073319 0.153662 0.0322986 0.347443 0.5 --0.0114851 0.123708 0.0326887 0.470343 0.360943 -0.0437731 0.0973301 0.016155 0.663093 0.5 -0.0438296 0.0973504 0.015162 0.55414 0.5 --0.0875349 0.110472 0.0163392 0.571254 0.5 --0.0879612 0.103656 0.0103875 0.731519 0.5 -0.0277412 0.121021 0.0227689 0.666448 0.5 --0.0700794 0.154941 0.0289273 0.851668 0.5 -0.0259209 0.122835 0.0206655 0.508925 0.390966 -0.042563 0.0650705 0.0275619 0.759914 0.5 -0.0435313 0.065065 0.0273105 0.642968 0.5 -0.0445042 0.0650854 0.0275412 0.543918 0.5 -0.0454924 0.0651146 0.027904 0.512572 0.5 -0.0464851 0.0651547 0.0281822 0.548767 0.5 -0.0474936 0.0651497 0.0284001 0.470587 0.5 -0.0485013 0.0651587 0.0285278 0.522557 0.404016 -0.0495045 0.0651553 0.0285253 0.547457 0.5 -0.0505096 0.0651476 0.0284061 0.591386 0.5 -0.0515215 0.0651377 0.0281771 0.627518 0.5 -0.0525369 0.0651172 0.0279377 0.517388 0.5 -0.053572 0.0650953 0.0274823 0.540879 0.467047 --0.0414982 0.166749 0.00369508 0.479695 0.5 -0.0421258 0.100042 0.000179811 0.555161 0.47819 --0.08755 0.12805 0.000278104 0.477986 0.300221 -0.0444341 0.0861163 0.024155 0.599608 0.5 -0.0447845 0.0903596 0.0201575 0.500917 0.5 -0.0135274 0.12988 0.0160733 0.613208 0.5 --0.0775002 0.156948 -0.0139048 0.815716 0.5 -0.0170314 0.126681 0.0245104 0.385057 0.457565 -0.0128678 0.128966 0.0229731 0.489336 0.330664 -0.00637271 0.130879 0.0205945 0.614947 0.368204 -0.000169576 0.131258 0.0183392 0.584517 0.366064 --0.00656125 0.130634 0.0158888 0.614776 0.5 --0.0136265 0.129395 0.0133241 0.599704 0.5 --0.0223056 0.126998 0.0101726 0.592237 0.5 --0.0400438 0.127998 0.000725921 0.871863 0.5 --0.0390536 0.127857 0.00108873 0.87454 0.5 -0.0175177 0.121695 0.0318921 0.516998 0.359928 --0.071744 0.162192 -0.0110365 0.344027 0.407261 --0.0772789 0.154395 0.0279022 0.743197 0.5 --0.0809037 0.153834 0.0267225 0.315749 0.5 --0.0799402 0.132433 -0.00455304 0.386393 0.5 --0.0408646 0.104225 -0.0205494 0.79815 0.5 --0.0608155 0.0896295 -0.0193008 0.712691 0.5 --0.0598094 0.0896854 -0.0200419 0.607044 0.5 --0.0328294 0.0901297 -0.0245803 0.637091 0.5 --0.0828365 0.116201 -0.00217327 0.540306 0.5 --0.00983206 0.0896484 -0.0366649 0.564234 0.5 --0.00682874 0.0896331 -0.0361816 0.755212 0.5 --0.0719085 0.064649 0.0201308 0.495946 0.5 --0.0609289 0.112535 -0.0147528 0.463258 0.5 -0.0131317 0.10725 -0.0189993 0.554632 0.5 --0.0038734 0.104505 -0.022849 0.740261 0.5 -0.0292558 0.120076 0.0204837 0.600311 0.5 --0.037003 0.126393 0.0195465 0.312739 0.44047 --0.0464696 0.0675313 0.0396048 0.696269 0.5 --0.0454731 0.0675709 0.040115 0.71631 0.5 --0.0445183 0.0675631 0.0404632 0.606878 0.5 --0.0434945 0.0676224 0.0409141 0.620488 0.5 --0.042494 0.0676556 0.0412962 0.643197 0.5 --0.0415011 0.0676725 0.0415782 0.795206 0.5 --0.04049 0.0677003 0.0417506 0.793089 0.5 --0.0394947 0.0676998 0.0417669 0.770446 0.5 --0.0384975 0.0676842 0.0417259 0.734916 0.5 --0.0374964 0.0676867 0.0416821 0.706864 0.5 --0.0365005 0.0676756 0.0415398 0.681839 0.5 --0.0355091 0.0676694 0.0413832 0.66157 0.5 --0.0345105 0.0676457 0.041143 0.636016 0.5 --0.0335093 0.0676035 0.0406399 0.69228 0.5 --0.0325025 0.0675467 0.0400218 0.614951 0.381479 --0.031508 0.0675059 0.0394967 0.550799 0.5 --0.0305 0.0674574 0.0390127 0.724645 0.5 --0.0294982 0.0674485 0.03887 0.606763 0.5 --0.0284943 0.0674472 0.03888 0.695141 0.5 --0.027568 0.0674298 0.0392602 0.733303 0.5 --0.0264702 0.0676761 0.0408217 0.726443 0.5 -0.0310274 0.118497 0.0197321 0.622182 0.5 -0.0303372 0.119206 0.0194646 0.6192 0.5 -0.0355348 0.112677 0.0214127 0.650991 0.5 --0.0158225 0.127346 0.0227279 0.305628 0.5 -0.000543528 0.123331 0.0344653 0.565165 0.5 --0.0190668 0.12797 0.0127969 0.519435 0.5 --0.0663982 0.164105 -0.0192035 0.448278 0.459858 --0.0677428 0.164471 -0.018256 0.351763 0.474901 --0.0174894 0.0687336 0.053904 0.595577 0.5 --0.0164665 0.068805 0.0544258 0.731018 0.5 --0.0154888 0.0688106 0.054717 0.757489 0.5 --0.0144966 0.0687907 0.0546395 0.759805 0.5 --0.0135013 0.0687469 0.0541774 0.788006 0.5 --0.0125103 0.0687513 0.0543288 0.80691 0.5 --0.0115046 0.0688083 0.054897 0.785998 0.5 --0.0104818 0.0688481 0.0551963 0.806506 0.5 --0.00952254 0.0688375 0.0554289 0.794691 0.5 --0.00850916 0.0688709 0.0557558 0.786582 0.5 --0.00750084 0.0688979 0.0559719 0.790614 0.5 --0.00652053 0.0688834 0.0561767 0.784967 0.5 --0.00550834 0.0689154 0.0563731 0.779773 0.5 --0.00450651 0.0689184 0.0565193 0.784133 0.5 --0.00350265 0.0689326 0.0566398 0.766954 0.5 --0.00249623 0.0689511 0.056733 0.75014 0.5 --0.00149713 0.0689596 0.0566805 0.742228 0.5 --0.000486159 0.0689333 0.056515 0.712574 0.5 -0.000510392 0.0689287 0.0563645 0.675861 0.5 -0.00152278 0.0688979 0.0560686 0.65528 0.414139 -0.0025057 0.0688921 0.0558596 0.639859 0.5 -0.00350877 0.068881 0.0557692 0.663106 0.5 -0.00450508 0.0688823 0.055725 0.686977 0.5 -0.00550935 0.0688576 0.0555484 0.692376 0.5 -0.00650425 0.06886 0.0554952 0.671976 0.5 -0.00751041 0.0688465 0.0554032 0.660614 0.5 -0.00850711 0.0688384 0.055257 0.644447 0.5 -0.00950065 0.0688226 0.0549942 0.525573 0.5 -0.0105243 0.0687767 0.0545753 0.522974 0.478773 -0.0369605 0.105409 -0.00483089 0.55728 0.5 -0.0390081 0.105539 0.000161276 0.569483 0.457946 -0.00181081 0.131692 0.0146438 0.687086 0.5 -0.00444274 0.131539 0.0170385 0.680124 0.5 --0.0605228 0.155495 0.0235493 0.656802 0.367943 -0.0199666 0.126684 0.0198751 0.4794 0.440057 -0.0415962 0.101461 0.0191676 0.689756 0.5 --0.047469 0.117985 0.0306301 0.618011 0.5 -0.00750189 0.118272 0.0376599 0.685975 0.300515 -0.00648846 0.118239 0.0378444 0.681747 0.5 -0.00548892 0.118228 0.0378342 0.677311 0.5 -0.00449629 0.118272 0.0381357 0.728599 0.5 --0.0639127 0.160548 -0.0182872 0.475506 0.5 --0.0340875 0.177472 -0.00744261 0.221645 0.389391 --0.0825971 0.103328 -0.00360734 0.376479 0.478977 --0.0933098 0.126856 0.0132534 0.691628 0.5 --0.0364979 0.119358 0.0304421 0.567332 0.5 --0.01578 0.128598 0.00819831 0.683168 0.5 --0.0636791 0.157483 -0.0138656 0.50389 0.5 --0.0815281 0.1484 0.0374104 0.462539 0.5 --0.0297912 0.154227 -0.00467156 0.209483 0.5 -0.03476 0.113033 0.0239837 0.628449 0.5 --0.0743937 0.157452 -0.00470821 0.237695 0.5 --0.0104724 0.123683 0.0330383 0.471245 0.5 -0.0436028 0.0973418 0.0171655 0.652671 0.5 -0.0439353 0.0973509 0.0141605 0.558295 0.483482 --0.0918243 0.128307 0.0322434 0.862085 0.5 --0.069479 0.123198 0.0530616 0.477361 0.5 -0.0211923 0.12581 0.0217553 0.391156 0.5 -0.0416849 0.100037 0.02216 0.653533 0.5 -0.0428754 0.100088 0.00417324 0.546932 0.5 -0.0425933 0.066459 0.0273252 0.712836 0.5 -0.0435266 0.0664036 0.0265247 0.747201 0.392155 -0.0445305 0.0664178 0.0264316 0.605423 0.5 -0.0454709 0.0664599 0.0266758 0.507971 0.361866 -0.0464907 0.0664648 0.0271426 0.465677 0.5 -0.0474899 0.0664975 0.0274045 0.523211 0.5 -0.0484981 0.0664872 0.0276228 0.466361 0.5 -0.0495021 0.0664943 0.0276338 0.509981 0.5 -0.0505119 0.0665023 0.0275359 0.535711 0.5 -0.0515169 0.0664883 0.0274059 0.601387 0.444801 -0.052528 0.0664738 0.0271694 0.508911 0.5 -0.0535157 0.0664189 0.0268642 0.529666 0.5 -0.0363255 0.10537 -0.00683316 0.46667 0.5 -0.0400335 0.107013 0.011165 0.705069 0.5 --0.0900384 0.135039 0.0102136 0.628062 0.5 -0.0447245 0.0861403 0.0231669 0.761769 0.5 --0.0783399 0.174997 -0.0480125 0.257015 0.5 -0.0440584 0.0860884 0.0251529 0.603121 0.478265 --0.00096127 0.131397 0.0150615 0.648932 0.5 -0.0154483 0.127759 0.0239281 0.467984 0.352842 -0.016279 0.127286 0.0242335 0.466184 0.454393 -0.00535242 0.130989 0.0202309 0.587801 0.5 --0.000925431 0.131188 0.0179397 0.576372 0.5 --0.00771141 0.130468 0.0154714 0.613155 0.5 --0.00211759 0.125578 0.0320366 0.4427 0.5 -0.00866181 0.128565 0.0271896 0.399551 0.443972 --0.0692325 0.161954 -0.0115912 0.472708 0.5 --0.0700564 0.162427 -0.0118963 0.47392 0.427192 --0.0105331 0.127013 0.0275477 0.359688 0.401125 --0.0116319 0.126956 0.0271535 0.363461 0.408989 --0.0590284 0.155612 0.0197248 0.763388 0.5 --0.0599273 0.122373 -0.00867944 0.700525 0.5 --0.0218698 0.104438 -0.0229686 0.723165 0.5 --0.033827 0.0901076 -0.0243377 0.690598 0.5 --0.0348266 0.0900917 -0.0242073 0.693653 0.5 --0.0358241 0.0900699 -0.0240653 0.629507 0.5 --0.082826 0.11472 -0.00162443 0.508624 0.426711 --0.0360677 0.156277 -0.0104898 0.748063 0.5 --0.0606822 0.0362429 0.0450162 0.415246 0.5 --0.00381375 0.0896299 -0.0357356 0.782073 0.5 --0.00582898 0.0896214 -0.0360418 0.748597 0.5 -0.0121355 0.107265 -0.0192728 0.565638 0.474826 --0.00486881 0.104509 -0.0228932 0.720229 0.5 -0.00913312 0.10443 -0.020596 0.54652 0.5 --0.0708677 0.158014 -0.00345716 0.560664 0.5 --0.0655537 0.161293 -0.0160037 0.391714 0.377805 --0.0465015 0.0689677 0.0402969 0.710023 0.5 --0.0454899 0.0690197 0.0407796 0.599051 0.5 --0.0444898 0.0690526 0.0411578 0.61645 0.5 --0.0434783 0.0690982 0.041489 0.778279 0.5 --0.042493 0.0690949 0.0416622 0.798299 0.5 --0.0414999 0.0690877 0.0417125 0.798188 0.5 --0.0405007 0.0690879 0.0417151 0.788723 0.5 --0.0394983 0.0690894 0.041721 0.764572 0.5 --0.0384987 0.0691035 0.0417776 0.741533 0.5 --0.0374998 0.0691046 0.0417769 0.714229 0.5 --0.0365043 0.0691064 0.0417512 0.682836 0.5 --0.0354963 0.0690808 0.0415601 0.661182 0.5 --0.0345036 0.0690703 0.0414109 0.624308 0.5 --0.0334941 0.0690232 0.0409338 0.68893 0.5 --0.0324875 0.068969 0.0402984 0.614323 0.390042 --0.0315055 0.0689302 0.0397623 0.557979 0.5 --0.0305029 0.0689001 0.0393777 0.549241 0.5 --0.0295002 0.0688631 0.0391758 0.635452 0.5 --0.0284901 0.0688983 0.0393825 0.715523 0.5 --0.0275554 0.0689002 0.0398598 0.737244 0.5 --0.0264962 0.0690788 0.0415599 0.709994 0.5 -0.0317014 0.117733 0.0199863 0.621015 0.5 -0.0336732 0.115326 0.0207292 0.638417 0.5 --0.0288448 0.124881 0.0180835 0.385817 0.458749 --0.0793976 0.151048 0.0347829 0.347296 0.5 --0.056711 0.153132 0.0293166 0.389791 0.455071 --0.0217893 0.122494 0.0280004 0.466657 0.5 --0.0685258 0.165031 -0.0185494 0.459499 0.5 --0.0669714 0.163891 -0.0179699 0.429758 0.405584 --0.0174958 0.0701523 0.0542792 0.62216 0.5 --0.0164967 0.0701922 0.0547571 0.634825 0.5 --0.0154911 0.0702181 0.054969 0.763105 0.5 --0.0144955 0.0701698 0.0547379 0.809713 0.405276 --0.013497 0.0701643 0.0543951 0.795091 0.5 --0.0124826 0.0701993 0.05486 0.801492 0.404158 --0.0115098 0.0702302 0.0553956 0.79512 0.5 --0.0104698 0.070299 0.0557764 0.77938 0.5 --0.00948303 0.0703233 0.0561585 0.783072 0.5 --0.00849613 0.0703395 0.0565554 0.635767 0.4839 --0.00751 0.070341 0.0568254 0.629938 0.485149 --0.00649809 0.0703887 0.0571625 0.760214 0.5 --0.00549985 0.0703921 0.057296 0.767165 0.5 --0.00450341 0.0703715 0.0573471 0.758565 0.5 --0.0034971 0.0703995 0.0574239 0.714512 0.5 --0.00248857 0.0703789 0.0573235 0.561713 0.485262 --0.00148992 0.070365 0.0570874 0.677466 0.5 --0.000484486 0.0703477 0.056848 0.664277 0.5 -0.000516139 0.0703294 0.0566091 0.655975 0.5 -0.00151372 0.070315 0.0563646 0.622398 0.5 -0.00251449 0.0702821 0.0560425 0.649736 0.5 -0.00350637 0.0702767 0.0558823 0.668607 0.5 -0.00450679 0.0702611 0.0557926 0.703076 0.5 -0.00550295 0.0702783 0.0558582 0.722281 0.5 -0.00650677 0.0702743 0.0558788 0.698123 0.5 -0.0075074 0.0702645 0.0557506 0.678634 0.5 -0.00852018 0.0702413 0.0555324 0.533095 0.481528 -0.00952067 0.0702149 0.0551678 0.532204 0.442156 -0.0185916 0.116689 0.0359263 0.628075 0.5 -0.0174963 0.116768 0.0361173 0.635361 0.5 -0.0155004 0.116786 0.0363781 0.634824 0.398333 -0.0144965 0.116791 0.0366152 0.655465 0.5 -0.0165016 0.116787 0.0362663 0.642478 0.5 -0.0135086 0.116829 0.0366875 0.566548 0.486541 -0.0124993 0.116805 0.0367613 0.573098 0.479607 -0.00449367 0.115547 0.0400425 0.629168 0.5 --0.0781375 0.103077 -0.00856917 0.520423 0.5 --0.0464892 0.117969 0.0304809 0.597182 0.5 --0.0455006 0.117978 0.0306048 0.58427 0.5 --0.0445001 0.117958 0.0308281 0.494956 0.5 --0.0435009 0.117967 0.030956 0.508853 0.5 -0.00349251 0.118288 0.0385113 0.662502 0.5 --0.00649912 0.118331 0.038456 0.678575 0.403013 --0.00548585 0.118301 0.0387556 0.652188 0.412134 --0.0889838 0.099691 0.0193911 0.642739 0.5 --0.0374964 0.119384 0.0304732 0.573759 0.5 --0.0899954 0.135014 0.00922069 0.622462 0.5 --0.0133248 0.129244 0.00909724 0.679139 0.5 --0.0144945 0.115487 0.0386767 0.559065 0.5 --0.0534472 0.146228 0.0234079 0.725948 0.5 --0.0633264 0.159631 -0.0180726 0.455971 0.390754 --0.00847869 0.123725 0.0338017 0.500448 0.5 --0.00947834 0.12371 0.0334225 0.467121 0.5 --0.0886398 0.102364 0.0173768 0.583522 0.485107 --0.0894314 0.137929 0.0371779 0.651389 0.5 -0.0401119 0.105635 0.0181717 0.699617 0.5 --0.0704758 0.123201 0.0533571 0.49286 0.470832 --0.0689448 0.129685 -0.00899835 0.737784 0.5 --0.0745188 0.135846 0.0503978 0.613636 0.448793 --0.0764868 0.144228 0.0448323 0.556218 0.5 -0.0425336 0.0678584 0.0273676 0.54196 0.5 -0.0435793 0.0677809 0.0261624 0.756557 0.5 -0.0445696 0.0677675 0.0254424 0.681665 0.5 -0.0455301 0.0677752 0.0254231 0.520832 0.5 -0.0464982 0.0677769 0.0257597 0.442998 0.5 -0.0474976 0.06778 0.0262203 0.42117 0.5 -0.0484971 0.0678077 0.0264809 0.512602 0.5 -0.0494979 0.0678406 0.0265165 0.460865 0.5 -0.0505072 0.0678423 0.0265215 0.514129 0.5 -0.0515085 0.0678015 0.0264788 0.561274 0.5 -0.0525355 0.0678367 0.0261828 0.479935 0.455535 -0.0535161 0.0677623 0.0259787 0.516245 0.478277 --0.0878641 0.137757 0.00720039 0.555209 0.5 -0.0314293 0.102107 0.036834 0.732194 0.5 -0.044978 0.086159 0.0221711 0.579345 0.5 --0.0574243 0.0613459 0.0260206 0.251786 0.445935 --0.0920426 0.126958 0.0362532 0.806636 0.5 --0.0895466 0.0969995 0.0164128 0.660577 0.5 -0.0408293 0.101363 -0.00180736 0.580134 0.464962 -0.0425261 0.101486 0.00616657 0.564296 0.5 -0.0146203 0.128223 0.0236197 0.487288 0.424656 -0.0120392 0.129427 0.0226627 0.481077 0.44263 --0.0581897 0.157381 0.00697939 0.193967 0.5 --0.00127622 0.127442 0.029403 0.366621 0.408864 -0.0166245 0.122097 0.0315907 0.668067 0.5 --0.0677948 0.160582 -0.0110564 0.349519 0.5 --0.0684622 0.16137 -0.0113077 0.360572 0.398507 --0.0477253 0.135673 0.0140062 0.697814 0.5 --0.0861176 0.152173 0.0250218 0.244488 0.355816 --0.0760712 0.152304 0.0343668 0.377153 0.5 --0.0657288 0.163321 -0.0189522 0.437528 0.469812 --0.0398664 0.104215 -0.0203975 0.821245 0.5 --0.0679463 0.128236 -0.00906158 0.801453 0.5 --0.0570341 0.144219 -0.00185162 0.587671 0.481029 --0.0788514 0.116332 -0.0048797 0.51473 0.5 --0.0208698 0.104444 -0.0228641 0.700356 0.5 --0.0728795 0.116451 -0.00740226 0.381625 0.5 --0.0361905 0.168183 -0.0140562 0.474058 0.5 --0.0719091 0.107919 -0.010771 0.499561 0.5 --0.0427983 0.0884442 -0.0218161 0.58604 0.5 --0.00482566 0.0896201 -0.0359284 0.758717 0.5 --0.00882418 0.0896578 -0.0365764 0.74466 0.5 --0.00782909 0.0896438 -0.0364286 0.757802 0.5 --0.00586693 0.104511 -0.0229142 0.709958 0.5 --0.0651412 0.159482 -0.0565006 0.41682 0.5 --0.00281596 0.0896133 -0.0355773 0.779738 0.5 --0.0679602 0.132601 -0.00851511 0.718843 0.5 --0.0464909 0.0704463 0.0410366 0.602623 0.5 --0.0454832 0.0704956 0.0415155 0.61955 0.485333 --0.0444864 0.070528 0.0418968 0.788741 0.5 --0.0434937 0.0705308 0.0420517 0.788816 0.5 --0.0425054 0.0705013 0.0420152 0.783356 0.5 --0.0414959 0.0705202 0.0419075 0.773624 0.5 --0.040497 0.0705056 0.0418211 0.774351 0.5 --0.0394974 0.0705046 0.0418138 0.784754 0.5 --0.0384971 0.0705176 0.0419076 0.760401 0.5 --0.0374974 0.0705158 0.0419336 0.727697 0.5 --0.0364989 0.0705154 0.0419282 0.7021 0.5 --0.0355056 0.0705073 0.0417804 0.668412 0.5 --0.0345058 0.0704863 0.0415356 0.622824 0.5 --0.0334992 0.0704401 0.0410454 0.555291 0.382779 --0.0325179 0.0704032 0.0404934 0.615998 0.5 --0.0315001 0.070354 0.040029 0.573017 0.5 --0.0304972 0.0703216 0.0396594 0.571387 0.5 --0.0295 0.0703058 0.0395502 0.661082 0.5 --0.0284992 0.0703316 0.0397848 0.748619 0.5 --0.0275703 0.070462 0.0404211 0.747032 0.5 -0.0372544 0.109701 0.0220387 0.652653 0.5 -0.036686 0.110763 0.0218417 0.650569 0.5 --0.0145604 0.127706 0.0231688 0.414552 0.395991 --0.0581309 0.155502 0.017154 0.713054 0.5 -0.0441694 0.0706598 0.0245614 0.461473 0.448797 --0.00523434 0.128086 0.0279795 0.278562 0.5 --0.0710479 0.166372 -0.0194754 0.52891 0.5 --0.0662562 0.163203 -0.0177078 0.433711 0.5 --0.055712 0.155088 0.0136896 0.602795 0.402362 --0.0174765 0.0715932 0.0547125 0.617853 0.5 --0.01652 0.0715906 0.0550352 0.619628 0.477767 --0.0155013 0.0716083 0.0551341 0.75365 0.5 --0.0144862 0.0715775 0.0549247 0.807523 0.390152 --0.0135947 0.071631 0.0548042 0.794669 0.378574 --0.0124587 0.0716774 0.0554083 0.820915 0.401293 --0.0115057 0.0716604 0.0558672 0.787723 0.5 --0.010497 0.0717087 0.0563199 0.758028 0.5 --0.00947284 0.0717726 0.0568611 0.648717 0.5 --0.00848477 0.0718045 0.0573713 0.658796 0.5 --0.0075062 0.071811 0.0576623 0.646329 0.482129 --0.00649113 0.0718493 0.0579775 0.743756 0.5 --0.00549985 0.07185 0.0581365 0.743046 0.5 --0.00450192 0.0718383 0.058171 0.722295 0.5 --0.00349422 0.0718336 0.0581766 0.662917 0.5 --0.00249095 0.0718247 0.0580407 0.637723 0.439477 --0.00148178 0.0718081 0.0578063 0.497408 0.48313 --0.000460653 0.0717499 0.0573883 0.489842 0.460653 -0.000514565 0.0717586 0.0570729 0.598881 0.5 -0.00152573 0.0717149 0.0566366 0.592853 0.5 -0.00252738 0.0716721 0.0561852 0.637821 0.437154 -0.00350574 0.071674 0.0559901 0.648785 0.5 -0.00450108 0.0716864 0.0560951 0.694163 0.5 -0.00550383 0.0716948 0.0562222 0.705134 0.5 -0.00650555 0.0716952 0.056225 0.672987 0.5 -0.00750117 0.0716903 0.0560753 0.65837 0.5 -0.0085198 0.0716538 0.0557746 0.518356 0.5 -0.0095201 0.0716259 0.0554078 0.505573 0.470122 -0.010477 0.116818 0.0374755 0.574402 0.330731 --0.0620027 0.172528 -0.0545971 0.430712 0.5 --0.0734876 0.127439 0.0525898 0.470614 0.481626 --0.00449008 0.116939 0.0397737 0.668393 0.5 --0.00348806 0.11693 0.0398821 0.669654 0.410583 --0.00249086 0.116945 0.0398999 0.648105 0.5 --0.00149467 0.116953 0.0400314 0.673638 0.5 -0.0094903 0.116849 0.0377607 0.554289 0.480625 --0.0519903 0.161388 0.00628165 0.384532 0.45986 --0.0474929 0.163748 0.00542805 0.487308 0.5 --0.0885619 0.129493 0.00323888 0.490801 0.5 --0.0423634 0.121318 -0.0123099 0.602235 0.5 --0.0735068 0.118971 0.0531919 0.701731 0.5 --0.0425043 0.117982 0.0312159 0.541055 0.393421 --0.0405007 0.118003 0.0314814 0.590205 0.5 --0.00749979 0.118315 0.0383098 0.641625 0.412576 --0.0725001 0.120391 0.0535845 0.640083 0.5 --0.0385014 0.119389 0.0303589 0.549452 0.359185 -0.0368255 0.109713 0.0241821 0.529185 0.5 --0.0532846 0.152692 0.0160461 0.554957 0.5 --0.0124987 0.115524 0.0391996 0.587566 0.5 --0.0538929 0.14622 0.0244012 0.738851 0.5 -0.0333375 0.115599 0.0220283 0.622766 0.5 -0.0250594 0.122946 0.0231962 0.578862 0.5 -0.0406194 0.104193 0.00117617 0.464278 0.486967 -0.0381439 0.103967 -0.00387277 0.582411 0.5 --0.0846334 0.108922 0.00436756 0.446226 0.5 --0.0278908 0.0903405 -0.0316075 0.33771 0.5 --0.00240135 0.128537 0.0275513 0.312439 0.366578 -0.042474 0.101514 0.0131646 0.711714 0.5 --0.0744952 0.144184 0.0450216 0.592685 0.363291 --0.0754912 0.144221 0.0449451 0.593512 0.5 --0.0924811 0.125593 0.0372603 0.824129 0.5 -0.0435692 0.0691645 0.0259965 0.702869 0.5 -0.0445518 0.069148 0.0246508 0.6616 0.5 --0.00944135 0.168135 -0.0197365 0.359593 0.5 -0.0421339 0.102871 0.00816377 0.570298 0.5 --0.0627003 0.150649 -0.00857321 0.303576 0.5 -0.0484958 0.0691068 0.025078 0.421856 0.5 -0.0495003 0.0691238 0.025332 0.468718 0.5 --0.0934989 0.122762 0.0122811 0.629644 0.5 -0.0515114 0.0691441 0.0252354 0.444066 0.5 -0.0525192 0.0691267 0.0251103 0.44032 0.478772 --0.0449903 0.16693 -0.00785376 0.413138 0.327414 --0.0513967 0.161204 -0.00381805 0.292939 0.5 --0.0693719 0.180628 -0.057909 0.253404 0.5 --0.0725404 0.162229 -0.0113532 0.304254 0.5 --0.0239518 0.123773 0.0227902 0.369603 0.376859 --0.0204536 0.184888 -0.0139868 0.277604 0.5 -0.0417869 0.088692 -0.00877741 0.616051 0.5 --0.0634206 0.167809 -0.0425955 0.676128 0.5 -0.0275962 0.102142 0.0400686 0.685256 0.5 -0.0262381 0.119658 0.0279158 0.567574 0.5 -0.0241906 0.121901 0.0271611 0.500088 0.5 -0.0178192 0.126124 0.0248053 0.484003 0.5 -0.00583381 0.129313 0.0261699 0.47914 0.446478 --0.0543547 0.158623 0.00837339 0.305558 0.344831 --0.0635975 0.15411 -0.00948093 0.44314 0.360751 --0.0640946 0.155219 -0.00966954 0.547586 0.372708 --0.0664541 0.159015 -0.0105538 0.564501 0.410402 --0.0899696 0.15095 0.0147905 0.20256 0.5 --0.0325959 0.124521 0.0211556 0.458891 0.5 --0.0103882 0.129888 0.00873113 0.703889 0.5 --0.0116527 0.129557 0.00826831 0.692767 0.5 --0.0128512 0.129269 0.0078276 0.690287 0.5 --0.0388642 0.104209 -0.02036 0.820815 0.5 -0.00518099 0.090879 -0.0329112 0.75972 0.5 --0.0192289 0.178619 -0.0235673 0.442383 0.5 --0.0281256 0.165243 -0.0164075 0.847505 0.5 --0.0510936 0.156101 -0.00485677 0.37123 0.419006 --0.0749441 0.129634 -0.00796551 0.42394 0.44361 --0.0767139 0.070678 0.0244626 0.757943 0.5 --0.0564238 0.0718073 0.0399857 0.663356 0.5 --0.0438038 0.0884337 -0.0219011 0.693801 0.5 --0.00986994 0.104508 -0.0232523 0.71177 0.5 -0.0101263 0.107276 -0.0197522 0.580614 0.5 --0.0530851 0.151641 -0.00314317 0.483301 0.5 --0.0709552 0.134052 -0.00817596 0.554761 0.474038 --0.00687105 0.104506 -0.0230032 0.698599 0.5 --0.00186382 0.104504 -0.0225214 0.747293 0.5 --0.0484917 0.0718083 0.0405326 0.738542 0.5 --0.0474992 0.0718408 0.0410603 0.768226 0.5 --0.0464862 0.0718998 0.0415251 0.76752 0.5 --0.0454912 0.0719252 0.0419203 0.668851 0.5 --0.0444999 0.0719382 0.0422118 0.79805 0.5 --0.0434973 0.0719505 0.0423325 0.788132 0.5 --0.0425015 0.0719333 0.0422422 0.771072 0.5 --0.0414982 0.0719267 0.042103 0.763323 0.5 --0.0404967 0.071918 0.0419528 0.765102 0.5 --0.0394983 0.0719214 0.0419294 0.783253 0.5 --0.0384957 0.0719179 0.0419735 0.786048 0.5 --0.0374981 0.0719295 0.0420686 0.755852 0.5 --0.0365004 0.0719314 0.0420432 0.73392 0.5 --0.0354914 0.0719062 0.0418497 0.681038 0.5 --0.0344943 0.0718865 0.0415833 0.610145 0.412435 --0.0334964 0.0718545 0.0411869 0.520649 0.454264 --0.0324962 0.0718107 0.0406773 0.473427 0.5 --0.0315034 0.0717826 0.0402663 0.442065 0.5 --0.0304968 0.071744 0.0399232 0.594766 0.5 --0.0294931 0.0717523 0.039896 0.685932 0.5 --0.0285258 0.0717501 0.0402231 0.770087 0.5 --0.027646 0.071755 0.0409574 0.739914 0.5 --0.00912413 0.125328 0.0309758 0.400751 0.5 --0.0265911 0.123944 0.0203778 0.306352 0.448135 --0.0203273 0.127615 0.0123404 0.520596 0.347885 --0.0175218 0.187118 -0.0194148 0.271878 0.5 --0.047302 0.16443 0.00497116 0.467124 0.5 --0.0693087 0.165593 -0.0188405 0.352017 0.424734 --0.06502 0.161419 -0.0172527 0.438814 0.5 --0.0667865 0.156181 0.0155153 0.802614 0.5 --0.0184625 0.0729785 0.0545802 0.601639 0.5 --0.0174793 0.0730127 0.0550809 0.603951 0.5 --0.0164865 0.0730277 0.0553332 0.741369 0.5 --0.0154933 0.0730227 0.0553537 0.776922 0.5 --0.0145068 0.0730096 0.0554058 0.789118 0.5 --0.0134817 0.073078 0.0557755 0.796921 0.5 --0.0125037 0.0730609 0.0559849 0.775638 0.5 --0.0115028 0.0730832 0.0562182 0.781622 0.5 --0.0104955 0.0731168 0.0565579 0.783607 0.5 --0.00949277 0.073156 0.0570282 0.750122 0.5 --0.00849692 0.0731924 0.0575239 0.615641 0.5 --0.00751646 0.0732149 0.0579299 0.625872 0.485649 --0.00648913 0.0732625 0.0583326 0.612544 0.5 --0.00551998 0.0732424 0.0584734 0.721158 0.5 --0.00449908 0.0732747 0.0586205 0.691016 0.5 --0.0034971 0.0732704 0.0586485 0.64682 0.5 --0.0024916 0.073257 0.0585379 0.598257 0.5 --0.00148369 0.0732377 0.0582942 0.57358 0.5 --0.000474921 0.0732072 0.0579427 0.448503 0.5 -0.000540453 0.0731645 0.0574875 0.450706 0.5 -0.00152589 0.0731231 0.0568629 0.468576 0.410279 -0.00252027 0.0730778 0.0562797 0.592691 0.447904 -0.00350083 0.0730867 0.0562031 0.604071 0.5 -0.00450223 0.0730917 0.0563795 0.656501 0.5 -0.00550411 0.0731036 0.0564845 0.677307 0.5 -0.00650695 0.0731027 0.0564796 0.648428 0.5 -0.00752021 0.073081 0.0562837 0.637036 0.5 -0.00851959 0.0730626 0.056014 0.501383 0.433438 --0.0205044 0.11679 0.0360351 0.503749 0.5 --0.0135132 0.116917 0.0382221 0.683003 0.5 --0.0174998 0.115454 0.0379182 0.554038 0.439799 --0.0134922 0.122339 0.0335983 0.436268 0.5 --0.0711473 0.17507 -0.0540267 0.35996 0.429737 --0.0155327 0.116851 0.0372458 0.562506 0.46135 --0.0145147 0.116898 0.0378441 0.690745 0.5 --0.0124867 0.11689 0.0385307 0.56846 0.5 -0.00249078 0.115545 0.0403845 0.632116 0.449459 --0.0180519 0.128104 0.0102643 0.604541 0.5 --0.0805084 0.121673 0.0499202 0.662828 0.5 --0.0724981 0.121807 0.0536688 0.62499 0.5 -0.014393 0.129494 0.0163965 0.610323 0.471824 --0.0685095 0.148391 0.0402581 0.457406 0.475041 --0.0745085 0.118967 0.0529255 0.591285 0.485886 --0.0414996 0.117985 0.0314618 0.576108 0.5 --0.00850406 0.11834 0.0382239 0.645007 0.5 --0.0714938 0.120397 0.053531 0.61526 0.5 --0.0395052 0.119385 0.0302298 0.550825 0.5 --0.0929753 0.11876 0.0253083 0.826013 0.5 --0.0255852 0.0930492 -0.0306058 0.260626 0.5 --0.0134985 0.11551 0.0389419 0.577769 0.5 --0.0887482 0.102363 0.0163794 0.837743 0.5 --0.0815485 0.124491 0.0516101 0.653566 0.5 -0.0425401 0.0986672 0.000167984 0.554012 0.5 -0.0402375 0.104169 0.000177419 0.562541 0.474295 --0.0626979 0.149033 -0.0165859 0.415531 0.480025 -0.0415042 0.104246 0.00816492 0.560779 0.5 --0.0814657 0.130234 0.0522094 0.467962 0.5 --0.0755086 0.133058 0.0519758 0.57584 0.5 -0.0447855 0.0917675 0.0181585 0.528504 0.5 --0.0774688 0.144183 0.0446652 0.524981 0.5 --0.0838169 0.107636 0.0253505 0.515033 0.5 -0.0416553 0.0900846 -0.00877196 0.520186 0.465622 -0.0435838 0.0705579 0.0258591 0.50799 0.5 --0.011119 0.163582 -0.018751 0.17813 0.5 --0.0588172 0.123244 -0.00816875 0.705753 0.5 --0.052917 0.144693 0.0213981 0.786631 0.5 --0.0944514 0.122808 0.0172688 0.796399 0.311902 -0.0428559 0.0972978 0.0221679 0.638316 0.5 -0.0430852 0.0973049 0.0211625 0.64265 0.5 -0.0441966 0.0973694 0.0101636 0.574255 0.5 --0.000867993 0.104495 -0.0223762 0.584725 0.5 -0.0450144 0.0945871 0.00816469 0.580834 0.5 -0.0448957 0.0945828 0.0101613 0.581145 0.459388 -0.0448731 0.0945767 0.0111579 0.578815 0.5 --0.0735479 0.162209 -0.012171 0.291398 0.5 --0.0393811 0.128131 0.00244283 0.863234 0.5 -0.0337238 0.11401 0.0250189 0.60704 0.476285 --0.019434 0.184905 -0.0153275 0.279577 0.5 --0.0945025 0.125547 0.0202583 0.585568 0.5 -0.00443138 0.126024 0.0314422 0.457047 0.34546 --0.0454976 0.13168 0.014882 0.421128 0.5 --0.0334278 0.124984 0.0208436 0.444321 0.5 --0.000536732 0.10034 0.0474846 0.307462 0.5 -0.0308738 0.115323 0.0282321 0.63537 0.5 -0.0320582 0.11345 0.0286813 0.668829 0.5 -0.0326073 0.112448 0.0288842 0.684635 0.5 --0.0439578 0.12961 0.0140149 0.513251 0.5 --0.0631406 0.152896 -0.00931447 0.319189 0.5 --0.0732189 0.155097 0.0278276 0.83238 0.5 --0.0102548 0.179004 -0.0295955 0.26918 0.5 --0.0718118 0.14996 0.0389054 0.430392 0.5 --0.00805064 0.130356 0.00959263 0.711291 0.5 --0.0091854 0.130144 0.00917512 0.713524 0.5 --0.0543656 0.153368 0.0199938 0.435783 0.5 --0.0654224 0.156324 0.0217941 0.651221 0.5 -0.00418461 0.0908826 -0.0329329 0.72343 0.5 -0.00317447 0.0908801 -0.0331491 0.724217 0.5 --0.0619388 0.0647772 0.0309092 0.49936 0.45677 --0.0538047 0.0884108 -0.022116 0.697464 0.5 --0.0528013 0.0884055 -0.0219839 0.75515 0.5 --0.051798 0.0884029 -0.0218862 0.777048 0.5 --0.0585008 0.0732388 0.0410714 0.699327 0.5 --0.0574944 0.0732758 0.0411576 0.690379 0.5 --0.0564978 0.0732565 0.0410435 0.679393 0.5 --0.0553906 0.073233 0.0409139 0.725496 0.5 --0.0544961 0.0732542 0.0409056 0.742057 0.5 --0.0534972 0.0732542 0.0410474 0.757807 0.5 --0.0523543 0.073291 0.0414729 0.727079 0.5 --0.0513529 0.0733082 0.0416893 0.708247 0.5 --0.0504955 0.0733248 0.0417999 0.680321 0.5 --0.0495043 0.073253 0.0416255 0.696934 0.5 --0.0485008 0.0732772 0.0415918 0.733427 0.5 --0.0475077 0.0732702 0.0416223 0.738332 0.5 --0.0464944 0.0733156 0.0418074 0.761929 0.5 --0.0454969 0.0733342 0.042072 0.769629 0.5 --0.0444884 0.0733739 0.0424053 0.766153 0.5 --0.0434944 0.0733818 0.0425428 0.789821 0.5 --0.0424965 0.0733822 0.0425454 0.779205 0.5 --0.0415001 0.0733705 0.042415 0.758539 0.5 --0.0404948 0.0733395 0.0422389 0.763649 0.5 --0.0395018 0.0733502 0.0421461 0.758596 0.5 --0.0384993 0.0733372 0.0420402 0.777838 0.5 --0.0374936 0.0733328 0.0420467 0.770797 0.410856 --0.0364993 0.0733348 0.0420574 0.75601 0.5 --0.0354954 0.0733233 0.0419636 0.709258 0.5 --0.0344935 0.0733008 0.0417052 0.632025 0.5 --0.0335401 0.0732865 0.0413362 0.56097 0.344933 --0.0325067 0.0732308 0.0407775 0.508377 0.5 --0.0315215 0.0732244 0.0404306 0.494713 0.5 --0.030493 0.0731979 0.0402297 0.663608 0.5 --0.0294789 0.0732089 0.0403736 0.753299 0.5 --0.02858 0.0731702 0.040795 0.775591 0.5 --0.0274573 0.0734015 0.0426855 0.722085 0.5 --0.0177178 0.125534 0.0250034 0.371711 0.411475 --0.0650198 0.154365 0.0307072 0.881158 0.5 -0.0117574 0.130329 0.0182774 0.748344 0.5 --0.0460993 0.132381 0.0175967 0.602683 0.5 --0.0701684 0.165994 -0.0191552 0.341766 0.443754 --0.0644192 0.16051 -0.0170316 0.468331 0.395887 -0.00440154 0.12483 0.0329119 0.512333 0.5 --0.0887181 0.123977 0.00228597 0.486045 0.355731 --0.0184891 0.0743773 0.0548673 0.607912 0.5 --0.0174978 0.0744121 0.0553624 0.616605 0.5 --0.0164935 0.0744329 0.0555937 0.645883 0.475075 --0.0154906 0.0744572 0.0558178 0.648699 0.479458 --0.0144845 0.0744882 0.056153 0.647341 0.5 --0.0134963 0.0744967 0.0564394 0.788306 0.5 --0.0124992 0.0745024 0.0565746 0.786907 0.5 --0.0114929 0.0745162 0.0566704 0.791265 0.5 --0.0105044 0.0745085 0.0567054 0.78605 0.5 --0.00951606 0.0745243 0.0569833 0.774863 0.5 --0.00849476 0.0745791 0.0575173 0.723977 0.5 --0.00751948 0.0746046 0.0579524 0.713982 0.5 --0.00651495 0.0746355 0.058305 0.589412 0.438386 --0.00551889 0.0746529 0.0585785 0.678647 0.450838 --0.00450103 0.0746726 0.0587526 0.654754 0.448793 --0.00349992 0.0746709 0.0587938 0.619114 0.5 --0.00249354 0.0746702 0.0587588 0.579146 0.5 --0.00149257 0.0746611 0.0586297 0.55978 0.5 --0.000472995 0.0746288 0.0583091 0.533549 0.5 -0.000529964 0.0745913 0.0578265 0.523043 0.5 -0.00152786 0.0745369 0.0570999 0.511934 0.460145 -0.00251466 0.0744821 0.0563666 0.691255 0.5 -0.00350858 0.074484 0.056374 0.559826 0.5 -0.00450201 0.0745047 0.0565768 0.603411 0.5 -0.00550174 0.0745058 0.0566062 0.600123 0.5 -0.00650523 0.0745046 0.0565842 0.612782 0.5 -0.00750123 0.074495 0.0564449 0.610387 0.5 -0.00849936 0.0744764 0.056192 0.586512 0.5 --0.0285061 0.116641 0.0323888 0.575232 0.5 --0.0195037 0.11681 0.0364149 0.544917 0.5 -0.00549638 0.115538 0.0397987 0.625637 0.5 --0.01852 0.115493 0.0376203 0.546467 0.422572 --0.0164901 0.115444 0.0380258 0.566245 0.5 --0.0185046 0.116829 0.0366774 0.587168 0.5 --0.0175094 0.116845 0.0368185 0.568664 0.5 --0.0165066 0.11684 0.0369313 0.550762 0.5 -0.00149278 0.115548 0.0405079 0.640736 0.5 -0.000499429 0.115573 0.0406664 0.633442 0.5 -0.00237701 0.131635 0.0162813 0.684083 0.5 -0.00049871 0.116947 0.0399069 0.685174 0.5 -0.00149552 0.116934 0.0397718 0.661936 0.5 --0.0663081 0.150341 0.0377708 0.484034 0.446592 --0.0755221 0.11896 0.0528247 0.601767 0.5 --0.031497 0.117989 0.0308563 0.569633 0.5 --0.00949582 0.118295 0.0381649 0.627884 0.5 --0.0704838 0.120388 0.0533274 0.596026 0.449542 --0.0404957 0.119327 0.0301663 0.535454 0.5 --0.061806 0.172532 -0.0555873 0.422031 0.469043 --0.0414124 0.128336 0.00169512 0.854554 0.5 --0.0276791 0.155231 -0.00339809 0.139755 0.329034 --0.0610765 0.167736 -0.0598039 0.358909 0.45373 --0.0805286 0.124537 0.0519983 0.659772 0.5 -0.00750154 0.123796 0.0339733 0.542916 0.5 --0.0870357 0.141902 0.00919077 0.583528 0.5 --0.093713 0.126863 0.0152623 0.762794 0.5 -0.0309797 0.118122 0.0225615 0.579705 0.5 --0.0379623 0.174733 -0.00453553 0.257223 0.223032 --0.0764978 0.13308 0.0521415 0.586426 0.45083 --0.0735123 0.142806 0.0460464 0.63179 0.5 --0.0784392 0.144133 0.0443751 0.410039 0.477601 -0.0420841 0.090131 -0.00780186 0.429461 0.5 -0.0251411 0.10209 0.0417928 0.702675 0.5 -0.0137177 0.0926941 0.0515916 0.523615 0.474148 --0.0628077 0.166262 -0.0415912 0.668963 0.5 --0.0633942 0.159878 -0.0495887 0.70746 0.5 -0.0435886 0.091694 0.0241609 0.60696 0.5 -0.0371007 0.10968 0.00116733 0.516602 0.481774 --0.0897565 0.140652 0.029182 0.696245 0.5 --0.0263202 0.0930635 -0.029586 0.271139 0.5 --0.0744578 0.144386 -0.00789461 0.417075 0.5 -0.0440694 0.0973609 0.0121636 0.562386 0.5 -0.0440256 0.0973461 0.0131583 0.558007 0.5 -0.0441637 0.0973591 0.0111613 0.565941 0.5 -0.0366972 0.106807 -0.00382741 0.470315 0.5 --0.00549411 0.130838 0.0134037 0.694089 0.5 --0.0724136 0.156792 -0.00114359 0.283738 0.344761 --0.0235762 0.184403 -0.0123621 0.166659 0.5 --0.0940215 0.120122 0.0233001 0.747966 0.5 --0.0672387 0.155112 0.00519073 0.843631 0.5 --0.075576 0.155851 0.0124034 0.741047 0.267716 --0.0550812 0.153793 0.0226168 0.511987 0.5 -0.0282931 0.118599 0.0272385 0.587714 0.347558 --0.0395373 0.172163 -0.000837254 0.420821 0.5 --0.0579073 0.152669 0.031812 0.391488 0.5 --0.0752191 0.155599 0.0242023 0.807369 0.5 -0.00976243 0.126251 0.030462 0.431093 0.480926 --0.0453894 0.130637 0.0193744 0.541467 0.5 --0.00449056 0.130995 0.0108991 0.721088 0.5 --0.00563766 0.13083 0.0104776 0.719137 0.5 --0.00684325 0.130599 0.0100344 0.716614 0.5 --0.0353577 0.174409 -0.00212011 0.350165 0.43602 --0.00926648 0.100073 0.0477845 0.295763 0.5 --0.0174382 0.127681 0.00469302 0.708401 0.5 --0.0186888 0.127303 0.00423263 0.70046 0.5 --0.0799097 0.0706493 0.0132254 0.5669 0.5 --0.0910478 0.113254 0.017639 0.672702 0.381749 --0.062494 0.0746373 0.0407954 0.610448 0.476331 --0.061487 0.0746791 0.0411579 0.615356 0.474952 --0.0604756 0.0747304 0.0414998 0.634349 0.5 --0.0594953 0.0747194 0.0418121 0.647273 0.5 --0.058489 0.0747585 0.0420339 0.765686 0.5 --0.0574953 0.0747475 0.0420563 0.752774 0.5 --0.056498 0.07472 0.0419593 0.736126 0.5 --0.0554996 0.0746996 0.0418498 0.748664 0.5 --0.0544977 0.0747139 0.0418232 0.754001 0.5 --0.0534934 0.0747559 0.0420439 0.772919 0.5 --0.0524951 0.0747684 0.0423102 0.774603 0.5 --0.0514866 0.0748352 0.0426181 0.744714 0.5 --0.050496 0.074792 0.0427038 0.711667 0.5 --0.049499 0.0747526 0.0426395 0.674446 0.5 --0.0484939 0.0747239 0.0424157 0.686338 0.444172 --0.0474977 0.0747299 0.0422594 0.699625 0.5 --0.0464974 0.074738 0.042075 0.715238 0.5 --0.0454927 0.0747515 0.0421648 0.730762 0.5 --0.0444968 0.0747696 0.0424527 0.722661 0.5 --0.0434927 0.0747943 0.0426652 0.752035 0.5 --0.0424937 0.0748068 0.0427898 0.784319 0.5 --0.0414978 0.0748079 0.0427759 0.778035 0.5 --0.0404951 0.0747761 0.0426102 0.72256 0.5 --0.0394923 0.074754 0.042367 0.730587 0.5 --0.038499 0.0747376 0.0420783 0.739629 0.5 --0.0374985 0.0747273 0.041938 0.748994 0.5 --0.0364949 0.0747255 0.0419725 0.742634 0.5 --0.0354986 0.0747267 0.0419454 0.689177 0.5 --0.0345032 0.0747169 0.0417978 0.606964 0.5 --0.0335027 0.074683 0.04142 0.541615 0.5 --0.032492 0.0746402 0.0409516 0.493903 0.5 --0.0314973 0.0746234 0.0406619 0.657701 0.5 --0.0304795 0.0746468 0.0405648 0.76041 0.5 --0.0295455 0.0745738 0.040676 0.838149 0.5 --0.0287306 0.074519 0.0412207 0.724412 0.5 --0.0690929 0.156328 0.0219534 0.622551 0.5 --0.0569847 0.153801 0.0277423 0.984723 0 --0.0388249 0.122181 0.0278208 0.375296 0.5 --0.0894432 0.151569 0.0164701 0.213661 0.405957 --0.0631219 0.156103 0.0153645 0.820998 0.5 --0.0166094 0.128602 0.0136868 0.533064 0.5 --0.0678285 0.156225 0.0151421 0.813141 0.5 --0.0154583 0.128246 0.0199229 0.321522 0.434317 --0.0194809 0.0757644 0.0547346 0.596344 0.5 --0.0185025 0.0757876 0.0552584 0.598211 0.5 --0.0175019 0.0758159 0.0556202 0.609649 0.5 --0.0164937 0.0758406 0.0558352 0.636318 0.48371 --0.0154881 0.0758696 0.0561745 0.652279 0.5 --0.0144819 0.0759021 0.0565083 0.657843 0.5 --0.0134956 0.0759117 0.0568004 0.662839 0.5 --0.0125098 0.0759113 0.0569785 0.78747 0.5 --0.0114916 0.0759418 0.0571389 0.791119 0.5 --0.010501 0.0759377 0.0571751 0.798823 0.5 --0.00950387 0.075936 0.0571919 0.765285 0.5 --0.00851553 0.0759427 0.057359 0.739929 0.5 --0.00751182 0.075985 0.0578234 0.714098 0.5 --0.00651273 0.0760152 0.058184 0.687302 0.5 --0.00550346 0.076042 0.0585145 0.652534 0.5 --0.00451238 0.0760575 0.0586977 0.625362 0.5 --0.00350074 0.0760658 0.0587997 0.595749 0.5 --0.00249266 0.0760635 0.0587913 0.580431 0.5 --0.00148881 0.0760516 0.0586512 0.580998 0.5 --0.000477761 0.0760312 0.0584165 0.556304 0.483315 -0.000516136 0.0760027 0.0580883 0.454091 0.433456 -0.00152343 0.0759482 0.0573355 0.420709 0.5 -0.00252933 0.0758769 0.0564116 0.530955 0.477277 -0.00350533 0.0758855 0.0563752 0.533874 0.477787 -0.00450914 0.0758818 0.0564153 0.546564 0.5 -0.00550249 0.0758881 0.0564988 0.57235 0.447419 -0.00650569 0.075888 0.056486 0.592374 0.5 -0.00750673 0.0758763 0.0563548 0.490111 0.486455 -0.00851655 0.0758606 0.0561295 0.572996 0.5 -0.00950453 0.0758273 0.0557308 0.465094 0.477391 --0.00149487 0.115594 0.0408235 0.654863 0.5 --0.00348845 0.115565 0.0406522 0.637838 0.5 --0.0264982 0.113889 0.035131 0.480727 0.5 --0.00549555 0.115561 0.0401898 0.653037 0.5 --0.0295006 0.116619 0.032366 0.584644 0.5 --0.0305006 0.116618 0.0322439 0.594307 0.5 --0.0325031 0.116645 0.0321616 0.621597 0.5 --0.0335001 0.116617 0.0321346 0.65774 0.387951 -0.0064767 0.115498 0.0396093 0.642406 0.5 --0.0114976 0.116917 0.038689 0.599405 0.447521 --0.00947746 0.116894 0.0392479 0.620585 0.427756 --0.000499113 0.11695 0.0400287 0.679951 0.5 --0.0866178 0.151117 0.0269024 0.297002 0.406371 --0.0895137 0.135181 0.0391853 0.647861 0.466045 --0.0304982 0.117934 0.0308066 0.551981 0.5 --0.0135115 0.118298 0.0374588 0.622068 0.5 --0.0694862 0.120387 0.0531587 0.557514 0.5 --0.041505 0.119362 0.0299569 0.493403 0.5 --0.016864 0.128415 0.0107007 0.593624 0.5 --0.0635616 0.174109 -0.0525858 0.521868 0.467642 -0.0127826 0.0926962 0.0520031 0.526047 0.470869 --0.0635173 0.159862 -0.0515858 0.691143 0.5 --0.0795325 0.124539 0.0521412 0.658609 0.5 -0.00650419 0.123782 0.0339598 0.550636 0.5 -0.0393973 0.0899152 -0.0117774 0.676152 0.5 --0.0708312 0.0951391 -0.0158707 0.504359 0.5 --0.0251882 0.121015 0.0283088 0.413515 0.319607 --0.00359581 0.130946 0.00835725 0.739156 0.5 --0.0745085 0.13306 0.0516401 0.555357 0.5 --0.0725374 0.138625 0.0483183 0.621565 0.471286 --0.0170948 0.127006 0.022289 0.308724 0.5 --0.0623314 0.0357831 0.0433788 0.532543 0.5 -0.0409333 0.0900371 -0.0097907 0.53675 0.5 --0.0556334 0.121157 -0.00996616 0.523608 0.5 --0.0424949 0.168218 0.00285877 0.400386 0.5 --0.0934681 0.120116 0.0253121 0.834011 0.5 -0.0414143 0.104258 0.0111621 0.697391 0.5 --0.0888835 0.0983415 0.0204012 0.694496 0.5 --0.0855696 0.139064 0.00222203 0.491944 0.5 --0.0617185 0.155298 -0.026582 0.721546 0.5 --0.0748917 0.16378 -0.0359985 0.458525 0.324439 --0.0939853 0.126886 0.0172543 0.774183 0.5 --0.049095 0.140149 0.0113941 0.657159 0.5 --0.048723 0.166988 -0.000980568 0.322064 0.5 --0.0484929 0.162245 0.00645185 0.493549 0.5 --0.0195101 0.114089 0.03835 0.551557 0.5 -0.0405338 0.105622 0.0141627 0.697034 0.5 --0.0713739 0.162409 -0.0439557 0.365011 0.420984 --0.0636484 0.15559 0.00937973 0.767035 0.5 --0.0172476 0.12413 0.0281151 0.53666 0.5 -0.0261502 0.120654 0.0264581 0.524179 0.5 --0.0384621 0.172216 -0.000421117 0.313502 0.478032 --0.0162799 0.127645 0.0211086 0.294292 0.44608 --0.0267774 0.122204 0.0247423 0.41915 0.5 --0.0757916 0.155001 0.00503825 0.318509 0.5 --0.00219357 0.131295 0.0117423 0.743237 0.5 --0.00334167 0.13115 0.0113211 0.729835 0.5 --0.0388302 0.173903 -0.00342781 0.347584 0.5 --0.0375897 0.174214 -0.00298303 0.37566 0.5 --0.0364509 0.174337 -0.00256774 0.338622 0.5 --0.014877 0.12853 0.00563728 0.695305 0.5 --0.016194 0.128088 0.0051496 0.680776 0.5 --0.000691629 0.100255 0.0478272 0.312259 0.5 --0.0746238 0.166812 -0.0222329 0.256887 0.338578 --0.0628076 0.0881622 -0.0190458 0.649547 0.5 --0.0634812 0.0760895 0.041143 0.617101 0.5 --0.0624979 0.0760891 0.0414437 0.640686 0.5 --0.0614823 0.0761372 0.0417782 0.648764 0.487507 --0.0604976 0.0761414 0.0420756 0.646746 0.5 --0.0594928 0.0761776 0.0424443 0.78655 0.5 --0.0584967 0.0761953 0.0427061 0.778459 0.5 --0.057498 0.0762057 0.0428357 0.778207 0.5 --0.0564973 0.0762116 0.0428205 0.761591 0.5 --0.055499 0.0761852 0.0427309 0.741243 0.5 --0.054499 0.0761691 0.0426143 0.761168 0.5 --0.0534988 0.0761753 0.0426023 0.779203 0.5 --0.0524919 0.0762203 0.042799 0.800386 0.5 --0.0514919 0.076238 0.0430598 0.762472 0.5 --0.0505002 0.0762293 0.0432414 0.725091 0.5 --0.0494979 0.0762481 0.043343 0.694304 0.5 --0.0484988 0.0762375 0.0432182 0.654069 0.5 --0.0474967 0.0761987 0.0428659 0.649935 0.463432 --0.0464963 0.076159 0.0423522 0.659541 0.5 --0.0454972 0.0761548 0.042184 0.676337 0.5 --0.0444942 0.0761733 0.0424299 0.66632 0.5 --0.0434831 0.0762058 0.0427502 0.69239 0.5 --0.042485 0.0762268 0.0429934 0.751965 0.5 --0.0414957 0.0762285 0.0430404 0.7743 0.5 --0.0405031 0.0762353 0.0429954 0.731059 0.5 --0.0394998 0.076195 0.0426907 0.698842 0.5 --0.0385157 0.0761871 0.0423388 0.70162 0.5 --0.0375015 0.0761535 0.0421853 0.697975 0.5 --0.0365028 0.0761422 0.0420368 0.671789 0.5 --0.0355049 0.076131 0.0419036 0.619644 0.404776 --0.0345095 0.0761212 0.0417709 0.567137 0.5 --0.0335058 0.0760991 0.0415371 0.502514 0.5 --0.0325056 0.0760815 0.0412743 0.605096 0.5 --0.0314965 0.0760483 0.040909 0.698725 0.5 --0.0305089 0.0760274 0.0408429 0.823995 0.5 --0.0296253 0.0759773 0.0411397 0.854451 0.5 --0.0720629 0.166594 -0.0198059 0.38633 0.416991 --0.0730865 0.16659 -0.0202232 0.284645 0.408701 --0.0743971 0.166132 -0.0206985 0.23448 0.398558 --0.0080847 0.125292 0.0313586 0.409267 0.5 --0.0178664 0.12824 0.013233 0.521421 0.5 --0.0638466 0.159519 -0.0168205 0.519334 0.5 --0.0335771 0.177292 -0.00581839 0.333028 0.5 --0.0810787 0.154935 0.0192662 0.458827 0.5 --0.0204558 0.0772045 0.0549311 0.595703 0.4544 --0.0194892 0.0771957 0.0553527 0.722227 0.5 --0.018487 0.0772258 0.0557066 0.749534 0.5 --0.0174998 0.0772311 0.0559767 0.738034 0.5 --0.0165098 0.0772307 0.0561424 0.758826 0.5 --0.0154942 0.0772732 0.0564359 0.763383 0.5 --0.0144972 0.0772805 0.0565653 0.775864 0.5 --0.0134941 0.0773082 0.0569169 0.771401 0.5 --0.0125077 0.0773203 0.0572074 0.636961 0.5 --0.0115193 0.0773584 0.0574493 0.646314 0.47999 --0.0105025 0.0773598 0.0576687 0.757392 0.5 --0.00950395 0.0773592 0.0576807 0.731882 0.5 --0.00849865 0.0773628 0.0576515 0.70632 0.5 --0.00749863 0.0773617 0.0576592 0.721617 0.5 --0.00650962 0.0773868 0.0579538 0.694588 0.449721 --0.00550708 0.0774167 0.0583085 0.528008 0.46652 --0.0045144 0.0774415 0.0584948 0.502489 0.469214 --0.00350236 0.0774419 0.0585703 0.584514 0.46618 --0.00249513 0.0774404 0.0585569 0.718503 0.5 --0.00149233 0.077429 0.0585147 0.69926 0.5 --0.000475449 0.077417 0.0583222 0.532687 0.5 -0.000533962 0.0773889 0.0579724 0.532574 0.5 -0.00152141 0.0773467 0.0574533 0.670931 0.5 -0.00250507 0.0772798 0.0565792 0.908425 0.5 -0.00352032 0.0772514 0.0561756 0.670652 0.5 -0.00450615 0.0772491 0.0561317 0.574418 0.5 -0.00550075 0.0772523 0.0562045 0.489858 0.5 -0.0065091 0.0772612 0.0561769 0.494801 0.481635 -0.00750831 0.0772509 0.056126 0.61244 0.5 -0.00850648 0.0772375 0.0559821 0.481948 0.5 -0.00950521 0.0772084 0.0556135 0.472575 0.453673 --0.0394943 0.116662 0.0325452 0.637307 0.5 --0.00248723 0.115552 0.0407434 0.656947 0.5 --0.0275013 0.113896 0.0350206 0.542904 0.5 --0.0285016 0.113902 0.0349068 0.57611 0.5 --0.00449865 0.115591 0.0404715 0.64048 0.5 --0.0384792 0.116679 0.0322191 0.655225 0.416617 --0.0374929 0.116616 0.0320198 0.672488 0.5 --0.0364958 0.116629 0.0319219 0.671198 0.5 --0.0314993 0.116609 0.0322344 0.608179 0.5 --0.0255237 0.116678 0.0329121 0.47602 0.5 --0.0104786 0.116885 0.0389916 0.622674 0.428257 -0.00249558 0.116934 0.0396534 0.652829 0.5 -0.0425837 0.100055 0.002186 0.535082 0.5 --0.0255703 0.121939 -0.00698176 0.52669 0.5 -0.0378536 0.10688 -0.000832307 0.550839 0.5 --0.0145239 0.118305 0.0371093 0.634903 0.5 --0.0684871 0.120374 0.0527878 0.679757 0.5 --0.0434968 0.119301 0.0295385 0.455703 0.5 -0.00128405 0.131584 0.0158806 0.633778 0.336168 --0.0615895 0.155312 -0.0215829 0.443336 0.5 -0.0394741 0.102755 0.0261825 0.630131 0.5 --0.0839185 0.112898 0.00127069 0.442779 0.447255 --0.0785283 0.124553 0.0522615 0.687629 0.5 -0.00550365 0.123767 0.0339438 0.576231 0.5 --0.08472 0.111015 0.033569 0.745977 0.5 --0.0944357 0.121484 0.0222838 0.68769 0.5 --0.0804698 0.130248 0.0526854 0.414549 0.5 -0.0227948 0.124775 0.0223512 0.405864 0.5 --0.0755038 0.138646 0.0489499 0.592622 0.5 --0.0735163 0.138649 0.0485985 0.623012 0.5 -0.0152822 0.129138 0.0167187 0.608255 0.5 --0.0696939 0.158144 -0.0499358 0.360984 0.5 --0.0708234 0.155869 0.0257344 0.508414 0.5 --0.0861178 0.0953813 0.000442214 0.479894 0.5 --0.0365035 0.168234 0.000585726 0.485881 0.5 --0.061968 0.159998 -0.0366167 0.427869 0.464762 --0.0380638 0.174118 -0.00995608 0.348298 0.5 -0.0319925 0.114417 -0.00326976 0.643727 0.467426 -0.0364319 0.108205 -0.00282023 0.450213 0.464638 -0.0368294 0.108237 -0.00182731 0.525992 0.5 --0.0855607 0.111744 0.0263451 0.595923 0.5 --0.00398687 0.126095 0.0313534 0.40356 0.427605 --0.00305215 0.125834 0.0316944 0.416036 0.372714 --0.0185368 0.123815 0.0276913 0.467387 0.328327 -0.0247646 0.122114 0.0259409 0.493996 0.5 -0.0105257 0.123354 0.0336723 0.554298 0.5 --0.0591073 0.155657 0.0168017 0.723016 0.330994 -0.00543597 0.131652 0.0145423 0.78822 0.5 -0.00440907 0.131695 0.0141669 0.78761 0.5 --0.0417745 0.172541 -0.00446528 0.193335 0.5 --0.0401847 0.173392 -0.00391542 0.254527 0.210398 --0.0111714 0.129564 0.00700207 0.699612 0.5 --0.012432 0.12921 0.00653602 0.698953 0.5 --0.0136228 0.128915 0.00609854 0.697792 0.5 --0.0723372 0.156305 0.0208189 0.495317 0.413864 --0.0630381 0.154049 0.0314099 0.894299 0.5 --0.046713 0.131987 0.00556897 0.500322 0.477863 --0.0121811 0.0984293 0.0498089 0.251688 0.406801 --0.0645013 0.0774777 0.0413253 0.758028 0.5 --0.0634962 0.0775171 0.0416907 0.783635 0.5 --0.0624928 0.0775409 0.0419345 0.799024 0.5 --0.0614832 0.0775692 0.0421583 0.801201 0.5 --0.06047 0.0776106 0.0424994 0.788803 0.5 --0.059475 0.0776368 0.0428908 0.652547 0.5 --0.0584858 0.0776493 0.0431837 0.797171 0.5 --0.0574976 0.0776487 0.0433498 0.786196 0.5 --0.0564979 0.0776594 0.043476 0.77665 0.5 --0.0554974 0.0776601 0.0434775 0.753471 0.5 --0.054499 0.0776179 0.0432703 0.741459 0.5 --0.0534984 0.0776159 0.0431279 0.772418 0.5 --0.0524939 0.0776533 0.0431774 0.776474 0.5 --0.051497 0.0776631 0.0434639 0.759382 0.5 --0.0504985 0.0776737 0.0437561 0.703405 0.5 --0.0494972 0.0776899 0.0438666 0.676478 0.5 --0.0484929 0.0776741 0.0437591 0.641818 0.5 --0.0474977 0.0776489 0.0433419 0.780538 0.5 --0.0465092 0.0776139 0.042786 0.595352 0.477918 --0.0454968 0.0775542 0.0422104 0.642995 0.5 --0.0444848 0.0775765 0.0423436 0.617588 0.385936 --0.0434863 0.0776041 0.0427475 0.653782 0.5 --0.0424851 0.0776249 0.0430145 0.688779 0.5 --0.0414935 0.0776367 0.0431734 0.735643 0.5 --0.0404979 0.0776396 0.043177 0.719384 0.5 --0.0395047 0.0776369 0.0429957 0.712711 0.5 --0.0385096 0.0776202 0.0427509 0.69216 0.5 --0.0375072 0.0775843 0.0424046 0.684198 0.5 --0.0365126 0.077567 0.0421306 0.62458 0.5 --0.0355104 0.0775398 0.0419002 0.575057 0.5 --0.0345086 0.0775176 0.0416541 0.520296 0.5 --0.0335034 0.0774945 0.0414157 0.473737 0.5 --0.0324932 0.0774699 0.0412179 0.633247 0.374981 --0.0314795 0.0774889 0.0410863 0.731202 0.5 --0.030561 0.0774145 0.0410957 0.843262 0.5 --0.0296666 0.0774462 0.0418826 0.771067 0.5 --0.0714969 0.156283 0.0152923 0.70256 0.5 --0.0688653 0.0860793 0.0429202 0.59211 0.5 --0.066692 0.1555 0.0271809 0.902663 0.5 --0.0797525 0.15498 0.0124103 0.695105 0.5 --0.0656284 0.162324 -0.0174746 0.401554 0.5 --0.0322885 0.177691 -0.00536129 0.284689 0.273501 --0.0929984 0.129612 0.0152364 0.781723 0.5 --0.0913439 0.11607 0.03131 0.438266 0.5 --0.0204762 0.0786229 0.0556935 0.579571 0.477226 --0.0194871 0.0786419 0.0560662 0.574054 0.5 --0.018505 0.0786406 0.056357 0.712433 0.5 --0.0174935 0.0786826 0.056671 0.680868 0.5 --0.0164906 0.0786958 0.056769 0.726636 0.5 --0.0155011 0.0786732 0.0567092 0.739894 0.5 --0.0144971 0.0786767 0.0566892 0.749847 0.5 --0.0134995 0.0786948 0.0569449 0.754471 0.418999 --0.012498 0.078722 0.0572931 0.73794 0.5 --0.011501 0.0787467 0.0576654 0.741287 0.5 --0.0105236 0.0787711 0.0579243 0.628385 0.47517 --0.00949762 0.078776 0.0580091 0.708402 0.5 --0.00849993 0.0787667 0.0579153 0.677711 0.5 --0.00750217 0.0787518 0.0577101 0.689347 0.5 --0.00650833 0.0787624 0.0577507 0.676661 0.5 --0.00550703 0.0787847 0.0579843 0.63849 0.5 --0.00451076 0.0788064 0.0581316 0.585043 0.484066 --0.00350137 0.0788045 0.0582113 0.471245 0.5 --0.00249775 0.0787967 0.0582683 0.54812 0.5 --0.00149388 0.0787876 0.0581499 0.528661 0.5 --0.000483407 0.0787781 0.0579546 0.526961 0.5 -0.000523827 0.0787529 0.057707 0.664555 0.469546 -0.00153616 0.078717 0.0572683 0.703976 0.5 -0.00252455 0.078679 0.0567626 0.67163 0.5 -0.00352005 0.0786345 0.0561775 0.950529 0.5 -0.00451349 0.0786214 0.0559314 0.57749 0.5 -0.00550646 0.078617 0.0558754 0.604722 0.451878 -0.00651017 0.0786147 0.0558016 0.613889 0.453483 -0.0075079 0.0786108 0.055765 0.494807 0.5 -0.00850767 0.0786 0.0556334 0.593864 0.5 -0.00950687 0.0785812 0.0553914 0.493585 0.5 -0.0175012 0.11539 0.036772 0.655821 0.5 -0.0135076 0.115425 0.0371825 0.690621 0.5 --0.0295052 0.113904 0.0347936 0.598652 0.5 --0.0325124 0.113906 0.0343195 0.605726 0.5 -0.00348766 0.115539 0.0402625 0.638231 0.5 --0.00749303 0.115552 0.0402888 0.644296 0.5 --0.0435047 0.116629 0.0323741 0.56331 0.5 --0.0354976 0.116636 0.0319301 0.678147 0.5 --0.0344972 0.116614 0.0320154 0.661506 0.389988 --0.0245528 0.116739 0.0335827 0.433929 0.439233 --0.00548676 0.116904 0.0394711 0.67131 0.412777 -0.00349012 0.116915 0.0395094 0.6144 0.5 -0.0376424 0.109732 0.0031582 0.629935 0.5 --0.0853981 0.109039 0.0213496 0.698028 0.5 --0.0255191 0.118043 0.0319974 0.458716 0.420546 --0.0124889 0.118271 0.037774 0.513222 0.5 --0.0764848 0.142819 0.0460732 0.56473 0.363675 --0.0444963 0.119293 0.0294103 0.581998 0.5 -0.00495998 0.131626 0.0157979 0.756854 0.298541 --0.0773727 0.156953 -0.0129034 0.890926 0.5 -0.038604 0.108395 0.0191762 0.71573 0.5 --0.0455019 0.122005 0.0261109 0.629569 0.5 --0.0775213 0.124569 0.0523637 0.694733 0.5 -0.00450339 0.123789 0.033846 0.569896 0.5 --0.0497701 0.140145 0.0153991 0.761861 0.5 --0.0884159 0.102321 0.0103913 0.748126 0.5 --0.079509 0.130274 0.0528999 0.441941 0.480342 -0.00747725 0.131195 0.0181386 0.701441 0.332834 --0.0745142 0.138634 0.0488155 0.611273 0.444598 -0.00214512 0.131665 0.0104804 0.757257 0.5 --0.0171987 0.127433 0.00332106 0.688399 0.5 --0.07951 0.149797 0.0367578 0.411444 0.5 --0.0336421 0.175583 -0.0129563 0.384317 0.5 --0.0514963 0.157854 0.00954267 0.51331 0.5 --0.0723264 0.176481 -0.0540086 0.327611 0.5 --0.0810179 0.0964125 -0.00756981 0.514152 0.5 -0.0283215 0.117455 0.0287048 0.628656 0.5 --0.0265539 0.180361 -0.00771033 0.259863 0.423491 --0.0679859 0.155562 0.00782161 0.830788 0.5 --0.0676126 0.155322 0.00651001 0.840042 0.5 -0.0232877 0.123385 0.0253956 0.454562 0.5 --0.0645148 0.15586 0.0250316 0.573779 0.401656 --0.0865509 0.152927 0.0144746 0.267781 0.5 -0.00646546 0.131591 0.014917 0.766584 0.5 --0.0781312 0.100777 0.0347873 0.697079 0.5 --0.0434907 0.171345 -0.00503558 0.264771 0.5 --0.00877042 0.130092 0.00788453 0.713449 0.5 --0.00997021 0.129828 0.00744342 0.706474 0.5 --0.079214 0.155524 0.0184351 0.529124 0.5 --0.0768992 0.155831 0.0192356 0.569451 0.359708 --0.0757456 0.155966 0.0196325 0.544518 0.5 --0.0934962 0.117401 0.0173034 0.667612 0.5 --0.0550659 0.154073 0.0197239 0.405523 0.5 --0.0814436 0.153873 0.00890807 0.493946 0.5 --0.0258145 0.0894344 -0.0348302 0.442635 0.5 --0.0644951 0.0789605 0.0422031 0.75214 0.5 --0.0634884 0.0789934 0.0424288 0.778387 0.5 --0.0624977 0.0789785 0.042462 0.788612 0.5 --0.0615068 0.0789665 0.042503 0.799165 0.5 --0.0604863 0.0790224 0.042794 0.795366 0.5 --0.0594798 0.0790546 0.0431577 0.796184 0.5 --0.0585036 0.0790577 0.0434985 0.651158 0.5 --0.0574727 0.0791252 0.0438951 0.650308 0.5 --0.0564853 0.0791423 0.0441771 0.786817 0.5 --0.0554963 0.0791301 0.0442202 0.769208 0.5 --0.0544966 0.0791235 0.0440855 0.74183 0.5 --0.0534968 0.0790911 0.0438637 0.737492 0.5 --0.0524965 0.0790864 0.0437156 0.759622 0.5 --0.0514974 0.0791051 0.0438079 0.765213 0.5 --0.0504985 0.079101 0.0439987 0.718805 0.5 --0.0494996 0.0791204 0.0440794 0.670492 0.5 --0.0484873 0.0790818 0.0439275 0.658752 0.5 --0.0475187 0.0790945 0.0436556 0.790409 0.5 --0.0465355 0.0790498 0.0431447 0.743602 0.40376 --0.0454873 0.0789625 0.0423892 0.621648 0.472285 --0.0444976 0.0789577 0.0421738 0.635631 0.5 --0.0434926 0.0789866 0.0425224 0.633637 0.5 --0.0424937 0.0790081 0.0428161 0.615072 0.5 --0.0414913 0.0790271 0.0430475 0.687944 0.5 --0.0404902 0.0790417 0.0431478 0.730225 0.5 --0.0395279 0.079033 0.0429651 0.736186 0.398918 --0.0384976 0.0790115 0.0428361 0.719025 0.5 --0.0375089 0.0790164 0.0426336 0.665428 0.5 --0.0364996 0.0789928 0.0425809 0.597358 0.5 --0.0355107 0.0789772 0.0422885 0.519695 0.5 --0.0344916 0.0789231 0.04184 0.461279 0.453515 --0.0335041 0.0789099 0.0415331 0.544764 0.5 --0.0324984 0.0788891 0.0412743 0.610876 0.5 --0.0315145 0.0788556 0.0411289 0.727739 0.5 --0.0305755 0.0788685 0.0415824 0.787293 0.5 --0.0295938 0.0789709 0.0427962 0.738628 0.5 --0.075369 0.155134 0.0270903 0.43067 0.5 --0.0595891 0.155231 0.0238846 0.621599 0.5 --0.0348698 0.176878 -0.00628812 0.294769 0.5 --0.031161 0.177923 -0.0048433 0.241938 0.385577 --0.0230309 0.0906523 0.0522978 0.542701 0.463452 --0.00834781 0.129635 0.0224773 0.423525 0.5 --0.0847627 0.109032 0.02334 0.694681 0.5 --0.0886162 0.100967 0.00940891 0.526789 0.5 --0.0204853 0.0800483 0.0563065 0.557699 0.5 --0.0195125 0.0800523 0.0567242 0.565489 0.475271 --0.0184886 0.0801089 0.0571361 0.66078 0.5 --0.0174884 0.0801344 0.0573382 0.665194 0.5 --0.0165008 0.0800909 0.0572191 0.681591 0.5 --0.0155018 0.080076 0.0569734 0.710915 0.5 --0.0144892 0.0800879 0.0568709 0.722134 0.5 --0.0135001 0.0800899 0.0570677 0.711469 0.5 --0.0124916 0.0801274 0.0575032 0.696208 0.5 --0.0115071 0.0801438 0.0578104 0.71377 0.5 --0.0104953 0.0801622 0.0580036 0.709275 0.5 --0.00950254 0.0801627 0.0580817 0.696984 0.5 --0.00849807 0.0801615 0.0580203 0.664165 0.5 --0.0074977 0.0801462 0.0578122 0.649073 0.5 --0.00649785 0.0801379 0.0576218 0.653337 0.5 --0.00550326 0.0801395 0.0576107 0.668024 0.472979 --0.0045041 0.0801506 0.0577231 0.776348 0.5 --0.00350013 0.0801522 0.057807 0.580384 0.479006 --0.00249685 0.08015 0.0577289 0.711164 0.5 --0.00149437 0.0801423 0.0576885 0.687721 0.5 --0.000488424 0.0801341 0.0575904 0.682063 0.5 -0.000521824 0.0801146 0.0573693 0.69456 0.5 -0.00150698 0.0801002 0.0571866 0.543175 0.5 -0.00252706 0.0800582 0.0567791 0.528086 0.5 -0.00351619 0.0800296 0.056385 0.544474 0.466229 -0.00451933 0.0800063 0.0560543 0.571115 0.5 -0.00551566 0.0799926 0.0558154 0.605313 0.5 -0.00652044 0.0799801 0.0556018 0.615627 0.5 -0.00751862 0.0799738 0.0554444 0.609108 0.5 -0.00851174 0.0799624 0.0552814 0.604488 0.478232 -0.00951792 0.0799496 0.0550675 0.424956 0.485927 -0.0154945 0.115387 0.0371086 0.671575 0.5 -0.0145027 0.115416 0.0371643 0.688607 0.5 --0.0305099 0.113915 0.0346878 0.621273 0.421109 --0.0315077 0.113893 0.0345441 0.616765 0.5 --0.00648871 0.115533 0.0401374 0.651039 0.5 --0.0104895 0.115533 0.0397944 0.622458 0.5 --0.0115041 0.115551 0.0394745 0.597914 0.5 --0.0415032 0.116675 0.0325492 0.625623 0.5 --0.0265128 0.116639 0.0325108 0.523517 0.5 --0.0235521 0.116765 0.0343279 0.522009 0.5 --0.00649106 0.116924 0.0392844 0.652516 0.5 -0.00648697 0.11688 0.0387497 0.658542 0.5 -0.0391019 0.106936 0.00217583 0.453609 0.468076 --0.0326284 0.178159 -0.00692862 0.335431 0.5 --0.0265289 0.11806 0.03154 0.518535 0.394277 --0.0114929 0.118282 0.0379089 0.561696 0.5 --0.0415089 0.165252 0.00421093 0.436043 0.5 --0.0425085 0.119367 0.0297171 0.463858 0.5 --0.07744 0.155698 0.0205089 0.502914 0.5 --0.0735116 0.140055 0.0477493 0.641496 0.5 --0.0225807 0.159177 -0.00302445 0.332095 0.5 --0.0464641 0.122081 0.0270508 0.734094 0.5 --0.076502 0.12459 0.0526576 0.716445 0.5 -0.00350232 0.123774 0.0338316 0.590139 0.5 --0.0859344 0.107632 0.00736881 0.491408 0.455375 --0.0424487 0.125177 -0.00834623 0.60318 0.5 --0.0784998 0.130283 0.0530344 0.531121 0.452311 --0.0715049 0.147007 0.0421623 0.578259 0.455606 --0.0295052 0.11528 0.03366 0.599488 0.5 --0.0927384 0.122733 0.00927055 0.309094 0.468872 -0.0117209 0.130528 0.015412 0.85487 0.5 --0.0804968 0.149757 0.0362335 0.40514 0.5 -0.0449223 0.0903552 0.00117592 0.502087 0.5 -0.0227019 0.123147 0.0266031 0.460566 0.5 --0.0825008 0.107588 0.0273509 0.486678 0.5 --0.0270163 0.155641 -0.00359794 0.18334 0.5 --0.0263139 0.182659 -0.010558 0.194534 0.372621 -0.0159015 0.122788 0.0313235 0.659989 0.5 --0.0739197 0.151223 0.0366634 0.364727 0.5 --0.0436117 0.125739 0.0201433 0.472028 0.413108 -0.0200436 0.125383 0.0241901 0.660965 0.356309 -0.0225187 0.123964 0.0251042 0.438285 0.274046 --0.0417803 0.126317 0.0192991 0.463695 0.430449 --0.003188 0.127967 0.0287063 0.292768 0.468886 -0.00846774 0.13132 0.015646 0.777021 0.5 --0.0296012 0.120713 0.0267425 0.423455 0.441927 -0.00161401 0.13159 0.0117114 0.754136 0.278378 -0.000580692 0.131584 0.0113306 0.762038 0.5 --0.0312754 0.118165 0.0306394 0.565094 0.368187 --0.080479 0.155159 0.0180021 0.516751 0.5 --0.0833163 0.106091 -0.000625527 0.341089 0.347157 --0.0818376 0.116236 -0.00283916 0.556162 0.5 --0.0920057 0.11611 0.0343124 0.506489 0.5 -0.0248331 0.123944 0.0188283 0.509438 0.5 -0.0255922 0.123349 0.0191129 0.536365 0.5 --0.0665386 0.0804536 0.042224 0.632223 0.5 --0.0655112 0.0803784 0.0426229 0.630692 0.5 --0.0644842 0.0804582 0.0430441 0.778832 0.5 --0.0634956 0.0804499 0.0432131 0.778914 0.5 --0.0624905 0.0804598 0.0431805 0.774427 0.5 --0.0615036 0.0804118 0.0430159 0.770991 0.5 --0.0604943 0.0804378 0.0430854 0.786074 0.5 --0.0594862 0.0804633 0.0433033 0.79517 0.5 --0.0584823 0.080492 0.0436889 0.791155 0.5 --0.0574874 0.0805202 0.0440851 0.796257 0.5 --0.0564979 0.0805451 0.0445004 0.789948 0.5 --0.0554837 0.0805968 0.0447827 0.782751 0.5 --0.0544975 0.080589 0.0448325 0.74444 0.5 --0.0535039 0.0805657 0.0446207 0.721855 0.408714 --0.052501 0.0805516 0.0443114 0.730549 0.5 --0.0514921 0.0804912 0.0440592 0.746753 0.5 --0.0505067 0.0805184 0.044061 0.752391 0.397412 --0.0494929 0.0804959 0.044039 0.699516 0.399968 --0.0484976 0.0805051 0.0439961 0.672309 0.5 --0.0474927 0.0804818 0.0437565 0.645218 0.5 --0.0465231 0.0804789 0.0433941 0.6275 0.5 --0.0454994 0.0804154 0.0426755 0.621165 0.447965 --0.044489 0.0803636 0.042222 0.65139 0.457048 --0.0434981 0.0803632 0.0422528 0.617938 0.5 --0.042501 0.0803745 0.0423542 0.638673 0.398693 --0.0415029 0.0803953 0.042616 0.663183 0.393861 --0.0405081 0.080404 0.0427771 0.712874 0.5 --0.0394882 0.0804267 0.0429074 0.738298 0.5 --0.038495 0.0804525 0.0431634 0.730242 0.5 --0.0375019 0.0804666 0.0432825 0.675696 0.5 --0.0365138 0.0804626 0.0431357 0.593037 0.5 --0.0355149 0.0804148 0.0426568 0.634132 0.5 --0.0344927 0.0803488 0.0420944 0.529763 0.5 --0.0334943 0.0803079 0.0415842 0.522266 0.5 --0.0324906 0.080327 0.0414535 0.594713 0.5 --0.0315243 0.0802674 0.0412906 0.715592 0.5 --0.0305987 0.0803029 0.0419758 0.724984 0.5 --0.0295471 0.0804664 0.0436378 0.636068 0.5 --0.0600179 0.155783 0.0193707 0.770818 0.5 --0.0872247 0.152479 0.0216964 0.262532 0.5 --0.0857877 0.152992 0.0221351 0.250247 0.416029 --0.0119089 0.128954 0.021205 0.717335 0.5 --0.0265193 0.12549 0.0159805 0.490579 0.5 --0.0850483 0.109026 0.0223524 0.693865 0.5 --0.0287178 0.121983 -0.00700749 0.492681 0.5 --0.0228073 0.184465 -0.0170667 0.222019 0.304164 --0.0204789 0.081458 0.0566556 0.531283 0.5 --0.0194927 0.0814879 0.0571676 0.542382 0.5 --0.0184902 0.0815159 0.0575038 0.676825 0.5 --0.0174947 0.0815257 0.0576296 0.681637 0.5 --0.0164962 0.0815146 0.0575151 0.67633 0.5 --0.0154864 0.0814755 0.0571167 0.688356 0.381085 --0.0144969 0.0814706 0.0569355 0.691621 0.5 --0.0134986 0.081495 0.0573009 0.689554 0.5 --0.0125091 0.0815143 0.0575917 0.683232 0.5 --0.0115085 0.0815323 0.0578355 0.684858 0.5 --0.0104972 0.0815462 0.0580111 0.568922 0.5 --0.00949805 0.0815484 0.0580308 0.67432 0.5 --0.00849679 0.081545 0.0579523 0.647912 0.5 --0.00749897 0.0815283 0.0577578 0.831686 0.5 --0.00649844 0.0814993 0.0573243 0.829112 0.5 --0.00550026 0.0815011 0.0573318 0.665947 0.5 --0.00450509 0.0815118 0.0573962 0.823408 0.5 --0.00350098 0.0815126 0.05747 0.604912 0.5 --0.00249882 0.081515 0.0574957 0.584771 0.5 --0.00149717 0.0815096 0.0574492 0.589624 0.5 --0.000491404 0.0814979 0.0573536 0.595199 0.5 -0.000511137 0.0814953 0.0573473 0.588281 0.5 -0.00151312 0.081484 0.0572224 0.596375 0.5 -0.00251501 0.0814623 0.0569927 0.476572 0.5 -0.00351281 0.081445 0.056735 0.475224 0.485001 -0.00451331 0.0814276 0.0565046 0.489605 0.486121 -0.00552563 0.0813962 0.0561869 0.61289 0.5 -0.00650836 0.0813916 0.0558754 0.615861 0.5 -0.00752119 0.0813632 0.0555605 0.493542 0.484102 -0.00853139 0.0813381 0.0552215 0.497107 0.5 -0.0341932 0.113962 0.0237708 0.60806 0.476072 --0.0534714 0.115278 0.0343029 0.928439 0.5 --0.0225355 0.115413 0.0360839 0.535101 0.446682 --0.0235661 0.115415 0.0353667 0.518805 0.471584 --0.00949145 0.115547 0.0400498 0.615454 0.5 -0.00748061 0.115492 0.0392535 0.645503 0.422917 --0.0245658 0.115393 0.0346209 0.742102 0.5 --0.00349196 0.114194 0.0413026 0.652547 0.438873 --0.0364943 0.115224 0.0327734 0.670054 0.5 --0.0275167 0.116662 0.0324113 0.555699 0.5 --0.022546 0.116788 0.03495 0.424803 0.5 --0.00748374 0.116886 0.0393445 0.630755 0.5 -0.0084768 0.116844 0.0380952 0.545674 0.427419 --0.0781478 0.107183 -0.00659237 0.582204 0.5 --0.0765193 0.119025 0.0524244 0.586551 0.5 -0.0420636 0.0915328 -0.00679501 0.454284 0.478416 --0.0104844 0.118266 0.038122 0.605874 0.5 --0.0144999 0.162187 -0.0103051 0.256611 0.361651 --0.0454948 0.119311 0.0290591 0.578752 0.5 --0.0123701 0.125297 0.0298351 0.421119 0.5 --0.0725153 0.142823 0.0458217 0.624958 0.5 -0.000998881 0.131517 0.0100563 0.766422 0.5 -0.0251748 0.123444 0.0203849 0.466234 0.451404 --0.0754942 0.124603 0.052984 0.573159 0.5 -0.00247406 0.123881 0.0337357 0.60015 0.5 --0.0838969 0.104764 -0.000610535 0.415954 0.5 --0.0880434 0.125329 0.00027907 0.477893 0.5 --0.0774969 0.130279 0.0531227 0.616205 0.476355 --0.0932568 0.121548 0.0382795 0.612387 0.469507 --0.0794946 0.12171 0.0507273 0.554544 0.485333 --0.0895151 0.151559 0.0181181 0.242146 0.5 --0.0815042 0.149744 0.0353513 0.39285 0.5 --0.0766567 0.112144 0.0469767 0.498936 0.5 --0.0774993 0.127442 0.0532862 0.672151 0.5 -0.0144985 0.11402 0.0378951 0.674071 0.5 --0.037534 0.168232 0.00175297 0.507416 0.464036 --0.0766831 0.148629 -0.00786722 0.604451 0.5 --0.0669196 0.157864 -0.00782765 0.399217 0.5 --0.0738652 0.150214 0.0382196 0.405576 0.311322 --0.0765172 0.154938 0.0266851 0.752251 0.5 -0.0175138 0.12671 0.0232635 0.407366 0.452989 --0.0623911 0.154382 0.0301734 0.917936 0.5 --0.0723713 0.156038 0.0237254 0.84682 0.5 --0.0135439 0.125168 0.0294386 0.412999 0.357914 -0.00944321 0.131132 0.0160037 0.784602 0.5 --0.067283 0.161835 -0.0137578 0.334465 0.454235 -0.00276097 0.131717 0.0121378 0.756994 0.5 --0.0857334 0.153425 0.016223 0.304497 0.411735 --0.0843259 0.153929 0.0166903 0.459227 0.5 --0.0360471 0.125746 -0.0036679 0.92573 0.5 --0.0742502 0.161028 -0.0329547 0.39691 0.5 -0.0224569 0.125562 0.0179459 0.478284 0.420996 -0.0232801 0.125085 0.0182493 0.473726 0.443986 -0.0240885 0.124582 0.018553 0.486661 0.5 --0.0278605 0.124718 0.0184442 0.339345 0.5 --0.0256554 0.124701 0.019279 0.348749 0.419477 --0.0665019 0.0818141 0.0428543 0.653573 0.5 --0.0654928 0.0818627 0.0433416 0.656287 0.5 --0.0645056 0.0818668 0.0436415 0.658977 0.5 --0.063492 0.0819119 0.043822 0.792993 0.5 --0.0624997 0.0818785 0.0437679 0.762202 0.5 --0.0615004 0.0818818 0.0435978 0.760211 0.401453 --0.0604913 0.0818799 0.0434166 0.766631 0.5 --0.0594903 0.081873 0.0434438 0.797222 0.5 --0.0584923 0.0818911 0.043717 0.789495 0.5 --0.0574741 0.0819362 0.0441691 0.757735 0.5 --0.0564798 0.081975 0.044689 0.75146 0.5 --0.0554773 0.0820103 0.045038 0.776556 0.394299 --0.0544906 0.0820201 0.0451936 0.734857 0.5 --0.0534999 0.0820142 0.0450601 0.716218 0.5 --0.0525108 0.0819776 0.0447141 0.709657 0.409316 --0.0514947 0.0819216 0.0442721 0.725227 0.5 --0.0504965 0.0819144 0.0441383 0.716977 0.5 --0.0494951 0.0819134 0.044146 0.710112 0.5 --0.0484982 0.0819185 0.0441136 0.671692 0.5 --0.0474843 0.0818872 0.0439119 0.659202 0.5 --0.0464991 0.0818806 0.0436011 0.647507 0.5 --0.0454963 0.0818291 0.0431013 0.592992 0.469112 --0.0444953 0.0817848 0.0424707 0.764755 0.5 --0.0434949 0.0817618 0.042266 0.787342 0.5 --0.0424979 0.0817557 0.0420871 0.639209 0.5 --0.0414824 0.0817867 0.0423837 0.675771 0.5 --0.0404837 0.0818282 0.0429123 0.676849 0.5 --0.0394764 0.081876 0.0433844 0.747887 0.5 --0.0384853 0.0819001 0.0436414 0.719704 0.5 --0.0374987 0.0819015 0.0436538 0.690103 0.5 --0.0365029 0.0818729 0.0434567 0.609904 0.5 --0.0355255 0.0818589 0.0431427 0.632775 0.5 --0.0345218 0.0818067 0.0425242 0.532442 0.5 --0.0334936 0.0817447 0.0419617 0.696242 0.329731 --0.0324907 0.0817336 0.0416408 0.776511 0.5 --0.0315082 0.0817114 0.0416031 0.666625 0.5 --0.0306612 0.0816984 0.0420491 0.658811 0.5 --0.0295465 0.0819132 0.0441437 0.636794 0.5 --0.086324 0.106283 0.0073644 0.49554 0.464548 --0.0861009 0.106274 0.00635995 0.490688 0.464806 --0.0907151 0.116093 0.0293225 0.468471 0.453888 --0.0857477 0.109049 0.020349 0.703704 0.5 --0.0865136 0.106289 0.0083757 0.736427 0.5 --0.0858632 0.106258 0.00536057 0.49824 0.5 --0.0863919 0.099468 0.00241821 0.65379 0.5 -0.000747713 0.131321 0.00709666 0.757545 0.5 --0.0204805 0.0828473 0.0567838 0.502536 0.5 --0.0194987 0.0828823 0.05729 0.518211 0.475588 --0.0184875 0.0829081 0.0576141 0.662814 0.5 --0.0175006 0.0829087 0.0576844 0.675835 0.5 --0.0164977 0.0828905 0.0574138 0.850459 0.5 --0.0154785 0.0828416 0.0569929 0.673688 0.474251 --0.014497 0.082865 0.0570346 0.653235 0.5 --0.0135008 0.082884 0.0573146 0.689965 0.5 --0.012496 0.0828987 0.0575341 0.664332 0.5 --0.0115038 0.082913 0.0576973 0.664853 0.5 --0.0105023 0.0829243 0.0578427 0.560045 0.464907 --0.00949546 0.0829261 0.0578441 0.665143 0.470474 --0.00849594 0.0829198 0.0577964 0.814354 0.5 --0.00750778 0.0828941 0.0575015 0.821611 0.379912 --0.00644119 0.0828529 0.0570838 0.701692 0.455939 --0.00549842 0.0828666 0.0570203 0.720478 0.467536 --0.00450662 0.0828853 0.0572758 0.690024 0.463532 --0.00350072 0.0828956 0.0574459 0.643292 0.5 --0.00249881 0.0829011 0.0575494 0.626947 0.5 --0.00149801 0.0828985 0.0574954 0.626844 0.5 --0.000496629 0.0828922 0.0574621 0.647988 0.5 -0.000507304 0.0828912 0.0574668 0.640098 0.5 -0.00151221 0.0828796 0.0573767 0.620738 0.5 -0.00251304 0.0828672 0.0572444 0.61234 0.5 -0.00351301 0.0828608 0.0571024 0.614611 0.5 -0.0045246 0.0828376 0.0569094 0.500928 0.5 -0.00551778 0.0828244 0.0566316 0.490619 0.482709 -0.00651309 0.0828012 0.0562471 0.502681 0.448647 --0.0682487 0.153053 0.0340661 0.386508 0.357169 -0.0125018 0.115423 0.0374065 0.680028 0.5 --0.0874475 0.125307 -0.000719081 0.67828 0.5 --0.00320104 0.131164 0.014241 0.715848 0.5 --0.0805311 0.123088 0.0509172 0.544221 0.5 --0.00849662 0.115566 0.0401952 0.612606 0.5 -0.0414749 0.104231 0.00716597 0.544355 0.5 -0.0165049 0.115408 0.0369209 0.660228 0.5 --0.00149662 0.114206 0.0415504 0.641872 0.5 --0.002483 0.114172 0.0414823 0.678077 0.430776 --0.0404977 0.116683 0.0325662 0.641117 0.37769 -0.0184751 0.082463 0.0515958 0.491924 0.475524 --0.0215064 0.116765 0.0355266 0.454237 0.5 --0.00849374 0.116931 0.0393004 0.606328 0.5 -0.00748556 0.116867 0.0384917 0.684359 0.5 --0.0494919 0.154959 0.0103413 0.616456 0.5 --0.0247385 0.124904 0.000549003 0.758017 0.5 --0.0285052 0.11799 0.0309781 0.484557 0.5 --0.0174811 0.118153 0.0357243 0.546417 0.5 --0.0464975 0.163768 0.00545168 0.486552 0.5 --0.046469 0.119345 0.0289808 0.642232 0.5 --0.0808289 0.138985 -0.00281163 0.711956 0.5 --0.0715222 0.142818 0.0455702 0.618803 0.5 --0.0810735 0.143155 -0.000828212 0.641961 0.5 --0.00877695 0.169647 -0.023748 0.268894 0.430011 --0.074497 0.124608 0.0532356 0.65413 0.5 -0.0411799 0.0844321 -0.00979241 0.428388 0.489037 -0.00919687 0.124582 -0.00824181 0.555015 0.5 -0.0446243 0.0959671 0.00617079 0.573464 0.448778 --0.0764966 0.130271 0.0529935 0.736123 0.5 --0.070517 0.146976 0.0420031 0.582857 0.5 --0.073507 0.121801 0.0535653 0.64749 0.5 -0.0395669 0.101281 -0.00480928 0.549544 0.5 -0.0441819 0.0945484 0.0191589 0.514543 0.463579 --0.042499 0.113906 0.034677 0.672617 0.5 -0.041327 0.0986069 0.0251647 0.527231 0.479525 -0.0389203 0.10838 0.0161659 0.708561 0.5 --0.0384878 0.168246 0.00236894 0.475155 0.5 -0.0423363 0.101455 0.00317956 0.528099 0.5 --0.0336328 0.126783 0.00457249 0.889936 0.5 --0.0682521 0.15944 -0.00832765 0.371 0.465113 --0.067572 0.158668 -0.00806913 0.407808 0.443548 --0.0629092 0.156144 0.021238 0.709192 0.5 -0.0151438 0.128336 0.0223847 0.389117 0.5 --0.0643705 0.154697 0.0294695 0.906009 0.5 --0.0381244 0.127641 0.0146907 0.591635 0.394887 --0.0611505 0.153585 0.0321143 0.399892 0.5 -0.0131047 0.129972 0.0173477 0.565086 0.5 --0.0679623 0.16261 -0.0140168 0.334118 0.5 -0.00385238 0.131766 0.0125385 0.780741 0.5 --0.0871129 0.152836 0.0157593 0.236237 0.5 --0.0665146 0.16661 -0.0580261 0.470191 0.5 --0.0295306 0.123946 -0.00125424 0.855663 0.5 -0.0208388 0.126564 0.0173475 0.564362 0.5 -0.0216627 0.126095 0.0176515 0.473735 0.363249 --0.072593 0.155911 0.00171291 0.401288 0.366685 --0.0716902 0.155937 0.00211062 0.526163 0.406537 --0.00405506 0.101077 0.0451334 0.175096 0 --0.0675595 0.163657 -0.0167503 0.342091 0.5 --0.0668255 0.162993 -0.016474 0.418587 0.5 --0.0664798 0.0832826 0.043443 0.643886 0.5 --0.0655003 0.083298 0.0438708 0.637701 0.5 --0.0644896 0.0833289 0.0440861 0.77477 0.5 --0.0634907 0.0833477 0.0441845 0.788146 0.5 --0.0624968 0.0833205 0.0441176 0.772305 0.5 --0.0614985 0.0833224 0.0439406 0.752282 0.5 --0.0604975 0.0832903 0.0437356 0.754077 0.5 --0.0594934 0.0832968 0.0436941 0.790063 0.5 --0.0584862 0.0833066 0.0438144 0.790334 0.5 --0.0574832 0.0833327 0.0441985 0.770536 0.5 --0.0564789 0.0833746 0.0446901 0.728998 0.5 --0.0554857 0.0834027 0.0450839 0.729551 0.5 --0.0544934 0.0834141 0.0452404 0.744842 0.5 --0.0534986 0.0833862 0.0450488 0.732671 0.5 --0.0524965 0.0833785 0.044899 0.717199 0.5 --0.0514954 0.0833657 0.0447762 0.696453 0.5 --0.0504972 0.083371 0.044762 0.6988 0.5 --0.0494922 0.0833478 0.0446801 0.676223 0.5 --0.0484907 0.0833394 0.0445457 0.672025 0.5 --0.0474984 0.0833402 0.0443799 0.659336 0.5 --0.0464961 0.0833304 0.0442498 0.608114 0.5 --0.045504 0.0832988 0.0437099 0.553067 0.473153 --0.0445094 0.0832466 0.0430632 0.73027 0.5 --0.0435029 0.0832144 0.0426759 0.758857 0.5 --0.0424907 0.0831788 0.0422885 0.63516 0.467317 --0.041491 0.0832013 0.0425516 0.635108 0.371838 --0.0404793 0.0832528 0.0431634 0.669283 0.5 --0.0394783 0.0832832 0.0435432 0.73375 0.5 --0.0384845 0.0833049 0.0437838 0.719317 0.5 --0.0374978 0.0833038 0.0438252 0.692028 0.5 --0.0365053 0.0832925 0.043701 0.610625 0.5 --0.0355281 0.0832646 0.0432735 0.62467 0.395472 --0.0345081 0.0832025 0.0425625 0.530563 0.370802 --0.0334971 0.0831472 0.0419572 0.665394 0.5 --0.0324967 0.0831278 0.0417023 0.799033 0.5 --0.0315191 0.0831203 0.0417649 0.659167 0.5 --0.0306281 0.0831438 0.0423752 0.623398 0.5 --0.029443 0.0834063 0.0447309 0.649944 0.5 --0.0683767 0.176522 -0.0580176 0.563817 0.5 --0.0879726 0.100935 0.0073995 0.490254 0.5 --0.0883814 0.100948 0.00841627 0.509717 0.457728 --0.0855607 0.103501 0.00239284 0.464259 0.464861 --0.0855438 0.106245 0.00446783 0.476452 0.423764 --0.0891956 0.099693 0.0183885 0.632507 0.5 --0.0893171 0.0996957 0.0173941 0.61225 0.5 --0.000398209 0.131157 0.00667235 0.766825 0.5 --0.020484 0.0842242 0.0566713 0.494561 0.5 --0.019494 0.0842608 0.0571688 0.506002 0.5 --0.0184932 0.0842766 0.0574008 0.804692 0.5 --0.017501 0.0842912 0.0575736 0.853867 0.5 --0.0164643 0.0842755 0.0572298 0.843982 0.374174 --0.0155024 0.084237 0.0568519 0.833743 0.5 --0.0145005 0.0842486 0.056982 0.631413 0.5 --0.0135056 0.0842656 0.0572305 0.691656 0.5 --0.0124981 0.0842783 0.057419 0.840676 0.5 --0.0114962 0.0842854 0.0575311 0.83815 0.5 --0.0104999 0.0842933 0.0575891 0.543956 0.5 --0.00949578 0.084298 0.0576062 0.540872 0.5 --0.00849356 0.0842936 0.0575382 0.819024 0.5 --0.0074932 0.0842694 0.0572981 0.844699 0.37318 --0.00649976 0.0842428 0.0569087 0.852714 0.5 --0.00549946 0.0842482 0.0569765 0.728986 0.5 --0.00450764 0.0842735 0.0572857 0.70333 0.5 --0.00350236 0.0842813 0.0574606 0.679664 0.5 --0.00250438 0.0842991 0.0575402 0.546182 0.483814 --0.00150012 0.0842876 0.0575029 0.653744 0.5 --0.000497806 0.0842866 0.0575088 0.655277 0.5 -0.000504451 0.0842848 0.0575158 0.653484 0.5 -0.00150378 0.0842858 0.0575429 0.641646 0.5 -0.00250545 0.0842781 0.0574483 0.632004 0.5 -0.00350924 0.0842701 0.0573364 0.631416 0.5 -0.0045205 0.0842507 0.0571459 0.43939 0.5 -0.00551873 0.0842341 0.0568816 0.496832 0.483673 -0.00651709 0.084208 0.0565081 0.493883 0.478474 -0.00649755 0.131366 0.0177838 0.698997 0.5 --0.0850976 0.106195 0.00337687 0.453348 0.412907 -0.0388945 0.108364 0.0171641 0.70778 0.5 -0.0391583 0.108387 0.0121653 0.711532 0.5 --0.0694944 0.11756 0.0525327 0.540913 0.5 --0.0745039 0.117561 0.0526615 0.707381 0.5 --0.0879688 0.113092 0.00628888 0.398501 0.5 --0.0494799 0.116621 0.0323892 0.627876 0.5 -0.0281531 0.119463 0.0257844 0.554084 0.5 -0.0400371 0.107017 0.0091647 0.696684 0.5 -0.0174945 0.0838575 0.0514031 0.480476 0.5 -0.0184941 0.0838333 0.0510457 0.510037 0.5 -0.0194763 0.0837958 0.0507486 0.5274 0.482558 -0.011475 0.115421 0.0379758 0.592272 0.426409 -0.00549376 0.116905 0.0389072 0.652772 0.5 -0.0363189 0.106784 -0.00482843 0.470386 0.48771 -0.00487825 0.131703 0.0129125 0.793896 0.5 --0.0275139 0.118013 0.031246 0.508733 0.36356 --0.0165021 0.118207 0.0361456 0.554506 0.450085 --0.0195983 0.126231 0.0213862 0.417001 0.379498 --0.0474528 0.119349 0.0293599 0.643394 0.5 -0.0108333 0.130856 0.0150885 0.847913 0.5 --0.0314011 0.178523 -0.00645128 0.32966 0.5 --0.062763 0.149042 -0.0175788 0.627716 0.5 -0.0427221 0.101476 0.00816485 0.571204 0.48584 --0.0734977 0.124615 0.0532793 0.624438 0.5 --0.0609083 0.169363 -0.0596932 0.362515 0.5 --0.0887091 0.0983318 0.0213821 0.680156 0.5 -0.0446543 0.0959754 0.00716634 0.568911 0.5 --0.0754874 0.130275 0.0528009 0.565348 0.5 --0.0617277 0.159994 -0.0345941 0.499509 0.5 --0.0707023 0.155807 0.00247134 0.580026 0.5 --0.00149907 0.122451 0.0357652 0.600634 0.5 -0.0440561 0.0945388 0.0201582 0.506569 0.5 -0.0374772 0.106859 -0.00183322 0.546207 0.421305 --0.00348977 0.122389 0.0359468 0.622318 0.5 --0.0394747 0.168236 0.00277528 0.363666 0.385848 --0.0404999 0.16823 0.00286674 0.432126 0.5 --0.0746181 0.165272 -0.019163 0.257147 0.356661 --0.0697818 0.16064 -0.00887941 0.511945 0.420604 --0.0690003 0.160066 -0.00858817 0.497834 0.5 --0.0578658 0.154169 0.0274197 0.977826 0.5 -0.0125251 0.129483 0.0214195 0.48866 0.5 --0.0653079 0.154958 0.0291369 0.893296 0.5 --0.0390631 0.127858 0.0143467 0.588234 0.393013 -0.013984 0.129601 0.0176686 0.459914 0.461754 --0.0704303 0.164039 -0.0149268 0.43763 0.42762 -0.00698354 0.131641 0.013682 0.795824 0.284077 --0.07134 0.156839 -0.0007386 0.364309 0.391949 --0.0833393 0.0979244 -0.00460929 0.445883 0.332004 -0.0191428 0.127427 0.0167214 0.463526 0.5 -0.0199768 0.126969 0.0170274 0.447398 0.451058 --0.00407632 0.124795 0.032822 0.472671 0.421808 --0.081069 0.152209 0.0312004 0.295115 0.454522 --0.0698551 0.16523 -0.017589 0.350702 0.380471 --0.0691061 0.164802 -0.0173282 0.443491 0.434602 --0.0682887 0.164315 -0.0170259 0.452432 0.5 --0.0230436 0.0879523 0.0537722 0.451742 0.48072 --0.0790398 0.119048 0.050662 0.673699 0.5 --0.0666072 0.0846933 0.0437683 0.597311 0.476766 --0.065484 0.0847424 0.0442074 0.739505 0.5 --0.0644959 0.084745 0.0443622 0.743767 0.5 --0.0634981 0.0847405 0.0443851 0.770791 0.5 --0.062498 0.0847471 0.0443617 0.784454 0.5 --0.0614977 0.0847334 0.0442553 0.761755 0.5 --0.0604976 0.0847283 0.0441029 0.759003 0.5 --0.0594997 0.0846925 0.0439263 0.76968 0.5 --0.0584939 0.0847167 0.0439692 0.781561 0.5 --0.0574904 0.0847348 0.0442092 0.768341 0.5 --0.0564709 0.0847764 0.0446514 0.724926 0.5 --0.0554797 0.0848037 0.0450617 0.719726 0.5 --0.0544959 0.0848124 0.0452537 0.737447 0.5 --0.0534928 0.0848236 0.0453456 0.713546 0.5 --0.0524963 0.0848256 0.0453696 0.692501 0.5 --0.0514982 0.0848246 0.0453901 0.66907 0.5 --0.050497 0.0848226 0.0453947 0.64486 0.5 --0.0495055 0.0848369 0.0453213 0.654568 0.5 --0.048499 0.0848032 0.0451307 0.63618 0.5 --0.0475005 0.084795 0.044997 0.614162 0.5 --0.0465015 0.0847604 0.0446321 0.596046 0.442897 --0.0454595 0.0846983 0.0440929 0.471185 0.409187 --0.0444845 0.0846726 0.04342 0.48144 0.476997 --0.0435133 0.0846552 0.0431729 0.579862 0.5 --0.0424883 0.0846004 0.0426298 0.60796 0.449805 --0.0414996 0.0846033 0.0426094 0.591182 0.5 --0.0404862 0.0846544 0.0431896 0.647736 0.5 --0.0394892 0.0846821 0.0435801 0.727981 0.5 --0.0384861 0.0847024 0.0437961 0.717768 0.5 --0.0374992 0.0847101 0.0439351 0.675233 0.5 --0.0365135 0.084703 0.0437856 0.600625 0.5 --0.0355277 0.0846755 0.0433772 0.49782 0.5 --0.0345226 0.0846315 0.0427551 0.538204 0.5 --0.0334979 0.0845774 0.0421828 0.514457 0.457667 --0.0324923 0.0845615 0.0419149 0.614323 0.5 --0.0314894 0.0845774 0.0421902 0.679706 0.5 --0.0305568 0.0845973 0.042796 0.655378 0.5 --0.0294567 0.0847909 0.044594 0.653442 0.5 --0.011143 0.128894 0.00267925 0.721443 0.5 --0.00989368 0.129282 0.00314288 0.730645 0.5 --0.065333 0.177827 -0.0606985 0.285125 0.450981 --0.0867252 0.0994863 0.00342747 0.645103 0.5 --0.0929503 0.128215 0.0122521 0.675699 0.5 --0.0258359 0.0945143 -0.0266147 0.363816 0.5 --0.00268932 0.130846 0.00581897 0.742188 0.5 --0.00148382 0.131063 0.00627096 0.760032 0.5 --0.020497 0.0855906 0.0563403 0.581739 0.5 --0.0194885 0.0856172 0.056795 0.587627 0.5 --0.0184879 0.0856371 0.0571362 0.612345 0.5 --0.0174889 0.0856455 0.0572522 0.818561 0.5 --0.0164998 0.0856439 0.0570811 0.827932 0.5 --0.015502 0.0856307 0.0568812 0.840245 0.5 --0.014497 0.0856418 0.0570702 0.661055 0.5 --0.0134997 0.0856507 0.057198 0.682105 0.5 --0.012503 0.0856552 0.057236 0.837088 0.5 --0.0114987 0.0856547 0.0572923 0.818958 0.5 --0.0104973 0.0856567 0.0572952 0.665274 0.465588 --0.00949755 0.0856659 0.0574293 0.681853 0.468126 --0.00849886 0.0856701 0.0574538 0.660951 0.479507 --0.00748541 0.0856517 0.0572176 0.844388 0.374247 --0.00649656 0.0856337 0.0569558 0.667615 0.5 --0.00549934 0.085642 0.0570911 0.695384 0.5 --0.00450177 0.0856564 0.0572774 0.705114 0.5 --0.00350029 0.0856691 0.0572933 0.560387 0.48339 --0.00250061 0.0856648 0.0572816 0.552893 0.473162 --0.0014976 0.0856652 0.0573264 0.532337 0.461407 --0.00049716 0.0856626 0.0573342 0.813996 0.5 -0.000503516 0.0856702 0.0573793 0.81087 0.5 -0.00150486 0.0856703 0.0573817 0.642477 0.5 -0.00250408 0.0856622 0.0573274 0.822022 0.5 -0.00351036 0.0856577 0.0572413 0.640816 0.5 -0.00451386 0.0856474 0.057126 0.528908 0.473277 -0.00551307 0.0856288 0.0568655 0.60562 0.47225 -0.00650612 0.0856084 0.0565927 0.577038 0.479545 -0.00752051 0.0855871 0.0562726 0.405078 0.483987 --0.0255949 0.125933 0.00752005 0.721655 0.5 --0.00645978 0.0918654 -0.0354548 0.678465 0.5 -0.0307365 0.117405 0.0253192 0.597807 0.5 --0.0253625 0.126177 0.010523 0.637133 0.5 --0.0764966 0.117544 0.0520468 0.581476 0.5 -0.0453383 0.0861836 0.0191712 0.502324 0.474178 --0.0474944 0.116586 0.0319739 0.646549 0.5 --0.0445005 0.116602 0.0322264 0.531421 0.5 --0.0425028 0.11664 0.0325093 0.598295 0.5 -0.0174851 0.0852069 0.0507856 0.570623 0.5 -0.0184726 0.0851741 0.0505075 0.583156 0.5 -0.0194745 0.0851519 0.050256 0.612144 0.411108 -0.0204736 0.0851385 0.0500118 0.627505 0.5 -0.00449641 0.11692 0.039168 0.630034 0.409815 --0.0434904 0.12843 0.000929671 0.86466 0.5 --0.0754318 0.155396 0.00808247 0.68566 0.5 -0.0396392 0.106988 0.00416547 0.636404 0.5 --0.0155184 0.118264 0.0365807 0.537013 0.392137 -0.0450422 0.0931924 0.0131619 0.559142 0.5 -0.0278259 0.115624 -0.00659973 0.54747 0.36626 --0.0734033 0.167233 -0.0217479 0.264476 0.36442 --0.00249512 0.122376 0.0359373 0.615141 0.5 --0.038486 0.115285 0.0333239 0.661734 0.5 --0.0154972 0.122303 0.0324651 0.562162 0.366889 --0.0724827 0.124619 0.0532114 0.513731 0.442517 -0.0404255 0.0914089 -0.00978781 0.555519 0.460231 -0.0423355 0.0972587 0.0241615 0.520911 0.456178 -0.0446156 0.0959646 0.00916087 0.580058 0.461121 --0.0744956 0.13026 0.0524093 0.563452 0.457686 -0.0460213 0.0862262 0.00917159 0.58451 0.436983 --0.0279306 0.125506 0.00666413 0.774242 0.5 --0.0815948 0.123081 0.0504133 0.554788 0.442899 -0.0418343 0.0943991 0.0271656 0.646542 0.5 --0.0921228 0.126953 0.0372491 0.810956 0.5 -0.0155 0.11402 0.0377783 0.683719 0.402609 --0.0764979 0.135856 0.0507679 0.621809 0.5 --0.0244452 0.181836 -0.00961144 0.287742 0.5 --0.0785284 0.123123 0.0516319 0.714423 0.5 --0.0706182 0.161097 -0.00919138 0.488429 0.371412 --0.071556 0.161392 -0.00951947 0.362948 0.369952 -0.00886384 0.130684 0.0200808 0.625655 0.5 --0.0572292 0.155416 0.0145778 0.618768 0.5 -0.0331644 0.1138 0.0262385 0.618593 0.5 -0.0148515 0.129255 0.0180171 0.456863 0.438487 --0.0713104 0.164383 -0.0152637 0.424407 0.384167 -0.00796175 0.131494 0.0140347 0.827885 0.5 --0.0240415 0.126597 0.0109996 0.577137 0.5 --0.0234875 0.125296 0.0010065 0.732091 0.5 -0.0183131 0.127887 0.0164149 0.583064 0.5 --0.0164676 0.125926 0.0254562 0.352926 0.5 --0.069998 0.157611 -0.0031485 0.341469 0.5 --0.0717391 0.165925 -0.0182956 0.366906 0.413097 --0.0707386 0.165621 -0.0179174 0.351297 0.374024 --0.0357386 0.176065 -0.00515676 0.311271 0.436512 --0.0370933 0.175555 -0.00565624 0.247176 0.5 --0.0386183 0.174771 -0.00621679 0.201128 0.164763 --0.0883767 0.125344 0.00127971 0.49092 0.357539 --0.0674749 0.0861001 0.0436947 0.571041 0.416669 --0.0664905 0.0861274 0.0441111 0.562283 0.5 --0.0654783 0.0861634 0.0444498 0.69894 0.5 --0.0644943 0.0861671 0.0446171 0.729584 0.5 --0.0634905 0.0861851 0.0447067 0.763797 0.5 --0.0624956 0.0861834 0.0447184 0.784968 0.5 --0.0614983 0.0861808 0.0447299 0.778337 0.5 --0.0604964 0.0861621 0.0446513 0.765244 0.5 --0.059497 0.0861573 0.0445009 0.740935 0.5 --0.0584956 0.0861498 0.0443498 0.759869 0.5 --0.0574852 0.0861616 0.0444185 0.756488 0.5 --0.0564932 0.0861648 0.0446121 0.744561 0.5 --0.0554832 0.0861944 0.0449632 0.696869 0.45083 --0.0544905 0.0862124 0.0452239 0.711523 0.5 --0.0534886 0.0862338 0.0454573 0.69708 0.453393 --0.0524982 0.0862336 0.045539 0.653078 0.5 --0.0514974 0.086244 0.0456131 0.640932 0.5 --0.0504958 0.0862332 0.0455716 0.62738 0.5 --0.0495023 0.0862453 0.0455995 0.605881 0.5 --0.0484952 0.0862244 0.0454118 0.593535 0.5 --0.0474965 0.0862056 0.045143 0.557257 0.482384 --0.0464764 0.0861628 0.0446798 0.480057 0.473674 --0.0454819 0.0861255 0.0441555 0.466724 0.441764 --0.044493 0.0860963 0.0437549 0.459122 0.444259 --0.0435015 0.086056 0.04322 0.556958 0.5 --0.0424904 0.0860159 0.0426903 0.569788 0.392407 --0.0414976 0.0860064 0.0425981 0.554579 0.5 --0.0405007 0.0860467 0.0431081 0.634118 0.411349 --0.0394712 0.08608 0.0435352 0.716975 0.403577 --0.0384869 0.0860997 0.0437907 0.712854 0.5 --0.0374976 0.0861098 0.0439188 0.668172 0.5 --0.0365117 0.0860935 0.0436284 0.59875 0.5 --0.0354635 0.0860418 0.0431394 0.564761 0.33722 --0.0344994 0.0860255 0.0426749 0.525763 0.384024 --0.0334973 0.0859864 0.0423406 0.52536 0.5 --0.0324974 0.0859857 0.0423469 0.689894 0.5 --0.0315044 0.0860003 0.0426216 0.725911 0.5 --0.0304745 0.0860755 0.0433189 0.687054 0.5 --0.0294246 0.0861745 0.0444819 0.699915 0.5 --0.00503592 0.13043 0.00494647 0.744908 0.5 --0.00624295 0.130196 0.00449841 0.733242 0.5 --0.00743574 0.129906 0.00405669 0.729218 0.5 --0.00869681 0.129559 0.00358698 0.733611 0.5 -0.00298644 0.131511 0.0079308 0.785354 0.5 -0.0018938 0.131459 0.00752669 0.770111 0.5 --0.00383551 0.130671 0.00539431 0.745645 0.5 -0.00407718 0.131556 0.00833758 0.799661 0.5 --0.0204778 0.086949 0.0559493 0.462739 0.474426 --0.0194848 0.0869694 0.0563134 0.558331 0.5 --0.0184974 0.0869962 0.0565805 0.737974 0.5 --0.017504 0.0870094 0.0567302 0.786895 0.5 --0.0164852 0.0870004 0.0567616 0.837902 0.5 --0.0154952 0.087016 0.0568367 0.689488 0.464351 --0.0145001 0.0870236 0.0569643 0.688976 0.462284 --0.0135045 0.0870342 0.0571061 0.666792 0.476518 --0.0124944 0.0870249 0.0570339 0.842564 0.5 --0.0114972 0.0870124 0.0568248 0.82092 0.5 --0.0105011 0.0870252 0.0569814 0.676812 0.5 --0.00950131 0.0870429 0.0572309 0.689627 0.5 --0.00850241 0.0870443 0.0572609 0.684134 0.5 --0.00748945 0.0870384 0.0571349 0.67944 0.377612 --0.00649655 0.0870315 0.0570873 0.690438 0.5 --0.00550074 0.0870334 0.0571343 0.677642 0.462414 --0.00449814 0.0870358 0.0571267 0.673557 0.463885 --0.00349748 0.0870382 0.0570453 0.55187 0.5 --0.00249822 0.0870283 0.0569791 0.543574 0.5 --0.00149439 0.0870302 0.0569025 0.536281 0.5 --0.000495324 0.0870356 0.0569136 0.647233 0.5 -0.000502823 0.0870298 0.0569751 0.621739 0.47873 -0.00150556 0.0870476 0.0569313 0.635452 0.464747 -0.00250481 0.0870342 0.0569864 0.637809 0.5 -0.00350598 0.0870278 0.056972 0.638967 0.5 -0.00450466 0.087016 0.0568401 0.614088 0.5 -0.00551011 0.0870055 0.0566199 0.599859 0.5 -0.00651921 0.0869957 0.0564058 0.595047 0.5 -0.00751373 0.0869673 0.0561316 0.577298 0.465483 -0.0084946 0.0869435 0.0558386 0.560695 0.5 --0.0294813 0.179959 -0.00726258 0.240456 0.5 -0.03984 0.106962 0.00517391 0.651272 0.5 -0.0300894 0.118197 0.0250757 0.589454 0.5 --0.0755066 0.11755 0.0524265 0.585673 0.5 --0.0928081 0.120209 0.0412843 0.590203 0.466635 --0.048476 0.116631 0.0320328 0.651631 0.5 --0.0464951 0.116619 0.0318843 0.639746 0.5 --0.0455014 0.116621 0.0320048 0.50648 0.5 -0.0174813 0.0865744 0.0503122 0.702815 0.5 -0.0184933 0.0865452 0.0498488 0.678548 0.5 -0.0194608 0.0865014 0.0497298 0.550699 0.5 -0.0204938 0.0865196 0.0494812 0.566971 0.461409 -0.0214869 0.0865002 0.0492244 0.500673 0.432562 --0.0143481 0.129147 0.0116153 0.628995 0.5 --0.0847398 0.106178 0.00238203 0.459638 0.423744 --0.0703245 0.0805604 0.0403227 0.628092 0.5 --0.0184922 0.11816 0.035496 0.563196 0.5 -0.0292295 0.102131 0.038919 0.700374 0.5 --0.0279294 0.0931359 -0.0265478 0.231587 0.5 --0.00983007 0.124748 -0.00821099 0.556906 0.5 -0.0185123 0.115397 0.0365584 0.639431 0.5 --0.0404922 0.11531 0.0337051 0.658508 0.5 -0.0288607 0.118772 0.0260462 0.589487 0.5 --0.0714922 0.124606 0.0531293 0.579975 0.469455 --0.0293662 0.0904135 -0.0285737 0.317989 0.390463 -0.0426741 0.0972641 0.0231497 0.442446 0.5 -0.0446411 0.0959729 0.00816419 0.583083 0.5 --0.0327551 0.126411 0.00489661 0.898256 0.5 -0.0363342 0.109637 -0.000829727 0.522844 0.5 --0.0775985 0.123137 0.0521223 0.583621 0.5 --0.0314688 0.175764 -0.00340966 0.323548 0.5 -0.0423623 0.0944394 0.0261744 0.63655 0.5 -0.0393896 0.106975 0.00316583 0.445226 0.5 -0.0386755 0.101225 -0.00680717 0.558398 0.5 --0.0714676 0.155482 0.0269686 0.839143 0.5 --0.023441 0.181825 -0.0105699 0.264741 0.5 -0.00494704 0.131338 0.0186496 0.628111 0.5 --0.0795926 0.100727 0.0334268 0.683272 0.5 --0.0645248 0.154173 -0.00692339 0.627629 0.348086 -0.00793492 0.130935 0.0197362 0.64521 0.5 --0.0858805 0.0926571 0.00145452 0.684142 0.5 -0.0325609 0.114759 0.0260072 0.621911 0.5 -0.0157394 0.128861 0.0183169 0.442545 0.477811 -0.0242996 0.120934 0.0286395 0.545288 0.5 -0.0089357 0.131311 0.0143899 0.837328 0.5 --0.0851808 0.153525 0.0149377 0.298467 0.450525 --0.0896361 0.0969931 0.0144152 0.617224 0.5 -0.0102886 0.13098 0.0134608 0.85008 0.5 --0.0692559 0.157013 -0.00287665 0.359258 0.447051 --0.0741239 0.165568 -0.0191297 0.253721 0.5 --0.0728415 0.165906 -0.0186805 0.313775 0.397284 --0.0333033 0.176609 -0.00426163 0.267257 0.5 --0.0344415 0.176449 -0.00471515 0.404816 0.255614 --0.0940387 0.126929 0.0232615 0.62518 0.472282 --0.0660116 0.154522 0.0303582 0.852399 0.5 --0.0873616 0.110481 0.0113565 0.418809 0.5 --0.0776353 0.15693 -0.0189052 0.612769 0.5 --0.0675187 0.0874976 0.0437834 0.567784 0.5 --0.0664749 0.0875478 0.0443297 0.555948 0.5 --0.0654933 0.0875673 0.0446215 0.580008 0.5 --0.0644915 0.087588 0.0448694 0.724859 0.5 --0.0634827 0.0876134 0.0450541 0.620183 0.5 --0.0624974 0.0876076 0.0451456 0.753403 0.5 --0.0614967 0.0876222 0.0452319 0.755217 0.5 --0.0604957 0.0876028 0.045161 0.739093 0.5 --0.0595027 0.0876292 0.04502 0.716546 0.5 --0.0584973 0.0875674 0.0446281 0.728659 0.401759 --0.0574934 0.0875623 0.0444505 0.752511 0.5 --0.0564919 0.0875695 0.0445907 0.748284 0.5 --0.0554895 0.087587 0.0448409 0.712527 0.5 --0.0544918 0.0876045 0.0451014 0.678885 0.5 --0.0534974 0.0876167 0.045276 0.664481 0.5 --0.0524964 0.0876231 0.0453765 0.642243 0.5 --0.0514957 0.0876341 0.0455102 0.619849 0.5 --0.0504965 0.087636 0.0455301 0.603415 0.5 --0.0495004 0.0876335 0.045502 0.489782 0.5 --0.0485039 0.0876217 0.0453743 0.568061 0.463723 --0.0475132 0.0875996 0.0450977 0.531876 0.467683 --0.0464914 0.08757 0.0446532 0.439432 0.475888 --0.0454819 0.0875316 0.0441596 0.447271 0.481729 --0.0444795 0.0874935 0.0436599 0.690491 0.5 --0.0435318 0.087421 0.0430041 0.705144 0.436198 --0.042497 0.0874008 0.0424798 0.552011 0.5 --0.0414986 0.0874028 0.042497 0.570375 0.5 --0.0404897 0.0874362 0.0429424 0.599383 0.5 --0.0394897 0.0874644 0.0433271 0.693961 0.5 --0.0384918 0.0874952 0.0437107 0.692665 0.5 --0.037505 0.0874848 0.0436782 0.691423 0.43174 --0.0365003 0.087456 0.0430956 0.666641 0.407863 --0.0354707 0.0874527 0.0429689 0.653089 0.388344 --0.034503 0.0874637 0.0428605 0.629176 0.5 --0.0334955 0.0874648 0.043047 0.627905 0.5 --0.0324895 0.0874934 0.0434306 0.608342 0.5 --0.0314842 0.0875139 0.0436743 0.615773 0.468163 --0.0304696 0.0875178 0.0438182 0.75189 0.5 --0.0293842 0.08757 0.0444817 0.680727 0.5 -0.00721829 0.131495 0.00948452 0.827562 0.5 -0.0082433 0.13138 0.00986533 0.84127 0.5 -0.00922467 0.131237 0.0102208 0.85526 0.5 -0.0101976 0.131045 0.010577 0.86472 0.5 -0.0120566 0.130535 0.0112565 0.595962 0.5 -0.0111186 0.130773 0.0109156 0.866542 0.5 -0.00516264 0.131576 0.00874185 0.807845 0.5 -0.00619086 0.131536 0.009113 0.827737 0.5 -0.0147323 0.129513 0.0122405 0.605429 0.474764 --0.0194871 0.0883195 0.0557235 0.563161 0.5 --0.0185099 0.0883573 0.0560195 0.577803 0.477362 --0.0174841 0.088353 0.056296 0.604476 0.482906 --0.0164973 0.088378 0.056467 0.828381 0.5 --0.0154917 0.0883884 0.056678 0.567459 0.5 --0.0144987 0.0884006 0.0568363 0.568191 0.5 --0.0134994 0.0884096 0.056966 0.648846 0.5 --0.0125093 0.0883992 0.0567932 0.853585 0.365947 --0.0114976 0.0883765 0.0564607 0.858476 0.5 --0.0105064 0.0884021 0.0567868 0.686246 0.471731 --0.00950098 0.0884225 0.0571104 0.678655 0.5 --0.00849876 0.0884233 0.057199 0.667815 0.474186 --0.00749863 0.0884246 0.0571361 0.668382 0.5 --0.00649589 0.0884166 0.05709 0.674703 0.5 --0.00549337 0.088417 0.0570387 0.674926 0.5 --0.00449408 0.088412 0.0569078 0.545889 0.5 --0.00348929 0.0884115 0.0568027 0.546827 0.449024 --0.00249621 0.0883993 0.0567366 0.53647 0.476253 --0.00149343 0.0883979 0.0566431 0.636397 0.5 --0.000496915 0.0883839 0.0565827 0.515294 0.484791 -0.000506539 0.0883906 0.0565122 0.63633 0.471524 -0.00150878 0.0883997 0.0564367 0.642304 0.5 -0.00250691 0.0883899 0.0564027 0.638454 0.5 -0.00350363 0.0883757 0.0563643 0.638523 0.443246 -0.00450432 0.0883672 0.0562441 0.620567 0.5 -0.00550113 0.0883518 0.0561015 0.609541 0.5 -0.00650421 0.0883449 0.0558788 0.592244 0.446546 -0.00751322 0.0883379 0.0556646 0.59235 0.5 -0.00850451 0.0883096 0.055394 0.583895 0.5 -0.00950876 0.0882899 0.055046 0.46622 0.5 -0.0105044 0.115477 0.0381888 0.57365 0.461319 --0.0445017 0.163753 0.00542301 0.421758 0.407548 -0.00590682 0.131658 0.0132863 0.792746 0.5 --0.0445084 0.162276 0.00597583 0.454147 0.5 --0.043533 0.162269 0.00566221 0.585226 0.5 --0.0504899 0.115263 0.0337703 0.638017 0.5 --0.0884987 0.102354 0.0183681 0.590533 0.483883 --0.0721793 0.15961 -0.0389315 0.482103 0.5 -0.0184901 0.0879016 0.0492476 0.679393 0.5 -0.0194777 0.0878818 0.0491927 0.630095 0.5 -0.0204946 0.0878829 0.0490965 0.53553 0.456491 -0.0214723 0.0878669 0.0490265 0.588983 0.5 -0.0224603 0.0878572 0.0487762 0.497432 0.442354 --0.0636035 0.156128 0.0166435 0.813154 0.5 --0.0755036 0.121787 0.0531411 0.672827 0.5 --0.0205212 0.118181 0.0347958 0.478834 0.5 -0.0379456 0.10977 0.0171703 0.710747 0.5 -0.0413546 0.0999884 -0.00181466 0.503914 0.5 --0.0875459 0.110452 0.0143395 0.49758 0.5 --0.058473 0.115363 0.0369711 0.663307 0.5 -0.0396909 0.105526 0.00119339 0.549511 0.460747 --0.0285122 0.180211 -0.00692909 0.264085 0.5 --0.0213522 0.127058 0.00761225 0.661499 0.5 --0.0924819 0.125444 0.00927262 0.430854 0.451518 -0.0432211 0.097315 0.0201647 0.521941 0.5 -0.0388579 0.0970015 -0.00784 0.578686 0.5 -0.0404579 0.0971405 0.0281735 0.670076 0.5 --0.00946358 0.169654 -0.0207426 0.375439 0.5 --0.00548333 0.122374 0.0356916 0.623464 0.5 --0.0185076 0.120924 0.0327413 0.460104 0.340989 --0.0618553 0.153745 -0.0235803 0.72417 0.5 -0.039909 0.107011 0.00616363 0.659433 0.454709 -0.0399676 0.101315 -0.00381805 0.558695 0.5 --0.0639459 0.153257 -0.00670123 0.657986 0.5 --0.0869174 0.117103 0.00125292 0.464762 0.5 --0.0665983 0.155819 0.0112334 0.818624 0.5 -0.00173262 0.13137 0.0174841 0.619535 0.5 -0.00597565 0.131268 0.0190237 0.632033 0.5 --0.0408127 0.127672 -0.0010356 0.608381 0.5 -0.0319596 0.11565 0.0257836 0.626062 0.5 -0.0166077 0.128469 0.0186355 0.531927 0.5 --0.00795135 0.129264 0.0240771 0.768869 0.5 -0.00986741 0.131059 0.0147331 0.840187 0.5 --0.0218317 0.124906 0.0220793 0.319066 0.371321 --0.0896263 0.0969991 0.0154111 0.636546 0.5 -0.00935699 0.131232 0.0131197 0.843456 0.5 --0.068516 0.156454 -0.00263594 0.470698 0.434261 --0.0297919 0.108873 -0.0192723 0.809584 0.5 --0.0726537 0.15621 0.0148854 0.723888 0.5 --0.0555193 0.152453 0.0283051 0.412797 0.5 --0.0827604 0.106087 -0.00164696 0.34987 0.466263 --0.0922703 0.125567 0.0322584 0.858174 0.5 --0.0715136 0.0887445 0.0416191 0.604622 0.463567 --0.0705043 0.0887655 0.0418556 0.599002 0.468787 --0.0293383 0.123554 -0.00265044 0.864718 0.5 --0.0302932 0.123607 -0.00301843 0.618229 0.481057 --0.0674926 0.0889102 0.043735 0.525748 0.472205 --0.066502 0.0889512 0.0442634 0.542167 0.5 --0.0654905 0.0889779 0.0446185 0.55592 0.5 --0.0645002 0.0889975 0.0448988 0.581681 0.484656 --0.0634835 0.0890243 0.0452141 0.599728 0.5 --0.0624954 0.0890364 0.0453804 0.728531 0.5 --0.0614914 0.089051 0.0454546 0.73029 0.5 --0.0604958 0.0890419 0.0453253 0.722274 0.5 --0.059508 0.0890036 0.0450344 0.72336 0.428745 --0.0584837 0.088969 0.0446761 0.714998 0.391964 --0.057499 0.0889744 0.0446686 0.717384 0.5 --0.0564995 0.0889847 0.0448198 0.735216 0.5 --0.0554979 0.0889982 0.0448936 0.698202 0.5 --0.054497 0.0889964 0.0448823 0.67368 0.5 --0.0534965 0.0890047 0.0449968 0.65028 0.481989 --0.0524956 0.0890116 0.0451123 0.81672 0.5 --0.051497 0.0890197 0.045238 0.778022 0.5 --0.050498 0.0890212 0.0452499 0.581283 0.5 --0.0494955 0.0890237 0.0451636 0.563316 0.473533 --0.0484982 0.0890084 0.0450201 0.571331 0.5 --0.0474966 0.088987 0.0447599 0.533502 0.5 --0.0465077 0.088954 0.0443573 0.510177 0.5 --0.0455158 0.0889126 0.0438293 0.887692 0.5 --0.0444708 0.0888726 0.0431834 0.890703 0.5 --0.0434704 0.0888362 0.0427012 0.959715 0.5 --0.0425006 0.0888114 0.0424593 0.541741 0.5 --0.041501 0.0888244 0.0425932 0.569013 0.457157 --0.040488 0.088839 0.0428058 0.605246 0.5 --0.039493 0.0888698 0.0432118 0.697466 0.5 --0.0385075 0.0888951 0.0435504 0.729814 0.5 --0.0374976 0.0888821 0.0433743 0.744459 0.5 --0.0364935 0.0888766 0.0431732 0.709521 0.5 --0.0354913 0.0889091 0.0432238 0.731306 0.5 --0.0344955 0.0889014 0.0434521 0.711364 0.5 --0.0334891 0.0889549 0.0439078 0.668916 0.5 --0.0324957 0.0889348 0.0439847 0.64397 0.5 --0.0314817 0.0889488 0.0439042 0.636481 0.5 --0.0305059 0.0889327 0.0438397 0.629464 0.461567 --0.0294944 0.0889496 0.044252 0.736237 0.5 --0.0284884 0.0890334 0.0453918 0.56869 0.5 -0.0190967 0.127602 0.0138576 0.643391 0.5 -0.0182337 0.128007 0.0135344 0.637857 0.452773 -0.01736 0.128384 0.0132094 0.637776 0.5 -0.0164873 0.128764 0.0128859 0.632413 0.5 -0.0156501 0.129207 0.0125793 0.610895 0.469477 -0.0138565 0.129875 0.0119166 0.611135 0.5 -0.0129712 0.130228 0.0115965 0.59497 0.48167 -0.0199328 0.127154 0.0141603 0.642882 0.5 --0.0722295 0.16736 -0.0213426 0.34534 0.426295 --0.0184842 0.0897075 0.0555921 0.479259 0.479275 --0.0174992 0.0897364 0.0558751 0.507012 0.44699 --0.0164918 0.0897515 0.056205 0.536924 0.5 --0.015502 0.0897786 0.0564851 0.556856 0.5 --0.0144938 0.0897854 0.0566872 0.551112 0.5 --0.013497 0.089796 0.0568243 0.631556 0.5 --0.0125102 0.0897843 0.0566766 0.678456 0.340873 --0.0114926 0.0897634 0.0564161 0.692476 0.5 --0.0104962 0.0897854 0.05669 0.703224 0.5 --0.00949856 0.0898059 0.0569552 0.662622 0.5 --0.00849727 0.0898107 0.0570624 0.8274 0.5 --0.00749789 0.0898138 0.0570783 0.531777 0.5 --0.00649647 0.0898144 0.056995 0.664185 0.5 --0.00549358 0.0898053 0.0568842 0.656881 0.475903 --0.00448657 0.0898027 0.0567005 0.647587 0.5 --0.00349611 0.0897823 0.0565938 0.643383 0.5 --0.00248752 0.0897873 0.0564419 0.525736 0.5 --0.00150237 0.089761 0.0564112 0.631123 0.5 --0.000494586 0.0897644 0.0562541 0.620528 0.5 -0.000507606 0.089764 0.0561546 0.621338 0.5 -0.00150774 0.0897546 0.056027 0.517434 0.5 -0.00250097 0.0897336 0.0558646 0.63102 0.464433 -0.00350969 0.0897377 0.0556751 0.641845 0.5 -0.00451011 0.08973 0.0555486 0.66056 0.5 -0.00550651 0.0897139 0.0554063 0.633714 0.431655 -0.00651372 0.089712 0.0551929 0.50594 0.487761 -0.00749975 0.089676 0.055015 0.503641 0.5 -0.00850666 0.0896726 0.0548038 0.502433 0.488861 -0.00950257 0.0896505 0.0545501 0.495401 0.489122 -0.0104979 0.0896334 0.054299 0.487193 0.43 -0.0114903 0.0896115 0.0540357 0.408123 0.478488 -0.00119043 0.0895238 -0.0341779 0.619958 0.48079 --0.0465027 0.162256 0.00645028 0.435166 0.477953 -0.0378425 0.10835 0.0231802 0.659472 0.5 --0.01005 0.166619 -0.017705 0.277485 0.5 -0.00695321 0.13108 0.0193768 0.637758 0.5 --0.0774743 0.140015 0.0480697 0.556552 0.5 -0.0184997 0.0892768 0.0486726 0.669841 0.5 -0.0194826 0.0892535 0.0485994 0.636242 0.5 -0.0205013 0.0892461 0.0486645 0.49115 0.463807 -0.0214874 0.0892516 0.0486681 0.443629 0.482518 -0.0224815 0.0892515 0.0484736 0.572018 0.5 --0.0704211 0.15543 0.027334 0.860441 0.5 --0.076491 0.140037 0.0480957 0.604651 0.5 --0.0195033 0.118175 0.0352728 0.526899 0.5 --0.0695125 0.145609 0.0428052 0.503357 0.481486 -0.0359611 0.109622 -0.00183337 0.508855 0.5 --0.0779551 0.163899 -0.0249456 0.369891 0.442177 --0.0104908 0.12238 0.0346088 0.488702 0.5 --0.0464991 0.115243 0.033257 0.538323 0.5 --0.0309822 0.125744 0.00553845 0.883749 0.5 --0.0704978 0.124601 0.053003 0.557218 0.5 --0.00349533 0.123738 0.0342998 0.558982 0.42104 -0.0433406 0.0973216 0.0191637 0.523374 0.5 -0.0438908 0.0973298 0.0041758 0.55091 0.5 --0.089531 0.0983552 0.0174009 0.642967 0.5 -0.0424523 0.0958497 0.0251568 0.635888 0.5 -0.0353317 0.112044 0.0241962 0.514327 0.5 --0.076026 0.151346 0.0359505 0.343749 0.462155 -0.0260142 0.118212 -0.00538239 0.615055 0.5 --0.0921303 0.11612 0.0363104 0.620965 0.5 --0.0915175 0.140609 0.0191776 0.607715 0.5 -0.0393065 0.105567 0.023165 0.638743 0.5 --0.0678122 0.0908837 -0.0169858 0.630872 0.5 --0.0811465 0.155009 0.0163089 0.572796 0.5 -0.0223132 0.124739 0.023599 0.491112 0.5 --0.0397671 0.127634 -0.000654541 0.869564 0.5 -0.0313581 0.116535 0.0255569 0.614244 0.5 -0.0182602 0.127523 0.0192457 0.392289 0.5 --0.0618581 0.153131 0.03333 0.436571 0.335809 -0.0220807 0.125732 0.0192313 0.425407 0.5 --0.00627368 0.128136 0.0276028 0.288504 0.5 --0.0132005 0.128825 0.00480743 0.695909 0.5 -0.00637955 0.131641 0.0120332 0.816446 0.5 -0.00735987 0.131518 0.0123881 0.816165 0.5 --0.0677271 0.155796 -0.00229118 0.653725 0.5 --0.0748544 0.15611 0.0141114 0.704388 0.5 --0.00575467 0.1008 0.0460186 0.351717 0.5 --0.0822477 0.106043 -0.00262262 0.373878 0.469865 --0.0866496 0.106304 0.00937201 0.739233 0.5 --0.0725291 0.0901409 0.0413911 0.560484 0.448827 --0.0715046 0.0901731 0.0417302 0.579879 0.466998 --0.0705035 0.0901829 0.0418541 0.592955 0.471206 --0.0694946 0.0902043 0.0422251 0.567379 0.348894 --0.0684915 0.0902546 0.0428415 0.52006 0.5 --0.087261 0.137734 0.00520439 0.386013 0.5 --0.0665084 0.0903473 0.0440273 0.616376 0.5 --0.0655009 0.0903733 0.0443899 0.523341 0.5 --0.0644925 0.0903995 0.0447493 0.550154 0.438229 --0.0634853 0.0904216 0.0451002 0.575741 0.444625 --0.0624955 0.0904382 0.0452713 0.703596 0.443749 --0.0614974 0.0904473 0.0454009 0.689243 0.5 --0.0604973 0.0904382 0.0452731 0.713034 0.5 --0.0594976 0.0904384 0.0451853 0.717061 0.5 --0.058497 0.0904388 0.0452323 0.691431 0.5 --0.0574961 0.0904385 0.0452768 0.694724 0.5 --0.0564976 0.0904367 0.0452654 0.695441 0.5 --0.0554962 0.0904299 0.0451691 0.673197 0.5 --0.0545067 0.0904158 0.0449797 0.823824 0.383755 --0.0534973 0.0903982 0.0447559 0.823063 0.5 --0.0524994 0.0903873 0.0447034 0.805317 0.5 --0.0514988 0.090386 0.0447021 0.766185 0.5 --0.050497 0.0903958 0.0446608 0.749393 0.5 --0.0494977 0.0903933 0.0446494 0.721187 0.5 --0.0484951 0.0903851 0.0445307 0.693281 0.5 --0.047508 0.0903548 0.0442194 0.527666 0.5 --0.046474 0.0903329 0.04369 0.645294 0.462104 --0.0454559 0.0902978 0.0432333 0.674813 0.5 --0.0444607 0.0902688 0.0428496 0.689616 0.5 --0.0434818 0.0902492 0.04268 0.700987 0.5 --0.0424925 0.0902452 0.0426486 0.546802 0.5 --0.0414961 0.0902351 0.0425692 0.58532 0.5 --0.0405063 0.0902417 0.0426463 0.614331 0.5 --0.0394974 0.0902763 0.0431118 0.689905 0.5 --0.0384918 0.0903063 0.0434643 0.765924 0.5 --0.0374817 0.0903202 0.0435434 0.78378 0.5 --0.036497 0.0903135 0.0436162 0.806614 0.5 --0.0354869 0.0903478 0.043788 0.768492 0.5 --0.0344924 0.09037 0.0442186 0.740904 0.5 --0.033491 0.0904012 0.0444067 0.68196 0.5 --0.0324935 0.0903869 0.0442776 0.650986 0.5 --0.0314952 0.0903684 0.0441958 0.619368 0.5 --0.0304819 0.0903593 0.0440392 0.587672 0.5 --0.0294925 0.0903536 0.0441109 0.762499 0.5 --0.0284453 0.0903864 0.0448476 0.639236 0.5 -0.0207654 0.126697 0.0144664 0.520578 0.414678 -0.0215945 0.126233 0.0147739 0.520073 0.479098 -0.022422 0.125761 0.0150782 0.534019 0.5 -0.0232288 0.125257 0.0153837 0.537011 0.5 -0.0240159 0.124704 0.0156714 0.558032 0.5 -0.0248097 0.124191 0.0159771 0.552725 0.396166 -0.0255848 0.123614 0.0162626 0.54548 0.447459 -0.027072 0.122359 0.0168201 0.593248 0.434231 -0.0263253 0.122966 0.0165355 0.56543 0.5 --0.0184847 0.091067 0.0550019 0.4489 0.5 --0.0174841 0.0910963 0.0554741 0.469786 0.5 --0.0164849 0.0911174 0.0558291 0.592729 0.5 --0.0154951 0.0911415 0.0560918 0.594143 0.477803 --0.0144839 0.0911543 0.0563071 0.505796 0.474517 --0.0134986 0.0911752 0.0564813 0.596208 0.5 --0.0124858 0.0911558 0.0565265 0.537959 0.465022 --0.0114919 0.0911558 0.0564108 0.679406 0.5 --0.0104995 0.091174 0.0564817 0.682057 0.5 --0.00949777 0.091187 0.0566315 0.643028 0.470481 --0.00849948 0.0911907 0.056727 0.639163 0.5 --0.00749562 0.091199 0.0567536 0.535331 0.456927 --0.00649604 0.0912014 0.0567618 0.524121 0.466434 --0.00549585 0.0911858 0.0567127 0.629773 0.484283 --0.00449141 0.0911839 0.0565229 0.52621 0.47559 --0.00349433 0.0911707 0.0563818 0.518382 0.485484 --0.00249248 0.0911617 0.056251 0.525501 0.481257 --0.00149595 0.0911539 0.0561263 0.812878 0.5 --0.000494259 0.0911454 0.0560111 0.804581 0.5 -0.000504835 0.0911354 0.0558722 0.613926 0.48733 -0.00150816 0.0911296 0.0556681 0.517109 0.48805 -0.00251114 0.0911189 0.0554408 0.524132 0.484692 -0.0034971 0.091096 0.055256 0.519011 0.480053 -0.00450871 0.0910904 0.0550512 0.628616 0.440976 -0.00550789 0.0910775 0.054811 0.515774 0.5 -0.00650044 0.0910463 0.0545358 0.518031 0.5 -0.00749229 0.091015 0.0542708 0.616772 0.5 -0.00849738 0.0910108 0.0540495 0.630249 0.5 -0.00950436 0.0910078 0.0538342 0.64499 0.389592 -0.010498 0.0909888 0.0536897 0.632169 0.5 -0.011503 0.0909852 0.0534706 0.613156 0.5 -0.0124994 0.0909598 0.0531045 0.505684 0.5 --0.000429299 0.131494 0.0138246 0.69251 0.5 --0.0704928 0.117562 0.0527864 0.60212 0.5 --0.0714928 0.117552 0.0529474 0.640706 0.5 --0.072499 0.117558 0.0529308 0.684811 0.5 --0.0735009 0.117559 0.0527975 0.702159 0.5 -0.0184912 0.0906471 0.0481735 0.670372 0.5 -0.0194927 0.0906432 0.0481529 0.884933 0.5 -0.020489 0.0906324 0.0482147 0.621688 0.5 -0.0214919 0.0906421 0.0482356 0.525806 0.5 -0.0224894 0.0906371 0.0481279 0.558146 0.462895 --0.0414977 0.115265 0.0337662 0.662964 0.386172 --0.0022788 0.119988 -0.0131916 0.826286 0.5 --0.0235351 0.118111 0.0331575 0.415504 0.458249 --0.0705096 0.145613 0.0431794 0.492812 0.484876 --0.060041 0.155524 0.0222725 0.673323 0.5 --0.0665787 0.163768 -0.0579853 0.572647 0.5 -0.0360094 0.105316 -0.00780471 0.539312 0.5 -0.0420818 0.101483 0.016165 0.571367 0.490861 --0.0144941 0.122325 0.033097 0.418658 0.5 --0.0694908 0.124597 0.0526574 0.469868 0.46819 --0.00449218 0.123763 0.0343217 0.548473 0.404963 -0.0435215 0.0973118 0.0181533 0.646339 0.5 -0.0442692 0.0973579 0.00816486 0.562618 0.5 --0.00925832 0.177251 -0.027731 0.308043 0.391935 --0.0114975 0.12239 0.0342495 0.463506 0.5 --0.0484946 0.156406 0.00957752 0.623618 0.465773 --0.0705331 0.144185 0.0442754 0.60571 0.467732 --0.0105509 0.165091 -0.0177492 0.280751 0.5 --0.0909825 0.11607 0.0303184 0.447552 0.461926 --0.0478629 0.125952 -0.00709772 0.554896 0.399931 -0.0164903 0.113991 0.0376096 0.671914 0.5 -0.0381316 0.109734 0.0151646 0.713561 0.5 --0.0321679 0.120788 0.027294 0.48735 0.360382 -0.0214921 0.125223 0.0232941 0.641301 0.382524 --0.0097273 0.130072 0.0104159 0.712731 0.5 -0.0294149 0.118962 0.0248216 0.581141 0.5 -0.0174027 0.127944 0.018931 0.413995 0.5 --0.0594646 0.151494 0.0342364 0.444407 0.5 -0.023685 0.124697 0.0198268 0.438695 0.5 --0.0707512 0.156365 0.0199172 0.64464 0.5 --0.0144465 0.128429 0.00434765 0.696791 0.5 --0.0119452 0.129197 0.00527137 0.706367 0.5 -0.00534877 0.131711 0.0116581 0.809608 0.5 --0.0647933 0.15319 -0.00116291 0.891579 0.5 --0.0670185 0.155095 -0.00202392 0.716616 0.5 --0.0370064 0.121579 0.0285082 0.463326 0.5 --0.0591933 0.155725 0.01387 0.649841 0.5 --0.0798437 0.119249 -0.00499812 0.527876 0.386419 --0.0934071 0.117385 0.0163015 0.654768 0.5 --0.0725279 0.091561 0.0413901 0.544171 0.444972 --0.0715197 0.0915892 0.0417662 0.551294 0.5 --0.0705315 0.0915903 0.0419348 0.555543 0.481678 --0.0695005 0.091616 0.0421021 0.685465 0.5 --0.0685195 0.0916417 0.0424016 0.651621 0.5 --0.0675863 0.0915604 0.0429945 0.597795 0.395518 --0.0664939 0.0917254 0.0436166 0.576209 0.5 --0.0654918 0.0917539 0.043991 0.603857 0.471515 --0.0644855 0.0917771 0.0443552 0.532044 0.5 --0.0635024 0.0918143 0.0447779 0.541659 0.5 --0.0624998 0.091833 0.0450322 0.554967 0.5 --0.0614888 0.0918402 0.045217 0.678752 0.5 --0.0604969 0.0918487 0.0452694 0.685578 0.5 --0.0594957 0.0918578 0.0453847 0.687443 0.5 --0.0584972 0.0918588 0.045399 0.673783 0.5 --0.0574984 0.0918591 0.045399 0.685739 0.5 --0.0564984 0.0918565 0.0453856 0.676263 0.5 --0.055503 0.0918468 0.0452512 0.634435 0.477778 --0.0545043 0.0918174 0.0448821 0.629246 0.402554 --0.0535025 0.0917839 0.0444757 0.629197 0.472153 --0.0524976 0.0917711 0.0441581 0.801039 0.5 --0.0514977 0.0917694 0.0441515 0.831324 0.5 --0.0504992 0.0917781 0.0442368 0.799354 0.5 --0.049492 0.0917757 0.044207 0.768398 0.5 --0.0484736 0.0917654 0.0440291 0.714507 0.5 --0.0474794 0.0917467 0.0438194 0.729279 0.5 --0.0464789 0.0917181 0.0434263 0.724107 0.5 --0.0454732 0.0917007 0.0431865 0.730408 0.5 --0.0444858 0.091688 0.0430295 0.729465 0.5 --0.0434801 0.0917165 0.0428888 0.490492 0.46307 --0.0424942 0.0916602 0.0426604 0.595361 0.5 --0.0414975 0.0916447 0.0424797 0.605577 0.5 --0.0404969 0.0916505 0.0425962 0.620752 0.5 --0.0394992 0.0916803 0.0429883 0.699492 0.5 --0.0384759 0.091717 0.0434324 0.752323 0.5 --0.0374903 0.0917378 0.0437278 0.758028 0.5 --0.0364756 0.0917702 0.0440382 0.747176 0.5 --0.0354929 0.0917868 0.0443508 0.723538 0.5 --0.0344884 0.0918084 0.0445658 0.716287 0.5 --0.0334891 0.091814 0.044517 0.700487 0.5 --0.032497 0.0917926 0.0443017 0.637429 0.5 --0.0314963 0.0917789 0.0442247 0.596224 0.5 --0.0304965 0.0917653 0.0441169 0.620324 0.5 --0.0294909 0.0917678 0.0440939 0.621671 0.5 --0.0284904 0.0917855 0.0443788 0.726628 0.423557 --0.0275307 0.0918372 0.0449329 0.663547 0.434651 -0.0333782 0.11597 0.0192002 0.652474 0.5 -0.0327251 0.116757 0.0189485 0.642656 0.5 -0.0320656 0.117538 0.0186978 0.649358 0.5 -0.0313831 0.11825 0.0184294 0.645428 0.5 -0.0306925 0.119003 0.0181751 0.634769 0.5 -0.029259 0.120361 0.0176317 0.617984 0.5 -0.0278048 0.121695 0.017093 0.598878 0.5 -0.0285346 0.121033 0.017364 0.602997 0.5 -0.0299804 0.119686 0.0179058 0.639577 0.5 --0.0174771 0.0924389 0.0547456 0.503825 0.5 --0.0164537 0.0924837 0.0552632 0.443202 0.477658 --0.0154945 0.0925097 0.0555061 0.453496 0.471613 --0.0144952 0.092498 0.0556089 0.455865 0.474735 --0.0134957 0.0925258 0.0558596 0.456177 0.5 --0.0124951 0.0925417 0.056096 0.578062 0.5 --0.0115004 0.0925527 0.0561224 0.624841 0.5 --0.0104988 0.09255 0.056119 0.61751 0.5 --0.00950093 0.0925586 0.0561384 0.624848 0.5 --0.00849427 0.0925522 0.0562249 0.637128 0.462759 --0.00749931 0.0925693 0.0562701 0.51683 0.5 --0.00649896 0.092559 0.0563419 0.517374 0.5 --0.00549615 0.0925657 0.0562617 0.624082 0.5 --0.00449521 0.0925603 0.0561444 0.618464 0.474845 --0.00349386 0.0925503 0.0560196 0.624633 0.5 --0.00249367 0.0925505 0.0559214 0.615346 0.5 --0.00150095 0.0925253 0.0558525 0.607706 0.47805 --0.000492618 0.0925258 0.0556594 0.600115 0.5 -0.000505603 0.092515 0.0555251 0.492015 0.5 -0.00150906 0.0925101 0.0553138 0.511452 0.46616 -0.00250661 0.0924946 0.055168 0.434514 0.487635 -0.00351496 0.0924905 0.0549546 0.508462 0.5 -0.00450283 0.0924607 0.0546761 0.582574 0.5 -0.00549857 0.09243 0.054294 0.55694 0.5 -0.00649864 0.0924086 0.053834 0.597357 0.452723 -0.00749052 0.0923616 0.0534281 0.609493 0.5 -0.00849261 0.092349 0.0531984 0.63663 0.5 -0.009491 0.0923319 0.053062 0.648033 0.5 -0.0104929 0.0923225 0.0529394 0.64912 0.377069 -0.0114966 0.0923286 0.0527326 0.629731 0.5 -0.0124978 0.092313 0.0523832 0.519322 0.5 -0.000663768 0.131541 0.0142252 0.689628 0.5 -0.0337889 0.112917 0.0264745 0.63405 0.5 --0.0180637 0.122407 0.0308158 0.574338 0.337907 --0.0896888 0.137919 0.0321971 0.586347 0.461419 --0.0697061 0.156309 0.0202886 0.681591 0.5 -0.0184844 0.092024 0.0477707 0.671835 0.5 -0.0194957 0.0920261 0.0477827 0.89206 0.5 -0.0204977 0.0920241 0.0479175 0.539269 0.46243 -0.0214843 0.092023 0.0479434 0.549538 0.5 -0.0224766 0.0920198 0.0478397 0.685145 0.5 -0.0190905 0.127062 0.0195525 0.50134 0.5 --0.0755097 0.135846 0.0506323 0.603993 0.5 --0.0225344 0.118142 0.03379 0.415116 0.5 --0.0664528 0.145477 0.0410093 0.620117 0.5 --0.0732183 0.172207 -0.0490431 0.43732 0.455145 --0.000499443 0.114191 0.0415203 0.621781 0.5 -0.0166529 0.120978 0.0330533 0.703959 0.5 --0.0784807 0.13724 0.0497912 0.55829 0.453344 --0.0493916 0.144765 0.00938332 0.652465 0.5 --0.0362968 0.126232 -0.00232089 0.921464 0.5 --0.00748204 0.123738 0.0339317 0.543363 0.5 -0.0433826 0.0987102 0.00417641 0.555757 0.5 -0.0442649 0.0973538 0.00716867 0.553753 0.5 --0.053518 0.1534 0.0145047 0.528925 0.5 --0.0073165 0.13056 0.0112981 0.706736 0.5 --0.0774871 0.138654 0.0489668 0.596044 0.5 --0.0735032 0.144216 0.0449341 0.605367 0.5 -0.022476 0.125337 0.020807 0.396681 0.362349 --0.0311279 0.168264 -0.00654632 0.59106 0.5 --0.0377436 0.127354 0.000111554 0.899954 0.5 --0.054309 0.153692 0.0171048 0.493532 0.5 --0.0531482 0.161241 0.00587596 0.343566 0.5 --0.0675655 0.156308 0.0210392 0.702651 0.5 -0.0206619 0.125677 0.022985 0.381715 0.475734 --0.00852427 0.130326 0.0108566 0.706435 0.5 --0.0891577 0.092949 0.0214162 0.539357 0.478012 -0.0360267 0.110062 0.0258818 0.523467 0.5 --0.0852903 0.152844 0.0238067 0.277528 0.381002 -0.0244484 0.124114 0.020115 0.44565 0.40673 -0.008888 0.126629 0.0301427 0.412858 0.374221 -0.0370248 0.10907 0.0248298 0.525618 0.490546 --0.0106876 0.129553 0.00573838 0.710437 0.5 -0.0357348 0.111877 0.0229152 0.632721 0.5 --0.0868795 0.0927253 0.00342064 0.461785 0.310254 --0.0924737 0.125588 0.0362608 0.812671 0.5 --0.0701892 0.156285 0.021569 0.642536 0.5 --0.0761724 0.154401 0.00198863 0.17823 0.203391 --0.0182317 0.187056 -0.0182936 0.253429 0.5 --0.0916556 0.116096 0.0323166 0.443392 0.5 --0.0724942 0.0928706 0.0413391 0.55568 0.43183 --0.071511 0.0930107 0.0417462 0.537557 0.47293 --0.0705133 0.0930254 0.0420143 0.540765 0.5 --0.0694907 0.0930374 0.0422024 0.680962 0.5 --0.0685147 0.0930476 0.0422841 0.574642 0.488722 --0.0674962 0.0930678 0.0426016 0.527605 0.487663 --0.0665114 0.0931036 0.0430214 0.574093 0.376533 --0.0655017 0.0931357 0.0435076 0.574069 0.5 --0.0644838 0.0931562 0.0439721 0.496815 0.5 --0.0635003 0.0931972 0.0443921 0.507451 0.477071 --0.0624726 0.093208 0.0448109 0.534018 0.452286 --0.0614885 0.0932285 0.0449784 0.537753 0.457253 --0.0604952 0.0932426 0.0451145 0.659884 0.466892 --0.0594987 0.0932573 0.0451741 0.662125 0.462435 --0.0584964 0.0932599 0.0452695 0.657793 0.5 --0.0574951 0.093265 0.0451928 0.667292 0.465296 --0.0564987 0.0932477 0.0451284 0.527137 0.5 --0.0554929 0.0932384 0.0449182 0.601179 0.5 --0.054495 0.0932121 0.0445367 0.618373 0.395692 --0.0534962 0.0931826 0.0441514 0.792626 0.5 --0.0524976 0.0931679 0.0439324 0.836016 0.5 --0.0514985 0.0931716 0.0440238 0.692006 0.5 --0.0504998 0.0931897 0.044287 0.680849 0.5 --0.0494967 0.0932039 0.0445022 0.630269 0.5 --0.0484872 0.0931824 0.0442201 0.604984 0.410178 --0.0474847 0.0931518 0.0438057 0.765284 0.5 --0.0464855 0.0931347 0.0435353 0.770251 0.5 --0.0454849 0.0931252 0.0434035 0.610876 0.5 --0.0445007 0.0931064 0.043109 0.609839 0.417827 --0.0434939 0.0930777 0.0427388 0.596658 0.475748 --0.042508 0.0930307 0.0424902 0.52177 0.439233 --0.0415 0.0930514 0.0423592 0.62934 0.461117 --0.0404998 0.0930589 0.0424923 0.671879 0.5 --0.0395093 0.0930879 0.0428865 0.674107 0.436406 --0.0384668 0.0931237 0.0434147 0.705866 0.397738 --0.0374862 0.0931566 0.0438456 0.720331 0.5 --0.0364811 0.0931828 0.0441998 0.709757 0.5 --0.0354775 0.0932002 0.0444179 0.720388 0.5 --0.0344784 0.0932112 0.0445123 0.722766 0.5 --0.0334907 0.0932064 0.044455 0.686904 0.5 --0.0324927 0.0932098 0.0444316 0.636127 0.5 --0.0314925 0.0932138 0.0444288 0.642486 0.5 --0.030492 0.093206 0.0443051 0.614534 0.5 --0.0294928 0.0931993 0.044345 0.608184 0.5 --0.0284906 0.0932063 0.0444855 0.595205 0.5 --0.0274983 0.0932247 0.0447643 0.581759 0.5 --0.0266282 0.0932643 0.045173 0.646286 0.427692 --0.0141549 0.129252 0.0145753 0.564574 0.318647 -0.0340287 0.115127 0.0194375 0.657194 0.5 -0.0346578 0.114254 0.0196698 0.64464 0.5 -0.0352633 0.113355 0.0198926 0.662863 0.5 -0.0364601 0.111481 0.0203251 0.676533 0.5 -0.0376363 0.109584 0.0207569 0.678516 0.5 --0.0154115 0.128891 0.0141212 0.522428 0.5 -0.0370519 0.110502 0.0205344 0.668254 0.5 -0.0358716 0.112393 0.0201061 0.678056 0.5 --0.0164997 0.0938314 0.054193 0.383617 0.5 --0.015483 0.0938222 0.0546278 0.404176 0.5 --0.0144923 0.093841 0.0546527 0.433568 0.483132 --0.0135421 0.093873 0.0547462 0.516367 0.342031 --0.0124997 0.0938947 0.0551641 0.515108 0.5 --0.0114927 0.0938853 0.0554733 0.566519 0.434659 --0.0104958 0.0939039 0.0555039 0.545713 0.5 --0.00949586 0.0938956 0.0554931 0.576035 0.5 --0.00849618 0.0939016 0.0554996 0.59899 0.5 --0.00749757 0.0939067 0.0556187 0.610333 0.5 --0.00649817 0.0939276 0.0556503 0.601668 0.450562 --0.00549893 0.0939194 0.0556385 0.613541 0.5 --0.00449744 0.0939058 0.0556112 0.627263 0.5 --0.00349838 0.0938964 0.0554871 0.598483 0.5 --0.00249784 0.0939038 0.0553992 0.599754 0.437826 --0.0014996 0.0938866 0.0553603 0.575447 0.5 --0.000502218 0.0938722 0.0552243 0.593606 0.5 -0.000498438 0.0938703 0.0551155 0.480344 0.457704 -0.00150188 0.0938741 0.0550191 0.571779 0.5 -0.00249981 0.0938632 0.054785 0.475085 0.487504 -0.00351431 0.0938625 0.0544725 0.468806 0.5 -0.00450074 0.0938217 0.0540732 0.479771 0.465143 -0.00549734 0.0937843 0.053579 0.489961 0.5 -0.00650022 0.0937602 0.0531051 0.507288 0.5 -0.00748123 0.0937253 0.0527164 0.518581 0.477016 -0.00848126 0.0936832 0.0524446 0.625449 0.5 -0.00949153 0.0936876 0.0522363 0.618469 0.5 -0.0104883 0.0936688 0.0521003 0.612462 0.5 -0.0114833 0.0936471 0.0518498 0.626354 0.5 -0.0124869 0.0936385 0.0515089 0.51522 0.5 -0.0134712 0.0936014 0.0511282 0.516295 0.482976 -0.0384483 0.10837 0.0201721 0.703146 0.5 -0.0406661 0.105634 0.0121644 0.697808 0.5 --0.0504953 0.154968 0.0107183 0.610131 0.475405 -0.0174748 0.0934539 0.0481542 0.670498 0.5 -0.0184724 0.0934238 0.0476306 0.672311 0.473034 -0.0194892 0.0934174 0.0476186 0.904696 0.5 -0.0204871 0.0934146 0.0476927 0.535551 0.5 -0.0214864 0.0934187 0.0477129 0.689604 0.5 -0.022475 0.0933993 0.047467 0.675798 0.5 --0.072501 0.11898 0.053434 0.66138 0.5 --0.0324964 0.117987 0.0309791 0.596684 0.5 --0.021523 0.118151 0.0342827 0.445128 0.445171 --0.0735089 0.120392 0.0535609 0.647393 0.5 --0.061813 0.175696 -0.0586065 0.353011 0.447085 --0.00916969 0.168123 -0.0207225 0.221481 0.369387 -0.0051585 0.127708 0.0288034 0.424961 0.411149 --0.0794167 0.137236 0.0495785 0.51997 0.456814 --0.0304675 0.175749 -0.00423829 0.363298 0.5 --0.0697175 0.155623 0.0028257 0.687058 0.5 --0.0064883 0.123768 0.0340789 0.51268 0.388097 -0.043549 0.0987325 0.00516762 0.560166 0.5 -0.044036 0.0973464 0.00517085 0.558713 0.5 --0.0245806 0.124862 0.0196194 0.337489 0.41587 --0.0734899 0.123206 0.0535424 0.521311 0.483839 --0.0784635 0.138605 0.0489019 0.556908 0.5 --0.0725121 0.144203 0.0447958 0.614358 0.447167 --0.0329445 0.121338 0.0269922 0.653174 0.370386 --0.0586802 0.148237 0.034554 0.550628 0.436284 --0.0814624 0.13163 0.0517276 0.537846 0.454568 --0.0804996 0.127434 0.052885 0.551941 0.5 --0.0732356 0.176411 -0.0530886 0.376496 0.5 --0.0685481 0.156429 0.0206858 0.68524 0.321295 -0.0230836 0.12416 0.0238853 0.55377 0.444425 --0.0108662 0.129871 0.00999779 0.699404 0.5 --0.0384602 0.127124 -0.00162988 0.894322 0.5 -0.035443 0.111045 0.0256623 0.616368 0.5 --0.069185 0.156032 0.0248455 0.531176 0.417911 -0.0228724 0.125195 0.0195238 0.42909 0.437087 -0.0212529 0.1262 0.0189269 0.430922 0.5 -0.0364765 0.110061 0.0246179 0.525392 0.485375 --0.00949201 0.129843 0.00617837 0.719441 0.5 -0.0363164 0.11089 0.0231265 0.630416 0.5 --0.0662723 0.154476 -0.00173975 0.784866 0.5 --0.0655548 0.153788 -0.00146085 0.842506 0.5 -0.0106021 0.12463 0.0322012 0.517198 0.478408 --0.0837218 0.154141 0.0154269 0.506582 0.5 --0.00991923 0.0986226 0.0505787 0.362421 0.5 -0.0113328 0.124014 0.0325236 0.564376 0.5 --0.0458806 0.10564 -0.0201801 0.683228 0.5 --0.0715263 0.0944187 0.0416527 0.513056 0.5 --0.0704921 0.0944433 0.0420805 0.518563 0.470645 --0.0694824 0.0944579 0.0422945 0.672604 0.455387 --0.0684942 0.0944611 0.0423345 0.685825 0.46007 --0.067492 0.0944588 0.0423306 0.672396 0.5 --0.0665096 0.0944832 0.0425185 0.6261 0.5 --0.0654853 0.0944999 0.0429585 0.589231 0.5 --0.064515 0.0945534 0.0434117 0.489697 0.479862 --0.0635019 0.0945759 0.0438874 0.479062 0.5 --0.0624814 0.094591 0.0443423 0.598111 0.5 --0.0614849 0.0946016 0.0445824 0.602942 0.479644 --0.0604857 0.094604 0.0446906 0.616966 0.5 --0.0594974 0.0946317 0.0447571 0.51263 0.5 --0.0584963 0.0946188 0.0448266 0.610175 0.477421 --0.0574955 0.0946379 0.0447737 0.620681 0.5 --0.0565021 0.0946206 0.04473 0.630879 0.5 --0.0555057 0.0946 0.044463 0.610248 0.5 --0.0544999 0.0945829 0.0441089 0.776814 0.5 --0.053497 0.0945663 0.0438533 0.821889 0.5 --0.0524967 0.0945727 0.0438723 0.663268 0.5 --0.0514961 0.0945888 0.044111 0.661496 0.5 --0.0504886 0.0946205 0.0445363 0.694559 0.454725 --0.0494969 0.0946343 0.044743 0.666718 0.5 --0.048501 0.0946267 0.0446158 0.664191 0.5 --0.0474749 0.0945717 0.0440635 0.521803 0.356315 --0.0464518 0.0945568 0.0436355 0.513848 0.5 --0.0454954 0.0945383 0.0433792 0.512737 0.481592 --0.0444648 0.0945053 0.0429498 0.631284 0.376642 --0.0434854 0.0944868 0.0426487 0.617673 0.47353 --0.0424855 0.09447 0.0423231 0.64866 0.5 --0.0414998 0.0944525 0.0421484 0.668264 0.5 --0.0405043 0.0944618 0.0422679 0.679214 0.5 --0.0394914 0.0944889 0.0427101 0.663606 0.5 --0.038479 0.0945169 0.0431902 0.658886 0.394778 --0.0374622 0.0945463 0.043653 0.655463 0.5 --0.0364793 0.0945677 0.0439429 0.676726 0.446015 --0.0354827 0.0945899 0.0441989 0.816301 0.5 --0.0344963 0.094609 0.0443801 0.6905 0.458851 --0.0334933 0.0946149 0.0444857 0.694461 0.5 --0.0324852 0.0946249 0.0445277 0.67509 0.5 --0.0314938 0.0946271 0.0446065 0.633074 0.5 --0.0304948 0.094646 0.0448519 0.622211 0.5 --0.0294901 0.0946648 0.0450535 0.603361 0.5 --0.0284962 0.0946634 0.0451029 0.56484 0.5 --0.0274872 0.094655 0.0450969 0.67853 0.5 --0.0265055 0.0946665 0.044662 0.6122 0.249606 --0.0254987 0.0945485 0.0446378 0.672319 0.5 --0.0665323 0.154667 0.00252946 0.893868 0.5 --0.0455234 0.131922 0.0119481 0.462069 0.5 --0.0315791 0.125791 0.0170798 0.445893 0.463327 --0.0297787 0.125132 0.0177406 0.408696 0.5 --0.0133594 0.127978 0.0236019 0.399424 0.5 -0.000512384 0.127929 0.028588 0.338057 0.454471 -0.00710349 0.126169 0.0309735 0.423369 0.5 -0.00523694 0.126704 0.0302977 0.39106 0.472658 -0.00144942 0.127679 0.0289378 0.430036 0.414441 --0.0155009 0.0951913 0.0533641 0.323594 0.5 --0.0144859 0.0951551 0.0535558 0.436317 0.5 --0.0134899 0.0951663 0.0534531 0.482131 0.5 --0.0125183 0.095238 0.0536312 0.453876 0.26908 --0.0114897 0.0951792 0.0542781 0.446732 0.426556 --0.0104933 0.0952299 0.0545267 0.455283 0.5 --0.00948994 0.0952069 0.0546127 0.537313 0.421532 --0.00849797 0.0952525 0.0545557 0.523072 0.5 --0.00749453 0.0952341 0.0547544 0.542079 0.5 --0.0064991 0.0952675 0.0547927 0.5561 0.5 --0.00549683 0.095262 0.0547887 0.579525 0.5 --0.0044982 0.0952431 0.0547633 0.613114 0.401248 --0.00349883 0.095211 0.054715 0.593879 0.5 --0.00249757 0.0952299 0.0546317 0.555935 0.5 --0.00149834 0.095227 0.054625 0.544807 0.5 --0.000500036 0.0952296 0.0545194 0.554008 0.5 -0.00049039 0.0952019 0.0544773 0.549265 0.5 -0.00148048 0.0952613 0.0542408 0.462121 0.46625 -0.00249575 0.0952068 0.0540463 0.443612 0.5 -0.00347944 0.095162 0.0537659 0.471629 0.465315 -0.00448177 0.0951431 0.0532987 0.485797 0.5 -0.00549498 0.0951378 0.0528545 0.500847 0.5 -0.00648653 0.0951017 0.0524749 0.494403 0.5 -0.00749418 0.095088 0.0520151 0.488013 0.5 -0.00848559 0.0950467 0.0516302 0.477185 0.5 -0.00948509 0.0950229 0.0512669 0.468503 0.5 -0.0104769 0.0949778 0.0509942 0.484291 0.45986 -0.0114695 0.0949418 0.0507264 0.483304 0.5 -0.0124807 0.0949598 0.0504131 0.596135 0.5 -0.01346 0.094917 0.0501359 0.485914 0.479285 --0.057716 0.154704 0.0245626 0.568318 0.5 -0.0247834 0.123596 0.021665 0.557786 0.5 -0.0257715 0.122252 0.0234619 0.614147 0.5 -0.0174632 0.0948293 0.047857 0.687032 0.5 -0.0184887 0.0948214 0.0475148 0.947542 0.5 -0.0194938 0.0948135 0.0473832 0.694002 0.5 -0.0204841 0.0948066 0.0474378 0.552111 0.480708 -0.0214853 0.0948038 0.0473574 0.68672 0.5 -0.0224755 0.0947811 0.0470955 0.444578 0.465898 --0.0334943 0.11802 0.0311453 0.599774 0.5 --0.00448593 0.118295 0.0389891 0.643993 0.5 --0.074497 0.120396 0.0533632 0.675309 0.5 --0.0872512 0.106353 0.0133638 0.774556 0.5 --0.0681737 0.074979 0.0383298 0.596573 0.5 --0.032468 0.175717 -0.00291757 0.285206 0.449512 -0.00949693 0.121023 0.0358683 0.538088 0.5 -0.0383178 0.106879 0.000185785 0.557368 0.5 --0.0229947 0.122243 0.0275866 0.436207 0.315306 --0.00548754 0.123746 0.0343085 0.519143 0.393855 -0.0422406 0.0986762 0.0221715 0.651774 0.5 -0.0357616 0.0967769 -0.0118087 0.738943 0.5 --0.0673436 0.155169 0.0284164 0.893254 0.5 --0.0714952 0.123214 0.0534125 0.572458 0.476155 --0.0794627 0.138625 0.0485832 0.512716 0.5 --0.0715324 0.144165 0.0446205 0.605695 0.5 -0.00897367 0.131122 0.0172577 0.747635 0.5 -0.0363477 0.102053 0.0316389 0.720944 0.5 --0.0794885 0.131664 0.0524764 0.582896 0.467752 -0.0373196 0.105416 -0.00382358 0.572263 0.5 -0.0374508 0.109679 0.00217662 0.520231 0.463847 --0.00495697 0.0978375 0.052341 0.422404 0.431413 -0.0238446 0.123573 0.0241681 0.587498 0.5 --0.0121305 0.129539 0.00953518 0.68427 0.5 --0.037475 0.126933 -0.001254 0.904963 0.5 -0.0324864 0.115764 0.0245556 0.609476 0.5 --0.025634 0.122393 0.025161 0.442263 0.5 --0.0771699 0.154422 0.00455736 0.356309 0.420497 -0.0195548 0.127052 0.0182976 0.434474 0.446231 -0.0359077 0.111056 0.0244077 0.512747 0.5 --0.00828798 0.130102 0.00662088 0.729842 0.5 -0.0112135 0.130703 0.0137986 0.851446 0.5 -0.0121385 0.130422 0.0141392 0.860172 0.5 -0.0130152 0.130057 0.0144613 0.858964 0.5 -0.0139278 0.129741 0.0148027 0.618873 0.5 -0.014767 0.129313 0.0151085 0.86632 0.5 --0.037685 0.127343 0.0163262 0.597941 0.5 --0.0525315 0.149847 0.0192949 0.696139 0.5 --0.0868422 0.134936 0.00226938 0.578353 0.5 --0.0715256 0.0958228 0.0413941 0.501422 0.5 --0.0705026 0.0958452 0.0418601 0.581749 0.5 --0.0694956 0.0958583 0.0420894 0.622397 0.5 --0.0684956 0.0958684 0.0422138 0.670615 0.5 --0.0674874 0.0958602 0.0421807 0.688572 0.5 --0.066499 0.0958724 0.0422345 0.653051 0.5 --0.0655014 0.0958911 0.0424957 0.626988 0.5 --0.0644795 0.0959078 0.0429389 0.6064 0.5 --0.0635036 0.095949 0.0432601 0.744304 0.5 --0.0624759 0.0959475 0.043683 0.476666 0.484168 --0.0614938 0.0959769 0.0438595 0.579508 0.478415 --0.0604906 0.0959808 0.043977 0.587371 0.476647 --0.0594946 0.0959853 0.0440949 0.591361 0.5 --0.0584978 0.0959813 0.0440843 0.728858 0.5 --0.0574984 0.0959784 0.0439666 0.721096 0.5 --0.0564976 0.0959787 0.0438593 0.717939 0.5 --0.0554959 0.0959795 0.0436611 0.610281 0.5 --0.0544972 0.0959632 0.0436086 0.631584 0.476449 --0.0534962 0.0959644 0.0436141 0.648636 0.5 --0.0524868 0.0959601 0.0436811 0.660645 0.5 --0.0514936 0.0959907 0.0439844 0.68094 0.5 --0.0504951 0.0960175 0.0443724 0.653426 0.5 --0.0494978 0.0960237 0.0444817 0.846649 0.5 --0.0484883 0.0960313 0.0444485 0.535792 0.5 --0.0474662 0.0960033 0.0439936 0.618274 0.5 --0.0464486 0.0959731 0.0434949 0.520026 0.409904 --0.0454824 0.0959409 0.0431744 0.516671 0.484183 --0.0444676 0.0959215 0.0428438 0.651277 0.5 --0.0434867 0.0959016 0.0426578 0.640881 0.5 --0.0424793 0.0958739 0.0423242 0.639992 0.395624 --0.0414969 0.095865 0.0421344 0.645753 0.5 --0.0404927 0.0958661 0.0421915 0.663113 0.473982 --0.0394877 0.095879 0.0424449 0.654206 0.459827 --0.0384829 0.0959056 0.0428235 0.655545 0.452344 --0.0374873 0.0959326 0.0432114 0.60535 0.5 --0.0364738 0.0959436 0.0435424 0.535788 0.45299 --0.0354714 0.0959602 0.0437897 0.649521 0.452898 --0.0344873 0.0959942 0.0440904 0.658685 0.5 --0.0334914 0.0960174 0.044365 0.691465 0.5 --0.032494 0.096035 0.0446186 0.660035 0.5 --0.0314905 0.0960436 0.0448087 0.80552 0.5 --0.0304938 0.0960556 0.0449536 0.622199 0.473923 --0.0294958 0.0960659 0.0449891 0.492988 0.473999 --0.0285 0.0960446 0.0448096 0.680371 0.5 --0.0274981 0.0960112 0.0443229 0.595207 0.324183 --0.0264981 0.0959784 0.0437675 0.666104 0.5 --0.0254875 0.0959781 0.0438332 0.679462 0.5 --0.0245032 0.0960169 0.0442753 0.594736 0.5 -0.0114621 0.125412 0.0310862 0.483024 0.5 --0.0144911 0.124164 0.030554 0.513821 0.373341 --0.030372 0.124909 0.019004 0.32948 0.395256 -0.00388987 0.0987683 0.0495103 0.443441 0.478547 --0.0894993 0.135155 0.0302067 0.816274 0.5 --0.000225629 0.097747 0.0525183 0.511796 0.5 -0.00694939 0.128215 0.0280149 0.324012 0.5 --0.0164554 0.0963571 0.0512639 0.329325 0.473307 --0.0153678 0.09644 0.0517723 0.273845 0.433274 --0.0144732 0.096429 0.0522087 0.328126 0.5 --0.0134683 0.0964232 0.0523159 0.387734 0.5 --0.0124889 0.0964872 0.0522501 0.407893 0.5 --0.0114785 0.0965129 0.0526113 0.408222 0.426985 --0.010476 0.0965182 0.0531854 0.380141 0.420987 --0.00948854 0.0965445 0.0534324 0.417806 0.5 --0.00849451 0.0965679 0.0534544 0.433026 0.5 --0.00749239 0.096543 0.0535421 0.440218 0.5 --0.00649214 0.0965537 0.0536631 0.465848 0.396855 --0.00549542 0.0965711 0.0536823 0.485009 0.5 --0.00449535 0.0965559 0.0536663 0.498558 0.5 --0.0034976 0.0965806 0.0535793 0.509802 0.5 --0.00249868 0.0965524 0.0536599 0.475181 0.5 --0.00149973 0.0965741 0.0536819 0.453452 0.5 --0.000502572 0.0965565 0.053664 0.47867 0.5 -0.000488577 0.0965409 0.0535304 0.393157 0.354699 -0.00149843 0.0965502 0.0531993 0.400613 0.467426 -0.00247314 0.0964836 0.053027 0.407936 0.5 -0.00347668 0.0964809 0.0526894 0.41136 0.478181 -0.00448513 0.0964789 0.0523472 0.511633 0.5 -0.005469 0.0964333 0.0520715 0.464971 0.483923 -0.00646924 0.0964123 0.0516046 0.52694 0.5 -0.00748545 0.0964088 0.0510363 0.509415 0.5 -0.00847616 0.0963576 0.0505263 0.493397 0.5 -0.00948792 0.0963424 0.0500581 0.508603 0.5 -0.0104732 0.0962984 0.0498872 0.531274 0.5 -0.0114882 0.0963254 0.0495798 0.573211 0.5 -0.0124693 0.0962821 0.0494059 0.498886 0.5 -0.0134626 0.0962698 0.0490469 0.494993 0.475893 -0.0144666 0.0962642 0.0485999 0.482453 0.463953 -0.015473 0.0962531 0.0481291 0.475068 0.5 -0.0164935 0.0962515 0.0477962 0.549347 0.5 -0.0174929 0.0962345 0.0475335 0.53252 0.5 -0.0184956 0.0962193 0.0472822 0.711068 0.5 -0.0194833 0.0961991 0.0471957 0.727042 0.5 -0.0204867 0.0961927 0.0470968 0.568529 0.5 -0.021477 0.0961774 0.0469631 0.550671 0.5 -0.0224877 0.0961643 0.0466342 0.460645 0.474108 --0.0344954 0.118007 0.0312549 0.616783 0.5 --0.00349112 0.118315 0.0390164 0.651992 0.5 --0.0755176 0.120378 0.0530566 0.681596 0.5 --0.0334971 0.119329 0.0299275 0.569719 0.5 --0.0744868 0.14835 0.0408614 0.508 0.5 --0.0444953 0.12065 0.0276432 0.500567 0.5 -0.00850062 0.121038 0.0360118 0.641211 0.5 --0.0893812 0.113196 0.0217139 0.707281 0.356369 -0.00393808 0.131671 0.0154244 0.755999 0.5 -0.0272653 0.121002 0.0240179 0.663831 0.5 --0.0414264 0.125093 -0.00826982 0.586796 0.5 --0.073439 0.148627 -0.0298053 0.224341 0.389051 --0.00496439 0.130958 0.0121612 0.705251 0.5 --0.0663732 0.0796127 0.0418746 0.614914 0.477851 --0.0804568 0.138622 0.0481167 0.396637 0.465328 -0.0367704 0.109675 0.000243105 0.529921 0.5 --0.00429403 0.131101 0.0138416 0.706275 0.5 -0.0414017 0.104253 0.00516521 0.521255 0.488337 --0.078485 0.131655 0.0526796 0.600013 0.475532 --0.0921247 0.116117 0.0353113 0.525773 0.5 --0.0275092 0.181505 -0.00874152 0.220784 0.5 --0.0458334 0.0927472 -0.0217986 0.709831 0.5 --0.069928 0.113662 -0.00916203 0.5565 0.5 --0.0672153 0.156284 0.0168104 0.798225 0.5 -0.0245725 0.122909 0.0244414 0.477482 0.5 --0.0183558 0.127798 0.00725695 0.670821 0.5 --0.0365184 0.126747 -0.000928274 0.910993 0.5 -0.0318733 0.11664 0.0243218 0.60284 0.5 --0.0418108 0.128972 0.0103834 0.81345 0.5 -0.02042 0.126659 0.0186188 0.42021 0.400847 --0.0203015 0.124709 0.0241059 0.381356 0.5 --0.00714757 0.130278 0.00704353 0.71994 0.5 --0.00588102 0.130577 0.00751387 0.733861 0.5 --0.03056 0.124009 -0.00164624 0.894133 0.5 --0.0315292 0.124197 -0.00202254 0.917943 0.5 --0.0932956 0.12823 0.014251 0.737962 0.5 --0.0884031 0.101017 0.0203758 0.483641 0.5 -0.0156548 0.128965 0.0154331 0.606637 0.5 --0.0253871 0.124202 0.0208009 0.330151 0.437578 --0.0686442 0.156175 0.0235781 0.583132 0.5 --0.0715189 0.0972122 0.0409969 0.481571 0.5 --0.0705311 0.0972485 0.0414142 0.465931 0.48168 --0.069435 0.0972593 0.0417284 0.49974 0.444653 --0.0685036 0.0972643 0.0418698 0.517294 0.471679 --0.0674995 0.0972695 0.0419768 0.670525 0.470095 --0.0665061 0.0972756 0.0420058 0.674435 0.5 --0.0655106 0.0972881 0.0421527 0.6747 0.5 --0.0644877 0.0972949 0.0424471 0.639459 0.5 --0.0634992 0.0973124 0.0426152 0.791726 0.5 --0.0625026 0.0973365 0.0428841 0.590934 0.5 --0.0614955 0.0973435 0.04311 0.779482 0.5 --0.0604951 0.097348 0.0432235 0.774716 0.5 --0.0594946 0.0973472 0.0432255 0.773973 0.5 --0.0585016 0.0973698 0.0431908 0.783343 0.5 --0.0574972 0.0973516 0.04313 0.794666 0.5 --0.0564981 0.0973554 0.0431547 0.819901 0.5 --0.0554983 0.0973521 0.0432389 0.836255 0.5 --0.0544984 0.0973596 0.0432594 0.8341 0.5 --0.0534968 0.0973516 0.0432358 0.798819 0.5 --0.0524899 0.0973506 0.0433264 0.641446 0.5 --0.051494 0.097382 0.0437255 0.645994 0.474359 --0.050495 0.0974075 0.0440057 0.64429 0.465859 --0.0494963 0.0974185 0.0440407 0.637806 0.5 --0.0484974 0.0974063 0.0440017 0.636324 0.465885 --0.0475033 0.0973719 0.0436212 0.636465 0.395803 --0.0464922 0.097353 0.0431423 0.639666 0.5 --0.0455017 0.0973341 0.0429686 0.635528 0.5 --0.044481 0.0973337 0.0428134 0.674261 0.5 --0.0435092 0.0973014 0.0425845 0.648927 0.395789 --0.0424946 0.0972875 0.0422451 0.621783 0.5 --0.0415001 0.0972709 0.0420669 0.829633 0.5 --0.0404973 0.0972715 0.0419896 0.660837 0.5 --0.0395059 0.0972892 0.042147 0.657347 0.5 --0.0385113 0.0973107 0.0424108 0.632412 0.5 --0.0374891 0.0973119 0.0427062 0.652032 0.5 --0.0364752 0.09732 0.0430461 0.635436 0.5 --0.0354688 0.0973337 0.0432864 0.509845 0.5 --0.0344737 0.0973629 0.0436701 0.621146 0.5 --0.0335185 0.0974234 0.0440535 0.641243 0.468472 --0.0324865 0.0974182 0.0443398 0.646005 0.477895 --0.0314936 0.097435 0.044487 0.824329 0.5 --0.0304964 0.0974331 0.0445755 0.606432 0.5 --0.0295025 0.0974144 0.0445077 0.557338 0.5 --0.0285002 0.097396 0.0440561 0.737424 0.5 --0.0274965 0.0973724 0.0435854 0.733952 0.5 --0.0264937 0.0973851 0.0437224 0.745543 0.5 --0.0254927 0.0974122 0.0441083 0.687834 0.5 --0.0244818 0.0974513 0.0444604 0.512294 0.4578 --0.0234815 0.0974495 0.044821 0.576924 0.5 --0.0286176 0.124173 0.0196508 0.409142 0.5 -0.0447715 0.070791 0.0233171 0.530586 0.5 --0.0282629 0.122524 0.022734 0.470006 0.402936 -0.0453129 0.0698237 0.023466 0.547312 0.5 --0.0546525 0.154186 0.0155249 0.453215 0.445889 -0.0511802 0.0687267 0.0256724 0.479052 0.5 -0.0461067 0.069238 0.0238359 0.471788 0.5 --0.0154978 0.0977476 0.0489325 0.378273 0.292319 -0.0423933 0.0901635 -0.00682346 0.495184 0.485518 --0.0931816 0.121543 0.0372829 0.602492 0.46496 --0.0944613 0.121476 0.0212834 0.660571 0.5 --0.0493499 0.141685 0.00939558 0.551416 0.5 --0.0678507 0.166619 -0.0550103 0.518991 0.5 --0.00948278 0.0978353 0.051868 0.325673 0.361653 --0.00848562 0.0978428 0.0521021 0.364476 0.5 --0.00748928 0.0978336 0.0520944 0.395687 0.420746 --0.00649249 0.0978569 0.0522238 0.392997 0.413885 --0.00549246 0.097843 0.0523265 0.399128 0.5 --0.0623164 0.153672 -0.0306063 0.504191 0.5 --0.0623115 0.16311 -0.0435951 0.426292 0.444079 --0.00249736 0.0978288 0.0524276 0.420203 0.5 --0.00150184 0.0978367 0.052434 0.3929 0.5 --0.00051118 0.0978394 0.0524335 0.397454 0.5 -0.000474346 0.0977989 0.0522897 0.520914 0.5 -0.00145793 0.0977369 0.0519067 0.428962 0.5 -0.00247063 0.0977635 0.0514765 0.437052 0.481802 -0.00346471 0.0977538 0.051238 0.467651 0.483566 -0.00446502 0.0977292 0.050995 0.618393 0.5 -0.00544999 0.097676 0.0507202 0.579638 0.5 -0.0064803 0.0977098 0.0499318 0.46146 0.5 -0.0074848 0.0976824 0.0494394 0.581596 0.5 -0.00848893 0.0976878 0.0492062 0.582164 0.5 -0.00948927 0.0976692 0.0490505 0.470012 0.5 -0.0104935 0.0976882 0.0488434 0.528168 0.5 -0.0114806 0.097647 0.0487825 0.574347 0.434701 -0.012476 0.0976634 0.0485624 0.600016 0.5 -0.0134806 0.0976663 0.0482444 0.521017 0.5 -0.0144699 0.0976455 0.0479677 0.50391 0.5 -0.0154693 0.0976312 0.0477084 0.492525 0.5 -0.0164701 0.0976264 0.0474551 0.58891 0.442339 -0.0174829 0.0976104 0.0472234 0.564062 0.5 -0.0184875 0.0976002 0.0470854 0.595024 0.46889 -0.0194801 0.0975854 0.0469408 0.571908 0.481026 -0.0204758 0.0975716 0.0468126 0.550142 0.484915 -0.0214666 0.0975514 0.0465681 0.547106 0.5 -0.0224678 0.0975265 0.046211 0.453705 0.5 --0.0354946 0.118017 0.0312708 0.641551 0.376889 --0.00249301 0.118317 0.039019 0.665688 0.5 --0.076603 0.120411 0.0526033 0.564622 0.5 --0.0324956 0.119317 0.0295507 0.552806 0.5 --0.0754818 0.148362 0.0406222 0.484082 0.5 --0.0433806 0.120699 0.0278302 0.474265 0.5 -0.00749727 0.121002 0.0360768 0.628329 0.5 --0.0717062 0.159603 -0.040933 0.519944 0.5 -0.00341369 0.131576 0.0166618 0.695719 0.5 -0.0280038 0.120349 0.024295 0.528915 0.5 --0.0649944 0.132589 -0.00831046 0.790869 0.5 --0.0525045 0.159361 0.00819169 0.351846 0.5 -0.0130462 0.129592 0.0201813 0.493186 0.5 -0.0370837 0.103994 -0.00683208 0.490915 0.5 --0.00244654 0.131114 0.00878185 0.743601 0.5 --0.0774749 0.141413 0.0470689 0.540092 0.418579 --0.0424553 0.128377 0.00131486 0.857725 0.5 -0.0369538 0.108295 0.0261877 0.53385 0.470822 --0.0764958 0.131682 0.0526442 0.596061 0.5 --0.0746833 0.155701 -0.000366346 0.2148 0.322194 --0.0264503 0.181668 -0.00853376 0.237537 0.420714 --0.0728912 0.11354 -0.00756484 0.448681 0.5 -0.00286804 0.129802 0.0250965 0.35508 0.40535 -0.0252887 0.122228 0.0247087 0.496718 0.5 --0.019615 0.127443 0.00679651 0.689854 0.5 -0.0185712 0.126949 0.0207922 0.475592 0.415401 -0.0312116 0.11742 0.0240751 0.59127 0.5 --0.0464485 0.132668 0.0189406 0.671835 0.5 -0.0187225 0.127515 0.0179893 0.449095 0.470283 --0.0189668 0.125144 0.0245507 0.383916 0.5 --0.0641214 0.155412 0.0266328 0.923827 0.5 --0.0243712 0.122748 0.0255975 0.515248 0.5 --0.0785581 0.153669 0.00407716 0.314891 0.5 --0.0435601 0.129686 0.00973169 0.598048 0.5 --0.0459009 0.131661 0.0191601 0.619259 0.5 --0.0781924 0.155673 0.0158655 0.641479 0.5 --0.0741715 0.151271 -0.0318825 0.406089 0.5 -0.0165672 0.128654 0.015768 0.86732 0.5 --0.024293 0.124271 0.0211991 0.359441 0.5 --0.0712372 0.167165 -0.0209901 0.29398 0.413161 --0.0705221 0.098629 0.0408842 0.471443 0.460307 --0.0694918 0.0986232 0.041191 0.593817 0.469427 --0.0684985 0.0986495 0.0414678 0.513557 0.5 --0.0674898 0.0986608 0.0416951 0.533245 0.483082 --0.0665138 0.0986787 0.0417758 0.673276 0.5 --0.0655092 0.0986926 0.0420188 0.564936 0.5 --0.0644854 0.0986987 0.0423063 0.535206 0.5 --0.0635094 0.0987058 0.0422669 0.644875 0.487413 --0.0624966 0.0987153 0.0424769 0.630898 0.5 --0.0614969 0.0987359 0.0427353 0.82794 0.5 --0.0604873 0.0987275 0.0428004 0.822836 0.5 --0.0595022 0.0987448 0.042776 0.82696 0.5 --0.0585002 0.0987496 0.0428962 0.830086 0.5 --0.0574975 0.0987515 0.0429871 0.842071 0.5 --0.0564971 0.0987696 0.0431638 0.683055 0.5 --0.0555018 0.0987713 0.0432834 0.678208 0.471968 --0.0544751 0.0987674 0.042954 0.839333 0.370201 --0.0534996 0.0987387 0.0427565 0.794248 0.5 --0.0524927 0.0987339 0.0429361 0.618248 0.5 --0.0514869 0.0987554 0.0433116 0.777374 0.5 --0.050497 0.0987878 0.0435099 0.511322 0.482806 --0.0494959 0.0988033 0.0435442 0.628489 0.47629 --0.0484961 0.0987927 0.0435149 0.625789 0.5 --0.0474987 0.0987688 0.0431343 0.623362 0.399136 --0.0464941 0.0987388 0.0427545 0.64099 0.5 --0.0454908 0.0987379 0.0426533 0.649837 0.5 --0.044494 0.0987314 0.042632 0.656595 0.469949 --0.043484 0.0987241 0.0424341 0.61962 0.5 --0.0425023 0.0986936 0.0421906 0.790861 0.5 --0.0414965 0.0986758 0.0418571 0.612018 0.5 --0.0404977 0.0986657 0.0417206 0.510875 0.463015 --0.0395091 0.0986823 0.0417741 0.514712 0.470091 --0.0385061 0.0986889 0.0419871 0.595933 0.468843 --0.0375032 0.0987213 0.042382 0.645813 0.5 --0.0364954 0.0987325 0.0427313 0.634237 0.5 --0.0354848 0.0987251 0.0428224 0.617222 0.5 --0.0344901 0.0987486 0.043091 0.595321 0.5 --0.0334818 0.0987718 0.0435747 0.495739 0.5 --0.0325019 0.0988116 0.0438807 0.500012 0.465583 --0.0314884 0.0988001 0.0440684 0.616515 0.5 --0.030496 0.0988081 0.0439786 0.599997 0.478744 --0.0295082 0.0987895 0.0437091 0.620593 0.371038 --0.028491 0.0987621 0.0434122 0.793095 0.5 --0.0275028 0.0988006 0.0435593 0.810681 0.5 --0.0264937 0.098817 0.0439871 0.585357 0.5 --0.025483 0.0988427 0.0444451 0.587385 0.5 --0.0244818 0.0988555 0.0446892 0.552427 0.5 --0.0234982 0.0988724 0.0447778 0.53796 0.5 --0.0224928 0.0988548 0.044702 0.38899 0.5 --0.021497 0.0988475 0.0444941 0.43192 0.5 --0.0204963 0.0988407 0.0444811 0.371728 0.471478 --0.0470246 0.133586 0.0187098 0.696064 0.5 --0.0844521 0.153452 0.0225801 0.282648 0.411004 -0.00787676 0.127927 0.0283381 0.34839 0.401249 --0.0655006 0.155906 0.0116223 0.815151 0.5 -0.0503042 0.0691243 0.0253774 0.515247 0.5 --0.0409656 0.122163 0.0270528 0.324563 0.5 --0.0134628 0.0989564 0.047529 0.264786 0.263292 --0.0853725 0.111782 0.0273822 0.590334 0.5 --0.0875766 0.122583 -0.000713178 0.495444 0.463001 --0.0934477 0.121479 0.0262963 0.802537 0.5 -0.0441667 0.0973563 0.00616912 0.555121 0.5 --0.0642915 0.169488 -0.0607786 0.362406 0.5 --0.0875779 0.102333 0.0213648 0.606129 0.5 --0.0781864 0.161095 -0.0229348 0.465605 0.5 --0.0794888 0.111206 0.0453002 0.53634 0.5 --0.0748963 0.0690517 0.0244939 0.72263 0.5 --0.0106577 0.165418 -0.0198106 0.247644 0.5 --0.063271 0.158522 -0.0165888 0.464075 0.5 --0.062316 0.158431 -0.019584 0.462082 0.5 --0.00921165 0.172686 -0.0275682 0.287704 0.5 -0.0448613 0.0903726 0.0191701 0.505104 0.46734 --0.0513173 0.146268 0.0144074 0.546074 0.5 --0.0896848 0.0929338 0.0144339 0.827007 0.5 -0.0034577 0.0989815 0.0493164 0.41717 0.477634 -0.00448398 0.0989824 0.0487111 0.576635 0.5 -0.00550054 0.0990386 0.0482677 0.650605 0.5 -0.00650478 0.0989998 0.0481043 0.642851 0.5 -0.00750734 0.0990008 0.0480837 0.494404 0.5 -0.00850898 0.0990197 0.0481875 0.500728 0.5 -0.00950564 0.0990636 0.0482467 0.648225 0.5 -0.0105224 0.0990052 0.0483243 0.567022 0.464613 -0.0114933 0.0990667 0.0482243 0.588275 0.5 -0.012486 0.0990688 0.0481132 0.631125 0.5 -0.0134754 0.0990564 0.0479483 0.521615 0.444721 -0.0144891 0.0990552 0.047648 0.51523 0.5 -0.0154871 0.0990335 0.0473819 0.624299 0.5 -0.0164968 0.0990289 0.0471605 0.621038 0.5 -0.0174821 0.0990004 0.0469682 0.614695 0.5 -0.018473 0.0989902 0.0468145 0.593986 0.448967 -0.0194854 0.0989751 0.0466096 0.558101 0.5 -0.020477 0.0989516 0.0463466 0.531084 0.5 -0.0214637 0.0989203 0.04607 0.435356 0.5 --0.0364985 0.117968 0.0313259 0.6304 0.5 --0.00149237 0.118319 0.0391398 0.673378 0.392335 -0.00842909 0.131472 0.01278 0.830368 0.5 --0.0861949 0.139089 0.00320204 0.36304 0.5 --0.000497737 0.11557 0.0407823 0.654218 0.421861 --0.0423644 0.120691 0.0280931 0.483704 0.5 -0.00650273 0.121045 0.0359095 0.625722 0.388012 -0.0400623 0.0956447 -0.00679711 0.613362 0.436619 --0.019377 0.127678 0.00978651 0.586122 0.5 -0.0414332 0.100023 0.0231582 0.517992 0.5 --0.0717668 0.172238 -0.0510285 0.462311 0.5 --0.0515046 0.159378 0.00834015 0.436904 0.5 --0.0345217 0.127119 0.00425139 0.874547 0.5 --0.0725117 0.163674 -0.014076 0.353527 0.40159 --0.0722654 0.153589 0.032663 0.291091 0.449707 --0.079478 0.142827 0.0451049 0.39284 0.465854 -0.0451235 0.093189 0.0121575 0.573151 0.5 --0.0563767 0.0650155 0.0336358 0.494963 0.328305 --0.0619803 0.153737 -0.02558 0.778331 0.5 --0.0745149 0.121791 0.0533186 0.676119 0.5 -0.0382636 0.109749 0.0121659 0.710008 0.5 --0.0498185 0.0927102 -0.0215416 0.807094 0.5 --0.04783 0.0927226 -0.0216222 0.818245 0.5 --0.0468295 0.0927337 -0.0216687 0.793921 0.5 -0.00188261 0.129936 0.0247306 0.389205 0.432719 -0.0260062 0.121547 0.0249766 0.527495 0.5 --0.0208041 0.127131 0.0063587 0.68262 0.5 -0.0193916 0.12656 0.0211758 0.432116 0.374783 -0.0305485 0.118199 0.0238252 0.747089 0.5 --0.0695537 0.163673 -0.0146023 0.443515 0.419347 -0.0170321 0.128388 0.0173658 0.582793 0.5 -0.0178664 0.127935 0.017674 0.444644 0.5 --0.000572916 0.131478 0.0109076 0.744417 0.5 --0.00171604 0.131316 0.0104838 0.751939 0.5 --0.00281159 0.131227 0.0100802 0.741774 0.275893 --0.00395268 0.131078 0.00966125 0.724744 0.5 --0.00521852 0.130779 0.0091953 0.727419 0.5 --0.00636015 0.130593 0.00877385 0.73768 0.5 --0.0113055 0.0991708 0.0485876 0.37012 0.386667 --0.0351946 0.125334 -0.00338173 0.917572 0.5 -0.0174435 0.128281 0.0160914 0.863209 0.5 --0.0231537 0.124452 0.0216177 0.356456 0.5 --0.0704983 0.0999903 0.0403231 0.581087 0.5 --0.0694874 0.100005 0.0406788 0.609123 0.5 --0.0685089 0.100042 0.0409867 0.509991 0.5 --0.067492 0.10005 0.0413205 0.516798 0.5 --0.0665225 0.10009 0.04154 0.547797 0.469919 --0.0654981 0.100096 0.041968 0.569779 0.471252 --0.0644984 0.100116 0.0422372 0.549695 0.479742 --0.0635064 0.100118 0.0422551 0.552989 0.483577 --0.0624922 0.100117 0.0423224 0.655576 0.5 --0.061495 0.100138 0.0425963 0.529374 0.5 --0.0604937 0.100137 0.0425915 0.643774 0.5 --0.0594966 0.100149 0.0427407 0.657731 0.5 --0.0584986 0.100161 0.0428821 0.653466 0.5 --0.0574972 0.100168 0.0430053 0.837833 0.5 --0.0564969 0.100177 0.0431307 0.847272 0.5 --0.0554937 0.100184 0.0430705 0.647378 0.5 --0.0544965 0.100156 0.0427594 0.654156 0.5 --0.0534975 0.100135 0.0423919 0.63231 0.5 --0.0524987 0.100127 0.0423619 0.791107 0.5 --0.0515005 0.100157 0.0426446 0.747848 0.5 --0.0505003 0.100168 0.042883 0.606698 0.458963 --0.0494962 0.100168 0.0429965 0.608323 0.5 --0.0484978 0.100158 0.0428666 0.620833 0.5 --0.0474967 0.100136 0.0424923 0.626898 0.5 --0.0464942 0.100125 0.0422537 0.82333 0.5 --0.0454881 0.10014 0.0423159 0.65741 0.5 --0.0444966 0.100126 0.0423688 0.63212 0.5 --0.0434795 0.10013 0.0422114 0.609525 0.5 --0.0424925 0.100104 0.042001 0.744217 0.5 --0.0414824 0.100082 0.0415393 0.584601 0.424311 --0.0404973 0.10005 0.041322 0.484307 0.5 --0.0395001 0.100068 0.0413695 0.566007 0.5 --0.0384976 0.100064 0.0415702 0.564773 0.482405 --0.0374845 0.100078 0.0419234 0.751982 0.5 --0.0364875 0.100095 0.0421869 0.614748 0.5 --0.0355126 0.10012 0.0421792 0.608167 0.468688 --0.0344858 0.100109 0.0424402 0.589318 0.5 --0.0334786 0.100129 0.0429194 0.560551 0.483649 --0.0324893 0.100164 0.0432113 0.595072 0.472122 --0.0315045 0.100214 0.0434156 0.623044 0.463998 --0.0305006 0.100206 0.0434038 0.618877 0.5 --0.0294996 0.100187 0.0432585 0.804809 0.5 --0.0284889 0.100156 0.0431683 0.818822 0.5 --0.0274963 0.100194 0.0434874 0.829746 0.5 --0.0264896 0.100224 0.0439794 0.611347 0.5 --0.0254848 0.100235 0.0442056 0.505148 0.5 --0.0244887 0.100244 0.0443393 0.612015 0.5 --0.0234958 0.100256 0.0443804 0.558205 0.5 --0.0224965 0.100254 0.0443771 0.705211 0.5 --0.0214986 0.100246 0.0444424 0.61853 0.5 --0.0204991 0.100239 0.044421 0.456426 0.5 --0.0194981 0.10024 0.044034 0.564457 0.5 --0.0184988 0.100234 0.0438197 0.516058 0.5 --0.0175006 0.10024 0.0438179 0.532827 0.5 --0.0165065 0.100263 0.0439632 0.546899 0.5 --0.0155017 0.100285 0.044225 0.408951 0.464699 --0.0145298 0.100345 0.0444168 0.429446 0.5 --0.0629867 0.155807 0.0241223 0.594217 0.5 --0.0125718 0.100502 0.0445971 0.277864 0.5 --0.0115592 0.100495 0.0448823 0.252115 0.38883 --0.0105339 0.100499 0.0452584 0.201344 0.319873 --0.00945074 0.100225 0.0471086 0.229099 0.5 --0.00845767 0.100229 0.0476033 0.278386 0.5 --0.0700395 0.077854 0.0390736 0.599047 0.5 --0.0902184 0.117255 0.00530427 0.425147 0.5 --0.0896451 0.11724 0.00430849 0.622458 0.5 --0.0515285 0.144709 0.0153879 0.721036 0.5 -0.0376089 0.108292 0.000165208 0.452174 0.466383 --0.0882673 0.102346 0.019362 0.590519 0.5 -0.0456785 0.0862046 0.0141695 0.560339 0.443261 --0.0334865 0.126881 0.00753677 0.892347 0.5 -0.0420248 0.0845075 -0.00777453 0.488371 0.485211 -0.00149286 0.100277 0.0469858 0.395489 0.5 -0.00250457 0.100333 0.0462614 0.441214 0.5 -0.00351386 0.100332 0.0462561 0.553351 0.5 -0.00451352 0.10035 0.0463879 0.580371 0.5 -0.00553763 0.100304 0.04669 0.538036 0.5 -0.0065365 0.100373 0.0469448 0.44378 0.362508 -0.00754987 0.100371 0.0472771 0.435076 0.395659 -0.00853944 0.100396 0.0475311 0.460698 0.424942 -0.00951942 0.100425 0.0477045 0.446693 0.461719 -0.0105108 0.100431 0.0479236 0.724677 0.5 -0.0115006 0.100446 0.0479384 0.601858 0.5 -0.0124861 0.100431 0.0478938 0.609807 0.5 -0.0134789 0.100443 0.0476777 0.610531 0.373827 -0.014479 0.100435 0.047468 0.509858 0.5 -0.0154605 0.100515 0.0471558 0.506369 0.450262 -0.0164934 0.100411 0.0468922 0.621552 0.5 -0.0174821 0.10039 0.0467276 0.608379 0.5 -0.0184753 0.100361 0.0464541 0.571331 0.5 -0.0194756 0.100345 0.0462123 0.451923 0.5 --0.0714963 0.118989 0.0533881 0.642933 0.5 --0.0374964 0.118015 0.0312717 0.645247 0.5 --0.000498349 0.118323 0.0391474 0.668687 0.5 --0.0259323 0.124597 0.000115117 0.7317 0.5 -0.0423459 0.0915624 -0.00580854 0.449995 0.5 -0.0349174 0.110993 0.0268865 0.640135 0.5 --0.0414986 0.120686 0.028403 0.423604 0.5 -0.00550248 0.121034 0.0357708 0.633243 0.5 --0.0802651 0.0963563 -0.00854135 0.515273 0.5 --0.00717802 0.130589 0.0142265 0.634827 0.5 --0.0761869 0.149999 -0.0118749 0.730394 0.5 -0.0396966 0.105593 0.0211678 0.665291 0.5 --0.0494961 0.159354 0.00844009 0.560602 0.5 --0.0300028 0.125562 0.00590559 0.866095 0.5 --0.0679568 0.13115 -0.00879393 0.715827 0.5 -0.0266539 0.122169 0.0209401 0.504236 0.5 -0.040054 0.0998936 -0.00479776 0.554894 0.5 --0.0783661 0.108548 -0.00557568 0.540251 0.381971 --0.025156 0.16972 -0.0189618 0.757996 0.5 --0.044533 0.160785 0.0064482 0.609356 0.5 --0.083008 0.154405 0.0171359 0.468625 0.5 --0.0188353 0.12777 0.00853266 0.637105 0.5 --0.0738828 0.103582 -0.0116089 0.582333 0.5 --0.0704775 0.114632 0.0510417 0.429195 0.5 --0.0713665 0.156324 0.018248 0.623638 0.5 --0.0746893 0.154119 0.0302893 0.779979 0.5 -0.0267259 0.120866 0.0252428 0.532639 0.5 --0.0221189 0.12668 0.005878 0.680483 0.5 -0.0203176 0.126182 0.0214303 0.448613 0.442595 -0.0298839 0.118971 0.0235707 0.739245 0.5 --0.068723 0.163208 -0.0142948 0.354549 0.5 --0.0666208 0.161046 -0.0135117 0.381465 0.453999 --0.0660228 0.160133 -0.0132914 0.563205 0.5 --0.0653912 0.159256 -0.0130566 0.633671 0.5 --0.0647237 0.158466 -0.0128094 0.474274 0.5 --0.0641628 0.157463 -0.0125984 0.481826 0.5 --0.0636347 0.156368 -0.0124044 0.41659 0.5 --0.079254 0.149169 0.0379325 0.438698 0.363742 --0.0636022 0.151642 0.0357576 0.435746 0.5 --0.00750341 0.130405 0.00835201 0.714135 0.5 --0.0735439 0.101276 0.0379813 0.551123 0.5 --0.0725318 0.101313 0.038599 0.5403 0.5 --0.0714995 0.101334 0.0391804 0.543994 0.5 --0.0704991 0.101365 0.0396906 0.565434 0.5 --0.0694928 0.101384 0.0400561 0.59913 0.5 --0.0685022 0.101419 0.0404594 0.504115 0.48663 --0.0674677 0.10143 0.0408399 0.5143 0.437014 --0.0664999 0.101466 0.0412188 0.536907 0.5 --0.0654857 0.101487 0.0416824 0.621687 0.5 --0.0644855 0.101502 0.0419335 0.791507 0.5 --0.0634892 0.101502 0.0420523 0.527064 0.476428 --0.0624918 0.101519 0.0421076 0.643566 0.47816 --0.0614982 0.101529 0.0422258 0.619753 0.5 --0.0604928 0.101522 0.0423039 0.520379 0.484817 --0.0594971 0.101543 0.0424741 0.641718 0.5 --0.058497 0.101559 0.0426268 0.63624 0.5 --0.0574971 0.10156 0.0427298 0.81118 0.5 --0.0564976 0.101562 0.0427397 0.639204 0.5 --0.0554957 0.10156 0.042627 0.626125 0.461576 --0.0544907 0.101557 0.0424048 0.636051 0.5 --0.0534909 0.101517 0.0419949 0.641273 0.393815 --0.0524991 0.101502 0.0417298 0.627781 0.5 --0.0514967 0.101534 0.0419051 0.59474 0.5 --0.0504989 0.101536 0.0421291 0.57713 0.5 --0.0494967 0.101524 0.042218 0.573592 0.5 --0.0484979 0.101507 0.0419588 0.602532 0.5 --0.0474968 0.101477 0.0417865 0.773916 0.5 --0.0464984 0.101529 0.041912 0.852179 0.5 --0.045498 0.101529 0.0420301 0.625567 0.482715 --0.0444896 0.101534 0.0420576 0.610484 0.473845 --0.0434907 0.101526 0.0420227 0.57309 0.5 --0.0424766 0.101515 0.0416909 0.539581 0.5 --0.0414689 0.101488 0.0411988 0.558687 0.452208 --0.0404908 0.101464 0.0408992 0.556573 0.5 --0.0395435 0.101505 0.0409276 0.555343 0.458842 --0.0384966 0.101445 0.0410637 0.707074 0.5 --0.037499 0.101465 0.0412127 0.709836 0.5 --0.0365021 0.101484 0.0413625 0.579148 0.5 --0.0354939 0.101471 0.0414493 0.616289 0.5 --0.0345053 0.101515 0.0417518 0.604176 0.5 --0.0335134 0.101547 0.0420338 0.571313 0.5 --0.032501 0.101545 0.0423652 0.576325 0.5 --0.0315011 0.101567 0.0426346 0.61101 0.5 --0.0304972 0.101559 0.0427282 0.619362 0.5 --0.0294883 0.101537 0.0426799 0.620868 0.5 --0.0284917 0.101554 0.0428228 0.82343 0.5 --0.0274913 0.101587 0.0432231 0.792722 0.5 --0.0264818 0.101588 0.0434387 0.769246 0.5 --0.0254901 0.101602 0.0435889 0.615888 0.475504 --0.0244911 0.101622 0.043846 0.515494 0.5 --0.0234977 0.101642 0.0439992 0.627825 0.484853 --0.0224957 0.101642 0.0440993 0.638035 0.480812 --0.0214966 0.101664 0.0441706 0.682276 0.5 --0.0204813 0.10165 0.0438784 0.674537 0.349032 --0.0194973 0.101611 0.0435898 0.678709 0.5 --0.0184976 0.101625 0.0435583 0.651592 0.5 --0.0174971 0.101623 0.0437353 0.67142 0.5 --0.0164921 0.101629 0.0439544 0.665019 0.5 --0.0154952 0.101637 0.0439764 0.604107 0.5 --0.0144882 0.101623 0.0437286 0.51213 0.270056 --0.0639777 0.155958 0.0237716 0.608214 0.5 --0.0375331 0.127856 0.0134298 0.671981 0.5 --0.0114996 0.101652 0.0440245 0.300048 0.5 --0.0104849 0.101611 0.0440429 0.314006 0.5 --0.00949559 0.10164 0.0439977 0.271895 0.5 --0.00850157 0.101663 0.0440465 0.234735 0.5 --0.00749507 0.10164 0.0441128 0.193489 0.5 --0.0243325 0.126263 0.00798048 0.673958 0.5 --0.0337476 0.119587 0.029726 0.569471 0.470789 --0.0879259 0.102339 0.0203636 0.601168 0.5 --0.0314789 0.174225 -0.0034609 0.38027 0.5 --0.00248889 0.101618 0.0440339 0.221141 0.5 --0.00149572 0.101631 0.0441885 0.211115 0.5 --0.00049849 0.101653 0.0443576 0.21437 0.5 -0.000516492 0.101662 0.0444028 0.320844 0.337511 -0.00150087 0.101618 0.0443156 0.381005 0.5 -0.00250961 0.101617 0.0444387 0.4424 0.5 -0.00352724 0.10161 0.0446753 0.444101 0.5 -0.00459507 0.101613 0.0450146 0.378048 0.459648 -0.00557978 0.101599 0.0456072 0.432745 0.5 -0.00656148 0.101677 0.0461619 0.45829 0.5 -0.00755739 0.101711 0.046537 0.448705 0.5 -0.00854504 0.101743 0.0468013 0.450341 0.473744 -0.00953649 0.101759 0.0470503 0.450232 0.5 -0.0105239 0.101777 0.0472989 0.55442 0.5 -0.0115087 0.101793 0.0474223 0.595029 0.5 -0.0124903 0.101789 0.047403 0.550178 0.479106 -0.0134882 0.101805 0.0472084 0.553955 0.5 -0.0144842 0.101799 0.0469727 0.478025 0.5 -0.0154718 0.101771 0.0468044 0.482781 0.488483 -0.0164832 0.101772 0.0464774 0.490796 0.48903 -0.0174757 0.101745 0.0462033 0.496034 0.5 -0.0184783 0.101734 0.0458501 0.485541 0.480994 --0.070489 0.118975 0.0531649 0.60889 0.5 --0.0384962 0.11803 0.0312871 0.646265 0.5 -0.000494108 0.118289 0.0391022 0.681517 0.5 --0.0558701 0.154311 0.0223113 0.52791 0.315709 --0.0615062 0.158429 -0.0265894 0.372213 0.377763 -0.0174985 0.119533 0.0343583 0.589459 0.5 --0.0395098 0.12077 0.029092 0.468591 0.5 --0.040502 0.120714 0.028794 0.460088 0.440359 -0.0045004 0.121001 0.0358516 0.638465 0.5 -0.0438124 0.093116 0.0231537 0.58935 0.5 --0.00832508 0.130422 0.0138058 0.666054 0.5 --0.0906044 0.135075 0.015212 0.495279 0.5 -0.0376787 0.105425 -0.00281358 0.581986 0.453133 --0.0475108 0.159316 0.00812402 0.514658 0.472539 --0.0230844 0.126658 0.00843513 0.658661 0.5 --0.0735166 0.141431 0.0469479 0.642504 0.379641 --0.0581679 0.154986 0.022946 0.621137 0.5 -0.0399446 0.107028 0.0121641 0.710517 0.5 --0.074502 0.11613 0.052068 0.594859 0.5 --0.0694805 0.121794 0.053195 0.469008 0.474592 --0.0454954 0.160804 0.00677344 0.498806 0.5 --0.0404194 0.128239 0.00205017 0.866751 0.5 --0.0246067 0.157782 -0.00250374 0.312358 0.5 -0.0415141 0.104253 0.009162 0.696015 0.5 -0.00484292 0.129473 0.025811 0.362469 0.5 -0.0274448 0.120188 0.0255104 0.533627 0.5 --0.0233682 0.126286 0.00541909 0.690338 0.5 -0.028716 0.119662 0.0245591 0.556516 0.5 -0.0284808 0.120403 0.0230436 0.550896 0.5 -0.0292004 0.119729 0.0233163 0.701762 0.5 -0.0122214 0.13032 0.0170232 0.833198 0.296578 -0.0112951 0.130595 0.0166808 0.785788 0.309005 -0.00749212 0.131495 0.0152913 0.769801 0.5 -0.00337546 0.131746 0.0137901 0.769601 0.282752 -0.00228726 0.131702 0.0133903 0.736124 0.5 -0.00113903 0.131571 0.0129682 0.729194 0.5 --1.32571e-05 0.13145 0.0125463 0.74187 0.5 --0.00110521 0.131378 0.0121444 0.747484 0.5 --0.0745585 0.102629 0.0369846 0.509303 0.5 --0.0735157 0.102656 0.0375574 0.469697 0.5 --0.0725057 0.102685 0.0380563 0.461604 0.397421 --0.0715304 0.102729 0.03849 0.531505 0.5 --0.0705068 0.102745 0.0389474 0.546023 0.470784 --0.069508 0.102769 0.0393316 0.557262 0.5 --0.0684959 0.10279 0.039811 0.557325 0.5 --0.0674901 0.102816 0.040307 0.589725 0.5 --0.0664983 0.102849 0.0407048 0.590422 0.471455 --0.0654906 0.102864 0.0410679 0.491441 0.5 --0.0644897 0.102874 0.0413067 0.597356 0.5 --0.0634945 0.102894 0.0414572 0.602082 0.47968 --0.0624968 0.102902 0.0415908 0.60549 0.481742 --0.0614963 0.102908 0.0417081 0.774064 0.5 --0.0604933 0.102915 0.04183 0.609775 0.5 --0.0594982 0.10293 0.0419773 0.610456 0.5 --0.0584972 0.102936 0.0420973 0.612132 0.5 --0.0574928 0.102919 0.0421703 0.609632 0.5 --0.0564947 0.102955 0.042036 0.620544 0.5 --0.0554949 0.102938 0.0419937 0.62784 0.5 --0.0545067 0.102902 0.0418134 0.619085 0.402446 --0.0534903 0.102908 0.0413848 0.615536 0.5 --0.0524988 0.102874 0.0411998 0.623405 0.5 --0.0514978 0.10289 0.0412322 0.607385 0.473728 --0.050498 0.10288 0.0412159 0.555818 0.5 --0.0494983 0.102885 0.0411106 0.563246 0.5 --0.0485018 0.102883 0.0409949 0.749465 0.5 --0.0474986 0.102884 0.0412273 0.801185 0.5 --0.0464961 0.102903 0.0415914 0.602435 0.5 --0.0454999 0.102932 0.0417867 0.587226 0.5 --0.0444956 0.102933 0.0417949 0.729396 0.5 --0.0434867 0.102921 0.0416521 0.692242 0.5 --0.0424989 0.102887 0.0413486 0.528468 0.466168 --0.0414756 0.102877 0.0407886 0.531853 0.5 --0.0404787 0.102851 0.0403978 0.560987 0.439851 --0.0394926 0.102848 0.0402648 0.548312 0.5 --0.0384978 0.102835 0.0403416 0.536397 0.5 --0.0375028 0.102851 0.0403695 0.527356 0.5 --0.036497 0.102841 0.0405772 0.551811 0.5 --0.0355052 0.102861 0.0407303 0.603286 0.462055 --0.0345002 0.10287 0.040969 0.736479 0.5 --0.0334924 0.102881 0.0413291 0.588112 0.462994 --0.0325014 0.102916 0.0416129 0.581706 0.476452 --0.0314971 0.102929 0.041974 0.749408 0.5 --0.0304987 0.10293 0.0419798 0.643286 0.5 --0.0294922 0.102919 0.0420695 0.615089 0.5 --0.0284862 0.102933 0.0423265 0.602119 0.476745 --0.0274957 0.102963 0.0425886 0.58994 0.471484 --0.0264895 0.102963 0.0427118 0.581736 0.5 --0.0255027 0.103002 0.0430099 0.615795 0.474461 --0.0244921 0.103004 0.0433541 0.601541 0.485749 --0.0234913 0.103006 0.0434545 0.797197 0.5 --0.0224982 0.103036 0.0436276 0.790435 0.5 --0.021496 0.103017 0.0435858 0.607485 0.5 --0.0204954 0.103009 0.0433484 0.792846 0.5 --0.0194977 0.103001 0.0433214 0.8178 0.5 --0.0184974 0.103009 0.0434402 0.80293 0.5 --0.0174974 0.103031 0.0436129 0.780555 0.5 --0.0164922 0.103019 0.043564 0.749061 0.5 --0.0155006 0.103015 0.0432792 0.65643 0.5 --0.0144997 0.103011 0.0432504 0.655721 0.5 --0.0777065 0.155692 0.0145746 0.697463 0.5 --0.0124954 0.103038 0.0437348 0.557847 0.5 --0.0114889 0.103024 0.0436761 0.510194 0.5 --0.0105008 0.103039 0.0436514 0.473685 0.5 --0.00949715 0.103034 0.0436292 0.453812 0.5 --0.00849121 0.103027 0.0437022 0.397828 0.5 --0.00849418 0.114178 0.0409373 0.617283 0.457259 --0.00649959 0.103045 0.0436802 0.384565 0.5 --0.005498 0.103045 0.0437796 0.384284 0.5 --0.0908456 0.137855 0.0191944 0.6109 0.5 --0.0034944 0.103046 0.0439357 0.38557 0.5 --0.0024963 0.10305 0.0439671 0.380299 0.5 --0.00150011 0.103045 0.0440564 0.356218 0.5 --0.000403311 0.102922 0.0441774 0.311014 0.417227 -0.000496502 0.103028 0.0440499 0.332307 0.5 -0.00149085 0.103013 0.043912 0.414215 0.424108 -0.00251006 0.102973 0.0437486 0.487369 0.435784 -0.00350742 0.103001 0.0436938 0.50746 0.5 -0.0045298 0.102977 0.0440255 0.487225 0.5 -0.00555478 0.102979 0.0445124 0.470226 0.5 -0.00659654 0.102942 0.0449664 0.447625 0.444642 -0.00755707 0.10303 0.0452955 0.426494 0.481068 -0.00853656 0.103079 0.0455737 0.427473 0.5 -0.00953694 0.103082 0.0459273 0.435482 0.5 -0.0105328 0.103079 0.0462759 0.526726 0.5 -0.011514 0.10312 0.0464311 0.528984 0.5 -0.0125017 0.103142 0.0463418 0.548532 0.5 -0.0134949 0.103141 0.0462202 0.547631 0.5 -0.0144787 0.103102 0.0461637 0.552239 0.5 -0.015477 0.103104 0.045929 0.562912 0.5 -0.0164745 0.103092 0.0456772 0.562961 0.5 -0.0174805 0.103096 0.0453391 0.576978 0.5 --0.0694829 0.118967 0.0529378 0.570656 0.5 --0.039498 0.118035 0.0314 0.607305 0.36798 -0.00149573 0.118307 0.0388892 0.67891 0.5 --0.0196334 0.0906851 0.0545345 0.550264 0.5 -0.0456174 0.0890068 0.0121612 0.570199 0.5 -0.0164933 0.119532 0.0345952 0.590044 0.5 --0.0385 0.120755 0.0293207 0.480026 0.5 -0.00248882 0.121002 0.0363406 0.622212 0.431902 -0.00349445 0.12099 0.0360851 0.619091 0.423396 -0.0440466 0.0931306 0.0221521 0.593029 0.481307 -0.0350891 0.111006 -0.00183676 0.628316 0.5 --0.0646486 0.156189 0.0162701 0.807746 0.280581 -0.0390432 0.106963 0.0211652 0.67681 0.5 --0.0455037 0.159315 0.00726546 0.620979 0.5 --0.0684954 0.121776 0.0527683 0.557262 0.5 -0.0366967 0.103968 -0.00783268 0.49396 0.5 -0.0330999 0.114889 0.024788 0.616089 0.5 --0.0425011 0.163766 0.00491011 0.446352 0.5 --0.0524893 0.156469 0.0106374 0.590669 0.5 --0.0246171 0.125897 0.00496292 0.705761 0.5 --0.0465076 0.160794 0.0071118 0.490157 0.468966 --0.0846404 0.107661 0.0233457 0.659755 0.5 -0.0426813 0.101508 0.00916223 0.571597 0.5 --0.0770892 0.107143 -0.00760422 0.603099 0.5 --0.0624902 0.155293 -0.0145941 0.402141 0.5 --0.0626337 0.149615 -0.00617193 0.262491 0.5 -0.000752728 0.131478 0.01712 0.609114 0.5 --0.0340325 0.126267 0.001455 0.91064 0.5 -0.0343769 0.112004 0.0266888 0.634825 0.5 -0.00352334 0.12519 0.0325857 0.492905 0.5 --0.0371379 0.127502 0.0150528 0.691418 0.5 --0.0687869 0.155336 0.00316719 0.794438 0.5 --0.0541815 0.15229 0.0244282 0.46446 0.5 --0.0700918 0.147968 0.0410511 0.543545 0.5 --0.00159432 0.129182 0.0263815 0.462044 0.5 --0.0263102 0.123352 0.021955 0.404832 0.428513 --0.025212 0.123605 0.0223303 0.326982 0.411308 --0.080116 0.153024 0.0299773 0.416824 0.386697 --0.0262234 0.119963 0.0294562 0.379842 0.393429 --0.0745356 0.104026 0.0368301 0.430274 0.367589 --0.073517 0.104058 0.0373151 0.402417 0.5 --0.072512 0.104082 0.0376881 0.470371 0.5 --0.0715096 0.1041 0.0379435 0.607829 0.5 --0.0704953 0.104114 0.0382884 0.661856 0.5 --0.069489 0.104131 0.0386578 0.505407 0.385441 --0.0684894 0.104161 0.0391613 0.522871 0.5 --0.0675079 0.104205 0.0395869 0.558067 0.398761 --0.0665048 0.104229 0.0399675 0.558102 0.5 --0.0654948 0.104238 0.0403184 0.56148 0.5 --0.064492 0.104249 0.0405622 0.477675 0.480485 --0.0634932 0.104261 0.0408123 0.481523 0.5 --0.0624989 0.104282 0.0409609 0.59169 0.5 --0.0614955 0.104283 0.0410789 0.594554 0.5 --0.0604949 0.104288 0.0411949 0.590041 0.5 --0.0594968 0.104294 0.0413247 0.593557 0.466605 --0.0584961 0.104303 0.041452 0.598964 0.464385 --0.0574974 0.104327 0.0414929 0.602587 0.5 --0.0564955 0.104323 0.0414899 0.621336 0.5 --0.0554936 0.104327 0.041387 0.62893 0.5 --0.0544985 0.104295 0.0412117 0.622812 0.5 --0.053491 0.104292 0.0408761 0.644542 0.398207 --0.0525009 0.104252 0.0406803 0.64513 0.463673 --0.05149 0.104281 0.0405196 0.604881 0.5 --0.0504976 0.104261 0.040368 0.749 0.5 --0.0494985 0.104247 0.040228 0.759883 0.5 --0.0485021 0.104259 0.0404773 0.786634 0.5 --0.0474986 0.104275 0.0408376 0.763952 0.5 --0.0464999 0.104301 0.0412272 0.557757 0.5 --0.0455034 0.104326 0.041412 0.528528 0.478065 --0.0444951 0.104328 0.0415155 0.666232 0.5 --0.0434909 0.104315 0.0413728 0.519724 0.5 --0.0424777 0.104302 0.0409096 0.653599 0.5 --0.0414667 0.104283 0.0404247 0.679649 0.5 --0.0404701 0.104257 0.0399236 0.7058 0.5 --0.0394918 0.104211 0.0396007 0.553959 0.5 --0.0384968 0.104212 0.0394832 0.528462 0.44939 --0.0375024 0.104216 0.0394845 0.532024 0.5 --0.0365049 0.10423 0.0397359 0.558239 0.5 --0.035507 0.104243 0.0399833 0.576748 0.5 --0.0345088 0.104256 0.0402356 0.577166 0.5 --0.033511 0.104273 0.0404948 0.585255 0.5 --0.032502 0.104286 0.0408563 0.591222 0.5 --0.0314961 0.10429 0.0412052 0.596771 0.5 --0.0304932 0.104292 0.0413193 0.636496 0.5 --0.0294961 0.104302 0.0413374 0.628184 0.445901 --0.0284959 0.10431 0.0415782 0.587266 0.463309 --0.0275054 0.104339 0.0416271 0.574943 0.5 --0.0264983 0.10435 0.041876 0.493345 0.452686 --0.0255119 0.104394 0.0424048 0.491107 0.481338 --0.024481 0.104364 0.0426891 0.503947 0.478954 --0.0234882 0.104381 0.0428298 0.500033 0.5 --0.0225002 0.104414 0.0430095 0.771364 0.5 --0.0214963 0.104399 0.0429755 0.606935 0.5 --0.0204972 0.104391 0.0429524 0.630794 0.483251 --0.0194977 0.104404 0.0429832 0.844212 0.5 --0.0184963 0.10441 0.0431068 0.832278 0.5 --0.0174973 0.104415 0.0431217 0.80214 0.5 --0.0165146 0.104417 0.0427511 0.807634 0.5 --0.015495 0.104397 0.0428489 0.760875 0.5 --0.0144964 0.104421 0.0432413 0.730154 0.5 --0.0134852 0.104433 0.0435318 0.709107 0.5 --0.0124899 0.104431 0.0434394 0.669003 0.5 --0.0114934 0.104435 0.0434539 0.651714 0.5 --0.0104909 0.104437 0.0435533 0.619705 0.5 --0.00949024 0.104446 0.0436658 0.566163 0.5 --0.00849151 0.104452 0.0437135 0.57746 0.5 --0.0074894 0.104457 0.0437929 0.552616 0.5 --0.00649181 0.104468 0.0439265 0.541393 0.5 --0.00549064 0.104476 0.0440202 0.559873 0.5 --0.00449341 0.104477 0.0440393 0.57108 0.5 --0.00349833 0.104479 0.0440938 0.558073 0.5 --0.00250245 0.104479 0.0441797 0.550857 0.5 --0.00151332 0.104469 0.0441334 0.521932 0.5 --0.000520242 0.104454 0.0440018 0.496994 0.5 -0.000480507 0.104429 0.0436509 0.543857 0.5 -0.00148921 0.104407 0.0433078 0.479335 0.5 -0.00248615 0.104372 0.0430232 0.522677 0.414856 -0.00350126 0.104382 0.0428343 0.57722 0.5 -0.0045048 0.104341 0.0428855 0.566269 0.447364 -0.00551162 0.104351 0.0429177 0.518826 0.5 -0.00652621 0.104352 0.0432895 0.476702 0.5 -0.00753436 0.104363 0.0436686 0.490464 0.5 -0.00854197 0.104373 0.044167 0.533695 0.5 -0.00953036 0.10442 0.0445691 0.552542 0.5 -0.0105211 0.104445 0.0448284 0.560125 0.5 -0.0115122 0.104463 0.0449641 0.535904 0.5 -0.0125066 0.10443 0.0450477 0.552667 0.5 -0.0134975 0.104436 0.0449316 0.544777 0.5 -0.0144923 0.104443 0.0448169 0.539981 0.5 -0.0154936 0.104462 0.0445958 0.564472 0.5 -0.0164747 0.104398 0.044527 0.566308 0.5 -0.0174704 0.1044 0.0442882 0.578353 0.5 -0.0184737 0.104403 0.0439338 0.486674 0.480281 -0.00248872 0.118285 0.0387448 0.65504 0.5 --0.0371914 0.175481 -0.00856986 0.288938 0.5 --0.0895362 0.119938 0.00329723 0.483257 0.5 -0.0155029 0.119565 0.0348769 0.596206 0.5 --0.0374965 0.120729 0.0294163 0.501475 0.5 -0.00148883 0.121012 0.0365952 0.639272 0.431763 -0.0440384 0.0959414 0.0171588 0.527861 0.5 -0.0443256 0.0931523 0.0201621 0.5082 0.5 --0.0494861 0.156424 0.00985611 0.591282 0.47271 --0.0185094 0.114097 0.0385959 0.566924 0.5 -0.039324 0.106993 0.0191699 0.71129 0.5 -0.0381223 0.106958 0.0251953 0.634461 0.5 --0.00617289 0.130741 0.0117189 0.704682 0.5 -0.032957 0.115724 0.0233075 0.608739 0.5 --0.0843669 0.106153 0.00138874 0.443589 0.401588 --0.074494 0.126019 0.0529923 0.51998 0.457699 --0.0749499 0.112554 -0.00662315 0.484808 0.5 --0.0414976 0.113906 0.0346806 0.681455 0.5 --0.0484985 0.160789 0.00748776 0.562378 0.5 -0.0296208 0.115866 0.0291818 0.640567 0.5 --0.0404915 0.113924 0.0347061 0.688197 0.5 --0.0795038 0.127439 0.0531413 0.673868 0.5 --0.0510947 0.138549 0.00140254 0.569746 0.5 --0.0629502 0.151043 -0.0063137 0.351802 0.5 -0.00282967 0.131401 0.0178813 0.630081 0.340486 --0.0349236 0.126603 0.0011375 0.905615 0.5 --0.0276983 0.125752 0.00966815 0.725208 0.5 --0.0264982 0.125984 0.010106 0.701292 0.5 --0.0780329 0.155476 0.0217657 0.456959 0.421673 --0.0771836 0.152278 0.0340017 0.363481 0.5 --0.0708829 0.156323 0.0169624 0.676483 0.5 -0.0112412 0.122679 0.0339481 0.496224 0.460173 --0.0407158 0.171931 -0.00126808 0.356809 0.220278 --0.0420324 0.171559 -0.00171063 0.288413 0.5 -0.0177023 0.127344 0.0204737 0.47857 0.40404 --0.0678163 0.0866062 -0.0177767 0.460133 0.5 --0.0668006 0.086643 -0.0182518 0.470617 0.5 --0.0735555 0.105459 0.0371635 0.402342 0.5 --0.0725172 0.105485 0.0374705 0.427898 0.5 --0.071509 0.105494 0.0375699 0.396422 0.5 --0.0705079 0.105505 0.0376955 0.432507 0.5 --0.0694905 0.10551 0.0380162 0.407374 0.5 --0.0685061 0.105552 0.0384458 0.44021 0.5 --0.067493 0.105571 0.0389191 0.44375 0.5 --0.0665077 0.105605 0.0392145 0.509496 0.5 --0.0654957 0.105611 0.0395613 0.424731 0.476304 --0.0644931 0.105621 0.039804 0.435134 0.482466 --0.0634873 0.105626 0.040045 0.537191 0.458893 --0.062496 0.105649 0.040196 0.561398 0.457079 --0.0614957 0.105649 0.0403113 0.578707 0.458362 --0.0604981 0.105663 0.0403307 0.565396 0.5 --0.0595 0.105675 0.0404663 0.557302 0.5 --0.0584982 0.105689 0.0406051 0.564008 0.5 --0.0574991 0.105703 0.0407441 0.594514 0.5 --0.0564975 0.105681 0.0408231 0.60386 0.451871 --0.0554974 0.10569 0.0407246 0.624805 0.5 --0.054497 0.10568 0.0405938 0.636269 0.5 --0.0534945 0.105667 0.0403502 0.652016 0.451976 --0.0524893 0.105673 0.0402508 0.667795 0.452314 --0.0515091 0.105631 0.0400498 0.643398 0.38365 --0.0504991 0.105636 0.0396146 0.763272 0.5 --0.0494981 0.105619 0.0396922 0.782258 0.5 --0.0484999 0.105649 0.0400819 0.80996 0.5 --0.0474972 0.105664 0.0404447 0.761173 0.5 --0.046496 0.105677 0.0407002 0.696076 0.5 --0.045498 0.105695 0.0408472 0.660388 0.5 --0.0444942 0.105717 0.0408954 0.502934 0.5 --0.043493 0.105703 0.0408668 0.517953 0.454687 --0.0424838 0.105689 0.0405023 0.659459 0.5 --0.0414785 0.105663 0.0400022 0.666724 0.5 --0.0404538 0.105662 0.0393313 0.697517 0.5 --0.0394792 0.105608 0.0388858 0.546458 0.469605 --0.0384934 0.105604 0.0386511 0.538966 0.5 --0.0375014 0.105589 0.0387333 0.533443 0.5 --0.0365034 0.105591 0.0389607 0.540307 0.466861 --0.0355104 0.105608 0.0391036 0.561462 0.5 --0.0345174 0.105629 0.0392495 0.584835 0.5 --0.0335079 0.105635 0.0395993 0.592086 0.469481 --0.032514 0.105674 0.0400124 0.610141 0.45364 --0.0315104 0.105689 0.0403731 0.59687 0.456953 --0.0305029 0.105682 0.0404793 0.610071 0.5 --0.0294965 0.105676 0.0405837 0.628451 0.5 --0.0284952 0.105677 0.0407009 0.60269 0.5 --0.0274838 0.105666 0.0409158 0.59605 0.5 --0.0264832 0.105687 0.0411729 0.761493 0.5 --0.0254743 0.105723 0.0415881 0.595527 0.465711 --0.0244963 0.105758 0.0419767 0.575713 0.5 --0.0235023 0.105779 0.0421282 0.502204 0.469838 --0.0224969 0.105778 0.0423492 0.595042 0.480048 --0.021494 0.10578 0.0424616 0.621315 0.476772 --0.0204959 0.105781 0.0424626 0.638759 0.5 --0.0194999 0.105809 0.042534 0.631651 0.5 --0.0184969 0.10579 0.0426906 0.804394 0.5 --0.0174898 0.105786 0.0424611 0.811897 0.35871 --0.0164955 0.105778 0.0423459 0.830703 0.5 --0.0155087 0.105817 0.0426846 0.821846 0.5 --0.0144833 0.105825 0.0431811 0.822661 0.5 --0.0134788 0.105828 0.0432751 0.804788 0.5 --0.0124919 0.105832 0.0432095 0.813442 0.5 --0.0114956 0.105842 0.0433599 0.808055 0.5 --0.0104877 0.105844 0.0434252 0.781913 0.5 --0.00949915 0.105857 0.0435217 0.723078 0.5 --0.00849673 0.105867 0.0437425 0.731517 0.5 --0.00748502 0.105882 0.0440003 0.7214 0.5 --0.00649361 0.105887 0.04408 0.721456 0.5 --0.00549096 0.105886 0.0440438 0.72889 0.5 --0.00449526 0.10588 0.044033 0.732037 0.5 --0.00350655 0.105885 0.0441283 0.726079 0.5 --0.00251293 0.105882 0.0441369 0.683681 0.5 --0.00152849 0.105863 0.0439958 0.528132 0.406229 --0.000508444 0.105851 0.0435843 0.516401 0.5 -0.000467241 0.105823 0.0432483 0.559895 0.422695 -0.00148321 0.105804 0.0429258 0.551469 0.5 -0.00248489 0.105788 0.0426651 0.577344 0.406559 -0.00348965 0.105764 0.0424132 0.612479 0.5 -0.00449494 0.105757 0.0421851 0.773193 0.386522 -0.00550009 0.105744 0.0419393 0.60043 0.474897 -0.00650458 0.105723 0.0419107 0.593019 0.5 -0.00750546 0.105745 0.0420743 0.549813 0.5 -0.00851027 0.105753 0.0425683 0.522778 0.393325 -0.00952731 0.105746 0.0431674 0.535914 0.5 -0.0105403 0.105742 0.0436489 0.572265 0.369686 -0.0115151 0.105777 0.0436811 0.562081 0.5 -0.0125104 0.105746 0.0436503 0.569621 0.5 -0.0135006 0.105771 0.0435499 0.569343 0.5 -0.0144947 0.105783 0.0434399 0.572978 0.5 -0.0154943 0.105779 0.0433144 0.585192 0.5 -0.0164877 0.105762 0.0431793 0.571717 0.5 -0.0174871 0.10577 0.0429453 0.558682 0.5 -0.0184831 0.105752 0.0426872 0.467096 0.486007 -0.0194835 0.105739 0.0423148 0.574862 0.5 --0.0264962 0.119343 0.030427 0.412132 0.5 -0.0144954 0.119572 0.0352389 0.499895 0.5 --0.0364985 0.120712 0.0292752 0.522423 0.5 -0.023574 0.105697 0.0395934 0.650339 0.5 -0.0245243 0.105615 0.0392344 0.559368 0.5 --0.088803 0.151599 0.0211964 0.276194 0.5 --0.0405267 0.169768 0.0017705 0.35789 0.5 --0.0348887 0.174114 -0.0129217 0.396903 0.5 --0.0745611 0.163685 -0.0159572 0.258992 0.5 -0.0429772 0.0902337 -0.00478341 0.506353 0.478726 --0.0012394 0.131315 0.00922853 0.746439 0.5 --0.0895594 0.135155 0.0312102 0.596555 0.5 --0.00448652 0.114189 0.0411781 0.647982 0.438293 --0.0171038 0.128182 0.00771491 0.665746 0.5 --0.0901456 0.140633 0.0231701 0.753049 0.5 -0.0438044 0.0987496 0.00916312 0.581579 0.479718 --0.0596132 0.113903 0.0363038 0.87726 0.5 --0.0504997 0.160817 0.00728082 0.428656 0.5 --0.0944618 0.125537 0.019259 0.805492 0.5 -0.0262359 0.122255 0.0222063 0.639549 0.5 --0.058487 0.113928 0.0361856 0.686436 0.5 --0.0650869 0.155169 -0.00713868 0.594076 0.5 -0.00386952 0.131337 0.0182591 0.62382 0.345619 -0.00983853 0.130485 0.0204326 0.477254 0.454259 --0.0358563 0.126885 0.000788129 0.903193 0.5 --0.0370273 0.174099 -0.0109221 0.357039 0.5 --0.0386753 0.127489 0.0159666 0.543847 0.5 -0.0209176 0.124997 0.0245115 0.457246 0.5 -0.0240424 0.122784 0.0256717 0.479931 0.46743 -0.0254683 0.121415 0.0262007 0.50125 0.468941 -0.0268493 0.119915 0.0267269 0.542744 0.410959 -0.027565 0.119234 0.026993 0.556764 0.5 --0.0849159 0.123546 -0.00333555 0.509372 0.5 --0.0652193 0.1682 -0.0598394 0.627398 0.5 --0.0438717 0.105649 -0.0205239 0.705809 0.5 --0.0728992 0.107873 -0.010241 0.488684 0.364526 --0.072524 0.106883 0.0374001 0.338622 0.5 --0.0715157 0.106884 0.0372861 0.367092 0.5 --0.0706578 0.10688 0.0373417 0.360411 0.418323 --0.0695053 0.106913 0.0375568 0.375169 0.421019 --0.0684996 0.106934 0.0379267 0.342142 0.456068 --0.0674921 0.106947 0.0382762 0.336874 0.5 --0.0665046 0.10698 0.0385746 0.518487 0.5 --0.0655034 0.106997 0.0388261 0.60136 0.5 --0.0644934 0.106993 0.039043 0.490127 0.5 --0.0634902 0.106988 0.0392647 0.497007 0.5 --0.0624896 0.106999 0.0393995 0.53558 0.5 --0.061496 0.107016 0.0394252 0.532893 0.5 --0.060493 0.107007 0.0395303 0.536222 0.5 --0.0594923 0.107014 0.0396564 0.535152 0.449668 --0.0584999 0.107052 0.0397144 0.545318 0.5 --0.0574989 0.107052 0.0398301 0.572166 0.5 --0.0564997 0.107064 0.0398466 0.583923 0.5 --0.0554984 0.107053 0.0399469 0.591988 0.5 --0.0544948 0.107078 0.0398767 0.624523 0.431538 --0.0534959 0.107052 0.0398334 0.63822 0.5 --0.0524918 0.107066 0.0397432 0.621096 0.5 --0.051492 0.107057 0.0393982 0.600678 0.5 --0.0505016 0.107064 0.0390734 0.772396 0.5 --0.0495065 0.107045 0.0392662 0.795573 0.5 --0.0484951 0.107035 0.0396855 0.794391 0.5 --0.0474989 0.107059 0.0399589 0.754819 0.5 --0.0464971 0.107057 0.0400682 0.560027 0.5 --0.0454995 0.107082 0.0401134 0.543169 0.458334 --0.0444939 0.107088 0.0401229 0.510566 0.462848 --0.0434936 0.107078 0.040105 0.508585 0.5 --0.0424861 0.107068 0.0398635 0.522139 0.5 --0.0414578 0.107073 0.0393054 0.680493 0.5 --0.0404413 0.10705 0.0387043 0.725061 0.406442 --0.0394722 0.107013 0.0383007 0.737608 0.5 --0.0384808 0.106985 0.038039 0.555375 0.4296 --0.0375014 0.106979 0.038117 0.552581 0.439407 --0.036507 0.106984 0.0382357 0.540312 0.5 --0.0355172 0.106999 0.038376 0.708963 0.5 --0.0345047 0.106995 0.0387065 0.757612 0.5 --0.0335137 0.107031 0.0389932 0.585605 0.5 --0.0325038 0.107028 0.0393329 0.592399 0.5 --0.0314981 0.107032 0.0395669 0.614598 0.5 --0.0305128 0.10708 0.0396423 0.634144 0.5 --0.0294962 0.107041 0.0398129 0.618906 0.439505 --0.028506 0.107069 0.0398546 0.621688 0.5 --0.0275094 0.107088 0.0401149 0.593768 0.5 --0.0265277 0.10717 0.0404632 0.603352 0.464585 --0.0254977 0.107106 0.0408331 0.745905 0.5 --0.0244817 0.107102 0.0411704 0.73268 0.5 --0.0234912 0.107132 0.0414501 0.584043 0.5 --0.0225064 0.10717 0.041634 0.593274 0.5 --0.0214945 0.10716 0.0418366 0.613271 0.5 --0.0204903 0.107154 0.041938 0.634429 0.5 --0.0194954 0.107168 0.0420699 0.617529 0.47768 --0.0184884 0.107161 0.042158 0.78946 0.5 --0.0174825 0.107148 0.0420092 0.633836 0.5 --0.0164994 0.107189 0.0421238 0.842719 0.5 --0.0155015 0.10721 0.0425067 0.819686 0.5 --0.0144859 0.107222 0.0429439 0.797421 0.5 --0.0134922 0.107228 0.0429665 0.822902 0.5 --0.012488 0.107228 0.0430572 0.843149 0.5 --0.0114886 0.10724 0.0431864 0.831858 0.5 --0.0104875 0.10724 0.0431922 0.823251 0.5 --0.00949027 0.107257 0.0434611 0.840729 0.5 --0.00847955 0.107265 0.0437628 0.83219 0.5 --0.00748812 0.10728 0.0439222 0.832888 0.5 --0.00648988 0.10728 0.0440126 0.828318 0.5 --0.00549531 0.10728 0.0439307 0.649953 0.5 --0.00449959 0.107273 0.0439086 0.646493 0.483347 --0.00350244 0.107276 0.0438161 0.804864 0.5 --0.00251199 0.107268 0.0437857 0.605489 0.5 --0.00151223 0.107257 0.0435513 0.599713 0.47984 --0.000512 0.107246 0.0433248 0.610498 0.5 -0.000481761 0.10723 0.0430499 0.791752 0.5 -0.00148166 0.107215 0.0427825 0.794071 0.5 -0.00249985 0.107203 0.0424791 0.811268 0.5 -0.0034868 0.107186 0.0422902 0.79888 0.5 -0.0045077 0.107168 0.0418669 0.80216 0.394235 -0.00550135 0.107149 0.041587 0.813423 0.5 -0.00649798 0.107134 0.0414437 0.820786 0.5 -0.00749621 0.107111 0.0412811 0.629727 0.466736 -0.00850109 0.107119 0.0411949 0.594407 0.452294 -0.00950548 0.107102 0.041296 0.570251 0.5 -0.0105065 0.107115 0.0414414 0.55473 0.5 -0.0115191 0.107071 0.0419973 0.574506 0.5 -0.0125119 0.107097 0.0421465 0.598409 0.5 -0.0135054 0.10711 0.0421551 0.596527 0.5 -0.0144985 0.107111 0.0421568 0.593125 0.5 -0.0154947 0.107116 0.0420405 0.585223 0.5 -0.0164927 0.107123 0.0418084 0.577007 0.5 -0.0174897 0.107108 0.0415537 0.563464 0.5 -0.0184707 0.107054 0.0413783 0.561561 0.479574 -0.0194806 0.107063 0.040905 0.464722 0.483276 -0.0204972 0.107072 0.0404393 0.583632 0.5 -0.0215063 0.107058 0.0398344 0.506378 0.480205 -0.0224909 0.107012 0.0395338 0.534405 0.473847 -0.0235192 0.107033 0.0392433 0.570878 0.39124 -0.0244991 0.106997 0.0390493 0.543332 0.5 --0.0355201 0.16973 -0.000114667 0.478764 0.5 --0.0734967 0.126028 0.0530224 0.487366 0.47517 -0.0414447 0.0957847 0.0271584 0.666979 0.5 -0.0432806 0.100121 0.0101615 0.575359 0.5 -0.0359235 0.106756 -0.00582268 0.469855 0.5 --0.0574825 0.113918 0.0359516 0.69019 0.5 --0.0564807 0.113914 0.0357075 0.67466 0.5 -0.01801 0.126774 0.0220214 0.483449 0.5 -0.0410386 0.099944 -0.00278716 0.568019 0.5 --0.031677 0.126244 0.00820251 0.890791 0.5 --0.0554982 0.113948 0.0354054 0.952589 0.5 --0.0515065 0.160835 0.00704803 0.335723 0.5 --0.0724038 0.116078 0.0519992 0.591864 0.5 --0.078478 0.142827 0.0455967 0.480272 0.5 --0.0545055 0.113958 0.0351234 0.6549 0.5 --0.0656106 0.156261 -0.00734027 0.576391 0.5 -0.0107636 0.130209 0.0207729 0.465901 0.462501 -0.0134356 0.129163 0.0217505 0.48876 0.445675 -0.0159352 0.127804 0.0226817 0.393607 0.433953 -0.0183414 0.126234 0.023568 0.48266 0.5 -0.0191744 0.125775 0.0238749 0.670283 0.5 --0.0665162 0.155345 0.00690315 0.82869 0.5 --0.0197213 0.123533 0.0272668 0.446568 0.332735 --0.0635768 0.155628 0.0253794 0.564164 0.5 --0.0567915 0.158113 0.00751453 0.231729 0.5 --0.0580787 0.133988 -0.00600022 0.673026 0.5 --0.0468361 0.0970763 -0.0219471 0.825942 0.5 --0.016261 0.181575 -0.0262548 0.40888 0.5 --0.0410386 0.153314 -0.00775366 0.729423 0.5 -0.0151427 0.107227 -0.0182666 0.564672 0.468958 --0.0715005 0.108276 0.0374406 0.342515 0.5 --0.0705038 0.108294 0.0372772 0.311966 0.5 --0.0695161 0.108303 0.0373324 0.287253 0.5 --0.0685163 0.108328 0.0375372 0.296072 0.5 --0.0675133 0.108346 0.0377589 0.291494 0.5 --0.0664975 0.108359 0.0380432 0.421067 0.5 --0.0655034 0.108381 0.0382088 0.498228 0.5 --0.0644937 0.108375 0.0384047 0.530101 0.5 --0.0634989 0.108392 0.0384413 0.561341 0.5 --0.0624964 0.108382 0.0385383 0.618004 0.5 --0.0614977 0.108395 0.0385563 0.48988 0.5 --0.0604943 0.108372 0.0386396 0.501655 0.5 --0.0594963 0.1084 0.0386802 0.49104 0.5 --0.0584982 0.108398 0.0387966 0.517855 0.5 --0.0574962 0.108397 0.0389105 0.527228 0.437304 --0.0564983 0.108415 0.0389345 0.552716 0.5 --0.0554997 0.108443 0.0389722 0.568599 0.5 --0.0544968 0.108447 0.0390956 0.593755 0.5 --0.0534959 0.108443 0.038977 0.584844 0.5 --0.052497 0.108432 0.038849 0.571075 0.5 --0.0514982 0.108428 0.0386132 0.594374 0.5 --0.0504996 0.108397 0.0385655 0.59884 0.5 --0.0495001 0.108413 0.0388185 0.784063 0.5 --0.0485053 0.108444 0.0391022 0.599026 0.5 --0.047499 0.10845 0.0392246 0.595228 0.458611 --0.0464966 0.108432 0.0393098 0.572521 0.5 --0.0454977 0.108441 0.0393231 0.54336 0.5 --0.0444934 0.108473 0.0392485 0.534157 0.5 --0.0434804 0.108484 0.0391565 0.509867 0.431104 --0.0424683 0.108486 0.0389261 0.541456 0.5 --0.0414563 0.108465 0.0385585 0.718439 0.5 --0.0404738 0.108409 0.038128 0.574833 0.5 --0.0394659 0.108422 0.0377073 0.599619 0.5 --0.0384876 0.108386 0.0375357 0.607054 0.5 --0.0374989 0.108379 0.0375203 0.592375 0.5 --0.0365092 0.108385 0.0376381 0.590415 0.5 --0.0355048 0.108366 0.0378272 0.584249 0.473784 --0.0345349 0.108408 0.0380462 0.603112 0.466841 --0.0335154 0.108413 0.0382413 0.733953 0.5 --0.032507 0.108409 0.0384637 0.571282 0.472843 --0.0315115 0.108439 0.0386203 0.593045 0.5 --0.0305016 0.108423 0.0388291 0.614058 0.5 --0.0295118 0.108456 0.0388793 0.633145 0.5 --0.028498 0.108421 0.0390601 0.629353 0.5 --0.0274904 0.108416 0.0392888 0.585338 0.5 --0.0265027 0.10847 0.0397156 0.563014 0.382552 --0.0255159 0.108511 0.0401259 0.563009 0.5 --0.0245088 0.108515 0.0403619 0.590105 0.5 --0.0235066 0.108523 0.0406075 0.584632 0.5 --0.0225051 0.10854 0.0408657 0.593144 0.461873 --0.0215031 0.108553 0.041118 0.598134 0.460305 --0.0204902 0.108532 0.041306 0.622776 0.46046 --0.0195055 0.108574 0.0413935 0.622885 0.5 --0.018498 0.108568 0.0416031 0.614266 0.5 --0.0174912 0.108558 0.0415716 0.81941 0.5 --0.0165087 0.10859 0.0417725 0.812629 0.5 --0.0154871 0.10859 0.0421893 0.613823 0.5 --0.0144984 0.108621 0.0424908 0.601148 0.483301 --0.0134808 0.108609 0.0426611 0.523908 0.5 --0.0124833 0.108618 0.0427908 0.82099 0.5 --0.0114905 0.108632 0.0428314 0.813235 0.5 --0.0104845 0.10863 0.0429333 0.828823 0.5 --0.00947876 0.108641 0.0432746 0.823817 0.5 --0.00848834 0.10866 0.0434392 0.803496 0.5 --0.0074892 0.108662 0.0435531 0.799271 0.5 --0.0064934 0.10867 0.043581 0.628889 0.5 --0.00549695 0.108658 0.0435455 0.63191 0.5 --0.00449913 0.108643 0.0435023 0.635348 0.5 --0.00350345 0.108655 0.04343 0.635137 0.5 --0.0025035 0.108652 0.0433127 0.618767 0.482041 --0.00151033 0.108645 0.043169 0.619868 0.5 --0.000516741 0.108636 0.04302 0.80118 0.5 -0.000488727 0.108629 0.0427903 0.824805 0.5 -0.00148661 0.108625 0.0426664 0.829397 0.5 -0.00249754 0.108619 0.0424686 0.81341 0.5 -0.00348525 0.108604 0.0422849 0.812042 0.5 -0.00449209 0.108585 0.0419458 0.610701 0.402704 -0.00548706 0.108567 0.0416722 0.612031 0.485804 -0.00649868 0.108551 0.0413323 0.614657 0.404194 -0.00749695 0.108523 0.0409368 0.619409 0.475819 -0.00849221 0.108496 0.0406568 0.615323 0.5 -0.00950305 0.108494 0.0403312 0.619272 0.5 -0.0104998 0.108437 0.040345 0.614849 0.5 -0.011503 0.108488 0.0403225 0.629945 0.5 -0.0125106 0.108449 0.040622 0.629596 0.5 -0.0135046 0.108467 0.0407674 0.641107 0.5 -0.0145003 0.108488 0.0407955 0.633331 0.5 -0.0154998 0.108504 0.0406925 0.6386 0.5 -0.0164872 0.108442 0.0405002 0.626473 0.5 -0.0174969 0.108466 0.0401752 0.590778 0.5 -0.0185107 0.108486 0.0398481 0.59196 0.5 -0.019505 0.108463 0.0397034 0.608035 0.5 -0.0205013 0.108449 0.0395681 0.631535 0.5 -0.0215013 0.108432 0.0393095 0.520368 0.5 -0.0225 0.108418 0.039052 0.522874 0.371047 -0.0235041 0.108407 0.0388101 0.515902 0.483723 -0.0245051 0.108393 0.0385583 0.509616 0.5 -0.0405703 0.105644 0.0131657 0.698819 0.5 -0.0445999 0.0931357 0.00219092 0.561055 0.5 --0.029469 0.17882 -0.00554327 0.253622 0.5 -0.0456444 0.086201 0.0151659 0.556777 0.442978 --0.053491 0.113891 0.0350292 0.624354 0.5 --0.0524908 0.113899 0.0349209 0.625943 0.5 --0.0514924 0.113914 0.0348157 0.482944 0.5 --0.00211002 0.131247 0.0146415 0.687293 0.5 -0.0289767 0.117846 0.0275093 0.604897 0.5 --0.0908979 0.126784 0.00627265 0.435656 0.5 --0.0902562 0.135043 0.0112131 0.63282 0.5 -0.0419523 0.101425 0.00119033 0.452113 0.485527 -0.0397783 0.106996 0.0151622 0.710439 0.5 --0.0504737 0.113932 0.0347324 0.527462 0.402256 --0.0739383 0.160975 -0.0103701 0.290166 0.5 --0.0726687 0.161352 -0.00991102 0.355109 0.345704 --0.000499767 0.100727 0.0463954 0.334019 0.339834 --0.0721189 0.15515 0.0282101 0.816586 0.5 --0.00263717 0.12924 0.026005 0.458517 0.5 --0.0668913 0.155545 0.00822429 0.82581 0.5 --0.00387787 0.10737 -0.022403 0.78837 0.5 --0.066989 0.136993 -0.00809827 0.633194 0.5 --0.0341359 0.168185 -0.0152479 0.527374 0.428366 --0.0639936 0.132595 -0.00811291 0.636003 0.490329 --0.0669331 0.125307 -0.0088761 0.813046 0.5 -0.0121361 0.105839 -0.0196306 0.54602 0.5 --0.00789542 0.108803 -0.0224197 0.636507 0.5 --0.0494961 0.113894 0.0347794 0.559885 0.5 --0.0340904 0.160759 -0.0135462 0.852313 0.5 --0.065894 0.118002 -0.00906639 0.624547 0.5 --0.0704588 0.109521 0.0380634 0.353622 0.364353 --0.0694892 0.109539 0.0380952 0.32749 0.385432 --0.0685053 0.109678 0.0379594 0.255969 0.5 --0.0675029 0.109729 0.0377486 0.34696 0.5 --0.0664965 0.109745 0.0377695 0.378522 0.5 --0.0714911 0.116102 0.0521112 0.592915 0.5 --0.0646169 0.109762 0.0377795 0.541559 0.4263 --0.0455052 0.162274 0.00622301 0.463123 0.467175 --0.0624965 0.109755 0.0377659 0.554564 0.5 --0.0614975 0.10975 0.0377559 0.588374 0.5 --0.0604978 0.109778 0.0376942 0.570359 0.5 --0.0594984 0.109765 0.0377884 0.452432 0.5 --0.0584973 0.109766 0.0377913 0.475161 0.5 --0.0575003 0.109781 0.0378101 0.474949 0.5 --0.0564977 0.109762 0.0379025 0.488491 0.5 --0.0554977 0.109766 0.0379077 0.513233 0.408461 --0.0544964 0.10974 0.0378742 0.55103 0.5 --0.0534989 0.109802 0.0378386 0.566555 0.5 --0.0524991 0.109798 0.0378325 0.579754 0.5 --0.0514986 0.109783 0.0378241 0.589558 0.428138 --0.0505005 0.109789 0.0379415 0.579319 0.447905 --0.0495024 0.109811 0.0380885 0.569336 0.5 --0.048501 0.109818 0.0382143 0.697337 0.5 --0.0475 0.109814 0.0383224 0.568635 0.5 --0.0464997 0.109825 0.0383354 0.561449 0.5 --0.0454967 0.109818 0.0383281 0.548391 0.431886 --0.0444932 0.109842 0.0382343 0.541056 0.5 --0.043485 0.109867 0.0381531 0.553647 0.5 --0.0424884 0.109818 0.0380938 0.566079 0.5 --0.0414757 0.109827 0.0377618 0.570542 0.5 --0.0404708 0.109814 0.0374017 0.605828 0.5 --0.03948 0.109789 0.0371385 0.622289 0.5 --0.0384844 0.109782 0.036904 0.646133 0.5 --0.0374937 0.109757 0.0368609 0.619686 0.408417 --0.0365032 0.109752 0.0369592 0.615727 0.425375 --0.0355033 0.109745 0.0370663 0.587718 0.5 --0.0345099 0.109779 0.0372255 0.565129 0.5 --0.0335046 0.109774 0.0374515 0.695035 0.5 --0.0325036 0.10978 0.0375732 0.557744 0.5 --0.0315055 0.109789 0.0377033 0.58109 0.5 --0.0305081 0.109824 0.0377476 0.601771 0.424155 --0.0295069 0.109802 0.0378356 0.630789 0.5 --0.0285044 0.109801 0.0380702 0.625347 0.5 --0.0275197 0.109846 0.0382427 0.580343 0.5 --0.026518 0.10985 0.0386071 0.520235 0.5 --0.0255231 0.109882 0.0391184 0.510521 0.40191 --0.024509 0.109889 0.0396002 0.532745 0.5 --0.0235014 0.109891 0.0398372 0.566552 0.5 --0.0225096 0.10992 0.040117 0.560936 0.5 --0.0215043 0.109928 0.0403615 0.574468 0.5 --0.0204956 0.109916 0.0405701 0.59484 0.5 --0.019502 0.109944 0.0407387 0.629097 0.5 --0.0184962 0.109943 0.0409607 0.624273 0.454871 --0.0175125 0.109971 0.0410978 0.522665 0.446201 --0.0164951 0.109966 0.0413377 0.615634 0.5 --0.0154805 0.109966 0.0416657 0.59627 0.5 --0.0144886 0.109993 0.0419529 0.500105 0.470624 --0.0134826 0.109991 0.0421694 0.50223 0.479017 --0.0124866 0.11001 0.0423152 0.52124 0.481695 --0.011487 0.110004 0.0424075 0.511313 0.483376 --0.010477 0.110005 0.0426237 0.812643 0.5 --0.00949217 0.110042 0.0428369 0.790331 0.5 --0.00849166 0.110041 0.0429425 0.617568 0.5 --0.00746424 0.110009 0.0430329 0.606481 0.477802 --0.00649249 0.110023 0.0430195 0.598883 0.5 --0.00549779 0.110034 0.0429298 0.621679 0.5 --0.00449743 0.110031 0.0429169 0.626173 0.5 --0.00350028 0.110017 0.0429859 0.622287 0.478931 --0.00250067 0.110029 0.0428965 0.622814 0.5 --0.0015019 0.110031 0.0427805 0.806475 0.5 --0.000505415 0.110024 0.0426421 0.831399 0.5 -0.000487515 0.110024 0.0426254 0.840966 0.5 -0.00149673 0.110036 0.0425823 0.837191 0.5 -0.00247871 0.110023 0.0425049 0.820045 0.5 -0.00348633 0.110018 0.042298 0.803592 0.5 -0.00447281 0.110003 0.0420134 0.610647 0.407098 -0.0054852 0.109984 0.0416767 0.605167 0.480177 --0.0823269 0.108767 -0.000607289 0.514896 0.5 --0.00849082 0.119665 0.0373867 0.65442 0.5 -0.00844159 0.109753 0.0403226 0.612331 0.5 -0.00949393 0.109876 0.0399119 0.637391 0.5 -0.0104934 0.109851 0.0397458 0.653721 0.5 -0.0115037 0.109883 0.0397133 0.665356 0.444574 -0.0125027 0.109886 0.0398286 0.658788 0.434179 -0.0135065 0.109861 0.0400106 0.692716 0.407232 -0.0144999 0.10985 0.0401157 0.695299 0.5 -0.015502 0.109895 0.0399577 0.669291 0.5 -0.0164894 0.10985 0.0397676 0.650954 0.390663 -0.0174948 0.109841 0.0394103 0.641883 0.5 -0.0185004 0.109841 0.0391791 0.653782 0.5 -0.019508 0.109842 0.0390589 0.532641 0.481658 -0.0204806 0.109788 0.0388648 0.520083 0.448518 -0.021502 0.109802 0.0384228 0.633202 0.5 -0.0224953 0.109772 0.0381484 0.639886 0.5 -0.0235417 0.109895 0.0378397 0.631257 0.5 --0.0842876 0.108899 0.00336188 0.453559 0.5 --0.069531 0.14702 0.0417131 0.584508 0.466057 -0.026502 0.121591 0.0237374 0.650624 0.5 -0.0410592 0.0985428 -0.00379645 0.558991 0.5 -0.0330202 0.102118 0.0356213 0.729764 0.5 --0.0484961 0.113915 0.0346796 0.546974 0.5 --0.0409099 0.173193 -0.0056112 0.212 0.5 --0.0439793 0.169659 0.00035763 0.324558 0.5 --0.0622824 0.159968 -0.0396048 0.42534 0.429338 --0.036496 0.17271 -0.000384966 0.366222 0.334313 --0.0551627 0.0709645 0.0393255 0.673757 0.350131 -0.0259399 0.098006 -0.0197455 0.684181 0.5 --0.0155155 0.115507 0.0382335 0.55687 0.5 -0.0377143 0.106919 0.0261871 0.524615 0.47692 --0.0752567 0.160324 -0.0108988 0.36097 0.5 -0.000838494 0.130009 0.0243594 0.491884 0.5 -0.0152242 0.123558 0.0310525 0.551975 0.5 --0.0442894 0.126542 0.0198398 0.48544 0.5 --0.0690298 0.155601 0.00744971 0.827015 0.5 --0.0500333 0.148713 -0.00320857 0.526526 0.5 --0.0288487 0.0944704 -0.0247187 0.463035 0.5 --0.00688661 0.108791 -0.0226031 0.686379 0.5 --0.07081 0.110507 0.0424798 0.746569 0.5 --0.038884 0.108506 -0.019659 0.666882 0.5 --0.0438179 0.0928034 -0.0224841 0.57748 0.5 --0.0490488 0.150196 -0.0040443 0.521986 0.5 --0.0540561 0.150161 -0.00256907 0.519119 0.5 --0.0699384 0.129684 -0.00901632 0.683259 0.5 --0.0668535 0.0938084 -0.0173106 0.582853 0.5 -0.0382387 0.108322 0.00216703 0.452957 0.5 --0.0800761 0.0936246 -0.00957758 0.694512 0.5 --0.0475033 0.113884 0.0346438 0.534232 0.430238 --0.0464973 0.113852 0.0344899 0.562831 0.5 --0.0344513 0.172765 -0.000813008 0.429439 0.5 --0.0325359 0.172727 -0.00270207 0.555624 0.5 -0.013918 0.129208 0.0205036 0.50512 0.325214 --0.031866 0.126076 0.00521848 0.898835 0.5 --0.042544 0.16227 0.00511409 0.560058 0.5 --0.0855641 0.121149 -0.00272592 0.482481 0.5 --0.0615714 0.111062 0.0370307 0.797626 0.5 --0.0605024 0.111127 0.0368734 0.823549 0.5 --0.0594975 0.111137 0.0367915 0.799404 0.5 --0.0584972 0.111135 0.0367864 0.789759 0.5 --0.0574963 0.111121 0.0367615 0.5624 0.5 --0.0564969 0.111123 0.0367634 0.446632 0.5 --0.0554964 0.111163 0.0367062 0.474051 0.5 --0.054498 0.111159 0.0367038 0.5212 0.415004 --0.0535009 0.111177 0.0367213 0.54496 0.5 --0.0524975 0.111152 0.036921 0.58064 0.5 --0.0515006 0.111173 0.0369493 0.594972 0.5 --0.0504992 0.111154 0.0370407 0.569348 0.5 --0.0494996 0.111168 0.0370596 0.54755 0.5 --0.0485004 0.111187 0.0370789 0.510067 0.5 --0.0474976 0.111158 0.0371638 0.510435 0.5 --0.0465008 0.111213 0.0371008 0.553495 0.5 --0.0454975 0.111194 0.0370842 0.580589 0.5 --0.0444957 0.111173 0.0370595 0.575776 0.5 --0.0434945 0.111176 0.0370674 0.567527 0.5 --0.042488 0.1112 0.0368617 0.569354 0.5 --0.0414792 0.111213 0.0366505 0.602997 0.5 --0.0404833 0.111172 0.036485 0.631513 0.5 --0.0394866 0.111153 0.0363447 0.647414 0.5 --0.0384921 0.111131 0.0361977 0.646341 0.5 --0.0374903 0.111156 0.0359971 0.652002 0.5 --0.0364976 0.111093 0.0360234 0.632764 0.5 --0.0355002 0.111108 0.0360398 0.616536 0.413172 --0.0345116 0.111154 0.0360997 0.584009 0.5 --0.0335083 0.11115 0.0363293 0.54974 0.5 --0.0325075 0.11115 0.0364446 0.550917 0.5 --0.0314959 0.111117 0.0366419 0.557535 0.5 --0.0305063 0.111166 0.0367005 0.601277 0.5 --0.0294974 0.111128 0.0367729 0.633914 0.5 --0.0285131 0.111188 0.0369648 0.601364 0.409963 --0.0275135 0.111195 0.0372083 0.550681 0.419236 --0.0265179 0.111211 0.0374625 0.513211 0.5 --0.02552 0.111233 0.0379672 0.488097 0.5 --0.0245152 0.111258 0.0385919 0.497393 0.447299 --0.0235304 0.111308 0.039012 0.523548 0.445075 --0.0225065 0.111294 0.03935 0.540329 0.445338 --0.0215077 0.111305 0.0395987 0.54627 0.44355 --0.0204995 0.111306 0.0398343 0.571818 0.437614 --0.0194926 0.111309 0.040066 0.603479 0.446321 --0.0184975 0.111326 0.0402128 0.619211 0.44982 --0.0174928 0.111329 0.0404434 0.593336 0.5 --0.0164929 0.11134 0.0406952 0.573117 0.5 --0.0154754 0.111334 0.0410203 0.728592 0.5 --0.0144984 0.11138 0.0412273 0.578911 0.5 --0.01349 0.11138 0.0414506 0.595346 0.5 --0.0124847 0.111379 0.041672 0.609288 0.5 --0.0114747 0.111375 0.0418865 0.508881 0.5 --0.0104567 0.111397 0.0420636 0.493883 0.481606 --0.00949487 0.11143 0.0422271 0.600142 0.4772 --0.00849115 0.111421 0.0423213 0.601803 0.471828 --0.00748755 0.111393 0.0423782 0.600044 0.5 --0.00649552 0.111418 0.0421995 0.609507 0.5 --0.0054932 0.111405 0.0422861 0.61406 0.460263 --0.00446924 0.111373 0.0424038 0.628628 0.471565 --0.00349512 0.111424 0.0424267 0.634347 0.5 --0.00249465 0.111426 0.042426 0.635771 0.5 --0.00149842 0.111423 0.0424113 0.832195 0.5 --0.000499736 0.11143 0.0424297 0.847643 0.5 -0.000490707 0.111422 0.0424934 0.827571 0.5 -0.00149281 0.111426 0.0424095 0.805792 0.5 -0.00248558 0.111415 0.0422707 0.622832 0.5 -0.00348136 0.111402 0.0420175 0.504091 0.5 -0.00448658 0.111391 0.0416751 0.509624 0.5 -0.00548074 0.111376 0.0414038 0.518148 0.5 -0.00647808 0.111357 0.041027 0.511524 0.5 --0.0204991 0.12085 0.0318342 0.50057 0.5 -0.00846909 0.111301 0.0401143 0.628585 0.461948 -0.00950248 0.111292 0.0396928 0.645428 0.408491 -0.010493 0.111264 0.0393941 0.65755 0.5 -0.0115009 0.111256 0.0392728 0.790912 0.5 -0.0124992 0.111251 0.0392691 0.672533 0.5 -0.0135008 0.111258 0.0394003 0.667219 0.5 -0.0145005 0.11127 0.0394252 0.684229 0.5 -0.0154995 0.111258 0.0392925 0.664961 0.5 -0.0165102 0.111269 0.0389693 0.536538 0.5 -0.0174899 0.111215 0.038757 0.537274 0.482401 -0.0184693 0.111176 0.038468 0.552667 0.433608 -0.0194916 0.111179 0.0380087 0.562018 0.478297 -0.0205156 0.111203 0.0377036 0.542412 0.482377 -0.0215009 0.111167 0.037529 0.662125 0.5 -0.0224909 0.111137 0.037371 0.640625 0.5 --0.0285085 0.115306 0.0336868 0.569533 0.5 --0.0218282 0.127027 0.00889322 0.643953 0.278931 --0.0777263 0.156926 -0.0159116 0.544792 0.5 -0.0414602 0.0985756 -0.00280597 0.489207 0.5 --0.036508 0.127508 0.00348399 0.882076 0.5 --0.0455004 0.113892 0.0345333 0.566165 0.5 --0.0895401 0.135156 0.0272131 0.773217 0.5 --0.0794788 0.13585 0.0504167 0.444383 0.5 -0.038384 0.106978 0.0241932 0.635515 0.5 --0.0344434 0.174206 -0.0015497 0.305194 0.446126 -0.0412949 0.104257 0.00416372 0.513708 0.5 --0.0858985 0.111778 0.0253403 0.623186 0.5 --0.0314085 0.177247 -0.00418119 0.241676 0.440361 --0.0245124 0.180278 -0.0098524 0.421328 0.5 --0.0445 0.113887 0.0346508 0.601594 0.5 -0.00385761 0.129628 0.0254511 0.350747 0.442124 --0.0634388 0.152153 -0.00650488 0.537826 0.5 --0.0662966 0.156977 -0.00759157 0.55956 0.5 -0.0116443 0.129846 0.0210966 0.480949 0.5 -0.0142764 0.128727 0.0220636 0.485478 0.5 -0.0167493 0.127305 0.0229819 0.40034 0.5 --0.0694997 0.166373 -0.0203616 0.345309 0.443726 -0.0217467 0.124535 0.0248197 0.401473 0.5 --0.0298412 0.0944347 -0.0243277 0.742 0.5 --0.0718881 0.109321 -0.0102252 0.50069 0.5 --0.0428329 0.0928281 -0.0227901 0.449666 0.5 --0.0418435 0.0928469 -0.022966 0.450732 0.5 --0.0448317 0.0927682 -0.0220335 0.629799 0.5 -0.00512317 0.107303 -0.0203142 0.784595 0.5 --0.0500528 0.150184 -0.0037815 0.560405 0.5 --0.0321069 0.162239 -0.0144989 0.610607 0.465947 --0.0488244 0.0927169 -0.0215945 0.799964 0.5 --0.0289503 0.0931616 -0.025199 0.34293 0.5 --0.0474982 0.162268 0.00647513 0.547409 0.5 --0.0933703 0.118789 0.0242915 0.81363 0.5 -0.0388231 0.106965 0.0221712 0.663326 0.5 --0.033489 0.172734 -0.00156283 0.408988 0.459977 --0.0755108 0.126011 0.0529241 0.661937 0.45566 --0.0704919 0.126012 0.052539 0.539433 0.5 --0.0435018 0.113907 0.034675 0.644337 0.5 --0.0815026 0.127419 0.0524098 0.512095 0.449463 --0.0714888 0.127424 0.0521873 0.531023 0.5 --0.0614851 0.112533 0.0365644 0.857371 0.5 --0.0604912 0.112522 0.03629 0.938367 0.5 --0.0594926 0.112518 0.0361699 0.917744 0.5 --0.0584874 0.112515 0.0360801 0.90868 0.5 --0.057494 0.112512 0.0360215 0.906294 0.5 --0.0564952 0.112508 0.0359017 0.890409 0.5 --0.0554943 0.112513 0.0359102 0.607062 0.5 --0.0544937 0.112536 0.0358256 0.611781 0.5 --0.0534948 0.11254 0.0358256 0.515854 0.5 --0.0525052 0.112524 0.0359139 0.541663 0.402994 --0.0514991 0.112527 0.0359192 0.540869 0.5 --0.0504982 0.112495 0.0358796 0.548404 0.5 --0.049499 0.112564 0.0357174 0.556038 0.5 --0.0485029 0.112572 0.035725 0.528911 0.406071 --0.0474983 0.11254 0.0358059 0.510971 0.5 --0.0465003 0.112564 0.0357108 0.551076 0.5 --0.0454992 0.112558 0.0357052 0.571546 0.5 --0.0444981 0.112567 0.0357183 0.615036 0.376359 --0.0434985 0.112577 0.0357301 0.637035 0.5 --0.0424957 0.11253 0.0356818 0.642031 0.5 --0.0414935 0.112526 0.0356807 0.64497 0.5 --0.0404873 0.112547 0.0355988 0.663819 0.382309 --0.039483 0.112566 0.0355031 0.670877 0.5 --0.0384866 0.112537 0.0353486 0.660601 0.5 --0.0374892 0.112529 0.0350998 0.656999 0.5 --0.0364947 0.112507 0.0349484 0.656764 0.5 --0.0355007 0.112502 0.0349387 0.645514 0.5 --0.0345112 0.112532 0.034973 0.62213 0.5 --0.0335129 0.112536 0.0351002 0.587731 0.432697 --0.0325146 0.112544 0.0353443 0.580417 0.5 --0.0315135 0.112545 0.0354646 0.587482 0.5 --0.0305078 0.112529 0.0355647 0.613359 0.5 --0.0295045 0.112518 0.0356692 0.626005 0.5 --0.0285136 0.112565 0.0358423 0.596571 0.5 --0.0275083 0.112548 0.0360564 0.5383 0.5 --0.0264982 0.112519 0.0362632 0.490898 0.428409 --0.0458368 0.0956376 -0.0219211 0.808312 0.5 --0.0448304 0.0956436 -0.0219722 0.716389 0.5 --0.0478322 0.0956344 -0.0220665 0.823632 0.5 --0.0508332 0.0956285 -0.0221275 0.813144 0.5 --0.051836 0.0956238 -0.0221428 0.789137 0.5 --0.052836 0.095613 -0.0220115 0.727546 0.5 --0.053845 0.0955972 -0.0217935 0.703326 0.5 -0.0262469 0.11849 0.0293617 0.621915 0.5 -0.0255714 0.119263 0.0291067 0.602384 0.5 --0.00987882 0.105925 -0.0227673 0.713211 0.5 --0.0799934 0.136838 -0.00393652 0.511004 0.5 --0.0408461 0.0957242 -0.0225993 0.670745 0.5 --0.0418419 0.09571 -0.0225712 0.673096 0.5 --0.0200723 0.0361973 0.0530852 0.447203 0.5 --0.0192376 0.0362049 0.0528295 0.291685 0.457265 -0.0111444 0.104428 -0.02004 0.888976 0.5 --0.0600127 0.131125 -0.00733582 0.660449 0.476894 --0.0779451 0.128117 -0.00684087 0.524375 0.5 --0.0418712 0.105657 -0.0205306 0.740048 0.5 --0.0748055 0.0863518 -0.0148055 0.389502 0.5 --0.0737831 0.0864021 -0.0154104 0.423956 0.5 --0.0688114 0.086573 -0.0173858 0.476888 0.5 -0.0061481 0.104478 -0.0212191 0.787111 0.5 -0.0111302 0.107269 -0.019511 0.565673 0.5 -0.00520355 0.0894816 -0.0332282 0.797928 0.5 --0.0558128 0.0869147 -0.0214989 0.59525 0.5 --0.0221249 0.165275 -0.017299 0.809186 0.5 --0.0360717 0.157766 -0.0114869 0.828945 0.5 --0.00517846 0.0367339 0.04845 0.222029 0.41081 --0.00415334 0.0367895 0.0481682 0.210573 0.5 --0.0497962 0.0869626 -0.02172 0.706197 0.5 --0.0697905 0.0865423 -0.0170841 0.460401 0.440915 --0.0617992 0.0867358 -0.0192812 0.522019 0.5 --0.0709683 0.136976 -0.00769814 0.522664 0.5 --0.0613421 0.118288 0.041013 0.444958 0.430802 -0.029005 0.115546 0.0303821 0.660225 0.5 --0.0474654 0.135069 0.0155888 0.69063 0.5 --0.0310887 0.159271 -0.0130615 0.839361 0.5 --0.030845 0.0944191 -0.0240931 0.775398 0.5 --0.0818927 0.122139 -0.0045131 0.513795 0.5 --0.0311396 0.166714 -0.0162904 0.551269 0.5 --0.0161793 0.169751 -0.0220442 0.669958 0.5 --0.0560506 0.150155 -0.00188433 0.562881 0.5 --0.0687285 0.155709 0.0264626 0.867297 0.5 --0.0687195 0.165823 -0.0200644 0.440462 0.424246 -0.0126876 0.0376693 0.0445214 0.266796 0.5 -0.0137867 0.0377633 0.0443361 0.266173 0.249709 -0.0148847 0.0378033 0.0441286 0.250991 0.5 --0.0628015 0.0867155 -0.0190743 0.624832 0.356436 --0.0497623 0.0665865 0.0371903 0.669296 0.5 -0.0177451 0.0379283 0.0429098 0.281781 0.5 -0.0185494 0.0379494 0.0423026 0.267856 0.5 --0.00587725 0.105934 -0.0226578 0.779635 0.5 -0.0201031 0.0379621 0.0410367 0.199495 0.339656 --0.087831 0.103641 0.0093887 0.703594 0.5 --0.050904 0.119772 0.0333476 0.590483 0.5 -0.0357112 0.102065 0.0324889 0.717221 0.5 -0.0443987 0.0959613 0.0131589 0.562531 0.5 -0.0279524 0.103456 0.0388242 0.70871 0.5 -0.0302883 0.103408 0.0369471 0.721815 0.5 --0.0729716 0.175028 -0.0520538 0.425159 0.5 --0.0668407 0.0952437 -0.0171577 0.575799 0.5 --0.0428426 0.0956907 -0.0224311 0.651853 0.5 --0.0298463 0.0958488 -0.0239617 0.823587 0.5 --0.0659991 0.136994 -0.00799651 0.676933 0.5 --0.00587956 0.107379 -0.0226761 0.75573 0.5 --0.0619636 0.125289 -0.00856668 0.835181 0.5 --0.000859642 0.105926 -0.0219248 0.755337 0.5 --0.0659124 0.113781 -0.0114133 0.592211 0.5 --0.00487539 0.105927 -0.0225105 0.769209 0.5 --0.0498232 0.0349806 0.0446412 0.341981 0.5 --0.0487731 0.0349958 0.0444688 0.284027 0.5 -0.0296386 0.114736 0.0306143 0.668133 0.5 -0.0283559 0.116347 0.030146 0.648879 0.5 -0.0269409 0.117743 0.0296345 0.618639 0.5 --0.0285902 0.125327 0.00496117 0.821372 0.5 --0.027448 0.125478 0.0053817 0.770885 0.5 --0.024201 0.0373653 0.0542269 0.366246 0.5 --0.0230319 0.0374462 0.0541561 0.337961 0.5 --0.0759547 0.129619 -0.00760722 0.398929 0.445851 --0.0208903 0.0376209 0.05361 0.269612 0.410074 --0.0199192 0.0375867 0.0533971 0.306373 0.5 --0.0189411 0.0376177 0.0530488 0.280519 0.399928 --0.0527937 0.0869491 -0.0216809 0.743292 0.5 --0.0507933 0.0869468 -0.0215939 0.720265 0.5 --0.0161865 0.0377383 0.0516902 0.312679 0.5 --0.0152064 0.0377587 0.0513804 0.325683 0.5 --0.0141822 0.0378114 0.0510973 0.325333 0.5 --0.0131926 0.0378477 0.0507876 0.33382 0.371247 --0.0122192 0.0378665 0.050479 0.29035 0.386168 --0.0112578 0.037897 0.0501369 0.302651 0.5 --0.0102585 0.0379591 0.0497745 0.264734 0.5 --0.0568079 0.0869026 -0.0213473 0.565009 0.5 --0.00826521 0.0380456 0.0491273 0.272519 0.364683 --0.00723161 0.0381024 0.0489495 0.286459 0.334516 --0.006265 0.0381462 0.0486516 0.265854 0.366689 --0.00523048 0.0381888 0.0482681 0.26396 0.30057 --0.00423381 0.0382248 0.0479393 0.253225 0.5 --0.00324005 0.038276 0.0477168 0.223909 0.216609 --0.00223658 0.0383059 0.0473338 0.227248 0.5 --0.00125765 0.0383424 0.0470318 0.287352 0.343577 --0.0640284 0.119984 0.047923 0.559641 0.5 --0.0582446 0.13534 0.0351018 0.554568 0.5 -0.0402871 0.104196 0.0211608 0.540134 0.5 -0.00291054 0.0385481 0.0460492 0.315626 0.5 -0.00400584 0.0386131 0.0458842 0.349831 0.5 -0.00510611 0.0386758 0.0457599 0.335781 0.5 -0.00620362 0.0387395 0.045605 0.334822 0.5 -0.00735643 0.038818 0.0454516 0.339738 0.5 -0.00513733 0.104474 -0.0214038 0.768958 0.5 -0.00954728 0.0389439 0.0451085 0.321648 0.5 -0.0106398 0.0390088 0.044914 0.310928 0.5 -0.0117341 0.0390743 0.0447312 0.307464 0.5 -0.0128315 0.0391361 0.0445812 0.316733 0.5 -0.013929 0.0392001 0.0444158 0.313664 0.5 -0.0150246 0.0392642 0.0442415 0.304222 0.5 -0.0161036 0.0393372 0.0440174 0.296977 0.5 -0.0170352 0.0393356 0.0436644 0.270879 0.452664 -0.0179771 0.0393777 0.0432522 0.270107 0.5 -0.0188124 0.0393785 0.042705 0.273856 0.5 -0.0196959 0.0394038 0.04222 0.276769 0.5 -0.0205957 0.0394417 0.0417168 0.271803 0.429831 -0.045275 0.0917907 0.0041773 0.55874 0.5 --0.0192339 0.166857 -0.012207 0.485996 0.465348 --0.051547 0.125478 0.0342157 0.581555 0.5 --0.0182573 0.181629 -0.0177335 0.594618 0.5 --0.0226202 0.181624 -0.0117104 0.462915 0.5 -0.0318118 0.100781 0.0373962 0.724384 0.5 -0.0311382 0.100809 0.0381724 0.714345 0.5 --0.062789 0.152113 -0.0295989 0.505808 0.5 -0.0297469 0.0929269 0.0431563 0.637373 0.5 --0.0438412 0.0942345 -0.0223045 0.610587 0.5 --0.045835 0.0941966 -0.0219229 0.757896 0.5 --0.0528311 0.0941603 -0.0218064 0.804197 0.5 --0.0538405 0.0941624 -0.0218364 0.762344 0.5 --0.0587837 0.0940397 -0.0203993 0.515245 0.340914 --0.0597431 0.093988 -0.019461 0.707389 0.296857 --0.0608063 0.0939347 -0.0190005 0.617735 0.5 --0.0492809 0.152135 0.0110836 0.611316 0.5 -0.00183737 0.0373069 0.04638 0.261253 0.345588 --0.0857257 0.0994313 0.000394941 0.452339 0.5 --0.0600649 0.129705 0.039485 0.65271 0.448834 --0.0789513 0.128091 -0.00607242 0.505916 0.432032 --0.0783317 0.109572 0.0415234 0.916894 0.5 --0.0548507 0.0955893 -0.0216695 0.689462 0.5 --0.0668934 0.119448 -0.00885989 0.713497 0.5 --0.056884 0.0955743 -0.0213395 0.463839 0.5 --0.0485257 0.121087 0.0297472 0.568609 0.5 --0.0608088 0.148246 0.0367611 0.492864 0.459908 --0.0155858 0.183111 -0.0209193 0.56112 0.401469 --0.0484797 0.126826 0.0298997 0.52341 0.5 --0.0550359 0.12552 0.0379729 0.64506 0.5 --0.000203909 0.130048 0.0239772 0.857132 0.5 --0.0112103 0.129394 0.0199977 0.746464 0.5 -0.0302544 0.113856 0.0308506 0.676909 0.5 --0.0341012 0.162237 -0.0142117 0.602767 0.4632 --0.0534745 0.0360014 0.0464895 0.354064 0.5 --0.0523124 0.0360662 0.0464431 0.35513 0.5 --0.0512659 0.0360808 0.0462964 0.28622 0.5 --0.0501651 0.0361307 0.0461721 0.326434 0.5 --0.0491119 0.0361611 0.0459929 0.257756 0.5 --0.0480938 0.0362157 0.0456887 0.230037 0.418671 --0.0470685 0.0362699 0.0454096 0.184596 0.5 --0.0460476 0.0363198 0.0451262 0.178124 0.384759 --0.0450739 0.0363473 0.0448052 0.164859 0.5 --0.0440686 0.0364096 0.0444754 0.180277 0.378427 --0.0431936 0.0363833 0.0440447 0.193197 0.5 --0.0430994 0.12944 0.0113807 0.566023 0.5 --0.00439411 0.0968663 -0.0305974 0.71511 0.325502 --0.0654707 0.155271 0.00728456 0.823562 0.5 -0.0276788 0.117119 0.0298812 0.626751 0.423862 --0.0398245 0.0942915 -0.0229995 0.609324 0.5 --0.0306102 0.125527 0.00421635 0.900666 0.5 --0.02963 0.125357 0.0045818 0.86219 0.5 -0.0295472 0.11806 0.0262972 0.595163 0.5 --0.0671663 0.164687 -0.0194859 0.358609 0.5 --0.0242177 0.0387671 0.0542484 0.40886 0.5 --0.0230546 0.0388523 0.0540611 0.339187 0.5 --0.0220141 0.0388944 0.0538623 0.370486 0.5 --0.0209812 0.0389557 0.0535988 0.346025 0.416744 --0.0200013 0.0389743 0.053287 0.277599 0.5 --0.0189776 0.0390241 0.0529956 0.284421 0.5 --0.018017 0.0390618 0.0526069 0.311389 0.431966 --0.0171133 0.0390763 0.0521827 0.333509 0.5 --0.0161521 0.03911 0.0518105 0.399671 0.418013 --0.0151896 0.0391404 0.0514631 0.405194 0.5 --0.0141713 0.0391912 0.0511685 0.424617 0.406972 --0.0131867 0.0392232 0.050872 0.311144 0.5 --0.0122347 0.0392642 0.0504717 0.28412 0.400902 --0.0112757 0.0392934 0.0501019 0.283521 0.422704 --0.0103201 0.0393296 0.0497389 0.3654 0.5 --0.00928822 0.0393788 0.0494849 0.279643 0.5 --0.00827202 0.0394277 0.049182 0.306569 0.5 --0.00730388 0.0394625 0.048838 0.279229 0.475709 --0.00627779 0.0395112 0.048561 0.276466 0.5 --0.00524162 0.0395598 0.0483202 0.370184 0.5 --0.00422658 0.0396088 0.0480089 0.359275 0.5 --0.00325216 0.0396403 0.0476826 0.278257 0.360257 --0.00222977 0.0396912 0.0474006 0.298252 0.5 --0.00126307 0.039726 0.0470556 0.344786 0.5 --0.000241537 0.0397743 0.0467748 0.355009 0.5 -0.000791005 0.0398223 0.046536 0.39652 0.5 -0.00187492 0.0398874 0.0463369 0.423363 0.5 -0.00289976 0.039936 0.0460731 0.416953 0.5 -0.00399334 0.0399971 0.0458959 0.440282 0.5 -0.00514365 0.0400743 0.045751 0.44547 0.5 -0.00624486 0.0401371 0.0456279 0.443744 0.5 -0.00740252 0.0402134 0.0455033 0.439389 0.395564 -0.00849848 0.0402756 0.0453316 0.422024 0.5 -0.00959837 0.0403395 0.0451906 0.409731 0.5 -0.0107555 0.0404168 0.045078 0.393356 0.5 -0.0118541 0.0404814 0.0449158 0.38688 0.5 -0.0129483 0.0405423 0.0447572 0.391286 0.5 -0.0140441 0.0406072 0.0445814 0.392485 0.5 -0.015086 0.0406501 0.0443863 0.379922 0.5 -0.0161688 0.0407187 0.0441528 0.317569 0.5 -0.017193 0.0407686 0.0438767 0.303497 0.4662 -0.0181431 0.0408036 0.0434958 0.35401 0.5 -0.0189976 0.0408013 0.0429893 0.365784 0.5 -0.0198342 0.0408002 0.0424386 0.324434 0.461619 -0.0207007 0.040829 0.0419301 0.351718 0.5 -0.0215433 0.04083 0.0414017 0.334632 0.467609 -0.0221795 0.040783 0.0405434 0.441767 0.5 -0.0228822 0.0407495 0.0397886 0.410778 0.5 -0.0235133 0.0407023 0.0389233 0.317727 0.5 -0.0229651 0.0928857 0.047441 0.532574 0.5 --0.0146742 0.180146 -0.0213737 0.731902 0.5 -0.0306462 0.0968954 0.0409575 0.736834 0.5 -0.0181832 0.102054 0.0457705 0.493408 0.5 --0.0876274 0.137747 0.00620032 0.561876 0.5 -0.0261935 0.0402752 0.032238 0.294647 0.339561 -0.0267785 0.0402768 0.0313512 0.279931 0.5 --0.060805 0.0867676 -0.0196616 0.452379 0.5 --0.0758951 0.123764 -0.00763971 0.533692 0.441699 --0.0408247 0.092859 -0.0231395 0.555849 0.5 --0.0638117 0.0867138 -0.0190744 0.666946 0.5 --0.061937 0.111099 -0.0150221 0.608847 0.5 -0.0449899 0.0861501 0.00118902 0.569538 0.411652 --0.0301636 0.153871 -0.00371356 0.174064 0.5 --0.0895642 0.139283 0.0271809 0.644099 0.5 --0.0540878 0.128312 0.0358453 0.730429 0.5 --0.0558676 0.0941545 -0.0217392 0.637471 0.5 --0.0548497 0.0941617 -0.0218342 0.703995 0.5 --0.0568623 0.0941345 -0.0215512 0.559663 0.5 --0.0578481 0.0940916 -0.0211113 0.40937 0.366591 --0.0632023 0.166731 -0.0605917 0.298703 0.454422 -0.00013405 0.105909 -0.0216496 0.76254 0.5 --0.0470477 0.150201 -0.00445632 0.507596 0.479182 --0.0388402 0.0957243 -0.0226737 0.655277 0.5 --0.0468309 0.0956366 -0.0220125 0.82138 0.5 --0.0488321 0.0956358 -0.0221459 0.797944 0.5 -0.0289271 0.110086 0.0349831 0.692282 0.5 --0.0762945 0.152787 -0.0118902 0.715962 0.5 --0.0549619 0.14242 0.0292765 0.540983 0.464711 --0.0576661 0.143885 0.0324483 0.761767 0.5 --0.0808584 0.15153 0.0328055 0.310776 0.5 --0.067513 0.132633 0.0463034 0.737119 0.5 --0.0361357 0.127268 0.00216052 0.891264 0.5 --0.0556091 0.0372359 0.0469697 0.316254 0.5 --0.054442 0.0373135 0.0469328 0.276749 0.5 --0.0532705 0.0373829 0.0469289 0.278862 0.5 --0.0522198 0.0374253 0.0467614 0.268284 0.5 --0.05111 0.0375368 0.0465746 0.231927 0.42716 --0.0501186 0.0375352 0.0462556 0.335075 0.403303 --0.0491606 0.0375682 0.0458781 0.281532 0.5 --0.0481382 0.0376145 0.0455768 0.278825 0.5 --0.0470957 0.0376632 0.0453493 0.287924 0.5 --0.0460199 0.0377083 0.0451098 0.293234 0.367831 --0.0451209 0.0377458 0.0446873 0.303924 0.5 --0.0440293 0.0378087 0.0445145 0.302323 0.5 --0.0431166 0.0378307 0.0441123 0.305964 0.5 --0.0833395 0.103378 -0.00262342 0.345654 0.463501 --0.089178 0.137924 0.0381661 0.509317 0.442339 --0.0512299 0.133896 0.029412 0.675406 0.5 --0.0518432 0.133909 0.0302884 0.691749 0.5 --0.0855599 0.112052 0.0307632 0.452139 0.5 -0.0281295 0.110111 0.0355841 0.659722 0.5 -0.0302092 0.117283 0.0265434 0.60052 0.5 --0.0826135 0.153724 0.024657 0.320488 0.426945 --0.0254725 0.0400777 0.0541415 0.489962 0.5 --0.0242347 0.0401682 0.0541848 0.458559 0.5 --0.0230647 0.0402418 0.0541248 0.423392 0.5 --0.0219645 0.0403079 0.0539432 0.38826 0.476256 --0.0209874 0.04034 0.0536055 0.390911 0.378269 --0.0200226 0.0403705 0.0532551 0.36893 0.5 --0.0190478 0.0404047 0.0529202 0.352151 0.44779 --0.0180327 0.0404537 0.0526147 0.389942 0.466386 --0.0170629 0.040485 0.0522671 0.421288 0.461667 --0.0161498 0.040504 0.0518582 0.436089 0.418033 --0.0151483 0.0405525 0.0515137 0.432514 0.5 --0.0141847 0.0405865 0.0511605 0.41235 0.404942 --0.0132153 0.0406258 0.0508237 0.407959 0.467866 --0.012241 0.0406566 0.0504983 0.373137 0.5 --0.0112354 0.0407042 0.0501624 0.369551 0.5 --0.0102599 0.0407381 0.0498453 0.370328 0.46651 --0.00924245 0.0407867 0.049553 0.362405 0.5 --0.00827698 0.0408222 0.049207 0.361163 0.5 --0.00725841 0.0408714 0.048906 0.440778 0.5 --0.00628355 0.0409075 0.0485853 0.431672 0.5 --0.00525979 0.0409541 0.0483014 0.432497 0.5 --0.00424346 0.0409986 0.0479883 0.461714 0.5 --0.00327736 0.0410332 0.0476549 0.440392 0.380541 --0.00224884 0.0410819 0.0473849 0.373645 0.474893 --0.0012817 0.0411143 0.047028 0.44882 0.375504 --0.000216315 0.0411702 0.046762 0.573088 0.5 -0.000821596 0.0412233 0.0465397 0.466649 0.5 --0.050793 0.124044 0.0335488 0.536649 0.5 --0.0157908 0.169796 -0.0160148 0.61604 0.5 --0.0243798 0.168291 -0.0108587 0.642638 0.5 --0.0561131 0.145329 0.0311927 0.579075 0.5 -0.0247594 0.0929114 0.046503 0.466111 0.5 -0.0197097 0.119321 0.0339587 0.592029 0.47756 -0.0374187 0.0855245 -0.0157145 0.746215 0.5 -0.00958152 0.0417197 0.0451866 0.481915 0.5 -0.0107427 0.041795 0.045086 0.464432 0.5 -0.0118435 0.0418607 0.0449613 0.449251 0.5 -0.0130004 0.0419341 0.0448362 0.475782 0.5 -0.014095 0.041997 0.0446638 0.489952 0.5 -0.0151979 0.0420601 0.0445385 0.487785 0.5 -0.0162788 0.0421207 0.0443108 0.461373 0.5 -0.0173062 0.0421724 0.0440438 0.381351 0.457984 -0.0182702 0.0422045 0.0436952 0.362689 0.463942 -0.0191204 0.042209 0.0431814 0.438421 0.5 -0.0199833 0.0422265 0.0426566 0.459081 0.5 -0.0207709 0.0422154 0.0420468 0.479281 0.5 -0.0216142 0.042218 0.0415059 0.415845 0.472482 -0.0224333 0.0422246 0.0409441 0.470207 0.47169 -0.0231834 0.0422122 0.040252 0.593263 0.5 -0.0238752 0.0421864 0.0394869 0.444171 0.5 -0.0245089 0.042142 0.038636 0.525025 0.5 -0.0250546 0.0420912 0.0376641 0.495375 0.5 -0.0265767 0.0994658 0.0420977 0.722826 0.5 -0.0371767 0.095465 0.0345819 0.718127 0.5 -0.0403868 0.0966272 0.0286723 0.682147 0.5 -0.0269196 0.0418157 0.0333163 0.335561 0.431941 -0.0274612 0.0417732 0.0323464 0.336863 0.5 -0.0280618 0.0416802 0.0314173 0.355006 0.386371 -0.0287437 0.0416628 0.0306503 0.36114 0.5 -0.0294554 0.0416168 0.02991 0.420412 0.5 --0.0648009 0.0867059 -0.0190299 0.522392 0.5 --0.0195264 0.159643 -0.00556617 0.264777 0.5 --0.0127812 0.17424 -0.0204206 0.730436 0.5 -0.0207857 0.0994851 0.0460447 0.437394 0.5 --0.0548201 0.128324 0.0365339 0.719291 0.5 --0.0661452 0.115702 0.0482687 0.307185 0.5 --0.0378274 0.0929022 -0.0235348 0.492704 0.5 --0.038823 0.0928858 -0.0233898 0.524406 0.5 --0.0528198 0.0927332 -0.0219739 0.810406 0.5 --0.0518166 0.09273 -0.0219218 0.835079 0.5 --0.0638596 0.0939187 -0.018635 0.659442 0.5 --0.0688255 0.0937312 -0.0163709 0.726304 0.5 --0.0678527 0.0937535 -0.0166708 0.652815 0.369048 --0.0628349 0.0939281 -0.0188357 0.67354 0.5 --0.0618299 0.0939366 -0.0189413 0.661773 0.5 --0.0498262 0.0941747 -0.0218116 0.786747 0.5 --0.0488263 0.0941792 -0.0218889 0.782425 0.5 --0.0368374 0.0957548 -0.023046 0.592178 0.5 --0.0301525 0.168207 -0.0169318 0.490285 0.456672 --0.0561001 0.14389 0.0312058 0.552601 0.5 --0.0568299 0.143897 0.0319274 0.572192 0.479561 --0.0647932 0.143933 0.0397518 0.621016 0.5 -0.0242791 0.118022 0.0317589 0.657563 0.5 --0.0278275 0.158128 -8.54892e-06 0.393352 0.5 --0.0414226 0.150668 0.00483874 0.491474 0.5 -0.0326457 0.113685 0.0274718 0.640522 0.5 --0.0555634 0.0386377 0.0471443 0.405924 0.5 --0.0543178 0.0387289 0.0471882 0.354888 0.5 --0.0532086 0.0387959 0.0470712 0.360055 0.5 --0.0522301 0.0388364 0.0467813 0.36506 0.395487 --0.0512629 0.0388692 0.0464256 0.301517 0.5 --0.0503176 0.0388958 0.046006 0.339707 0.5 --0.0493581 0.0389276 0.0456407 0.486408 0.5 --0.0483957 0.0389613 0.0452757 0.432317 0.5 --0.0473098 0.0390167 0.04506 0.446057 0.5 --0.0462757 0.0390662 0.0448146 0.459414 0.5 --0.0452605 0.0391077 0.0445023 0.480061 0.5 --0.0442953 0.0391467 0.0441537 0.458633 0.5 --0.0433217 0.0391871 0.0438385 0.458277 0.5 --0.0423664 0.0392174 0.0434612 0.462937 0.5 --0.070932 0.129672 -0.00889239 0.636711 0.5 --0.0257849 0.174205 -0.0110873 0.620534 0.5 --0.0219159 0.175693 -0.0142737 0.653794 0.5 --0.0155071 0.175699 -0.0190868 0.721427 0.5 --0.0323725 0.16532 -0.00484492 0.582142 0.5 --0.0364476 0.166788 -0.00019754 0.635867 0.5 -0.00123889 0.0998292 0.0485145 0.443808 0.405048 --0.0255484 0.0414464 0.0539815 0.549241 0.46712 --0.0243246 0.0415463 0.0540712 0.547516 0.465661 --0.0230864 0.0416339 0.0540702 0.527394 0.5 --0.0220331 0.041681 0.0538782 0.448358 0.47609 --0.0210104 0.0417331 0.053591 0.473183 0.5 --0.0200406 0.0417644 0.0532372 0.454214 0.473858 --0.019019 0.0418114 0.0529435 0.439192 0.46811 --0.0180479 0.0418467 0.0526068 0.437362 0.468885 --0.0170777 0.0418831 0.0522589 0.434369 0.5 --0.0161113 0.0419173 0.0519008 0.459203 0.414266 --0.0151514 0.041952 0.0515406 0.476437 0.5 --0.0141936 0.0419832 0.0511586 0.485699 0.419183 --0.0132404 0.0420117 0.0507817 0.47312 0.471583 --0.0122664 0.0420539 0.0504523 0.443906 0.5 --0.0113055 0.0420913 0.0500945 0.436909 0.476536 --0.0102821 0.0421361 0.0498123 0.443678 0.482638 --0.00925999 0.0421824 0.0495336 0.442892 0.5 --0.00828946 0.0422134 0.0491908 0.527598 0.478727 --0.00727442 0.0422617 0.0488857 0.492225 0.5 --0.00631217 0.0422986 0.0485312 0.624487 0.5 --0.00534534 0.0423344 0.0481709 0.623555 0.380209 --0.00432524 0.0423738 0.047881 0.493012 0.5 --0.00335674 0.0424141 0.0475525 0.495472 0.360211 --0.0023893 0.0424447 0.047211 0.501882 0.5 --0.00138527 0.0424799 0.0468649 0.500596 0.5 --0.0616099 0.158421 -0.0325909 0.507133 0.5 --0.0555716 0.122697 0.0389476 0.70004 0.5 --0.0541027 0.122637 0.0375656 0.45108 0.465416 --0.0395679 0.152136 0.0040279 0.561375 0.5 --0.0353519 0.169773 -0.000327923 0.47963 0.5 --0.0563034 0.124125 0.0396482 0.606758 0.5 --0.0527116 0.12267 0.0360612 0.500811 0.470495 --0.0289779 0.174216 -0.00689295 0.678441 0.5 --0.0638003 0.110914 0.037425 0.723987 0.5 -0.0296359 0.112746 0.0324848 0.718795 0.5 -0.0105917 0.043143 0.0448676 0.5345 0.450472 -0.0117525 0.0432202 0.0447834 0.529076 0.474955 -0.0128496 0.0432822 0.0446281 0.666306 0.5 -0.0140069 0.0433574 0.0445182 0.659564 0.5 -0.0151117 0.0434234 0.0444141 0.657747 0.5 -0.0162591 0.0434903 0.0442636 0.521354 0.5 -0.017284 0.0435398 0.0440147 0.444907 0.466086 -0.0182033 0.0435661 0.0436183 0.438252 0.469314 -0.0191474 0.0435971 0.0432171 0.546051 0.461336 -0.019989 0.0436019 0.0426848 0.466095 0.441594 -0.020822 0.043607 0.0421342 0.47524 0.5 -0.0216558 0.0436146 0.0415846 0.481802 0.418042 -0.0224871 0.0436168 0.0410219 0.589763 0.5 -0.0233312 0.0436331 0.0404882 0.52388 0.5 -0.0240686 0.0436305 0.0398361 0.500281 0.441605 -0.0247589 0.0435818 0.039017 0.562091 0.5 -0.025334 0.0435501 0.0381106 0.53939 0.5 -0.0259166 0.0434925 0.0371741 0.490473 0.5 -0.0264406 0.0434552 0.0361928 0.536887 0.5 -0.027039 0.0433782 0.0352623 0.413274 0.426626 -0.0275719 0.0433403 0.0342886 0.399985 0.5 -0.0280869 0.0432543 0.0332457 0.396083 0.406867 -0.0286707 0.0432432 0.0323583 0.394806 0.5 -0.0292762 0.0431552 0.0314362 0.401045 0.38244 -0.029915 0.0430998 0.0305942 0.522018 0.5 -0.0306407 0.0431175 0.0298982 0.624337 0.5 --0.0577458 0.131139 0.0375772 0.65617 0.5 --0.0651404 0.112408 0.0390225 0.310392 0.5 --0.0777857 0.156925 -0.0179137 0.501695 0.5 --0.0681644 0.132655 0.0471068 0.732904 0.5 -0.0453685 0.090397 0.014157 0.548098 0.5 --0.0638988 0.109582 -0.0144399 0.626305 0.5 --0.0728744 0.10362 -0.0122376 0.472443 0.5 --0.0679136 0.113718 -0.0102762 0.576282 0.5 --0.033131 0.166707 -0.0157536 0.555188 0.5 --0.0328324 0.0929676 -0.0240794 0.750458 0.5 --0.0318386 0.0929851 -0.0242124 0.715415 0.5 --0.0338313 0.0929547 -0.0239607 0.811451 0.5 --0.034827 0.0929417 -0.0239227 0.784122 0.5 --0.0508195 0.0927229 -0.0217389 0.846189 0.5 --0.0538265 0.0927341 -0.0220469 0.753489 0.5 --0.0548298 0.0927311 -0.0220321 0.697363 0.5 --0.0478299 0.094184 -0.0219241 0.795828 0.5 --0.0518271 0.094161 -0.0217872 0.824021 0.5 --0.0902689 0.112791 0.0182006 0.680632 0.5 --0.0578782 0.0955404 -0.0210377 0.421074 0.453074 --0.041838 0.0942787 -0.0228038 0.610877 0.5 -0.0402513 0.0940026 0.0302416 0.688862 0.5 --0.0654625 0.143948 0.0405383 0.630114 0.5 --0.0474034 0.126784 0.0277907 0.559024 0.5 --0.0546077 0.131128 0.0350935 0.711292 0.5 --0.0218748 0.174208 -0.0142339 0.671473 0.5 --0.0226834 0.174208 -0.0136486 0.661553 0.5 --0.0194066 0.174211 -0.0159442 0.708061 0.5 --0.0514201 0.121192 0.0343754 0.475083 0.462035 -0.0119421 0.123166 0.0332435 0.502366 0.472712 --0.0575802 0.14965 0.0326026 0.475139 0.5 --0.0534339 0.040168 0.0467985 0.46764 0.459623 --0.0523414 0.0402098 0.0465679 0.463427 0.5 --0.0513639 0.0402537 0.0462611 0.465916 0.5 --0.050462 0.0402796 0.0458238 0.471395 0.5 --0.0495628 0.0402984 0.0453668 0.572266 0.39083 --0.0486202 0.0403225 0.04496 0.571845 0.390217 --0.0475948 0.0403553 0.044655 0.577673 0.5 --0.0465484 0.0404249 0.0444582 0.602922 0.5 --0.0454716 0.0404727 0.0442216 0.62231 0.378582 --0.0445641 0.0405033 0.0438121 0.621142 0.5 --0.0435452 0.0405422 0.0435069 0.59893 0.5 -0.0445378 0.0959706 0.0101622 0.572224 0.5 -0.0434078 0.0958974 0.0221477 0.436266 0.5 --0.0287922 0.165339 -0.00670006 0.595671 0.5 --0.0211402 0.175693 -0.0149194 0.661636 0.450952 --0.0146968 0.175692 -0.019662 0.719141 0.5 --0.0340447 0.1653 -0.00374721 0.573802 0.5 --0.0432329 0.156565 0.00586077 0.670804 0.5 --0.0522319 0.125489 0.0349878 0.609547 0.5 --0.0489018 0.129654 0.0292632 0.623828 0.5 --0.024542 0.0428919 0.0537128 0.565435 0.5 --0.0233033 0.0429927 0.0537933 0.553327 0.480761 --0.0221423 0.0430524 0.0536615 0.554767 0.476786 --0.021105 0.0431099 0.0534593 0.549104 0.469282 --0.020119 0.0431531 0.0531418 0.453953 0.482339 --0.0191016 0.0431933 0.0528315 0.437269 0.47782 --0.0181329 0.0432293 0.0524811 0.4388 0.5 --0.0171714 0.0432613 0.0521182 0.531008 0.5 --0.0161975 0.0432999 0.0517769 0.449535 0.384562 --0.0152962 0.0433291 0.0513434 0.573297 0.5 --0.0473623 0.129578 0.0262098 0.527993 0.5 --0.0465019 0.129507 0.0239285 0.466874 0.5 -0.0388648 0.0842467 -0.0137667 0.644934 0.5 --0.0868887 0.102318 0.0233696 0.499023 0.5 --0.0482032 0.131003 0.0267578 0.577809 0.443009 --0.0486855 0.131027 0.0278379 0.610907 0.5 --0.0562637 0.142432 0.0309288 0.538141 0.477997 --0.0521483 0.153554 0.0122178 0.562834 0.5 -0.0393676 0.0927337 0.0325144 0.69581 0.5 --0.0664004 0.120055 0.0514481 0.561311 0.5 --0.0158705 0.161111 -0.00904539 0.277324 0.5 --0.0239226 0.16684 -0.0101968 0.508747 0.5 -0.024391 0.115338 0.0336864 0.67038 0.5 -0.026456 0.0929171 0.0454329 0.614167 0.5 --0.0516682 0.152149 0.0128837 0.544321 0.5 --0.0264155 0.169752 -0.0102811 0.627161 0.5 --0.0317772 0.169741 -0.00573949 0.698879 0.5 --0.0335104 0.169764 -0.00293532 0.656074 0.5 --0.0187772 0.186086 -0.0166294 0.258835 0.45789 -0.0238707 0.0929061 0.0469915 0.452807 0.5 --0.0932424 0.12021 0.0392849 0.678476 0.5 --0.0271731 0.174192 -0.00959576 0.745997 0.5 --0.0273345 0.172717 -0.009826 0.798756 0.5 --0.0166904 0.169787 -0.0155577 0.5154 0.5 -0.0104651 0.0444795 0.0447526 0.679355 0.5 -0.011492 0.0445292 0.0444785 0.676156 0.5 -0.0125747 0.0445985 0.0442752 0.670298 0.5 -0.0136703 0.0446634 0.0441067 0.657949 0.5 -0.0148253 0.0447411 0.0439981 0.661618 0.5 -0.0159735 0.0448127 0.0438765 0.667382 0.5 -0.0170625 0.0448711 0.043693 0.672454 0.5 -0.0180456 0.044911 0.0433906 0.51348 0.476371 -0.0189949 0.0449386 0.0430002 0.51603 0.5 -0.0198821 0.0449543 0.0425235 0.451818 0.453264 -0.0207685 0.0449736 0.0420523 0.574407 0.5 -0.0215827 0.0449804 0.0414892 0.57126 0.5 -0.0223863 0.0449715 0.0408911 0.498465 0.47676 -0.0232083 0.0449556 0.0403488 0.516532 0.475328 -0.0240034 0.0449703 0.0396985 0.633011 0.5 -0.0247856 0.0449735 0.0390757 0.628999 0.5 -0.0255017 0.0449453 0.0383425 0.576215 0.5 -0.0261947 0.0449183 0.0375802 0.551729 0.5 -0.0268698 0.0448976 0.0368034 0.680392 0.5 -0.0275411 0.044881 0.0360262 0.498167 0.5 -0.0281364 0.0448054 0.035097 0.459068 0.475571 -0.0287018 0.0447465 0.0341399 0.444157 0.457378 -0.0292606 0.0447502 0.0332372 0.429968 0.383082 -0.0297787 0.0446629 0.032196 0.426433 0.5 -0.0304194 0.0446109 0.0313507 0.582708 0.5 -0.0311169 0.0445787 0.030603 0.673059 0.5 --0.0528036 0.129718 0.0341858 0.733074 0.5 --0.052373 0.126911 0.0347775 0.675325 0.5 --0.0668418 0.138273 0.0438208 0.72515 0.5 --0.06623 0.13826 0.0429445 0.708816 0.5 --0.0326084 0.171239 -0.00339173 0.661621 0.5 -0.0274866 0.0994982 0.0416519 0.593669 0.4205 --0.0638846 0.103946 -0.0172176 0.566501 0.5 --0.0351127 0.162221 -0.0139882 0.592307 0.5 -0.0413154 0.0451948 0.0296022 0.466284 0.5 --0.0708102 0.086505 -0.0166182 0.446214 0.423847 --0.0728007 0.0864364 -0.0158265 0.432629 0.430117 --0.058796 0.0868581 -0.0207882 0.373354 0.5 --0.0833705 0.0767799 0.0142875 0.67606 0.5 --0.0629734 0.126755 -0.00855487 0.837337 0.5 --0.0517979 0.0869425 -0.0216307 0.745641 0.5 --0.071904 0.103673 -0.0126696 0.490238 0.480651 --0.0308424 0.0930072 -0.0244625 0.686942 0.5 --0.0298299 0.09304 -0.0247313 0.432254 0.434804 --0.0508247 0.0941547 -0.0216781 0.818948 0.5 --0.0468308 0.0941893 -0.021914 0.798817 0.5 --0.0428369 0.0942645 -0.0226678 0.612308 0.5 --0.0658054 0.0924099 -0.017991 0.458532 0.3905 -0.03375 0.0929319 0.0401542 0.669828 0.5 -0.0187381 0.119283 0.0342968 0.596003 0.5 --0.051308 0.153569 0.0116824 0.575255 0.454579 --0.0656926 0.125639 0.0489587 0.718404 0.5 --0.0671096 0.125666 0.0504247 0.646954 0.5 --0.02106 0.174206 -0.0148174 0.681443 0.434975 --0.018574 0.174216 -0.0164984 0.7127 0.5 --0.0370531 0.166795 0.000693639 0.625494 0.5 --0.0462814 0.155049 0.00841735 0.588866 0.5 --0.011981 0.180127 -0.0244833 0.650029 0.5 --0.00120988 0.105335 0.044053 0.487533 0.459001 --0.0197585 0.171251 -0.0147167 0.658549 0.5 --0.0516597 0.0416063 0.0458402 0.562679 0.445188 --0.0506214 0.0416531 0.0455899 0.55709 0.5 --0.0497297 0.0416675 0.0451167 0.543725 0.5 --0.0488285 0.0416917 0.0446681 0.696417 0.409158 --0.0573508 0.121267 0.0398601 0.57533 0.5 --0.062689 0.110949 0.0372761 0.817732 0.5 --0.0554658 0.14959 0.0286413 0.566072 0.370232 --0.0559672 0.149602 0.0296453 0.5382 0.428709 --0.0436971 0.0419128 0.0432773 0.608165 0.5 --0.0559297 0.13815 0.0313829 0.689792 0.417756 --0.0945397 0.121475 0.0202819 0.640225 0.5 --0.0297036 0.165315 -0.00626903 0.582616 0.474077 --0.0203588 0.175699 -0.0155519 0.681071 0.5 --0.0711733 0.128436 0.0516087 0.544901 0.5 --0.0138948 0.17568 -0.0202542 0.729279 0.5 --0.0362329 0.165306 -0.00162934 0.672901 0.5 --0.0417786 0.156522 0.00614116 0.466436 0.5 --0.0396922 0.156587 0.00568688 0.438555 0.402124 -0.0451024 0.091769 0.003186 0.553085 0.5 --0.0433646 0.153626 0.00736711 0.705683 0.5 --0.0484634 0.122511 0.0297787 0.584482 0.407125 --0.0213253 0.0444675 0.0531428 0.702606 0.5 --0.020287 0.0445184 0.0528933 0.702886 0.5 --0.0193027 0.0445534 0.0525624 0.540672 0.466228 --0.0183468 0.0445922 0.0521871 0.54742 0.5 -0.0390662 0.103279 0.0267541 0.638994 0.5 --0.0653253 0.142516 0.0407395 0.654578 0.5 --0.0930555 0.120208 0.0402916 0.564245 0.5 --0.0523769 0.119775 0.034728 0.58342 0.5 -0.0456627 0.0890114 0.0111648 0.57067 0.5 --0.0896003 0.111903 0.0133388 0.458791 0.5 --0.0597218 0.118329 0.0399103 0.487392 0.473117 --0.0424973 0.155091 0.0068798 0.652796 0.5 -0.0434376 0.0874432 0.0261531 0.625698 0.5 --0.0578054 0.142438 0.0322424 0.733286 0.5 -0.0409317 0.0971197 -0.00479362 0.582408 0.5 -0.022067 0.0981797 0.0461337 0.44439 0.5 --0.0129037 0.181603 -0.0240442 0.572694 0.424896 -0.0387224 0.1084 0.018173 0.709918 0.5 --0.0538472 0.144686 0.025416 0.725929 0.5 --0.0501252 0.138572 0.00341268 0.441585 0.5 --0.0522249 0.152155 0.0138449 0.61518 0.5 --0.0220745 0.169763 -0.0127977 0.643886 0.5 --0.0162469 0.184587 -0.0200786 0.449889 0.5 --0.0863798 0.100827 0.00341316 0.704215 0.5 --0.0543637 0.116891 0.0353365 0.457649 0.5 --0.0181983 0.18599 -0.0174024 0.320674 0.5 --0.0332203 0.171246 -0.00251328 0.577372 0.5 --0.0699145 0.135483 0.0481625 0.66752 0.5 --0.059392 0.149673 0.0353015 0.520156 0.5 --0.0548348 0.124111 0.0382711 0.598256 0.5 -0.0103735 0.0460953 0.0463477 0.586316 0.320426 -0.0109544 0.0459934 0.0454216 0.485304 0.5 -0.0116939 0.0459283 0.0447695 0.517517 0.5 -0.0125996 0.0459414 0.0443461 0.660009 0.5 -0.0136057 0.0460076 0.0440344 0.654355 0.5 -0.0146321 0.0460649 0.043757 0.934082 0.5 -0.0157166 0.0461353 0.0435597 0.935669 0.5 -0.0167377 0.0461846 0.0432665 0.664226 0.5 -0.0177513 0.0462342 0.0429632 0.514318 0.476719 -0.0187045 0.0462587 0.0425837 0.511328 0.5 -0.0196022 0.0462781 0.0421275 0.524784 0.5 -0.0205709 0.0463131 0.0417824 0.534176 0.5 -0.0214143 0.0463213 0.0412437 0.698876 0.5 -0.0222429 0.0463236 0.0406841 0.730493 0.5 -0.0230588 0.0463265 0.0401038 0.757708 0.5 -0.0238729 0.0463312 0.0395213 0.790188 0.5 -0.0247031 0.0463341 0.0389677 0.630986 0.5 -0.0255511 0.0463382 0.0384325 0.59227 0.5 -0.026348 0.0463448 0.037827 0.758652 0.5 -0.0271142 0.0463333 0.0371793 0.581676 0.5 -0.0278587 0.0463325 0.0365003 0.550259 0.47915 -0.0285634 0.0463012 0.0357516 0.504498 0.5 -0.0291872 0.0462618 0.034893 0.469212 0.370287 -0.0297504 0.0462054 0.0339396 0.438241 0.5 -0.0302609 0.0461225 0.032895 0.420331 0.349631 -0.0308648 0.0460986 0.0320207 0.577522 0.402023 -0.031559 0.0460718 0.0312637 0.668803 0.5 -0.0323835 0.0460752 0.0307026 0.757837 0.5 --0.0557637 0.121264 0.0386516 0.540283 0.5 --0.0590987 0.135299 0.0356206 0.682472 0.5 --0.0599957 0.135288 0.0360766 0.652966 0.5 --0.0606335 0.122654 0.0421622 0.581878 0.5 -0.0202304 0.105998 0.0417108 0.587589 0.5 -0.0401046 0.0466866 0.0313873 0.616267 0.5 -0.0412042 0.046738 0.0312341 0.567442 0.5 -0.0421124 0.0467315 0.0307997 0.537517 0.5 -0.0429421 0.0467386 0.030224 0.507304 0.5 -0.043756 0.0467626 0.0296361 0.476873 0.5 -0.0445157 0.0467554 0.0289718 0.471094 0.5 -0.0452769 0.0467388 0.0283148 0.472332 0.5 -0.0460481 0.046714 0.0276632 0.455967 0.5 -0.0468601 0.0467385 0.0270828 0.446496 0.5 -0.0476236 0.0467222 0.0264254 0.394148 0.5 -0.048317 0.0466984 0.0256626 0.383333 0.5 -0.0489576 0.0466396 0.0248167 0.392111 0.5 -0.0495971 0.0465817 0.0239661 0.372306 0.401409 -0.0503991 0.0466746 0.0233055 0.342211 0.398387 -0.0508787 0.0465582 0.0223162 0.312894 0.5 -0.05138 0.0464792 0.0212617 0.29989 0.456334 -0.0518495 0.0464359 0.0201911 0.300828 0.5 --0.0353516 0.166776 -0.00214363 0.636458 0.5 --0.0849284 0.107666 0.0223625 0.657603 0.466781 --0.00751389 0.102333 0.0437439 0.283161 0.5 --0.0543105 0.149562 0.0267072 0.500407 0.5 --0.0686541 0.12565 0.0517171 0.571893 0.5 --0.0151953 0.168341 -0.0151527 0.483809 0.458656 --0.0177411 0.17422 -0.017052 0.716289 0.5 -0.0210633 0.106016 0.0411627 0.592408 0.5 --0.011641 0.172783 -0.0205328 0.69267 0.5 --0.0455099 0.155064 0.0077969 0.582114 0.460528 --0.0198225 0.168315 -0.0130587 0.502037 0.482956 --0.0629684 0.139576 0.0370615 0.684331 0.5 -0.0217664 0.106013 0.0404033 0.611061 0.364477 --0.0520295 0.0429585 0.0453289 0.55605 0.437524 --0.0510681 0.0429687 0.0449412 0.526246 0.5 --0.0501084 0.0429877 0.0445637 0.519736 0.5 --0.0491293 0.0430398 0.0442413 0.64301 0.5 -0.0225195 0.106011 0.0397482 0.638213 0.5 --0.0225871 0.168294 -0.0117855 0.627222 0.5 --0.0554928 0.148133 0.0286364 0.613848 0.5 --0.0589342 0.12267 0.0410891 0.594615 0.5 --0.0439305 0.0432632 0.0429545 0.747528 0.393714 -0.0245524 0.106048 0.0391612 0.55561 0.406804 --0.0634859 0.146784 0.0381458 0.484853 0.484693 --0.0471905 0.156504 0.00887867 0.624756 0.5 --0.0306082 0.165302 -0.00581873 0.578382 0.5 --0.0171047 0.17569 -0.0178772 0.727918 0.5 --0.0110217 0.175722 -0.0231509 0.688657 0.5 --0.0116954 0.175688 -0.0223293 0.702277 0.5 --0.0483961 0.150684 0.0105827 0.607588 0.47378 --0.0620233 0.159983 -0.0376027 0.4251 0.468719 --0.0283728 0.156641 -0.000811787 0.357399 0.365603 -0.0281029 0.0968693 0.0425418 0.703509 0.419891 --0.0633963 0.145356 0.0382744 0.587451 0.464515 -0.0255102 0.106068 0.0387825 0.557866 0.401891 -0.0264539 0.106068 0.0383874 0.544736 0.5 -0.0273536 0.106086 0.0379553 0.559205 0.414163 --0.018702 0.0459339 0.0516744 0.470585 0.5 -0.0282036 0.106111 0.0374341 0.675601 0.5 -0.0290261 0.106116 0.036871 0.713535 0.5 --0.0633716 0.143922 0.0382956 0.592506 0.5 --0.0606527 0.151084 0.0352378 0.458713 0.46522 --0.0553782 0.151032 0.0287496 0.456156 0.5 --0.0858054 0.102155 0.00239755 0.467244 0.471866 --0.0476365 0.150675 0.00992423 0.605341 0.5 --0.0468871 0.150669 0.00925072 0.730514 0.5 --0.0273383 0.17123 -0.0098418 0.649032 0.5 --0.0119937 0.164096 -0.013967 0.273969 0.405877 -0.0413723 0.0971667 -0.00382246 0.503773 0.5 --0.033844 0.171255 -0.00164046 0.468942 0.5 --0.0570356 0.142438 0.0315884 0.719491 0.5 --0.0181795 0.183113 -0.0176247 0.464403 0.5 --0.014344 0.183095 -0.0226028 0.515173 0.5 --0.0130965 0.169821 -0.0173751 0.479448 0.47824 --0.0175848 0.169785 -0.0150947 0.520424 0.5 --0.0198636 0.184564 -0.0147357 0.296334 0.5 --0.0156627 0.184575 -0.0209705 0.452509 0.5 --0.013113 0.184484 -0.0260544 0.309641 0.5 --0.0341025 0.169759 -0.00204136 0.648452 0.5 --0.0232213 0.183101 -0.0108227 0.31077 0.5 -0.0375934 0.102015 0.0299178 0.699987 0.5 -0.0298444 0.106115 0.0363002 0.72383 0.5 -0.0305908 0.106106 0.0356297 0.72648 0.5 -0.0313444 0.106098 0.0349666 0.733788 0.5 -0.0109534 0.0475021 0.0472035 0.540633 0.5 -0.011631 0.0474937 0.0464252 0.507166 0.5 -0.0125029 0.0475354 0.045933 0.515449 0.5 -0.0133395 0.0475307 0.0453837 0.508396 0.457086 -0.0141656 0.0475343 0.0448184 0.497119 0.5 -0.0149498 0.0475024 0.0442108 0.507381 0.46967 -0.0158441 0.0475203 0.043749 0.523303 0.469685 -0.0166876 0.0475243 0.0432195 0.514561 0.5 -0.0175786 0.0475536 0.0427473 0.661865 0.458586 -0.0184606 0.0475775 0.0422564 0.67792 0.5 -0.0193551 0.0475975 0.0417872 0.536541 0.481019 -0.0203005 0.047637 0.041402 0.542841 0.447348 -0.0212154 0.0476501 0.0409677 0.716804 0.5 -0.0220994 0.0476682 0.0404859 0.73533 0.5 -0.0229251 0.0476731 0.039919 0.594924 0.483893 -0.0237846 0.0476926 0.0394013 0.619299 0.5 -0.0246905 0.0477085 0.0389599 0.629938 0.5 -0.0255945 0.0477251 0.0385093 0.516124 0.5 -0.0264669 0.0477487 0.0380114 0.620511 0.5 -0.0272987 0.047751 0.0374572 0.634667 0.5 -0.0281109 0.0477624 0.0368744 0.615006 0.5 -0.0288766 0.0477511 0.0362254 0.562827 0.5 -0.0295798 0.047722 0.0354768 0.518344 0.5 -0.0301953 0.0476864 0.0346108 0.47429 0.448934 -0.0307633 0.0476275 0.0336614 0.41718 0.447932 -0.0313304 0.0475675 0.0327114 0.539714 0.5 -0.0319703 0.0475137 0.0318758 0.624992 0.5 -0.0327662 0.0475454 0.0312717 0.711629 0.5 -0.0320567 0.106099 0.0342281 0.726663 0.5 --0.0640141 0.128346 0.0443555 0.712215 0.420475 --0.0634251 0.128316 0.0434644 0.707808 0.5 --0.062835 0.128322 0.0425151 0.721931 0.5 -0.0326969 0.10609 0.0333845 0.720228 0.5 -0.033372 0.106071 0.0326127 0.712642 0.5 -0.0418096 0.0482673 0.0320498 0.635342 0.5 -0.0427154 0.0482477 0.0316879 0.507401 0.474145 -0.0435987 0.0482711 0.0311843 0.561832 0.5 -0.0444321 0.0482656 0.0306384 0.554948 0.5 -0.0452145 0.0482364 0.0300085 0.541226 0.5 -0.0460187 0.0482649 0.029417 0.521603 0.5 -0.0467715 0.0482711 0.0287479 0.502514 0.5 -0.0475389 0.0482604 0.0280949 0.506209 0.5 -0.0482658 0.0482112 0.0273759 0.498596 0.5 -0.0490097 0.0482239 0.0267018 0.495426 0.5 -0.0497106 0.0482066 0.0259506 0.48379 0.5 -0.050389 0.0482108 0.0251806 0.416499 0.5 -0.0510319 0.0481609 0.0243415 0.431681 0.383346 -0.0517118 0.048146 0.0235716 0.398765 0.5 -0.0522449 0.0480372 0.0225432 0.376 0.453234 -0.0528302 0.048039 0.0216552 0.333334 0.5 -0.0395831 0.0953666 0.0310696 0.702818 0.5 --0.0527869 0.124083 0.0359567 0.557303 0.5 --0.0571323 0.14819 0.0314465 0.602709 0.5 --0.0188778 0.168283 -0.0134663 0.496373 0.5 -0.0176998 0.103348 0.0450658 0.583624 0.5 -0.0271211 0.103444 0.039376 0.703224 0.5 -0.00749812 0.109597 0.0408218 0.606956 0.474505 --0.0265586 0.171236 -0.0104749 0.631851 0.5 --0.0169066 0.174228 -0.0176024 0.719256 0.5 --0.0419337 0.160883 0.00416203 0.486055 0.5 --0.0434567 0.155083 0.00724724 0.51722 0.5 --0.0444935 0.155066 0.00750552 0.54859 0.470048 -0.0154861 0.0927165 0.0506449 0.614154 0.5 -0.0340178 0.106064 0.0317678 0.711304 0.5 --0.0524783 0.0442541 0.0446515 0.395186 0.5 -0.0346837 0.106039 0.030986 0.731897 0.5 -0.0353616 0.106017 0.0302164 0.718782 0.5 -0.0360105 0.106014 0.0293761 0.688053 0.5 -0.0223261 0.116663 0.0342169 0.536392 0.5 --0.0553627 0.139574 0.0304759 0.622521 0.5 --0.0621593 0.13389 0.0382274 0.603354 0.5 --0.0592645 0.138135 0.0336221 0.570477 0.5 -0.0366723 0.106016 0.0285439 0.672162 0.5 -0.0373363 0.105992 0.0277645 0.657922 0.5 --0.0563111 0.122698 0.0396267 0.564901 0.5 --0.0464295 0.156494 0.00819518 0.592602 0.420153 --0.0314988 0.165308 -0.00534483 0.574072 0.5 --0.0332166 0.165305 -0.0043102 0.581722 0.5 --0.013157 0.175712 -0.0209577 0.737216 0.5 -0.0422452 0.0986357 -0.000817871 0.57613 0.5 --0.0724396 0.129821 0.051541 0.537093 0.5 -0.037882 0.105959 0.026802 0.637669 0.5 --0.0147714 0.163994 -0.0109737 0.351911 0.5 --0.0275574 0.156658 -0.00139783 0.355665 0.5 --0.0498016 0.128288 0.0314623 0.668899 0.5 --0.06715 0.145376 0.0416405 0.613131 0.5 --0.0328596 0.153633 -0.000344229 0.250685 0.443663 --0.0293172 0.172724 -0.00740528 0.710403 0.5 --0.0660181 0.127026 0.048508 0.718207 0.5 -0.0405341 0.105626 0.00416435 0.637174 0.5 --0.0543933 0.14384 0.0284354 0.663837 0.5 --0.0389566 0.155104 0.00497717 0.649157 0.5 --0.0685902 0.112767 0.0465657 0.276218 0.438641 --0.0185636 0.161122 -0.00592394 0.350317 0.5 --0.0193913 0.161115 -0.00536021 0.357424 0.5 --0.0201769 0.16108 -0.00474531 0.414618 0.5 --0.0461015 0.150679 0.0086365 0.716172 0.5 --0.0427476 0.159417 0.00474491 0.650196 0.5 --0.0201931 0.18164 -0.0152257 0.455842 0.5 --0.0162281 0.181624 -0.0200739 0.671733 0.5 --0.0123081 0.181626 -0.0249909 0.450315 0.485897 --0.0675811 0.143978 0.0427672 0.63967 0.5 --0.0176301 0.183064 -0.0184359 0.48931 0.438208 -0.0296649 0.110072 0.0343033 0.705067 0.5 --0.0139903 0.169817 -0.0169155 0.501006 0.5 --0.0184806 0.169783 -0.0146335 0.518901 0.485232 --0.0229677 0.169763 -0.0123298 0.651594 0.5 --0.0272508 0.169746 -0.00972716 0.635587 0.5 --0.0323986 0.169744 -0.00487272 0.67195 0.5 --0.0387576 0.152152 0.00343994 0.51948 0.5 --0.0379926 0.15214 0.00278328 0.436739 0.5 --0.021763 0.159801 -0.0034487 0.28859 0.383045 -0.0407791 0.105635 0.00716484 0.657531 0.5 -0.00990869 0.048971 0.0492516 0.579365 0.5 -0.0106756 0.0489592 0.0485841 0.586443 0.5 -0.0114179 0.0489704 0.047894 0.590338 0.5 -0.0122811 0.0490196 0.0473922 0.589102 0.5 -0.0130474 0.0490028 0.046739 0.572969 0.5 -0.0138699 0.049008 0.0461763 0.554112 0.5 -0.0147035 0.0490065 0.0456198 0.530683 0.5 -0.0155215 0.0490175 0.0450471 0.512857 0.5 -0.0163088 0.048977 0.0444188 0.504873 0.324337 -0.0171685 0.0490344 0.0439112 0.487928 0.5 -0.0179624 0.0489942 0.0433049 0.490574 0.445256 -0.0187298 0.0489829 0.0426596 0.499195 0.5 -0.0194996 0.0489742 0.0420155 0.517201 0.5 -0.0203907 0.0490438 0.0415331 0.529763 0.5 -0.0212843 0.0490624 0.0410711 0.559296 0.5 -0.0221626 0.0490425 0.0405889 0.708076 0.5 -0.0230336 0.049071 0.0400904 0.566338 0.5 -0.0238579 0.0490757 0.0395236 0.60819 0.5 -0.0247439 0.0490967 0.0390469 0.639548 0.5 -0.0256959 0.0491338 0.0386649 0.528008 0.402812 -0.0265887 0.0491527 0.0382012 0.513091 0.5 -0.0274263 0.0491525 0.0376576 0.520904 0.444497 -0.028309 0.049176 0.0371723 0.524524 0.456529 -0.0291455 0.0491758 0.0366259 0.62394 0.397504 -0.0299119 0.0491593 0.0359714 0.57466 0.448492 -0.030569 0.0491561 0.035175 0.517736 0.5 -0.0311853 0.0491232 0.0343139 0.471507 0.357945 -0.0317849 0.0490447 0.0333888 0.445093 0.5 -0.0324736 0.0490215 0.0326282 0.604326 0.5 -0.0386899 0.0941002 0.0332667 0.714211 0.5 --0.0598164 0.122657 0.0415831 0.482468 0.482473 --0.0610259 0.126912 0.0416133 0.698375 0.5 --0.0601974 0.126918 0.041055 0.672267 0.5 --0.0593157 0.126918 0.0405689 0.666294 0.5 --0.0654105 0.124234 0.0493774 0.703443 0.5 -0.0256389 0.0929167 0.0460121 0.592528 0.5 -0.00655625 0.109588 0.0412446 0.601312 0.41325 -0.0430843 0.0496743 0.0322331 0.625487 0.5 -0.0440424 0.0496996 0.0318585 0.500531 0.5 -0.0449219 0.0497223 0.0313654 0.593248 0.5 -0.0457541 0.0497206 0.0308161 0.581952 0.5 -0.0465277 0.0497043 0.0301725 0.557314 0.5 -0.0473251 0.0497353 0.0295737 0.571782 0.5 -0.048051 0.0496945 0.0288529 0.572451 0.5 -0.048793 0.049707 0.0281736 0.572583 0.5 -0.0495003 0.0496818 0.0274333 0.567266 0.5 -0.0502478 0.0496891 0.0267596 0.530478 0.403826 -0.0509184 0.0496314 0.0259504 0.510483 0.5 -0.0515991 0.0496316 0.0251833 0.494086 0.5 -0.0522529 0.049588 0.0243549 0.485051 0.420697 -0.052927 0.0495927 0.0235839 0.480122 0.5 -0.0535299 0.049514 0.0226619 0.418448 0.5 -0.0541744 0.0495318 0.0218692 0.396424 0.5 --0.019247 0.158526 -0.00845424 0.231424 0.5 -0.00949301 0.118213 -0.015379 0.54369 0.457314 --0.0205565 0.183109 -0.0139659 0.422183 0.5 -0.0272037 0.100805 0.0412523 0.697984 0.5 -0.0262764 0.100811 0.0416679 0.715624 0.412564 -0.0452514 0.0931962 0.00916141 0.59003 0.5 --0.0163316 0.166866 -0.0132843 0.551261 0.5 --0.056116 0.131133 0.036427 0.662684 0.5 --0.0143864 0.174216 -0.0192271 0.72146 0.5 --0.0168438 0.180138 -0.0192059 0.715668 0.5 -0.0409886 0.104212 0.016155 0.698301 0.5 -0.0305338 0.0929359 0.042541 0.641244 0.5 -0.0273486 0.110085 0.0362063 0.62792 0.5 --0.0532837 0.0454354 0.0434394 0.25393 0.5 -0.0437374 0.0902563 -0.00280325 0.56552 0.5 -0.0369901 0.111103 0.00416682 0.635779 0.477827 -0.0208841 0.115302 0.0356376 0.522501 0.5 -0.0199488 0.115322 0.0360728 0.518624 0.5 --0.0505409 0.146308 0.012527 0.531392 0.5 --0.0546722 0.139567 0.0297056 0.607089 0.5 --0.054069 0.139552 0.0288194 0.587991 0.5 --0.0655581 0.135384 0.0421104 0.68071 0.5 --0.0578223 0.12834 0.0392194 0.693295 0.5 --0.0670308 0.141141 0.0435296 0.686065 0.5 --0.0625718 0.1468 0.0377209 0.485923 0.447506 --0.0457713 0.156483 0.00739285 0.576911 0.5 --0.0450603 0.156487 0.00667449 0.717169 0.407104 --0.0348542 0.165303 -0.00316457 0.552101 0.5 --0.0104302 0.175693 -0.0238578 0.621392 0.5 -0.0432299 0.0944972 0.0241641 0.51006 0.477899 --0.0935142 0.126862 0.0142561 0.728676 0.5 --0.0213985 0.181639 -0.0134576 0.512537 0.5 --0.0262045 0.163884 -0.00647025 0.546076 0.486591 --0.0370175 0.163827 -0.00102436 0.680811 0.5 --0.0350102 0.158094 0.00367693 0.445666 0.44081 --0.0340535 0.158097 0.00328753 0.44202 0.463031 --0.0163209 0.175704 -0.0185048 0.721969 0.5 --0.0252429 0.163867 -0.00684922 0.718938 0.5 --0.0420636 0.159404 0.00394669 0.663986 0.432374 --0.037536 0.159586 0.00182669 0.440144 0.5 --0.0276413 0.159598 0.000270855 0.431301 0.5 --0.0488679 0.135513 0.00441971 0.424845 0.5 --0.0739006 0.162422 -0.0359639 0.460628 0.5 --0.0113677 0.180126 -0.0253581 0.44526 0.485074 --0.0372275 0.160948 0.000450465 0.637357 0.5 --0.0425799 0.160887 0.00499665 0.513274 0.5 --0.0239275 0.1816 -0.0100979 0.295166 0.5 --0.0195581 0.181635 -0.0160858 0.503714 0.469175 --0.0155327 0.181625 -0.0208343 0.656852 0.5 -0.044722 0.0945895 0.0131657 0.5599 0.397696 --0.0218128 0.183092 -0.0122978 0.339988 0.5 --0.0169176 0.183111 -0.0193016 0.54602 0.5 --0.0497324 0.138579 0.00441928 0.415021 0.462793 --0.0289938 0.16114 -0.00164375 0.537982 0.323001 --0.0232543 0.181611 -0.01087 0.344815 0.5 --0.0467665 0.152145 0.00944802 0.577316 0.478915 --0.0451779 0.152141 0.00822921 0.729075 0.5 --0.0419573 0.15213 0.00584722 0.622913 0.5 --0.0581231 0.149655 0.0336366 0.489649 0.5 --0.0586918 0.149676 0.0345486 0.521004 0.5 -0.0318584 0.0981802 0.0392129 0.7295 0.5 --0.0323351 0.172733 -0.00297212 0.570759 0.5 -0.0103976 0.0505032 0.04997 0.599245 0.5 -0.0112751 0.0505364 0.0494832 0.599216 0.5 -0.0120506 0.0505153 0.0488388 0.600033 0.5 -0.0128141 0.0504969 0.0481838 0.604135 0.5 -0.0135718 0.0504901 0.0475195 0.592153 0.5 -0.0143367 0.0504741 0.0468665 0.583449 0.5 -0.0151599 0.050478 0.0463014 0.566751 0.5 -0.0160439 0.0505074 0.0458237 0.705183 0.5 -0.0168973 0.0504721 0.0453108 0.679926 0.5 -0.0178346 0.0505132 0.0449253 0.647628 0.324331 -0.0187703 0.0504962 0.0444745 0.494891 0.293881 -0.0196134 0.0505877 0.0439573 0.455471 0.5 -0.0203519 0.0506032 0.0432764 0.446413 0.423296 -0.0209931 0.0505428 0.042434 0.507052 0.5 -0.0217583 0.0505253 0.0417779 0.536967 0.5 -0.0226208 0.0505695 0.0412719 0.563568 0.5 -0.0234524 0.0505688 0.0407158 0.599734 0.5 -0.0241621 0.0505303 0.0399762 0.635463 0.446542 -0.024912 0.0505255 0.0392969 0.634142 0.5 -0.0258633 0.0505634 0.0389033 0.651658 0.398991 -0.0268091 0.0506065 0.038521 0.651178 0.5 -0.027653 0.0506012 0.0379885 0.648583 0.5 -0.028537 0.0506236 0.0375191 0.668191 0.405917 -0.0294478 0.0506302 0.0370841 0.671735 0.5 -0.0302802 0.0506319 0.0365295 0.635971 0.5 -0.0309795 0.0506032 0.0357766 0.587296 0.5 -0.0315994 0.0505647 0.0349136 0.524989 0.425869 -0.0322304 0.0505255 0.0340589 0.485762 0.5 -0.032875 0.0504741 0.0332188 0.584822 0.5 -0.0336067 0.0504819 0.0325279 0.639672 0.5 --0.0619704 0.118373 0.041992 0.537311 0.5 -0.0239371 0.103424 0.0418106 0.654526 0.5 --0.0642323 0.124186 0.0475964 0.680772 0.5 --0.0647985 0.124215 0.0485 0.694819 0.5 --0.0630437 0.12273 0.0457647 0.628625 0.5 --0.0940023 0.125512 0.016258 0.545418 0.5 --0.0429798 0.150656 0.00610371 0.558267 0.5 -0.0226682 0.115322 0.0347114 0.659324 0.5 -0.0443268 0.0511334 0.0322609 0.627671 0.5 -0.0452831 0.0511563 0.0319003 0.493026 0.5 -0.0461177 0.0511569 0.0313544 0.569755 0.5 -0.0469336 0.0511672 0.030779 0.574277 0.5 -0.0477122 0.0511499 0.0301456 0.589048 0.5 -0.0484686 0.0511467 0.0294828 0.609407 0.416901 -0.0492058 0.0511603 0.0287949 0.610381 0.5 -0.0499493 0.051169 0.0281186 0.605146 0.5 -0.0506886 0.0511228 0.0274131 0.572454 0.5 -0.0514024 0.0510939 0.0266785 0.555568 0.5 -0.0521064 0.0510719 0.0259326 0.529769 0.422251 -0.0527588 0.0510331 0.0250995 0.507251 0.5 -0.0534457 0.0510274 0.0243391 0.517717 0.5 -0.0541184 0.0510309 0.0235647 0.486213 0.446085 -0.0547677 0.0509942 0.0227339 0.474964 0.5 -0.055409 0.0509629 0.0218922 0.429553 0.5 --0.0658844 0.114191 0.045149 0.212624 0.5 -0.0420568 0.0986443 0.0231563 0.635271 0.5 --0.0151083 0.184586 -0.0219884 0.370699 0.457183 --0.0124071 0.172769 -0.0198823 0.716034 0.5 -0.0400088 0.107038 0.00721094 0.664671 0.5 --0.0791963 0.108632 0.0349508 0.434701 0.448225 --0.0945263 0.121474 0.0192827 0.616111 0.5 --0.0600908 0.115373 0.0375616 0.564268 0.5 --0.049306 0.147765 0.0110054 0.699712 0.5 --0.0113059 0.174226 -0.0217772 0.685602 0.5 --0.0652787 0.173897 -0.0604957 0.347203 0.407042 --0.0175993 0.15966 -0.00802789 0.205513 0.5 --0.0304269 0.169744 -0.0072967 0.759913 0.5 --0.0864283 0.0954013 0.00141653 0.498028 0.365039 --0.0557216 0.125528 0.0387388 0.674305 0.5 --0.0685912 0.131247 0.0482807 0.710428 0.5 -0.0246691 0.103387 0.0411037 0.663769 0.5 --0.0632488 0.167828 -0.0435907 0.739922 0.5 --0.0314998 0.155167 -8.72409e-05 0.381623 0.5 -0.0343966 0.0968432 0.0376227 0.730364 0.5 -0.0336609 0.0968599 0.0382997 0.73031 0.5 -0.0319556 0.0942571 0.0410831 0.686626 0.5 --0.0201447 0.166816 -0.0117812 0.491964 0.5 --0.0740333 0.13404 0.0510058 0.583153 0.5 --0.0677529 0.141137 0.0442717 0.675637 0.5 --0.0643328 0.146767 0.0386771 0.606181 0.5 --0.0651408 0.146773 0.0392721 0.631716 0.5 --0.0441588 0.156514 0.00623469 0.697286 0.5 --0.0368214 0.16531 -0.000729186 0.661101 0.5 --0.0875442 0.11045 0.0133403 0.461011 0.5 -0.0435656 0.0945094 0.0231538 0.426685 0.5 --0.0678748 0.125664 0.0510849 0.608198 0.5 --0.0233818 0.177171 -0.0128784 0.609703 0.481476 --0.0113718 0.177173 -0.0236196 0.695093 0.5 --0.0188175 0.159674 -0.00630165 0.205895 0.383224 --0.0673807 0.115762 0.049991 0.347938 0.5 --0.0223477 0.16248 -0.006155 0.581597 0.5 --0.0291964 0.162421 -0.00376774 0.505948 0.5 --0.0376923 0.162356 -0.000243841 0.524576 0.5 --0.0674627 0.138295 0.0446438 0.717512 0.5 --0.0368205 0.162344 -0.00074381 0.530298 0.5 --0.0151964 0.178666 -0.0203777 0.730386 0.5 --0.0161182 0.180144 -0.0199393 0.729454 0.5 --0.0108703 0.180136 -0.0264173 0.385718 0.402539 --0.0381375 0.160902 0.00087141 0.655523 0.5 --0.0399375 0.150681 0.00347523 0.424628 0.5 --0.0214383 0.162534 -0.00657802 0.562199 0.5 --0.0397849 0.155107 0.00553982 0.680696 0.5 --0.0163529 0.16023 -0.0109161 0.279911 0.5 -0.0436616 0.0987354 0.0121603 0.571878 0.484439 --0.0211614 0.183089 -0.0130948 0.407946 0.5 --0.0355502 0.175589 -0.0109785 0.285278 0.462769 --0.089612 0.139257 0.0251846 0.677836 0.5 --0.0491927 0.149222 0.0111539 0.58413 0.5 --0.0345694 0.163827 -0.00275159 0.543585 0.5 -0.0152366 0.121915 0.0327966 0.59086 0.455802 -0.0156704 0.0936059 -0.0251021 0.546403 0.5 -0.0431201 0.0959054 0.0231686 0.520155 0.480826 -0.0452857 0.0889846 0.0161633 0.534567 0.5 -0.00963825 0.115048 0.0386641 0.6485 0.41121 --0.0716516 0.139715 0.0474384 0.617131 0.5 -0.0100829 0.0519948 0.0512903 0.484661 0.466119 -0.01097 0.0520216 0.0508135 0.543245 0.5 -0.0117499 0.0519912 0.0501875 0.551033 0.5 -0.0125099 0.0519837 0.0495237 0.554545 0.5 -0.0132667 0.0519749 0.0488584 0.567122 0.5 -0.0140142 0.0519753 0.0481823 0.559222 0.5 -0.0147704 0.0519654 0.0475176 0.563019 0.5 -0.0156112 0.0519525 0.0469795 0.72867 0.5 -0.0165747 0.0519808 0.0466207 0.761818 0.5 -0.0176026 0.0520233 0.0463575 0.769478 0.5 -0.0186389 0.0520546 0.0461071 0.5775 0.5 -0.0196453 0.0521206 0.045827 0.548493 0.46876 -0.020413 0.0521197 0.0451417 0.512416 0.5 -0.0210892 0.0521114 0.044364 0.483061 0.5 -0.0217093 0.0520814 0.0434982 0.511359 0.5 -0.0224682 0.0520683 0.0428376 0.55089 0.5 -0.0231695 0.0520348 0.0420858 0.567283 0.5 -0.0239006 0.0520481 0.0413924 0.632486 0.418358 -0.0245199 0.0520168 0.0405174 0.630812 0.5 -0.0253529 0.0520143 0.0399629 0.668738 0.5 -0.0262829 0.0520004 0.03955 0.699597 0.386753 -0.0271955 0.0520724 0.0391174 0.698711 0.404471 -0.0279356 0.0520839 0.0384098 0.695929 0.5 -0.0288613 0.0520696 0.0379853 0.700093 0.397704 -0.0298168 0.052105 0.0376191 0.668452 0.395185 -0.0306541 0.0520995 0.0370911 0.614895 0.5 -0.0313568 0.052068 0.0363454 0.588324 0.444224 -0.0319954 0.0520213 0.0354999 0.533471 0.5 -0.0326336 0.0519746 0.0346532 0.495947 0.5 -0.0333394 0.0519958 0.0339463 0.487759 0.425981 -0.0339979 0.0519394 0.0331121 0.596191 0.5 -0.0346832 0.0519191 0.0323364 0.686246 0.5 -0.0322341 0.112712 0.0291688 0.690065 0.5 --0.0645764 0.139638 0.0400104 0.63836 0.5 --0.0640931 0.122778 0.0478095 0.660896 0.406546 --0.063571 0.122754 0.0468224 0.62634 0.5 --0.089161 0.137877 0.0251937 0.656487 0.5 --0.0552077 0.119827 0.0376818 0.502204 0.44785 --0.0532978 0.147774 0.0234078 0.555982 0.483572 --0.0833424 0.104748 -0.00163012 0.335286 0.385343 -0.0454513 0.052559 0.0321398 0.579408 0.5 -0.0464062 0.0525822 0.0317783 0.470433 0.5 -0.047238 0.0525837 0.0312359 0.558389 0.5 -0.0480167 0.0525694 0.0306027 0.575549 0.5 -0.048778 0.0525636 0.0299433 0.600147 0.429808 -0.0495572 0.0525985 0.0293193 0.61622 0.5 -0.0503401 0.0525815 0.0286903 0.62117 0.5 -0.0511643 0.0525875 0.0281258 0.603041 0.5 -0.0519418 0.0525693 0.0274887 0.564783 0.5 -0.0526979 0.0525681 0.0268245 0.541741 0.5 -0.053394 0.0525543 0.0260735 0.542972 0.5 -0.0540378 0.0525213 0.0252382 0.521068 0.5 -0.0546919 0.0524816 0.0244106 0.498829 0.5 -0.0553581 0.0524903 0.0236336 0.493666 0.382632 -0.0559546 0.0524347 0.0227151 0.476598 0.5 -0.0565327 0.0523952 0.0217798 0.45455 0.5 -0.0375235 0.0968947 -0.00979522 0.723601 0.5 --0.0535442 0.129727 0.0348674 0.73091 0.5 --0.0162539 0.171251 -0.016682 0.533973 0.48423 --0.0542914 0.129735 0.0355428 0.720059 0.5 -0.0353682 0.103387 0.0319873 0.722366 0.5 --0.0663764 0.12565 0.049733 0.678235 0.5 --0.0492044 0.143127 0.00539863 0.376445 0.5 --0.00703497 0.101085 0.0445106 0.167427 0.5 --0.0521465 0.121207 0.0350569 0.585208 0.5 --0.092911 0.118706 0.0113064 0.429194 0.5 --0.00908512 0.169637 -0.0217386 0.29601 0.455078 --0.043282 0.147753 0.00390043 0.245798 0.5 --0.0235527 0.156826 -0.00518035 0.152235 0.402088 --0.0850289 0.111596 0.00326083 0.419618 0.5 --0.0467733 0.12389 0.0269319 0.596081 0.359262 --0.0516467 0.0481272 0.0388737 0.167219 0.5 --0.0288706 0.171229 -0.00855169 0.808941 0.5 --0.0306651 0.155159 -0.000638202 0.384701 0.5 --0.0299153 0.155169 -0.001314 0.268521 0.5 --0.0867205 0.102198 0.00542391 0.472611 0.322379 --0.0659345 0.109414 0.0377967 0.445378 0.448116 --0.0731223 0.134062 0.0505767 0.571046 0.474461 --0.0722303 0.134063 0.0500963 0.484212 0.5 -0.0146525 0.0927004 0.0511905 0.505253 0.5 -0.0230909 0.103393 0.0423419 0.645952 0.5 --0.0687416 0.11428 0.0497375 0.35874 0.5 --0.0406606 0.156554 0.00601794 0.433452 0.5 --0.0492183 0.150688 0.0111503 0.577398 0.458704 -0.0439268 0.0945301 0.0211547 0.496745 0.46093 --0.0291346 0.177171 -0.00534178 0.371295 0.5 --0.0226614 0.177177 -0.0135831 0.63506 0.474355 --0.0134729 0.17718 -0.0214028 0.736069 0.5 -0.03817 0.0983612 -0.0088053 0.711521 0.5 --0.0278003 0.174225 -0.00868668 0.714313 0.5 --0.0225444 0.178667 -0.0133919 0.580947 0.5 --0.0144529 0.178665 -0.0210547 0.728523 0.5 -0.0357067 0.0981492 -0.0118335 0.61591 0.5 --0.0384539 0.162349 0.000413916 0.629249 0.5 --0.0241436 0.180147 -0.0104229 0.445709 0.5 --0.0196754 0.180147 -0.0162801 0.614204 0.5 --0.0153829 0.18014 -0.0206255 0.730905 0.5 --0.0219245 0.161037 -0.00376903 0.496117 0.5 --0.0139638 0.180133 -0.0220777 0.732074 0.5 --0.0453102 0.150665 0.00801555 0.709601 0.5 --0.0377749 0.150712 0.00133662 0.293977 0.5 --0.0255881 0.169753 -0.0108444 0.629758 0.5 --0.0124184 0.175705 -0.0216387 0.729205 0.5 --0.0680504 0.12005 0.0525411 0.680294 0.5 --0.0169241 0.181626 -0.0193127 0.664501 0.5 --0.0182252 0.159192 -0.00975232 0.261372 0.5 --0.0477527 0.149202 0.00972608 0.567714 0.484645 --0.0618749 0.161566 -0.0365945 0.463165 0.5 --0.0523357 0.136679 0.027812 0.647485 0.5 -0.0387891 0.096727 0.0316453 0.712318 0.5 --0.0894234 0.0956355 0.01542 0.634183 0.5 --0.045027 0.168395 -0.00690925 0.367333 0.368704 --0.0475977 0.15214 0.0100027 0.612343 0.468997 -0.0457823 0.0862054 0.00618349 0.55862 0.4172 --0.0281399 0.0917982 -0.0286003 0.288673 0.5 -0.0384784 0.105492 -0.00082855 0.59312 0.5 -0.0113635 0.0534706 0.0514016 0.530428 0.5 -0.012127 0.0534588 0.0507501 0.532724 0.5 -0.0128784 0.0534523 0.0500797 0.547414 0.5 -0.0136405 0.0534411 0.0494225 0.538455 0.5 -0.014348 0.0534071 0.0486823 0.536669 0.5 -0.0151695 0.0534137 0.0481113 0.6723 0.5 -0.0161135 0.0534638 0.0477167 0.712266 0.5 -0.0171483 0.0535046 0.047456 0.579809 0.5 -0.0181885 0.053509 0.04724 0.610035 0.5 -0.0193075 0.0536075 0.0470681 0.625681 0.5 -0.0201633 0.0535759 0.04656 0.581784 0.472802 -0.0209419 0.0535563 0.0459234 0.547965 0.5 -0.021663 0.053586 0.0452157 0.563921 0.396178 -0.0223265 0.0535979 0.0444334 0.553657 0.5 -0.0229945 0.0535474 0.0436214 0.581774 0.5 -0.0236683 0.0535376 0.0428398 0.631488 0.418344 -0.0243441 0.0535282 0.0420575 0.620802 0.5 -0.0250466 0.0534973 0.0413033 0.644198 0.5 -0.0259096 0.0534724 0.0407837 0.685187 0.395476 -0.0267966 0.0534918 0.0403155 0.700565 0.5 -0.0276118 0.053509 0.0397341 0.709705 0.5 -0.028423 0.0535254 0.0391477 0.695708 0.5 -0.0293325 0.0535401 0.0386956 0.660628 0.402085 -0.0302182 0.0535528 0.0382346 0.63041 0.5 -0.031043 0.0535582 0.0376713 0.602872 0.5 -0.0317499 0.0535218 0.0369319 0.601117 0.5 -0.03243 0.0535036 0.0361605 0.53606 0.5 -0.0330783 0.0534528 0.0353209 0.497433 0.5 -0.0337476 0.0534432 0.0345417 0.483242 0.5 -0.0343862 0.0533953 0.033694 0.469377 0.5 -0.0350254 0.0533499 0.0328505 0.588986 0.5 -0.035717 0.0533288 0.0320909 0.664264 0.420185 -0.0206219 0.119357 0.0335278 0.500768 0.5 -0.0238242 0.0981836 0.0451545 0.466296 0.5 -0.0432493 0.100107 0.00716752 0.569288 0.425701 -0.0433138 0.0902166 -0.00378785 0.533012 0.5 --0.0567046 0.11983 0.0390246 0.557754 0.5 --0.0553953 0.118382 0.0373919 0.613384 0.431927 -0.0454971 0.0861837 0.00419421 0.509812 0.45198 --0.0541716 0.144673 0.0274046 0.693272 0.5 -0.0465231 0.0539629 0.0319545 0.539251 0.475034 -0.047415 0.0539813 0.0314992 0.5445 0.5 -0.0482509 0.0539799 0.0309574 0.562516 0.450918 -0.0490482 0.0539975 0.0303486 0.588723 0.5 -0.0498583 0.0540108 0.0297623 0.613102 0.5 -0.0507066 0.0540083 0.0292331 0.612958 0.5 -0.0515475 0.0540038 0.0286923 0.600023 0.5 -0.0523683 0.0540101 0.0281247 0.595358 0.5 -0.0531089 0.0539671 0.0274209 0.586304 0.465701 -0.0538412 0.0539826 0.0267309 0.56907 0.5 -0.0544797 0.0539552 0.0258897 0.545646 0.5 -0.0551094 0.0539301 0.0250409 0.528337 0.474803 -0.0557633 0.0538969 0.024211 0.519577 0.5 -0.056383 0.0538774 0.0233551 0.64305 0.5 -0.0569799 0.0538694 0.0224893 0.612237 0.5 -0.0575606 0.0537805 0.0213286 0.456039 0.5 --0.032324 0.161031 -0.00122654 0.617067 0.5 --0.0390311 0.160893 0.00133569 0.632935 0.5 --0.0611099 0.11531 0.0378549 0.514814 0.5 --0.0692562 0.143958 0.0438704 0.512137 0.5 -0.0226049 0.0994887 0.0451477 0.458318 0.5 --0.0565093 0.148178 0.0306333 0.629881 0.5 -0.0210399 0.118016 0.0341276 0.514342 0.5 --0.0918252 0.118761 0.028299 0.704257 0.5 -0.0445209 0.095967 0.011159 0.568006 0.5 --0.054126 0.0491389 0.0369634 0.070265 0.5 -0.0249862 0.118037 0.0310154 0.652099 0.5 --0.0550635 0.116914 0.036091 0.596881 0.5 --0.0128833 0.165453 -0.0135102 0.380942 0.5 --0.0145881 0.165422 -0.0124907 0.433931 0.5 --0.0421778 0.150669 0.00550662 0.535763 0.5 -0.0121111 0.116449 0.0370148 0.569772 0.423984 --0.0597544 0.151092 0.0347772 0.383627 0.5 --0.0341053 0.162392 -0.00207929 0.536568 0.5 --0.0896332 0.0983435 0.0144056 0.837926 0.5 -0.0408155 0.0939721 0.0292858 0.674 0.5 --0.010288 0.172711 -0.0218803 0.562567 0.5 --0.0707401 0.13973 0.0469958 0.51169 0.5 --0.0387324 0.156611 0.00532643 0.537431 0.464944 --0.0313565 0.161046 -0.00157639 0.617981 0.5 --0.00759782 0.103673 0.0436498 0.478677 0.5 --0.0219158 0.177176 -0.0142605 0.649852 0.5 --0.0683486 0.124257 0.0521552 0.486131 0.5 --0.0718527 0.158151 -0.00382487 0.427879 0.5 --0.0148262 0.181632 -0.021586 0.676361 0.5 -0.0391693 0.108394 0.0111647 0.706042 0.5 --0.0460118 0.126697 0.0245216 0.485586 0.459616 --0.0640701 0.113939 0.0406208 0.299455 0.5 --0.0545922 0.126915 0.0368606 0.693947 0.5 --0.023502 0.180157 -0.0112302 0.454179 0.5 -0.0344381 0.102088 0.0341795 0.717688 0.5 --0.0210968 0.161053 -0.00432438 0.393279 0.5 --0.054345 0.151005 0.0266856 0.458113 0.5 -0.0344933 0.0929192 0.0394802 0.709725 0.5 --0.053876 0.126919 0.0361236 0.682808 0.5 --0.048793 0.155022 0.0100543 0.616049 0.5 --0.0292466 0.166794 -0.00735295 0.582282 0.5 --0.0180211 0.168338 -0.0139614 0.500502 0.5 --0.00485752 0.103786 0.0439754 0.47348 0.5 --0.0114184 0.169868 -0.0184586 0.503517 0.5 -0.00705483 0.113673 0.0402142 0.529372 0.5 --0.043267 0.149185 0.00566881 0.410208 0.5 --0.0648688 0.0938916 -0.0183701 0.499738 0.470267 --0.0473301 0.134807 0.0120125 0.549036 0.5 --0.0906686 0.139207 0.0161786 0.372117 0.5 --0.0168713 0.184583 -0.0192109 0.435956 0.5 -0.0382486 0.104643 0.0273123 0.651141 0.5 --0.0311183 0.172722 -0.00474304 0.630265 0.5 --0.0678588 0.128454 0.0493479 0.670212 0.5 --0.0548518 0.122696 0.0382478 0.687949 0.5 -0.0107799 0.0548821 0.052327 0.547965 0.5 -0.0116668 0.0548951 0.0518589 0.519382 0.465103 -0.0124372 0.0548875 0.0512192 0.511479 0.5 -0.0131577 0.0548631 0.0504935 0.516902 0.474742 -0.013902 0.054865 0.0498147 0.514048 0.5 -0.0146633 0.0548535 0.0491553 0.509026 0.5 -0.0154848 0.0548588 0.0485877 0.663956 0.5 -0.0164447 0.0548852 0.0482217 0.708033 0.5 -0.0175889 0.0549386 0.0481228 0.745465 0.5 -0.018728 0.0549999 0.0480114 0.59242 0.5 -0.0196905 0.0550135 0.047657 0.733485 0.5 -0.0205756 0.0550317 0.0471809 0.553006 0.5 -0.0212994 0.0550028 0.0464604 0.543945 0.433334 -0.0220311 0.0550166 0.0457656 0.56405 0.430749 -0.022681 0.0549804 0.0449373 0.573627 0.5 -0.0233417 0.0549864 0.0441504 0.63963 0.420132 -0.0239959 0.0549509 0.0433236 0.686976 0.410874 -0.0247244 0.0549721 0.0426251 0.649951 0.5 -0.0255474 0.054922 0.0420386 0.664615 0.5 -0.0264254 0.054947 0.041554 0.681331 0.5 -0.027252 0.0549488 0.0409918 0.678384 0.5 -0.0280387 0.0549866 0.0403705 0.685917 0.5 -0.028889 0.0549767 0.0398373 0.66341 0.400542 -0.0297724 0.0549903 0.0393628 0.633826 0.5 -0.0306109 0.0549842 0.038821 0.605446 0.5 -0.0313895 0.0549645 0.0381834 0.596232 0.5 -0.0321354 0.0549697 0.0375085 0.594206 0.5 -0.0328247 0.054955 0.0367483 0.547254 0.470613 -0.0335055 0.0549395 0.0359782 0.502587 0.5 -0.0341544 0.0548861 0.0351403 0.481773 0.5 -0.0347756 0.0548514 0.0342768 0.462004 0.5 -0.0354002 0.054813 0.0334165 0.434777 0.454769 -0.0360371 0.0547702 0.0325687 0.572388 0.439056 -0.0367132 0.0547551 0.0317845 0.662886 0.5 -0.0303449 0.112749 0.0317399 0.707931 0.5 --0.0559485 0.119826 0.0383628 0.544527 0.5 -0.0454245 0.0904044 0.0131633 0.558324 0.5 --0.0575438 0.119835 0.0395668 0.569221 0.5 --0.0585001 0.119809 0.0399342 0.552114 0.456913 -0.0455462 0.0861954 0.016167 0.543709 0.5 -0.0288925 0.112764 0.0331675 0.716694 0.5 --0.0678289 0.135464 0.0458614 0.725986 0.5 -0.0475648 0.0553802 0.031711 0.536778 0.5 -0.0484031 0.0553841 0.03118 0.455606 0.5 -0.049194 0.055373 0.030576 0.57646 0.5 -0.0500544 0.0553974 0.0300563 0.600815 0.5 -0.0509435 0.0554131 0.029582 0.513414 0.429911 -0.0518058 0.0553999 0.0290848 0.597363 0.5 -0.0526679 0.0554283 0.0285725 0.589963 0.5 -0.0534095 0.0553934 0.0278769 0.588124 0.5 -0.0541315 0.0553714 0.0271399 0.499698 0.488672 -0.0547917 0.0553704 0.0263503 0.579203 0.484923 -0.0554005 0.0553511 0.0254886 0.710821 0.5 -0.0560337 0.0553031 0.0245952 0.549998 0.477428 -0.0566718 0.0553009 0.0238011 0.540766 0.5 -0.0572674 0.0552579 0.0228777 0.50985 0.5 -0.0578262 0.0552267 0.0219335 0.406996 0.5 -0.0398757 0.096658 0.0297176 0.698921 0.5 -0.0393482 0.0966985 0.0306886 0.708353 0.5 --0.0369427 0.15804 0.00437449 0.41253 0.5 -0.0136046 0.121889 0.0339065 0.610244 0.5 -0.0190336 0.11528 0.0364777 0.527532 0.5 --0.0937861 0.128264 0.0182441 0.78287 0.5 --0.0207276 0.168298 -0.0126147 0.506647 0.5 --0.0141433 0.181604 -0.0223083 0.670935 0.5 -0.0455391 0.0875946 0.0141649 0.569152 0.441002 -0.0438165 0.0959355 0.0191615 0.51051 0.481245 --0.0747362 0.0663817 0.0145125 0.594594 0.5 --0.0155441 0.165408 -0.0121335 0.434575 0.5 --0.0306212 0.159741 -0.0134031 0.821666 0.5 --0.0127734 0.171309 -0.0186592 0.649631 0.5 -0.0329828 0.110047 0.0302661 0.725289 0.5 --0.055098 0.146723 0.029184 0.591138 0.468903 -0.0111265 0.120476 0.0355761 0.627049 0.5 --0.0384682 0.15361 0.00387723 0.593671 0.5 --0.0627416 0.148221 0.0374769 0.499587 0.5 --0.0378831 0.156583 0.00477982 0.663541 0.461274 --0.0507328 0.121196 0.0335979 0.607486 0.5 --0.0157015 0.164 -0.0105798 0.400773 0.5 --0.0272214 0.163934 -0.00616346 0.55955 0.5 --0.0376877 0.163829 -0.000238726 0.66112 0.5 --0.0493593 0.121175 0.032055 0.541958 0.5 --0.0570388 0.149629 0.0316784 0.486985 0.5 --0.0218743 0.178667 -0.0141782 0.621117 0.5 --0.0130273 0.178658 -0.0225027 0.72108 0.5 -0.0436954 0.0959268 0.0201595 0.511611 0.5 --0.0228869 0.180156 -0.0121058 0.539409 0.5 --0.0529232 0.125495 0.0357533 0.626378 0.5 --0.0258342 0.159627 -0.000620301 0.42294 0.5 -0.0277648 0.098182 0.0420578 0.704968 0.5 -0.0321792 0.0929416 0.0413986 0.525107 0.5 --0.0656041 0.136814 0.0420793 0.689571 0.5 --0.0640626 0.136748 0.0389546 0.605997 0.399424 --0.0341251 0.166782 -0.00385534 0.716037 0.5 --0.0326251 0.166779 -0.00520273 0.574087 0.5 --0.046455 0.126722 0.0256927 0.53347 0.5 --0.0751879 0.179229 -0.0530087 0.216638 0.5 -0.0235113 0.118015 0.0324132 0.651242 0.5 --0.0483573 0.129635 0.0282843 0.595715 0.5 --0.0513902 0.122634 0.0344378 0.603759 0.5 --0.0478246 0.129609 0.027299 0.549514 0.5 --0.0590695 0.143884 0.0338908 0.606064 0.366665 --0.0232564 0.171248 -0.0127378 0.668821 0.5 --0.0625254 0.138119 0.0359126 0.670062 0.5 --0.0509363 0.126898 0.0333376 0.631022 0.5 --0.0495769 0.126877 0.0317874 0.611539 0.5 --0.0489995 0.126854 0.0308899 0.578048 0.5 --0.0469166 0.129554 0.0250362 0.510142 0.5 -0.010951 0.0562864 0.05258 0.470737 0.439928 -0.0118426 0.0562933 0.0521284 0.387785 0.5 -0.012618 0.0562866 0.0514947 0.521522 0.5 -0.013378 0.056283 0.0508299 0.528394 0.477748 -0.0141304 0.056278 0.0501629 0.529829 0.5 -0.0148603 0.0562539 0.0494599 0.511651 0.475196 -0.0157351 0.0562704 0.0489701 0.667829 0.5 -0.0167477 0.0563074 0.0486799 0.727767 0.5 -0.0178908 0.0563588 0.0485803 0.596242 0.5 -0.0189816 0.0563976 0.0484166 0.597824 0.5 -0.0199591 0.0564127 0.0480725 0.468785 0.471199 -0.0208153 0.0564412 0.0475406 0.537678 0.5 -0.0215752 0.056436 0.0468827 0.54668 0.453319 -0.0222885 0.0564166 0.0461469 0.562659 0.5 -0.0229642 0.0564103 0.0453711 0.586254 0.5 -0.0236359 0.056409 0.0445932 0.660497 0.436593 -0.0243198 0.0564051 0.0438207 0.663038 0.5 -0.0251418 0.056415 0.0432482 0.672302 0.5 -0.0260147 0.0563895 0.0427437 0.660098 0.5 -0.0268173 0.0563551 0.0421393 0.645639 0.5 -0.0275656 0.0563642 0.0414619 0.658452 0.5 -0.0283669 0.0563832 0.0408635 0.658564 0.5 -0.0292092 0.0563773 0.0403225 0.641919 0.5 -0.0300864 0.0564003 0.0398351 0.630786 0.5 -0.030957 0.0564285 0.0393343 0.61908 0.5 -0.0317881 0.0564278 0.038783 0.608207 0.5 -0.0325669 0.0564098 0.0381516 0.589507 0.5 -0.0332799 0.0564373 0.0374441 0.576764 0.5 -0.0339261 0.0564017 0.0366181 0.670806 0.5 -0.034582 0.0563647 0.0357928 0.634295 0.5 -0.0351768 0.0563002 0.0348659 0.591179 0.5 -0.0357585 0.0562848 0.0339755 0.427001 0.480598 -0.0363518 0.0562159 0.0330449 0.507239 0.5 -0.0369848 0.0561762 0.0322 0.56142 0.5 -0.0377227 0.0561747 0.0314909 0.632131 0.465247 -0.0396169 0.0843072 -0.0127653 0.615566 0.5 --0.0622396 0.155257 -0.0325976 0.82266 0.5 --0.017538 0.18639 -0.0186026 0.311678 0.5 -0.0362687 0.0941823 0.0368117 0.726421 0.5 --0.0182673 0.180142 -0.0177524 0.6736 0.5 --0.086697 0.114875 0.0460769 0.444358 0.5 --0.00109314 0.103948 0.0441727 0.450233 0.5 --0.0483251 0.123967 0.0299918 0.615119 0.5 -0.0484167 0.0567471 0.0312254 0.443571 0.466184 -0.0492859 0.0567642 0.0307116 0.563519 0.5 -0.0501668 0.0567787 0.0302284 0.4839 0.5 -0.0510761 0.0567889 0.0297952 0.500295 0.5 -0.0519851 0.0567984 0.0293579 0.587408 0.5 -0.0528545 0.0568172 0.0288563 0.572844 0.5 -0.0536301 0.0568087 0.0282148 0.469895 0.5 -0.0543448 0.0567886 0.0274783 0.597239 0.5 -0.0549908 0.0567623 0.0266396 0.603709 0.476713 -0.0555936 0.0567472 0.0257684 0.57284 0.5 -0.0561988 0.0567015 0.0248562 0.569301 0.5 -0.0568205 0.0566796 0.0240006 0.557264 0.5 -0.0574465 0.0566575 0.0231489 0.528627 0.5 -0.0580765 0.0566038 0.0222343 0.637933 0.5 -0.029871 0.0968887 0.0415927 0.717458 0.5 --0.0253214 0.158135 -0.00165461 0.286621 0.392045 --0.0484639 0.149215 0.0104667 0.580488 0.5 --0.00505247 0.102417 0.0438081 0.30709 0.5 --0.0625921 0.1213 0.0447428 0.591552 0.5 --0.0144519 0.166922 -0.0140569 0.475637 0.5 --0.0621631 0.164652 -0.0535815 0.419466 0.5 --0.0667756 0.124253 0.0509201 0.623382 0.5 --0.0309567 0.166794 -0.00630909 0.588401 0.5 --0.0582639 0.12123 0.0402958 0.555122 0.5 --0.0286955 0.175698 -0.00647862 0.548139 0.5 --0.018438 0.165372 -0.011068 0.688671 0.5 --0.0469298 0.126751 0.026776 0.559064 0.444058 --0.042206 0.147853 0.000366775 0.318988 0.5 --0.05562 0.146743 0.0301728 0.588908 0.5 --0.0368355 0.153629 0.00272174 0.543881 0.5 --0.0504943 0.147794 0.0128405 0.533192 0.5 --0.0592485 0.148248 0.0355123 0.579419 0.5 --0.0267733 0.15662 -0.0020223 0.197014 0.362686 --0.0259693 0.156664 -0.00260696 0.208498 0.341288 --0.0252695 0.156633 -0.00336931 0.181008 0.367031 --0.0179511 0.175707 -0.0173471 0.722596 0.5 --0.045698 0.157938 0.00750606 0.585776 0.421879 --0.0132407 0.164048 -0.012311 0.359104 0.5 -0.0099296 0.113714 0.0390911 0.653177 0.5 --0.0406031 0.160882 0.00257136 0.503468 0.5 --0.0137397 0.178677 -0.0217984 0.736588 0.5 --0.0497211 0.131062 0.0298847 0.667486 0.5 --0.0222707 0.180155 -0.0129798 0.596419 0.5 --0.0625429 0.143922 0.0377415 0.76703 0.3964 --0.026729 0.159626 -0.000161004 0.427507 0.460563 -0.0400949 0.095337 0.0300286 0.691883 0.427093 --0.0645444 0.136771 0.0400377 0.637599 0.438047 --0.065068 0.136793 0.0410949 0.658885 0.5 --0.063562 0.136724 0.0379539 0.562828 0.5 --0.0606205 0.136712 0.0351771 0.470858 0.5 --0.0596849 0.136693 0.0347693 0.492171 0.5 --0.0571389 0.136712 0.0331888 0.61068 0.5 --0.056363 0.13673 0.0325483 0.650833 0.5 --0.0556122 0.136727 0.0318764 0.688078 0.5 --0.0517083 0.131123 0.0322407 0.73389 0.5 --0.0338617 0.168258 -0.00349456 0.674611 0.5 -0.021919 0.118008 0.0336347 0.633587 0.5 -0.0392277 0.108354 0.00916622 0.700457 0.5 --0.0509894 0.131098 0.0315417 0.740462 0.5 --0.0502302 0.126885 0.0326315 0.612826 0.5 --0.0194278 0.169807 -0.0142312 0.634023 0.5 --0.0166929 0.178668 -0.0190282 0.714815 0.5 --0.058632 0.131139 0.0380532 0.642886 0.5 --0.0595215 0.131137 0.0385262 0.645336 0.459131 -0.0108689 0.0576426 0.0524778 0.538085 0.5 -0.0118091 0.0576645 0.0520801 0.927639 0.5 -0.0126063 0.0576596 0.0514859 0.668108 0.5 -0.013386 0.0576661 0.0508541 0.689153 0.5 -0.0141618 0.0576523 0.0502255 0.558854 0.470555 -0.0150017 0.0576648 0.0496654 0.673204 0.5 -0.0158981 0.0576764 0.0492073 0.549681 0.5 -0.016916 0.0577101 0.0489225 0.599214 0.5 -0.0180643 0.0577618 0.0488361 0.5992 0.5 -0.0191559 0.0577995 0.0486799 0.577179 0.5 -0.020119 0.0578214 0.0483165 0.677882 0.5 -0.0209984 0.0578395 0.0478214 0.520552 0.5 -0.0217645 0.057833 0.0471676 0.431042 0.5 -0.0224822 0.0578106 0.0464363 0.444558 0.5 -0.0231825 0.0577956 0.0456852 0.572079 0.5 -0.023852 0.057789 0.0449027 0.631597 0.45502 -0.0245929 0.0577938 0.0442192 0.65461 0.5 -0.0254863 0.0578069 0.043747 0.649047 0.396012 -0.0263587 0.0577877 0.0432503 0.618039 0.5 -0.0271615 0.0578042 0.0426556 0.619779 0.5 -0.027906 0.0578072 0.0419759 0.629318 0.5 -0.0286533 0.0578113 0.0412965 0.628063 0.455719 -0.0295012 0.0578054 0.0407589 0.635209 0.39526 -0.0303768 0.0578247 0.0402716 0.635975 0.5 -0.0312208 0.0578184 0.0397344 0.62881 0.5 -0.0320683 0.0578123 0.0392046 0.603332 0.5 -0.0328914 0.0578172 0.038629 0.593167 0.5 -0.0336441 0.0578174 0.0379601 0.588776 0.5 -0.0343069 0.0578226 0.0371782 0.737246 0.5 -0.0349695 0.0577828 0.0363582 0.67864 0.5 -0.0356049 0.0577583 0.0355158 0.616523 0.5 -0.0361089 0.0577094 0.0344737 0.559681 0.353861 -0.0366578 0.0576635 0.0335112 0.521658 0.5 -0.0372748 0.0576283 0.0326444 0.722216 0.5 -0.0379248 0.0575872 0.0318029 0.564621 0.480028 --0.0679473 0.136882 0.0457212 0.704919 0.5 --0.0673163 0.13687 0.0448543 0.720461 0.5 --0.0646221 0.122809 0.0487379 0.67303 0.5 --0.0652467 0.122825 0.0496059 0.688383 0.5 --0.0658758 0.122838 0.0504663 0.647681 0.5 --0.0665656 0.122847 0.0512252 0.622711 0.5 --0.0667166 0.136853 0.0439657 0.713563 0.5 --0.0661523 0.136835 0.0429956 0.703879 0.5 --0.0364708 0.152123 0.0014574 0.403521 0.5 -0.049326 0.0581361 0.0307698 0.468683 0.5 -0.0502404 0.0581527 0.030355 0.474413 0.442415 -0.0511798 0.0581784 0.029952 0.473294 0.5 -0.0520769 0.0581909 0.0294992 0.46956 0.447996 -0.0529297 0.0581906 0.02898 0.407469 0.444977 -0.0537368 0.0581963 0.0283843 0.482732 0.481019 -0.0544596 0.058178 0.0276568 0.610974 0.5 -0.0551355 0.0581678 0.0268835 0.629607 0.5 -0.0557201 0.0581302 0.0259556 0.604201 0.5 -0.0563147 0.0580894 0.0250386 0.589437 0.468933 -0.0569296 0.058069 0.024171 0.577771 0.468047 -0.0576125 0.0580597 0.0234109 0.553979 0.5 -0.058244 0.0580344 0.0225642 0.439882 0.5 -0.0587559 0.0579922 0.0215357 0.48465 0.48028 -0.0366057 0.0954909 0.0355184 0.717745 0.5 -0.0327331 0.0942636 0.0404449 0.69301 0.5 --0.0498856 0.149233 0.0119087 0.563476 0.5 --0.0630097 0.121328 0.0458592 0.590657 0.413039 --0.0189873 0.180146 -0.0170482 0.656989 0.5 --0.0125655 0.164041 -0.0130929 0.302408 0.5 --0.0351753 0.160922 -0.000113952 0.610078 0.5 --0.0280768 0.169745 -0.00916431 0.622479 0.5 -0.0444376 0.0959725 0.0121619 0.56241 0.393307 --0.0274521 0.175685 -0.00821886 0.677454 0.5 --0.0194597 0.165415 -0.0107679 0.548772 0.5 --0.0203751 0.165368 -0.0103486 0.580263 0.5 --0.0614696 0.136692 0.0357094 0.592141 0.5 --0.0562712 0.146757 0.030967 0.62583 0.5 --0.0472527 0.147738 0.00869118 0.656387 0.5 -0.0325643 0.0981766 0.0384761 0.724217 0.5 --0.0527627 0.115451 0.034109 0.652137 0.466948 -0.0378702 0.100686 0.0303226 0.707952 0.5 --0.0714891 0.129823 0.0511416 0.467193 0.473137 --0.0662836 0.114247 0.046332 0.230851 0.429752 --0.0568394 0.145329 0.0319256 0.601853 0.5 --0.0449507 0.157934 0.00683281 0.701522 0.413899 --0.0245154 0.158144 -0.00224812 0.357173 0.5 --0.0535056 0.136701 0.0296589 0.66949 0.5 -0.0243457 0.102123 0.0424029 0.680186 0.5 --0.0123464 0.178658 -0.023274 0.704155 0.5 -0.00551455 0.110936 0.0415028 0.510118 0.473656 --0.0827158 0.108829 0.000295564 0.392916 0.465755 --0.0403921 0.162356 0.00287494 0.621163 0.5 --0.0324319 0.159505 0.00208324 0.44862 0.5 --0.0667178 0.127063 0.0492263 0.685345 0.5 --0.0626162 0.142488 0.0376248 0.767183 0.5 --0.0601666 0.138122 0.0340792 0.526861 0.5 --0.0636379 0.131123 0.0413473 0.731705 0.5 --0.0642658 0.131126 0.0422113 0.713125 0.5 --0.0648724 0.131147 0.0430922 0.71188 0.5 -0.0267262 0.114038 0.0335472 0.560748 0.5 --0.0693376 0.131255 0.0489674 0.676212 0.5 --0.0700881 0.131265 0.0496481 0.626038 0.5 --0.0708777 0.131245 0.0502751 0.487172 0.5 --0.0520723 0.122646 0.0352105 0.484935 0.5 --0.0468135 0.1536 0.00939603 0.599476 0.5 --0.0686311 0.136892 0.0464956 0.67924 0.5 -0.024552 0.110059 0.0374287 0.510921 0.461419 --0.0939473 0.122782 0.0142819 0.491567 0.5 --0.044345 0.152142 0.00768226 0.730272 0.5 --0.0489146 0.121146 0.0309679 0.549008 0.33577 -0.00882114 0.0589209 0.053036 0.552546 0.5 --0.0357383 0.152143 0.000762654 0.285094 0.5 --0.0548531 0.149577 0.0276913 0.528404 0.5 -0.0117081 0.0589891 0.0519593 0.68258 0.5 -0.0124938 0.0589954 0.0513278 0.685362 0.5 -0.0132853 0.0589897 0.0507165 0.697288 0.5 -0.0141254 0.0589894 0.0501816 0.702251 0.5 -0.0150592 0.0590177 0.0497649 0.534316 0.5 -0.0160048 0.0590435 0.0493667 0.554101 0.5 -0.0170299 0.0590745 0.0491032 0.579722 0.5 -0.0181085 0.0591163 0.0489014 0.584266 0.5 -0.0192013 0.0591556 0.0487522 0.552803 0.5 -0.0202169 0.0591906 0.0484605 0.530215 0.469826 -0.021114 0.0592021 0.0480036 0.436215 0.5 -0.021851 0.0591836 0.0473037 0.428018 0.5 -0.0226226 0.0591926 0.0466634 0.447132 0.476504 -0.0233319 0.059176 0.0459237 0.470053 0.5 -0.0240318 0.0591603 0.0451764 0.608902 0.471236 -0.024788 0.0591582 0.0445118 0.615319 0.5 -0.0257137 0.0591918 0.0440938 0.632353 0.5 -0.0266247 0.0591987 0.0436528 0.62646 0.5 -0.0274474 0.0591653 0.0430806 0.599193 0.5 -0.0281313 0.0591962 0.0423168 0.624872 0.477444 -0.0288434 0.0591735 0.0415864 0.618363 0.5 -0.0296673 0.0591775 0.0410177 0.626044 0.5 -0.0305372 0.0592022 0.0405121 0.624862 0.462708 -0.0314319 0.059214 0.0400505 0.624296 0.5 -0.0323433 0.0592178 0.0396143 0.613032 0.5 -0.033177 0.0592197 0.0390624 0.600317 0.473468 -0.0338995 0.0591949 0.0383404 0.597205 0.5 -0.0346034 0.0592134 0.0376264 0.595078 0.486311 -0.035265 0.0591791 0.0368077 0.728961 0.5 -0.0358939 0.0591552 0.0359628 0.665401 0.5 -0.0364442 0.0590953 0.0349595 0.582899 0.5 -0.03698 0.0590759 0.0339965 0.559645 0.5 -0.0375229 0.0590309 0.0330268 0.548475 0.5 -0.0380982 0.0589726 0.0320786 0.734253 0.5 -0.0387801 0.058953 0.031306 0.587282 0.5 --0.0551272 0.0478339 0.0400497 0.10477 0.285222 --0.00144558 0.106667 0.0437112 0.579491 0.407487 --0.0636907 0.124164 0.0466174 0.672083 0.5 --0.0631629 0.124137 0.0456282 0.673291 0.5 --0.0625935 0.12412 0.0446596 0.660954 0.5 --0.0620012 0.1241 0.0437622 0.646414 0.5 --0.0486707 0.147744 0.0101492 0.674408 0.5 -0.0455115 0.0861913 0.0171661 0.531503 0.5 --0.0929641 0.121523 0.0342815 0.570703 0.474906 --0.0721389 0.12842 0.0519775 0.552025 0.5 -0.0512217 0.0595245 0.030012 0.404078 0.5 -0.0521127 0.0595383 0.0295528 0.404427 0.423811 -0.0529677 0.0595446 0.0290441 0.406219 0.481382 -0.0538026 0.0595499 0.0284925 0.489389 0.485101 -0.0545625 0.0595427 0.0278248 0.617222 0.5 -0.0552547 0.0595292 0.0270628 0.644832 0.5 -0.0558536 0.0594884 0.0261475 0.608811 0.466267 -0.0564645 0.0594668 0.0252844 0.58073 0.466529 -0.0571049 0.0594437 0.0244408 0.563566 0.5 -0.0577316 0.0594186 0.0235899 0.562391 0.464437 -0.0583601 0.0593964 0.0227402 0.529934 0.468321 -0.0589085 0.0593684 0.0217913 0.505955 0.458291 -0.0317135 0.0955631 0.0407455 0.726065 0.5 --0.0572856 0.125533 0.0399888 0.653634 0.404245 --0.0299241 0.172727 -0.00652243 0.663489 0.5 -0.0397718 0.0940445 0.031303 0.703257 0.5 --0.0548894 0.136747 0.0311423 0.703997 0.5 --0.0733475 0.129801 0.0519745 0.556841 0.5 --0.040383 0.152127 0.00460721 0.548964 0.369679 -0.0395925 0.0979794 0.0293107 0.676534 0.5 -0.0377275 0.0928421 0.0353087 0.708135 0.5 -0.00646432 0.110948 0.0411124 0.511431 0.5 --0.0268549 0.175688 -0.00910606 0.672767 0.5 --0.0213358 0.165379 -0.00997448 0.581057 0.5 -0.0319133 0.103439 0.0357737 0.721334 0.5 --0.0569748 0.146758 0.0317266 0.637694 0.5 --0.0476647 0.15359 0.00991943 0.626912 0.5 --0.011137 0.171308 -0.0197957 0.599684 0.5 --0.0593537 0.140997 0.0335026 0.597508 0.5 --0.0701665 0.143936 0.0443089 0.611743 0.472095 -0.022957 0.0981907 0.0456622 0.456007 0.474724 --0.0550692 0.121281 0.0379498 0.511476 0.467684 -0.0454926 0.0875897 0.015162 0.551848 0.5 -0.0270163 0.115378 0.0322111 0.666101 0.5 --0.0679334 0.145349 0.0422649 0.615758 0.5 --0.0355718 0.165308 -0.0024565 0.673585 0.5 --0.0567507 0.13816 0.0319811 0.653526 0.429628 --0.011686 0.178646 -0.0240587 0.681497 0.5 --0.0876501 0.0954829 0.0054069 0.533977 0.338939 --0.0397906 0.162354 0.00198884 0.602894 0.5 --0.034444 0.159452 0.00265373 0.43068 0.5 -0.0458295 0.0890233 0.00817039 0.583652 0.43445 --0.0640539 0.142491 0.0390245 0.623953 0.5 --0.0650134 0.13537 0.0410634 0.686383 0.412963 --0.0925078 0.121485 0.0292837 0.683395 0.5 -0.0449523 0.0945963 0.00616781 0.564139 0.5 --0.0735699 0.131215 0.0516643 0.467495 0.5 -0.0284451 0.114053 0.0325229 0.695531 0.5 -0.0275851 0.114088 0.0330397 0.681151 0.5 -0.0403422 0.10564 0.0161674 0.702292 0.5 -0.0448755 0.0917539 0.00218552 0.540266 0.462277 -0.0364251 0.0840505 -0.0167267 0.728772 0.5 --0.0731261 0.154051 -0.0329012 0.713518 0.5 --0.0681029 0.138305 0.0455026 0.680757 0.5 --0.00787685 0.105931 -0.0227718 0.729831 0.5 --0.0344162 0.168264 -0.00253059 0.649493 0.5 -0.00638417 0.060281 0.0547831 0.709429 0.5 -0.00728906 0.0602827 0.0543511 0.469518 0.448633 -0.00824317 0.0602927 0.0539848 0.461759 0.483229 -0.0090211 0.0602846 0.0533569 0.549572 0.5 -0.00985328 0.0602892 0.0527986 0.546281 0.5 -0.0107752 0.0603237 0.0523688 0.568294 0.5 -0.0116378 0.0603198 0.0518663 0.725236 0.5 -0.0123855 0.0603174 0.0511841 0.732728 0.5 -0.0132697 0.0603324 0.0507028 0.721205 0.431697 -0.014169 0.0603418 0.050255 0.532098 0.5 -0.0151319 0.0603601 0.0498992 0.442127 0.470303 -0.0161292 0.0604031 0.0495734 0.445124 0.5 -0.017085 0.0604224 0.0492086 0.558984 0.463121 -0.0180964 0.0604579 0.0488964 0.557606 0.472811 -0.0191745 0.060499 0.0487078 0.709617 0.5 -0.0201512 0.0605237 0.0483852 0.557608 0.5 -0.0211099 0.0605491 0.0480139 0.46167 0.5 -0.0219313 0.0605513 0.0474343 0.538954 0.5 -0.0226823 0.0605452 0.0467602 0.557542 0.5 -0.023391 0.0605296 0.0460187 0.575516 0.5 -0.0241246 0.0605253 0.0453245 0.49306 0.469147 -0.0249679 0.0605263 0.0447882 0.611772 0.399184 -0.0258836 0.0605349 0.0443599 0.618283 0.5 -0.0268259 0.0605622 0.0439609 0.609488 0.5 -0.0276605 0.0605608 0.0434107 0.604148 0.5 -0.0283556 0.0605487 0.0426528 0.775571 0.5 -0.0290367 0.060539 0.0418753 0.785897 0.5 -0.029813 0.0605585 0.0412449 0.49286 0.5 -0.0306718 0.0605569 0.0407187 0.505858 0.392564 -0.0315748 0.0605586 0.0402762 0.622923 0.410062 -0.0325363 0.0605817 0.0399114 0.625136 0.5 -0.0333786 0.06058 0.0393695 0.615401 0.5 -0.0341142 0.0605859 0.0386759 0.790494 0.5 -0.0348151 0.0605689 0.0379285 0.595501 0.488263 -0.0355013 0.0605581 0.0371681 0.588283 0.489031 -0.0361371 0.0605355 0.0363255 0.449094 0.5 -0.0367672 0.0605146 0.0354804 0.641207 0.5 -0.0373089 0.0604869 0.0345236 0.613355 0.5 -0.0378012 0.0604211 0.0334272 0.546817 0.5 -0.0383551 0.0603737 0.0324667 0.521361 0.5 -0.0388894 0.060327 0.0314833 0.746431 0.5 -0.0395752 0.0602985 0.0307005 0.591519 0.478074 -0.0403564 0.0602895 0.0300713 0.643084 0.5 --0.0444606 0.147723 0.0056898 0.371445 0.5 --0.0617795 0.126914 0.0422805 0.720104 0.5 --0.0624532 0.126929 0.0430601 0.711037 0.5 --0.0630295 0.126909 0.044075 0.714062 0.417254 --0.063605 0.126943 0.0449774 0.718918 0.5 --0.0641619 0.126957 0.0459503 0.728528 0.5 --0.0591241 0.1154 0.0371963 0.626604 0.5 --0.0490056 0.122549 0.0307687 0.563658 0.351556 -0.0511508 0.0608575 0.0299274 0.418013 0.483015 -0.0520606 0.0608742 0.0294954 0.482401 0.450308 -0.0529468 0.0608894 0.0290245 0.419149 0.466434 -0.0537838 0.0608937 0.0284739 0.49358 0.5 -0.0545857 0.0608947 0.0278753 0.634598 0.5 -0.0553162 0.0608807 0.0271604 0.654941 0.5 -0.0560044 0.0608622 0.0263962 0.62083 0.458577 -0.0566532 0.0608369 0.0255651 0.592509 0.458269 -0.0572801 0.0608152 0.0247108 0.5904 0.5 -0.0578867 0.0607943 0.0238444 0.568625 0.5 -0.0584586 0.0607609 0.022909 0.537248 0.5 -0.0589875 0.0607291 0.021951 0.503215 0.469287 -0.0390425 0.0953983 0.0320312 0.713851 0.5 --0.0629848 0.136718 0.0370028 0.514293 0.5 -0.0350602 0.0968439 0.0368099 0.73095 0.5 -0.0316669 0.110076 0.0318865 0.727807 0.5 --0.026115 0.158145 -0.00104516 0.296448 0.476127 --0.0535658 0.132546 0.0330634 0.732356 0.5 --0.0288774 0.169748 -0.00856256 0.617199 0.5 --0.0690092 0.122845 0.052951 0.46446 0.5 -0.0393029 0.10195 0.0270711 0.64599 0.5 -0.0387947 0.101959 0.0281808 0.660554 0.5 --0.0249373 0.175681 -0.0116247 0.775388 0.5 --0.0223022 0.165377 -0.00961273 0.586078 0.5 --0.0659739 0.131145 -0.00872206 0.786026 0.5 --0.0577187 0.146758 0.0323537 0.639232 0.5 --0.0711231 0.141136 0.0464522 0.630186 0.5 -0.0417112 0.0986332 0.0241669 0.625221 0.4766 --0.0701785 0.136914 0.0477863 0.643655 0.5 --0.065551 0.112475 0.040245 0.291739 0.281563 --0.0831639 0.108847 0.00132792 0.590266 0.353245 --0.0473203 0.122487 0.0279328 0.632324 0.5 --0.0507263 0.122615 0.0336033 0.624934 0.5 -0.00801932 0.113693 0.0398597 0.524679 0.5 --0.0630414 0.149018 -0.0195802 0.618447 0.5 -0.0454314 0.088986 0.0031764 0.491455 0.454678 --0.0478947 0.122501 0.0288841 0.599605 0.24939 --0.011074 0.178648 -0.0249266 0.62707 0.5 --0.0942962 0.120123 0.0192891 0.645048 0.5 --0.0391691 0.162354 0.00112683 0.625789 0.5 --0.0358778 0.159506 0.00240863 0.40914 0.5 -0.0406232 0.0953057 0.0289912 0.682355 0.5 --0.0646755 0.142507 0.0398915 0.638532 0.5 --0.0695564 0.114278 0.0502908 0.412841 0.5 -0.0377103 0.0955073 -0.00984226 0.610616 0.5 --0.053938 0.138144 0.0289679 0.622138 0.5 --0.0882785 0.102304 0.00940329 0.727425 0.5 --0.0611441 0.169381 -0.0576009 0.479063 0.5 --0.0615988 0.156867 -0.0225865 0.36048 0.44015 --0.0552402 0.138165 0.0306253 0.666321 0.5 --0.043783 0.147719 0.00491206 0.243377 0.5 --0.0718355 0.0757492 0.0369191 0.607129 0.5 --0.0688238 0.1383 0.0462399 0.662593 0.5 --0.0530781 0.119794 0.0354828 0.594363 0.448595 --0.0587859 0.118384 0.0394982 0.519355 0.5 -0.0456793 0.0890097 0.00617442 0.551233 0.5 --0.0516452 0.119776 0.0340339 0.584884 0.5 -0.00766079 0.0616753 0.0549139 0.477692 0.450274 -0.00860516 0.061703 0.0545256 0.579934 0.444177 -0.00946449 0.0616923 0.0540126 0.574558 0.5 -0.0102284 0.0616887 0.0533551 0.562374 0.5 -0.0109283 0.0616839 0.0526314 0.594928 0.453119 -0.0116633 0.0616767 0.0519085 0.568514 0.468298 -0.0125203 0.0616669 0.0514026 0.55376 0.5 -0.0134639 0.0616949 0.0510096 0.537718 0.5 -0.0144567 0.0617415 0.0506755 0.54061 0.5 -0.0153695 0.0617406 0.0502582 0.554385 0.463079 -0.016314 0.061771 0.0498607 0.537433 0.5 -0.0172046 0.061784 0.0493931 0.533539 0.5 -0.0181009 0.0617863 0.0489038 0.414803 0.412252 -0.0190254 0.061825 0.0484929 0.447339 0.474807 -0.0200527 0.0618555 0.0482337 0.460716 0.5 -0.0210051 0.0618768 0.0478546 0.466932 0.5 -0.0218954 0.061892 0.0473866 0.471454 0.5 -0.0226817 0.0618915 0.0467691 0.586064 0.5 -0.0234288 0.0618809 0.0460892 0.601319 0.5 -0.0241305 0.0618675 0.0453428 0.611901 0.5 -0.0250243 0.0618819 0.0448807 0.61277 0.401595 -0.0259713 0.0619044 0.0444933 0.501385 0.5 -0.026913 0.0619271 0.0440949 0.618237 0.475652 -0.0277553 0.0619298 0.0435605 0.503008 0.5 -0.0285114 0.0619268 0.0428923 0.602769 0.5 -0.0292021 0.0619142 0.0421314 0.610539 0.5 -0.0299135 0.0618945 0.0413957 0.600683 0.487653 -0.0307935 0.0619124 0.0409121 0.500385 0.490901 -0.0317346 0.0619381 0.0405155 0.639008 0.400542 -0.0326592 0.0619445 0.0401066 0.623868 0.46889 -0.033494 0.0619462 0.0395497 0.629886 0.5 -0.0342924 0.0619556 0.0389482 0.797088 0.5 -0.0349985 0.0619413 0.0382049 0.776269 0.5 -0.0356753 0.0619319 0.0374332 0.593561 0.5 -0.0363022 0.0619082 0.0365841 0.574033 0.483998 -0.0369413 0.0618853 0.0357448 0.559574 0.5 -0.0375704 0.0618629 0.0348997 0.515051 0.5 -0.0380924 0.0618152 0.0338774 0.593984 0.358377 -0.0386074 0.0617702 0.0328492 0.553272 0.5 -0.0391514 0.0617239 0.0318804 0.537993 0.343032 -0.0396969 0.0616754 0.0309066 0.744867 0.5 -0.0403147 0.061632 0.0300225 0.609737 0.5 -0.0458685 0.0862133 0.0111669 0.576783 0.5 -0.0290304 0.0968725 0.0421292 0.705778 0.5 --0.0621699 0.128298 0.0417254 0.733748 0.5 --0.0613599 0.128292 0.04114 0.721629 0.5 --0.0605051 0.128314 0.040613 0.694097 0.430585 --0.059558 0.128315 0.0402204 0.688471 0.5 --0.0586682 0.128313 0.0397417 0.686117 0.431036 --0.066886 0.129814 0.0472408 0.730931 0.5 --0.04812 0.128214 0.028687 0.55638 0.430309 -0.0519577 0.0621966 0.0293389 0.501683 0.5 -0.0528574 0.0622185 0.0288955 0.500242 0.5 -0.0537262 0.0622241 0.0283948 0.509831 0.479432 -0.0545285 0.0622324 0.0277996 0.525799 0.5 -0.0553211 0.0622297 0.0271921 0.642718 0.5 -0.0560342 0.0622175 0.0264602 0.639437 0.5 -0.0567172 0.0621967 0.0256596 0.637795 0.5 -0.0573764 0.0621793 0.0248727 0.631221 0.5 -0.0579498 0.0621469 0.0239372 0.589483 0.5 -0.0585035 0.0621132 0.0229868 0.550839 0.448044 -0.0589788 0.062133 0.0220601 0.544546 0.403597 --0.0541694 0.136721 0.0304424 0.695288 0.5 --0.0630463 0.113863 0.0385547 0.370676 0.5 --0.0447414 0.149173 0.00704529 0.581796 0.5 --0.028552 0.159576 0.000695282 0.416986 0.46586 -0.0245994 0.0981921 0.0445203 0.607935 0.5 --0.0165839 0.159908 -0.00982549 0.178552 0.300845 --0.0649816 0.114139 0.0429675 0.225874 0.5 -0.035697 0.096801 0.0360155 0.731699 0.5 --0.0645154 0.121409 0.0489254 0.645911 0.5 --0.0693724 0.136902 0.0471868 0.667219 0.5 --0.024223 0.17569 -0.0123366 0.621728 0.5 --0.023212 0.165344 -0.00918469 0.478609 0.5 -0.00863383 0.115058 0.0390007 0.538692 0.5 --0.0583932 0.146765 0.0331817 0.558027 0.5 --0.0702082 0.141157 0.0460159 0.520227 0.477391 -0.0417109 0.0957641 -0.00380547 0.52914 0.459038 --0.0650996 0.115729 0.046366 0.312569 0.442867 -0.0101968 0.116422 0.0377394 0.572227 0.4767 --0.013346 0.168342 -0.0159797 0.409804 0.5 --0.0281377 0.171231 -0.00924208 0.641422 0.5 -0.034067 0.0981569 0.0371457 0.723506 0.5 --0.0153586 0.171251 -0.0171482 0.539088 0.5 --0.0533672 0.143136 0.0253913 0.560388 0.5 --0.053656 0.116868 0.0345992 0.627301 0.5 --0.0150865 0.162585 -0.00969001 0.335351 0.5 --0.010533 0.178644 -0.025906 0.51308 0.5 --0.0269131 0.180109 -0.00739997 0.286497 0.5 --0.0302254 0.162455 -0.00347789 0.554724 0.5 --0.033406 0.159477 0.0024166 0.455496 0.5 -0.0333858 0.103442 0.0343819 0.723752 0.5 --0.0633642 0.142485 0.0383017 0.77472 0.5 --0.0688326 0.13265 0.047942 0.701702 0.5 -0.0395325 0.105566 0.0221621 0.65553 0.5 --0.0545656 0.13815 0.0298405 0.644366 0.5 --0.0680338 0.142566 0.0438693 0.666011 0.5 --0.0704322 0.13832 0.0474328 0.628302 0.5 --0.0606083 0.118309 0.0403758 0.437663 0.46425 -0.00564306 0.109569 0.0416563 0.605457 0.483676 --0.0392773 0.153597 0.0044688 0.633392 0.5 --0.0696099 0.138316 0.0468524 0.643769 0.5 --0.0916942 0.124053 0.00727726 0.396773 0.5 --0.0162544 0.183109 -0.0200888 0.559 0.5 --0.0635183 0.159851 -0.052592 0.608013 0.5 --0.00135222 0.101336 0.0444015 0.169779 0.5 -0.00692319 0.0630369 0.0555875 0.466418 0.470062 -0.0079329 0.0630739 0.055296 0.469293 0.467084 -0.00890036 0.0630937 0.0549611 0.408179 0.5 -0.00979876 0.0631089 0.0545118 0.477767 0.427529 -0.010569 0.0630758 0.0538717 0.584625 0.429571 -0.0111874 0.0630268 0.0529412 0.572225 0.434579 -0.0119148 0.0630446 0.0522963 0.556115 0.454723 -0.0129339 0.063079 0.0520141 0.559387 0.456023 -0.0138934 0.0631004 0.0516475 0.543124 0.5 -0.0147818 0.0631153 0.0511723 0.562253 0.45841 -0.0156625 0.0631375 0.0506866 0.567669 0.5 -0.0165486 0.0631544 0.0502063 0.570363 0.5 -0.0173793 0.0631583 0.049653 0.558926 0.5 -0.0182222 0.0631608 0.0491228 0.554626 0.5 -0.0189895 0.0631559 0.0484766 0.544249 0.5 -0.0198889 0.0631747 0.0480195 0.69284 0.5 -0.0208176 0.0631975 0.0476002 0.541809 0.451491 -0.0217176 0.0632088 0.0471364 0.549541 0.458962 -0.0225815 0.0632207 0.0466294 0.57761 0.5 -0.02338 0.0632213 0.0460213 0.611275 0.5 -0.0241356 0.0632152 0.0453534 0.621691 0.5 -0.0250125 0.0632249 0.0448766 0.612634 0.412944 -0.0259569 0.0632491 0.0444844 0.500479 0.486198 -0.0268989 0.0632714 0.044083 0.433943 0.480816 -0.0277812 0.063284 0.0436054 0.620386 0.5 -0.0285711 0.0632767 0.0429905 0.630942 0.47795 -0.0293196 0.0632732 0.0423131 0.631395 0.481215 -0.0300578 0.0632721 0.0416198 0.615215 0.5 -0.0308902 0.0632769 0.0410591 0.508172 0.5 -0.0317544 0.0632771 0.0405733 0.524468 0.398751 -0.0327193 0.0632979 0.0402054 0.533554 0.5 -0.0335961 0.0633113 0.0397473 0.449954 0.464298 -0.0344101 0.0633165 0.0391255 0.50566 0.486234 -0.0351494 0.0633173 0.038442 0.604655 0.5 -0.0358388 0.063303 0.0376893 0.602627 0.483004 -0.0364696 0.0632797 0.0368445 0.604874 0.5 -0.0370985 0.0632585 0.0359995 0.58428 0.5 -0.0377191 0.0632143 0.0350986 0.550646 0.480251 -0.0383109 0.0632029 0.0342252 0.517845 0.5 -0.038908 0.0631632 0.033303 0.488518 0.5 -0.0394641 0.063132 0.032359 0.552553 0.5 -0.03989 0.0630598 0.0312004 0.415734 0.338908 -0.0403936 0.0629925 0.0301493 0.541886 0.453016 -0.0356702 0.108162 -0.00482135 0.545127 0.46681 -0.0372258 0.108268 -0.000834485 0.457557 0.488583 --0.0119403 0.171322 -0.0192115 0.653479 0.5 --0.0609535 0.135292 0.0364528 0.647918 0.5 --0.0618596 0.135275 0.0369058 0.513538 0.5 --0.0626699 0.13529 0.0374908 0.554074 0.5 --0.0633856 0.13531 0.0381918 0.594629 0.5 --0.0639806 0.135327 0.039077 0.633047 0.5 -0.0194941 0.107309 0.0406484 0.57022 0.5 -0.0516914 0.0635003 0.0289607 0.514649 0.457414 -0.0526393 0.0635217 0.0285801 0.511934 0.5 -0.0535357 0.0635428 0.028124 0.519876 0.5 -0.0544233 0.0635568 0.0276516 0.540756 0.477991 -0.0552187 0.0635647 0.027041 0.554479 0.5 -0.0559752 0.0635544 0.0263749 0.693486 0.5 -0.0566888 0.0635446 0.0256358 0.697841 0.5 -0.0573405 0.0635192 0.0248021 0.674984 0.5 -0.0579353 0.0634887 0.0239229 0.633551 0.5 -0.0584978 0.0634546 0.0229811 0.604903 0.5 --0.0645108 0.135348 0.0400634 0.680171 0.5 --0.068364 0.143961 0.043402 0.643957 0.5 -0.0387628 0.10462 0.0262683 0.529025 0.5 --0.0528151 0.132539 0.0323863 0.736341 0.5 --0.0440117 0.149183 0.00634807 0.529982 0.5 --0.0111277 0.166928 -0.0162357 0.360187 0.5 --0.0290239 0.0918566 -0.0266024 0.289431 0.5 --0.0171613 0.159788 -0.00903074 0.197682 0.291426 --0.0157849 0.172748 -0.017746 0.557598 0.5 --0.00234233 0.10113 0.044176 0.170908 0.287241 --0.0583717 0.138143 0.0331568 0.58447 0.5 --0.0234602 0.17569 -0.0129988 0.641194 0.5 --0.0241715 0.165363 -0.00880477 0.482747 0.460885 -0.00772266 0.115023 0.0394097 0.519565 0.5 --0.0588318 0.146817 0.0344225 0.542616 0.368462 --0.0693319 0.141141 0.045512 0.528158 0.5 --0.0683563 0.134056 0.04686 0.724072 0.5 --0.0642262 0.115635 0.0441038 0.282357 0.445776 -0.00922858 0.116392 0.0380826 0.547483 0.431844 --0.0142459 0.168321 -0.0155387 0.558339 0.5 --0.0451757 0.14769 0.00639824 0.424721 0.5 --0.0886066 0.113065 0.00725433 0.319766 0.5 -0.0168316 0.0926978 0.0490711 0.548428 0.5 --0.0688215 0.145351 0.0427408 0.510233 0.476477 --0.0538049 0.0486373 0.0382673 0.0821545 0 --0.0143444 0.162546 -0.0104323 0.251472 0.452253 -0.0311691 0.0942449 0.0417029 0.688123 0.5 -0.0211901 0.113994 0.0360983 0.518718 0.5 --0.0331365 0.162399 -0.0024379 0.548915 0.48617 --0.0314011 0.159502 0.00180977 0.519724 0.5 -0.0395378 0.100622 0.0273876 0.657883 0.5 --0.0609595 0.142497 0.0365005 0.60829 0.5 --0.069561 0.132665 0.0486469 0.669919 0.5 -0.0390778 0.105565 0.0241719 0.630913 0.5 --0.0458268 0.125298 0.0247658 0.52665 0.5 -0.0354218 0.100763 0.0338403 0.72271 0.5 --0.0558569 0.135328 0.0332838 0.659624 0.5 --0.0171147 0.161213 -0.00734926 0.320116 0.412498 --0.0506513 0.150706 0.0125676 0.540097 0.5 -0.0390714 0.108406 0.0131668 0.710542 0.5 --0.081854 0.0937329 -0.00756112 0.634654 0.5 --0.0510104 0.149266 0.0138316 0.559368 0.5 --0.080771 0.105947 -0.00458985 0.522329 0.5 --0.0147199 0.184604 -0.0232088 0.32685 0.5 -0.0209137 0.102084 0.0444516 0.626774 0.5 -0.0189959 0.104672 0.0434338 0.495552 0.481206 -0.0111403 0.105858 -0.0199086 0.539044 0.5 -0.00894636 0.0644445 0.055029 0.458847 0.5 -0.0098313 0.0644618 0.0545535 0.477495 0.405811 -0.0106165 0.0644536 0.0539383 0.595089 0.438854 -0.0113423 0.0644371 0.0532354 0.595058 0.413839 -0.0122384 0.0644368 0.0527864 0.568989 0.474081 -0.0132903 0.0644915 0.0525417 0.575513 0.5 -0.0142425 0.0645148 0.0521595 0.725606 0.5 -0.0151151 0.0645034 0.0516546 0.475413 0.481983 -0.0158912 0.0644868 0.0510299 0.487321 0.5 -0.0166896 0.0645037 0.050425 0.596063 0.5 -0.0175453 0.0645325 0.0499023 0.58941 0.5 -0.0183954 0.0645286 0.0493775 0.578512 0.5 -0.0191746 0.064523 0.0487473 0.563313 0.474412 -0.0199305 0.0645206 0.0480779 0.559702 0.5 -0.0207575 0.0645289 0.0475184 0.72748 0.5 -0.0215982 0.0645366 0.046975 0.716886 0.5 -0.0224361 0.0645464 0.046427 0.570703 0.5 -0.0232549 0.0645506 0.0458531 0.595311 0.5 -0.0240878 0.0645552 0.0452968 0.628239 0.5 -0.0249807 0.0645674 0.0448324 0.51629 0.458461 -0.0258782 0.0645831 0.0443789 0.436043 0.467062 -0.02686 0.0646091 0.0440244 0.440416 0.5 -0.0277273 0.0646184 0.0435417 0.630346 0.5 -0.0285947 0.0646316 0.0430307 0.64246 0.5 -0.0293752 0.0646271 0.0424024 0.652603 0.5 -0.0301266 0.0646197 0.0417292 0.635334 0.5 -0.0309421 0.0646254 0.0411415 0.50668 0.463651 -0.0317796 0.0647744 0.0406274 0.509164 0.390412 -0.0327247 0.0646521 0.0402099 0.455579 0.5 -0.0336503 0.0646637 0.0398008 0.451645 0.5 -0.0344933 0.0646793 0.0392567 0.625162 0.5 -0.0352313 0.064664 0.0385641 0.618522 0.481917 -0.0359549 0.0646627 0.0378653 0.624184 0.5 -0.0366123 0.064635 0.0370437 0.618694 0.472542 -0.0372523 0.0646113 0.0362056 0.621347 0.5 -0.0378584 0.0645918 0.0353403 0.5727 0.5 -0.0384287 0.064558 0.0344028 0.566398 0.477091 -0.0390555 0.064539 0.0335561 0.52791 0.479355 -0.0396386 0.064502 0.0326274 0.482775 0.5 -0.0400501 0.0644468 0.0314841 0.449079 0.36475 -0.0404558 0.0643575 0.0302495 0.458272 0.5 -0.0409886 0.0643095 0.0292691 0.606685 0.5 -0.0416741 0.0642804 0.0284921 0.699938 0.5 -0.0424682 0.0642865 0.0278791 0.734582 0.5 -0.0253647 0.107408 0.0385761 0.53017 0.462618 --0.0656743 0.138242 0.0419702 0.679753 0.5 --0.0651151 0.138224 0.0409979 0.646809 0.5 --0.0645614 0.138204 0.0400205 0.623113 0.5 --0.0640566 0.138182 0.0390191 0.583891 0.400116 --0.0635813 0.138158 0.0379352 0.532353 0.5 -0.0263222 0.107421 0.038207 0.538938 0.5 -0.0523558 0.0647992 0.0281407 0.516585 0.458981 -0.053298 0.0648217 0.0277585 0.536787 0.5 -0.0541591 0.0648613 0.0272743 0.548165 0.5 -0.0550352 0.064867 0.0267865 0.679674 0.5 -0.0558147 0.064873 0.0261542 0.708676 0.5 -0.056541 0.064854 0.0254614 0.714498 0.5 -0.0572159 0.0648465 0.024658 0.695209 0.5 -0.0578503 0.0648244 0.0238145 0.667634 0.5 -0.0584157 0.0647883 0.022872 0.639259 0.5 -0.0589424 0.064749 0.0219118 0.610071 0.5 -0.059454 0.0647075 0.0208869 0.587831 0.5 --0.0228186 0.161021 -0.00330981 0.476342 0.5 -0.0384382 0.0954258 0.0328906 0.72934 0.5 --0.0455156 0.14919 0.00769333 0.67521 0.5 --0.0489525 0.123989 0.0308621 0.606108 0.5 --0.0765303 0.0961207 -0.0124976 0.54536 0.5 --0.0526525 0.152155 0.0150192 0.578815 0.5 --0.00382186 0.102465 0.0438439 0.315362 0.5 -0.0435599 0.0987371 0.0131605 0.565136 0.484504 --0.01542 0.16691 -0.0137031 0.536585 0.5 --0.0227031 0.175691 -0.0136597 0.647705 0.5 --0.0251232 0.165382 -0.00841584 0.487747 0.5 -0.0272256 0.10745 0.0377741 0.650486 0.44631 --0.0592557 0.146819 0.0355066 0.591479 0.5 --0.0685122 0.141137 0.0449382 0.661357 0.5 --0.0690362 0.134069 0.0476421 0.689425 0.5 --0.063822 0.115596 0.0429106 0.276156 0.302171 -0.00821862 0.116409 0.0384227 0.665567 0.5 -0.0280941 0.107442 0.0372758 0.66119 0.5 -0.0289072 0.10744 0.0367037 0.687127 0.5 -0.0364086 0.0854455 -0.0167057 0.763195 0.5 --0.0504088 0.153575 0.0112235 0.590882 0.5 --0.0222119 0.158173 -0.00418672 0.207108 0.420372 -0.0296356 0.107455 0.0360045 0.710494 0.5 --0.0211595 0.178661 -0.0149212 0.634352 0.5 -0.0202943 0.113982 0.0365633 0.517918 0.5 --0.0321751 0.162395 -0.00280539 0.579474 0.5 --0.0405048 0.15944 0.00272423 0.627253 0.5 --0.0413443 0.159411 0.00325579 0.670845 0.5 --0.0487462 0.118344 0.031163 0.653906 0.5 --0.0602206 0.142504 0.0358229 0.598748 0.474706 --0.0719982 0.132651 0.0504199 0.580116 0.5 -0.0388075 0.10554 0.0251669 0.524183 0.5 --0.0463216 0.125305 0.0258345 0.50917 0.5 -0.0372771 0.100696 0.0312566 0.71868 0.5 --0.0550975 0.13533 0.0326236 0.684823 0.5 -0.0303546 0.107428 0.0353018 0.734997 0.5 -0.0310626 0.107429 0.0345663 0.731713 0.5 --0.0199842 0.183117 -0.0149159 0.377679 0.468152 --0.037643 0.153612 0.00331291 0.540201 0.5 --0.0342528 0.161016 -0.000502552 0.609058 0.5 -0.0317406 0.107408 0.0337947 0.724296 0.5 --0.0658919 0.11864 0.0504465 0.625416 0.5 -0.0375072 0.103901 -0.00584413 0.573123 0.393929 --0.015926 0.178652 -0.0196554 0.724646 0.5 -0.0323761 0.107397 0.032947 0.717944 0.5 -0.0330114 0.107386 0.0320976 0.717834 0.5 -0.00980894 0.0658051 0.0545289 0.473712 0.458155 -0.0106377 0.0658124 0.0539651 0.49249 0.477881 -0.0114981 0.0658063 0.0534716 0.498805 0.447296 -0.0125705 0.0658518 0.0532694 0.601289 0.5 -0.0135851 0.0658847 0.0529797 0.604506 0.5 -0.0144807 0.0658974 0.0525165 0.577132 0.473808 -0.0152433 0.0658912 0.0518711 0.487502 0.430578 -0.0160126 0.0658829 0.0512178 0.593372 0.434385 -0.0168274 0.0658911 0.0506364 0.596714 0.439774 -0.0176716 0.0658898 0.0500991 0.599504 0.5 -0.0185331 0.065881 0.0495848 0.603282 0.5 -0.0194077 0.0659 0.0490938 0.596221 0.5 -0.0201466 0.0658754 0.0483972 0.578155 0.5 -0.0209269 0.0658956 0.0477693 0.5624 0.5 -0.0216497 0.065881 0.0470485 0.748456 0.5 -0.0223728 0.0658814 0.0463438 0.754701 0.5 -0.0231843 0.0658868 0.0457612 0.597499 0.5 -0.0240158 0.0658883 0.0452055 0.505543 0.5 -0.0249025 0.0659023 0.0447242 0.511412 0.415958 -0.0258384 0.0659192 0.0443144 0.628942 0.5 -0.0267481 0.0659374 0.0438828 0.527557 0.400956 -0.0276466 0.0659543 0.0434322 0.447537 0.5 -0.0285253 0.065965 0.0429423 0.648941 0.5 -0.0293518 0.0659692 0.0423806 0.661967 0.5 -0.0301634 0.0659717 0.0417895 0.645753 0.5 -0.0309495 0.065969 0.041175 0.519585 0.5 -0.0318042 0.0661523 0.0406683 0.51335 0.397598 -0.0327067 0.0659933 0.0401778 0.449943 0.477912 -0.033595 0.0660055 0.039722 0.523576 0.403339 -0.0344601 0.0660136 0.0392214 0.638421 0.5 -0.035272 0.0660164 0.0386352 0.642226 0.5 -0.0359859 0.0660034 0.0379002 0.653141 0.5 -0.0366758 0.0659888 0.0371374 0.643893 0.5 -0.0373151 0.0659642 0.0362985 0.642211 0.5 -0.0379519 0.0659398 0.0354557 0.635273 0.462322 -0.038582 0.0659177 0.034606 0.591229 0.5 -0.0391807 0.0658814 0.0336832 0.552731 0.5 -0.0397392 0.0658643 0.0327972 0.522701 0.5 -0.0401246 0.0657991 0.0315825 0.475951 0.38016 -0.0405117 0.0657145 0.0303349 0.459235 0.5 -0.0410401 0.0656705 0.029359 0.48049 0.5 -0.0416085 0.0656213 0.0284032 0.66857 0.5 -0.0422961 0.0655994 0.0276352 0.73308 0.5 -0.0336777 0.107392 0.0312726 0.726369 0.5 --0.0680503 0.114246 0.0489904 0.305329 0.5 -0.0404169 0.104204 0.0201615 0.551338 0.5 --0.0945117 0.124183 0.0222757 0.652984 0.5 --0.0918785 0.141976 0.0181723 0.510798 0.5 -0.00739775 0.110951 0.0406753 0.513366 0.394533 --0.0220459 0.166878 -0.0109827 0.494113 0.476102 -0.0343886 0.107359 0.0305696 0.717189 0.5 -0.0350466 0.107363 0.0297386 0.695974 0.5 -0.0538716 0.0661448 0.0268494 0.534057 0.5 -0.0547452 0.0661481 0.0263648 0.54415 0.485133 -0.0555832 0.0661715 0.0258304 0.67885 0.5 -0.0562967 0.0661688 0.0251012 0.713784 0.5 -0.0569921 0.0661536 0.0243514 0.699599 0.5 -0.0576451 0.0661396 0.0235216 0.695403 0.5 -0.0582502 0.0661055 0.0226582 0.681279 0.5 -0.0588141 0.0660698 0.0217199 0.647527 0.5 -0.0593498 0.066038 0.0207029 0.518292 0.485754 --0.0193156 0.162502 -0.00702982 0.516542 0.5 --0.0183092 0.162495 -0.00732366 0.497054 0.5 --0.0896326 0.092928 0.0134378 0.786374 0.5 --0.0286777 0.158132 0.000508817 0.402765 0.431383 --0.0411616 0.152146 0.00524032 0.602558 0.5 -0.0234256 0.0994865 0.0445818 0.586465 0.441957 -0.0145806 0.0953173 0.0493246 0.473201 0.5 --0.0250378 0.174204 -0.0117666 0.638721 0.5 --0.0310269 0.122601 -0.0056394 0.546895 0.5 -0.00826283 0.110977 0.0402103 0.518692 0.5 --0.0262483 0.175689 -0.00998917 0.699467 0.5 --0.0278862 0.165359 -0.00713919 0.605976 0.5 -0.0356733 0.107346 0.028881 0.674237 0.5 --0.0616087 0.146812 0.0373554 0.484967 0.5 -0.02687 0.0981666 0.0425225 0.70151 0.5 --0.0713393 0.134067 0.0496215 0.616921 0.5 --0.0634008 0.115527 0.0417242 0.336253 0.5 --0.0619683 0.12268 0.0437909 0.585088 0.5 -0.00727028 0.11232 0.040519 0.512328 0.481525 -0.00823253 0.112336 0.0401545 0.517205 0.5 -0.026785 0.0955535 0.0441601 0.671773 0.5 --0.0642124 0.145356 0.038849 0.606047 0.450352 -0.0363312 0.107346 0.0280412 0.659634 0.5 -0.0369412 0.107321 0.0271722 0.642857 0.5 --0.0204109 0.178661 -0.0155986 0.651653 0.5 -0.0435098 0.098719 0.0141568 0.559852 0.416964 --0.0312005 0.162424 -0.00314295 0.572768 0.5 -0.0375 0.107296 0.0262149 0.524026 0.5 --0.0501563 0.11976 0.0326732 0.82147 0.5 --0.0697019 0.142554 0.0449861 0.526849 0.5 --0.0618022 0.142496 0.0370478 0.767508 0.5 --0.0728584 0.132623 0.0509226 0.465801 0.483687 -0.0455125 0.0918121 0.0101608 0.580574 0.443672 --0.0468272 0.125328 0.0268353 0.557609 0.5 -0.0452718 0.0917995 0.0131601 0.563024 0.43752 -0.0451896 0.0875706 0.0191665 0.500158 0.5 --0.0188178 0.158773 -0.00942574 0.275435 0.101077 -0.0199962 0.120682 0.0326204 0.550146 0.5 -0.0190263 0.120653 0.0329746 0.551416 0.5 --0.0164884 0.161116 -0.0081783 0.258762 0.5 --0.0512269 0.150712 0.0135153 0.524713 0.5 -0.0272712 0.0929162 0.0448522 0.639428 0.5 --0.0665361 0.11864 0.0512424 0.526685 0.5 -0.0413993 0.0942972 -0.00577735 0.602541 0.5 --0.0583279 0.116979 0.0383609 0.70259 0.5 --0.0676248 0.117206 0.0513943 0.493263 0.5 --0.0626788 0.119898 0.0446407 0.544333 0.5 --0.0543257 0.121248 0.0372193 0.518648 0.5 -0.0107631 0.0671702 0.0541647 0.518732 0.5 -0.0117494 0.0671858 0.0538619 0.52863 0.5 -0.0127465 0.0672208 0.05354 0.508794 0.477102 -0.0136958 0.0672461 0.0531523 0.600943 0.5 -0.0145592 0.0672414 0.0526521 0.621926 0.421102 -0.0153602 0.0672491 0.0520407 0.626918 0.421284 -0.0161339 0.0672434 0.0514025 0.616442 0.5 -0.0170086 0.0672594 0.0509139 0.616964 0.5 -0.0178682 0.0672532 0.0504022 0.623063 0.5 -0.0187375 0.0672729 0.0498973 0.619677 0.5 -0.0195403 0.0672509 0.0492981 0.63402 0.5 -0.0203517 0.0672611 0.0487139 0.607034 0.5 -0.0211493 0.0672779 0.0481082 0.56964 0.5 -0.0218458 0.0672628 0.0473581 0.555952 0.474328 -0.0224908 0.0672402 0.0465227 0.57899 0.5 -0.0232051 0.0672264 0.0457926 0.61117 0.5 -0.0239769 0.0672243 0.0451455 0.526766 0.457832 -0.0248126 0.0672364 0.0446067 0.527882 0.5 -0.0257216 0.0672521 0.0441644 0.529769 0.5 -0.0266626 0.0672707 0.0437593 0.63368 0.406809 -0.0275533 0.0672844 0.0433037 0.63042 0.5 -0.0283911 0.0672932 0.0427559 0.618743 0.408002 -0.0292682 0.0673021 0.0422638 0.527681 0.481734 -0.0301602 0.0673157 0.0417954 0.526578 0.386965 -0.0309974 0.0673207 0.0412553 0.531045 0.464207 -0.0318595 0.0673315 0.0407335 0.521176 0.5 -0.0326609 0.0673309 0.0401471 0.528099 0.5 -0.0335232 0.0673414 0.0396281 0.652719 0.5 -0.0343622 0.0673468 0.0390872 0.656507 0.5 -0.0351918 0.0673501 0.0385292 0.667295 0.5 -0.0359531 0.0673443 0.0378699 0.677102 0.5 -0.0366467 0.0673305 0.0371158 0.668479 0.5 -0.0373115 0.0673123 0.0362946 0.661392 0.448869 -0.0379734 0.0672941 0.0355158 0.654057 0.5 -0.0386277 0.0672715 0.0346845 0.637523 0.5 -0.0392491 0.0672477 0.0338308 0.605916 0.5 -0.0397983 0.0672171 0.0328832 0.558616 0.5 -0.0401742 0.0671588 0.0316675 0.531696 0.399429 -0.0405833 0.0670896 0.0305002 0.477264 0.5 -0.0410895 0.0670315 0.0294468 0.494742 0.5 -0.0416371 0.0669849 0.0284796 0.506431 0.5 -0.042292 0.0669509 0.0276386 0.666045 0.5 -0.0380905 0.0941294 0.0341306 0.719037 0.5 -0.0374948 0.0941477 0.0350502 0.716219 0.5 --0.0533723 0.122605 0.0368904 0.453635 0.459199 --0.0636947 0.167813 -0.0415938 0.676665 0.5 --0.0499699 0.150693 0.011804 0.563853 0.5 -0.0289699 0.100814 0.0402993 0.699713 0.5 -0.0270691 0.0942437 0.0445649 0.655616 0.5 --0.0173046 0.166847 -0.0129407 0.571175 0.485287 --0.0660514 0.11246 0.0412419 0.234473 0.5 -0.012627 0.12184 0.0342326 0.518073 0.468674 -0.0543584 0.0674371 0.0258007 0.524996 0.477246 -0.0551973 0.0674594 0.0252672 0.658829 0.5 -0.055991 0.067441 0.024671 0.667642 0.5 -0.0566945 0.0674374 0.0239376 0.648033 0.5 -0.0573469 0.0674291 0.0231143 0.65906 0.5 -0.057983 0.0674087 0.022273 0.638889 0.5 -0.0585628 0.0673807 0.0213416 0.654851 0.5 -0.0591195 0.067343 0.0203999 0.531504 0.5 --0.0108819 0.168382 -0.0176467 0.41844 0.5 --0.0871678 0.11039 0.0183619 0.695558 0.5 -0.0262873 0.0942382 0.0451936 0.615457 0.5 -0.0254813 0.0942452 0.0457882 0.58855 0.5 -0.0425948 0.0873487 -0.0068057 0.476941 0.480438 -0.0242439 0.0994852 0.044008 0.623394 0.5 -0.0222133 0.103397 0.0428172 0.522655 0.440485 -0.0382182 0.0855917 -0.0147556 0.716591 0.5 -0.0227131 0.118044 0.0330191 0.646712 0.5 --0.0645332 0.120008 0.0489179 0.570466 0.5 --0.0256005 0.175695 -0.0107936 0.745944 0.5 --0.0269915 0.165366 -0.00760144 0.487334 0.5 -0.0311369 0.0982118 0.0399163 0.736773 0.5 --0.060703 0.146825 0.0369155 0.499921 0.405658 -0.0346875 0.0955379 0.0380285 0.726675 0.5 --0.0704989 0.134077 0.0490714 0.653153 0.5 -0.0402562 0.0857576 -0.0117696 0.626692 0.5 --0.08903 0.119932 0.00232561 0.489189 0.46842 -0.0278524 0.115393 0.0316598 0.661807 0.5 -0.00914326 0.112364 0.0397506 0.639377 0.5 -0.0199447 0.104671 0.0430468 0.608918 0.5 -0.0261701 0.115347 0.0327443 0.543538 0.5 --0.0313524 0.158102 0.00192058 0.465175 0.468323 --0.0716025 0.135501 0.0492566 0.514513 0.5 -0.0208423 0.104696 0.0425993 0.607309 0.5 --0.0665376 0.142546 0.0425061 0.631983 0.5 --0.0243462 0.1625 -0.00551798 0.602812 0.5 --0.0564715 0.132545 0.0359114 0.644132 0.5 --0.0287301 0.172704 -0.00834509 0.744458 0.5 --0.0626161 0.12969 0.0410793 0.709268 0.5 --0.0703202 0.132668 0.0493213 0.643955 0.5 --0.0737927 0.132633 0.0513524 0.552661 0.470035 --0.0521163 0.12407 0.0351298 0.552853 0.5 --0.061834 0.155291 -0.0275862 0.75179 0.5 --0.0472614 0.125357 0.0280089 0.557551 0.5 -0.0360361 0.100737 0.0329764 0.71908 0.5 --0.071322 0.138326 0.0479203 0.509094 0.5 --0.0556635 0.140996 0.0299986 0.696827 0.5 -0.0179914 0.120614 0.0332262 0.546047 0.471468 --0.0571296 0.124118 0.0402058 0.602284 0.5 -0.0141724 0.0940368 0.0505038 0.494686 0.5 --0.0691196 0.118603 0.052746 0.544288 0.5 --0.0681757 0.118633 0.0523539 0.525895 0.5 --0.0673284 0.11863 0.0518333 0.437548 0.483064 --0.0181358 0.159669 -0.00704365 0.200267 0.431458 --0.0593768 0.116855 0.0386274 0.677584 0.5 --0.066902 0.117219 0.0507079 0.466432 0.5 --0.0850563 0.112998 0.00231897 0.468972 0.5 --0.0349979 0.152158 8.20736e-05 0.217633 0.5 -0.0109305 0.0685438 0.0544088 0.521236 0.5 -0.0118954 0.0685639 0.0540604 0.52613 0.5 -0.0127964 0.0685744 0.0536204 0.522685 0.460878 -0.0136873 0.0685864 0.0531495 0.524217 0.42208 -0.0145324 0.0686382 0.0526166 0.55114 0.472671 -0.0154246 0.0685991 0.0521564 0.644486 0.5 -0.0163171 0.0686116 0.0516854 0.641422 0.5 -0.0172066 0.068625 0.0512164 0.627692 0.5 -0.0180859 0.068641 0.0507282 0.634288 0.435356 -0.0189031 0.068639 0.0501604 0.641485 0.426302 -0.0196742 0.0686359 0.0495084 0.610895 0.437487 -0.0205204 0.0686316 0.0489712 0.607491 0.5 -0.0213879 0.0686569 0.0484685 0.571849 0.5 -0.0220783 0.0686046 0.0476717 0.547256 0.315596 -0.0227469 0.0686119 0.0468992 0.559099 0.5 -0.0234128 0.0685823 0.0460905 0.595039 0.5 -0.0240933 0.0685753 0.045325 0.622852 0.474797 -0.0248522 0.0685926 0.0446792 0.637127 0.5 -0.0256802 0.0685786 0.0440967 0.526623 0.459428 -0.0265401 0.0686018 0.0436052 0.636912 0.390105 -0.0274255 0.0686124 0.0431235 0.621572 0.473706 -0.02824 0.0686155 0.0425458 0.615322 0.5 -0.0291321 0.0686302 0.0420784 0.61093 0.475056 -0.0300864 0.0686462 0.0416997 0.612279 0.409693 -0.0309993 0.0686673 0.04128 0.45164 0.472023 -0.0318792 0.0686784 0.0407831 0.530233 0.5 -0.0327041 0.0686805 0.0402125 0.526173 0.454035 -0.0335035 0.0686838 0.0396083 0.647537 0.463149 -0.0342696 0.0686799 0.038964 0.654142 0.5 -0.0350895 0.0686836 0.0383949 0.660078 0.5 -0.0358581 0.0686798 0.0377462 0.662199 0.5 -0.0365837 0.0686678 0.0370221 0.666144 0.5 -0.0372641 0.0686531 0.0362559 0.665309 0.5 -0.0379445 0.0686366 0.0354907 0.659756 0.5 -0.0386091 0.0686148 0.0346703 0.656566 0.5 -0.0392359 0.0685928 0.0338195 0.64157 0.5 -0.0397534 0.0685495 0.0327941 0.622305 0.5 -0.0402167 0.0685122 0.0317439 0.561402 0.401001 -0.0407099 0.0684593 0.0306869 0.525142 0.5 -0.0412086 0.0684033 0.0296357 0.501655 0.38748 -0.0417276 0.0683416 0.0285931 0.531655 0.427593 -0.0423379 0.0683118 0.0277209 0.531296 0.5 -0.0429413 0.0682748 0.0268013 0.687016 0.5 --0.0451437 0.162134 -0.00879907 0.407968 0.463942 -0.0385464 0.0954957 -0.00890109 0.604944 0.459455 --0.0907403 0.135093 0.0162106 0.511035 0.476829 --0.0889612 0.111861 0.0183359 0.64879 0.361483 -0.0348249 0.110986 -0.0028353 0.531763 0.5 --0.0577114 0.148197 0.0324041 0.584956 0.431355 --0.0317958 0.166782 -0.0057687 0.577859 0.5 -0.0101281 0.105858 -0.0202342 0.555463 0.483996 --0.0410438 0.162368 0.00371458 0.501741 0.5 --0.0210995 0.166843 -0.0113898 0.486474 0.5 -0.0547648 0.068691 0.024634 0.454449 0.5 -0.0555795 0.068697 0.0240751 0.612284 0.5 -0.0563251 0.0686891 0.0234174 0.6125 0.5 -0.0569791 0.0686933 0.0226042 0.603878 0.5 -0.0576172 0.0686777 0.0217698 0.602207 0.5 -0.0582269 0.0686747 0.0208601 0.509919 0.5 -0.0587791 0.0686289 0.0199155 0.576185 0.470628 -0.030839 0.0995119 0.0394948 0.728183 0.5 -0.0300963 0.0995295 0.0401727 0.720012 0.5 -0.0293195 0.0995163 0.0407971 0.702609 0.5 -0.0257555 0.0994695 0.0426751 0.717115 0.5 -0.025022 0.0994981 0.0433749 0.666101 0.5 --0.0332792 0.168261 -0.00439757 0.672715 0.5 --0.063261 0.129725 0.0418859 0.732681 0.5 --0.0118724 0.166916 -0.0155725 0.357309 0.5 --0.0561549 0.118392 0.0380484 0.641897 0.5 -0.0457594 0.0890174 0.0101642 0.577073 0.5 --0.0511271 0.116882 0.0329705 0.907043 0.5 -0.0234999 0.0955508 0.0464417 0.458828 0.5 --0.0299391 0.175699 -0.00474628 0.462354 0.5 --0.0280713 0.175691 -0.00734553 0.584109 0.5 --0.0260362 0.165356 -0.00798775 0.486992 0.480924 --0.0628457 0.158366 -0.0406006 0.825817 0.5 --0.0598823 0.146825 0.0363335 0.595777 0.5 --0.0623153 0.13671 0.0362243 0.607214 0.5 --0.0697355 0.134074 0.048407 0.674051 0.5 -0.0444906 0.0861036 -0.00180248 0.460512 0.38869 --0.025842 0.091626 -0.0326108 0.318475 0.5 --0.0636699 0.112355 0.0376208 0.47227 0.5 -0.021724 0.104691 0.0421173 0.612004 0.5 -0.00897502 0.113705 0.0394792 0.51545 0.5 --0.0576238 0.145329 0.032529 0.633307 0.5 --0.0322455 0.15809 0.00238998 0.605697 0.5 --0.0389196 0.163835 0.00150184 0.585349 0.5 --0.0269539 0.17866 -0.00745161 0.351994 0.469507 --0.0196772 0.178663 -0.0162873 0.661569 0.5 --0.0233093 0.162498 -0.00577898 0.554903 0.5 --0.0127527 0.177163 -0.0221029 0.731023 0.5 --0.0336234 0.153659 0.000337049 0.413408 0.5 --0.0691412 0.109612 0.0381472 0.310297 0.5 --0.0711513 0.132664 0.0498849 0.60916 0.460723 --0.0501055 0.129693 0.0310292 0.695152 0.5 --0.0494838 0.129682 0.0301574 0.659103 0.5 --0.0477839 0.125387 0.0290716 0.56412 0.5 --0.0631388 0.0620641 0.0242 0.425507 0.418571 --0.0722375 0.138308 0.048356 0.616238 0.475432 -0.0225321 0.104677 0.0415312 0.633917 0.5 -0.0169102 0.120624 0.0334304 0.553635 0.477422 -0.0385227 0.108358 0.00315989 0.447005 0.481155 --0.0651299 0.139658 0.0409855 0.658454 0.5 -0.0394117 0.0870933 -0.0127933 0.670586 0.5 --0.0170638 0.168326 -0.0143421 0.495958 0.485107 --0.0308588 0.171231 -0.00613945 0.686245 0.5 -0.0108601 0.117776 0.0369396 0.568646 0.402135 --0.0603515 0.116839 0.0389782 0.584661 0.5 --0.0662568 0.117183 0.0498756 0.429462 0.358709 --0.0636469 0.11387 0.0394431 0.428062 0.5 -0.0396279 0.0857065 -0.0127726 0.633155 0.5 -0.0100468 0.0698695 0.0549195 0.523545 0.5 -0.0109957 0.0698921 0.0545336 0.520281 0.465115 -0.0118973 0.0699023 0.0540919 0.545085 0.463944 -0.0127846 0.0699169 0.0536174 0.552973 0.392796 -0.0137184 0.0699424 0.0531931 0.556582 0.5 -0.0146499 0.0699433 0.0528108 0.533909 0.455295 -0.0155988 0.0699697 0.0524229 0.508389 0.482945 -0.0164839 0.0699861 0.0519409 0.609426 0.5 -0.0173223 0.0699836 0.0514025 0.615488 0.5 -0.018149 0.0699846 0.0508404 0.622089 0.5 -0.0189748 0.0699869 0.0502663 0.624556 0.417564 -0.0198393 0.0700116 0.0497622 0.615212 0.455546 -0.0207672 0.0700064 0.0493524 0.489853 0.5 -0.0216229 0.0700379 0.048827 0.574345 0.5 -0.022407 0.0700249 0.0481925 0.550559 0.5 -0.0230994 0.0700125 0.0474321 0.540463 0.5 -0.0237226 0.0699627 0.0465409 0.556883 0.471716 -0.0243671 0.0699418 0.0457082 0.593532 0.5 -0.0250153 0.0699448 0.0449142 0.613685 0.5 -0.0257185 0.0699313 0.0441746 0.623085 0.47825 -0.0265464 0.0699406 0.043619 0.630192 0.374929 -0.0273636 0.0699427 0.0430425 0.798944 0.5 -0.0281616 0.0699505 0.0424355 0.791952 0.5 -0.029005 0.0699505 0.0419019 0.786505 0.394386 -0.0299489 0.069977 0.0415097 0.783182 0.5 -0.0309459 0.0700081 0.0411857 0.504887 0.479723 -0.0319241 0.0700307 0.0408624 0.461033 0.5 -0.032766 0.0700345 0.0403232 0.523997 0.5 -0.0335736 0.0700381 0.039723 0.520063 0.5 -0.0342867 0.0700233 0.0389954 0.631772 0.5 -0.0350254 0.0700182 0.0383083 0.632795 0.5 -0.0357777 0.070014 0.0376374 0.634277 0.5 -0.0365023 0.0700019 0.0369139 0.638259 0.5 -0.037196 0.0699864 0.036159 0.649877 0.5 -0.0378948 0.0699732 0.0354084 0.65393 0.5 -0.0385734 0.0699568 0.0346425 0.657978 0.5 -0.039204 0.0699354 0.0337973 0.666755 0.5 -0.0397845 0.0699028 0.0328672 0.634715 0.5 -0.0402901 0.0698645 0.0318359 0.619487 0.437647 -0.0407992 0.0698146 0.0307925 0.550071 0.442242 -0.0413281 0.0697537 0.029756 0.559058 0.5 -0.041872 0.069712 0.028792 0.539829 0.5 -0.0424296 0.0696684 0.0278335 0.555314 0.5 -0.0429689 0.0696277 0.0268653 0.539825 0.5 -0.0435566 0.0695959 0.0259839 0.545905 0.457047 --0.0609918 0.138116 0.0346365 0.650821 0.5 --0.0472353 0.12392 0.0280317 0.645777 0.330396 --0.0564929 0.14962 0.0306387 0.531166 0.5 --0.089555 0.092956 0.0194329 0.888923 0.5 --0.0856221 0.107687 0.0203552 0.522147 0.5 --0.0132244 0.172771 -0.0193112 0.702627 0.5 -0.025387 0.103408 0.0403826 0.65353 0.5 --0.012493 0.16839 -0.0164935 0.387522 0.5 -0.0196457 0.116633 0.0356159 0.527334 0.464925 --0.0465526 0.147719 0.00793526 0.608184 0.5 --0.0923088 0.114683 0.0143254 0.530043 0.5 -0.0424576 0.0845381 -0.00679736 0.588922 0.5 -0.035312 0.0840703 -0.0177861 0.760295 0.5 --0.087117 0.119846 -0.000719646 0.455279 0.5 --0.0295401 0.0904607 -0.0275932 0.320828 0.5 --0.0869304 0.137738 0.00419643 0.523633 0.5 --0.0591124 0.121234 0.0408265 0.560027 0.5 --0.0166266 0.172732 -0.0172138 0.691154 0.5 --0.0126907 0.166905 -0.0150111 0.537053 0.5 --0.0534544 0.124093 0.0367404 0.576577 0.5 --0.0496436 0.132456 0.0281905 0.64907 0.5 --0.00359831 0.101107 0.0440537 0.167895 0.5 --0.018333 0.172741 -0.0161594 0.693897 0.5 --0.0276246 0.160982 -0.00149388 0.523221 0.5 -0.0239184 0.116674 0.0330029 0.675658 0.5 --0.0292161 0.178518 -0.014988 0.410612 0.5 --0.0717812 0.166615 -0.0459981 0.461397 0.5 --0.021174 0.184521 -0.0131308 0.279829 0.5 --0.0180884 0.184586 -0.0174536 0.387636 0.5 --0.0518449 0.146252 0.0164181 0.764123 0.368688 --0.0121699 0.165481 -0.0142428 0.370041 0.5 --0.0293004 0.175699 -0.00559167 0.562984 0.5 --0.0175288 0.165418 -0.0114925 0.675539 0.5 --0.0672114 0.120049 0.0520179 0.548312 0.5 --0.042525 0.149193 0.00498605 0.368234 0.5 -0.0377895 0.0954381 0.0337234 0.725496 0.5 --0.0676947 0.134039 0.046063 0.738464 0.5 -0.0232916 0.104676 0.0408599 0.625746 0.5 -0.0454321 0.0861887 0.0181684 0.51319 0.5 --0.0625128 0.145366 0.0377954 0.583206 0.425668 --0.0627767 0.112367 0.0371562 0.752748 0.5 -0.0415013 0.104244 0.010161 0.698399 0.5 --0.0282274 0.162443 -0.0041123 0.510213 0.5 --0.0331542 0.158077 0.00281987 0.493673 0.5 --0.0383322 0.163825 0.00056966 0.610793 0.5 -0.0214629 0.119376 0.0329783 0.622625 0.5 --0.018937 0.178659 -0.0169738 0.674287 0.5 --0.0165785 0.162548 -0.00831661 0.315446 0.5 --0.0246821 0.177174 -0.0112336 0.695392 0.5 --0.0697849 0.145343 0.0431021 0.506731 0.5 --0.0520915 0.129726 0.0334448 0.714169 0.5 --0.065267 0.132559 0.042478 0.721728 0.5 --0.0507289 0.129704 0.0318965 0.712353 0.5 --0.0483005 0.12541 0.0300666 0.628073 0.5 --0.0495314 0.12548 0.031876 0.541561 0.440877 -0.0451823 0.091796 0.014161 0.551352 0.5 --0.0601994 0.14968 0.0358889 0.438983 0.5 --0.0174189 0.178658 -0.0183022 0.695317 0.5 -0.0141007 0.120583 0.0346592 0.509822 0.47749 --0.0187779 0.183117 -0.0166827 0.438297 0.5 --0.0644392 0.112372 0.0382632 0.401383 0.5 --0.00881786 0.169637 -0.0227487 0.280072 0.5 -0.0367516 0.111162 0.00316661 0.512405 0.5 --0.0594982 0.143919 0.0350801 0.618764 0.5 --0.0618021 0.116863 0.0404147 0.40334 0.5 --0.061134 0.11687 0.0396165 0.480917 0.5 --0.0656399 0.11715 0.0490043 0.391457 0.5 --0.064559 0.11407 0.0417666 0.226957 0.344441 --0.0588484 0.13671 0.0342246 0.529076 0.5 --0.0256856 0.161028 -0.00218154 0.553724 0.5 -0.0101515 0.071231 0.055077 0.508661 0.5 -0.0110379 0.0712445 0.0546046 0.533198 0.406627 -0.0119051 0.0711889 0.0540767 0.543143 0.399975 -0.0128317 0.0712714 0.0536973 0.551547 0.456115 -0.0138055 0.0712841 0.0533593 0.542904 0.5 -0.014817 0.0713159 0.0530708 0.527096 0.479054 -0.0156656 0.0713152 0.0525386 0.630846 0.5 -0.0164758 0.0713296 0.0519403 0.622355 0.411602 -0.0172645 0.0713208 0.051333 0.599917 0.41259 -0.01814 0.0713245 0.0508426 0.603323 0.5 -0.0190831 0.0713469 0.0504539 0.605162 0.477301 -0.0200754 0.0713524 0.0501382 0.489503 0.5 -0.0210136 0.0713836 0.0497227 0.548091 0.5 -0.0218587 0.0714183 0.0491823 0.547129 0.456798 -0.0226382 0.0714084 0.0485432 0.551844 0.5 -0.0233607 0.0713858 0.0478141 0.543289 0.5 -0.0240483 0.0713748 0.0470522 0.54162 0.5 -0.0246484 0.0713321 0.0461382 0.740969 0.5 -0.0252483 0.0713214 0.0452679 0.77396 0.5 -0.0259161 0.0713197 0.0444841 0.608867 0.482043 -0.0266728 0.0713177 0.0438181 0.618793 0.5 -0.0275195 0.0713136 0.0432798 0.61548 0.5 -0.0283147 0.0712973 0.0426773 0.627412 0.5 -0.0291103 0.0713139 0.0420683 0.612886 0.5 -0.0299408 0.0713176 0.0415086 0.606777 0.5 -0.0308676 0.0713453 0.0410867 0.6202 0.5 -0.0318279 0.0713659 0.0407221 0.524933 0.405217 -0.0327952 0.0713854 0.0403707 0.46481 0.481423 -0.0336335 0.0713894 0.0398251 0.521761 0.5 -0.0344259 0.0713949 0.0392126 0.508518 0.482772 -0.0351443 0.071382 0.0384881 0.496004 0.474369 -0.0358497 0.0713653 0.0377445 0.599003 0.5 -0.0365208 0.0713424 0.036933 0.778467 0.5 -0.03717 0.0713299 0.0361376 0.629331 0.5 -0.0378679 0.0713179 0.0353865 0.644425 0.5 -0.0385608 0.0713011 0.0346329 0.659308 0.5 -0.0391956 0.0712805 0.0337887 0.668099 0.5 -0.0398005 0.0712586 0.0329247 0.663825 0.5 -0.040355 0.0712163 0.0319238 0.637702 0.5 -0.0409071 0.0711839 0.0309718 0.625301 0.5 -0.041469 0.0711384 0.0300167 0.587232 0.5 -0.0420248 0.0710795 0.0289899 0.578663 0.419261 -0.0425358 0.0710418 0.0280089 0.556526 0.409326 -0.0430366 0.0709859 0.0269587 0.530472 0.39971 -0.0435542 0.0709351 0.0259153 0.512215 0.5 --0.0175786 0.180143 -0.0185198 0.689547 0.5 -0.0238985 0.104719 0.0399907 0.641658 0.5 --0.0550412 0.129739 0.0362139 0.708833 0.5 --0.0412659 0.160879 0.0033623 0.489506 0.5 -0.0247695 0.1047 0.0394768 0.679519 0.446721 -0.0294623 0.103445 0.0374919 0.716186 0.5 -0.0287346 0.10342 0.0381993 0.718504 0.5 -0.016206 0.0927227 0.0499244 0.588199 0.5 --0.0102112 0.168384 -0.01842 0.418676 0.5 -0.0234983 0.102092 0.0429315 0.546507 0.5 -0.044803 0.0945847 0.0121616 0.568933 0.5 -0.0449279 0.0945923 0.00916323 0.583351 0.458071 -0.0404227 0.0885874 -0.0107894 0.65183 0.5 --0.0635581 0.170962 -0.0485923 0.633288 0.5 -0.0424628 0.0943961 -0.00280162 0.62764 0.5 -0.0437182 0.0944809 0.000197915 0.500488 0.465994 --0.0629007 0.115475 0.040648 0.270971 0.384624 --0.0549375 0.140991 0.0293007 0.692792 0.5 --0.0296475 0.169744 -0.0079151 0.602187 0.477333 --0.00469334 0.101051 0.0441761 0.156474 0.5 --0.00579523 0.10109 0.0444886 0.157516 0.5 --0.0618436 0.129703 0.0404325 0.680191 0.5 -0.0257469 0.104744 0.0391433 0.68617 0.5 --0.0148223 0.129108 0.012888 0.583399 0.5 -0.0428473 0.0944698 0.0251639 0.624562 0.5 --0.0617056 0.1325 0.0388812 0.652222 0.5 --0.055795 0.129741 0.0368819 0.699847 0.5 --0.0146178 0.161254 -0.0115208 0.205382 0.362692 --0.0105189 0.165484 -0.0170149 0.315109 0.5 --0.010869 0.165486 -0.0158779 0.282043 0.5 --0.0114637 0.165492 -0.0149909 0.367289 0.5 --0.013694 0.165443 -0.0129401 0.492965 0.5 --0.0165631 0.165424 -0.0118502 0.671314 0.5 --0.0265381 0.155425 -0.00506198 0.178093 0 --0.049617 0.115589 0.0334474 0.638704 0.5 --0.0492065 0.128269 0.0305743 0.616005 0.5 --0.0671166 0.134015 0.0451603 0.715464 0.5 --0.0151683 0.160834 -0.010917 0.187224 0.5 --0.0811951 0.147316 0.000164965 0.385889 0.468811 -0.040955 0.104188 0.00218636 0.447266 0.486809 --0.0662654 0.129803 0.0463681 0.721028 0.5 --0.0930208 0.116049 0.0173125 0.731976 0.5 -0.0230988 0.111339 0.037076 0.50846 0.485543 -0.0368789 0.0941727 0.035906 0.717372 0.5 --0.043544 0.157959 0.00535766 0.686401 0.5 --0.0300578 0.163895 -0.00500569 0.746097 0.5 --0.0621481 0.159972 -0.0385982 0.416988 0.458325 --0.0181797 0.178658 -0.0176382 0.684499 0.5 --0.0158151 0.162561 -0.00896512 0.338073 0.5 --0.0479563 0.0699321 0.0400053 0.715871 0.451422 -0.0260945 0.0981604 0.0431638 0.688628 0.5 -0.0329891 0.092935 0.0408139 0.642956 0.5 --0.0480021 0.126873 0.0289133 0.500797 0.432799 --0.051366 0.129708 0.032749 0.715462 0.5 --0.0489136 0.125469 0.0310273 0.51556 0.453584 --0.0825795 0.0937805 -0.00656944 0.601778 0.5 --0.0938694 0.121489 0.0252875 0.78803 0.5 --0.0354553 0.163829 -0.00227816 0.554226 0.449162 -0.0150413 0.120568 0.0342385 0.601063 0.467933 --0.0145095 0.171282 -0.0176637 0.539439 0.5 -0.029169 0.114081 0.0318014 0.696767 0.5 --0.0664147 0.112558 0.0425241 0.231408 0.5 --0.0580383 0.122682 0.0406302 0.587422 0.5 --0.0894336 0.0956291 0.0144221 0.620818 0.5 --0.0139772 0.164028 -0.0115888 0.367106 0.5 --0.0645869 0.117148 0.0471018 0.510162 0.5 --0.0650728 0.117149 0.0481049 0.491618 0.5 --0.0692254 0.124258 0.0526584 0.479475 0.468188 -0.0293141 0.095566 0.0425395 0.701781 0.5 --0.0523232 0.13528 0.029621 0.676612 0.5 -0.00931572 0.0725689 0.0556419 0.492703 0.466531 -0.0102149 0.0725802 0.055192 0.488112 0.5 -0.0110403 0.0725847 0.0546235 0.510936 0.409117 -0.0119312 0.0725978 0.0541603 0.518053 0.5 -0.0129485 0.0726239 0.0538836 0.529645 0.463 -0.0140119 0.072675 0.0536492 0.51411 0.459202 -0.0148576 0.0726711 0.0531263 0.626757 0.5 -0.0156666 0.0726831 0.0525311 0.628313 0.41712 -0.0164183 0.0726599 0.0518741 0.617847 0.411641 -0.0173125 0.0726566 0.0514253 0.767044 0.5 -0.0183688 0.0727072 0.0511848 0.58223 0.5 -0.0194047 0.0727279 0.0509389 0.567191 0.5 -0.0203473 0.0727595 0.0505294 0.69767 0.5 -0.021227 0.0727783 0.05004 0.538031 0.5 -0.0220024 0.0727679 0.0493999 0.461232 0.460344 -0.0227593 0.0727654 0.0487302 0.467674 0.466859 -0.0235224 0.0727618 0.0480692 0.554454 0.476409 -0.024237 0.0727429 0.0473317 0.552612 0.482584 -0.0248868 0.0727438 0.0465386 0.738486 0.5 -0.0254616 0.0727112 0.0456024 0.777136 0.5 -0.0260763 0.0726986 0.044735 0.8021 0.5 -0.0269054 0.0726895 0.0441444 0.769142 0.377995 -0.0277999 0.0727164 0.0436883 0.621102 0.391455 -0.0286828 0.072686 0.0432253 0.609466 0.5 -0.0295237 0.0727272 0.042682 0.606223 0.5 -0.0302378 0.0727042 0.0419554 0.610148 0.5 -0.0310541 0.0727142 0.0413756 0.614248 0.5 -0.0318915 0.0727133 0.0408308 0.635904 0.5 -0.0327797 0.0727287 0.040356 0.653108 0.5 -0.03367 0.072742 0.0398859 0.531922 0.5 -0.0345395 0.0727588 0.0393885 0.515157 0.478087 -0.0352999 0.0727523 0.0387329 0.617034 0.481667 -0.0360152 0.072737 0.038003 0.601795 0.5 -0.0366581 0.0727136 0.0371657 0.599706 0.483489 -0.0371829 0.0726727 0.036151 0.610452 0.5 -0.0378457 0.0726607 0.0353699 0.628424 0.5 -0.038544 0.0726461 0.034619 0.657711 0.5 -0.0391967 0.0726247 0.033788 0.661089 0.5 -0.0398166 0.0726016 0.0329349 0.671178 0.5 -0.0404333 0.0725805 0.0320798 0.667486 0.5 -0.0409764 0.0725373 0.0310711 0.650389 0.432718 -0.0415492 0.0724945 0.03012 0.639516 0.5 -0.0421092 0.0724515 0.0291612 0.60126 0.408098 -0.0426104 0.0723991 0.0281081 0.560211 0.5 -0.0431148 0.0723568 0.0271232 0.528302 0.421673 -0.0435836 0.0722927 0.0259867 0.495151 0.5 -0.0440515 0.0722274 0.0248494 0.497047 0.43533 -0.0445188 0.0721805 0.0237826 0.440154 0.5 --0.0904705 0.135055 0.0132171 0.701874 0.5 --0.0761608 0.175035 -0.0499961 0.340571 0.5 -0.0101664 0.120462 0.0359466 0.536208 0.448729 --0.00747581 0.101243 0.0443796 0.184133 0.310306 --0.067061 0.0617728 0.0200983 0.414933 0.425841 -0.0430185 0.100102 0.00517011 0.55649 0.5 -0.0429574 0.0859786 -0.00579554 0.497324 0.5 --0.0865396 0.139093 0.00420465 0.386321 0.5 --0.0500004 0.121197 0.0329094 0.58059 0.5 --0.0855325 0.107606 0.0053458 0.464205 0.5 --0.0639176 0.153606 -0.0366205 0.513916 0.5 --0.0286016 0.109083 -0.0194963 0.783101 0.5 --0.0274751 0.109286 -0.019717 0.775813 0.5 -0.0360023 0.103374 0.0311349 0.713933 0.5 --0.062221 0.119852 0.0434664 0.507793 0.39251 --0.0623968 0.162983 -0.056654 0.606427 0.5 -0.0398312 0.0992984 0.027798 0.65587 0.5 --0.084276 0.107651 0.0243439 0.534864 0.5 -0.0452717 0.0903987 0.0151606 0.540939 0.343946 --0.0106344 0.174261 -0.0225996 0.601327 0.5 --0.0360191 0.153642 0.00214438 0.519418 0.5 --0.0821184 0.0782385 0.0256306 0.756683 0.5 -0.0437433 0.0945326 0.0221692 0.499969 0.48302 --0.0781679 0.14865 -0.00288263 0.50053 0.439545 --0.041856 0.149196 0.00419837 0.331183 0.5 --0.0462327 0.128102 0.0242709 0.476533 0.461895 --0.0340138 0.155107 0.00155033 0.512233 0.386127 --0.0331866 0.15511 0.000984746 0.486465 0.5 --0.0323163 0.155148 0.000487548 0.397109 0.5 --0.0291189 0.15522 -0.00190906 0.227884 0.5 --0.0484259 0.152144 0.0105657 0.638512 0.5 -0.0112135 0.116429 0.0374582 0.574775 0.428903 -0.0417012 0.085878 -0.00880084 0.495429 0.448715 --0.0665318 0.134006 0.0442059 0.690916 0.5 -0.0440002 0.0888695 -0.00280666 0.524119 0.5 --0.0515897 0.146262 0.0154112 0.695642 0.5 --0.0584949 0.143878 0.0330085 0.783337 0.5 -0.04114 0.104231 0.00317036 0.442506 0.471806 -0.0240569 0.111353 0.0367066 0.509922 0.5 --0.0238626 0.169762 -0.0118641 0.651294 0.5 --0.0247145 0.161052 -0.00252569 0.480271 0.5 -0.0257313 0.0968616 0.0444005 0.638025 0.5 --0.044247 0.157947 0.00609665 0.67251 0.5 --0.0290382 0.16386 -0.00530596 0.570171 0.5 --0.0234782 0.174205 -0.0130294 0.658749 0.5 --0.0263171 0.178663 -0.00829314 0.453559 0.5 --0.0628558 0.170957 -0.0505963 0.598982 0.458178 --0.0203373 0.158355 -0.00674555 0.149356 0.5 -0.0266877 0.104744 0.0387392 0.563667 0.5 --0.0459915 0.152139 0.00880917 0.723747 0.5 --0.0646654 0.132541 0.0415985 0.736179 0.5 --0.0573808 0.129734 0.0381066 0.676206 0.5 -0.044441 0.093115 0.00120191 0.553332 0.5 --0.088546 0.102334 0.0113879 0.774556 0.5 --0.053626 0.1255 0.0365054 0.61957 0.5 --0.0243375 0.1639 -0.00728245 0.546799 0.487866 -0.0159567 0.120613 0.0338084 0.746649 0.5 -0.0305387 0.114047 0.0302625 0.662898 0.5 -0.0298704 0.114081 0.0310466 0.682279 0.5 --0.0225303 0.159751 -0.00283877 0.336875 0.413352 -0.0458052 0.08902 0.00916777 0.585553 0.5 --0.0859996 0.118394 -0.000793117 0.480329 0.5 -0.0454023 0.0875829 0.0161653 0.531894 0.5 -0.0366462 0.100736 0.0320541 0.717591 0.5 -0.0438672 0.0916755 -0.00180444 0.564241 0.5 --0.0607941 0.143953 0.0367655 0.61235 0.483877 -0.0355444 0.109985 0.0269213 0.64078 0.5 -0.0181166 0.118416 -0.011621 0.549 0.5 -0.0093902 0.0739182 0.0557875 0.402355 0.487636 -0.0102664 0.0739304 0.0552835 0.47178 0.454089 -0.0111129 0.0739356 0.0547693 0.481026 0.423166 -0.0120599 0.0739551 0.0543847 0.48671 0.476705 -0.013184 0.0740073 0.0542309 0.491589 0.5 -0.0141451 0.0740257 0.0538731 0.575483 0.5 -0.0149724 0.0740286 0.0533099 0.599909 0.5 -0.0157288 0.0740195 0.0526622 0.583786 0.461423 -0.0166416 0.0740317 0.0522091 0.741222 0.5 -0.0176795 0.0740469 0.0519763 0.575091 0.5 -0.0187407 0.0740964 0.0517477 0.542076 0.473768 -0.0196906 0.074125 0.0513576 0.663147 0.5 -0.0205417 0.0741225 0.0508294 0.442288 0.5 -0.0213439 0.0741385 0.0502206 0.463851 0.466417 -0.0220764 0.0741142 0.049509 0.474246 0.461764 -0.0228611 0.0741302 0.0488936 0.578179 0.5 -0.0236414 0.0741206 0.0482553 0.572664 0.5 -0.0244049 0.0741131 0.0475942 0.577777 0.5 -0.0250862 0.0741055 0.0468243 0.581229 0.5 -0.025639 0.0740461 0.0458389 0.786409 0.5 -0.0262357 0.0740751 0.0449841 0.772643 0.5 -0.0271512 0.0740976 0.0445232 0.592817 0.392389 -0.0280502 0.0740858 0.0440821 0.625439 0.5 -0.0290027 0.0741128 0.0436952 0.636029 0.399986 -0.0298673 0.0740916 0.0431977 0.630563 0.5 -0.0305998 0.0741029 0.0424942 0.628283 0.444231 -0.0313861 0.0740897 0.0418701 0.621771 0.5 -0.0321478 0.0740867 0.0412125 0.595605 0.456848 -0.0328708 0.0740673 0.0404957 0.635398 0.5 -0.0337034 0.0740969 0.0399489 0.537891 0.468332 -0.0345611 0.0740948 0.0394254 0.535142 0.482543 -0.0353716 0.0741014 0.0388421 0.518267 0.483832 -0.0361319 0.074097 0.0381795 0.505468 0.5 -0.0367705 0.074074 0.0373409 0.606314 0.5 -0.0373383 0.0740435 0.0363986 0.591767 0.471091 -0.0379386 0.07401 0.0354837 0.619956 0.461403 -0.0385799 0.0739884 0.0346445 0.645662 0.5 -0.0392087 0.0739776 0.0338431 0.662825 0.5 -0.0398305 0.0739567 0.0329917 0.661454 0.5 -0.0404449 0.0739232 0.0320846 0.677465 0.5 -0.0410157 0.0739041 0.031202 0.672978 0.5 -0.0415736 0.0738523 0.0301911 0.673034 0.5 -0.0421423 0.0738117 0.0292393 0.624347 0.5 -0.042672 0.0737568 0.0282004 0.601101 0.408015 -0.0431795 0.0737197 0.0272167 0.540031 0.330569 -0.0436314 0.0736519 0.026072 0.515337 0.395203 -0.0440963 0.0735854 0.0249308 0.49212 0.448589 -0.0445131 0.0735224 0.0237705 0.448278 0.5 -0.0449394 0.0734628 0.0226146 0.403008 0.458355 --0.0888952 0.137894 0.0271916 0.609378 0.5 -0.0407626 0.105627 0.00616707 0.529479 0.5 -0.038419 0.105512 0.0261645 0.526159 0.5 -0.0404448 0.0985503 0.0271661 0.65335 0.5 --0.0492036 0.131059 0.0288275 0.650033 0.435551 --0.0503264 0.131112 0.0307063 0.708731 0.5 -0.0353256 0.109535 -0.00390394 0.531297 0.5 --0.0524183 0.131115 0.0329855 0.731687 0.5 --0.0531501 0.13113 0.0336749 0.731312 0.5 --0.0629366 0.147438 -0.0146052 0.450995 0.481686 -0.0405945 0.102819 0.0221712 0.647543 0.5 -0.0401875 0.102783 0.0241636 0.615986 0.5 -0.0250182 0.11137 0.036342 0.512323 0.473302 --0.0161012 0.16832 -0.0147108 0.493558 0.5 --0.0528526 0.147782 0.0214111 0.573964 0.387499 --0.0160443 0.174209 -0.0181164 0.716724 0.5 --0.0135602 0.174221 -0.0197865 0.729624 0.5 --0.021529 0.17126 -0.0137526 0.664954 0.5 --0.0526201 0.14007 0.0244025 0.755922 0.5 -0.040243 0.0970923 -0.00582991 0.592199 0.5 -0.0275361 0.10477 0.0382193 0.691312 0.5 --0.0365356 0.155076 0.00317988 0.620018 0.5 --0.0356646 0.155102 0.0026804 0.527869 0.5 --0.0348371 0.155104 0.00211833 0.51516 0.5 --0.0495888 0.146296 0.0105853 0.668078 0.5 --0.0500812 0.146304 0.0115954 0.524872 0.417266 -0.0329112 0.096871 0.0389677 0.722665 0.5 --0.0252811 0.168282 -0.0104061 0.637028 0.453766 --0.0495972 0.118308 0.0316941 0.652391 0.463429 --0.053795 0.115431 0.0343764 0.930472 0.5 --0.0660018 0.133981 0.0432166 0.706202 0.415749 --0.0929299 0.122874 0.0352771 0.812549 0.5 --0.029909 0.0904807 -0.0265953 0.403597 0.5 --0.0928176 0.120043 0.0102955 0.542575 0.5 --0.0600502 0.143934 0.0360579 0.602605 0.5 -0.0258671 0.111418 0.0358303 0.509397 0.475741 --0.0549717 0.132532 0.0345672 0.68201 0.5 --0.0571091 0.140994 0.0314586 0.582376 0.462647 -0.0272041 0.0968528 0.0430049 0.698704 0.5 --0.0195403 0.1757 -0.0161256 0.691534 0.5 --0.0281276 0.163902 -0.00573037 0.569313 0.5 --0.0107378 0.177152 -0.0244143 0.645105 0.5 --0.0256504 0.178665 -0.00908499 0.550699 0.5 --0.0943565 0.12553 0.0182582 0.545406 0.478394 --0.0209099 0.158178 -0.00579641 0.203046 0.364333 --0.0656393 0.145367 0.0403005 0.63059 0.5 -0.0371269 0.09285 0.0362758 0.71879 0.5 --0.0640313 0.13251 0.040793 0.718015 0.5 --0.0582589 0.129739 0.0385905 0.663514 0.5 -0.0441644 0.0931187 0.000177172 0.558745 0.480058 --0.0897267 0.135137 0.0262095 0.77999 0.5 --0.0566171 0.135321 0.0339425 0.635009 0.5 --0.0613494 0.131082 0.0393909 0.648309 0.5 -0.0208911 0.120687 0.0321527 0.711547 0.5 --0.0287063 0.168278 -0.00832187 0.605774 0.5 -0.0275463 0.095549 0.0435012 0.690612 0.5 --0.0673565 0.112647 0.0446949 0.295607 0.5 --0.0599288 0.145383 0.0362513 0.596175 0.471971 --0.062214 0.131105 0.0398962 0.677602 0.429466 --0.0444555 0.121377 -0.0123561 0.833781 0.5 --0.044143 0.159411 0.00624881 0.561794 0.441249 -0.0456488 0.0861985 0.00518381 0.536933 0.380432 --0.0570307 0.151068 0.0316808 0.472057 0.5 -0.0400386 0.0871415 -0.0117889 0.652698 0.5 --0.0636327 0.155181 -0.0386163 0.577882 0.48288 --0.0629696 0.131105 0.0405653 0.703241 0.5 -0.00942317 0.0752723 0.0558271 0.463351 0.5 -0.0102648 0.0752773 0.0552991 0.452903 0.450346 -0.0111453 0.0752893 0.0548169 0.549909 0.47635 -0.012216 0.0753282 0.0545969 0.57141 0.5 -0.0133103 0.0753629 0.0544488 0.567703 0.5 -0.0143121 0.0753991 0.0540935 0.566216 0.412988 -0.0151412 0.0754034 0.0535569 0.559442 0.5 -0.0160506 0.0754058 0.0531341 0.712295 0.5 -0.0170529 0.075444 0.0528157 0.543396 0.5 -0.0180116 0.0754634 0.0524537 0.529225 0.5 -0.0189467 0.0754919 0.0520404 0.666662 0.5 -0.0197898 0.0754906 0.0515075 0.534178 0.473728 -0.0205837 0.0754832 0.0508919 0.46299 0.473088 -0.0213851 0.0754916 0.050294 0.571232 0.5 -0.0221612 0.0754835 0.0496518 0.487719 0.450783 -0.0229768 0.0754886 0.0490742 0.598357 0.5 -0.0238113 0.0754906 0.0485213 0.598392 0.5 -0.0246103 0.075474 0.0479027 0.609546 0.5 -0.0253565 0.075473 0.0472224 0.60678 0.5 -0.0259518 0.075434 0.0462884 0.617698 0.347129 -0.0265757 0.0754454 0.0454823 0.604478 0.5 -0.0274663 0.0754645 0.0450048 0.621894 0.381867 -0.0283128 0.0754542 0.0444772 0.608633 0.5 -0.0291938 0.0754716 0.043989 0.627842 0.398738 -0.0300773 0.0754873 0.0435133 0.644155 0.5 -0.0309112 0.0754873 0.0429619 0.624863 0.5 -0.0316901 0.0754766 0.0423249 0.606423 0.5 -0.0324423 0.0754774 0.0416539 0.607743 0.5 -0.0331199 0.0754691 0.0408773 0.596736 0.5 -0.0337836 0.0754424 0.0400679 0.628553 0.5 -0.0346025 0.0754478 0.0394941 0.530612 0.5 -0.035425 0.0754528 0.0389267 0.532525 0.5 -0.0361622 0.075448 0.0382492 0.526665 0.459675 -0.0368364 0.0754262 0.037436 0.622034 0.5 -0.0374605 0.0754022 0.0365814 0.611031 0.5 -0.0380379 0.075373 0.0356471 0.619691 0.5 -0.0386345 0.0753534 0.0347776 0.638101 0.5 -0.0392221 0.075321 0.0338531 0.662178 0.439159 -0.0398535 0.0752995 0.0330037 0.675196 0.5 -0.0404723 0.0752779 0.0321515 0.675988 0.5 -0.0410346 0.0752467 0.03121 0.677202 0.5 -0.0415613 0.0751972 0.0301802 0.675014 0.5 -0.0421217 0.0751567 0.0292241 0.67807 0.5 -0.042675 0.0751161 0.0282624 0.62453 0.5 -0.0432386 0.0750761 0.0273062 0.591648 0.5 -0.043716 0.0750115 0.0261739 0.56418 0.5 -0.0441351 0.0749462 0.0250125 0.512998 0.449433 -0.044544 0.0748845 0.0238506 0.488502 0.5 -0.044971 0.0748214 0.0226935 0.458504 0.467907 -0.0454055 0.0747572 0.0215389 0.378418 0.5 -0.0457818 0.0746903 0.0202853 0.419967 0.5 --0.0521847 0.140082 0.0224024 0.606401 0.481088 -0.0425362 0.0972508 -0.000830625 0.688244 0.5 -0.0436438 0.0973161 0.0031761 0.548608 0.5 --0.00269975 0.109146 -0.0216168 0.551699 0.482404 --0.0711713 0.176467 -0.0550529 0.31957 0.5 --0.087232 0.102325 0.0223672 0.621937 0.5 --0.066899 0.132617 0.0454244 0.721394 0.5 --0.00121407 0.102594 0.0440764 0.308611 0.5 --0.0303556 0.168269 -0.0071929 0.583148 0.5 -0.0186534 0.103359 0.0446898 0.488101 0.5 -0.0267956 0.111385 0.0354031 0.524811 0.5 -0.0276406 0.111416 0.0348725 0.54321 0.5 --0.0242749 0.174204 -0.0124276 0.650067 0.5 --0.0202598 0.174222 -0.0154191 0.701906 0.5 --0.0385004 0.150676 0.00203305 0.292154 0.5 --0.0362032 0.160944 0.000172036 0.613949 0.5 --0.0415192 0.155101 0.00654483 0.680141 0.5 --0.0406156 0.155109 0.0060988 0.681428 0.5 --0.0381352 0.155099 0.00439417 0.616343 0.5 --0.037361 0.155079 0.00374727 0.61561 0.5 --0.0476849 0.146264 0.00805502 0.59165 0.5 --0.048358 0.146267 0.00883601 0.619032 0.5 --0.0490107 0.146266 0.00962371 0.641923 0.5 --0.0568261 0.139571 0.0318926 0.639945 0.5 --0.0560722 0.13957 0.0312222 0.631953 0.5 --0.0535426 0.139527 0.0278286 0.556211 0.5 --0.0530817 0.139518 0.0266624 0.551331 0.476773 -0.0353489 0.0955322 0.0372114 0.725505 0.5 --0.0654784 0.133956 0.0422213 0.700501 0.5 --0.0666269 0.131204 0.0458398 0.726313 0.5 --0.0775093 0.0961888 -0.0115304 0.525386 0.5 --0.0672658 0.131206 0.0466969 0.732992 0.5 --0.0712276 0.159591 -0.0429327 0.505636 0.460038 -0.0408833 0.10285 0.0201769 0.667439 0.5 --0.0501719 0.132485 0.029178 0.683964 0.5 --0.0507215 0.132501 0.0301542 0.704205 0.5 --0.0578499 0.140998 0.0321632 0.726567 0.5 --0.0332327 0.160967 -0.000804209 0.568759 0.5 --0.071875 0.136886 0.0488574 0.523649 0.5 --0.017618 0.163994 -0.00984759 0.393789 0.47893 --0.0101902 0.177186 -0.0254506 0.445232 0.5 -0.0220735 0.113988 0.0356074 0.526012 0.481411 -0.0366353 0.0982561 -0.0107953 0.731051 0.5 --0.0215772 0.158162 -0.00503193 0.192277 0.367545 --0.0649431 0.145366 0.0395451 0.615591 0.5 --0.0352015 0.153653 0.00157065 0.431891 0.5 --0.0633147 0.132484 0.0400888 0.690563 0.5 --0.0591545 0.129731 0.0390508 0.655474 0.5 -0.0419587 0.0958192 0.0261617 0.654321 0.5 -0.0435587 0.0959151 0.0211557 0.513106 0.5 --0.0574217 0.135337 0.0345321 0.590823 0.5 --0.0472578 0.121113 0.0280085 0.709339 0.5 -0.0217235 0.120687 0.0315848 0.56598 0.5 -0.0311284 0.103423 0.0364018 0.727345 0.5 --0.0660205 0.131186 0.0449542 0.72666 0.5 -0.0453303 0.0875809 0.0171699 0.520989 0.459985 --0.0728312 0.136891 0.0492499 0.627599 0.5 -0.0200283 0.102079 0.0449293 0.60706 0.5 --0.050269 0.11691 0.032477 0.652478 0.5 --0.0710158 0.13691 0.0483444 0.52611 0.5 -0.0429561 0.100122 0.0141624 0.694229 0.5 --0.0265893 0.161003 -0.00174275 0.55395 0.5 --0.0626188 0.166275 -0.0435849 0.517528 0.405853 --0.0706254 0.129856 0.0506426 0.588182 0.5 --0.0627171 0.147502 -0.0125815 0.398932 0.5 --0.0616146 0.158432 -0.0255892 0.383639 0.433059 -0.010276 0.076623 0.0552854 0.466489 0.447924 -0.0111753 0.0766426 0.0548499 0.558838 0.424035 -0.0122509 0.0766796 0.0546284 0.587184 0.5 -0.0134061 0.0767276 0.0545687 0.481224 0.5 -0.0143682 0.0767494 0.0542274 0.578033 0.454286 -0.0153262 0.0767707 0.0538598 0.455255 0.5 -0.0163312 0.0767998 0.0535416 0.450123 0.479295 -0.0172403 0.0768113 0.0531129 0.526465 0.5 -0.0181983 0.0768373 0.0527356 0.437738 0.475146 -0.0190348 0.0768352 0.0521916 0.545336 0.5 -0.0198002 0.0768324 0.0515324 0.569059 0.5 -0.020602 0.0768409 0.0509288 0.476038 0.5 -0.0214316 0.0768422 0.0503677 0.486439 0.474084 -0.0222613 0.0768462 0.049813 0.498203 0.479955 -0.0231426 0.0768603 0.0493195 0.519748 0.47332 -0.0239979 0.0768543 0.0488301 0.52662 0.473377 -0.024828 0.0768588 0.0482443 0.610475 0.5 -0.0255432 0.0768418 0.0475089 0.603824 0.5 -0.0261579 0.0768253 0.0466356 0.603577 0.483269 -0.0268748 0.0768062 0.0459093 0.604771 0.5 -0.0276842 0.0768145 0.0453329 0.61426 0.5 -0.0284966 0.0768217 0.0447581 0.61815 0.478766 -0.0293522 0.0768437 0.0442363 0.623702 0.5 -0.0301995 0.0768447 0.0437008 0.624343 0.5 -0.0310665 0.0768618 0.0431993 0.506137 0.5 -0.0318624 0.0768516 0.0425881 0.51115 0.5 -0.0326237 0.0768475 0.0419257 0.503742 0.464246 -0.0333079 0.0768384 0.0411622 0.612603 0.475916 -0.0339687 0.0768049 0.0403387 0.600714 0.476945 -0.0347021 0.0768104 0.0396564 0.621224 0.5 -0.0354665 0.0768048 0.0390018 0.629399 0.5 -0.0361753 0.0767902 0.0382584 0.639626 0.5 -0.0368491 0.0767795 0.0374896 0.650918 0.5 -0.0374841 0.076757 0.0366434 0.657631 0.5 -0.0381071 0.0767371 0.0357901 0.643833 0.5 -0.0386883 0.0767039 0.0348633 0.650558 0.5 -0.0392901 0.0766734 0.0339466 0.662373 0.5 -0.0398861 0.0766416 0.0330246 0.686027 0.5 -0.0405001 0.076619 0.0321646 0.68057 0.42369 -0.0410646 0.07659 0.0312229 0.672463 0.411535 -0.0415736 0.0765545 0.0302447 0.664677 0.5 -0.0420847 0.0764929 0.0291356 0.670862 0.420283 -0.0426389 0.0764517 0.0281735 0.671782 0.5 -0.0431893 0.0764104 0.0272109 0.6451 0.5 -0.0436976 0.0763605 0.0261605 0.583979 0.5 -0.0441778 0.076309 0.025099 0.561024 0.396183 -0.044615 0.0762444 0.0239446 0.523837 0.399525 -0.0450661 0.0761937 0.0228711 0.47185 0.353971 -0.0454669 0.0761165 0.0216249 0.451795 0.380969 -0.045843 0.0760483 0.0203743 0.522101 0.35382 -0.0461172 0.0759623 0.0190037 0.413202 0.328816 -0.043113 0.0972735 0.00118522 0.547381 0.5 -0.0433792 0.0972945 0.00218055 0.463933 0.5 -0.0428516 0.0972538 0.000192155 0.671391 0.5 -0.0422051 0.0972089 -0.00180239 0.488247 0.487225 --0.0635357 0.119961 0.0469254 0.563491 0.5 --0.0467235 0.128128 0.0253508 0.452801 0.5 --0.00995662 0.169734 -0.0198047 0.447889 0.5 --0.0135581 0.166929 -0.0145181 0.418994 0.479538 -0.019545 0.103378 0.0442321 0.503792 0.481083 -0.0373005 0.103362 0.0294506 0.677896 0.5 -0.0284806 0.111435 0.0343318 0.675787 0.5 --0.026505 0.174198 -0.0103819 0.78055 0.5 --0.0358918 0.166781 -0.00116722 0.62364 0.5 --0.0376796 0.16681 0.00156763 0.518114 0.5 --0.0478768 0.15504 0.00962757 0.639675 0.5 --0.0470469 0.155045 0.00906939 0.633461 0.5 --0.0451864 0.146266 0.00463419 0.195425 0.432502 --0.0458225 0.146281 0.00549558 0.252585 0.5 -0.0412879 0.0914659 -0.00877665 0.528794 0.5 --0.0470607 0.146242 0.00718592 0.482557 0.5 --0.059344 0.139552 0.0335155 0.612099 0.456606 --0.0584486 0.139576 0.0330542 0.6289 0.5 --0.0576346 0.139576 0.0324737 0.638111 0.5 --0.0612769 0.133878 0.0377403 0.587214 0.471285 --0.0629724 0.133897 0.038809 0.636155 0.5 --0.0637361 0.133925 0.0394224 0.666346 0.5 --0.0643911 0.133918 0.0402655 0.68109 0.5 --0.0649507 0.13395 0.041174 0.714405 0.5 -0.0364682 0.111067 0.00216795 0.619783 0.488841 --0.0160192 0.104518 -0.0227486 0.672132 0.5 --0.0624265 0.163056 -0.0535855 0.674431 0.5 -0.0452819 0.0932028 0.00617084 0.573889 0.41408 -0.0393368 0.0984458 -0.00682083 0.562137 0.5 -0.0410804 0.10284 0.0191681 0.683836 0.420632 --0.0893883 0.0956403 0.0164184 0.625207 0.5 --0.0586032 0.141 0.0328315 0.742667 0.5 --0.0543206 0.140979 0.0284164 0.552068 0.5 --0.00956353 0.172645 -0.0227849 0.467742 0.5 --0.0165661 0.163924 -0.0100865 0.382067 0.5 --0.0211568 0.177178 -0.0149257 0.656738 0.5 -0.0415318 0.09261 0.0284783 0.664858 0.5 --0.0401471 0.163848 0.00326215 0.681563 0.5 --0.0419021 0.157999 0.00424081 0.666722 0.5 --0.0593675 0.145365 0.0352791 0.593606 0.467495 --0.0634881 0.121359 0.0469409 0.601186 0.5 --0.0599006 0.132533 0.037981 0.622536 0.5 --0.0650557 0.129761 0.0446036 0.718483 0.5 -0.0283827 0.10475 0.0376855 0.700427 0.5 --0.078373 0.161039 -0.0249642 0.38686 0.464014 -0.00906582 0.123154 0.0343752 0.566278 0.339292 --0.0528207 0.121242 0.0358805 0.581584 0.5 --0.0479877 0.121051 0.028756 0.630513 0.5 -0.022493 0.120697 0.0309281 0.57162 0.5 -0.023086 0.119339 0.0317977 0.617203 0.5 --0.0462852 0.149202 0.00834502 0.691693 0.5 -0.0452979 0.0875774 0.0181674 0.504361 0.5 --0.0202678 0.159643 -0.00488449 0.3582 0.5 -0.0280693 0.112767 0.0337398 0.682192 0.5 -0.0358259 0.0928903 0.0378885 0.726982 0.5 --0.0679264 0.131258 0.0474463 0.732758 0.5 --0.0494476 0.122586 0.0319364 0.566753 0.5 -0.0449595 0.0889486 0.000172046 0.467634 0.5 --0.0555411 0.128344 0.0372391 0.729473 0.5 --0.0707237 0.135491 0.0487549 0.64712 0.452777 --0.0542782 0.132533 0.0338047 0.709699 0.5 -0.044262 0.0945325 0.00218274 0.564641 0.5 -0.0102029 0.0779579 0.0551886 0.494267 0.5 -0.011103 0.0779768 0.0547588 0.500584 0.427704 -0.0121741 0.0780107 0.0545179 0.487613 0.477638 -0.013384 0.078066 0.0545225 0.501289 0.476862 -0.0144021 0.0780973 0.054252 0.572865 0.444642 -0.0154243 0.0781303 0.053988 0.393018 0.5 -0.0163345 0.0781449 0.0535802 0.45356 0.450387 -0.0173388 0.0781757 0.0532571 0.446866 0.481381 -0.0181919 0.0781799 0.0527467 0.55726 0.5 -0.0190515 0.0781917 0.0522129 0.589273 0.5 -0.0197913 0.0781802 0.0515303 0.609137 0.5 -0.0206498 0.0781917 0.0510092 0.614807 0.463988 -0.0214935 0.0781932 0.0504764 0.504545 0.485101 -0.0223647 0.0782061 0.0499784 0.520017 0.5 -0.0232091 0.0782074 0.0494446 0.457886 0.5 -0.0241031 0.0782197 0.0489777 0.459392 0.5 -0.0249209 0.0782259 0.0483953 0.516705 0.5 -0.0256558 0.0782254 0.0477034 0.623691 0.476156 -0.0263146 0.0782009 0.0468843 0.61526 0.5 -0.0270307 0.0781852 0.0461538 0.616309 0.5 -0.0278367 0.0781921 0.0455692 0.6278 0.5 -0.0286115 0.078186 0.0449305 0.617467 0.5 -0.0294369 0.0781918 0.0443709 0.623326 0.475613 -0.0302902 0.078207 0.0438447 0.510173 0.464453 -0.0311358 0.0782102 0.04331 0.51289 0.482608 -0.0319454 0.0782138 0.0427262 0.517482 0.5 -0.0326986 0.0781958 0.0420379 0.520189 0.5 -0.0334291 0.0781951 0.0413414 0.508773 0.47972 -0.0341204 0.0781827 0.0405841 0.592897 0.5 -0.0348071 0.0781711 0.0398247 0.785507 0.5 -0.0355131 0.0781566 0.0390786 0.629661 0.5 -0.0361586 0.0781359 0.0382445 0.639936 0.5 -0.0368134 0.0781201 0.03746 0.650354 0.5 -0.0374548 0.0781001 0.0366194 0.664722 0.5 -0.0381002 0.078079 0.0357853 0.667868 0.5 -0.0387571 0.0780554 0.0349576 0.67096 0.5 -0.0393814 0.0780345 0.0341058 0.678739 0.5 -0.0399371 0.077993 0.0331058 0.673181 0.5 -0.0405297 0.0779725 0.0322363 0.669363 0.5 -0.0410972 0.0779427 0.031296 0.659305 0.414553 -0.0415851 0.0779004 0.0302476 0.661566 0.5 -0.0420852 0.077848 0.0291974 0.660985 0.42238 -0.0425828 0.0778099 0.0282065 0.66063 0.5 -0.0432025 0.0777701 0.0272794 0.644209 0.5 -0.0436886 0.0777182 0.0262206 0.623735 0.5 -0.0441945 0.077668 0.0251701 0.604731 0.5 -0.0446992 0.0776181 0.0241159 0.532741 0.5 -0.0451425 0.0775553 0.0229667 0.522499 0.465154 -0.0455444 0.0774866 0.0217209 0.516489 0.5 -0.0458807 0.0774123 0.0204549 0.504135 0.477232 -0.0461466 0.0773319 0.0190905 0.576196 0.5 -0.0373574 0.0841251 -0.0157743 0.706374 0.5 -0.0456324 0.0875991 0.0131626 0.57239 0.5 -0.0464327 0.0769932 0.014129 0.455861 0.5 --0.083856 0.108875 0.00233606 0.437015 0.5 --0.0295018 0.159581 0.00108834 0.503868 0.5 -0.0407616 0.105622 0.0111617 0.702245 0.5 --0.0138894 0.183111 -0.0237643 0.461726 0.436324 -0.038441 0.100665 0.0293761 0.699142 0.5 -0.0390213 0.100628 0.0284944 0.683264 0.5 -0.0366464 0.103365 0.0302885 0.696526 0.5 -0.0292794 0.111414 0.0337321 0.702 0.5 --0.0283944 0.174224 -0.00779385 0.678066 0.5 --0.0347686 0.16678 -0.00304399 0.685372 0.5 -0.0291715 0.104768 0.0370747 0.729766 0.5 -0.0413201 0.104267 0.012164 0.69897 0.5 -0.0299951 0.111426 0.0329993 0.723247 0.5 --0.0447681 0.146394 0.00358641 0.177724 0.5 --0.0623578 0.139562 0.0361839 0.63811 0.5 --0.0616452 0.139553 0.0354433 0.646306 0.5 --0.0609826 0.13955 0.0346529 0.681478 0.5 --0.0602761 0.139548 0.0339321 0.706583 0.5 --0.0585604 0.133937 0.0364008 0.769804 0.5 --0.0594536 0.133932 0.0368692 0.762546 0.5 --0.0603715 0.133894 0.0372893 0.580817 0.5 --0.0623186 0.155306 -0.0155862 0.359098 0.5 --0.0933662 0.126937 0.0262691 0.505713 0.5 --0.0278391 0.168266 -0.00883037 0.608542 0.5 -0.0457806 0.0890199 0.00717609 0.572575 0.410984 --0.0850765 0.107567 0.00438106 0.468958 0.412497 --0.0516941 0.147804 0.0164166 0.701983 0.5 -0.0441233 0.0959295 0.00318315 0.472723 0.5 -0.00457646 0.108164 0.0418882 0.61321 0.401606 -0.0399617 0.0984844 -0.00581339 0.563967 0.5 --0.0750322 0.144421 -0.00688246 0.522249 0.5 -0.0420989 0.0930078 0.0271705 0.646685 0.451076 --0.0640239 0.14106 0.0390925 0.630246 0.5 --0.0250309 0.172718 -0.0117738 0.653425 0.5 --0.0335527 0.156609 0.00223348 0.589415 0.5 --0.0120489 0.177175 -0.0228491 0.7122 0.5 --0.0278278 0.177181 -0.00696301 0.491073 0.5 -0.0204347 0.103384 0.043762 0.514112 0.485433 --0.0394934 0.163848 0.00245451 0.610083 0.5 --0.0427881 0.157985 0.00470835 0.677278 0.5 --0.0589607 0.145338 0.0340833 0.586048 0.333287 -0.0398803 0.0927067 0.0314285 0.697962 0.5 --0.0590047 0.132542 0.0375172 0.622474 0.5 --0.0656415 0.129793 0.0454963 0.727402 0.5 -0.0451851 0.0861731 0.0211635 0.482289 0.47938 --0.0817276 0.0964548 -0.00656413 0.503365 0.5 -0.0100844 0.123139 0.0340691 0.588752 0.467364 --0.0535677 0.121244 0.0365515 0.604017 0.5 -0.0437257 0.0902921 0.0241674 0.610839 0.5 -0.0428831 0.0902351 0.0261862 0.635084 0.5 -0.04335 0.0902653 0.0251673 0.620265 0.5 -0.0300054 0.104778 0.0365239 0.725822 0.5 --0.072674 0.131225 0.051196 0.477407 0.478289 --0.0641358 0.117113 0.0460384 0.512905 0.318479 -0.0378723 0.109729 0.00416584 0.630075 0.5 --0.0618671 0.112377 0.0367302 0.829342 0.5 --0.0241791 0.159685 -0.00173809 0.369082 0.433859 --0.0385777 0.1595 0.00203018 0.587268 0.5 --0.0500289 0.122604 0.03284 0.603413 0.5 --0.0624131 0.11535 0.0394932 0.369148 0.415744 --0.0625354 0.122703 0.0447625 0.628065 0.5 --0.0689 0.115705 0.0512836 0.47714 0.5 --0.0516419 0.126901 0.0340875 0.648868 0.5 --0.0618586 0.161576 -0.034591 0.428676 0.5 -0.0100662 0.0792875 0.0550109 0.613154 0.5 -0.0110253 0.0793101 0.0546505 0.614107 0.424155 -0.0120332 0.0793354 0.0543348 0.59829 0.5 -0.0131787 0.0793804 0.0542326 0.587854 0.464709 -0.0142616 0.0794232 0.0540604 0.47959 0.472289 -0.0152869 0.0794603 0.0538116 0.48359 0.5 -0.016253 0.0794879 0.0534651 0.470716 0.460052 -0.017256 0.079507 0.0531399 0.468948 0.5 -0.0181719 0.0795251 0.0527143 0.579154 0.40543 -0.0190476 0.0795376 0.0522219 0.598519 0.5 -0.0198481 0.0795335 0.0516115 0.632111 0.5 -0.0206734 0.0795401 0.0510479 0.620086 0.5 -0.0215152 0.0795452 0.0505127 0.613508 0.5 -0.0223647 0.0795488 0.0499944 0.515664 0.5 -0.0232695 0.0795597 0.0495474 0.44694 0.475133 -0.0241683 0.0795725 0.0490812 0.61663 0.478488 -0.024983 0.0795787 0.048494 0.63186 0.5 -0.0257124 0.0795754 0.0477924 0.634122 0.5 -0.0263535 0.0795425 0.0469281 0.631324 0.5 -0.0270604 0.0795391 0.0462139 0.63827 0.5 -0.0278273 0.0795375 0.0455649 0.630435 0.5 -0.0286155 0.0795328 0.044942 0.608643 0.5 -0.0294578 0.079544 0.0444105 0.606335 0.5 -0.0302795 0.0795477 0.0438394 0.611382 0.5 -0.0311277 0.0795524 0.0433085 0.61244 0.5 -0.0319539 0.0795563 0.0427459 0.617987 0.461288 -0.0327302 0.0795508 0.0421017 0.613309 0.465282 -0.0335012 0.0795469 0.0414506 0.495733 0.5 -0.0342103 0.0795441 0.0407378 0.596697 0.5 -0.0348653 0.0795228 0.0399156 0.614768 0.5 -0.0355134 0.0795005 0.0390801 0.639864 0.5 -0.0361188 0.0794771 0.0382118 0.642585 0.5 -0.0367263 0.0794489 0.0373046 0.654271 0.5 -0.037431 0.0794424 0.0366005 0.669219 0.5 -0.0381363 0.0794306 0.0358549 0.671892 0.5 -0.0388132 0.0794166 0.0350891 0.681529 0.5 -0.0394095 0.0793879 0.0341721 0.686574 0.5 -0.0399868 0.0793585 0.0332409 0.667708 0.5 -0.0405765 0.0793262 0.0323176 0.658808 0.5 -0.0411288 0.0792971 0.0313687 0.644828 0.416412 -0.0416337 0.0792551 0.0303335 0.640338 0.411441 -0.042117 0.0792074 0.0292753 0.645945 0.342885 -0.0425933 0.0791563 0.0282081 0.646363 0.5 -0.0431809 0.0791159 0.0272636 0.62226 0.5 -0.0437324 0.0790794 0.0263023 0.6139 0.5 -0.0441999 0.0790177 0.0251667 0.605112 0.5 -0.04471 0.0789677 0.024116 0.589123 0.5 -0.0451596 0.0789195 0.0230398 0.571938 0.478239 -0.0455563 0.078849 0.0217954 0.721345 0.5 -0.0458875 0.0787805 0.0205292 0.545578 0.48224 -0.0461192 0.0786876 0.0190773 0.511779 0.5 -0.0461881 0.0785676 0.017326 0.480451 0.466177 -0.0462455 0.0784487 0.0155769 0.497361 0.5 --0.0494399 0.119744 0.0319359 0.801971 0.5 -0.0144595 0.121944 0.0333941 0.615834 0.5 --0.0602298 0.119796 0.0409592 0.496419 0.5 --0.0350082 0.162373 -0.00163299 0.670958 0.5 --0.056511 0.121265 0.0393235 0.570951 0.5 --0.0884166 0.13498 0.0042424 0.342144 0.5 -0.0347714 0.100763 0.034674 0.724215 0.5 -0.0379635 0.103337 0.0286718 0.665597 0.5 -0.030718 0.111397 0.0323042 0.722937 0.5 --0.0308563 0.174216 -0.00433975 0.544603 0.5 --0.0334339 0.166782 -0.00461644 0.576763 0.5 --0.0062818 0.102371 0.0437669 0.287424 0.5 --0.0234208 0.172725 -0.0129655 0.672015 0.5 --0.0242433 0.172722 -0.0123976 0.664036 0.5 --0.0640511 0.139618 0.0390194 0.605371 0.39659 --0.0635247 0.139599 0.0380296 0.571317 0.477696 --0.055443 0.13396 0.033868 0.667602 0.5 --0.0561584 0.13394 0.0346041 0.64758 0.5 --0.056914 0.133942 0.035273 0.628251 0.5 --0.0576807 0.133928 0.0359191 0.617404 0.5 -0.0313753 0.111403 0.0314731 0.721918 0.5 --0.0425303 0.153621 0.00682011 0.685242 0.443029 --0.0853172 0.110382 0.0233555 0.712829 0.5 -0.0354061 0.0981387 0.0355669 0.723509 0.5 --0.0319114 0.16826 -0.00591385 0.586613 0.5 --0.0891175 0.0983455 0.0194044 0.684574 0.5 -0.0264007 0.116693 0.0313169 0.656404 0.5 -0.0246987 0.1167 0.0323736 0.66952 0.5 --0.0571826 0.122684 0.0401181 0.582023 0.5 -0.0442909 0.0959534 0.0041727 0.575375 0.5 --0.0829532 0.112769 0.000219247 0.462538 0.228517 -0.0387126 0.0984064 -0.00782785 0.578304 0.418501 --0.0803464 0.147298 -0.000827063 0.484293 0.5 -0.0393128 0.0955964 -0.00780286 0.586301 0.5 --0.064598 0.141073 0.0399979 0.642718 0.5 -0.0406981 0.104234 0.0181671 0.569978 0.488966 --0.0344217 0.156595 0.00275895 0.585562 0.5 --0.0203438 0.180146 -0.0154935 0.587458 0.477797 --0.0271652 0.177189 -0.00775302 0.431565 0.5 --0.0203988 0.177179 -0.0155929 0.665442 0.5 --0.0309707 0.163858 -0.00458082 0.746454 0.5 --0.0548214 0.143869 0.0295389 0.515193 0.5 --0.0584473 0.145323 0.0330944 0.608695 0.474781 --0.0464525 0.146291 0.00643191 0.365291 0.5 --0.0581184 0.132538 0.0370402 0.62806 0.5 --0.0538087 0.119788 0.0361741 0.587991 0.454409 --0.0578787 0.118384 0.0390612 0.548823 0.5 -0.023524 0.11536 0.0341991 0.659925 0.5 -0.0109848 0.123169 0.033628 0.489045 0.46593 --0.0599597 0.121237 0.0413621 0.55003 0.5 -0.0455164 0.0904085 0.0121603 0.57191 0.5 --0.0470106 0.149195 0.00904699 0.554942 0.5 --0.0789343 0.0700266 0.0104198 0.704234 0.277826 --0.0686207 0.128453 0.0500102 0.61802 0.5 -0.0387661 0.0870401 -0.0137857 0.717554 0.5 -0.0201914 0.117982 0.0346477 0.510364 0.474373 --0.0636966 0.117092 0.044917 0.494483 0.309209 --0.0633087 0.117017 0.0436447 0.496869 0.435239 --0.0618119 0.115344 0.0386033 0.453426 0.5 -0.040969 0.0926354 0.0294955 0.674164 0.426563 -0.0335081 0.0942386 0.0398247 0.706665 0.5 --0.0684451 0.117201 0.0519481 0.495632 0.461504 --0.0693915 0.117164 0.0523368 0.520159 0.5 --0.0528554 0.116872 0.0339893 0.633297 0.5 -0.0253964 0.0981715 0.0439168 0.651787 0.5 --0.0608025 0.132515 0.0384279 0.631049 0.5 -0.00992987 0.0806149 0.0548353 0.479978 0.5 -0.010878 0.0806434 0.0544608 0.479604 0.476982 -0.0118445 0.0806629 0.0540991 0.571484 0.4453 -0.0129121 0.0806948 0.0538726 0.560614 0.455083 -0.0139994 0.0807368 0.0537041 0.570742 0.5 -0.0150227 0.080777 0.0534508 0.464167 0.5 -0.0160357 0.0807986 0.0531419 0.471415 0.5 -0.0170456 0.0808203 0.0528345 0.482952 0.474079 -0.0180138 0.0808533 0.0524986 0.475896 0.5 -0.0189066 0.0808659 0.0520326 0.589127 0.5 -0.0197271 0.0808668 0.051456 0.614514 0.5 -0.0205921 0.0807207 0.0509473 0.664207 0.404966 -0.0214733 0.0808843 0.0504673 0.442816 0.413385 -0.0224079 0.0809035 0.0500644 0.449203 0.457898 -0.0233172 0.0809188 0.0496338 0.513096 0.429255 -0.0241695 0.0809229 0.0490966 0.523043 0.5 -0.0249548 0.0809223 0.0484627 0.663482 0.5 -0.0256741 0.0809122 0.047736 0.662109 0.5 -0.0263623 0.0808978 0.0469671 0.653165 0.5 -0.0270479 0.080882 0.0462053 0.654839 0.5 -0.02777 0.0808734 0.0454779 0.63781 0.5 -0.028524 0.0808687 0.0448153 0.629458 0.5 -0.0293569 0.0808765 0.0442663 0.604394 0.5 -0.0302023 0.0808798 0.0437374 0.60773 0.436475 -0.0310862 0.0808926 0.0432566 0.605777 0.5 -0.0319146 0.0808971 0.042698 0.607446 0.5 -0.0327323 0.0809002 0.0421262 0.602612 0.5 -0.0334855 0.0808915 0.0414362 0.602535 0.5 -0.0342014 0.0808856 0.0407312 0.624131 0.5 -0.0348585 0.0808647 0.0399076 0.644545 0.5 -0.0354622 0.0808406 0.0390375 0.647427 0.5 -0.03603 0.0808066 0.0380541 0.657101 0.390722 -0.0366921 0.0807912 0.0372758 0.677252 0.5 -0.0374146 0.0807844 0.0365828 0.681889 0.5 -0.0381262 0.080772 0.035847 0.687037 0.5 -0.0388076 0.0807597 0.0350812 0.686672 0.5 -0.0394316 0.0807401 0.0342345 0.6891 0.5 -0.0399613 0.0806226 0.0334139 0.6765 0.423351 -0.0406295 0.0806796 0.0323988 0.661217 0.5 -0.0411698 0.0806497 0.0314486 0.655941 0.424218 -0.0416487 0.0806113 0.0304012 0.63553 0.5 -0.0421516 0.0805501 0.0292856 0.61829 0.5 -0.0426825 0.0805137 0.0283126 0.614524 0.5 -0.0432388 0.0804742 0.027354 0.612187 0.413072 -0.0437773 0.0804492 0.0262342 0.608473 0.409617 -0.0442212 0.0804374 0.0252067 0.605408 0.5 -0.044682 0.0804275 0.0241291 0.604256 0.5 -0.0451439 0.0802684 0.0230283 0.601475 0.480065 -0.0455148 0.0801982 0.0216904 0.58644 0.477931 -0.0458285 0.0801218 0.0204223 0.564141 0.478062 -0.0460177 0.0800284 0.0189631 0.46528 0.5 -0.00612795 0.107304 -0.0203065 0.792235 0.5 --0.0314363 0.171254 -0.00518552 0.644065 0.5 -0.0359645 0.0981106 0.0346243 0.730219 0.5 -0.0365334 0.0980835 0.033685 0.72896 0.5 -0.0372061 0.0980869 0.0328651 0.734378 0.5 -0.0378754 0.0980648 0.0320906 0.727293 0.5 --0.0262192 0.162456 -0.00472466 0.628388 0.5 -0.0315208 0.0994913 0.038731 0.719643 0.5 -0.0340782 0.100772 0.035418 0.7279 0.5 -0.0385436 0.103322 0.0277283 0.64253 0.5 -0.0320171 0.111398 0.0306261 0.717295 0.5 --0.0302069 0.174221 -0.00514504 0.552416 0.5 --0.0301141 0.166809 -0.00684471 0.581271 0.5 --0.023191 0.178657 -0.0125853 0.677828 0.5 --0.00992934 0.166943 -0.0180552 0.272667 0.5 --0.06629 0.139698 0.0427919 0.704946 0.5 --0.0669079 0.139705 0.0437201 0.71467 0.5 --0.05391 0.13392 0.032587 0.723328 0.5 --0.0546568 0.133929 0.033262 0.698637 0.5 --0.0623017 0.163119 -0.0425932 0.414599 0.5 -0.0326456 0.111384 0.0297678 0.705164 0.5 -0.0332874 0.111381 0.0289227 0.688973 0.5 -0.033894 0.111352 0.0280456 0.667738 0.5 -0.0213206 0.103387 0.0432887 0.521223 0.5 --0.0553875 0.143884 0.0305002 0.525485 0.5 -0.032332 0.110047 0.0311032 0.722806 0.5 --0.027189 0.162441 -0.00437298 0.628916 0.5 --0.0667548 0.115724 0.0491405 0.321444 0.5 --0.0624218 0.113827 0.0376933 0.449853 0.5 --0.0668542 0.114225 0.0472279 0.231538 0.5 -0.0255211 0.116701 0.0317994 0.663213 0.5 --0.0655655 0.115703 0.0473772 0.296503 0.440194 --0.0359664 0.162375 -0.00125909 0.537364 0.5 --0.0623926 0.155248 -0.0336012 0.833452 0.5 -0.0448999 0.0861351 0.000186186 0.567183 0.5 -0.0413096 0.0957202 -0.00478826 0.535815 0.482768 --0.0657925 0.14111 0.0417765 0.667259 0.5 -0.0408211 0.10424 0.0171662 0.700193 0.5 --0.0369817 0.156591 0.00432745 0.672238 0.5 --0.0177948 0.161129 -0.00657359 0.341863 0.5 --0.0932761 0.122751 0.0112823 0.610425 0.5 --0.0196064 0.177176 -0.0161969 0.675008 0.5 --0.019553 0.163976 -0.00913576 0.496969 0.5 -0.02054 0.116646 0.0351499 0.535801 0.5 -0.0419877 0.102851 0.0121565 0.700235 0.5 --0.0537032 0.140954 0.0276054 0.540156 0.5 --0.0513643 0.132495 0.031006 0.731486 0.5 --0.057003 0.128342 0.0386502 0.705626 0.5 -0.0414492 0.10286 0.0161642 0.711129 0.5 --0.0347085 0.169768 -0.00115359 0.644912 0.5 -0.043448 0.0916342 -0.00278755 0.563819 0.427244 --0.0607789 0.121227 0.0419471 0.531493 0.48275 --0.0806197 0.114932 0.047462 0.66926 0.5 --0.048265 0.136372 0.0159973 0.746463 0.5 --0.050492 0.149246 0.012837 0.544675 0.5 --0.0480399 0.136313 0.0145941 0.744219 0.5 --0.0693797 0.128452 0.0506772 0.595543 0.5 --0.0509981 0.147813 0.0138388 0.543255 0.5 --0.0409256 0.153594 0.00561766 0.625701 0.423588 -0.026251 0.103389 0.0398709 0.686306 0.5 --0.062851 0.116991 0.0425454 0.484293 0.5 --0.0624013 0.116928 0.041368 0.435154 0.5 --0.00990791 0.168128 -0.0187599 0.392282 0.5 --0.0574019 0.116942 0.0379675 0.697941 0.5 --0.0565657 0.11693 0.0374284 0.651981 0.5 --0.064655 0.115706 0.0452756 0.302933 0.5 -0.00698645 0.0818884 0.0558396 0.508744 0.479758 -0.00799401 0.0819204 0.0555296 0.507207 0.474147 -0.00894357 0.0819404 0.0551438 0.49568 0.5 -0.00990951 0.0819581 0.0548044 0.48911 0.46438 -0.0108109 0.0819726 0.0543646 0.473726 0.5 -0.0116998 0.0819851 0.0538895 0.390669 0.468325 -0.0126468 0.0820043 0.0535026 0.539095 0.468801 -0.0136708 0.0820393 0.0532361 0.544845 0.5 -0.0146913 0.0820798 0.0529703 0.567008 0.43068 -0.0157074 0.0821031 0.0526782 0.575924 0.5 -0.0167269 0.0821369 0.052401 0.481442 0.5 -0.0177377 0.0821568 0.0520978 0.490493 0.47673 -0.0186318 0.0821747 0.0516425 0.491382 0.47673 -0.0195225 0.0821843 0.0511684 0.50475 0.5 -0.020479 0.0822082 0.0508036 0.52131 0.392394 -0.0214495 0.0822346 0.0504578 0.453985 0.5 -0.0223756 0.0822421 0.0500191 0.517769 0.5 -0.0232238 0.0822541 0.0494986 0.516401 0.48476 -0.0240603 0.0822578 0.0489414 0.65065 0.5 -0.0248435 0.0822524 0.0483141 0.678339 0.5 -0.025553 0.0822419 0.0475803 0.668043 0.5 -0.026308 0.0822369 0.0469135 0.666392 0.5 -0.0270529 0.0822264 0.0462092 0.646804 0.5 -0.0277791 0.0822205 0.0455159 0.634689 0.447129 -0.0284244 0.0822003 0.0446831 0.618595 0.5 -0.0291993 0.0821983 0.0440432 0.584939 0.5 -0.0300675 0.0822073 0.0435477 0.569908 0.5 -0.0309512 0.0822193 0.0430727 0.567422 0.5 -0.0318377 0.0822312 0.0425933 0.576801 0.5 -0.03264 0.0822319 0.0419892 0.577938 0.5 -0.033406 0.0822268 0.04133 0.576818 0.5 -0.03413 0.0822192 0.0406334 0.600967 0.5 -0.0347852 0.0821986 0.0398055 0.636584 0.5 -0.0353694 0.082169 0.0388786 0.659264 0.5 -0.0359801 0.0821479 0.0380155 0.673176 0.387579 -0.0366613 0.0821332 0.0372523 0.687414 0.5 -0.0373859 0.082128 0.0365587 0.691417 0.429141 -0.0380671 0.0821074 0.0357563 0.702253 0.5 -0.0387814 0.0821002 0.0350599 0.70292 0.5 -0.0394621 0.0820907 0.0342997 0.703528 0.420327 -0.0400834 0.082061 0.0334038 0.689855 0.5 -0.0406549 0.0820323 0.0324674 0.674556 0.5 -0.041166 0.0819934 0.0314416 0.656814 0.424398 -0.0416732 0.0819555 0.0304093 0.641164 0.5 -0.042201 0.0819186 0.0294354 0.633508 0.5 -0.0427673 0.0818692 0.0284169 0.615731 0.5 -0.0433132 0.0818321 0.0274518 0.60347 0.5 -0.0438502 0.081834 0.0262681 0.591239 0.5 -0.0237088 0.0942271 0.0467477 0.449799 0.5 -0.0413648 0.0939401 0.0283252 0.663131 0.5 --0.0752504 0.177839 -0.0529463 0.277447 0.5 -0.0153592 0.0953434 0.0487033 0.445146 0.477058 --0.0520342 0.116871 0.0334143 0.925778 0.5 --0.0900898 0.119956 0.00430245 0.444282 0.463286 -0.030344 0.1101 0.0335023 0.715522 0.5 --0.0398973 0.160894 0.00183362 0.87467 0.5 --0.0654403 0.114174 0.0440564 0.245533 0.5 --0.031704 0.172718 -0.00384226 0.573213 0.5 -0.0336533 0.110026 0.0294894 0.708561 0.5 --0.0466991 0.122484 0.0270727 0.693162 0.5 -0.023814 0.119372 0.031074 0.624162 0.5 -0.0321818 0.0994934 0.0379171 0.727866 0.5 -0.033357 0.100796 0.0361067 0.730717 0.5 -0.0420206 0.092566 0.0274869 0.652549 0.447836 -0.0345089 0.111329 0.0271807 0.647529 0.5 -0.022982 0.114019 0.0351746 0.635687 0.5 --0.0275254 0.1668 -0.00838328 0.604338 0.5 --0.0444883 0.150664 0.00744383 0.701519 0.5 --0.0681226 0.115765 0.0506532 0.393841 0.5 --0.0675712 0.139722 0.0445155 0.696033 0.5 --0.0532046 0.133931 0.0318349 0.725929 0.5 -0.0369028 0.0954111 -0.0108822 0.729473 0.5 -0.0425779 0.0929869 -0.00379718 0.584831 0.5 -0.0459145 0.0862168 0.00717824 0.573673 0.42524 -0.0356112 0.0942094 0.0375896 0.72858 0.5 -0.0349485 0.0942163 0.0384062 0.731873 0.5 --0.0451092 0.153606 0.00834539 0.539451 0.5 -0.0214 0.116687 0.0346491 0.531558 0.5 --0.0832913 0.0938266 -0.00556456 0.592061 0.5 --0.0237994 0.178657 -0.0117033 0.589029 0.5 --0.0417663 0.162365 0.00442786 0.530068 0.474603 --0.0607717 0.113836 0.03657 0.775308 0.5 --0.0616758 0.113831 0.0370124 0.511122 0.5 --0.0674289 0.114212 0.0481237 0.285894 0.5 -0.0217345 0.0994968 0.0456553 0.437629 0.5 --0.0326318 0.168236 -0.00522072 0.566488 0.47088 -0.0231488 0.116662 0.0336476 0.663825 0.5 --0.0624191 0.163107 -0.0445959 0.418716 0.454475 --0.0901544 0.148798 0.0121684 0.379128 0.5 --0.0582078 0.148218 0.0334722 0.546116 0.450401 --0.0663625 0.141125 0.0427387 0.667157 0.5 --0.0659446 0.146784 0.0398667 0.6398 0.5 --0.0360977 0.156596 0.00383263 0.661845 0.5 --0.03739 0.165304 0.000185179 0.623799 0.5 --0.0629277 0.161435 -0.0535909 0.593627 0.5 --0.0188551 0.177186 -0.0168879 0.688689 0.5 --0.0185844 0.16399 -0.00948536 0.414527 0.5 -0.0308134 0.104771 0.0359398 0.71711 0.5 --0.0233106 0.15969 -0.00223977 0.352549 0.431957 -0.025787 0.114054 0.0339562 0.543363 0.5 -0.0239825 0.114006 0.0348506 0.525024 0.484544 --0.0630684 0.138136 0.036884 0.666262 0.5 -0.0419002 0.102864 0.0131587 0.704943 0.5 --0.0311093 0.169745 -0.00652433 0.733795 0.5 -0.0445386 0.0917351 0.000179816 0.526746 0.478284 --0.0615042 0.121243 0.0426924 0.525076 0.476028 -0.0456475 0.0890064 0.00517807 0.526482 0.42183 -0.0250825 0.10872 0.0381638 0.512562 0.46895 --0.0584166 0.126929 0.0401124 0.663315 0.419655 --0.0575286 0.126935 0.0396404 0.674496 0.418435 --0.0566945 0.126945 0.0390945 0.690453 0.5 --0.0559448 0.126938 0.0384169 0.711531 0.5 --0.0278327 0.179989 -0.0150111 0.381754 0.5 -0.0226208 0.102094 0.0434114 0.525977 0.5 --0.0140602 0.172758 -0.0187663 0.55982 0.5 --0.0631576 0.119928 0.0457283 0.552522 0.416863 --0.0197554 0.158352 -0.00754965 0.190398 0.5 --0.0148886 0.169807 -0.0164639 0.515974 0.447348 -0.0259904 0.108758 0.0377477 0.526182 0.475582 -0.00620145 0.0832401 0.0564613 0.500943 0.446278 -0.00716038 0.0832586 0.0561062 0.505749 0.5 -0.00817319 0.0832888 0.0558122 0.499306 0.465899 -0.00912223 0.0833108 0.0554277 0.481447 0.5 -0.0100166 0.0833203 0.0549696 0.482574 0.5 -0.0109129 0.0833325 0.0545132 0.468361 0.5 -0.0117318 0.0833298 0.0539432 0.393016 0.45547 -0.0125192 0.0833344 0.053329 0.457745 0.485017 -0.0134353 0.0833572 0.0528968 0.549006 0.468046 -0.014411 0.0833733 0.0525453 0.704092 0.5 -0.0154254 0.0834009 0.0522607 0.726507 0.5 -0.0163998 0.0834424 0.0519345 0.57353 0.5 -0.0174045 0.0834609 0.0516215 0.482257 0.5 -0.0269837 0.108749 0.0374141 0.626351 0.5 -0.0193158 0.0835035 0.0508805 0.519402 0.44685 -0.0203307 0.08353 0.050588 0.527003 0.390818 -0.0213023 0.0835644 0.0502546 0.434009 0.484236 -0.022246 0.0835763 0.0498509 0.609508 0.5 -0.0231289 0.0835821 0.0493611 0.633128 0.5 -0.0239145 0.0835849 0.0487444 0.638843 0.5 -0.0246944 0.0835826 0.0481083 0.653968 0.5 -0.0254329 0.0835701 0.0474102 0.681329 0.5 -0.0262875 0.0835737 0.0468767 0.665452 0.340429 -0.0271048 0.0835778 0.0462962 0.618959 0.449147 -0.0277963 0.0835666 0.045536 0.598221 0.5 -0.0284181 0.0835438 0.0446794 0.569912 0.5 -0.0289959 0.083514 0.0437755 0.5608 0.5 -0.0298569 0.0835122 0.0432289 0.560619 0.447588 -0.030827 0.0835413 0.0428747 0.539604 0.437013 -0.0317594 0.0835691 0.0424885 0.515985 0.476202 -0.032603 0.0835706 0.0419526 0.658933 0.5 -0.0333657 0.0835669 0.0412915 0.662724 0.5 -0.0340507 0.0835544 0.0405264 0.557299 0.5 -0.0347443 0.08354 0.0397721 0.589513 0.5 -0.0353453 0.0835128 0.0388598 0.621253 0.5 -0.0359903 0.0834983 0.0380665 0.66048 0.5 -0.0366379 0.08347 0.0371909 0.683522 0.5 -0.0373474 0.083464 0.036489 0.701704 0.5 -0.0380556 0.0834519 0.0357476 0.703151 0.5 -0.0387649 0.0834441 0.0350467 0.707612 0.5 -0.0394335 0.0834241 0.0342316 0.713689 0.5 -0.0400441 0.0834026 0.0333734 0.708341 0.5 -0.0406313 0.0833746 0.032449 0.681285 0.411637 -0.0411666 0.0833385 0.031438 0.654552 0.412922 -0.0416569 0.0832977 0.0303966 0.646886 0.5 -0.0421796 0.0832522 0.0293553 0.645574 0.5 -0.0427502 0.0832247 0.0284671 0.637609 0.5 -0.0433147 0.0831895 0.0275132 0.61702 0.5 -0.0438316 0.0832073 0.0263179 0.485573 0.459118 -0.0227584 0.0942129 0.0471436 0.447559 0.465231 -0.0418909 0.0939077 0.0272858 0.643018 0.454215 -0.046015 0.0862238 0.00817489 0.5879 0.5 -0.0162383 0.0953367 0.0482094 0.677333 0.5 -0.0376746 0.104662 0.0282621 0.665064 0.5 --0.0533361 0.138123 0.0280776 0.610488 0.5 -0.0310154 0.110075 0.0327245 0.725188 0.5 -0.0232354 0.0968772 0.0460698 0.464601 0.5 -0.0241216 0.0968854 0.045587 0.473436 0.5 -0.0249428 0.0968855 0.0450153 0.600572 0.5 -0.038172 0.0967289 0.0325586 0.727677 0.5 -0.0313864 0.0929268 0.0420114 0.636661 0.5 --0.05283 0.138085 0.0270749 0.585967 0.5 -0.032953 0.0994589 0.0373001 0.725079 0.5 -0.032601 0.100801 0.0367685 0.734393 0.5 --0.0788405 0.11444 0.0481937 0.683568 0.5 -0.0396829 0.102719 -0.00275708 0.597104 0.424203 -0.0246022 0.0942401 0.0462765 0.564426 0.5 --0.02118 0.169768 -0.013264 0.636854 0.457983 --0.0257335 0.166803 -0.00931015 0.625713 0.464131 --0.0938957 0.124187 0.0252761 0.552665 0.5 -0.0316126 0.104759 0.0353509 0.72734 0.5 --0.0683005 0.139737 0.0452157 0.665543 0.5 --0.0525174 0.133925 0.0310668 0.718166 0.5 --0.0626054 0.158425 -0.0185846 0.403611 0.409971 --0.0257594 0.171231 -0.0110774 0.628279 0.5 --0.0562403 0.128346 0.0379943 0.717267 0.5 --0.0462534 0.123907 0.0259058 0.566856 0.5 --0.0456346 0.123874 0.0250844 0.526589 0.5 -0.0447631 0.0931576 0.00318223 0.572114 0.5 -0.0278197 0.108769 0.0368873 0.652192 0.5 -0.0285939 0.108783 0.0362583 0.676091 0.5 -0.0323738 0.104756 0.0346971 0.722331 0.5 --0.0210306 0.180146 -0.0147237 0.546827 0.482954 --0.0651094 0.121429 0.0498115 0.652049 0.5 --0.0707473 0.127025 0.0521985 0.671467 0.5 -0.0293349 0.108769 0.0355782 0.693208 0.5 --0.0669203 0.110822 0.0381745 0.334525 0.5 --0.0221399 0.16826 -0.0191908 0.821267 0.5 --0.0763629 0.108471 -0.00759882 0.603103 0.5 --0.0613807 0.122656 0.0428396 0.5704 0.5 --0.0624931 0.153672 -0.0316068 0.506765 0.483425 -0.040773 0.0858024 -0.0107788 0.638327 0.448309 --0.0485787 0.153602 0.0103738 0.617293 0.5 --0.0651932 0.141087 0.0409428 0.65645 0.5 -0.0300323 0.108764 0.0348296 0.719072 0.5 --0.0352518 0.156597 0.00331287 0.623337 0.5 --0.037944 0.165312 0.00115508 0.618198 0.5 --0.0122139 0.169818 -0.0178463 0.428628 0.5 --0.0180623 0.177182 -0.017491 0.708503 0.5 --0.024023 0.17718 -0.0120308 0.723476 0.5 -0.0307322 0.108762 0.0340805 0.716537 0.5 -0.02524 0.115374 0.03316 0.670873 0.428562 -0.0313941 0.108732 0.0332945 0.71451 0.5 -0.0248886 0.114037 0.0344109 0.536853 0.446482 --0.0529076 0.136719 0.0287121 0.651125 0.5 -0.0319993 0.108737 0.0323781 0.724482 0.5 --0.0186551 0.184576 -0.0164922 0.375398 0.5 --0.019368 0.183116 -0.0157888 0.379414 0.5 --0.0620569 0.121268 0.0436785 0.548618 0.384431 --0.0220003 0.181634 -0.0125756 0.46103 0.5 --0.0298186 0.154044 -0.00457012 0.21502 0.5 -0.0326521 0.108705 0.0315863 0.726857 0.5 -0.0333249 0.108715 0.0307644 0.723664 0.5 --0.0176367 0.181628 -0.0186063 0.619313 0.5 --0.0552688 0.126926 0.0376418 0.703294 0.5 --0.0647364 0.118589 0.0486106 0.5988 0.5 --0.0652697 0.118619 0.0495916 0.490273 0.478387 --0.0642519 0.118577 0.0476092 0.594558 0.407809 --0.0637803 0.118542 0.0465326 0.624077 0.5 --0.0634166 0.118511 0.0453283 0.62093 0.425901 --0.0625131 0.11843 0.0430565 0.568509 0.5 -0.0340202 0.108707 0.0300072 0.710435 0.5 -0.0346979 0.108688 0.0292348 0.69426 0.5 -0.00731658 0.0846292 0.0563131 0.486655 0.5 -0.00828982 0.0846467 0.0559983 0.489456 0.5 -0.00924009 0.0846665 0.0556174 0.40492 0.476995 -0.0101261 0.0846794 0.0551401 0.415775 0.446741 -0.0110129 0.0846936 0.0546683 0.410867 0.423219 -0.011809 0.0846857 0.0540696 0.465598 0.5 -0.0126182 0.0846922 0.0534757 0.465455 0.475443 -0.0134328 0.0846923 0.0528905 0.452015 0.465228 -0.0142478 0.0846938 0.0523116 0.46371 0.5 -0.0151781 0.0847217 0.0519158 0.58032 0.473439 -0.0161405 0.0847501 0.0515574 0.736562 0.5 -0.0170772 0.0847646 0.051153 0.47667 0.5 -0.0353212 0.108669 0.0283742 0.675913 0.5 -0.0359735 0.108741 0.0274101 0.652705 0.5 -0.0200653 0.084847 0.0502217 0.628587 0.5 -0.0210858 0.0848756 0.0499424 0.634723 0.5 -0.0220421 0.0848959 0.0495666 0.524944 0.5 -0.0228849 0.0849076 0.049031 0.526063 0.48156 -0.02366 0.0848996 0.0483924 0.643976 0.5 -0.0245051 0.0849065 0.0478503 0.661082 0.5 -0.02539 0.0849287 0.0474039 0.552508 0.433078 -0.026315 0.0849274 0.0469361 0.661416 0.5 -0.0271246 0.0849281 0.0463473 0.630453 0.5 -0.0277845 0.0849076 0.045525 0.58874 0.5 -0.0283981 0.0848865 0.0446615 0.54498 0.5 -0.0289709 0.0848578 0.043728 0.523382 0.5 -0.0298088 0.0848631 0.0431899 0.932124 0.5 -0.0307617 0.0848812 0.0428147 0.682251 0.5 -0.0317605 0.08491 0.0425067 0.68557 0.5 -0.0326379 0.0849202 0.042017 0.516226 0.5 -0.0334132 0.0849144 0.041374 0.505306 0.5 -0.0340796 0.0848941 0.0405554 0.532722 0.5 -0.0347392 0.0848817 0.0397697 0.572721 0.5 -0.0354037 0.0848596 0.0389463 0.605951 0.5 -0.0360179 0.0848402 0.038086 0.656287 0.388992 -0.0366496 0.0848209 0.0372394 0.67182 0.5 -0.0373294 0.0848074 0.0364738 0.697064 0.5 -0.0380257 0.084795 0.0357219 0.705482 0.383114 -0.0387003 0.0847793 0.034951 0.707382 0.5 -0.0393533 0.0847596 0.0341247 0.711031 0.5 -0.039991 0.0847392 0.0332858 0.71122 0.412147 -0.0405942 0.0847142 0.0324234 0.685936 0.5 -0.0411571 0.0846831 0.0314273 0.671233 0.5 -0.0416527 0.0846461 0.030449 0.656572 0.5 -0.0421362 0.0845969 0.0293292 0.64271 0.5 -0.0427332 0.084569 0.0284544 0.639966 0.5 -0.043295 0.084533 0.027498 0.623393 0.399361 -0.0437747 0.084485 0.0264379 0.496295 0.487691 --0.0174159 0.162512 -0.00777918 0.401115 0.5 --0.0666503 0.135429 0.0440071 0.696794 0.5 -0.0387218 0.0993392 0.0297824 0.681931 0.5 -0.0452912 0.0903849 0.0031762 0.524883 0.5 --0.0776599 0.103464 0.0342449 0.649334 0.5 --0.0893403 0.0983511 0.0184032 0.661403 0.5 --0.0503963 0.1183 0.0322871 0.898999 0.5 --0.0616651 0.119834 0.0424717 0.629552 0.5 --0.0634966 0.109514 0.0378318 0.507157 0.5 --0.0379377 0.157973 0.00463177 0.5021 0.5 -0.0367923 0.0967547 0.0340658 0.721327 0.5 --0.00287196 0.105931 -0.0223953 0.780362 0.5 --0.0541404 0.124102 0.0375109 0.573201 0.5 -0.0336937 0.0994802 0.0365924 0.728235 0.5 -0.024692 0.100819 0.0429025 0.679254 0.5 -0.0254608 0.100767 0.0422505 0.731198 0.5 -0.0333218 0.0981688 0.0378146 0.731226 0.5 -0.0451301 0.0903696 0.00218472 0.518344 0.459555 -0.0278762 0.0942373 0.043974 0.658764 0.5 -0.0365536 0.108655 0.0265769 0.535133 0.473313 --0.0247835 0.166781 -0.00970724 0.5118 0.5 --0.0888827 0.140531 0.0122011 0.445522 0.380153 -0.0330435 0.104766 0.033885 0.719009 0.5 --0.069034 0.139725 0.045939 0.644373 0.5 -0.045282 0.0889737 0.0021781 0.48804 0.5 --0.061193 0.167783 -0.0585846 0.470637 0.316526 --0.024103 0.171237 -0.0122056 0.659743 0.5 --0.0501776 0.124028 0.032677 0.627443 0.5 --0.0495852 0.124005 0.0317323 0.594922 0.401211 --0.0284035 0.166813 -0.0078902 0.599476 0.5 --0.0569157 0.131148 0.0370227 0.662986 0.5 --0.0225729 0.172715 -0.0135004 0.668195 0.5 --0.0740765 0.0662649 0.0182774 0.706894 0.5 -0.0337121 0.104741 0.0331059 0.718463 0.5 --0.0664425 0.121454 0.0513831 0.612058 0.5 --0.0657333 0.121445 0.0506733 0.626963 0.5 --0.0116602 0.168404 -0.0170453 0.462839 0.5 -0.0442558 0.0917077 -0.00080891 0.543482 0.5 --0.0266384 0.166791 -0.00886205 0.623233 0.5 --0.0673634 0.110954 0.0392365 0.30234 0.5 -0.00812544 0.105869 -0.0206053 0.600523 0.5 --0.0304968 0.172715 -0.00561384 0.657708 0.5 -0.0284295 0.0955564 0.0430179 0.701918 0.5 --0.0659181 0.10388 -0.0158661 0.578422 0.5 -0.0442177 0.0860807 -0.00279659 0.465235 0.5 --0.0261346 0.168251 -0.00989215 0.626617 0.5 --0.0634479 0.141036 0.0381413 0.590961 0.5 --0.0514307 0.12406 0.0344067 0.544696 0.5 --0.0327087 0.156604 0.00170747 0.487623 0.5 --0.0385753 0.165326 0.00202421 0.63731 0.5 --0.020486 0.18455 -0.0138786 0.290258 0.5 --0.0172908 0.177187 -0.018141 0.717874 0.5 --0.0205931 0.163965 -0.00888333 0.505293 0.5 --0.0691207 0.112747 0.0474107 0.396421 0.5 -0.0321816 0.0968615 0.0396789 0.729209 0.5 -0.0447686 0.0889311 -0.000811854 0.586038 0.457181 -0.0411659 0.0952708 0.0280268 0.664941 0.5 --0.0660809 0.135405 0.0431027 0.690197 0.411127 --0.0502228 0.125461 0.0326401 0.563116 0.417045 --0.0329481 0.169751 -0.00390259 0.662116 0.5 -0.0392898 0.0993144 0.028831 0.662356 0.5 --0.0135146 0.181607 -0.0231689 0.581343 0.5 --0.0407211 0.150643 0.00408479 0.433316 0.5 --0.0152136 0.174214 -0.0186712 0.712815 0.5 -0.0381951 0.102007 0.0289909 0.688393 0.5 --0.0434333 0.15941 0.00551467 0.520652 0.443011 --0.0320296 0.171249 -0.00429305 0.659211 0.5 --0.0610188 0.119808 0.0416066 0.624355 0.5 --0.056455 0.12554 0.0394323 0.65704 0.5 --0.0265916 0.172718 -0.0105089 0.635862 0.5 --0.0269838 0.158131 -0.000540227 0.363224 0.400604 --0.0359122 0.158048 0.00410154 0.434919 0.5 --0.0464636 0.157957 0.00818306 0.512632 0.479676 -0.0383322 0.0928141 0.0344469 0.71253 0.5 -0.038476 0.104075 -0.00282883 0.597619 0.456894 --0.025021 0.178659 -0.00994683 0.55564 0.5 -0.0326792 0.103442 0.0351236 0.728216 0.5 -0.00828387 0.0859903 0.0560092 0.402055 0.482328 -0.00922789 0.0860105 0.0556146 0.400814 0.477179 -0.0101565 0.0860282 0.0551829 0.402884 0.462939 -0.0110199 0.0860342 0.0546992 0.40957 0.451767 -0.0119151 0.0860485 0.0542349 0.479039 0.478239 -0.0127323 0.0860509 0.0536553 0.461559 0.477881 -0.0135127 0.0860479 0.0530247 0.468456 0.5 -0.0142472 0.0860448 0.0523279 0.471886 0.48132 -0.0151023 0.0860518 0.0518047 0.478157 0.39126 -0.0159863 0.0860656 0.0513294 0.489699 0.5 -0.016819 0.0860765 0.050782 0.593803 0.425482 -0.0431463 0.100109 0.00616795 0.563588 0.470444 -0.0255132 0.110081 0.0370706 0.511307 0.482387 --0.0639988 0.121381 0.0479339 0.62216 0.5 -0.0208066 0.08618 0.0495337 0.587841 0.5 -0.0217652 0.0862022 0.0491664 0.499709 0.5 -0.022652 0.0862116 0.0486888 0.51626 0.468061 -0.0235632 0.0862591 0.0483322 0.539865 0.389736 -0.0245364 0.0862451 0.0478999 0.539434 0.36766 -0.0254315 0.0862638 0.0474376 0.539883 0.5 -0.026296 0.0862676 0.0469202 0.636264 0.5 -0.0270421 0.0862601 0.0462384 0.643021 0.5 -0.0276821 0.0862408 0.0453967 0.58425 0.5 -0.0282773 0.0862159 0.0445154 0.540345 0.5 -0.02895 0.086199 0.0437135 0.64532 0.5 -0.0298019 0.0862025 0.0431971 0.948814 0.5 -0.0308141 0.0862286 0.0429136 0.680712 0.5 -0.0318663 0.0862689 0.0426688 0.702316 0.5 -0.0327708 0.0862789 0.0422215 0.638338 0.5 -0.0335588 0.0862851 0.0416032 0.641226 0.5 -0.0342152 0.0862629 0.0407864 0.521676 0.5 -0.034843 0.0862437 0.0399362 0.557759 0.464133 -0.0354707 0.0862229 0.039086 0.593383 0.5 -0.0360644 0.0861926 0.0381664 0.643327 0.5 -0.0366768 0.0861722 0.0373065 0.66607 0.5 -0.0373244 0.0861524 0.0364715 0.689667 0.5 -0.037986 0.0861315 0.0356473 0.705249 0.5 -0.0386471 0.086118 0.0348681 0.711283 0.5 -0.0392931 0.086096 0.0340337 0.709148 0.5 -0.0399369 0.0860773 0.0331939 0.706756 0.5 -0.040546 0.0860518 0.0323351 0.704914 0.5 -0.0410852 0.0860175 0.0313838 0.689169 0.421383 -0.0415957 0.0859827 0.0303559 0.667656 0.5 -0.0420715 0.0859357 0.0292923 0.655655 0.438108 -0.0426426 0.0858997 0.0283401 0.639294 0.5 -0.0432125 0.0858656 0.0273897 0.624743 0.456371 -0.0436775 0.0859385 0.0262014 0.612064 0.5 --0.0252491 0.162472 -0.00507229 0.589825 0.5 --0.0517798 0.115481 0.0337859 0.638379 0.5 -0.0280677 0.100848 0.0407486 0.683542 0.5 -0.00462528 0.109546 0.0419595 0.613315 0.40326 --0.0572883 0.132547 0.0364836 0.632581 0.5 --0.0545051 0.119806 0.0369329 0.580671 0.5 --0.0569887 0.118401 0.0385929 0.541111 0.5 -0.022545 0.0955327 0.0468247 0.452926 0.472945 -0.0359993 0.0955223 0.036379 0.725446 0.5 -0.0447287 0.0917385 0.00119217 0.529007 0.5 -0.0374765 0.0967619 0.0332563 0.740945 0.5 --0.0788357 0.148682 -0.00186858 0.742569 0.5 --0.0690033 0.127063 0.0512206 0.566523 0.5 -0.0344187 0.0994578 0.0359067 0.735487 0.5 -0.0363106 0.0994119 0.033375 0.732078 0.5 -0.0238643 0.100811 0.0434608 0.639045 0.5 --0.0395514 0.159448 0.00235113 0.604052 0.5 --0.0682257 0.127075 0.0505767 0.587459 0.5 --0.0391909 0.150688 0.00279786 0.387417 0.5 --0.0109096 0.172768 -0.0212178 0.613306 0.5 --0.022958 0.166842 -0.0105567 0.505567 0.5 -0.0296006 0.0982071 0.041203 0.714831 0.5 -0.0343704 0.104711 0.0323207 0.719961 0.5 --0.0698527 0.139727 0.0465118 0.633172 0.5 -0.0450967 0.0889619 0.00117113 0.470736 0.5 --0.0511173 0.128308 0.0330935 0.680957 0.5 --0.0684868 0.135467 0.0467048 0.706902 0.5 --0.0589296 0.1241 0.041105 0.504077 0.411633 --0.0355709 0.168274 -0.000671324 0.626455 0.5 --0.0372423 0.152141 0.00211029 0.428839 0.5 --0.0580097 0.136726 0.0336791 0.571465 0.5 -0.0303852 0.098223 0.0405823 0.729182 0.5 --0.0680972 0.121444 0.0525081 0.573607 0.5 --0.0672887 0.121448 0.0519139 0.591258 0.5 --0.0234801 0.168298 -0.011313 0.636847 0.5 -0.026474 0.110098 0.0367031 0.502413 0.5 -0.0369819 0.102039 0.0307859 0.716911 0.5 --0.051716 0.150726 0.0145842 0.61842 0.5 --0.0302445 0.16108 -0.00171322 0.579795 0.5 --0.0663379 0.132604 0.0444522 0.71379 0.5 -0.0253164 0.112728 0.0350367 0.530495 0.432049 -0.0271768 0.112761 0.0342135 0.552181 0.418855 --0.0659605 0.110851 0.0377691 0.429344 0.5 --0.0437406 0.150663 0.00676805 0.646596 0.5 --0.0896534 0.0983503 0.0154045 0.611665 0.463333 -0.0446953 0.0861142 -0.000824781 0.545284 0.5 --0.0188762 0.171241 -0.0152046 0.65863 0.446977 --0.0627733 0.141026 0.037362 0.719373 0.5 -0.0217763 0.115313 0.0351727 0.64213 0.5 --0.0318141 0.156607 0.00124178 0.470236 0.423192 --0.0392482 0.165334 0.00281642 0.695949 0.5 --0.0174749 0.184587 -0.0183292 0.415587 0.5 --0.0165017 0.177176 -0.0187481 0.723863 0.5 --0.0215027 0.163915 -0.00845889 0.527327 0.484351 --0.0253167 0.177183 -0.0103739 0.689317 0.5 -0.0314182 0.0968966 0.040312 0.732268 0.5 -0.0192377 0.117984 0.0350388 0.607608 0.5 --0.0520794 0.132523 0.0317044 0.737116 0.5 --0.0742583 0.12978 0.0523998 0.575998 0.450725 --0.0509023 0.125469 0.0333647 0.589573 0.5 --0.0591308 0.125513 0.0408421 0.63487 0.41306 -0.0360463 0.0953891 -0.0118379 0.728136 0.5 -0.0287151 0.0982016 0.0416756 0.703006 0.422367 --0.0427202 0.152139 0.00651185 0.655906 0.5 --0.0435275 0.152141 0.00710463 0.664081 0.5 --0.0557053 0.132552 0.0352577 0.661006 0.5 --0.0295434 0.168268 -0.00777595 0.594055 0.5 --0.0529585 0.135327 0.0304274 0.703009 0.5 -0.044663 0.094574 0.0141596 0.5534 0.431942 --0.053643 0.135335 0.0311995 0.719217 0.5 --0.0543474 0.135324 0.0319505 0.706218 0.5 --0.0607049 0.145387 0.0368926 0.591969 0.407938 --0.0657248 0.120041 0.0506761 0.559952 0.5 --0.0671254 0.128435 0.0486555 0.707462 0.5 --0.0664402 0.128427 0.0478848 0.714566 0.5 --0.064581 0.128354 0.0453237 0.714789 0.5 -0.0388816 0.0927717 0.0335536 0.714931 0.5 --0.0209835 0.159643 -0.00415092 0.377721 0.5 -0.0350121 0.104701 0.0314746 0.719612 0.5 -0.00913683 0.0873343 0.0554698 0.452985 0.5 -0.0100793 0.0873522 0.0550703 0.46366 0.5 -0.0110023 0.0872551 0.0546654 0.43891 0.396491 -0.0119513 0.0873992 0.0542929 0.47372 0.5 -0.0127955 0.0874066 0.0537621 0.477905 0.5 -0.0135801 0.0874029 0.0531363 0.599118 0.5 -0.0142802 0.0873929 0.0523851 0.579646 0.5 -0.0150914 0.0873948 0.0517971 0.598165 0.438363 -0.0159587 0.0874032 0.0512942 0.496143 0.5 -0.0167493 0.0874098 0.0506847 0.573229 0.5 -0.0174898 0.0874014 0.0499964 0.69316 0.5 -0.0183745 0.0874107 0.0495162 0.685664 0.5 --0.0580888 0.115436 0.0369297 0.653439 0.5 --0.0668807 0.112599 0.0436137 0.249774 0.5 -0.0216294 0.0875507 0.0490393 0.491626 0.446835 -0.0226438 0.0875613 0.0487078 0.505851 0.441793 -0.0235949 0.0875751 0.0483132 0.520197 0.5 -0.0245253 0.0875975 0.0479106 0.532558 0.478984 -0.0253549 0.0875981 0.0473346 0.648178 0.5 -0.026147 0.0875952 0.0467145 0.635588 0.5 -0.0268834 0.0875842 0.0460207 0.618949 0.5 -0.0275571 0.0875682 0.0452466 0.577216 0.5 -0.0282213 0.0875505 0.0444323 0.537785 0.5 -0.0290078 0.087549 0.0438096 0.669051 0.5 -0.029848 0.0875415 0.0432926 0.677221 0.462896 -0.030847 0.0875798 0.0429743 0.547821 0.5 -0.0319159 0.0876168 0.0427503 0.687407 0.5 -0.0328487 0.0876389 0.0423414 0.678869 0.5 -0.0336134 0.0876336 0.0416906 0.533055 0.5 -0.0342709 0.0876121 0.0408726 0.552368 0.5 -0.0349072 0.0875927 0.04003 0.584764 0.5 -0.0355341 0.0875716 0.0391778 0.616083 0.455732 -0.0361469 0.0875521 0.038321 0.64406 0.443109 -0.0367284 0.0875226 0.0373878 0.65807 0.5 -0.0373285 0.0874946 0.0364747 0.687241 0.5 -0.0379656 0.0874795 0.0356781 0.705931 0.5 -0.0386176 0.0874608 0.0348475 0.706919 0.5 -0.0392263 0.0874331 0.033936 0.714086 0.5 -0.0398379 0.0874103 0.0331324 0.710406 0.5 -0.0404106 0.0873775 0.0321991 0.699973 0.5 -0.0409408 0.0873455 0.0311847 0.685123 0.5 -0.0414488 0.0873044 0.0301508 0.672612 0.390114 -0.0419641 0.0872658 0.0291034 0.668686 0.5 -0.0425127 0.0872289 0.028142 0.657513 0.5 -0.0430592 0.0871926 0.0271788 0.642 0.454587 -0.00211138 0.110155 -0.0201605 0.766242 0.5 -0.0403539 0.105584 0.00317596 0.446417 0.5 -0.0388792 0.085648 -0.0137779 0.675035 0.5 --0.0233757 0.163881 -0.00766181 0.703916 0.5 --0.0302503 0.17123 -0.00702025 0.73801 0.5 -0.0370031 0.104683 0.029035 0.68556 0.5 --0.0480529 0.15019 -0.0042011 0.525704 0.5 --0.0881957 0.146062 0.0092207 0.636247 0.5 --0.0249764 0.159657 -0.0011434 0.417482 0.394496 -0.0339652 0.0955609 0.0387182 0.725324 0.5 --0.0507271 0.115538 0.0335799 0.638595 0.5 -0.0362345 0.0967824 0.0350211 0.726199 0.412076 --0.0224128 0.163867 -0.00803238 0.710658 0.5 --0.0442602 0.153622 0.00782588 0.554273 0.423156 -0.0350885 0.099465 0.0350983 0.729276 0.5 -0.0357221 0.0994501 0.0342567 0.733689 0.5 -0.0230237 0.100791 0.0439995 0.493686 0.48395 --0.0499113 0.147776 0.0118822 0.53476 0.5 --0.0548599 0.145302 0.0295141 0.540594 0.5 -0.034236 0.094243 0.0391072 0.712019 0.5 --0.0217726 0.172729 -0.0141007 0.668714 0.5 --0.0182699 0.166848 -0.0125771 0.479155 0.485725 --0.0558038 0.116914 0.0367748 0.617124 0.5 -0.0356609 0.104701 0.030636 0.725222 0.5 -0.0392521 0.0940728 0.0323259 0.710179 0.5 -0.0417053 0.0943445 -0.00480688 0.615258 0.454551 --0.0525731 0.128311 0.0345149 0.72237 0.5 --0.0692028 0.135485 0.0474165 0.692589 0.5 --0.0606582 0.12408 0.0421371 0.632787 0.5 -0.0136813 0.0952834 0.0497668 0.472332 0.5 --0.0903261 0.135124 0.0222174 0.843394 0.5 -0.0191348 0.102061 0.0453843 0.494895 0.5 --0.0417008 0.153622 0.00625938 0.638591 0.5 --0.0362035 0.16829 0.000195359 0.640341 0.5 --0.0149394 0.183104 -0.021718 0.550928 0.5 --0.0136101 0.17129 -0.0181213 0.539559 0.5 -0.0407885 0.10564 0.00816522 0.675953 0.5 --0.0698407 0.127049 0.051763 0.684376 0.5 --0.0668335 0.143964 0.0420823 0.614394 0.5 --0.0660765 0.124251 0.0501642 0.666455 0.5 --0.0582272 0.151065 0.033498 0.433636 0.5 -0.0262713 0.112733 0.0346521 0.535701 0.5 --0.0204064 0.162527 -0.00684616 0.388206 0.5 --0.0744171 0.1312 0.052182 0.577201 0.448699 --0.0649089 0.110873 0.0375872 0.498089 0.5 --0.0126137 0.180121 -0.0236267 0.667921 0.5 --0.00531922 0.0961442 -0.0318294 0.757864 0.5 --0.0725346 0.145512 -0.0179133 0.136819 0.239158 -0.0340795 0.103399 0.0336714 0.718973 0.5 --0.0620302 0.141028 0.0366839 0.704644 0.5 --0.0740753 0.174982 -0.0510829 0.405973 0.5 --0.0309282 0.156627 0.000764301 0.370162 0.5 --0.0247742 0.180145 -0.00956802 0.433756 0.5 -0.0392299 0.108358 0.0101653 0.708478 0.5 --0.0265438 0.177186 -0.00862049 0.546176 0.5 --0.0157146 0.17719 -0.0193767 0.722963 0.5 --0.0319662 0.163855 -0.00423083 0.5828 0.46469 --0.0362769 0.163827 -0.00170672 0.553354 0.5 -0.0264379 0.0968548 0.0436578 0.677963 0.5 -0.00975279 0.123922 0.0333795 0.557294 0.5 --0.0471693 0.128157 0.0265222 0.471073 0.447175 --0.0644638 0.129733 0.0437115 0.711431 0.5 --0.063853 0.129717 0.0428324 0.712304 0.5 --0.059976 0.125502 0.0413668 0.647477 0.5 --0.0607974 0.125499 0.0419374 0.674498 0.5 --0.0615433 0.125505 0.042614 0.689152 0.5 --0.0621766 0.125515 0.0434733 0.670374 0.5 --0.0611133 0.149657 0.036321 0.448533 0.467632 -0.0412886 0.0858436 -0.00978207 0.50876 0.484037 --0.024717 0.169741 -0.0113487 0.641518 0.5 --0.0202842 0.16977 -0.0137262 0.634164 0.5 --0.0482395 0.144672 0.00644062 0.384529 0.450179 -0.04371 0.0987542 0.0111628 0.576972 0.5 --0.0555526 0.124119 0.0389742 0.613684 0.5 --0.0175612 0.186044 -0.0184493 0.335802 0.5 --0.0657008 0.139678 0.041893 0.682234 0.5 --0.052057 0.15088 0.0153954 0.641994 0.5 --0.0187348 0.175696 -0.0167204 0.706061 0.5 --0.0651714 0.128382 0.0462127 0.721478 0.5 -0.0363374 0.104678 0.0298648 0.705404 0.5 --0.0575363 0.138153 0.0326058 0.614763 0.5 -0.0399806 0.105624 0.0191716 0.56627 0.5 -0.00988218 0.0886651 0.0547874 0.473524 0.5 -0.0108129 0.0887938 0.0544498 0.495429 0.411549 -0.0118566 0.0887261 0.0541581 0.478042 0.5 -0.0127518 0.0887452 0.0537008 0.584127 0.453991 -0.0135799 0.0887495 0.0531421 0.625418 0.5 -0.0142545 0.0887312 0.0523539 0.624285 0.5 -0.0151093 0.0887421 0.0518346 0.630784 0.426818 -0.0159612 0.0887478 0.0513106 0.610117 0.432088 -0.0167127 0.0887461 0.050636 0.600442 0.5 -0.0173624 0.088714 0.0498122 0.55808 0.5 -0.018083 0.0887399 0.0491141 0.678536 0.5 --0.0672273 0.135447 0.0449702 0.710436 0.5 --0.0562382 0.115455 0.0360976 0.631186 0.5 --0.0477168 0.123954 0.0291105 0.584087 0.5 -0.0225511 0.0888829 0.0485585 0.575991 0.5 -0.0234643 0.0889079 0.0481435 0.480961 0.5 -0.0243668 0.0889213 0.0476805 0.596805 0.5 -0.0252321 0.0889244 0.0471615 0.61908 0.5 -0.0259941 0.0889184 0.046498 0.616105 0.5 -0.0267348 0.0889072 0.0458132 0.61651 0.5 -0.0274461 0.0888981 0.0450769 0.598511 0.5 -0.0281857 0.0888902 0.0443935 0.553013 0.5 -0.0289502 0.0888845 0.043761 0.700087 0.442157 -0.0298766 0.0889056 0.0433386 0.941494 0.5 -0.0309103 0.088937 0.0430941 0.476001 0.5 -0.0319575 0.0889685 0.042819 0.68766 0.5 -0.0327921 0.0889736 0.0422708 0.544258 0.5 -0.0335486 0.0889696 0.0416029 0.565036 0.5 -0.0342459 0.0889575 0.0408509 0.594897 0.5 -0.0348898 0.0889372 0.0400127 0.623815 0.5 -0.0355637 0.0889227 0.0392444 0.650906 0.5 -0.0361767 0.0888967 0.0383392 0.655972 0.5 -0.0367682 0.0888721 0.037463 0.669648 0.5 -0.037341 0.0888457 0.0365275 0.69261 0.5 -0.0379525 0.0888235 0.0356698 0.69954 0.5 -0.0385774 0.0888011 0.0348199 0.711599 0.5 -0.0391468 0.0887707 0.0338836 0.706244 0.5 -0.0397094 0.0887389 0.0329441 0.689801 0.5 -0.0402616 0.088708 0.0319407 0.694004 0.5 -0.0407891 0.0886694 0.0309807 0.691317 0.5 -0.0412883 0.0886287 0.0299331 0.680373 0.5 -0.041807 0.0885902 0.0288907 0.678689 0.5 -0.0423208 0.0885482 0.027912 0.668906 0.5 -0.0428517 0.0885116 0.026874 0.639864 0.5 --0.054132 0.143048 0.0274248 0.568814 0.449151 --0.0449077 0.159414 0.00690868 0.583955 0.5 -0.0453002 0.0932088 0.00816687 0.598655 0.441142 --0.078005 0.151454 -0.00188508 0.896031 0.5 --0.0674332 0.127053 0.0499702 0.64024 0.5 --0.0223649 0.171249 -0.0132085 0.676149 0.433489 -0.0287102 0.0942447 0.0434182 0.668866 0.5 -0.0390362 0.0980073 0.030266 0.70139 0.5 --0.058955 0.151077 0.0341866 0.46817 0.5 -0.0324749 0.095557 0.0400886 0.726133 0.5 --0.0244241 0.178665 -0.0108375 0.550858 0.5 --0.0216847 0.180158 -0.0138785 0.664982 0.5 -0.0417114 0.091515 -0.00780409 0.448955 0.473572 -0.0420736 0.0957824 -0.00279849 0.601992 0.5 -0.0369413 0.0993952 0.0325229 0.727071 0.5 -0.0221931 0.100779 0.0445472 0.580816 0.5 -0.0213321 0.100802 0.0450693 0.571923 0.5 --0.0617898 0.16156 -0.0335933 0.431428 0.466969 --0.0645123 0.172574 -0.0485643 0.555723 0.5 --0.0767176 0.159013 -0.0120318 0.76056 0.5 --0.0209165 0.172715 -0.0146234 0.685707 0.5 --0.0104869 0.166942 -0.0170857 0.380942 0.5 --0.0766704 0.154203 -0.00290271 0.552617 0.5 --0.0599778 0.148254 0.0362061 0.606367 0.5 --0.0237266 0.161004 -0.00287357 0.469801 0.5 -0.0404099 0.0926692 0.0304567 0.694983 0.5 -0.0424555 0.0902012 0.0271644 0.644574 0.5 --0.0533336 0.128311 0.0351755 0.730652 0.5 --0.0930693 0.120128 0.0262942 0.835142 0.5 --0.0614001 0.124084 0.0428232 0.638249 0.5 --0.0350091 0.168257 -0.00164334 0.663088 0.5 --0.0108886 0.108738 -0.0217426 0.812321 0.5 --0.0479777 0.147732 0.00938552 0.667444 0.5 --0.0533452 0.118341 0.0350731 0.579274 0.5 --0.0547216 0.118372 0.0366122 0.587104 0.5 -0.043578 0.0888313 -0.0037919 0.516703 0.5 --0.0400971 0.153595 0.0050429 0.640087 0.5 -0.0115292 0.119123 0.0361473 0.659278 0.437896 -0.010522 0.119127 0.036469 0.534711 0.5 --0.0651106 0.120024 0.049809 0.585105 0.5 --0.0615581 0.145382 0.0374116 0.583197 0.5 --0.00188013 0.105918 -0.0222309 0.778164 0.5 -0.045363 0.0932019 0.00717004 0.591877 0.5 -0.0222809 0.11936 0.0323905 0.617562 0.5 --0.0871972 0.102223 0.00642609 0.476696 0.362011 --0.0749615 0.135451 -0.00681495 0.459033 0.397283 --0.0581881 0.125521 0.0404357 0.629311 0.5 --0.0929926 0.121477 0.0272936 0.777432 0.5 --0.09232 0.126938 0.0302595 0.634019 0.5 --0.025101 0.114847 -0.0155729 0.856895 0.5 --0.0777217 0.159728 -0.0179219 0.524492 0.5 --0.0612458 0.141043 0.0360828 0.689334 0.5 --0.0280624 0.17271 -0.00913079 0.776112 0.5 --0.0300912 0.15662 0.000215848 0.351144 0.481163 --0.0625405 0.132491 0.039434 0.670358 0.5 --0.0259631 0.177171 -0.00957335 0.657868 0.5 --0.067274 0.142559 0.0431983 0.670289 0.5 --0.0328373 0.163842 -0.00376818 0.56777 0.5 --0.0408691 0.158042 0.00401656 0.602409 0.5 --0.0132844 0.180127 -0.0228495 0.703185 0.5 --0.0192412 0.184576 -0.0155995 0.304208 0.5 --0.0495036 0.153584 0.0107879 0.6265 0.449974 --0.0216854 0.168305 -0.0122385 0.626192 0.467734 --0.093152 0.121537 0.0362834 0.584216 0.5 --0.0172565 0.181572 -0.0253576 0.433302 0.5 --0.00687638 0.105938 -0.022783 0.740962 0.5 --0.0553588 0.131132 0.0357618 0.684725 0.5 --0.0627776 0.125519 0.0444184 0.688731 0.5 --0.0633155 0.125546 0.0454063 0.706897 0.5 --0.0644512 0.125591 0.047275 0.723432 0.5 -0.0451564 0.0931924 0.00517592 0.582494 0.5 --0.06188 0.164622 -0.0566003 0.563622 0.5 --0.0495247 0.141678 0.0113921 0.671776 0.5 --0.0612252 0.0618413 0.0248018 0.585468 0.418259 --0.00885889 0.172674 -0.0247544 0.283557 0.5 --0.0639713 0.0651159 0.0301523 0.713806 0.348039 --0.0493943 0.14168 0.0103932 0.619295 0.5 -0.0450677 0.0917906 0.015163 0.553666 0.5 -0.0454465 0.0903989 0.00417224 0.529235 0.5 --0.0733825 0.135448 0.0501828 0.618067 0.393849 --0.0657901 0.128396 0.0470862 0.723113 0.5 --0.0483279 0.119696 0.0300033 0.60103 0.5 --0.0629727 0.118457 0.044154 0.609863 0.5 --0.0531086 0.126902 0.0355005 0.688765 0.5 -0.021747 0.102101 0.0439088 0.635692 0.5 -0.0116453 0.090034 0.0538428 0.485387 0.479826 -0.0125532 0.0900642 0.0534187 0.494413 0.5 -0.0133955 0.0900754 0.0528858 0.512961 0.480236 -0.0141807 0.0900592 0.0522594 0.555914 0.47865 -0.0150763 0.0900809 0.0517899 0.549718 0.428513 -0.0159395 0.0900955 0.0512828 0.635882 0.5 -0.0166698 0.0900802 0.0505874 0.594035 0.5 -0.0172909 0.0900542 0.0497289 0.542688 0.5 -0.0179261 0.0900567 0.048881 0.649124 0.5 --0.0458573 0.147704 0.00717141 0.524847 0.5 --0.0554619 0.115432 0.0354757 0.647721 0.5 --0.0571198 0.115445 0.0365816 0.642818 0.5 --0.0623338 0.163141 -0.0335899 0.494006 0.5 -0.0233132 0.0902311 0.0479207 0.473948 0.5 -0.0242228 0.0902502 0.0474811 0.487297 0.438825 -0.0251056 0.0902557 0.0469821 0.608489 0.5 -0.0259015 0.0902483 0.0463733 0.611712 0.5 -0.0266281 0.0902434 0.0456585 0.623299 0.5 -0.027396 0.0902329 0.0450202 0.612878 0.5 -0.0281375 0.0902298 0.0443276 0.579022 0.5 -0.0289857 0.090239 0.0438092 0.561728 0.431286 -0.0299243 0.0902598 0.0434097 0.575684 0.5 -0.0308776 0.0902792 0.0430757 0.473026 0.47039 -0.0318258 0.090298 0.0426417 0.471521 0.5 -0.0326751 0.0902947 0.0421046 0.562676 0.5 -0.0334236 0.0903004 0.0414245 0.567716 0.5 -0.0341402 0.0902832 0.0407178 0.601592 0.5 -0.0348067 0.0902706 0.0399059 0.651964 0.5 -0.0355137 0.0902592 0.0391607 0.693679 0.5 -0.0361389 0.0902387 0.0383091 0.686059 0.5 -0.0367367 0.0902141 0.03744 0.710419 0.5 -0.0373216 0.0901862 0.036514 0.703473 0.5 -0.037936 0.0901639 0.0356574 0.703057 0.5 -0.0385285 0.0901386 0.0347352 0.705687 0.5 -0.0390766 0.0901064 0.0338413 0.699633 0.414578 -0.0396241 0.0900718 0.0328369 0.689257 0.5 -0.0401191 0.0900359 0.0318057 0.687975 0.421986 -0.0406221 0.0899944 0.0307666 0.689611 0.5 -0.0411691 0.0899632 0.029736 0.677547 0.422673 -0.0416966 0.0899224 0.0287651 0.672994 0.5 -0.0422067 0.0898824 0.0277847 0.656517 0.438145 -0.0343005 0.110021 0.028645 0.683958 0.5 --0.0760236 0.150016 -0.00789124 0.601146 0.5 --0.0304354 0.159526 0.00145329 0.431366 0.5 -0.0173575 0.0940342 0.0480767 0.670913 0.5 -0.016571 0.0940211 0.0486896 0.550604 0.5 -0.0158596 0.0940217 0.0494261 0.55984 0.5 -0.0150912 0.0940152 0.0500689 0.464311 0.482301 -0.0295409 0.0942529 0.0428642 0.679868 0.5 --0.0120306 0.174239 -0.0210892 0.716 0.5 --0.0344414 0.153644 0.000910386 0.406331 0.5 -0.0332346 0.0955533 0.0394336 0.724263 0.5 --0.0459743 0.153608 0.00885524 0.557235 0.5 -0.034944 0.10998 0.0278542 0.66615 0.5 --0.0189243 0.181629 -0.0169471 0.565246 0.5 --0.047649 0.128193 0.0275289 0.501873 0.5 -0.0375784 0.099381 0.0316743 0.718377 0.5 -0.0304753 0.100799 0.0389817 0.706946 0.5 --0.0860589 0.113009 0.00328149 0.344807 0.5 --0.0724692 0.135469 0.0497506 0.511149 0.478661 --0.0659296 0.14253 0.0416232 0.642342 0.5 --0.0200653 0.172726 -0.0151523 0.690595 0.5 --0.0868685 0.11045 0.00936714 0.383561 0.5 --0.0937998 0.118753 0.0153042 0.568101 0.430796 --0.0549188 0.148123 0.0275408 0.58359 0.360816 -0.0351689 0.0928995 0.0387113 0.725942 0.5 --0.068257 0.129831 0.0487832 0.693645 0.5 --0.0270041 0.168274 -0.00938266 0.622573 0.5 --0.0518479 0.128319 0.033784 0.694061 0.5 --0.0647288 0.126998 0.0468559 0.73149 0.5 --0.0598342 0.124083 0.0415696 0.614936 0.463311 --0.0673703 0.122848 0.0518073 0.597215 0.5 --0.0479423 0.118344 0.0305757 0.625771 0.5 --0.016957 0.186039 -0.0193264 0.344984 0.5 --0.0540718 0.118333 0.0357708 0.586268 0.5 --0.0295615 0.171229 -0.00778742 0.770335 0.5 -0.0284454 0.0995183 0.0412905 0.574285 0.5 --0.0736511 0.180693 -0.0540178 0.156296 0.236956 -0.0316414 0.11271 0.0301021 0.697703 0.5 --0.0564793 0.151056 0.0307055 0.47621 0.5 --0.055953 0.151039 0.0297159 0.458151 0.5 --0.0249427 0.17123 -0.0116584 0.643471 0.5 --0.0675492 0.129835 0.0480321 0.711408 0.5 -0.0244048 0.112688 0.0354614 0.524673 0.5 --0.0695324 0.125657 0.0522171 0.547788 0.5 --0.0709342 0.128224 -0.00904999 0.667884 0.5 --0.069935 0.128232 -0.00913858 0.736061 0.5 --0.0171387 0.171259 -0.0162017 0.536557 0.5 --0.0565891 0.129759 0.0374849 0.689253 0.5 --0.0859023 0.122521 -0.0027014 0.725558 0.5 --0.0052769 0.0941788 -0.0338289 0.867482 0.5 --0.0930778 0.121531 0.0352811 0.57381 0.5 --0.0605388 0.141029 0.0353291 0.658279 0.5 --0.0465912 0.145038 0.00283923 0.272241 0.5 --0.0292113 0.156649 -0.000270817 0.297356 0.5 -0.0354333 0.111001 -0.000827134 0.802698 0.5 --0.0554323 0.145321 0.0304155 0.55505 0.5 --0.0149484 0.177196 -0.0200335 0.726803 0.5 --0.0208004 0.181643 -0.0143459 0.540429 0.5 --0.0408994 0.163853 0.00394115 0.705987 0.5 --0.0391241 0.157933 0.00465789 0.466715 0.5 --0.014903 0.172738 -0.0182312 0.681922 0.5 -0.0428444 0.0958802 0.0241636 0.525878 0.5 --0.0688527 0.142579 0.0444582 0.53175 0.483269 --0.0596514 0.142474 0.0348633 0.694236 0.5 -0.0382386 0.084194 -0.0147697 0.668923 0.5 --0.0624789 0.152144 -0.0275875 0.499903 0.476645 --0.0472716 0.130968 0.0245047 0.575873 0.459449 --0.089704 0.111925 0.0143387 0.483241 0.5 --0.0142596 0.175663 -0.0267921 0.439072 0.5 --0.0741408 0.105214 0.0369385 0.3611 0.5 --0.0650593 0.125632 0.048098 0.737436 0.5 --0.0638617 0.125566 0.0463833 0.714151 0.5 -0.0310181 0.112726 0.0309619 0.699475 0.5 --0.0895155 0.0983259 0.0124123 0.802958 0.5 -0.0347485 0.0981702 0.0363481 0.730281 0.5 -0.044554 0.0917551 0.0201604 0.501039 0.469743 -0.042165 0.0859172 -0.00778247 0.591748 0.5 -0.0457915 0.0862101 0.0121678 0.577695 0.5 -0.0444767 0.0889055 -0.00179899 0.619799 0.44792 --0.0697618 0.112838 0.0482345 0.333355 0.5 -0.0364996 0.0928818 0.0370772 0.734349 0.5 --0.0702674 0.128451 0.0511564 0.464393 0.5 --0.0488446 0.119728 0.0310062 0.583052 0.5 --0.0476849 0.119711 0.0291692 0.672445 0.5 --0.0258283 0.172717 -0.011167 0.643829 0.5 -0.0131268 0.120538 0.0349816 0.526692 0.479009 -0.012093 0.120504 0.0352323 0.633595 0.455484 -0.0131192 0.0913894 0.0524895 0.51356 0.478187 -0.0140028 0.091392 0.0520062 0.540479 0.5 -0.0149304 0.0913967 0.05159 0.654995 0.5 -0.015783 0.0914175 0.0510677 0.638212 0.5 -0.016507 0.0913965 0.0503683 0.581784 0.5 -0.017105 0.0913787 0.0494605 0.512835 0.5 -0.017703 0.0913635 0.0485583 0.63502 0.5 -0.0184671 0.0913654 0.0479185 0.676642 0.5 --0.0894038 0.140678 0.0331776 0.605713 0.5 --0.0546448 0.115434 0.0349037 0.505711 0.474977 --0.0106393 0.169838 -0.0190633 0.516114 0.5 -0.0231687 0.0915577 0.0477207 0.466908 0.5 -0.0240747 0.0915746 0.0472686 0.472308 0.477612 -0.0249549 0.0915796 0.0467751 0.490617 0.5 -0.0257721 0.0915784 0.0461947 0.613053 0.5 -0.0265834 0.0915781 0.0456097 0.630571 0.5 -0.0273368 0.091573 0.0449418 0.632636 0.452168 -0.0281352 0.0915776 0.0443357 0.625876 0.462245 -0.028994 0.0915879 0.0438177 0.605593 0.408759 -0.0298506 0.0915959 0.0433109 0.505088 0.5 -0.0307316 0.091606 0.0428217 0.491622 0.5 -0.0316149 0.0916151 0.0423373 0.487578 0.5 -0.0324504 0.0916248 0.0417895 0.499551 0.5 -0.0332536 0.0916169 0.0411931 0.609468 0.5 -0.0339646 0.0916099 0.0404552 0.630941 0.5 -0.0346714 0.0916012 0.0397133 0.674568 0.5 -0.0353713 0.0915869 0.0389643 0.699002 0.5 -0.0359972 0.0915666 0.0381116 0.716513 0.5 -0.0366443 0.0915417 0.0373244 0.721997 0.5 -0.0372616 0.0915229 0.0364203 0.719171 0.5 -0.0378596 0.0914955 0.035553 0.701167 0.5 -0.0384501 0.0914717 0.0346309 0.700519 0.401901 -0.0390056 0.0914413 0.0336848 0.704975 0.419218 -0.039504 0.0914002 0.0327084 0.687994 0.5 -0.0400022 0.0913669 0.0315547 0.689268 0.418743 -0.0405319 0.0913292 0.030651 0.689719 0.5 -0.041088 0.0912985 0.0296287 0.676099 0.422418 -0.0416262 0.0912615 0.0286616 0.665418 0.5 -0.0421377 0.0912242 0.0276147 0.655485 0.43915 --0.0501537 0.152144 0.0115744 0.579341 0.5 -0.0195435 0.100771 0.0459866 0.556222 0.5 --0.0486523 0.128248 0.029602 0.590111 0.5 --0.0641167 0.143926 0.0389732 0.602566 0.5 --0.0631641 0.149054 -0.0215452 0.652358 0.5 --0.0563562 0.140993 0.0307629 0.56146 0.462117 --0.0717344 0.131221 0.0507858 0.481042 0.476202 -0.0303543 0.0942493 0.0422823 0.689592 0.5 --0.0174665 0.17272 -0.016673 0.687347 0.5 -0.0434109 0.0987186 0.0151565 0.682601 0.5 -0.0442448 0.0902943 -0.00180307 0.647918 0.5 --0.0261456 0.180134 -0.00803266 0.360237 0.5 --0.0519213 0.118323 0.0336042 0.595551 0.469946 --0.0509634 0.152153 0.0121451 0.563758 0.5 --0.055962 0.148162 0.0296522 0.616639 0.5 -0.0381679 0.0993665 0.0307411 0.698666 0.5 -0.0297368 0.100819 0.0396604 0.703728 0.5 -0.0347431 0.103404 0.0328426 0.719393 0.5 --0.053281 0.144674 0.0233765 0.626483 0.5 --0.0512091 0.118302 0.0328718 0.892341 0.5 --0.0191804 0.172724 -0.0156293 0.693633 0.5 --0.0675391 0.124252 0.0515729 0.61171 0.5 -0.0400863 0.0899903 -0.0108207 0.66494 0.5 --0.054346 0.125513 0.0372066 0.625318 0.5 -0.0401192 0.0979552 0.0282751 0.660657 0.5 --0.0460528 0.122513 0.026245 0.654913 0.5 --0.0180254 0.171268 -0.0157212 0.660943 0.5 --0.0504448 0.128295 0.0323161 0.668507 0.5 --0.0653439 0.127011 0.0477296 0.736066 0.5 --0.0580291 0.124109 0.0406616 0.501034 0.5 --0.0681363 0.122845 0.0524474 0.565623 0.5 --0.0875576 0.0954908 0.0044419 0.444617 0.471276 --0.0593417 0.119814 0.0404797 0.523595 0.5 --0.0526579 0.118327 0.034303 0.580209 0.5 --0.0576046 0.151067 0.0326375 0.431138 0.5 --0.0776496 0.163935 -0.0239336 0.438153 0.5 --0.0555708 0.142434 0.0301615 0.658738 0.5 -0.0301352 0.0955658 0.0419698 0.721178 0.5 --0.066143 0.143958 0.0413147 0.622133 0.5 -0.0204354 0.100784 0.0455262 0.563631 0.5 --0.0690116 0.129833 0.0494501 0.648809 0.5 --0.0697675 0.129835 0.0501143 0.620425 0.5 -0.0234401 0.112665 0.0358138 0.518225 0.5 -0.0224949 0.112674 0.0362232 0.517991 0.468791 --0.054418 0.142404 0.0282888 0.546136 0.5 --0.0206459 0.171255 -0.0142383 0.65985 0.5 -0.0383001 0.0969495 -0.00880451 0.717152 0.5 -0.0397873 0.104095 -0.000789682 0.572911 0.5 --0.0926495 0.129588 0.0122381 0.466091 0.5 --0.0295799 0.174217 -0.00600797 0.640144 0.5 --0.0348452 0.0957896 -0.0233484 0.854701 0.5 --0.0599745 0.14101 0.03437 0.690644 0.345407 --0.0468321 0.144886 0.00412892 0.1976 0.5 --0.0233975 0.156883 -0.00572928 0.214897 0.5 --0.0227366 0.157094 -0.00651614 0.254248 0.5 --0.0114995 0.164138 -0.0150087 0.228563 0.367524 --0.0141839 0.177168 -0.0206609 0.734943 0.5 -0.0243862 0.0955601 0.0459654 0.575163 0.5 --0.0615996 0.159996 -0.0335919 0.384557 0.5 --0.0295604 0.158116 0.000994125 0.410213 0.463884 --0.030456 0.158107 0.0014598 0.482268 0.5 -0.038478 0.0980354 0.0312187 0.71954 0.5 --0.0104381 0.171321 -0.0205524 0.558318 0.5 --0.0617686 0.159987 -0.035592 0.517021 0.5 --0.0592101 0.142401 0.0336275 0.58054 0.350685 --0.0585904 0.142433 0.0328417 0.771157 0.5 -0.0309161 0.0955754 0.0413413 0.720662 0.5 --0.0477554 0.130992 0.0255865 0.571698 0.5 --0.060435 0.131107 0.0389542 0.654455 0.459058 --0.0654573 0.131176 0.0439868 0.72103 0.5 --0.0617882 0.138121 0.0352393 0.65371 0.5 --0.0614468 0.141404 -0.00570472 0.505833 0.5 --0.0284893 0.0903534 -0.0305816 0.318091 0.5 -0.0408906 0.0942563 -0.00676992 0.587295 0.5 --0.0758557 0.103473 -0.0101675 0.573662 0.5 --0.08595 0.110378 0.0213654 0.721227 0.5 -0.0252254 0.095572 0.0454222 0.59859 0.5 -0.0260206 0.095556 0.0448127 0.635723 0.5 --0.0337241 0.163848 -0.00328844 0.559451 0.5 --0.0658407 0.0938498 -0.0179236 0.468882 0.5 -0.010651 0.121836 0.0349107 0.513956 0.45741 -0.0434619 0.0930961 0.0241585 0.598287 0.5 --0.0678583 0.112732 0.0457592 0.340763 0.5 -0.0116064 0.121838 0.0345253 0.5138 0.473996 -0.00969178 0.121836 0.0352946 0.511396 0.5 --0.0616678 0.143939 0.037247 0.768771 0.5 --0.0398464 0.0957237 -0.0225845 0.68521 0.5 --0.0718123 0.0950995 -0.0154446 0.474576 0.5 --0.069852 0.0951674 -0.0161643 0.530035 0.475894 --0.0925798 0.11747 0.0343056 0.569435 0.5 --0.0761089 0.149998 -0.0108814 0.709297 0.5 --0.0090863 0.16966 -0.0247514 0.42189 0.5 --0.0615051 0.159991 -0.0325895 0.393715 0.439304 --0.0738138 0.0950345 -0.0145557 0.41645 0.5 --0.0758939 0.107753 -0.00831552 0.622649 0.5 --0.0649061 0.108122 -0.0141961 0.620657 0.5 --0.076873 0.114866 -0.00505023 0.392229 0.482902 --0.043838 0.0956679 -0.0221641 0.663955 0.5 --0.0630974 0.160042 -0.0195595 0.530366 0.5 --0.0154766 0.160714 -0.011803 0.258534 0.5 --0.0834254 0.141805 0.00220396 0.494272 0.5 --0.0626773 0.153684 -0.0325991 0.515545 0.483746 -0.0210547 0.0358177 -0.00168489 0 0 -0.021052 0.0358187 -0.0026817 0.192006 0.5 -0.0205436 0.0357642 -0.00368285 0.167357 0.5 -0.0201601 0.0357218 -0.00467829 0.16207 0.5 -0.0196495 0.0356664 -0.00567711 0.165468 0.5 -0.0191388 0.0356129 -0.00667825 0.174536 0.5 -0.0191352 0.0356125 -0.00767677 0.183388 0.5 -0.0188777 0.03558 -0.00867348 0.179857 0.5 -0.0186225 0.0355557 -0.00967449 0.174801 0.5 -0.0183649 0.0355244 -0.0106716 0.167554 0.5 -0.0182349 0.0355117 -0.0116753 0.171573 0.5 -0.0179783 0.035483 -0.0126728 0.173751 0.5 -0.0181014 0.0354956 -0.0136744 0.174384 0.5 -0.017351 0.0351839 -0.014686 0.144529 0.253209 -0.0166715 0.0353808 -0.0156588 0.19397 0.5 -0.0165095 0.0354073 -0.0166384 0.231376 0.5 --0.0688351 0.0951745 -0.0162656 0.683919 0.5 -0.0200734 0.0372985 0.0402199 0.202727 0.5 -0.0207024 0.0373647 0.039246 0.188467 0.5 -0.0213046 0.0374522 0.0382518 0.17655 0.5 -0.0216857 0.0374896 0.0372608 0.174996 0.5 -0.0220645 0.0375334 0.0362702 0.17342 0.5 -0.0224472 0.0375897 0.0352799 0.156956 0.287305 -0.0226059 0.0375679 0.034289 0.162062 0.265245 -0.0229958 0.0375848 0.0332895 0.227328 0.5 --0.0728269 0.0950692 -0.0149677 0.443705 0.438894 --0.0448348 0.0942101 -0.0220316 0.669283 0.5 --0.0766843 0.15421 -0.00390102 0.63049 0.5 --0.0887111 0.101017 0.0193703 0.473932 0.5 --0.0629568 0.15367 -0.0336031 0.513593 0.5 --0.0725091 0.147853 -0.0287195 0.3464 0.313239 -0.0450284 0.0875565 0.0211548 0.48489 0.5 --0.0635972 0.164728 -0.0295802 0.695362 0.5 --0.0617504 0.158434 -0.0225881 0.383737 0.5 --0.0611789 0.172541 -0.0596341 0.297289 0.404008 --0.0618817 0.161578 -0.0325898 0.443556 0.5 --0.0674791 0.0622216 0.0214031 0.458443 0.439328 --0.0748306 0.094995 -0.0139518 0.406141 0.393563 --0.00487882 0.107372 -0.0225382 0.764544 0.5 --0.00688399 0.107372 -0.022762 0.747137 0.5 --0.0261438 0.168232 -0.0181898 0.551171 0.5 --0.060805 0.0953608 -0.018741 0.564732 0.460386 --0.0308539 0.0958394 -0.0237431 0.846617 0.5 -0.0415131 0.0394077 0.00724875 0.245023 0.5 -0.0413586 0.0394374 0.00625535 0.264637 0.5 -0.0410852 0.0394499 0.00526393 0.276002 0.5 -0.0410047 0.0395957 0.0043142 0.328293 0.5 -0.039816 0.0393083 0.00327619 0.317456 0.5 -0.0393762 0.0393721 0.0023232 0.323835 0.5 -0.0381042 0.0392738 0.00134927 0.464949 0.5 --0.0093342 0.174192 -0.0247468 0.379734 0.484519 -0.0213045 0.0372836 -0.00268556 0 0 -0.0218798 0.0374214 -0.00364164 0.173629 0.5 -0.0209941 0.0373175 -0.00464913 0.189617 0.5 -0.0204112 0.0371925 -0.00568428 0.301402 0.5 -0.0200283 0.0371524 -0.00668325 0.314111 0.5 -0.0197685 0.0371215 -0.00768223 0.334427 0.5 -0.0195119 0.0370935 -0.00868114 0.338098 0.5 -0.0193623 0.0370952 -0.00967348 0.257995 0.5 -0.0193556 0.0370965 -0.0106758 0.281838 0.5 -0.0191276 0.0370481 -0.0116797 0.280891 0.5 -0.0188962 0.0370007 -0.0126843 0.29679 0.5 -0.0187472 0.0369987 -0.01368 0.315571 0.5 -0.0185047 0.0369619 -0.0146835 0.324763 0.5 -0.0182327 0.0369462 -0.015679 0.336518 0.5 -0.0177475 0.036867 -0.0166881 0.413036 0.5 -0.017237 0.0368135 -0.0176915 0.367832 0.5 -0.0165569 0.0367823 -0.018664 0.371939 0.5 -0.0157741 0.036715 -0.0196413 0.392319 0.5 -0.0148967 0.0366228 -0.0205744 0.267785 0.426505 -0.00946556 0.123094 -0.0106511 0.692898 0.5 -0.0230906 0.0973761 -0.0211755 0.648293 0.46589 --0.0494359 0.138587 0.00541192 0.403653 0.5 --0.0615935 0.160001 -0.0315914 0.412907 0.433652 -0.0207467 0.0387687 0.0412277 0.21932 0.41408 -0.0214831 0.0388585 0.0402401 0.223145 0.421064 -0.0219406 0.0388423 0.0393076 0.208277 0.40788 -0.0225876 0.0388978 0.0383164 0.228816 0.5 -0.0230618 0.0389706 0.0372995 0.211221 0.5 -0.0234516 0.0389975 0.0363054 0.211716 0.5 -0.023933 0.0390696 0.0352942 0.219719 0.5 -0.0242087 0.039076 0.0343007 0.228441 0.391643 -0.0244991 0.0390622 0.0333159 0.211295 0.5 -0.0249135 0.0390596 0.0323329 0.26878 0.5 --0.0608313 0.092512 -0.0191943 0.821032 0.5 --0.0476623 0.135572 0.0124001 0.537981 0.5 --0.0398248 0.0928735 -0.0232663 0.570973 0.5 --0.0887511 0.102351 0.0133854 0.81128 0.5 --0.00927598 0.177254 -0.0287785 0.252787 0.344692 --0.0798195 0.105901 -0.00558882 0.545881 0.5 --0.0101655 0.178729 -0.0267529 0.420949 0.449119 -0.0414097 0.104256 0.00616512 0.653604 0.5 --0.0622546 0.152185 -0.0195775 0.705662 0.5 --0.0861558 0.100815 0.00240792 0.673104 0.5 --0.0358424 0.095771 -0.0231986 0.604327 0.5 --0.0631329 0.17411 -0.0535854 0.499099 0.5 --0.0923754 0.118793 0.0312942 0.551426 0.5 --0.0788893 0.125151 -0.00625598 0.45417 0.403149 --0.0677451 0.0629578 0.0224748 0.514095 0.5 --0.0689415 0.128234 -0.0091158 0.778554 0.5 --0.0679015 0.120916 -0.00896008 0.787633 0.5 --0.0338357 0.095789 -0.0234311 0.869552 0.5 -0.0458991 0.0414061 0.011234 0.208963 0.5 -0.0454513 0.0412382 0.0102351 0.248672 0.5 -0.0456517 0.0413562 0.00923967 0.270198 0.5 -0.0453867 0.0413474 0.00824507 0.303294 0.5 -0.0449984 0.0413097 0.00725015 0.317848 0.5 -0.044508 0.0412168 0.00624902 0.350625 0.5 -0.0440036 0.0411539 0.00525252 0.357471 0.452104 -0.0436072 0.041137 0.00426675 0.503875 0.5 -0.0430768 0.0411155 0.00329204 0.524353 0.5 -0.0420833 0.0409609 0.00227771 0.55786 0.5 -0.0410408 0.0408917 0.00130956 0.565383 0.5 -0.0402098 0.04091 0.000378677 0.524665 0.5 -0.0390858 0.0407779 -0.000614316 0.514406 0.5 -0.0369643 0.0405549 -0.00158789 0.409401 0.412106 --0.0479764 0.135553 0.00940627 0.482359 0.5 -0.0233356 0.0389315 -0.00470356 0.249794 0.5 -0.0220423 0.0388246 -0.00567731 0.194438 0.5 -0.0215585 0.0387445 -0.00669407 0.311593 0.5 -0.0210632 0.038679 -0.00769573 0.335273 0.5 -0.0209039 0.0386887 -0.00868617 0.341645 0.5 -0.0204663 0.0385832 -0.00969847 0.392165 0.5 -0.0202287 0.0385462 -0.010699 0.463116 0.5 -0.0200483 0.0385661 -0.0116898 0.481127 0.5 -0.0198232 0.0385183 -0.0126921 0.473825 0.5 -0.0196875 0.0385058 -0.013693 0.495144 0.5 -0.019441 0.0384709 -0.0146972 0.509623 0.5 -0.0190777 0.0384168 -0.0157069 0.53206 0.5 -0.0187727 0.038419 -0.0166964 0.552974 0.5 -0.0183006 0.0383341 -0.0177245 0.414351 0.5 -0.0176298 0.0382941 -0.0187111 0.443192 0.5 -0.016644 0.0381609 -0.019755 0.436093 0.5 -0.0154864 0.0380581 -0.0207587 0.364096 0.459325 -0.0140504 0.0379362 -0.0217239 0.433497 0.5 --0.0105538 0.0962042 -0.0319333 0.601496 0.5 --0.0908359 0.114163 0.0368153 0.488806 0.5 --0.0505374 0.138563 0.00240881 0.482734 0.5 --0.0623035 0.158393 -0.0375989 0.437411 0.450686 --0.0288792 0.104408 -0.0227314 0.617481 0.5 --0.0938956 0.118755 0.0202995 0.699312 0.5 -0.0222077 0.0403059 0.0403109 0.30736 0.461486 -0.0231358 0.0404562 0.0392455 0.296507 0.5 -0.0238248 0.0404881 0.03829 0.289331 0.455829 -0.0244407 0.0405616 0.0372831 0.447652 0.5 -0.0247254 0.0405634 0.0363023 0.448933 0.5 -0.0249948 0.0405751 0.0353079 0.308149 0.459766 -0.0254946 0.0406248 0.0343049 0.243146 0.391919 -0.0259201 0.0406241 0.0333279 0.25685 0.408642 --0.0888783 0.111909 0.0103621 0.564833 0.5 --0.0884724 0.111842 0.0093465 0.388501 0.5 --0.0945826 0.122834 0.0222802 0.660642 0.5 --0.0726588 0.143932 -0.0130219 0.169484 0.5 --0.0487919 0.135536 0.0203921 0.60215 0.488353 --0.0631344 0.177233 -0.0567528 0.566591 0.5 --0.0621666 0.152205 -0.0155784 0.608788 0.5 -0.0380593 0.0869714 -0.0147288 0.731421 0.5 --0.00979568 0.178776 -0.0277733 0.354405 0.447778 --0.0615069 0.172523 -0.0575905 0.414141 0.375674 --0.062151 0.152195 -0.0205783 0.72258 0.5 --0.062395 0.163038 -0.0545883 0.583089 0.5 --0.00887643 0.105922 -0.0227472 0.721559 0.5 --0.0639011 0.119458 -0.00893676 0.67846 0.5 --0.0829976 0.133839 -0.00205551 0.58311 0.5 --0.0408343 0.0942887 -0.0229156 0.596979 0.5 -0.0483264 0.0430255 0.0152188 0.265572 0.5 -0.0484584 0.0430177 0.0142199 0.251006 0.5 -0.0485976 0.0429932 0.0132228 0.23799 0.5 -0.0487043 0.0430197 0.0122221 0.219429 0.5 -0.0488884 0.0431235 0.0112233 0.199267 0.5 -0.0487537 0.043125 0.0102298 0.217359 0.5 -0.048521 0.043083 0.00923259 0.259008 0.5 -0.0484774 0.0431365 0.00824398 0.412258 0.5 -0.0481112 0.0431114 0.00725444 0.494855 0.5 -0.0475429 0.0429463 0.00623912 0.367663 0.45234 -0.0472196 0.0430325 0.00527833 0.566688 0.5 -0.0464852 0.0429053 0.00427528 0.557401 0.5 -0.0458597 0.0428246 0.0032848 0.576963 0.5 -0.0450739 0.0427888 0.00232236 0.420042 0.5 -0.0433938 0.0426486 0.00136855 0.394694 0.5 -0.0417308 0.0422749 0.000248643 0.425161 0.5 -0.0410305 0.0422896 -0.000687891 0.456167 0.5 -0.0400064 0.0422019 -0.00166327 0.447878 0.5 -0.0289287 0.100617 -0.0165368 0.728425 0.5 --0.0876244 0.129442 0.00130199 0.486801 0.5 -0.0245092 0.0406191 -0.00557292 0.464947 0.5 -0.0231366 0.0404268 -0.00664294 0.317852 0.5 -0.0223219 0.0402539 -0.00770693 0.337615 0.448653 -0.021964 0.0402022 -0.00870612 0.55798 0.5 -0.0215717 0.0401714 -0.00970048 0.559374 0.5 -0.0212145 0.0401172 -0.0107008 0.627185 0.5 -0.020848 0.0400652 -0.0117024 0.661682 0.5 -0.0206869 0.0400703 -0.0126929 0.654663 0.5 -0.0204668 0.0400207 -0.013702 0.665342 0.5 -0.0203254 0.040014 -0.0146997 0.677992 0.5 -0.0200755 0.0399795 -0.0157069 0.695157 0.5 -0.0197994 0.0399634 -0.0167042 0.713392 0.5 -0.0194281 0.0399108 -0.0177171 0.666141 0.5 -0.0187974 0.0398349 -0.0187285 0.501042 0.5 -0.0181073 0.0398088 -0.0196993 0.522948 0.5 -0.0170867 0.039703 -0.0206999 0.568503 0.5 -0.0160515 0.039741 -0.0214719 0.53757 0.5 -0.0084074 0.123136 -0.0106652 0.679234 0.5 --0.0891628 0.0942977 0.0214104 0.529283 0.5 --0.0106525 0.165176 -0.016643 0.251283 0.418644 --0.0919111 0.120015 0.00829626 0.404189 0.5 --0.0908772 0.119982 0.00630567 0.421552 0.5 --0.047972 0.135544 0.0173874 0.717441 0.5 --0.0630191 0.169374 -0.0476038 0.645866 0.5 --0.0623807 0.147545 -0.00857398 0.416569 0.5 --0.0530423 0.14778 0.0224018 0.578902 0.377689 --0.051966 0.138521 0.000416067 0.620782 0.5 --0.0622266 0.158391 -0.0366041 0.44143 0.459729 --0.0586861 0.0603162 0.0231261 0.36851 0.392915 --0.00922314 0.174168 -0.0285672 0.308726 0.5 --0.0635063 0.156747 -0.0406118 0.828271 0.5 --0.0619528 0.15527 -0.030594 0.543122 0.480751 -0.0246952 0.0420222 0.0382704 0.500768 0.5 -0.0252284 0.0420597 0.0372934 0.48086 0.5 -0.0256473 0.0420743 0.0363142 0.450838 0.5 -0.0260496 0.0420955 0.0353242 0.321673 0.445084 -0.0266603 0.0421651 0.0343135 0.345398 0.5 --0.0491177 0.138604 0.00740359 0.344692 0.5 --0.0613242 0.174126 -0.0596453 0.259873 0.443289 --0.0620463 0.158428 -0.0205873 0.46297 0.421161 --0.0616259 0.175734 -0.0596865 0.26226 0.5 --0.0683202 0.166619 -0.0540065 0.513058 0.429382 --0.0628199 0.164682 -0.0345962 0.559625 0.5 --0.0736181 0.0688668 0.0266732 0.683954 0.5 --0.0626761 0.177191 -0.057627 0.408881 0.5 --0.0621531 0.152198 -0.0185797 0.669579 0.5 --0.0490828 0.13552 0.0213898 0.776672 0.5 --0.00957846 0.178815 -0.0287373 0.266316 0.404862 -0.0402454 0.0843611 -0.0117637 0.612965 0.5 --0.0512049 0.147808 0.0143958 0.538089 0.5 --0.0792715 0.107765 0.0320009 0.420249 0.5 --0.0668226 0.0923514 -0.017257 0.575633 0.5 -0.0502518 0.0446339 0.0182039 0.23724 0.5 -0.0503986 0.0446075 0.0172106 0.286197 0.5 -0.0505278 0.0445977 0.0162148 0.322074 0.5 -0.0507656 0.0446256 0.0152142 0.301558 0.5 -0.0507854 0.0445928 0.0142166 0.269258 0.5 -0.0509994 0.044648 0.0132154 0.246619 0.5 -0.0509663 0.0446851 0.0122122 0.22662 0.5 -0.0508473 0.0446622 0.0112162 0.330319 0.5 -0.0508224 0.0446928 0.0102182 0.369918 0.5 -0.0506847 0.044695 0.00922239 0.436893 0.5 -0.0504194 0.0446982 0.00822878 0.52017 0.5 -0.0501729 0.0446765 0.00723117 0.585203 0.5 -0.0500217 0.0446984 0.00624267 0.579775 0.5 -0.049468 0.0445737 0.00523787 0.57721 0.5 -0.0492065 0.0445737 0.00425603 0.654526 0.5 -0.0483875 0.0444574 0.00325794 0.646985 0.5 -0.0476241 0.0444058 0.00228058 0.606825 0.5 -0.0469197 0.0444607 0.00136465 0.554636 0.5 -0.0454962 0.0443878 0.000424365 0.417407 0.404493 -0.0322546 0.0987343 -0.0145759 0.761441 0.5 --0.0345641 0.11594 -0.0146748 0.811815 0.5 -0.0297667 0.100164 -0.016062 0.756316 0.5 -0.0376515 0.0947835 -0.010301 0.623757 0.5 -0.0253381 0.0418727 -0.00588506 0.533119 0.5 -0.0241599 0.0418198 -0.00678118 0.425216 0.5 -0.0234089 0.0418644 -0.00766906 0.449472 0.5 -0.0226563 0.0416586 -0.00875234 0.620622 0.5 -0.0222403 0.0416489 -0.00972259 0.728132 0.5 -0.0218834 0.0415901 -0.0107198 0.690477 0.5 -0.0216799 0.0415358 -0.0117265 0.64815 0.5 -0.021665 0.0416371 -0.0126942 0.643476 0.5 -0.0214529 0.0415824 -0.013701 0.632809 0.5 -0.0213104 0.0415776 -0.0147 0.642753 0.5 -0.0210681 0.0415437 -0.0156999 0.641668 0.5 -0.0208178 0.0415166 -0.0167046 0.7363 0.5 -0.0205519 0.0414936 -0.0177079 0.7492 0.5 -0.0201473 0.0414664 -0.0187017 0.535645 0.469391 -0.0195943 0.041435 -0.0196763 0.553747 0.5 -0.0185142 0.0412688 -0.0207398 0.584691 0.5 -0.0173166 0.0411975 -0.0216758 0.497655 0.5 -0.0401375 0.0953636 -0.00688813 0.621261 0.5 --0.0148841 0.0959887 -0.031739 0.520871 0.5 --0.0810076 0.10869 -0.00259876 0.474335 0.5 --0.0626256 0.150596 -0.021578 0.481703 0.482354 --0.092388 0.120024 0.00928585 0.385863 0.5 --0.0914335 0.120003 0.00730918 0.411018 0.467634 --0.0625559 0.150623 -0.0205762 0.68908 0.5 --0.0090473 0.168146 -0.0217175 0.219838 0.3992 --0.0630651 0.167844 -0.0445874 0.720803 0.5 --0.0702901 0.063891 0.0211244 0.450008 0.5 --0.0631168 0.15992 -0.0455978 0.558017 0.5 --0.0631574 0.159924 -0.0465929 0.809045 0.5 --0.0623577 0.147557 -0.00658086 0.252169 0.412612 --0.0633873 0.169402 -0.0465883 0.663914 0.422635 --0.0632263 0.153648 -0.0346156 0.395005 0.462112 --0.0135829 0.03702 0.0510108 0.341497 0.5 --0.0724375 0.0643068 0.0185598 0.596547 0.5 --0.054457 0.14621 0.0274041 0.709134 0.5 --0.053792 0.141582 0.0273817 0.537872 0.5 --0.0874242 0.111776 0.00733879 0.392054 0.5 --0.0709606 0.172226 -0.0520527 0.466691 0.456957 --0.0908268 0.137853 0.0181986 0.5388 0.460593 --0.0409396 0.168342 -0.0108401 0.48116 0.5 --0.0801811 0.108648 -0.00360377 0.503267 0.5 --0.0866142 0.111799 0.023338 0.726085 0.5 --0.0839818 0.115583 0.0478751 0.636861 0.5 --0.0620328 0.156862 -0.0185851 0.37894 0.442184 --0.00888297 0.175714 -0.027834 0.245715 0.5 --0.0614858 0.175719 -0.0606762 0.258736 0.336518 --0.0881465 0.111869 0.0203319 0.713042 0.352013 --0.0626214 0.149057 -0.0155813 0.465926 0.5 --0.0720239 0.158203 -0.0389152 0.511983 0.468875 --0.0624566 0.177245 -0.0586155 0.389693 0.5 --0.0483087 0.135537 0.00740851 0.43217 0.477318 --0.0627796 0.16313 -0.0285907 0.691873 0.5 --0.0339969 0.152567 -0.000573454 0.241971 0.406486 --0.0618223 0.170491 -0.0617288 0.389285 0.5 --0.0627671 0.15529 -0.013592 0.440853 0.5 -0.0422094 0.0873179 -0.00779978 0.586888 0.5 -0.0518591 0.0461434 0.019211 0.289854 0.5 -0.0522184 0.0461787 0.0182078 0.262687 0.5 -0.0525507 0.0462401 0.0172033 0.243948 0.334591 -0.0525746 0.0462075 0.0162071 0.28081 0.5 -0.0527001 0.0462105 0.0152086 0.261101 0.5 -0.0529037 0.0462692 0.0142047 0.259734 0.5 -0.0530102 0.0462982 0.0132036 0.289152 0.5 -0.0529009 0.0462649 0.0122044 0.315925 0.5 -0.0527843 0.0462443 0.0112063 0.325222 0.5 -0.0526315 0.0462656 0.0102089 0.523205 0.5 -0.0522688 0.0462249 0.00921199 0.557691 0.5 -0.0519248 0.0461654 0.00821164 0.606715 0.5 -0.0517879 0.0461689 0.0072143 0.660279 0.5 -0.0515378 0.0461489 0.00621743 0.680138 0.5 -0.0514697 0.0462224 0.00523719 0.676367 0.5 -0.0510178 0.0461394 0.00424124 0.687946 0.5 -0.0505086 0.0461176 0.0032623 0.750917 0.5 -0.0499018 0.0460625 0.00228276 0.687572 0.5 -0.0491492 0.0460297 0.00132033 0.648303 0.5 -0.0482587 0.0460086 0.000382582 0.445148 0.5 -0.0470243 0.0458757 -0.000608958 0.412576 0.5 -0.0305902 0.0996469 -0.0155371 0.754953 0.5 -0.0314256 0.0991914 -0.015062 0.747597 0.5 -0.0254079 0.10205 -0.0180571 0.65538 0.5 --0.000173892 0.120963 -0.0122496 0.773976 0.5 --0.0629554 0.156782 -0.0386059 0.446604 0.483537 -0.0262206 0.0435744 -0.00668237 0.589969 0.5 -0.0255358 0.0435625 -0.00763706 0.582263 0.5 -0.0246717 0.0434401 -0.00867806 0.606405 0.5 -0.0239407 0.0433254 -0.00969837 0.651864 0.5 -0.0231261 0.0431609 -0.0107258 0.656841 0.5 -0.0226739 0.0430625 -0.011732 0.600539 0.5 -0.0224202 0.0430392 -0.0127301 0.546003 0.5 -0.022253 0.0430673 -0.0137151 0.548118 0.5 -0.0220365 0.0430228 -0.0147268 0.5675 0.5 -0.0218787 0.0430332 -0.0157248 0.568311 0.5 -0.0216235 0.0430155 -0.0167288 0.65615 0.5 -0.0213756 0.0429924 -0.0177346 0.476548 0.5 -0.0210931 0.0429808 -0.0187308 0.487802 0.5 -0.0206459 0.0429683 -0.0197059 0.784083 0.5 -0.0200866 0.0429332 -0.0206714 0.563114 0.5 -0.0190867 0.0428243 -0.0216805 0.451424 0.5 -0.0169695 0.107204 -0.0175448 0.542075 0.5 --0.0345377 0.0353482 -0.0311793 0.16856 0.5 --0.0682478 0.066271 0.0282875 0.590849 0.43032 -0.0418115 0.0872841 -0.00879032 0.595696 0.5 --0.0748894 0.152721 -0.0218881 0.5851 0.5 --0.0832173 0.13898 0.000315163 0.580039 0.5 --0.0926193 0.122848 0.0312739 0.601059 0.472079 --0.00912597 0.168128 -0.0227626 0.297541 0.5 --0.0628784 0.16149 -0.0515871 0.68874 0.5 --0.0619039 0.16157 -0.0305885 0.452539 0.5 --0.0132739 0.162396 -0.014817 0.266099 0.5 --0.0632815 0.159908 -0.0475928 0.793952 0.5 --0.0628145 0.169399 -0.0485883 0.603998 0.444163 --0.00951883 0.17115 -0.0217635 0.462208 0.5 --0.0101059 0.171125 -0.0207965 0.506211 0.5 -0.0418505 0.0929433 -0.00581175 0.492217 0.5 --0.0616576 0.170967 -0.0555865 0.372297 0.443928 --0.0520495 0.147795 0.0183962 0.723962 0.5 --0.0853298 0.111023 0.0405559 0.503335 0.458998 --0.0745076 0.115686 0.0517763 0.582027 0.5 --0.0547119 0.146209 0.0284156 0.560204 0.5 -0.0412738 0.0872408 -0.00977382 0.625307 0.5 --0.0486667 0.134012 0.00340208 0.34881 0.434303 --0.0482843 0.133992 0.00441773 0.347182 0.453168 -0.042476 0.0986857 0.0211679 0.657692 0.5 --0.0485461 0.135607 0.0194861 0.602971 0.488446 --0.051883 0.143128 0.0183637 0.828127 0.5 --0.0884532 0.112251 0.0353052 0.459984 0.5 --0.0616227 0.156855 -0.0295846 0.674979 0.5 --0.0481741 0.135565 0.0182752 0.765802 0.5 --0.00920453 0.175559 -0.0287981 0.275493 0.5 -0.0406445 0.0871881 -0.0107716 0.635944 0.448855 --0.0850528 0.0993835 -0.000573805 0.459223 0.5 --0.0656034 0.0619186 0.0220381 0.346007 0.429447 --0.0187325 0.0374026 0.0529482 0.277021 0.404831 --0.00980958 0.166665 -0.0207735 0.379084 0.5 -0.0429603 0.0873797 -0.00580114 0.419655 0.466147 --0.0629079 0.15056 -0.0255866 0.617845 0.5 --0.063101 0.150495 -0.0266018 0.647164 0.5 -0.0437475 0.087439 -0.00380588 0.498482 0.5 -0.0526083 0.0475984 0.0212218 0.296458 0.5 -0.0532979 0.0476993 0.0202039 0.274937 0.5 -0.0537831 0.0477401 0.0192041 0.320896 0.5 -0.0541381 0.0477755 0.0182012 0.303757 0.5 -0.0541559 0.0477549 0.017206 0.295573 0.5 -0.0543739 0.0477987 0.0161989 0.331798 0.422862 -0.0545899 0.0478435 0.0151974 0.287675 0.5 -0.0546992 0.0478618 0.0141962 0.310162 0.5 -0.0546976 0.0478581 0.0131951 0.323926 0.5 -0.0546048 0.0478149 0.0122009 0.32351 0.422887 -0.0545544 0.0478595 0.011201 0.625634 0.5 -0.0544139 0.0478718 0.0102055 0.673927 0.5 -0.0542552 0.0478973 0.00920996 0.695482 0.5 -0.0539053 0.0478505 0.00821457 0.706825 0.5 -0.0535575 0.0477942 0.0072134 0.698329 0.5 -0.0531328 0.0476715 0.00620176 0.706203 0.5 -0.0528827 0.0476533 0.00520477 0.747065 0.5 -0.0526059 0.0476644 0.00422036 0.765583 0.5 -0.0522007 0.0476683 0.00324556 0.774998 0.5 -0.0515873 0.047616 0.00226708 0.774982 0.5 -0.0506418 0.0475027 0.0012667 0.522794 0.5 -0.0498828 0.0474685 0.000307011 0.498109 0.5 -0.0488619 0.047436 -0.000620948 0.468335 0.5 -0.0476809 0.0472678 -0.00164326 0.473614 0.5 -0.0464132 0.0472054 -0.00271728 0.498599 0.5 -0.038459 0.094268 -0.00974763 0.611822 0.5 -0.0221547 0.0979182 -0.0216266 0.588387 0.5 -0.0445162 0.087501 -0.00181141 0.5855 0.5 --0.00222052 0.117102 -0.0161156 0.771346 0.5 -0.0272261 0.0451183 -0.00768323 0.907184 0.5 -0.0267163 0.0450608 -0.00869474 0.557039 0.5 -0.0264125 0.0450979 -0.0096842 0.598401 0.5 -0.0260285 0.0450625 -0.0106845 0.635188 0.5 -0.0256365 0.0450396 -0.0116814 0.56665 0.5 -0.0250139 0.0449606 -0.012685 0.515417 0.5 -0.0242611 0.0448626 -0.0136813 0.472073 0.5 -0.0228667 0.0444458 -0.0147763 0.505631 0.5 -0.0225489 0.0444802 -0.0157666 0.484152 0.451586 -0.0221671 0.0444704 -0.016762 0.578055 0.5 -0.0217692 0.0444645 -0.0177596 0.604952 0.5 -0.0214237 0.0444841 -0.0187153 0.597178 0.5 -0.021025 0.0444507 -0.0197096 0.396657 0.5 -0.0204505 0.044377 -0.0207645 0.441335 0.5 -0.0197334 0.044328 -0.0216983 0.490234 0.5 -0.0184196 0.0442138 -0.0226321 0.524318 0.5 -0.0301337 0.0958138 -0.0174156 0.699679 0.5 -0.050676 0.0693821 0.00244948 0.629664 0.372945 --0.0628659 0.161473 -0.0525859 0.683519 0.5 -0.0555907 0.0604655 -0.000426808 0.592036 0.5 --0.022965 0.108799 -0.0212234 0.600371 0.5 --0.0896074 0.135171 0.0322127 0.583304 0.473825 --0.0926054 0.122844 0.0302746 0.626105 0.5 --0.0926446 0.122835 0.02928 0.664624 0.5 --0.00962948 0.168316 -0.023669 0.31516 0.5 --0.0625045 0.160053 -0.0215634 0.573281 0.5 --0.0619246 0.161563 -0.0295917 0.45951 0.5 --0.0135011 0.162185 -0.0138332 0.217413 0.5 --0.013526 0.162053 -0.0127433 0.271473 0.5 --0.0625469 0.169393 -0.0495927 0.57748 0.5 --0.00886294 0.171168 -0.0237423 0.312147 0.463827 --0.0091676 0.171172 -0.0227371 0.382741 0.454798 --0.0613803 0.17096 -0.0575947 0.360963 0.416097 --0.0615083 0.170965 -0.0565878 0.368037 0.5 --0.0580149 0.0675718 0.0363481 0.503626 0.472266 --0.0523396 0.147791 0.0193952 0.719536 0.5 --0.0639979 0.158311 -0.048587 0.708429 0.5 --0.0633822 0.164679 -0.0305938 0.692548 0.5 --0.0537237 0.147766 0.0244131 0.567355 0.398363 --0.0533301 0.1416 0.0264013 0.559887 0.5 --0.0489909 0.133982 0.00241474 0.355836 0.438333 --0.0468429 0.132502 0.00641278 0.543552 0.478081 --0.0493716 0.143224 0.00839291 0.573428 0.5 --0.0690863 0.0666121 0.0278101 0.57361 0.284512 --0.062693 0.156802 -0.0376031 0.579352 0.5 --0.0297799 0.106834 -0.0211406 0.810434 0.5 --0.0835905 0.112379 0.0452164 0.387124 0.446792 --0.0644851 0.0755505 0.0404189 0.611933 0.440096 --0.053883 0.150856 0.0253998 0.443664 0.5 --0.0631402 0.158352 -0.0425984 0.820472 0.5 --0.0361903 0.151017 -0.000604378 0.204281 0.5 --0.0624362 0.150651 -0.0105777 0.35914 0.5 --0.0624126 0.150651 -0.0115734 0.424711 0.5 --0.0622911 0.150653 -0.0125749 0.424088 0.46748 --0.0615844 0.155311 -0.0225818 0.452352 0.5 --0.0332242 0.152554 -0.00262082 0.231668 0.5 --0.062838 0.153641 -0.0115615 0.329153 0.43889 -0.0542673 0.0491964 0.0212031 0.342019 0.5 -0.0548799 0.0492406 0.0202107 0.314601 0.5 -0.0553645 0.0492819 0.0192078 0.334344 0.5 -0.0556876 0.0493473 0.0181935 0.337173 0.459152 -0.0558148 0.0493476 0.0171957 0.327753 0.457458 -0.0558223 0.0493444 0.0161931 0.331407 0.423432 -0.056025 0.0493916 0.0151904 0.351624 0.5 -0.0561422 0.049398 0.0141897 0.367168 0.464358 -0.0561478 0.0493933 0.0131905 0.371874 0.5 -0.0561271 0.0494063 0.0121912 0.486315 0.458271 -0.0561175 0.0494119 0.0111925 0.511629 0.5 -0.0559734 0.0494153 0.0101945 0.545197 0.462817 -0.0558337 0.0494217 0.00919997 0.532408 0.5 -0.0556221 0.0493651 0.00819776 0.746443 0.5 -0.0553932 0.0493283 0.0071983 0.756606 0.5 -0.0552084 0.0493743 0.00621284 0.763437 0.5 -0.0547499 0.0492946 0.00521444 0.768402 0.5 -0.0543559 0.049285 0.0042337 0.79186 0.5 -0.0537671 0.0492093 0.00323447 0.80362 0.5 -0.0531496 0.0491587 0.00225551 0.816731 0.5 -0.0524062 0.0491022 0.00128138 0.583342 0.452953 -0.0514482 0.0490026 0.000289284 0.539824 0.5 -0.0504722 0.048918 -0.000684915 0.534755 0.5 -0.0495034 0.0488243 -0.00166079 0.521839 0.5 -0.0484396 0.0486951 -0.00266239 0.554484 0.5 -0.0470726 0.048551 -0.0036464 0.434179 0.5 -0.0408807 0.0948081 -0.00628698 0.610365 0.5 --0.0828517 0.110648 0.028886 0.474107 0.5 -0.0311264 0.0469699 -0.00653546 0.557462 0.465257 -0.0289827 0.0467369 -0.00766304 0.530179 0.5 -0.0283692 0.0466516 -0.00870467 0.568944 0.5 -0.0280707 0.046664 -0.00969251 0.620752 0.5 -0.0277468 0.0465681 -0.0107176 0.682006 0.5 -0.0275877 0.0465825 -0.0117097 0.688884 0.5 -0.0272051 0.0465425 -0.0127095 0.610527 0.5 -0.0268226 0.046511 -0.0137061 0.542566 0.5 -0.0265924 0.0466157 -0.0146569 0.48702 0.5 -0.0260064 0.0465031 -0.0156607 0.488271 0.5 -0.0252085 0.0464911 -0.0166174 0.507676 0.5 -0.0226111 0.0458717 -0.017849 0.394431 0.5 -0.0217639 0.0458254 -0.0188683 0.586036 0.400824 -0.0211703 0.0458979 -0.0197309 0.493777 0.5 -0.0203688 0.0459169 -0.020834 0.440701 0.5 -0.0196258 0.0457587 -0.0217227 0.486443 0.5 -0.018445 0.0456517 -0.0226728 0.549146 0.5 -0.00442197 0.11861 -0.0157775 0.570337 0.473222 --0.01565 0.10151 -0.0235687 0.771507 0.5 -0.0212923 0.0982999 -0.0220426 0.593293 0.5 --0.000266462 0.0936214 -0.0332218 0.522775 0.483113 --0.0241067 0.108647 -0.0210644 0.593628 0.477124 --0.0915859 0.128175 0.00825933 0.419559 0.425301 --0.0926373 0.122856 0.0322729 0.58159 0.5 --0.0778403 0.10982 0.0432074 0.541422 0.5 --0.0620402 0.161574 -0.0285866 0.583796 0.5 --0.0136711 0.162609 -0.0156561 0.269977 0.5 --0.0625942 0.153749 -0.0125838 0.386886 0.440899 --0.0623698 0.169401 -0.0505859 0.538383 0.466596 --0.0625301 0.147537 -0.0105732 0.42053 0.463323 --0.00864981 0.171144 -0.0247734 0.229766 0.466167 -0.0453844 0.091806 0.0121583 0.572383 0.436861 --0.0894331 0.150114 0.0121902 0.32027 0.5 --0.0700516 0.177913 -0.0570165 0.362118 0.5 --0.0525858 0.147787 0.0204037 0.733184 0.5 --0.0636646 0.15831 -0.045603 0.807179 0.5 --0.0622523 0.152181 -0.0215758 0.742898 0.5 --0.0620187 0.175667 -0.057604 0.451826 0.5 --0.0523892 0.141597 0.0213852 0.800757 0.5 --0.0869096 0.111745 0.0223587 0.686931 0.5 --0.0849795 0.0952966 -0.00257745 0.396049 0.446557 --0.0495225 0.143222 0.00950726 0.649579 0.434146 --0.0656099 0.0655077 0.0295065 0.532749 0.5 --0.0647534 0.156678 -0.0475943 0.713526 0.5 --0.0785045 0.111148 0.0455755 0.391209 0.5 --0.094215 0.120106 0.0172864 0.614889 0.443372 --0.0621937 0.156854 -0.0175927 0.377145 0.5 --0.0541984 0.150844 0.02639 0.461425 0.5 --0.0517714 0.14934 0.0163945 0.774806 0.5 --0.0522155 0.149331 0.0183918 0.729713 0.5 --0.0542038 0.149302 0.0263885 0.509992 0.5 --0.0284871 0.0932302 -0.0255941 0.304702 0.5 --0.0631749 0.149 -0.0205832 0.622394 0.5 --0.0517809 0.138537 0.023394 0.615998 0.5 --0.0512844 0.138511 0.0223666 0.623281 0.5 --0.0612049 0.174131 -0.0607222 0.298951 0.5 -0.055706 0.0507437 0.0211984 0.33558 0.5 -0.0562825 0.0508178 0.0201866 0.326843 0.463162 -0.0565626 0.0508082 0.0192018 0.318199 0.462356 -0.0567976 0.0508328 0.0181941 0.378129 0.466394 -0.0569923 0.0508892 0.0171854 0.506337 0.5 -0.0570161 0.0508675 0.0161892 0.530301 0.5 -0.0571307 0.0508797 0.0151878 0.535962 0.5 -0.0572481 0.0508905 0.0141872 0.534928 0.5 -0.0572432 0.0508915 0.0131865 0.548889 0.5 -0.0572429 0.0508905 0.0121849 0.57269 0.5 -0.0572117 0.0509068 0.011186 0.571974 0.5 -0.0570851 0.0508934 0.0101876 0.574471 0.460746 -0.0569539 0.0508846 0.00918952 0.576196 0.5 -0.0567195 0.0508531 0.00818949 0.573268 0.5 -0.0565843 0.0508466 0.00719292 0.583621 0.466717 -0.0563061 0.0508424 0.00620646 0.584509 0.5 -0.0559507 0.0508031 0.00520531 0.824166 0.5 -0.055466 0.0507517 0.00421414 0.836827 0.5 -0.0549036 0.0506667 0.00319831 0.471108 0.5 -0.0542609 0.050631 0.00222604 0.483198 0.5 -0.0535386 0.0505579 0.00123438 0.613201 0.45539 -0.0527925 0.0505032 0.000257908 0.490529 0.5 -0.0516179 0.0503639 -0.000756444 0.58688 0.5 -0.05074 0.0503045 -0.00171178 0.608182 0.5 -0.0496613 0.0501912 -0.00270335 0.497532 0.5 -0.0482309 0.0500295 -0.00369862 0.505342 0.5 --0.0297834 0.121969 -0.0069874 0.463916 0.5 -0.0115331 0.101889 -0.0218781 0.835549 0.5 -0.0293799 0.0892796 -0.0205263 0.754187 0.5 -0.0303629 0.0483136 -0.00765132 0.591066 0.5 -0.0296733 0.0481683 -0.00874324 0.581117 0.5 -0.0293044 0.0481199 -0.00974071 0.639697 0.5 -0.0290556 0.0480892 -0.0107335 0.702465 0.5 -0.0287818 0.0480764 -0.0117305 0.785891 0.5 -0.0285217 0.0480557 -0.0127278 0.716614 0.5 -0.0282711 0.0480264 -0.0137299 0.636449 0.5 -0.0279061 0.0479696 -0.0147397 0.574224 0.5 -0.0276827 0.0480336 -0.0156964 0.574531 0.5 -0.0271939 0.0479684 -0.0167032 0.597107 0.5 -0.0262642 0.0479348 -0.017662 0.421586 0.5 -0.0252198 0.0478964 -0.0186081 0.415428 0.421447 -0.0233928 0.0475951 -0.0196868 0.435132 0.5 -0.0346496 0.0972102 -0.0129196 0.742864 0.5 -0.0517359 0.0693876 0.00244776 0.645437 0.5 --0.0106759 0.119083 -0.0141801 0.827086 0.5 --0.0118269 0.118985 -0.0140536 0.559736 0.5 --0.00628506 0.0952929 -0.0329709 0.790199 0.5 -0.0401137 0.0933035 -0.00871241 0.566774 0.5 --0.0753578 0.0671035 0.0137678 0.564954 0.5 --0.0626481 0.167836 -0.0465871 0.618191 0.5 --0.0627949 0.167828 -0.0455908 0.530269 0.476282 --0.042812 0.14778 0.00347562 0.187808 0.5 -0.0416778 0.102863 0.015161 0.706991 0.5 --0.0622212 0.169401 -0.0515858 0.380575 0.5 --0.0268485 0.0931277 -0.028596 0.248883 0.5 -0.0453179 0.0861686 0.00320477 0.483239 0.5 --0.0681775 0.0762505 0.039044 0.601995 0.5 --0.062107 0.163118 -0.0365927 0.50336 0.5 --0.0334767 0.152548 -0.00159465 0.213771 0.5 --0.0638193 0.158306 -0.0465978 0.804379 0.5 --0.0686144 0.0632303 0.0220506 0.393713 0.5 --0.0711187 0.0642492 0.0206358 0.468547 0.5 --0.0483068 0.13712 0.0113971 0.700824 0.5 --0.0520122 0.14159 0.0203687 0.645062 0.464329 --0.0478122 0.134031 0.00640478 0.491526 0.5 --0.0614986 0.158424 -0.0305881 0.634778 0.5 --0.0496377 0.143234 0.0104059 0.48917 0.476574 --0.0885037 0.114225 0.0283481 0.473553 0.461475 --0.0646289 0.156694 -0.0465976 0.712195 0.5 --0.0424386 0.147805 0.00141712 0.25826 0.5 --0.0604782 0.144516 -0.00363507 0.466074 0.5 --0.0616053 0.156855 -0.0285887 0.469065 0.5 --0.0536146 0.150855 0.0243962 0.621278 0.5 --0.0520364 0.14934 0.0173988 0.768017 0.5 --0.0484861 0.137101 0.00939484 0.479296 0.395056 --0.0486795 0.137079 0.00840446 0.395908 0.5 --0.0465876 0.132486 0.00741919 0.539467 0.5 --0.0521631 0.138551 0.0244099 0.615441 0.5 --0.0499851 0.135487 0.00142097 0.527467 0.5 --0.0495672 0.135498 0.00241956 0.409185 0.4716 --0.0661815 0.0615106 0.0205126 0.578639 0.5 -0.0567694 0.0522665 0.0211855 0.547845 0.5 -0.0572369 0.0523165 0.0201815 0.419344 0.473768 -0.0575871 0.0523587 0.0191771 0.536016 0.5 -0.057752 0.0523416 0.0181873 0.565345 0.5 -0.0578529 0.0523616 0.0171842 0.591115 0.5 -0.057949 0.0523838 0.0161799 0.603918 0.5 -0.0580719 0.0523893 0.015182 0.621989 0.5 -0.0580945 0.0523756 0.014183 0.636128 0.5 -0.0581139 0.0523629 0.0131822 0.631509 0.5 -0.0581028 0.0523658 0.0121806 0.610183 0.5 -0.0580527 0.0523859 0.0111812 0.620004 0.5 -0.0579126 0.0523842 0.0101848 0.610764 0.5 -0.0577131 0.0523367 0.00917793 0.615834 0.445516 -0.0575508 0.0523393 0.00818574 0.606346 0.5 -0.0573171 0.0523102 0.00718519 0.605023 0.5 -0.0570523 0.0522954 0.00619533 0.475812 0.47053 -0.0567142 0.0522491 0.00518691 0.471375 0.5 -0.0562413 0.0521934 0.00418603 0.485189 0.5 -0.055733 0.052157 0.00319809 0.503163 0.46858 -0.0551015 0.0521065 0.00221795 0.519124 0.5 -0.0544062 0.0520207 0.00120422 0.518323 0.5 -0.0537506 0.0519895 0.000247391 0.524069 0.5 -0.0527009 0.0518645 -0.000768796 0.533411 0.473974 -0.0518069 0.0518147 -0.00170668 0.678395 0.5 -0.0506383 0.0516722 -0.00273463 0.53976 0.46091 -0.0493524 0.0516707 -0.00371978 0.518903 0.5 -0.0241275 0.120631 -0.00401437 0.617393 0.5 --0.0913489 0.117296 0.00730629 0.321658 0.360447 --0.0384872 0.0337149 -0.0296051 0.0979878 0.5 -0.0315596 0.0497964 -0.00774264 0.616452 0.5 -0.0309277 0.0497348 -0.00874 0.593726 0.5 -0.030443 0.0496674 -0.00974777 0.647285 0.5 -0.030267 0.0496887 -0.0107252 0.732949 0.5 -0.0300872 0.0497043 -0.0117138 0.797131 0.5 -0.029585 0.0495591 -0.0127459 0.792999 0.5 -0.0293305 0.049536 -0.0137505 0.745962 0.5 -0.0291366 0.0495584 -0.0147305 0.668164 0.5 -0.028771 0.0495105 -0.0157345 0.675217 0.5 -0.0282746 0.0494546 -0.0167442 0.693834 0.5 -0.0276856 0.0494518 -0.0176966 0.457013 0.449097 -0.0269239 0.0493817 -0.018692 0.484189 0.5 -0.0260218 0.0493062 -0.0196675 0.495677 0.5 -0.0354105 0.0965418 -0.0122281 0.741905 0.5 -0.0322641 0.11194 -0.00663069 0.536101 0.5 --0.0218558 0.120004 -0.0110164 0.732965 0.5 --0.0197872 0.118912 -0.0118682 0.767014 0.5 -0.0260624 0.113339 -0.0101501 0.570072 0.5 --0.00844255 0.0358982 -0.0250895 0.274297 0.5 --0.0534525 0.116245 -0.0149003 0.442719 0.484227 -0.0220864 0.122759 -0.00230579 0.59012 0.5 --0.0610973 0.169393 -0.058599 0.418694 0.35836 --0.062524 0.167829 -0.0475902 0.572548 0.5 --0.0484771 0.135525 0.0064169 0.432784 0.464636 -0.0418026 0.102869 0.0141608 0.707999 0.5 --0.0616117 0.16 -0.0305904 0.402146 0.5 --0.062649 0.164698 -0.0365908 0.700156 0.5 --0.049274 0.1386 0.00640083 0.343442 0.443497 --0.0086601 0.174145 -0.0268323 0.270478 0.418876 --0.0611161 0.170955 -0.0586033 0.329145 0.463457 --0.0627435 0.14749 -0.0135844 0.417592 0.5 --0.0639569 0.158297 -0.0475943 0.808419 0.5 --0.0901834 0.114057 0.0406088 0.525601 0.5 --0.0493281 0.143211 0.0074004 0.537412 0.5 --0.0528479 0.141625 0.0244146 0.736656 0.5 --0.0474407 0.134003 0.00841493 0.513652 0.5 -0.0425653 0.0859482 -0.00679004 0.487732 0.483543 --0.0519291 0.13698 0.0263868 0.616208 0.5 --0.0497918 0.143216 0.0113941 0.508239 0.5 --0.0692156 0.0343564 -0.00463486 0.135623 0.5 --0.0644875 0.156696 -0.0456027 0.721398 0.5 --0.0424144 0.147803 0.00244515 0.199017 0.5 --0.0674148 0.142782 -0.0112266 0.771662 0.5 --0.0615924 0.156857 -0.0275883 0.477669 0.473396 --0.0534094 0.150878 0.0234093 0.619666 0.5 --0.062506 0.149124 -0.0145611 0.448791 0.457145 --0.0487556 0.137056 0.00741027 0.393863 0.464028 --0.0489579 0.137072 0.00640402 0.392103 0.5 --0.0720422 0.15541 -0.0389078 0.727738 0.5 --0.050582 0.13546 0.000440434 0.577058 0.412573 --0.0852004 0.111887 0.0434561 0.437868 0.5 --0.054786 0.147744 0.027387 0.589828 0.478246 --0.0871174 0.110466 0.0103621 0.412575 0.430589 --0.0614723 0.15843 -0.0295877 0.365972 0.5 -0.0579592 0.0537863 0.0201793 0.5879 0.5 -0.058207 0.0538058 0.0191798 0.625219 0.5 -0.0583564 0.0538008 0.0181861 0.63041 0.5 -0.0584743 0.0538121 0.0171841 0.634368 0.398124 -0.0585617 0.0538351 0.0161785 0.639406 0.5 -0.0585888 0.0538213 0.0151823 0.660411 0.5 -0.0587007 0.0538335 0.0141792 0.674603 0.5 -0.0587274 0.0538199 0.013179 0.649567 0.5 -0.0587826 0.0538552 0.0121765 0.642744 0.5 -0.0586626 0.0538435 0.0111779 0.632652 0.5 -0.0584482 0.0538047 0.0101717 0.487557 0.443445 -0.0582887 0.0538074 0.00917936 0.616395 0.5 -0.0581415 0.0538012 0.00818348 0.480156 0.5 -0.0578211 0.0537494 0.00717652 0.478464 0.472151 -0.0575548 0.053733 0.00618309 0.485083 0.47833 -0.0571986 0.0536922 0.00517882 0.401992 0.5 -0.0567259 0.0536428 0.00417778 0.508604 0.465156 -0.0562076 0.0536042 0.00319408 0.527881 0.5 -0.055585 0.0535517 0.00220948 0.556083 0.5 -0.0549839 0.0534895 0.00121219 0.556061 0.5 -0.0543638 0.0534389 0.000229046 0.566232 0.5 -0.0535495 0.0533436 -0.000784809 0.56678 0.460734 -0.0528846 0.0533107 -0.0017243 0.573928 0.5 -0.0514754 0.0531199 -0.00283685 0.553213 0.5 --0.00559979 0.114688 -0.0175182 0.826111 0.5 --0.00457753 0.11466 -0.0174869 0.837656 0.5 --0.0907853 0.117276 0.00630342 0.329076 0.467466 --0.0924969 0.121493 0.0302824 0.635611 0.5 -0.0329977 0.0514306 -0.00763543 0.669414 0.5 -0.0321413 0.0513188 -0.0087021 0.457637 0.5 -0.0316471 0.05126 -0.00972402 0.66497 0.5 -0.0312336 0.051167 -0.0107736 0.530484 0.470736 -0.0309109 0.0511672 -0.0117352 0.855775 0.5 -0.030542 0.0511254 -0.0127382 0.572913 0.5 -0.0301658 0.0510827 -0.0137422 0.587111 0.478707 -0.0297926 0.0510441 -0.0147439 0.539799 0.470301 -0.0294314 0.0509988 -0.0157519 0.431473 0.5 -0.0290438 0.0509642 -0.0167532 0.436572 0.5 -0.0285441 0.0509095 -0.0177614 0.412387 0.455219 -0.0279176 0.0508447 -0.0187774 0.426345 0.472529 -0.0271973 0.0508207 -0.0197147 0.570543 0.407647 -0.0261922 0.0507168 -0.0207207 0.465102 0.5 --0.0096155 0.119132 -0.0142361 0.598271 0.474115 --0.0154402 0.120098 -0.0111735 0.653192 0.5 -0.0330707 0.110451 -0.00703014 0.539439 0.5 -0.0275945 0.106191 -0.0144774 0.603346 0.5 -0.049575 0.0693171 0.00251779 0.590477 0.5 --0.00531173 0.100039 -0.0239686 0.77298 0.5 --0.0579079 0.121934 -0.00872095 0.879836 0.5 --0.0288953 0.122588 -0.00566495 0.723465 0.5 --0.0614844 0.158425 -0.031588 0.38522 0.5 --0.0623783 0.167824 -0.0485899 0.421383 0.473616 --0.0486962 0.13553 0.00541025 0.4249 0.5 --0.062967 0.159919 -0.044604 0.558971 0.486106 --0.0623736 0.164689 -0.0415928 0.451726 0.46736 --0.0624754 0.163097 -0.0475912 0.487776 0.5 --0.0869607 0.111738 0.00633151 0.392516 0.5 -0.0454345 0.0918112 0.0111626 0.583144 0.5 --0.0609822 0.170956 -0.0597011 0.298431 0.5 --0.0544369 0.147753 0.0264091 0.744221 0.39674 --0.0595895 0.0659394 0.0339087 0.525966 0.5 --0.0483417 0.137106 0.010396 0.639278 0.5 --0.0530161 0.141613 0.0254095 0.742021 0.5 --0.0475913 0.133999 0.00741747 0.50345 0.5 --0.0391911 0.149452 0.000405422 0.22412 0.5 -0.0450277 0.0945898 0.0071675 0.57059 0.5 --0.0515948 0.137023 0.025408 0.603093 0.47308 --0.0499986 0.143197 0.012378 0.514726 0.480133 --0.0786649 0.0764169 0.0296559 0.651011 0.5 --0.0643301 0.156694 -0.0446094 0.721961 0.5 --0.0086058 0.172644 -0.0268228 0.225727 0.5 --0.0309118 0.10664 -0.0209245 0.770377 0.5 --0.0614753 0.15686 -0.0265876 0.468932 0.5 --0.0532839 0.150877 0.0224035 0.622382 0.5 --0.0622926 0.149098 -0.0115749 0.392728 0.5 --0.0491197 0.137061 0.00540677 0.394191 0.5 --0.0493167 0.137038 0.00442458 0.338787 0.466697 --0.0530679 0.140053 0.026392 0.554856 0.482226 --0.0629975 0.158364 -0.0415982 0.824637 0.5 -0.042 0.102859 0.00616839 0.661426 0.5 -0.0399168 0.0999289 0.0271558 0.653894 0.5 --0.053548 0.149321 0.0244145 0.622729 0.5 -0.058143 0.0551653 0.0211996 0.392529 0.47278 -0.0584714 0.0552095 0.0201836 0.592292 0.5 -0.0586943 0.0552354 0.0191792 0.613996 0.5 -0.0588331 0.0552392 0.0181818 0.624329 0.5 -0.0589666 0.0552427 0.017183 0.637779 0.5 -0.0590653 0.0552605 0.0161784 0.645686 0.5 -0.0591616 0.0552765 0.0151753 0.673424 0.5 -0.0591992 0.0552614 0.014176 0.682943 0.5 -0.0592863 0.0552837 0.0131736 0.678143 0.5 -0.0592051 0.0552531 0.0121703 0.662742 0.5 -0.0591522 0.0552732 0.011174 0.650231 0.5 -0.0590094 0.0552651 0.0101755 0.630673 0.5 -0.0587961 0.055231 0.00916964 0.480406 0.486964 -0.0585485 0.0552063 0.00817117 0.485552 0.455852 -0.0583177 0.0551766 0.00716644 0.395639 0.476618 -0.0579783 0.0551346 0.00616127 0.484573 0.476211 -0.0576745 0.0551294 0.00518333 0.419621 0.444241 -0.0572102 0.0550739 0.00417234 0.419299 0.5 -0.0566953 0.0550372 0.00319006 0.543996 0.5 -0.0560084 0.0549549 0.0021707 0.577167 0.5 -0.0554664 0.0549257 0.00120797 0.585571 0.446377 -0.0547864 0.0548406 0.00018303 0.586578 0.5 -0.0541546 0.0547912 -0.000791322 0.613085 0.5 -0.0534041 0.0547278 -0.00176167 0.577277 0.5 -0.0523694 0.0545712 -0.00274385 0.601167 0.5 --0.0146702 0.122522 -0.00773793 0.689207 0.5 --0.0119972 0.115638 -0.0165051 0.634104 0.5 --0.0942867 0.122796 0.0162787 0.776281 0.5 --0.0916761 0.122705 0.00729331 0.544903 0.5 -0.0343906 0.0529675 -0.00763383 0.545794 0.5 -0.0333333 0.0528011 -0.00875184 0.484359 0.5 -0.032607 0.0527076 -0.00976892 0.411213 0.451629 -0.0320794 0.0526694 -0.0107538 0.423072 0.5 -0.0315143 0.0525771 -0.0117816 0.586917 0.5 -0.0312129 0.0525777 -0.012761 0.597085 0.5 -0.0308153 0.0525508 -0.0137522 0.60889 0.5 -0.0303873 0.0525299 -0.0147333 0.606603 0.47341 -0.0299175 0.0524736 -0.0157475 0.486166 0.465799 -0.0295344 0.0524338 -0.0167463 0.498899 0.428968 -0.0290611 0.0523826 -0.0177704 0.465291 0.5 -0.0285377 0.0523356 -0.0187697 0.496895 0.5 -0.0278721 0.0522836 -0.0197543 0.515529 0.5 -0.0267286 0.0521731 -0.0207566 0.550213 0.5 --0.0276563 0.12199 -0.007026 0.518687 0.5 --0.0129236 0.118879 -0.0139348 0.769673 0.5 --0.0140717 0.118746 -0.0137718 0.749928 0.5 --0.0151271 0.118705 -0.0137294 0.724599 0.5 --0.0297618 0.107877 -0.0202294 0.783066 0.5 -0.0111597 0.124256 -0.00791398 0.71863 0.5 -0.00739517 0.116252 -0.017256 0.533398 0.5 --0.0133966 0.121962 -0.00916065 0.641269 0.5 -0.0456129 0.0904097 0.00518194 0.531174 0.428444 -0.0456518 0.0904151 0.00617296 0.550896 0.42208 --0.062208 0.167823 -0.0505845 0.384454 0.5 --0.0622359 0.167822 -0.0495929 0.407741 0.5 --0.0620392 0.152203 -0.0175795 0.654188 0.5 --0.0629538 0.164686 -0.0335942 0.753947 0.5 --0.0636396 0.163113 -0.0245909 0.632536 0.5 --0.0946899 0.124172 0.0202666 0.610389 0.464725 --0.008712 0.171156 -0.0257232 0.258565 0.359784 --0.0638693 0.170945 -0.0476012 0.577834 0.5 --0.0632339 0.164684 -0.0315914 0.747287 0.5 --0.06359 0.153594 -0.035633 0.397975 0.469455 --0.0532397 0.146242 0.0224016 0.58506 0.390876 -0.0426847 0.0986805 0.020158 0.671027 0.5 --0.0480746 0.134034 0.00539884 0.47819 0.5 --0.0482356 0.137094 0.0133979 0.756012 0.5 --0.0640892 0.172567 -0.049571 0.550316 0.5 -0.0444762 0.0945372 0.00319063 0.574206 0.468607 --0.0511988 0.137011 0.0243968 0.616793 0.5 --0.0502712 0.143189 0.0133798 0.662973 0.5 --0.0759578 0.071995 0.0287387 0.629326 0.5 --0.0640597 0.156709 -0.043612 0.723161 0.5 --0.0813623 0.104616 -0.00457868 0.515597 0.433066 -0.0455252 0.0918117 0.00617298 0.577167 0.5 --0.0614699 0.156861 -0.0255852 0.465096 0.5 --0.0531741 0.150869 0.0213978 0.62099 0.5 --0.0623894 0.149097 -0.0105741 0.378009 0.444587 --0.0624074 0.1491 -0.0095736 0.323403 0.364631 --0.0930586 0.122743 0.0102788 0.398156 0.5 --0.0623027 0.152202 -0.0135791 0.335248 0.5 --0.0863384 0.102179 0.00442425 0.673799 0.5 -0.044965 0.0903773 0.0181662 0.519481 0.5 --0.0144336 0.120974 -0.0101151 0.637206 0.5 --0.0538689 0.152421 0.0214004 0.533045 0.5 -0.0585317 0.0565811 0.0212119 0.479104 0.5 -0.0589396 0.0566475 0.0201757 0.598074 0.5 -0.0590873 0.0566489 0.0191831 0.606556 0.5 -0.0592992 0.0566775 0.0181738 0.609183 0.434584 -0.0595077 0.0567056 0.0171693 0.628506 0.5 -0.0595665 0.0566863 0.0161765 0.647969 0.5 -0.0596848 0.0566967 0.0151763 0.65096 0.5 -0.0597604 0.0567164 0.0141707 0.675199 0.5 -0.0597918 0.0567046 0.013171 0.685016 0.5 -0.0597837 0.0567045 0.0121686 0.660302 0.5 -0.0597511 0.0567143 0.0111681 0.643241 0.5 -0.0595997 0.0567108 0.0101713 0.63431 0.438929 -0.0593671 0.0566851 0.00917266 0.476854 0.449768 -0.0591195 0.05666 0.00817454 0.472225 0.5 -0.0588535 0.0566417 0.00718098 0.603068 0.5 -0.058528 0.0565928 0.00617045 0.459459 0.47426 -0.0581659 0.056561 0.00517446 0.39683 0.5 -0.0577561 0.0565381 0.00419435 0.499319 0.466295 -0.0572046 0.0564633 0.00317356 0.526344 0.452579 -0.0565751 0.0564133 0.00219071 0.565967 0.5 -0.0559661 0.0563559 0.00119345 0.589158 0.5 -0.0553414 0.0563023 0.000211666 0.604168 0.5 -0.054626 0.0562289 -0.00078591 0.603038 0.5 -0.053783 0.0561466 -0.00178141 0.627685 0.5 -0.0528986 0.056075 -0.00272531 0.593811 0.5 --0.0346229 0.116833 -0.0136016 0.818609 0.5 --0.0887889 0.117194 0.003272 0.640246 0.5 --0.0944779 0.122838 0.0232837 0.698739 0.5 -0.0196586 0.112307 -0.0150514 0.636933 0.5 -0.0355326 0.0544702 -0.00765701 0.601593 0.5 -0.0347163 0.0544411 -0.00865089 0.531594 0.5 -0.033772 0.0543003 -0.00971113 0.517615 0.5 -0.0329392 0.0541774 -0.0107445 0.555557 0.5 -0.0324154 0.0541402 -0.0117355 0.581367 0.5 -0.0318353 0.0540522 -0.0127622 0.594047 0.476908 -0.0314991 0.054058 -0.0137198 0.484 0.474603 -0.0309191 0.0539829 -0.0147501 0.498271 0.5 -0.0302987 0.0539206 -0.0157566 0.510917 0.5 -0.0297243 0.0538559 -0.0167895 0.542109 0.452215 -0.0292997 0.0538256 -0.0177694 0.571346 0.5 -0.0287562 0.053781 -0.0187512 0.603411 0.5 -0.0278843 0.0536982 -0.0197695 0.611619 0.5 -0.0265706 0.0535806 -0.0207269 0.634746 0.5 --0.0294891 0.119549 -0.0104626 0.650835 0.5 --0.0248096 0.123255 -0.00440954 0.533802 0.5 --0.0225266 0.123574 -0.00478676 0.467051 0.5 -0.00646008 0.118492 -0.0156628 0.487233 0.5 -0.0258363 0.0844839 -0.0235493 0.759593 0.5 --0.0375944 0.116238 -0.0149818 0.845616 0.5 --0.00874782 0.125791 -0.00734235 0.409323 0.5 --0.0919625 0.126955 0.0342506 0.835585 0.5 --0.0928438 0.126838 0.0112559 0.469236 0.5 -0.0456884 0.0904192 0.00716979 0.574292 0.5 -0.0425976 0.0887597 -0.00680771 0.483458 0.5 --0.0621056 0.167818 -0.0515918 0.473419 0.5 --0.0623557 0.152158 -0.0235797 0.69667 0.5 --0.0621803 0.161575 -0.027587 0.585144 0.5 --0.0627141 0.159943 -0.0425974 0.761199 0.5 --0.0616059 0.160004 -0.0295877 0.391734 0.5 --0.0788477 0.0773102 0.0306071 0.649939 0.5 --0.083926 0.0775674 0.0187821 0.76776 0.5 -0.0428837 0.0887839 -0.00581701 0.479194 0.466663 --0.0618767 0.15376 -0.0175826 0.581724 0.5 --0.0530392 0.146248 0.021397 0.575877 0.371662 -0.0457562 0.0904226 0.00816981 0.585373 0.5 --0.0492939 0.133961 0.00142725 0.400685 0.436724 --0.0635915 0.172518 -0.0506017 0.550201 0.5 --0.0882052 0.0955366 0.00643448 0.408188 0.414687 --0.0759561 0.112612 -0.00567952 0.521611 0.5 --0.062341 0.164692 -0.0435908 0.46332 0.5 --0.0508742 0.137048 0.0234112 0.610902 0.5 --0.050513 0.143196 0.0143929 0.692909 0.5 --0.0301736 0.0353405 0.0506988 0.973334 0.5 --0.0638349 0.156748 -0.0426051 0.81144 0.5 --0.0820994 0.104661 -0.00359906 0.493573 0.440598 -0.0449566 0.0931917 0.0141646 0.553726 0.5 --0.0625738 0.156865 -0.0165766 0.39713 0.443201 --0.0530342 0.15087 0.0203968 0.619837 0.5 --0.0867701 0.113047 0.00428618 0.326821 0.462312 --0.0624427 0.149095 -0.00857615 0.299172 0.4296 --0.0937199 0.12277 0.0132819 0.476023 0.5 --0.0631468 0.156791 -0.0395997 0.574709 0.5 -0.0432229 0.0888059 -0.00480108 0.592423 0.5 --0.0627916 0.150662 -0.00757045 0.297477 0.5 --0.076903 0.112654 -0.00467049 0.561696 0.5 -0.038369 0.0884214 -0.0137726 0.709315 0.5 -0.0589255 0.0580383 0.0211692 0.487605 0.461406 -0.0592303 0.0580467 0.0201933 0.481931 0.5 -0.0595629 0.058084 0.0191786 0.604806 0.5 -0.0597169 0.0580863 0.0181825 0.484545 0.4804 -0.0599261 0.0581121 0.0171753 0.489468 0.5 -0.0600492 0.0581198 0.0161748 0.636218 0.5 -0.0601522 0.0581329 0.0151721 0.648031 0.5 -0.0602482 0.0581464 0.0141691 0.666442 0.5 -0.060278 0.0581371 0.013168 0.51779 0.483501 -0.0603506 0.0581587 0.0121666 0.650229 0.5 -0.060267 0.0581373 0.011162 0.633968 0.5 -0.0601313 0.0581272 0.0101639 0.618894 0.5 -0.0598737 0.0581052 0.00916393 0.472667 0.5 -0.0596228 0.0581166 0.00817617 0.454339 0.466523 -0.0593748 0.0580631 0.00716733 0.599856 0.5 -0.059111 0.0580409 0.00617531 0.849438 0.5 -0.0587584 0.0580034 0.00517536 0.597005 0.480152 -0.0582707 0.0579579 0.00417743 0.494672 0.5 -0.0577493 0.0579199 0.00320063 0.51124 0.5 -0.0570719 0.0578424 0.00217676 0.556605 0.5 -0.0564669 0.0577845 0.00118215 0.59796 0.5 -0.0557398 0.0577143 0.000186064 0.623998 0.5 -0.0550864 0.0576626 -0.000774412 0.620727 0.5 -0.0542703 0.0575789 -0.00178727 0.60797 0.5 --0.0289695 0.0380956 -0.0297496 0.537642 0.5 --0.0641179 0.115013 -0.0114251 0.578257 0.5 --0.087862 0.117151 0.00226309 0.455901 0.5 --0.0942376 0.122836 0.024283 0.561145 0.5 --0.0456556 0.126096 -0.00729728 0.56251 0.412434 -0.0363562 0.0559126 -0.00774494 0.537798 0.5 -0.035799 0.0558975 -0.00871505 0.595815 0.5 -0.0351777 0.0559301 -0.00964394 0.596731 0.5 -0.0340769 0.0556934 -0.0107486 0.577302 0.5 -0.0336268 0.0557054 -0.0117007 0.630399 0.5 -0.0328851 0.0556122 -0.0127142 0.60439 0.5 -0.0319954 0.0554568 -0.0137989 0.496217 0.5 -0.0313289 0.0554154 -0.0147753 0.519279 0.5 -0.0305588 0.055351 -0.0157687 0.552033 0.5 -0.029856 0.0552774 -0.0168073 0.580104 0.5 -0.0292061 0.055224 -0.0177993 0.622818 0.5 -0.0285713 0.0551672 -0.0188053 0.623582 0.5 -0.0275533 0.0550749 -0.019815 0.695499 0.5 -0.0263921 0.0549677 -0.020802 0.70578 0.5 -0.025364 0.0547555 -0.0216571 0.659083 0.5 -0.0247051 0.054807 -0.022754 0.580597 0.453538 -0.0240844 0.0547426 -0.0237664 0.56032 0.5 --0.0201946 0.0918367 -0.0355405 0.485557 0.5 -0.00748229 0.118415 -0.0155852 0.625074 0.5 --0.0198084 0.119865 -0.0108751 0.743421 0.5 -0.0127783 0.105278 -0.0195273 0.910659 0.5 --0.0814183 0.138999 -0.00180871 0.699893 0.300897 --0.0855476 0.136296 0.00125685 0.642134 0.5 --0.0932173 0.122834 0.0272862 0.73511 0.5 --0.0149026 0.105901 -0.0222117 0.61183 0.5 --0.0179932 0.0940702 -0.0337993 0.601117 0.5 --0.0647036 0.0653044 0.0298737 0.526618 0.351859 --0.0878362 0.112676 0.0422322 0.448078 0.427651 -0.0456774 0.0904203 0.00916591 0.582129 0.5 --0.062275 0.152174 -0.0245791 0.697154 0.5 -0.0390548 0.0884875 -0.0128108 0.687922 0.5 --0.0627318 0.159944 -0.0435973 0.565858 0.5 --0.0619877 0.169385 -0.052596 0.46269 0.5 --0.091122 0.115466 0.0410527 0.535398 0.5 --0.0522361 0.15086 0.0163848 0.674849 0.5 --0.0620309 0.153757 -0.0155846 0.555438 0.5 --0.0523224 0.146252 0.0184018 0.731359 0.389119 --0.08743 0.111796 0.0214228 0.70966 0.352708 --0.0856264 0.110331 0.00634317 0.317836 0.5 --0.049383 0.140141 0.0133936 0.55038 0.5 --0.0886543 0.102345 0.0123871 0.793205 0.5 --0.0762229 0.149992 -0.0128764 0.732483 0.5 --0.0278526 0.181478 -0.0120494 0.215821 0.5 --0.0623326 0.164687 -0.0445921 0.45291 0.5 --0.050474 0.137043 0.0223997 0.611696 0.5 --0.050774 0.143198 0.0153986 0.739005 0.5 --0.0292631 0.0351386 0.0510616 0.96808 0.5 --0.0636754 0.156752 -0.0416076 0.832758 0.5 --0.0825014 0.0978733 -0.00561152 0.68296 0.5 -0.0449079 0.0931824 0.0151569 0.544365 0.468067 --0.0627692 0.156841 -0.0155919 0.378285 0.5 --0.0631555 0.156855 -0.014582 0.441682 0.5 --0.0757616 0.109947 0.0435791 0.495771 0.5 --0.0625369 0.149102 -0.00757295 0.255911 0.5 --0.067993 0.0619274 0.01978 0.404779 0.439493 --0.0773226 0.108517 -0.00660544 0.562272 0.5 --0.0817139 0.108721 -0.00159489 0.492148 0.5 --0.0625159 0.163122 -0.0305925 0.533076 0.5 -0.0403239 0.0999619 0.0261672 0.532075 0.5 -0.0386236 0.0898511 -0.0127692 0.698424 0.5 -0.0591828 0.0594427 0.0211715 0.498377 0.5 -0.0595491 0.0594739 0.0201736 0.402399 0.5 -0.0597447 0.0594744 0.0191904 0.405181 0.453978 -0.0600207 0.0595165 0.0181686 0.409138 0.458937 -0.0601893 0.0595178 0.0171788 0.510904 0.439593 -0.0603913 0.0595429 0.0161691 0.492731 0.5 -0.0604945 0.0595549 0.015166 0.647518 0.412753 -0.0605521 0.0595441 0.0141714 0.511761 0.5 -0.0606526 0.0595573 0.0131644 0.513437 0.473552 -0.0607493 0.059571 0.0121639 0.502215 0.5 -0.0606492 0.0595518 0.0111602 0.61801 0.5 -0.0605105 0.0595417 0.010156 0.475273 0.481213 -0.0603447 0.0595379 0.00916361 0.471356 0.468845 -0.0600963 0.059514 0.00816569 0.464206 0.456925 -0.059772 0.0594746 0.00715469 0.46047 0.5 -0.0594886 0.0594575 0.00616841 0.465298 0.5 -0.0591439 0.0594194 0.00516163 0.392546 0.482592 -0.0587589 0.059387 0.00417226 0.506332 0.467745 -0.0582234 0.0593447 0.00320204 0.53774 0.5 -0.0575358 0.0592738 0.00218909 0.570191 0.5 -0.0568425 0.0592039 0.0011688 0.623483 0.5 -0.0560899 0.059136 0.000193317 0.666976 0.5 -0.0553821 0.0590684 -0.000816519 0.651579 0.5 -0.0545445 0.0589886 -0.00181806 0.645676 0.5 --0.0518774 0.104165 -0.0200373 0.649024 0.5 --0.0659757 0.132606 -0.00839654 0.779069 0.5 --0.092065 0.118755 0.0273051 0.759301 0.5 -0.0381226 0.0574698 -0.00591549 0.617029 0.5 -0.037704 0.0574555 -0.00668675 0.507519 0.407815 -0.0372794 0.0574491 -0.00767997 0.474009 0.5 -0.0366139 0.0573407 -0.00875458 0.423555 0.406295 -0.0360298 0.0573371 -0.00970954 0.644927 0.5 -0.0354668 0.0573224 -0.0106723 0.643159 0.394677 -0.0345459 0.0571781 -0.011728 0.668033 0.415515 -0.0338991 0.057119 -0.0127141 0.666013 0.5 -0.0331357 0.0570437 -0.0137102 0.516197 0.5 -0.0319374 0.0568888 -0.0147656 0.661742 0.5 -0.0308479 0.0567691 -0.0158074 0.545116 0.5 -0.030053 0.0567138 -0.0167759 0.587739 0.5 -0.0292004 0.0566287 -0.0178044 0.622435 0.5 -0.0284708 0.0565571 -0.0188308 0.651395 0.5 -0.0276189 0.0564968 -0.0197599 0.686925 0.5 -0.0266313 0.0563972 -0.0207832 0.688204 0.5 -0.0258436 0.0563286 -0.0217568 0.64374 0.5 -0.0251101 0.0562501 -0.0227775 0.624078 0.5 -0.0245832 0.0562081 -0.0237654 0.624609 0.5 -0.0239341 0.0561524 -0.0247597 0.589739 0.5 -0.0112198 0.0932651 -0.0287439 0.504262 0.457756 -0.0237606 0.105983 -0.0162548 0.712413 0.5 --0.018823 0.121694 -0.0088173 0.498583 0.5 --0.0774116 0.159696 -0.0249188 0.398538 0.5 -0.00312416 0.107287 -0.0203844 0.798566 0.5 --0.0928746 0.122834 0.0282828 0.700755 0.5 -0.0456485 0.0904179 0.0101632 0.583225 0.436528 --0.034174 0.107559 -0.0198979 0.714786 0.5 --0.0253936 0.106122 -0.0223873 0.651504 0.5 --0.0623817 0.147548 -0.00757469 0.283742 0.447137 --0.0668021 0.0909191 -0.0174744 0.566525 0.5 -0.0455601 0.0904134 0.011166 0.573408 0.440521 --0.0839267 0.145982 0.00417548 0.630633 0.5 -0.0441984 0.0917353 0.0221589 0.586087 0.5 --0.0620707 0.163126 -0.0385937 0.460723 0.460588 --0.0618524 0.169383 -0.0535961 0.450618 0.460057 --0.0860649 0.0994533 0.00140442 0.625117 0.5 --0.0853556 0.095327 -0.00158429 0.420789 0.436678 --0.0623027 0.153756 -0.0145815 0.330517 0.476166 --0.0693902 0.0672718 0.0289371 0.612889 0.5 -0.00821621 0.124741 -0.00840458 0.561943 0.485915 --0.0510928 0.12386 -0.00885828 0.66819 0.5 --0.0629712 0.145905 -0.0115915 0.540363 0.5 --0.0815177 0.106 -0.00361682 0.502265 0.5 --0.0927009 0.117475 0.0353038 0.59155 0.5 --0.0896998 0.137926 0.0341919 0.631996 0.5 --0.0623408 0.164683 -0.0455908 0.434025 0.5 --0.0500704 0.137041 0.0213927 0.61396 0.5 --0.0509887 0.143164 0.0163768 0.791816 0.5 --0.0283135 0.0350192 0.0513697 0.926702 0.5 --0.0625323 0.1568 -0.0366082 0.590445 0.469467 --0.0623412 0.156794 -0.0356173 0.592111 0.465685 -0.040909 0.0985658 0.0261474 0.52647 0.5 --0.0622512 0.175627 -0.0566298 0.659276 0.5 --0.0893296 0.0956153 0.0124232 0.579529 0.5 --0.0492132 0.138613 0.0153977 0.60067 0.489696 --0.0231675 0.184436 -0.0160624 0.201666 0.271116 --0.0875073 0.0954698 0.00341799 0.518192 0.5 --0.0621215 0.15372 -0.0285871 0.787853 0.5 --0.0918084 0.11461 0.0202058 0.759207 0.5 --0.0524198 0.0648658 0.0346087 0.638319 0.205582 -0.041209 0.10285 0.0181659 0.692422 0.5 --0.0907178 0.142015 0.0241681 0.692137 0.5 -0.059297 0.0608379 0.0211666 0.51271 0.5 -0.0595932 0.0608555 0.0201843 0.502107 0.5 -0.0598453 0.0608733 0.0191849 0.500059 0.47228 -0.0600903 0.0608951 0.0181821 0.515105 0.5 -0.0603494 0.0609121 0.0171857 0.518109 0.446278 -0.0605626 0.0609358 0.0161739 0.50427 0.5 -0.060666 0.0609482 0.0151682 0.514519 0.466829 -0.0607571 0.0609589 0.0141669 0.515814 0.5 -0.0608603 0.0609709 0.0131614 0.517727 0.5 -0.0609039 0.0609671 0.0121585 0.498069 0.5 -0.060906 0.0609648 0.0111554 0.402126 0.470636 -0.0608524 0.0609661 0.0101561 0.482051 0.467159 -0.0606167 0.0609422 0.00915424 0.479182 0.5 -0.0603694 0.0609168 0.00815448 0.470282 0.462951 -0.0601048 0.0608967 0.00715985 0.483342 0.5 -0.0597675 0.0609389 0.00613027 0.435499 0.425849 -0.0594014 0.060828 0.00515272 0.437065 0.5 -0.0589179 0.0607855 0.00414854 0.458659 0.467173 -0.0583839 0.0607371 0.00317993 0.570535 0.5 -0.0576507 0.0606695 0.00219201 0.607473 0.5 -0.0567415 0.0605855 0.00115011 0.668278 0.5 -0.0559458 0.0605187 0.000117677 0.603753 0.5 -0.0553011 0.0604636 -0.000842819 0.590909 0.474017 --0.0809167 0.107332 -0.00361395 0.506042 0.5 --0.0910269 0.129538 0.0072515 0.558083 0.5 --0.0939252 0.118758 0.016301 0.619326 0.5 -0.039239 0.0589589 -0.00512401 0.425865 0.437223 -0.0387477 0.0589461 -0.0057234 0.480415 0.5 -0.0383205 0.0589284 -0.00670105 0.449055 0.5 -0.0379552 0.0588939 -0.00773658 0.509772 0.451282 -0.0375503 0.0588742 -0.00872526 0.513159 0.44736 -0.0368613 0.0587703 -0.00975684 0.458513 0.5 -0.0361211 0.0586877 -0.0107678 0.684034 0.423327 -0.0355639 0.058664 -0.0117324 0.701563 0.5 -0.0348936 0.0586201 -0.0127038 0.713159 0.5 -0.0340234 0.0585319 -0.0137143 0.724897 0.5 -0.0331444 0.0584441 -0.0147212 0.562567 0.5 -0.0320792 0.05838 -0.0156698 0.701553 0.5 -0.0306755 0.0581744 -0.0167704 0.566063 0.476743 -0.0295964 0.0580473 -0.0178274 0.608291 0.460655 -0.0289187 0.0580129 -0.0187889 0.64862 0.5 -0.0282135 0.0579727 -0.0197309 0.671921 0.428729 -0.0273731 0.0578707 -0.0207586 0.66677 0.424843 -0.026592 0.0578126 -0.0217526 0.652647 0.5 -0.0258208 0.0577421 -0.0227411 0.655027 0.43165 -0.0249849 0.0576546 -0.0237943 0.614322 0.5 -0.0242735 0.0576737 -0.0247443 0.622422 0.5 -0.0312874 0.108108 -0.0105276 0.568763 0.5 -0.0270498 0.0919981 -0.0213752 0.662934 0.5 --0.0264967 0.121204 -0.00819998 0.496809 0.5 --0.093142 0.118716 0.0123041 0.464992 0.5 --0.0933659 0.118725 0.0133024 0.49837 0.5 --0.0835287 0.11032 0.027366 0.497492 0.5 -0.0451698 0.0903876 0.0161628 0.545468 0.451497 -0.0450682 0.090383 0.0171641 0.536137 0.5 --0.0895496 0.13918 0.0132126 0.445163 0.40099 --0.0765465 0.107865 0.0361429 0.445363 0.5 --0.0680331 0.17369 -0.0570223 0.695141 0.5 --0.0887169 0.125354 0.00227396 0.679341 0.348132 --0.0619851 0.167813 -0.0525933 0.462032 0.5 --0.0158316 0.18484 -0.0207268 0.41846 0.5 --0.0888712 0.101031 0.0183836 0.605021 0.5 --0.0616877 0.169385 -0.0545934 0.460098 0.5 --0.0320486 0.122707 -0.00572396 0.589206 0.5 --0.0616079 0.160003 -0.0285892 0.381557 0.431936 --0.0620171 0.153759 -0.016582 0.566906 0.5 --0.0623508 0.146001 -0.00658982 0.369724 0.5 -0.0125423 0.120941 -0.012332 0.45799 0.403894 --0.063934 0.169417 -0.04458 0.654827 0.5 --0.0624894 0.163088 -0.0505885 0.724955 0.5 --0.0938592 0.11877 0.0212975 0.72685 0.5 -0.026048 0.117275 -0.00637096 0.514202 0.5 --0.0518659 0.144686 0.0163701 0.767369 0.5 --0.0624255 0.16468 -0.0465913 0.410184 0.442583 --0.0496962 0.137023 0.0203775 0.615261 0.5 --0.0513993 0.14316 0.0173798 0.640566 0.5 --0.0272788 0.0350567 0.0515587 0.884671 0.5 --0.0734823 0.0649094 0.0160661 0.575058 0.5 --0.0621097 0.156825 -0.0345957 0.565053 0.471494 --0.0889438 0.137894 0.0261932 0.644772 0.453376 --0.061679 0.175513 -0.061381 0.28676 0.5 --0.0849712 0.111906 0.0292041 0.592144 0.5 --0.0707786 0.0690222 0.0306409 0.529959 0.5 --0.0486882 0.138613 0.0123943 0.727647 0.5 --0.048671 0.138621 0.0113976 0.699095 0.5 --0.052801 0.144689 0.0203903 0.749023 0.5 --0.049226 0.14015 0.0123965 0.683971 0.5 --0.0938276 0.126933 0.0242666 0.630932 0.5 --0.0788576 0.105851 -0.00657974 0.569429 0.5 --0.028606 0.0356961 0.0524615 0.59067 0.5 -0.0593092 0.0622231 0.0211664 0.531206 0.448468 -0.0596824 0.0622541 0.020173 0.435137 0.443652 -0.0599778 0.0622697 0.0191849 0.430307 0.429362 -0.0602047 0.0622908 0.0181797 0.426429 0.437042 -0.0604641 0.0623144 0.017179 0.434757 0.451533 -0.0606845 0.0623337 0.0161711 0.512649 0.5 -0.060795 0.0623425 0.0151668 0.516387 0.5 -0.0608733 0.0623548 0.014161 0.526971 0.5 -0.0609114 0.0623534 0.0131596 0.439634 0.5 -0.0610023 0.062364 0.012157 0.435291 0.469988 -0.0610091 0.0623122 0.0111052 0.443146 0.456896 -0.0609087 0.0623561 0.0101482 0.371532 0.5 -0.0607459 0.0623413 0.0091502 0.37895 0.442745 -0.0604856 0.0623173 0.00815473 0.3859 0.5 -0.0601642 0.0622865 0.0071402 0.38653 0.5 -0.0598096 0.0622539 0.00613597 0.394681 0.447895 -0.0593665 0.0622129 0.00511321 0.413274 0.5 -0.0589161 0.0621713 0.00415053 0.508049 0.469633 -0.0583787 0.0621209 0.00318289 0.633745 0.5 -0.0575354 0.0620414 0.00218896 0.663039 0.5 -0.0562981 0.0619429 0.0011209 0.708055 0.5 --0.0776736 0.10169 -0.00957801 0.503785 0.5 --0.0794787 0.104524 -0.00660043 0.553637 0.5 --0.0817304 0.107364 -0.00260486 0.481474 0.5 --0.067835 0.0951999 -0.016639 0.618731 0.389116 --0.0580744 0.136937 -0.00566118 0.659682 0.5 -0.0398205 0.0604422 -0.00479028 0.321975 0.5 -0.0393181 0.0603877 -0.00577734 0.439995 0.453278 -0.0389134 0.0603588 -0.00677348 0.686687 0.5 -0.0386112 0.0603508 -0.0077511 0.485716 0.5 -0.0382147 0.0603208 -0.00873991 0.44577 0.5 -0.0377251 0.0602627 -0.00973714 0.463498 0.454514 -0.0368862 0.0601656 -0.0107732 0.516281 0.5 -0.0363318 0.0601344 -0.0117401 0.540572 0.5 -0.0353685 0.0600237 -0.0127796 0.581486 0.5 -0.0346003 0.059954 -0.013776 0.623923 0.5 -0.0339055 0.0599168 -0.014725 0.617756 0.5 -0.0330579 0.0598189 -0.0157593 0.598783 0.5 -0.0322222 0.0597861 -0.0166881 0.754582 0.5 -0.0313723 0.0597573 -0.0175925 0.742459 0.5 -0.0295583 0.0594698 -0.0188239 0.617611 0.449874 -0.0288023 0.0594063 -0.0198054 0.658552 0.5 -0.0281353 0.0593598 -0.0207767 0.66994 0.5 -0.0273613 0.0592959 -0.0217662 0.688115 0.5 -0.0264018 0.0591975 -0.0228202 0.700746 0.5 -0.0253341 0.0591059 -0.0237971 0.67321 0.5 -0.0179185 0.121996 -0.0074786 0.61441 0.349043 --0.0494965 0.11266 -0.0171746 0.70381 0.5 --0.0859627 0.109007 0.009354 0.687282 0.5 -0.0206432 0.121117 -0.00652883 0.589591 0.462402 --0.0935937 0.118737 0.0143019 0.519623 0.5 -0.0147782 0.0929392 -0.0263979 0.529844 0.440138 --0.0939345 0.122834 0.0252963 0.733465 0.5 --0.0925995 0.118805 0.0322947 0.532677 0.5 -0.0455409 0.0918154 0.00916522 0.584363 0.5 --0.0619689 0.153737 -0.0245819 0.758897 0.5 --0.0628795 0.15219 -0.00958093 0.302804 0.379925 --0.0854234 0.100771 0.000422318 0.457821 0.37761 --0.0628433 0.16149 -0.0495873 0.792351 0.5 --0.011814 0.163592 -0.0157611 0.270819 0.5 --0.0618453 0.155287 -0.0285878 0.741266 0.5 --0.0615314 0.169388 -0.0555899 0.453087 0.5 --0.0286194 0.180015 -0.014033 0.334238 0.5 --0.0617587 0.160001 -0.0265888 0.404379 0.5 --0.0618601 0.153758 -0.0185818 0.597977 0.5 --0.0620348 0.146024 -0.00560988 0.273338 0.5 --0.0617126 0.170956 -0.0545977 0.375323 0.476926 -0.0428658 0.0623821 -0.00251673 0.572144 0.5 --0.0896222 0.111892 0.015334 0.537165 0.5 --0.0921157 0.118792 0.0303066 0.575147 0.274328 --0.058698 0.0349789 0.0448461 0.767369 0.5 --0.0890965 0.111935 0.0113594 0.419454 0.5 --0.0761401 0.0728821 0.0296904 0.656357 0.5 --0.0494036 0.13704 0.0193807 0.619246 0.5 --0.0523714 0.143148 0.0193902 0.798325 0.5 --0.0526124 0.143167 0.0204083 0.782928 0.347147 --0.0728419 0.0642516 0.016748 0.587415 0.5 --0.0615795 0.156866 -0.0245858 0.370593 0.5 --0.0614886 0.156862 -0.0235899 0.44398 0.5 --0.0271327 0.0917299 -0.030613 0.268186 0.338914 --0.0946719 0.122818 0.0192736 0.603707 0.457923 --0.0665119 0.0621274 0.0216726 0.357363 0.371289 --0.0800885 0.0739226 0.0209531 0.780963 0.5 --0.0524448 0.149335 0.0194038 0.713835 0.5 --0.0870404 0.113136 0.0295379 0.508082 0.5 --0.0190143 0.123258 -0.00649836 0.488696 0.432273 --0.0512927 0.135429 -0.000552487 0.593683 0.5 --0.0619747 0.170963 -0.0535908 0.478753 0.5 -0.0589314 0.0635744 0.022157 0.588022 0.452474 -0.0593532 0.0636103 0.0211835 0.569859 0.5 -0.0597267 0.0636404 0.0201833 0.455362 0.452165 -0.060067 0.0636708 0.0191758 0.454249 0.474979 -0.0603322 0.0636924 0.0181801 0.445435 0.5 -0.0605691 0.0637105 0.0171755 0.529909 0.466441 -0.060777 0.0637293 0.0161648 0.518411 0.435097 -0.0608734 0.0637391 0.0151617 0.423145 0.5 -0.0608914 0.0637395 0.0141606 0.442389 0.5 -0.0609254 0.0637423 0.0131584 0.453719 0.480682 -0.0610039 0.0637491 0.0121545 0.448999 0.475178 -0.0609826 0.0637492 0.0111528 0.453067 0.5 -0.0607975 0.0637336 0.0101416 0.380389 0.485682 -0.0606094 0.0637127 0.00915317 0.405306 0.438652 -0.0602932 0.0636878 0.00814035 0.416179 0.5 -0.0600133 0.0636587 0.00714888 0.422605 0.470528 -0.0595925 0.0636093 0.00613697 0.427777 0.488755 -0.0592296 0.0635939 0.00512091 0.440985 0.5 -0.0587422 0.0635506 0.00411936 0.539166 0.404475 -0.0582061 0.0634965 0.00313887 0.680389 0.5 -0.0573538 0.0634191 0.00214341 0.743078 0.5 -0.0562979 0.0633024 0.00123284 0.735628 0.5 --0.0798641 0.145899 -0.00181913 0.535212 0.5 --0.0867821 0.10632 0.010369 0.700997 0.5 --0.0822334 0.107404 -0.00162196 0.380279 0.5 --0.0904479 0.129526 0.00625875 0.558728 0.5 --0.0879901 0.0928029 0.00642738 0.676827 0.5 -0.0402464 0.0618954 -0.00472398 0.363401 0.5 -0.039774 0.0618507 -0.00575724 0.360428 0.447336 -0.0394097 0.0618135 -0.00677045 0.384344 0.5 -0.0390675 0.0617702 -0.00778266 0.554797 0.462018 -0.0387541 0.0617571 -0.00875906 0.444794 0.469573 -0.0382522 0.0617095 -0.0097618 0.511661 0.5 -0.0376047 0.0616532 -0.0107499 0.538778 0.5 -0.0367516 0.061565 -0.0117718 0.562398 0.5 -0.0357612 0.0614637 -0.0127934 0.609268 0.5 -0.0348978 0.0613787 -0.0138096 0.643022 0.5 -0.034267 0.0613198 -0.014809 0.640147 0.5 -0.0335661 0.0612752 -0.015761 0.623727 0.5 -0.0328256 0.0611992 -0.0167775 0.619096 0.5 -0.0320447 0.061134 -0.0177676 0.617945 0.5 -0.0305387 0.0609912 -0.0187852 0.640408 0.5 -0.0292827 0.060879 -0.0197951 0.675718 0.5 -0.0284552 0.0607955 -0.0208488 0.706957 0.5 -0.0276877 0.0607373 -0.0218456 0.749572 0.5 -0.0267364 0.0606633 -0.022785 0.765619 0.5 -0.0253513 0.0605347 -0.0238887 0.724599 0.5 -0.0506397 0.0652197 -0.00133714 0.518067 0.5 --0.0836964 0.106272 0.0263573 0.664023 0.5 --0.0860408 0.109124 0.0103593 0.500399 0.443883 -0.0197584 0.121448 -0.00690816 0.589165 0.5 --0.0743851 0.163815 -0.0369793 0.498117 0.5 --0.0935895 0.122834 0.0262964 0.753403 0.5 --0.0928043 0.11882 0.0332998 0.540303 0.5 --0.0911853 0.113324 0.0173235 0.668386 0.5 --0.0682589 0.154325 -0.0506473 0.206571 0.0818868 -0.0432138 0.091668 0.0251628 0.619695 0.461412 --0.0561456 0.0642166 0.0326189 0.607231 0.5 --0.0623548 0.166257 -0.0465894 0.443543 0.453907 --0.0624916 0.166267 -0.0445898 0.501406 0.5 -0.0447757 0.0875223 -0.000814326 0.456617 0.5 --0.0628947 0.161497 -0.0505862 0.790998 0.5 --0.0627087 0.161508 -0.0465953 0.536452 0.5 --0.0675666 0.163787 -0.0559757 0.4204 0.294178 --0.0626379 0.152126 -0.0285986 0.503212 0.478245 --0.0613674 0.169388 -0.0565896 0.423503 0.5 --0.0486888 0.138617 0.0104009 0.63839 0.5 --0.0618725 0.160013 -0.0255862 0.427528 0.471582 --0.0618529 0.153757 -0.0195806 0.62669 0.5 --0.0616292 0.146031 -0.00460349 0.322387 0.5 --0.0769756 0.068555 0.0156381 0.762204 0.292567 --0.0931885 0.121553 0.0392843 0.640697 0.5 --0.086179 0.107645 0.0083646 0.723959 0.5 --0.048947 0.138616 0.00839947 0.541576 0.5 --0.00919366 0.172678 -0.0237455 0.368455 0.44524 --0.0782342 0.0694181 0.011104 0.701786 0.5 --0.0893331 0.111939 0.012355 0.451447 0.45692 --0.0491945 0.137084 0.0184007 0.613921 0.5 --0.0489315 0.137078 0.0173942 0.593306 0.486414 --0.052837 0.143168 0.022419 0.770862 0.5 --0.0616908 0.156845 -0.0305919 0.490928 0.5 --0.0617331 0.156868 -0.0205842 0.370867 0.5 --0.06337 0.156813 -0.0136043 0.475928 0.5 -0.041276 0.104245 0.0131611 0.698114 0.5 --0.0624555 0.163099 -0.0465902 0.404884 0.459604 --0.094679 0.122825 0.0202733 0.624215 0.5 --0.0793623 0.0739499 0.024599 0.809934 0.5 --0.0359512 0.151053 -0.00163407 0.225483 0.5 -0.0417584 0.0971928 -0.00282344 0.499275 0.474504 --0.0839655 0.111209 0.0317911 0.758126 0.5 --0.0628372 0.172536 -0.0525874 0.578677 0.466157 --0.0491537 0.135503 0.0034228 0.390718 0.46773 --0.0631703 0.172516 -0.0516045 0.53271 0.5 --0.0526002 0.146245 0.0194042 0.727744 0.39119 -0.0597099 0.0650292 0.0201784 0.578958 0.5 -0.0600686 0.0650603 0.0191749 0.571871 0.472983 -0.0603421 0.0650847 0.0181826 0.468146 0.5 -0.0605804 0.0651016 0.017176 0.563386 0.47147 -0.0607736 0.0651167 0.0161629 0.45584 0.5 -0.0608111 0.0651191 0.0151635 0.454404 0.473191 -0.0608755 0.0651235 0.0141559 0.447357 0.478762 -0.0609018 0.0651278 0.0131549 0.454813 0.5 -0.0608929 0.0651253 0.0121512 0.45254 0.5 -0.060768 0.0651161 0.0111484 0.463583 0.443964 -0.0605435 0.0650981 0.0101416 0.451507 0.5 -0.0603039 0.0650788 0.0091381 0.471801 0.5 -0.0600369 0.0650499 0.00814341 0.419353 0.47958 -0.0597512 0.0650182 0.00715554 0.502335 0.5 -0.0593281 0.0649895 0.00613553 0.435876 0.488524 -0.0589446 0.0649523 0.0051412 0.437231 0.445735 -0.0585127 0.0649229 0.00410871 0.436993 0.5 -0.0580762 0.0648724 0.00314588 0.65077 0.5 -0.0574118 0.0647963 0.00219725 0.650267 0.5 --0.085954 0.146023 0.00719275 0.583295 0.5 --0.0850056 0.146006 0.00617966 0.578063 0.5 --0.0870127 0.10633 0.011369 0.71696 0.5 --0.0865455 0.109036 0.0123603 0.700129 0.345107 --0.093028 0.117371 0.013308 0.524093 0.5 --0.089472 0.092961 0.0204149 0.518169 0.5 -0.0407504 0.0633497 -0.00473671 0.332419 0.5 -0.0402874 0.063301 -0.00576463 0.391244 0.5 -0.0399096 0.0632641 -0.00677014 0.511651 0.5 -0.0395267 0.0632302 -0.00776648 0.468182 0.412828 -0.0391263 0.0631992 -0.00875738 0.522048 0.5 -0.0385298 0.0631329 -0.0097765 0.5525 0.5 -0.037815 0.0630498 -0.0108066 0.605203 0.5 -0.0371109 0.0630101 -0.0117592 0.611435 0.5 -0.0360211 0.0628935 -0.0127986 0.656433 0.5 -0.0350456 0.0627954 -0.0138277 0.663586 0.5 -0.0344395 0.062733 -0.0148459 0.657016 0.5 -0.0338754 0.0626989 -0.015804 0.646731 0.5 -0.0330982 0.0626311 -0.0167961 0.640741 0.5 -0.032428 0.0625798 -0.0177725 0.657872 0.5 -0.0314312 0.0625198 -0.0186445 0.672704 0.5 -0.0294467 0.0623083 -0.0198501 0.710796 0.5 -0.0285202 0.0622348 -0.0207982 0.752591 0.5 -0.0275233 0.0621538 -0.0218174 0.767102 0.5 --0.092876 0.129604 0.0142376 0.771729 0.5 --0.0818638 0.147313 0.00119815 0.418967 0.5 --0.0903736 0.13787 0.0221843 0.709239 0.5 --0.0897153 0.135171 0.0332079 0.588332 0.473105 --0.0864494 0.107673 0.0113573 0.69369 0.5 --0.0938278 0.128299 0.0222532 0.588911 0.5 --0.0935248 0.128245 0.016248 0.768163 0.5 -0.044641 0.0945606 0.00417916 0.57455 0.5 --0.092918 0.118828 0.0342968 0.582513 0.5 --0.0913132 0.113305 0.0163255 0.64194 0.5 --0.0913588 0.113353 0.0143394 0.545389 0.5 --0.081976 0.138997 -0.000769762 0.652578 0.5 -0.0203578 0.0985304 -0.0223097 0.600381 0.5 --0.0935435 0.118764 0.0233045 0.789502 0.5 --0.0624498 0.166273 -0.0455815 0.481258 0.414324 --0.0942308 0.126903 0.0192529 0.800757 0.5 --0.010049 0.165099 -0.0207588 0.191875 0.5 --0.0627531 0.161513 -0.0475897 0.752712 0.5 --0.0626588 0.161511 -0.0455953 0.421235 0.451761 --0.0552881 0.147721 0.0283494 0.613541 0.5 --0.0625817 0.159955 -0.0415973 0.734254 0.5 --0.0617319 0.160008 -0.0275856 0.383457 0.424927 --0.0619701 0.160031 -0.0245798 0.434639 0.5 --0.0621336 0.16002 -0.0235787 0.567161 0.5 --0.0618471 0.153751 -0.0215773 0.664209 0.5 --0.0607772 0.146055 -0.00361746 0.39443 0.5 --0.0771466 0.113816 0.049094 0.491224 0.453976 --0.0897739 0.137922 0.033196 0.608909 0.5 -0.0447988 0.0903457 0.000177034 0.504544 0.5 -0.0319929 0.088146 -0.0193446 0.740422 0.5 --0.0918355 0.118761 0.0292947 0.643012 0.5 --0.0758074 0.0766216 0.033593 0.744646 0.5 -0.0399293 0.104183 0.0231644 0.520942 0.490847 --0.0721186 0.0637108 0.0173676 0.579692 0.5 --0.0486891 0.137066 0.0163891 0.595154 0.489054 --0.052704 0.143169 0.0214165 0.765243 0.5 --0.0624967 0.149081 -0.013576 0.41432 0.467721 --0.061875 0.156868 -0.0195857 0.454904 0.5 -0.0449905 0.0917771 0.0161555 0.543265 0.5 -0.0430064 0.0930319 -0.00281527 0.600393 0.405817 --0.0828359 0.104706 -0.00261356 0.354692 0.5 --0.0478194 0.135564 0.0104014 0.510898 0.5 --0.0616144 0.155309 -0.0245851 0.675435 0.5 --0.0757064 0.112028 0.0472849 0.35358 0.453897 --0.0622893 0.15065 -0.0135783 0.444536 0.465134 --0.0409029 0.149467 0.00342301 0.253205 0.5 --0.0763652 0.1528 -0.0108857 0.732168 0.5 --0.050851 0.138527 0.021367 0.634628 0.5 --0.0504949 0.138575 0.0203939 0.632903 0.5 -0.0441946 0.0874765 -0.00278813 0.493411 0.5 -0.0594927 0.066407 0.020186 0.518106 0.482139 -0.0598501 0.0664357 0.0191799 0.506167 0.479964 -0.0601731 0.0664558 0.0181654 0.497426 0.467689 -0.060413 0.0664733 0.017165 0.427486 0.478306 -0.0605561 0.0664891 0.0161665 0.481809 0.477239 -0.0606816 0.0664976 0.015162 0.460514 0.475142 -0.0607002 0.0665033 0.01416 0.456193 0.5 -0.0607552 0.0664989 0.0131533 0.463838 0.5 -0.0606695 0.0664968 0.0121468 0.464666 0.5 -0.0605358 0.0664822 0.0111446 0.462128 0.5 -0.060304 0.0664655 0.0101406 0.46929 0.5 -0.0600635 0.0664445 0.00913698 0.480542 0.5 -0.05973 0.0664208 0.00812497 0.496014 0.478544 -0.0594367 0.0663847 0.00713811 0.492351 0.5 -0.0590795 0.0663557 0.00613696 0.501313 0.5 -0.0587114 0.0663183 0.00513779 0.422503 0.453223 -0.0583506 0.0662943 0.00413175 0.393897 0.5 -0.0578361 0.0662412 0.00314493 0.483262 0.5 --0.0787914 0.14589 -0.00282549 0.452269 0.5 --0.0902934 0.147439 0.0121579 0.412818 0.441986 --0.0871517 0.106348 0.0123653 0.738551 0.5 --0.0862013 0.10903 0.0113533 0.640104 0.5 --0.0904236 0.116034 0.0273085 0.663059 0.5 --0.0903526 0.116014 0.0283099 0.522719 0.5 --0.0717098 0.161007 -0.0419418 0.496723 0.5 -0.0410795 0.0647663 -0.00478377 0.507469 0.5 -0.0406946 0.0647331 -0.00578164 0.493657 0.5 -0.0404164 0.0647148 -0.00677085 0.586655 0.5 -0.0400167 0.0646852 -0.00776271 0.471015 0.5 -0.0395163 0.0646366 -0.0087647 0.549114 0.5 -0.0388727 0.0645792 -0.00975725 0.582326 0.5 -0.0381646 0.0644978 -0.0107883 0.597968 0.5 -0.0374992 0.0644481 -0.0117672 0.621644 0.5 -0.0364959 0.064355 -0.0127735 0.669302 0.5 -0.0354946 0.0642547 -0.0137843 0.669427 0.418864 -0.0347681 0.0641816 -0.0148052 0.65821 0.39016 -0.0341358 0.0641297 -0.0158137 0.657435 0.5 -0.0333657 0.0640658 -0.0168115 0.654648 0.5 -0.032684 0.0640121 -0.0177767 0.677332 0.5 -0.0317217 0.0639399 -0.0186866 0.708156 0.5 -0.0292435 0.0637114 -0.0199317 0.743712 0.5 -0.0282585 0.063629 -0.0207965 0.764085 0.5 --0.0816965 0.144555 0.000152955 0.624526 0.5 --0.0728966 0.155445 -0.0329107 0.7321 0.5 --0.0823675 0.147331 0.00217458 0.456016 0.5 --0.0404457 0.119913 -0.0128413 0.670847 0.5 --0.0900211 0.137875 0.0231818 0.694911 0.5 --0.088578 0.151544 0.0220955 0.281214 0.5 --0.0862104 0.107661 0.0103578 0.724414 0.5 --0.0789879 0.13894 -0.00474105 0.651244 0.5 --0.0719092 0.180772 -0.055937 0.217889 0.39694 --0.0899881 0.118599 0.00429898 0.34384 0.467835 --0.093011 0.118839 0.0352993 0.604356 0.439413 --0.091323 0.113292 0.0153266 0.576788 0.5 -0.0138426 0.11139 -0.0180298 0.539267 0.5 --0.00436077 0.12603 -0.00766771 0.516883 0.5 --0.0197383 0.108898 -0.0213322 0.624279 0.5 --0.0868944 0.122556 -0.00173403 0.501688 0.473151 --0.0623619 0.166253 -0.047591 0.411049 0.5 -0.0450177 0.0875447 0.000184881 0.540075 0.5 --0.0624633 0.170945 -0.051605 0.555973 0.5 --0.0628376 0.161493 -0.0485893 0.775807 0.5 --0.0618303 0.167813 -0.0535931 0.448941 0.5 --0.0350329 0.037518 0.0477355 0.546061 0.5 --0.0786005 0.174957 -0.0470491 0.260646 0.383695 --0.0870246 0.129415 0.000309032 0.645738 0.5 --0.0843481 0.145997 0.00513587 0.608851 0.5 --0.0618485 0.153752 -0.0205795 0.651483 0.5 --0.0618449 0.153748 -0.0225793 0.690103 0.5 --0.02429 0.121354 -0.00839434 0.436622 0.5 --0.0596536 0.0350995 0.0445384 0.785006 0.5 --0.0861323 0.103534 0.00440203 0.518003 0.5 --0.0863242 0.111849 0.0243217 0.670457 0.360378 --0.0897135 0.12265 0.00431103 0.469948 0.5 -0.0215374 0.086463 -0.0256391 0.735721 0.5 --0.091127 0.143391 0.0261688 0.705022 0.5 --0.0896974 0.137929 0.0351902 0.633144 0.5 --0.0713436 0.0632651 0.0179295 0.525034 0.394459 --0.048519 0.137086 0.0153953 0.784327 0.5 --0.0497252 0.137033 0.00342407 0.444681 0.470316 --0.0625403 0.149101 -0.00657536 0.274275 0.5 --0.0625222 0.149113 -0.00558111 0.283098 0.426219 --0.0524843 0.150872 0.017395 0.678119 0.5 --0.0616338 0.0739295 0.0406212 0.583884 0.5 --0.060807 0.170968 -0.0607383 0.330327 0.41059 --0.089989 0.142041 0.0291697 0.571759 0.478102 -0.0454091 0.0918015 0.00517469 0.558681 0.5 --0.0507589 0.144713 0.0133585 0.536093 0.5 --0.00964827 0.166616 -0.0197629 0.287972 0.5 --0.0622964 0.150648 -0.0145762 0.456238 0.5 --0.0624206 0.150641 -0.0155752 0.669544 0.5 --0.0681397 0.0738079 0.0376094 0.585674 0.5 --0.0762076 0.0680671 0.0162505 0.564026 0.5 --0.0619782 0.15683 -0.0335967 0.543339 0.5 -0.059075 0.0677442 0.0201625 0.512356 0.5 -0.0594437 0.0677773 0.0191638 0.628414 0.5 -0.0597202 0.067814 0.0181758 0.621287 0.5 -0.0599615 0.0678313 0.0171716 0.608535 0.5 -0.0602499 0.0678328 0.0161531 0.513118 0.5 -0.060415 0.0678562 0.0151973 0.439667 0.449428 -0.0604451 0.0678689 0.0141533 0.494491 0.389428 -0.0604235 0.0678625 0.0131519 0.481165 0.5 -0.0603302 0.0678632 0.0121432 0.486713 0.5 -0.0601999 0.0678503 0.0111396 0.483528 0.5 -0.060054 0.0678303 0.0101401 0.428491 0.475357 -0.0597965 0.0678036 0.00914167 0.431722 0.480811 -0.0594691 0.0677866 0.0081304 0.43122 0.5 -0.0591059 0.0677548 0.00712748 0.502365 0.5 -0.0588047 0.0677091 0.00614939 0.388595 0.458211 -0.0583737 0.0676977 0.00512132 0.385578 0.5 -0.0579573 0.0676391 0.00414749 0.442401 0.5 --0.069363 0.163799 -0.0509746 0.507172 0.425574 --0.0737025 0.144377 -0.00986626 0.219727 0.5 --0.09225 0.125605 0.0402535 0.608695 0.5 --0.0886572 0.111878 0.019323 0.70484 0.35637 --0.0378805 0.108506 -0.019759 0.689547 0.5 --0.0907184 0.115992 0.0263684 0.712117 0.5 -0.0421932 0.0662609 -0.00283376 0.400123 0.5 -0.0417187 0.066227 -0.00378154 0.367386 0.446541 -0.0413114 0.0661977 -0.00477755 0.539648 0.5 -0.0411176 0.0661976 -0.00575682 0.622611 0.410323 -0.0407967 0.0661529 -0.00677209 0.611125 0.41748 -0.0404048 0.0661215 -0.00776758 0.661851 0.5 -0.0398123 0.066053 -0.00878746 0.556325 0.5 -0.0392908 0.0660103 -0.00977956 0.57749 0.5 -0.0387498 0.0659721 -0.0107606 0.59767 0.415788 -0.0381172 0.0659142 -0.0117557 0.608024 0.5 -0.0372578 0.0658262 -0.0127785 0.645736 0.5 -0.0362974 0.0657667 -0.0137187 0.694388 0.5 -0.0352496 0.0656442 -0.0147977 0.674553 0.5 -0.0344134 0.0655586 -0.0158419 0.686126 0.5 -0.0337176 0.0655129 -0.0167917 0.684285 0.5 -0.0328144 0.0654355 -0.0177831 0.712253 0.5 -0.031763 0.0653471 -0.018741 0.722277 0.5 -0.0289004 0.0650837 -0.0199869 0.779164 0.5 -0.0278158 0.0649933 -0.0208789 0.758366 0.5 -0.0270423 0.0648893 -0.0216756 0.751519 0.5 -0.0255963 0.0648009 -0.0228004 0.723219 0.5 --0.0331172 0.123673 -0.00477506 0.647429 0.5 --0.062769 0.175495 -0.0615699 0.43069 0.5 --0.0357951 0.124657 -0.0058294 0.57014 0.467813 --0.0707687 0.155356 -0.0469258 0.29179 0.457421 --0.0861823 0.107654 0.00936346 0.742276 0.5 --0.0921162 0.126957 0.038246 0.81737 0.5 --0.0931674 0.126844 0.0122586 0.672962 0.5 --0.0905225 0.118622 0.0053153 0.440399 0.383356 --0.0930341 0.118841 0.0362969 0.63877 0.5 --0.0924063 0.129578 0.0112381 0.432982 0.472725 --0.0283024 0.0362399 -0.0299084 0.410891 0.5 --0.093138 0.120057 0.0112982 0.411389 0.463667 -0.0376148 0.100847 -0.00874384 0.599048 0.5 --0.0685057 0.159542 -0.0539539 0.347424 0.36773 --0.0622192 0.166249 -0.0495907 0.388309 0.466968 --0.0623474 0.166249 -0.0485903 0.388427 0.456733 --0.0627193 0.152197 -0.01058 0.333982 0.5 -0.0445653 0.094573 0.0151616 0.544411 0.5 --0.0616692 0.167812 -0.0545903 0.453023 0.5 --0.0625367 0.161521 -0.0446005 0.410425 0.443322 --0.0895837 0.137934 0.0361877 0.634664 0.5 --0.0447475 0.146272 0.00240034 0.246837 0.5 --0.0506725 0.0667938 0.036819 0.834861 0.5 --0.0716693 0.147461 -0.0281971 0.325269 0.407135 --0.0733924 0.0656461 0.018954 0.681537 0.5 --0.0178004 0.121647 -0.00876548 0.746484 0.5 --0.0244946 0.0357757 0.0532784 0.554328 0.5 --0.0329051 0.0359381 0.0496011 0.466377 0.5 --0.0521695 0.144678 0.0173655 0.785935 0.5 --0.0623389 0.163139 -0.0325913 0.647433 0.5 -0.0410596 0.104249 0.0151631 0.700347 0.5 --0.00158589 0.110252 -0.0207823 0.68768 0.5 -0.0452758 0.0875665 0.00218329 0.468856 0.5 --0.00876131 0.174216 -0.0276966 0.2662 0.352104 --0.0752039 0.0696978 0.0256249 0.721843 0.361863 --0.0501179 0.137029 0.00241503 0.413799 0.5 --0.0506864 0.137014 0.00141591 0.566994 0.5 --0.00977222 0.11683 -0.0157853 0.62651 0.5 --0.0756514 0.0743685 0.0320217 0.707013 0.5 --0.0688541 0.147497 -0.029579 0.322588 0.195946 --0.0892328 0.114145 0.0245988 0.702106 0.5 --0.0499497 0.0724883 0.0409516 0.697327 0.364039 --0.0625466 0.16468 -0.0375945 0.531364 0.5 --0.0498374 0.138571 0.0183794 0.621492 0.481876 --0.0621883 0.177235 -0.0596222 0.331893 0.5 --0.0325574 0.126601 0.00788172 0.891704 0.5 --0.0623836 0.163119 -0.0315939 0.664571 0.5 --0.0727909 0.0685075 0.0271607 0.656727 0.5 --0.0311459 0.0354418 0.0504241 0.589301 0.420393 --0.065976 0.0624665 0.0232686 0.34605 0.458942 --0.0778526 0.159695 -0.0239243 0.409648 0.462102 -0.0588289 0.0691072 0.0191593 0.543474 0.5 -0.0590657 0.0691634 0.0182335 0.554241 0.5 -0.0593699 0.0691831 0.0171767 0.605691 0.5 -0.0596647 0.0691741 0.016158 0.521225 0.445513 -0.0599111 0.0692057 0.0151972 0.452353 0.47042 -0.0599479 0.0692188 0.0141571 0.527037 0.5 -0.0599383 0.0692126 0.0131498 0.516521 0.474553 -0.0598509 0.0692231 0.0121425 0.510733 0.5 -0.059734 0.0692161 0.0111359 0.476002 0.463443 -0.0595736 0.0691817 0.0101411 0.490236 0.5 -0.0593141 0.0691549 0.00914325 0.413909 0.481162 -0.058968 0.0691324 0.00813536 0.479832 0.479512 -0.0586666 0.0690768 0.00715872 0.396109 0.5 -0.0582293 0.0690671 0.00613614 0.430972 0.5 --0.0847301 0.0966436 -0.00257686 0.402976 0.5 --0.0890756 0.0982905 0.00941744 0.541381 0.477315 --0.000674255 0.10997 -0.0204918 0.747029 0.5 --0.0750751 0.149943 -0.025867 0.331486 0.5 --0.0616586 0.172539 -0.056588 0.496739 0.5 --0.0838768 0.108986 0.0253683 0.526004 0.5 --0.0846088 0.10754 0.00337493 0.464458 0.388819 -0.0428284 0.0676747 -0.00179274 0.390428 0.45538 -0.0423783 0.0676875 -0.00279832 0.532814 0.5 -0.0420557 0.0676716 -0.00377172 0.55545 0.5 -0.0417415 0.0676611 -0.00475281 0.62665 0.397669 -0.0414338 0.0676164 -0.00577635 0.633997 0.397692 -0.041165 0.0675922 -0.00677134 0.701656 0.5 -0.0407755 0.0675587 -0.00776366 0.554897 0.5 -0.0401757 0.067497 -0.00878165 0.577152 0.5 -0.0396853 0.0674479 -0.00978879 0.587581 0.454153 -0.0391881 0.0673984 -0.0107969 0.602199 0.5 -0.0386173 0.0673644 -0.0117551 0.630475 0.5 -0.0377774 0.0672774 -0.012792 0.677362 0.5 -0.0368588 0.0672041 -0.0137655 0.718518 0.5 -0.0357587 0.067099 -0.014806 0.727409 0.5 -0.0347467 0.0670098 -0.0158076 0.731043 0.5 -0.0339284 0.0669478 -0.0167571 0.7275 0.5 -0.0329063 0.0668566 -0.0177475 0.761108 0.5 -0.0317419 0.0667553 -0.0187125 0.756776 0.5 -0.0289846 0.0664902 -0.0199255 0.738276 0.5 -0.0282217 0.0664463 -0.0207545 0.732228 0.5 -0.02743 0.0663837 -0.0217206 0.715454 0.5 -0.0264606 0.0663192 -0.0226274 0.705727 0.5 --0.0564227 0.125779 -0.00685719 0.695681 0.5 -0.0198172 0.102563 -0.0205962 0.610227 0.5 --0.0415646 0.125825 -0.00703356 0.525469 0.444948 --0.0302927 0.117007 -0.0138211 0.807374 0.5 -0.0256941 0.120543 -0.00190068 0.791441 0.5 --0.0858928 0.108988 0.00834067 0.460157 0.5 --0.0909761 0.118636 0.00631645 0.426339 0.5 --0.0930791 0.118839 0.037294 0.637755 0.5 --0.0915391 0.118654 0.00731945 0.416554 0.444085 --0.0920088 0.118668 0.00830639 0.425196 0.5 --0.0924079 0.114699 0.0153245 0.590792 0.5 --0.0934649 0.120072 0.0123034 0.443931 0.463271 -0.0389827 0.104151 0.026189 0.524791 0.5 --0.0889514 0.121274 0.00229944 0.482507 0.5 --0.048864 0.162635 -0.0057974 0.352072 0.5 --0.0750897 0.149941 -0.0248696 0.340828 0.5 --0.0624226 0.152205 -0.0125757 0.33511 0.5 --0.0624554 0.1522 -0.0115838 0.357057 0.428092 -0.0438051 0.0987511 0.0101628 0.580242 0.5 --0.0623435 0.161536 -0.0425937 0.392534 0.5 --0.073147 0.0648981 0.0178865 0.644903 0.5 --0.0624944 0.145991 -0.00758108 0.45743 0.466287 --0.0450098 0.146255 0.00342574 0.197508 0.5 --0.0508226 0.162642 -0.00385759 0.312044 0.5 --0.0726712 0.0651053 0.0195713 0.51486 0.477339 --0.0490908 0.140152 0.0103957 0.609668 0.5 --0.0491744 0.14016 0.00939463 0.557684 0.5 --0.0771179 0.165222 -0.035974 0.377407 0.330769 --0.0828817 0.143196 0.00216401 0.585492 0.5 --0.0617323 0.155315 -0.018581 0.398967 0.5 --0.0939826 0.118759 0.0192971 0.676339 0.5 --0.0544221 0.144671 0.0284168 0.672922 0.5 -0.0427418 0.0916392 0.0261768 0.638045 0.5 --0.0892569 0.122633 0.00330914 0.471385 0.454295 --0.0530923 0.143138 0.0243879 0.594582 0.5 --0.052454 0.13854 0.0254099 0.590675 0.477949 --0.0482154 0.137103 0.0123981 0.746224 0.5 --0.0512856 0.136981 0.000438627 0.619399 0.5 --0.0527854 0.146248 0.0203946 0.579294 0.378614 --0.0489654 0.138607 0.014392 0.582395 0.489284 --0.0488087 0.138617 0.0133952 0.748612 0.5 --0.0620479 0.155306 -0.016587 0.400908 0.5 --0.0733982 0.114573 0.051125 0.488882 0.5 --0.0723621 0.114661 0.051285 0.475864 0.5 --0.0605969 0.06056 0.0225173 0.572584 0.42449 --0.0622192 0.17721 -0.0606003 0.260745 0.5 -0.0454193 0.0875784 0.00318139 0.486308 0.448975 --0.00894653 0.174179 -0.0257648 0.320038 0.466549 --0.0638458 0.0366675 0.0422565 0.470407 0.5 --0.0162218 0.186444 -0.0207352 0.286472 0.462627 --0.0336555 0.0363317 0.0490618 0.441419 0.5 --0.0699437 0.0669048 0.0273786 0.594771 0.5 --0.0624573 0.163073 -0.0525854 0.77028 0.5 -0.0433566 0.094461 -0.000803958 0.502854 0.5 -0.0429729 0.0944315 -0.00180352 0.614342 0.5 -0.0588348 0.0704992 0.0161593 0.446611 0.5 -0.0591083 0.0705376 0.015147 0.462222 0.480193 -0.0591153 0.0705615 0.014025 0.5822 0.5 -0.059153 0.0704954 0.0131546 0.598191 0.5 --0.0909699 0.113313 0.018324 0.688215 0.5 -0.0410937 0.100015 0.0241739 0.519174 0.458106 -0.0418577 0.100066 0.0211691 0.665084 0.441876 -0.042064 0.10006 0.0201605 0.67088 0.5 -0.0581094 0.0704417 0.00814168 0.473522 0.458997 -0.0577041 0.0703778 0.00716237 0.573867 0.5 -0.0416143 0.102832 0.00217563 0.519662 0.5 -0.0419622 0.102841 0.00417469 0.634785 0.5 --0.0347028 0.122731 -0.00776716 0.432969 0.5 --0.0793237 0.108591 -0.00458021 0.528357 0.5 --0.0825172 0.108952 0.0273498 0.457019 0.5 --0.0832597 0.10897 0.0263609 0.463339 0.5 --0.0859599 0.106341 0.0203569 0.61331 0.5 -0.0433932 0.0691823 -0.000799598 0.391185 0.5 -0.0429858 0.0691484 -0.00178958 0.415628 0.467472 -0.0426227 0.0691122 -0.00279622 0.534223 0.5 -0.0423451 0.0690926 -0.00378897 0.624993 0.5 -0.0421 0.0690665 -0.00478535 0.633303 0.404159 -0.0418422 0.0690449 -0.00578965 0.693043 0.5 -0.0415397 0.0690275 -0.00677 0.706551 0.5 -0.0410434 0.0689808 -0.00777311 0.574568 0.5 -0.0404535 0.0689201 -0.00879299 0.591291 0.5 -0.0399488 0.0688733 -0.0097971 0.612759 0.5 -0.0394368 0.0688303 -0.0107955 0.630659 0.5 -0.0388034 0.0687739 -0.0117998 0.683601 0.5 -0.0380126 0.0687088 -0.0127776 0.722628 0.5 -0.0369946 0.0686204 -0.0137746 0.755137 0.5 -0.0359934 0.0685324 -0.0147875 0.74699 0.5 -0.0349752 0.0684447 -0.0157877 0.753196 0.5 -0.0339501 0.0683557 -0.0167775 0.755681 0.5 -0.0328041 0.0682575 -0.0177764 0.752105 0.5 -0.03144 0.0681325 -0.0188162 0.761897 0.5 -0.0296786 0.0679688 -0.0198342 0.724151 0.5 -0.0289606 0.0679277 -0.0207366 0.701199 0.5 -0.0280724 0.0678498 -0.0217391 0.688134 0.5 -0.0271486 0.0677873 -0.0226945 0.709453 0.5 --0.0259227 0.123138 -0.0042558 0.553287 0.475726 --0.006336 0.10011 -0.0240468 0.731824 0.5 -0.02297 0.122414 -0.00191144 0.601616 0.408534 --0.0425873 0.125894 -0.0070983 0.537056 0.440026 --0.0897848 0.135174 0.0342114 0.600964 0.5 --0.0855435 0.108961 0.00733555 0.448525 0.463414 -0.0215589 0.120837 -0.00625561 0.592049 0.5 --0.0930613 0.118852 0.0392987 0.703412 0.5 --0.0887132 0.118572 0.00232339 0.658716 0.5 --0.0756134 0.163772 -0.0350068 0.403252 0.5 --0.0936604 0.128255 0.0172452 0.773313 0.5 --0.0936226 0.120076 0.0132919 0.483415 0.452354 --0.00952557 0.169814 -0.0256004 0.383097 0.5 --0.088594 0.121257 0.00130017 0.487085 0.344778 --0.0881544 0.121251 0.000301062 0.67682 0.5 --0.0634329 0.159891 -0.0505847 0.695055 0.5 --0.0623581 0.164692 -0.0425931 0.455188 0.5 --0.0621574 0.152203 -0.016578 0.621985 0.5 --0.0393802 0.149525 0.00137589 0.234325 0.5 --0.0624348 0.161527 -0.0435948 0.412586 0.5 -0.0446233 0.0903218 -0.000806954 0.621939 0.5 --0.0774975 0.111156 0.045792 0.472053 0.5 --0.092535 0.126933 0.0292581 0.649788 0.5 --0.0627683 0.164709 -0.0355885 0.542876 0.483334 --0.0617814 0.16156 -0.0355923 0.444328 0.5 --0.0696054 0.110911 0.0424293 0.698935 0.5 --0.0492135 0.140151 0.00839688 0.521842 0.5 --0.0633454 0.159973 -0.0185957 0.463693 0.5 --0.0308705 0.0385373 -0.0301935 0.413461 0.5 --0.0913214 0.114759 0.0373166 0.550993 0.5 --0.0617079 0.155317 -0.0205813 0.351739 0.461364 --0.0625714 0.164724 -0.0395894 0.510704 0.477114 --0.0483594 0.137097 0.0143972 0.769969 0.5 --0.0792849 0.109686 0.041215 0.915541 0.5 --0.0625363 0.158377 -0.0386027 0.431015 0.459236 --0.0922682 0.12272 0.00827864 0.544613 0.5 --0.0391114 0.149509 -0.00165293 0.297332 0.5 --0.0626545 0.150596 -0.0225786 0.710188 0.5 --0.0630601 0.155204 -0.0366146 0.574527 0.5 --0.0654107 0.0782591 0.0414837 0.601135 0.5 --0.0526872 0.144684 0.0193835 0.74481 0.5 --0.0493817 0.138599 0.0163919 0.603108 0.5 --0.049646 0.138599 0.0173958 0.607319 0.486 --0.0797776 0.115912 0.0485816 0.816634 0.5 --0.0466625 0.12523 -0.00836412 0.572451 0.5 --0.0825526 0.110518 0.0415894 0.931001 0.5 --0.00975768 0.167025 -0.0223761 0.277121 0.174049 -0.0415402 0.0928967 -0.0067838 0.482714 0.5 --0.0511539 0.144707 0.0143676 0.542188 0.5 --0.0100477 0.178214 -0.0295899 0.294416 0.5 --0.0889738 0.137888 0.0281941 0.821981 0.5 --0.0804035 0.0745659 0.0220984 0.764743 0.5 --0.0620154 0.164635 -0.0555847 0.641225 0.5 --0.0100488 0.177211 -0.0257537 0.428605 0.421867 --0.0627985 0.161541 -0.0235962 0.625127 0.5 --0.0873725 0.140519 0.00919988 0.542642 0.5 --0.0745653 0.158254 -0.0269305 0.329741 0.407876 --0.0622081 0.163133 -0.0355907 0.482829 0.389815 --0.048186 0.135579 0.00839494 0.515806 0.5 --0.0540131 0.144678 0.0264098 0.714762 0.5 -0.0407264 0.0999947 0.0251764 0.63345 0.5 --0.0872126 0.146051 0.00824907 0.618896 0.5 -0.0373688 0.102607 -0.00785264 0.600114 0.5 -0.0383356 0.10264 -0.0058258 0.491231 0.5 -0.0401633 0.102703 -0.00178896 0.57396 0.5 -0.0409984 0.102803 0.000176721 0.554381 0.480479 --0.0895701 0.151478 0.0161361 0.209794 0.5 --0.0888501 0.102361 0.0153809 0.827851 0.5 --0.0865431 0.106355 0.0183534 0.61327 0.5 --0.0861037 0.109061 0.0193453 0.55707 0.5 --0.0871093 0.106357 0.0153576 0.811932 0.5 --0.0869351 0.106366 0.0163624 0.827022 0.5 --0.0894763 0.140666 0.0321759 0.624264 0.46301 -0.0435889 0.0706095 -0.000776861 0.413455 0.5 -0.043249 0.0705728 -0.00179391 0.539429 0.5 -0.0430009 0.0705508 -0.00279727 0.617938 0.5 -0.042717 0.0705281 -0.00378792 0.622379 0.5 -0.0423965 0.0704871 -0.00480867 0.701227 0.5 -0.0421291 0.070468 -0.00580336 0.711287 0.5 -0.0417289 0.0704356 -0.00679567 0.580878 0.5 -0.0412244 0.0703917 -0.00779979 0.60594 0.5 -0.04069 0.0703475 -0.0087868 0.616034 0.453423 -0.0400896 0.0702922 -0.00980716 0.644052 0.5 -0.0395569 0.0702481 -0.0107925 0.676737 0.5 -0.0387854 0.0701818 -0.0117862 0.701485 0.5 -0.0378045 0.0701003 -0.0128173 0.72909 0.5 -0.0367682 0.0700097 -0.0138015 0.746403 0.5 -0.0357939 0.0699287 -0.0148404 0.738975 0.5 -0.0349018 0.0698502 -0.0158378 0.761638 0.5 -0.0339669 0.0697663 -0.0167955 0.767412 0.5 -0.0328915 0.0696754 -0.0177356 0.756836 0.5 -0.0314095 0.0695437 -0.0187779 0.748217 0.5 -0.0302998 0.0694384 -0.019812 0.727235 0.5 -0.0296062 0.0693912 -0.0207509 0.688578 0.5 -0.028746 0.0693043 -0.0217828 0.697208 0.5 -0.0277802 0.0692504 -0.0226951 0.71908 0.5 -0.0134367 0.121611 -0.0110511 0.479991 0.484444 --0.0291541 0.123106 -0.00418201 0.823295 0.5 --0.0301817 0.12316 -0.0042413 0.553721 0.475017 --0.0855936 0.143251 0.00719107 0.553067 0.5 --0.0933214 0.129622 0.0172404 0.749019 0.5 --0.0863354 0.129395 -0.000699295 0.639314 0.5 --0.0853889 0.108959 0.00634578 0.433872 0.448175 --0.084898 0.11701 -0.000772283 0.530131 0.5 --0.0931447 0.118854 0.0382959 0.654567 0.5 --0.0894143 0.118584 0.00330542 0.655938 0.5 --0.0940603 0.120098 0.0152926 0.54962 0.5 --0.0939163 0.120093 0.0142993 0.500646 0.5 --0.0624367 0.153758 -0.0135798 0.439436 0.461626 --0.0898534 0.121302 0.00430136 0.462334 0.5 --0.0894985 0.121276 0.00330358 0.476824 0.369967 --0.0620333 0.153738 -0.0275809 0.794501 0.5 --0.0621975 0.166246 -0.0505873 0.371333 0.480655 --0.0759482 0.152671 -0.0129066 0.498424 0.264557 --0.0690953 0.0751628 0.0379926 0.603699 0.5 --0.062327 0.161572 -0.0265871 0.620031 0.5 --0.0630898 0.161515 -0.0224551 0.617509 0.5 --0.0109396 0.165104 -0.0156606 0.265949 0.5 --0.0276364 0.0917699 -0.0296042 0.303012 0.5 --0.0321324 0.154142 -0.000565596 0.339204 0.392907 --0.0786622 0.0733343 0.0252726 0.804825 0.5 --0.0493972 0.140141 0.00739907 0.391888 0.5 --0.0492762 0.143079 0.00435473 0.351545 0.5 --0.0310964 0.160762 -0.0139612 0.848087 0.5 --0.0927165 0.117489 0.0383035 0.667547 0.5 --0.0384168 0.120732 -0.0116964 0.617357 0.5 --0.089592 0.111931 0.0163329 0.56493 0.5 --0.0749354 0.108383 0.0378851 0.769887 0.5 --0.0700187 0.074071 0.0369567 0.572904 0.455027 -0.0425651 0.10009 0.017161 0.566551 0.5 --0.0543014 0.146215 0.0264084 0.710439 0.5 --0.0390844 0.149487 -0.000628748 0.250769 0.5 --0.00995367 0.16681 -0.0217203 0.297613 0.5 --0.0733601 0.156855 -0.0299134 0.640327 0.5 --0.0570854 0.136926 -0.00500822 0.666916 0.5 --0.0488259 0.138613 0.00940263 0.590087 0.5 --0.0625358 0.155244 -0.0346054 0.583172 0.476863 --0.0501104 0.138566 0.0193811 0.622568 0.5 -0.0451716 0.0889782 0.0181643 0.514864 0.5 --0.0487458 0.123267 -0.0102852 0.695982 0.318826 --0.0624159 0.15064 -0.016574 0.590292 0.5 --0.00972794 0.166651 -0.0186764 0.230555 0.3888 -0.0451372 0.0875619 0.0011816 0.453991 0.412719 -0.0450662 0.0889731 0.0191643 0.499106 0.470652 --0.089639 0.0983559 0.0164014 0.628386 0.5 -0.0453684 0.0889907 0.0151607 0.547114 0.452306 --0.0514727 0.147804 0.0154008 0.694691 0.5 --0.0496185 0.140151 0.0144011 0.745672 0.5 -0.0454221 0.0889974 0.0141646 0.564891 0.445656 -0.0445771 0.0875296 0.0231612 0.771506 0.5 --0.0155474 0.160527 -0.0107791 0.198744 0.201892 -0.0404265 0.102791 0.0231613 0.631468 0.5 -0.0407433 0.102836 0.021176 0.660301 0.5 --0.0841107 0.0938743 -0.00455389 0.389538 0.471952 --0.0364114 0.175555 -0.00996795 0.326979 0.5 --0.0894818 0.137913 0.0311948 0.565341 0.470605 --0.0765583 0.148625 -0.00886956 0.652316 0.5 --0.0915885 0.128321 0.0362439 0.820619 0.5 --0.0777504 0.112676 -0.00382147 0.52193 0.470256 -0.0397669 0.0885289 -0.0117744 0.662593 0.5 --0.0930152 0.116045 0.0163142 0.672685 0.5 --0.0887855 0.102363 0.0143842 0.814521 0.5 --0.0895811 0.137877 0.0241855 0.694291 0.5 --0.0922724 0.125575 0.0332589 0.839517 0.5 --0.0868724 0.106357 0.0173489 0.59655 0.481061 --0.087237 0.106355 0.0143591 0.80992 0.5 -0.0446574 0.0720977 0.0012022 0.443298 0.5 -0.0441531 0.0720542 0.000197496 0.42465 0.5 -0.0437393 0.0720229 -0.000789276 0.548039 0.5 -0.0434944 0.0719976 -0.00179535 0.615673 0.390656 -0.0432611 0.071972 -0.00279979 0.487686 0.398138 -0.0429791 0.071952 -0.00379352 0.453655 0.460689 -0.0426284 0.0719164 -0.00480026 0.550156 0.481807 -0.0423416 0.0718943 -0.00578991 0.494988 0.5 -0.0418633 0.0718502 -0.00680416 0.511529 0.473919 -0.0413467 0.0718054 -0.00779903 0.638042 0.5 -0.0407806 0.0717592 -0.0087638 0.546244 0.484603 -0.0401652 0.0717052 -0.00977551 0.670547 0.5 -0.0394261 0.0716433 -0.0107927 0.695803 0.5 -0.0386477 0.0715748 -0.0117783 0.737215 0.5 -0.0375264 0.0714822 -0.0127977 0.740883 0.5 -0.0363865 0.0713868 -0.0138007 0.735173 0.5 -0.0355169 0.0713149 -0.0148173 0.743292 0.5 -0.0347214 0.0712416 -0.0157876 0.743622 0.5 -0.0338477 0.0711662 -0.016803 0.745694 0.5 -0.0329357 0.0710876 -0.0177809 0.767789 0.5 -0.0318609 0.0710037 -0.0187224 0.737287 0.395604 -0.0306903 0.0708797 -0.0198199 0.703167 0.5 -0.0300166 0.0708304 -0.0207823 0.708223 0.5 -0.0291436 0.0707502 -0.0218013 0.723381 0.5 -0.0282076 0.0706829 -0.0227535 0.751865 0.5 -0.012958 0.0904818 -0.0298536 0.595959 0.5 -0.0143759 0.121374 -0.0108038 0.504175 0.481981 --0.0251636 0.119759 -0.0107128 0.64598 0.5 --0.0701499 0.0695315 0.0320822 0.542519 0.5 --0.0714649 0.159596 -0.0419316 0.517153 0.5 --0.0797747 0.106127 0.0313842 0.507426 0.5 --0.0866591 0.107689 0.0123597 0.751105 0.5 --0.0737739 0.0878479 -0.0153893 0.415589 0.5 --0.0928802 0.118867 0.0402859 0.750298 0.5 --0.087769 0.118492 0.00124641 0.451463 0.5 --0.0846424 0.139002 0.00130344 0.515842 0.5 --0.0922485 0.120133 0.0292903 0.68161 0.5 --0.0923422 0.120143 0.0302906 0.619217 0.5 --0.0907748 0.12133 0.00629364 0.614616 0.5 --0.0902987 0.121315 0.00530766 0.628997 0.5 --0.016347 0.159993 -0.0102438 0.181323 0.145548 --0.0620847 0.166243 -0.0515916 0.367329 0.5 --0.0121936 0.163667 -0.0136225 0.249432 0.415687 --0.0733885 0.111282 0.0466166 0.501686 0.5 --0.0885594 0.112819 0.0222051 0.700317 0.5 --0.0621482 0.16155 -0.0395978 0.430985 0.5 --0.024832 0.0930098 -0.0316179 0.307491 0.5 -0.0429565 0.0986678 0.00218951 0.538213 0.5 --0.0870553 0.118453 0.000244653 0.460586 0.295243 --0.0310386 0.154131 -0.00157547 0.259552 0.377452 --0.057289 0.0707546 0.0390509 0.660411 0.5 --0.0495471 0.140136 0.00640196 0.48755 0.420475 --0.0616651 0.174109 -0.0575903 0.601711 0.5 --0.03015 0.171175 -0.0170282 0.458612 0.427251 -0.0449549 0.0889654 0.0201657 0.492118 0.476339 --0.0857094 0.107615 0.00636703 0.473093 0.454362 --0.0616196 0.156864 -0.0215888 0.37228 0.457497 -0.0423754 0.100105 0.0181719 0.699024 0.5 -0.0422118 0.100079 0.0191646 0.690241 0.5 -0.0427075 0.100107 0.0161639 0.692908 0.5 --0.062465 0.163086 -0.0495893 0.50833 0.5 --0.0946116 0.124177 0.0212718 0.6283 0.5 -0.045537 0.0890033 0.0131643 0.574681 0.441235 --0.0898664 0.135182 0.0372006 0.633972 0.457764 --0.0628566 0.145948 -0.0105775 0.41685 0.47052 --0.0901978 0.11358 0.0212183 0.736194 0.5 --0.0863431 0.112514 0.0302243 0.458966 0.397594 --0.0643983 0.155173 -0.0416037 0.512668 0.5 --0.0525878 0.149334 0.020403 0.698925 0.5 --0.0528261 0.149337 0.0214103 0.711971 0.5 --0.0624127 0.150637 -0.0175763 0.431028 0.479574 --0.0625194 0.150622 -0.0185752 0.455006 0.481261 --0.062529 0.150617 -0.0195776 0.472709 0.5 --0.0622273 0.163125 -0.0345932 0.480226 0.475502 -0.0448141 0.0889533 0.0211601 0.486996 0.5 --0.0528028 0.0666303 0.0365007 0.614129 0.5 --0.0541353 0.147754 0.0254132 0.570304 0.384404 -0.0428254 0.0986969 0.0191637 0.672947 0.5 --0.0107925 0.18028 -0.0267448 0.365899 0.469404 --0.0103146 0.180354 -0.0288775 0.284655 0.5 -0.0446015 0.0889424 0.0221651 0.593236 0.5 -0.0433237 0.0846089 -0.00479162 0.724222 0.5 -0.0442902 0.0875035 0.0241471 0.600972 0.5 -0.0450904 0.0875663 0.0201674 0.492323 0.5 --0.0630692 0.153725 -0.0105955 0.336818 0.5 -0.0456643 0.0876028 0.0121678 0.576554 0.438094 -0.0433553 0.0860087 -0.00480358 0.490744 0.5 -0.0438288 0.0860483 -0.00379124 0.479389 0.5 --0.0883846 0.119913 0.00130167 0.648117 0.313207 --0.0679376 0.162368 -0.0549778 0.38296 0.5 --0.0627029 0.150609 -0.0235776 0.615702 0.5 --0.0908751 0.135104 0.0182068 0.784742 0.5 --0.0264587 0.0902029 -0.033595 0.362615 0.5 -0.0461265 0.0736153 0.00421619 0.323813 0.5 -0.0457702 0.0735931 0.00320764 0.329532 0.453459 -0.0453728 0.0735622 0.00221503 0.389326 0.5 -0.0448472 0.0735234 0.00122364 0.391961 0.5 -0.0444193 0.0734774 0.000193217 0.620701 0.5 -0.0440337 0.0734407 -0.000804833 0.618134 0.394179 -0.0437981 0.0734503 -0.00176783 0.641648 0.393334 -0.0434836 0.0734019 -0.00279222 0.700199 0.5 -0.0431065 0.0733659 -0.00379081 0.558889 0.5 -0.042732 0.0733313 -0.00479409 0.49216 0.472826 -0.0423481 0.0732982 -0.00579253 0.513293 0.5 -0.041918 0.0732584 -0.00676718 0.52718 0.479585 -0.0413134 0.0732089 -0.00778125 0.55075 0.5 -0.0406726 0.0731516 -0.00877611 0.572693 0.475465 -0.0399619 0.0730961 -0.00981181 0.69526 0.5 -0.0392199 0.073038 -0.0108301 0.724919 0.5 -0.0384815 0.0729589 -0.0117402 0.744572 0.5 -0.0371376 0.0728556 -0.0127896 0.727138 0.5 -0.0359341 0.0727624 -0.0138488 0.701026 0.5 -0.0352424 0.0726953 -0.0147969 0.721066 0.5 -0.0344602 0.0726275 -0.0157808 0.724994 0.5 -0.0336358 0.0725575 -0.0168317 0.726067 0.5 -0.0329366 0.0724958 -0.0177814 0.749423 0.5 -0.0321511 0.0724311 -0.0187615 0.735041 0.5 -0.0311541 0.072342 -0.0197804 0.706449 0.5 -0.0302861 0.0722616 -0.0207987 0.725607 0.5 -0.0293781 0.0721886 -0.0217847 0.7429 0.5 -0.0284436 0.0721192 -0.0227379 0.760035 0.5 -0.0147132 0.0897404 -0.0290836 0.634731 0.5 --0.0892011 0.0983026 0.0104143 0.785425 0.5 --0.0928057 0.124227 0.0372672 0.824789 0.5 --0.0897017 0.151503 0.0171224 0.248933 0.5 --0.089716 0.139255 0.0241831 0.699854 0.5 --0.0123225 0.124091 -0.00743567 0.40515 0.5 --0.0866911 0.107697 0.0133542 0.818417 0.5 --0.0688005 0.087996 -0.0171065 0.513227 0.460599 --0.0921507 0.129567 0.0102504 0.428921 0.408066 --0.0511894 0.0558131 0.0154354 0.168077 0.5 --0.0403541 0.121097 -0.0120881 0.599451 0.451266 --0.0923082 0.120116 0.0282975 0.729632 0.5 --0.0926124 0.120126 0.0272917 0.758033 0.5 --0.0920663 0.121362 0.00826874 0.531365 0.5 --0.0914924 0.12135 0.00727423 0.556938 0.5 --0.0926366 0.121498 0.0312794 0.61014 0.5 -0.0431642 0.0987038 0.0171581 0.671093 0.5 --0.062446 0.163101 -0.0455941 0.417381 0.5 --0.0620712 0.16624 -0.0525885 0.358824 0.5 -0.0443232 0.0889197 0.0231574 0.602829 0.5 --0.0295473 0.0358282 0.0521362 0.51222 0.5 --0.0624126 0.161536 -0.0416011 0.389941 0.420218 --0.0622845 0.161545 -0.0405978 0.406378 0.5 --0.0116746 0.164119 -0.0176003 0.24547 0.226127 --0.0907804 0.150219 0.0191245 0.518866 0.5 -0.044671 0.0931702 0.0171607 0.540264 0.448982 --0.0308113 0.153953 -0.00248259 0.156451 0.412172 --0.084288 0.111698 0.0438155 0.42027 0.5 --0.04997 0.140123 0.00440621 0.459555 0.5 -0.0455985 0.0918132 0.00816712 0.590302 0.428387 --0.0858246 0.111645 0.00429163 0.380276 0.5 --0.0874416 0.113109 0.00532366 0.40791 0.5 -0.0438525 0.0874765 0.0251696 0.619204 0.5 --0.0860233 0.102167 0.0034068 0.693786 0.5 --0.0624082 0.147544 -0.00957064 0.425721 0.5 --0.0521665 0.136903 -0.000627156 0.652126 0.5 --0.0784816 0.0755217 0.0287043 0.652159 0.466782 --0.0181419 0.159077 -0.00932452 0.198544 0.207771 --0.0618853 0.158437 -0.0215849 0.503054 0.5 -0.0411669 0.104244 0.0141607 0.69815 0.5 --0.0621627 0.163132 -0.0395927 0.45361 0.5 --0.0629233 0.149038 -0.01858 0.62724 0.5 --0.063685 0.169395 -0.0455915 0.632523 0.5 --0.0633941 0.159891 -0.0485891 0.802018 0.5 --0.0823617 0.110377 0.0328225 0.81269 0.5 --0.0614661 0.174127 -0.0585981 0.327165 0.5 --0.0530084 0.149326 0.0224058 0.720512 0.5 --0.0400434 0.149481 0.00241998 0.244509 0.414429 -0.0433285 0.0874073 -0.00479371 0.494658 0.5 --0.0632202 0.150553 -0.0275915 0.648356 0.5 --0.0688901 0.0621533 0.0194032 0.434953 0.432141 --0.0697195 0.0625059 0.018914 0.443889 0.446316 --0.0107227 0.165105 -0.0188107 0.337882 0.391145 --0.061825 0.164563 -0.0576805 0.532317 0.5 --0.0620511 0.164652 -0.0545872 0.612074 0.5 --0.0621992 0.16466 -0.0525894 0.4724 0.481143 --0.0622205 0.164668 -0.0515889 0.463682 0.480279 --0.0620827 0.174072 -0.0556227 0.549611 0.478922 -0.0455542 0.0875891 0.00417683 0.501916 0.421268 --0.0621725 0.160005 -0.022587 0.524529 0.5 --0.0907002 0.137837 0.017198 0.491797 0.333837 --0.0630515 0.152177 -0.00858675 0.353459 0.5 --0.0747588 0.0669346 0.0175421 0.670903 0.5 --0.0730559 0.14548 -0.015959 0.181386 0.330059 --0.0618555 0.155289 -0.0295874 0.747481 0.5 --0.0539285 0.152376 0.0223916 0.445382 0.5 -0.0465387 0.0750529 0.00819241 0.334003 0.5 -0.0464517 0.0750534 0.00718936 0.332734 0.5 -0.0463863 0.075041 0.00619921 0.379797 0.5 -0.0461994 0.0750316 0.00518987 0.32293 0.5 -0.0460119 0.0750141 0.00420589 0.341471 0.482192 -0.0457402 0.0749932 0.00321166 0.349848 0.459401 -0.0453833 0.074968 0.00220665 0.369655 0.475025 -0.0450172 0.0749324 0.00120229 0.486393 0.5 -0.0447259 0.0749152 0.000215102 0.504813 0.483848 -0.0443985 0.0748779 -0.000803542 0.541016 0.5 -0.0441279 0.0748554 -0.00179683 0.704453 0.5 -0.0436422 0.0748109 -0.00280304 0.722191 0.5 -0.0432399 0.0747788 -0.00379578 0.577844 0.5 -0.0427329 0.0747306 -0.00479562 0.499038 0.448374 -0.0422621 0.0746939 -0.00581448 0.614987 0.5 -0.0417928 0.0746499 -0.00676608 0.540094 0.5 -0.0411805 0.0745986 -0.0077775 0.555316 0.5 -0.0404486 0.0745397 -0.00879543 0.565494 0.481109 -0.0396972 0.0744788 -0.00980523 0.593996 0.5 -0.0390327 0.0744186 -0.0107818 0.603186 0.482847 -0.0381305 0.0743398 -0.0117665 0.716695 0.5 -0.0368421 0.0742334 -0.0127504 0.676158 0.5 -0.0357477 0.074144 -0.0137952 0.681405 0.5 -0.0351077 0.0740897 -0.0147891 0.687304 0.5 -0.0343469 0.0740244 -0.0157906 0.716123 0.5 -0.033587 0.0739599 -0.0167921 0.718503 0.5 -0.0328626 0.0738919 -0.0178203 0.722365 0.5 -0.0323759 0.0738626 -0.0187418 0.724039 0.5 -0.031592 0.0738009 -0.0197207 0.711937 0.5 -0.0306214 0.073711 -0.0207585 0.729644 0.5 -0.029581 0.0736246 -0.0217333 0.759026 0.5 -0.0285394 0.0735396 -0.0227021 0.755605 0.5 --0.0356976 0.121856 -0.0088333 0.453074 0.5 --0.0893331 0.0983151 0.0114073 0.552748 0.5 --0.0880973 0.137764 0.00820327 0.553577 0.5 --0.0726673 0.155437 -0.0339106 0.755725 0.5 --0.0816033 0.101897 -0.00556882 0.510692 0.5 --0.0179573 0.123303 -0.00653742 0.518345 0.5 --0.0867595 0.107707 0.0143554 0.848208 0.5 --0.0471272 0.159118 -0.00765489 0.395988 0.5 --0.0909349 0.113307 0.0123445 0.473459 0.5 --0.0911602 0.113316 0.0133388 0.499886 0.5 -0.0286778 0.116188 -0.00517917 0.532106 0.5 --0.0610597 0.172553 -0.0606091 0.327302 0.203933 --0.0925801 0.120153 0.0312943 0.574444 0.427367 --0.0929281 0.121393 0.0102886 0.387467 0.5 --0.0926147 0.121379 0.00928006 0.375564 0.5 --0.0928035 0.121507 0.0322842 0.588189 0.5 -0.0445099 0.0945603 0.0161557 0.541432 0.5 -0.044397 0.0945546 0.0171571 0.531419 0.476359 --0.0619824 0.166238 -0.0535924 0.636825 0.5 --0.0619967 0.14761 -0.00462246 0.311444 0.5 --0.0631947 0.163133 -0.0265887 0.681265 0.5 -0.0437965 0.0987467 0.00816432 0.568849 0.5 --0.0615047 0.167821 -0.0555677 0.383243 0.441421 --0.0118859 0.163867 -0.0168515 0.276692 0.5 --0.0590026 0.0609591 0.0242669 0.333645 0.456028 --0.0630837 0.164691 -0.0325918 0.753046 0.5 --0.0621779 0.061949 0.0245023 0.428652 0.41697 --0.0497158 0.140127 0.00540861 0.437953 0.5 --0.0809179 0.0761444 0.0241516 0.812511 0.5 --0.0880049 0.11182 0.00834875 0.380637 0.5 --0.0864043 0.111678 0.00530063 0.377844 0.5 --0.0512476 0.149342 0.0143776 0.561239 0.5 --0.051601 0.149349 0.0154046 0.742541 0.5 --0.0897198 0.135201 0.0382086 0.649494 0.457801 --0.062219 0.164671 -0.0505894 0.373821 0.376364 --0.0623583 0.164673 -0.0485921 0.377244 0.5 --0.0640462 0.0622661 0.0238361 0.402075 0.442542 --0.0624763 0.163084 -0.0515885 0.753466 0.5 --0.0623836 0.163016 -0.0556039 0.595727 0.5 -0.0421385 0.102872 0.00916356 0.695992 0.5 -0.0419441 0.102888 0.00516309 0.636681 0.5 --0.0103631 0.180289 -0.0277342 0.287018 0.405997 --0.0104184 0.179993 -0.0295246 0.28444 0.412241 --0.093475 0.1283 0.0242551 0.60579 0.479334 --0.0524497 0.140085 0.0234103 0.771891 0.5 --0.0682817 0.156606 -0.0532672 0.28748 0.5 --0.0918049 0.126804 0.00826817 0.423486 0.5 --0.066871 0.0626922 0.0228964 0.383293 0.5 --0.0366167 0.15106 0.000396988 0.220734 0.5 -0.0432765 0.10012 0.00816425 0.581741 0.5 --0.0742229 0.109724 0.0423296 0.804353 0.5 --0.0705529 0.0628294 0.0184736 0.499559 0.5 --0.0654801 0.0675388 0.0330326 0.518098 0.396839 --0.0868755 0.112781 0.0262639 0.613829 0.5 -0.0446756 0.091763 0.0191604 0.520315 0.5 --0.0588392 0.0371017 0.0463605 0.365071 0.5 --0.0623369 0.16467 -0.04959 0.37844 0.5 --0.0623602 0.164675 -0.0475927 0.382738 0.5 --0.0520173 0.146257 0.0174096 0.854379 0.5 --0.0516778 0.140064 0.0213757 0.626242 0.468008 -0.0456484 0.0875951 0.00518134 0.533236 0.5 -0.0439647 0.0888964 0.0241631 0.607838 0.478857 -0.0465562 0.0764652 0.0121829 0.408507 0.5 -0.0465334 0.07646 0.0111853 0.465391 0.5 -0.0464507 0.0764566 0.0101865 0.461502 0.38739 -0.046481 0.0764536 0.00918999 0.395816 0.5 -0.0464212 0.0764513 0.00819032 0.402835 0.5 -0.0463722 0.0764454 0.00719365 0.396276 0.38558 -0.0462734 0.0764388 0.00619417 0.385484 0.5 -0.0461397 0.0764263 0.0052018 0.36186 0.429337 -0.0458945 0.0764062 0.00420006 0.366906 0.486482 -0.045657 0.07639 0.00319799 0.395217 0.466775 -0.045415 0.0763654 0.00219579 0.468254 0.5 -0.0452304 0.0763569 0.00121116 0.554525 0.5 -0.0449154 0.0763231 0.00019353 0.560112 0.376026 -0.0446565 0.076299 -0.00080692 0.724267 0.5 -0.0443433 0.0762807 -0.00178421 0.736442 0.5 -0.0438483 0.076237 -0.00278527 0.594131 0.472325 -0.0433489 0.0761902 -0.00378764 0.607224 0.5 -0.0428335 0.076148 -0.00478426 0.624901 0.5 -0.0422446 0.0760949 -0.00580476 0.646194 0.5 -0.0417455 0.0760505 -0.00673474 0.547731 0.424569 -0.0410535 0.0759945 -0.00777525 0.660674 0.5 -0.0401892 0.0759203 -0.00879733 0.557588 0.477021 -0.0394635 0.075864 -0.00982057 0.679552 0.5 -0.0386856 0.0757975 -0.0108084 0.685506 0.5 -0.0377573 0.0757194 -0.0117756 0.65443 0.5 -0.0365014 0.0756142 -0.0127863 0.648221 0.5 -0.0358746 0.0755562 -0.0137901 0.664289 0.383371 -0.0352588 0.0755049 -0.0148105 0.669899 0.5 -0.0345167 0.0754586 -0.0157294 0.694304 0.5 -0.0336664 0.0753805 -0.0167583 0.689801 0.5 -0.0329576 0.0753133 -0.0177979 0.689813 0.5 -0.0324248 0.0752705 -0.0187807 0.711459 0.5 -0.0317565 0.0752189 -0.019756 0.716949 0.5 -0.0308475 0.0751439 -0.0207339 0.741641 0.5 -0.0295244 0.0750328 -0.0218147 0.753227 0.5 --0.0466697 0.166955 -0.00590454 0.334021 0.369298 --0.0824868 0.0965084 -0.00559576 0.459106 0.5 --0.0236465 0.18441 -0.0150532 0.198054 0.351425 -0.0425177 0.0660617 -0.00221978 0.38708 0.5 --0.0678094 0.180556 -0.0587896 0.265913 0.5 --0.0824261 0.101938 -0.00456304 0.495195 0.432092 --0.0875967 0.100907 0.00640641 0.463277 0.5 --0.086583 0.1077 0.0153543 0.852791 0.5 --0.0864626 0.107749 0.0163884 0.634107 0.455557 --0.0865442 0.107736 0.017365 0.662828 0.447504 --0.0907186 0.113289 0.0113419 0.625277 0.5 --0.00322809 0.0999661 -0.0238789 0.762285 0.5 --0.0930264 0.120177 0.0342925 0.598463 0.5 --0.0927311 0.120157 0.0322864 0.57318 0.434921 --0.0934924 0.121416 0.0122906 0.451478 0.460102 --0.0932554 0.121405 0.0112928 0.428627 0.5 --0.0928405 0.121514 0.033281 0.58579 0.463447 --0.0855548 0.125248 -0.00272359 0.627625 0.5 -0.0438711 0.0959127 0.00218342 0.47152 0.490586 --0.0616803 0.166235 -0.0555923 0.559595 0.5 --0.0618365 0.166237 -0.0545929 0.642106 0.5 -0.0437289 0.0987183 0.00617361 0.561411 0.442922 -0.0437866 0.098742 0.00716534 0.56862 0.5 --0.0615198 0.167807 -0.0565879 0.515773 0.5 --0.0368558 0.0971787 -0.022608 0.633523 0.5 --0.0498057 0.144755 0.010389 0.648397 0.5 --0.0909094 0.114612 0.0400043 0.574463 0.5 --0.0499442 0.140127 0.0163925 0.765148 0.5 -0.0435982 0.0888699 0.0251665 0.621316 0.5 -0.0431163 0.0888383 0.0261767 0.636578 0.5 --0.0532082 0.149319 0.0233918 0.721307 0.5 --0.0538672 0.149311 0.025406 0.495655 0.5 -0.0448665 0.0945715 0.00517989 0.575299 0.398528 -0.0422255 0.0887323 -0.00780894 0.59862 0.472747 --0.0913745 0.142001 0.0211607 0.74667 0.5 --0.0705862 0.166615 -0.0490027 0.376624 0.419102 --0.0942425 0.120105 0.0182851 0.625257 0.5 --0.0906385 0.147509 0.0131579 0.41145 0.461507 -0.0443454 0.0903358 0.0221636 0.412968 0.5 --0.0912936 0.114724 0.0218532 0.760937 0.356727 -0.0420895 0.102851 0.00717012 0.559505 0.423344 -0.0413547 0.102812 0.0011821 0.452467 0.5 -0.0388283 0.102661 -0.00481845 0.560909 0.5 -0.0440882 0.090317 0.0231627 0.594136 0.482525 --0.078089 0.159705 -0.0229182 0.622693 0.5 --0.0732448 0.144163 -0.0109449 0.168371 0.356523 --0.0618131 0.161554 -0.0315928 0.464908 0.5 --0.048904 0.144756 0.0084067 0.60724 0.5 --0.0527647 0.138519 0.0263974 0.564931 0.5 -0.042729 0.0901813 -0.0058099 0.42223 0.485477 --0.0476612 0.135572 0.0133995 0.681949 0.5 -0.044574 0.0903504 0.0211613 0.493278 0.481862 -0.0448529 0.0917799 0.0171662 0.537156 0.5 --0.0621573 0.163143 -0.0375929 0.473727 0.463138 --0.0136298 0.0943834 -0.0340901 0.690837 0.5 -0.0439472 0.0917185 0.0231564 0.591828 0.480968 --0.0261555 0.155801 -0.00568703 0.220885 0.5 --0.0723294 0.177884 -0.0550149 0.271648 0.5 -0.0216437 0.120011 -0.00733339 0.592839 0.5 --0.0870689 0.0968011 0.00243877 0.458522 0.5 --0.072526 0.149972 -0.0424686 0.143598 0.5 -0.0463963 0.0778578 0.0141787 0.463426 0.5 -0.0464379 0.0778615 0.0131806 0.384497 0.47712 -0.0464938 0.0778639 0.0121785 0.394088 0.422262 -0.0465019 0.0778624 0.0111839 0.450431 0.413432 -0.0464355 0.0778581 0.0101835 0.454059 0.5 -0.0464068 0.0778555 0.00918735 0.46112 0.5 -0.04631 0.0778469 0.00818385 0.459072 0.414467 -0.0462675 0.0778418 0.00718957 0.453378 0.5 -0.0461841 0.0778325 0.00618859 0.384495 0.5 -0.0460436 0.0778241 0.00519064 0.489657 0.411197 -0.0458885 0.0778077 0.00419775 0.49415 0.5 -0.045728 0.077798 0.00320493 0.49313 0.456002 -0.0455105 0.0777762 0.00219892 0.472941 0.470866 -0.0452801 0.0777562 0.00119407 0.476094 0.5 -0.0451032 0.0777437 0.000209071 0.470805 0.5 -0.0447742 0.0777119 -0.00080388 0.574042 0.5 -0.0444401 0.0776895 -0.00177282 0.480285 0.5 -0.0439709 0.0776452 -0.00278508 0.586151 0.5 -0.043463 0.077603 -0.00378219 0.613362 0.5 -0.0429126 0.0775596 -0.00475805 0.638824 0.5 -0.042296 0.0775058 -0.00576261 0.644413 0.5 -0.0416044 0.0774454 -0.0068035 0.669905 0.5 -0.0409145 0.07739 -0.0077683 0.672795 0.5 -0.0400692 0.0773178 -0.00879643 0.662665 0.5 -0.0394034 0.0772645 -0.00977482 0.636589 0.5 -0.0386441 0.0772022 -0.0107761 0.626718 0.5 -0.0377538 0.0771288 -0.0117747 0.61891 0.5 -0.0369017 0.0770479 -0.0128074 0.61826 0.5 -0.0362901 0.0769906 -0.0138255 0.621218 0.5 -0.0356786 0.076967 -0.014745 0.66032 0.5 -0.0347555 0.0768972 -0.0157225 0.673613 0.5 -0.0338293 0.0767952 -0.0167877 0.671454 0.5 -0.0333063 0.076755 -0.0177777 0.683078 0.5 -0.03267 0.0767015 -0.0187757 0.709463 0.5 -0.0319543 0.0766492 -0.0197037 0.73695 0.5 -0.030786 0.0765476 -0.0208061 0.761281 0.5 --0.0927289 0.125458 0.0102641 0.438665 0.5 --0.0890273 0.0956446 0.021399 0.67282 0.5 --0.0834239 0.0965619 -0.00458039 0.610158 0.5 --0.0707759 0.162402 -0.0459559 0.371169 0.452872 --0.0883368 0.137775 0.00920322 0.554388 0.5 --0.0252945 0.179999 -0.0179968 0.466421 0.5 --0.0831709 0.101988 -0.00359129 0.447093 0.5 --0.0852211 0.103481 0.00138673 0.429656 0.5 --0.0922901 0.125582 0.0342578 0.818125 0.5 --0.0817516 0.140386 -0.000790241 0.681494 0.5 --0.0862889 0.10771 0.0183439 0.665166 0.5 --0.0903031 0.113239 0.0103302 0.614527 0.5 -0.0326595 0.114633 -0.00147403 0.541823 0.5 --0.0626019 0.174089 -0.0546038 0.54309 0.5 --0.0929242 0.120168 0.0332909 0.566999 0.446398 --0.0939567 0.121435 0.0142863 0.696046 0.5 --0.0937263 0.121427 0.0132848 0.66272 0.5 --0.011946 0.163588 -0.0146751 0.234271 0.433679 --0.0894255 0.0956236 0.0134235 0.598261 0.5 --0.0888328 0.0942898 0.0224093 0.559807 0.5 --0.0614834 0.166203 -0.0576271 0.534598 0.5 --0.0616183 0.16622 -0.0565931 0.483585 0.5 -0.00417139 0.0894659 -0.0333631 0.764624 0.5 -0.0427594 0.0986702 0.00117933 0.542184 0.5 --0.062488 0.161561 -0.0255895 0.657561 0.5 -0.0434133 0.0930689 -0.00182579 0.586013 0.5 --0.072234 0.147352 -0.0242316 0.182014 0.5 --0.0507025 0.140081 0.0193694 0.626505 0.478068 --0.0615859 0.155307 -0.0235819 0.458281 0.5 --0.0471129 0.13404 0.0104021 0.496266 0.5 -0.0424823 0.0958192 -0.00180898 0.591717 0.5 --0.0511023 0.141628 0.018382 0.627732 0.5 --0.0506782 0.141637 0.0173818 0.623335 0.5 --0.0504724 0.141671 0.0164028 0.763351 0.5 --0.0502115 0.141667 0.015397 0.71001 0.5 --0.0494839 0.141682 0.00839735 0.509374 0.5 --0.0495274 0.14168 0.00739502 0.50338 0.5 -0.0438612 0.0930832 -0.000804157 0.48505 0.5 --0.0859116 0.107692 0.0193681 0.514555 0.480441 -0.0371254 0.0869172 -0.0157926 0.749043 0.5 --0.0622887 0.152203 -0.0145776 0.588104 0.5 -0.0429025 0.100097 0.0151567 0.690216 0.5 -0.0430409 0.10011 0.0131585 0.568162 0.5 -0.0406669 0.102735 -0.000789188 0.574516 0.5 -0.0418243 0.102828 0.00318021 0.515112 0.479351 --0.0388448 0.0971399 -0.0223049 0.69477 0.5 -0.00561249 0.0927088 -0.0322048 0.697748 0.5 --0.0897234 0.125377 0.0042981 0.662983 0.5 --0.0480228 0.144604 0.00545108 0.29324 0.5 --0.0618544 0.174099 -0.0565963 0.530347 0.479509 --0.0500088 0.124901 -0.00796654 0.615946 0.5 --0.0779001 0.105799 -0.00757653 0.564888 0.5 --0.0848075 0.100731 -0.000569426 0.484635 0.38711 -0.0397017 0.104178 0.024171 0.505785 0.5 --0.0719446 0.159605 -0.0399328 0.50036 0.5 -0.0457169 0.0792126 0.021174 0.577396 0.5 --0.0755817 0.14859 -0.0148673 0.463763 0.5 --0.0884887 0.122612 0.00129126 0.499674 0.312965 -0.0410638 0.0928718 -0.0077952 0.552595 0.404687 -0.0461634 0.0792418 0.0171768 0.429121 0.5 -0.0461889 0.0792428 0.016179 0.441445 0.5 -0.0462561 0.0792459 0.0151754 0.452433 0.5 -0.0463019 0.07925 0.0141776 0.464071 0.444993 -0.0463796 0.0792543 0.0131749 0.460371 0.447135 -0.0464006 0.0792571 0.0121793 0.467331 0.5 -0.0464344 0.0792618 0.0111808 0.521361 0.403497 -0.0464307 0.0792576 0.0101822 0.530319 0.5 -0.0463488 0.0792498 0.00918224 0.533891 0.430919 -0.0463679 0.0792556 0.0081871 0.529535 0.414623 -0.0462936 0.0792458 0.00718673 0.523433 0.5 -0.0462048 0.0792353 0.00618416 0.518375 0.422723 -0.0461381 0.0792322 0.00519228 0.513206 0.5 -0.0459393 0.0792136 0.00418579 0.50235 0.5 -0.0457654 0.0791979 0.00319646 0.498678 0.456066 -0.045527 0.0791773 0.00219591 0.491709 0.453545 -0.0453464 0.0791637 0.00120688 0.489316 0.377305 -0.0451001 0.0791381 0.000209359 0.420748 0.5 -0.044826 0.0791184 -0.000782084 0.483975 0.370476 -0.0444691 0.0790854 -0.00178456 0.487009 0.5 -0.0439772 0.079046 -0.00278888 0.505581 0.5 -0.0434554 0.0790039 -0.00377815 0.615361 0.5 -0.0428337 0.0789534 -0.0047828 0.637589 0.5 -0.0422984 0.0789118 -0.00576754 0.645286 0.5 -0.0417534 0.0788713 -0.00674491 0.667221 0.431494 -0.041033 0.0788113 -0.0077656 0.674055 0.5 -0.0402499 0.0787503 -0.00875238 0.623675 0.5 -0.0397193 0.0787183 -0.00974279 0.609109 0.404303 -0.0391307 0.0786589 -0.0107679 0.598649 0.463725 -0.0384699 0.0786144 -0.011749 0.589284 0.5 -0.037525 0.0785071 -0.0127982 0.741914 0.5 -0.0369479 0.0784891 -0.0137448 0.59116 0.5 -0.0360857 0.0784054 -0.0147648 0.628186 0.5 -0.0351663 0.0783387 -0.0157415 0.656211 0.5 -0.0342862 0.0782566 -0.0167489 0.647283 0.5 -0.033576 0.0781814 -0.0177928 0.693487 0.5 -0.0328071 0.0781213 -0.0187889 0.733689 0.5 -0.0319638 0.0780558 -0.0197042 0.770452 0.5 -0.0306136 0.0779431 -0.0207534 0.750733 0.5 --0.0927402 0.125562 0.0292626 0.665884 0.5 --0.0890914 0.0956431 0.0204208 0.658876 0.449477 --0.0840733 0.0966087 -0.0036103 0.408539 0.454649 --0.0711139 0.162407 -0.0449498 0.375631 0.441112 --0.0906919 0.142015 0.0231619 0.743514 0.5 --0.0743245 0.179234 -0.0539852 0.294903 0.5 --0.0839359 0.102045 -0.00261805 0.335081 0.5 --0.0842531 0.102059 -0.0016008 0.458097 0.416008 --0.0851088 0.102115 0.000391121 0.420019 0.403283 --0.0892862 0.137904 0.0301929 0.794997 0.5 --0.0881528 0.129472 0.0022725 0.513442 0.466781 --0.0899231 0.113261 0.00935255 0.561254 0.5 -0.00304719 0.123088 -0.0105402 0.631346 0.5 --0.0477406 0.135604 0.0113959 0.527345 0.5 --0.091934 0.128302 0.0312437 0.879305 0.5 --0.092242 0.128315 0.0292604 0.628204 0.5 --0.094099 0.121442 0.0152795 0.534972 0.466992 --0.00990982 0.175697 -0.0247542 0.566081 0.5 --0.0638648 0.166212 -0.0336016 0.692397 0.5 --0.0784525 0.0962411 -0.0105211 0.505653 0.5 --0.0585981 0.0658974 0.0341563 0.504454 0.5 --0.0160918 0.0359549 0.0514785 0.339145 0.5 --0.0288776 0.0903901 -0.0295833 0.350156 0.5 --0.0620219 0.161552 -0.0385959 0.421393 0.433705 --0.0627541 0.166279 -0.0425846 0.652692 0.5 --0.0664863 0.0657678 0.0290911 0.439392 0.461668 --0.0501985 0.140132 0.0173988 0.785866 0.5 --0.0503915 0.140104 0.0183826 0.618652 0.5 --0.0502406 0.140114 0.00340131 0.348402 0.5 --0.0473457 0.134062 0.00939848 0.48577 0.430822 --0.0515486 0.141607 0.0193759 0.617374 0.5 -0.0423147 0.091604 0.0271557 0.65217 0.5 --0.0631272 0.0656833 0.0316274 0.521706 0.5 --0.0738123 0.0655371 0.0172042 0.683448 0.5 --0.0500909 0.0358963 0.0459805 0.316461 0.5 --0.051271 0.0356477 0.0458842 0.528412 0.5 --0.0495589 0.141679 0.00640064 0.451775 0.5 --0.051136 0.140067 0.0203692 0.633806 0.5 --0.0626407 0.163129 -0.0295903 0.69312 0.5 --0.0320536 0.0356449 0.0500425 0.599374 0.5 --0.0905235 0.137837 0.0161933 0.359359 0.5 -0.0431395 0.100108 0.0121576 0.573354 0.485311 -0.0432452 0.100105 0.0111579 0.57777 0.5 -0.0420581 0.102887 0.0101643 0.697482 0.5 --0.0732213 0.156852 -0.0309091 0.480308 0.5 --0.0831442 0.107611 0.0263767 0.478581 0.5 --0.0508809 0.104197 -0.0202021 0.68938 0.5 --0.072488 0.172225 -0.0500329 0.467246 0.5 --0.0628742 0.175671 -0.0555946 0.688144 0.5 --0.0941295 0.121483 0.024294 0.765806 0.5 -0.045739 0.0876044 0.00618298 0.553501 0.430086 -0.0458506 0.0876137 0.00718075 0.572248 0.42642 -0.0459022 0.0876188 0.00817319 0.580045 0.5 -0.0450698 0.0805625 0.0231647 0.600688 0.479403 -0.0453551 0.0805854 0.0221747 0.485027 0.485398 -0.0456498 0.0806034 0.02116 0.592511 0.474855 -0.0458248 0.0806172 0.0201703 0.484708 0.5 -0.0459498 0.0806271 0.0191734 0.488839 0.5 -0.0459653 0.0806289 0.018177 0.488745 0.5 -0.046037 0.0806318 0.0171753 0.494123 0.463874 -0.0461219 0.0806353 0.0161697 0.500954 0.344915 -0.0461484 0.0806375 0.015174 0.506764 0.5 -0.046183 0.0806404 0.0141758 0.521559 0.5 -0.0462743 0.0806463 0.0131736 0.531842 0.5 -0.0463015 0.0806481 0.0121762 0.541562 0.442792 -0.0463861 0.080656 0.0111753 0.540283 0.443947 -0.0464078 0.0806576 0.0101793 0.556392 0.435336 -0.0463872 0.0806547 0.00917972 0.558731 0.5 -0.0463101 0.0806468 0.00818141 0.557371 0.5 -0.046272 0.0806446 0.00718674 0.552766 0.425386 -0.0461867 0.0806341 0.00618373 0.527274 0.5 -0.0461298 0.0806288 0.00519237 0.520808 0.5 -0.0459242 0.0806108 0.00418728 0.515082 0.413516 -0.0457502 0.0805926 0.00319942 0.51153 0.464703 -0.045522 0.0805737 0.00219452 0.50861 0.5 -0.0453408 0.0805541 0.00120995 0.496255 0.478285 -0.0450117 0.0805305 0.000199058 0.421729 0.5 -0.0446984 0.0804984 -0.000780025 0.49326 0.481641 -0.0442521 0.0804694 -0.00179963 0.509134 0.5 -0.0438423 0.0804362 -0.00278861 0.528131 0.469683 -0.0433385 0.080395 -0.00378638 0.624643 0.5 -0.0428587 0.0803554 -0.00479839 0.526731 0.5 -0.0424477 0.0803262 -0.00578172 0.634725 0.5 -0.0419394 0.0802864 -0.00678235 0.660353 0.5 -0.0412418 0.0802411 -0.00774788 0.625311 0.5 -0.0406749 0.0801882 -0.00878559 0.592138 0.360064 -0.0401736 0.0801429 -0.00978947 0.592365 0.5 -0.0397235 0.080129 -0.010751 0.577307 0.5 -0.0391332 0.0800655 -0.0117735 0.583514 0.5 -0.0385368 0.0800568 -0.0127167 0.573639 0.48263 -0.0377117 0.0799594 -0.0137509 0.751071 0.5 -0.0369068 0.0799159 -0.0147176 0.590975 0.476781 -0.0359194 0.0798211 -0.0157295 0.631686 0.453364 -0.0350128 0.0797448 -0.0167143 0.644159 0.5 -0.0339767 0.0796167 -0.0178174 0.700575 0.5 -0.0331161 0.0795687 -0.0187107 0.756146 0.5 -0.0317521 0.0794454 -0.0197442 0.758237 0.5 --0.0894168 0.0942943 0.0184246 0.847309 0.5 --0.0692347 0.176505 -0.0570351 0.381998 0.5 --0.0892037 0.0956419 0.0194144 0.61951 0.464997 --0.0834882 0.14321 0.00316117 0.542385 0.389976 --0.070351 0.158156 -0.0469171 0.558766 0.5 --0.0764024 0.150045 -0.00692327 0.562478 0.400055 --0.0697083 0.1638 -0.0499695 0.500267 0.5 --0.0776846 0.16386 -0.0329461 0.358434 0.5 --0.0723232 0.163826 -0.0419605 0.441043 0.5 --0.0845391 0.102087 -0.000621587 0.446167 0.413667 --0.0890326 0.125361 0.00330134 0.667901 0.5 --0.0898903 0.135179 0.0352087 0.613336 0.5 --0.0788429 0.112725 -0.00283498 0.700312 0.5 --0.080097 0.11274 -0.00201289 0.505102 0.168733 --0.0941834 0.120103 0.0162919 0.597716 0.5 --0.061863 0.0953699 -0.0186332 0.65016 0.5 --0.0275751 0.181449 -0.0130337 0.216251 0.5 --0.0943085 0.12145 0.0162821 0.562398 0.5 --0.0621913 0.163125 -0.0405922 0.429989 0.5 --0.0635554 0.166233 -0.0355972 0.701077 0.5 --0.0637097 0.166224 -0.0345967 0.691789 0.5 --0.0633588 0.166271 -0.0375898 0.704371 0.5 --0.0896333 0.0929554 0.018431 0.861805 0.5 --0.0509182 0.146274 0.0133981 0.530779 0.5 --0.0619148 0.161553 -0.037594 0.434947 0.41419 --0.0633409 0.155276 -0.011594 0.362932 0.5 --0.0596786 0.0738084 0.0412039 0.610517 0.421171 --0.07448 0.0662148 0.0164657 0.633936 0.5 --0.0729302 0.110914 0.0452396 0.866142 0.5 --0.0767072 0.0724697 0.0281768 0.644171 0.5 --0.0865855 0.100865 0.00437928 0.671127 0.345587 --0.0527141 0.141625 0.0234145 0.755915 0.5 --0.0622517 0.147555 -0.00557481 0.273911 0.5 -0.045113 0.0861573 0.00219478 0.470978 0.428059 --0.0622605 0.152178 -0.0225796 0.779167 0.5 --0.0623945 0.164686 -0.0405941 0.475793 0.5 --0.0632966 0.144361 -0.00960502 0.581452 0.5 --0.0497252 0.141657 0.00538484 0.386593 0.5 --0.052457 0.144675 0.0183665 0.77962 0.5 --0.0617229 0.155313 -0.01958 0.339909 0.5 --0.062948 0.163113 -0.0275941 0.642513 0.5 --0.0665305 0.155586 -0.0523326 0.341054 0.310256 --0.0623918 0.152158 -0.026581 0.702155 0.5 -0.0420203 0.102869 0.0111608 0.695303 0.5 --0.0627936 0.15522 -0.0356106 0.582423 0.5 -0.0447325 0.0931835 0.0161662 0.534948 0.450608 --0.0693701 0.141497 -0.00893397 0.440829 0.5 --0.0702669 0.176516 -0.0559875 0.386304 0.5 -0.0378591 0.102628 -0.00683982 0.481204 0.5 -0.0413233 0.102851 0.0171643 0.698892 0.5 --0.0768403 0.0682209 0.0124564 0.735346 0.287837 -0.0459041 0.087617 0.00917007 0.584075 0.5 -0.044284 0.0819099 0.0251484 0.744899 0.5 -0.044563 0.0819287 0.0241608 0.5961 0.5 -0.0449291 0.081953 0.02316 0.596953 0.5 -0.045212 0.0819736 0.0221688 0.592075 0.478069 -0.0454654 0.0819915 0.0211715 0.487264 0.5 -0.0456344 0.0820067 0.0201819 0.490227 0.366619 -0.0457999 0.0820138 0.0191697 0.495059 0.463042 -0.0458177 0.0820138 0.0181729 0.499036 0.464731 -0.0458863 0.0820184 0.0171704 0.510212 0.5 -0.045976 0.0820209 0.01617 0.524069 0.454898 -0.0460317 0.0820288 0.0151733 0.535351 0.5 -0.0460542 0.0820303 0.0141751 0.535773 0.457803 -0.0461391 0.0820336 0.0131698 0.547787 0.451317 -0.0461918 0.0820393 0.0121748 0.557345 0.390456 -0.0462789 0.0820452 0.011174 0.564814 0.5 -0.0463102 0.0820482 0.0101764 0.572636 0.5 -0.0463117 0.0820487 0.00917902 0.585911 0.5 -0.0462948 0.0820457 0.00817944 0.584742 0.431784 -0.046259 0.0820395 0.0071847 0.56958 0.5 -0.0461456 0.0820314 0.0061875 0.546894 0.5 -0.0460131 0.0820178 0.0051921 0.536395 0.5 -0.04586 0.0820013 0.00419826 0.529417 0.5 -0.0456361 0.0819814 0.00319705 0.522854 0.468485 -0.0454568 0.0819591 0.00221362 0.520881 0.5 -0.0450752 0.0819431 0.00117926 0.435094 0.5 -0.0447595 0.0819096 0.000199099 0.444542 0.469709 -0.0443742 0.0818795 -0.000800454 0.441408 0.5 -0.0440001 0.081852 -0.00180195 0.429979 0.5 -0.0436968 0.0818627 -0.00278544 0.434511 0.425173 -0.0433462 0.0818009 -0.00379375 0.475421 0.5 -0.04296 0.0817702 -0.00479044 0.489727 0.5 -0.04256 0.0817421 -0.00578018 0.594186 0.5 -0.0420458 0.0817019 -0.00677657 0.59314 0.5 -0.0415325 0.0816649 -0.00777347 0.594716 0.450098 -0.0411083 0.0816433 -0.00876203 0.580633 0.427156 -0.0406639 0.0815903 -0.00978474 0.562326 0.5 -0.0402398 0.0815675 -0.0107641 0.575618 0.4498 -0.0396568 0.0815034 -0.0117853 0.579137 0.5 -0.0390954 0.0814754 -0.0127535 0.600154 0.5 -0.0384545 0.081427 -0.0137424 0.590541 0.5 -0.0377831 0.0813859 -0.0147095 0.60906 0.5 -0.0367009 0.0812747 -0.0157528 0.629985 0.5 -0.0358807 0.0812282 -0.0166923 0.654508 0.5 -0.0347498 0.081125 -0.0176886 0.687481 0.5 -0.0333985 0.0809938 -0.0187374 0.752526 0.5 --0.0893861 0.0943037 0.0204146 0.644623 0.5 --0.0894416 0.0943032 0.0194238 0.608406 0.5 --0.0371011 0.0461641 -0.0234326 0.371561 0.5 --0.0892997 0.0956389 0.0174174 0.628011 0.5 --0.086732 0.125284 -0.00171301 0.696281 0.5 --0.0694684 0.158126 -0.0509379 0.300802 0.443128 --0.0823003 0.143183 0.00115625 0.616704 0.5 --0.079388 0.147286 -0.00182539 0.468869 0.5 --0.0776167 0.145877 -0.00384676 0.461877 0.5 --0.0774489 0.163906 -0.0229523 0.466594 0.5 --0.0876033 0.102265 0.00739801 0.476612 0.456626 --0.0891434 0.137902 0.0291936 0.808022 0.5 --0.0898981 0.135185 0.0362087 0.625703 0.458054 --0.0819819 0.112797 -0.000848269 0.475796 0.5 -0.00198723 0.123051 -0.0105036 0.617872 0.5 --0.0930714 0.12018 0.0352857 0.600874 0.5 --0.0931568 0.120191 0.0362904 0.602882 0.458445 --0.0864106 0.136323 0.00223079 0.57152 0.5 --0.0944184 0.12146 0.0172829 0.582042 0.5 --0.0634822 0.166302 -0.0366942 0.706734 0.5 --0.0632393 0.166259 -0.0385929 0.762644 0.5 --0.0626731 0.158367 -0.0396045 0.572804 0.480911 --0.063425 0.163107 -0.0254606 0.680146 0.5 --0.0622179 0.153696 -0.0295936 0.557714 0.5 --0.0627129 0.161593 -0.024579 0.623352 0.5 --0.0616004 0.15843 -0.0275855 0.448532 0.5 --0.0484658 0.144752 0.00741107 0.710393 0.5 --0.0627516 0.145959 -0.00957815 0.578894 0.5 --0.0652725 0.0613084 0.02088 0.571358 0.5 --0.050675 0.140101 0.0024044 0.468682 0.5 --0.0526204 0.141613 0.022402 0.771127 0.5 --0.0492665 0.143175 0.00640774 0.441234 0.5 --0.0480218 0.144366 0.00442748 0.261208 0.363546 --0.0620033 0.158406 -0.0355965 0.549831 0.5 --0.0618685 0.158412 -0.0345942 0.527216 0.5 -0.0442849 0.0945485 0.0181566 0.523605 0.5 --0.0631137 0.14437 -0.00863045 0.578952 0.5 --0.0498122 0.141672 0.00439987 0.419909 0.441676 --0.0501485 0.141642 0.00337658 0.459492 0.461176 --0.0614458 0.0606683 0.0222701 0.419109 0.422905 --0.0616357 0.158429 -0.0245888 0.382433 0.440496 -0.0456048 0.0918125 0.0071715 0.585718 0.5 -0.0398543 0.102779 0.025179 0.61165 0.480715 --0.00909377 0.175718 -0.0267745 0.308736 0.5 --0.0616418 0.158426 -0.0235923 0.383288 0.5 -0.0420573 0.0943632 -0.00379153 0.626074 0.453629 --0.0277533 0.155598 -0.00253083 0.192759 0.278274 --0.0630387 0.15529 -0.0125891 0.392031 0.5 --0.0613597 0.172535 -0.0585911 0.32563 0.5 -0.043481 0.0832455 0.0271768 0.608586 0.5 -0.0458421 0.0876102 0.0101629 0.582089 0.439959 -0.0442188 0.0833029 0.0251703 0.474633 0.5 -0.0445886 0.0833307 0.0241696 0.743144 0.5 -0.0448639 0.0833492 0.023175 0.570355 0.485633 -0.0451476 0.0833704 0.0221542 0.575524 0.5 -0.0453289 0.0833826 0.0211694 0.48142 0.462052 -0.0455396 0.083395 0.0201668 0.491083 0.5 -0.0455932 0.0834007 0.019176 0.492674 0.378522 -0.0456648 0.0834028 0.0181693 0.511377 0.5 -0.0457459 0.0834058 0.0171675 0.527773 0.453059 -0.0458044 0.0834139 0.0161713 0.543296 0.454578 -0.0458872 0.0834155 0.0151706 0.546534 0.457323 -0.0459174 0.0834201 0.0141703 0.554653 0.5 -0.0460037 0.0834239 0.0131685 0.56346 0.5 -0.046059 0.0834308 0.0121726 0.563735 0.5 -0.0461434 0.0834347 0.0111711 0.578169 0.442246 -0.0461779 0.083439 0.010174 0.583892 0.437861 -0.0462595 0.0834414 0.00917612 0.589741 0.5 -0.0461952 0.0834391 0.00817714 0.589475 0.5 -0.0461375 0.0834298 0.00718398 0.576077 0.5 -0.0460228 0.0834207 0.0061859 0.553785 0.5 -0.0458454 0.0834099 0.00517797 0.535229 0.45109 -0.0456753 0.0833922 0.00418733 0.537127 0.5 -0.0453927 0.0833662 0.00319518 0.524916 0.467673 -0.045085 0.0833373 0.00221176 0.440438 0.472755 -0.044722 0.0833037 0.0012072 0.436474 0.484235 -0.044368 0.0832642 0.000211132 0.492409 0.468793 -0.0441357 0.083266 -0.000805736 0.565603 0.467814 -0.0439403 0.083251 -0.00181959 0.477872 0.380604 -0.0437634 0.0832354 -0.00281017 0.565816 0.399199 -0.0434814 0.0832239 -0.00379707 0.559676 0.397693 -0.043167 0.0831963 -0.0047762 0.55883 0.5 -0.0427074 0.0831548 -0.00579292 0.574142 0.475467 -0.0422807 0.0831292 -0.00677447 0.586588 0.5 -0.0418253 0.0830818 -0.00779351 0.479773 0.446447 -0.0413986 0.0830578 -0.00877387 0.480006 0.5 -0.0409937 0.0830284 -0.00976566 0.584615 0.5 -0.0405174 0.0829825 -0.0107762 0.585521 0.5 -0.0400149 0.0829397 -0.0117765 0.600459 0.5 -0.0393871 0.0828883 -0.0127786 0.615615 0.5 -0.0387467 0.0828368 -0.0137708 0.610104 0.391692 -0.0381247 0.0827831 -0.0147803 0.633484 0.5 -0.0372267 0.0827114 -0.0157704 0.668962 0.5 -0.0362923 0.0826461 -0.0167222 0.689422 0.5 -0.0352621 0.0826509 -0.01774 0.71902 0.5 --0.0556554 0.124247 -0.00722427 0.914493 0.5 --0.0286351 0.0918211 -0.0275955 0.261699 0.5 --0.0930784 0.128223 0.0132485 0.712542 0.5 --0.0858053 0.0953564 -0.000572964 0.437153 0.5 --0.0892157 0.0956404 0.0184193 0.632767 0.457977 --0.092315 0.125571 0.0312621 0.877459 0.5 --0.0904683 0.135081 0.0142287 0.498593 0.471461 --0.0776003 0.156937 -0.0149108 0.556865 0.5 --0.0458977 0.166944 -0.00688513 0.373825 0.5 --0.074091 0.144362 -0.00888576 0.320423 0.5 --0.0887923 0.1378 0.0112057 0.415715 0.448876 --0.0855021 0.102147 0.00137916 0.431177 0.5 --0.0689616 0.177928 -0.0580053 0.3173 0.45351 --0.0597956 0.0925385 -0.0196216 0.695804 0.5 --0.0893947 0.113204 0.00833335 0.36724 0.5 --0.0859796 0.119771 -0.00178632 0.465609 0.5 --0.0932449 0.120197 0.0372886 0.603641 0.5 --0.0932655 0.120203 0.038289 0.630949 0.5 --0.0015963 0.0981039 -0.0279083 0.691539 0.5 --0.0944412 0.121464 0.0182801 0.596859 0.463806 --0.0938873 0.12827 0.0192438 0.798515 0.5 --0.0625286 0.164689 -0.038593 0.53425 0.473743 --0.0630274 0.166296 -0.040584 0.725857 0.5 --0.0631905 0.166285 -0.0395881 0.754649 0.5 -0.0457389 0.0876049 0.0111625 0.574419 0.443435 --0.0926608 0.121474 0.0282925 0.738067 0.5 --0.0622044 0.163118 -0.0415929 0.409933 0.5 --0.0612579 0.167808 -0.0576007 0.538309 0.5 --0.0631521 0.0360725 0.0429133 0.489032 0.5 --0.0624284 0.159959 -0.0405984 0.405463 0.5 --0.0301924 0.153974 -0.00357072 0.145174 0.5 --0.0626184 0.145978 -0.00858061 0.571081 0.5 --0.0578274 0.0666818 0.0354001 0.577385 0.401539 --0.0540772 0.146211 0.0253916 0.731489 0.5 --0.0454802 0.123445 -0.0105099 0.730668 0.5 --0.0634397 0.158343 -0.0445972 0.813572 0.5 --0.0632778 0.158345 -0.0436013 0.816232 0.5 --0.00869718 0.172706 -0.0257786 0.296749 0.47539 --0.0617261 0.158412 -0.0335949 0.50701 0.448255 --0.0198811 0.121697 -0.00881459 0.471365 0.398145 --0.0625195 0.144437 -0.00658249 0.372217 0.5 --0.0517406 0.0704199 0.0388209 0.683391 0.5 --0.0633419 0.155193 -0.0376165 0.43884 0.486348 --0.00977705 0.174183 -0.0237537 0.55119 0.5 --0.0528816 0.143158 0.0234068 0.613011 0.480063 --0.0623881 0.149093 -0.0125752 0.404846 0.5 --0.0618567 0.156837 -0.0325918 0.544183 0.5 -0.0440209 0.0945174 0.0011806 0.478628 0.483069 --0.0451105 0.146112 0.00345863 0.179052 0.380177 --0.0624744 0.163093 -0.0485882 0.491134 0.5 --0.0596322 0.0604401 0.0228281 0.469959 0.413682 --0.046701 0.144949 0.00345496 0.231389 0.5 --0.0103855 0.174149 -0.0227989 0.582614 0.5 -0.0438486 0.0846749 0.0261721 0.495532 0.487855 -0.0441954 0.0847004 0.0251589 0.482103 0.48136 -0.0445575 0.0847276 0.0241575 0.484939 0.483108 -0.0448392 0.0847511 0.0231667 0.577665 0.482225 -0.0450874 0.0847681 0.0221666 0.575236 0.5 -0.0452751 0.0847797 0.0211588 0.579922 0.472696 -0.0453494 0.0847845 0.0201731 0.483675 0.5 -0.045458 0.0847917 0.019171 0.49716 0.5 -0.0455463 0.0847945 0.0181695 0.51715 0.460718 -0.0455822 0.0848004 0.0171734 0.535181 0.455861 -0.0456643 0.0848033 0.01617 0.54776 0.5 -0.0457714 0.0848094 0.0151676 0.561313 0.436956 -0.0458128 0.0848143 0.0141708 0.568546 0.5 -0.0458803 0.0848141 0.013166 0.570955 0.5 -0.0459251 0.0848195 0.0121712 0.572077 0.44268 -0.0460105 0.0848241 0.0111686 0.571181 0.444122 -0.0460422 0.0848268 0.0101717 0.582311 0.5 -0.046121 0.0848311 0.00917504 0.590647 0.5 -0.0460721 0.0848306 0.00817735 0.588062 0.429655 -0.0460203 0.0848226 0.00718276 0.577098 0.5 -0.0458812 0.084809 0.00618736 0.564159 0.5 -0.0457266 0.0847913 0.00519644 0.545956 0.352295 -0.0455191 0.0847794 0.00419259 0.535528 0.5 -0.0452185 0.0847535 0.00320441 0.453701 0.5 -0.0449519 0.0847263 0.00223902 0.434455 0.405526 -0.0447673 0.0847221 0.00118921 0.585515 0.404109 -0.0445553 0.0846952 0.000180444 0.583455 0.402685 -0.0443888 0.0846966 -0.000809941 0.57344 0.402303 -0.0442166 0.0846846 -0.00180459 0.469107 0.400629 -0.0440071 0.0846602 -0.00280808 0.556735 0.5 -0.0437196 0.0846401 -0.00379782 0.71159 0.5 --0.0682581 0.156305 0.0164417 0.805627 0.5 --0.0388918 0.123217 0.0263098 0.349179 0.459617 --0.0353048 0.127501 0.00687019 0.881365 0.5 --0.0703978 0.156305 0.0156818 0.730686 0.5 --0.0362408 0.12776 0.00652715 0.880514 0.5 --0.0928216 0.122866 0.0342742 0.809201 0.5 --0.0766606 0.163806 -0.0339802 0.369038 0.5 --0.040399 0.128703 0.00942739 0.809191 0.292109 --0.0846396 0.153647 0.0136585 0.354191 0.421183 --0.0768476 0.148423 0.040238 0.393059 0.467375 --0.0687371 0.155896 0.0104629 0.7987 0.5 --0.0371778 0.128019 0.00618657 0.870609 0.5 --0.0381186 0.128235 0.00584498 0.847128 0.5 --0.06275 0.178179 -0.0598124 0.346151 0.413157 --0.0634376 0.179008 -0.0598746 0.31566 0.411658 --0.0736795 0.145791 -0.0128538 0.298566 0.5 --0.0920989 0.117453 0.031314 0.517528 0.5 --0.0693572 0.156301 0.0160519 0.792482 0.5 --0.0317184 0.124145 0.0214762 0.497618 0.5 --0.0742841 0.155582 0.00848891 0.702432 0.28635 --0.0391935 0.128299 0.00543562 0.839662 0.270846 --0.0401838 0.128459 0.00507702 0.844901 0.5 --0.0625742 0.17727 -0.0581696 0.388367 0.5 --0.0631142 0.178334 -0.0583576 0.368571 0.5 --0.0637186 0.179242 -0.0585917 0.324126 0.5 --0.0644378 0.17995 -0.0588828 0.299231 0.5 --0.0653109 0.180421 -0.0593142 0.370216 0.5 --0.0929915 0.122891 0.0372721 0.585858 0.471552 --0.0928924 0.122885 0.0362699 0.570645 0.5 --0.0458599 0.129594 0.0221735 0.458391 0.5 --0.053407 0.152198 0.0189083 0.587407 0.5 --0.0752073 0.156095 0.0183637 0.564977 0.5 --0.048723 0.134043 0.0239744 0.604372 0.5 --0.0411724 0.128614 0.0047134 0.852899 0.5 --0.0421609 0.128746 0.00435225 0.86392 0.5 -0.0131716 0.128382 0.0245166 0.472285 0.5 --0.0635922 0.178326 -0.0570781 0.317369 0.454355 --0.0641915 0.179229 -0.0572988 0.269106 0.5 --0.0649027 0.179945 -0.0575726 0.263809 0.5 --0.065725 0.180452 -0.0578644 0.48666 0.5 --0.0665966 0.180807 -0.0581921 0.380845 0.5 --0.0674529 0.180926 -0.0583799 0.339056 0.5 --0.0413837 0.128875 0.00906534 0.837261 0.5 --0.0371359 0.123595 0.025439 0.446939 0.5 --0.0741019 0.156119 0.0187476 0.569233 0.367015 --0.0493266 0.134948 0.0237381 0.77652 0.5 --0.0431381 0.128903 0.00398376 0.880366 0.5 --0.0441053 0.129054 0.00361434 0.905742 0.5 --0.0631195 0.176032 -0.0554618 0.68382 0.5 --0.0636281 0.177112 -0.0556446 0.645778 0.5 --0.0641686 0.178174 -0.0558405 0.367841 0.5 --0.0647832 0.179003 -0.0560548 0.312946 0.459935 --0.0654729 0.17978 -0.0563035 0.262334 0.447365 --0.066211 0.180426 -0.0565833 0.376939 0.5 --0.067036 0.180898 -0.0568882 0.432563 0.5 --0.0679616 0.181138 -0.0572245 0.389091 0.5 --0.085796 0.123875 -0.00272102 0.70302 0.5 --0.04503 0.129294 0.00327025 0.917042 0.5 --0.0458838 0.129671 0.00293555 0.816305 0.5 --0.0380707 0.123893 0.0251235 0.346767 0.363798 --0.0499421 0.135837 0.0234945 0.772437 0.5 --0.091814 0.116108 0.0403567 0.550425 0.5 --0.0631955 0.174736 -0.0540401 0.712176 0.5 --0.0636657 0.175908 -0.0542108 0.679802 0.5 --0.064203 0.176904 -0.0544031 0.65138 0.5 --0.0647828 0.177875 -0.0546137 0.456268 0.5 --0.06539 0.178765 -0.0548301 0.448249 0.5 --0.0660593 0.179544 -0.0550745 0.375363 0.5 --0.0667582 0.180263 -0.0553199 0.264956 0.5 --0.0675701 0.180805 -0.0555973 0.258332 0.426824 --0.0683506 0.181259 -0.055895 0.254352 0.409793 --0.0694847 0.181423 -0.0563964 0.273204 0.41273 --0.0703591 0.181312 -0.0565189 0.21134 0.5 --0.0124153 0.129138 0.0195683 0.417736 0.5 --0.045061 0.130334 0.0180279 0.491029 0.5 --0.0859874 0.153017 0.0132012 0.320623 0.405168 --0.0505553 0.136728 0.0232523 0.606671 0.5 --0.0655471 0.154522 0.00288522 0.8759 0.5 --0.0605191 0.153857 0.0308432 0.919253 0.5 --0.0637266 0.174609 -0.0527846 0.504297 0.5 --0.0642224 0.175708 -0.0529566 0.640585 0.5 --0.0647922 0.176686 -0.0531637 0.444677 0.5 --0.0654028 0.177571 -0.0533847 0.428527 0.5 --0.0660877 0.178333 -0.0536421 0.357343 0.5 --0.0667075 0.179209 -0.0538653 0.367804 0.5 --0.0674047 0.179923 -0.0541082 0.419369 0.5 --0.0681573 0.180556 -0.0543707 0.330383 0.5 --0.0689729 0.181022 -0.0546459 0.32396 0.29959 --0.0698279 0.181394 -0.0549266 0.226054 0.275737 --0.0710553 0.181198 -0.0554882 0.229658 0.413533 --0.071802 0.181053 -0.0556554 0.193492 0.5 --0.0571934 0.155255 0.0174937 0.684257 0.5 --0.0345272 0.121283 0.0279162 0.518052 0.5 --0.0586534 0.154964 0.024223 0.596178 0.5 --0.0332546 0.12417 0.0223928 0.479525 0.430861 --0.0679898 0.154859 0.0296647 0.485573 0.5 --0.013621 0.128874 0.0191382 0.419458 0.425425 --0.0637279 0.173384 -0.0513558 0.489894 0.5 --0.0642728 0.174473 -0.0515364 0.347736 0.474123 --0.0648153 0.175482 -0.051724 0.443833 0.5 --0.0654135 0.17638 -0.0519366 0.442109 0.43105 --0.0660268 0.177263 -0.0521591 0.438709 0.5 --0.0667255 0.178008 -0.0524224 0.389692 0.363144 --0.0674015 0.178779 -0.0526749 0.403547 0.5 --0.0681005 0.179488 -0.0529195 0.493625 0.5 --0.0688202 0.180176 -0.0531787 0.396749 0.5 --0.0695824 0.180796 -0.0534457 0.317561 0.5 --0.0704697 0.181218 -0.0537747 0.338533 0.5 --0.0715585 0.181081 -0.0541999 0.245358 0.5 --0.0726553 0.180933 -0.0546755 0.160081 0.341219 -0.00122739 0.121444 0.0362285 0.624618 0.5 --0.0539364 0.153495 0.0157968 0.514091 0.5 --0.0567267 0.15478 0.0220083 0.493226 0.389706 --0.0103619 0.179472 -0.0295714 0.269223 0.5 --0.0927086 0.12286 0.0332776 0.81904 0.5 --0.0771576 0.158311 -0.0229061 0.378385 0.5 --0.0640837 0.156142 0.0179222 0.773108 0.5 --0.0539979 0.153168 0.0186815 0.514233 0.5 --0.0148242 0.128616 0.018702 0.460431 0.5 --0.0503006 0.134918 0.0263293 0.621646 0.5 --0.0793646 0.150083 0.036366 0.384323 0.5 --0.0360726 0.1261 0.0198793 0.32049 0.458715 --0.00589664 0.0980966 0.0519993 0.375401 0.5 --0.0642587 0.173261 -0.0500973 0.509282 0.45545 --0.064798 0.174285 -0.0502768 0.637629 0.5 --0.0654084 0.175187 -0.050486 0.426823 0.5 --0.0660124 0.176151 -0.0507054 0.43721 0.5 --0.0667029 0.176899 -0.0509708 0.376719 0.5 --0.067363 0.177688 -0.0512074 0.495059 0.5 --0.068057 0.178404 -0.0514469 0.499406 0.5 --0.0687469 0.179151 -0.0517127 0.490831 0.5 --0.069513 0.17974 -0.0519891 0.479401 0.401986 --0.0702797 0.180333 -0.0522624 0.399077 0.403019 --0.0711528 0.180791 -0.0525602 0.288727 0.5 --0.0720139 0.180999 -0.0528377 0.234859 0.359374 --0.073516 0.18065 -0.0535934 0.199833 0.344768 --0.0741326 0.180484 -0.0536706 0.158879 0.417619 --0.0644326 0.152123 0.0354487 0.371756 0.5 --0.0159686 0.128428 0.0182857 0.460924 0.5 --0.0421812 0.123012 0.0251172 0.540104 0.5 --0.0541813 0.154195 0.0142529 0.494206 0.416794 --0.073145 0.152886 0.0338966 0.302978 0.374608 --0.0628279 0.151059 0.0360546 0.469638 0.5 --0.0692361 0.153199 0.0337122 0.363433 0.380078 --0.0754673 0.153642 0.0315487 0.336269 0.434961 --0.0826893 0.152358 0.0291683 0.2779 0.421455 --0.0423133 0.129133 0.00872164 0.880408 0.5 --0.0431979 0.129461 0.00840104 0.881323 0.5 --0.0500776 0.136736 0.0219567 0.605075 0.484241 --0.0440446 0.129866 0.0080667 0.877582 0.5 --0.025918 0.122982 0.0235755 0.461779 0.5 --0.0814119 0.152728 0.0295837 0.287597 0.5 --0.04491 0.13036 0.00775303 0.517176 0.419649 --0.0851819 0.152725 0.0105454 0.225537 0.5 --0.0455312 0.131052 0.00748081 0.537457 0.5 --0.0461849 0.131841 0.0072241 0.54872 0.5 --0.0172313 0.12808 0.0178394 0.430492 0.5 --0.0438029 0.167379 0.00334272 0.426893 0.5 --0.0769058 0.154074 0.0295482 0.311171 0.5 --0.0612216 0.155927 0.0131437 0.690335 0.5 --0.0693757 0.155378 0.0277002 0.845188 0.5 --0.068331 0.155325 0.0280685 0.875841 0.5 --0.0449049 0.167415 0.00301648 0.346908 0.32712 --0.0459794 0.167363 0.00259136 0.360546 0.5 --0.0106905 0.18126 -0.0286694 0.314405 0.5 --0.0113643 0.182132 -0.0288209 0.375298 0.5 --0.0870347 0.13912 0.00619253 0.562824 0.5 --0.0619885 0.156033 0.0186659 0.79954 0.293125 --0.0552256 0.153277 0.0254807 0.439072 0.5 --0.0525761 0.136549 0.0284096 0.649592 0.5 --0.0718333 0.156164 0.022455 0.500407 0.5 --0.0373694 0.173381 -0.00150317 0.381711 0.203512 -0.0135568 0.129672 0.01894 0.432438 0.46035 --0.016322 0.128515 0.00945034 0.650839 0.5 --0.0647783 0.173212 -0.0488362 0.528878 0.5 --0.0653605 0.174136 -0.0490346 0.474627 0.5 --0.0660235 0.174935 -0.0492702 0.461517 0.5 --0.0666867 0.175728 -0.049503 0.445707 0.5 --0.067333 0.1766 -0.0497355 0.385197 0.356044 --0.0680148 0.177312 -0.0499759 0.503983 0.5 --0.0687325 0.178002 -0.0502345 0.526637 0.379385 --0.0694694 0.178653 -0.050518 0.496709 0.5 --0.070203 0.179305 -0.0507979 0.489129 0.5 --0.0710157 0.179813 -0.0510815 0.416672 0.384198 --0.0718351 0.180364 -0.0513557 0.315551 0.5 --0.0727421 0.180568 -0.051639 0.318915 0.384595 --0.0739945 0.1802 -0.0521965 0.188967 0.5 -0.0071329 0.104451 -0.0211019 0.784708 0.5 --0.0559476 0.153959 0.0252069 0.44484 0.424185 --0.0657027 0.155342 0.0275329 0.900845 0.5 --0.0705018 0.155741 0.00837641 0.797893 0.5 -0.0196499 0.124334 0.0268969 0.527928 0.466191 --0.073564 0.156227 0.0174776 0.625463 0.5 -0.0241258 0.0914782 -0.0228484 0.63383 0.5 --0.0558317 0.154614 0.0193814 0.387129 0.431381 --0.0337803 0.122942 0.0251825 0.564453 0.5 --0.0528711 0.15259 0.0147483 0.568951 0.5 --0.0711048 0.153963 -0.0459144 0.285976 0.5 --0.0731746 0.154066 -0.0319096 0.712265 0.5 -0.00409629 0.128905 0.0269756 0.41024 0.429791 --0.0639512 0.156212 0.0208686 0.680348 0.5 --0.0555168 0.154658 0.0152234 0.371754 0.439375 --0.0717922 0.153989 -0.0428988 0.428515 0.5 --0.0635386 0.151731 -0.00361755 0.646517 0.5 --0.0549293 0.154823 0.0139773 0.448634 0.5 --0.0641121 0.152654 -0.0038572 0.754158 0.5 --0.00415565 0.0996194 0.0496007 0.265557 0.411173 --0.00216392 0.0992947 0.0503069 0.300073 0.451779 --0.00116978 0.0991573 0.0506694 0.323139 0.5 --0.0478366 0.133877 0.0213554 0.550611 0.5 --0.0466801 0.130916 0.0233152 0.516498 0.5 --0.0841478 0.15365 0.0123539 0.33514 0.5 --0.0260706 0.125207 0.0176138 0.345734 0.5 --0.0728404 0.156111 0.0119063 0.780375 0.5 --0.0166425 0.0970062 0.0498004 0.322217 0.408247 --0.0647804 0.153444 -0.00410741 0.751137 0.5 --0.0654456 0.154232 -0.00436037 0.705412 0.5 --0.0663598 0.15609 0.0142173 0.802487 0.274417 --0.0673252 0.149334 0.0390086 0.510943 0.5 --0.0661191 0.156294 0.0171964 0.80752 0.5 --0.063845 0.150027 0.0371387 0.537665 0.5 --0.0671323 0.152011 0.0359968 0.374268 0.5 --0.0721929 0.152802 0.0342528 0.306947 0.43634 --0.0786185 0.152695 0.0319953 0.327827 0.5 --0.0616544 0.15599 0.0144357 0.742733 0.305382 -0.00300687 0.0991424 0.049182 0.501654 0.5 --0.0837769 0.153466 0.0110188 0.326484 0.449701 --0.0823192 0.154091 0.0115231 0.577835 0.5 --0.0810086 0.154578 0.0119766 0.669833 0.5 --0.0784832 0.155333 0.0128492 0.691841 0.5 --0.077278 0.155614 0.0132673 0.718486 0.5 --0.0660333 0.155202 -0.00458552 0.643006 0.5 --0.0667119 0.155932 -0.00484005 0.605603 0.390873 --0.0498903 0.161248 0.00701432 0.465895 0.5 --0.0673893 0.156703 -0.00509746 0.412166 0.5 --0.0781465 0.155117 0.0246877 0.417254 0.452095 --0.0736149 0.155479 0.0262237 0.839139 0.5 --0.0514267 0.135712 0.0273837 0.635986 0.463315 --0.0520176 0.136681 0.0271356 0.639422 0.5 --0.06805 0.157495 -0.00534926 0.353792 0.5 --0.0105893 0.180273 -0.0272114 0.33455 0.5 --0.0109825 0.18157 -0.0273657 0.302002 0.5 --0.0114267 0.182822 -0.0276369 0.244698 0.41987 --0.00540678 0.121074 -0.0123374 0.627917 0.5 --0.0695221 0.143851 -0.0150076 0.381911 0.5 --0.0486527 0.162759 0.00599863 0.460349 0.5 --0.0174802 0.127364 0.0206736 0.280698 0.5 --0.0519904 0.135575 0.0286552 0.655037 0.5 --0.083614 0.154208 0.0184012 0.31444 0.5 --0.0687471 0.158212 -0.0056007 0.462111 0.419225 --0.0636092 0.170093 -0.0469941 0.635682 0.5 --0.0641407 0.171114 -0.0471776 0.572323 0.5 --0.0647018 0.172123 -0.0473675 0.528895 0.432303 --0.0653246 0.173014 -0.0475844 0.47816 0.5 --0.0659606 0.17389 -0.0478108 0.373373 0.5 --0.0666146 0.174697 -0.0480375 0.368362 0.5 --0.0672645 0.175508 -0.0482636 0.461898 0.5 --0.0679574 0.176267 -0.0485208 0.408914 0.450243 --0.0686886 0.176906 -0.0487674 0.433572 0.5 --0.0694051 0.177621 -0.0490523 0.417943 0.476971 --0.0701614 0.178224 -0.0493215 0.54702 0.5 --0.0709327 0.178806 -0.0496057 0.498199 0.393806 --0.0717036 0.179379 -0.0498901 0.407137 0.5 --0.0725702 0.17984 -0.0501722 0.362064 0.5 --0.0734779 0.180121 -0.0504836 0.212048 0.411612 --0.074698 0.179765 -0.0510072 0.163272 0.394738 --0.0759162 0.179384 -0.0516058 0.162542 0.381623 --0.0821777 0.153468 0.0263012 0.33123 0.324375 --0.0878006 0.151251 0.0245374 0.322152 0.5 -0.0122982 0.128768 0.0241985 0.438377 0.5 --0.069473 0.158882 -0.00587612 0.48781 0.5 --0.0930739 0.122895 0.0382751 0.598996 0.471626 --0.0780471 0.153854 0.029137 0.734248 0.5 --0.0496912 0.162854 0.00564102 0.351382 0.5 --0.0708693 0.149702 0.0392474 0.46436 0.5 --0.0699464 0.151677 0.0365135 0.320405 0.357124 --0.0241449 0.0905492 0.0505682 0.682833 0.5 --0.0131682 0.0974746 0.0509922 0.29677 0.5 --0.0484504 0.134772 0.0211152 0.56902 0.5 --0.0689521 0.151509 0.0368557 0.356433 0.431539 --0.0697859 0.156365 0.01735 0.738885 0.5 -0.0097783 0.1251 0.0319006 0.643395 0.5 --0.0285717 0.12063 0.0270994 0.28254 0.463094 --0.0274771 0.120676 0.0274866 0.356614 0.5 --0.0703503 0.159267 -0.00619145 0.480156 0.422649 --0.0712367 0.159654 -0.00650092 0.343913 0.338288 --0.079558 0.151858 0.0332132 0.298436 0.312479 --0.0679369 0.165269 -0.0197719 0.433581 0.458546 --0.0764224 0.152995 0.0327283 0.347756 0.357178 --0.00822607 0.100046 0.0481626 0.316372 0.5 --0.00613038 0.0999315 0.0488982 0.412702 0.5 --0.0615955 0.15529 0.0260796 0.564364 0.5 --0.0625329 0.155555 0.0257427 0.56408 0.5 -0.001434 0.0980064 0.0516014 0.422905 0.453925 --0.045692 0.126639 0.0237789 0.449286 0.5 --0.0788838 0.153282 0.0303949 0.311202 0.374713 --0.0824105 0.154634 0.0158747 0.519038 0.5 --0.0563344 0.154371 0.0236088 0.375111 0.421928 -0.00990352 0.130871 0.0175976 0.745952 0.5 --0.0358396 0.125396 0.0214464 0.339 0.405986 --0.0728779 0.117943 -0.00788041 0.536416 0.5 --0.0878637 0.152463 0.0169978 0.223809 0.398725 --0.0849416 0.153745 0.0179582 0.320769 0.5 --0.0798758 0.155212 0.019678 0.488112 0.383939 --0.0751298 0.155996 0.0213056 0.508596 0.400481 --0.0740322 0.156054 0.0216877 0.504528 0.5 --0.0718747 0.151003 0.0373736 0.366745 0.5 --0.0711064 0.152637 0.0345827 0.335669 0.5 --0.0773991 0.152954 0.0323974 0.346772 0.424592 --0.072308 0.159721 -0.00687103 0.322371 0.416786 --0.0821317 0.15265 0.0057634 0.232763 0.438624 --0.0469681 0.134154 0.0128397 0.527353 0.5 --0.0141538 0.0965092 0.052175 0.330231 0.5 --0.0101432 0.130124 0.0117041 0.683198 0.5 --0.0697747 0.155761 0.0260978 0.867216 0.5 --0.0738026 0.1492 0.0397758 0.448891 0.5 -0.0130981 0.124462 0.0316831 0.663223 0.383009 --0.0735836 0.159386 -0.00731186 0.252485 0.5 --0.0747481 0.158885 -0.00783629 0.298578 0.5 -0.0188202 0.124811 0.0265908 0.542267 0.5 -0.0157558 0.127182 0.025475 0.473012 0.5 --0.0310964 0.125815 0.0157855 0.667047 0.5 --0.0291841 0.125368 0.0164845 0.388882 0.5 -0.00258681 0.125467 0.0322572 0.472861 0.5 --0.0830349 0.153941 0.0230111 0.378242 0.5 --0.0428158 0.126503 0.0190139 0.507762 0.418747 -0.0483298 0.0694277 0.0246416 0.378342 0.5 --0.0508461 0.134795 0.0276114 0.639653 0.5 --0.0276791 0.1239 0.019992 0.458311 0.438125 --0.0136795 0.0987823 0.0477955 0.23248 0.5 --0.0110867 0.180248 -0.025982 0.407538 0.472618 --0.0115119 0.181449 -0.0261319 0.383249 0.5 --0.0119274 0.182669 -0.0262872 0.339175 0.442039 --0.0123491 0.183911 -0.0264322 0.276975 0.410866 --0.0184858 0.127732 0.0173962 0.406879 0.436913 --0.0196877 0.127428 0.0169554 0.387979 0.434104 --0.059432 0.152725 0.0327387 0.443878 0.5 --0.055495 0.154378 0.0181054 0.408903 0.380362 --0.0514117 0.134659 0.0288827 0.656253 0.5 --0.0818934 0.154016 0.0102104 0.40318 0.5 --0.0412575 0.123881 0.0239565 0.494594 0.5 --0.00700363 0.0992954 0.0501023 0.2958 0.466487 --0.0640598 0.170094 -0.0457055 0.607478 0.5 --0.0645973 0.171184 -0.0458828 0.567315 0.406292 --0.0651886 0.172101 -0.0460875 0.539895 0.5 --0.065854 0.172894 -0.0463248 0.394163 0.5 --0.0665218 0.173689 -0.0465659 0.366587 0.399869 --0.067172 0.174543 -0.0467986 0.364063 0.5 --0.0679286 0.17514 -0.0470724 0.319218 0.5 --0.0686329 0.175846 -0.0473222 0.47296 0.5 --0.0693592 0.176521 -0.047588 0.495339 0.402275 --0.0701023 0.177167 -0.0478719 0.387839 0.5 --0.0708559 0.177779 -0.0481346 0.503537 0.5 --0.0716137 0.178389 -0.0484 0.478254 0.42879 --0.0724407 0.178857 -0.0487083 0.458848 0.40178 --0.0732669 0.179344 -0.0490063 0.347039 0.5 --0.0742533 0.17954 -0.0493425 0.301522 0.370519 --0.0754312 0.179188 -0.0498593 0.200482 0.341482 --0.076524 0.178854 -0.050295 0.174372 0.5 --0.0728771 0.154609 0.0294193 0.808751 0.5 --0.0784442 0.154274 0.027518 0.411481 0.451547 --0.0834391 0.153089 0.025871 0.325457 0.400483 --0.00309453 0.0984522 0.0515066 0.372124 0.384996 --0.0182235 0.123174 0.0292543 0.528715 0.5 --0.0209427 0.127053 0.0165011 0.66913 0.5 --0.0841262 0.110345 0.0263651 0.596458 0.5 --0.09304 0.122895 0.0392709 0.622059 0.5 --0.0928565 0.129591 0.0132418 0.71753 0.5 --0.04739 0.113671 -0.0162364 0.744283 0.5 --0.0869305 0.151358 0.010227 0.260452 0.5 --0.087958 0.12395 0.000268768 0.490983 0.5 --0.0635624 0.152855 0.034229 0.43093 0.5 --0.0792347 0.153789 0.0287725 0.245169 0.5 --0.0918136 0.129556 0.00925121 0.417069 0.5 --0.077566 0.155252 0.0102497 0.71127 0.5 --0.0784019 0.152013 0.0336008 0.368686 0.39272 --0.00476401 0.100643 0.0463697 0.346331 0.5 --0.080576 0.154494 0.0106641 0.668914 0.5 --0.0763654 0.155962 0.0179624 0.580978 0.5 --0.0624813 0.156041 0.0199412 0.731335 0.5 --0.0796429 0.148681 -0.00084361 0.450413 0.5 --0.0567286 0.155485 0.0133042 0.968602 0.5 --0.0370133 0.1227 0.0269929 0.410848 0.355167 --0.0861865 0.0926674 0.00242789 0.644279 0.354684 --0.0714965 0.154091 0.0314059 0.446487 0.456163 --0.0794589 0.155317 0.0154304 0.578788 0.5 --0.0671228 0.150867 0.0375155 0.460684 0.450494 --0.0222638 0.126605 0.016039 0.299115 0.5 --0.0104152 0.0998773 0.0473736 0.198671 0.5 --0.0587411 0.154535 0.0270999 0.958862 0.5 --0.0597326 0.154693 0.0267485 0.944355 0.5 --0.053757 0.152473 0.0202331 0.534412 0.5 --0.0655517 0.155937 0.0246661 0.574725 0.392978 --0.0665534 0.156088 0.0243177 0.587375 0.5 --0.0746595 0.15617 0.0170913 0.633239 0.5 --0.0650382 0.153613 0.000196596 0.922073 0.5 --0.0788442 0.154658 0.0259054 0.411415 0.445829 --0.0700593 0.152584 0.0349486 0.286538 0.5 --0.0735905 0.154201 0.0306806 0.441454 0.5 --0.0307813 0.122738 0.0233033 0.492259 0.385063 --0.0427276 0.129253 0.0100405 0.856375 0.5 --0.0365497 0.124951 0.0226726 0.420418 0.5 --0.0356597 0.12459 0.0229985 0.437973 0.418466 --0.0374342 0.125294 0.0223398 0.371757 0.447487 --0.0212542 0.126244 0.0193308 0.378787 0.428214 --0.0191314 0.122285 0.0303949 0.490047 0.311113 --0.0492373 0.132883 0.0267635 0.617441 0.5 --0.0806754 0.155074 0.0150117 0.435364 0.5 --0.0797904 0.152563 0.0316147 0.28102 0.5 --0.0339024 0.123839 0.0236394 0.506462 0.5 -0.0114258 0.129163 0.0238841 0.337575 0.444821 --0.0434528 0.12491 0.0216806 0.44103 0.5 --0.0603044 0.155837 0.0105687 0.557907 0.5 --0.0234669 0.126337 0.0156088 0.311437 0.460484 --0.0399791 0.126816 0.018458 0.488585 0.5 --0.0780191 0.149419 0.0383262 0.437839 0.31537 -0.0138472 0.123867 0.0319554 0.554783 0.5 --0.0200061 0.124102 0.0256765 0.418189 0.425224 --0.0922854 0.116039 0.0223382 0.782626 0.5 --0.0448181 0.0898814 -0.0220536 0.705827 0.5 --0.0923638 0.118682 0.00930083 0.426522 0.44231 --0.0939805 0.118754 0.0182968 0.666265 0.5 --0.0301654 0.12556 0.01613 0.626309 0.5 --0.0692244 0.15634 0.0190049 0.729089 0.5 --0.0675989 0.156142 0.0239498 0.559045 0.5 --0.0759039 0.154928 -0.00089291 0.226745 0.5 --0.0643687 0.155314 0.00767719 0.778353 0.5 -0.0206378 0.123881 0.0271063 0.554809 0.332438 --0.0466417 0.133657 0.014443 0.604799 0.5 --0.0337588 0.121858 0.0267132 0.631378 0.5 --0.0651138 0.155569 0.0262833 0.90973 0.5 --0.0692155 0.155426 0.0044718 0.769 0.5 --0.0581012 0.158247 0.00415445 0.188342 0.5 --0.0701997 0.155611 0.00411308 0.670567 0.347524 --0.0712424 0.155684 0.00373917 0.601701 0.5 --0.0723361 0.155599 0.00334302 0.530656 0.5 --0.0125908 0.182249 -0.0250896 0.417557 0.5 --0.0130686 0.183424 -0.0252779 0.346102 0.436333 --0.0135796 0.18457 -0.0255034 0.320978 0.5 --0.0142757 0.185348 -0.0257883 0.269917 0.400778 -0.0324897 0.100233 -0.014155 0.741263 0.5 --0.065886 0.15405 -0.00011759 0.895368 0.5 --0.0708783 0.150832 0.0377201 0.392256 0.434005 --0.0508607 0.133588 0.0291236 0.67257 0.5 --0.0889341 0.0928773 0.0104474 0.776027 0.5 --0.0782439 0.151233 0.0351897 0.334169 0.5 --0.0734703 0.155395 0.00293075 0.383022 0.5 --0.063913 0.169258 -0.0441943 0.674357 0.5 --0.064466 0.170264 -0.0443864 0.617437 0.5 --0.0650859 0.171096 -0.0446086 0.571287 0.5 --0.0657123 0.171986 -0.0448274 0.529573 0.399195 --0.0663498 0.172859 -0.0450539 0.473194 0.5 --0.0670839 0.173532 -0.0453192 0.358368 0.455742 --0.0678048 0.17421 -0.0455841 0.4145 0.5 --0.0685375 0.17487 -0.0458569 0.384893 0.448339 --0.0692551 0.175557 -0.0461164 0.383851 0.5 --0.0700117 0.176166 -0.0463861 0.398643 0.473981 --0.0707693 0.176767 -0.0466577 0.410999 0.5 --0.0715386 0.177351 -0.0469381 0.390786 0.358066 --0.0723674 0.177806 -0.0472523 0.371971 0.399195 --0.0731839 0.178324 -0.0475338 0.435725 0.5 --0.0740639 0.178692 -0.0478641 0.272812 0.5 --0.075154 0.17882 -0.048244 0.204731 0.419254 --0.076236 0.178558 -0.0487103 0.189415 0.403274 --0.0747491 0.155081 0.00248708 0.220203 0.5 --0.0666868 0.15458 -0.000433214 0.846996 0.5 --0.0750347 0.154671 0.0286993 0.313868 0.413601 --0.0739196 0.15466 0.0290556 0.808852 0.5 --0.0796085 0.154132 0.0271276 0.40649 0.5 --0.0847891 0.15265 0.0254465 0.287244 0.5 -0.00795856 0.126912 0.0298215 0.387778 0.5 --0.0348246 0.12664 0.0173665 0.580833 0.5 --0.0247298 0.125997 0.0151584 0.448833 0.5 -0.0105508 0.12954 0.0235608 0.418359 0.5 --0.0846054 0.11036 0.02536 0.657102 0.5 --0.0242296 0.0941248 -0.0298734 0.302876 0.453207 -0.0252231 0.117755 -0.00691168 0.505281 0.5 -0.0441357 0.0659575 -7.19207e-05 0.541429 0.5 --0.0674507 0.155183 -0.000720573 0.780353 0.5 --0.0641648 0.15616 0.0149932 0.809436 0.5 --0.065493 0.153273 0.0335324 0.352862 0.444268 --0.0645039 0.15312 0.03389 0.386888 0.36142 --0.0805113 0.153427 0.0283513 0.306193 0.397376 --0.0682182 0.15577 -0.00101225 0.694409 0.5 --0.0720961 0.156364 0.000513559 0.281993 0.5 --0.00782261 0.0985178 0.051315 0.344758 0.401467 --0.0804072 0.155064 0.0209566 0.44587 0.5 --0.0820606 0.151973 0.00432386 0.258574 0.302957 --0.0258738 0.125824 0.0147443 0.498319 0.5 --0.027315 0.119916 0.0290701 0.352091 0.357105 --0.0561651 0.153258 0.0280528 0.381029 0.5 --0.0674005 0.156127 0.0138467 0.821138 0.5 --0.0811445 0.153633 0.00754624 0.328916 0.5 --0.0825551 0.152911 0.00706582 0.220089 0.5 --0.0626717 0.152516 0.0345768 0.350582 0.5 --0.0614607 0.155749 0.0232098 0.616235 0.378027 --0.0587357 0.153161 0.0315118 0.45605 0.344583 --0.0763164 0.155546 0.0238171 0.80251 0.5 --0.0270194 0.12568 0.0143315 0.540272 0.375924 --0.058599 0.155538 0.0184341 0.767749 0.5 -0.0283214 0.115107 0.0315696 0.67894 0.5 --0.0532571 0.151368 0.0204421 0.58152 0.5 -0.027659 0.115893 0.031317 0.646481 0.5 -0.026954 0.116596 0.0310646 0.645431 0.5 --0.0477088 0.132967 0.0228963 0.56096 0.478683 --0.0463447 0.129406 0.0234768 0.524225 0.454305 --0.0442161 0.123225 0.0243959 0.45759 0.5 --0.0432285 0.12305 0.0247373 0.381434 0.453587 --0.0751884 0.153035 0.033144 0.348955 0.422488 -0.0262273 0.117277 0.0307934 0.649075 0.5 -0.0255359 0.118038 0.0305151 0.620035 0.5 -0.0249311 0.118938 0.0303034 0.62139 0.5 -0.0243137 0.119818 0.0300741 0.598185 0.5 --0.0894613 0.148789 0.0111841 0.389625 0.5 -0.0236959 0.120687 0.0298434 0.551951 0.5 -0.0229897 0.121378 0.0295865 0.520167 0.5 --0.0497286 0.133927 0.0265636 0.628151 0.5 -0.0222732 0.12205 0.0293193 0.502202 0.5 --0.0452756 0.131436 0.0105618 0.445235 0.5 -0.0214986 0.122612 0.0290301 0.482105 0.313607 --0.0874426 0.110454 0.0173412 0.616668 0.5 --0.00127486 0.120883 -0.0121504 0.570686 0.477905 --0.0211708 0.123144 -0.00636628 0.464551 0.461206 --0.0891077 0.101031 0.0163881 0.849547 0.5 -0.0207235 0.123161 0.0287274 0.569223 0.443379 -0.0198592 0.123572 0.0284223 0.55317 0.5 -0.0189962 0.123953 0.0281041 0.556545 0.334959 -0.0181521 0.124421 0.0277923 0.585191 0.5 --0.0867734 0.103584 0.00638913 0.478693 0.46219 --0.068761 0.17368 -0.0560297 0.67139 0.5 --0.0471993 0.162132 -0.00733312 0.393245 0.445005 --0.0718999 0.113582 -0.00821597 0.492024 0.5 --0.00529252 0.125273 -0.00885488 0.533246 0.5 --0.0759079 0.150006 -0.00888842 0.659731 0.5 --0.0760686 0.150008 -0.00987485 0.734289 0.5 -0.0173744 0.124995 0.027504 0.470839 0.5 --0.0778099 0.148638 -0.00388521 0.541877 0.444387 -0.0166594 0.125691 0.027245 0.457036 0.460414 --0.0689895 0.156345 -0.00130196 0.617683 0.5 --0.0408822 0.128708 0.0107294 0.734262 0.5 --0.0571357 0.158766 0.00595884 0.223732 0.311272 -0.015933 0.126357 0.0269718 0.541836 0.5 -0.0151645 0.126939 0.0266898 0.501243 0.5 --0.077651 0.154407 0.00585132 0.369739 0.455328 --0.079025 0.153836 0.00536375 0.359527 0.5 --0.0769628 0.150462 0.0371334 0.379516 0.384787 --0.050909 0.135812 0.0260882 0.614199 0.5 -0.0143052 0.127349 0.0263844 0.45688 0.5 --0.0132255 0.182074 -0.023933 0.548246 0.5 --0.0137231 0.183161 -0.0241068 0.383834 0.5 --0.014166 0.184338 -0.0242563 0.32807 0.431458 --0.0146296 0.185817 -0.0244743 0.248249 0.5 --0.0153476 0.186173 -0.0245951 0.276676 0.367128 --0.087002 0.140499 0.00821758 0.373697 0.443001 --0.0602648 0.153206 0.0324327 0.403612 0.5 --0.063441 0.156071 0.0225051 0.620803 0.366391 -0.0134717 0.127798 0.0260714 0.59224 0.408422 --0.0237797 0.125538 0.0184413 0.306217 0.5 -0.0126008 0.128196 0.0257553 0.472702 0.339571 --0.0637423 0.168365 -0.0426884 0.662365 0.5 --0.0643109 0.169365 -0.0428818 0.635788 0.5 --0.0649225 0.170267 -0.0430968 0.626363 0.5 --0.0655596 0.171143 -0.0433207 0.575505 0.5 --0.0662148 0.171945 -0.0435535 0.528281 0.5 --0.066881 0.172737 -0.0437921 0.500122 0.395333 --0.06762 0.17339 -0.0440641 0.385173 0.394471 --0.0684218 0.173931 -0.0443685 0.32556 0.5 --0.0691226 0.174646 -0.044619 0.375806 0.456951 --0.0698489 0.175309 -0.0448893 0.377981 0.5 --0.0706135 0.175903 -0.0451833 0.402479 0.34786 --0.071418 0.176406 -0.0454588 0.40572 0.403952 --0.0721908 0.176974 -0.0457483 0.38054 0.471774 --0.0730605 0.177343 -0.046073 0.352853 0.471419 --0.0739332 0.177709 -0.0464055 0.400969 0.5 --0.0749384 0.177982 -0.0467773 0.278161 0.43787 --0.0759405 0.177963 -0.0471435 0.225088 0.291796 --0.0771053 0.177652 -0.0476237 0.209157 0.5 --0.0757231 0.155771 0.0225635 0.797224 0.5 --0.0627957 0.153425 0.0330074 0.403736 0.5 --0.066713 0.154086 0.0315791 0.840931 0.5 --0.0686943 0.154419 0.0308917 0.472006 0.453711 --0.0707318 0.154624 0.0301689 0.462599 0.5 --0.0761439 0.154623 0.0283179 0.318901 0.398088 --0.0573804 0.151726 0.0319973 0.431658 0.5 -0.0116873 0.128578 0.0254498 0.347269 0.407975 -0.0108543 0.128955 0.0251156 0.344823 0.391206 -0.00997537 0.129323 0.0247881 0.426368 0.369992 --0.0849555 0.110375 0.0243559 0.678838 0.5 --0.084184 0.106292 0.0253661 0.65118 0.5 --0.0866976 0.109058 0.0133472 0.739051 0.5 --0.0866673 0.109085 0.0143521 0.578631 0.451663 --0.0865776 0.109066 0.0163469 0.629867 0.5 --0.0875333 0.0927687 0.0054156 0.679674 0.5 --0.038368 0.0457007 -0.0229731 0.426285 0.5 --0.0928971 0.117368 0.0123132 0.491931 0.5 -0.00904657 0.129598 0.024451 0.41019 0.426873 --0.0321846 0.121876 0.025771 0.579432 0.5 --0.0656879 0.156227 0.015899 0.79061 0.5 --0.0664848 0.153437 0.0331838 0.354306 0.5 --0.0674788 0.153589 0.0328337 0.344578 0.5 --0.0817249 0.153192 0.027965 0.28371 0.282531 --0.0592802 0.154415 0.0283608 0.951004 0.5 -0.00811587 0.129858 0.0241077 0.543404 0.414814 --0.0876017 0.152029 0.0126504 0.269854 0.298128 --0.0819436 0.154696 0.0145801 0.435313 0.449778 --0.0740319 0.152138 0.0351116 0.402806 0.419416 --0.0494828 0.135763 0.0221907 0.769818 0.5 --0.069971 0.156225 0.0143836 0.776006 0.5 --0.0713089 0.156055 0.0109968 0.807733 0.5 --0.0796959 0.154266 0.00805358 0.596019 0.5 -0.00713749 0.130032 0.0237524 0.548164 0.410851 --0.0341212 0.124555 0.022076 0.455627 0.412619 --0.0858293 0.151702 0.00893089 0.214811 0.360321 --0.0792484 0.154932 0.0111245 0.68714 0.5 --0.0605353 0.155832 0.0177371 0.826796 0.5 --0.0595443 0.155728 0.018094 0.76787 0.5 --0.0556924 0.159448 0.00648476 0.273937 0.5 --0.0854294 0.151325 0.0282936 0.297634 0.5 -0.00616007 0.130231 0.0233995 0.528446 0.42562 --0.0439068 0.129921 0.011069 0.565651 0.5 --0.0413654 0.128702 0.0120304 0.707292 0.5 --0.0385209 0.128019 0.0130694 0.653876 0.5 --0.0271627 0.125166 0.0172175 0.504011 0.408947 --0.0652464 0.154114 0.00157024 0.908085 0.5 --0.069822 0.156776 -0.00162593 0.545917 0.5 --0.0724089 0.155986 0.0106072 0.789045 0.5 -0.00517895 0.130408 0.0230466 0.551604 0.406902 --0.0896787 0.135012 0.00721892 0.550183 0.5 -0.0042017 0.130577 0.0226921 0.553759 0.5 --0.067594 0.162379 -0.0559888 0.353644 0.31296 --0.0887371 0.0955614 0.00743378 0.506013 0.5 --0.0935783 0.124186 0.0262856 0.713437 0.5 --0.094388 0.124185 0.0232804 0.668279 0.5 -0.00962203 0.129808 0.0232185 0.567041 0.5 -0.00321463 0.130705 0.0223233 0.517365 0.5 -0.00211859 0.130671 0.0219319 0.537616 0.5 -0.00107791 0.130709 0.0215491 0.553365 0.5 --1.59767e-05 0.130672 0.0211571 0.481567 0.430123 --0.087234 0.0981695 0.00341761 0.4296 0.5 --0.0853843 0.0980412 -0.000554198 0.453316 0.5 --0.0849311 0.0980032 -0.00158096 0.452736 0.390978 --0.0764395 0.0988661 -0.011539 0.529633 0.5 --0.0891047 0.101026 0.0153901 0.826645 0.5 --0.0792032 0.10313 -0.00756064 0.528048 0.5 --0.0890821 0.101017 0.0143926 0.806966 0.5 --0.0800798 0.103192 -0.0065999 0.540449 0.5 --0.0404379 0.124957 -0.00812413 0.574129 0.5 --0.0394569 0.124785 -0.00795634 0.456648 0.5 --0.0842393 0.107513 0.00238784 0.452446 0.5 --0.0837744 0.107497 0.00138169 0.351934 0.445781 --0.0719363 0.129668 -0.0086833 0.4298 0.5 --0.00287353 0.108795 -0.0218002 0.568867 0.482811 --0.0638254 0.0924713 -0.0188016 0.657758 0.5 --0.0922608 0.117447 0.0323019 0.518303 0.5 --0.0917594 0.117442 0.030311 0.52777 0.5 --0.0914492 0.117418 0.0293041 0.57693 0.5 --0.0731283 0.155734 0.00889607 0.736951 0.5 --0.0390704 0.124042 0.0247581 0.311966 0.388839 --0.0389634 0.128304 0.0114309 0.704612 0.5 -0.00874316 0.130156 0.0228898 0.56284 0.5 -0.00776642 0.130336 0.022539 0.562826 0.5 --0.072697 0.155649 0.00759319 0.715062 0.5 --0.076212 0.155059 0.00635026 0.397599 0.5 --0.0705953 0.157132 -0.0018785 0.339722 0.430122 --0.0836837 0.151385 0.0303528 0.287845 0.5 --0.0716243 0.157487 -0.00225608 0.326515 0.5 --0.0672661 0.155709 0.00954294 0.822186 0.5 --0.00111302 0.130629 0.0207594 0.512372 0.5 --0.00209707 0.130745 0.0203917 0.533385 0.5 --0.00324635 0.130613 0.0199814 0.539749 0.5 --0.0150259 0.185694 -0.0231645 0.318764 0.466605 --0.0156461 0.186781 -0.0233704 0.318204 0.5 --0.0937433 0.118772 0.0222988 0.751549 0.5 -0.0180016 0.125305 0.0262968 0.450789 0.5 --0.0800697 0.154441 0.0255089 0.292083 0.393115 --0.0817292 0.154617 0.0205129 0.443873 0.406407 --0.054422 0.152991 0.0228754 0.432782 0.451174 --0.00434542 0.130565 0.019581 0.579239 0.5 --0.0635933 0.167459 -0.0411888 0.706226 0.5 --0.0641553 0.168532 -0.0413683 0.642428 0.5 --0.0647592 0.169439 -0.0415812 0.622087 0.5 --0.0653795 0.17033 -0.0418012 0.611243 0.5 --0.0660426 0.171124 -0.0420386 0.571196 0.5 --0.0667171 0.171901 -0.0422833 0.533067 0.5 --0.0674328 0.172594 -0.0425404 0.661149 0.5 --0.0681661 0.173216 -0.0428508 0.377002 0.42015 --0.0689362 0.173831 -0.0430963 0.467354 0.423496 --0.069711 0.1744 -0.043385 0.372832 0.351185 --0.0704834 0.174975 -0.0436743 0.385924 0.457959 --0.0712521 0.17555 -0.0439596 0.38356 0.5 --0.0720698 0.176015 -0.0442709 0.379128 0.5 --0.0728954 0.176495 -0.0445729 0.346949 0.440128 --0.0736872 0.176894 -0.0449171 0.383964 0.456191 --0.074679 0.177203 -0.0452121 0.390405 0.418022 --0.0757023 0.177226 -0.0456228 0.242758 0.5 --0.0768893 0.176966 -0.046083 0.227579 0.377145 --0.0661966 0.15171 0.0363078 0.379611 0.5 --0.0637376 0.15365 0.0326508 0.496388 0.5 --0.0621042 0.153787 0.0317461 0.906238 0.5 --0.0813458 0.154098 0.0250842 0.311039 0.5 --0.0724662 0.156284 0.0178613 0.597807 0.5 --0.0472567 0.132959 0.0215876 0.695814 0.5 --0.0927119 0.117479 0.0363033 0.64398 0.5 -0.0067865 0.130497 0.0221788 0.57972 0.5 -0.00580886 0.130668 0.0218239 0.58451 0.5 --0.0888763 0.0982745 0.00841224 0.545621 0.464297 --0.0923737 0.128196 0.0102559 0.430661 0.5 --0.0817922 0.143171 0.000171875 0.470692 0.5 --0.0616525 0.116813 -0.0113459 0.569925 0.5 --0.0846182 0.106299 0.024344 0.647284 0.5 --0.0848969 0.106313 0.0233612 0.643467 0.458224 --0.0865489 0.109072 0.0153468 0.61611 0.5 --0.093041 0.12831 0.0262642 0.483191 0.458764 --0.0908913 0.139194 0.0171389 0.390055 0.447193 --0.0931626 0.117374 0.0143043 0.566059 0.5 --0.00538241 0.130597 0.0192035 0.576033 0.360149 --0.0727258 0.157431 -0.00265266 0.268239 0.5 --0.0740278 0.157006 -0.00316778 0.231234 0.234848 --0.0314035 0.121359 0.0260922 0.418294 0.5 --0.0670917 0.155954 0.0255845 0.53503 0.5 --0.0612038 0.154834 0.027675 0.939001 0.5 --0.0602698 0.154572 0.0280125 0.937019 0.5 --0.0681398 0.156014 0.0252192 0.533101 0.5 --0.0820398 0.150272 0.03397 0.333661 0.5 --0.0896372 0.0929496 0.0174335 0.591835 0.5 --0.0750251 0.152273 0.0347437 0.385508 0.5 --0.0689807 0.155012 0.0293114 0.455896 0.5 --0.0702091 0.156071 0.0113882 0.792094 0.5 --0.0157027 0.123907 0.0301351 0.458799 0.5 --0.0924704 0.117461 0.033305 0.528836 0.5 --0.0924453 0.114684 0.0163206 0.67708 0.5 --0.0065332 0.130449 0.0187888 0.564311 0.5 --0.0245954 0.122675 -0.00581505 0.49459 0.5 --0.00443014 0.100204 0.0479984 0.298848 0.5 --0.0709364 0.151841 0.036169 0.306998 0.404127 -0.00477967 0.130785 0.0214562 0.590139 0.5 --0.0572144 0.154757 0.0232881 0.367409 0.469179 --0.0622625 0.155951 0.0127725 0.751952 0.5 --0.0620032 0.154899 0.00420466 0.365568 0.5 -0.0038008 0.130941 0.0210967 0.587176 0.5 --0.0771272 0.155133 0.00894547 0.706861 0.5 --0.0290767 0.121891 0.0239314 0.547778 0.5 --0.0525571 0.150877 0.0178 0.675547 0.5 --0.00768551 0.130297 0.0183702 0.521186 0.5 --0.00883076 0.130134 0.0179537 0.52589 0.5 --0.00998113 0.12997 0.0175362 0.527405 0.5 --0.0862421 0.14327 0.00816028 0.576547 0.5 --0.091117 0.143373 0.0231646 0.694145 0.5 --0.0809488 0.144539 -0.000825536 0.639063 0.5 --0.0737149 0.158251 -0.0299203 0.421822 0.5 --0.0754296 0.152593 -0.0138871 0.723501 0.319982 --0.0889571 0.0955775 0.00843273 0.558558 0.5 --0.0890892 0.0955882 0.00942496 0.593084 0.5 --0.0891519 0.0956005 0.0104313 0.590274 0.5 --0.0892111 0.0956026 0.0114219 0.581238 0.5 --0.093596 0.126936 0.0252692 0.49385 0.5 --0.0912918 0.11477 0.0353243 0.474485 0.5 --0.0911122 0.11473 0.0343167 0.449128 0.5 --0.0875561 0.0968363 0.00343541 0.50381 0.5 --0.0878452 0.096803 0.00445868 0.443299 0.440522 --0.0879813 0.0968653 0.0054141 0.441076 0.46831 --0.0859359 0.0980836 0.000413824 0.471518 0.5 --0.0782927 0.098997 -0.00960155 0.721533 0.5 --0.0890673 0.101028 0.0173829 0.597195 0.483376 --0.0889728 0.101008 0.0133925 0.812355 0.5 --0.0888771 0.100994 0.011394 0.800892 0.5 --0.0809107 0.103235 -0.00559799 0.521545 0.5 --0.0818428 0.103274 -0.0045788 0.514674 0.5 --0.0385101 0.124563 -0.00772445 0.466649 0.456518 --0.0477678 0.125154 -0.0082648 0.575843 0.5 --0.0831283 0.107448 0.000408412 0.367767 0.405704 --0.0825753 0.107428 -0.000626511 0.380508 0.332089 --0.0821717 0.11152 0.00033013 0.711982 0.5 --0.0920931 0.126941 0.031257 0.617847 0.5 --0.0800935 0.138964 -0.00379173 0.717935 0.5 --0.0686053 0.155434 -0.0518073 0.241952 0.5 --0.0926576 0.117463 0.0373027 0.659396 0.5 --0.0719733 0.155857 0.00930845 0.79415 0.5 --0.0111299 0.129809 0.0171219 0.497013 0.5 --0.00516147 0.100957 0.0442706 0.126305 0 --0.0316114 0.123192 0.0229888 0.490955 0.5 --0.0442513 0.120873 0.0273959 0.474362 0.5 --0.0447319 0.125394 0.0226968 0.45165 0.5 --0.0456062 0.127883 0.0223049 0.451954 0.5 --0.0442317 0.12547 0.021384 0.457352 0.446565 -0.0249541 0.12014 0.0288767 0.581423 0.5 --0.0707351 0.156208 0.0228366 0.570101 0.376426 --0.0690676 0.152436 0.0353067 0.318928 0.45254 --0.0662219 0.155662 0.00991681 0.829496 0.5 --0.0651233 0.155698 0.0103085 0.811994 0.5 --0.0683614 0.15578 0.00913576 0.811142 0.5 --0.0122771 0.129643 0.0167063 0.508535 0.5 --0.0154824 0.185702 -0.0219175 0.335086 0.5 --0.0159771 0.186924 -0.0221541 0.278008 0.45228 --0.0859011 0.134922 0.00126737 0.646063 0.5 --0.0893171 0.151601 0.0194969 0.267221 0.5 --0.0354864 0.12379 0.0245568 0.480334 0.5 --0.0847135 0.152577 0.00925173 0.231958 0.5 --0.013542 0.129298 0.0162538 0.500219 0.5 --0.0147406 0.129011 0.0158201 0.51722 0.5 --0.0634115 0.166723 -0.0396505 0.75688 0.5 --0.0639453 0.167747 -0.0398404 0.702692 0.5 --0.0645483 0.168715 -0.0400434 0.683488 0.5 --0.0651763 0.16954 -0.0402745 0.630943 0.357183 --0.0658394 0.170333 -0.0405107 0.59557 0.5 --0.0665181 0.171112 -0.0407548 0.587367 0.5 --0.0672076 0.171872 -0.0410051 0.563003 0.5 --0.067993 0.172429 -0.0412978 0.510583 0.5 --0.0687437 0.173038 -0.0415702 0.502667 0.5 --0.0695038 0.173637 -0.0418473 0.499477 0.5 --0.0702811 0.17421 -0.0421289 0.461191 0.410858 --0.0710541 0.174778 -0.0424234 0.448779 0.5 --0.0718647 0.175275 -0.0427173 0.57048 0.5 --0.0726957 0.175719 -0.0430358 0.397547 0.38373 --0.0735436 0.175947 -0.0433626 0.330307 0.364925 --0.0744971 0.176396 -0.0436946 0.36777 0.448135 --0.0756137 0.176488 -0.0441876 0.300818 0.303156 --0.0767078 0.176155 -0.0445645 0.245453 0.5 --0.077704 0.175863 -0.0450747 0.272903 0.38336 -0.0172444 0.125917 0.0260258 0.442006 0.5 --0.0762839 0.155844 0.0209052 0.50868 0.5 --0.0160023 0.128658 0.015367 0.478986 0.5 --0.0670539 0.154574 0.0299913 0.867925 0.5 --0.0734894 0.156164 0.020416 0.514284 0.5 --0.0745879 0.156108 0.0200327 0.537019 0.5 --0.0780015 0.155773 0.018849 0.548924 0.5 --0.0172605 0.128293 0.0149127 0.498327 0.5 --0.0851868 0.0966727 -0.00156833 0.425513 0.5 -0.0569661 0.0701435 0.00568959 0.538818 0.5 --0.0856518 0.096702 -0.000561949 0.447658 0.5 --0.088653 0.0982606 0.00741366 0.410829 0.5 --0.0885378 0.137788 0.0102157 0.405396 0.464778 --0.0770983 0.150031 -0.00589737 0.544206 0.409235 --0.0902136 0.13513 0.0232187 0.839283 0.5 --0.0299989 0.178534 -0.0140055 0.383289 0.5 --0.0851762 0.106326 0.0223754 0.63021 0.463991 --0.0866227 0.109058 0.0173532 0.67866 0.5 --0.0914252 0.114627 0.0103302 0.335405 0.476851 --0.0719895 0.163815 -0.0429694 0.368978 0.449848 --0.0911855 0.114622 0.00933636 0.315989 0.471837 -0.00310867 0.129093 0.0266332 0.40008 0.438033 --0.0482461 0.131793 0.0256765 0.596518 0.5 --0.0786725 0.15564 0.0171569 0.585628 0.323096 --0.0734724 0.155984 0.0233451 0.841512 0.5 --0.0183995 0.128105 0.0144964 0.510537 0.5 --0.062196 0.154993 0.0273195 0.928039 0.5 --0.0461819 0.130936 0.0220239 0.509255 0.473382 --0.0770801 0.15139 0.0355785 0.417686 0.5 --0.064488 0.156133 0.0221359 0.641473 0.5 --0.0538607 0.152062 0.0231076 0.479066 0.5 --0.00904759 0.0994069 0.0493883 0.24962 0.5 --0.0691125 0.156051 0.011784 0.796511 0.5 --0.0171117 0.123425 0.0297114 0.49596 0.5 --0.0196618 0.127752 0.0140421 0.453831 0.5 --0.0766305 0.155099 0.0076657 0.632936 0.5 --0.00691412 0.124317 0.0332409 0.479514 0.362999 --0.00592646 0.12418 0.0336126 0.497508 0.5 --0.00213372 0.123188 0.0349488 0.558662 0.36019 --0.00125147 0.122854 0.0353 0.584082 0.5 --0.078386 0.154762 0.00850622 0.691541 0.5 -0.0493697 0.0693787 0.0250272 0.436482 0.5 --0.00570768 0.129479 0.0248833 0.817042 0.5 --0.0710465 0.156278 0.000878407 0.506061 0.441607 --0.00501253 0.125042 0.0324689 0.46715 0.5 --0.00605897 0.125119 0.0321155 0.435354 0.406408 --0.00710449 0.125174 0.0317411 0.417766 0.401112 --0.0209254 0.127401 0.0135903 0.460998 0.5 --0.0221215 0.127119 0.0131583 0.474264 0.5 -0.0349031 0.111324 -0.00180439 0.632949 0.5 -0.0342895 0.112223 -0.00202032 0.524053 0.5 -0.0336372 0.112962 -0.00230707 0.521245 0.486938 --0.0781607 0.0935055 -0.0115755 0.49968 0.476752 --0.0772165 0.0934484 -0.0125951 0.514197 0.5 --0.073438 0.145781 -0.0138542 0.280488 0.5 --0.091649 0.146116 0.0221478 0.652735 0.446108 --0.09096 0.148814 0.0141536 0.4138 0.420318 --0.0743025 0.151276 -0.0308835 0.422032 0.5 --0.0893667 0.135016 0.00621309 0.499728 0.5 --0.0890002 0.134996 0.00522535 0.347697 0.444767 --0.0715687 0.153984 -0.0439053 0.407605 0.5 --0.0941104 0.126894 0.0182531 0.782943 0.5 --0.0772795 0.155549 -0.0169029 0.436834 0.5 --0.0924522 0.125595 0.0392516 0.846712 0.5 -0.031866 0.115189 -0.00211013 0.524001 0.485056 --0.0762012 0.149986 -0.0138757 0.730145 0.5 --0.0905185 0.148805 0.0131551 0.397923 0.445313 --0.0883434 0.0968836 0.00640652 0.409124 0.43057 --0.086306 0.0981081 0.00140707 0.463708 0.326802 --0.0773163 0.098935 -0.0105842 0.508921 0.464986 --0.0791658 0.0990564 -0.00863296 0.699878 0.5 --0.0801842 0.0990978 -0.00757647 0.501881 0.5 --0.0888256 0.100978 0.0104077 0.779812 0.5 --0.0889531 0.100999 0.0124002 0.812831 0.5 --0.0805618 0.101855 -0.00659893 0.512962 0.5 --0.079699 0.101798 -0.00757602 0.515005 0.5 --0.0488684 0.125064 -0.00815774 0.620121 0.5 --0.0785113 0.10447 -0.00758869 0.549638 0.5 --0.0861826 0.104908 0.00538017 0.507837 0.5 --0.0798316 0.111318 -0.00180655 0.530621 0.431561 --0.0746935 0.111142 -0.00760178 0.546761 0.5 -0.0250885 0.119458 -0.00473925 0.634797 0.5 --0.0618301 0.0924936 -0.0189652 0.644902 0.5 --0.0931712 0.117411 0.0223074 0.791033 0.5 --0.0708769 0.155921 0.00969704 0.812121 0.5 --0.0233794 0.126748 0.0127038 0.357905 0.5 --0.076573 0.153595 0.0311713 0.353992 0.423281 --0.0769778 0.155918 0.0162848 0.630854 0.5 --0.0504069 0.135839 0.0247969 0.607599 0.5 --0.0441024 0.124581 0.0229348 0.421357 0.5 --0.0299566 0.122268 0.0236125 0.45741 0.441643 --0.0451337 0.127804 0.0210049 0.493331 0.437367 --0.0618314 0.155872 0.0114752 0.700853 0.5 --0.0640267 0.155773 0.0106957 0.807755 0.5 --0.000378579 0.101174 0.0451223 0.290335 0.5 --0.00338536 0.100168 0.0483773 0.304116 0.5 --0.0807714 0.153393 0.00628177 0.32777 0.464672 --0.0793953 0.154018 0.0066962 0.411032 0.5 --0.0246455 0.126418 0.012252 0.538261 0.5 --0.0160151 0.185636 -0.0207096 0.356062 0.444944 --0.0163792 0.186908 -0.0208435 0.331362 0.417911 --0.017221 0.187225 -0.0211553 0.257454 0.322465 --0.0892823 0.141954 0.0132429 0.571623 0.5 --0.0293794 0.119962 0.0282913 0.350148 0.381345 --0.0640268 0.154208 0.0310565 0.880254 0.5 --0.0434655 0.127159 0.0186744 0.428147 0.5 --0.0259005 0.126064 0.0117956 0.607316 0.5 --0.0270407 0.125883 0.0113821 0.647596 0.5 --0.063712 0.167032 -0.0383216 0.714303 0.5 --0.0642974 0.167953 -0.0385345 0.694339 0.5 --0.0649318 0.168832 -0.0387572 0.693126 0.5 --0.0655972 0.169628 -0.0389928 0.641154 0.5 --0.0662716 0.170413 -0.0392349 0.628568 0.348433 --0.0669901 0.171097 -0.0394962 0.579449 0.5 --0.0677151 0.171772 -0.0397619 0.573191 0.441525 --0.0684896 0.172346 -0.0400602 0.420947 0.459255 --0.0692316 0.172989 -0.0403442 0.484946 0.452002 --0.070025 0.173518 -0.0406121 0.419102 0.38893 --0.0708508 0.173984 -0.0409178 0.334596 0.434996 --0.071633 0.174549 -0.0412084 0.399149 0.456555 --0.0724955 0.174948 -0.0415233 0.527189 0.5 --0.073438 0.175304 -0.0418354 0.367327 0.455799 --0.0742949 0.17555 -0.0422185 0.307078 0.5 --0.0752747 0.175704 -0.0425921 0.299412 0.5 --0.0764469 0.175411 -0.0430646 0.266272 0.5 --0.0776263 0.175005 -0.043567 0.272244 0.421096 -0.0236097 0.121674 0.028372 0.507015 0.5 --0.0110238 0.098585 0.0502027 0.348508 0.5 --0.074262 0.155148 0.0274653 0.816714 0.5 --0.071237 0.156366 0.0212013 0.569686 0.5 --0.0281815 0.125725 0.0109634 0.709208 0.5 --0.0292627 0.125707 0.0105611 0.768059 0.5 --0.0301947 0.125922 0.0102205 0.856351 0.5 --0.0311244 0.126183 0.00987945 0.879401 0.5 -0.0577347 0.0705061 0.0074689 0.571292 0.5 -0.0569193 0.0710092 0.00714855 0.593224 0.413983 -0.0560223 0.0713695 0.00682475 0.543846 0.5 --0.0860277 0.0967286 0.000430639 0.485286 0.5 --0.0883068 0.098239 0.00641854 0.50839 0.459329 --0.092972 0.125468 0.0112596 0.614765 0.388524 --0.090971 0.141997 0.0221703 0.786315 0.5 --0.0849952 0.141833 0.00418636 0.431966 0.5 --0.0759663 0.179251 -0.0520449 0.195519 0.5 --0.085611 0.106332 0.02136 0.627503 0.5 --0.0865394 0.109089 0.0183378 0.722139 0.5 --0.0538048 0.159768 -0.00183632 0.233189 0.5 --0.0614351 0.156032 0.020314 0.711882 0.5 --0.0320503 0.12646 0.00953655 0.88404 0.5 --0.0842181 0.153993 0.0196689 0.295353 0.5 --0.0792564 0.155246 0.0213567 0.464925 0.5 --0.0452904 0.125307 0.0239255 0.407945 0.448549 -0.00396412 0.0977772 0.0510597 0.476891 0.5 --0.0584012 0.154047 0.0286827 0.969766 0.5 --0.0488788 0.134867 0.0224297 0.58517 0.488238 --0.0740662 0.155757 0.0246008 0.811509 0.5 --0.0329323 0.126815 0.00921204 0.886564 0.5 --0.0467117 0.131872 0.0218067 0.660528 0.5 --0.0680156 0.156066 0.0121787 0.812693 0.270919 --0.0253546 0.121816 0.0267508 0.344512 0.5 --0.0728072 0.15012 0.0385587 0.414505 0.423068 --0.0706375 0.156126 0.0126907 0.789315 0.5 --0.0338201 0.127158 0.00888963 0.886443 0.5 --0.000391601 0.123621 0.0341495 0.561761 0.428984 --0.00127097 0.123959 0.0338052 0.536326 0.425495 --0.00226088 0.124171 0.0334893 0.508731 0.5 --0.00308571 0.124589 0.0331408 0.508853 0.361139 --0.0683525 0.155277 0.00186884 0.792517 0.5 --0.00680045 0.129424 0.0244883 0.753365 0.5 --0.003677 0.129286 0.0256231 0.444866 0.5 --0.00466385 0.129429 0.0252614 0.483819 0.5 --0.0428508 0.127424 0.0174253 0.422102 0.5 --0.0419902 0.127061 0.0177443 0.321737 0.5 -0.00275904 0.130985 0.0207146 0.579553 0.368468 -0.0361312 0.11046 8.71157e-05 0.649645 0.5 -0.0354824 0.111268 -0.000157004 0.644266 0.472682 -0.0348501 0.112087 -0.000408122 0.511466 0.5 -0.0342272 0.113045 -0.000582475 0.441365 0.5 -0.0335193 0.114014 -0.000843968 0.538676 0.479924 -0.032895 0.11463 -0.00105927 0.533304 0.5 --0.0761849 0.0933719 -0.0135017 0.391022 0.480012 -0.0120538 0.0907862 -0.0301745 0.595477 0.5 --0.0568073 0.122 -0.00880521 0.839764 0.5 --0.0761998 0.14998 -0.0148766 0.746251 0.5 -0.0291243 0.117712 -0.00241857 0.620821 0.5 -0.0283176 0.118208 -0.00273298 0.629458 0.5 -0.0275012 0.1187 -0.00304813 0.617849 0.477325 --0.0893959 0.0942918 0.0174254 0.857367 0.5 --0.0894235 0.0942851 0.0164251 0.612997 0.475308 --0.0895241 0.094286 0.0154262 0.613488 0.463078 --0.0895098 0.0942825 0.014433 0.580877 0.470295 --0.0865451 0.110395 0.00835385 0.303627 0.467143 -0.0419459 0.0625408 -0.0027477 0.506554 0.5 --0.0757755 0.0948358 -0.0134771 0.508124 0.5 --0.0765794 0.15423 -0.00189723 0.405539 0.5 --0.0889751 0.0969295 0.00842099 0.763033 0.5 --0.0867747 0.0981404 0.0024092 0.437565 0.5 --0.0844928 0.0979861 -0.00258986 0.455025 0.380976 --0.0839499 0.0979633 -0.0036111 0.431274 0.4574 --0.0813824 0.099165 -0.00657823 0.518749 0.5 --0.0824727 0.0992304 -0.00559052 0.504267 0.5 --0.0264473 0.181471 -0.0150302 0.289378 0.5 --0.0892091 0.137796 0.0122163 0.450345 0.5 --0.0787438 0.101744 -0.00857364 0.492921 0.5 --0.0941682 0.126929 0.0222624 0.6043 0.5 --0.0791962 0.16801 -0.0379842 0.363322 0.5 --0.0864925 0.10492 0.00639597 0.527031 0.458857 --0.0866603 0.10494 0.00737931 0.502442 0.5 --0.0869937 0.104951 0.00838372 0.697354 0.5 --0.0758029 0.111217 -0.00664466 0.529197 0.5 --0.0628273 0.0924874 -0.0189476 0.67065 0.5 --0.0933085 0.117399 0.0213072 0.762803 0.5 --0.0347476 0.127441 0.00854521 0.879863 0.5 --0.0110799 0.0973863 0.0517395 0.289085 0.5 --0.0457101 0.131722 0.0089192 0.504786 0.5 --0.0497977 0.134944 0.0250398 0.616906 0.5 --0.0492123 0.134029 0.0252722 0.632182 0.476995 --0.0451868 0.126658 0.0224837 0.607832 0.5 --0.0735593 0.15583 0.0102013 0.758917 0.5 --0.0696323 0.156261 0.0232204 0.586233 0.5 -0.00141943 0.122927 0.0347542 0.594577 0.5 --0.0607897 0.155834 0.0118473 0.639342 0.5 --0.0560741 0.15232 0.0295584 0.421948 0.5 --0.0829803 0.153189 0.00837374 0.286705 0.394114 --0.0621334 0.15599 0.0157191 0.80919 0.5 --0.0404347 0.128451 0.0123721 0.684717 0.5 --0.0618449 0.152018 0.0348716 0.412705 0.5 --0.0356852 0.127701 0.00820492 0.870191 0.5 --0.0169683 0.186741 -0.0196674 0.314917 0.434589 --0.0888224 0.0929368 0.0224135 0.572652 0.5 --0.0366248 0.127943 0.00786237 0.870326 0.5 --0.0375614 0.128197 0.00751871 0.858472 0.5 --0.0780713 0.150403 0.0367551 0.465333 0.364546 --0.0170499 0.122405 0.0312344 0.562302 0.326375 --0.054091 0.152763 0.0215579 0.416485 0.5 --0.038546 0.128369 0.00715642 0.850948 0.5 -0.00166319 0.130955 0.0203219 0.580019 0.5 --0.0640415 0.167322 -0.0369994 0.681504 0.5 --0.0646509 0.168222 -0.0372156 0.639746 0.5 --0.0653015 0.169027 -0.0374543 0.617202 0.5 --0.0659809 0.169803 -0.037696 0.611242 0.5 --0.066705 0.170483 -0.0379595 0.597027 0.5 --0.0674348 0.171149 -0.0382253 0.569809 0.5 --0.0682097 0.171724 -0.0385204 0.554233 0.295884 --0.0689777 0.172299 -0.0388012 0.518614 0.5 --0.0697889 0.172796 -0.0390999 0.664164 0.5 --0.0706155 0.173275 -0.0394062 0.351992 0.459473 --0.0714268 0.173765 -0.0397048 0.330984 0.5 --0.0722468 0.174258 -0.0400013 0.933114 0.5 --0.0731244 0.174613 -0.0403365 0.504287 0.5 --0.0741081 0.174769 -0.0407073 0.48322 0.5 --0.0750852 0.174913 -0.0410877 0.301035 0.426627 --0.0763281 0.174543 -0.0415648 0.25666 0.5 --0.0773785 0.174262 -0.0420678 0.264953 0.396147 --0.0395331 0.128532 0.0067941 0.838447 0.5 --0.0601798 0.155861 0.0135147 0.682932 0.5 --0.0405229 0.128682 0.00643622 0.833622 0.5 --0.0680504 0.156343 0.0223236 0.643302 0.5 --0.0378902 0.121927 0.0281694 0.425349 0.5 --0.0680579 0.149988 0.0386907 0.449151 0.5 --0.0416003 0.12872 0.00602836 0.838158 0.5 -0.0590343 0.06983 0.00945078 0.485341 0.471756 -0.0583904 0.0706508 0.00920486 0.473852 0.5 -0.0575984 0.0711737 0.0088801 0.453642 0.5 -0.056791 0.0717301 0.0086079 0.531905 0.5 -0.0559073 0.0721087 0.0082759 0.530002 0.5 -0.0549279 0.0723085 0.00788581 0.504643 0.5 --0.0865012 0.0967606 0.00143514 0.46002 0.318457 --0.087994 0.0981671 0.00544953 0.422078 0.461974 -0.0165994 0.0933382 -0.024824 0.586675 0.480206 --0.0717164 0.163822 -0.0439567 0.366231 0.5 --0.0781422 0.141688 -0.0047364 0.505391 0.5 --0.0270715 0.179993 -0.0160072 0.400853 0.5 --0.0862825 0.106347 0.0193454 0.608489 0.470663 --0.0425281 0.128954 0.00568377 0.877699 0.5 --0.0434823 0.12913 0.00531313 0.8936 0.5 --0.0662581 0.15274 0.0347724 0.304419 0.446227 --0.0150057 0.127967 0.0215456 0.413313 0.415771 --0.0471876 0.131943 0.0231102 0.537537 0.5 --0.0567623 0.154944 0.0190948 0.399621 0.5 --0.0064056 0.10047 0.0472751 0.51179 0.5 --0.00745251 0.100521 0.0469096 0.493808 0.5 --0.0443833 0.12939 0.00495951 0.909178 0.5 --0.0452915 0.1298 0.0046882 0.674802 0.448194 --0.0748503 0.150353 0.0378605 0.392821 0.382443 --0.0669712 0.156006 0.0125516 0.823586 0.5 --0.0266127 0.121438 0.026306 0.332775 0.5 --0.0631289 0.155254 0.0269868 0.926458 0.5 --0.0537253 0.151161 0.0246275 0.47991 0.5 --0.0695415 0.15615 0.0130838 0.78998 0.5 --0.045982 0.130505 0.00444274 0.46527 0.485491 --0.04802 0.136068 0.0153684 0.722608 0.5 --0.0446861 0.130064 0.0166863 0.47313 0.5 --0.0441239 0.129077 0.0169132 0.474521 0.5 --0.0435257 0.128183 0.0171556 0.472404 0.5 --0.0249745 0.12528 0.0180213 0.260849 0.433199 -0.0151622 0.122267 0.032438 0.579184 0.5 --0.081815 0.108922 0.02836 0.434628 0.5 --0.0281138 0.125637 0.0139342 0.597144 0.5 --0.0893948 0.09291 0.012442 0.753459 0.5 --0.0346758 0.127158 0.0144691 0.650625 0.5 --0.0595569 0.153648 0.0312116 0.398146 0.5 -0.0360791 0.111295 0.00152105 0.514854 0.489543 -0.0354301 0.112103 0.00127449 0.517745 0.5 -0.0348029 0.113058 0.00110003 0.521582 0.5 -0.0342026 0.113899 0.000840527 0.530286 0.5 -0.0335656 0.114779 0.000629741 0.523246 0.5 -0.0328625 0.115479 0.000361714 0.520578 0.475861 -0.0321211 0.116144 0.000111339 0.512637 0.481334 -0.0313677 0.11674 -0.000181085 0.804585 0.5 -0.0305901 0.117314 -0.000462026 0.621752 0.487395 -0.0299199 0.11779 -0.000781916 0.62416 0.485073 -0.0289937 0.118368 -0.00105099 0.798122 0.5 -0.0282135 0.118937 -0.00132982 0.617565 0.481947 -0.02739 0.119413 -0.00163712 0.612037 0.5 -0.026559 0.119879 -0.0019388 0.792542 0.378791 -0.0257432 0.120365 -0.00224906 0.7876 0.5 --0.0272334 0.0902723 -0.0326005 0.380028 0.5 --0.0847199 0.0939171 -0.00356265 0.388478 0.5 --0.0892956 0.0942653 0.013432 0.784471 0.5 --0.0888371 0.0942243 0.00943852 0.807945 0.5 --0.088725 0.0942104 0.00844208 0.778007 0.5 --0.0770466 0.0947961 -0.0125384 0.514294 0.5 --0.0547576 0.161266 0.00105716 0.176407 0.35978 --0.0887521 0.0969152 0.00742291 0.402265 0.478117 --0.0892038 0.0969467 0.00941895 0.567963 0.5 --0.0893298 0.0969555 0.0104169 0.58255 0.5 --0.0925344 0.124191 0.0302708 0.892813 0.5 --0.0932444 0.124186 0.027283 0.710455 0.5 --0.083332 0.0992842 -0.00460735 0.457086 0.5 --0.0842752 0.141807 0.00320102 0.440338 0.38803 --0.0896062 0.137812 0.0131974 0.440166 0.41967 --0.0900489 0.137821 0.0141988 0.451615 0.5 --0.0902839 0.137831 0.0151959 0.450154 0.360862 --0.0254349 0.121225 -0.00822483 0.47977 0.5 --0.0938789 0.125503 0.0152603 0.523492 0.5 --0.0900893 0.135135 0.0242145 0.821708 0.5 --0.0858238 0.104979 0.0223569 0.606742 0.456847 --0.0800669 0.107282 -0.00460113 0.539142 0.5 --0.0388328 0.0943088 -0.0230504 0.585604 0.5 --0.0914405 0.117414 0.0273008 0.721941 0.5 --0.0913339 0.117411 0.0283055 0.642357 0.5 --0.0729322 0.156105 0.0220745 0.836572 0.5 --0.00992376 0.097544 0.0521376 0.320087 0.5 --0.0324184 0.123701 0.0227019 0.491513 0.417253 --0.0872732 0.151714 0.0113029 0.244128 0.5 --0.0510269 0.136724 0.0245519 0.61388 0.5 --0.0423586 0.123855 0.0235885 0.524134 0.348232 --0.0433492 0.123979 0.0232099 0.409548 0.397532 --0.0544133 0.159808 0.00694146 0.308485 0.5 -0.0130767 0.125591 0.0302496 0.57762 0.5 --0.0717396 0.156144 0.0122972 0.802125 0.5 --0.0629292 0.155832 0.0110869 0.761137 0.5 --0.085741 0.151793 0.0266482 0.237541 0.301465 --0.0843142 0.152356 0.00793113 0.195934 0.43134 --0.0684446 0.156174 0.0134711 0.80838 0.5 --0.00485582 0.0989472 0.0508482 0.348622 0.437933 --0.00023307 0.0988811 0.0510016 0.427575 0.5 --0.0644558 0.155894 0.01199 0.814412 0.5 -0.000625364 0.130997 0.01994 0.536341 0.5 -0.0122548 0.126063 0.0299441 0.540276 0.5 --0.0457478 0.130844 0.0207105 0.595079 0.5 --0.0649985 0.156251 0.0205012 0.693675 0.329449 --0.0759088 0.150426 0.0375079 0.378932 0.386226 --0.0345319 0.122423 0.0264163 0.595838 0.5 --0.0547132 0.153591 0.0213081 0.424 0.5 --0.029145 0.125694 0.0135548 0.656718 0.5 --0.0638002 0.166551 -0.0354938 0.679086 0.5 --0.0644057 0.16752 -0.0356951 0.677041 0.5 --0.0650469 0.168333 -0.0359323 0.648538 0.5 --0.0656974 0.169193 -0.0361564 0.620042 0.5 --0.0664072 0.169883 -0.0364165 0.595739 0.5 --0.0671575 0.17049 -0.0366968 0.594029 0.5 --0.0679053 0.171131 -0.036968 0.78863 0.5 --0.0687158 0.171626 -0.0372714 0.729096 0.5 --0.069532 0.172114 -0.0375728 0.689551 0.5 --0.070349 0.172644 -0.037875 0.474398 0.343034 --0.0711885 0.173044 -0.0381946 0.449181 0.40044 --0.0720651 0.173384 -0.0385311 0.332522 0.437162 --0.072956 0.173805 -0.0388399 0.313989 0.457293 --0.0738593 0.174047 -0.0391959 0.305377 0.5 --0.0748301 0.174171 -0.0395847 0.296072 0.5 --0.0760781 0.173825 -0.0400503 0.288582 0.5 --0.0772285 0.173502 -0.0405421 0.250669 0.404406 -0.011387 0.126452 0.0296316 0.418348 0.360708 --0.0767842 0.155599 0.0119802 0.724441 0.5 --0.0814342 0.154656 0.0132857 0.644445 0.5 --0.0670064 0.156281 0.0226936 0.645234 0.5 --0.0399374 0.122179 0.0274746 0.359191 0.5 --0.0619687 0.155933 0.0215789 0.679513 0.5 --0.0672538 0.152901 0.0344187 0.373353 0.363798 -0.0595186 0.0696512 0.0111197 0.475032 0.462191 -0.058913 0.070492 0.0108657 0.478279 0.474314 -0.0581844 0.0711857 0.0106064 0.562266 0.5 -0.0574073 0.0717824 0.0103168 0.438446 0.5 -0.0565518 0.0722252 0.0100192 0.665892 0.459809 -0.0556563 0.0725898 0.00964459 0.655237 0.5 -0.0547011 0.0728313 0.00929699 0.623099 0.482703 -0.0536465 0.0728799 0.00890065 0.864936 0.5 -0.0525444 0.0728335 0.00848027 0.834929 0.5 -0.051394 0.0726569 0.00804397 0.571129 0.469854 --0.0876687 0.0981895 0.00443327 0.488984 0.455424 --0.0944953 0.125552 0.0212653 0.615938 0.5 --0.0908622 0.135106 0.0192089 0.850446 0.5 -0.0199544 0.117871 -0.0110405 0.479116 0.341794 --0.000472072 0.130948 0.0195451 0.526346 0.5 -0.0105543 0.126889 0.0293082 0.401179 0.5 --0.00204808 0.0983649 0.051847 0.362869 0.5 --0.0386541 0.126132 0.0204051 0.868889 0.5 --0.00603192 0.127393 0.0291246 0.325337 0.338283 -0.00702297 0.127188 0.0294846 0.354279 0.381332 -0.0023065 0.128418 0.0277808 0.428861 0.5 --0.0301237 0.12585 0.013192 0.725304 0.5 --0.0310488 0.126128 0.0128475 0.779221 0.5 -0.000648366 0.101032 0.0453587 0.355907 0.240144 --0.0659293 0.156005 0.0129201 0.807771 0.5 --0.0277551 0.121254 0.0258902 0.308967 0.450365 --0.0321019 0.119786 0.0288381 0.528616 0.478852 --0.0524014 0.152599 0.0134601 0.509335 0.5 --0.0175484 0.124749 0.0265509 0.412065 0.5 --0.0188136 0.124392 0.0261122 0.417643 0.5 --0.0292509 0.122699 0.0223824 0.532919 0.5 --0.0300755 0.123175 0.0220771 0.461742 0.5 --0.0308933 0.12367 0.0217821 0.486191 0.5 --0.0460219 0.166062 0.00401182 0.409327 0.345754 --0.0823623 0.154598 0.0188308 0.349811 0.340276 -0.0145196 0.123096 0.0322223 0.607056 0.5 --0.0471696 0.16597 0.00363215 0.351807 0.5 -0.0391529 0.107674 0.00402907 0.521891 0.5 --0.0362833 0.17342 -0.00108904 0.354093 0.255688 -0.012678 0.130036 0.0186174 0.528004 0.5 --0.013866 0.129156 0.0103484 0.675748 0.5 --0.00156343 0.13088 0.0191419 0.554133 0.5 -0.0359834 0.11203 0.00292702 0.513807 0.5 -0.0353283 0.112832 0.00268414 0.509452 0.49033 -0.0347186 0.113797 0.00249877 0.634139 0.5 -0.0340849 0.114614 0.00225198 0.636187 0.5 -0.0334188 0.115464 0.00204907 0.627558 0.5 -0.0327231 0.116168 0.00178038 0.811273 0.5 -0.0319954 0.11684 0.00152318 0.7977 0.5 -0.0312312 0.117425 0.00123717 0.801133 0.5 -0.0304509 0.117992 0.000957505 0.800124 0.5 -0.0296461 0.118491 0.000643936 0.799455 0.5 -0.0288553 0.119043 0.000370228 0.798323 0.5 -0.0280536 0.119554 5.13011e-05 0.795193 0.5 -0.0272253 0.120021 -0.000250724 0.795521 0.5 -0.0264078 0.120534 -0.000510633 0.789689 0.5 -0.0256059 0.12104 -0.000826914 0.784149 0.5 -0.0247922 0.121532 -0.00113746 0.798864 0.5 -0.0239009 0.12202 -0.0014718 0.610755 0.477832 --0.0851109 0.0939488 -0.00257672 0.413351 0.5 --0.0855876 0.0939777 -0.00157288 0.417531 0.5 --0.0857862 0.0939971 -0.00056361 0.647305 0.5 --0.0888687 0.0942285 0.0104297 0.819614 0.5 --0.0788763 0.0949177 -0.010577 0.507019 0.5 --0.0141262 0.119616 -0.0126879 0.702838 0.5 --0.091546 0.146121 0.023146 0.65099 0.5 --0.0731992 0.145774 -0.0148545 0.264158 0.5 --0.0894422 0.0969694 0.0114146 0.577624 0.5 --0.0896201 0.0969823 0.0124196 0.582644 0.466882 --0.0941673 0.124186 0.0242853 0.534225 0.481584 --0.0929791 0.124188 0.0282747 0.68381 0.5 --0.0794636 0.141716 -0.00376694 0.594899 0.5 --0.0908687 0.135097 0.0172074 0.531951 0.5 --0.0881381 0.0996585 0.0223676 0.516739 0.470299 -0.0236032 0.116718 -0.00979024 0.503788 0.368472 --0.0713317 0.151217 -0.0439201 0.162625 0.220555 --0.029962 0.122606 -0.0056563 0.484505 0.5 --0.0713206 0.156784 -0.042915 0.706675 0.5 --0.085549 0.104961 0.0233427 0.61382 0.5 --0.077037 0.111295 -0.0046823 0.529609 0.5 --0.09118 0.143373 0.022161 0.737005 0.5 --0.0913152 0.114759 0.0363194 0.550918 0.5 --0.0921325 0.117269 0.0252198 0.820095 0.5 --0.0926082 0.117405 0.0243082 0.805252 0.5 --0.0596936 0.155857 0.0122367 0.637807 0.353086 --0.0121165 0.0973987 0.0513433 0.308099 0.480639 --0.0738542 0.15551 0.00718209 0.661605 0.5 --0.0113442 0.129847 0.0112634 0.680498 0.5 --0.0661823 0.154393 0.00121795 0.912221 0.5 --0.0356104 0.127425 0.0141251 0.707908 0.5 --0.0588103 0.157344 0.00530008 0.177895 0.5 --0.0126044 0.12951 0.0108053 0.671975 0.5 --0.0651287 0.156206 0.0175513 0.797527 0.5 --0.0379003 0.123041 0.0266516 0.380997 0.5 --0.0866438 0.152376 0.0233632 0.255471 0.5 --0.0729629 0.155811 0.0249814 0.84805 0.5 --0.00162661 0.100486 0.0474782 0.529902 0.5 --0.0699807 0.149351 0.039589 0.500426 0.5 --0.0590542 0.155341 0.0226214 0.664682 0.5 --0.00371721 0.100591 0.046739 0.340793 0.5 -0.0140569 0.12802 0.0248446 0.457709 0.401207 --0.00260812 0.130913 0.0187596 0.547843 0.373224 --0.0558399 0.0666 0.0358943 0.57834 0.280066 --0.0884108 0.0928321 0.00744302 0.521573 0.5 --0.0215138 0.185205 -0.0184453 0.213273 0.311911 --0.00514301 0.0997589 0.0492461 0.302043 0.432171 --0.0890662 0.123985 0.0032876 0.670226 0.5 --0.0600611 0.155861 0.0164593 0.754227 0.311914 --0.0554731 0.154191 0.0210182 0.533648 0.5 --0.0781956 0.163891 -0.0259488 0.379383 0.461854 --0.0923861 0.125586 0.0352607 0.808152 0.5 --0.0641565 0.166823 -0.0341745 0.661565 0.5 --0.0647866 0.167644 -0.0344082 0.661396 0.5 --0.065431 0.168513 -0.0346313 0.641772 0.5 --0.0661031 0.169296 -0.0348743 0.614473 0.5 --0.0668287 0.169972 -0.0351376 0.576278 0.447298 --0.0675927 0.17056 -0.0354212 0.578408 0.5 --0.068398 0.171087 -0.0357069 0.5422 0.47343 --0.0691914 0.171601 -0.0360136 0.726726 0.5 --0.0700192 0.172057 -0.036324 0.68089 0.5 --0.0708823 0.172457 -0.0366471 0.637043 0.5 --0.0717609 0.172825 -0.0369735 0.60249 0.5 --0.072708 0.173064 -0.0373345 0.394287 0.452908 --0.073631 0.173473 -0.03767 0.356492 0.40398 --0.0745832 0.173457 -0.038075 0.28878 0.410475 --0.0758319 0.173116 -0.0385323 0.232241 0.5 --0.0638047 0.152122 -0.00224548 0.743681 0.5 --0.0644858 0.152894 -0.00250698 0.814848 0.5 --0.0775236 0.155819 0.0175602 0.611153 0.5 --0.0789069 0.155396 0.0141592 0.643919 0.5 --0.0660163 0.156182 0.0230465 0.621927 0.5 --0.0421185 0.122004 0.0266511 0.399963 0.452562 --0.0821317 0.151156 0.0323844 0.315334 0.5 --0.00375638 0.13079 0.0183493 0.571655 0.5 --0.0651889 0.153592 -0.00278678 0.791522 0.5 -0.0593202 0.0701868 0.012517 0.616481 0.5 -0.0586637 0.0709935 0.0122726 0.600516 0.5 -0.0579415 0.0716454 0.0119821 0.560017 0.5 -0.0571336 0.0721807 0.0116675 0.677671 0.5 -0.0562687 0.0726263 0.0113628 0.663868 0.5 -0.0553639 0.0729653 0.0110394 0.881359 0.5 -0.0543768 0.0731861 0.0106539 0.602107 0.5 -0.0533686 0.0732758 0.0102917 0.860251 0.5 -0.0522643 0.0732287 0.00987093 0.81315 0.5 -0.0510603 0.0729911 0.0094016 0.782671 0.5 -0.049877 0.0727457 0.00893584 0.779683 0.5 -0.0487458 0.0724992 0.00846572 0.78647 0.5 --0.0877192 0.101 0.0223776 0.495117 0.5 --0.0881296 0.100997 0.0213597 0.492117 0.447722 --0.0885895 0.126718 0.00227148 0.708667 0.331673 --0.06586 0.154377 -0.00304604 0.72727 0.5 --0.0690967 0.148938 0.0398784 0.516598 0.5 --0.0303567 0.119073 0.029499 0.443291 0.5 --0.0312846 0.119331 0.0291556 0.497492 0.5 --0.0558806 0.154815 0.016521 0.404693 0.5 --0.0568165 0.155074 0.0161832 0.647681 0.5 --0.0577063 0.155408 0.0158579 0.660894 0.5 --0.058643 0.155634 0.0155202 0.678181 0.5 --0.0648306 0.156078 0.013307 0.795758 0.5 --0.0287913 0.121291 0.025511 0.511998 0.411101 --0.0329258 0.120263 0.0285346 0.53859 0.5 --0.0530069 0.153493 0.0132253 0.48389 0.5 --0.0162922 0.125122 0.0270033 0.40247 0.32515 --0.0586226 0.156199 0.00971481 0.7717 0.5 --0.0574718 0.156359 0.0101234 0.748186 0.5 --0.056364 0.156406 0.0105108 0.361095 0.456132 --0.0544491 0.156028 0.0112408 0.440802 0.5 --0.0535748 0.155622 0.0115317 0.495039 0.5 --0.0553853 0.15628 0.0108911 0.397611 0.5 --0.0870329 0.152942 0.0187545 0.209834 0.326284 --0.0665414 0.155108 -0.00331096 0.679045 0.5 -0.039601 0.107391 0.00564087 0.660457 0.5 -0.0389649 0.108275 0.00542368 0.648354 0.5 -0.0383485 0.10917 0.00520513 0.64801 0.5 -0.0377445 0.110141 0.00501649 0.636556 0.5 -0.0371318 0.111041 0.00479819 0.641123 0.5 -0.0364907 0.111851 0.00455337 0.640643 0.5 -0.0358297 0.112651 0.00431137 0.640507 0.470921 -0.0351839 0.113522 0.00409669 0.634903 0.5 -0.0345596 0.114411 0.00388032 0.635329 0.5 -0.0339044 0.115273 0.00366751 0.637441 0.475722 -0.0332241 0.115988 0.0034015 0.637946 0.5 -0.0325339 0.116751 0.00316678 0.628343 0.5 -0.0317883 0.117354 0.00287906 0.806847 0.5 -0.0310215 0.117934 0.00259488 0.800088 0.5 -0.0302372 0.118499 0.00231637 0.800199 0.5 -0.029447 0.119051 0.00204245 0.792174 0.5 -0.0286891 0.119649 0.00175522 0.796718 0.5 -0.0278788 0.120142 0.00144262 0.798937 0.5 -0.0270636 0.120631 0.00113345 0.79444 0.5 -0.0262334 0.121101 0.000829633 0.804299 0.5 -0.0254417 0.121647 0.000551492 0.792119 0.5 -0.0246516 0.122175 0.000230276 0.799131 0.5 -0.0238372 0.12269 -3.58731e-05 0.617042 0.5 -0.0229975 0.123119 -0.000380287 0.60476 0.478174 -0.0221671 0.123584 -0.0006811 0.579216 0.5 --0.0842794 0.115636 -0.000747849 0.513404 0.5 --0.0859939 0.0940196 0.000445293 0.676923 0.5 --0.0889746 0.0942393 0.0114303 0.801364 0.5 --0.0781065 0.0948585 -0.0115273 0.51798 0.5 --0.079893 0.0949635 -0.0095262 0.496775 0.5 --0.0807586 0.0950245 -0.00854945 0.494869 0.467138 --0.08951 0.140665 0.0311774 0.652175 0.5 --0.0897915 0.135018 0.00821888 0.589114 0.5 --0.0896385 0.0969877 0.0134181 0.6152 0.5 --0.0894927 0.14204 0.0311659 0.662102 0.5 --0.0927326 0.12419 0.0292678 0.653018 0.5 --0.0921132 0.115989 0.0103178 0.419626 0.5 --0.0913388 0.115949 0.00831473 0.322049 0.5 --0.0884258 0.0996766 0.0213895 0.508997 0.5 --0.0890962 0.0996533 0.0114017 0.553057 0.5 --0.0890383 0.09964 0.0104144 0.793157 0.5 --0.0201151 0.123178 -0.00639815 0.467437 0.461942 --0.0804527 0.143139 -0.00181198 0.612591 0.5 --0.0851998 0.104954 0.024348 0.636843 0.439368 --0.0763933 0.111249 -0.00565203 0.522301 0.2479 --0.0780101 0.11134 -0.00369811 0.498784 0.458615 --0.0876555 0.144675 0.00917716 0.600227 0.5 --0.0691184 0.165207 -0.0519806 0.514179 0.5 --0.0934884 0.117419 0.0203018 0.740331 0.5 --0.0587089 0.155741 0.0125904 0.587707 0.5 --0.0153478 0.0972963 0.0501876 0.43388 0.402594 --0.0671961 0.15591 -0.00355939 0.614419 0.5 --0.0545541 0.160714 0.00540511 0.355655 0.364339 --0.0314643 0.126198 0.0141678 0.745369 0.333188 --0.0282035 0.125211 0.0168448 0.37351 0.466185 --0.0531754 0.160014 0.00733632 0.3204 0.463594 --0.0508814 0.161419 0.0066624 0.343986 0.5 --0.0346038 0.123422 0.0248791 0.511581 0.38125 --0.0312974 0.120401 0.0276066 0.453062 0.5 --0.0679476 0.156599 -0.00385029 0.436328 0.361788 --0.00887703 0.0985896 0.0509585 0.316333 0.5 --0.0280888 0.121741 0.0242898 0.436518 0.5 --0.0698349 0.155896 0.010068 0.807179 0.5 --0.0686037 0.157344 -0.00409918 0.377093 0.444595 --0.0838788 0.153353 0.0242347 0.292708 0.349076 --0.0515277 0.136697 0.0258426 0.618928 0.5 --0.0693964 0.157876 -0.00437702 0.481025 0.413391 --0.0195891 0.186548 -0.0163318 0.301536 0.5 --0.0203431 0.186558 -0.0166005 0.222314 0.357983 --0.022279 0.185099 -0.0171819 0.168886 0.5 --0.00479304 0.130806 0.0179661 0.596497 0.5 --0.0567073 0.152073 0.0307854 0.440273 0.5 --0.0702694 0.156361 0.0186365 0.690809 0.5 --0.0563002 0.154681 0.0207165 0.532907 0.5 --0.0701845 0.158483 -0.00465374 0.363104 0.379061 --0.0633619 0.165109 -0.0324564 0.727984 0.5 --0.0639501 0.166025 -0.0326719 0.709839 0.5 --0.06455 0.166996 -0.0328772 0.679073 0.5 --0.0651676 0.167884 -0.0330971 0.651076 0.5 --0.0658513 0.168603 -0.0333515 0.620748 0.5 --0.0665486 0.169315 -0.0336077 0.604398 0.5 --0.0672777 0.169987 -0.0338702 0.584713 0.435346 --0.0680553 0.17056 -0.0341587 0.535557 0.5 --0.0688509 0.171089 -0.0344529 0.712016 0.5 --0.0696712 0.171569 -0.0347594 0.724127 0.5 --0.070543 0.17193 -0.0350862 0.619045 0.5 --0.0714609 0.172223 -0.0354286 0.618513 0.379493 --0.0723893 0.172498 -0.0357772 0.561971 0.406911 --0.0733228 0.17276 -0.036126 0.486535 0.443741 --0.0743656 0.172848 -0.0365047 0.355159 0.5 --0.0756171 0.172473 -0.0369846 0.24749 0.342361 --0.0710496 0.158811 -0.00499394 0.401158 0.5 --0.031974 0.126184 0.0154629 0.467287 0.475836 --0.00515103 0.127241 0.0295045 0.341036 0.332534 --0.0562907 0.154938 0.0178178 0.401003 0.5 --0.0764922 0.155931 0.0149956 0.696083 0.5 --0.06497 0.156112 0.0234152 0.618047 0.5 --0.0721129 0.15894 -0.00533295 0.343848 0.5 --0.0670825 0.156321 0.0197603 0.706117 0.5 --0.0733382 0.158682 -0.00576511 0.246857 0.397695 --0.0746759 0.158036 -0.00628607 0.256295 0.5 --0.00594439 0.13066 0.0175514 0.60219 0.5 -0.058376 0.0713467 0.0136326 0.568464 0.47154 -0.0576189 0.0719687 0.0133447 0.526526 0.5 -0.0567814 0.0724634 0.0130365 0.506473 0.5 -0.0558934 0.0728505 0.0127047 0.478943 0.483133 -0.0549936 0.0732019 0.0123756 0.468908 0.45355 -0.0540437 0.0734433 0.0120297 0.570003 0.473434 -0.052991 0.0735097 0.0116286 0.794795 0.5 -0.051883 0.0734548 0.0112114 0.775424 0.5 -0.050682 0.0731977 0.010749 0.702463 0.5 -0.0496058 0.0730794 0.0103455 0.740678 0.5 -0.0484731 0.0728694 0.00986875 0.854164 0.5 -0.0476495 0.073201 0.00955169 0.809845 0.5 -0.0469057 0.0738955 0.00933063 0.524465 0.5 -0.0465562 0.0753029 0.0092212 0.42545 0.328776 -0.021311 0.123415 0.0275211 0.564193 0.5 --0.0293809 0.118905 0.0298455 0.419563 0.5 --0.0405119 0.125571 0.0212459 0.428915 0.5 --0.0394107 0.125604 0.021627 0.462568 0.5 --0.0347822 0.124221 0.0233214 0.484913 0.419107 --0.0322922 0.122832 0.0242564 0.501626 0.5 --0.0314769 0.122323 0.024544 0.494991 0.5 --0.0305995 0.121953 0.0248664 0.47679 0.5 --0.029726 0.121561 0.0251755 0.427523 0.5 --0.0353528 0.121762 0.0276148 0.473018 0.483492 --0.0536545 0.154299 0.0129697 0.44924 0.455398 --0.0149752 0.125602 0.0274605 0.375349 0.409981 --0.0597327 0.156046 0.0093301 0.463603 0.421351 --0.0443682 0.129764 0.015339 0.470486 0.5 --0.0449132 0.130768 0.0151196 0.486007 0.5 --0.0547922 0.153188 0.0241866 0.427057 0.5 --0.00114981 0.12653 0.03091 0.408046 0.439515 --0.000215874 0.126274 0.0312521 0.435976 0.337722 --0.00202406 0.126832 0.0305449 0.363662 0.439287 --0.0319273 0.126498 0.0125244 0.801921 0.5 --0.00709045 0.130506 0.0171336 0.569789 0.34887 -0.0393898 0.107905 0.00701069 0.67513 0.5 -0.0387588 0.108855 0.00681782 0.665634 0.5 -0.0381409 0.109688 0.00657231 0.658486 0.5 -0.0375161 0.110639 0.00638069 0.656156 0.5 -0.0368852 0.111459 0.00613554 0.654443 0.5 -0.0362459 0.112339 0.00591924 0.654915 0.5 -0.0356067 0.113152 0.00567562 0.65849 0.5 -0.0349753 0.114037 0.00545779 0.650907 0.5 -0.0343452 0.114918 0.0052408 0.647632 0.5 -0.0336909 0.115719 0.00499933 0.647531 0.5 -0.0330035 0.116489 0.00476188 0.638981 0.5 -0.0322912 0.117174 0.00450048 0.812918 0.5 -0.0315716 0.117859 0.00423829 0.802972 0.5 -0.030827 0.118499 0.003976 0.809428 0.5 -0.0300401 0.11902 0.00366373 0.812256 0.5 -0.0292509 0.119574 0.0033793 0.801261 0.5 -0.02849 0.120167 0.00308975 0.790291 0.5 -0.0277057 0.120723 0.00280565 0.800827 0.5 -0.026879 0.121193 0.00250168 0.801052 0.5 -0.026052 0.121668 0.00219807 0.802799 0.5 -0.025254 0.122206 0.00192061 0.796998 0.5 -0.0245032 0.122816 0.00162459 0.798893 0.5 -0.0236993 0.12332 0.00130956 0.802375 0.5 -0.0228685 0.123786 0.00100726 0.76886 0.5 -0.022042 0.12426 0.000701449 0.768258 0.5 -0.0211914 0.124678 0.000362022 0.578577 0.479441 -0.0203379 0.125091 8.19329e-05 0.563379 0.5 --0.0862312 0.0940245 0.00140199 0.48566 0.32949 --0.0891671 0.0942549 0.0124334 0.790257 0.5 --0.0884983 0.0941957 0.00744581 0.504514 0.5 --0.0880011 0.0941555 0.00641769 0.668701 0.5 --0.0815808 0.0950721 -0.00753639 0.4544 0.5 --0.0822784 0.0951136 -0.0065238 0.46476 0.469894 --0.0887346 0.0956375 0.0224045 0.55379 0.5 --0.0408808 0.115001 -0.0156637 0.636935 0.5 --0.0908254 0.142021 0.0251655 0.686408 0.5 --0.0826224 0.141799 0.00118353 0.573051 0.5 --0.0784181 0.163881 -0.0269512 0.376801 0.459409 --0.0251041 0.0945178 -0.0276305 0.38243 0.5 --0.0860481 0.114371 0.00228673 0.37751 0.411026 --0.088271 0.126713 0.00126975 0.492226 0.351489 --0.0891975 0.0996627 0.0124046 0.799557 0.5 --0.0769111 0.100434 -0.0105662 0.528857 0.5 --0.0728877 0.143976 -0.0119757 0.174341 0.191769 --0.0874489 0.105009 0.0173545 0.562664 0.48257 --0.0876028 0.105024 0.0163629 0.806813 0.5 --0.0788672 0.111379 -0.00271807 0.683061 0.5 --0.0366237 0.123115 -0.00817194 0.448052 0.460243 --0.0752855 0.176467 -0.0519633 0.2814 0.5 --0.0933646 0.117392 0.0153085 0.604917 0.5 --0.0917148 0.117385 0.0263102 0.785869 0.5 --0.0681277 0.152206 0.0356633 0.347909 0.45278 --0.0142604 0.0974009 0.0506069 0.30955 0.471778 -0.0130051 0.123122 0.0330958 0.489294 0.471374 --0.0395016 0.128216 0.0127148 0.664779 0.5 --0.0306093 0.125854 0.0144859 0.741784 0.329716 --0.0296756 0.125596 0.0148252 0.649405 0.359651 --0.0465353 0.133196 0.0100953 0.493551 0.5 --0.0123976 0.0991026 0.0482068 0.333828 0.305911 --0.0528865 0.15117 0.0191272 0.633153 0.5 --0.0610791 0.151413 0.0351388 0.425795 0.5 --0.071543 0.155755 0.00800576 0.762309 0.5 --0.041821 0.0914074 -0.0230213 0.760357 0.5 --0.0653187 0.152492 0.0351215 0.336529 0.5 --0.0824094 0.151775 0.0307901 0.276221 0.271137 --0.0480086 0.134685 0.0198054 0.579216 0.488505 -0.00183354 0.10009 0.0472603 0.455175 0.5 --0.0629926 0.156114 0.0183129 0.792449 0.5 -0.000301963 0.100099 0.0481787 0.436533 0.5 --0.0201986 0.186115 -0.0151371 0.240536 0.443342 --0.0212084 0.186026 -0.0155815 0.208609 0.328427 --0.0226586 0.185005 -0.0161016 0.155711 0.42001 --0.0563569 0.155043 0.0148967 0.595409 0.5 --0.057302 0.152908 0.030569 0.391177 0.376789 --0.0666126 0.148623 0.0392621 0.487753 0.5 --0.0552085 0.151192 0.0284379 0.436924 0.5 --0.0101504 0.0993437 0.0489973 0.270894 0.5 --0.0637125 0.165316 -0.0311513 0.705011 0.5 --0.0643222 0.166215 -0.0313693 0.695458 0.5 --0.0649388 0.16711 -0.0315896 0.663302 0.5 --0.0655814 0.167928 -0.031824 0.639288 0.5 --0.0662787 0.168684 -0.0320741 0.628394 0.400429 --0.0669945 0.169371 -0.0323347 0.581858 0.5 --0.0677578 0.16996 -0.0326164 0.54586 0.449739 --0.0685451 0.170527 -0.0328985 0.413356 0.473226 --0.0693669 0.17099 -0.0332104 0.688829 0.5 --0.0701909 0.171451 -0.0335218 0.672561 0.5 --0.071113 0.171733 -0.033865 0.613017 0.5 --0.0720408 0.171996 -0.0342175 0.578077 0.5 --0.0730299 0.172199 -0.0345665 0.374774 0.45598 --0.0740734 0.172255 -0.0349568 0.439107 0.422901 --0.0752743 0.171989 -0.0354168 0.214132 0.453107 --0.0764914 0.171559 -0.0359139 0.235256 0.418732 --0.0729862 0.15207 0.0354642 0.336035 0.431839 --0.0328507 0.126562 0.0151396 0.458899 0.5 --0.0750027 0.155319 0.00677634 0.625125 0.31371 --0.0328107 0.126843 0.0122027 0.803046 0.5 --0.0741825 0.156237 0.0158024 0.660851 0.5 --0.0601235 0.15512 0.0251504 0.586453 0.5 --0.057663 0.155278 0.0187721 0.73974 0.5 --0.040335 0.124745 0.0227896 0.456447 0.5 --0.0343047 0.125361 0.0205265 0.411569 0.451012 --0.0744234 0.156022 0.0128056 0.753525 0.5 -0.0587398 0.0709245 0.0152557 0.529147 0.5 -0.0580311 0.0716366 0.0149943 0.507706 0.469148 -0.0572674 0.0722428 0.0147076 0.620643 0.5 -0.0564285 0.0727253 0.0143999 0.652394 0.5 -0.0555021 0.0730293 0.0140468 0.572896 0.5 -0.0546053 0.0733755 0.0137165 0.558719 0.452852 -0.0536189 0.0735747 0.0133449 0.537096 0.325851 -0.0526044 0.0736805 0.0129696 0.719934 0.5 -0.0514504 0.0735674 0.0125302 0.698647 0.5 -0.0503561 0.073461 0.0121181 0.637214 0.5 -0.0491953 0.0732159 0.0116573 0.675976 0.5 -0.0481666 0.0731681 0.01124 0.784409 0.5 -0.047365 0.0735855 0.0109418 0.826505 0.5 -0.0468003 0.0745424 0.0107517 0.447881 0.5 -0.04653 0.0760573 0.0105389 0.495448 0.347175 --0.0426342 0.12559 0.0204963 0.37042 0.5 --0.0416036 0.125525 0.0208631 0.470572 0.5 --0.0407505 0.126266 0.0196745 0.438066 0.447137 --0.0487311 0.13178 0.0269763 0.58587 0.449911 --0.0827498 0.154172 0.0128373 0.550796 0.5 --0.0447621 0.126552 0.0211574 0.629082 0.5 --0.0777335 0.153443 0.0307864 0.330093 0.416851 --0.0396931 0.126183 0.0200311 0.811744 0.5 --0.0399361 0.123254 0.0259269 0.38596 0.5 --0.0543527 0.155034 0.0127444 0.47793 0.5 --0.0136948 0.125921 0.0278767 0.366254 0.5 --0.0696447 0.155522 0.00577511 0.755776 0.5 --0.0437463 0.128889 0.0155826 0.499714 0.5 --0.0745678 0.155931 0.022959 0.814662 0.5 --0.0271883 0.118982 0.0306038 0.451539 0.5 --0.060661 0.155018 0.0264156 0.57108 0.5 --0.0460193 0.128067 0.0236255 0.468802 0.468899 --0.0477867 0.135371 0.0169352 0.708138 0.5 -0.00621882 0.12419 0.0335647 0.544335 0.5 --0.0283423 0.118847 0.030216 0.434037 0.5 --0.0536498 0.152894 0.0173581 0.554812 0.5 -0.0391497 0.108397 0.00837586 0.687181 0.5 -0.0385195 0.109282 0.00815775 0.677907 0.5 -0.0378869 0.110163 0.00793964 0.673359 0.5 -0.0372544 0.111046 0.00772111 0.680932 0.5 -0.0366228 0.111865 0.00747742 0.675599 0.5 -0.0359746 0.112738 0.007259 0.674533 0.5 -0.0353395 0.113619 0.00703904 0.676175 0.5 -0.0347176 0.114447 0.00679736 0.660143 0.5 -0.0340797 0.115381 0.00660331 0.646061 0.5 -0.0334294 0.116181 0.00636312 0.640431 0.5 -0.0327554 0.116907 0.00609585 0.636817 0.5 -0.0320708 0.117667 0.00585111 0.634665 0.5 -0.0313378 0.118325 0.00558524 0.625098 0.5 -0.0305837 0.118921 0.00529549 0.814139 0.5 -0.0298218 0.119509 0.00500708 0.806711 0.5 -0.0290675 0.120111 0.00471365 0.805164 0.5 -0.0282794 0.120663 0.00443205 0.791961 0.5 -0.0275059 0.121239 0.00414409 0.797075 0.5 -0.0266708 0.121701 0.00384182 0.797474 0.5 -0.0258883 0.12226 0.00355652 0.799054 0.5 -0.0251009 0.122815 0.00327552 0.801498 0.5 -0.0243085 0.123343 0.00295625 0.798858 0.5 -0.0235199 0.123889 0.00267512 0.793557 0.5 -0.0227041 0.124378 0.0023667 0.600526 0.487961 -0.0218833 0.124858 0.00205716 0.568358 0.5 -0.0210505 0.125312 0.00175976 0.720705 0.5 -0.0201693 0.125674 0.00144037 0.72701 0.5 -0.0192952 0.126057 0.00111502 0.549619 0.478422 -0.018385 0.126365 0.000765748 0.53867 0.5 -0.0174979 0.126711 0.000451693 0.679655 0.445027 -0.0165768 0.126998 0.000104849 0.52653 0.459269 --0.0873547 0.094105 0.00537923 0.764025 0.318417 --0.087209 0.0941073 0.00444199 0.826194 0.5 --0.0912331 0.114706 0.0382141 0.582382 0.5 --0.0721007 0.175064 -0.0530188 0.345431 0.47427 --0.0912374 0.140583 0.0161703 0.344959 0.5 --0.0893696 0.140675 0.0341739 0.602153 0.5 --0.0722528 0.156819 -0.0369077 0.527069 0.471618 --0.0742948 0.147166 -0.0148659 0.299412 0.5 --0.0915139 0.140599 0.0171878 0.461452 0.5 --0.0884357 0.140552 0.0112052 0.426609 0.5 --0.0942744 0.126919 0.0202522 0.570718 0.5 --0.089435 0.0996945 0.016394 0.857025 0.5 --0.0780733 0.100357 -0.00962255 0.706292 0.5 --0.0741071 0.154101 -0.0239055 0.625285 0.5 --0.0809353 0.145916 -0.000819165 0.55942 0.5 --0.08784 0.105023 0.0143674 0.799174 0.5 --0.0878453 0.10502 0.0133698 0.772699 0.5 --0.0872189 0.103599 0.00739967 0.467686 0.5 --0.0314483 0.177007 -0.0139273 0.413967 0.5 -0.022698 0.118017 -0.00920048 0.589444 0.5 --0.0926722 0.117507 0.0393006 0.697337 0.5 --0.0704499 0.154022 0.0317661 0.4505 0.460634 --0.0530502 0.151987 0.0175947 0.600789 0.5 -0.00308348 0.0981539 0.0507387 0.420813 0.419856 --0.00116162 0.0980337 0.0521962 0.384333 0.5 --0.0331127 0.123309 0.0239558 0.509663 0.389253 --0.0323169 0.126646 0.013854 0.747717 0.5 --0.0199983 0.126616 0.0197793 0.372671 0.5 --0.04591 0.132311 0.0103278 0.472582 0.5 --0.0242082 0.121982 0.0271598 0.387964 0.5 --0.0799451 0.15529 0.0167266 0.541044 0.5 --0.0263812 0.120789 0.0279195 0.382019 0.36244 --0.0886232 0.152074 0.0182297 0.164219 0.308129 --0.0610919 0.155915 0.0160896 0.782362 0.5 --0.0741431 0.153026 0.0335308 0.292127 0.372421 --0.0625615 0.156051 0.017016 0.801509 0.5 -0.00277101 0.099815 0.0475918 0.508844 0.374974 --0.045336 0.129618 0.020889 0.420497 0.5 --0.0474148 0.133778 0.0200381 0.707374 0.5 --0.0208999 0.185581 -0.0139755 0.224803 0.465445 --0.021995 0.185609 -0.0143485 0.166977 0.166783 --0.0234016 0.184697 -0.0149423 0.16843 0.379562 -0.0022525 0.0986072 0.0504164 0.526562 0.5 --0.00688511 0.0982482 0.0516445 0.372577 0.5 --0.0580426 0.153536 0.0303048 0.35682 0.5 --0.0349607 0.125018 0.0217662 0.437259 0.5 --0.0572069 0.155002 0.0203881 0.693727 0.5 --0.0361331 0.122312 0.027301 0.570112 0.5 -0.00967962 0.127274 0.0289934 0.386344 0.385032 --0.0640888 0.165507 -0.029848 0.684667 0.5 --0.0646908 0.166411 -0.0300665 0.639064 0.5 --0.0653365 0.167223 -0.0303028 0.610456 0.5 --0.0660205 0.167997 -0.0305503 0.565309 0.350811 --0.0667396 0.168684 -0.03081 0.553412 0.429672 --0.0674741 0.169344 -0.0310786 0.4225 0.5 --0.0682563 0.169911 -0.0313673 0.408006 0.430391 --0.0690262 0.170476 -0.0316587 0.397583 0.454433 --0.0698895 0.170875 -0.0319754 0.621829 0.392573 --0.0707666 0.171245 -0.0323024 0.602902 0.393955 --0.071689 0.171513 -0.0326505 0.560907 0.407578 --0.0726695 0.171671 -0.0330178 0.519913 0.5 --0.073715 0.17176 -0.0333959 0.276933 0.5 --0.0748644 0.171601 -0.033829 0.29446 0.5 --0.0760947 0.171183 -0.0343205 0.224607 0.5 --0.0212669 0.123736 0.0252343 0.42627 0.323383 --0.0632135 0.155458 0.00808821 0.693818 0.5 --0.0472373 0.134368 0.0171539 0.672794 0.5 --0.073138 0.156184 0.0161734 0.654004 0.5 --0.0582075 0.154657 0.0258383 0.967152 0.5 --0.0472066 0.134653 0.0142236 0.524758 0.5 --0.0424671 0.124776 0.022048 0.395847 0.455431 --0.0832568 0.154212 0.0141255 0.366105 0.5 --0.0337468 0.127104 0.0118588 0.800576 0.5 -0.0589083 0.0700926 0.0167877 0.472584 0.422622 -0.0582857 0.0709436 0.0165587 0.418318 0.5 -0.0576036 0.0717386 0.0163116 0.471135 0.5 -0.0568364 0.0723477 0.016027 0.583103 0.5 -0.0560042 0.0728404 0.0157211 0.573928 0.5 -0.0551137 0.0732038 0.0153863 0.532984 0.456057 -0.0541727 0.0734662 0.0150335 0.474569 0.463479 -0.0531674 0.0736169 0.0146631 0.639256 0.5 -0.0521155 0.073659 0.0142686 0.63257 0.5 -0.0510202 0.0736047 0.0138558 0.633898 0.5 -0.0498767 0.0734333 0.0134213 0.589891 0.5 -0.0488271 0.0733963 0.0130056 0.63817 0.5 -0.0478387 0.0734572 0.0126134 0.733295 0.5 -0.0470624 0.0740285 0.0123586 0.517817 0.5 -0.0466692 0.0754291 0.0122452 0.377269 0.5 -0.00881068 0.127643 0.0286728 0.376606 0.46896 --0.0585706 0.155353 0.0213449 0.699619 0.343723 --0.0346775 0.127387 0.0115177 0.817262 0.5 --0.065794 0.155512 0.00862557 0.826331 0.5 --0.064746 0.155508 0.00899366 0.817395 0.5 --0.0581695 0.15592 0.011334 0.861034 0.5 --0.0571277 0.155869 0.0117051 0.877316 0.5 --0.0592055 0.155872 0.0109493 0.575998 0.5 --0.0560848 0.155673 0.012015 0.388925 0.38319 --0.0552142 0.155428 0.0123927 0.425088 0.412924 --0.0124888 0.126191 0.0283067 0.375874 0.5 --0.0706835 0.155594 0.0053992 0.670605 0.5 --0.0430221 0.128224 0.015861 0.469733 0.419948 --0.0702279 0.156078 0.0244771 0.541152 0.5 --0.062838 0.15526 0.00677387 0.550406 0.5 --0.0639905 0.155091 0.00636862 0.673216 0.5 --0.0406463 0.127804 0.0152535 0.593616 0.5 --0.0397156 0.127552 0.0155957 0.568851 0.5 --0.0415794 0.128056 0.0149128 0.429919 0.5 --0.0424853 0.128365 0.0145816 0.384548 0.5 -0.00890997 0.125517 0.0316176 0.585238 0.5 --0.0733029 0.15632 0.000130521 0.247513 0.5 -0.03891 0.10882 0.00971935 0.698296 0.5 -0.0382789 0.10977 0.00952257 0.694474 0.5 -0.0376477 0.110588 0.00928033 0.690681 0.5 -0.0370023 0.11146 0.00905905 0.688963 0.5 -0.0363552 0.112269 0.0088181 0.69033 0.5 -0.0357248 0.113154 0.00859849 0.682669 0.5 -0.0350985 0.114043 0.00837763 0.667637 0.5 -0.0344662 0.114921 0.00815778 0.666721 0.5 -0.0338144 0.115724 0.00791606 0.664444 0.5 -0.0331853 0.116604 0.00769666 0.651512 0.5 -0.0325029 0.117364 0.00744623 0.639369 0.5 -0.0318002 0.118052 0.00717688 0.62908 0.47784 -0.0310854 0.118732 0.00690653 0.628328 0.5 -0.0303386 0.119339 0.00661655 0.625206 0.48168 -0.0295902 0.119982 0.0063504 0.801562 0.5 -0.0288283 0.120572 0.00606361 0.798143 0.5 -0.0280639 0.121158 0.0057742 0.793243 0.5 -0.0272829 0.121723 0.00548626 0.79397 0.5 -0.0264872 0.122262 0.00520712 0.792851 0.5 -0.0256839 0.122773 0.00490001 0.794126 0.377314 -0.0248936 0.12332 0.00461274 0.799522 0.5 -0.0240783 0.123806 0.00430528 0.791709 0.5 -0.0233024 0.124378 0.00401489 0.602786 0.488076 -0.0224793 0.124852 0.00370943 0.599074 0.5 -0.0216273 0.125269 0.00337714 0.775042 0.5 -0.0207994 0.125738 0.00307388 0.739055 0.5 -0.0199608 0.126186 0.00277612 0.716337 0.5 -0.019082 0.126548 0.00245443 0.704241 0.5 -0.0182356 0.126981 0.00216332 0.676299 0.452519 -0.0173214 0.127268 0.00181685 0.668432 0.5 -0.0164152 0.127597 0.00146207 0.509079 0.481469 -0.015525 0.127932 0.00115163 0.508707 0.47144 -0.014566 0.128157 0.000776346 0.632038 0.474565 -0.0135945 0.128354 0.000408423 0.503675 0.5 -0.012653 0.128571 8.59956e-05 0.646447 0.5 -0.0251837 0.112665 -0.0114294 0.573353 0.5 --0.0658954 0.166616 -0.0590008 0.424299 0.457759 --0.0885678 0.139164 0.0111992 0.432359 0.428823 --0.0818959 0.141783 0.000186922 0.640808 0.5 --0.0917891 0.141969 0.0171701 0.445774 0.5 --0.089717 0.142036 0.0301646 0.701387 0.5 --0.0903646 0.135051 0.0122148 0.685064 0.5 --0.0805557 0.0977534 -0.00758611 0.531208 0.5 --0.089402 0.0996815 0.0144017 0.810366 0.5 --0.0790004 0.100402 -0.00859092 0.493744 0.471799 --0.0799546 0.100457 -0.00758867 0.517612 0.454511 --0.0906275 0.137865 0.0211926 0.706216 0.5 --0.0858362 0.103636 0.0243714 0.514874 0.431291 --0.0877186 0.105023 0.0153645 0.803863 0.5 --0.0875094 0.103632 0.00838188 0.682333 0.5 --0.0883137 0.103697 0.0153744 0.811269 0.5 -0.0310879 0.115727 -0.00269046 0.62623 0.47894 --0.092697 0.117351 0.0113077 0.467768 0.5 --0.0925871 0.117342 0.0103086 0.356382 0.5 --0.00134544 0.0999407 0.0490888 0.290753 0.5 --0.0678931 0.0900993 0.043242 0.507183 0.5 --0.0855527 0.153551 0.0192298 0.223741 0.404861 --0.00794001 0.0994214 0.049751 0.244453 0.439437 --0.0568081 0.154369 0.0248865 0.434103 0.456068 --0.0443004 0.130334 0.00946299 0.565156 0.5 --0.0379773 0.128134 0.0117903 0.731312 0.324497 --0.0337351 0.126905 0.0148106 0.653919 0.5 --0.0233454 0.122752 0.0259903 0.404348 0.445674 --0.0778434 0.153328 0.00140062 0.249187 0.286449 --0.0655551 0.156269 0.0188465 0.767934 0.5 --0.0743637 0.153685 0.0319267 0.336977 0.438758 --0.0339393 0.126307 0.017694 0.41877 0.43514 --0.0356146 0.127659 0.0111781 0.846532 0.5 --0.0615214 0.155998 0.0173864 0.817716 0.5 --0.0863368 0.153207 0.0174967 0.206056 0.38754 --0.0330041 0.122377 0.0254817 0.578071 0.5 --0.0312857 0.125233 0.0186818 0.357942 0.468279 --0.0445794 0.130477 0.0137726 0.505594 0.5 --0.022585 0.185119 -0.0131839 0.174685 0.270884 --0.0243398 0.183957 -0.0138554 0.150701 0.5 --0.0133826 0.1039 0.0435877 0.675337 0.5 --0.0208657 0.123339 0.0268408 0.452709 0.5 --0.0589919 0.15382 0.0299308 0.958443 0.5 --0.0422429 0.129048 0.0117038 0.767622 0.5 --0.0751026 0.155922 -0.00200459 0.267795 0.5 --0.0365494 0.127902 0.0108341 0.818936 0.5 --0.0638477 0.164736 -0.0283363 0.665887 0.5 --0.0644726 0.165628 -0.0285568 0.646291 0.5 --0.06512 0.166493 -0.0287867 0.612369 0.5 --0.0657843 0.167288 -0.0290298 0.594112 0.5 --0.0664918 0.167987 -0.0292876 0.536219 0.5 --0.0672139 0.168667 -0.0295504 0.512346 0.5 --0.067959 0.169303 -0.0298283 0.50326 0.367415 --0.0687786 0.16979 -0.0301319 0.488239 0.457833 --0.0695516 0.170347 -0.0304219 0.480544 0.5 --0.0704174 0.170744 -0.0307374 0.589767 0.5 --0.0713401 0.171022 -0.0310853 0.575191 0.5 --0.0723219 0.171178 -0.0314543 0.512251 0.5 --0.0733702 0.171289 -0.0318245 0.334478 0.44831 --0.0745177 0.171112 -0.0322615 0.36707 0.5 --0.075709 0.170829 -0.032719 0.290897 0.3057 --0.0770198 0.170132 -0.03325 0.259817 0.452429 --0.0375363 0.128085 0.0104763 0.794124 0.5 --0.0384762 0.128323 0.0101316 0.804075 0.5 --0.0466776 0.13337 0.0173732 0.636474 0.5 --0.0719809 0.156292 0.0165776 0.662364 0.5 --0.0573264 0.15429 0.0261567 0.984385 0.5 --0.0394154 0.128541 0.00978788 0.80386 0.5 --0.00141239 0.101018 0.0444401 0.166781 0.5 --0.0709721 0.148372 0.0407622 0.532848 0.5 --0.00823999 0.130343 0.0167173 0.571849 0.5 -0.0584567 0.0701808 0.018095 0.414104 0.5 -0.0578227 0.0710073 0.0178627 0.394699 0.437015 -0.0571135 0.071717 0.0176058 0.438534 0.443907 -0.0563556 0.0723446 0.0173318 0.42779 0.5 -0.0555265 0.0728462 0.0170262 0.51843 0.5 -0.0546767 0.0732977 0.0167178 0.410682 0.447422 -0.0537258 0.0735615 0.0163564 0.456297 0.5 -0.0527245 0.0736707 0.0159788 0.58909 0.5 -0.0516271 0.0736236 0.0155669 0.581976 0.5 -0.0505254 0.0735568 0.0151501 0.569573 0.364481 -0.0494051 0.0734301 0.0147277 0.519146 0.5 -0.0483695 0.0734096 0.0143189 0.612077 0.5 -0.0474981 0.0737139 0.0139878 0.54308 0.455907 -0.0467993 0.0745196 0.0137565 0.496274 0.5 -0.0465284 0.0761532 0.0136843 0.400304 0.5 -0.0231755 0.0916964 -0.0230758 0.630702 0.48336 --0.0722094 0.155629 0.00630789 0.688536 0.313454 --0.0711154 0.155676 0.00670049 0.685214 0.5 -0.000685965 0.124734 0.0330095 0.511534 0.5 --0.00019365 0.125094 0.0326823 0.486706 0.5 --0.00497421 0.126254 0.0309961 0.382626 0.5 --0.00601913 0.126314 0.0306279 0.363189 0.5 --0.00926128 0.126278 0.029483 0.344637 0.5 --0.0102986 0.126308 0.029096 0.341049 0.5 --0.0113988 0.126257 0.0287047 0.333748 0.5 --0.0717279 0.155642 0.00502354 0.620052 0.5 --0.0422272 0.127744 0.0161624 0.325231 0.408813 --0.0576415 0.155076 0.0216791 0.648528 0.378957 --0.0616261 0.155549 0.00719382 0.449426 0.5 -0.00251222 0.126485 0.0307749 0.400673 0.36595 -0.00349921 0.126284 0.0311054 0.454043 0.346887 -0.00163159 0.126824 0.0304308 0.387702 0.5 -0.000643571 0.127035 0.0301068 0.354127 0.407891 --0.0330104 0.126012 0.0180287 0.411484 0.457069 --0.0321664 0.125608 0.018357 0.369299 0.5 --0.00938967 0.130192 0.0162996 0.57726 0.5 -0.0223101 0.120965 0.030775 0.55278 0.5 -0.0386236 0.109277 0.0110826 0.699833 0.5 -0.0380115 0.110174 0.0108643 0.706486 0.5 -0.0373643 0.110979 0.0106211 0.705383 0.5 -0.036728 0.111857 0.010401 0.703011 0.5 -0.0360996 0.112682 0.0101589 0.696281 0.5 -0.0354634 0.113562 0.00993821 0.689917 0.5 -0.0348186 0.114435 0.00971518 0.685713 0.5 -0.0341993 0.115326 0.00949444 0.679565 0.5 -0.0335642 0.11614 0.00925074 0.660301 0.5 -0.0329127 0.116986 0.00902312 0.652837 0.5 -0.0322191 0.117688 0.00875184 0.649909 0.5 -0.0315171 0.118424 0.0085036 0.633479 0.5 -0.030795 0.119096 0.00823469 0.627278 0.5 -0.030074 0.119769 0.00796635 0.622147 0.5 -0.0293267 0.120376 0.00767428 0.812892 0.5 -0.0285657 0.120967 0.00738594 0.803075 0.5 -0.0278403 0.121636 0.00711658 0.784102 0.5 -0.0270583 0.122199 0.00683201 0.793216 0.5 -0.0262422 0.122687 0.00652555 0.790073 0.376228 -0.0254642 0.12325 0.0062381 0.786184 0.5 -0.0246632 0.123785 0.00595837 0.791451 0.5 -0.0238425 0.124265 0.00565298 0.792764 0.380146 -0.0230359 0.124766 0.00534006 0.781806 0.5 -0.0222104 0.125239 0.00503339 0.757597 0.5 -0.0213842 0.125707 0.00472943 0.759147 0.5 -0.0205271 0.126116 0.00440152 0.729775 0.5 -0.0196844 0.126554 0.00410284 0.709506 0.425889 -0.0188215 0.126955 0.00377584 0.714756 0.420114 -0.0179495 0.127337 0.00345096 0.704628 0.5 -0.017067 0.127696 0.00312982 0.681549 0.5 -0.0161864 0.128058 0.00281004 0.662564 0.457911 -0.0153058 0.128412 0.00248962 0.654988 0.5 -0.0143833 0.128699 0.00214848 0.629269 0.5 -0.0134519 0.128957 0.00181284 0.890454 0.5 -0.0124469 0.129111 0.00141235 0.64324 0.5 -0.0115041 0.129313 0.00109395 0.641161 0.5 --0.0911953 0.143381 0.0241598 0.671702 0.5 --0.0866345 0.094046 0.00237751 0.467399 0.360717 --0.0765518 0.15421 -0.000899711 0.337163 0.5 --0.0843726 0.0952582 -0.00357113 0.316306 0.47591 --0.0837476 0.0952109 -0.00455405 0.413601 0.475295 --0.0840799 0.143223 0.00416483 0.504382 0.5 --0.0886136 0.0969805 0.0223931 0.70309 0.5 --0.0814376 0.0978185 -0.00662583 0.529372 0.5 --0.0892922 0.0996701 0.0134013 0.798552 0.5 --0.0894247 0.0996886 0.0153976 0.83119 0.5 --0.0889169 0.126733 0.0032966 0.68946 0.5 --0.0810222 0.100509 -0.00657927 0.510177 0.5 --0.0866185 0.103641 0.022352 0.606067 0.5 --0.0847322 0.10481 0.00139005 0.424393 0.5 --0.0842709 0.104792 0.000381661 0.414869 0.419359 --0.0882804 0.103688 0.0163664 0.825287 0.5 --0.0298717 0.104385 -0.0225787 0.464924 0.5 --0.00583539 0.0910195 -0.0356702 0.698048 0.5 --0.00221102 0.0959857 -0.0316631 0.801072 0.5 --0.0693598 0.153979 -0.049866 0.200908 0.5 --0.00541506 0.100313 0.0476265 0.528489 0.5 -0.0215976 0.121636 0.0305088 0.512306 0.5 -0.0175304 0.120577 0.0333463 0.546896 0.470299 --0.0779359 0.154614 0.00720975 0.645459 0.5 --0.0463338 0.132474 0.00863126 0.517376 0.463309 -0.000144172 0.129559 0.0255502 0.835622 0.5 --0.0360974 0.127648 0.0124754 0.802116 0.298482 -0.0208653 0.122279 0.030221 0.608036 0.5 --0.0769031 0.149462 0.0386995 0.451132 0.358081 --0.0758819 0.156006 0.016671 0.638343 0.316461 --0.0676976 0.156296 0.0180917 0.757403 0.5 -0.0200484 0.122759 0.029923 0.569244 0.334104 -0.0191819 0.123133 0.0296014 0.581558 0.412938 --0.00314149 0.0972112 0.0530078 0.473335 0.5 -0.0182946 0.123502 0.0292701 0.60046 0.5 --0.078629 0.155228 0.0230232 0.7387 0.5 --0.0857072 0.152777 0.0118249 0.220778 0.5 -0.0174279 0.12392 0.0289777 0.623828 0.5 --0.0234596 0.184384 -0.0119315 0.180403 0.389368 --0.0249388 0.183594 -0.0126758 0.175519 0.140328 --0.0268796 0.181867 -0.0133655 0.197024 0.5 -0.00217615 0.12934 0.0262849 0.373359 0.5 --0.065258 0.156162 0.0146042 0.788011 0.5 --0.0598711 0.154188 0.0296083 0.930989 0.5 --0.0645149 0.156191 0.0192193 0.758817 0.5 --0.0687032 0.155739 0.000270534 0.710861 0.5 -0.0166765 0.12456 0.0286792 0.621545 0.5 --0.0636848 0.163906 -0.0268361 0.66877 0.5 --0.0642806 0.164881 -0.0270495 0.621514 0.362111 --0.0649084 0.165706 -0.0272764 0.590771 0.5 --0.0655518 0.166572 -0.0275081 0.546865 0.5 --0.0662458 0.167287 -0.027765 0.518366 0.5 --0.0669695 0.167967 -0.0280306 0.49046 0.5 --0.0677123 0.168615 -0.0283035 0.397051 0.5 --0.0684803 0.169194 -0.0285889 0.483696 0.5 --0.0692573 0.169753 -0.0288779 0.476639 0.453414 --0.0701178 0.170154 -0.0291958 0.467332 0.5 --0.0709934 0.170517 -0.0295248 0.566905 0.409383 --0.0719831 0.170733 -0.0298702 0.36942 0.400019 --0.0729725 0.170894 -0.0302341 0.461028 0.43506 --0.0741328 0.170753 -0.0306566 0.262317 0.338803 --0.0753758 0.170369 -0.0311391 0.242234 0.5 --0.076628 0.169808 -0.0316679 0.253224 0.5 -0.0159604 0.125249 0.0284184 0.474444 0.5 --0.0596259 0.155781 0.0151651 0.690572 0.5 -0.0152596 0.125955 0.0281714 0.458416 0.5 --0.0719917 0.151909 0.0358108 0.326325 0.348234 --0.0591899 0.154851 0.0254882 0.546038 0.5 --0.048193 0.133027 0.0241926 0.592659 0.5 --0.0413787 0.124797 0.0224172 0.455221 0.5 -0.0145253 0.126603 0.0278836 0.424185 0.335717 -0.0585617 0.0692487 0.0195963 0.448912 0.5 -0.0579437 0.0700837 0.0193768 0.408316 0.5 -0.0573103 0.0709688 0.0191461 0.400477 0.5 -0.0565883 0.0716209 0.0188851 0.434738 0.450224 -0.0558431 0.0722822 0.0186151 0.349876 0.431389 -0.0550045 0.0727719 0.0183019 0.376584 0.419367 -0.0541155 0.0731329 0.017974 0.43954 0.402106 -0.0531688 0.0733724 0.0176223 0.567634 0.40267 -0.0521231 0.0734583 0.0172399 0.393422 0.357864 -0.0510305 0.0733741 0.0168194 0.509825 0.5 -0.0499455 0.0733656 0.0164225 0.484166 0.5 -0.0486963 0.0730972 0.0159514 0.498192 0.41462 -0.047871 0.0733255 0.0156276 0.600938 0.412595 -0.0471599 0.07398 0.0153485 0.473266 0.5 -0.0465947 0.0750442 0.0151558 0.448674 0.5 -0.0463511 0.0764838 0.0150474 0.401542 0.430962 -0.013717 0.127103 0.0275992 0.389547 0.456684 -0.00156461 0.124373 0.0333352 0.557415 0.5 --0.0105374 0.130025 0.0158825 0.522941 0.372491 --0.0376712 0.125956 0.0207679 0.290028 0.417071 --0.0277867 0.0904111 0.0457123 0.547302 0.442134 --0.0781974 0.153502 0.00273811 0.25927 0.5 --0.0766672 0.154399 0.00327135 0.268649 0.394545 --0.0753023 0.155004 0.00375308 0.248873 0.5 --0.0740753 0.155198 0.0041876 0.445703 0.5 --0.0728197 0.155564 0.00463235 0.554997 0.5 --0.0412993 0.127471 0.0164976 0.52138 0.428992 --0.0759244 0.155422 0.00936737 0.727378 0.5 --0.0603383 0.155998 0.00765284 0.339822 0.39974 --0.000345107 0.127203 0.0297544 0.356488 0.41495 --0.0112759 0.125368 0.030237 0.375029 0.5 --0.0694586 0.153877 0.0321166 0.460494 0.5 --0.0712698 0.156094 0.0241098 0.52413 0.5 --0.0830831 0.152763 0.0275295 0.311125 0.5 --0.049763 0.132774 0.0280532 0.651556 0.5 --0.0624495 0.15591 0.022857 0.630706 0.373099 --0.000605671 0.129033 0.0267429 0.363009 0.5 -0.0128917 0.127573 0.0272919 0.442438 0.5 -0.0118921 0.127946 0.0270512 0.458746 0.378305 -0.0377238 0.110496 0.0121805 0.707291 0.5 -0.0371019 0.111384 0.0119604 0.706983 0.5 -0.03646 0.112262 0.0117392 0.707581 0.5 -0.0358352 0.11315 0.0115155 0.706481 0.5 -0.0352114 0.113974 0.0112756 0.695134 0.5 -0.0345652 0.114846 0.0110543 0.672224 0.5 -0.0339253 0.115718 0.0108315 0.667408 0.5 -0.0332816 0.116574 0.0106008 0.667715 0.442574 -0.0326144 0.117295 0.0103313 0.665737 0.5 -0.0319294 0.118052 0.0100791 0.653196 0.5 -0.0312326 0.118751 0.0098088 0.6376 0.5 -0.0305158 0.11943 0.00953878 0.630343 0.470869 -0.0297856 0.120093 0.00926746 0.628456 0.5 -0.0290523 0.120756 0.00899975 0.636401 0.474275 -0.0283038 0.121367 0.00870899 0.628729 0.370591 -0.0275645 0.122014 0.00844231 0.622095 0.477618 -0.026783 0.122575 0.00815739 0.607334 0.5 -0.0259953 0.123127 0.0078705 0.785715 0.5 -0.0251982 0.123641 0.0075622 0.782797 0.5 -0.0243858 0.124139 0.00725423 0.784048 0.379372 -0.0235922 0.124679 0.00697037 0.787116 0.5 -0.0227625 0.125142 0.00666699 0.763786 0.5 -0.0219416 0.125622 0.00635903 0.76302 0.5 -0.0211162 0.126093 0.00605375 0.736058 0.5 -0.0202619 0.12651 0.00572713 0.713751 0.5 -0.0193849 0.126884 0.00540105 0.724358 0.417943 -0.0185443 0.12732 0.00510228 0.700417 0.5 -0.017675 0.127712 0.00477874 0.67499 0.5 -0.0167938 0.128074 0.00445644 0.684004 0.442175 -0.0159137 0.128436 0.00413586 0.662165 0.5 -0.0150002 0.128745 0.00378903 0.657108 0.5 -0.0141143 0.129082 0.00347211 0.657206 0.5 -0.0131837 0.129339 0.0031365 0.628213 0.476179 -0.0122169 0.129551 0.00276868 0.889561 0.5 -0.0112459 0.129755 0.00240428 0.895866 0.5 -0.0102649 0.129908 0.00205228 0.88378 0.5 -0.00923557 0.129984 0.00166977 0.880979 0.5 -0.00819795 0.130005 0.00128654 0.8694 0.5 -0.00716146 0.130043 0.000903466 0.866825 0.5 --0.0872227 0.0941086 0.00335062 0.501936 0.448908 --0.0830177 0.0951656 -0.00554205 0.437663 0.5 --0.091214 0.143385 0.025163 0.678671 0.5 --0.0889655 0.0969901 0.0204055 0.689304 0.5 --0.0759458 0.0974591 -0.0125133 0.503102 0.5 --0.0942177 0.125518 0.0172578 0.550781 0.470507 --0.0888522 0.0996312 0.00941041 0.77307 0.5 --0.0887264 0.0996152 0.00841821 0.525387 0.5 --0.0820951 0.100566 -0.0055776 0.496859 0.5 --0.0869674 0.103645 0.0213508 0.600508 0.460345 --0.0862725 0.103636 0.0233541 0.617774 0.5 --0.0851069 0.104842 0.00238218 0.438592 0.5 --0.0831779 0.111548 0.00129095 0.712398 0.5 --0.0841632 0.11158 0.00227497 0.651833 0.5 --0.045814 0.0898818 -0.0220292 0.724569 0.5 --0.0906194 0.139243 0.0211829 0.730586 0.5 --0.092935 0.117416 0.0233037 0.808936 0.5 --0.0935755 0.117419 0.0183042 0.706012 0.5 --0.0935183 0.117402 0.0193034 0.732947 0.5 --0.0924729 0.117499 0.0403021 0.772175 0.5 --0.0499383 0.162625 -0.0047964 0.305141 0.292119 --0.042083 0.168351 -0.00985967 0.419475 0.310053 --0.0676415 0.155906 0.0108585 0.818741 0.5 -0.011146 0.128332 0.0266558 0.412455 0.45446 -0.0102651 0.128706 0.0263309 0.409074 0.438713 --0.0469792 0.133264 0.00837709 0.554679 0.457336 --0.00193982 0.12966 0.0247961 0.83315 0.5 --0.00084278 0.129714 0.0251926 0.834449 0.5 --0.0341879 0.127198 0.0131711 0.741856 0.32739 --0.0452276 0.131073 0.0164666 0.493773 0.5 --0.0457467 0.132003 0.0161756 0.449507 0.437328 --0.0440271 0.128143 0.0184429 0.59216 0.5 --0.0606115 0.155938 0.0148123 0.714515 0.5 --0.0336965 0.120802 0.028215 0.682287 0.350506 -0.00934693 0.129002 0.0260013 0.38821 0.446949 --0.0666005 0.156329 0.0184798 0.740105 0.5 --0.0370341 0.127886 0.0121304 0.75587 0.320396 --0.0774721 0.155387 0.0234212 0.785357 0.5 --0.081048 0.154699 0.0221975 0.713198 0.5 -0.00841723 0.129272 0.0256623 0.528073 0.426794 --0.0243904 0.183518 -0.0110527 0.300894 0.347292 --0.0257723 0.182903 -0.0115399 0.170775 0.409328 --0.02728 0.181917 -0.0121056 0.200351 0.5 --0.0859779 0.0910726 0.0273961 0.752441 0.5 --0.0205861 0.122762 0.0284276 0.477664 0.406875 --0.0367225 0.125751 0.02112 0.319572 0.463481 --0.0608634 0.154346 0.0292597 0.929588 0.5 --0.0304238 0.12007 0.0279522 0.408137 0.360947 --0.0580932 0.155356 0.0200663 0.752298 0.5 -0.00743904 0.129465 0.0253135 0.381812 0.5 --0.0117444 0.129778 0.0154481 0.537858 0.5 --0.0640717 0.164086 -0.0255357 0.646139 0.5 --0.0647247 0.16489 -0.0257757 0.630311 0.5 --0.0653475 0.165775 -0.0260007 0.583512 0.5 --0.0660244 0.166553 -0.0262486 0.418694 0.5 --0.066735 0.167252 -0.0265095 0.488727 0.5 --0.0675078 0.167827 -0.0267933 0.460264 0.5 --0.0682325 0.168499 -0.0270627 0.469602 0.5 --0.0690431 0.169001 -0.0273587 0.485604 0.5 --0.0698247 0.169548 -0.0276555 0.45113 0.448937 --0.0706968 0.169922 -0.0279808 0.425906 0.462063 --0.0716236 0.170198 -0.0283222 0.533783 0.5 --0.0726143 0.1704 -0.0286759 0.462443 0.5 --0.0737877 0.170302 -0.0290826 0.292877 0.5 --0.0750304 0.169881 -0.0295693 0.273148 0.5 --0.0762918 0.169333 -0.0300921 0.260117 0.5 -0.0065117 0.129736 0.0249737 0.516671 0.5 -0.0055446 0.129937 0.0246284 0.502155 0.440756 -0.0045023 0.13009 0.02428 0.368132 0.465167 --0.059554 0.155543 0.0209921 0.733956 0.322435 --0.0610591 0.155387 0.024814 0.585114 0.5 --0.0477004 0.131837 0.0244001 0.595005 0.5 --0.0392376 0.124806 0.0231803 0.349864 0.440701 -0.00356053 0.130245 0.0239041 0.370518 0.425703 -0.0579995 0.0690441 0.020859 0.486203 0.482712 -0.0573849 0.0699459 0.0206376 0.536844 0.5 -0.0567453 0.0707667 0.0204115 0.393719 0.463847 -0.0560276 0.0714782 0.0201554 0.354605 0.5 -0.0552517 0.0720728 0.0198735 0.341504 0.5 -0.0544186 0.0725633 0.0195702 0.30858 0.455879 -0.0534733 0.0728245 0.019221 0.339631 0.424879 -0.0525281 0.0730706 0.0188626 0.306029 0.5 -0.0514753 0.0731205 0.0184716 0.379808 0.455936 -0.0504441 0.0731136 0.0180651 0.441446 0.441461 -0.0492456 0.0728121 0.0176064 0.70948 0.5 -0.0480441 0.0725423 0.0171549 0.923601 0.5 -0.0472882 0.0731371 0.0168777 0.397832 0.5 -0.0467254 0.0741323 0.0166809 0.390263 0.428379 -0.0464078 0.0756596 0.0165703 0.354253 0.5 -0.0462743 0.0775122 0.0165366 0.423401 0.455098 --0.0940189 0.11877 0.0172997 0.650926 0.5 --0.00267498 0.100539 0.0471075 0.510266 0.5 --0.0823243 0.154364 0.0217732 0.415087 0.5 --0.0293211 0.123712 0.0208659 0.399576 0.5 --0.030188 0.124116 0.0205603 0.442988 0.5 --0.0345343 0.126083 0.0189612 0.414878 0.435628 --0.0372934 0.126961 0.0179492 0.593384 0.5 --0.0383432 0.127011 0.0175779 0.541898 0.40483 --0.0393291 0.127134 0.01721 0.509721 0.4366 --0.0403111 0.127303 0.0168527 0.517416 0.431399 --0.0133496 0.124356 0.0309811 0.498424 0.36623 --0.0590718 0.156479 0.0080978 0.521847 0.5 --0.00731691 0.128182 0.0272242 0.341438 0.5 --0.0380005 0.12652 0.0191796 0.523752 0.5 --0.0658186 0.154852 0.00425231 0.847314 0.5 --0.0678494 0.155094 0.00351036 0.863089 0.5 --0.0532977 0.158553 0.00873827 0.301109 0.464994 -0.0025214 0.130289 0.0235241 0.354902 0.441389 --0.0762512 0.156264 -0.00677505 0.612145 0.5 --0.0482692 0.133969 0.0226705 0.568414 0.479509 --0.0134047 0.0981882 0.0494032 0.272873 0.401973 -0.00153258 0.130437 0.0231622 0.361979 0.432392 -0.038042 0.109981 0.0137429 0.714271 0.5 -0.0374202 0.110869 0.0135214 0.706272 0.5 -0.0367927 0.111755 0.0132988 0.707144 0.5 -0.0361533 0.112569 0.0130564 0.708057 0.5 -0.0355447 0.11347 0.012835 0.709586 0.5 -0.0349132 0.114353 0.0126105 0.700041 0.5 -0.0342731 0.115225 0.0123899 0.694886 0.5 -0.0336304 0.116029 0.0121428 0.681565 0.5 -0.0329715 0.116865 0.0119087 0.667322 0.5 -0.0323242 0.117657 0.0116569 0.660004 0.5 -0.0316363 0.118365 0.0113851 0.65778 0.5 -0.0309373 0.119109 0.0111337 0.64963 0.5 -0.0302201 0.119789 0.0108648 0.639758 0.5 -0.0294982 0.120461 0.0105965 0.641083 0.462236 -0.0287604 0.121079 0.0103057 0.632497 0.5 -0.0280264 0.121739 0.0100361 0.621179 0.5 -0.0272688 0.122366 0.00977001 0.617291 0.480092 -0.0264769 0.122884 0.00946172 0.620598 0.479552 -0.0256965 0.123446 0.00917645 0.611414 0.480979 -0.024909 0.124002 0.00889289 0.596654 0.382111 -0.0241035 0.1245 0.0085821 0.773823 0.5 -0.0233146 0.125046 0.00829766 0.773248 0.5 -0.0224712 0.125479 0.00796738 0.74514 0.399562 -0.02167 0.125998 0.00768374 0.747149 0.5 -0.0208082 0.1264 0.00735797 0.729499 0.5 -0.0199501 0.126815 0.00703133 0.697043 0.427188 -0.0191098 0.127253 0.00673134 0.70546 0.5 -0.0182351 0.12763 0.00640475 0.676417 0.5 -0.0173606 0.128011 0.00608341 0.66115 0.450967 -0.0164869 0.128389 0.00575868 0.67476 0.5 -0.0156145 0.128768 0.00543431 0.65468 0.5 -0.0147262 0.129115 0.00511474 0.636807 0.5 -0.0138044 0.129402 0.00474998 0.629764 0.47952 -0.0129127 0.129715 0.00445998 0.642331 0.5 -0.0119495 0.129938 0.00409466 0.618767 0.479309 -0.0110134 0.130158 0.00376449 0.890645 0.5 -0.0100369 0.130324 0.00340984 0.876344 0.5 -0.0089719 0.130372 0.00300057 0.87423 0.5 -0.00798329 0.130466 0.00265255 0.863422 0.5 -0.00689753 0.13043 0.00224143 0.85903 0.5 -0.00586085 0.130491 0.00185259 0.849802 0.5 --0.0758095 0.0920857 -0.0139153 0.490973 0.5 -0.00214563 0.119376 -0.0145717 0.777408 0.5 --0.07574 0.144451 -0.00587632 0.521497 0.5 --0.0890685 0.0969888 0.0194042 0.669566 0.5 --0.0887705 0.0969872 0.0214096 0.692756 0.5 --0.0914674 0.129551 0.00825277 0.415583 0.372169 --0.0847653 0.103459 0.000382003 0.406227 0.5 --0.0876012 0.0995367 0.00546504 0.465197 0.362356 --0.082938 0.100617 -0.00458659 0.461899 0.5 --0.0837054 0.10067 -0.00361944 0.34216 0.458884 --0.0874054 0.110457 0.012344 0.434026 0.407616 --0.085482 0.104867 0.00337403 0.460135 0.325936 --0.085947 0.104892 0.00437979 0.477447 0.5 --0.0791181 0.10724 -0.00560787 0.56292 0.5 --0.0810695 0.111472 -0.000645954 0.681229 0.5 --0.0925573 0.125589 0.0382552 0.834818 0.5 --0.0856634 0.1104 0.0223511 0.720834 0.5 --0.0919525 0.126983 0.0392569 0.584468 0.476724 --0.0922566 0.126816 0.00926569 0.42338 0.5 --0.0943935 0.125559 0.0222675 0.628989 0.5 --0.0315382 0.178553 -0.0120253 0.267614 0.5 --0.092775 0.128304 0.0272531 0.500605 0.470974 --0.0896629 0.124003 0.00427429 0.657292 0.5 --0.0902327 0.124018 0.00527185 0.62398 0.5 --0.091005 0.124034 0.00628346 0.572478 0.5 --0.0732714 0.156195 0.0132096 0.756541 0.5 --0.0878262 0.152428 0.0199936 0.219414 0.5 --0.082872 0.154403 0.0201091 0.461873 0.5 --0.0114115 0.128814 0.0228458 0.403555 0.5 --0.0229547 0.12614 0.0172488 0.389036 0.439043 --0.00402179 0.129762 0.0240423 0.842685 0.5 --0.00292868 0.129815 0.0244395 0.831347 0.5 --0.0332433 0.126938 0.0135159 0.748333 0.5 --0.0739928 0.155924 0.011504 0.761094 0.5 --0.0362517 0.123246 0.0257763 0.511794 0.39959 --0.0462848 0.131856 0.0204922 0.65581 0.5 --0.062692 0.155999 0.0140721 0.807055 0.5 -0.000436968 0.130385 0.0227651 0.495292 0.5 --0.0702292 0.153353 0.0333614 0.338663 0.449898 --0.0193672 0.122992 0.0288371 0.497718 0.392807 --0.0225076 0.125867 0.0188793 0.397297 0.5 --0.0799294 0.154987 0.0226092 0.327843 0.5 --0.000605347 0.130433 0.0223861 0.845215 0.5 --0.00170163 0.130406 0.0219933 0.505355 0.5 --0.00273996 0.130454 0.0216129 0.517613 0.5 --0.0281162 0.181397 -0.0109687 0.159018 0.429735 --0.0298496 0.180049 -0.0116061 0.239145 0.5 --0.0260252 0.0904818 0.0482145 0.589766 0.5 -0.002127 0.0994865 0.0488443 0.46312 0.332932 --0.0617979 0.154608 0.0289232 0.928053 0.5 --0.00378356 0.130498 0.0212315 0.532704 0.5 --0.00487894 0.130442 0.0208375 0.519186 0.5 --0.0632795 0.162306 -0.0238202 0.664947 0.5 --0.0638695 0.16329 -0.0240265 0.616532 0.5 --0.064489 0.16418 -0.0242498 0.616831 0.5 --0.065154 0.164972 -0.0244937 0.564589 0.5 --0.0658178 0.165764 -0.0247368 0.532075 0.5 --0.066536 0.166455 -0.0250024 0.490996 0.376708 --0.067269 0.167119 -0.0252721 0.317836 0.478089 --0.0679962 0.167786 -0.0255431 0.374348 0.5 --0.0687634 0.168362 -0.025835 0.459181 0.420666 --0.0695817 0.168848 -0.0261289 0.424522 0.5 --0.0704486 0.16924 -0.0264473 0.538062 0.5 --0.0713267 0.169665 -0.0267525 0.380093 0.44026 --0.0723216 0.169832 -0.0271166 0.34589 0.5 --0.0734182 0.169757 -0.0275332 0.357987 0.5 --0.0746874 0.169403 -0.0279937 0.236755 0.330811 --0.0759846 0.168851 -0.0284951 0.218721 0.5 --0.00597277 0.130385 0.0204408 0.523433 0.5 --0.0236176 0.123316 0.0244011 0.519894 0.35286 --0.0634727 0.156127 0.0195874 0.758364 0.5 --0.00306441 0.100922 0.0454807 0.351859 0.5 --0.0620497 0.155563 0.0244621 0.589637 0.5 --0.00712692 0.130239 0.0200248 0.524966 0.5 --0.0381943 0.124735 0.0235454 0.384209 0.437915 --0.076294 0.155585 0.0106948 0.728384 0.5 -0.0573543 0.0687146 0.022093 0.59656 0.5 -0.056742 0.0696177 0.0218717 0.539175 0.5 -0.0560814 0.0704234 0.0216351 0.498749 0.5 -0.0553692 0.0711293 0.0213817 0.450851 0.5 -0.0545912 0.0717149 0.021096 0.383485 0.5 -0.0538065 0.0721186 0.0208488 0.320561 0.439406 -0.0527625 0.0723674 0.0204268 0.325708 0.396146 -0.0518225 0.072596 0.0200635 0.393581 0.4601 -0.0508347 0.0727393 0.0196905 0.339858 0.5 -0.049638 0.0724241 0.0192263 0.399564 0.5 -0.0485095 0.0723104 0.0188157 0.401354 0.5 -0.047344 0.0721054 0.0183678 0.93426 0.5 -0.0467055 0.0730498 0.0181295 0.40551 0.5 -0.0463322 0.0743214 0.0180018 0.329646 0.465902 -0.0462175 0.0761811 0.0179689 0.353924 0.5 --0.008275 0.130081 0.0196055 0.478771 0.412081 --0.0310065 0.124592 0.0202545 0.354073 0.388318 --0.0283907 0.123379 0.0211752 0.397189 0.5 --0.0274038 0.123285 0.0215594 0.344065 0.458123 --0.00942316 0.129915 0.019193 0.493669 0.5 --0.0728479 0.14776 0.0416103 0.542106 0.340749 --0.00312412 0.123427 0.0346626 0.563222 0.39044 --0.00400483 0.123769 0.0343163 0.5584 0.417412 --0.00493749 0.124022 0.0339675 0.537419 0.5 --0.0105693 0.129741 0.0187791 0.489392 0.5 --0.0122465 0.124398 0.0313659 0.420996 0.333286 --0.0577252 0.156918 0.00853143 0.261184 0.315698 --0.00841973 0.128157 0.0268439 0.344265 0.5 --0.0410118 0.126885 0.0180931 0.352536 0.5 --0.0668607 0.154942 0.00387089 0.852414 0.5 --0.0117177 0.129576 0.0183624 0.463975 0.406638 --0.0717955 0.156396 0.0195489 0.560958 0.5 --0.0427601 0.128938 0.0129983 0.552723 0.339365 --0.0435244 0.129538 0.0127129 0.434942 0.46975 --0.04424 0.130203 0.0124253 0.539851 0.5 --0.0448961 0.131042 0.0121815 0.529442 0.5 --0.0645986 0.15064 0.0368964 0.494856 0.5 --0.0129215 0.129318 0.0179306 0.434555 0.5 -0.0377424 0.110293 0.0150624 0.710167 0.5 -0.0371116 0.111176 0.0148387 0.706309 0.5 -0.0364911 0.112064 0.0146153 0.706768 0.5 -0.0358655 0.112954 0.0143927 0.708993 0.5 -0.0352594 0.113795 0.0141522 0.710491 0.5 -0.0346263 0.114673 0.0139267 0.702107 0.5 -0.033977 0.115595 0.0137221 0.693341 0.5 -0.0333357 0.116389 0.013468 0.693309 0.5 -0.0326756 0.117173 0.0132168 0.686439 0.5 -0.0320122 0.117952 0.0129635 0.673137 0.5 -0.0313294 0.118714 0.0127065 0.672237 0.365119 -0.030619 0.119354 0.0124235 0.664001 0.44677 -0.029911 0.120086 0.0121698 0.643274 0.5 -0.0291881 0.120758 0.0119009 0.632664 0.5 -0.0284544 0.121423 0.0116324 0.630191 0.370092 -0.0277062 0.122023 0.0113437 0.627488 0.5 -0.0269552 0.122658 0.0110745 0.624225 0.5 -0.0261865 0.123233 0.0107875 0.616621 0.5 -0.0254031 0.123772 0.0104796 0.6096 0.5 -0.024638 0.124378 0.010214 0.7839 0.5 -0.0238189 0.124864 0.00990899 0.770067 0.5 -0.0230068 0.125355 0.00960117 0.739195 0.397926 -0.0221833 0.125827 0.00929485 0.746009 0.5 -0.0213306 0.126248 0.00896939 0.717165 0.5 -0.0204936 0.1267 0.00866396 0.703486 0.423689 -0.0196258 0.127091 0.0083394 0.710245 0.5 -0.0187844 0.127527 0.00803838 0.677837 0.5 -0.0179084 0.127905 0.00771503 0.662188 0.449192 -0.0170749 0.128355 0.00741174 0.670386 0.442547 -0.0161732 0.12869 0.00706423 0.65214 0.5 -0.0152965 0.129062 0.00674245 0.640203 0.5 -0.0144027 0.129384 0.00642559 0.644004 0.463482 -0.0134856 0.129689 0.00607818 0.618468 0.478382 -0.0125568 0.129953 0.0057397 0.628002 0.5 -0.0116228 0.130194 0.0054038 0.888074 0.5 -0.0106503 0.130383 0.00504386 0.883512 0.5 -0.00967799 0.130572 0.00468392 0.875792 0.5 -0.0086501 0.130656 0.00430717 0.865857 0.5 -0.00766772 0.130773 0.00395877 0.866254 0.5 -0.00658391 0.130753 0.00354793 0.837244 0.5 -0.00549414 0.130728 0.00313392 0.849898 0.5 -0.00445432 0.130749 0.00275136 0.831703 0.5 -0.00336694 0.130688 0.00234495 0.825184 0.5 -0.00222051 0.130562 0.00190808 0.819976 0.5 -0.00113463 0.130461 0.00151005 0.804559 0.5 --6.48961e-05 0.130222 0.00105503 0.79111 0.5 --0.089275 0.0969971 0.0184044 0.668262 0.5 --0.0894207 0.0969969 0.0174102 0.666718 0.5 --0.0286428 0.107004 -0.0213195 0.442464 0.5 --0.0870966 0.0995146 0.0044219 0.605824 0.5 --0.088041 0.0995721 0.00642464 0.506304 0.5 -0.0495953 0.0662964 -0.000416722 0.502502 0.43381 --0.073544 0.177863 -0.0540307 0.317257 0.5 --0.0712429 0.177886 -0.0560058 0.265084 0.460455 --0.0804236 0.104574 -0.00559216 0.540161 0.41414 --0.0871543 0.105024 0.0183639 0.569233 0.5 --0.0648162 0.092445 -0.0185198 0.622643 0.5 --0.0927931 0.126937 0.0282668 0.655693 0.5 --0.0863235 0.110381 0.0203696 0.710228 0.5 --0.067463 0.166618 -0.0559977 0.51561 0.298165 --0.0764027 0.109871 -0.00664525 0.543658 0.5 --0.0755266 0.109807 -0.00760163 0.576162 0.5 --0.0930011 0.116069 0.0193086 0.778647 0.5 --0.0928105 0.116053 0.0203106 0.788112 0.5 --0.0925679 0.116061 0.0213084 0.780454 0.5 --0.0881185 0.151555 0.0230923 0.281544 0.5 --0.0874625 0.123933 -0.000723767 0.498709 0.333038 --0.0867734 0.123909 -0.00174219 0.494636 0.5 --0.0399008 0.128531 0.0110866 0.716258 0.5 --0.0609078 0.155801 0.00889681 0.529494 0.5 --0.0141843 0.128965 0.0174774 0.461551 0.5 --0.0126066 0.128516 0.0224096 0.712635 0.5 -0.00323976 0.128177 0.0281353 0.421486 0.5 -0.0211117 0.124199 0.0260136 0.536609 0.457943 --0.00610552 0.129863 0.0232869 0.817835 0.5 --0.00506384 0.129812 0.0236663 0.852199 0.5 --0.0351154 0.127437 0.0128308 0.752667 0.31964 --0.0455491 0.131451 0.0178282 0.566158 0.5 -0.00141552 0.0990584 0.0500955 0.452638 0.5 -0.0022443 0.0974458 0.0519249 0.3851 0.473885 -0.0194228 0.125079 0.025397 0.739307 0.323369 --0.0840303 0.151908 0.0287412 0.266127 0.265628 --0.0153828 0.128676 0.0170423 0.486182 0.5 -0.000951329 0.10045 0.046938 0.49772 0.5 --0.0528926 0.154865 0.0118243 0.470093 0.5 --0.0779922 0.155321 0.011561 0.705245 0.5 --0.0165872 0.128419 0.0166112 0.458365 0.5 --0.0273746 0.181651 -0.00921581 0.269098 0.5 --0.0288938 0.180785 -0.00982491 0.243604 0.20583 --0.0304041 0.179805 -0.0103906 0.230583 0.41631 --0.0321103 0.178539 -0.0110044 0.296306 0.5 --0.0248787 0.0796614 0.0530244 0.764034 0.5 --0.0864154 0.152983 0.0204471 0.258747 0.389817 --0.0627886 0.154765 0.0285735 0.92804 0.5 --0.0271151 0.122681 0.0231414 0.670911 0.5 --0.0178474 0.12806 0.016159 0.470802 0.5 --0.0128908 0.129601 0.0150315 0.549708 0.5 --0.0636773 0.162484 -0.0225185 0.582314 0.5 --0.0642828 0.163385 -0.0227384 0.578693 0.5 --0.0649478 0.164181 -0.0229827 0.561191 0.5 --0.0656191 0.164967 -0.0232289 0.534987 0.5 --0.0662913 0.165749 -0.0234747 0.500249 0.5 --0.0670519 0.166375 -0.0237602 0.473463 0.5 --0.0678037 0.166983 -0.024036 0.371552 0.5 --0.068567 0.167578 -0.0243154 0.365768 0.404876 --0.0693375 0.168152 -0.0246084 0.326047 0.394601 --0.07021 0.168534 -0.0249229 0.391975 0.453404 --0.0710857 0.168903 -0.0252489 0.382826 0.454448 --0.0720162 0.169175 -0.0255925 0.474872 0.446582 --0.0730867 0.169281 -0.0259539 0.236044 0.37718 --0.0743457 0.168929 -0.0264214 0.244179 0.5 --0.0756189 0.168382 -0.0269354 0.211839 0.5 --0.0189924 0.127884 0.0157415 0.451097 0.5 --0.0304832 0.12104 0.0263992 0.48285 0.5 --0.00201946 0.100869 0.0458524 0.353279 0.5 --0.055031 0.152471 0.0270238 0.396773 0.5 --0.0564476 0.153922 0.0264803 0.99449 0.5 --0.0203106 0.127423 0.0152774 0.392083 0.5 --0.0372574 0.124492 0.0238955 0.408953 0.5 --0.0751451 0.15577 0.0110973 0.757648 0.5 --0.0215612 0.127036 0.0148264 0.419792 0.418438 -0.0560761 0.0692634 0.0230866 0.5928 0.5 -0.0553826 0.0699889 0.0228528 0.5217 0.5 -0.0546575 0.0706779 0.0225865 0.373051 0.5 -0.0538492 0.0711959 0.0223128 0.288147 0.472327 -0.0529955 0.0716182 0.0219676 0.368683 0.5 -0.052054 0.0718585 0.0216053 0.421352 0.5 -0.0510679 0.0720267 0.021243 0.364339 0.5 -0.0499773 0.0719552 0.0208312 0.408674 0.5 -0.0488349 0.0718069 0.020409 0.406572 0.5 -0.0476579 0.0715472 0.019969 0.459214 0.5 -0.0467013 0.0718392 0.0195936 0.553088 0.5 -0.0462172 0.0729792 0.0194263 0.364467 0.5 -0.0460054 0.0746307 0.0193568 0.339361 0.466656 --0.0227666 0.126779 0.0143916 0.452845 0.5 -0.0105902 0.125785 0.0307704 0.456899 0.5 --0.0102366 0.125327 0.0306172 0.394819 0.5 --0.0787564 0.154933 0.00983696 0.688959 0.5 --0.0187344 0.126979 0.0202236 0.402368 0.5 --0.0804177 0.153092 0.00488677 0.321879 0.39417 --0.0145507 0.0980154 0.0489953 0.3937 0.300415 --0.0239683 0.126504 0.0139537 0.48508 0.5 --0.0534319 0.15708 0.0101259 0.400168 0.392503 --0.0543644 0.15733 0.00977334 0.338592 0.5 --0.0554704 0.157309 0.00940753 0.313992 0.5 --0.0566266 0.157159 0.00899778 0.213598 0.399532 --0.00950205 0.12806 0.0264334 0.327514 0.416993 --0.0840242 0.151932 0.0065796 0.219001 0.5 --0.0755392 0.154957 0.000803149 0.22064 0.244815 --0.0252277 0.12616 0.0135052 0.365732 0.469655 --0.0419839 0.128576 0.0133734 0.504756 0.317663 --0.0409763 0.128303 0.0136557 0.455946 0.347522 --0.0361503 0.127316 0.0154104 0.693177 0.5 --0.0352134 0.127051 0.0157486 0.657748 0.5 --0.0342826 0.126777 0.01609 0.611255 0.5 --0.0333921 0.126443 0.0164188 0.435615 0.5 --0.0264363 0.125919 0.0130719 0.562434 0.5 -0.0380432 0.109702 0.0166041 0.708848 0.5 -0.0374516 0.110677 0.0163977 0.706629 0.5 -0.0368364 0.111573 0.0161776 0.71557 0.414299 -0.0362036 0.112389 0.0159326 0.708267 0.5 -0.0355806 0.113279 0.0157103 0.707128 0.5 -0.0349482 0.114159 0.0154869 0.700287 0.5 -0.0343153 0.115038 0.0152609 0.698186 0.5 -0.0336755 0.115893 0.0150272 0.706423 0.5 -0.0330296 0.116688 0.0147767 0.706147 0.5 -0.0323797 0.117481 0.0145242 0.698294 0.5 -0.0316988 0.118246 0.0142694 0.691884 0.428219 -0.0310013 0.118944 0.0140014 0.675824 0.5 -0.0302928 0.119677 0.0137476 0.654896 0.444797 -0.0295862 0.120365 0.0134787 0.656533 0.5 -0.0288719 0.121048 0.0132077 0.647783 0.5 -0.0281325 0.121698 0.0129367 0.643953 0.5 -0.027377 0.122298 0.0126488 0.630896 0.464129 -0.0266099 0.122879 0.0123678 0.620014 0.375301 -0.0258358 0.123453 0.0120756 0.606163 0.478849 -0.0250704 0.12404 0.011788 0.602292 0.5 -0.0242948 0.124607 0.0114976 0.606014 0.5 -0.0235082 0.12516 0.0112114 0.605759 0.5 -0.0226846 0.125635 0.0109073 0.734185 0.5 -0.0218584 0.126105 0.0106 0.723274 0.5 -0.0210026 0.126515 0.0102791 0.712274 0.5 -0.0202061 0.126966 0.0100746 0.680123 0.433635 -0.0193044 0.127372 0.00964815 0.696884 0.5 -0.0184567 0.127794 0.00934393 0.684108 0.5 -0.0175902 0.128186 0.00902123 0.651383 0.452123 -0.0167178 0.128574 0.00869666 0.657537 0.5 -0.0158474 0.128954 0.00837281 0.634823 0.5 -0.0149745 0.129329 0.00806984 0.614504 0.480204 -0.0140849 0.129676 0.00773008 0.896681 0.5 -0.0131559 0.129936 0.00738875 0.619441 0.5 -0.0122318 0.130219 0.0070475 0.874658 0.5 -0.0112608 0.130411 0.00668952 0.882705 0.5 -0.0103285 0.130654 0.00635323 0.879889 0.5 -0.00935197 0.130836 0.00599246 0.860761 0.5 -0.00832653 0.130915 0.00561741 0.858173 0.5 -0.00730102 0.131 0.00524198 0.853447 0.5 -0.00626682 0.131047 0.00486423 0.836059 0.5 -0.00517866 0.131021 0.00445011 0.831493 0.5 -0.00414266 0.131018 0.00407154 0.838706 0.5 -0.0030519 0.130996 0.00365966 0.819804 0.5 -0.00190257 0.130874 0.00322319 0.801327 0.5 -0.000818555 0.130756 0.00282721 0.796689 0.5 --0.000384494 0.130522 0.00237337 0.778372 0.5 --0.00154364 0.130277 0.00186507 0.783743 0.5 --0.00272576 0.130091 0.00149765 0.787313 0.5 --0.00392373 0.129832 0.00104637 0.766903 0.5 --0.0935168 0.125484 0.0132627 0.682073 0.5 --0.0932985 0.125478 0.0122618 0.632058 0.5 --0.08839 0.0995952 0.00742201 0.499025 0.454314 -0.0224588 0.120521 -0.00588511 0.596436 0.5 --0.0936513 0.125496 0.0142597 0.721422 0.5 -0.022728 0.117081 -0.0101857 0.492045 0.466977 -0.0244317 0.116294 -0.00934411 0.481283 0.5 --0.0868829 0.105004 0.0193534 0.585765 0.471006 --0.0865558 0.105007 0.0203641 0.587519 0.5 --0.0861938 0.104994 0.0213645 0.601751 0.5 --0.0874631 0.104981 0.0103802 0.707129 0.5 --0.0872319 0.104968 0.0093836 0.691966 0.5 --0.0876178 0.105003 0.0113725 0.715276 0.5 --0.0338028 0.122413 -0.00742547 0.461272 0.479483 --0.0867708 0.110409 0.0193573 0.732353 0.5 --0.0749724 0.149924 -0.0268701 0.351899 0.5 --0.0931113 0.126933 0.0272608 0.659191 0.5 --0.0767885 0.154209 -0.0148974 0.559109 0.343551 --0.0710782 0.156778 -0.0439119 0.571316 0.5 --0.0920212 0.128183 0.00926455 0.418764 0.5 --0.0939221 0.128285 0.0202478 0.816755 0.5 --0.029229 0.179986 -0.0130226 0.396663 0.5 --0.0482262 0.166987 -0.00394405 0.440446 0.421916 --0.0780215 0.158305 -0.0199209 0.479838 0.5 --0.0275761 0.125766 0.0126577 0.611978 0.5 --0.0721725 0.156265 0.0135984 0.782577 0.5 --0.0138112 0.128252 0.0219818 0.406167 0.5 --0.0605798 0.155686 0.00466574 0.197955 0.5 -0.00533718 0.124533 0.0332195 0.504444 0.5 --0.00726729 0.129761 0.0228793 0.45405 0.433143 --0.0131083 0.128689 0.020774 0.717392 0.5 --0.0179056 0.127636 0.0191062 0.2921 0.378895 --0.0286491 0.125506 0.0152069 0.604751 0.5 -0.00041272 0.0994106 0.0497851 0.422373 0.41862 --0.0286647 0.125711 0.0122564 0.680491 0.5 --0.0866427 0.151554 0.0100877 0.218066 0.421976 --0.0881735 0.15196 0.0139234 0.233928 0.314184 --0.0522853 0.153955 0.0120432 0.535854 0.5 --0.029644 0.125848 0.0118936 0.72255 0.5 --0.0446029 0.130656 0.0108143 0.544263 0.5 --0.0633808 0.154539 0.0298218 0.90469 0.5 --0.0306217 0.126038 0.0115365 0.789002 0.5 --0.0282267 0.181005 -0.00798034 0.256092 0.149363 --0.0296632 0.180174 -0.00867233 0.301779 0.5 --0.0310875 0.179405 -0.00921261 0.215319 0.3343 --0.0328103 0.178226 -0.00982944 0.293554 0.5 --0.022273 0.0879769 0.0544159 0.532464 0.5 --0.0247884 0.0905387 0.0498003 0.637268 0.5 --0.0849422 0.153595 0.0209155 0.233913 0.372561 --0.0637251 0.155028 0.0282356 0.916745 0.5 --0.0314985 0.12639 0.0112101 0.849139 0.5 --0.0324286 0.126663 0.0108668 0.851051 0.5 --0.0629676 0.160574 -0.0208244 0.58473 0.5 --0.0635342 0.161573 -0.0210278 0.578888 0.5 --0.0641199 0.162494 -0.0212451 0.560674 0.5 --0.0647533 0.163375 -0.0214725 0.53187 0.5 --0.0654189 0.16417 -0.0217177 0.524831 0.5 --0.0661071 0.164936 -0.0219713 0.673257 0.5 --0.0668221 0.16563 -0.0222317 0.670388 0.5 --0.0675702 0.166262 -0.0225175 0.365463 0.401306 --0.0683511 0.16683 -0.0228013 0.372629 0.432074 --0.0691531 0.167331 -0.0231015 0.361529 0.473019 --0.0699656 0.167828 -0.0233999 0.405556 0.5 --0.0707971 0.168292 -0.02371 0.528049 0.443401 --0.0717205 0.168577 -0.0240459 0.863212 0.5 --0.0727774 0.16869 -0.0244081 0.278214 0.44599 --0.0740576 0.168348 -0.0248615 0.234625 0.5 --0.0752762 0.167899 -0.0253615 0.222046 0.5 --0.0333161 0.126997 0.0105451 0.842874 0.5 --0.0487319 0.132909 0.0254731 0.612919 0.5 --0.000953404 0.100702 0.0462281 0.376949 0.5 --0.0546261 0.151324 0.0271982 0.459363 0.5 --0.0450959 0.122461 0.0255697 0.550107 0.5 --0.044261 0.122001 0.0258917 0.457362 0.5 --0.0363751 0.12414 0.0242241 0.43021 0.420236 --0.0718597 0.148728 0.0404251 0.503157 0.405436 --0.0342458 0.127284 0.0102001 0.862469 0.5 --0.0351305 0.127632 0.00987733 0.85796 0.5 -0.0546169 0.0694261 0.0240301 0.422218 0.5 -0.053852 0.0700236 0.0237561 0.36288 0.474896 -0.053058 0.0705565 0.0234346 0.421699 0.5 -0.0521834 0.0709362 0.0231159 0.491839 0.5 -0.0511996 0.0711486 0.0227866 0.434206 0.5 -0.0502632 0.0713497 0.022405 0.348384 0.5 -0.0491174 0.0712134 0.0219878 0.455902 0.5 -0.047975 0.0710438 0.0215578 0.426555 0.5 -0.0468209 0.0708789 0.021127 0.524481 0.409915 -0.0460186 0.0714912 0.0208033 0.436717 0.5 -0.0456581 0.0729488 0.0206934 0.359503 0.5 --0.0361152 0.127822 0.0095198 0.847202 0.5 --0.0894746 0.139279 0.0281819 0.635227 0.5 --0.038992 0.126654 0.0188148 0.507038 0.5 --0.0451957 0.131364 0.0135329 0.437146 0.5 --0.0457684 0.132352 0.0133121 0.46011 0.5 --0.0526926 0.151783 0.016281 0.625664 0.5 --0.0192069 0.125855 0.0229991 0.333061 0.5 --0.0166197 0.126668 0.0238945 0.337287 0.5 --0.0154922 0.126886 0.0243264 0.321936 0.445083 --0.0142291 0.127243 0.024765 0.310917 0.5 --0.0130122 0.127478 0.0251829 0.311872 0.5 --0.011856 0.127622 0.0255897 0.335624 0.5 --0.0107155 0.127812 0.0260097 0.337365 0.411707 --0.0370524 0.128064 0.00917633 0.838385 0.5 --0.0771865 0.153815 0.000183792 0.248147 0.5 --0.037992 0.128312 0.00883318 0.840554 0.5 --0.032464 0.126152 0.0167563 0.4561 0.451771 --0.0221316 0.125526 0.0205056 0.301899 0.5 --0.0234471 0.125053 0.0200484 0.32886 0.439444 --0.00870995 0.128748 0.0252759 0.31935 0.5 --0.00985903 0.128582 0.0248602 0.320595 0.5 --0.0110072 0.128401 0.0244439 0.318306 0.427611 --0.0389761 0.128486 0.00847309 0.835825 0.5 -0.0383138 0.109087 0.0181423 0.723601 0.5 -0.0377405 0.110012 0.0179226 0.714867 0.5 -0.0371511 0.110987 0.0177157 0.709147 0.5 -0.0365396 0.111887 0.0174946 0.715418 0.5 -0.0359211 0.112779 0.0172688 0.702403 0.5 -0.035299 0.113666 0.0170439 0.686544 0.5 -0.034658 0.114539 0.0168181 0.701054 0.5 -0.0340242 0.115407 0.0165889 0.695729 0.5 -0.0333802 0.116202 0.0163348 0.692407 0.5 -0.032725 0.116988 0.0160848 0.684508 0.5 -0.0320676 0.117774 0.0158308 0.692731 0.5 -0.0313718 0.118521 0.0155758 0.679962 0.5 -0.0306614 0.119205 0.0153072 0.686295 0.5 -0.0299589 0.119939 0.0150519 0.680812 0.5 -0.0292359 0.120576 0.0147663 0.657381 0.5 -0.0285085 0.121244 0.0144975 0.627268 0.5 -0.0277802 0.121908 0.0142262 0.631757 0.5 -0.0270265 0.12251 0.0139387 0.625488 0.5 -0.0262802 0.123151 0.0136687 0.615674 0.5 -0.0255167 0.123738 0.0133816 0.59978 0.5 -0.0247433 0.124313 0.0130924 0.584885 0.5 -0.0239403 0.124821 0.0127882 0.579975 0.479483 -0.0231582 0.125381 0.0124998 0.570224 0.402907 -0.0223353 0.12586 0.0121947 0.566161 0.5 -0.021507 0.126326 0.01189 0.552958 0.477602 -0.0206753 0.126786 0.0115854 0.531694 0.428218 -0.0198178 0.127196 0.0112616 0.676894 0.5 -0.0189844 0.127654 0.0109555 0.671078 0.5 -0.0181043 0.128017 0.0106305 0.661261 0.447813 -0.0172673 0.128465 0.0103258 0.650636 0.5 -0.0163938 0.128844 0.0100049 0.636954 0.5 -0.0155185 0.129225 0.0096832 0.621581 0.470295 -0.0146407 0.129582 0.00935921 0.629656 0.464108 -0.0137231 0.129888 0.00901711 0.623956 0.5 -0.0127896 0.130142 0.00867876 0.881303 0.5 -0.0118641 0.130407 0.00833975 0.872395 0.5 -0.0108925 0.130607 0.00797847 0.873412 0.5 -0.00996165 0.130854 0.00764162 0.871525 0.5 -0.00898388 0.131012 0.0072855 0.859817 0.5 -0.00796203 0.131149 0.00690102 0.859673 0.5 -0.00697892 0.131225 0.0065571 0.846998 0.5 -0.00595359 0.131311 0.0061803 0.834341 0.5 -0.00486454 0.131282 0.0057704 0.809633 0.5 -0.00377395 0.13125 0.00536065 0.818495 0.5 -0.00267954 0.131212 0.00494959 0.808315 0.5 -0.00159304 0.131118 0.00454966 0.792894 0.5 -0.000449556 0.130948 0.00412356 0.781178 0.5 --0.000755212 0.130746 0.00366553 0.771655 0.5 --0.00189958 0.130575 0.00323807 0.769978 0.5 --0.00310182 0.130332 0.00278812 0.76568 0.5 --0.00430156 0.130062 0.00233767 0.755983 0.5 --0.00549778 0.129792 0.00189197 0.762518 0.5 --0.00669164 0.129496 0.00145082 0.756788 0.5 --0.0897559 0.114544 0.00631807 0.339614 0.5 --0.0899879 0.140645 0.0281829 0.69371 0.5 --0.0903203 0.146073 0.0131505 0.394146 0.454632 --0.0877279 0.139146 0.00920485 0.378698 0.453897 -0.0147936 0.104084 -0.0202238 0.842015 0.5 --0.0907516 0.137857 0.0201957 0.687669 0.5 --0.0876027 0.103683 0.0193632 0.576993 0.475483 --0.0879266 0.10368 0.0183585 0.557788 0.5 --0.0873262 0.103661 0.0203534 0.590378 0.5 --0.0842046 0.10344 -0.000635192 0.422447 0.35349 --0.0838507 0.103422 -0.00164978 0.336592 0.467372 --0.0878144 0.105004 0.012374 0.743067 0.5 --0.087069 0.100891 0.00537711 0.604985 0.5 --0.084606 0.0993653 -0.00159598 0.4781 0.322508 --0.0840147 0.0993167 -0.00358504 0.445689 0.448217 --0.036915 0.175546 -0.00898243 0.287486 0.5 --0.0734873 0.156859 -0.0289164 0.603938 0.5 --0.0920442 0.126938 0.0322524 0.60412 0.5 --0.0800951 0.15261 0.00324045 0.247792 0.439305 --0.0925962 0.126825 0.0102659 0.451022 0.456851 --0.0706828 0.180611 -0.0569213 0.219456 0.5 --0.067142 0.163768 -0.057034 0.339173 0.457326 --0.0812769 0.136213 -0.00276757 0.660724 0.5 --0.076979 0.148604 -0.00699397 0.578296 0.407984 --0.0867924 0.139107 0.00519652 0.565791 0.5 --0.0367472 0.127095 0.0166739 0.618441 0.5 --0.0448982 0.123992 0.0241166 0.506889 0.5 --0.0399647 0.128635 0.00811119 0.836354 0.5 -0.000402662 0.121936 0.0359399 0.606013 0.5 --0.0678831 0.155252 0.000581516 0.781344 0.5 --0.0670639 0.154762 0.000889218 0.878305 0.5 --0.0205009 0.126788 0.0181341 0.398549 0.5 --0.0191826 0.127252 0.0185952 0.654448 0.5 --0.0216926 0.126501 0.0176944 0.403931 0.413622 --0.0253679 0.125634 0.0163937 0.44632 0.423225 --0.0471724 0.133935 0.00981498 0.500567 0.5 --0.0699384 0.150598 0.0380766 0.42132 0.5 --0.0694599 0.155751 0.00874428 0.793713 0.5 --4.09913e-05 0.10064 0.0465907 0.378211 0.354166 --0.0793777 0.154922 0.0242883 0.312003 0.440151 -0.0011864 0.12951 0.0259323 0.34647 0.5 --0.0351879 0.125718 0.0201989 0.395662 0.445464 --0.0409513 0.128783 0.00774742 0.850236 0.5 --0.0418918 0.129001 0.00740866 0.848382 0.5 --0.0305611 0.179398 -0.00755573 0.263572 0.204025 --0.0319282 0.178722 -0.00808101 0.256716 0.5 --0.0335046 0.177862 -0.00863199 0.225945 0.251435 --0.0349807 0.177 -0.00919022 0.267137 0.5 --0.0745642 0.0928269 0.03994 0.534865 0.401527 --0.083524 0.154076 0.0213615 0.383917 0.423743 --0.0647128 0.155185 0.0278857 0.914738 0.5 --0.0736292 0.156748 -0.0014693 0.250403 0.5 --0.0429251 0.129071 0.00699388 0.867727 0.5 --0.0634399 0.160562 -0.0195565 0.547678 0.5 --0.0640006 0.161566 -0.01976 0.527503 0.5 --0.0645991 0.162478 -0.0199783 0.508595 0.5 --0.0652487 0.163342 -0.0202167 0.643327 0.5 --0.0658838 0.16421 -0.0204509 0.454648 0.5 --0.0666041 0.164889 -0.0207192 0.46488 0.5 --0.0673665 0.165482 -0.0209987 0.372995 0.429824 --0.0681352 0.166058 -0.0212868 0.470021 0.5 --0.0689565 0.166538 -0.0215879 0.440223 0.5 --0.0697357 0.167099 -0.0218834 0.340212 0.399236 --0.0705485 0.167591 -0.022181 0.401866 0.443959 --0.0714792 0.167875 -0.0225174 0.475541 0.5 --0.0724891 0.168081 -0.0228518 0.299419 0.39043 --0.0736982 0.167846 -0.0232955 0.209005 0.5 --0.0749362 0.167415 -0.0237916 0.212264 0.342499 --0.0437757 0.12944 0.0066621 0.899223 0.5 --0.0401622 0.123949 0.0243503 0.485013 0.361674 --0.0753414 0.15612 0.015399 0.662142 0.5 --0.0556539 0.153362 0.0267778 0.373798 0.469362 --0.0432186 0.121963 0.0262727 0.406919 0.5 --0.0681261 0.15638 0.0193912 0.719766 0.5 --0.0475933 0.134581 0.0184866 0.740963 0.5 --0.0447211 0.129823 0.00637961 0.514964 0.453003 -0.0544559 0.0679536 0.0254119 0.507473 0.5 -0.0537553 0.0686728 0.0251859 0.457314 0.5 -0.0529842 0.0692584 0.0249064 0.432472 0.478491 -0.0521945 0.0697716 0.0245573 0.490097 0.5 -0.0512708 0.0700979 0.0242688 0.494258 0.5 -0.0503362 0.0703636 0.0239238 0.415357 0.5 -0.0492902 0.0704301 0.0235452 0.368911 0.5 -0.0482025 0.0703533 0.0231278 0.460111 0.5 -0.0470668 0.0701831 0.0226957 0.482326 0.5 -0.0461205 0.0704224 0.0223322 0.446943 0.5 -0.0453449 0.0710055 0.0220458 0.496262 0.5 -0.0451266 0.0727442 0.0219703 0.343144 0.5 --0.0454304 0.130382 0.00608349 0.428804 0.5 --0.075849 0.149415 0.0390624 0.443111 0.389081 --0.0102534 0.128943 0.0232512 0.731762 0.5 --0.0463734 0.133247 0.0130756 0.500268 0.5 --0.0294956 0.124519 0.0193203 0.558096 0.414791 --0.0205283 0.125395 0.0225414 0.323606 0.439413 --0.0179487 0.126229 0.0234428 0.331259 0.5 --0.0833215 0.153324 0.00972396 0.299029 0.45534 --0.0747094 0.155646 0.00979649 0.750044 0.5 --0.0637348 0.156074 0.0136991 0.806436 0.5 -0.00170794 0.1258 0.0319097 0.438365 0.5 -0.00714931 0.123902 0.0338795 0.536818 0.5 --0.0040053 0.127195 0.0298616 0.321591 0.403383 --0.0737971 0.148055 0.0412991 0.519438 0.5 --0.0473115 0.134637 0.0112388 0.521373 0.5 --0.0306537 0.125522 0.0174226 0.350674 0.5 --0.0122087 0.128137 0.0240139 0.414362 0.5 --0.000418527 0.128183 0.0282442 0.323033 0.5 -0.00238035 0.127411 0.0292755 0.46676 0.5 --0.00140945 0.12836 0.0278943 0.30337 0.5 -0.00326552 0.127077 0.029619 0.38168 0.388524 --0.00761606 0.128811 0.0256727 0.43234 0.5 --0.0460575 0.131197 0.00582383 0.539504 0.483596 -0.037993 0.109314 0.0194453 0.706593 0.5 -0.0374138 0.110303 0.0192381 0.687523 0.5 -0.0368248 0.11128 0.0190303 0.687648 0.5 -0.0362122 0.112176 0.0188059 0.696179 0.5 -0.0355908 0.113068 0.0185826 0.677286 0.5 -0.0349766 0.11396 0.0183585 0.663445 0.5 -0.0343502 0.114842 0.0181324 0.676369 0.5 -0.0337096 0.115696 0.0178949 0.674011 0.5 -0.0330592 0.116487 0.0176444 0.663886 0.5 -0.0323926 0.117262 0.0173907 0.659549 0.5 -0.0317192 0.118031 0.0171382 0.66476 0.5 -0.0310327 0.118783 0.0168832 0.660188 0.5 -0.0303225 0.119467 0.0166127 0.676884 0.5 -0.0296088 0.12015 0.0163431 0.647759 0.5 -0.0288986 0.120838 0.016073 0.6231 0.5 -0.0281659 0.121502 0.0158045 0.60512 0.365182 -0.0274179 0.122108 0.0155174 0.610373 0.5 -0.0266795 0.122765 0.0152477 0.61947 0.373034 -0.0259255 0.123359 0.0149571 0.61127 0.5 -0.0251524 0.123931 0.0146708 0.580911 0.5 -0.0243777 0.124503 0.0143821 0.585236 0.5 -0.0235925 0.125057 0.0140956 0.567914 0.470173 -0.022807 0.125614 0.0138049 0.566529 0.412973 -0.0219644 0.126042 0.013483 0.540739 0.5 -0.0211328 0.126504 0.0131782 0.533206 0.477822 -0.0203015 0.126964 0.0128708 0.677135 0.430852 -0.0194715 0.127423 0.0125674 0.668135 0.5 -0.0186124 0.127837 0.0122439 0.652076 0.5 -0.0177398 0.128218 0.01192 0.648849 0.451512 -0.0168951 0.128644 0.0116162 0.650329 0.5 -0.0159855 0.12897 0.0112743 0.631919 0.5 -0.0151527 0.129419 0.0109697 0.626944 0.46242 -0.0142349 0.129723 0.0106274 0.618344 0.5 -0.0133552 0.13008 0.0103074 0.869352 0.5 -0.0124259 0.130345 0.00996559 0.875837 0.5 -0.0114915 0.130592 0.00962923 0.870875 0.5 -0.0105198 0.130786 0.00926843 0.869083 0.5 -0.00959045 0.131031 0.00893055 0.875575 0.5 -0.00861625 0.13122 0.00857267 0.853649 0.5 -0.00759173 0.131318 0.00819364 0.846617 0.5 -0.00661243 0.131425 0.00784474 0.839499 0.5 -0.00553205 0.131427 0.00744951 0.819447 0.5 -0.00449684 0.131467 0.00706378 0.802623 0.5 -0.00335212 0.131364 0.00663122 0.790787 0.5 -0.00226062 0.131309 0.0062251 0.788595 0.5 -0.00116916 0.131228 0.00582139 0.789725 0.5 -7.90085e-05 0.131159 0.00541676 0.782615 0.5 --0.00106292 0.130975 0.00499363 0.750873 0.5 --0.00226925 0.130756 0.00454173 0.751281 0.5 --0.0034723 0.130516 0.00409153 0.750168 0.5 --0.00460956 0.130321 0.00366937 0.749305 0.5 --0.00587295 0.130011 0.00319127 0.750524 0.5 --0.00707285 0.12974 0.0027455 0.737319 0.5 --0.00832405 0.129364 0.00227931 0.72795 0.5 --0.00957697 0.128995 0.00181181 0.727006 0.5 --0.0727498 0.180616 -0.0549771 0.195417 0.5 --0.088744 0.0996845 0.0203875 0.649474 0.5 --0.0188763 0.105884 -0.0226282 0.716765 0.5 --0.0679091 0.108046 -0.0128123 0.633802 0.5 --0.0809703 0.132422 -0.00393108 0.376869 0.402152 --0.0679169 0.115123 -0.00939662 0.561677 0.5 --0.0208752 0.105853 -0.0224653 0.697848 0.5 --0.0640364 0.138454 -0.00746704 0.516965 0.5 --0.0468796 0.105628 -0.0200508 0.708993 0.5 --0.0649244 0.113824 -0.0119395 0.600442 0.407502 --0.0797391 0.110092 0.0425713 0.952857 0.5 --0.0698832 0.115052 -0.00855978 0.441978 0.5 --0.0759472 0.132533 -0.00707033 0.442089 0.5 --0.0488748 0.105594 -0.0196597 0.727952 0.5 --0.042206 0.166657 -0.0103803 0.466491 0.5 --0.0251326 0.166747 -0.01768 0.818172 0.5 -0.0201875 0.0974057 -0.022456 0.626265 0.5 --0.0178752 0.105871 -0.0225888 0.741162 0.5 --0.0520867 0.151648 -0.00355308 0.494225 0.5 --0.0142717 0.17714 -0.027303 0.44038 0.419516 --0.0191507 0.168261 -0.0198644 0.775632 0.5 --0.0271419 0.168228 -0.0179326 0.543807 0.5 --0.0548013 0.086928 -0.0216118 0.645141 0.5 --0.0636783 0.0344406 0.016873 0.352362 0.5 --0.0630458 0.0345815 0.0177326 0.616295 0.5 --0.0647368 0.0350417 0.0261211 0.161121 0.384305 --0.0661617 0.0353568 0.0288449 0.206373 0.5 --0.0669938 0.0358141 0.0313063 0.167045 0.5 --0.0669849 0.0359436 0.0326963 0.220087 0.5 --0.0668209 0.036036 0.0339126 0.320001 0.5 --0.066685 0.0361231 0.0351414 0.29157 0.5 --0.0665769 0.0362823 0.0365183 0.349097 0.5 --0.0662971 0.0363734 0.0376513 0.406085 0.5 --0.0659364 0.0364202 0.0386491 0.470263 0.5 --0.0597919 0.0868174 -0.0202685 0.444705 0.432797 --0.064973 0.0365283 0.0405192 0.448914 0.5 --0.0643928 0.0366139 0.0414145 0.346561 0.5 --0.0820284 0.13533 -0.00235647 0.624769 0.5 --0.063129 0.0366622 0.0429743 0.463049 0.5 --0.0623699 0.0366895 0.0436353 0.442362 0.5 --0.0615835 0.0366556 0.0444374 0.421251 0.5 --0.0608837 0.0367165 0.0449842 0.401579 0.5 --0.0600876 0.0367271 0.0456071 0.292276 0.5 --0.059243 0.0367531 0.0461369 0.323396 0.5 --0.0580048 0.0366442 0.0464062 0.376938 0.5 --0.0569251 0.0366412 0.0466659 0.383117 0.5 --0.0556277 0.0365615 0.0468082 0.347422 0.5 --0.0120884 0.101067 0.0439606 0.288573 0.450353 --0.078421 0.120421 0.0514142 0.57489 0.5 --0.0866419 0.0923952 0.0266005 0.722262 0.5 --0.0348191 0.0886631 -0.024431 0.633869 0.5 --0.0470363 0.0359078 0.0451061 0.199777 0.5 --0.0447375 0.0357143 0.0441717 0.187242 0.5 --0.0779478 0.107702 0.034147 0.424699 0.5 --0.0789759 0.136856 -0.00458832 0.519184 0.5 -0.0211784 0.0973838 -0.0221644 0.619848 0.477595 --0.0182946 0.181579 -0.0243778 0.353261 0.479937 --0.0391315 0.160685 -0.012118 0.49081 0.5 -0.0191832 0.0974256 -0.0227258 0.799435 0.5 --0.0258638 0.0987461 -0.0241399 0.527518 0.47737 --0.00788756 0.107371 -0.0226705 0.706546 0.5 --0.0769711 0.133968 -0.00621304 0.404853 0.338754 --0.074953 0.131092 -0.00759533 0.421642 0.5 --0.0498819 0.105595 -0.0195612 0.756457 0.5 -0.0181761 0.0974249 -0.0228373 0.776479 0.5 --0.064968 0.128232 -0.00872903 0.833856 0.5 --0.0478723 0.105599 -0.0198923 0.727015 0.395194 -0.0221884 0.0973608 -0.0216774 0.60132 0.5 --0.0570131 0.128126 -0.00643112 0.621521 0.470086 --0.037115 0.160706 -0.0129903 0.562979 0.5 --0.0241861 0.0351713 0.0521271 0.911567 0.5 --0.085893 0.115781 0.0473131 0.519131 0.5 --0.0679519 0.129695 -0.00900682 0.746874 0.5 --0.0128757 0.105895 -0.0226089 0.608317 0.5 --0.0723733 0.0352474 0.00704331 0.228898 0.5 --0.072066 0.0353469 0.00817017 0.30841 0.5 --0.0715958 0.035386 0.00909438 0.351949 0.5 --0.0709835 0.0353942 0.00988845 0.300195 0.5 --0.0703389 0.0353326 0.0107638 0.361748 0.5 --0.0696814 0.0354769 0.0114289 0.282163 0.5 --0.069135 0.0354547 0.0122501 0.509091 0.5 --0.0684642 0.035536 0.0130279 0.347733 0.5 --0.0677955 0.0355805 0.0137906 0.354017 0.5 --0.0671319 0.0355924 0.0145398 0.382111 0.5 --0.0663805 0.0356243 0.0152158 0.448 0.5 --0.0656741 0.0356447 0.0159226 0.384729 0.5 --0.0650165 0.0356472 0.0166692 0.374966 0.5 --0.0642775 0.0356785 0.0173446 0.335714 0.5 --0.0637593 0.0357681 0.0182478 0.341494 0.5 --0.0631194 0.0357147 0.0189543 0.239572 0.5 --0.0624231 0.0357528 0.0196573 0.197795 0.5 --0.0588165 0.0667309 0.0351477 0.533718 0.408357 --0.0649174 0.0364897 0.025021 0.0866334 0.5 --0.0658345 0.0367656 0.0273328 0.166425 0.5 --0.0664962 0.0370022 0.0293944 0.198632 0.5 --0.0668989 0.0372019 0.0312012 0.262241 0.5 --0.0670049 0.0372923 0.032499 0.210758 0.5 --0.0667337 0.0374088 0.0337222 0.204609 0.5 --0.066706 0.0375681 0.0351923 0.296219 0.385864 --0.0664522 0.0376478 0.0363332 0.242042 0.5 --0.066213 0.0377522 0.0375383 0.285379 0.450236 --0.0657729 0.0378142 0.038507 0.299273 0.5 --0.0652746 0.0378654 0.0394026 0.33058 0.5 --0.0647467 0.0379255 0.0402853 0.341158 0.351811 --0.0642758 0.0379734 0.0412454 0.337304 0.5 --0.0637308 0.0380192 0.0421186 0.376721 0.5 --0.0631004 0.038056 0.0429096 0.391154 0.5 --0.0623246 0.0380624 0.0435494 0.316639 0.5 --0.0615813 0.0380878 0.0442214 0.312318 0.463918 --0.0608849 0.0381036 0.0449409 0.291602 0.5 --0.0601123 0.0381131 0.0455939 0.282562 0.5 --0.0592916 0.0381211 0.04617 0.320519 0.445662 --0.0582688 0.0380855 0.0465946 0.351019 0.5 --0.0572001 0.0380562 0.0469117 0.38523 0.5 --0.0559057 0.0379831 0.047068 0.368461 0.5 --0.0816795 0.117485 0.0486704 0.632498 0.5 --0.0781026 0.0818813 0.0353359 0.774608 0.5 --0.080536 0.135397 0.0502642 0.50798 0.5 --0.0761145 0.157637 -0.00836344 0.620293 0.5 --0.0769362 0.0914256 0.0381174 0.718276 0.5 --0.0649024 0.119454 -0.00881631 0.696983 0.5 --0.0428468 0.0368545 0.044028 0.21174 0.5 --0.0401934 0.0365351 0.0429119 0.226568 0.5 --0.0388776 0.0364147 0.043017 0.456713 0.5 --0.0382309 0.0365042 0.0436563 0.470218 0.5 --0.0376065 0.0365426 0.0444186 0.521209 0.5 --0.0369296 0.036554 0.0451414 0.556962 0.5 --0.0362701 0.0365605 0.0458807 0.5834 0.5 --0.0719356 0.110274 0.042413 0.789414 0.5 -0.000164408 0.0895345 -0.0346177 0.634897 0.5 -0.00318323 0.0894801 -0.0335291 0.779295 0.5 --0.0338206 0.0367327 0.0490996 0.426721 0.5 --0.0332147 0.036763 0.0499127 0.444736 0.5 -0.00112807 0.104475 -0.0219821 0.734361 0.5 --0.0316383 0.0367739 0.0511824 0.356504 0.5 --0.0308026 0.0367564 0.0517774 0.48657 0.5 --0.0300389 0.036799 0.0524219 0.496512 0.5 --0.0292503 0.036802 0.0530596 0.493379 0.5 --0.0283411 0.0368095 0.0535577 0.513563 0.5 --0.0272685 0.0368017 0.0538626 0.38623 0.5 --0.026052 0.036748 0.0540507 0.39199 0.5 --0.0913706 0.116528 0.0258009 0.768159 0.5 --0.0761803 0.0914451 0.0387697 0.708748 0.5 --0.0805022 0.0831735 0.0334637 0.767831 0.5 --0.0770317 0.088754 0.0382806 0.634886 0.485977 --0.0780422 0.0846436 0.0366002 0.649328 0.483234 --0.0760841 0.164579 -0.0198769 0.261378 0.5 --0.0749519 0.164602 -0.018207 0.26703 0.295324 --0.0725589 0.0360747 0.00146649 0.155719 0.237906 --0.0724467 0.0361675 0.00255211 0.170034 0.5 --0.0723608 0.0363259 0.00395733 0.130514 0.5 --0.0726014 0.0365856 0.00586956 0.140048 0.5 --0.0725775 0.0367142 0.00725292 0.348123 0.5 --0.0722633 0.0367738 0.0082856 0.293836 0.5 --0.0716377 0.0368114 0.00909586 0.306413 0.5 --0.0708619 0.0368523 0.00979504 0.27057 0.362419 --0.0701989 0.0368637 0.0105096 0.264704 0.5 --0.0694879 0.0368888 0.0112092 0.246828 0.5 --0.0688721 0.0369953 0.0119906 0.225485 0.27892 --0.0684496 0.0369814 0.0129839 0.241306 0.5 --0.0677747 0.0370061 0.0137537 0.229496 0.368048 --0.0671438 0.037039 0.0145094 0.316784 0.5 --0.0663574 0.0370366 0.0151548 0.307478 0.5 --0.0655788 0.037063 0.0157921 0.380165 0.5 --0.0648003 0.0370671 0.0164284 0.387743 0.5 --0.0639993 0.0370815 0.0170442 0.336647 0.5 --0.0633486 0.0371336 0.0178291 0.231831 0.39732 --0.0626129 0.0371673 0.0184653 0.275116 0.331206 --0.0619624 0.0371632 0.0192279 0.222761 0.5 --0.0614566 0.0372076 0.0201515 0 0 --0.0646788 0.0378404 0.0247428 0 0 --0.0652548 0.0380623 0.0267185 0.159873 0.5 --0.0661715 0.0383371 0.0290301 0.296614 0.5 --0.0664042 0.0385079 0.0306689 0.379158 0.5 --0.0662143 0.0386042 0.0318887 0.408667 0.5 --0.0661919 0.0387353 0.0332699 0.374854 0.5 --0.0663865 0.0388997 0.0348294 0.256055 0.409732 --0.0662201 0.0390045 0.0360529 0.28012 0.5 --0.0659208 0.0390922 0.037189 0.315582 0.437945 --0.0654261 0.0391693 0.0381077 0.313307 0.422383 --0.0649149 0.0392337 0.0390271 0.337365 0.420111 --0.0643722 0.0392301 0.0399397 0.343541 0.5 --0.0638844 0.0392942 0.0408356 0.347423 0.407669 --0.0634342 0.039353 0.0417984 0.370104 0.5 --0.0628785 0.0393963 0.0426563 0.401705 0.5 --0.0622047 0.0394245 0.0433885 0.355375 0.5 --0.0613646 0.0394268 0.0439671 0.388361 0.5 --0.0606247 0.0394421 0.0446315 0.376858 0.450337 --0.0599208 0.0394628 0.0453423 0.378939 0.5 --0.0591403 0.039472 0.0459797 0.454627 0.5 --0.0582195 0.03947 0.0465299 0.33904 0.5 --0.0571511 0.0394305 0.0468685 0.408396 0.5 --0.0827169 0.105982 0.0279083 0.547617 0.5 --0.0753098 0.0805155 0.0368289 0.772848 0.5 --0.0679826 0.0819454 0.0421862 0.644896 0.5 --0.03681 0.0886191 -0.0239226 0.394541 0.441531 --0.0889045 0.133745 0.0416542 0.527185 0.462191 --0.0835459 0.133987 0.0490485 0.546232 0.467433 --0.0832136 0.0770175 0.0194025 0.761598 0.339118 --0.0168713 0.104463 -0.0227606 0.675705 0.5 --0.0401042 0.037954 0.0427598 0.265641 0.444323 --0.038893 0.0378836 0.042947 0.334698 0.5 --0.0383306 0.0379343 0.0437226 0.463205 0.5 --0.0376745 0.0379475 0.0444361 0.526299 0.5 --0.0370447 0.0379826 0.045213 0.436753 0.5 --0.0363535 0.0380033 0.0459253 0.430088 0.5 --0.0357437 0.0380351 0.0467216 0.509002 0.5 --0.035201 0.0380831 0.0475916 0.519297 0.5 --0.0346044 0.0381371 0.0484275 0.448158 0.5 --0.0340062 0.0381682 0.049242 0.468142 0.5 --0.0334338 0.0382234 0.0500909 0.448197 0.5 --0.0326689 0.0382268 0.0507498 0.365247 0.5 --0.0317095 0.0382098 0.0512104 0.310492 0.42719 --0.0308589 0.0382072 0.0517831 0.336011 0.448112 --0.0301563 0.0382285 0.0524978 0.357801 0.442391 --0.0294534 0.0382504 0.0532249 0.330262 0.5 --0.0285615 0.0382432 0.0537594 0.342307 0.5 --0.0274456 0.0382197 0.0539829 0.306101 0.463744 --0.0261619 0.0381432 0.054147 0.30929 0.5 --0.0249438 0.0380891 0.0543244 0.414537 0.5 --0.0702982 0.0846763 0.0415948 0.651161 0.5 --0.0849325 0.0938555 0.0290926 0.754258 0.5 --0.0388049 0.0885478 -0.0231132 0.537568 0.5 --0.0210747 0.0753924 0.0536136 0.606505 0.5 --0.0794364 0.144805 0.0432098 0.382972 0.420138 --0.0834291 0.14469 0.0401339 0.407126 0.5 --0.0756035 0.0846721 0.0383975 0.657094 0.471099 --0.0558611 0.0955845 -0.021564 0.642481 0.5 -0.00713327 0.105885 -0.0207766 0.806203 0.5 --0.0588398 0.0954803 -0.0203334 0.427407 0.3124 --0.0597928 0.095429 -0.0195264 0.397976 0.283111 --0.0797918 0.11331 -0.00252121 0.498571 0.5 --0.0849635 0.115612 0.0476218 0.520199 0.477517 --0.0633961 0.0610267 0.0215327 0.971521 0.5 --0.0566835 0.124286 -0.00724626 0.675089 0.5 --0.0271239 0.117991 -0.0128729 0.755106 0.5 --0.0720001 0.0374977 0.00101403 0.14125 0.5 --0.0718937 0.0376106 0.00231258 0.277457 0.5 --0.0719585 0.0377493 0.00378419 0.253532 0.5 --0.0725333 0.0379686 0.00575754 0.223137 0.5 --0.0723402 0.0380689 0.00697334 0.333222 0.5 --0.0719602 0.0381531 0.00797803 0.342317 0.5 --0.0712669 0.0381904 0.00872646 0.309614 0.413905 --0.0705682 0.0382102 0.00943236 0.298064 0.5 --0.0697739 0.0382195 0.0100596 0.382127 0.5 --0.0690425 0.0382325 0.0107396 0.372033 0.5 --0.0683549 0.0382578 0.0114352 0.281862 0.446169 --0.0679678 0.0383221 0.0123903 0.271535 0.306541 --0.0674828 0.0383816 0.0133921 0.258252 0.450399 --0.06674 0.0383979 0.0141071 0.336355 0.419994 --0.0660641 0.0384249 0.0148213 0.356533 0.5 --0.0652396 0.0384193 0.0154218 0.422523 0.5 --0.0644302 0.0384213 0.0160253 0.398842 0.5 --0.0635208 0.0384034 0.0165311 0.720972 0.5 --0.0629014 0.0384346 0.017326 0.536987 0.5 --0.0621446 0.0384632 0.0179813 0.315168 0.5 --0.0614924 0.0384787 0.0187446 0.51937 0.5 --0.0608714 0.0385134 0.0195368 0.335726 0.5 --0.0598385 0.0385019 0.0199857 0.183096 0 --0.0641545 0.0391804 0.0263583 0.13774 0.5 --0.0652279 0.0397522 0.0288372 0.243318 0.188568 --0.0655356 0.0398001 0.0300899 0.349456 0.277594 --0.0654856 0.0398574 0.0313799 0.430195 0.5 --0.065424 0.0399796 0.0326661 0.36522 0.5 --0.0658806 0.040185 0.0344505 0.3012 0.5 --0.0657805 0.04031 0.0356744 0.294414 0.458677 --0.0654577 0.0403952 0.0367257 0.352543 0.469359 --0.0650934 0.040468 0.0377689 0.376968 0.5 --0.0646669 0.0405364 0.0387423 0.41109 0.5 --0.0641268 0.0405801 0.0396199 0.433764 0.453044 --0.063603 0.0406323 0.0405017 0.416322 0.5 --0.0631801 0.0406886 0.0415101 0.436805 0.5 --0.0626778 0.0407451 0.0424121 0.487384 0.5 --0.0620034 0.040777 0.0431481 0.508205 0.5 --0.0612252 0.0407891 0.0437895 0.429002 0.5 --0.0603522 0.0407823 0.0443369 0.400779 0.477435 --0.0595653 0.0407951 0.0449735 0.46708 0.478015 --0.0588282 0.0408079 0.0456406 0.575523 0.5 --0.0579692 0.0408152 0.0462221 0.378637 0.5 --0.073142 0.0762988 0.0362199 0.769623 0.5 --0.0810472 0.147398 0.0390836 0.459468 0.5 --0.0876158 0.137864 0.0416648 0.520567 0.5 --0.0699648 0.0791315 0.0398469 0.60765 0.5 --0.0862734 0.13657 0.044609 0.699332 0.5 --0.0826044 0.1367 0.0480323 0.493713 0.47195 --0.0283222 0.0749245 0.042497 0.858231 0.5 --0.0801569 0.0817921 0.0331577 0.742194 0.5 --0.0738585 0.0762694 0.0355202 0.775194 0.5 --0.0393467 0.0392853 0.042122 0.570175 0.5 --0.0387789 0.0392857 0.0427431 0.41919 0.436719 --0.0382613 0.0393263 0.043596 0.417969 0.5 --0.0376144 0.0393494 0.044329 0.431971 0.5 --0.0370734 0.0393951 0.0451959 0.47062 0.5 --0.0364055 0.0394201 0.0459276 0.512957 0.5 --0.0356589 0.0394362 0.046602 0.435966 0.5 --0.0351956 0.0394954 0.0475468 0.412935 0.421919 --0.0346615 0.0395406 0.0484261 0.384759 0.448627 --0.0341216 0.0395911 0.0493113 0.407886 0.5 --0.0334658 0.0396217 0.0500837 0.415051 0.5 --0.032718 0.0396362 0.0507617 0.435104 0.5 --0.0317919 0.0396266 0.0512352 0.396878 0.409459 --0.0308456 0.0396262 0.0517145 0.359709 0.455008 --0.0301161 0.0396403 0.0523893 0.340844 0.449843 --0.0293764 0.039648 0.0531021 0.315097 0.5 --0.0284888 0.0396421 0.053637 0.321311 0.5 --0.027407 0.0396009 0.0539527 0.459292 0.5 --0.0261771 0.0395393 0.0541115 0.460725 0.5 -0.0252205 0.0888413 -0.0232794 0.685017 0.5 --0.0885651 0.0963045 0.0227197 0.562267 0.5 --0.0275932 0.0779206 0.0459339 0.612483 0.5 --0.0543463 0.160987 0.00512087 0.357069 0.5 --0.0732341 0.100848 0.0383652 0.542883 0.452711 --0.0159859 0.0984773 0.0464357 0.298408 0.39808 --0.0929393 0.122846 0.0403052 0.498277 0.44986 --0.0842229 0.144678 0.0395137 0.404845 0.5 --0.088166 0.0963498 0.023753 0.588239 0.472253 --0.0877012 0.0963902 0.0247068 0.604852 0.5 --0.087169 0.0964235 0.0255876 0.608941 0.451893 --0.0866623 0.0964635 0.0264805 0.63542 0.5 --0.0262134 0.0765572 0.0473962 0.646885 0.5 --0.053794 0.086942 -0.0216962 0.70419 0.5 --0.0788399 0.114858 -0.00418456 0.502686 0.351065 --0.0288441 0.0958675 -0.0242091 0.817537 0.5 --0.0498332 0.0956322 -0.0221283 0.788869 0.5 --0.056635 0.0350546 0.0452244 0.92946 0.5 --0.0642706 0.166732 -0.060237 0.327536 0.418281 --0.0669165 0.12238 -0.00897156 0.800164 0.5 --0.0658939 0.119442 -0.00885604 0.690679 0.5 -0.0107652 0.110575 -0.0191667 0.821439 0.5 -0.048512 0.0692789 0.0025489 0.572719 0.5 --0.0714148 0.0386609 0.00057855 0.128336 0.5 --0.0711225 0.0388168 0.00193457 0.23142 0.5 --0.0714603 0.0390724 0.00325296 0.462065 0.5 --0.0710154 0.0391332 0.00421404 0.334766 0.5 --0.0719291 0.0394019 0.00652921 0.403932 0.5 --0.0716229 0.0395313 0.00756641 0.363419 0.5 --0.070992 0.0395652 0.00837515 0.385667 0.5 --0.0701875 0.0395708 0.00901355 0.39155 0.5 --0.0694289 0.039567 0.00968578 0.323965 0.470356 --0.0686495 0.0395764 0.0103048 0.409112 0.5 --0.0679113 0.0395796 0.0109828 0.29852 0.5 --0.0673994 0.0396352 0.0118227 0.284869 0.377428 --0.0669027 0.0396709 0.012801 0.351734 0.5 --0.0662162 0.0396687 0.0135434 0.462903 0.5 --0.0655484 0.039711 0.0142785 0.453174 0.5 --0.0647638 0.0397203 0.0149016 0.517171 0.5 --0.06389 0.0397139 0.0154457 0.51407 0.5 --0.0631059 0.039729 0.0160762 0.440588 0.5 --0.0623108 0.039732 0.0166963 0.415119 0.5 --0.0616465 0.0397266 0.0174413 0.430255 0.5 --0.0607804 0.0397294 0.0180031 0.359841 0.5 --0.0601415 0.0397484 0.0187938 0.284283 0.5 --0.0594207 0.0398239 0.0196241 0.302006 0.5 --0.0743429 0.0955133 0.0396401 0.500123 0.5 --0.00386806 0.105937 -0.0224388 0.770401 0.5 --0.0651015 0.0410328 0.0295625 0.402713 0.5 --0.0650109 0.041163 0.0307556 0.462078 0.5 --0.0648164 0.0412793 0.0318749 0.46326 0.5 --0.0654475 0.0414866 0.0340095 0.481259 0.5 --0.0653369 0.0416124 0.0352199 0.553829 0.5 --0.0650871 0.0417056 0.03635 0.326881 0.5 --0.0647267 0.0417808 0.0373932 0.385219 0.478023 --0.0642565 0.0418897 0.0384072 0.41989 0.461076 --0.0637796 0.0419038 0.0392448 0.43927 0.5 --0.0632658 0.0419596 0.040132 0.445705 0.5 --0.0628106 0.0420167 0.0410925 0.444194 0.5 --0.0623617 0.0420762 0.0420515 0.455153 0.47063 --0.0617437 0.0421117 0.0428503 0.495908 0.5 --0.0609886 0.0421383 0.0435161 0.462796 0.5 --0.0600859 0.0421217 0.0440266 0.456526 0.5 --0.0592125 0.042121 0.0445708 0.520953 0.458593 --0.0584087 0.0421172 0.0451764 0.48997 0.5 --0.0575439 0.0421232 0.0457366 0.48653 0.5 --0.0860991 0.0964962 0.0273389 0.654036 0.5 --0.0854938 0.096523 0.0281673 0.692039 0.5 --0.088151 0.137836 0.0407884 0.524225 0.445655 --0.0279821 0.0821961 0.0475971 0.567888 0.410057 --0.0415254 0.172553 -0.00373349 0.249969 0.5 --0.0638039 0.0881523 -0.0190251 0.687011 0.5 --0.0807853 0.0817556 0.0323751 0.733631 0.5 --0.052342 0.035529 0.0457534 0.722945 0.5 --0.0848984 0.0965537 0.0289739 0.721607 0.5 --0.0391365 0.0406682 0.0418102 0.736576 0.5 --0.0386117 0.0406767 0.0425487 0.521086 0.5 --0.0380583 0.0406922 0.0433465 0.482729 0.434335 --0.0375091 0.0407357 0.0441865 0.490952 0.5 --0.0369077 0.0407733 0.0449918 0.51593 0.5 --0.0363013 0.0408102 0.0457892 0.559419 0.5 --0.0355385 0.040818 0.0464546 0.493471 0.5 --0.0350351 0.0408695 0.0473482 0.453194 0.395019 --0.0345546 0.0409268 0.0482929 0.428087 0.5 --0.0340021 0.0409714 0.0491624 0.469106 0.5 --0.0333397 0.0410057 0.0499212 0.485202 0.5 --0.0325696 0.0410226 0.0505793 0.485281 0.5 --0.0316389 0.0409999 0.051064 0.463245 0.468294 --0.0306755 0.0409906 0.0514223 0.449352 0.361985 --0.0297834 0.0409697 0.0520218 0.438983 0.5 --0.0290961 0.0410008 0.0527549 0.438745 0.430509 --0.0282466 0.0410133 0.0533665 0.361995 0.46776 --0.0272596 0.0409813 0.0537728 0.481818 0.5 --0.0261092 0.0409213 0.0540071 0.551758 0.5 --0.0842996 0.0965857 0.0297797 0.734284 0.5 --0.0836562 0.0966099 0.0305537 0.734043 0.5 --0.0268179 0.0735627 0.0438663 0.739817 0.5 --0.0789197 0.104773 0.0326412 0.596304 0.5 --0.0921408 0.125525 0.040859 0.489107 0.5 --0.0286126 0.0778208 0.0441079 0.709626 0.5 --0.0222639 0.0783263 0.0546841 0.567484 0.5 --0.0907738 0.125596 0.0437739 0.674925 0.5 --0.0891497 0.139122 0.0375101 0.501771 0.473123 --0.0290472 0.0777737 0.0431405 0.728643 0.388767 --0.0706849 0.0819434 0.0406373 0.655987 0.5 --0.0715523 0.0819441 0.0400873 0.661089 0.5 --0.0829912 0.0966357 0.0312921 0.735071 0.5 --0.0823518 0.0966615 0.0320686 0.728159 0.5 --0.081672 0.0966878 0.0327979 0.730555 0.5 --0.080968 0.0967089 0.0335048 0.726975 0.5 --0.0802571 0.096729 0.0342047 0.601604 0.5 --0.0795268 0.096746 0.0348816 0.606522 0.485461 --0.027122 0.166756 -0.0173778 0.831319 0.5 --0.0570614 0.151623 -0.00120922 0.550503 0.451945 --0.071965 0.136965 -0.0074383 0.525891 0.5 --0.0378406 0.0957387 -0.0228102 0.603364 0.5 -0.0171658 0.0974165 -0.0229214 0.749486 0.5 --0.0820934 0.0898659 0.0320222 0.750019 0.5 --0.0847663 0.132585 0.0488829 0.555689 0.5 --0.0706305 0.0401508 0.00122659 0.22204 0.425033 --0.0708913 0.0403263 0.00282802 0.355183 0.5 --0.0705376 0.04043 0.00377428 0.36996 0.5 --0.0710533 0.04057 0.0057746 0.339984 0.5 --0.071022 0.0408196 0.00705143 0.39463 0.406037 --0.0704746 0.040884 0.00781861 0.433074 0.5 --0.0697772 0.0409122 0.00855159 0.405807 0.5 --0.069028 0.0409064 0.00923732 0.416269 0.5 --0.0682663 0.0409329 0.00988698 0.424744 0.5 --0.0675171 0.0409229 0.0105489 0.516366 0.5 --0.0668634 0.040937 0.011312 0.466544 0.5 --0.0663455 0.040996 0.0121932 0.441809 0.449887 --0.0657759 0.0410192 0.0130518 0.572976 0.5 --0.064997 0.0410349 0.013689 0.538199 0.5 --0.0642011 0.0410429 0.0143098 0.520935 0.5 --0.0633398 0.0410523 0.0148679 0.530586 0.5 --0.0625417 0.0410514 0.0154849 0.518962 0.5 --0.0616719 0.0410515 0.0160296 0.505491 0.5 --0.06094 0.0410414 0.0167056 0.42813 0.5 --0.0601407 0.0410386 0.0173224 0.364938 0.5 --0.0593549 0.0410534 0.0179552 0.287974 0.5 --0.0767379 0.10491 0.0348158 0.55246 0.5 --0.0751139 0.0954949 0.0389973 0.515184 0.5 --0.0735502 0.095526 0.040254 0.500254 0.469612 --0.0861456 0.140625 0.0415389 0.50914 0.5 --0.0644352 0.0424097 0.0302481 0.437404 0.5 --0.0643033 0.0426016 0.0312522 0.510746 0.5 --0.0905601 0.144393 0.0275534 0.554096 0.5 --0.064813 0.0428917 0.034688 0.525699 0.5 --0.0645963 0.0430073 0.0358234 0.406746 0.5 --0.0642327 0.0431706 0.0367918 0.465186 0.5 --0.0638345 0.0431637 0.0378429 0.384998 0.428518 --0.0633722 0.04322 0.0387983 0.402888 0.5 --0.0628563 0.0432731 0.0396846 0.441866 0.480201 --0.0623716 0.0433162 0.04063 0.56451 0.5 --0.0618993 0.0433992 0.0415482 0.411204 0.5 --0.0613445 0.0434338 0.042412 0.557458 0.5 --0.0606463 0.0434636 0.0431332 0.472464 0.5 --0.0597745 0.0434652 0.0436848 0.423741 0.5 --0.0587368 0.0434475 0.0440841 0.487642 0.44366 --0.0787218 0.0967552 0.0354897 0.613508 0.5 --0.0778727 0.096767 0.0360596 0.598176 0.5 --0.08997 0.132328 0.0399309 0.630828 0.468806 --0.0760018 0.163203 -0.0170986 0.304903 0.5 --0.0262003 0.0750789 0.0460261 0.64741 0.5 --0.0799154 0.12806 -0.00573177 0.376136 0.464207 --0.0711318 0.0777267 0.0384114 0.611409 0.5 --0.0826468 0.144713 0.0407672 0.467885 0.447046 --0.0555164 0.0482866 0.0387265 0.0780099 0.5 --0.0250124 0.0782139 0.0518051 0.749884 0.423516 --0.0770975 0.0967852 0.0367 0.561005 0.487498 --0.038969 0.042042 0.0415955 0.556807 0.5 --0.0383992 0.0420226 0.0422608 0.528559 0.5 --0.0377624 0.0420706 0.0430123 0.492581 0.5 --0.0372876 0.0421099 0.0439093 0.479254 0.452832 --0.0366764 0.0421455 0.0447176 0.502652 0.5 --0.0359879 0.0421738 0.0454409 0.537111 0.5 --0.0353032 0.042242 0.0460623 0.523373 0.442328 --0.0346582 0.0422066 0.0469558 0.494028 0.5 --0.034222 0.0422724 0.0479221 0.430249 0.377026 --0.0336612 0.0423072 0.0487868 0.60366 0.5 --0.032982 0.0423452 0.0495212 0.630797 0.5 --0.0322196 0.0423712 0.0501883 0.483275 0.5 --0.0314067 0.0423682 0.0507901 0.450842 0.5 --0.0303184 0.0423041 0.0510935 0.436184 0.432907 --0.0293723 0.0422984 0.0515712 0.498158 0.33524 --0.0285781 0.0423048 0.0521933 0.520467 0.5 --0.0277389 0.0423333 0.0528015 0.44152 0.5 --0.0268469 0.0423164 0.0533212 0.464198 0.5 --0.0257999 0.0422849 0.0537317 0.417091 0.471222 --0.0246606 0.0422329 0.0539554 0.466185 0.484845 --0.0763961 0.0968047 0.0374195 0.64971 0.5 --0.0872439 0.132483 0.0457019 0.559256 0.421054 --0.0756638 0.0968147 0.0380937 0.627717 0.5 --0.0843649 0.125772 0.0501053 0.568261 0.5 --0.0858603 0.137915 0.0441653 0.698413 0.5 --0.0786856 0.174223 -0.045863 0.265382 0.434105 --0.0708946 0.1037 -0.0131771 0.484556 0.378662 --0.024511 0.0782394 0.0527049 0.736311 0.5 --0.0281096 0.0778495 0.0450018 0.723919 0.5 --0.0848653 0.0855483 0.0264341 0.671149 0.464325 --0.0861005 0.10314 0.0243088 0.517399 0.431619 --0.0724387 0.0819305 0.0395669 0.658446 0.471056 --0.0775302 0.161724 -0.0197184 0.72249 0.5 --0.0698398 0.0922797 -0.0162924 0.704443 0.5 --0.0917403 0.12555 0.0418871 0.636756 0.5 --0.0748949 0.0968349 0.0387401 0.499593 0.5 --0.0814422 0.106028 0.0294684 0.497263 0.5 --0.0741702 0.0968478 0.0394202 0.483861 0.476176 --0.073336 0.0968702 0.0400088 0.476972 0.476252 --0.072467 0.0968801 0.0405541 0.479452 0.5 --0.0715781 0.0968766 0.0410625 0.48415 0.5 --0.0541455 0.0482522 0.0392578 0.0767352 0.218043 --0.0555782 0.159581 0.0063787 0.276478 0.5 --0.0898235 0.126994 0.0441831 0.690408 0.5 --0.0859703 0.127103 0.0488324 0.688678 0.5 --0.0874127 0.118983 0.0477049 0.600043 0.5 --0.0700699 0.0415411 0.00206928 0.372436 0.5 --0.069909 0.0416997 0.00317022 0.368005 0.5 --0.0695527 0.04187 0.00402445 0.40485 0.5 --0.0700913 0.0419644 0.00613646 0.277083 0.5 --0.0699291 0.0421822 0.0072491 0.425421 0.5 --0.0692421 0.0422187 0.00798097 0.477618 0.5 --0.0685956 0.0422314 0.00876662 0.519612 0.5 --0.0678614 0.042287 0.00944731 0.433985 0.5 --0.0671246 0.042281 0.0101216 0.562755 0.5 --0.0663652 0.0422587 0.0107808 0.498045 0.5 --0.0657552 0.0422954 0.0115704 0.470018 0.440896 --0.065046 0.0423247 0.012291 0.557573 0.5 --0.0642469 0.0423257 0.0129047 0.520064 0.348086 --0.0634522 0.0423282 0.0135276 0.512602 0.355956 --0.0626599 0.0423324 0.0141491 0.510053 0.5 --0.0617811 0.042326 0.0146867 0.49586 0.5 --0.0609073 0.0423237 0.0152297 0.493924 0.5 --0.060108 0.0423138 0.0158374 0.423565 0.5 --0.0593718 0.0422854 0.0165091 0.353114 0.5 --0.0585081 0.0422988 0.0170665 0.357844 0.5 --0.0761105 0.167387 -0.0256061 0.242378 0.5 --0.0720681 0.0805547 0.0392361 0.641793 0.5 --0.072687 0.0955359 0.0408041 0.485268 0.458194 --0.0718108 0.0955414 0.0413269 0.507063 0.5 --0.0863431 0.0896619 0.0263909 0.738721 0.5 --0.0876135 0.100396 0.0230423 0.514036 0.5 --0.0617195 0.0669875 0.0343055 0.466592 0.5 --0.0239757 0.0768012 0.0522149 0.745626 0.5 --0.076892 0.165957 -0.0247772 0.410222 0.450661 --0.0870672 0.0882048 0.024333 0.677487 0.5 --0.0632884 0.0444363 0.0372932 0.379365 0.5 --0.0628692 0.0445185 0.0382675 0.395263 0.5 --0.0623929 0.0445563 0.039213 0.427808 0.5 --0.0618871 0.044625 0.0401036 0.406909 0.5 --0.0613708 0.044683 0.0409908 0.404271 0.5 --0.0607701 0.0447346 0.0418038 0.383802 0.5 --0.0601235 0.0447437 0.0425684 0.434742 0.5 --0.0593254 0.0447426 0.0431798 0.354796 0.5 --0.0583019 0.0447396 0.0435847 0.360922 0.462086 --0.0817178 0.0953366 0.0328835 0.754335 0.5 --0.0832306 0.0871025 0.0304136 0.739259 0.5 --0.0820828 0.0871799 0.032118 0.754104 0.5 --0.084857 0.0924919 0.0290512 0.765451 0.5 --0.0735016 0.14861 -0.0288774 0.360563 0.5 --0.0732751 0.148715 -0.0303812 0.256986 0.5 --0.0358177 0.0886369 -0.024178 0.582441 0.5 --0.0784918 0.144814 0.0436628 0.399272 0.371642 --0.0749067 0.100837 0.0372176 0.494912 0.5 --0.0138747 0.104484 -0.023001 0.625905 0.456265 --0.0837086 0.0952625 0.0306499 0.755027 0.5 --0.0883053 0.149858 0.0265188 0.359531 0.461558 --0.0379669 0.0433397 0.0417712 0.744672 0.5 --0.0373842 0.0433946 0.0425967 0.466058 0.473236 --0.036876 0.0434502 0.0434666 0.460424 0.470649 --0.03626 0.0434916 0.0442696 0.690201 0.5 --0.0356854 0.0435567 0.045098 0.561539 0.5 --0.0348879 0.043516 0.0457289 0.436343 0.477414 --0.0341948 0.0435484 0.0464376 0.538735 0.345797 --0.0336992 0.0435791 0.0473765 0.551922 0.5 --0.0331162 0.0436399 0.0481995 0.605529 0.5 --0.0324803 0.0436623 0.0489836 0.608418 0.5 --0.0317074 0.0436869 0.0496355 0.480864 0.5 --0.0309036 0.0436875 0.0502489 0.489586 0.5 --0.0298946 0.0436977 0.0506861 0.514853 0.5 --0.0288146 0.0436325 0.0510094 0.535756 0.455609 --0.0835554 0.0925405 0.0305699 0.771532 0.5 --0.0801184 0.0845811 0.0344552 0.778295 0.5 --0.0865668 0.118992 0.0483015 0.598644 0.5 --0.0214315 0.0906458 0.0534872 0.538033 0.453533 --0.0408044 0.0884947 -0.0224789 0.618631 0.5 --0.0270974 0.0794315 0.0481933 0.624659 0.421553 --0.0504071 0.163936 0.00393123 0.399576 0.5 --0.0835882 0.125784 0.0507488 0.580528 0.5 --0.0851404 0.125756 0.0494653 0.551262 0.5 --0.0858587 0.125737 0.0487678 0.570253 0.5 --0.0238161 0.078256 0.0534268 0.734308 0.5 --0.0815418 0.0912589 0.0328461 0.760322 0.5 --0.0432016 0.171084 -0.00202068 0.317557 0.5 --0.0211382 0.0985478 0.044502 0.395758 0.5 --0.0745556 0.104899 0.0367465 0.38606 0.455036 --0.0726288 0.07489 0.035733 0.722186 0.5 --0.0875176 0.123015 0.0477063 0.553329 0.469715 --0.0819791 0.08171 0.030761 0.721047 0.439187 --0.0153943 0.099814 0.0443638 0.457134 0.438276 --0.0819069 0.0844754 0.0320139 0.740231 0.5 --0.0839019 0.105911 0.0262878 0.682076 0.5 --0.0857179 0.124363 0.0486993 0.581637 0.5 --0.0670133 0.0791411 0.0413099 0.596526 0.5 --0.0884363 0.140505 0.0381916 0.619198 0.5 --0.075975 0.156283 -0.00563956 0.568289 0.5 --0.0817302 0.142079 0.0441697 0.402668 0.451808 --0.0649016 0.118019 -0.00923352 0.628363 0.5 --0.0767292 0.0860417 0.0380634 0.650479 0.5 --0.0750529 0.0860661 0.0392001 0.655526 0.5 --0.0903934 0.12698 0.0433203 0.665541 0.5 --0.0287184 0.0806953 0.0455388 0.683355 0.5 --0.0186581 0.0985081 0.0446525 0.329409 0.416724 --0.0261763 0.0931476 0.0454624 0.762726 0.5 --0.0891984 0.129697 0.0434765 0.531379 0.477045 --0.0686122 0.0432054 0.00454593 0.397935 0.5 --0.0689469 0.0433261 0.00632212 0.313246 0.5 --0.0685283 0.0434892 0.00727271 0.401917 0.440353 --0.0678925 0.0435809 0.00801004 0.419264 0.5 --0.0672997 0.0435653 0.00884843 0.428196 0.5 --0.0665225 0.0435914 0.00948645 0.438074 0.5 --0.0657382 0.0436129 0.0101245 0.422201 0.5 --0.0650018 0.0435996 0.0108034 0.395662 0.5 --0.0641503 0.0436305 0.0113748 0.409636 0.5 --0.0633352 0.0436031 0.0119653 0.510694 0.5 --0.0625279 0.0435825 0.012569 0.497379 0.336302 --0.0617292 0.0435742 0.0131822 0.491021 0.332874 --0.0608612 0.0435863 0.0137318 0.486107 0.331941 --0.0599836 0.043576 0.0142711 0.486595 0.5 --0.0591064 0.0435686 0.0148077 0.423572 0.5 --0.0582351 0.043574 0.0153571 0.429335 0.5 --0.0575075 0.0435504 0.0160321 0.373632 0.5 --0.056782 0.043535 0.0167171 0.36891 0.5 -0.0262296 0.0888085 -0.0227773 0.71165 0.5 --0.0190294 0.0739916 0.05444 0.608015 0.464248 --0.0899083 0.121615 0.0458595 0.661029 0.5 --0.0144184 0.0997913 0.0448499 0.369931 0.5 --0.0769184 0.0832691 0.0369336 0.648895 0.5 --0.0328048 0.0886955 -0.0250147 0.367966 0.443725 --0.078775 0.170042 -0.0371202 0.54696 0.5 --0.0898343 0.122953 0.0457467 0.635152 0.5 --0.0891532 0.121635 0.0465292 0.681872 0.5 --0.068963 0.0874301 0.0429809 0.585421 0.426303 --0.0908157 0.116185 0.0427025 0.610805 0.453037 --0.0616474 0.0458147 0.0384356 0.386211 0.5 --0.0611522 0.045903 0.0393286 0.262835 0.5 --0.0606157 0.0459479 0.0402046 0.255518 0.5 --0.0599936 0.0459773 0.0409964 0.260947 0.5 --0.0592898 0.045994 0.0417021 0.252398 0.31034 --0.0584156 0.0459799 0.0422363 0.2629 0.295573 --0.0574587 0.045976 0.042703 0.218362 0.197374 --0.0832785 0.12444 0.0504652 0.592824 0.459857 --0.0831241 0.100626 0.0298981 0.668895 0.5 --0.0251305 0.0810774 0.0532367 0.738165 0.5 --0.0826184 0.0802381 0.0286257 0.660348 0.5 --0.0794816 0.0846149 0.0352279 0.778664 0.5 --0.0728228 0.148718 -0.0323717 0.232715 0.5 --0.0397982 0.0885212 -0.0227204 0.576423 0.5 --0.0824235 0.124446 0.0510342 0.568436 0.452695 --0.0778707 0.177255 -0.0480374 0.296925 0.405083 --0.0885025 0.144515 0.032494 0.608331 0.5 --0.0510859 0.154625 -0.00472421 0.395974 0.5 --0.0829949 0.0843947 0.0302754 0.702425 0.5 --0.0373858 0.0446552 0.0411638 0.752004 0.5 --0.036773 0.0446897 0.0419462 0.612739 0.5 --0.0362696 0.0447516 0.0428152 0.60741 0.333225 --0.035816 0.0448118 0.0437923 0.63532 0.5 --0.0351912 0.0448435 0.0445858 0.545158 0.5 --0.034376 0.0448305 0.0451875 0.569033 0.5 --0.033578 0.0448331 0.0458046 0.540501 0.5 --0.0329778 0.0448862 0.0466174 0.543009 0.5 --0.032486 0.0449059 0.0475402 0.578775 0.368005 --0.0317593 0.0449779 0.048226 0.558628 0.5 --0.0310521 0.0450006 0.0489427 0.58941 0.5 --0.030326 0.045 0.0496314 0.482954 0.5 --0.0217284 0.0919768 0.0523353 0.479975 0.5 --0.0871843 0.135176 0.0441499 0.535886 0.5 --0.0693828 0.0805427 0.0408087 0.625077 0.452132 --0.0823897 0.104663 0.0290404 0.474772 0.5 --0.0288805 0.079237 0.0443379 0.711613 0.5 --0.0900318 0.128311 0.0429434 0.658332 0.44097 --0.0844768 0.0856095 0.0274708 0.675896 0.5 --0.0836962 0.138005 0.0462469 0.503267 0.5 --0.0905223 0.128294 0.0420009 0.626213 0.5 --0.0628998 0.1209 -0.00884208 0.694692 0.5 --0.090924 0.128274 0.0409748 0.614573 0.467328 --0.0275566 0.0890776 0.0469337 0.446726 0.5 --0.0872471 0.125707 0.0473263 0.667953 0.5 --0.0273351 0.0750142 0.0443436 0.739146 0.5 --0.0837001 0.104608 0.0275279 0.5713 0.5 --0.0809833 0.080323 0.0311985 0.696843 0.5 --0.083931 0.103265 0.0277985 0.598698 0.5 --0.086661 0.123026 0.0482846 0.56777 0.5 --0.019761 0.0984382 0.0445534 0.374189 0.455777 --0.0200463 0.0893341 0.0549931 0.395697 0.451897 --0.07603 0.0941366 0.0385416 0.550124 0.5 --0.0136098 0.0997657 0.0454373 0.311604 0.374445 --0.0793587 0.143462 0.044583 0.384069 0.473916 --0.0849411 0.14333 0.0402714 0.502223 0.5 --0.0856354 0.143297 0.0395519 0.486766 0.469754 --0.0778945 0.102117 0.0345146 0.690044 0.5 --0.0879353 0.140547 0.0390784 0.627454 0.5 --0.0873971 0.140576 0.0399568 0.631486 0.5 --0.0825276 0.142074 0.0435561 0.396977 0.5 --0.0245149 0.0811097 0.0540325 0.722667 0.5 --0.0754652 0.163196 -0.0162299 0.275384 0.427625 --0.0845393 0.103233 0.0269979 0.59669 0.5 --0.0249633 0.0931679 0.047071 0.465715 0.5 --0.0237883 0.0932085 0.0487292 0.378656 0.5 --0.0762259 0.0790445 0.0349679 0.755951 0.5 --0.0673146 0.0446682 0.00602001 0.333494 0.5 --0.0669072 0.0448192 0.00702222 0.262716 0.403145 --0.0662928 0.044787 0.00771957 0.33706 0.5 --0.065503 0.044849 0.00843715 0.307265 0.5 --0.0647841 0.0448471 0.00913709 0.299261 0.5 --0.063925 0.0448804 0.0097039 0.355523 0.5 --0.0632063 0.0448721 0.0103941 0.366036 0.5 --0.0623204 0.0448503 0.0109236 0.400769 0.5 --0.0615188 0.0448284 0.0115308 0.460736 0.319245 --0.0606371 0.0448145 0.012064 0.447931 0.5 --0.0597659 0.0448149 0.0126042 0.470817 0.317386 --0.0589723 0.0448133 0.0132235 0.482204 0.5 --0.0580951 0.0448084 0.0137644 0.489265 0.5 --0.0572927 0.0447946 0.0143752 0.429911 0.5 --0.0563559 0.0448266 0.0148606 0.430273 0.5 --0.0555501 0.0448059 0.0154665 0.381525 0.5 --0.0877284 0.0950339 0.0247524 0.638244 0.5 --0.088473 0.0908539 0.022804 0.624947 0.5 --0.0845844 0.121705 0.0490448 0.726218 0.5 -0.0141421 0.107244 -0.018655 0.572129 0.5 --0.0132802 0.102485 0.0435875 0.589711 0.5 --0.084936 0.144668 0.0388142 0.479275 0.5 --0.0261116 0.0809919 0.0513952 0.728679 0.5 --0.0497662 0.165331 0.00186024 0.369742 0.391777 --0.0882731 0.143189 0.0351319 0.584661 0.5 --0.0889127 0.145822 0.0300758 0.642452 0.5 --0.020719 0.0739658 0.0533053 0.610784 0.5 --0.0604 0.0470132 0.0371523 0.152377 0.410418 --0.05996 0.047085 0.0381143 0.152736 0.5 --0.0593516 0.0471429 0.038917 0.146686 0.359465 --0.0586519 0.047167 0.0396282 0.141779 0.325187 --0.0577811 0.0472143 0.0403119 0.117502 0.25869 --0.0569108 0.0471914 0.0407265 0.116343 0.18326 --0.0797368 0.119028 0.049952 0.824456 0.5 --0.0707047 0.079127 0.0393559 0.613137 0.5 --0.082233 0.0925905 0.0320729 0.776782 0.5 --0.0217816 0.0797281 0.0555871 0.554322 0.5 --0.026741 0.0877745 0.0490115 0.517761 0.5 --0.0818378 0.131303 0.0516681 0.455622 0.449057 --0.0746801 0.157704 -0.00556618 0.251678 0.313812 --0.0812551 0.138069 0.0480599 0.486309 0.5 --0.0235246 0.079724 0.0545007 0.587006 0.5 --0.080224 0.0913049 0.0343483 0.749866 0.5 --0.0688943 0.103764 -0.0141878 0.487763 0.394315 --0.0378236 0.0914714 -0.0236656 0.465153 0.5 --0.0769529 0.128149 -0.00749249 0.548887 0.5 --0.0367892 0.0459324 0.0404864 0.763782 0.5 --0.0361107 0.0459963 0.0412564 0.647497 0.5 --0.0356524 0.0460406 0.0421919 0.569612 0.5 --0.0351155 0.0460859 0.0430647 0.443805 0.5 --0.0345091 0.0461323 0.043875 0.508892 0.5 --0.033807 0.0461583 0.044586 0.546708 0.5 --0.0329093 0.0461288 0.0451027 0.539267 0.5 --0.0321732 0.0461161 0.0457813 0.491272 0.358016 --0.0315694 0.0461612 0.0465874 0.46925 0.355219 --0.0309109 0.0462432 0.0473418 0.418974 0.5 --0.0303409 0.0462461 0.0481864 0.468093 0.5 --0.0295864 0.0462965 0.0488628 0.462445 0.408327 --0.0883724 0.121658 0.047175 0.565182 0.5 --0.0853661 0.0910995 0.0281927 0.766447 0.5 --0.0287719 0.0876257 0.045371 0.614931 0.5 --0.0889908 0.13778 0.0388031 0.509285 0.44047 --0.0870569 0.137884 0.0425258 0.681728 0.5 --0.0864551 0.137921 0.0433346 0.6778 0.5 --0.0851812 0.137956 0.0449006 0.701964 0.5 --0.0843022 0.0938821 0.0298739 0.758689 0.5 --0.0736592 0.0887741 0.0405778 0.618597 0.5 --0.0869535 0.131154 0.0468504 0.590317 0.5 --0.0809296 0.0885877 0.0337432 0.749156 0.5 --0.028101 0.0890412 0.0460663 0.539534 0.5 --0.0880158 0.125695 0.0466833 0.634272 0.44169 --0.0772906 0.165906 -0.0257637 0.443638 0.5 --0.0762092 0.103511 0.0356214 0.535167 0.484051 --0.0761461 0.154973 -0.00265921 0.446649 0.5 --0.0700245 0.0833021 0.0413654 0.664628 0.449075 --0.08561 0.123026 0.0486561 0.68807 0.5 --0.0909607 0.144377 0.0265412 0.552953 0.5 --0.0278525 0.0807805 0.0474761 0.589895 0.417453 --0.0836745 0.0939124 0.0306595 0.761073 0.5 --0.0837871 0.0829476 0.0282971 0.665336 0.5 --0.069719 0.0887582 0.0422978 0.561468 0.429115 --0.0875561 0.121673 0.0477803 0.573512 0.478712 --0.0772797 0.157576 -0.0127941 0.899918 0.5 --0.0840048 0.140674 0.0436515 0.414224 0.5 --0.0811078 0.0831466 0.0326628 0.747143 0.5 --0.0833667 0.142023 0.0429747 0.401302 0.5 --0.0855834 0.141979 0.0409477 0.501705 0.471081 --0.0917743 0.120197 0.0434965 0.654226 0.5 --0.0766191 0.168746 -0.0293719 0.312208 0.5 --0.0218765 0.0933131 0.0510401 0.458898 0.5 --0.0794782 0.106106 0.0317497 0.515435 0.5 --0.0845781 0.148672 0.0341151 0.39749 0.5 --0.071812 0.0879125 -0.0161091 0.43783 0.5 --0.0256593 0.0810401 0.0523557 0.735066 0.5 --0.0867316 0.100467 0.0250232 0.564042 0.5 --0.0829153 0.0925695 0.0313446 0.770128 0.5 --0.0627188 0.046051 0.00845692 0.254355 0.5 --0.0618482 0.0460583 0.00900481 0.28938 0.5 --0.0610521 0.0460525 0.00962048 0.316151 0.5 --0.0601827 0.0460596 0.0101722 0.314687 0.308894 --0.0593004 0.0460479 0.0107053 0.461907 0.293044 --0.058583 0.0460291 0.0113967 0.46369 0.309527 --0.0577944 0.0460393 0.0120187 0.501334 0.289968 --0.0569361 0.046073 0.0125834 0.513872 0.5 --0.0561408 0.0460708 0.0131999 0.533263 0.5 --0.0553504 0.0460785 0.0138247 0.492337 0.5 --0.054558 0.0460859 0.0144477 0.499778 0.5 --0.0537709 0.0460941 0.0150722 0.450242 0.5 --0.0529962 0.0461208 0.0157076 0.484058 0.5 --0.0224637 0.0768447 0.053535 0.597863 0.5 --0.0837712 0.127162 0.0508887 0.559458 0.5 --0.0771842 0.102138 0.0352151 0.568542 0.5 --0.0167795 0.0984818 0.0458118 0.298185 0.386165 --0.0455975 0.169625 -0.00241942 0.291628 0.5 --0.0206549 0.0768238 0.0545752 0.599802 0.457311 --0.0872718 0.144583 0.0355002 0.588157 0.5 --0.0754593 0.159053 -0.00907047 0.331067 0.5 --0.0885031 0.148521 0.0281728 0.600999 0.5 --0.0577583 0.0479183 0.03595 0.108376 0.5 --0.0572715 0.0482006 0.0365817 0.0648895 0.5 --0.0566239 0.0482507 0.0375737 0 0 --0.0549519 0.160962 0.00433648 0.359336 0.5 --0.0551243 0.0482803 0.0389113 0.0786908 0.5 --0.0267061 0.0765373 0.0464972 0.620672 0.5 --0.0855601 0.095177 0.0282718 0.734607 0.5 --0.0785455 0.146115 0.0422588 0.409694 0.5 --0.026667 0.0823364 0.0504973 0.674474 0.5 --0.0871856 0.0923586 0.0257303 0.704628 0.435156 --0.0809274 0.12805 -0.00535084 0.406041 0.5 --0.0718433 0.0833097 0.0403454 0.668534 0.5 --0.0776757 0.0873848 0.0375611 0.644029 0.483032 --0.0809192 0.0899278 0.0336764 0.745226 0.5 --0.0142597 0.180104 -0.0279187 0.272111 0.445002 --0.0265532 0.080945 0.0504296 0.707072 0.5 --0.0849859 0.149949 0.0316738 0.366068 0.5 --0.0886736 0.132413 0.0428724 0.532781 0.5 --0.0208164 0.0797246 0.0560382 0.556347 0.5 --0.0354292 0.0472715 0.0405203 0.669215 0.289071 --0.0348248 0.0473223 0.0413292 0.518428 0.5 --0.0342911 0.0473692 0.0421968 0.408428 0.374032 --0.0336818 0.0474202 0.0430149 0.440381 0.5 --0.0330184 0.0474571 0.0438647 0.427307 0.443792 --0.0321779 0.0474216 0.0442941 0.414453 0.441934 --0.0311974 0.0474073 0.0447828 0.431856 0.410582 --0.0305219 0.0474445 0.0454913 0.378337 0.359479 --0.0298888 0.0474725 0.0462905 0.313109 0.5 --0.0293538 0.0475081 0.0471486 0.334379 0.34255 --0.0287365 0.0475545 0.0479663 0.341947 0.5 --0.0757024 0.160453 -0.0116926 0.328298 0.5 --0.0221614 0.0825281 0.0558751 0.523514 0.450329 --0.0773495 0.081875 0.035997 0.773803 0.5 --0.0898842 0.145774 0.0282412 0.529488 0.5 --0.0911968 0.145718 0.0253129 0.516174 0.5 --0.0921823 0.117455 0.0412015 0.644159 0.477428 --0.0857415 0.120359 0.048887 0.579271 0.475203 --0.0834209 0.0911774 0.0304851 0.771071 0.5 --0.076548 0.0954614 0.0376104 0.66424 0.5 --0.0777899 0.164478 -0.0251991 0.373875 0.478153 --0.0891389 0.120288 0.0465529 0.7239 0.5 --0.0511762 0.163872 0.00329038 0.398422 0.5 --0.089509 0.125659 0.045333 0.467746 0.5 --0.0225206 0.0919822 0.0517607 0.464316 0.46234 --0.0201048 0.0920391 0.0535514 0.515324 0.5 --0.0750002 0.0776536 0.0352037 0.768111 0.5 --0.026159 0.0918036 0.0468933 0.41415 0.480432 --0.027467 0.0793682 0.0471485 0.587754 0.5 --0.0844811 0.123027 0.0489478 0.62457 0.478512 --0.0912584 0.116106 0.0417079 0.583475 0.5 --0.0780066 0.0940671 0.0362827 0.700656 0.5 --0.0845462 0.119028 0.0490922 0.721111 0.5 --0.0782718 0.165861 -0.029036 0.471693 0.5 --0.0819087 0.121685 0.0492514 0.68572 0.5 --0.0272221 0.0904382 0.0465675 0.403965 0.5 --0.0466082 0.166842 0.00289141 0.374072 0.5 --0.0803828 0.11899 0.049226 0.869465 0.5 --0.0841614 0.142011 0.042356 0.511178 0.5 --0.0848818 0.142006 0.0416598 0.411545 0.467966 --0.0709378 0.0995366 0.0403447 0.568816 0.5 --0.0770729 0.168746 -0.0303374 0.317408 0.428058 --0.077497 0.168713 -0.0313178 0.26009 0.5 --0.0225677 0.0932815 0.0503229 0.38541 0.5 --0.0230795 0.0932192 0.0494322 0.515871 0.5 --0.047409 0.166836 0.00227952 0.366074 0.5 --0.0271292 0.0850573 0.0494379 0.599971 0.5 --0.0818597 0.146076 0.0399402 0.467733 0.5 --0.0267099 0.0794912 0.0492298 0.664689 0.5 --0.0238639 0.0825121 0.0547585 0.641437 0.5 --0.087202 0.10043 0.0240701 0.541802 0.5 --0.080258 0.0859229 0.0345477 0.762291 0.5 --0.0601559 0.0472008 0.00728305 0.30028 0.5 --0.0593991 0.0472653 0.0079341 0.381229 0.5 --0.0586915 0.0472669 0.00864036 0.396733 0.5 --0.0580451 0.047259 0.00941407 0.427842 0.5 --0.0573375 0.0472769 0.0101218 0.487079 0.5 --0.0566658 0.0473318 0.0108617 0.507184 0.5 --0.0559525 0.0473442 0.0115659 0.492497 0.5 --0.0552963 0.0473377 0.0123212 0.63078 0.5 --0.0545075 0.047347 0.012948 0.64659 0.5 --0.0537303 0.0473713 0.0135851 0.584253 0.5 --0.053021 0.0473885 0.0142865 0.606548 0.5 --0.0523202 0.0474101 0.0149978 0.636286 0.5 --0.051625 0.0474378 0.0157122 0.654005 0.5 --0.0773599 0.0940895 0.0370488 0.671317 0.5 --0.0249679 0.0851951 0.0529639 0.638665 0.5 --0.077268 0.161738 -0.0185704 0.697463 0.5 --0.027609 0.0850124 0.048532 0.558005 0.5 --0.0911524 0.122908 0.0442317 0.586912 0.5 --0.0765838 0.178662 -0.0494737 0.21911 0.310731 --0.0856485 0.103181 0.0252723 0.689826 0.5 --0.0675365 0.0805511 0.0417814 0.622386 0.465827 --0.0931203 0.121503 0.0403997 0.520202 0.5 --0.0866978 0.12169 0.0483599 0.57195 0.5 --0.0917675 0.126924 0.040336 0.614445 0.5 --0.0238697 0.104438 -0.0232028 0.702573 0.5 --0.08387 0.148679 0.0348187 0.405297 0.5 --0.0886426 0.129716 0.0443401 0.556949 0.5 --0.077144 0.164539 -0.0230622 0.463109 0.5 --0.0266136 0.0837142 0.0504396 0.650766 0.5 --0.0824187 0.100645 0.0306028 0.682581 0.425889 --0.0887758 0.149859 0.0255696 0.358727 0.5 --0.079848 0.116269 0.0487575 0.838272 0.5 --0.0861982 0.144641 0.0372484 0.460203 0.5 --0.0725037 0.079155 0.0383043 0.626662 0.5 --0.0834639 0.0815548 0.0279962 0.662247 0.5 --0.067181 0.156627 -0.0534662 0.38533 0.5 --0.0262017 0.0878115 0.0498853 0.576484 0.5 --0.0877683 0.149882 0.0273982 0.351136 0.460579 --0.0855482 0.149965 0.0308161 0.367072 0.452379 --0.0788525 0.107465 0.0324362 0.446249 0.5 --0.0805487 0.0789662 0.0306236 0.65318 0.5 --0.0345924 0.0485568 0.0396695 0.631506 0.5 --0.0339683 0.0485791 0.0404406 0.487632 0.366882 --0.0334269 0.0486094 0.0413091 0.36923 0.391322 --0.0328931 0.0486572 0.0421875 0.368279 0.5 --0.0321962 0.0487152 0.0429222 0.330168 0.454747 --0.0313311 0.0487062 0.0434625 0.335046 0.5 --0.0303696 0.0486908 0.0439216 0.401043 0.438075 --0.0296434 0.0486725 0.0446006 0.335864 0.5 --0.0289488 0.0487095 0.0453204 0.282402 0.5 --0.0284243 0.0487716 0.0462084 0.227343 0.5 --0.0278604 0.0487672 0.0470543 0.222765 0.5 --0.0249111 0.0958255 0.0441185 0.623767 0.453809 --0.0871853 0.145927 0.0339699 0.595515 0.5 --0.0880483 0.145895 0.0319999 0.618899 0.457747 --0.0759222 0.159085 -0.0100036 0.340743 0.44632 --0.0895075 0.148492 0.0263454 0.596811 0.5 --0.0679477 0.0860672 0.0434473 0.572212 0.5 --0.0752605 0.157705 -0.0064221 0.315473 0.5 --0.0826266 0.146034 0.0392943 0.478792 0.425441 --0.0745303 0.0887706 0.0400356 0.610721 0.472788 --0.0824089 0.107319 0.0275588 0.493269 0.5 --0.0270125 0.0891105 0.0478066 0.464436 0.5 --0.0865771 0.124349 0.048115 0.573905 0.381076 --0.0901249 0.125637 0.04453 0.703149 0.5 --0.0261702 0.0823861 0.0514348 0.68195 0.5 --0.0767393 0.157602 -0.0105393 0.797311 0.5 --0.0915748 0.124221 0.0431828 0.530095 0.466602 --0.0287388 0.076371 0.0428795 0.718715 0.5 --0.0791947 0.116328 0.04948 0.653806 0.5 --0.0821235 0.0802564 0.0295192 0.678389 0.5 --0.0835031 0.123045 0.0493423 0.618131 0.5 --0.0795112 0.081834 0.0339273 0.759743 0.5 --0.0258992 0.0891655 0.049535 0.687013 0.5 --0.0802229 0.143442 0.044034 0.377223 0.5 --0.086226 0.143316 0.0387173 0.470422 0.5 --0.00287417 0.10736 -0.0221559 0.611997 0.5 --0.0239591 0.0958294 0.044594 0.717845 0.5 --0.0857815 0.0897033 0.0272482 0.755259 0.5 --0.0256832 0.0878506 0.050771 0.596504 0.5 --0.0781568 0.167257 -0.0305864 0.3785 0.5 --0.0802983 0.0953773 0.0342868 0.75775 0.5 --0.0282394 0.087664 0.0462444 0.555346 0.5 --0.0856054 0.119006 0.0487694 0.596839 0.5 --0.0897192 0.129664 0.0425949 0.646363 0.5 --0.023162 0.0958328 0.0451924 0.622864 0.5 --0.0211646 0.0933284 0.0517404 0.320261 0.470262 --0.087746 0.09368 0.0248353 0.66102 0.5 --0.0220478 0.0811409 0.0558034 0.546458 0.451917 --0.0552893 0.160933 0.00328411 0.27808 0.5 --0.0875676 0.129767 0.0460862 0.602465 0.5 --0.0794062 0.147442 0.0402641 0.472782 0.5 --0.0768211 0.0804727 0.0355147 0.769628 0.5 --0.0729344 0.0901459 0.0411907 0.56644 0.5 --0.0815038 0.0885533 0.0328994 0.747904 0.5 --0.0582272 0.048399 0.00675942 0.467786 0.5 --0.0577664 0.0485104 0.00767417 0.54815 0.5 --0.057208 0.048538 0.00854022 0.583504 0.5 --0.0566778 0.0485827 0.00942267 0.614422 0.5 --0.0560757 0.0486306 0.0102324 0.617742 0.5 --0.0553809 0.0486564 0.0109541 0.597219 0.5 --0.0546819 0.0486825 0.0116705 0.578642 0.5 --0.0539465 0.0486826 0.012352 0.753411 0.5 --0.0531749 0.0487012 0.0129919 0.753406 0.5 --0.0524373 0.0487028 0.0136696 0.759028 0.5 --0.0517432 0.0487299 0.0143843 0.798074 0.5 --0.051128 0.0487627 0.0151791 0.81493 0.5 --0.0480905 0.156132 -0.00685995 0.396962 0.458936 --0.0568093 0.0883611 -0.0215879 0.517672 0.5 --0.0736443 0.148637 -0.0247496 0.318243 0.5 --0.0273471 0.0735222 0.0429845 0.722441 0.5 --0.0241255 0.089259 0.0519927 0.573327 0.5 --0.0849611 0.0883696 0.0278927 0.747365 0.5 --0.0808978 0.121685 0.0496566 0.858605 0.5 --0.0580398 0.0608775 0.0245548 0.579014 0.5 --0.0212083 0.0825271 0.0563448 0.522699 0.453132 --0.0802772 0.089954 0.0344521 0.741352 0.5 --0.047089 0.156143 -0.00736831 0.403191 0.467645 --0.0519433 0.0503866 0.0326949 0.224658 0.5 --0.0514926 0.0503999 0.033682 0.219243 0.426647 --0.050991 0.0504175 0.03464 0.231175 0.5 --0.050433 0.0505709 0.0355945 0.265883 0.5 --0.0223808 0.0958588 0.045836 0.363444 0.5 --0.0810826 0.144759 0.0420272 0.472802 0.5 --0.0243507 0.0852386 0.0537426 0.618224 0.5 --0.0485449 0.165375 0.00344343 0.35264 0.5 --0.0338218 0.0886934 -0.0246941 0.6401 0.5 --0.0873724 0.124348 0.0475064 0.538455 0.5 --0.0609926 0.128204 -0.00783795 0.660597 0.482678 --0.082117 0.127195 0.0520765 0.528723 0.5 --0.0273112 0.0917698 0.0451953 0.637767 0.435066 --0.0683312 0.0833327 0.042485 0.643221 0.5 --0.0875821 0.0909427 0.0247332 0.696043 0.5 --0.0736943 0.094184 0.0404336 0.523495 0.5 --0.0575 0.0589785 0.0215704 0 0 --0.0338319 0.0498039 0.0388148 0.622319 0.5 --0.0331161 0.0498057 0.0395103 0.452176 0.5 --0.0324996 0.0498708 0.0403614 0.406338 0.392212 --0.0318101 0.0499111 0.0410759 0.283004 0.5 --0.0311873 0.0499402 0.0418672 0.294565 0.5 --0.0304078 0.0499703 0.0425042 0.418631 0.5 --0.0296061 0.0499557 0.0431146 0.399838 0.5 --0.0288967 0.0499669 0.0438168 0.318234 0.5 --0.028183 0.0499752 0.0445203 0.23068 0.5 --0.0273899 0.0499801 0.045145 0.17854 0.5 --0.0577034 0.0591273 0.0216745 0 0 --0.0740248 0.149858 -0.0328754 0.241965 0.5 --0.0866528 0.145956 0.0348405 0.604403 0.5 --0.0747436 0.0846695 0.0389578 0.663418 0.5 --0.0868827 0.0896245 0.0255163 0.709803 0.5 --0.0814751 0.118981 0.0489466 0.793473 0.5 --0.0721093 0.0846859 0.0405598 0.675423 0.5 --0.084567 0.0897523 0.028848 0.761211 0.5 --0.0833313 0.0829966 0.0292517 0.686837 0.5 --0.0452548 0.169651 -0.00135352 0.313821 0.5 --0.0843581 0.0883713 0.0286614 0.753337 0.5 --0.0253323 0.089221 0.0503626 0.708495 0.5 --0.0865291 0.125714 0.0480303 0.583009 0.486428 --0.0887934 0.125677 0.0460403 0.589605 0.5 --0.0886031 0.143176 0.0340326 0.590851 0.5 --0.089865 0.120262 0.0458544 0.714564 0.5 --0.0260624 0.0837492 0.0512652 0.653112 0.5 --0.0217907 0.0957944 0.0466571 0.355199 0.414647 --0.0784161 0.116342 0.0501163 0.658648 0.5 --0.0800863 0.148726 0.0380799 0.456352 0.5 --0.0826166 0.123078 0.0498508 0.589851 0.459109 --0.0788159 0.0818529 0.0346403 0.77099 0.5 --0.027107 0.082291 0.0495314 0.649028 0.5 --0.0810659 0.143393 0.0434586 0.39217 0.5 --0.086895 0.143263 0.0379805 0.5896 0.5 --0.0888985 0.128369 0.0446279 0.557682 0.5 --0.0853621 0.135278 0.0465646 0.721235 0.5 --0.0911594 0.120221 0.0443019 0.657025 0.5 --0.086688 0.0937529 0.026595 0.714623 0.5 --0.0777926 0.167262 -0.0295303 0.381987 0.457758 --0.0214041 0.0879871 0.0549671 0.52454 0.5 --0.0244219 0.0752703 0.0498831 0.721908 0.5 --0.0210295 0.0958616 0.0473023 0.357576 0.5 --0.0774755 0.170095 -0.0341987 0.278032 0.5 --0.0860758 0.0924352 0.0274562 0.744589 0.5 --0.0870669 0.0909973 0.0256595 0.713302 0.5 --0.0769239 0.160393 -0.0146649 0.495647 0.480329 --0.0791963 0.120405 0.0507691 0.673039 0.5 --0.0847946 0.140657 0.0430258 0.52877 0.477973 --0.0266475 0.0904555 0.0474235 0.432983 0.480021 --0.0737533 0.0901294 0.040627 0.55501 0.5 --0.074576 0.0901236 0.0400162 0.573629 0.482779 --0.0425095 0.171123 -0.00130836 0.370079 0.5 --0.0275965 0.0836272 0.048557 0.575687 0.5 --0.0572172 0.0498044 0.00711465 0.637658 0.5 --0.0567938 0.0498747 0.00808849 0.679991 0.5 --0.0562843 0.049932 0.00898241 0.690031 0.5 --0.0556769 0.0499718 0.00979142 0.684815 0.5 --0.0549752 0.0499938 0.0105067 0.64878 0.5 --0.0543247 0.0500125 0.0112758 0.63382 0.5 --0.053617 0.0500325 0.0119809 0.598586 0.5 --0.0528487 0.0500508 0.0126245 0.806709 0.5 --0.0521211 0.0500618 0.0133132 0.826442 0.5 --0.0514248 0.0500855 0.0140283 0.855497 0.5 --0.0508177 0.0501221 0.014822 0.859166 0.5 --0.075338 0.161792 -0.0134783 0.270689 0.5 --0.0886456 0.0935942 0.0229142 0.589299 0.5 --0.0894525 0.128349 0.0437622 0.524772 0.5 --0.0810165 0.134048 0.0507919 0.537638 0.5 --0.0881693 0.0922771 0.0238938 0.647256 0.45435 --0.014868 0.104453 -0.022832 0.637743 0.5 --0.0865727 0.08823 0.0252282 0.691479 0.5 --0.0860797 0.0882889 0.0261675 0.706931 0.447483 --0.0732571 0.0860546 0.040246 0.666811 0.456094 --0.072371 0.0860632 0.0407672 0.674263 0.5 --0.0517698 0.0516016 0.0312301 0.403221 0.455571 --0.0513689 0.0516822 0.0322144 0.39577 0.5 --0.0509112 0.0517382 0.0331779 0.415142 0.5 --0.05033 0.0517928 0.0340061 0.419986 0.5 --0.0497796 0.0518319 0.0348836 0.436448 0.5 --0.0205289 0.0958269 0.048234 0.316835 0.454403 --0.0199274 0.0958752 0.0490354 0.313557 0.5 --0.0192371 0.0959207 0.0497533 0.300099 0.5 --0.0184702 0.0959697 0.0503933 0.304626 0.5 --0.0177679 0.0959988 0.0511065 0.306727 0.5 --0.0815821 0.0803018 0.0303913 0.696893 0.5 --0.0668801 0.103821 -0.0153002 0.60115 0.5 --0.0810791 0.117571 0.0486733 0.80438 0.5 --0.0802626 0.147413 0.0397079 0.46117 0.5 --0.0926613 0.122825 0.0414622 0.522669 0.5 --0.0922534 0.122854 0.0424865 0.539991 0.5 --0.0744952 0.0941746 0.0398302 0.511926 0.453521 --0.0168224 0.0960286 0.0515795 0.331352 0.5 --0.0160134 0.0959893 0.0521651 0.352324 0.5 --0.0318715 0.0510682 0.0382665 0.336177 0.428208 --0.0312407 0.0510927 0.0390643 0.241571 0.375743 --0.0306139 0.051126 0.0398517 0.276064 0.44569 --0.0298413 0.0511486 0.0404908 0.434945 0.5 --0.029049 0.0511502 0.0411139 0.250059 0.5 --0.0280876 0.0511424 0.0415727 0.313694 0.5 --0.0269495 0.0511315 0.0418642 0.133382 0.370504 --0.0782251 0.104799 0.0333593 0.582673 0.5 --0.0495337 0.163976 0.00447865 0.314061 0.5 --0.0802651 0.0940224 0.034298 0.766423 0.5 --0.0848442 0.146005 0.0372765 0.458708 0.5 --0.0876525 0.145908 0.0330215 0.595709 0.5 --0.0884617 0.14585 0.0310303 0.496684 0.5 --0.0903673 0.145762 0.0273033 0.52499 0.5 --0.0856388 0.100529 0.0267624 0.595113 0.5 --0.0248685 0.10443 -0.0231858 0.689975 0.5 --0.0288186 0.0862428 0.0454609 0.607924 0.5 --0.0828513 0.138047 0.046826 0.410662 0.478854 --0.0820555 0.138062 0.0474469 0.411588 0.458561 --0.077013 0.157587 -0.0116646 0.841749 0.5 --0.0234514 0.0892984 0.0527307 0.736549 0.5 --0.0837947 0.100615 0.0291484 0.663461 0.5 --0.0865918 0.127084 0.0480364 0.716932 0.5 --0.0912006 0.121567 0.0443209 0.618441 0.5 --0.0783855 0.0873596 0.0368663 0.630719 0.5 --0.0830674 0.136771 -0.000769185 0.646476 0.5 --0.0853072 0.129862 0.0494994 0.621428 0.5 --0.0236685 0.0919017 0.0500491 0.598554 0.5 --0.0738077 0.102191 0.0374953 0.478884 0.5 --0.0797481 0.0789376 0.0314228 0.665628 0.5 --0.0737584 0.0914853 0.0405847 0.5468 0.5 --0.0812985 0.084505 0.0328118 0.758993 0.5 --0.0818632 0.143391 0.0428465 0.483564 0.5 --0.0802896 0.144766 0.0426469 0.469909 0.5 --0.0727381 0.151148 -0.0398146 0.298977 0.5 --0.0902062 0.143054 0.0286714 0.575492 0.466662 --0.0809888 0.100705 0.031995 0.681843 0.5 --0.0862834 0.141953 0.0402325 0.482235 0.5 --0.0773948 0.167309 -0.02854 0.398885 0.5 --0.0472223 0.168222 -0.000777409 0.296158 0.5 --0.0753424 0.0928083 0.039305 0.553842 0.5 --0.0746115 0.103538 0.0368408 0.457244 0.5 --0.0746007 0.0914774 0.0400082 0.570581 0.477119 --0.0889887 0.147168 0.0287003 0.653192 0.5 --0.0872644 0.139206 0.0412952 0.657954 0.5 --0.0896207 0.132365 0.0409732 0.511427 0.5 --0.0785671 0.172906 -0.0416992 0.415527 0.5 --0.0771653 0.156191 -0.0114635 0.899577 0.5 --0.0871097 0.129792 0.0470428 0.624861 0.401785 --0.0825182 0.0816676 0.0298907 0.699145 0.5 --0.0241038 0.0865955 0.0534593 0.607699 0.471231 --0.0226623 0.0866242 0.0548392 0.550514 0.5 --0.0361034 0.165201 -0.01444 0.492932 0.5 --0.0798966 0.083235 0.0342815 0.77888 0.5 --0.0814721 0.135361 0.0497671 0.510526 0.450897 --0.088108 0.129743 0.0452172 0.577318 0.5 --0.0565129 0.051223 0.00779351 0.66831 0.450021 --0.0560291 0.051292 0.00869383 0.709987 0.5 --0.0554104 0.0513256 0.00948897 0.6343 0.5 --0.0547684 0.0513541 0.0102674 0.583142 0.5 --0.0540202 0.0513732 0.0109294 0.547991 0.5 --0.0533816 0.0513995 0.0117052 0.702674 0.5 --0.0526765 0.0514226 0.0124143 0.693951 0.5 --0.0519687 0.0514416 0.0131188 0.696667 0.5 --0.0513196 0.0514695 0.0138904 0.7108 0.5 --0.0506409 0.0514954 0.0146147 0.721341 0.5 --0.050104 0.0515366 0.0156131 0.734703 0.5 --0.0820819 0.150001 0.0344048 0.355923 0.5 --0.019145 0.0893155 0.0554734 0.472797 0.5 --0.0867977 0.144597 0.036443 0.596584 0.432583 --0.080296 0.0886098 0.0345053 0.75131 0.5 --0.0402074 0.168164 -0.0113973 0.47109 0.5 --0.0883046 0.122998 0.0470686 0.544744 0.391231 --0.0677324 0.0847093 0.0432514 0.610831 0.5 --0.0686258 0.0846974 0.0427491 0.62058 0.5 --0.0694924 0.0846972 0.0421957 0.642954 0.434258 --0.0514912 0.0529568 0.0308804 0.512416 0.5 --0.051108 0.0530218 0.0319282 0.542186 0.5 --0.0506321 0.0530807 0.0328365 0.572966 0.5 --0.0500875 0.0531258 0.0337221 0.606178 0.5 --0.049486 0.0531643 0.034537 0.596501 0.5 --0.0489043 0.0531988 0.0353928 0.568318 0.5 --0.0482545 0.05323 0.0361705 0.607651 0.5 --0.0877434 0.135138 0.0431967 0.534495 0.467229 --0.027194 0.0764697 0.0455544 0.598535 0.5 --0.0458049 0.0532278 0.0379952 0.585107 0.442889 --0.0866727 0.139248 0.0421058 0.685044 0.5 --0.0822864 0.135367 0.0491747 0.512153 0.5 --0.0368227 0.0914861 -0.023804 0.683187 0.5 --0.0890009 0.118943 0.0464523 0.608622 0.5 --0.0897172 0.118919 0.0457459 0.740109 0.5 --0.0920915 0.118829 0.0424602 0.656431 0.5 --0.09254 0.118824 0.0413658 0.61864 0.5 --0.0808743 0.136754 0.0491531 0.48828 0.5 --0.0823735 0.148711 0.0361489 0.406162 0.392873 --0.0308715 0.0522855 0.0371048 0.376195 0.5 --0.0296361 0.0522471 0.0373693 0.379198 0.5 --0.0285281 0.0522637 0.0377683 0.363149 0.5 --0.0276636 0.0522618 0.0383069 0.385665 0.5 --0.0267998 0.0522633 0.0388472 0.415415 0.5 --0.0260899 0.0522789 0.0395517 0.387169 0.5 --0.0782715 0.168666 -0.0333616 0.390307 0.5 --0.0729482 0.0914984 0.0411605 0.550317 0.5 --0.0766837 0.0941158 0.0377884 0.684496 0.5 --0.0209524 0.0920017 0.0529687 0.495081 0.5 --0.0847679 0.10454 0.0257763 0.683023 0.5 --0.082659 0.0871422 0.0312687 0.747502 0.5 --0.0277494 0.0764615 0.044728 0.748198 0.5 --0.0883766 0.141855 0.0366703 0.590013 0.5 --0.0905557 0.120241 0.0451196 0.696309 0.5 --0.0270064 0.0808968 0.0494715 0.673812 0.5 --0.0818245 0.107456 0.0283887 0.473736 0.5 --0.014359 0.102532 0.0433738 0.594053 0.5 --0.0254372 0.0796492 0.0521904 0.753754 0.5 --0.0819254 0.12582 0.0519232 0.557938 0.5 --0.0827882 0.125806 0.051363 0.563487 0.468283 --0.0716366 0.0874136 0.0414306 0.63409 0.5 --0.0790974 0.103427 0.0328545 0.674507 0.413096 --0.0805064 0.103384 0.0314383 0.656802 0.5 --0.0790371 0.0873264 0.0361062 0.763967 0.5 --0.0473947 0.0359569 0.0452833 0.182713 0.5 --0.0910251 0.124245 0.0440568 0.547502 0.5 --0.0689412 0.079144 0.0404114 0.603617 0.5 --0.0912832 0.125583 0.0428488 0.64579 0.5 --0.0892074 0.127019 0.0449806 0.567117 0.480403 --0.091259 0.117481 0.0430647 0.696501 0.5 --0.0659073 0.110934 -0.0126703 0.490045 0.5 -0.0101829 0.0893384 -0.0312282 0.627702 0.5 --0.0873895 0.143261 0.0370491 0.580819 0.5 --0.0776054 0.0804635 0.0348861 0.763185 0.5 --0.0786774 0.168631 -0.0343418 0.56298 0.5 --0.0906238 0.143032 0.0276653 0.572838 0.5 --0.0251464 0.0824617 0.0532115 0.705826 0.5 --0.0267799 0.0893467 -0.0340353 0.395338 0.5 --0.0467828 0.168244 0.000200438 0.333114 0.5 --0.0779669 0.165862 -0.0278956 0.39202 0.5 --0.0800641 0.107437 0.0308747 0.483506 0.5 --0.0907644 0.142021 0.0271708 0.72795 0.5 --0.0808858 0.0872378 0.0337267 0.754934 0.5 --0.0900228 0.148451 0.0254546 0.593752 0.443016 --0.0843383 0.133967 0.0484219 0.555412 0.5 --0.0761205 0.0927947 0.038671 0.694211 0.426514 --0.0284346 0.0849121 0.0465284 0.472017 0.5 --0.0779458 0.175786 -0.0452228 0.272542 0.5 --0.0272404 0.0877435 0.0480762 0.486525 0.5 --0.0144506 0.103914 0.0432646 0.716939 0.5 --0.0247603 0.0865587 0.0527086 0.617709 0.5 --0.0280294 0.0835807 0.0475884 0.541092 0.401126 --0.0788492 0.100759 0.0340965 0.689071 0.5 --0.0879532 0.117604 0.0468721 0.573197 0.5 --0.081698 0.0939818 0.0329068 0.767804 0.5 --0.0852266 0.0854944 0.0253873 0.664079 0.469307 --0.0830725 0.139367 0.045586 0.400971 0.476362 --0.0558236 0.0526652 0.00846948 0.609842 0.5 --0.0552284 0.0527023 0.00927604 0.585124 0.5 --0.0546238 0.0527377 0.0100793 0.470454 0.5 --0.0539349 0.0527611 0.0108042 0.434881 0.5 --0.0532861 0.0527919 0.0115704 0.548411 0.5 --0.0525855 0.0528134 0.0122839 0.53752 0.5 --0.051888 0.0528335 0.0130005 0.540137 0.5 --0.0512535 0.0528689 0.0137817 0.542139 0.5 --0.0505797 0.0528906 0.0145102 0.543391 0.5 --0.0500211 0.0529295 0.0155558 0.542904 0.5 --0.0874477 0.148578 0.0299355 0.44849 0.473111 --0.0786972 0.0940445 0.0355566 0.732516 0.5 --0.0832791 0.0884633 0.0304387 0.755817 0.5 --0.0775111 0.0860271 0.0374369 0.650715 0.482006 --0.0768401 0.178514 -0.0509284 0.309932 0.08919 --0.0871595 0.128427 0.0471391 0.672228 0.5 --0.0774115 0.160346 -0.0169397 0.535329 0.5 --0.0864194 0.133874 0.0462429 0.702359 0.5 --0.0728513 0.077742 0.0372898 0.769095 0.5 --0.0756877 0.15767 -0.00739081 0.54061 0.5 --0.0509412 0.0543847 0.0317288 0.66814 0.45257 --0.050518 0.054445 0.0327051 0.698843 0.5 --0.0499825 0.0544896 0.033589 0.729736 0.5 --0.0494012 0.054529 0.0344155 0.734221 0.5 --0.0487872 0.0545643 0.0352206 0.72274 0.5 --0.0481437 0.0545922 0.0360102 0.736302 0.5 --0.0474886 0.05462 0.0367747 0.757824 0.5 --0.0467288 0.054632 0.0374442 0.562109 0.5 --0.0459023 0.0546326 0.0380387 0.485362 0.440372 --0.0450103 0.054631 0.0385549 0.477789 0.462352 --0.0781434 0.0927222 0.0364655 0.695217 0.421645 --0.0759273 0.08606 0.0386654 0.652126 0.5 --0.0903951 0.118903 0.0450094 0.727275 0.5 --0.0480871 0.166778 0.00155196 0.343985 0.396183 --0.0831336 0.135327 0.0485953 0.51936 0.5 --0.0860496 0.128472 0.048867 0.668427 0.5 --0.0819634 0.103331 0.0300688 0.628218 0.5 --0.0794921 0.146102 0.0417961 0.391098 0.5 --0.0238593 0.0838986 0.0547079 0.623086 0.5 --0.028646 0.0535523 0.0364431 0.583932 0.5 --0.0278445 0.0535534 0.0370258 0.628718 0.5 --0.0270646 0.053566 0.0376661 0.620973 0.5 --0.0264336 0.0535943 0.0384453 0.618664 0.5 --0.02575 0.0536249 0.0391706 0.619297 0.5 --0.0251991 0.0536651 0.0400375 0.541998 0.5 --0.0247513 0.0944605 0.0453863 0.564245 0.5 --0.0240199 0.0537379 0.0416895 0.433194 0.5 --0.0241215 0.0944713 0.0461972 0.290213 0.449493 --0.015259 0.0984512 0.0471298 0.271403 0.401363 --0.0774944 0.092744 0.0372295 0.695738 0.5 --0.0744413 0.0833098 0.038687 0.657281 0.473269 --0.0782747 0.174383 -0.0433933 0.285458 0.427884 --0.0767419 0.164619 -0.0220172 0.450417 0.447369 --0.0752579 0.0874199 0.0393733 0.636169 0.5 --0.0492522 0.165358 0.00274428 0.330624 0.5 --0.0258761 0.0796032 0.0512286 0.740813 0.430554 --0.0776167 0.0914005 0.037394 0.711087 0.5 --0.0517065 0.163863 0.00241874 0.363639 0.5 --0.0680469 0.0887699 0.043444 0.532502 0.5 --0.0679768 0.0791427 0.0408622 0.608491 0.5 --0.0838753 0.135332 0.0479212 0.528254 0.477973 --0.0798409 0.103395 0.0321858 0.670749 0.5 --0.0515592 0.162515 0.00512403 0.30846 0.468077 --0.0873717 0.0895698 0.0245766 0.692699 0.5 --0.0678178 0.0923118 -0.0167386 0.65061 0.5 --0.0796939 0.0873057 0.0353613 0.756711 0.5 --0.0438294 0.0913555 -0.0224139 0.591637 0.5 --0.0782363 0.119072 0.0512696 0.577604 0.5 --0.0842997 0.131249 0.0498733 0.56734 0.5 --0.0816839 0.0830971 0.0318157 0.738022 0.5 --0.0814225 0.0858535 0.0328878 0.759606 0.5 --0.0803036 0.100707 0.0327244 0.685187 0.5 --0.089811 0.143072 0.0296513 0.550626 0.5 --0.0909792 0.143017 0.0266346 0.710846 0.5 --0.0886495 0.113065 0.0417436 0.381474 0.5 --0.0908165 0.145736 0.0263481 0.531962 0.5 --0.0893654 0.145802 0.0291185 0.533567 0.474337 --0.0791015 0.170034 -0.0382691 0.505978 0.5 --0.0786209 0.174303 -0.0444916 0.396308 0.5 --0.0801387 0.142096 0.0454029 0.393256 0.464149 --0.0874177 0.131128 0.0459004 0.592209 0.5 --0.0281854 0.174153 -0.0178233 0.48513 0.5 --0.0791017 0.171279 -0.0410322 0.40225 0.421826 --0.0752954 0.15636 -0.00353298 0.335506 0.5 --0.0725865 0.0874189 0.0409577 0.647638 0.5 --0.073587 0.148629 -0.0261691 0.279746 0.5 --0.0814849 0.0872077 0.0329213 0.756273 0.5 --0.0858041 0.131212 0.0485351 0.603478 0.5 --0.0789661 0.0859916 0.0360799 0.782629 0.5 --0.0228892 0.0739252 0.0512281 0.761958 0.5 --0.0233826 0.0866124 0.0541509 0.571572 0.5 --0.0284893 0.0835322 0.0466293 0.514586 0.5 --0.0923571 0.121517 0.0426088 0.590665 0.5 --0.0748611 0.163212 -0.0154286 0.265593 0.5 --0.077476 0.164468 -0.0240677 0.424559 0.455853 --0.0723659 0.100858 0.0389128 0.537945 0.5 --0.0795725 0.091329 0.0351135 0.734743 0.5 -0.00712427 0.107292 -0.0202517 0.808693 0.5 --0.0551395 0.054088 0.00915623 0.475035 0.5 --0.0546003 0.0541349 0.0100271 0.353423 0.5 --0.0539359 0.0541543 0.0107637 0.320666 0.5 --0.0533105 0.0541891 0.0115512 0.368927 0.5 --0.052616 0.0542078 0.012269 0.36862 0.5 --0.0519452 0.0542248 0.0130044 0.368447 0.5 --0.0513326 0.0542594 0.0137993 0.365362 0.5 --0.0507132 0.054338 0.0146004 0.343364 0.5 --0.0503289 0.0543622 0.0156654 0.32042 0.5 --0.0505672 0.0545537 0.0173366 0.2659 0.5 --0.0509946 0.0547172 0.0191515 0.262945 0.5 --0.0514204 0.0548853 0.0209522 0.417061 0.5 --0.0518764 0.0550741 0.0228473 0.470855 0.5 --0.0520805 0.0552272 0.0244826 0.695325 0.5 --0.0521218 0.0553341 0.025863 0.747772 0.5 --0.0774203 0.177255 -0.0472003 0.206191 0.279993 --0.0860007 0.147303 0.0341634 0.444548 0.5 --0.0861837 0.0868588 0.0248974 0.671888 0.5 --0.0512935 0.0556822 0.0305914 0.663652 0.5 --0.0509119 0.055753 0.0316394 0.693525 0.444691 --0.0504539 0.0558071 0.0326022 0.708872 0.5 --0.0499219 0.0558508 0.0334877 0.742166 0.5 --0.0493842 0.0558982 0.0343669 0.768296 0.5 --0.0487687 0.0559317 0.0351683 0.801044 0.5 --0.0481052 0.0559539 0.0359192 0.800191 0.5 --0.0474593 0.0559824 0.0367034 0.761503 0.5 --0.0467634 0.0560036 0.0374321 0.74153 0.5 --0.0459594 0.0560107 0.0380589 0.595137 0.5 --0.0451321 0.0560164 0.0386443 0.50531 0.469739 --0.0840259 0.124392 0.0498267 0.613753 0.5 --0.0883316 0.128385 0.0454834 0.599358 0.5 --0.0909787 0.118866 0.0441649 0.685094 0.5 --0.0775185 0.147451 0.0411778 0.40275 0.47537 --0.0841715 0.0870272 0.0285556 0.725999 0.432755 --0.0902093 0.131023 0.0402096 0.490606 0.478348 --0.0293156 0.0820403 0.0446588 0.66352 0.5 --0.0895091 0.147137 0.0278175 0.652439 0.5 --0.0698033 0.087974 -0.016854 0.50509 0.45244 --0.073748 0.0805288 0.0380979 0.638095 0.5 --0.027701 0.0549269 0.0368456 0.757221 0.5 --0.0269873 0.0549465 0.0375414 0.727067 0.5 --0.0263571 0.0549776 0.0383278 0.692126 0.5 --0.0258056 0.0550238 0.0391969 0.667478 0.5 --0.0252161 0.0550594 0.0400126 0.582228 0.5 --0.0246982 0.0551057 0.0409028 0.602148 0.5 --0.0240922 0.0551393 0.0417051 0.482081 0.5 --0.0235187 0.0551838 0.0425567 0.541713 0.5 --0.0229321 0.055215 0.043371 0.592486 0.5 --0.0224297 0.0552774 0.0442986 0.710455 0.5 --0.0218343 0.0553077 0.0451067 0.719649 0.5 --0.0212331 0.0553385 0.0459146 0.60734 0.5 --0.0206125 0.0553712 0.0467047 0.624217 0.5 --0.0199502 0.0553853 0.0474489 0.640723 0.5 --0.0192766 0.0554309 0.0481999 0.638037 0.5 --0.0185768 0.055451 0.0489119 0.639182 0.5 --0.0178669 0.0554748 0.0496143 0.646007 0.5 --0.0170933 0.0554767 0.0502631 0.645432 0.5 --0.0839307 0.125043 -0.00388859 0.431317 0.5 --0.0743429 0.0777095 0.0359578 0.776958 0.5 --0.0737727 0.0928414 0.040556 0.549706 0.5 --0.0775055 0.120428 0.0519362 0.577165 0.474198 --0.022007 0.0754165 0.0531212 0.727741 0.5 --0.0688111 0.0922897 -0.0164711 0.739073 0.5 --0.0715501 0.0763344 0.0374538 0.623168 0.480517 --0.0878291 0.0895228 0.0236162 0.677786 0.5 --0.0783775 0.103446 0.0335489 0.670285 0.5 --0.0858505 0.116285 0.047652 0.539772 0.5 --0.0810823 0.146103 0.0405774 0.471449 0.5 --0.0890856 0.122978 0.0464209 0.526399 0.5 --0.0723648 0.0763024 0.0368597 0.618217 0.5 --0.0803572 0.0803552 0.0319871 0.701676 0.5 --0.0887798 0.140493 0.0370948 0.469374 0.5 --0.086772 0.140601 0.0407491 0.641279 0.5 --0.0854765 0.145991 0.0364919 0.451945 0.469105 --0.0860963 0.145967 0.0357039 0.461958 0.5 --0.0899184 0.131005 0.0413145 0.514455 0.5 --0.0235739 0.0944939 0.0470656 0.289555 0.5 --0.0201887 0.0754016 0.0541402 0.601028 0.471465 --0.0558134 0.0883826 -0.0218608 0.567534 0.5 --0.0802965 0.0872747 0.0345612 0.758527 0.5 --0.0839857 0.132609 0.0495198 0.546833 0.474263 --0.0884601 0.0976543 0.0226015 0.54475 0.5 --0.0680529 0.0874243 0.0435129 0.566162 0.5 --0.0779467 0.170107 -0.0351609 0.284219 0.442821 --0.0817242 0.148679 0.0369003 0.43841 0.5 --0.083623 0.0857135 0.0294569 0.697648 0.5 --0.0884317 0.131079 0.0440854 0.560368 0.5 --0.0827096 0.131285 0.0511192 0.462644 0.467708 --0.0818286 0.147374 0.0384552 0.472471 0.5 --0.0917791 0.117463 0.0421754 0.674844 0.5 --0.0208533 0.0866413 0.055877 0.551349 0.5 --0.0217999 0.0866355 0.0553929 0.543431 0.5 --0.0227215 0.0797443 0.0551012 0.565257 0.5 --0.0827616 0.091206 0.0312465 0.765032 0.5 --0.0851811 0.0897279 0.0280525 0.765522 0.5 --0.037803 0.0885803 -0.0235006 0.891961 0.5 --0.075255 0.0832856 0.0380964 0.651166 0.5 --0.0843505 0.0842533 0.0274024 0.647719 0.5 --0.0506733 0.162525 0.00564316 0.33037 0.5 --0.0880436 0.0977019 0.0235765 0.562895 0.5 --0.0875711 0.0977385 0.0245274 0.58634 0.5 --0.0535232 0.0556038 0.0117195 0.205295 0.5 --0.0528896 0.0556157 0.0124842 0.183534 0.5 --0.0522878 0.055669 0.0133058 0.188372 0.5 --0.0770086 0.090082 0.0382275 0.742914 0.5 --0.0512969 0.0556828 0.0150377 0.187644 0.5 --0.0515288 0.0559219 0.0167726 0 0 --0.052022 0.0561083 0.0186673 0.103062 0.5 --0.0519257 0.0563169 0.0201359 0.248817 0.5 --0.0520277 0.0563658 0.0215194 0.368673 0.5 --0.0521809 0.0564969 0.0230721 0.494326 0.5 --0.0522524 0.0566167 0.0245415 0.54582 0.5 --0.0522528 0.0567257 0.0259279 0.596004 0.5 --0.0521438 0.0568294 0.0272279 0.661158 0.5 --0.0519669 0.0569186 0.0284516 0.529445 0.466181 --0.0516556 0.0569841 0.0295138 0.605759 0.46267 --0.0513349 0.057067 0.0306313 0.629895 0.5 --0.0509259 0.0571242 0.0316152 0.70216 0.44211 --0.050471 0.0571806 0.032579 0.713968 0.5 --0.0499657 0.0572278 0.0334797 0.745792 0.5 --0.0493712 0.0572598 0.0342952 0.766982 0.5 --0.0487856 0.0573034 0.0351442 0.794666 0.5 --0.0481285 0.0573264 0.0358964 0.801508 0.5 --0.0474866 0.0573572 0.0366835 0.797418 0.5 --0.0467953 0.0573798 0.0374139 0.626623 0.5 --0.0460532 0.057401 0.0380948 0.606549 0.5 --0.0452512 0.0574076 0.0387158 0.513587 0.5 --0.044324 0.0573856 0.0392571 0.538564 0.5 --0.0870447 0.0977755 0.0254107 0.591308 0.5 --0.0915894 0.118845 0.0433559 0.663284 0.5 --0.0812562 0.103354 0.0307723 0.646795 0.421005 --0.0852113 0.0869359 0.026743 0.702827 0.5 --0.0278047 0.074956 0.0433932 0.745508 0.5 --0.024687 0.0892375 0.0511394 0.715793 0.5 --0.0229394 0.0985982 0.0448104 0.489317 0.5 --0.090122 0.144414 0.0285066 0.555527 0.449756 --0.0689571 0.134062 -0.00839151 0.645761 0.5 --0.0865647 0.0978132 0.0263535 0.604102 0.5 --0.0270215 0.0563432 0.0375362 0.794348 0.5 --0.0263916 0.0563779 0.0383176 0.750117 0.5 --0.0258019 0.0564099 0.0391373 0.717197 0.5 --0.0252694 0.0564528 0.0400125 0.719465 0.5 --0.0247271 0.0564997 0.0408849 0.760297 0.5 --0.0241328 0.0565311 0.0416958 0.768223 0.5 --0.0235633 0.0565791 0.042552 0.615079 0.5 --0.0229828 0.0566251 0.0433992 0.657148 0.5 --0.0223745 0.0566587 0.0441983 0.713722 0.5 --0.0218427 0.0567021 0.0450804 0.61101 0.5 --0.0213048 0.0567472 0.0459531 0.629327 0.5 --0.0207237 0.0567772 0.0467736 0.675231 0.5 --0.0201321 0.0568083 0.0475876 0.689706 0.5 --0.0194917 0.0568426 0.0483686 0.676396 0.5 --0.0188005 0.0568615 0.0490899 0.677583 0.5 --0.0180891 0.0568831 0.0497969 0.670005 0.5 --0.017374 0.0569064 0.0504968 0.675615 0.5 --0.0165708 0.056922 0.0510974 0.561318 0.5 --0.0859938 0.0978404 0.0272064 0.62728 0.429982 --0.0853874 0.0978708 0.0280062 0.663746 0.5 --0.0129906 0.0568055 0.0517595 0.770506 0.426742 --0.0121151 0.0568039 0.0522997 0.761492 0.422087 --0.0847868 0.0979024 0.0288114 0.693589 0.421892 --0.0218601 0.0893132 0.0539604 0.542347 0.47125 --0.0784828 0.175619 -0.0475153 0.29853 0.405019 --0.0905785 0.121592 0.0451008 0.651513 0.5 --0.0867319 0.116264 0.0471164 0.529218 0.471509 --0.0769289 0.125211 -0.00745968 0.440604 0.5 --0.0861214 0.132549 0.0473951 0.561193 0.485317 --0.0203263 0.0825295 0.0568715 0.510377 0.5 --0.0846517 0.135301 0.0472783 0.701363 0.5 --0.0869182 0.148604 0.0308154 0.563017 0.419037 --0.078467 0.147461 0.0407301 0.400942 0.476461 --0.0841353 0.146019 0.0379782 0.39613 0.5 --0.0834012 0.146003 0.0386574 0.487131 0.5 --0.0826957 0.0898386 0.0312187 0.762829 0.5 --0.093479 0.129659 0.0212406 0.819679 0.5 --0.0769167 0.0873975 0.0382106 0.64532 0.483845 --0.0841699 0.0979316 0.0296062 0.707873 0.5 --0.0889602 0.131049 0.0432066 0.535668 0.5 --0.0835274 0.0979539 0.0303801 0.713912 0.5 --0.0727351 0.0832969 0.03983 0.663529 0.5 --0.0775221 0.104823 0.0340694 0.575984 0.5 --0.0828557 0.0979824 0.0311146 0.709828 0.5 --0.0808373 0.0858965 0.0337281 0.758609 0.5 --0.085378 0.128494 0.0496125 0.536918 0.5 --0.026277 0.0795343 0.0501986 0.712112 0.5 --0.085608 0.144617 0.0380805 0.482672 0.46949 --0.0821992 0.0980013 0.0318751 0.69539 0.5 --0.0789005 0.172846 -0.0440952 0.356752 0.459868 --0.0918049 0.121541 0.0434848 0.611833 0.5 --0.0825925 0.0857998 0.0312629 0.742044 0.5 --0.0783551 0.090033 0.0367591 0.737126 0.5 --0.0815235 0.0899003 0.0328752 0.74538 0.5 --0.0833347 0.0898073 0.030438 0.768701 0.5 --0.0831943 0.132626 0.0501472 0.53473 0.5 --0.0872251 0.0950749 0.0256867 0.655502 0.440942 --0.0843417 0.0952366 0.029868 0.752957 0.5 --0.0823976 0.095314 0.0321564 0.75885 0.5 --0.0787271 0.0954037 0.0355432 0.753183 0.5 --0.0855353 0.0938173 0.0282665 0.748009 0.5 --0.0696779 0.086056 0.0423345 0.613783 0.429099 --0.0256024 0.0918183 0.0477571 0.43465 0.5 --0.0740754 0.0791322 0.0370556 0.776904 0.5 --0.0801896 0.0926573 0.034266 0.761633 0.5 --0.0788782 0.172865 -0.0427748 0.447818 0.5 --0.0815066 0.0980245 0.032594 0.697179 0.5 --0.0550494 0.0577849 0.0202145 0.0988005 0.5 --0.0542607 0.057796 0.0208407 0.214291 0.5 --0.0535372 0.0578641 0.0215172 0.181085 0.340167 --0.0527991 0.0578707 0.0222512 0.309869 0.5 --0.0526679 0.0579784 0.0235498 0.346776 0.5 --0.0526119 0.0580506 0.0248562 0.402702 0.5 --0.0525203 0.0581461 0.0261597 0.482304 0.5 --0.0523515 0.0582314 0.0273813 0.472132 0.5 --0.0521074 0.0583062 0.0285239 0.463183 0.5 --0.0517937 0.0583908 0.0296448 0.496832 0.5 --0.0513866 0.0584422 0.0306256 0.513045 0.5 --0.0509402 0.0584984 0.0315938 0.646748 0.438258 --0.050486 0.0585567 0.0325562 0.655701 0.5 --0.0499829 0.0586014 0.0334591 0.686672 0.5 --0.0494324 0.0586474 0.0343285 0.740694 0.5 --0.0488192 0.0586801 0.0351334 0.783831 0.5 --0.0481968 0.058714 0.0359259 0.638171 0.5 --0.0475224 0.0587349 0.0366732 0.648056 0.5 --0.0468723 0.0587675 0.0374438 0.643096 0.5 --0.0461509 0.05879 0.0381434 0.626526 0.5 --0.0453044 0.0587827 0.038737 0.511244 0.5 --0.0444225 0.0587761 0.0392912 0.537554 0.467495 --0.0807821 0.0980376 0.0332837 0.707916 0.414225 --0.083014 0.0816043 0.0289568 0.681454 0.5 --0.0536029 0.162357 0.00297376 0.31879 0.5 --0.0823499 0.132665 0.0507367 0.434302 0.5 --0.073889 0.119392 -0.00790358 0.568703 0.5 --0.0832566 0.147367 0.0370632 0.460661 0.5 --0.0870878 0.147265 0.0324302 0.601407 0.5 --0.0888345 0.136443 0.0400961 0.522808 0.5 --0.0753611 0.0724331 0.0302407 0.646336 0.5 --0.0800787 0.0980611 0.0339873 0.691155 0.5 --0.0271594 0.0577744 0.0376032 0.867457 0.5 --0.0264004 0.0577755 0.0382862 0.801298 0.5 --0.0258758 0.0578187 0.0391737 0.765401 0.5 --0.0252734 0.05785 0.0399799 0.558281 0.5 --0.0247501 0.0578943 0.0408638 0.766568 0.5 --0.0241838 0.0579409 0.0417219 0.574654 0.5 --0.023566 0.0579721 0.0425175 0.512141 0.5 --0.0230106 0.0580182 0.0433839 0.540914 0.5 --0.0224495 0.0580629 0.0442448 0.556089 0.5 --0.0219078 0.0581082 0.0451165 0.610774 0.5 --0.0213288 0.0581411 0.0459349 0.661948 0.5 --0.0207807 0.0581858 0.0468036 0.685204 0.5 --0.0202474 0.0582316 0.0476806 0.70832 0.5 --0.0196496 0.0582641 0.0484904 0.695129 0.5 --0.0190471 0.0582949 0.0492947 0.686693 0.5 --0.018422 0.0583296 0.0500808 0.690006 0.5 --0.0176504 0.0583335 0.0507279 0.589037 0.5 --0.0793348 0.0980896 0.0346601 0.698709 0.5 --0.0785905 0.0980977 0.0353146 0.580006 0.417494 --0.0778197 0.0981202 0.035968 0.588365 0.5 --0.0134137 0.0581871 0.0521911 0.758012 0.427915 --0.0126763 0.05824 0.052838 0.633891 0.430708 --0.0117789 0.0582633 0.0533407 0.654143 0.5 --0.0770206 0.0981288 0.0365817 0.579324 0.476564 --0.0762222 0.0981393 0.0371985 0.530476 0.5 --0.0784369 0.170061 -0.0360578 0.28133 0.5 --0.0882956 0.116235 0.0458325 0.659946 0.5 --0.0812513 0.108802 0.0293202 0.471742 0.5 --0.086716 0.132512 0.0465811 0.714387 0.5 --0.0839725 0.0897798 0.0296574 0.767456 0.5 --0.0746849 0.14995 -0.0294029 0.226545 0.463226 --0.0826845 0.0884898 0.0312484 0.756725 0.5 --0.0754309 0.0981509 0.0378194 0.503603 0.476013 --0.0245078 0.0767611 0.0513331 0.754543 0.5 --0.0869041 0.141929 0.0394374 0.60064 0.5 --0.0720231 0.149543 -0.0391183 0.155863 0.0715468 --0.0746646 0.0981736 0.0384691 0.491277 0.483122 --0.0799271 0.140795 0.0466609 0.396964 0.5 --0.0739256 0.098177 0.0391323 0.467606 0.477362 --0.073083 0.0981963 0.0397086 0.462723 0.5 --0.072166 0.0982206 0.0402281 0.474156 0.477381 --0.0788582 0.171448 -0.0399026 0.363751 0.5 --0.078132 0.172939 -0.0407193 0.245593 0.5 --0.0205797 0.0906821 0.0540574 0.548761 0.419537 --0.0608162 0.0881975 -0.019441 0.468808 0.5 --0.0802909 0.104732 0.0311813 0.59899 0.5 --0.0709488 0.0833216 0.0408543 0.666184 0.433767 --0.0777311 0.0887218 0.0375819 0.625099 0.5 --0.0762231 0.16043 -0.0125715 0.341472 0.5 --0.0164738 0.10119 0.0439603 0.653853 0.5 --0.0861948 0.1005 0.0258994 0.56541 0.5 --0.0753955 0.0901087 0.0394375 0.586103 0.5 --0.0828121 0.0830332 0.030132 0.702986 0.5 --0.0755506 0.0791122 0.0357048 0.763952 0.5 --0.0618089 0.0881716 -0.0191682 0.572033 0.5 -0.00911841 0.110151 -0.0195223 0.851956 0.5 --0.0311414 0.168206 -0.0166543 0.484785 0.5 --0.0681193 0.15804 -0.05439 0.297862 0.399879 --0.0661323 0.162373 -0.0581655 0.432601 0.358762 --0.0228778 0.10587 -0.0225138 0.696186 0.5 --0.0441607 0.162142 -0.00945516 0.403201 0.39234 --0.0248813 0.105869 -0.0225199 0.660863 0.5 --0.0338474 0.0972112 -0.023083 0.867256 0.5 --0.0690618 0.110676 0.0409548 0.540207 0.5 --0.0534556 0.0353304 0.0456783 0.715811 0.5 --0.0171444 0.168289 -0.0207283 0.726197 0.5 --0.0582662 0.0597287 0.0219286 0.231341 0.5 --0.0572939 0.0597447 0.0223608 0.195745 0.5 --0.0559881 0.0594067 0.0225062 0 0 --0.055281 0.0594285 0.0232183 0.104739 0.5 --0.0544894 0.0594391 0.0238452 0.224479 0.5 --0.0537039 0.0594504 0.0244709 0.275135 0.5 --0.053144 0.0595659 0.0253997 0.245958 0.5 --0.052965 0.0595916 0.0265588 0.311615 0.5 --0.0526285 0.0596472 0.0276152 0.397883 0.5 --0.0523454 0.059725 0.0287459 0.360377 0.5 --0.0519381 0.0597689 0.0297286 0.380841 0.438479 --0.0515122 0.0598238 0.030703 0.454806 0.5 --0.0510675 0.0598803 0.0316706 0.520363 0.5 --0.050588 0.0599426 0.0326193 0.598485 0.5 --0.0500753 0.0599861 0.0335137 0.631515 0.5 --0.0494761 0.0600183 0.034326 0.56148 0.5 --0.0488628 0.0600536 0.0351294 0.588837 0.5 --0.0482359 0.0600875 0.0359237 0.617596 0.5 --0.0475947 0.0601221 0.0367025 0.639064 0.5 --0.0469178 0.060141 0.0374462 0.666026 0.5 --0.0461946 0.0601644 0.0381445 0.665484 0.5 --0.0453678 0.060156 0.0387657 0.54397 0.5 --0.044527 0.0601701 0.0393419 0.561475 0.470205 --0.0436469 0.0601588 0.0398932 0.554058 0.463499 --0.0713282 0.0982044 0.0407618 0.482207 0.47081 --0.0896679 0.144435 0.0294634 0.536904 0.5 --0.0900837 0.117534 0.0447346 0.709863 0.5 --0.0243811 0.0738035 0.0484997 0.743902 0.5 --0.0825371 0.14737 0.037761 0.470573 0.416754 --0.0729927 0.08468 0.0400334 0.675532 0.5 --0.090033 0.147105 0.0269347 0.643817 0.437792 --0.0884181 0.136485 0.0410708 0.532455 0.5 --0.0774025 0.100791 0.0354679 0.697605 0.42485 --0.024804 0.0737635 0.0475256 0.696564 0.5 --0.0265403 0.0592021 0.0383808 0.587642 0.5 --0.0259535 0.0592275 0.0392168 0.596823 0.5 --0.025376 0.059259 0.0400414 0.605343 0.5 --0.0248162 0.0593033 0.0409035 0.607795 0.5 --0.0242184 0.0593353 0.0417104 0.609138 0.5 --0.0236236 0.0593674 0.0425181 0.615887 0.5 --0.0230608 0.0594124 0.0433799 0.54239 0.5 --0.0225179 0.0594554 0.0442529 0.560086 0.5 --0.0219738 0.059501 0.0451263 0.603994 0.5 --0.0214151 0.0595466 0.0459898 0.660429 0.5 --0.0208141 0.0595795 0.0467936 0.703156 0.5 --0.0202578 0.0596247 0.0476545 0.72689 0.5 --0.0197076 0.059653 0.0484949 0.734354 0.5 --0.0191672 0.0596981 0.049368 0.720921 0.5 --0.0185705 0.0597254 0.0501838 0.70539 0.5 --0.017912 0.059765 0.0509406 0.704473 0.5 --0.0810292 0.0940061 0.0336494 0.769 0.5 --0.0770465 0.161776 -0.0174081 0.62231 0.5 --0.025733 0.0751362 0.0469781 0.655756 0.5 --0.0140108 0.0596764 0.0527295 0.614124 0.415331 --0.0132756 0.0597275 0.0533794 0.628579 0.439481 --0.0771598 0.160359 -0.0157997 0.508897 0.5 --0.0278572 0.0972984 -0.0239915 0.572357 0.484126 --0.0855508 0.0883229 0.0270467 0.727706 0.5 --0.0917483 0.122888 0.0433845 0.566068 0.5 --0.0830361 0.0952877 0.0313817 0.748847 0.5 --0.0890068 0.11621 0.0451247 0.653766 0.5 --0.0447239 0.169659 -0.000473292 0.364609 0.5 --0.0777124 0.0900603 0.0375253 0.743453 0.5 --0.0687671 0.0900946 0.0427048 0.526821 0.446122 --0.0689033 0.0887623 0.0428815 0.542332 0.423156 --0.0328429 0.0972178 -0.0231932 0.877587 0.5 --0.0728066 0.087878 -0.0157134 0.423115 0.432185 --0.0874564 0.141909 0.0385732 0.596349 0.5 --0.0770308 0.167319 -0.027484 0.35647 0.451457 --0.0461657 0.168264 0.000998904 0.305756 0.5 --0.0822803 0.139383 0.0462108 0.399599 0.5 --0.080721 0.0845507 0.0336553 0.764743 0.5 --0.0879683 0.133795 0.0435491 0.541344 0.5 --0.0857293 0.121702 0.0488414 0.581003 0.396732 --0.0784376 0.171472 -0.0389273 0.305638 0.5 --0.0714338 0.100882 0.0394174 0.554427 0.427489 --0.0775178 0.172972 -0.0399134 0.235435 0.412203 --0.0876142 0.116272 0.0465171 0.535547 0.5 --0.0815894 0.0926183 0.0328436 0.770644 0.5 --0.0774559 0.158948 -0.0154272 0.57693 0.5 --0.0218769 0.105849 -0.0224625 0.725593 0.5 --0.0856352 0.151298 0.0280417 0.28762 0.5 --0.0796666 0.0886389 0.0352895 0.746577 0.5 --0.0763386 0.161799 -0.0152953 0.390912 0.5 --0.0755712 0.102178 0.0364401 0.536049 0.439031 --0.0829735 0.127181 0.0515051 0.551152 0.460882 --0.0132685 0.101107 0.0437078 0.441949 0.5 --0.0838411 0.0884243 0.0295799 0.753576 0.5 --0.0215329 0.0768164 0.0540336 0.586923 0.5 --0.052073 0.150157 -0.00315276 0.533104 0.5 --0.0759274 0.108411 0.0376421 0.983562 0.5 --0.075716 0.071204 0.0277224 0.607658 0.47867 --0.0819225 0.125087 -0.0048212 0.491185 0.5 --0.0658988 0.116581 -0.00961273 0.56955 0.5 --0.0268555 0.0987274 -0.0239779 0.57512 0.480283 --0.0748436 0.114924 -0.0060803 0.454116 0.5 --0.0238738 0.105835 -0.0226784 0.672679 0.5 --0.0298441 0.0972531 -0.0235715 0.830462 0.5 --0.0669546 0.128237 -0.00895731 0.821565 0.5 --0.0639758 0.128226 -0.00858393 0.642138 0.5 --0.0470567 0.069722 0.0403886 0.584254 0.5 --0.0371896 0.166685 -0.0135589 0.472964 0.5 --0.07397 0.135486 -0.00709777 0.489504 0.435802 --0.0530656 0.150158 -0.00286677 0.523242 0.5 --0.0764634 0.157616 -0.00941011 0.717676 0.5 --0.0568378 0.0613597 0.0260949 0.453526 0.5 --0.0555168 0.0610654 0.0262173 0 0 --0.0548951 0.0610993 0.0270145 0.113106 0.5 --0.0539202 0.0610131 0.0274265 0.180044 0.5 --0.053287 0.0610602 0.0282137 0.205745 0.5 --0.0527176 0.0611373 0.029069 0.251702 0.5 --0.0522199 0.061167 0.0299696 0.333629 0.5 --0.0517688 0.0612265 0.030932 0.370126 0.5 --0.0512549 0.0612644 0.0318233 0.486807 0.5 --0.0507783 0.0613366 0.0327704 0.470477 0.5 --0.0501963 0.061364 0.033592 0.514749 0.5 --0.0495652 0.0614019 0.0343808 0.579435 0.5 --0.0489426 0.0614374 0.0351759 0.60094 0.5 --0.0483119 0.0614742 0.035964 0.608859 0.5 --0.047648 0.0614917 0.0367154 0.626735 0.5 --0.0469959 0.06153 0.0374819 0.674519 0.5 --0.0462425 0.0615364 0.0381535 0.695455 0.5 --0.0455023 0.0615609 0.0388319 0.573371 0.5 --0.0446553 0.0615526 0.0394256 0.584389 0.476409 --0.0438223 0.0615675 0.0400039 0.589696 0.5 --0.0842132 0.092522 0.0298256 0.76696 0.5 --0.0784933 0.0832425 0.0356821 0.782064 0.5 --0.0712173 0.0846981 0.0410753 0.663667 0.442521 --0.0238911 0.0738255 0.0493988 0.74606 0.5 --0.0840365 0.147342 0.0364323 0.437272 0.5 --0.0738666 0.0846755 0.0394915 0.668795 0.5 --0.0869577 0.133848 0.0453706 0.702767 0.5 --0.0905041 0.147099 0.0259896 0.500496 0.5 --0.0856022 0.136615 0.0453504 0.718839 0.5 --0.0858754 0.148602 0.0326009 0.439187 0.5 --0.0708787 0.0634588 0.0196178 0.40819 0.5 --0.0260772 0.0606359 0.0392914 0.637239 0.5 --0.0255028 0.0606627 0.0401195 0.640593 0.5 --0.0249365 0.0607087 0.0409751 0.66459 0.5 --0.0243177 0.0607418 0.04177 0.653083 0.5 --0.0236961 0.0607746 0.0425604 0.654777 0.5 --0.0231291 0.0608213 0.0434196 0.573364 0.5 --0.0225608 0.0608496 0.0442445 0.593948 0.5 --0.0220309 0.0609111 0.0451603 0.628904 0.5 --0.0214752 0.0609386 0.0459919 0.69017 0.5 --0.020881 0.0609703 0.0467992 0.732043 0.5 --0.0203373 0.0610131 0.0476733 0.740293 0.5 --0.019839 0.0610753 0.0486026 0.755762 0.5 --0.0192798 0.0610993 0.0494354 0.751082 0.5 --0.0187164 0.0611476 0.0502898 0.725133 0.5 --0.0180735 0.0611876 0.0510587 0.719386 0.5 --0.0173263 0.0611887 0.051725 0.593169 0.5 --0.0165465 0.061194 0.0523676 0.613024 0.477977 --0.0251342 0.0878826 0.0516343 0.589624 0.302391 --0.0145535 0.06115 0.0532234 0.6347 0.5 --0.0137359 0.061178 0.0537969 0.651487 0.449491 --0.081903 0.123614 -0.00465545 0.516146 0.5 --0.0762767 0.179149 -0.050884 0.181555 0.5 --0.0776802 0.121779 0.0520726 0.579806 0.468259 --0.0852651 0.14863 0.0333956 0.426516 0.5 --0.0559977 0.128155 -0.00607843 0.575774 0.5 --0.0810169 0.0953587 0.0335948 0.752268 0.5 --0.0896904 0.116203 0.0443945 0.607698 0.5 --0.0902791 0.116199 0.0435835 0.614632 0.4523 --0.0768027 0.1218 0.0526081 0.561115 0.5 --0.0866007 0.129822 0.0479412 0.62974 0.5 --0.0721201 0.149786 -0.0402916 0.186988 0.5 --0.0848397 0.124371 0.0492354 0.582239 0.5 --0.0777504 0.161717 -0.020949 0.480437 0.472834 --0.0831522 0.148677 0.0355101 0.408945 0.5 --0.0454458 0.168254 0.00168996 0.356446 0.5 --0.0791947 0.168601 -0.0366432 0.5547 0.5 --0.01212 0.102458 0.0438351 0.393869 0.5 --0.0839703 0.0843113 0.0284366 0.668018 0.464633 --0.0229076 0.0852723 0.0551257 0.494354 0.5 --0.0779935 0.171503 -0.0379488 0.251832 0.372952 --0.0821459 0.0912329 0.0320422 0.762014 0.5 --0.0807952 0.106052 0.0302403 0.520706 0.5 --0.0741351 0.0860483 0.039718 0.657035 0.5 --0.0753549 0.104884 0.0361423 0.491724 0.5 --0.0788495 0.1177 0.0505094 0.68501 0.5 --0.0850979 0.131233 0.0492505 0.595171 0.5 --0.0234218 0.0738847 0.0503501 0.752884 0.5 --0.0862929 0.15121 0.027304 0.275857 0.392623 --0.0519207 0.0493094 0.0353906 0.141102 0.5 --0.0242921 0.0918773 0.0492675 0.580011 0.5 --0.088169 0.124336 0.0468831 0.503483 0.5 --0.0889533 0.124321 0.0462453 0.502491 0.5 --0.0670338 0.0819342 0.0426575 0.650174 0.5 --0.0789903 0.0900056 0.0359819 0.737335 0.5 --0.0796191 0.0899783 0.0351979 0.740994 0.5 --0.0410907 0.157679 -0.0102957 0.72351 0.5 --0.0748916 0.10354 -0.0108565 0.577126 0.5 --0.0809901 0.135346 -0.00326263 0.637209 0.5 --0.0391759 0.16667 -0.0123913 0.370678 0.460091 --0.0301691 0.174141 -0.0165339 0.470761 0.5 --0.0699695 0.135529 -0.00821968 0.549147 0.5 --0.0551021 0.154591 -0.0020359 0.350257 0.5 --0.0620444 0.166711 -0.0606187 0.348769 0.361141 --0.0777759 0.113375 -0.00398806 0.40766 0.5 --0.0669412 0.126769 -0.00883964 0.822427 0.5 --0.0669198 0.113752 -0.0107887 0.579594 0.5 -0.00412571 0.107297 -0.0203039 0.775494 0.5 --0.0261553 0.169713 -0.0187023 0.510105 0.465258 --0.0391566 0.162183 -0.0124024 0.470823 0.5 --0.0599112 0.109712 -0.0163845 0.45659 0.5 --0.0420303 0.153306 -0.00761985 0.73379 0.5 --0.0568311 0.0912579 -0.0217399 0.433194 0.5 -0.00411674 0.108725 -0.0201726 0.815632 0.5 --0.0820259 0.0858257 0.0320864 0.757358 0.5 --0.0729125 0.0928513 0.0411123 0.540613 0.433408 --0.0859998 0.135257 0.0457789 0.715259 0.5 --0.0796195 0.104749 0.0319273 0.59642 0.5 --0.0530625 0.0625594 0.0307632 0.285082 0.5 --0.0229052 0.0945537 0.0478017 0.303875 0.5 --0.0517008 0.0626767 0.0322349 0.391433 0.5 --0.051142 0.0627417 0.0330975 0.436639 0.5 --0.0223183 0.094515 0.0486399 0.313239 0.5 --0.0497731 0.0627792 0.0345527 0.589509 0.5 --0.04909 0.0628007 0.0352845 0.599595 0.5 --0.0484435 0.0628471 0.0360579 0.606246 0.5 --0.0477964 0.062891 0.036824 0.62544 0.5 --0.0470606 0.0628926 0.0375096 0.67211 0.5 --0.0463407 0.0629206 0.0382092 0.70065 0.5 --0.0456018 0.0629458 0.0388902 0.590106 0.5 --0.0448136 0.0629573 0.0395248 0.5931 0.5 --0.0440063 0.0629698 0.0401358 0.596306 0.471266 --0.0901468 0.129651 0.0415795 0.630335 0.5 --0.0847456 0.0911272 0.0289858 0.770858 0.5 --0.0777723 0.0832737 0.0363717 0.783235 0.5 --0.0801269 0.10608 0.0309775 0.504911 0.5 --0.0215234 0.0739469 0.0526909 0.746254 0.5 --0.0847959 0.147297 0.0357863 0.443262 0.5 --0.0271626 0.0836755 0.0495254 0.625463 0.5 --0.0887171 0.117597 0.0462102 0.687277 0.5 --0.0909512 0.147073 0.025026 0.625842 0.463711 --0.0875501 0.120326 0.0478169 0.581296 0.479674 --0.0524215 0.162453 0.00456363 0.362044 0.5 --0.0261647 0.0620468 0.0393395 0.671274 0.5 --0.0255828 0.0620727 0.0401653 0.677056 0.5 --0.0250326 0.0621165 0.0410328 0.703698 0.5 --0.024429 0.062147 0.0418364 0.709715 0.5 --0.023785 0.0621839 0.0426152 0.693899 0.5 --0.0231795 0.0622145 0.0434152 0.606456 0.5 --0.0226371 0.0622591 0.0442913 0.63729 0.5 --0.0220963 0.0623062 0.0451655 0.660871 0.5 --0.0215688 0.0623472 0.0460467 0.71881 0.5 --0.0210322 0.0623911 0.0469253 0.754099 0.5 --0.0204932 0.0624346 0.0477982 0.754401 0.5 --0.0199623 0.0624791 0.0486773 0.762606 0.5 --0.0194395 0.062521 0.0495605 0.779166 0.5 --0.018805 0.0625267 0.0503254 0.741575 0.5 --0.0181382 0.0625693 0.0510808 0.729064 0.5 --0.0174331 0.0625913 0.0517909 0.712277 0.5 --0.0166845 0.0625881 0.0524778 0.581972 0.5 --0.0274333 0.0808284 0.0484505 0.629908 0.5 --0.0308479 0.0972408 -0.0233409 0.854121 0.5 --0.0139477 0.0625843 0.0539847 0.597978 0.452533 --0.0131121 0.0626059 0.0545133 0.607106 0.5 --0.062954 0.125297 -0.00870732 0.836152 0.5 --0.077844 0.114867 -0.00473455 0.511484 0.5 --0.064868 0.0953298 -0.0181139 0.50042 0.5 --0.0855039 0.140637 0.0423198 0.672365 0.5 --0.0628956 0.119461 -0.00917238 0.641049 0.5 --0.0699509 0.134055 -0.00826728 0.593641 0.5 --0.0871672 0.127065 0.0471934 0.707457 0.5 --0.0878532 0.127045 0.0464651 0.657292 0.5 --0.0674046 0.0833115 0.0429955 0.628324 0.5 --0.087451 0.133828 0.0444349 0.536034 0.475981 --0.0892904 0.149814 0.024685 0.37401 0.5 --0.0757603 0.10082 0.036651 0.526404 0.5 --0.0811312 0.129963 0.0524484 0.492966 0.460853 --0.0808546 0.140749 0.0461596 0.392298 0.450442 --0.0789386 0.168616 -0.0354931 0.479871 0.5 --0.0851123 0.133936 0.0477712 0.566009 0.479398 --0.0856608 0.0854539 0.0244177 0.661501 0.5 --0.0835133 0.0843594 0.0293933 0.691873 0.5 --0.0801977 0.117632 0.0490824 0.867122 0.5 --0.0865386 0.147279 0.0332936 0.601734 0.5 --0.079194 0.0832222 0.0349745 0.776553 0.5 --0.0835152 0.150011 0.0330149 0.351544 0.5 --0.0561449 0.04824 0.0383427 0.0692425 0.276884 --0.025472 0.0851651 0.0520429 0.631608 0.5 --0.0771897 0.117737 0.0516815 0.596688 0.5 --0.0800217 0.102057 0.0324029 0.680473 0.5 --0.0176724 0.0933571 0.0538975 0.385228 0.44816 --0.0863817 0.148632 0.0316852 0.543244 0.5 --0.0203175 0.0933679 0.052311 0.350087 0.461326 --0.025973 0.0851197 0.051146 0.643649 0.5 --0.0824678 0.0844329 0.0311552 0.722929 0.5 --0.0866951 0.0951098 0.0265657 0.690185 0.5 --0.0670193 0.0901061 0.04379 0.614987 0.5 --0.0762411 0.0901005 0.0388673 0.595779 0.5 --0.029331 0.0791866 0.0433726 0.722791 0.5 --0.074878 0.122304 -0.00772392 0.624454 0.5 --0.0648948 0.103911 -0.0165942 0.561277 0.5 --0.0758417 0.114903 -0.00554375 0.383724 0.476224 --0.0548931 0.111218 -0.0174922 0.64258 0.5 -0.00111992 0.10872 -0.0203906 0.837375 0.5 --0.0431375 0.160652 -0.0100842 0.414219 0.437953 --0.0132616 0.175663 -0.0275653 0.420882 0.5 -0.00912605 0.108716 -0.0196568 0.826448 0.5 --0.0887986 0.114294 0.0264066 0.625757 0.5 --0.0590133 0.128179 -0.00718347 0.649368 0.479987 --0.0152717 0.181584 -0.0271612 0.315961 0.5 --0.0531156 0.156084 -0.00339606 0.34209 0.5 --0.0340813 0.159269 -0.0127772 0.836975 0.5 -0.00612185 0.108732 -0.0201634 0.830438 0.5 --0.0251728 0.1712 -0.0194857 0.51739 0.5 --0.0280973 0.16079 -0.0140776 0.84044 0.5 -0.005123 0.108732 -0.0201833 0.811063 0.5 --0.0558353 0.0912839 -0.0220329 0.488797 0.5 --0.0619045 0.104018 -0.0180451 0.464402 0.471554 -0.012125 0.10869 -0.0190017 0.586534 0.5 --0.0579061 0.0357757 0.046064 0.37319 0.5 --0.0240568 0.0972281 0.0446316 0.603094 0.5 --0.0229243 0.0972075 0.044901 0.547966 0.5 --0.0769685 0.156212 -0.0102521 0.888678 0.5 --0.0216559 0.0972103 0.0449705 0.387927 0.396865 --0.0205007 0.0971766 0.0453281 0.395243 0.5 --0.0197571 0.0971344 0.046022 0.348038 0.429748 --0.0192952 0.097132 0.0469462 0.322879 0.5 --0.0217169 0.0945664 0.0494448 0.341827 0.5 --0.0210328 0.0946153 0.0501685 0.321702 0.5 --0.0487066 0.064243 0.0362896 0.782972 0.5 --0.048008 0.0642705 0.0370013 0.662803 0.5 --0.0472272 0.0642822 0.0376403 0.565687 0.5 --0.0465015 0.0643139 0.0383309 0.579901 0.482101 --0.0457208 0.0643263 0.038969 0.588819 0.5 --0.0449304 0.0643377 0.0396087 0.593842 0.5 --0.0441151 0.0643553 0.040206 0.604904 0.460384 --0.0186701 0.0971551 0.0477534 0.327058 0.452304 --0.0818113 0.136716 0.048659 0.490057 0.5 --0.0838696 0.117633 -0.00194246 0.527972 0.5 --0.0567459 0.15948 0.00480369 0.269238 0.413854 --0.0222463 0.0739152 0.0519932 0.751317 0.5 --0.0854254 0.147285 0.0350057 0.452773 0.466841 --0.0795395 0.117686 0.0497856 0.661611 0.5 --0.0773558 0.163115 -0.0213545 0.412397 0.472317 --0.0759006 0.161818 -0.014334 0.357976 0.5 --0.0764965 0.154899 -0.0050946 0.728561 0.5 --0.0178949 0.0971863 0.0483787 0.347836 0.5 --0.0262958 0.0634474 0.0394208 0.712934 0.5 --0.0257112 0.0634738 0.0402437 0.718084 0.5 --0.0251523 0.0635221 0.0411049 0.734805 0.5 --0.024583 0.0635737 0.0419612 0.767315 0.5 --0.0239734 0.0636045 0.0427616 0.59639 0.5 --0.0234279 0.0636514 0.0436342 0.64366 0.5 --0.0228589 0.0637031 0.0444908 0.675496 0.5 --0.0223256 0.0637459 0.0453694 0.704169 0.5 --0.0218007 0.0637891 0.0462553 0.733198 0.5 --0.0212883 0.0638258 0.0471454 0.752684 0.5 --0.0207862 0.0638606 0.0480406 0.759172 0.5 --0.0202282 0.0639107 0.048901 0.770799 0.5 --0.0196553 0.063928 0.0497256 0.785956 0.5 --0.0190611 0.063953 0.0505398 0.744968 0.5 --0.0183564 0.0639745 0.0512546 0.600683 0.5 --0.0176233 0.0640054 0.0519373 0.59678 0.476799 --0.016863 0.0640072 0.0526042 0.590888 0.5 --0.0171786 0.0971676 0.04907 0.300989 0.439276 --0.0820851 0.106006 0.028693 0.490965 0.5 --0.0197736 0.0998405 0.0442778 0.415398 0.5 --0.0130415 0.0639857 0.0543784 0.570374 0.5 --0.017789 0.0998203 0.0439009 0.450268 0.5 --0.075404 0.0914629 0.0394057 0.566418 0.5 --0.0884421 0.133772 0.0426038 0.533312 0.5 --0.0897054 0.124293 0.0455762 0.589875 0.5 --0.0551177 0.156069 -0.00176933 0.41523 0.5 --0.0231479 0.0919482 0.0509374 0.58679 0.5 --0.0741436 0.100877 0.037779 0.481218 0.46336 --0.0885624 0.127032 0.0457658 0.621127 0.467029 --0.077344 0.119067 0.051823 0.586499 0.477994 --0.0905232 0.122929 0.0450175 0.620868 0.5 --0.0780694 0.106243 0.0333548 0.498639 0.5 --0.0705399 0.100871 0.0399167 0.57143 0.45724 --0.084428 0.138004 0.0455627 0.525257 0.5 --0.0833338 0.121705 0.0492392 0.709978 0.385298 --0.0816426 0.140732 0.045535 0.387092 0.465711 --0.0821005 0.0885236 0.0320901 0.753421 0.5 --0.087216 0.0937177 0.0257149 0.694878 0.5 --0.0776345 0.165887 -0.0268309 0.393723 0.45076 --0.0165401 0.0997826 0.0440769 0.492697 0.5 --0.0485608 0.164 0.00493162 0.366549 0.5 --0.0890267 0.148493 0.027289 0.597941 0.5 --0.0830867 0.0803012 0.027553 0.640376 0.5 --0.0835093 0.13127 0.0505027 0.550449 0.5 --0.0668526 0.0914559 0.0435065 0.501608 0.463847 --0.0264927 0.0850795 0.0502634 0.641907 0.5 --0.0761087 0.083292 0.0375324 0.64935 0.5 --0.0252475 0.0736694 0.0465167 0.664061 0.5 --0.0812551 0.10738 0.02923 0.413721 0.5 --0.0887381 0.139163 0.03848 0.499002 0.5 --0.0718916 0.0995338 0.0398851 0.462223 0.5 --0.0186351 0.0933648 0.0534492 0.354401 0.5 --0.0195177 0.0933631 0.0529187 0.34869 0.46697 --0.053047 0.162457 0.00378602 0.309667 0.5 --0.0258496 0.0864897 0.0509722 0.622424 0.5 --0.0253123 0.0865272 0.0518462 0.617683 0.5 --0.0735922 0.0833012 0.0392631 0.662615 0.5 --0.0763221 0.159003 -0.0110053 0.516457 0.469372 --0.0561893 0.159558 0.00559608 0.291073 0.5 --0.0608279 0.0910686 -0.0191968 0.74946 0.5 --0.0649074 0.120907 -0.00883756 0.759512 0.5 --0.0460801 0.153165 -0.0063697 0.703482 0.5 --0.0729406 0.0676849 0.0243239 0.680081 0.35486 -0.00714876 0.108764 -0.0200496 0.659326 0.473524 -0.00812607 0.108726 -0.0199063 0.653435 0.5 --0.0679008 0.1038 -0.0147014 0.622839 0.5 -0.0101223 0.108705 -0.0195083 0.787301 0.5 --0.067283 0.17966 -0.0595334 0.261596 0.5 --0.0698932 0.103728 -0.0136756 0.488855 0.475557 --0.0610115 0.132585 -0.00747053 0.839998 0.5 --0.0776442 0.112189 0.0467134 0.524903 0.5 --0.0729374 0.129655 -0.00843737 0.405778 0.5 --0.047823 0.0912927 -0.0217091 0.787125 0.5 --0.0488158 0.0912881 -0.0217052 0.794002 0.5 --0.0538207 0.0913026 -0.0221948 0.739968 0.5 --0.0528115 0.0913061 -0.0221889 0.794986 0.5 --0.0548296 0.0912974 -0.0221769 0.676503 0.5 --0.073291 0.0682485 0.025526 0.68681 0.371838 -0.0131167 0.108671 -0.0187213 0.575304 0.5 --0.0648315 0.0895741 -0.0187043 0.515542 0.5 --0.0883414 0.120307 0.04718 0.583188 0.5 --0.0598098 0.08825 -0.0201729 0.580684 0.5 --0.0817245 0.100671 0.0313188 0.683372 0.5 --0.0728742 0.149812 -0.0379734 0.178905 0.45481 --0.0629203 0.122369 -0.00879811 0.755524 0.5 --0.0821974 0.128571 0.0521036 0.508957 0.456524 --0.0890869 0.135136 0.0402764 0.521248 0.470913 --0.0837407 0.129905 0.0507752 0.48588 0.5 --0.0853379 0.139291 0.0436042 0.53257 0.5 --0.0203318 0.0946383 0.0508766 0.329261 0.5 --0.0484493 0.0656843 0.0374132 0.847047 0.5 --0.0475728 0.0656919 0.0379498 0.55875 0.5 --0.0467618 0.0657183 0.0385512 0.566808 0.482187 --0.0459114 0.0657109 0.0391289 0.572769 0.476925 --0.045045 0.0657131 0.0396946 0.581091 0.5 --0.0441667 0.0657175 0.0402548 0.602469 0.5 --0.0458377 0.0970756 -0.021885 0.829382 0.5 --0.0859779 0.129848 0.0487451 0.634529 0.5 --0.0258745 0.104437 -0.023108 0.672789 0.5 --0.0892353 0.14446 0.0304266 0.514101 0.440509 --0.087924 0.1365 0.0420055 0.529716 0.473095 --0.0875622 0.147255 0.0314849 0.61153 0.5 --0.0745333 0.0805197 0.0374668 0.777308 0.5 --0.0771042 0.163136 -0.0202013 0.638738 0.5 --0.0782836 0.0860139 0.0367982 0.646921 0.5 --0.0195579 0.0946763 0.0515134 0.282016 0.5 --0.0838556 0.139345 0.0449552 0.413355 0.478263 --0.0264494 0.0648769 0.0395324 0.699669 0.5 --0.0259181 0.0649186 0.0404266 0.754998 0.5 --0.0254003 0.0649585 0.0413183 0.747519 0.5 --0.0248108 0.064983 0.0421327 0.756249 0.5 --0.0242622 0.0650295 0.043001 0.620871 0.5 --0.0237291 0.0650733 0.0438813 0.648659 0.5 --0.0231964 0.0651165 0.0447582 0.682051 0.5 --0.0227042 0.0651451 0.0456598 0.720624 0.5 --0.0221975 0.0652175 0.046591 0.75489 0.5 --0.0216757 0.065257 0.0474751 0.767004 0.5 --0.0211412 0.0652998 0.0483526 0.767336 0.5 --0.02061 0.0653432 0.0492306 0.761436 0.5 --0.0200798 0.0653829 0.0501099 0.763317 0.5 --0.0194961 0.0654004 0.0509321 0.736708 0.5 --0.018787 0.0654231 0.0516453 0.591455 0.483833 --0.0179879 0.0654395 0.0522544 0.603181 0.5 --0.0171808 0.0654583 0.0528522 0.601442 0.469116 --0.0814882 0.139397 0.0468344 0.392587 0.5 --0.0851043 0.10321 0.0261425 0.72843 0.5 --0.0264348 0.0891318 0.0486594 0.630739 0.5 --0.0128318 0.0653357 0.0541739 0.714885 0.319675 --0.0854828 0.0924603 0.0282645 0.759633 0.5 --0.0882111 0.0936365 0.0238814 0.633304 0.452788 --0.0648058 0.0881399 -0.0188881 0.542781 0.463863 --0.0683872 0.0690317 0.0328821 0.53954 0.434328 --0.0797185 0.0803984 0.0327643 0.716781 0.5 --0.0436341 0.171062 -0.00299049 0.261108 0.5 --0.0088954 0.108786 -0.0222808 0.492538 0.5 --0.0767129 0.161805 -0.0163426 0.622946 0.5 --0.0882102 0.118977 0.047099 0.597276 0.488771 --0.0258097 0.0766327 0.0484243 0.675774 0.430178 --0.0886752 0.135106 0.0413889 0.532769 0.5 --0.0927055 0.120137 0.0415853 0.596729 0.5 --0.0266978 0.0917701 0.0460149 0.523728 0.5 --0.0820753 0.129944 0.0519532 0.484316 0.459865 --0.0832204 0.140695 0.0442806 0.399631 0.485745 --0.0809796 0.0788834 0.0298322 0.64398 0.5 --0.0770334 0.158982 -0.013085 0.846624 0.5 --0.0249592 0.0767123 0.050372 0.737437 0.5 --0.0212185 0.178615 -0.022031 0.371257 0.5 --0.00588737 0.108814 -0.0225516 0.684115 0.5 --0.0878486 0.143233 0.0360974 0.589947 0.465628 --0.0254054 0.0766649 0.0494071 0.719943 0.5 --0.0485411 0.166778 0.000587101 0.38171 0.404831 --0.0753773 0.0887668 0.039456 0.612897 0.5 --0.0718069 0.0887788 0.0415418 0.600283 0.460872 --0.0814909 0.0788596 0.028943 0.641587 0.5 --0.029166 0.0762862 0.0418904 0.796915 0.368886 --0.078334 0.175787 -0.0461739 0.301072 0.429445 --0.0772387 0.158974 -0.0142914 0.59102 0.5 --0.0707931 0.0879477 -0.0165704 0.464333 0.5 --0.0779251 0.168693 -0.0322923 0.271725 0.421928 --0.0255118 0.0931431 0.0461963 0.367785 0.479473 --0.0244166 0.0931902 0.0479432 0.360035 0.5 --0.0789031 0.0913518 0.0358575 0.725318 0.5 --0.0263933 0.0864552 0.0500994 0.617426 0.5 --0.0212315 0.0839098 0.0563274 0.505352 0.407912 --0.0245236 0.0838729 0.0539551 0.655122 0.5 --0.0251232 0.0838362 0.0531591 0.664806 0.5 --0.0802884 0.146109 0.0411929 0.457671 0.5 --0.0894571 0.131034 0.0422704 0.513667 0.475195 --0.0578363 0.0912193 -0.0212351 0.406621 0.468728 --0.0588327 0.0911696 -0.0205864 0.488927 0.5 --0.0618121 0.09105 -0.0190303 0.635403 0.5 --0.0628225 0.0910404 -0.0189489 0.672209 0.5 --0.0638273 0.0910291 -0.0188305 0.656753 0.5 --0.0648099 0.0910089 -0.0186372 0.620792 0.5 --0.065807 0.090969 -0.0181206 0.466198 0.40401 --0.0518084 0.0913012 -0.0220555 0.84568 0.5 --0.0508009 0.0912872 -0.0218676 0.833056 0.355825 --0.0498121 0.0912811 -0.0216901 0.821875 0.5 --0.0458215 0.091313 -0.0218951 0.699581 0.5 --0.0448194 0.0913346 -0.0221278 0.641606 0.5 --0.0468292 0.091298 -0.0217206 0.749525 0.5 --0.0865836 0.11378 0.0451954 0.456208 0.451626 --0.060057 0.135486 -0.00665791 0.660892 0.5 --0.0520933 0.154615 -0.00405641 0.40522 0.42192 --0.0568824 0.10976 -0.0175883 0.478686 0.5 --0.0671562 0.0724925 0.0371747 0.556494 0.5 --0.0629025 0.103986 -0.017642 0.452537 0.5 --0.0649207 0.122383 -0.00889091 0.783894 0.5 --0.0668128 0.0894987 -0.0177562 0.460883 0.5 --0.0187732 0.0946942 0.0521396 0.285862 0.464905 --0.0826303 0.103323 0.0293175 0.61197 0.5 --0.0732964 0.0791377 0.0376894 0.770429 0.5 --0.0761165 0.0874143 0.0388159 0.635482 0.5 --0.0257486 0.0365571 0.0540093 0.39631 0.5 --0.0830551 0.128552 0.0515383 0.527893 0.5 --0.0592291 0.156682 0.00368263 0.0916901 0.349098 --0.0881508 0.144556 0.0335371 0.593723 0.473258 -0.0191769 0.0959952 -0.0230407 0.822823 0.5 --0.0178219 0.0896296 -0.0373512 0.500126 0.449734 --0.00286572 0.104506 -0.0226523 0.760495 0.5 --0.0481378 0.0672057 0.0386531 0.546721 0.479476 --0.0472854 0.0671503 0.0390298 0.552143 0.484067 --0.0462738 0.0671086 0.039469 0.691742 0.5 --0.0321193 0.0366883 0.0508235 0.369122 0.5 --0.0443984 0.0671335 0.0404051 0.611386 0.5 --0.0178266 0.0947205 0.0526193 0.306568 0.5 --0.0772403 0.0846603 0.0372078 0.653202 0.5 --0.0857101 0.0869161 0.0258492 0.697826 0.452554 --0.0832007 0.119017 0.0492012 0.681854 0.5 --0.0877346 0.144562 0.0345528 0.583068 0.464363 --0.0874124 0.136542 0.0428952 0.522904 0.5 --0.0880121 0.147225 0.0305337 0.622896 0.43974 --0.0885789 0.0922253 0.0228661 0.601941 0.5 --0.0767597 0.163153 -0.0191399 0.631597 0.5 --0.0830162 0.0939316 0.0314035 0.771486 0.5 --0.0401353 0.162183 -0.0119788 0.432598 0.451394 --0.0877344 0.132461 0.0447656 0.549751 0.5 --0.0261594 0.066324 0.0406106 0.748029 0.384426 --0.0256808 0.0663835 0.041558 0.725121 0.5 --0.0251661 0.0664206 0.0424455 0.727605 0.5 --0.0246581 0.0664552 0.0433381 0.615194 0.5 --0.0241603 0.0665253 0.044272 0.657199 0.5 --0.0236293 0.0665652 0.045154 0.708501 0.5 --0.0231138 0.0666037 0.0460408 0.745905 0.5 --0.0225837 0.0666453 0.0469216 0.758471 0.5 --0.0220763 0.0666765 0.0478151 0.752742 0.5 --0.0215751 0.0667511 0.0487462 0.754091 0.5 --0.0210692 0.0667823 0.0496379 0.767613 0.5 --0.0205507 0.066817 0.0505282 0.772583 0.5 --0.0199636 0.0668339 0.051351 0.739814 0.5 --0.019299 0.0668878 0.052102 0.606212 0.5 --0.0184257 0.066889 0.0526426 0.610888 0.5 --0.0175551 0.0668893 0.0531861 0.615169 0.460834 --0.0166742 0.0668915 0.0537111 0.621262 0.5 --0.0748456 0.159073 -0.00827714 0.296357 0.5 --0.087722 0.128407 0.0462822 0.638364 0.5 --0.0927955 0.121487 0.0416389 0.552684 0.5 --0.0117936 0.0667192 0.0544625 0.748372 0.5 --0.0528912 0.109829 -0.018387 0.695063 0.5 --0.078061 0.117721 0.0511362 0.575365 0.5 --0.06794 0.126772 -0.00890268 0.828378 0.5 --0.0287411 0.0366033 0.0533099 0.549284 0.5 --0.0830364 0.104646 0.028271 0.459845 0.485918 --0.0830074 0.117688 0.0489709 0.677502 0.5 --0.0842691 0.117693 0.0488129 0.735849 0.5 --0.0779175 0.0954136 0.0361479 0.702817 0.5 --0.0658161 0.0866791 -0.018673 0.484728 0.5 --0.0807235 0.116228 0.0481624 0.639565 0.459752 --0.0923057 0.12017 0.0426167 0.629388 0.5 --0.0765127 0.164562 -0.0208538 0.292475 0.458712 --0.0866887 0.120341 0.0484058 0.584938 0.5 --0.0824451 0.140729 0.0449221 0.472851 0.5 --0.0169961 0.094658 0.0531741 0.348289 0.46208 --0.0277489 0.0877005 0.0471838 0.466685 0.5 --0.0256851 0.0824232 0.052338 0.701496 0.5 --0.0248582 0.0752289 0.048914 0.841603 0.5 --0.0833358 0.105954 0.0271122 0.53304 0.5 --0.0743965 0.149892 -0.0310959 0.253196 0.5 --0.0723907 0.151114 -0.0412874 0.239642 0.5 --0.0763319 0.15494 -0.00387485 0.571148 0.5 --0.0213294 0.0783028 0.0551779 0.560324 0.5 --0.0866523 0.0868042 0.0239447 0.659831 0.5 --0.017215 0.175671 -0.0245809 0.394382 0.5 --0.0766234 0.167356 -0.0265012 0.249075 0.446585 --0.0728932 0.0941961 0.0410307 0.515145 0.462685 --0.0769618 0.103489 0.0349575 0.649895 0.403781 --0.0908997 0.126938 0.0424248 0.65313 0.5 --0.0903999 0.124268 0.0448512 0.560792 0.5 --0.0809093 0.0912865 0.0336272 0.756521 0.5 --0.0866695 0.135213 0.0450386 0.702137 0.5 --0.0766812 0.154876 -0.00631355 0.823866 0.5 --0.0269434 0.0864227 0.0492292 0.557598 0.5 --0.0706477 0.0874116 0.0418374 0.617637 0.451512 --0.0221672 0.0839099 0.0558332 0.490068 0.5 --0.0669681 0.132599 -0.00847972 0.726239 0.5 --0.0825915 0.143398 0.0421649 0.405344 0.304789 --0.084679 0.0869987 0.027663 0.717317 0.5 --0.0765591 0.0818865 0.0366215 0.779994 0.5 --0.0753069 0.109577 0.0422017 0.84399 0.5 --0.0650055 0.136996 -0.00788185 0.693105 0.5 --0.0578677 0.104042 -0.0186102 0.707273 0.5 --0.0568787 0.10406 -0.0186489 0.675401 0.5 --0.0558876 0.104087 -0.0189213 0.619451 0.5 --0.0538972 0.104145 -0.0195691 0.484046 0.5 --0.0528856 0.104156 -0.0198053 0.643335 0.43434 -0.00417753 0.0922823 -0.0325433 0.703655 0.5 --0.0548971 0.104115 -0.019193 0.609906 0.5 --0.0779912 0.139819 -0.00526751 0.457677 0.318483 --0.0778773 0.120773 -0.00663343 0.422409 0.5 --0.0311581 0.17265 -0.0162683 0.479138 0.5 -0.0111252 0.108699 -0.019265 0.594589 0.483157 -0.0151073 0.108635 -0.0180644 0.600032 0.5 --0.0739419 0.129646 -0.00820737 0.45181 0.44809 --0.0252176 0.0351344 0.0519405 0.890347 0.5 --0.0550232 0.14424 -0.00134547 0.728895 0.5 --0.0669793 0.134061 -0.00834965 0.726684 0.5 --0.069891 0.119438 -0.0086356 0.741639 0.5 --0.0738772 0.107826 -0.00969763 0.629287 0.5 --0.0727925 0.0893223 -0.0156729 0.40798 0.430284 --0.0904989 0.148452 0.0245146 0.583354 0.5 --0.0777036 0.174395 -0.0426027 0.263898 0.5 --0.0287307 0.0748955 0.0414817 0.724378 0.5 --0.0845249 0.129883 0.0501389 0.500821 0.5 --0.0838122 0.128533 0.0508937 0.517079 0.452752 --0.0846144 0.128516 0.0502768 0.514976 0.478955 --0.0245194 0.0879123 0.052427 0.600029 0.5 --0.028277 0.0807444 0.0465032 0.675132 0.5 --0.0209967 0.0893299 0.0545201 0.529781 0.5 --0.0782416 0.0913778 0.0366028 0.71786 0.5 --0.0865319 0.0910336 0.0265354 0.734027 0.5 -0.0081342 0.104445 -0.020865 0.572659 0.5 -0.0101376 0.104418 -0.0202461 0.517884 0.487291 --0.066894 0.110895 -0.0121462 0.496212 0.487401 --0.0238144 0.0879301 0.05313 0.568414 0.5 --0.08227 0.0830732 0.0310042 0.724217 0.5 --0.0756281 0.167353 -0.024657 0.244657 0.426881 --0.0428236 0.0913841 -0.0227682 0.558206 0.5 --0.0840769 0.0911454 0.0297191 0.773917 0.5 --0.0859798 0.13928 0.042828 0.691483 0.5 --0.0754721 0.103526 0.0362863 0.485015 0.5 --0.0868865 0.136539 0.0438118 0.679533 0.5 --0.0884823 0.147207 0.0295866 0.639634 0.5 --0.0784063 0.0886978 0.0368492 0.758324 0.5 --0.0747355 0.161794 -0.0126957 0.290334 0.281207 --0.0823671 0.0939609 0.0321712 0.776682 0.5 --0.0834343 0.143353 0.0415913 0.489068 0.5 --0.0729449 0.0805494 0.0386997 0.645565 0.481585 --0.01605 0.0946681 0.0536372 0.358352 0.5 --0.0260001 0.0677977 0.0418131 0.717372 0.393932 --0.0254657 0.0678395 0.0426887 0.577324 0.5 --0.0250008 0.0678945 0.0436439 0.617112 0.40435 --0.0245116 0.0679611 0.0445844 0.657726 0.5 --0.0239792 0.0680021 0.045464 0.702812 0.5 --0.0234564 0.0680424 0.0463484 0.731978 0.5 --0.0229776 0.0681076 0.0472951 0.753752 0.421462 --0.0224834 0.0681349 0.0481925 0.749671 0.5 --0.0219636 0.0681726 0.0490783 0.750587 0.5 --0.0214414 0.0682091 0.0499624 0.753259 0.5 --0.0209485 0.0682779 0.0508919 0.770932 0.5 --0.0203653 0.0682964 0.0517114 0.754883 0.5 --0.0196654 0.0683158 0.0524244 0.596572 0.5 --0.0188177 0.0683045 0.0530002 0.593366 0.454355 --0.0179785 0.068344 0.053543 0.597045 0.5 --0.087802 0.139216 0.0403868 0.507851 0.5 --0.023276 0.0768174 0.0529315 0.733001 0.5 --0.0279123 0.0793217 0.046185 0.705136 0.5 --0.0238077 0.0811303 0.0547388 0.57563 0.5 --0.0788017 0.0846357 0.0359502 0.643276 0.5 --0.0227544 0.0753712 0.0524561 0.737909 0.5 --0.0187514 0.0906841 0.0550582 0.454383 0.5 --0.0521114 0.156091 -0.00406652 0.380925 0.5 --0.0578055 0.0883401 -0.0213124 0.376443 0.5 --0.0833044 0.10329 0.0285866 0.601062 0.461737 --0.0853195 0.117662 0.0484974 0.723998 0.5 --0.085028 0.100559 0.0275605 0.627426 0.5 --0.0854761 0.132564 0.04817 0.578133 0.48268 --0.0872404 0.149912 0.0282765 0.361506 0.5 --0.0883155 0.139178 0.0394996 0.652844 0.5 --0.0880478 0.0908955 0.0237752 0.659506 0.459481 --0.0738208 0.0921589 -0.0148323 0.416064 0.434719 --0.0842319 0.104575 0.0266516 0.722912 0.5 --0.086684 0.149909 0.029141 0.366034 0.5 --0.0770439 0.154813 -0.0101321 0.878856 0.5 --0.0769455 0.154831 -0.00883158 0.878173 0.5 --0.023437 0.0753613 0.0517266 0.754428 0.5 --0.033113 0.162236 -0.0143657 0.60775 0.467369 --0.076768 0.156222 -0.00903892 0.851762 0.5 --0.0239671 0.075324 0.0508435 0.753151 0.5 --0.0764449 0.084677 0.0378167 0.653645 0.5 --0.0829344 0.129921 0.0513858 0.482086 0.5 --0.0842337 0.150005 0.032317 0.36779 0.420049 --0.0894324 0.117571 0.0455052 0.568933 0.5 --0.0267697 0.0750695 0.0452054 0.632976 0.5 --0.0853268 0.127125 0.0496018 0.541484 0.5 --0.0754447 0.164601 -0.0189193 0.301893 0.406526 --0.0289421 0.0848695 0.0456392 0.612869 0.5 --0.0668098 0.0880715 -0.0180091 0.47078 0.5 --0.0800654 0.121688 0.0502425 0.66693 0.5 --0.0861528 0.0951452 0.0274373 0.714745 0.5 --0.0877008 0.0923103 0.0248018 0.675338 0.5 --0.0659221 0.115196 -0.0104247 0.57426 0.5 --0.0274598 0.0863801 0.0483431 0.511518 0.5 --0.0151861 0.168246 -0.0215615 0.609369 0.5 --0.0550158 0.128128 -0.00563226 0.567734 0.5 --0.0733019 0.081934 0.0390113 0.655173 0.5 --0.0741118 0.0819105 0.0384161 0.650399 0.5 --0.0749157 0.0818909 0.0378096 0.644818 0.483253 --0.0757541 0.0819089 0.037226 0.638407 0.5 --0.0813944 0.0817284 0.031574 0.735688 0.5 --0.0898787 0.112224 0.0169361 0.595807 0.5 --0.0593593 0.0651443 0.0328932 0.479597 0.414141 --0.0738713 0.116445 -0.00712552 0.36045 0.456113 --0.0809665 0.133877 -0.00363658 0.409566 0.469817 --0.0789639 0.13393 -0.00512141 0.44224 0.460808 --0.0798447 0.116298 -0.00419638 0.539702 0.402936 --0.0609217 0.118124 -0.010668 0.564344 0.455328 --0.0458732 0.104238 -0.0208285 0.740483 0.5 --0.0211436 0.168262 -0.0193322 0.562002 0.483278 -0.0141307 0.108667 -0.0183815 0.596805 0.470009 --0.0470651 0.153179 -0.00606436 0.709113 0.5 --0.0231257 0.165273 -0.0171671 0.815243 0.5 --0.0440699 0.153194 -0.00699527 0.726063 0.5 --0.0639063 0.120904 -0.00875525 0.731777 0.5 --0.0698001 0.0894083 -0.0167108 0.516276 0.475194 --0.0678177 0.0894605 -0.0172539 0.502991 0.390657 --0.0687967 0.0894213 -0.0168337 0.692476 0.5 --0.0708134 0.0893817 -0.0163657 0.478369 0.40535 --0.0717916 0.0893503 -0.0160567 0.441476 0.461514 --0.0747874 0.0892505 -0.0147771 0.356936 0.5 --0.0738068 0.0892836 -0.0151913 0.384038 0.5 --0.0490771 0.154645 -0.00592496 0.40839 0.5 --0.0832309 0.120353 0.049216 0.681585 0.5 --0.0817321 0.120346 0.0490739 0.674767 0.456655 --0.0806333 0.120347 0.049427 0.854313 0.5 --0.0798668 0.12036 0.0500614 0.840228 0.5 --0.0793168 0.102079 0.0331119 0.690375 0.5 --0.0786087 0.102098 0.0338163 0.696071 0.5 --0.0697701 0.0874139 0.0423816 0.594104 0.428547 --0.0893599 0.133717 0.0406984 0.514192 0.5 --0.0869443 0.101766 0.0237835 0.520538 0.5 --0.087877 0.0990467 0.0233782 0.537292 0.5 --0.065193 0.165273 -0.0595568 0.345227 0.394226 --0.0787856 0.109366 0.039802 0.913742 0.5 --0.0759173 0.12523 -0.00781198 0.381866 0.5 --0.0874076 0.0990828 0.0243308 0.562363 0.5 --0.0210879 0.0852798 0.0561484 0.576971 0.5 --0.0609255 0.122379 -0.00879585 0.711911 0.5 --0.0428815 0.108469 -0.0193857 0.626851 0.459296 --0.0882171 0.135133 0.0423395 0.536012 0.449802 --0.0896944 0.133694 0.0395953 0.641493 0.5 --0.0849548 0.0952071 0.0290738 0.7484 0.5 --0.0849504 0.136625 0.0461206 0.716512 0.5 --0.0905142 0.129614 0.0405398 0.61376 0.5 --0.0790343 0.0886679 0.0360671 0.746838 0.5 --0.0864575 0.101794 0.0247295 0.544273 0.5 --0.028039 0.0849631 0.0475609 0.506409 0.394611 --0.0809226 0.0926448 0.0335946 0.769808 0.5 --0.0868952 0.0991223 0.0252196 0.581435 0.5 --0.0863763 0.0991625 0.0261078 0.583309 0.5 --0.0262745 0.0692227 0.0420449 0.710231 0.5 --0.0258209 0.0692735 0.0430043 0.705777 0.5 --0.0253439 0.0693349 0.0439513 0.593069 0.5 --0.0248173 0.0693751 0.0448313 0.639351 0.5 --0.024281 0.069418 0.0457102 0.678344 0.5 --0.023822 0.0694685 0.046666 0.715984 0.419247 --0.0233157 0.0695067 0.0475588 0.750333 0.5 --0.0228623 0.06956 0.0485197 0.752361 0.5 --0.0223265 0.0696009 0.0493961 0.756307 0.5 --0.0217889 0.0696447 0.0502694 0.759472 0.5 --0.0212527 0.0696869 0.051144 0.778531 0.5 --0.0206697 0.0697068 0.051972 0.627043 0.486878 --0.0199616 0.0697296 0.0526775 0.619573 0.480404 --0.0191411 0.0697535 0.053261 0.614258 0.5 --0.018211 0.0697307 0.0537615 0.616563 0.5 --0.0858145 0.0991904 0.0269676 0.605763 0.5 --0.0729908 0.139888 -0.00698816 0.404702 0.462671 --0.0806315 0.139432 0.0474021 0.393513 0.466506 --0.058803 0.0883 -0.0207912 0.44019 0.3812 --0.0809803 0.104706 0.0304576 0.612975 0.5 --0.0816857 0.104685 0.0297488 0.587854 0.5 --0.0748011 0.0878022 -0.0147955 0.386443 0.5 --0.0829241 0.126549 -0.00467577 0.41593 0.5 --0.0882017 0.0949941 0.0238463 0.610526 0.459779 --0.0284216 0.0792864 0.045297 0.711465 0.5 --0.0862816 0.117641 0.0480424 0.574629 0.460115 --0.0748092 0.0790936 0.0363823 0.776892 0.5 --0.0859393 0.101835 0.0256124 0.55922 0.5 --0.0619845 0.128209 -0.0080954 0.660445 0.484 --0.0794763 0.0926775 0.0349659 0.755777 0.5 --0.0807745 0.102028 0.0317433 0.680786 0.422728 --0.0735138 0.0874308 0.0404487 0.657808 0.5 --0.0182505 0.0920203 0.0545129 0.509561 0.442857 --0.0906893 0.11752 0.0439252 0.718529 0.5 --0.0765631 0.160404 -0.0136187 0.427375 0.5 --0.083716 0.087071 0.0295098 0.725771 0.5 --0.0852334 0.0992128 0.0278144 0.639431 0.5 --0.0853944 0.101863 0.0264831 0.581463 0.5 --0.0847959 0.101901 0.0272869 0.611789 0.5 --0.0765081 0.156243 -0.00790412 0.848828 0.5 --0.0878947 0.131105 0.044958 0.578232 0.4675 --0.0727804 0.0887809 0.0411113 0.615283 0.5 --0.0850789 0.151288 0.0289026 0.310258 0.5 --0.0722033 0.152534 -0.0417656 0.401097 0.5 --0.0818952 0.134036 0.0502533 0.531522 0.5 --0.0827485 0.134001 0.0496722 0.537238 0.460131 --0.0787829 0.0926997 0.035689 0.721227 0.5 --0.0582936 0.157998 0.00361947 0.17564 0.5 --0.0841797 0.101927 0.0280813 0.631372 0.5 --0.0719584 0.0942006 0.0415089 0.504695 0.5 --0.0844404 0.100576 0.0283951 0.655595 0.5 --0.0843685 0.105877 0.0253348 0.656506 0.5 --0.0289729 0.083488 0.0456837 0.634519 0.386648 --0.0888148 0.144497 0.0313918 0.486128 0.476072 --0.0714887 0.0860678 0.0412957 0.657645 0.5 --0.0590273 0.134027 -0.00648451 0.658698 0.5 --0.0236613 0.0852675 0.0544729 0.499333 0.467783 --0.0697873 0.0819627 0.0411407 0.654226 0.5 --0.0766415 0.100814 0.0361238 0.67468 0.5 --0.0752643 0.0941545 0.0391883 0.540509 0.478733 --0.0765269 0.165965 -0.0237196 0.297768 0.404308 --0.0230753 0.078299 0.0540943 0.591992 0.5 --0.0271001 0.0779439 0.0468281 0.633213 0.413896 --0.0284285 0.0821494 0.0466355 0.541094 0.5 --0.0764226 0.102162 0.0358668 0.548816 0.5 --0.0518036 0.0898543 -0.0220029 0.808392 0.5 --0.0508059 0.0898498 -0.0218327 0.80595 0.5 --0.0478093 0.0898718 -0.0219802 0.740078 0.5 --0.0468126 0.0898791 -0.022022 0.715418 0.5 --0.0488103 0.0898531 -0.0217755 0.756736 0.5 --0.0498078 0.0898419 -0.0216876 0.792268 0.5 --0.0758056 0.0891863 -0.013912 0.443624 0.462542 --0.0418656 0.104235 -0.0206965 0.792282 0.5 --0.0758953 0.12228 -0.00740649 0.455274 0.5 --0.0839351 0.123564 -0.00377373 0.48799 0.5 --0.077893 0.12518 -0.00689701 0.458395 0.400301 --0.0398915 0.109923 -0.0189257 0.62346 0.5 --0.0719068 0.110755 -0.00961867 0.604766 0.5 --0.0338786 0.104305 -0.0212068 0.610514 0.446972 --0.034872 0.104274 -0.0209307 0.634655 0.5 --0.0368662 0.104233 -0.0205194 0.694905 0.5 --0.0639176 0.122377 -0.00881224 0.799454 0.5 --0.0358716 0.10426 -0.0206916 0.656694 0.5 --0.0378682 0.104226 -0.0203027 0.748953 0.5 --0.0846211 0.0992422 0.0286106 0.672603 0.5 --0.0748342 0.156367 -0.00257451 0.283783 0.5 --0.0916834 0.116094 0.0407438 0.559524 0.5 --0.0760927 0.0805105 0.0361956 0.774546 0.5 --0.0769895 0.0790529 0.034321 0.748937 0.5 --0.0198767 0.105865 -0.0225965 0.686941 0.5 --0.0210999 0.0811322 0.0562803 0.550507 0.5 --0.0691615 0.0832998 0.0419252 0.652599 0.5 --0.0735939 0.077695 0.036626 0.775402 0.5 --0.087976 0.141871 0.0376917 0.590295 0.5 --0.0891661 0.132396 0.0419315 0.517856 0.5 --0.0840037 0.0992695 0.0294026 0.683019 0.5 --0.0833513 0.099287 0.0301656 0.693299 0.5 --0.0826594 0.0993103 0.0308836 0.687241 0.5 --0.0819554 0.0993316 0.0315904 0.682395 0.5 --0.081252 0.0993542 0.0322994 0.685017 0.420108 --0.0242491 0.0796961 0.0538111 0.729672 0.5 --0.0262775 0.073604 0.0447421 0.603792 0.5 --0.0760841 0.104861 0.0354581 0.575885 0.5 --0.0790692 0.0804499 0.033529 0.732151 0.5 --0.0852337 0.104506 0.0248257 0.649078 0.43065 --0.0861539 0.149931 0.0300167 0.37929 0.5 --0.0841802 0.136658 0.046769 0.523598 0.5 --0.0747288 0.102175 0.0369848 0.515846 0.5 --0.0764401 0.163184 -0.0180705 0.378444 0.466109 --0.071459 0.151188 -0.0433221 0.155006 0.5 --0.0805231 0.0993639 0.0329828 0.690498 0.5 --0.0756445 0.156326 -0.00458549 0.473774 0.5 --0.0270556 0.0706113 0.0413767 0.745009 0.384267 --0.0265661 0.0706408 0.0422848 0.703513 0.5 --0.0261195 0.0706905 0.0432458 0.715044 0.5 --0.0256136 0.0707601 0.0441795 0.622902 0.5 --0.0250553 0.0707727 0.0450037 0.655445 0.5 --0.0245442 0.0708437 0.0459353 0.676037 0.5 --0.0240991 0.0708914 0.0469009 0.723524 0.420258 --0.0236559 0.0709438 0.0478646 0.753369 0.5 --0.0231748 0.0709692 0.0487695 0.751469 0.5 --0.0226305 0.0710127 0.0496427 0.753628 0.5 --0.0220941 0.0710555 0.0505203 0.76467 0.5 --0.0215406 0.0711033 0.0513847 0.784873 0.5 --0.0209282 0.0711316 0.0521839 0.768389 0.5 --0.0201874 0.0711262 0.0528634 0.612118 0.5 --0.0193751 0.0711448 0.0534686 0.60873 0.477663 --0.0185051 0.0711438 0.0540217 0.606739 0.5 --0.0176031 0.0711548 0.0545194 0.622979 0.5 --0.0798193 0.0993879 0.0336913 0.687679 0.5 --0.0846322 0.139314 0.044315 0.672912 0.5 --0.079084 0.0994215 0.0343706 0.688653 0.422635 --0.0845068 0.120355 0.0490624 0.720286 0.5 --0.0229594 0.0811266 0.055321 0.557805 0.474072 --0.078807 0.10613 0.032485 0.532401 0.5 --0.0913593 0.126907 0.0414668 0.627384 0.5 --0.0796245 0.0859561 0.0353266 0.767808 0.5 --0.0428742 0.105667 -0.0205602 0.731304 0.5 --0.0871513 0.117629 0.0474896 0.570495 0.5 --0.0658335 0.0881117 -0.0184537 0.496855 0.5 --0.0199036 0.0739897 0.0538964 0.602769 0.5 --0.0818746 0.144748 0.0414084 0.474096 0.5 --0.0230529 0.0839079 0.0553134 0.507345 0.470825 --0.0476682 0.165409 0.0039929 0.349686 0.46828 --0.0282432 0.0763981 0.0437868 0.721292 0.5 --0.076218 0.0887607 0.0388797 0.620745 0.5 --0.0711952 0.0805577 0.0397762 0.634593 0.5 --0.0831505 0.0857608 0.0304017 0.711996 0.431027 --0.0835465 0.101952 0.0288636 0.642938 0.5 --0.0705411 0.0860609 0.0417748 0.636596 0.44317 --0.0783582 0.0994351 0.0350546 0.699226 0.5 --0.0191918 0.174184 -0.0227992 0.42389 0.352327 --0.0220401 0.0852804 0.0556778 0.483033 0.5 --0.0776021 0.0994637 0.0357144 0.690718 0.5 --0.0864391 0.131188 0.0477462 0.592026 0.5 --0.076866 0.0994719 0.0363813 0.559076 0.4431 --0.0719012 0.152408 -0.0434229 0.285821 0.5 --0.0684419 0.0805248 0.0412962 0.62321 0.451548 --0.0759966 0.0994807 0.0369297 0.539824 0.449425 --0.0237993 0.184341 -0.0145966 0.202198 0.5 --0.0828981 0.101969 0.02963 0.656757 0.442363 --0.0822116 0.101996 0.0303518 0.666873 0.5 --0.0295399 0.0777526 0.042206 0.761904 0.5 --0.0919891 0.124178 0.0422069 0.501602 0.47305 --0.0923673 0.124202 0.041188 0.636546 0.465219 --0.0257584 0.0736396 0.0456283 0.637495 0.5 --0.0881736 0.132451 0.0437642 0.543887 0.41121 --0.0278981 0.0863323 0.047373 0.48143 0.385029 --0.0256026 0.0837946 0.0522209 0.659613 0.5 --0.0866506 0.128453 0.0480393 0.685922 0.5 --0.0688604 0.0819375 0.0416515 0.645487 0.5 --0.0778671 0.177131 -0.0494084 0.324417 0.5 --0.0254269 0.0781373 0.050782 0.727084 0.5 --0.0258381 0.0781035 0.0498012 0.73679 0.5 --0.0263107 0.0780916 0.0488984 0.688481 0.431577 --0.026682 0.0779832 0.0478067 0.646267 0.5 --0.0275354 0.0822426 0.0485604 0.598348 0.5 --0.0720541 0.0777606 0.0379027 0.756901 0.5 --0.0879795 0.148554 0.029057 0.467988 0.441569 --0.0408143 0.0899706 -0.0230035 0.698412 0.5 --0.0418104 0.0899475 -0.0227382 0.710007 0.5 --0.0429194 0.0898997 -0.0223492 0.592112 0.44212 --0.065935 0.125307 -0.00885715 0.810106 0.5 --0.0539078 0.109837 -0.0181931 0.679943 0.5 -0.000101878 0.111584 -0.0199068 0.689753 0.5 --0.0728936 0.109289 -0.00959602 0.487491 0.48619 --0.0849268 0.122064 -0.00322109 0.506068 0.5 --0.0318643 0.104333 -0.0219242 0.452128 0.5 --0.0328692 0.104316 -0.0215625 0.590342 0.455858 --0.0558989 0.109796 -0.0177742 0.641121 0.5 --0.0278708 0.104417 -0.0229648 0.632813 0.5 --0.0268762 0.104433 -0.0231038 0.651717 0.5 --0.0557185 0.0570014 0.011057 0.179388 0.5 --0.022872 0.104437 -0.0231879 0.713138 0.5 --0.0749035 0.113464 -0.00617122 0.468272 0.5 --0.0718754 0.119424 -0.00835095 0.655849 0.5 --0.0448725 0.105637 -0.0203982 0.695553 0.5 -0.001175 0.0909253 -0.0339059 0.588825 0.5 -0.00217921 0.090906 -0.033534 0.735462 0.5 --0.0751542 0.0995011 0.0375123 0.497407 0.471923 --0.0193167 0.0754023 0.0546877 0.593528 0.5 --0.0861256 0.0937891 0.0274526 0.738518 0.5 --0.022633 0.08929 0.0533197 0.560036 0.5 --0.0246025 0.0824997 0.0540808 0.674094 0.5 --0.0291608 0.0806486 0.0445728 0.686304 0.398708 --0.0758067 0.0877331 -0.0139103 0.488567 0.5 --0.0794858 0.0940336 0.0349322 0.771672 0.5 --0.0283572 0.0862879 0.0464179 0.560143 0.5 --0.0840475 0.0856522 0.0284432 0.685061 0.449165 --0.0841686 0.143365 0.0409129 0.492686 0.5 --0.0885696 0.137819 0.0397738 0.51327 0.476791 --0.0715816 0.0791203 0.0388191 0.618827 0.480794 --0.0814983 0.102013 0.0310531 0.678302 0.5 --0.023059 0.0825255 0.0553698 0.523985 0.5 --0.0191397 0.0920316 0.0539979 0.50914 0.5 --0.0886344 0.0949473 0.0228281 0.574257 0.5 --0.0845696 0.12714 0.0502672 0.537013 0.5 --0.0174959 0.0984963 0.0451272 0.326778 0.5 --0.0617567 0.139364 -0.00656769 0.615943 0.5 --0.0783268 0.0804305 0.0341941 0.747294 0.5 --0.0858069 0.133905 0.0470456 0.719107 0.5 --0.0834451 0.136657 0.0474496 0.507741 0.5 --0.0249827 0.0918474 0.0485489 0.553886 0.5 --0.0288938 0.0821008 0.0456772 0.660198 0.5 --0.0748166 0.0921259 -0.0144369 0.41024 0.5 --0.0743754 0.0995209 0.0381506 0.571349 0.5 --0.0273861 0.0720614 0.0416635 0.758915 0.5 --0.0269088 0.0720784 0.0425891 0.727437 0.5 --0.0264479 0.0721314 0.0435447 0.718447 0.5 --0.0259103 0.0721759 0.0444214 0.621465 0.5 --0.0253772 0.0722169 0.0453002 0.655957 0.5 --0.0249029 0.0722756 0.0462509 0.679098 0.416689 --0.0244152 0.0723023 0.0471532 0.708872 0.5 --0.023961 0.0723529 0.0481115 0.741519 0.5 --0.0234979 0.0724108 0.049066 0.749264 0.5 --0.0229845 0.0724431 0.0499564 0.758299 0.5 --0.0224223 0.072452 0.0507888 0.767045 0.5 --0.0218345 0.0725147 0.0516294 0.782372 0.5 --0.0211964 0.0725528 0.0524066 0.762552 0.5 --0.0204394 0.0725535 0.0530664 0.606935 0.5 --0.0196415 0.0725672 0.0536854 0.595665 0.5 --0.0188257 0.0725897 0.0542693 0.599604 0.5 --0.0736148 0.0995067 0.0387799 0.560069 0.5 --0.0727533 0.0995199 0.0393322 0.557197 0.5 --0.0599044 0.111127 -0.0158584 0.46108 0.477716 --0.0430533 0.034543 -0.0263375 0.176398 0.205782 --0.0439898 0.0350927 -0.0256307 0.162339 0.5 --0.0443417 0.035118 -0.0243716 0.185544 0.251225 --0.0448486 0.0351369 -0.0234128 0.159962 0.261208 --0.0454902 0.0352033 -0.0224188 0.156094 0.28502 --0.0458004 0.0353434 -0.021332 0.178142 0.5 --0.0460388 0.0353834 -0.0203139 0.159105 0.5 --0.0462349 0.0354247 -0.01929 0.145398 0.168046 --0.0465497 0.0354834 -0.0182685 0.191067 0.5 --0.0466771 0.0355018 -0.0172702 0.189574 0.5 --0.0471842 0.0355635 -0.0162689 0.188053 0.5 --0.0474379 0.0355948 -0.0152688 0.193736 0.5 --0.0476906 0.0356242 -0.0142735 0.194812 0.5 --0.0479431 0.0356599 -0.0132734 0.186768 0.5 --0.085371 0.127983 -0.0026626 0.60266 0.5 --0.0863225 0.128011 -0.00168174 0.660027 0.5 --0.0883678 0.128089 0.00227451 0.510874 0.346895 --0.0934137 0.128236 0.0152484 0.774086 0.5 --0.093262 0.128309 0.02526 0.620648 0.472614 --0.092072 0.128303 0.0302461 0.621444 0.5 -0.00382729 0.106411 -0.0207174 0.785128 0.5 -0.0309722 0.116471 -0.00147933 0.62174 0.5 --0.0108057 0.0342947 -0.0255969 0.15305 0.5 --0.012857 0.0968183 -0.0306036 0.485058 0.438913 -0.0286267 0.117101 -0.00417221 0.520453 0.485167 -0.00493781 0.100395 -0.0223096 0.684313 0.5 --0.0703962 0.0382223 -0.000484462 0.169982 0.409113 --0.0932461 0.129666 0.0232459 0.84433 0.5 --0.0930389 0.129675 0.0242521 0.856795 0.5 --0.0928278 0.124236 0.0382657 0.844179 0.5 --0.0420891 0.0363826 -0.0272583 0.151311 0.5 --0.0432318 0.0365168 -0.0263599 0.219927 0.5 --0.0437604 0.036567 -0.0252782 0.365098 0.5 --0.0440132 0.0366004 -0.0242792 0.368537 0.5 --0.044366 0.0366412 -0.0232589 0.221539 0.5 --0.045049 0.0367204 -0.0222184 0.25041 0.5 --0.045663 0.0367902 -0.0212772 0.377981 0.5 --0.0459579 0.0368224 -0.0202942 0.231859 0.5 --0.0461137 0.0368295 -0.0192985 0.234706 0.414065 --0.0462973 0.0368721 -0.0182757 0.376355 0.5 --0.0466572 0.0369109 -0.0172699 0.213547 0.5 --0.0469317 0.0369443 -0.0162782 0.375067 0.5 --0.0473123 0.0369901 -0.0152765 0.378024 0.5 --0.047565 0.0370224 -0.0142792 0.390309 0.5 --0.0476227 0.0370311 -0.0128189 0.195728 0.250264 --0.080434 0.0763484 0.0258387 0.783475 0.5 --0.0921826 0.114725 0.0193089 0.752363 0.5 --0.0917278 0.114662 0.0113396 0.451378 0.5 --0.0902973 0.114585 0.00733567 0.36318 0.431269 --0.0877422 0.114422 0.00426669 0.318524 0.449434 --0.0869021 0.114398 0.00327085 0.349273 0.5 -0.0501248 0.0723145 0.00745971 0.794214 0.5 -0.000272434 0.109746 -0.0202486 0.804677 0.5 --0.00639115 0.121199 -0.012466 0.596006 0.5 --0.0104359 0.0944019 -0.0340934 0.722928 0.331946 -0.0294698 0.0801098 -0.0210213 0.752623 0.5 --0.0693963 0.0393871 -0.00132267 0.249699 0.451987 --0.0702074 0.0394853 -0.000301673 0.241905 0.5 --0.0707082 0.0395895 0.000643319 0.199739 0.5 --0.0929029 0.129672 0.0252445 0.860545 0.5 --0.0792409 0.168033 -0.0359701 0.38015 0.5 --0.0785372 0.168054 -0.0329755 0.379431 0.5 --0.0774663 0.168085 -0.0299733 0.264203 0.5 --0.0549715 0.161246 0.00205939 0.197273 0.387335 -0.0260716 0.115341 -0.00830033 0.511712 0.5 --0.0438081 0.0899046 -0.0222231 0.647898 0.5 --0.044116 0.168361 -0.0078879 0.379651 0.5 --0.0469507 0.168415 -0.00396135 0.35056 0.39049 --0.0925953 0.129683 0.0262582 0.603082 0.5 --0.092402 0.129661 0.0272343 0.488426 0.5 --0.0168415 0.122494 -0.0076608 0.541066 0.5 --0.0665542 0.169448 -0.0580509 0.516374 0.458393 --0.067702 0.169446 -0.0560134 0.487347 0.455218 --0.0687619 0.169445 -0.0540038 0.670889 0.5 --0.0704863 0.169511 -0.0510127 0.487293 0.450886 --0.0714505 0.16941 -0.0490283 0.47874 0.339686 --0.072631 0.169409 -0.0470274 0.479738 0.5 --0.0920793 0.129683 0.0282033 0.48113 0.447798 --0.0598434 0.0384999 0.0207227 0.184298 0.5 --0.0603223 0.0385556 0.0217181 0.161702 0 --0.0617635 0.0387159 0.0237173 0.149111 0.5 --0.0626025 0.0388129 0.0247151 0.159834 0.5 --0.0633235 0.0388939 0.025715 0.159708 0.5 --0.0918958 0.129686 0.0292517 0.606198 0.5 --0.0917215 0.129668 0.0302355 0.601516 0.48259 --0.0915067 0.129676 0.0312386 0.853492 0.5 --0.0913848 0.129679 0.0322355 0.842499 0.5 --0.0912678 0.12968 0.0332366 0.83446 0.5 --0.0788091 0.168052 -0.033971 0.400366 0.464969 --0.0661658 0.170967 -0.0590604 0.45998 0.5 --0.0685433 0.170852 -0.0550244 0.669597 0.5 --0.0709402 0.170831 -0.0510269 0.473736 0.460127 --0.0735775 0.170801 -0.0470392 0.426932 0.5 --0.078668 0.170753 -0.0430283 0.276639 0.377887 --0.086692 0.140502 0.00718566 0.520964 0.5 --0.0391932 0.171233 -0.0109027 0.415495 0.5 --0.0775215 0.161144 -0.0189221 0.746562 0.5 --0.0740526 0.172196 -0.0480444 0.528484 0.5 --0.0432126 0.168352 -0.00885275 0.393675 0.5 --0.0702125 0.173659 -0.0540385 0.65353 0.5 --0.0393334 0.174116 -0.00798067 0.261411 0.5 --0.0911579 0.129687 0.0342384 0.818689 0.5 --0.0911404 0.129685 0.035237 0.818655 0.5 --0.0782584 0.1764 -0.0490322 0.289487 0.5 --0.0772744 0.177812 -0.051035 0.266661 0.5 --0.0777137 0.177848 -0.0500546 0.222064 0.5 --0.0907603 0.140585 0.0151783 0.39901 0.455029 --0.0924762 0.124198 0.0322659 0.84785 0.5 --0.0924935 0.124207 0.0332695 0.824774 0.5 --0.0925657 0.116008 0.0123183 0.483407 0.5 --0.0416697 0.0377451 -0.0272469 0.265485 0.5 --0.042649 0.0378778 -0.0263104 0.247791 0.5 --0.0433082 0.037957 -0.0253239 0.241698 0.5 --0.0435213 0.0379732 -0.0242868 0.357732 0.363769 --0.0440467 0.0380432 -0.0230799 0.302986 0.36827 --0.0449923 0.0381195 -0.0222607 0.280072 0.5 --0.045381 0.0381676 -0.0212668 0.356225 0.5 --0.0456637 0.0382067 -0.0202858 0.568126 0.5 --0.045802 0.0382259 -0.0192856 0.317966 0.450606 --0.0459192 0.038241 -0.0182827 0.54636 0.5 --0.0463034 0.0382871 -0.0172845 0.284219 0.5 --0.0466789 0.0383303 -0.0162856 0.552677 0.5 --0.0469324 0.0383628 -0.0152843 0.552844 0.5 --0.0471845 0.0383965 -0.0142868 0.553056 0.5 --0.0474379 0.0384277 -0.0132876 0.37471 0.5 --0.047784 0.038449 -0.0122332 0.256664 0.5 --0.0870454 0.128039 -0.000695727 0.657719 0.5 --0.0923901 0.114734 0.0183133 0.750435 0.5 --0.0638593 0.0953482 -0.0183667 0.651463 0.5 --0.00987706 0.108745 -0.0220853 0.596321 0.5 --0.0927217 0.128206 0.0112525 0.446494 0.5 --0.0306198 0.11135 -0.017885 0.661416 0.5 --0.0665679 0.0404538 -0.00528616 0.346306 0.5 --0.0672802 0.0405919 -0.00423161 0.292083 0.427548 --0.0674006 0.0406253 -0.00334064 0.292041 0.31925 -0.0124979 0.0363631 -0.0219171 0.281744 0.444124 --0.0685642 0.0406581 -0.00126009 0.352376 0.5 --0.0694593 0.040787 -0.000292884 0.28098 0.5 --0.0700194 0.0408862 0.000674154 0.224307 0.5 --0.0911131 0.129682 0.0362351 0.813293 0.5 --0.0910152 0.129688 0.0372352 0.822245 0.5 --0.090997 0.129691 0.0382289 0.831044 0.5 --0.09079 0.1297 0.0392322 0.852518 0.5 --0.0778591 0.161105 -0.0269202 0.42527 0.5 --0.075804 0.161028 -0.0299559 0.418641 0.312928 --0.0747225 0.161031 -0.0319529 0.416194 0.5 --0.0732611 0.161033 -0.0359392 0.35733 0.479137 --0.0730235 0.16103 -0.0369405 0.377274 0.5 --0.0727808 0.161025 -0.0379399 0.373036 0.426852 --0.0725308 0.161023 -0.0389355 0.358613 0.404324 --0.0721931 0.161015 -0.0399435 0.366645 0.416715 --0.071953 0.16101 -0.0409434 0.379982 0.5 --0.0714698 0.161004 -0.0429413 0.486268 0.5 --0.0712181 0.161 -0.0439365 0.49184 0.5 --0.0708835 0.160996 -0.0449446 0.497678 0.5 --0.0706171 0.160991 -0.0459386 0.498415 0.460508 --0.0905559 0.1297 0.0402277 0.878085 0.5 --0.0915744 0.128321 0.0372423 0.809102 0.5 --0.0594807 0.0398598 0.0207095 0.337927 0.5 --0.0600846 0.0399274 0.0217122 0.293803 0.5 --0.061044 0.0400333 0.0227114 0.136609 0.5 --0.0620019 0.0401372 0.0237075 0.295694 0.5 --0.0627225 0.0402195 0.0247088 0.303612 0.5 --0.0635622 0.0403137 0.0257086 0.31826 0.5 --0.064273 0.0404086 0.0266782 0.238525 0.370167 --0.064637 0.0404566 0.0276669 0.264418 0.5 --0.0650238 0.0405393 0.0286621 0.307687 0.304943 --0.071563 0.151347 -0.0436244 0.152397 0.339709 --0.0896969 0.139298 0.033185 0.611605 0.5 --0.0758612 0.165153 -0.0370257 0.430526 0.5 --0.0785503 0.175004 -0.046006 0.435268 0.5 --0.0318479 0.09723 -0.023215 0.877913 0.5 --0.0914715 0.128331 0.0382421 0.818958 0.5 --0.0779755 0.159708 -0.0199256 0.5055 0.5 --0.0767016 0.15969 -0.0259195 0.412099 0.5 --0.0738575 0.159643 -0.0319319 0.341035 0.5 --0.070737 0.159582 -0.0449318 0.522968 0.5 --0.0217957 0.119089 -0.0120655 0.786046 0.5 --0.0120829 0.121468 -0.0106691 0.649742 0.5 --0.0500656 0.165567 2.77718e-05 0.353913 0.5 --0.0935392 0.129637 0.0202382 0.809584 0.5 --0.0750314 0.165158 -0.038026 0.466028 0.5 --0.0682913 0.165205 -0.0539869 0.508452 0.432115 --0.0678325 0.165206 -0.0549947 0.491193 0.5 --0.0777024 0.176292 -0.0501047 0.253048 0.353994 --0.0764653 0.177807 -0.0519745 0.3702 0.5 --0.0734442 0.163812 -0.0389777 0.453492 0.438704 --0.0713722 0.163817 -0.0449613 0.365869 0.451796 --0.0679508 0.168029 -0.055011 0.492494 0.5 --0.0146147 0.12166 -0.00880985 0.661887 0.5 --0.0736039 0.148578 -0.0278556 0.303476 0.5 --0.0733262 0.151241 -0.0368807 0.40925 0.5 --0.0924917 0.124196 0.0312677 0.871214 0.5 --0.092997 0.116043 0.0153159 0.614278 0.5 --0.0927665 0.116031 0.013321 0.51184 0.5 --0.0404866 0.0390699 -0.027317 0.3765 0.5 --0.0417523 0.0392031 -0.0263092 0.329246 0.5 --0.0424078 0.0392874 -0.0253255 0.258942 0.5 --0.0427465 0.0393017 -0.0242897 0.428975 0.360831 --0.0431901 0.039319 -0.0232745 0.432755 0.328016 --0.0444076 0.0394861 -0.0222996 0.334565 0.5 --0.0447782 0.039524 -0.0212903 0.681039 0.5 --0.0451579 0.0395668 -0.0202936 0.702723 0.5 --0.0452834 0.0395877 -0.019291 0.726106 0.5 --0.0452845 0.0395903 -0.0182935 0.718412 0.5 --0.0455391 0.0396225 -0.0172907 0.645519 0.5 --0.0461447 0.0396778 -0.0162811 0.353387 0.5 --0.0463977 0.0397105 -0.0152844 0.379252 0.464392 --0.0466442 0.0397388 -0.0142756 0.299302 0.5 --0.0468539 0.0397424 -0.0132276 0.25294 0.5 --0.0473179 0.0397941 -0.0120624 0.223765 0.315924 --0.0887148 0.12811 0.00328264 0.72111 0.5 --0.0308753 0.104365 -0.0222089 0.446319 0.482864 --0.0728566 0.114991 -0.00711315 0.366591 0.436444 --0.0816493 0.14593 0.000178819 0.592301 0.5 --0.0893977 0.135151 0.0292068 0.808765 0.5 --0.089421 0.135156 0.0282104 0.803974 0.5 --0.0650689 0.0416148 -0.00522845 0.453463 0.5 --0.0659868 0.0418098 -0.00430732 0.37248 0.5 --0.0665131 0.0419133 -0.00333369 0.318066 0.378794 --0.0667152 0.0419014 -0.00231002 0.37233 0.5 --0.0674877 0.041922 -0.00126982 0.395481 0.5 --0.0683896 0.0420777 -0.000309277 0.348441 0.5 --0.0691002 0.0421453 0.000699576 0.293542 0.5 --0.0695352 0.0422413 0.00168563 0.300689 0.40801 --0.0696417 0.0422524 0.0026904 0.353307 0.5 --0.0694557 0.0421945 0.00370163 0.415109 0.5 --0.0781275 0.152854 0.000107941 0.416632 0.5 --0.0709562 0.158172 -0.0439179 0.492314 0.35675 --0.0913446 0.12833 0.0392393 0.837905 0.5 --0.0847077 0.140411 0.00224002 0.434161 0.5 --0.0926235 0.124077 0.00926903 0.411092 0.449387 --0.0665286 0.168031 -0.0580342 0.451278 0.5 --0.0685156 0.168032 -0.0539935 0.490295 0.454656 --0.0703858 0.16802 -0.0500308 0.372022 0.35199 --0.0543713 0.158326 -0.00178875 0.236906 0.5 --0.0552908 0.158294 -0.000771282 0.192694 0.5 --0.0561055 0.158254 0.000206899 0.180724 0.5 --0.0568939 0.158351 0.00118769 0.158859 0.239758 --0.0574968 0.1584 0.00209189 0.176743 0.412447 --0.0431779 0.113636 -0.0162215 0.656574 0.5 --0.0582906 0.0411368 0.01871 0.275642 0.5 --0.0579197 0.0410941 0.0197057 0.356501 0.5 --0.0584017 0.0411488 0.0207065 0.376223 0.5 --0.059 0.0412164 0.021703 0.352925 0.5 --0.0600825 0.0413306 0.0227014 0.227712 0.5 --0.0609237 0.0414243 0.0237035 0.23689 0.5 --0.0617626 0.0415173 0.0247032 0.363447 0.5 --0.0627252 0.0416196 0.0257026 0.365264 0.5 --0.063517 0.0417383 0.0266777 0.250007 0.42172 --0.0640041 0.0417908 0.0276702 0.295208 0.395173 --0.0643944 0.0418449 0.0286723 0.336977 0.5 --0.0647338 0.0418755 0.0296857 0.407541 0.5 --0.0453052 0.113634 -0.0162273 0.705797 0.5 --0.064574 0.0418551 0.0316967 0.49531 0.5 --0.0648645 0.041891 0.032665 0.485722 0.287031 --0.0652377 0.0419529 0.0337045 0.488604 0.5 --0.0403754 0.124077 -0.00919956 0.595933 0.5 --0.0194422 0.0952996 -0.0310527 0.431585 0.454864 -0.0278981 0.113772 -0.00862034 0.550472 0.475563 -0.020878 0.117607 -0.0107498 0.482254 0.472144 --0.0723854 0.155427 -0.0359059 0.790446 0.5 --0.0730146 0.15545 -0.0319082 0.738485 0.5 --0.0774728 0.155537 -0.0149084 0.685931 0.5 --0.0774643 0.155549 -0.0139037 0.760541 0.5 --0.0772682 0.155563 -0.0118971 0.894149 0.5 -0.0304544 0.114562 -0.00546317 0.665739 0.5 --0.0681856 0.169443 -0.0550153 0.470671 0.5 --0.046761 0.126023 -0.00719597 0.543505 0.408336 --0.0783677 0.176339 -0.0480853 0.316956 0.433024 --0.0849215 0.130733 -0.00170191 0.61178 0.5 --0.0786395 0.163873 -0.0279533 0.457209 0.446609 --0.0857603 0.130763 -0.000714461 0.66754 0.5 --0.068651 0.163792 -0.0529788 0.495845 0.5 --0.077495 0.158339 -0.0149115 0.598855 0.5 --0.086473 0.130788 0.000288786 0.671729 0.5 --0.087182 0.130813 0.00128919 0.702791 0.5 --0.0578171 0.08688 -0.0211007 0.398121 0.5 --0.0925898 0.124211 0.034269 0.805629 0.5 --0.092883 0.116038 0.0143172 0.558839 0.5 --0.0808442 0.110042 -0.00155764 0.495667 0.5 --0.039457 0.0403768 -0.0273046 0.416721 0.5 --0.0405912 0.0404909 -0.0262976 0.395772 0.5 --0.0413557 0.0405762 -0.0252979 0.357329 0.5 --0.0417668 0.040639 -0.0243092 0.354294 0.262323 --0.0423306 0.040657 -0.0232664 0.406337 0.5 --0.0436408 0.0408205 -0.0223011 0.359219 0.5 --0.0441537 0.0408799 -0.0213021 0.464016 0.43402 --0.0444079 0.0409084 -0.0203048 0.456896 0.5 --0.0445241 0.0409237 -0.0192998 0.857562 0.5 --0.0446508 0.040942 -0.0182992 0.862894 0.5 --0.0447778 0.0409599 -0.0173005 0.836276 0.5 --0.0452867 0.0410146 -0.0162976 0.789024 0.5 --0.0456663 0.0410589 -0.0152981 0.800915 0.5 --0.0460065 0.0410789 -0.0142843 0.376931 0.5 --0.0463222 0.0411097 -0.0132713 0.347334 0.380711 --0.0464977 0.041126 -0.0122454 0.233676 0.5 --0.0489044 0.0413839 -0.0112514 0.62257 0.5 --0.00483682 0.0910121 -0.035647 0.704116 0.5 -0.0221624 0.0959197 -0.0219723 0.638007 0.5 -0.00206285 0.121236 -0.012553 0.754022 0.5 --0.0882908 0.103675 0.012381 0.772705 0.5 --0.0884013 0.103686 0.0143755 0.80184 0.5 --0.0881324 0.103677 0.0173573 0.824016 0.5 --0.0642285 0.0429095 -0.00424321 0.437892 0.5 --0.06512 0.0430832 -0.00329452 0.41037 0.378829 --0.0657222 0.0431534 -0.00229362 0.463051 0.5 --0.0661661 0.0431586 -0.00127362 0.395593 0.5 --0.0671097 0.0432428 -0.000257978 0.406763 0.5 --0.0676617 0.0433934 0.000689977 0.34214 0.5 --0.0683794 0.0434664 0.00169373 0.29018 0.5 --0.0686641 0.0435432 0.00268116 0.361146 0.5 --0.0685313 0.0435239 0.00368786 0.418319 0.5 --0.0683862 0.0434928 0.00469407 0.41801 0.5 --0.0686385 0.0435335 0.00569826 0.430273 0.5 --0.0880604 0.13085 0.0022566 0.732304 0.5 --0.088753 0.130866 0.00325856 0.661678 0.5 --0.0893497 0.130881 0.0042394 0.605664 0.5 --0.0747758 0.152715 -0.0228916 0.598224 0.5 --0.0746759 0.152711 -0.0238933 0.631921 0.5 --0.0745622 0.152707 -0.0248951 0.630937 0.5 --0.0745333 0.152696 -0.0258905 0.629821 0.5 --0.0744235 0.152695 -0.0268913 0.542363 0.5 --0.0743032 0.152688 -0.027892 0.568037 0.5 --0.0741728 0.15268 -0.0288898 0.583252 0.5 --0.0899265 0.130893 0.00523191 0.417899 0.467192 --0.0573402 0.0424553 0.0177175 0.312636 0.5 --0.0564664 0.0423189 0.0186897 0.274166 0.5 --0.0561187 0.04231 0.0196965 0.41177 0.5 --0.0567225 0.0423764 0.0206991 0.404188 0.5 --0.0574419 0.0424556 0.0216968 0.403487 0.5 --0.0585235 0.0425717 0.0226979 0.291028 0.5 --0.0594817 0.0426754 0.0236965 0.302713 0.5 --0.0604421 0.0427792 0.0246961 0.311704 0.5 --0.0611631 0.0428583 0.0256966 0.419713 0.5 --0.062122 0.0429616 0.0266943 0.432905 0.5 --0.0627683 0.04307 0.0276693 0.282402 0.5 --0.0633729 0.0431313 0.0286681 0.314912 0.432316 --0.0637535 0.0431846 0.0296789 0.359815 0.5 --0.064012 0.0432207 0.0306772 0.447279 0.5 --0.0641848 0.0432086 0.0316934 0.507041 0.5 --0.0644549 0.043254 0.0326925 0.499983 0.5 --0.0646832 0.0432745 0.0336962 0.501936 0.5 --0.0645999 0.0432992 0.0347148 0.378573 0.467057 --0.0644598 0.0432795 0.035714 0.403979 0.453979 --0.0911185 0.128332 0.0402364 0.599609 0.5 --0.0903815 0.130904 0.00623191 0.399157 0.419856 --0.0909161 0.13091 0.00724248 0.397632 0.5 --0.079929 0.151371 0.00121035 0.287686 0.5 --0.0737333 0.15548 -0.0259091 0.60534 0.5 --0.0772884 0.155547 -0.0128979 0.819451 0.5 --0.0771312 0.155572 -0.0108986 0.891675 0.5 --0.091267 0.130919 0.00823808 0.397983 0.5 --0.0697746 0.169428 -0.052035 0.666416 0.5 --0.0669961 0.165196 -0.05701 0.44907 0.5 --0.0916067 0.130926 0.00923792 0.3993 0.5 --0.0332631 0.177035 -0.011981 0.289539 0.472036 --0.0532526 0.161216 -0.00188451 0.24056 0.309439 --0.0919325 0.130933 0.0102425 0.588114 0.5 --0.0910473 0.139231 0.0181913 0.517639 0.5 --0.0472127 0.168412 -0.001987 0.282983 0.5 --0.0921564 0.130934 0.011242 0.439415 0.475756 --0.0679516 0.170855 -0.0560296 0.674014 0.5 --0.0926993 0.124215 0.0352716 0.812711 0.5 --0.0923435 0.115998 0.0113188 0.464605 0.5 --0.0801061 0.109977 -0.00253557 0.468646 0.5 --0.0383481 0.0417109 -0.0273458 0.483986 0.5 --0.0393599 0.0418158 -0.0263353 0.422665 0.5 --0.0399608 0.0418525 -0.0253044 0.453193 0.5 --0.0404258 0.0418709 -0.0242648 0.459924 0.5 --0.0412055 0.0419705 -0.0232873 0.49286 0.5 --0.0427492 0.0421438 -0.0223063 0.383843 0.5 --0.0431622 0.0422126 -0.0213185 0.352134 0.364303 --0.043534 0.0422491 -0.0203181 0.339314 0.38382 --0.0437917 0.0422818 -0.0193111 0.332861 0.5 --0.043781 0.0422821 -0.0183128 0.447048 0.464076 --0.0440333 0.0423079 -0.0173091 0.427488 0.468839 --0.0445267 0.0423569 -0.0163056 0.416691 0.5 --0.0447805 0.0423866 -0.0153071 0.314291 0.463724 --0.0451509 0.0424209 -0.0143059 0.350768 0.439775 --0.0456134 0.0424471 -0.0132755 0.302153 0.5 --0.0459591 0.0424584 -0.0122548 0.278938 0.310973 --0.0460107 0.0426896 -0.0115747 0.340556 0.5 -0.0252372 0.0926012 -0.0220221 0.629056 0.5 --0.0318469 0.0958266 -0.0236233 0.866024 0.5 --0.0703317 0.172249 -0.0530308 0.464972 0.47604 --0.0881725 0.103664 0.0113862 0.747494 0.5 --0.0844232 0.100698 -0.00156743 0.508762 0.414897 --0.0842625 0.100702 -0.00260902 0.460552 0.4045 --0.0611865 0.0441212 -0.00432669 0.439109 0.5 --0.0627986 0.0441541 -0.00325511 0.437953 0.5 --0.0637641 0.044271 -0.0022694 0.406379 0.5 --0.0642751 0.044386 -0.00129652 0.390658 0.415328 --0.0649698 0.0444252 -0.000282601 0.375653 0.420293 --0.0658096 0.0445087 0.000718728 0.3549 0.5 --0.0665472 0.0446244 0.00170489 0.296309 0.5 --0.0669483 0.0447271 0.0026821 0.35576 0.5 --0.067208 0.0447917 0.00368814 0.275754 0.432947 --0.0673041 0.044774 0.00468689 0.329394 0.432286 --0.0672001 0.044789 0.00569382 0.340506 0.5 --0.0923833 0.130942 0.0122392 0.458544 0.478323 --0.0934473 0.129632 0.0182372 0.771966 0.5 --0.0925249 0.130961 0.0132346 0.721471 0.5 --0.0926331 0.130966 0.0142325 0.782368 0.5 --0.0754019 0.151364 -0.0118956 0.830958 0.5 --0.0753884 0.151441 -0.0109145 0.769588 0.315348 --0.0755472 0.15139 -0.00989046 0.718492 0.5 --0.0757827 0.151399 -0.00889222 0.656589 0.5 --0.0763465 0.151411 -0.00788806 0.588068 0.5 --0.0926334 0.130971 0.0152338 0.808837 0.5 --0.0562626 0.0437454 0.0167126 0.353603 0.5 --0.0548438 0.043635 0.0177242 0.3335 0.5 --0.0540808 0.0434992 0.0186914 0.57697 0.5 --0.0542023 0.0435162 0.019691 0.607363 0.5 --0.0546838 0.0435714 0.0206922 0.522209 0.5 --0.0556415 0.043673 0.0216881 0.475319 0.5 --0.0567225 0.043789 0.0226896 0.366072 0.5 --0.0576821 0.0438911 0.0236882 0.392451 0.5 --0.0584005 0.0439707 0.0246877 0.371615 0.5 --0.0594833 0.0440844 0.0256893 0.369764 0.5 --0.0602045 0.0441634 0.0266895 0.439332 0.5 --0.0612844 0.044277 0.027687 0.497186 0.5 --0.0618962 0.0443648 0.0286813 0.302557 0.45843 --0.0623664 0.0443972 0.0296888 0.568974 0.5 --0.062996 0.0444935 0.0306768 0.310782 0.5 --0.0633534 0.0445301 0.031682 0.340383 0.409388 --0.0636039 0.0445634 0.0326846 0.378657 0.5 --0.0637123 0.0445754 0.0336875 0.412714 0.5 --0.0635872 0.0445618 0.0346899 0.399562 0.5 --0.0634695 0.0445577 0.0356919 0.456506 0.5 --0.0632416 0.0445478 0.0366988 0.498341 0.5 --0.0631227 0.0445391 0.0377156 0.382781 0.460385 --0.0926435 0.13098 0.0162303 0.778323 0.5 --0.0731279 0.155455 -0.0309078 0.733049 0.5 --0.0766628 0.155608 -0.00789132 0.883633 0.5 --0.0501632 0.165541 -0.000963216 0.269716 0.449211 --0.0927674 0.130992 0.0172311 0.74255 0.5 --0.0743109 0.165184 -0.0390136 0.467231 0.343536 --0.0674561 0.1652 -0.0559896 0.438286 0.280549 --0.0929968 0.130998 0.0182299 0.735639 0.5 --0.0893902 0.139278 0.0291842 0.614725 0.5 --0.0900419 0.139254 0.023178 0.7254 0.5 --0.0737231 0.156865 -0.0279142 0.435716 0.5 --0.0931085 0.131006 0.0192314 0.780284 0.5 --0.0930104 0.131018 0.0202297 0.794438 0.5 --0.013259 0.121231 -0.0103976 0.65404 0.5 --0.0929853 0.13101 0.0212315 0.805904 0.5 --0.0142526 0.181479 -0.0279552 0.29695 0.5 --0.0927296 0.124224 0.0362665 0.823069 0.5 --0.0917869 0.115969 0.00931507 0.323955 0.5 --0.0371849 0.0430027 -0.0273252 0.481653 0.5 --0.0382076 0.0431174 -0.0263315 0.392631 0.5 --0.0387588 0.0432047 -0.0253505 0.409973 0.344474 --0.0393167 0.0432044 -0.0243027 0.473861 0.5 --0.0402206 0.0433137 -0.0233156 0.472501 0.5 --0.0417953 0.0435116 -0.0223513 0.309533 0.5 --0.0422557 0.0435263 -0.021317 0.363925 0.5 --0.0425222 0.0435673 -0.0203211 0.327645 0.45167 --0.0428901 0.0435976 -0.0193145 0.320211 0.5 --0.042915 0.0436274 -0.0183221 0.267926 0.5 --0.0431625 0.0436516 -0.0173214 0.264519 0.393827 --0.0435198 0.0436724 -0.0163157 0.258597 0.5 --0.0440204 0.0437247 -0.0153148 0.270399 0.5 --0.0442728 0.0437529 -0.0143172 0.626595 0.5 --0.0446156 0.0437685 -0.0132939 0.272229 0.5 --0.0451547 0.0437693 -0.0122411 0.23601 0.231781 --0.0323987 0.114036 -0.016697 0.853943 0.5 --0.0628575 0.0953598 -0.0185102 0.657151 0.5 --0.0328363 0.0957996 -0.0235469 0.867882 0.5 -0.038759 0.104954 -0.0010414 0.617363 0.444071 --0.0883984 0.103684 0.0133796 0.793709 0.5 --0.0858283 0.1008 0.00139713 0.634246 0.5 --0.0578284 0.0450681 -0.00544742 0.530144 0.5 --0.0592389 0.0452743 -0.00430196 0.421692 0.5 --0.0598716 0.0453976 -0.00333599 0.343607 0.5 --0.0609254 0.0454597 -0.00231147 0.353084 0.5 --0.0617588 0.0455326 -0.00130544 0.362787 0.5 --0.0626845 0.0455625 -0.000282658 0.355971 0.445449 --0.0632995 0.045657 0.000708444 0.340219 0.437074 --0.0640343 0.0457636 0.00169557 0.301402 0.5 --0.0646154 0.0457888 0.00269728 0.283043 0.5 --0.0651006 0.0458549 0.00368955 0.269784 0.439857 --0.0653495 0.0459059 0.00467835 0.276438 0.5 --0.0652563 0.0459546 0.00568144 0.246108 0.5 --0.0645626 0.0459512 0.00669838 0.2394 0.5 --0.0639717 0.0459278 0.00771742 0.209792 0.5 --0.0630075 0.0458305 0.00872119 0.285935 0.5 --0.0928025 0.131035 0.0222365 0.804539 0.5 --0.0893245 0.139298 0.0361742 0.482878 0.475189 --0.0926774 0.131034 0.0232376 0.820894 0.5 --0.0911932 0.147489 0.0241289 0.477185 0.5 --0.0913426 0.147495 0.0231401 0.478387 0.480384 --0.0925525 0.131032 0.0242364 0.81818 0.5 --0.0548269 0.0450002 0.0157095 0.417572 0.5 --0.0538714 0.0449084 0.0167075 0.361641 0.5 --0.0530349 0.0448324 0.0176964 0.405163 0.5 --0.0527601 0.0447727 0.0186838 0.718564 0.5 --0.0528814 0.0447887 0.0196824 0.735826 0.5 --0.0532393 0.0448331 0.0206817 0.673047 0.5 --0.0539631 0.0449066 0.021682 0.5746 0.5 --0.0548009 0.0449973 0.0226803 0.489231 0.5 --0.0558801 0.045112 0.0236807 0.465818 0.5 --0.0566015 0.0451895 0.0246815 0.504043 0.5 --0.057322 0.0452663 0.0256799 0.463711 0.5 --0.057924 0.0453324 0.0266819 0.425546 0.5 --0.0591236 0.0454581 0.0276809 0.3969 0.5 --0.0599631 0.0455474 0.028679 0.454948 0.5 --0.0604443 0.0456013 0.0296807 0.469888 0.5 --0.0610445 0.045667 0.0306816 0.38031 0.5 --0.0615251 0.0457206 0.0316818 0.285603 0.5 --0.0621264 0.0457845 0.0326787 0.31044 0.5 --0.0623633 0.0458155 0.0336786 0.357415 0.5 --0.0622817 0.0458517 0.0346831 0.275009 0.5 --0.0621404 0.0458224 0.0356845 0.285775 0.5 --0.0621205 0.0458041 0.0366793 0.302276 0.5 --0.0619129 0.0458194 0.037691 0.320594 0.5 --0.09234 0.131039 0.0252374 0.820289 0.5 --0.047064 0.168385 -0.0010022 0.273323 0.5 --0.0738566 0.161044 -0.0339379 0.334404 0.5 --0.0790056 0.166641 -0.0359617 0.413253 0.5 --0.0710521 0.173649 -0.0530415 0.359022 0.5 --0.0394609 0.174124 -0.00699657 0.204191 0.413475 --0.0895247 0.139293 0.0351741 0.632208 0.472472 --0.0921191 0.131045 0.0262423 0.582594 0.480475 --0.0776418 0.158287 -0.0219264 0.406046 0.453872 --0.0723862 0.156822 -0.0359122 0.517394 0.5 --0.0918654 0.131039 0.0272344 0.59176 0.5 --0.0916243 0.131038 0.0282288 0.596089 0.47644 --0.0914166 0.131046 0.0292353 0.850447 0.5 --0.0396002 0.125498 -0.0067103 0.646953 0.5 --0.0533112 0.162693 5.53048e-05 0.251566 0.5 --0.0340047 0.0386047 -0.0302796 0.405934 0.5 --0.076428 0.148619 -0.00986569 0.650855 0.5 --0.0926703 0.124234 0.0402542 0.62869 0.473902 --0.092816 0.124239 0.0392636 0.870726 0.5 --0.0908004 0.115922 0.00730178 0.325908 0.5 --0.0903482 0.115904 0.00630147 0.32281 0.359572 --0.0377025 0.0444987 -0.0253388 0.364698 0.5 --0.0382462 0.044597 -0.024375 0.45018 0.412704 --0.0388087 0.0446425 -0.0234233 0.462629 0.297556 --0.0405771 0.0447491 -0.0223069 0.379155 0.5 --0.0411389 0.0448599 -0.0213399 0.301847 0.5 --0.0413793 0.0448727 -0.0203291 0.366476 0.5 --0.0417517 0.0449058 -0.0193246 0.35547 0.5 --0.0420037 0.0449364 -0.0183222 0.370126 0.5 --0.0421354 0.0449426 -0.0173193 0.224844 0.33752 --0.0424968 0.0449805 -0.0163196 0.225445 0.5 --0.0430213 0.0450576 -0.0153284 0.218305 0.5 --0.0432762 0.0450842 -0.0143236 0.286727 0.384165 --0.043641 0.0451148 -0.0133235 0.215665 0.411633 --0.0441044 0.0451364 -0.0122986 0.256311 0.390836 -0.00545294 0.1216 -0.0129959 0.622385 0.5 -0.0130443 0.113867 -0.0167218 0.634759 0.463552 --0.0744709 0.159641 -0.0299365 0.326989 0.421821 -0.00232953 0.116694 -0.0177181 0.839046 0.5 --0.0381489 0.0448685 -0.0242105 0.45518 0.425281 --0.0548596 0.0462919 -0.006395 0.598118 0.5 --0.0559631 0.0464314 -0.00541258 0.56982 0.5 --0.0572353 0.0465198 -0.0043437 0.482448 0.5 --0.0579832 0.0466328 -0.00336399 0.38099 0.5 --0.0586841 0.0466878 -0.00234651 0.301686 0.5 --0.059258 0.0467212 -0.00132733 0.289592 0.5 --0.0598545 0.0467827 -0.000327155 0.277121 0.5 --0.0605819 0.0468615 0.000669297 0.286734 0.429608 --0.0611638 0.0468972 0.00167818 0.279394 0.5 --0.0619808 0.0469192 0.00268857 0.318892 0.5 --0.0620081 0.0469936 0.00367346 0.263422 0.5 --0.0622483 0.0470201 0.00467011 0.234258 0.5 --0.0619093 0.0470515 0.00567882 0.208503 0.5 --0.0613177 0.0470312 0.00669678 0.213098 0.5 --0.0911763 0.131044 0.0302322 0.845002 0.5 --0.0910383 0.131037 0.0312282 0.830786 0.5 --0.0723661 0.147118 -0.0228625 0.235551 0.5 --0.0726068 0.147127 -0.0218633 0.245135 0.5 --0.0729646 0.147133 -0.0208616 0.269633 0.5 --0.0732036 0.147141 -0.0198634 0.289399 0.5 --0.0733101 0.14716 -0.0188577 0.194066 0.5 --0.0908528 0.131057 0.0322319 0.819824 0.5 --0.0907216 0.131054 0.0332303 0.815922 0.5 --0.0521757 0.0461175 0.0166821 0.488105 0.5 --0.0515886 0.0460739 0.0176829 0.484251 0.5 --0.0515626 0.0460585 0.0186779 0.810221 0.5 --0.0519222 0.0461016 0.019678 0.802799 0.5 --0.0522813 0.0461425 0.0206748 0.80523 0.5 --0.0527617 0.0461943 0.0216742 0.748573 0.5 --0.0532423 0.046246 0.0226735 0.699424 0.5 --0.053845 0.0463107 0.0236764 0.581533 0.5 --0.0548028 0.0464121 0.0246755 0.533089 0.5 --0.0552814 0.0464664 0.0256754 0.53388 0.5 --0.0558825 0.0465312 0.026676 0.494384 0.5 --0.0567215 0.04662 0.0276747 0.419882 0.5 --0.0576844 0.0467193 0.0286753 0.414423 0.5 --0.058163 0.0467738 0.0296766 0.425797 0.5 --0.0588838 0.0468495 0.0306747 0.333487 0.5 --0.0592465 0.046889 0.0316721 0.254872 0.5 --0.059725 0.0469427 0.0326718 0.165762 0.5 --0.0599651 0.0469723 0.0336736 0.160048 0.5 --0.0604426 0.0470258 0.0346715 0.188183 0.5 --0.0603219 0.0470192 0.0356706 0.173342 0.5 --0.0603651 0.0470889 0.0366883 0.128892 0.5 --0.0906083 0.131058 0.0342318 0.813964 0.5 --0.0705028 0.159578 -0.0459334 0.51401 0.5 --0.0734581 0.168 -0.0440151 0.451963 0.347747 --0.0754377 0.172239 -0.0469918 0.459023 0.5 --0.07915 0.166638 -0.0349654 0.468839 0.5 --0.0718839 0.173642 -0.0520314 0.35801 0.435714 --0.0396036 0.174135 -0.00601981 0.231059 0.340531 --0.067202 0.162346 -0.0569974 0.525572 0.5 --0.0517327 0.164109 0.00103678 0.279566 0.5 --0.0714498 0.15679 -0.0419165 0.723701 0.5 --0.0564562 0.159872 0.00406757 0.273086 0.5 --0.0905823 0.131055 0.0352302 0.807877 0.5 --0.090498 0.131069 0.0362301 0.815488 0.5 --0.0682771 0.163789 -0.0539724 0.484293 0.5 --0.053326 0.162717 0.00204741 0.319472 0.5 --0.0533378 0.162724 0.0010506 0.278306 0.5 --0.0429656 0.115061 -0.0157138 0.710981 0.5 --0.0834635 0.136224 -0.000676656 0.653816 0.5 --0.0787367 0.168047 -0.0389551 0.372381 0.5 --0.0898014 0.11587 0.00528404 0.544194 0.5 --0.0816885 0.110103 -0.000571623 0.518903 0.5 --0.0858155 0.103519 0.00339021 0.489845 0.5 --0.0387656 0.0459335 -0.0222844 0.374232 0.5 --0.0396922 0.0460798 -0.021311 0.43511 0.5 --0.0399677 0.0461402 -0.0203282 0.384837 0.5 --0.0404433 0.0461446 -0.0193164 0.314259 0.5 --0.0407154 0.0462046 -0.018322 0.315306 0.5 --0.0409685 0.0462375 -0.0173222 0.322531 0.5 --0.0413231 0.0462396 -0.0163116 0.26441 0.5 --0.0418006 0.0462579 -0.0152948 0.209411 0.5 --0.0420238 0.0464078 -0.0143471 0.264033 0.5 --0.0425982 0.0463965 -0.0133084 0.245753 0.5 --0.0427809 0.0464775 -0.012357 0.260171 0.5 --0.0432671 0.0465873 -0.0113888 0.300237 0.5 --0.0378459 0.0971527 -0.0224307 0.663732 0.5 --0.0896675 0.150196 0.0231327 0.309766 0.473733 -0.0140209 0.113717 -0.0165571 0.643033 0.444487 --0.0366211 0.124122 -0.00724685 0.547797 0.5 --0.0539292 0.0475998 -0.00643542 0.570492 0.5 --0.0551112 0.0477166 -0.00539308 0.550843 0.5 --0.0559583 0.0478125 -0.00439058 0.523148 0.5 --0.0566933 0.0478983 -0.00338525 0.454474 0.5 --0.0572916 0.0479655 -0.00237378 0.313992 0.44563 --0.0577489 0.0479998 -0.00135721 0.349216 0.5 --0.0581079 0.0480417 -0.000353036 0.337115 0.5 --0.0584632 0.0480819 0.000648377 0.311918 0.5 --0.0587181 0.0481161 0.00163754 0.297057 0.44796 --0.0588072 0.0481223 0.00266039 0.377785 0.5 --0.0590287 0.0481317 0.00366474 0.333934 0.5 --0.0589359 0.0481542 0.00467247 0.380442 0.5 --0.0587501 0.0482189 0.00571238 0.350812 0.448733 --0.0584355 0.0482117 0.00674018 0.428566 0.5 --0.0905552 0.131061 0.0372264 0.822044 0.5 --0.0904612 0.131068 0.0382266 0.844019 0.5 --0.0904123 0.13106 0.0392156 0.873112 0.5 --0.0542457 0.0574384 0.01981 0.100167 0.5 --0.0756675 0.155622 -0.00260296 0.310035 0.5 --0.0774249 0.155543 -0.015906 0.470497 0.5 --0.0910325 0.14477 0.0261671 0.543708 0.5 --0.0768287 0.154208 -0.00589938 0.80365 0.5 --0.0863282 0.151358 0.00923307 0.270388 0.5 --0.0510278 0.0474301 0.0166894 0.606269 0.5 --0.0506381 0.0473796 0.0176699 0.57817 0.5 --0.0508913 0.0474088 0.0186488 0.542293 0.411074 --0.0512486 0.0474505 0.019655 0.496656 0.5 --0.0517139 0.047497 0.0206563 0.502932 0.5 --0.0520755 0.0475411 0.0216528 0.508664 0.5 --0.0525312 0.0475838 0.0226634 0.49566 0.5 --0.0528967 0.0476266 0.0236645 0.480495 0.5 --0.0532781 0.0476794 0.0246524 0.447469 0.5 --0.0537237 0.0477139 0.0256667 0.706269 0.5 --0.0542034 0.0477679 0.0266683 0.641326 0.5 --0.0546836 0.0478194 0.0276676 0.579904 0.5 --0.0552831 0.0478834 0.0286656 0.47003 0.5 --0.0558854 0.0479468 0.0296668 0.444319 0.5 --0.0562412 0.0479891 0.0306662 0.321649 0.5 --0.0567258 0.0480405 0.0316684 0.215402 0.5 --0.057205 0.0480928 0.032667 0.143135 0.5 --0.0573263 0.0481094 0.0336642 0 0 --0.0575663 0.0481384 0.0346641 0 0 --0.0570855 0.0480965 0.0356642 0 0 --0.0721444 0.145534 -0.0189034 0.154496 0.5 --0.085483 0.140457 0.00319222 0.322719 0.5 --0.0404175 0.171209 -0.00987004 0.395781 0.5 --0.0870251 0.136346 0.00321516 0.371426 0.5 --0.0791449 0.166643 -0.0339646 0.464165 0.5 --0.0734863 0.173577 -0.0500848 0.329738 0.5 --0.0727332 0.173623 -0.0510446 0.361735 0.465041 --0.0737921 0.165213 -0.0399888 0.461371 0.5 -0.0483631 0.0628304 -0.00297175 0.47573 0.5 --0.0695833 0.156717 -0.0509483 0.287951 0.5 -0.0484803 0.0651161 -0.0012457 0.627194 0.441272 --0.0560047 0.159776 0.00109778 0.198299 0.5 --0.0739499 0.156872 -0.0269145 0.342597 0.481478 --0.0710297 0.16381 -0.0459687 0.37082 0.5 --0.0167629 0.120643 -0.00969861 0.756324 0.5 -0.0287509 0.0911639 -0.0204971 0.721176 0.5 --0.0778454 0.158312 -0.0179205 0.516816 0.5 --0.0131928 0.11434 -0.0171133 0.634887 0.5 --0.0876158 0.136354 0.00421533 0.350454 0.5 --0.0297371 0.179987 -0.0120259 0.241679 0.5 --0.0889882 0.115854 0.0042936 0.571492 0.5 --0.0825062 0.110166 0.000353593 0.404124 0.484693 --0.0354973 0.0470472 -0.0223112 0.300811 0.5 --0.0361509 0.0471597 -0.0213258 0.299501 0.5 --0.0366019 0.0472824 -0.0203909 0.390375 0.5 --0.0372775 0.0472266 -0.0193178 0.317166 0.5 --0.0378922 0.04725 -0.0183117 0.316678 0.5 --0.0386245 0.0472623 -0.0172994 0.306553 0.5 --0.0390182 0.0473551 -0.0162983 0.281875 0.5 --0.0725348 0.149777 -0.0387435 0.150205 0.5 --0.0792974 0.15265 0.00222093 0.202929 0.5 --0.0764328 0.147234 -0.00786196 0.388419 0.464141 --0.0414163 0.0476371 -0.0122303 0.235109 0.5 --0.0427281 0.0478381 -0.0112773 0.403695 0.5 --0.0924128 0.11471 0.0173177 0.718162 0.5 --0.0137302 0.107232 -0.0215702 0.83646 0.5 --0.0084105 0.095275 -0.0329664 0.689832 0.5 -0.0149683 0.113515 -0.0163113 0.647899 0.5 -0.0195092 0.092819 -0.0242669 0.636237 0.5 --0.0545162 0.049049 -0.0054035 0.528654 0.5 --0.0553413 0.0491317 -0.00437815 0.504361 0.5 --0.0560508 0.049202 -0.00336342 0.451879 0.5 --0.0566837 0.0492811 -0.00237706 0.333981 0.5 --0.0570669 0.0493259 -0.00137722 0.406384 0.353106 --0.0575339 0.0493779 -0.000368538 0.411334 0.5 --0.0577765 0.0494102 0.000630355 0.411993 0.454223 --0.0580135 0.04944 0.00163802 0.405438 0.467743 --0.058126 0.0494622 0.00265482 0.588841 0.5 --0.0581074 0.0494572 0.00366497 0.581668 0.5 --0.0580456 0.0494852 0.00468232 0.447234 0.5 --0.0579078 0.0494657 0.0056917 0.505122 0.459885 --0.0575671 0.0494422 0.00671449 0.574414 0.449279 --0.0829782 0.147345 0.00316952 0.660008 0.5 --0.0903381 0.144712 0.0141544 0.377145 0.45756 --0.0908558 0.14471 0.0151666 0.392343 0.5 --0.091229 0.14471 0.0161551 0.394328 0.5 --0.0914681 0.144718 0.0171554 0.589347 0.5 --0.0916784 0.144722 0.0181573 0.473958 0.5 --0.091603 0.144731 0.0191577 0.533768 0.457132 --0.0933816 0.129671 0.0222434 0.833483 0.5 --0.050859 0.0487888 0.015667 0.78315 0.5 --0.0503124 0.0487527 0.0166746 0.73783 0.5 --0.0502775 0.0487457 0.0176637 0.667169 0.5 --0.0505039 0.0487703 0.0186583 0.601918 0.5 --0.0507798 0.0488052 0.0196439 0.58018 0.5 --0.0512571 0.0488673 0.0206327 0.559033 0.397121 --0.0517309 0.0489114 0.0216412 0.563518 0.5 --0.0520878 0.0489475 0.0226481 0.578672 0.393517 --0.0524468 0.0489914 0.023647 0.568062 0.5 --0.0527883 0.0490273 0.0246529 0.563259 0.5 --0.0530142 0.0490552 0.0256583 0.533611 0.5 --0.0531367 0.0490718 0.026657 0.507381 0.5 --0.0534716 0.0490986 0.0276613 0.457124 0.5 --0.0534917 0.0491191 0.0286591 0.444129 0.5 --0.0537144 0.0491343 0.0296614 0.367564 0.5 --0.0538363 0.0491492 0.0306601 0.287382 0.5 --0.0537085 0.0491368 0.0316573 0.226432 0.5 --0.0537204 0.0491564 0.0326591 0.175254 0.5 --0.0534816 0.0491363 0.0336594 0.0939823 0.5 --0.0528781 0.0490838 0.0346622 0.104325 0.5 --0.0522791 0.0490314 0.0356585 0.114147 0.5 --0.0735722 0.148626 -0.0268487 0.267484 0.5 --0.07512 0.161006 -0.0309706 0.423615 0.5 --0.0879913 0.136375 0.00520661 0.348079 0.5 --0.0748045 0.167943 -0.0420608 0.404699 0.5 --0.0772499 0.172214 -0.0459981 0.270817 0.44932 --0.0790281 0.166651 -0.0329632 0.452074 0.5 --0.07763 0.165322 -0.0259443 0.36649 0.5 --0.0733158 0.165215 -0.0409863 0.459841 0.5 --0.0701046 0.156748 -0.048906 0.401829 0.5 --0.0697681 0.156742 -0.0499137 0.397542 0.5 --0.0716519 0.156794 -0.0409079 0.749187 0.5 --0.0726107 0.156829 -0.0349095 0.512888 0.5 --0.073056 0.163825 -0.0399663 0.361874 0.5 --0.0198254 0.120831 -0.00989132 0.696256 0.5 -0.0177118 0.0944604 -0.0240064 0.793707 0.5 -0.0187635 0.105558 -0.0177865 0.859301 0.5 --0.0779406 0.158305 -0.0189233 0.498414 0.425008 -0.0463602 0.0692197 0.00260588 0.587272 0.5 -0.0283679 0.103615 -0.0157324 0.638105 0.387519 -0.029273 0.103313 -0.0154093 0.671378 0.386891 --0.0337147 0.120592 -0.00951232 0.568666 0.5 --0.0305493 0.0479587 -0.0242789 0.250553 0.5 --0.0315627 0.048073 -0.0232988 0.272345 0.359352 --0.0321132 0.0482449 -0.0223421 0.220607 0.5 --0.0327389 0.0482896 -0.0213368 0.198641 0.5 --0.0333755 0.0483636 -0.0203394 0.213951 0.5 --0.0338728 0.0483909 -0.0193366 0.239575 0.5 --0.0346068 0.0483825 -0.0183276 0.195971 0.5 --0.0351198 0.0484277 -0.0173281 0.265727 0.5 --0.0361997 0.0483313 -0.0162949 0.159349 0.5 --0.0360083 0.0485228 -0.0153235 0.161106 0.5 --0.0366056 0.0484481 -0.0142844 0.109826 0.5 --0.0365564 0.0488017 -0.0133944 0.127078 0 -0.019292 0.0988007 -0.0225555 0.750392 0.5 --0.0407044 0.0491484 -0.0113833 0.555432 0.5 --0.0892062 0.128127 0.00426293 0.652588 0.5 -0.0223945 0.0860763 -0.025219 0.719265 0.5 --0.0111844 0.110115 -0.0206413 0.785262 0.5 --0.0194344 0.115555 -0.0163687 0.750445 0.5 --0.0531678 0.0503031 -0.00638771 0.527245 0.5 --0.0542668 0.0504201 -0.00539584 0.514955 0.5 --0.0550517 0.0504886 -0.00434688 0.478204 0.285809 --0.0556004 0.0505584 -0.00338763 0.34024 0.441427 --0.0562999 0.0506286 -0.00237306 0.404618 0.455546 --0.056691 0.0506774 -0.00137882 0.41034 0.5 --0.0570589 0.0507155 -0.000374425 0.421375 0.365231 --0.0574282 0.0507609 0.000628334 0.45026 0.5 --0.0575581 0.0507849 0.00163524 0.658325 0.5 --0.0577521 0.050802 0.00265023 0.68333 0.5 --0.0576505 0.0508003 0.0036576 0.694703 0.5 --0.0575086 0.0507939 0.00466306 0.701783 0.5 --0.0573191 0.0507885 0.00568774 0.542919 0.471298 --0.0569855 0.0507747 0.00670607 0.631216 0.5 --0.0745011 0.151286 -0.0298782 0.453051 0.5 --0.0785959 0.152697 0.00118419 0.200316 0.5 --0.0918002 0.143353 0.0191654 0.545416 0.5 --0.0919004 0.143349 0.0181646 0.490239 0.5 --0.0917872 0.143341 0.0171661 0.593701 0.5 --0.0915486 0.143335 0.0161726 0.422694 0.432967 --0.0910658 0.143334 0.0151805 0.56159 0.5 --0.0707001 0.15817 -0.0449161 0.496638 0.5 --0.050356 0.0501549 0.0156949 0.871805 0.5 --0.0500679 0.0501277 0.0166633 0.825995 0.5 --0.050165 0.0501393 0.0176523 0.730018 0.5 --0.0503924 0.0501648 0.0186468 0.671309 0.5 --0.0506717 0.0501974 0.0196351 0.629493 0.5 --0.0511359 0.0502476 0.0206335 0.606474 0.5 --0.0515138 0.0502892 0.0216268 0.62229 0.5 --0.0518625 0.050332 0.0226347 0.640601 0.5 --0.0521106 0.0503642 0.0236349 0.647573 0.5 --0.052431 0.0503969 0.0246465 0.631751 0.5 --0.0525544 0.0504168 0.0256484 0.637839 0.5 --0.0526579 0.0504274 0.026653 0.628907 0.5 --0.0526608 0.0504363 0.0276515 0.620133 0.5 --0.0526515 0.0504392 0.0286525 0.615489 0.5 --0.0525421 0.050441 0.0296546 0.578001 0.5 --0.0524537 0.0504524 0.0306643 0.334533 0.5 --0.0522987 0.0504261 0.0316576 0.283556 0.457355 --0.0772757 0.148645 -0.0058688 0.411783 0.5 --0.0761778 0.148614 -0.0108668 0.638818 0.5 --0.0760388 0.148613 -0.0118618 0.525648 0.5 --0.0823359 0.140394 0.000222625 0.604366 0.5 --0.0806782 0.140364 -0.00279029 0.666008 0.5 --0.0787812 0.166656 -0.0319662 0.588556 0.5 --0.04134 0.171235 -0.00891614 0.411905 0.5 --0.0792807 0.167978 -0.037009 0.371357 0.460079 --0.0917143 0.128313 0.0332436 0.848572 0.5 --0.0500433 0.165539 -0.00195268 0.264092 0.43877 --0.0779524 0.165292 -0.0269536 0.415867 0.460113 --0.072846 0.165216 -0.0419869 0.462643 0.5 -0.0316481 0.100683 -0.014625 0.746096 0.5 --0.0517306 0.164095 4.31123e-05 0.237233 0.439898 --0.0688973 0.120914 -0.00896239 0.775287 0.5 --0.0787586 0.163869 -0.0289482 0.462213 0.5 --0.0787597 0.163865 -0.0299483 0.467782 0.5 --0.0830301 0.110196 0.00131843 0.481449 0.5 --0.0368548 0.0985914 -0.0223265 0.674753 0.5 --0.0234485 0.122824 -0.00599554 0.465114 0.5 -0.0234826 0.113521 -0.012343 0.540392 0.5 -0.00716942 0.125754 -0.00749941 0.698867 0.5 --0.0320291 0.108616 -0.01899 0.867989 0.5 -0.0335254 0.101204 -0.0131717 0.739286 0.5 -0.0343242 0.100732 -0.0126444 0.747145 0.5 --0.0772978 0.0685904 0.0138065 0.738361 0.5 --0.0285919 0.0494861 -0.0235098 0.356317 0.5 --0.0293549 0.0495451 -0.022456 0.328722 0.29233 --0.0301219 0.0493909 -0.0214267 0.302158 0.341656 --0.0306153 0.0495713 -0.0203608 0.306544 0.5 --0.031608 0.0496402 -0.0193495 0.225021 0.5 --0.0321125 0.0496937 -0.0183514 0.307037 0.5 --0.0318598 0.0496767 -0.0173511 0.211284 0.5 --0.0323685 0.0497273 -0.0163483 0.101453 0.5 --0.0330003 0.0497903 -0.0153502 0.091875 0.5 --0.0333802 0.0498304 -0.01435 0.162078 0.5 --0.0340151 0.0498932 -0.013349 0.157996 0.5 --0.034733 0.0498868 -0.0123113 0.143035 0.134512 -0.0261457 0.100404 -0.0183041 0.694826 0.5 -0.000886159 0.12297 -0.0104051 0.601594 0.5 -0.0453693 0.0693828 0.00245115 0.427946 0.465211 -0.0338375 0.109906 -0.00644408 0.53491 0.5 --0.00992774 0.110288 -0.021044 0.782384 0.5 --0.0529425 0.0516633 -0.00638853 0.468981 0.456376 --0.0541007 0.0517729 -0.00535724 0.475374 0.462024 --0.0548347 0.0518559 -0.00436961 0.346993 0.468372 --0.0554751 0.0519418 -0.00338574 0.431738 0.462373 --0.05597 0.0519966 -0.00239063 0.420849 0.403701 --0.0564446 0.0520481 -0.00138381 0.417159 0.5 --0.0569078 0.052097 -0.000371255 0.446271 0.5 --0.057093 0.0521243 0.00061739 0.476027 0.5 --0.0573264 0.0521522 0.00163442 0.732636 0.5 --0.057408 0.0521648 0.00264452 0.77234 0.5 --0.057288 0.0521607 0.00365094 0.780118 0.5 --0.0570587 0.0521462 0.00466373 0.771523 0.5 --0.0568525 0.0521385 0.00567837 0.557435 0.5 --0.0566078 0.0521283 0.00668717 0.607616 0.463105 --0.0562674 0.0521079 0.00770249 0.640238 0.449843 -0.0321311 0.10568 -0.0119259 0.653044 0.5 --0.0463694 0.113628 -0.0162147 0.732291 0.5 --0.0719603 0.0681626 0.0276375 0.648248 0.253301 --0.0718839 0.142969 -0.00986002 0.157591 0.5 --0.072621 0.142849 -0.00891964 0.187592 0.383914 --0.0734528 0.143001 -0.00787011 0.349216 0.5 --0.0356565 0.122935 -0.00798984 0.432834 0.5 --0.0756983 0.148597 -0.0138657 0.499961 0.5 --0.0499126 0.0515141 0.0166499 0.697804 0.5 --0.0501479 0.0515412 0.017644 0.645948 0.5 --0.0503178 0.0515583 0.0186309 0.582456 0.5 --0.0506614 0.0515945 0.0196285 0.554061 0.337397 --0.051023 0.051637 0.0206282 0.553661 0.5 --0.0513914 0.0516798 0.0216239 0.558427 0.5 --0.0517393 0.0517191 0.022632 0.670696 0.5 --0.0519836 0.0517496 0.0236325 0.702185 0.5 --0.0522094 0.0517797 0.0246371 0.70389 0.5 --0.0523159 0.0517943 0.0256431 0.724334 0.5 --0.0523188 0.0518 0.026645 0.735814 0.5 --0.0522959 0.0518057 0.0276471 0.733268 0.5 --0.0521768 0.0517998 0.0286453 0.742314 0.5 --0.0520592 0.0517918 0.0296489 0.514265 0.5 --0.0518346 0.0517811 0.0306554 0.457898 0.5 --0.0206234 0.0950485 -0.0308006 0.767095 0.5 --0.00265934 0.098112 -0.0279111 0.695031 0.5 -0.0288107 0.113482 -0.00830654 0.646472 0.5 --0.000346509 0.12561 -0.00723663 0.63527 0.5 --0.0811978 0.140383 -0.00182247 0.694051 0.5 --0.0758985 0.159659 -0.0269354 0.410729 0.5 --0.0735846 0.159652 -0.032921 0.436422 0.5 --0.0733446 0.159645 -0.0339252 0.452756 0.5 --0.0632121 0.172304 -0.0615699 0.35719 0.5 --0.0821064 0.110205 0.0294137 0.444218 0.5 --0.0589036 0.112559 -0.0155981 0.454219 0.5 --0.0745628 0.173554 -0.0490908 0.378333 0.5 --0.0843958 0.13208 -0.00165487 0.608128 0.5 --0.0736747 0.166615 -0.0419946 0.460945 0.5 --0.0670834 0.168031 -0.0569976 0.515924 0.5 --0.0722291 0.166627 -0.044985 0.478255 0.401214 --0.0339085 0.177047 -0.0109944 0.337868 0.5 --0.0718751 0.150885 -0.0428436 0.145352 0.314361 -0.0269727 0.112042 -0.0107557 0.555755 0.45158 -0.0118527 0.105542 -0.0197545 0.53908 0.5 --0.0330922 0.108613 -0.0189923 0.667102 0.5 --0.0340031 0.1089 -0.0192874 0.708148 0.5 --0.0308889 0.108768 -0.0191524 0.856926 0.5 -0.0251623 0.118606 -0.00580398 0.608433 0.5 --0.0274704 0.0506795 -0.0243965 0.366688 0.5 --0.028252 0.050761 -0.0234049 0.33413 0.5 --0.0289103 0.0508426 -0.0224168 0.374964 0.5 --0.0292764 0.0508797 -0.0213979 0.42849 0.5 --0.0297126 0.0508986 -0.0203549 0.918185 0.5 --0.0297131 0.0509006 -0.0193584 0.885595 0.5 --0.0300925 0.0509394 -0.0183595 0.662925 0.5 --0.0305996 0.0509893 -0.0173575 0.50334 0.5 --0.0307264 0.0510087 -0.0163552 0.332941 0.5 --0.0311133 0.0510509 -0.015361 0.184109 0.41287 --0.0313625 0.0510794 -0.0143586 0.186293 0.5 --0.0316347 0.0511137 -0.0133654 0.198562 0.5 --0.0321386 0.0511687 -0.0124242 0.108709 0 --0.0899797 0.128138 0.00527223 0.600503 0.5 -0.0101258 0.125306 -0.00703851 0.543238 0.5 -0.0344124 0.0957227 -0.013333 0.740401 0.5 --0.0579856 0.116646 -0.0132522 0.568329 0.5 --0.00878563 0.110674 -0.0212403 0.449629 0.5 --0.0530895 0.0530892 -0.00643833 0.630461 0.5 --0.0541101 0.0531993 -0.0053725 0.676151 0.5 --0.0548606 0.0532734 -0.00439052 0.450931 0.5 --0.0554557 0.0533368 -0.00338183 0.445744 0.5 --0.0558448 0.0533792 -0.00239414 0.441078 0.409633 --0.0563149 0.0534289 -0.00138708 0.441145 0.426186 --0.0567014 0.0534733 -0.0003903 0.450158 0.5 --0.056967 0.0535025 0.000612409 0.483019 0.5 --0.0570931 0.0535244 0.00162534 0.756475 0.5 --0.0571034 0.0535249 0.00264062 0.698192 0.5 --0.0569845 0.0535242 0.00365398 0.497216 0.478198 --0.0567588 0.053509 0.00466959 0.479397 0.464507 --0.0565132 0.053486 0.0056729 0.477152 0.5 --0.0562701 0.0534697 0.00668599 0.509648 0.5 --0.055978 0.0534457 0.00767233 0.547146 0.42152 --0.0555067 0.053407 0.0086882 0.44763 0.5 --0.0718277 0.141507 -0.00801564 0.302175 0.5 --0.0852791 0.132127 -0.000702015 0.685546 0.5 --0.0908661 0.142018 0.0261694 0.701503 0.5 --0.0322652 0.177059 -0.0129859 0.409091 0.5 --0.0860119 0.132159 0.00027761 0.672356 0.5 --0.0865336 0.141884 0.00820248 0.543144 0.5 --0.0728796 0.151218 -0.0388899 0.314055 0.5 --0.0498767 0.0529199 0.0166388 0.492255 0.5 --0.0501571 0.0529434 0.0176286 0.467161 0.310284 --0.0504372 0.0529682 0.0186225 0.442481 0.5 --0.0507826 0.0530079 0.0196214 0.43262 0.5 --0.0510483 0.053037 0.0206135 0.443812 0.5 --0.0513902 0.0530791 0.0216216 0.550658 0.5 --0.051623 0.0531083 0.0226238 0.588125 0.5 --0.0519529 0.0531525 0.0236322 0.650016 0.300364 --0.0521038 0.0531706 0.024633 0.676062 0.5 --0.0521911 0.0531856 0.0256383 0.79635 0.5 --0.0521805 0.0531921 0.0266366 0.824859 0.5 --0.052068 0.0531865 0.02764 0.826806 0.5 --0.0519782 0.0531903 0.0286494 0.581515 0.47764 --0.0518133 0.0531756 0.0296409 0.602664 0.470358 --0.0515376 0.053149 0.0306286 0.536722 0.5 --0.0911321 0.146088 0.0161475 0.425759 0.5 --0.085237 0.147388 0.00618456 0.604825 0.5 --0.0776508 0.152845 -0.000892884 0.645126 0.5 --0.0776289 0.158329 -0.0159141 0.56539 0.5 --0.0709701 0.155369 -0.0459101 0.407793 0.5 --0.0711896 0.155374 -0.0449035 0.430007 0.5 --0.0713282 0.155382 -0.0439108 0.561329 0.5 --0.0730243 0.159629 -0.0349322 0.454881 0.5 --0.0457839 0.11676 -0.0154906 0.657934 0.5 --0.0372368 0.172627 -0.0118528 0.381704 0.5 --0.0383111 0.172675 -0.0109203 0.391521 0.5 --0.076914 0.17371 -0.0479126 0.275624 0.5 --0.0689178 0.168027 -0.0530164 0.487503 0.4609 --0.0742721 0.166608 -0.0409997 0.446354 0.5 --0.0694963 0.16803 -0.0520069 0.473404 0.5 --0.0726162 0.166612 -0.0440006 0.47678 0.5 --0.0346349 0.176996 -0.009991 0.277133 0.5 --0.0714142 0.166619 -0.0469903 0.372089 0.321179 --0.0272958 0.178509 -0.0169626 0.478984 0.321271 --0.0707159 0.179287 -0.0569572 0.285128 0.428082 -0.0208126 0.114503 -0.0133998 0.502097 0.441967 -0.0226051 0.113885 -0.0127298 0.548039 0.5 -0.0243113 0.119024 -0.0062727 0.519335 0.469554 --0.0349471 0.109117 -0.019515 0.732851 0.420603 -0.0451585 0.0670735 0.000845212 0.58943 0.445657 --0.0262156 0.0519422 -0.0264212 0.389566 0.447391 --0.0270871 0.0520359 -0.0253933 0.464312 0.5 --0.0277337 0.0521019 -0.0243965 0.402567 0.5 --0.028354 0.0521667 -0.0233844 0.386212 0.5 --0.0289948 0.0522303 -0.0223864 0.44991 0.5 --0.0293388 0.0522666 -0.0213646 0.929158 0.5 --0.029592 0.0522946 -0.0203629 0.984863 0.5 --0.0297187 0.0523119 -0.0193651 0.970234 0.5 --0.0299722 0.0523401 -0.0183637 0.971375 0.5 --0.0302252 0.0523701 -0.0173649 0.770997 0.5 --0.0304781 0.0523954 -0.0163632 0.58947 0.5 --0.0306051 0.0524133 -0.0153638 0.581021 0.5 --0.0308908 0.0524482 -0.0143777 0.328442 0.5 --0.0314187 0.0525029 -0.0133876 0.25311 0.5 --0.0319013 0.0525534 -0.0124561 0.175588 0.5 --0.0906583 0.12815 0.00627512 0.568814 0.5 -0.0239815 0.12134 -0.00278507 0.61768 0.397844 -0.0360129 0.0947297 -0.0122566 0.718849 0.5 --0.0534255 0.124412 -0.00739059 0.791476 0.5 --0.0146115 0.109635 -0.0201085 0.630253 0.463696 --0.0534778 0.0544994 -0.00645482 0.444614 0.5 --0.0542529 0.0545999 -0.00539104 0.653978 0.5 --0.0548571 0.0546624 -0.0043828 0.45293 0.457275 --0.0553478 0.054711 -0.00338754 0.461581 0.5 --0.0557401 0.0547516 -0.00240302 0.44865 0.5 --0.0562131 0.054804 -0.00139993 0.45668 0.412922 --0.0565994 0.0548437 -0.000400453 0.462604 0.5 --0.0568794 0.0548721 0.000601057 0.410891 0.5 --0.0569665 0.0548885 0.00161507 0.596154 0.5 --0.0569818 0.0548922 0.00263009 0.631793 0.5 --0.0569142 0.0548839 0.00364185 0.398305 0.5 --0.0567448 0.0548796 0.00465654 0.379481 0.450195 --0.0565139 0.0548538 0.00566103 0.365427 0.5 --0.0562967 0.0548357 0.00668262 0.380756 0.5 --0.0559148 0.0548054 0.00768529 0.340882 0.435064 --0.0555013 0.0547806 0.00866941 0.333069 0.5 --0.0548009 0.0547174 0.00969263 0.369768 0.5 --0.0540496 0.0546601 0.0106814 0.289668 0.5 --0.0887393 0.0928617 0.00944255 0.782861 0.5 --0.0886141 0.0928486 0.00844707 0.770736 0.5 --0.0935499 0.129634 0.0192397 0.805343 0.5 --0.0705717 0.158164 -0.0459142 0.685542 0.5 --0.0834736 0.114211 -0.000781836 0.393319 0.5 --0.0502601 0.0543084 0.0166402 0.315819 0.5 --0.0505534 0.0543594 0.017626 0.291174 0.5 --0.0507038 0.0543653 0.0186143 0.298867 0.5 --0.0510317 0.0544187 0.0196187 0.304691 0.5 --0.0512591 0.0544504 0.0206222 0.435891 0.5 --0.0514909 0.0544833 0.0216233 0.472803 0.5 --0.0517378 0.0545135 0.0226244 0.508944 0.5 --0.0519166 0.0545256 0.0236155 0.556574 0.5 --0.0520389 0.0545474 0.0246248 0.724797 0.5 --0.0521172 0.0545658 0.0256302 0.758549 0.5 --0.0520861 0.0545712 0.0266312 0.880699 0.5 --0.0519883 0.0545681 0.0276385 0.616842 0.5 --0.0518469 0.0545626 0.0286406 0.6395 0.472803 --0.0516 0.0545447 0.0296397 0.64494 0.47585 --0.0513204 0.0545255 0.0306253 0.658601 0.5 --0.089646 0.0929438 0.0164332 0.602441 0.5 --0.0861662 0.147397 0.00721409 0.622225 0.5 --0.0731886 0.149857 -0.036868 0.214916 0.5 --0.0864372 0.14049 0.00618869 0.540467 0.5 --0.0892506 0.151522 0.0201032 0.280556 0.5 --0.088924 0.151541 0.0211005 0.283048 0.5 --0.0725251 0.155433 -0.0349062 0.779898 0.5 --0.0728889 0.159628 -0.0359308 0.372829 0.5 -0.0130795 0.0927597 -0.0282037 0.529453 0.5 --0.0393243 0.172677 -0.00992732 0.371622 0.5 --0.0491873 0.165537 -0.00392571 0.406703 0.5 --0.0779905 0.173544 -0.0470087 0.321497 0.365258 --0.0724818 0.165221 -0.0429802 0.470027 0.42705 -0.0333229 0.0997779 -0.013667 0.764078 0.5 --0.051609 0.164108 -0.000948719 0.277357 0.5 --0.0771326 0.163938 -0.0219397 0.619271 0.5 --0.0782928 0.163856 -0.0319501 0.38144 0.5 --0.0786152 0.163841 -0.0309629 0.42257 0.45528 --0.026226 0.178551 -0.0179991 0.474168 0.5 --0.069435 0.179317 -0.0579979 0.25851 0.5 --0.0884616 0.136381 0.00620417 0.497282 0.406532 --0.020729 0.181491 -0.0220031 0.533437 0.5 -0.0113952 0.116794 -0.0158535 0.722539 0.5 -0.0217183 0.114203 -0.013082 0.529959 0.5 --0.00542543 0.120041 -0.0132322 0.62744 0.5 --0.0359339 0.109235 -0.0196158 0.690463 0.5 -0.029581 0.0907082 -0.0200166 0.731549 0.5 --0.0255625 0.0532992 -0.0274025 0.453832 0.458106 --0.0265758 0.0533991 -0.0263925 0.571677 0.5 --0.0273632 0.0534705 -0.0254085 0.52809 0.5 --0.0278785 0.0535209 -0.0244081 0.505691 0.5 --0.0283702 0.0535742 -0.0233936 0.481043 0.5 --0.0289733 0.0536405 -0.0223788 0.536597 0.5 --0.0296157 0.053701 -0.0213818 0.523468 0.5 --0.0298753 0.0537337 -0.0203803 0.532846 0.455024 --0.0301034 0.0537602 -0.0193727 0.97289 0.5 --0.0302302 0.0537755 -0.0183734 0.981225 0.5 --0.0303571 0.0537911 -0.0173707 0.785719 0.5 --0.0304827 0.0538056 -0.016375 0.789607 0.5 --0.0307362 0.053835 -0.015374 0.76205 0.5 --0.0312435 0.0538841 -0.0143722 0.546754 0.5 --0.0315509 0.053914 -0.013393 0.230506 0.5 --0.055732 0.115927 -0.0145408 0.464136 0.474515 --0.091226 0.128161 0.00727002 0.417825 0.5 -0.0368044 0.0942002 -0.0116901 0.595795 0.5 -0.0313221 0.0899509 -0.0192278 0.758616 0.418247 --0.0156647 0.109623 -0.0201068 0.674169 0.5 --0.0528315 0.0558373 -0.00742005 0.454728 0.5 --0.053816 0.0559281 -0.00642904 0.683087 0.5 --0.054537 0.0560032 -0.00541843 0.618759 0.5 --0.0550269 0.0560444 -0.00440953 0.447462 0.381952 --0.0553956 0.0560936 -0.00341211 0.450877 0.5 --0.0557658 0.0561367 -0.00241411 0.387773 0.5 --0.0562219 0.0560519 -0.00142054 0.394714 0.313496 --0.0566027 0.0562228 -0.000407584 0.401829 0.5 --0.0568935 0.0562594 0.000567085 0.328771 0.427166 --0.057137 0.0562876 0.0015684 0.321127 0.445217 --0.05709 0.0562779 0.00261705 0.455114 0.5 --0.0570496 0.0562866 0.00362097 0.464207 0.5 --0.0569735 0.056267 0.00463231 0.285368 0.5 --0.0568589 0.0562507 0.00563881 0.285517 0.5 --0.056621 0.0562362 0.00665228 0.293131 0.5 --0.0563207 0.0562341 0.00763908 0.30319 0.5 --0.0558064 0.0562012 0.00862658 0.249589 0.447958 --0.0551543 0.0561755 0.00960447 0.21716 0.5 --0.0544145 0.0561001 0.0105768 0.210989 0.348692 --0.05375 0.0560385 0.0116204 0 0 --0.052909 0.0559665 0.0126205 0 0 --0.052188 0.0559056 0.0136207 0 0 --0.0515872 0.0558557 0.0146208 0 0 --0.0870302 0.13217 0.00132034 0.687587 0.5 --0.0879876 0.132208 0.00230713 0.659649 0.5 --0.0887459 0.132238 0.00325707 0.611687 0.5 --0.0894337 0.132252 0.00424863 0.412748 0.5 --0.0898976 0.132262 0.00523931 0.411479 0.5 --0.0902473 0.132271 0.00623314 0.409706 0.5 --0.090578 0.13228 0.00723516 0.410551 0.373505 --0.0909281 0.132287 0.0082314 0.58139 0.5 --0.0911632 0.132299 0.00922827 0.583621 0.5 --0.0913959 0.132306 0.0102259 0.596153 0.5 --0.0916136 0.132311 0.0112256 0.63566 0.5 --0.0520943 0.0559627 0.0266271 0.751561 0.5 --0.0520552 0.0559741 0.0276222 0.534574 0.5 --0.0518399 0.0559545 0.028629 0.624953 0.471077 --0.0515738 0.0559395 0.0296214 0.650918 0.47432 --0.0917522 0.132325 0.0122241 0.652569 0.5 --0.0920259 0.132307 0.0132318 0.692512 0.5 --0.0872007 0.147399 0.00826035 0.425598 0.5 --0.088267 0.147416 0.00925394 0.447568 0.5 --0.092269 0.124069 0.00827163 0.394214 0.5 --0.0735938 0.149845 -0.0348818 0.230583 0.5 --0.0921542 0.132321 0.0142287 0.74179 0.5 --0.0732612 0.155462 -0.02991 0.696275 0.5 --0.0702704 0.159573 -0.0469358 0.501413 0.5 --0.0662858 0.172388 -0.0591199 0.638074 0.5 --0.0401081 0.172699 -0.00896014 0.465514 0.5 --0.0484709 0.165547 -0.00491912 0.411958 0.5 --0.0475211 0.165506 -0.00586183 0.298963 0.5 --0.0782079 0.165287 -0.027954 0.40931 0.465573 --0.0886846 0.136388 0.00720801 0.541889 0.5 --0.0889001 0.136394 0.00820864 0.565088 0.5 --0.0716942 0.1568 -0.0399156 0.545882 0.5 --0.0727656 0.156832 -0.0339136 0.712247 0.5 --0.0726963 0.163825 -0.0409661 0.359694 0.462783 --0.0282073 0.178522 -0.0159874 0.469207 0.5 --0.0719403 0.179282 -0.0559874 0.236739 0.5 --0.0199542 0.180019 -0.0229778 0.405067 0.5 --0.0197362 0.181499 -0.0230211 0.434383 0.5 --0.0187788 0.181486 -0.0239544 0.377675 0.480483 -0.019893 0.114777 -0.0136897 0.497701 0.5 --0.0107414 0.120001 -0.0131465 0.779804 0.5 --0.0033398 0.119986 -0.0131833 0.845751 0.5 -0.0217844 0.118301 -0.00950952 0.58903 0.5 --0.0158888 0.123338 -0.00654807 0.537021 0.5 --0.024936 0.0546494 -0.0284077 0.491441 0.5 --0.0260773 0.0547586 -0.0274003 0.664521 0.5 --0.0268504 0.0548324 -0.0264063 0.627079 0.5 --0.0275816 0.0549129 -0.0253866 0.634178 0.5 --0.0280896 0.0549613 -0.0243859 0.633357 0.5 --0.028497 0.0550003 -0.0233987 0.590693 0.5 --0.0290048 0.0550494 -0.0223991 0.549403 0.39195 --0.0296143 0.0551126 -0.0213868 0.555597 0.5 --0.0298766 0.05514 -0.0203901 0.543731 0.443341 --0.0301429 0.0551656 -0.0193914 0.539953 0.5 --0.0303622 0.055196 -0.0183802 0.972635 0.5 --0.0306152 0.0552238 -0.0173804 0.983071 0.5 --0.0306156 0.0552316 -0.0163811 0.989138 0.5 --0.0307428 0.0552453 -0.0153798 0.746496 0.5 --0.0313759 0.0553098 -0.0143786 0.561297 0.5 --0.0316861 0.0553325 -0.0133983 0.232268 0.412077 --0.0320271 0.0553591 -0.0124271 0.155832 0.310607 --0.0890224 0.136404 0.0092064 0.592893 0.5 -0.031191 0.0977616 -0.015509 0.751355 0.5 --0.00760592 0.125948 -0.00752899 0.441762 0.5 --0.018657 0.109944 -0.0204332 0.650648 0.5 --0.0533429 0.0572662 -0.00744815 0.447443 0.454628 --0.054281 0.0573695 -0.00641449 0.651464 0.5 --0.0548976 0.0574275 -0.00541424 0.53262 0.5 --0.0554111 0.0574706 -0.0044262 0.362551 0.5 --0.0556551 0.0575 -0.00342108 0.370015 0.5 --0.05601 0.0575293 -0.00241387 0.311227 0.398531 --0.0563673 0.0575771 -0.00141956 0.30495 0.5 --0.0567391 0.0576068 -0.000420382 0.294653 0.5 --0.0571213 0.0576422 0.00058007 0.212777 0.5 --0.0572784 0.0576838 0.00160501 0.254325 0.5 --0.0574379 0.0576833 0.0026039 0.222202 0.5 --0.0575628 0.0576989 0.003607 0.249211 0.5 --0.0578484 0.0576892 0.00460939 0.249715 0.5 --0.0581165 0.0576994 0.00562055 0.455982 0.5 --0.0579872 0.0576809 0.00662705 0.621364 0.5 --0.0575464 0.0576229 0.00774375 0.553582 0.5 --0.0572185 0.0575347 0.00867749 0.59633 0.5 --0.0567221 0.0575063 0.0096837 0.301299 0.5 --0.0566159 0.0573558 0.0107416 0.352163 0.5 --0.0891532 0.136419 0.0102028 0.593498 0.5 --0.0894686 0.136415 0.011209 0.600294 0.5 --0.0895793 0.136441 0.0122186 0.444536 0.4653 --0.0898897 0.136442 0.013225 0.469888 0.456916 --0.090059 0.136447 0.0142016 0.496481 0.5 --0.0902912 0.136455 0.0152001 0.49545 0.5 --0.0545965 0.0575496 0.0196126 0 0 --0.0921816 0.132336 0.0152245 0.762894 0.5 --0.0788622 0.169438 -0.0409605 0.366493 0.5 --0.0690053 0.160967 -0.0519594 0.389964 0.5 --0.0684162 0.160948 -0.0539628 0.31737 0.400276 --0.0862104 0.140486 0.00518463 0.522313 0.5 --0.0921938 0.132347 0.0162256 0.773716 0.5 --0.0523174 0.057382 0.0266177 0.57016 0.5 --0.0921802 0.132348 0.0172238 0.756407 0.5 --0.0923144 0.132364 0.0182222 0.739967 0.5 --0.0923991 0.132355 0.0192227 0.734346 0.5 --0.0923959 0.132359 0.0202239 0.750417 0.5 --0.0923003 0.132372 0.0212228 0.754822 0.5 --0.0921005 0.132392 0.0222257 0.765908 0.5 --0.0423266 0.169779 -0.00887745 0.368159 0.5 --0.0693203 0.155248 -0.0509683 0.204332 0.395553 --0.0734288 0.149863 -0.0358672 0.217183 0.5 --0.0738057 0.149865 -0.0338746 0.237181 0.5 --0.0892169 0.151457 0.0141575 0.231722 0.5 --0.0733818 0.155466 -0.0289107 0.68992 0.5 --0.0701217 0.159568 -0.0479252 0.46728 0.5 --0.0783796 0.172116 -0.0450441 0.279584 0.393714 --0.0408947 0.172668 -0.00780492 0.306109 0.408689 --0.0496802 0.165544 -0.00294037 0.271246 0.5 --0.0919787 0.13239 0.0232249 0.763426 0.5 --0.0917744 0.132406 0.0242297 0.776596 0.5 --0.0736067 0.154075 -0.0289008 0.70955 0.5 --0.0280887 0.123076 -0.00418723 0.553946 0.477792 --0.0916354 0.132395 0.0252256 0.790221 0.5 --0.0740871 0.156873 -0.0259173 0.318043 0.5 --0.0706825 0.163806 -0.0469738 0.378063 0.5 --0.0731314 0.179106 -0.0550054 0.230052 0.383987 --0.021119 0.180019 -0.0220004 0.518988 0.5 --0.0548939 0.161294 0.00305835 0.27683 0.5 --0.0217097 0.181473 -0.0209735 0.502622 0.5 --0.01522 0.183001 -0.0269465 0.330944 0.35311 --0.0275613 0.121213 -0.00819283 0.49409 0.5 --0.00964195 0.120097 -0.0132573 0.548756 0.5 -0.0208541 0.11855 -0.00976629 0.591164 0.5 --0.0135852 0.123715 -0.00700086 0.446258 0.445563 --0.0246897 0.0560336 -0.0294195 0.484351 0.5 --0.0258331 0.0561399 -0.0284181 0.457773 0.5 --0.0265985 0.0562164 -0.027412 0.625008 0.5 --0.0272272 0.0562777 -0.0264072 0.601416 0.5 --0.0276317 0.056316 -0.0254148 0.583362 0.5 --0.0281182 0.0563778 -0.0244009 0.576484 0.39203 --0.0286059 0.0564269 -0.0233938 0.550969 0.5 --0.0292201 0.0564848 -0.022383 0.547748 0.421015 --0.0295123 0.0565107 -0.0214026 0.56411 0.5 --0.0298952 0.0565521 -0.0204023 0.545094 0.422764 --0.0303843 0.0566029 -0.0193937 0.554489 0.5 --0.0305406 0.0566147 -0.0184018 0.544546 0.5 --0.0308041 0.0566412 -0.01742 0.534177 0.453646 --0.0308747 0.056662 -0.0163864 0.951781 0.5 --0.0311277 0.0566897 -0.0153882 0.742536 0.5 --0.0313808 0.0567165 -0.0143886 0.572402 0.5 --0.0317613 0.0567558 -0.0133876 0.379676 0.5 --0.032014 0.0567822 -0.0123897 0 0 -0.0320036 0.0972394 -0.014969 0.752008 0.5 --0.0578149 0.12313 -0.00798101 0.673118 0.5 --0.0197211 0.109971 -0.0204733 0.61368 0.5 -0.0494272 0.0628335 -0.00296645 0.508266 0.5 --0.053919 0.0587242 -0.00741756 0.66283 0.5 --0.0546717 0.0587861 -0.00643621 0.55305 0.5 --0.0552695 0.058846 -0.00542677 0.426227 0.5 --0.0558395 0.0589131 -0.0044052 0.401397 0.5 --0.0562018 0.0589495 -0.00340637 0.393971 0.5 --0.0564836 0.0589584 -0.00242578 0.282783 0.5 --0.0567945 0.0589511 -0.00142935 0.211661 0.413272 --0.0572843 0.0589766 -0.000464382 0.206805 0.387372 --0.0577441 0.0590406 0.000553128 0.185776 0.5 --0.0582892 0.0589697 0.00149643 0.294237 0.5 --0.0584646 0.0588965 0.0024905 0.279212 0.5 --0.0586963 0.0588331 0.00348495 0.339485 0.5 --0.0905147 0.136459 0.016202 0.494546 0.462825 --0.0907186 0.136468 0.0172046 0.501817 0.352168 --0.0908309 0.136473 0.0182032 0.777304 0.5 --0.0907522 0.136478 0.0191999 0.854917 0.5 --0.0906746 0.1365 0.0201946 0.648209 0.458488 --0.0904343 0.136488 0.021207 0.899494 0.5 --0.0748224 0.0935599 -0.014192 0.404916 0.5 --0.0758292 0.0935231 -0.0136873 0.395396 0.5 --0.0391888 0.168166 -0.0121398 0.4443 0.5 -0.0171734 0.0960138 -0.0234178 0.780803 0.5 -0.0181674 0.0959966 -0.023265 0.809077 0.5 --0.0914347 0.132413 0.0262297 0.804244 0.5 --0.0912019 0.132413 0.0272298 0.567 0.5 --0.0640121 0.136992 -0.00763419 0.583651 0.5 --0.0901963 0.136492 0.0222062 0.913045 0.5 --0.0898794 0.136494 0.0232114 0.914335 0.5 --0.0896015 0.136498 0.0242003 0.902342 0.5 --0.0792333 0.169423 -0.0379787 0.554636 0.5 --0.0910601 0.132402 0.0282222 0.820849 0.5 --0.0908205 0.132399 0.0292201 0.558693 0.5 --0.0905234 0.132421 0.0302253 0.81422 0.5 --0.0903832 0.132413 0.0312232 0.822631 0.5 --0.0833865 0.140392 0.00124854 0.49916 0.5 --0.0780672 0.161102 -0.0219327 0.476659 0.5 --0.0622101 0.169551 -0.0614764 0.366516 0.383557 --0.0692517 0.16944 -0.0530112 0.672713 0.5 --0.0714721 0.152551 -0.0449162 0.179809 0.427342 --0.0709606 0.152484 -0.0460812 0.149136 0.369161 --0.0728652 0.170808 -0.0480355 0.453706 0.440948 --0.074114 0.159638 -0.0309374 0.33951 0.467913 --0.071061 0.15959 -0.0439233 0.512446 0.469754 --0.0742711 0.149885 -0.0318724 0.243171 0.5 --0.0887794 0.151473 0.0131594 0.240523 0.5 --0.0735022 0.155469 -0.0279133 0.68045 0.5 --0.0697973 0.159564 -0.0489352 0.450408 0.5 --0.0789216 0.172194 -0.0440002 0.293212 0.40572 --0.0786816 0.173602 -0.0460003 0.260349 0.5 --0.0466234 0.165492 -0.0068396 0.353859 0.337635 --0.076512 0.15561 -0.00689633 0.72295 0.5 --0.0768171 0.154199 -0.00689913 0.83207 0.5 --0.0739884 0.1541 -0.0249038 0.614691 0.5 --0.0799858 0.150056 0.000166757 0.471534 0.5 --0.0818563 0.150046 0.00220642 0.415916 0.5 --0.0901845 0.132425 0.0322244 0.828496 0.5 --0.0773753 0.161145 -0.0179242 0.648432 0.5 --0.0704096 0.163806 -0.0479588 0.372678 0.437649 --0.0222065 0.179998 -0.0209469 0.489358 0.5 --0.0659308 0.168025 -0.05906 0.412222 0.5 --0.0225278 0.18149 -0.0200273 0.49555 0.5 --0.0163006 0.182966 -0.0260091 0.376292 0.5 --0.0218764 0.182954 -0.0200262 0.440287 0.5 --0.0467495 0.117966 -0.0147678 0.625411 0.5 --0.0219544 0.120804 -0.00985027 0.64099 0.5 --0.032734 0.120436 -0.00935257 0.551911 0.5 -0.0233436 0.112218 -0.0129499 0.662358 0.5 --0.0245412 0.057448 -0.0303989 0.487966 0.5 --0.0256858 0.0575487 -0.0293997 0.609779 0.5 --0.0264766 0.0576077 -0.0284232 0.569604 0.5 --0.0270955 0.0576776 -0.0274029 0.579575 0.374769 --0.0274925 0.0577126 -0.0264141 0.567958 0.5 --0.0279795 0.0577645 -0.0254 0.542156 0.406462 --0.0283572 0.0578046 -0.0244014 0.533427 0.418356 --0.0288479 0.0578621 -0.0233922 0.539781 0.5 --0.0290025 0.0578755 -0.022406 0.546466 0.5 --0.0295185 0.0579228 -0.0214101 0.52747 0.5 --0.0300213 0.0579734 -0.0204069 0.540543 0.422257 --0.0304054 0.0580102 -0.0194062 0.558372 0.5 --0.0307845 0.0580469 -0.0184096 0.532483 0.438417 --0.0311645 0.0580869 -0.017406 0.516409 0.5 --0.0313874 0.0581183 -0.0163942 0.752242 0.5 --0.03164 0.0581442 -0.0153958 0.570946 0.5 --0.0317664 0.058161 -0.0143983 0.376962 0.5 --0.0320197 0.058187 -0.0133973 0 0 --0.089294 0.136502 0.0252035 0.880858 0.5 -0.0270076 0.100021 -0.0178938 0.704518 0.5 -0.0185572 0.0930309 -0.0244868 0.79357 0.5 --0.0218071 0.110009 -0.0205036 0.841425 0.5 -0.0156331 0.0915267 -0.0269033 0.557445 0.5 -0.0084061 0.0949783 -0.0285638 0.580992 0.5 -0.00885847 0.0887054 -0.0320419 0.634034 0.5 -0.0294595 0.116659 -0.00368699 0.635449 0.5 --0.0560752 0.0602595 -0.0044615 0.360439 0.255433 --0.0564526 0.0602802 -0.00348733 0.342738 0.5 --0.0570892 0.0602319 -0.00257411 0.21989 0.5 --0.0578906 0.0600472 -0.00173427 0.158764 0.5 --0.0579656 0.0599816 -0.000771046 0.112506 0 --0.0890493 0.136506 0.0262024 0.864578 0.5 --0.0408505 0.0971293 -0.022095 0.712741 0.5 --0.0428418 0.0971034 -0.0220359 0.724473 0.5 --0.0889485 0.13651 0.0272017 0.843587 0.5 --0.0889642 0.136517 0.0281982 0.826377 0.5 --0.0799897 0.135372 -0.00407226 0.662734 0.5 -0.0051303 0.105879 -0.0208781 0.775536 0.5 -0.0201949 0.0959886 -0.0227072 0.642785 0.5 --0.0281007 0.162292 -0.0150733 0.597017 0.5 --0.0118767 0.105907 -0.0227385 0.643294 0.5 --0.0368415 0.0943464 -0.0233446 0.572713 0.5 --0.0378318 0.0943285 -0.0232947 0.564422 0.5 --0.0318429 0.0944059 -0.023975 0.788248 0.5 --0.0370674 0.156264 -0.0103696 0.743874 0.5 --0.0719676 0.138437 -0.00730592 0.499271 0.464413 --0.0620358 0.136971 -0.00707833 0.644723 0.486394 --0.0900654 0.132428 0.033223 0.830814 0.5 --0.0900528 0.132428 0.0342227 0.830886 0.5 --0.090055 0.132436 0.0352224 0.831982 0.5 --0.0738377 0.169377 -0.0450494 0.41802 0.5 --0.0763817 0.169448 -0.0429673 0.419616 0.5 --0.0792933 0.16941 -0.0399858 0.305986 0.5 --0.0790213 0.169435 -0.0369802 0.565191 0.5 --0.0890554 0.136524 0.0291987 0.802967 0.5 --0.0903048 0.139241 0.0221876 0.738302 0.5 --0.0936994 0.128298 0.0232525 0.61142 0.474767 --0.0400469 0.169775 -0.0108504 0.421948 0.5 --0.0565711 0.159859 0.00306588 0.230458 0.5 --0.0554287 0.1598 0.000101402 0.221804 0.5 --0.052904 0.159748 -0.00276649 0.215202 0.5 --0.0732162 0.169408 -0.0460252 0.460344 0.43447 --0.0699016 0.160977 -0.0489386 0.369647 0.479996 --0.090134 0.132434 0.0362229 0.830749 0.5 --0.091691 0.12831 0.0342454 0.835688 0.5 --0.0671371 0.169442 -0.0570354 0.500699 0.5 --0.0883068 0.151437 0.0121831 0.240327 0.411347 --0.0856284 0.151402 0.00824006 0.263749 0.376598 --0.0739579 0.155489 -0.0249104 0.5636 0.5 --0.073597 0.161047 -0.0349306 0.336558 0.476502 --0.079023 0.172207 -0.0429929 0.377845 0.5 --0.0788564 0.173596 -0.0449928 0.307473 0.5 --0.0456155 0.165496 -0.00783315 0.385636 0.5 --0.0901396 0.13244 0.0372222 0.843868 0.5 --0.076883 0.154198 -0.00789596 0.844361 0.5 --0.0783607 0.150068 -0.00187639 0.844803 0.5 --0.0777749 0.150053 -0.00387978 0.584133 0.5 --0.0791989 0.150078 -0.000876106 0.7153 0.5 --0.0901131 0.132441 0.0382173 0.601237 0.5 --0.0900689 0.132434 0.0392074 0.616599 0.5 --0.0700603 0.163804 -0.0489659 0.377422 0.480003 --0.0233436 0.179984 -0.0199453 0.47323 0.5 --0.0242736 0.181474 -0.0180054 0.455845 0.334595 --0.0234134 0.181486 -0.0190275 0.454971 0.5 --0.0233118 0.182976 -0.0180572 0.338223 0.5 --0.0226479 0.182963 -0.0190305 0.374844 0.330679 --0.0478545 0.117892 -0.0146818 0.627079 0.466746 -0.00758009 0.121578 -0.0129987 0.654152 0.5 --0.0425055 0.108838 -0.0192163 0.620822 0.467053 -0.0269605 0.111014 -0.0116501 0.559079 0.5 --0.0242656 0.0588495 -0.0313753 0.509396 0.5 --0.0255632 0.0589456 -0.0304089 0.462763 0.5 --0.0263524 0.059005 -0.029433 0.584988 0.5 --0.0271171 0.059077 -0.028426 0.536978 0.5 --0.0275149 0.0591111 -0.027433 0.528274 0.5 --0.0280135 0.0591603 -0.0264206 0.509051 0.42267 --0.0285047 0.059221 -0.0254142 0.509565 0.5 --0.0288788 0.0592582 -0.0244095 0.527401 0.444375 --0.0291332 0.059286 -0.0234112 0.522941 0.45336 --0.0293882 0.0593157 -0.02241 0.49518 0.5 --0.0297438 0.0593588 -0.0214043 0.907422 0.5 --0.0301375 0.0592681 -0.0204197 0.549851 0.422118 --0.0305064 0.059434 -0.0194047 0.513758 0.5 --0.0309091 0.0594671 -0.0184147 0.516012 0.5 --0.0314199 0.0595176 -0.0174145 0.509454 0.450778 --0.0316463 0.0595496 -0.0164023 0.758476 0.5 --0.031899 0.0595768 -0.0154053 0.563975 0.5 --0.03228 0.059616 -0.0144015 0.375416 0.5 --0.0324058 0.05963 -0.0134049 0 0 -0.0278652 0.0996344 -0.0174729 0.722088 0.5 --0.0465413 0.123419 -0.0104793 0.723287 0.5 --0.039166 0.0355671 -0.0293815 0.124361 0.5 --0.0207424 0.110014 -0.0205123 0.871346 0.5 --0.0123646 0.109877 -0.0203825 0.799893 0.5 --0.00551608 0.110856 -0.0214408 0.643674 0.5 --0.00120622 0.113981 -0.0187843 0.553215 0.5 -0.00259703 0.093007 -0.0325523 0.674904 0.5 -0.0167046 0.0945555 -0.0241181 0.788192 0.5 -0.00996296 0.0988804 -0.0226985 0.895484 0.5 --0.065316 0.0625169 -0.002419 0.168435 0.5 --0.0662857 0.0625946 -0.00141881 0.169372 0.256876 --0.0671444 0.0628365 -0.000338348 0.208685 0.5 --0.0398433 0.0971287 -0.022179 0.706388 0.5 --0.0418449 0.0971142 -0.0220611 0.741023 0.5 --0.043841 0.0970933 -0.0219235 0.733691 0.5 --0.0448379 0.0970765 -0.0217835 0.764659 0.5 --0.0720312 0.141354 -0.00781974 0.31502 0.5 --0.0234217 0.0359155 0.0533704 0.919256 0.5 --0.0328414 0.0943934 -0.0238538 0.796645 0.5 --0.0338378 0.0943788 -0.02372 0.842474 0.5 --0.0348319 0.0943645 -0.0236767 0.828259 0.5 --0.0358405 0.094357 -0.023472 0.803934 0.5 --0.0588396 0.0925945 -0.0203375 0.482684 0.5 --0.0568431 0.0926948 -0.0216401 0.441355 0.5 --0.055838 0.0927189 -0.0219026 0.62808 0.5 --0.05784 0.0926528 -0.0211082 0.498078 0.5 --0.0698932 0.120907 -0.00884856 0.733079 0.5 --0.0661663 0.158028 -0.0551775 0.40304 0.5 --0.0758088 0.0906346 -0.0139136 0.456588 0.5 --0.0358448 0.0971832 -0.0228124 0.62078 0.5 --0.0703872 0.161044 -0.0469664 0.402705 0.428161 --0.0701334 0.160982 -0.047936 0.489404 0.47708 --0.0695688 0.160974 -0.049948 0.36261 0.468711 --0.0693202 0.16097 -0.0509443 0.355339 0.441096 --0.0687445 0.160961 -0.0529537 0.383317 0.5 --0.0901888 0.139114 0.0151891 0.446042 0.434111 --0.0895335 0.144692 0.0121557 0.534097 0.5 --0.0897923 0.144692 0.013139 0.537201 0.5 --0.0892694 0.136527 0.0301984 0.796902 0.5 --0.043284 0.169832 -0.00794427 0.485745 0.5 --0.0451841 0.16983 -0.00497124 0.226547 0.420276 --0.077742 0.161125 -0.0199262 0.526531 0.5 --0.0624118 0.168239 -0.0611966 0.32392 0.5 --0.0890324 0.144705 0.01118 0.321434 0.390016 --0.0777368 0.158322 -0.016916 0.523705 0.448297 --0.0446853 0.169846 -0.00596698 0.431387 0.5 --0.0453256 0.169857 -0.00299568 0.26054 0.5 --0.0702988 0.15533 -0.0489684 0.223642 0.382916 --0.0850315 0.151395 0.00719993 0.258815 0.386745 --0.0837262 0.151367 0.00522149 0.25497 0.380022 --0.0740972 0.155492 -0.0239137 0.400149 0.5 --0.0896132 0.139307 0.0341845 0.620671 0.5 --0.041349 0.172669 -0.00697494 0.263895 0.430234 --0.0231395 0.168252 -0.0189417 0.812532 0.5 --0.0873651 0.0927561 0.00443631 0.698806 0.5 --0.0721609 0.147032 -0.0238695 0.161104 0.375516 --0.0769907 0.154191 -0.00889586 0.825549 0.5 --0.0780017 0.150056 -0.00287894 0.942179 0.5 --0.0808163 0.150056 0.00117383 0.521887 0.5 --0.0925247 0.128292 0.0282327 0.493165 0.449234 --0.0684905 0.158118 -0.0539401 0.273827 0.43722 --0.0679209 0.163786 -0.054975 0.414543 0.5 --0.0243767 0.179986 -0.0189674 0.469068 0.332041 -0.0526661 0.0660937 -0.000184776 0.478813 0.5 --0.0785163 0.162478 -0.0269418 0.489605 0.5 --0.0174269 0.182963 -0.0250022 0.378638 0.5 --0.0568769 0.116868 -0.0135067 0.577346 0.5 --0.0510086 0.119975 -0.0128249 0.551049 0.5 --0.0435985 0.108724 -0.0190759 0.615526 0.5 -0.0288139 0.110493 -0.0110929 0.531399 0.5 --0.0250606 0.0603159 -0.031412 0.489483 0.5 --0.0262205 0.0604134 -0.0304432 0.449379 0.447516 --0.0270301 0.0604609 -0.0294673 0.386717 0.5 --0.0277397 0.0605536 -0.0284245 0.508478 0.5 --0.0281113 0.0605968 -0.0274147 0.500342 0.433807 --0.0284873 0.0606333 -0.0264114 0.498208 0.5 --0.0288624 0.0606727 -0.0254104 0.512531 0.5 --0.0290126 0.0606872 -0.0244213 0.5126 0.461839 --0.0295204 0.0607307 -0.0234192 0.487717 0.5 --0.0298765 0.0607745 -0.022409 0.90172 0.5 --0.030256 0.0608147 -0.0214135 0.915893 0.5 --0.0305096 0.0608404 -0.0204127 0.926718 0.5 --0.0309108 0.0608665 -0.0194213 0.507452 0.442998 --0.0313268 0.0609036 -0.0184352 0.520213 0.5 --0.0318252 0.0609455 -0.0174329 0.418021 0.431997 --0.0320326 0.0609937 -0.0164107 0.558145 0.5 --0.0322855 0.0610195 -0.0154117 0.371883 0.5 --0.0332069 0.0609523 -0.0145937 0.104314 0 -0.0216881 0.102085 -0.0200779 0.635012 0.450569 --0.0179622 0.106228 -0.0225141 0.736266 0.5 -0.0312054 0.104936 -0.0131412 0.669489 0.405024 --0.0366978 0.0363155 -0.0300943 0.277791 0.5 --0.0134967 0.109686 -0.0201653 0.845475 0.5 -0.00630512 0.0970077 -0.026738 0.709047 0.340926 --0.00553736 0.113796 -0.0185731 0.800452 0.5 --0.00223749 0.0939165 -0.0335391 0.642359 0.5 -0.0303183 0.0797251 -0.0205953 0.739845 0.5 -0.0537776 0.0692651 0.00258827 0.604757 0.5 --0.0662958 0.0637695 -0.0035905 0.201496 0.5 --0.0674721 0.0639504 -0.00252382 0.195093 0.403257 --0.0682938 0.06404 -0.00150269 0.165663 0.5 --0.0691053 0.0641529 -0.000471523 0.20535 0.5 --0.0696582 0.0642657 0.000568637 0.275779 0.5 --0.0703548 0.0643588 0.00158224 0.307086 0.5 --0.0560862 0.153109 -0.0014946 0.466776 0.5 --0.0797544 0.0720045 0.0191472 0.599916 0.5 --0.0810703 0.0752023 0.0214152 0.758488 0.5 --0.0708131 0.0922561 -0.0160967 0.506023 0.5 --0.0718125 0.0922256 -0.0157107 0.468391 0.463787 --0.0728038 0.0921924 -0.0153063 0.443199 0.5 --0.0738833 0.122317 -0.0079807 0.662738 0.5 --0.0708983 0.120893 -0.00865195 0.71797 0.380626 -0.0021184 0.108719 -0.0202691 0.833653 0.5 --0.0408918 0.109911 -0.0187996 0.608375 0.5 --0.0819901 0.133862 -0.00285904 0.561222 0.5 -0.00311817 0.108714 -0.0201476 0.823348 0.5 --0.0778791 0.116346 -0.00545689 0.478341 0.5 --0.0748251 0.0906869 -0.0145799 0.376251 0.5 --0.0810085 0.136808 -0.00286908 0.679181 0.5 --0.0779789 0.136876 -0.0051311 0.493681 0.383138 --0.0734658 0.151245 -0.0358847 0.410418 0.5 --0.0578612 0.158406 0.00308521 0.186557 0.413006 --0.076675 0.154077 0.000107436 0.2319 0.5 --0.0810442 0.152541 0.00426923 0.24507 0.380055 --0.0699027 0.158151 -0.0489236 0.522527 0.5 --0.0680885 0.16093 -0.05501 0.328587 0.5 --0.0676844 0.160922 -0.0559942 0.35716 0.5 --0.0669549 0.160975 -0.0568649 0.454318 0.5 --0.0711264 0.142566 -0.0097279 0.26067 0.219333 --0.041205 0.169789 -0.00987939 0.435908 0.5 --0.0440479 0.169839 -0.00695693 0.46912 0.5 --0.0894637 0.136534 0.031204 0.797571 0.5 --0.0895706 0.136541 0.0322035 0.570113 0.5 --0.0627661 0.170921 -0.0616075 0.2685 0.455899 --0.066757 0.170863 -0.0580345 0.495109 0.471885 --0.0691313 0.170851 -0.0540166 0.670991 0.5 --0.0773104 0.159761 -0.0159076 0.557852 0.467123 --0.0780833 0.1597 -0.0209281 0.501426 0.437653 --0.075211 0.159631 -0.0279486 0.399913 0.5 --0.0714642 0.155388 -0.0429121 0.567306 0.5 --0.0844496 0.151409 0.0062115 0.260847 0.5 --0.0743228 0.155495 -0.0229079 0.387814 0.466102 --0.0779043 0.1583 -0.0209193 0.461428 0.5 --0.0416172 0.17268 -0.00599082 0.220821 0.5 --0.0714328 0.168025 -0.0480185 0.495079 0.357256 --0.090746 0.114598 0.00833305 0.373961 0.5 --0.0897624 0.136545 0.033205 0.592676 0.5 --0.0769902 0.154182 -0.00989517 0.838179 0.5 --0.0828306 0.150071 0.00319212 0.428913 0.5 --0.0751102 0.148577 -0.0168689 0.340746 0.5 --0.0736141 0.151246 -0.0348888 0.407703 0.5 --0.0521229 0.0491646 0.0356345 0.121854 0.5 --0.0689171 0.158096 -0.0529848 0.298285 0.5 --0.0529179 0.162663 -0.000927718 0.28336 0.5 --0.0523141 0.162661 -0.0019165 0.31325 0.5 --0.0782836 0.162467 -0.0289415 0.387061 0.5 --0.0785063 0.162438 -0.0279579 0.360437 0.457806 --0.0239599 0.182991 -0.0170658 0.323243 0.5 --0.0897898 0.136552 0.0342 0.615446 0.455872 --0.0285818 0.121272 -0.00825717 0.480446 0.5 --0.0174145 0.118412 -0.0133815 0.684016 0.5 --0.0413959 0.1089 -0.0192706 0.62082 0.5 --0.0243269 0.0616478 -0.0324508 0.45692 0.5 --0.0257193 0.0617764 -0.0314442 0.452259 0.5 --0.0266191 0.0618553 -0.0304537 0.410415 0.5 --0.0274971 0.0619365 -0.0294418 0.522343 0.5 --0.0282695 0.0620042 -0.0284458 0.483773 0.5 --0.0287391 0.0620637 -0.0274208 0.908645 0.5 --0.028867 0.0620809 -0.0264195 0.932403 0.5 --0.0291214 0.0621103 -0.0254198 0.942751 0.5 --0.029375 0.0621337 -0.0244169 0.902609 0.5 --0.0298816 0.0621837 -0.0234188 0.908229 0.5 --0.0302767 0.0622182 -0.0224251 0.497023 0.5 --0.0306641 0.062253 -0.0214244 0.5112 0.5 --0.0309385 0.0622798 -0.0204312 0.518875 0.434998 --0.0314315 0.062325 -0.0194293 0.51994 0.5 --0.0318261 0.0623615 -0.0184459 0.508206 0.434753 --0.0323315 0.0624018 -0.0174393 0.40837 0.447765 --0.0325454 0.0624467 -0.016419 0.557278 0.5 --0.0327997 0.0624741 -0.0154176 0.366718 0.5 --0.0330517 0.0624982 -0.0144201 0 0 --0.0169788 0.106067 -0.0223329 0.726435 0.5 -0.0329293 0.104175 -0.0123189 0.69987 0.5 -0.0320623 0.104555 -0.0127247 0.694171 0.5 --0.0197912 0.0347004 -0.0276305 0.174612 0.215481 -0.00487604 0.0992462 -0.0230983 0.846042 0.5 -0.0392297 0.0926988 -0.0100859 0.576528 0.354355 -0.040891 0.0917758 -0.00909975 0.547831 0.5 -0.000679346 0.0933957 -0.0329817 0.52965 0.5 -0.016043 0.107446 -0.0178315 0.54139 0.5 -0.0151569 0.107807 -0.0181851 0.582596 0.454464 --0.0679818 0.0653371 -0.00356488 0.251688 0.5 --0.0690509 0.0654544 -0.0025414 0.24886 0.5 --0.0698972 0.0655268 -0.00153079 0.202761 0.415408 --0.0707052 0.0656331 -0.000502385 0.199708 0.427857 --0.0715181 0.0657302 0.000515199 0.218811 0.5 --0.0721682 0.0657282 0.00147121 0.246808 0.390584 --0.0768516 0.103431 -0.00952853 0.543508 0.5 --0.07494 0.0707543 0.0282709 0.593295 0.5 --0.0778795 0.103388 -0.00866618 0.527272 0.5 --0.0779756 0.13395 -0.00568102 0.43404 0.453644 --0.0673863 0.146352 -0.0244353 0.596362 0.5 --0.0746345 0.0660496 0.0075612 0.649876 0.5 --0.0749218 0.0661459 0.00857247 0.681417 0.5 --0.0749507 0.0661289 0.00944516 0.536331 0.5 --0.0808258 0.116274 -0.00349703 0.54735 0.5 --0.0338231 0.0915286 -0.0241849 0.733427 0.5 --0.0328411 0.0915526 -0.0242438 0.721596 0.5 --0.0348255 0.0915164 -0.024068 0.731908 0.5 --0.0358242 0.0915039 -0.0239402 0.665301 0.5 --0.0361137 0.162217 -0.0137308 0.551884 0.5 --0.0370853 0.162227 -0.0135318 0.51239 0.5 --0.058879 0.104045 -0.0185386 0.690825 0.5 --0.0598229 0.0911123 -0.0198104 0.499406 0.5 -0.0218862 0.107458 -0.0158341 0.533561 0.5 --0.0740506 0.152673 -0.0298916 0.554635 0.5 --0.073929 0.152666 -0.0308896 0.540786 0.5 --0.0737191 0.152664 -0.0318934 0.535153 0.5 --0.0401614 0.110268 -0.0187071 0.609508 0.5 --0.0484141 0.113756 -0.016334 0.716553 0.5 --0.0413643 0.124214 -0.00934406 0.621872 0.5 --0.0464652 0.16842 -0.00496016 0.442289 0.5 -0.0352918 0.108619 -0.00504659 0.541809 0.5 --0.0563129 0.159837 0.00207063 0.156172 0.5 --0.0453238 0.169855 -0.00399069 0.226657 0.434252 --0.0779351 0.161108 -0.0209335 0.505629 0.5 --0.0617514 0.175333 -0.0614739 0.324857 0.422115 --0.0897878 0.136555 0.0351995 0.64143 0.5 --0.0897638 0.136555 0.0361946 0.649587 0.5 --0.0715633 0.170815 -0.0500445 0.470993 0.5 --0.0743075 0.170773 -0.046055 0.382418 0.454078 --0.0791607 0.170809 -0.0419883 0.293443 0.5 --0.0726436 0.159626 -0.0369279 0.497241 0.421508 --0.0715954 0.155396 -0.0419127 0.582202 0.5 --0.0745798 0.155493 -0.021916 0.473959 0.454994 --0.0579064 0.158452 0.00407429 0.191847 0.5 --0.0416245 0.172695 -0.00500345 0.190702 0.444974 --0.0728707 0.168003 -0.0450202 0.471235 0.417893 --0.0919702 0.114664 0.0123319 0.461068 0.5 --0.0746787 0.169356 -0.0440586 0.366866 0.5 --0.077087 0.154176 -0.0108977 0.837764 0.5 --0.0838817 0.150077 0.00420446 0.36032 0.5 --0.0746094 0.14858 -0.0188631 0.296365 0.5 --0.0748658 0.148574 -0.0178655 0.299765 0.5 --0.0738314 0.151256 -0.033887 0.403606 0.5 -0.0162169 0.116863 -0.0139359 0.521215 0.437545 --0.0692332 0.158118 -0.0519432 0.304841 0.424131 --0.0777 0.16251 -0.0219398 0.370413 0.5 --0.0778914 0.162484 -0.0299302 0.383786 0.5 --0.073524 0.16243 -0.0369561 0.379276 0.454218 --0.0245671 0.182966 -0.016053 0.292881 0.5 --0.0896519 0.136557 0.0371913 0.654449 0.5 --0.0456903 0.11799 -0.0148012 0.639534 0.5 --0.0197273 0.118003 -0.0129221 0.761134 0.5 -0.0153397 0.120197 -0.0115352 0.509865 0.5 --0.0249634 0.0631201 -0.0324542 0.462031 0.5 --0.0261049 0.0632214 -0.0314499 0.455633 0.5 --0.027103 0.0633188 -0.0304321 0.588981 0.5 --0.0278877 0.0633808 -0.0294488 0.547986 0.5 --0.028754 0.0634689 -0.0284339 0.533982 0.5 --0.029185 0.0634891 -0.02746 0.513658 0.5 --0.0295071 0.0635474 -0.0264265 0.897057 0.5 --0.0296335 0.0635627 -0.0254272 0.90772 0.5 --0.0298874 0.063588 -0.0244234 0.898248 0.5 --0.0301406 0.0636155 -0.0234264 0.930978 0.5 --0.030521 0.0636541 -0.0224277 0.907576 0.5 --0.0310517 0.0636961 -0.0214339 0.489031 0.5 --0.0314396 0.0637247 -0.0204391 0.508846 0.441726 --0.0318235 0.0637622 -0.0194381 0.522931 0.439892 --0.0322265 0.0637977 -0.0184499 0.432564 0.5 --0.0326141 0.0638332 -0.0174509 0.335516 0.5 --0.0329324 0.0638892 -0.016427 0.356489 0.5 --0.0334742 0.0638502 -0.015538 0.108209 0.5 -0.0104481 0.102845 -0.020901 0.871304 0.5 -0.0188526 0.103753 -0.0198618 0.589167 0.305694 --0.00891857 0.0338467 -0.0251248 0 0 -0.026625 0.0839457 -0.0229857 0.758148 0.5 -0.0328182 0.0967204 -0.0144274 0.748556 0.5 -0.0375907 0.0937201 -0.0111657 0.595586 0.5 -0.0400602 0.0922366 -0.00959201 0.572204 0.5 -0.00890069 0.0988547 -0.0226736 0.872722 0.5 -0.0441838 0.0712847 0.000450163 0.423182 0.5 --0.00350994 0.110634 -0.0212045 0.678112 0.5 --0.0684343 0.0667749 -0.00454154 0.32026 0.356015 --0.0694356 0.066827 -0.00357005 0.276663 0.5 --0.070487 0.0669606 -0.00253268 0.23267 0.378817 --0.0714195 0.067071 -0.00151156 0.268814 0.5 --0.0722644 0.0671374 -0.000515551 0.278849 0.416812 --0.073344 0.0672327 0.000494062 0.294143 0.348574 --0.0742084 0.067281 0.00145303 0.305775 0.384345 --0.0747558 0.067415 0.00253432 0.328215 0.460629 --0.075086 0.0674684 0.00355063 0.433069 0.463791 --0.0619023 0.120903 -0.00899386 0.665437 0.5 --0.0758319 0.0675199 0.00554661 0.400319 0.5 --0.0760415 0.0675654 0.00655947 0.550905 0.5 --0.0760729 0.0675487 0.00755458 0.607601 0.5 --0.0759599 0.0675387 0.00855626 0.631847 0.5 --0.0759061 0.0675035 0.00967604 0.601366 0.5 --0.0398282 0.0914347 -0.0233046 0.514492 0.5 --0.0388211 0.091456 -0.0235256 0.480165 0.5 --0.0388888 0.109926 -0.019043 0.643715 0.5 --0.0468678 0.104213 -0.0207743 0.719293 0.5 --0.0630395 0.136976 -0.00741235 0.623766 0.48613 --0.0689054 0.113678 -0.00975253 0.564098 0.5 --0.0498768 0.104205 -0.0203216 0.723423 0.5 --0.0488714 0.104198 -0.020417 0.732059 0.5 --0.0688752 0.11651 -0.00852528 0.615905 0.5 --0.0719627 0.134048 -0.00796724 0.534098 0.467941 --0.0423655 0.110099 -0.0185262 0.853233 0.5 --0.0894883 0.139285 0.0301857 0.598091 0.5 --0.0898984 0.139201 0.0142132 0.443337 0.5 --0.0787339 0.140316 -0.00472414 0.596483 0.5 --0.0735831 0.152654 -0.0328925 0.539706 0.5 --0.0733679 0.152652 -0.0338969 0.546074 0.5 --0.0772012 0.161073 -0.0279344 0.409147 0.5 --0.0914367 0.114681 0.021315 0.763094 0.5 --0.0739067 0.163816 -0.0379732 0.477848 0.347135 --0.0547363 0.159762 -0.000811248 0.197114 0.246271 --0.0916073 0.128323 0.0352449 0.8231 0.5 --0.0783042 0.161088 -0.0239376 0.480672 0.5 --0.0673534 0.170861 -0.0570311 0.47812 0.5 --0.0697489 0.17084 -0.0530327 0.661706 0.5 --0.0894349 0.136561 0.0381888 0.648165 0.5 --0.0891218 0.136568 0.0391914 0.508226 0.472247 --0.0836036 0.133464 -0.00169527 0.591445 0.5 --0.0908345 0.139239 0.02018 0.683319 0.5 --0.0696635 0.159559 -0.0499324 0.361225 0.5 --0.0694376 0.159556 -0.0509365 0.377942 0.452316 --0.0696447 0.166615 -0.0510113 0.388941 0.448918 --0.0846701 0.133487 -0.000689201 0.6689 0.5 --0.0631435 0.175042 -0.061564 0.431004 0.5 --0.0880283 0.128084 0.00127828 0.492615 0.5 --0.00122028 0.0938312 -0.0334376 0.657678 0.5 --0.0770943 0.154164 -0.0118975 0.800158 0.5 --0.0845132 0.150109 0.0051703 0.353541 0.446268 --0.07404 0.148543 -0.0208687 0.298045 0.5 --0.0743566 0.148587 -0.0198592 0.300188 0.5 --0.0740388 0.151266 -0.032878 0.406013 0.5 --0.0855227 0.133522 0.000289437 0.685401 0.5 --0.0701319 0.158154 -0.0479233 0.559029 0.5 --0.0779412 0.162504 -0.0229403 0.377542 0.478951 --0.0772028 0.162464 -0.0309387 0.382945 0.5 --0.0731753 0.162423 -0.0379582 0.369884 0.5 --0.072832 0.162419 -0.0389636 0.363427 0.5 --0.0169441 0.184483 -0.0249355 0.342334 0.5 --0.0436382 0.11786 -0.014681 0.671991 0.5 --0.0335583 0.116878 -0.0136466 0.788424 0.5 --0.0228771 0.11806 -0.0129657 0.848768 0.5 --0.0241177 0.120704 -0.00972559 0.592427 0.5 -0.0266976 0.119444 -0.00271582 0.610089 0.5 --0.0253831 0.0645504 -0.0324979 0.484974 0.464351 --0.0263871 0.06465 -0.0314802 0.488322 0.465517 --0.0274005 0.0647434 -0.0304718 0.449719 0.5 --0.0283013 0.0648191 -0.0294785 0.578883 0.5 --0.0291848 0.0649007 -0.0284708 0.541417 0.5 --0.0299396 0.0649723 -0.0274594 0.531297 0.5 --0.0302058 0.0649962 -0.0264588 0.517895 0.5 --0.0304 0.0650386 -0.0254348 0.910149 0.5 --0.0306543 0.0650659 -0.0244333 0.919885 0.5 --0.0306541 0.0650706 -0.0234343 0.929797 0.5 --0.0309078 0.065095 -0.0224325 0.892908 0.5 --0.0314155 0.0651435 -0.021432 0.912515 0.5 --0.0317948 0.0651814 -0.020436 0.921701 0.5 --0.0320867 0.0651952 -0.0194497 0.399433 0.5 --0.0327198 0.0652554 -0.0184496 0.325484 0.5 --0.0331649 0.0652734 -0.0174782 0.254458 0.5 --0.0337113 0.0652961 -0.0165207 0.176771 0.5 -0.0126509 0.103032 -0.0211055 0.834697 0.5 -0.0115883 0.102988 -0.0210311 0.855026 0.5 -0.0169002 0.103075 -0.0211457 0.860865 0.5 -0.029535 0.0987313 -0.0165204 0.740361 0.5 -0.0286963 0.0991802 -0.016993 0.743821 0.5 -0.0336101 0.0962478 -0.0138935 0.741396 0.5 -0.0383972 0.0931984 -0.0106151 0.593677 0.5 -0.0446778 0.0701888 0.00161208 0.377476 0.5 --0.00243593 0.113721 -0.0185019 0.831455 0.5 --0.00449638 0.110771 -0.0213478 0.652799 0.5 --0.0687556 0.0680025 -0.00564855 0.256016 0.135401 --0.0698587 0.0680767 -0.00467294 0.223356 0.342426 --0.070996 0.0683351 -0.00354604 0.18113 0.419744 --0.0716941 0.0684125 -0.00254325 0.259641 0.357699 --0.0728418 0.0685704 -0.00149472 0.306205 0.5 --0.0739294 0.0686501 -0.000515794 0.293636 0.296358 --0.0747378 0.0687745 0.000531905 0.399712 0.5 --0.07522 0.0688188 0.0015368 0.442798 0.465566 --0.0756991 0.0688679 0.00254149 0.486374 0.5 --0.0760467 0.0689134 0.00354542 0.528256 0.5 --0.0762949 0.0689313 0.00454567 0.538185 0.5 --0.0765723 0.0689281 0.00553415 0.513333 0.5 --0.0769246 0.0689689 0.00654258 0.417409 0.5 --0.0709029 0.110786 -0.0101311 0.625599 0.381071 --0.0770757 0.068957 0.00853894 0.755373 0.5 --0.0478735 0.104217 -0.0205651 0.722773 0.5 --0.0689711 0.136995 -0.00816407 0.794643 0.5 --0.0679786 0.137002 -0.008171 0.83242 0.5 --0.0759568 0.136911 -0.00615991 0.506238 0.5 --0.0699032 0.0687756 0.0310328 0.51948 0.47167 --0.0652856 0.176792 -0.0608019 0.299685 0.5 --0.0643093 0.0665984 0.0323388 0.563763 0.5 --0.0132522 0.180136 -0.0286131 0.228754 0.415896 --0.0428689 0.104235 -0.0209095 0.788574 0.5 --0.0529014 0.114056 -0.0162353 0.627037 0.5 --0.0599339 0.120955 -0.00911512 0.63739 0.460131 --0.061923 0.12237 -0.00883821 0.719054 0.5 --0.0865692 0.133541 0.00131146 0.643142 0.5 --0.0875285 0.133568 0.00229932 0.592627 0.5 --0.0883931 0.1336 0.00326444 0.547588 0.5 --0.0895773 0.139272 0.0261794 0.644458 0.5 --0.0767707 0.151403 -0.00690852 0.411828 0.468351 --0.073245 0.152646 -0.0348949 0.549961 0.5 --0.0731111 0.152638 -0.0358925 0.552759 0.5 --0.072893 0.152634 -0.0368963 0.558665 0.5 --0.0660161 0.169448 -0.0590294 0.474129 0.5 --0.070964 0.169422 -0.0500317 0.476732 0.5 --0.0720303 0.169416 -0.0480254 0.478125 0.5 --0.0485025 0.167013 -0.00296472 0.314052 0.5 --0.0895593 0.13929 0.0311867 0.607552 0.5 --0.0722512 0.170824 -0.0490235 0.466133 0.5 --0.0789509 0.170805 -0.0389931 0.468892 0.5 --0.0792519 0.17071 -0.0410714 0.329077 0.424166 --0.0866855 0.14466 0.00818677 0.591028 0.5 --0.0421206 0.171253 -0.0079388 0.351016 0.373273 --0.0670071 0.172276 -0.0580562 0.693037 0.5 --0.0700267 0.166609 -0.0500213 0.38078 0.478737 --0.0709434 0.168021 -0.0490096 0.382731 0.5 -0.0180702 0.0879847 -0.0272411 0.711278 0.5 --0.0439439 0.166904 -0.00881722 0.416534 0.5 --0.0880987 0.13916 0.0101984 0.406451 0.431708 --0.0769942 0.154149 -0.012901 0.701919 0.5 --0.085208 0.150101 0.00618898 0.464736 0.5 --0.0737519 0.14858 -0.0228576 0.286307 0.5 --0.0739143 0.148544 -0.0218644 0.294056 0.5 --0.0746468 0.151291 -0.0288803 0.461003 0.5 --0.0891224 0.133627 0.00423095 0.380868 0.5 --0.0712116 0.15818 -0.0429219 0.489224 0.5 --0.0516538 0.162634 -0.00285466 0.278296 0.264391 --0.0249646 0.181509 -0.0170525 0.406368 0.5 --0.0183396 0.183004 -0.0240946 0.428755 0.5 --0.0249379 0.182957 -0.0150514 0.336994 0.5 --0.017913 0.184413 -0.0239895 0.360575 0.318318 --0.0356473 0.116902 -0.0136714 0.820147 0.5 --0.0207916 0.117992 -0.012906 0.82793 0.5 --0.017781 0.12071 -0.00976707 0.746757 0.5 -0.0258521 0.119872 -0.00319504 0.779378 0.5 --0.0250386 0.0659034 -0.0335362 0.498707 0.5 --0.0261589 0.0660162 -0.0325063 0.477779 0.459721 --0.0269138 0.0660937 -0.0314934 0.64467 0.5 --0.0277699 0.0661915 -0.0304661 0.622964 0.5 --0.0286636 0.0662687 -0.0294695 0.567307 0.5 --0.0295596 0.0663471 -0.0284716 0.520516 0.5 --0.0301912 0.0664057 -0.0274649 0.56048 0.5 --0.030476 0.0664272 -0.0264734 0.558124 0.5 --0.0308481 0.0664794 -0.025463 0.532253 0.432701 --0.0312058 0.066507 -0.0244549 0.515252 0.5 --0.0312929 0.0665317 -0.0234435 0.93207 0.5 --0.0315471 0.0665587 -0.0224416 0.93307 0.5 --0.0316751 0.0665766 -0.0214412 0.928331 0.5 --0.0321818 0.0666221 -0.0204419 0.887386 0.5 --0.0325897 0.0666513 -0.0194517 0.415513 0.5 --0.0328882 0.0666632 -0.0184721 0.341161 0.402782 --0.0334203 0.0667037 -0.0174892 0.261181 0.5 --0.033949 0.0667384 -0.0165589 0.244417 0.188056 -0.0248625 0.12099 -0.00239034 0.608009 0.5 -0.0137891 0.103175 -0.021246 0.833773 0.5 -0.0207514 0.10232 -0.0203322 0.621673 0.5 -0.0226022 0.1018 -0.0197774 0.540598 0.5 -0.0303619 0.0982175 -0.0159971 0.742543 0.5 -0.0274189 0.0834776 -0.02246 0.751148 0.5 -0.0345359 0.11019 -0.00473263 0.53104 0.5 --0.00764186 0.11082 -0.0214014 0.611996 0.465258 --0.00653882 0.110902 -0.0214831 0.624279 0.469932 -0.0279206 0.0916217 -0.0209795 0.693816 0.5 --0.0708142 0.0694524 -0.00574088 0.167011 0.38734 --0.0721891 0.0696552 -0.00460695 0.138656 0.337292 --0.0730453 0.0699885 -0.00346826 0.235163 0.5 --0.0737106 0.0699801 -0.00251138 0.226223 0.440754 --0.0747624 0.0700921 -0.00148683 0.287135 0.5 --0.0755745 0.0702081 -0.000465226 0.55895 0.5 --0.0760489 0.0702549 0.00053996 0.457957 0.5 --0.0763048 0.0702707 0.00153293 0.492987 0.5 --0.0766992 0.0702795 0.00252119 0.694805 0.5 --0.0770775 0.0703016 0.00351307 0.689483 0.5 --0.0775366 0.070359 0.00451989 0.680634 0.5 --0.0779103 0.070378 0.00551561 0.660706 0.5 --0.0448698 0.104232 -0.0209188 0.752386 0.5 --0.0438685 0.104239 -0.0209341 0.769513 0.5 --0.0793826 0.0705862 0.00854889 0.692912 0.5 --0.0795217 0.0705829 0.00954625 0.507181 0.5 --0.0797359 0.0706327 0.0105539 0.511394 0.5 --0.079866 0.0706372 0.0115498 0.738439 0.5 --0.0798846 0.0706301 0.0125498 0.54612 0.5 --0.0798891 0.0706304 0.0135503 0.574735 0.5 --0.0798847 0.0706373 0.0145533 0.587556 0.5 --0.0797756 0.0706254 0.0155549 0.590733 0.5 --0.0718098 0.0864713 -0.016231 0.453169 0.5 --0.0588289 0.089737 -0.0207103 0.45501 0.5 --0.057835 0.0897878 -0.0213715 0.392704 0.464429 --0.0568374 0.0898133 -0.021762 0.419311 0.449732 --0.05583 0.0898375 -0.0220234 0.465285 0.5 --0.0548148 0.0898539 -0.0222515 0.634218 0.372128 --0.0538034 0.0898608 -0.0222645 0.700822 0.375994 --0.0528078 0.0898592 -0.0221628 0.774208 0.5 --0.0895782 0.133632 0.00522749 0.384424 0.439516 --0.0804601 0.148683 0.000173633 0.507716 0.5 --0.0772259 0.151416 -0.00590086 0.441893 0.462412 --0.091455 0.148836 0.0171378 0.474933 0.5 --0.091474 0.148846 0.0181354 0.505026 0.5 --0.0728512 0.152626 -0.0378881 0.469214 0.5 --0.0720202 0.152598 -0.0428872 0.315199 0.5 --0.071833 0.152571 -0.043913 0.226941 0.5 --0.0776927 0.169444 -0.0419634 0.29303 0.424261 --0.0109041 0.121705 -0.010941 0.705348 0.5 --0.077532 0.159745 -0.0169143 0.54567 0.467499 --0.0758068 0.170822 -0.0449998 0.331817 0.5 --0.0791321 0.170818 -0.0399882 0.427035 0.5 --0.0785409 0.166665 -0.0309637 0.396015 0.5 --0.0429021 0.171269 -0.00696466 0.424636 0.5 --0.0676913 0.172275 -0.0570278 0.679624 0.5 --0.0789669 0.172206 -0.0419919 0.477065 0.5 --0.0723877 0.16801 -0.0460141 0.484721 0.364062 --0.00109958 0.115152 -0.0180337 0.558751 0.5 --0.0785185 0.16527 -0.0289621 0.46911 0.5 --0.0700369 0.0765697 0.0383694 0.610822 0.5 --0.0764447 0.154164 -0.0158984 0.302793 0.283685 --0.0858022 0.150106 0.00719342 0.463797 0.5 --0.0736262 0.148585 -0.0238576 0.285253 0.5 --0.0630174 0.113067 -0.0134471 0.616352 0.5 --0.074873 0.151297 -0.0278802 0.466962 0.5 --0.0773393 0.152802 -0.0018868 0.470649 0.5 --0.0713615 0.158186 -0.0419305 0.534661 0.5 --0.0780988 0.162499 -0.0239377 0.391021 0.478376 --0.0258217 0.181482 -0.0160394 0.362504 0.341326 --0.0900165 0.133639 0.00622839 0.559025 0.5 --0.0254081 0.182912 -0.0140439 0.238678 0.5 --0.0187316 0.184448 -0.0230478 0.400335 0.5 --0.0446647 0.117939 -0.0147658 0.64068 0.5 --0.0162681 0.118552 -0.0135478 0.69405 0.5 --0.0156178 0.12076 -0.00985742 0.667618 0.5 -0.0232453 0.12098 -0.00440593 0.602275 0.5 --0.0261628 0.0674202 -0.0335157 0.491055 0.5 --0.0269668 0.0674701 -0.0325423 0.445714 0.5 --0.0277895 0.06758 -0.0314768 0.591321 0.323855 --0.0282054 0.0676114 -0.0305119 0.569039 0.5 --0.0290693 0.0677067 -0.0294879 0.529077 0.5 --0.0298099 0.0677811 -0.0284707 0.511122 0.5 --0.0303159 0.0678299 -0.0274662 0.515505 0.5 --0.0306901 0.0678681 -0.026462 0.502235 0.5 --0.0310683 0.0679104 -0.0254551 0.498669 0.460003 --0.0314424 0.0679449 -0.0244554 0.507458 0.5 --0.031681 0.0679763 -0.0234472 0.929225 0.5 --0.0319337 0.0680008 -0.0224492 0.931106 0.5 --0.0321871 0.0680263 -0.0214501 0.892495 0.5 --0.0326951 0.0680731 -0.0204474 0.73364 0.5 --0.0328734 0.0680853 -0.0194707 0.339345 0.402444 --0.0333922 0.068118 -0.0184774 0.259253 0.5 --0.0340805 0.0680941 -0.0175876 0.263666 0.5 -0.002489 0.103843 -0.0219556 0.726606 0.5 -0.00917376 0.125511 -0.00726227 0.692726 0.5 -0.0179164 0.102978 -0.02104 0.8691 0.5 --0.0476462 0.123357 -0.010393 0.707721 0.5 --0.0433933 0.123406 -0.0104784 0.737591 0.5 --0.0586388 0.0367329 -0.00984378 0.295521 0.5 --0.0176742 0.109826 -0.020315 0.689125 0.5 --0.0166846 0.109701 -0.0201927 0.707174 0.5 -0.00616925 0.0895403 -0.0330971 0.803927 0.5 --0.0261993 0.095287 -0.0250572 0.480784 0.5 --0.0734226 0.0711647 -0.00664488 0.238472 0.5 --0.0747099 0.0713354 -0.00558545 0.126076 0.306508 --0.0755167 0.0714511 -0.00453448 0.15719 0.5 --0.0759611 0.0715461 -0.00349282 0.286123 0.5 --0.0767718 0.0716181 -0.00247133 0.283723 0.45195 --0.0770237 0.0716688 -0.00146855 0.546715 0.5 --0.0772056 0.0717509 -0.00044869 0.636744 0.5 --0.0774933 0.0717304 0.000534742 0.664536 0.5 --0.0779219 0.0717107 0.00150831 0.634715 0.5 --0.0784828 0.0717889 0.00251767 0.625965 0.5 --0.0790435 0.0718734 0.00353541 0.630766 0.5 --0.0796414 0.0719293 0.00453596 0.630221 0.5 --0.0802248 0.0719997 0.00554401 0.654199 0.5 --0.0804084 0.0719394 0.00662383 0.715376 0.5 --0.0806057 0.0720192 0.00754007 0.529328 0.5 --0.0807416 0.0720213 0.00853917 0.539168 0.5 --0.0808524 0.0720445 0.00954101 0.568787 0.5 --0.080936 0.0720826 0.0105433 0.592471 0.5 --0.0809806 0.0720629 0.0115411 0.590979 0.5 --0.0809789 0.0720684 0.0125422 0.608748 0.5 --0.0809608 0.0720856 0.0135459 0.629914 0.5 --0.0809392 0.0721012 0.0145438 0.670618 0.5 --0.0808293 0.0720933 0.0155437 0.667797 0.5 --0.080608 0.0720682 0.0165498 0.670734 0.5 --0.0803051 0.0719229 0.0175051 0.527787 0.480493 --0.0800099 0.07203 0.0185532 0.563406 0.5 --0.079546 0.0719865 0.0195582 0.610794 0.5 -0.0111873 0.0893276 -0.0308633 0.624227 0.466975 --0.0368219 0.0900544 -0.0239252 0.611571 0.5 --0.0378129 0.0900392 -0.0237743 0.43297 0.5 --0.0388134 0.0900157 -0.0235053 0.601196 0.5 --0.0398125 0.0899922 -0.0232612 0.476323 0.5 --0.0902417 0.133644 0.00722857 0.596259 0.5 --0.0746196 0.147202 -0.0138555 0.311999 0.5 --0.091536 0.147482 0.0221363 0.624096 0.5 --0.0916814 0.147477 0.020141 0.605615 0.457318 --0.0914625 0.148845 0.019136 0.510877 0.473701 --0.0907031 0.148891 0.0231421 0.533916 0.5 --0.0904292 0.148866 0.0241237 0.534262 0.462234 -0.04958 0.0652138 -0.00133913 0.494226 0.5 --0.0904622 0.133649 0.00822658 0.621159 0.5 --0.0658548 0.0952898 -0.0176963 0.464928 0.5 --0.0782171 0.159705 -0.021925 0.48956 0.5 --0.0905935 0.133662 0.00922276 0.634574 0.5 --0.0782046 0.166684 -0.029962 0.393614 0.5 --0.0432877 0.171276 -0.00598005 0.252106 0.5 --0.0682914 0.172271 -0.0560251 0.677086 0.5 --0.0761969 0.167972 -0.0410261 0.348442 0.5 --0.0776954 0.16804 -0.0399638 0.324269 0.5 --0.0107388 0.117999 -0.0150205 0.592673 0.5 --0.0787666 0.165266 -0.0299591 0.466379 0.458063 --0.0908157 0.133668 0.01022 0.619682 0.5 --0.0756811 0.154032 -0.0169094 0.338955 0.339969 --0.0864971 0.150096 0.00821548 0.328359 0.5 --0.0869664 0.148754 0.00824898 0.40067 0.459026 --0.0910325 0.133669 0.0112223 0.65382 0.5 --0.0910584 0.133686 0.0122173 0.705455 0.5 --0.0749819 0.151307 -0.0268775 0.563609 0.5 --0.0771697 0.152833 -0.00289126 0.541902 0.5 --0.0715838 0.158191 -0.0409255 0.553235 0.467137 --0.0783091 0.16249 -0.0249404 0.364065 0.5 --0.0193315 0.182966 -0.0230088 0.495198 0.380718 --0.0911632 0.133688 0.01322 0.702952 0.5 --0.0759101 0.148612 -0.0128604 0.516279 0.5 --0.0778477 0.159718 -0.0189229 0.497188 0.460998 --0.0556068 0.119255 -0.0119973 0.525099 0.5 --0.0052585 0.095242 -0.0329133 0.809355 0.5 --0.0230193 0.120798 -0.0098328 0.625074 0.5 --0.0260145 0.0688342 -0.034504 0.450574 0.5 --0.0270649 0.0689032 -0.0335294 0.461902 0.5 --0.0279464 0.0689892 -0.032513 0.403737 0.5 --0.0286765 0.0690744 -0.0314836 0.537578 0.5 --0.0292731 0.0691492 -0.0304581 0.536896 0.377024 --0.0296624 0.0691842 -0.029462 0.52494 0.5 --0.030416 0.0692532 -0.0284548 0.850478 0.5 --0.0306705 0.0692801 -0.0274547 0.906118 0.5 --0.0310508 0.0693178 -0.0264576 0.903755 0.5 --0.0314314 0.0693522 -0.0254564 0.915641 0.5 --0.0317045 0.0693753 -0.0244624 0.490132 0.5 --0.0321937 0.0694259 -0.0234551 0.904591 0.5 --0.0324478 0.069454 -0.0224572 0.918597 0.5 --0.032702 0.0694797 -0.021456 0.723705 0.5 --0.0330823 0.0695155 -0.0204574 0.535972 0.5 --0.0336047 0.0695556 -0.0194645 0.224991 0.5 --0.0339552 0.0695264 -0.0185169 0.168099 0.271035 -0.00449283 0.103624 -0.0217086 0.755673 0.5 -0.00350727 0.103765 -0.0218529 0.738516 0.5 -0.0188735 0.102787 -0.0208351 0.606528 0.5 --0.0219975 0.107603 -0.0219593 0.634538 0.5 --0.0252415 0.109687 -0.0201254 0.603606 0.453062 --0.0240104 0.109837 -0.0203148 0.825875 0.5 --0.0229027 0.109901 -0.0203838 0.580151 0.5 -0.0176002 0.124344 -0.00401113 0.542796 0.5 -0.0185106 0.12405 -0.00369129 0.570565 0.5 -0.0159009 0.113257 -0.0160529 0.50524 0.5 --0.074384 0.0726496 -0.00763941 0.303203 0.5 --0.0755673 0.0727762 -0.00660131 0.219579 0.5 --0.0765497 0.0728479 -0.00560245 0.183377 0.381418 --0.077361 0.0729429 -0.00456158 0.243548 0.5 --0.0781961 0.0730005 -0.00359699 0.289395 0.417879 --0.0785831 0.0731535 -0.00247436 0.574762 0.5 --0.0786866 0.073183 -0.00146774 0.512828 0.5 --0.0784762 0.0731416 -0.000473316 0.728553 0.5 --0.0786424 0.0732312 0.000545367 0.683272 0.5 --0.0794271 0.0732336 0.00151817 0.615888 0.5 --0.0802939 0.0732789 0.00250413 0.351891 0.5 --0.0808762 0.0733317 0.00350919 0.39189 0.438258 --0.081164 0.0734408 0.004547 0.520601 0.5 --0.0814357 0.0734392 0.00553468 0.539045 0.5 --0.0816964 0.0734472 0.00653139 0.545667 0.5 --0.0817879 0.0734817 0.0075372 0.595946 0.5 --0.081817 0.0734713 0.00853447 0.625915 0.5 --0.0816849 0.073475 0.00953613 0.633769 0.5 --0.0816979 0.073476 0.0105355 0.653472 0.5 --0.0816869 0.0734846 0.011537 0.662528 0.5 --0.0816716 0.0734987 0.0125379 0.668631 0.5 --0.081586 0.0734778 0.0135382 0.661228 0.5 --0.0814761 0.0734707 0.0145404 0.702167 0.5 --0.0813576 0.0734641 0.0155425 0.726782 0.5 --0.0812898 0.0735018 0.0165324 0.736202 0.5 --0.0810116 0.0734375 0.0175497 0.747517 0.5 --0.0806378 0.0734203 0.0185511 0.769039 0.5 --0.0802598 0.0734072 0.0195467 0.800646 0.5 --0.0798314 0.0733447 0.0205614 0.801452 0.5 -0.0122103 0.0893249 -0.030653 0.620789 0.5 --0.0198709 0.104468 -0.0228058 0.703781 0.5 --0.0188705 0.104448 -0.0228566 0.702738 0.5 --0.0178695 0.104461 -0.0227631 0.71414 0.5 --0.0561697 0.0684762 0.0377129 0.587773 0.5 --0.0912831 0.133698 0.0142161 0.68945 0.5 --0.073661 0.147179 -0.0178577 0.212484 0.5 --0.0739033 0.14718 -0.0168588 0.217233 0.5 --0.091675 0.147474 0.0191435 0.572349 0.5 --0.0911978 0.147452 0.0151543 0.636897 0.5 --0.0908755 0.147455 0.0141474 0.427582 0.403691 --0.0914908 0.1337 0.0152201 0.706799 0.5 --0.0914381 0.133727 0.0162105 0.740786 0.5 --0.0470974 0.168427 -0.00297818 0.26159 0.442421 --0.091525 0.133725 0.0172151 0.758795 0.5 --0.074839 0.15964 -0.0289433 0.389109 0.5 --0.0724141 0.159616 -0.0379306 0.497191 0.5 --0.0423878 0.124291 -0.00941969 0.6461 0.5 --0.0689 0.172262 -0.0550342 0.670384 0.5 --0.0915032 0.133721 0.0182157 0.766243 0.5 --0.0634988 0.173693 -0.0615446 0.385841 0.5 --0.0914203 0.133738 0.0192152 0.751285 0.5 --0.0677895 0.175109 -0.0580246 0.621064 0.5 --0.0788788 0.16526 -0.0309581 0.471836 0.5 --0.0772898 0.158355 -0.013903 0.588183 0.5 --0.0751309 0.154085 -0.0179327 0.470841 0.5 --0.0872329 0.150111 0.00920897 0.313244 0.418294 --0.0914301 0.133749 0.0202171 0.760957 0.5 --0.072928 0.148723 -0.0327819 0.285606 0.5 --0.0750958 0.151313 -0.0258791 0.566131 0.5 --0.0771905 0.152834 -0.00389169 0.687125 0.5 --0.0718018 0.158195 -0.0399213 0.532797 0.46153 --0.0762912 0.162417 -0.0319674 0.403699 0.5 --0.0202504 0.182971 -0.0220384 0.439171 0.5 --0.0690156 0.163795 -0.0519803 0.50283 0.5 --0.0568258 0.120959 -0.0097287 0.788612 0.5 --0.0218549 0.118022 -0.0129203 0.848967 0.5 --0.0386191 0.0474546 -0.0163861 0.271122 0.5 --0.0252565 0.120536 -0.00953586 0.452714 0.5 -0.0369332 0.102635 -0.00864905 0.617572 0.5 --0.0269157 0.0703179 -0.0345192 0.491915 0.5 --0.0279086 0.0704216 -0.0334901 0.643523 0.5 --0.0285896 0.0704574 -0.0325207 0.603835 0.5 --0.0293484 0.0705264 -0.0315108 0.552722 0.5 --0.0298407 0.0705727 -0.0304857 0.559866 0.378624 --0.0303332 0.0706347 -0.0294852 0.538826 0.5 --0.0309481 0.0706991 -0.0284733 0.519006 0.5 --0.0313435 0.0707327 -0.0274782 0.498719 0.5 --0.0316005 0.0707575 -0.0264789 0.484653 0.5 --0.0319458 0.0708051 -0.0254622 0.907737 0.5 --0.0322294 0.0708154 -0.0244722 0.47632 0.469168 --0.0325802 0.0708663 -0.0234636 0.90539 0.5 --0.0329609 0.0709036 -0.0224656 0.725307 0.5 --0.0332159 0.0709306 -0.0214641 0.536634 0.5 --0.0336555 0.0709359 -0.0204834 0.219804 0.405693 --0.0342456 0.0708723 -0.0195447 0.129292 0 --0.00323215 0.0940338 -0.0336602 0.622085 0.5 -0.0276939 0.085014 -0.0220629 0.764815 0.5 -0.0268767 0.0854059 -0.022529 0.760918 0.5 --0.0230123 0.107366 -0.0218426 0.641429 0.5 --0.0262448 0.109573 -0.0200299 0.581679 0.451495 --0.0476206 0.111206 -0.0176722 0.754565 0.5 -0.0186443 0.123322 -0.00490878 0.564534 0.432784 -0.00632048 0.123167 -0.0106939 0.706607 0.5 -0.0194036 0.123725 -0.00335403 0.58247 0.5 -0.00434495 0.0973121 -0.027058 0.670854 0.5 --0.017311 0.117579 -0.0145168 0.725589 0.5 --0.0758111 0.0741872 -0.00760517 0.260107 0.5 --0.0768733 0.0742923 -0.00658087 0.246849 0.440401 --0.077844 0.0743656 -0.00558198 0.238143 0.440892 --0.0787857 0.0744548 -0.00455566 0.260564 0.452385 --0.0794876 0.0745597 -0.0035364 0.36458 0.43512 --0.0797915 0.0746069 -0.00248195 0.44464 0.5 --0.0797877 0.0746142 -0.00147983 0.687339 0.5 --0.0797566 0.074638 -0.000471413 0.691143 0.5 --0.0801245 0.0746668 0.000525034 0.596978 0.5 --0.0809612 0.0747382 0.0015261 0.535263 0.302071 --0.0817263 0.0747702 0.00249857 0.329033 0.457027 --0.0820692 0.0748107 0.00351555 0.46864 0.5 --0.082326 0.0748249 0.00451639 0.541078 0.5 --0.0823069 0.0748418 0.00552391 0.561125 0.5 --0.0824554 0.0748386 0.00652396 0.562933 0.5 --0.0825515 0.0748682 0.00752949 0.596077 0.5 --0.0824053 0.0748814 0.00852871 0.683066 0.5 --0.082219 0.074838 0.0095308 0.684723 0.5 --0.0820948 0.0748388 0.0105311 0.705722 0.5 --0.0820812 0.0748515 0.0115294 0.730241 0.5 --0.0820286 0.074884 0.0125291 0.705727 0.5 --0.0820593 0.0748753 0.013529 0.711871 0.5 --0.0819286 0.0748755 0.0145293 0.730114 0.5 --0.0817699 0.0748179 0.0155353 0.755548 0.5 --0.0817429 0.0748341 0.0165378 0.754022 0.5 --0.0815948 0.0748474 0.0175368 0.764102 0.5 --0.0812999 0.0747823 0.0185535 0.769786 0.5 --0.0811057 0.0748245 0.0195385 0.787247 0.5 --0.0807961 0.0747709 0.0205502 0.756405 0.5 -0.00217526 0.0894962 -0.0338845 0.788416 0.5 --0.0599081 0.112539 -0.0152225 0.581111 0.5 --0.0172176 0.177147 -0.0249576 0.423698 0.5 --0.062914 0.11807 -0.00990368 0.566515 0.474186 --0.0246777 0.0366811 0.0541279 0.389605 0.5 --0.0913122 0.133748 0.0212171 0.764912 0.5 --0.091338 0.14476 0.0251578 0.666049 0.5 --0.091423 0.144753 0.0241539 0.658056 0.5 --0.0741496 0.147181 -0.0158602 0.306453 0.5 --0.0747471 0.147201 -0.0128585 0.306414 0.5 --0.075081 0.147222 -0.0118498 0.31482 0.5 --0.0891133 0.14743 0.0101992 0.600157 0.5 --0.0844416 0.147376 0.00515339 0.633935 0.5 --0.0777094 0.170825 -0.0439812 0.297824 0.5 --0.0709691 0.153934 -0.0469289 0.208742 0.409643 --0.0705369 0.155342 -0.0479286 0.293532 0.436592 --0.0717978 0.155398 -0.0409076 0.630676 0.5 --0.0691022 0.159548 -0.0519447 0.359827 0.5 --0.0696134 0.172257 -0.054028 0.666043 0.5 --0.0911887 0.13375 0.0222165 0.754102 0.5 --0.0447618 0.116708 -0.0154556 0.672774 0.5 --0.0910025 0.133774 0.0232232 0.749618 0.5 --0.0909618 0.13376 0.0242167 0.767464 0.5 --0.0721022 0.165224 -0.0439746 0.376373 0.5 --0.0702648 0.156758 -0.047919 0.402441 0.5 --0.073856 0.154091 -0.0259028 0.61668 0.5 --0.0900133 0.150126 0.0131697 0.243757 0.5 --0.0839692 0.148747 0.00414299 0.636574 0.5 --0.0724483 0.148649 -0.034807 0.25777 0.398185 --0.0725455 0.148857 -0.0337299 0.453084 0.5 --0.075231 0.151315 -0.0248804 0.560005 0.5 --0.0771555 0.15282 -0.00488816 0.716035 0.5 --0.0721705 0.158208 -0.0379206 0.528263 0.5 --0.075448 0.162419 -0.0329687 0.412044 0.322088 --0.0896129 0.139294 0.0321884 0.614446 0.455625 --0.0909546 0.139232 0.0191849 0.600268 0.5 -0.0227098 0.105005 -0.0172062 0.649499 0.453626 --0.0263582 0.120444 -0.00943021 0.502587 0.363114 -0.0376532 0.101954 -0.00791483 0.602518 0.5 -1.88808e-05 0.115368 -0.0182789 0.439451 0.5 --0.0275944 0.0717748 -0.0345689 0.499694 0.5 --0.0284679 0.0718578 -0.0335433 0.671374 0.5 --0.0292136 0.07193 -0.032514 0.638311 0.5 --0.0298783 0.0719759 -0.0315267 0.582481 0.5 --0.0305049 0.0720397 -0.0305133 0.575137 0.5 --0.0307766 0.0720324 -0.0295197 0.560357 0.393986 --0.0313944 0.0721215 -0.0285061 0.524167 0.5 --0.0318897 0.0721821 -0.0275085 0.524918 0.428277 --0.0322554 0.0722092 -0.0264952 0.490178 0.5 --0.0324599 0.0722556 -0.0254696 0.895887 0.5 --0.0328398 0.0722904 -0.0244709 0.883272 0.5 --0.033095 0.0723179 -0.02347 0.906967 0.5 --0.0334757 0.072353 -0.0224701 0.713925 0.5 --0.0338556 0.0723894 -0.0214737 0.536908 0.5 --0.0341682 0.0723955 -0.0204945 0.209787 0.5 -0.0139874 0.0924572 -0.0278842 0.551112 0.448921 -9.10767e-05 0.108392 -0.0207972 0.794566 0.5 --0.0292487 0.115981 -0.0147474 0.8467 0.5 -0.0174482 0.090927 -0.0262636 0.611297 0.5 -0.0165359 0.0912212 -0.0265781 0.587814 0.5 --0.0485738 0.111377 -0.0178292 0.745533 0.405755 -0.00337067 0.115645 -0.0185908 0.634872 0.5 -0.00537913 0.115468 -0.0184153 0.501635 0.464839 -0.0063888 0.115364 -0.0182909 0.519736 0.475688 --0.00327774 0.125061 -0.00864173 0.463128 0.474691 --0.00214312 0.101026 -0.0230018 0.898322 0.5 -0.00237959 0.0976208 -0.0273765 0.689185 0.5 --0.0767684 0.0756527 -0.0076025 0.3504 0.5 --0.0779425 0.0757661 -0.00656744 0.376273 0.45071 --0.0787949 0.0758277 -0.00557109 0.270623 0.466378 --0.0795844 0.0759236 -0.00451678 0.389329 0.43863 --0.0802058 0.0759672 -0.0035211 0.320974 0.440705 --0.0806807 0.0760273 -0.00253172 0.35419 0.455203 --0.080841 0.0760714 -0.00147772 0.447431 0.5 --0.0810711 0.076096 -0.000474637 0.591302 0.5 --0.0814469 0.0761204 0.000521161 0.535046 0.5 --0.0821611 0.0761834 0.00152312 0.37628 0.5 --0.0826703 0.0762102 0.00250991 0.329587 0.5 --0.0830368 0.0762381 0.00350806 0.374156 0.5 --0.0833901 0.0762729 0.00451303 0.40702 0.5 --0.0834808 0.0763288 0.0055122 0.454082 0.453792 --0.0836005 0.0763298 0.006515 0.42405 0.480527 --0.0836964 0.0763445 0.00752427 0.576288 0.5 --0.0834735 0.076324 0.00852235 0.655809 0.5 --0.083145 0.0762813 0.00952219 0.711596 0.5 --0.0830075 0.0762889 0.0105229 0.696868 0.5 --0.0828034 0.0762521 0.011522 0.732109 0.5 --0.0827552 0.07629 0.0125227 0.711914 0.5 --0.0827739 0.0762807 0.0135216 0.685819 0.5 --0.0828869 0.0763004 0.0145215 0.680181 0.5 --0.0829975 0.0763193 0.0155222 0.684291 0.5 --0.082956 0.0762572 0.0165263 0.700383 0.5 --0.0829047 0.0763015 0.0175246 0.729611 0.5 --0.0825849 0.0762413 0.018536 0.74897 0.351069 --0.0678037 0.0880304 -0.0174902 0.494295 0.5 --0.0508006 0.0883889 -0.0215985 0.78067 0.5 --0.0497999 0.0884036 -0.0217208 0.73777 0.5 --0.0488082 0.0884112 -0.0217819 0.71027 0.5 --0.0478101 0.0884245 -0.0219224 0.713157 0.5 --0.0468066 0.088437 -0.0220186 0.707914 0.5 --0.0679654 0.134068 -0.0084026 0.689801 0.5 --0.0908453 0.133761 0.025216 0.765606 0.5 --0.0913279 0.147458 0.016148 0.47157 0.5 --0.0767777 0.176413 -0.0510191 0.306798 0.5 --0.091424 0.144749 0.0231531 0.667425 0.5 --0.0914285 0.144743 0.0221537 0.672871 0.5 --0.0914617 0.144737 0.0211556 0.678737 0.5 --0.0823398 0.145942 0.00119384 0.435761 0.5 --0.082839 0.145958 0.00218243 0.416372 0.473072 --0.0837301 0.147364 0.00414541 0.645301 0.5 --0.0907106 0.133758 0.0262122 0.773264 0.5 --0.0895729 0.151493 0.0191084 0.214973 0.5 --0.0828958 0.151378 0.00422572 0.320858 0.5 --0.0718381 0.155405 -0.0399144 0.73179 0.5 --0.0687753 0.15954 -0.0529632 0.324005 0.398146 --0.0692603 0.166617 -0.0519986 0.496123 0.5 --0.0229763 0.0945367 -0.0302901 0.409705 0.5 --0.0664115 0.162305 -0.0579417 0.375639 0.407331 --0.000148869 0.0998138 -0.0237113 0.776583 0.5 --0.0717447 0.165221 -0.0449739 0.357546 0.417239 --0.0704967 0.156763 -0.0469167 0.525377 0.5 --0.0738401 0.154086 -0.0269016 0.637889 0.5 --0.0904268 0.150188 0.0141369 0.407898 0.414558 --0.0830031 0.148729 0.00315098 0.471063 0.5 --0.071716 0.148756 -0.0367532 0.252498 0.413169 --0.0720125 0.148777 -0.0357596 0.286066 0.5 --0.0753485 0.151324 -0.0238793 0.569398 0.5 --0.0771542 0.152814 -0.00588992 0.726791 0.5 --0.072385 0.158213 -0.0369175 0.515781 0.5 --0.0748156 0.16245 -0.0339456 0.423596 0.5 --0.0487502 0.167013 -0.00197199 0.32901 0.5 --0.0904983 0.133768 0.0272133 0.772279 0.5 --0.0902734 0.133771 0.0282153 0.778428 0.5 -0.0207378 0.105279 -0.0174962 0.622008 0.5 -0.00181128 0.125691 -0.00735123 0.597281 0.5 -0.0148906 0.112386 -0.0170744 0.535965 0.5 -0.00121056 0.115576 -0.018509 0.467101 0.5 --0.0284441 0.0732827 -0.0345293 0.508751 0.5 --0.0291577 0.0733109 -0.0335988 0.484695 0.475279 --0.0297859 0.073336 -0.0325546 0.64535 0.304239 --0.0305318 0.0734349 -0.0315361 0.589324 0.5 --0.0308992 0.0734931 -0.0305082 0.599685 0.372673 --0.0312616 0.0735186 -0.0295121 0.572706 0.5 --0.0317522 0.0735748 -0.0285005 0.564742 0.5 --0.03217 0.0735917 -0.0275208 0.528648 0.5 --0.0327796 0.0736593 -0.0265049 0.500818 0.5 --0.0331407 0.073693 -0.0254949 0.482946 0.449996 --0.0334812 0.0737514 -0.024477 0.908561 0.5 --0.0336084 0.073768 -0.0234794 0.930953 0.5 --0.0339899 0.0738027 -0.0224777 0.729747 0.5 --0.03437 0.0738393 -0.0214808 0.539803 0.5 --0.0348901 0.0738831 -0.020486 0.243281 0.5 --0.0042883 0.0999626 -0.0238822 0.785416 0.5 -0.0252819 0.100786 -0.0187149 0.692587 0.5 -0.0228212 0.0889774 -0.0242065 0.697809 0.45449 --0.0496313 0.111407 -0.0178803 0.716908 0.5 --0.0507728 0.111366 -0.017973 0.70443 0.5 -0.00439305 0.11559 -0.018534 0.65321 0.5 -0.0179014 0.114016 -0.0148856 0.599836 0.5 -0.0198002 0.113601 -0.0144182 0.511141 0.5 --0.05553 0.12546 -0.00656458 0.919608 0.5 --0.0376703 0.125135 -0.00632213 0.514782 0.5 -0.00139388 0.0977439 -0.0275242 0.692278 0.5 -0.0181222 0.116444 -0.0134944 0.467947 0.5 --0.0776083 0.0770893 -0.00760024 0.44576 0.5 --0.0785348 0.0771858 -0.00655705 0.466796 0.5 --0.0794073 0.0772395 -0.00557672 0.404551 0.5 --0.0800971 0.0773092 -0.00453369 0.321748 0.390057 --0.0807759 0.0773963 -0.00349851 0.337189 0.397182 --0.0812381 0.0774347 -0.00249764 0.358756 0.419913 --0.0816036 0.0774754 -0.00149976 0.348421 0.460459 --0.0819199 0.0775142 -0.000486403 0.399505 0.44434 --0.0822934 0.0775365 0.000511811 0.379916 0.5 --0.0828916 0.0775885 0.00151125 0.313948 0.5 --0.0833848 0.0776237 0.00250717 0.345101 0.5 --0.0837506 0.0776431 0.00349824 0.379133 0.34085 --0.0841314 0.0776758 0.00449933 0.401744 0.5 --0.0841758 0.0777074 0.00551439 0.434437 0.460659 --0.0844296 0.0777425 0.00651672 0.442632 0.328857 --0.0846583 0.0777659 0.00751712 0.581014 0.5 --0.0846449 0.0777798 0.00851725 0.671132 0.5 --0.0844851 0.0778045 0.00951927 0.714757 0.5 --0.0844011 0.0777797 0.0105147 0.694459 0.5 --0.0844149 0.0777754 0.0115138 0.683106 0.5 --0.0844214 0.0777776 0.012517 0.680725 0.5 --0.084398 0.0778007 0.013518 0.665468 0.5 --0.0845392 0.0778023 0.0145171 0.65826 0.375983 --0.0846638 0.0778105 0.0155166 0.671073 0.5 --0.0846489 0.0778245 0.0165124 0.708939 0.5 --0.0845122 0.0778323 0.0175087 0.73754 0.5 --0.00786973 0.104508 -0.0230207 0.696427 0.5 -0.00812049 0.107282 -0.0201059 0.799655 0.5 --0.0318198 0.0887354 -0.0251772 0.352231 0.5 --0.0831098 0.0777207 0.0215128 0.796309 0.5 --0.082659 0.0776741 0.0225196 0.822833 0.5 --0.0821806 0.0776422 0.0235195 0.81877 0.5 --0.0818093 0.0776109 0.0245029 0.785804 0.5 --0.0458007 0.0884477 -0.0220772 0.707917 0.5 --0.044804 0.0884409 -0.0220028 0.721437 0.5 --0.0900566 0.133779 0.0292173 0.789286 0.5 --0.0894925 0.143336 0.0131803 0.523975 0.379006 --0.0515007 0.164119 0.00202375 0.346291 0.5 --0.0235696 0.0368882 0.0541538 0.352009 0.5 --0.0708338 0.143978 -0.0149516 0.281504 0.5 --0.0915821 0.144732 0.0201581 0.599476 0.448238 --0.0768102 0.145866 -0.00487051 0.472689 0.5 --0.0834257 0.145967 0.00318768 0.427727 0.5 --0.0776336 0.147268 -0.0038625 0.91294 0.5 -0.0395784 0.104495 -0.000545476 0.583247 0.5 --0.0747384 0.149908 -0.0288721 0.22342 0.5 --0.082018 0.151309 0.00327526 0.343516 0.5 --0.0749299 0.155492 -0.0209193 0.40729 0.453486 --0.0687931 0.166618 -0.053004 0.506428 0.5 --0.0665818 0.173704 -0.0590137 0.625859 0.5 --0.0750214 0.166563 -0.0400315 0.430419 0.5 --0.00253303 0.110473 -0.0210263 0.670728 0.5 -0.023431 0.11936 -0.00662051 0.616279 0.5 --0.0891859 0.139294 0.0371595 0.495548 0.474741 --0.0707247 0.156767 -0.045914 0.559456 0.5 --0.0734929 0.154069 -0.0299022 0.709974 0.5 --0.0905664 0.150208 0.0151282 0.407994 0.5 --0.0387236 0.174145 -0.00898261 0.31153 0.5 --0.071014 0.148895 -0.037822 0.291122 0.0633409 --0.0754744 0.151328 -0.022882 0.665139 0.5 --0.0770107 0.152809 -0.00688788 0.715707 0.5 --0.0726057 0.158224 -0.0359121 0.490571 0.5 --0.0725695 0.162422 -0.0399552 0.374103 0.460563 --0.0484766 0.166987 4.90724e-06 0.371244 0.412863 --0.0939204 0.128289 0.0212475 0.8318 0.5 --0.0875197 0.139142 0.00819442 0.52371 0.5 --0.0904392 0.125398 0.00528343 0.612352 0.344167 --0.000532268 0.111266 -0.0199168 0.71986 0.5 -0.0157867 0.112048 -0.0167369 0.607608 0.5 -0.00823548 0.113838 -0.0186606 0.569111 0.5 --0.0558273 0.114722 -0.0152839 0.455132 0.474512 --0.0289649 0.0747374 -0.0345478 0.515333 0.5 --0.0298754 0.0748068 -0.0335581 0.687582 0.5 --0.030539 0.0748507 -0.0325674 0.620924 0.5 --0.0311696 0.0749025 -0.031542 0.580402 0.5 --0.0315484 0.0749387 -0.030532 0.574608 0.5 --0.0317091 0.0749949 -0.0294856 0.905395 0.5 --0.0321779 0.0750041 -0.0285287 0.521589 0.5 --0.0330169 0.0750953 -0.0275046 0.47122 0.5 --0.0333618 0.0751438 -0.0264858 0.891815 0.5 --0.0337405 0.075174 -0.025488 0.918213 0.5 --0.0339952 0.0752026 -0.0244888 0.961209 0.5 --0.0339959 0.0752105 -0.0234884 0.769158 0.5 --0.0342487 0.0752311 -0.0224883 0.560544 0.5 --0.0346312 0.0752701 -0.0214845 0.378418 0.5 --0.0350673 0.0752529 -0.020583 0.18135 0.5 -0.02441 0.101163 -0.0191142 0.628051 0.5 -0.0440634 0.064827 -0.000963389 0.59121 0.444999 --0.0465999 0.111104 -0.0175509 0.699564 0.5 --0.0152794 0.114388 -0.017154 0.658085 0.450025 --0.0142172 0.114376 -0.0171381 0.659341 0.5 -0.0169426 0.11422 -0.015094 0.491543 0.391829 --0.0405815 0.125646 -0.00686289 0.583875 0.5 --0.0735086 0.078138 -0.0125733 0.485274 0.5 --0.0741619 0.0781636 -0.0115723 0.678295 0.287314 --0.0748509 0.0782361 -0.0105914 0.660679 0.5 --0.0759199 0.0783227 -0.00959072 0.674819 0.5 --0.0334887 0.0471143 -0.0243565 0.315073 0.5 --0.0780856 0.0784826 -0.00760345 0.482831 0.456398 --0.0790495 0.0785612 -0.00658771 0.465026 0.466522 --0.0800017 0.0786467 -0.00556567 0.426126 0.5 --0.0805979 0.0786983 -0.00455339 0.4029 0.5 --0.0810351 0.0787684 -0.0035164 0.350059 0.353126 --0.081588 0.0788215 -0.00249997 0.34297 0.433392 --0.0819874 0.0788394 -0.00151395 0.34113 0.449465 --0.0824118 0.0788951 -0.000494108 0.318605 0.5 --0.0827664 0.0789303 0.000509537 0.31756 0.5 --0.0832232 0.0789707 0.00151853 0.40313 0.371396 --0.0836967 0.0790161 0.00252063 0.416729 0.5 --0.0841536 0.0790628 0.0035277 0.440825 0.45837 --0.0846068 0.0791109 0.00453817 0.478659 0.5 --0.0849152 0.0791131 0.00550947 0.409107 0.5 --0.0851867 0.0791254 0.00650076 0.435551 0.5 --0.0854189 0.0791501 0.00750351 0.590509 0.5 --0.085501 0.0791776 0.00851156 0.690639 0.5 --0.0854712 0.0791996 0.00951147 0.726664 0.5 --0.0854876 0.0791977 0.0105097 0.707646 0.5 --0.085625 0.079203 0.01151 0.679204 0.5 --0.0857374 0.0792227 0.0125087 0.698173 0.5 --0.0857527 0.0792184 0.0135098 0.734162 0.5 --0.0856126 0.0792275 0.0145081 0.718151 0.5 --0.0857232 0.0792432 0.0155047 0.721672 0.5 --0.0857238 0.0792489 0.0165033 0.759172 0.5 --0.0855011 0.0792275 0.0175034 0.804379 0.5 --0.0852267 0.0792333 0.0184927 0.811614 0.5 --0.0848856 0.0792043 0.0194951 0.62356 0.487801 --0.084435 0.0791603 0.0205035 0.628434 0.487806 --0.0839381 0.0791399 0.0214982 0.641039 0.5 --0.0833697 0.0790868 0.0225099 0.836404 0.5 --0.0829431 0.0790271 0.0235207 0.795268 0.5 --0.0828165 0.0790258 0.0245191 0.765445 0.5 --0.0827835 0.0790493 0.0255103 0.751595 0.5 --0.082569 0.0790202 0.0265184 0.775703 0.5 -0.00913686 0.107291 -0.0199257 0.602352 0.5 -0.0260633 0.114349 -0.00924148 0.539116 0.454724 --0.0903603 0.143336 0.0142018 0.533468 0.5 --0.0213746 0.0936314 -0.0333712 0.517422 0.5 --0.0737276 0.154081 -0.027902 0.672638 0.5 --0.0717266 0.143977 -0.0139286 0.228277 0 --0.0766685 0.144473 -0.00485242 0.467331 0.5 --0.076233 0.145832 -0.00587217 0.478937 0.431646 --0.0890361 0.146068 0.0101777 0.593544 0.5 --0.0772746 0.147261 -0.00486297 0.910902 0.5 --0.0746273 0.149901 -0.0298709 0.265894 0.5 --0.0809707 0.15134 0.0022444 0.322719 0.5 --0.07566 0.1555 -0.0199215 0.301022 0.5 --0.0670035 0.166617 -0.0570134 0.458151 0.5 --0.0674097 0.173701 -0.0580011 0.611696 0.5 --0.0760774 0.166574 -0.0390172 0.38093 0.364872 --0.0685252 0.175096 -0.0570393 0.674524 0.5 --0.0719124 0.168014 -0.0470137 0.492758 0.5 --0.078183 0.161072 -0.0259393 0.439977 0.5 --0.0719027 0.156807 -0.0389123 0.783268 0.5 --0.0733817 0.154066 -0.0309045 0.70569 0.5 --0.0908844 0.150204 0.0171288 0.482239 0.5 --0.0694849 0.173671 -0.0550315 0.663755 0.5 --0.0681426 0.159579 -0.055037 0.286043 0.420335 --0.0755977 0.151334 -0.0218791 0.665868 0.5 --0.076928 0.152806 -0.00788984 0.712479 0.5 --0.0727584 0.158224 -0.0349231 0.485006 0.456147 --0.0723047 0.162425 -0.0409479 0.368158 0.47147 --0.071967 0.162417 -0.0419522 0.366802 0.410778 --0.0195235 0.184467 -0.0220738 0.380552 0.5 --0.0226414 0.0961417 -0.0259441 0.75553 0.5 -0.0287219 0.115289 -0.00622497 0.645936 0.5 --0.0929632 0.124088 0.0102675 0.565866 0.5 -0.0166934 0.111749 -0.0164123 0.617956 0.5 -0.00727636 0.114035 -0.0188609 0.553095 0.5 --0.0547371 0.114833 -0.0154193 0.604609 0.5 --0.0444987 0.125316 -0.00848377 0.59037 0.5 --0.0293563 0.0761839 -0.0345604 0.406811 0.5 --0.0303959 0.0762676 -0.0335676 0.672822 0.5 --0.0310416 0.0763051 -0.0325503 0.625166 0.329336 --0.0316679 0.0763713 -0.0315414 0.595575 0.5 --0.0320743 0.0763998 -0.0305477 0.559569 0.5 --0.0323187 0.0763806 -0.0295323 0.551727 0.425106 --0.0327106 0.0764924 -0.028531 0.50742 0.431889 --0.0334032 0.0765382 -0.0275106 0.487246 0.5 --0.0337735 0.0765809 -0.0265027 0.500372 0.462958 --0.0340008 0.0766042 -0.0254969 0.961744 0.5 --0.0342551 0.0766309 -0.0244955 0.982427 0.5 --0.0343831 0.0766477 -0.0234928 0.772307 0.5 --0.0346365 0.0766699 -0.022492 0.583023 0.5 --0.0347632 0.076687 -0.0214942 0.394656 0.5 --0.0348898 0.0767003 -0.020496 0 0 --0.010458 0.0953808 -0.0330949 0.633362 0.5 --0.00943219 0.095325 -0.0330289 0.645211 0.5 --0.0193753 0.114664 -0.0174341 0.793027 0.5 -0.0159989 0.11444 -0.0153318 0.494284 0.380491 -0.0150842 0.114728 -0.0156323 0.532012 0.5 -0.0100557 0.112263 -0.0189498 0.800579 0.5 --0.0731505 0.0794744 -0.0135813 0.683447 0.5 --0.074125 0.079542 -0.012586 0.497906 0.5 --0.074863 0.0795889 -0.0115995 0.47673 0.5 --0.0755898 0.0796389 -0.010614 0.646637 0.5 --0.00855727 0.119157 -0.0142712 0.620434 0.5 --0.0778906 0.0797955 -0.00863863 0.452437 0.5 --0.0789135 0.0799145 -0.00757704 0.63621 0.5 --0.0796103 0.0799856 -0.0065507 0.637376 0.5 --0.0804662 0.0800422 -0.00555374 0.569954 0.5 --0.0810451 0.0800939 -0.00453207 0.417273 0.397802 --0.081408 0.0801232 -0.00353296 0.339707 0.456259 --0.0819076 0.08016 -0.00254028 0.334997 0.428232 --0.0823568 0.0802033 -0.00152209 0.344773 0.385903 --0.082746 0.0802849 -0.00049163 0.425325 0.459145 --0.083003 0.0803028 0.000504056 0.601403 0.5 --0.0833731 0.0803286 0.00149951 0.598131 0.5 --0.0838486 0.0803675 0.00250235 0.607528 0.5 --0.084323 0.0804069 0.00350409 0.618318 0.5 --0.0847861 0.0804507 0.00450965 0.462675 0.36105 --0.0852421 0.0804972 0.00551565 0.476887 0.469979 --0.0856435 0.0805169 0.00650219 0.41808 0.5 --0.0859756 0.0805547 0.00750576 0.588431 0.5 --0.0860997 0.0805682 0.0085045 0.659357 0.5 --0.0861137 0.0805676 0.00950062 0.680433 0.5 --0.086202 0.0805924 0.0105044 0.670551 0.5 --0.0863191 0.0806082 0.0115067 0.679895 0.372133 --0.0864769 0.0806081 0.0125015 0.697591 0.5 --0.086559 0.0806364 0.0135028 0.745389 0.5 --0.0864234 0.0806346 0.0145003 0.753888 0.5 --0.0864209 0.080641 0.0154973 0.767422 0.5 --0.0863191 0.0806349 0.0164939 0.787618 0.5 --0.0861064 0.0806138 0.0174966 0.618245 0.5 --0.0858462 0.0806083 0.01849 0.630527 0.5 --0.0855847 0.0806062 0.0194802 0.632009 0.488196 --0.0852141 0.0805923 0.0204766 0.638209 0.5 --0.0846192 0.0805533 0.0214764 0.837044 0.5 --0.0839745 0.0804809 0.0225006 0.838214 0.5 --0.0837154 0.0804764 0.0234959 0.785406 0.5 --0.0837382 0.0804711 0.0245022 0.757656 0.5 --0.083714 0.0804887 0.0254979 0.778078 0.5 --0.0835033 0.0804619 0.0265017 0.791412 0.5 -0.0218142 0.117368 -0.0105004 0.488016 0.469535 --0.0898716 0.133794 0.0302191 0.826332 0.5 --0.0743879 0.143042 -0.00684484 0.48448 0.5 --0.0756919 0.143067 -0.00582827 0.457416 0.5 --0.0775304 0.143071 -0.00473432 0.424823 0.5 --0.0898405 0.133789 0.0312158 0.839988 0.5 --0.08982 0.133788 0.032216 0.851818 0.5 --0.078067 0.144487 -0.00381208 0.443738 0.5 --0.0864962 0.112872 0.0280752 0.497488 0.45831 --0.0896495 0.146064 0.0111487 0.339073 0.0829918 --0.0769165 0.147253 -0.00586064 0.900956 0.5 --0.0751825 0.149958 -0.0238676 0.375609 0.5 --0.0793223 0.151473 0.000118749 0.544125 0.5 --0.0765864 0.155527 -0.0189073 0.339703 0.5 --0.0771455 0.156966 -0.0119003 0.901962 0.5 --0.0775564 0.166657 -0.0379504 0.337177 0.5 --0.0693729 0.175081 -0.056043 0.46373 0.468719 -0.0225495 0.119713 -0.00701355 0.597446 0.456174 --0.0630792 0.17626 -0.0613621 0.41716 0.5 --0.0512338 0.164096 -0.00192926 0.389108 0.5 --0.0720417 0.156813 -0.0379146 0.78208 0.5 --0.0729901 0.154042 -0.0338982 0.702346 0.5 --0.0908852 0.150208 0.0181276 0.499158 0.5 --0.0497129 0.165582 0.00102101 0.365587 0.411773 --0.075728 0.151337 -0.0208826 0.649535 0.5 --0.0767656 0.152802 -0.00889022 0.705017 0.5 --0.07299 0.158232 -0.0339184 0.483158 0.5 --0.074349 0.162439 -0.0349528 0.443476 0.447776 --0.0740612 0.16798 -0.0430295 0.42681 0.5 --0.0202891 0.184471 -0.0210772 0.329695 0.5 --0.0879643 0.115809 0.00328051 0.341709 0.5 --0.0898089 0.133793 0.0332137 0.849829 0.5 --0.0931866 0.124098 0.0112689 0.605575 0.5 -0.0176113 0.111464 -0.0161155 0.629569 0.462925 -0.00626863 0.114136 -0.0189815 0.534917 0.484866 --0.0535918 0.114983 -0.0155816 0.596096 0.5 --0.0136895 0.0952904 -0.0330103 0.637218 0.5 --0.0293835 0.0775974 -0.0345936 0.406558 0.5 --0.0305455 0.0776911 -0.0335901 0.516027 0.5 --0.0312863 0.0777611 -0.0325602 0.678336 0.5 --0.0319516 0.077812 -0.0315646 0.644634 0.5 --0.0323682 0.0778417 -0.0305703 0.620765 0.5 --0.0324762 0.0778813 -0.0295332 0.578697 0.420295 --0.0327059 0.0779055 -0.0285245 0.538959 0.437218 --0.0331798 0.0779303 -0.0275261 0.496694 0.5 --0.0338875 0.0780022 -0.0265044 0.495801 0.5 --0.0341434 0.0780256 -0.025502 0.521349 0.469289 --0.0342918 0.0780403 -0.0245107 0.426806 0.5 --0.0345153 0.0780634 -0.0235017 0.586393 0.5 --0.0346424 0.0780819 -0.0225024 0.394439 0.5 --0.0347689 0.0780934 -0.0215038 0.198402 0.5 --0.062019 0.17397 -0.0618399 0.41905 0.5 -0.0226855 0.103953 -0.0180758 0.503348 0.5 --0.0182701 0.114743 -0.017523 0.822125 0.5 -0.0188656 0.11384 -0.0146811 0.588136 0.462604 --0.0250407 0.11597 -0.0147569 0.858098 0.5 --0.0239792 0.115969 -0.0147616 0.854957 0.5 --0.0730191 0.0808411 -0.0145801 0.472058 0.5 --0.0739163 0.0808829 -0.0136046 0.481966 0.456126 --0.0747315 0.0809443 -0.0125955 0.491481 0.448568 --0.0755937 0.0809959 -0.0116148 0.450047 0.5 --0.0766495 0.0810868 -0.0106019 0.361733 0.5 --0.077886 0.0811556 -0.0096326 0.458705 0.5 --0.078886 0.0812827 -0.00855752 0.469718 0.5 --0.0794458 0.0813481 -0.00752304 0.689292 0.5 --0.0802136 0.0813857 -0.00655277 0.663106 0.5 --0.0810819 0.0814326 -0.00557353 0.61145 0.5 --0.0817169 0.081448 -0.00456785 0.327282 0.438748 --0.0823654 0.0815422 -0.00354068 0.328313 0.459142 --0.0828253 0.0815398 -0.00255091 0.331477 0.440361 --0.0831356 0.0816494 -0.00150376 0.424487 0.5 --0.0833287 0.0817012 -0.000498118 0.435054 0.387394 --0.0835863 0.0817078 0.00050138 0.439571 0.5 --0.0838449 0.0817176 0.00149669 0.58766 0.5 --0.0841291 0.0817203 0.00248105 0.624607 0.358494 --0.0845128 0.0817443 0.00347449 0.6208 0.5 --0.0849458 0.0817985 0.00448942 0.465562 0.5 --0.0852968 0.0818288 0.005494 0.47576 0.472253 --0.085793 0.0818712 0.00648437 0.425312 0.415196 --0.0861503 0.0818963 0.00748815 0.599302 0.5 --0.0862444 0.0819176 0.00849345 0.651309 0.5 --0.0863906 0.0819518 0.00951177 0.672696 0.401648 --0.0865124 0.0819745 0.0105022 0.681305 0.5 --0.0866257 0.081991 0.0115028 0.694405 0.5 --0.0866809 0.0819772 0.0124969 0.730111 0.378112 --0.0867126 0.0819778 0.0134931 0.727073 0.386679 --0.0867731 0.0820034 0.0144903 0.737547 0.5 --0.0866821 0.0819953 0.0154888 0.745129 0.5 --0.0865635 0.0819919 0.0164862 0.764679 0.5 --0.0864107 0.0819973 0.0174801 0.789222 0.5 --0.0861937 0.0819823 0.0184808 0.612048 0.5 --0.0859388 0.0819759 0.019473 0.62781 0.487779 --0.0856119 0.0819492 0.0204815 0.644301 0.5 --0.0850735 0.0819457 0.0214598 0.846089 0.5 --0.0843946 0.0818335 0.0225112 0.799463 0.5 --0.0842824 0.0818436 0.0235004 0.789192 0.355697 --0.084345 0.0818627 0.0244959 0.769365 0.5 --0.0842452 0.0818537 0.025498 0.783923 0.5 --0.0840796 0.0818676 0.0264914 0.62697 0.480009 --0.0837452 0.0818387 0.0274964 0.653878 0.5 --0.0898373 0.133802 0.0342135 0.835217 0.5 --0.0523382 0.161184 -0.00281855 0.238109 0.5 --0.0783198 0.147274 -0.0028373 0.434363 0.5 --0.088747 0.148763 0.0102254 0.411708 0.441423 --0.0787761 0.1431 -0.00379727 0.50944 0.5 --0.0899071 0.133806 0.0352156 0.588691 0.476051 --0.0792589 0.1445 -0.00280742 0.534536 0.5 --0.0801261 0.144525 -0.00183492 0.579423 0.5 --0.0756616 0.0695139 0.0239361 0.726397 0.5 --0.0905476 0.146077 0.0141502 0.419629 0.5 --0.076687 0.14724 -0.00686649 0.371425 0.5 --0.0752992 0.149965 -0.0228671 0.432809 0.5 --0.0783656 0.151459 -0.000884796 0.616361 0.5 --0.0769992 0.155545 -0.0179052 0.374104 0.46185 --0.0789979 0.165257 -0.0319521 0.468719 0.442073 --0.0701879 0.175082 -0.0550269 0.466481 0.5 --0.0129143 0.104805 -0.023047 0.626392 0.5 --0.073083 0.166616 -0.0429976 0.464777 0.392931 --0.0507685 0.164108 -0.00292996 0.407964 0.5 --0.0728984 0.156837 -0.0329194 0.697767 0.5 --0.0727818 0.154043 -0.034905 0.709438 0.5 --0.0903295 0.150229 0.0211233 0.530123 0.5 --0.0906536 0.150215 0.0201223 0.485477 0.5 --0.0758603 0.151341 -0.0198831 0.624896 0.5 --0.0765967 0.152807 -0.00988734 0.703016 0.5 --0.0731091 0.158237 -0.0329184 0.463238 0.5 --0.0717079 0.162415 -0.0429474 0.365725 0.425669 --0.00976599 0.121876 -0.011136 0.744471 0.5 --0.0210079 0.184692 -0.0198306 0.330472 0.33127 --0.0754641 0.149954 -0.0208706 0.421097 0.5 --0.0236634 0.123398 -0.00459221 0.499006 0.5 --0.0934182 0.124107 0.0122673 0.632719 0.5 -0.00528045 0.114267 -0.0191116 0.540485 0.5 --0.0524481 0.115128 -0.0157418 0.615765 0.5 -0.0553699 0.0651884 0.000788532 0.628404 0.43579 --0.0284578 0.0789297 -0.0355663 0.510197 0.469799 --0.0295859 0.0790353 -0.0345348 0.726067 0.5 --0.0304017 0.0791045 -0.033577 0.707908 0.5 --0.0311614 0.0791685 -0.0325602 0.623135 0.5 --0.031899 0.0792306 -0.0315346 0.598782 0.5 --0.0322859 0.0792627 -0.0305329 0.569436 0.5 --0.0325368 0.0792892 -0.0295289 0.536413 0.5 --0.0327803 0.0793117 -0.0285199 0.520107 0.460611 --0.0329958 0.0793378 -0.0275102 0.951037 0.5 --0.033504 0.079379 -0.0265108 0.884599 0.5 --0.0340215 0.0794269 -0.0255119 0.417784 0.5 --0.0343151 0.0794495 -0.0245241 0.343839 0.5 --0.0346304 0.079471 -0.0235463 0.254224 0.381284 --0.0353039 0.0794833 -0.0226806 0.112354 0 --0.0573945 0.0371513 -0.0102727 0.238385 0.5 -0.0207547 0.10431 -0.0184628 0.579962 0.482592 -0.0297172 0.11319 -0.0079908 0.659791 0.5 -0.00472897 0.0950887 -0.030676 0.803543 0.5 --0.0271235 0.11599 -0.0147668 0.614605 0.5 --0.0416312 0.117641 -0.0144485 0.692618 0.5 --0.0426472 0.117732 -0.0145554 0.676899 0.5 --0.0740187 0.0822617 -0.01463 0.389122 0.470232 --0.0749535 0.0823401 -0.0135889 0.488386 0.5 --0.0756827 0.0823892 -0.0125945 0.484509 0.5 --0.0766222 0.0824671 -0.0115781 0.458038 0.46911 --0.0777262 0.0825344 -0.0106004 0.503437 0.5 --0.0788426 0.0825957 -0.0096075 0.388145 0.464633 --0.0795322 0.0826724 -0.00859002 0.492402 0.5 --0.0800112 0.0826849 -0.00756298 0.682599 0.306549 --0.0807043 0.0827741 -0.00656651 0.632446 0.5 --0.0816591 0.0828436 -0.00556986 0.556014 0.5 --0.0826039 0.0829175 -0.00455606 0.498554 0.5 --0.0833629 0.0829469 -0.00357326 0.291686 0.5 --0.0839827 0.0830482 -0.0025149 0.367783 0.5 --0.0843197 0.0830919 -0.00150258 0.424686 0.5 --0.0844141 0.083121 -0.000497419 0.443293 0.5 --0.0846694 0.0831371 0.000497005 0.434911 0.406758 --0.0850182 0.0831804 0.00149618 0.447321 0.405251 --0.0850671 0.0831487 0.00248224 0.438514 0.383381 --0.085494 0.083212 0.00349969 0.418742 0.5 --0.0856607 0.0832001 0.00448541 0.614394 0.5 --0.0859248 0.0832079 0.00547822 0.503059 0.34354 --0.0861846 0.083225 0.00647736 0.570376 0.5 --0.0862277 0.0832671 0.00749085 0.642203 0.5 --0.0863077 0.083293 0.0084931 0.68266 0.5 --0.086438 0.0832915 0.00949498 0.702349 0.391399 --0.0865698 0.0833108 0.0104907 0.684931 0.393861 --0.0866662 0.0833296 0.0114916 0.700614 0.5 --0.0866888 0.0833263 0.0124872 0.738657 0.5 --0.0867616 0.0833332 0.0134846 0.766706 0.368871 --0.0867571 0.0833567 0.0144816 0.742894 0.5 --0.0866936 0.0833424 0.0154842 0.73092 0.5 --0.0865991 0.0833319 0.0164838 0.754462 0.5 --0.086501 0.0833246 0.0174861 0.772406 0.5 --0.0864179 0.083353 0.0184733 0.612748 0.5 --0.0861267 0.0833147 0.0194823 0.618897 0.485937 --0.0858835 0.0833066 0.0204824 0.828647 0.5 --0.0855025 0.0832965 0.0214753 0.830479 0.5 --0.0851368 0.0832799 0.0224738 0.80671 0.5 --0.0846445 0.0832051 0.023501 0.790067 0.5 --0.0845698 0.0831877 0.0245094 0.814757 0.5 --0.0845601 0.0832447 0.0254813 0.80497 0.5 --0.0844285 0.0832425 0.0264792 0.798177 0.5 --0.0841359 0.0832101 0.027497 0.6384 0.5 --0.0899789 0.133805 0.0362152 0.60139 0.5 --0.0917617 0.141982 0.0191718 0.58379 0.5 --0.091634 0.141989 0.0201675 0.655388 0.5 --0.0899902 0.146067 0.012148 0.392848 0.5 --0.0797197 0.143117 -0.0027917 0.602831 0.5 --0.0887185 0.143427 0.0331607 0.87147 0.5 --0.0834729 0.144593 0.00316535 0.401978 0.405251 --0.0716625 0.145448 -0.0198949 0.195119 0 --0.0366243 0.151025 -0.00298791 0.384062 0.5 --0.0898169 0.147438 0.0111767 0.410597 0.5 -0.0313027 0.114101 -0.00492854 0.647781 0.455637 --0.0846698 0.148755 0.00515607 0.613381 0.5 --0.0908832 0.150197 0.0161314 0.431058 0.5 --0.0748416 0.154048 -0.0189002 0.535072 0.440177 --0.0754952 0.15561 -0.00190651 0.247973 0.5 --0.0790033 0.16525 -0.0329555 0.439961 0.5 --0.010699 0.104948 -0.0231645 0.700683 0.5 --0.080949 0.137599 -0.00280806 0.695898 0.5 --0.0900062 0.133811 0.0372136 0.60674 0.5 --0.0500022 0.16408 -0.00389251 0.27682 0.5 --0.0730192 0.156843 -0.0319176 0.682362 0.5 --0.0727415 0.154031 -0.0358995 0.713639 0.5 --0.0900812 0.150215 0.0221142 0.381084 0.471202 --0.0722746 0.15542 -0.0369062 0.771543 0.5 --0.0759474 0.151351 -0.0188826 0.631865 0.5 --0.0751782 0.152724 -0.0149145 0.668348 0.5 --0.0733241 0.158247 -0.0319134 0.461116 0.5 --0.0705096 0.1624 -0.046948 0.379835 0.462544 --0.021676 0.184465 -0.0190713 0.321483 0.5 --0.0938558 0.126876 0.0162567 0.77813 0.5 -0.0305816 0.112813 -0.00758269 0.668611 0.5 --0.0936376 0.124116 0.0132691 0.681704 0.5 --0.0502854 0.11522 -0.0158495 0.665516 0.5 --0.0513475 0.115214 -0.0158415 0.642094 0.5 --0.0580499 0.11553 -0.0140963 0.572918 0.5 --0.0285168 0.0803552 -0.0356291 0.48086 0.471486 --0.0294013 0.0804353 -0.034602 0.66924 0.5 --0.0302691 0.080511 -0.0335682 0.627475 0.5 --0.0309197 0.0805646 -0.0325792 0.400279 0.474681 --0.0316705 0.0806285 -0.0315587 0.35923 0.5 --0.0321423 0.0806683 -0.0305334 0.519837 0.5 --0.0326422 0.080708 -0.0295257 0.518699 0.5 --0.0328741 0.0807299 -0.0285171 0.980014 0.5 --0.0330023 0.0807475 -0.0275162 0.95443 0.5 --0.0333828 0.0807789 -0.0265175 0.94181 0.5 --0.0337955 0.0808164 -0.0255276 0.433296 0.5 --0.0342171 0.0808501 -0.0245506 0.363788 0.5 --0.0346997 0.0808739 -0.0236048 0.308137 0.5 --0.0364431 0.0379518 -0.0296736 0.270935 0.441303 --0.0231503 0.121506 -0.00857745 0.429367 0.5 -0.0224677 0.112582 -0.013341 0.57483 0.384304 -0.0252174 0.115733 -0.00872379 0.497924 0.5 --0.0261028 0.115949 -0.0147279 0.612256 0.5 --0.0406505 0.117474 -0.0142631 0.704926 0.5 --0.0324809 0.117911 -0.0127388 0.746375 0.5 --0.0314168 0.117929 -0.0127586 0.757176 0.5 --0.0747046 0.0837005 -0.0145969 0.697391 0.5 --0.0756553 0.0837701 -0.0135751 0.497679 0.5 --0.0763952 0.0838159 -0.0125906 0.487088 0.5 --0.077345 0.0838842 -0.0115833 0.68444 0.5 --0.0783276 0.0839475 -0.0105972 0.489416 0.5 --0.0792621 0.084024 -0.00957002 0.693435 0.5 --0.0798951 0.0840617 -0.00859358 0.507723 0.5 --0.0803392 0.0841108 -0.00756769 0.700692 0.5 --0.0811308 0.0841829 -0.00653469 0.655568 0.5 --0.0822314 0.0842513 -0.00555381 0.606619 0.5 --0.0830843 0.0843065 -0.0045636 0.559152 0.5 --0.0839142 0.0843714 -0.00355138 0.502952 0.5 --0.0846111 0.084433 -0.00253466 0.368575 0.5 --0.0849678 0.0844642 -0.00152644 0.333674 0.458893 --0.0852858 0.0845126 -0.000515374 0.337948 0.42446 --0.0856455 0.0845341 0.000486997 0.33454 0.5 --0.0860138 0.0845642 0.00148082 0.338464 0.453807 --0.0864815 0.0846104 0.00248575 0.350454 0.407143 --0.0868299 0.0846427 0.00348465 0.368583 0.465055 --0.0870453 0.0846718 0.00449266 0.499586 0.5 --0.0870945 0.0846532 0.00548002 0.548084 0.5 --0.0871031 0.0846537 0.0064784 0.634669 0.5 --0.086966 0.0846591 0.00747852 0.700575 0.5 --0.0868004 0.0846768 0.00848321 0.740846 0.5 --0.086804 0.0846773 0.00948205 0.670109 0.5 --0.0869453 0.0846809 0.01048 0.64356 0.5 --0.0870838 0.0846865 0.0114769 0.679797 0.5 --0.0870566 0.0847034 0.0124776 0.752229 0.5 --0.0869081 0.0847086 0.0134765 0.7966 0.5 --0.0868853 0.0847213 0.0144753 0.811027 0.5 --0.0868133 0.0846987 0.0154763 0.756972 0.5 --0.086761 0.084678 0.016478 0.756187 0.5 --0.086829 0.0847067 0.0174745 0.755643 0.5 --0.0867621 0.084687 0.0184803 0.777197 0.5 --0.0866231 0.0846922 0.0194779 0.792655 0.5 --0.0864956 0.084691 0.0204775 0.800082 0.5 --0.0862565 0.0846802 0.0214754 0.803533 0.5 --0.0861039 0.0846923 0.0224682 0.812553 0.5 --0.0857911 0.0847131 0.0234468 0.81276 0.5 --0.085128 0.0845897 0.0244984 0.635139 0.5 --0.0848476 0.0845966 0.0254873 0.826382 0.5 --0.0846364 0.0845811 0.0264985 0.641251 0.5 --0.0899225 0.133822 0.0382154 0.630954 0.46721 --0.0897633 0.133813 0.0392039 0.641589 0.5 --0.085403 0.141865 0.00516647 0.463398 0.5 --0.0910722 0.141959 0.0151878 0.562495 0.5 --0.0890108 0.142042 0.0341592 0.862697 0.5 --0.08762 0.143285 0.0101199 0.618467 0.5 --0.0889467 0.143422 0.0321606 0.881127 0.5 --0.0839561 0.144602 0.00415973 0.401005 0.5 --0.0757697 0.145819 -0.00688494 0.481482 0.5 --0.0914628 0.146095 0.0181484 0.497127 0.5 --0.089139 0.139182 0.0122002 0.453134 0.5 --0.0861526 0.148758 0.00721004 0.607072 0.5 --0.0853634 0.14876 0.00617316 0.601766 0.5 --0.0888439 0.150092 0.0112242 0.316086 0.412966 --0.0743362 0.15411 -0.0219057 0.579771 0.5 --0.0545091 0.161256 6.9518e-05 0.202143 0.5 --0.078769 0.165248 -0.0339573 0.379437 0.5 --0.0321404 0.106348 -0.0206098 0.806789 0.5 --0.0816586 0.137613 -0.00180043 0.66291 0.5 --0.0846496 0.129332 -0.00265191 0.541928 0.5 --0.0492398 0.164062 -0.00484765 0.316762 0.5 --0.0743438 0.156862 -0.0249223 0.370997 0.454744 --0.0725366 0.154032 -0.0369032 0.727756 0.5 --0.0891677 0.150225 0.0241083 0.331631 0.5 --0.0699623 0.155307 -0.0499609 0.292087 0.5 --0.0721646 0.155417 -0.0379087 0.73445 0.5 --0.0759412 0.151358 -0.0178788 0.634578 0.5 --0.0749763 0.152739 -0.0169005 0.673938 0.5 --0.0734754 0.158245 -0.0309204 0.455443 0.5 --0.070167 0.162396 -0.0479528 0.387091 0.463335 --0.0192518 0.185941 -0.0210687 0.27681 0.291977 --0.0920162 0.126943 0.0352547 0.821181 0.5 --0.093776 0.124126 0.0142628 0.712382 0.5 --0.0522762 0.123638 -0.00859751 0.743809 0.5 -0.0210264 0.0895934 -0.0248804 0.689553 0.5 -0.0387097 0.105846 2.20656e-05 0.569317 0.461661 --0.0286135 0.0817842 -0.0355888 0.480453 0.5 --0.0292965 0.0818454 -0.0346209 0.702753 0.5 --0.030041 0.0819074 -0.0335886 0.607897 0.5 --0.0306482 0.0819602 -0.032565 0.583654 0.5 --0.0311686 0.0820079 -0.0315681 0.522806 0.5 --0.0320154 0.082069 -0.0305372 0.509812 0.5 --0.032545 0.0821172 -0.0295502 0.547675 0.5 --0.0327877 0.082138 -0.0285334 0.53895 0.446135 --0.0331507 0.0821697 -0.0275285 0.513077 0.460748 --0.0333885 0.082189 -0.0265241 0.960417 0.5 --0.0336642 0.082217 -0.0255373 0.425831 0.5 --0.034171 0.0822565 -0.0245355 0.358336 0.5 --0.0348253 0.0822923 -0.0236386 0.356523 0.5 -0.0130456 0.0946785 -0.0262358 0.458564 0.469807 -0.0230175 0.0903576 -0.0236845 0.646946 0.5 -0.0322433 0.0896617 -0.0189276 0.756225 0.5 -0.0190214 0.118116 -0.0113006 0.460449 0.427793 --0.016169 0.117727 -0.0146898 0.755327 0.294821 --0.033579 0.117839 -0.0126505 0.781947 0.5 --0.0591392 0.118534 -0.0111826 0.563599 0.458111 --0.0615874 0.117934 -0.0105067 0.564031 0.5 --0.0750334 0.0851031 -0.01456 0.50677 0.5 --0.0760973 0.0851761 -0.013541 0.715989 0.5 --0.0768599 0.0852186 -0.0125783 0.709737 0.5 --0.077715 0.0852782 -0.0115916 0.702678 0.5 --0.0786706 0.0853441 -0.0105854 0.69884 0.5 --0.0794952 0.0854073 -0.00956797 0.689404 0.5 --0.0801763 0.0854684 -0.0085384 0.710323 0.30356 --0.0806595 0.0855046 -0.00754297 0.701847 0.5 --0.0814052 0.08555 -0.00656718 0.647906 0.5 --0.0824519 0.0856305 -0.00554258 0.402052 0.5 --0.0834123 0.0856961 -0.00454328 0.558564 0.5 --0.0842614 0.0857549 -0.00354776 0.400958 0.5 --0.0848416 0.0858026 -0.00253503 0.402032 0.446741 --0.0852938 0.0858468 -0.00152115 0.424996 0.426557 --0.0856596 0.0858717 -0.000523015 0.425364 0.422235 --0.0861402 0.0859086 0.000475654 0.414972 0.435161 --0.0866097 0.0859466 0.00148078 0.352681 0.5 --0.08699 0.0859713 0.00247197 0.370752 0.446883 --0.0874441 0.0860134 0.00347726 0.384645 0.450519 --0.0877934 0.0860475 0.0044818 0.412296 0.5 --0.0879813 0.0860844 0.0054873 0.573233 0.5 --0.0879792 0.086094 0.00648058 0.630733 0.5 --0.0878523 0.0860961 0.00747941 0.662068 0.5 --0.0877357 0.0860979 0.0084778 0.643427 0.5 --0.0878555 0.0861109 0.00948006 0.611867 0.5 --0.0881094 0.0861284 0.0104766 0.590374 0.5 --0.0882347 0.0861347 0.011472 0.597946 0.5 --0.0881632 0.0861128 0.0124706 0.665472 0.5 --0.0878748 0.0861246 0.0134664 0.748959 0.5 --0.0874341 0.0860792 0.0144694 0.756809 0.5 --0.0875304 0.0861027 0.015468 0.722149 0.5 --0.087695 0.0860952 0.016472 0.7029 0.5 --0.0877886 0.0861226 0.0174689 0.728921 0.5 --0.087689 0.0861087 0.0184696 0.756954 0.5 --0.0875543 0.0861148 0.0194651 0.774578 0.5 --0.0874212 0.0861211 0.0204627 0.605374 0.5 --0.0871923 0.0861012 0.021463 0.620313 0.483551 --0.0869334 0.0861006 0.0224549 0.631233 0.481066 --0.0865732 0.0860822 0.023453 0.648936 0.5 --0.0108803 0.105927 -0.0227775 0.673103 0.5 --0.0917004 0.143358 0.0201656 0.620964 0.5 --0.0914397 0.143364 0.0211639 0.714151 0.5 --0.0884925 0.144689 0.01017 0.41788 0.5 --0.0714237 0.153981 -0.0448933 0.406895 0.5 --0.0857362 0.141867 0.00617644 0.500248 0.5 --0.0915766 0.14196 0.0161629 0.343539 0.5 --0.0891584 0.142048 0.0331685 0.871853 0.5 --0.0882036 0.143298 0.0111345 0.586671 0.5 --0.0748382 0.149925 -0.0278668 0.345511 0.5 --0.0843436 0.144613 0.00514953 0.585846 0.387455 --0.0754983 0.145823 -0.00786764 0.350343 0.451618 --0.091547 0.146101 0.0191506 0.551403 0.5 --0.0753389 0.14722 -0.0108566 0.316634 0.395416 --0.0879015 0.148743 0.00925863 0.408453 0.5 --0.0761052 0.14997 -0.0158781 0.685883 0.5 --0.0880403 0.150094 0.0102212 0.313945 0.5 --0.0742127 0.154103 -0.0229066 0.61632 0.5 --0.0709313 0.156768 -0.044906 0.555887 0.5 --0.0781795 0.165241 -0.0349583 0.355802 0.5 --0.0857975 0.0926505 0.000473688 0.700272 0.5 --0.0826495 0.137607 -0.000712655 0.619932 0.5 --0.0876587 0.151372 0.0112162 0.242557 0.5 --0.0482842 0.164088 -0.00583628 0.328763 0.316713 --0.0746075 0.156859 -0.0239292 0.359793 0.443823 --0.0725073 0.154019 -0.0378993 0.605666 0.5 --0.0886058 0.150235 0.0251076 0.329518 0.439732 --0.0877217 0.151511 0.024071 0.292464 0.5 --0.0912353 0.14886 0.0211316 0.736549 0.5 --0.0759388 0.151364 -0.016882 0.672806 0.5 --0.074971 0.152728 -0.0179063 0.616519 0.5 --0.0739864 0.158247 -0.0289285 0.313602 0.5 --0.0699136 0.162391 -0.0489495 0.490145 0.5 --0.0199993 0.185902 -0.0200623 0.228505 0.5 --0.0840153 0.1376 0.000355984 0.634187 0.5 --0.0939 0.124133 0.015262 0.524396 0.5 --0.0171637 0.0956465 -0.0313986 0.465422 0.440287 -0.0252334 0.114772 -0.00969056 0.525353 0.449343 --0.0283933 0.0831937 -0.0356194 0.48892 0.456665 --0.0291817 0.0832547 -0.0346104 0.496397 0.277093 --0.0297803 0.0833036 -0.0335871 0.612721 0.5 --0.0303956 0.0833549 -0.0325649 0.592624 0.5 --0.0307989 0.0833965 -0.031578 0.56506 0.5 --0.0315196 0.0834471 -0.0305496 0.480778 0.5 --0.0322701 0.0835031 -0.0295487 0.350403 0.460518 --0.0326786 0.0835446 -0.0285522 0.502337 0.5 --0.0328837 0.0835575 -0.0275315 0.736169 0.5 --0.0332667 0.0835875 -0.0265323 0.734012 0.5 --0.0336364 0.0836212 -0.0255231 0.426638 0.5 --0.0343312 0.0836736 -0.0246034 0.292599 0.437794 --0.0349846 0.0837189 -0.0236297 0.356714 0.246036 --0.00865052 0.104822 -0.0230347 0.728002 0.5 --0.0940576 0.125561 0.0242759 0.660891 0.5 --0.0942583 0.125557 0.0232684 0.637956 0.5 --0.0598599 0.0358888 0.0454954 0.410393 0.5 -0.0277899 0.116538 -0.00556904 0.528413 0.485121 --0.0394946 0.119701 -0.0126173 0.680761 0.5 --0.0603705 0.118249 -0.0108601 0.566898 0.5 --0.00441308 0.12096 -0.0123131 0.622826 0.460846 --0.0752375 0.0864841 -0.0145142 0.381996 0.5 --0.0762362 0.0865455 -0.0135615 0.527264 0.5 --0.0770884 0.0866038 -0.0125752 0.712747 0.5 --0.0779306 0.0866645 -0.0115691 0.689951 0.5 --0.0787615 0.0867217 -0.0105634 0.69759 0.5 --0.0795726 0.0867837 -0.00954059 0.696877 0.5 --0.0801984 0.0868229 -0.00856132 0.739873 0.5 --0.0808035 0.0868637 -0.00756861 0.707431 0.5 --0.0816708 0.0869142 -0.00660013 0.63617 0.5 --0.0825962 0.0869865 -0.00556699 0.385148 0.477598 --0.0836382 0.0870656 -0.00453769 0.508685 0.5 --0.0843646 0.087116 -0.00354087 0.520083 0.5 --0.0849546 0.0871617 -0.00253673 0.392761 0.443779 --0.0853984 0.0872002 -0.00151975 0.417556 0.433031 --0.0857724 0.0872268 -0.000524277 0.412804 0.424563 --0.0863511 0.0872693 0.000483167 0.407101 0.439128 --0.0868392 0.0873072 0.00147849 0.434575 0.5 --0.0873232 0.0873446 0.00247822 0.460596 0.330076 --0.0877048 0.0873692 0.00346654 0.470801 0.5 --0.0880447 0.0874003 0.00446864 0.506916 0.460159 --0.0883598 0.0874311 0.00547496 0.438947 0.5 --0.0884279 0.0874564 0.00647862 0.612281 0.5 --0.0884282 0.0874635 0.00747939 0.614332 0.5 --0.0884304 0.0874699 0.00847782 0.593618 0.5 --0.088608 0.0874693 0.0094764 0.587048 0.339724 --0.088847 0.0874807 0.0104655 0.571436 0.5 --0.0889313 0.0875027 0.0114635 0.599992 0.5 --0.0889154 0.0875162 0.0124615 0.647429 0.5 --0.0887218 0.0874968 0.0134639 0.687153 0.5 --0.0883906 0.0874807 0.0144622 0.691648 0.5 --0.0883909 0.0874867 0.0154625 0.659052 0.5 --0.088603 0.087513 0.0164636 0.650562 0.5 --0.0886021 0.087516 0.0174642 0.721263 0.5 --0.0885609 0.087538 0.0184581 0.754258 0.5 --0.0883581 0.0875191 0.0194553 0.603669 0.486476 --0.0881537 0.0875035 0.020457 0.621004 0.482632 --0.0878269 0.087472 0.021463 0.644723 0.5 --0.0875265 0.087486 0.0224433 0.660874 0.5 --0.0871517 0.0874756 0.0234341 0.665938 0.471332 --0.075265 0.148568 -0.0158698 0.450975 0.5 --0.0913716 0.140622 0.0201693 0.69553 0.5 --0.0902457 0.140661 0.0271695 0.693026 0.5 --0.0892399 0.140676 0.0351725 0.609412 0.5 --0.081175 0.14869 0.00117764 0.560158 0.5 --0.0802179 0.141741 -0.00280512 0.634092 0.5 --0.0903128 0.141958 0.0142327 0.590343 0.5 --0.0887949 0.142048 0.03516 0.851628 0.5 --0.088758 0.143311 0.0121502 0.557881 0.5 --0.0731059 0.151228 -0.0378853 0.412103 0.5 --0.0848994 0.144621 0.00617242 0.546104 0.5 --0.0751346 0.145812 -0.00886348 0.30497 0.5 --0.0916156 0.146104 0.0201482 0.606437 0.5 --0.0913297 0.148826 0.016141 0.639385 0.5 --0.0757782 0.149978 -0.0188682 0.423126 0.5 --0.0760543 0.149976 -0.0168736 0.539876 0.5 --0.0746657 0.154121 -0.0198989 0.962512 0.5 --0.0744527 0.154114 -0.0209063 0.564418 0.5 --0.0685681 0.156629 -0.0529972 0.300927 0.365255 --0.0713082 0.165213 -0.0459899 0.361232 0.421719 -0.0143403 0.11733 -0.0144441 0.532418 0.5 --0.0852773 0.137655 0.00128094 0.586922 0.5 --0.0798492 0.140347 -0.0037915 0.679412 0.5 --0.0472303 0.164057 -0.00679428 0.354371 0.5 --0.0750921 0.156856 -0.022942 0.344586 0.5 --0.0723124 0.154022 -0.038905 0.565969 0.5 --0.0881372 0.150234 0.0261027 0.317371 0.449221 --0.0723819 0.152607 -0.0408904 0.410916 0.5 --0.0916005 0.147489 0.0211447 0.60552 0.5 --0.0754488 0.151352 -0.0128993 0.823619 0.5 --0.0748173 0.152727 -0.0208966 0.588606 0.5 --0.0763594 0.158279 -0.023921 0.359758 0.5 --0.0695999 0.162389 -0.0499627 0.496575 0.457155 --0.0205087 0.18589 -0.0190712 0.29965 0.5 --0.0860712 0.137702 0.0022107 0.535194 0.5 --0.0945603 0.124158 0.0182654 0.561643 0.5 --0.0930288 0.116051 0.018311 0.748931 0.5 -0.024446 0.115337 -0.010308 0.500169 0.5 --0.0281178 0.0845911 -0.0356125 0.483208 0.5 --0.0289152 0.0846603 -0.0346291 0.497194 0.5 --0.0294308 0.0847062 -0.0336139 0.660192 0.5 --0.0299377 0.0847457 -0.0326018 0.593391 0.5 --0.0305175 0.0847809 -0.0315638 0.576964 0.5 --0.0309131 0.0848198 -0.0305724 0.528305 0.5 --0.0315498 0.0848744 -0.0295692 0.350623 0.5 --0.0320496 0.0849187 -0.0285721 0.348074 0.400967 --0.0324125 0.0849398 -0.0275574 0.406954 0.5 --0.0326967 0.0849828 -0.026556 0.332173 0.390752 --0.0332116 0.0851655 -0.0254848 0.30619 0.379153 --0.0347045 0.0851136 -0.0245778 0.344716 0.5 --0.0353285 0.0851433 -0.0237512 0.373442 0.5 --0.00967624 0.104885 -0.0231041 0.722974 0.5 --0.0935493 0.125561 0.0262639 0.694607 0.5 --0.0938092 0.125562 0.0252741 0.533675 0.5 --0.0856504 0.126624 -0.00269798 0.631799 0.5 -0.0312024 0.114939 -0.00384217 0.519208 0.5 --0.0835389 0.110217 0.0023021 0.461621 0.475467 --0.0345505 0.175605 -0.011982 0.362302 0.5 --0.00231596 0.121888 -0.0112268 0.600435 0.5 --0.00640927 0.120163 -0.0133583 0.597642 0.478453 --0.0762132 0.0879097 -0.0135406 0.476865 0.5 --0.0771177 0.0879695 -0.0126012 0.711198 0.5 --0.0780353 0.0880327 -0.0115615 0.69953 0.5 --0.0786364 0.0880738 -0.010561 0.704701 0.5 --0.0793362 0.0881239 -0.0095476 0.700043 0.5 --0.0801014 0.0881671 -0.00858727 0.736518 0.5 --0.0809514 0.0882189 -0.0076035 0.702663 0.5 --0.0820513 0.0882817 -0.00662822 0.596261 0.5 --0.082997 0.0883523 -0.00560613 0.524245 0.5 --0.0838035 0.0884157 -0.00457068 0.49448 0.5 --0.084499 0.088474 -0.00355332 0.48619 0.5 --0.0849643 0.0885105 -0.00254627 0.519179 0.436349 --0.0854224 0.0885478 -0.00153705 0.557536 0.5 --0.0857793 0.088721 -0.000547834 0.573009 0.405399 --0.0862272 0.0886081 0.000477626 0.389847 0.5 --0.0868019 0.0886457 0.00149241 0.422557 0.5 --0.0873123 0.0886781 0.00248146 0.44186 0.341768 --0.0877889 0.0887187 0.00347532 0.463736 0.5 --0.0881443 0.0887489 0.00447233 0.49483 0.5 --0.0884641 0.0887716 0.00547605 0.528969 0.467185 --0.0886025 0.0887878 0.00646717 0.552032 0.5 --0.088793 0.0888086 0.00747102 0.575822 0.5 --0.0889223 0.0888194 0.00846703 0.576047 0.5 --0.0890554 0.0888307 0.00946144 0.565856 0.5 --0.0892473 0.0888575 0.0104669 0.576965 0.5 --0.0893459 0.0888735 0.0114634 0.593237 0.5 --0.0892808 0.0888643 0.0124572 0.624695 0.5 --0.0892338 0.0888828 0.0134587 0.655785 0.5 --0.0891206 0.0888853 0.014456 0.641868 0.5 --0.0891212 0.0888935 0.0154552 0.642592 0.5 --0.0891941 0.0888738 0.0164555 0.654538 0.5 --0.0891756 0.088886 0.0174542 0.694356 0.5 --0.0891252 0.0889064 0.0184472 0.737567 0.5 --0.0889386 0.0888873 0.0194501 0.746043 0.5 --0.0887231 0.0888754 0.0204484 0.600034 0.5 --0.0884531 0.0888833 0.0214341 0.610892 0.481775 --0.0881282 0.0888644 0.0224361 0.624885 0.476148 --0.0877229 0.0888584 0.0234132 0.668107 0.5 --0.0855097 0.129367 -0.00169404 0.584164 0.5 --0.0910616 0.140621 0.0211716 0.791815 0.5 --0.090351 0.14066 0.0261698 0.687106 0.5 --0.088994 0.140671 0.0361625 0.608214 0.5 --0.0776115 0.15005 -0.0049035 0.433446 0.5 --0.0809405 0.141759 -0.00181375 0.655383 0.5 --0.0882134 0.141936 0.0111996 0.596289 0.5 --0.0884618 0.142054 0.0361609 0.588253 0.479721 --0.086972 0.143283 0.00915353 0.596496 0.5 --0.0459359 0.168402 -0.00594095 0.477067 0.5 --0.0856199 0.144636 0.00717286 0.571222 0.5 --0.0740398 0.145796 -0.011857 0.208836 0.359505 --0.0915979 0.146114 0.0211525 0.648313 0.5 --0.0912059 0.14882 0.0151457 0.611197 0.5 --0.07594 0.14997 -0.0178724 0.536959 0.5 --0.0774831 0.151439 -0.0048996 0.462682 0.5 --0.0769695 0.154154 -0.0139015 0.617094 0.5 --0.0765957 0.161076 -0.0289322 0.410615 0.5 --0.0188044 0.120762 -0.00982397 0.698303 0.5 --0.0865466 0.137714 0.00320362 0.396842 0.43087 --0.0706693 0.165215 -0.0479768 0.371337 0.5 --0.0651923 0.176525 -0.0608469 0.318215 0.5 --0.0639487 0.168098 -0.0606895 0.311127 0.5 --0.0461075 0.164061 -0.00779976 0.413308 0.5 --0.0760167 0.15688 -0.0219252 0.343174 0.5 --0.0721764 0.154012 -0.0399025 0.56516 0.5 --0.0288404 0.0972702 -0.0238091 0.576696 0.5 --0.0915313 0.147463 0.0171482 0.489866 0.5 --0.0916539 0.147467 0.0181472 0.535507 0.5 --0.0755105 0.151351 -0.0138965 0.749305 0.5 --0.0749324 0.152731 -0.0198994 0.563156 0.5 --0.0754549 0.158227 -0.0249553 0.362486 0.407252 --0.0686632 0.162379 -0.0529737 0.404247 0.5 --0.00173319 0.108975 -0.0214067 0.715377 0.5 --0.0943409 0.12415 0.0172628 0.534151 0.4791 -0.0242293 0.119847 -0.00515511 0.611205 0.5 --0.0393568 0.123991 -0.00912015 0.609471 0.5 --0.0623267 0.035582 -0.00867786 0.279509 0.5 --0.0273795 0.0859709 -0.0356537 0.502926 0.5 --0.0284012 0.0860445 -0.0346283 0.500477 0.5 --0.0291377 0.0860908 -0.0335904 0.667366 0.5 --0.0295614 0.0861399 -0.0326125 0.621355 0.5 --0.0300453 0.0861604 -0.0315778 0.591315 0.368367 --0.0304105 0.0861968 -0.0305753 0.561003 0.5 --0.0308996 0.0862326 -0.0295626 0.515531 0.5 --0.0313945 0.0862693 -0.0285563 0.492816 0.5 --0.0317716 0.0863018 -0.027557 0.424877 0.5 --0.032145 0.0863362 -0.0265533 0.358317 0.351209 --0.0326605 0.0863757 -0.0255732 0.225534 0.5 --0.0351444 0.0865581 -0.0244792 0.351811 0.5 -0.0268857 0.117842 -0.00498093 0.51549 0.5 --0.0519318 0.0352921 -0.0124585 0.159841 0.5 --0.0910261 0.12541 0.00626868 0.420689 0.5 --0.0932418 0.125562 0.0272746 0.704351 0.5 --0.0866088 0.126656 -0.00171455 0.697219 0.5 --0.0909462 0.11476 0.0333322 0.415825 0.448147 --0.0841444 0.110242 0.00330414 0.446953 0.5 --0.0876151 0.1105 0.015342 0.527105 0.5 --0.00216638 0.09997 -0.023881 0.784591 0.5 --0.00853806 0.120181 -0.0133625 0.813645 0.5 --0.076206 0.0892711 -0.0135327 0.478746 0.461305 --0.0771941 0.0893363 -0.0125642 0.502881 0.5 --0.0779429 0.0893818 -0.0115854 0.706663 0.5 --0.0785236 0.0894249 -0.0105705 0.719973 0.5 --0.0792595 0.0894709 -0.0095871 0.718317 0.5 --0.0801272 0.0895173 -0.00861746 0.724596 0.5 --0.0810295 0.0895599 -0.00769505 0.672072 0.5 --0.082525 0.0896742 -0.00660526 0.321666 0.46338 --0.0835634 0.0897492 -0.00557879 0.505218 0.5 --0.084275 0.0897993 -0.00457099 0.484558 0.5 --0.0848366 0.0898781 -0.00356125 0.403177 0.421858 --0.0851803 0.0899483 -0.00256663 0.440294 0.428448 --0.0854479 0.0898939 -0.00155092 0.607521 0.5 --0.0856512 0.0899172 -0.000541045 0.626373 0.5 --0.0859012 0.0899317 0.000454719 0.601543 0.5 --0.0864523 0.0899653 0.00147962 0.382077 0.406075 --0.0870489 0.0900041 0.00248653 0.414861 0.402826 --0.0875561 0.0900472 0.00346813 0.43108 0.5 --0.087913 0.0900756 0.00446758 0.467505 0.5 --0.0882504 0.0900881 0.0054683 0.506875 0.45817 --0.0885745 0.0901142 0.00646846 0.528345 0.4685 --0.0887995 0.0901451 0.00746775 0.54462 0.5 --0.0889579 0.0901579 0.00845534 0.548727 0.5 --0.0891635 0.0901786 0.00945748 0.771094 0.5 --0.0893735 0.0901981 0.0104595 0.793312 0.5 --0.0895062 0.0902087 0.0114561 0.586712 0.5 --0.0895421 0.090213 0.0124508 0.617381 0.5 --0.0896067 0.0902304 0.0134498 0.623268 0.5 --0.0895436 0.0902218 0.014448 0.614718 0.5 --0.0896121 0.0902414 0.0154476 0.627825 0.5 --0.089636 0.0902445 0.0164491 0.650784 0.428877 --0.0895621 0.0902365 0.017449 0.67664 0.5 --0.0895055 0.0902528 0.0184453 0.696018 0.5 --0.0893681 0.0902559 0.0194368 0.536984 0.5 --0.0891009 0.0902275 0.0204481 0.560415 0.476419 --0.0888276 0.090232 0.0214359 0.586631 0.5 --0.0885465 0.0902329 0.022415 0.614905 0.5 -0.0209029 0.107601 -0.0159886 0.561323 0.5 --0.0390625 0.110364 -0.0188163 0.634715 0.5 --0.0892808 0.140568 0.013241 0.62185 0.5 --0.0903092 0.140666 0.025165 0.648884 0.5 --0.0493982 0.113885 -0.0164603 0.701758 0.5 --0.0763578 0.141673 -0.00573846 0.326848 0.5 --0.0814089 0.141772 -0.000809353 0.653605 0.5 --0.0875275 0.141918 0.0101858 0.590973 0.363768 --0.0617568 0.113454 -0.0138737 0.603111 0.5 --0.0851037 0.143224 0.00618561 0.365624 0.457931 --0.089541 0.143417 0.0301691 0.524918 0.5 --0.0829718 0.144576 0.00217748 0.419152 0.471534 --0.0743787 0.145821 -0.0108474 0.2387 0.5 --0.0913521 0.14609 0.0171489 0.448221 0.47793 --0.0757302 0.147214 -0.00986768 0.318534 0.5 --0.0756832 0.149968 -0.01987 0.451101 0.5 --0.0776508 0.151441 -0.00388634 0.659976 0.5 --0.0790475 0.168047 -0.0349702 0.411919 0.5 --0.0781873 0.168068 -0.0319708 0.344362 0.469009 --0.0538886 0.161243 -0.000916627 0.291087 0.5 --0.0709498 0.165209 -0.0469921 0.371092 0.452492 --0.0694764 0.165214 -0.0509787 0.507996 0.394119 -0.0223468 0.121292 -0.00473526 0.597902 0.429788 --0.0674763 0.168038 -0.0560148 0.508243 0.299956 --0.0852257 0.114326 0.001271 0.469883 0.5 --0.0768497 0.156895 -0.0209209 0.378636 0.5 --0.0720478 0.154003 -0.0409023 0.568698 0.5 --0.0726437 0.152619 -0.0388965 0.443416 0.5 --0.0914264 0.14884 0.0201323 0.733995 0.5 --0.0909934 0.148856 0.0221303 0.545003 0.5 --0.0756545 0.151363 -0.0148873 0.734832 0.5 --0.074941 0.152735 -0.0189 0.544985 0.5 --0.0749686 0.158241 -0.0259415 0.373439 0.5 --0.0690062 0.162382 -0.0519693 0.471165 0.5 -0.0033632 0.097467 -0.0272178 0.679985 0.5 --0.0940988 0.124142 0.016266 0.766598 0.5 --0.0790938 0.10996 -0.003593 0.481711 0.5 --0.0771859 0.109877 -0.00559641 0.500767 0.5 --0.0238533 0.0958019 -0.0255967 0.49848 0.5 --0.0276205 0.0874255 -0.0346253 0.469591 0.5 --0.0285082 0.0874866 -0.0336017 0.481076 0.5 --0.0291401 0.0875323 -0.0325902 0.6357 0.5 --0.02966 0.0875784 -0.0315907 0.588095 0.5 --0.0300276 0.0875944 -0.030572 0.578852 0.380926 --0.030388 0.0876244 -0.0295653 0.53795 0.5 --0.0307561 0.0876495 -0.0285591 0.510384 0.5 --0.0311219 0.087675 -0.0275557 0.460183 0.371896 --0.0313824 0.0877015 -0.0265568 0.387002 0.311968 --0.0320932 0.0877303 -0.0254981 0.290659 0.5 -0.015157 0.122808 -0.00836184 0.758651 0.5 --0.0172292 0.104564 -0.022745 0.691921 0.5 --0.0915903 0.125424 0.00726612 0.413869 0.354625 --0.0870044 0.115772 0.00228167 0.368812 0.443617 --0.0929793 0.125561 0.0282631 0.687967 0.5 --0.0873336 0.126682 -0.000726608 0.668153 0.5 --0.0930993 0.129616 0.0162363 0.762045 0.5 --0.0846369 0.110251 0.00429821 0.421887 0.5 --0.0692038 0.156713 -0.0519425 0.290884 0.5 --0.0509846 0.123023 -0.00999375 0.488656 0.5 --0.0498456 0.123179 -0.0101809 0.705514 0.31207 --0.0762074 0.0906406 -0.013533 0.476512 0.463338 --0.0771876 0.0907032 -0.0125611 0.518253 0.467969 --0.078057 0.0907599 -0.0115869 0.743649 0.5 --0.0785777 0.0907895 -0.0106208 0.720776 0.5 --0.0794305 0.0908376 -0.00963692 0.689003 0.5 --0.0805988 0.090913 -0.0086158 0.682025 0.5 --0.0817894 0.0909919 -0.00761357 0.447664 0.5 --0.0828622 0.0910525 -0.0066104 0.325989 0.424862 --0.0837824 0.091132 -0.00556609 0.363704 0.5 --0.0845016 0.0911794 -0.00456302 0.396289 0.5 --0.084979 0.0912122 -0.0035611 0.40874 0.5 --0.0853564 0.091162 -0.00253932 0.377656 0.437436 --0.0855598 0.0912595 -0.00155473 0.640461 0.5 --0.0856626 0.0912736 -0.00055353 0.661953 0.5 --0.0857102 0.0912822 0.000468321 0.678175 0.5 --0.0860328 0.0912972 0.00145067 0.628416 0.375069 --0.0865224 0.0913375 0.0024428 0.549006 0.5 --0.0870992 0.0913786 0.00345195 0.413729 0.5 --0.0875345 0.0914089 0.00446769 0.465215 0.454791 --0.0878883 0.0914318 0.00546674 0.485854 0.457052 --0.0882379 0.0914593 0.00646904 0.497321 0.5 --0.0885869 0.0914877 0.00746285 0.526098 0.5 --0.0888303 0.0915034 0.00845607 0.754004 0.5 --0.0889791 0.0915153 0.00944503 0.753911 0.5 --0.0892801 0.091541 0.0104497 0.758083 0.5 --0.0894274 0.0915536 0.0114438 0.776739 0.5 --0.0896358 0.0915718 0.0124456 0.791934 0.5 --0.0897425 0.0915834 0.0134432 0.820047 0.5 --0.0897769 0.0915868 0.0144438 0.6082 0.5 --0.0897683 0.091592 0.0154417 0.615587 0.5 --0.0897609 0.0915993 0.0164407 0.630349 0.5 --0.0897339 0.0916034 0.0174376 0.636433 0.455331 --0.0896535 0.0916031 0.0184402 0.637304 0.5 --0.0895419 0.0916017 0.0194388 0.659776 0.5 --0.0893828 0.0916068 0.0204288 0.532257 0.5 --0.0890486 0.0915916 0.0214249 0.568276 0.47198 --0.088699 0.0915828 0.0224195 0.593731 0.5 -0.0171905 0.116688 -0.0137466 0.480997 0.407598 --0.0878417 0.140531 0.0102059 0.545228 0.5 --0.0899141 0.140577 0.0142032 0.625571 0.5 --0.0901142 0.14065 0.0241685 0.6812 0.5 --0.0820175 0.148708 0.00217249 0.641842 0.5 --0.0744487 0.141666 -0.00675172 0.359498 0.5 --0.086045 0.141863 0.00720055 0.365265 0.5 --0.0886682 0.141939 0.0121971 0.5978 0.366285 --0.0903937 0.142028 0.0281621 0.577409 0.5 --0.0845537 0.143232 0.00516668 0.348142 0.444007 --0.0891789 0.14342 0.0311627 0.497184 0.48282 --0.0823822 0.144566 0.00117046 0.42924 0.5 --0.0746727 0.145787 -0.00986958 0.251684 0.413997 --0.0907871 0.14608 0.0151486 0.418259 0.471213 --0.0760799 0.147225 -0.00886324 0.382186 0.464002 --0.0754158 0.14997 -0.0218646 0.415411 0.5 --0.0776245 0.151441 -0.00287924 0.605007 0.5 -0.0266901 0.106496 -0.0148024 0.626447 0.5 --0.0921915 0.114676 0.0133297 0.481833 0.5 --0.0786131 0.166659 -0.0369473 0.350231 0.5 --0.070211 0.165211 -0.0489867 0.368993 0.427514 --0.0698391 0.165209 -0.0499791 0.492691 0.5 --0.0147295 0.0942902 -0.0339999 0.696723 0.5 --0.0699851 0.168026 -0.0510102 0.370692 0.450091 --0.0888241 0.114444 0.00524771 0.30044 0.5 --0.0774531 0.156901 -0.0199195 0.401428 0.5 --0.0719279 0.153998 -0.0419035 0.470553 0.5 --0.0725064 0.152612 -0.0398907 0.414729 0.5 --0.083982 0.134868 -0.000717316 0.657339 0.5 --0.0758447 0.151365 -0.0158827 0.7078 0.5 --0.0749566 0.152744 -0.0158977 0.701342 0.5 --0.0743199 0.158257 -0.0279194 0.333157 0.465025 --0.0693451 0.162383 -0.0509602 0.480454 0.449318 --0.0223058 0.184466 -0.0180708 0.260721 0.299635 --0.0850366 0.134888 0.000298852 0.696748 0.5 --0.0946685 0.124165 0.0192665 0.588424 0.5 --0.0766538 0.11399 -0.00481419 0.409221 0.475033 --0.0782331 0.109897 -0.00456592 0.500611 0.413998 --0.0476227 0.122378 -0.0113753 0.775492 0.5 --0.0465602 0.122394 -0.0114017 0.777922 0.5 --0.0276025 0.0888516 -0.0335952 0.42798 0.5 --0.0282821 0.0889315 -0.0326167 0.442598 0.5 --0.0289316 0.0889882 -0.0316153 0.406619 0.5 --0.0294162 0.0890096 -0.030595 0.54538 0.5 --0.0297851 0.0890261 -0.0295849 0.544171 0.5 --0.0300375 0.0890464 -0.0285748 0.549809 0.389399 --0.0303971 0.0890708 -0.0275789 0.450896 0.5 --0.0306702 0.0891071 -0.0265975 0.431054 0.5 --0.0310391 0.0892178 -0.0256627 0.308271 0.160447 --0.00439966 0.119978 -0.0131705 0.601311 0.5 -0.00120442 0.117582 -0.0166604 0.789481 0.5 --0.0920493 0.125439 0.00826634 0.400775 0.5 --0.085242 0.115675 0.000251725 0.484596 0.439002 --0.086166 0.115735 0.00128445 0.47675 0.5 --0.0845352 0.136246 0.000324782 0.689662 0.5 --0.0879384 0.126705 0.000268669 0.461647 0.5 --0.0913513 0.126793 0.00727091 0.421116 0.5 --0.0852375 0.1104 0.00532111 0.355472 0.298284 --0.0545635 0.122251 -0.00910565 0.756155 0.5 --0.0556879 0.117086 -0.0137514 0.443511 0.5 --0.0762473 0.0920177 -0.013581 0.493512 0.5 --0.0772308 0.0920788 -0.012603 0.516178 0.472881 --0.078074 0.0921324 -0.0116061 0.735691 0.5 --0.0789524 0.0921836 -0.0106406 0.706465 0.5 --0.0798777 0.0922401 -0.00961163 0.680717 0.5 --0.0810332 0.092317 -0.00857663 0.669151 0.5 --0.0819891 0.0923793 -0.00757573 0.627475 0.5 --0.0828255 0.0924347 -0.00656966 0.562838 0.5 --0.0836424 0.0924862 -0.00555232 0.54139 0.5 --0.0843489 0.0925325 -0.00454911 0.560298 0.5 --0.0849646 0.0925759 -0.00355765 0.401408 0.5 --0.085327 0.0926016 -0.00256332 0.422657 0.442119 --0.0856886 0.0926246 -0.00156242 0.425258 0.5 --0.0857757 0.0926386 -0.000557841 0.686837 0.5 --0.0411345 0.037889 -0.0275181 0.275232 0.5 -0.054748 0.0690996 0.0027667 0.396132 0.472935 --0.0369296 0.0455099 -0.0248207 0.382216 0.5 --0.0288758 0.046967 -0.0262149 0.610127 0.5 --0.076686 0.0781369 0.0338733 0.745437 0.5 --0.0167464 0.108538 -0.0209441 0.70476 0.430188 --0.0332153 0.107417 -0.0197253 0.654977 0.460745 --0.00470695 0.0982478 -0.0280611 0.67441 0.337246 --0.0213844 0.123724 -0.0049697 0.493336 0.5 -0.00710696 0.112707 -0.0194319 0.751195 0.5 -0.000688563 0.105475 -0.0216898 0.765622 0.5 --0.00941329 0.0943623 -0.0340451 0.514599 0.5 -0.043146 0.0650339 -0.00117659 0.410301 0.5 -0.0226575 0.102902 -0.0189538 0.517918 0.5 --0.0250024 0.118057 -0.0129436 0.814798 0.5 -0.0177618 0.100614 -0.0224544 0.538972 0.467399 -0.0231094 0.1217 -0.00313916 0.613739 0.462033 -0.024797 0.0615121 -0.0241542 0.723403 0.5 --0.0274204 0.12046 -0.00942796 0.679115 0.342474 -0.00560187 0.0957087 -0.0293479 0.55311 0.5 -0.0239365 0.0972468 -0.020928 0.841738 0.5 -0.0304359 0.108504 -0.0109544 0.55829 0.5 --0.0489659 0.12587 -0.00699728 0.576689 0.387381 -0.0204173 0.0925165 -0.0239466 0.66888 0.5 --0.0302923 0.115032 -0.0157497 0.852221 0.5 --0.0313173 0.115081 -0.0157968 0.849352 0.5 --0.0376142 0.115213 -0.0159111 0.865406 0.5 -0.0248886 0.0970269 -0.0206985 0.692453 0.5 -0.0257868 0.0967214 -0.0203669 0.679691 0.5 -0.00199826 0.122137 -0.0115071 0.580167 0.5 -0.0279207 0.111816 -0.0105079 0.531421 0.389695 -0.00325132 0.12142 -0.0127844 0.772222 0.5 --0.0141356 0.103403 -0.0235224 0.580547 0.5 -0.0461568 0.0626078 -0.00274862 0.592126 0.474615 --0.0497318 0.0354763 -0.0126201 0.162665 0.5 -0.0223695 0.0993436 -0.0211483 0.59464 0.5 --0.0287901 0.105845 -0.0221143 0.606661 0.466669 -0.00710547 0.0893998 -0.032814 0.642955 0.5 -0.026686 0.0963684 -0.0200186 0.674546 0.5 -0.0279019 0.110786 -0.0114065 0.538595 0.5 --0.0460367 0.115268 -0.015925 0.675726 0.5 -0.0345713 0.109241 -0.00571538 0.538531 0.459661 -0.0562407 0.0648113 0.00118357 0.684564 0.5 -0.0252285 0.11379 -0.0106368 0.545907 0.451043 --0.0260473 0.11708 -0.0139183 0.835538 0.5 --0.0144639 0.0977101 -0.0275565 0.44201 0.5 --0.0358502 0.0986071 -0.0225695 0.657592 0.5 --0.0121854 0.0980546 -0.0279084 0.821557 0.5 -0.0295458 0.115836 -0.00482165 0.5381 0.5 --0.00642846 0.119149 -0.0142793 0.60717 0.5 --0.00544058 0.119032 -0.0141551 0.635042 0.453445 --0.00442024 0.118937 -0.0140576 0.5996 0.5 -0.00546913 0.116627 -0.0176566 0.610798 0.5 --0.0105486 0.0921685 -0.035821 0.666943 0.5 -0.0383652 0.101327 -0.00724085 0.58037 0.5 --0.0366079 0.114094 -0.0167422 0.615348 0.5 --0.036826 0.0446589 -0.0260242 0.407562 0.5 --0.0309867 0.0458642 -0.0271867 0.669729 0.5 -0.0556932 0.0688929 0.00299188 0.414469 0.390519 --0.0319101 0.121969 -0.00695975 0.537817 0.5 -0.0275543 0.0960379 -0.019637 0.68162 0.5 --0.0045009 0.116806 -0.0157814 0.841285 0.5 -0.0283978 0.0955434 -0.019149 0.691231 0.5 -0.0565861 0.0685555 0.00335277 0.441751 0.424181 -0.0294074 0.0974659 -0.0171759 0.712511 0.5 -0.0178674 0.103889 -0.0200126 0.839522 0.5 -0.0168017 0.105866 -0.0181237 0.618082 0.5 -0.0574282 0.0681585 0.00377242 0.466798 0.5 --0.0263327 0.111444 -0.0179843 0.80316 0.5 --0.0292314 0.114996 -0.0157151 0.864987 0.5 -0.0259521 0.11908 -0.00433188 0.620307 0.5 -0.0248385 0.107021 -0.0153684 0.584155 0.5 --0.00344803 0.111769 -0.0204187 0.620209 0.465528 -0.0165931 0.100464 -0.0223776 0.652249 0.5 --0.0182921 0.113707 -0.0184295 0.852281 0.5 --0.0439904 0.115156 -0.0158426 0.732781 0.5 -0.00401707 0.125848 -0.00755459 0.647234 0.5 -0.0205831 0.11206 -0.0147671 0.663379 0.5 -0.0292409 0.0951488 -0.0187111 0.696327 0.5 --0.0252687 0.0931263 -0.0308668 0.273107 0.5 --0.00953059 0.096141 -0.0318625 0.61496 0.5 -0.000105856 0.117482 -0.0165473 0.547157 0.5 --0.0396993 0.117276 -0.0140617 0.670035 0.5 -0.0291224 0.0877617 -0.0209279 0.748134 0.5 -0.0300883 0.0872505 -0.0203879 0.751248 0.5 -0.0451306 0.0647669 -0.000900002 0.767143 0.5 -0.0153133 0.121135 -0.0105519 0.51896 0.473939 -0.0413142 0.0637288 -0.00386959 0.361127 0.5 --0.0425153 0.118993 -0.0138741 0.646388 0.5 --0.0545346 0.125365 -0.00640975 0.897494 0.5 -0.0111228 0.0960826 -0.0257288 0.764565 0.5 --0.0498267 0.109983 -0.0185775 0.748734 0.5 --0.0488146 0.109958 -0.0184987 0.779628 0.5 --0.0320938 0.0457263 -0.0270587 0.701086 0.5 -0.0301411 0.102934 -0.0150039 0.697605 0.5 --0.015954 0.105864 -0.0221228 0.668455 0.5 -0.043329 0.066441 -0.000599376 0.366835 0.465964 --0.0208013 0.108893 -0.0213287 0.619102 0.5 -0.0243406 0.113099 -0.011895 0.557242 0.5 -0.0300756 0.0946988 -0.0182345 0.697241 0.5 -0.0214342 0.0934308 -0.0229317 0.645611 0.5 -0.0309186 0.094253 -0.0177648 0.700623 0.393442 -0.0317623 0.0938577 -0.0173357 0.695277 0.5 -0.0326128 0.0934199 -0.0168733 0.689086 0.5 --0.0193967 0.186852 -0.0171886 0.287243 0.5 --0.0184064 0.186879 -0.0179354 0.29354 0.5 -0.0334431 0.0930091 -0.0164312 0.695331 0.5 --0.0326685 0.0478014 -0.0229356 0.237264 0.431246 -0.0293268 0.0963357 -0.0179631 0.703196 0.5 -0.0351631 0.0941496 -0.0136388 0.702713 0.388092 -0.0072631 0.0968089 -0.0265119 0.729251 0.333916 -0.0189666 0.119003 -0.0102495 0.560345 0.5 --0.0266047 0.0397022 -0.0293069 0.607511 0.5 -0.00602348 0.111527 -0.0200414 0.608287 0.470003 -0.0232683 0.0857035 -0.0248261 0.721422 0.37218 --0.00768714 0.116771 -0.0157299 0.877497 0.5 --0.0602175 0.0443014 -0.00489461 0.461348 0.5 -0.0343015 0.0925788 -0.0159761 0.688947 0.5 -0.0125005 0.1007 -0.0226033 0.633845 0.5 -0.0194959 0.111012 -0.0156283 0.634003 0.5 --0.00136682 0.125668 -0.00729488 0.635126 0.5 --0.0174424 0.10313 -0.0232301 0.668739 0.5 --0.0187811 0.119777 -0.0107944 0.736047 0.5 -0.00646347 0.117501 -0.0166002 0.421029 0.473937 --0.0117599 0.104933 -0.0231377 0.655204 0.5 --0.0115776 0.0962625 -0.032007 0.59416 0.5 -0.0227189 0.116065 -0.0110894 0.501964 0.5 -0.0115865 0.119151 -0.014401 0.434885 0.5 -0.00753839 0.119505 -0.0147629 0.496516 0.5 -0.0517415 0.0673755 0.000499527 0.52725 0.5 -0.0462769 0.0649494 -0.00109094 0.598597 0.5 -0.0351226 0.0921155 -0.0154837 0.676719 0.402165 -0.00644791 0.119491 -0.0147367 0.482313 0.435073 -0.0119628 0.111848 -0.018535 0.63407 0.5 --0.033501 0.113967 -0.0166209 0.853333 0.5 -0.0346346 0.107297 -0.007625 0.549739 0.447994 -0.000831008 0.0996342 -0.0235195 0.801625 0.5 --0.035551 0.0451135 -0.0264751 0.416329 0.5 --0.029871 0.0459583 -0.0272702 0.724845 0.5 --0.0455357 0.120317 -0.0132441 0.856934 0.5 -0.0351408 0.0931106 -0.0145377 0.669246 0.5 --0.0523481 0.125498 -0.00654313 0.814348 0.5 -0.0359154 0.0915824 -0.0149202 0.666332 0.5 -0.036687 0.0909845 -0.0142871 0.683336 0.5 --0.0205328 0.113457 -0.0181494 0.565528 0.5 --0.0193941 0.113623 -0.0183331 0.588965 0.5 -0.0374569 0.0904362 -0.0137042 0.694206 0.5 -0.0382626 0.0899111 -0.0131489 0.70558 0.5 -0.0342346 0.0852576 -0.0183147 0.753104 0.5 -0.0352172 0.0952034 -0.0127755 0.735791 0.5 --0.0202144 0.186446 -0.0187314 0.231438 0.5 --0.0189564 0.187079 -0.0195498 0.188076 0.318749 --0.0175221 0.187321 -0.0198494 0.259879 0.406209 --0.0626824 0.0436041 -0.00418427 0.486453 0.373193 --0.0564797 0.0356812 -0.0108166 0.270737 0.5 --0.036531 0.116238 -0.0149852 0.839704 0.5 --0.0592138 0.116352 -0.0129282 0.572306 0.444286 --0.00847175 0.0920515 -0.0356471 0.68202 0.5 --0.04882 0.119077 -0.0139102 0.869709 0.5 --0.0348994 0.124334 -0.00549397 0.581413 0.463025 --0.0293899 0.118762 -0.0116358 0.670945 0.346579 -0.015329 0.118191 -0.013375 0.517773 0.5 -0.0314401 0.110365 -0.00894711 0.563134 0.5 -0.0032744 0.114489 -0.0193505 0.6537 0.5 -0.0268619 0.108823 -0.0133055 0.516109 0.5 -0.028516 0.117882 -0.00302906 0.620203 0.5 -0.00816067 0.125635 -0.0073679 0.704089 0.5 --0.01069 0.0969192 -0.0307004 0.549076 0.420097 --0.0322502 0.0367926 -0.0305484 0.31693 0.5 --5.87354e-05 0.100974 -0.0229378 0.878954 0.5 --0.0164203 0.103082 -0.0232082 0.638649 0.5 --0.0292637 0.0364551 -0.0300736 0.430905 0.5 -0.0121568 0.0930338 -0.0284961 0.525051 0.454848 --0.0218018 0.0947992 -0.0305488 0.748929 0.5 -0.0528515 0.0592232 -0.00323634 0.664215 0.5 -0.0536226 0.0587546 -0.00269037 0.61617 0.5 -0.00856462 0.11946 -0.0147195 0.508891 0.5 -0.0556505 0.0677792 0.00213147 0.454093 0.5 -0.0565412 0.0674698 0.002463 0.481514 0.5 --0.00749339 0.119159 -0.0142858 0.596598 0.476866 --0.00335753 0.11894 -0.0140663 0.839855 0.5 --0.0365515 0.115187 -0.0158874 0.867624 0.5 -0.0160687 0.122524 -0.00804645 0.622514 0.5 --0.0500595 0.117739 -0.014504 0.630454 0.5 --0.00129201 0.123843 -0.0093277 0.638759 0.5 --0.0598499 0.0364094 -0.00954648 0.298579 0.5 --0.0144671 0.110884 -0.0194361 0.657846 0.5 -0.0265398 0.104204 -0.0163559 0.625063 0.389552 --0.00545884 0.111961 -0.020621 0.861661 0.5 --0.0154901 0.11097 -0.019533 0.680702 0.5 -0.0318276 0.102039 -0.0140664 0.729709 0.5 --0.0365713 0.0483594 -0.015218 0.184984 0.5 --0.0172469 0.116672 -0.0155678 0.803765 0.5 --0.0324183 0.116998 -0.0137964 0.789464 0.5 -0.0285718 0.0898068 -0.0210622 0.728798 0.5 --0.0225512 0.0933694 -0.0331106 0.360758 0.5 --0.0444734 0.111133 -0.0175908 0.642506 0.5 --0.0482685 0.037339 -0.0123839 0.20836 0.5 -0.0474407 0.0661575 -0.000283122 0.626763 0.439815 --0.0216796 0.18469 -0.0188168 0.301044 0.5 -0.0463136 0.0660623 -0.000202599 0.608446 0.464035 --0.0184884 0.186846 -0.021092 0.213354 0.5 --0.0170835 0.187214 -0.0216216 0.226185 0.272655 -0.0293531 0.117442 -0.00254348 0.620776 0.480853 --0.012301 0.110982 -0.0195491 0.797379 0.5 --0.0340312 0.123966 -0.00509105 0.642444 0.5 --0.0568391 0.118972 -0.0116757 0.532531 0.5 --0.0476672 0.0405803 -0.0117113 0.320351 0.438157 --0.0454995 0.122409 -0.0114255 0.780989 0.5 --0.0435029 0.119128 -0.0140097 0.641651 0.5 --0.0405477 0.118695 -0.0135582 0.707348 0.5 -0.0135031 0.119752 -0.013055 0.479317 0.5 -0.0144377 0.119508 -0.0127985 0.511043 0.5 -0.0320945 0.113613 -0.00441584 0.53708 0.5 -0.000649673 0.0963928 -0.0300705 0.746246 0.5 --0.0117555 0.0969094 -0.0306933 0.502257 0.43852 --0.0130193 0.115677 -0.016537 0.65885 0.5 -0.0170761 0.115474 -0.0144429 0.483781 0.464115 --0.0249431 0.0907384 -0.0344432 0.454318 0.5 -0.033068 0.0984004 -0.0141329 0.762374 0.5 --0.0176555 0.10171 -0.0237622 0.58675 0.5 --0.00805531 0.101876 -0.0238922 0.739452 0.5 --0.0260646 0.11803 -0.0129143 0.78043 0.5 -0.0228298 0.0827896 -0.0258286 0.750174 0.5 --0.0568115 0.11798 -0.012657 0.540985 0.469377 -0.0236821 0.0824052 -0.0254011 0.745368 0.5 -0.0253655 0.0814952 -0.0244829 0.756164 0.5 -0.0542982 0.0579702 -0.00188368 0.611971 0.5 -0.0125353 0.118934 -0.0141702 0.458566 0.472486 -0.0207674 0.103342 -0.0194283 0.593105 0.5 -0.0243686 0.118145 -0.00732959 0.507508 0.5 -0.0303733 0.115414 -0.00438737 0.535228 0.5 --0.0323789 0.115075 -0.0157884 0.837226 0.5 --0.03348 0.115008 -0.0157024 0.81929 0.5 -0.0532901 0.0621073 -0.00218568 0.540862 0.5 -0.00543862 0.118556 -0.0157347 0.461542 0.48104 -0.00741391 0.0920665 -0.0315473 0.580726 0.5 --0.0303554 0.117939 -0.0127791 0.747717 0.5 --0.0292876 0.113893 -0.0165575 0.885242 0.5 --0.0344028 0.0453249 -0.0266763 0.417197 0.468804 --0.0328813 0.11004 -0.0184872 0.71178 0.5 --0.0308338 0.109919 -0.0183719 0.904951 0.5 -0.0101538 0.113447 -0.018237 0.574774 0.5 -0.0258263 0.0624492 -0.0231007 0.739799 0.5 -0.026638 0.0619848 -0.0226053 0.758485 0.5 -0.0235131 0.101506 -0.0194672 0.577829 0.5 --0.0332536 0.0434286 -0.0288825 0.4632 0.486655 --0.00335679 0.11693 -0.0159223 0.810404 0.5 -0.0460243 0.0737836 0.00392327 0.327359 0.439209 -0.0465282 0.0726943 0.00507292 0.31153 0.5 --0.0365486 0.12125 -0.0102225 0.522053 0.5 --0.016158 0.0884114 -0.0380198 0.689122 0.5 --0.0121064 0.0869584 -0.0384624 0.62575 0.463148 -0.047273 0.0720618 0.00573289 0.478395 0.5 -0.048187 0.0717514 0.00605259 0.550766 0.448007 --0.0184208 0.185917 -0.0222223 0.28199 0.5 --0.0169852 0.186593 -0.0230311 0.262349 0.389644 -0.0242207 0.111888 -0.0125803 0.548934 0.479776 -0.049267 0.0717276 0.00605578 0.556543 0.449483 --0.0075843 0.111951 -0.0206051 0.577745 0.5 -0.0130083 0.0956231 -0.0252421 0.463192 0.5 --0.0394018 0.0468721 -0.0179145 0.398361 0.335083 -0.00745846 0.0952014 -0.0287983 0.570584 0.5 --0.0544684 0.119419 -0.0121872 0.765833 0.5 --0.0337268 0.111492 -0.0180397 0.67746 0.5 --0.00779971 0.114512 -0.0173201 0.77831 0.5 --0.0365847 0.122192 -0.00920846 0.435169 0.5 --0.0374511 0.122567 -0.00961353 0.670834 0.5 -0.00261599 0.0960798 -0.0297441 0.776188 0.5 --0.00333145 0.0968513 -0.0305901 0.715052 0.5 --0.00664275 0.113752 -0.0185066 0.789115 0.290723 -0.0240847 0.110594 -0.013209 0.652634 0.5 -0.0503819 0.0717878 0.00597587 0.584819 0.448184 -0.0168366 0.113017 -0.0157876 0.507752 0.5 --0.0151821 0.115592 -0.0164315 0.643595 0.5 --0.0311962 0.0475489 -0.0247586 0.392695 0.5 --0.0423449 0.122373 -0.0114097 0.555795 0.478179 -0.0344672 0.111064 -0.00366583 0.449499 0.481753 --0.0446335 0.126046 -0.00723965 0.528257 0.436839 --0.027019 0.123094 -0.00421217 0.59136 0.460407 -0.0245413 0.0819542 -0.0249712 0.74391 0.5 -0.0514409 0.0718132 0.00596213 0.612279 0.445495 -0.013479 0.118711 -0.0139326 0.478116 0.5 --0.00742046 0.035877 -0.0249268 0.239017 0.5 -0.0305352 0.10973 -0.0102674 0.561444 0.441404 --0.00917487 0.0875708 -0.0370938 0.771494 0.5 -0.00508145 0.125851 -0.00757191 0.678454 0.5 --0.054587 0.123231 -0.00812744 0.793262 0.5 -0.0524989 0.0718135 0.00595977 0.603198 0.467715 -0.0535119 0.0717543 0.00602975 0.625533 0.466866 --0.060329 0.11723 -0.0118118 0.563997 0.5 -0.027192 0.101376 -0.017349 0.698507 0.5 --0.0355455 0.11407 -0.0167228 0.62187 0.474562 --0.0478216 0.109884 -0.018362 0.800312 0.5 --0.0457781 0.109842 -0.0182449 0.676526 0.5 --0.0281684 0.117044 -0.0138686 0.565639 0.5 --0.0292722 0.116973 -0.0137779 0.817721 0.5 -0.0241882 0.0633761 -0.0240832 0.717435 0.5 -0.0544885 0.0716156 0.00618127 0.63906 0.467089 -0.0554262 0.0714159 0.00640835 0.509752 0.5 -0.0563341 0.0711373 0.00671617 0.540911 0.5 --0.0323736 0.176483 -0.0134412 0.429135 0.5 --0.0310993 0.177108 -0.0141677 0.427643 0.5 --0.029497 0.177966 -0.015166 0.426629 0.5 --0.0465015 0.112315 -0.0168133 0.708967 0.5 -0.0280633 0.100998 -0.0169482 0.711099 0.5 -0.0279153 0.112797 -0.00956049 0.548236 0.420992 -0.0474137 0.0671743 0.000684928 0.617905 0.5 --0.0444371 0.122416 -0.011439 0.785404 0.5 -0.0546227 0.0668075 0.00110467 0.480564 0.459148 --0.0183224 0.184952 -0.0232094 0.355689 0.5 --0.0169338 0.185679 -0.0240586 0.318683 0.426245 --0.0444587 0.11222 -0.0167423 0.662138 0.5 -0.00653661 0.120619 -0.0139577 0.614837 0.5 --0.00648083 0.111994 -0.0206545 0.851319 0.5 -0.00181256 0.0994772 -0.0233519 0.832146 0.5 -0.00525838 0.123196 -0.010701 0.680667 0.5 --0.053287 0.119647 -0.012449 0.788635 0.5 -0.0102371 0.115602 -0.0165593 0.709224 0.5 --0.0357372 0.111668 -0.0181975 0.678647 0.5 --0.00547868 0.112944 -0.019663 0.82537 0.5 -0.0249883 0.12025 -0.003603 0.62572 0.467951 -0.0266688 0.0892152 -0.0224539 0.711942 0.5 -0.052731 0.0672551 0.000627241 0.458688 0.5 --0.0192836 0.0894928 -0.0371367 0.483863 0.487263 -0.0564401 0.0662549 0.00171258 0.511429 0.472424 --0.0168964 0.123328 -0.00656517 0.523608 0.5 --0.0631879 0.0449558 -0.00115255 0.4108 0.348092 --0.0175036 0.0357848 -0.0270478 0.230538 0.5 -0.0250223 0.110364 -0.0129553 0.545328 0.416993 --0.0162447 0.115598 -0.0164334 0.631876 0.5 --0.0111853 0.109046 -0.0214904 0.806839 0.5 --0.0708646 0.0384387 0.000437312 0.150517 0.401863 --0.00316977 0.101093 -0.0230747 0.634384 0.5 -0.0176793 0.0852191 -0.0283526 0.712329 0.5 --0.0386241 0.125328 -0.00654651 0.721355 0.5 -0.0338239 0.11087 -0.00547119 0.523065 0.5 -0.0144108 0.118463 -0.013667 0.511342 0.5 --0.030624 0.0348272 -0.0303515 0.262513 0.5 --0.0133229 0.0978873 -0.0277326 0.777318 0.5 -0.0242993 0.0928305 -0.0222726 0.815393 0.5 -0.0223914 0.093257 -0.0227104 0.815911 0.5 --0.00732851 0.0942973 -0.033961 0.813255 0.5 -0.025021 0.085012 -0.0240764 0.750436 0.5 -0.01399 0.106595 -0.01887 0.540443 0.5 --0.0345432 0.114978 -0.015669 0.818757 0.5 --0.0489531 0.117804 -0.0145786 0.604204 0.5 --0.0300938 0.0476999 -0.0248901 0.444368 0.5 --0.00546375 0.117984 -0.0150376 0.642582 0.5 --0.0064886 0.118022 -0.0150746 0.617213 0.5 --0.00759062 0.117967 -0.0150103 0.61752 0.5 -0.0125143 0.121868 -0.0113432 0.46643 0.473055 --0.0308492 0.121938 -0.00695618 0.494974 0.5 --0.0187679 0.0341854 -0.027695 0 0 --0.0366574 0.173333 -0.0118804 0.419059 0.5 --0.035284 0.173981 -0.0126295 0.395223 0.5 --0.0338796 0.174703 -0.0134692 0.408506 0.5 --0.0323633 0.175433 -0.0143069 0.438943 0.5 --0.0310025 0.176085 -0.0150686 0.443373 0.5 --0.0294668 0.176906 -0.0160057 0.44356 0.5 --0.0281079 0.177558 -0.016771 0.487465 0.5 --0.0266625 0.178341 -0.0176816 0.479603 0.5 --0.0251253 0.179165 -0.0186166 0.47688 0.5 --0.023595 0.180085 -0.0196757 0.478809 0.5 -0.0527591 0.0693467 0.00250314 0.615397 0.5 --0.00428335 0.124198 -0.00969837 0.551994 0.5 --0.027328 0.0951114 -0.0248637 0.416967 0.468326 --0.0433541 0.112279 -0.0167951 0.602383 0.5 --0.0154061 0.185475 -0.025609 0.252379 0.349202 --0.0144877 0.185446 -0.0257702 0.273228 0.329781 --0.0267044 0.158758 -0.0121466 0.658101 0.5 --0.00744712 0.0961017 -0.0318028 0.695055 0.5 --0.02745 0.110307 -0.0187882 0.801214 0.5 -0.0202904 0.0912514 -0.02462 0.66063 0.5 -0.0198639 0.11968 -0.0089705 0.757005 0.5 -0.0208045 0.119446 -0.00872458 0.768137 0.5 --0.026888 0.0344315 -0.0290471 0.244173 0 --0.0403006 0.122206 -0.0112466 0.748918 0.5 -0.0129986 0.124708 -0.00640366 0.563153 0.409001 -0.0537086 0.0670896 0.000808459 0.469617 0.453983 -0.0112449 0.0943173 -0.0278535 0.474423 0.473679 -0.0121652 0.0940439 -0.0275601 0.468457 0.5 -0.0162842 0.118981 -0.0122323 0.495842 0.466677 -0.0328852 0.113087 -0.00384394 0.524693 0.461284 -0.016382 0.0888799 -0.0281622 0.655048 0.5 -0.0338247 0.108829 -0.00728203 0.542992 0.5 -0.0353274 0.107617 -0.00596632 0.545084 0.456568 --0.00789661 0.098211 -0.0280331 0.53889 0.411612 --0.00752216 0.122122 -0.0114318 0.821458 0.5 --0.0332851 0.0368458 -0.0306141 0.266974 0.5 -0.0155832 0.0893609 -0.0286847 0.640251 0.5 --0.0512066 0.125627 -0.00670494 0.712962 0.5 --0.00538883 0.122125 -0.0114557 0.633279 0.5 --0.00970184 0.120973 -0.0121849 0.770076 0.5 --0.0375464 0.119352 -0.0122401 0.649959 0.5 -0.0078778 0.0989406 -0.0227671 0.862343 0.5 -0.0278575 0.109692 -0.0122334 0.517511 0.443888 --0.0138322 0.105995 -0.0224296 0.60161 0.5 --0.0395958 0.118487 -0.0133369 0.681465 0.5 --0.0376087 0.118212 -0.0130418 0.614722 0.5 -0.0235801 0.11767 -0.00881398 0.494406 0.5 --0.035527 0.115134 -0.015836 0.857698 0.5 -0.00543206 0.119469 -0.0147017 0.595097 0.471855 --0.0415297 0.118854 -0.0137293 0.682626 0.5 --0.00441737 0.117961 -0.0150091 0.607747 0.468249 --0.0111221 0.0980696 -0.0279124 0.848532 0.5 -0.0101277 0.0911581 -0.0305812 0.593636 0.5 --0.0118847 0.117889 -0.0148923 0.5905 0.5 -0.0199668 0.115907 -0.0129188 0.523627 0.5 --0.0184507 0.117417 -0.0143314 0.696854 0.5 --0.0196292 0.117165 -0.0140584 0.707168 0.5 --0.0367588 0.172073 -0.0125043 0.419807 0.5 --0.0353775 0.172711 -0.013245 0.413207 0.5 --0.0339572 0.173519 -0.0141904 0.427908 0.5 --0.0325191 0.174119 -0.0148634 0.461634 0.5 --0.0311424 0.174761 -0.015609 0.469014 0.5 --0.0296574 0.175524 -0.0164728 0.453748 0.5 --0.0282938 0.176171 -0.0172378 0.49146 0.5 --0.0267635 0.177003 -0.0181719 0.51211 0.5 --0.0475241 0.112407 -0.0169253 0.739406 0.5 --0.0388306 0.112851 -0.0174267 0.607895 0.470351 --0.0377685 0.112865 -0.0174473 0.616567 0.5 --0.0207673 0.117009 -0.0138783 0.784867 0.5 --0.0579212 0.120852 -0.00959233 0.833942 0.5 --0.0218308 0.117001 -0.0138605 0.829389 0.5 --0.0156288 0.184043 -0.0262877 0.362651 0.5 --0.0142894 0.184628 -0.0268303 0.369864 0.387185 --0.0131915 0.184654 -0.0268832 0.299781 0.35877 --0.0228968 0.117028 -0.0138782 0.839818 0.5 -0.0367118 0.0920329 -0.0133924 0.684003 0.5 -0.0261507 0.0923065 -0.0217116 0.64737 0.5 -0.014908 0.106309 -0.0185911 0.533485 0.5 -0.018427 0.0917703 -0.0251723 0.632965 0.355582 -0.0352506 0.101471 -0.011425 0.611191 0.475617 --0.00758477 0.0968518 -0.0305822 0.639956 0.5 --0.0156034 0.097548 -0.0273897 0.775282 0.5 --0.00865281 0.123002 -0.0103525 0.716016 0.5 --0.0239594 0.117024 -0.0138685 0.851617 0.5 -0.0573848 0.0670309 0.00292365 0.477792 0.5 --0.00761105 0.112944 -0.01965 0.780017 0.5 -0.0257874 0.0895854 -0.0228249 0.683974 0.5 --0.0169095 0.0379753 -0.0273392 0.341134 0.473204 --0.00436115 0.122059 -0.0113929 0.611585 0.5 --0.0121375 0.102128 -0.024127 0.533041 0.5 -0.0363661 0.0873006 -0.0164353 0.768705 0.5 -0.0141654 0.115006 -0.0159235 0.625244 0.447499 --0.059088 0.0445923 -0.00517311 0.48831 0.370334 --0.0182219 0.0954777 -0.0312615 0.447234 0.454288 --0.0354802 0.0365931 -0.0303176 0.208061 0.369641 --0.0310679 0.0435994 -0.0290446 0.479278 0.49112 --0.031399 0.116965 -0.0137545 0.799194 0.5 --0.0653565 0.1551 0.00564588 0.763704 0.5 --0.064416 0.154996 0.00586526 0.699413 0.5 --0.0633595 0.155022 0.00583483 0.581556 0.5 --0.0365933 0.117132 -0.0139142 0.83407 0.5 --0.0376115 0.11722 -0.0140038 0.853387 0.5 --0.00875136 0.116762 -0.015718 0.640975 0.5 --0.0575878 0.158069 0.0020235 0.19871 0.5 -0.0216012 0.112963 -0.0137495 0.550359 0.461992 --0.0454802 0.112265 -0.0167776 0.695127 0.5 --0.0400219 0.111533 -0.0180322 0.606873 0.467516 --0.051802 0.111349 -0.0178923 0.675026 0.434005 -0.00850296 0.118331 -0.0155001 0.640384 0.5 --5.55454e-05 0.1192 -0.0143689 0.756706 0.289692 --0.00746204 0.125196 -0.00874293 0.644352 0.5 --0.0442869 0.166804 -0.00853834 0.432511 0.5 --0.0427999 0.167662 -0.00952768 0.424918 0.5 --0.0356427 0.112876 -0.017464 0.641035 0.5 --0.0398347 0.169198 -0.01127 0.439878 0.5 --0.038314 0.170034 -0.0122167 0.356143 0.479359 --0.0369254 0.170672 -0.0129456 0.439089 0.5 --0.035495 0.171374 -0.0137494 0.438038 0.5 --0.0341867 0.172054 -0.0145892 0.454318 0.440615 --0.0278288 0.122593 -0.00568164 0.519753 0.461966 --0.062358 0.172308 -0.0618736 0.384039 0.5 --0.0366993 0.124957 -0.00615077 0.575982 0.5 --0.052671 0.112615 -0.017101 0.648628 0.5 --0.0505191 0.112725 -0.0172384 0.684326 0.5 --0.0485119 0.112536 -0.0170517 0.727095 0.5 --0.0268076 0.122539 -0.00562189 0.544559 0.5 --0.0257438 0.12256 -0.00564443 0.537154 0.5 --0.0346189 0.112824 -0.0174204 0.643919 0.5 --0.0613665 0.0430534 -0.00574325 0.571596 0.5 --0.0601621 0.0433793 -0.00606772 0.581004 0.404197 --0.0335566 0.11282 -0.0174155 0.629785 0.5 --0.0144079 0.183333 -0.0275579 0.312425 0.5 --0.0132393 0.1837 -0.0278845 0.250939 0.362653 --0.0410688 0.11258 -0.017122 0.605159 0.5 --0.0324948 0.112838 -0.0174448 0.875926 0.5 --0.00333512 0.125963 -0.00760181 0.435991 0.5 -0.00167631 0.105337 -0.0215515 0.748392 0.5 --0.0305905 0.119479 -0.0103702 0.661567 0.5 --0.00541885 0.0969111 -0.0306599 0.688878 0.334552 --0.00860618 0.0968801 -0.0306409 0.628847 0.5 --0.0196985 0.0957936 -0.0295783 0.775112 0.5 --0.0119077 0.0894805 -0.0370977 0.743103 0.5 -0.05377 0.0682444 0.00163269 0.422864 0.479058 -0.050697 0.0684106 0.00144017 0.64159 0.5 --0.0098481 0.112657 -0.0193422 0.750728 0.5 -0.00798497 0.0890814 -0.0324293 0.65198 0.5 -0.0192573 0.0903239 -0.0256184 0.662745 0.5 --0.0251918 0.111615 -0.0181703 0.766171 0.5 --0.0263531 0.11244 -0.0170322 0.860581 0.5 --0.0099585 0.1135 -0.0182227 0.797268 0.27471 --0.00880359 0.113633 -0.0183799 0.763775 0.285649 --0.0565118 0.0454033 -0.00602573 0.623985 0.5 -0.034589 0.108233 -0.00663102 0.541292 0.5 -0.0321502 0.106752 -0.0110706 0.53941 0.5 -0.00615212 0.112907 -0.0196236 0.565075 0.5 -0.0106037 0.121274 -0.0126925 0.679672 0.5 --0.0650217 0.154743 0.00396393 0.780861 0.5 --0.0639212 0.154791 0.00385831 0.684803 0.5 --0.0629032 0.154793 0.00389792 0.524873 0.5 --0.0618594 0.154827 0.00385225 0.352214 0.5 --0.0605375 0.155317 0.003221 0.174334 0.5 --0.0588974 0.156171 0.00210438 0.160486 0.5 --0.0573252 0.157131 0.000943525 0.214462 0.5 --0.0558184 0.158024 -0.000144968 0.224429 0.5 -0.013488 0.120719 -0.0120957 0.461813 0.5 --0.0523916 0.160438 -0.00307609 0.235771 0.5 --0.0507332 0.161533 -0.00440491 0.318386 0.5 --0.0491589 0.162483 -0.00556124 0.355109 0.5 --0.0475911 0.163428 -0.00670042 0.370018 0.5 -0.0144228 0.120472 -0.0118376 0.490496 0.5 --0.0444716 0.165339 -0.00887164 0.436885 0.5 --0.0428743 0.166323 -0.00997516 0.444816 0.5 --0.0414725 0.16704 -0.0108149 0.474027 0.5 -0.0071927 0.124822 -0.00847934 0.562774 0.488337 -0.000807934 0.124791 -0.00838237 0.612672 0.350413 -0.0338305 0.107861 -0.00824999 0.568803 0.5 -0.033027 0.108336 -0.00876159 0.573804 0.5 --0.00864992 0.124983 -0.00848236 0.581795 0.5 --0.0206804 0.112216 -0.0188434 0.582803 0.5 --0.0327045 0.111423 -0.0179721 0.683755 0.5 --0.0347529 0.111555 -0.0180951 0.675619 0.5 --0.0378644 0.111663 -0.0181901 0.637814 0.5 --0.0389284 0.111648 -0.0181691 0.624629 0.5 --0.0528539 0.1113 -0.0177773 0.663522 0.5 -0.0360108 0.100867 -0.0107814 0.615966 0.5 -0.00929618 0.123787 -0.00937811 0.723141 0.5 --0.00231276 0.123919 -0.0094032 0.619696 0.5 --0.0297303 0.109983 -0.0184292 0.854242 0.5 --0.0283257 0.118773 -0.011655 0.671515 0.346268 --0.0165765 0.119912 -0.0109781 0.681798 0.5 -0.0330143 0.106332 -0.0106209 0.545383 0.5 --0.0133613 0.182397 -0.0284169 0.28016 0.5 --0.0121975 0.182647 -0.0286755 0.324706 0.435614 --0.0112874 0.182441 -0.0284978 0.28078 0.5 --0.0268516 0.0981872 -0.024073 0.538478 0.48008 --0.027858 0.0343176 -0.0296609 0.182533 0.216147 --0.0257103 0.0983522 -0.0242349 0.721021 0.5 -0.00181742 0.106617 -0.0209271 0.769536 0.5 --0.0385431 0.038993 -0.0286239 0.288896 0.44199 --0.0246099 0.0984431 -0.024327 0.726785 0.5 --0.0208348 0.0956185 -0.0294009 0.406981 0.5 --0.0235889 0.0983837 -0.0242804 0.663055 0.5 -0.0527798 0.0683653 0.00150186 0.428987 0.483382 -0.0517581 0.0684217 0.00143507 0.514134 0.377941 --0.00234671 0.0967246 -0.0304442 0.728827 0.5 --0.00132352 0.0966684 -0.0303753 0.737376 0.5 --0.00993012 0.125562 -0.00707028 0.382692 0.5 --0.0190564 0.0920061 -0.0357108 0.530205 0.469335 -0.0572537 0.0657957 0.00220085 0.507265 0.472715 --0.0534467 0.125409 -0.00644153 0.856054 0.5 -0.0233517 0.120203 -0.00555174 0.50807 0.5 --0.0399713 0.112687 -0.0172474 0.600699 0.5 -0.0213076 0.110412 -0.0149847 0.544514 0.479676 --0.061465 0.0438948 -0.0044823 0.468586 0.5 --0.00904474 0.102005 -0.0240096 0.557454 0.5 --0.0225646 0.0983245 -0.0242201 0.643679 0.5 --0.0647611 0.154265 0.00245101 0.839445 0.5 --0.0637456 0.154158 0.00252195 0.745818 0.5 --0.0626839 0.154165 0.00249175 0.55246 0.5 --0.0616277 0.154191 0.00244865 0.360565 0.5 --0.0604582 0.154406 0.00215902 0.300795 0.5 --0.0589643 0.15508 0.0013052 0.284139 0.5 --0.0573985 0.155942 0.000257732 0.280402 0.5 --0.0558687 0.156831 -0.000812957 0.350533 0.5 --0.0541798 0.157923 -0.00210942 0.333285 0.5 --0.052489 0.159007 -0.00340529 0.354748 0.5 --0.051025 0.159915 -0.00453945 0.325786 0.5 --0.0493777 0.160927 -0.00574679 0.323121 0.5 --0.0477552 0.161949 -0.00697323 0.379157 0.5 --0.0462961 0.162745 -0.00789878 0.418386 0.5 --0.00142898 0.112626 -0.0193593 0.619835 0.5 --0.00244825 0.112634 -0.0193375 0.888633 0.5 --0.00347107 0.112728 -0.01944 0.845279 0.5 --0.00445554 0.112864 -0.0195829 0.828993 0.5 --0.00650346 0.112991 -0.0197156 0.802838 0.5 --0.000294503 0.124716 -0.00828566 0.637822 0.351948 -0.00190837 0.124868 -0.00847893 0.589732 0.351189 --0.00130995 0.124776 -0.00834251 0.660437 0.5 --0.0217663 0.11209 -0.0186927 0.577251 0.5 --0.0292922 0.117943 -0.0127907 0.759173 0.5 -0.0174798 0.0919971 -0.0254067 0.606923 0.361482 -0.0188031 0.106638 -0.0169667 0.525016 0.5 --0.0556881 0.123137 -0.00801327 0.850996 0.5 --0.053406 0.12345 -0.00838645 0.74969 0.5 -0.0132374 0.123205 -0.00876652 0.738295 0.397779 -0.0122831 0.123395 -0.0089862 0.735828 0.398869 --0.056184 0.0374619 -0.0105738 0.296533 0.5 -0.00108438 0.119342 -0.0145393 0.765248 0.5 --0.0215094 0.0983521 -0.0242621 0.63899 0.5 --0.0298836 0.04486 -0.0282273 0.623065 0.463798 --0.0204069 0.09844 -0.0243451 0.661276 0.5 --0.0135749 0.18083 -0.0284353 0.233028 0.402204 --0.0125142 0.181139 -0.0289621 0.275838 0.5 --0.01134 0.181374 -0.0292688 0.302792 0.5 --0.0105535 0.180959 -0.0288535 0.266029 0.5 --0.0298476 0.105726 -0.0219826 0.572492 0.5 --0.0192998 0.0985099 -0.0244 0.630272 0.5 --0.018238 0.0985224 -0.0244062 0.606918 0.5 -0.0287445 0.109341 -0.0118595 0.530517 0.5 --0.055158 0.0361639 -0.0112393 0.238464 0.5 --0.0171725 0.0985232 -0.0244048 0.609931 0.5 --0.0161123 0.0985355 -0.0244159 0.595192 0.5 -0.0165523 0.0922417 -0.0256623 0.567503 0.404872 -0.00654043 0.0954774 -0.0291051 0.554323 0.5 --0.000334987 0.0965293 -0.0302242 0.749582 0.5 --0.0251322 0.110719 -0.0192347 0.77997 0.5 --0.0149675 0.0986909 -0.0245721 0.5947 0.5 --0.0158456 0.122449 -0.00760827 0.532688 0.456233 --0.0138651 0.0987904 -0.0246748 0.547253 0.5 -0.00919876 0.0964636 -0.0261302 0.757179 0.5 --0.0553377 0.0457536 -0.00639551 0.627053 0.5 -0.00687166 0.100046 -0.0219438 0.641609 0.5 -0.0295159 0.107768 -0.0121736 0.538299 0.402874 --0.0198015 0.10169 -0.0238258 0.887146 0.5 --0.01273 0.098974 -0.0248693 0.828843 0.5 --0.0645607 0.153661 0.00110457 0.852794 0.5 --0.0635959 0.153475 0.00125628 0.777968 0.5 --0.0626195 0.153328 0.0013944 0.568428 0.5 --0.0615203 0.153356 0.00130737 0.452035 0.5 --0.0603328 0.153535 0.00105643 0.428971 0.5 --0.0590115 0.153958 0.00054242 0.448628 0.5 --0.0575589 0.154615 -0.000238768 0.426294 0.5 --0.0560997 0.155362 -0.00113519 0.453511 0.5 -0.0197946 0.0872171 -0.0264236 0.734679 0.5 -0.015569 0.110589 -0.0172093 0.598066 0.4619 -0.0147067 0.111012 -0.0176211 0.6316 0.5 -0.0129112 0.111627 -0.0182976 0.619937 0.484346 -0.00907863 0.112423 -0.0191367 0.777725 0.5 -0.0029144 0.125773 -0.00745627 0.613902 0.5 --5.6077e-05 0.112952 -0.0196345 0.602518 0.5 -0.00419789 0.123154 -0.0106599 0.646987 0.5 --0.029645 0.121258 -0.00823608 0.431571 0.5 --0.00533161 0.123249 -0.0106624 0.626347 0.5 --0.0202559 0.0365056 -0.0280118 0.392689 0.5 --0.00871405 0.112847 -0.0195489 0.767591 0.5 --0.0122436 0.112093 -0.0187249 0.815193 0.5 --0.0183959 0.112492 -0.0191613 0.501625 0.476022 --0.0195343 0.112367 -0.0190097 0.603213 0.5 -0.0275209 0.088828 -0.0220264 0.718853 0.5 --0.00192307 0.107424 -0.021877 0.608664 0.5 -0.0115347 0.118055 -0.0152175 0.54773 0.5 --0.0168418 0.107354 -0.0217003 0.693878 0.5 --0.0198334 0.107697 -0.0220521 0.638651 0.462592 --0.020896 0.107686 -0.0220438 0.633627 0.5 --0.0263675 0.107348 -0.0216948 0.5917 0.5 --0.0275054 0.107176 -0.0215083 0.565713 0.5 --0.050989 0.121022 -0.0119137 0.55859 0.5 -0.00305684 0.124987 -0.00863513 0.627488 0.5 -0.0474285 0.0692644 0.00256538 0.538715 0.5 --0.0115772 0.0991016 -0.0249869 0.531679 0.5 --0.010479 0.0991873 -0.02508 0.547873 0.5 --0.0127071 0.179586 -0.0289228 0.244667 0.5 --0.0114724 0.180094 -0.0295969 0.309028 0.28649 --0.00938485 0.0992897 -0.0251913 0.55985 0.5 --0.00832489 0.0993422 -0.0252442 0.556475 0.5 --0.0261604 0.114813 -0.0155316 0.611274 0.5 --0.0072203 0.0994662 -0.0253456 0.596781 0.377053 --0.0346441 0.117803 -0.0126135 0.829148 0.5 --0.0613587 0.0343255 -0.00949544 0.1361 0.5 --0.0626127 0.0339199 -0.00909656 0.134793 0.5 --0.00615627 0.0994928 -0.025355 0.642623 0.345343 --0.0172265 0.113695 -0.0184196 0.89067 0.5 -0.0103131 0.0935662 -0.0290602 0.502141 0.458423 --0.0621527 0.0372105 -0.00831557 0.29453 0.442831 -0.0543119 0.0722872 0.00750454 0.498134 0.5 -0.0353693 0.102677 -0.0107148 0.601651 0.5 --0.0356689 0.117866 -0.0126779 0.617702 0.5 --0.015069 0.117815 -0.0147928 0.800027 0.5 --0.00484087 0.0994589 -0.0252596 0.627908 0.343724 --0.0114209 0.107659 -0.022044 0.591424 0.5 --0.0417796 0.0485307 -0.0113147 0.409618 0.5 --0.00403867 0.0994311 -0.025339 0.66675 0.333427 --0.0240109 0.113853 -0.0165323 0.796291 0.5 --0.00301309 0.0994095 -0.0252863 0.76156 0.295616 --0.01624 0.0963836 -0.0301721 0.784465 0.5 -0.0479819 0.0723794 0.00739708 0.740223 0.5 --0.00175381 0.0993639 -0.0251444 0.662909 0.343541 --0.0643335 0.153058 -0.000307605 0.855541 0.5 --0.0634506 0.15272 2.24523e-05 0.765937 0.5 --0.062479 0.152546 0.000181648 0.674591 0.5 --0.0615001 0.152383 0.000341367 0.440415 0.5 --0.0603904 0.152423 0.000272984 0.579754 0.5 --0.0591465 0.152697 -5.16463e-05 0.611316 0.5 --0.0579352 0.153021 -0.000467328 0.64611 0.5 --0.0190955 0.0939751 -0.033709 0.571631 0.5 -0.0173756 0.109987 -0.0165543 0.620422 0.5 -0.0164623 0.11028 -0.0168584 0.603099 0.5 --0.003234 0.0960652 -0.0317479 0.795225 0.5 -0.0246727 0.0884534 -0.0236513 0.689104 0.5 --0.0576549 0.124438 -0.00742698 0.71743 0.5 -0.0355567 0.0878311 -0.0169845 0.756119 0.5 --0.007347 0.0952877 -0.0329727 0.744536 0.5 --0.0323987 0.116048 -0.0147978 0.80767 0.5 -0.024564 0.103479 -0.0175815 0.574549 0.5 -0.0236373 0.103743 -0.0178545 0.533187 0.5 -0.0197767 0.104476 -0.0186365 0.827878 0.5 --0.019309 0.0362824 -0.0277788 0.326668 0.5 -0.049023 0.0722611 0.00748575 0.772636 0.5 --0.0492612 0.115146 -0.0157671 0.694532 0.5 -0.0312862 0.107094 -0.0114403 0.555594 0.436161 --0.0147452 0.123455 -0.00671201 0.486247 0.5 --0.0266349 0.121939 -0.00696588 0.533081 0.5 -0.0314474 0.112439 -0.00717966 0.53896 0.5 --0.0324512 0.0353306 -0.0309147 0.265955 0.5 --0.0677301 0.181168 -0.057983 0.30968 0.437269 -0.00734712 0.12316 -0.0106668 0.709505 0.5 -0.0472621 0.0627303 -0.00287883 0.604553 0.5 --0.0533885 0.122494 -0.00938247 0.738927 0.5 --0.0335992 0.1188 -0.0116562 0.783476 0.5 --0.0465986 0.120315 -0.0132329 0.856053 0.5 -0.0132 0.115178 -0.01612 0.589003 0.469266 --0.0120214 0.178126 -0.0292101 0.29387 0.5 --0.0108764 0.178532 -0.0297831 0.272257 0.378888 --0.0488368 0.0970812 -0.0221898 0.798237 0.5 --0.0774288 0.0712256 0.0238415 0.753187 0.5 -0.00840839 0.117161 -0.0162388 0.662101 0.5 -0.0139693 0.112639 -0.017366 0.528024 0.5 --0.00663677 0.109707 -0.0221975 0.652225 0.5 --0.0334993 0.115969 -0.0147052 0.795538 0.5 --0.0312043 0.0422041 -0.0297469 0.683643 0.5 --0.0301706 0.0421547 -0.0296993 0.699259 0.5 --0.0291426 0.042089 -0.0296009 0.712095 0.5 -0.00221518 0.114462 -0.0193126 0.638808 0.5 -0.0204165 0.110729 -0.0153427 0.654981 0.5 -0.0120611 0.11304 -0.0178164 0.753773 0.5 -0.0110822 0.113195 -0.0179885 0.756333 0.5 --0.0348481 0.110331 -0.0188 0.708483 0.5 --0.0368977 0.110447 -0.0189068 0.658104 0.5 --0.0379579 0.11044 -0.0188969 0.653302 0.448673 -0.00980942 0.110782 -0.0193656 0.84515 0.5 -0.0117043 0.110341 -0.0188996 0.838671 0.5 -0.0153998 0.109294 -0.0177665 0.600846 0.5 -0.0228667 0.107306 -0.0156684 0.542901 0.416262 --0.0126238 0.0952928 -0.0330113 0.630879 0.5 --0.0386758 0.0462873 -0.0214583 0.349508 0.457493 --0.000964681 0.0992981 -0.0251507 0.682766 0.333112 -0.0276777 0.0972525 -0.0189451 0.679145 0.5 --0.0175437 0.119111 -0.0121224 0.679656 0.305495 --0.0511466 0.124736 -0.0077758 0.68225 0.5 --0.0228793 0.110931 -0.0194728 0.822392 0.5 --0.00234994 0.125819 -0.00745455 0.499101 0.5 -0.0135991 0.100782 -0.0226731 0.64252 0.5 --0.0239953 0.114912 -0.0156465 0.841174 0.5 --0.0348025 0.040194 -0.0297923 0.383835 0.47075 --0.0228318 0.114095 -0.016802 0.761643 0.5 --0.0217088 0.114301 -0.017023 0.751904 0.5 -0.00202824 0.108029 -0.0204102 0.829808 0.5 --0.0260568 0.0375908 -0.0291887 0.449862 0.5 -0.0133657 0.116504 -0.0155461 0.480849 0.5 -2.68966e-05 0.0991578 -0.0250032 0.676563 0.5 --0.0640607 0.152536 -0.00179872 0.796475 0.5 --0.0632934 0.151996 -0.00122225 0.739088 0.5 --0.0623453 0.151603 -0.000787959 0.52792 0.314652 --0.0615536 0.151288 -0.000477545 0.394138 0.449591 --0.0605331 0.151186 -0.000375192 0.49047 0.5 --0.0594261 0.151258 -0.000475846 0.502919 0.5 --0.0581213 0.151582 -0.000807379 0.561031 0.5 -0.0452487 0.0681916 0.00167659 0.448423 0.412236 -0.0229726 0.108506 -0.0149598 0.492805 0.5 -0.0367726 0.100261 -0.0101361 0.613958 0.5 --0.0160225 0.0958165 -0.0315688 0.477048 0.5 -0.0341266 0.0993109 -0.0131459 0.759207 0.5 -0.0308218 0.101142 -0.0151148 0.74016 0.5 -0.0299943 0.101654 -0.0156302 0.725665 0.5 -0.0291394 0.102042 -0.0160578 0.71067 0.5 -0.0273648 0.102724 -0.0167839 0.657532 0.5 -0.0264479 0.103016 -0.017087 0.642877 0.5 -0.0070795 0.101453 -0.021277 0.685398 0.5 -0.0178644 0.101883 -0.0218675 0.525756 0.5 -0.0188255 0.104686 -0.0188612 0.830812 0.5 -0.0147875 0.105075 -0.0193 0.866394 0.5 -0.0110737 0.125093 -0.00680678 0.546428 0.482826 --0.0111071 0.0879305 -0.0374747 0.780777 0.5 -0.00280587 0.10648 -0.0207933 0.793477 0.5 --0.00382944 0.108004 -0.0223654 0.581577 0.5 --0.00481267 0.108148 -0.0225124 0.714512 0.5 -0.046473 0.0747304 0.00699979 0.328172 0.5 -0.013228 0.0990749 -0.0229052 0.650151 0.5 --0.0109854 0.0891937 -0.0368255 0.586613 0.47845 -0.0471199 0.0728094 0.00697834 0.638801 0.5 --0.00125449 0.12189 -0.0112382 0.595478 0.5 --0.000114754 0.120081 -0.0133088 0.769579 0.5 -0.00335185 0.118611 -0.0157819 0.778642 0.5 -0.0122035 0.115305 -0.0162457 0.744849 0.5 --0.015298 0.113338 -0.0180384 0.649868 0.5 --0.00623267 0.10133 -0.0233757 0.828028 0.5 --0.0378518 0.0985762 -0.0221892 0.701614 0.5 -0.0297353 0.111221 -0.00987421 0.530976 0.472221 -0.000993844 0.0989182 -0.0247915 0.682702 0.5 -0.00197653 0.0987575 -0.0246237 0.713352 0.5 --0.0045943 0.109577 -0.0220661 0.685515 0.5 -0.0201484 0.0899648 -0.02526 0.679889 0.5 -0.00296819 0.0986498 -0.0244883 0.721713 0.5 --0.0396625 0.0399023 -0.0274567 0.316222 0.5 -0.00226918 0.115596 -0.0185376 0.609103 0.5 --0.0370217 0.0410946 -0.0286549 0.53588 0.5 --0.035752 0.0415598 -0.0291214 0.435963 0.5 --0.0344937 0.041903 -0.0294247 0.454633 0.5 --0.0333944 0.0420411 -0.0295771 0.622283 0.5 --0.0322785 0.0421631 -0.0296986 0.652475 0.5 -0.00392426 0.0984839 -0.0242888 0.727194 0.5 -0.00471531 0.10507 -0.02128 0.780216 0.5 --0.0370838 0.0486029 -0.013278 0.169319 0.5 --0.0380808 0.0483205 -0.0131774 0.168267 0.5 --0.0392444 0.0481623 -0.0129943 0.241427 0.5 --0.0404944 0.0478337 -0.0126145 0.206998 0.40387 --0.0417782 0.0473939 -0.012205 0.242749 0.5 --0.0367055 0.112873 -0.0174612 0.631873 0.5 --0.0302725 0.114038 -0.0167089 0.884161 0.5 --0.0313333 0.114057 -0.0167329 0.620762 0.5 -0.00733671 0.115147 -0.0180672 0.467625 0.5 -0.012072 0.11405 -0.0168987 0.59182 0.375126 --0.0217183 0.113234 -0.017904 0.445233 0.5 -0.000134491 0.116503 -0.0174981 0.800176 0.5 --0.0263041 0.10845 -0.0208491 0.819961 0.5 -0.0293628 0.105677 -0.0139766 0.618692 0.348511 -0.0544954 0.0655564 0.000403771 0.492719 0.478469 --0.0110297 0.11443 -0.0172182 0.882888 0.5 --0.00557868 0.109705 -0.0221876 0.677757 0.5 -0.0309621 0.0953572 -0.0169293 0.700168 0.5 -0.0049437 0.0984176 -0.0242128 0.728581 0.328136 --0.0314758 0.118803 -0.0116777 0.674906 0.5 --0.0591547 0.117476 -0.0120923 0.573413 0.447865 -0.0296113 0.108994 -0.0114792 0.538012 0.5 --0.0229141 0.111944 -0.0185359 0.803465 0.5 -0.0110271 0.112101 -0.0187639 0.63166 0.5 --0.0077039 0.113721 -0.0184781 0.776173 0.290989 -0.00592947 0.0982847 -0.0240623 0.732067 0.326346 -0.00695506 0.0982177 -0.0239936 0.740747 0.322373 -0.0101806 0.114501 -0.0173735 0.559259 0.393209 -0.0217819 0.106251 -0.0165369 0.66217 0.5 --0.055623 0.120216 -0.0109924 0.514514 0.5 --0.0120923 0.11442 -0.0172013 0.878462 0.5 -0.00793635 0.0980328 -0.0238123 0.758219 0.5 --0.0631603 0.151216 -0.00238889 0.648848 0.5 --0.0624412 0.150596 -0.00171821 0.46579 0.5 --0.06162 0.150156 -0.00124665 0.389796 0.5 --0.0607079 0.149875 -0.000940868 0.532066 0.5 --0.0596465 0.149865 -0.00094307 0.553055 0.5 --0.0584945 0.150006 -0.0011129 0.59524 0.5 --0.0571547 0.150227 -0.00146353 0.606695 0.430683 -0.0220342 0.108737 -0.0152173 0.500258 0.5 -0.033089 0.0892132 -0.0184699 0.749998 0.5 --0.0136643 0.0922643 -0.0359313 0.880904 0.5 -0.0211966 0.123092 -0.002693 0.605579 0.455298 --0.00886334 0.103392 -0.0235214 0.666715 0.5 --0.00689074 0.103109 -0.0232386 0.672827 0.5 --0.00282516 0.102957 -0.0229221 0.558339 0.482046 -0.0473804 0.0650284 -0.00116263 0.47864 0.486925 -0.00409443 0.101828 -0.021842 0.69759 0.5 -0.00810708 0.101446 -0.0211916 0.6336 0.5 -0.0188129 0.101666 -0.0216414 0.535021 0.460894 -0.020694 0.101208 -0.0211426 0.525039 0.5 -0.0225251 0.100664 -0.0205487 0.572847 0.5 -0.0260175 0.0991397 -0.0189626 0.68713 0.5 -0.0318352 0.0959581 -0.0155753 0.716829 0.5 -0.0359605 0.0936242 -0.0130764 0.696952 0.5 -0.0399822 0.0910991 -0.010396 0.567223 0.5 --0.0163397 0.112374 -0.0190184 0.667188 0.5 -0.0469627 0.0735494 0.00823046 0.637102 0.5 -0.0121657 0.0990535 -0.0228743 0.634076 0.5 --0.00994091 0.089177 -0.0367642 0.565057 0.483027 --0.0310423 0.0467686 -0.0260418 0.542477 0.5 -0.0301974 0.0887542 -0.0200097 0.741185 0.5 --0.00121687 0.120006 -0.0132177 0.79178 0.5 --0.0628829 0.0649103 0.0305991 0.505183 0.5 --0.0619009 0.0678892 0.0352357 0.515188 0.389612 --0.0148084 0.124344 -0.00565133 0.467449 0.5 -0.00895989 0.0979651 -0.0237371 0.786588 0.5 --0.0252122 0.108563 -0.020971 0.610904 0.5 --0.00996463 0.114432 -0.0172214 0.855376 0.5 -0.0138891 0.0942573 -0.0257865 0.485388 0.5 --0.00103499 0.117326 -0.0163697 0.53864 0.5 -0.00994371 0.0978413 -0.0235989 0.818126 0.5 -0.0221704 0.109999 -0.014573 0.635974 0.5 -0.0230644 0.109683 -0.0142211 0.519933 0.5 -0.0239811 0.109404 -0.0139261 0.53106 0.479726 -0.0249492 0.109234 -0.0137375 0.533079 0.465034 --0.0186027 0.111108 -0.0196906 0.646298 0.452935 --0.0196643 0.111086 -0.0196461 0.611588 0.5 -0.02369 0.10485 -0.01704 0.687835 0.430819 -0.0217204 0.105135 -0.0173432 0.635305 0.5 -0.0226853 0.115014 -0.0119595 0.552176 0.446005 -0.0235731 0.114695 -0.0116124 0.53334 0.440302 --0.0397761 0.115072 -0.015742 0.607987 0.467926 -0.0322493 0.109934 -0.00848346 0.570128 0.5 -0.0330411 0.10941 -0.00791346 0.564279 0.366658 --0.0386776 0.11516 -0.0158482 0.850959 0.5 --0.0159305 0.0950186 -0.0327431 0.547205 0.5 -0.0569982 0.0642691 0.00177262 0.713416 0.5 -0.0120747 0.0958655 -0.0254962 0.782861 0.5 --0.00117532 0.0998676 -0.0237773 0.778507 0.5 -0.0208954 0.116644 -0.0117151 0.489012 0.450589 -0.0199827 0.116932 -0.0120267 0.480361 0.5 -0.0321971 0.112814 -0.0055615 0.544509 0.455799 -0.0313786 0.113275 -0.00606229 0.659639 0.5 --0.0022335 0.116052 -0.016996 0.778883 0.5 --0.00341693 0.115827 -0.0167447 0.800296 0.5 -0.00933928 0.0947261 -0.0283032 0.579181 0.5 --0.024291 0.106203 -0.0224613 0.667748 0.44212 --0.0539655 0.0364915 -0.0115887 0.216958 0.5 --0.0374215 0.0466159 -0.0218044 0.520068 0.322127 -0.0109672 0.0977693 -0.023517 0.846553 0.5 --0.00361865 0.109419 -0.0218821 0.554529 0.484396 --0.00102634 0.107271 -0.0216101 0.6305 0.5 -0.0302323 0.0969553 -0.0166472 0.715353 0.5 -0.0276359 0.0629152 -0.0215123 0.766231 0.5 -0.011956 0.0976358 -0.0233787 0.88586 0.5 --0.0114932 0.036278 -0.0256312 0.285553 0.5 -0.0207921 0.106393 -0.0166835 0.665185 0.5 -0.0257808 0.10679 -0.0151172 0.605645 0.5 -0.0251044 0.111527 -0.0122017 0.567383 0.458974 -0.00314926 0.122256 -0.0116623 0.593151 0.5 -0.0111022 0.114226 -0.0170859 0.5823 0.39193 -0.0178849 0.106917 -0.0172488 0.53532 0.467921 --0.0313363 0.11605 -0.0148117 0.815061 0.5 --0.00967152 0.0968708 -0.0306358 0.555953 0.413923 -0.012978 0.0975651 -0.0232996 0.661518 0.5 --0.0629725 0.150532 -0.00369044 0.534146 0.5 --0.0624071 0.149633 -0.00268499 0.414473 0.44754 --0.0616129 0.149191 -0.00221638 0.374854 0.5 --0.060738 0.148827 -0.00180261 0.527338 0.5 --0.0598207 0.148547 -0.00150215 0.615393 0.5 --0.058758 0.148538 -0.00150368 0.64973 0.5 --0.0576106 0.148673 -0.00161022 0.678226 0.5 -0.0211195 0.109025 -0.0155233 0.51187 0.5 --0.0012258 0.095852 -0.0315171 0.813047 0.5 -0.00685606 0.0990064 -0.0228407 0.841248 0.5 --0.0129939 0.103563 -0.0236849 0.618434 0.5 --0.0078767 0.103255 -0.023393 0.616321 0.5 --0.00579466 0.103184 -0.0232761 0.657685 0.5 --0.000759903 0.102685 -0.0227147 0.662866 0.5 -0.00315207 0.102056 -0.0221009 0.700542 0.5 -0.00608628 0.101527 -0.0214717 0.715493 0.5 --0.00890397 0.114438 -0.0172305 0.815358 0.5 -0.0197796 0.101487 -0.0214363 0.536991 0.41684 -0.021598 0.10091 -0.0208238 0.538135 0.5 -0.00411662 0.125005 -0.00865855 0.694799 0.5 -0.00616718 0.124896 -0.00854967 0.564733 0.5 -0.0102653 0.0944766 -0.0280245 0.58137 0.474014 --0.0628844 0.116571 -0.0108779 0.558342 0.5 --0.0063607 0.125295 -0.00886018 0.671027 0.5 --0.00430179 0.125159 -0.00873129 0.535694 0.5 --0.0223108 0.122995 -0.00618559 0.43455 0.454833 --0.053836 0.112592 -0.0169505 0.644329 0.5 -0.0139694 0.0974449 -0.0231882 0.695614 0.5 --0.0367435 0.0437017 -0.0271198 0.478269 0.5 --0.0516192 0.112658 -0.0171697 0.667216 0.5 --0.0434138 0.111151 -0.0176174 0.600674 0.476512 --0.0033562 0.120959 -0.0122202 0.84935 0.5 --0.035558 0.0430076 -0.0284728 0.535832 0.5 -0.0150281 0.097439 -0.0231662 0.724143 0.5 -0.0161097 0.0974052 -0.0230873 0.764881 0.5 --0.0159384 0.124168 -0.00545234 0.498418 0.5 --0.0375712 0.124334 -0.00748059 0.502979 0.5 --0.0570526 0.113331 -0.0158151 0.448809 0.448537 --0.0559199 0.113507 -0.0160179 0.595249 0.5 -0.0101747 0.096292 -0.0259611 0.760708 0.5 --0.0147917 0.0951887 -0.0329173 0.613424 0.5 -0.00037651 0.0978532 -0.0276151 0.698072 0.5 -0.017211 0.088423 -0.0276786 0.697723 0.5 --0.0271072 0.11707 -0.0138992 0.814734 0.5 --0.0249824 0.117062 -0.0139085 0.845839 0.5 -0.0208761 0.115613 -0.0126037 0.518256 0.5 -0.0217846 0.11532 -0.0122874 0.518308 0.5 --0.0287709 0.04365 -0.0290051 0.662034 0.5 -0.00549299 0.117639 -0.0167508 0.396399 0.453672 -0.00588424 0.100173 -0.0220733 0.671773 0.5 --0.00111933 0.100971 -0.0229536 0.887792 0.5 --0.00714364 0.101607 -0.0236448 0.789881 0.5 --0.013279 0.101966 -0.0239644 0.485306 0.5 -0.0043586 0.119499 -0.0147306 0.577394 0.472321 -0.0244076 0.117212 -0.0083203 0.495634 0.471194 -0.00827474 0.123868 -0.00945393 0.727833 0.5 --0.0343373 0.0443897 -0.0277936 0.482841 0.5 -0.0288386 0.111536 -0.010211 0.512234 0.477368 --0.025262 0.107417 -0.0217613 0.639082 0.5 --0.0295595 0.111353 -0.0178807 0.66641 0.5 --0.00665705 0.114661 -0.0174859 0.804903 0.5 -0.0305345 0.113708 -0.00653825 0.666741 0.5 -0.0296623 0.114075 -0.00693776 0.655762 0.5 -0.0123912 0.116671 -0.0157278 0.570427 0.5 --0.0554295 0.0433 -0.00807812 0.59422 0.5 --0.0285619 0.108073 -0.0204718 0.556544 0.474239 -0.0198041 0.103539 -0.0196351 0.58789 0.469794 -0.01688 0.104029 -0.0201606 0.840333 0.5 --0.0601038 0.0347331 -0.00989443 0.129922 0.5 --0.0165812 0.0355875 -0.0267111 0.229949 0.5 --0.00663864 0.115688 -0.0165748 0.855543 0.5 --0.0108336 0.116804 -0.0157483 0.609938 0.5 --0.0584278 0.0383351 -0.00941724 0.34768 0.5 --0.0633747 0.036885 -0.0080479 0.316348 0.5 --0.0337721 0.121485 -0.00843946 0.463633 0.5 -0.0252498 0.0645397 -0.0230446 0.736113 0.5 -0.015355 0.119233 -0.0124997 0.507813 0.5 -0.0181426 0.117476 -0.0126083 0.462209 0.5 -0.0124864 0.11785 -0.0149995 0.463186 0.5 -0.0305961 0.110839 -0.00946183 0.54689 0.5 --0.0238167 0.0929782 -0.0327062 0.36411 0.5 --0.0117557 0.0345134 -0.025836 0.157137 0.5 --0.047221 0.115086 -0.0157836 0.688942 0.5 -0.0396278 0.103602 -0.00160767 0.598617 0.5 -0.0322846 0.110983 -0.00760517 0.536308 0.5 --0.00634438 0.0961732 -0.0318818 0.723393 0.5 -0.00176571 0.0954911 -0.0311224 0.794138 0.5 --0.0180945 0.124042 -0.00530863 0.511771 0.5 --0.0622568 0.148888 -0.00391238 0.378284 0.5 --0.0616232 0.148175 -0.003118 0.345834 0.5 --0.0608083 0.147764 -0.00265379 0.471559 0.383966 --0.0599387 0.147394 -0.00221747 0.552287 0.379913 --0.0589488 0.147198 -0.00200697 0.699122 0.5 --0.0579829 0.147131 -0.0018633 0.788302 0.5 -0.0202177 0.109327 -0.0158556 0.619964 0.5 -0.0338998 0.0888046 -0.0179815 0.746178 0.5 -0.0523857 0.0624129 -0.0025136 0.498624 0.459455 --0.0119328 0.103575 -0.0236984 0.64215 0.5 --0.0217098 0.115215 -0.0159934 0.748586 0.5 --0.0611913 0.173613 -0.0615062 0.364051 0.5 --0.00180961 0.102694 -0.0227875 0.538454 0.478256 --0.0569183 0.115707 -0.0143002 0.45955 0.5 -0.00507814 0.101571 -0.0215886 0.715254 0.5 -0.00917846 0.101539 -0.0214106 0.598533 0.463604 -0.0139515 0.0933972 -0.0268828 0.506298 0.5 -0.0326207 0.0944486 -0.0159568 0.681381 0.395873 --0.013127 0.120519 -0.0116431 0.670522 0.305987 -0.0465137 0.0736858 0.00606841 0.324902 0.470379 --0.0229191 0.119996 -0.0109969 0.678283 0.5 --0.019191 0.123923 -0.00519119 0.47172 0.5 --0.00455763 0.115688 -0.0165869 0.847709 0.5 --0.0229012 0.115018 -0.0157633 0.787267 0.5 -0.0111864 0.115382 -0.0163281 0.742361 0.5 --0.0603076 0.0409502 -0.0078507 0.599525 0.435067 --0.0152754 0.103231 -0.0233341 0.606972 0.5 -0.00372554 0.105196 -0.0213905 0.77264 0.5 --0.0203338 0.123782 -0.00500918 0.68935 0.5 --0.0282283 0.117946 -0.012805 0.751187 0.5 -0.0213227 0.122349 -0.00385694 0.59747 0.431976 -0.00824435 0.0966482 -0.0263491 0.739347 0.32764 -0.00104126 0.108173 -0.0205653 0.830675 0.5 --0.0190957 0.0968508 -0.0266962 0.470435 0.39637 -0.0485163 0.0672488 0.000612911 0.628534 0.5 --0.00556188 0.116801 -0.0157696 0.624604 0.5 --0.0580129 0.118724 -0.0113962 0.551875 0.5 --0.052193 0.119749 -0.012566 0.781435 0.5 -0.0336763 0.102539 -0.0125747 0.723794 0.5 -0.0328155 0.102974 -0.0130264 0.728383 0.5 --0.0434452 0.120253 -0.0131867 0.876065 0.5 -0.0304322 0.0902625 -0.0195701 0.747052 0.5 -0.0344822 0.102017 -0.0120204 0.730377 0.5 --0.0567885 0.123073 -0.00794084 0.89501 0.5 --0.0185957 0.118181 -0.0131167 0.696906 0.5 -0.0103692 0.116852 -0.0159048 0.725844 0.5 --0.0409771 0.113795 -0.0164017 0.633547 0.5 --0.0504236 0.113946 -0.0165184 0.668524 0.446411 --0.0514821 0.113924 -0.0164877 0.654849 0.5 --0.0536811 0.113759 -0.0162997 0.630328 0.5 --0.0525829 0.113848 -0.0164008 0.636494 0.5 --0.0328911 0.122131 -0.00712262 0.588513 0.5 -0.0102801 0.12364 -0.00922404 0.729473 0.393784 --0.0522913 0.124591 -0.00759738 0.756769 0.5 --0.0129957 0.0883892 -0.0379783 0.717359 0.5 --0.00131456 0.122836 -0.0102349 0.604155 0.45248 --0.00577101 0.098213 -0.0280417 0.653391 0.5 -0.0394869 0.10531 0.000602508 0.566343 0.432139 --0.00679638 0.0982761 -0.0281107 0.581121 0.381689 -0.0236022 0.115739 -0.0107408 0.507741 0.5 -0.0209713 0.0966458 -0.0223043 0.641405 0.477326 -0.021889 0.0963552 -0.0220144 0.636675 0.5 -0.00163035 0.0962275 -0.0299038 0.755745 0.5 -0.0547176 0.0680176 0.00187225 0.434889 0.5 -0.0105539 0.104067 -0.0202515 0.904099 0.5 -0.028326 0.0882981 -0.0214817 0.733689 0.5 -0.0227624 0.0959793 -0.0216236 0.656599 0.5 -0.0236771 0.0956901 -0.0213272 0.646082 0.47275 -0.0204284 0.122662 -0.00423372 0.581421 0.5 --0.0618136 0.0453397 -0.00172473 0.375298 0.5 -0.024601 0.0954054 -0.0210454 0.660031 0.472355 -0.0276762 0.118315 -0.00350857 0.623719 0.5 -0.00929873 0.115842 -0.01682 0.530959 0.481115 -0.0255559 0.0952317 -0.0208124 0.666546 0.5 --0.0326373 0.119597 -0.0104942 0.701117 0.5 --0.0167796 0.121583 -0.00869919 0.773487 0.5 -0.0408877 0.0928069 -0.00817715 0.553109 0.404089 -0.00445187 0.116712 -0.0177471 0.611049 0.5 -0.027859 0.114683 -0.0075901 0.555871 0.483626 -0.026954 0.114984 -0.00791167 0.543742 0.471221 --0.056641 0.0429978 -0.00777539 0.603186 0.5 --0.0578691 0.0427244 -0.00751381 0.612448 0.42708 --0.0590296 0.0424919 -0.00727859 0.620995 0.5 -0.0158574 0.104091 -0.0202309 0.843508 0.5 -0.013731 0.104072 -0.0202068 0.858701 0.5 --0.00349323 0.113677 -0.0184484 0.855898 0.5 -0.0147725 0.0939169 -0.0254338 0.524034 0.5 --0.0369768 0.047531 -0.0185543 0.262951 0.5 -0.0264487 0.0948748 -0.0204583 0.680081 0.5 --0.0299173 0.0383162 -0.0299848 0.433102 0.5 --0.0634823 0.0352819 -0.00824664 0.209876 0.5 --0.0466544 0.119173 -0.0140371 0.876354 0.5 --0.0477624 0.119115 -0.0139706 0.60677 0.5 -0.0273313 0.094554 -0.020088 0.681613 0.5 -0.011579 0.120136 -0.0134617 0.439252 0.5 -0.0172033 0.118701 -0.0119316 0.465101 0.481569 -0.0282191 0.0941913 -0.0197138 0.692746 0.5 -0.0277565 0.117474 -0.00457839 0.524858 0.5 --0.0400399 0.0367774 -0.0284153 0.196305 0.5 -0.026933 0.109961 -0.012516 0.534288 0.363264 --0.00347452 0.114725 -0.0175669 0.831456 0.5 -0.0388181 0.104067 -0.00210374 0.605756 0.5 --0.00562089 0.115673 -0.0165634 0.866546 0.5 --0.0605064 0.0394509 -0.00845033 0.452016 0.5 --0.000575856 0.0980296 -0.0278345 0.706421 0.5 --0.00115893 0.11911 -0.0142672 0.772128 0.289437 -0.0244135 0.114257 -0.0111426 0.506287 0.5 -0.0291029 0.0938741 -0.0193597 0.703349 0.5 --0.0616609 0.147135 -0.00399772 0.266776 0.5 --0.06089 0.146655 -0.00344226 0.338709 0.5 --0.0600861 0.14609 -0.00280453 0.436373 0.5 --0.0592476 0.145654 -0.00231326 0.554193 0.5 --0.0583136 0.145422 -0.00203607 0.636687 0.480177 -0.0192911 0.109605 -0.016128 0.628466 0.454374 -0.0347324 0.0882263 -0.0174421 0.750932 0.5 -0.00586712 0.0991316 -0.0229749 0.846585 0.5 -0.0349035 0.0987755 -0.0125611 0.753723 0.5 --0.0189866 0.10628 -0.022556 0.690119 0.5 -0.0299737 0.0934986 -0.0189639 0.704525 0.5 -0.0308492 0.0931255 -0.0185705 0.70708 0.5 --0.0332024 0.0455956 -0.0269373 0.652401 0.322549 --0.0134033 0.110892 -0.0194483 0.85467 0.5 -0.0256081 0.104449 -0.0166247 0.613006 0.387426 -0.00614351 0.12581 -0.00755937 0.691321 0.5 --0.0164766 0.111102 -0.0196668 0.68463 0.5 -0.0326734 0.101648 -0.0136311 0.731594 0.5 --0.0377619 0.0480619 -0.0149351 0.179796 0.38847 --0.0389438 0.047744 -0.0146455 0.280465 0.5 -0.0317035 0.0927362 -0.0181479 0.708714 0.5 --0.0544366 0.120435 -0.011246 0.521842 0.5 --0.0555537 0.0420256 -0.00889368 0.591601 0.5 --0.0567567 0.0416998 -0.00856929 0.602629 0.5 --0.0615105 0.0406302 -0.00752326 0.565035 0.5 -0.0325469 0.0922927 -0.0176842 0.723583 0.5 --0.0579749 0.117711 -0.0123561 0.552431 0.5 --0.00524932 0.101176 -0.023207 0.86443 0.5 --0.0355388 0.0441134 -0.0275262 0.478708 0.5 --0.0331847 0.0445939 -0.0279862 0.761978 0.5 --0.0288608 0.0448354 -0.0281934 0.557038 0.5 --0.0110869 0.111309 -0.0199045 0.762946 0.5 -0.0333653 0.0918289 -0.0171871 0.730111 0.5 -0.0237477 0.0605032 -0.0251433 0.698389 0.5 -0.0229081 0.0608908 -0.0255785 0.685576 0.5 -0.00394905 0.100531 -0.0224465 0.659723 0.5 --0.0413464 0.0470648 -0.0139804 0.241345 0.5 -0.0115845 0.121127 -0.0125402 0.523404 0.484577 --0.0380903 0.041957 -0.0274154 0.483274 0.5 --0.0338627 0.110196 -0.0186635 0.712994 0.5 --0.0544975 0.121335 -0.0101688 0.524954 0.469387 -0.00903586 0.100133 -0.0220275 0.57942 0.5 --0.0285891 0.0935252 -0.0252241 0.354667 0.5 --0.0273522 0.0939518 -0.0257303 0.266494 0.272231 --0.0261065 0.0944666 -0.0262366 0.262213 0.438909 --0.0248167 0.0949702 -0.0267501 0.294001 0.43149 -0.0139517 0.124505 -0.00617757 0.55943 0.484903 -0.0366018 0.0989128 -0.0107075 0.605249 0.483136 --0.0235591 0.0953745 -0.0271663 0.39254 0.5 --0.0321271 0.107425 -0.0197503 0.842873 0.5 --0.0043048 0.123153 -0.010566 0.590122 0.5 --0.038773 0.11398 -0.0166127 0.85303 0.5 --0.0398766 0.113891 -0.0165093 0.604002 0.5 --0.0569551 0.11454 -0.0150747 0.45535 0.475939 --0.0581438 0.114319 -0.0148345 0.436929 0.5 --0.0605441 0.113772 -0.0142303 0.582461 0.5 --0.0384117 0.12376 -0.00887525 0.477788 0.5 --0.0375072 0.123454 -0.00854988 0.50528 0.5 -0.0106204 0.119324 -0.014581 0.442833 0.432873 -0.00962081 0.119433 -0.0146957 0.528624 0.5 -0.000359464 0.0907103 -0.0342066 0.601301 0.5 -0.0533305 0.0723883 0.0073663 0.869563 0.5 --0.00330066 0.124033 -0.00952648 0.475518 0.447698 --0.00342912 0.0915905 -0.0351346 0.703404 0.5 -0.0341879 0.0913684 -0.0166968 0.722534 0.5 -0.0350622 0.0909926 -0.0162992 0.72156 0.5 -0.00364343 0.0960341 -0.0296841 0.764955 0.5 --0.0125598 0.0943837 -0.0340846 0.693608 0.337102 --0.0114982 0.0943996 -0.0340943 0.735673 0.5 --0.0614235 0.172219 -0.0618413 0.400189 0.5 -0.0205436 0.121905 -0.00538746 0.587613 0.5 -0.018776 0.122594 -0.0061273 0.569399 0.5 -0.019654 0.122236 -0.00577023 0.574948 0.5 -0.0214379 0.121585 -0.00505488 0.587866 0.5 -0.0178615 0.122874 -0.00643626 0.569397 0.5 -0.0169165 0.123099 -0.00667688 0.735908 0.5 --0.023326 0.122164 -0.00726067 0.454765 0.5 --0.0210403 0.122456 -0.00761783 0.454019 0.5 --0.0199406 0.122541 -0.00772092 0.468171 0.5 --0.0189216 0.122512 -0.00768052 0.503797 0.5 --0.00527436 0.124342 -0.0098488 0.547185 0.5 --0.00638198 0.124385 -0.00985914 0.537673 0.457362 --0.0086348 0.124041 -0.00947049 0.640587 0.5 --0.0157593 0.121529 -0.00864145 0.747941 0.5 --0.00747948 0.0919417 -0.035549 0.682301 0.5 -0.0359032 0.0905437 -0.0158269 0.713842 0.5 -0.0366564 0.089932 -0.0151793 0.701737 0.5 -0.0287652 0.114389 -0.00726895 0.653804 0.5 -0.0329815 0.112282 -0.00498623 0.527472 0.484178 -0.0337455 0.11169 -0.0043358 0.526535 0.460934 --0.0601959 0.0422699 -0.00706205 0.620509 0.423171 --0.0614063 0.0419532 -0.0067475 0.60884 0.5 --0.0135961 0.12464 -0.00600832 0.423776 0.375058 -0.0359226 0.0926166 -0.0140085 0.673611 0.5 -0.00270214 0.10527 -0.0214784 0.749886 0.5 --0.0223025 0.0957816 -0.0275832 0.403678 0.5 -0.0223281 0.111319 -0.0139783 0.548545 0.5 -0.0196594 0.10025 -0.0221259 0.578796 0.5 -0.0374058 0.0893177 -0.0145297 0.689463 0.5 --0.0179257 0.0971306 -0.0269629 0.775366 0.5 -0.0353216 0.0863185 -0.0174167 0.755942 0.5 -0.0336501 0.0872305 -0.0183746 0.757562 0.5 -0.00937092 0.0937948 -0.0292997 0.499841 0.459382 -0.0496183 0.0673428 0.0005193 0.632071 0.5 -0.00311717 0.113125 -0.0199945 0.692675 0.5 --0.0487025 0.121311 -0.0122547 0.802373 0.5 -0.0106278 0.12033 -0.0136749 0.530812 0.468475 --0.0413062 0.123313 -0.010402 0.690581 0.35076 --0.0312047 0.123257 -0.00431908 0.603414 0.5 -0.0268137 0.118694 -0.00391821 0.615638 0.5 --0.0504087 0.0385253 -0.0116443 0.480614 0.5 -0.0258455 0.110181 -0.0127425 0.543288 0.361941 --0.0368171 0.04253 -0.0279956 0.526115 0.5 -0.0314584 0.111437 -0.00809824 0.536958 0.474182 --0.0211666 0.0959679 -0.0277597 0.739919 0.5 --0.0792107 0.0760132 0.0281283 0.625316 0.5 --0.0284948 0.111359 -0.0178892 0.89876 0.5 --0.0604419 0.114971 -0.0134731 0.585213 0.5 -0.0436593 0.058746 -0.00488132 0.612698 0.5 -0.0381644 0.0887078 -0.0138852 0.709922 0.5 --0.00645384 0.126073 -0.0076982 0.457211 0.409571 -0.00338984 0.116722 -0.0177517 0.612855 0.5 --0.0602464 0.144668 -0.00329576 0.468455 0.5 --0.0594754 0.144099 -0.00268098 0.588624 0.5 --0.0585858 0.14384 -0.00236725 0.624605 0.5 --0.0576194 0.143675 -0.00218012 0.595581 0.477321 -0.0237552 0.0887468 -0.0239425 0.687242 0.5 --0.0147383 0.10835 -0.0207588 0.874471 0.5 --0.0343486 0.0367995 -0.0305331 0.233493 0.5 --0.0158006 0.108342 -0.0207487 0.679635 0.449107 --0.00891802 0.0982381 -0.0280905 0.502077 0.441066 --0.0467348 0.10982 -0.0182008 0.736162 0.5 --0.0447252 0.109884 -0.0183457 0.636644 0.459048 --0.0318614 0.109962 -0.0183828 0.668195 0.458326 -0.00917706 0.113608 -0.0184169 0.473892 0.5 --0.00868026 0.111843 -0.0204858 0.797158 0.5 -0.0438775 0.06952 0.000229591 0.38172 0.5 -0.0350851 0.0848737 -0.0178837 0.757747 0.5 -0.0361999 0.103252 -0.0093129 0.605 0.5 -0.025598 0.0610493 -0.0236458 0.74283 0.5 --0.0386607 0.116212 -0.0149511 0.858695 0.5 -0.0168546 0.104974 -0.0191686 0.835303 0.5 -0.00234985 0.1177 -0.0168004 0.800164 0.5 --0.0320761 0.0447291 -0.0281131 0.809315 0.5 --0.0252093 0.112572 -0.0171753 0.784503 0.5 --0.00988755 0.103466 -0.0236142 0.642251 0.5 -0.0158478 0.102035 -0.022 0.896988 0.5 --0.0533077 0.12062 -0.0114531 0.535923 0.471745 -0.0126337 0.110109 -0.0186257 0.610881 0.5 --0.0137851 0.096091 -0.0318323 0.566991 0.5 --0.0185539 0.095955 -0.0297446 0.453376 0.5 -0.0301667 0.116977 -0.00204442 0.628165 0.476529 --0.0554517 0.0444829 -0.0071986 0.611548 0.5 -0.0206713 0.0868458 -0.0260413 0.736242 0.5 --0.0316803 0.111369 -0.0179291 0.684426 0.5 -0.0313508 0.109263 -0.00976359 0.566724 0.438974 -0.0296893 0.110128 -0.0107004 0.553629 0.5 -0.0094151 0.117047 -0.0161127 0.678726 0.5 -0.0074278 0.117326 -0.0164147 0.662435 0.5 --0.0522647 0.117566 -0.0142997 0.844168 0.5 --0.010059 0.109235 -0.0217082 0.813079 0.5 -0.0512305 0.0723962 0.00737259 0.579294 0.5 -0.046342 0.0671736 0.000660587 0.594713 0.5 --0.0315189 0.0351239 -0.0306591 0.272138 0.5 -0.0311435 0.0885162 -0.0196004 0.746733 0.5 --0.0346622 0.118788 -0.0116368 0.841076 0.5 -0.0231929 0.110938 -0.0135659 0.647097 0.400136 --0.0148324 0.107132 -0.0214612 0.884652 0.5 --0.0308996 0.107699 -0.0200324 0.799966 0.5 -0.016843 0.101962 -0.021958 0.908256 0.5 --0.0376719 0.114063 -0.0167039 0.871745 0.5 --0.0449755 0.115277 -0.0159431 0.698181 0.5 --0.0593188 0.114075 -0.0145597 0.57788 0.5 --0.0105368 0.0850533 -0.0384463 0.670336 0.467319 -0.00653601 0.0924318 -0.0319265 0.551344 0.5 -0.00374161 0.0952291 -0.0308324 0.813295 0.5 -0.00842498 0.094018 -0.0295425 0.50549 0.5 --0.0142621 0.120334 -0.0114431 0.650718 0.311285 --0.0470116 0.0710509 0.0409961 0.750129 0.435331 --0.0464121 0.035458 -0.0187253 0.144677 0.5 -0.00789859 0.0999878 -0.0218807 0.870642 0.5 --0.0455406 0.124353 -0.00945534 0.63757 0.5 --0.0444374 0.124419 -0.00954541 0.641977 0.5 --0.0434133 0.12436 -0.00948612 0.649183 0.5 --0.0033226 0.122983 -0.0103909 0.477627 0.5 --0.0063009 0.09425 -0.0339062 0.861727 0.5 -0.0121427 0.124109 -0.00776299 0.728945 0.5 --0.0656835 0.180548 -0.0590311 0.375183 0.392286 --0.0608326 0.17151 -0.0610901 0.333259 0.5 --0.0144059 0.112046 -0.0186792 0.653329 0.5 --0.0254305 0.0357675 -0.0290845 0.297778 0.5 --0.0199914 0.0962147 -0.0280142 0.73856 0.5 --0.0188119 0.0964492 -0.0282644 0.412969 0.462049 --0.0176693 0.0966335 -0.0284397 0.774989 0.5 --0.0164919 0.0968814 -0.0286925 0.760406 0.5 --0.0153516 0.0970497 -0.0288687 0.789015 0.5 --0.0142085 0.0972199 -0.0290358 0.457899 0.430715 --0.0187173 0.108826 -0.0212527 0.649997 0.5 -0.0130247 0.112857 -0.017601 0.612828 0.5 -0.014854 0.103191 -0.021265 0.859398 0.5 -0.0158783 0.103153 -0.0212298 0.877135 0.5 -0.0145822 0.10067 -0.0225932 0.690931 0.5 --0.00658339 0.116828 -0.0157946 0.878358 0.5 --0.00744498 0.124256 -0.00972454 0.519296 0.5 --0.00981592 0.123797 -0.00918874 0.603598 0.5 --0.0220536 0.0952953 -0.0290683 0.425805 0.5 --0.0232226 0.0950277 -0.0288098 0.398097 0.431486 --0.0119418 0.120727 -0.011899 0.692832 0.5 --0.0244677 0.122018 -0.00707965 0.489848 0.5 --0.0224767 0.091498 -0.0352097 0.487919 0.5 -0.00964377 0.120482 -0.0138306 0.535371 0.469225 -0.00862183 0.120558 -0.0139068 0.505241 0.445281 --0.0625553 0.041701 -0.00649092 0.572252 0.5 --0.0638531 0.04136 -0.00615806 0.522861 0.5 --0.0356809 0.123888 -0.0070042 0.548528 0.5 --0.0352566 0.0382472 -0.0299775 0.282884 0.5 --0.0158582 0.107196 -0.0215252 0.658695 0.5 -0.00194863 0.100763 -0.0227079 0.65077 0.462739 -0.0116034 0.0355849 -0.021581 0.540697 0.5 --0.0130717 0.0973914 -0.0292103 0.459527 0.5 --0.011049 0.124435 -0.00785173 0.543578 0.5 -0.0232727 0.0989983 -0.0208236 0.641269 0.5 --0.0356336 0.11996 -0.0108661 0.576147 0.5 --0.0346794 0.119765 -0.0106544 0.831373 0.5 --0.016783 0.0973001 -0.0271368 0.760706 0.5 --0.0306891 0.120328 -0.00923215 0.625032 0.5 --0.0295885 0.120405 -0.00932945 0.608104 0.5 -0.00748569 0.0942514 -0.0297902 0.501325 0.5 -0.0213104 0.092205 -0.0236008 0.638948 0.5 --0.027433 0.108265 -0.0206521 0.577115 0.464992 --0.00743438 0.120242 -0.0134406 0.841345 0.5 --0.0383512 0.122877 -0.00994551 0.662908 0.5 --0.0392946 0.123101 -0.0101877 0.687281 0.5 --0.0402835 0.123242 -0.0103332 0.686146 0.5 --0.0685344 0.180035 -0.058648 0.22021 0.5 --0.0166332 0.101644 -0.0236856 0.814814 0.5 -0.0514429 0.0626408 -0.00275857 0.46181 0.5 -0.00830607 0.0917456 -0.031199 0.581212 0.436692 --0.00451637 0.113738 -0.0185133 0.823157 0.5 -0.0248664 0.0898261 -0.023121 0.664214 0.468684 --0.0498837 0.0340852 -0.0133065 0.163797 0 --0.0356548 0.0459643 -0.0252685 0.367549 0.5 -0.0144798 0.109585 -0.0180587 0.629448 0.5 --0.00246627 0.111608 -0.0202454 0.635048 0.46818 --0.0177322 0.108689 -0.0211068 0.687362 0.431911 -0.0252284 0.116758 -0.00782512 0.505611 0.465728 --0.0240311 0.112816 -0.0174462 0.765038 0.5 --0.060466 0.143311 -0.00379205 0.534931 0.5 --0.059626 0.14292 -0.00334389 0.617802 0.5 --0.0586992 0.142676 -0.00307276 0.612777 0.5 --0.0577688 0.142406 -0.00278963 0.563778 0.5 --0.0568151 0.142191 -0.00256359 0.585621 0.465029 --0.0558892 0.141955 -0.00229647 0.600491 0.5 -0.0183373 0.109817 -0.016338 0.627676 0.454604 --0.0616584 0.114654 -0.0131207 0.583868 0.5 --0.000234213 0.0957245 -0.0313684 0.823595 0.300577 -0.0383558 0.102292 -0.0062663 0.497345 0.489531 --0.00648076 0.0969085 -0.030657 0.616493 0.367202 -0.0317719 0.115994 -0.000976469 0.518685 0.5 -0.0347025 0.105449 -0.00966587 0.580734 0.5 -0.0250009 0.0629104 -0.0235842 0.731768 0.5 -0.00748118 0.122397 -0.0118721 0.673323 0.5 -0.0053984 0.122421 -0.0118951 0.659281 0.5 --0.00423283 0.0951855 -0.0328472 0.832392 0.5 -0.0338583 0.105892 -0.0101458 0.557096 0.5 -0.00645879 0.122419 -0.0119062 0.687095 0.5 -0.00854238 0.122369 -0.0118647 0.656552 0.5 -0.00956448 0.122301 -0.0117968 0.696892 0.5 -0.0105493 0.122164 -0.0116505 0.698132 0.5 -0.0115311 0.122019 -0.0114981 0.673749 0.35911 --0.0368012 0.111669 -0.0181954 0.643126 0.5 --0.0533229 0.121583 -0.0104498 0.5267 0.5 -0.0155707 0.100538 -0.0224673 0.683173 0.5 --0.0638562 0.0423917 -0.00506847 0.488091 0.381666 --0.0625754 0.042738 -0.00542472 0.523527 0.5 --0.0589463 0.0436711 -0.00636451 0.608494 0.5 --0.0565924 0.0442297 -0.00693458 0.610972 0.5 -0.0198288 0.120602 -0.00797301 0.597768 0.5 -0.0207343 0.120306 -0.00765281 0.592341 0.5 --0.00104637 0.116277 -0.0172455 0.550502 0.5 -0.00122691 0.116615 -0.0176232 0.824705 0.5 -0.0092124 0.114671 -0.0175632 0.56299 0.418091 -0.0082875 0.114937 -0.017843 0.570706 0.418103 --0.0283013 0.113756 -0.016413 0.622026 0.5 -0.0458479 0.0724092 0.00333418 0.343072 0.435612 --0.0511148 0.117699 -0.0144446 0.857017 0.5 --0.017033 0.0949215 -0.0326512 0.55101 0.5 -0.0152676 0.11708 -0.0141694 0.534826 0.436953 --0.0119956 0.0882297 -0.0377812 0.60601 0.470285 -0.016822 0.123899 -0.00554312 0.701015 0.5 --0.0577888 0.0439091 -0.00660137 0.608509 0.5 --0.0140302 0.116852 -0.0157862 0.617121 0.5 --0.0129648 0.116833 -0.0157687 0.635413 0.5 --0.0646081 0.0450546 0.000685835 0.358189 0.31484 -0.004329 0.114453 -0.0192954 0.687331 0.5 --0.0548344 0.113627 -0.016162 0.622903 0.456742 -0.0336337 0.112484 -0.0031866 0.449258 0.47258 --0.00951583 0.0848597 -0.0382215 0.851988 0.5 --0.0433911 0.121364 -0.0123522 0.844432 0.5 --0.0318616 0.0386777 -0.0303614 0.481223 0.5 --0.0611415 0.0359024 -0.0090437 0.255959 0.5 -0.027747 0.0902677 -0.021551 0.712607 0.5 --0.0285179 0.0948797 -0.0246293 0.472827 0.5 --0.0488054 0.124161 -0.00921799 0.631485 0.5 --0.0476605 0.124307 -0.00939578 0.60956 0.5 --0.0465624 0.124393 -0.00950278 0.629456 0.5 -0.0522547 0.0611036 -0.00320855 0.506292 0.5 -0.0531449 0.0608429 -0.00288049 0.542252 0.5 -0.0539548 0.0603844 -0.00239402 0.565116 0.5 -0.0546876 0.0597691 -0.00173886 0.672356 0.5 -0.0465866 0.0714909 0.00427537 0.389154 0.414766 -0.047295 0.0711844 0.0046334 0.422825 0.453625 --0.0240218 0.119915 -0.0108978 0.65575 0.5 -0.0330446 0.111446 -0.00610948 0.535607 0.467899 --0.0023355 0.0926921 -0.0342848 0.668925 0.5 --0.00332118 0.0928352 -0.0344367 0.670157 0.5 --0.00431394 0.0929621 -0.0345661 0.662835 0.5 --0.00533435 0.0930519 -0.0346806 0.644035 0.5 --0.00635915 0.0931082 -0.0347376 0.643102 0.5 --0.00738223 0.0931774 -0.0348179 0.646877 0.5 --0.0084076 0.0932235 -0.0348708 0.628911 0.46632 --0.00946933 0.0932363 -0.0348935 0.601708 0.5 --0.0104939 0.0933018 -0.0349679 0.840068 0.5 --0.0114787 0.0934019 -0.0350786 0.576627 0.47761 --0.012585 0.0933765 -0.0350613 0.575448 0.469527 --0.0136058 0.093388 -0.035076 0.810306 0.5 --0.0147076 0.0933085 -0.0349989 0.786432 0.5 --0.0158055 0.0931896 -0.0348885 0.712362 0.5 --0.0183288 0.115615 -0.0164437 0.802127 0.5 --0.0589701 0.121961 -0.00876657 0.915638 0.5 --0.0135504 0.122737 -0.00796322 0.63231 0.5 -0.0140839 0.123776 -0.0073928 0.726798 0.5 --0.0139593 0.0967237 -0.0305143 0.469676 0.440524 --0.0150968 0.0965608 -0.0303463 0.451809 0.5 --0.0168907 0.0921233 -0.0358082 0.788805 0.5 --0.0379322 0.0359407 -0.029738 0.244576 0.5 --0.0404418 0.0351129 -0.0289386 0.129267 0.5 -0.00759602 0.120603 -0.0139518 0.639948 0.5 --0.0465826 0.121367 -0.0123258 0.816744 0.5 --0.045477 0.1214 -0.012376 0.826438 0.5 -0.0483563 0.0710513 0.00477309 0.530914 0.5 --0.0119302 0.0975527 -0.0293786 0.466255 0.5 --0.0108678 0.0975625 -0.0293851 0.505555 0.5 --0.0228558 0.113062 -0.0177116 0.785708 0.5 --0.0398336 0.0384391 -0.0280596 0.334349 0.5 --0.0360543 0.0398378 -0.0294769 0.37374 0.5 -0.0285239 0.105924 -0.0141978 0.618501 0.5 --0.0147266 0.0922559 -0.0359307 0.851413 0.5 --0.0262987 0.113585 -0.0162365 0.860839 0.5 -0.0149059 0.124307 -0.00595517 0.71967 0.5 --0.0053845 0.126096 -0.00772897 0.497273 0.411371 -0.000980617 0.120181 -0.0134191 0.762624 0.5 --0.0393097 0.122071 -0.0111029 0.762133 0.5 --0.0317604 0.120314 -0.00921321 0.489562 0.384383 -0.000828067 0.123861 -0.00936286 0.63329 0.5 -0.00307304 0.124054 -0.00961404 0.652853 0.5 --0.0329396 0.0386558 -0.0303928 0.44845 0.5 --0.0170833 0.0896859 -0.0373218 0.650885 0.5 --0.018198 0.0896163 -0.0372798 0.495766 0.451538 -0.0494532 0.0710682 0.00472592 0.524999 0.5 -0.0505588 0.0711508 0.00463977 0.563856 0.5 --0.0423688 0.123346 -0.0104204 0.737914 0.5 -0.0516174 0.0711387 0.00464104 0.626378 0.5 -0.0526374 0.0710929 0.00470311 0.604841 0.5 --0.0633527 0.0454486 0.000289555 0.355355 0.5 --0.0002129 0.122901 -0.0103152 0.612882 0.5 -0.0286561 0.108194 -0.012625 0.52144 0.5 -0.0536516 0.0710277 0.00477709 0.61671 0.5 --0.00984328 0.0975178 -0.0293224 0.500161 0.5 --0.0153159 0.119411 -0.012435 0.67085 0.5 -0.0262919 0.101687 -0.017683 0.67718 0.5 --0.00874511 0.0976201 -0.0294139 0.54048 0.5 --0.0350844 0.107815 -0.0201106 0.734838 0.5 -0.0180384 0.119266 -0.0105437 0.576074 0.37457 -0.054633 0.0708998 0.00492223 0.494856 0.5 --0.0605307 0.142151 -0.00455603 0.558083 0.5 --0.0596476 0.14187 -0.00422882 0.595469 0.313984 --0.0586999 0.141645 -0.00399496 0.609381 0.331487 --0.0577531 0.141417 -0.00374252 0.632592 0.389073 --0.0568701 0.141076 -0.0033696 0.635186 0.380728 --0.0560039 0.140764 -0.00299974 0.608123 0.5 --0.0551839 0.140262 -0.00246039 0.626914 0.5 --0.0869233 0.112018 0.0232463 0.741658 0.5 --0.090988 0.113988 0.0207121 0.736914 0.357741 -0.0354948 0.10491 -0.00909103 0.560461 0.424319 --0.0121876 0.113225 -0.0179296 0.844246 0.5 -0.0555717 0.0706847 0.00515518 0.501959 0.465192 --0.0434727 0.125255 -0.0084227 0.600551 0.5 -0.0564615 0.0703554 0.0055259 0.5192 0.5 -0.057327 0.0700157 0.00587175 0.463152 0.5 -0.058107 0.0694858 0.00643586 0.450237 0.5 --0.0480175 0.133707 0.00490199 0.397857 0.5 --0.0282448 0.11486 -0.0155715 0.626591 0.5 --0.0374161 0.12162 -0.0106267 0.513852 0.5 --0.0407824 0.116214 -0.0149415 0.66441 0.5 --0.0181312 0.0948304 -0.0325641 0.539108 0.5 -0.0269219 0.115924 -0.00692402 0.543939 0.391453 --0.0111671 0.0867859 -0.0382994 0.657248 0.5 --0.0102744 0.0864318 -0.0379838 0.818352 0.5 -0.0177807 0.10571 -0.0179484 0.869512 0.5 --0.0590669 0.120714 -0.00943474 0.857409 0.5 --0.060211 0.120578 -0.00928669 0.85658 0.5 --0.0336919 0.119642 -0.0105178 0.789769 0.5 -0.0179331 0.121039 -0.00844165 0.615967 0.5 -0.0161504 0.121694 -0.0091598 0.612839 0.5 -0.0261418 0.0859362 -0.0230192 0.769197 0.5 -0.000745542 0.0955759 -0.0312149 0.829818 0.5 -0.0188897 0.120837 -0.00821554 0.596858 0.477389 -0.0170202 0.121328 -0.0087569 0.508897 0.5 -0.0143083 0.122234 -0.00973054 0.605609 0.475818 -0.0288394 0.112544 -0.00929606 0.535183 0.402721 -0.015252 0.122005 -0.00948865 0.600555 0.389173 --0.00233373 0.114874 -0.0177321 0.788022 0.5 -0.0130913 0.0937889 -0.0272955 0.4827 0.5 --0.0383343 0.121902 -0.0109317 0.761832 0.5 --0.0174982 0.111166 -0.0197324 0.664354 0.5 --0.0207265 0.111071 -0.0196229 0.870053 0.5 --0.0217829 0.111029 -0.0195757 0.845154 0.5 -0.0277777 0.108556 -0.0130095 0.512365 0.5 -0.0259403 0.1091 -0.0135959 0.607589 0.463143 -3.04988e-05 0.11432 -0.019028 0.582082 0.470485 -0.00110358 0.114412 -0.0192684 0.483863 0.5 --0.0346391 0.0469045 -0.0241611 0.307234 0.412644 -0.0383367 0.0910432 -0.012345 0.697395 0.5 -0.0260088 0.0910229 -0.0223512 0.664222 0.5 -0.00809551 0.112572 -0.0192987 0.777628 0.5 --0.0414315 0.120058 -0.0129928 0.658413 0.5 -0.0282353 0.0775351 -0.0225519 0.759889 0.5 -0.0274272 0.0781922 -0.0230908 0.760774 0.5 --0.0498987 0.124057 -0.00910218 0.676718 0.5 -0.0258821 0.0794179 -0.0243188 0.75695 0.5 -0.049328 0.0615911 -0.00371844 0.660701 0.5 -0.0503466 0.0615208 -0.00363326 0.56329 0.47895 -0.0513324 0.0613858 -0.00348738 0.511717 0.5 -0.00541955 0.0912903 -0.0327619 0.740864 0.5 -0.0131024 0.123925 -0.00754958 0.725425 0.5 -0.00337017 0.091416 -0.0329064 0.710088 0.5 -0.00242842 0.0916453 -0.033159 0.710675 0.5 -0.00150165 0.0919153 -0.0334107 0.705402 0.5 -0.000567537 0.0921561 -0.0336854 0.55231 0.5 --0.000397685 0.0923281 -0.0338988 0.701916 0.5 --0.00135158 0.0925397 -0.0341169 0.699719 0.5 -0.0451079 0.0636949 -0.00183531 0.825448 0.5 -0.046214 0.0637709 -0.0019104 0.831041 0.5 -0.0473189 0.0638822 -0.00202275 0.47477 0.485743 -0.0484193 0.0639761 -0.00211304 0.481362 0.457515 -0.0494857 0.064014 -0.00214923 0.499444 0.46257 -0.0505447 0.0640078 -0.00213219 0.523158 0.462336 -0.0515389 0.0638758 -0.00198972 0.562224 0.5 -0.0524799 0.0636428 -0.00173686 0.489672 0.5 -0.0533817 0.063336 -0.00140725 0.517665 0.5 -0.0541934 0.0628656 -0.00090927 0.644345 0.5 -0.054979 0.06227 -0.000302264 0.679868 0.5 -0.0557083 0.0616421 0.000366134 0.720455 0.5 -0.00543406 0.120555 -0.0138758 0.597706 0.5 -0.0172432 0.108764 -0.0171862 0.586734 0.454391 --0.016912 0.0931258 -0.0348233 0.700935 0.5 --0.0179307 0.0931593 -0.0348763 0.698458 0.5 --0.0444577 0.123407 -0.0104693 0.73703 0.5 -0.0142116 0.123033 -0.00860213 0.749619 0.5 --0.000792652 0.0894877 -0.0349748 0.643998 0.5 --0.00175042 0.0897209 -0.0353687 0.602032 0.5 --0.00265737 0.0899953 -0.0354905 0.754227 0.5 --0.00233157 0.122878 -0.010278 0.631055 0.5 --0.0104985 0.0362063 -0.0254961 0.321214 0.5 --0.00994641 0.0339021 -0.0251924 0.130849 0.5 --0.0410644 0.0466663 -0.0156422 0.259725 0.5 --0.0296544 0.0346993 -0.0301222 0.270929 0.5 --0.037469 0.120514 -0.011464 0.616159 0.458117 --0.0365293 0.120277 -0.0112077 0.581288 0.460858 --0.0591735 0.11954 -0.0102201 0.547105 0.47548 --0.060367 0.11933 -0.00999174 0.57823 0.5 --0.0521219 0.120842 -0.0117106 0.539648 0.5 --0.0397231 0.116184 -0.0149076 0.625672 0.5 -0.0190541 0.116198 -0.0132311 0.487694 0.5 -0.0219046 0.0892697 -0.0245066 0.683597 0.5 --0.0295217 0.0402041 -0.0298306 0.666097 0.5 --0.00768132 0.0976452 -0.0294292 0.598087 0.5 -0.00461042 0.092806 -0.0323339 0.695606 0.5 --0.00887527 0.109466 -0.0219533 0.481227 0.5 --0.021864 0.108885 -0.0213157 0.617331 0.472693 --0.0129882 0.119781 -0.0128781 0.713175 0.5 -0.0214747 0.0996539 -0.0214946 0.579431 0.5 --0.0125561 0.107483 -0.0218463 0.826226 0.5 -0.00212883 0.120316 -0.0135831 0.780802 0.5 --0.0284862 0.120462 -0.00941436 0.470666 0.5 -0.00192116 0.123969 -0.00948312 0.614139 0.5 -0.0052003 0.124064 -0.00964829 0.720735 0.5 --0.0138904 0.0897489 -0.0373664 0.658833 0.5 --0.0128628 0.0896836 -0.0372956 0.70471 0.5 --0.0160243 0.0897174 -0.0373532 0.65266 0.5 -0.0159709 0.0859869 -0.0291978 0.706314 0.450015 -0.0168479 0.0856792 -0.0288312 0.709059 0.5 -0.0391135 0.0904981 -0.0117677 0.685367 0.5 --0.043573 0.126043 -0.00725208 0.531259 0.44059 -0.0351088 0.100136 -0.012024 0.61555 0.5 --0.056803 0.119986 -0.0107265 0.521686 0.5 -0.0541025 0.0616928 -0.00172111 0.564185 0.5 --0.0390833 0.0486663 -0.0122287 0.166062 0.326378 --0.0361402 0.0481769 -0.0171107 0.175585 0.5 --0.0373786 0.0478297 -0.016773 0.258198 0.379993 -0.0171797 0.119654 -0.0109592 0.488902 0.5 --0.0345019 0.0461718 -0.0254652 0.373854 0.462156 -0.0205734 0.0999616 -0.0218299 0.573532 0.5 --0.0592783 0.115234 -0.0137669 0.581182 0.444266 -0.00147386 0.103921 -0.02207 0.723364 0.5 -0.0193852 0.0915557 -0.024942 0.649844 0.5 --0.0254216 0.0999543 -0.0239282 0.827849 0.5 --0.06064 0.140962 -0.00527103 0.560024 0.5 --0.0596957 0.14074 -0.00502874 0.625178 0.446755 --0.058744 0.140559 -0.00481674 0.624085 0.446606 --0.0578202 0.140285 -0.0045343 0.631383 0.5 --0.0569294 0.13993 -0.00415472 0.649486 0.5 --0.0561139 0.139571 -0.00370722 0.674855 0.5 --0.0553453 0.138992 -0.00307013 0.681723 0.5 --0.0546314 0.138445 -0.00241154 0.690386 0.5 --0.0538462 0.137744 -0.0016929 0.699026 0.5 --0.0530296 0.137293 -0.00118635 0.666424 0.393394 --0.0243216 0.10004 -0.0240037 0.793723 0.5 --0.0703543 0.0703917 0.033048 0.575987 0.437836 --0.0232574 0.100051 -0.0240138 0.546306 0.5 --0.0499478 0.135176 0.00116888 0.541833 0.5 --0.0872312 0.1132 0.0437313 0.43079 0.5 --0.0486267 0.13356 0.00299082 0.340552 0.5 --0.0479295 0.132887 0.00374503 0.411985 0.449507 --0.0472049 0.132217 0.00449629 0.388063 0.5 --0.0464946 0.131544 0.00524728 0.420413 0.483672 --0.00333701 0.121977 -0.0113118 0.599014 0.5 -0.0520156 0.0596733 -0.00368903 0.644396 0.5 -0.0511122 0.059915 -0.00400422 0.795454 0.5 -0.0491876 0.0602673 -0.00438234 0.688585 0.5 -0.0502575 0.0602229 -0.00418894 0.747192 0.5 --0.00931865 0.0862591 -0.0377315 0.813816 0.5 --0.0433732 0.122414 -0.0114499 0.798127 0.5 --0.00247117 0.091392 -0.0349524 0.703433 0.5 --0.02076 0.0347198 -0.0277376 0.205267 0.5 -0.0220892 0.0906332 -0.0239505 0.659848 0.468543 --0.015827 0.0921385 -0.0358122 0.796018 0.5 --0.0356488 0.118923 -0.0117804 0.616731 0.5 --0.0712408 0.114861 0.0513991 0.4811 0.5 --0.0250745 0.0954862 -0.0252675 0.539672 0.5 --0.0123796 0.124965 -0.00637162 0.404851 0.5 -0.0138422 0.0901622 -0.0294996 0.592582 0.5 -0.0124215 0.122685 -0.01021 0.56863 0.5 --0.0192308 0.0947234 -0.0324688 0.509726 0.5 --0.0280195 0.0378733 -0.0295429 0.477075 0.5 --0.0393675 0.120945 -0.0119262 0.606369 0.5 -0.0269115 0.116892 -0.00595645 0.522073 0.384209 --0.0214492 0.0963545 -0.0261739 0.447514 0.5 --0.0500652 0.125773 -0.00688378 0.618683 0.5 -0.0241638 0.0853333 -0.0244737 0.745172 0.5 -0.0189265 0.119915 -0.00924366 0.746169 0.5 --0.0250413 0.0925197 -0.0322644 0.330927 0.5 -0.0328365 0.0876935 -0.0188869 0.763739 0.5 --0.0358204 0.046598 -0.0238768 0.360098 0.323432 -0.00860136 0.121512 -0.0129363 0.507455 0.5 -0.0268943 0.0906576 -0.0219805 0.678775 0.5 -0.0306311 0.076191 -0.0209647 0.760207 0.5 --0.020238 0.0938075 -0.0335417 0.523891 0.5 -0.0438286 0.0611702 -0.00330591 0.786477 0.5 -0.0449793 0.061326 -0.0034541 0.827182 0.5 -0.0460928 0.061454 -0.00359733 0.475498 0.476263 -0.0471561 0.0614873 -0.00363177 0.478727 0.472959 -0.0482689 0.0616107 -0.00376704 0.615759 0.5 -0.00816432 0.0904541 -0.0318561 0.617065 0.5 -0.0073001 0.0907939 -0.0322622 0.595293 0.5 -0.00639772 0.0911374 -0.0325899 0.730094 0.5 --0.0125993 0.0922824 -0.0359459 0.642142 0.5 -0.0134275 0.117615 -0.0147491 0.485412 0.5 --0.00149609 0.0912323 -0.0347548 0.739161 0.5 --0.0221188 0.100222 -0.0241961 0.749831 0.5 -0.0416942 0.0655359 -0.00371801 0.354107 0.5 -0.0422139 0.06433 -0.00247442 0.372346 0.5 -0.0430174 0.0637781 -0.0018983 0.560992 0.5 -0.043967 0.0636126 -0.00172463 0.574434 0.454226 --0.0111161 0.125335 -0.00680126 0.381842 0.5 -0.047721 0.0729559 0.00883547 0.786496 0.5 -0.00165238 0.0932332 -0.0327923 0.53251 0.5 --0.00422597 0.10111 -0.0231367 0.880664 0.5 -0.0367496 0.0931371 -0.012555 0.695917 0.5 -0.032634 0.0954843 -0.0150589 0.704244 0.5 -0.0268942 0.0988154 -0.0185978 0.696052 0.5 -0.0234322 0.100371 -0.0202365 0.608479 0.5 -0.0439094 0.0623682 -0.0025277 0.767818 0.5 --0.00645816 0.122156 -0.0114796 0.839724 0.5 --0.00749956 0.121159 -0.0124082 0.819293 0.5 -0.0217031 0.104101 -0.0182402 0.469512 0.480579 -0.0255053 0.103245 -0.0173339 0.621201 0.465883 -0.00274784 0.0953419 -0.0309592 0.806639 0.5 -0.0306065 0.111866 -0.00856301 0.56052 0.5 -0.0083446 0.116042 -0.0170347 0.533312 0.476009 --0.0190349 0.0930706 -0.0347914 0.460681 0.480467 --0.0201767 0.0929008 -0.0346271 0.419125 0.475333 --0.010101 0.102023 -0.0240718 0.535839 0.5 --0.0365871 0.119162 -0.0120374 0.648684 0.5 --0.0325387 0.118791 -0.011658 0.675283 0.5 --0.00364386 0.0901332 -0.0356262 0.76103 0.5 --0.0123378 0.123047 -0.00831897 0.607765 0.5 --0.00661675 0.0976221 -0.0294208 0.62298 0.5 --0.0133438 0.11201 -0.0186315 0.866183 0.5 --0.0524922 0.0384865 -0.0115467 0.472047 0.5 -0.0516874 0.0662489 -0.000355134 0.546117 0.5 --0.0141183 0.115602 -0.0164489 0.643942 0.5 -0.0186953 0.0943115 -0.0238444 0.806958 0.5 -0.03545 0.105907 -0.00815474 0.532545 0.5 -0.0162665 0.119939 -0.0112703 0.496505 0.5 -0.0199074 0.11877 -0.0100039 0.47434 0.5 --0.0272643 0.118767 -0.0116611 0.675247 0.5 -0.0177903 0.112808 -0.0155711 0.516264 0.467883 -0.0156574 0.0925729 -0.0260099 0.532806 0.426885 --0.0275896 0.0398384 -0.0294326 0.669009 0.5 --0.00151782 0.111398 -0.0200294 0.683581 0.5 -0.0163086 0.108997 -0.0174538 0.59011 0.5 -0.0159998 0.123366 -0.00698095 0.764468 0.390504 --0.00563259 0.0974901 -0.0292726 0.662931 0.5 --0.00444148 0.0916785 -0.0352643 0.696051 0.434695 --0.00453349 0.0975685 -0.029357 0.697315 0.5 --0.0237033 0.091176 -0.0348871 0.486522 0.5 --0.0302701 0.0365155 -0.0302567 0.419116 0.5 --0.0273178 0.113609 -0.0162558 0.639192 0.5 --0.0163998 0.119263 -0.0123023 0.684432 0.310823 --0.0630713 0.173863 -0.0616798 0.406238 0.5 --0.038215 0.0471675 -0.018189 0.353674 0.5 -0.00323101 0.120377 -0.0136716 0.797596 0.5 --0.041943 0.114992 -0.0156494 0.694932 0.5 -0.00413437 0.124074 -0.00964261 0.687926 0.5 --0.0149576 0.0897382 -0.0373658 0.650627 0.5 --0.0239408 0.0886576 -0.0363455 0.454072 0.467569 --0.0227541 0.0889021 -0.0365754 0.603014 0.5 -0.0151613 0.0863718 -0.029541 0.697577 0.5 --0.0554697 0.0345193 -0.0117205 0.132813 0.5 --0.00350831 0.0975151 -0.0292875 0.704372 0.5 -0.0227707 0.10612 -0.0163977 0.67801 0.5 --0.0309617 0.044825 -0.0281993 0.847734 0.5 --0.0418025 0.1163 -0.0150397 0.730588 0.5 --0.0285904 0.110146 -0.0186081 0.833386 0.5 --0.00443456 0.111901 -0.0205597 0.618028 0.466374 -0.0197485 0.105413 -0.017636 0.861415 0.5 --0.00855639 0.121127 -0.0123669 0.792276 0.5 --0.0322022 0.0465812 -0.0258568 0.500041 0.5 --0.0333511 0.0463754 -0.0256604 0.543431 0.5 --0.0022961 0.120938 -0.0122094 0.827231 0.5 -0.0338763 0.0978118 -0.0135516 0.749307 0.5 --0.0385489 0.119476 -0.0123722 0.65827 0.5 --0.0386191 0.118326 -0.013151 0.631818 0.465692 --0.0616548 0.140062 -0.00630976 0.57634 0.5 --0.0607657 0.139716 -0.00595313 0.620762 0.5 --0.0598293 0.139488 -0.00569497 0.612771 0.463633 --0.058864 0.139321 -0.00549203 0.646288 0.463637 --0.0579608 0.139021 -0.00516612 0.648963 0.5 --0.0570823 0.138706 -0.0047975 0.670601 0.5 --0.0562826 0.138192 -0.0042334 0.677642 0.5 --0.05553 0.137483 -0.00349047 0.704881 0.5 --0.0548238 0.136818 -0.00273484 0.736853 0.5 --0.0540045 0.13652 -0.00234857 0.739432 0.5 --0.0531099 0.136165 -0.00197183 0.678259 0.5 --0.0522733 0.13577 -0.00153662 0.63413 0.5 --0.0514739 0.135214 -0.000924577 0.60754 0.409123 --0.0506815 0.134691 -0.000340536 0.589733 0.5 --0.0499313 0.134148 0.000258943 0.54661 0.5 --0.0492298 0.13342 0.00108021 0.404488 0.449153 --0.0485925 0.132707 0.00186362 0.39599 0.454053 --0.047856 0.132056 0.00259359 0.373538 0.464954 --0.0470839 0.131413 0.00333034 0.464383 0.470749 --0.0463678 0.13079 0.00400616 0.460344 0.5 --0.00861199 0.118019 -0.01506 0.642591 0.5 -0.0261658 0.0809584 -0.0239333 0.75757 0.5 -0.0269298 0.0804165 -0.0233375 0.749987 0.5 -0.0276968 0.0797349 -0.0226793 0.746527 0.5 -0.0481264 0.060275 -0.00442661 0.653468 0.5 -0.0470549 0.0602552 -0.00440662 0.643749 0.5 -0.0459848 0.0602104 -0.00435135 0.485046 0.5 -0.0448746 0.0601039 -0.00424277 0.843473 0.5 -0.0437641 0.0599949 -0.00412714 0.832713 0.5 -0.0426589 0.0598822 -0.00401987 0.514443 0.456779 --0.0536497 0.0382495 -0.0113033 0.355139 0.5 -0.000709469 0.125628 -0.00726116 0.614679 0.5 --0.0174184 0.0961382 -0.0299203 0.429642 0.5 -0.0405643 0.0599899 -0.00408877 0.421251 0.5 -0.0416146 0.0598915 -0.00407392 0.456539 0.5 --0.00967767 0.118026 -0.0150602 0.617713 0.5 -0.0523234 0.0724358 0.00729932 0.83687 0.5 -0.0114372 0.12283 -0.0103617 0.70648 0.5 -0.013368 0.122467 -0.00997636 0.590857 0.5 --0.0110119 0.122536 -0.00980812 0.6193 0.5 --0.0122779 0.122169 -0.00937841 0.635399 0.5 --0.00979508 0.122843 -0.0101629 0.677986 0.5 --0.00750765 0.123161 -0.01054 0.571292 0.5 --0.00635478 0.123294 -0.010702 0.566363 0.5 --0.0100186 0.0981603 -0.0280043 0.859573 0.5 --0.0603898 0.116109 -0.0126519 0.577628 0.5 --0.0397839 0.0471068 -0.0160895 0.216769 0.5 -0.0142784 0.11622 -0.015243 0.52303 0.5 --0.0202902 0.0906146 -0.0362948 0.582584 0.5 --0.0129458 0.117871 -0.0148632 0.831258 0.5 -0.0417493 0.0611977 -0.0033567 0.53714 0.5 -0.0427869 0.0611675 -0.0033403 0.771437 0.5 -0.0128104 0.0891816 -0.030491 0.606524 0.5 -0.0118631 0.0894057 -0.0307263 0.608573 0.466351 -0.0169892 0.122251 -0.00777586 0.606887 0.47014 -0.00995573 0.0897855 -0.0311748 0.626688 0.464514 -0.00904636 0.090083 -0.0314826 0.618837 0.5 --0.0302748 0.116055 -0.0148216 0.833008 0.5 -0.0304033 0.107421 -0.0117891 0.564721 0.430868 --0.0115345 0.0922826 -0.0359317 0.645332 0.5 --0.0629168 0.114269 -0.0126902 0.605773 0.5 --0.0140104 0.117853 -0.0148385 0.809028 0.5 --0.0508117 0.0354248 -0.0125858 0.327078 0.5 --0.0270641 0.0376545 -0.0293745 0.461412 0.5 -0.0231651 0.0624431 -0.0251426 0.690366 0.5 --0.0229201 0.115998 -0.0147881 0.827254 0.5 --0.0218136 0.116051 -0.0148581 0.771983 0.5 --0.0206698 0.116197 -0.0150314 0.722785 0.5 --0.019536 0.116371 -0.0152209 0.714654 0.295676 --0.00115741 0.0949656 -0.0326157 0.615413 0.465836 --0.00020637 0.0947598 -0.0324026 0.622008 0.467072 -0.000769534 0.0946028 -0.0322154 0.879727 0.5 -0.00174762 0.0944417 -0.0320379 0.610391 0.5 -0.00273738 0.0943137 -0.0318997 0.897884 0.5 -0.00372222 0.0941665 -0.0317421 0.882954 0.5 -0.0047217 0.0940547 -0.0316305 0.647831 0.448454 -0.00569172 0.093878 -0.0314287 0.640705 0.5 -0.00660528 0.0935786 -0.0311099 0.509261 0.461888 -0.00749081 0.093253 -0.0307631 0.544835 0.5 -0.00836869 0.0928852 -0.0303774 0.547264 0.5 -0.0093177 0.0926652 -0.0301396 0.550091 0.445673 -0.0102735 0.0924657 -0.0299319 0.54741 0.449023 -0.00412979 0.113096 -0.0199676 0.71967 0.5 --0.0172476 0.114664 -0.0174436 0.83939 0.5 --0.026364 0.0359692 -0.029405 0.332492 0.5 --0.0328486 0.0986298 -0.0228073 0.633442 0.5 --0.0213227 0.0927441 -0.0344661 0.419686 0.5 --0.0224559 0.092554 -0.0342812 0.413646 0.5 --0.0210545 0.100222 -0.024166 0.776477 0.5 --0.0183957 0.116542 -0.0154107 0.753451 0.5 -0.0126673 0.104052 -0.020179 0.881285 0.5 --0.0110742 0.123419 -0.00875247 0.576799 0.5 --0.00667005 0.0904165 -0.0359686 0.717248 0.5 --0.00765334 0.0905691 -0.0361471 0.722691 0.5 --0.0161934 0.116736 -0.0156361 0.831924 0.5 -0.0394434 0.0585828 -0.00486619 0.432584 0.5 --0.0422677 0.111306 -0.0177858 0.839568 0.5 -0.0452209 0.0659646 -0.000116442 0.789064 0.5 -0.0354547 0.103863 -0.00997386 0.602315 0.5 -0.0338372 0.104851 -0.0110391 0.587821 0.406061 -0.0260543 0.116303 -0.00733098 0.518164 0.398042 --0.0177227 0.119786 -0.0108098 0.701843 0.5 --0.0202736 0.0966137 -0.0264451 0.477812 0.390297 -0.0239731 0.061977 -0.0246362 0.70763 0.5 --0.0437744 0.116579 -0.0153348 0.694887 0.5 --0.032345 0.0473443 -0.0245628 0.310417 0.5 --0.015124 0.037267 -0.0266656 0.393356 0.5 --0.00946746 0.0362215 -0.025425 0.284043 0.5 --0.0139288 0.0883705 -0.0380287 0.687462 0.5 --0.0150862 0.116786 -0.0157023 0.845182 0.5 --0.0118972 0.116803 -0.015741 0.615301 0.5 --0.0353912 0.0475494 -0.0206462 0.352376 0.30546 -0.0242032 0.0987613 -0.0205495 0.695578 0.5 -0.00882643 0.110931 -0.0195298 0.839479 0.5 --0.00773224 0.109619 -0.0221011 0.630666 0.5 -0.0207016 0.113271 -0.0140876 0.52509 0.5 -0.0345802 0.103262 -0.0113359 0.595569 0.5 --0.0205151 0.114503 -0.0172551 0.535155 0.5 --0.0240368 0.11082 -0.0193477 0.801703 0.5 -0.024653 0.104647 -0.0168345 0.737106 0.405271 -0.0358581 0.0995241 -0.0113664 0.623946 0.5 -0.0269849 0.113053 -0.00983991 0.577474 0.417457 -0.0344847 0.0868408 -0.0179179 0.750053 0.5 -0.00658649 0.0945677 -0.0301242 0.491691 0.5 -0.0195371 0.122997 -0.00457304 0.574029 0.5 --0.0215446 0.0942792 -0.0320343 0.332146 0.418407 --0.0422106 0.112435 -0.0169649 0.589213 0.471105 --0.0204271 0.0893191 -0.0369723 0.487687 0.486879 -0.05068 0.0673838 0.000483718 0.65253 0.5 --0.0110454 0.113378 -0.0180964 0.833544 0.5 -0.033847 0.106899 -0.00922375 0.576994 0.432989 --0.00248627 0.097432 -0.0292057 0.723093 0.5 --0.0265042 0.106069 -0.02235 0.627736 0.5 --0.0124244 0.108763 -0.0212047 0.79379 0.5 --0.0434603 0.109995 -0.0184047 0.604075 0.5 --0.0118501 0.11995 -0.013068 0.756856 0.5 --0.00149557 0.0973426 -0.0290749 0.733066 0.5 --0.0355869 0.116022 -0.0147547 0.818566 0.5 -0.0274527 0.103904 -0.0160338 0.629883 0.344104 --0.0197167 0.103079 -0.0233045 0.656373 0.5 -0.0126767 0.102031 -0.0220157 0.856978 0.5 --0.0126802 0.0961728 -0.031918 0.572848 0.5 -0.0319522 0.103353 -0.0134365 0.726206 0.5 --0.0618764 0.138649 -0.0067701 0.657583 0.5 --0.0610584 0.138406 -0.00654552 0.669163 0.5 --0.00991099 0.115578 -0.0164445 0.884524 0.5 --0.059075 0.137911 -0.00597298 0.660615 0.5 --0.0581769 0.137607 -0.00562722 0.661568 0.5 --0.057332 0.137224 -0.00518105 0.667008 0.5 --0.0566099 0.136533 -0.00462162 0.68206 0.5 --0.0557698 0.136063 -0.00393718 0.726298 0.5 --0.0549779 0.135599 -0.00339213 0.719656 0.5 --0.0540681 0.135339 -0.00310003 0.68868 0.314307 --0.0531399 0.13506 -0.0028018 0.655558 0.407099 --0.0523163 0.134709 -0.00240246 0.662758 0.5 --0.0515105 0.13416 -0.00180112 0.603519 0.5 --0.0507291 0.133637 -0.00121966 0.575662 0.5 --0.04996 0.133052 -0.000571002 0.545448 0.5 --0.0492462 0.132382 0.000177088 0.495351 0.5 --0.0485603 0.131756 0.000870882 0.383129 0.461532 --0.0477652 0.131125 0.00158524 0.443615 0.5 --0.0470088 0.130577 0.00217989 0.436117 0.5 --0.046283 0.129949 0.00285861 0.455181 0.5 --0.0411191 0.111396 -0.0179091 0.603171 0.466517 -0.0211822 0.0909362 -0.0242734 0.666624 0.5 -0.0279315 0.0813321 -0.0222629 0.74464 0.5 -0.0284604 0.079188 -0.0220838 0.758077 0.5 -0.0292759 0.0787271 -0.0215887 0.750658 0.5 --0.0282259 0.115945 -0.0147131 0.607918 0.5 -0.0112963 0.123527 -0.00913288 0.7296 0.396721 -0.00724714 0.123914 -0.00950504 0.746761 0.5 --0.0191994 0.0907344 -0.0364225 0.595056 0.466822 -0.0548584 0.0611516 -0.00113589 0.574305 0.5 -0.00622241 0.123988 -0.00957575 0.580276 0.5 --0.00543271 0.0918052 -0.0353894 0.669661 0.5 -0.0204818 0.0854612 -0.0266087 0.743033 0.5 --0.0208111 0.118967 -0.0119295 0.794935 0.5 -0.00224905 0.118538 -0.0156887 0.759994 0.5 -0.0474345 0.0682488 0.00159582 0.585595 0.5 --0.0299927 0.0436118 -0.0290457 0.646893 0.5 -0.033292 0.0856433 -0.0187503 0.7469 0.5 -0.0485378 0.0682762 0.00156381 0.603234 0.5 -0.0496382 0.068363 0.00147832 0.62419 0.5 --0.00364871 0.0982082 -0.0280452 0.670465 0.344781 --0.0245144 0.0945317 -0.028309 0.299219 0.5 --0.0238067 0.0899629 -0.0356649 0.548382 0.5 --0.0225227 0.0903335 -0.0360154 0.434911 0.473611 --0.0213902 0.0905176 -0.0361974 0.593494 0.5 --0.00232624 0.124886 -0.00844394 0.50235 0.47603 -0.0101685 0.124401 -0.00806495 0.560825 0.479396 -0.00514071 0.12498 -0.00862525 0.711167 0.5 --0.0313926 0.112895 -0.0174931 0.646188 0.5 -0.018711 0.100467 -0.0223545 0.566512 0.5 -0.00655622 0.121628 -0.0130526 0.657798 0.5 -0.00961895 0.12141 -0.0128393 0.684849 0.5 --0.0183958 0.0360837 -0.0274195 0.243529 0.461583 -0.0222264 0.09191 -0.0233017 0.627398 0.478002 -0.015055 0.123588 -0.00721903 0.74609 0.398056 --0.0283175 0.0963396 -0.0241496 0.839261 0.5 --0.027235 0.0964545 -0.0242996 0.51192 0.5 --0.0259964 0.0967524 -0.0245741 0.641523 0.5 --0.0248989 0.0968475 -0.0246804 0.671589 0.5 --0.02384 0.0968692 -0.0247025 0.622478 0.5 --0.0227746 0.0968676 -0.024693 0.585665 0.5 --0.0200728 0.100101 -0.0240875 0.773208 0.5 --0.0216758 0.0969718 -0.024798 0.571152 0.5 --0.0205392 0.0971418 -0.0249761 0.541039 0.5 -0.00176163 0.130465 0.00157228 0.811909 0.5 -0.00286437 0.130486 0.00148286 0.822825 0.5 -0.00388853 0.130454 0.00153712 0.829733 0.5 -0.00495057 0.130435 0.00152594 0.836014 0.5 -0.00597686 0.130404 0.00157669 0.853447 0.5 --0.0193476 0.0973552 -0.0251961 0.519941 0.5 --0.0181652 0.097581 -0.0254283 0.501254 0.5 --0.0170028 0.0977503 -0.0256286 0.46919 0.433421 --0.015856 0.0980295 -0.0258983 0.442774 0.5 --0.0147843 0.0981951 -0.0260468 0.442333 0.455855 --0.0136152 0.0982979 -0.0261721 0.438042 0.445614 --0.0272212 0.114809 -0.0155223 0.637744 0.5 -0.0239484 0.0901184 -0.0234122 0.657793 0.5 --0.0143101 0.113201 -0.0178955 0.65492 0.5 -0.00340822 0.117733 -0.0168392 0.832763 0.5 --0.0498739 0.120141 -0.01301 0.574978 0.478829 -0.0217161 0.119158 -0.00841047 0.59118 0.5 --0.00056724 0.0909565 -0.0345037 0.599166 0.5 -0.0112159 0.0922395 -0.029689 0.527246 0.5 -0.01215 0.0919974 -0.0294248 0.535009 0.5 --0.0162644 0.11453 -0.017303 0.632384 0.460684 --0.0124346 0.0985527 -0.0264295 0.78102 0.5 --0.0356487 0.0352259 -0.0310792 0.150269 0.5 --0.0113381 0.0986434 -0.0265191 0.835118 0.5 -0.00517588 0.113065 -0.0197995 0.715911 0.5 --0.0102337 0.0987343 -0.0266102 0.833519 0.5 --0.0237309 0.092173 -0.0338912 0.406779 0.444684 --0.0170398 0.124093 -0.00535053 0.513155 0.5 --0.00425208 0.0941246 -0.0337645 0.623383 0.5 -0.0243112 0.0999667 -0.0198415 0.663221 0.5 --0.00864132 0.0907031 -0.0362798 0.718828 0.5 --0.0096598 0.0907753 -0.0363722 0.694166 0.5 --0.010683 0.0908469 -0.0364652 0.704241 0.5 --0.0117053 0.0909225 -0.0365538 0.70379 0.5 --0.0585618 0.124728 -0.00774237 0.73752 0.5 -0.044724 0.0588042 -0.00496063 0.619893 0.5 -0.0346554 0.10439 -0.0105413 0.605389 0.5 -0.0187342 0.112585 -0.0153321 0.629287 0.462794 --0.0427254 0.0358312 -0.0275925 0.113076 0.5 --0.0261657 0.11885 -0.0117616 0.687394 0.321424 --0.00913054 0.0987984 -0.026694 0.472484 0.449133 --0.00806953 0.0988363 -0.0267114 0.515334 0.5 --0.0544997 0.117303 -0.0139925 0.566546 0.5 --0.0533518 0.117447 -0.0141574 0.575306 0.5 --0.00701023 0.0988653 -0.0267279 0.564603 0.5 -0.000901863 0.122026 -0.0113896 0.568216 0.5 --0.00594641 0.0989148 -0.0267499 0.62266 0.5 --0.000472926 0.0972534 -0.0289903 0.738531 0.5 -0.0250818 0.0983923 -0.0201688 0.707196 0.5 -0.0135498 0.109816 -0.0183273 0.606352 0.479747 --0.00484603 0.0989761 -0.0268273 0.674271 0.5 --0.0690818 0.18144 -0.0564572 0.258945 0.419015 --0.00385823 0.0988046 -0.0266644 0.659782 0.5 -0.0214753 0.11175 -0.0144217 0.569962 0.5 --0.0262667 0.110544 -0.0190457 0.754971 0.5 -0.000515293 0.09714 -0.0288497 0.729271 0.5 -0.00149737 0.0969588 -0.0286791 0.711461 0.338504 --0.0588552 0.0351368 -0.0102919 0.138552 0.5 --0.00279591 0.0988433 -0.0266823 0.678516 0.5 --0.0203692 0.094546 -0.032294 0.478365 0.5 --0.047644 0.121343 -0.0122933 0.822298 0.5 -0.0506634 0.0663167 -0.000433246 0.653027 0.438674 --0.0215596 0.0891328 -0.036783 0.621864 0.5 --0.0109726 0.115573 -0.0164387 0.885212 0.5 -0.0330115 0.107346 -0.00970764 0.577613 0.436342 -0.0321567 0.107734 -0.010124 0.561512 0.5 -0.0346775 0.106404 -0.00868031 0.555278 0.5 --0.000194321 0.121911 -0.011267 0.583468 0.460187 --0.00177026 0.0987839 -0.0266092 0.665959 0.5 -0.0238471 0.107154 -0.0155051 0.727477 0.412085 --0.0209519 0.121676 -0.0087885 0.461171 0.403399 -0.0252655 0.0864752 -0.0236184 0.749695 0.5 --0.000747471 0.0987058 -0.0265343 0.670031 0.5 -0.0303577 0.105377 -0.0136057 0.647806 0.5 -0.0361287 0.085855 -0.0169039 0.76533 0.5 -0.0400974 0.0943736 -0.00783899 0.586273 0.5 -0.0393164 0.0948581 -0.00836399 0.579426 0.398093 -0.0311086 0.103751 -0.0138751 0.718065 0.5 --0.0178575 0.122517 -0.00769635 0.545508 0.5 --0.0115598 0.09531 -0.0330219 0.634727 0.5 --0.00884754 0.115581 -0.0164541 0.870755 0.5 --0.0469304 0.116649 -0.0154073 0.632394 0.5 --0.0629114 0.115341 -0.0117985 0.570501 0.421608 --0.0499193 0.118992 -0.0138138 0.853299 0.5 --0.0576201 0.135609 -0.00546838 0.674822 0.5 --0.0568117 0.135044 -0.00489316 0.703528 0.5 --0.0559722 0.134715 -0.00446003 0.705202 0.5 --0.0550791 0.134447 -0.00412579 0.693329 0.438583 --0.0541367 0.13422 -0.00388726 0.669431 0.432164 --0.0532128 0.133944 -0.00360453 0.641012 0.5 --0.0523718 0.133555 -0.00317026 0.635511 0.5 --0.051575 0.132941 -0.0025104 0.61079 0.5 --0.050788 0.13247 -0.00197537 0.56516 0.5 --0.0500202 0.131989 -0.0014354 0.495987 0.5 --0.049291 0.131272 -0.000642386 0.455754 0.5 --0.0485361 0.130681 1.6802e-05 0.44241 0.5 --0.0477691 0.130137 0.000614804 0.446468 0.5 --0.0470115 0.129603 0.00120357 0.439139 0.443974 --0.0461097 0.129234 0.00159921 0.552184 0.5 --0.0451771 0.128971 0.00184527 0.872597 0.5 -0.00023463 0.0985537 -0.0263753 0.668997 0.5 -0.00118569 0.0983354 -0.0261952 0.475252 0.326149 -0.00218868 0.098191 -0.0260404 0.506621 0.305182 -0.0271866 0.0819517 -0.0229154 0.748829 0.5 -0.0264267 0.0824949 -0.0235141 0.751284 0.5 -0.0256492 0.0831048 -0.024123 0.758925 0.5 -0.0248383 0.0835695 -0.0246296 0.748481 0.5 -0.0239781 0.084017 -0.0250643 0.748935 0.5 -0.0231411 0.0844685 -0.0255261 0.745044 0.5 -0.0222475 0.0847573 -0.0259093 0.743856 0.5 -0.0213669 0.0851498 -0.0262488 0.746154 0.5 -0.0196024 0.0858351 -0.0269873 0.73327 0.5 -0.0187338 0.0862153 -0.0273821 0.728607 0.5 -0.0179038 0.0866718 -0.0278625 0.719266 0.5 -0.0463736 0.0682111 0.00160519 0.581536 0.5 -0.0105421 0.118176 -0.0153416 0.54871 0.5 -0.00317805 0.0980649 -0.0258881 0.50563 0.327982 --0.0157643 0.0353272 -0.0263783 0.17846 0.5 -0.00413641 0.0979047 -0.0256761 0.670219 0.5 --0.0190093 0.100114 -0.02409 0.686406 0.5 -0.0408836 0.0614281 -0.00367417 0.45132 0.5 -0.0102589 0.100444 -0.0223447 0.588852 0.5 -0.031034 0.0964814 -0.0161287 0.72706 0.38427 -0.00516194 0.0978455 -0.0256065 0.712325 0.5 --0.0179474 0.100123 -0.0240926 0.677176 0.5 --0.0185092 0.127137 0.00354165 0.707764 0.5 --0.0168818 0.100112 -0.0240537 0.693082 0.5 --0.0161125 0.127667 0.00290411 0.694465 0.5 --0.0149347 0.127911 0.00262222 0.703137 0.5 --0.0137571 0.128142 0.00234571 0.697132 0.5 --0.0125367 0.128434 0.00198737 0.707996 0.5 --0.0113995 0.128605 0.00179072 0.72419 0.5 --0.0102615 0.128766 0.00159795 0.728612 0.5 --0.00902947 0.129018 0.00125187 0.722409 0.5 --0.00789583 0.129197 0.00105287 0.744914 0.5 --0.00680153 0.129324 0.00093339 0.759197 0.5 --0.00565778 0.12946 0.000751082 0.759119 0.5 --0.00451438 0.1296 0.000561158 0.765344 0.5 --0.00341476 0.129699 0.000449344 0.780517 0.5 --0.00231448 0.129778 0.000344647 0.786001 0.5 --0.00121026 0.129846 0.000241032 0.793195 0.5 --0.000107958 0.12991 0.000141982 0.800909 0.5 -0.000950727 0.129943 0.000110463 0.803708 0.5 -0.00205693 0.129985 1.8398e-05 0.811382 0.5 -0.00312017 0.129984 5.00643e-07 0.839326 0.5 -0.00414244 0.129952 4.9397e-05 0.838309 0.5 -0.00520505 0.129939 3.61829e-05 0.844708 0.5 -0.00623037 0.129867 0.000104943 0.849441 0.5 -0.00725591 0.129807 0.000165614 0.86092 0.5 -0.00824452 0.129671 0.000311795 0.876271 0.5 -0.00926262 0.129557 0.000393265 0.61961 0.5 -0.0102193 0.129407 0.000604352 0.624555 0.5 -0.0112062 0.129253 0.000760937 0.625406 0.5 -0.00613975 0.0976727 -0.0254362 0.686248 0.5 -0.00712802 0.0975509 -0.0252935 0.711899 0.5 -0.00806894 0.0972917 -0.0250353 0.731493 0.5 -0.00905498 0.0971664 -0.0248901 0.753534 0.5 -0.0442629 0.0672699 0.000591455 0.441408 0.5 -0.010042 0.0970288 -0.0247384 0.76677 0.5 -0.0286264 0.0638437 -0.020406 0.764524 0.5 --0.0427898 0.116428 -0.015168 0.710327 0.5 -0.0157473 0.0947545 -0.0243195 0.748112 0.5 -0.0188415 0.121733 -0.00718615 0.613343 0.5 -0.0130281 0.0916311 -0.029044 0.545267 0.5 -0.0139221 0.0913152 -0.0287052 0.577019 0.5 -0.00251855 0.096887 -0.0286022 0.714664 0.5 --0.0369639 0.0346855 -0.0305537 0.115091 0.5 -0.0334736 0.0940135 -0.0155006 0.677729 0.5 --0.00425848 0.0961384 -0.0318255 0.787367 0.5 -0.0282492 0.102359 -0.0164093 0.677781 0.5 -0.0189212 0.0875932 -0.0268145 0.723627 0.5 --0.0343564 0.043282 -0.028737 0.5519 0.5 --0.0135985 0.108507 -0.0209218 0.820177 0.5 -0.0277597 0.0984362 -0.0181936 0.703887 0.384395 -0.0334725 0.0950337 -0.0145821 0.688395 0.5 -0.0383601 0.0921445 -0.0115002 0.683265 0.5 --0.0153553 0.112218 -0.0188504 0.671158 0.5 --0.0127292 0.0909963 -0.036642 0.673373 0.5 --0.0137194 0.091107 -0.0367438 0.643839 0.5 -0.0458379 0.0588925 -0.00503856 0.643274 0.5 -0.0469104 0.0589185 -0.00506663 0.684539 0.5 -0.0479414 0.0588591 -0.00500215 0.707429 0.5 -0.000924532 0.100829 -0.0227814 0.900044 0.5 --0.036643 0.118048 -0.0128637 0.615758 0.5 -0.0110282 0.0968851 -0.0245853 0.784756 0.313824 -0.0278568 0.0643129 -0.0209613 0.780518 0.5 -0.0197906 0.106497 -0.0168156 0.517673 0.5 --0.0159391 0.0999021 -0.023843 0.698382 0.5 --0.0109132 0.103533 -0.0236899 0.657007 0.5 -0.0321886 0.108821 -0.00928902 0.555121 0.5 -0.0268148 0.0976356 -0.019356 0.674367 0.5 --0.0455367 0.111121 -0.0175743 0.662909 0.5 --0.069981 0.180634 -0.0574865 0.246005 0.5 --0.068804 0.18096 -0.0579804 0.283975 0.390855 --0.0590849 0.0644137 0.0318252 0.451111 0.5 -0.0120082 0.0967361 -0.024421 0.80515 0.5 -0.0130231 0.0965172 -0.0241956 0.505862 0.441283 -0.0177346 0.123618 -0.0052308 0.552624 0.5 -0.00096833 0.121103 -0.0124156 0.769375 0.5 --0.0506063 0.0369029 -0.0119734 0.327743 0.5 --0.0528683 0.0367334 -0.0118941 0.243826 0.410328 --0.0546435 0.116042 -0.0146857 0.455921 0.476716 --0.0149615 0.0883672 -0.0380383 0.687121 0.5 --0.0413386 0.121239 -0.0122322 0.601537 0.5 -0.0325508 0.115423 -0.000329209 0.521143 0.5 --0.0321931 0.123411 -0.0044713 0.62467 0.5 -0.0162777 0.117973 -0.0131407 0.508698 0.5 -0.0218218 0.116393 -0.0114503 0.490811 0.5 --0.0358361 0.11045 -0.0189078 0.686834 0.5 --0.0145896 0.101524 -0.0235873 0.691909 0.5 --0.033458 0.0353739 -0.0310204 0.198821 0.5 --0.0345638 0.113971 -0.0166195 0.87923 0.5 -0.0368805 0.101462 -0.00941022 0.634318 0.44791 -0.00429457 0.122356 -0.0118056 0.629568 0.5 -0.00350354 0.0967589 -0.0284524 0.693566 0.344012 --0.020574 0.115387 -0.0161841 0.734711 0.5 --0.0239808 0.0936155 -0.0313592 0.326316 0.424252 -0.0408829 0.0937805 -0.00720194 0.572594 0.5 -0.029367 0.1045 -0.0146741 0.649263 0.5 -0.0302694 0.104198 -0.014346 0.683529 0.5 -0.0202805 0.12337 -0.00295598 0.589066 0.454641 -0.0535789 0.0658041 0.000119664 0.487614 0.5 --0.00774122 0.115628 -0.0165086 0.850404 0.5 --0.0480268 0.116533 -0.0152488 0.624533 0.5 --0.0616004 0.115786 -0.012288 0.571345 0.5 --0.0510158 0.118895 -0.0136999 0.819854 0.5 --0.0578751 0.134121 -0.00585274 0.681677 0.5 --0.0570055 0.133804 -0.00545801 0.68228 0.5 --0.0561028 0.133503 -0.00512832 0.682909 0.5 --0.0551811 0.133216 -0.00483226 0.675945 0.5 --0.054238 0.13299 -0.00459005 0.65869 0.5 --0.0533273 0.132699 -0.00427378 0.635422 0.5 --0.0524826 0.132311 -0.00383544 0.623438 0.5 --0.0516987 0.131736 -0.00321408 0.593479 0.5 --0.0509379 0.131197 -0.00260501 0.540662 0.5 --0.0501411 0.130626 -0.00198394 0.467177 0.5 --0.0493632 0.1301 -0.00139208 0.528369 0.5 --0.0485551 0.129676 -0.000935313 0.514061 0.5 --0.0477832 0.129154 -0.000397631 0.389857 0.5 --0.0468263 0.128888 -6.3255e-05 0.478298 0.442316 --0.0458642 0.128671 0.00011454 0.489638 0.475783 --0.0448731 0.128505 0.000263047 0.741363 0.5 --0.0438752 0.128361 0.000408951 0.801652 0.5 --0.0428482 0.128274 0.00047704 0.856171 0.5 -0.0139014 0.0962996 -0.0239693 0.53022 0.475257 -0.0305321 0.081181 -0.0200863 0.741963 0.5 --0.0149561 0.0997734 -0.0237179 0.683637 0.5 -0.0302841 0.11623 -0.00325108 0.63195 0.5 --0.0329956 0.122915 -0.00595413 0.627999 0.425989 --0.0338857 0.12324 -0.00632922 0.475278 0.5 --0.0138967 0.099791 -0.0237429 0.654974 0.5 --0.0365883 0.0485443 -0.0138981 0.108685 0.112657 --0.0482812 0.115062 -0.0157267 0.681999 0.5 --0.010796 0.120869 -0.0120713 0.760328 0.5 -0.0158804 0.124131 -0.00578699 0.714708 0.5 -0.0148643 0.0961115 -0.0237665 0.734914 0.5 -0.0170669 0.0871276 -0.028336 0.703403 0.5 -0.0162564 0.0875946 -0.0288434 0.693064 0.5 -0.0154065 0.0880419 -0.0292971 0.676763 0.5 -0.0145599 0.088488 -0.0297413 0.640823 0.5 -0.0137018 0.0888713 -0.0301465 0.601993 0.5 -0.0485408 0.0662379 -0.000364329 0.646743 0.5 --0.017323 0.112508 -0.01916 0.658125 0.45559 -0.0158504 0.0959717 -0.0236278 0.776782 0.5 --0.0217254 0.126122 0.00269746 0.721221 0.5 --0.0205455 0.126353 0.00242085 0.717866 0.5 --0.0193661 0.126578 0.00214409 0.717491 0.5 --0.0181782 0.126773 0.00187925 0.712312 0.5 --0.0170034 0.127025 0.0015954 0.692684 0.5 --0.0158277 0.127263 0.00131837 0.691426 0.5 --0.0146006 0.127548 0.000963555 0.698421 0.5 --0.0134774 0.127753 0.000758007 0.702669 0.5 --0.0122454 0.128019 0.000407111 0.7079 0.5 --0.0110606 0.128229 0.000136123 0.719464 0.5 --0.00992638 0.128404 -5.81123e-05 0.714685 0.5 --0.00874133 0.128614 -0.000328304 0.72817 0.5 --0.00760577 0.128788 -0.000526473 0.735254 0.5 --0.0064667 0.128955 -0.000718006 0.757485 0.5 --0.00536465 0.129031 -0.000823415 0.778769 0.5 --0.00426203 0.129106 -0.000929037 0.78275 0.5 --0.00316211 0.129199 -0.00103699 0.546415 0.5 --0.00205946 0.129266 -0.00113907 0.561853 0.5 --0.000994561 0.129288 -0.0011666 0.574788 0.5 -6.3531e-05 0.129314 -0.00119744 0.574275 0.5 -0.00116984 0.129366 -0.00128907 0.581406 0.5 -0.00223085 0.129379 -0.00131325 0.588772 0.5 -0.00329475 0.129383 -0.00133175 0.593749 0.5 -0.00435827 0.129372 -0.0013469 0.593227 0.5 -0.00542168 0.12935 -0.00135496 0.606665 0.5 -0.00644358 0.129282 -0.00129108 0.617309 0.5 -0.0074706 0.129229 -0.00123166 0.627378 0.463142 -0.00845802 0.129083 -0.00108013 0.884474 0.5 -0.00944326 0.128939 -0.000930002 0.882909 0.5 -0.0104303 0.128801 -0.000781749 0.621478 0.47217 -0.0114155 0.128646 -0.000626619 0.631718 0.5 -0.0123659 0.128443 -0.000397752 0.645662 0.5 -0.0133357 0.128238 -0.000223601 0.653611 0.5 -0.0142482 0.127965 9.03059e-05 0.504308 0.475733 -0.01519 0.127729 0.000331934 0.513819 0.476835 -0.0168648 0.0958851 -0.0235234 0.78347 0.5 -0.0178585 0.0957539 -0.0234025 0.804925 0.5 -0.018845 0.0956057 -0.0232473 0.81744 0.5 -0.0198113 0.0954368 -0.0230239 0.82127 0.5 --0.0476607 0.120291 -0.0131944 0.851647 0.5 -0.018169 0.108481 -0.0169141 0.582154 0.5 --0.0187755 0.107692 -0.0220397 0.667579 0.5 --0.0178239 0.107521 -0.0218927 0.703821 0.5 -0.0147945 0.0909396 -0.0283095 0.614278 0.5 -0.0156162 0.0904755 -0.0278196 0.65176 0.5 -0.0164575 0.0900289 -0.0273543 0.630161 0.5 --0.0273656 0.0360131 -0.0296152 0.354022 0.5 --0.0251564 0.113713 -0.0163747 0.832877 0.5 -0.00329134 0.119473 -0.0147093 0.779007 0.5 --0.023274 0.106158 -0.0224283 0.679804 0.5 -0.0207029 0.0950845 -0.0226908 0.652249 0.5 -0.00451899 0.0966593 -0.0283637 0.700348 0.5 -0.00547344 0.0964656 -0.0281399 0.716664 0.5 --0.0356538 0.120932 -0.00987931 0.55059 0.5 -0.0260546 0.112325 -0.0110571 0.58498 0.4381 -0.00361131 0.0929227 -0.0324448 0.670895 0.5 -0.0110249 0.0988999 -0.0227192 0.878447 0.5 --0.0148238 0.091051 -0.0367095 0.616122 0.5 --0.0158845 0.0910066 -0.0366604 0.622322 0.5 --0.016949 0.0909918 -0.0366612 0.625045 0.466305 -0.0161005 0.115637 -0.0146217 0.514618 0.5 -0.0189716 0.115037 -0.0139804 0.472689 0.5 -0.0180337 0.115273 -0.0142355 0.560201 0.5 -0.00492538 0.111581 -0.020193 0.768833 0.5 -0.021637 0.0948486 -0.0224193 0.67163 0.469223 --0.0643144 0.0445281 -0.000908113 0.38012 0.415653 -0.0225812 0.0946281 -0.0221802 0.654713 0.474998 -0.0235231 0.0943993 -0.0219282 0.634086 0.5 --0.0579369 0.119806 -0.0105246 0.541453 0.479544 -0.00641604 0.0962346 -0.0278978 0.512956 0.5 -0.0244608 0.0941673 -0.021671 0.633187 0.5 --0.0388567 0.0985732 -0.0220835 0.724864 0.5 -0.025374 0.0938744 -0.0213667 0.645403 0.5 -0.0262833 0.0935743 -0.0210485 0.659705 0.5 --0.0127135 0.100022 -0.0239701 0.542277 0.5 -0.0271589 0.093209 -0.0206672 0.656699 0.367881 -0.0280428 0.0928381 -0.0202889 0.683178 0.5 --0.0576422 0.035457 -0.0105994 0.14328 0.5 --0.0517405 0.0367791 -0.0118947 0.295755 0.5 -0.0151848 0.115917 -0.0149184 0.52521 0.5 --0.0455924 0.119193 -0.014062 0.880699 0.5 --0.0445311 0.119183 -0.0140568 0.883461 0.5 -0.0125549 0.119968 -0.0132874 0.464897 0.475326 --0.0347118 0.121713 -0.00868145 0.451774 0.5 -0.0172187 0.117738 -0.0128881 0.470554 0.416611 -0.0158369 0.105055 -0.0192576 0.850582 0.5 -0.0250684 0.0912521 -0.0226015 0.63967 0.5 --0.0273763 0.112504 -0.0170987 0.884166 0.5 --0.0347751 0.123588 -0.00668109 0.43935 0.5 -0.0285181 0.0968051 -0.0184722 0.689304 0.5 -0.0361358 0.102075 -0.0100705 0.630061 0.5 --0.0346988 0.120729 -0.0096591 0.58376 0.5 -0.0288984 0.0924492 -0.0198656 0.713076 0.5 --0.0008153 0.10869 -0.0211159 0.747538 0.5 --0.02276 0.093942 -0.0316991 0.325611 0.375721 -0.0275305 0.105074 -0.0152759 0.616822 0.457029 -0.0284509 0.104793 -0.0149826 0.622021 0.5 -0.0248931 0.108132 -0.0145556 0.59766 0.404133 -0.0239203 0.108291 -0.0147313 0.502941 0.469113 --0.0545694 0.124267 -0.00721739 0.861901 0.5 --0.0101883 0.0876449 -0.0371912 0.776575 0.5 --0.0491724 0.116402 -0.0151155 0.65527 0.5 --0.00337868 0.117905 -0.0149619 0.840785 0.5 --0.0522091 0.118697 -0.0134778 0.809968 0.5 --0.0580841 0.132712 -0.00634758 0.679475 0.5 --0.0571873 0.13241 -0.00599886 0.67961 0.5 --0.056282 0.132113 -0.00567386 0.687735 0.5 --0.0553709 0.131821 -0.00535733 0.665368 0.449683 --0.0544374 0.131586 -0.00508481 0.661002 0.452045 --0.053528 0.131291 -0.0047694 0.622958 0.5 --0.0526724 0.130856 -0.00431281 0.598331 0.5 --0.0518913 0.130385 -0.00375074 0.560621 0.5 --0.0511061 0.129858 -0.00316533 0.507751 0.5 --0.0502789 0.129408 -0.00267456 0.472116 0.5 --0.0494252 0.12902 -0.00225187 0.502177 0.5 --0.0485794 0.128753 -0.00187037 0.456767 0.418067 --0.0475118 0.128596 -0.00180437 0.549554 0.5 --0.046566 0.128368 -0.00156221 0.503877 0.5 --0.0455856 0.128182 -0.00140207 0.581889 0.5 --0.0445637 0.128075 -0.00132731 0.632175 0.5 --0.0435747 0.127942 -0.00117905 0.698016 0.5 --0.0425517 0.127843 -0.00110505 0.763101 0.5 --0.0415307 0.127763 -0.00103989 0.583413 0.5 --0.0405102 0.127658 -0.000961794 0.607944 0.5 --0.0394932 0.127549 -0.000886358 0.875685 0.5 -0.0297749 0.0920783 -0.0194766 0.729743 0.5 -0.0137354 0.10206 -0.0220537 0.876143 0.5 -0.0147972 0.102084 -0.0220848 0.63606 0.5 --0.0132881 0.113144 -0.01784 0.626933 0.5 -0.00434751 0.121547 -0.0129175 0.594281 0.5 --0.048763 0.120209 -0.0131018 0.842472 0.5 -0.0226361 0.118891 -0.00814073 0.589904 0.5 --0.00225576 0.119004 -0.0141489 0.800758 0.5 -0.0190773 0.108184 -0.0165978 0.577556 0.5 -0.0139163 0.0953242 -0.0249235 0.515716 0.5 -0.03067 0.0917687 -0.019137 0.736202 0.5 -0.0315757 0.0914687 -0.0188156 0.74153 0.5 -0.032458 0.0910982 -0.0184345 0.735609 0.5 -0.0332508 0.0906175 -0.0178979 0.754562 0.379748 -0.00284082 0.0994342 -0.0233056 0.843067 0.5 -0.0340749 0.0901032 -0.0173771 0.73175 0.5 --0.0225249 0.125571 0.0012278 0.728693 0.5 --0.0213885 0.125739 0.00103732 0.726734 0.5 --0.0202523 0.125914 0.000840735 0.720057 0.5 --0.0190696 0.126125 0.000571573 0.715918 0.5 --0.0179367 0.12631 0.000372783 0.495476 0.5 --0.0167051 0.126576 2.44266e-05 0.486507 0.5 --0.0155312 0.126827 -0.00025822 0.676582 0.5 --0.0143122 0.127128 -0.000614565 0.681438 0.5 --0.0131413 0.127389 -0.000900164 0.699708 0.5 --0.0119496 0.127575 -0.00116297 0.70677 0.5 --0.0107692 0.1278 -0.0014358 0.713125 0.5 --0.0095857 0.128017 -0.00170998 0.507892 0.5 --0.00844614 0.128164 -0.00189615 0.731154 0.5 --0.00730789 0.12834 -0.00208974 0.733138 0.5 --0.00617179 0.128513 -0.00228639 0.756099 0.5 --0.00507021 0.128586 -0.00238902 0.785376 0.5 --0.00396533 0.128634 -0.00247998 0.810818 0.5 --0.00290701 0.128667 -0.00250924 0.593161 0.456908 --0.00184307 0.128669 -0.00252946 0.606661 0.5 --0.000820873 0.128641 -0.00248283 0.603629 0.5 -0.000242427 0.128645 -0.00250259 0.5837 0.5 -0.00130397 0.128647 -0.00252095 0.603842 0.5 -0.00236523 0.128663 -0.00254763 0.581459 0.5 -0.00347146 0.128699 -0.00262952 0.577637 0.5 -0.00453562 0.128718 -0.00265628 0.585475 0.464526 -0.00559724 0.128727 -0.00267638 0.59883 0.466243 -0.00662363 0.128671 -0.00261559 0.614461 0.5 -0.00764804 0.128583 -0.00254334 0.624965 0.5 -0.00863241 0.128438 -0.00238911 0.623298 0.5 -0.00964716 0.128306 -0.00229994 0.883407 0.5 -0.0106046 0.128135 -0.0020835 0.641405 0.5 -0.0115865 0.127977 -0.0019288 0.666362 0.5 -0.0125362 0.127772 -0.00169738 0.673385 0.5 -0.013481 0.127543 -0.00145794 0.661883 0.456201 -0.0144241 0.127312 -0.00121761 0.64832 0.5 -0.0153381 0.127037 -0.000904662 0.511862 0.5 -0.0162787 0.126801 -0.0006607 0.529389 0.466437 -0.0171824 0.126495 -0.000336309 0.524055 0.5 -0.0180905 0.1262 -1.26099e-05 0.537538 0.5 -0.0189956 0.125897 0.000310264 0.565534 0.4633 -0.0349262 0.0896582 -0.0169179 0.733695 0.5 -0.0357614 0.089262 -0.0164786 0.754616 0.5 -0.036558 0.0887304 -0.0159156 0.742137 0.5 -0.0216927 0.103078 -0.0191449 0.483468 0.475654 --0.064123 0.113942 -0.0123233 0.596936 0.5 --0.0184671 0.10319 -0.0232847 0.680191 0.5 -0.000833787 0.106762 -0.0210825 0.784697 0.5 -0.0173609 0.0897252 -0.0270298 0.666815 0.5 -0.0182378 0.0893522 -0.0266421 0.669344 0.5 -0.0297429 0.112241 -0.00897067 0.541671 0.414239 -0.0185485 0.111232 -0.0158588 0.637002 0.5 -0.0373159 0.0880544 -0.0152271 0.714935 0.5 -0.0304209 0.0460912 -0.00653037 0.542403 0.5 -0.0251595 0.0995713 -0.0194056 0.698622 0.5 -0.0285895 0.0979793 -0.017709 0.719134 0.5 -0.0343206 0.094597 -0.0141158 0.718566 0.387559 --0.0186858 0.118957 -0.0119398 0.7236 0.303822 --0.0208502 0.120881 -0.00994613 0.674091 0.5 --0.0521458 0.121812 -0.0107191 0.525204 0.466868 --0.0208303 0.119929 -0.0109428 0.739124 0.5 --0.0557051 0.12209 -0.00891575 0.794697 0.5 --0.0180555 0.0909221 -0.0366017 0.611848 0.5 --0.0250035 0.0896 -0.0352857 0.493378 0.5 --0.0486801 0.12235 -0.0113455 0.763066 0.5 --0.0522074 0.122732 -0.00965468 0.725482 0.5 --0.0579878 0.0414274 -0.0083271 0.607726 0.436978 --0.0592051 0.0411249 -0.00803844 0.606408 0.5 --0.00834994 0.0943471 -0.0340215 0.772221 0.5 --0.0312226 0.0367355 -0.0304453 0.341679 0.5 -0.0389262 0.103315 -0.00332456 0.589245 0.458755 --0.0411413 0.0364371 -0.0278037 0.14416 0.280182 -0.00735928 0.0960033 -0.0276522 0.533767 0.479274 -0.0296818 0.0815643 -0.0205093 0.750669 0.5 -0.00465961 0.0959425 -0.0295932 0.54667 0.5 -0.0108274 0.0362708 -0.0225637 0.284612 0.42836 --0.0652676 0.179645 -0.0602668 0.318406 0.419446 --0.0643001 0.179479 -0.0601392 0.285196 0.445464 --0.0115711 0.100192 -0.0241483 0.589142 0.5 -0.0436089 0.0680569 -0.000247417 0.401928 0.5 --0.0494703 0.0370271 -0.0120635 0.31222 0.5 --0.036233 0.0469115 -0.0220883 0.328615 0.5 --0.0595808 0.0380953 -0.00917151 0.350985 0.5 --0.000110081 0.106984 -0.0213197 0.625114 0.5 -0.0260337 0.0639191 -0.0225668 0.749014 0.5 -0.0343613 0.111866 -0.00251995 0.526862 0.5 -0.0190672 0.117213 -0.0123322 0.47272 0.5 --0.00991212 0.111561 -0.0201766 0.772168 0.5 --0.0240588 0.111793 -0.0183639 0.782315 0.5 --0.0283604 0.112635 -0.0172343 0.640331 0.5 -0.00642086 0.116423 -0.0174422 0.511504 0.5 -0.0317917 0.0949031 -0.0164462 0.692882 0.5 -0.015852 0.106086 -0.0183494 0.627134 0.5 --0.0221856 0.122325 -0.00745001 0.429012 0.5 -0.0444641 0.0686626 0.00115575 0.486311 0.5 -0.0256926 0.105619 -0.0158649 0.602982 0.5 -0.0247455 0.105845 -0.0161092 0.743046 0.5 -0.0266028 0.105322 -0.0155495 0.618978 0.5 -0.0267717 0.107644 -0.0140409 0.634638 0.5 -0.025846 0.107916 -0.0143268 0.619879 0.5 -0.00569987 0.0949071 -0.0304911 0.805916 0.5 -0.0183426 0.0906063 -0.0259275 0.642632 0.459059 -0.023348 0.0930459 -0.0224955 0.820399 0.5 --0.050194 0.116459 -0.0151638 0.664634 0.5 --0.00223434 0.118045 -0.0151238 0.773284 0.5 --0.0533008 0.118582 -0.0133417 0.818276 0.5 --0.0250193 0.118984 -0.0119284 0.71311 0.315527 --0.0262613 0.119664 -0.0106051 0.674179 0.5 -0.0162217 0.120841 -0.0102336 0.602344 0.5 -0.0391665 0.0916193 -0.0109453 0.668147 0.5 --0.0328255 0.12127 -0.00820532 0.576701 0.5 --0.0539191 0.129665 -0.00510771 0.587162 0.460326 --0.052947 0.1293 -0.00466978 0.56164 0.5 --0.0521339 0.128852 -0.00413976 0.561496 0.5 --0.0512593 0.128575 -0.00377835 0.491152 0.5 --0.0503624 0.128323 -0.00347306 0.553441 0.444863 --0.0493523 0.128134 -0.0033313 0.645893 0.5 --0.0483231 0.128062 -0.00327126 0.550161 0.5 --0.0472913 0.128011 -0.00322004 0.902598 0.5 --0.0462686 0.12794 -0.00315273 0.880987 0.5 --0.0453217 0.127718 -0.00291517 0.869677 0.5 --0.0442655 0.127665 -0.00291939 0.531526 0.5 --0.0432796 0.127517 -0.00276726 0.597229 0.5 --0.0422556 0.127428 -0.00269381 0.670325 0.5 --0.0412715 0.127285 -0.00254236 0.523886 0.473726 --0.0402517 0.127178 -0.0024642 0.566667 0.475619 --0.0392699 0.127033 -0.00231305 0.884878 0.5 --0.0382901 0.126893 -0.00216373 0.897201 0.5 --0.0542618 0.0348321 -0.0120282 0 0 --0.0213445 0.0916844 -0.035421 0.51767 0.462956 -0.0504568 0.0627892 -0.00292241 0.537503 0.5 -0.0111209 0.0908234 -0.0303895 0.59499 0.451501 --0.0179551 0.0921164 -0.0358084 0.54409 0.5 --0.0104704 0.100279 -0.0242341 0.626627 0.5 --0.00317446 0.0951663 -0.0328247 0.847106 0.5 -0.0235092 0.118527 -0.00774096 0.61049 0.5 -0.0450165 0.0718833 0.00186291 0.429381 0.5 --0.0289733 0.124361 0.000543811 0.815473 0.5 --0.0279025 0.124426 0.000511349 0.782315 0.5 --0.0268485 0.124528 0.000469072 0.76379 0.5 -0.0456137 0.0708816 0.00289794 0.445577 0.5 -0.0463647 0.0703187 0.00350637 0.576913 0.5 -0.0474231 0.0702463 0.00356979 0.523465 0.5 --0.0222312 0.125137 -0.000350139 0.767746 0.5 --0.0210951 0.12531 -0.000542597 0.745838 0.5 --0.0199595 0.125484 -0.000738697 0.729964 0.5 --0.0187649 0.125661 -0.000995534 0.507488 0.477782 --0.0176337 0.125847 -0.00119502 0.713958 0.5 --0.0165061 0.126041 -0.00139683 0.503483 0.460435 --0.0152817 0.126335 -0.00175389 0.479464 0.5 --0.0140554 0.126614 -0.00210251 0.651992 0.5 --0.0128819 0.126866 -0.00238505 0.678153 0.5 --0.0116556 0.127143 -0.00273206 0.653262 0.5 --0.0104754 0.127368 -0.00300647 0.683355 0.5 --0.00933623 0.127529 -0.00319765 0.705314 0.5 --0.00815144 0.127733 -0.00346398 0.48673 0.5 --0.00705924 0.127865 -0.00358478 0.506837 0.5 --0.00591514 0.12799 -0.00376372 0.541475 0.5 --0.00481374 0.128076 -0.00386981 0.562309 0.5 --0.00375231 0.128091 -0.0038931 0.593773 0.5 --0.00268972 0.128069 -0.00389854 0.630667 0.5 --0.00166671 0.12799 -0.00382866 0.64934 0.5 --0.000643212 0.127926 -0.00376413 0.639044 0.5 -0.000379078 0.127909 -0.00372478 0.624596 0.5 -0.00144018 0.127924 -0.00374837 0.6086 0.5 -0.00254476 0.127971 -0.00383507 0.601938 0.5 -0.00364827 0.128043 -0.00393793 0.601849 0.5 -0.00470729 0.128083 -0.0039713 0.610116 0.5 -0.0057745 0.128094 -0.00399317 0.632991 0.5 -0.00679871 0.128004 -0.00391746 0.64326 0.5 -0.00782186 0.127915 -0.00384433 0.657528 0.5 -0.00880995 0.127795 -0.00370552 0.643683 0.457161 -0.00979123 0.127622 -0.00353983 0.651074 0.458509 -0.0107457 0.127435 -0.00331768 0.892873 0.5 -0.0117235 0.127254 -0.00315056 0.672404 0.5 -0.0126717 0.127043 -0.00291981 0.531426 0.5 -0.0136156 0.126814 -0.00267762 0.529878 0.5 -0.0145549 0.126574 -0.00243153 0.534011 0.472086 -0.0154742 0.126309 -0.00212525 0.538145 0.5 -0.0164098 0.126062 -0.00187701 0.539385 0.455313 -0.0173223 0.125777 -0.00156033 0.535611 0.5 -0.0182274 0.125477 -0.00123802 0.553465 0.5 -0.0191385 0.125192 -0.000918824 0.557142 0.452602 -0.0200495 0.124902 -0.000599563 0.55171 0.5 -0.0209425 0.124573 -0.000263497 0.579038 0.469588 -0.021809 0.1242 0.000142479 0.747424 0.5 -0.0484547 0.0702338 0.00359645 0.515984 0.5 --0.0274342 0.111364 -0.0178958 0.870319 0.5 --0.00940844 0.100291 -0.0242411 0.624826 0.5 -0.0222184 0.122028 -0.00352468 0.595279 0.5 -0.00208806 0.113117 -0.0199282 0.684019 0.5 -0.0120479 0.124912 -0.00663019 0.550748 0.5 -0.0191089 0.0889764 -0.0262512 0.690194 0.5 -0.0199779 0.0885978 -0.0258535 0.712098 0.5 -0.0208421 0.0882147 -0.0254487 0.713827 0.5 -0.0559048 0.0631077 0.000905369 0.716166 0.5 -0.0551275 0.0637038 0.000299703 0.665833 0.5 -0.054323 0.064171 -0.000208879 0.614749 0.5 -0.0534729 0.0645627 -0.000631784 0.516313 0.461969 -0.0375648 0.0926236 -0.0120119 0.689728 0.395761 -0.0044338 0.117686 -0.0167913 0.82758 0.5 --0.0239399 0.118058 -0.0129545 0.835394 0.5 --0.0444709 0.120321 -0.0132547 0.873241 0.5 --0.0498484 0.121182 -0.0121 0.561124 0.5 -0.00834665 0.0958673 -0.0275066 0.530066 0.5 -0.0260213 0.111246 -0.0119 0.567399 0.45289 --0.0386362 0.117281 -0.0140679 0.874108 0.5 -0.0495547 0.0702574 0.0035522 0.563263 0.5 --0.0321381 0.0435397 -0.0289857 0.627514 0.461203 --0.0530949 0.0350628 -0.012244 0.145892 0.5 -0.0392717 0.0938049 -0.00924672 0.580758 0.5 --0.04015 0.0473434 -0.014266 0.272827 0.375308 -0.0286979 0.0806527 -0.0216026 0.754775 0.5 --0.0514799 0.0384723 -0.0115832 0.489273 0.5 --0.0388092 0.0372561 -0.0289196 0.203921 0.5 -0.00929494 0.0956507 -0.0272714 0.773263 0.5 -0.0337894 0.103744 -0.0118635 0.597988 0.475707 -0.0506567 0.0703381 0.00346635 0.583881 0.5 --0.0654437 0.17819 -0.0606312 0.291507 0.444689 --0.0643923 0.178295 -0.0607754 0.378579 0.5 --0.0633934 0.178218 -0.0607118 0.388203 0.5 --0.0625478 0.177823 -0.0603383 0.318991 0.404503 -0.0516782 0.0702939 0.00352664 0.618806 0.5 -0.0526995 0.0702438 0.0035897 0.583511 0.5 -0.0537172 0.0701657 0.00367339 0.58528 0.5 -0.0375184 0.0915609 -0.0128884 0.696514 0.5 --0.0285693 0.0399846 -0.0296196 0.643102 0.5 -0.026836 0.0634537 -0.0220606 0.762285 0.5 -0.0175747 0.0931801 -0.024649 0.603585 0.482522 --0.0110657 0.112343 -0.0190003 0.762643 0.5 -0.0450408 0.0625178 -0.00265494 0.826525 0.5 --0.0293428 0.112771 -0.0173776 0.653988 0.5 --0.0303664 0.112853 -0.0174686 0.655137 0.5 -0.0343018 0.0936044 -0.01506 0.667747 0.5 -0.0329891 0.10525 -0.0114692 0.658571 0.5 --0.0442438 0.113637 -0.0162318 0.692265 0.5 -0.0312687 0.106096 -0.0123707 0.643996 0.5 -0.0303748 0.106409 -0.0127112 0.620637 0.5 -0.0294673 0.106706 -0.01303 0.616642 0.5 -0.0285796 0.107031 -0.0133812 0.599167 0.5 -0.0276786 0.107363 -0.0137282 0.605042 0.5 -0.0205346 0.0937418 -0.0232686 0.662246 0.5 --0.00851004 0.0960786 -0.0317903 0.66453 0.5 -0.0130461 0.106823 -0.0191157 0.540495 0.472427 -0.014824 0.0950266 -0.0246047 0.548572 0.5 --0.0512523 0.116429 -0.0151143 0.625601 0.5 --0.00109974 0.118227 -0.0153259 0.754794 0.5 --0.0544418 0.118427 -0.0131672 0.549631 0.479057 --0.0239631 0.11903 -0.0119726 0.737849 0.5 --0.0273659 0.119585 -0.010507 0.66986 0.5 -0.0171004 0.120495 -0.00987579 0.493028 0.371125 -0.00293844 0.100629 -0.0225769 0.65316 0.5 --0.0318098 0.121167 -0.00811427 0.505095 0.5 --0.0541413 0.128093 -0.005327 0.547861 0.475819 --0.0532414 0.127751 -0.00500041 0.537131 0.5 --0.0522937 0.12758 -0.00475935 0.657096 0.5 --0.0512719 0.127504 -0.00467957 0.806751 0.5 --0.0502577 0.127427 -0.00458948 0.686884 0.34929 --0.0492021 0.127407 -0.00458885 0.581351 0.399227 --0.0481783 0.127343 -0.00452632 0.519141 0.439125 --0.0470742 0.127422 -0.00463291 0.875404 0.5 --0.0460097 0.127427 -0.00464706 0.88874 0.5 --0.0450254 0.127281 -0.00449582 0.885975 0.5 --0.0440047 0.127209 -0.00443148 0.887018 0.5 --0.0429797 0.127137 -0.00436425 0.885703 0.5 --0.041999 0.126936 -0.00419358 0.591902 0.5 --0.0410173 0.12678 -0.00403845 0.653541 0.5 --0.040033 0.126629 -0.00388698 0.715631 0.5 --0.0390181 0.126516 -0.0038056 0.785037 0.5 --0.038039 0.126372 -0.00365101 0.606527 0.5 --0.0371 0.126156 -0.00341777 0.907536 0.5 -0.0547017 0.0700348 0.00381661 0.399473 0.481114 -0.0556724 0.0698728 0.00398853 0.41414 0.5 --0.0343794 0.125292 -0.00246071 0.645661 0.5 --0.033472 0.124985 -0.00213286 0.64993 0.5 --0.0325683 0.124672 -0.00180773 0.916531 0.5 --0.0469365 0.0404762 -0.0121149 0.233794 0.323824 --0.00218115 0.0950603 -0.0327048 0.847079 0.5 --0.0426157 0.035917 -0.0271302 0.125463 0.5 --0.0286768 0.123948 -0.00103929 0.835858 0.5 --0.0275662 0.123979 -0.00112939 0.795242 0.5 --0.0265008 0.124041 -0.00116405 0.743194 0.5 --0.0253603 0.124214 -0.00135534 0.709724 0.5 --0.0242249 0.124407 -0.00155437 0.712069 0.5 --0.0230963 0.124618 -0.00175855 0.734432 0.5 --0.0219613 0.124807 -0.00195706 0.745102 0.5 --0.0208115 0.124915 -0.0021319 0.765288 0.5 --0.0196629 0.125034 -0.00230889 0.785287 0.5 --0.0185161 0.125172 -0.00248935 0.551811 0.5 --0.0173769 0.125333 -0.00267782 0.532376 0.5 --0.0162407 0.125507 -0.00287714 0.492657 0.5 --0.0150651 0.12575 -0.00315467 0.454886 0.4536 --0.0138482 0.126055 -0.00351425 0.445695 0.442436 --0.0126798 0.126321 -0.00380105 0.441248 0.5 --0.0114519 0.126605 -0.00415103 0.418421 0.5 --0.0102692 0.126825 -0.00441849 0.438214 0.5 --0.00912603 0.126983 -0.00460672 0.620455 0.5 --0.00794631 0.127212 -0.00487976 0.440374 0.457046 --0.00680856 0.127356 -0.00506622 0.487284 0.444715 --0.0057025 0.12744 -0.00517306 0.539757 0.448851 --0.00463984 0.12746 -0.00519523 0.529136 0.463308 --0.00357593 0.127459 -0.0052112 0.570598 0.44326 --0.0025157 0.127417 -0.00520554 0.637544 0.442242 --0.00152895 0.1273 -0.00507098 0.661462 0.438948 --0.000544127 0.127196 -0.00494172 0.655262 0.5 -0.00047843 0.12713 -0.00487855 0.625571 0.5 -0.00157852 0.12719 -0.00497022 0.600337 0.5 -0.00268229 0.12726 -0.0050686 0.590514 0.5 -0.00377856 0.127353 -0.00517835 0.588998 0.437428 -0.0048864 0.127407 -0.00526463 0.608014 0.438233 -0.00602626 0.127371 -0.00517179 0.651997 0.423817 -0.00697022 0.12731 -0.00520393 0.662835 0.5 -0.00795806 0.127195 -0.00506697 0.668671 0.5 -0.00897858 0.127106 -0.00499333 0.648109 0.5 -0.00993007 0.126906 -0.00476687 0.509987 0.5 -0.0109104 0.126748 -0.00460652 0.520045 0.5 -0.0118568 0.126524 -0.00436904 0.544286 0.475662 -0.0128031 0.126304 -0.00413421 0.566937 0.418924 -0.01375 0.126078 -0.00389468 0.548898 0.437474 -0.0146587 0.125796 -0.00358107 0.541586 0.5 -0.0155789 0.125536 -0.0032763 0.550359 0.5 -0.0165193 0.125294 -0.00303164 0.682268 0.5 -0.0174244 0.125027 -0.00283112 0.545833 0.465295 -0.0183651 0.124757 -0.00246117 0.562736 0.454988 -0.0192696 0.124452 -0.00213625 0.577566 0.5 -0.0201621 0.124133 -0.00175315 0.574102 0.5 -0.0210813 0.123852 -0.00148905 0.586331 0.5 -0.0219588 0.123501 -0.00109075 0.574664 0.5 -0.0228232 0.123119 -0.000681491 0.596049 0.476718 -0.0565638 0.0695327 0.00435815 0.434406 0.5 --0.0424235 0.12018 -0.013117 0.628094 0.5 -0.01482 0.0920349 -0.0274402 0.5866 0.5 --0.0162822 0.113495 -0.0182068 0.628191 0.5 --0.0186783 0.101771 -0.0238107 0.588576 0.5 -0.013766 0.105146 -0.0193832 0.876061 0.5 -0.0178388 0.104825 -0.0190099 0.843619 0.5 --0.0220481 0.121595 -0.00868192 0.431497 0.5 -0.0216856 0.0878179 -0.0250022 0.69579 0.5 -0.0225502 0.0873848 -0.0245875 0.707551 0.5 -0.0234098 0.0871372 -0.0242525 0.672588 0.46381 -0.024363 0.0867852 -0.0239669 0.73354 0.430748 -0.0525721 0.0648669 -0.000960413 0.484792 0.452333 -0.0516025 0.0650498 -0.00116678 0.550887 0.5 -0.0282004 0.082909 -0.0218038 0.748139 0.5 --0.0158711 0.0941172 -0.0338261 0.607866 0.5 --0.0169313 0.0940904 -0.0338108 0.624295 0.5 -0.0245137 0.102392 -0.0184072 0.60991 0.408631 -0.0104513 0.122961 -0.0105071 0.716701 0.5 -0.0115755 0.104003 -0.020168 0.871955 0.5 --0.0173075 0.11558 -0.0164072 0.848089 0.5 --0.0110827 0.102149 -0.0241692 0.538515 0.5 --0.00952503 0.0920885 -0.0357277 0.666999 0.5 -0.0555538 0.0665692 0.0013688 0.506197 0.461323 -0.0358549 0.0843357 -0.0172902 0.753869 0.5 -0.0102657 0.0954683 -0.0270889 0.785634 0.5 -0.0574071 0.0691343 0.00477569 0.462861 0.470488 --0.054929 0.0378655 -0.0109689 0.336864 0.412541 --0.0376206 0.0376543 -0.029358 0.23258 0.5 -0.0112253 0.0952809 -0.0268838 0.562717 0.471517 -0.0581533 0.0685799 0.00535861 0.387571 0.487033 --0.00838403 0.100228 -0.0241757 0.625709 0.5 --0.00023381 0.123831 -0.00932637 0.651807 0.5 --0.0625552 0.176839 -0.0611671 0.36219 0.5 --0.0413207 0.122297 -0.0113384 0.537502 0.5 --0.0338561 0.0475081 -0.0226504 0.238887 0.356878 -0.00433485 0.120467 -0.0137766 0.583963 0.466339 -0.00920248 0.0914355 -0.0308607 0.581829 0.5 -0.0235849 0.102638 -0.0186769 0.560524 0.5 --0.0304508 0.11875 -0.0116176 0.671869 0.347712 -0.0121697 0.0950562 -0.0266386 0.564443 0.5 -0.005339 0.0971934 -0.026912 0.685261 0.5 --0.05672 0.0341106 -0.0113244 0.142889 0.5 --0.0372926 0.0394674 -0.0291193 0.351216 0.5 --0.0412638 0.110187 -0.018624 0.866246 0.5 --0.0287174 0.0344722 -0.0298467 0.238416 0.5 --0.0299338 0.0468967 -0.0261593 0.525775 0.256273 --0.0242006 0.107431 -0.0217757 0.647447 0.5 --0.042033 0.113762 -0.0163433 0.649561 0.5 -0.0196407 0.0940896 -0.0236062 0.643728 0.5 -0.00382851 0.0992997 -0.0231609 0.824766 0.5 -0.0382996 0.103126 -0.00513692 0.48314 0.489472 -0.0390337 0.102562 -0.00454148 0.553971 0.5 -0.039746 0.101828 -0.00373788 0.567336 0.457184 --0.029008 0.0478606 -0.0250513 0.458635 0.5 --0.0160251 0.0375717 -0.0270066 0.322774 0.5 --0.0523102 0.116406 -0.0150785 0.612979 0.5 -4.86222e-05 0.11836 -0.0154829 0.756917 0.5 --0.0556334 0.11822 -0.0129265 0.546861 0.5 --0.0228582 0.119091 -0.0120569 0.800337 0.5 --0.0284244 0.119569 -0.0104891 0.65565 0.5 -0.0179609 0.1201 -0.00942839 0.582678 0.5 -0.0362267 0.104294 -0.00842134 0.559438 0.5 --0.030708 0.121227 -0.00820323 0.439496 0.5 --0.0553259 0.126836 -0.00601308 0.517644 0.5 --0.0543959 0.12661 -0.00573734 0.662817 0.5 --0.0533766 0.126536 -0.00565695 0.915268 0.5 --0.0523607 0.12647 -0.00557636 0.878388 0.5 --0.0512663 0.12652 -0.00563382 0.775376 0.5 --0.0502022 0.12654 -0.00566411 0.655332 0.5 --0.0490636 0.126668 -0.00583208 0.563743 0.5 --0.0480003 0.126688 -0.00585567 0.54321 0.5 --0.0468988 0.126761 -0.00595632 0.877558 0.5 --0.0457969 0.126831 -0.00605616 0.50656 0.5 --0.0448105 0.126695 -0.00590468 0.923584 0.5 --0.043786 0.126623 -0.00583839 0.901458 0.5 --0.0427639 0.126553 -0.0057736 0.521999 0.5 --0.0417806 0.126404 -0.00562318 0.909844 0.5 --0.0407607 0.126285 -0.00553285 0.568585 0.5 --0.0397817 0.126122 -0.00537397 0.658695 0.5 --0.0388025 0.125966 -0.00521606 0.723567 0.5 --0.0378236 0.125803 -0.00505851 0.795164 0.5 --0.0368834 0.125578 -0.00482073 0.876957 0.5 --0.0359493 0.125342 -0.00457539 0.88222 0.5 --0.0350845 0.124972 -0.00417237 0.617723 0.5 --0.0341992 0.124637 -0.00378015 0.65647 0.5 --0.0332919 0.124337 -0.00345787 0.665238 0.460411 --0.0323569 0.124066 -0.00320487 0.914258 0.5 --0.0313957 0.12387 -0.00298136 0.913129 0.5 -0.00114443 0.118463 -0.015597 0.775513 0.5 --0.00732189 0.100225 -0.0241674 0.669788 0.5 --0.0283817 0.123518 -0.00261643 0.827759 0.5 --0.027273 0.123571 -0.00271305 0.80899 0.5 --0.0262078 0.123609 -0.00273748 0.550116 0.5 --0.0250588 0.123734 -0.00291588 0.755207 0.5 --0.023911 0.123885 -0.00309916 0.720073 0.5 --0.0227771 0.124071 -0.00329832 0.694857 0.5 --0.0216432 0.124246 -0.00349177 0.705503 0.5 --0.0205096 0.124449 -0.00369667 0.741747 0.5 --0.0194201 0.1246 -0.00382324 0.737012 0.5 --0.0183192 0.124686 -0.00393431 0.532478 0.452962 --0.017163 0.124753 -0.00408239 0.530639 0.443911 --0.0160718 0.124871 -0.00420428 0.498969 0.5 --0.0149468 0.125073 -0.0044168 0.456118 0.5 --0.0137258 0.125368 -0.00476898 0.406251 0.5 --0.0124544 0.125711 -0.00519106 0.399036 0.5 --0.0112343 0.126014 -0.00554296 0.392593 0.446716 --0.0100919 0.126182 -0.00573829 0.405535 0.455288 --0.00891511 0.126415 -0.00600997 0.399051 0.5 --0.00773495 0.12664 -0.00628182 0.438685 0.5 --0.00658802 0.126776 -0.00645935 0.475836 0.5 --0.00552934 0.126815 -0.00649473 0.511371 0.5 --0.00446177 0.12682 -0.00651375 0.517164 0.5 --0.00340282 0.12679 -0.00651364 0.572487 0.5 --0.00241379 0.126666 -0.00637642 0.642219 0.5 --0.00142937 0.126525 -0.00622577 0.67362 0.5 --0.000408544 0.126448 -0.00615558 0.66639 0.5 -0.00061382 0.126415 -0.00611002 0.662037 0.5 -0.00171621 0.126464 -0.00619605 0.630672 0.5 -0.00281822 0.126541 -0.00629609 0.627876 0.5 -0.00391726 0.126651 -0.0064175 0.624255 0.5 -0.00502464 0.126695 -0.00649713 0.647693 0.5 -0.0060852 0.126695 -0.00651247 0.653373 0.5 -0.00710731 0.126603 -0.00643182 0.674042 0.5 -0.0080932 0.126458 -0.00628099 0.688973 0.5 -0.00907886 0.126317 -0.00613291 0.657988 0.5 -0.0100342 0.126121 -0.00591235 0.668458 0.436528 -0.0110096 0.125946 -0.00574203 0.695357 0.5 -0.0119572 0.125728 -0.00550935 0.544417 0.5 -0.0129045 0.125515 -0.00527553 0.569904 0.5 -0.0138217 0.125251 -0.00497301 0.559987 0.475294 -0.0147654 0.125019 -0.0047274 0.710154 0.5 -0.0157129 0.124796 -0.00448994 0.553866 0.423671 -0.0166807 0.124611 -0.00431903 0.541757 0.439776 -0.00739557 0.0347435 -0.0216037 0.278473 0.5 -0.00340018 0.0348289 -0.0229504 0.322372 0.5 -0.00241269 0.0347278 -0.0230504 0.238474 0.5 -0.00140058 0.0348342 -0.0234319 0.237582 0.5 -0.000403091 0.0348316 -0.0232847 0.251603 0.5 --0.000582144 0.0347482 -0.0236897 0.194059 0.5 --0.00157869 0.0347285 -0.0237137 0.189218 0.5 --0.00258809 0.0348892 -0.0237423 0.29642 0.5 --0.00357674 0.0347286 -0.0239915 0.219191 0.5 --0.00458022 0.0347745 -0.0240516 0.217426 0.5 --0.00557634 0.0347311 -0.0241073 0.202681 0.5 --0.00657564 0.0346831 -0.0243352 0 0 --0.00757151 0.0346922 -0.0244599 0.183917 0.5 --0.0398457 0.0985451 -0.0219087 0.734395 0.5 --0.04085 0.0985381 -0.021696 0.745481 0.5 --0.0418518 0.098529 -0.0215916 0.775217 0.5 --0.0428489 0.09852 -0.021578 0.789338 0.5 --0.0135754 0.0347863 -0.0255909 0.175367 0.5 --0.0145783 0.0348246 -0.0259715 0.184949 0.5 --0.0155786 0.0348181 -0.0259692 0.181171 0.5 --0.0438434 0.0985095 -0.0215595 0.803266 0.5 --0.0448438 0.0985036 -0.0215544 0.83963 0.5 --0.0458425 0.0985138 -0.0217256 0.843346 0.5 --0.0468406 0.0985145 -0.021833 0.826967 0.5 --0.0224906 0.034851 -0.0281799 0.260782 0.5 --0.023525 0.0349287 -0.0283944 0.275308 0.5 --0.0245413 0.0349941 -0.0287041 0.287495 0.5 --0.0255122 0.0349295 -0.0287387 0.255944 0.5 --0.0478408 0.098515 -0.0219326 0.820767 0.5 -0.0142608 0.0359816 -0.0203372 0.466171 0.5 -0.0133536 0.0359529 -0.0210721 0.392851 0.5 -0.0122525 0.036039 -0.0217262 0.403029 0.5 --0.0488433 0.098515 -0.0220378 0.822764 0.5 -0.0103848 0.03606 -0.0224393 0.589365 0.5 -0.0094116 0.0360543 -0.0227822 0.378117 0.5 -0.00840449 0.0360838 -0.0229864 0.369104 0.5 -0.00741372 0.0360842 -0.0231635 0.435702 0.5 -0.00641089 0.036109 -0.0234066 0.337353 0.5 -0.00541958 0.0361021 -0.0235849 0.3469 0.5 -0.00441886 0.0361314 -0.0238164 0.305 0.426749 -0.00343169 0.0361267 -0.0240106 0.380935 0.405273 -0.00242016 0.0361514 -0.024222 0.361099 0.5 -0.00142185 0.0361564 -0.0243567 0.344657 0.5 -0.000420458 0.036172 -0.0244623 0.326966 0.5 --0.000579953 0.0361804 -0.0245898 0.314174 0.5 --0.00158335 0.0361983 -0.0246741 0.304408 0.5 --0.00258285 0.0361873 -0.0247048 0.348204 0.5 --0.00358089 0.036197 -0.0248262 0.336847 0.5 --0.00457986 0.0361758 -0.0248798 0.316788 0.5 --0.00558231 0.0361988 -0.024956 0.308199 0.5 --0.00657967 0.0361819 -0.0249969 0.287483 0.5 --0.00758227 0.0362053 -0.0250795 0.280192 0.5 --0.00858725 0.0362397 -0.025275 0.308608 0.5 --0.0498385 0.0970763 -0.0221981 0.767966 0.5 --0.0508473 0.0970748 -0.0222124 0.738789 0.5 --0.0518518 0.0970732 -0.0222063 0.706831 0.5 --0.0125979 0.0362885 -0.0258846 0.319746 0.5 --0.0136021 0.0363077 -0.0261392 0.316273 0.5 --0.0145953 0.0363242 -0.0264317 0.283631 0.5 --0.0498454 0.098516 -0.0220736 0.791235 0.5 --0.050852 0.0985174 -0.022094 0.746025 0.5 --0.0518585 0.0985114 -0.0220738 0.69362 0.5 --0.0185965 0.0364224 -0.0275796 0.283028 0.5 --0.0196119 0.0364667 -0.0278852 0.360343 0.5 --0.0206175 0.0364922 -0.0281092 0.381052 0.5 --0.0215925 0.0364837 -0.0283556 0.372804 0.5 --0.0225905 0.0365035 -0.0286129 0.363221 0.5 --0.0235952 0.03653 -0.0288249 0.391376 0.5 --0.0245975 0.0365494 -0.0290831 0.392666 0.5 --0.0255895 0.0365546 -0.0292581 0.351927 0.5 --0.0528758 0.0985097 -0.0219976 0.495892 0.5 --0.0672648 0.0680031 0.0322561 0.504662 0.5 --0.0131917 0.169758 -0.0239616 0.564751 0.5 --0.0181742 0.169737 -0.0210312 0.722788 0.5 --0.0271732 0.169704 -0.0183584 0.519798 0.5 --0.0538836 0.0984784 -0.021806 0.468135 0.45348 --0.0528408 0.0970645 -0.0221327 0.659087 0.343956 --0.0548752 0.0984577 -0.0213117 0.449896 0.5 --0.0201579 0.171232 -0.0211109 0.750071 0.5 --0.0271732 0.171194 -0.0185934 0.471197 0.5 --0.0321688 0.171168 -0.015915 0.453402 0.5 --0.055877 0.0984248 -0.0207921 0.439647 0.5 --0.0569101 0.0984236 -0.0203516 0.459895 0.452391 --0.0818617 0.117704 -0.00327392 0.580413 0.5 --0.0578948 0.0983776 -0.0200563 0.450037 0.474425 --0.058907 0.0983413 -0.0195805 0.55608 0.5 --0.0598969 0.0982824 -0.0189251 0.526993 0.5 --0.0191865 0.172705 -0.0222871 0.682828 0.5 --0.058912 0.109738 -0.0167726 0.453307 0.455759 --0.0635438 0.0341847 -0.00786744 0.18253 0 --0.0480694 0.153165 -0.00566954 0.691758 0.5 --0.0656496 0.0339611 -0.00733584 0.173312 0.5 --0.0676468 0.0338307 -0.00583252 0.187639 0.5 --0.0685146 0.033856 -0.00470573 0.204676 0.337077 --0.0281451 0.166722 -0.0170726 0.774382 0.5 --0.0301385 0.166718 -0.0165418 0.803302 0.5 --0.0608693 0.0982413 -0.018491 0.447558 0.5 -0.0143906 0.0373653 -0.0212799 0.35451 0.5 -0.0134057 0.0374127 -0.0219366 0.38161 0.5 -0.0124253 0.0374345 -0.0223624 0.391935 0.5 -0.01142 0.0374719 -0.022733 0.499401 0.5 -0.0104112 0.0375138 -0.0230668 0.470502 0.5 -0.00942462 0.0375116 -0.02327 0.444589 0.5 -0.00841559 0.0375405 -0.0234702 0.427543 0.5 -0.00741716 0.0375454 -0.0236134 0.427871 0.5 -0.00641397 0.0375702 -0.0238447 0.404607 0.5 -0.00540963 0.0375924 -0.0240752 0.396767 0.5 -0.0044132 0.0376001 -0.0242202 0.470167 0.5 -0.00341059 0.0376223 -0.0244648 0.528042 0.5 -0.0024069 0.037633 -0.0245625 0.515359 0.5 -0.00141145 0.0376391 -0.024717 0.499347 0.5 -0.000412578 0.0376462 -0.0248548 0.485157 0.5 --0.000588677 0.037658 -0.0249499 0.470893 0.5 --0.00158954 0.0376715 -0.025054 0.486442 0.5 --0.00258654 0.0376582 -0.0251248 0.505208 0.5 --0.00358669 0.0376696 -0.025221 0.486475 0.5 --0.00458896 0.0376652 -0.0252351 0.46412 0.5 --0.00558664 0.0376733 -0.0253626 0.453531 0.5 --0.00659114 0.03769 -0.0254352 0.444737 0.5 --0.00758688 0.0376797 -0.0254717 0.431569 0.5 --0.00858661 0.0376839 -0.0256139 0.428175 0.41122 --0.00958914 0.0376967 -0.0257201 0.437521 0.408752 --0.0105903 0.0377043 -0.0258398 0.411835 0.400152 --0.0116048 0.0377441 -0.0259987 0.398619 0.393938 --0.0125983 0.037741 -0.0261872 0.455664 0.408733 --0.0136024 0.0377623 -0.0264268 0.440562 0.5 --0.0146115 0.03779 -0.0266447 0.435872 0.5 --0.0156084 0.0378086 -0.0269252 0.33228 0.5 --0.0618416 0.098205 -0.0180486 0.44544 0.466101 --0.0176179 0.0378672 -0.0275216 0.336393 0.5 --0.0186131 0.0378854 -0.0277917 0.485078 0.5 --0.0196147 0.0379102 -0.0280301 0.52935 0.5 --0.0206136 0.0379294 -0.0283016 0.528348 0.400205 --0.0215953 0.03793 -0.0285032 0.504724 0.398286 --0.0226026 0.0379508 -0.0287016 0.530764 0.5 --0.023601 0.0379574 -0.0288347 0.552661 0.5 --0.024607 0.037979 -0.0290368 0.535152 0.5 --0.0255993 0.037974 -0.029094 0.513191 0.5 --0.0628508 0.0981808 -0.0176907 0.466629 0.5 -0.00310161 0.111606 -0.0202814 0.719194 0.5 --0.0778811 0.12224 -0.00662917 0.424148 0.5 --0.077868 0.12372 -0.00684832 0.386183 0.5 --0.0638567 0.0981567 -0.0173229 0.493344 0.478246 --0.0648891 0.0981501 -0.0170112 0.521532 0.47585 --0.0658747 0.0981197 -0.0167177 0.502428 0.5 --0.0668671 0.0980924 -0.0163226 0.483814 0.5 --0.0678611 0.0980605 -0.0159397 0.499781 0.478548 -0.00614025 0.110185 -0.0202335 0.645586 0.468458 --0.0350727 0.157773 -0.0116201 0.828995 0.5 --0.0688327 0.09803 -0.0157395 0.527097 0.48334 --0.0698503 0.0980241 -0.015524 0.637446 0.5 --0.0708458 0.0980019 -0.0152545 0.462782 0.5 --0.0718516 0.0979698 -0.0147575 0.438453 0.5 --0.0538563 0.0970443 -0.0219059 0.502349 0.453905 --0.0728362 0.0979301 -0.0143404 0.4383 0.473732 --0.0152189 0.172708 -0.0246075 0.599954 0.5 --0.0281556 0.17562 -0.0175208 0.514897 0.5 --0.0251823 0.172681 -0.0196186 0.48587 0.398002 --0.0441291 0.159145 -0.00944971 0.442388 0.5 --0.047561 0.0361661 -0.0123414 0 0 --0.0485578 0.0361757 -0.0124661 0.196671 0.5 --0.073851 0.0979023 -0.0138506 0.415776 0.5 --0.0748382 0.0978559 -0.0133191 0.494062 0.5 -0.00110427 0.111585 -0.0201254 0.699558 0.5 -0.00711096 0.111601 -0.019782 0.790532 0.5 --0.0758657 0.097813 -0.01246 0.496135 0.5 --0.033143 0.157873 -0.0118064 0.759356 0.5 --0.023205 0.178608 -0.0204967 0.373943 0.474776 --0.0508873 0.105589 -0.0194525 0.744922 0.5 --0.0519018 0.105587 -0.0193502 0.729881 0.5 --0.0659107 0.120913 -0.00886784 0.759803 0.5 --0.0508873 0.109845 -0.0186279 0.734871 0.5 --0.082909 0.123594 -0.00426589 0.495039 0.38922 --0.0528954 0.105563 -0.0191967 0.555552 0.5 --0.0619218 0.112503 -0.0143567 0.473193 0.487262 --0.0635449 0.0356868 -0.00823988 0.270814 0.5 --0.0645431 0.0356401 -0.00785526 0.29008 0.5 --0.0655175 0.0356165 -0.00754656 0.294116 0.5 --0.0665675 0.0355377 -0.00701232 0.158435 0.5 --0.0675456 0.035487 -0.00647 0.319801 0.5 --0.0685946 0.0353745 -0.00558788 0.180509 0.5 --0.0695434 0.0352232 -0.00418951 0.0917694 0.5 --0.0708319 0.0345819 -0.00103676 0.147151 0.5 --0.0715318 0.0347543 -0.000134182 0.165615 0 -0.0244581 0.0366925 -0.000851561 0 0 -0.0234605 0.0367801 -0.00165856 0.113344 0.5 -0.0224551 0.0368363 -0.00219983 0 0 --0.0491191 0.159098 -0.00622225 0.383273 0.45397 --0.020138 0.166773 -0.018707 0.793954 0.5 --0.0261276 0.166758 -0.01752 0.827453 0.5 --0.0480744 0.151666 -0.00489643 0.760085 0.5 --0.0295801 0.0368886 0.052851 0.466815 0.5 --0.0728899 0.122329 -0.00823917 0.650573 0.5 -0.0144177 0.0388354 -0.0218485 0.553343 0.5 -0.0133897 0.0389058 -0.0222843 0.448488 0.467692 -0.0124104 0.0389053 -0.0225983 0.450046 0.5 -0.0114184 0.0389206 -0.0228692 0.572446 0.427994 -0.0104091 0.0389479 -0.0231008 0.54699 0.5 -0.00940878 0.0389595 -0.0232113 0.545598 0.5 -0.0084105 0.0389663 -0.0233493 0.544926 0.5 -0.00740689 0.0389878 -0.0235836 0.542661 0.5 -0.00640724 0.0390095 -0.0238414 0.550461 0.5 -0.0053978 0.0390279 -0.0240405 0.548789 0.5 -0.00440363 0.0390362 -0.0241943 0.563591 0.5 -0.00340212 0.0390598 -0.024445 0.629565 0.5 -0.00240772 0.0390703 -0.0246208 0.629811 0.5 -0.00140103 0.0390882 -0.0248121 0.606413 0.5 -0.000401309 0.0390966 -0.0249339 0.594454 0.5 --0.000599084 0.0391028 -0.0250468 0.594367 0.5 --0.00159763 0.0391157 -0.0252097 0.625609 0.5 --0.00259587 0.0391262 -0.0253465 0.626795 0.5 --0.00359535 0.0391334 -0.025473 0.614592 0.5 --0.00459579 0.039143 -0.025596 0.603481 0.5 --0.00559653 0.0391515 -0.0257085 0.585049 0.5 --0.00659427 0.0391448 -0.0257394 0.571613 0.5 --0.00759694 0.039172 -0.0259394 0.562841 0.5 --0.00859398 0.0391639 -0.0259828 0.554863 0.5 --0.00959872 0.0391743 -0.0260833 0.512763 0.5 --0.0105966 0.0391805 -0.0262222 0.534032 0.5 --0.0115998 0.0391898 -0.02633 0.521549 0.5 --0.0126068 0.0392015 -0.0264338 0.579394 0.5 --0.0136017 0.0392183 -0.0267222 0.582447 0.5 --0.0145978 0.0392398 -0.0269855 0.410905 0.5 --0.0156039 0.0392636 -0.0272219 0.434768 0.479041 --0.0166283 0.0393036 -0.0275139 0.436064 0.479523 --0.0175974 0.0393048 -0.0277532 0.559583 0.405842 --0.0186192 0.0393436 -0.0280481 0.639291 0.5 --0.0196031 0.0393462 -0.028238 0.690367 0.5 --0.0206006 0.0393656 -0.0285093 0.675405 0.5 --0.0216083 0.039391 -0.0287125 0.647765 0.5 --0.0226105 0.0393974 -0.0288175 0.680526 0.5 --0.0236049 0.0394052 -0.0289635 0.678971 0.5 --0.0246065 0.0394112 -0.0290873 0.674778 0.5 --0.0255986 0.0394109 -0.0291464 0.600289 0.5 --0.0540996 0.154592 -0.00271527 0.406906 0.339546 --0.0780673 0.0690482 0.0132523 0.712447 0.5 --0.053898 0.105542 -0.0189379 0.682084 0.5 --0.0709225 0.109376 -0.0106672 0.499156 0.485721 --0.0306087 0.0394849 -0.0300968 0.590219 0.5 --0.0316065 0.039499 -0.0303181 0.461121 0.5 --0.0326038 0.039499 -0.0302708 0.525891 0.5 --0.0336086 0.0394857 -0.0301589 0.485594 0.5 --0.0708792 0.115031 -0.00817569 0.425481 0.444759 --0.0639313 0.11526 -0.0113233 0.572937 0.5 --0.0291365 0.165225 -0.016186 0.826304 0.5 --0.0376133 0.0393512 -0.0290006 0.34007 0.5 --0.038606 0.0392918 -0.0284798 0.306544 0.447497 --0.0396087 0.0392284 -0.0278507 0.289695 0.5 --0.0545309 0.0352136 0.0455493 0.735746 0.5 --0.0548923 0.105518 -0.0186699 0.678065 0.5 --0.0788715 0.122217 -0.0060966 0.417064 0.370231 --0.0749763 0.136928 -0.00646616 0.508226 0.5 --0.0659657 0.129697 -0.00887578 0.811065 0.5 --0.0261859 0.172679 -0.0191085 0.474182 0.5 --0.030101 0.160758 -0.0141091 0.865182 0.5 --0.0475686 0.0376232 -0.0123457 0.19537 0.5 --0.0485539 0.0376116 -0.0123218 0.286596 0.5 --0.0495645 0.0375773 -0.0119604 0.35002 0.5 --0.0558768 0.105489 -0.0184971 0.694009 0.5 --0.0441374 0.160646 -0.00957119 0.429042 0.5 --0.0401921 0.166668 -0.0117758 0.386735 0.461963 --0.0838483 0.119157 -0.00284212 0.523056 0.5 --0.0668846 0.117985 -0.00889164 0.638896 0.5 --0.0818614 0.114723 -0.0022038 0.513094 0.5 --0.0565291 0.0373798 -0.0104777 0.280529 0.5 --0.0575172 0.037335 -0.0101901 0.253048 0.5 --0.0568793 0.105485 -0.0183902 0.727087 0.5 --0.0830081 0.135296 -0.00152379 0.618802 0.5 --0.0605217 0.0372227 -0.00906293 0.276339 0.5 --0.06148 0.0371866 -0.00855801 0.283805 0.429462 --0.0779551 0.131028 -0.00606492 0.419934 0.448641 --0.063488 0.037094 -0.00797583 0.330869 0.5 --0.0645109 0.0370591 -0.00764757 0.426245 0.5 --0.0654933 0.0370192 -0.00733845 0.442432 0.313138 --0.0664891 0.0369705 -0.00688594 0.295629 0.5 --0.0675101 0.0369158 -0.0062949 0.255831 0.5 --0.0685182 0.0368214 -0.0053939 0.2812 0.5 --0.0695317 0.0366687 -0.00405392 0.130661 0.5 --0.0706839 0.0363372 -0.00115986 0.157445 0.5 --0.0715396 0.0362187 -0.000138838 0 0 -0.033449 0.0380742 0.000639692 0.290019 0.5 -0.032415 0.0383305 -0.000488607 0.323719 0.5 -0.0314145 0.0384146 -0.00113672 0.342724 0.5 -0.0304284 0.0383851 -0.001443 0.323118 0.5 -0.0294342 0.0383781 -0.00173395 0.249558 0.5 -0.0284741 0.0381475 -0.00163189 0.24096 0.5 -0.0274945 0.0381011 -0.00197122 0.206568 0.5 -0.026467 0.0383015 -0.00253304 0.170358 0.5 -0.0254584 0.0383883 -0.00303811 0.167442 0.5 -0.0244505 0.0384021 -0.00302114 0.247765 0.5 -0.023446 0.0385037 -0.00396461 0.227308 0.5 --0.0708979 0.122353 -0.00862039 0.727001 0.5 --0.0161451 0.166792 -0.0199866 0.652581 0.5 --0.0231365 0.166757 -0.0180638 0.812504 0.5 --0.054857 0.0970227 -0.0215362 0.479108 0.5 --0.0840398 0.132376 -0.0018283 0.593065 0.5 -0.0163786 0.0403059 -0.0216745 0.565342 0.5 -0.0154069 0.0403121 -0.0220991 0.54996 0.5 -0.0144144 0.0403325 -0.0225056 0.595645 0.470777 -0.0134264 0.0403382 -0.0227982 0.595255 0.469409 -0.0124197 0.0403679 -0.0230567 0.580084 0.5 -0.0114164 0.0403794 -0.0231815 0.823757 0.5 -0.0104088 0.0403968 -0.0232872 0.821224 0.5 -0.00941217 0.040392 -0.0233006 0.817707 0.5 -0.00840712 0.0404044 -0.0234014 0.811693 0.5 -0.00740202 0.0404296 -0.0235788 0.592328 0.5 -0.00640925 0.0404248 -0.023654 0.618402 0.5 -0.00540344 0.040445 -0.0238712 0.627267 0.5 -0.00439792 0.0404664 -0.024069 0.606702 0.5 -0.00340705 0.0404653 -0.0241388 0.598141 0.5 -0.00239673 0.0404932 -0.0244502 0.660925 0.5 -0.00139789 0.0405023 -0.0245871 0.647619 0.5 -0.000392133 0.0405199 -0.0247969 0.6591 0.5 --0.000600787 0.0405329 -0.0249772 0.674591 0.5 --0.00160432 0.0405525 -0.0251988 0.673039 0.5 --0.00260003 0.0405608 -0.0253579 0.654299 0.5 --0.00359864 0.0405713 -0.0254999 0.665713 0.5 --0.00459976 0.0405792 -0.0256485 0.661258 0.5 --0.00560235 0.0406015 -0.0258376 0.63392 0.5 --0.00660048 0.0405957 -0.0258634 0.634293 0.5 --0.00760223 0.0406064 -0.0259713 0.633131 0.5 --0.00860205 0.0406149 -0.0260948 0.56415 0.5 --0.00960203 0.0406207 -0.0262166 0.580819 0.5 --0.0105985 0.0406145 -0.0262787 0.579764 0.5 --0.0116015 0.0406252 -0.0263738 0.59138 0.5 --0.0126067 0.040646 -0.0265976 0.667835 0.5 --0.0136021 0.0406665 -0.0268707 0.598701 0.5 --0.0146057 0.0406867 -0.0271172 0.489279 0.5 --0.0156111 0.0407209 -0.0274801 0.481368 0.5 --0.0166099 0.0407431 -0.0277394 0.620895 0.5 --0.0176152 0.0407641 -0.0279656 0.655795 0.5 --0.0186097 0.0407857 -0.0282477 0.754382 0.5 --0.0196118 0.040807 -0.0284935 0.577124 0.5 --0.0205993 0.0408181 -0.0286892 0.754684 0.5 --0.0216102 0.0408331 -0.028871 0.760223 0.5 --0.0226112 0.04084 -0.0289768 0.762998 0.5 --0.0236123 0.0408478 -0.0290846 0.759098 0.5 --0.0246071 0.0408479 -0.0291354 0.694627 0.5 --0.0256081 0.0408536 -0.0292407 0.673796 0.5 --0.0266144 0.0408668 -0.0293519 0.662269 0.376831 --0.0276134 0.0408758 -0.0294796 0.689539 0.353216 --0.028614 0.0408765 -0.0296027 0.669343 0.5 --0.0296169 0.0408892 -0.0298249 0.672648 0.5 --0.0306178 0.0409006 -0.0300462 0.636137 0.5 --0.0316113 0.0409091 -0.0301005 0.625669 0.5 --0.032605 0.0408975 -0.030074 0.580325 0.5 --0.0336134 0.0408899 -0.0298935 0.436381 0.5 --0.0346258 0.0408721 -0.0296689 0.429265 0.461122 --0.0356136 0.0408304 -0.0293778 0.408577 0.5 --0.0366032 0.0407784 -0.0289892 0.407431 0.467512 --0.0375646 0.0407082 -0.0285349 0.493729 0.5 --0.0386188 0.04066 -0.0277325 0.458472 0.5 -0.00710791 0.110158 -0.019992 0.669523 0.5 --0.0501327 0.159092 -0.00542351 0.460012 0.5 --0.066012 0.139954 -0.00779963 0.73823 0.5 --0.0741051 0.0686193 0.025039 0.684478 0.5 --0.0787639 0.0696569 0.0125705 0.52805 0.5 --0.0201905 0.172698 -0.0217858 0.686217 0.5 --0.0740846 0.0657329 0.0152043 0.574951 0.420508 --0.0629819 0.128219 -0.0083429 0.651582 0.482658 --0.0475747 0.0390527 -0.0120963 0.355388 0.5 --0.0485567 0.0390246 -0.0119389 0.38583 0.5 --0.049558 0.0389942 -0.0116749 0.465499 0.5 --0.0505315 0.0389504 -0.011562 0.530804 0.5 --0.0515418 0.0389441 -0.0114685 0.544941 0.5 --0.0525514 0.0389481 -0.0113995 0.531307 0.5 --0.0535445 0.0389126 -0.0111352 0.392061 0.5 --0.0545209 0.0388646 -0.0108239 0.389538 0.438881 --0.0555353 0.0388223 -0.0103544 0.397461 0.5 --0.0565382 0.0387829 -0.00997998 0.388941 0.5 --0.0575406 0.0387439 -0.00960491 0.37537 0.5 --0.0585141 0.0386878 -0.00928985 0.387859 0.5 --0.0595062 0.0386574 -0.00901889 0.396251 0.5 --0.0605167 0.0386224 -0.00865968 0.396172 0.5 --0.0615139 0.0385816 -0.00827445 0.399812 0.5 --0.062493 0.0385506 -0.00796777 0.386067 0.427535 --0.063479 0.0384929 -0.0076832 0.359373 0.5 --0.0645061 0.0384674 -0.00726163 0.412512 0.5 --0.0654795 0.0384216 -0.00684663 0.365963 0.421524 --0.0664676 0.0383698 -0.00648508 0.31061 0.5 --0.0674682 0.0382926 -0.00574154 0.272759 0.5 --0.0683644 0.0381281 -0.00463362 0.186633 0.39817 --0.0695501 0.0378481 -0.00149869 0.346576 0.5 --0.0705692 0.037778 -0.000833243 0.190569 0.5 --0.0715439 0.0376425 0.00026118 0.118661 0.5 --0.0578691 0.105465 -0.0183362 0.714004 0.5 --0.0198831 0.107284 -0.0222237 0.654458 0.5 -0.0374062 0.0397236 -0.000139169 0.889043 0.5 -0.0363991 0.039859 -0.00104313 0.522935 0.5 -0.0354021 0.0399255 -0.00156043 0.524452 0.5 -0.0344146 0.0399125 -0.00185272 0.892872 0.5 -0.0334188 0.0399387 -0.00226403 0.576211 0.5 -0.0324259 0.0399358 -0.00240332 0.570286 0.5 -0.031421 0.0399741 -0.00264961 0.57108 0.5 -0.0304249 0.0399897 -0.00292852 0.489882 0.5 -0.029436 0.039931 -0.00313898 0.446318 0.5 -0.0284614 0.0398271 -0.00325429 0.393135 0.5 -0.0274404 0.0399547 -0.00370609 0.384593 0.5 -0.0264293 0.0400385 -0.00421056 0.412828 0.5 -0.0254331 0.0400654 -0.00462996 0.410052 0.5 -0.0244747 0.0400424 -0.00510986 0.423327 0.5 --0.0789484 0.130998 -0.00538086 0.389465 0.5 --0.0610153 0.131125 -0.0076807 0.659174 0.5 --0.0171472 0.166778 -0.0196136 0.729759 0.5 --0.0241278 0.166765 -0.0179136 0.820709 0.5 --0.0510737 0.151654 -0.00393732 0.478399 0.477935 --0.0588856 0.105471 -0.0181522 0.664136 0.5 -0.0174063 0.0417452 -0.0219906 0.508929 0.469838 -0.0164129 0.0417834 -0.0225068 0.611659 0.452352 -0.0154304 0.0417921 -0.0229429 0.596218 0.5 -0.0144142 0.0418406 -0.0232939 0.632579 0.5 -0.0134018 0.0418881 -0.0236384 0.910511 0.5 -0.012409 0.0418787 -0.0238148 0.906703 0.5 -0.0114013 0.0419017 -0.0239008 0.891863 0.5 -0.0104003 0.0418913 -0.0239147 0.887912 0.5 -0.00939844 0.0418898 -0.0239164 0.883487 0.5 -0.00839558 0.0418967 -0.0238735 0.891296 0.5 -0.00740015 0.0418656 -0.0238182 0.916384 0.5 -0.00639612 0.0418759 -0.0239341 0.675472 0.449609 -0.00539692 0.0418924 -0.0240197 0.665265 0.460024 -0.00440015 0.0419024 -0.0241382 0.919418 0.5 -0.00339772 0.0418993 -0.0241367 0.919254 0.5 -0.002402 0.041908 -0.0243037 0.909392 0.5 -0.00139766 0.0419298 -0.0244976 0.915974 0.5 -0.000399482 0.0419381 -0.024642 0.90788 0.5 --0.000607228 0.0419595 -0.0248688 0.905955 0.5 --0.00159817 0.0419657 -0.0250292 0.895585 0.5 --0.00260639 0.0419888 -0.0252454 0.908023 0.5 --0.00360287 0.0419944 -0.0253901 0.912998 0.5 --0.00460242 0.0419996 -0.0255341 0.897177 0.5 --0.00560579 0.042007 -0.0256504 0.90336 0.5 --0.00660848 0.0420213 -0.0257519 0.895801 0.5 --0.00761024 0.0420402 -0.0258045 0.904553 0.5 --0.0086066 0.042026 -0.0258639 0.904499 0.5 --0.00960244 0.0420101 -0.025949 0.887833 0.5 --0.0106066 0.0420419 -0.0261259 0.879277 0.5 --0.0116045 0.0420472 -0.0262702 0.897217 0.5 --0.0125985 0.0420542 -0.026434 0.887903 0.5 --0.0136075 0.0420889 -0.0267571 0.88369 0.5 --0.014608 0.0421127 -0.0270124 0.620307 0.5 --0.0155991 0.0421323 -0.0272897 0.878371 0.5 --0.0166194 0.0421642 -0.027592 0.686825 0.5 --0.0176147 0.042187 -0.0278695 0.701922 0.5 --0.0186103 0.042208 -0.0281438 0.705844 0.5 --0.0196215 0.042233 -0.0284571 0.711375 0.5 --0.0206158 0.0422474 -0.0286271 0.744996 0.5 --0.0216106 0.0422609 -0.0287762 0.746305 0.5 --0.0226137 0.0422636 -0.0288734 0.766807 0.5 --0.0236164 0.0422618 -0.0289626 0.767069 0.5 --0.0246131 0.0422659 -0.0289978 0.738709 0.5 --0.0256167 0.0422692 -0.0291044 0.742573 0.5 --0.0266181 0.042276 -0.0292233 0.73574 0.5 --0.0276164 0.0422898 -0.0293674 0.729605 0.5 --0.0286182 0.0422955 -0.0294891 0.715431 0.5 --0.0598806 0.105454 -0.017999 0.623096 0.5 -0.0191594 0.100268 -0.0222959 0.566177 0.5 -0.0182047 0.100313 -0.0224597 0.558889 0.468347 -0.0171559 0.100271 -0.022436 0.667078 0.5 -0.0161529 0.100264 -0.0224296 0.68133 0.5 -0.0151488 0.10026 -0.0226403 0.707681 0.5 -0.0141481 0.100268 -0.0227789 0.679978 0.5 -0.0131476 0.100265 -0.0227775 0.652821 0.5 -0.0121427 0.100268 -0.0226753 0.644381 0.5 -0.0111435 0.100252 -0.0225401 0.619476 0.5 -0.00410653 0.111609 -0.0202712 0.76077 0.5 --0.0739433 0.134018 -0.00754124 0.476328 0.5 --0.0608886 0.105445 -0.0177606 0.466322 0.466008 --0.0148777 0.0364156 0.0513074 0.36577 0.5 --0.0111949 0.178453 -0.0296295 0.301513 0.289246 --0.0211896 0.172692 -0.021286 0.666917 0.5 --0.0271752 0.172675 -0.0185845 0.474558 0.5 --0.0138991 0.162654 -0.0155462 0.332699 0.5 --0.0558857 0.0970202 -0.0212239 0.484494 0.464999 --0.0485658 0.0404434 -0.0115683 0.515716 0.5 --0.0495545 0.0404082 -0.0113965 0.571363 0.5 --0.0505461 0.0403717 -0.011217 0.640939 0.5 --0.0515413 0.0403485 -0.0110842 0.71549 0.5 --0.0525617 0.0403541 -0.0109145 0.479197 0.5 --0.0535427 0.0402957 -0.0106063 0.475998 0.459658 --0.0545439 0.0402656 -0.0102441 0.493628 0.5 --0.0555251 0.040203 -0.0098178 0.514649 0.44214 --0.0565326 0.0401709 -0.00945456 0.497082 0.5 --0.0575443 0.0401418 -0.00909914 0.501382 0.5 --0.058528 0.0400924 -0.008802 0.50863 0.433787 --0.0595357 0.0400627 -0.00844467 0.519392 0.436123 --0.0568962 0.0970004 -0.0209687 0.468664 0.5 --0.0615278 0.0399873 -0.00779984 0.51858 0.5 --0.062514 0.0399436 -0.00751704 0.482525 0.5 --0.0635175 0.0399079 -0.00714576 0.468833 0.5 --0.0645122 0.0398643 -0.00676714 0.468873 0.5 --0.0654945 0.0398115 -0.0063825 0.418778 0.5 --0.0664819 0.0397537 -0.00588584 0.370667 0.5 --0.0674469 0.0396367 -0.00494886 0.277951 0.5 --0.0687139 0.0394283 -0.00171366 0.308997 0.440677 --0.0135156 0.162506 -0.0153049 0.294489 0.5 --0.0117661 0.182389 -0.0287496 0.379117 0.5 --0.0768702 0.122267 -0.00710647 0.448248 0.5 --0.02088 0.107273 -0.0222055 0.649023 0.5 --0.0689152 0.109432 -0.0116742 0.483429 0.48581 -0.0379841 0.0406211 -0.00115448 0.507762 0.456617 --0.0716194 0.0382939 0.000706648 0.119304 0.5 --0.0619058 0.105434 -0.0174028 0.445122 0.5 -0.0383993 0.0413521 -0.00190432 0.400065 0.449871 -0.037401 0.0414131 -0.00242752 0.608642 0.5 -0.0364284 0.0413843 -0.00274773 0.62171 0.5 -0.0354173 0.0414682 -0.003097 0.626363 0.5 -0.0344326 0.0414166 -0.00330414 0.627716 0.5 -0.0334239 0.0414863 -0.00351395 0.699989 0.5 -0.0324265 0.0414912 -0.00365574 0.704492 0.5 -0.0314216 0.0415146 -0.00377022 0.705677 0.5 -0.0304133 0.0415863 -0.00412062 0.690227 0.5 -0.029434 0.0414849 -0.00426139 0.655538 0.5 -0.0284176 0.0415874 -0.00471776 0.455951 0.469649 -0.0274028 0.0416284 -0.00496361 0.463814 0.466803 -0.0264339 0.0415833 -0.00518191 0.458277 0.464872 -0.0254504 0.0415949 -0.00563526 0.522279 0.5 --0.0629048 0.1054 -0.0169977 0.57 0.5 -0.00310943 0.110155 -0.0202398 0.764921 0.5 --0.0620515 0.035927 0.0204607 0.14834 0.300091 --0.021137 0.166765 -0.0184531 0.559508 0.5 --0.0639163 0.105371 -0.0163736 0.570789 0.5 -0.0183807 0.0432425 -0.0223469 0.479255 0.426123 -0.0173872 0.0432828 -0.0228623 0.505512 0.465844 -0.0163989 0.0433061 -0.0232691 0.537872 0.5 -0.0154157 0.0433241 -0.0236953 0.527331 0.47019 -0.0143954 0.0433708 -0.024029 0.635395 0.5 -0.013384 0.043414 -0.024368 0.930977 0.5 -0.0123957 0.0434077 -0.0245497 0.931636 0.5 -0.0113955 0.0434069 -0.0246972 0.907314 0.5 -0.0103893 0.0434318 -0.0247637 0.898242 0.5 -0.0093871 0.0434015 -0.0246765 0.87056 0.5 -0.00839042 0.0434178 -0.024623 0.881842 0.5 -0.0073902 0.0433817 -0.0245369 0.891731 0.5 -0.00639168 0.0433788 -0.024537 0.637794 0.5 -0.00539495 0.0433546 -0.0245866 0.910032 0.5 -0.00439509 0.0433687 -0.0246925 0.890797 0.5 -0.00339178 0.0433892 -0.0247833 0.886654 0.5 -0.00239172 0.0434053 -0.0248906 0.88082 0.5 -0.0013977 0.0433563 -0.0248502 0.90496 0.5 -0.000400525 0.0433705 -0.0249688 0.898825 0.5 --0.000596635 0.0433605 -0.0249736 0.911007 0.5 --0.00160584 0.0434015 -0.0251635 0.898006 0.5 --0.00260981 0.0434451 -0.0255195 0.910791 0.5 --0.00359562 0.043415 -0.0257386 0.884979 0.5 --0.00460043 0.0434181 -0.0258683 0.866922 0.5 --0.00560304 0.0434101 -0.0260312 0.862103 0.5 --0.0066107 0.0434378 -0.0261152 0.854413 0.5 --0.00761327 0.0434711 -0.0261832 0.817005 0.5 --0.00861273 0.0434199 -0.0261503 0.868829 0.5 --0.00961348 0.0434416 -0.0262361 0.856731 0.5 --0.0106092 0.0434444 -0.026227 0.892 0.5 --0.0116079 0.0434695 -0.0263093 0.88401 0.5 --0.0126085 0.0434839 -0.0264186 0.92574 0.5 --0.013606 0.0435021 -0.0266802 0.913794 0.5 --0.0146056 0.0435263 -0.0269315 0.918057 0.5 --0.0156018 0.0435495 -0.027203 0.921648 0.5 --0.0166096 0.0435748 -0.0274243 0.671418 0.5 --0.0176105 0.0435992 -0.0276633 0.679826 0.5 --0.0186132 0.0436215 -0.0279143 0.665583 0.5 --0.0196184 0.043638 -0.0281382 0.661186 0.5 --0.0206243 0.0436469 -0.0283402 0.69192 0.5 --0.0216155 0.0436703 -0.028439 0.6886 0.5 --0.022619 0.0436731 -0.0285417 0.721892 0.5 --0.0236196 0.0436733 -0.0286374 0.68763 0.5 --0.0246191 0.0436702 -0.0286423 0.65447 0.5 --0.0256204 0.0436547 -0.0287136 0.680798 0.5 --0.0266217 0.0436536 -0.0288174 0.687213 0.5 --0.0276244 0.0436594 -0.0289391 0.685929 0.5 --0.057886 0.0969698 -0.0206731 0.435736 0.5 --0.0649278 0.105334 -0.0156241 0.597638 0.5 --0.0668923 0.109473 -0.0126504 0.498333 0.486325 -0.00410872 0.110162 -0.02034 0.797779 0.5 --0.0668955 0.116554 -0.00922261 0.572262 0.466065 --0.0678845 0.116524 -0.00880656 0.465917 0.5 --0.024177 0.172689 -0.0201134 0.481559 0.430014 --0.074876 0.107788 -0.00905848 0.6157 0.5 --0.0799536 0.133905 -0.00443135 0.430863 0.5 --0.081937 0.128034 -0.00496911 0.405437 0.445717 --0.0739068 0.123785 -0.00803832 0.675774 0.5 --0.021881 0.107267 -0.0220871 0.651068 0.5 --0.0599768 0.12527 -0.00809043 0.772829 0.5 --0.0701241 0.109501 0.0382316 0.512903 0.5 --0.0659232 0.105312 -0.014993 0.616379 0.391672 --0.0390659 0.157734 -0.0109824 0.80478 0.5 --0.0221845 0.172691 -0.0208918 0.488939 0.5 --0.0669297 0.105269 -0.0144963 0.630577 0.5 --0.0679029 0.105215 -0.0140793 0.637655 0.394297 --0.0659599 0.128235 -0.00885739 0.825002 0.5 --0.0485613 0.0418518 -0.011173 0.693304 0.5 --0.0495602 0.0418248 -0.0110192 0.472907 0.5 --0.0505603 0.0417939 -0.0107632 0.515424 0.476038 --0.0515389 0.0417461 -0.0105815 0.557754 0.472955 --0.0525645 0.0417313 -0.0101531 0.572447 0.5 --0.0535612 0.0416919 -0.00977582 0.576462 0.458435 --0.054551 0.0416447 -0.00949548 0.592817 0.5 --0.0555242 0.0415797 -0.00918326 0.59055 0.5 --0.0565425 0.0415574 -0.00871771 0.596408 0.5 --0.0575342 0.0415089 -0.00843308 0.612612 0.437573 --0.0729608 0.135493 -0.0074448 0.502781 0.5 --0.0568732 0.108333 -0.017952 0.656314 0.5 --0.0588895 0.0969269 -0.0201624 0.399271 0.47958 --0.0711998 0.15079 -0.0434624 0.148556 0.5 --0.0625234 0.0413191 -0.00677899 0.589487 0.426823 --0.0635137 0.0412627 -0.00639269 0.542507 0.5 --0.0644941 0.0412041 -0.00599039 0.506483 0.407349 --0.0655061 0.041163 -0.00538315 0.458317 0.5 --0.0848294 0.111312 0.0422165 0.537068 0.446987 --0.0677174 0.0409231 -0.00173026 0.364166 0.5 --0.0320811 0.1577 -0.0118106 0.732334 0.5 --0.0659867 0.134061 -0.00822741 0.755875 0.5 --0.0291819 0.174148 -0.0171874 0.479098 0.5 --0.0598355 0.0968573 -0.0194316 0.528986 0.5 --0.0421665 0.16366 -0.0107342 0.402329 0.5 --0.0608758 0.0968112 -0.0186271 0.51716 0.465637 --0.0461288 0.15913 -0.00829043 0.412237 0.431673 --0.0478356 0.0970782 -0.0220591 0.821535 0.5 -0.0414526 0.0425673 -0.000513932 0.446696 0.5 -0.0404388 0.0427247 -0.00185446 0.458555 0.5 -0.0393846 0.0429207 -0.00283799 0.450148 0.461163 -0.0383916 0.042968 -0.00337479 0.637531 0.5 -0.0373988 0.0430101 -0.00376662 0.714815 0.5 -0.036411 0.0430004 -0.00393346 0.719157 0.5 -0.0354121 0.0430461 -0.00417186 0.714619 0.5 -0.0344174 0.0430387 -0.00433126 0.711979 0.5 -0.0334156 0.0430777 -0.00456693 0.790349 0.5 -0.0324104 0.0430965 -0.00468251 0.796114 0.5 -0.0314049 0.0431209 -0.00494122 0.809078 0.5 -0.0304128 0.0431004 -0.0051324 0.810656 0.5 -0.0293811 0.04325 -0.00550019 0.514724 0.5 -0.0284042 0.0431456 -0.00552671 0.526566 0.5 -0.0274201 0.0431121 -0.00573463 0.760077 0.5 -0.0264706 0.0430524 -0.00597567 0.671741 0.5 --0.0669244 0.123843 -0.00898539 0.807159 0.5 --0.0729148 0.110726 -0.0089954 0.598069 0.5 --0.0329249 0.0369927 0.0503412 0.435134 0.5 --0.0648898 0.0353536 0.0257632 0.13626 0.356626 --0.0181465 0.166773 -0.0192359 0.753611 0.5 --0.0590743 0.136941 -0.00615344 0.663369 0.478015 --0.0600399 0.13696 -0.00647222 0.6555 0.484442 -0.0183828 0.0447123 -0.0227438 0.544638 0.5 -0.0173831 0.0447578 -0.0232543 0.595341 0.440645 -0.0163996 0.044784 -0.0236657 0.574832 0.5 -0.0154 0.0448131 -0.0240573 0.558483 0.5 -0.0143831 0.0448677 -0.0245168 0.546545 0.456757 -0.0133914 0.0448806 -0.0247967 0.530692 0.446482 -0.0124021 0.0448701 -0.0249804 0.664014 0.5 -0.0113837 0.0449118 -0.0251572 0.907397 0.5 -0.0103837 0.0449023 -0.0251665 0.907276 0.5 -0.00938205 0.0449001 -0.0251557 0.905052 0.5 -0.00838174 0.0449018 -0.0251393 0.896765 0.5 -0.00738229 0.0448872 -0.0251556 0.912297 0.5 -0.00638813 0.0448624 -0.0253374 0.897739 0.5 -0.00538744 0.0448871 -0.0255741 0.861601 0.5 -0.00439164 0.0448792 -0.025855 0.838614 0.5 -0.00339515 0.0448431 -0.0258796 0.806194 0.5 -0.00238303 0.0449286 -0.0261957 0.773642 0.5 -0.00138117 0.044939 -0.0263139 0.778892 0.5 -0.000388646 0.0448955 -0.0263577 0.76651 0.5 --0.000607851 0.0448652 -0.0263872 0.753282 0.5 --0.00162246 0.0450436 -0.027024 0.761054 0.5 --0.00261634 0.0450445 -0.0274328 0.784447 0.5 --0.00362249 0.0451016 -0.0279234 0.76313 0.5 --0.00462988 0.0451748 -0.0282624 0.767633 0.5 --0.00562712 0.0451708 -0.0285409 0.7769 0.5 --0.00662603 0.045146 -0.0285621 0.773851 0.5 --0.00762589 0.0451743 -0.028662 0.785677 0.5 --0.00862356 0.0451919 -0.0286362 0.735088 0.5 --0.00962571 0.0451144 -0.0282927 0.729792 0.5 --0.0106261 0.0451108 -0.0281505 0.73794 0.5 --0.0116236 0.0451107 -0.0281433 0.770619 0.5 --0.0126252 0.045057 -0.0279244 0.779417 0.5 --0.0136243 0.0450811 -0.0280269 0.804749 0.5 --0.0146217 0.0450296 -0.0279689 0.83209 0.5 --0.0156256 0.0450397 -0.0279587 0.855369 0.5 --0.016623 0.0450359 -0.0278307 0.877817 0.5 --0.0176233 0.0450417 -0.02779 0.896284 0.5 --0.0186212 0.04503 -0.027692 0.88763 0.5 --0.0196267 0.0450293 -0.0277098 0.669944 0.5 --0.0206221 0.0450432 -0.0278804 0.673849 0.5 --0.0216233 0.0450569 -0.0280185 0.641651 0.5 --0.022624 0.0450535 -0.0281102 0.645176 0.5 --0.0236253 0.0450591 -0.0281331 0.596546 0.5 --0.0246221 0.0450443 -0.0281165 0.551392 0.5 --0.0256221 0.0450194 -0.0280788 0.574468 0.5 --0.0266231 0.0450263 -0.028096 0.556919 0.460773 --0.0276253 0.0450182 -0.0280952 0.556513 0.5 --0.0286229 0.0450027 -0.0280846 0.536906 0.5 --0.0689036 0.105186 -0.0135662 0.489091 0.484351 --0.0699012 0.105141 -0.0130553 0.495916 0.371044 --0.0709057 0.10512 -0.0125462 0.494717 0.5 --0.0470698 0.154668 -0.0068409 0.62606 0.5 --0.0609787 0.126745 -0.00811044 0.855885 0.5 --0.0121766 0.169774 -0.0245851 0.577829 0.5 --0.064348 0.0611447 0.0212332 0.977356 0.5 --0.022854 0.100181 -0.0240549 0.556923 0.5 --0.0290293 0.160675 -0.0139931 0.84917 0.5 --0.0343542 0.0367977 0.0484644 0.443253 0.5 --0.0744393 0.114503 0.0509494 0.396527 0.477414 --0.0718567 0.0701514 0.0311867 0.575141 0.5 --0.0238559 0.100178 -0.023968 0.558013 0.5 --0.0905947 0.115833 0.0426569 0.584918 0.45568 --0.0162094 0.172709 -0.0239586 0.615389 0.5 --0.0248564 0.100174 -0.0239639 0.854521 0.5 --0.0456148 0.043386 -0.0114089 0.276912 0.396234 --0.0465665 0.0433151 -0.011194 0.539382 0.5 --0.0475689 0.0432884 -0.0109341 0.656702 0.5 --0.0485485 0.0432385 -0.0107358 0.692237 0.5 --0.049553 0.0432181 -0.0104928 0.738745 0.5 --0.0505604 0.0431885 -0.0101401 0.507303 0.5 --0.0515329 0.0431219 -0.00982617 0.534613 0.467747 --0.0525459 0.0430871 -0.00935537 0.566551 0.5 --0.0535608 0.0430661 -0.00900679 0.582413 0.5 --0.0545511 0.0430136 -0.00860983 0.588659 0.5 --0.0258582 0.100162 -0.023852 0.843443 0.5 --0.0268604 0.100151 -0.0237263 0.827721 0.5 --0.0278525 0.100136 -0.023576 0.817939 0.5 --0.0589097 0.111154 -0.0162513 0.455333 0.473083 --0.0481015 0.157608 -0.00698963 0.37964 0.446337 --0.0839121 0.122095 -0.00374203 0.508553 0.5 --0.0861163 0.11208 0.0430934 0.436042 0.5 --0.0288529 0.100117 -0.0233232 0.795166 0.5 --0.0298518 0.100096 -0.0230635 0.804747 0.5 --0.0308576 0.10008 -0.0228293 0.820975 0.5 --0.0318518 0.100063 -0.022678 0.619702 0.5 --0.0328555 0.100056 -0.0225692 0.661353 0.5 --0.0338572 0.100054 -0.0225702 0.686282 0.5 --0.0348607 0.100046 -0.0224582 0.6888 0.5 --0.0241819 0.175647 -0.0202251 0.442702 0.5 --0.0358588 0.100033 -0.0223224 0.690661 0.5 --0.0368547 0.100015 -0.0221726 0.702239 0.5 --0.0378631 0.100009 -0.0219618 0.717762 0.5 -0.0444747 0.0438727 0.000520461 0.584903 0.5 -0.043508 0.0438731 -6.08517e-05 0.582353 0.5 -0.0424267 0.0441756 -0.00158684 0.612101 0.5 -0.0413371 0.0444728 -0.00290745 0.665973 0.5 -0.0403707 0.0444834 -0.00362771 0.504444 0.5 -0.0393635 0.0445531 -0.00413158 0.419686 0.5 -0.0383887 0.0445417 -0.00444706 0.736342 0.5 -0.0373953 0.0445589 -0.00471693 0.819012 0.5 -0.0364077 0.044553 -0.00488844 0.807247 0.5 -0.0354074 0.0446129 -0.00524037 0.796299 0.5 -0.0344074 0.0446243 -0.00536213 0.798893 0.5 -0.0334058 0.0446363 -0.00548551 0.898558 0.5 -0.0324011 0.0446474 -0.00561054 0.907737 0.5 -0.0314005 0.0446447 -0.00577901 0.591417 0.471897 -0.0304082 0.04464 -0.00596234 0.516509 0.471346 -0.0293657 0.0447288 -0.00609588 0.6622 0.5 -0.0284258 0.044601 -0.00619231 0.674643 0.5 -0.0274801 0.0445395 -0.0065618 0.679213 0.5 -0.0266706 0.04428 -0.00700704 0.568341 0.5 --0.0738846 0.110669 -0.00843945 0.578119 0.5 --0.0106963 0.176084 -0.0292514 0.38918 0.5 --0.0388617 0.099995 -0.0218283 0.735107 0.5 --0.0398566 0.099981 -0.0216989 0.744528 0.5 --0.0618754 0.0967815 -0.0181397 0.585669 0.5 -0.0193368 0.0460939 -0.0219388 0.488568 0.5 -0.0183573 0.0461568 -0.0227219 0.566419 0.5 -0.0173787 0.046209 -0.0233857 0.573059 0.5 -0.0163915 0.04625 -0.0239163 0.565897 0.453279 -0.0153612 0.0463061 -0.0243571 0.558332 0.5 -0.0143956 0.046307 -0.0246969 0.543967 0.5 -0.0134074 0.0463149 -0.0249889 0.65303 0.471355 -0.0123886 0.0463398 -0.0252064 0.637959 0.5 -0.0113838 0.0463423 -0.025328 0.916979 0.5 -0.010384 0.0463357 -0.0254801 0.891521 0.5 -0.00938176 0.0463536 -0.0257255 0.875986 0.5 -0.00838362 0.046349 -0.0258656 0.87553 0.5 -0.00738566 0.0463583 -0.0259834 0.869113 0.5 -0.00638455 0.0464233 -0.0264515 0.855615 0.5 -0.00538144 0.0464854 -0.0270709 0.829583 0.5 -0.00438413 0.0465246 -0.0275852 0.822178 0.5 -0.00338055 0.0465728 -0.0280809 0.806189 0.5 -0.00237351 0.0465882 -0.0283321 0.804291 0.5 -0.00137166 0.0465972 -0.0284573 0.799358 0.5 -0.000368669 0.0466323 -0.0286891 0.790789 0.5 --0.000629686 0.0466337 -0.0288231 0.777349 0.5 --0.00163455 0.0466691 -0.0289171 0.81307 0.5 --0.00262958 0.0466399 -0.0290845 0.855601 0.5 --0.0036313 0.046681 -0.0294588 0.871207 0.5 --0.0046354 0.0467251 -0.0296701 0.880297 0.5 --0.0056357 0.0466988 -0.0297075 0.885186 0.5 --0.00663392 0.0466819 -0.0297341 0.877925 0.5 --0.00763703 0.046711 -0.0299661 0.890472 0.5 --0.00863658 0.0467032 -0.0298179 0.83735 0.5 --0.00963836 0.0466527 -0.0295963 0.822816 0.5 --0.0106374 0.0466553 -0.0295813 0.83758 0.5 --0.011635 0.0466548 -0.0295721 0.854721 0.5 --0.0126391 0.0466477 -0.0295757 0.833705 0.5 --0.0136362 0.0466649 -0.0295427 0.843038 0.5 --0.0146369 0.0466344 -0.0294365 0.796613 0.5 --0.0156357 0.0466082 -0.0291798 0.781272 0.5 --0.0166345 0.0465837 -0.0289175 0.799758 0.5 --0.0176381 0.0465514 -0.0286775 0.816148 0.5 --0.0186385 0.0465274 -0.0284289 0.807308 0.5 --0.0196387 0.0464931 -0.0280998 0.823247 0.5 --0.0206484 0.0464719 -0.0278809 0.835839 0.5 --0.021638 0.0464604 -0.0276852 0.566222 0.5 --0.0226179 0.0464363 -0.0275647 0.554091 0.5 --0.0236256 0.0464233 -0.0274769 0.512767 0.5 --0.0246346 0.0464142 -0.0272665 0.471223 0.5 --0.0256229 0.0463679 -0.0270847 0.483812 0.5 --0.0266239 0.0463597 -0.0270834 0.460447 0.5 --0.0276264 0.046347 -0.026964 0.435474 0.5 --0.0286261 0.0463451 -0.0269667 0.443004 0.5 --0.0408477 0.0999502 -0.0215042 0.77106 0.5 --0.0652274 0.172558 -0.0603808 0.35592 0.434036 --0.0418518 0.0999485 -0.0214177 0.805327 0.5 --0.0739579 0.13841 -0.00677972 0.518848 0.5 --0.0428494 0.0999447 -0.0214282 0.819012 0.5 --0.0380759 0.16073 -0.01276 0.52085 0.466235 --0.0350971 0.16074 -0.013448 0.591861 0.477693 --0.0320964 0.160758 -0.0138294 0.843047 0.5 --0.0438495 0.0999429 -0.0214407 0.824639 0.5 --0.0536395 0.0361733 0.0466553 0.350714 0.5 --0.0652445 0.171051 -0.0600934 0.590198 0.5 --0.0781409 0.0718256 0.0231698 0.774152 0.5 --0.034079 0.157748 -0.0116645 0.745592 0.5 --0.0121468 0.17267 -0.0267827 0.54753 0.5 --0.0448474 0.0999398 -0.0215303 0.838115 0.5 --0.0447162 0.0448943 -0.0112435 0.254348 0.5 --0.0455907 0.0447683 -0.0109766 0.340502 0.431751 --0.0465551 0.0447198 -0.0107805 0.557997 0.5 --0.0475678 0.0446906 -0.0104074 0.699162 0.5 --0.0485566 0.0446478 -0.0101195 0.715411 0.5 --0.0495658 0.0446328 -0.00989725 0.52434 0.5 --0.050581 0.0445938 -0.00942218 0.559762 0.5 --0.0515546 0.0445278 -0.00899667 0.555269 0.5 --0.0525546 0.0444744 -0.00849373 0.581335 0.5 --0.0535445 0.0444164 -0.0080927 0.600019 0.5 --0.0545436 0.0443717 -0.00770843 0.601388 0.5 --0.0458479 0.0999438 -0.0215809 0.827182 0.5 --0.0468498 0.0999476 -0.0216953 0.82112 0.5 --0.0749621 0.134014 -0.00721966 0.439453 0.449618 --0.0478493 0.099947 -0.0217978 0.819531 0.5 --0.0488506 0.0999451 -0.0218934 0.821357 0.5 --0.0739471 0.131099 -0.00783391 0.43873 0.470751 --0.0371937 0.168177 -0.0134205 0.393661 0.5 --0.0498545 0.0999668 -0.0218887 0.780642 0.5 --0.0508568 0.0999518 -0.0219402 0.728027 0.5 --0.0760409 0.0677685 0.0130189 0.548696 0.459877 --0.0702518 0.06756 0.0285092 0.64775 0.5 --0.0531145 0.157563 -0.00324336 0.376079 0.5 --0.0192324 0.177141 -0.0234526 0.330164 0.5 --0.0221908 0.175658 -0.0213821 0.411773 0.419467 --0.0518639 0.0999443 -0.0218198 0.67957 0.5 --0.0381589 0.163687 -0.0131595 0.453764 0.5 --0.0528659 0.0999263 -0.0216782 0.632479 0.5 -0.0464333 0.0455453 -0.00066213 0.579414 0.5 -0.0454033 0.0457238 -0.00184235 0.45037 0.461842 -0.0443612 0.0458824 -0.00271937 0.637062 0.5 -0.0433708 0.0459415 -0.00338184 0.659616 0.5 -0.0423872 0.0459654 -0.00393846 0.760688 0.5 -0.0413912 0.0459759 -0.00421898 0.798927 0.5 -0.04037 0.0460545 -0.00454494 0.59083 0.5 -0.0393875 0.0460438 -0.00485579 0.587492 0.5 -0.0383891 0.0460848 -0.00524865 0.579709 0.474577 -0.0373922 0.0461028 -0.00552229 0.651128 0.5 -0.0363972 0.0461521 -0.00588406 0.652472 0.5 -0.0354045 0.046148 -0.00604177 0.650168 0.5 -0.034401 0.0461473 -0.00601616 0.636554 0.5 -0.0333957 0.0461492 -0.00598528 0.643346 0.5 -0.0323852 0.0461686 -0.00610484 0.676301 0.5 -0.0313815 0.0461664 -0.00629419 0.623143 0.5 --0.0538783 0.0999149 -0.0214389 0.455569 0.5 -0.029421 0.0461183 -0.00671048 0.678664 0.5 -0.0285444 0.0459645 -0.0070843 0.583776 0.5 -0.0278498 0.045613 -0.00720046 0.57502 0.0841444 --0.0548811 0.099887 -0.0210509 0.560354 0.5 --0.0558857 0.0998486 -0.020419 0.536833 0.5 --0.0568876 0.0998079 -0.0197942 0.540405 0.5 --0.0578741 0.0997697 -0.0193936 0.555621 0.471586 -0.0223974 0.0473356 -0.0199928 0.436852 0.456625 -0.0214018 0.0473917 -0.0206345 0.708251 0.5 -0.0204036 0.0474506 -0.0212729 0.800719 0.5 -0.0193632 0.0475344 -0.0219845 0.887829 0.5 -0.0183271 0.0475932 -0.02269 0.537978 0.455174 -0.0173692 0.0476632 -0.0235115 0.661186 0.5 -0.0163901 0.0476981 -0.0240512 0.662033 0.5 -0.0154036 0.0477404 -0.0246897 0.521268 0.470484 -0.0144227 0.0477589 -0.0252693 0.653441 0.5 -0.0134064 0.0478115 -0.0258783 0.619614 0.460084 -0.0123661 0.0479119 -0.026429 0.863283 0.5 -0.0113671 0.0479427 -0.0268055 0.86596 0.5 -0.010367 0.0479585 -0.0270631 0.852639 0.5 -0.0093755 0.0479282 -0.0271091 0.838924 0.5 -0.00837353 0.0479453 -0.0272176 0.840924 0.5 -0.00736856 0.0479637 -0.0273222 0.866306 0.5 -0.00636801 0.0479975 -0.0276935 0.886726 0.5 -0.00535116 0.0480874 -0.0284111 0.651494 0.5 -0.00435977 0.0481043 -0.0288152 0.894636 0.5 -0.00334719 0.0481602 -0.0292882 0.906543 0.5 -0.00237024 0.0481449 -0.0294793 0.901259 0.5 -0.00136064 0.0481752 -0.0296995 0.890587 0.5 -0.00035867 0.048192 -0.0299591 0.895339 0.5 --0.000640169 0.0481947 -0.0300913 0.872257 0.5 --0.00164401 0.0482043 -0.0300627 0.876478 0.5 --0.00263926 0.0481807 -0.0301073 0.907454 0.5 --0.00366678 0.0481589 -0.0301707 0.634884 0.475184 --0.0046427 0.0482096 -0.0303136 0.910591 0.5 --0.00564116 0.0481924 -0.0303539 0.644238 0.5 --0.00664168 0.0482162 -0.0304375 0.650022 0.5 --0.00764633 0.048167 -0.0303862 0.915438 0.5 --0.00864403 0.0481881 -0.0304747 0.894445 0.5 --0.0096474 0.0481504 -0.030386 0.873996 0.5 --0.0106444 0.0481591 -0.0303544 0.871606 0.5 --0.0116442 0.0481633 -0.0303354 0.880484 0.5 --0.0126432 0.0481635 -0.0303259 0.891033 0.5 --0.0136476 0.0481469 -0.0303471 0.873198 0.5 --0.0146479 0.0481463 -0.0303376 0.839713 0.5 --0.0156486 0.0481142 -0.0300898 0.808351 0.5 --0.0166484 0.0480949 -0.029815 0.811192 0.5 --0.0176564 0.0480544 -0.0295902 0.813106 0.5 --0.0186556 0.0480312 -0.0293255 0.79691 0.5 --0.0196537 0.0480066 -0.0290701 0.772453 0.5 --0.0206629 0.0479548 -0.0285983 0.532426 0.46516 --0.0216491 0.0479362 -0.0281524 0.39568 0.468007 --0.0226309 0.0478785 -0.0276417 0.381357 0.424848 --0.023633 0.0478399 -0.0272396 0.36184 0.5 --0.0246521 0.0478035 -0.0267776 0.404517 0.5 --0.0255784 0.0477093 -0.0263526 0.336491 0.458415 --0.026575 0.0476865 -0.0258778 0.332092 0.447474 --0.0276111 0.0476412 -0.0256716 0.544875 0.5 --0.0286056 0.0475856 -0.0255224 0.549998 0.5 --0.0588824 0.0997395 -0.0190365 0.579836 0.465444 --0.055903 0.111216 -0.0172629 0.487152 0.481718 --0.0729777 0.138423 -0.00695981 0.509488 0.460459 --0.0481389 0.160609 -0.00688834 0.343759 0.465307 --0.0411287 0.160673 -0.0112161 0.411336 0.469409 --0.0211637 0.171222 -0.0207379 0.753072 0.5 --0.0281692 0.171188 -0.018077 0.46464 0.5 --0.0331602 0.171158 -0.0153905 0.654608 0.5 --0.0708871 0.119431 -0.00850422 0.712701 0.5 --0.0782161 0.110396 0.044452 0.426356 0.441087 --0.0628762 0.0967673 -0.0179048 0.641864 0.5 --0.0338755 0.107095 -0.0200162 0.678853 0.5 --0.0748771 0.109206 -0.00842538 0.60242 0.5 --0.059876 0.0997119 -0.0187764 0.595695 0.5 --0.043632 0.0462886 -0.0112814 0.303424 0.5 --0.0445775 0.0462028 -0.0108205 0.377134 0.418749 --0.0455587 0.0461599 -0.0105245 0.441132 0.5 --0.0465559 0.0461276 -0.0102455 0.512736 0.467304 --0.0475701 0.0461114 -0.0100167 0.523203 0.5 --0.0485691 0.0460686 -0.00963735 0.523514 0.468144 --0.0495789 0.046041 -0.00928879 0.529587 0.5 --0.0505664 0.0459962 -0.00889176 0.534388 0.5 --0.0515556 0.0459336 -0.00836292 0.5324 0.5 --0.0525396 0.0458696 -0.00783738 0.574164 0.5 --0.0535493 0.045819 -0.00734382 0.589987 0.5 --0.0545484 0.0457621 -0.00683862 0.612138 0.5 --0.0608825 0.0996865 -0.0185327 0.600875 0.5 --0.0848578 0.117602 -0.00112226 0.527753 0.5 --0.0788979 0.123682 -0.00614143 0.483576 0.379305 --0.0618578 0.099667 -0.0183374 0.482886 0.362593 --0.0628733 0.0996403 -0.0179913 0.471554 0.5 --0.0540375 0.141288 -0.0013423 0.606175 0.5 --0.0550222 0.141298 -0.00203484 0.599926 0.5 --0.0609844 0.0646638 0.031213 0.463 0.453928 --0.0421167 0.157651 -0.00983865 0.48427 0.5 --0.045123 0.157633 -0.00869072 0.45243 0.459385 --0.0441012 0.15765 -0.00916962 0.479562 0.467177 --0.015205 0.175685 -0.0260892 0.445478 0.5 --0.0201913 0.175663 -0.0226485 0.321132 0.5 --0.034118 0.163722 -0.0147399 0.616403 0.5 --0.0361236 0.163705 -0.0141169 0.530189 0.436025 --0.0638365 0.0996097 -0.0175199 0.458617 0.5 -0.0474532 0.047084 -0.00164907 0.460213 0.5 --0.063874 0.0967575 -0.0177619 0.675545 0.5 -0.0453737 0.0474164 -0.00383546 0.53521 0.5 -0.0443631 0.0475049 -0.00446946 0.558017 0.472152 -0.0433856 0.0475038 -0.0047769 0.586512 0.5 -0.0423862 0.047532 -0.00502925 0.899421 0.5 -0.0413899 0.0475369 -0.00516876 0.890654 0.5 -0.0403951 0.0475373 -0.00531603 0.899439 0.5 -0.0393856 0.0475887 -0.00567863 0.634528 0.476209 -0.0383861 0.0476151 -0.00591592 0.65569 0.5 -0.037389 0.0476423 -0.00613109 0.675988 0.5 -0.0363932 0.0476439 -0.00624826 0.671867 0.5 -0.0354015 0.0476244 -0.00628637 0.66247 0.5 -0.034399 0.0476191 -0.006288 0.650754 0.5 -0.0333786 0.0476367 -0.00619535 0.608081 0.5 -0.0323876 0.047596 -0.00623106 0.632453 0.5 -0.0313336 0.0477022 -0.006755 0.768076 0.5 --0.0648504 0.099576 -0.0170426 0.450894 0.5 --0.0658419 0.0995396 -0.0165139 0.467705 0.432402 --0.0769537 0.132513 -0.00657383 0.40952 0.5 -0.0264433 0.0485879 -0.0182655 0.458209 0.5 -0.0253818 0.0487646 -0.0196147 0.455291 0.5 -0.0243874 0.048835 -0.0205112 0.667001 0.5 -0.0233446 0.0489622 -0.0213372 0.685764 0.5 -0.0223908 0.0489358 -0.0217863 0.690533 0.5 -0.0213931 0.0489728 -0.0223035 0.755422 0.5 -0.0203853 0.049027 -0.0227929 0.825669 0.5 -0.0193977 0.0490363 -0.0230642 0.849341 0.5 -0.0183835 0.0490953 -0.0235496 0.857445 0.5 -0.0173651 0.049165 -0.0241471 0.881229 0.5 -0.0163905 0.0491901 -0.024833 0.855835 0.5 -0.0153651 0.0493118 -0.0259325 0.630086 0.5 -0.0143712 0.0493733 -0.0267066 0.655547 0.5 -0.0133608 0.0494245 -0.0271921 0.538983 0.45638 -0.0123741 0.0494269 -0.0274814 0.54895 0.5 -0.0113761 0.0494361 -0.0277541 0.529981 0.5 -0.0103624 0.0494805 -0.028102 0.647048 0.5 -0.00936651 0.0494737 -0.0282538 0.895964 0.5 -0.00836647 0.0494746 -0.0282442 0.872377 0.5 -0.00736705 0.0494733 -0.028237 0.886248 0.5 -0.00637279 0.049483 -0.0283693 0.916659 0.5 -0.00536912 0.049521 -0.0287338 0.669271 0.5 -0.00433106 0.0496013 -0.0292546 0.67658 0.5 -0.00334453 0.0496343 -0.0297987 0.687761 0.5 -0.00235997 0.0496442 -0.0301148 0.681471 0.5 -0.00135548 0.0496637 -0.030356 0.668171 0.5 -0.000356348 0.0496808 -0.0306188 0.704826 0.5 --0.000650637 0.0496936 -0.0307015 0.910199 0.5 --0.00164877 0.0496874 -0.0307148 0.908538 0.5 --0.00265109 0.0497012 -0.030809 0.908517 0.5 --0.00364517 0.0496603 -0.0307711 0.661398 0.5 --0.00464724 0.0496642 -0.0307417 0.641756 0.5 --0.00564795 0.049654 -0.0307584 0.91708 0.5 --0.00664542 0.0496313 -0.030799 0.911126 0.5 --0.00764651 0.0496471 -0.0308946 0.902986 0.5 --0.00865087 0.0496719 -0.030975 0.892928 0.5 --0.00965082 0.0496857 -0.0310806 0.891089 0.5 --0.0106511 0.0496684 -0.0311061 0.867429 0.5 --0.0116538 0.0496371 -0.0310034 0.872769 0.5 --0.0126494 0.0496668 -0.0310907 0.885489 0.5 --0.0136509 0.0496769 -0.0312069 0.891141 0.5 --0.0146513 0.0496822 -0.0311895 0.870261 0.5 --0.0156536 0.0496375 -0.0309655 0.814372 0.5 --0.0166725 0.0495705 -0.0306349 0.804024 0.5 --0.0176728 0.049548 -0.0303695 0.794068 0.5 --0.0186672 0.0495328 -0.0300927 0.547408 0.5 --0.0196644 0.0494984 -0.0297043 0.546012 0.465236 --0.0206569 0.0494682 -0.0293042 0.513965 0.5 --0.0216788 0.0493937 -0.0287126 0.497977 0.5 --0.0226625 0.0493576 -0.0281762 0.484633 0.5 --0.0236585 0.049302 -0.027521 0.367622 0.470158 --0.0246656 0.0492403 -0.0269082 0.430063 0.5 --0.0256602 0.0491814 -0.0262646 0.420303 0.5 --0.0266188 0.0490904 -0.0254391 0.544048 0.5 --0.0276072 0.0488225 -0.0246209 0.383503 0.376754 --0.0285577 0.048864 -0.0238529 0.290891 0.5 --0.0668441 0.0995074 -0.0160123 0.467677 0.5 --0.075865 0.120825 -0.00747435 0.443288 0.5 --0.0662647 0.160967 -0.0574681 0.288781 0.5 --0.0191383 0.16678 -0.0189611 0.779809 0.5 --0.0834164 0.110194 0.0380909 0.842001 0.5 --0.0348784 0.10713 -0.0202183 0.723879 0.5 --0.0358756 0.107103 -0.0202685 0.711251 0.5 --0.067848 0.0994807 -0.015636 0.477751 0.439611 --0.0572639 0.0601869 -0.00219809 0.212615 0.212414 --0.0579449 0.059547 -0.000261977 0.177947 0 --0.0648684 0.0967433 -0.0176098 0.65886 0.420936 --0.0655835 0.0626949 -0.00273961 0.168311 0.5 --0.0688478 0.0994593 -0.0152611 0.501268 0.467928 --0.0698499 0.0994423 -0.0150141 0.500146 0.469133 --0.0435636 0.0476726 -0.0110362 0.372605 0.5 --0.0445836 0.0476428 -0.0105653 0.456286 0.5 --0.0455673 0.0475992 -0.010259 0.503068 0.5 --0.0465619 0.047561 -0.00986957 0.516471 0.454731 --0.0475605 0.047528 -0.00960427 0.529876 0.455343 --0.0485702 0.047508 -0.00937813 0.525985 0.5 --0.0495653 0.047469 -0.00900107 0.508335 0.5 --0.050567 0.0474222 -0.00850865 0.492613 0.5 --0.0515685 0.0473635 -0.00788512 0.502855 0.5 --0.0525394 0.0472909 -0.00733632 0.561539 0.5 --0.0535197 0.0472233 -0.00680686 0.580973 0.5 --0.0708414 0.0994113 -0.0147342 0.472019 0.5 --0.0679101 0.109459 -0.0121777 0.491512 0.396242 --0.071855 0.0993885 -0.014251 0.458296 0.5 --0.0400646 0.156235 -0.00986121 0.80637 0.5 --0.0431187 0.159159 -0.0099383 0.445167 0.5 --0.0764158 0.0699842 0.0233785 0.740388 0.5 --0.0589426 0.0357407 0.0458703 0.299159 0.5 --0.0725608 0.109721 0.0409258 0.800133 0.5 --0.0361012 0.160724 -0.0132118 0.561456 0.5 --0.0729585 0.134037 -0.00770509 0.511713 0.345043 --0.0688918 0.119449 -0.00874323 0.732911 0.5 --0.0122206 0.175683 -0.0283056 0.351615 0.5 --0.0301123 0.163751 -0.0154896 0.587407 0.5 --0.0321086 0.163743 -0.0150961 0.613285 0.5 --0.0728637 0.099356 -0.013752 0.446862 0.5 --0.0819198 0.126566 -0.00507678 0.440877 0.5 --0.0738758 0.0993275 -0.0132564 0.42063 0.5 -0.0473411 0.0488863 -0.00367878 0.438752 0.5 -0.0463392 0.0489694 -0.00446687 0.47631 0.5 -0.045359 0.04899 -0.00489955 0.516482 0.5 -0.0443603 0.0490341 -0.0052894 0.676817 0.5 -0.0433823 0.0490357 -0.00560381 0.655293 0.5 -0.0423903 0.0490515 -0.00589339 0.898378 0.5 -0.0413777 0.0491221 -0.00619394 0.887759 0.5 -0.0403123 0.0491555 -0.00629774 0.673349 0.446438 -0.0393963 0.049102 -0.00636122 0.64493 0.468148 -0.0383972 0.0491164 -0.00642484 0.673938 0.444748 -0.0373971 0.049112 -0.00639066 0.694108 0.436501 -0.0363929 0.0490985 -0.00642376 0.695952 0.436383 -0.0353918 0.0491057 -0.00653987 0.675141 0.5 -0.0343638 0.0491351 -0.00656846 0.615627 0.43846 -0.0333812 0.0490928 -0.00645546 0.615901 0.455162 -0.0323895 0.0490788 -0.00667281 0.767224 0.5 -0.0314014 0.0491212 -0.0073371 0.670039 0.5 --0.0748806 0.0992858 -0.0126164 0.513065 0.5 --0.083022 0.132397 -0.0026267 0.535343 0.5 --0.0730257 0.141351 -0.00730576 0.300962 0.402395 --0.0758946 0.0992374 -0.0118631 0.516217 0.5 --0.0768471 0.09916 -0.0110394 0.517189 0.456344 -0.0253836 0.0503366 -0.0210264 0.544301 0.5 -0.0243931 0.0503998 -0.0217952 0.500052 0.449679 -0.023375 0.0504685 -0.0225374 0.472736 0.5 -0.0223706 0.0505198 -0.0231651 0.571328 0.5 -0.0213976 0.0505253 -0.0237217 0.594138 0.5 -0.0203664 0.0506236 -0.0244327 0.592286 0.5 -0.0193881 0.0506007 -0.0247336 0.825933 0.5 -0.0183734 0.0506657 -0.0252113 0.824076 0.5 -0.0173702 0.0506958 -0.0254566 0.850804 0.5 -0.0163545 0.0507599 -0.025927 0.876189 0.5 -0.0153634 0.050802 -0.0265798 0.908453 0.5 -0.0143608 0.0508459 -0.0270896 0.530744 0.5 -0.0133755 0.0508647 -0.0275026 0.579182 0.5 -0.0123614 0.0509077 -0.0278502 0.558254 0.5 -0.0113576 0.0509388 -0.0282254 0.536685 0.5 -0.0103593 0.0509634 -0.0286117 0.53128 0.5 -0.00936768 0.0509673 -0.0289075 0.66426 0.463906 -0.00836584 0.0509624 -0.0290525 0.644804 0.5 -0.00735598 0.0509889 -0.0291303 0.885398 0.5 -0.00635062 0.0510121 -0.0292209 0.894151 0.5 -0.00528142 0.0509933 -0.0292119 0.702218 0.435858 -0.0043588 0.0510132 -0.0293749 0.710574 0.5 -0.00334971 0.0510613 -0.029847 0.699228 0.5 -0.00234342 0.0510926 -0.0302041 0.701124 0.5 -0.00134506 0.0511101 -0.0304682 0.68816 0.5 -0.000352424 0.0511166 -0.0306262 0.689691 0.5 --0.000657388 0.0511382 -0.0308268 0.676548 0.5 --0.00165332 0.0511407 -0.0309868 0.673068 0.5 --0.00265316 0.0511482 -0.0311061 0.661552 0.463002 --0.00365111 0.0511553 -0.0312289 0.681227 0.454282 --0.00456935 0.0511652 -0.031379 0.678396 0.454283 --0.00564979 0.0511569 -0.0315211 0.910524 0.5 --0.00664745 0.0511524 -0.0316637 0.893632 0.5 --0.00764709 0.0511598 -0.0317878 0.877486 0.5 --0.00865103 0.0511695 -0.0319029 0.871084 0.5 --0.00965525 0.0511768 -0.0320162 0.866134 0.5 --0.0106623 0.0511436 -0.032067 0.84469 0.5 --0.0116656 0.051126 -0.0319435 0.822452 0.5 --0.0126641 0.0511309 -0.0317686 0.854835 0.5 --0.0136632 0.0511316 -0.0317578 0.895277 0.5 --0.0146591 0.0511639 -0.0318396 0.892936 0.5 --0.0156738 0.0511142 -0.0317767 0.850156 0.5 --0.0166806 0.0510876 -0.0315182 0.795408 0.5 --0.0176768 0.0510699 -0.0312435 0.768335 0.5 --0.0186908 0.0510113 -0.0307584 0.747181 0.5 --0.0196774 0.0509888 -0.0303435 0.50471 0.5 --0.0206679 0.0509474 -0.0298149 0.486143 0.452721 --0.0216593 0.0509046 -0.0292926 0.47762 0.5 --0.022659 0.0508417 -0.0286643 0.484293 0.5 --0.0236572 0.0507797 -0.028024 0.471696 0.389271 --0.0246551 0.0507167 -0.0273858 0.470515 0.412453 --0.0256486 0.050648 -0.0266189 0.454654 0.5 --0.0266334 0.0505574 -0.0257305 0.328259 0.448507 --0.02765 0.0504128 -0.0240838 0.334839 0.5 --0.0719071 0.105086 -0.0120336 0.497973 0.5 --0.0709343 0.126767 -0.00893718 0.715154 0.4011 --0.0281622 0.169703 -0.0179592 0.49863 0.360002 --0.0241773 0.17417 -0.0202285 0.448845 0.5 --0.0368781 0.107107 -0.0201846 0.726453 0.5 --0.0378811 0.107099 -0.0200653 0.732561 0.5 --0.0678999 0.11945 -0.00879052 0.720296 0.5 --0.0356142 0.0493225 -0.0125317 0.104674 0.5 --0.0366139 0.0493085 -0.0123994 0.214045 0.5 --0.0376156 0.0492564 -0.0118933 0.25327 0.5 --0.0386145 0.0492284 -0.011639 0.296028 0.5 --0.0396128 0.0492137 -0.0115104 0.522576 0.5 --0.065855 0.0967089 -0.0173163 0.481303 0.424308 --0.0415923 0.0491549 -0.0111971 0.403252 0.5 --0.042575 0.0491291 -0.011035 0.453096 0.5 --0.0435801 0.0491173 -0.010788 0.580622 0.5 --0.0445836 0.049099 -0.0105442 0.572306 0.5 --0.0455839 0.0490621 -0.0101677 0.458497 0.5 --0.0465703 0.0490167 -0.00974944 0.454856 0.5 --0.0475691 0.0489734 -0.00936479 0.493232 0.5 --0.0485754 0.0489523 -0.00913959 0.499476 0.5 --0.0495985 0.048927 -0.00879829 0.481611 0.398597 --0.0505791 0.0488657 -0.00826795 0.477618 0.5 --0.0515682 0.0488001 -0.00762593 0.489238 0.5 --0.0525522 0.0487323 -0.0069784 0.549097 0.5 --0.0535498 0.0486673 -0.00635158 0.551339 0.5 --0.0699133 0.123828 -0.00875488 0.773416 0.5 --0.0589977 0.125247 -0.00779139 0.739675 0.5 --0.0481114 0.159106 -0.00699154 0.385908 0.357475 --0.0320868 0.159267 -0.0129293 0.833487 0.5 --0.0330903 0.15925 -0.0128209 0.837738 0.5 --0.0202009 0.17418 -0.0222934 0.442965 0.5 --0.0222044 0.174173 -0.0211642 0.43761 0.5 --0.025189 0.174162 -0.0196112 0.451372 0.322599 --0.0388763 0.107081 -0.0200218 0.722494 0.5 --0.0251149 0.163764 -0.0159045 0.863968 0.5 --0.0281104 0.163768 -0.0157424 0.594338 0.5 --0.0672891 0.178209 -0.0595336 0.27726 0.5 --0.0421407 0.162162 -0.0108328 0.391009 0.5 --0.0521449 0.157571 -0.00396744 0.333805 0.354164 --0.0311481 0.174122 -0.0158676 0.478078 0.5 -0.0483255 0.0503286 -0.00380134 0.516307 0.5 -0.0473561 0.0503594 -0.00438005 0.527646 0.5 -0.0463618 0.0504062 -0.00492067 0.547342 0.5 -0.0453399 0.0504735 -0.00539794 0.551268 0.449372 -0.0443474 0.05051 -0.00579969 0.544845 0.451977 -0.0433583 0.0505545 -0.0063311 0.517259 0.5 -0.042364 0.0505846 -0.00668018 0.657892 0.5 -0.0413795 0.0505691 -0.00672382 0.911123 0.5 -0.0403869 0.0505617 -0.00671315 0.656165 0.5 -0.0393962 0.0505525 -0.00668347 0.664989 0.5 -0.0383958 0.0505315 -0.00659356 0.690672 0.5 -0.0373944 0.0505276 -0.00658166 0.715273 0.5 -0.0363875 0.0505227 -0.00658574 0.694463 0.5 -0.0353576 0.0505704 -0.00670224 0.666717 0.5 -0.0343607 0.0505331 -0.00657713 0.63227 0.5 -0.0333583 0.0505553 -0.00686804 0.77212 0.5 -0.0323993 0.0505614 -0.00746951 0.64863 0.5 --0.0639239 0.116652 -0.0103062 0.562702 0.5 --0.0710495 0.141325 -0.00813095 0.340946 0.5 --0.0480757 0.15465 -0.00633475 0.444432 0.5 --0.0911264 0.115738 0.024682 0.752784 0.5 --0.0629237 0.112473 -0.0138486 0.62747 0.5 -0.0263294 0.0517767 -0.02097 0.533329 0.5 -0.0253567 0.0518232 -0.0216362 0.55791 0.5 -0.024383 0.0518665 -0.0223004 0.588503 0.5 -0.0234224 0.0519071 -0.0231048 0.526856 0.5 -0.0224205 0.0519815 -0.0241272 0.635903 0.5 -0.0213555 0.0521216 -0.0251867 0.619084 0.5 -0.0203738 0.0521374 -0.0257342 0.626958 0.5 -0.0193833 0.052146 -0.0261511 0.862899 0.5 -0.0183728 0.0521803 -0.0265242 0.862711 0.5 -0.0173644 0.052219 -0.0267492 0.864329 0.5 -0.0163666 0.0522247 -0.0268816 0.897384 0.5 -0.0153438 0.0522442 -0.0271619 0.646092 0.473932 -0.0143568 0.0522918 -0.0274834 0.652907 0.5 -0.0133618 0.0523173 -0.0278769 0.676329 0.5 -0.0123622 0.0523525 -0.0283928 0.553453 0.455618 -0.0113708 0.0523816 -0.0287924 0.552912 0.5 -0.0103602 0.0524141 -0.0291489 0.536669 0.47416 -0.0093588 0.0524416 -0.0295377 0.52339 0.5 -0.0083541 0.0524293 -0.0297113 0.673176 0.452393 -0.00734362 0.0524803 -0.0298755 0.906516 0.5 -0.00634478 0.0524665 -0.0299091 0.880363 0.5 -0.0053433 0.0524636 -0.0297405 0.888724 0.5 -0.00435638 0.0524337 -0.0297062 0.683792 0.5 -0.0033475 0.0524625 -0.0299019 0.692058 0.5 -0.00234532 0.0524899 -0.0301138 0.682026 0.5 -0.00134414 0.0524973 -0.030237 0.687029 0.5 -0.000336625 0.0525175 -0.0304496 0.680844 0.5 --0.000658033 0.0525337 -0.0307361 0.700823 0.5 --0.00165167 0.0525486 -0.0310164 0.687692 0.5 --0.00266028 0.0525834 -0.0313625 0.689527 0.5 --0.00365126 0.0525899 -0.0316543 0.687032 0.5 --0.00465552 0.0526099 -0.031899 0.654259 0.5 --0.00564997 0.0526431 -0.0322774 0.66478 0.462479 --0.00665267 0.0526646 -0.0325345 0.51892 0.458416 --0.00766666 0.0527037 -0.0328501 0.522655 0.5 --0.00864037 0.0526884 -0.0330777 0.52563 0.474901 --0.00965605 0.0527028 -0.0331963 0.643231 0.460284 --0.0106582 0.0527176 -0.0332954 0.633173 0.464497 --0.0116753 0.0526919 -0.0331734 0.583031 0.466659 --0.012672 0.0526484 -0.0327744 0.799412 0.5 --0.0136738 0.0526181 -0.0325173 0.85416 0.5 --0.0146765 0.0526113 -0.0325234 0.885494 0.5 --0.0156786 0.0526029 -0.032522 0.84893 0.5 --0.0166832 0.0525719 -0.0322771 0.552977 0.5 --0.0176845 0.0525387 -0.0318817 0.533883 0.47478 --0.0186801 0.0525094 -0.0314832 0.514757 0.5 --0.0196836 0.0524593 -0.0309769 0.503943 0.5 --0.0206715 0.0524183 -0.0304469 0.467694 0.5 --0.0216814 0.0523409 -0.0297011 0.45674 0.5 --0.0226744 0.0522819 -0.0290541 0.464267 0.5 --0.0236648 0.0522261 -0.0284113 0.468498 0.418256 --0.0246606 0.0521655 -0.0277657 0.483968 0.5 --0.0256526 0.0520956 -0.0269974 0.452371 0.5 --0.0729034 0.123797 -0.00826534 0.682071 0.5 --0.0182092 0.177147 -0.0243125 0.317326 0.5 --0.0724664 0.0678961 0.0260135 0.665323 0.239285 --0.0191702 0.169734 -0.0206461 0.749412 0.5 --0.0783599 0.0708413 0.0204513 0.787875 0.5 --0.0672347 0.158081 -0.05503 0.395143 0.5 --0.0326228 0.0506668 -0.0115219 0.102172 0.5 --0.0336201 0.0505969 -0.0107597 0.160165 0.5 --0.0346163 0.0505906 -0.0107587 0.317189 0.5 --0.0356179 0.0505976 -0.0108834 0.329322 0.5 --0.0366198 0.0505806 -0.010756 0.526101 0.5 --0.0376189 0.0505906 -0.0108802 0.55705 0.5 --0.0386172 0.0505956 -0.0110053 0.576514 0.5 --0.0396188 0.0505923 -0.0110041 0.778098 0.5 --0.0406195 0.0505975 -0.0111291 0.79253 0.5 --0.0416192 0.0505822 -0.0110011 0.796709 0.5 --0.0425978 0.0505652 -0.0109174 0.526711 0.5 --0.0435905 0.0505542 -0.0107756 0.543241 0.5 --0.0446047 0.0505366 -0.0105481 0.636429 0.372142 --0.0456035 0.0504974 -0.010193 0.41447 0.5 --0.0465781 0.0504461 -0.00966731 0.420706 0.421464 --0.0475733 0.0504004 -0.00924022 0.435699 0.5 --0.0485728 0.0503685 -0.00899002 0.608545 0.5 --0.0495787 0.0503337 -0.00863311 0.444646 0.5 --0.0505803 0.0502828 -0.00813802 0.435391 0.5 --0.0516022 0.0502173 -0.00741774 0.487413 0.5 --0.0525584 0.0501546 -0.00685551 0.536363 0.5 --0.0535468 0.0500774 -0.00609453 0.527818 0.5 --0.0729009 0.105047 -0.011511 0.628695 0.5 --0.0709159 0.125294 -0.00875352 0.74252 0.5 --0.0251912 0.178602 -0.0188241 0.482339 0.5 --0.0350797 0.159271 -0.0126349 0.832829 0.5 --0.0181879 0.174194 -0.0234207 0.597871 0.5 --0.0398786 0.107079 -0.0200332 0.702401 0.5 --0.0408758 0.107069 -0.0201235 0.684351 0.5 --0.0231203 0.163764 -0.0160465 0.822907 0.5 --0.0649059 0.116607 -0.0100071 0.569645 0.462987 --0.066267 0.176761 -0.0601056 0.353887 0.421515 --0.0418773 0.107078 -0.0201516 0.681359 0.5 --0.0738862 0.104992 -0.0108534 0.618107 0.5 -0.0503129 0.0516868 -0.00299828 0.54574 0.5 --0.0668489 0.0966702 -0.0167929 0.462813 0.5 -0.0483193 0.0518215 -0.00445791 0.586772 0.5 -0.0473148 0.0518659 -0.00495567 0.563401 0.454141 -0.0463401 0.0518943 -0.00540594 0.571993 0.5 -0.045327 0.0519476 -0.00589943 0.575737 0.5 -0.044345 0.0519693 -0.00630996 0.541067 0.5 -0.0433486 0.0519969 -0.00665823 0.698648 0.5 -0.0423653 0.0519948 -0.00681796 0.675688 0.5 -0.0413782 0.0519867 -0.00685663 0.655234 0.5 -0.0403895 0.0519763 -0.00684208 0.659713 0.5 -0.0393949 0.0519685 -0.00680892 0.692895 0.5 -0.0383894 0.0519545 -0.00670373 0.693096 0.5 -0.0373767 0.0519575 -0.00666499 0.691778 0.5 -0.0363451 0.0519755 -0.00662669 0.687163 0.5 -0.0353118 0.0520079 -0.00674902 0.683751 0.5 -0.0343592 0.0519767 -0.00689954 0.625572 0.5 -0.0334766 0.0519565 -0.00767966 0.409894 0.46521 --0.0301257 0.165235 -0.016018 0.844482 0.5 --0.0661875 0.165349 -0.0586121 0.446339 0.5 --0.0639427 0.125311 -0.00880074 0.81894 0.5 --0.0351889 0.171161 -0.0140358 0.424492 0.5 -0.00813236 0.110171 -0.0197068 0.851317 0.5 --0.0550327 0.0674609 0.0370807 0.577099 0.5 -0.02636 0.0531741 -0.0208871 0.628275 0.5 -0.0252695 0.0532659 -0.021679 0.653575 0.5 -0.0243768 0.0533073 -0.022554 0.568727 0.5 -0.0233991 0.0534151 -0.0239637 0.52345 0.473694 -0.0223344 0.0535713 -0.0254238 0.660211 0.5 -0.0213375 0.0536353 -0.0261911 0.661952 0.5 -0.0203456 0.053671 -0.0267089 0.650498 0.5 -0.0193574 0.0537071 -0.027254 0.532778 0.44815 -0.018368 0.0537078 -0.0275601 0.671761 0.5 -0.0173629 0.0537245 -0.0278081 0.657261 0.5 -0.0163546 0.0537375 -0.0279072 0.645537 0.5 -0.0153464 0.0537553 -0.0279934 0.908604 0.5 -0.0143433 0.0537792 -0.0282321 0.927662 0.5 -0.0133781 0.0537725 -0.0285433 0.65168 0.469416 -0.0122607 0.0538397 -0.0290819 0.568216 0.431115 -0.0113649 0.0538487 -0.0294289 0.555141 0.435107 -0.0103564 0.0538895 -0.0297771 0.563252 0.431075 -0.00935764 0.0539048 -0.0300706 0.562896 0.481807 -0.00834583 0.0539265 -0.0302958 0.688621 0.5 -0.00733914 0.0539337 -0.0304234 0.654444 0.5 -0.0063341 0.0539359 -0.0303914 0.628996 0.5 -0.00533532 0.0538992 -0.0301758 0.611749 0.5 -0.00434097 0.053874 -0.0300717 0.671073 0.5 -0.00333411 0.0539266 -0.0303683 0.659672 0.5 -0.00233442 0.0539469 -0.0306143 0.925135 0.5 -0.00134052 0.0539375 -0.0306386 0.91185 0.5 -0.000343862 0.0539275 -0.0306641 0.92852 0.5 --0.000664914 0.0539666 -0.0309917 0.92412 0.5 --0.00165753 0.05399 -0.0314052 0.655208 0.5 --0.00265601 0.0540246 -0.0319128 0.680472 0.452127 --0.00366205 0.0540631 -0.0322696 0.685795 0.453885 --0.00465613 0.0540645 -0.0324247 0.67582 0.5 --0.00566591 0.0540919 -0.0326394 0.696605 0.5 --0.00666902 0.0541115 -0.0328784 0.698389 0.5 --0.00766545 0.0541253 -0.0331554 0.71449 0.5 --0.00866157 0.0541436 -0.0334268 0.551599 0.5 --0.00967078 0.0541668 -0.0336446 0.681069 0.5 --0.0106706 0.054151 -0.0336931 0.666081 0.5 --0.0116778 0.0541503 -0.0336719 0.634041 0.461576 --0.0126769 0.0541386 -0.0335166 0.856637 0.5 --0.0136792 0.0541002 -0.0332811 0.857755 0.5 --0.014682 0.0540945 -0.0332776 0.880906 0.5 --0.0156753 0.0541059 -0.0332392 0.852534 0.5 --0.0166996 0.0540293 -0.0329391 0.565881 0.466527 --0.0176729 0.0540415 -0.0325983 0.552506 0.5 --0.0186814 0.0539839 -0.0321072 0.539693 0.5 --0.0196863 0.0539295 -0.0316066 0.507341 0.5 --0.0206904 0.0538665 -0.0309758 0.498114 0.5 --0.0216794 0.0538141 -0.0303252 0.481141 0.5 --0.0226655 0.0537608 -0.0296706 0.467107 0.5 --0.0236707 0.0536853 -0.0289139 0.458029 0.5 --0.0246722 0.05361 -0.0281576 0.474867 0.5 -0.00111147 0.110147 -0.0201294 0.777878 0.5 --0.0600161 0.129661 -0.00742185 0.668042 0.474317 --0.0222042 0.178612 -0.0212581 0.362491 0.469736 --0.0220397 0.0354083 0.0523916 0.871775 0.5 --0.0201696 0.169725 -0.0202727 0.792935 0.5 --0.0142152 0.17272 -0.0253585 0.618946 0.5 --0.0759552 0.133992 -0.00682355 0.409592 0.5 --0.0326268 0.0520227 -0.0107626 0.268871 0.5 --0.033621 0.0519746 -0.0102559 0.383264 0.5 --0.0346207 0.0519685 -0.0102527 0.592613 0.5 --0.0356207 0.0519761 -0.0103771 0.584392 0.5 --0.0366224 0.0519804 -0.0105023 0.591146 0.5 --0.0376227 0.0519888 -0.0106273 0.78985 0.5 --0.0386238 0.0519962 -0.0107523 0.79057 0.5 --0.0396241 0.0520021 -0.0108773 0.793094 0.5 --0.0406241 0.0520111 -0.0110025 0.994534 0.5 --0.0416225 0.0520166 -0.011127 0.999213 0.5 --0.0426178 0.0520018 -0.0109441 0.578529 0.5 --0.0436018 0.0519969 -0.0109067 0.61807 0.5 --0.0446011 0.0519723 -0.0106716 0.45256 0.5 --0.0456126 0.0519231 -0.010201 0.421066 0.5 --0.0466073 0.0518764 -0.00969859 0.39702 0.443593 --0.0475855 0.0518372 -0.00929506 0.396788 0.452069 --0.0485842 0.0517801 -0.00897412 0.402755 0.38548 --0.0496209 0.0517545 -0.00857532 0.511518 0.5 --0.0506189 0.0517055 -0.00806622 0.549325 0.5 --0.0515646 0.0516091 -0.00736491 0.438876 0.448081 --0.0525648 0.0515684 -0.00660684 0.47791 0.5 --0.0719293 0.126758 -0.00881076 0.649179 0.40107 --0.0671422 0.159475 -0.0561779 0.339717 0.359564 --0.060985 0.168641 -0.0594898 0.40121 0.5 --0.0370838 0.159234 -0.0122889 0.821873 0.5 --0.0111259 0.174182 -0.0282833 0.349545 0.5 --0.0211162 0.1638 -0.0163957 0.713989 0.5 --0.0785368 0.0694183 0.0145853 0.75134 0.5 --0.026172 0.174158 -0.0190728 0.367021 0.5 --0.0828745 0.119161 -0.00328383 0.554557 0.5 --0.0678764 0.117979 -0.00873338 0.648617 0.5 --0.0678387 0.0966346 -0.0163917 0.628344 0.5 -0.050335 0.0531616 -0.00370253 0.591619 0.5 -0.0493343 0.0532247 -0.0043679 0.585303 0.38417 -0.0483353 0.0532726 -0.00489034 0.587482 0.5 -0.0473212 0.0533258 -0.00537345 0.575685 0.470222 -0.046334 0.0533506 -0.00578803 0.581067 0.5 -0.0453353 0.0533808 -0.00616451 0.566477 0.480271 -0.0443487 0.0533892 -0.00643258 0.555267 0.5 -0.043354 0.053395 -0.00666154 0.721143 0.5 -0.04237 0.0533961 -0.00679891 0.704562 0.5 -0.0413792 0.0533854 -0.00680998 0.663602 0.5 -0.0403849 0.0533789 -0.00673496 0.645483 0.5 -0.0393899 0.0533602 -0.00667374 0.661591 0.5 -0.0383695 0.0533606 -0.00654853 0.662528 0.5 -0.0373499 0.0533605 -0.00643641 0.671789 0.5 -0.0362915 0.0534119 -0.00658438 0.719442 0.5 -0.0353371 0.0534224 -0.00701071 0.82991 0.5 --0.0291607 0.171183 -0.0175503 0.462498 0.5 --0.0864944 0.112209 0.0250023 0.678971 0.5 --0.0642284 0.165303 -0.0599757 0.293271 0.5 --0.0568734 0.0358081 0.0462717 0.373299 0.5 --0.0748829 0.104948 -0.0102086 0.621645 0.5 --0.0489879 0.148715 -0.00337283 0.532433 0.5 --0.0368889 0.109941 -0.0191779 0.665418 0.5 --0.0689104 0.122371 -0.00889897 0.771269 0.5 -0.0263272 0.0545944 -0.0208638 0.693284 0.5 --0.0688283 0.0966095 -0.0161149 0.675616 0.5 --0.0698935 0.122364 -0.00881274 0.747878 0.5 -0.0233509 0.0549381 -0.0249484 0.556643 0.5 -0.0223236 0.0550419 -0.0260567 0.576577 0.5 -0.0213579 0.055075 -0.0266156 0.566219 0.5 -0.0203316 0.0551325 -0.0272049 0.555393 0.470329 -0.0193474 0.0551603 -0.0276297 0.567331 0.5 -0.0183451 0.0551894 -0.0280076 0.54495 0.5 -0.0173468 0.0552065 -0.0282783 0.688238 0.5 -0.0163504 0.0552051 -0.0284322 0.67583 0.456703 -0.0153369 0.0552331 -0.0286287 0.927446 0.5 -0.0143485 0.0552312 -0.0288146 0.652597 0.469805 -0.0133284 0.055284 -0.0292269 0.694271 0.5 -0.0123553 0.0552818 -0.0294499 0.564173 0.483714 -0.0113495 0.0553023 -0.0296776 0.737325 0.5 -0.0103374 0.0553349 -0.0300221 0.750975 0.5 -0.00934189 0.0553527 -0.0303034 0.740458 0.5 -0.00833741 0.055373 -0.0305597 0.696883 0.5 -0.00733312 0.0553775 -0.0306811 0.679789 0.5 -0.00633113 0.0553726 -0.0306713 0.659122 0.5 -0.00533357 0.055349 -0.0305496 0.64632 0.5 -0.00433576 0.055339 -0.0305463 0.6686 0.457415 -0.00332905 0.0553943 -0.0309954 0.916214 0.5 -0.00233104 0.0554199 -0.0313859 0.919557 0.5 -0.00133514 0.0554198 -0.0315391 0.891246 0.5 -0.000334373 0.0554042 -0.031412 0.87671 0.5 --0.000679533 0.0554388 -0.0315999 0.924859 0.5 --0.00167125 0.0554598 -0.0320096 0.67023 0.5 --0.00266679 0.0554838 -0.0324138 0.684394 0.5 --0.00367406 0.0555102 -0.0326331 0.680397 0.5 --0.00467238 0.0555139 -0.0327809 0.691284 0.5 --0.00566586 0.0555015 -0.0328252 0.679985 0.5 --0.00666974 0.0555272 -0.0330407 0.675414 0.5 --0.00767881 0.0555674 -0.03337 0.684798 0.5 --0.00866441 0.055565 -0.0335626 0.686736 0.444419 --0.00967937 0.0555867 -0.0337759 0.689593 0.436334 --0.0106808 0.0555967 -0.0338825 0.688991 0.5 --0.0116788 0.0555838 -0.0339192 0.677616 0.5 --0.0126796 0.0555759 -0.033924 0.64528 0.5 --0.0136846 0.0555659 -0.0339274 0.635474 0.5 --0.014689 0.0555534 -0.0339367 0.88232 0.5 --0.0156885 0.0555599 -0.0339026 0.848276 0.5 --0.0166951 0.0555255 -0.0336624 0.792839 0.5 --0.0176989 0.0554882 -0.03328 0.539633 0.5 --0.0186879 0.0554617 -0.0328673 0.533014 0.5 --0.0196701 0.0554437 -0.0324495 0.525581 0.5 --0.0206991 0.0553418 -0.0317435 0.484158 0.420275 --0.0216946 0.055283 -0.031103 0.470472 0.5 --0.0226761 0.0552382 -0.0304344 0.470312 0.5 --0.0236788 0.0551648 -0.029679 0.473843 0.5 --0.0246949 0.0550734 -0.0288078 0.488371 0.5 --0.0718855 0.122345 -0.00846405 0.697837 0.5 --0.029123 0.166739 -0.016877 0.782045 0.5 --0.0709583 0.135514 -0.00804855 0.533107 0.466083 --0.0531001 0.154605 -0.00338641 0.417637 0.5 --0.0209654 0.035527 0.0525237 0.896297 0.5 --0.0291548 0.169699 -0.0175574 0.476592 0.5 --0.0600079 0.128191 -0.00754937 0.673164 0.5 --0.0326324 0.0534241 -0.0105104 0.288381 0.5 --0.0336295 0.0533957 -0.0102549 0.594813 0.5 --0.0346283 0.0533938 -0.0102529 0.798897 0.5 --0.0356288 0.0533886 -0.010251 0.79326 0.5 --0.0366299 0.0534085 -0.0105028 0.783733 0.5 --0.0376274 0.0534153 -0.0106276 0.992614 0.5 --0.0386286 0.0534191 -0.0107521 0.979625 0.5 --0.0396286 0.0534411 -0.011004 0.988881 0.5 --0.0406319 0.0534345 -0.0110028 0.994141 0.5 --0.0416287 0.0534443 -0.0111279 0.987199 0.5 --0.0426252 0.0534503 -0.0112074 0.554202 0.5 --0.0436286 0.0534388 -0.0110764 0.436415 0.456196 --0.0446124 0.0534121 -0.0108089 0.440056 0.5 --0.0456135 0.053373 -0.0104441 0.390004 0.5 --0.04663 0.0533425 -0.0102323 0.906079 0.5 --0.0476286 0.0532889 -0.00972253 0.896916 0.5 --0.0486234 0.0532712 -0.0094518 0.492111 0.454246 --0.0496217 0.0532216 -0.00894483 0.497317 0.425619 --0.0506187 0.0531538 -0.00831388 0.518022 0.5 --0.0516111 0.0530832 -0.00753985 0.584334 0.5 --0.0525768 0.0530264 -0.00686565 0.613834 0.5 --0.0649158 0.115218 -0.010913 0.58025 0.437066 --0.0669175 0.115159 -0.00990572 0.566147 0.5 --0.0632016 0.165278 -0.0601981 0.324796 0.444464 --0.04111 0.159177 -0.0108205 0.636721 0.5 --0.012216 0.174205 -0.0276647 0.375263 0.5 --0.0174829 0.0365879 0.0522725 0.356533 0.5 --0.0894731 0.112826 0.0381953 0.466108 0.5 --0.0769168 0.123731 -0.00719316 0.399101 0.451746 --0.0511234 0.159083 -0.0045978 0.453494 0.5 --0.0758756 0.104904 -0.00955908 0.592677 0.5 --0.0698286 0.0965949 -0.0159812 0.631721 0.5 -0.0512982 0.0545874 -0.00353058 0.614241 0.436996 -0.050316 0.0546413 -0.00421167 0.608439 0.5 -0.0493081 0.0547033 -0.00484617 0.603336 0.5 -0.0483233 0.0547304 -0.00526262 0.605991 0.473038 -0.0473276 0.0547587 -0.00564531 0.599878 0.5 -0.0463433 0.054773 -0.00593764 0.750684 0.5 -0.0453586 0.0547792 -0.00610681 0.719094 0.5 -0.0443577 0.0547836 -0.00632411 0.695227 0.5 -0.043364 0.0547822 -0.00644446 0.685014 0.5 -0.0423718 0.0547731 -0.00653415 0.675431 0.5 -0.0413802 0.0547717 -0.00646982 0.641417 0.5 -0.0403843 0.0547484 -0.00641578 0.574642 0.5 -0.0393677 0.0547517 -0.00623241 0.556017 0.5 -0.038354 0.0547461 -0.00609927 0.591008 0.5 -0.0372666 0.0547889 -0.00619261 0.626377 0.5 -0.0364026 0.0547846 -0.00674979 0.597233 0.5 --0.0768582 0.104852 -0.0089026 0.569752 0.5 --0.0108397 0.175678 -0.0290324 0.471426 0.5 --0.0127272 0.0348945 -0.0256797 0.189287 0.5 --0.0702558 0.152263 -0.0463745 0.213477 0.5 --0.0673815 0.0659915 0.0287149 0.560179 0.5 --0.0609083 0.0612023 0.0236586 0.578977 0.5 --0.0428742 0.10707 -0.020141 0.662082 0.5 --0.0438868 0.107083 -0.0199439 0.510302 0.441387 --0.00832726 0.0349131 -0.024554 0.220658 0.5 --0.0778811 0.104813 -0.00803583 0.552918 0.5 --0.0098895 0.107351 -0.0224128 0.651717 0.5 --0.0718881 0.12088 -0.00850233 0.681551 0.5 -0.0233296 0.0564006 -0.0254415 0.612796 0.5 -0.0223237 0.0564658 -0.026195 0.61139 0.5 -0.0213412 0.0565052 -0.0267347 0.597752 0.5 -0.0203586 0.0565379 -0.0271575 0.604307 0.458513 -0.019355 0.0565693 -0.0275356 0.593103 0.5 -0.0183336 0.0566072 -0.0279953 0.575349 0.5 -0.0173308 0.0566344 -0.0283721 0.568066 0.5 -0.016338 0.0566541 -0.0286494 0.709053 0.5 -0.0153242 0.0566704 -0.0288596 0.661236 0.5 -0.0143357 0.0566765 -0.0290221 0.706429 0.5 -0.0133515 0.0566849 -0.029233 0.755398 0.5 -0.0123244 0.0567269 -0.0296218 0.570005 0.5 -0.0113407 0.0567362 -0.0298085 0.602031 0.489059 -0.0103421 0.0567446 -0.0299462 0.611112 0.489182 -0.00933423 0.0567711 -0.0303022 0.574672 0.5 -0.00833271 0.0567886 -0.0305627 0.710141 0.5 -0.00733204 0.0567933 -0.0307054 0.693196 0.5 -0.00633058 0.0567988 -0.0308016 0.676056 0.5 -0.00534315 0.0567731 -0.0307134 0.690932 0.5 -0.00432629 0.0568097 -0.0310178 0.645106 0.5 -0.00332264 0.0568618 -0.0316357 0.911705 0.5 -0.00231866 0.0568936 -0.0320023 0.932341 0.5 -0.00132582 0.0568889 -0.0321653 0.921945 0.5 -0.000325641 0.0568761 -0.0321896 0.898303 0.5 --0.000675964 0.056864 -0.0322097 0.644815 0.468698 --0.00166807 0.0568963 -0.03242 0.679635 0.456512 --0.00267325 0.0569172 -0.0326724 0.687011 0.452802 --0.00367712 0.0569332 -0.0329252 0.667528 0.467043 --0.00467074 0.0569349 -0.0330586 0.683027 0.45503 --0.00567144 0.0569411 -0.0332111 0.909911 0.5 --0.0066784 0.0569449 -0.0331859 0.918173 0.5 --0.0076798 0.0569676 -0.0334142 0.924043 0.5 --0.00868086 0.056987 -0.0336771 0.686881 0.5 --0.00968443 0.0570101 -0.0338896 0.69504 0.5 --0.0106831 0.0570151 -0.0340192 0.702655 0.5 --0.0116803 0.0570084 -0.0342026 0.69983 0.5 --0.0126851 0.0570335 -0.0344182 0.650538 0.5 --0.0136861 0.0570325 -0.0345667 0.909803 0.5 --0.0146932 0.0570315 -0.0346956 0.881781 0.5 --0.015693 0.057044 -0.0346551 0.85105 0.5 --0.0166991 0.0570076 -0.034416 0.562584 0.5 --0.0177034 0.0569685 -0.0340386 0.54636 0.463714 --0.0186964 0.0569405 -0.033635 0.546134 0.5 --0.0197019 0.0568866 -0.0331333 0.545386 0.5 --0.0206969 0.0568414 -0.0326165 0.528863 0.5 --0.021696 0.0567795 -0.0319795 0.497971 0.5 --0.0226771 0.0567339 -0.0313199 0.477831 0.5 --0.0236825 0.0566574 -0.0305632 0.476826 0.5 --0.0708385 0.0965734 -0.0156262 0.462502 0.438008 --0.0677903 0.180834 -0.0585489 0.253189 0.425229 --0.0719625 0.135504 -0.00769556 0.517338 0.5 --0.0390578 0.156263 -0.0100859 0.810258 0.5 --0.0600535 0.138395 -0.00620678 0.65902 0.472972 --0.0685768 0.0699128 0.0338326 0.561097 0.5 --0.0301445 0.169695 -0.0171502 0.44952 0.5 -0.0111461 0.101633 -0.021979 0.834638 0.5 --0.0326395 0.0549161 -0.0112709 0.232548 0.5 --0.0336359 0.0548461 -0.0105101 0.559572 0.5 --0.0346346 0.0548282 -0.01038 0.787382 0.5 --0.0356376 0.0548341 -0.0105043 0.782388 0.5 --0.0366336 0.0548529 -0.010755 0.976333 0.5 --0.0376334 0.0548474 -0.0107543 0.98486 0.5 --0.0386347 0.0548667 -0.0110053 0.975359 0.5 --0.0396388 0.0548721 -0.0111311 0.989729 0.5 --0.0406365 0.0548831 -0.0112562 0.984282 0.5 --0.0416396 0.0548863 -0.0113812 0.99018 0.5 --0.0426358 0.0548841 -0.0113796 0.989781 0.5 --0.0436275 0.0548777 -0.0111987 0.5844 0.5 --0.0446392 0.0548635 -0.0110876 0.571097 0.421241 --0.0456223 0.0548403 -0.0108081 0.417893 0.442443 --0.0466235 0.0548092 -0.0105711 0.579301 0.5 --0.0476209 0.0547841 -0.0103184 0.591162 0.5 --0.0486159 0.0547593 -0.0100622 0.548717 0.5 --0.0496187 0.054694 -0.00943972 0.365758 0.5 --0.0506072 0.0546369 -0.00878713 0.380493 0.5 --0.0516224 0.0545433 -0.00792825 0.405917 0.5 --0.0525943 0.0544911 -0.00726112 0.431447 0.466224 -0.0101437 0.101615 -0.0217271 0.819534 0.5 --0.0718229 0.0965348 -0.0152102 0.449266 0.5 --0.0211471 0.0377711 0.0538261 0.29667 0.5 --0.0401214 0.159176 -0.0112287 0.47798 0.5 --0.0132305 0.174198 -0.0268981 0.412081 0.5 --0.0186635 0.0360947 0.0525267 0.435136 0.5 --0.0551833 0.07213 0.0401196 0.702856 0.5 --0.0570027 0.145725 -0.00171879 0.788639 0.5 --0.0770006 0.139838 -0.00569476 0.451901 0.5 --0.0644637 0.0743344 0.0396953 0.579207 0.5 --0.0728436 0.0965116 -0.0147387 0.450172 0.5 -0.052283 0.0559902 -0.003254 0.611478 0.5 -0.051337 0.0560222 -0.00385605 0.647071 0.5 -0.0502975 0.0560957 -0.00457555 0.631312 0.5 -0.0492985 0.0561391 -0.00508332 0.66627 0.5 -0.0483282 0.0561556 -0.00540695 0.629727 0.5 -0.0473464 0.0561746 -0.0057008 0.758034 0.5 -0.0463445 0.0561751 -0.00589814 0.726223 0.5 -0.0453589 0.0561811 -0.00597324 0.674013 0.5 -0.0443653 0.0561662 -0.00597205 0.674183 0.5 -0.0433693 0.0561672 -0.00598915 0.666266 0.5 -0.0423724 0.056151 -0.00596664 0.637905 0.5 -0.0413778 0.0561233 -0.00592276 0.54064 0.5 -0.0403616 0.0561214 -0.00579676 0.452541 0.5 -0.0393484 0.0561243 -0.00568756 0.495407 0.5 -0.0381487 0.056188 -0.00571384 0.566986 0.246077 -0.0373902 0.0561474 -0.00613784 0.533474 0.435673 --0.0738591 0.0964804 -0.0142486 0.424923 0.5 --0.079955 0.130987 -0.00485489 0.37999 0.437456 --0.0659714 0.070335 0.0357803 0.501893 0.475881 --0.0223475 0.0360366 0.0535038 0.873205 0.5 --0.0627763 0.0614875 0.0230054 0.414498 0.460603 --0.0618627 0.061311 0.023361 0.423005 0.463799 --0.0448823 0.107056 -0.0197924 0.500706 0.5 --0.0569949 0.126695 -0.00683103 0.733797 0.5 --0.0579896 0.126711 -0.00710506 0.774274 0.5 --0.0748494 0.0964384 -0.0137204 0.413272 0.5 --0.062999 0.13114 -0.0082084 0.648664 0.488321 --0.0758579 0.0963896 -0.0129621 0.518013 0.5 --0.0258791 0.105846 -0.022482 0.654058 0.5 -0.0233313 0.0578274 -0.025582 0.663378 0.5 -0.0223386 0.0578809 -0.0262309 0.648773 0.5 -0.0213573 0.057915 -0.0266602 0.614225 0.5 -0.0203532 0.0579488 -0.0270415 0.632452 0.5 -0.0193386 0.0579734 -0.027391 0.621112 0.472639 -0.0183304 0.0579992 -0.0277502 0.604924 0.5 -0.0173244 0.0580274 -0.0281164 0.582359 0.5 -0.0163249 0.0580554 -0.0285 0.567699 0.5 -0.0153317 0.0580768 -0.0287753 0.548703 0.5 -0.0143467 0.0580862 -0.0289605 0.558917 0.477693 -0.0133351 0.058103 -0.0291864 0.756761 0.5 -0.0123335 0.0581189 -0.0294366 0.795874 0.5 -0.0113242 0.0581457 -0.0297724 0.620394 0.5 -0.0103353 0.0581557 -0.0299403 0.604146 0.489538 -0.00932784 0.0581716 -0.0301717 0.752819 0.5 -0.0083246 0.0581885 -0.03043 0.752713 0.5 -0.00733033 0.058195 -0.0305865 0.738688 0.5 -0.00633738 0.0581963 -0.0307089 0.718439 0.5 -0.00534103 0.0581999 -0.0308279 0.554459 0.480064 -0.00432828 0.0582523 -0.0314184 0.541184 0.5 -0.00330684 0.0583228 -0.0321215 0.531755 0.5 -0.00231832 0.0583343 -0.0324165 0.694014 0.453361 -0.00133085 0.058325 -0.0325937 0.671154 0.5 -0.000324051 0.0583269 -0.0327186 0.657017 0.5 --0.000687654 0.0583509 -0.0327859 0.668153 0.5 --0.00168424 0.0583535 -0.0329231 0.681521 0.5 --0.00267903 0.0583624 -0.0332032 0.660718 0.5 --0.00368236 0.0583856 -0.0334327 0.646159 0.5 --0.00468764 0.0584239 -0.0337898 0.919727 0.5 --0.0056922 0.0584499 -0.034018 0.893559 0.5 --0.00668986 0.0584241 -0.0339312 0.873847 0.5 --0.00768539 0.0584014 -0.0338334 0.905588 0.5 --0.00868753 0.0584178 -0.0339256 0.664657 0.5 --0.00968478 0.0584187 -0.0340646 0.682625 0.5 --0.010684 0.0584354 -0.034314 0.66928 0.5 --0.0116935 0.0584778 -0.0346471 0.649421 0.472874 --0.0126939 0.0585083 -0.0350263 0.928956 0.5 --0.0136906 0.0585033 -0.0353384 0.643921 0.5 --0.014696 0.0585192 -0.0354314 0.628527 0.5 --0.0156999 0.0584946 -0.0353551 0.609698 0.47048 --0.0167051 0.0584876 -0.0351851 0.578464 0.5 --0.0177087 0.0584461 -0.0348025 0.551446 0.5 --0.0187146 0.058392 -0.0343021 0.554827 0.5 --0.0197122 0.0583602 -0.0339067 0.551982 0.432608 --0.0207287 0.058287 -0.0332963 0.525533 0.5 --0.0217072 0.0582569 -0.0327502 0.528093 0.5 --0.0226723 0.0582322 -0.0321918 0.51439 0.5 --0.0237128 0.058121 -0.0313582 0.493089 0.5 --0.0682308 0.180685 -0.0584278 0.251064 0.5 --0.0530196 0.144246 -0.000696127 0.546175 0.5 --0.0458982 0.107069 -0.0194756 0.668669 0.416034 --0.0451284 0.159142 -0.00893675 0.4182 0.5 --0.0784224 0.0725404 0.0242536 0.776595 0.5 --0.0764595 0.111219 0.0459768 0.436677 0.5 --0.0380606 0.157756 -0.011216 0.815432 0.5 --0.0181903 0.172708 -0.0227977 0.657824 0.5 --0.0326464 0.0563525 -0.0113988 0.143826 0.5 --0.0336457 0.0562895 -0.0107616 0.371831 0.5 --0.0346417 0.056288 -0.0107606 0.584353 0.5 --0.0356438 0.0562686 -0.010631 0.780735 0.5 --0.0366402 0.0563002 -0.0110085 0.977739 0.5 --0.0376403 0.0562958 -0.0110081 0.984772 0.5 --0.0386435 0.0563025 -0.0111331 0.989706 0.5 --0.0396488 0.0563195 -0.0111963 0.589587 0.5 --0.0406484 0.0563266 -0.0113192 0.638522 0.5 --0.0416459 0.056333 -0.0114534 0.633621 0.5 --0.0426429 0.0563425 -0.0115708 0.684131 0.5 --0.0436328 0.056346 -0.0115255 0.489296 0.5 --0.0446309 0.0563208 -0.0114385 0.472305 0.5 --0.045625 0.056311 -0.011298 0.460193 0.5 --0.0466333 0.0562665 -0.0109539 0.631433 0.5 --0.0476133 0.0562658 -0.0107838 0.445679 0.5 --0.0486224 0.0562169 -0.0104362 0.61532 0.5 --0.0496168 0.0561697 -0.00993077 0.414245 0.5 --0.0506142 0.0560954 -0.00917258 0.408073 0.5 --0.0516036 0.0560273 -0.00839821 0.434396 0.434885 --0.0525972 0.055954 -0.00763978 0.45847 0.5 --0.0749344 0.128178 -0.00819506 0.347218 0.421623 -0.00215199 0.101646 -0.0224127 0.686179 0.5 --0.0610181 0.13697 -0.00676267 0.651011 0.5 --0.0390807 0.159219 -0.0117734 0.516743 0.5 --0.0142233 0.174199 -0.0261217 0.436391 0.5 --0.0198519 0.0357263 0.0525976 0.847273 0.5 --0.0690768 0.0739443 0.0372765 0.577774 0.5 --0.056007 0.145723 -0.001571 0.734282 0.5 --0.0839821 0.127994 -0.00381712 0.396684 0.5 -0.00114374 0.101639 -0.0226194 0.6776 0.5 -0.0533093 0.0573451 -0.00263239 0.615474 0.5 -0.0522757 0.0574291 -0.0035048 0.643631 0.5 -0.0513136 0.0574694 -0.00408483 0.658982 0.5 -0.0503092 0.0575099 -0.00459296 0.664408 0.5 -0.0493319 0.0575419 -0.00502247 0.632242 0.5 -0.0483442 0.0575601 -0.00531363 0.753422 0.5 -0.0473422 0.0575607 -0.00551801 0.749512 0.5 -0.0463579 0.0575632 -0.00556359 0.708875 0.5 -0.0453646 0.0575572 -0.00557548 0.672229 0.5 -0.044367 0.0575454 -0.00546316 0.656573 0.5 -0.0433693 0.0575272 -0.00543691 0.644105 0.5 -0.0423711 0.0575006 -0.00528711 0.533289 0.5 -0.041351 0.0574751 -0.0052144 0.435994 0.5 -0.0403284 0.0574912 -0.00511853 0.435519 0.5 -0.0390604 0.0575755 -0.00514174 0.481723 0.226377 -0.0383787 0.0575308 -0.00558257 0.470685 0.433935 -0.000146179 0.101649 -0.0227639 0.661726 0.5 --0.0729303 0.131104 -0.00814819 0.652092 0.5 --0.0689665 0.135529 -0.00828838 0.595071 0.5 --0.0340766 0.172586 -0.0145127 0.443962 0.5 --0.0468823 0.107031 -0.0193009 0.717565 0.5 --0.0478798 0.107016 -0.0192852 0.785937 0.5 --0.0798628 0.122191 -0.00554615 0.412358 0.5 --0.0809073 0.123633 -0.00507492 0.511313 0.406587 --0.0708734 0.116483 -0.00801313 0.455162 0.477887 --0.0569713 0.125238 -0.00711806 0.71582 0.5 --0.0798905 0.126603 -0.00582167 0.429166 0.5 --0.0348545 0.0986254 -0.0227182 0.655039 0.5 --0.0669104 0.120913 -0.00889891 0.769374 0.5 -0.0243264 0.0591823 -0.0248233 0.651331 0.5 -0.0233583 0.0592365 -0.0255115 0.675169 0.5 -0.0223181 0.0592817 -0.0260832 0.639279 0.5 -0.0213663 0.0593118 -0.0264401 0.63495 0.5 -0.0203189 0.05934 -0.026848 0.641659 0.5 -0.0193411 0.0593649 -0.0271573 0.635044 0.484049 -0.0183283 0.0593891 -0.0275077 0.79822 0.5 -0.0173372 0.059408 -0.0277846 0.755566 0.5 -0.0163083 0.0594423 -0.028212 0.584536 0.5 -0.0153286 0.0594649 -0.0285327 0.732649 0.5 -0.0143257 0.0594816 -0.0287805 0.727181 0.5 -0.0133255 0.0594987 -0.0290386 0.766255 0.5 -0.0123252 0.0595168 -0.0292981 0.830747 0.5 -0.0113105 0.059545 -0.0296135 0.798978 0.5 -0.0103113 0.0595614 -0.0298764 0.804128 0.5 -0.00930976 0.0595795 -0.0301167 0.797126 0.5 -0.00833511 0.0595736 -0.0302453 0.761857 0.5 -0.00732527 0.0595899 -0.0304419 0.754983 0.5 -0.00632209 0.0596079 -0.030662 0.751319 0.5 -0.00534844 0.0596161 -0.0309806 0.570731 0.5 -0.00434041 0.0596672 -0.031584 0.563082 0.5 -0.00330662 0.0597508 -0.0323981 0.584961 0.5 -0.00232768 0.0597693 -0.0328325 0.559541 0.5 -0.00131504 0.0597888 -0.0330641 0.688544 0.5 -0.000314733 0.0597904 -0.0332055 0.689089 0.5 --0.000694781 0.0597985 -0.0333207 0.675318 0.454243 --0.00169833 0.0598396 -0.033652 0.673305 0.457993 --0.00268673 0.0598311 -0.0338297 0.925721 0.5 --0.00369909 0.0598617 -0.0340393 0.646726 0.474422 --0.00468835 0.0598784 -0.0344633 0.508305 0.5 --0.00569643 0.0599053 -0.0346867 0.645534 0.5 --0.00669968 0.0599043 -0.0346663 0.888156 0.5 --0.00769877 0.0598808 -0.0345717 0.873128 0.5 --0.00869265 0.0598566 -0.0344628 0.903325 0.5 --0.00969446 0.0598719 -0.0345693 0.922895 0.5 --0.0106878 0.0598858 -0.0348312 0.916957 0.5 --0.0116999 0.0599414 -0.0352829 0.917865 0.5 --0.0126927 0.0599517 -0.0357172 0.659242 0.470718 --0.0137008 0.0599733 -0.0359611 0.671649 0.456412 --0.0147132 0.0599449 -0.0358879 0.628287 0.474761 --0.0157056 0.0599572 -0.0358177 0.617599 0.5 --0.0167077 0.059948 -0.0356741 0.840534 0.5 --0.0177128 0.0599179 -0.0354327 0.799135 0.5 --0.0187116 0.0598792 -0.0350421 0.544524 0.465797 --0.0197012 0.0598498 -0.0346368 0.529165 0.5 --0.020723 0.0597726 -0.0340423 0.490856 0.5 --0.0217032 0.0597401 -0.0334972 0.493587 0.5 --0.0226971 0.059684 -0.0328522 0.492304 0.5 --0.0237052 0.0596068 -0.0321069 0.485458 0.5 --0.0338487 0.098628 -0.022813 0.655365 0.5 --0.0679219 0.123838 -0.00890383 0.783269 0.5 --0.0630199 0.134039 -0.00765574 0.829703 0.5 --0.027105 0.162286 -0.015104 0.596994 0.5 --0.0261075 0.162258 -0.0150297 0.599291 0.5 --0.0211482 0.169745 -0.0200914 0.819403 0.5 --0.0172406 0.178621 -0.0252251 0.348814 0.472019 --0.0576689 0.0350157 0.0450337 0.94399 0.5 --0.0326534 0.0578275 -0.0120318 0 0 --0.0336503 0.0577563 -0.0112696 0.340218 0.5 --0.0346492 0.0577427 -0.0111408 0.569117 0.5 --0.0356468 0.0577276 -0.0110125 0.773378 0.5 --0.0366476 0.0577363 -0.0111372 0.976555 0.5 --0.0376499 0.0577418 -0.0112619 0.979938 0.5 --0.0386568 0.0577511 -0.0111914 0.633525 0.5 --0.0396568 0.0577566 -0.0113194 0.66275 0.5 --0.0406583 0.0577787 -0.0115563 0.66904 0.5 --0.0416597 0.057808 -0.0117566 0.740925 0.5 --0.0426568 0.0578158 -0.011891 0.550212 0.468491 --0.0436492 0.0577877 -0.0118151 0.55491 0.444596 --0.0446453 0.0577855 -0.0118043 0.509053 0.459194 --0.0456409 0.0577841 -0.0117617 0.499731 0.457732 --0.0466248 0.0577591 -0.0115398 0.501473 0.468268 --0.0476199 0.057734 -0.011287 0.674579 0.5 --0.0486418 0.0576652 -0.0108452 0.471644 0.5 --0.0496329 0.05762 -0.010324 0.454003 0.5 --0.0506054 0.0575708 -0.00965819 0.438177 0.4019 --0.0515955 0.0575054 -0.00888629 0.430161 0.5 --0.0525841 0.0574366 -0.00812203 0.45259 0.5 --0.00385838 0.101641 -0.0231016 0.683302 0.5 --0.0658968 0.109505 -0.0131657 0.639834 0.5 --0.0829482 0.128017 -0.00457928 0.396406 0.5 --0.0380826 0.159224 -0.0120325 0.792989 0.5 --0.0152002 0.174208 -0.0254562 0.568327 0.5 --0.0489243 0.0675117 0.0383488 0.669387 0.5 --0.0380583 0.154792 -0.00920218 0.738415 0.5 --0.0579761 0.145744 -0.00191597 0.821423 0.5 --0.0799103 0.125126 -0.00560703 0.470777 0.5 --0.00486253 0.101638 -0.0232055 0.669053 0.5 -0.0533192 0.0587911 -0.00291354 0.634197 0.5 -0.0523216 0.0588453 -0.00357691 0.664833 0.5 -0.0513156 0.0588831 -0.00408417 0.65756 0.5 -0.0503218 0.0589081 -0.00447436 0.624577 0.5 -0.0493315 0.0589269 -0.00474568 0.749851 0.5 -0.0483469 0.0589383 -0.00490848 0.717719 0.5 --0.0849335 0.125015 -0.00321773 0.624202 0.5 --0.0689044 0.110844 -0.0111483 0.490264 0.392453 --0.0903629 0.11521 0.0252935 0.721825 0.5 --0.0838537 0.110728 0.0339922 0.756232 0.5 -0.0433586 0.0589158 -0.00469925 0.591647 0.5 -0.0423563 0.0588819 -0.00453174 0.508868 0.5 -0.0413366 0.0588699 -0.00449648 0.436735 0.5 -0.0401031 0.0589615 -0.00453029 0.424111 0.26453 --0.0759667 0.135448 -0.00632576 0.438065 0.5 --0.0769787 0.135423 -0.00568624 0.447199 0.427213 --0.0501013 0.15611 -0.00554414 0.382841 0.5 --0.0709386 0.131124 -0.00852217 0.590579 0.5 --0.0301745 0.17266 -0.0167996 0.463334 0.456669 --0.0450894 0.154663 -0.00752455 0.729218 0.5 --0.0662371 0.173912 -0.0594768 0.604193 0.5 --0.0559996 0.126683 -0.00642409 0.53475 0.478738 -0.00809889 0.111578 -0.0196036 0.828781 0.5 --0.0769591 0.131054 -0.00672048 0.426403 0.5 --0.0652895 0.175332 -0.0607504 0.331013 0.5 --0.0809104 0.126584 -0.00546143 0.455051 0.5 --0.0778493 0.11932 -0.00645768 0.516274 0.5 --0.0108856 0.107334 -0.0222671 0.629817 0.5 --0.0809138 0.125107 -0.00520991 0.502894 0.416983 -0.0243337 0.0605883 -0.0247185 0.699292 0.5 -0.0233375 0.0606402 -0.0253621 0.683592 0.5 -0.0223381 0.0606785 -0.0258752 0.660666 0.5 -0.0213347 0.0607071 -0.0262571 0.670216 0.477951 -0.0203114 0.0607424 -0.0267183 0.655082 0.5 -0.0193241 0.0607694 -0.0271316 0.637267 0.48403 -0.018318 0.0607989 -0.0274966 0.798155 0.5 -0.0173361 0.0608154 -0.0277985 0.605135 0.5 -0.0163111 0.0608546 -0.0282401 0.600571 0.5 -0.0153317 0.060873 -0.028643 0.762921 0.405039 -0.014321 0.0608889 -0.0289153 0.759584 0.409645 -0.0133301 0.0609017 -0.0290805 0.799277 0.5 -0.0123248 0.0609207 -0.0293142 0.828411 0.5 -0.0113097 0.0609536 -0.0296395 0.825986 0.5 -0.0103202 0.0609665 -0.0299301 0.799893 0.5 -0.00939521 0.0609325 -0.0302492 0.793275 0.390297 -0.00834248 0.0609508 -0.0305126 0.757184 0.402535 -0.0073096 0.0609801 -0.0307365 0.77749 0.397076 -0.00631667 0.061015 -0.0309472 0.739655 0.417681 -0.0053093 0.0610791 -0.0314051 0.725783 0.5 -0.00431168 0.0611153 -0.0319161 0.579917 0.5 -0.00330328 0.0611715 -0.0325304 0.592578 0.5 -0.00230145 0.0612209 -0.0331693 0.581689 0.5 -0.00131984 0.0612266 -0.0334746 0.718473 0.5 -0.00030024 0.0612559 -0.033673 0.706724 0.5 --0.000691446 0.0612541 -0.0338404 0.684533 0.5 --0.00170296 0.0612915 -0.034176 0.931089 0.5 --0.00269376 0.0613003 -0.0344696 0.658087 0.5 --0.00368188 0.0613041 -0.0346439 0.522934 0.484479 --0.00469624 0.0613427 -0.0349676 0.520186 0.484575 --0.00570279 0.0613633 -0.0351663 0.684922 0.44624 --0.0067083 0.0613544 -0.0352012 0.651672 0.470336 --0.007704 0.0613485 -0.0352024 0.899586 0.5 --0.0087012 0.0613261 -0.0351009 0.886303 0.5 --0.0097823 0.0613531 -0.0352263 0.68778 0.444313 --0.0106993 0.061373 -0.0355475 0.670518 0.457134 --0.0117022 0.0613984 -0.0359464 0.687248 0.5 --0.0126944 0.0614008 -0.0362648 0.698421 0.5 --0.0137086 0.0614344 -0.0364468 0.651682 0.5 --0.0147098 0.0613984 -0.0362354 0.858275 0.5 --0.0157153 0.0613848 -0.0360938 0.851108 0.5 --0.0167191 0.0613704 -0.0359554 0.852398 0.5 --0.0177152 0.0613627 -0.0358053 0.84491 0.5 --0.0187202 0.0613304 -0.0355606 0.802041 0.5 --0.0197239 0.0612902 -0.0351879 0.539582 0.5 --0.0207268 0.0612423 -0.0346723 0.506328 0.5 --0.0217336 0.0611778 -0.0340471 0.481145 0.5 --0.022701 0.0611501 -0.0334866 0.474073 0.5 --0.0237002 0.0610797 -0.032726 0.455354 0.5 --0.058072 0.135467 -0.00577889 0.67445 0.5 --0.0171973 0.174198 -0.0240623 0.581635 0.5 --0.0442085 0.165146 -0.00911238 0.44365 0.5 --0.0301008 0.162274 -0.0148279 0.589633 0.480524 --0.0142042 0.169737 -0.0232161 0.631837 0.5 --0.0221552 0.169733 -0.0198584 0.556273 0.5 --0.0311605 0.169689 -0.016551 0.447724 0.5 -0.0110632 0.0360404 -0.022358 0.321071 0.429304 --0.0326614 0.0592947 -0.0125392 0.176728 0.5 --0.0336617 0.0592604 -0.0121578 0.335154 0.5 --0.034656 0.0592094 -0.011649 0.525141 0.5 --0.035656 0.0591967 -0.0115208 0.738342 0.5 --0.0366574 0.0591917 -0.011518 0.948368 0.5 --0.0376568 0.0591992 -0.0116433 0.941798 0.5 --0.0386562 0.0591953 -0.0114762 0.572121 0.5 --0.0396639 0.0592228 -0.0116772 0.648591 0.5 --0.0406662 0.0592305 -0.0118049 0.737665 0.5 --0.0416678 0.0592681 -0.0121392 0.830365 0.5 --0.0426623 0.0592741 -0.0122692 0.611351 0.5 --0.0436566 0.0592613 -0.0123074 0.607453 0.5 --0.0446505 0.0592548 -0.0123035 0.78102 0.5 --0.0456444 0.0592254 -0.0120696 0.755244 0.5 --0.0466281 0.0592297 -0.0120314 0.772766 0.5 --0.0476369 0.0591928 -0.0118235 0.762326 0.5 --0.0486367 0.0591511 -0.0114572 0.659351 0.5 --0.0496312 0.0590927 -0.0108209 0.44339 0.372992 --0.0506178 0.0590261 -0.0100428 0.460954 0.5 --0.051624 0.0589527 -0.00929309 0.453789 0.5 --0.0526285 0.0588799 -0.00854194 0.46395 0.439843 --0.0536041 0.0588172 -0.00776341 0.668087 0.5 --0.0758718 0.109158 -0.00765228 0.589946 0.5 --0.0629342 0.109643 -0.0151294 0.606602 0.5 --0.0360892 0.159232 -0.0124312 0.834592 0.5 --0.0162071 0.174195 -0.0247085 0.563651 0.5 --0.0488761 0.107007 -0.0192731 0.800527 0.5 --0.0498753 0.106996 -0.0192538 0.794852 0.5 --0.0559081 0.112628 -0.0165116 0.475072 0.5 --0.0698329 0.112058 0.0465849 0.478168 0.380425 --0.0278615 0.0987172 -0.0237448 0.572131 0.5 --0.0550257 0.131065 -0.00539027 0.647213 0.455881 --0.0588822 0.108299 -0.017343 0.459052 0.5 --0.0460906 0.156154 -0.00788178 0.439208 0.5 --0.0350646 0.156323 -0.010574 0.742779 0.5 --0.0208606 0.101617 -0.0238418 0.645596 0.5 --0.0218606 0.101624 -0.0238704 0.670095 0.5 --0.0794629 0.0702542 0.0118898 0.725422 0.5 --0.0228597 0.101618 -0.023963 0.688569 0.5 --0.0238622 0.101613 -0.0238665 0.662877 0.5 --0.0248661 0.101609 -0.0237851 0.644783 0.5 --0.0649264 0.112407 -0.0127033 0.623431 0.5 --0.0268752 0.105825 -0.0224483 0.626782 0.5 --0.0258651 0.101595 -0.0237434 0.627196 0.5 --0.0268641 0.101582 -0.02361 0.608526 0.5 --0.0278603 0.101566 -0.0234492 0.606695 0.5 --0.0288578 0.101545 -0.0231915 0.590192 0.5 --0.0298707 0.101527 -0.0228594 0.596497 0.5 --0.0308625 0.101511 -0.0227041 0.625319 0.5 --0.0411739 0.165162 -0.0113688 0.360469 0.5 --0.0318682 0.101497 -0.022474 0.653343 0.5 --0.0760085 0.141318 -0.005968 0.3428 0.5 --0.0570352 0.129621 -0.00626418 0.657833 0.470297 --0.0642686 0.171043 -0.0609844 0.346838 0.5 --0.0490718 0.151664 -0.00461846 0.721908 0.5 --0.0642867 0.172466 -0.0611328 0.305844 0.444783 --0.0330915 0.16076 -0.0136886 0.842664 0.5 --0.0528885 0.108408 -0.0187758 0.738837 0.5 --0.0328698 0.101492 -0.0223548 0.689148 0.5 --0.033869 0.10148 -0.022225 0.684462 0.5 --0.0768562 0.117877 -0.00659127 0.494016 0.5 --0.0778777 0.117832 -0.00599287 0.500696 0.5 --0.0348704 0.101474 -0.022105 0.693802 0.5 --0.0358626 0.101452 -0.0219425 0.692298 0.5 --0.0368559 0.101427 -0.0217814 0.682688 0.5 -0.0222773 0.0620859 -0.0257917 0.689184 0.5 -0.0213389 0.0621093 -0.0262711 0.675234 0.454883 -0.0203077 0.0621778 -0.0269805 0.645975 0.5 -0.0192994 0.062217 -0.0274738 0.639386 0.5 -0.0183032 0.0622432 -0.0278633 0.637029 0.395419 -0.0173165 0.0622663 -0.028279 0.626368 0.396114 -0.0162996 0.0623114 -0.0287447 0.621594 0.5 -0.0153241 0.0623295 -0.0291944 0.592328 0.5 -0.0143086 0.0623633 -0.0295361 0.780167 0.5 -0.0133075 0.062355 -0.0296823 0.819068 0.37689 -0.0123118 0.0623753 -0.0299343 0.797379 0.384298 -0.0112895 0.0624411 -0.0303571 0.79033 0.385997 -0.0103005 0.0624571 -0.0307796 0.800173 0.5 -0.00933955 0.0624337 -0.0310444 0.774248 0.5 -0.00831584 0.0624371 -0.0312473 0.771104 0.395682 -0.00730214 0.0624461 -0.0313742 0.757175 0.401427 -0.00630898 0.0624816 -0.0315869 0.723271 0.423779 -0.00532494 0.0625045 -0.0319907 0.728322 0.418376 -0.00430293 0.0625774 -0.0325544 0.571531 0.419452 -0.00330234 0.0626197 -0.0330565 0.610703 0.464497 -0.00228793 0.0626666 -0.0335374 0.611179 0.5 -0.00133097 0.0626915 -0.0339607 0.592927 0.465014 -0.000300907 0.0626948 -0.0340909 0.704272 0.5 --0.000697034 0.0626894 -0.03411 0.670644 0.5 --0.00171529 0.0627358 -0.0345403 0.673842 0.5 --0.00271622 0.0627636 -0.0349069 0.71062 0.5 --0.00370938 0.0627709 -0.0350699 0.734275 0.5 --0.00470743 0.0627772 -0.0352137 0.707395 0.5 --0.00571075 0.0627939 -0.0354611 0.724601 0.5 --0.00670797 0.0627873 -0.0354975 0.672752 0.5 --0.00771091 0.0627931 -0.0356131 0.650764 0.5 --0.00870224 0.0627847 -0.0356447 0.651502 0.5 --0.00970298 0.0627929 -0.0357349 0.678915 0.5 --0.0107078 0.0628117 -0.0359649 0.69925 0.5 --0.011709 0.0628424 -0.0363307 0.721877 0.5 --0.0127025 0.0628523 -0.0366298 0.712311 0.5 --0.0137183 0.0628763 -0.0368336 0.684856 0.443001 --0.0147168 0.0628748 -0.03682 0.893424 0.5 --0.0157188 0.0628375 -0.0366012 0.812525 0.5 --0.016725 0.0627999 -0.0362248 0.824599 0.5 --0.0177283 0.0627822 -0.0360863 0.869266 0.5 --0.018731 0.0627665 -0.0359648 0.842678 0.5 --0.0197337 0.0627381 -0.0357065 0.779859 0.5 --0.0207502 0.0626823 -0.0352205 0.481683 0.5 --0.0217308 0.0626511 -0.0346671 0.448668 0.364626 --0.0227229 0.0625945 -0.0340193 0.462456 0.5 --0.0237144 0.062529 -0.0332478 0.460326 0.5 --0.0378618 0.101418 -0.0215553 0.711223 0.5 -0.0051136 0.11017 -0.0202785 0.799617 0.5 --0.0579701 0.125253 -0.00738272 0.731317 0.5 --0.0251052 0.162299 -0.0151004 0.866482 0.5 --0.0152029 0.16973 -0.0225848 0.648317 0.5 --0.0231673 0.169718 -0.0195033 0.558503 0.5 --0.0321414 0.16968 -0.0161315 0.451457 0.5 --0.038857 0.101401 -0.0214118 0.737784 0.5 --0.0398612 0.101404 -0.0212384 0.765532 0.5 --0.0336693 0.0607336 -0.0127906 0.164658 0.5 --0.0346629 0.0607102 -0.0125376 0.353451 0.5 --0.0356643 0.0606925 -0.0124069 0.525705 0.5 --0.0366615 0.0606699 -0.0121541 0.713387 0.5 --0.0376612 0.0606745 -0.0122764 0.893754 0.5 --0.0386629 0.0606634 -0.011982 0.587775 0.5 --0.0396673 0.0606846 -0.0120669 0.676045 0.5 --0.0406738 0.0606904 -0.0121867 0.757155 0.5 --0.0416725 0.0607151 -0.0124173 0.848204 0.5 --0.0426785 0.060742 -0.0126195 0.661857 0.467643 --0.0436626 0.0607395 -0.0127771 0.650016 0.471453 --0.0446531 0.0607308 -0.0127894 0.88375 0.5 --0.0456539 0.0606919 -0.0125779 0.804379 0.5 --0.046654 0.0606571 -0.0123502 0.815501 0.5 --0.0476575 0.0606291 -0.0121142 0.815548 0.5 --0.0486555 0.0606014 -0.0118523 0.5192 0.461619 --0.0496388 0.0605583 -0.0113235 0.472158 0.5 --0.050636 0.0604891 -0.0105672 0.444895 0.5 --0.0516205 0.0604369 -0.00991236 0.450284 0.5 --0.0526322 0.0603614 -0.00917272 0.46893 0.5 --0.0536323 0.0602894 -0.00841331 0.452904 0.5 --0.0546088 0.0601814 -0.0071333 0.593472 0.5 --0.055522 0.0600566 -0.00554029 0.393507 0.5 --0.0408554 0.101386 -0.0212924 0.797839 0.5 --0.0418554 0.101378 -0.0213767 0.814768 0.5 --0.0428553 0.101381 -0.0214106 0.829446 0.5 --0.0508832 0.106998 -0.0191626 0.795732 0.5 --0.0518874 0.106988 -0.0190452 0.775672 0.5 --0.0719103 0.125286 -0.00863314 0.704893 0.5 --0.0716387 0.0675256 0.0265031 0.643168 0.5 --0.0584616 0.0717087 0.039721 0.664596 0.5 --0.0550044 0.145721 -0.00143834 0.699939 0.5 --0.0540284 0.131061 -0.00500164 0.643285 0.450992 --0.0438555 0.101385 -0.0214526 0.823264 0.5 --0.0639323 0.123848 -0.00887264 0.814492 0.5 --0.0788571 0.120751 -0.0060883 0.521501 0.5 --0.0649515 0.126767 -0.00875296 0.811394 0.5 --0.0448562 0.101383 -0.0214692 0.812256 0.5 --0.0458559 0.10138 -0.0215412 0.80419 0.5 --0.0468563 0.101377 -0.0215448 0.807693 0.5 --0.06991 0.11224 -0.0100103 0.583617 0.5 --0.0709064 0.123821 -0.00862928 0.756169 0.5 --0.0610115 0.134041 -0.00711168 0.847312 0.5 --0.0739382 0.132552 -0.00766265 0.675839 0.5 --0.0649712 0.129694 -0.00875388 0.837691 0.5 --0.0639761 0.129691 -0.00851425 0.656198 0.5 --0.0621416 0.141343 -0.00629843 0.508421 0.5 --0.0478585 0.101383 -0.0215741 0.808974 0.5 --0.0488595 0.101383 -0.02158 0.798864 0.5 --0.0381658 0.165183 -0.0131497 0.477937 0.421549 --0.0528899 0.106976 -0.018917 0.755078 0.5 --0.0498635 0.101385 -0.021584 0.759782 0.5 --0.0550525 0.129598 -0.0055846 0.608414 0.5 --0.0281655 0.17267 -0.018055 0.463087 0.5 --0.0679296 0.125304 -0.00887173 0.79915 0.5 --0.0778913 0.126656 -0.00702073 0.440572 0.437044 --0.0779569 0.132491 -0.00592536 0.423315 0.450384 --0.0548868 0.108372 -0.0183778 0.693503 0.5 --0.0538991 0.108397 -0.0185513 0.722272 0.5 --0.0618964 0.108239 -0.0162152 0.447716 0.5 --0.0538924 0.106961 -0.0186698 0.735449 0.5 --0.0758642 0.117897 -0.00698249 0.48249 0.5 --0.0508615 0.101367 -0.0215394 0.711354 0.5 --0.0518654 0.101358 -0.0214215 0.663725 0.5 --0.0528849 0.101359 -0.0212107 0.479277 0.5 -0.0233086 0.0634336 -0.024957 0.68608 0.5 -0.0222874 0.0635154 -0.025946 0.688805 0.5 -0.0213383 0.0635548 -0.0266585 0.664336 0.5 -0.0203245 0.0636 -0.0272806 0.661958 0.392585 -0.0192972 0.063662 -0.0278633 0.635476 0.5 -0.0183116 0.0636834 -0.0282837 0.628268 0.478519 -0.0172995 0.0637271 -0.0287659 0.619616 0.5 -0.0163113 0.0637479 -0.0291811 0.61477 0.5 -0.0153129 0.0637748 -0.0295702 0.604327 0.399711 -0.0143045 0.0638067 -0.0299257 0.629413 0.5 -0.0133173 0.0638081 -0.0300932 0.811702 0.5 -0.0123073 0.0638424 -0.0304488 0.807999 0.5 -0.0112859 0.0638878 -0.0308862 0.638119 0.5 -0.0102881 0.063916 -0.0312717 0.63967 0.482046 -0.00930465 0.0639279 -0.0315779 0.829415 0.5 -0.008313 0.0639391 -0.0318667 0.816814 0.5 -0.00729944 0.0639619 -0.0320669 0.802499 0.5 -0.00629218 0.0639808 -0.0323017 0.765276 0.5 -0.00529533 0.064011 -0.0326857 0.765907 0.5 -0.00429568 0.0640516 -0.0331969 0.627733 0.473996 -0.00329581 0.06408 -0.0335736 0.629519 0.5 -0.00229927 0.0641027 -0.0339638 0.609202 0.410793 -0.00130454 0.0641388 -0.0343264 0.594238 0.471601 -0.000291607 0.0641338 -0.034343 0.699258 0.5 --0.000697567 0.0641196 -0.0342689 0.701454 0.5 --0.00170857 0.0641356 -0.0344906 0.725112 0.5 --0.00271064 0.0641639 -0.0348647 0.756686 0.5 --0.00371064 0.0641813 -0.0350983 0.738844 0.5 --0.00471394 0.0641886 -0.0352179 0.741453 0.5 --0.00571704 0.0642049 -0.0354496 0.731692 0.5 --0.00671791 0.0642099 -0.0355692 0.670262 0.5 --0.00771915 0.0642161 -0.0356843 0.670163 0.5 --0.00871553 0.0642094 -0.0357226 0.672109 0.5 --0.00972298 0.0642282 -0.0359259 0.699003 0.5 --0.0107189 0.0642451 -0.0362023 0.741237 0.5 --0.0117173 0.0642717 -0.0365887 0.779464 0.5 --0.0127037 0.064273 -0.0367671 0.577387 0.5 --0.0137234 0.0643092 -0.0370705 0.542103 0.5 --0.0147222 0.0643235 -0.037347 0.66828 0.5 --0.0157228 0.0642918 -0.0372774 0.862164 0.5 --0.0167333 0.0642714 -0.0369951 0.55365 0.482046 --0.0177396 0.0642294 -0.0366219 0.560318 0.48002 --0.0187526 0.0641914 -0.0363857 0.575823 0.5 --0.0197383 0.064191 -0.0362126 0.562778 0.5 --0.0207376 0.0641563 -0.0358205 0.546618 0.5 --0.021716 0.0641363 -0.0354017 0.49224 0.5 --0.0227414 0.0640418 -0.0345473 0.451718 0.5 --0.0237194 0.0639841 -0.033754 0.450593 0.5 --0.0247258 0.0638997 -0.032873 0.467812 0.5 --0.0538856 0.101336 -0.0209374 0.453632 0.466396 --0.0659978 0.135528 -0.00820667 0.716468 0.5 --0.0351413 0.166693 -0.0148789 0.511254 0.5 --0.053967 0.0687802 0.0379578 0.651205 0.5 --0.0241467 0.169732 -0.0193183 0.572032 0.5 --0.0331437 0.169673 -0.0156322 0.469409 0.5 --0.0642908 0.169609 -0.0607929 0.359336 0.5 --0.0548867 0.101301 -0.0205491 0.438115 0.5 --0.0336762 0.062222 -0.0135529 0.144132 0.5 --0.0346708 0.0621866 -0.0131726 0.352868 0.5 --0.0356709 0.0621736 -0.0130441 0.543504 0.5 --0.0366712 0.0621691 -0.0130418 0.709534 0.5 --0.0376663 0.0621956 -0.0129723 0.551355 0.5 --0.0386685 0.0621637 -0.0127302 0.614183 0.5 --0.0396713 0.0621627 -0.012718 0.694165 0.5 --0.0406768 0.0621783 -0.0128097 0.786709 0.5 --0.0416808 0.0622091 -0.0130274 0.883769 0.5 --0.0426749 0.0622014 -0.0131851 0.919426 0.5 --0.0436679 0.0621935 -0.0131864 0.912929 0.5 --0.0446642 0.0621749 -0.0132201 0.89465 0.5 --0.0456524 0.0621788 -0.0131898 0.850321 0.5 --0.0466794 0.0620985 -0.0127944 0.540798 0.5 --0.0476622 0.0620749 -0.0123691 0.442212 0.466956 --0.0486546 0.0620591 -0.0122264 0.432309 0.5 --0.0496442 0.0620141 -0.0117058 0.502131 0.5 --0.0506534 0.0619401 -0.0109597 0.502885 0.5 --0.0516393 0.0618882 -0.0103104 0.485715 0.5 --0.0526397 0.0618282 -0.00966488 0.478736 0.43111 --0.0535904 0.0617699 -0.00886774 0.564652 0.5 --0.0545598 0.0616597 -0.0074577 0.547337 0.5 --0.0555615 0.0615422 -0.00607893 0.443169 0.5 --0.0564804 0.0613799 -0.00459099 0.321073 0.355633 --0.0576531 0.0612704 -0.00372094 0.341056 0.5 --0.058573 0.0613666 -0.00334192 0.179146 0.405704 --0.0596081 0.0614162 -0.00289701 0.195385 0.344922 --0.0606301 0.0613516 -0.00265703 0.21968 0.305842 --0.0616015 0.0614498 -0.00273471 0.237446 0.386283 --0.062546 0.0614527 -0.00215685 0.231854 0.409636 --0.0635384 0.061476 -0.00191873 0.22628 0 --0.0548742 0.10693 -0.0184788 0.731686 0.5 --0.0558858 0.106922 -0.0182628 0.735175 0.5 --0.0568864 0.106915 -0.0181412 0.700775 0.5 --0.078943 0.132461 -0.00522567 0.407232 0.5 --0.0400491 0.154783 -0.00892819 0.737465 0.5 --0.0255688 0.0356598 0.0531386 0.564727 0.5 --0.0570338 0.131087 -0.00617819 0.679759 0.465739 --0.0558948 0.101262 -0.0199275 0.424147 0.470952 --0.0719296 0.11219 -0.00889601 0.536078 0.5 --0.0132439 0.178631 -0.0284206 0.31298 0.434951 --0.0629391 0.12384 -0.00881569 0.816864 0.5 --0.0798509 0.120721 -0.00541034 0.531215 0.375276 --0.0689372 0.126774 -0.00892675 0.790619 0.379434 --0.0568902 0.10122 -0.0192994 0.558643 0.5 --0.0699315 0.126779 -0.00900092 0.77642 0.385012 --0.0578818 0.101192 -0.0190391 0.617408 0.5 --0.0588731 0.101172 -0.0189069 0.656861 0.5 --0.0598691 0.101152 -0.0187591 0.66697 0.5 --0.0600285 0.134031 -0.00683616 0.84805 0.5 --0.0819835 0.132406 -0.00340088 0.50712 0.5 --0.0608711 0.101136 -0.0186334 0.667418 0.5 --0.061927 0.109672 -0.0156348 0.592735 0.5 --0.061867 0.101123 -0.0184855 0.613226 0.5 --0.0795939 0.112319 0.0461682 0.59229 0.5 --0.0331278 0.165217 -0.0153881 0.594089 0.5 --0.0261888 0.17564 -0.0188354 0.392078 0.5 --0.0628667 0.101101 -0.0182166 0.440839 0.5 --0.0560194 0.129616 -0.00591188 0.625053 0.5 --0.0578783 0.106898 -0.0179862 0.650833 0.5 --0.0777488 0.07493 0.029356 0.667908 0.5 --0.0769339 0.126684 -0.00758482 0.425905 0.5 --0.0788489 0.119288 -0.00581129 0.523105 0.5 --0.0588961 0.106893 -0.0176578 0.629492 0.5 --0.0558871 0.108356 -0.0181276 0.680499 0.5 --0.0438866 0.108471 -0.0191595 0.616008 0.5 --0.0629263 0.108221 -0.0156274 0.562234 0.5 --0.0739548 0.136937 -0.00691386 0.508552 0.5 --0.054118 0.157553 -0.00229988 0.368133 0.5 --0.0638439 0.101082 -0.0177706 0.444113 0.311459 --0.0278864 0.105837 -0.0222471 0.609507 0.5 -0.0242723 0.0647548 -0.0237835 0.700294 0.5 -0.0232974 0.0648673 -0.0252072 0.682554 0.5 -0.0223162 0.0649555 -0.0263733 0.672297 0.5 -0.0213135 0.0650138 -0.0271409 0.669476 0.5 -0.0203184 0.0650483 -0.0276666 0.646834 0.5 -0.0192888 0.0651078 -0.0282476 0.634186 0.5 -0.0183 0.0651194 -0.0285252 0.808135 0.5 -0.0172829 0.0651656 -0.0289948 0.832612 0.5 -0.0162971 0.0651874 -0.0294171 0.832195 0.5 -0.0152962 0.0652155 -0.0297912 0.827433 0.5 -0.0142962 0.0652331 -0.0300484 0.831022 0.5 -0.0132839 0.0652538 -0.0302637 0.833626 0.5 -0.0122907 0.0652688 -0.0305463 0.819026 0.5 -0.0113019 0.0652847 -0.0308368 0.84229 0.5 -0.0102822 0.065327 -0.0312772 0.665813 0.5 -0.00929414 0.0653548 -0.0316941 0.863791 0.5 -0.00829502 0.0653838 -0.032076 0.859502 0.5 -0.00729554 0.0653986 -0.0323322 0.845742 0.5 -0.0062922 0.0654161 -0.0325779 0.644826 0.486076 -0.00528348 0.0654438 -0.0329345 0.621715 0.5 -0.00429984 0.0654625 -0.0332399 0.600793 0.482192 -0.00329381 0.0654903 -0.0335962 0.58136 0.478406 -0.00227655 0.0655175 -0.0339267 0.56624 0.5 -0.00128503 0.0655494 -0.0343406 0.584269 0.5 -0.000280959 0.0655552 -0.0344559 0.727621 0.5 --0.000706682 0.0655468 -0.0343894 0.725974 0.5 --0.00170896 0.0655406 -0.0343993 0.756049 0.5 --0.00271881 0.0655507 -0.0345764 0.782498 0.5 --0.0037118 0.0655569 -0.0347446 0.778462 0.5 --0.00472043 0.0655745 -0.0349603 0.778318 0.5 --0.00571384 0.0655793 -0.035147 0.741479 0.5 --0.0067213 0.065597 -0.0353344 0.707129 0.5 --0.00772146 0.0656018 -0.0354736 0.71343 0.5 --0.00872132 0.0656071 -0.0355909 0.717796 0.5 --0.00971954 0.0656257 -0.0358484 0.735679 0.5 --0.0107108 0.0656519 -0.03625 0.773818 0.5 --0.0117258 0.0656807 -0.0365783 0.773046 0.5 --0.0127075 0.065682 -0.0367743 0.575863 0.5 --0.0137235 0.0657235 -0.0372342 0.542305 0.5 --0.0147283 0.0657495 -0.0376113 0.676142 0.5 --0.015727 0.0657542 -0.0377517 0.660495 0.456168 --0.0167308 0.0657547 -0.0377116 0.867615 0.5 --0.0177346 0.065722 -0.0374816 0.820087 0.5 --0.0187399 0.0656914 -0.0372373 0.79865 0.5 --0.0197462 0.0656505 -0.036857 0.55499 0.466837 --0.0207428 0.0656176 -0.0364653 0.547187 0.5 --0.0217663 0.065545 -0.0358558 0.533552 0.5 --0.0227424 0.0655154 -0.0353045 0.49496 0.5 --0.0237378 0.0654511 -0.0345337 0.478629 0.5 --0.0246932 0.065394 -0.0335995 0.48145 0.44055 --0.0648576 0.101039 -0.0173044 0.420633 0.5 --0.0658232 0.100991 -0.0166158 0.441895 0.325008 --0.0650055 0.135525 -0.0079735 0.763612 0.5 --0.0606031 0.0352186 0.0442288 0.798941 0.5 --0.0770239 0.141306 -0.00545257 0.507614 0.5 --0.0341393 0.169665 -0.0151103 0.505752 0.45529 --0.0652337 0.169622 -0.0599681 0.614421 0.5 --0.0668197 0.100942 -0.0159632 0.441126 0.5 --0.033686 0.0637452 -0.0146972 0.0992731 0.5 --0.0346788 0.0636729 -0.0139354 0.331557 0.5 --0.0356782 0.0636593 -0.0138055 0.539051 0.5 --0.0366797 0.0636525 -0.0138021 0.724321 0.5 --0.0376789 0.0636715 -0.0137557 0.553239 0.5 --0.038679 0.0636652 -0.0136088 0.628058 0.5 --0.0396808 0.0636721 -0.0135815 0.727187 0.5 --0.0406818 0.0636695 -0.0135779 0.834441 0.5 --0.0416844 0.0636674 -0.0137203 0.912788 0.5 --0.0426807 0.0636637 -0.0138633 0.893428 0.5 --0.0436768 0.0636379 -0.0137577 0.880495 0.5 --0.0446675 0.0636475 -0.0137193 0.599408 0.481444 --0.0456599 0.0636306 -0.0135866 0.873741 0.5 --0.0466544 0.0636155 -0.0134601 0.810772 0.5 --0.0476918 0.0635243 -0.0129244 0.395166 0.47873 --0.0486814 0.0634873 -0.0123857 0.389142 0.480058 --0.0496483 0.0634464 -0.0118311 0.51128 0.378643 --0.050633 0.0633988 -0.0111763 0.50059 0.5 --0.0516305 0.0633366 -0.0105425 0.464787 0.5 --0.0526101 0.0632972 -0.0100113 0.467943 0.5 --0.0536272 0.0632225 -0.00927695 0.41669 0.5 --0.054542 0.0631354 -0.00767633 0.472929 0.5 --0.0555362 0.0629843 -0.00681601 0.460097 0.401394 --0.0566631 0.0629472 -0.00640536 0.687548 0.5 --0.0576496 0.0629466 -0.00612077 0.358105 0.5 --0.0586479 0.0629437 -0.00583333 0.33789 0.5 --0.0596424 0.0629313 -0.00554826 0.32916 0.5 --0.0606347 0.0629111 -0.00512698 0.298405 0.5 --0.0616341 0.0628646 -0.00472902 0.280611 0.447349 --0.0626402 0.0627915 -0.00434322 0.338368 0.5 --0.0636421 0.0627085 -0.00368166 0.241393 0.5 --0.0645865 0.0628123 -0.00359236 0.240903 0.5 --0.0656128 0.0626699 -0.00283823 0.237061 0.5 --0.0678676 0.100922 -0.0154166 0.457171 0.5 --0.0211888 0.175661 -0.0220113 0.414058 0.5 --0.0599027 0.106882 -0.0174092 0.478819 0.481972 --0.0609006 0.106856 -0.0171292 0.457003 0.5 --0.0370678 0.157759 -0.0113588 0.824175 0.5 --0.0420623 0.154724 -0.00848194 0.816528 0.5 --0.0276074 0.0356491 0.0527176 0.564301 0.5 --0.0560394 0.131064 -0.00575471 0.673711 0.5 --0.0739012 0.112096 -0.00769672 0.50345 0.5 --0.072904 0.112135 -0.00834183 0.530566 0.5 --0.0633546 0.0720236 0.0383997 0.654749 0.5 --0.0619452 0.123832 -0.00870252 0.788617 0.5 --0.0818672 0.120683 -0.00433302 0.530945 0.383952 --0.080837 0.120705 -0.00484118 0.530388 0.5 --0.0688619 0.10089 -0.0150284 0.47106 0.443907 --0.0838841 0.12062 -0.00343109 0.514708 0.5 --0.0828908 0.120639 -0.00384458 0.523842 0.5 --0.0848581 0.120613 -0.00298955 0.498045 0.5 --0.0620082 0.134045 -0.00734981 0.839608 0.5 --0.0758664 0.116415 -0.00636144 0.47196 0.430223 --0.0839874 0.129456 -0.00327263 0.504307 0.5 --0.0829648 0.129479 -0.00406234 0.47561 0.5 --0.0751339 0.0669087 0.0157231 0.590039 0.5 --0.0709646 0.0754682 0.0373385 0.599271 0.5 --0.0251276 0.16525 -0.016804 0.827116 0.5 --0.0391765 0.165177 -0.0125287 0.439216 0.5 --0.0681006 0.0726203 0.0368546 0.547203 0.47216 --0.0698809 0.100876 -0.0145572 0.475237 0.455706 --0.0171345 0.165288 -0.0183426 0.679658 0.5 --0.0619246 0.106845 -0.0166571 0.440766 0.478237 --0.0590379 0.13549 -0.00623086 0.663188 0.477628 --0.0759299 0.126701 -0.00794305 0.362393 0.428204 --0.0590102 0.131118 -0.0069845 0.668822 0.5 --0.0608967 0.108264 -0.0166058 0.452285 0.5 --0.0458972 0.108476 -0.0187253 0.685715 0.430718 --0.0448888 0.108464 -0.0189265 0.638196 0.5 --0.0639107 0.108163 -0.0148371 0.596017 0.5 --0.0798256 0.114817 -0.00349908 0.500629 0.5 --0.070852 0.100833 -0.0142398 0.480109 0.5 -0.0262803 0.0660857 -0.0226574 0.708926 0.5 -0.0252976 0.0661311 -0.0233121 0.735186 0.5 -0.0243299 0.0661738 -0.0239819 0.701407 0.5 -0.0232414 0.0663429 -0.0257954 0.68791 0.5 -0.0222832 0.066418 -0.0268569 0.693139 0.5 -0.0212995 0.0664627 -0.0275106 0.684736 0.5 -0.0203197 0.0664896 -0.0280597 0.66544 0.345855 -0.0193259 0.0665212 -0.0284749 0.658601 0.5 -0.0183118 0.0665429 -0.0287115 0.64461 0.480624 -0.0172994 0.0665713 -0.0290602 0.646033 0.483528 -0.0162822 0.0666125 -0.0295206 0.826211 0.5 -0.0152945 0.0666369 -0.0299356 0.644071 0.5 -0.0142765 0.0666697 -0.0302658 0.648553 0.5 -0.0133009 0.0666579 -0.0304883 0.829322 0.376183 -0.0122905 0.06666 -0.0305971 0.801989 0.386546 -0.0112856 0.0666869 -0.0306751 0.835869 0.5 -0.0102739 0.0667155 -0.0310192 0.837031 0.5 -0.00927611 0.0667424 -0.0314011 0.857521 0.5 -0.0082766 0.0667723 -0.0317926 0.866706 0.5 -0.00727173 0.0667978 -0.0321541 0.86349 0.5 -0.00628325 0.0668147 -0.0324472 0.642137 0.5 -0.00529011 0.0668325 -0.0327227 0.761676 0.5 -0.00429234 0.0668529 -0.0329804 0.712338 0.5 -0.00328879 0.0668715 -0.0332298 0.674736 0.5 -0.00227538 0.0668963 -0.0335609 0.6547 0.5 -0.00126756 0.0669175 -0.0339113 0.534257 0.5 -0.000268234 0.0669357 -0.034172 0.689346 0.5 --0.000720709 0.0669492 -0.0343521 0.743196 0.5 --0.00171216 0.066944 -0.0344014 0.763514 0.5 --0.00271026 0.0669475 -0.0345168 0.809423 0.5 --0.00373228 0.0669631 -0.0346735 0.81236 0.5 --0.00470812 0.0669686 -0.0349707 0.80973 0.384345 --0.00572231 0.0669806 -0.0352658 0.775025 0.400553 --0.00672552 0.0670096 -0.035497 0.764253 0.5 --0.00773143 0.0670178 -0.0355816 0.753568 0.408171 --0.00871509 0.0670095 -0.035665 0.756554 0.5 --0.00971778 0.0670387 -0.0360005 0.767691 0.5 --0.0107336 0.0670714 -0.0363227 0.785285 0.5 --0.0117304 0.0670858 -0.0365895 0.761907 0.5 --0.0127063 0.0671038 -0.0370425 0.568262 0.5 --0.0137252 0.0671481 -0.0375067 0.703543 0.5 --0.0147336 0.0671673 -0.0377424 0.704676 0.5 --0.0157375 0.0671877 -0.037968 0.71202 0.5 --0.0167402 0.0671791 -0.0380101 0.657786 0.5 --0.0177409 0.0671746 -0.0379913 0.631224 0.5 --0.0187525 0.0671388 -0.037784 0.6045 0.5 --0.0197539 0.0671131 -0.0375162 0.8099 0.5 --0.0207606 0.0670735 -0.0371287 0.537254 0.5 --0.0217661 0.0670215 -0.0366181 0.500203 0.5 --0.0227439 0.0669905 -0.0360641 0.476222 0.5 --0.0237403 0.0669252 -0.0352956 0.476329 0.5 --0.0247344 0.0668597 -0.034525 0.478088 0.5 --0.0718661 0.100809 -0.0137558 0.468169 0.454738 --0.0550682 0.150156 -0.00218973 0.531984 0.5 --0.0640118 0.135519 -0.00771971 0.596346 0.5 --0.0610628 0.138403 -0.00654794 0.669619 0.5 --0.0780287 0.14129 -0.00491664 0.522593 0.5 --0.0728523 0.100773 -0.0133449 0.460907 0.5 --0.073854 0.100736 -0.0128364 0.433346 0.5 --0.0221328 0.166772 -0.0183109 0.808248 0.5 --0.0748309 0.100681 -0.0121692 0.527238 0.5 --0.0346878 0.0651683 -0.0148251 0.297313 0.5 --0.0356893 0.0651361 -0.0144415 0.535228 0.5 --0.0366861 0.0651313 -0.0144389 0.743668 0.5 --0.0376838 0.0651596 -0.0143574 0.581416 0.5 --0.0386855 0.0651385 -0.0142461 0.637423 0.5 --0.0396908 0.0651397 -0.0142325 0.684404 0.5 --0.0406916 0.0651596 -0.014333 0.772813 0.5 --0.0416936 0.0652006 -0.0145392 0.879983 0.5 --0.0426868 0.0651551 -0.0146214 0.893486 0.5 --0.0436816 0.0651561 -0.0146099 0.601264 0.5 --0.0446824 0.0651214 -0.0145177 0.817989 0.5 --0.0456818 0.0650665 -0.0140257 0.575466 0.475221 --0.0466787 0.0650533 -0.0138917 0.59083 0.467672 --0.0477034 0.0649971 -0.0135628 0.543287 0.5 --0.0486599 0.0649886 -0.0131055 0.521597 0.328834 --0.0496676 0.0649029 -0.0122308 0.49563 0.5 --0.0506478 0.0648447 -0.0114426 0.497548 0.5 --0.0516582 0.0647811 -0.0108241 0.477563 0.5 --0.0526652 0.0647199 -0.0102 0.472077 0.5 --0.0536204 0.0647024 -0.00963527 0.443738 0.5 --0.0545225 0.0645764 -0.00897215 0.389915 0.407954 --0.0556734 0.0645255 -0.00818248 0.420073 0.5 --0.0566618 0.0645338 -0.00803085 0.494676 0.5 --0.0576615 0.0645392 -0.00788705 0.552897 0.5 --0.0586532 0.0645395 -0.00761311 0.524686 0.5 --0.0596389 0.0645563 -0.0073211 0.502428 0.5 --0.060662 0.0644224 -0.00688354 0.540043 0.5 --0.0616679 0.0643653 -0.00651734 0.530702 0.5 --0.0626395 0.0644043 -0.00619313 0.379588 0.453283 --0.0636896 0.064322 -0.00564195 0.331733 0.463275 --0.0646522 0.0642554 -0.00503339 0.279922 0.434349 --0.0656294 0.0642362 -0.0044412 0.25725 0.423736 --0.0665925 0.064199 -0.00375071 0.189083 0.5 --0.0758824 0.100651 -0.0113429 0.519684 0.5 --0.0232044 0.175652 -0.0207635 0.440904 0.5 --0.0251727 0.175641 -0.0195733 0.367122 0.467232 --0.0241218 0.165279 -0.0170232 0.81761 0.5 --0.026193 0.171192 -0.0190186 0.488036 0.5 --0.0182558 0.178619 -0.0243596 0.350433 0.5 --0.0410427 0.15478 -0.00878846 0.812606 0.5 --0.0757838 0.06757 0.0150388 0.547518 0.5 --0.058019 0.131103 -0.00658932 0.67832 0.5 --0.0440942 0.156163 -0.00853601 0.724744 0.5 --0.0132511 0.177151 -0.0280569 0.383788 0.5 --0.0609537 0.123826 -0.00859412 0.759873 0.5 --0.058966 0.123797 -0.00809452 0.719725 0.5 --0.0624959 0.0607929 0.0219134 0.394088 0.458207 --0.0599536 0.123822 -0.00839074 0.737424 0.5 --0.0430879 0.156177 -0.00890493 0.777542 0.5 --0.0609169 0.109692 -0.0160089 0.454484 0.5 --0.0609119 0.0678343 0.0355003 0.520623 0.392389 --0.054081 0.071101 0.0394438 0.695296 0.5 --0.0430993 0.157658 -0.00954173 0.495173 0.5 --0.0440746 0.154693 -0.007872 0.778656 0.5 --0.0265663 0.0356908 0.0529027 0.565998 0.5 --0.0599553 0.0610872 0.0239566 0.56879 0.5 --0.0540901 0.153118 -0.00271435 0.424431 0.5 --0.0261224 0.165258 -0.0166522 0.838336 0.5 --0.0341277 0.165212 -0.0151261 0.559924 0.5 --0.0734548 0.0752713 0.0352251 0.766735 0.5 --0.0571409 0.0642584 0.0323718 0.456317 0.5 --0.0808257 0.114785 -0.00282613 0.517162 0.5 --0.0639205 0.112438 -0.0133308 0.628864 0.5 --0.043156 0.162156 -0.0100947 0.380322 0.454707 --0.0560239 0.144237 -0.00161522 0.724843 0.5 --0.0759996 0.139851 -0.00609906 0.441077 0.427878 --0.0498834 0.108435 -0.0190271 0.795462 0.5 --0.0468821 0.108426 -0.0186436 0.741559 0.5 --0.051889 0.108419 -0.0189045 0.752643 0.5 --0.0288456 0.0986889 -0.0235542 0.807476 0.5 --0.0738463 0.114952 -0.00659368 0.347495 0.5 --0.0641553 0.162388 -0.0586672 0.54372 0.5 -0.0262791 0.0675449 -0.0231801 0.736181 0.30726 -0.0252903 0.0675893 -0.0238235 0.728756 0.5 -0.0242906 0.0676576 -0.0247124 0.704567 0.5 -0.0232194 0.06778 -0.026032 0.740248 0.5 -0.022277 0.0678419 -0.0269851 0.736421 0.5 -0.0212831 0.0679005 -0.027755 0.708271 0.5 -0.0203192 0.0679349 -0.0283363 0.698896 0.5 -0.0193228 0.0679612 -0.0287395 0.681284 0.5 -0.0183075 0.0679765 -0.028974 0.662637 0.466243 -0.0173027 0.0680054 -0.0293377 0.658948 0.5 -0.0162924 0.0680403 -0.0298148 0.659108 0.378419 -0.0152753 0.0680849 -0.0302874 0.661748 0.5 -0.014283 0.0681091 -0.0306905 0.651019 0.5 -0.0133289 0.0681229 -0.0310343 0.650266 0.470554 -0.0123125 0.0680946 -0.0309662 0.763998 0.5 -0.0112937 0.0680868 -0.0307505 0.818076 0.5 -0.0102706 0.0681153 -0.0309054 0.825052 0.5 -0.009256 0.0681484 -0.0312392 0.826137 0.5 -0.00826686 0.0681716 -0.0316571 0.831144 0.5 -0.00726262 0.0682112 -0.0321527 0.831813 0.5 -0.00627327 0.0682324 -0.0325665 0.599021 0.5 -0.00528322 0.0682375 -0.0327226 0.73028 0.5 -0.00426734 0.0682596 -0.032922 0.692883 0.5 -0.00326914 0.0682665 -0.0330635 0.648965 0.5 -0.00226876 0.0682822 -0.0333186 0.903214 0.5 -0.00127365 0.0682996 -0.0335875 0.647223 0.5 -0.000274533 0.0683164 -0.033854 0.700654 0.5 --0.0007305 0.0683317 -0.0340878 0.764349 0.5 --0.00172768 0.0683482 -0.0343533 0.790948 0.5 --0.00273038 0.0683735 -0.0347173 0.622765 0.5 --0.00373539 0.0684024 -0.0350771 0.63202 0.482516 --0.00473829 0.0684427 -0.0355801 0.615828 0.484523 --0.00573558 0.0684573 -0.035843 0.771329 0.5 --0.006733 0.0684593 -0.0359965 0.757441 0.5 --0.00773829 0.0684701 -0.0360951 0.74898 0.5 --0.00873489 0.068452 -0.036144 0.75244 0.407964 --0.009723 0.0684621 -0.0362531 0.76291 0.5 --0.0107444 0.0685007 -0.0365794 0.755564 0.40943 --0.0117377 0.0685356 -0.0370961 0.595231 0.5 --0.0127182 0.0685587 -0.0376659 0.581028 0.470136 --0.0137228 0.0685659 -0.0377913 0.582122 0.476837 --0.0147316 0.0685868 -0.0380387 0.566665 0.482724 --0.0157421 0.0686009 -0.0381423 0.70819 0.5 --0.0167436 0.068615 -0.0382083 0.660531 0.5 --0.017747 0.0685932 -0.0381265 0.645161 0.5 --0.0187468 0.0685918 -0.0381091 0.642047 0.5 --0.0197563 0.0685528 -0.0378978 0.847898 0.5 --0.0207506 0.0685447 -0.0377382 0.80549 0.5 --0.0217729 0.0684817 -0.0372671 0.517068 0.5 --0.0227695 0.0684387 -0.0367377 0.472294 0.5 --0.0237519 0.0683934 -0.0360687 0.4533 0.5 --0.0247363 0.0683356 -0.0352871 0.443935 0.5 --0.0257476 0.0682496 -0.0344079 0.463709 0.5 --0.045101 0.156152 -0.00816042 0.684135 0.5 --0.0630177 0.135513 -0.00745136 0.820431 0.5 --0.0660053 0.138467 -0.00776776 0.585226 0.5 --0.0158843 0.0377689 0.0515755 0.31974 0.404994 --0.0351226 0.169652 -0.0145814 0.468628 0.5 --0.0548971 0.10981 -0.018029 0.666707 0.5 --0.0312923 0.0362769 0.0513145 0.518297 0.5 --0.0231534 0.0352107 0.0523184 0.894874 0.5 --0.0347008 0.0666358 -0.0153327 0.426734 0.5 --0.035694 0.0666325 -0.0153314 0.524415 0.5 --0.0366932 0.0665933 -0.0149481 0.731342 0.5 --0.0376939 0.0665912 -0.0149459 0.935226 0.5 --0.0386977 0.0666031 -0.0147476 0.604345 0.5 --0.0397006 0.0666136 -0.0148744 0.690962 0.5 --0.0407009 0.066639 -0.0151117 0.765395 0.5 --0.0417025 0.0666657 -0.0153449 0.861592 0.5 --0.0426942 0.0666296 -0.0154091 0.896223 0.5 --0.0436843 0.0666417 -0.0153695 0.881955 0.5 --0.0446938 0.0665983 -0.0153032 0.838094 0.5 --0.0456914 0.0665681 -0.0150523 0.545818 0.5 --0.0466973 0.0665278 -0.0146823 0.555152 0.5 --0.0477042 0.0664777 -0.0141832 0.54858 0.5 --0.0486835 0.0664435 -0.0136416 0.506759 0.5 --0.049655 0.0664173 -0.0130805 0.510572 0.5 --0.0506338 0.0663851 -0.0124105 0.50116 0.5 --0.051638 0.0663266 -0.0117848 0.500487 0.5 --0.0526917 0.0662141 -0.0112413 0.614024 0.5 --0.0536948 0.0661603 -0.0107375 0.585841 0.5 --0.0546942 0.0661242 -0.0103565 0.56275 0.5 --0.0556759 0.0661408 -0.010195 0.519031 0.5 --0.0566724 0.0661356 -0.00992741 0.534763 0.5 --0.0576833 0.0660478 -0.00944709 0.589491 0.5 --0.0586891 0.065984 -0.0090861 0.64718 0.5 --0.0596856 0.0659756 -0.00895149 0.635082 0.5 --0.0606931 0.0659255 -0.00858452 0.604016 0.5 --0.0616838 0.0659304 -0.00830259 0.58484 0.5 --0.0626986 0.0658458 -0.00782349 0.570729 0.5 --0.0636795 0.0658475 -0.00727738 0.408745 0.5 --0.064618 0.0659249 -0.00682147 0.333908 0.431912 --0.0656433 0.0657616 -0.0058195 0.321612 0.5 --0.0666563 0.0656524 -0.0048951 0.314765 0.5 --0.0676491 0.065582 -0.00407795 0.296725 0.5 --0.0828496 0.117685 -0.00271563 0.564172 0.5 --0.0271645 0.17563 -0.018169 0.405334 0.5 -0.0121283 0.11013 -0.0187853 0.807197 0.5 --0.0311715 0.171175 -0.0164295 0.461808 0.5 --0.0662636 0.175335 -0.0598585 0.4074 0.458563 --0.037886 0.109925 -0.0191545 0.662569 0.5 --0.0727056 0.0704556 0.030746 0.569594 0.5 --0.0390505 0.154795 -0.00905663 0.741883 0.5 --0.0520076 0.145723 -0.00116844 0.891932 0.5 --0.0310503 0.155166 -0.00836756 0.554851 0.5 --0.0152525 0.177145 -0.0265204 0.436058 0.5 --0.0700283 0.075334 0.0376711 0.604011 0.44694 --0.0570384 0.142741 -0.0023851 0.573044 0.469636 --0.0311809 0.165241 -0.0158459 0.60989 0.457286 --0.0580682 0.132534 -0.0063879 0.678039 0.356252 --0.081387 0.11145 0.0446717 0.449143 0.5 --0.0819743 0.130956 -0.00393996 0.494453 0.425494 --0.0809733 0.130966 -0.00434035 0.353366 0.5 --0.0121993 0.177175 -0.0288808 0.465218 0.5 --0.0251408 0.168241 -0.0184358 0.801817 0.5 --0.058999 0.129653 -0.00698695 0.673717 0.5 --0.013224 0.172718 -0.0260103 0.615563 0.5 --0.0660982 0.156586 -0.0534726 0.413172 0.5 --0.0550795 0.153114 -0.00215772 0.44865 0.5 --0.0181224 0.165314 -0.018178 0.693613 0.5 --0.0351354 0.165203 -0.0147634 0.536259 0.5 --0.037224 0.169679 -0.0130647 0.360178 0.5 --0.0382126 0.169665 -0.0124129 0.373149 0.476424 --0.0580289 0.129633 -0.0066561 0.683147 0.5 --0.0669615 0.129698 -0.00899609 0.790302 0.5 --0.0628971 0.106793 -0.0162163 0.554684 0.5 --0.065902 0.112354 -0.012152 0.475734 0.487365 --0.0610173 0.135506 -0.00686914 0.851522 0.5 --0.0718707 0.116473 -0.00776413 0.419511 0.41844 --0.0488828 0.108449 -0.0190525 0.813444 0.5 --0.0478845 0.108472 -0.0188663 0.84153 0.5 --0.0539028 0.11125 -0.0176614 0.665459 0.432136 --0.0632548 0.171035 -0.0614506 0.272755 0.425386 --0.0729217 0.126742 -0.00866826 0.575583 0.5 -0.0272834 0.0689403 -0.022937 0.734405 0.5 -0.0262865 0.0689766 -0.0234385 0.74518 0.398206 -0.025235 0.0690602 -0.0242719 0.727449 0.5 -0.0242826 0.0691154 -0.0252241 0.74011 0.5 -0.0232722 0.0691857 -0.0260989 0.743289 0.5 -0.0222613 0.0692548 -0.0269722 0.753557 0.5 -0.0212764 0.0693138 -0.0277613 0.737641 0.5 -0.0202826 0.0693621 -0.0284085 0.721476 0.5 -0.0192967 0.0693907 -0.0288221 0.694944 0.5 -0.0182732 0.069417 -0.0291542 0.696455 0.455898 -0.0172728 0.0694422 -0.0295359 0.695149 0.5 -0.0162761 0.0694793 -0.03005 0.682565 0.5 -0.0152655 0.0695272 -0.0306629 0.672405 0.5 -0.0142799 0.0695538 -0.0310885 0.660535 0.5 -0.0132863 0.0695708 -0.0313558 0.63785 0.358293 -0.0122553 0.0695892 -0.0315106 0.779351 0.390556 -0.0112619 0.069597 -0.0315203 0.804046 0.375049 -0.0102711 0.0695708 -0.0315811 0.826643 0.368136 -0.00925419 0.0696192 -0.0318888 0.822963 0.371695 -0.00826699 0.0696219 -0.0321852 0.788738 0.5 -0.00726635 0.0696573 -0.0326992 0.589962 0.5 -0.00626131 0.0696979 -0.0331897 0.570045 0.5 -0.00525297 0.069736 -0.0335357 0.71266 0.431758 -0.00426552 0.0697141 -0.0335935 0.654887 0.461962 -0.00325461 0.0697315 -0.0336623 0.901789 0.5 -0.00225674 0.0697235 -0.0336823 0.935191 0.5 -0.0012658 0.0697321 -0.0339789 0.680843 0.456321 -0.000267595 0.0697483 -0.0342392 0.711974 0.434892 --0.000727236 0.069749 -0.034387 0.737446 0.41746 --0.00173892 0.0697883 -0.0347021 0.771821 0.5 --0.00276158 0.0698244 -0.0351738 0.633068 0.474018 --0.00374083 0.069852 -0.0355987 0.637516 0.5 --0.00473325 0.069866 -0.0358872 0.803598 0.386684 --0.00573885 0.0698843 -0.0361103 0.811341 0.5 --0.00672844 0.0698676 -0.0361675 0.788457 0.5 --0.0077447 0.0698983 -0.036343 0.796693 0.5 --0.00874142 0.0699019 -0.0364843 0.780348 0.5 --0.0097165 0.0698878 -0.0366754 0.614672 0.474573 --0.0107349 0.0699421 -0.0371274 0.602592 0.5 --0.0117423 0.070003 -0.0378791 0.60947 0.5 --0.0127393 0.0700008 -0.0380391 0.776016 0.401931 --0.0137303 0.0699989 -0.0380502 0.744888 0.5 --0.0147444 0.0700214 -0.0382575 0.741237 0.412092 --0.0157508 0.070024 -0.0384074 0.718443 0.422949 --0.0167502 0.070002 -0.0383082 0.685797 0.428348 --0.0177485 0.0700027 -0.0382786 0.68725 0.430484 --0.0187683 0.0699858 -0.0381989 0.6748 0.444567 --0.0197535 0.0700012 -0.0382558 0.645377 0.458848 --0.0207576 0.069984 -0.0381379 0.609456 0.464215 --0.0217647 0.0699552 -0.0378816 0.568036 0.5 --0.0227683 0.0699063 -0.0373697 0.523389 0.5 --0.0237931 0.0698259 -0.0366341 0.485165 0.5 --0.024745 0.0698061 -0.0360534 0.477948 0.5 --0.0257526 0.069725 -0.0351721 0.464833 0.5 --0.0818741 0.119187 -0.00382424 0.55518 0.5 --0.0620293 0.135502 -0.00717407 0.840907 0.5 --0.0669932 0.138471 -0.00790807 0.772862 0.5 --0.0799141 0.109193 0.0343277 0.548424 0.5 --0.0361907 0.169669 -0.0137878 0.37892 0.5 --0.0652159 0.16242 -0.0585196 0.407153 0.5 --0.0707453 0.113137 0.049314 0.445941 0.5 --0.0688839 0.117973 -0.00851105 0.658201 0.5 --0.0347085 0.0681808 -0.0168555 0.382401 0.5 --0.0357042 0.0681118 -0.016092 0.666323 0.5 --0.0367004 0.0680804 -0.0157124 0.698359 0.5 --0.0376995 0.0680509 -0.0154542 0.923785 0.5 --0.0387089 0.068094 -0.0155018 0.590626 0.5 --0.0397063 0.0680709 -0.01554 0.695159 0.5 --0.040716 0.0681271 -0.0158645 0.546166 0.5 --0.0417084 0.0681156 -0.0160245 0.875899 0.5 --0.0427018 0.0681213 -0.0161497 0.883989 0.5 --0.0436993 0.0680874 -0.0160622 0.856868 0.5 --0.0446949 0.0680713 -0.0159309 0.817708 0.5 --0.045682 0.0680577 -0.0156409 0.763012 0.5 --0.0466818 0.0680053 -0.0151447 0.52117 0.5 --0.0476898 0.0679558 -0.0146484 0.401473 0.5 --0.0486968 0.067904 -0.0141574 0.513656 0.5 --0.0496757 0.0678792 -0.0135965 0.749621 0.5 --0.0506838 0.0678366 -0.0132392 0.777255 0.5 --0.0516893 0.0678068 -0.0129959 0.791374 0.5 --0.0526737 0.0678526 -0.0129346 0.782737 0.5 --0.0536823 0.0678463 -0.0129474 0.771199 0.5 --0.054684 0.067848 -0.0128124 0.680291 0.5 --0.0556879 0.0677603 -0.0123408 0.609828 0.5 --0.056688 0.067746 -0.0120827 0.639534 0.5 --0.0576869 0.0677197 -0.0118328 0.467141 0.46674 --0.0586925 0.0677294 -0.0118268 0.455273 0.464681 --0.0597053 0.0675469 -0.0111319 0.478048 0.5 --0.0606769 0.0676671 -0.0113119 0.48242 0.5 --0.0616833 0.0676348 -0.0109359 0.455881 0.429499 --0.0626586 0.0676213 -0.0103966 0.422384 0.422462 --0.0636417 0.067527 -0.00924444 0.321124 0.5 --0.0646256 0.0674757 -0.0084666 0.294228 0.5 --0.0656775 0.067321 -0.00750664 0.285918 0.442545 --0.0666614 0.0672261 -0.0064803 0.279126 0.40966 --0.0675878 0.0672405 -0.0057657 0.283485 0.339917 -0.00210157 0.111597 -0.0202587 0.711375 0.5 --0.0398868 0.108509 -0.0195593 0.650949 0.5 --0.0639625 0.126764 -0.00871214 0.827084 0.5 --0.0371717 0.165191 -0.0136726 0.472837 0.5 --0.067238 0.175347 -0.0588701 0.567704 0.5 --0.057893 0.109749 -0.0172343 0.464019 0.5 --0.0689146 0.108019 -0.0123122 0.633912 0.5 --0.0650297 0.138462 -0.00769967 0.615994 0.5 --0.0662078 0.0723697 0.0374848 0.553113 0.5 --0.0691138 0.0763852 0.0387083 0.610919 0.453822 --0.0530088 0.145722 -0.00115007 0.924702 0.5 --0.0699144 0.1253 -0.00883057 0.78846 0.5 --0.0749897 0.139866 -0.00647617 0.47419 0.5 --0.0321623 0.172645 -0.015639 0.47739 0.5 --0.0331471 0.172636 -0.0149853 0.69346 0.5 --0.0639022 0.10675 -0.0154602 0.565124 0.5 --0.0648797 0.106687 -0.0146649 0.607149 0.5 --0.0659084 0.106679 -0.0142087 0.649804 0.398055 --0.0668809 0.106639 -0.013906 0.651437 0.5 --0.067905 0.106631 -0.013438 0.627225 0.5 --0.0689089 0.106601 -0.012938 0.484513 0.5 --0.0699106 0.10657 -0.0124287 0.486563 0.481579 --0.0709057 0.106531 -0.0119068 0.500163 0.475966 --0.0590382 0.132561 -0.00680716 0.664738 0.5 --0.0669085 0.108072 -0.0133167 0.492253 0.486689 --0.0341448 0.166698 -0.0152744 0.552563 0.382699 --0.0191218 0.165312 -0.0179178 0.775946 0.5 --0.027126 0.165248 -0.0165316 0.851279 0.5 --0.0777691 0.0689598 0.0151422 0.763007 0.5 --0.0659224 0.108105 -0.0137141 0.643794 0.5 --0.0540072 0.144242 -0.000990452 0.71194 0.5 --0.0769694 0.136896 -0.00565009 0.515159 0.5 --0.0718755 0.10648 -0.0114758 0.496336 0.5 --0.084006 0.130916 -0.00261237 0.543198 0.5 --0.0548973 0.112625 -0.01673 0.62668 0.5 --0.0678966 0.110866 -0.0116376 0.499541 0.487692 --0.0508811 0.108424 -0.0190099 0.779716 0.5 --0.0569156 0.112617 -0.0162683 0.453649 0.473927 --0.0659485 0.126772 -0.00885106 0.813886 0.5 --0.0699244 0.107994 -0.0118147 0.489816 0.484852 --0.0460989 0.157633 -0.00826241 0.420633 0.5 -0.0272754 0.0703879 -0.0233186 0.744671 0.5 -0.0262968 0.070421 -0.0238548 0.729964 0.5 -0.0252898 0.0704815 -0.0246106 0.72926 0.5 -0.0242883 0.0705502 -0.0254969 0.739494 0.5 -0.0232364 0.0706221 -0.0263108 0.755209 0.401084 -0.022282 0.0706591 -0.0268891 0.759075 0.5 -0.021248 0.0707121 -0.0275992 0.728577 0.5 -0.0202555 0.0707617 -0.0282449 0.712937 0.5 -0.019265 0.0708008 -0.0287723 0.721551 0.5 -0.0182783 0.0708328 -0.0291795 0.729788 0.439181 -0.0172769 0.0708593 -0.0295557 0.725121 0.442168 -0.0162881 0.0708862 -0.0299631 0.704442 0.5 -0.0152704 0.07093 -0.0305648 0.680651 0.5 -0.0142674 0.0709686 -0.0310685 0.669363 0.5 -0.0132369 0.0709965 -0.0314873 0.658239 0.5 -0.0122698 0.0710113 -0.031719 0.643644 0.5 -0.0112495 0.0710359 -0.0320326 0.64299 0.482225 -0.0102622 0.0710503 -0.0323195 0.648671 0.479648 -0.00924462 0.0710839 -0.0326657 0.632325 0.5 -0.00821291 0.0711477 -0.0331375 0.608771 0.397356 -0.00724928 0.0711363 -0.0334334 0.582533 0.479454 -0.00626754 0.071137 -0.0337471 0.733768 0.5 -0.00525204 0.071179 -0.0340737 0.680745 0.5 -0.00425284 0.0711834 -0.0342035 0.650424 0.5 -0.0032483 0.071196 -0.0343078 0.921953 0.5 -0.00225805 0.0711729 -0.0343766 0.92531 0.5 -0.00125071 0.0712122 -0.0347068 0.679096 0.5 -0.000251433 0.0712294 -0.0349609 0.714691 0.432521 --0.00074702 0.0712329 -0.0350931 0.766942 0.401446 --0.0017304 0.0712031 -0.0351875 0.781422 0.397881 --0.00273284 0.0712345 -0.035418 0.802903 0.5 --0.00374904 0.0712712 -0.0357267 0.830158 0.5 --0.00474585 0.0712867 -0.0359934 0.832752 0.5 --0.00573884 0.0712887 -0.036141 0.820816 0.5 --0.00674006 0.0712942 -0.0362643 0.819697 0.5 --0.0077489 0.0713239 -0.0366154 0.801352 0.5 --0.00874604 0.0713519 -0.0371122 0.625043 0.374028 --0.00973422 0.0712867 -0.0371391 0.636127 0.366757 --0.0107396 0.0713653 -0.0375278 0.643133 0.464323 --0.0117515 0.0714338 -0.0381291 0.650942 0.5 --0.0127384 0.0714338 -0.0383051 0.78147 0.5 --0.0137469 0.0714346 -0.0382786 0.794777 0.5 --0.0147515 0.07145 -0.0385454 0.768387 0.5 --0.0157548 0.0714554 -0.0386719 0.719291 0.5 --0.0167567 0.0714512 -0.0386579 0.708152 0.5 --0.01776 0.0714448 -0.0386564 0.700665 0.5 --0.0187655 0.0714126 -0.0384549 0.682289 0.5 --0.0197639 0.0714243 -0.0385337 0.688339 0.5 --0.0207784 0.0714012 -0.0384405 0.631356 0.5 --0.0217734 0.0713925 -0.0382795 0.585427 0.5 --0.0227774 0.0713561 -0.0378898 0.545847 0.5 --0.0237576 0.0713185 -0.0373359 0.497524 0.5 --0.0247655 0.0712486 -0.0365856 0.490935 0.5 --0.0257404 0.0712076 -0.0359148 0.482529 0.353859 --0.0267454 0.0711222 -0.0350441 0.492087 0.438952 --0.0618921 0.119466 -0.00942759 0.609132 0.5 --0.0609057 0.119508 -0.00974426 0.580609 0.5 --0.067984 0.13847 -0.00792156 0.768036 0.5 --0.0765927 0.0770726 0.0330453 0.723821 0.5 --0.0771832 0.107237 0.0346968 0.442449 0.5 --0.0578899 0.111162 -0.0167182 0.452292 0.5 --0.0691508 0.152358 -0.047074 0.240898 0.5 --0.0347147 0.0696617 -0.0176192 0.244355 0.5 --0.0357119 0.0695868 -0.0167299 0.482391 0.5 --0.0367079 0.0695483 -0.0163464 0.688255 0.5 --0.0377072 0.0695284 -0.0160926 0.907754 0.5 --0.0387164 0.0695709 -0.0161311 0.601546 0.5 --0.039718 0.0695625 -0.0162922 0.685926 0.5 --0.0407273 0.0696207 -0.0166002 0.539811 0.5 --0.0417165 0.069628 -0.0168617 0.827476 0.5 --0.0427066 0.0696149 -0.0170299 0.897043 0.5 --0.043713 0.0695592 -0.0168487 0.812961 0.5 --0.0447099 0.069553 -0.0165571 0.554957 0.458273 --0.0457003 0.0694971 -0.0160523 0.527556 0.5 --0.0466969 0.0694537 -0.0155404 0.727471 0.5 --0.0476756 0.0694312 -0.0151035 0.528242 0.5 --0.0486922 0.0693814 -0.0146213 0.552577 0.5 --0.049695 0.0693575 -0.0143663 0.822898 0.5 --0.0506923 0.0693793 -0.0143111 0.848832 0.5 --0.0517049 0.0693137 -0.014154 0.816573 0.5 --0.0527007 0.0693372 -0.0141095 0.812569 0.5 --0.053703 0.069339 -0.0141095 0.823867 0.5 --0.0547028 0.0693497 -0.0142348 0.816207 0.5 --0.0557017 0.0693735 -0.0143448 0.783683 0.5 --0.0566985 0.0694351 -0.0145553 0.786077 0.5 --0.0576914 0.0693962 -0.0144511 0.758176 0.5 --0.0586931 0.0693474 -0.0143558 0.752034 0.5 --0.0596861 0.0693591 -0.0143393 0.710201 0.5 --0.0606931 0.0692955 -0.0138548 0.472826 0.461726 --0.0616784 0.0692367 -0.0132074 0.362392 0.461846 --0.0626761 0.0691812 -0.0125769 0.437166 0.5 --0.0636659 0.0691264 -0.011804 0.398749 0.5 --0.0646189 0.0691309 -0.0109873 0.316854 0.5 --0.0656199 0.0690554 -0.0100807 0.293936 0.429765 --0.0666306 0.0689692 -0.00898899 0.292383 0.405129 --0.0676215 0.0688155 -0.00772966 0.248105 0.295877 --0.0686185 0.0687175 -0.00655491 0.199291 0.401358 --0.0695881 0.0687436 -0.00572614 0.198391 0.283441 --0.0560271 0.142758 -0.00201441 0.580892 0.472994 --0.0829923 0.130939 -0.00341376 0.497191 0.5 --0.0589237 0.11399 -0.014753 0.574577 0.5 --0.0599938 0.126727 -0.00781868 0.824942 0.5 --0.00998984 0.177238 -0.0295136 0.342899 0.5 --0.0221892 0.177131 -0.0213718 0.344322 0.460466 --0.073931 0.128192 -0.0084465 0.38666 0.5 --0.0790747 0.0713835 0.0198308 0.605509 0.5 --0.063246 0.0709836 0.037551 0.639731 0.5 --0.0540085 0.145723 -0.00127177 0.683615 0.5 --0.0743852 0.111313 0.0463698 0.520945 0.5 --0.0709113 0.107952 -0.0112859 0.497882 0.5 --0.0558334 0.0358523 0.0464479 0.364612 0.5 --0.0728995 0.10646 -0.0108772 0.620793 0.5 --0.0739011 0.106421 -0.010241 0.622935 0.5 --0.0748631 0.106362 -0.00967707 0.625636 0.5 --0.0152743 0.180101 -0.0270399 0.284476 0.471141 --0.0511241 0.157581 -0.00475152 0.371386 0.463703 --0.0191687 0.171226 -0.0215143 0.720457 0.5 --0.0400692 0.157713 -0.010751 0.740568 0.5 --0.0496681 0.0705507 0.0391462 0.715949 0.5 --0.0550216 0.142767 -0.00162505 0.583577 0.5 --0.0118777 0.107304 -0.0220947 0.606687 0.5 --0.0211973 0.0363196 0.0534993 0.427996 0.5 --0.0201288 0.165284 -0.0176913 0.791037 0.5 --0.0687451 0.0708436 0.0347552 0.480601 0.5 --0.0773807 0.0774654 0.0325309 0.706167 0.5 --0.0610049 0.129668 -0.00770337 0.671358 0.475718 --0.0510555 0.150177 -0.00351578 0.535219 0.5 --0.068908 0.112267 -0.0105177 0.605849 0.5 --0.0689469 0.131135 -0.00874709 0.68033 0.5 --0.073925 0.126728 -0.0084362 0.418757 0.5 --0.0639921 0.134062 -0.00777265 0.793828 0.5 --0.0430782 0.154691 -0.00814248 0.80231 0.5 --0.0381729 0.166677 -0.0130206 0.470986 0.448448 --0.0578994 0.112578 -0.0159728 0.448074 0.478926 --0.0331359 0.168192 -0.0157544 0.503875 0.5 --0.0869809 0.112371 0.0426661 0.452737 0.5 -0.0282298 0.0717826 -0.0228933 0.757447 0.5 -0.0272815 0.0718243 -0.0235929 0.756985 0.5 -0.0262673 0.0718723 -0.0242084 0.732481 0.5 -0.025252 0.0719314 -0.0249494 0.731446 0.5 -0.0242867 0.0719771 -0.0256393 0.755891 0.5 -0.0232927 0.0720269 -0.0262872 0.758311 0.5 -0.0222613 0.0720727 -0.026869 0.753577 0.5 -0.021294 0.0721108 -0.027322 0.732267 0.427259 -0.0202221 0.0721388 -0.0279345 0.728053 0.5 -0.0192558 0.0721931 -0.0285132 0.724974 0.5 -0.0182463 0.0722224 -0.0290012 0.720804 0.5 -0.0172553 0.072257 -0.0294021 0.718043 0.5 -0.0162463 0.0722881 -0.029887 0.694951 0.5 -0.0152406 0.0723235 -0.0303843 0.681332 0.5 -0.0142384 0.0723592 -0.0308856 0.676105 0.5 -0.0132668 0.0723896 -0.0312102 0.684168 0.467452 -0.0122687 0.0724051 -0.0314733 0.849063 0.5 -0.0112474 0.0724264 -0.0317987 0.688801 0.5 -0.0102738 0.0724526 -0.032232 0.679677 0.5 -0.00925016 0.0724976 -0.0328208 0.643248 0.5 -0.00824961 0.0725345 -0.0333305 0.622629 0.5 -0.00723812 0.0725784 -0.0338132 0.759549 0.5 -0.00625559 0.0725849 -0.0341185 0.723547 0.5 -0.00524711 0.0726037 -0.0343433 0.693317 0.5 -0.00425042 0.072607 -0.0344972 0.66945 0.461295 -0.00324634 0.0726279 -0.0347233 0.688047 0.450714 -0.00225053 0.0726262 -0.0348847 0.679838 0.5 -0.00124491 0.0726488 -0.0351082 0.713353 0.5 -0.000248169 0.0726618 -0.0353693 0.572746 0.5 --0.000746952 0.0726633 -0.0355323 0.769252 0.5 --0.00174908 0.0726707 -0.0356483 0.789657 0.5 --0.00274076 0.0726647 -0.0356738 0.805947 0.5 --0.00374732 0.0726737 -0.0357771 0.817376 0.5 --0.0047515 0.0726952 -0.0359954 0.81506 0.5 --0.00575365 0.0727093 -0.0362416 0.81747 0.5 --0.00675345 0.0727271 -0.0364938 0.804525 0.5 --0.00773777 0.0727528 -0.0370634 0.631107 0.5 --0.00874857 0.0727984 -0.0375275 0.817656 0.5 --0.00975454 0.0728065 -0.0376393 0.816041 0.5 --0.0107636 0.0728162 -0.0377336 0.83268 0.5 --0.0117675 0.0728437 -0.0380964 0.836186 0.5 --0.0127593 0.0728576 -0.0383837 0.821735 0.5 --0.0137652 0.0728728 -0.0386088 0.799831 0.5 --0.0147627 0.0728806 -0.0387608 0.758842 0.5 --0.0157652 0.0728861 -0.0388826 0.756793 0.5 --0.0167638 0.0728801 -0.0389011 0.74123 0.5 --0.0177632 0.0728777 -0.0388934 0.719018 0.5 --0.0187634 0.0728738 -0.0388715 0.688303 0.5 --0.0197661 0.0728664 -0.0388949 0.680083 0.43401 --0.0207747 0.0728486 -0.0387932 0.621529 0.5 --0.0217873 0.0728206 -0.0385569 0.593942 0.5 --0.022785 0.0727991 -0.0382731 0.540307 0.5 --0.0237817 0.0727523 -0.0377511 0.391046 0.472131 --0.0247629 0.0727034 -0.0370836 0.473377 0.5 --0.0257601 0.0726356 -0.0363191 0.490454 0.399612 --0.0267449 0.0725846 -0.0356647 0.49417 0.5 --0.0277078 0.0725313 -0.0348614 0.499357 0.5 -0.0101411 0.103018 -0.0207697 0.884081 0.5 --0.0758841 0.106327 -0.00893896 0.626349 0.5 --0.0689806 0.138464 -0.0078252 0.724424 0.5 --0.065182 0.160968 -0.0576695 0.418617 0.5 --0.0568852 0.111179 -0.0170834 0.472014 0.457127 -0.00913581 0.103011 -0.0206427 0.652184 0.45486 --0.0347226 0.0711465 -0.0183854 0.195277 0.5 --0.0357211 0.0710689 -0.0174927 0.493889 0.5 --0.0367194 0.0710436 -0.0172369 0.678035 0.5 --0.037714 0.0710075 -0.016855 0.891574 0.5 --0.0387216 0.0710357 -0.0169218 0.577171 0.5 --0.0397209 0.0710215 -0.0169451 0.684204 0.5 --0.0407313 0.0710722 -0.0172567 0.547404 0.475153 --0.0417202 0.0710768 -0.017536 0.59438 0.5 --0.0427147 0.0710705 -0.0176966 0.633518 0.5 --0.0437155 0.0710509 -0.0175901 0.821157 0.5 --0.0447185 0.0709976 -0.0171011 0.720588 0.5 --0.0457202 0.0709417 -0.0164642 0.687587 0.5 --0.0467107 0.0709021 -0.0159388 0.704895 0.5 --0.0477053 0.0708612 -0.0154107 0.770562 0.5 --0.0487026 0.0708482 -0.0151225 0.837183 0.5 --0.0497015 0.070866 -0.0150622 0.641568 0.5 --0.0507107 0.0708743 -0.0151986 0.66395 0.5 --0.0517184 0.0708739 -0.0153462 0.885944 0.5 --0.0527211 0.0709092 -0.0154358 0.869588 0.5 --0.0537213 0.0709084 -0.0154466 0.872444 0.5 --0.0547181 0.0708998 -0.0155975 0.859039 0.5 --0.0557143 0.0709328 -0.0156898 0.855878 0.5 --0.056712 0.0708617 -0.0156392 0.849627 0.5 --0.0577119 0.0708497 -0.0156457 0.836583 0.5 --0.0587133 0.0708136 -0.0155469 0.819737 0.5 --0.0597131 0.0708022 -0.0154129 0.801464 0.5 --0.0607072 0.0707896 -0.0151427 0.745043 0.5 --0.0617049 0.070743 -0.0146345 0.487878 0.5 --0.0626999 0.0706798 -0.0138683 0.481662 0.5 --0.0637125 0.0705931 -0.0131267 0.452922 0.5 --0.0646849 0.0705888 -0.0125799 0.419612 0.33259 --0.0656817 0.0705232 -0.0118151 0.368719 0.5 --0.066663 0.0704664 -0.0109078 0.288671 0.45581 --0.0676348 0.0704852 -0.0103532 0.278915 0.443371 --0.0685649 0.0705046 -0.00966184 0.290101 0.5 --0.0696234 0.0702067 -0.00731499 0.220915 0.5 --0.0706455 0.0701231 -0.00669595 0.165522 0.5 --0.0716108 0.0701594 -0.00639514 0.207895 0.5 -0.008145 0.103004 -0.0207662 0.703689 0.5 --0.0648762 0.109524 -0.0137682 0.617162 0.5 --0.0109917 0.177231 -0.0295208 0.413115 0.5 --0.0232113 0.177135 -0.0206374 0.356126 0.5 --0.0491601 0.160603 -0.00598464 0.342324 0.5 --0.0672794 0.176766 -0.0591515 0.366708 0.447008 --0.0849191 0.117035 0.0482987 0.710491 0.5 --0.0560293 0.0674866 0.0368481 0.667097 0.5 --0.0792446 0.0699823 0.0139682 0.53722 0.295925 --0.0649943 0.0623954 0.0235277 0.406552 0.462573 --0.0172735 0.180097 -0.0253788 0.382178 0.5 --0.0578898 0.108324 -0.0176181 0.611673 0.5 --0.0530022 0.0712206 0.0395879 0.689964 0.5 --0.0162612 0.17862 -0.0260128 0.334827 0.42792 --0.0261862 0.17712 -0.0185723 0.513395 0.5 -0.00713618 0.103008 -0.0210892 0.736518 0.5 --0.0768529 0.106269 -0.00826114 0.597353 0.5 --0.0642836 0.175364 -0.0612207 0.325181 0.5 --0.0571072 0.154583 -0.000558004 0.434814 0.5 --0.063767 0.0615586 0.0227478 0.559912 0.5 --0.0680607 0.153823 -0.0498908 0.331169 0.5 --0.0716564 0.0639047 0.0190638 0.544659 0.408753 --0.0882831 0.114383 0.0443189 0.518088 0.5 --0.0520198 0.147215 -0.00210798 0.850195 0.5 --0.0619905 0.129678 -0.00799355 0.660101 0.480289 -0.00614005 0.103026 -0.0213684 0.75754 0.5 --0.0749012 0.110639 -0.0076926 0.555889 0.5 --0.0212115 0.177139 -0.0220322 0.355534 0.5 --0.0420929 0.156178 -0.00917116 0.773657 0.5 --0.0749222 0.126715 -0.00818803 0.405979 0.457671 --0.0858669 0.119072 -0.00140229 0.479328 0.5 --0.0698753 0.117966 -0.00835455 0.664901 0.5 --0.0699642 0.138462 -0.00776795 0.671212 0.5 --0.0620405 0.138434 -0.00686017 0.666407 0.5 --0.0652259 0.166727 -0.0597961 0.39101 0.419169 -0.00514522 0.103044 -0.0216473 0.744775 0.5 -0.0282636 0.073195 -0.0229429 0.753324 0.5 -0.0272437 0.0732614 -0.0238068 0.756619 0.5 -0.0262796 0.0733084 -0.0244949 0.749467 0.5 -0.0252808 0.0733562 -0.0251315 0.760664 0.5 -0.0242564 0.0734016 -0.0257301 0.759302 0.5 -0.0232513 0.0734458 -0.026356 0.743423 0.5 -0.0222567 0.0734747 -0.02675 0.746008 0.5 -0.0212602 0.0735043 -0.0271352 0.743658 0.5 -0.0202388 0.0735294 -0.0276011 0.729416 0.5 -0.0192552 0.0735767 -0.0281447 0.737516 0.5 -0.0182552 0.0736117 -0.028651 0.717405 0.5 -0.0172623 0.073643 -0.0290458 0.712202 0.5 -0.0162606 0.0736784 -0.0295549 0.70009 0.5 -0.0152424 0.0737083 -0.0300265 0.693382 0.5 -0.0142589 0.0737441 -0.0304465 0.679361 0.5 -0.0132662 0.0737717 -0.03084 0.694512 0.5 -0.0122374 0.0737871 -0.031159 0.829914 0.5 -0.0112326 0.0738116 -0.0315294 0.719764 0.5 -0.0102584 0.0738736 -0.0323425 0.692398 0.5 -0.0092913 0.0739064 -0.0330363 0.654771 0.461698 -0.00825492 0.0739666 -0.0336091 0.789183 0.5 -0.00725148 0.0739904 -0.0339985 0.758752 0.408834 -0.00623854 0.074018 -0.0343382 0.710568 0.5 -0.00525002 0.0740223 -0.0345195 0.721395 0.5 -0.0042421 0.0740405 -0.0347398 0.714991 0.5 -0.00324014 0.0740573 -0.0349749 0.713986 0.5 -0.00224668 0.0740592 -0.0351433 0.695951 0.5 -0.00124079 0.0740793 -0.0353703 0.721449 0.5 -0.000235601 0.0740952 -0.0356038 0.753434 0.5 --0.000755237 0.0740961 -0.035785 0.799862 0.5 --0.00176079 0.0741065 -0.0358743 0.815209 0.5 --0.00275795 0.0740872 -0.0359501 0.804585 0.383514 --0.00375332 0.07411 -0.0361467 0.814155 0.377247 --0.00475508 0.0741241 -0.036385 0.807248 0.381297 --0.00575874 0.0741425 -0.036638 0.808454 0.388824 --0.0067422 0.0741543 -0.0369448 0.627364 0.487104 --0.00776303 0.0742012 -0.03739 0.644034 0.5 --0.00874908 0.0742103 -0.037697 0.837285 0.5 --0.00975763 0.0742329 -0.0379217 0.826055 0.5 --0.0107442 0.0742291 -0.0379783 0.833834 0.5 --0.0117585 0.0742488 -0.0381827 0.840086 0.5 --0.0127624 0.0742651 -0.0384156 0.832444 0.5 --0.0137664 0.0742812 -0.0386456 0.836432 0.5 --0.0147659 0.0742889 -0.0388052 0.829906 0.5 --0.0157667 0.0742966 -0.0389627 0.811594 0.5 --0.0167703 0.0742961 -0.0390024 0.790713 0.5 --0.0177692 0.074285 -0.0389303 0.751656 0.5 --0.0187732 0.0742782 -0.038946 0.743637 0.5 --0.019773 0.0742847 -0.0390372 0.705044 0.5 --0.020775 0.0742803 -0.0390259 0.670105 0.5 --0.0217865 0.0742531 -0.0388026 0.616749 0.5 --0.0227837 0.0742285 -0.0385317 0.537035 0.458584 --0.0238007 0.0741774 -0.0380398 0.39297 0.457854 --0.0247632 0.0741431 -0.0374571 0.459299 0.393271 --0.0257535 0.0740897 -0.0368116 0.376081 0.467915 --0.0267551 0.0740245 -0.0360482 0.478454 0.363196 --0.0277305 0.073972 -0.0353872 0.50277 0.430952 -0.00414764 0.103055 -0.021794 0.753326 0.5 --0.0778694 0.106226 -0.00738941 0.571513 0.5 -0.00315167 0.10307 -0.0219554 0.735581 0.5 --0.0749718 0.138395 -0.00644263 0.509993 0.435147 --0.0640884 0.160897 -0.0576117 0.441464 0.5 --0.0121987 0.171236 -0.0257581 0.579756 0.5 --0.0345906 0.0727451 -0.0199624 0.173263 0.5 --0.0357278 0.07254 -0.0181295 0.313348 0.5 --0.0367265 0.0725274 -0.0180009 0.546237 0.5 --0.0377229 0.0724783 -0.0174913 0.745977 0.5 --0.0387321 0.0724952 -0.0174162 0.610373 0.5 --0.0397313 0.072486 -0.017441 0.675525 0.5 --0.0407291 0.0724971 -0.0177035 0.530495 0.5 --0.0417274 0.0725105 -0.0179617 0.593531 0.5 --0.0427238 0.072521 -0.0180673 0.633829 0.5 --0.0437241 0.0724973 -0.0179849 0.587196 0.5 --0.044734 0.0724552 -0.0176324 0.736722 0.5 --0.0457178 0.0724199 -0.0170809 0.698688 0.5 --0.046711 0.0723683 -0.0164352 0.715495 0.303385 --0.0476953 0.0723623 -0.0159721 0.757455 0.5 --0.0487147 0.0723044 -0.01565 0.843935 0.5 --0.0497184 0.0723081 -0.0156401 0.887898 0.5 --0.0507233 0.0723393 -0.0157137 0.901494 0.5 --0.0517297 0.0723507 -0.015831 0.909983 0.5 --0.0527322 0.0723715 -0.0160877 0.917139 0.5 --0.0537245 0.0723552 -0.016258 0.897201 0.5 --0.0547243 0.0723714 -0.0165135 0.886337 0.5 --0.0557218 0.0723836 -0.0166307 0.894648 0.5 --0.0567184 0.0723883 -0.016755 0.868693 0.5 --0.0577142 0.0723919 -0.0167433 0.84928 0.5 --0.0587154 0.0723411 -0.016523 0.827453 0.5 --0.0597101 0.0723346 -0.0163812 0.814406 0.5 --0.0607248 0.0722644 -0.016058 0.792961 0.5 --0.0617151 0.0722545 -0.0157777 0.534263 0.5 --0.0627089 0.0722313 -0.0153832 0.509185 0.5 --0.0636875 0.0722354 -0.0149801 0.489442 0.445103 --0.0646745 0.0721957 -0.0143162 0.348465 0.471742 --0.0656915 0.0720893 -0.0135891 0.416875 0.5 --0.0666558 0.0720875 -0.0129051 0.327967 0.5 --0.0676524 0.0720092 -0.0120172 0.32422 0.39053 --0.0686466 0.0719376 -0.0111307 0.336269 0.5 --0.069632 0.0719472 -0.0104624 0.294306 0.395442 --0.0704897 0.0719829 -0.0097429 0.254365 0.399675 --0.0717133 0.0715245 -0.00752229 0.235243 0.5 --0.0726425 0.0716156 -0.00744076 0.287512 0.5 -0.00214252 0.103065 -0.0221511 0.719241 0.5 -0.00114663 0.103071 -0.022297 0.702203 0.5 --0.0241845 0.177125 -0.0200954 0.37573 0.5 --0.0421326 0.160667 -0.0107094 0.397548 0.5 --0.0682452 0.17678 -0.058273 0.379636 0.5 --0.0728909 0.120866 -0.00826881 0.633163 0.5 --0.0798939 0.123658 -0.00558813 0.497387 0.5 --0.0201192 0.163785 -0.0165508 0.712564 0.5 --0.0220519 0.163768 -0.0162501 0.801408 0.5 --0.0241121 0.163789 -0.0160029 0.840143 0.5 --0.0261166 0.163762 -0.0159025 0.601777 0.5 --0.0291219 0.163733 -0.0155493 0.596903 0.5 --0.0311143 0.16374 -0.0152454 0.590618 0.5 --0.0152331 0.178626 -0.0269991 0.426017 0.5 --0.0351109 0.16372 -0.0144674 0.566786 0.5 --0.0371067 0.163706 -0.0138205 0.500392 0.5 --0.0391731 0.163682 -0.0125377 0.440619 0.5 --0.0401607 0.163674 -0.0120006 0.438219 0.5 --0.0495476 0.147557 -0.00269468 0.723565 0.5 --0.0691832 0.153837 -0.0495596 0.206653 0.428645 --0.0718669 0.115007 -0.00776782 0.396718 0.5 --0.0211197 0.1653 -0.017528 0.798991 0.5 --0.0530779 0.153128 -0.00337034 0.428069 0.427124 --0.051019 0.147224 -0.00224048 0.750513 0.5 --0.0629825 0.129686 -0.00825839 0.656144 0.484649 --0.0181519 0.16827 -0.0202389 0.739405 0.5 --0.064903 0.110966 -0.0133006 0.624548 0.5 --0.0629125 0.111049 -0.0145904 0.628127 0.5 --0.0421939 0.165153 -0.0106292 0.366694 0.467558 --0.0311112 0.162246 -0.0146263 0.592613 0.477149 --0.0848716 0.119101 -0.00207765 0.491612 0.5 --0.0708742 0.117963 -0.00822963 0.665104 0.5 --0.0241779 0.1712 -0.0197595 0.529645 0.5 --0.0729302 0.128204 -0.00868672 0.424072 0.5 -0.000140075 0.103071 -0.0225088 0.694065 0.5 -0.0292497 0.0745452 -0.0220465 0.756136 0.5 -0.0282176 0.0746072 -0.022898 0.751932 0.5 -0.0272456 0.0746657 -0.023693 0.754804 0.5 -0.0262228 0.0747294 -0.0245497 0.774759 0.5 -0.0252624 0.0747714 -0.0251152 0.764074 0.5 -0.0242369 0.0748124 -0.0257049 0.748341 0.5 -0.0232608 0.0748451 -0.0261321 0.735881 0.432204 -0.0222568 0.0748707 -0.0265095 0.731848 0.5 -0.02126 0.0748992 -0.0268979 0.7257 0.5 -0.0202616 0.0749268 -0.0272874 0.743616 0.42004 -0.0192374 0.0749637 -0.0278698 0.737466 0.5 -0.0182369 0.0749953 -0.0283712 0.738481 0.429226 -0.0172333 0.0750251 -0.0287502 0.736997 0.5 -0.016266 0.0750624 -0.0291952 0.724532 0.5 -0.0152633 0.0751002 -0.0297036 0.713003 0.5 -0.0142627 0.0751304 -0.0300927 0.716336 0.436395 -0.0132595 0.0751478 -0.0304595 0.710587 0.5 -0.012258 0.0751733 -0.0308354 0.70499 0.5 -0.0112772 0.0752122 -0.0313695 0.68285 0.5 -0.0102426 0.0752832 -0.032327 0.658022 0.5 -0.00923639 0.0753581 -0.0333366 0.6518 0.5 -0.00824182 0.0753956 -0.0338579 0.799784 0.5 -0.00725505 0.0754138 -0.0341479 0.751985 0.5 -0.00623924 0.0754282 -0.0343629 0.754054 0.5 -0.00523462 0.075444 -0.0346019 0.746977 0.5 -0.00423384 0.0754618 -0.0348642 0.746942 0.5 -0.00323955 0.0754773 -0.0351385 0.744707 0.5 -0.0022305 0.0754937 -0.0353597 0.720377 0.5 -0.00123579 0.075497 -0.0355058 0.749765 0.5 -0.000231956 0.0755133 -0.0357459 0.798966 0.5 --0.000757317 0.075519 -0.0359212 0.645085 0.5 --0.00176067 0.0755229 -0.0360316 0.637258 0.48505 --0.00276518 0.0755391 -0.036261 0.63315 0.5 --0.0037539 0.0755488 -0.0365646 0.623171 0.5 --0.00476651 0.0755803 -0.0368945 0.806017 0.5 --0.00574286 0.0755721 -0.037104 0.818377 0.5 --0.0067485 0.0755804 -0.0372256 0.808313 0.5 --0.00776872 0.0756191 -0.0375185 0.821743 0.5 --0.00876475 0.075634 -0.0378123 0.837409 0.5 --0.00976932 0.0756525 -0.0380331 0.833651 0.5 --0.0107695 0.0756601 -0.0381615 0.831416 0.5 --0.0117695 0.075665 -0.0382916 0.832924 0.5 --0.0127703 0.0756733 -0.0384193 0.832319 0.5 --0.0137759 0.0756859 -0.0386228 0.831988 0.5 --0.0147779 0.0756914 -0.0387415 0.825303 0.5 --0.0157734 0.075693 -0.0388238 0.822141 0.5 --0.0167746 0.0756989 -0.0389455 0.813107 0.5 --0.0177757 0.0756957 -0.0389571 0.767003 0.5 --0.0187757 0.0756949 -0.0390019 0.771308 0.5 --0.0197782 0.075693 -0.0390468 0.725886 0.5 --0.0207923 0.0756874 -0.0390657 0.543531 0.480196 --0.0218074 0.0756618 -0.0388536 0.50832 0.464791 --0.022811 0.0756351 -0.0385829 0.457608 0.5 --0.0237813 0.0756129 -0.0382516 0.414704 0.5 --0.024753 0.0755695 -0.0376923 0.402457 0.357119 --0.0257631 0.0755055 -0.0369491 0.393393 0.5 --0.0267649 0.0754486 -0.0363172 0.394309 0.434415 --0.027746 0.0753954 -0.0356568 0.400079 0.5 --0.0287456 0.0753309 -0.0348961 0.409903 0.464802 --0.000856246 0.103081 -0.0226647 0.531744 0.5 --0.0401309 0.160681 -0.0117333 0.447215 0.5 --0.0759684 0.138187 -0.00615578 0.532162 0.297214 --0.00186255 0.103074 -0.0227526 0.544117 0.482233 --0.0132042 0.171245 -0.025107 0.634341 0.5 --0.0411819 0.166655 -0.0111213 0.383653 0.476266 --0.035736 0.0740102 -0.0187661 0.273711 0.5 --0.0367327 0.0739624 -0.0182558 0.540825 0.5 --0.0377299 0.0739307 -0.0178742 0.751471 0.5 --0.0387296 0.0739178 -0.0177449 0.973337 0.5 --0.0397368 0.0739371 -0.0178005 0.471363 0.5 --0.0407405 0.0739506 -0.0180651 0.563818 0.436428 --0.0417336 0.0739469 -0.0182277 0.595439 0.440211 --0.0427321 0.0739589 -0.0183224 0.57882 0.44242 --0.0437238 0.0739429 -0.018203 0.554706 0.469058 --0.0447383 0.0738987 -0.0178782 0.538698 0.468502 --0.0456618 0.0741031 -0.0174455 0.762669 0.297715 --0.0467161 0.0738381 -0.0169211 0.78433 0.5 --0.0477118 0.073839 -0.0167643 0.842004 0.5 --0.0487235 0.0738176 -0.0166605 0.846572 0.5 --0.0497297 0.0737805 -0.0165746 0.853764 0.5 --0.0507323 0.0738128 -0.0166527 0.855826 0.5 --0.0517362 0.0738243 -0.0167692 0.860657 0.5 --0.0527297 0.0738092 -0.0169322 0.872559 0.5 --0.0537348 0.0738508 -0.0172852 0.871638 0.5 --0.0547337 0.0738545 -0.0174125 0.873887 0.5 --0.0557308 0.0738305 -0.0174435 0.884919 0.5 --0.0567297 0.0738308 -0.0175741 0.879682 0.5 --0.0577288 0.0738232 -0.0175832 0.853136 0.5 --0.0587405 0.0737726 -0.0173801 0.557724 0.5 --0.0597307 0.0737738 -0.017073 0.562234 0.481782 --0.0607249 0.0737695 -0.0169262 0.828513 0.5 --0.0617342 0.0737271 -0.0167014 0.817459 0.5 --0.0627245 0.073729 -0.0165415 0.79257 0.5 --0.0637344 0.0736795 -0.0161836 0.753072 0.5 --0.0647113 0.0736859 -0.0158833 0.507391 0.5 --0.0657015 0.0736405 -0.0152375 0.373659 0.5 --0.0666897 0.0735998 -0.0145924 0.381806 0.453357 --0.0676789 0.0735575 -0.0139417 0.362544 0.5 --0.0686614 0.0735088 -0.0131618 0.340684 0.446991 --0.0696892 0.0733745 -0.0120577 0.369424 0.5 --0.0706351 0.0733936 -0.01149 0.341576 0.432723 --0.0715599 0.0733863 -0.0105456 0.275359 0.5 --0.0727292 0.0730957 -0.00887693 0.274494 0.220301 --0.0736682 0.0730938 -0.00832442 0.278839 0.419206 --0.0746688 0.0730125 -0.00771761 0.241098 0.5 --0.00386335 0.103093 -0.0232514 0.714982 0.5 --0.00486561 0.103096 -0.0233724 0.687345 0.5 --0.0841891 0.111446 0.02976 0.585285 0.5 --0.0121824 0.178673 -0.0292354 0.28445 0.5 --0.0849288 0.12649 -0.00334252 0.599396 0.5 --0.0768765 0.119334 -0.00688293 0.41371 0.462855 --0.0271127 0.16377 -0.0158754 0.600897 0.5 --0.0738815 0.117926 -0.00764413 0.401991 0.5 --0.074881 0.117904 -0.00727699 0.384027 0.423179 --0.0331264 0.163719 -0.0148995 0.606821 0.5 --0.0518697 0.144272 -0.000239851 0.594338 0.5 --0.0411447 0.163664 -0.0114686 0.42235 0.4242 --0.0700277 0.153659 -0.0489787 0.190491 0.271728 --0.0421212 0.159153 -0.0103433 0.451668 0.345547 --0.0752784 0.113511 0.0497641 0.417717 0.5 --0.0231819 0.174173 -0.0207431 0.447327 0.418329 --0.0615233 0.0354132 0.043881 0.499903 0.5 --0.0819371 0.129486 -0.00455242 0.483635 0.5 --0.0724815 0.0696506 0.0297377 0.533853 0.34265 --0.012881 0.107288 -0.0218461 0.830839 0.5 --0.0639126 0.11101 -0.0139478 0.623761 0.5 --0.0669104 0.112326 -0.011534 0.4645 0.5 --0.058015 0.128168 -0.00680186 0.642866 0.5 --0.0749578 0.132548 -0.00734349 0.461908 0.5 --0.0358825 0.108535 -0.0199213 0.69988 0.5 --0.0719312 0.128266 -0.00893149 0.473855 0.467924 --0.0476151 0.0378648 -0.0125385 0.190426 0.5 -0.0302394 0.0759037 -0.0212804 0.761209 0.5 -0.0292349 0.0759579 -0.0220376 0.753889 0.5 -0.0282252 0.0760107 -0.0227881 0.759086 0.5 -0.0272664 0.0760665 -0.0234764 0.759004 0.5 -0.0262523 0.076131 -0.0243472 0.761134 0.5 -0.025242 0.0761745 -0.0249679 0.756029 0.5 -0.0242446 0.0762105 -0.0254816 0.733996 0.5 -0.02323 0.0762417 -0.0259573 0.746945 0.5 -0.0222494 0.0762728 -0.0263867 0.750751 0.423844 -0.021268 0.0762952 -0.0266753 0.752592 0.5 -0.0202412 0.0763232 -0.0271232 0.739726 0.5 -0.0192535 0.076364 -0.0276613 0.731912 0.5 -0.0182388 0.0763952 -0.028136 0.737388 0.426936 -0.0172542 0.0764235 -0.0285503 0.739797 0.5 -0.0162437 0.0764684 -0.0291666 0.75565 0.5 -0.0152466 0.0765161 -0.0298116 0.750025 0.5 -0.0142529 0.0765304 -0.0302113 0.734907 0.312337 -0.0132683 0.0765435 -0.0305058 0.7298 0.381248 -0.0122616 0.0765812 -0.0308581 0.694968 0.5 -0.0112702 0.0766287 -0.031501 0.667026 0.5 -0.0102504 0.0766955 -0.0323547 0.673073 0.5 -0.00921578 0.0767579 -0.0331902 0.663117 0.5 -0.00823978 0.0768076 -0.0338586 0.642278 0.469074 -0.00723985 0.076824 -0.0341303 0.786751 0.5 -0.00623348 0.0768314 -0.0342539 0.775892 0.5 -0.00522675 0.0768423 -0.034472 0.772168 0.5 -0.00423189 0.0768627 -0.0347545 0.766383 0.5 -0.00322397 0.0768846 -0.0351052 0.760721 0.5 -0.00224005 0.0768974 -0.0352993 0.77724 0.5 -0.00123226 0.0769082 -0.0355253 0.786189 0.5 -0.00022872 0.0769217 -0.0357549 0.817734 0.5 --0.000764451 0.0769261 -0.0359174 0.649317 0.5 --0.0017512 0.0769296 -0.0360915 0.651187 0.483034 --0.00277907 0.0769693 -0.0364873 0.648454 0.5 --0.00376935 0.0769928 -0.0369082 0.652514 0.5 --0.00476329 0.0770151 -0.03731 0.64857 0.382037 --0.00577511 0.0770351 -0.037534 0.823865 0.5 --0.00676687 0.0770295 -0.0375725 0.817133 0.5 --0.0077735 0.0770379 -0.0376668 0.815927 0.5 --0.00877699 0.0770434 -0.0377883 0.82564 0.5 --0.00977607 0.0770524 -0.0379416 0.836453 0.5 --0.0107806 0.0770662 -0.0381287 0.831317 0.5 --0.0117712 0.0770642 -0.0382004 0.820916 0.5 --0.0127752 0.0770687 -0.0383028 0.82277 0.5 --0.0137772 0.0770735 -0.0384143 0.813154 0.5 --0.0147745 0.0770701 -0.0384436 0.796818 0.5 --0.015779 0.0770791 -0.0385675 0.826006 0.5 --0.0167783 0.0770825 -0.0387039 0.835858 0.5 --0.0177813 0.0770869 -0.0388032 0.807029 0.5 --0.018783 0.0770899 -0.0389016 0.800314 0.5 --0.0197826 0.0770974 -0.0390157 0.756587 0.5 --0.0207882 0.0770942 -0.0390427 0.726358 0.5 --0.0218167 0.0770677 -0.0388569 0.511821 0.4641 --0.0228108 0.0770465 -0.0385748 0.481764 0.5 --0.0237829 0.0770195 -0.0382449 0.435601 0.5 --0.024781 0.0769658 -0.0376048 0.411486 0.398415 --0.0257886 0.0768981 -0.036857 0.413047 0.390168 --0.0267825 0.0768545 -0.0363352 0.414962 0.5 --0.0277474 0.076815 -0.0357774 0.517621 0.5 --0.0287531 0.0767493 -0.0350292 0.521629 0.454315 --0.0560454 0.148678 -0.00182226 0.641911 0.5 --0.0410616 0.156231 -0.0095971 0.800418 0.5 --0.0670377 0.155239 -0.0519345 0.381898 0.5 --0.0461338 0.160629 -0.00828859 0.399971 0.465057 --0.0141909 0.171251 -0.024451 0.612229 0.5 --0.0408828 0.108487 -0.0195205 0.637906 0.5 --0.0357408 0.0754574 -0.0191515 0.29823 0.5 --0.0367401 0.0754253 -0.0187666 0.532554 0.5 --0.0377389 0.0753784 -0.0182557 0.72734 0.5 --0.0387388 0.0753845 -0.0180569 0.572666 0.5 --0.0397472 0.0753921 -0.0181662 0.49064 0.5 --0.0407441 0.0753914 -0.0183192 0.510332 0.5 --0.0417396 0.0754091 -0.018561 0.566239 0.5 --0.0427371 0.0753968 -0.0185868 0.568134 0.5 --0.0437352 0.0753785 -0.0184868 0.752531 0.5 --0.0447434 0.0753343 -0.0181391 0.765194 0.5 --0.0457331 0.0753099 -0.0177194 0.800652 0.5 --0.0467249 0.0753156 -0.0175399 0.848909 0.5 --0.0477302 0.0753108 -0.0175447 0.902088 0.5 --0.0487364 0.0753122 -0.0176891 0.898721 0.5 --0.0497426 0.0753235 -0.0177986 0.62239 0.5 --0.0507419 0.0753249 -0.0179378 0.625376 0.5 --0.0517453 0.0753545 -0.0181561 0.873354 0.5 --0.0527446 0.0753599 -0.0182797 0.883164 0.5 --0.0537353 0.0753205 -0.0183524 0.873913 0.5 --0.0547392 0.075379 -0.0185175 0.868994 0.5 --0.0557355 0.0753549 -0.0185519 0.886501 0.5 --0.0567366 0.0753362 -0.0185878 0.882838 0.5 --0.0577516 0.0752955 -0.0185275 0.849739 0.5 --0.058737 0.075302 -0.0183386 0.799072 0.5 --0.0597355 0.0752692 -0.0179534 0.790459 0.5 --0.0607447 0.0752603 -0.0176616 0.578457 0.476593 --0.0617308 0.0752409 -0.0175405 0.605226 0.469579 --0.0627466 0.0751872 -0.0173542 0.593369 0.5 --0.063731 0.0751942 -0.0171769 0.80406 0.5 --0.0647346 0.0751547 -0.0168067 0.545742 0.5 --0.0657273 0.0751276 -0.0164058 0.523995 0.5 --0.0667272 0.0750614 -0.0156487 0.408337 0.5 --0.0676894 0.0750921 -0.0153176 0.511723 0.426156 --0.0686919 0.0750175 -0.0147112 0.44244 0.5 --0.069701 0.0749104 -0.0135814 0.352756 0.410928 --0.0706469 0.0749114 -0.0128891 0.374795 0.455142 --0.0716272 0.0748459 -0.0119866 0.317415 0.5 --0.0726176 0.0747594 -0.0108396 0.280394 0.260791 --0.073622 0.0747015 -0.00970199 0.259516 0.3066 --0.0746919 0.0745094 -0.0088781 0.26625 0.5 --0.0756587 0.0744591 -0.00795246 0.281264 0.397634 --0.0744184 0.069256 0.0261761 0.704207 0.5 --0.0619642 0.126755 -0.00826981 0.837434 0.5 --0.0748487 0.0664559 0.00653551 0.503987 0.462563 --0.0718987 0.123811 -0.00847645 0.725516 0.5 --0.0768619 0.116386 -0.00596474 0.489877 0.5 -0.000114549 0.110154 -0.0201623 0.779709 0.5 --0.0441494 0.163638 -0.00943446 0.435574 0.5 --0.043169 0.163647 -0.0101027 0.347081 0.360484 --0.0642809 0.173904 -0.0612545 0.314141 0.5 --0.0321607 0.174124 -0.015122 0.446343 0.5 --0.0699388 0.131128 -0.00863643 0.646174 0.5 --0.0162925 0.180099 -0.0261659 0.350433 0.471401 --0.038066 0.156257 -0.0102365 0.812559 0.5 --0.088037 0.113814 0.026966 0.597013 0.5 --0.0719896 0.139908 -0.00735583 0.403133 0.470047 --0.0162165 0.175672 -0.0252165 0.412103 0.5 --0.0570417 0.148685 -0.00168484 0.669379 0.5 --0.0550443 0.148674 -0.00204704 0.614387 0.5 --0.0500801 0.151654 -0.00422617 0.734966 0.5 --0.0722147 0.149455 -0.0385736 0.151112 0.396428 --0.0460756 0.154674 -0.00723534 0.668859 0.5 --0.0242219 0.178615 -0.0196227 0.496704 0.5 -0.0302495 0.0773125 -0.0211724 0.743328 0.5 -0.0292317 0.0773621 -0.0219141 0.75696 0.5 -0.00109253 0.113026 -0.0199046 0.648734 0.5 -0.0272466 0.0774691 -0.0233342 0.761206 0.5 -0.0262324 0.0775308 -0.0242027 0.754986 0.5 -0.0252499 0.0775815 -0.0248688 0.764782 0.5 -0.024254 0.0776067 -0.0252579 0.76177 0.409006 -0.023226 0.077646 -0.0258357 0.760502 0.5 -0.0222548 0.0776918 -0.0264111 0.77558 0.5 -0.0212552 0.0777078 -0.0266851 0.752627 0.424431 -0.0202715 0.077733 -0.0270961 0.741147 0.426178 -0.0192461 0.0777761 -0.0276631 0.737932 0.5 -0.0182606 0.0778122 -0.0281935 0.737534 0.5 -0.0172524 0.0778474 -0.0286871 0.742589 0.5 -0.0162209 0.0779008 -0.0293961 0.754752 0.5 -0.0152687 0.0779357 -0.0299953 0.74427 0.5 -0.0142249 0.0779815 -0.0305449 0.714589 0.5 -0.0132714 0.0779991 -0.0309033 0.697983 0.5 -0.0122459 0.0780339 -0.0313519 0.684497 0.44967 -0.0112282 0.0780681 -0.031821 0.695672 0.5 -0.0102384 0.0781052 -0.0323493 0.702813 0.5 -0.00921575 0.0781468 -0.0329463 0.688375 0.5 -0.00822704 0.0782053 -0.033734 0.668375 0.5 -0.00724365 0.07823 -0.0340312 0.836107 0.5 -0.00623069 0.0782309 -0.0341321 0.809679 0.5 -0.00522677 0.078235 -0.0342467 0.820873 0.5 -0.00422707 0.0782528 -0.0345112 0.807331 0.5 -0.00322165 0.0782734 -0.0348651 0.805887 0.5 -0.00221136 0.0782941 -0.0352071 0.807517 0.5 -0.00123277 0.0783068 -0.0354173 0.841121 0.5 -0.000231967 0.0783204 -0.0356621 0.832767 0.5 --0.000774843 0.0783346 -0.0358957 0.841995 0.5 --0.00175707 0.0783385 -0.0360812 0.83561 0.5 --0.00277478 0.078376 -0.0365291 0.64336 0.5 --0.00377564 0.078412 -0.0370359 0.645319 0.485356 --0.00477608 0.0784365 -0.0374195 0.647293 0.5 --0.00578852 0.0784633 -0.0377499 0.833792 0.5 --0.0067867 0.0784694 -0.0378945 0.824736 0.5 --0.0077824 0.0784642 -0.0379203 0.797695 0.5 --0.00878487 0.0784493 -0.0377777 0.800255 0.5 --0.00978193 0.0784455 -0.0377778 0.815046 0.5 --0.0107827 0.0784509 -0.0379132 0.831604 0.5 --0.0117787 0.0784571 -0.0380559 0.839081 0.5 --0.0127769 0.0784711 -0.0383296 0.829493 0.5 --0.0137626 0.0784616 -0.0384771 0.825745 0.373864 --0.0147733 0.078434 -0.0385776 0.809565 0.37641 --0.0157845 0.0784788 -0.0385671 0.79961 0.5 --0.0167857 0.0784752 -0.0385587 0.823615 0.5 --0.0177849 0.0784811 -0.0386843 0.83961 0.5 --0.0187899 0.0784905 -0.0388371 0.846695 0.5 --0.0197891 0.0785016 -0.0390423 0.811462 0.369233 --0.0207953 0.0784993 -0.0390618 0.734197 0.5 --0.0217961 0.0784868 -0.0389208 0.519053 0.5 --0.0228049 0.0784515 -0.0385457 0.485505 0.5 --0.0237986 0.0784163 -0.0381462 0.453574 0.440013 --0.0247852 0.0783802 -0.0377363 0.415244 0.5 --0.0257826 0.0783385 -0.0372231 0.387239 0.457608 --0.0268076 0.0782799 -0.0366273 0.486475 0.5 --0.0277915 0.0782183 -0.0359607 0.50586 0.442479 --0.0287674 0.078167 -0.0351681 0.510996 0.5 --0.021633 0.035044 -0.0280533 0.21549 0.5 --0.0698715 0.116492 -0.00825865 0.586575 0.5 --0.0759551 0.131077 -0.00722143 0.418964 0.5 --0.0452001 0.165138 -0.00833108 0.402348 0.5 --0.0451365 0.160644 -0.00892562 0.409379 0.346947 --0.0222335 0.171216 -0.0204735 0.558292 0.458958 --0.0357484 0.0768864 -0.0192776 0 0 --0.0367451 0.0768715 -0.019149 0.380584 0.5 --0.0377467 0.0768482 -0.0188928 0.545417 0.5 --0.038743 0.0768256 -0.018638 0.751296 0.5 --0.0397503 0.0768521 -0.0186787 0.442467 0.5 --0.0407478 0.0768336 -0.0187281 0.511805 0.443574 --0.0417451 0.0768346 -0.0188724 0.524285 0.440207 --0.0427423 0.0768225 -0.0188988 0.534938 0.465179 --0.0437426 0.076832 -0.018848 0.775316 0.5 --0.0447417 0.0768063 -0.0185987 0.806734 0.5 --0.0457387 0.0767861 -0.0183415 0.818295 0.5 --0.046743 0.0767653 -0.0182293 0.865395 0.5 --0.0477443 0.0767654 -0.0182192 0.891715 0.5 --0.0487475 0.0767781 -0.0183253 0.898138 0.5 --0.0497482 0.0767922 -0.0184367 0.642712 0.5 --0.0507515 0.0768088 -0.0186854 0.655064 0.471172 --0.0517467 0.076797 -0.0188523 0.654478 0.470365 --0.0527517 0.076824 -0.0190661 0.652653 0.468571 --0.0537473 0.076818 -0.0192258 0.650159 0.5 --0.0547458 0.0768339 -0.0193157 0.647543 0.5 --0.0557441 0.0768187 -0.0193441 0.652011 0.5 --0.0567451 0.0768007 -0.0192338 0.631386 0.5 --0.0577454 0.0767844 -0.0191155 0.608546 0.5 --0.0587477 0.0767588 -0.0188591 0.459515 0.471379 --0.0597593 0.07671 -0.0185219 0.803599 0.5 --0.060744 0.0766988 -0.0182193 0.816517 0.5 --0.0617474 0.0766736 -0.0179709 0.625509 0.5 --0.0627411 0.0766785 -0.0179436 0.617976 0.5 --0.0637474 0.0766435 -0.0177206 0.822357 0.5 --0.0647452 0.0766241 -0.0174472 0.447821 0.5 --0.0657497 0.0765846 -0.017077 0.55812 0.5 --0.0667245 0.0765676 -0.016644 0.526101 0.5 --0.0677394 0.0764997 -0.0160371 0.523148 0.423819 --0.0687337 0.0764635 -0.0155195 0.500764 0.5 --0.0697118 0.0764164 -0.0147262 0.492282 0.5 --0.070667 0.0763937 -0.014042 0.494362 0.5 --0.0716413 0.0763478 -0.0132577 0.37395 0.5 --0.0725837 0.0763091 -0.0123208 0.424193 0.5 --0.0736653 0.0761112 -0.0107553 0.36832 0.5 --0.0746487 0.0760382 -0.00984365 0.352269 0.457774 --0.0756712 0.0759423 -0.00884701 0.370763 0.5 --0.0766573 0.0758638 -0.0078194 0.36986 0.5 --0.0260174 0.0351047 -0.0290083 0.27267 0.5 --0.0298552 0.0986755 -0.0232224 0.808896 0.5 --0.0471051 0.157621 -0.00763511 0.395957 0.443121 --0.0672464 0.173921 -0.0582812 0.598284 0.5 --0.0208664 0.103024 -0.023442 0.673185 0.5 --0.0683095 0.178205 -0.0587107 0.272735 0.375618 --0.0598887 0.10828 -0.0169771 0.453044 0.442393 --0.0218649 0.103029 -0.0235712 0.709359 0.5 --0.0451911 0.163637 -0.00858913 0.390611 0.5 --0.0659276 0.123847 -0.00897257 0.812254 0.5 --0.0768904 0.0733563 0.0291265 0.666277 0.459012 --0.0719379 0.131113 -0.00828186 0.538418 0.5 --0.0600264 0.132579 -0.00719549 0.649667 0.48407 --0.0460645 0.151688 -0.00554828 0.70892 0.5 --0.0161733 0.168253 -0.0210405 0.713686 0.5 --0.0849899 0.127963 -0.0030064 0.597753 0.5 --0.064981 0.131148 -0.00860586 0.832555 0.5 --0.0560526 0.151627 -0.00172465 0.499204 0.5 --0.020213 0.178617 -0.0227863 0.367191 0.403001 --0.0639059 0.118033 -0.00945272 0.604336 0.456994 --0.0709176 0.112214 -0.00951227 0.546996 0.5 --0.0228668 0.103033 -0.0236969 0.724169 0.5 -0.031224 0.0786608 -0.0202592 0.760816 0.403019 -0.0302906 0.0787129 -0.0208549 0.744891 0.5 --0.023866 0.103031 -0.0237009 0.695069 0.5 --0.0248668 0.103031 -0.023615 0.682789 0.5 -0.0272291 0.0788716 -0.0231926 0.755525 0.5 -0.026272 0.0789381 -0.0240124 0.759382 0.5 -0.0252504 0.0789879 -0.0247523 0.755178 0.5 -0.0242629 0.0790161 -0.0251629 0.76999 0.412796 -0.0232602 0.0790529 -0.0256674 0.753748 0.5 -0.0222263 0.0790988 -0.0263649 0.745407 0.5 -0.0212455 0.0791286 -0.0267859 0.747947 0.5 -0.0202561 0.0791555 -0.0271913 0.73826 0.416855 -0.0192101 0.0791931 -0.0277308 0.750448 0.5 -0.0182534 0.0792348 -0.0283217 0.759156 0.5 -0.0172732 0.0792708 -0.0288683 0.741141 0.5 -0.0162407 0.0793143 -0.0294472 0.725919 0.5 -0.0152238 0.0793568 -0.0300519 0.712026 0.5 -0.0142201 0.0793919 -0.0305544 0.709099 0.5 -0.0132183 0.0794258 -0.0310561 0.69611 0.5 -0.012239 0.0794574 -0.0314827 0.845539 0.5 -0.0112347 0.0794806 -0.0318525 0.700162 0.5 -0.0102045 0.0795083 -0.0323062 0.705154 0.5 -0.00923994 0.0795457 -0.0327494 0.699129 0.5 -0.00823122 0.079605 -0.0335706 0.666449 0.463769 -0.00722702 0.0796252 -0.0338785 0.847242 0.5 -0.00624923 0.0796338 -0.0339546 0.828253 0.5 -0.00523056 0.0796312 -0.0340387 0.829579 0.5 -0.00422975 0.0796448 -0.0342885 0.841714 0.5 -0.00321355 0.0796602 -0.0346071 0.843503 0.5 -0.00222038 0.0796794 -0.0348837 0.84023 0.5 -0.0012257 0.0797035 -0.0352779 0.840943 0.5 -0.00022388 0.0797271 -0.0356555 0.825259 0.5 --0.000786355 0.0797462 -0.0360298 0.647084 0.379833 --0.00175716 0.0797524 -0.0362245 0.834842 0.5 --0.00277394 0.0797805 -0.0365537 0.63339 0.5 --0.00378536 0.0798194 -0.0370348 0.824332 0.5 --0.00479094 0.0798443 -0.0373862 0.827342 0.5 --0.00579055 0.0798611 -0.0376463 0.832608 0.5 --0.00679227 0.0798757 -0.0378854 0.83679 0.5 --0.0077906 0.079881 -0.0380243 0.815956 0.5 --0.00878734 0.0798675 -0.0379507 0.808061 0.5 --0.00979029 0.0798633 -0.0379189 0.813972 0.5 --0.0107915 0.0798668 -0.0380291 0.82362 0.5 --0.0117867 0.0798822 -0.0383021 0.832022 0.373406 --0.0127931 0.0799092 -0.038653 0.640606 0.488361 --0.013784 0.0799171 -0.0389774 0.635528 0.488493 --0.0147866 0.0799249 -0.0391233 0.796277 0.5 --0.0157732 0.0799164 -0.0389165 0.790664 0.375257 --0.0167958 0.0799195 -0.0388883 0.797968 0.373898 --0.017794 0.0799068 -0.038901 0.805306 0.5 --0.0187977 0.0799028 -0.0389405 0.823541 0.5 --0.0197994 0.0799106 -0.0390737 0.820057 0.5 --0.0208017 0.0799082 -0.0390716 0.749876 0.5 --0.0218161 0.0798852 -0.0388524 0.551343 0.5 --0.0227823 0.0798633 -0.0386035 0.50934 0.5 --0.0238036 0.0798229 -0.0381557 0.470046 0.439483 --0.0248008 0.0797877 -0.0377608 0.435424 0.5 --0.0257724 0.0797722 -0.0374309 0.409004 0.413329 --0.0267825 0.079725 -0.0369434 0.464752 0.37354 --0.0277909 0.0796672 -0.0363416 0.472425 0.5 --0.0258635 0.103016 -0.0235702 0.671695 0.5 --0.00888364 0.107351 -0.0226177 0.678071 0.5 --0.0681832 0.155264 -0.0517309 0.345735 0.5 --0.0799767 0.138308 -0.00390962 0.701866 0.5 --0.0471517 0.160622 -0.00754132 0.404263 0.5 --0.0151984 0.171233 -0.0237028 0.62363 0.5 --0.0321401 0.16671 -0.0160336 0.566219 0.5 --0.035755 0.0783248 -0.0195335 0 0 --0.0367537 0.0783235 -0.0195335 0.372634 0.5 --0.0377523 0.0783086 -0.0194038 0.557786 0.5 --0.0387497 0.0782817 -0.0191475 0.742743 0.5 --0.0397537 0.0782783 -0.0191449 0.953478 0.5 --0.0407521 0.0782965 -0.0192261 0.464322 0.5 --0.0417522 0.0782987 -0.0193601 0.533879 0.5 --0.0427537 0.0783105 -0.0194623 0.564674 0.5 --0.0437474 0.0783133 -0.0194351 0.849381 0.5 --0.0447519 0.078285 -0.0193632 0.884684 0.5 --0.0457512 0.0782542 -0.0192962 0.862784 0.5 --0.0467494 0.0782878 -0.0191673 0.868441 0.5 --0.0477542 0.0782681 -0.0190718 0.882396 0.5 --0.0487526 0.0782553 -0.019094 0.88978 0.5 --0.0497576 0.0782604 -0.019072 0.894687 0.5 --0.0507565 0.078263 -0.0192091 0.908987 0.5 --0.0517494 0.0782459 -0.0193853 0.907432 0.5 --0.0527541 0.0782706 -0.0196088 0.909955 0.5 --0.0537516 0.078251 -0.0196488 0.908833 0.5 --0.054753 0.0782755 -0.0197234 0.897058 0.5 --0.0557536 0.0782586 -0.0197587 0.888465 0.5 --0.0567617 0.0782351 -0.019665 0.854207 0.5 --0.0577737 0.0782037 -0.0194332 0.593503 0.5 --0.058755 0.0782067 -0.0192512 0.829528 0.5 --0.0597552 0.0781833 -0.0189903 0.573093 0.5 --0.0607622 0.0781498 -0.0187637 0.82585 0.5 --0.0617213 0.0781294 -0.0185002 0.574006 0.476638 --0.062765 0.0780997 -0.0182585 0.607689 0.461502 --0.0637445 0.0781022 -0.0180675 0.603482 0.5 --0.0647445 0.0780775 -0.0178137 0.5872 0.5 --0.0657518 0.0780369 -0.0174491 0.552857 0.5 --0.0667327 0.078026 -0.0171522 0.555741 0.5 --0.067736 0.0779793 -0.0166569 0.511453 0.5 --0.0687289 0.0779401 -0.0161359 0.490345 0.5 --0.0697213 0.0778913 -0.0154943 0.469833 0.5 --0.070675 0.0778663 -0.0147995 0.491035 0.5 --0.0716986 0.077793 -0.0140498 0.496292 0.323612 --0.0726667 0.0777379 -0.0132872 0.482163 0.5 --0.0735819 0.0777026 -0.0122023 0.445372 0.5 --0.0746813 0.077485 -0.0103851 0.616044 0.5 --0.0756644 0.0774182 -0.00947264 0.460656 0.5 --0.0766564 0.0773474 -0.00857073 0.479055 0.443714 --0.077632 0.077285 -0.00766199 0.457324 0.5 --0.0268707 0.103016 -0.0234914 0.657294 0.5 --0.0540479 0.142765 -0.001179 0.570514 0.5 --0.0501125 0.157587 -0.00554245 0.368825 0.5 --0.0662865 0.178231 -0.0601734 0.282763 0.421719 --0.0278697 0.103003 -0.0233536 0.499242 0.5 --0.01113 0.175691 -0.0290055 0.339055 0.464256 --0.0288694 0.102979 -0.023086 0.478858 0.484273 --0.0298632 0.102958 -0.0228236 0.470041 0.483691 --0.0689238 0.125301 -0.00884615 0.795108 0.5 --0.0191965 0.175667 -0.0232885 0.323276 0.5 --0.0267763 0.0365192 0.0538225 0.409231 0.5 --0.0308593 0.102934 -0.0225503 0.612434 0.5 --0.0639861 0.131146 -0.00837414 0.646516 0.5 --0.0689145 0.123836 -0.00886831 0.781215 0.5 --0.0201478 0.16826 -0.0196016 0.797975 0.5 --0.0709975 0.139911 -0.00751202 0.449773 0.5 --0.0560788 0.154579 -0.00133297 0.514153 0.5 --0.0500787 0.154631 -0.00525635 0.388347 0.461445 --0.0699148 0.109401 -0.011164 0.486433 0.5 --0.0514343 0.0647808 0.0348885 0.585684 0.5 --0.0679104 0.122376 -0.00896749 0.788934 0.5 -0.032247 0.0800194 -0.0194064 0.773351 0.5 -0.0312695 0.0800594 -0.0199503 0.744626 0.5 --0.0318582 0.102916 -0.0222908 0.629923 0.5 --0.0328687 0.10291 -0.0220775 0.632808 0.5 --0.0338704 0.102893 -0.0218261 0.640169 0.5 --0.0348703 0.102876 -0.0215726 0.65406 0.432894 --0.0358592 0.10284 -0.0213952 0.65958 0.425535 -0.0252131 0.0803965 -0.024704 0.754482 0.5 -0.0242356 0.0804257 -0.0251216 0.762198 0.420382 -0.0232434 0.0804535 -0.0255191 0.747614 0.5 -0.0222353 0.0804964 -0.0261413 0.738279 0.5 -0.0212668 0.080528 -0.0265872 0.73979 0.5 -0.0202522 0.0805604 -0.0270674 0.732032 0.427904 -0.0192111 0.080597 -0.0276192 0.735291 0.5 -0.0182204 0.080645 -0.0282763 0.739656 0.423588 -0.0172353 0.0806842 -0.0288156 0.735694 0.5 -0.0162329 0.0807169 -0.0293214 0.721045 0.5 -0.0152428 0.0807565 -0.0298514 0.697293 0.5 -0.0142259 0.080787 -0.0303234 0.69 0.454976 -0.0132252 0.0808221 -0.0308314 0.688522 0.5 -0.0122352 0.0808526 -0.0312408 0.689156 0.456512 -0.0112279 0.0808839 -0.0317275 0.697137 0.5 -0.0102276 0.0809104 -0.0321098 0.701652 0.452652 -0.00922562 0.0809438 -0.0326125 0.699942 0.5 -0.00824429 0.0809884 -0.0331618 0.660562 0.5 -0.00719386 0.0810104 -0.0336874 0.849698 0.5 -0.00624351 0.0810351 -0.0338384 0.847769 0.5 -0.00522768 0.0810328 -0.0339223 0.847668 0.5 -0.00422853 0.0810435 -0.0341743 0.837067 0.5 -0.00322675 0.0810659 -0.0345434 0.840927 0.5 -0.00222867 0.0810902 -0.0349213 0.840356 0.5 -0.00120832 0.0811183 -0.0353756 0.661773 0.366492 -0.000192029 0.0811649 -0.0359709 0.677009 0.5 --0.000765864 0.0811873 -0.0364626 0.827586 0.5 --0.00177837 0.0811944 -0.0365591 0.814102 0.5 --0.00280854 0.081222 -0.0368531 0.823097 0.5 --0.0037871 0.0812341 -0.0371832 0.842283 0.5 --0.00477478 0.0812297 -0.0373809 0.823914 0.373737 --0.00577775 0.0812461 -0.0375203 0.844202 0.357726 --0.0067913 0.0812637 -0.0377236 0.831738 0.5 --0.00779714 0.0812765 -0.0379169 0.833342 0.5 --0.00879058 0.0812731 -0.0379859 0.814426 0.5 --0.00978632 0.0812687 -0.0379822 0.80631 0.5 --0.010802 0.0812949 -0.0382665 0.825781 0.5 --0.0117856 0.0813065 -0.0386038 0.639147 0.5 --0.012793 0.0813325 -0.0389447 0.639363 0.489286 --0.0137973 0.081348 -0.0391911 0.638167 0.489451 --0.0147977 0.0813547 -0.0393324 0.631341 0.5 --0.0158009 0.0813621 -0.039398 0.797188 0.5 --0.0168011 0.0813465 -0.0393174 0.784294 0.5 --0.017803 0.0813337 -0.0391893 0.779155 0.5 --0.0188061 0.081321 -0.0390856 0.798284 0.5 --0.0198097 0.0813191 -0.0390949 0.805904 0.5 --0.0208078 0.081314 -0.039065 0.765456 0.5 --0.021805 0.0812974 -0.0389167 0.55551 0.5 --0.0228155 0.081267 -0.0385568 0.505846 0.5 --0.0238165 0.0812337 -0.0381734 0.471172 0.5 --0.0248115 0.081196 -0.037776 0.437926 0.5 --0.0258047 0.0811626 -0.0373791 0.429515 0.5 --0.0268045 0.0811284 -0.0369845 0.383479 0.394864 --0.0277917 0.0810724 -0.036339 0.446166 0.5 --0.0368759 0.102855 -0.0211016 0.674583 0.5 --0.0378653 0.102824 -0.0209313 0.716491 0.5 --0.0769716 0.13837 -0.00578148 0.470556 0.5 --0.0418874 0.108498 -0.0194287 0.632937 0.5 --0.0609117 0.111106 -0.0154828 0.464079 0.5 --0.0231718 0.171204 -0.0201308 0.521272 0.5 --0.0388626 0.102809 -0.0208006 0.763972 0.5 --0.0357662 0.0798799 -0.0213145 0.116747 0.5 --0.0367613 0.0798086 -0.0204262 0.290803 0.5 --0.0377622 0.0797629 -0.0199128 0.528032 0.5 --0.0387577 0.0797624 -0.0199123 0.732009 0.5 --0.0397582 0.079747 -0.0196231 0.57225 0.5 --0.040758 0.0797297 -0.0196637 0.486847 0.465735 --0.0417568 0.0797359 -0.0197866 0.548777 0.45056 --0.0427656 0.0797392 -0.0197597 0.571655 0.471369 --0.0437584 0.079737 -0.0197567 0.636695 0.5 --0.0447592 0.0797381 -0.0197229 0.641081 0.5 --0.0457595 0.0797224 -0.0196258 0.625276 0.465946 --0.04676 0.0797358 -0.0197068 0.658252 0.5 --0.0477636 0.0797421 -0.0198355 0.92532 0.5 --0.0487592 0.0797294 -0.0200154 0.903351 0.5 --0.0497578 0.0797288 -0.020162 0.886278 0.5 --0.0507602 0.0797387 -0.0202693 0.886135 0.5 --0.0517619 0.079747 -0.0203928 0.892728 0.5 --0.0527613 0.0797578 -0.020501 0.894054 0.5 --0.0537592 0.0797599 -0.020636 0.887825 0.5 --0.0547588 0.079768 -0.0207581 0.872978 0.5 --0.0557733 0.0797194 -0.0205764 0.847354 0.5 --0.0567655 0.0797174 -0.020408 0.575212 0.5 --0.0577724 0.0796775 -0.0200459 0.55904 0.5 --0.0587729 0.0796565 -0.019784 0.784716 0.5 --0.0597676 0.0796261 -0.0193897 0.806122 0.5 --0.0607661 0.0796035 -0.0191344 0.600791 0.5 --0.0617634 0.0795901 -0.0189973 0.61449 0.5 --0.0627659 0.0795658 -0.0187488 0.606874 0.5 --0.0637756 0.0795327 -0.0183843 0.61506 0.435573 --0.0647673 0.0795072 -0.0181104 0.593549 0.449354 --0.0657591 0.0794867 -0.0178324 0.443626 0.469089 --0.0667655 0.079447 -0.0174677 0.447201 0.5 --0.0677628 0.079419 -0.0170759 0.546913 0.455468 --0.0687693 0.0793684 -0.0165822 0.504959 0.5 --0.0697484 0.0793376 -0.0160307 0.475894 0.5 --0.0707552 0.0792696 -0.0152786 0.468352 0.5 --0.0717184 0.0792466 -0.0147262 0.459603 0.5 --0.0726954 0.0791971 -0.0139413 0.472928 0.5 --0.0398616 0.102806 -0.020798 0.81977 0.5 --0.0408599 0.102809 -0.0209257 0.818304 0.5 --0.0418598 0.102811 -0.0210501 0.818875 0.5 --0.0766364 0.0788383 -0.00918256 0.486041 0.5 --0.0776493 0.0787462 -0.00818258 0.486635 0.5 --0.0428613 0.102811 -0.0212634 0.831603 0.5 --0.0729484 0.132565 -0.00781242 0.693071 0.5 --0.0609674 0.125285 -0.00834926 0.808871 0.5 --0.0162255 0.177147 -0.0257279 0.416224 0.5 --0.0438604 0.102816 -0.0213031 0.811076 0.5 --0.0448632 0.102817 -0.0213129 0.791416 0.5 --0.0401601 0.165169 -0.0119868 0.438092 0.384644 --0.0182635 0.180096 -0.0244849 0.383211 0.418721 --0.0142563 0.178628 -0.0276625 0.315483 0.5 --0.0458636 0.102811 -0.0213024 0.776898 0.5 --0.0772542 0.116219 0.0507045 0.545816 0.478168 --0.0693236 0.142228 -0.0102995 0.389877 0.5 --0.0468614 0.102797 -0.0212675 0.769838 0.5 --0.0530219 0.147196 -0.00187885 0.852357 0.5 --0.0669809 0.135535 -0.00827796 0.700346 0.5 --0.0241405 0.168248 -0.0186857 0.812967 0.5 --0.0699845 0.139935 -0.00772138 0.611664 0.5 --0.068996 0.139931 -0.00789046 0.682385 0.5 --0.0779562 0.0727271 0.0259414 0.623494 0.5 --0.0478639 0.102799 -0.0211716 0.76221 0.5 -0.0342214 0.0813611 -0.0182381 0.726238 0.5 -0.0332402 0.0814034 -0.0189012 0.752819 0.5 -0.0322568 0.0814321 -0.0193234 0.739923 0.426783 -0.0312166 0.0814571 -0.0197537 0.734986 0.5 -0.030238 0.0814876 -0.0201701 0.746493 0.5 -0.0292141 0.0815364 -0.0209002 0.757792 0.5 -0.0282219 0.0816125 -0.0219304 0.743565 0.5 --0.0488701 0.10281 -0.0210946 0.757371 0.5 --0.0498654 0.102788 -0.0210486 0.729706 0.5 -0.0252001 0.0818001 -0.0245703 0.75371 0.5 -0.0242315 0.0818412 -0.0251267 0.747098 0.5 -0.0232197 0.0818757 -0.0256198 0.751933 0.5 -0.0222547 0.0819067 -0.0260667 0.752532 0.5 -0.0212191 0.0819428 -0.0266321 0.751037 0.5 -0.0202669 0.0819781 -0.0271085 0.736087 0.5 -0.0192289 0.0820148 -0.027672 0.72205 0.5 -0.0182285 0.0820502 -0.0281776 0.715837 0.443611 -0.0172148 0.0820814 -0.0286624 0.712652 0.5 -0.0162074 0.0821136 -0.0291532 0.698996 0.5 -0.0152459 0.0821521 -0.0296185 0.68303 0.5 -0.0142229 0.0821798 -0.0300828 0.674559 0.46631 -0.0132266 0.0822053 -0.0304726 0.679493 0.467363 -0.0122229 0.0822322 -0.030844 0.663872 0.5 -0.011218 0.0822648 -0.0313395 0.66541 0.5 -0.0102245 0.0823018 -0.0318649 0.67326 0.5 -0.00923376 0.0823418 -0.0323881 0.674015 0.5 -0.00821609 0.0823703 -0.0328688 0.664529 0.5 -0.00720473 0.0823989 -0.0333538 0.654207 0.5 -0.00621551 0.0824281 -0.0337654 0.860115 0.5 -0.00521659 0.0824462 -0.0340286 0.853248 0.5 -0.00422867 0.0824562 -0.0341922 0.853168 0.5 -0.00320889 0.0824712 -0.0345101 0.847721 0.5 -0.00219672 0.0825025 -0.0349885 0.657213 0.5 -0.00119778 0.0825383 -0.0355009 0.68148 0.5 -0.000200297 0.0825801 -0.036136 0.688271 0.5 --0.000786782 0.0826169 -0.0366787 0.677472 0.5 --0.00181562 0.0826307 -0.0368615 0.839785 0.5 --0.00279611 0.0826469 -0.0371795 0.648121 0.5 --0.00378569 0.0826645 -0.03749 0.846502 0.5 --0.00479883 0.0826783 -0.0376925 0.831759 0.5 --0.00580621 0.0826794 -0.0377615 0.832572 0.5 --0.00679579 0.0826768 -0.0377354 0.837362 0.5 --0.0077992 0.0826766 -0.0378216 0.833153 0.5 --0.00880164 0.0826803 -0.0379328 0.835439 0.5 --0.00979541 0.0826872 -0.0380854 0.832213 0.5 --0.0108037 0.0827117 -0.0384206 0.839195 0.5 --0.0117953 0.0827249 -0.0387188 0.845677 0.5 --0.0127989 0.0827406 -0.0389623 0.839384 0.5 --0.0138083 0.082755 -0.0391488 0.833365 0.5 --0.0148026 0.0827563 -0.0392327 0.834108 0.5 --0.0158083 0.0827626 -0.0393641 0.819307 0.5 --0.0168075 0.0827608 -0.0394117 0.778489 0.5 --0.0178133 0.0827451 -0.0392154 0.757212 0.5 --0.0188128 0.082729 -0.0390748 0.769361 0.5 --0.0198038 0.0827175 -0.0390158 0.780028 0.5 --0.0208075 0.0827095 -0.0389174 0.750741 0.5 --0.0217998 0.0826894 -0.0387559 0.694406 0.5 --0.0228147 0.0826618 -0.0384205 0.498726 0.5 --0.0238248 0.0826344 -0.0380614 0.472771 0.46406 --0.0248084 0.0826031 -0.0377611 0.439748 0.5 --0.0258065 0.0825691 -0.0373737 0.412332 0.5 --0.0268119 0.082528 -0.0368734 0.378858 0.452398 --0.027798 0.0824702 -0.0362167 0.465939 0.5 --0.0508692 0.102779 -0.0209206 0.683783 0.5 --0.0518684 0.102767 -0.0207881 0.650648 0.5 --0.0779853 0.13835 -0.00526914 0.465081 0.385363 --0.0528842 0.102762 -0.0205636 0.476966 0.5 --0.0308696 0.105755 -0.0215547 0.542878 0.5 --0.0161876 0.171234 -0.0230543 0.648309 0.5 --0.0539058 0.102757 -0.0202213 0.460815 0.433432 --0.0357746 0.08137 -0.0222094 0.297344 0.5 --0.0367737 0.0813353 -0.0218258 0.30893 0.5 --0.0377668 0.0812615 -0.0209367 0.440143 0.5 --0.0387676 0.0812185 -0.0204237 0.699546 0.5 --0.0397664 0.0812015 -0.0202928 0.914259 0.5 --0.0407686 0.0811968 -0.0203079 0.447831 0.5 --0.0417672 0.0812092 -0.0204027 0.507345 0.5 --0.0427644 0.0812202 -0.0203472 0.7849 0.5 --0.0437659 0.0811743 -0.0201658 0.853614 0.5 --0.0447652 0.0811738 -0.019998 0.899209 0.5 --0.0457643 0.0811616 -0.0200148 0.922282 0.5 --0.0467675 0.0811826 -0.0202513 0.914964 0.5 --0.0477684 0.0811966 -0.0205178 0.653161 0.5 --0.0487658 0.0811872 -0.020682 0.911314 0.5 --0.049768 0.081217 -0.020889 0.907743 0.5 --0.0507686 0.0812185 -0.0210302 0.919072 0.5 --0.0517663 0.0812234 -0.0211522 0.921097 0.5 --0.0527672 0.0812315 -0.0212685 0.912256 0.5 --0.0537672 0.0812389 -0.0213883 0.915182 0.5 --0.0547672 0.0812274 -0.0214088 0.88677 0.5 --0.0557789 0.0811944 -0.0212002 0.845297 0.5 --0.0567677 0.0811908 -0.0210238 0.571119 0.5 --0.0577843 0.0811473 -0.0206854 0.548667 0.5 --0.0587805 0.0811174 -0.0202922 0.759986 0.5 --0.0597828 0.0810723 -0.0197911 0.746979 0.5 --0.0607911 0.0810335 -0.0194373 0.584006 0.457752 --0.0617624 0.0810326 -0.0192317 0.623165 0.5 --0.0627622 0.0810191 -0.0190992 0.651624 0.5 --0.0637681 0.0809918 -0.0188675 0.493808 0.5 --0.0647819 0.0809531 -0.0185144 0.463178 0.5 --0.0657845 0.0809163 -0.0181411 0.468762 0.422877 --0.0667677 0.0809002 -0.0178421 0.470645 0.5 --0.0677742 0.0808646 -0.0174732 0.4495 0.5 --0.0687631 0.080836 -0.0170666 0.566631 0.5 --0.0697426 0.08081 -0.0166425 0.534997 0.5 --0.0707265 0.080778 -0.0161096 0.501629 0.5 --0.0717214 0.0807275 -0.0154713 0.476157 0.5 --0.0727179 0.0806647 -0.0147187 0.467792 0.452451 --0.0549046 0.102722 -0.0198351 0.449518 0.460372 --0.0649995 0.134056 -0.00807462 0.778339 0.5 --0.0558807 0.102663 -0.0193944 0.556007 0.5 --0.0766463 0.0803349 -0.0100768 0.646511 0.5 --0.0776104 0.0802915 -0.00928059 0.463039 0.5 --0.0568656 0.102623 -0.018982 0.60308 0.5 --0.0719497 0.132579 -0.00806719 0.501429 0.480161 --0.0898521 0.112924 0.020019 0.71089 0.5 --0.0808786 0.122166 -0.00503067 0.511761 0.5 --0.0649403 0.125308 -0.00887181 0.805417 0.5 --0.0748707 0.116421 -0.00675171 0.44605 0.5 --0.071123 0.111741 0.0467572 0.476628 0.409319 --0.0192566 0.180095 -0.0235875 0.405922 0.468178 --0.0578796 0.102621 -0.0187883 0.683099 0.5 --0.0641994 0.16384 -0.059407 0.364371 0.5 --0.0631283 0.163827 -0.0595262 0.349675 0.465222 --0.0588719 0.102608 -0.018764 0.705511 0.5 --0.0598777 0.102599 -0.0186645 0.685333 0.5 --0.0540206 0.147182 -0.0016614 0.635834 0.5 --0.0809364 0.129495 -0.00494346 0.544124 0.409149 --0.0281544 0.168213 -0.0175818 0.506824 0.5 --0.0321537 0.168198 -0.0161712 0.490656 0.5 --0.0646921 0.0617226 0.0224003 0.403663 0.5 --0.0608814 0.102587 -0.0185388 0.665476 0.5 --0.0809085 0.111715 -0.000772193 0.671962 0.5 -0.0342215 0.0827959 -0.0185003 0.748578 0.5 -0.0332406 0.0828224 -0.0189128 0.741804 0.5 -0.0322227 0.0828447 -0.0192606 0.848419 0.5 -0.0312441 0.0828649 -0.019558 0.743592 0.5 -0.0302365 0.0828976 -0.0200496 0.751043 0.5 -0.0292296 0.08295 -0.0208022 0.758835 0.5 --0.0318681 0.105727 -0.021166 0.788728 0.5 --0.0618805 0.102572 -0.018381 0.483934 0.5 --0.0683418 0.0625091 0.0209713 0.446544 0.5 --0.0628904 0.102548 -0.0180123 0.449006 0.465678 --0.0638899 0.102518 -0.0176142 0.438938 0.5 --0.0648854 0.102482 -0.0170908 0.531181 0.5 -0.0222207 0.0833264 -0.0261432 0.75179 0.422756 -0.0212116 0.083355 -0.0266295 0.746805 0.5 -0.0202101 0.0833915 -0.0271395 0.730247 0.430396 -0.0192058 0.0834241 -0.02764 0.729527 0.5 -0.0182147 0.0834619 -0.0281698 0.721658 0.5 -0.0172301 0.0834905 -0.0285819 0.701607 0.5 -0.0162242 0.0835192 -0.0290783 0.684222 0.45621 -0.0152276 0.0835585 -0.0295949 0.678471 0.5 -0.014215 0.083589 -0.0300782 0.668677 0.5 -0.013232 0.0835986 -0.0303791 0.665959 0.476907 -0.0122268 0.0836141 -0.0306261 0.657206 0.478248 -0.0112368 0.0836448 -0.0310335 0.652342 0.480101 -0.0102178 0.0836927 -0.0316174 0.827431 0.5 -0.00920102 0.0837298 -0.0322138 0.66307 0.5 -0.00820345 0.083757 -0.0326005 0.675476 0.5 -0.00721225 0.0837864 -0.0330068 0.6624 0.480322 -0.00621596 0.083814 -0.033411 0.655199 0.5 -0.00519565 0.0838361 -0.0338494 0.64589 0.5 -0.00420316 0.0838546 -0.0341295 0.654239 0.5 -0.00320361 0.0838721 -0.0343861 0.65522 0.481876 -0.00218481 0.0838969 -0.0348518 0.669932 0.5 -0.00120164 0.0839391 -0.0353946 0.692227 0.5 -0.000177098 0.0839833 -0.0361114 0.68991 0.5 --0.000810177 0.084021 -0.0366442 0.686589 0.5 --0.00180047 0.0840422 -0.0369301 0.669062 0.476916 --0.00280088 0.0840687 -0.037315 0.659744 0.484581 --0.00380864 0.0840797 -0.0375505 0.8482 0.5 --0.00481396 0.0840888 -0.0377627 0.831012 0.5 --0.00581332 0.0840953 -0.0378871 0.819548 0.5 --0.00680823 0.0840973 -0.0379387 0.825875 0.5 --0.00780413 0.0840976 -0.0379648 0.827185 0.5 --0.00880306 0.0841017 -0.0380883 0.848671 0.5 --0.00978935 0.0841125 -0.0382567 0.847134 0.5 --0.0108141 0.0841239 -0.038537 0.846732 0.5 --0.0118005 0.0841384 -0.0387163 0.846164 0.5 --0.0128008 0.0841443 -0.0388521 0.830195 0.5 --0.0138101 0.0841459 -0.0389466 0.822243 0.5 --0.0148129 0.0841518 -0.0390669 0.833547 0.5 --0.0158141 0.084157 -0.0391976 0.83266 0.5 --0.0168173 0.0841632 -0.0392397 0.789961 0.5 --0.0178184 0.0841429 -0.0390768 0.744026 0.5 --0.0188214 0.0841215 -0.0388306 0.738814 0.5 --0.0198215 0.0841085 -0.0387066 0.763636 0.5 --0.0208293 0.0841002 -0.0385977 0.725199 0.5 --0.0218204 0.0840783 -0.0384285 0.522498 0.5 --0.0228183 0.0840509 -0.0381648 0.508594 0.473969 --0.0238126 0.0840242 -0.0378907 0.488746 0.5 --0.0248231 0.0839948 -0.0375331 0.448913 0.5 --0.0258212 0.0839605 -0.0371412 0.429208 0.430671 --0.0267986 0.0839175 -0.0367186 0.393801 0.460883 --0.027787 0.0838632 -0.0360686 0.481465 0.5 --0.0658775 0.102439 -0.0164403 0.537946 0.5 --0.0662758 0.159515 -0.0565111 0.329271 0.421752 --0.0789967 0.138332 -0.00474353 0.481757 0.5 --0.0668605 0.102389 -0.0157781 0.578312 0.5 --0.0530436 0.142764 -0.000526483 0.530423 0.5 --0.0171943 0.171219 -0.0224352 0.686914 0.5 --0.0678577 0.102354 -0.0152646 0.461568 0.5 --0.0357813 0.0828042 -0.0224653 0.491748 0.5 --0.036779 0.0827886 -0.0223365 0.573507 0.5 --0.037778 0.0827556 -0.0219531 0.518925 0.5 --0.0387777 0.0827042 -0.0213153 0.668642 0.5 --0.0397746 0.0826803 -0.0210594 0.896591 0.5 --0.0407693 0.0826515 -0.0208197 0.421862 0.454163 --0.0417723 0.0826397 -0.0208385 0.497744 0.439504 --0.0427705 0.0826571 -0.0207663 0.729743 0.5 --0.0437727 0.082626 -0.0206932 0.820642 0.5 --0.0447719 0.0826286 -0.0206706 0.888402 0.5 --0.0457735 0.0826328 -0.0207974 0.904099 0.5 --0.0467773 0.0826601 -0.021013 0.640966 0.472799 --0.0477776 0.0826677 -0.0211258 0.656127 0.472829 --0.0487756 0.0826651 -0.0212781 0.673574 0.457256 --0.0497774 0.0826759 -0.0213753 0.681188 0.5 --0.0507734 0.0826521 -0.0214824 0.675009 0.5 --0.0517751 0.0826668 -0.0215624 0.664733 0.5 --0.0527747 0.0826622 -0.0215537 0.648364 0.5 --0.0537766 0.0826585 -0.0215583 0.642487 0.5 --0.0547757 0.0826557 -0.0215494 0.627925 0.5 --0.0557755 0.0826404 -0.0214196 0.618552 0.5 --0.056773 0.082629 -0.0212703 0.593829 0.5 --0.0577821 0.0826022 -0.0210434 0.446726 0.464443 --0.0588054 0.0825509 -0.0205914 0.521117 0.5 --0.0597904 0.0825229 -0.0201763 0.708865 0.5 --0.060782 0.082481 -0.019648 0.538491 0.5 --0.0617679 0.0824635 -0.0193558 0.623609 0.5 --0.0627701 0.0824471 -0.0192325 0.69393 0.5 --0.0637771 0.0824308 -0.0191299 0.517092 0.5 --0.0647775 0.0824087 -0.0188685 0.488983 0.5 --0.0657828 0.082373 -0.0185031 0.489213 0.444324 --0.0667973 0.0823343 -0.0181512 0.474669 0.449621 --0.0677812 0.0823162 -0.0178553 0.44559 0.5 --0.0687998 0.0822684 -0.0173873 0.435217 0.5 --0.0697681 0.0822532 -0.0170635 0.435025 0.415269 --0.0707773 0.0822058 -0.016572 0.417175 0.5 --0.0717492 0.0821807 -0.0161321 0.523279 0.361558 --0.0727338 0.0821447 -0.0156124 0.502902 0.5 --0.0737119 0.082093 -0.0148287 0.3889 0.5 --0.0688663 0.102328 -0.014772 0.467275 0.5 --0.0698712 0.102299 -0.0142744 0.471976 0.5 --0.0708675 0.102264 -0.0137609 0.462169 0.5 --0.0776607 0.0817583 -0.0102119 0.492466 0.5 --0.0718785 0.102239 -0.0132694 0.47339 0.5 --0.0729035 0.125275 -0.00849683 0.635826 0.5 --0.0709427 0.132583 -0.00826816 0.449192 0.5 --0.0431813 0.165147 -0.00997877 0.334193 0.463683 --0.0328776 0.105721 -0.0208169 0.593459 0.465678 --0.0728613 0.102198 -0.0128504 0.448172 0.5 --0.0738654 0.102167 -0.0123482 0.428433 0.5 --0.0748613 0.102114 -0.0115761 0.534365 0.5 --0.0521615 0.159088 -0.00368491 0.371287 0.5 --0.0739879 0.139879 -0.00672352 0.477363 0.5 --0.0661842 0.163921 -0.0584969 0.602439 0.5 --0.0652684 0.163853 -0.0591668 0.41908 0.5 --0.0740113 0.141343 -0.00688783 0.387434 0.5 --0.0570856 0.153101 -0.000954757 0.441689 0.5 --0.055019 0.14719 -0.00165707 0.67902 0.5 --0.0799264 0.129511 -0.00520384 0.497269 0.5 --0.07894 0.12954 -0.00577029 0.474893 0.5 --0.0758742 0.102063 -0.0106997 0.543915 0.5 --0.0670075 0.139964 -0.00790796 0.735031 0.5 --0.0768389 0.102007 -0.0101454 0.537819 0.5 --0.0649294 0.123847 -0.00887936 0.812583 0.5 -0.0342448 0.0842103 -0.0184253 0.755529 0.5 -0.033222 0.0842418 -0.0188996 0.748263 0.425287 -0.0322402 0.0842577 -0.0191914 0.743885 0.428486 -0.0312031 0.0842875 -0.0196213 0.739428 0.5 -0.030217 0.0843227 -0.0201565 0.736815 0.5 -0.0292051 0.0843756 -0.0209031 0.753562 0.5 -0.0282305 0.08443 -0.0217055 0.757211 0.5 --0.0778681 0.101964 -0.00928868 0.50153 0.5 --0.0768656 0.120803 -0.0071099 0.430174 0.5 --0.0630045 0.132588 -0.00795426 0.641128 0.489798 --0.0679156 0.112303 -0.0110315 0.607282 0.5 --0.0682443 0.179461 -0.0589214 0.227821 0.446651 --0.0338762 0.105703 -0.0205658 0.630485 0.5 -0.0212182 0.0847586 -0.026404 0.74562 0.5 -0.0202147 0.0847891 -0.0269071 0.741476 0.5 -0.019219 0.0848258 -0.027423 0.729509 0.5 -0.0182107 0.084868 -0.0280483 0.717499 0.5 -0.0172008 0.0849074 -0.0286671 0.701001 0.5 -0.0162319 0.0849386 -0.0291053 0.70937 0.450324 -0.015216 0.0849668 -0.0295884 0.692568 0.5 -0.0141976 0.0850086 -0.0301852 0.67654 0.5 -0.0132032 0.0850348 -0.0305799 0.848681 0.5 -0.0122145 0.0850407 -0.0307351 0.848209 0.5 -0.0112227 0.0850587 -0.0310098 0.842195 0.5 -0.0102154 0.0850922 -0.0315035 0.841006 0.5 -0.00921045 0.0851252 -0.032 0.648132 0.5 -0.00819029 0.0851531 -0.0324575 0.6619 0.5 -0.00722024 0.0851796 -0.0327872 0.665043 0.5 -0.00621048 0.0851628 -0.0331463 0.669295 0.472737 -0.00521493 0.0852237 -0.0334342 0.837302 0.5 -0.00420379 0.0852404 -0.0337772 0.83231 0.5 -0.00318984 0.0852564 -0.0341139 0.659139 0.5 -0.00218731 0.0852799 -0.0344916 0.67096 0.5 -0.00121183 0.0853285 -0.0350521 0.681909 0.5 -0.00019241 0.0853625 -0.035651 0.666593 0.5 --0.000826517 0.0853922 -0.0362438 0.653009 0.5 --0.00181283 0.0854279 -0.036655 0.834975 0.5 --0.00281997 0.0854457 -0.0370162 0.820686 0.5 --0.00382316 0.0854518 -0.0372434 0.827149 0.5 --0.00480748 0.0854817 -0.0373491 0.808082 0.5 --0.00581815 0.0854694 -0.0375201 0.800532 0.5 --0.00681664 0.0854791 -0.0376549 0.807842 0.5 --0.00781609 0.0854881 -0.0377912 0.816952 0.5 --0.00881167 0.085499 -0.0379404 0.830426 0.5 --0.0318501 0.0986369 -0.02282 0.863116 0.5 --0.0108296 0.0855471 -0.0384547 0.680968 0.467193 --0.0118225 0.0855318 -0.0386599 0.823072 0.5 --0.0128237 0.0855345 -0.0387685 0.797607 0.5 --0.0138183 0.0855391 -0.0388001 0.778956 0.5 --0.0148175 0.0855384 -0.0388203 0.792394 0.5 --0.0158191 0.0855498 -0.0389623 0.794964 0.5 --0.0168246 0.0855538 -0.0389836 0.76428 0.5 --0.0178271 0.0855379 -0.0388455 0.543601 0.5 --0.0188238 0.0855077 -0.0385626 0.533044 0.487691 --0.0198342 0.0855003 -0.0383524 0.556545 0.487143 --0.0208217 0.0854768 -0.038298 0.557344 0.5 --0.0218218 0.0854612 -0.0381675 0.534244 0.5 --0.0228193 0.0854366 -0.0379031 0.510442 0.469437 --0.0238165 0.0854111 -0.0376407 0.487957 0.5 --0.0248237 0.0853842 -0.0372699 0.460991 0.444079 --0.0258164 0.0853463 -0.0368715 0.431825 0.5 --0.0268088 0.0852978 -0.0363495 0.404548 0.5 --0.0277715 0.0852268 -0.0356683 0.498689 0.5 --0.0348769 0.105695 -0.0204457 0.676321 0.5 --0.0689277 0.115103 -0.00892086 0.574396 0.5 --0.0358714 0.105673 -0.0204021 0.705195 0.5 --0.0291786 0.175627 -0.0167894 0.45132 0.5 --0.0662775 0.0734947 0.0382764 0.582418 0.5 --0.0738816 0.120852 -0.00799698 0.612648 0.5 --0.0829232 0.125068 -0.00442148 0.453776 0.5 --0.035813 0.0842739 -0.0225525 0.298587 0.362273 --0.0368013 0.0842007 -0.0223672 0.439234 0.5 --0.0378081 0.0841771 -0.022143 0.472401 0.5 --0.0387822 0.0841715 -0.021953 0.766308 0.5 --0.0397846 0.0841362 -0.0215764 0.526135 0.5 --0.040789 0.084093 -0.0212481 0.455201 0.5 --0.0417827 0.0840916 -0.0212196 0.505237 0.5 --0.0427782 0.0841106 -0.0212812 0.546614 0.5 --0.0437814 0.0840812 -0.0212189 0.578612 0.5 --0.0447805 0.0840976 -0.0212945 0.622325 0.5 --0.0457806 0.0841121 -0.0213757 0.645386 0.5 --0.046782 0.0841151 -0.0215173 0.680863 0.5 --0.0477812 0.0840973 -0.0215817 0.682908 0.5 --0.0487816 0.084091 -0.021606 0.663505 0.5 --0.049781 0.0841032 -0.0216622 0.664363 0.5 --0.0507818 0.0840955 -0.0217037 0.654673 0.5 --0.0517799 0.0840941 -0.0216716 0.650158 0.5 --0.0527821 0.0840792 -0.0215781 0.644628 0.5 --0.0537819 0.0840761 -0.0215562 0.646869 0.5 --0.0547819 0.0840722 -0.0215429 0.647175 0.5 --0.0557857 0.0840569 -0.0214422 0.646677 0.5 --0.0567766 0.0840541 -0.0213935 0.624462 0.5 --0.0577868 0.0840301 -0.0211707 0.434542 0.5 --0.0587854 0.0839965 -0.0207846 0.384586 0.5 --0.05979 0.0839541 -0.0202843 0.476235 0.455775 --0.0607901 0.0839118 -0.0197808 0.487579 0.5 --0.0617895 0.083881 -0.0194032 0.571258 0.5 --0.0627925 0.0838575 -0.0191674 0.663798 0.5 --0.0637886 0.083851 -0.0191517 0.686541 0.5 --0.0647895 0.0838376 -0.0190209 0.504197 0.5 --0.0658025 0.083802 -0.0186684 0.476863 0.5 --0.0667828 0.0837809 -0.018353 0.466269 0.5 --0.0677801 0.0837503 -0.017964 0.451042 0.389061 --0.0687774 0.0837142 -0.0175822 0.430549 0.5 --0.0697992 0.0836733 -0.0171139 0.442 0.5 --0.0707648 0.0836514 -0.0167885 0.421875 0.5 --0.0717687 0.0836085 -0.0162896 0.414961 0.5 --0.072774 0.083565 -0.0157894 0.40816 0.5 --0.0737507 0.0835282 -0.0152437 0.515032 0.5 --0.0687764 0.180487 -0.0583042 0.265959 0.5 --0.0341101 0.171131 -0.0149349 0.483877 0.5 --0.0368731 0.105664 -0.0202847 0.731437 0.5 --0.0308542 0.0986541 -0.0229751 0.830152 0.5 -0.0181741 0.0988563 -0.0226017 0.72606 0.5 --0.0739058 0.125263 -0.00826143 0.602469 0.5 --0.069936 0.13258 -0.0084535 0.62958 0.5 --0.064292 0.168172 -0.0605879 0.322793 0.5 --0.0224335 0.0371726 0.0541058 0.3255 0.415078 --0.0490886 0.157599 -0.00632625 0.503342 0.5 --0.0541243 0.156074 -0.00260128 0.352958 0.459475 --0.017174 0.169749 -0.0215263 0.709075 0.5 --0.0839336 0.126519 -0.00402298 0.416328 0.5 --0.0758891 0.119352 -0.00728174 0.393508 0.464469 --0.0748916 0.123775 -0.00787892 0.627736 0.5 -0.0171551 0.0988258 -0.0226279 0.701952 0.5 --0.075004 0.141334 -0.0064915 0.369818 0.5 --0.0510743 0.153146 -0.0044532 0.446066 0.5 --0.0560183 0.147198 -0.00168648 0.721232 0.5 --0.0570144 0.147201 -0.00173114 0.747834 0.5 --0.0779361 0.129573 -0.00656407 0.534673 0.5 --0.0181754 0.17123 -0.0220272 0.706424 0.5 --0.0620868 0.139878 -0.00655442 0.572767 0.5 --0.054074 0.15164 -0.0027148 0.467688 0.5 -0.0161578 0.0988387 -0.0226848 0.734407 0.5 --0.0121243 0.183164 -0.0282842 0.342502 0.437842 -0.0151574 0.0988592 -0.0229537 0.741653 0.5 -0.0322123 0.0856789 -0.0192748 0.742355 0.425062 -0.0311896 0.0857114 -0.0197343 0.744782 0.5 -0.0302059 0.0857499 -0.020278 0.751735 0.414671 -0.0292205 0.0857953 -0.020938 0.760091 0.5 -0.0282404 0.0858422 -0.0216043 0.755847 0.5 -0.0271917 0.0858851 -0.0222975 0.761192 0.5 -0.0141613 0.0988714 -0.0229756 0.698454 0.5 --0.0321194 0.165225 -0.0156285 0.608349 0.457514 -0.0101112 0.110138 -0.0193681 0.839471 0.5 --0.0470844 0.151656 -0.00519447 0.697383 0.5 --0.0555627 0.0351736 0.0453577 0.740459 0.5 --0.0251898 0.177123 -0.0193397 0.382745 0.5 --0.0378749 0.105661 -0.0201869 0.78127 0.5 --0.0172081 0.172701 -0.0233314 0.654907 0.5 --0.0231858 0.17269 -0.0205136 0.494813 0.5 --0.0368813 0.108512 -0.0198737 0.69646 0.5 --0.0789041 0.126621 -0.00628203 0.416161 0.429739 --0.0388696 0.105647 -0.0202518 0.79228 0.5 -0.0142234 0.0864184 -0.0301272 0.663835 0.5 -0.0132013 0.0864568 -0.0307211 0.840608 0.5 -0.0122037 0.0864617 -0.0308592 0.840381 0.5 -0.0111963 0.0864748 -0.0310924 0.848016 0.5 -0.0101956 0.0865002 -0.0314726 0.843364 0.5 -0.00919662 0.0865327 -0.0319845 0.659435 0.5 -0.00820634 0.0865719 -0.0325157 0.669925 0.5 -0.00722196 0.0865913 -0.0328221 0.65709 0.5 -0.00619535 0.0866083 -0.0331365 0.849277 0.5 -0.005197 0.0866258 -0.0333998 0.853639 0.5 -0.00420219 0.0866314 -0.0335404 0.849711 0.5 -0.00319943 0.0866473 -0.0337836 0.849061 0.5 -0.00219887 0.0866713 -0.0341557 0.84258 0.5 -0.00120237 0.0867098 -0.0346725 0.645379 0.5 -0.000189104 0.0867348 -0.0351526 0.655121 0.476749 --0.000793766 0.0867716 -0.0355698 0.652351 0.5 --0.00181216 0.086792 -0.0360393 0.650236 0.5 --0.00282121 0.086807 -0.0363939 0.631755 0.5 --0.00382707 0.0868147 -0.0366286 0.807575 0.5 --0.00481466 0.0868424 -0.0368113 0.795727 0.5 --0.00581925 0.0868408 -0.0369183 0.786855 0.5 --0.00681874 0.0868473 -0.0370495 0.799496 0.5 --0.00781365 0.086863 -0.0372016 0.811749 0.5 --0.00880796 0.0868775 -0.037347 0.804347 0.5 --0.0808705 0.11922 -0.0043482 0.551409 0.368232 --0.0718704 0.117956 -0.00810673 0.598141 0.5 --0.0789765 0.135392 -0.00472816 0.474323 0.5 --0.0128309 0.0869146 -0.0385108 0.755036 0.5 --0.0138249 0.0869198 -0.0385386 0.73435 0.5 --0.0148225 0.086924 -0.0385597 0.736843 0.5 --0.0158265 0.0869335 -0.0385904 0.746605 0.5 --0.0168218 0.086916 -0.0386596 0.728434 0.5 --0.0178225 0.0869056 -0.0385387 0.687864 0.5 --0.0188243 0.0868874 -0.0382929 0.647065 0.5 --0.019834 0.0868717 -0.0379507 0.662955 0.5 --0.020823 0.0868434 -0.0377816 0.674743 0.5 --0.0218256 0.086832 -0.0376579 0.668241 0.5 --0.0228243 0.0868132 -0.0375213 0.498982 0.5 --0.0238123 0.0867774 -0.0372362 0.481621 0.5 --0.0248377 0.0867614 -0.0367865 0.452814 0.5 --0.0258016 0.0867079 -0.0364604 0.418644 0.5 --0.0267903 0.0866521 -0.0358137 0.489198 0.5 --0.0590207 0.126708 -0.0075139 0.603622 0.481512 --0.0518947 0.109852 -0.0185479 0.698439 0.5 --0.0630484 0.138442 -0.00719818 0.565805 0.480195 --0.0830784 0.138234 -0.000100609 0.645752 0.5 --0.0540417 0.148675 -0.00217424 0.575884 0.5 --0.0530498 0.14867 -0.00246875 0.829778 0.5 --0.0520649 0.148658 -0.00262972 0.832128 0.5 --0.0728836 0.119408 -0.00813229 0.607821 0.5 --0.035698 0.0857595 -0.0237144 0.366486 0.5 --0.0367909 0.0856326 -0.0224706 0.640853 0.5 --0.0377888 0.0855996 -0.0220857 0.933623 0.5 --0.0387912 0.0855771 -0.0218281 0.976914 0.5 --0.0397898 0.0855606 -0.0217035 0.409074 0.5 --0.040787 0.0855384 -0.021437 0.450344 0.5 --0.0417892 0.0855226 -0.0213401 0.510575 0.5 --0.0427865 0.0855262 -0.0214717 0.601143 0.5 --0.0437872 0.0855322 -0.0215732 0.639251 0.444817 --0.0447879 0.085543 -0.0216723 0.678874 0.450862 --0.0457869 0.0855328 -0.0217062 0.663121 0.465104 --0.0467885 0.0855251 -0.0217462 0.682357 0.442377 --0.0477868 0.0855382 -0.0218048 0.672664 0.437403 --0.0487902 0.0855221 -0.0217064 0.670681 0.5 --0.0497873 0.0855205 -0.0216876 0.67238 0.5 --0.0507888 0.0855066 -0.0215873 0.667835 0.5 --0.051788 0.0855011 -0.0215694 0.675016 0.5 --0.0527874 0.0854974 -0.0215293 0.676004 0.5 --0.053788 0.0854855 -0.0214384 0.688125 0.5 --0.0547883 0.08548 -0.0214211 0.678957 0.5 --0.0557862 0.0854763 -0.0214113 0.65326 0.5 --0.0567974 0.0854612 -0.0213212 0.617115 0.5 --0.0578034 0.0854472 -0.0211977 0.418082 0.5 --0.0588066 0.0854157 -0.0208208 0.373713 0.5 --0.0598028 0.0853759 -0.0202992 0.450951 0.400227 --0.060795 0.0853339 -0.0197774 0.454241 0.5 --0.0618022 0.0852922 -0.0192956 0.551596 0.5 --0.0627849 0.0852772 -0.0191174 0.647366 0.5 --0.0637998 0.0852745 -0.0191701 0.661163 0.5 --0.0648062 0.0852609 -0.0190538 0.499135 0.5 --0.0657951 0.0852369 -0.0187501 0.477561 0.463852 --0.0667905 0.0852019 -0.0183581 0.469011 0.5 --0.067793 0.0851703 -0.0179862 0.446715 0.450209 --0.0688144 0.0851338 -0.0175228 0.440219 0.5 --0.0698084 0.085099 -0.0171261 0.441502 0.5 --0.0707959 0.0850638 -0.0167146 0.420952 0.5 --0.0717874 0.0850294 -0.0163139 0.427866 0.5 --0.0727986 0.0849862 -0.0158247 0.427446 0.5 --0.0737754 0.0849525 -0.0153987 0.421005 0.5 --0.0747645 0.0849032 -0.0147477 0.509241 0.5 --0.0729617 0.136954 -0.00717713 0.519584 0.441884 --0.0699065 0.110817 -0.0106385 0.48093 0.5 --0.0759462 0.128163 -0.00785989 0.399147 0.5 --0.0609102 0.120922 -0.00906619 0.653001 0.5 --0.074873 0.120838 -0.00772479 0.589936 0.5 --0.0749113 0.125246 -0.00804661 0.55917 0.5 --0.0689532 0.132595 -0.00851473 0.651027 0.5 --0.0691773 0.0628504 0.020491 0.489377 0.5 --0.0211868 0.174176 -0.0217698 0.432538 0.326988 --0.0838382 0.11616 -0.00137187 0.529339 0.5 --0.0291704 0.172664 -0.0174314 0.44522 0.5 --0.0662744 0.179701 -0.0600508 0.247428 0.5 --0.0748889 0.119375 -0.00765967 0.418673 0.5 --0.0765343 0.0681368 0.0143622 0.765926 0.282803 --0.0619999 0.132592 -0.00773229 0.834133 0.5 --0.0520761 0.153139 -0.00390728 0.423973 0.5 --0.0500773 0.15315 -0.00486218 0.629256 0.5 --0.0490784 0.153156 -0.00527602 0.645104 0.5 --0.0620052 0.131132 -0.00795604 0.651341 0.484653 --0.076964 0.129602 -0.00711544 0.554829 0.5 --0.0788837 0.117794 -0.00533035 0.502703 0.5 --0.0547546 0.035972 0.0465789 0.287062 0.5 --0.0550666 0.151635 -0.00215779 0.473888 0.5 --0.0798758 0.117757 -0.00451351 0.555664 0.5 --0.0669649 0.131148 -0.00876196 0.765727 0.5 -0.0332298 0.0870923 -0.0186827 0.761893 0.5 -0.0322049 0.0871235 -0.0192744 0.752904 0.418507 -0.0312237 0.0871647 -0.0198177 0.741529 0.5 --0.0398723 0.105663 -0.0203219 0.761454 0.5 -0.029243 0.0872327 -0.0208644 0.754386 0.5 -0.0282302 0.0872832 -0.0216049 0.73322 0.5 -0.0272389 0.0873294 -0.0222582 0.727934 0.5 -0.0262112 0.0873747 -0.0229809 0.731592 0.5 -0.025208 0.0874192 -0.0236148 0.736403 0.5 --0.018203 0.175668 -0.0239316 0.398363 0.38839 -0.0111139 0.110132 -0.0191278 0.81562 0.5 --0.040872 0.105663 -0.0204372 0.725919 0.5 --0.0829013 0.122118 -0.00412754 0.509113 0.382665 --0.0817843 0.113273 -0.0014411 0.471274 0.5 --0.0679688 0.135528 -0.00836676 0.645063 0.5 --0.0350927 0.168167 -0.014918 0.514899 0.5 --0.0771313 0.0754374 0.0308061 0.695453 0.5 --0.0579142 0.114001 -0.0151155 0.442556 0.449656 -0.0152063 0.0878077 -0.0294658 0.689504 0.5 -0.014203 0.08785 -0.0301032 0.646804 0.5 -0.0131946 0.0878791 -0.0305989 0.812934 0.5 -0.0122013 0.0878954 -0.0308742 0.635611 0.482584 -0.0111959 0.0879068 -0.0311136 0.635365 0.483867 -0.0101954 0.0879315 -0.0314901 0.650051 0.5 -0.00920046 0.0879669 -0.0320124 0.6554 0.5 -0.0082124 0.0879974 -0.0324239 0.669293 0.5 -0.00720445 0.088027 -0.0329216 0.673856 0.5 -0.00621357 0.0880484 -0.0332214 0.674195 0.5 -0.00519891 0.0880579 -0.0334439 0.833637 0.5 -0.00419323 0.0880606 -0.0335488 0.820954 0.5 -0.00318991 0.0880718 -0.0337792 0.829019 0.5 -0.00219436 0.0880897 -0.0340427 0.833697 0.5 -0.00119588 0.0881146 -0.0344258 0.835896 0.5 -0.000176932 0.0881362 -0.0348875 0.664627 0.5 --0.000805756 0.0881637 -0.035184 0.663046 0.5 --0.00180856 0.0881831 -0.0355551 0.628816 0.482283 --0.00281209 0.0882041 -0.0358187 0.800677 0.5 --0.00381497 0.0882175 -0.036071 0.795126 0.5 --0.00481581 0.0882239 -0.0361964 0.777884 0.5 --0.00582274 0.088227 -0.0364178 0.773749 0.5 --0.00682337 0.088234 -0.0365489 0.782623 0.5 --0.00782745 0.0882395 -0.0367822 0.798479 0.5 --0.00880856 0.0882704 -0.0368626 0.780461 0.5 --0.0602789 0.0617061 0.0251086 0.612143 0.5 --0.0808086 0.113339 -0.00208766 0.490601 0.332974 --0.0808831 0.117721 -0.00384392 0.579334 0.387877 --0.0583711 0.0614813 0.0257087 0.445245 0.5 --0.0510378 0.148698 -0.00295565 0.570554 0.479784 --0.029146 0.168214 -0.0173005 0.504686 0.5 --0.0158308 0.0883117 -0.038067 0.692153 0.5 --0.0168318 0.0883012 -0.0380546 0.682829 0.5 --0.0178242 0.0882801 -0.0380186 0.51988 0.5 --0.01883 0.0882728 -0.037792 0.492231 0.5 --0.0198294 0.0882519 -0.0375379 0.639478 0.5 --0.020826 0.0882193 -0.0372663 0.637106 0.5 --0.0218312 0.0882119 -0.0370399 0.644252 0.444847 --0.0228308 0.0881946 -0.0369029 0.61831 0.5 --0.0238257 0.0881589 -0.0366228 0.460716 0.5 --0.0248315 0.0881388 -0.0362597 0.428333 0.5 --0.0258198 0.0880859 -0.0357275 0.486999 0.5 --0.0267843 0.0880044 -0.0350453 0.462248 0.5 --0.0593221 0.0615947 0.0254084 0.405054 0.463497 --0.066289 0.0747237 0.0389788 0.604639 0.450412 --0.0738723 0.109242 -0.00905672 0.479397 0.5 --0.0278046 0.0364789 0.0536304 0.509575 0.5 --0.029103 0.162278 -0.0149633 0.597189 0.5 --0.0327955 0.0873016 -0.0254019 0.298281 0.5 --0.0338535 0.0870951 -0.024854 0.410053 0.395768 --0.0348246 0.0872331 -0.0245609 0.395015 0.5 --0.0357817 0.0871994 -0.0240994 0.462712 0.5 --0.0367713 0.0871639 -0.0235593 0.404976 0.5 --0.0377966 0.0870844 -0.0227292 0.794587 0.5 --0.0387964 0.0870429 -0.0222174 0.861386 0.5 --0.0398029 0.0870085 -0.0218621 0.549864 0.5 --0.0407936 0.0869784 -0.0214607 0.61638 0.5 --0.0417916 0.0869783 -0.0214259 0.710061 0.5 --0.0427934 0.0869807 -0.0215837 0.613674 0.5 --0.0437953 0.0869983 -0.0218056 0.673266 0.5 --0.044794 0.0870021 -0.0219374 0.704608 0.5 --0.0457927 0.0869975 -0.0219586 0.691141 0.5 --0.0467968 0.0869913 -0.021986 0.70034 0.5 --0.0477996 0.0869772 -0.0218762 0.705583 0.5 --0.0487946 0.0869761 -0.0218357 0.703388 0.5 --0.0363492 0.0338444 -0.0305686 0 0 --0.0353955 0.0337248 -0.0302701 0 0 --0.0344859 0.0335245 -0.0299041 0.160468 0.5 --0.0334418 0.0335662 -0.0297364 0.150938 0.5 --0.0323521 0.0336874 -0.0296376 0.151374 0 --0.0314435 0.033488 -0.0292746 0.162784 0 --0.0304487 0.0334492 -0.0290445 0 0 --0.0400285 0.0339876 -0.0295458 0.150597 0.5 --0.0391149 0.0337868 -0.0291782 0.15639 0 --0.0381652 0.0336678 -0.0288809 0.148986 0.5 --0.0371627 0.0336289 -0.0286501 0.295099 0.5 --0.036169 0.0335901 -0.0284162 0.297161 0.5 --0.0351234 0.033632 -0.0282515 0.305087 0.5 --0.0341243 0.0335931 -0.0280196 0.312242 0.5 --0.0331272 0.0335545 -0.0277881 0.296768 0.5 --0.0320822 0.0335961 -0.0276233 0.308699 0.5 --0.031088 0.0335574 -0.0273919 0.317366 0.5 --0.0300883 0.0335187 -0.027157 0.158606 0.5 --0.0290915 0.0334798 -0.0269263 0.16164 0.5 --0.0280931 0.033441 -0.0266965 0.159544 0.5 --0.0270496 0.033483 -0.0265278 0.158389 0.5 --0.0260065 0.0335246 -0.026366 0.156355 0 --0.025008 0.0334859 -0.0261337 0.159649 0 --0.0239658 0.0335277 -0.0259671 0.160669 0 --0.0229686 0.033489 -0.025736 0.159715 0 --0.0219243 0.0335307 -0.0255712 0.161465 0.5 --0.020926 0.0334921 -0.0253378 0.16448 0 --0.0198832 0.0335337 -0.0251748 0.160748 0 --0.0188851 0.0334951 -0.0249427 0.157126 0 --0.0177987 0.0336176 -0.0248428 0.15273 0.5 --0.016752 0.0336597 -0.0246752 0.154079 0.5 --0.0157117 0.033701 -0.0245127 0.159309 0 --0.0147591 0.033582 -0.024214 0.163614 0 --0.0136727 0.0337044 -0.0241151 0.157158 0 --0.0126271 0.0337462 -0.0239473 0.157103 0 --0.0116307 0.0337076 -0.023716 0.160251 0.5 --0.0105851 0.0337493 -0.0235512 0.162084 0 --0.00959045 0.0337105 -0.0233226 0 0 --0.00854262 0.033753 -0.0231542 0.156358 0.5 --0.00745761 0.0338748 -0.0230567 0.155883 0 --0.00645782 0.0338359 -0.0228235 0.161954 0.5 --0.00546373 0.0337972 -0.022595 0 0 --0.00441949 0.0338393 -0.022426 0.162113 0.5 --0.00342161 0.0338005 -0.0221963 0.16245 0.5 --0.00233027 0.0339229 -0.0220991 0.157286 0 --0.00129242 0.0339647 -0.0219341 0 0 --0.000337321 0.0338454 -0.0216338 0.163708 0.5 -0.000751147 0.0339678 -0.0215355 0.157278 0 -0.00179227 0.0340095 -0.0213712 0.156385 0.5 -0.00279805 0.0339767 -0.0211497 0.158826 0.5 -0.00384566 0.0341227 -0.0209701 0.169458 0.5 -0.00485548 0.0339942 -0.0207847 0.158392 0.5 -0.00590733 0.0340449 -0.020637 0.157129 0.5 -0.00695815 0.0340953 -0.0204902 0.154268 0.5 -0.00806259 0.0342288 -0.0204182 0.152877 0.5 -0.00900275 0.0343116 -0.0200681 0.202996 0.5 -0.010104 0.0343592 -0.0200136 0.176171 0.5 -0.0111342 0.034487 -0.019828 0.190127 0.5 -0.0122157 0.0346138 -0.0197432 0.222803 0.5 -0.0132509 0.0349689 -0.0195966 0.289099 0.5 --0.0417544 0.0339701 -0.0279962 0.148671 0 --0.0408028 0.033851 -0.0276993 0.284498 0.5 --0.0398023 0.0338119 -0.0274661 0.296341 0.5 --0.0388924 0.0336117 -0.0270987 0.30575 0.5 --0.0378917 0.0335733 -0.0268663 0.299924 0.5 --0.0368482 0.0336146 -0.0266993 0.460255 0.5 --0.0358944 0.0334964 -0.0263993 0.45178 0.5 --0.0348112 0.0336186 -0.0263013 0.458292 0.5 --0.0338581 0.0334994 -0.0260028 0.468489 0.5 --0.0328117 0.0335416 -0.0258378 0.453088 0.5 --0.0317722 0.0335835 -0.0256749 0.462956 0.5 --0.0307727 0.033545 -0.0254394 0.310102 0.5 --0.0297288 0.0335868 -0.0252735 0.314577 0.5 --0.0287322 0.0335484 -0.0250427 0.315352 0.5 --0.0276907 0.0335904 -0.024878 0.314963 0.5 --0.0266886 0.0335519 -0.0246454 0.310896 0.5 --0.0256473 0.0335939 -0.0244827 0.311269 0.5 --0.0246064 0.033636 -0.0243161 0.315939 0.5 --0.0236086 0.0335974 -0.0240827 0.31951 0.5 --0.0225654 0.0336394 -0.0239171 0.311934 0.5 --0.021522 0.0336815 -0.0237529 0.315916 0.5 --0.0205229 0.0336428 -0.0235211 0.319674 0.5 --0.0195242 0.0336044 -0.023287 0.319903 0.5 --0.0184793 0.0336465 -0.023124 0.308301 0.5 --0.0174373 0.0336888 -0.022956 0.312592 0.5 --0.016397 0.0337307 -0.02279 0.312197 0.5 --0.0153541 0.0337728 -0.0226273 0.31725 0.5 --0.0143105 0.0338147 -0.022462 0.321093 0.5 --0.0133142 0.0337765 -0.0222266 0.316298 0.5 --0.0122699 0.0338184 -0.0220638 0.316834 0.5 --0.0112286 0.0338605 -0.0218986 0.317376 0.5 --0.010186 0.0339025 -0.0217341 0.324966 0.5 --0.00918339 0.033864 -0.0215021 0.321081 0.5 --0.00814387 0.0339061 -0.0213361 0.313021 0.5 --0.00710114 0.0339482 -0.0211688 0.320144 0.5 --0.00610064 0.0339097 -0.0209348 0.320445 0.5 --0.00505811 0.0339518 -0.0207718 0.312656 0.5 --0.00401542 0.033994 -0.0206047 0.31834 0.5 --0.00297107 0.0340356 -0.0204416 0.321301 0.5 --0.00197361 0.0339973 -0.0202101 0.316292 0.5 --0.000934383 0.0340393 -0.0200439 0.321238 0.5 -0.000108091 0.0340814 -0.0198793 0.316427 0.5 -0.00110904 0.0340429 -0.0196452 0.3116 0.5 -0.00215147 0.0340847 -0.0194818 0.315291 0.5 -0.00315064 0.0340463 -0.0192491 0.315664 0.5 -0.00419216 0.0340885 -0.0190827 0.315257 0.5 -0.00523902 0.0341335 -0.0189244 0.309809 0.5 -0.00628938 0.0341841 -0.018778 0.307789 0.5 -0.0072963 0.0341516 -0.018557 0.296048 0.5 -0.00839351 0.0342854 -0.0184828 0.303865 0.5 -0.00940058 0.0342529 -0.0182643 0.299773 0.5 -0.0104502 0.0343141 -0.0181143 0.224072 0.5 -0.0115063 0.0343546 -0.0179688 0.291746 0.5 -0.0125555 0.034405 -0.0178251 0.294031 0.5 -0.0135609 0.0343729 -0.0176058 0.144731 0.5 -0.0147315 0.0347337 -0.0176578 0.180944 0.5 -0.0156033 0.0352036 -0.0174539 0.27416 0.5 --0.0433018 0.0342732 -0.0267127 0.1483 0 --0.0424851 0.033913 -0.0262188 0.294322 0.5 --0.0416194 0.0336308 -0.0257822 0.297489 0.5 --0.0406608 0.0335117 -0.0254825 0.440305 0.5 --0.0396194 0.0335538 -0.0253204 0.452616 0.5 --0.0386238 0.0335154 -0.0250853 0.456197 0.5 --0.0375789 0.0335576 -0.0249215 0.456623 0.5 --0.0365829 0.0335193 -0.0246869 0.616761 0.5 --0.0355381 0.0335618 -0.0245193 0.605171 0.5 --0.0344945 0.0336038 -0.0243554 0.626189 0.5 --0.0334959 0.0335656 -0.024125 0.620404 0.5 --0.0324526 0.0336078 -0.0239554 0.620122 0.5 --0.0314585 0.0335695 -0.0237257 0.472007 0.5 --0.0304111 0.0336116 -0.02356 0.473627 0.5 --0.0294128 0.0335741 -0.023325 0.482378 0.5 --0.0283736 0.0336157 -0.0231629 0.4906 0.5 --0.0273719 0.0335777 -0.022929 0.497013 0.5 --0.0263303 0.0336202 -0.0227625 0.484592 0.5 --0.0252891 0.0336623 -0.0225985 0.485209 0.5 --0.0242451 0.0337053 -0.0224295 0.506409 0.5 --0.0232497 0.0336668 -0.0221987 0.514359 0.5 --0.0222505 0.0336283 -0.0219672 0.510989 0.5 --0.0212056 0.0336704 -0.0218021 0.510235 0.5 --0.0201622 0.0337128 -0.0216346 0.522665 0.5 --0.0191683 0.0336751 -0.0214022 0.510007 0.5 --0.0180785 0.0337977 -0.021304 0.501867 0.5 --0.0170355 0.0338392 -0.0211402 0.51465 0.5 --0.0160362 0.0338015 -0.0209075 0.50991 0.5 --0.0149527 0.0339242 -0.0208085 0.508312 0.5 --0.0139533 0.0338864 -0.0205741 0.514103 0.5 --0.012912 0.0339283 -0.0204101 0.507749 0.5 --0.0118673 0.0339713 -0.0202424 0.508457 0.5 --0.0108252 0.0340132 -0.0200775 0.514541 0.5 --0.00982564 0.0339746 -0.0198462 0.5138 0.5 --0.00878391 0.0340179 -0.0196776 0.508819 0.5 --0.0077421 0.0340597 -0.0195129 0.514384 0.5 --0.00674435 0.0340208 -0.0192827 0.520192 0.5 --0.00574267 0.0339825 -0.0190499 0.516899 0.5 --0.00470039 0.0340249 -0.0188849 0.503477 0.5 --0.00361434 0.0341476 -0.0187856 0.508787 0.5 --0.00261732 0.0341102 -0.0185505 0.514129 0.5 --0.00157082 0.0341515 -0.0183868 0.515328 0.5 --0.000577398 0.0341134 -0.0181551 0.522731 0.5 -0.000420695 0.0340758 -0.0179207 0.516718 0.5 -0.00146529 0.0341167 -0.0177588 0.510133 0.5 -0.00250665 0.0341604 -0.0175888 0.508357 0.5 -0.00354988 0.0342019 -0.0174252 0.514846 0.5 -0.00454759 0.0341639 -0.0171912 0.513827 0.5 -0.00554907 0.0341243 -0.0169616 0.505366 0.5 -0.00654381 0.0340863 -0.0167284 0.490133 0.5 -0.00758624 0.0341288 -0.016561 0.476841 0.5 -0.00858548 0.0340902 -0.01633 0.467883 0.5 -0.00968485 0.0342244 -0.0162577 0.455858 0.5 -0.0106928 0.0341923 -0.0160349 0.437793 0.5 -0.0118375 0.0344099 -0.0160341 0.43019 0.5 -0.0128439 0.0343776 -0.0158182 0.296646 0.5 -0.0138974 0.0344287 -0.0156692 0.284783 0.5 -0.0149493 0.0344805 -0.015521 0.281177 0.5 -0.0160661 0.0349193 -0.0155613 0.166524 0.5 -0.0169223 0.0354899 -0.0154522 0.190709 0.5 --0.0874269 0.111566 0.0378689 0.50964 0.431462 --0.0439866 0.0342955 -0.0250034 0.269954 0.5 --0.0433 0.0336903 -0.024306 0.43977 0.5 --0.0423419 0.0335706 -0.0240051 0.45529 0.5 --0.0413446 0.0335325 -0.0237744 0.462467 0.5 --0.0403032 0.0335749 -0.0236075 0.619564 0.5 --0.0393069 0.033537 -0.0233717 0.628543 0.5 --0.0382622 0.0335792 -0.0232089 0.628505 0.5 --0.0372663 0.033541 -0.0229762 0.628574 0.5 --0.0362217 0.0335837 -0.0228111 0.778171 0.5 --0.0351787 0.0336265 -0.0226404 0.788348 0.5 --0.0341799 0.0335887 -0.0224091 0.804258 0.5 --0.0331372 0.0336314 -0.0222436 0.821028 0.5 --0.0320928 0.0336737 -0.0220791 0.677401 0.5 --0.0310543 0.0337173 -0.0219116 0.697809 0.5 --0.0300075 0.0337589 -0.0217484 0.704491 0.5 --0.0289244 0.033884 -0.0216457 0.71099 0.5 --0.0278792 0.0339265 -0.0214795 0.747112 0.5 --0.0268824 0.0338882 -0.0212482 0.745036 0.5 --0.0258406 0.0339312 -0.0210821 0.724672 0.5 --0.0247527 0.0340557 -0.0209813 0.734058 0.5 --0.023707 0.0340979 -0.0208155 0.754308 0.5 --0.0226679 0.0341396 -0.0206509 0.757332 0.5 --0.0216263 0.0341828 -0.0204844 0.754429 0.5 --0.0205806 0.0342261 -0.0203167 0.762843 0.5 --0.0195815 0.0341867 -0.0200865 0.765295 0.5 --0.0185423 0.0342292 -0.0199208 0.756961 0.5 --0.0174992 0.03427 -0.0197565 0.754185 0.5 --0.0164538 0.0343139 -0.019589 0.759978 0.5 --0.015413 0.0343578 -0.0194213 0.76285 0.5 --0.0144161 0.0343188 -0.0191903 0.765352 0.5 --0.0133702 0.0343611 -0.0190243 0.754561 0.5 --0.0123281 0.0344052 -0.018857 0.755088 0.5 --0.0112854 0.0344473 -0.0186905 0.765139 0.5 --0.0102872 0.0344076 -0.0184603 0.765143 0.5 --0.00924422 0.0344526 -0.0182921 0.755165 0.5 --0.00820144 0.0344928 -0.0181278 0.762893 0.5 --0.00720215 0.0344571 -0.0178933 0.770698 0.5 --0.00616098 0.0344967 -0.0177303 0.759807 0.5 --0.00511763 0.0345398 -0.0175639 0.756398 0.5 --0.00407779 0.0345848 -0.0173958 0.760777 0.5 --0.00307655 0.0345443 -0.0171652 0.770118 0.5 --0.00203672 0.0345877 -0.0169988 0.754757 0.5 --0.000994284 0.0346324 -0.0168306 0.768707 0.5 -4.31947e-06 0.034593 -0.0165995 0.772503 0.5 -0.00104791 0.0346359 -0.0164332 0.76219 0.5 -0.00204515 0.0345955 -0.0162029 0.769625 0.5 -0.00308943 0.0346383 -0.0160359 0.768064 0.5 -0.00408474 0.0346021 -0.0158016 0.778421 0.5 -0.00508634 0.0345614 -0.0155701 0.778945 0.5 -0.00603967 0.0344425 -0.0152712 0.783005 0.5 -0.00703854 0.0344034 -0.0150394 0.75834 0.5 -0.00803706 0.0343648 -0.0148062 0.749062 0.5 -0.00903132 0.0343268 -0.014573 0.710785 0.5 -0.0099878 0.0342067 -0.0142754 0.68418 0.5 -0.0109831 0.0341684 -0.0140433 0.626492 0.5 -0.0120317 0.0342138 -0.0138856 0.449593 0.5 -0.0130851 0.034266 -0.0137357 0.427929 0.5 -0.0142805 0.0345676 -0.0138073 0.427592 0.5 -0.0153315 0.0346194 -0.0136599 0.280815 0.5 -0.0164763 0.0348375 -0.0136598 0.279075 0.5 -0.0175277 0.0348888 -0.0135142 0 0 --0.0825815 0.112383 0.0454387 0.388655 0.443275 --0.0448473 0.0339909 -0.0230279 0.260276 0.5 --0.0440255 0.0336276 -0.0225259 0.470788 0.5 --0.0430742 0.0335089 -0.0222312 0.611227 0.5 --0.0420309 0.0335517 -0.0220625 0.610476 0.5 --0.0409872 0.0335947 -0.0218947 0.612158 0.5 --0.0399438 0.0336374 -0.0217314 0.775892 0.5 --0.0389013 0.0336802 -0.0215651 0.787035 0.5 --0.0379044 0.0336424 -0.0213286 0.797959 0.5 --0.0368601 0.0336856 -0.0211611 0.791759 0.5 --0.0358185 0.0337288 -0.0209957 0.80632 0.5 --0.0347732 0.0337732 -0.0208295 0.819093 0.5 --0.0336406 0.0339783 -0.0207966 0.844824 0.5 --0.0325542 0.0341026 -0.0206973 0.875165 0.5 --0.0314223 0.0343059 -0.0206653 0.894035 0.5 --0.0303394 0.0344325 -0.0205625 0.916731 0.5 --0.0292482 0.0345559 -0.0204636 0.904257 0.5 --0.0281642 0.0346776 -0.0203658 0.922272 0.5 --0.0271199 0.0347243 -0.0201972 0.926832 0.5 --0.0260317 0.0348457 -0.0200988 0.910394 0.5 --0.0249464 0.0349691 -0.0199992 0.907238 0.5 --0.0239053 0.0350134 -0.0198326 0.916545 0.5 --0.0228583 0.0350556 -0.0196661 0.918738 0.5 --0.0218179 0.0350986 -0.0195001 0.918652 0.5 --0.0207737 0.0351435 -0.019333 0.90826 0.5 --0.019688 0.0352649 -0.0192337 0.909767 0.5 --0.0186888 0.0352267 -0.0190015 0.922347 0.5 --0.0176483 0.0352702 -0.0188352 0.909165 0.5 --0.0166066 0.035315 -0.0186674 0.933106 0.5 --0.0156079 0.0352742 -0.0184368 0.933797 0.5 --0.014565 0.035318 -0.01827 0.909086 0.5 --0.0135214 0.0353632 -0.0181023 0.909159 0.5 --0.0124791 0.0354015 -0.0179384 0.933305 0.5 --0.0114808 0.0353662 -0.0177045 0.933613 0.5 --0.0104382 0.0354056 -0.0175403 0.909294 0.5 --0.00939357 0.0354504 -0.0173725 0.920486 0.5 --0.00835092 0.0354934 -0.0172056 0.933105 0.5 --0.00735617 0.0354566 -0.0169734 0.922349 0.5 --0.00631097 0.0354995 -0.0168068 0.909251 0.5 --0.00526883 0.0355403 -0.0166416 0.920543 0.5 --0.00422605 0.0355815 -0.0164762 0.933304 0.5 --0.00322923 0.0355467 -0.0162422 0.922382 0.5 --0.00218576 0.0355897 -0.0160761 0.898358 0.5 --0.00114332 0.0356309 -0.0159104 0.913895 0.5 --0.000145407 0.0355938 -0.0156782 0.87906 0.5 -0.000940682 0.0357179 -0.0155776 0.890667 0.5 -0.00193935 0.03568 -0.0153447 0.913357 0.5 -0.00293826 0.0356401 -0.0151121 0.955814 0.5 -0.00389123 0.0355229 -0.0148126 0.956258 0.5 -0.00488911 0.035483 -0.0145807 0.965028 0.5 -0.00584547 0.0353648 -0.01428 0.966972 0.5 -0.00679595 0.0352467 -0.0139815 0.975234 0.5 -0.00774922 0.0351262 -0.0136823 0.994011 0.5 -0.00861617 0.0348422 -0.0132521 0.994427 0.5 -0.00952421 0.0346423 -0.0128865 0.981551 0.5 -0.0104332 0.0344417 -0.0125223 0.939553 0.5 -0.011386 0.0343226 -0.0122219 0.684885 0.5 -0.0123862 0.0342845 -0.0119874 0.628788 0.5 -0.0134297 0.0343278 -0.0118215 0.572321 0.5 -0.014517 0.0344542 -0.0117299 0.420938 0.5 -0.0156678 0.0346738 -0.0117297 0.408201 0.5 -0.0167681 0.0348096 -0.0116543 0.282897 0.5 -0.0179105 0.0350278 -0.0116533 0 0 --0.04595 0.0351008 -0.0224117 0.123435 0.5 --0.0453989 0.0342539 -0.0215146 0.295367 0.5 --0.0447524 0.033564 -0.0207541 0.472806 0.5 --0.0437556 0.0335262 -0.0205177 0.61501 0.5 --0.0427107 0.0335694 -0.0203532 0.76393 0.5 --0.0416682 0.0336125 -0.0201879 0.764005 0.5 --0.0406237 0.0336557 -0.0200198 0.762452 0.5 --0.0395837 0.0336987 -0.0198537 0.753735 0.5 --0.0385432 0.0337417 -0.0196892 0.777452 0.5 --0.0375002 0.0337858 -0.019518 0.783149 0.5 --0.0364091 0.0339112 -0.0194195 0.794084 0.5 --0.0352804 0.0341155 -0.0193879 0.79847 0.5 --0.0340577 0.0344858 -0.0194842 0.773535 0.5 --0.0328403 0.0348519 -0.0195836 0.810277 0.5 --0.031661 0.0351392 -0.0196159 0.851428 0.5 --0.0305288 0.0353431 -0.0195833 0.875112 0.5 --0.0293998 0.0355494 -0.0195486 0.84266 0.5 --0.0282657 0.0357556 -0.0195136 0.872681 0.5 --0.0271788 0.0358787 -0.0194139 0.878336 0.5 --0.0261386 0.0359205 -0.0192491 0.855156 0.5 --0.0250081 0.0361291 -0.0192131 0.842458 0.5 --0.0239187 0.036252 -0.0191133 0.859217 0.5 --0.022876 0.0362943 -0.0189473 0.873319 0.5 --0.0218319 0.0363367 -0.0187811 0.860417 0.5 --0.0207895 0.0363821 -0.0186131 0.874162 0.5 --0.0197467 0.0364265 -0.0184459 0.887215 0.5 --0.0187078 0.0364661 -0.0182818 0.886995 0.5 --0.0176627 0.0365106 -0.0181139 0.887484 0.5 --0.0166639 0.0364717 -0.017882 0.899591 0.5 --0.0156218 0.0365183 -0.0177136 0.873793 0.5 --0.0145821 0.0365575 -0.0175497 0.873575 0.5 --0.0135396 0.0366033 -0.0173816 0.8874 0.5 --0.0125377 0.0365668 -0.017148 0.887607 0.5 --0.0114989 0.0366056 -0.0169842 0.860353 0.5 --0.0104535 0.0366522 -0.0168147 0.887467 0.5 --0.00945876 0.0366145 -0.0165831 0.887933 0.5 --0.00841473 0.0366574 -0.0164161 0.887711 0.5 --0.00736899 0.0366982 -0.0162506 0.873843 0.5 --0.00632683 0.0367419 -0.0160833 0.887552 0.5 --0.00532834 0.0367049 -0.0158504 0.899994 0.5 --0.00428899 0.0367463 -0.0156853 0.88731 0.5 --0.00324688 0.0367886 -0.0155194 0.874307 0.5 --0.00215916 0.0369163 -0.0154166 0.86011 0.5 --0.00111738 0.0369593 -0.0152505 0.86281 0.5 --2.83383e-05 0.0370817 -0.0151505 0.865866 0.5 -0.000971023 0.0370418 -0.0149189 0.912707 0.5 -0.00196735 0.0370051 -0.0146847 0.933441 0.5 -0.00287682 0.0368053 -0.01432 0.940836 0.5 -0.0038745 0.0367677 -0.0140867 0.922715 0.5 -0.00482779 0.0366504 -0.0137865 0.940725 0.5 -0.00577997 0.0365296 -0.0134893 0.940621 0.5 -0.00673484 0.0364109 -0.0131882 0.962688 0.5 -0.00764213 0.03621 -0.0128239 0.959949 0.5 -0.00841968 0.0357631 -0.0122614 0.97591 0.5 -0.00923869 0.035402 -0.0117616 0.9642 0.5 -0.0100127 0.0349584 -0.0111996 0.914033 0.5 -0.0107885 0.0345143 -0.0106366 0.881517 0.5 -0.0117447 0.0343946 -0.0103375 0.835038 0.5 -0.0126989 0.0342761 -0.010037 0.77818 0.5 -0.0137845 0.0344 -0.00993851 0.596965 0.5 -0.0148272 0.0344434 -0.00977208 0.558412 0.5 -0.0160068 0.0347306 -0.00980024 0.410558 0.5 -0.0171482 0.0349466 -0.009792 0.28032 0.5 -0.0182459 0.035082 -0.00972071 0 0 --0.074757 0.111898 0.0475989 0.438823 0.5 --0.0459466 0.0345121 -0.0200076 0.259 0.5 --0.0453927 0.0336614 -0.0191153 0.314884 0.5 --0.0444353 0.0335419 -0.0188134 0.474747 0.5 --0.0433943 0.0335852 -0.0186462 0.611175 0.5 --0.042351 0.0336287 -0.0184783 0.763466 0.5 --0.0413094 0.0336719 -0.0183114 0.77291 0.5 --0.0403104 0.0336344 -0.0180813 0.766251 0.5 --0.0392229 0.0337594 -0.0179786 0.759173 0.5 --0.0381348 0.0338853 -0.0178771 0.759372 0.5 --0.0369631 0.0341718 -0.0179086 0.731226 0.5 --0.0356978 0.0346221 -0.0180732 0.731097 0.5 --0.0344319 0.0350721 -0.0182387 0.722085 0.5 --0.0331206 0.0356024 -0.0184705 0.718486 0.5 --0.0318114 0.0361324 -0.0187 0.792418 0.5 --0.0306807 0.0363386 -0.0186663 0.803428 0.5 --0.0294591 0.0367076 -0.0187628 0.820759 0.5 --0.0283747 0.0368322 -0.0186629 0.846126 0.5 --0.0272428 0.0370384 -0.018628 0.838672 0.5 --0.0261077 0.0372445 -0.0185929 0.839101 0.5 --0.0250231 0.0373676 -0.0184933 0.879124 0.5 --0.0239356 0.0374925 -0.0183912 0.919998 0.5 --0.0228935 0.0375359 -0.0182249 0.908263 0.5 --0.021804 0.0376594 -0.0181241 0.929047 0.5 --0.0208094 0.0376226 -0.0178912 0.937574 0.5 --0.0197676 0.0376635 -0.0177276 0.937487 0.5 --0.018769 0.037629 -0.017491 0.927657 0.5 --0.0176796 0.037751 -0.0173923 0.938269 0.5 --0.0166811 0.0377146 -0.0171581 0.937533 0.5 --0.0156387 0.0377596 -0.0169892 0.92719 0.5 --0.0145975 0.0378025 -0.0168233 0.927228 0.5 --0.0135559 0.0378433 -0.0166597 0.937917 0.5 --0.0125112 0.037888 -0.0164908 0.927995 0.5 --0.0114712 0.0379322 -0.0163227 0.945803 0.5 --0.010471 0.0378949 -0.0160892 0.947151 0.5 --0.0094303 0.0379372 -0.0159242 0.938213 0.5 --0.00843296 0.037899 -0.0156923 0.937627 0.5 --0.00738705 0.0379427 -0.0155249 0.927227 0.5 --0.00634516 0.0379873 -0.0153566 0.93941 0.5 --0.00534725 0.0379464 -0.0151277 0.923664 0.5 --0.00430704 0.037991 -0.0149598 0.932138 0.5 --0.00330758 0.0379537 -0.0147265 0.928167 0.5 --0.00221994 0.0380783 -0.0146251 0.92301 0.5 --0.00117719 0.0381217 -0.0144579 0.938106 0.5 --0.000135712 0.0381648 -0.0142912 0.963107 0.5 -0.000863008 0.0381264 -0.0140589 0.971476 0.5 -0.00186325 0.0380873 -0.0138264 0.98648 0.5 -0.00281465 0.0379685 -0.0135285 0.974892 0.5 -0.00381296 0.0379313 -0.0132938 0.981027 0.5 -0.00476485 0.0378127 -0.0129945 0.989325 0.5 -0.00571651 0.037694 -0.0126956 0.99055 0.5 -0.00662772 0.0374926 -0.0123303 0.998826 0.5 -0.00749342 0.0372096 -0.0118978 0.979875 0.5 -0.00822226 0.0366869 -0.011267 0.927286 0.5 -0.00895558 0.0361581 -0.0106394 0.869554 0.5 -0.0095961 0.0354723 -0.00987583 0.814511 0.5 -0.0102837 0.0348658 -0.0091814 0.826079 0.5 -0.0111047 0.0345035 -0.00868495 0.807913 0.5 -0.0120601 0.0343849 -0.00838478 0.781446 0.5 -0.0131 0.034428 -0.00821794 0.763867 0.5 -0.0140981 0.0343905 -0.0079847 0.735329 0.5 -0.0152294 0.0345961 -0.00794828 0.542375 0.5 -0.0163641 0.0348027 -0.00791773 0.400211 0.5 -0.0174939 0.0350076 -0.00788091 0.285626 0.5 -0.0184894 0.03497 -0.0076507 0 0 --0.0721148 0.067315 0.0248191 0.659092 0.5 --0.0464498 0.034849 -0.0185661 0.101686 0 --0.0460733 0.0336746 -0.01741 0.298278 0.5 --0.0450754 0.033637 -0.0171737 0.474123 0.5 --0.0440757 0.0335994 -0.0169421 0.625852 0.5 --0.0430319 0.0336432 -0.0167728 0.752372 0.5 --0.04199 0.0336868 -0.0166047 0.762936 0.5 --0.0409497 0.0337305 -0.016439 0.76643 0.5 --0.0398611 0.0338561 -0.0163385 0.748843 0.5 --0.03873 0.0340634 -0.0163036 0.741362 0.5 --0.0375104 0.0344317 -0.0164034 0.677565 0.5 --0.0361101 0.0351289 -0.0167641 0.619214 0.5 --0.0346676 0.0359024 -0.017193 0.654319 0.5 --0.0333156 0.0365169 -0.0174853 0.685573 0.5 --0.0320031 0.0370471 -0.0177181 0.726969 0.5 --0.0307415 0.0374976 -0.017878 0.796464 0.5 --0.029563 0.0377844 -0.01791 0.853857 0.5 --0.0283882 0.0380697 -0.0179434 0.884094 0.5 --0.0272993 0.0381948 -0.0178418 0.917525 0.5 --0.0262141 0.0383199 -0.0177378 0.924592 0.5 --0.0251747 0.0383636 -0.0175696 0.935265 0.5 --0.0241311 0.0384069 -0.0174035 0.930975 0.5 --0.0231343 0.0383693 -0.0171708 0.93126 0.5 --0.0220444 0.0384934 -0.0170721 0.911963 0.5 --0.0210449 0.0384562 -0.0168371 0.936357 0.5 --0.0200036 0.0384998 -0.0166705 0.914268 0.5 --0.0189632 0.0385431 -0.0165058 0.926268 0.5 --0.0179202 0.0385865 -0.0163394 0.924397 0.5 --0.0169229 0.0385492 -0.0161043 0.936881 0.5 --0.0158788 0.038593 -0.0159367 0.914389 0.5 --0.0148381 0.0386367 -0.0157684 0.914611 0.5 --0.0137942 0.0386802 -0.0156021 0.926026 0.5 --0.0127937 0.0386426 -0.0153707 0.924302 0.5 --0.0117542 0.0386862 -0.015202 0.92433 0.5 --0.0107558 0.0386486 -0.0149703 0.925546 0.5 --0.00971429 0.0386927 -0.0148008 0.911799 0.5 --0.00867178 0.0387364 -0.0146344 0.921886 0.5 --0.00762999 0.0387797 -0.0144679 0.932179 0.5 --0.00658665 0.0388228 -0.0143041 0.913101 0.5 --0.00554376 0.0388664 -0.0141367 0.941254 0.5 --0.00449889 0.0389099 -0.0139692 0.940386 0.5 --0.00350234 0.0388725 -0.0137373 0.922442 0.5 --0.00241533 0.0389975 -0.0136337 0.912175 0.5 --0.00141558 0.03896 -0.0133998 0.944017 0.5 --0.000418875 0.0389219 -0.0131688 0.944304 0.5 -0.000577278 0.0388845 -0.0129362 0.936208 0.5 -0.00157845 0.0388465 -0.0127005 0.953129 0.5 -0.00252922 0.0387278 -0.0124032 0.953525 0.5 -0.00352818 0.0386899 -0.0121702 0.945732 0.5 -0.00447986 0.0385716 -0.0118677 0.971985 0.5 -0.00538842 0.0383711 -0.011506 0.959715 0.5 -0.00629906 0.0381702 -0.0111411 0.967403 0.5 -0.00716304 0.0378885 -0.010707 0.931539 0.5 -0.0078939 0.0373631 -0.01008 0.870071 0.5 -0.00853553 0.0366751 -0.00931803 0.743653 0.5 -0.00908719 0.0358267 -0.00842564 0.679434 0.5 -0.00964519 0.0349724 -0.00752839 0.718531 0.5 -0.0104643 0.0346107 -0.00703394 0.761172 0.5 -0.0113316 0.0343299 -0.00659923 0.775032 0.5 -0.012373 0.0343732 -0.00643255 0.761083 0.5 -0.0133691 0.0343357 -0.00620151 0.760981 0.5 -0.0144149 0.0343798 -0.00603429 0.724741 0.5 -0.0155008 0.0345049 -0.00593057 0.533828 0.5 -0.0166749 0.0347919 -0.00596505 0.389201 0.5 -0.0178069 0.0349979 -0.00592782 0.287714 0.5 -0.0188028 0.0349604 -0.00569856 0 0 --0.0794975 0.113845 0.0467655 0.688818 0.5 --0.0866192 0.111201 0.0383037 0.481048 0.454814 --0.0473982 0.0343754 -0.0164682 0.121114 0.5 --0.046755 0.0336866 -0.0157033 0.307635 0.5 --0.0457551 0.0336493 -0.0154708 0.453339 0.5 --0.0447123 0.0336927 -0.0153017 0.614262 0.5 --0.0437579 0.0335748 -0.0150071 0.760028 0.5 --0.0426699 0.0336999 -0.0149012 0.742851 0.5 --0.0416277 0.0337441 -0.014735 0.753114 0.5 --0.0405439 0.0338701 -0.0146326 0.705975 0.5 --0.0393214 0.0342416 -0.0147308 0.666027 0.5 --0.0379695 0.0348544 -0.0150276 0.602147 0.5 --0.0364387 0.0357946 -0.0155844 0.543249 0.5 --0.034906 0.0367338 -0.0161439 0.604521 0.5 --0.0335515 0.0373466 -0.0164398 0.677158 0.5 --0.0321536 0.0380399 -0.0168 0.757245 0.5 --0.0309758 0.0383278 -0.0168292 0.850924 0.5 --0.0298466 0.0385336 -0.0167929 0.849354 0.5 --0.028759 0.0386585 -0.0166912 0.847883 0.5 --0.027716 0.0387019 -0.0165247 0.858875 0.5 --0.026722 0.0386646 -0.0162927 0.832003 0.5 --0.0256788 0.0387085 -0.0161237 0.818338 0.5 --0.0246803 0.0386712 -0.0158919 0.815979 0.5 --0.0236376 0.0387148 -0.0157231 0.826257 0.5 --0.0226373 0.0386776 -0.0154938 0.803115 0.5 --0.0215973 0.0387212 -0.015323 0.801865 0.5 --0.0206008 0.0386838 -0.0150911 0.800431 0.5 --0.0195554 0.0387278 -0.0149268 0.780132 0.5 --0.0185117 0.0387718 -0.0147573 0.781655 0.5 --0.0174724 0.0388154 -0.0145918 0.811994 0.5 --0.0164726 0.0387782 -0.0143554 0.802106 0.5 --0.0154326 0.0388218 -0.0141873 0.790511 0.5 --0.0143909 0.0388658 -0.0140202 0.78179 0.5 --0.0133444 0.0389099 -0.0138542 0.804467 0.5 --0.0123027 0.0389534 -0.0136872 0.814092 0.5 --0.0113051 0.0389162 -0.0134542 0.814666 0.5 --0.0102609 0.0389601 -0.0132864 0.804926 0.5 --0.00921964 0.0390042 -0.0131222 0.785916 0.5 --0.00813465 0.0391286 -0.0130168 0.806779 0.5 --0.00718079 0.0390105 -0.0127195 0.795086 0.5 --0.00609162 0.0391352 -0.0126175 0.793409 0.5 --0.00509715 0.039098 -0.012386 0.791334 0.5 --0.00405402 0.0391419 -0.01222 0.792715 0.5 --0.00301248 0.0391855 -0.0120497 0.771109 0.5 --0.00196639 0.0392296 -0.0118812 0.774667 0.5 --0.000924151 0.039273 -0.0117161 0.816802 0.5 -2.76528e-05 0.0391548 -0.0114154 0.825639 0.5 -0.00107085 0.0391982 -0.0112505 0.839534 0.5 -0.00202549 0.0390793 -0.0109499 0.875743 0.5 -0.00297917 0.0389607 -0.010651 0.865235 0.5 -0.00397477 0.0389229 -0.0104191 0.86998 0.5 -0.00488488 0.0387234 -0.0100497 0.889837 0.5 -0.00583724 0.038604 -0.0097514 0.916177 0.5 -0.00669982 0.0383228 -0.00932299 0.889389 0.5 -0.00747563 0.0378784 -0.00876072 0.766725 0.5 -0.00793957 0.0368635 -0.0077325 0.579228 0.5 -0.00831626 0.0356874 -0.00657792 0.547606 0.5 -0.00882514 0.0347544 -0.00561715 0.671683 0.5 -0.0096904 0.0344726 -0.0051827 0.751566 0.5 -0.0106458 0.0343542 -0.00488721 0.758539 0.5 -0.0116887 0.0343979 -0.00472037 0.748269 0.5 -0.0126883 0.0343606 -0.00448368 0.748562 0.5 -0.0137309 0.0344041 -0.00431645 0.750493 0.5 -0.0147267 0.0343671 -0.00408399 0.731764 0.5 -0.0158163 0.0344928 -0.00398192 0.539751 0.5 -0.0169437 0.0346991 -0.00395051 0.377653 0.5 -0.0181231 0.0349865 -0.00397885 0.27526 0.5 -0.0191194 0.0349494 -0.00374623 0.143861 0.5 -0.0201589 0.0349933 -0.00358051 0 0 --0.0483458 0.0338972 -0.0143683 0.145645 0.5 --0.0473932 0.0337786 -0.0140697 0.303858 0.5 --0.0464803 0.0335784 -0.0137021 0.460607 0.5 --0.0454814 0.0335414 -0.0134702 0.597584 0.5 --0.0444408 0.0335855 -0.0133031 0.758579 0.5 --0.0433987 0.03363 -0.0131325 0.742667 0.5 --0.042312 0.0337552 -0.0130352 0.752758 0.5 --0.0412672 0.0338015 -0.0128657 0.698524 0.5 --0.0399614 0.0343338 -0.0130933 0.582835 0.5 --0.0384749 0.0351927 -0.0135871 0.509959 0.5 --0.0368535 0.0362973 -0.0142764 0.498247 0.5 --0.035233 0.0374002 -0.014964 0.584369 0.5 --0.0338336 0.0380945 -0.0153271 0.719571 0.5 --0.0326136 0.0384639 -0.0154224 0.751071 0.5 --0.0314842 0.0386701 -0.0153847 0.798769 0.5 --0.0304851 0.038633 -0.015152 0.792212 0.5 --0.0294449 0.038677 -0.0149866 0.764528 0.5 --0.0284012 0.038721 -0.0148192 0.758534 0.5 --0.0274016 0.0386836 -0.0145853 0.766884 0.5 --0.0264035 0.0386467 -0.0143525 0.758912 0.5 --0.0253618 0.0386908 -0.0141849 0.748488 0.5 --0.0243199 0.0387345 -0.0140132 0.748837 0.5 --0.0233223 0.0386973 -0.0137829 0.767134 0.5 --0.0223249 0.0386602 -0.0135496 0.759172 0.5 --0.0212803 0.0387041 -0.0133833 0.759305 0.5 --0.0202818 0.0386671 -0.01315 0.761261 0.5 --0.0192403 0.0387115 -0.0129795 0.743513 0.5 --0.0181528 0.0388364 -0.0128782 0.750961 0.5 --0.0171592 0.0387994 -0.0126424 0.761602 0.5 --0.0161127 0.0388433 -0.0124778 0.772027 0.5 --0.0151158 0.0388065 -0.0122456 0.753208 0.5 --0.0140304 0.0389318 -0.0121434 0.742493 0.5 --0.0129858 0.0389757 -0.0119758 0.7497 0.5 --0.0119878 0.0389387 -0.0117395 0.759701 0.5 --0.0109443 0.0389825 -0.0115729 0.761944 0.5 --0.00994817 0.0389455 -0.0113423 0.760018 0.5 --0.00890819 0.0389895 -0.0111716 0.739335 0.5 --0.00790609 0.0389527 -0.0109414 0.749764 0.5 --0.00682217 0.0390777 -0.0108403 0.740934 0.5 --0.00582403 0.0390405 -0.0106025 0.747065 0.5 --0.00477881 0.0390844 -0.0104359 0.749657 0.5 --0.00378208 0.0390472 -0.0102032 0.759043 0.5 --0.00278761 0.0390101 -0.00997081 0.744345 0.5 --0.00169837 0.0391357 -0.00987107 0.732224 0.5 --0.000654571 0.0391799 -0.00969942 0.752614 0.5 -0.00038562 0.0392239 -0.00953586 0.764619 0.5 -0.00142887 0.0392678 -0.00936829 0.786816 0.5 -0.00242681 0.0392303 -0.00913048 0.838915 0.5 -0.00333349 0.0390305 -0.00876711 0.845161 0.5 -0.0043349 0.0389929 -0.00853324 0.824611 0.5 -0.00532997 0.0389553 -0.00830106 0.852237 0.5 -0.00615023 0.0385922 -0.00780619 0.776066 0.5 -0.00679264 0.0379024 -0.00704418 0.585005 0.5 -0.00707963 0.0365612 -0.00575515 0.456065 0.5 -0.00732004 0.0351406 -0.00439972 0.551836 0.5 -0.00800811 0.0345328 -0.00370443 0.726706 0.5 -0.00896308 0.0344141 -0.00340754 0.747735 0.5 -0.00991822 0.0342953 -0.00310719 0.756143 0.5 -0.0109143 0.034258 -0.00287102 0.744503 0.5 -0.0119118 0.0342207 -0.00263798 0.744957 0.5 -0.0129551 0.034265 -0.00247291 0.726555 0.5 -0.0139965 0.0343089 -0.00230394 0.726407 0.5 -0.01504 0.0343531 -0.00213727 0.724127 0.5 -0.0160414 0.0343167 -0.00190332 0.545118 0.5 -0.0171692 0.0345228 -0.00186568 0.382344 0.5 -0.0183024 0.0347298 -0.00182982 0.264714 0.5 -0.0193458 0.0347743 -0.00166328 0.278605 0.5 -0.0203856 0.0348183 -0.00149748 0.146288 0 -0.0214264 0.0348625 -0.00133145 0 0 --0.0519769 0.0340995 -0.0134375 0 0 --0.0511515 0.0337361 -0.0129379 0.146787 0 --0.0501127 0.0337803 -0.0127711 0.137806 0.5 --0.0491155 0.0337431 -0.0125383 0.290956 0.5 --0.0482072 0.0335431 -0.012174 0.298612 0.5 --0.0472097 0.0335059 -0.0119372 0.449069 0.5 --0.0461631 0.0335506 -0.0117706 0.601737 0.5 --0.0451218 0.0335948 -0.0116042 0.772585 0.5 --0.0440813 0.0336392 -0.0114358 0.751945 0.5 --0.0429934 0.0337652 -0.0113325 0.593884 0.5 --0.0419504 0.0338103 -0.0111665 0.581009 0.5 --0.0407326 0.0341812 -0.0112599 0.462745 0.5 --0.0391998 0.0351247 -0.0118182 0.347097 0.5 --0.0372246 0.0368821 -0.0130308 0.34989 0.5 --0.0356475 0.0379034 -0.0136529 0.655412 0.5 --0.0343818 0.038354 -0.0138166 0.733381 0.5 --0.0332986 0.0384796 -0.0137148 0.749864 0.5 --0.0322103 0.0386054 -0.0136114 0.743785 0.5 --0.0311673 0.0386498 -0.0134468 0.747511 0.5 --0.0301276 0.038694 -0.0132786 0.74561 0.5 --0.0291276 0.0386567 -0.0130433 0.742955 0.5 --0.0281279 0.03862 -0.0128123 0.742735 0.5 --0.02709 0.0386639 -0.0126398 0.745898 0.5 --0.0260906 0.0386266 -0.0124061 0.750571 0.5 --0.0250932 0.0385898 -0.0121739 0.724838 0.5 --0.0240513 0.0386342 -0.0120079 0.733288 0.5 --0.0230054 0.0386784 -0.0118395 0.73714 0.5 --0.0220085 0.0386415 -0.0116054 0.747754 0.5 --0.0209665 0.0386858 -0.0114366 0.748109 0.5 --0.0199243 0.0387302 -0.0112686 0.739981 0.5 --0.0188821 0.0387745 -0.0111028 0.737809 0.5 --0.0178849 0.0387376 -0.0108688 0.737777 0.5 --0.0167991 0.0388632 -0.0107644 0.740421 0.5 --0.0158011 0.0388262 -0.0105326 0.758898 0.5 --0.0147562 0.0388704 -0.0103641 0.748193 0.5 --0.0137593 0.0388335 -0.0101314 0.735864 0.5 --0.0127163 0.038878 -0.00996632 0.73789 0.5 --0.011676 0.0389222 -0.00979553 0.737945 0.5 --0.010631 0.0389663 -0.00962591 0.7471 0.5 --0.00963497 0.0389293 -0.00939263 0.746661 0.5 --0.00858939 0.0389741 -0.00922854 0.741003 0.5 --0.00754786 0.039018 -0.00905888 0.748744 0.5 --0.00655213 0.0389811 -0.00882376 0.74641 0.5 --0.00551112 0.0390255 -0.00865823 0.740134 0.5 --0.00446475 0.03907 -0.00848801 0.751134 0.5 --0.00342216 0.0391144 -0.00832149 0.764498 0.5 --0.00238392 0.0391586 -0.00815532 0.76421 0.5 --0.00138514 0.0391216 -0.00791905 0.752315 0.5 --0.000296991 0.0392472 -0.00781836 0.741682 0.5 -0.000702847 0.0392103 -0.00758345 0.747437 0.5 -0.00174509 0.0392548 -0.00741822 0.739975 0.5 -0.0027861 0.0392982 -0.00725238 0.796695 0.5 -0.00369465 0.0390982 -0.00688719 0.808724 0.5 -0.00460237 0.0388981 -0.00652166 0.76201 0.5 -0.0054202 0.0385344 -0.0060218 0.633431 0.5 -0.00584239 0.0374362 -0.00493399 0.448355 0.5 -0.00590625 0.0356875 -0.00331654 0.448539 0.5 -0.00641806 0.0347537 -0.00236123 0.645688 0.5 -0.0072822 0.0344718 -0.00192729 0.726521 0.5 -0.00819303 0.0342719 -0.00156322 0.73886 0.5 -0.00918856 0.0342345 -0.00132638 0.596223 0.5 -0.0101881 0.0341976 -0.00109267 0.586666 0.5 -0.0112322 0.0342419 -0.000927635 0.595746 0.5 -0.0122273 0.0342048 -0.000691958 0.595227 0.5 -0.013224 0.0341678 -0.000459678 0.588944 0.5 -0.0142697 0.034212 -0.000289798 0.589095 0.5 -0.015268 0.0341755 -6.02454e-05 0.592719 0.5 -0.0163555 0.0343012 4.3653e-05 0.579133 0.5 -0.0173961 0.0343459 0.000212982 0.418124 0.5 -0.0185266 0.0345532 0.000246197 0.403273 0.5 -0.019656 0.0347604 0.000281692 0.268513 0.5 -0.0207021 0.0348049 0.000449352 0.274763 0.5 -0.0217437 0.0348491 0.000619009 0.135877 0.5 -0.0227875 0.0348957 0.00078699 0.123743 0.5 -0.0242713 0.035754 0.000294462 0.0909279 0.5 -0.0256228 0.0363687 8.49366e-07 0 0 -0.0267602 0.0365817 2.43485e-05 0 0 -0.0278638 0.0367181 0.000104301 0.0903166 0.5 -0.0289317 0.0369927 0.000264038 0.151306 0.5 -0.0302324 0.0374168 2.32521e-05 0.189294 0.5 -0.0314571 0.0378867 -6.50808e-05 0.444411 0.5 -0.0325428 0.0380502 1.57112e-05 0.287679 0.5 -0.0337414 0.0384723 -6.48206e-05 0.343427 0.5 -0.0348962 0.0387881 -4.46661e-05 0.363877 0.5 -0.0360448 0.0392022 -6.35907e-05 0.780389 0.5 --0.0547852 0.0339346 -0.0120065 0.139887 0 --0.0538286 0.0338166 -0.0117099 0.138713 0 --0.0528343 0.0337802 -0.0114802 0.28026 0.5 --0.0518373 0.0337424 -0.0112411 0.296897 0.5 --0.0509699 0.0334609 -0.0108109 0.29672 0.5 --0.0499299 0.0335056 -0.0106454 0.28381 0.5 --0.0488841 0.0335499 -0.0104742 0.450769 0.5 --0.0478863 0.033513 -0.0102384 0.466512 0.5 --0.0468922 0.0334761 -0.010008 0.602221 0.5 --0.0457572 0.0336839 -0.00997088 0.743884 0.5 --0.0447583 0.0336472 -0.00973579 0.769139 0.5 --0.0437169 0.0336921 -0.00956971 0.592252 0.5 --0.0426307 0.0338188 -0.00946517 0.427565 0.5 --0.0414552 0.0341096 -0.00949275 0.360633 0.5 --0.0398827 0.035133 -0.0101165 0.242414 0.5 --0.037907 0.0368934 -0.0113278 0.22755 0.5 --0.0361046 0.0383233 -0.0122787 0.529257 0.5 --0.0350636 0.0383682 -0.0121121 0.612395 0.5 --0.0339799 0.0384942 -0.0120095 0.733982 0.5 --0.032893 0.0386199 -0.0119052 0.750494 0.5 --0.0318926 0.0385829 -0.0116716 0.752109 0.5 --0.0308995 0.0385461 -0.0114399 0.739403 0.5 --0.029898 0.0385093 -0.0112051 0.729332 0.5 --0.0288553 0.0385536 -0.0110371 0.729343 0.5 --0.0278584 0.0385169 -0.0108032 0.721705 0.5 --0.0268181 0.0385613 -0.0106363 0.740459 0.5 --0.0258632 0.0384431 -0.0103374 0.743669 0.5 --0.0247746 0.0385687 -0.0102357 0.735545 0.5 --0.0238211 0.0384511 -0.00993154 0.736592 0.5 --0.022737 0.0385766 -0.00982941 0.727031 0.5 --0.0216948 0.0386212 -0.00966204 0.734666 0.5 --0.0206962 0.0385843 -0.00942784 0.732595 0.5 --0.0196521 0.0386292 -0.00926197 0.716239 0.5 --0.0186112 0.0386738 -0.00909396 0.736815 0.5 --0.0175711 0.0387182 -0.00892429 0.72682 0.5 --0.016526 0.0387631 -0.00875803 0.72695 0.5 --0.0154839 0.0388074 -0.00858919 0.745217 0.5 --0.0144887 0.0387707 -0.00835843 0.745259 0.5 --0.0134464 0.0388153 -0.00818864 0.738983 0.5 --0.0124032 0.0388598 -0.00801871 0.745417 0.5 --0.0114057 0.038823 -0.00778731 0.735426 0.5 --0.010362 0.0388675 -0.00761727 0.74607 0.5 --0.00936568 0.0388306 -0.00738531 0.738959 0.5 --0.00827497 0.0389568 -0.00728452 0.727843 0.5 --0.00727995 0.0389199 -0.00704692 0.745766 0.5 --0.00623443 0.0389648 -0.00688285 0.739482 0.5 --0.00519498 0.0390091 -0.00671136 0.737822 0.5 --0.00415439 0.0390536 -0.00654274 0.727577 0.5 --0.00310937 0.0390986 -0.00637767 0.727716 0.5 --0.00206815 0.039143 -0.00620903 0.747127 0.5 --0.00106791 0.0391062 -0.00597311 0.738884 0.5 --2.85469e-05 0.0391507 -0.00580542 0.746846 0.5 -0.000968412 0.0391138 -0.00557511 0.745388 0.5 -0.0020129 0.0391581 -0.00540617 0.723452 0.5 -0.00296745 0.0390391 -0.00510833 0.735608 0.5 -0.00382899 0.0387567 -0.00467455 0.666098 0.5 -0.00438439 0.037904 -0.00378653 0.502102 0.5 -0.00466861 0.0365644 -0.00250089 0.413486 0.5 -0.00482377 0.0349755 -0.00101746 0.544311 0.5 -0.00555777 0.034446 -0.000384949 0.698677 0.5 -0.00646739 0.0342464 -2.28584e-05 0.728152 0.5 -0.00742257 0.034128 0.000278711 0.588251 0.5 -0.00846054 0.0341727 0.000449307 0.60984 0.5 -0.00941817 0.0340541 0.000745803 0.479436 0.5 -0.0104604 0.0340987 0.00091581 0.47629 0.5 -0.0114556 0.0340617 0.001148 0.483826 0.5 -0.0125 0.0341066 0.00131673 0.484667 0.5 -0.0135389 0.0341511 0.00148413 0.486986 0.5 -0.0145856 0.0341976 0.00165401 0.501974 0.5 -0.01567 0.0343236 0.00175615 0.524574 0.5 -0.0167125 0.0343686 0.00192575 0.542046 0.5 -0.0177557 0.0344112 0.00209212 0.52981 0.5 -0.0187103 0.0342934 0.0023932 0.497848 0.5 -0.01975 0.0343373 0.00255688 0.448873 0.5 -0.0208395 0.034464 0.00266226 0.274072 0.5 -0.0219677 0.0346711 0.00269802 0.267745 0.5 -0.02301 0.0347163 0.00286296 0.250345 0.5 -0.0240528 0.0347605 0.00303304 0.226911 0.5 -0.0250957 0.0348061 0.00319961 0.119645 0.5 -0.0263615 0.0352587 0.00303932 0.105976 0.5 -0.0274937 0.0354669 0.00307886 0.200469 0.5 -0.0287584 0.0359201 0.00291435 0.188728 0.5 -0.0299331 0.0362092 0.00288494 0.191747 0.5 -0.0310235 0.0363382 0.00298341 0.187967 0.5 -0.0322412 0.0368006 0.00286913 0.201695 0.5 -0.0335361 0.0372674 0.00265432 0.261697 0.5 -0.0348792 0.0378052 0.00236551 0.331106 0.5 -0.0360001 0.0381146 0.00239588 0.614796 0.5 -0.0372047 0.0385834 0.00228863 0.425264 0.5 -0.0383914 0.0390949 0.00219016 0.436662 0.5 --0.0712974 0.0669397 0.02531 0.637698 0.5 --0.073604 0.148628 -0.0255988 0.299412 0.5 --0.058681 0.0336414 -0.0106847 0.153046 0.5 --0.0576816 0.0336048 -0.0104516 0.146944 0 --0.0566419 0.0336495 -0.0102846 0.139644 0 --0.0556017 0.0336949 -0.0101219 0.274477 0.5 --0.0546426 0.0335759 -0.00981752 0.284194 0.5 --0.053649 0.0335392 -0.00958395 0.287259 0.5 --0.0526941 0.0334208 -0.00928256 0.435904 0.5 --0.0516521 0.0334655 -0.0091126 0.455863 0.5 --0.0506516 0.033429 -0.00887801 0.454259 0.5 --0.0496093 0.0334738 -0.00871292 0.448959 0.5 --0.0485683 0.0335187 -0.00854361 0.606842 0.5 --0.0475261 0.0335634 -0.00837623 0.622993 0.5 --0.0465291 0.0335268 -0.00814027 0.74098 0.5 --0.0454406 0.0336534 -0.00804117 0.737158 0.5 --0.0444005 0.0336982 -0.00787213 0.597923 0.5 --0.0433556 0.0337438 -0.00770024 0.431884 0.5 --0.0422261 0.0339521 -0.0076663 0.266235 0.5 --0.0409612 0.0344092 -0.00782476 0.169268 0.5 --0.0385893 0.036902 -0.00962928 0.134577 0.5 --0.036834 0.0382539 -0.0105119 0.373602 0.5 --0.0357494 0.0383801 -0.010405 0.450985 0.5 --0.0347052 0.0384254 -0.0102399 0.584947 0.5 --0.0336174 0.0385515 -0.0101375 0.590451 0.5 --0.0326229 0.0385148 -0.00990233 0.75119 0.5 --0.0316228 0.0384779 -0.00967109 0.762151 0.5 --0.0306251 0.038441 -0.00943325 0.762241 0.5 --0.0296256 0.0384042 -0.00919904 0.752556 0.5 --0.0286315 0.0383676 -0.00896928 0.742111 0.5 --0.0275879 0.0384125 -0.00879832 0.725311 0.5 --0.0265472 0.0384572 -0.00862977 0.752513 0.5 --0.0255449 0.0384207 -0.00839698 0.736476 0.5 --0.0245074 0.0384654 -0.0082311 0.746923 0.5 --0.0234618 0.0385102 -0.00806272 0.748687 0.5 --0.0224668 0.0384735 -0.00782567 0.745032 0.5 --0.0214231 0.0385184 -0.00765668 0.747575 0.5 --0.0204228 0.0384821 -0.0074254 0.750987 0.5 --0.0193391 0.0386082 -0.00732295 0.729493 0.5 --0.0182966 0.038653 -0.00715499 0.744343 0.5 --0.0172971 0.0386165 -0.00691824 0.726432 0.5 --0.0162113 0.0387427 -0.00681752 0.729106 0.5 --0.0152122 0.0387061 -0.0065833 0.753313 0.5 --0.0141697 0.038751 -0.00641336 0.728244 0.5 --0.0131274 0.0387957 -0.00624825 0.744775 0.5 --0.0121322 0.038759 -0.00601251 0.744826 0.5 --0.011089 0.038804 -0.005846 0.73859 0.5 --0.0100479 0.0388486 -0.00567581 0.755821 0.5 --0.00904748 0.0388121 -0.00544357 0.735649 0.5 --0.00800869 0.0388567 -0.00527149 0.7269 0.5 --0.00696577 0.0389018 -0.00510709 0.738855 0.5 --0.00592104 0.0389465 -0.0049376 0.747791 0.5 --0.00492317 0.0389099 -0.00470281 0.746306 0.5 --0.0038834 0.0389548 -0.00453366 0.729149 0.5 --0.00283875 0.0389996 -0.00436591 0.736451 0.5 --0.00179731 0.0390446 -0.00419837 0.727392 0.5 --0.000753868 0.0390895 -0.00403098 0.737592 0.5 -0.000289503 0.0391337 -0.00386275 0.74914 0.5 -0.00124143 0.0390154 -0.00356473 0.743037 0.5 -0.0021495 0.0388151 -0.00319944 0.707421 0.5 -0.00292266 0.0383702 -0.00263564 0.596139 0.5 -0.00334505 0.0372684 -0.00154693 0.450749 0.5 -0.00349851 0.0356817 -6.66678e-05 0.458565 0.5 -0.00396334 0.0346642 0.000955872 0.645421 0.5 -0.00478616 0.0342999 0.00145343 0.585873 0.5 -0.00569406 0.0341002 0.00181761 0.603731 0.5 -0.00669444 0.0340637 0.00205518 0.614877 0.5 -0.00773677 0.0341095 0.00222437 0.447792 0.5 -0.00886878 0.0343168 0.00225753 0.48562 0.5 -0.00991096 0.0343624 0.00242681 0.359639 0.5 -0.0109499 0.0344084 0.00259617 0.367128 0.5 -0.011996 0.0344545 0.00276628 0.365927 0.5 -0.0130382 0.0344991 0.00293188 0.359942 0.5 -0.0141672 0.0347073 0.00296826 0.342276 0.5 -0.0153865 0.0350801 0.00287497 0.335604 0.5 -0.016475 0.0352036 0.002978 0.38959 0.5 -0.0174262 0.0350846 0.00327627 0.396547 0.5 -0.0183334 0.0348857 0.00364336 0.393946 0.5 -0.0192462 0.0346832 0.00400718 0.386246 0.5 -0.020155 0.0344845 0.00437508 0.560762 0.5 -0.0211096 0.0343656 0.00467028 0.501928 0.5 -0.022195 0.0344915 0.00477409 0.450354 0.5 -0.0231948 0.0344554 0.00500709 0.421302 0.5 -0.0242808 0.034582 0.00510919 0.271691 0.5 -0.0253641 0.0347082 0.00521179 0.26298 0.5 -0.0264528 0.0348348 0.00531809 0.25408 0.5 -0.0275416 0.0349624 0.00541796 0.356316 0.5 -0.0287147 0.0352518 0.00538775 0.342223 0.5 -0.029758 0.0352966 0.00556049 0.346539 0.5 -0.0309311 0.0355864 0.0055308 0.306959 0.5 -0.0323006 0.0361518 0.00522301 0.256828 0.5 -0.0334512 0.0365216 0.00521608 0.283876 0.5 -0.0346158 0.0369318 0.00517598 0.291304 0.5 -0.0359007 0.0374161 0.00496434 0.294632 0.5 -0.0372544 0.0379189 0.00466817 0.293184 0.5 -0.0385114 0.038461 0.00447642 0.345904 0.5 -0.0398172 0.0390737 0.00420564 0.407268 0.5 --0.0704829 0.066568 0.025804 0.625591 0.258423 --0.0750442 0.11265 0.048722 0.371426 0.5 --0.0623556 0.0337533 -0.00969501 0.153807 0 --0.0614467 0.0335533 -0.00933279 0 0 --0.0604012 0.0335984 -0.00916237 0.151213 0 --0.0593595 0.0336431 -0.00899455 0.29825 0.5 --0.0584052 0.033525 -0.00869675 0.300584 0.5 --0.057411 0.0334884 -0.00846165 0.296973 0.5 --0.0564565 0.03337 -0.00815977 0.291561 0.5 --0.0554108 0.0334149 -0.00799207 0.442212 0.5 --0.0544171 0.0333785 -0.00775516 0.444591 0.5 --0.0533709 0.0334238 -0.0075905 0.452838 0.5 --0.0523328 0.0334686 -0.00741897 0.604499 0.5 --0.0513331 0.0334323 -0.00718543 0.615174 0.5 --0.0502892 0.0334774 -0.00701976 0.616459 0.5 --0.0492467 0.0335224 -0.00684693 0.607119 0.5 --0.0482055 0.0335674 -0.00667883 0.75581 0.5 --0.0472066 0.033531 -0.00644781 0.766392 0.5 --0.0461681 0.033576 -0.00628041 0.748866 0.5 --0.0451234 0.0336213 -0.00611106 0.597199 0.5 --0.0440788 0.0336672 -0.00594116 0.437161 0.5 --0.0429498 0.0338754 -0.00590515 0.27932 0.5 --0.0418663 0.0340021 -0.00580283 0 0 --0.0396703 0.036174 -0.00733977 0 0 --0.0374695 0.0383458 -0.0088734 0.25558 0.5 --0.0364291 0.0383909 -0.00870817 0.296131 0.5 --0.0354329 0.0383545 -0.00847377 0.443175 0.5 --0.0343438 0.0384811 -0.00836679 0.443761 0.5 --0.033348 0.0384446 -0.00813352 0.602465 0.5 --0.0323055 0.0384897 -0.00796454 0.605228 0.5 --0.0313094 0.0384531 -0.00773361 0.774706 0.5 --0.0303114 0.0384164 -0.0075003 0.774834 0.5 --0.029312 0.0383797 -0.00726542 0.77486 0.5 --0.0283123 0.0383433 -0.00703005 0.756442 0.5 --0.0272728 0.0383881 -0.00686007 0.743177 0.5 --0.0262755 0.0383516 -0.00662702 0.743178 0.5 --0.0252324 0.0383969 -0.00646059 0.736912 0.5 --0.0241881 0.038442 -0.0062907 0.735224 0.5 --0.0231474 0.0384868 -0.00611954 0.744363 0.5 --0.0221494 0.0384504 -0.005885 0.736562 0.5 --0.0210631 0.0385773 -0.00578617 0.741413 0.5 --0.0200635 0.0385408 -0.00554998 0.747019 0.5 --0.0190244 0.0385858 -0.00538325 0.733606 0.5 --0.0180225 0.0385494 -0.00514634 0.743676 0.5 --0.0169827 0.0385945 -0.00497776 0.718901 0.5 --0.0158939 0.0387206 -0.00487532 0.743189 0.5 --0.0149445 0.0386028 -0.00457425 0.735034 0.5 --0.0138558 0.0387296 -0.0044727 0.726087 0.5 --0.012858 0.0386932 -0.00424091 0.744169 0.5 --0.0118175 0.0387383 -0.00407256 0.737904 0.5 --0.0107728 0.0387832 -0.00390135 0.744368 0.5 --0.00977658 0.0387467 -0.00366788 0.752549 0.5 --0.00877818 0.0387104 -0.00343461 0.739258 0.5 --0.00769265 0.0388371 -0.00333188 0.729708 0.5 --0.0066489 0.0388823 -0.00316153 0.738299 0.5 --0.00560731 0.0389273 -0.00299633 0.75557 0.5 --0.00460988 0.0388908 -0.00276124 0.737891 0.5 --0.0035205 0.039017 -0.00265492 0.739867 0.5 --0.00256734 0.0388997 -0.00235847 0.74714 0.5 --0.0014827 0.0390261 -0.00225591 0.727044 0.5 --0.000484271 0.038989 -0.00201961 0.744832 0.5 -0.000468869 0.0388702 -0.00172096 0.738069 0.5 -0.00133195 0.0385877 -0.00128958 0.67806 0.5 -0.00197552 0.0378956 -0.000532016 0.529897 0.5 -0.00221584 0.0364728 0.00081639 0.441385 0.5 -0.00250327 0.0351261 0.00210209 0.547092 0.5 -0.00314961 0.0344334 0.00286196 0.706513 0.5 -0.00401259 0.0341521 0.00329327 0.615151 0.5 -0.0049695 0.0340349 0.00359293 0.466077 0.5 -0.00605345 0.0341614 0.00369541 0.491204 0.5 -0.00709964 0.0342068 0.00386204 0.483293 0.5 -0.00822806 0.0344179 0.00390084 0.278726 0.5 -0.00958242 0.0350342 0.0036093 0.334864 0.5 -0.0106658 0.0351593 0.00371028 0 0 -0.0117524 0.0352863 0.00381322 0 0 -0.0128834 0.035495 0.00385056 0 0 -0.0140143 0.0357038 0.00388789 0 0 -0.0153228 0.0362397 0.00366285 0 0 -0.0162763 0.0361212 0.00396256 0 0 -0.0171854 0.035921 0.00432788 0 0 -0.0180082 0.0355585 0.00482766 0.199246 0.5 -0.0189142 0.0353585 0.00519133 0.398949 0.5 -0.0198267 0.035157 0.00555798 0.398255 0.5 -0.0207355 0.0349558 0.0059225 0.395945 0.5 -0.0216001 0.0346735 0.00635285 0.379547 0.5 -0.0224671 0.0343921 0.00678503 0.521628 0.5 -0.0234619 0.0343557 0.00702041 0.441138 0.5 -0.024593 0.0345639 0.00705834 0.414057 0.5 -0.0256371 0.0346096 0.00722464 0.411618 0.5 -0.0267233 0.0347365 0.00732658 0.408784 0.5 -0.0277666 0.0347822 0.00749516 0.539598 0.5 -0.0288939 0.0349903 0.0075309 0.525656 0.5 -0.0299365 0.0350356 0.00770058 0.515667 0.5 -0.0310703 0.0352449 0.00774073 0.472487 0.5 -0.0322458 0.0355363 0.00770856 0.440429 0.5 -0.0335552 0.036072 0.00748554 0.311204 0.5 -0.0348194 0.0365264 0.00732462 0.310292 0.5 -0.0360751 0.0370336 0.00715793 0.256653 0.5 -0.0374618 0.0376657 0.00680115 0.313121 0.5 -0.0387381 0.0381712 0.0065938 0.351128 0.5 -0.0400498 0.0387801 0.0063192 0.32279 0.5 --0.0696571 0.0662079 0.0262916 0.599927 0.5 --0.0688031 0.0659098 0.026726 0.572166 0.5 --0.079479 0.1087 0.0330138 0.470044 0.5 --0.0695902 0.113495 0.0492959 0.350201 0.361928 --0.0908243 0.114994 0.023547 0.733146 0.5 --0.0581295 0.0643065 0.0321224 0.456324 0.5 --0.0641215 0.0336259 -0.00810847 0.160014 0.5 --0.0630768 0.0336712 -0.00794186 0.299846 0.5 --0.0620809 0.0336347 -0.00771095 0.300156 0.5 --0.0610844 0.0335982 -0.00747508 0.298431 0.5 --0.0601285 0.0334799 -0.007174 0.298248 0.5 --0.0591321 0.0334434 -0.0069378 0.453205 0.5 --0.0581339 0.0334069 -0.00670381 0.456602 0.5 --0.0571361 0.0333705 -0.00647115 0.463164 0.5 --0.056091 0.0334157 -0.00629765 0.45383 0.5 --0.0550956 0.0333795 -0.00606735 0.610561 0.5 --0.0540526 0.0334248 -0.00589512 0.606522 0.5 --0.0530523 0.0333885 -0.00566149 0.614129 0.5 --0.0520123 0.033434 -0.00549431 0.748042 0.5 --0.0509261 0.0335608 -0.00538789 0.759903 0.5 --0.049929 0.0335244 -0.00515732 0.777134 0.5 --0.0489307 0.0334882 -0.00491951 0.766897 0.5 --0.0478872 0.0335336 -0.00475407 0.757173 0.5 --0.0468444 0.033579 -0.0045851 0.757211 0.5 --0.0458025 0.0336244 -0.00441422 0.747969 0.5 --0.0447604 0.0336698 -0.00424497 0.606831 0.5 --0.043721 0.033715 -0.00407894 0.437127 0.5 --0.0426327 0.0338426 -0.00397459 0.274238 0.5 --0.0415043 0.0340515 -0.0039392 0 0 --0.0380666 0.0385186 -0.00730796 0 0 --0.0372457 0.0381548 -0.00680953 0.151834 0.5 --0.0361586 0.0382819 -0.0067057 0.296324 0.5 --0.0350693 0.0384092 -0.00660408 0.292015 0.5 --0.0340295 0.0384544 -0.00643688 0.453504 0.5 --0.0330305 0.0384181 -0.00620006 0.453734 0.5 --0.0319894 0.0384633 -0.00603174 0.602378 0.5 --0.0309909 0.0384268 -0.00579914 0.611245 0.5 --0.0299919 0.0383903 -0.00556396 0.617929 0.5 --0.0289964 0.0383539 -0.00532847 0.763748 0.5 --0.0279974 0.0383174 -0.0050935 0.766881 0.5 --0.026997 0.0382812 -0.00486026 0.767211 0.5 --0.0259579 0.0383264 -0.00469023 0.74735 0.5 --0.0249134 0.0383716 -0.00452352 0.742631 0.5 --0.0239185 0.0383353 -0.00428996 0.73263 0.5 --0.0228745 0.0383806 -0.00412065 0.743266 0.5 --0.0218791 0.0383442 -0.00388387 0.727073 0.5 --0.0207908 0.0384714 -0.00378381 0.72346 0.5 --0.0197923 0.038435 -0.00354579 0.732939 0.5 --0.0187529 0.0384803 -0.00337678 0.734999 0.5 --0.0177093 0.0385258 -0.00321073 0.735049 0.5 --0.0166687 0.038571 -0.00303984 0.722922 0.5 --0.0156709 0.0385345 -0.00280448 0.73867 0.5 --0.014626 0.03858 -0.00263697 0.712904 0.5 --0.013583 0.0386256 -0.002471 0.713598 0.5 --0.0125434 0.0386707 -0.00229897 0.725057 0.5 --0.0114977 0.038716 -0.00213082 0.7336 0.5 --0.0104996 0.03868 -0.00189881 0.743787 0.5 --0.00945842 0.0387253 -0.00172767 0.748427 0.5 --0.00841793 0.0387705 -0.00155909 0.737928 0.5 --0.00737522 0.0388161 -0.00139235 0.72549 0.5 --0.00633129 0.0388612 -0.00122239 0.731554 0.5 --0.00533786 0.0388247 -0.000985585 0.739433 0.5 --0.00433796 0.0387886 -0.000752538 0.716876 0.5 --0.00324909 0.0389153 -0.000648163 0.733709 0.5 --0.00225297 0.0388793 -0.00041461 0.726732 0.5 --0.00121369 0.0389243 -0.000247464 0.741365 0.5 --0.000258207 0.0388058 4.93079e-05 0.728422 0.5 -0.000471055 0.038278 0.000679374 0.631684 0.5 -0.000983167 0.0373381 0.00163376 0.502634 0.5 -0.00122549 0.0359125 0.00298025 0.493588 0.5 -0.00164525 0.0348132 0.00406568 0.655591 0.5 -0.00242535 0.0343652 0.00462872 0.780536 0.5 -0.00333114 0.0341656 0.00499397 0.62827 0.5 -0.0043328 0.0341303 0.00522853 0.442761 0.5 -0.00555045 0.034504 0.00513967 0.301354 0.5 -0.00659366 0.0345497 0.005308 0.351048 0.5 -0.00767659 0.0346834 0.0054103 0.277976 0.5 -0.00942926 0.0360304 0.00452751 0 0 -0.0187645 0.036357 0.00611202 0 0 -0.0195848 0.035993 0.00660837 0 0 -0.0204519 0.0357096 0.00704168 0.193893 0.5 -0.0212269 0.035264 0.00760182 0.37449 0.5 -0.0220013 0.0348195 0.00816409 0.372931 0.5 -0.0228246 0.0344564 0.00866393 0.382371 0.5 -0.0237757 0.0343382 0.00896337 0.522259 0.5 -0.0248201 0.0343822 0.00913252 0.624212 0.5 -0.0258636 0.0344283 0.00929921 0.555977 0.5 -0.0270364 0.0347184 0.00926922 0.562608 0.5 -0.0280342 0.0346822 0.009507 0.710731 0.5 -0.0291213 0.0348096 0.00960912 0.691599 0.5 -0.0302544 0.035019 0.00964843 0.673297 0.5 -0.0313837 0.0352278 0.00968341 0.66185 0.5 -0.0324709 0.0353558 0.0097886 0.48837 0.5 -0.0336899 0.0357287 0.00969367 0.444852 0.5 -0.0349983 0.0362655 0.0094693 0.409093 0.5 -0.03635 0.0368836 0.00917982 0.408127 0.5 -0.0376665 0.0374378 0.0089364 0.300353 0.5 -0.039051 0.0380783 0.00858362 0.244661 0.5 -0.0403512 0.038719 0.00830945 0.30694 0.5 -0.0418337 0.0395215 0.00781447 0.248144 0.5 -0.043074 0.0401669 0.0073914 0.313063 0.399249 --0.0679412 0.0656184 0.0271584 0.545515 0.5 --0.0768739 0.0698402 0.0216311 0.731972 0.5 --0.0761006 0.0693618 0.0222283 0.726973 0.359025 --0.0805782 0.112389 0.0458728 0.474926 0.5 --0.0667502 0.0337781 -0.00695475 0.149925 0.5 --0.0657521 0.033742 -0.00672308 0.293695 0.5 --0.0647084 0.033787 -0.00655215 0.301492 0.5 --0.0637555 0.0336685 -0.00625178 0.308515 0.5 --0.0628446 0.0334683 -0.00588606 0.456775 0.5 --0.0618946 0.0333508 -0.00558837 0.440823 0.5 --0.0608506 0.0333964 -0.00541551 0.444064 0.5 --0.0598089 0.0334419 -0.0052474 0.453491 0.5 --0.0588111 0.0334057 -0.00501142 0.619775 0.5 --0.0577717 0.0334512 -0.00484461 0.617296 0.5 --0.0568164 0.0333332 -0.00454462 0.612996 0.5 --0.0557727 0.0333786 -0.00437552 0.621894 0.5 --0.0547761 0.0333427 -0.00414144 0.759139 0.5 --0.0536876 0.0334698 -0.00403732 0.76829 0.5 --0.0526923 0.0334338 -0.00380212 0.767454 0.5 --0.0516478 0.0334795 -0.00363494 0.747459 0.5 --0.0506075 0.0335251 -0.00346549 0.756493 0.5 --0.0495662 0.0335706 -0.0032948 0.779152 0.5 --0.0485652 0.0335345 -0.00306359 0.779162 0.5 --0.0475247 0.0335798 -0.00289187 0.767834 0.5 --0.0465281 0.033544 -0.0026564 0.759674 0.5 --0.0454423 0.0336713 -0.00255197 0.749381 0.5 --0.0444006 0.0337168 -0.00238543 0.612376 0.5 --0.0434 0.0336807 -0.00215159 0.44661 0.5 --0.0423597 0.0337264 -0.0019814 0.282742 0.5 --0.041271 0.0338554 -0.00188008 0.133265 0.5 --0.0399669 0.0343914 -0.00210399 0 0 --0.0367962 0.0383714 -0.00507539 0 0 --0.0357967 0.0383351 -0.00483874 0.150049 0.5 --0.0347516 0.0383809 -0.00467189 0.293475 0.5 --0.033711 0.0384262 -0.00450177 0.297463 0.5 --0.0327132 0.0383899 -0.00426549 0.451206 0.5 --0.0317158 0.0383538 -0.00403424 0.45308 0.5 --0.0306743 0.0383989 -0.00386137 0.463048 0.5 --0.0297217 0.0382812 -0.0035606 0.610156 0.5 --0.0286807 0.0383267 -0.00339493 0.607422 0.5 --0.0276376 0.0383723 -0.00322479 0.779172 0.5 --0.0266388 0.038336 -0.00299264 0.776814 0.5 --0.0256418 0.0382997 -0.00275652 0.766473 0.5 --0.0246408 0.0382637 -0.00251941 0.766866 0.5 --0.0236004 0.0383091 -0.00235181 0.746961 0.5 --0.0225582 0.0383546 -0.00218286 0.755714 0.5 --0.0215605 0.0383186 -0.00194746 0.748133 0.5 --0.0205171 0.0383642 -0.00178242 0.745228 0.5 --0.0194769 0.0384097 -0.0016118 0.736153 0.5 --0.018436 0.0384553 -0.00144245 0.745102 0.5 --0.0174383 0.038419 -0.00120725 0.74366 0.5 --0.0163928 0.0384645 -0.00103951 0.740502 0.5 --0.0153967 0.0384283 -0.000805549 0.744056 0.5 --0.0143997 0.0383922 -0.000568703 0.738427 0.5 --0.0133132 0.0385196 -0.000466347 0.714623 0.5 --0.0122712 0.0385653 -0.000297189 0.714187 0.5 --0.0112267 0.038611 -0.000125945 0.734972 0.5 --0.010188 0.0386565 4.14997e-05 0.735039 0.5 --0.00914442 0.0387021 0.000210725 0.733132 0.5 --0.00814574 0.0386661 0.000442505 0.733192 0.5 --0.00710159 0.0387114 0.00061319 0.73368 0.5 --0.00610364 0.0386755 0.000846714 0.741983 0.5 --0.00506288 0.0387211 0.00101779 0.737639 0.5 --0.00402317 0.0387663 0.0011878 0.744769 0.5 --0.00302574 0.0387303 0.00142158 0.723435 0.5 --0.00193792 0.0388572 0.00152241 0.735956 0.5 --0.00107263 0.0385746 0.00195199 0.725453 0.5 --0.000342105 0.0380462 0.00257941 0.624771 0.5 -7.57538e-05 0.0369473 0.00366537 0.523338 0.5 -0.00040853 0.0356817 0.00488121 0.577176 0.5 -0.000965074 0.0348235 0.00577003 0.752953 0.5 -0.00178793 0.0344587 0.00626566 0.796819 0.5 -0.0026516 0.0341771 0.00670019 0.639287 0.5 -0.003605 0.0340592 0.00699628 0.465107 0.5 -0.00464616 0.034105 0.00716872 0.258125 0.5 -0.00621941 0.0351341 0.00654928 0 0 -0.00788239 0.0363273 0.00580236 0 0 -0.0208979 0.0359371 0.0087849 0 0 -0.021677 0.0354914 0.00935068 0.195712 0.5 -0.0225395 0.0352111 0.00978173 0.397851 0.5 -0.0234483 0.0350084 0.0101439 0.393025 0.5 -0.0243141 0.0347256 0.0105738 0.551481 0.5 -0.0251817 0.0344441 0.0110044 0.507469 0.5 -0.0262204 0.0344897 0.0111735 0.589922 0.5 -0.0273074 0.0346174 0.0112772 0.721002 0.5 -0.0283929 0.0347449 0.011384 0.722729 0.5 -0.0294825 0.0348729 0.0114843 0.713825 0.5 -0.0305676 0.0350004 0.0115893 0.714418 0.5 -0.0316541 0.0351286 0.0116939 0.695533 0.5 -0.0328304 0.0354201 0.0116657 0.677983 0.5 -0.0339626 0.0356317 0.0117064 0.623526 0.5 -0.0353133 0.0362497 0.0114171 0.551462 0.5 -0.036694 0.0368281 0.0111245 0.330294 0.408959 -0.0379749 0.0374097 0.0109015 0.283164 0.5 -0.0393737 0.0381589 0.0105128 0.224976 0.425821 -0.0409151 0.0390283 0.00994476 0.227765 0.5 -0.0422611 0.0397457 0.00959333 0.360441 0.5 -0.0436509 0.0403831 0.00924323 0.363818 0.5 -0.045017 0.0410596 0.00889517 0.37214 0.5 --0.0796522 0.0704439 0.0152371 0.577899 0.5 --0.080526 0.109264 0.0359357 0.503151 0.426569 --0.0789279 0.0699144 0.0158521 0.565571 0.311867 --0.0781672 0.0694403 0.0164131 0.561735 0.5 --0.0774125 0.06897 0.0169693 0.756064 0.5 --0.067477 0.0336926 -0.00520632 0.301842 0.5 --0.066433 0.0337378 -0.00503676 0.300493 0.5 --0.065521 0.0335373 -0.00466605 0.450339 0.5 --0.0645229 0.0335011 -0.00443342 0.443116 0.5 --0.0635243 0.0334646 -0.00419693 0.455735 0.5 --0.0625734 0.0333471 -0.00389969 0.616134 0.5 --0.0615294 0.0333928 -0.00373148 0.613213 0.5 --0.0605348 0.0333568 -0.0034971 0.605677 0.5 --0.0594457 0.0334843 -0.00338966 0.614106 0.5 --0.0584915 0.0333664 -0.00308936 0.782452 0.5 --0.0574937 0.0333307 -0.00285911 0.765479 0.5 --0.0564079 0.0334582 -0.0027528 0.760998 0.5 --0.0554099 0.0334223 -0.00251784 0.789377 0.5 --0.0543692 0.0334679 -0.00234676 0.766843 0.5 --0.0533713 0.0334322 -0.00211203 0.766928 0.5 --0.0523266 0.033478 -0.00194369 0.769123 0.5 --0.0512875 0.0335238 -0.00177633 0.757543 0.5 --0.0502435 0.0335698 -0.00160666 0.75765 0.5 --0.0492034 0.0336154 -0.00143623 0.776051 0.5 --0.0482041 0.0335795 -0.00119996 0.767096 0.5 --0.0471614 0.0336254 -0.00103179 0.769217 0.5 --0.046121 0.0336712 -0.000864342 0.758168 0.5 --0.0450772 0.0337168 -0.000691764 0.753621 0.5 --0.044079 0.0336811 -0.000461832 0.609364 0.5 --0.0430409 0.0337266 -0.000289053 0.446067 0.5 --0.0419982 0.0337727 -0.000124238 0.29437 0.5 --0.0410423 0.0336551 0.000178151 0.266658 0.5 --0.0399106 0.033865 0.000215963 0.126783 0.5 --0.0388285 0.0339925 0.000319116 0 0 --0.0354812 0.0383051 -0.00290933 0 0 --0.0344792 0.0382691 -0.00267158 0.146923 0.5 --0.0334383 0.0383149 -0.00250434 0.296252 0.5 --0.0323958 0.0383608 -0.00233468 0.293766 0.5 --0.0313536 0.0384061 -0.00216621 0.306705 0.5 --0.0304023 0.0382885 -0.00186367 0.469634 0.5 --0.0293612 0.0383343 -0.00169706 0.454585 0.5 --0.0283184 0.0383801 -0.00152859 0.602718 0.5 --0.0273216 0.038344 -0.00129213 0.60937 0.5 --0.0263218 0.038308 -0.00105771 0.764138 0.5 --0.0252778 0.0383536 -0.00088571 0.767443 0.5 --0.0242795 0.0383175 -0.000652306 0.777868 0.5 --0.0232836 0.0382816 -0.000419572 0.767592 0.5 --0.0222409 0.0383275 -0.000251248 0.755911 0.5 --0.0212016 0.0383732 -7.87452e-05 0.755922 0.5 --0.0202041 0.0383371 0.000156328 0.753895 0.5 --0.0191613 0.038383 0.000326194 0.734114 0.5 --0.0181173 0.0384288 0.000495732 0.754006 0.5 --0.0171212 0.0383927 0.000728518 0.762157 0.5 --0.0161203 0.0383572 0.000963241 0.745565 0.5 --0.0150366 0.0384845 0.00106724 0.759653 0.5 --0.0140374 0.0384483 0.0012996 0.767976 0.5 --0.0130394 0.0384127 0.00153612 0.747684 0.5 --0.0119534 0.0385403 0.00164014 0.725966 0.5 --0.0109134 0.038586 0.0018115 0.743336 0.5 --0.00991465 0.0385501 0.00204441 0.744111 0.5 --0.00887371 0.0385959 0.0022117 0.743773 0.5 --0.00782857 0.0386419 0.00238313 0.734679 0.5 --0.0067878 0.0386876 0.00254936 0.75183 0.5 --0.00578939 0.0386518 0.00278679 0.735508 0.5 --0.00470317 0.038779 0.00289117 0.745149 0.5 --0.0037488 0.0386615 0.00318783 0.760178 0.5 --0.00270805 0.0387067 0.00335713 0.742849 0.5 --0.00180254 0.0385071 0.00372255 0.733391 0.5 --0.00115829 0.0378141 0.0044798 0.623426 0.5 --0.000693426 0.0367942 0.0054988 0.57708 0.5 --0.000271447 0.0356914 0.00658166 0.658939 0.5 -0.000373363 0.0349968 0.00734292 0.75819 0.5 -0.00110225 0.0344701 0.00796988 0.801881 0.5 -0.00201718 0.0342688 0.0083365 0.649036 0.5 -0.00296971 0.0341513 0.00863676 0.476405 0.5 -0.00396755 0.0341147 0.00886829 0.323397 0.5 -0.0049172 0.0339971 0.00916661 0 0 -0.0222999 0.0360441 0.0108303 0.192505 0.5 -0.0230318 0.0355156 0.0114574 0.354354 0.5 -0.0237641 0.0349876 0.0120857 0.360666 0.5 -0.0246298 0.0347052 0.0125163 0.550122 0.5 -0.0255827 0.034587 0.0128177 0.67805 0.5 -0.0265802 0.0345508 0.0130494 0.777963 0.5 -0.0276661 0.034679 0.0131567 0.744671 0.5 -0.0287557 0.0348074 0.0132587 0.734442 0.5 -0.0298844 0.0350171 0.0132987 0.734678 0.5 -0.0309714 0.035145 0.0133989 0.735052 0.5 -0.0321473 0.0354374 0.0133726 0.719837 0.5 -0.0333197 0.0357288 0.0133458 0.727544 0.5 -0.0345426 0.0361041 0.0132537 0.685356 0.5 -0.0357625 0.0364791 0.0131618 0.635106 0.5 -0.0371127 0.037099 0.0128773 0.563499 0.5 -0.0385505 0.0378908 0.0124577 0.330402 0.5 -0.0398565 0.0384519 0.0122163 0.218926 0.425192 -0.0413373 0.0392631 0.0117259 0.261462 0.5 -0.0427163 0.0399244 0.0113768 0.345857 0.5 -0.0440394 0.0405103 0.0110966 0.338498 0.5 -0.0454742 0.0412367 0.0106737 0.30411 0.254234 --0.0670784 0.0653289 0.0275882 0.511682 0.369115 --0.0662043 0.065068 0.0280019 0.407738 0.328506 --0.0899789 0.116378 0.0441376 0.632631 0.5 --0.0829702 0.111001 0.0428895 0.555395 0.5 --0.0653246 0.0648097 0.0284194 0.508358 0.5 --0.0697867 0.034416 -0.00452426 0.143466 0 --0.0690565 0.0338884 -0.00389811 0.307492 0.5 --0.0681462 0.033688 -0.00353141 0.465623 0.5 --0.0671901 0.0335697 -0.00322908 0.451072 0.5 --0.0661933 0.0335338 -0.00299624 0.452934 0.5 --0.0651961 0.0334974 -0.00275965 0.622696 0.5 --0.0642448 0.0333797 -0.00245942 0.623498 0.5 --0.063243 0.0333437 -0.00222576 0.61939 0.5 --0.0622051 0.0333895 -0.00205752 0.757078 0.5 --0.0611633 0.0334354 -0.00188959 0.778072 0.5 --0.0601615 0.0333995 -0.00165181 0.768004 0.5 --0.0591204 0.0334451 -0.00148219 0.773623 0.5 --0.0581251 0.0334091 -0.00125013 0.786861 0.5 --0.0571262 0.0333733 -0.00101401 0.760838 0.5 --0.0560415 0.0335011 -0.000906542 0.76994 0.5 --0.0550408 0.0334649 -0.000671931 0.786869 0.5 --0.0540428 0.0334293 -0.000440359 0.769074 0.5 --0.0529595 0.0335568 -0.000338033 0.769082 0.5 --0.0519598 0.0335208 -0.000101812 0.764684 0.5 --0.0509168 0.0335668 6.7085e-05 0.742717 0.5 --0.0498753 0.0336124 0.000239655 0.743661 0.5 --0.0488762 0.0335766 0.000473902 0.76194 0.5 --0.0478366 0.0336224 0.000642732 0.742765 0.5 --0.0467966 0.0336683 0.000813328 0.743692 0.5 --0.0457991 0.0336321 0.00104877 0.749406 0.5 --0.0447526 0.0336781 0.00121434 0.735308 0.5 --0.0437553 0.033642 0.00144997 0.587998 0.5 --0.042758 0.0336059 0.00168497 0.441582 0.5 --0.0417615 0.03357 0.00191851 0.447365 0.5 --0.0407181 0.0336157 0.00208844 0.288307 0.5 --0.0397192 0.03358 0.00232461 0.283385 0.5 --0.0386792 0.0336259 0.00249375 0.146173 0.5 --0.0376403 0.0336717 0.00266115 0 0 --0.0341168 0.0383136 -0.000825234 0 0 --0.0331634 0.0381954 -0.000525199 0 0 --0.0320742 0.0383234 -0.000421092 0.143839 0.5 --0.0310333 0.0383692 -0.000250742 0.299466 0.5 --0.030037 0.0383331 -1.37538e-05 0.301296 0.5 --0.0290376 0.038297 0.000217512 0.456211 0.5 --0.0280399 0.038261 0.000453129 0.449918 0.5 --0.0269995 0.0383068 0.000625566 0.601453 0.5 --0.0260008 0.0382709 0.000860974 0.603442 0.5 --0.0249563 0.0383168 0.00102848 0.754216 0.5 --0.0239168 0.0383626 0.00119722 0.76595 0.5 --0.0229162 0.0383263 0.00143492 0.773581 0.5 --0.0219183 0.0382906 0.00166561 0.752074 0.5 --0.0208788 0.0383361 0.00183886 0.749414 0.5 --0.0198829 0.0383003 0.00206982 0.743426 0.5 --0.0188389 0.0383463 0.00224079 0.743371 0.5 --0.017795 0.038392 0.00241319 0.752154 0.5 --0.0167976 0.0383562 0.00264497 0.764934 0.5 --0.0157589 0.038402 0.00281447 0.745592 0.5 --0.0147126 0.0384481 0.00298688 0.743504 0.5 --0.0136741 0.0384938 0.00315386 0.766064 0.5 --0.0126734 0.0384579 0.00339052 0.755054 0.5 --0.0116325 0.0385039 0.00355749 0.732374 0.5 --0.0105902 0.0385498 0.00372703 0.74352 0.5 --0.00955085 0.0385956 0.00389466 0.751965 0.5 --0.0085531 0.0385596 0.00412906 0.743611 0.5 --0.00750789 0.0386054 0.00429878 0.752168 0.5 --0.00651 0.0385696 0.00453582 0.751969 0.5 --0.00546749 0.0386155 0.00470576 0.733623 0.5 --0.00442631 0.0386612 0.00487339 0.747585 0.5 --0.00342977 0.0386245 0.00511046 0.758455 0.5 --0.00252234 0.038424 0.00547409 0.736516 0.5 --0.00188052 0.0377314 0.00623396 0.666167 0.5 --0.00137013 0.0367929 0.00718583 0.636923 0.5 --0.00085919 0.0358547 0.00813469 0.693124 0.5 --0.000261091 0.0350803 0.00896105 0.779853 0.5 -0.000514101 0.0346343 0.00952105 0.841429 0.5 -0.00137957 0.0343513 0.00995357 0.832789 0.5 -0.00228893 0.0341509 0.0103163 0.644619 0.5 -0.00333358 0.0341967 0.0104872 0.443141 0.5 -0.0044664 0.0344032 0.010526 0.322834 0.5 -0.00514996 0.0337963 0.0112147 0 0 -0.0226207 0.0360088 0.0127544 0.180494 0.5 -0.0233968 0.0355618 0.0133136 0.359895 0.5 -0.0241747 0.0351145 0.0138772 0.517551 0.5 -0.0249955 0.0347512 0.0143719 0.639642 0.5 -0.0259946 0.0347155 0.014606 0.785811 0.5 -0.0270369 0.0347621 0.0147774 0.776823 0.5 -0.0281202 0.0348895 0.0148787 0.765565 0.5 -0.0292084 0.0350186 0.0149853 0.744825 0.5 -0.0303366 0.0352283 0.0150252 0.745854 0.5 -0.0315592 0.035603 0.0149292 0.693133 0.5 -0.0327757 0.035977 0.0148418 0.711649 0.5 -0.0339966 0.0363512 0.0147468 0.709216 0.5 -0.0352163 0.0367258 0.0146563 0.709079 0.5 -0.0364352 0.0371002 0.0145635 0.646509 0.5 -0.037787 0.0377202 0.0142753 0.590982 0.5 -0.0390959 0.0382591 0.0140545 0.598749 0.5 -0.0404351 0.0389029 0.0137659 0.256477 0.43718 -0.0418277 0.0395362 0.0134182 0.334532 0.5 -0.0432176 0.0401728 0.0130684 0.341205 0.5 -0.0445354 0.0407636 0.0127885 0.294679 0.5 -0.0459347 0.0413813 0.0124396 0.216954 0.5 -0.0473913 0.0422357 0.0119475 0.171402 0.312394 --0.0766217 0.068534 0.0175211 0.610061 0.332696 --0.0705699 0.152776 -0.0468148 0.233377 0.30868 --0.085825 0.114595 0.0464925 0.45819 0.464529 --0.0640765 0.0658063 0.0313225 0.42131 0.5 --0.0705055 0.0343308 -0.00278598 0.154692 0 --0.0696847 0.0339658 -0.0022881 0.310168 0.5 --0.0688616 0.033602 -0.00179476 0.467225 0.5 --0.0678631 0.0335656 -0.00155997 0.611441 0.5 --0.06691 0.033448 -0.00125687 0.607524 0.5 --0.0658667 0.0334936 -0.00108817 0.600164 0.5 --0.0648702 0.0334576 -0.000853911 0.770798 0.5 --0.0638759 0.0334217 -0.000619218 0.783914 0.5 --0.0628753 0.0333858 -0.000385113 0.766461 0.5 --0.0618325 0.0334319 -0.000212632 0.757054 0.5 --0.0607902 0.0334775 -4.36679e-05 0.775517 0.5 --0.0597937 0.0334415 0.000190139 0.775526 0.5 --0.0587952 0.0334058 0.000425547 0.77777 0.5 --0.0577571 0.0334518 0.000595927 0.781884 0.5 --0.0567145 0.0334976 0.000765085 0.770772 0.5 --0.0556704 0.0335434 0.000932366 0.775592 0.5 --0.0546754 0.0335075 0.00116676 0.777983 0.5 --0.0536324 0.0335534 0.00133593 0.768892 0.5 --0.0526315 0.0335173 0.00157493 0.784044 0.5 --0.0516371 0.0334814 0.00180973 0.773843 0.5 --0.0506374 0.0334455 0.00204379 0.743287 0.5 --0.0495533 0.0335732 0.00214603 0.73069 0.5 --0.0485565 0.0335372 0.00238031 0.751621 0.5 --0.0475589 0.0335011 0.00261705 0.743165 0.5 --0.0464698 0.0336288 0.00272222 0.73964 0.5 --0.0455143 0.0335109 0.00302189 0.75775 0.5 --0.0445167 0.0334752 0.00325528 0.749713 0.5 --0.0434764 0.0335212 0.0034233 0.594103 0.5 --0.0424368 0.033567 0.00359466 0.611759 0.5 --0.0414388 0.033531 0.00382893 0.459306 0.5 --0.0403969 0.033577 0.00400031 0.453221 0.5 --0.0393536 0.0336231 0.00416845 0.303028 0.5 --0.0383106 0.0336688 0.00433881 0.305223 0.5 --0.0373144 0.033633 0.00457247 0.1529 0.5 --0.0362745 0.033679 0.00474125 0 0 --0.0352323 0.0337248 0.00491425 0.152905 0 --0.0317989 0.0382037 0.00155838 0 0 --0.0307981 0.0381678 0.00179566 0.14181 0.5 --0.0297129 0.0382953 0.00190139 0.292175 0.5 --0.0287124 0.0382592 0.00213562 0.303441 0.5 --0.0277181 0.0382234 0.00237012 0.444134 0.5 --0.026674 0.0382695 0.00254021 0.446329 0.5 --0.0256326 0.0383152 0.00270994 0.601626 0.5 --0.0246346 0.0382795 0.00294393 0.740868 0.5 --0.0235934 0.0383252 0.00311252 0.751968 0.5 --0.0225936 0.0382891 0.00334965 0.770533 0.5 --0.021599 0.0382532 0.00358087 0.760057 0.5 --0.0206011 0.0382174 0.00381729 0.74523 0.5 --0.0195138 0.038345 0.00392275 0.754344 0.5 --0.0185178 0.0383092 0.00415679 0.740959 0.5 --0.0174725 0.0383553 0.00432532 0.743298 0.5 --0.0164306 0.0384009 0.00449856 0.754158 0.5 --0.0154366 0.0383652 0.00473292 0.754182 0.5 --0.0143913 0.0384112 0.00490303 0.74338 0.5 --0.0133509 0.0384568 0.00507202 0.749405 0.5 --0.0123514 0.0384213 0.00530714 0.743403 0.5 --0.0113093 0.0384672 0.00547553 0.745306 0.5 --0.0102702 0.0385128 0.00564525 0.74952 0.5 --0.00927372 0.0384768 0.00588152 0.730644 0.5 --0.0081869 0.0386049 0.00598379 0.73345 0.5 --0.00718543 0.0385691 0.00621806 0.752031 0.5 --0.00614443 0.0386147 0.00639011 0.751887 0.5 --0.00514848 0.0385788 0.00662082 0.749598 0.5 --0.00415159 0.0385426 0.00685716 0.761967 0.5 --0.00319773 0.0384234 0.00715593 0.768087 0.5 --0.00251219 0.0378133 0.00785027 0.720221 0.5 --0.00195749 0.0369571 0.00873581 0.710621 0.5 --0.00140393 0.0361018 0.00962515 0.748753 0.5 --0.000757843 0.0354065 0.0103826 0.817483 0.5 --2.43522e-05 0.0348774 0.0110061 0.850211 0.5 -0.000795729 0.0345137 0.0115011 0.854907 0.5 -0.00170313 0.0343139 0.0118694 0.676527 0.5 -0.00261537 0.0341134 0.0122343 0.488557 0.5 -0.00356645 0.0339958 0.0125338 0.308238 0.5 -0.00465347 0.0341223 0.0126365 0.331903 0.5 -0.00542741 0.0336773 0.0131964 0 0 -0.0222529 0.0365833 0.0139797 0.159934 0.5 -0.0228959 0.0358901 0.0147404 0.30943 0.5 -0.0235861 0.0352777 0.0154316 0.442747 0.5 -0.0242732 0.0346695 0.0161217 0.629965 0.5 -0.0252705 0.0346338 0.0163557 0.763858 0.5 -0.0263999 0.0348437 0.0163952 0.755145 0.5 -0.0274881 0.0349726 0.0165028 0.766099 0.5 -0.0285746 0.0351013 0.0166057 0.743064 0.5 -0.0297936 0.0354746 0.0165125 0.765973 0.5 -0.0308793 0.0356029 0.0166157 0.73359 0.5 -0.0321446 0.0360609 0.0164637 0.679088 0.5 -0.0333636 0.0364347 0.0163708 0.702567 0.5 -0.0345811 0.0368089 0.0162808 0.690422 0.5 -0.0358003 0.0371828 0.0161878 0.691378 0.5 -0.0370638 0.0376395 0.0160314 0.627425 0.5 -0.0383745 0.038179 0.01581 0.640756 0.5 -0.0395927 0.0385536 0.0157178 0.619362 0.5 -0.040988 0.0392554 0.0153655 0.565759 0.5 -0.0423629 0.0398964 0.0150374 0.572592 0.5 -0.0436977 0.0404602 0.0147575 0.568114 0.5 -0.0450791 0.0411084 0.0144119 0.451354 0.5 -0.0465682 0.041911 0.0139236 0.241537 0.320062 -0.0479919 0.0426572 0.0134999 0.232154 0.5 --0.0643967 0.0646443 0.0287462 0.414637 0.472164 --0.075813 0.0681115 0.0180714 0.635598 0.5 --0.0670537 0.071446 0.0363402 0.506097 0.482249 --0.0829949 0.115554 0.048125 0.628254 0.5 --0.0708767 0.0346286 -0.00100073 0.141299 0.229414 --0.0703883 0.0339052 -0.000577152 0.314883 0.5 --0.069479 0.0337046 -0.000209101 0.488431 0.5 --0.0685663 0.0335043 0.000153325 0.639535 0.5 --0.0675754 0.0334584 0.000400215 0.793089 0.5 --0.0665808 0.0334125 0.000644743 0.783476 0.5 --0.0655859 0.0333717 0.000880867 0.769568 0.5 --0.0645473 0.0334176 0.0010517 0.76882 0.5 --0.0635465 0.0333817 0.00128463 0.779677 0.5 --0.0625074 0.0334277 0.00145514 0.768545 0.5 --0.0614627 0.0334736 0.00162861 0.766483 0.5 --0.0604675 0.0334377 0.00185915 0.775408 0.5 --0.0594246 0.0334838 0.00203125 0.768554 0.5 --0.0583832 0.0335298 0.00219999 0.76875 0.5 --0.0573422 0.0335757 0.00237022 0.767158 0.5 --0.0563459 0.0335397 0.00260276 0.772692 0.5 --0.055347 0.0335038 0.00284205 0.763885 0.5 --0.0543042 0.0335497 0.00301212 0.755145 0.5 --0.0532618 0.0335957 0.00317772 0.765094 0.5 --0.0522651 0.0335597 0.0034159 0.783546 0.5 --0.0512658 0.0335234 0.00365116 0.795419 0.5 --0.050311 0.033406 0.00395206 0.77876 0.5 --0.0492702 0.0334521 0.00412227 0.59633 0.5 --0.0481836 0.0335793 0.00422402 0.61322 0.5 --0.0472308 0.0334623 0.00452598 0.618173 0.5 --0.0461887 0.0335082 0.00469546 0.635858 0.5 --0.0451488 0.0335546 0.00486717 0.646804 0.5 --0.0441515 0.0335185 0.00510187 0.657711 0.5 --0.0431097 0.0335646 0.0052718 0.639158 0.5 --0.0420673 0.0336103 0.00544111 0.654545 0.5 --0.0410706 0.0335739 0.0056728 0.645666 0.5 --0.0400289 0.0336199 0.00584373 0.469016 0.5 --0.0389872 0.0336658 0.00601497 0.458758 0.5 --0.0379874 0.0336299 0.0062497 0.305317 0.5 --0.0369476 0.033676 0.00641963 0.299122 0.5 --0.0359021 0.0337218 0.00658675 0.304964 0.5 --0.0349082 0.033686 0.00682403 0.151116 0.5 --0.0338224 0.0338142 0.00692539 0 0 --0.0304784 0.0381297 0.00370653 0 0 --0.0294344 0.0381755 0.00387704 0.147199 0.5 --0.0284374 0.0381394 0.00411543 0.293737 0.5 --0.0273926 0.0381858 0.00428469 0.289172 0.5 --0.026353 0.0382316 0.0044532 0.444677 0.5 --0.0253533 0.0381958 0.00468802 0.599765 0.5 --0.0243119 0.0382419 0.00485642 0.729962 0.5 --0.023273 0.0382876 0.00502865 0.739113 0.5 --0.0222759 0.0382517 0.00526325 0.759933 0.5 --0.0212772 0.0382158 0.00549847 0.75627 0.5 --0.0201912 0.0383436 0.00560257 0.754376 0.5 --0.0192343 0.038226 0.00590432 0.759992 0.5 --0.018196 0.038272 0.00607299 0.747202 0.5 --0.0171544 0.0383178 0.00624466 0.755179 0.5 --0.016108 0.038364 0.00641286 0.741193 0.5 --0.0150683 0.0384098 0.0065829 0.744273 0.5 --0.0140732 0.0383739 0.00681638 0.760093 0.5 --0.013074 0.0383381 0.00704947 0.743357 0.5 --0.0119886 0.038466 0.00715809 0.736167 0.5 --0.0109445 0.0385116 0.00732721 0.760192 0.5 --0.00999143 0.0383941 0.00762464 0.760148 0.5 --0.00895133 0.0384401 0.00779513 0.73511 0.5 --0.00790814 0.0384861 0.0079669 0.741371 0.5 --0.00686818 0.0385321 0.0081342 0.741026 0.5 --0.00587038 0.038496 0.0083708 0.749459 0.5 --0.00482937 0.038542 0.00854039 0.757699 0.5 --0.00387451 0.0384228 0.00884205 0.787087 0.5 --0.00309828 0.0379762 0.00940157 0.806593 0.5 --0.00241231 0.037367 0.0100902 0.783963 0.5 --0.00181158 0.0365903 0.0109133 0.768155 0.5 --0.00121244 0.0358159 0.011737 0.805938 0.5 --0.000525817 0.0352062 0.0124275 0.848157 0.5 -0.000249699 0.0347599 0.0129869 0.868877 0.5 -0.00111873 0.0344764 0.0134191 0.687379 0.5 -0.0020291 0.0342762 0.0137843 0.675196 0.5 -0.00297843 0.0341587 0.014086 0.502037 0.5 -0.00393342 0.0340406 0.014385 0.327291 0.5 -0.00497409 0.0340864 0.0145521 0.336322 0.5 -0.00592655 0.0339685 0.0148513 0 0 -0.0214461 0.036336 0.0158614 0.145694 0.5 -0.0222628 0.0359732 0.0163557 0.28888 0.5 -0.0228628 0.0351973 0.0171792 0.401036 0.5 -0.0236407 0.0347514 0.0177381 0.619176 0.5 -0.0246827 0.0347978 0.0179097 0.787563 0.5 -0.0257679 0.0349257 0.0180133 0.766618 0.5 -0.0268545 0.0350543 0.018119 0.766365 0.5 -0.0279852 0.0352646 0.0181572 0.740245 0.5 -0.0292045 0.0356392 0.0180684 0.738626 0.5 -0.0303343 0.0358493 0.0181065 0.762661 0.5 -0.0315086 0.0361416 0.0180806 0.711861 0.5 -0.032773 0.036599 0.0179277 0.70177 0.5 -0.0339472 0.0368914 0.0179028 0.704183 0.5 -0.0352142 0.037348 0.0177424 0.692333 0.5 -0.0363875 0.037641 0.0177175 0.679472 0.5 -0.0376971 0.0381803 0.0174952 0.633535 0.5 -0.0390033 0.0387188 0.0172773 0.65489 0.5 -0.040265 0.0391745 0.017119 0.633427 0.5 -0.041574 0.0397142 0.0168995 0.613962 0.5 -0.0428913 0.0402636 0.016655 0.583144 0.5 -0.0443703 0.0410834 0.0161644 0.592739 0.5 -0.0455972 0.0415054 0.0160287 0.304359 0.5 -0.0470911 0.0422949 0.0155431 0.272871 0.379929 --0.0634886 0.064446 0.0291098 0.685522 0.5 --0.0625249 0.0642497 0.029495 0.453081 0.467093 --0.0867806 0.115997 0.0469199 0.524364 0.471199 --0.0554146 0.0649279 0.0339175 0.495432 0.392471 --0.0562473 0.0708294 0.0392023 0.685624 0.5 --0.0717761 0.0344583 0.000444464 0.165782 0.5 --0.0709897 0.0340252 0.000991695 0.334106 0.5 --0.0701237 0.0337481 0.00141754 0.492431 0.5 --0.0691689 0.0336248 0.00172074 0.652991 0.5 --0.0681764 0.0335792 0.00196619 0.811149 0.5 --0.0671848 0.0335335 0.00220964 0.800613 0.5 --0.0661916 0.0334877 0.00245273 0.802633 0.5 --0.0652015 0.0334423 0.00269659 0.792382 0.5 --0.0641668 0.0334738 0.00287677 0.781425 0.5 --0.0631328 0.0335051 0.0030611 0.786638 0.5 --0.0621388 0.0334692 0.00329381 0.77217 0.5 --0.0610939 0.0335153 0.00346695 0.781365 0.5 --0.0600964 0.0334795 0.00370066 0.77751 0.5 --0.0590564 0.0335255 0.00387291 0.756414 0.5 --0.0580565 0.0334897 0.00410791 0.764882 0.5 --0.0570144 0.0335354 0.00427397 0.76158 0.5 --0.0560167 0.0334996 0.00451355 0.761589 0.5 --0.0549774 0.0335456 0.00467992 0.750552 0.5 --0.053977 0.0335099 0.00491422 0.739838 0.5 --0.0529375 0.0335557 0.00508499 0.750602 0.5 --0.0519377 0.0335199 0.00532131 0.609181 0.5 --0.0508978 0.0335658 0.00549258 0.62173 0.5 --0.049902 0.0335302 0.00572664 0.639157 0.5 --0.0489003 0.033496 0.00596365 0.493124 0.5 --0.0478629 0.0335429 0.00613354 0.511733 0.5 --0.0467321 0.0337537 0.00617309 0.53914 0.5 --0.0457346 0.0337173 0.00640665 0.556634 0.5 --0.0446441 0.0338442 0.00651202 0.565947 0.5 --0.0436472 0.0338067 0.00674466 0.570213 0.5 --0.0426076 0.0338549 0.0069173 0.571106 0.5 --0.0416101 0.0338187 0.00715256 0.578048 0.5 --0.0406116 0.0337811 0.00738645 0.568877 0.5 --0.0396582 0.0336638 0.00768797 0.558289 0.5 --0.0386619 0.0336282 0.00792475 0.534993 0.5 --0.0376644 0.0335909 0.0081569 0.49915 0.5 --0.0365789 0.0337187 0.00826156 0.467987 0.5 --0.035582 0.0336826 0.00849877 0.305007 0.5 --0.034538 0.033729 0.00866796 0.293934 0.5 --0.0334968 0.033775 0.00883944 0.152951 0.5 --0.0324992 0.033739 0.00907408 0.159548 0 --0.0291577 0.0380555 0.005854 0 0 --0.0281559 0.0380199 0.00608926 0.143858 0.5 --0.0270715 0.0381475 0.00619785 0.288891 0.5 --0.0260288 0.0381935 0.00636573 0.443829 0.5 --0.0250337 0.0381576 0.00660247 0.599181 0.5 --0.0240342 0.0381218 0.00683415 0.741282 0.5 --0.0229946 0.0381678 0.00700416 0.740958 0.5 --0.0219522 0.0382139 0.00717586 0.742905 0.5 --0.0209098 0.0382599 0.00734769 0.743035 0.5 --0.0199096 0.0382242 0.00758286 0.762235 0.5 --0.0188708 0.0382701 0.00775373 0.747392 0.5 --0.0177853 0.0383982 0.00785589 0.756215 0.5 --0.0168303 0.0382802 0.00815469 0.7683 0.5 --0.0158317 0.0382446 0.00839116 0.73307 0.5 --0.0147437 0.0383723 0.00849375 0.744156 0.5 --0.0137494 0.0383366 0.00873382 0.764641 0.5 --0.0127086 0.0383825 0.00890404 0.745266 0.5 --0.0116637 0.0384284 0.00907266 0.738219 0.5 --0.0106693 0.0383927 0.00930564 0.751843 0.5 --0.00962665 0.0384388 0.00947704 0.755972 0.5 --0.00858383 0.0384847 0.0096485 0.754059 0.5 --0.00758439 0.038449 0.00988421 0.751941 0.5 --0.00654578 0.0384949 0.010053 0.751976 0.5 --0.0055446 0.0384588 0.0102869 0.760259 0.5 --0.00455042 0.0384226 0.0105194 0.799442 0.5 --0.00364368 0.038223 0.0108877 0.840536 0.5 --0.00290962 0.037693 0.0115129 0.824195 0.5 --0.00226785 0.0370021 0.0122687 0.797449 0.5 --0.00162182 0.0363065 0.0130228 0.81863 0.5 --0.0009793 0.0356154 0.0137824 0.84597 0.5 --0.000245612 0.0350857 0.0144067 0.898191 0.5 -0.000574283 0.0347216 0.0149023 0.89315 0.5 -0.00144074 0.0344391 0.0153316 0.879616 0.5 -0.00239149 0.0343213 0.0156312 0.678181 0.5 -0.00334696 0.0342028 0.0159318 0.504253 0.5 -0.00429953 0.0340852 0.0162355 0.487958 0.5 -0.00534141 0.0341316 0.016402 0.302279 0.5 -0.00651507 0.0344231 0.0163793 0.142808 0.5 -0.00746772 0.0343056 0.0166757 0 0 -0.0206783 0.0361727 0.0176735 0.123099 0 -0.0214998 0.0358071 0.0181694 0.230295 0.5 -0.0219696 0.0347867 0.0191885 0.432057 0.5 -0.022966 0.0347513 0.0194226 0.617254 0.5 -0.0240499 0.0348797 0.0195293 0.765766 0.5 -0.02514 0.0350088 0.0196342 0.766272 0.5 -0.0262687 0.0352193 0.019674 0.765202 0.5 -0.0274001 0.0354299 0.0197116 0.75942 0.5 -0.028615 0.035804 0.0196241 0.745323 0.5 -0.0297466 0.036015 0.0196643 0.772217 0.5 -0.0309645 0.0363887 0.0195722 0.741259 0.5 -0.0321413 0.0366814 0.019545 0.732375 0.5 -0.0333604 0.037057 0.0194583 0.732958 0.5 -0.0345357 0.0373492 0.0194302 0.713103 0.5 -0.0357976 0.0378059 0.0192762 0.685039 0.5 -0.0370616 0.0382621 0.0191175 0.670001 0.5 -0.0383256 0.0387198 0.0189634 0.651947 0.5 -0.0396296 0.0392572 0.0187428 0.639964 0.5 -0.0409378 0.0397959 0.0185201 0.637412 0.5 -0.0422463 0.0403355 0.0183005 0.634369 0.5 -0.0435663 0.0408867 0.018056 0.593076 0.5 -0.0449495 0.041538 0.0177108 0.609797 0.5 -0.0463327 0.0421886 0.017365 0.601398 0.5 -0.0476183 0.0426691 0.0171605 0.434292 0.5 -0.049239 0.0437392 0.0164633 0.252697 0.275883 --0.0679777 0.0716192 0.0360049 0.512006 0.473258 --0.0918605 0.116299 0.0240619 0.79206 0.5 --0.0791517 0.0792478 0.0324066 0.698444 0.5 --0.0730595 0.110042 0.0423406 0.775985 0.5 --0.0728722 0.0355547 0.00103582 0.156876 0.5 --0.0722117 0.0348867 0.00176609 0.337836 0.5 --0.0715513 0.0342218 0.00249626 0.506191 0.5 --0.0707251 0.033867 0.00298473 0.524714 0.5 --0.0697706 0.0337438 0.00328799 0.661359 0.5 --0.0687814 0.0336983 0.00353162 0.807797 0.5 --0.0678317 0.0335757 0.00383638 0.807853 0.5 --0.0668403 0.0335301 0.004077 0.794176 0.5 --0.0658022 0.0335619 0.00426403 0.805177 0.5 --0.0648114 0.0335165 0.00450366 0.794583 0.5 --0.0637785 0.0335481 0.00468656 0.783619 0.5 --0.0627873 0.0335028 0.00493012 0.790956 0.5 --0.0617546 0.0335347 0.00511487 0.771034 0.5 --0.0607177 0.0335659 0.00529637 0.795165 0.5 --0.0597681 0.0334439 0.00560092 0.775058 0.5 --0.0586839 0.0335669 0.00570948 0.762431 0.5 --0.0576871 0.0335309 0.00594357 0.776077 0.5 --0.0566909 0.0334951 0.00618234 0.774354 0.5 --0.0556945 0.0334591 0.00641451 0.773387 0.5 --0.0546971 0.0334232 0.00665025 0.762085 0.5 --0.0536531 0.0334694 0.00682116 0.59501 0.5 --0.0526104 0.0335154 0.00699108 0.613321 0.5 --0.0516134 0.0334804 0.007228 0.47337 0.5 --0.05057 0.0335281 0.00739754 0.475634 0.5 --0.0493961 0.033823 0.00737414 0.468936 0.5 --0.0481785 0.0341964 0.00728185 0.312925 0.5 --0.0469177 0.0346518 0.0071269 0.346928 0.5 --0.0458316 0.03478 0.00723173 0.360233 0.5 --0.0447856 0.0348265 0.00740272 0.373533 0.5 --0.0437453 0.0348723 0.00757323 0.375751 0.5 --0.0427952 0.0347556 0.00787321 0.387291 0.5 --0.0417964 0.0347181 0.00810808 0.389463 0.5 --0.0408421 0.0345979 0.00840679 0.394331 0.5 --0.0398903 0.0344806 0.00870734 0.396953 0.5 --0.0389795 0.034282 0.00907489 0.399347 0.5 --0.0380711 0.0340829 0.00944176 0.599338 0.5 --0.0371614 0.0338798 0.00980443 0.578952 0.5 --0.0362553 0.0336801 0.0101688 0.565421 0.5 --0.0352581 0.0336435 0.0104036 0.487542 0.5 --0.0341695 0.0337715 0.0105094 0.294367 0.5 --0.0331266 0.0338175 0.0106794 0.304596 0.5 --0.0321289 0.0337822 0.0109163 0.147696 0.5 --0.0310017 0.0339922 0.010953 0 0 --0.0277909 0.0380629 0.00793761 0.147393 0.5 --0.0267919 0.0380272 0.00817341 0.291381 0.5 --0.0257516 0.0380733 0.00834253 0.436713 0.5 --0.0247099 0.0381195 0.00851258 0.584587 0.5 --0.0236663 0.0381653 0.00868472 0.741077 0.5 --0.0226683 0.0381298 0.00891697 0.742854 0.5 --0.021626 0.038176 0.00908889 0.7428 0.5 --0.0205862 0.0382221 0.00925741 0.742819 0.5 --0.0195451 0.0382679 0.00943 0.751274 0.5 --0.0185478 0.0382321 0.00966598 0.730537 0.5 --0.0175041 0.0382782 0.00983265 0.749706 0.5 --0.0165056 0.0382425 0.0100681 0.764462 0.5 --0.0154675 0.0382885 0.0102401 0.745092 0.5 --0.014426 0.0383347 0.0104075 0.742901 0.5 --0.0133824 0.0383808 0.0105781 0.75139 0.5 --0.0123858 0.0383448 0.0108168 0.749042 0.5 --0.0113851 0.0383094 0.011049 0.743132 0.5 --0.0103013 0.038437 0.0111565 0.743182 0.5 --0.00930377 0.0384012 0.0113924 0.740726 0.5 --0.00826101 0.0384472 0.0115633 0.751808 0.5 --0.0072649 0.0384115 0.0117959 0.754001 0.5 --0.00622128 0.0384574 0.0119659 0.759998 0.5 --0.00522459 0.0384215 0.0122026 0.760118 0.5 --0.00422659 0.0383846 0.0124357 0.835519 0.5 --0.0033633 0.038102 0.0128662 0.859173 0.5 --0.00267666 0.0374926 0.0135597 0.850216 0.5 --0.00198691 0.0368792 0.0142478 0.851429 0.5 --0.00134429 0.0361889 0.0150058 0.870436 0.5 --0.000612836 0.0356605 0.0156316 0.90223 0.5 -0.000120368 0.0351316 0.0162576 0.918289 0.5 -0.000942621 0.0347668 0.0167534 0.941574 0.5 -0.00184795 0.0345666 0.017115 0.923416 0.5 -0.00275941 0.0343655 0.0174794 0.706169 0.5 -0.00375967 0.0343287 0.0177156 0.692001 0.5 -0.00466954 0.0341296 0.0180802 0.504617 0.5 -0.00570986 0.0341754 0.0182505 0.312357 0.5 -0.0067064 0.0341407 0.0184863 0.290121 0.5 -0.00810435 0.0348429 0.0181346 0.120325 0 -0.00910286 0.0348066 0.0183719 0.133931 0.5 -0.0100949 0.034771 0.018605 0 0 -0.0189601 0.036126 0.0191857 0 0 -0.0194741 0.0351845 0.0201392 0.214285 0.5 -0.0202497 0.0347399 0.020698 0.417373 0.5 -0.021293 0.0347861 0.0208687 0.620982 0.5 -0.0223322 0.0348324 0.0210401 0.629466 0.5 -0.0234195 0.0349614 0.0211471 0.754382 0.5 -0.0245482 0.035172 0.0211866 0.755193 0.5 -0.0256796 0.0353829 0.0212256 0.757166 0.5 -0.0268986 0.0357578 0.0211357 0.761173 0.5 -0.0280721 0.0360499 0.0211097 0.754353 0.5 -0.0292911 0.0364248 0.021021 0.798165 0.5 -0.0304203 0.0366341 0.0210583 0.773247 0.5 -0.031639 0.0370094 0.0209702 0.760175 0.5 -0.0328168 0.0373031 0.0209449 0.746554 0.5 -0.034036 0.037677 0.020853 0.760064 0.5 -0.0352097 0.0379704 0.0208298 0.724393 0.5 -0.0364745 0.0384289 0.0206775 0.686358 0.5 -0.0377365 0.0388851 0.0205214 0.686281 0.5 -0.0389971 0.039341 0.0203664 0.665512 0.5 -0.0403042 0.0398794 0.0201445 0.646616 0.5 -0.0416155 0.0404142 0.0199255 0.383418 0.5 -0.0429111 0.040977 0.0196984 0.364043 0.5 -0.0442879 0.0415947 0.0193873 0.609013 0.5 -0.0456202 0.0421608 0.019117 0.631507 0.5 -0.0469552 0.0427274 0.0188429 0.630336 0.5 -0.0482658 0.0433313 0.0185611 0.239557 0.5 -0.0499211 0.0443554 0.0178724 0.21994 0.5 --0.0750729 0.0675817 0.0186826 0.685326 0.377587 --0.0742444 0.0756609 0.0347079 0.746509 0.5 --0.0698715 0.11424 0.0504282 0.437644 0.5 --0.0682155 0.0787029 0.0404793 0.604318 0.5 --0.0710555 0.148357 -0.0346175 0.35461 0.310236 --0.072483 0.0356257 0.00284128 0.292075 0.5 --0.0719858 0.0346482 0.00381826 0.327071 0.5 --0.0712039 0.0342165 0.00436442 0.529097 0.5 --0.070335 0.0339385 0.00479187 0.520154 0.5 --0.0694247 0.0337382 0.00515427 0.664571 0.5 --0.0684331 0.0336931 0.00540027 0.810068 0.5 --0.0674387 0.0336478 0.00564073 0.806539 0.5 --0.0664067 0.0336797 0.00582425 0.804523 0.5 --0.0654153 0.0336345 0.00606909 0.802283 0.5 --0.0644245 0.0335892 0.00631261 0.794085 0.5 --0.0633881 0.0336212 0.00649796 0.791615 0.5 --0.0623969 0.0335761 0.00673913 0.783076 0.5 --0.061361 0.0336079 0.00692461 0.780821 0.5 --0.0603733 0.0335628 0.0071663 0.797184 0.5 --0.0593798 0.0335176 0.00740926 0.771345 0.5 --0.058347 0.0335497 0.00759386 0.777747 0.5 --0.0573551 0.0335045 0.00783858 0.786935 0.5 --0.0563218 0.0335364 0.00802021 0.781672 0.5 --0.0553241 0.0335005 0.00825618 0.778819 0.5 --0.0543235 0.0334648 0.00849253 0.615182 0.5 --0.0532836 0.0335112 0.0086601 0.452156 0.5 --0.0521978 0.0336397 0.008764 0.462652 0.5 --0.0510223 0.0339346 0.00874224 0.323818 0.5 --0.0498071 0.0343093 0.00865348 0.281706 0.5 --0.0484523 0.0349311 0.00836568 0.274467 0.5 --0.0471043 0.0355495 0.00808039 0 0 --0.0459741 0.03576 0.00812075 0 0 --0.0449324 0.0358062 0.00829108 0 0 --0.0438465 0.0359346 0.00839642 0 0 --0.0428932 0.0358165 0.00869673 0 0 --0.0419398 0.0356984 0.00899705 0 0 --0.0409865 0.0355803 0.00929737 0 0 --0.0400291 0.0354632 0.00960076 0.195883 0.5 --0.0390753 0.0353444 0.00990175 0.391176 0.5 --0.0381696 0.0351458 0.0102677 0.390945 0.5 --0.0373475 0.0347779 0.0107604 0.393812 0.5 --0.036529 0.0344176 0.0112583 0.586889 0.5 --0.0357073 0.03405 0.0117511 0.590914 0.5 --0.0348878 0.0336855 0.0122448 0.572312 0.5 --0.0338438 0.0337316 0.012415 0.497557 0.5 --0.0328471 0.033696 0.0126517 0.301911 0.5 --0.0317622 0.0338243 0.0127586 0.275107 0.5 --0.0305886 0.0341169 0.0127308 0 0 --0.0275114 0.0379423 0.00991362 0.147342 0.5 --0.0264689 0.0379883 0.0100865 0.296369 0.5 --0.0254714 0.0379526 0.0103195 0.443462 0.5 --0.0244307 0.0379986 0.0104913 0.573711 0.5 --0.0233871 0.0380454 0.010662 0.71269 0.5 --0.0223034 0.0381733 0.0107634 0.74511 0.5 --0.0213027 0.0381376 0.0110019 0.753623 0.5 --0.020264 0.0381835 0.0111715 0.751346 0.5 --0.0192664 0.0381478 0.0114056 0.751179 0.5 --0.0182228 0.038194 0.0115761 0.74272 0.5 --0.0171825 0.0382402 0.011747 0.74274 0.5 --0.016138 0.0382862 0.0119165 0.753708 0.5 --0.0151399 0.0382506 0.0121533 0.753718 0.5 --0.0141005 0.0382966 0.0123251 0.75424 0.5 --0.013105 0.0382607 0.0125563 0.760806 0.5 --0.0120612 0.0383071 0.0127308 0.744981 0.5 --0.0110203 0.0383532 0.0129011 0.756401 0.5 --0.0100211 0.0383173 0.0131334 0.763041 0.5 --0.0089791 0.0383636 0.0133044 0.744831 0.5 --0.00793663 0.0384098 0.0134736 0.755865 0.5 --0.00689488 0.0384553 0.0136435 0.770456 0.5 --0.00594273 0.0383379 0.0139478 0.759949 0.5 --0.00490321 0.0383839 0.0141185 0.762625 0.5 --0.00390558 0.0383472 0.0143493 0.841532 0.5 --0.00308793 0.0379842 0.0148477 0.899867 0.5 --0.0023107 0.0375379 0.0154093 0.89705 0.5 --0.00162211 0.0369274 0.0160989 0.894961 0.5 --0.000932932 0.0363158 0.0167895 0.896032 0.5 --0.000201542 0.0357861 0.0174114 0.933 0.5 -0.000576288 0.0353387 0.0179719 0.964245 0.5 -0.00144009 0.0350568 0.0184024 0.95932 0.5 -0.00226448 0.0346925 0.0189009 0.955416 0.5 -0.00321341 0.034575 0.0192003 0.909546 0.5 -0.00416774 0.034456 0.0194982 0.718014 0.5 -0.00516452 0.0344202 0.0197338 0.521228 0.5 -0.00616601 0.0343841 0.0199712 0.510711 0.5 -0.00716348 0.0343484 0.0202029 0.301845 0.5 -0.00820576 0.0343954 0.0203732 0.281156 0.5 -0.00937824 0.0346871 0.0203526 0.271029 0.5 -0.0105059 0.0348976 0.020389 0 0 -0.0114636 0.0347788 0.020691 0.142579 0 -0.0124134 0.0346609 0.020994 0.157065 0.5 -0.0132792 0.0343795 0.0214237 0.167768 0.5 -0.0143227 0.0344255 0.0215932 0.167221 0.5 -0.0153617 0.0344714 0.021761 0.162071 0.5 -0.0164071 0.0345184 0.0219352 0.159629 0.5 -0.0174901 0.0346463 0.0220409 0.142291 0.5 -0.018535 0.0346925 0.0222104 0.296544 0.5 -0.0195769 0.0347391 0.0223805 0.458221 0.5 -0.0206619 0.0348672 0.0224824 0.602628 0.5 -0.021748 0.0349954 0.0225893 0.777912 0.5 -0.0227878 0.0350417 0.0227582 0.778319 0.5 -0.0239206 0.0352552 0.0228022 0.713952 0.5 -0.0251821 0.0357118 0.0226481 0.732179 0.5 -0.0264019 0.036087 0.0225582 0.746811 0.5 -0.0276204 0.0364605 0.0224657 0.76134 0.5 -0.0288353 0.0368345 0.0223773 0.777282 0.5 -0.0299649 0.0370453 0.0224182 0.818905 0.5 -0.0311432 0.0373381 0.0223917 0.778824 0.5 -0.0323169 0.0376319 0.0223694 0.764586 0.5 -0.0335354 0.0380053 0.0222769 0.764806 0.5 -0.034711 0.0383001 0.0222555 0.764469 0.5 -0.0359289 0.0386712 0.0221633 0.418022 0.5 -0.0371924 0.0391306 0.0220088 0.39945 0.440086 -0.0384543 0.0395883 0.0218564 0.692953 0.5 -0.0397169 0.0400457 0.0217023 0.680854 0.5 -0.0409735 0.0405135 0.0215425 0.39598 0.5 -0.0423699 0.0412112 0.0211935 0.284902 0.377088 -0.0436181 0.0416961 0.0210317 0.283373 0.448635 -0.0450509 0.0423962 0.0206492 0.278146 0.432912 -0.0463347 0.0428813 0.020444 0.382356 0.417898 -0.0477223 0.0435274 0.0201079 0.376558 0.5 -0.0491837 0.0442045 0.019604 0.288402 0.38477 -0.050668 0.0451751 0.0191374 0.288578 0.320102 --0.0551501 0.0641879 0.0328568 0.458197 0.5 --0.0839617 0.114292 0.0471508 0.520552 0.5 --0.081144 0.11 0.0405445 0.912213 0.5 --0.0899229 0.115405 0.0270455 0.648837 0.5 --0.0723413 0.0352299 0.00501169 0.288703 0.5 --0.0717212 0.0344863 0.00580157 0.337745 0.5 --0.0708965 0.0341323 0.00629169 0.535451 0.5 --0.069983 0.033931 0.00665746 0.705165 0.5 --0.0690346 0.0338087 0.00696066 0.84528 0.5 --0.0680436 0.0337635 0.00720288 0.815559 0.5 --0.0670064 0.0337953 0.0073865 0.804793 0.5 --0.0660587 0.0336733 0.00769062 0.810937 0.5 --0.0650248 0.0337055 0.00787315 0.793449 0.5 --0.0640324 0.0336604 0.00811729 0.801824 0.5 --0.0630392 0.0336157 0.00836468 0.791053 0.5 --0.0620051 0.0336477 0.00854436 0.782578 0.5 --0.0610145 0.0336026 0.00878975 0.799331 0.5 --0.0600247 0.0335577 0.00903367 0.791285 0.5 --0.0589877 0.0335902 0.00921609 0.771819 0.5 --0.0579584 0.0336225 0.00939861 0.78128 0.5 --0.0569634 0.0335771 0.00964709 0.79693 0.5 --0.0560128 0.0334549 0.00994988 0.785139 0.5 --0.0549804 0.0334872 0.0101333 0.613183 0.5 --0.0539473 0.03352 0.0103166 0.438236 0.5 --0.0527782 0.0338002 0.0103069 0.264065 0.5 --0.0513379 0.0345855 0.00988953 0.267767 0.5 --0.0501691 0.0348773 0.00986405 0 0 --0.0485971 0.0359097 0.00925535 0 0 --0.039222 0.0363262 0.0107899 0 0 --0.0383571 0.0360437 0.0112202 0 0 --0.0375341 0.0356789 0.0117182 0.194529 0.5 --0.0367133 0.0353138 0.0122122 0.391807 0.5 --0.0358508 0.0350331 0.0126434 0.383402 0.5 --0.0351624 0.0344214 0.0133327 0.373538 0.5 --0.0344283 0.0338921 0.0139586 0.534095 0.5 --0.0334735 0.0337737 0.0142583 0.493539 0.5 --0.0324783 0.0337381 0.0144953 0.45541 0.5 --0.0313891 0.0338671 0.0146006 0.278493 0.5 --0.0303071 0.0339954 0.0147064 0.141066 0.5 --0.0271872 0.0379033 0.0118238 0.146481 0.5 --0.0261434 0.0379494 0.0119939 0.299978 0.5 --0.0251492 0.0379137 0.0122303 0.451047 0.5 --0.0241505 0.0378782 0.0124647 0.590588 0.5 --0.0230202 0.0380885 0.0125034 0.715632 0.5 --0.0219797 0.0381347 0.0126751 0.742514 0.5 --0.0209361 0.0381808 0.0128466 0.753541 0.5 --0.0199407 0.0381449 0.0130842 0.762021 0.5 --0.0188968 0.0381911 0.0132528 0.75354 0.5 --0.017901 0.0381554 0.0134869 0.75355 0.5 --0.0168597 0.0382017 0.0136589 0.744587 0.5 --0.0158173 0.038248 0.0138275 0.75358 0.5 --0.0147745 0.0382944 0.014 0.746653 0.5 --0.0137336 0.0383402 0.0141683 0.784687 0.5 --0.0127796 0.0382227 0.0144711 0.766788 0.5 --0.0116952 0.0383509 0.0145738 0.734113 0.5 --0.01065 0.0383969 0.0147482 0.755824 0.5 --0.00965298 0.0383614 0.0149817 0.764861 0.5 --0.00861288 0.0384077 0.0151551 0.746739 0.5 --0.00757253 0.0384534 0.015324 0.770424 0.5 --0.00662043 0.0383357 0.0156226 0.770391 0.5 --0.00557531 0.0383818 0.0157938 0.767152 0.5 --0.00457894 0.0383459 0.0160278 0.806062 0.5 --0.00358231 0.0383094 0.0162632 0.88817 0.5 --0.00271812 0.0380275 0.0166967 0.931728 0.5 --0.00189869 0.037664 0.017192 0.941389 0.5 --0.00116523 0.0371346 0.0178171 0.923102 0.5 --0.000433486 0.0366062 0.0184413 0.923845 0.5 -0.000300027 0.0360761 0.019065 0.958108 0.5 -0.00112155 0.035712 0.0195623 0.969496 0.5 -0.00194178 0.0353485 0.0200578 0.982259 0.5 -0.00280759 0.0350639 0.0204847 0.985656 0.5 -0.00371617 0.0348648 0.0208524 0.96622 0.5 -0.00467021 0.0347458 0.0211501 0.737058 0.5 -0.00562336 0.034628 0.021452 0.715493 0.5 -0.00657766 0.034511 0.0217547 0.514071 0.5 -0.00761699 0.0345564 0.0219225 0.49898 0.5 -0.00861514 0.0345206 0.0221572 0.4658 0.5 -0.00965733 0.0345667 0.0223294 0.294834 0.5 -0.0106556 0.0345311 0.0225637 0.296166 0.5 -0.0116984 0.034577 0.0227351 0.305038 0.5 -0.0126937 0.0345417 0.0229719 0.317011 0.5 -0.0137785 0.0346695 0.0230735 0.31965 0.5 -0.0147782 0.034634 0.0233109 0.322729 0.5 -0.01582 0.0346802 0.0234839 0.314429 0.5 -0.0168587 0.0347265 0.0236529 0.310145 0.5 -0.0179003 0.0347727 0.0238228 0.313898 0.5 -0.0189449 0.0348191 0.0239933 0.47099 0.5 -0.0199862 0.0348656 0.0241629 0.611579 0.5 -0.0210708 0.0349944 0.0242708 0.742651 0.5 -0.0222032 0.0352055 0.0243097 0.756438 0.5 -0.0233331 0.0354178 0.02435 0.716327 0.5 -0.0246817 0.0360382 0.0240669 0.678097 0.5 -0.0259452 0.0364961 0.0239139 0.735775 0.5 -0.0271613 0.0368693 0.0238228 0.778478 0.5 -0.028338 0.0371627 0.023798 0.768281 0.5 -0.0295573 0.0375392 0.0237122 0.809672 0.5 -0.0306859 0.0377485 0.0237503 0.818664 0.5 -0.0318729 0.0380045 0.0237472 0.471261 0.5 -0.033081 0.038417 0.0236373 0.778536 0.5 -0.0342539 0.0387023 0.0236157 0.447598 0.5 -0.0354747 0.0390827 0.0235255 0.463983 0.411565 -0.0366896 0.0394563 0.0234361 0.462206 0.402084 -0.0379075 0.0398433 0.0233434 0.410411 0.5 -0.0391712 0.0402919 0.0231925 0.697633 0.5 -0.0404724 0.0408436 0.0229665 0.296099 0.5 -0.0417801 0.041383 0.0227466 0.39714 0.405694 -0.0431361 0.0419917 0.0224684 0.440495 0.5 -0.0444404 0.0425371 0.0222477 0.423741 0.385744 -0.0457689 0.0431024 0.0219801 0.415785 0.5 -0.0471472 0.0437632 0.0216364 0.419951 0.5 -0.0484812 0.0443317 0.021366 0.377292 0.405117 -0.0499661 0.0451421 0.0208878 0.313851 0.395204 -0.051506 0.0461707 0.0202521 0.295884 0.5 --0.0721635 0.113702 0.0503204 0.410818 0.5 --0.0556472 0.0657358 0.0349277 0.416829 0.5 --0.089438 0.113514 0.0412091 0.509597 0.5 --0.0616258 0.0641254 0.029779 0.446533 0.5 --0.0728598 0.0355014 0.00645302 0.15537 0 --0.0721585 0.0349122 0.00711943 0.365717 0.5 --0.0713326 0.0345571 0.00760774 0.562995 0.5 --0.0705055 0.0342009 0.00809348 0.750997 0.5 --0.0695561 0.0340783 0.00839793 0.720041 0.5 --0.0686026 0.0339552 0.0087048 0.701806 0.5 --0.0676508 0.0338326 0.0090061 0.827983 0.5 --0.0666201 0.0338653 0.00919115 0.823811 0.5 --0.0656682 0.0337431 0.00949839 0.815893 0.5 --0.0646344 0.0337755 0.00968147 0.803687 0.5 --0.0636401 0.0337302 0.00992182 0.811764 0.5 --0.0626529 0.0336856 0.0101657 0.793021 0.5 --0.0616148 0.0337181 0.0103501 0.79061 0.5 --0.0606264 0.0336734 0.0105944 0.798748 0.5 --0.0596345 0.0336285 0.0108415 0.787989 0.5 --0.0586426 0.0335837 0.0110854 0.769182 0.5 --0.0576072 0.0336162 0.0112663 0.780274 0.5 --0.0566151 0.0335713 0.0115144 0.80594 0.5 --0.0556243 0.0335264 0.0117574 0.629921 0.5 --0.0546337 0.0334816 0.0119976 0.458851 0.5 --0.0535552 0.0335918 0.0121227 0.300476 0.5 --0.0525671 0.0335472 0.0123651 0 0 --0.036902 0.0362143 0.0131672 0 0 --0.0360812 0.0358497 0.0136623 0 0 --0.0353932 0.0352385 0.0143534 0.327334 0.5 --0.0348821 0.0342989 0.0153052 0.319749 0.5 --0.0341485 0.0337694 0.0159272 0.505285 0.5 --0.0331056 0.0338156 0.0161014 0.620006 0.5 --0.0321091 0.03378 0.0163326 0.444227 0.5 --0.0309771 0.0339917 0.0163773 0.283311 0.5 --0.0298032 0.034287 0.0163531 0.126958 0.5 --0.0268606 0.0378639 0.0137313 0.148508 0.5 --0.0258626 0.0378286 0.0139698 0.29239 0.5 --0.0247788 0.0379568 0.0140716 0.444261 0.5 --0.0237394 0.038003 0.0142418 0.599027 0.5 --0.0226958 0.0380494 0.0144148 0.742354 0.5 --0.0216559 0.0380957 0.0145856 0.733372 0.5 --0.0206145 0.038142 0.0147556 0.761926 0.5 --0.0196125 0.0381064 0.0149924 0.753425 0.5 --0.0185746 0.0381525 0.0151621 0.755399 0.5 --0.0175293 0.038199 0.0153321 0.75721 0.5 --0.0164885 0.0382449 0.0155037 0.76414 0.5 --0.0154921 0.0382096 0.0157388 0.744961 0.5 --0.0144087 0.0383376 0.0158464 0.745007 0.5 --0.0134078 0.0383017 0.0160824 0.781324 0.5 --0.012412 0.0382658 0.0163183 0.76262 0.5 --0.0114161 0.0382303 0.016554 0.732598 0.5 --0.0103272 0.0383585 0.0166568 0.743587 0.5 --0.00933224 0.038323 0.0168951 0.745077 0.5 --0.00824401 0.0384507 0.0170014 0.755025 0.5 --0.00729397 0.0383333 0.0172997 0.781607 0.5 --0.00625132 0.0383797 0.0174726 0.757374 0.5 --0.00521106 0.038426 0.0176436 0.778483 0.5 --0.00421023 0.0383902 0.0178766 0.789891 0.5 --0.0031698 0.0384355 0.0180459 0.875914 0.5 --0.00226303 0.0382357 0.0184109 0.93587 0.5 --0.00144097 0.0378708 0.018909 0.958501 0.5 --0.000666067 0.037425 0.0194672 0.951943 0.5 -0.000110958 0.036978 0.020027 0.958927 0.5 -0.000886988 0.0365316 0.0205866 0.96573 0.5 -0.00170937 0.0361659 0.0210822 0.978558 0.5 -0.00252859 0.0358017 0.021576 0.991405 0.5 -0.00339585 0.0355203 0.0220096 0.993564 0.5 -0.00426025 0.0352382 0.0224392 0.99203 0.5 -0.00517049 0.0350387 0.0228068 0.985106 0.5 -0.00607582 0.0348373 0.023168 0.775657 0.5 -0.00707409 0.0348007 0.0234037 0.732943 0.5 -0.00802743 0.0346823 0.0237027 0.701449 0.5 -0.00902499 0.0346466 0.0239397 0.505914 0.5 -0.0100266 0.0346111 0.0241784 0.490488 0.5 -0.0110654 0.0346569 0.0243461 0.475171 0.5 -0.0120628 0.0346214 0.0245844 0.475609 0.5 -0.0131057 0.0346676 0.0247536 0.463026 0.5 -0.0141489 0.0347135 0.0249225 0.46711 0.5 -0.015143 0.0346779 0.0251566 0.468202 0.5 -0.0161851 0.0347246 0.0253316 0.457257 0.5 -0.0172719 0.0348529 0.0254373 0.457197 0.5 -0.0183138 0.0348993 0.0256062 0.464183 0.5 -0.0193537 0.0349459 0.0257791 0.620542 0.5 -0.0204425 0.0350747 0.0258809 0.75424 0.5 -0.0215692 0.0352857 0.025924 0.688219 0.5 -0.0228318 0.0357435 0.0257706 0.674239 0.5 -0.0241838 0.0363666 0.0254891 0.648114 0.5 -0.0254917 0.0369057 0.0252691 0.698759 0.5 -0.0267764 0.0373043 0.025139 0.446474 0.5 -0.0279341 0.0376089 0.0251213 0.479119 0.402573 -0.0291629 0.037982 0.025034 0.359935 0.420995 -0.0303318 0.0382842 0.0249985 0.380581 0.5 -0.0314957 0.0386039 0.0249642 0.371123 0.431412 -0.0326729 0.0388984 0.0249367 0.38701 0.5 -0.0338414 0.0392101 0.0249005 0.495157 0.403843 -0.0350676 0.0395586 0.0248293 0.359131 0.435766 -0.0362342 0.0398741 0.0247937 0.374179 0.417844 -0.0374488 0.0402522 0.0247009 0.473507 0.5 -0.0387128 0.0407096 0.0245464 0.462844 0.5 -0.0399282 0.041091 0.0244564 0.415477 0.417601 -0.0412731 0.0417215 0.0241695 0.440587 0.5 -0.04258 0.0422624 0.0239479 0.327067 0.5 -0.0439336 0.0428821 0.0236685 0.47217 0.363992 -0.0451952 0.0433405 0.023507 0.459059 0.5 -0.0465716 0.0440008 0.0231655 0.450829 0.5 -0.0480114 0.0447211 0.0227621 0.342398 0.5 -0.0493794 0.0453908 0.0224152 0.29111 0.444658 -0.0509675 0.0463703 0.0218015 0.308721 0.458867 --0.0510235 0.0723937 0.0407728 0.69929 0.367303 --0.0807265 0.0770568 0.0269252 0.773814 0.5 --0.0680426 0.110046 0.0381289 0.271178 0.5 --0.0684679 0.110537 0.0393979 0.412903 0.5 --0.0801928 0.109885 0.0408487 0.918607 0.5 --0.0497993 0.0677848 0.0379447 0.686048 0.5 --0.0716838 0.0351362 0.00880221 0.568611 0.5 --0.0708605 0.0347825 0.00928864 0.587558 0.5 --0.0699903 0.034504 0.00971713 0.587225 0.5 --0.0690811 0.0343024 0.0100819 0.574385 0.5 --0.0681688 0.0340999 0.0104427 0.744555 0.5 --0.0672224 0.0339784 0.0107486 0.874835 0.5 --0.0662305 0.0339335 0.0109932 0.847399 0.5 --0.0652333 0.0338884 0.0112389 0.825348 0.5 --0.0642433 0.0338438 0.0114826 0.814134 0.5 --0.0632514 0.033799 0.0117273 0.822602 0.5 --0.0622597 0.0337543 0.0119702 0.800833 0.5 --0.0612693 0.0337096 0.0122134 0.798139 0.5 --0.0602752 0.0336649 0.0124615 0.798186 0.5 --0.0592845 0.0336203 0.0127024 0.790094 0.5 --0.0582482 0.0336534 0.0128901 0.770636 0.5 --0.057217 0.0336859 0.0130711 0.785204 0.5 --0.0562656 0.0335637 0.0133743 0.633425 0.5 --0.0552728 0.0335199 0.0136226 0.456991 0.5 --0.054161 0.0337073 0.0136843 0.30245 0.5 --0.0532105 0.0335853 0.013987 0 0 --0.0357116 0.0358916 0.0155029 0 0 --0.0353308 0.0347033 0.016646 0.300295 0.5 --0.0346452 0.0340944 0.0173387 0.347267 0.5 --0.0337749 0.0338108 0.0177666 0.513983 0.5 --0.0327797 0.0337757 0.0180041 0.618269 0.5 --0.03165 0.0339865 0.0180432 0.424861 0.5 --0.0304761 0.0342807 0.0180201 0.243196 0.5 --0.0288615 0.0353967 0.01735 0.0746888 0.5 --0.0265805 0.0377426 0.0157053 0.142048 0.5 --0.0255422 0.0377889 0.0158759 0.292295 0.5 --0.0244115 0.0379996 0.0159179 0.444025 0.5 --0.0233699 0.0380458 0.0160874 0.611511 0.5 --0.0223732 0.03801 0.0163235 0.74325 0.5 --0.0212837 0.0381384 0.0164325 0.734902 0.5 --0.0202897 0.0381028 0.016664 0.764023 0.5 --0.019245 0.0381493 0.0168345 0.757025 0.5 --0.0182052 0.0381955 0.0170088 0.75529 0.5 --0.0171621 0.0382418 0.0171791 0.756175 0.5 --0.0161652 0.0382063 0.017415 0.775574 0.5 --0.0151264 0.0382524 0.0175843 0.744614 0.5 --0.0140843 0.0382987 0.0177555 0.75125 0.5 --0.013087 0.0382629 0.0179922 0.769954 0.5 --0.0120858 0.0382274 0.0182274 0.764092 0.5 --0.0110467 0.0382737 0.0183997 0.746481 0.5 --0.010004 0.0383201 0.0185669 0.755374 0.5 --0.00896496 0.0383664 0.01874 0.746494 0.5 --0.00792408 0.0384127 0.0189094 0.776502 0.5 --0.00692431 0.038377 0.0191445 0.778302 0.5 --0.00588211 0.0384235 0.0193174 0.759344 0.5 --0.00484252 0.0384695 0.0194856 0.789486 0.5 --0.00384396 0.0384339 0.019723 0.780538 0.5 --0.00280426 0.0384802 0.0198949 0.846938 0.5 --0.00180556 0.0384438 0.0201303 0.933184 0.5 --0.000943594 0.0381622 0.0205587 0.981168 0.5 --7.52397e-05 0.037877 0.020989 0.975264 0.5 -0.000700235 0.0374335 0.0215506 0.973619 0.5 -0.00152244 0.03707 0.0220484 0.966884 0.5 -0.00234204 0.0367065 0.0225428 0.97737 0.5 -0.00320624 0.036422 0.0229702 0.984986 0.5 -0.00407218 0.0361395 0.0234015 0.988543 0.5 -0.00493694 0.0358587 0.023833 0.996029 0.5 -0.00579995 0.0355749 0.0242599 0.99615 0.5 -0.0067112 0.0353739 0.0246266 0.998575 0.5 -0.00757449 0.035092 0.025056 0.988256 0.5 -0.00852647 0.0349744 0.0253569 0.767913 0.5 -0.0094823 0.034855 0.0256576 0.748178 0.5 -0.0104354 0.0347372 0.0259595 0.705494 0.5 -0.011433 0.034701 0.0261941 0.665721 0.5 -0.0124741 0.0347469 0.026362 0.642779 0.5 -0.0134712 0.0347114 0.0266012 0.624856 0.5 -0.0145126 0.0347575 0.026768 0.624258 0.5 -0.0155546 0.034804 0.0269401 0.616667 0.5 -0.0165976 0.0348504 0.0271124 0.607726 0.5 -0.0176377 0.0348968 0.0272836 0.598931 0.5 -0.0187266 0.0350257 0.0273865 0.593043 0.5 -0.019812 0.035154 0.0274956 0.751244 0.5 -0.0208523 0.0352023 0.0276656 0.675654 0.5 -0.0222487 0.0359069 0.0273161 0.592154 0.5 -0.0236405 0.0366106 0.026972 0.603282 0.5 -0.0249936 0.037232 0.0266864 0.681728 0.5 -0.0262747 0.0376552 0.0265482 0.420018 0.422923 -0.0274875 0.0380349 0.0264602 0.443678 0.409872 -0.0287985 0.0385521 0.0262584 0.354401 0.449769 -0.0300144 0.0389449 0.0261617 0.41794 0.5 -0.0312265 0.0393227 0.0260732 0.397569 0.431434 -0.0323984 0.0396183 0.0260504 0.443446 0.5 -0.0335191 0.0398635 0.0260657 0.402804 0.5 -0.0346942 0.0401467 0.0260507 0.397266 0.431116 -0.0358665 0.0404526 0.0260172 0.413974 0.5 -0.0370832 0.0408236 0.0259314 0.412253 0.377657 -0.0383075 0.041189 0.0258499 0.389409 0.395383 -0.0395145 0.0415874 0.025748 0.367031 0.43567 -0.0408171 0.04213 0.0255289 0.344171 0.5 -0.0421622 0.0427592 0.0252421 0.292024 0.343498 -0.0435234 0.0433666 0.0249665 0.501108 0.5 -0.0447739 0.0438422 0.0248039 0.438374 0.5 -0.046038 0.044353 0.0245911 0.503155 0.316357 -0.0475361 0.0451237 0.0241502 0.314731 0.429413 -0.0489522 0.045877 0.023734 0.343459 0.5 --0.0743185 0.067053 0.0192856 0.595027 0.476543 --0.0733752 0.0741466 0.034437 0.717639 0.5 --0.052801 0.0690675 0.0379843 0.670288 0.5 --0.0844174 0.110829 0.0409213 0.522791 0.5 --0.0834627 0.110719 0.0412267 0.929543 0.5 --0.0667678 0.0695012 0.0345692 0.468575 0.5 --0.0606782 0.0639978 0.0300882 0.444886 0.5 --0.0714828 0.0362083 0.00943052 0.292373 0.5 --0.0854845 0.112639 0.0445732 0.390719 0.464351 --0.0736187 0.0665006 0.01992 0.57268 0.5 --0.0694333 0.0348816 0.0112742 0.589936 0.5 --0.0685657 0.0346013 0.0116976 0.789775 0.5 --0.0676574 0.0344024 0.0120657 0.778731 0.5 --0.0667452 0.0342007 0.0124321 0.755645 0.5 --0.0657975 0.0340784 0.0127357 0.890701 0.5 --0.0648434 0.0339553 0.0130374 0.851458 0.5 --0.0638124 0.0339885 0.0132249 0.832762 0.5 --0.0628603 0.033866 0.0135258 0.819104 0.5 --0.0618709 0.0338217 0.0137712 0.810903 0.5 --0.0608764 0.033777 0.0140174 0.808316 0.5 --0.0598831 0.0337324 0.0142605 0.797563 0.5 --0.0588955 0.0336882 0.0145047 0.789549 0.5 --0.0579004 0.0336435 0.0147513 0.784485 0.5 --0.0569109 0.033599 0.014995 0.622469 0.5 --0.0559192 0.0335546 0.0152404 0.459329 0.5 --0.0548859 0.0335879 0.0154264 0.310224 0.5 --0.054019 0.0333099 0.015848 0 0 --0.0357817 0.0351096 0.0179926 0.156756 0.5 --0.0350925 0.0344983 0.0186791 0.336699 0.5 --0.0343155 0.0340522 0.0192395 0.517084 0.5 --0.0333602 0.0339348 0.0195439 0.489664 0.5 --0.0323193 0.0339823 0.0197127 0.433529 0.5 --0.0311024 0.0343581 0.019624 0.243701 0.5 --0.0296224 0.0352251 0.019146 0 0 --0.0272554 0.0377383 0.0173779 0.231287 0.5 --0.0261669 0.0378674 0.0174813 0.291716 0.5 --0.0250833 0.0379957 0.0175874 0.431488 0.5 --0.0240392 0.0380418 0.0177619 0.603577 0.5 --0.0230427 0.038006 0.0179945 0.772551 0.5 --0.0220481 0.0379707 0.0182323 0.748411 0.5 --0.0209608 0.0380992 0.0183358 0.744948 0.5 --0.0199202 0.0381456 0.0185107 0.746144 0.5 --0.0188798 0.0381919 0.018679 0.766485 0.5 --0.0178783 0.0381567 0.0189161 0.756812 0.5 --0.0167974 0.0382847 0.0190235 0.756805 0.5 --0.0157973 0.0382489 0.019257 0.775532 0.5 --0.0147995 0.0382136 0.0194957 0.767319 0.5 --0.0137598 0.0382596 0.0196658 0.775962 0.5 --0.0127602 0.0382241 0.0199007 0.777814 0.5 --0.0117218 0.0382705 0.0200729 0.770477 0.5 --0.0106785 0.0383169 0.0202432 0.770492 0.5 --0.00963566 0.0383633 0.0204127 0.770506 0.5 --0.00859312 0.0384098 0.0205847 0.768843 0.5 --0.00755399 0.0384559 0.0207545 0.77822 0.5 --0.00655639 0.0384205 0.0209905 0.771141 0.5 --0.00547292 0.0385489 0.021098 0.771185 0.5 --0.00447426 0.0385132 0.0213354 0.789369 0.5 --0.00343172 0.0385593 0.0215021 0.780392 0.5 --0.00243741 0.0385239 0.0217416 0.791446 0.5 --0.00139541 0.0385701 0.0219096 0.845662 0.5 --0.000398103 0.0385343 0.0221462 0.949289 0.5 -0.00051428 0.0383337 0.0225142 0.984269 0.5 -0.00137655 0.0380516 0.0229424 0.983686 0.5 -0.00219675 0.0376886 0.0234384 0.98701 0.5 -0.00306398 0.0374048 0.023868 0.985534 0.5 -0.00392744 0.0371222 0.0242968 0.971568 0.5 -0.00474777 0.0367585 0.0247919 0.978906 0.5 -0.00565547 0.0365592 0.0251573 0.9844 0.5 -0.00652169 0.0362747 0.0255863 0.984996 0.5 -0.00738689 0.0359942 0.0260187 0.984989 0.5 -0.00825384 0.0357096 0.0264477 0.997391 0.5 -0.00916248 0.0355108 0.0268151 0.998612 0.5 -0.0100263 0.0352289 0.0272451 0.991481 0.5 -0.0109368 0.035027 0.0276086 0.972344 0.5 -0.0118903 0.0349087 0.0279111 0.921243 0.5 -0.0128412 0.0347905 0.0282102 0.836126 0.5 -0.0138852 0.0348367 0.0283807 0.777905 0.5 -0.0148813 0.0348012 0.0286151 0.76671 0.5 -0.0159216 0.0348476 0.0287894 0.757184 0.5 -0.0169629 0.0348939 0.0289563 0.759196 0.5 -0.018008 0.0349409 0.0291289 0.750327 0.5 -0.019092 0.0350694 0.0292369 0.728293 0.5 -0.0201781 0.0351992 0.0293411 0.677815 0.5 -0.0215711 0.035903 0.0289947 0.541291 0.5 -0.0230126 0.0366914 0.0285839 0.54084 0.5 -0.0244967 0.0375596 0.0281073 0.614471 0.5 -0.0257301 0.0379057 0.0280361 0.399381 0.429386 -0.0270346 0.0384464 0.0278157 0.451576 0.5 -0.0282809 0.0389301 0.0276504 0.378253 0.454853 -0.0295979 0.039453 0.0274445 0.400352 0.373374 -0.0308953 0.0400111 0.0272142 0.436563 0.5 -0.032159 0.0404592 0.0270704 0.481155 0.5 -0.0333307 0.040756 0.0270424 0.484864 0.5 -0.0344154 0.0409101 0.0271225 0.481978 0.401041 -0.0355897 0.0411906 0.0271165 0.467021 0.398895 -0.0367619 0.0414833 0.0270934 0.452966 0.410899 -0.0379293 0.0417908 0.0270611 0.430725 0.5 -0.0391473 0.0421646 0.0269754 0.447264 0.5 -0.0404587 0.0426892 0.0267677 0.402884 0.355026 -0.041759 0.0432404 0.0265421 0.311963 0.5 -0.0431078 0.0438619 0.0262578 0.417128 0.5 -0.0444569 0.0444867 0.0259758 0.467722 0.256149 -0.0456558 0.0449086 0.0258493 0.457904 0.5 -0.0470963 0.045623 0.0254581 0.394345 0.5 -0.048576 0.0464424 0.0249843 0.371859 0.5 --0.0697588 0.147131 -0.0275571 0.356314 0.296108 --0.0597203 0.0638916 0.0303834 0.563915 0.5 --0.071352 0.110742 0.0439553 0.757942 0.5 --0.0729614 0.112778 0.0490933 0.348431 0.5 --0.0836817 0.0786288 0.0214472 0.822703 0.5 --0.0574075 0.0649991 0.0334306 0.500434 0.434766 --0.075455 0.0675485 0.016865 0.611565 0.5 --0.0824666 0.11008 0.0383967 0.854093 0.5 --0.0728736 0.0659781 0.0205309 0.548274 0.5 --0.0583644 0.065095 0.0331446 0.503182 0.400593 --0.0687909 0.0354139 0.0127136 0.570158 0.5 --0.0679674 0.0350577 0.0131968 0.592278 0.5 --0.0670986 0.0347786 0.0136227 0.792609 0.5 --0.0662316 0.0345008 0.0140489 0.785041 0.5 --0.0653226 0.0343003 0.0144151 0.769424 0.5 --0.0643724 0.0341771 0.0147182 0.724098 0.5 --0.0634619 0.0339766 0.015084 0.711124 0.5 --0.062469 0.033932 0.0153305 0.667382 0.5 --0.0614772 0.0338873 0.0155724 0.818573 0.5 --0.0605291 0.0337655 0.01588 0.816079 0.5 --0.0595378 0.0337212 0.0161226 0.791107 0.5 --0.0585033 0.0337545 0.0163089 0.808163 0.5 --0.057552 0.0336321 0.0166122 0.808473 0.5 --0.0566004 0.0335105 0.0169198 0.628726 0.5 --0.0555707 0.033544 0.017104 0.462044 0.5 --0.0545376 0.0335773 0.0172858 0.328791 0.5 --0.053835 0.0329874 0.0179508 0 0 --0.0361895 0.0355992 0.0192692 0 0 --0.0356328 0.0347409 0.0201566 0.322998 0.5 --0.0348553 0.0342935 0.020715 0.343603 0.5 --0.0340311 0.0339294 0.0212063 0.486929 0.5 --0.0329932 0.0339759 0.0213799 0.44303 0.5 --0.0318602 0.0341892 0.0214236 0.254934 0.5 --0.0305143 0.0348089 0.0211376 0 0 --0.0278811 0.0378156 0.0189805 0.146623 0.5 --0.0269293 0.0376983 0.0192799 0.296848 0.5 --0.0258871 0.0377455 0.0194558 0.425014 0.5 --0.0247602 0.0379556 0.0194943 0.581765 0.5 --0.0237163 0.0380022 0.0196686 0.755032 0.5 --0.0226749 0.0380487 0.0198364 0.76847 0.5 --0.0216341 0.038095 0.0200103 0.768617 0.5 --0.020634 0.03806 0.0202475 0.758062 0.5 --0.019552 0.0381879 0.0203532 0.746155 0.5 --0.0185078 0.0382343 0.0205228 0.767705 0.5 --0.0175101 0.0381991 0.0207599 0.769738 0.5 --0.0164722 0.0382453 0.0209318 0.766819 0.5 --0.0154293 0.0382918 0.0211029 0.768598 0.5 --0.0143883 0.038338 0.0212719 0.777709 0.5 --0.0133897 0.0383025 0.0215062 0.78018 0.5 --0.0123469 0.0383491 0.0216787 0.781798 0.5 --0.0113089 0.0383954 0.0218511 0.770346 0.5 --0.0102645 0.038442 0.0220215 0.77041 0.5 --0.00922198 0.0384881 0.0221926 0.780112 0.5 --0.00822614 0.0384527 0.0224267 0.778106 0.5 --0.00718512 0.0384992 0.0226001 0.768677 0.5 --0.00614297 0.0385457 0.0227705 0.759089 0.5 --0.00510128 0.0385919 0.0229448 0.778193 0.5 --0.00410534 0.0385566 0.0231802 0.780199 0.5 --0.00306646 0.0386027 0.0233477 0.780204 0.5 --0.00202044 0.0386496 0.0235231 0.772395 0.5 --0.000982862 0.0386959 0.0236934 0.805634 0.5 -1.67787e-05 0.0386604 0.0239291 0.844124 0.5 -0.00105802 0.0387062 0.0241019 0.941273 0.5 -0.00196704 0.0385066 0.0244659 0.982624 0.5 -0.00291872 0.0383891 0.0247663 0.996425 0.5 -0.00378339 0.0381062 0.0251953 0.990916 0.5 -0.00464996 0.0378242 0.0256263 0.987467 0.5 -0.00551406 0.0375423 0.0260562 0.978097 0.5 -0.00637923 0.0372606 0.0264872 0.978659 0.5 -0.00724524 0.0369774 0.0269173 0.978652 0.5 -0.00810763 0.0366956 0.0273459 0.978471 0.5 -0.00897384 0.0364118 0.0277765 0.980379 0.5 -0.00979486 0.0360464 0.02827 0.990232 0.5 -0.0106595 0.0357626 0.0286983 0.98526 0.5 -0.0114791 0.0353993 0.0291949 0.949134 0.5 -0.0123436 0.0351165 0.0296251 0.915728 0.5 -0.0132092 0.0348336 0.0300558 0.834569 0.5 -0.0142088 0.034798 0.0302902 0.761782 0.5 -0.0152498 0.0348445 0.0304622 0.746258 0.5 -0.0162926 0.0348913 0.030635 0.747822 0.5 -0.0173795 0.0350198 0.030737 0.750268 0.5 -0.0184177 0.0350663 0.0309125 0.749506 0.5 -0.0195053 0.0351963 0.0310168 0.700079 0.5 -0.0207235 0.0355731 0.0309275 0.573445 0.5 -0.0222487 0.0365239 0.0303911 0.509209 0.5 -0.0236875 0.0373106 0.0299772 0.517201 0.5 -0.0251052 0.0382735 0.0297226 0.404127 0.362111 -0.0265654 0.0388814 0.0291555 0.326897 0.5 -0.0279051 0.0395203 0.0288639 0.374023 0.362061 -0.0292035 0.0400739 0.0286474 0.353795 0.457751 -0.0305964 0.0407785 0.0282841 0.482638 0.5 -0.0319555 0.0413937 0.028007 0.575267 0.5 -0.0331811 0.0417541 0.0279348 0.572367 0.5 -0.0343096 0.0419726 0.0279684 0.582848 0.5 -0.0353499 0.042038 0.028119 0.577178 0.5 -0.0364832 0.0422343 0.0281778 0.556699 0.5 -0.0376516 0.0425419 0.0281451 0.511907 0.370025 -0.0388229 0.0428364 0.0281231 0.481444 0.360097 -0.0400787 0.0432895 0.0279756 0.47273 0.5 -0.0413844 0.0438265 0.0277643 0.35476 0.5 -0.0427867 0.0445146 0.027427 0.359847 0.229952 -0.0440796 0.0450784 0.0271934 0.474672 0.5 -0.0453672 0.0456539 0.0269438 0.42944 0.469332 -0.0467625 0.0462832 0.0266316 0.392509 0.5 --0.070065 0.148313 -0.0344143 0.323862 0.5 --0.054123 0.064196 0.0330627 0.438042 0.5 --0.0794475 0.0732175 0.0216948 0.777032 0.5 -0.0390072 0.0393837 0.00207442 0.423395 0.44285 --0.0770169 0.112922 0.0479771 0.454483 0.377542 --0.0725566 0.0737794 0.034925 0.68684 0.5 --0.0769868 0.0713943 0.0255408 0.603285 0.5 --0.076476 0.07597 0.0322323 0.71984 0.5 --0.0895884 0.114751 0.0258504 0.673134 0.389671 --0.0696662 0.0710058 0.0344116 0.570884 0.5 --0.0910253 0.115214 0.0323598 0.428706 0.5 --0.0868879 0.111328 0.0363925 0.49125 0.40653 --0.0815589 0.10988 0.0387619 0.885008 0.5 --0.0778797 0.109167 0.0401678 0.90674 0.5 --0.0677487 0.111258 0.0407689 0.313633 0.5 --0.073756 0.0716254 0.0312714 0.626067 0.457601 --0.0807007 0.0752735 0.0231846 0.612053 0.5 --0.070531 0.151779 -0.0453729 0.20315 0.5 --0.0664219 0.0352675 0.015055 0.434662 0.5 --0.0655994 0.0349763 0.0155159 0.429517 0.5 --0.0647928 0.0346609 0.0159953 0.42563 0.5 --0.063971 0.0343652 0.0164556 0.389633 0.377416 --0.0629896 0.0341974 0.0167609 0.570355 0.5 --0.0620801 0.0339964 0.0171254 0.724726 0.5 --0.0610891 0.0339525 0.017372 0.68064 0.5 --0.0601377 0.0338299 0.0176745 0.657735 0.5 --0.0591025 0.0338635 0.0178635 0.796553 0.5 --0.0581543 0.0337417 0.0181646 0.8123 0.5 --0.0572015 0.0336196 0.0184714 0.654889 0.5 --0.0561672 0.0336533 0.0186553 0.473837 0.5 --0.0551792 0.0336096 0.018904 0.332593 0.5 --0.0541424 0.033642 0.0190888 0.376671 0.5 --0.0533609 0.033209 0.01963 0 0 --0.0360819 0.0351453 0.0214963 0.163888 0.5 --0.0353491 0.0346157 0.0221204 0.309991 0.5 --0.0346581 0.0340056 0.0228095 0.473398 0.5 --0.0336645 0.0339705 0.0230467 0.464143 0.5 --0.0325779 0.0341004 0.0231549 0.280468 0.5 --0.0312735 0.034639 0.0229335 0 0 --0.0285962 0.0377287 0.0207135 0.133839 0.5 --0.0276455 0.0376114 0.0210157 0.305309 0.5 --0.026559 0.0377408 0.0211248 0.438663 0.5 --0.0254312 0.0379511 0.0211651 0.592595 0.5 --0.0243874 0.0379977 0.0213348 0.758672 0.5 --0.0233444 0.0380443 0.0215084 0.768328 0.5 --0.0223063 0.0380908 0.0216787 0.758703 0.5 --0.0212653 0.0381372 0.0218515 0.779863 0.5 --0.0202225 0.0381837 0.0220241 0.768586 0.5 --0.0192269 0.0381483 0.0222601 0.757984 0.5 --0.0181385 0.038277 0.0223668 0.759664 0.5 --0.0170991 0.0383232 0.0225362 0.779938 0.5 --0.0161025 0.0382877 0.022773 0.77794 0.5 --0.0150618 0.0383341 0.0229424 0.769196 0.5 --0.0140608 0.038299 0.0231793 0.781273 0.5 --0.0129795 0.0384272 0.0232864 0.770878 0.5 --0.0119797 0.0383916 0.0235247 0.777964 0.5 --0.0109392 0.038438 0.0236915 0.756827 0.5 --0.00989846 0.0384846 0.0238656 0.756887 0.5 --0.00885716 0.0385311 0.024037 0.77801 0.5 --0.00785703 0.0384956 0.0242725 0.780023 0.5 --0.00681555 0.0385421 0.0244437 0.770351 0.5 --0.00577674 0.0385885 0.0246132 0.770383 0.5 --0.00473212 0.0386351 0.0247855 0.780093 0.5 --0.00369415 0.0386815 0.0249596 0.780105 0.5 --0.0026931 0.0386465 0.0251959 0.770975 0.5 --0.00161218 0.0387745 0.0252993 0.760787 0.5 --0.000568628 0.0388214 0.0254737 0.784611 0.5 -0.000472166 0.0388678 0.0256446 0.807355 0.5 -0.00147085 0.0388322 0.0258794 0.843989 0.5 -0.00251072 0.0388788 0.0260522 0.874849 0.5 -0.00350659 0.0388434 0.0262887 0.962096 0.5 -0.00445885 0.0387258 0.0265895 0.981885 0.5 -0.00536983 0.0385261 0.026955 0.999238 0.5 -0.00623573 0.0382417 0.0273828 0.987711 0.5 -0.00710192 0.0379595 0.027814 0.988483 0.5 -0.00796329 0.0376774 0.0282412 0.983579 0.5 -0.00882931 0.0373958 0.0286749 0.778286 0.5 -0.00960463 0.0369501 0.029234 0.766285 0.5 -0.0103827 0.0365006 0.0297934 0.739987 0.5 -0.0111147 0.0359709 0.0304167 0.703917 0.5 -0.0118497 0.0354401 0.0310392 0.649316 0.5 -0.0126257 0.034994 0.0315996 0.636057 0.5 -0.0135363 0.0347941 0.0319644 0.626939 0.5 -0.0145335 0.034759 0.0322003 0.733496 0.5 -0.0156183 0.0348875 0.0323047 0.733544 0.5 -0.0166591 0.0349342 0.0324763 0.713898 0.5 -0.0177456 0.0350628 0.0325863 0.724859 0.5 -0.0187875 0.0351105 0.0327558 0.692467 0.5 -0.0200475 0.0355684 0.0326031 0.588095 0.5 -0.0214416 0.0362735 0.0322576 0.4166 0.5 -0.0229929 0.0371968 0.0317242 0.284582 0.5 -0.0245219 0.0382712 0.0311236 0.274245 0.352418 -0.026043 0.0392404 0.0305576 0.300527 0.5 -0.0274856 0.0400248 0.0301572 0.306118 0.414427 -0.0289055 0.0408264 0.0297172 0.397473 0.5 -0.0305131 0.0418181 0.0291512 0.438664 0.5 -0.0318466 0.0424663 0.0288342 0.625703 0.5 -0.0331279 0.0428909 0.0287274 0.664266 0.5 -0.0342091 0.0430428 0.0288022 0.667071 0.5 -0.0352492 0.043109 0.0289456 0.62938 0.5 -0.0363367 0.0432226 0.0290731 0.623066 0.5 -0.037465 0.0434297 0.0291248 0.607694 0.5 -0.0385932 0.0436441 0.0291648 0.573421 0.5 -0.0398079 0.0440192 0.0290809 0.581941 0.5 -0.0410489 0.0445052 0.0289111 0.425157 0.234853 -0.0423969 0.0451283 0.0286278 0.418967 0.5 -0.0437177 0.0457281 0.0283091 0.411995 0.472812 -0.0450831 0.0463904 0.0280485 0.457445 0.5 --0.0827793 0.0771313 0.0211566 0.780032 0.5 --0.0649916 0.0659907 0.0309635 0.540125 0.459069 --0.0671962 0.0736816 0.0379285 0.591194 0.468026 --0.0612726 0.0708854 0.0380779 0.653028 0.5 --0.0788042 0.109939 0.0428886 0.560539 0.421418 --0.0827795 0.113314 0.0464356 0.457272 0.5 --0.0904011 0.115144 0.0307537 0.567756 0.5 --0.0812191 0.0785924 0.0290188 0.632174 0.473944 --0.0652616 0.0722487 0.0377992 0.552011 0.366743 --0.0720619 0.109399 0.0395074 0.64688 0.5 --0.0676501 0.0667159 0.0297862 0.454542 0.338075 --0.0896796 0.114349 0.0422656 0.451358 0.5 --0.0531345 0.0641573 0.0333061 0.491964 0.5 --0.0653727 0.074532 0.0393295 0.590578 0.5 --0.0904857 0.114242 0.0332623 0.382143 0.5 --0.0860696 0.110951 0.0368762 0.484839 0.5 --0.0898618 0.113382 0.0394321 0.47087 0.5 --0.0768843 0.109139 0.0404116 0.868516 0.5 --0.0586618 0.0637687 0.0307411 0.593653 0.415043 --0.0578159 0.0636603 0.0309898 0.428856 0.426588 --0.0757375 0.106056 0.0359296 0.479085 0.5 --0.0670324 0.0672056 0.0312385 0.495337 0.5 --0.0925663 0.116874 0.0234322 0.805171 0.5 --0.06879 0.067714 0.0304363 0.499205 0.439093 --0.0487849 0.0715634 0.0402545 0.734795 0.5 --0.0497522 0.0716181 0.0399477 0.711003 0.417477 --0.0645432 0.0673992 0.033354 0.489937 0.471414 --0.0624735 0.0344952 0.0183787 0.58259 0.5 --0.0616059 0.0342155 0.0188015 0.548673 0.5 --0.0606958 0.0340151 0.0191666 0.512476 0.5 --0.0597443 0.0338929 0.0194732 0.652526 0.5 --0.0587951 0.0337712 0.0197789 0.807616 0.5 --0.0577592 0.033805 0.0199655 0.821221 0.5 --0.0568094 0.0336832 0.0202688 0.657089 0.5 --0.0558188 0.0336396 0.0205147 0.476256 0.5 --0.0547437 0.0337519 0.0206417 0.457518 0.5 --0.0536699 0.0338623 0.0207675 0.353283 0.5 --0.0528867 0.0334295 0.0213081 0 0 --0.0366651 0.0353042 0.023032 0.153172 0.5 --0.0360635 0.034528 0.0238485 0.263742 0.5 --0.0353224 0.0340121 0.0244595 0.468853 0.5 --0.0342862 0.0340473 0.0246456 0.615421 0.5 --0.0331612 0.0342582 0.0246899 0.433082 0.5 --0.0319429 0.0346356 0.0246022 0.22211 0.5 --0.0301518 0.0360809 0.0236741 0.074682 0.5 --0.0282716 0.0376885 0.0226211 0.276831 0.5 --0.0272298 0.037736 0.022792 0.446069 0.5 --0.0261021 0.0379463 0.0228342 0.602921 0.5 --0.0250572 0.0379934 0.0230062 0.760419 0.5 --0.0239769 0.0381215 0.0231095 0.77061 0.5 --0.022979 0.0380859 0.023348 0.769349 0.5 --0.0218898 0.0382146 0.0234539 0.76032 0.5 --0.0208969 0.0381794 0.0236923 0.782021 0.5 --0.0198527 0.0382258 0.0238627 0.792046 0.5 --0.0188094 0.0382725 0.0240343 0.760493 0.5 --0.0177683 0.0383192 0.0242073 0.770186 0.5 --0.0167299 0.0383654 0.0243772 0.791552 0.5 --0.0157326 0.0383302 0.0246146 0.784506 0.5 --0.014649 0.0384586 0.0247211 0.794359 0.5 --0.0136478 0.0384232 0.0249573 0.782556 0.5 --0.0126098 0.0384695 0.0251301 0.78901 0.5 --0.0116086 0.0384341 0.0253641 0.782151 0.5 --0.0105678 0.0384807 0.0255376 0.782631 0.5 --0.00952807 0.0385271 0.0257083 0.768519 0.5 --0.00848922 0.0385737 0.0258802 0.770543 0.5 --0.00744633 0.0386202 0.0260498 0.781732 0.5 --0.00640617 0.0386668 0.0262232 0.770265 0.5 --0.00536457 0.0387134 0.026395 0.779993 0.5 --0.00436707 0.0386778 0.0266309 0.780018 0.5 --0.00332487 0.0387243 0.0268007 0.781776 0.5 --0.00228102 0.038771 0.0269718 0.772098 0.5 --0.00124079 0.0388178 0.0271443 0.760732 0.5 --0.00015619 0.0389464 0.0272511 0.760523 0.5 -0.000884291 0.038993 0.0274224 0.784363 0.5 -0.00192546 0.0390395 0.0275923 0.796973 0.5 -0.00296667 0.0390863 0.0277676 0.808971 0.5 -0.00400981 0.0391328 0.0279405 0.677937 0.5 -0.00500615 0.0390969 0.0281732 0.716877 0.5 -0.00600107 0.0390612 0.028408 0.775798 0.5 -0.00691185 0.038861 0.0287775 0.788748 0.5 -0.00777681 0.0385776 0.0292039 0.791515 0.5 -0.00859545 0.0382141 0.0296981 0.573788 0.5 -0.00937487 0.0377648 0.0302588 0.550385 0.5 -0.0100598 0.0371564 0.0309489 0.490787 0.5 -0.0106605 0.0363802 0.031763 0.417846 0.5 -0.0111749 0.035437 0.032711 0.405938 0.5 -0.011955 0.0349898 0.0332703 0.453645 0.5 -0.0128613 0.0347903 0.0336338 0.612265 0.5 -0.0138178 0.034673 0.033937 0.751171 0.5 -0.0149002 0.0348014 0.0340409 0.735948 0.5 -0.0159012 0.0347663 0.0342789 0.74423 0.5 -0.0169866 0.0348952 0.0343866 0.704137 0.5 -0.0180716 0.0350245 0.0344937 0.707034 0.5 -0.0191993 0.0352366 0.0345338 0.596159 0.5 -0.0207702 0.036271 0.0339301 0.384131 0.5 -0.022412 0.0372285 0.0333476 0.240578 0.5 -0.0239273 0.0383233 0.0327312 0.239403 0.302757 -0.0254197 0.0394349 0.0320923 0.317109 0.5 -0.027107 0.0406036 0.0313674 0.312241 0.5 --0.0487973 0.070279 0.0395574 0.725647 0.5 --0.0812419 0.109765 0.0353982 0.493127 0.417252 -0.0319052 0.0437397 0.0295375 0.714435 0.5 -0.033052 0.0440867 0.029429 0.78381 0.5 -0.034148 0.0442132 0.0295363 0.744997 0.5 -0.0352381 0.0443124 0.029693 0.743329 0.5 -0.0362811 0.0443655 0.0298564 0.729515 0.5 -0.0373215 0.0444316 0.0300039 0.560167 0.5 -0.0384486 0.0446185 0.0300797 0.649556 0.5 -0.0395731 0.0448559 0.0300931 0.651241 0.5 -0.0407753 0.0452541 0.0299878 0.489438 0.5 -0.0420748 0.0457918 0.0297783 0.496204 0.462606 -0.0434163 0.0464179 0.0294988 0.464088 0.5 --0.0568241 0.063612 0.0312362 0.431432 0.42672 --0.0605435 0.0660534 0.0336067 0.537419 0.5 --0.0717138 0.073474 0.0353741 0.683322 0.427231 --0.0748097 0.109257 0.0407877 0.820734 0.5 --0.0715764 0.0724969 0.0344898 0.645387 0.5 --0.0758474 0.109198 0.0406016 0.845878 0.5 --0.0832904 0.111663 0.0440643 0.560126 0.437509 --0.0892259 0.113441 0.0323782 0.454461 0.5 --0.0853906 0.110991 0.0352247 0.758937 0.5 --0.0898642 0.114175 0.0316644 0.507517 0.5 --0.0885535 0.112746 0.0331115 0.42327 0.41333 --0.0870355 0.111737 0.0342553 0.759156 0.5 --0.0845703 0.11062 0.0357089 0.767808 0.5 --0.0801514 0.109359 0.0377151 0.900163 0.5 --0.0763852 0.108818 0.0389983 0.882104 0.5 --0.0594802 0.0716799 0.0395512 0.561236 0.5 --0.0888863 0.113493 0.0234001 0.697972 0.5 --0.0830307 0.110356 0.0344756 0.767843 0.5 --0.0661377 0.0669804 0.0316196 0.477161 0.5 --0.0898786 0.113438 0.0340422 0.372905 0.5 --0.0603252 0.0707596 0.0383929 0.652107 0.460124 --0.0825513 0.110697 0.0307352 0.523556 0.412848 --0.0558279 0.0635792 0.0314789 0.460183 0.425468 --0.0581683 0.0606896 -0.00283185 0.219842 0 --0.0548706 0.0634738 0.0317723 0.497969 0.391365 --0.0897269 0.113038 0.0361809 0.556882 0.5 --0.0538732 0.0634525 0.0320061 0.358173 0.272325 --0.0848272 0.110715 0.0391424 0.91371 0.5 --0.0773794 0.109459 0.0418273 0.902467 0.5 --0.0683421 0.111385 0.0423299 0.329698 0.5 --0.0738907 0.107101 0.0373066 0.321443 0.5 --0.0633414 0.0357702 0.0187502 0.273201 0.5 --0.0627834 0.035148 0.0195098 0.333406 0.5 --0.0621198 0.0344764 0.0202314 0.343534 0.5 --0.0612546 0.0341987 0.0206565 0.33866 0.5 --0.0603468 0.0339987 0.0210215 0.492808 0.5 --0.0593508 0.0339548 0.0212701 0.656969 0.5 --0.0583609 0.0339112 0.0215144 0.811734 0.5 --0.0573663 0.0338673 0.0217593 0.819693 0.5 --0.0563756 0.0338236 0.0220041 0.6579 0.5 --0.0553855 0.0337802 0.0222515 0.482267 0.5 --0.0543926 0.0337363 0.0224962 0.324047 0.5 --0.0534027 0.0336932 0.022744 0.344864 0.5 --0.0524535 0.0335708 0.023045 0 0 --0.0382796 0.035429 0.0243806 0.109729 0 --0.0372877 0.0353832 0.0246264 0.247976 0.5 --0.0369573 0.0340894 0.0258321 0.439136 0.5 --0.0359224 0.034124 0.026018 0.625567 0.5 --0.0348891 0.0341588 0.0262022 0.622211 0.5 --0.0338144 0.0342727 0.0263277 0.577368 0.5 --0.0325668 0.0347124 0.0262002 0.341463 0.5 --0.0308674 0.0359912 0.0254031 0.151069 0.5 --0.0288992 0.0377652 0.0242203 0.253717 0.5 --0.027899 0.0377311 0.0244577 0.453342 0.5 --0.0267255 0.0380235 0.0244373 0.595845 0.5 --0.0256867 0.0380701 0.0246091 0.782923 0.5 --0.0246444 0.0381166 0.0247786 0.771805 0.5 --0.0236064 0.038163 0.0249493 0.788782 0.5 --0.0226059 0.0381278 0.0251854 0.761547 0.5 --0.0215209 0.0382567 0.0252967 0.761667 0.5 --0.0204364 0.038385 0.0254029 0.785164 0.5 --0.0194853 0.0382676 0.0257029 0.795062 0.5 --0.0184004 0.0383962 0.0258071 0.771935 0.5 --0.0173569 0.038443 0.0259817 0.770028 0.5 --0.016317 0.0384896 0.0261516 0.782427 0.5 --0.015272 0.0385359 0.0263224 0.779882 0.5 --0.0142754 0.0385008 0.0265607 0.779914 0.5 --0.0132381 0.0385471 0.0267309 0.790988 0.5 --0.0122404 0.0385117 0.0269697 0.781966 0.5 --0.0111539 0.0386404 0.0270766 0.784489 0.5 --0.0101559 0.0386047 0.027311 0.802959 0.5 --0.00915886 0.0385694 0.027547 0.784506 0.5 --0.00807178 0.0386982 0.0276584 0.784231 0.5 --0.00707611 0.0386628 0.0278929 0.79411 0.5 --0.00603714 0.0387093 0.0280658 0.782611 0.5 --0.00499552 0.038756 0.0282379 0.781685 0.5 --0.00395415 0.0388026 0.0284096 0.783002 0.5 --0.00290933 0.0388493 0.0285794 0.782966 0.5 --0.00186878 0.0388962 0.0287527 0.78447 0.5 --0.000827607 0.0389424 0.0289209 0.785303 0.5 -0.00021169 0.0389894 0.029096 0.618819 0.5 -0.00129902 0.039118 0.0292011 0.618645 0.5 -0.00233723 0.0391647 0.0293747 0.626438 0.5 -0.00337821 0.0392113 0.0295452 0.626516 0.5 -0.00442082 0.039258 0.029719 0.482701 0.5 -0.00542039 0.0392223 0.0299552 0.488765 0.5 -0.00645901 0.0392685 0.0301228 0.520682 0.5 -0.00741103 0.0391504 0.030425 0.551147 0.5 -0.00823162 0.0387858 0.0309201 0.359342 0.5 -0.00900714 0.0383394 0.0314785 0.329606 0.5 -0.00960807 0.0375632 0.0322947 0.264786 0.5 -0.00994394 0.0362916 0.0335003 0.195722 0.5 -0.0103698 0.0351865 0.034574 0.254455 0.5 -0.0112393 0.0349033 0.0350041 0.434127 0.5 -0.0121456 0.0347039 0.0353715 0.602674 0.5 -0.0131441 0.0346685 0.0356066 0.76132 0.5 -0.0141872 0.0347155 0.0357788 0.736807 0.5 -0.015269 0.034844 0.035887 0.759188 0.5 -0.0162675 0.0348087 0.0361219 0.761736 0.5 -0.0173543 0.0349384 0.0362289 0.720415 0.5 -0.0185257 0.0352322 0.0362088 0.654617 0.5 -0.0198737 0.0358544 0.0359282 0.405286 0.5 -0.0214915 0.0369736 0.0352586 0.257407 0.5 --0.0821651 0.110069 0.034903 0.797984 0.5 --0.0721201 0.0655088 0.0210948 0.521037 0.5 --0.0709567 0.0767623 0.0380194 0.620536 0.5 --0.0607654 0.0668786 0.0346016 0.459782 0.5 --0.0633908 0.0664235 0.0326881 0.561185 0.440088 --0.0731036 0.0721584 0.0326952 0.634913 0.5 --0.0357596 0.0367769 0.0465803 0.526416 0.5 --0.0582856 0.0695544 0.0380966 0.512183 0.474737 --0.0626784 0.0670893 0.0340154 0.585612 0.5 --0.0724259 0.0727975 0.0340482 0.65353 0.5 --0.0713342 0.065071 0.0216423 0.493218 0.472389 --0.0799749 0.0710714 0.0163832 0.625939 0.5 -0.0394746 0.0459091 0.0309432 0.624607 0.5 -0.0406411 0.0462159 0.0309092 0.679363 0.374835 --0.0792845 0.0704649 0.0170607 0.595405 0.448423 --0.0785506 0.0699758 0.0176232 0.599118 0.5 --0.0777833 0.0694772 0.0182331 0.620852 0.5 --0.0708435 0.0731956 0.0357937 0.659453 0.5 --0.0754795 0.0704499 0.0266608 0.75767 0.5 --0.0769851 0.0690914 0.0187275 0.635841 0.399638 --0.05157 0.0657725 0.0357523 0.63449 0.5 --0.0847722 0.113367 0.0459387 0.553865 0.5 --0.0839165 0.110514 0.0395089 0.904669 0.5 --0.0773811 0.108845 0.0387481 0.886768 0.5 --0.0810176 0.109646 0.0372868 0.890241 0.5 --0.0761893 0.0686573 0.0192806 0.668881 0.5 --0.0728856 0.148047 -0.0249504 0.266102 0.5 --0.0606626 0.0738612 0.0409255 0.585721 0.481983 --0.0862122 0.111364 0.0347412 0.765019 0.5 --0.0837023 0.110333 0.0361338 0.785971 0.5 --0.0604546 0.071762 0.0392488 0.669091 0.5 --0.0639661 0.0690471 0.0355624 0.570875 0.5 --0.0709391 0.109631 0.0395791 0.5967 0.5 --0.0776118 0.0739521 0.0284675 0.659616 0.5 --0.0872579 0.113355 0.0275168 0.55346 0.436108 --0.0754126 0.068174 0.019879 0.718833 0.348013 --0.0746432 0.067744 0.0203901 0.749554 0.353488 --0.0738697 0.0672451 0.0209913 0.736364 0.5 --0.0616634 0.0612417 -0.00198952 0.272812 0.5 --0.0607907 0.0609394 -0.0015406 0.250808 0.212991 --0.0599662 0.0605914 -0.00103222 0.233859 0.237272 --0.0591948 0.0603156 -0.00052226 0.20088 0.5 --0.058406 0.0598457 0.000248469 0.244272 0.5 --0.0731035 0.0667848 0.0215468 0.730289 0.5 --0.0836103 0.0769236 0.0176347 0.723913 0.5 --0.0603093 0.0652594 0.0325934 0.476835 0.409404 --0.0763864 0.109432 0.0420745 0.859117 0.5 --0.0669825 0.112069 0.0420748 0.265175 0.5 --0.0723466 0.0663158 0.0221054 0.708173 0.355554 --0.0529002 0.0701503 0.0387731 0.693549 0.5 --0.0715611 0.065876 0.0226562 0.532611 0.5 --0.0625972 0.0348156 0.0215996 0.159525 0.5 --0.0618525 0.0343021 0.022204 0.319803 0.5 --0.0609416 0.0341022 0.0225725 0.490042 0.5 --0.0599506 0.0340585 0.0228145 0.647073 0.5 --0.0589604 0.0340153 0.0230639 0.808303 0.5 --0.0579697 0.0339719 0.0233097 0.80838 0.5 --0.0569766 0.0339283 0.0235563 0.808252 0.5 --0.055985 0.033885 0.0237996 0.643513 0.5 --0.0549513 0.0339195 0.0239841 0.497915 0.5 --0.0539587 0.0338764 0.0242313 0.504315 0.5 --0.0529285 0.0339107 0.0244154 0.351785 0.5 --0.0520579 0.0336325 0.0248414 0.183456 0 --0.0510279 0.0336678 0.0250302 0.17805 0.5 --0.0438381 0.033833 0.0263899 0.154159 0.5 --0.0428042 0.0338676 0.0265755 0.165943 0 --0.0418955 0.0336683 0.02694 0.173414 0.5 --0.0406946 0.0340162 0.0268873 0.146647 0.5 --0.0396636 0.0340515 0.0270767 0.274667 0.5 --0.038588 0.0341641 0.0271976 0.272501 0.5 --0.0375579 0.0341991 0.0273875 0.475738 0.5 --0.0365645 0.0341557 0.0276322 0.634651 0.5 --0.0355318 0.0341909 0.0278174 0.765685 0.5 --0.0344171 0.0343826 0.0278837 0.724343 0.5 --0.0332179 0.0347336 0.0278325 0.47832 0.5 --0.0316694 0.0357391 0.0272619 0.240675 0.5 --0.0295698 0.0377598 0.0258888 0.346105 0.5 --0.0285282 0.0378067 0.0260568 0.458637 0.5 --0.0273965 0.0380183 0.0261038 0.595031 0.5 --0.0263135 0.0381467 0.0262093 0.761801 0.5 --0.0252738 0.0381933 0.0263814 0.781317 0.5 --0.0242309 0.0382399 0.0265535 0.779574 0.5 --0.0232358 0.0382045 0.0267906 0.781733 0.5 --0.0221488 0.0383333 0.0268965 0.774112 0.5 --0.0211531 0.0382979 0.0271326 0.774113 0.5 --0.0200678 0.0384268 0.0272406 0.783436 0.5 --0.0190238 0.0384735 0.0274147 0.784309 0.5 --0.018026 0.0384381 0.0276504 0.791875 0.5 --0.016985 0.0384848 0.0278228 0.770032 0.5 --0.0159434 0.0385311 0.027994 0.780083 0.5 --0.0149461 0.0384961 0.0282276 0.780979 0.5 --0.0138611 0.0386244 0.0283378 0.770692 0.5 --0.0128672 0.038589 0.0285719 0.790878 0.5 --0.0118259 0.0386358 0.028745 0.771854 0.5 --0.0107858 0.0386823 0.0289151 0.781523 0.5 --0.00974239 0.0387292 0.0290909 0.793584 0.5 --0.00870302 0.0387758 0.0292604 0.773642 0.5 --0.00765915 0.0388225 0.0294318 0.79352 0.5 --0.00661876 0.0388692 0.029605 0.796097 0.5 --0.00562206 0.0388337 0.0298422 0.804769 0.5 --0.00457845 0.0388805 0.0300129 0.784111 0.5 --0.00353807 0.0389271 0.0301841 0.636004 0.5 --0.00249575 0.0389742 0.0303561 0.618472 0.5 --0.00141447 0.0391026 0.0304627 0.619107 0.5 --0.000370674 0.0391495 0.0306363 0.62789 0.5 -0.000668194 0.039196 0.03081 0.469544 0.5 -0.00170995 0.0392427 0.0309786 0.461964 0.5 -0.00275029 0.0392893 0.0311503 0.461032 0.5 -0.00379349 0.0393361 0.0313217 0.455411 0.5 -0.00483671 0.039382 0.0314929 0.322538 0.5 -0.00578775 0.0392649 0.0317966 0.33008 0.5 -0.00678439 0.0392286 0.0320303 0.334073 0.5 -0.00769138 0.039029 0.0323953 0 0 -0.00842312 0.0385006 0.0330183 0.145044 0 -0.00898082 0.0376394 0.0339008 0.0995688 0.5 -0.00852878 0.034888 0.0362651 0.125418 0.5 -0.0094791 0.0347704 0.0365664 0.281514 0.5 -0.0104341 0.0346525 0.0368683 0.446041 0.5 -0.0114304 0.0346172 0.0371012 0.596984 0.5 -0.0124741 0.0346639 0.0372734 0.754806 0.5 -0.0135129 0.0347107 0.0374491 0.758579 0.5 -0.0145534 0.0347576 0.0376203 0.750979 0.5 -0.0156377 0.0348863 0.0377268 0.762455 0.5 -0.0167263 0.0350159 0.0378322 0.742484 0.5 -0.0178543 0.0352284 0.0378786 0.683406 0.5 -0.0191581 0.0357679 0.0376614 0.457581 0.5 -0.020686 0.0367224 0.0371237 0.270085 0.5 --0.0707511 0.0654954 0.0231537 0.496437 0.468424 --0.0699342 0.0651273 0.0236486 0.479 0.432292 --0.0726405 0.148337 -0.0310398 0.299487 0.5 --0.0884146 0.113764 0.0250911 0.66788 0.5 --0.0566436 0.0657735 0.0346839 0.530775 0.5 --0.0735982 0.110276 0.0438156 0.841205 0.5 --0.0701455 0.111146 0.0439061 0.709662 0.5 --0.0722895 0.147809 -0.0265569 0.315227 0.45691 --0.0699466 0.072981 0.0361776 0.635325 0.5 --0.0826529 0.0796856 0.0277856 0.638713 0.5 --0.0672589 0.077344 0.0400985 0.601002 0.5 --0.0691135 0.0647604 0.0241382 0.472699 0.5 --0.0682758 0.06442 0.0246162 0.418243 0.5 --0.0673972 0.0641749 0.025006 0.401177 0.5 --0.0724789 0.110508 0.0438845 0.80261 0.5 --0.0706216 0.146831 -0.0255714 0.254968 0.287644 --0.0797208 0.0757926 0.0264575 0.796361 0.5 --0.0789826 0.115456 0.0491224 0.58497 0.5 --0.0665349 0.0638845 0.0254353 0.504221 0.442671 --0.0656277 0.0636798 0.0258038 0.456825 0.363444 --0.0719281 0.148635 -0.0350398 0.332566 0.34468 --0.0705444 0.0712752 0.0339991 0.598665 0.349135 --0.0714085 0.0715566 0.0335759 0.628029 0.5 --0.0878261 0.11219 0.0337097 0.43985 0.5 --0.0882187 0.112165 0.0210064 0.715723 0.5 --0.0906667 0.113308 0.0195238 0.701678 0.5 --0.0602113 0.0697286 0.0375341 0.619552 0.467391 --0.0533892 0.064921 0.0343521 0.727392 0.339264 --0.0749694 0.0749712 0.0333987 0.722021 0.5 --0.0888928 0.113895 0.0428033 0.44565 0.5 --0.0800056 0.108388 0.0313605 0.543118 0.5 --0.0665906 0.0686018 0.0336345 0.552045 0.5 --0.0753497 0.108878 0.0391875 0.87184 0.5 --0.0696851 0.11012 0.0394623 0.580504 0.5 --0.0663226 0.0771733 0.0404118 0.716196 0.5 --0.0647148 0.06349 0.0261636 0.651209 0.381018 --0.0649629 0.0620542 -0.00149187 0.223637 0.294552 --0.0640739 0.0617863 -0.0011495 0.219824 0.306535 --0.0633366 0.0613129 -0.000511486 0.299253 0.5 --0.0625236 0.0609176 -2.19725e-05 0.304514 0.5 --0.0617103 0.0604885 0.000571471 0.303646 0.320118 --0.0609112 0.060145 0.00105228 0.310602 0.316902 --0.0600989 0.0598417 0.00157193 0.26174 0.5 --0.0592102 0.0595951 0.00211544 0.422412 0.5 --0.0638018 0.0632948 0.0265284 0.487465 0.5 --0.0628916 0.0631016 0.0268901 0.667696 0.5 --0.0619477 0.0629617 0.0272004 0.625207 0.5 --0.0624949 0.0729745 0.0395167 0.678015 0.5 --0.0609885 0.0628534 0.0274979 0.584718 0.5 --0.0735402 0.0708078 0.0302704 0.598992 0.5 --0.0600389 0.0627348 0.027804 0.577645 0.5 --0.0640639 0.0351963 0.0227232 0.151328 0.5 --0.0632785 0.0347611 0.0232648 0.298556 0.5 --0.0624908 0.0343254 0.0238098 0.470117 0.5 --0.0615416 0.034204 0.0241166 0.477579 0.5 --0.0605498 0.0341606 0.0243603 0.635598 0.5 --0.0595593 0.0341176 0.0246105 0.79686 0.5 --0.0585687 0.0340745 0.0248573 0.810607 0.5 --0.0575747 0.034031 0.0251021 0.821976 0.5 --0.0565822 0.0339881 0.0253464 0.804481 0.5 --0.0555068 0.0341015 0.0254741 0.628774 0.5 --0.0544743 0.034136 0.0256577 0.653039 0.5 --0.0534824 0.0340932 0.0259063 0.497533 0.5 --0.0524923 0.0340498 0.0261507 0.354926 0.5 --0.0515024 0.0340065 0.0263967 0.360129 0.5 --0.0505514 0.0338848 0.0267025 0.183201 0.5 --0.0495577 0.0338416 0.0269497 0.182505 0.5 --0.0485662 0.0337988 0.0271958 0.17591 0.5 --0.0475328 0.0338333 0.0273813 0.177435 0.5 --0.0465457 0.0337901 0.0276252 0 0 --0.0455114 0.0338265 0.027816 0.170514 0.5 --0.0444796 0.0338614 0.0280014 0.34097 0.5 --0.043447 0.0338958 0.0281851 0.327177 0.5 --0.0423301 0.0340883 0.0282541 0.342104 0.5 --0.0412543 0.0342017 0.0283816 0.326781 0.5 --0.0402218 0.0342366 0.0285657 0.32353 0.5 --0.0391909 0.0342717 0.0287528 0.477001 0.5 --0.038197 0.0342285 0.0289964 0.474624 0.5 --0.0371641 0.0342638 0.0291868 0.624887 0.5 --0.0361326 0.034299 0.0293707 0.61978 0.5 --0.0350568 0.0344135 0.0294961 0.579625 0.5 --0.0338576 0.0347656 0.029445 0.479874 0.5 --0.0322918 0.0358193 0.0288559 0.331483 0.5 --0.0303274 0.0375897 0.0276802 0.440591 0.5 --0.0291528 0.0378835 0.0276599 0.577245 0.5 --0.028023 0.0380941 0.0277005 0.603189 0.5 --0.0269831 0.0381412 0.0278748 0.761711 0.5 --0.0258999 0.0382697 0.0279803 0.770308 0.5 --0.0249013 0.0382346 0.0282196 0.781742 0.5 --0.0238582 0.0382811 0.0283891 0.795023 0.5 --0.0228169 0.0383283 0.0285633 0.774502 0.5 --0.0217358 0.0384567 0.028668 0.772834 0.5 --0.0206926 0.0385034 0.0288434 0.781754 0.5 --0.0196964 0.0384682 0.0290787 0.77041 0.5 --0.0186121 0.038597 0.0291868 0.783048 0.5 --0.0176156 0.0385615 0.0294218 0.795183 0.5 --0.0165731 0.0386082 0.0295958 0.793744 0.5 --0.0155328 0.0386551 0.0297691 0.794514 0.5 --0.0145326 0.0386197 0.0300043 0.796319 0.5 --0.0134912 0.0386664 0.0301779 0.793547 0.5 --0.0124518 0.038713 0.0303489 0.782983 0.5 --0.0114113 0.0387598 0.0305221 0.782361 0.5 --0.0103683 0.0388061 0.0306894 0.793185 0.5 --0.00937118 0.0387712 0.0309279 0.784154 0.5 --0.0082877 0.0388999 0.0310374 0.783377 0.5 --0.00729042 0.0388645 0.0312728 0.62626 0.5 --0.00620458 0.038993 0.0313778 0.626744 0.5 --0.0052065 0.0389581 0.0316148 0.628286 0.5 --0.00412302 0.0390868 0.0317249 0.637282 0.5 --0.00312706 0.0390512 0.0319597 0.483038 0.5 --0.00208274 0.0390983 0.0321346 0.462668 0.5 --0.00104546 0.0391448 0.0323048 0.455977 0.5 -4.37647e-05 0.0392736 0.0324137 0.461541 0.5 -0.0010398 0.0392387 0.0326514 0.312269 0.5 -0.00208256 0.0392848 0.0328214 0.317751 0.5 -0.00307915 0.03925 0.0330573 0.314536 0.5 -0.00416104 0.0393786 0.0331643 0.303399 0.5 -0.00524969 0.0395071 0.0332712 0.163796 0.5 -0.00624218 0.039472 0.0335072 0 0 -0.00481949 0.0349074 0.0372909 0.146347 0.5 -0.0057743 0.0347896 0.0375885 0.151307 0.5 -0.00672447 0.0346721 0.0378883 0.150565 0.5 -0.00772286 0.0346363 0.0381279 0.294412 0.5 -0.00872274 0.0346011 0.0383625 0.289196 0.5 -0.00976325 0.0346476 0.0385339 0.451562 0.5 -0.0107598 0.0346122 0.0387698 0.618712 0.5 -0.0118001 0.034659 0.0389456 0.745679 0.5 -0.0128427 0.034706 0.0391137 0.748573 0.5 -0.0139247 0.0348347 0.0392218 0.751359 0.5 -0.0150108 0.0349639 0.0393317 0.762936 0.5 -0.0160525 0.0350115 0.0395034 0.744443 0.5 -0.0172278 0.0353072 0.0394845 0.699161 0.5 -0.0185294 0.0358466 0.0392699 0.490817 0.5 -0.0199235 0.0365522 0.038924 0.296815 0.5 --0.0590903 0.0626036 0.0281123 0.572305 0.5 --0.0738874 0.0695898 0.0277412 0.715187 0.225054 --0.0846331 0.0781756 0.0181083 0.77731 0.5 --0.0746876 0.0700138 0.0272066 0.72901 0.5 --0.0815914 0.0767239 0.0235201 0.82368 0.5 --0.053995 0.0675039 0.0372692 0.62965 0.5 --0.0471085 0.0683456 0.0397676 0.691304 0.5 --0.0730641 0.148297 -0.027137 0.357218 0.5 --0.0690473 0.0727409 0.0365464 0.530251 0.5 --0.0714849 0.147284 -0.0260827 0.222098 0.345404 --0.0581322 0.0624985 0.0284102 0.525821 0.5 --0.0623671 0.0719748 0.0386642 0.658743 0.5 --0.078333 0.108337 0.035368 0.557371 0.432791 --0.0571803 0.062383 0.0287138 0.43107 0.5 --0.0786738 0.10815 0.0335843 0.432571 0.465519 --0.0781467 0.116431 0.0503206 0.551838 0.45597 --0.0478952 0.0713156 0.0406183 0.75855 0.5 --0.0795217 0.0748572 0.0255446 0.814182 0.5 --0.0705201 0.0646959 0.0221381 0.503205 0.5 --0.0810085 0.1097 0.0318734 0.574768 0.5 --0.0516777 0.0668198 0.0365892 0.643775 0.5 --0.0488766 0.0663121 0.037594 0.651637 0.5 --0.065916 0.0662086 0.0305519 0.456086 0.475738 --0.0709356 0.0780686 0.0386829 0.608298 0.5 --0.0697163 0.064282 0.022673 0.472036 0.5 --0.0876727 0.111787 0.0358475 0.458595 0.5 --0.0740415 0.112641 0.0489542 0.342356 0.5 --0.0838901 0.110998 0.0281595 0.541289 0.301826 --0.0901723 0.112303 0.0149799 0.517434 0.5 --0.0726772 0.112018 0.047983 0.391068 0.449106 --0.0845701 0.112449 0.0449336 0.485183 0.443168 --0.0827936 0.110133 0.0365 0.820824 0.5 --0.0792829 0.109073 0.0381388 0.911242 0.5 --0.0742647 0.109022 0.03931 0.855721 0.5 --0.0750736 0.0773173 0.0349007 0.770438 0.5 --0.0813565 0.109598 0.0300528 0.433731 0.5 --0.0664934 0.0624679 -0.000297249 0.19844 0.375465 --0.0655849 0.0622273 0.00026904 0.442355 0.5 --0.0648107 0.0617811 0.00082735 0.413009 0.5 --0.0641258 0.0611318 0.00140431 0.333039 0.5 --0.0633435 0.060722 0.00207171 0.552236 0.5 --0.0625031 0.0602955 0.00246046 0.355612 0.399366 --0.061699 0.0599431 0.00295203 0.355075 0.399808 --0.0607891 0.0597911 0.00342454 0.572691 0.5 --0.0599288 0.0595089 0.00385673 0.431201 0.5 --0.0591944 0.0589798 0.00447595 0.426675 0.5 --0.0585951 0.0582039 0.0052961 0.440083 0.5 --0.07435 0.0711851 0.0297739 0.588351 0.473629 --0.0883363 0.112382 0.0405773 0.419369 0.5 --0.0835056 0.0777286 0.0204901 0.779477 0.5 --0.0765009 0.0716493 0.0271716 0.621405 0.5 --0.0732 0.113624 0.050147 0.435738 0.438865 --0.0647046 0.0352193 0.0243246 0 0 --0.06396 0.034704 0.0249317 0.305741 0.5 --0.0631313 0.0343469 0.025414 0.482659 0.5 --0.0621816 0.0342254 0.0257179 0.635422 0.5 --0.0611919 0.0341824 0.0259657 0.623399 0.5 --0.0601957 0.0341396 0.0262143 0.773794 0.5 --0.0591643 0.0341749 0.0263998 0.776817 0.5 --0.0581312 0.0342101 0.0265873 0.789511 0.5 --0.0571418 0.0341673 0.0268338 0.81092 0.5 --0.0561495 0.0341243 0.0270787 0.792879 0.5 --0.0551152 0.0341599 0.0272668 0.78055 0.5 --0.0540847 0.0341953 0.0274512 0.62626 0.5 --0.053009 0.0343093 0.0275811 0.479424 0.5 --0.0519767 0.0343446 0.0277664 0.498928 0.5 --0.0509876 0.0343016 0.0280109 0.345787 0.5 --0.0499923 0.0342577 0.028256 0.352078 0.5 --0.0490427 0.0341369 0.0285626 0.356114 0.5 --0.0480122 0.0341726 0.0287503 0.343739 0.5 --0.0469776 0.034208 0.0289371 0.353036 0.5 --0.0459855 0.0341655 0.0291843 0.349199 0.5 --0.0449113 0.0342791 0.0293115 0.344994 0.5 --0.0438782 0.0343145 0.0294954 0.510388 0.5 --0.0428028 0.034428 0.0296237 0.496097 0.5 --0.0418108 0.0343847 0.029868 0.496856 0.5 --0.0408221 0.0343419 0.0301151 0.485482 0.5 --0.0398304 0.034299 0.0303636 0.467555 0.5 --0.0387951 0.0343342 0.0305488 0.63179 0.5 --0.0378047 0.0342916 0.0307956 0.633348 0.5 --0.036771 0.0343273 0.0309808 0.617602 0.5 --0.0357 0.0344414 0.0311095 0.434384 0.5 --0.0345003 0.0347932 0.0310568 0.360809 0.5 --0.0330138 0.0356955 0.0305887 0.248514 0.5 --0.0309502 0.0376665 0.0292806 0.326005 0.5 --0.0298246 0.0378766 0.0293214 0.453839 0.5 --0.0286941 0.0380883 0.0293671 0.593042 0.5 --0.0276072 0.038217 0.0294729 0.620325 0.5 --0.0265686 0.0382637 0.0296453 0.783767 0.5 --0.025528 0.0383109 0.0298198 0.772317 0.5 --0.0244403 0.0384399 0.0299279 0.786128 0.5 --0.0233997 0.0384863 0.0301002 0.806699 0.5 --0.0224026 0.0384511 0.0303351 0.796092 0.5 --0.0213641 0.0384977 0.0305062 0.783844 0.5 --0.0203244 0.0385446 0.0306811 0.793379 0.5 --0.0192836 0.0385916 0.0308544 0.773339 0.5 --0.0182416 0.0386382 0.0310248 0.784147 0.5 --0.0171561 0.0387671 0.0311342 0.794902 0.5 --0.0161996 0.0386499 0.0314325 0.794839 0.5 --0.0151193 0.0387785 0.0315419 0.785374 0.5 --0.0140741 0.0388251 0.0317136 0.806598 0.5 --0.0130807 0.0387897 0.0319484 0.806771 0.5 --0.0120362 0.0388366 0.0321214 0.794316 0.5 --0.010995 0.0388834 0.0322933 0.627714 0.5 --0.00995429 0.0389301 0.0324647 0.646722 0.5 --0.0089161 0.0389771 0.0326408 0.63728 0.5 --0.00787248 0.0390234 0.0328097 0.643616 0.5 --0.00687536 0.0389886 0.0330493 0.47729 0.5 --0.00583756 0.0390351 0.0332216 0.470371 0.5 --0.00474995 0.0391641 0.0333259 0.456916 0.5 --0.0037108 0.0392109 0.0335024 0.474939 0.5 --0.00270958 0.0391757 0.033738 0.317693 0.5 --0.00167056 0.0392225 0.0339103 0.318169 0.5 --0.000627469 0.039269 0.0340794 0.314993 0.5 -0.000412609 0.0393166 0.0342543 0.317179 0.5 -0.00149398 0.0394449 0.0343588 0 0 -0.00253507 0.0394917 0.0345311 0 0 -0.00357616 0.0395385 0.0347033 0 0 -0.00206776 0.0348089 0.0386094 0.145087 0.5 -0.00310705 0.0348555 0.0387811 0.142076 0.5 -0.00406092 0.0347375 0.0390843 0.294062 0.5 -0.00506037 0.0347021 0.0393176 0.295269 0.5 -0.00605741 0.0346665 0.039556 0.302356 0.5 -0.00705252 0.0346309 0.0397936 0.312952 0.5 -0.00800637 0.0345135 0.0400968 0.471866 0.5 -0.00904539 0.03456 0.0402645 0.448786 0.5 -0.0101351 0.0346886 0.0403762 0.624679 0.5 -0.0110844 0.0345718 0.0406762 0.78395 0.5 -0.0121734 0.0347014 0.0407838 0.765739 0.5 -0.0132581 0.0348304 0.0408908 0.779059 0.5 -0.0143393 0.0349605 0.0410018 0.792895 0.5 -0.0154275 0.0350916 0.0411096 0.774633 0.5 -0.0166879 0.0355485 0.0409566 0.709755 0.5 -0.0179499 0.0360095 0.0408071 0.505842 0.5 -0.0193853 0.0367967 0.0404 0.31691 0.5 --0.0750911 0.110634 0.0449752 0.497934 0.5 --0.0461472 0.0695191 0.0407559 0.597612 0.48718 --0.0504873 0.0646576 0.0351978 0.760399 0.5 --0.0771635 0.0705018 0.0227664 0.751555 0.5 --0.0845698 0.111358 0.0279354 0.485933 0.45124 --0.0694123 0.111827 0.045291 0.430855 0.394727 -0.0328934 0.0381571 -2.41096e-05 0.227358 0.5 --0.0489211 0.0687544 0.0390214 0.695085 0.5 --0.0806729 0.108958 0.0307202 0.450096 0.5 --0.0772929 0.117422 0.0514809 0.588029 0.479603 --0.0688718 0.063973 0.0231175 0.433549 0.5 --0.0741812 0.074527 0.0339368 0.716523 0.5 --0.0857367 0.111526 0.0418488 0.538855 0.445186 --0.0900294 0.114549 0.0240977 0.723105 0.5 --0.0762889 0.0738479 0.0305832 0.685049 0.5 --0.0718306 0.148291 -0.0327712 0.312039 0.374145 --0.0709615 0.148056 -0.0324394 0.335529 0.5 --0.077237 0.0721326 0.0266059 0.618303 0.481547 --0.0776097 0.0796169 0.0342011 0.747645 0.5 --0.0784316 0.0799342 0.0337318 0.731638 0.5 --0.0716235 0.0693585 0.0301698 0.547824 0.5 --0.0722612 0.0718535 0.0331389 0.62574 0.440245 --0.0731823 0.109139 0.039466 0.382286 0.5 --0.0530638 0.0723343 0.0404003 0.711215 0.5 --0.0593755 0.0706339 0.0387044 0.545636 0.5 --0.0658455 0.0693268 0.0349111 0.560631 0.5 --0.073067 0.0692219 0.0282366 0.711061 0.5 --0.0790124 0.0782686 0.0315155 0.668642 0.5 --0.0615125 0.0729203 0.0397926 0.676145 0.5 --0.0811474 0.0769537 0.0251701 0.787297 0.5 --0.0794408 0.0768726 0.0291038 0.629166 0.5 --0.0762457 0.0708701 0.0261488 0.598856 0.5 --0.0818834 0.109932 0.0368633 0.864155 0.5 --0.0783295 0.108958 0.0384425 0.903382 0.5 --0.0820552 0.1102 0.0401793 0.89611 0.5 --0.0685972 0.0635876 0.000162346 0.216313 0.5 --0.0678684 0.063022 0.000880975 0.28496 0.5 --0.0670934 0.0625692 0.00143601 0.260688 0.5 --0.0663487 0.06206 0.00207137 0.567174 0.5 --0.0656059 0.0615317 0.0026003 0.314662 0.5 --0.0649369 0.0609076 0.00327394 0.418078 0.418868 --0.0640613 0.0606361 0.00380817 0.75022 0.5 --0.0632614 0.0601538 0.00426714 0.415889 0.434023 --0.0624172 0.0599054 0.00479638 0.712432 0.5 --0.0615968 0.0595411 0.0052883 0.573398 0.5 --0.0607324 0.0592584 0.00571875 0.573478 0.5 --0.0599121 0.0588939 0.00621161 0.598071 0.5 --0.0591334 0.0584459 0.00677121 0.663277 0.5 --0.0583127 0.0580812 0.00726379 0.711233 0.5 --0.0679573 0.0636968 0.0236258 0.421023 0.440196 --0.0678369 0.0706443 0.0351197 0.573989 0.466987 --0.0661037 0.0713259 0.0366501 0.517329 0.47666 --0.0786437 0.112204 0.0464731 0.550212 0.5 --0.0583387 0.0706756 0.0389009 0.650967 0.5 --0.0645999 0.0347243 0.0265296 0.301781 0.5 --0.0637307 0.0344451 0.0269565 0.488059 0.5 --0.0627783 0.0343233 0.0272634 0.652579 0.5 --0.0618294 0.0342021 0.0275686 0.800675 0.5 --0.0608362 0.0341593 0.0278122 0.786824 0.5 --0.0598038 0.0341949 0.0280011 0.787057 0.5 --0.0588141 0.0341524 0.0282501 0.776631 0.5 --0.0577792 0.0341881 0.0284371 0.776335 0.5 --0.0567453 0.0342237 0.02862 0.778307 0.5 --0.0557138 0.0342594 0.0288064 0.782215 0.5 --0.0546814 0.0342953 0.0289953 0.791235 0.5 --0.0536509 0.0343311 0.0291848 0.61553 0.5 --0.0526183 0.0343668 0.0293685 0.612102 0.5 --0.0515819 0.0344024 0.0295565 0.466807 0.5 --0.0505908 0.03436 0.0298011 0.474578 0.5 --0.049518 0.0344739 0.029929 0.485845 0.5 --0.0485262 0.0344313 0.0301756 0.491915 0.5 --0.0474955 0.0344671 0.0303636 0.485743 0.5 --0.0464591 0.0345029 0.0305523 0.49304 0.5 --0.0454276 0.0345386 0.0307405 0.48742 0.5 --0.0444358 0.0344955 0.0309851 0.494271 0.5 --0.0434472 0.0344528 0.0312293 0.624148 0.5 --0.0424147 0.0344885 0.0314161 0.628945 0.5 --0.0414211 0.0344456 0.0316667 0.645414 0.5 --0.0404715 0.0343242 0.0319689 0.647471 0.5 --0.0394369 0.03436 0.0321562 0.624399 0.5 --0.0384034 0.0343958 0.0323426 0.779212 0.5 --0.0373724 0.0344314 0.0325332 0.62313 0.5 --0.0363397 0.0344675 0.0327184 0.443751 0.5 --0.0352216 0.0346633 0.0327857 0.246099 0.5 --0.0337394 0.0355643 0.0323212 0.159267 0.5 --0.0317094 0.0374952 0.0310681 0.178238 0.5 --0.0303619 0.0381166 0.0307902 0.29796 0.5 --0.0293203 0.0381642 0.0309659 0.459514 0.5 --0.0282335 0.0382933 0.0310718 0.466483 0.5 --0.0271496 0.0384219 0.0311819 0.646468 0.5 --0.0261534 0.0383869 0.0314189 0.636987 0.5 --0.0250671 0.0385158 0.031526 0.61963 0.5 --0.0240288 0.0385625 0.0316972 0.782454 0.5 --0.0229882 0.0386094 0.0318708 0.794411 0.5 --0.0219433 0.0386564 0.0320445 0.795858 0.5 --0.020906 0.0387029 0.0322136 0.806652 0.5 --0.019905 0.038668 0.0324503 0.79598 0.5 --0.0188227 0.0387965 0.0325596 0.783839 0.5 --0.0178239 0.0387614 0.0327968 0.783898 0.5 --0.0167827 0.0388081 0.0329676 0.807143 0.5 --0.015743 0.0388551 0.0331436 0.795834 0.5 --0.0147028 0.0389017 0.0333119 0.626251 0.5 --0.0136601 0.0389486 0.0334846 0.636015 0.5 --0.0126221 0.0389953 0.033657 0.645407 0.5 --0.0116226 0.0389602 0.0338935 0.637204 0.5 --0.010539 0.0390893 0.0340058 0.471079 0.5 --0.00949675 0.039136 0.0341772 0.483706 0.5 --0.00850193 0.0391005 0.0344133 0.482688 0.5 --0.00746087 0.0391472 0.0345828 0.476902 0.5 --0.0064158 0.0391939 0.0347568 0.323668 0.5 --0.00542063 0.0391587 0.0349931 0.323596 0.5 --0.00437946 0.039206 0.0351678 0.313949 0.5 --0.00333997 0.039253 0.0353398 0.317611 0.5 --0.00225491 0.0393816 0.0354457 0.160326 0 --0.00121535 0.0394284 0.0356173 0 0 --0.000130337 0.0395577 0.0357254 0 0 --0.00150449 0.0350731 0.0394353 0.139343 0 --0.000642523 0.0347913 0.0398677 0.144769 0.5 -0.000357196 0.0347559 0.0401008 0.148606 0.5 -0.00135578 0.0347199 0.040341 0.302375 0.5 -0.00230798 0.0346028 0.0406387 0.298099 0.5 -0.0033481 0.0346494 0.040814 0.296055 0.5 -0.00434602 0.0346139 0.0410512 0.462525 0.5 -0.00533966 0.0345787 0.0412861 0.460398 0.5 -0.00638447 0.0346255 0.0414585 0.468601 0.5 -0.00742535 0.0346722 0.0416328 0.483123 0.5 -0.0084218 0.0346373 0.0418695 0.647625 0.5 -0.00946024 0.0346841 0.0420404 0.642932 0.5 -0.0105031 0.0347322 0.0422156 0.839498 0.5 -0.0115864 0.0348612 0.0423222 0.810716 0.5 -0.0127157 0.0350729 0.0423657 0.816782 0.5 -0.0138473 0.035286 0.0424107 0.819273 0.5 -0.0150176 0.0355797 0.04239 0.796588 0.5 -0.0162371 0.0359566 0.0423025 0.713932 0.5 -0.0175395 0.0364962 0.0420884 0.508176 0.5 -0.0191093 0.0375318 0.0414884 0.30357 0.5 --0.0571999 0.0684533 0.0375014 0.585167 0.5 --0.0690356 0.068492 0.0314599 0.521049 0.5 --0.0841907 0.078353 0.0198111 0.797217 0.5 --0.0915979 0.115467 0.0229868 0.775542 0.5 --0.089042 0.112536 0.0205154 0.700919 0.366244 --0.0703751 0.112557 0.0480687 0.365635 0.441735 --0.0802487 0.109228 0.032428 0.587245 0.5 --0.0709316 0.147597 -0.0300096 0.413253 0.5 --0.0904058 0.114907 0.0416618 0.503964 0.5 --0.0709978 0.0698591 0.0316215 0.569993 0.5 --0.0736852 0.109489 0.0408578 0.79039 0.5 --0.0575351 0.0727864 0.0407731 0.687074 0.5 --0.0671149 0.0634665 0.0239226 0.392201 0.392353 --0.0797379 0.0738711 0.0228323 0.76728 0.5 --0.0807044 0.109603 0.0338418 0.523672 0.5 --0.0815406 0.110006 0.0333062 0.829141 0.5 --0.0863885 0.112851 0.0441987 0.401595 0.5 --0.0776245 0.0703136 0.0210685 0.749327 0.5 --0.0539828 0.0700164 0.038652 0.679804 0.5 --0.0780099 0.114072 0.0486721 0.524966 0.5 --0.0883907 0.115479 0.0451949 0.611554 0.5 --0.0662482 0.063188 0.0243484 0.380118 0.5 --0.0681894 0.0774836 0.0397476 0.598833 0.45695 --0.0796979 0.108952 0.0363543 0.914012 0.5 --0.072774 0.10871 0.0380686 0.301338 0.5 --0.0702718 0.110271 0.0410027 0.719098 0.5 --0.0737602 0.111876 0.0478461 0.395128 0.5 --0.0819685 0.0791215 0.0284136 0.648545 0.473239 --0.0741385 0.0703655 0.0287707 0.585871 0.5 --0.0663881 0.0677373 0.0326703 0.52406 0.398383 --0.0843239 0.0775269 0.0169616 0.711922 0.5 --0.0788364 0.0742331 0.0262211 0.636781 0.478965 --0.0653424 0.0629827 0.0247148 0.367266 0.5 --0.0621483 0.0699034 0.036962 0.629218 0.5 --0.0764561 0.106685 0.0353026 0.448995 0.5 --0.0912918 0.116401 0.0420373 0.618668 0.5 --0.0699457 0.0641869 0.00125597 0.298078 0.5 --0.0692702 0.0635509 0.00193084 0.35253 0.373834 --0.0686182 0.0628687 0.0026871 0.548158 0.5 --0.0679313 0.0622594 0.0032802 0.323773 0.5 --0.0671124 0.0618759 0.00376788 0.394557 0.432781 --0.0664685 0.0611724 0.00451786 0.416766 0.5 --0.0656404 0.0608118 0.00501538 0.445585 0.5 --0.0647331 0.0606321 0.00547671 0.736001 0.5 --0.0639975 0.0601011 0.00610183 0.716255 0.5 --0.0631791 0.0597373 0.0065938 0.747091 0.5 --0.0623104 0.0594537 0.00702264 0.75689 0.5 --0.0614906 0.0590888 0.0075192 0.739578 0.5 --0.060628 0.0588072 0.00794551 0.757235 0.5 --0.059761 0.058524 0.00837605 0.792852 0.5 --0.0588983 0.0582416 0.00880815 0.645539 0.5 --0.0580325 0.0579587 0.00923969 0.673431 0.5 --0.0571684 0.0576767 0.00966588 0.521562 0.5 --0.0874433 0.114073 0.0447649 0.482342 0.5 --0.0805357 0.113778 0.0465863 0.614195 0.5 --0.0698996 0.147518 -0.0298062 0.352957 0.5 --0.0652367 0.0347413 0.0281307 0.319236 0.5 --0.064327 0.034541 0.0284972 0.485311 0.5 --0.0633751 0.0344193 0.0288044 0.640929 0.5 --0.0624258 0.0342984 0.0291094 0.800076 0.5 --0.0614326 0.0342559 0.0293559 0.795391 0.5 --0.0604029 0.0342918 0.0295439 0.775713 0.5 --0.059412 0.0342492 0.0297869 0.788892 0.5 --0.0583799 0.0342852 0.0299739 0.799932 0.5 --0.0573888 0.0342428 0.0302238 0.788965 0.5 --0.0563521 0.0342791 0.0304121 0.76903 0.5 --0.0552807 0.0343936 0.0305403 0.769936 0.5 --0.0542898 0.0343509 0.030786 0.78711 0.5 --0.0532563 0.0343869 0.0309731 0.775548 0.5 --0.0522635 0.0343446 0.0312176 0.614306 0.5 --0.0511913 0.034459 0.0313456 0.623486 0.5 --0.050201 0.0344166 0.0315946 0.623707 0.5 --0.0491641 0.0344528 0.0317811 0.623144 0.5 --0.0481341 0.0344887 0.0319692 0.623254 0.5 --0.0470988 0.0345244 0.0321531 0.620882 0.5 --0.0461113 0.034482 0.0324006 0.613486 0.5 --0.0450377 0.0345968 0.0325315 0.62389 0.5 --0.0440834 0.0344755 0.0328349 0.647357 0.5 --0.0430533 0.0345113 0.0330204 0.785352 0.5 --0.0420606 0.0344689 0.0332688 0.774121 0.5 --0.0410286 0.0345047 0.0334549 0.797721 0.5 --0.0400348 0.0344619 0.0337052 0.796857 0.5 --0.0390449 0.0344196 0.0339502 0.776555 0.5 --0.0380117 0.0344553 0.0341354 0.618952 0.5 --0.0370213 0.0344129 0.0343812 0.457911 0.5 --0.0359892 0.0344491 0.0345711 0.2838 0.5 --0.0348346 0.0347214 0.0345782 0 0 --0.0325248 0.0371997 0.032926 0 0 --0.0309847 0.0381919 0.0323901 0.142553 0.5 --0.029988 0.0381577 0.0326274 0.306648 0.5 --0.0288195 0.0384506 0.0326078 0.293091 0.5 --0.0277318 0.0385796 0.0327127 0.47234 0.5 --0.0267368 0.0385445 0.0329521 0.489262 0.5 --0.0256953 0.0385914 0.0331228 0.47282 0.5 --0.0246526 0.0386383 0.0332956 0.647018 0.5 --0.0236112 0.0386852 0.0334692 0.635458 0.5 --0.0225694 0.0387321 0.0336407 0.627396 0.5 --0.0215296 0.0387791 0.0338148 0.635447 0.5 --0.0204882 0.0388257 0.0339872 0.64358 0.5 --0.019491 0.0387907 0.0342254 0.636218 0.5 --0.018449 0.0388382 0.0343981 0.628246 0.5 --0.0173678 0.0389666 0.0345056 0.637927 0.5 --0.0163248 0.0390132 0.0346782 0.643193 0.5 --0.0153278 0.0389782 0.0349161 0.633372 0.5 --0.0142885 0.0390252 0.0350884 0.470049 0.5 --0.0132478 0.039072 0.0352601 0.477335 0.5 --0.0122029 0.0391189 0.0354325 0.483641 0.5 --0.0111634 0.0391658 0.035606 0.469801 0.5 --0.0101249 0.0392126 0.0357767 0.313508 0.5 --0.00908444 0.0392597 0.0359512 0.327299 0.5 --0.00808629 0.0392239 0.0361848 0.328321 0.5 --0.00704598 0.0392708 0.0363567 0.318726 0.5 --0.00596208 0.0394 0.0364646 0 0 --0.00496131 0.0393649 0.0367022 0.16388 0 --0.00388013 0.0394939 0.0368098 0 0 --0.00525238 0.0350087 0.0405181 0.145365 0.5 --0.0042992 0.0348909 0.0408189 0.148122 0.5 --0.00334607 0.0347739 0.0411187 0.141435 0.5 --0.00230838 0.0348204 0.04129 0.288405 0.5 --0.00139702 0.0346206 0.0416594 0.300279 0.5 --0.000357095 0.0346671 0.0418309 0.299345 0.5 -0.000637516 0.0346318 0.0420689 0.300065 0.5 -0.00168043 0.0346784 0.042239 0.470945 0.5 -0.00263147 0.0345612 0.0425417 0.470401 0.5 -0.00371763 0.0346901 0.0426483 0.478482 0.5 -0.00471758 0.0346554 0.0428856 0.648636 0.5 -0.00579855 0.0347845 0.042995 0.661256 0.5 -0.00679863 0.0347495 0.0432322 0.68194 0.5 -0.00783805 0.034796 0.0434029 0.682162 0.5 -0.00892319 0.0349264 0.0435129 0.845243 0.5 -0.0100519 0.0351376 0.0435561 0.860607 0.5 -0.0111358 0.0352671 0.0436641 0.8514 0.5 -0.0123077 0.035562 0.0436453 0.825916 0.5 -0.013481 0.0358562 0.0436245 0.820041 0.5 -0.0146552 0.0361528 0.0436042 0.771919 0.5 -0.0159163 0.0366121 0.0434543 0.666188 0.5 -0.017353 0.0374009 0.0430484 0.427453 0.5 --0.054142 0.0722337 0.0402304 0.724515 0.5 --0.0732672 0.148476 -0.0292583 0.325299 0.5 --0.0592544 0.0696245 0.0378273 0.606352 0.369066 --0.0791696 0.110508 0.0441428 0.434904 0.43875 --0.084864 0.0789836 0.0191297 0.618524 0.5 --0.0866023 0.111811 0.0414218 0.961926 0.5 --0.0783316 0.0788746 0.032897 0.706102 0.5 --0.0656715 0.0684169 0.0339875 0.535611 0.5 --0.0798351 0.078638 0.0310296 0.654802 0.5 --0.0718144 0.147892 -0.0304457 0.388261 0.5 --0.0774544 0.072993 0.0275707 0.63388 0.5 --0.074969 0.105672 0.0364824 0.373511 0.5 --0.0897323 0.115129 0.0291209 0.567575 0.5 --0.0736758 0.108402 0.0380105 0.523266 0.348661 --0.0917527 0.113836 0.0170127 0.695766 0.5 --0.0778809 0.0759658 0.0302027 0.675673 0.5 --0.0763852 0.114637 0.0504008 0.436064 0.5 --0.0754368 0.114522 0.050709 0.399872 0.471514 --0.0689113 0.147966 -0.0319204 0.36316 0.5 --0.0644389 0.0627719 0.0250864 0.343444 0.467842 --0.0573916 0.0718042 0.0398933 0.654441 0.5 --0.0628591 0.0679841 0.0349557 0.643897 0.5 --0.0815439 0.112456 0.0456165 0.412276 0.5 --0.089106 0.114375 0.0298659 0.500511 0.5 --0.0787919 0.108745 0.0367247 0.507202 0.449038 --0.0716176 0.109058 0.0379622 0.294432 0.5 --0.0635722 0.0753573 0.0407707 0.604732 0.5 --0.081811 0.11456 0.047449 0.505988 0.5 --0.0733102 0.0700068 0.0292571 0.559826 0.471894 --0.0543842 0.064934 0.034129 0.558089 0.369627 --0.0762359 0.113613 0.0494664 0.461198 0.5 --0.0710378 0.113905 0.0504272 0.397759 0.397455 --0.0870678 0.11107 0.0203515 0.705456 0.335246 --0.08807 0.113074 0.0239452 0.712093 0.5 --0.0880799 0.113511 0.0432934 0.431474 0.5 --0.063535 0.0741856 0.0400495 0.585383 0.42557 --0.0712771 0.0648585 0.00216525 0.323436 0.5 --0.0707579 0.0639499 0.00302292 0.260474 0.5 --0.0701244 0.0632147 0.00385793 0.409406 0.5 --0.0693763 0.0627096 0.00438827 0.395063 0.446652 --0.0686887 0.0620968 0.00507892 0.379477 0.5 --0.0679779 0.0615132 0.00568001 0.414751 0.410544 --0.0671756 0.0610764 0.00625684 0.425189 0.425666 --0.0663134 0.0608279 0.00678018 0.746952 0.5 --0.0654938 0.0604629 0.00727621 0.729101 0.5 --0.064714 0.0600149 0.00783247 0.767918 0.5 --0.0638509 0.0597328 0.00826283 0.781386 0.5 --0.0629834 0.0594485 0.00869517 0.756049 0.5 --0.0622043 0.0590015 0.0092504 0.741999 0.5 --0.0613392 0.0587193 0.00967832 0.765359 0.5 --0.0604332 0.0585193 0.0100455 0.763486 0.5 --0.0596113 0.0581543 0.0105384 0.774442 0.5 --0.0587034 0.0579543 0.010904 0.631809 0.5 --0.0577953 0.0577539 0.0112722 0.475254 0.5 --0.056974 0.0573893 0.011763 0.321449 0.5 --0.0561079 0.0571065 0.0121919 0 0 --0.0763966 0.0748983 0.0314167 0.712594 0.5 --0.0657931 0.0349145 0.0296068 0.319996 0.5 --0.0649682 0.034557 0.0300942 0.489314 0.5 --0.0640156 0.0344353 0.0303981 0.627994 0.5 --0.0630637 0.0343143 0.0307056 0.77721 0.5 --0.0620323 0.0343503 0.0308946 0.791757 0.5 --0.0610813 0.0342293 0.0311986 0.784225 0.5 --0.0600467 0.0342661 0.0313871 0.766311 0.5 --0.0589753 0.0343808 0.0315144 0.76899 0.5 --0.0579822 0.0343384 0.0317603 0.797189 0.5 --0.0569508 0.0343746 0.0319473 0.78832 0.5 --0.055962 0.0343325 0.0321978 0.769216 0.5 --0.0548852 0.0344475 0.0323271 0.778252 0.5 --0.0538957 0.0344051 0.0325721 0.786501 0.5 --0.0528594 0.0344415 0.0327571 0.777176 0.5 --0.0518302 0.0344778 0.0329457 0.766302 0.5 --0.0507965 0.0345143 0.033135 0.767063 0.5 --0.0497628 0.0345507 0.0333201 0.777741 0.5 --0.0487306 0.0345868 0.0335095 0.776151 0.5 --0.0477419 0.0345444 0.0337565 0.77344 0.5 --0.0467094 0.0345808 0.0339444 0.773996 0.5 --0.0457163 0.0345386 0.0341935 0.756777 0.5 --0.0446433 0.0346533 0.0343218 0.776425 0.5 --0.0436529 0.0346111 0.0345638 0.79444 0.5 --0.0426992 0.0344898 0.0348747 0.790887 0.5 --0.0416698 0.0345261 0.0350582 0.762714 0.5 --0.0406764 0.0344836 0.0353061 0.779065 0.5 --0.0396848 0.0344413 0.0355548 0.773584 0.5 --0.0386513 0.0344774 0.0357393 0.775657 0.5 --0.0376617 0.0344352 0.0359896 0.628019 0.5 --0.0366298 0.0344715 0.0361774 0.471597 0.5 --0.0356761 0.0343506 0.0364799 0.301667 0.5 --0.0346028 0.0344648 0.0366099 0.154826 0.5 --0.0336564 0.0343441 0.0369141 0 0 --0.030565 0.0383245 0.0341404 0 0 --0.0295276 0.0383617 0.0343291 0.146795 0.5 --0.0284001 0.0385729 0.034376 0.2917 0.5 --0.0273153 0.0387018 0.0344821 0.306916 0.5 --0.0263193 0.0386673 0.0347214 0.31541 0.5 --0.0251898 0.0388783 0.0347661 0.480271 0.5 --0.0241934 0.0388427 0.0350005 0.496735 0.5 --0.0231943 0.0388081 0.0352395 0.47775 0.5 --0.0221125 0.0389367 0.0353489 0.476465 0.5 --0.0211148 0.0389017 0.0355855 0.476464 0.5 --0.0200738 0.0389483 0.0357554 0.483919 0.5 --0.0190315 0.0389958 0.035931 0.471272 0.5 --0.0179472 0.0391243 0.0360362 0.472556 0.5 --0.0169495 0.0390889 0.0362738 0.488542 0.5 --0.0159529 0.0390542 0.0365141 0.482207 0.5 --0.0149109 0.0391012 0.0366853 0.470265 0.5 --0.0138299 0.0392302 0.0367944 0.309556 0.5 --0.0127855 0.0392769 0.0369668 0.323425 0.5 --0.0117893 0.0392416 0.0372019 0.328369 0.5 --0.0107515 0.039289 0.0373765 0.318157 0.5 --0.00966712 0.0394179 0.0374824 0 0 --0.00862621 0.0394649 0.0376552 0 0 --0.00758529 0.0395118 0.037828 0 0 --0.00891681 0.0351082 0.0414685 0.139305 0.5 --0.00809599 0.0347439 0.04196 0 0 --0.00700917 0.0348727 0.042072 0.138845 0.5 --0.00601124 0.0348376 0.0423067 0.281038 0.5 --0.00501719 0.0348021 0.0425449 0.295611 0.5 --0.00410488 0.0346022 0.0429088 0.299774 0.5 --0.00306313 0.0346488 0.0430839 0.295792 0.5 --0.00206852 0.0346139 0.0433223 0.457483 0.5 --0.00102573 0.0346607 0.0434939 0.469983 0.5 --3.10615e-05 0.0346258 0.0437307 0.485898 0.5 -0.0010095 0.0346721 0.0439005 0.489092 0.5 -0.00205109 0.0347195 0.0440743 0.671709 0.5 -0.00313658 0.0348497 0.0441849 0.67228 0.5 -0.00417967 0.034897 0.044357 0.700038 0.5 -0.00526525 0.0350275 0.0444668 0.86689 0.5 -0.006345 0.0351555 0.0445736 0.893308 0.5 -0.00743122 0.0352845 0.0446812 0.894231 0.5 -0.00856046 0.0354979 0.0447263 0.858572 0.5 -0.00969167 0.0357093 0.0447693 0.813571 0.5 -0.010861 0.0360066 0.0447493 0.60592 0.5 -0.0120758 0.0363869 0.044646 0.352068 0.5 -0.0133269 0.036855 0.044466 0.332085 0.5 -0.0146846 0.037467 0.0442233 0.284164 0.5 -0.0161104 0.038261 0.0437952 0.247606 0.5 --0.0610541 0.068813 0.0363796 0.46762 0.5 --0.0792474 0.0803083 0.033239 0.724634 0.5 --0.0861936 0.111308 0.0401352 0.514606 0.453364 --0.0750181 0.0761727 0.0341343 0.749564 0.5 --0.0480338 0.0685335 0.039429 0.690212 0.5 --0.0589666 0.06768 0.0360494 0.628387 0.5 --0.0804383 0.111326 0.0449881 0.53315 0.5 --0.0654246 0.0794919 0.0421931 0.617319 0.425731 --0.075527 0.0733333 0.0311756 0.675423 0.5 --0.0715441 0.112225 0.0480665 0.381955 0.435533 --0.0824187 0.0788859 0.0267668 0.780674 0.5 --0.0777092 0.07194 0.024923 0.78024 0.5 --0.0804325 0.078146 0.029561 0.624792 0.5 --0.0520638 0.0723523 0.0405753 0.713822 0.392606 --0.0581584 0.0685383 0.037238 0.545219 0.5 --0.0742409 0.113562 0.0499634 0.423018 0.5 --0.089862 0.115281 0.0432597 0.545982 0.459157 --0.0910141 0.11449 0.034742 0.442518 0.5 --0.0572298 0.0696188 0.0382761 0.63206 0.5 --0.0653574 0.0733073 0.0386226 0.566816 0.463421 --0.0905758 0.113954 0.0388293 0.538426 0.5 --0.0786032 0.107051 0.0327104 0.470929 0.5 --0.0878029 0.112934 0.0313303 0.416206 0.5 --0.0884672 0.113635 0.0306037 0.456718 0.5 --0.0778425 0.108614 0.0370385 0.585619 0.39789 --0.0634657 0.0730594 0.0392535 0.685883 0.5 --0.062597 0.0740287 0.040345 0.587601 0.483617 --0.0796395 0.11488 0.0476725 0.72153 0.5 --0.0634922 0.0626336 0.0253957 0.616796 0.5 --0.0262513 0.0350951 0.0517484 0.904049 0.5 --0.07902 0.0751794 0.0271309 0.624799 0.5 --0.055064 0.0698751 0.038539 0.670899 0.5 --0.0781504 0.0736081 0.0268981 0.637958 0.479413 --0.0739244 0.0668664 0.00165643 0.295676 0.5 --0.0733588 0.0659821 0.00263497 0.37285 0.43828 --0.0726455 0.0655594 0.00286688 0.268337 0.410217 --0.0720741 0.0646161 0.00403373 0.401538 0.5 --0.0714154 0.063966 0.00470687 0.467978 0.5 --0.0708238 0.0631793 0.00551684 0.466144 0.5 --0.0701142 0.0625797 0.0062174 0.42197 0.408074 --0.0694635 0.0618968 0.00696654 0.431758 0.5 --0.068707 0.0613453 0.00749837 0.433689 0.429993 --0.0678958 0.0610238 0.00808464 0.781098 0.5 --0.0670227 0.0607355 0.00842954 0.430033 0.5 --0.0662075 0.060375 0.00901189 0.771395 0.5 --0.0653409 0.0600919 0.00943789 0.7786 0.5 --0.0645186 0.0597262 0.00993302 0.763364 0.5 --0.0636975 0.0593607 0.0104272 0.750424 0.5 --0.0629229 0.058915 0.0109817 0.787188 0.5 --0.0620129 0.0587144 0.0113478 0.806018 0.5 --0.0611468 0.0584317 0.0117762 0.793416 0.5 --0.0602407 0.058232 0.0121428 0.804397 0.5 --0.0593728 0.0579489 0.0125735 0.651808 0.5 --0.0584669 0.0577494 0.0129387 0.493241 0.5 --0.0575997 0.0574661 0.0133658 0.342032 0.5 --0.0566913 0.0572662 0.0137312 0 0 --0.081904 0.115723 0.0482136 0.589555 0.5 --0.0663511 0.0350877 0.0310837 0.334423 0.5 --0.0655235 0.0347285 0.0315692 0.517255 0.5 --0.0646561 0.0344494 0.0319916 0.674319 0.5 --0.0637038 0.0343279 0.0323025 0.799842 0.5 --0.0626706 0.0343644 0.032487 0.773656 0.5 --0.061676 0.0343224 0.032737 0.793712 0.5 --0.0606463 0.0343588 0.0329219 0.784916 0.5 --0.0596554 0.0343168 0.0331724 0.754716 0.5 --0.0585811 0.0344322 0.0332983 0.764174 0.5 --0.0575877 0.0343902 0.0335477 0.774018 0.5 --0.0565591 0.0344267 0.0337344 0.776423 0.5 --0.0555243 0.0344634 0.0339194 0.765333 0.5 --0.0544908 0.0344999 0.0341095 0.772648 0.5 --0.0534982 0.0344579 0.0343548 0.77443 0.5 --0.0524675 0.0344946 0.0345461 0.777431 0.5 --0.0514769 0.0344526 0.0347935 0.779177 0.5 --0.0504041 0.0345678 0.0349233 0.763773 0.5 --0.0494127 0.0345257 0.0351696 0.761383 0.5 --0.0483792 0.0345623 0.0353569 0.772733 0.5 --0.0473867 0.0345201 0.0356021 0.773302 0.5 --0.046355 0.0345569 0.0357917 0.766116 0.5 --0.0453211 0.0345932 0.035979 0.776109 0.5 --0.0443307 0.0345511 0.0362271 0.768604 0.5 --0.0433008 0.0345877 0.0364134 0.780138 0.5 --0.0423463 0.0344667 0.0367209 0.782656 0.5 --0.0413155 0.0345032 0.0369079 0.776498 0.5 --0.0403231 0.0344611 0.0371557 0.796572 0.5 --0.0392913 0.0344977 0.0373408 0.766308 0.5 --0.0382612 0.0345343 0.0375294 0.784487 0.5 --0.0372682 0.0344921 0.0377782 0.620414 0.5 --0.0362363 0.0345287 0.0379647 0.474121 0.5 --0.035201 0.0345651 0.0381519 0.315675 0.5 --0.0342132 0.0345231 0.0384015 0.323154 0.5 --0.0332219 0.0344808 0.0386469 0.165891 0.5 --0.032272 0.0343596 0.0389523 0 0 --0.0290584 0.0385824 0.0360072 0 0 --0.028064 0.0385407 0.0362565 0.142952 0 --0.0269007 0.0388242 0.0362546 0.150792 0.5 --0.0258142 0.0389536 0.0363636 0.300676 0.5 --0.0247725 0.0390001 0.0365321 0.316732 0.5 --0.0237781 0.0389651 0.0367703 0.322494 0.5 --0.0227345 0.0390118 0.0369431 0.322631 0.5 --0.021742 0.0389771 0.0371835 0.31768 0.5 --0.0206534 0.0391059 0.0372895 0.318622 0.5 --0.0196569 0.0390707 0.0375255 0.322569 0.5 --0.0186162 0.0391183 0.0377018 0.309387 0.5 --0.0175335 0.0392471 0.0378093 0.318004 0.5 --0.0165344 0.0392124 0.0380479 0.327502 0.5 --0.0154933 0.0392591 0.0382209 0.333148 0.5 --0.0145 0.0392233 0.0384538 0.323957 0.5 --0.0134154 0.0393527 0.0385623 0 0 --0.0123306 0.0394822 0.0386711 0 0 --0.0112898 0.0395292 0.0388441 0 0 --0.0126507 0.0350556 0.0425263 0.143796 0.5 --0.0117815 0.0347775 0.0429519 0.155874 0.5 --0.0107484 0.0348144 0.0431359 0.145138 0.5 --0.00971651 0.0348541 0.0433186 0.291966 0.5 --0.00876366 0.0347363 0.0436201 0.307778 0.5 --0.00781043 0.0346187 0.0439246 0.300923 0.5 --0.00681305 0.0345833 0.0441587 0.297034 0.5 --0.00576935 0.0346302 0.0443351 0.45266 0.5 --0.00477205 0.0345951 0.0445699 0.474369 0.5 --0.0037319 0.0346421 0.0447442 0.487568 0.5 --0.00273397 0.0346073 0.0449802 0.497592 0.5 --0.00165204 0.0347369 0.0450897 0.652988 0.5 --0.000565033 0.0348667 0.0451983 0.679771 0.5 -0.000515748 0.0349973 0.0453092 0.701866 0.5 -0.00160174 0.0351275 0.0454175 0.70832 0.5 -0.00268547 0.035256 0.0455248 0.886134 0.5 -0.00381747 0.0354686 0.0455691 0.86656 0.5 -0.00494458 0.0356784 0.0456125 0.83572 0.5 -0.00607351 0.0358936 0.0456569 0.783938 0.5 -0.00724322 0.0361893 0.0456372 0.729243 0.5 -0.00849938 0.0366585 0.0454484 0.348206 0.5 -0.00988706 0.0373676 0.0450724 0.289298 0.5 -0.0113285 0.0381477 0.0446991 0.265003 0.5 --0.081733 0.0783168 0.0273929 0.616897 0.5 --0.0810037 0.0777776 0.0280061 0.778515 0.5 --0.0820788 0.0765181 0.0218286 0.777443 0.5 --0.0751616 0.0715622 0.0292788 0.616237 0.473076 --0.0706266 0.111419 0.0453421 0.423241 0.5 --0.0816004 0.110405 0.0418977 0.930183 0.5 --0.0612601 0.0653881 0.0322823 0.48643 0.40797 --0.0643109 0.0721294 0.0381075 0.664319 0.5 --0.0718543 0.111061 0.0453722 0.795732 0.5 --0.0707478 0.147309 -0.0278341 0.411199 0.375208 --0.0891862 0.112803 0.0347042 0.501885 0.5 --0.0876394 0.113262 0.0257017 0.628605 0.398726 --0.062502 0.0625858 0.0256444 0.603009 0.5 --0.0622566 0.0709345 0.0378148 0.647949 0.5 --0.0806691 0.107746 0.0299304 0.415567 0.5 --0.0797382 0.10948 0.0394939 0.9187 0.5 --0.0781507 0.115089 0.0495991 0.58528 0.5 --0.0863239 0.111846 0.0325401 0.707889 0.5 --0.0871035 0.11231 0.0319974 0.395259 0.437502 --0.0768829 0.108524 0.037335 0.964191 0.5 --0.0719223 0.112846 0.049279 0.35657 0.5 --0.057026 0.0675163 0.0366088 0.519618 0.5 --0.0897032 0.113874 0.0229056 0.707356 0.5 --0.0768434 0.109781 0.0434593 0.514216 0.5 --0.0615513 0.0624603 0.0259481 0.597637 0.403052 --0.0786369 0.113551 0.047197 0.644275 0.5 --0.0532018 0.0733522 0.0412342 0.757439 0.5 --0.0764308 0.11585 0.051182 0.515792 0.5 --0.0745042 0.0669844 0.00328572 0.581089 0.5 --0.0738976 0.0662178 0.00410027 0.59508 0.5 --0.0732998 0.0654414 0.00491231 0.560247 0.5 --0.0726748 0.0647223 0.00565049 0.592535 0.5 --0.0720537 0.0640001 0.00639175 0.369722 0.5 --0.0714426 0.0632696 0.00712846 0.360354 0.5 --0.0707871 0.0625817 0.00788057 0.489529 0.5 --0.0700956 0.06197 0.00856658 0.464654 0.5 --0.0692976 0.0615474 0.00912978 0.808881 0.5 --0.0684765 0.061182 0.0096252 0.801978 0.5 --0.0676975 0.0607342 0.0101856 0.776256 0.5 --0.0668328 0.0604514 0.0106116 0.781449 0.5 --0.0660555 0.0600044 0.0111686 0.782774 0.5 --0.065193 0.0597221 0.0116014 0.792346 0.5 --0.0643723 0.0593574 0.0120942 0.807508 0.5 --0.0635072 0.0590749 0.0125217 0.84926 0.5 --0.0625957 0.0588736 0.0128867 0.836512 0.5 --0.0617744 0.0585089 0.0133805 0.845255 0.5 --0.060863 0.0583083 0.0137477 0.860612 0.5 --0.0599544 0.0581084 0.014112 0.699019 0.5 --0.0590022 0.0579904 0.014414 0.521004 0.5 --0.0580927 0.0577897 0.0147789 0.350749 0.5 --0.0572305 0.057508 0.0152056 0 0 --0.0599561 0.0677317 0.0357891 0.645764 0.5 --0.0667813 0.0354951 0.0323861 0.346689 0.5 --0.0660379 0.0349778 0.0329828 0.531146 0.5 --0.0651684 0.0346977 0.0334093 0.696543 0.5 --0.0642567 0.0344972 0.033776 0.676505 0.5 --0.0633069 0.0343768 0.0340823 0.796382 0.5 --0.0622744 0.0344133 0.0342699 0.793121 0.5 --0.0612826 0.0343712 0.0345145 0.778957 0.5 --0.0602915 0.0343294 0.0347628 0.770386 0.5 --0.0592597 0.0343664 0.034953 0.753081 0.5 --0.0582249 0.0344034 0.0351394 0.762004 0.5 --0.0571923 0.0344404 0.0353306 0.762083 0.5 --0.0561609 0.0344771 0.0355158 0.757335 0.5 --0.0551719 0.0344352 0.0357625 0.74918 0.5 --0.0541372 0.0344723 0.0359505 0.760172 0.5 --0.0531047 0.0345095 0.0361399 0.742917 0.5 --0.0520334 0.0346252 0.0362685 0.768859 0.5 --0.0510409 0.034583 0.0365198 0.783233 0.5 --0.0500491 0.0345412 0.0367666 0.771347 0.5 --0.0490182 0.0345781 0.0369526 0.762862 0.5 --0.0479854 0.0346149 0.0371396 0.77256 0.5 --0.0469913 0.0345734 0.0373898 0.764287 0.5 --0.0459209 0.0346888 0.0375199 0.753944 0.5 --0.04493 0.0346468 0.0377647 0.78616 0.5 --0.0439777 0.0345259 0.038072 0.770325 0.5 --0.0429452 0.0345628 0.0382617 0.783786 0.5 --0.0419532 0.0345214 0.0385087 0.780854 0.5 --0.0408786 0.0346362 0.0386374 0.812597 0.5 --0.0399319 0.0345158 0.0389424 0.81248 0.5 --0.0388999 0.0345526 0.0391301 0.798474 0.5 --0.0379081 0.0345108 0.0393807 0.786545 0.5 --0.0368752 0.0345479 0.0395694 0.623589 0.5 --0.0358426 0.0345846 0.0397566 0.472491 0.5 --0.0348513 0.0345425 0.0400019 0.471767 0.5 --0.0338188 0.0345795 0.040191 0.315979 0.5 --0.0327846 0.0346162 0.0403814 0.328941 0.5 --0.0318359 0.0344957 0.0406866 0.168874 0.5 --0.0308039 0.0345326 0.0408762 0.166672 0.5 --0.0298138 0.0344903 0.0411187 0 0 --0.0265191 0.0388768 0.0380618 0 0 --0.0254455 0.0389929 0.0381911 0 0 --0.0244003 0.0390404 0.0383653 0.155152 0 --0.02332 0.0391695 0.0384733 0 0 --0.0223231 0.0391341 0.0387105 0 0 --0.0212823 0.0391811 0.0388836 0 0 --0.0202415 0.0392282 0.0390567 0 0 --0.0192007 0.0392753 0.0392298 0 0 --0.0181599 0.0393223 0.0394029 0 0 --0.0171143 0.0393698 0.0395766 0.160218 0.5 --0.0160344 0.0394989 0.0396851 0 0 --0.0149936 0.0395459 0.0398583 0 0 --0.0164714 0.0348128 0.0436847 0.151757 0 --0.0154789 0.0347707 0.0439361 0.153022 0.5 --0.0144467 0.0348076 0.0441223 0.143773 0.5 --0.0134564 0.0347657 0.0443699 0.28597 0.5 --0.0124237 0.0348026 0.0445556 0.296712 0.5 --0.0114338 0.0347606 0.0448027 0.302255 0.5 --0.0104428 0.0347186 0.0450504 0.298297 0.5 --0.00945158 0.0346766 0.0453022 0.460278 0.5 --0.00845839 0.0346349 0.045549 0.473294 0.5 --0.00742751 0.0346718 0.0457358 0.484025 0.5 --0.00639449 0.0347093 0.0459249 0.492561 0.5 --0.00535711 0.0347531 0.0461025 0.67324 0.5 --0.00427283 0.034883 0.0462122 0.678619 0.5 --0.00318743 0.0350129 0.0463208 0.700718 0.5 --0.00210217 0.035143 0.0464295 0.699791 0.5 --0.000973441 0.0353569 0.0464761 0.682504 0.5 -0.000197079 0.035652 0.0464555 0.658914 0.5 -0.00132313 0.0358703 0.0464707 0.369612 0.5 -0.00252922 0.0362636 0.0463395 0.361366 0.5 -0.00379004 0.0367184 0.046186 0.369818 0.5 -0.00513012 0.0373402 0.0458408 0.280212 0.5 -0.00652975 0.0380351 0.0455331 0.318335 0.5 -0.0078895 0.0386539 0.0453509 0.322843 0.5 -0.00919729 0.039194 0.0451612 0.361816 0.5 --0.0777879 0.113218 0.0476364 0.469071 0.5 --0.0838815 0.111187 0.0425305 0.556174 0.5 --0.0838195 0.113254 0.0462465 0.438793 0.5 --0.0758694 0.0777615 0.0343673 0.760464 0.5 --0.0676678 0.0697151 0.0342008 0.558397 0.342793 --0.0689139 0.148999 -0.0367601 0.301134 0.5 --0.077502 0.0785105 0.0333799 0.717414 0.5 --0.0757282 0.0754387 0.0328339 0.72838 0.5 --0.0605914 0.0623502 0.0262507 0.579356 0.415776 --0.0903944 0.113745 0.0354564 0.431941 0.443515 --0.0538466 0.0665391 0.0363755 0.552188 0.254164 --0.0822959 0.0773319 0.0228488 0.819282 0.5 --0.060098 0.0687043 0.0366734 0.536418 0.478394 --0.0905017 0.114314 0.0223543 0.732879 0.5 --0.0696524 0.0680017 0.0300044 0.619199 0.5 --0.083006 0.110313 0.0398706 0.896103 0.5 --0.0857201 0.113489 0.0456231 0.375891 0.5 --0.0833762 0.111067 0.0302504 0.543219 0.405967 --0.0714347 0.109953 0.0409933 0.786138 0.5 --0.0796554 0.0776931 0.0301108 0.637082 0.5 --0.0855432 0.111388 0.0330811 0.726092 0.5 --0.059111 0.0686528 0.0369372 0.52736 0.5 --0.0667659 0.0664754 0.0301739 0.46949 0.459172 --0.0681691 0.0682156 0.031879 0.514 0.34111 --0.0694619 0.0701676 0.0334316 0.560205 0.5 --0.0770271 0.0743283 0.0300122 0.683444 0.5 --0.0596429 0.0622343 0.0265494 0.393589 0.448237 --0.0746823 0.0663852 0.00625465 0.697001 0.5 --0.0761752 0.110468 0.0448594 0.388739 0.5 --0.0756542 0.0679921 0.00394259 0.377235 0.5 --0.0751265 0.0670609 0.00488552 0.622619 0.5 --0.0744851 0.0663284 0.00571192 0.687783 0.5 --0.0738147 0.065744 0.00631032 0.623691 0.5 --0.0732519 0.0648877 0.00719031 0.584323 0.5 --0.0726615 0.0640995 0.00799778 0.390888 0.462916 --0.0720199 0.063399 0.00874547 0.397678 0.5 --0.0713305 0.0628284 0.00935991 0.390266 0.440059 --0.0706528 0.0621972 0.0100461 0.397499 0.5 --0.0699138 0.0616664 0.0106715 0.540624 0.5 --0.0691331 0.0612207 0.0112337 0.487816 0.417186 --0.0683512 0.0607717 0.0117847 0.480588 0.5 --0.0675058 0.060447 0.0122781 0.828806 0.5 --0.06664 0.0601639 0.0127094 0.843809 0.5 --0.0658202 0.0597996 0.0132017 0.848395 0.5 --0.0649536 0.0595166 0.0136311 0.873354 0.5 --0.0640428 0.0593154 0.0139941 0.879126 0.5 --0.0631802 0.0590341 0.0144269 0.886016 0.5 --0.0622707 0.058834 0.014793 0.909679 0.5 --0.0613578 0.0586321 0.0151557 0.911673 0.5 --0.0604511 0.0584329 0.0155226 0.731474 0.5 --0.0595413 0.0582322 0.0158865 0.538807 0.5 --0.0586314 0.0580318 0.0162523 0.364044 0.5 --0.0577255 0.0578321 0.0166151 0 0 --0.090178 0.113449 0.0375353 0.48499 0.5 --0.0759857 0.112794 0.0483899 0.505465 0.384689 --0.0664501 0.0353918 0.0342807 0.365628 0.5 --0.0657944 0.0348418 0.0348835 0.340585 0.393747 --0.0648137 0.0346657 0.0352478 0.705005 0.5 --0.0639025 0.0344657 0.0356117 0.841788 0.5 --0.0628707 0.0345025 0.0358026 0.803608 0.5 --0.0619192 0.0343817 0.0361087 0.797612 0.5 --0.0609319 0.0343399 0.0363539 0.783724 0.5 --0.0598965 0.0343774 0.0365453 0.77487 0.5 --0.0588626 0.0344147 0.0367317 0.763271 0.5 --0.0578317 0.0344516 0.0369209 0.770009 0.5 --0.0568399 0.0344097 0.0371692 0.764915 0.5 --0.0558475 0.0343686 0.0374162 0.750573 0.5 --0.054778 0.0344845 0.0375447 0.761968 0.5 --0.0537852 0.0344427 0.037794 0.759519 0.5 --0.0527544 0.03448 0.0379838 0.731578 0.5 --0.0516781 0.0345962 0.0381142 0.749736 0.5 --0.0506856 0.0345547 0.0383582 0.768235 0.5 --0.0496528 0.0345916 0.0385506 0.759938 0.5 --0.048662 0.0345502 0.0387985 0.760094 0.5 --0.0476332 0.0345872 0.0389835 0.771314 0.5 --0.0466394 0.0345455 0.0392313 0.7622 0.5 --0.0456074 0.0345826 0.0394197 0.761865 0.5 --0.0446176 0.0345408 0.0396657 0.795011 0.5 --0.0435828 0.0345782 0.0398547 0.779836 0.5 --0.0425494 0.0346163 0.040046 0.637068 0.5 --0.0414778 0.0347327 0.0401772 0.658533 0.5 --0.040486 0.0346908 0.0404235 0.693683 0.5 --0.0394562 0.0347283 0.0406132 0.70375 0.5 --0.0385029 0.0346069 0.040918 0.704352 0.5 --0.0374734 0.0346441 0.0411075 0.846132 0.5 --0.0364414 0.0346808 0.041293 0.659072 0.5 --0.0354498 0.0346389 0.0415402 0.637714 0.5 --0.0344163 0.0346761 0.0417292 0.474674 0.5 --0.0334245 0.0346344 0.0419763 0.47999 0.5 --0.0323904 0.0346717 0.0421656 0.321058 0.5 --0.0313584 0.0347088 0.042355 0.325544 0.5 --0.0303694 0.034667 0.0426012 0.325351 0.5 --0.0293346 0.0347045 0.0427947 0.162616 0.5 --0.0283441 0.0346627 0.0430398 0.164471 0.5 --0.0273118 0.0346998 0.0432305 0.160981 0.5 --0.0263231 0.034658 0.0434735 0 0 --0.0252077 0.0348536 0.0435448 0.14347 0.5 --0.0241332 0.0349697 0.043675 0.146111 0.5 --0.0231843 0.0348489 0.0439808 0.152356 0 --0.0221888 0.0348068 0.0442295 0.156898 0.5 --0.0211976 0.0347654 0.0444796 0.159177 0.5 --0.0201655 0.0348026 0.0446658 0.152546 0.5 --0.0191373 0.0348399 0.0448528 0 0 --0.0181454 0.0347978 0.0451006 0.150342 0.5 --0.0171539 0.0347559 0.0453522 0.298809 0.5 --0.016121 0.0347931 0.0455365 0.306296 0.5 --0.0151711 0.0346724 0.0458457 0.30514 0.5 --0.0141375 0.0347096 0.0460356 0.309964 0.5 --0.0131452 0.0346678 0.0462791 0.460441 0.5 --0.0121134 0.0347053 0.046472 0.475507 0.5 --0.0111235 0.0346639 0.0467191 0.484953 0.5 --0.0100884 0.0347013 0.0469069 0.496951 0.5 --0.00905798 0.034739 0.0470958 0.682311 0.5 --0.00798473 0.0348553 0.0472244 0.679167 0.5 --0.00690926 0.0349718 0.0473534 0.692845 0.5 --0.00579434 0.0351694 0.0474261 0.68613 0.5 --0.00467538 0.0353718 0.0474871 0.694447 0.5 --0.00354618 0.035584 0.0475305 0.663279 0.5 --0.00232938 0.0359607 0.0474459 0.444076 0.5 --0.00118398 0.0362533 0.0473478 0.254628 0.385336 -0.000219502 0.0370979 0.0467851 0.232715 0.5 --0.0829319 0.114342 0.0473556 0.529842 0.5 --0.0516722 0.0693248 0.037985 0.672003 0.5 --0.0754949 0.117024 0.0522099 0.669837 0.5 --0.089228 0.114813 0.0276717 0.554894 0.5 --0.0706809 0.109318 0.0378585 0.35407 0.5 --0.085765 0.112351 0.0286477 0.648511 0.5 --0.078298 0.0745267 0.0278337 0.652703 0.5 --0.0707981 0.0672067 0.0269443 0.619388 0.5 --0.0672529 0.0760725 0.0393761 0.602907 0.45004 --0.0652549 0.0667307 0.0320259 0.453049 0.355775 --0.077431 0.108115 0.0357399 0.588657 0.420926 --0.0644149 0.0731789 0.038947 0.679316 0.5 --0.0781968 0.0778917 0.0320122 0.685621 0.5 --0.0614917 0.0661812 0.0332998 0.569557 0.406465 --0.049761 0.069112 0.038562 0.71228 0.450548 --0.0644463 0.0769092 0.0410862 0.617312 0.5 --0.0587286 0.0620484 0.0269094 0.538303 0.447309 --0.0759886 0.0701373 0.025079 0.742296 0.5 --0.0625318 0.0662874 0.0329584 0.526056 0.429507 --0.0739329 0.072514 0.0322154 0.653054 0.5 --0.0516913 0.0680528 0.0372779 0.65002 0.5 --0.0722448 0.0688588 0.0287217 0.682029 0.5 --0.05065 0.0706021 0.0388719 0.688989 0.5 --0.0800241 0.0745873 0.0239149 0.799816 0.5 --0.068912 0.148468 -0.034342 0.344398 0.5 --0.0518826 0.071407 0.0396894 0.691597 0.5 --0.0780357 0.0769322 0.031104 0.67664 0.5 --0.0536233 0.0657097 0.0353836 0.628304 0.5 --0.0860966 0.11232 0.0268196 0.593471 0.5 --0.081432 0.0776141 0.0263044 0.771322 0.5 --0.0561497 0.0697401 0.0384165 0.651923 0.5 --0.0709351 0.0742605 0.0366097 0.700034 0.5 --0.0578115 0.0619893 0.0271205 0.31406 0.449614 --0.0692662 0.0692944 0.0324707 0.533572 0.441136 --0.0674808 0.0688292 0.0332504 0.530321 0.5 --0.0813927 0.0758934 0.0225084 0.79167 0.5 --0.074087 0.0734714 0.0331119 0.686579 0.5 --0.0748775 0.0739125 0.0325733 0.693967 0.5 --0.0636286 0.0672101 0.0337087 0.461098 0.5 --0.0750917 0.0664543 0.00723246 0.513423 0.5 --0.0744375 0.0658205 0.00791081 0.632226 0.5 --0.0738001 0.0651206 0.00865838 0.641281 0.5 --0.0731478 0.0644323 0.00940567 0.432879 0.5 --0.0725213 0.0636798 0.0102197 0.491387 0.5 --0.0718111 0.0631642 0.010775 0.500884 0.5 --0.0710841 0.0626658 0.0113319 0.476437 0.5 --0.0703591 0.0620888 0.0120183 0.579028 0.5 --0.0696543 0.0614896 0.0127042 0.540002 0.5 --0.0688911 0.0610594 0.0132079 0.41865 0.352623 --0.0680618 0.0606588 0.013756 0.510257 0.5 --0.0671797 0.0604061 0.0141816 0.889855 0.5 --0.0663392 0.0600723 0.0146241 0.528491 0.428029 --0.0654627 0.0598015 0.0150426 0.502607 0.5 --0.0645394 0.0596403 0.015406 0.911373 0.5 --0.0636711 0.0593571 0.0158341 0.926155 0.5 --0.0627215 0.0592404 0.0161384 0.920888 0.5 --0.0618117 0.0590403 0.0165038 0.928945 0.5 --0.0608999 0.058839 0.0168686 0.747654 0.5 --0.0599935 0.0586398 0.0172334 0.566271 0.5 --0.0590849 0.0584397 0.0175987 0.569719 0.5 --0.0581296 0.0583212 0.0178996 0.376336 0.5 --0.0571796 0.0582032 0.0181974 0 0 --0.0753259 0.0689002 0.0227894 0.70221 0.5 --0.0666556 0.0360676 0.0353877 0.290298 0.5 --0.066147 0.0353356 0.0361254 0.366973 0.5 --0.0653284 0.0349129 0.0366619 0.730445 0.5 --0.0644211 0.0347126 0.0370276 0.894264 0.5 --0.0634664 0.0345901 0.0373297 0.834246 0.5 --0.0625155 0.0344693 0.0376364 0.819164 0.5 --0.0615271 0.0344278 0.0378839 0.794537 0.5 --0.0604926 0.0344653 0.0380756 0.785641 0.5 --0.0595037 0.0344238 0.0383245 0.783534 0.5 --0.0584699 0.0344613 0.0385122 0.772041 0.5 --0.0574772 0.0344195 0.038759 0.789262 0.5 --0.056485 0.0343785 0.0390076 0.77465 0.5 --0.0554108 0.0344947 0.0391385 0.765551 0.5 --0.0544231 0.0344532 0.039385 0.78123 0.5 --0.053388 0.034491 0.0395762 0.763025 0.5 --0.0523573 0.0345285 0.0397607 0.750329 0.5 --0.0513256 0.0345659 0.0399502 0.759867 0.5 --0.0503335 0.0345244 0.0401985 0.770997 0.5 --0.0492995 0.0345621 0.0403913 0.760975 0.5 --0.0482709 0.0345995 0.0405757 0.763433 0.5 --0.047238 0.0346371 0.0407654 0.63001 0.5 --0.046245 0.034596 0.0410145 0.634534 0.5 --0.0451719 0.0347129 0.0411467 0.655495 0.5 --0.0441816 0.0346721 0.0413945 0.667606 0.5 --0.0431088 0.0347881 0.0415217 0.657496 0.5 --0.0419921 0.0349859 0.0415962 0.50546 0.5 --0.0409173 0.0351021 0.0417247 0.539846 0.5 --0.0398856 0.0351398 0.0419144 0.564469 0.5 --0.0389556 0.0350986 0.042208 0.382564 0.380407 --0.0379042 0.0350553 0.0424096 0.783646 0.5 --0.0369545 0.0349347 0.0427177 0.92891 0.5 --0.0360463 0.0347343 0.0430826 0.907121 0.5 --0.0350535 0.0346922 0.0433273 0.654938 0.5 --0.0339801 0.0348087 0.0434578 0.632783 0.5 --0.0329884 0.0347673 0.0437059 0.481128 0.5 --0.0319551 0.0348046 0.0438977 0.480085 0.5 --0.0309651 0.0347631 0.0441412 0.479049 0.5 --0.0299308 0.0348009 0.0443343 0.316629 0.5 --0.0289002 0.0348381 0.0445217 0.320531 0.5 --0.0279078 0.0347965 0.0447705 0.323887 0.5 --0.0269178 0.034755 0.0450156 0.319946 0.5 --0.0258834 0.0347926 0.045205 0.307718 0.5 --0.0248532 0.0348299 0.0453939 0.300883 0.5 --0.0238604 0.0347884 0.0456435 0.306706 0.5 --0.022832 0.0348259 0.0458328 0.300442 0.5 --0.0217971 0.0348633 0.0460203 0.308606 0.5 --0.0208083 0.0348218 0.0462671 0.308459 0.5 --0.019816 0.0347801 0.0465131 0.306966 0.5 --0.0188224 0.0347384 0.0467634 0.307413 0.5 --0.017832 0.0346972 0.047013 0.310429 0.5 --0.0167995 0.0347343 0.0471976 0.464356 0.5 --0.0158082 0.0346932 0.0474464 0.466997 0.5 --0.0147348 0.0348101 0.0475803 0.478598 0.5 --0.013744 0.0347692 0.0478272 0.494096 0.5 --0.0126691 0.0348865 0.0479592 0.670524 0.5 --0.0116389 0.034923 0.0481436 0.688389 0.5 --0.0105663 0.0350401 0.0482738 0.689834 0.5 --0.00945147 0.0352364 0.0483453 0.70815 0.5 --0.00837752 0.0353543 0.048476 0.879605 0.5 --0.0072207 0.0356289 0.0484876 0.682431 0.5 --0.00610573 0.035829 0.0485597 0.65323 0.5 --0.00492025 0.0362041 0.048453 0.263549 0.5 --0.00369262 0.0366899 0.0482034 0.214086 0.5 --0.0795655 0.0711751 0.0181423 0.681418 0.5 --0.0788559 0.0706244 0.0187647 0.67461 0.5 --0.0781039 0.070111 0.0193756 0.702285 0.5 --0.0672962 0.0785128 0.0408262 0.594608 0.5 --0.0748541 0.107208 0.0370405 0.312679 0.5 --0.0650483 0.0701635 0.0361166 0.601325 0.5 --0.0640951 0.0700461 0.0364211 0.597903 0.5 --0.0691323 0.0776098 0.0394254 0.591872 0.5 --0.0698308 0.071946 0.0353261 0.594584 0.44916 --0.0701548 0.148741 -0.0366493 0.273291 0.227077 --0.0631359 0.0699525 0.0366992 0.61777 0.5 --0.0773286 0.0696655 0.0199272 0.685176 0.350146 --0.0891989 0.11586 0.044703 0.60187 0.5 --0.0843731 0.110309 0.0377873 0.866327 0.5 --0.0754196 0.111293 0.0461553 0.398792 0.5 --0.0765357 0.0692333 0.0204809 0.720536 0.359371 --0.077209 0.110378 0.0446936 0.409075 0.450237 --0.0906322 0.112714 0.0163744 0.634174 0.5 --0.0630072 0.0689485 0.0358468 0.583237 0.5 --0.079103 0.0731629 0.0235749 0.777619 0.5 --0.0622094 0.0655019 0.0319825 0.522088 0.5 --0.0638136 0.0680952 0.0346563 0.618855 0.5 --0.0817644 0.0758778 0.0206878 0.741428 0.5 --0.091428 0.113787 0.018961 0.726568 0.5 --0.0757523 0.0687815 0.0210323 0.726172 0.5 --0.0529063 0.0676787 0.0373317 0.626599 0.5 --0.0749667 0.0683767 0.0215337 0.715696 0.355807 --0.0741944 0.0678888 0.022137 0.709676 0.360949 --0.0845615 0.0777561 0.014943 0.65473 0.5 --0.0882602 0.111934 0.0373837 0.525511 0.5 --0.0894904 0.112329 0.0187618 0.681106 0.5 --0.052616 0.0657163 0.0355847 0.716313 0.5 --0.0734051 0.0674458 0.022683 0.726952 0.5 --0.072631 0.0670284 0.0231935 0.6939 0.5 --0.071801 0.0745407 0.0361884 0.71264 0.5 --0.0718222 0.0666154 0.0237319 0.644913 0.400955 --0.0710199 0.0662278 0.0242287 0.634453 0.5 --0.0701839 0.0658802 0.0247105 0.489121 0.5 --0.069373 0.0655009 0.0252048 0.578068 0.5 --0.0685509 0.065132 0.0256966 0.550849 0.299242 --0.0676963 0.0648397 0.0261272 0.536847 0.363835 --0.0667991 0.06462 0.0265045 0.405786 0.46941 --0.0755445 0.0668624 0.00857418 0.584933 0.5 --0.0672111 0.0749069 0.0386416 0.600287 0.467564 --0.0742588 0.0655235 0.0100016 0.509744 0.339159 --0.0735773 0.0648576 0.0107478 0.561682 0.5 --0.0728932 0.0642808 0.0113714 0.5876 0.5 --0.072166 0.063706 0.0120556 0.553638 0.5 --0.0714787 0.0630924 0.012741 0.506207 0.5 --0.0708134 0.0624523 0.0134268 0.454072 0.5 --0.0700765 0.0619608 0.0139832 0.478626 0.5 --0.0693077 0.0614952 0.0145437 0.432237 0.5 --0.0684865 0.0611195 0.0150424 0.39596 0.434825 --0.0676995 0.0606833 0.0155957 0.399351 0.5 --0.0668008 0.060458 0.0159676 0.392356 0.447511 --0.0659091 0.06022 0.0163937 0.520431 0.449498 --0.0650007 0.0600171 0.0167571 0.517502 0.5 --0.0640788 0.0598458 0.0171155 0.948453 0.5 --0.0631728 0.0596464 0.0174802 0.938839 0.5 --0.0622614 0.0594461 0.0178467 0.939061 0.5 --0.0613093 0.0593276 0.0181457 0.75605 0.5 --0.0604002 0.0591276 0.0185111 0.7573 0.5 --0.0594483 0.0590098 0.0188119 0.575181 0.5 --0.058539 0.0588103 0.0191792 0.384301 0.5 --0.0575865 0.0586919 0.0194779 0 0 --0.0887093 0.112351 0.0387402 0.430149 0.5 --0.065903 0.0643977 0.026882 0.483438 0.5 --0.0663647 0.0360087 0.0372253 0.385201 0.5 --0.0657408 0.0353871 0.0379044 0.494561 0.5 --0.0648928 0.0350374 0.038379 0.939063 0.5 --0.0640233 0.0347562 0.0388023 0.900826 0.5 --0.063072 0.0346346 0.0391063 0.848458 0.5 --0.0621222 0.0345142 0.0394173 0.822358 0.5 --0.0611289 0.0344725 0.039662 0.791874 0.5 --0.0600953 0.0345101 0.0398512 0.779494 0.5 --0.0591045 0.0344689 0.0400978 0.779505 0.5 --0.0580729 0.0345066 0.0402882 0.776799 0.5 --0.0570813 0.0344654 0.0405363 0.779463 0.5 --0.0560519 0.0345032 0.0407254 0.760969 0.5 --0.0550177 0.034541 0.0409139 0.77985 0.5 --0.054028 0.0344996 0.0411656 0.779994 0.5 --0.0529942 0.0345374 0.0413527 0.768354 0.5 --0.0520047 0.0344961 0.0416004 0.758305 0.5 --0.0509276 0.0346131 0.0417321 0.760798 0.5 --0.0499367 0.0345722 0.0419808 0.627709 0.5 --0.0489061 0.0346101 0.0421693 0.63147 0.5 --0.047874 0.0346487 0.0423594 0.635229 0.5 --0.0468008 0.0347657 0.0424884 0.492762 0.5 --0.0457293 0.0348843 0.042622 0.506117 0.5 --0.0446561 0.0349999 0.0427486 0.518553 0.5 --0.0435404 0.0351992 0.0428237 0.49688 0.5 --0.0423655 0.0354607 0.0428683 0.293553 0.435869 --0.0412769 0.0356814 0.042879 0.235301 0.5 --0.040104 0.0359968 0.0427867 0.271679 0.5 --0.0389991 0.0361252 0.0429011 0.445433 0.5 --0.0381624 0.035793 0.0434599 0.543566 0.5 --0.0373231 0.0354917 0.0439186 0.608745 0.5 --0.0364388 0.0352264 0.0443258 0.986512 0.5 --0.0355301 0.0350253 0.0446914 0.967997 0.5 --0.0346214 0.0348242 0.0450553 0.910632 0.5 --0.033587 0.0348608 0.0452447 0.647959 0.5 --0.0325544 0.0348985 0.0454309 0.627029 0.5 --0.0315626 0.0348573 0.0456798 0.633856 0.5 --0.0305285 0.0348948 0.0458677 0.470166 0.5 --0.0295413 0.0348538 0.0461198 0.470602 0.5 --0.0285078 0.0348913 0.0463089 0.474733 0.5 --0.0275166 0.0348502 0.0465557 0.470876 0.5 --0.0264854 0.0348879 0.0467436 0.477404 0.5 --0.0254944 0.0348465 0.0469921 0.469279 0.5 --0.0244623 0.0348843 0.0471798 0.472847 0.5 --0.0235086 0.0347636 0.0474886 0.466863 0.5 --0.0224756 0.0348012 0.0476768 0.454465 0.5 --0.0214848 0.0347602 0.0479269 0.461803 0.5 --0.0204554 0.0347978 0.0481157 0.468461 0.5 --0.0194646 0.0347564 0.0483645 0.468034 0.5 --0.0184307 0.0347944 0.0485523 0.465671 0.5 --0.0173959 0.0348327 0.0487444 0.483894 0.5 --0.0164056 0.0347921 0.0489909 0.66633 0.5 --0.015331 0.0349099 0.0491212 0.659301 0.5 --0.0142613 0.0350279 0.0492532 0.685328 0.5 --0.0131306 0.0351789 0.049391 0.428744 0.400091 --0.0120723 0.0353434 0.0494553 0.877126 0.5 --0.0109155 0.0356188 0.0494667 0.840078 0.5 --0.00976126 0.0358952 0.049479 0.65394 0.5 --0.00860718 0.0361712 0.0494902 0.591191 0.5 --0.00737907 0.0367231 0.0491533 0.218136 0.421741 --0.00609738 0.037339 0.0487481 0.238837 0.5 --0.0650238 0.0641454 0.0272956 0.475481 0.5 --0.0641074 0.0639595 0.0276548 0.502307 0.470604 --0.0839319 0.117006 0.0485566 0.728054 0.5 --0.063207 0.06374 0.0280276 0.667271 0.371296 --0.065153 0.0712063 0.036955 0.521953 0.5 --0.0663565 0.0783826 0.0411592 0.591267 0.5 --0.0814272 0.0752484 0.0195365 0.770515 0.5 --0.0679292 0.0674285 0.0308631 0.491898 0.470477 --0.0720693 0.0709772 0.0321852 0.596831 0.5 --0.0688648 0.111591 0.0438135 0.339731 0.5 --0.0728503 0.107163 0.0374416 0.333195 0.5 --0.062259 0.0636125 0.0283336 0.636152 0.384928 --0.0764283 0.117143 0.0518912 0.57247 0.473261 --0.0875696 0.115156 0.045661 0.566656 0.5 --0.0890966 0.114815 0.0438036 0.498813 0.5 --0.085737 0.110915 0.0387737 0.900324 0.5 --0.0838603 0.0771078 0.0156983 0.68627 0.195497 --0.0831878 0.0764607 0.0163622 0.699643 0.5 --0.0613089 0.0634913 0.028639 0.629029 0.389292 --0.079976 0.076532 0.0275303 0.776805 0.5 --0.0603606 0.0633645 0.0289482 0.626557 0.393053 --0.0851934 0.11068 0.0373035 0.82597 0.5 --0.0712203 0.0706743 0.0326242 0.585215 0.5 --0.0799475 0.0796892 0.0318714 0.689703 0.5 --0.0594448 0.063179 0.0293052 0.585056 0.5 --0.0675837 0.112197 0.043642 0.259837 0.5 --0.0584924 0.0630612 0.0296076 0.56014 0.5 --0.0548476 0.0665624 0.0361422 0.646872 0.249607 --0.0801239 0.110623 0.0438367 0.444632 0.5 --0.0575003 0.0630187 0.0298519 0.418615 0.436243 --0.0757136 0.107486 0.0366393 0.379032 0.4574 --0.0597781 0.0668249 0.0348598 0.573154 0.383113 --0.058577 0.0727277 0.0406017 0.691607 0.5 --0.0565065 0.0629707 0.0300974 0.353629 0.449954 --0.0831854 0.11075 0.0323354 0.773807 0.5 --0.0653913 0.0757553 0.0400472 0.610072 0.5 --0.055548 0.0628794 0.0303893 0.271519 0.434679 --0.0803034 0.072641 0.00422068 0.457746 0.242506 --0.0797372 0.0717415 0.00518109 0.63873 0.5 --0.0791205 0.0709783 0.00599758 0.661542 0.5 --0.0784664 0.0703272 0.00666705 0.662896 0.5 --0.0778143 0.0696403 0.00741827 0.498705 0.237608 --0.0771027 0.0689891 0.00817725 0.756265 0.5 --0.0545581 0.0628278 0.0306388 0.388626 0.5 --0.0596114 0.0726835 0.0404064 0.572939 0.5 --0.0752763 0.0667216 0.0105318 0.57242 0.5 --0.0746541 0.0660086 0.0112783 0.584572 0.5 --0.0739688 0.0653923 0.0119616 0.613903 0.331828 --0.0731928 0.064943 0.0125198 0.6309 0.5 --0.0724349 0.0644357 0.0131399 0.554388 0.5 --0.0718387 0.063614 0.0140147 0.5028 0.5 --0.0712419 0.0628661 0.0147709 0.493115 0.410872 --0.0704877 0.0623972 0.0153213 0.495072 0.382643 --0.0697006 0.0619862 0.0158161 0.453 0.5 --0.0689131 0.06155 0.0163724 0.436109 0.425752 --0.0680681 0.061235 0.0168081 0.442281 0.5 --0.0672083 0.0609402 0.0172424 0.418815 0.430907 --0.0663263 0.0606754 0.0176657 0.531502 0.5 --0.065396 0.0605193 0.0180241 0.951147 0.5 --0.0644961 0.0602892 0.0183972 0.522494 0.453268 --0.0635876 0.0600882 0.0187607 0.522258 0.5 --0.0626754 0.059895 0.0191264 0.523908 0.5 --0.0617181 0.0598008 0.019418 0.949051 0.5 --0.0608049 0.0596005 0.019786 0.766671 0.5 --0.059855 0.0594826 0.0200848 0.571924 0.5 --0.0588992 0.0593658 0.0203903 0.384369 0.5 --0.0579501 0.0592474 0.0206872 0 0 --0.0878896 0.111968 0.039224 0.50366 0.5 --0.0535585 0.062801 0.0308747 0.265975 0.5 --0.0847817 0.111591 0.0313073 0.425426 0.5 --0.0658521 0.0361993 0.0388506 0.481924 0.5 --0.0652339 0.0355811 0.0395373 0.598002 0.5 --0.0644533 0.0351399 0.0400818 0.959347 0.5 --0.0635867 0.03486 0.0405057 0.945054 0.5 --0.0626767 0.0346583 0.0408688 0.91034 0.5 --0.0616825 0.0346164 0.0411183 0.872973 0.5 --0.0607335 0.034496 0.0414254 0.828865 0.5 --0.0596993 0.0345337 0.0416145 0.801786 0.5 --0.0587093 0.0344925 0.0418625 0.799449 0.5 --0.0577153 0.0344512 0.0421091 0.787641 0.5 --0.0566848 0.0344893 0.0422998 0.768679 0.5 --0.0556539 0.0345276 0.0424927 0.769065 0.5 --0.0546196 0.0345652 0.0426785 0.793297 0.5 --0.0536298 0.0345249 0.0429297 0.810865 0.5 --0.0525965 0.0345626 0.0431188 0.835051 0.5 --0.0516068 0.0345225 0.0433683 0.655997 0.5 --0.0505323 0.0346392 0.0434961 0.655489 0.5 --0.0494618 0.0347575 0.043629 0.505422 0.5 --0.0483876 0.0348751 0.0437589 0.509128 0.5 --0.0472721 0.035073 0.043832 0.501116 0.5 --0.0461189 0.0353483 0.0438447 0.338531 0.5 --0.0450017 0.0355455 0.0439167 0.352199 0.5 --0.0438855 0.03574 0.0440005 0.201185 0.5 --0.0426232 0.0362716 0.0437883 0.215832 0.5 --0.0415825 0.0366566 0.0434527 0.181991 0.305095 --0.0816947 0.113482 0.0465399 0.471116 0.5 --0.0747322 0.0729443 0.0316828 0.65569 0.5 --0.087519 0.112 0.0410625 0.424557 0.5 --0.0373738 0.0365422 0.044687 0.528209 0.5 --0.0366241 0.0360289 0.0452882 0.642312 0.5 --0.0358314 0.0356542 0.0457978 0.633219 0.5 --0.035019 0.035354 0.0462574 0.598049 0.412495 --0.0341019 0.0350895 0.0466468 0.970847 0.5 --0.0331932 0.0348891 0.047012 0.912899 0.5 --0.0321586 0.0349269 0.0472031 0.828792 0.5 --0.0311676 0.0348856 0.0474529 0.632752 0.5 --0.0301364 0.0349235 0.0476426 0.613679 0.5 --0.0291057 0.0349617 0.0478282 0.620477 0.5 --0.0281528 0.0348412 0.0481365 0.620806 0.5 --0.0270805 0.0349584 0.0482667 0.608418 0.5 --0.0260866 0.0349169 0.0485155 0.635448 0.5 --0.0250963 0.0348756 0.0487637 0.62 0.5 --0.0241054 0.0348343 0.0490127 0.635777 0.5 --0.0231171 0.0347933 0.0492623 0.62428 0.5 --0.0220809 0.0348313 0.0494485 0.627618 0.5 --0.0210492 0.0348694 0.0496408 0.647317 0.5 --0.0200589 0.0348282 0.0498878 0.667198 0.5 --0.0190678 0.0347878 0.0501361 0.666409 0.5 --0.0179936 0.034905 0.0502652 0.656054 0.5 --0.0168782 0.0351038 0.0503404 0.67915 0.5 --0.0157478 0.0352634 0.050467 0.513092 0.5 --0.0146066 0.0355634 0.0504427 0.545782 0.5 --0.0135059 0.0357879 0.0504712 0.393921 0.5 --0.012329 0.0361667 0.050366 0.350095 0.5 --0.0111043 0.0366055 0.0502176 0.268042 0.5 --0.00977952 0.0372711 0.0498001 0.232703 0.409529 --0.0810675 0.11076 0.0435122 0.547877 0.5 --0.0739705 0.110854 0.0450522 0.888247 0.5 --0.0699548 0.147947 -0.0321477 0.383147 0.5 --0.0787914 0.0724652 0.0224838 0.775073 0.5 --0.0681116 0.112409 0.0451263 0.345199 0.5 --0.0829375 0.116994 0.0487646 0.680718 0.5 --0.0824758 0.0764829 0.0200121 0.753296 0.5 --0.0817829 0.110167 0.0313299 0.506467 0.5 --0.0713881 0.068562 0.0291565 0.528711 0.466964 --0.0821218 0.075868 0.0188618 0.763542 0.5 --0.0828574 0.0764021 0.018249 0.746822 0.5 --0.070524 0.0682803 0.0295828 0.495043 0.5 --0.0772723 0.114862 0.0500033 0.478908 0.473665 --0.0506105 0.0694238 0.0381651 0.705044 0.5 --0.0802253 0.0772741 0.0285988 0.780044 0.5 --0.0802055 0.0754813 0.024867 0.626893 0.483109 --0.0642021 0.071089 0.0372614 0.517327 0.5 --0.0576054 0.0658547 0.0344063 0.522041 0.5 --0.0772544 0.0764799 0.0316515 0.698509 0.5 --0.0732628 0.0731075 0.0335988 0.682405 0.5 --0.0611633 0.0698433 0.0372322 0.599577 0.5 --0.0711005 0.148774 -0.0369587 0.36211 0.5 --0.0710897 0.0678996 0.0280309 0.66047 0.405544 --0.0745865 0.0720219 0.0307608 0.623328 0.5 --0.0792494 0.0723341 0.0207326 0.809706 0.5 --0.0653767 0.0770838 0.0407622 0.615064 0.5 --0.087269 0.112677 0.0244432 0.698144 0.5 --0.0729148 0.0713134 0.0317175 0.611998 0.5 --0.0620154 0.0689049 0.0360997 0.592557 0.474056 --0.0877256 0.112462 0.0226926 0.718362 0.360805 --0.0568342 0.0666429 0.0356476 0.577924 0.405351 --0.0785673 0.0716608 0.0214639 0.79796 0.5 --0.0877693 0.113692 0.0289151 0.613555 0.5 --0.0546552 0.0656851 0.0351815 0.582142 0.5 --0.0669139 0.0704667 0.0354638 0.486583 0.476249 --0.0685164 0.0669975 0.0293604 0.474394 0.5 --0.0746807 0.110131 0.0436879 0.861262 0.5 --0.0806495 0.10968 0.039129 0.905173 0.5 --0.0663103 0.0759418 0.0397029 0.607378 0.5 --0.0649093 0.06918 0.0352438 0.707914 0.5 --0.0745558 0.0684435 0.0233437 0.713434 0.5 --0.0891171 0.11284 0.0400327 0.455078 0.5 --0.0797103 0.0711205 0.00752586 0.689513 0.5 --0.0790801 0.0704064 0.00826811 0.698102 0.5 --0.078379 0.0698242 0.00895098 0.711962 0.275652 --0.0776274 0.0692865 0.00957677 0.719785 0.5 --0.076964 0.0686471 0.0102516 0.715621 0.5 --0.0763247 0.0679089 0.0110614 0.516133 0.466356 --0.0756565 0.0672218 0.011813 0.570943 0.451313 --0.075008 0.0665773 0.0124915 0.594149 0.5 --0.0743388 0.0659419 0.0131754 0.614628 0.5 --0.0736013 0.0654333 0.0137843 0.582441 0.233216 --0.0729386 0.0646873 0.0146181 0.524433 0.409431 --0.0723757 0.0638786 0.0154336 0.499572 0.261703 --0.0717154 0.0632455 0.0160979 0.508851 0.419451 --0.0709345 0.0627948 0.0166551 0.489033 0.5 --0.0701585 0.0623473 0.0172092 0.489057 0.39238 --0.0693216 0.0620201 0.0176481 0.484562 0.398774 --0.0684648 0.0617211 0.0180797 0.434639 0.420245 --0.0675878 0.0614559 0.0185068 0.549815 0.5 --0.0666703 0.0612745 0.0188657 0.964103 0.5 --0.065804 0.0609905 0.0192925 0.957361 0.5 --0.064905 0.0607648 0.0196679 0.535632 0.447506 --0.0639921 0.0605727 0.020032 0.529587 0.453606 --0.0630317 0.060472 0.0203248 0.964126 0.5 --0.0621323 0.0602572 0.0206983 0.529997 0.453553 --0.0611808 0.060116 0.0210055 0.551282 0.5 --0.0602281 0.059992 0.0213112 0.449332 0.5 --0.0592659 0.0599215 0.0215991 0.578175 0.5 --0.0583287 0.0597422 0.0219213 0.240546 0.5 --0.0707139 0.0721775 0.0349299 0.622081 0.5 --0.0871021 0.111516 0.0397664 0.507356 0.450712 --0.0778803 0.0710945 0.0220932 0.782442 0.5 --0.075934 0.0788992 0.0351468 0.75902 0.5 --0.0651505 0.0366918 0.0402161 0.439461 0.5 --0.0646199 0.0359342 0.0410351 0.491459 0.5 --0.063929 0.0354009 0.0416662 0.599469 0.5 --0.0630631 0.0351206 0.0420909 0.99742 0.5 --0.0621134 0.0350003 0.0423988 0.971369 0.5 --0.0612039 0.0347997 0.0427656 0.963268 0.5 --0.0602518 0.034678 0.0430709 0.908054 0.5 --0.0592646 0.0346371 0.0433189 0.882284 0.5 --0.0582724 0.0345955 0.0435663 0.871987 0.5 --0.0572808 0.0345537 0.0438127 0.865985 0.5 --0.0562455 0.0345922 0.0440034 0.856222 0.5 --0.0552136 0.0346314 0.0441945 0.857769 0.5 --0.0541416 0.034749 0.0443256 0.853922 0.5 --0.0530668 0.0348658 0.0444554 0.875414 0.5 --0.0520347 0.0349067 0.0446489 0.725029 0.5 --0.0509437 0.0349503 0.0448676 0.334694 0.5 --0.0723024 0.111428 0.0467445 0.478434 0.5 --0.0889991 0.11248 0.0367803 0.430525 0.445782 --0.0475797 0.035695 0.0449374 0.339207 0.5 --0.060035 0.0645406 0.0315175 0.467725 0.437525 --0.0806498 0.110292 0.0422048 0.938101 0.5 --0.0550935 0.0685958 0.0378502 0.624934 0.5 --0.0691516 0.0788347 0.0401452 0.597767 0.5 --0.082015 0.110886 0.0432009 0.539251 0.5 --0.0605698 0.0727907 0.0401099 0.573593 0.48157 --0.0773369 0.105608 0.0341784 0.522634 0.5 --0.0507764 0.0715485 0.0397729 0.684688 0.405389 --0.064755 0.068231 0.0343382 0.520534 0.340711 --0.0689178 0.0717538 0.0356819 0.506644 0.5 --0.0737672 0.068042 0.0238437 0.690409 0.230311 --0.0351573 0.0361738 0.0471926 0.621622 0.5 --0.0343725 0.0357923 0.047703 0.632488 0.5 --0.0335698 0.0354174 0.0482024 0.593892 0.5 --0.0326308 0.0352345 0.0485487 0.97866 0.5 --0.0317212 0.0350332 0.0489115 0.947235 0.5 --0.0307721 0.0349136 0.04922 0.887675 0.5 --0.0297808 0.0348722 0.0494682 0.839975 0.5 --0.0287487 0.0349103 0.0496611 0.814087 0.5 --0.0277559 0.0348695 0.0499059 0.774529 0.5 --0.026685 0.0349864 0.0500364 0.793489 0.5 --0.0257365 0.0348667 0.0503471 0.816387 0.5 --0.0247044 0.0349045 0.050534 0.821336 0.5 --0.0237103 0.0348634 0.0507821 0.835182 0.5 --0.0226813 0.0349023 0.0509736 0.817723 0.5 --0.0216077 0.0350207 0.0511065 0.843389 0.5 --0.0205761 0.0350586 0.0512942 0.866268 0.5 --0.0195012 0.0351765 0.0514244 0.867851 0.5 --0.0183748 0.0353493 0.0515278 0.545957 0.5 --0.0172261 0.0356447 0.0515267 0.575917 0.5 --0.0359956 0.151076 -0.00202594 0.242178 0.418265 --0.0466962 0.147986 -0.00319779 0.640606 0.5 --0.0692389 0.149629 -0.0402111 0.285087 0.388492 --0.0483555 0.146018 -0.00117385 0.583019 0.5 --0.0611783 0.167226 -0.0592729 0.517736 0.5 --0.0158901 0.160985 -0.0130889 0.300113 0.403193 --0.0688076 0.150274 -0.0424283 0.631599 0.5 --0.0241329 0.157302 -0.00905689 0.469485 0.437523 --0.0685062 0.142066 -0.00982847 0.517016 0.38825 --0.0656264 0.15567 -0.0512009 0.478311 0.5 --0.0433649 0.150829 -0.00565896 0.595142 0.5 --0.0640545 0.149152 -0.0269946 0.587998 0.5 --0.0379505 0.150881 -0.00456722 0.363823 0.5 --0.0249398 0.157384 -0.00964166 0.513804 0.419065 --0.0632159 0.147647 -0.016402 0.612537 0.5 --0.0279028 0.160261 -0.0136941 0.78729 0.5 --0.0630689 0.150547 -0.0265942 0.6525 0.5 --0.00997005 0.175779 -0.0292074 0.366445 0.393582 --0.0631298 0.144906 -0.0101196 0.604725 0.5 --0.0652865 0.1555 -0.0467797 0.646509 0.5 --0.0531289 0.138241 -0.000765665 0.628512 0.5 --0.0310985 0.154152 -0.00673494 0.485277 0.429563 --0.0636168 0.143654 -0.00954122 0.578125 0.5 --0.0650821 0.148822 -0.0290175 0.552642 0.5 --0.0517386 0.139928 0.000994108 0.552269 0.5 --0.0248998 0.158417 -0.0112592 0.577872 0.5 --0.0623235 0.139333 -0.00679766 0.60066 0.5 --0.027962 0.155009 -0.00579987 0.426256 0.5 --0.0169173 0.16018 -0.0117745 0.299188 0.398266 --0.050147 0.145259 -0.000515581 0.655517 0.5 --0.0647467 0.143415 -0.011401 0.857745 0.5 --0.0096483 0.171546 -0.0270746 0.365154 0.5 --0.0633421 0.145588 -0.0131138 0.400803 0.470167 --0.0449931 0.152736 -0.00651735 0.707449 0.5 --0.0678832 0.147765 -0.0303891 0.291927 0.366562 --0.0297515 0.154263 -0.00514597 0.416596 0.5 --0.0240484 0.159369 -0.0122932 0.633262 0.5 --0.0179779 0.15947 -0.0103936 0.455038 0.5 --0.0510836 0.145457 -0.000907293 0.777415 0.5 --0.0652397 0.150467 -0.0337229 0.40076 0.47442 --0.0628194 0.162004 -0.0576316 0.400042 0.5 --0.0663951 0.140334 -0.00790584 0.723467 0.5 --0.0641378 0.146153 -0.0169913 0.525294 0.5 --0.0703699 0.144073 -0.0154773 0.214016 0.5 --0.0118669 0.165326 -0.0197278 0.361906 0.5 --0.0614701 0.166956 -0.0604533 0.352801 0.5 --0.066663 0.144317 -0.015468 0.770225 0.5 --0.0641572 0.150753 -0.03179 0.410187 0.5 --0.047699 0.144615 0.00435323 0.228158 0.5 --0.0645863 0.144373 -0.0132186 0.470547 0.5 --0.0643644 0.153473 -0.0380226 0.722841 0.5 --0.0148475 0.162865 -0.0159421 0.451206 0.5 --0.0141543 0.161827 -0.01362 0.306328 0.5 --0.0640258 0.15968 -0.0562568 0.361834 0.5 --0.0664605 0.152204 -0.0437352 0.538048 0.5 --0.0654874 0.143443 -0.0120814 0.840504 0.5 --0.0457281 0.151677 -0.00565337 0.711362 0.5 --0.031909 0.154239 -0.00732019 0.507028 0.422539 --0.0650258 0.156351 -0.0487028 0.604768 0.5 --0.0638714 0.15469 -0.0385902 0.56719 0.481672 --0.0681034 0.152856 -0.0481556 0.293345 0.406188 --0.0167645 0.162218 -0.0151135 0.574749 0.5 --0.0456965 0.147701 -0.00292724 0.572371 0.5 --0.0387577 0.150948 -0.00516845 0.387702 0.5 --0.0662237 0.145026 -0.0176812 0.764025 0.5 --0.0696125 0.150354 -0.0430103 0.47272 0.5 --0.0415729 0.151549 -0.00635576 0.633348 0.5 --0.0271741 0.161328 -0.0145155 0.856472 0.5 --0.0338241 0.152569 -0.00489392 0.786231 0.5 --0.0708261 0.144835 -0.0182015 0.209906 0.5 --0.0344427 0.15352 -0.00733684 0.564742 0.5 --0.069062 0.149033 -0.0371338 0.281212 0.5 --0.0382525 0.154358 -0.00883541 0.725146 0.5 --0.067159 0.152634 -0.0476967 0.436707 0.393571 --0.0658849 0.153363 -0.0443952 0.533719 0.5 --0.0426772 0.14763 -0.000244299 0.335538 0.5 --0.0109096 0.167211 -0.0224966 0.390049 0.5 --0.063716 0.150986 -0.0306408 0.582659 0.5 --0.0666364 0.150881 -0.0385507 0.590962 0.5 --0.0367886 0.156481 -0.0105439 0.767887 0.5 --0.049358 0.146268 -0.00147688 0.640818 0.5 --0.0138771 0.164812 -0.0186885 0.561955 0.5 --0.0181568 0.165005 -0.0179156 0.69189 0.5 --0.0398753 0.149194 -0.00215183 0.610851 0.5 --0.0240269 0.158277 -0.0107707 0.552175 0.5 --0.0415439 0.148326 -0.00168489 0.764228 0.5 --0.0405106 0.151258 -0.00613685 0.616812 0.5 --0.0680155 0.149781 -0.0384715 0.429834 0.368185 --0.0225945 0.157229 -0.0076361 0.262747 0.362101 --0.0222598 0.160103 -0.0129456 0.608905 0.350946 --0.0652177 0.144322 -0.0140816 0.458143 0.5 --0.0666009 0.15275 -0.0468174 0.536237 0.5 --0.0674167 0.149888 -0.0375972 0.449517 0.5 --0.030183 0.155051 -0.00785968 0.500025 0.5 --0.0509196 0.141445 0.00173554 0.437855 0.5 --0.0336363 0.153436 -0.00674709 0.511 0.5 --0.0618211 0.164489 -0.0586698 0.597042 0.5 --0.0122439 0.168894 -0.023749 0.549522 0.5 --0.0431023 0.149502 -0.00451393 0.588458 0.5 --0.0206187 0.158806 -0.0102834 0.501143 0.402376 --0.0379006 0.151906 -0.00621808 0.562588 0.5 --0.0321606 0.153429 -0.00535973 0.613744 0.5 --0.0459377 0.145792 0.000601046 0.777194 0.5 --0.0655442 0.155124 -0.0481259 0.607985 0.5 --0.0379836 0.153062 -0.00765575 0.634558 0.5 --0.0456817 0.146626 -0.00135754 0.487277 0.435221 --0.0130347 0.166801 -0.0212915 0.517241 0.5 --0.0427079 0.151894 -0.00649313 0.675987 0.5 --0.0148931 0.161809 -0.0143393 0.322852 0.384687 --0.0446977 0.147484 -0.0025954 0.513068 0.5 --0.0231566 0.158136 -0.0102789 0.499802 0.5 --0.0510476 0.139892 0.00172061 0.506 0.5 --0.0500642 0.142991 0.00242772 0.463237 0.457674 --0.0128992 0.165641 -0.0199242 0.43641 0.5 --0.0538875 0.139905 -0.00121756 0.625266 0.5 --0.0372554 0.154082 -0.00855912 0.684001 0.5 --0.0624397 0.16285 -0.0548313 0.574242 0.5 --0.0661058 0.151041 -0.0375744 0.616666 0.5 --0.0650223 0.156803 -0.0519494 0.593511 0.5 --0.0653258 0.140047 -0.00770568 0.730717 0.5 --0.0609158 0.169795 -0.0608698 0.410128 0.5 --0.0483263 0.149906 -0.00403153 0.512791 0.5 --0.0622151 0.166391 -0.0605094 0.361152 0.347384 --0.068634 0.151185 -0.044245 0.35852 0.5 --0.0654804 0.152163 -0.03833 0.664636 0.5 --0.0627982 0.16724 -0.0607839 0.297357 0.252336 --0.0393811 0.154717 -0.00895732 0.736121 0.5 --0.0142729 0.16729 -0.0212151 0.553381 0.5 --0.0499316 0.141822 0.00385784 0.429728 0.5 --0.0168361 0.163394 -0.0165332 0.582916 0.5 --0.0422245 0.148296 -0.00246029 0.847321 0.5 --0.0145721 0.168692 -0.0222333 0.620336 0.5 --0.00876485 0.1716 -0.0262973 0.292433 0.405066 --0.0345483 0.152531 -0.00560476 0.507713 0.5 --0.0405566 0.149165 -0.00293165 0.832265 0.5 --0.0397769 0.152293 -0.00702124 0.657846 0.5 --0.0635158 0.162004 -0.0583208 0.553523 0.5 --0.0623624 0.16436 -0.0595797 0.393294 0.5 --0.0116051 0.171103 -0.0260001 0.54956 0.5 --0.0138688 0.163706 -0.0171714 0.436104 0.5 --0.0695099 0.151355 -0.0447129 0.240421 0.391205 --0.063994 0.152679 -0.0352218 0.378663 0.479757 --0.0292743 0.157003 -0.0105584 0.611012 0.360932 --0.0616655 0.144455 -0.00523057 0.420316 0.5 --0.0694061 0.153071 -0.0482738 0.24683 0.290349 --0.0178968 0.163686 -0.0167578 0.663525 0.5 --0.0678883 0.145704 -0.022127 0.561257 0.5 --0.0649365 0.1467 -0.0209465 0.500101 0.407651 --0.0695171 0.141232 -0.00845814 0.490215 0.5 --0.0646993 0.150616 -0.0327557 0.418448 0.5 --0.0633655 0.139636 -0.00706655 0.65879 0.5 --0.0453871 0.145929 0.00156561 0.572973 0.5 --0.021666 0.16235 -0.015178 0.737479 0.5 --0.0683543 0.152019 -0.0462463 0.268816 0.435845 --0.0658527 0.144237 -0.0148815 0.801133 0.5 --0.0275374 0.156717 -0.00957418 0.578388 0.5 --0.0170332 0.164657 -0.0177746 0.665918 0.5 --0.0128851 0.164546 -0.0183954 0.429902 0.368676 --0.0310058 0.156198 -0.0100049 0.610138 0.5 --0.0387772 0.152061 -0.00669739 0.598088 0.5 --0.0494259 0.144129 0.00171058 0.412742 0.416676 --0.0474205 0.145822 -0.000777163 0.509882 0.5 --0.0338729 0.15688 -0.0110666 0.732654 0.5 --0.0452267 0.150119 -0.00491516 0.639309 0.5 --0.0478227 0.148347 -0.00331487 0.467161 0.474089 --0.0152574 0.166467 -0.0199789 0.609078 0.5 --0.0208658 0.163381 -0.0161046 0.699626 0.5 --0.0681283 0.146379 -0.0251159 0.575699 0.5 --0.0684671 0.140894 -0.00832284 0.655338 0.5 --0.0439563 0.147482 -0.0018962 0.834277 0.5 --0.0638562 0.148524 -0.023921 0.509105 0.5 --0.065557 0.158804 -0.0559152 0.41426 0.324593 --0.0632228 0.141176 -0.0069873 0.489764 0.5 --0.0717673 0.146065 -0.0213605 0.126555 0.229662 --0.0551968 0.138069 -0.00309725 0.695456 0.5 --0.0132125 0.168083 -0.022507 0.576443 0.5 --0.0276378 0.158958 -0.0125395 0.701257 0.5 --0.065785 0.145733 -0.0198954 0.805506 0.5 --0.0186027 0.160444 -0.0128213 0.494244 0.417189 --0.0649779 0.141437 -0.00794337 0.671487 0.5 --0.0151227 0.160977 -0.0122661 0.31952 0.5 --0.0655423 0.145055 -0.0169033 0.806224 0.5 --0.0249816 0.15956 -0.0126947 0.655684 0.5 --0.0113061 0.169739 -0.0249506 0.492569 0.5 --0.0377322 0.150234 -0.00179971 0.297873 0.348236 --0.0638387 0.163409 -0.0592654 0.493669 0.5 --0.0110616 0.168437 -0.0238044 0.501331 0.5 --0.0408442 0.152602 -0.00723164 0.706364 0.5 --0.0664625 0.145705 -0.0206681 0.785122 0.5 --0.018943 0.164042 -0.0169159 0.733729 0.5 --0.0626506 0.153382 -0.0318715 0.494099 0.483077 --0.062927 0.150005 -0.0233391 0.624089 0.5 --0.0106027 0.171925 -0.0271985 0.467082 0.304547 --0.0364615 0.155102 -0.00949574 0.705748 0.5 --0.0690491 0.153118 -0.0485047 0.256157 0.289664 --0.0362549 0.153841 -0.0082413 0.62771 0.5 --0.034669 0.15585 -0.0101443 0.691657 0.5 --0.0100812 0.168118 -0.0236136 0.418542 0.5 --0.031353 0.158667 -0.0125849 0.816328 0.5 --0.0685791 0.147786 -0.0311476 0.324416 0.5 --0.0623778 0.167137 -0.0608155 0.374899 0.5 --0.0293863 0.155004 -0.00725783 0.837545 0.5 --0.0537922 0.14151 -0.001138 0.594394 0.5 --0.0623049 0.142641 -0.00633906 0.473816 0.5 --0.0644028 0.146849 -0.019975 0.518615 0.5 --0.0293599 0.15815 -0.0119938 0.696253 0.5 --0.065164 0.147357 -0.0239331 0.819685 0.5 --0.0148578 0.163977 -0.0174595 0.568036 0.5 --0.070378 0.149076 -0.0386493 0.335183 0.5 --0.0257693 0.158564 -0.0117505 0.593385 0.374801 --0.0663198 0.150167 -0.0356652 0.540628 0.5 --0.0640918 0.158696 -0.0546245 0.525776 0.5 --0.0107913 0.165034 -0.0192459 0.289862 0.5 --0.0720157 0.145244 -0.0182167 0.200274 0.5 --0.069197 0.145134 -0.0204031 0.36769 0.5 --0.0524624 0.139899 0.000243693 0.577252 0.5 --0.0258672 0.156547 -0.00846874 0.822682 0.5 --0.00948171 0.174183 -0.0285537 0.325652 0.410658 --0.0234556 0.161598 -0.0145283 0.695153 0.5 --0.0370469 0.152854 -0.00726744 0.59616 0.5 --0.0711683 0.149278 -0.039104 0.281802 0.5 --0.0459611 0.149058 -0.0040494 0.658252 0.5 --0.070219 0.146984 -0.026659 0.312318 0.5 --0.0222445 0.159024 -0.0114139 0.541584 0.5 --0.010275 0.170544 -0.0261793 0.471552 0.33685 --0.0641249 0.156393 -0.0431197 0.743379 0.5 --0.017619 0.161286 -0.0140538 0.57382 0.5 --0.0611658 0.168359 -0.0606871 0.361301 0.5 --0.0238887 0.156697 -0.00604726 0.356041 0.5 --0.0686207 0.149674 -0.0393499 0.618353 0.5 --0.0642545 0.154418 -0.039754 0.478396 0.477405 --0.0410037 0.148494 -0.000715623 0.320942 0.42352 --0.0645467 0.148975 -0.0280488 0.57503 0.5 --0.064545 0.156137 -0.0442784 0.706524 0.5 --0.0438994 0.148485 -0.00356582 0.555054 0.5 --0.0241902 0.160559 -0.0136368 0.727899 0.5 --0.0719316 0.149607 -0.0394232 0.151917 0.5 --0.0194753 0.160592 -0.0133076 0.548146 0.5 --0.0668563 0.151928 -0.044894 0.462927 0.5 --0.036173 0.152719 -0.00677506 0.555192 0.401174 --0.0643746 0.145275 -0.0151376 0.406505 0.5 --0.0649333 0.145142 -0.016034 0.495088 0.428617 --0.0176939 0.162435 -0.0154936 0.621153 0.5 --0.0430291 0.148351 -0.00306372 0.527806 0.42084 --0.02161 0.158057 -0.00899889 0.638082 0.5 --0.065417 0.154594 -0.0449582 0.600953 0.5 --0.0657391 0.142564 -0.0101503 0.838775 0.5 --0.0327214 0.154341 -0.00788327 0.520993 0.5 --0.0432223 0.147486 -0.00120685 0.428638 0.5 --0.0269011 0.155694 -0.0071882 0.369627 0.424216 --0.0200653 0.164398 -0.0170398 0.75921 0.5 --0.0632877 0.151202 -0.0295741 0.698594 0.5 --0.0248971 0.163359 -0.0156802 0.857151 0.5 --0.0614708 0.165833 -0.0590275 0.603546 0.5 --0.0204571 0.159751 -0.0120682 0.562855 0.5 --0.0353184 0.153664 -0.00782609 0.589127 0.5 --0.00997898 0.172997 -0.0279186 0.381443 0.412535 --0.0664375 0.153657 -0.0486366 0.692581 0.5 --0.0654804 0.146553 -0.0219125 0.463744 0.420001 --0.0665297 0.149283 -0.0337543 0.359272 0.5 --0.0286406 0.154979 -0.0065778 0.629642 0.5 --0.0198183 0.158714 -0.00970491 0.368763 0.420943 --0.0628566 0.163115 -0.0590591 0.538727 0.5 --0.0643715 0.139866 -0.00735458 0.583082 0.5 --0.0344621 0.154617 -0.00886992 0.618934 0.5 --0.0301543 0.157156 -0.0110394 0.634741 0.5 --0.0658978 0.147832 -0.0279808 0.504201 0.5 --0.0628859 0.1495 -0.0200671 0.452229 0.5 --0.0647358 0.157148 -0.0507072 0.576458 0.5 --0.063339 0.160302 -0.0538579 0.532025 0.5 --0.00932165 0.17502 -0.028678 0.299062 0.5 --0.0356652 0.156121 -0.0104266 0.730519 0.5 --0.0632078 0.143892 -0.00837073 0.604322 0.5 --0.0622726 0.163207 -0.0582148 0.437094 0.5 --0.0652579 0.153012 -0.0402459 0.600151 0.5 --0.0268492 0.155368 -0.00477229 0.202406 0.5 --0.0642885 0.148287 -0.0250747 0.494187 0.5 --0.068322 0.144999 -0.0199128 0.546314 0.5 --0.0167466 0.161131 -0.0135692 0.436949 0.5 --0.0610724 0.144529 -0.00434459 0.43947 0.5 --0.0648295 0.14966 -0.0309451 0.510262 0.404688 --0.0195496 0.161752 -0.0147401 0.588579 0.5 --0.0157653 0.161968 -0.0148041 0.424017 0.5 --0.0661283 0.153073 -0.0457545 0.354779 0.441231 --0.0159101 0.1643 -0.0176565 0.632766 0.5 --0.0197453 0.163025 -0.0159769 0.693859 0.296122 --0.0538319 0.138205 -0.00152003 0.674905 0.5 --0.0636177 0.149382 -0.0259273 0.593428 0.5 --0.0618668 0.165619 -0.0600772 0.357415 0.426859 --0.0674426 0.148384 -0.0326115 0.63559 0.5 --0.0382124 0.150071 -0.00262103 0.379495 0.402471 --0.0481456 0.14427 0.00342034 0.236126 0.417297 --0.0628742 0.161547 -0.05443 0.623714 0.5 --0.0274951 0.157765 -0.0111917 0.624557 0.5 --0.0698236 0.144589 -0.0179026 0.348206 0.5 --0.067038 0.143551 -0.013347 0.747028 0.5 --0.0702692 0.146349 -0.0238997 0.187457 0.291214 --0.0653179 0.156011 -0.0499494 0.529151 0.5 --0.044347 0.146755 0.000226372 0.342851 0.431595 --0.0703667 0.142544 -0.0104932 0.253622 0.5 --0.0118076 0.166362 -0.0213381 0.44684 0.5 --0.0683811 0.149044 -0.0363633 0.375986 0.5 --0.066026 0.146409 -0.0228827 0.791758 0.5 --0.0639324 0.147049 -0.0189093 0.52602 0.5 --0.0232571 0.160328 -0.0132723 0.641269 0.5 --0.0531944 0.139931 -0.000456373 0.598586 0.5 --0.0251865 0.160795 -0.0139572 0.745077 0.5 --0.0261802 0.161053 -0.0142499 0.80592 0.5 --0.0646767 0.146003 -0.0179612 0.498944 0.5 --0.0514122 0.146842 -0.00193867 0.788081 0.5 --0.067642 0.150503 -0.040589 0.407016 0.5 --0.0641925 0.158337 -0.0512857 0.62314 0.5 --0.0492219 0.145089 -9.42983e-05 0.55921 0.395905 --0.0187506 0.162746 -0.0157051 0.675436 0.5 --0.0276517 0.15535 -0.00385533 0.154272 0.5 --0.0283979 0.155793 -0.00852382 0.532607 0.401396 --0.0412895 0.149153 -0.00363446 0.517095 0.5 --0.0149904 0.165173 -0.0188028 0.559348 0.5 --0.0678239 0.15109 -0.0436673 0.300963 0.5 --0.0279379 0.155215 -0.0039665 0.16541 0.259344 --0.0713444 0.144531 -0.0156116 0.191262 0.275799 --0.0311494 0.157393 -0.0113544 0.73072 0.5 --0.0654527 0.156561 -0.05302 0.363666 0.5 --0.0284257 0.15795 -0.0115973 0.654676 0.5 --0.0501242 0.144161 0.00100252 0.458746 0.5 --0.0177321 0.160293 -0.0123373 0.396804 0.408318 --0.0639066 0.158701 -0.0499459 0.643508 0.5 --0.0637196 0.147938 -0.020833 0.594154 0.5 --0.0289402 0.154865 -0.00285823 0.165474 0.335735 --0.0649871 0.152354 -0.0372683 0.681931 0.5 --0.0672863 0.151256 -0.0426939 0.49581 0.5 --0.0675442 0.151908 -0.0456642 0.45976 0.5 --0.0628045 0.144114 -0.00718004 0.505027 0.445013 --0.02662 0.157614 -0.0107103 0.572663 0.5 --0.0625842 0.162383 -0.0563311 0.573211 0.5 --0.06937 0.145758 -0.0234859 0.378238 0.5 --0.0108613 0.16611 -0.0209706 0.378327 0.347144 --0.0670342 0.154632 -0.0510962 0.349863 0.381437 --0.0106285 0.174518 -0.0286758 0.363974 0.5 --0.0370306 0.151785 -0.00571407 0.530903 0.5 --0.0318792 0.156356 -0.0104816 0.651828 0.5 --0.0635974 0.151927 -0.0324488 0.463595 0.464152 --0.064505 0.152553 -0.0362048 0.494186 0.5 --0.0656159 0.148667 -0.029991 0.496952 0.5 --0.0657818 0.152842 -0.0413063 0.620341 0.5 --0.0690913 0.143 -0.0123014 0.557151 0.5 --0.0674057 0.140585 -0.00814985 0.682445 0.5 --0.0696706 0.14899 -0.0379959 0.321528 0.336509 --0.0715189 0.150138 -0.0417489 0.205035 0.449353 --0.0628726 0.147915 -0.0152353 0.69114 0.5 --0.0657166 0.14722 -0.0249021 0.765601 0.5 --0.0112299 0.173502 -0.0278641 0.486029 0.5 --0.0622733 0.144309 -0.00616114 0.3932 0.5 --0.0699102 0.14965 -0.0409667 0.306014 0.5 --0.0657306 0.150277 -0.0347821 0.385597 0.5 --0.0469903 0.145002 0.00194161 0.583264 0.5 --0.0423065 0.150496 -0.00548521 0.608214 0.5 --0.0214023 0.161048 -0.0139992 0.664108 0.5 --0.0102345 0.169322 -0.0249254 0.43095 0.5 --0.0643532 0.142586 -0.00864957 0.561148 0.5 --0.0437605 0.146927 0.00133694 0.263917 0.393006 --0.0668982 0.151542 -0.0415298 0.545682 0.5 --0.0679787 0.154919 -0.0513588 0.230012 0.5 --0.0195832 0.1596 -0.0115811 0.500477 0.5 --0.0213292 0.159914 -0.0125433 0.595849 0.359956 --0.01408 0.166026 -0.0199736 0.548321 0.319013 --0.0674032 0.144345 -0.0161484 0.568735 0.5 --0.025189 0.156576 -0.00769163 0.624727 0.5 --0.0135887 0.169514 -0.0234669 0.590905 0.5 --0.0396346 0.151103 -0.0056598 0.582106 0.387281 --0.0647696 0.148087 -0.0261392 0.527046 0.378185 --0.0238433 0.163025 -0.0155105 0.78711 0.5 --0.0515557 0.141366 0.000880581 0.485469 0.5 --0.0255078 0.162179 -0.0150106 0.854465 0.5 --0.0710899 0.143489 -0.012899 0.21928 0.5 --0.0502835 0.146495 -0.00183305 0.690901 0.312876 --0.0445568 0.151229 -0.00569012 0.668427 0.5 --0.0545976 0.139948 -0.00193829 0.642257 0.5 --0.0441 0.149758 -0.00480897 0.620288 0.5 --0.0683674 0.147186 -0.0280671 0.33 0.321813 --0.0421651 0.149301 -0.00412295 0.522693 0.5 --0.0523786 0.138216 -8.53499e-05 0.624577 0.5 --0.0712073 0.146616 -0.0240304 0.212304 0.5 --0.0344045 0.152028 -0.00248634 0.299654 0.334872 --0.0634196 0.15027 -0.0277557 0.626824 0.5 --0.0484925 0.14723 -0.00252533 0.663653 0.5 --0.00908464 0.173025 -0.027717 0.216732 0.442746 --0.0666857 0.141706 -0.00893584 0.608788 0.5 --0.0725189 0.144585 -0.0159026 0.103131 0.5 --0.0655919 0.151202 -0.0366034 0.631994 0.339633 --0.0293232 0.155967 -0.00892475 0.537259 0.5 --0.066223 0.15556 -0.0520809 0.368905 0.5 --0.0647392 0.157599 -0.0538703 0.459248 0.5 --0.0658194 0.154782 -0.0493821 0.552213 0.5 --0.0293326 0.154386 -0.00360575 0.156588 0.200857 --0.0650925 0.142629 -0.00933509 0.531867 0.5 --0.0303597 0.158405 -0.0122944 0.735993 0.5 --0.0652338 0.145869 -0.0189253 0.790963 0.5 --0.0639329 0.153712 -0.0368711 0.517836 0.5 --0.0494895 0.143125 0.00338457 0.374661 0.5 --0.0635672 0.159894 -0.0552656 0.598501 0.5 --0.0639536 0.144435 -0.0123561 0.376403 0.5 --0.0484084 0.144974 0.000471547 0.529031 0.40419 --0.0388973 0.150052 -0.00339157 0.478902 0.5 --0.0288635 0.154571 -0.00355817 0.154373 0.272452 --0.0231137 0.159172 -0.011899 0.55123 0.5 --0.0645685 0.147457 -0.0230581 0.518977 0.5 --0.0691709 0.147293 -0.0286567 0.346996 0.295822 --0.0647302 0.154215 -0.0408208 0.472252 0.5 --0.0641355 0.160881 -0.0576174 0.443029 0.5 --0.0281334 0.155101 -0.00344078 0.130349 0.162813 --0.0471466 0.149481 -0.0040486 0.476825 0.477381 --0.0649274 0.155826 -0.0455264 0.692182 0.5 --0.0354607 0.154847 -0.00919588 0.647336 0.5 --0.068714 0.143769 -0.0144235 0.546302 0.5 --0.0688026 0.146519 -0.0258522 0.29344 0.352321 --0.0697305 0.146842 -0.0262196 0.286128 0.206425 --0.0675802 0.144972 -0.0192338 0.72293 0.5 --0.0712328 0.151001 -0.0437008 0.156246 0.108518 --0.0332687 0.15271 -0.00392746 0.567577 0.5 --0.0389846 0.1533 -0.00797514 0.657005 0.5 --0.0661914 0.152591 -0.0424622 0.603283 0.5 --0.0685644 0.145677 -0.0229009 0.542906 0.5 --0.0630574 0.15313 -0.033029 0.494417 0.5 --0.0506452 0.142899 0.00154993 0.505368 0.5 --0.0259115 0.159753 -0.0130913 0.672851 0.5 --0.0303849 0.154168 -0.00247422 0.160122 0.402818 --0.0276261 0.15573 -0.00786612 0.506378 0.408215 --0.0629042 0.151488 -0.0283316 0.715359 0.5 --0.0655821 0.153706 -0.0431373 0.614801 0.5 --0.0671293 0.149176 -0.0346332 0.39715 0.5 --0.0678286 0.139237 -0.00787376 0.758126 0.5 --0.0503848 0.141583 0.00270968 0.503594 0.5 --0.0257539 0.157476 -0.0102144 0.51967 0.5 --0.0627477 0.148893 -0.0169766 0.620522 0.5 --0.00971544 0.177216 -0.0294611 0.275035 0.357782 --0.0662325 0.14347 -0.0127636 0.779372 0.5 --0.0646684 0.155196 -0.0425404 0.736646 0.5 --0.0650665 0.151369 -0.0356223 0.446277 0.47714 --0.0630084 0.142674 -0.00705706 0.545127 0.5 --0.0633749 0.1608 -0.057006 0.360577 0.5 --0.047607 0.144918 0.0010701 0.806736 0.5 --0.0267283 0.156621 -0.00899742 0.522208 0.5 --0.0725233 0.143597 -0.0104167 0.167064 0.116027 --0.0672167 0.147775 -0.0296135 0.294494 0.5 --0.0637876 0.155678 -0.0402328 0.790452 0.5 --0.0303698 0.154176 -0.00601441 0.610896 0.5 --0.0335873 0.154463 -0.00838872 0.569193 0.5 --0.0374543 0.155389 -0.00975319 0.7655 0.5 --0.0627356 0.150882 -0.0252578 0.640507 0.5 --0.0214326 0.158913 -0.0108411 0.52248 0.5 --0.0635082 0.148832 -0.022668 0.610183 0.5 --0.0129572 0.163516 -0.016687 0.327613 0.5 --0.0700292 0.14319 -0.0126949 0.371405 0.5 --0.0463999 0.150559 -0.00488163 0.666434 0.5 --0.0636502 0.159498 -0.051954 0.656438 0.5 --0.0721769 0.146332 -0.0246714 0.109543 0.5 --0.0689525 0.144454 -0.0174142 0.512959 0.5 --0.0613355 0.171315 -0.0617342 0.383905 0.5 --0.0262324 0.15581 -0.00635861 0.433068 0.5 --0.0667057 0.14638 -0.0236565 0.773239 0.5 --0.0632329 0.149656 -0.0246848 0.551539 0.5 --0.0671416 0.145678 -0.0214457 0.751509 0.5 --0.0632766 0.146612 -0.0147592 0.335974 0.5 --0.0636907 0.146369 -0.0159165 0.577488 0.5 --0.0203772 0.158233 -0.00725915 0.220933 0.5 --0.0647273 0.156687 -0.0474505 0.711947 0.5 --0.0223961 0.161302 -0.0143028 0.69081 0.5 --0.0615025 0.16984 -0.0615386 0.333182 0.415628 --0.063796 0.145383 -0.0141799 0.395613 0.465715 --0.016176 0.165587 -0.0188354 0.659656 0.5 --0.028407 0.156859 -0.0100656 0.584909 0.5 --0.0623487 0.141045 -0.00649873 0.528779 0.5 --0.0676059 0.141897 -0.00935244 0.581222 0.362455 --0.0187849 0.159551 -0.0109781 0.635745 0.5 --0.0630553 0.148575 -0.0182369 0.596265 0.5 --0.043754 0.152254 -0.00662286 0.687251 0.5 --0.0244459 0.156552 -0.00701262 0.582633 0.5 --0.0154877 0.167822 -0.0210841 0.642307 0.5 --0.0362392 0.151744 -0.00510561 0.465931 0.45591 --0.0641035 0.141307 -0.00745692 0.499975 0.5 --0.0513203 0.142869 0.00077197 0.539209 0.5 --0.0206091 0.162049 -0.0149623 0.645343 0.5 --0.0448968 0.146123 0.00263093 0.376124 0.5 --0.0682244 0.142863 -0.0118107 0.748593 0.5 --0.0633856 0.148243 -0.0195768 0.611561 0.5 --0.0636742 0.142603 -0.0078783 0.486243 0.5 --0.0634393 0.144588 -0.0113838 0.553011 0.5 --0.0664444 0.151761 -0.0404644 0.551935 0.5 --0.0635111 0.15292 -0.0340962 0.372533 0.485646 --0.0688294 0.148429 -0.0341374 0.333495 0.5 --0.0269084 0.160002 -0.0134029 0.757296 0.5 --0.0650446 0.154908 -0.0437098 0.628132 0.5 --0.0092432 0.169141 -0.0244221 0.342794 0.5 --0.0520559 0.142894 8.38275e-05 0.469874 0.5 --0.0315436 0.153515 -0.00448892 0.416953 0.5 --0.048759 0.14421 0.00252118 0.416746 0.395972 --0.0296304 0.159454 -0.0131553 0.789003 0.5 --0.0419789 0.152954 -0.00736227 0.725502 0.5 --0.0654711 0.157635 -0.0545345 0.470569 0.5 --0.0507334 0.147965 -0.00270623 0.555803 0.5 --0.0652024 0.153998 -0.041972 0.678123 0.5 --0.0707102 0.149836 -0.0414255 0.228121 0.5 --0.0353601 0.152626 -0.00619729 0.534134 0.409532 --0.0465636 0.146777 -0.00183655 0.531472 0.412991 --0.0224096 0.15809 -0.00961754 0.469744 0.436387 --0.0204702 0.16083 -0.0136222 0.606492 0.5 --0.0640756 0.151735 -0.033508 0.470351 0.5 --0.0643695 0.149877 -0.0298747 0.576031 0.5 --0.00929516 0.17029 -0.0258484 0.326194 0.410267 --0.0621407 0.163665 -0.0567978 0.582085 0.5 --0.0372213 0.150899 -0.00386632 0.363895 0.5 --0.0404209 0.150087 -0.00469474 0.396828 0.462195 --0.0186134 0.161522 -0.0143726 0.600196 0.351661 --0.0681449 0.144372 -0.0168262 0.541187 0.5 --0.0714107 0.144356 -0.0151846 0.163429 0.5 --0.0635638 0.147341 -0.0176577 0.548451 0.5 --0.063068 0.161146 -0.0557557 0.55018 0.5 --0.0681305 0.148403 -0.0333773 0.368421 0.40927 --0.053019 0.141421 -0.000504477 0.57391 0.5 --0.0396234 0.150027 -0.00409811 0.365244 0.462054 --0.0466152 0.145766 -0.000178732 0.844488 0.5 --0.0611832 0.146298 -0.00395593 0.347536 0.5 --0.0158447 0.163118 -0.0162484 0.550462 0.363992 --0.032733 0.155408 -0.00943888 0.575616 0.5 --0.0329038 0.153455 -0.00604291 0.832251 0.5 --0.0657515 0.154274 -0.0462128 0.614485 0.5 --0.0671262 0.150692 -0.0396095 0.50348 0.5 --0.0668614 0.150018 -0.036632 0.513752 0.5 --0.066567 0.147777 -0.0287654 0.388584 0.5 --0.0349517 0.151884 -0.00344832 0.338906 0.426706 --0.0474936 0.146975 -0.00223523 0.589898 0.5 --0.0209297 0.158088 -0.00822134 0.416597 0.5 --0.0641393 0.143504 -0.0105249 0.556629 0.5 --0.0628937 0.146875 -0.0135938 0.436432 0.5 --0.0670544 0.153567 -0.0495044 0.684037 0.5 --0.0522702 0.141391 0.00017327 0.527289 0.5 --0.0336701 0.155604 -0.00983793 0.652459 0.338026 --0.0665448 0.142647 -0.010737 0.802442 0.5 --0.0244524 0.16187 -0.0148048 0.767595 0.5 --0.0646798 0.158592 -0.0555006 0.367066 0.5 --0.0681899 0.15036 -0.0415571 0.622216 0.5 --0.0638595 0.159101 -0.0532849 0.553137 0.5 --0.0669656 0.147091 -0.0266318 0.366521 0.5 --0.0653748 0.149517 -0.0319115 0.506472 0.5 --0.0652965 0.147932 -0.0271042 0.517755 0.5 --0.0413647 0.150284 -0.00509832 0.566818 0.5 --0.0301348 0.156065 -0.00950629 0.551089 0.5 --0.0350004 0.157209 -0.0112204 0.77142 0.5 --0.0660122 0.153896 -0.0475582 0.607399 0.5 --0.0658642 0.141582 -0.00840157 0.640677 0.5 --0.0659473 0.151954 -0.0393992 0.572304 0.5 --0.0558806 0.138039 -0.00386657 0.693847 0.5 --0.0355616 0.151785 -0.00432824 0.438102 0.446767 --0.0644393 0.157952 -0.0526177 0.606485 0.5 --0.0648339 0.153263 -0.0390895 0.664917 0.5 --0.0644813 0.157544 -0.049277 0.606077 0.5 --0.0659423 0.149401 -0.0328697 0.363223 0.47192 --0.0638978 0.150075 -0.0288161 0.60783 0.5 --0.00982514 0.16696 -0.0220459 0.300623 0.5 --0.0714181 0.143109 -0.0104276 0.184678 0.321968 --0.0286315 0.159193 -0.0128611 0.735006 0.5 --0.0645561 0.151545 -0.0345673 0.444066 0.47228 --0.064202 0.155431 -0.0413859 0.534016 0.476789 --0.0528961 0.143026 -0.000455911 0.527807 0.5 --0.06621 0.148552 -0.030869 0.645226 0.5 --0.0318636 0.155275 -0.00893878 0.5716 0.5 --0.0691845 0.152183 -0.0467119 0.252527 0.390549 --0.0677074 0.147127 -0.0273126 0.418336 0.5 --0.0326921 0.152804 -0.00294992 0.227767 0.5 --0.0607836 0.171276 -0.0609166 0.320645 0.5 --0.0720383 0.149669 -0.0395937 0.156722 0.5 --0.064096 0.14766 -0.0219948 0.572919 0.5 --0.0667821 0.14845 -0.031825 0.374413 0.5 --0.032878 0.156591 -0.0107994 0.683815 0.5 --0.0662707 0.14708 -0.0258685 0.760971 0.5 --0.0668387 0.144945 -0.0185544 0.727328 0.5 --0.0227209 0.162682 -0.0153632 0.776829 0.5 --0.044945 0.146638 -0.00064718 0.808406 0.5 --0.0449017 0.148739 -0.00386394 0.573463 0.5 --0.0393381 0.149359 -0.00118821 0.264439 0.5 --0.0274694 0.155208 -0.00473974 0.238304 0.5 --0.0722821 0.143895 -0.0129091 0.215002 0.5 --0.0509131 0.144221 0.000402933 0.522594 0.5 --0.0627563 0.152415 -0.0301468 0.718134 0.5 --0.0703836 0.151592 -0.0450749 0.205736 0.395449 --0.0662037 0.154495 -0.0505507 0.707543 0.5 --0.0119941 0.16759 -0.0225943 0.47128 0.5 --0.0643947 0.15704 -0.046105 0.746848 0.5 --0.0234022 0.157317 -0.0083471 0.797714 0.5 --0.0630027 0.145885 -0.0118617 0.55029 0.5 --0.0648437 0.159826 -0.0567739 0.429816 0.5 --0.0631669 0.152168 -0.0312981 0.458248 0.5 --0.0678418 0.143634 -0.0139334 0.718635 0.5 --0.0677458 0.149084 -0.0355035 0.386188 0.5 --0.0221568 0.157426 -0.00647102 0.226161 0.5 --0.0704544 0.150585 -0.0434585 0.224465 0.337855 --0.0310262 0.153728 -0.00354608 0.167698 0.5 --0.0400442 0.15362 -0.00816685 0.734503 0.5 -3 21216 21215 20399 -3 9186 9280 14838 -3 16020 13433 5187 -3 16021 16020 5187 -3 20919 20920 21003 -3 23418 15239 23127 -3 30553 27378 30502 -3 7291 7293 21464 -3 12803 12714 13083 -3 12777 4682 16928 -3 22066 22936 21048 -3 21134 22066 21048 -3 3221 3359 118 -3 4809 25593 118 -3 1656 1539 3359 -3 2761 15567 15618 -3 3221 1656 3359 -3 4376 9528 2528 -3 5207 2761 15618 -3 2941 2942 5207 -3 1028 4376 2528 -3 1656 5343 6260 -3 2942 2941 3488 -3 1539 1656 6260 -3 5343 5740 1531 -3 6260 5343 1531 -3 5740 5594 3025 -3 1531 5740 3025 -3 5594 2260 819 -3 3025 5594 819 -3 2260 2982 2576 -3 819 2260 2576 -3 2982 15184 15171 -3 17247 4193 17246 -3 2576 2982 15171 -3 4376 1028 15618 -3 1566 4810 1682 -3 15919 16061 15918 -3 15567 4376 15618 -3 16481 1563 1660 -3 15779 15780 15918 -3 11799 15970 11619 -3 16061 16060 15918 -3 3489 2942 3488 -3 15160 3618 15143 -3 4810 3489 3488 -3 2942 2761 5207 -3 4810 4945 1682 -3 4945 4810 3488 -3 15184 16830 16827 -3 15734 16168 1150 -3 15171 15184 16827 -3 16830 14705 14682 -3 16827 16830 14682 -3 14705 16625 17115 -3 14682 14705 17115 -3 16625 14875 16636 -3 17115 16625 16636 -3 14875 5062 17024 -3 16636 14875 17024 -3 5062 5356 5491 -3 17024 5062 5491 -3 5356 6018 6019 -3 5491 5356 6019 -3 15600 15674 15675 -3 23266 30828 30827 -3 16671 15521 16829 -3 16204 16203 16060 -3 7013 7012 6913 -3 16104 15964 14749 -3 17078 17077 16914 -3 22219 22218 22122 -3 23103 23102 23004 -3 23508 24841 23858 -3 17711 17712 17807 -3 15456 15589 15070 -3 1448 14621 15286 -3 16027 14348 15894 -3 13136 13137 15662 -3 14776 14775 14669 -3 20412 15734 1150 -3 16392 16671 17178 -3 6018 16804 14468 -3 22416 22514 22513 -3 6019 6018 14468 -3 16804 15759 3351 -3 14468 16804 3351 -3 15759 15686 15552 -3 3351 15759 15552 -3 15686 3745 14600 -3 15552 15686 14600 -3 22318 22319 22415 -3 222 96 706 -3 21147 21146 14945 -3 4192 1566 4193 -3 23305 23304 23206 -3 1566 1682 4193 -3 3745 16490 15240 -3 2280 1422 16069 -3 14600 3745 15240 -3 35832 35643 35784 -3 15240 16490 15679 -3 21501 35730 20535 -3 35590 35409 35574 -3 65 15681 14655 -3 111 2904 10119 -3 35558 35876 35737 -3 17808 17904 17903 -3 5058 6014 15303 -3 15863 15455 12567 -3 15736 15600 15675 -3 14656 7109 7108 -3 497 15413 16943 -3 5960 11710 21283 -3 22621 22720 22620 -3 15674 9862 5556 -3 15033 15049 16664 -3 20873 20953 20952 -3 6015 15829 1770 -3 14486 17153 1770 -3 17153 16825 1770 -3 15289 16192 16049 -3 13367 15064 23227 -3 4136 15289 1425 -3 22414 22415 22512 -3 21866 13329 12867 -3 31726 31826 31825 -3 12714 12803 11205 -3 14988 14989 15110 -3 22036 22035 33671 -3 21114 21113 18735 -3 16671 16829 17178 -3 15675 15674 5556 -3 20556 20638 20555 -3 9862 16306 16452 -3 14660 14661 14766 -3 6790 2887 14563 -3 14398 14397 14380 -3 14531 16621 15487 -3 16505 16661 16660 -3 15259 15387 15386 -3 15258 15259 15386 -3 12737 13760 13858 -3 15788 15927 15926 -3 389 2937 279 -3 588 2400 465 -3 16983 17149 17148 -3 16982 16983 17148 -3 16503 16504 16659 -3 4935 17558 15485 -3 14631 1737 1025 -3 16660 16819 16818 -3 3157 1299 3302 -3 2307 14631 1025 -3 5348 2280 16069 -3 15689 15555 3347 -3 15555 3480 3347 -3 1422 16177 246 -3 17148 17149 3361 -3 2019 2147 502 -3 35666 35471 35586 -3 14764 16389 16390 -3 5556 9862 16452 -3 23305 23402 23304 -3 1421 15930 15613 -3 20322 2477 16013 -3 15031 20322 16013 -3 16953 21313 21225 -3 16960 16961 17126 -3 16306 15473 16926 -3 14358 14372 14357 -3 22720 22819 22719 -3 16365 9292 9184 -3 30075 19908 19909 -3 28356 28357 30071 -3 13659 13561 5187 -3 13433 13659 5187 -3 22432 21483 21482 -3 22858 16917 22759 -3 20431 11513 19002 -3 21465 11513 20431 -3 16927 12777 16928 -3 16927 16928 6889 -3 22065 21970 22936 -3 15907 4270 15682 -3 1575 2053 4283 -3 15413 2574 2843 -3 16947 497 16943 -3 15780 15919 15918 -3 16452 16306 16926 -3 16946 3666 4539 -3 16669 1534 1418 -3 22217 22218 22313 -3 22315 22314 22218 -3 4249 3400 3399 -3 15473 15153 15280 -3 14583 14675 14674 -3 16980 16981 17146 -3 1425 15289 16049 -3 14582 14583 14674 -3 2620 3126 2764 -3 858 1612 1209 -3 21133 22074 21132 -3 5744 1533 14462 -3 4244 16392 14337 -3 22155 13525 15599 -3 15521 3208 16829 -3 16061 16204 16060 -3 14767 14880 14879 -3 16392 17178 14337 -3 20663 16798 16641 -3 14766 14767 14879 -3 35472 35899 35903 -3 14661 14767 14766 -3 825 14480 14475 -3 23519 31408 31479 -3 14580 14579 14500 -3 10619 7473 7361 -3 31503 31502 31430 -3 466 2936 176 -3 22066 22065 22936 -3 16926 15473 15280 -3 3600 118 25592 -3 22806 22807 22905 -3 1773 1656 3221 -3 3222 1773 3221 -3 1773 5477 5343 -3 1656 1773 5343 -3 16659 16660 16818 -3 14534 15677 15661 -3 1737 2259 818 -3 1025 1737 818 -3 3480 16635 14681 -3 20873 20874 20953 -3 18079 19539 19025 -3 3347 3480 14681 -3 1412 5740 5343 -3 5477 1412 5343 -3 22452 2938 22354 -3 3217 6128 5330 -3 2574 17013 17014 -3 14699 904 4270 -3 16204 16350 16349 -3 16203 16204 16349 -3 16349 16350 16502 -3 16350 16503 16502 -3 22611 22612 22710 -3 16503 16659 16658 -3 3487 361 3355 -3 14762 21027 23397 -3 15968 14609 15038 -3 12371 34194 33923 -3 16209 16210 16355 -3 14348 14709 14819 -3 16031 15751 15549 -3 14372 14371 14357 -3 14067 5755 175 -3 14609 15163 15038 -3 15387 15518 15517 -3 16967 15833 16958 -3 1412 1505 5594 -3 15386 15387 15517 -3 5740 1412 5594 -3 2394 2260 5594 -3 1505 2394 5594 -3 2394 1659 2982 -3 2260 2394 2982 -3 13095 13518 3075 -3 16660 16661 16819 -3 15556 6403 3480 -3 16943 15413 2843 -3 15507 15508 15642 -3 15643 15780 15779 -3 4539 1536 17025 -3 1536 17026 17025 -3 16912 16911 16753 -3 22123 22219 22122 -3 14588 15772 14567 -3 16349 16348 16202 -3 17147 4249 4602 -3 1453 1568 4332 -3 5751 5752 1612 -3 17146 17147 4602 -3 3209 5855 2482 -3 16981 17147 17146 -3 14675 14781 14780 -3 402 15560 1409 -3 14962 13429 15082 -3 16099 904 14699 -3 15153 7529 1030 -3 8125 16158 1388 -3 23155 16460 3621 -3 1620 1602 1601 -3 15280 15153 1030 -3 9546 23155 3621 -3 22819 22818 22719 -3 35730 35644 20535 -3 15032 12716 12627 -3 23109 23108 23010 -3 20365 20363 11358 -3 14685 20365 11358 -3 1916 5214 1917 -3 22810 22909 22908 -3 3798 3583 1030 -3 3616 5758 5349 -3 16819 16983 16982 -3 17570 6898 23243 -3 4002 3868 2400 -3 16818 16819 16982 -3 35494 35562 35770 -3 16504 16660 16659 -3 1211 4814 6249 -3 2937 588 465 -3 2259 16493 16383 -3 818 2259 16383 -3 17244 17243 17079 -3 22710 22711 22809 -3 5334 576 1493 -3 17242 4331 17241 -3 9879 8525 9764 -3 1659 15185 15184 -3 2982 1659 15184 -3 15185 16844 16830 -3 15184 15185 16830 -3 16844 14731 14705 -3 1768 15240 15815 -3 16830 16844 14705 -3 2843 2574 17014 -3 2669 16491 15934 -3 35933 35915 35488 -3 17013 3121 4278 -3 21216 22155 21215 -3 20090 23155 9546 -3 22834 20537 35521 -3 3126 3403 2764 -3 14425 14451 14450 -3 14424 14425 14450 -3 17245 17244 17080 -3 302 2307 5862 -3 23398 14762 23397 -3 17079 16916 17080 -3 26922 27040 27039 -3 15730 21147 14945 -3 4327 4326 17244 -3 17245 4327 17244 -3 1916 1917 4326 -3 4327 1916 4326 -3 16709 14414 14391 -3 5214 5349 1917 -3 14533 14534 15661 -3 16702 16709 14391 -3 32357 26610 26513 -3 2053 6117 20484 -3 14731 1604 16625 -3 14705 14731 16625 -3 1604 15431 14875 -3 16625 1604 14875 -3 15431 3886 5062 -3 14875 15431 5062 -3 15240 15679 15815 -3 3886 2981 5356 -3 15555 15556 3480 -3 5298 16789 5297 -3 15060 16027 15894 -3 6403 16487 16635 -3 16739 16897 16738 -3 15642 15643 15779 -3 20347 20134 19193 -3 17026 17018 16856 -3 16432 16584 16431 -3 14334 11508 12735 -3 16203 16349 16202 -3 17060 17059 16896 -3 1453 3599 1568 -3 22621 22620 22521 -3 4329 1453 4332 -3 3599 1033 1568 -3 3599 3746 3877 -3 1033 3599 3877 -3 2230 16543 2101 -3 5855 14615 2482 -3 16101 16099 14699 -3 16244 16245 16395 -3 15223 14626 14606 -3 140 14508 6651 -3 14766 14879 14878 -3 4808 16703 15266 -3 14660 14766 14765 -3 7529 3798 1030 -3 16398 25 16791 -3 29542 35598 35633 -3 1772 15362 1655 -3 13578 35560 13607 -3 1736 2129 4229 -3 1621 15362 932 -3 5758 5623 5350 -3 9563 6119 9679 -3 3080 4803 4938 -3 4326 1917 4325 -3 5214 3616 5349 -3 3079 3080 4938 -3 3616 3080 3079 -3 5758 3616 3079 -3 14631 2307 4938 -3 4803 14631 4938 -3 16493 15109 15096 -3 16383 16493 15096 -3 15109 16709 16702 -3 15096 15109 16702 -3 20241 13855 20071 -3 20678 20090 9546 -3 17075 17074 16911 -3 931 1502 3964 -3 13876 12932 17184 -3 13097 12638 12548 -3 5062 3886 5356 -3 2981 16690 6018 -3 5356 2981 6018 -3 5210 3351 15422 -3 16690 5409 16804 -3 17014 17013 4278 -3 109 6253 560 -3 16637 16481 1660 -3 3121 15556 15555 -3 16664 16669 1418 -3 16612 11385 3583 -3 3798 16612 3583 -3 1534 3666 16946 -3 15738 16449 13145 -3 27052 27053 28358 -3 13556 15738 13145 -3 24632 24303 24302 -3 1025 818 137 -3 13329 21134 21048 -3 4928 4938 302 -3 14451 14502 14501 -3 3218 3079 4928 -3 2307 1025 5862 -3 5623 5758 3218 -3 4938 2307 302 -3 5349 5758 5350 -3 3079 4938 4928 -3 20242 15032 12871 -3 5758 3079 3218 -3 14414 497 16947 -3 15681 15792 14655 -3 15966 3213 15291 -3 14391 14414 16947 -3 1561 14468 5210 -3 3351 15552 15422 -3 6018 16690 16804 -3 5409 15059 15759 -3 16804 5409 15759 -3 15059 15822 15686 -3 2925 6019 1561 -3 14468 3351 5210 -3 15521 14548 2004 -3 3480 6403 16635 -3 16986 15159 16514 -3 17135 11408 16969 -3 15245 15246 15373 -3 16897 17060 16896 -3 11222 9392 11223 -3 21464 21465 20431 -3 6398 4137 2524 -3 16144 16287 16143 -3 15373 15374 15504 -3 1036 1404 502 -3 9568 4409 15731 -3 15505 15640 15639 -3 27052 28358 28357 -3 15455 15326 13865 -3 3746 5887 5886 -3 3877 3746 5886 -3 5886 5887 2610 -3 5887 4904 2610 -3 3850 16543 16697 -3 4904 2213 3455 -3 16245 3850 16395 -3 16395 3850 16697 -3 15198 3339 16448 -3 16699 16856 142 -3 34278 34277 34139 -3 7457 11251 13662 -3 26904 26905 26594 -3 23154 9783 23251 -3 13429 20265 20433 -3 15467 12631 15338 -3 23316 10705 22935 -3 22222 22318 22221 -3 1452 1918 4066 -3 22126 22222 22221 -3 5349 5350 1799 -3 4199 1452 4066 -3 17244 4326 17243 -3 1917 5349 1799 -3 17080 17244 17079 -3 1917 1799 4325 -3 23301 23398 23300 -3 4326 4325 17243 -3 14236 14685 4196 -3 16916 17079 16915 -3 14685 11358 4196 -3 23398 23397 23300 -3 20157 20242 12871 -3 22612 22711 22710 -3 19823 460 19760 -3 1493 576 2258 -3 13891 9660 6767 -3 33612 33739 33611 -3 15759 15059 15686 -3 15822 16823 3745 -3 15686 15822 3745 -3 16823 15756 16490 -3 15552 14600 14601 -3 3745 16823 16490 -3 5295 5296 5430 -3 15422 15552 14601 -3 19018 15489 19120 -3 35646 35926 35596 -3 1418 1534 16946 -3 15508 15643 15642 -3 21497 16010 11279 -3 3666 1536 4539 -3 1418 16946 16784 -3 16752 16753 16911 -3 16664 1418 1068 -3 16647 16664 1068 -3 698 2258 15660 -3 14995 15033 16647 -3 22219 22315 22218 -3 22412 22411 22314 -3 16913 16912 16754 -3 35841 9451 11777 -3 17076 17075 16912 -3 17076 17240 17075 -3 16913 17076 16912 -3 17240 17239 17075 -3 4199 4066 17239 -3 17240 4199 17239 -3 15248 15249 15376 -3 15377 15508 15507 -3 15143 3618 1448 -3 15376 15377 15507 -3 4278 3121 15555 -3 14796 17111 17112 -3 5491 6019 2925 -3 5627 5491 2925 -3 35936 12039 11959 -3 2144 19051 2145 -3 14489 295 15565 -3 8117 14829 10454 -3 17024 5491 5627 -3 17023 17024 5627 -3 14157 3054 12253 -3 16658 16659 16817 -3 16362 16514 15414 -3 14621 14804 15286 -3 14587 14728 14902 -3 16287 16286 16143 -3 2795 14728 14587 -3 2524 2795 14587 -3 2134 14490 6668 -3 14728 14903 14902 -3 1184 109 3349 -3 15678 3029 791 -3 13789 12572 24996 -3 16241 16242 15182 -3 8223 20364 13278 -3 11969 13786 14157 -3 35596 35478 35433 -3 27047 27052 28357 -3 35729 13210 13590 -3 28886 29940 27052 -3 3455 2213 6009 -3 15121 15248 15247 -3 2610 4904 3455 -3 917 2661 2526 -3 2667 16245 16244 -3 2213 917 6009 -3 17191 17025 16699 -3 142 2667 16244 -3 15304 4539 17191 -3 16856 2667 142 -3 16784 16946 15304 -3 17025 16856 16699 -3 1068 1418 16784 -3 4539 17025 17191 -3 1734 931 6515 -3 16946 4539 15304 -3 5467 5620 6257 -3 3353 931 1734 -3 5467 6257 1918 -3 5620 3354 3353 -3 1452 5467 1918 -3 5620 5619 6257 -3 5619 5620 3353 -3 3354 1502 931 -3 3353 3354 931 -3 1502 5334 3964 -3 3964 5334 1493 -3 576 2392 2258 -3 2258 2392 15768 -3 15799 15049 15033 -3 17239 17238 17074 -3 16912 17075 16911 -3 13823 13822 13724 -3 11623 6138 13210 -3 14891 15011 15010 -3 16636 17024 17023 -3 2764 3403 5561 -3 14600 15240 1768 -3 6019 14468 1561 -3 4783 2612 3662 -3 14601 14600 1768 -3 3205 937 1646 -3 7008 5732 6910 -3 17025 17026 16856 -3 3618 14621 1448 -3 13556 13145 15461 -3 17018 2668 2667 -3 2282 4674 2846 -3 15462 13556 15461 -3 16627 16626 15305 -3 15306 2282 1153 -3 1153 2282 2846 -3 15305 15306 1153 -3 15768 15033 14995 -3 15660 15768 14995 -3 1405 1493 698 -3 15033 16664 16647 -3 6515 3964 1405 -3 2258 15768 15660 -3 3964 1493 1405 -3 1493 2258 698 -3 858 5751 1612 -3 4602 4249 3399 -3 3850 3874 16543 -3 3985 35841 11401 -3 15249 15377 15376 -3 15286 14804 16637 -3 4244 14337 15613 -3 17807 17808 17903 -3 3208 15521 2004 -3 17011 16027 15060 -3 17115 16636 14722 -3 17113 17115 14722 -3 15010 15011 15133 -3 14367 14382 14366 -3 14591 14551 14563 -3 14382 14381 14366 -3 14682 17115 17113 -3 14653 14682 17113 -3 80 79 15971 -3 3213 616 1061 -3 14903 16467 16466 -3 14640 14740 5139 -3 14902 14903 16466 -3 16467 245 50 -3 4943 14788 2176 -3 5142 79 80 -3 2176 5142 80 -3 79 16945 15971 -3 23206 23304 23303 -3 14787 15489 25 -3 11874 11973 12749 -3 19769 18488 19639 -3 32357 32462 26611 -3 35514 27756 29542 -3 6907 6989 9680 -3 4927 14429 2897 -3 16079 13228 15938 -3 2441 14782 14764 -3 15120 15121 15247 -3 6910 6911 2387 -3 14997 14998 15120 -3 15248 15376 15375 -3 15568 14986 14985 -3 3204 16114 14802 -3 6009 917 2526 -3 15541 15568 14985 -3 2661 15568 15541 -3 2526 2661 15541 -3 14986 16640 16639 -3 14985 14986 16639 -3 16640 826 3 -3 16639 16640 3 -3 826 16626 16627 -3 3 826 16627 -3 5889 3353 1734 -3 16626 15306 15305 -3 5619 3353 5889 -3 931 3964 6515 -3 6257 5619 5618 -3 5618 5619 5889 -3 6257 1269 2042 -3 1269 6257 5618 -3 1918 2042 3932 -3 1918 6257 2042 -3 17075 17239 17074 -3 4066 1918 3932 -3 388 389 5752 -3 4066 3932 17238 -3 3449 2209 2001 -3 6519 13791 13238 -3 33489 33488 33375 -3 2914 3043 5875 -3 2782 5412 2781 -3 16822 16827 14653 -3 14336 2939 15480 -3 16659 16818 16817 -3 14722 16636 17023 -3 15793 5951 15224 -3 15655 15160 15143 -3 14713 24176 4812 -3 16502 16503 16658 -3 16856 17018 2667 -3 27375 35939 30420 -3 22029 22030 22125 -3 2668 16103 16245 -3 16502 16501 16348 -3 22318 22317 22221 -3 34140 34139 34003 -3 16349 16502 16348 -3 22608 22609 22707 -3 14253 1023 3054 -3 2227 2098 17110 -3 3220 5689 14706 -3 15545 2264 1652 -3 35622 35756 35578 -3 4674 2264 15545 -3 363 17713 17619 -3 2846 4674 15545 -3 2264 1769 1652 -3 3212 14901 15769 -3 17112 2132 15615 -3 4001 4002 588 -3 14808 4547 16825 -3 35468 13025 12202 -3 11408 17135 13295 -3 15689 3347 579 -3 15825 15689 579 -3 16818 16982 16981 -3 15930 4244 15613 -3 15162 15171 16822 -3 16827 14682 14653 -3 3402 2576 15162 -3 15171 16827 16822 -3 27053 28359 28358 -3 11444 13983 11876 -3 15480 16030 15819 -3 939 6143 4232 -3 23102 23101 23003 -3 819 2576 3402 -3 14822 16362 15414 -3 5480 5544 249 -3 5465 4137 6398 -3 6668 5465 6398 -3 16053 16093 4943 -3 14788 5142 2176 -3 15504 15505 15639 -3 3593 1483 3460 -3 22805 22806 22904 -3 21024 21110 21023 -3 15818 14720 15114 -3 581 707 466 -3 15173 2765 4924 -3 19034 29940 28886 -3 3479 3478 4147 -3 15181 15174 16695 -3 15832 2119 3479 -3 3478 15181 4147 -3 2797 275 15832 -3 2119 3478 3479 -3 23243 19034 28886 -3 17187 17189 2797 -3 4016 2441 14764 -3 14878 14998 14997 -3 14877 14878 14997 -3 14765 14878 14877 -3 3352 14980 1421 -3 14998 15121 15120 -3 4329 4332 17235 -3 14981 14983 4143 -3 17236 17235 17071 -3 14980 15930 1421 -3 17072 17071 16908 -3 17072 17236 17071 -3 33266 33375 33265 -3 16909 17072 16908 -3 14983 3204 4143 -3 3595 2500 8682 -3 4927 14514 15554 -3 16060 16059 15917 -3 15688 4927 15554 -3 14588 14567 947 -3 15918 16060 15917 -3 16203 16202 16059 -3 5751 388 5752 -3 16060 16203 16059 -3 1499 3622 3081 -3 2683 14983 14981 -3 34756 29811 34755 -3 14429 4934 15973 -3 2001 6519 13238 -3 14116 14117 14212 -3 10651 4240 10528 -3 2209 6519 2001 -3 35603 35612 35418 -3 15132 15259 15258 -3 15131 15132 15258 -3 29940 27053 27052 -3 14491 1531 3316 -3 3025 819 138 -3 1305 1421 15613 -3 17904 17997 17996 -3 26940 35546 35669 -3 35686 30076 35365 -3 2667 2668 16245 -3 14585 14679 16398 -3 21204 15467 21203 -3 16103 3874 3850 -3 16502 16658 16657 -3 12631 22935 15338 -3 15778 15779 15917 -3 16501 16502 16657 -3 15181 15182 15174 -3 15220 15347 16774 -3 23323 23420 22927 -3 22026 22122 22121 -3 23026 23323 22927 -3 21948 15196 21879 -3 16909 16908 16750 -3 24416 25661 25660 -3 22727 18044 22826 -3 16751 16909 16750 -3 14514 4927 2897 -3 4279 2683 14981 -3 23026 22927 21212 -3 22122 22218 22217 -3 582 2399 2937 -3 14506 16173 16826 -3 15437 14872 14654 -3 14423 14449 14422 -3 16781 5140 17186 -3 16624 16781 17186 -3 16817 16818 16981 -3 15455 13865 12567 -3 2625 6260 14491 -3 1531 3025 3316 -3 3590 17193 5040 -3 5752 389 5753 -3 2937 465 279 -3 35592 35853 35447 -3 6260 1531 14491 -3 503 1036 502 -3 138 819 3402 -3 2576 15171 15162 -3 34548 34547 34410 -3 16982 17148 17147 -3 14444 14443 14417 -3 14574 14666 14573 -3 9856 17005 16843 -3 5678 5677 5542 -3 14454 14504 14453 -3 21978 21948 21121 -3 15239 22432 23127 -3 15781 15782 15920 -3 3039 18497 17913 -3 15764 15772 4279 -3 3965 3180 3039 -3 35472 35903 35398 -3 3180 1367 1492 -3 6797 1492 1367 -3 1367 5069 6797 -3 6797 1378 19364 -3 11441 10361 11411 -3 35426 35875 35899 -3 275 2119 15832 -3 15246 15374 15373 -3 5068 18864 18003 -3 5068 3044 558 -3 18357 1756 1755 -3 558 1755 5068 -3 16114 2441 4016 -3 1268 6764 17365 -3 6987 16470 16319 -3 14802 16114 4016 -3 6648 6987 16319 -3 16470 6017 16401 -3 16319 16470 16401 -3 2906 3743 275 -3 6017 2906 17189 -3 16401 6017 17189 -3 22609 22708 22707 -3 17189 2906 275 -3 6787 27411 29564 -3 20214 20300 20213 -3 9623 21204 16156 -3 15064 13367 23417 -3 12901 9400 23429 -3 15070 15071 15461 -3 14157 14253 3054 -3 30366 7399 19465 -3 13659 14908 14907 -3 21204 21203 16156 -3 9332 2360 3466 -3 24750 8580 9402 -3 14213 14311 14310 -3 14212 14213 14310 -3 13870 2209 3449 -3 13481 13870 3449 -3 14736 15220 16774 -3 20790 20791 20872 -3 14780 14781 14893 -3 35484 35610 35621 -3 14781 14894 14893 -3 15265 14784 14785 -3 118 3359 4809 -3 2780 2916 2310 -3 17148 3361 4249 -3 3316 3025 138 -3 3347 14681 15170 -3 17147 17148 4249 -3 16245 16103 3850 -3 15005 15128 15004 -3 15549 15548 16955 -3 3874 5272 16543 -3 14990 12646 15347 -3 11251 12901 13662 -3 15641 15642 15778 -3 20292 20291 20205 -3 1533 15223 14462 -3 15220 14990 15347 -3 5291 16327 587 -3 14452 14453 14503 -3 15182 15173 15174 -3 20353 20437 24052 -3 16241 15182 15181 -3 3478 16241 15181 -3 275 3743 2119 -3 17182 16241 3478 -3 3743 17182 2119 -3 2119 17182 3478 -3 6014 16548 2132 -3 559 6001 16794 -3 9771 20326 14323 -3 21050 23026 21212 -3 4001 1297 4002 -3 2399 588 2937 -3 14926 15045 15760 -3 15108 14328 14984 -3 6988 3796 1444 -3 1889 6988 1444 -3 1967 1968 12646 -3 21133 21132 20363 -3 12867 13329 21048 -3 3359 3358 4809 -3 15684 3483 15683 -3 14990 1967 12646 -3 3462 5417 1968 -3 3459 4266 4392 -3 28198 28199 28315 -3 1451 1796 4809 -3 25011 25145 30533 -3 15119 15246 15245 -3 11528 13974 12125 -3 16981 16982 17147 -3 14412 14929 14727 -3 14804 16481 16637 -3 14503 14504 14582 -3 15167 14994 6015 -3 14908 4516 7903 -3 1967 3462 1968 -3 4364 15564 15698 -3 15209 3595 3668 -3 3860 1757 3965 -3 20175 19905 30290 -3 1757 3320 3180 -3 3965 1757 3180 -3 3320 1368 1367 -3 3180 3320 1367 -3 1368 6137 5069 -3 1367 1368 5069 -3 6137 1260 1377 -3 5069 6137 1377 -3 22160 19423 19435 -3 1260 3596 1377 -3 5202 558 3463 -3 3596 5202 3463 -3 1637 1755 558 -3 5202 1637 558 -3 1267 1268 1755 -3 1637 1267 1755 -3 31557 26613 34062 -3 1267 6764 1268 -3 20020 23817 20021 -3 35349 35410 35852 -3 25766 25765 19476 -3 26603 24162 23254 -3 16401 17189 17187 -3 1172 18908 1507 -3 15952 13716 16092 -3 16554 16633 6648 -3 3462 11563 2364 -3 14764 14782 16389 -3 15007 15008 15130 -3 35802 35759 7082 -3 14556 14555 14864 -3 10617 8457 9574 -3 3352 1421 16389 -3 12826 3724 3925 -3 14427 14453 14452 -3 15595 15731 11257 -3 14426 14427 14452 -3 3731 18318 5756 -3 14075 12035 14310 -3 14311 14075 14310 -3 9974 13870 13481 -3 9975 9974 13481 -3 20780 20702 20701 -3 20701 20700 20782 -3 22720 22719 22620 -3 10488 35640 10004 -3 15048 34343 20678 -3 34343 20090 20678 -3 1539 1424 3358 -3 12871 15032 12627 -3 4101 8882 17082 -3 3359 1539 3358 -3 1182 15689 15825 -3 4249 3361 3400 -3 17153 14808 16825 -3 579 3347 15170 -3 4280 4413 89 -3 35512 35349 35879 -3 5417 3462 2364 -3 320 689 6264 -3 15507 15642 15641 -3 23154 23251 3054 -3 15695 15692 16101 -3 15779 15918 15917 -3 14693 2709 14763 -3 16854 15692 15695 -3 2611 5461 6269 -3 5326 5461 2611 -3 6140 2257 697 -3 6269 6140 697 -3 820 16401 17187 -3 17189 275 2797 -3 4466 4459 17232 -3 17233 4466 17232 -3 5566 15326 9079 -3 15326 9568 13865 -3 16954 7417 559 -3 15908 3212 15769 -3 16910 16909 16751 -3 22758 20822 15050 -3 15501 15635 3209 -3 1297 947 4002 -3 11702 11620 14568 -3 14328 16465 14984 -3 3796 16781 16624 -3 1444 3796 16624 -3 23207 23206 23108 -3 20719 20718 20637 -3 12989 13083 4682 -3 33868 33867 33733 -3 13662 12901 23429 -3 2623 13085 16918 -3 19311 5629 5763 -3 16917 2623 16918 -3 29514 29515 29652 -3 11389 6661 22053 -3 17320 29013 19035 -3 32000 31999 31898 -3 15908 15769 15358 -3 15411 15410 14352 -3 20461 20460 20376 -3 2710 15358 4547 -3 29666 29799 29665 -3 11563 9062 13495 -3 4678 4813 15697 -3 30633 28997 29547 -3 19058 19160 19057 -3 15772 15764 14567 -3 17296 2256 18336 -3 952 8116 17766 -3 4266 3459 3320 -3 1757 4266 3320 -3 3459 1369 1368 -3 3320 3459 1368 -3 1369 1624 6137 -3 1368 1369 6137 -3 1624 1259 1260 -3 6137 1624 1260 -3 3726 3596 1260 -3 1259 3726 1260 -3 5336 5202 3596 -3 3726 5336 3596 -3 1636 1637 5202 -3 5336 1636 5202 -3 1266 1267 1637 -3 1636 1266 1637 -3 30 6764 1267 -3 1266 30 1267 -3 4921 5056 6764 -3 30 4921 6764 -3 5064 5198 5056 -3 4921 5064 5056 -3 1973 2099 5198 -3 5064 1973 5198 -3 18615 1172 6394 -3 1973 1507 2099 -3 18264 19944 19945 -3 1507 6394 1172 -3 14953 14954 16554 -3 3188 17817 17952 -3 15309 15372 14953 -3 16633 6987 6648 -3 697 2257 15309 -3 14954 16633 16554 -3 555 554 18245 -3 15372 14954 14953 -3 13811 13812 13909 -3 12949 13043 13042 -3 13111 13219 12035 -3 14075 13111 12035 -3 2105 9974 9975 -3 13768 2105 9975 -3 16154 9063 20782 -3 22714 22813 22812 -3 11513 18933 19002 -3 23127 22432 21482 -3 20920 27613 27730 -3 1539 6260 2625 -3 12777 12989 4682 -3 28676 30367 30366 -3 1424 1539 2625 -3 5140 17015 17016 -3 2364 11563 13495 -3 15829 14486 1770 -3 590 1182 15825 -3 16049 16192 14814 -3 15640 15777 15776 -3 22029 21934 21935 -3 3399 3400 4412 -3 15376 15507 15506 -3 29558 35723 35657 -3 16853 16854 15695 -3 15772 2683 4279 -3 4811 4676 2043 -3 14726 4148 7090 -3 3485 5326 3588 -3 3484 3485 3588 -3 3588 5326 2611 -3 5461 6140 6269 -3 16501 16657 16656 -3 9062 16615 15538 -3 16500 16501 16656 -3 13495 9062 15538 -3 17233 17232 17068 -3 17069 17233 17068 -3 22126 22127 22222 -3 35938 1016 12555 -3 833 952 17766 -3 17834 17739 392 -3 17073 17072 16909 -3 16910 17073 16909 -3 10991 27 10023 -3 15635 5855 3209 -3 3608 6527 6402 -3 15432 2016 10212 -3 15062 15063 16691 -3 16696 6988 1889 -3 22711 22810 22809 -3 22514 22613 22612 -3 20265 16020 16021 -3 22052 15730 22044 -3 2500 16927 6889 -3 23006 23007 23104 -3 6855 13466 7403 -3 9248 9247 9138 -3 29122 19038 2407 -3 29653 29786 29785 -3 28810 28943 28189 -3 29013 17320 30758 -3 1023 23154 3054 -3 14808 2710 4547 -3 20206 20292 20205 -3 19630 21942 18262 -3 4143 3204 14802 -3 15467 15338 21203 -3 15692 16099 16101 -3 15506 15507 15641 -3 4811 4111 4500 -3 16254 272 2015 -3 22223 22319 22318 -3 4676 4811 4500 -3 4392 3592 3459 -3 2256 4266 1757 -3 3592 1370 1369 -3 3459 3592 1369 -3 3864 1624 1369 -3 1370 3864 1369 -3 3864 2476 1259 -3 1624 3864 1259 -3 3858 3726 1259 -3 2476 3858 1259 -3 930 5336 3726 -3 3858 930 3726 -3 930 1635 1636 -3 5336 930 1636 -3 1635 1265 1266 -3 1636 1635 1266 -3 194 30 1266 -3 1265 194 1266 -3 780 4921 30 -3 194 780 30 -3 4929 5064 4921 -3 780 4929 4921 -3 4639 1973 5064 -3 4929 4639 5064 -3 5468 1507 1973 -3 4639 5468 1973 -3 797 6394 1507 -3 5468 797 1507 -3 3047 3188 6394 -3 797 3047 6394 -3 18430 18402 3589 -3 3047 1031 3188 -3 16348 16501 16347 -3 35510 26498 35922 -3 19857 19655 2402 -3 4244 15172 16392 -3 12233 12234 12318 -3 160 11785 10957 -3 10708 8671 13219 -3 10687 10701 7445 -3 9675 14281 10039 -3 6509 9675 10039 -3 22713 22714 22812 -3 22711 22712 22810 -3 21403 21494 21970 -3 22065 21403 21970 -3 23005 23004 22905 -3 22707 22708 22806 -3 1893 1773 3222 -3 1658 25590 25731 -3 1893 5612 5477 -3 1773 1893 5477 -3 5612 4520 1412 -3 13121 14159 14063 -3 5477 5612 1412 -3 4520 6758 1505 -3 1412 4520 1505 -3 6758 2529 2394 -3 1505 6758 2394 -3 14753 14764 16390 -3 22712 22811 22810 -3 22811 22910 22909 -3 22810 22811 22909 -3 2529 2279 1659 -3 16615 15340 1564 -3 2394 2529 1659 -3 16013 2477 16154 -3 20433 20265 16021 -3 16460 14739 16533 -3 15600 19699 17796 -3 17186 5140 17016 -3 23011 23109 23010 -3 14814 15437 14654 -3 17015 1182 590 -3 16216 4136 3261 -3 20390 20391 20474 -3 2500 6889 8682 -3 3126 1327 3403 -3 14782 16388 16389 -3 22510 22609 22608 -3 15538 16615 1564 -3 15375 15376 15506 -3 1800 2043 4459 -3 12918 12558 20131 -3 23205 23204 23106 -3 1800 4811 2043 -3 21282 21283 13615 -3 22321 22320 22224 -3 35638 13304 35431 -3 23402 5566 9079 -3 24793 24110 24266 -3 28888 30480 35533 -3 16601 20315 12600 -3 21028 15630 23395 -3 17069 17068 16905 -3 16906 17069 16905 -3 21113 21112 21026 -3 13950 8257 14454 -3 15791 15545 16242 -3 35720 35829 35442 -3 17237 17236 17072 -3 17073 17237 17072 -3 35886 35403 35378 -3 6392 6264 15754 -3 35771 35837 11441 -3 15340 12896 22460 -3 16220 16256 15062 -3 15063 16696 16691 -3 14762 15589 15456 -3 4328 1798 4327 -3 20402 20399 13368 -3 20364 20402 13368 -3 2279 15222 15185 -3 1659 2279 15185 -3 2402 19467 19453 -3 22615 22614 22515 -3 19553 2820 19574 -3 18435 29122 2407 -3 7903 4516 7457 -3 30324 30457 30323 -3 4683 18485 18247 -3 9783 16448 23251 -3 17858 18595 34975 -3 28733 28729 29077 -3 2401 708 2936 -3 15642 15779 15778 -3 4111 3485 3484 -3 460 1524 14982 -3 20563 20574 21384 -3 4500 4111 3484 -3 1692 18893 1693 -3 14323 14432 13766 -3 907 3722 3592 -3 4392 907 3592 -3 3722 1141 1370 -3 3592 3722 1370 -3 1141 100 3864 -3 1370 1141 3864 -3 1142 2476 3864 -3 100 1142 3864 -3 1142 3990 3858 -3 2476 1142 3858 -3 3990 5471 930 -3 3858 3990 930 -3 5471 3186 1635 -3 930 5471 1635 -3 3186 1148 1265 -3 1635 3186 1265 -3 1148 4264 194 -3 1265 1148 194 -3 4264 779 780 -3 194 4264 780 -3 1518 4929 780 -3 779 1518 780 -3 4646 4639 4929 -3 1518 4646 4929 -3 107 5468 4639 -3 4646 107 4639 -3 3586 797 5468 -3 107 3586 5468 -3 2773 3047 797 -3 3586 2773 797 -3 911 1031 3047 -3 2773 911 3047 -3 108 42 1031 -3 911 108 1031 -3 5457 671 108 -3 108 671 42 -3 9445 11135 9641 -3 12234 12319 12318 -3 8579 6509 10591 -3 7445 8579 10591 -3 10701 3732 8579 -3 10817 9675 6509 -3 22615 22714 22614 -3 3732 10817 8579 -3 20704 20705 20786 -3 15222 16851 16844 -3 16205 16351 16350 -3 15185 15222 16844 -3 29769 29898 29768 -3 16204 16205 16350 -3 13655 2786 21146 -3 21483 17084 22830 -3 14055 16610 30772 -3 16851 14790 14731 -3 33374 33487 33373 -3 13025 35468 35918 -3 1564 15340 22460 -3 14281 2105 13768 -3 10708 10701 10687 -3 8579 10817 6509 -3 10039 14281 13768 -3 20708 20709 20790 -3 10708 10832 10701 -3 16844 16851 14731 -3 12896 20703 18808 -3 14790 17116 1604 -3 14731 14790 1604 -3 6120 5989 2895 -3 588 4002 2400 -3 5214 5080 3616 -3 1798 1916 4327 -3 5862 137 2662 -3 5728 5862 2662 -3 1327 1209 3403 -3 17016 17015 590 -3 16545 16699 1894 -3 14501 14580 14500 -3 21604 21673 12558 -3 3261 4136 1425 -3 16627 15305 6526 -3 22120 22119 35136 -3 30534 27055 27054 -3 15247 15248 15375 -3 13655 22461 2786 -3 21283 11710 13615 -3 11693 9773 13667 -3 4466 1800 4459 -3 2663 3479 15302 -3 13956 13858 15157 -3 2784 5412 2783 -3 22460 12896 18808 -3 15058 14692 16392 -3 17067 17231 17066 -3 5621 5622 3216 -3 28745 35818 35504 -3 23396 23395 23298 -3 30773 30217 19574 -3 16593 16748 16592 -3 16906 16905 16747 -3 13858 15155 15157 -3 12142 11561 11562 -3 2846 15545 15791 -3 31 2846 15791 -3 4330 4329 17236 -3 17237 4330 17236 -3 16244 16395 16846 -3 16243 16244 16846 -3 29561 28353 28879 -3 20703 20450 20409 -3 137 16256 16220 -3 2662 137 16220 -3 5080 5214 1916 -3 1798 5080 1916 -3 17816 2674 2673 -3 16017 12687 15877 -3 27407 26797 26930 -3 13466 19688 19577 -3 29273 26907 19576 -3 19039 28622 30734 -3 30083 6531 28019 -3 29800 29929 29799 -3 27759 28733 29077 -3 13561 13659 14907 -3 26848 26852 29014 -3 29138 17251 29143 -3 30559 19029 19093 -3 30771 6874 28729 -3 4366 3171 3845 -3 35670 14083 29006 -3 3171 5320 5455 -3 35500 35830 35705 -3 35815 35705 35437 -3 22344 21569 22442 -3 4512 335 907 -3 148 254 17526 -3 3854 3722 907 -3 335 3854 907 -3 3854 6794 1141 -3 3722 3854 1141 -3 71 100 1141 -3 6794 71 1141 -3 1139 1142 100 -3 71 1139 100 -3 1139 4124 3990 -3 1142 1139 3990 -3 4124 325 5471 -3 3990 4124 5471 -3 325 3045 3186 -3 5471 325 3186 -3 3045 1147 1148 -3 3186 3045 1148 -3 1147 4915 4264 -3 1148 1147 4264 -3 4915 785 779 -3 4264 4915 779 -3 785 3465 1518 -3 779 785 1518 -3 3465 2084 4646 -3 1518 3465 4646 -3 2084 122 107 -3 4646 2084 107 -3 122 2210 3586 -3 107 122 3586 -3 2909 2773 3586 -3 2210 2909 3586 -3 910 911 2773 -3 2909 910 2773 -3 154 108 911 -3 910 154 911 -3 5457 5322 470 -3 154 5457 108 -3 11806 13603 13520 -3 3594 13777 13309 -3 6509 10039 12294 -3 10591 6509 12294 -3 13410 10832 13111 -3 10832 3732 10701 -3 24433 23750 23989 -3 18808 20703 20409 -3 20829 20910 20909 -3 35811 35697 9749 -3 17116 14530 15431 -3 1604 17116 15431 -3 14530 1035 3886 -3 15431 14530 3886 -3 1035 14646 2981 -3 3886 1035 2981 -3 14646 16689 16690 -3 2981 14646 16690 -3 16689 15557 5409 -3 16690 16689 5409 -3 16351 16504 16503 -3 947 828 3868 -3 30671 24901 30536 -3 3361 17149 1639 -3 30487 35389 26686 -3 35389 35467 26686 -3 13410 13111 14075 -3 35479 28428 28308 -3 8671 10708 10687 -3 7072 13410 14075 -3 13111 10708 13219 -3 10701 8579 7445 -3 14214 14312 14213 -3 7072 14075 14311 -3 11889 12841 11724 -3 12038 13483 13387 -3 15557 15227 15059 -3 5409 15557 15059 -3 1741 3357 3219 -3 1610 1741 3219 -3 3617 2940 3616 -3 2940 3080 3616 -3 6128 4928 405 -3 302 5862 5728 -3 16158 14962 16302 -3 13384 16970 16969 -3 17191 16699 16545 -3 1924 17191 16545 -3 3852 3747 3746 -3 22509 22510 22608 -3 16638 16639 2265 -3 3 16627 16469 -3 16594 16593 16441 -3 20364 13368 13278 -3 21124 21123 20310 -3 11562 11561 13956 -3 16905 17068 16904 -3 20315 20310 12600 -3 15832 3479 2663 -3 15830 15832 2663 -3 20450 21220 21219 -3 20048 20049 20534 -3 19246 35363 27027 -3 18378 18175 19515 -3 35462 27286 35550 -3 26412 29132 19568 -3 32801 11728 32914 -3 14424 14423 14404 -3 16748 16906 16747 -3 32555 32554 32447 -3 14871 20057 168 -3 16440 25616 25615 -3 15545 1652 16242 -3 22461 14871 168 -3 2041 1453 4329 -3 1153 2846 31 -3 15753 5464 5597 -3 4330 2041 4329 -3 9783 15198 16448 -3 142 16244 16243 -3 16256 15063 15062 -3 17257 12422 25914 -3 5080 3617 3616 -3 14772 14771 14665 -3 27964 27965 28081 -3 28082 28199 28198 -3 31602 31601 31514 -3 34804 34803 34675 -3 27500 27618 27617 -3 19525 6152 19857 -3 17298 17816 2673 -3 28691 28692 28823 -3 30457 30591 30456 -3 17298 2673 2672 -3 18280 17298 2672 -3 35581 35760 12213 -3 26504 30559 19093 -3 4100 3030 3171 -3 4366 4100 3171 -3 3030 5186 5320 -3 3171 3030 5320 -3 5186 5605 4512 -3 5320 5186 4512 -3 5605 903 335 -3 4512 5605 335 -3 3986 3854 335 -3 903 3986 335 -3 6131 6794 3854 -3 3986 6131 3854 -3 6131 1762 71 -3 6794 6131 71 -3 1762 1021 1139 -3 71 1762 1139 -3 2880 1134 1021 -3 1139 1021 4124 -3 10866 4124 1021 -3 35452 35463 35567 -3 325 10975 1253 -3 325 1253 3045 -3 1253 3326 3045 -3 3045 3326 1147 -3 1146 2772 4915 -3 1147 1146 4915 -3 2772 786 785 -3 4915 2772 785 -3 786 3598 3465 -3 785 786 3465 -3 3598 2228 2084 -3 3465 3598 2084 -3 2228 1390 122 -3 2084 2228 122 -3 1847 2210 122 -3 1390 1847 122 -3 2908 2909 2210 -3 1847 2908 2210 -3 909 910 2909 -3 2908 909 2909 -3 1053 154 910 -3 909 1053 910 -3 5322 1053 17183 -3 188 1053 908 -3 13790 3967 3043 -3 2914 13790 3043 -3 10039 13768 10121 -3 13481 3449 1155 -3 13922 14020 13921 -3 14020 14118 14117 -3 11724 12038 13387 -3 8646 8754 8753 -3 29828 18906 35568 -3 27499 27500 27617 -3 14846 102 8010 -3 10832 10708 13111 -3 13824 13922 13823 -3 15227 15821 15822 -3 12294 10039 10121 -3 16062 16205 16204 -3 16350 16351 16503 -3 4412 4133 1880 -3 16061 16062 16204 -3 13726 13725 13627 -3 13628 13726 13627 -3 12571 12726 13379 -3 11723 14082 12367 -3 33377 33490 33376 -3 33870 33869 33735 -3 563 13091 562 -3 11415 11414 31407 -3 9975 13481 2366 -3 13529 13628 13627 -3 14312 7072 14311 -3 33609 33608 33489 -3 12818 12571 11249 -3 12726 9218 13379 -3 15059 15227 15822 -3 15821 15036 16823 -3 4415 1741 1610 -3 15822 15821 16823 -3 2940 5073 4803 -3 3357 14489 15565 -3 4928 302 405 -3 3080 2940 4803 -3 22155 22150 21215 -3 405 302 5728 -3 15179 15304 1924 -3 12631 23316 22935 -3 3599 3852 3746 -3 16699 142 1894 -3 16639 3 2265 -3 3747 5888 5887 -3 25614 16441 25615 -3 2265 3 16469 -3 13470 8573 13566 -3 16749 16748 16593 -3 17232 17231 17067 -3 23102 23103 23200 -3 16394 2797 15830 -3 17068 17232 17067 -3 9773 13666 13667 -3 3479 4147 15302 -3 15830 2663 467 -3 16601 12600 21090 -3 13290 11106 13960 -3 15831 15830 467 -3 22225 22224 22128 -3 22129 22225 22128 -3 14424 14450 14423 -3 23205 23303 23204 -3 33488 33487 33374 -3 15425 14925 15491 -3 16748 16747 16592 -3 20280 20288 21120 -3 23200 23201 23298 -3 12868 20965 22244 -3 1170 1153 31 -3 23005 23103 23004 -3 3852 3599 1453 -3 16469 16627 6526 -3 1894 142 16243 -3 2041 3852 1453 -3 24801 13664 13025 -3 7550 6379 6250 -3 23900 27531 29818 -3 35489 12288 11703 -3 34870 33337 34730 -3 6899 28944 19558 -3 27735 27734 27617 -3 27618 27735 27617 -3 27735 27850 27849 -3 10601 6006 12481 -3 29122 18435 27295 -3 30725 30724 30590 -3 21287 11449 11403 -3 23168 23169 30694 -3 20644 35561 10979 -3 30688 35498 35374 -3 4773 2890 3030 -3 4100 4773 3030 -3 2890 5052 5186 -3 3030 2890 5186 -3 3992 5605 5186 -3 5052 3992 5186 -3 3992 5063 903 -3 5605 3992 903 -3 4120 3986 903 -3 5063 4120 903 -3 4120 6382 6131 -3 3986 4120 6131 -3 6382 2880 1762 -3 6131 6382 1762 -3 1134 221 1135 -3 1762 2880 1021 -3 1247 1246 1130 -3 1247 1363 1246 -3 1131 1247 1130 -3 1363 1362 1246 -3 1479 1478 1362 -3 1363 1479 1362 -3 2332 2333 2466 -3 2602 2601 2466 -3 1146 1145 2772 -3 3326 7897 1146 -3 35547 34347 35637 -3 2772 577 786 -3 787 3466 3598 -3 786 787 3598 -3 3466 3719 2228 -3 3598 3466 2228 -3 3719 5867 1390 -3 2228 3719 1390 -3 5867 3187 1847 -3 1390 5867 1847 -3 3187 4930 2908 -3 1847 3187 2908 -3 4930 908 909 -3 2908 4930 909 -3 16692 188 134 -3 909 908 1053 -3 13198 13199 11134 -3 186 6520 8578 -3 3967 7704 10968 -3 3043 3967 10968 -3 2366 13481 1155 -3 10933 1616 4395 -3 8045 4542 4409 -3 9568 8045 4409 -3 21027 15456 15457 -3 20057 21050 14484 -3 11789 189 4100 -3 29515 29653 29652 -3 27027 28307 30824 -3 14020 14019 13921 -3 13824 13823 13725 -3 13768 9975 9859 -3 10121 13768 9859 -3 6255 1880 17395 -3 10458 5724 6011 -3 1880 156 89 -3 156 1880 6255 -3 15032 15884 12716 -3 23014 23112 23111 -3 20133 18526 19434 -3 35819 35503 35663 -3 13702 4119 794 -3 12049 12131 35708 -3 9218 12726 12133 -3 12640 12912 14164 -3 23029 22930 23321 -3 27734 27735 27849 -3 24682 24516 24801 -3 33265 33374 33264 -3 17303 17264 12903 -3 2204 2203 2074 -3 29420 29558 35657 -3 15036 4801 15756 -3 16823 15036 15756 -3 4801 15687 15553 -3 15756 4801 15553 -3 3536 3404 4414 -3 3404 4415 4414 -3 5073 15614 4803 -3 15614 14631 4803 -3 5623 3218 5622 -3 3218 4928 6128 -3 22125 22126 22221 -3 13429 11499 15082 -3 16784 15304 15179 -3 16785 16784 15179 -3 4769 4904 5887 -3 3746 3747 5887 -3 15495 15541 14955 -3 14985 16639 16638 -3 16907 16906 16748 -3 16594 16749 16593 -3 20472 20557 20471 -3 22127 22223 22222 -3 17232 4459 17231 -3 4459 4460 17231 -3 17187 2797 16394 -3 5141 17187 16394 -3 15630 21028 15864 -3 11946 16601 21090 -3 5144 5141 16253 -3 16394 15830 15831 -3 14740 17185 5139 -3 15381 15382 15512 -3 9749 12135 12120 -3 13228 13133 13229 -3 23009 23107 23008 -3 467 2663 15301 -3 15962 14522 15824 -3 928 22931 23421 -3 21948 21879 21120 -3 30346 27780 27868 -3 16593 16592 16440 -3 16592 16591 16439 -3 4118 35782 35823 -3 26619 26618 26516 -3 15305 1153 1170 -3 29564 26586 13391 -3 21740 21739 29811 -3 6526 15305 1170 -3 6024 6023 5891 -3 5892 6024 5891 -3 32047 32144 32046 -3 6024 6154 6023 -3 17667 26521 28874 -3 29082 30480 28888 -3 27850 27966 27965 -3 27849 27850 27965 -3 27966 28083 28082 -3 27434 21462 29823 -3 27965 27966 28082 -3 30502 27266 22942 -3 29550 29122 27295 -3 28969 29104 28968 -3 30827 17298 18280 -3 6393 4772 4773 -3 27638 27148 26480 -3 4772 5049 2890 -3 4773 4772 2890 -3 5049 2894 5052 -3 2890 5049 5052 -3 2894 3027 3992 -3 5052 2894 3992 -3 898 5063 3992 -3 3027 898 3992 -3 898 4253 4120 -3 5063 898 4120 -3 4253 17 6382 -3 4120 4253 6382 -3 17 221 2880 -3 6382 17 2880 -3 11711 17262 16464 -3 2880 221 1134 -3 1126 1242 1241 -3 14079 7997 13981 -3 13226 13227 1136 -3 1125 1126 1241 -3 1479 1595 1478 -3 1595 1594 1478 -3 2200 2201 2332 -3 2333 2467 2466 -3 1257 2749 3574 -3 951 1151 1373 -3 1242 1243 1358 -3 1475 1474 1358 -3 35570 33233 35764 -3 5681 18920 5815 -3 35197 17451 17372 -3 11202 9895 787 -3 2360 119 5867 -3 3719 2360 5867 -3 119 3851 3187 -3 5867 119 3187 -3 3851 5065 4930 -3 3187 3851 4930 -3 5065 789 908 -3 4930 5065 908 -3 35406 35645 35904 -3 908 789 188 -3 12820 13403 13198 -3 11965 12046 11134 -3 20673 18906 29828 -3 10968 7704 20 -3 9544 1616 10933 -3 9660 9544 10933 -3 14960 13335 14962 -3 13335 16165 20265 -3 33770 33769 33642 -3 7036 7037 312 -3 11129 13868 13769 -3 11703 11441 35837 -3 11644 11500 13317 -3 22618 22717 22617 -3 23029 21489 23024 -3 13726 13824 13725 -3 13922 13921 13823 -3 3449 2001 3999 -3 1155 3449 3999 -3 5599 156 3062 -3 3062 156 1411 -3 7465 3590 6126 -3 5599 89 156 -3 25066 12686 12596 -3 23223 23029 23321 -3 23880 24426 24110 -3 24793 23880 24110 -3 23880 24332 24327 -3 24426 23880 24327 -3 35833 35615 8670 -3 5560 35560 35392 -3 12004 12003 11919 -3 2639 9166 9058 -3 35763 35916 35891 -3 11798 12143 2388 -3 14312 14311 14213 -3 2360 3719 3466 -3 25217 4785 26260 -3 5434 5435 5274 -3 35490 35819 35738 -3 249 16043 15019 -3 20613 20614 20694 -3 14527 16552 14822 -3 15019 14527 14822 -3 16552 14350 16362 -3 3713 3404 3536 -3 14822 16552 16362 -3 15614 1738 1737 -3 4414 4415 1610 -3 3218 3217 5622 -3 14631 15614 1737 -3 27411 30633 29547 -3 3217 3218 6128 -3 1765 1068 16785 -3 15209 3668 16449 -3 5888 4769 5887 -3 15304 17191 1924 -3 15541 14985 14955 -3 4769 2657 2213 -3 16749 16907 16748 -3 14955 14985 16638 -3 15326 15455 9079 -3 17070 17069 16906 -3 2043 1919 4460 -3 11561 13858 13956 -3 1540 820 5141 -3 4459 2043 4460 -3 23299 23396 23298 -3 2797 15832 15830 -3 5141 16394 16253 -3 29224 29361 29223 -3 4818 18485 4683 -3 16253 16394 15831 -3 4684 4819 4818 -3 35611 35467 35828 -3 35588 35812 35811 -3 35923 35893 35718 -3 12455 1971 35797 -3 31168 31169 31232 -3 15732 928 23421 -3 2663 15302 15301 -3 17089 17088 16765 -3 22561 20194 3729 -3 35487 35800 26803 -3 4147 16695 16694 -3 21121 21948 21120 -3 16747 16746 16591 -3 21739 21740 21834 -3 2540 2672 21653 -3 17559 5760 5759 -3 23323 23129 23420 -3 6025 6024 5892 -3 5893 6025 5892 -3 6155 6154 6024 -3 6025 6155 6024 -3 6155 6284 6283 -3 11364 35943 9900 -3 26802 684 27758 -3 28346 35896 35544 -3 28083 28200 28199 -3 28082 28083 28199 -3 24137 24570 30765 -3 461 457 6729 -3 28136 27058 27057 -3 30826 30827 18280 -3 29916 29917 30047 -3 29104 29241 29240 -3 6543 4771 4772 -3 6393 4773 189 -3 4771 5719 5049 -3 4772 4771 5049 -3 5719 3033 2894 -3 5049 5719 2894 -3 133 3027 2894 -3 3033 133 2894 -3 133 5197 898 -3 3027 133 898 -3 5197 4386 4253 -3 898 5197 4253 -3 4386 337 17 -3 4253 4386 17 -3 337 6798 221 -3 17 337 221 -3 3555 3685 3554 -3 10597 337 6795 -3 659 7367 7479 -3 4757 4758 4892 -3 6362 6363 6489 -3 1007 1008 1125 -3 1595 1712 1594 -3 1712 8587 8586 -3 2072 2201 2071 -3 2201 2333 2332 -3 2749 4242 3581 -3 1373 1257 3574 -3 1126 1127 1242 -3 1243 1359 1358 -3 24332 25620 25619 -3 1276 1392 1275 -3 3428 3427 3288 -3 4216 4349 4348 -3 2360 459 119 -3 27297 11920 11832 -3 68 3983 3851 -3 119 68 3851 -3 3983 5199 5065 -3 3851 3983 5065 -3 5199 788 789 -3 5065 5199 789 -3 35615 35675 11976 -3 789 788 134 -3 12054 13403 12820 -3 13199 5418 11134 -3 12497 12587 12496 -3 12677 12676 12586 -3 1616 3712 4395 -3 12209 3059 11060 -3 11136 12277 10500 -3 448 11136 10500 -3 13976 11309 11084 -3 35926 35517 35596 -3 11920 12004 11919 -3 32838 32946 32837 -3 28109 28226 24922 -3 12167 12166 12084 -3 13017 20485 21497 -3 33157 33158 33262 -3 2001 13238 13891 -3 13891 13238 9660 -3 3999 2001 13891 -3 13238 9544 9660 -3 35361 35432 35355 -3 1294 13790 2914 -3 15352 16986 16362 -3 5456 15553 15687 -3 12506 12596 12505 -3 12596 12686 12685 -3 21264 28195 21353 -3 12250 12249 12166 -3 13590 13210 12752 -3 13225 10004 13610 -3 6730 461 6729 -3 5839 5971 5838 -3 1395 1511 1394 -3 1627 1626 1510 -3 3014 3015 3156 -3 3686 3818 3685 -3 23712 28109 24922 -3 14350 15352 16362 -3 5724 11196 9689 -3 4117 3713 3536 -3 2053 4284 4283 -3 1185 96 222 -3 35760 35367 35936 -3 14988 15110 7876 -3 16703 3491 15266 -3 15009 15132 15131 -3 15008 15009 15131 -3 2844 14409 15682 -3 14409 2844 15934 -3 15972 15815 1299 -3 20409 20450 21219 -3 2393 16806 16493 -3 1738 2393 2259 -3 5350 5623 5622 -3 260 5350 5622 -3 20947 15064 23417 -3 28200 28317 28316 -3 16646 16647 1765 -3 1068 16784 16785 -3 2657 918 917 -3 4904 4769 2213 -3 2526 15541 15495 -3 2391 2526 15495 -3 17234 17233 17069 -3 16907 17070 16906 -3 13525 21283 15599 -3 22030 22031 22126 -3 2043 4676 1919 -3 4676 4677 1919 -3 16335 17122 1540 -3 820 17187 5141 -3 25130 35368 35729 -3 29549 27294 6990 -3 16897 16896 16738 -3 1540 5141 5144 -3 4551 4685 4684 -3 19246 21375 35415 -3 4685 4820 4819 -3 4684 4685 4819 -3 4820 4955 4954 -3 4819 4820 4954 -3 17450 17372 17451 -3 35693 35832 30214 -3 9921 35882 12120 -3 18526 15262 15135 -3 19431 19551 4684 -3 5224 5359 5223 -3 15302 4147 16694 -3 29495 35486 35531 -3 16592 16747 16591 -3 22932 23031 12545 -3 23201 23299 23298 -3 16905 16904 16746 -3 2142 19047 19048 -3 23031 23129 13007 -3 6026 6025 5893 -3 5894 6026 5893 -3 6156 6155 6025 -3 6026 6156 6025 -3 6285 6284 6155 -3 6156 6285 6155 -3 6285 6412 6411 -3 6284 6285 6411 -3 28199 28200 28316 -3 35422 35593 35840 -3 5839 5838 5704 -3 5439 5573 5572 -3 12543 11648 7414 -3 881 882 1000 -3 30048 30180 30047 -3 28578 28455 21362 -3 4770 4771 6543 -3 13216 25152 6393 -3 5852 5719 4771 -3 4770 5852 4771 -3 3174 3033 5719 -3 5852 3174 5719 -3 1055 133 3033 -3 3174 1055 3033 -3 1055 2770 5197 -3 133 1055 5197 -3 2770 4654 4386 -3 5197 2770 4386 -3 4654 6795 337 -3 4386 4654 337 -3 5037 5172 5171 -3 11227 10969 6795 -3 5036 5037 5171 -3 5172 5306 5305 -3 7478 778 659 -3 35686 35699 27755 -3 6233 6234 6362 -3 6491 7648 6490 -3 217 3166 5590 -3 696 902 4919 -3 1947 2072 1946 -3 2201 2200 2071 -3 4242 2619 2755 -3 3574 2749 3581 -3 1008 1009 1126 -3 1127 1243 1242 -3 12335 12250 27993 -3 11919 11918 11832 -3 12167 27762 27877 -3 2647 2648 2782 -3 13713 10500 13995 -3 26686 35467 28944 -3 28992 30216 35657 -3 9308 10722 9196 -3 35806 23959 24682 -3 3983 2083 5199 -3 459 8128 68 -3 119 459 68 -3 11581 32249 11582 -3 35888 35401 35748 -3 12205 12054 12820 -3 2920 2784 17159 -3 12209 4123 4389 -3 13403 13199 13198 -3 34414 34413 34275 -3 11100 12209 11060 -3 11136 6957 13027 -3 12277 11136 13027 -3 9635 24842 24482 -3 25269 13590 12752 -3 20662 20647 371 -3 24232 24680 13804 -3 12417 12506 12416 -3 12596 12595 12505 -3 6662 5204 3582 -3 3712 6662 9335 -3 13772 8085 13702 -3 13997 13996 8570 -3 13674 13772 13702 -3 4119 1294 2914 -3 14115 14114 14016 -3 4395 3712 9335 -3 11594 11526 26831 -3 12595 12596 12685 -3 24327 24332 25619 -3 30555 30601 27379 -3 27317 12102 12101 -3 20206 20205 17600 -3 5708 5842 5707 -3 1511 1510 1394 -3 5974 6106 5973 -3 1744 1743 1626 -3 1511 1627 1510 -3 20474 20559 20473 -3 1627 1744 1626 -3 35904 12121 35814 -3 11311 5583 7177 -3 1612 5752 1611 -3 389 279 5753 -3 673 3487 3355 -3 14807 1768 15972 -3 15295 15422 16036 -3 14601 1768 14807 -3 3076 15265 14785 -3 976 15684 15683 -3 4270 976 15683 -3 22509 22608 22607 -3 3483 2844 15683 -3 9632 111 10119 -3 14672 14671 14579 -3 16031 15929 15790 -3 5210 15422 15295 -3 5484 5210 15295 -3 16493 16806 15109 -3 2259 2393 16493 -3 4325 1799 4331 -3 5350 260 1683 -3 22315 22412 22314 -3 12803 12142 11205 -3 14995 16647 16646 -3 14987 14995 16646 -3 918 241 2661 -3 2213 2657 917 -3 3167 3455 4534 -3 6009 2526 2391 -3 4465 4466 17233 -3 17070 17234 17069 -3 21283 21282 15599 -3 19193 20134 30602 -3 4676 4500 4677 -3 4500 4142 4677 -3 5610 17122 16335 -3 5475 5610 16335 -3 16149 25617 16292 -3 21741 21835 21740 -3 15547 1540 5144 -3 6772 5475 15158 -3 18045 4551 19551 -3 4638 4535 2525 -3 4686 4821 4820 -3 4685 4686 4820 -3 4821 4956 4955 -3 4820 4821 4955 -3 4956 5091 5090 -3 4955 4956 5090 -3 5225 5224 5090 -3 5091 5225 5090 -3 5360 5359 5224 -3 5225 5360 5224 -3 5494 5493 5359 -3 5360 5494 5359 -3 19700 27780 30480 -3 5494 5629 5493 -3 16747 16905 16746 -3 2152 19163 2023 -3 12288 9633 13306 -3 17068 17067 16904 -3 6027 6026 5894 -3 5895 6027 5894 -3 6157 6156 6026 -3 6027 6157 6026 -3 6286 6285 6156 -3 6157 6286 6156 -3 6413 6412 6285 -3 6286 6413 6285 -3 35701 35354 35889 -3 6412 6413 6538 -3 5842 5841 5707 -3 1162 1163 1278 -3 6106 6105 5973 -3 28197 28314 28196 -3 1279 1395 1394 -3 4099 4770 1167 -3 21488 35575 35548 -3 5983 5852 4770 -3 27550 30219 30086 -3 3314 3174 5852 -3 5983 3314 5852 -3 5871 1055 3174 -3 3314 5871 3174 -3 5871 2635 2770 -3 1055 5871 2770 -3 2368 8841 2236 -3 2770 2635 4654 -3 4750 4751 4885 -3 28591 22236 17388 -3 6259 784 450 -3 457 6259 450 -3 4902 5037 5036 -3 4901 4902 5036 -3 1001 1002 1119 -3 4756 4891 4890 -3 6104 6234 6103 -3 6234 6363 6362 -3 4919 217 5590 -3 3821 3822 3953 -3 1827 1947 1826 -3 2072 2071 1946 -3 2619 2217 2216 -3 3581 4242 2755 -3 770 771 889 -3 1009 1127 1126 -3 652 653 770 -3 890 1009 1008 -3 537 538 652 -3 771 890 889 -3 424 538 423 -3 653 771 770 -3 313 314 423 -3 538 653 652 -3 35550 30072 30423 -3 538 537 423 -3 35736 35417 35668 -3 314 424 423 -3 4648 6634 3991 -3 11227 4654 9572 -3 5418 11965 11134 -3 16092 13716 13715 -3 3059 12209 4389 -3 4123 4926 4791 -3 11665 11664 11589 -3 13020 7467 7810 -3 12163 12246 12162 -3 12331 12330 12245 -3 14021 14022 14119 -3 33262 33263 33371 -3 18916 19167 19114 -3 21747 21838 17256 -3 11524 11591 11523 -3 11666 11665 11590 -3 35785 35581 12384 -3 9335 6662 3582 -3 10467 13996 10564 -3 13996 10118 8570 -3 8085 1294 4119 -3 13702 8085 4119 -3 13812 13813 13910 -3 14115 14211 14210 -3 6106 6236 6105 -3 14114 14115 14210 -3 6236 6365 6235 -3 6236 6235 6105 -3 6744 1642 6743 -3 9813 9812 9697 -3 6365 6364 6235 -3 4896 4897 5031 -3 1044 1045 1162 -3 1163 1279 1278 -3 12506 12505 12416 -3 4494 4628 4627 -3 12081 12163 12080 -3 12331 12417 12330 -3 22134 22231 22230 -3 20955 21038 21037 -3 21220 22251 22237 -3 21219 21220 22237 -3 19138 7289 27867 -3 14611 2020 5430 -3 1768 15815 15972 -3 16036 14601 14807 -3 1737 1738 2259 -3 20563 21384 21383 -3 16665 1561 5484 -3 14739 13786 16533 -3 13786 14253 14157 -3 9400 20242 20157 -3 13865 9568 15731 -3 14236 4196 13085 -3 1561 5210 5484 -3 2623 14236 13085 -3 15116 16780 16709 -3 15422 14601 16036 -3 1799 1683 4331 -3 15109 15116 16709 -3 15064 21866 23227 -3 1799 5350 1683 -3 15628 15660 14987 -3 25607 16755 16754 -3 917 918 2661 -3 16647 1068 1765 -3 3455 6009 4534 -3 241 15628 15568 -3 17234 4465 17233 -3 4534 6009 2391 -3 22251 10962 98 -3 1684 1800 4466 -3 4500 3484 3613 -3 23401 23402 9079 -3 16516 16550 5475 -3 4142 4500 3613 -3 21862 15729 1034 -3 17122 820 1540 -3 5475 16335 15158 -3 16591 16590 16438 -3 16335 1540 15547 -3 15158 16335 15547 -3 2660 15053 15022 -3 2525 2660 15022 -3 4822 4821 4686 -3 18045 4685 4551 -3 4822 4957 4956 -3 4821 4822 4956 -3 4957 5092 5091 -3 4956 4957 5091 -3 5226 5225 5091 -3 5092 5226 5091 -3 5361 5360 5225 -3 5226 5361 5225 -3 5495 5494 5360 -3 5361 5495 5360 -3 5630 5629 5494 -3 5495 5630 5494 -3 5764 5763 5629 -3 5630 5764 5629 -3 5896 5895 5763 -3 5764 5896 5763 -3 6028 6027 5895 -3 5896 6028 5895 -3 6158 6157 6027 -3 6028 6158 6027 -3 6287 6286 6157 -3 6158 6287 6157 -3 6414 6413 6286 -3 6287 6414 6286 -3 619 33347 23272 -3 6631 9547 6755 -3 5032 5167 5166 -3 1628 1627 1511 -3 1278 1279 1394 -3 35593 35874 35760 -3 1248 1364 1247 -3 3571 2747 2748 -3 4090 4091 4223 -3 2601 2600 2465 -3 14271 35480 12214 -3 2329 2463 2462 -3 35798 35602 35447 -3 24994 35725 35634 -3 14170 11003 14165 -3 6250 9509 7550 -3 1864 1863 1746 -3 13981 14170 12123 -3 1586 1585 1469 -3 11060 3059 7763 -3 764 883 882 -3 646 764 645 -3 4767 4902 4901 -3 4766 4767 4901 -3 4353 4487 4486 -3 5172 5173 5306 -3 5972 6104 5971 -3 6234 6233 6103 -3 3954 4088 4087 -3 4621 4755 4754 -3 35617 35748 35640 -3 1947 1946 1826 -3 2217 5860 5991 -3 2755 2619 2216 -3 5060 9628 10772 -3 889 890 1008 -3 1483 3593 1484 -3 11917 11916 11830 -3 12635 13003 12458 -3 9641 12629 7932 -3 7997 13895 11003 -3 14170 7997 11003 -3 35808 35698 35554 -3 23251 16448 23349 -3 22237 22251 98 -3 13495 12284 12839 -3 33233 35570 33930 -3 35377 35428 35660 -3 670 67 6634 -3 35431 35482 35751 -3 35349 35569 35410 -3 3029 218 791 -3 4389 4123 4791 -3 4926 13772 13674 -3 14201 14299 14298 -3 10004 13225 11857 -3 12000 12081 11999 -3 12246 12331 12245 -3 13495 15538 3066 -3 12081 12080 11999 -3 2364 13495 12839 -3 2364 12839 7437 -3 31367 31434 31366 -3 13245 13151 13246 -3 11916 12000 11915 -3 11591 11666 11590 -3 22821 22820 22721 -3 7324 3057 3201 -3 25620 24536 23595 -3 11786 12732 12638 -3 1512 1628 1511 -3 9544 2902 1616 -3 1280 1396 1279 -3 1512 1511 1395 -3 1163 1164 1279 -3 1396 1512 1395 -3 1045 1046 1163 -3 35881 35378 35835 -3 22809 22810 22908 -3 1396 1395 1279 -3 11100 11060 13584 -3 16303 14960 14962 -3 3582 5204 9452 -3 5434 5433 5299 -3 11830 11916 11829 -3 12246 12245 12162 -3 13343 13342 13246 -3 13247 13343 13246 -3 22318 22415 22317 -3 23105 23203 23202 -3 679 2925 16665 -3 23104 23105 23202 -3 5627 2925 679 -3 4541 5627 679 -3 16806 15116 15109 -3 2925 1561 16665 -3 16032 14722 1500 -3 17023 5627 4541 -3 20980 13422 17129 -3 12392 35793 11627 -3 22807 22906 22905 -3 8239 10012 9553 -3 2017 1893 1658 -3 25619 25620 23595 -3 17113 14722 16032 -3 17114 17113 16032 -3 16709 16780 14414 -3 16780 14436 14414 -3 17079 17243 17078 -3 4325 4331 17242 -3 17077 17076 16913 -3 22906 23005 22905 -3 698 15660 15628 -3 241 698 15628 -3 15628 14987 14986 -3 2661 241 15568 -3 5885 5886 2346 -3 2610 3455 3167 -3 224 4811 1800 -3 4465 1684 4466 -3 16388 3352 16389 -3 3398 3399 4413 -3 3588 2611 1735 -3 3484 3588 905 -3 15053 15057 14946 -3 14952 16550 16516 -3 16746 16745 16590 -3 16439 16591 16438 -3 14944 14946 16511 -3 16516 5475 6772 -3 15053 14946 14944 -3 4461 2171 4462 -3 15022 15053 14944 -3 14946 16516 16511 -3 23959 35806 11725 -3 22025 22121 22120 -3 4958 4957 4822 -3 4823 4958 4822 -3 4958 5093 5092 -3 4957 4958 5092 -3 5093 5227 5226 -3 5092 5093 5226 -3 5362 5361 5226 -3 5227 5362 5226 -3 5496 5495 5361 -3 5362 5496 5361 -3 5631 5630 5495 -3 5496 5631 5495 -3 5765 5764 5630 -3 5631 5765 5630 -3 5897 5896 5764 -3 5765 5897 5764 -3 6029 6028 5896 -3 5897 6029 5896 -3 6159 6158 6028 -3 6029 6159 6028 -3 6288 6287 6158 -3 6159 6288 6158 -3 6415 6414 6287 -3 6288 6415 6287 -3 34292 34430 34291 -3 33862 33861 33727 -3 1164 1280 1279 -3 35685 35934 35883 -3 1046 1164 1163 -3 1045 1163 1162 -3 25051 19916 19915 -3 12080 12162 12079 -3 1630 1629 1513 -3 2466 2601 2465 -3 3159 4109 4242 -3 2328 2329 2462 -3 2598 2597 2462 -3 12678 12679 12767 -3 12055 12136 12827 -3 35715 35355 35937 -3 1165 1166 1281 -3 3557 3556 3423 -3 3687 3819 3818 -3 1820 1940 1939 -3 1819 1820 1939 -3 5185 2757 3580 -3 2096 2095 1956 -3 11362 35396 14285 -3 4632 11014 11015 -3 5307 5442 5441 -3 1015 1133 1014 -3 5840 5972 5839 -3 6104 6103 5971 -3 35831 35499 13100 -3 2203 2202 2073 -3 1593 1710 1592 -3 1827 1826 1709 -3 5860 1483 1484 -3 2216 2217 5991 -3 892 1011 891 -3 16945 3593 3460 -3 773 892 772 -3 1129 1128 1010 -3 654 655 772 -3 1011 1010 891 -3 540 655 539 -3 892 891 772 -3 426 540 425 -3 655 773 772 -3 7040 315 7039 -3 655 654 539 -3 316 426 425 -3 540 539 425 -3 669 218 67 -3 35656 35651 35864 -3 35812 35362 35697 -3 67 218 3029 -3 12363 12375 8570 -3 14298 6511 14297 -3 12766 12858 12857 -3 13799 5723 2091 -3 11746 11830 11745 -3 12163 12162 12080 -3 13438 13437 13342 -3 13343 13438 13342 -3 13534 13533 13437 -3 13438 13534 13437 -3 13632 13631 13533 -3 13534 13632 13533 -3 11746 11745 11665 -3 11830 11829 11745 -3 13974 11528 12932 -3 11666 11746 11665 -3 2777 2778 2442 -3 35865 35788 35682 -3 1514 1513 1397 -3 927 1046 1045 -3 1125 1124 1006 -3 3559 3560 3689 -3 5156 5290 5289 -3 6608 6733 6732 -3 3999 13891 13239 -3 1622 10968 4104 -3 12223 11503 3967 -3 13790 12223 3967 -3 10118 12363 8570 -3 14180 11100 13584 -3 12329 12415 12328 -3 12153 12236 12152 -3 13923 13924 14021 -3 12000 11999 11915 -3 13730 13729 13631 -3 13632 13730 13631 -3 5746 5612 1893 -3 2017 5746 1893 -3 5746 4 4520 -3 14653 17113 17114 -3 5612 5746 4520 -3 1500 17023 4541 -3 14652 14653 17114 -3 4 5866 6758 -3 16805 16822 14652 -3 4520 4 6758 -3 5866 354 2529 -3 6758 5866 2529 -3 354 4275 2279 -3 2529 354 2279 -3 16822 14653 14652 -3 4275 15235 15222 -3 14436 3267 497 -3 14722 17023 1500 -3 17243 17242 17078 -3 14414 14436 497 -3 16914 17077 16913 -3 17243 4325 17242 -3 918 1405 241 -3 17241 17240 17076 -3 15568 15628 14986 -3 15660 14995 14987 -3 5886 2610 2346 -3 14987 16646 16640 -3 1684 224 1800 -3 2346 2610 3167 -3 8116 20723 17722 -3 224 4010 4111 -3 3613 3484 905 -3 10962 21295 21286 -3 14946 14952 16516 -3 905 3588 1735 -3 16591 16746 16590 -3 16550 5610 5475 -3 19103 19537 35696 -3 16904 16903 16745 -3 4420 18594 18716 -3 16511 16516 6772 -3 4555 4689 19228 -3 16170 4554 19228 -3 16438 16437 16292 -3 16438 16590 16437 -3 23926 26555 26253 -3 16590 16589 16437 -3 4959 4958 4823 -3 2169 2040 19175 -3 5094 5093 4958 -3 4959 5094 4958 -3 5228 5227 5093 -3 5094 5228 5093 -3 5228 5363 5362 -3 5227 5228 5362 -3 5363 5497 5496 -3 5362 5363 5496 -3 5632 5631 5496 -3 5497 5632 5496 -3 5766 5765 5631 -3 5632 5766 5631 -3 5898 5897 5765 -3 5766 5898 5765 -3 6030 6029 5897 -3 5898 6030 5897 -3 6160 6159 6029 -3 6030 6160 6029 -3 6289 6288 6159 -3 6160 6289 6159 -3 6416 6415 6288 -3 6289 6416 6288 -3 35941 35394 35502 -3 834 835 8006 -3 4758 4893 4892 -3 3291 3430 3290 -3 2490 6248 9448 -3 3430 3563 3429 -3 5289 5424 5288 -3 1588 1705 1704 -3 8906 6246 6245 -3 5580 5715 5714 -3 1151 1495 1257 -3 4360 4494 4493 -3 2733 2732 2597 -3 2598 2733 2597 -3 6486 6612 6485 -3 3429 3428 3289 -3 6612 6737 6736 -3 3290 3429 3289 -3 4615 4616 4749 -3 4616 4750 4749 -3 4219 4352 4351 -3 4219 4218 4085 -3 418 532 531 -3 1237 1353 1352 -3 2592 2593 2727 -3 1468 1467 1351 -3 7936 1250 7935 -3 4394 4261 10563 -3 5706 5840 5705 -3 5972 5971 5839 -3 2202 2203 2334 -3 2203 2335 2334 -3 1477 1476 1360 -3 1361 1477 1360 -3 1245 1244 1128 -3 5991 5860 1484 -3 1594 1593 1477 -3 1011 1129 1010 -3 1246 1362 1245 -3 1478 1594 1477 -3 1478 1477 1361 -3 1362 1478 1361 -3 8585 1711 8586 -3 1594 1711 1593 -3 3690 3822 3821 -3 3689 3690 3821 -3 35868 35411 35360 -3 3822 3954 3953 -3 2073 2072 1947 -3 1948 1827 8585 -3 35393 35575 35352 -3 35541 35761 35543 -3 10485 516 4917 -3 218 516 791 -3 8637 8744 2118 -3 13888 287 13493 -3 13727 13825 13726 -3 12660 3340 12659 -3 35372 35720 35459 -3 11916 11915 11829 -3 13828 13827 13729 -3 13730 13828 13729 -3 13926 13925 13827 -3 13828 13926 13827 -3 13926 14024 14023 -3 13925 13926 14023 -3 14024 14122 14121 -3 14023 14024 14121 -3 9063 20781 20782 -3 31049 31111 31110 -3 30930 30988 30929 -3 14218 14217 14121 -3 10721 13884 9789 -3 13716 13717 13815 -3 14122 14218 14121 -3 7681 10933 4245 -3 219 3999 13239 -3 14316 14315 14217 -3 11503 9741 7704 -3 14180 13584 12375 -3 12363 14180 12375 -3 12161 12244 12160 -3 12504 12503 12414 -3 12224 9639 9743 -3 14022 14120 14119 -3 3829 3697 3830 -3 2279 4275 15222 -3 15235 16859 16851 -3 15222 15235 16851 -3 16859 14806 14790 -3 16851 16859 14790 -3 14806 3797 17116 -3 1829 3316 243 -3 14790 14806 17116 -3 677 14491 1829 -3 3316 138 243 -3 3797 14940 14530 -3 17116 3797 14530 -3 14940 3885 1035 -3 14530 14940 1035 -3 3885 5407 14646 -3 4675 4810 1566 -3 1035 3885 14646 -3 223 2625 677 -3 14491 3316 1829 -3 17176 5482 3121 -3 3267 3350 15413 -3 17079 17078 16915 -3 16914 25605 25604 -3 4198 4199 17240 -3 17077 17241 17076 -3 2657 6515 918 -3 1405 698 241 -3 16646 1765 826 -3 14986 14987 16640 -3 16739 16738 16583 -3 3877 5886 5885 -3 20093 15024 17101 -3 14679 14787 25 -3 4792 11500 11644 -3 17802 17899 20478 -3 3756 3888 3887 -3 4021 19125 3887 -3 3888 4022 4021 -3 27149 27870 35699 -3 4022 4155 4154 -3 18759 18758 18660 -3 4155 4288 4287 -3 4154 4155 4287 -3 4288 4422 4421 -3 4287 4288 4421 -3 4422 4556 4555 -3 4421 4422 4555 -3 25130 13590 25268 -3 4556 4690 4555 -3 5269 18206 5404 -3 4690 4825 4689 -3 4960 4959 4824 -3 4825 4960 4824 -3 5095 5094 4959 -3 4960 5095 4959 -3 5229 5228 5094 -3 5095 5229 5094 -3 5364 5363 5228 -3 5229 5364 5228 -3 5498 5497 5363 -3 5364 5498 5363 -3 5633 5632 5497 -3 5498 5633 5497 -3 5767 5766 5632 -3 5633 5767 5632 -3 5899 5898 5766 -3 5767 5899 5766 -3 6031 6030 5898 -3 5899 6031 5898 -3 6161 6160 6030 -3 6031 6161 6030 -3 6290 6289 6160 -3 6161 6290 6160 -3 6417 6544 8011 -3 6290 6417 6289 -3 2736 2735 2600 -3 415 528 414 -3 3430 3429 3290 -3 4913 4778 11282 -3 3563 3693 3562 -3 3563 3562 3429 -3 1705 1706 1822 -3 1862 1861 1744 -3 5715 5849 5848 -3 1823 1943 1942 -3 5033 5034 5168 -3 30180 30179 30047 -3 11456 11457 11520 -3 4899 5034 5033 -3 13827 13925 13826 -3 2869 2868 2732 -3 1592 1709 1591 -3 1709 1708 1591 -3 4618 4752 4751 -3 2457 2458 2592 -3 2097 2226 1954 -3 1953 2097 1954 -3 1702 1819 1818 -3 1584 1585 1701 -3 2863 2864 3002 -3 3003 3144 3143 -3 1015 7820 7935 -3 1482 1481 1365 -3 5571 5706 5570 -3 5840 5839 5705 -3 2334 2335 2468 -3 2335 2469 2468 -3 1477 1593 1476 -3 1593 1592 1476 -3 1246 1245 1129 -3 1129 1245 1128 -3 3567 3697 3696 -3 1130 1246 1129 -3 3434 3567 3566 -3 3566 3567 3696 -3 3295 3434 3433 -3 3433 3434 3566 -3 3155 3295 3294 -3 3294 3295 3433 -3 3014 3013 2874 -3 3154 3155 3294 -3 2604 2739 2603 -3 2875 3014 2874 -3 2875 2874 2738 -3 2739 2875 2738 -3 3155 3154 3013 -3 3014 3155 3013 -3 190 3571 3962 -3 4628 4629 4762 -3 35542 35915 29221 -3 3688 3820 3819 -3 11130 29 12662 -3 12046 13775 12128 -3 98 10962 21286 -3 11591 11590 11523 -3 14218 14316 14217 -3 10728 9313 14315 -3 14316 10728 14315 -3 12940 11837 9313 -3 10728 12940 9313 -3 12940 9657 11262 -3 11837 12940 11262 -3 11210 10117 10460 -3 10722 11210 10460 -3 11210 7699 8441 -3 10117 11210 8441 -3 7699 7574 8774 -3 10968 20 4104 -3 7704 7878 20 -3 13353 13354 13448 -3 12244 12329 12243 -3 4123 3989 4926 -3 13552 13551 13455 -3 5407 16536 16689 -3 14646 5407 16689 -3 16536 15558 15557 -3 3402 15162 15144 -3 3265 3402 15144 -3 16689 16536 15557 -3 138 3402 3265 -3 15558 14717 15227 -3 15557 15558 15227 -3 14717 15820 15821 -3 15227 14717 15821 -3 1424 2625 252 -3 14914 15036 15821 -3 15820 14914 15821 -3 5066 4801 15036 -3 14914 5066 15036 -3 16476 15687 4801 -3 5066 16476 4801 -3 35405 28993 35369 -3 16476 1213 15687 -3 3490 3358 252 -3 2625 223 252 -3 5482 14735 15556 -3 17013 17176 3121 -3 22026 22027 22122 -3 21764 13425 20065 -3 1567 1452 4199 -3 17241 4198 17240 -3 4769 1734 2657 -3 6515 1405 918 -3 1765 16785 16626 -3 16640 16646 826 -3 16584 16583 16431 -3 4010 3877 5885 -3 6280 21328 21858 -3 14996 15119 15118 -3 32528 32529 32637 -3 31300 31367 31299 -3 3757 3889 3888 -3 5331 3756 3755 -3 3889 4023 4022 -3 3888 3889 4022 -3 4023 4156 4155 -3 4022 4023 4155 -3 4156 4289 4288 -3 4155 4156 4288 -3 4289 4423 4422 -3 4288 4289 4422 -3 4423 4557 4556 -3 4422 4423 4556 -3 4691 4690 4556 -3 4557 4691 4556 -3 4826 4825 4690 -3 4691 4826 4690 -3 4961 4960 4825 -3 4826 4961 4825 -3 5096 5095 4960 -3 4961 5096 4960 -3 5230 5229 5095 -3 5096 5230 5095 -3 5365 5364 5229 -3 5230 5365 5229 -3 5499 5498 5364 -3 5365 5499 5364 -3 5499 5634 5633 -3 5498 5499 5633 -3 5768 5767 5633 -3 5634 5768 5633 -3 5900 5899 5767 -3 5768 5900 5767 -3 6032 6031 5899 -3 5900 6032 5899 -3 6162 6161 6031 -3 6032 6162 6031 -3 6291 6290 6161 -3 6162 6291 6161 -3 6418 6417 6290 -3 6291 6418 6290 -3 31169 31233 31232 -3 13721 13720 13622 -3 4777 4778 4912 -3 5047 5048 5182 -3 5875 9431 13988 -3 5846 5978 5977 -3 4753 4754 4888 -3 5165 5299 5298 -3 1822 1823 1942 -3 2748 2747 2075 -3 35402 35586 35422 -3 31458 31530 31457 -3 4226 4227 4359 -3 26701 26596 22777 -3 26847 11673 11754 -3 887 888 1006 -3 13771 5060 10772 -3 1608 3460 1483 -3 28346 35544 35619 -3 1133 1132 1014 -3 3953 4087 4086 -3 3689 3821 3820 -3 1585 1584 1468 -3 1353 1469 1352 -3 2864 3003 3002 -3 4483 4484 4617 -3 8269 1482 8161 -3 1598 1597 1481 -3 5436 5437 5570 -3 5706 5705 5570 -3 656 655 540 -3 426 427 540 -3 1361 1360 1244 -3 1710 1709 1592 -3 1012 1130 1011 -3 1362 1361 1245 -3 3830 10395 3829 -3 3697 3829 3696 -3 1818 1938 1817 -3 2063 2062 1937 -3 1956 1957 2757 -3 2593 2728 2727 -3 4632 4766 4765 -3 9657 7772 11320 -3 4766 4901 4900 -3 4765 4766 4900 -3 4901 5036 5035 -3 5036 5171 5170 -3 21107 21196 21195 -3 4900 4901 5035 -3 1584 1583 1467 -3 2226 2096 1955 -3 4352 4353 4486 -3 5454 1954 5319 -3 7935 1249 1133 -3 2327 2461 2326 -3 3060 3061 14 -3 24536 26073 25941 -3 24431 29535 29492 -3 22722 22821 22721 -3 11262 9657 11320 -3 7772 10378 9687 -3 8441 7699 8774 -3 7365 11110 8774 -3 7574 7365 8774 -3 7364 8024 11110 -3 7365 7364 11110 -3 8551 8443 8024 -3 35897 35605 35451 -3 7364 8551 8024 -3 18640 21116 21115 -3 1837 1843 1844 -3 2625 14491 677 -3 4809 3358 4675 -3 15162 16822 16805 -3 15144 15162 16805 -3 243 138 3265 -3 497 3267 15413 -3 4192 25596 25595 -3 3358 3490 4675 -3 16631 249 15293 -3 15019 14822 15414 -3 5487 5480 16631 -3 249 15019 15293 -3 14834 14724 16986 -3 4809 4675 1451 -3 35831 13195 14282 -3 16238 140 15964 -3 3211 6148 1184 -3 35571 35712 35798 -3 16072 15932 14510 -3 14776 14889 14775 -3 12989 12803 13083 -3 21124 22052 21123 -3 16191 2711 16487 -3 3121 5482 15556 -3 23227 21866 12867 -3 15589 15071 15070 -3 23522 23984 30785 -3 4198 1567 4199 -3 28469 17313 29121 -3 26828 19791 27374 -3 28729 28730 30668 -3 32984 32983 32875 -3 35333 35332 35203 -3 26802 28486 684 -3 3496 3626 3625 -3 3625 3757 34473 -3 3626 3758 3757 -3 18376 18304 17363 -3 3758 3890 3889 -3 3757 3758 3889 -3 3890 4024 4023 -3 3889 3890 4023 -3 4024 4157 4156 -3 4023 4024 4156 -3 4157 4290 4289 -3 4156 4157 4289 -3 4290 4424 4423 -3 4289 4290 4423 -3 4424 4558 4557 -3 4423 4424 4557 -3 4692 4691 4557 -3 4558 4692 4557 -3 4827 4826 4691 -3 4692 4827 4691 -3 4962 4961 4826 -3 4827 4962 4826 -3 5097 5096 4961 -3 4962 5097 4961 -3 5231 5230 5096 -3 5097 5231 5096 -3 5366 5365 5230 -3 5231 5366 5230 -3 5366 5500 5499 -3 5365 5366 5499 -3 5635 5634 5499 -3 5500 5635 5499 -3 5769 5768 5634 -3 5635 5769 5634 -3 5901 5900 5768 -3 5769 5901 5768 -3 6033 6032 5900 -3 5901 6033 5900 -3 6163 6162 6032 -3 6033 6163 6032 -3 6292 6291 6162 -3 6163 6292 6162 -3 6419 6420 10692 -3 6292 6419 6291 -3 11320 7772 9687 -3 30180 30313 30179 -3 1942 1943 2067 -3 5048 5183 5182 -3 5159 5160 5293 -3 295 14489 3349 -3 6227 6356 6355 -3 13820 13918 13819 -3 1283 7743 7858 -3 5182 5183 5316 -3 28428 30026 28308 -3 803 922 921 -3 33548 802 801 -3 4354 4353 4220 -3 3318 5038 5037 -3 5160 5161 5294 -3 6097 6098 6227 -3 3293 3294 3432 -3 3433 3566 3565 -3 6105 6235 6104 -3 6235 6364 6234 -3 5025 5026 5160 -3 5161 5295 5294 -3 1469 1585 1468 -3 532 647 531 -3 8149 6092 6091 -3 4090 4089 3955 -3 8269 1598 1482 -3 35525 35495 35552 -3 5301 5302 5436 -3 5437 5571 5570 -3 774 773 655 -3 541 656 540 -3 893 1012 892 -3 1245 1361 1244 -3 3423 3556 3422 -3 1130 1129 1011 -3 3950 4084 4083 -3 3556 3555 3422 -3 11889 12208 13304 -3 3949 3950 4083 -3 1015 1014 895 -3 896 895 776 -3 5306 5307 5441 -3 5442 5576 5575 -3 15009 15008 14888 -3 2120 432 1401 -3 5312 5447 5446 -3 5311 5312 5446 -3 4086 4087 4219 -3 6097 6227 6226 -3 4353 4354 4487 -3 4486 4487 4620 -3 6748 6747 6622 -3 4488 4622 4621 -3 35788 35388 35682 -3 10986 10249 8443 -3 11915 11999 11914 -3 5335 124 9741 -3 12162 12161 12079 -3 12893 16161 21286 -3 10378 12930 13872 -3 9687 10378 13872 -3 8551 10986 8443 -3 9668 9321 10249 -3 10986 9668 10249 -3 15683 2844 15682 -3 15625 4783 3662 -3 3358 1424 252 -3 30029 30028 29897 -3 3350 3328 2574 -3 2574 3328 17013 -3 15413 3350 2574 -3 3328 17176 17013 -3 22910 23009 22909 -3 30027 6875 28997 -3 1612 1611 1210 -3 1209 1612 1210 -3 1404 2387 501 -3 15269 16958 15268 -3 35670 29006 35740 -3 11499 13429 20433 -3 22514 22515 22613 -3 4940 9689 2248 -3 35916 35877 35614 -3 14570 14662 14661 -3 22521 22520 33923 -3 20402 21216 20399 -3 14768 14767 14661 -3 6403 16191 16487 -3 15730 14945 22044 -3 22074 22068 21132 -3 16487 1843 16635 -3 30602 27054 27053 -3 11561 12737 13858 -3 28017 29697 28016 -3 35800 35505 13578 -3 30498 26828 27374 -3 19466 30489 28467 -3 3363 3496 34861 -3 29077 28729 30668 -3 3364 3497 3496 -3 3363 3364 3496 -3 3497 3627 3626 -3 3496 3497 3626 -3 3627 3759 3758 -3 3626 3627 3758 -3 3891 3890 3758 -3 3759 3891 3758 -3 4025 4024 3890 -3 3891 4025 3890 -3 4158 4157 4024 -3 4025 4158 4024 -3 4158 4291 4290 -3 4157 4158 4290 -3 4291 4425 4424 -3 4290 4291 4424 -3 4425 4559 4558 -3 4424 4425 4558 -3 4693 4692 4558 -3 4559 4693 4558 -3 4828 4827 4692 -3 4693 4828 4692 -3 4963 4962 4827 -3 4828 4963 4827 -3 5098 5097 4962 -3 4963 5098 4962 -3 5232 5231 5097 -3 5098 5232 5097 -3 5367 5366 5231 -3 5232 5367 5231 -3 5501 5500 5366 -3 5367 5501 5366 -3 5501 5636 5635 -3 5500 5501 5635 -3 5770 5769 5635 -3 5636 5770 5635 -3 5902 5901 5769 -3 5770 5902 5769 -3 6034 6033 5901 -3 5902 6034 5901 -3 6164 6163 6033 -3 6034 6164 6033 -3 6293 6292 6163 -3 6164 6293 6163 -3 10894 11020 10893 -3 6293 6420 6292 -3 922 1041 1040 -3 13924 14022 14021 -3 1041 1159 1158 -3 921 922 1040 -3 11282 4778 11156 -3 1040 1041 1158 -3 1583 1582 1466 -3 13692 5875 13988 -3 35430 29145 29008 -3 1399 1400 1515 -3 11741 11740 11660 -3 6733 6734 696 -3 420 533 7245 -3 1159 1275 1158 -3 2198 2199 2330 -3 3422 3555 3421 -3 888 1007 1006 -3 5966 6098 6097 -3 1364 1365 1480 -3 6235 6234 6104 -3 3154 3294 3293 -3 3012 3013 3153 -3 5833 5965 5964 -3 35605 35741 35451 -3 5319 5185 2881 -3 3299 2882 3441 -3 11520 11519 11456 -3 22815 22814 22715 -3 3024 3574 3448 -3 3574 3581 3448 -3 5167 5168 5301 -3 5302 5437 5436 -3 893 892 773 -3 656 774 655 -3 3686 3685 3555 -3 1012 1011 892 -3 6092 6093 6222 -3 2324 2458 2457 -3 4083 4216 4215 -3 678 664 6731 -3 3432 3433 3565 -3 6363 6364 6490 -3 28427 35721 35600 -3 2868 3007 2867 -3 12277 13027 12300 -3 35725 35462 35634 -3 12078 12077 11996 -3 8691 10500 12278 -3 3562 3561 3428 -3 11537 11604 11536 -3 6747 6748 1886 -3 2002 3865 190 -3 6748 2002 1886 -3 1886 2002 190 -3 5021 5156 5155 -3 6623 6748 6622 -3 2225 3849 3587 -3 32867 32868 32975 -3 11503 5335 9741 -3 5690 14607 1649 -3 32200 32301 32199 -3 21295 12893 21286 -3 12930 9519 13227 -3 13872 12930 13227 -3 12893 21391 16458 -3 16161 12893 16458 -3 14738 2253 11693 -3 15123 15250 15249 -3 14735 16191 6403 -3 15556 14735 6403 -3 5488 15160 15655 -3 21027 14762 15456 -3 21484 13954 14150 -3 15224 5488 15655 -3 20192 20308 20105 -3 20461 20546 20460 -3 20403 3196 17007 -3 22150 22155 15599 -3 20546 20545 20460 -3 13985 13615 8155 -3 4409 8125 1388 -3 15731 4409 1388 -3 9623 16156 22068 -3 16302 15876 11257 -3 20531 20613 20612 -3 20613 20694 20693 -3 22 23218 16458 -3 21391 22 16458 -3 5951 5488 15224 -3 6021 6247 2487 -3 29940 30602 27053 -3 22513 22612 22611 -3 35876 35440 35465 -3 27665 26576 29546 -3 26620 26619 26516 -3 30340 27667 28467 -3 28616 18010 30736 -3 31207 11420 11419 -3 28714 28584 28585 -3 24454 29293 30776 -3 3365 3498 3497 -3 3364 3365 3497 -3 3498 3628 3627 -3 3497 3498 3627 -3 3760 3759 3627 -3 3628 3760 3627 -3 3892 3891 3759 -3 3760 3892 3759 -3 4026 4025 3891 -3 3892 4026 3891 -3 4159 4158 4025 -3 4026 4159 4025 -3 4292 4291 4158 -3 4159 4292 4158 -3 4292 4426 4425 -3 4291 4292 4425 -3 4426 4560 4559 -3 4425 4426 4559 -3 4694 4693 4559 -3 4560 4694 4559 -3 4829 4828 4693 -3 4694 4829 4693 -3 4964 4963 4828 -3 4829 4964 4828 -3 5099 5098 4963 -3 4964 5099 4963 -3 5233 5232 5098 -3 5099 5233 5098 -3 5368 5367 5232 -3 5233 5368 5232 -3 5502 5501 5367 -3 5368 5502 5367 -3 5637 5636 5501 -3 5502 5637 5501 -3 5771 5770 5636 -3 5637 5771 5636 -3 5903 5902 5770 -3 5771 5903 5770 -3 6035 6034 5902 -3 5903 6035 5902 -3 6165 6164 6034 -3 6035 6165 6034 -3 6294 6293 6164 -3 6165 6294 6164 -3 6294 6421 6420 -3 6293 6294 6420 -3 20494 26573 24969 -3 4767 11143 11144 -3 3953 3952 3820 -3 5039 5038 3318 -3 6622 6621 6495 -3 22226 22227 22322 -3 3292 3291 3151 -3 1010 1128 1009 -3 1746 1745 1628 -3 650 768 767 -3 5300 5301 5435 -3 2515 2649 2514 -3 6116 2755 2215 -3 4219 4220 4352 -3 4086 4219 4085 -3 5969 6101 5968 -3 6228 6357 6356 -3 5965 5966 6097 -3 5973 5972 5840 -3 2882 2881 3441 -3 20693 20694 20775 -3 1817 1816 1699 -3 2733 2869 2732 -3 3008 3007 2868 -3 6479 6605 6478 -3 6352 6479 6478 -3 4218 4351 4350 -3 1956 2095 1957 -3 2329 2330 2463 -3 2330 2464 2463 -3 5032 5033 5167 -3 5168 5302 5301 -3 4361 4495 4494 -3 774 893 773 -3 765 884 883 -3 1120 1236 1235 -3 1244 1360 1243 -3 23489 17964 19806 -3 13763 13668 13570 -3 2873 2874 3012 -3 15277 13784 23218 -3 4899 4900 5034 -3 9345 2741 2606 -3 6730 6729 6604 -3 8744 2247 2118 -3 13823 13921 13822 -3 1014 1013 894 -3 6482 6608 6607 -3 3701 3700 2745 -3 2744 2339 2338 -3 6355 6482 6481 -3 2745 2744 2338 -3 2747 2205 2075 -3 26940 35669 35688 -3 3286 3425 3424 -3 4886 5021 5020 -3 916 1406 915 -3 12052 6015 1890 -3 29543 35925 27642 -3 11627 35911 12473 -3 35883 35934 35741 -3 31049 31048 30987 -3 9519 11071 13877 -3 13227 9519 13877 -3 15000 15123 15122 -3 23203 23301 23300 -3 15122 15123 15249 -3 14567 15764 14557 -3 15384 15385 15515 -3 15833 15549 16958 -3 22512 22513 22611 -3 16220 15062 15061 -3 5951 15793 2004 -3 23429 9400 20157 -3 14155 11121 11234 -3 14548 5951 2004 -3 23202 23203 23300 -3 15919 15920 16061 -3 2790 22956 15637 -3 78 1614 586 -3 22027 22123 22122 -3 32396 32395 32292 -3 498 2017 1541 -3 25730 1541 1658 -3 5878 5746 2017 -3 15781 15920 15780 -3 15920 16062 16061 -3 7410 7409 6780 -3 3216 3217 5330 -3 34550 34549 34412 -3 7192 30807 27839 -3 29354 29413 11404 -3 21607 29767 30156 -3 26576 27839 2946 -3 28428 35479 6876 -3 35703 35450 35499 -3 18799 28616 19702 -3 3227 3366 3365 -3 3226 3364 3225 -3 3366 3499 3498 -3 3365 3366 3498 -3 3499 3629 3628 -3 3498 3499 3628 -3 3629 3761 3760 -3 3628 3629 3760 -3 3761 3893 3892 -3 3760 3761 3892 -3 4027 4026 3892 -3 3893 4027 3892 -3 4160 4159 4026 -3 4027 4160 4026 -3 4293 4292 4159 -3 4160 4293 4159 -3 4427 4426 4292 -3 4293 4427 4292 -3 4561 4560 4426 -3 4427 4561 4426 -3 4561 4695 4694 -3 4560 4561 4694 -3 4830 4829 4694 -3 4695 4830 4694 -3 4965 4964 4829 -3 4830 4965 4829 -3 5100 5099 4964 -3 4965 5100 4964 -3 5234 5233 5099 -3 5100 5234 5099 -3 5369 5368 5233 -3 5234 5369 5233 -3 5503 5502 5368 -3 5369 5503 5368 -3 5638 5637 5502 -3 5503 5638 5502 -3 5772 5771 5637 -3 5638 5772 5637 -3 5904 5903 5771 -3 5772 5904 5771 -3 6036 6035 5903 -3 5904 6036 5903 -3 6166 6165 6035 -3 6036 6166 6035 -3 6295 6294 6165 -3 6166 6295 6165 -3 6422 6421 6294 -3 6295 6422 6294 -3 6422 6548 6547 -3 6421 6422 6547 -3 13728 13826 13727 -3 6672 6673 6799 -3 11071 12842 9977 -3 35652 35437 35753 -3 2191 2192 2323 -3 1004 1005 1122 -3 2461 2596 2460 -3 2192 2324 2323 -3 5961 6093 8149 -3 1954 1955 5319 -3 3975 2616 2617 -3 3711 3975 2617 -3 6231 6360 6359 -3 24519 29432 29422 -3 6098 6228 6227 -3 5162 5163 5296 -3 1365 1481 1480 -3 3686 3687 3818 -3 2881 3580 3301 -3 1476 1475 1359 -3 7040 316 315 -3 644 645 762 -3 5578 5713 5712 -3 6351 6352 6478 -3 6478 6604 6603 -3 2095 1152 2094 -3 537 536 422 -3 6483 6609 6608 -3 4897 4898 5032 -3 5033 5168 5167 -3 2323 2324 2457 -3 4360 4361 4494 -3 2192 2193 2324 -3 34936 34935 34806 -3 1127 1128 1243 -3 3448 3581 6116 -3 9628 216 2793 -3 7619 920 1039 -3 12243 12242 12159 -3 13436 13341 13437 -3 5185 1956 2757 -3 35737 35465 35677 -3 4373 4374 4507 -3 30487 29079 35779 -3 4508 4642 4507 -3 4642 4641 4507 -3 4642 4776 4641 -3 4776 4775 4641 -3 4776 4911 4775 -3 4911 4910 4775 -3 766 885 884 -3 1470 1469 1353 -3 35338 12652 35337 -3 647 648 765 -3 3568 3569 3698 -3 5567 5568 5702 -3 5830 8976 9411 -3 652 770 769 -3 420 534 533 -3 1586 1587 1703 -3 13877 11071 9977 -3 11918 12002 11917 -3 22052 22044 21123 -3 12842 6760 128 -3 1028 2528 2393 -3 15618 1028 15614 -3 246 5192 2711 -3 16191 246 2711 -3 15834 16220 15061 -3 3203 405 2249 -3 13786 11969 16533 -3 20365 21133 20363 -3 35550 27286 30072 -3 14501 14500 14449 -3 15643 15644 15780 -3 15920 15919 15780 -3 498 5878 2017 -3 5878 53 4 -3 5746 5878 4 -3 53 5826 5866 -3 4 53 5866 -3 5826 468 354 -3 5866 5826 354 -3 468 4232 4275 -3 14567 14557 828 -3 15644 15781 15780 -3 26942 19132 30556 -3 28982 29117 28981 -3 21141 20052 21580 -3 19235 21558 24245 -3 34413 34550 34412 -3 29902 29903 30033 -3 27839 30807 26426 -3 30807 30351 26426 -3 30736 18010 6914 -3 30479 30480 29082 -3 3228 3367 3366 -3 3226 33687 3227 -3 3367 3500 3499 -3 3366 3367 3499 -3 3500 3630 3629 -3 3499 3500 3629 -3 3630 3762 3761 -3 3629 3630 3761 -3 3762 3894 3893 -3 3761 3762 3893 -3 3894 4028 4027 -3 3893 3894 4027 -3 4161 4160 4027 -3 4028 4161 4027 -3 4294 4293 4160 -3 4161 4294 4160 -3 4428 4427 4293 -3 4294 4428 4293 -3 4562 4561 4427 -3 4428 4562 4427 -3 4696 4695 4561 -3 4562 4696 4561 -3 4696 4831 4830 -3 4695 4696 4830 -3 4966 4965 4830 -3 4831 4966 4830 -3 4966 5101 5100 -3 4965 4966 5100 -3 5235 5234 5100 -3 5101 5235 5100 -3 5370 5369 5234 -3 5235 5370 5234 -3 5370 5504 5503 -3 5369 5370 5503 -3 5639 5638 5503 -3 5504 5639 5503 -3 5773 5772 5638 -3 5639 5773 5638 -3 5905 5904 5772 -3 5773 5905 5772 -3 6037 6036 5904 -3 5905 6037 5904 -3 6167 6166 6036 -3 6037 6167 6036 -3 6296 6295 6166 -3 6167 6296 6166 -3 6423 6422 6295 -3 6296 6423 6295 -3 6549 6548 6422 -3 6423 6549 6422 -3 6549 6674 6673 -3 6548 6549 6673 -3 6674 6801 6800 -3 6673 6674 6800 -3 6091 6221 6220 -3 35731 11724 12841 -3 1240 1239 1123 -3 12679 12768 12767 -3 5837 5836 5702 -3 1124 1240 1123 -3 4900 5035 5034 -3 24032 24031 30624 -3 543 542 428 -3 35607 35778 35702 -3 5029 5164 5163 -3 3152 3292 3151 -3 4484 4485 4618 -3 767 886 885 -3 5721 5854 1952 -3 6736 6737 934 -3 2603 2602 2467 -3 9977 12842 128 -3 5713 5847 5846 -3 5577 5578 5712 -3 2226 4250 4130 -3 6760 6389 4515 -3 6482 6483 6608 -3 4221 4354 4220 -3 4762 4763 4897 -3 4898 5033 5032 -3 4227 10636 4228 -3 11822 11821 11737 -3 2193 2325 2324 -3 1002 1003 1120 -3 12160 12243 12159 -3 1360 1359 1243 -3 18901 20778 17815 -3 11997 12078 11996 -3 1984 2109 1983 -3 5707 5706 5571 -3 885 1004 1003 -3 4374 4508 4507 -3 2108 2237 2236 -3 4389 4256 9516 -3 902 217 4919 -3 1983 1982 1862 -3 6103 6102 5970 -3 35445 35534 35935 -3 13613 448 13713 -3 2226 2097 4250 -3 764 763 645 -3 11587 11586 11519 -3 6223 6352 6351 -3 5971 6103 5970 -3 3007 3148 3006 -3 3436 3297 9923 -3 6496 6622 6495 -3 11521 11520 11457 -3 795 9989 7667 -3 1282 1398 1397 -3 128 6760 4515 -3 7041 7042 317 -3 20315 21124 20310 -3 354 468 4275 -3 2528 5000 16806 -3 1738 1028 2393 -3 5728 2662 2527 -3 2527 2662 15834 -3 2249 5728 2527 -3 2662 16220 15834 -3 35634 35462 35368 -3 14962 15082 16302 -3 16961 17127 17126 -3 11954 13280 35857 -3 4411 4279 14942 -3 4002 947 3868 -3 4232 15243 15235 -3 4275 4232 15235 -3 15243 16866 16859 -3 15235 15243 16859 -3 16866 14816 14806 -3 4143 14802 15180 -3 16859 16866 14806 -3 14816 1446 3797 -3 14806 14816 3797 -3 1446 15752 14940 -3 17310 29698 28476 -3 18576 18673 1443 -3 26711 26712 26823 -3 28982 28981 28848 -3 30498 27374 30612 -3 30488 21643 11384 -3 30350 29692 29001 -3 25350 25351 24697 -3 27778 27261 27493 -3 27843 27493 30351 -3 3228 3227 14068 -3 28748 28616 30736 -3 3229 3368 3367 -3 3228 3229 3367 -3 3368 3501 3500 -3 3367 3368 3500 -3 3501 3631 3630 -3 3500 3501 3630 -3 3631 3763 3762 -3 3630 3631 3762 -3 3763 3895 3894 -3 3762 3763 3894 -3 3895 4029 4028 -3 3894 3895 4028 -3 4029 4162 4161 -3 4028 4029 4161 -3 4162 4295 4294 -3 4161 4162 4294 -3 4429 4428 4294 -3 4295 4429 4294 -3 4563 4562 4428 -3 4429 4563 4428 -3 4697 4696 4562 -3 4563 4697 4562 -3 4697 4832 4831 -3 4696 4697 4831 -3 4967 4966 4831 -3 4832 4967 4831 -3 5102 5101 4966 -3 4967 5102 4966 -3 5236 5235 5101 -3 5102 5236 5101 -3 5236 5371 5370 -3 5235 5236 5370 -3 5505 5504 5370 -3 5371 5505 5370 -3 5505 5640 5639 -3 5504 5505 5639 -3 5774 5773 5639 -3 5640 5774 5639 -3 5906 5905 5773 -3 5774 5906 5773 -3 6038 6037 5905 -3 5906 6038 5905 -3 6168 6167 6037 -3 6038 6168 6037 -3 6297 6296 6167 -3 6168 6297 6167 -3 6424 6423 6296 -3 6297 6424 6296 -3 6550 6549 6423 -3 6424 6550 6423 -3 6550 6675 6674 -3 6549 6550 6674 -3 6675 6802 6801 -3 6674 6675 6801 -3 6267 6263 6801 -3 6802 6267 6801 -3 2322 2323 2456 -3 35545 35841 11777 -3 6227 6228 6356 -3 4893 4894 5028 -3 5163 5297 5296 -3 4894 5029 5028 -3 3431 3564 3563 -3 6361 6489 6488 -3 35705 35854 35712 -3 5166 5167 5300 -3 3956 4090 3955 -3 5704 5838 5703 -3 1831 2098 2227 -3 3427 3560 3559 -3 5875 1622 1999 -3 1235 1351 1350 -3 5979 6111 6110 -3 5712 5713 5846 -3 2109 2108 1983 -3 1954 2226 1955 -3 4354 4488 4487 -3 9016 2204 8909 -3 4494 4495 4628 -3 4763 4898 4897 -3 3145 3144 3003 -3 4495 4629 4628 -3 2599 2598 2463 -3 3004 3145 3003 -3 2205 2338 2490 -3 2755 2216 2215 -3 6389 37 2792 -3 1941 1942 2066 -3 765 766 884 -3 1118 1119 1234 -3 13924 13923 13825 -3 1004 1122 1121 -3 6612 6611 6485 -3 12415 12504 12414 -3 768 887 886 -3 1831 2086 2098 -3 5703 5837 5702 -3 767 768 886 -3 658 657 542 -3 5837 5969 5836 -3 2871 2870 2734 -3 11455 31950 31949 -3 5436 5570 5569 -3 3567 3568 3697 -3 6350 6351 6477 -3 1703 1704 1820 -3 2617 2616 2219 -3 4358 4492 4491 -3 2732 2731 2596 -3 13883 13981 12123 -3 4515 6389 2792 -3 1632 1631 1515 -3 115 7035 114 -3 739 859 18112 -3 5000 15117 15116 -3 2393 2528 16806 -3 589 590 15963 -3 590 15825 15963 -3 1567 3325 5467 -3 169 15046 5272 -3 19372 19265 19266 -3 19372 19266 2416 -3 1421 1305 16390 -3 17809 592 17905 -3 14942 14981 1188 -3 15764 4279 15761 -3 3797 1446 14940 -3 15752 2708 3885 -3 14940 15752 3885 -3 2708 17174 5407 -3 4279 14981 14942 -3 14802 4016 4017 -3 3885 2708 5407 -3 4017 4016 14753 -3 17174 16537 16536 -3 6862 28336 26480 -3 35399 26803 35456 -3 13562 19684 19683 -3 28849 28982 28848 -3 5407 17174 16536 -3 30822 27267 27082 -3 19683 19684 4666 -3 28469 29121 27667 -3 26814 26815 26929 -3 24912 13296 25938 -3 17252 28605 19671 -3 29813 28736 19233 -3 27413 26909 18093 -3 30744 26942 18617 -3 27843 27778 27493 -3 3090 3230 3229 -3 14068 3089 3229 -3 3230 3369 3368 -3 3229 3230 3368 -3 3369 3502 3501 -3 3368 3369 3501 -3 3502 3632 3631 -3 3501 3502 3631 -3 3632 3764 3763 -3 3631 3632 3763 -3 3764 3896 3895 -3 3763 3764 3895 -3 3896 4030 4029 -3 3895 3896 4029 -3 4030 4163 4162 -3 4029 4030 4162 -3 4163 4296 4295 -3 4162 4163 4295 -3 4296 4430 4429 -3 4295 4296 4429 -3 4564 4563 4429 -3 4430 4564 4429 -3 4564 4698 4697 -3 4563 4564 4697 -3 4698 4833 4832 -3 4697 4698 4832 -3 4833 4968 4967 -3 4832 4833 4967 -3 4968 5103 5102 -3 4967 4968 5102 -3 5103 5237 5236 -3 5102 5103 5236 -3 5237 5372 5371 -3 5236 5237 5371 -3 5506 5505 5371 -3 5372 5506 5371 -3 5506 5641 5640 -3 5505 5506 5640 -3 5775 5774 5640 -3 5641 5775 5640 -3 5907 5906 5774 -3 5775 5907 5774 -3 6039 6038 5906 -3 5907 6039 5906 -3 6169 6168 6038 -3 6039 6169 6038 -3 6298 6297 6168 -3 6169 6298 6168 -3 6425 6424 6297 -3 6298 6425 6297 -3 6551 6550 6424 -3 6425 6551 6424 -3 6551 6676 6675 -3 6550 6551 6675 -3 6676 6803 6802 -3 6675 6676 6802 -3 6386 6267 6802 -3 6803 6386 6802 -3 35436 35937 35592 -3 7234 408 7233 -3 7243 417 7242 -3 6605 6730 6604 -3 2737 2738 2873 -3 770 889 888 -3 6099 6100 6229 -3 3422 3421 3282 -3 5569 5704 5703 -3 6230 6359 6358 -3 3960 3828 10394 -3 2619 2618 2217 -3 5025 5160 5159 -3 2066 2195 2194 -3 12731 35491 35700 -3 2867 2866 2730 -3 6241 6370 6369 -3 5978 5979 6110 -3 3952 3951 3819 -3 35860 35717 35868 -3 19680 2408 28245 -3 35465 35426 35472 -3 4085 4218 4217 -3 4629 4763 4762 -3 423 537 422 -3 4084 4085 4217 -3 2747 2745 2205 -3 2198 2330 2329 -3 1136 13877 9858 -3 6248 2339 6119 -3 884 885 1003 -3 6101 6231 6230 -3 1629 1746 1628 -3 1122 1238 1237 -3 15876 15210 15737 -3 8346 35623 9538 -3 1040 1158 1039 -3 3009 3008 2869 -3 5030 5165 5164 -3 5568 5703 5702 -3 1006 1005 886 -3 887 1006 886 -3 5841 5973 5840 -3 6359 6486 6358 -3 2734 2870 2733 -3 3309 3168 5721 -3 2062 2191 2190 -3 2457 2592 2591 -3 6240 6369 6368 -3 6369 6496 6368 -3 2616 2220 2219 -3 2117 2116 1992 -3 1863 1983 1862 -3 4240 4373 4372 -3 10578 26251 25939 -3 3975 8986 3843 -3 2792 37 13332 -3 21106 21107 21194 -3 28317 28437 28436 -3 1516 1632 1515 -3 1749 1748 1631 -3 15117 16792 16780 -3 23009 23008 22909 -3 35652 35815 35437 -3 27896 29687 29221 -3 29627 29626 29488 -3 35656 35745 35651 -3 478 477 363 -3 364 478 363 -3 593 592 477 -3 478 593 477 -3 4283 4284 3185 -3 831 17997 711 -3 16537 15559 15558 -3 16536 16537 15558 -3 15559 15098 14717 -3 15558 15559 14717 -3 14981 4143 1188 -3 1299 3303 3302 -3 1188 4143 15180 -3 35826 35479 35475 -3 15098 15819 15820 -3 17127 3713 4117 -3 14717 15098 15820 -3 15819 16185 14914 -3 15820 15819 14914 -3 16185 14747 5066 -3 14914 16185 5066 -3 14747 14410 16476 -3 28360 28362 30082 -3 28086 28087 28203 -3 35385 9113 35822 -3 30094 19905 20175 -3 23361 22424 23458 -3 27257 27139 19734 -3 21560 17285 19130 -3 30340 28469 27667 -3 28251 27413 18093 -3 24662 22942 23491 -3 27778 30744 28486 -3 26909 29692 30350 -3 3089 3090 3229 -3 28486 30744 18617 -3 3231 3230 3090 -3 3091 3231 3090 -3 3370 3369 3230 -3 3231 3370 3230 -3 3370 3503 3502 -3 3369 3370 3502 -3 3503 3633 3632 -3 3502 3503 3632 -3 3633 3765 3764 -3 3632 3633 3764 -3 3765 3897 3896 -3 3764 3765 3896 -3 3897 4031 4030 -3 3896 3897 4030 -3 4031 4164 4163 -3 4030 4031 4163 -3 4164 4297 4296 -3 4163 4164 4296 -3 4297 4431 4430 -3 4296 4297 4430 -3 4431 4565 4564 -3 4430 4431 4564 -3 4565 4699 4698 -3 4564 4565 4698 -3 4699 4834 4833 -3 4698 4699 4833 -3 4834 4969 4968 -3 4833 4834 4968 -3 4969 5104 5103 -3 4968 4969 5103 -3 5104 5238 5237 -3 5103 5104 5237 -3 5238 5373 5372 -3 5237 5238 5372 -3 5373 5507 5506 -3 5372 5373 5506 -3 5507 5642 5641 -3 5506 5507 5641 -3 5776 5775 5641 -3 5642 5776 5641 -3 5776 5908 5907 -3 5775 5776 5907 -3 5908 6040 6039 -3 5907 5908 6039 -3 6170 6169 6039 -3 6040 6170 6039 -3 6299 6298 6169 -3 6170 6299 6169 -3 6299 6426 6425 -3 6298 6299 6425 -3 6552 6551 6425 -3 6426 6552 6425 -3 6677 6676 6551 -3 6552 6677 6551 -3 6677 6804 6803 -3 6676 6677 6803 -3 6804 6387 6386 -3 6803 6804 6386 -3 3150 3149 3008 -3 6391 6387 6805 -3 1373 3574 3024 -3 3009 3150 3008 -3 951 1373 1490 -3 934 951 1490 -3 9934 9935 10051 -3 13722 13820 13819 -3 3288 3287 3147 -3 4889 4890 5024 -3 1821 1941 1940 -3 13924 13925 14022 -3 14023 14121 14120 -3 3425 3558 3557 -3 2334 2468 2467 -3 4526 1027 2093 -3 6623 6622 6496 -3 6240 6241 6369 -3 2596 2595 2460 -3 5024 5159 5158 -3 2461 2460 2326 -3 4889 5024 5023 -3 6734 6733 6608 -3 20432 24606 330 -3 3701 2745 2747 -3 537 652 651 -3 12761 12853 12852 -3 3571 3701 2747 -3 1238 1354 1353 -3 3149 3148 3007 -3 3953 3954 4087 -3 1003 1004 1121 -3 6109 6110 6239 -3 6622 6747 6621 -3 2345 2353 2352 -3 2456 2457 2591 -3 2352 2353 5324 -3 5035 5170 5169 -3 30028 22580 29897 -3 5190 2353 9625 -3 28080 28197 28079 -3 26493 26494 27414 -3 2237 2238 2369 -3 12328 12327 12242 -3 1350 1351 1466 -3 4485 4619 4618 -3 6092 6222 6221 -3 5023 5158 5157 -3 3569 10158 3699 -3 6239 6240 6368 -3 3142 3143 3282 -3 5034 5035 5169 -3 681 800 7392 -3 25064 25110 23719 -3 28198 28315 28197 -3 28316 28317 28436 -3 5864 1976 4129 -3 330 5864 4129 -3 1976 3475 3476 -3 4129 1976 3476 -3 3475 2478 4649 -3 1632 1749 1631 -3 1866 1865 1748 -3 16792 14456 14436 -3 4239 4240 4372 -3 255 254 149 -3 150 255 149 -3 365 364 254 -3 255 365 254 -3 479 478 364 -3 365 479 364 -3 594 593 478 -3 479 594 478 -3 712 711 593 -3 594 712 593 -3 5066 14747 16476 -3 712 831 711 -3 17620 254 364 -3 1212 1213 16476 -3 35611 17255 29126 -3 14410 1212 16476 -3 22 15277 23218 -3 35523 35445 35935 -3 17126 17127 4117 -3 16389 1421 16390 -3 5330 6128 3203 -3 4016 14764 14753 -3 6021 14807 15967 -3 15131 15258 15257 -3 29553 35733 35428 -3 35502 35394 35589 -3 26606 26711 26710 -3 7291 21464 21379 -3 31272 11418 11417 -3 28850 15877 30486 -3 30744 28244 26942 -3 27167 17310 28476 -3 18093 26909 30350 -3 19671 21560 19130 -3 30807 27843 30351 -3 29692 29000 29001 -3 32397 32396 32293 -3 27261 27778 28486 -3 34203 2950 3091 -3 34935 35064 34934 -3 3232 3231 3091 -3 3092 3232 3091 -3 3371 3370 3231 -3 3232 3371 3231 -3 3504 3503 3370 -3 3371 3504 3370 -3 3504 3634 3633 -3 3503 3504 3633 -3 3634 3766 3765 -3 3633 3634 3765 -3 3766 3898 3897 -3 3765 3766 3897 -3 3898 4032 4031 -3 3897 3898 4031 -3 4032 4165 4164 -3 4031 4032 4164 -3 4298 4297 4164 -3 4165 4298 4164 -3 4298 4432 4431 -3 4297 4298 4431 -3 4432 4566 4565 -3 4431 4432 4565 -3 4566 4700 4699 -3 4565 4566 4699 -3 4835 4834 4699 -3 4700 4835 4699 -3 4835 4970 4969 -3 4834 4835 4969 -3 4970 5105 5104 -3 4969 4970 5104 -3 5105 5239 5238 -3 5104 5105 5238 -3 5239 5374 5373 -3 5238 5239 5373 -3 5374 5508 5507 -3 5373 5374 5507 -3 5508 5643 5642 -3 5507 5508 5642 -3 5643 5777 5776 -3 5642 5643 5776 -3 5777 5909 5908 -3 5776 5777 5908 -3 5909 6041 6040 -3 5908 5909 6040 -3 6041 6171 6170 -3 6040 6041 6170 -3 6300 6299 6170 -3 6171 6300 6170 -3 6427 6426 6299 -3 6300 6427 6299 -3 6427 6553 6552 -3 6426 6427 6552 -3 6553 6678 6677 -3 6552 6553 6677 -3 6678 6805 6804 -3 6677 6678 6804 -3 11026 6387 6391 -3 6804 6805 6387 -3 1706 1707 1823 -3 1701 1818 1700 -3 11135 12929 12629 -3 1707 1706 1589 -3 654 772 771 -3 13918 13917 13819 -3 2201 2202 2333 -3 653 654 771 -3 5977 6109 5976 -3 1937 1936 1816 -3 2596 2731 2595 -3 5173 5307 5306 -3 4216 4217 4349 -3 1352 1468 1351 -3 6370 6497 6496 -3 1401 432 3570 -3 4754 4889 4888 -3 6497 6623 6496 -3 3557 3558 3687 -3 3687 3688 3819 -3 330 4129 3451 -3 4888 4889 5023 -3 5433 5432 5298 -3 6356 6483 6482 -3 3865 3701 3571 -3 2745 2338 2205 -3 3700 2744 2745 -3 4884 4885 5019 -3 1354 1470 1353 -3 1237 1238 1353 -3 2876 2875 2739 -3 1863 1862 1745 -3 4487 4488 4621 -3 1590 1707 1589 -3 3571 2748 3962 -3 1241 1357 1240 -3 5438 5439 5572 -3 5708 5707 5572 -3 1615 35407 35578 -3 2513 2648 2647 -3 2462 2597 2461 -3 1355 1471 1354 -3 24988 1022 1529 -3 5582 5583 5717 -3 5448 5449 5582 -3 5313 5314 5448 -3 1587 1586 1470 -3 5314 5449 5448 -3 2117 2118 2246 -3 5449 5583 5582 -3 12618 12708 12617 -3 5838 5837 5703 -3 5044 5045 5179 -3 28437 28559 28558 -3 3476 3475 4649 -3 20446 20531 20530 -3 35384 35652 35753 -3 13413 9641 7932 -3 31048 31049 31110 -3 22914 22913 22814 -3 12582 12672 12671 -3 15607 23023 13784 -3 13213 13212 13300 -3 1749 1866 1748 -3 1986 1985 1865 -3 5045 5180 5179 -3 5179 5180 5313 -3 256 255 150 -3 149 254 148 -3 366 365 255 -3 256 366 255 -3 366 480 479 -3 365 366 479 -3 11653 11652 11577 -3 32044 32141 32043 -3 35378 35403 35749 -3 35397 35817 35380 -3 4649 9281 15186 -3 1866 1986 1865 -3 15783 15784 15922 -3 15923 16065 16064 -3 3324 16036 6021 -3 14807 15972 15967 -3 16034 15295 3324 -3 16036 14807 6021 -3 5484 15295 16034 -3 16177 5484 16034 -3 1422 16665 16177 -3 15295 16036 3324 -3 17903 17904 17996 -3 16787 3124 5487 -3 4421 4420 4287 -3 29117 29254 29116 -3 26710 26711 26822 -3 13487 28244 30744 -3 29391 29390 29253 -3 29000 28605 17252 -3 25104 25105 30508 -3 27316 17309 27729 -3 29136 29137 29148 -3 18010 30753 6914 -3 29146 28874 29545 -3 26673 26785 26784 -3 35769 35402 35777 -3 26785 24464 26784 -3 26672 26673 26784 -3 3093 3233 3232 -3 33825 33824 28585 -3 3372 3371 3232 -3 3233 3372 3232 -3 3505 3504 3371 -3 3372 3505 3371 -3 3635 3634 3504 -3 3505 3635 3504 -3 3767 3766 3634 -3 3635 3767 3634 -3 3767 3899 3898 -3 3766 3767 3898 -3 3899 4033 4032 -3 3898 3899 4032 -3 4033 4166 4165 -3 4032 4033 4165 -3 4166 4299 4298 -3 4165 4166 4298 -3 4433 4432 4298 -3 4299 4433 4298 -3 4567 4566 4432 -3 4433 4567 4432 -3 4701 4700 4566 -3 4567 4701 4566 -3 4836 4835 4700 -3 4701 4836 4700 -3 4836 4971 4970 -3 4835 4836 4970 -3 4971 5106 5105 -3 4970 4971 5105 -3 5106 5240 5239 -3 5105 5106 5239 -3 5240 5375 5374 -3 5239 5240 5374 -3 5375 5509 5508 -3 5374 5375 5508 -3 5509 5644 5643 -3 5508 5509 5643 -3 5644 5778 5777 -3 5643 5644 5777 -3 5778 5910 5909 -3 5777 5778 5909 -3 5910 6042 6041 -3 5909 5910 6041 -3 6042 6172 6171 -3 6041 6042 6171 -3 6172 6301 6300 -3 6171 6172 6300 -3 6428 6427 6300 -3 6301 6428 6300 -3 6554 6553 6427 -3 6428 6554 6427 -3 6554 6679 6678 -3 6553 6554 6678 -3 6679 6806 6805 -3 6678 6679 6805 -3 6395 6807 6512 -3 6805 6806 6391 -3 1938 1937 1817 -3 1236 1352 1351 -3 6605 6604 6478 -3 1119 1120 1235 -3 3423 3422 3283 -3 3143 3144 3283 -3 5309 5444 5443 -3 10961 5308 5307 -3 5444 5578 5577 -3 5443 5444 5577 -3 5847 5979 5978 -3 5846 5847 5978 -3 6111 6241 6240 -3 6110 6111 6240 -3 3685 3817 3684 -3 6369 6370 6496 -3 17317 27406 28336 -3 6609 6610 6734 -3 29222 29359 22096 -3 1164 1165 1280 -3 1597 1596 1480 -3 450 784 449 -3 1157 1158 7849 -3 19655 19467 2402 -3 4263 3700 3701 -3 190 3865 3571 -3 5046 5045 4910 -3 3865 4263 3701 -3 2108 2109 2237 -3 1121 1122 1237 -3 2871 3010 2870 -3 8951 2370 2371 -3 3015 2876 9575 -3 5978 6110 6109 -3 6373 6374 6500 -3 3155 3156 3295 -3 11278 4909 228 -3 6728 6727 6602 -3 4640 4774 11151 -3 4910 5045 5044 -3 2111 2110 1985 -3 1986 2111 1985 -3 2240 2239 2110 -3 2111 2240 2110 -3 2372 2371 2239 -3 2240 2372 2239 -3 2506 2505 2371 -3 2372 2506 2371 -3 4775 4910 4909 -3 2641 2640 2505 -3 128 4515 193 -3 9166 2639 2640 -3 2506 2641 2505 -3 4507 4641 4640 -3 2641 2776 2775 -3 13213 12465 13212 -3 42 671 18804 -3 35698 35718 35624 -3 23595 24536 25941 -3 1855 38 13333 -3 3042 13408 11719 -3 11911 11995 11910 -3 12076 12075 11994 -3 2640 2641 2775 -3 693 4636 1974 -3 5851 10963 5982 -3 4217 4350 4349 -3 28436 28437 28558 -3 6100 6101 6230 -3 257 366 256 -3 151 7313 256 -3 367 481 480 -3 366 367 480 -3 35530 35384 35373 -3 20586 14911 20503 -3 5180 5314 5313 -3 15492 5424 5205 -3 714 833 832 -3 2912 2776 2442 -3 28559 28688 28687 -3 5480 249 16631 -3 15352 14834 16986 -3 1897 16399 14724 -3 15896 14508 140 -3 14387 14404 14386 -3 23580 24140 24829 -3 1874 15932 16072 -3 14670 14776 14669 -3 14889 15009 14888 -3 1695 1811 1694 -3 2844 14817 15934 -3 17462 17383 17385 -3 17463 17462 17385 -3 27778 13487 30744 -3 29254 29391 29253 -3 34281 34280 34142 -3 28244 19132 26942 -3 31545 31632 31544 -3 25499 27518 28426 -3 17309 28241 28240 -3 27839 26426 2946 -3 26595 28878 30803 -3 28240 28241 21841 -3 30772 26595 30803 -3 3751 21651 28878 -3 30071 30075 19909 -3 35873 35405 35369 -3 34329 3094 3093 -3 3232 3092 3093 -3 3234 3373 3372 -3 3233 3234 3372 -3 3506 3505 3372 -3 3373 3506 3372 -3 3636 3635 3505 -3 3506 3636 3505 -3 3768 3767 3635 -3 3636 3768 3635 -3 3900 3899 3767 -3 3768 3900 3767 -3 4034 4033 3899 -3 3900 4034 3899 -3 4167 4166 4033 -3 4034 4167 4033 -3 4167 4300 4299 -3 4166 4167 4299 -3 4434 4433 4299 -3 4300 4434 4299 -3 4568 4567 4433 -3 4434 4568 4433 -3 4702 4701 4567 -3 4568 4702 4567 -3 4702 4837 4836 -3 4701 4702 4836 -3 4837 4972 4971 -3 4836 4837 4971 -3 4972 5107 5106 -3 4971 4972 5106 -3 5107 5241 5240 -3 5106 5107 5240 -3 5241 5376 5375 -3 5240 5241 5375 -3 5376 5510 5509 -3 5375 5376 5509 -3 5510 5645 5644 -3 5509 5510 5644 -3 5645 5779 5778 -3 5644 5645 5778 -3 5779 5911 5910 -3 5778 5779 5910 -3 5911 6043 6042 -3 5910 5911 6042 -3 6043 6173 6172 -3 6042 6043 6172 -3 6173 6302 6301 -3 6172 6173 6301 -3 6302 6429 6428 -3 6301 6302 6428 -3 6429 6555 6554 -3 6428 6429 6554 -3 6555 6680 6679 -3 6554 6555 6679 -3 6680 6807 6806 -3 6679 6680 6806 -3 9769 11280 6395 -3 6806 6807 6395 -3 884 1003 1002 -3 4348 4349 4482 -3 764 765 883 -3 883 884 1002 -3 3145 3285 3284 -3 2325 2459 2458 -3 1165 1281 1280 -3 4765 4900 4899 -3 3555 3554 3421 -3 3288 3427 3426 -3 6093 6223 6222 -3 657 775 656 -3 6090 6091 6220 -3 4617 4751 4750 -3 3580 3710 3704 -3 2865 3004 2864 -3 12211 12296 40 -3 2757 1957 2756 -3 13680 14079 13981 -3 5291 5290 5157 -3 12321 12407 12320 -3 1128 1244 1243 -3 2003 4263 3865 -3 2061 2062 2190 -3 5181 5180 5045 -3 2002 2003 3865 -3 4228 10761 4361 -3 4911 5046 4910 -3 1007 1125 1006 -3 2459 2594 2593 -3 3015 9691 3156 -3 2616 3975 3843 -3 5981 5982 6113 -3 5705 5704 5569 -3 1701 1700 1583 -3 6501 6627 6626 -3 13718 13717 15813 -3 9858 9977 7671 -3 2845 2912 5410 -3 5974 5973 5841 -3 35353 35456 35400 -3 6121 2098 2086 -3 5842 5974 5841 -3 1589 1706 1588 -3 1943 2068 2067 -3 2463 2598 2462 -3 4913 5048 5047 -3 2328 2327 2195 -3 13265 13264 13169 -3 11662 11661 11586 -3 13170 13265 13169 -3 13361 13360 13264 -3 12281 12373 12641 -3 15564 4364 4245 -3 5735 1739 3993 -3 12031 12131 12936 -3 15884 11206 12716 -3 5309 5310 5444 -3 882 883 1001 -3 4084 4217 4083 -3 1468 1584 1467 -3 6239 6238 6108 -3 312 422 421 -3 12493 12494 12583 -3 6102 6232 6231 -3 7427 7541 368 -3 367 368 481 -3 6351 6478 6477 -3 27149 35540 35486 -3 35749 35397 35380 -3 4909 4910 5044 -3 715 834 833 -3 714 715 833 -3 953 952 833 -3 834 953 833 -3 2612 16513 15933 -3 4636 2841 1974 -3 16796 16805 14474 -3 5752 5753 1611 -3 2275 2144 2276 -3 34473 13307 3625 -3 29546 27527 21375 -3 17313 28477 19036 -3 30824 29546 21375 -3 26576 2946 27527 -3 30155 29631 21841 -3 28616 28748 19702 -3 27873 18799 7068 -3 28241 29150 21841 -3 30753 28249 29893 -3 34552 34551 34414 -3 26694 26695 26806 -3 27515 27516 27633 -3 6543 25152 1167 -3 31591 31590 31503 -3 3235 3374 3373 -3 3234 3235 3373 -3 3374 3507 3506 -3 3373 3374 3506 -3 3507 3637 3636 -3 3506 3507 3636 -3 3769 3768 3636 -3 3637 3769 3636 -3 3901 3900 3768 -3 3769 3901 3768 -3 4035 4034 3900 -3 3901 4035 3900 -3 4168 4167 4034 -3 4035 4168 4034 -3 4168 4301 4300 -3 4167 4168 4300 -3 4435 4434 4300 -3 4301 4435 4300 -3 4569 4568 4434 -3 4435 4569 4434 -3 4703 4702 4568 -3 4569 4703 4568 -3 4703 4838 4837 -3 4702 4703 4837 -3 4838 4973 4972 -3 4837 4838 4972 -3 4973 5108 5107 -3 4972 4973 5107 -3 5242 5241 5107 -3 5108 5242 5107 -3 5377 5376 5241 -3 5242 5377 5241 -3 5511 5510 5376 -3 5377 5511 5376 -3 5646 5645 5510 -3 5511 5646 5510 -3 5646 5780 5779 -3 5645 5646 5779 -3 5780 5912 5911 -3 5779 5780 5911 -3 5912 6044 6043 -3 5911 5912 6043 -3 6044 6174 6173 -3 6043 6044 6173 -3 6174 6303 6302 -3 6173 6174 6302 -3 6303 6430 6429 -3 6302 6303 6429 -3 6430 6556 6555 -3 6429 6430 6555 -3 6681 6680 6555 -3 6556 6681 6555 -3 6808 6807 6680 -3 6681 6808 6680 -3 6808 6513 6512 -3 6807 6808 6512 -3 312 313 422 -3 28558 28559 28687 -3 13719 13720 13817 -3 3581 2755 6116 -3 1946 2071 1945 -3 2871 2872 3010 -3 5164 5165 5298 -3 27847 27963 27846 -3 5844 5845 5976 -3 6109 6108 5976 -3 1010 1009 890 -3 5991 1484 1485 -3 5445 5310 5311 -3 2069 2198 2068 -3 6749 2003 2002 -3 13286 12049 8339 -3 6624 6749 6748 -3 6748 6749 2002 -3 6111 6112 6241 -3 6623 6624 6748 -3 5979 5980 6111 -3 6242 6371 6370 -3 5315 5450 5449 -3 6112 6242 6241 -3 6629 6630 6754 -3 5046 5181 5045 -3 1357 1473 1356 -3 6384 13987 11004 -3 6232 6361 6360 -3 2465 2600 2464 -3 26948 11592 11525 -3 5570 5705 5569 -3 6113 6243 6242 -3 6113 6114 6243 -3 17667 17269 26521 -3 5714 5715 5848 -3 34284 34422 34283 -3 535 650 649 -3 534 535 649 -3 11992 12073 11991 -3 4091 4090 3956 -3 3825 3824 3692 -3 3957 3956 3824 -3 3693 3692 3562 -3 2197 2329 2328 -3 1706 1823 1822 -3 2067 2068 2196 -3 5980 5981 6112 -3 2196 2197 2328 -3 13619 12726 12571 -3 3176 13612 2879 -3 35749 35380 35938 -3 10383 13300 13019 -3 12548 12753 12458 -3 20387 20471 20386 -3 18178 18930 19911 -3 12393 12372 6256 -3 12820 13198 3340 -3 12131 13602 12936 -3 27133 27134 27252 -3 3151 3291 3290 -3 1125 1241 1124 -3 6355 6226 6227 -3 5981 6113 6112 -3 2480 2352 2220 -3 6495 6494 6367 -3 4357 4491 4490 -3 4625 4759 4758 -3 1003 1121 1120 -3 2609 22440 20432 -3 597 715 7771 -3 7545 6378 6377 -3 598 716 715 -3 597 598 715 -3 716 835 834 -3 715 716 834 -3 2075 2205 2356 -3 8006 836 955 -3 953 834 8006 -3 14662 14768 14661 -3 14768 14881 14880 -3 14767 14768 14880 -3 14881 15001 15000 -3 14880 14881 15000 -3 15001 15124 15123 -3 15000 15001 15123 -3 15251 15250 15123 -3 15124 15251 15123 -3 15277 15607 13784 -3 3583 11385 3928 -3 22337 22338 23023 -3 21282 13615 13985 -3 15607 22337 23023 -3 14652 17114 16948 -3 1891 9435 11101 -3 22337 15192 23229 -3 14474 14652 16948 -3 2276 2145 2277 -3 33997 34133 33996 -3 26595 3751 28878 -3 29546 26576 27527 -3 29077 30668 30804 -3 26415 30804 21651 -3 22646 29414 23238 -3 16777 14374 11232 -3 6902 25952 7081 -3 27729 17309 28240 -3 26589 24723 26694 -3 35385 13474 8760 -3 19569 30634 24229 -3 25361 25322 28498 -3 31898 31897 31791 -3 19128 27869 29277 -3 3236 3375 3374 -3 3235 3236 3374 -3 3375 3508 3507 -3 3374 3375 3507 -3 3508 3638 3637 -3 3507 3508 3637 -3 3770 3769 3637 -3 3638 3770 3637 -3 3902 3901 3769 -3 3770 3902 3769 -3 4036 4035 3901 -3 3902 4036 3901 -3 4169 4168 4035 -3 4036 4169 4035 -3 4169 4302 4301 -3 4168 4169 4301 -3 4436 4435 4301 -3 4302 4436 4301 -3 4570 4569 4435 -3 4436 4570 4435 -3 4704 4703 4569 -3 4570 4704 4569 -3 4704 4839 4838 -3 4703 4704 4838 -3 4974 4973 4838 -3 4839 4974 4838 -3 4974 5109 5108 -3 4973 4974 5108 -3 5243 5242 5108 -3 5109 5243 5108 -3 5378 5377 5242 -3 5243 5378 5242 -3 5512 5511 5377 -3 5378 5512 5377 -3 5647 5646 5511 -3 5512 5647 5511 -3 5781 5780 5646 -3 5647 5781 5646 -3 5913 5912 5780 -3 5781 5913 5780 -3 5913 6045 6044 -3 5912 5913 6044 -3 6045 6175 6174 -3 6044 6045 6174 -3 6175 6304 6303 -3 6174 6175 6303 -3 6304 6431 6430 -3 6303 6304 6430 -3 6431 6557 6556 -3 6430 6431 6556 -3 6557 6682 6681 -3 6556 6557 6681 -3 6682 6809 6808 -3 6681 6682 6808 -3 6809 6514 6513 -3 6808 6809 6513 -3 8116 952 19121 -3 35826 35475 35513 -3 3001 3002 3142 -3 2071 2070 1945 -3 2603 2738 2737 -3 2333 2334 2467 -3 13286 10826 13602 -3 539 654 653 -3 319 7148 429 -3 9340 9654 2748 -3 6241 6242 6370 -3 6371 6498 6497 -3 6498 6624 6623 -3 6370 6371 6497 -3 1630 1747 1629 -3 6497 6498 6623 -3 5449 5450 5583 -3 1471 1470 1354 -3 1238 1239 1354 -3 35497 35855 35689 -3 35410 35927 35457 -3 3165 3169 3168 -3 6503 6504 6629 -3 5314 5315 5449 -3 1472 1471 1355 -3 6630 6755 6754 -3 4490 4491 4624 -3 2872 3011 3010 -3 12078 12160 12077 -3 5701 5835 5834 -3 4891 5026 5025 -3 2874 3013 3012 -3 4755 4756 4890 -3 889 1008 1007 -3 3150 3151 3290 -3 2863 3002 3001 -3 5170 5304 5303 -3 4359 4360 4493 -3 4641 4775 4774 -3 6738 6739 1151 -3 3435 3568 3567 -3 6735 929 902 -3 6744 6745 1882 -3 5849 5981 5980 -3 291 6001 3603 -3 13724 13822 13723 -3 5464 291 5597 -3 675 3603 6001 -3 5464 15753 16549 -3 3603 5597 291 -3 13723 13821 13722 -3 30214 21574 35647 -3 13100 12131 12031 -3 9990 11236 14282 -3 1381 13214 12641 -3 12245 12244 12161 -3 3569 3436 10040 -3 4487 4621 4620 -3 1626 1625 1509 -3 1510 1626 1509 -3 664 461 6730 -3 776 895 775 -3 35502 35589 35588 -3 13721 13722 13819 -3 1128 1127 1009 -3 536 537 651 -3 484 599 598 -3 597 483 598 -3 599 717 716 -3 598 599 716 -3 5848 5849 5980 -3 6648 16319 17122 -3 8968 8969 9075 -3 5576 5711 5710 -3 5359 17765 5223 -3 955 1073 954 -3 21574 20865 20864 -3 1287 912 913 -3 16805 14652 14474 -3 3265 15144 15139 -3 679 16665 1422 -3 16665 5484 16177 -3 17175 4541 2280 -3 2280 679 1422 -3 4114 1500 17175 -3 4541 679 2280 -3 16848 16032 4114 -3 1500 4541 17175 -3 17114 16032 16848 -3 16948 17114 16848 -3 35878 35901 35416 -3 16032 1500 4114 -3 14679 25 16398 -3 22338 22337 23229 -3 2144 2145 2276 -3 35891 35916 35614 -3 27990 28680 28363 -3 3751 26415 21651 -3 21031 2675 30772 -3 6914 30753 29893 -3 28969 28968 28835 -3 26671 26672 26783 -3 21718 28684 28817 -3 35486 29495 27149 -3 25664 26082 24723 -3 19783 19454 19455 -3 23576 23577 29018 -3 27985 29630 28102 -3 3097 3237 3236 -3 34271 34270 34132 -3 3237 3376 3375 -3 3236 3237 3375 -3 3376 3509 3508 -3 3375 3376 3508 -3 3509 3639 3638 -3 3508 3509 3638 -3 3639 3771 3770 -3 3638 3639 3770 -3 3771 3903 3902 -3 3770 3771 3902 -3 4037 4036 3902 -3 3903 4037 3902 -3 4037 4170 4169 -3 4036 4037 4169 -3 4303 4302 4169 -3 4170 4303 4169 -3 4437 4436 4302 -3 4303 4437 4302 -3 4437 4571 4570 -3 4436 4437 4570 -3 4571 4705 4704 -3 4570 4571 4704 -3 4705 4840 4839 -3 4704 4705 4839 -3 4840 4975 4974 -3 4839 4840 4974 -3 4975 5110 5109 -3 4974 4975 5109 -3 5244 5243 5109 -3 5110 5244 5109 -3 5379 5378 5243 -3 5244 5379 5243 -3 5513 5512 5378 -3 5379 5513 5378 -3 5648 5647 5512 -3 5513 5648 5512 -3 5782 5781 5647 -3 5648 5782 5647 -3 5914 5913 5781 -3 5782 5914 5781 -3 5914 6046 6045 -3 5913 5914 6045 -3 6046 6176 6175 -3 6045 6046 6175 -3 6176 6305 6304 -3 6175 6176 6304 -3 6305 6432 6431 -3 6304 6305 6431 -3 6558 6557 6431 -3 6432 6558 6431 -3 6683 6682 6557 -3 6558 6683 6557 -3 6810 6809 6682 -3 6683 6810 6682 -3 6810 6521 6514 -3 6809 6810 6514 -3 1371 9539 4503 -3 30214 35832 35356 -3 6374 6501 6500 -3 1700 1817 1699 -3 1256 3159 2749 -3 317 427 426 -3 5578 5579 5713 -3 5714 5848 5847 -3 5848 5980 5979 -3 5713 5714 5847 -3 5980 6112 6111 -3 5847 5848 5979 -3 8310 9864 5964 -3 5567 5702 16041 -3 35812 35390 35362 -3 2328 2462 2327 -3 4490 4489 4355 -3 4356 4490 4355 -3 1281 1282 1397 -3 4489 4490 4623 -3 4490 4624 4623 -3 902 929 217 -3 766 767 885 -3 6504 6630 6629 -3 35743 35881 35370 -3 1356 1472 1355 -3 6605 6606 6730 -3 11135 12475 12929 -3 1510 1509 1393 -3 1629 1628 1512 -3 2882 2883 5319 -3 1394 1510 1393 -3 5193 16695 15174 -3 4225 4224 4091 -3 1161 1162 1277 -3 1277 1278 1393 -3 5021 5022 5156 -3 1278 1394 1393 -3 1490 1373 3024 -3 5970 5969 5837 -3 35833 35675 35615 -3 6476 6477 6602 -3 784 667 449 -3 1517 1633 1632 -3 7975 1517 1400 -3 1633 1750 1749 -3 1632 1633 1749 -3 1867 1866 1749 -3 1750 1867 1749 -3 1987 1986 1866 -3 9654 8772 4498 -3 1867 1987 1866 -3 4108 9654 4498 -3 5031 5032 5166 -3 3826 3825 3693 -3 4498 212 2000 -3 5042 120 675 -3 31476 11412 26518 -3 120 153 3603 -3 675 120 3603 -3 320 5597 3603 -3 153 320 3603 -3 14298 14299 6511 -3 689 14551 6264 -3 11215 2751 3981 -3 26613 31557 26614 -3 13725 13724 13626 -3 12059 12058 13114 -3 2112 2111 1986 -3 1987 2112 1986 -3 1044 1162 1161 -3 1043 1044 1161 -3 6737 6738 951 -3 6612 6613 6737 -3 12946 12945 12852 -3 17932 17530 18505 -3 5311 5446 5445 -3 7545 6379 6378 -3 485 600 599 -3 7542 7543 484 -3 600 718 717 -3 599 600 717 -3 718 837 836 -3 28688 28820 28819 -3 956 955 836 -3 837 956 836 -3 1074 1073 955 -3 956 1074 955 -3 5006 3265 15139 -3 1190 1307 18464 -3 15144 16805 16796 -3 15139 15144 16796 -3 2395 1272 2261 -3 35658 35709 35836 -3 14674 14675 14780 -3 615 14554 3076 -3 14785 14784 5744 -3 14462 15223 14606 -3 14626 14693 6145 -3 904 976 4270 -3 11710 20322 15031 -3 3491 15478 14488 -3 35495 35606 35920 -3 11947 11776 13570 -3 3354 3216 1502 -3 14999 15122 15121 -3 2042 2041 4330 -3 2249 2527 2392 -3 19155 2277 2145 -3 33882 34017 33881 -3 33292 33291 33186 -3 2278 2277 19155 -3 28836 28969 28835 -3 24704 26934 24825 -3 29518 29519 29656 -3 29685 35386 35931 -3 18993 28342 19031 -3 24647 25322 25361 -3 29085 29222 22001 -3 28342 27047 27046 -3 3238 3237 3097 -3 32919 17399 32806 -3 3377 3376 3237 -3 3238 3377 3237 -3 3377 3510 3509 -3 3376 3377 3509 -3 3510 3640 3639 -3 3509 3510 3639 -3 3640 3772 3771 -3 3639 3640 3771 -3 3904 3903 3771 -3 3772 3904 3771 -3 4038 4037 3903 -3 3904 4038 3903 -3 4171 4170 4037 -3 4038 4171 4037 -3 4171 4304 4303 -3 4170 4171 4303 -3 4304 4438 4437 -3 4303 4304 4437 -3 4438 4572 4571 -3 4437 4438 4571 -3 4572 4706 4705 -3 4571 4572 4705 -3 4706 4841 4840 -3 4705 4706 4840 -3 4841 4976 4975 -3 4840 4841 4975 -3 4976 5111 5110 -3 4975 4976 5110 -3 5245 5244 5110 -3 5111 5245 5110 -3 5380 5379 5244 -3 5245 5380 5244 -3 5380 5514 5513 -3 5379 5380 5513 -3 5649 5648 5513 -3 5514 5649 5513 -3 5783 5782 5648 -3 5649 5783 5648 -3 5783 5915 5914 -3 5782 5783 5914 -3 5915 6047 6046 -3 5914 5915 6046 -3 6177 6176 6046 -3 6047 6177 6046 -3 6306 6305 6176 -3 6177 6306 6176 -3 6433 6432 6305 -3 6306 6433 6305 -3 6559 6558 6432 -3 6433 6559 6432 -3 6684 6683 6558 -3 6559 6684 6558 -3 6684 6811 6810 -3 6683 6684 6810 -3 6811 6535 6521 -3 6810 6811 6521 -3 13630 13728 13629 -3 6535 1371 6521 -3 1725 1613 1601 -3 1467 1583 1466 -3 771 772 890 -3 538 539 653 -3 5444 5445 5578 -3 5579 5714 5713 -3 6629 6754 6753 -3 6628 6629 6753 -3 9749 35697 12135 -3 1389 3165 3166 -3 802 921 920 -3 2597 2596 2461 -3 929 1389 217 -3 2462 2461 2327 -3 5023 5024 5158 -3 2727 2728 2863 -3 4767 11144 4768 -3 2728 2864 2863 -3 3557 3687 3686 -3 1470 1586 1469 -3 12499 12498 12409 -3 13925 13924 13826 -3 535 536 650 -3 12853 12946 12852 -3 33552 805 33551 -3 6357 6484 6483 -3 2241 2240 2111 -3 925 1044 1043 -3 2112 2241 2111 -3 2373 2372 2240 -3 2241 2373 2240 -3 2507 2506 2372 -3 806 925 924 -3 2373 2507 2372 -3 2642 2641 2506 -3 2507 2642 2506 -3 2777 2776 2641 -3 1162 1278 1277 -3 1166 1282 1281 -3 19135 7080 35548 -3 5844 5976 5843 -3 1351 1467 1466 -3 5976 5975 5843 -3 5167 5301 5300 -3 425 539 424 -3 3438 3299 3838 -3 22035 22131 22034 -3 4356 4357 4490 -3 5576 5577 5711 -3 6755 2475 2128 -3 5970 6102 5969 -3 11119 3976 5042 -3 5042 559 8990 -3 6124 292 153 -3 120 6124 153 -3 292 5731 320 -3 153 292 320 -3 14551 689 6134 -3 5731 689 320 -3 31143 11421 31207 -3 8226 13416 13413 -3 13114 13115 11549 -3 33608 33607 33488 -3 8115 7324 3201 -3 2642 2777 2641 -3 17600 17599 17506 -3 4912 4913 5047 -3 414 527 413 -3 4764 4899 4898 -3 650 651 768 -3 13988 9431 14085 -3 15356 17110 1485 -3 9928 9929 10045 -3 26614 31557 26615 -3 486 601 600 -3 485 486 600 -3 601 719 718 -3 600 601 718 -3 719 838 837 -3 718 719 837 -3 957 956 837 -3 838 957 837 -3 1075 1074 956 -3 957 1075 956 -3 1191 1190 1074 -3 1075 1191 1074 -3 23109 23207 23108 -3 18389 1214 18483 -3 13615 11710 15031 -3 22222 22223 22318 -3 35457 35582 35591 -3 14872 1772 1655 -3 22046 23147 23229 -3 3621 16460 16533 -3 15192 22046 23229 -3 20872 20873 20952 -3 14998 14999 15121 -3 15122 15249 15248 -3 5330 3203 5334 -3 15121 15122 15248 -3 3932 2042 4330 -3 1502 5330 5334 -3 35608 35775 35597 -3 1269 3852 2041 -3 16908 16907 16749 -3 15091 17099 13959 -3 15372 15495 14954 -3 16750 16908 16749 -3 15172 15058 16392 -3 14954 14955 16633 -3 14952 14953 16550 -3 16657 16816 16815 -3 30020 30019 29888 -3 19031 28342 27046 -3 3238 3097 3098 -3 30020 30152 30019 -3 3239 3238 3098 -3 3099 3239 3098 -3 3378 3377 3238 -3 3239 3378 3238 -3 3511 3510 3377 -3 3378 3511 3377 -3 3641 3640 3510 -3 3511 3641 3510 -3 3773 3772 3640 -3 3641 3773 3640 -3 3773 3905 3904 -3 3772 3773 3904 -3 4039 4038 3904 -3 3905 4039 3904 -3 4172 4171 4038 -3 4039 4172 4038 -3 4305 4304 4171 -3 4172 4305 4171 -3 4439 4438 4304 -3 4305 4439 4304 -3 4439 4573 4572 -3 4438 4439 4572 -3 4573 4707 4706 -3 4572 4573 4706 -3 4707 4842 4841 -3 4706 4707 4841 -3 4977 4976 4841 -3 4842 4977 4841 -3 5112 5111 4976 -3 4977 5112 4976 -3 5112 5246 5245 -3 5111 5112 5245 -3 5246 5381 5380 -3 5245 5246 5380 -3 5381 5515 5514 -3 5380 5381 5514 -3 5515 5650 5649 -3 5514 5515 5649 -3 5650 5784 5783 -3 5649 5650 5783 -3 5784 5916 5915 -3 5783 5784 5915 -3 6048 6047 5915 -3 5916 6048 5915 -3 6178 6177 6047 -3 6048 6178 6047 -3 6307 6306 6177 -3 6178 6307 6177 -3 6434 6433 6306 -3 6307 6434 6306 -3 6560 6559 6433 -3 6434 6560 6433 -3 6685 6684 6559 -3 6560 6685 6559 -3 6685 6812 6811 -3 6684 6685 6811 -3 6812 6638 6535 -3 6811 6812 6535 -3 6638 663 1371 -3 6535 6638 1371 -3 663 4368 4102 -3 35707 35743 35370 -3 9083 5309 5308 -3 6263 8634 7881 -3 22046 23343 23049 -3 5445 5579 5578 -3 5047 5182 5181 -3 6754 2128 2125 -3 5181 5182 5315 -3 5046 5047 5181 -3 5316 5451 5450 -3 5315 5316 5450 -3 35446 35728 35591 -3 6609 6734 6608 -3 9431 3334 14085 -3 4616 4617 4750 -3 3169 3448 5985 -3 6116 2215 2086 -3 929 934 1389 -3 3448 6116 5985 -3 934 1490 1389 -3 1490 3024 3165 -3 536 651 650 -3 3285 3286 3424 -3 5969 5968 5836 -3 924 925 1043 -3 2647 2782 2781 -3 13675 12727 12638 -3 23147 22046 23049 -3 4774 11278 11277 -3 1385 2384 6662 -3 6355 6356 6482 -3 10277 3698 3699 -3 533 648 532 -3 5575 5710 5709 -3 1706 1705 1588 -3 3287 3288 3426 -3 1241 1240 1124 -3 1589 1588 1472 -3 1384 4791 6262 -3 1165 1164 1046 -3 5577 5712 5711 -3 311 421 420 -3 4491 4625 4624 -3 6606 6731 6730 -3 2310 2442 2778 -3 3694 3826 3693 -3 6754 6755 2128 -3 4082 4083 4215 -3 5181 5315 5314 -3 9858 7671 3040 -3 4794 293 292 -3 120 3976 6124 -3 293 321 5731 -3 292 293 5731 -3 321 6134 689 -3 5731 321 689 -3 31391 31392 31458 -3 14563 3342 6790 -3 33489 33608 33488 -3 12405 12494 12493 -3 23343 22849 22749 -3 11129 13608 13868 -3 20781 20780 20701 -3 6729 457 6728 -3 2879 13860 439 -3 1473 1589 1472 -3 2735 2871 2734 -3 4220 4353 4352 -3 35918 35806 24801 -3 7544 486 485 -3 5985 6116 2086 -3 373 487 486 -3 372 373 486 -3 487 602 601 -3 486 487 601 -3 602 720 719 -3 601 602 719 -3 839 838 719 -3 720 839 719 -3 958 957 838 -3 839 958 838 -3 1076 1075 957 -3 958 1076 957 -3 1192 1191 1075 -3 1076 1192 1075 -3 1308 18562 18561 -3 1192 1308 1191 -3 7878 15835 20 -3 35435 35577 35875 -3 1452 1567 5467 -3 35370 35881 35366 -3 3325 5621 5467 -3 5621 5620 5467 -3 5620 5621 3354 -3 5621 3216 3354 -3 3203 2249 576 -3 3216 5330 1502 -3 2042 1269 2041 -3 5334 3203 576 -3 2282 1924 4674 -3 5618 3747 3852 -3 17071 17070 16907 -3 11805 13029 35684 -3 2257 2391 15372 -3 16908 17071 16907 -3 16656 16657 16815 -3 14955 16638 16633 -3 15057 15309 14952 -3 16816 16980 16979 -3 1735 4399 4535 -3 16554 6648 5610 -3 27257 19734 21381 -3 4095 1735 4535 -3 2959 3100 3099 -3 35633 35537 35661 -3 3240 3239 3099 -3 3100 3240 3099 -3 3379 3378 3239 -3 3240 3379 3239 -3 3512 3511 3378 -3 3379 3512 3378 -3 3642 3641 3511 -3 3512 3642 3511 -3 3774 3773 3641 -3 3642 3774 3641 -3 3906 3905 3773 -3 3774 3906 3773 -3 4040 4039 3905 -3 3906 4040 3905 -3 4173 4172 4039 -3 4040 4173 4039 -3 4306 4305 4172 -3 4173 4306 4172 -3 4440 4439 4305 -3 4306 4440 4305 -3 4440 4574 4573 -3 4439 4440 4573 -3 4574 4708 4707 -3 4573 4574 4707 -3 4708 4843 4842 -3 4707 4708 4842 -3 4978 4977 4842 -3 4843 4978 4842 -3 5113 5112 4977 -3 4978 5113 4977 -3 5113 5247 5246 -3 5112 5113 5246 -3 5247 5382 5381 -3 5246 5247 5381 -3 5382 5516 5515 -3 5381 5382 5515 -3 5516 5651 5650 -3 5515 5516 5650 -3 5651 5785 5784 -3 5650 5651 5784 -3 5917 5916 5784 -3 5785 5917 5784 -3 6049 6048 5916 -3 5917 6049 5916 -3 6179 6178 6048 -3 6049 6179 6048 -3 6308 6307 6178 -3 6179 6308 6178 -3 6435 6434 6307 -3 6308 6435 6307 -3 6561 6560 6434 -3 6435 6561 6434 -3 6686 6685 6560 -3 6561 6686 6560 -3 6813 6812 6685 -3 6686 6813 6685 -3 6664 6638 6812 -3 6813 6664 6812 -3 6664 1839 663 -3 6638 6664 663 -3 1839 4235 4368 -3 663 1839 4368 -3 13596 35823 8670 -3 25380 25438 24714 -3 6753 6754 2125 -3 23033 22934 20701 -3 4911 4912 5046 -3 5182 5316 5315 -3 5968 5967 5835 -3 4089 4090 4222 -3 5302 5303 5437 -3 5169 5303 5302 -3 1389 1490 3165 -3 313 423 422 -3 29640 29773 29772 -3 3024 3448 3169 -3 24450 24444 30632 -3 26572 26677 26676 -3 4752 4887 4886 -3 30990 31051 30989 -3 8477 9661 6632 -3 923 1042 1041 -3 3009 3010 3150 -3 4898 4899 5033 -3 4357 4358 4491 -3 2120 2125 432 -3 6628 6753 6752 -3 6259 3441 784 -3 4759 4760 4894 -3 6753 2125 2120 -3 3956 3955 3823 -3 2068 2197 2196 -3 14200 14201 14298 -3 648 649 766 -3 21862 22266 15729 -3 2086 2215 6121 -3 3165 3024 3169 -3 4624 4625 4758 -3 6101 6102 6231 -3 895 1014 894 -3 658 776 657 -3 2196 2328 2195 -3 1747 1746 1629 -3 3166 3165 3168 -3 5180 5181 5314 -3 795 4794 9988 -3 4794 292 6124 -3 1521 293 795 -3 293 1521 321 -3 5865 808 6134 -3 321 5865 6134 -3 808 6790 3342 -3 6134 808 3342 -3 8797 35890 35617 -3 15560 19861 2984 -3 7467 11549 13973 -3 12404 12405 12493 -3 28469 29157 17313 -3 12845 12059 13020 -3 20781 20701 20782 -3 5020 5021 5155 -3 6738 1151 951 -3 13883 12123 11881 -3 3429 3562 3428 -3 1131 1130 1012 -3 29145 29282 26520 -3 263 372 7430 -3 6485 6611 6484 -3 374 488 487 -3 373 374 487 -3 488 603 602 -3 487 488 602 -3 603 721 720 -3 602 603 720 -3 721 840 839 -3 720 721 839 -3 959 958 839 -3 840 959 839 -3 1077 1076 958 -3 959 1077 958 -3 1193 1192 1076 -3 1077 1193 1076 -3 1309 1193 18468 -3 28687 28819 28818 -3 576 2249 2392 -3 2527 15834 15799 -3 16751 16752 16910 -3 2392 2527 15799 -3 1734 6515 2657 -3 17074 17073 16910 -3 1734 4769 5888 -3 5889 1734 5888 -3 1269 5618 3852 -3 5618 5889 5888 -3 16545 1894 2264 -3 3747 5618 5888 -3 17235 17234 17070 -3 4674 16545 2264 -3 6140 4534 2257 -3 17071 17235 17070 -3 16815 16816 16979 -3 15495 14955 14954 -3 240 697 15057 -3 16980 17146 17145 -3 4399 240 2660 -3 14953 16554 16550 -3 16904 17067 16903 -3 4535 4399 2660 -3 17296 19095 2256 -3 17231 17230 17066 -3 2960 3101 3100 -3 2959 2960 3100 -3 3101 3241 3240 -3 3100 3101 3240 -3 3380 3379 3240 -3 3241 3380 3240 -3 3513 3512 3379 -3 3380 3513 3379 -3 3643 3642 3512 -3 3513 3643 3512 -3 3775 3774 3642 -3 3643 3775 3642 -3 3907 3906 3774 -3 3775 3907 3774 -3 4041 4040 3906 -3 3907 4041 3906 -3 4174 4173 4040 -3 4041 4174 4040 -3 4307 4306 4173 -3 4174 4307 4173 -3 4441 4440 4306 -3 4307 4441 4306 -3 4441 4575 4574 -3 4440 4441 4574 -3 4575 4709 4708 -3 4574 4575 4708 -3 4709 4844 4843 -3 4708 4709 4843 -3 4979 4978 4843 -3 4844 4979 4843 -3 5114 5113 4978 -3 4979 5114 4978 -3 5114 5248 5247 -3 5113 5114 5247 -3 5248 5383 5382 -3 5247 5248 5382 -3 5383 5517 5516 -3 5382 5383 5516 -3 5517 5652 5651 -3 5516 5517 5651 -3 5652 5786 5785 -3 5651 5652 5785 -3 5918 5917 5785 -3 5786 5918 5785 -3 6050 6049 5917 -3 5918 6050 5917 -3 6180 6179 6049 -3 6050 6180 6049 -3 6309 6308 6179 -3 6180 6309 6179 -3 6436 6435 6308 -3 6309 6436 6308 -3 6562 6561 6435 -3 6436 6562 6435 -3 6562 6687 6686 -3 6561 6562 6686 -3 6687 6814 6813 -3 6686 6687 6813 -3 6814 6665 6664 -3 6813 6814 6664 -3 4652 1839 6664 -3 6665 4652 6664 -3 4652 4369 4235 -3 1839 4652 4235 -3 12141 12203 11974 -3 14482 13695 24092 -3 35945 35843 35383 -3 35927 35582 35457 -3 6114 6115 6244 -3 35535 35946 35483 -3 5702 5836 5701 -3 4090 4223 4222 -3 6228 6229 6357 -3 6229 6358 6357 -3 804 923 922 -3 6358 6485 6357 -3 35531 35572 35706 -3 26571 26572 26676 -3 5028 5029 5163 -3 12141 7547 11790 -3 15203 10482 12960 -3 2601 2736 2600 -3 35784 35643 35438 -3 29417 35685 35883 -3 6479 6480 6605 -3 5028 5163 5162 -3 768 769 887 -3 4624 4758 4757 -3 2513 2514 2648 -3 3824 3956 3823 -3 6089 8131 6090 -3 3970 3838 461 -3 6611 6736 6735 -3 922 923 1041 -3 2330 2331 2464 -3 6735 6736 929 -3 2458 2593 2592 -3 6230 6231 6359 -3 3570 4383 2743 -3 1239 1355 1354 -3 217 1389 3166 -3 34695 34694 34566 -3 1235 1236 1351 -3 5310 5445 5444 -3 12324 12410 12323 -3 5568 5567 5274 -3 322 6003 808 -3 1400 1517 1516 -3 6003 4635 6790 -3 808 6003 6790 -3 4635 3980 2887 -3 6790 4635 2887 -3 2091 5723 160 -3 35533 35610 35484 -3 11879 12059 12845 -3 11792 7799 11793 -3 22813 22912 22911 -3 10482 14831 22836 -3 5573 5708 5572 -3 3698 3830 3697 -3 664 3970 461 -3 3438 2883 3299 -3 35116 22322 22324 -3 5169 5170 5303 -3 264 374 373 -3 6099 6229 6228 -3 375 489 488 -3 374 375 488 -3 604 603 488 -3 489 604 488 -3 722 721 603 -3 604 722 603 -3 722 841 840 -3 721 722 840 -3 960 959 840 -3 841 960 840 -3 1078 1077 959 -3 960 1078 959 -3 19794 21607 26242 -3 1078 1194 1077 -3 3932 4330 17237 -3 17238 3932 17237 -3 16911 17074 16910 -3 17238 17237 17073 -3 15179 1924 2282 -3 17074 17238 17073 -3 826 1765 16626 -3 16785 15179 15306 -3 15306 15179 2282 -3 16626 16785 15306 -3 1894 16243 1769 -3 1924 16545 4674 -3 4332 4465 17234 -3 2264 1894 1769 -3 2346 3167 5461 -3 17235 4332 17234 -3 16979 16980 17145 -3 2391 15495 15372 -3 4399 6269 240 -3 17146 4602 5492 -3 2551 2686 2685 -3 15309 14953 14952 -3 34429 34428 34290 -3 14055 17479 14054 -3 14040 30092 30224 -3 6993 13980 13979 -3 2822 2961 2960 -3 14039 30224 14137 -3 2961 3102 3101 -3 2960 2961 3101 -3 3102 3242 3241 -3 3101 3102 3241 -3 3242 3381 3380 -3 3241 3242 3380 -3 3514 3513 3380 -3 3381 3514 3380 -3 3644 3643 3513 -3 3514 3644 3513 -3 3776 3775 3643 -3 3644 3776 3643 -3 3908 3907 3775 -3 3776 3908 3775 -3 4042 4041 3907 -3 3908 4042 3907 -3 4175 4174 4041 -3 4042 4175 4041 -3 4308 4307 4174 -3 4175 4308 4174 -3 4442 4441 4307 -3 4308 4442 4307 -3 4442 4576 4575 -3 4441 4442 4575 -3 4576 4710 4709 -3 4575 4576 4709 -3 4710 4845 4844 -3 4709 4710 4844 -3 4980 4979 4844 -3 4845 4980 4844 -3 5115 5114 4979 -3 4980 5115 4979 -3 5115 5249 5248 -3 5114 5115 5248 -3 5249 5384 5383 -3 5248 5249 5383 -3 5384 5518 5517 -3 5383 5384 5517 -3 5518 5653 5652 -3 5517 5518 5652 -3 5787 5786 5652 -3 5653 5787 5652 -3 5919 5918 5786 -3 5787 5919 5786 -3 6051 6050 5918 -3 5919 6051 5918 -3 6181 6180 6050 -3 6051 6181 6050 -3 6310 6309 6180 -3 6181 6310 6180 -3 6310 6437 6436 -3 6309 6310 6436 -3 6437 6563 6562 -3 6436 6437 6562 -3 6563 6688 6687 -3 6562 6563 6687 -3 6688 6815 6814 -3 6687 6688 6814 -3 6815 6762 6665 -3 6814 6815 6665 -3 1838 4652 6665 -3 6762 1838 6665 -3 4370 4369 4652 -3 1838 4370 4652 -3 2752 2751 4369 -3 4370 2752 4369 -3 3849 3981 2751 -3 2752 3849 2751 -3 3849 2225 2224 -3 3981 3849 2224 -3 7387 7275 7276 -3 35552 35675 35833 -3 35941 35643 35832 -3 6485 6484 6357 -3 6243 6372 6371 -3 33549 33550 803 -3 1945 1944 1824 -3 2883 2882 3299 -3 6365 6492 6491 -3 7997 14170 13981 -3 1825 1945 1824 -3 5587 5454 2883 -3 5303 5438 5437 -3 35818 35665 35632 -3 35622 35692 35756 -3 35663 35503 35790 -3 1517 1632 1516 -3 5164 5298 5297 -3 6112 6113 6242 -3 1042 1160 1159 -3 1041 1042 1159 -3 6736 934 929 -3 6611 6610 6484 -3 4227 4226 4093 -3 2618 2218 2217 -3 7463 10478 5585 -3 35445 26404 27024 -3 6502 6503 6628 -3 6503 6629 6628 -3 3284 3423 3283 -3 1819 1939 1938 -3 1584 1701 1583 -3 1818 1817 1700 -3 8348 5996 322 -3 10756 322 5865 -3 5872 6545 4635 -3 6003 5872 4635 -3 6545 161 3980 -3 4635 6545 3980 -3 1880 89 4412 -3 161 1409 3980 -3 12059 13114 13020 -3 12241 12326 12240 -3 11956 22938 14831 -3 35528 35353 35400 -3 22637 22830 22836 -3 3299 3441 6259 -3 1751 1750 1633 -3 6242 6243 6371 -3 6498 6499 6624 -3 3156 9806 3296 -3 2216 5991 5990 -3 374 264 265 -3 6098 6099 6228 -3 14562 35862 35714 -3 375 376 489 -3 490 605 604 -3 489 490 604 -3 723 722 604 -3 605 723 604 -3 842 841 722 -3 723 842 722 -3 961 960 841 -3 842 961 841 -3 1079 1078 960 -3 961 1079 960 -3 1195 1194 1078 -3 1079 1195 1078 -3 1312 1427 1311 -3 35428 35351 35660 -3 2710 15908 15358 -3 7510 6376 6375 -3 15196 10216 21879 -3 5469 2131 3177 -3 224 1033 4010 -3 16750 16749 16594 -3 1568 1033 1684 -3 1033 3877 4010 -3 1568 1684 4465 -3 4332 1568 4465 -3 5326 2346 5461 -3 1033 224 1684 -3 17145 17146 5492 -3 3167 4534 6140 -3 2611 6269 4399 -3 4602 3399 3398 -3 240 15057 15053 -3 697 15309 15057 -3 13524 35809 1971 -3 19481 2416 2551 -3 35387 35702 35910 -3 3268 18711 19858 -3 2687 2823 2822 -3 2686 2687 2822 -3 2823 2962 2961 -3 2822 2823 2961 -3 2962 3103 3102 -3 2961 2962 3102 -3 3103 3243 3242 -3 3102 3103 3242 -3 3243 3382 3381 -3 3242 3243 3381 -3 3382 3515 3514 -3 3381 3382 3514 -3 3515 3645 3644 -3 3514 3515 3644 -3 3777 3776 3644 -3 3645 3777 3644 -3 3909 3908 3776 -3 3777 3909 3776 -3 4043 4042 3908 -3 3909 4043 3908 -3 4176 4175 4042 -3 4043 4176 4042 -3 4309 4308 4175 -3 4176 4309 4175 -3 4443 4442 4308 -3 4309 4443 4308 -3 4443 4577 4576 -3 4442 4443 4576 -3 4577 4711 4710 -3 4576 4577 4710 -3 4846 4845 4710 -3 4711 4846 4710 -3 4981 4980 4845 -3 4846 4981 4845 -3 4981 5116 5115 -3 4980 4981 5115 -3 5116 5250 5249 -3 5115 5116 5249 -3 5385 5384 5249 -3 5250 5385 5249 -3 5385 5519 5518 -3 5384 5385 5518 -3 5654 5653 5518 -3 5519 5654 5518 -3 5788 5787 5653 -3 5654 5788 5653 -3 5788 5920 5919 -3 5787 5788 5919 -3 6052 6051 5919 -3 5920 6052 5919 -3 6182 6181 6051 -3 6052 6182 6051 -3 6182 6311 6310 -3 6181 6182 6310 -3 6311 6438 6437 -3 6310 6311 6437 -3 6438 6564 6563 -3 6437 6438 6563 -3 6564 6689 6688 -3 6563 6564 6688 -3 6689 6816 6815 -3 6688 6689 6815 -3 6771 6762 6815 -3 6816 6771 6815 -3 1374 1838 6762 -3 6771 1374 6762 -3 4236 4370 1838 -3 1374 4236 1838 -3 2753 2752 4370 -3 4236 2753 4370 -3 3587 3849 2752 -3 2753 3587 2752 -3 34755 29811 21739 -3 35821 35886 35735 -3 11965 4922 13775 -3 16395 16697 2231 -3 11661 11660 11585 -3 11583 11658 11582 -3 2878 9654 9340 -3 897 777 778 -3 1751 1868 1867 -3 1750 1751 1867 -3 1868 1988 1987 -3 1867 1868 1987 -3 2113 2112 1987 -3 1988 2113 1987 -3 2242 2241 2112 -3 6372 6499 6498 -3 6499 6625 6624 -3 1160 1276 1275 -3 1159 1160 1275 -3 6610 6611 6735 -3 5834 5835 5966 -3 2749 3159 4242 -3 2199 2200 2331 -3 4642 4643 4776 -3 4912 5047 5046 -3 4777 4912 4911 -3 4776 4777 4911 -3 5291 5292 16327 -3 1591 1590 1474 -3 883 1002 1001 -3 4217 4216 4083 -3 1707 1824 1823 -3 1823 1824 1943 -3 5738 4501 6545 -3 6003 5996 5872 -3 4501 4499 161 -3 6545 4501 161 -3 4499 402 1409 -3 161 4499 1409 -3 7584 10966 7876 -3 1877 14475 14480 -3 23033 22144 23245 -3 23210 23308 23209 -3 12960 10482 22836 -3 22516 22615 22515 -3 2113 2242 2112 -3 2374 2373 2241 -3 6624 6625 6749 -3 6371 6372 6498 -3 9806 3297 3296 -3 5962 6094 6093 -3 5967 6099 6098 -3 5966 5967 6098 -3 21107 21106 21020 -3 11139 11215 11267 -3 491 606 605 -3 7549 490 376 -3 606 724 723 -3 605 606 723 -3 724 843 842 -3 723 724 842 -3 962 961 842 -3 843 962 842 -3 1080 1079 961 -3 962 1080 961 -3 1080 1196 1195 -3 1079 1080 1195 -3 1196 1312 1311 -3 1195 1196 1311 -3 1312 1428 1427 -3 18565 1427 18662 -3 1544 1545 1661 -3 12473 35911 12384 -3 4811 224 4111 -3 4010 5885 3485 -3 5885 2346 5326 -3 4111 4010 3485 -3 5461 3167 6140 -3 3485 5885 5326 -3 5492 4602 3398 -3 4534 2391 2257 -3 1735 2611 4399 -3 3399 4412 4413 -3 2660 240 15053 -3 6269 697 240 -3 16746 16904 16745 -3 15057 14952 14946 -3 28687 28688 28819 -3 17067 17066 16903 -3 2553 2688 2687 -3 17889 3129 19858 -3 2688 2824 2823 -3 2687 2688 2823 -3 2824 2963 2962 -3 2823 2824 2962 -3 2963 3104 3103 -3 2962 2963 3103 -3 3104 3244 3243 -3 3103 3104 3243 -3 3244 3383 3382 -3 3243 3244 3382 -3 3383 3516 3515 -3 3382 3383 3515 -3 3646 3645 3515 -3 3516 3646 3515 -3 3778 3777 3645 -3 3646 3778 3645 -3 3910 3909 3777 -3 3778 3910 3777 -3 4044 4043 3909 -3 3910 4044 3909 -3 4177 4176 4043 -3 4044 4177 4043 -3 4310 4309 4176 -3 4177 4310 4176 -3 4310 4444 4443 -3 4309 4310 4443 -3 4444 4578 4577 -3 4443 4444 4577 -3 4578 4712 4711 -3 4577 4578 4711 -3 4847 4846 4711 -3 4712 4847 4711 -3 4982 4981 4846 -3 4847 4982 4846 -3 4982 5117 5116 -3 4981 4982 5116 -3 5251 5250 5116 -3 5117 5251 5116 -3 5386 5385 5250 -3 5251 5386 5250 -3 5386 5520 5519 -3 5385 5386 5519 -3 5520 5655 5654 -3 5519 5520 5654 -3 5655 5789 5788 -3 5654 5655 5788 -3 5789 5921 5920 -3 5788 5789 5920 -3 5921 6053 6052 -3 5920 5921 6052 -3 6053 6183 6182 -3 6052 6053 6182 -3 6183 6312 6311 -3 6182 6183 6311 -3 6312 6439 6438 -3 6311 6312 6438 -3 6439 6565 6564 -3 6438 6439 6564 -3 6565 6690 6689 -3 6564 6565 6689 -3 6690 6817 6816 -3 6689 6690 6816 -3 6817 6796 6771 -3 6816 6817 6771 -3 1258 1374 6771 -3 6796 1258 6771 -3 3576 4236 1374 -3 1258 3576 1374 -3 2754 2753 4236 -3 3576 2754 4236 -3 3454 3587 2753 -3 2754 3454 2753 -3 3454 5591 5458 -3 3454 5458 3587 -3 14111 14112 14207 -3 14208 14306 14305 -3 12500 12590 12499 -3 14207 14208 14305 -3 35625 35810 35536 -3 14108 14109 14204 -3 1000 1001 1118 -3 2242 2374 2241 -3 2508 2507 2373 -3 2374 2508 2373 -3 2643 2642 2507 -3 2508 2643 2507 -3 35650 35808 35554 -3 3968 2746 2744 -3 2643 2778 2642 -3 3285 3424 3423 -3 3700 3968 2744 -3 4223 4356 4222 -3 2095 2094 1957 -3 2200 2332 2331 -3 4356 4355 4222 -3 5833 5834 5965 -3 4414 5189 41 -3 4508 4509 4642 -3 4643 4777 4776 -3 3059 4389 9516 -3 4897 5032 5031 -3 1955 2096 1956 -3 1123 1239 1238 -3 4130 1152 2095 -3 22714 22713 22614 -3 9800 809 5738 -3 5872 5738 6545 -3 4502 162 4499 -3 4501 4502 4499 -3 162 401 402 -3 4499 162 402 -3 3332 14475 2250 -3 401 94 402 -3 30823 17387 19520 -3 13910 13911 14008 -3 20624 20705 20704 -3 14065 8342 10385 -3 20786 20787 18449 -3 35718 35893 35359 -3 7990 7989 11980 -3 2746 2340 2339 -3 4799 3968 3700 -3 7105 7104 17369 -3 3818 3817 3685 -3 35388 35621 35858 -3 35703 35789 35450 -3 378 492 491 -3 490 491 605 -3 492 607 606 -3 491 492 606 -3 607 725 724 -3 606 607 724 -3 725 844 843 -3 724 725 843 -3 963 962 843 -3 844 963 843 -3 1081 1080 962 -3 963 1081 962 -3 1081 1197 1196 -3 1080 1081 1196 -3 1197 1313 1312 -3 1196 1197 1312 -3 1313 1429 1428 -3 1312 1313 1428 -3 1429 1545 1544 -3 1428 1429 1544 -3 1545 1662 1661 -3 914 14538 913 -3 1662 1779 1778 -3 1778 1779 1898 -3 1779 1899 1898 -3 26847 11597 11673 -3 1899 2024 2023 -3 2024 2152 2023 -3 2024 2153 2152 -3 2284 2152 2153 -3 2153 2285 2284 -3 2284 2418 19374 -3 2285 2419 2418 -3 2418 19483 19374 -3 2419 2554 2553 -3 2418 2419 2553 -3 2554 2689 2688 -3 2553 2554 2688 -3 2689 2825 2824 -3 2688 2689 2824 -3 2964 2963 2824 -3 2825 2964 2824 -3 3105 3104 2963 -3 2964 3105 2963 -3 3105 3245 3244 -3 3104 3105 3244 -3 3245 3384 3383 -3 3244 3245 3383 -3 3384 3517 3516 -3 3383 3384 3516 -3 3647 3646 3516 -3 3517 3647 3516 -3 3779 3778 3646 -3 3647 3779 3646 -3 3779 3911 3910 -3 3778 3779 3910 -3 4045 4044 3910 -3 3911 4045 3910 -3 4178 4177 4044 -3 4045 4178 4044 -3 4311 4310 4177 -3 4178 4311 4177 -3 4311 4445 4444 -3 4310 4311 4444 -3 4445 4579 4578 -3 4444 4445 4578 -3 4713 4712 4578 -3 4579 4713 4578 -3 4848 4847 4712 -3 4713 4848 4712 -3 4848 4983 4982 -3 4847 4848 4982 -3 4983 5118 5117 -3 4982 4983 5117 -3 5252 5251 5117 -3 5118 5252 5117 -3 5387 5386 5251 -3 5252 5387 5251 -3 5387 5521 5520 -3 5386 5387 5520 -3 5521 5656 5655 -3 5520 5521 5655 -3 5656 5790 5789 -3 5655 5656 5789 -3 5790 5922 5921 -3 5789 5790 5921 -3 5922 6054 6053 -3 5921 5922 6053 -3 6054 6184 6183 -3 6053 6054 6183 -3 6184 6313 6312 -3 6183 6184 6312 -3 6313 6440 6439 -3 6312 6313 6439 -3 6440 6566 6565 -3 6439 6440 6565 -3 6566 6691 6690 -3 6565 6566 6690 -3 6691 6818 6817 -3 6690 6691 6817 -3 6818 3995 6796 -3 6817 6818 6796 -3 1375 1258 6796 -3 3995 1375 6796 -3 4237 3576 1258 -3 1375 4237 1258 -3 2891 2754 3576 -3 4237 2891 3576 -3 3717 3454 2754 -3 2891 3717 2754 -3 15658 17154 5458 -3 3717 5591 3454 -3 14013 14014 14111 -3 14112 14208 14207 -3 31598 31597 31510 -3 11857 35617 10488 -3 15463 20155 1623 -3 12797 12889 12796 -3 3143 3283 3282 -3 12508 12507 12418 -3 2792 13332 13890 -3 9977 128 7671 -3 2252 12044 11880 -3 4515 2792 38 -3 38 2792 13890 -3 20709 20708 20627 -3 6625 6750 6749 -3 2010 4799 4263 -3 35865 35682 35464 -3 24524 13623 13622 -3 5835 5967 5966 -3 5836 5835 5701 -3 5834 5966 5965 -3 21021 21107 21020 -3 2459 2460 2594 -3 4509 4643 4642 -3 35887 35719 35566 -3 24958 26577 26681 -3 461 3838 457 -3 2464 2599 2463 -3 20791 20873 20872 -3 2882 5319 2881 -3 888 889 1007 -3 1008 1126 1125 -3 7803 809 10749 -3 28071 35842 30423 -3 6000 1054 401 -3 162 6000 401 -3 1054 2250 94 -3 401 1054 94 -3 14107 14203 14202 -3 3332 812 706 -3 16014 23412 21873 -3 11889 11724 9233 -3 23049 23343 22749 -3 26937 20180 24826 -3 35498 35611 35520 -3 4091 4224 4223 -3 6750 2010 2003 -3 6749 6750 2003 -3 7213 17448 164 -3 35191 35192 17369 -3 269 268 164 -3 268 269 378 -3 379 493 492 -3 378 379 492 -3 608 607 492 -3 493 608 492 -3 726 725 607 -3 608 726 607 -3 845 844 725 -3 726 845 725 -3 845 964 963 -3 844 845 963 -3 964 1082 1081 -3 963 964 1081 -3 1082 1198 1197 -3 1081 1082 1197 -3 1198 1314 1313 -3 1197 1198 1313 -3 1314 1430 1429 -3 1313 1314 1429 -3 1430 1546 1545 -3 1429 1430 1545 -3 1546 1663 1662 -3 1545 1546 1662 -3 1663 1780 1779 -3 1662 1663 1779 -3 1780 1900 1899 -3 1779 1780 1899 -3 1900 2025 2024 -3 1899 1900 2024 -3 2025 2154 2153 -3 2024 2025 2153 -3 2154 2286 2285 -3 2153 2154 2285 -3 2286 2420 2419 -3 2285 2286 2419 -3 2420 2555 2554 -3 2419 2420 2554 -3 2555 2690 2689 -3 2554 2555 2689 -3 2690 2826 2825 -3 2689 2690 2825 -3 2965 2964 2825 -3 2826 2965 2825 -3 3106 3105 2964 -3 2965 3106 2964 -3 3246 3245 3105 -3 3106 3246 3105 -3 3246 3385 3384 -3 3245 3246 3384 -3 3385 3518 3517 -3 3384 3385 3517 -3 3648 3647 3517 -3 3518 3648 3517 -3 3780 3779 3647 -3 3648 3780 3647 -3 3912 3911 3779 -3 3780 3912 3779 -3 3912 4046 4045 -3 3911 3912 4045 -3 4046 4179 4178 -3 4045 4046 4178 -3 4312 4311 4178 -3 4179 4312 4178 -3 4312 4446 4445 -3 4311 4312 4445 -3 4446 4580 4579 -3 4445 4446 4579 -3 4580 4714 4713 -3 4579 4580 4713 -3 4849 4848 4713 -3 4714 4849 4713 -3 4849 4984 4983 -3 4848 4849 4983 -3 4984 5119 5118 -3 4983 4984 5118 -3 5253 5252 5118 -3 5119 5253 5118 -3 5388 5387 5252 -3 5253 5388 5252 -3 5388 5522 5521 -3 5387 5388 5521 -3 5522 5657 5656 -3 5521 5522 5656 -3 5657 5791 5790 -3 5656 5657 5790 -3 5791 5923 5922 -3 5790 5791 5922 -3 5923 6055 6054 -3 5922 5923 6054 -3 6055 6185 6184 -3 6054 6055 6184 -3 6185 6314 6313 -3 6184 6185 6313 -3 6314 6441 6440 -3 6313 6314 6440 -3 6441 6567 6566 -3 6440 6441 6566 -3 6567 6692 6691 -3 6566 6567 6691 -3 6692 6819 6818 -3 6691 6692 6818 -3 6819 6133 3995 -3 6818 6819 3995 -3 4779 1375 3995 -3 6133 4779 3995 -3 3707 4237 1375 -3 4779 3707 1375 -3 3031 2891 4237 -3 3707 3031 4237 -3 3315 3717 2891 -3 3031 3315 2891 -3 5549 5859 15524 -3 3315 5725 3717 -3 14014 14112 14111 -3 287 4786 13493 -3 12268 12267 12184 -3 13610 8332 13573 -3 13294 13389 13882 -3 20477 20478 20562 -3 12419 12508 12418 -3 24516 22679 11979 -3 35423 8339 12049 -3 18646 21037 21038 -3 4223 4224 4356 -3 3693 3825 3692 -3 26228 13050 13051 -3 4224 4357 4356 -3 6606 6607 6731 -3 4263 4799 3700 -3 2332 2466 2465 -3 14930 22162 16952 -3 10578 13332 37 -3 2331 2332 2465 -3 6350 6349 6220 -3 13114 11549 7467 -3 2325 2326 2459 -3 763 882 881 -3 3817 3818 3949 -3 2740 2876 2739 -3 1121 1237 1236 -3 2064 2193 2192 -3 6097 6226 6096 -3 6495 6621 6494 -3 8772 2878 2885 -3 8879 2885 3843 -3 259 3716 1054 -3 6670 10474 6000 -3 3716 2516 2250 -3 1054 3716 2250 -3 812 3332 2250 -3 2516 812 2250 -3 20802 18272 18365 -3 35728 35894 35664 -3 23118 23020 19540 -3 22915 22914 22815 -3 20043 20124 20123 -3 3825 3957 3824 -3 16144 16143 16002 -3 16093 14788 4943 -3 2003 2010 4263 -3 14436 14456 3267 -3 23031 22932 16299 -3 15118 15119 15245 -3 16584 16739 16583 -3 380 494 493 -3 379 380 493 -3 494 609 608 -3 493 494 608 -3 609 727 726 -3 608 609 726 -3 727 846 845 -3 726 727 845 -3 846 965 964 -3 845 846 964 -3 965 1083 1082 -3 964 965 1082 -3 1199 1198 1082 -3 1083 1199 1082 -3 1199 1315 1314 -3 1198 1199 1314 -3 1315 1431 1430 -3 1314 1315 1430 -3 1431 1547 1546 -3 1430 1431 1546 -3 1547 1664 1663 -3 1546 1547 1663 -3 1664 1781 1780 -3 1663 1664 1780 -3 1781 1901 1900 -3 1780 1781 1900 -3 1901 2026 2025 -3 1900 1901 2025 -3 2026 2155 2154 -3 2025 2026 2154 -3 2155 2287 2286 -3 2154 2155 2286 -3 2287 2421 2420 -3 2286 2287 2420 -3 2421 2556 2555 -3 2420 2421 2555 -3 2556 2691 2690 -3 2555 2556 2690 -3 2827 2826 2690 -3 2691 2827 2690 -3 2966 2965 2826 -3 2827 2966 2826 -3 3107 3106 2965 -3 2966 3107 2965 -3 3247 3246 3106 -3 3107 3247 3106 -3 3386 3385 3246 -3 3247 3386 3246 -3 3386 3519 3518 -3 3385 3386 3518 -3 3519 3649 3648 -3 3518 3519 3648 -3 3781 3780 3648 -3 3649 3781 3648 -3 3781 3913 3912 -3 3780 3781 3912 -3 3913 4047 4046 -3 3912 3913 4046 -3 4047 4180 4179 -3 4046 4047 4179 -3 4180 4313 4312 -3 4179 4180 4312 -3 4447 4446 4312 -3 4313 4447 4312 -3 4447 4581 4580 -3 4446 4447 4580 -3 4715 4714 4580 -3 4581 4715 4580 -3 4715 4850 4849 -3 4714 4715 4849 -3 4985 4984 4849 -3 4850 4985 4849 -3 5120 5119 4984 -3 4985 5120 4984 -3 5120 5254 5253 -3 5119 5120 5253 -3 5254 5389 5388 -3 5253 5254 5388 -3 5389 5523 5522 -3 5388 5389 5522 -3 5523 5658 5657 -3 5522 5523 5657 -3 5658 5792 5791 -3 5657 5658 5791 -3 5792 5924 5923 -3 5791 5792 5923 -3 5924 6056 6055 -3 5923 5924 6055 -3 6056 6186 6185 -3 6055 6056 6185 -3 6186 6315 6314 -3 6185 6186 6314 -3 6315 6442 6441 -3 6314 6315 6441 -3 6442 6568 6567 -3 6441 6442 6567 -3 6568 6693 6692 -3 6567 6568 6692 -3 6693 6820 6819 -3 6692 6693 6819 -3 6820 6136 6133 -3 6819 6820 6133 -3 6136 4384 4779 -3 6133 6136 4779 -3 4384 3971 3707 -3 4779 4384 3707 -3 3971 2892 3031 -3 3707 3971 3031 -3 3175 3315 3031 -3 2892 3175 3031 -3 3175 5858 5859 -3 3175 5859 3315 -3 13916 14014 13915 -3 11319 13888 935 -3 14205 14303 14302 -3 14204 14205 14302 -3 12042 12205 12660 -3 13198 11134 3340 -3 35550 35867 35653 -3 29079 29217 35779 -3 6743 9096 6742 -3 6734 6735 902 -3 13916 13915 13817 -3 31645 31557 31646 -3 22417 7405 35000 -3 921 1040 920 -3 3168 3169 5854 -3 5836 5968 5835 -3 4109 2618 2619 -3 35843 35794 35383 -3 13020 13114 7467 -3 2460 2595 2594 -3 2730 2866 2729 -3 312 421 311 -3 6739 6738 8460 -3 1938 1939 2063 -3 2865 2864 2728 -3 6746 6745 6620 -3 2729 2865 2728 -3 34807 34936 34806 -3 6621 6746 6620 -3 10474 259 6000 -3 6239 6368 6238 -3 73 59 2516 -3 3716 73 2516 -3 59 4132 812 -3 2516 59 812 -3 1184 222 6253 -3 4132 6253 812 -3 13958 12042 13209 -3 3057 13191 3201 -3 11777 13314 35545 -3 11894 13581 13483 -3 20377 20461 20376 -3 3593 3127 3723 -3 23207 23305 23206 -3 17982 19491 23410 -3 15157 15155 20412 -3 4193 4328 17246 -3 23010 23108 23009 -3 17017 17016 589 -3 381 495 494 -3 380 381 494 -3 495 610 609 -3 494 495 609 -3 610 728 727 -3 609 610 727 -3 728 847 846 -3 727 728 846 -3 847 966 965 -3 846 847 965 -3 966 1084 1083 -3 965 966 1083 -3 1084 1200 1199 -3 1083 1084 1199 -3 1316 1315 1199 -3 1200 1316 1199 -3 1432 1431 1315 -3 1316 1432 1315 -3 1548 1547 1431 -3 1432 1548 1431 -3 1665 1664 1547 -3 1548 1665 1547 -3 1782 1781 1664 -3 1665 1782 1664 -3 1782 1902 1901 -3 1781 1782 1901 -3 1902 2027 2026 -3 1901 1902 2026 -3 2027 2156 2155 -3 2026 2027 2155 -3 2156 2288 2287 -3 2155 2156 2287 -3 2288 2422 2421 -3 2287 2288 2421 -3 2422 2557 2556 -3 2421 2422 2556 -3 2557 2692 2691 -3 2556 2557 2691 -3 2692 2828 2827 -3 2691 2692 2827 -3 2828 2967 2966 -3 2827 2828 2966 -3 2967 3108 3107 -3 2966 2967 3107 -3 3248 3247 3107 -3 3108 3248 3107 -3 3387 3386 3247 -3 3248 3387 3247 -3 3520 3519 3386 -3 3387 3520 3386 -3 3650 3649 3519 -3 3520 3650 3519 -3 3782 3781 3649 -3 3650 3782 3649 -3 3782 3914 3913 -3 3781 3782 3913 -3 3914 4048 4047 -3 3913 3914 4047 -3 4048 4181 4180 -3 4047 4048 4180 -3 4181 4314 4313 -3 4180 4181 4313 -3 4448 4447 4313 -3 4314 4448 4313 -3 4582 4581 4447 -3 4448 4582 4447 -3 4716 4715 4581 -3 4582 4716 4581 -3 4716 4851 4850 -3 4715 4716 4850 -3 4986 4985 4850 -3 4851 4986 4850 -3 5121 5120 4985 -3 4986 5121 4985 -3 5255 5254 5120 -3 5121 5255 5120 -3 5390 5389 5254 -3 5255 5390 5254 -3 5524 5523 5389 -3 5390 5524 5389 -3 5524 5659 5658 -3 5523 5524 5658 -3 5793 5792 5658 -3 5659 5793 5658 -3 5793 5925 5924 -3 5792 5793 5924 -3 5925 6057 6056 -3 5924 5925 6056 -3 6057 6187 6186 -3 6056 6057 6186 -3 6187 6316 6315 -3 6186 6187 6315 -3 6316 6443 6442 -3 6315 6316 6442 -3 6443 6569 6568 -3 6442 6443 6568 -3 6569 6694 6693 -3 6568 6569 6693 -3 6694 6821 6820 -3 6693 6694 6820 -3 6821 1841 6136 -3 6820 6821 6136 -3 1841 1048 4384 -3 6136 1841 4384 -3 1048 3437 3971 -3 4384 1048 3971 -3 3437 5984 2892 -3 3971 3437 2892 -3 5984 3034 3175 -3 2892 5984 3175 -3 5989 3262 5858 -3 3034 5858 3175 -3 14014 14013 13915 -3 13888 13493 935 -3 15696 14619 16037 -3 11516 11583 11582 -3 12407 12496 12406 -3 8332 13671 13573 -3 12038 11724 35731 -3 7990 8106 8105 -3 6364 6365 6491 -3 35678 35666 35402 -3 2744 2746 2339 -3 9679 6119 5988 -3 6367 6366 6237 -3 6238 6367 6237 -3 1257 1256 2749 -3 4227 4360 4359 -3 11804 6916 6848 -3 5162 5296 5295 -3 416 530 529 -3 3146 3286 3145 -3 35869 35453 35926 -3 530 645 644 -3 1002 1120 1119 -3 2368 2236 2237 -3 1585 1702 1701 -3 2593 2594 2728 -3 6746 1885 1883 -3 6745 6746 1883 -3 2731 2867 2730 -3 6480 6481 6606 -3 13789 14736 16774 -3 11242 3716 259 -3 574 4131 4132 -3 59 574 4132 -3 4131 560 6253 -3 4132 4131 6253 -3 6384 1856 63 -3 3349 109 200 -3 8902 11646 10385 -3 12407 12406 12320 -3 8345 8327 8344 -3 2097 4127 4250 -3 22415 22416 22513 -3 23004 23003 22904 -3 23402 23401 23304 -3 243 3265 5006 -3 14878 14879 14998 -3 11862 15733 12538 -3 13618 35561 35736 -3 35699 35604 35540 -3 496 611 610 -3 495 496 610 -3 611 729 728 -3 610 611 728 -3 729 848 847 -3 728 729 847 -3 848 967 966 -3 847 848 966 -3 967 1085 1084 -3 966 967 1084 -3 1201 1200 1084 -3 1085 1201 1084 -3 1317 1316 1200 -3 1201 1317 1200 -3 1433 1432 1316 -3 1317 1433 1316 -3 1549 1548 1432 -3 1433 1549 1432 -3 1666 1665 1548 -3 1549 1666 1548 -3 1783 1782 1665 -3 1666 1783 1665 -3 1903 1902 1782 -3 1783 1903 1782 -3 2028 2027 1902 -3 1903 2028 1902 -3 2028 2157 2156 -3 2027 2028 2156 -3 2289 2288 2156 -3 2157 2289 2156 -3 2423 2422 2288 -3 2289 2423 2288 -3 2558 2557 2422 -3 2423 2558 2422 -3 2693 2692 2557 -3 2558 2693 2557 -3 2693 2829 2828 -3 2692 2693 2828 -3 2829 2968 2967 -3 2828 2829 2967 -3 3109 3108 2967 -3 2968 3109 2967 -3 3249 3248 3108 -3 3109 3249 3108 -3 3388 3387 3248 -3 3249 3388 3248 -3 3521 3520 3387 -3 3388 3521 3387 -3 3651 3650 3520 -3 3521 3651 3520 -3 3783 3782 3650 -3 3651 3783 3650 -3 3783 3915 3914 -3 3782 3783 3914 -3 3915 4049 4048 -3 3914 3915 4048 -3 4049 4182 4181 -3 4048 4049 4181 -3 4182 4315 4314 -3 4181 4182 4314 -3 4449 4448 4314 -3 4315 4449 4314 -3 4583 4582 4448 -3 4449 4583 4448 -3 4583 4717 4716 -3 4582 4583 4716 -3 4717 4852 4851 -3 4716 4717 4851 -3 4852 4987 4986 -3 4851 4852 4986 -3 5122 5121 4986 -3 4987 5122 4986 -3 5256 5255 5121 -3 5122 5256 5121 -3 5391 5390 5255 -3 5256 5391 5255 -3 5525 5524 5390 -3 5391 5525 5390 -3 5660 5659 5524 -3 5525 5660 5524 -3 5794 5793 5659 -3 5660 5794 5659 -3 5926 5925 5793 -3 5794 5926 5793 -3 5926 6058 6057 -3 5925 5926 6057 -3 6058 6188 6187 -3 6057 6058 6187 -3 6188 6317 6316 -3 6187 6188 6316 -3 6317 6444 6443 -3 6316 6317 6443 -3 6444 6570 6569 -3 6443 6444 6569 -3 6570 6695 6694 -3 6569 6570 6694 -3 6695 6822 6821 -3 6694 6695 6821 -3 6822 1840 1841 -3 6821 6822 1841 -3 1840 4251 1048 -3 1841 1840 1048 -3 4251 3442 3437 -3 1048 4251 3437 -3 3442 5853 5984 -3 3437 3442 5984 -3 2895 3034 5984 -3 5853 2895 5984 -3 5989 6120 15394 -3 2895 5989 3034 -3 13818 13916 13817 -3 2498 11319 2497 -3 12680 12679 12589 -3 12590 12680 12589 -3 11585 11660 11584 -3 8870 16667 16824 -3 14185 3178 3735 -3 32508 32507 32402 -3 2070 2069 1944 -3 4495 4496 4629 -3 1825 1824 1707 -3 6367 6494 6366 -3 647 646 531 -3 5168 5169 5302 -3 6494 6493 6366 -3 5161 5162 5295 -3 5034 5169 5168 -3 450 449 6727 -3 5027 5162 5161 -3 2866 2865 2729 -3 4621 4622 4755 -3 894 893 774 -3 35631 35439 35874 -3 1939 2064 2063 -3 1236 1237 1352 -3 1885 191 2000 -3 1883 1885 2000 -3 3843 2480 2616 -3 6366 6493 6365 -3 35448 35567 35687 -3 5035 5036 5170 -3 575 3998 4131 -3 574 575 4131 -3 3998 445 560 -3 4131 3998 560 -3 200 199 3349 -3 445 200 560 -3 14258 13519 11261 -3 12465 13415 13212 -3 12726 12051 12133 -3 13320 11129 13769 -3 35928 13304 12208 -3 20209 20208 20123 -3 9528 243 5006 -3 15567 677 4376 -3 22319 22416 22415 -3 15155 15734 20412 -3 14654 14872 1655 -3 1563 7113 15017 -3 35836 35709 35692 -3 14399 14418 14398 -3 35885 35922 35872 -3 5147 5148 5282 -3 730 849 848 -3 729 730 848 -3 849 968 967 -3 848 849 967 -3 1086 1085 967 -3 968 1086 967 -3 1086 1202 1201 -3 1085 1086 1201 -3 1318 1317 1201 -3 1202 1318 1201 -3 1434 1433 1317 -3 1318 1434 1317 -3 1550 1549 1433 -3 1434 1550 1433 -3 1667 1666 1549 -3 1550 1667 1549 -3 1784 1783 1666 -3 1667 1784 1666 -3 1904 1903 1783 -3 1784 1904 1783 -3 2029 2028 1903 -3 1904 2029 1903 -3 2158 2157 2028 -3 2029 2158 2028 -3 2290 2289 2157 -3 2158 2290 2157 -3 2290 2424 2423 -3 2289 2290 2423 -3 2559 2558 2423 -3 2424 2559 2423 -3 2559 2694 2693 -3 2558 2559 2693 -3 2694 2830 2829 -3 2693 2694 2829 -3 2830 2969 2968 -3 2829 2830 2968 -3 2969 3110 3109 -3 2968 2969 3109 -3 3250 3249 3109 -3 3110 3250 3109 -3 3389 3388 3249 -3 3250 3389 3249 -3 3522 3521 3388 -3 3389 3522 3388 -3 3652 3651 3521 -3 3522 3652 3521 -3 3784 3783 3651 -3 3652 3784 3651 -3 3784 3916 3915 -3 3783 3784 3915 -3 3916 4050 4049 -3 3915 3916 4049 -3 4050 4183 4182 -3 4049 4050 4182 -3 4183 4316 4315 -3 4182 4183 4315 -3 4450 4449 4315 -3 4316 4450 4315 -3 4450 4584 4583 -3 4449 4450 4583 -3 4718 4717 4583 -3 4584 4718 4583 -3 4718 4853 4852 -3 4717 4718 4852 -3 4853 4988 4987 -3 4852 4853 4987 -3 5123 5122 4987 -3 4988 5123 4987 -3 5257 5256 5122 -3 5123 5257 5122 -3 5392 5391 5256 -3 5257 5392 5256 -3 5526 5525 5391 -3 5392 5526 5391 -3 5661 5660 5525 -3 5526 5661 5525 -3 5795 5794 5660 -3 5661 5795 5660 -3 5927 5926 5794 -3 5795 5927 5794 -3 5927 6059 6058 -3 5926 5927 6058 -3 6189 6188 6058 -3 6059 6189 6058 -3 6318 6317 6188 -3 6189 6318 6188 -3 6445 6444 6317 -3 6318 6445 6317 -3 6445 6571 6570 -3 6444 6445 6570 -3 6571 6696 6695 -3 6570 6571 6695 -3 6696 6823 6822 -3 6695 6696 6822 -3 6823 1723 1840 -3 6822 6823 1840 -3 1723 1491 4251 -3 1840 1723 4251 -3 1491 3443 3442 -3 4251 1491 3442 -3 3443 5720 5853 -3 3442 3443 5853 -3 2759 2895 5853 -3 5720 2759 5853 -3 6120 6249 4814 -3 2759 6120 2895 -3 14308 14307 14209 -3 12475 13096 14087 -3 11604 11603 11536 -3 23107 23106 23008 -3 12329 12328 12243 -3 13361 13456 13360 -3 7244 7245 418 -3 13868 13773 13675 -3 3828 3829 10394 -3 9106 2083 179 -3 4492 4626 4625 -3 546 15176 4127 -3 6619 6620 6744 -3 6494 6620 6619 -3 10513 4094 4093 -3 4087 4088 4220 -3 4488 4489 4622 -3 5026 5027 5161 -3 2866 3005 2865 -3 3005 3146 3004 -3 10759 8029 6770 -3 3818 3950 3949 -3 1469 1468 1352 -3 1152 4526 2094 -3 2070 2199 2069 -3 1752 1868 1751 -3 6493 6619 6618 -3 6610 6735 6734 -3 5171 5305 5304 -3 6492 6493 6618 -3 11014 4631 4630 -3 5459 5324 1727 -3 3866 1742 445 -3 3998 3866 445 -3 1742 199 200 -3 445 1742 200 -3 12465 40 13415 -3 295 6642 15565 -3 13769 13868 13675 -3 13986 13889 8977 -3 11412 31475 11413 -3 35373 35432 35361 -3 677 1829 4376 -3 6254 23897 170 -3 1829 243 9528 -3 4376 1829 9528 -3 15733 15597 12538 -3 22461 168 2786 -3 1660 1563 15017 -3 15017 7113 14585 -3 15834 15061 15049 -3 15799 15834 15049 -3 16287 16432 16286 -3 22218 22314 22313 -3 731 850 849 -3 25871 1775 25730 -3 850 969 968 -3 849 850 968 -3 969 1087 1086 -3 968 969 1086 -3 1087 1203 1202 -3 1086 1087 1202 -3 1319 1318 1202 -3 1203 1319 1202 -3 1435 1434 1318 -3 1319 1435 1318 -3 1551 1550 1434 -3 1435 1551 1434 -3 1668 1667 1550 -3 1551 1668 1550 -3 1785 1784 1667 -3 1668 1785 1667 -3 1905 1904 1784 -3 1785 1905 1784 -3 2030 2029 1904 -3 1905 2030 1904 -3 2159 2158 2029 -3 2030 2159 2029 -3 2291 2290 2158 -3 2159 2291 2158 -3 2425 2424 2290 -3 2291 2425 2290 -3 2560 2559 2424 -3 2425 2560 2424 -3 2695 2694 2559 -3 2560 2695 2559 -3 2695 2831 2830 -3 2694 2695 2830 -3 2831 2970 2969 -3 2830 2831 2969 -3 2970 3111 3110 -3 2969 2970 3110 -3 3111 3251 3250 -3 3110 3111 3250 -3 3390 3389 3250 -3 3251 3390 3250 -3 3523 3522 3389 -3 3390 3523 3389 -3 3653 3652 3522 -3 3523 3653 3522 -3 3785 3784 3652 -3 3653 3785 3652 -3 3917 3916 3784 -3 3785 3917 3784 -3 4051 4050 3916 -3 3917 4051 3916 -3 4184 4183 4050 -3 4051 4184 4050 -3 4317 4316 4183 -3 4184 4317 4183 -3 4317 4451 4450 -3 4316 4317 4450 -3 4451 4585 4584 -3 4450 4451 4584 -3 4719 4718 4584 -3 4585 4719 4584 -3 4719 4854 4853 -3 4718 4719 4853 -3 4854 4989 4988 -3 4853 4854 4988 -3 5124 5123 4988 -3 4989 5124 4988 -3 5258 5257 5123 -3 5124 5258 5123 -3 5393 5392 5257 -3 5258 5393 5257 -3 5527 5526 5392 -3 5393 5527 5392 -3 5662 5661 5526 -3 5527 5662 5526 -3 5796 5795 5661 -3 5662 5796 5661 -3 5928 5927 5795 -3 5796 5928 5795 -3 6060 6059 5927 -3 5928 6060 5927 -3 6190 6189 6059 -3 6060 6190 6059 -3 6319 6318 6189 -3 6190 6319 6189 -3 6446 6445 6318 -3 6319 6446 6318 -3 6572 6571 6445 -3 6446 6572 6445 -3 6697 6696 6571 -3 6572 6697 6571 -3 6697 6824 6823 -3 6696 6697 6823 -3 6824 1722 1723 -3 6823 6824 1723 -3 1722 3839 1491 -3 1723 1722 1491 -3 3839 3444 3443 -3 1491 3839 3443 -3 5586 5720 3443 -3 3444 5586 3443 -3 2624 2759 5720 -3 5586 2624 5720 -3 2489 6249 2624 -3 2759 2624 6120 -3 14016 14114 14015 -3 14210 14308 14209 -3 13027 6957 11128 -3 13782 12898 1754 -3 2388 12640 14164 -3 11949 12367 12912 -3 23990 24889 20435 -3 5695 8843 5333 -3 13773 12819 12727 -3 3181 15971 3460 -3 3952 4086 3951 -3 3820 3952 3819 -3 1472 1588 1471 -3 6493 6494 6619 -3 6745 1883 1882 -3 6734 902 696 -3 6729 6728 6603 -3 4623 4757 4756 -3 4757 4892 4891 -3 3286 3285 3145 -3 3146 3145 3004 -3 2370 8950 2369 -3 1983 2108 2107 -3 16793 15901 5701 -3 530 531 645 -3 14473 12056 16318 -3 5292 5291 5157 -3 2196 2195 2066 -3 4127 15176 15175 -3 6619 6744 6743 -3 6500 6501 6626 -3 2220 2352 5459 -3 6618 6619 6743 -3 334 1742 3866 -3 10733 575 10858 -3 334 198 199 -3 1742 334 199 -3 15565 6642 936 -3 199 198 295 -3 8843 3476 4391 -3 907 19101 4512 -3 12131 13100 35708 -3 31552 31551 26516 -3 7196 8117 10454 -3 2942 252 2761 -3 5272 15046 2102 -3 17246 17245 17081 -3 223 677 15567 -3 1682 1798 4328 -3 4193 1682 4328 -3 14879 14999 14998 -3 9915 9304 9539 -3 15061 16687 16669 -3 15049 15061 16669 -3 16911 16910 16752 -3 22411 22412 22509 -3 849 730 731 -3 4934 1499 14435 -3 851 970 969 -3 850 851 969 -3 970 1088 1087 -3 969 970 1087 -3 1088 1204 1203 -3 1087 1088 1203 -3 1320 1319 1203 -3 1204 1320 1203 -3 1436 1435 1319 -3 1320 1436 1319 -3 1552 1551 1435 -3 1436 1552 1435 -3 1669 1668 1551 -3 1552 1669 1551 -3 1786 1785 1668 -3 1669 1786 1668 -3 1906 1905 1785 -3 1786 1906 1785 -3 2031 2030 1905 -3 1906 2031 1905 -3 2160 2159 2030 -3 2031 2160 2030 -3 2292 2291 2159 -3 2160 2292 2159 -3 2426 2425 2291 -3 2292 2426 2291 -3 2561 2560 2425 -3 2426 2561 2425 -3 2696 2695 2560 -3 2561 2696 2560 -3 2832 2831 2695 -3 2696 2832 2695 -3 2971 2970 2831 -3 2832 2971 2831 -3 3112 3111 2970 -3 2971 3112 2970 -3 3252 3251 3111 -3 3112 3252 3111 -3 3391 3390 3251 -3 3252 3391 3251 -3 3524 3523 3390 -3 3391 3524 3390 -3 3654 3653 3523 -3 3524 3654 3523 -3 3786 3785 3653 -3 3654 3786 3653 -3 3918 3917 3785 -3 3786 3918 3785 -3 4052 4051 3917 -3 3918 4052 3917 -3 4185 4184 4051 -3 4052 4185 4051 -3 4185 4318 4317 -3 4184 4185 4317 -3 4318 4452 4451 -3 4317 4318 4451 -3 4586 4585 4451 -3 4452 4586 4451 -3 4586 4720 4719 -3 4585 4586 4719 -3 4720 4855 4854 -3 4719 4720 4854 -3 4855 4990 4989 -3 4854 4855 4989 -3 5125 5124 4989 -3 4990 5125 4989 -3 5259 5258 5124 -3 5125 5259 5124 -3 5394 5393 5258 -3 5259 5394 5258 -3 5528 5527 5393 -3 5394 5528 5393 -3 5663 5662 5527 -3 5528 5663 5527 -3 5797 5796 5662 -3 5663 5797 5662 -3 5929 5928 5796 -3 5797 5929 5796 -3 6061 6060 5928 -3 5929 6061 5928 -3 6191 6190 6060 -3 6061 6191 6060 -3 6320 6319 6190 -3 6191 6320 6190 -3 6447 6446 6319 -3 6320 6447 6319 -3 6573 6572 6446 -3 6447 6573 6446 -3 6698 6697 6572 -3 6573 6698 6572 -3 6698 6825 6824 -3 6697 6698 6824 -3 1606 1722 6824 -3 6825 1606 6824 -3 660 3839 1722 -3 1606 660 1722 -3 660 3577 3444 -3 3839 660 3444 -3 3577 5453 5586 -3 3444 3577 5586 -3 5453 2489 2624 -3 5586 5453 2624 -3 11993 12074 11992 -3 5318 2488 2489 -3 14114 14210 14209 -3 14113 14114 14209 -3 900 12898 13782 -3 11128 900 13782 -3 10240 4657 5061 -3 12898 10240 1754 -3 14285 9990 11362 -3 20857 20858 20937 -3 14120 14216 14215 -3 14211 14309 14210 -3 5965 6097 6096 -3 2605 2740 2604 -3 5305 5306 5440 -3 2649 2784 2783 -3 3002 3003 3143 -3 6620 6745 6744 -3 4622 4623 4756 -3 3144 3284 3283 -3 2202 2334 2333 -3 1957 1958 2756 -3 775 774 656 -3 2595 2730 2594 -3 775 894 774 -3 12233 12318 12317 -3 678 3969 664 -3 534 649 533 -3 4217 4218 4350 -3 3059 9516 7763 -3 12160 12159 12077 -3 11270 2356 11269 -3 212 1882 1883 -3 1642 1882 8350 -3 5324 1728 1727 -3 5304 5305 5439 -3 4250 15175 4130 -3 9305 10815 5183 -3 197 936 6642 -3 198 197 6642 -3 5320 4512 5455 -3 6793 7474 7819 -3 15456 15070 15069 -3 3476 4649 4391 -3 3182 20947 14871 -3 9528 5006 5000 -3 16694 4130 4655 -3 2761 223 15567 -3 3490 252 3489 -3 4945 5080 1798 -3 1682 4945 1798 -3 14765 14766 14878 -3 15370 14994 15167 -3 16687 1070 1534 -3 16669 16687 1534 -3 20617 21415 21414 -3 20811 20050 20049 -3 15973 4934 14435 -3 2399 4001 588 -3 18102 851 850 -3 23129 23031 23420 -3 2714 19845 19732 -3 35733 35512 35879 -3 1089 1205 1204 -3 1088 1089 1204 -3 1321 1320 1204 -3 1205 1321 1204 -3 1437 1436 1320 -3 1321 1437 1320 -3 1553 1552 1436 -3 1437 1553 1436 -3 1670 1669 1552 -3 1553 1670 1552 -3 1787 1786 1669 -3 1670 1787 1669 -3 1907 1906 1786 -3 1787 1907 1786 -3 2032 2031 1906 -3 1907 2032 1906 -3 2161 2160 2031 -3 2032 2161 2031 -3 2293 2292 2160 -3 2161 2293 2160 -3 2427 2426 2292 -3 2293 2427 2292 -3 2562 2561 2426 -3 2427 2562 2426 -3 2697 2696 2561 -3 2562 2697 2561 -3 2833 2832 2696 -3 2697 2833 2696 -3 2972 2971 2832 -3 2833 2972 2832 -3 3113 3112 2971 -3 2972 3113 2971 -3 3253 3252 3112 -3 3113 3253 3112 -3 3392 3391 3252 -3 3253 3392 3252 -3 3525 3524 3391 -3 3392 3525 3391 -3 3655 3654 3524 -3 3525 3655 3524 -3 3787 3786 3654 -3 3655 3787 3654 -3 3919 3918 3786 -3 3787 3919 3786 -3 4053 4052 3918 -3 3919 4053 3918 -3 4186 4185 4052 -3 4053 4186 4052 -3 4186 4319 4318 -3 4185 4186 4318 -3 4453 4452 4318 -3 4319 4453 4318 -3 4453 4587 4586 -3 4452 4453 4586 -3 4587 4721 4720 -3 4586 4587 4720 -3 4721 4856 4855 -3 4720 4721 4855 -3 4856 4991 4990 -3 4855 4856 4990 -3 5126 5125 4990 -3 4991 5126 4990 -3 5260 5259 5125 -3 5126 5260 5125 -3 5395 5394 5259 -3 5260 5395 5259 -3 5529 5528 5394 -3 5395 5529 5394 -3 5664 5663 5528 -3 5529 5664 5528 -3 5798 5797 5663 -3 5664 5798 5663 -3 5930 5929 5797 -3 5798 5930 5797 -3 6062 6061 5929 -3 5930 6062 5929 -3 6192 6191 6061 -3 6062 6192 6061 -3 6321 6320 6191 -3 6192 6321 6191 -3 6448 6447 6320 -3 6321 6448 6320 -3 6574 6573 6447 -3 6448 6574 6447 -3 6699 6698 6573 -3 6574 6699 6573 -3 6699 6826 6825 -3 6698 6699 6825 -3 6826 1605 1606 -3 6825 6826 1606 -3 662 660 1606 -3 1605 662 1606 -3 3578 3577 660 -3 662 3578 660 -3 5318 5453 3577 -3 3578 5318 3577 -3 3179 35352 35575 -3 5453 5318 2489 -3 11909 11993 11908 -3 12760 12761 12852 -3 11739 11823 11738 -3 14307 14308 8048 -3 11993 11992 11908 -3 12077 12076 11995 -3 772 891 890 -3 9417 7808 7924 -3 35447 35711 35822 -3 1120 1121 1236 -3 1714 1715 8589 -3 8204 8312 1752 -3 2648 2649 2783 -3 1943 1944 2068 -3 5440 5441 5574 -3 5441 5575 5574 -3 415 416 529 -3 1939 1940 2064 -3 5154 5155 5288 -3 4892 5027 5026 -3 2065 2194 2193 -3 34679 34807 34678 -3 2064 2065 2193 -3 2193 2194 2325 -3 649 648 533 -3 432 4383 3570 -3 6221 6222 6350 -3 4351 4485 4484 -3 6114 6244 6243 -3 6109 6239 6108 -3 319 7043 7044 -3 2202 2201 2072 -3 5440 5574 5573 -3 5170 5171 5304 -3 4655 15301 15302 -3 2469 2604 2468 -3 106 6666 936 -3 197 106 936 -3 1610 3219 2122 -3 30983 31044 30982 -3 4129 3476 8843 -3 3451 4129 8843 -3 11102 14846 8010 -3 1758 11708 12200 -3 17108 15287 8895 -3 5321 1213 2488 -3 252 223 2761 -3 3490 3489 4810 -3 4945 3488 3617 -3 5080 4945 3617 -3 7113 14679 14585 -3 15287 14612 8895 -3 1070 1445 3666 -3 1534 1070 3666 -3 22121 22122 22217 -3 3595 8682 3668 -3 1297 14588 947 -3 16658 16817 16816 -3 16442 16441 25614 -3 31078 31077 31016 -3 477 592 17809 -3 16638 2265 6987 -3 35731 35878 35767 -3 1089 1090 1205 -3 1322 1321 1205 -3 1206 1322 1205 -3 1438 1437 1321 -3 1322 1438 1321 -3 1554 1553 1437 -3 1438 1554 1437 -3 1671 1670 1553 -3 1554 1671 1553 -3 1788 1787 1670 -3 1671 1788 1670 -3 1908 1907 1787 -3 1788 1908 1787 -3 2033 2032 1907 -3 1908 2033 1907 -3 2162 2161 2032 -3 2033 2162 2032 -3 2294 2293 2161 -3 2162 2294 2161 -3 2428 2427 2293 -3 2294 2428 2293 -3 2563 2562 2427 -3 2428 2563 2427 -3 2698 2697 2562 -3 2563 2698 2562 -3 2834 2833 2697 -3 2698 2834 2697 -3 2973 2972 2833 -3 2834 2973 2833 -3 3114 3113 2972 -3 2973 3114 2972 -3 3254 3253 3113 -3 3114 3254 3113 -3 3393 3392 3253 -3 3254 3393 3253 -3 3393 3526 3525 -3 3392 3393 3525 -3 3656 3655 3525 -3 3526 3656 3525 -3 3788 3787 3655 -3 3656 3788 3655 -3 3920 3919 3787 -3 3788 3920 3787 -3 4054 4053 3919 -3 3920 4054 3919 -3 4187 4186 4053 -3 4054 4187 4053 -3 4320 4319 4186 -3 4187 4320 4186 -3 4454 4453 4319 -3 4320 4454 4319 -3 4454 4588 4587 -3 4453 4454 4587 -3 4588 4722 4721 -3 4587 4588 4721 -3 4722 4857 4856 -3 4721 4722 4856 -3 4992 4991 4856 -3 4857 4992 4856 -3 5127 5126 4991 -3 4992 5127 4991 -3 5261 5260 5126 -3 5127 5261 5126 -3 5396 5395 5260 -3 5261 5396 5260 -3 5530 5529 5395 -3 5396 5530 5395 -3 5665 5664 5529 -3 5530 5665 5529 -3 5799 5798 5664 -3 5665 5799 5664 -3 5931 5930 5798 -3 5799 5931 5798 -3 6063 6062 5930 -3 5931 6063 5930 -3 6193 6192 6062 -3 6063 6193 6062 -3 6322 6321 6192 -3 6193 6322 6192 -3 6449 6448 6321 -3 6322 6449 6321 -3 6575 6574 6448 -3 6449 6575 6448 -3 6700 6699 6574 -3 6575 6700 6574 -3 6827 6826 6699 -3 6700 6827 6699 -3 1489 1605 6826 -3 6827 1489 6826 -3 661 662 1605 -3 1489 661 1605 -3 3305 3578 662 -3 661 3305 662 -3 3305 5184 5318 -3 3578 3305 5318 -3 11804 7017 7016 -3 5318 5184 2488 -3 5155 5289 5288 -3 11520 11587 11519 -3 2732 2868 2731 -3 2726 2727 2862 -3 10500 12277 12278 -3 28993 35895 35441 -3 6603 6728 6602 -3 4352 4486 4485 -3 1869 1989 1988 -3 1868 1869 1988 -3 1989 2114 2113 -3 8420 1991 1870 -3 891 1010 890 -3 3593 3723 1484 -3 3301 3580 3704 -3 1006 1124 1005 -3 2195 2327 2194 -3 885 886 1004 -3 4489 4623 4622 -3 4756 4757 4891 -3 3561 3691 3690 -3 4222 4221 4088 -3 2730 2729 2594 -3 2194 2326 2325 -3 5568 5569 5703 -3 3950 3951 4084 -3 531 646 645 -3 457 450 6728 -3 35501 35421 35439 -3 6368 6367 6238 -3 6237 6366 6236 -3 5843 5975 5842 -3 5305 5440 5439 -3 6493 6492 6365 -3 2739 2738 2603 -3 5324 11394 1728 -3 15301 4655 15175 -3 2604 2603 2468 -3 6793 2122 6766 -3 6666 6793 6766 -3 35394 35714 35529 -3 5189 4414 1376 -3 2786 168 7064 -3 13007 12868 22244 -3 35821 35735 35694 -3 20124 20209 20123 -3 2916 14644 2310 -3 4675 3490 4810 -3 252 2942 3489 -3 2941 2940 3617 -3 3488 2941 3617 -3 15111 15237 15236 -3 35700 1022 35551 -3 1445 17172 1536 -3 3666 1445 1536 -3 22412 22510 22509 -3 22030 22126 22125 -3 16657 16658 16816 -3 582 2937 389 -3 23129 12868 13007 -3 22708 22807 22806 -3 16633 16638 6987 -3 2265 16469 16470 -3 30220 35496 35516 -3 15172 4244 15930 -3 1207 1323 1322 -3 1206 1207 1322 -3 1439 1438 1322 -3 1323 1439 1322 -3 1555 1554 1438 -3 1439 1555 1438 -3 1672 1671 1554 -3 1555 1672 1554 -3 1789 1788 1671 -3 1672 1789 1671 -3 1909 1908 1788 -3 1789 1909 1788 -3 2034 2033 1908 -3 1909 2034 1908 -3 2163 2162 2033 -3 2034 2163 2033 -3 2295 2294 2162 -3 2163 2295 2162 -3 2429 2428 2294 -3 2295 2429 2294 -3 2564 2563 2428 -3 2429 2564 2428 -3 2699 2698 2563 -3 2564 2699 2563 -3 2835 2834 2698 -3 2699 2835 2698 -3 2974 2973 2834 -3 2835 2974 2834 -3 3115 3114 2973 -3 2974 3115 2973 -3 3255 3254 3114 -3 3115 3255 3114 -3 3394 3393 3254 -3 3255 3394 3254 -3 3394 3527 3526 -3 3393 3394 3526 -3 3657 3656 3526 -3 3527 3657 3526 -3 3789 3788 3656 -3 3657 3789 3656 -3 3921 3920 3788 -3 3789 3921 3788 -3 4055 4054 3920 -3 3921 4055 3920 -3 4188 4187 4054 -3 4055 4188 4054 -3 4321 4320 4187 -3 4188 4321 4187 -3 4321 4455 4454 -3 4320 4321 4454 -3 4455 4589 4588 -3 4454 4455 4588 -3 4723 4722 4588 -3 4589 4723 4588 -3 4858 4857 4722 -3 4723 4858 4722 -3 4993 4992 4857 -3 4858 4993 4857 -3 4993 5128 5127 -3 4992 4993 5127 -3 5128 5262 5261 -3 5127 5128 5261 -3 5397 5396 5261 -3 5262 5397 5261 -3 5531 5530 5396 -3 5397 5531 5396 -3 5666 5665 5530 -3 5531 5666 5530 -3 5800 5799 5665 -3 5666 5800 5665 -3 5932 5931 5799 -3 5800 5932 5799 -3 6064 6063 5931 -3 5932 6064 5931 -3 6194 6193 6063 -3 6064 6194 6063 -3 6323 6322 6193 -3 6194 6323 6193 -3 6450 6449 6322 -3 6323 6450 6322 -3 6576 6575 6449 -3 6450 6576 6449 -3 6701 6700 6575 -3 6576 6701 6575 -3 6828 6827 6700 -3 6701 6828 6700 -3 3573 1489 6827 -3 6828 3573 6827 -3 781 661 1489 -3 3573 781 1489 -3 3304 3305 661 -3 781 3304 661 -3 3304 5050 5184 -3 3305 3304 5184 -3 8154 13958 11497 -3 5184 5050 5321 -3 4891 4892 5026 -3 4355 4489 4488 -3 14093 13997 9683 -3 4749 4750 4884 -3 13544 13545 13642 -3 11828 11914 11827 -3 11998 11997 11913 -3 14314 14313 14215 -3 1988 1989 2113 -3 2243 2242 2113 -3 8806 8913 8912 -3 1824 1944 1943 -3 2114 2243 2113 -3 1365 1364 1248 -3 769 770 888 -3 6487 6486 6359 -3 4895 5030 5029 -3 6101 6100 5968 -3 1356 1355 1239 -3 4354 4355 4488 -3 4089 4222 4088 -3 3005 3004 2865 -3 2326 2460 2459 -3 3696 3828 3695 -3 648 647 532 -3 4486 4620 4485 -3 1940 2065 2064 -3 4764 4765 4899 -3 2602 2603 2737 -3 1596 1595 1479 -3 15765 15904 7361 -3 6237 6236 6106 -3 6110 6240 6239 -3 1727 1728 3181 -3 6107 6237 6106 -3 2352 5324 5459 -3 5029 5030 5164 -3 35927 35726 35582 -3 6793 6666 7577 -3 15 5189 1376 -3 2122 15 1376 -3 12051 2388 14164 -3 3536 6769 3664 -3 12133 12051 14164 -3 9972 9855 9856 -3 35696 19537 20901 -3 5073 5207 15614 -3 2477 9063 16154 -3 2941 5207 5073 -3 1028 1738 15614 -3 2940 2941 5073 -3 5207 15618 15614 -3 3723 3855 1484 -3 579 15170 15046 -3 17172 17027 17026 -3 1536 17172 17026 -3 14432 20071 11947 -3 23316 15239 10705 -3 16817 16981 16980 -3 14435 1499 3081 -3 32638 32752 32751 -3 14871 20947 20057 -3 6987 2265 16470 -3 16469 6526 6017 -3 6409 35846 19143 -3 14980 15172 15930 -3 13025 35918 24801 -3 12132 35832 35784 -3 1440 1439 1323 -3 1324 1440 1323 -3 1556 1555 1439 -3 1440 1556 1439 -3 1673 1672 1555 -3 1556 1673 1555 -3 1790 1789 1672 -3 1673 1790 1672 -3 1910 1909 1789 -3 1790 1910 1789 -3 2035 2034 1909 -3 1910 2035 1909 -3 2164 2163 2034 -3 2035 2164 2034 -3 2296 2295 2163 -3 2164 2296 2163 -3 2430 2429 2295 -3 2296 2430 2295 -3 2565 2564 2429 -3 2430 2565 2429 -3 2700 2699 2564 -3 2565 2700 2564 -3 2836 2835 2699 -3 2700 2836 2699 -3 2975 2974 2835 -3 2836 2975 2835 -3 3116 3115 2974 -3 2975 3116 2974 -3 3256 3255 3115 -3 3116 3256 3115 -3 3395 3394 3255 -3 3256 3395 3255 -3 3528 3527 3394 -3 3395 3528 3394 -3 3658 3657 3527 -3 3528 3658 3527 -3 3790 3789 3657 -3 3658 3790 3657 -3 3922 3921 3789 -3 3790 3922 3789 -3 4056 4055 3921 -3 3922 4056 3921 -3 4056 4189 4188 -3 4055 4056 4188 -3 4189 4322 4321 -3 4188 4189 4321 -3 4322 4456 4455 -3 4321 4322 4455 -3 4456 4590 4589 -3 4455 4456 4589 -3 4724 4723 4589 -3 4590 4724 4589 -3 4859 4858 4723 -3 4724 4859 4723 -3 4994 4993 4858 -3 4859 4994 4858 -3 4994 5129 5128 -3 4993 4994 5128 -3 5129 5263 5262 -3 5128 5129 5262 -3 5398 5397 5262 -3 5263 5398 5262 -3 5532 5531 5397 -3 5398 5532 5397 -3 5667 5666 5531 -3 5532 5667 5531 -3 5801 5800 5666 -3 5667 5801 5666 -3 5933 5932 5800 -3 5801 5933 5800 -3 6065 6064 5932 -3 5933 6065 5932 -3 6195 6194 6064 -3 6065 6195 6064 -3 6324 6323 6194 -3 6195 6324 6194 -3 6451 6450 6323 -3 6324 6451 6323 -3 6577 6576 6450 -3 6451 6577 6450 -3 6702 6701 6576 -3 6577 6702 6576 -3 6829 6828 6701 -3 6702 6829 6701 -3 3703 3573 6828 -3 6829 3703 6828 -3 1599 781 3573 -3 3703 1599 3573 -3 3445 3304 781 -3 1599 3445 781 -3 35641 23855 35681 -3 3304 3445 5050 -3 12975 13069 12974 -3 2513 2512 2378 -3 1494 7763 3060 -3 35526 35574 35673 -3 9683 8570 12454 -3 13584 12720 12454 -3 12044 12113 11722 -3 1381 11970 13214 -3 6238 6237 6107 -3 9350 9351 9465 -3 2375 2374 2242 -3 2243 2375 2242 -3 2509 2508 2374 -3 2375 2509 2374 -3 3855 1485 1484 -3 6108 6107 5975 -3 9991 35396 11362 -3 34412 34549 34411 -3 1240 1356 1239 -3 543 658 542 -3 3955 4089 3954 -3 4222 4355 4354 -3 20295 20294 20208 -3 12571 13379 11249 -3 4753 4888 4887 -3 5437 5438 5571 -3 11949 11723 12367 -3 1702 1703 1819 -3 2591 2592 2726 -3 4890 4891 5025 -3 2727 2863 2862 -3 13675 13773 12727 -3 1481 1597 1480 -3 28314 28313 28196 -3 6366 6365 6236 -3 6107 6106 5974 -3 15203 22258 10482 -3 4888 5023 5022 -3 35358 35704 35446 -3 2616 2480 2220 -3 5829 4393 5189 -3 15 5829 5189 -3 3664 1387 131 -3 5189 4393 41 -3 11872 11786 12727 -3 11414 11464 11463 -3 2190 2191 2322 -3 433 14564 3350 -3 3267 433 3350 -3 17016 590 589 -3 17186 17016 17017 -3 15825 579 169 -3 15963 15825 169 -3 169 579 15046 -3 24999 15273 25001 -3 17027 17017 17018 -3 17026 17027 17018 -3 15738 15209 16449 -3 4516 11251 7457 -3 388 582 389 -3 16192 15437 14814 -3 23103 23201 23200 -3 15071 15462 15461 -3 16470 16469 6017 -3 6526 1170 2906 -3 11413 11414 11463 -3 905 1735 4095 -3 16550 16554 5610 -3 1441 1440 1324 -3 21305 35816 21488 -3 1557 1556 1440 -3 1441 1557 1440 -3 1674 1673 1556 -3 1557 1674 1556 -3 1791 1790 1673 -3 1674 1791 1673 -3 1911 1910 1790 -3 1791 1911 1790 -3 2036 2035 1910 -3 1911 2036 1910 -3 2165 2164 2035 -3 2036 2165 2035 -3 2297 2296 2164 -3 2165 2297 2164 -3 2431 2430 2296 -3 2297 2431 2296 -3 2566 2565 2430 -3 2431 2566 2430 -3 2701 2700 2565 -3 2566 2701 2565 -3 2837 2836 2700 -3 2701 2837 2700 -3 2976 2975 2836 -3 2837 2976 2836 -3 3117 3116 2975 -3 2976 3117 2975 -3 3257 3256 3116 -3 3117 3257 3116 -3 3396 3395 3256 -3 3257 3396 3256 -3 3529 3528 3395 -3 3396 3529 3395 -3 3529 3659 3658 -3 3528 3529 3658 -3 3659 3791 3790 -3 3658 3659 3790 -3 3791 3923 3922 -3 3790 3791 3922 -3 3923 4057 4056 -3 3922 3923 4056 -3 4057 4190 4189 -3 4056 4057 4189 -3 4190 4323 4322 -3 4189 4190 4322 -3 4323 4457 4456 -3 4322 4323 4456 -3 4457 4591 4590 -3 4456 4457 4590 -3 4725 4724 4590 -3 4591 4725 4590 -3 4860 4859 4724 -3 4725 4860 4724 -3 4995 4994 4859 -3 4860 4995 4859 -3 4995 5130 5129 -3 4994 4995 5129 -3 5130 5264 5263 -3 5129 5130 5263 -3 5399 5398 5263 -3 5264 5399 5263 -3 5399 5533 5532 -3 5398 5399 5532 -3 5533 5668 5667 -3 5532 5533 5667 -3 5802 5801 5667 -3 5668 5802 5667 -3 5934 5933 5801 -3 5802 5934 5801 -3 6066 6065 5933 -3 5934 6066 5933 -3 6196 6195 6065 -3 6066 6196 6065 -3 6325 6324 6195 -3 6196 6325 6195 -3 6452 6451 6324 -3 6325 6452 6324 -3 6578 6577 6451 -3 6452 6578 6451 -3 6578 6703 6702 -3 6577 6578 6702 -3 6830 6829 6702 -3 6703 6830 6702 -3 3702 3703 6829 -3 6830 3702 6829 -3 1607 1599 3703 -3 3702 1607 3703 -3 3303 3445 1599 -3 1607 3303 1599 -3 3312 1299 15815 -3 9864 8870 16218 -3 9516 4256 3060 -3 9445 12386 11135 -3 12763 12764 12855 -3 4256 7324 3060 -3 9399 9877 9993 -3 2914 13692 6005 -3 12772 12773 12864 -3 11880 12044 12207 -3 6108 6238 6107 -3 13191 11004 3201 -3 26073 21359 23747 -3 2644 2643 2508 -3 2509 2644 2508 -3 407 7233 408 -3 5976 6108 5975 -3 1158 1157 1039 -3 5849 5850 5981 -3 2094 4526 2093 -3 776 775 657 -3 429 543 428 -3 3289 3428 3288 -3 4221 4222 4354 -3 2094 2093 1958 -3 1704 1821 1820 -3 10597 6795 10969 -3 667 784 3704 -3 4348 4482 4347 -3 3580 2757 3710 -3 4481 4482 4615 -3 4482 4616 4615 -3 5026 5161 5160 -3 4087 4220 4219 -3 4252 2102 1602 -3 3004 3003 2864 -3 5975 6107 5974 -3 5975 5974 5842 -3 13019 12568 12925 -3 3169 5985 5854 -3 418 533 532 -3 3949 3948 3816 -3 7819 5829 15 -3 13387 13483 8008 -3 5057 1387 6769 -3 4393 5057 6769 -3 25941 26073 23747 -3 13676 12725 35800 -3 21359 24789 24840 -3 3350 14564 3328 -3 14564 2151 3328 -3 17027 17186 17017 -3 16624 17186 17027 -3 2668 589 16103 -3 16103 15963 3874 -3 17017 589 2668 -3 15963 169 3874 -3 17018 17017 2668 -3 589 15963 16103 -3 21933 10263 21934 -3 15198 8223 3339 -3 3622 15635 15501 -3 1327 858 1209 -3 20947 23417 20057 -3 22415 22414 22317 -3 6017 6526 2906 -3 1170 31 3743 -3 229 905 4095 -3 4677 4142 5588 -3 18478 1325 1324 -3 15375 15506 15505 -3 1558 1557 1441 -3 1442 1558 1441 -3 1675 1674 1557 -3 1558 1675 1557 -3 1792 1791 1674 -3 1675 1792 1674 -3 1912 1911 1791 -3 1792 1912 1791 -3 2037 2036 1911 -3 1912 2037 1911 -3 2166 2165 2036 -3 2037 2166 2036 -3 2298 2297 2165 -3 2166 2298 2165 -3 2432 2431 2297 -3 2298 2432 2297 -3 2567 2566 2431 -3 2432 2567 2431 -3 2702 2701 2566 -3 2567 2702 2566 -3 2838 2837 2701 -3 2702 2838 2701 -3 2977 2976 2837 -3 2838 2977 2837 -3 2977 3118 3117 -3 2976 2977 3117 -3 3118 3258 3257 -3 3117 3118 3257 -3 3397 3396 3257 -3 3258 3397 3257 -3 27612 21473 35847 -3 3396 3397 3529 -3 5282 14595 14630 -3 35555 35429 35487 -3 16587 16586 16434 -3 30771 26504 6874 -3 3791 3792 3923 -3 3659 3660 3791 -3 16656 16815 16655 -3 3792 3924 3923 -3 3924 4058 4057 -3 35516 35694 35779 -3 2178 3123 5882 -3 4058 4191 4190 -3 4191 4324 4323 -3 4818 19147 18485 -3 4592 4591 4457 -3 4458 4592 4457 -3 4592 4726 4725 -3 4591 4592 4725 -3 4726 4861 4860 -3 4725 4726 4860 -3 4861 4996 4995 -3 4860 4861 4995 -3 4996 5131 5130 -3 4995 4996 5130 -3 5131 5265 5264 -3 5130 5131 5264 -3 5265 5400 5399 -3 5264 5265 5399 -3 5400 5534 5533 -3 5399 5400 5533 -3 5534 5669 5668 -3 5533 5534 5668 -3 5669 5803 5802 -3 5668 5669 5802 -3 5935 5934 5802 -3 5803 5935 5802 -3 6067 6066 5934 -3 5935 6067 5934 -3 6197 6196 6066 -3 6067 6197 6066 -3 6326 6325 6196 -3 6197 6326 6196 -3 6453 6452 6325 -3 6326 6453 6325 -3 6579 6578 6452 -3 6453 6579 6452 -3 6704 6703 6578 -3 6579 6704 6578 -3 6831 6830 6703 -3 6704 6831 6703 -3 3572 3702 6830 -3 6831 3572 6830 -3 3728 1607 3702 -3 3572 3728 3702 -3 3302 3303 1607 -3 3728 3302 1607 -3 2491 2493 7776 -3 2122 1376 1610 -3 20209 20295 20208 -3 1384 3057 7324 -3 12164 12247 12163 -3 186 8578 7768 -3 4518 1385 3712 -3 16318 12056 16468 -3 12864 12865 12957 -3 12865 12958 12957 -3 23402 23403 5566 -3 28365 29021 5555 -3 35582 35446 35591 -3 28820 28953 28952 -3 8151 547 1140 -3 3659 3529 19880 -3 3951 4085 4084 -3 1140 1496 8151 -3 6374 6375 6501 -3 1817 1937 1816 -3 3560 3561 3690 -3 895 894 775 -3 3148 3288 3147 -3 3428 3561 3560 -3 11525 11524 11461 -3 3148 3147 3006 -3 12410 12499 12409 -3 1952 1831 2227 -3 5022 5157 5156 -3 6221 6350 6220 -3 1953 1954 5454 -3 3821 3953 3820 -3 5158 5292 5157 -3 2246 2247 2378 -3 6368 6495 6367 -3 4350 4351 4484 -3 5439 5440 5573 -3 6621 6620 6494 -3 5574 5709 5573 -3 5709 5708 5573 -3 5709 5843 5708 -3 5843 5842 5708 -3 35926 35453 35517 -3 9306 5057 10220 -3 35394 35529 35589 -3 1387 2126 131 -3 23747 21359 24840 -3 14661 14660 14568 -3 21284 5960 21283 -3 19433 19880 3529 -3 17172 16624 17027 -3 1444 16624 17172 -3 3874 169 5272 -3 4097 3997 16867 -3 14907 14908 7903 -3 20292 20377 20291 -3 739 18022 621 -3 17834 505 17929 -3 15239 23418 10705 -3 859 739 740 -3 3081 3622 15501 -3 16816 16817 16980 -3 11205 12142 11562 -3 22031 22127 22126 -3 2906 1170 3743 -3 31 15791 17182 -3 20380 20379 20294 -3 4142 3613 5884 -3 17122 16319 820 -3 15374 15375 15505 -3 4274 4142 5884 -3 1442 1443 1558 -3 33247 33356 33246 -3 1676 1675 1558 -3 1559 1676 1558 -3 1793 1792 1675 -3 1676 1793 1675 -3 1913 1912 1792 -3 1793 1913 1792 -3 2038 2037 1912 -3 1913 2038 1912 -3 2167 2166 2037 -3 2038 2167 2037 -3 2299 2298 2166 -3 2167 2299 2166 -3 2299 2433 2432 -3 2298 2299 2432 -3 2433 2568 2567 -3 2432 2433 2567 -3 2568 2703 2702 -3 2567 2568 2702 -3 2703 2839 2838 -3 2702 2703 2838 -3 2839 2978 2977 -3 2838 2839 2977 -3 2978 3119 3118 -3 2977 2978 3118 -3 3119 3259 3258 -3 3118 3119 3258 -3 16291 16436 16290 -3 13596 8670 13506 -3 11566 14367 14366 -3 3398 4413 4280 -3 16239 15299 2575 -3 16382 16239 2575 -3 16742 16741 16586 -3 16435 16587 16434 -3 7512 7626 927 -3 16774 16773 12572 -3 16535 14642 1563 -3 16481 16535 1563 -3 35482 35664 35868 -3 16846 16395 2231 -3 5883 2178 5882 -3 5216 3730 5217 -3 16899 17062 16898 -3 17062 17061 16898 -3 5009 19222 4873 -3 23304 23401 23400 -3 4727 4726 4592 -3 18074 19779 19623 -3 4862 4861 4726 -3 4727 4862 4726 -3 4862 4997 4996 -3 4861 4862 4996 -3 4997 5132 5131 -3 4996 4997 5131 -3 5132 5266 5265 -3 5131 5132 5265 -3 5266 5401 5400 -3 5265 5266 5400 -3 5401 5535 5534 -3 5400 5401 5534 -3 5535 5670 5669 -3 5534 5535 5669 -3 5804 5803 5669 -3 5670 5804 5669 -3 5936 5935 5803 -3 5804 5936 5803 -3 6068 6067 5935 -3 5936 6068 5935 -3 6198 6197 6067 -3 6068 6198 6067 -3 6327 6326 6197 -3 6198 6327 6197 -3 6454 6453 6326 -3 6327 6454 6326 -3 6580 6579 6453 -3 6454 6580 6453 -3 6705 6704 6579 -3 6580 6705 6579 -3 6832 6831 6704 -3 6705 6832 6704 -3 3440 3572 6831 -3 6832 3440 6831 -3 6757 3728 3572 -3 3440 6757 3572 -3 6757 3157 3302 -3 3728 6757 3302 -3 2913 9980 10390 -3 3978 4112 15972 -3 20295 20380 20294 -3 20464 20463 20379 -3 12682 12681 12591 -3 12592 12682 12591 -3 31475 11412 31476 -3 1616 4518 3712 -3 27 3181 10023 -3 19798 30601 30555 -3 12196 12219 12137 -3 11408 5562 1018 -3 8332 13609 13671 -3 14217 14315 14216 -3 417 531 530 -3 3295 3296 3434 -3 2062 2061 1936 -3 1937 2062 1936 -3 13826 13924 13825 -3 2600 2735 2599 -3 13097 13675 12638 -3 6728 450 6727 -3 3691 3823 3690 -3 17088 16924 16765 -3 5024 5025 5159 -3 11657 11656 11581 -3 6350 6477 6476 -3 763 764 882 -3 4620 4619 4485 -3 5587 1953 5454 -3 2881 5185 3580 -3 26735 18936 26624 -3 2514 2649 2648 -3 4894 4895 5029 -3 5581 5716 5715 -3 5580 5581 5715 -3 6752 2120 2011 -3 6751 6752 2011 -3 6626 6627 6751 -3 3948 3949 4082 -3 3817 3816 3684 -3 3949 4083 4082 -3 6940 209 7038 -3 29687 35542 29221 -3 4519 346 16959 -3 16959 4363 4519 -3 27088 27087 26971 -3 9313 10853 14314 -3 12004 27532 12086 -3 14661 12286 14570 -3 3328 2151 17176 -3 13608 35858 35444 -3 10090 10209 10208 -3 35519 35888 35847 -3 35493 35477 35590 -3 35892 35497 35395 -3 622 621 506 -3 507 622 506 -3 740 739 621 -3 622 740 621 -3 17236 4329 17235 -3 979 18205 859 -3 22074 9623 22068 -3 21112 21113 19910 -3 3743 31 17182 -3 15791 16242 16241 -3 35683 35770 35562 -3 15917 16059 15916 -3 16795 15521 16671 -3 3613 905 229 -3 5884 3613 229 -3 15506 15641 15640 -3 15505 15506 15640 -3 1560 1559 18673 -3 1559 1558 1443 -3 1560 1677 1676 -3 1676 1677 1793 -3 1794 1914 1913 -3 1793 1794 1913 -3 1914 2039 2038 -3 1913 1914 2038 -3 2039 2168 2167 -3 2038 2039 2167 -3 2168 2300 2299 -3 2167 2168 2299 -3 2300 2434 2433 -3 2299 2300 2433 -3 2434 2569 2568 -3 2433 2434 2568 -3 2569 2704 2703 -3 2568 2569 2703 -3 2704 2840 2839 -3 2703 2704 2839 -3 19011 19112 1526 -3 2839 2840 2978 -3 19497 19607 2570 -3 2978 2979 3119 -3 1487 3875 14616 -3 35451 35406 35814 -3 60 1058 20280 -3 16436 16435 16290 -3 505 17834 506 -3 2847 3398 4280 -3 14928 16509 16492 -3 14920 14928 16492 -3 5215 4116 5216 -3 16587 16742 16586 -3 3339 22856 7855 -3 22150 15599 22148 -3 17144 17145 165 -3 5492 3398 2847 -3 1657 5055 5143 -3 5055 2415 5143 -3 5883 5882 1851 -3 3730 5883 1851 -3 17226 17225 17061 -3 17062 17226 17061 -3 19135 35548 35393 -3 15599 9279 22148 -3 14642 15762 7113 -3 1563 14642 7113 -3 35542 29417 35408 -3 15697 4813 5082 -3 4863 4998 4997 -3 4862 4863 4997 -3 4998 5133 5132 -3 4997 4998 5132 -3 5133 5267 5266 -3 5132 5133 5266 -3 5267 5402 5401 -3 5266 5267 5401 -3 5402 5536 5535 -3 5401 5402 5535 -3 5671 5670 5535 -3 5536 5671 5535 -3 5805 5804 5670 -3 5671 5805 5670 -3 5937 5936 5804 -3 5805 5937 5804 -3 6069 6068 5936 -3 5937 6069 5936 -3 6199 6198 6068 -3 6069 6199 6068 -3 6328 6327 6198 -3 6199 6328 6198 -3 6455 6454 6327 -3 6328 6455 6327 -3 6581 6580 6454 -3 6455 6581 6454 -3 6706 6705 6580 -3 6581 6706 6580 -3 6833 6832 6705 -3 6706 6833 6705 -3 3439 3440 6832 -3 6833 3439 6832 -3 305 6757 3440 -3 3439 305 3440 -3 3840 3157 6757 -3 305 3840 6757 -3 15967 4112 3714 -3 3840 4112 3157 -3 20380 20464 20379 -3 13163 13258 13162 -3 12682 12771 12770 -3 12247 12332 12246 -3 12113 12196 12137 -3 12219 11484 12117 -3 11587 11662 11586 -3 12235 12236 12320 -3 25973 11838 23732 -3 23726 24746 24767 -3 23988 23989 23983 -3 25215 23759 25367 -3 716 717 835 -3 3556 3686 3555 -3 3296 3435 3434 -3 5716 5850 5849 -3 5850 5982 5981 -3 7043 319 318 -3 1473 1472 1356 -3 1357 1356 1240 -3 6502 6628 6627 -3 3823 3822 3690 -3 3823 3955 3822 -3 1820 1821 1940 -3 5160 5294 5293 -3 4886 4887 5021 -3 3556 3557 3686 -3 2323 2457 2456 -3 4482 4481 4347 -3 1001 1119 1118 -3 1586 1703 1702 -3 5463 30332 6531 -3 35467 29126 28944 -3 1147 3326 1146 -3 1944 2069 2068 -3 5038 5173 5172 -3 1358 1357 1241 -3 1014 1132 1013 -3 1708 1707 1590 -3 6354 6353 8520 -3 1122 1123 1238 -3 2743 2742 2341 -3 12640 11949 12912 -3 7859 7975 1400 -3 35730 35764 35644 -3 25528 12252 25368 -3 13505 4118 13596 -3 8556 11784 10827 -3 648 766 765 -3 784 3301 3704 -3 1626 8303 1625 -3 4483 4617 4616 -3 6222 6223 6351 -3 15362 5757 932 -3 16687 16691 1070 -3 508 507 393 -3 392 393 507 -3 623 622 507 -3 508 623 507 -3 741 740 622 -3 623 741 622 -3 860 859 740 -3 741 860 740 -3 35404 35724 35511 -3 860 979 859 -3 17182 15791 16241 -3 18389 18297 1097 -3 4147 15181 16695 -3 16202 16348 16201 -3 16202 16201 16058 -3 4677 5588 2171 -3 1919 4677 2171 -3 15640 15641 15777 -3 15641 15778 15777 -3 5951 15656 5488 -3 15246 15247 15374 -3 2171 5588 2170 -3 5588 4543 2170 -3 18871 1795 1794 -3 18871 1794 1677 -3 404 35576 11363 -3 1914 1915 2039 -3 19073 2040 1915 -3 2039 2040 2168 -3 2040 2169 2168 -3 2168 2169 2300 -3 35445 35531 35534 -3 35412 35924 35745 -3 35805 35862 14562 -3 2434 2435 2569 -3 19496 2570 2435 -3 2569 2570 2704 -3 5743 16703 4808 -3 19496 19497 2570 -3 1887 16052 15500 -3 35940 35538 5425 -3 17190 17188 16250 -3 16252 2149 17180 -3 14616 5200 400 -3 5200 1503 400 -3 7454 7363 13275 -3 12254 13303 8795 -3 20549 20548 20463 -3 15139 16796 16792 -3 16492 16509 699 -3 16509 2933 699 -3 5215 5216 1569 -3 1685 5215 1569 -3 22317 22316 22220 -3 17561 18175 18378 -3 5082 14783 14759 -3 2395 2261 4259 -3 6012 14641 3855 -3 2415 16251 3067 -3 3730 1851 5217 -3 2148 5055 1657 -3 4600 4599 17225 -3 17226 4600 17225 -3 23043 21402 15481 -3 1861 8626 8518 -3 16058 16201 16057 -3 16347 16346 16200 -3 9738 9739 9854 -3 14772 14885 14771 -3 29417 35883 35408 -3 3123 15566 4008 -3 5134 5133 4998 -3 4999 5134 4998 -3 5134 5268 5267 -3 5133 5134 5267 -3 5268 5403 5402 -3 5267 5268 5402 -3 5403 5537 5536 -3 5402 5403 5536 -3 5537 5672 5671 -3 5536 5537 5671 -3 5806 5805 5671 -3 5672 5806 5671 -3 5938 5937 5805 -3 5806 5938 5805 -3 6070 6069 5937 -3 5938 6070 5937 -3 6200 6199 6069 -3 6070 6200 6069 -3 6329 6328 6199 -3 6200 6329 6199 -3 6456 6455 6328 -3 6329 6456 6328 -3 6582 6581 6455 -3 6456 6582 6455 -3 6707 6706 6581 -3 6582 6707 6581 -3 6834 6833 6706 -3 6707 6834 6706 -3 3300 3439 6833 -3 6834 3300 6833 -3 3300 1284 305 -3 3439 3300 305 -3 3708 3840 305 -3 1284 3708 305 -3 3714 4112 3840 -3 3708 3714 3840 -3 13258 13354 13353 -3 35414 35434 35894 -3 20464 20549 20463 -3 20631 20630 20548 -3 12137 12219 12117 -3 35391 14562 35722 -3 13191 6384 11004 -3 1714 8589 8588 -3 26288 26229 23706 -3 24488 25528 25368 -3 1276 1277 1392 -3 3957 4091 3956 -3 5850 5717 5851 -3 1843 1725 16635 -3 2215 2216 5990 -3 651 652 769 -3 3298 2884 3438 -3 3969 3970 664 -3 3427 3428 3560 -3 3955 3954 3822 -3 6611 6612 6736 -3 3150 3290 3149 -3 6737 951 934 -3 3290 3289 3149 -3 2592 2727 2726 -3 1358 1474 1357 -3 4350 4484 4483 -3 2458 2459 2593 -3 28819 28820 28952 -3 6349 6350 6476 -3 5575 5576 5710 -3 5711 5845 5844 -3 35815 35500 35705 -3 4761 4762 4896 -3 4620 4621 4754 -3 3560 3690 3689 -3 3426 3427 3559 -3 3168 5854 5721 -3 2512 2513 2647 -3 20925 20845 25956 -3 5590 3166 3309 -3 28549 30774 29144 -3 11719 35782 3042 -3 35489 35690 12288 -3 815 3736 694 -3 4623 4624 4757 -3 6376 6377 6503 -3 1042 1043 1160 -3 1277 1393 1392 -3 5715 5716 5849 -3 1161 1277 1276 -3 5136 16701 14395 -3 1889 1444 1445 -3 394 17741 17742 -3 20549 20631 20548 -3 624 623 508 -3 509 624 508 -3 742 741 623 -3 624 742 623 -3 861 860 741 -3 742 861 741 -3 980 979 860 -3 861 980 860 -3 1098 1097 979 -3 980 1098 979 -3 7900 912 792 -3 17743 395 394 -3 16059 16202 16058 -3 16348 16347 16201 -3 4142 4274 5588 -3 4460 4461 17230 -3 14692 16795 16671 -3 15778 15917 15916 -3 14409 15792 15681 -3 15521 16795 14548 -3 5588 4274 4543 -3 4274 4407 4543 -3 29498 29497 29360 -3 1261 5195 8027 -3 13666 12305 3729 -3 29088 29087 28952 -3 13579 22343 22650 -3 30690 30691 30216 -3 35759 35569 35349 -3 15300 15301 15175 -3 5876 6772 14517 -3 15158 15547 16782 -3 2525 15022 15021 -3 4402 4638 2390 -3 2442 2310 591 -3 22217 22313 22312 -3 15457 15069 14948 -3 21197 21108 21109 -3 14703 16035 15160 -3 2934 16854 16853 -3 2933 5876 2483 -3 14517 16782 1501 -3 15021 14936 14928 -3 1503 4402 4269 -3 21770 20896 21775 -3 13847 4521 20194 -3 2129 939 4229 -3 14082 13673 13383 -3 17190 16250 16251 -3 2933 2483 2148 -3 4463 4600 17226 -3 17227 4463 17226 -3 16798 20663 16799 -3 22028 22029 22124 -3 16978 16979 17144 -3 5422 5423 16048 -3 3127 6012 3855 -3 16382 2575 15356 -3 5277 2148 1657 -3 699 2148 5277 -3 1569 1454 4599 -3 4600 1569 4599 -3 1053 5322 154 -3 20712 20711 20630 -3 16201 16347 16200 -3 16500 16499 16346 -3 15142 3620 14622 -3 14708 15039 14919 -3 5882 3123 4008 -3 3123 1997 2358 -3 17868 4999 19419 -3 1851 5882 2521 -3 5269 5268 5134 -3 16170 4823 4687 -3 5269 5404 5403 -3 5268 5269 5403 -3 5404 5538 5537 -3 5403 5404 5537 -3 5673 5672 5537 -3 5538 5673 5537 -3 5807 5806 5672 -3 5673 5807 5672 -3 5939 5938 5806 -3 5807 5939 5806 -3 6071 6070 5938 -3 5939 6071 5938 -3 6201 6200 6070 -3 6071 6201 6070 -3 6330 6329 6200 -3 6201 6330 6200 -3 6457 6456 6329 -3 6330 6457 6329 -3 6583 6582 6456 -3 6457 6583 6456 -3 6708 6707 6582 -3 6583 6708 6582 -3 9 6834 6707 -3 6708 9 6707 -3 437 3300 6834 -3 9 437 6834 -3 306 1284 3300 -3 437 306 3300 -3 3446 3708 1284 -3 306 3446 1284 -3 3584 3714 3708 -3 3446 3584 3708 -3 2487 6247 3714 -3 3584 2487 3714 -3 13257 13258 13353 -3 8029 7812 4265 -3 12953 12954 13047 -3 13048 13142 13141 -3 22267 20322 11710 -3 13877 9977 9858 -3 5960 22267 11710 -3 6492 6618 6617 -3 13867 13868 13608 -3 1393 1509 1392 -3 923 924 1042 -3 3293 3292 3152 -3 6490 6489 6363 -3 6752 6753 2120 -3 5156 5157 5290 -3 11525 11592 11524 -3 4089 4088 3954 -3 12477 1328 2626 -3 33022 32914 7527 -3 5554 5061 13771 -3 1592 1591 1475 -3 1474 1590 1473 -3 1590 1589 1473 -3 6613 6612 6486 -3 5854 1831 1952 -3 20631 20712 20630 -3 6747 6746 6621 -3 659 777 658 -3 659 658 543 -3 2600 2599 2464 -3 35541 35619 35761 -3 2065 2066 2194 -3 4755 4890 4889 -3 6105 6104 5972 -3 1249 1365 1248 -3 5973 6105 5972 -3 3153 3154 3293 -3 3294 3433 3432 -3 8561 9685 8200 -3 347 694 5473 -3 9064 7648 6617 -3 816 16483 815 -3 5473 694 3736 -3 1708 1825 1707 -3 1475 1591 1474 -3 2217 2218 5860 -3 1160 1161 1276 -3 805 924 923 -3 14994 15829 6015 -3 6362 6489 6361 -3 250 17625 17848 -3 509 395 510 -3 625 624 509 -3 510 625 509 -3 743 742 624 -3 625 743 624 -3 862 861 742 -3 743 862 742 -3 981 980 861 -3 862 981 861 -3 981 1099 1098 -3 980 981 1098 -3 1215 1214 1098 -3 1099 1215 1098 -3 16501 16500 16347 -3 1216 18582 1331 -3 1919 2171 4461 -3 17231 4460 17230 -3 15777 15778 15916 -3 16795 14547 14548 -3 16491 2669 16094 -3 16512 4783 15625 -3 4407 4274 3744 -3 4274 5884 3744 -3 4461 4462 17229 -3 17230 4461 17229 -3 22129 22128 22032 -3 29547 27410 28307 -3 16352 16505 16504 -3 22414 22413 22316 -3 16549 2934 16853 -3 516 792 791 -3 16511 6772 5876 -3 16510 16511 5876 -3 15022 14944 14936 -3 2390 2525 15021 -3 24789 25337 25336 -3 22121 22217 22216 -3 21136 23462 8795 -3 13699 23467 23365 -3 15175 4250 4127 -3 5488 14703 15160 -3 16782 17188 17190 -3 2483 14517 1501 -3 400 1503 4269 -3 4402 2390 578 -3 22120 22121 22216 -3 23462 23365 8795 -3 23147 22047 23131 -3 694 347 6770 -3 17180 16239 16382 -3 2415 17190 16251 -3 16900 16899 16741 -3 16742 16900 16741 -3 7064 14484 4688 -3 21653 21652 7291 -3 16979 16978 16814 -3 16815 16979 16814 -3 14641 16382 3855 -3 2575 546 15356 -3 700 699 5277 -3 6397 6270 348 -3 5216 5217 1454 -3 1569 5216 1454 -3 20893 15433 18898 -3 7400 6990 6536 -3 49 1060 2395 -3 16967 16958 15269 -3 14418 14417 14398 -3 4130 16694 1152 -3 15566 3123 2358 -3 1997 6397 6775 -3 16585 16584 16432 -3 5217 1851 5218 -3 23205 23206 23303 -3 13760 20010 15155 -3 35802 35511 35569 -3 5135 5269 5134 -3 35433 35478 35482 -3 25129 25128 35634 -3 5674 5673 5538 -3 5539 5674 5538 -3 5808 5807 5673 -3 5674 5808 5673 -3 5940 5939 5807 -3 5808 5940 5807 -3 6072 6071 5939 -3 5940 6072 5939 -3 6202 6201 6071 -3 6072 6202 6071 -3 6331 6330 6201 -3 6202 6331 6201 -3 6458 6457 6330 -3 6331 6458 6330 -3 6584 6583 6457 -3 6458 6584 6457 -3 6709 6708 6583 -3 6584 6709 6583 -3 10 9 6708 -3 6709 10 6708 -3 551 437 9 -3 10 551 9 -3 3837 306 437 -3 551 3837 437 -3 3579 3446 306 -3 3837 3579 306 -3 2344 3584 3446 -3 3579 2344 3446 -3 2486 2487 3584 -3 2344 2486 3584 -3 35357 35466 35616 -3 35719 27642 35925 -3 13047 13048 13141 -3 14251 7363 3859 -3 13884 13872 13226 -3 13227 13877 1136 -3 20794 20793 20711 -3 20712 20794 20711 -3 4242 4109 2619 -3 2884 2883 3438 -3 1043 1161 1160 -3 33550 804 803 -3 6232 6233 6361 -3 6233 6362 6361 -3 1709 1826 1708 -3 2735 2734 2599 -3 10806 10807 10931 -3 649 650 767 -3 3692 3691 3561 -3 4759 4894 4893 -3 1360 1476 1359 -3 1476 1592 1475 -3 6094 6224 6223 -3 6223 6224 6352 -3 26686 28944 29079 -3 6093 6094 6223 -3 5857 2342 7416 -3 2340 2341 5988 -3 315 425 424 -3 20794 20876 20875 -3 427 541 540 -3 2480 2345 2352 -3 5159 5293 5292 -3 2327 2326 2194 -3 1249 1248 1132 -3 4751 4752 4886 -3 13693 13239 5335 -3 3007 3006 2867 -3 14428 6121 5990 -3 12767 12768 12859 -3 35456 26803 11780 -3 9782 10759 347 -3 35802 35404 35511 -3 694 4265 815 -3 3969 3298 3438 -3 6477 6478 6603 -3 1124 1123 1005 -3 30565 30564 30430 -3 5290 5205 5289 -3 6103 6233 6102 -3 511 510 396 -3 8223 13278 3339 -3 626 625 510 -3 511 626 510 -3 744 743 625 -3 626 744 625 -3 863 862 743 -3 744 863 743 -3 982 981 862 -3 863 982 862 -3 1100 1099 981 -3 982 1100 981 -3 1216 1215 1099 -3 1100 1216 1099 -3 5818 5684 19023 -3 1215 1216 1331 -3 16059 16058 15916 -3 4460 1919 4461 -3 3872 16957 3492 -3 3069 14929 14412 -3 5884 229 19 -3 10991 10140 3482 -3 17230 17229 17065 -3 3744 5884 19 -3 23107 23205 23106 -3 2171 2170 4462 -3 15888 9176 2016 -3 22033 22129 22032 -3 7891 11697 14765 -3 14997 15120 15119 -3 16240 467 15300 -3 14774 14887 14773 -3 2170 4543 1801 -3 6772 15158 14517 -3 20288 21121 21120 -3 17229 4462 17228 -3 35615 11976 11314 -3 16437 16436 16291 -3 3531 16215 6146 -3 15069 15331 15460 -3 1501 16782 17190 -3 31017 30958 11427 -3 4269 4402 578 -3 17188 16252 16250 -3 21109 21108 21022 -3 2390 15021 14978 -3 52 1736 5 -3 25762 16147 25763 -3 16250 17180 14641 -3 35679 35501 35439 -3 17063 17062 16899 -3 14641 17180 16382 -3 22410 22411 22508 -3 16900 17063 16899 -3 17169 17005 9855 -3 21050 21212 17106 -3 35363 35839 35524 -3 16979 17145 17144 -3 15005 15004 14884 -3 14362 14349 15142 -3 462 14977 14951 -3 2178 1740 1997 -3 7064 4688 20727 -3 22411 22509 22508 -3 15932 14712 14510 -3 14578 14670 14577 -3 4413 4412 89 -3 2626 12836 12477 -3 22266 13340 15729 -3 2098 6121 14428 -3 2358 1997 6775 -3 6397 348 239 -3 5882 4008 2521 -3 1454 5217 2302 -3 12895 12962 12989 -3 35494 35770 35808 -3 16201 16200 16057 -3 14513 15755 15500 -3 15364 15236 15237 -3 31651 33340 11459 -3 5540 5675 5674 -3 5539 5540 5674 -3 5809 5808 5674 -3 5675 5809 5674 -3 5941 5940 5808 -3 5809 5941 5808 -3 6073 6072 5940 -3 5941 6073 5940 -3 6203 6202 6072 -3 6073 6203 6072 -3 6332 6331 6202 -3 6203 6332 6202 -3 6459 6458 6331 -3 6332 6459 6331 -3 6585 6584 6458 -3 6459 6585 6458 -3 6710 6709 6584 -3 6585 6710 6584 -3 33 10 6709 -3 6710 33 6709 -3 550 551 10 -3 33 550 10 -3 3834 3837 551 -3 550 3834 551 -3 3709 3579 3837 -3 3834 3709 3837 -3 4781 2344 3579 -3 3709 4781 3579 -3 2485 2486 2344 -3 4781 2485 2344 -3 11494 33541 33542 -3 2485 1835 2486 -3 12954 13048 13047 -3 35713 35461 35429 -3 13449 13545 13544 -3 10721 9687 13884 -3 13872 13227 13226 -3 4273 88 5599 -3 12832 11799 11619 -3 8456 299 1859 -3 18997 35113 34212 -3 924 1043 1042 -3 1859 3720 10492 -3 6233 6232 6102 -3 2470 2605 2469 -3 6747 1886 6746 -3 1885 1886 191 -3 2870 2869 2733 -3 1514 1630 1513 -3 3692 3824 3691 -3 3824 3823 3691 -3 13613 13713 9801 -3 5707 5841 5706 -3 6124 8146 4794 -3 1597 1714 1596 -3 6850 12446 25348 -3 35383 35794 35608 -3 3570 2743 2746 -3 2746 2743 2340 -3 3968 3570 2746 -3 2743 2341 2340 -3 2599 2734 2598 -3 2199 2331 2330 -3 3424 3425 3557 -3 5158 5159 5292 -3 6486 6485 6358 -3 3562 3692 3561 -3 2597 2732 2596 -3 14022 14023 14120 -3 5977 5978 6109 -3 2870 3009 2869 -3 1826 1825 1708 -3 882 1001 1000 -3 35592 35447 35609 -3 35943 35436 35880 -3 20793 20794 20875 -3 2074 2203 2073 -3 646 647 764 -3 2063 2064 2192 -3 30095 30096 19906 -3 2218 5726 5860 -3 2740 2739 2604 -3 35741 35645 35406 -3 398 512 511 -3 7333 397 396 -3 627 626 511 -3 512 627 511 -3 745 744 626 -3 627 745 626 -3 745 864 863 -3 744 745 863 -3 864 983 982 -3 863 864 982 -3 1101 1100 982 -3 983 1101 982 -3 1217 1216 1100 -3 1101 1217 1100 -3 1333 1334 18683 -3 1216 1217 1332 -3 14404 14403 14386 -3 20876 20956 20955 -3 229 4095 3597 -3 5743 15018 16703 -3 17066 17065 16902 -3 19 229 3597 -3 11860 12894 21578 -3 17066 17230 17065 -3 22343 3861 22650 -3 23303 23302 23204 -3 13715 16235 16092 -3 23851 24656 6653 -3 21407 18837 18587 -3 35511 35724 35726 -3 2170 1801 4464 -3 15021 15022 14936 -3 17229 17228 17064 -3 4407 4540 4410 -3 20875 20876 20955 -3 17065 17229 17064 -3 5083 5082 14759 -3 4118 13505 13504 -3 15300 15175 15176 -3 4531 4401 946 -3 1685 1801 5215 -3 5876 14517 2483 -3 15864 15457 14948 -3 578 2390 14978 -3 17262 23951 16464 -3 14484 21050 17106 -3 699 2933 2148 -3 35553 35671 35490 -3 17227 17226 17062 -3 16251 16250 14641 -3 22431 22629 20178 -3 17063 17227 17062 -3 14699 4270 15907 -3 28953 29088 28952 -3 2575 15299 546 -3 13045 13046 13139 -3 14590 14613 15959 -3 14690 14800 6020 -3 3123 2178 1997 -3 6270 462 348 -3 1740 6270 6397 -3 1997 1740 6397 -3 16741 16740 16585 -3 16586 16741 16585 -3 20720 20802 20801 -3 22125 22221 22124 -3 20956 21039 21038 -3 24994 25128 35522 -3 5990 1485 14428 -3 816 7587 16483 -3 6775 6397 239 -3 348 14951 14791 -3 1851 2521 5218 -3 4599 1454 4467 -3 30027 30352 6875 -3 21025 21111 21024 -3 16207 16208 16353 -3 15916 16058 16057 -3 3590 7465 17029 -3 7417 16954 7350 -3 5541 5676 5675 -3 29225 29224 29087 -3 5810 5809 5675 -3 5676 5810 5675 -3 5942 5941 5809 -3 5810 5942 5809 -3 6074 6073 5941 -3 5942 6074 5941 -3 6204 6203 6073 -3 6074 6204 6073 -3 6333 6332 6203 -3 6204 6333 6203 -3 6460 6459 6332 -3 6333 6460 6332 -3 6586 6585 6459 -3 6460 6586 6459 -3 6711 6710 6585 -3 6586 6711 6585 -3 44 33 6710 -3 6711 44 6710 -3 1263 550 33 -3 44 1263 33 -3 3833 3834 550 -3 1263 3833 550 -3 3841 3709 3834 -3 3833 3841 3834 -3 4916 4781 3709 -3 3841 4916 3709 -3 2350 2485 4781 -3 4916 2350 4781 -3 1836 1835 2485 -3 2350 1836 2485 -3 1844 2711 1845 -3 1836 1845 1835 -3 13448 13449 13544 -3 3403 1209 5561 -3 13288 11320 10721 -3 9687 13872 13884 -3 20955 20956 21038 -3 23022 23023 22436 -3 24988 11381 1022 -3 8991 3720 299 -3 14556 8043 14555 -3 2885 2345 2480 -3 3010 3009 2870 -3 1886 1885 6746 -3 4619 4620 4753 -3 2096 4130 2095 -3 3568 3698 3697 -3 3969 4919 3298 -3 1252 6385 4110 -3 6005 13692 1856 -3 9431 5875 1999 -3 5185 5319 1956 -3 3838 3299 6259 -3 4372 4371 4239 -3 8131 6089 6088 -3 1818 1819 1938 -3 2594 2729 2728 -3 1401 3570 3968 -3 4799 1401 3968 -3 35712 35602 35798 -3 6505 6631 6630 -3 6604 6729 6603 -3 2109 2238 2237 -3 1826 1946 1825 -3 6229 6230 6358 -3 23023 22338 22436 -3 696 4919 3969 -3 2198 2197 2068 -3 762 763 881 -3 5319 1955 1956 -3 332 4396 562 -3 5579 5580 5714 -3 1941 2066 2065 -3 10769 10894 10768 -3 35491 1529 1022 -3 4351 4352 4485 -3 1585 1586 1702 -3 2011 2120 1401 -3 35929 9538 35623 -3 3010 3151 3150 -3 529 530 644 -3 3324 1835 1845 -3 2063 2192 2191 -3 14930 21403 22065 -3 35750 35509 35869 -3 35855 35910 35837 -3 16028 5274 5567 -3 628 746 745 -3 627 628 745 -3 746 865 864 -3 745 746 864 -3 984 983 864 -3 865 984 864 -3 1102 1101 983 -3 984 1102 983 -3 1218 1217 1101 -3 1102 1218 1101 -3 18684 18683 1334 -3 1217 1218 1333 -3 4095 4535 4638 -3 1306 14925 15425 -3 16745 16744 16589 -3 3597 4095 4638 -3 23462 13699 23365 -3 16903 17066 16902 -3 2387 1178 500 -3 13667 13666 3729 -3 2015 3069 2939 -3 18395 19378 19771 -3 14944 16511 16510 -3 14349 3620 15142 -3 4462 2170 4464 -3 14936 14944 16510 -3 17065 17064 16901 -3 4543 4410 1801 -3 29766 26404 28308 -3 4462 4464 17228 -3 2129 6142 6143 -3 22048 13579 22650 -3 16250 16252 17180 -3 6142 15267 15244 -3 4540 4116 5215 -3 15299 15300 15176 -3 21023 21109 21022 -3 4410 4540 5215 -3 3531 14321 14925 -3 15196 20727 10216 -3 2483 1501 5055 -3 15160 16035 3618 -3 1685 1569 4600 -3 2148 2483 5055 -3 31996 32096 31995 -3 4463 1685 4600 -3 15776 15777 15915 -3 11946 21090 23467 -3 5143 2415 3067 -3 4526 5193 1027 -3 14913 14920 16482 -3 16043 14527 15019 -3 348 462 14951 -3 14977 14920 14913 -3 14951 14977 14913 -3 14920 16492 16482 -3 16434 16586 16433 -3 20727 4688 20662 -3 16899 16898 16740 -3 16741 16899 16740 -3 29361 29498 29360 -3 20349 16929 2500 -3 16347 16500 16346 -3 2021 10212 9563 -3 2626 5754 12836 -3 26 3067 3127 -3 14951 14913 14904 -3 14791 14951 14904 -3 5217 5218 2302 -3 17225 4599 17224 -3 22629 5275 20178 -3 15915 15916 16057 -3 35719 35925 35566 -3 14382 14399 14381 -3 9973 10090 9972 -3 5542 5677 5676 -3 5541 5542 5676 -3 5811 5810 5676 -3 5677 5811 5676 -3 5811 5943 5942 -3 5810 5811 5942 -3 5943 6075 6074 -3 5942 5943 6074 -3 6205 6204 6074 -3 6075 6205 6074 -3 6334 6333 6204 -3 6205 6334 6204 -3 6461 6460 6333 -3 6334 6461 6333 -3 6587 6586 6460 -3 6461 6587 6460 -3 6712 6711 6586 -3 6587 6712 6586 -3 47 44 6711 -3 6712 47 6711 -3 210 1263 44 -3 47 210 44 -3 307 3833 1263 -3 210 307 1263 -3 3973 3841 3833 -3 307 3973 3833 -3 5051 4916 3841 -3 3973 5051 3841 -3 2351 2350 4916 -3 5051 2351 4916 -3 1837 1836 2350 -3 2351 1837 2350 -3 16487 1844 1843 -3 1837 1844 1836 -3 12708 12797 12707 -3 12889 12888 12796 -3 10739 11262 13288 -3 11320 9687 10721 -3 32725 32724 32610 -3 13248 13247 13152 -3 1870 1990 1989 -3 787 786 577 -3 2471 2470 2336 -3 5027 5028 5162 -3 5447 5581 5580 -3 4890 5025 5024 -3 3564 3694 3563 -3 5435 5436 5569 -3 6231 6232 6360 -3 3292 3431 3430 -3 1953 1952 2097 -3 1952 2227 2097 -3 2341 2742 2342 -3 3838 6259 457 -3 4619 4753 4752 -3 5022 5023 5157 -3 647 765 764 -3 23424 22145 22146 -3 2011 1401 4799 -3 2010 2011 4799 -3 2731 2730 2595 -3 2067 2196 2066 -3 448 10500 13713 -3 3441 2881 3301 -3 1608 1483 5860 -3 1946 1945 1825 -3 6732 6733 678 -3 4919 5590 3298 -3 2197 2198 2329 -3 3435 3436 3568 -3 35895 35738 35441 -3 12123 14170 14165 -3 5155 5156 5289 -3 1398 1514 1397 -3 1990 2115 2114 -3 1989 1990 2114 -3 13153 13248 13152 -3 2115 2244 2243 -3 2114 2115 2243 -3 769 888 887 -3 1513 1629 1512 -3 777 896 776 -3 777 776 658 -3 1938 2063 1937 -3 1886 190 191 -3 2757 2756 3710 -3 35784 35438 35397 -3 514 629 628 -3 16047 16028 5567 -3 629 747 746 -3 628 629 746 -3 747 866 865 -3 746 747 865 -3 866 985 984 -3 865 866 984 -3 1103 1102 984 -3 985 1103 984 -3 1103 1219 1218 -3 1102 1103 1218 -3 18685 1335 18686 -3 1218 1219 1334 -3 16590 16745 16589 -3 4535 2660 2525 -3 23396 21028 23395 -3 16903 16902 16744 -3 15119 15120 15246 -3 13699 11946 23467 -3 14455 1420 5757 -3 19149 18055 18916 -3 15831 467 16240 -3 1306 3531 14925 -3 4543 4407 4410 -3 467 15301 15300 -3 16902 16901 16743 -3 3744 3875 4540 -3 21952 22048 22650 -3 16902 17065 16901 -3 939 2129 6143 -3 22131 22130 22034 -3 2149 16240 16239 -3 15161 15291 15622 -3 3875 1487 4116 -3 17180 2149 16239 -3 16588 16587 16435 -3 4540 3875 4116 -3 1180 14534 14533 -3 16743 16901 16742 -3 1501 17190 2415 -3 4401 1180 946 -3 17106 9630 9405 -3 5055 1501 2415 -3 15455 15863 15435 -3 4116 3730 5216 -3 17110 546 2227 -3 23303 23304 23400 -3 16251 14641 6012 -3 17145 5492 165 -3 16492 699 700 -3 3067 16251 6012 -3 4688 9405 20662 -3 16482 16492 700 -3 16289 16434 16288 -3 14484 17106 4688 -3 16289 16288 16145 -3 16586 16585 16433 -3 16146 16289 16145 -3 16434 16433 16288 -3 23401 9079 23400 -3 20639 20720 20638 -3 21932 35269 21933 -3 12869 12777 16927 -3 16656 16655 16499 -3 16500 16656 16499 -3 12286 14568 11620 -3 16101 14699 2849 -3 14913 16482 16477 -3 2664 700 5546 -3 15195 15196 21948 -3 16898 16897 16739 -3 12586 12585 12495 -3 22811 22812 22910 -3 15762 14787 14679 -3 14885 14884 14771 -3 14666 14772 14665 -3 35423 35433 35579 -3 35905 35387 35497 -3 5678 5812 5811 -3 5677 5678 5811 -3 5812 5944 5943 -3 5811 5812 5943 -3 5944 6076 6075 -3 5943 5944 6075 -3 6076 6206 6205 -3 6075 6076 6205 -3 6335 6334 6205 -3 6206 6335 6205 -3 6462 6461 6334 -3 6335 6462 6334 -3 6588 6587 6461 -3 6462 6588 6461 -3 6713 6712 6587 -3 6588 6713 6587 -3 97 47 6712 -3 6713 97 6712 -3 2221 210 47 -3 97 2221 47 -3 308 307 210 -3 2221 308 210 -3 3016 3973 307 -3 308 3016 307 -3 4513 5051 3973 -3 3016 4513 3973 -3 2349 2351 5051 -3 4513 2349 5051 -3 6741 1837 2351 -3 2349 6741 2351 -3 35540 35604 35379 -3 6741 1843 1837 -3 18635 18539 18636 -3 20264 20349 9676 -3 11837 11262 12814 -3 11262 11320 13288 -3 13344 13343 13247 -3 13248 13344 13247 -3 2376 2375 2243 -3 2244 2376 2243 -3 4791 13674 6262 -3 6356 6357 6483 -3 1248 1247 1131 -3 5446 5447 5580 -3 29088 29225 29087 -3 26577 26682 26681 -3 4758 4759 4893 -3 3430 3431 3563 -3 3309 5721 5587 -3 1526 15519 18913 -3 2097 2227 4127 -3 3147 3146 3005 -3 12684 12685 12773 -3 6481 6482 6607 -3 1864 1984 1863 -3 12685 12774 12773 -3 6500 6626 6625 -3 6751 2011 2010 -3 6499 6500 6625 -3 6626 6751 6750 -3 4887 4888 5022 -3 2883 5454 5319 -3 5572 5707 5571 -3 3565 3566 3695 -3 678 696 3969 -3 3006 3005 2866 -3 6496 6495 6368 -3 3287 3286 3146 -3 4625 4626 4759 -3 3694 3693 3563 -3 13439 13438 13343 -3 4218 4219 4351 -3 9625 2353 11096 -3 7042 318 317 -3 13344 13439 13343 -3 7808 9417 1646 -3 2510 2509 2375 -3 6731 664 6730 -3 2376 2510 2375 -3 4760 4895 4894 -3 1746 1863 1745 -3 13925 14023 14022 -3 35065 35064 34935 -3 3434 3435 3567 -3 5301 5436 5435 -3 27027 26586 28307 -3 5567 16041 16047 -3 630 748 747 -3 629 630 747 -3 748 867 866 -3 747 748 866 -3 867 986 985 -3 866 867 985 -3 1104 1103 985 -3 986 1104 985 -3 1104 1220 1219 -3 1103 1104 1219 -3 1336 1337 18687 -3 1219 1220 1335 -3 29362 29361 29224 -3 16745 16903 16744 -3 14996 14997 15119 -3 21028 15457 15864 -3 2481 15141 3491 -3 15247 15375 15374 -3 16253 15831 2149 -3 709 1064 4531 -3 4407 3744 4540 -3 2149 15831 16240 -3 16744 16743 16588 -3 3744 19 5200 -3 16766 8153 7184 -3 16744 16902 16743 -3 14606 14626 6145 -3 15435 171 23399 -3 16240 15300 15299 -3 6143 6142 15244 -3 4464 1801 4463 -3 16239 16240 15299 -3 16436 16588 16435 -3 3875 5200 14616 -3 14621 3405 14804 -3 16743 16742 16587 -3 15299 15176 546 -3 14993 16535 16481 -3 20727 20662 10216 -3 16248 5868 15054 -3 16929 12869 16927 -3 16290 16289 16146 -3 29262 13317 11500 -3 12895 12989 12777 -3 3407 3540 3539 -3 35356 12132 35821 -3 3540 3670 3669 -3 35432 35753 35458 -3 35169 17280 35040 -3 3801 3670 3802 -3 4067 3933 4068 -3 23864 25686 21509 -3 4200 4067 4201 -3 3934 4068 3933 -3 7337 7450 514 -3 4068 4201 4067 -3 8131 10222 6090 -3 4201 4334 4200 -3 22313 22314 22410 -3 4468 18451 17949 -3 15777 15916 15915 -3 1060 15270 1272 -3 16815 16814 16655 -3 2849 14699 15907 -3 1657 5143 2048 -3 15546 1657 2048 -3 5277 1657 15546 -3 5546 5277 15546 -3 1874 4546 16942 -3 16433 16585 16432 -3 12496 12586 12495 -3 12586 12676 12675 -3 2137 35846 35455 -3 1524 15899 14982 -3 14647 1069 16850 -3 239 14791 14728 -3 14469 15899 4148 -3 32756 32868 32867 -3 19246 30824 21375 -3 5813 5945 5944 -3 5812 5813 5944 -3 5945 6077 6076 -3 5944 5945 6076 -3 6077 6207 6206 -3 6076 6077 6206 -3 6336 6335 6206 -3 6207 6336 6206 -3 6463 6462 6335 -3 6336 6463 6335 -3 6589 6588 6462 -3 6463 6589 6462 -3 6714 6713 6588 -3 6589 6714 6588 -3 101 97 6713 -3 6714 101 6713 -3 3343 2221 97 -3 101 3343 97 -3 552 308 2221 -3 3343 552 2221 -3 3158 3016 308 -3 552 3158 308 -3 4647 4513 3016 -3 3158 4647 3016 -3 2348 2349 4513 -3 4647 2348 4513 -3 1613 6741 2349 -3 2348 1613 2349 -3 35374 29430 30688 -3 1613 1725 6741 -3 13465 12895 12869 -3 12870 12962 12895 -3 11837 12814 10853 -3 9313 11837 10853 -3 13535 13534 13438 -3 13439 13535 13438 -3 2645 2644 2509 -3 3970 3438 3838 -3 2510 2645 2509 -3 1588 1587 1471 -3 1480 1596 1479 -3 28080 28079 27962 -3 26930 19039 30734 -3 2862 2863 3001 -3 2191 2323 2322 -3 3002 3143 3142 -3 1234 1235 1350 -3 3286 3287 3425 -3 2867 3006 2866 -3 1364 1363 1247 -3 1132 1131 1013 -3 5178 10565 11188 -3 4349 4350 4483 -3 11311 5851 5717 -3 5716 5717 5850 -3 6750 6751 2010 -3 6625 6626 6750 -3 6480 6606 6605 -3 6224 6353 6352 -3 3828 3827 3695 -3 18724 4334 1522 -3 5985 2086 1831 -3 8627 2107 8626 -3 3426 3559 3558 -3 3147 3287 3146 -3 3283 3422 3282 -3 3695 3694 3564 -3 4754 4755 4889 -3 25264 25126 35900 -3 9275 9166 9276 -3 6245 6115 8906 -3 9525 7998 974 -3 35895 35490 35738 -3 19433 3529 3397 -3 2645 2780 2644 -3 23637 23636 2222 -3 13633 13632 13534 -3 35641 35681 35503 -3 6481 6607 6606 -3 3432 3431 3292 -3 31437 31509 31436 -3 5721 1952 1953 -3 2884 3309 5587 -3 631 749 748 -3 35711 35526 35822 -3 749 868 867 -3 748 749 867 -3 868 987 986 -3 867 868 986 -3 987 1105 1104 -3 986 987 1104 -3 1105 1221 1220 -3 1104 1105 1220 -3 1337 1338 18689 -3 1220 1221 1336 -3 15120 15247 15246 -3 29564 28307 26586 -3 946 1180 14533 -3 15656 5951 14548 -3 5144 16253 16252 -3 3618 3749 14621 -3 3875 3744 5200 -3 16252 16253 2149 -3 16589 16588 16436 -3 19 3597 1503 -3 23303 23400 23399 -3 16589 16744 16588 -3 18138 19107 19006 -3 12993 14154 13762 -3 13236 13237 15272 -3 3178 35758 10623 -3 17228 4464 17227 -3 35839 35655 35773 -3 16588 16743 16587 -3 1801 4410 5215 -3 3620 15138 14622 -3 16901 16900 16742 -3 304 5005 2440 -3 165 5492 2847 -3 16146 16145 25763 -3 5040 110 3590 -3 21282 21281 9279 -3 16435 16434 16289 -3 4270 15683 15682 -3 12362 20093 17101 -3 3269 3408 3407 -3 3268 18079 18711 -3 3408 3541 3540 -3 3407 3408 3540 -3 3541 3671 3670 -3 3540 3541 3670 -3 3671 3803 3802 -3 3670 3671 3802 -3 3803 3935 3934 -3 3802 3803 3934 -3 4069 4068 3934 -3 3935 4069 3934 -3 4202 4201 4068 -3 4069 4202 4068 -3 4335 4334 4201 -3 4202 4335 4201 -3 4469 4468 4334 -3 4335 4469 4334 -3 16432 16431 16286 -3 4603 4738 19628 -3 5143 3067 26 -3 35874 35367 35760 -3 2048 5143 26 -3 3067 6012 3127 -3 700 5277 5546 -3 14904 14913 16477 -3 16740 16739 16584 -3 16585 16740 16584 -3 12585 12586 12675 -3 16145 16288 16144 -3 4823 19228 4824 -3 5591 5725 5549 -3 2664 5546 16093 -3 2795 239 14728 -3 5680 5814 5813 -3 34214 32683 34979 -3 5946 5945 5813 -3 5814 5946 5813 -3 6078 6077 5945 -3 5946 6078 5945 -3 6208 6207 6077 -3 6078 6208 6077 -3 6337 6336 6207 -3 6208 6337 6207 -3 6464 6463 6336 -3 6337 6464 6336 -3 6590 6589 6463 -3 6464 6590 6463 -3 6715 6714 6589 -3 6590 6715 6589 -3 152 101 6714 -3 6715 152 6714 -3 6125 3343 101 -3 152 6125 101 -3 3160 552 3343 -3 6125 3160 3343 -3 3162 3158 552 -3 3160 3162 552 -3 4379 4647 3158 -3 3162 4379 3158 -3 2347 2348 4647 -3 4379 2347 4647 -3 4527 1613 2348 -3 2347 4527 2348 -3 1971 35809 35797 -3 13554 29297 29434 -3 35434 35717 35860 -3 12860 12861 12953 -3 11262 10739 12814 -3 11857 10488 10004 -3 13535 13633 13534 -3 14315 14314 14216 -3 13731 13730 13632 -3 29225 29362 29224 -3 6021 1835 3324 -3 13633 13731 13632 -3 5020 5155 5154 -3 310 7245 7138 -3 27963 28080 27962 -3 22920 23019 22919 -3 5841 5840 5706 -3 3959 4093 3958 -3 3695 3827 3694 -3 3558 3559 3688 -3 3006 3147 3005 -3 1480 1479 1363 -3 20569 3487 673 -3 6613 6738 6737 -3 1513 1512 1396 -3 5448 5582 5581 -3 5447 5448 5581 -3 6373 6500 6499 -3 6372 6373 6499 -3 5961 5962 6093 -3 6353 6480 6479 -3 6352 6353 6479 -3 4752 4753 4887 -3 1151 1257 1373 -3 5854 5985 1831 -3 3287 3426 3425 -3 3425 3426 3558 -3 3565 3695 3564 -3 3827 3826 3694 -3 4482 4483 4616 -3 3013 3154 3153 -3 314 315 424 -3 539 538 424 -3 14315 9313 14314 -3 15072 12567 15594 -3 13829 13828 13730 -3 5417 2364 7437 -3 13731 13829 13730 -3 9976 9858 3040 -3 2738 2874 2873 -3 31207 11419 31272 -3 29499 29498 29361 -3 3432 3565 3431 -3 3011 3012 3152 -3 631 748 630 -3 5590 3309 2884 -3 632 750 749 -3 631 632 749 -3 750 869 868 -3 749 750 868 -3 869 988 987 -3 868 869 987 -3 988 1106 1105 -3 987 988 1105 -3 1106 1222 1221 -3 1105 1106 1221 -3 1339 1338 1223 -3 1221 1222 1337 -3 3405 14993 14804 -3 14547 15656 14548 -3 14517 15158 16782 -3 15656 14703 5488 -3 5200 19 1503 -3 17188 5144 16252 -3 16292 16437 16291 -3 3597 4638 4402 -3 20104 20616 20615 -3 16437 16589 16436 -3 3749 3405 14621 -3 22561 13847 20194 -3 707 6774 2401 -3 14407 14406 14390 -3 14936 16510 16509 -3 14604 7090 273 -3 16901 17064 16900 -3 1801 1685 4463 -3 29902 30033 30032 -3 17064 17063 16900 -3 14712 14349 14362 -3 15297 1306 15425 -3 14616 400 1740 -3 2939 3069 14412 -3 35436 35592 35880 -3 16290 16435 16289 -3 2989 3130 3129 -3 35893 35580 35359 -3 3130 3270 3269 -3 3407 3268 3269 -3 3270 3409 3408 -3 3269 3270 3408 -3 3409 3542 3541 -3 3408 3409 3541 -3 3542 3672 3671 -3 3541 3542 3671 -3 3672 3804 3803 -3 3671 3672 3803 -3 3804 3936 3935 -3 3803 3804 3935 -3 4070 4069 3935 -3 3936 4070 3935 -3 4203 4202 4069 -3 4070 4203 4069 -3 4336 4335 4202 -3 4203 4336 4202 -3 4470 4469 4335 -3 4336 4470 4335 -3 4604 4603 4469 -3 4470 4604 4469 -3 4738 4873 19750 -3 4604 4738 4603 -3 239 348 14791 -3 4873 4874 5009 -3 16482 700 2664 -3 16477 16482 2664 -3 17061 17060 16897 -3 16898 17061 16897 -3 16288 16287 16144 -3 35408 35421 35501 -3 14299 5697 6511 -3 14791 14904 14903 -3 7113 15762 14679 -3 14904 16477 16467 -3 14903 14904 16467 -3 5815 5814 5680 -3 18505 17530 34979 -3 5815 5947 5946 -3 5814 5815 5946 -3 6079 6078 5946 -3 5947 6079 5946 -3 6079 6209 6208 -3 6078 6079 6208 -3 6209 6338 6337 -3 6208 6209 6337 -3 6338 6465 6464 -3 6337 6338 6464 -3 6591 6590 6464 -3 6465 6591 6464 -3 6716 6715 6590 -3 6591 6716 6590 -3 187 152 6715 -3 6716 187 6715 -3 328 6125 152 -3 187 328 152 -3 3018 3160 6125 -3 328 3018 6125 -3 3163 3162 3160 -3 3018 3163 3160 -3 3979 4379 3162 -3 3163 3979 3162 -3 2214 2347 4379 -3 3979 2214 4379 -3 1620 4527 2347 -3 2214 1620 2347 -3 35762 35941 35693 -3 15748 16850 5414 -3 13693 5335 11503 -3 12223 13693 11503 -3 13609 13770 13671 -3 7400 29549 6990 -3 14121 14217 14216 -3 14120 14121 14216 -3 13927 13926 13828 -3 13829 13927 13828 -3 13927 14025 14024 -3 6374 6246 6375 -3 5845 5977 5976 -3 430 7256 544 -3 5710 5711 5844 -3 544 543 429 -3 4620 4754 4753 -3 2741 2740 2605 -3 4226 4359 4358 -3 3959 3958 3826 -3 6607 6608 6732 -3 1822 1942 1941 -3 4893 5028 5027 -3 3010 3011 3151 -3 1397 1513 1396 -3 2222 15364 23637 -3 5581 5582 5716 -3 5582 5717 5716 -3 1471 1587 1470 -3 2102 15046 15170 -3 6244 6373 6372 -3 6243 6244 6372 -3 13485 13680 13981 -3 35633 35661 35629 -3 1364 1480 1363 -3 1119 1235 1234 -3 3559 3689 3688 -3 6733 696 678 -3 4226 4225 4092 -3 4093 4226 4092 -3 4214 4215 4347 -3 1583 1700 1582 -3 9058 2505 2639 -3 2505 2640 2639 -3 6627 6752 6751 -3 35391 35805 14562 -3 13720 13818 13817 -3 5710 5844 5709 -3 2468 2603 2467 -3 2239 2371 2238 -3 6630 6631 6755 -3 24723 26589 25664 -3 801 7505 800 -3 5298 5299 5433 -3 3293 3432 3292 -3 3565 3564 3431 -3 518 633 632 -3 35574 35409 35626 -3 633 751 750 -3 632 633 750 -3 751 870 869 -3 750 751 869 -3 989 988 869 -3 870 989 869 -3 989 1107 1106 -3 988 989 1106 -3 1107 1223 1222 -3 1106 1107 1222 -3 1455 18690 1339 -3 1222 1223 1338 -3 15547 5144 17188 -3 16035 3749 3618 -3 1503 3597 4402 -3 16782 15547 17188 -3 35887 28427 35600 -3 4638 2525 2390 -3 6797 19364 18283 -3 23813 26253 26351 -3 14804 14993 16481 -3 12305 22561 3729 -3 14510 14712 14362 -3 6145 14693 14763 -3 14928 14936 16509 -3 1420 16708 5757 -3 17228 17227 17063 -3 16510 5876 2933 -3 9079 15435 23400 -3 17064 17228 17063 -3 2579 19732 19621 -3 27145 7094 30755 -3 2580 2715 2714 -3 35946 35768 35483 -3 2715 2851 2850 -3 10440 10559 10439 -3 2851 2990 2989 -3 2850 2851 2989 -3 2990 3131 3130 -3 2989 2990 3130 -3 3131 3271 3270 -3 3130 3131 3270 -3 3271 3410 3409 -3 3270 3271 3409 -3 3410 3543 3542 -3 3409 3410 3542 -3 3673 3672 3542 -3 3543 3673 3542 -3 3805 3804 3672 -3 3673 3805 3672 -3 3937 3936 3804 -3 3805 3937 3804 -3 3937 4071 4070 -3 3936 3937 4070 -3 4071 4204 4203 -3 4070 4071 4203 -3 4204 4337 4336 -3 4203 4204 4336 -3 4471 4470 4336 -3 4337 4471 4336 -3 4605 4604 4470 -3 4471 4605 4470 -3 4739 4738 4604 -3 4605 4739 4604 -3 4874 4873 4738 -3 4739 4874 4738 -3 17225 17224 17060 -3 19606 5009 5010 -3 17061 17225 17060 -3 4599 4467 17224 -3 13987 6384 63 -3 3127 3855 3723 -3 63 1856 14085 -3 1856 13988 14085 -3 16477 2664 245 -3 13973 14168 35780 -3 16467 16477 245 -3 14728 14791 14903 -3 19318 5681 19300 -3 19300 5681 5680 -3 5948 5947 5815 -3 30984 31045 30983 -3 5948 6080 6079 -3 5947 5948 6079 -3 6080 6210 6209 -3 6079 6080 6209 -3 6210 6339 6338 -3 6209 6210 6338 -3 6466 6465 6338 -3 6339 6466 6338 -3 6592 6591 6465 -3 6466 6592 6465 -3 6717 6716 6591 -3 6592 6717 6591 -3 195 187 6716 -3 6717 195 6716 -3 286 328 187 -3 195 286 187 -3 3161 3018 328 -3 286 3161 328 -3 3164 3163 3018 -3 3161 3164 3018 -3 4113 3979 3163 -3 3164 4113 3163 -3 2085 2214 3979 -3 4113 2085 3979 -3 1720 1620 2214 -3 2085 1720 2214 -3 12708 12707 12617 -3 35522 25128 25266 -3 216 13693 12223 -3 2793 216 12223 -3 13671 13770 13003 -3 11588 11587 11520 -3 13827 13826 13728 -3 13729 13827 13728 -3 13926 13927 14024 -3 14123 14122 14024 -3 5019 5020 5154 -3 1945 2070 1944 -3 1591 1708 1590 -3 2110 2239 2109 -3 2371 2370 2238 -3 4629 4630 4763 -3 35574 35626 35673 -3 4895 4896 5030 -3 4626 4627 4760 -3 5166 5300 5299 -3 4760 4761 4895 -3 536 535 421 -3 4892 4893 5027 -3 7618 919 7619 -3 4224 4225 4357 -3 6100 6230 6229 -3 1984 1983 1863 -3 1587 1704 1703 -3 14025 14123 14024 -3 6115 6114 9866 -3 11335 32 10589 -3 4484 4618 4617 -3 5044 5179 5178 -3 1397 1396 1280 -3 1281 1397 1280 -3 1587 1588 1704 -3 1704 1705 1821 -3 4225 4226 4358 -3 4093 4092 3958 -3 12768 12860 12859 -3 2467 2602 2466 -3 2110 2109 1984 -3 1985 2110 1984 -3 2200 2199 2070 -3 2071 2200 2070 -3 3970 3969 3438 -3 6732 678 6731 -3 35717 35411 35868 -3 1985 1984 1864 -3 2869 3008 2868 -3 5443 5577 5576 -3 3827 3959 3826 -3 421 535 534 -3 5587 5721 1953 -3 3153 3293 3152 -3 519 634 633 -3 8868 35385 8760 -3 634 752 751 -3 633 634 751 -3 752 871 870 -3 751 752 870 -3 871 990 989 -3 870 871 989 -3 990 1108 1107 -3 989 990 1107 -3 1108 1224 1223 -3 1107 1108 1223 -3 1224 1340 1339 -3 1223 1224 1339 -3 1340 1456 1455 -3 35417 35562 35642 -3 1456 1572 1571 -3 1688 18887 1571 -3 1572 1689 1688 -3 1571 1572 1688 -3 1689 1806 1805 -3 1688 1689 1805 -3 1806 1926 1925 -3 1925 1926 2050 -3 1926 2051 2050 -3 16509 16510 2933 -3 2051 2180 2179 -3 2179 19402 19295 -3 2180 2312 2311 -3 2445 2311 2312 -3 2312 2446 2445 -3 19621 19511 2445 -3 2446 2581 2580 -3 2445 2446 2580 -3 2581 2716 2715 -3 2580 2581 2715 -3 2716 2852 2851 -3 2715 2716 2851 -3 2852 2991 2990 -3 2851 2852 2990 -3 2991 3132 3131 -3 2990 2991 3131 -3 3132 3272 3271 -3 3131 3132 3271 -3 3272 3411 3410 -3 3271 3272 3410 -3 3411 3544 3543 -3 3410 3411 3543 -3 3674 3673 3543 -3 3544 3674 3543 -3 3806 3805 3673 -3 3674 3806 3673 -3 3806 3938 3937 -3 3805 3806 3937 -3 3938 4072 4071 -3 3937 3938 4071 -3 4205 4204 4071 -3 4072 4205 4071 -3 4205 4338 4337 -3 4204 4205 4337 -3 4472 4471 4337 -3 4338 4472 4337 -3 4606 4605 4471 -3 4472 4606 4471 -3 4740 4739 4605 -3 4606 4740 4605 -3 4875 4874 4739 -3 4740 4875 4739 -3 5010 5009 4874 -3 4875 5010 4874 -3 23420 23031 16299 -3 35715 35564 35355 -3 18382 5279 5278 -3 4688 17106 9405 -3 13958 12932 12042 -3 12205 12820 12660 -3 26 3127 16945 -3 5142 2048 79 -3 4137 6775 2795 -3 5546 15546 14788 -3 17791 16821 19542 -3 4008 15566 4140 -3 5817 5949 5948 -3 32727 32839 32726 -3 5949 6081 6080 -3 5948 5949 6080 -3 6211 6210 6080 -3 6081 6211 6080 -3 6340 6339 6210 -3 6211 6340 6210 -3 6467 6466 6339 -3 6340 6467 6339 -3 6593 6592 6466 -3 6467 6593 6466 -3 6718 6717 6592 -3 6593 6718 6592 -3 196 195 6717 -3 6718 196 6717 -3 807 286 195 -3 196 807 195 -3 6645 3161 286 -3 807 6645 286 -3 3021 3164 3161 -3 6645 3021 3161 -3 4246 4113 3164 -3 3021 4246 3164 -3 1830 2085 4113 -3 4246 1830 4113 -3 1719 1720 2085 -3 1830 1719 2085 -3 4252 1602 1720 -3 1719 4252 1720 -3 10772 9628 2793 -3 5272 2102 2101 -3 11521 11588 11520 -3 11663 11662 11587 -3 13729 13728 13630 -3 13631 13729 13630 -3 14219 14218 14122 -3 14123 14219 14122 -3 3015 3014 2875 -3 2237 2369 2368 -3 1865 1864 1747 -3 1748 1865 1747 -3 2736 2737 2872 -3 4496 4630 4629 -3 1256 1140 3159 -3 1140 3306 3159 -3 4761 4896 4895 -3 4896 5031 5030 -3 5163 5164 5297 -3 6483 6484 6609 -3 3011 3152 3151 -3 35543 35761 35603 -3 4750 4885 4884 -3 649 767 766 -3 1013 1131 1012 -3 3819 3951 3950 -3 6244 6245 6373 -3 6245 6374 6373 -3 5179 5313 5312 -3 5178 5179 5312 -3 31272 11417 31338 -3 12411 12500 12410 -3 1821 1822 1941 -3 1705 1822 1821 -3 4358 4359 4492 -3 4359 4493 4492 -3 4627 4628 4761 -3 2737 2873 2872 -3 1748 1747 1630 -3 2239 2238 2109 -3 2324 2325 2458 -3 3284 3285 3423 -3 1703 1820 1819 -3 4256 4389 1384 -3 1865 1985 1864 -3 1631 1630 1514 -3 5442 5443 5576 -3 1747 1864 1746 -3 4492 4493 4626 -3 4627 4761 4760 -3 519 633 518 -3 3298 5590 2884 -3 520 635 634 -3 519 520 634 -3 635 753 752 -3 634 635 752 -3 753 872 871 -3 752 753 871 -3 872 991 990 -3 871 872 990 -3 991 1109 1108 -3 990 991 1108 -3 1109 1225 1224 -3 1108 1109 1224 -3 1225 1341 1340 -3 1224 1225 1340 -3 1457 1456 1340 -3 1341 1457 1340 -3 1457 1573 1572 -3 1456 1457 1572 -3 1573 1690 1689 -3 1572 1573 1689 -3 35773 35530 35557 -3 1689 1690 1806 -3 14978 15021 14928 -3 29362 29499 29361 -3 35864 35823 35782 -3 19005 19542 16821 -3 35706 35857 13280 -3 35828 35834 35520 -3 2313 2312 2180 -3 2181 2313 2180 -3 2447 2446 2312 -3 2313 2447 2312 -3 2582 2581 2446 -3 2447 2582 2446 -3 2717 2716 2581 -3 2582 2717 2581 -3 2853 2852 2716 -3 2717 2853 2716 -3 2992 2991 2852 -3 2853 2992 2852 -3 2992 3133 3132 -3 2991 2992 3132 -3 3133 3273 3272 -3 3132 3133 3272 -3 3273 3412 3411 -3 3272 3273 3411 -3 3412 3545 3544 -3 3411 3412 3544 -3 3545 3675 3674 -3 3544 3545 3674 -3 3807 3806 3674 -3 3675 3807 3674 -3 3807 3939 3938 -3 3806 3807 3938 -3 4073 4072 3938 -3 3939 4073 3938 -3 4073 4206 4205 -3 4072 4073 4205 -3 4206 4339 4338 -3 4205 4206 4338 -3 4473 4472 4338 -3 4339 4473 4338 -3 4607 4606 4472 -3 4473 4607 4472 -3 4741 4740 4606 -3 4607 4741 4606 -3 4876 4875 4740 -3 4741 4876 4740 -3 5011 5010 4875 -3 4876 5011 4875 -3 5146 5145 5010 -3 5011 5146 5010 -3 35373 35384 35432 -3 1541 25730 1775 -3 11659 11658 11583 -3 11584 11659 11583 -3 5414 1069 18584 -3 11739 11738 11658 -3 16093 5546 14788 -3 245 2664 16093 -3 17854 17891 5684 -3 35915 35501 35488 -3 5684 5818 5817 -3 5817 5818 5949 -3 6082 6081 5949 -3 35658 35889 35709 -3 6212 6211 6081 -3 6082 6212 6081 -3 6341 6340 6211 -3 6212 6341 6211 -3 6468 6467 6340 -3 6341 6468 6340 -3 6594 6593 6467 -3 6468 6594 6467 -3 6719 6718 6593 -3 6594 6719 6593 -3 204 196 6718 -3 6719 204 6718 -3 1729 807 196 -3 204 1729 196 -3 2762 6645 807 -3 1729 2762 807 -3 3022 3021 6645 -3 2762 3022 6645 -3 3452 4246 3021 -3 3022 3452 3021 -3 1951 1830 4246 -3 3452 1951 4246 -3 1718 1719 1830 -3 1951 1718 1830 -3 4787 4252 1719 -3 1718 4787 1719 -3 2101 16543 5272 -3 4787 2101 4252 -3 11588 11663 11587 -3 11743 11742 11662 -3 13631 13630 13532 -3 13533 13631 13532 -3 14317 14316 14218 -3 14219 14317 14218 -3 13521 10728 14316 -3 35651 35552 35833 -3 35616 35659 35674 -3 1515 1514 1398 -3 645 763 762 -3 1399 1398 1282 -3 1242 1358 1241 -3 3008 3149 3007 -3 2872 2871 2735 -3 4626 4760 4759 -3 2736 2872 2735 -3 4491 4492 4625 -3 35556 35350 35577 -3 6379 7545 6250 -3 6379 6380 6506 -3 1133 1249 1132 -3 6632 10501 8477 -3 3685 3684 3554 -3 6222 6351 6350 -3 4887 5022 5021 -3 5313 5448 5447 -3 5312 5313 5447 -3 2734 2733 2598 -3 7470 7584 15236 -3 422 536 421 -3 1942 2067 2066 -3 5030 5031 5165 -3 4493 4627 4626 -3 4762 4897 4896 -3 2737 2736 2601 -3 420 421 534 -3 1631 1748 1630 -3 5306 5441 5440 -3 1991 2116 2115 -3 1990 1991 2115 -3 2116 2245 2244 -3 1515 1631 1514 -3 3291 3292 3430 -3 2602 2737 2601 -3 3012 3153 3152 -3 5435 5569 5568 -3 5165 5166 5299 -3 407 521 520 -3 520 7342 406 -3 521 636 635 -3 520 521 635 -3 636 754 753 -3 635 636 753 -3 754 873 872 -3 753 754 872 -3 873 992 991 -3 872 873 991 -3 992 1110 1109 -3 991 992 1109 -3 1110 1226 1225 -3 1109 1110 1225 -3 1226 1342 1341 -3 1225 1226 1341 -3 1342 1458 1457 -3 1341 1342 1457 -3 35508 35672 35750 -3 1457 1458 1573 -3 3848 155 7674 -3 35483 35768 35507 -3 22221 22220 22124 -3 14083 35670 35466 -3 4464 4463 17227 -3 12869 12895 12777 -3 16448 3339 7855 -3 23302 23303 23399 -3 32092 32091 31991 -3 20615 20616 21409 -3 2182 2314 2313 -3 2181 2182 2313 -3 2448 2447 2313 -3 2314 2448 2313 -3 2583 2582 2447 -3 2448 2583 2447 -3 2718 2717 2582 -3 2583 2718 2582 -3 2854 2853 2717 -3 2718 2854 2717 -3 2854 2993 2992 -3 2853 2854 2992 -3 2993 3134 3133 -3 2992 2993 3133 -3 3134 3274 3273 -3 3133 3134 3273 -3 3274 3413 3412 -3 3273 3274 3412 -3 3413 3546 3545 -3 3412 3413 3545 -3 3546 3676 3675 -3 3545 3546 3675 -3 3676 3808 3807 -3 3675 3676 3807 -3 3808 3940 3939 -3 3807 3808 3939 -3 4074 4073 3939 -3 3940 4074 3939 -3 4074 4207 4206 -3 4073 4074 4206 -3 4340 4339 4206 -3 4207 4340 4206 -3 4474 4473 4339 -3 4340 4474 4339 -3 4608 4607 4473 -3 4474 4608 4473 -3 4742 4741 4607 -3 4608 4742 4607 -3 4877 4876 4741 -3 4742 4877 4741 -3 5012 5011 4876 -3 4877 5012 4876 -3 5012 5147 5146 -3 5011 5012 5146 -3 14595 5282 15612 -3 35781 35373 35361 -3 11659 11739 11658 -3 11823 11822 11738 -3 11128 13782 8574 -3 10005 11128 8574 -3 2358 6775 4137 -3 15546 2048 5142 -3 5218 2521 5219 -3 15566 2358 5465 -3 5218 5219 2303 -3 2302 5218 2303 -3 17224 4467 17223 -3 2302 2303 4598 -3 6213 6212 6082 -3 22162 14930 22065 -3 6342 6341 6212 -3 6213 6342 6212 -3 6469 6468 6341 -3 6342 6469 6341 -3 6595 6594 6468 -3 6469 6595 6468 -3 6720 6719 6594 -3 6595 6720 6594 -3 205 204 6719 -3 6720 205 6719 -3 436 1729 204 -3 205 436 204 -3 3037 2762 1729 -3 436 3037 1729 -3 3017 3022 2762 -3 3037 3017 2762 -3 3313 3452 3022 -3 3017 3313 3022 -3 2077 1951 3452 -3 3313 2077 3452 -3 1717 1718 1951 -3 2077 1717 1951 -3 3019 4787 1718 -3 1717 3019 1718 -3 16697 2230 2362 -3 3019 2230 4787 -3 11663 11743 11662 -3 11827 11826 11742 -3 13533 13532 13436 -3 13437 13533 13436 -3 14317 13521 14316 -3 11809 12940 10728 -3 35708 35646 35423 -3 2115 2116 2244 -3 2245 2377 2376 -3 1399 1515 1398 -3 1283 1399 1282 -3 35938 12555 35366 -3 1495 1496 1256 -3 5592 1726 5726 -3 1726 1608 5726 -3 4493 4494 4627 -3 6739 1495 1151 -3 4628 4762 4761 -3 1495 1256 1257 -3 4622 4756 4755 -3 35913 35921 35892 -3 4617 4618 4751 -3 3441 3301 784 -3 6506 6632 6631 -3 4215 4216 4348 -3 6379 6506 6505 -3 6505 6506 6631 -3 6739 8550 1496 -3 6378 6379 6505 -3 5300 5435 5434 -3 6484 6610 6609 -3 4109 3711 2618 -3 5031 5166 5165 -3 1628 1745 1627 -3 2873 3012 3011 -3 2244 2245 2376 -3 259 10474 11242 -3 2377 2511 2510 -3 2376 2377 2510 -3 1745 1744 1627 -3 2511 2646 2645 -3 2872 2873 3011 -3 4225 4358 4357 -3 5299 5300 5434 -3 2617 2219 2618 -3 408 522 521 -3 407 406 7232 -3 522 637 636 -3 521 522 636 -3 637 755 754 -3 636 637 754 -3 755 874 873 -3 754 755 873 -3 874 993 992 -3 873 874 992 -3 993 1111 1110 -3 992 993 1110 -3 1111 1227 1226 -3 1110 1111 1226 -3 1227 1343 1342 -3 1226 1227 1342 -3 1343 1459 1458 -3 1342 1343 1458 -3 462 578 14977 -3 1339 1340 1455 -3 35380 35817 35882 -3 1968 5417 1832 -3 9321 346 1506 -3 35719 29544 27642 -3 28952 29087 28951 -3 19195 1928 1929 -3 1740 400 6270 -3 23245 22144 21952 -3 4269 578 462 -3 6270 4269 462 -3 24656 11975 6653 -3 578 14978 14977 -3 19406 2315 2314 -3 2314 2315 2448 -3 2449 2584 2583 -3 2448 2449 2583 -3 2584 2719 2718 -3 2583 2584 2718 -3 2719 2855 2854 -3 2718 2719 2854 -3 2855 2994 2993 -3 2854 2855 2993 -3 2994 3135 3134 -3 2993 2994 3134 -3 3135 3275 3274 -3 3134 3135 3274 -3 3275 3414 3413 -3 3274 3275 3413 -3 3414 3547 3546 -3 3413 3414 3546 -3 3547 3677 3676 -3 3546 3547 3676 -3 3677 3809 3808 -3 3676 3677 3808 -3 3809 3941 3940 -3 3808 3809 3940 -3 4075 4074 3940 -3 3941 4075 3940 -3 4208 4207 4074 -3 4075 4208 4074 -3 4208 4341 4340 -3 4207 4208 4340 -3 4341 4475 4474 -3 4340 4341 4474 -3 4475 4609 4608 -3 4474 4475 4608 -3 4743 4742 4608 -3 4609 4743 4608 -3 4878 4877 4742 -3 4743 4878 4742 -3 5013 5012 4877 -3 4878 5013 4877 -3 5148 5147 5012 -3 5013 5148 5012 -3 5282 5148 5283 -3 35384 35753 35432 -3 11584 11583 11516 -3 35354 35666 35678 -3 12278 12277 12300 -3 13027 11128 10005 -3 14490 15566 5465 -3 4008 4140 3028 -3 2521 3028 5219 -3 17224 17223 17059 -3 17060 17224 17059 -3 16028 5434 5274 -3 4467 2302 4598 -3 6084 6214 6213 -3 6083 6084 6213 -3 6343 6342 6213 -3 6214 6343 6213 -3 6470 6469 6342 -3 6343 6470 6342 -3 6596 6595 6469 -3 6470 6596 6469 -3 6721 6720 6595 -3 6596 6721 6595 -3 206 205 6720 -3 6721 206 6720 -3 549 436 205 -3 206 549 205 -3 2898 3037 436 -3 549 2898 436 -3 3023 3017 3037 -3 2898 3023 3037 -3 3585 3313 3017 -3 3023 3585 3017 -3 2078 2077 3313 -3 3585 2078 3313 -3 1716 1717 2077 -3 2078 1716 2077 -3 1251 3019 1717 -3 1716 1251 1717 -3 2362 2496 16697 -3 1251 2362 3019 -3 11743 11827 11742 -3 11913 11912 11826 -3 24749 13245 13341 -3 13436 13532 13435 -3 13521 11809 10728 -3 11809 11093 9657 -3 7518 7632 7517 -3 6947 7046 7045 -3 651 769 768 -3 3817 3949 3816 -3 11278 4774 4775 -3 5438 5572 5571 -3 2231 2631 2103 -3 1608 1726 3460 -3 4618 4619 4752 -3 12961 13465 12869 -3 2606 2605 2470 -3 4630 4764 4763 -3 2471 2606 2470 -3 4763 4764 4898 -3 1474 1473 1357 -3 4885 4886 5020 -3 1940 1941 2065 -3 1013 1012 893 -3 3818 3819 3950 -3 11657 11737 11656 -3 22914 23013 22913 -3 6487 6613 6486 -3 5307 5308 5442 -3 4086 4085 3951 -3 3306 3711 4109 -3 3711 2617 2618 -3 1983 8627 1982 -3 5711 5712 5845 -3 2510 2511 2645 -3 2646 2781 2780 -3 2645 2646 2780 -3 35906 35856 35599 -3 1040 1039 920 -3 12903 17264 20758 -3 2219 5592 2218 -3 2219 2218 2618 -3 409 523 522 -3 407 408 521 -3 523 638 637 -3 522 523 637 -3 638 756 755 -3 637 638 755 -3 756 875 874 -3 755 756 874 -3 875 994 993 -3 874 875 993 -3 994 1112 1111 -3 993 994 1111 -3 1112 1228 1227 -3 1111 1112 1227 -3 1228 1344 1343 -3 1227 1228 1343 -3 1576 18793 1460 -3 1343 1344 1459 -3 14978 14928 14920 -3 14977 14978 14920 -3 2178 14616 1740 -3 400 4269 6270 -3 1693 1810 1809 -3 18892 1692 18991 -3 1810 1930 1929 -3 1809 1810 1929 -3 1930 2055 2054 -3 2054 19299 19195 -3 2316 2183 2184 -3 2055 2184 2054 -3 1487 5883 3730 -3 27499 27617 27616 -3 4116 1487 3730 -3 14616 2178 5883 -3 2450 2585 2584 -3 29637 29636 29498 -3 2585 2720 2719 -3 2584 2585 2719 -3 2720 2856 2855 -3 2719 2720 2855 -3 2856 2995 2994 -3 2855 2856 2994 -3 2995 3136 3135 -3 2994 2995 3135 -3 3136 3276 3275 -3 3135 3136 3275 -3 3276 3415 3414 -3 3275 3276 3414 -3 3415 3548 3547 -3 3414 3415 3547 -3 3548 3678 3677 -3 3547 3548 3677 -3 3678 3810 3809 -3 3677 3678 3809 -3 3810 3942 3941 -3 3809 3810 3941 -3 4076 4075 3941 -3 3942 4076 3941 -3 4209 4208 4075 -3 4076 4209 4075 -3 4209 4342 4341 -3 4208 4209 4341 -3 4342 4476 4475 -3 4341 4342 4475 -3 4610 4609 4475 -3 4476 4610 4475 -3 4744 4743 4609 -3 4610 4744 4609 -3 4744 4879 4878 -3 4743 4744 4878 -3 5014 5013 4878 -3 4879 5014 4878 -3 5149 5148 5013 -3 5014 5149 5013 -3 15349 5284 15479 -3 5149 5283 5148 -3 12753 1254 12458 -3 35589 35390 35812 -3 12300 13027 10005 -3 13782 1754 3989 -3 2521 4008 3028 -3 5953 19109 5821 -3 6083 16190 6084 -3 4467 4598 17223 -3 5953 6085 6084 -3 35367 35451 35814 -3 6215 6214 6084 -3 6085 6215 6084 -3 6344 6343 6214 -3 6215 6344 6214 -3 6471 6470 6343 -3 6344 6471 6343 -3 6597 6596 6470 -3 6471 6597 6470 -3 6722 6721 6596 -3 6597 6722 6596 -3 230 206 6721 -3 6722 230 6721 -3 435 549 206 -3 230 435 206 -3 3706 2898 549 -3 435 3706 549 -3 3307 3023 2898 -3 3706 3307 2898 -3 3715 3585 3023 -3 3307 3715 3023 -3 2079 2078 3585 -3 3715 2079 3585 -3 1963 1716 2078 -3 2079 1963 2078 -3 4793 1251 1716 -3 1963 4793 1716 -3 2496 2362 1251 -3 4793 2496 1251 -3 11827 11913 11826 -3 6375 6502 6501 -3 13342 13437 13341 -3 11997 11996 11912 -3 12940 11809 9657 -3 22934 23033 23245 -3 11093 8086 7772 -3 27733 27734 27848 -3 16789 5432 14611 -3 13770 13097 13003 -3 5303 5304 5438 -3 35580 35371 35906 -3 1132 1248 1131 -3 5712 5846 5845 -3 12249 12248 12165 -3 9657 11093 7772 -3 8086 2090 10378 -3 1957 2094 1958 -3 3688 3689 3820 -3 5308 5443 5442 -3 6364 6363 6234 -3 3166 3168 3309 -3 13815 13814 13716 -3 1700 1699 1582 -3 5726 1608 5860 -3 2868 2867 2731 -3 2884 5587 2883 -3 3566 3696 3695 -3 6504 6505 6630 -3 318 428 427 -3 5304 5439 5438 -3 3159 3306 4109 -3 35583 35652 35384 -3 5845 5846 5977 -3 11919 12003 11918 -3 12084 12083 12002 -3 7772 8086 10378 -3 2090 10466 12930 -3 1999 1622 1171 -3 5844 5843 5709 -3 4885 5020 5019 -3 5592 5726 2218 -3 410 524 523 -3 409 408 7234 -3 524 639 638 -3 523 524 638 -3 639 757 756 -3 638 639 756 -3 757 876 875 -3 756 757 875 -3 876 995 994 -3 875 876 994 -3 995 1113 1112 -3 994 995 1112 -3 1113 1229 1228 -3 1112 1113 1228 -3 1229 1345 1344 -3 1228 1229 1344 -3 1345 1461 1460 -3 1344 1345 1460 -3 1461 1577 1576 -3 18793 1576 18893 -3 1577 1694 1693 -3 15035 977 2630 -3 17011 12460 11008 -3 1487 14616 5883 -3 1811 1931 1930 -3 15518 15388 15519 -3 1931 2056 2055 -3 1930 1931 2055 -3 2056 2185 2184 -3 2055 2056 2184 -3 2317 2316 2184 -3 2185 2317 2184 -3 29499 29637 29498 -3 2317 2451 2316 -3 2451 2586 2585 -3 2450 2451 2585 -3 2586 2721 2720 -3 2585 2586 2720 -3 2721 2857 2856 -3 2720 2721 2856 -3 2857 2996 2995 -3 2856 2857 2995 -3 2996 3137 3136 -3 2995 2996 3136 -3 3137 3277 3276 -3 3136 3137 3276 -3 3277 3416 3415 -3 3276 3277 3415 -3 3416 3549 3548 -3 3415 3416 3548 -3 3549 3679 3678 -3 3548 3549 3678 -3 3679 3811 3810 -3 3678 3679 3810 -3 3943 3942 3810 -3 3811 3943 3810 -3 4077 4076 3942 -3 3943 4077 3942 -3 4077 4210 4209 -3 4076 4077 4209 -3 4343 4342 4209 -3 4210 4343 4209 -3 4477 4476 4342 -3 4343 4477 4342 -3 4477 4611 4610 -3 4476 4477 4610 -3 4745 4744 4610 -3 4611 4745 4610 -3 4745 4880 4879 -3 4744 4745 4879 -3 4880 5015 5014 -3 4879 4880 5014 -3 5150 5149 5014 -3 5015 5150 5014 -3 35351 35509 35750 -3 5150 5284 5149 -3 3989 1754 5554 -3 5061 5060 13771 -3 8574 13782 3989 -3 1754 5061 5554 -3 5822 5821 5687 -3 5688 5822 5687 -3 5822 5954 5953 -3 5821 5822 5953 -3 6086 6085 5953 -3 5954 6086 5953 -3 6216 6215 6085 -3 6086 6216 6085 -3 6345 6344 6215 -3 6216 6345 6215 -3 6472 6471 6344 -3 6345 6472 6344 -3 6598 6597 6471 -3 6472 6598 6471 -3 6723 6722 6597 -3 6598 6723 6597 -3 294 230 6722 -3 6723 294 6722 -3 548 435 230 -3 294 548 230 -3 3705 3706 435 -3 548 3705 435 -3 3447 3307 3706 -3 3705 3447 3706 -3 3847 3715 3307 -3 3447 3847 3307 -3 2080 2079 3715 -3 3847 2080 3715 -3 1964 1963 2079 -3 2080 1964 2079 -3 4651 4793 1963 -3 1964 4651 1963 -3 2631 2496 4793 -3 4651 2631 4793 -3 6786 6658 27783 -3 2631 2231 2496 -3 11913 11997 11912 -3 12414 12413 12327 -3 35682 35388 35858 -3 20485 23122 16010 -3 10378 2090 12930 -3 10466 14184 9519 -3 6501 6502 6627 -3 1701 1702 1818 -3 6627 6628 6752 -3 7164 11555 11556 -3 33547 801 800 -3 3952 3953 4086 -3 886 1005 1004 -3 428 542 427 -3 5445 5446 5579 -3 3289 3288 3148 -3 4088 4221 4220 -3 2336 2470 2335 -3 2204 2336 2335 -3 2203 2204 2335 -3 4630 4631 4764 -3 317 316 7041 -3 2605 2604 2469 -3 1728 10023 3181 -3 657 656 541 -3 1727 1726 5592 -3 2367 2498 2087 -3 12084 12166 12083 -3 1727 3181 1726 -3 6378 6505 6504 -3 2331 2465 2464 -3 12679 12678 12588 -3 2073 2202 2072 -3 1745 1862 1744 -3 2220 5459 2219 -3 9641 11135 12629 -3 24164 23918 24547 -3 411 525 524 -3 410 7235 7236 -3 525 640 639 -3 524 525 639 -3 640 758 757 -3 639 640 757 -3 758 877 876 -3 757 758 876 -3 877 996 995 -3 876 877 995 -3 996 1114 1113 -3 995 996 1113 -3 1114 1230 1229 -3 1113 1114 1229 -3 1230 1346 1345 -3 1229 1230 1345 -3 1346 1462 1461 -3 1345 1346 1461 -3 1462 1578 1577 -3 1461 1462 1577 -3 1578 1695 1694 -3 1577 1578 1694 -3 1695 1812 1811 -3 20723 950 17722 -3 1812 1932 1931 -3 1811 1812 1931 -3 1932 2057 2056 -3 1931 1932 2056 -3 2186 2185 2056 -3 2057 2186 2056 -3 2186 2318 2317 -3 2185 2186 2317 -3 2452 2451 2317 -3 2318 2452 2317 -3 2452 2587 2586 -3 2451 2452 2586 -3 2587 2722 2721 -3 2586 2587 2721 -3 2722 2858 2857 -3 2721 2722 2857 -3 2858 2997 2996 -3 2857 2858 2996 -3 2997 3138 3137 -3 2996 2997 3137 -3 3138 3278 3277 -3 3137 3138 3277 -3 3278 3417 3416 -3 3277 3278 3416 -3 3417 3550 3549 -3 3416 3417 3549 -3 3550 3680 3679 -3 3549 3550 3679 -3 3680 3812 3811 -3 3679 3680 3811 -3 3812 3944 3943 -3 3811 3812 3943 -3 3944 4078 4077 -3 3943 3944 4077 -3 4211 4210 4077 -3 4078 4211 4077 -3 4344 4343 4210 -3 4211 4344 4210 -3 4478 4477 4343 -3 4344 4478 4343 -3 4478 4612 4611 -3 4477 4478 4611 -3 4746 4745 4611 -3 4612 4746 4611 -3 4881 4880 4745 -3 4746 4881 4745 -3 4881 5016 5015 -3 4880 4881 5015 -3 5151 5150 5015 -3 5016 5151 5015 -3 5285 5284 5150 -3 5151 5285 5150 -3 12593 12592 12502 -3 4649 15186 15311 -3 12683 12682 12592 -3 12503 12593 12502 -3 12593 12683 12592 -3 5823 5822 5688 -3 5689 5823 5688 -3 5823 5955 5954 -3 5822 5823 5954 -3 5955 6087 6086 -3 5954 5955 6086 -3 6217 6216 6086 -3 6087 6217 6086 -3 6346 6345 6216 -3 6217 6346 6216 -3 6473 6472 6345 -3 6346 6473 6345 -3 6599 6598 6472 -3 6473 6599 6472 -3 6724 6723 6598 -3 6599 6724 6598 -3 323 294 6723 -3 6724 323 6723 -3 434 548 294 -3 323 434 294 -3 3835 3705 548 -3 434 3835 548 -3 3308 3447 3705 -3 3835 3308 3705 -3 3173 3847 3447 -3 3308 3173 3447 -3 2081 2080 3847 -3 3173 2081 3847 -3 1965 1964 2080 -3 2081 1965 2080 -3 899 4651 1964 -3 1965 899 1964 -3 2766 2631 4651 -3 899 2766 4651 -3 35824 2137 35455 -3 16754 25466 25608 -3 12328 12414 12327 -3 12503 12502 12413 -3 23308 23405 23307 -3 20069 16009 22928 -3 12930 10466 9519 -3 14184 8770 11071 -3 5968 6100 6099 -3 1359 1475 1358 -3 6354 6481 6480 -3 4092 4225 4091 -3 4361 4360 4228 -3 4092 4091 3957 -3 417 418 531 -3 5838 5970 5837 -3 3826 3958 3825 -3 5705 5839 5704 -3 2199 2198 2069 -3 6102 6101 5969 -3 3958 4092 3957 -3 4389 4791 1384 -3 3958 3957 3825 -3 5967 5968 6099 -3 5971 5970 5838 -3 894 1013 893 -3 6353 6354 6480 -3 3144 3145 3284 -3 6607 6732 6731 -3 9519 14184 11071 -3 3424 3557 3423 -3 5459 1727 5592 -3 5459 5592 2219 -3 542 541 427 -3 5446 5580 5579 -3 412 526 525 -3 7236 411 410 -3 526 641 640 -3 525 526 640 -3 641 759 758 -3 640 641 758 -3 759 878 877 -3 758 759 877 -3 878 997 996 -3 877 878 996 -3 997 1115 1114 -3 996 997 1114 -3 1115 1231 1230 -3 1114 1115 1230 -3 1231 1347 1346 -3 1230 1231 1346 -3 1347 1463 1462 -3 1346 1347 1462 -3 1463 1579 1578 -3 1462 1463 1578 -3 1579 1696 1695 -3 1578 1579 1695 -3 1696 1813 1812 -3 1695 1696 1812 -3 1813 1933 1932 -3 1812 1813 1932 -3 1933 2058 2057 -3 1932 1933 2057 -3 2187 2186 2057 -3 2058 2187 2057 -3 2187 2319 2318 -3 2186 2187 2318 -3 2319 2453 2452 -3 2318 2319 2452 -3 2453 2588 2587 -3 2452 2453 2587 -3 2588 2723 2722 -3 2587 2588 2722 -3 2723 2859 2858 -3 2722 2723 2858 -3 2859 2998 2997 -3 2858 2859 2997 -3 2998 3139 3138 -3 2997 2998 3138 -3 3139 3279 3278 -3 3138 3139 3278 -3 3279 3418 3417 -3 3278 3279 3417 -3 3551 3550 3417 -3 3418 3551 3417 -3 3681 3680 3550 -3 3551 3681 3550 -3 3813 3812 3680 -3 3681 3813 3680 -3 3813 3945 3944 -3 3812 3813 3944 -3 3945 4079 4078 -3 3944 3945 4078 -3 4212 4211 4078 -3 4079 4212 4078 -3 4212 4345 4344 -3 4211 4212 4344 -3 4345 4479 4478 -3 4344 4345 4478 -3 4613 4612 4478 -3 4479 4613 4478 -3 4747 4746 4612 -3 4613 4747 4612 -3 4882 4881 4746 -3 4747 4882 4746 -3 5017 5016 4881 -3 4882 5017 4881 -3 5017 5152 5151 -3 5016 5017 5151 -3 5152 5286 5285 -3 5151 5152 5285 -3 5421 5422 14803 -3 5286 5421 5285 -3 21560 11575 17285 -3 29818 23842 23900 -3 30454 30453 30320 -3 28987 26412 19568 -3 5824 5823 5689 -3 5689 5687 14706 -3 5956 5955 5823 -3 5824 5956 5823 -3 10337 3457 7452 -3 5955 5956 6087 -3 6218 6217 6087 -3 6088 6218 6087 -3 6218 6347 6346 -3 6217 6218 6346 -3 6474 6473 6346 -3 6347 6474 6346 -3 6600 6599 6473 -3 6474 6600 6473 -3 6725 6724 6599 -3 6600 6725 6599 -3 324 323 6724 -3 6725 324 6724 -3 5957 434 323 -3 324 5957 323 -3 3966 3835 434 -3 5957 3966 434 -3 3974 3308 3835 -3 3966 3974 3835 -3 3974 3032 3173 -3 3308 3974 3173 -3 6616 2081 3173 -3 3032 6616 3173 -3 1966 1965 2081 -3 6616 1966 2081 -3 91 899 1965 -3 1966 91 1965 -3 2765 2766 899 -3 91 2765 899 -3 10866 10975 4124 -3 2765 2103 2766 -3 12414 12503 12413 -3 12771 12772 12863 -3 21459 21369 26347 -3 691 21225 2938 -3 8770 7576 12842 -3 11071 8770 12842 -3 5171 5172 5305 -3 2096 2226 4130 -3 7576 6636 6760 -3 8422 8529 1992 -3 2117 2246 2245 -3 2116 2117 2245 -3 2246 2378 2377 -3 2245 2246 2377 -3 2378 2512 2511 -3 2377 2378 2511 -3 2512 2647 2646 -3 2511 2512 2646 -3 2782 2648 2783 -3 2646 2647 2781 -3 10500 8691 13995 -3 13532 13630 13531 -3 6520 1051 8578 -3 2062 2063 2191 -3 1005 1123 1122 -3 542 657 541 -3 3149 3289 3148 -3 413 527 526 -3 7237 412 411 -3 527 642 641 -3 526 527 641 -3 760 759 641 -3 642 760 641 -3 760 879 878 -3 759 760 878 -3 879 998 997 -3 878 879 997 -3 998 1116 1115 -3 997 998 1115 -3 1116 1232 1231 -3 1115 1116 1231 -3 1232 1348 1347 -3 1231 1232 1347 -3 1348 1464 1463 -3 1347 1348 1463 -3 1464 1580 1579 -3 1463 1464 1579 -3 1580 1697 1696 -3 1579 1580 1696 -3 1697 1814 1813 -3 1696 1697 1813 -3 1814 1934 1933 -3 1813 1814 1933 -3 1934 2059 2058 -3 1933 1934 2058 -3 2188 2187 2058 -3 2059 2188 2058 -3 2320 2319 2187 -3 2188 2320 2187 -3 2320 2454 2453 -3 2319 2320 2453 -3 2454 2589 2588 -3 2453 2454 2588 -3 2589 2724 2723 -3 2588 2589 2723 -3 2724 2860 2859 -3 2723 2724 2859 -3 2860 2999 2998 -3 2859 2860 2998 -3 2999 3140 3139 -3 2998 2999 3139 -3 3280 3279 3139 -3 3140 3280 3139 -3 3280 3419 3418 -3 3279 3280 3418 -3 3552 3551 3418 -3 3419 3552 3418 -3 3682 3681 3551 -3 3552 3682 3551 -3 3814 3813 3681 -3 3682 3814 3681 -3 3814 3946 3945 -3 3813 3814 3945 -3 3946 4080 4079 -3 3945 3946 4079 -3 4213 4212 4079 -3 4080 4213 4079 -3 4213 4346 4345 -3 4212 4213 4345 -3 4480 4479 4345 -3 4346 4480 4345 -3 4614 4613 4479 -3 4480 4614 4479 -3 4614 4748 4747 -3 4613 4614 4747 -3 4748 4883 4882 -3 4747 4748 4882 -3 5018 5017 4882 -3 4883 5018 4882 -3 5153 5152 5017 -3 5018 5153 5017 -3 5287 5286 5152 -3 5153 5287 5152 -3 5423 5422 5287 -3 4102 4368 9768 -3 12249 12334 12248 -3 29149 30423 30072 -3 12842 7576 6760 -3 6636 220 6389 -3 5825 5824 5690 -3 6760 6636 6389 -3 11804 7016 6916 -3 35799 35518 35539 -3 6477 6603 6602 -3 3558 3688 3687 -3 6089 6219 6218 -3 5956 8131 6088 -3 6219 6348 6347 -3 6218 6219 6347 -3 6475 6474 6347 -3 6348 6475 6347 -3 6601 6600 6474 -3 6475 6601 6474 -3 6726 6725 6600 -3 6601 6726 6600 -3 333 324 6725 -3 6726 333 6725 -3 333 666 5957 -3 324 333 5957 -3 3575 3966 5957 -3 666 3575 5957 -3 3842 3974 3966 -3 3575 3842 3966 -3 2893 3032 3974 -3 3842 2893 3974 -3 1959 6616 3032 -3 2893 1959 3032 -3 1959 2092 1966 -3 6616 1959 1966 -3 90 91 1966 -3 2092 90 1966 -3 4924 2765 91 -3 90 4924 91 -3 1529 35491 35627 -3 90 5059 4924 -3 12864 12957 12956 -3 13051 12957 23923 -3 12166 12249 12165 -3 12334 12333 12248 -3 220 4530 37 -3 6389 220 37 -3 22511 22510 22412 -3 12003 12084 12002 -3 3156 3155 3014 -3 35714 35412 35529 -3 5441 5442 5575 -3 2470 2469 2335 -3 414 528 527 -3 7238 7239 413 -3 528 643 642 -3 527 528 642 -3 643 761 760 -3 642 643 760 -3 761 880 879 -3 760 761 879 -3 999 998 879 -3 880 999 879 -3 999 1117 1116 -3 998 999 1116 -3 1117 1233 1232 -3 1116 1117 1232 -3 1233 1349 1348 -3 1232 1233 1348 -3 1349 1465 1464 -3 1348 1349 1464 -3 1465 1581 1580 -3 1464 1465 1580 -3 1698 1697 1580 -3 1581 1698 1580 -3 1815 1814 1697 -3 1698 1815 1697 -3 1815 1935 1934 -3 1814 1815 1934 -3 1935 2060 2059 -3 1934 1935 2059 -3 2060 2189 2188 -3 2059 2060 2188 -3 2321 2320 2188 -3 2189 2321 2188 -3 2321 2455 2454 -3 2320 2321 2454 -3 2455 2590 2589 -3 2454 2455 2589 -3 2590 2725 2724 -3 2589 2590 2724 -3 2725 2861 2860 -3 2724 2725 2860 -3 2861 3000 2999 -3 2860 2861 2999 -3 3000 3141 3140 -3 2999 3000 3140 -3 3281 3280 3140 -3 3141 3281 3140 -3 3420 3419 3280 -3 3281 3420 3280 -3 3553 3552 3419 -3 3420 3553 3419 -3 3683 3682 3552 -3 3553 3683 3552 -3 3683 3815 3814 -3 3682 3683 3814 -3 3815 3947 3946 -3 3814 3815 3946 -3 3947 4081 4080 -3 3946 3947 4080 -3 4214 4213 4080 -3 4081 4214 4080 -3 4347 4346 4213 -3 4214 4347 4213 -3 4347 4481 4480 -3 4346 4347 4480 -3 4615 4614 4480 -3 4481 4615 4480 -3 4615 4749 4748 -3 4614 4615 4748 -3 4884 4883 4748 -3 4749 4884 4748 -3 5019 5018 4883 -3 4884 5019 4883 -3 5019 5154 5153 -3 5018 5019 5153 -3 5288 5287 5153 -3 5154 5288 5153 -3 12863 12864 12956 -3 35568 35701 35350 -3 31625 31624 31537 -3 14185 9652 35758 -3 22312 22409 22408 -3 3993 4530 5735 -3 12166 12165 12083 -3 22216 22312 22311 -3 6088 6089 6218 -3 8329 5959 10222 -3 6090 6220 6219 -3 6089 6090 6219 -3 6220 6349 6348 -3 6219 6220 6348 -3 6476 6475 6348 -3 6349 6476 6348 -3 6476 6602 6601 -3 6475 6476 6601 -3 6602 6727 6726 -3 6601 6602 6726 -3 6727 449 333 -3 6726 6727 333 -3 449 667 666 -3 333 449 666 -3 667 3704 3575 -3 666 667 3575 -3 3704 3710 3842 -3 3575 3704 3842 -3 2756 2893 3842 -3 3710 2756 3842 -3 1958 1959 2893 -3 2756 1958 2893 -3 2093 2092 1959 -3 1958 2093 1959 -3 1027 90 2092 -3 2093 1027 2092 -3 1027 5059 90 -3 16048 5424 617 -3 34807 34806 34678 -3 34414 34551 34413 -3 12956 12957 13050 -3 14309 14308 14210 -3 31111 31174 31173 -3 26950 26949 11594 -3 5830 5962 8976 -3 31399 31466 31398 -3 24840 24789 25336 -3 5574 5575 5709 -3 1744 1861 1743 -3 8089 13613 9801 -3 4751 4886 4885 -3 4349 4483 4482 -3 4631 4765 4764 -3 415 529 528 -3 414 7239 7240 -3 529 644 643 -3 528 529 643 -3 644 762 761 -3 643 644 761 -3 762 881 880 -3 761 762 880 -3 881 1000 999 -3 880 881 999 -3 1000 1118 1117 -3 999 1000 1117 -3 1118 1234 1233 -3 1117 1118 1233 -3 1234 1350 1349 -3 1233 1234 1349 -3 1350 1466 1465 -3 1349 1350 1465 -3 1582 1581 1465 -3 1466 1582 1465 -3 1699 1698 1581 -3 1582 1699 1581 -3 1816 1815 1698 -3 1699 1816 1698 -3 1936 1935 1815 -3 1816 1936 1815 -3 2061 2060 1935 -3 1936 2061 1935 -3 2061 2190 2189 -3 2060 2061 2189 -3 2190 2322 2321 -3 2189 2190 2321 -3 2322 2456 2455 -3 2321 2322 2455 -3 2456 2591 2590 -3 2455 2456 2590 -3 2591 2726 2725 -3 2590 2591 2725 -3 2726 2862 2861 -3 2725 2726 2861 -3 2862 3001 3000 -3 2861 2862 3000 -3 3001 3142 3141 -3 3000 3001 3141 -3 3142 3282 3281 -3 3141 3142 3281 -3 3421 3420 3281 -3 3282 3421 3281 -3 3554 3553 3420 -3 3421 3554 3420 -3 3684 3683 3553 -3 3554 3684 3553 -3 3684 3816 3815 -3 3683 3684 3815 -3 3816 3948 3947 -3 3815 3816 3947 -3 4082 4081 3947 -3 3948 4082 3947 -3 4082 4215 4214 -3 4081 4082 4214 -3 4215 4348 4347 -3 7046 7150 7149 -3 22215 22216 22311 -3 7045 7046 7149 -3 13320 35858 11129 -3 8312 8313 1870 -3 14257 13299 14256 -3 5203 3202 1976 -3 35462 35550 35653 -3 31110 31111 31173 -3 35897 35451 35367 -3 7292 7291 21379 -3 35824 35381 19680 -3 7344 14528 11250 -3 13429 13335 20265 -3 5864 5203 1976 -3 35407 14276 35398 -3 14118 14214 14213 -3 35807 35597 35715 -3 7993 11230 7366 -3 1634 1517 8091 -3 7269 7270 7380 -3 8609 8608 8501 -3 11369 9080 10095 -3 10846 8130 10095 -3 7371 7370 7259 -3 9250 9249 9140 -3 10638 10762 10761 -3 6226 6355 8520 -3 9263 9375 9262 -3 10516 10638 10637 -3 10469 10468 9199 -3 9832 9831 9716 -3 10515 10516 10637 -3 11095 8234 11096 -3 10394 10395 10514 -3 8171 8279 8278 -3 11390 11394 9625 -3 6961 7812 8140 -3 10395 10515 10514 -3 8520 7425 6226 -3 10283 10282 10163 -3 8491 8598 8597 -3 9375 9374 9262 -3 10637 10638 10761 -3 150 151 256 -3 8044 8219 11371 -3 10762 10887 10761 -3 1185 6148 18341 -3 11065 10686 11325 -3 10944 10935 7910 -3 15815 15679 3312 -3 13413 7932 9685 -3 8695 8694 8587 -3 7326 8147 7438 -3 9296 9172 11219 -3 3960 10514 10513 -3 9028 9027 8920 -3 10520 10521 10642 -3 10511 8776 7142 -3 8292 8399 8398 -3 8890 8463 9319 -3 9178 17158 9177 -3 7928 9562 10214 -3 9133 9134 9242 -3 21654 7294 7293 -3 10846 9103 8130 -3 10988 11115 8995 -3 9296 11219 10870 -3 29770 29769 29636 -3 9717 9832 9716 -3 1862 1982 1861 -3 7920 10944 7910 -3 13040 13134 13039 -3 9080 7197 8758 -3 8588 8695 8587 -3 10640 10764 10763 -3 10189 10308 10307 -3 10765 10764 10640 -3 10639 10640 10763 -3 35220 35221 26799 -3 8559 7463 5452 -3 22613 22712 22711 -3 35762 35714 35941 -3 11189 11188 10445 -3 7257 7256 7149 -3 35828 35527 35834 -3 7150 7257 7149 -3 1423 4273 5599 -3 10616 10494 11226 -3 7726 7841 7840 -3 9054 9053 8946 -3 8060 8171 8170 -3 8947 9054 8946 -3 4261 10740 10443 -3 7647 6893 9671 -3 7928 7785 8564 -3 25267 25129 25130 -3 29637 29770 29636 -3 9338 8148 9174 -3 7360 7586 8584 -3 29899 29898 29769 -3 10377 106 7250 -3 14115 14116 14211 -3 13109 7768 10376 -3 23011 23010 22911 -3 1406 932 225 -3 10399 10519 10518 -3 30216 29420 35657 -3 7014 7013 6915 -3 10301 10421 10300 -3 8638 8639 8745 -3 9130 9129 9021 -3 8531 8532 8638 -3 8853 8852 8745 -3 10140 10991 10023 -3 8639 8746 8745 -3 9022 9021 8914 -3 9022 9130 9021 -3 9813 9929 9928 -3 8915 9022 8914 -3 9812 9813 9928 -3 10046 10164 10045 -3 7368 7367 7256 -3 7257 7368 7256 -3 8425 8532 8531 -3 8424 8425 8531 -3 9927 10044 10043 -3 12150 12151 12233 -3 9505 10626 6960 -3 9322 9436 8030 -3 8733 8840 8732 -3 8947 8946 8839 -3 9896 8337 10490 -3 8733 8732 8625 -3 7950 7949 7833 -3 2775 9276 2640 -3 11291 7769 6965 -3 6939 7038 7037 -3 29770 29899 29769 -3 2356 11095 2075 -3 7368 7480 7479 -3 8746 8853 8745 -3 7367 7368 7479 -3 21377 7191 11506 -3 7594 7593 7479 -3 1879 12455 35797 -3 29792 29791 29658 -3 7756 7755 7640 -3 8425 8424 8317 -3 7641 7756 7640 -3 7871 7870 7755 -3 7756 7871 7755 -3 7987 7986 7870 -3 7868 7984 7867 -3 7871 7987 7870 -3 10281 10280 10161 -3 8532 8639 8638 -3 7694 7579 6960 -3 12814 13000 10362 -3 11590 11589 11522 -3 9779 11009 10369 -3 12408 12407 12321 -3 12618 12617 12527 -3 8626 8733 8625 -3 11522 11458 11459 -3 8626 8625 8518 -3 8840 8839 8732 -3 19796 30502 30473 -3 14019 14020 14117 -3 8696 8803 8695 -3 10619 11118 10620 -3 35469 27783 6658 -3 8650 11258 8775 -3 8318 8425 8317 -3 7059 7058 11553 -3 8102 8101 7986 -3 7753 7868 7752 -3 7987 8102 7986 -3 8213 8212 8101 -3 8102 8213 8101 -3 8321 8320 8212 -3 8213 8321 8212 -3 8428 8427 8320 -3 8321 8428 8320 -3 8535 8534 8427 -3 8428 8535 8427 -3 8099 8098 7983 -3 8642 8641 8534 -3 9064 9095 8550 -3 7984 8099 7983 -3 9944 10061 9943 -3 7480 7594 7479 -3 7707 7708 7822 -3 9552 9447 8308 -3 32403 32508 32402 -3 7044 7045 7148 -3 2486 1835 6021 -3 8673 8780 7801 -3 7594 7709 7708 -3 30030 30029 29898 -3 12418 12507 12417 -3 7593 7594 7708 -3 7824 7823 7708 -3 7709 7824 7708 -3 12844 11507 3317 -3 7940 7939 7823 -3 10766 10891 10890 -3 9449 10620 7805 -3 8589 8590 8696 -3 9780 7326 9666 -3 7984 7983 7867 -3 8804 8911 8803 -3 8535 8642 8534 -3 17448 7213 35193 -3 8749 8748 8641 -3 8642 8749 8641 -3 8749 8856 8855 -3 8748 8749 8855 -3 8856 8963 8962 -3 8855 8856 8962 -3 7753 7752 7637 -3 8963 9070 9069 -3 8210 8318 8209 -3 7638 7753 7637 -3 8210 8209 8098 -3 8099 8210 8098 -3 34277 34415 34276 -3 8318 8317 8209 -3 27754 28336 6862 -3 21466 11360 11513 -3 9447 9505 8308 -3 10061 10060 9943 -3 7824 7940 7823 -3 7939 7938 7822 -3 9149 9148 9040 -3 10548 10670 10547 -3 12862 12863 12955 -3 12001 12082 12000 -3 29899 30030 29898 -3 11456 11519 11455 -3 30162 30161 30029 -3 19038 27168 2811 -3 8055 8054 7939 -3 6256 13799 2091 -3 7593 7592 7478 -3 9211 10808 11082 -3 11197 9449 7805 -3 7593 7708 7592 -3 30096 30097 19796 -3 3202 2123 3475 -3 30332 29290 6531 -3 27276 27394 27393 -3 28685 28684 28555 -3 35421 35605 35897 -3 8962 8963 9069 -3 688 6789 8867 -3 9287 17158 9178 -3 9069 9070 9177 -3 10510 7758 9229 -3 9859 9975 2366 -3 30030 30162 30029 -3 6888 11486 6955 -3 30295 30294 30161 -3 7868 7867 7752 -3 7940 8055 7939 -3 8166 8165 8054 -3 28685 28817 28684 -3 30162 30295 30161 -3 35409 35630 35626 -3 19900 30340 30489 -3 6248 2490 2338 -3 1134 10866 1021 -3 8291 8398 8397 -3 8308 9505 6960 -3 9211 7795 10808 -3 8055 8166 8054 -3 8673 9781 9897 -3 10065 10183 10182 -3 1134 8546 10866 -3 5857 2341 2342 -3 26795 27982 12007 -3 2023 19163 19060 -3 12860 12953 12952 -3 8881 13895 9991 -3 12859 12860 12952 -3 26516 31551 26517 -3 7917 8780 11502 -3 14303 340 8735 -3 7708 7707 7592 -3 13917 13916 13818 -3 7479 7593 7478 -3 7708 7823 7822 -3 8274 8273 8165 -3 30428 30427 30294 -3 7628 7629 7743 -3 7743 7744 7858 -3 8701 8808 8807 -3 8166 8274 8165 -3 7943 7944 8058 -3 10749 809 9800 -3 6958 7538 7896 -3 8059 8060 8170 -3 8381 8380 8273 -3 8274 8381 8273 -3 10645 10644 10522 -3 1976 3202 3475 -3 33556 7514 33555 -3 27955 26930 17669 -3 10520 10642 10519 -3 7629 7744 7743 -3 28624 30366 30365 -3 27393 27394 27512 -3 19906 19796 30473 -3 800 7504 7392 -3 5452 7463 5451 -3 8381 8488 8487 -3 29241 29378 29377 -3 26510 26509 26423 -3 30295 30428 30294 -3 30625 26792 24885 -3 30562 30561 30427 -3 29377 29378 29514 -3 10669 10668 10546 -3 35511 35726 35927 -3 1135 7672 8546 -3 10975 8575 1253 -3 8575 10975 10866 -3 8546 8575 10866 -3 1423 5599 357 -3 2123 9746 2478 -3 1714 8481 1596 -3 10372 10496 2907 -3 7175 7686 10030 -3 245 16093 16053 -3 13819 13917 13818 -3 14302 14303 8735 -3 11933 11845 11847 -3 12797 12796 12707 -3 30428 30562 30427 -3 7504 7505 7618 -3 7858 7859 1400 -3 8380 8381 8487 -3 8488 8595 8594 -3 1400 1283 7858 -3 3475 2123 2478 -3 9695 9696 9810 -3 13923 14021 13922 -3 778 7592 897 -3 14021 14119 14118 -3 14212 14310 14309 -3 10541 10540 10420 -3 8068 8179 8067 -3 630 514 7450 -3 7744 7859 7858 -3 9126 9235 9234 -3 10643 10767 10642 -3 30696 30695 30561 -3 7550 8952 6380 -3 13821 13919 13820 -3 2277 2278 2411 -3 14015 14014 13916 -3 3698 3569 3699 -3 31407 11413 31475 -3 8487 8488 8594 -3 8595 8702 8701 -3 22932 12545 22438 -3 8912 8913 9019 -3 13728 13727 13629 -3 8052 8163 8051 -3 8271 8270 8162 -3 23816 28253 25096 -3 547 8874 3306 -3 10146 8575 8546 -3 7672 10146 8546 -3 9108 9216 8575 -3 10146 9108 8575 -3 8012 7897 9216 -3 9108 8012 9216 -3 25945 4194 30074 -3 1287 16708 3170 -3 10612 9438 8658 -3 10619 7361 11118 -3 17761 19327 19297 -3 28856 29763 28590 -3 7555 7556 7883 -3 13258 13257 13162 -3 11291 11290 11164 -3 16047 16041 16644 -3 10040 10158 3569 -3 10911 10912 11037 -3 8180 8288 8287 -3 1692 1809 18991 -3 10326 10207 10208 -3 9693 9694 9808 -3 8792 6489 7741 -3 12772 12864 12863 -3 8594 8595 8701 -3 9254 9253 9144 -3 35789 35869 35450 -3 10042 10160 10041 -3 9809 9925 9924 -3 7533 7142 9753 -3 264 373 263 -3 9924 10041 9923 -3 9459 9918 8249 -3 8080 8079 7964 -3 7849 7965 7848 -3 13112 11716 12118 -3 12539 9109 12544 -3 9064 8550 7741 -3 8702 8809 8808 -3 5333 3195 5695 -3 8701 8702 8808 -3 13609 13320 13770 -3 8809 8916 8915 -3 12164 12163 12081 -3 11134 11130 3340 -3 7235 409 7234 -3 24079 22290 22291 -3 18722 17528 18318 -3 31408 23519 19976 -3 11316 10146 7672 -3 8452 11316 7672 -3 9000 9108 10146 -3 11316 9000 10146 -3 8013 8012 9108 -3 9000 8013 9108 -3 13596 4118 35823 -3 8013 11202 8012 -3 10164 10283 10163 -3 8452 7672 1135 -3 10473 11068 9438 -3 35629 35861 35585 -3 13354 13449 13448 -3 35404 19340 35381 -3 7849 7848 7733 -3 9109 12201 12544 -3 10892 10891 10766 -3 1516 1515 1400 -3 1146 7897 1145 -3 9017 9018 9125 -3 9808 9809 9924 -3 10970 4917 669 -3 11172 11298 11297 -3 10042 10041 9924 -3 35904 35616 35674 -3 30562 30696 30561 -3 8808 8809 8915 -3 11270 8234 2356 -3 35390 35864 35362 -3 5310 5309 10445 -3 9925 10042 9924 -3 11857 8797 35617 -3 10659 10660 10783 -3 4817 3621 12601 -3 4099 5983 4770 -3 7933 212 4498 -3 8994 545 2128 -3 9869 9084 10127 -3 27437 12185 12102 -3 6245 6244 6115 -3 13498 14166 35366 -3 8163 8271 8162 -3 1136 9858 9976 -3 9563 6248 6119 -3 3975 3711 8986 -3 10155 10272 4099 -3 10636 10637 4228 -3 11265 7440 10597 -3 10969 11265 10597 -3 9920 8452 7440 -3 11265 9920 7440 -3 9920 8473 11316 -3 8452 9920 11316 -3 8473 9327 9000 -3 11316 8473 9000 -3 9092 8013 9000 -3 9327 9092 9000 -3 9208 11202 8013 -3 9092 9208 8013 -3 1135 221 6798 -3 9208 9895 11202 -3 412 525 411 -3 8948 8841 2368 -3 25402 29430 19936 -3 28434 28433 28313 -3 11580 11581 11655 -3 9765 10949 7776 -3 7965 7964 7848 -3 7965 8080 7964 -3 544 659 543 -3 11347 11376 8326 -3 7142 7366 9753 -3 10783 10784 10908 -3 2225 3591 3721 -3 10160 10159 10041 -3 7805 7690 10248 -3 9981 8880 8331 -3 30830 30829 30695 -3 30696 30830 30695 -3 35424 35545 13314 -3 29272 29273 19576 -3 26586 35845 8230 -3 7510 7535 6376 -3 13408 3042 4118 -3 26577 24958 22875 -3 22236 28591 13105 -3 18417 19537 19103 -3 5996 8348 11059 -3 9227 8038 5983 -3 3827 3960 3959 -3 20695 20777 20776 -3 10840 11340 8655 -3 7320 263 7319 -3 8133 9572 8655 -3 11340 8133 8655 -3 7532 11227 9572 -3 8133 7532 9572 -3 10820 10969 11227 -3 7532 10820 11227 -3 10384 11265 10969 -3 10820 10384 10969 -3 11351 9920 11265 -3 10384 11351 11265 -3 11351 8472 8473 -3 9920 11351 8473 -3 8472 9215 9327 -3 8473 8472 9327 -3 9215 9200 9092 -3 9327 9215 9092 -3 10037 9208 9092 -3 9200 10037 9092 -3 9916 9895 9208 -3 10037 9916 9208 -3 9221 9332 9895 -3 9916 9221 9895 -3 6618 6743 6742 -3 35884 35842 35720 -3 13069 13163 13068 -3 35558 35737 35786 -3 8191 8190 8079 -3 13813 13911 13910 -3 8618 8617 8510 -3 8080 8191 8079 -3 7611 7726 7725 -3 7611 7610 7496 -3 9832 9948 9831 -3 7610 7611 7725 -3 8502 8609 8501 -3 1521 10756 5865 -3 10064 10182 10181 -3 2360 9332 9221 -3 336 6385 2651 -3 7482 7483 7596 -3 11912 11996 11911 -3 35754 35518 35799 -3 18729 17443 30829 -3 9691 9692 9806 -3 9576 9692 9691 -3 9575 9576 9691 -3 3829 3828 3696 -3 9460 9576 9575 -3 9692 9807 9806 -3 30830 18729 30829 -3 22041 22040 17443 -3 28622 27139 27257 -3 34495 12652 35338 -3 8016 10462 10155 -3 31891 31890 31784 -3 10462 9122 10272 -3 10155 10462 10272 -3 9122 9228 9227 -3 10272 9122 9227 -3 9228 9423 8038 -3 9227 9228 8038 -3 9423 10841 10840 -3 8038 9423 10840 -3 11214 11340 10840 -3 10841 11214 10840 -3 11214 11331 8133 -3 11340 11214 8133 -3 11331 7905 7532 -3 8133 11331 7532 -3 7905 10825 10820 -3 7532 7905 10820 -3 10825 10264 10384 -3 10820 10825 10384 -3 10264 11350 11351 -3 10384 10264 11351 -3 11350 8471 8472 -3 11351 11350 8472 -3 8471 8893 9215 -3 8472 8471 9215 -3 8893 9312 9200 -3 9215 8893 9200 -3 9312 7475 10037 -3 9200 9312 10037 -3 7475 8664 9916 -3 10037 7475 9916 -3 8790 9221 9916 -3 8664 8790 9916 -3 35689 35855 35771 -3 8790 8128 9221 -3 20859 20939 20938 -3 9023 9022 8915 -3 11581 11656 11655 -3 9398 2742 8222 -3 8299 8298 8190 -3 10576 105 2787 -3 7422 3866 9987 -3 8191 8299 8190 -3 10614 7355 10616 -3 8971 8648 10572 -3 35413 35471 35666 -3 10493 10614 10616 -3 8169 8277 8276 -3 7329 8254 7785 -3 7321 264 7320 -3 11528 12054 12205 -3 8107 8889 9894 -3 2074 8801 2204 -3 9948 9947 9831 -3 10063 10064 10181 -3 35534 35706 35545 -3 8011 10599 6541 -3 7329 7669 8254 -3 8383 8384 8490 -3 3436 3435 3297 -3 35705 35830 35854 -3 9438 10862 9195 -3 8854 8853 8746 -3 17429 17350 17351 -3 8911 9018 8910 -3 9692 9693 9807 -3 7985 7984 7868 -3 10937 10566 7664 -3 9808 9924 9923 -3 9244 9245 9356 -3 10641 10765 10640 -3 7953 7952 7836 -3 7794 10860 10735 -3 18729 22041 17443 -3 22041 18009 18471 -3 35267 35139 21932 -3 11263 9060 31853 -3 7909 10462 8016 -3 9060 7909 8016 -3 9231 9122 10462 -3 7909 9231 10462 -3 9119 9228 9122 -3 9231 9119 9122 -3 9119 7352 9423 -3 9228 9119 9423 -3 7352 10718 10841 -3 9423 7352 10841 -3 10718 8416 11214 -3 10841 10718 11214 -3 8416 8333 11331 -3 11214 8416 11331 -3 8333 7419 7905 -3 11331 8333 7905 -3 7419 11062 10825 -3 7905 7419 10825 -3 11062 8159 10264 -3 10825 11062 10264 -3 8159 11209 11350 -3 10264 8159 11350 -3 11209 7889 8471 -3 11350 11209 8471 -3 7889 8786 8893 -3 8471 7889 8893 -3 8786 8984 9312 -3 8893 8786 9312 -3 8984 10959 7475 -3 9312 8984 7475 -3 10959 8764 8664 -3 7475 10959 8664 -3 8764 8794 8790 -3 8664 8764 8790 -3 10831 8128 8790 -3 8794 10831 8790 -3 25407 25264 35900 -3 33864 33863 33729 -3 2122 6793 15 -3 5825 974 7998 -3 6962 10576 2787 -3 5987 10261 13496 -3 8406 8405 8298 -3 10072 10071 9954 -3 10956 8648 8971 -3 7734 10956 8971 -3 8950 8951 9057 -3 10559 10681 10558 -3 10306 10307 10426 -3 7218 8255 10221 -3 8486 8487 8593 -3 25337 24850 23721 -3 8916 9023 8915 -3 14002 10326 10327 -3 8594 8701 8700 -3 15170 14681 1601 -3 7928 11388 7785 -3 7196 10454 10027 -3 10614 10238 9414 -3 8951 9058 9057 -3 22040 22041 18471 -3 8288 8395 8287 -3 8818 8819 8925 -3 8011 6544 10976 -3 8367 8584 10103 -3 8889 11388 8124 -3 31785 31891 31784 -3 11388 7928 8124 -3 11388 7329 7785 -3 8889 8124 9894 -3 8254 10103 7785 -3 9131 9130 9022 -3 9370 9485 9484 -3 9023 9131 9022 -3 9240 9239 9130 -3 9131 9240 9130 -3 9240 9352 9351 -3 9239 9240 9351 -3 7218 7669 11115 -3 9352 9467 9466 -3 9351 9352 9466 -3 9583 9582 9466 -3 9467 9583 9466 -3 8807 8808 8914 -3 8487 8594 8593 -3 7242 417 416 -3 18009 7180 456 -3 18471 18009 456 -3 10477 9060 10737 -3 10737 34197 28341 -3 10355 7909 9060 -3 10477 10355 9060 -3 9342 9231 7909 -3 10355 9342 7909 -3 9011 9119 9231 -3 9342 9011 9231 -3 10880 7352 9119 -3 9011 10880 9119 -3 10719 10718 7352 -3 10880 10719 7352 -3 10719 8415 8416 -3 10718 10719 8416 -3 8415 10971 8333 -3 8416 8415 8333 -3 10971 7996 7419 -3 8333 10971 7419 -3 7996 8464 11062 -3 7419 7996 11062 -3 8464 10881 8159 -3 11062 8464 8159 -3 10881 11225 11209 -3 8159 10881 11209 -3 11225 10033 7889 -3 11209 11225 7889 -3 10033 7285 8786 -3 7889 10033 8786 -3 7285 8877 8984 -3 8786 7285 8984 -3 8877 10834 10959 -3 8984 8877 10959 -3 10834 8476 8764 -3 10959 10834 8764 -3 8476 8688 8794 -3 8764 8476 8794 -3 8688 10707 10831 -3 8794 8688 10831 -3 2371 2505 8951 -3 10707 8876 10831 -3 2083 3983 179 -3 14269 12298 12213 -3 19797 30553 30502 -3 1855 13333 13791 -3 8170 8278 8277 -3 35113 18997 19099 -3 8648 8044 10572 -3 9955 10072 9954 -3 10805 10804 10680 -3 11178 11304 11303 -3 10479 9299 10221 -3 10681 10805 10680 -3 35871 35555 35399 -3 22612 22613 22711 -3 12292 13213 13300 -3 7872 7871 7756 -3 257 7313 258 -3 12210 15763 12295 -3 9734 9849 9733 -3 11171 11297 11296 -3 7351 10956 7734 -3 9849 9965 9964 -3 7514 7628 7627 -3 11011 10937 7659 -3 9166 9165 9057 -3 9058 9166 9057 -3 9166 9275 9165 -3 9275 9274 9165 -3 9618 9617 9501 -3 9387 9386 9274 -3 9275 9387 9274 -3 9502 9501 9386 -3 9502 9618 9501 -3 9387 9502 9386 -3 9734 9733 9617 -3 9618 9734 9617 -3 8107 9894 8890 -3 9849 9848 9733 -3 8570 12375 12454 -3 11186 8107 8890 -3 35455 35846 35414 -3 8144 11208 10951 -3 10988 7218 11115 -3 6354 6355 6481 -3 9103 10988 8995 -3 2491 13028 12296 -3 10208 13906 10327 -3 7669 7218 10221 -3 7988 7987 7871 -3 16843 9973 9972 -3 7872 7988 7871 -3 8103 8102 7987 -3 7988 8103 7987 -3 8214 8213 8102 -3 7540 6376 7535 -3 13713 13995 8048 -3 7180 21378 21377 -3 456 7180 21377 -3 10357 10477 7684 -3 22027 35267 21932 -3 7179 10355 10477 -3 10357 7179 10477 -3 9456 9342 10355 -3 7179 9456 10355 -3 10629 9011 9342 -3 9456 10629 9342 -3 11097 10880 9011 -3 10629 11097 9011 -3 10596 10719 10880 -3 11097 10596 10880 -3 10596 8414 8415 -3 10719 10596 8415 -3 8414 7739 10971 -3 8415 8414 10971 -3 7739 7418 7996 -3 10971 7739 7996 -3 7418 7680 8464 -3 7996 7418 8464 -3 7680 10882 10881 -3 8464 7680 10881 -3 10882 8742 11225 -3 10881 10882 11225 -3 8742 9888 10033 -3 11225 8742 10033 -3 9888 7091 7285 -3 10033 9888 7285 -3 7091 9426 8877 -3 7285 7091 8877 -3 9426 8202 10834 -3 8877 9426 10834 -3 8202 8411 8476 -3 10834 8202 8476 -3 8411 8582 8688 -3 8476 8411 8688 -3 8582 10584 10707 -3 8688 8582 10707 -3 10584 8983 8876 -3 10707 10584 8876 -3 8983 11246 9106 -3 8876 8983 9106 -3 8110 8558 9106 -3 11246 8110 9106 -3 24297 24296 25636 -3 12044 12196 12113 -3 10072 10190 10189 -3 9699 9698 9582 -3 10553 10554 10675 -3 10676 10800 10799 -3 10805 10930 10929 -3 11084 11309 11183 -3 30760 25438 30626 -3 22812 22813 22911 -3 8103 8214 8102 -3 8322 8321 8213 -3 8214 8322 8213 -3 8808 8915 8914 -3 8429 8428 8321 -3 10804 10805 10929 -3 9855 17005 9856 -3 11177 11178 11303 -3 10930 11056 11055 -3 8299 8406 8298 -3 10884 7351 7734 -3 13909 14007 14006 -3 218 669 4917 -3 13811 13909 13908 -3 12035 8089 14309 -3 10648 10649 11196 -3 13908 13909 14006 -3 5295 5430 5276 -3 4119 2914 6005 -3 9099 10649 10648 -3 9089 9099 10648 -3 7664 9099 9089 -3 7659 7664 9089 -3 10100 9983 11011 -3 10937 7664 7659 -3 10200 10199 10081 -3 7588 9983 10100 -3 9848 9849 9964 -3 10082 10200 10081 -3 10082 10081 9964 -3 9965 10082 9964 -3 10319 10318 10199 -3 10200 10319 10199 -3 10439 10438 10318 -3 10319 10439 10318 -3 10559 10558 10438 -3 10439 10559 10438 -3 10208 10207 10089 -3 10681 10680 10558 -3 10090 10089 9972 -3 10090 10208 10089 -3 8383 8490 8489 -3 8006 835 836 -3 8322 8429 8321 -3 6949 6950 7048 -3 21378 17670 7191 -3 21377 21378 7191 -3 8453 10357 11392 -3 7524 33127 33021 -3 10359 7179 10357 -3 8453 10359 10357 -3 9571 9456 7179 -3 10359 9571 7179 -3 10628 10629 9456 -3 9571 10628 9456 -3 9194 11097 10629 -3 10628 9194 10629 -3 8763 10596 11097 -3 9194 8763 11097 -3 8763 8413 8414 -3 10596 8763 8414 -3 8413 7853 7739 -3 8414 8413 7739 -3 7853 11254 7418 -3 7739 7853 7418 -3 11254 11338 7680 -3 7418 11254 7680 -3 11338 11138 10882 -3 7680 11338 10882 -3 11138 9545 8742 -3 10882 11138 8742 -3 9545 9886 9888 -3 8742 9545 9888 -3 9886 9863 7091 -3 9888 9886 7091 -3 9863 9541 9426 -3 7091 9863 9426 -3 9541 11025 8202 -3 9426 9541 8202 -3 11025 8412 8411 -3 8202 11025 8411 -3 8412 7913 8582 -3 8411 8412 8582 -3 7913 10463 10584 -3 8582 7913 10584 -3 10463 7898 8983 -3 10584 10463 8983 -3 7898 8789 11246 -3 8983 7898 11246 -3 8862 8110 11246 -3 8789 8862 11246 -3 35665 35713 35429 -3 209 314 7038 -3 20731 4650 18630 -3 3297 9807 9923 -3 10434 10554 10433 -3 10554 10676 10675 -3 11308 11309 10014 -3 8613 8720 8719 -3 9162 9161 9053 -3 10451 7819 7397 -3 8536 8535 8428 -3 8429 8536 8428 -3 8643 8642 8535 -3 8536 8643 8535 -3 8750 8749 8642 -3 20840 27614 27613 -3 8643 8750 8642 -3 11084 11183 11057 -3 9583 9699 9582 -3 11178 11177 11050 -3 11182 11183 11308 -3 10071 10072 10189 -3 11304 7351 10884 -3 8513 8512 8405 -3 8406 8513 8405 -3 8513 8620 8512 -3 8620 8619 8512 -3 8941 8940 8833 -3 8727 8726 8619 -3 8620 8727 8619 -3 8834 8941 8833 -3 8834 8833 8726 -3 8727 8834 8726 -3 9048 9047 8940 -3 8941 9048 8940 -3 9156 9155 9047 -3 9048 9156 9047 -3 9155 9156 9264 -3 9156 9265 9264 -3 10844 7588 10100 -3 9265 9377 9376 -3 8451 7588 10844 -3 9983 10937 11011 -3 11325 8451 9003 -3 9003 8451 10844 -3 11371 11325 11199 -3 11199 11325 9003 -3 8044 11371 10333 -3 10333 11371 11199 -3 11303 11304 10884 -3 10572 8044 10333 -3 11056 11183 11182 -3 10314 10434 10313 -3 10929 10930 11055 -3 11055 11056 11182 -3 8222 2742 4383 -3 10658 10659 10782 -3 8857 8856 8749 -3 8750 8857 8749 -3 17670 20597 13774 -3 7191 17670 13774 -3 7874 8453 9796 -3 9796 8453 11392 -3 8771 10359 8453 -3 7874 8771 8453 -3 9570 9571 10359 -3 8771 9570 10359 -3 10630 10628 9571 -3 9570 10630 9571 -3 6936 9194 10628 -3 10630 6936 10628 -3 10774 8763 9194 -3 6936 10774 9194 -3 10774 7969 8413 -3 8763 10774 8413 -3 7969 7852 7853 -3 8413 7969 7853 -3 7852 11127 11254 -3 7853 7852 11254 -3 11127 11212 11338 -3 11254 11127 11338 -3 11212 11010 11138 -3 11338 11212 11138 -3 11010 10137 9545 -3 11138 11010 9545 -3 10137 9911 9886 -3 9545 10137 9886 -3 9911 10847 9863 -3 9886 9911 9863 -3 10847 9656 9541 -3 9863 10847 9541 -3 9656 10685 11025 -3 9541 9656 11025 -3 10685 8417 8412 -3 11025 10685 8412 -3 8417 7395 7913 -3 8412 8417 7913 -3 7395 10344 10463 -3 7913 7395 10463 -3 10344 7781 7898 -3 10463 10344 7898 -3 7781 11114 8789 -3 7898 7781 8789 -3 11114 7693 8862 -3 8789 11114 8862 -3 2073 1948 2074 -3 11348 4917 10970 -3 14009 14107 14106 -3 2225 3721 2224 -3 9844 9843 9728 -3 22513 22514 22612 -3 7885 9229 7758 -3 10013 8993 8132 -3 35925 29543 35500 -3 9162 9271 9161 -3 8857 8964 8963 -3 12589 12588 12498 -3 8856 8857 8963 -3 8964 9071 9070 -3 8852 8851 8744 -3 8963 8964 9070 -3 9699 9814 9813 -3 8126 10443 8677 -3 13976 10457 11309 -3 7656 481 368 -3 10675 10676 10799 -3 10014 10457 10443 -3 10190 10309 10308 -3 11051 11178 11050 -3 8449 10700 10455 -3 10189 10190 10308 -3 14346 20411 20326 -3 10455 10575 6962 -3 40 12296 103 -3 13028 13316 12382 -3 8201 7255 8576 -3 7807 6892 10876 -3 10101 10106 8201 -3 21978 15195 21948 -3 7695 10448 10101 -3 7255 9565 8576 -3 10607 10613 7695 -3 10106 7255 8201 -3 9005 9006 10607 -3 10448 10106 10101 -3 9006 10613 10607 -3 10613 10448 7695 -3 9608 9607 9491 -3 10491 10583 7590 -3 9264 9265 9376 -3 9492 9608 9491 -3 9492 9491 9376 -3 9377 9492 9376 -3 9724 9723 9607 -3 9608 9724 9607 -3 9839 9838 9723 -3 9724 9839 9723 -3 9955 9954 9838 -3 9839 9955 9838 -3 10077 10195 10076 -3 10314 10313 10194 -3 10848 10616 11226 -3 10659 10783 10782 -3 8745 8744 8637 -3 8638 8745 8637 -3 9071 9179 9178 -3 9070 9071 9178 -3 20597 24285 20821 -3 13774 20597 20821 -3 10450 7874 10900 -3 35124 10900 9796 -3 10393 8771 7874 -3 10450 10393 7874 -3 10147 9570 8771 -3 10393 10147 8771 -3 10631 10630 9570 -3 10147 10631 9570 -3 9978 6936 10630 -3 10631 9978 10630 -3 10018 10774 6936 -3 9978 10018 6936 -3 10018 7970 7969 -3 10774 10018 7969 -3 7970 8521 7852 -3 7969 7970 7852 -3 8521 11255 11127 -3 7852 8521 11127 -3 11255 8633 11212 -3 11127 11255 11212 -3 8633 10883 11010 -3 11212 8633 11010 -3 10883 10020 10137 -3 11010 10883 10137 -3 10020 11379 9911 -3 10137 10020 9911 -3 11379 442 10847 -3 9911 11379 10847 -3 442 9770 9656 -3 10847 442 9656 -3 9770 10741 10685 -3 9656 9770 10685 -3 10741 8418 8417 -3 10685 10741 8417 -3 8418 7396 7395 -3 8417 8418 7395 -3 7396 10343 10344 -3 7395 7396 10344 -3 10343 10484 7781 -3 10344 10343 7781 -3 10484 9210 11114 -3 7781 10484 11114 -3 9210 10970 7693 -3 11114 9210 7693 -3 35411 35448 35360 -3 35923 35891 35893 -3 14536 791 792 -3 7543 485 484 -3 9613 9729 9612 -3 11029 11156 11028 -3 8712 8711 8604 -3 599 484 485 -3 8317 8424 8423 -3 8316 8317 8423 -3 6513 8450 6512 -3 9179 16995 9287 -3 35524 23855 35641 -3 12932 11528 12205 -3 14010 14011 14108 -3 8209 8317 8316 -3 19845 2714 2850 -3 11995 11994 11910 -3 8745 8852 8744 -3 9109 12720 1494 -3 6652 6786 27783 -3 10925 10924 10799 -3 10266 7146 10864 -3 10429 10428 10308 -3 10800 10925 10799 -3 9766 7894 8449 -3 10309 10429 10308 -3 8844 8556 7877 -3 10575 10576 6962 -3 11281 8556 8844 -3 8150 11281 8844 -3 7536 11192 7176 -3 8556 7536 7877 -3 7670 8037 8022 -3 7877 7536 7176 -3 11192 8037 7670 -3 9324 8245 8352 -3 7176 11192 7670 -3 8037 9324 8022 -3 8022 9324 8352 -3 8245 11117 8033 -3 8352 8245 8033 -3 11117 10745 8225 -3 8033 11117 8225 -3 35382 35921 35913 -3 7591 9006 9005 -3 8225 10745 7580 -3 9910 8553 10491 -3 7590 7591 9005 -3 2787 105 9910 -3 10583 7591 7590 -3 105 8553 9910 -3 8553 10583 10491 -3 10917 11043 10916 -3 11043 11170 11169 -3 10920 11046 10919 -3 11173 11299 11298 -3 9729 9844 9728 -3 9960 9959 9843 -3 10857 9207 9319 -3 10732 10857 9319 -3 8424 8531 8530 -3 8423 8424 8530 -3 9698 9699 9813 -3 24285 27062 27061 -3 7703 3720 8991 -3 1594 1712 1711 -3 20821 24285 27061 -3 27062 28424 28376 -3 8761 10450 9566 -3 33707 10900 35124 -3 8878 10393 10450 -3 8761 8878 10450 -3 10267 10147 10393 -3 8878 10267 10393 -3 10632 10631 10147 -3 10267 10632 10147 -3 10509 9978 10631 -3 10632 10509 10631 -3 8437 10018 9978 -3 10509 8437 9978 -3 8437 7854 7970 -3 10018 8437 7970 -3 7854 8522 8521 -3 7970 7854 8521 -3 8522 11126 11255 -3 8521 8522 11255 -3 11126 8632 8633 -3 11255 11126 8633 -3 8632 7621 10883 -3 8633 8632 10883 -3 7621 10993 10020 -3 10883 7621 10020 -3 10993 8469 11379 -3 10020 10993 11379 -3 8469 9441 442 -3 11379 8469 442 -3 9441 9885 9770 -3 442 9441 9770 -3 9885 7779 10741 -3 9770 9885 10741 -3 7779 8252 8418 -3 10741 7779 8418 -3 8252 8953 7396 -3 8418 8252 7396 -3 8953 11007 10343 -3 7396 8953 10343 -3 11007 10364 10484 -3 10343 11007 10484 -3 10364 11203 9210 -3 10484 10364 9210 -3 11203 11348 10970 -3 9210 11203 10970 -3 7304 9785 4917 -3 14536 912 1287 -3 11486 11487 227 -3 4643 4509 11028 -3 9729 9728 9612 -3 2514 2513 8852 -3 11001 11224 8036 -3 10490 8444 10370 -3 7983 8098 7982 -3 8098 8209 8208 -3 9814 9930 9929 -3 11821 11820 11736 -3 9813 9814 9929 -3 29 12211 40 -3 8098 8097 7982 -3 8165 8273 8164 -3 24622 21535 22138 -3 8208 8209 8316 -3 9497 9613 9496 -3 8870 5830 9411 -3 10925 11051 11050 -3 10554 10553 10433 -3 10549 10548 10428 -3 10924 10925 11050 -3 11194 10941 9766 -3 10429 10549 10428 -3 9437 9896 10684 -3 10700 10575 10455 -3 8231 9395 10508 -3 318 427 317 -3 9930 10047 10046 -3 9395 9756 7766 -3 9929 9930 10046 -3 11017 11018 11144 -3 10165 10164 10046 -3 10047 10165 10046 -3 6984 10966 7584 -3 12766 12765 12676 -3 7806 8135 6984 -3 3061 3060 8115 -3 8031 7061 7806 -3 8904 7876 7580 -3 7915 8026 8031 -3 8135 10966 6984 -3 8026 7061 8031 -3 7061 8135 7806 -3 13825 13824 13726 -3 7328 7441 11240 -3 8735 340 14258 -3 9976 3040 13870 -3 9877 8448 9878 -3 10097 10745 14866 -3 10284 10283 10164 -3 26806 26807 26921 -3 11042 11043 11169 -3 22914 22915 23013 -3 11172 11173 11298 -3 11170 11296 11295 -3 9844 9960 9843 -3 11173 11172 11045 -3 4394 10563 136 -3 10077 10076 9959 -3 8531 8638 8637 -3 9811 9927 9926 -3 11150 11149 11022 -3 8530 8531 8637 -3 29829 2408 19340 -3 14366 12566 11566 -3 33707 9175 9566 -3 10723 8665 33351 -3 9457 8761 9175 -3 8665 9457 9175 -3 8985 8878 8761 -3 9457 8985 8761 -3 10268 10267 8878 -3 8985 10268 8878 -3 11140 10632 10267 -3 10268 11140 10267 -3 9123 10509 10632 -3 11140 9123 10632 -3 8330 8437 10509 -3 9123 8330 10509 -3 10154 7854 8437 -3 8330 10154 8437 -3 10154 8523 8522 -3 7854 10154 8522 -3 8523 11125 11126 -3 8522 8523 11126 -3 11125 8631 8632 -3 11126 11125 8632 -3 8631 7622 7621 -3 8632 8631 7621 -3 7622 10994 10993 -3 7621 7622 10993 -3 10994 8468 8469 -3 10993 10994 8469 -3 8468 9673 9441 -3 8469 8468 9441 -3 9673 10001 9885 -3 9441 9673 9885 -3 10001 8572 7779 -3 9885 10001 7779 -3 8359 8252 7779 -3 8572 8359 7779 -3 8359 8954 8953 -3 8252 8359 8953 -3 8954 9336 11007 -3 8953 8954 11007 -3 9336 10606 10364 -3 11007 9336 10364 -3 10606 7453 11203 -3 10364 10606 11203 -3 7453 7304 11348 -3 11203 7453 11348 -3 11348 7304 4917 -3 10277 10396 3830 -3 12319 12405 12404 -3 9785 10485 4917 -3 8222 545 7775 -3 11014 4496 10887 -3 7764 9338 9174 -3 295 198 6642 -3 8097 8098 8208 -3 8705 8706 8812 -3 8380 8379 8272 -3 7867 7983 7866 -3 9145 9254 9144 -3 6289 6417 6416 -3 9040 9039 8932 -3 27061 27062 28376 -3 10919 11045 10918 -3 8498 8497 8390 -3 8284 8391 8283 -3 7867 7866 7751 -3 7752 7867 7751 -3 11970 12387 13214 -3 6893 9760 9671 -3 9497 9496 9381 -3 9382 9497 9381 -3 10671 10670 10548 -3 10549 10671 10548 -3 10792 10917 10791 -3 10795 10794 10670 -3 9654 4108 3962 -3 7894 10700 8449 -3 8231 10967 7581 -3 8377 8378 8484 -3 11288 695 11287 -3 10967 8231 10508 -3 11288 11287 11161 -3 11162 11288 11161 -3 695 10702 9173 -3 695 9118 11287 -3 10702 9795 9097 -3 9118 695 9173 -3 10990 9778 9555 -3 9173 10702 9097 -3 9795 9778 10990 -3 9091 7166 9297 -3 9097 9795 10990 -3 9778 9091 9555 -3 9555 9091 9297 -3 7166 7762 10699 -3 9297 7166 10699 -3 7762 1618 3190 -3 11366 8026 7915 -3 10699 7762 3190 -3 7766 9756 7328 -3 11240 11366 7915 -3 10508 9395 7766 -3 7441 11366 11240 -3 12866 12865 12773 -3 9756 7441 7328 -3 7842 7843 7958 -3 9424 8002 9647 -3 11169 11170 11295 -3 7727 7728 7842 -3 11046 11173 11045 -3 11296 8144 7415 -3 9960 10077 9959 -3 10795 10920 10794 -3 13191 6262 6384 -3 10195 10194 10076 -3 6419 10692 6418 -3 10853 10362 14313 -3 8011 10850 10599 -3 14306 10467 14305 -3 7283 8665 10599 -3 10850 7283 10599 -3 8138 9457 8665 -3 7283 8138 8665 -3 9093 8985 9457 -3 8138 9093 9457 -3 10388 10268 8985 -3 9093 10388 8985 -3 10633 11140 10268 -3 10388 10633 10268 -3 9637 9123 11140 -3 10633 9637 11140 -3 10621 8330 9123 -3 9637 10621 9123 -3 9094 10154 8330 -3 10621 9094 8330 -3 9094 8524 8523 -3 10154 9094 8523 -3 8524 10998 11125 -3 8523 8524 11125 -3 10998 8630 8631 -3 11125 10998 8631 -3 8630 7623 7622 -3 8631 8630 7622 -3 7623 9300 10994 -3 7622 7623 10994 -3 9300 8467 8468 -3 10994 9300 8468 -3 8467 9787 9673 -3 8468 8467 9673 -3 9787 10000 10001 -3 9673 9787 10001 -3 10000 8861 8572 -3 10001 10000 8572 -3 8358 8359 8572 -3 8861 8358 8572 -3 8358 8955 8954 -3 8359 8358 8954 -3 7968 9336 8954 -3 8955 7968 8954 -3 10245 10606 9336 -3 7968 10245 9336 -3 10245 8678 7453 -3 10606 10245 7453 -3 8678 7195 7304 -3 7453 8678 7304 -3 7195 9901 9785 -3 7304 7195 9785 -3 9901 7900 10485 -3 9785 9901 10485 -3 10485 7900 792 -3 35000 22516 22417 -3 11281 8150 9185 -3 10165 10284 10164 -3 12156 12239 12155 -3 7941 7942 8056 -3 7752 7751 7636 -3 7637 7752 7636 -3 10071 10070 9953 -3 9954 10071 9953 -3 19734 27434 29823 -3 35644 35683 35521 -3 21390 21484 14150 -3 11215 3981 11267 -3 1977 28136 28187 -3 8658 9195 7215 -3 22523 33237 22524 -3 8334 9283 7668 -3 31131 31132 31194 -3 7553 7668 10251 -3 20821 27061 27060 -3 11484 13680 13485 -3 8926 9033 9032 -3 7983 7982 7866 -3 9382 9381 9269 -3 11019 11020 11146 -3 11299 11264 10032 -3 9613 9612 9496 -3 10917 10916 10791 -3 11298 11299 10032 -3 8485 8592 8591 -3 11043 11042 10916 -3 13003 12548 12458 -3 7387 7386 7275 -3 8263 10710 9662 -3 10610 8231 7581 -3 8169 8170 8277 -3 7685 7686 7175 -3 7533 9753 8978 -3 13815 13913 13814 -3 8331 8978 8120 -3 9536 8331 8120 -3 8349 9536 8120 -3 15892 16468 13974 -3 2308 15892 13876 -3 35471 35679 35586 -3 12042 12660 12659 -3 35563 35884 35372 -3 13435 13434 21727 -3 35772 35460 35780 -3 12683 12684 12772 -3 12073 12155 12072 -3 12594 12593 12503 -3 29889 29888 29759 -3 7890 9396 9506 -3 12386 12475 11135 -3 1618 9396 7890 -3 574 59 73 -3 3190 1618 7890 -3 9396 9509 9506 -3 6379 7550 6380 -3 9818 9817 9702 -3 7363 12825 3859 -3 10051 10169 10168 -3 7843 7959 7958 -3 9183 9076 9184 -3 11295 11296 7415 -3 7613 7728 7612 -3 11046 11045 10919 -3 8144 10951 10271 -3 10195 10314 10194 -3 10671 10795 10670 -3 257 367 366 -3 10434 10433 10313 -3 10976 10850 8011 -3 13996 13997 10564 -3 10976 9450 7283 -3 10850 10976 7283 -3 9343 8138 7283 -3 9450 9343 7283 -3 9521 9093 8138 -3 9343 9521 8138 -3 10389 10388 9093 -3 9521 10389 9093 -3 7850 10633 10388 -3 10389 7850 10388 -3 10691 9637 10633 -3 7850 10691 10633 -3 10499 10621 9637 -3 10691 10499 9637 -3 10602 9094 10621 -3 10499 10602 10621 -3 11087 8524 9094 -3 10602 11087 9094 -3 11087 10997 10998 -3 8524 11087 10998 -3 10997 8629 8630 -3 10998 10997 8630 -3 8629 8737 7623 -3 8630 8629 7623 -3 8737 9214 9300 -3 7623 8737 9300 -3 9214 9805 8467 -3 9300 9214 8467 -3 9805 9903 9787 -3 8467 9805 9787 -3 9903 9999 10000 -3 9787 9903 10000 -3 9999 8849 8861 -3 10000 9999 8861 -3 8849 8253 8358 -3 8861 8849 8358 -3 8956 8955 8358 -3 8253 8956 8358 -3 10225 7968 8955 -3 8956 10225 8955 -3 10126 10245 7968 -3 10225 10126 7968 -3 10126 8571 8678 -3 10245 10126 8678 -3 8571 11313 7195 -3 8678 8571 7195 -3 11313 9098 9901 -3 7195 11313 9901 -3 9098 7899 7900 -3 9901 9098 7900 -3 12818 6964 14162 -3 7551 914 7899 -3 1751 1633 1634 -3 3344 458 186 -3 10329 8158 10750 -3 10842 9662 7143 -3 10404 10403 10283 -3 28424 30154 30153 -3 9413 7911 7811 -3 9550 10251 8782 -3 12507 12508 12597 -3 15272 13237 25002 -3 8123 4806 1655 -3 25336 25337 23721 -3 12075 12074 11993 -3 9413 7811 7798 -3 35765 35625 35536 -3 7911 9550 8782 -3 8356 9413 7798 -3 7911 8782 7811 -3 10754 8356 7798 -3 9550 7553 10251 -3 10284 10404 10283 -3 8609 8716 8715 -3 7197 10754 7798 -3 7163 7270 7162 -3 9694 9695 9809 -3 8593 8594 8700 -3 9794 8654 9523 -3 7620 7624 9010 -3 9053 9161 9052 -3 9270 9269 9160 -3 10468 8307 9884 -3 11264 8307 10468 -3 10546 10668 10545 -3 10792 10791 10667 -3 7958 7959 8073 -3 7959 8074 8073 -3 12332 12331 12246 -3 12330 12329 12244 -3 12320 12406 12405 -3 22227 22324 22322 -3 23590 7473 8306 -3 3698 10277 3830 -3 7161 7160 7056 -3 35831 13100 13195 -3 7160 7161 7267 -3 7161 7268 7267 -3 7267 7268 7378 -3 7268 7379 7378 -3 7378 7379 7490 -3 7379 7491 7490 -3 7720 7835 7834 -3 7605 7604 7490 -3 7491 7605 7490 -3 7719 7720 7834 -3 7605 7720 7719 -3 7604 7605 7719 -3 7951 7950 7834 -3 7835 7951 7834 -3 11634 12117 13389 -3 8066 8065 7950 -3 13692 13988 1856 -3 13389 13485 13883 -3 11738 11822 11737 -3 13881 13880 13777 -3 6420 6546 10692 -3 6384 794 1856 -3 8113 8083 10266 -3 6952 7051 7050 -3 12155 12154 12072 -3 10371 10471 10266 -3 7728 7843 7842 -3 10524 10523 10403 -3 7415 8144 10271 -3 7499 7613 7498 -3 10920 10919 10794 -3 10951 10941 11194 -3 12020 11934 11935 -3 10692 7254 6544 -3 10597 6798 337 -3 7037 7036 116 -3 7254 9315 9450 -3 10976 7254 9450 -3 8756 9343 9450 -3 9315 8756 9450 -3 10153 9521 9343 -3 8756 10153 9343 -3 9454 10389 9521 -3 10153 9454 9521 -3 6869 7850 10389 -3 9454 6869 10389 -3 10751 10691 7850 -3 6869 10751 7850 -3 10379 10499 10691 -3 10751 10379 10691 -3 7509 10602 10499 -3 10379 7509 10499 -3 10960 11087 10602 -3 7509 10960 10602 -3 10960 10996 10997 -3 11087 10960 10997 -3 10996 7736 8629 -3 10997 10996 8629 -3 7736 8738 8737 -3 8629 7736 8737 -3 8738 9526 9214 -3 8737 8738 9214 -3 9526 9798 9805 -3 9214 9526 9805 -3 9798 11112 9903 -3 9805 9798 9903 -3 11112 9998 9999 -3 9903 11112 9999 -3 9998 8848 8849 -3 9999 9998 8849 -3 8848 8360 8253 -3 8849 8848 8253 -3 8957 8956 8253 -3 8360 8957 8253 -3 10226 10225 8956 -3 8957 10226 8956 -3 10730 10126 10225 -3 10226 10730 10225 -3 8785 8571 10126 -3 10730 8785 10126 -3 7568 11313 8571 -3 8785 7568 8571 -3 7568 7561 9098 -3 11313 7568 9098 -3 7561 7551 7899 -3 9098 7561 7899 -3 26702 26701 22777 -3 197 198 334 -3 7354 10704 8873 -3 511 397 398 -3 8804 8803 8696 -3 10404 10524 10403 -3 10641 10640 10518 -3 6263 6800 6801 -3 8822 8823 8929 -3 9480 9596 9479 -3 7270 7381 7380 -3 132 4519 4363 -3 35385 35822 35376 -3 8377 8269 8270 -3 20639 20638 20556 -3 28376 28424 30153 -3 346 9321 3607 -3 17253 26905 26904 -3 28556 28685 28555 -3 30154 19801 19798 -3 9804 14276 35407 -3 32 11335 16989 -3 28556 28555 28433 -3 8334 4932 10235 -3 8069 8180 8179 -3 9253 9365 9364 -3 9252 9253 9364 -3 8803 8910 8802 -3 9283 8334 10235 -3 9236 9348 9347 -3 8068 8069 8179 -3 8946 8945 8838 -3 11110 8024 9213 -3 10816 8762 8650 -3 9161 9270 9160 -3 10668 10667 10545 -3 9884 10816 8650 -3 8074 8185 8184 -3 10668 10792 10667 -3 11999 11998 11914 -3 8073 8074 8184 -3 35849 35777 35785 -3 35535 35483 35434 -3 9333 9427 7540 -3 11745 11829 11744 -3 9478 9477 9362 -3 30153 30154 19798 -3 671 556 18804 -3 9363 9478 9362 -3 8030 10248 9101 -3 9563 10212 9448 -3 10369 9322 9101 -3 10250 10369 9101 -3 9779 10369 10250 -3 7439 9779 10250 -3 11330 7309 11204 -3 9779 7439 9870 -3 10854 11330 7426 -3 7309 9779 9870 -3 7697 10854 8372 -3 7309 9870 11204 -3 10854 7426 8372 -3 11330 11204 7426 -3 8066 8177 8065 -3 9174 8148 10953 -3 7951 8066 7950 -3 8285 8284 8176 -3 8177 8285 8176 -3 8177 8176 8065 -3 8392 8391 8284 -3 8285 8392 8284 -3 35589 35529 35390 -3 8499 8498 8391 -3 8083 7146 10266 -3 26406 26411 19140 -3 11365 7575 13864 -3 10856 10471 7774 -3 7728 7727 7612 -3 10646 10645 10523 -3 10271 10951 11194 -3 7499 7498 7386 -3 10692 6546 7432 -3 10941 7894 9766 -3 7432 7254 10692 -3 575 3866 3998 -3 7432 9430 9315 -3 7254 7432 9315 -3 10356 8756 9315 -3 9430 10356 9315 -3 10269 10153 8756 -3 10356 10269 8756 -3 9455 9454 10153 -3 10269 9455 10153 -3 8791 6869 9454 -3 9455 8791 9454 -3 10213 10751 6869 -3 8791 10213 6869 -3 10260 10379 10751 -3 10213 10260 10751 -3 10260 7735 7509 -3 10379 10260 7509 -3 7735 11213 10960 -3 7509 7735 10960 -3 11213 10995 10996 -3 10960 11213 10996 -3 10995 7737 7736 -3 10996 10995 7736 -3 7737 8739 8738 -3 7736 7737 8738 -3 8739 135 9526 -3 8738 8739 9526 -3 9792 9798 9526 -3 135 9792 9526 -3 9530 11112 9798 -3 9792 9530 9798 -3 9530 7662 9998 -3 11112 9530 9998 -3 7662 8847 8848 -3 9998 7662 8848 -3 8847 8649 8360 -3 8848 8847 8360 -3 8649 10495 8957 -3 8360 8649 8957 -3 7539 10226 8957 -3 10495 7539 8957 -3 10855 10730 10226 -3 7539 10855 10226 -3 8465 8785 10730 -3 10855 8465 10730 -3 8355 7568 8785 -3 8465 8355 8785 -3 8355 9429 7561 -3 7568 8355 7561 -3 7782 7551 7561 -3 9429 7782 7561 -3 11826 11912 11825 -3 7250 197 334 -3 8732 8839 8731 -3 6983 916 9090 -3 8443 9307 10102 -3 10524 10646 10523 -3 10663 10662 10540 -3 10398 10399 10518 -3 10400 10520 10519 -3 7665 9100 9099 -3 8456 10150 8327 -3 7094 7200 7093 -3 4112 15967 15972 -3 7094 7201 7200 -3 17361 7200 17439 -3 2407 19038 2811 -3 19801 30638 30601 -3 19798 19801 30601 -3 7893 8650 8775 -3 8589 8696 8588 -3 8065 8176 8064 -3 8803 8802 8695 -3 9126 9127 9235 -3 10829 9296 10870 -3 10644 10645 10768 -3 10399 10400 10519 -3 6946 7045 7044 -3 35691 35913 35628 -3 10770 10769 10645 -3 35081 35210 35080 -3 10368 22660 12305 -3 13371 9684 27282 -3 9926 9927 10043 -3 8625 8732 8624 -3 8839 8838 8731 -3 8650 8762 11258 -3 8762 10234 11258 -3 10546 10545 10425 -3 10426 10546 10425 -3 8184 8185 8292 -3 8185 8293 8292 -3 12720 7763 1494 -3 13913 13912 13814 -3 9683 12454 12539 -3 11915 11914 11828 -3 8015 7851 9333 -3 9427 7545 7540 -3 9478 9594 9477 -3 9594 9593 9477 -3 35668 35642 35391 -3 7177 5585 10478 -3 1174 8868 8760 -3 27783 35512 35733 -3 10478 11074 7177 -3 11074 11349 7177 -3 11074 8905 11349 -3 8905 9914 11349 -3 5048 7060 10442 -3 10131 9982 9914 -3 8905 10131 9914 -3 2885 2480 3843 -3 9205 8906 9982 -3 10131 9205 9982 -3 4245 4395 15564 -3 7713 7828 7712 -3 7697 8372 7645 -3 10514 10636 4094 -3 8148 7645 10953 -3 8148 7697 7645 -3 8239 9537 10012 -3 9174 10953 9422 -3 6262 794 6384 -3 9537 9174 9422 -3 9251 9363 9250 -3 9515 7807 4247 -3 2475 6755 9547 -3 9141 9142 9250 -3 10471 8113 10266 -3 12247 12246 12163 -3 9534 8866 9301 -3 2475 9547 11353 -3 7387 7499 7386 -3 9535 9534 9301 -3 7275 11632 11633 -3 7613 7612 7498 -3 5690 5824 5689 -3 11994 12075 11993 -3 35738 35819 35663 -3 6546 6547 6672 -3 35494 35810 35625 -3 13800 10383 16074 -3 8109 10269 10356 -3 10476 8109 10356 -3 9341 9455 10269 -3 8109 9341 10269 -3 7458 8791 9455 -3 9341 7458 9455 -3 7458 11342 10213 -3 8791 7458 10213 -3 11342 9406 10260 -3 10213 11342 10260 -3 9406 7548 7735 -3 10260 9406 7735 -3 7548 10835 11213 -3 7735 7548 11213 -3 10868 10995 11213 -3 10835 10868 11213 -3 7738 7737 10995 -3 10868 7738 10995 -3 8740 8739 7737 -3 7738 8740 7737 -3 6976 135 8739 -3 8740 6976 8739 -3 11378 9792 135 -3 6976 11378 135 -3 10276 9530 9792 -3 11378 10276 9792 -3 9997 7662 9530 -3 10276 9997 9530 -3 8846 8847 7662 -3 9997 8846 7662 -3 8846 9311 8649 -3 8847 8846 8649 -3 9311 8264 10495 -3 8649 9311 10495 -3 10108 7539 10495 -3 8264 10108 10495 -3 10981 10855 7539 -3 10108 10981 7539 -3 9107 8465 10855 -3 10981 9107 10855 -3 9107 11395 8355 -3 8465 9107 8355 -3 11395 11098 9429 -3 8355 11395 9429 -3 9090 7782 9429 -3 11098 9090 9429 -3 9090 916 7782 -3 7250 334 10965 -3 556 671 16322 -3 9216 7897 3326 -3 30638 27496 27495 -3 28882 27990 28363 -3 28314 28434 28313 -3 7975 7976 1517 -3 32946 32945 32837 -3 10646 10770 10645 -3 7094 7093 17294 -3 18391 18732 14591 -3 7095 7202 7201 -3 7094 7095 7201 -3 7200 151 150 -3 7202 7313 7201 -3 11150 11151 11276 -3 27297 11832 11747 -3 9161 9160 9052 -3 9270 9382 9269 -3 30601 30638 27495 -3 8839 8946 8838 -3 10188 10189 10307 -3 11449 28018 28009 -3 10770 10895 10894 -3 7142 7993 7366 -3 10769 10770 10894 -3 10895 11021 11020 -3 35513 26624 35826 -3 10894 10895 11020 -3 8827 8934 8933 -3 8854 8961 8853 -3 35417 35642 35668 -3 28950 29085 21907 -3 8518 8625 8517 -3 8732 8731 8624 -3 11258 10234 10821 -3 10234 10946 10821 -3 10306 10426 10425 -3 10305 10306 10425 -3 8292 8293 8399 -3 8293 8400 8399 -3 10096 1999 2652 -3 12471 12561 13880 -3 12151 12234 12233 -3 9303 9683 12539 -3 9514 8458 8015 -3 7851 9427 9333 -3 9594 9710 9593 -3 9710 9709 9593 -3 9989 795 9988 -3 8278 8279 8385 -3 13046 13047 13140 -3 12770 12771 12862 -3 7546 10842 10828 -3 7541 7542 483 -3 35609 9113 7758 -3 9116 8898 7885 -3 13921 13920 13822 -3 11831 11830 11746 -3 14310 12035 14309 -3 8599 8706 8598 -3 4925 2638 9628 -3 8706 8705 8598 -3 13918 14016 14015 -3 31406 11415 31407 -3 11021 11148 11147 -3 13917 13918 14015 -3 14309 8089 14308 -3 7828 7944 7943 -3 9229 7908 10510 -3 8059 8170 8169 -3 8278 8385 8384 -3 35724 35824 35358 -3 11829 11915 11828 -3 11020 11021 11147 -3 9363 9362 9250 -3 13910 14008 13909 -3 5038 5172 5037 -3 8927 9034 8926 -3 10856 7774 8888 -3 268 163 164 -3 10610 7581 9397 -3 412 7237 7238 -3 8866 10720 9397 -3 10720 10610 9397 -3 33704 22324 22325 -3 9301 8866 9397 -3 6672 7432 6546 -3 27612 35847 29006 -3 10475 6799 6800 -3 1597 1598 1715 -3 10475 7881 8109 -3 10476 10475 8109 -3 7881 9230 9341 -3 8109 7881 9341 -3 9230 8690 7458 -3 9341 9230 7458 -3 8690 8199 11342 -3 7458 8690 11342 -3 8199 8335 9406 -3 11342 8199 9406 -3 8335 9567 7548 -3 9406 8335 7548 -3 9567 11339 10835 -3 7548 9567 10835 -3 11104 10868 10835 -3 11339 11104 10835 -3 10502 7738 10868 -3 11104 10502 10868 -3 8741 8740 7738 -3 10502 8741 7738 -3 9904 6976 8740 -3 8741 9904 8740 -3 8375 11378 6976 -3 9904 8375 6976 -3 10019 10276 11378 -3 8375 10019 11378 -3 10114 9997 10276 -3 10019 10114 10276 -3 8845 8846 9997 -3 10114 8845 9997 -3 8446 9311 8846 -3 8845 8446 8846 -3 8446 11380 8264 -3 9311 8446 8264 -3 10109 10108 8264 -3 11380 10109 8264 -3 11109 10981 10108 -3 10109 11109 10108 -3 11109 8892 9107 -3 10981 11109 9107 -3 8892 9688 11395 -3 9107 8892 11395 -3 9688 10879 11098 -3 11395 9688 11098 -3 9198 9090 11098 -3 10879 9198 11098 -3 26949 26948 11594 -3 9198 6983 9090 -3 35704 35414 35894 -3 10395 10394 3829 -3 26901 29135 29134 -3 7314 258 7313 -3 10182 10301 10300 -3 21674 21697 13099 -3 10421 10541 10420 -3 15374 15505 15504 -3 21196 33967 21195 -3 27496 13056 30641 -3 7096 7203 7202 -3 7095 7096 7202 -3 7314 7313 7202 -3 7203 7314 7202 -3 11919 11832 11920 -3 258 368 367 -3 10032 11264 10468 -3 517 518 632 -3 9053 9052 8945 -3 8307 10816 9884 -3 29550 27295 21656 -3 8946 9053 8945 -3 14177 14176 13583 -3 1890 11887 12052 -3 11896 7756 7641 -3 10150 9663 10940 -3 7989 7988 7872 -3 35559 35748 35617 -3 8104 8103 7988 -3 7764 9174 9537 -3 19447 19448 21471 -3 7745 7744 7629 -3 7451 517 631 -3 8518 8517 8410 -3 1898 2023 19060 -3 10821 10946 10336 -3 10946 10217 10336 -3 10069 10187 10068 -3 10306 10305 10186 -3 8399 8400 8506 -3 8400 8507 8506 -3 8368 9193 9435 -3 11829 11828 11744 -3 11747 11831 11746 -3 14202 14203 14300 -3 10698 8458 9514 -3 10823 10698 9514 -3 9710 9825 9709 -3 9825 9824 9709 -3 12156 12155 12073 -3 8247 8140 10473 -3 12863 12956 12955 -3 5060 4925 9628 -3 9026 9027 9134 -3 7906 10612 8765 -3 8132 8244 8021 -3 8244 8025 8021 -3 10473 8140 11068 -3 11069 8354 8025 -3 2935 3075 13518 -3 6949 6882 6950 -3 7597 7598 7712 -3 7828 7827 7712 -3 8244 11069 8025 -3 11069 7789 8354 -3 5061 4657 5060 -3 7789 10622 8354 -3 8221 9176 11269 -3 12324 12323 12238 -3 11269 9176 11270 -3 12239 12324 12238 -3 3962 191 190 -3 11908 11907 11821 -3 12410 12409 12323 -3 8552 9065 8659 -3 12207 12044 11722 -3 794 6005 1856 -3 9034 9142 9141 -3 12113 12137 12136 -3 2499 23274 15029 -3 8712 8713 8819 -3 2083 9106 8558 -3 4383 2742 2743 -3 7648 6491 6617 -3 397 7334 398 -3 11148 11274 11273 -3 7671 128 193 -3 9898 10856 8888 -3 10471 10371 7774 -3 418 7243 7244 -3 27495 27496 30641 -3 10475 6263 7881 -3 13524 1971 12455 -3 8634 9121 9230 -3 7881 8634 9230 -3 9121 10257 8690 -3 9230 9121 8690 -3 10257 8198 8199 -3 8690 10257 8199 -3 8198 7431 8335 -3 8199 8198 8335 -3 7431 10239 9567 -3 8335 7431 9567 -3 10239 9224 11339 -3 9567 10239 11339 -3 8542 11104 11339 -3 9224 8542 11339 -3 10503 10502 11104 -3 8542 10503 11104 -3 7780 8741 10502 -3 10503 7780 10502 -3 9788 9904 8741 -3 7780 9788 8741 -3 8374 8375 9904 -3 9788 8374 9904 -3 10136 10019 8375 -3 8374 10136 8375 -3 10113 10114 10019 -3 10136 10113 10019 -3 7508 8845 10114 -3 10113 7508 10114 -3 8361 8446 8845 -3 7508 8361 8845 -3 8361 9390 11380 -3 8446 8361 11380 -3 10110 10109 11380 -3 9390 10110 11380 -3 11235 11109 10109 -3 10110 11235 10109 -3 8999 8892 11109 -3 11235 8999 11109 -3 9774 9688 8892 -3 8999 9774 8892 -3 9797 10879 9688 -3 9774 9797 9688 -3 9310 9198 10879 -3 9797 9310 10879 -3 9310 11081 6983 -3 9198 9310 6983 -3 7782 916 915 -3 11081 9446 6983 -3 13725 13823 13724 -3 35844 35789 35703 -3 10686 10098 8451 -3 11119 8146 3976 -3 7989 8104 7988 -3 7427 258 7314 -3 30090 2277 2411 -3 13056 28989 27784 -3 7097 7204 7203 -3 7096 7097 7203 -3 7204 7315 7314 -3 7203 7204 7314 -3 18959 1778 1898 -3 7315 7427 7314 -3 26578 24957 26579 -3 35426 35899 35472 -3 7583 15904 16044 -3 15451 21795 21889 -3 35854 35629 35585 -3 5998 26260 4785 -3 4923 3880 26139 -3 13195 8002 8686 -3 8215 8214 8103 -3 8104 8215 8103 -3 8323 8322 8214 -3 9896 10490 10684 -3 8215 8323 8214 -3 7630 7745 7629 -3 7896 9286 8445 -3 124 7681 4364 -3 7745 7860 7859 -3 10217 8141 1950 -3 8625 8624 8517 -3 10187 10186 10068 -3 10336 10217 1950 -3 8507 8614 8613 -3 10187 10306 10186 -3 9193 11101 9435 -3 8506 8507 8613 -3 26615 31556 26617 -3 3044 19420 1378 -3 9712 9713 9827 -3 35530 35583 35384 -3 9941 9940 9824 -3 8458 7851 8015 -3 7598 7599 7713 -3 9825 9941 9824 -3 2638 219 216 -3 11355 11078 9757 -3 22266 20131 13340 -3 14211 14212 14309 -3 9077 10974 7686 -3 10341 8247 10473 -3 7601 7716 7715 -3 7600 7601 7715 -3 9473 9589 9588 -3 9358 9473 9472 -3 7827 7828 7943 -3 10170 10171 10289 -3 10052 10053 10170 -3 7469 7698 7546 -3 10053 10171 10170 -3 10171 10290 10289 -3 7924 7808 10622 -3 9820 9936 9819 -3 7789 7924 10622 -3 24957 26578 26083 -3 367 257 258 -3 9539 663 4102 -3 13431 125 17099 -3 8384 8385 8491 -3 10652 10776 10651 -3 2008 18937 18299 -3 13907 13908 14005 -3 8552 8659 10861 -3 22828 20780 9063 -3 7036 7035 115 -3 8820 8927 8926 -3 30418 30552 30551 -3 11826 11825 11741 -3 8606 8713 8712 -3 2475 8888 2128 -3 8733 8626 2107 -3 2742 10864 2342 -3 2125 2128 545 -3 13889 9917 9102 -3 7775 9398 8222 -3 9033 9034 9141 -3 35462 35653 35368 -3 316 317 426 -3 11394 5324 5190 -3 10899 10391 9121 -3 8634 10899 9121 -3 10391 10814 10257 -3 9121 10391 10257 -3 10814 8087 8198 -3 10257 10814 8198 -3 8087 10215 7431 -3 8198 8087 7431 -3 10215 7666 10239 -3 7431 10215 10239 -3 7666 7251 9224 -3 10239 7666 9224 -3 7251 10752 8542 -3 9224 7251 8542 -3 10752 10504 10503 -3 8542 10752 10503 -3 10504 10375 7780 -3 10503 10504 7780 -3 9674 9788 7780 -3 10375 9674 7780 -3 7282 8374 9788 -3 9674 7282 9788 -3 10255 10136 8374 -3 7282 10255 8374 -3 10112 10113 10136 -3 10255 10112 10136 -3 7507 7508 10113 -3 10112 7507 10113 -3 8362 8361 7508 -3 7507 8362 7508 -3 8466 9390 8361 -3 8362 8466 8361 -3 8466 10111 10110 -3 9390 8466 10110 -3 11361 11235 10110 -3 10111 11361 10110 -3 11247 8999 11235 -3 11361 11247 11235 -3 9453 9774 8999 -3 11247 9453 8999 -3 10017 9797 9774 -3 9453 10017 9774 -3 8982 9310 9797 -3 10017 8982 9797 -3 8982 8343 11081 -3 9310 8982 11081 -3 8343 7476 9446 -3 11081 8343 9446 -3 12004 11920 27532 -3 7476 8123 9446 -3 8634 6267 10899 -3 12002 12083 12001 -3 406 407 520 -3 1778 18959 18860 -3 30641 13056 27784 -3 32724 32723 32609 -3 7096 6993 7097 -3 7205 7204 7097 -3 7098 7205 7097 -3 7316 7315 7204 -3 7205 7316 7204 -3 7428 7427 7315 -3 7316 7428 7315 -3 7542 7541 7427 -3 7428 7542 7427 -3 7541 483 7656 -3 23636 23590 2222 -3 13691 13320 13609 -3 6798 10597 7440 -3 6670 809 7803 -3 9466 9582 9581 -3 6506 10501 6632 -3 5312 5311 10565 -3 8430 8429 8322 -3 8323 8430 8322 -3 9207 11370 8890 -3 8880 10511 7533 -3 7859 7860 7975 -3 7744 7745 7859 -3 11118 7583 9007 -3 9582 9698 9581 -3 1950 8141 8784 -3 8141 10980 8784 -3 10069 10068 9951 -3 9952 10069 9951 -3 8613 8614 8720 -3 8614 8721 8720 -3 10480 9193 8368 -3 7660 10480 8368 -3 6153 6023 6154 -3 24047 23923 12958 -3 9190 9298 10823 -3 18929 27375 20570 -3 9941 10058 9940 -3 10058 10057 9940 -3 8386 8493 8492 -3 7484 7485 7598 -3 8035 13286 12208 -3 13668 11947 13570 -3 9982 8906 9866 -3 9914 9982 10963 -3 17464 17463 17385 -3 7906 10341 10612 -3 7831 7830 7715 -3 7716 7831 7715 -3 9357 9358 9472 -3 9246 9358 9357 -3 11120 7469 7546 -3 10715 10223 8263 -3 11063 8263 7698 -3 7469 11063 7698 -3 11063 10715 8263 -3 10223 10715 9667 -3 9936 10053 10052 -3 10715 7308 9667 -3 9705 9820 9704 -3 9935 9936 10052 -3 9820 9819 9704 -3 9936 9935 9819 -3 10842 7143 7354 -3 11001 9662 11224 -3 9470 9471 9586 -3 10828 10842 7354 -3 10530 10652 10529 -3 9355 9356 9470 -3 2016 8221 10212 -3 4239 10527 4240 -3 23229 23131 22436 -3 8445 8552 10736 -3 8605 8606 8712 -3 13618 35736 15593 -3 8392 8499 8391 -3 8713 8820 8819 -3 8606 8605 8498 -3 8499 8606 8498 -3 8819 8820 8926 -3 9034 9033 8926 -3 9628 2638 216 -3 9142 9251 9250 -3 15167 12217 15370 -3 35612 35885 35795 -3 11154 10392 10391 -3 10899 11154 10391 -3 10392 9302 10814 -3 10391 10392 10814 -3 8196 8087 10814 -3 9302 8196 10814 -3 7506 10215 8087 -3 8196 7506 8087 -3 7247 7666 10215 -3 7506 7247 10215 -3 11005 7251 7666 -3 7247 11005 7666 -3 11005 7888 10752 -3 7251 11005 10752 -3 7888 10505 10504 -3 10752 7888 10504 -3 10505 10588 10375 -3 10504 10505 10375 -3 10588 11231 9674 -3 10375 10588 9674 -3 11231 10714 7282 -3 9674 11231 7282 -3 10714 10812 10255 -3 7282 10714 10255 -3 10230 10112 10255 -3 10812 10230 10255 -3 6937 7507 10112 -3 10230 6937 10112 -3 6937 9458 8362 -3 7507 6937 8362 -3 7663 8466 8362 -3 9458 7663 8362 -3 9994 10111 8466 -3 7663 9994 8466 -3 8557 11361 10111 -3 9994 8557 10111 -3 11374 11247 11361 -3 8557 11374 11361 -3 8262 9453 11247 -3 11374 8262 11247 -3 10134 10017 9453 -3 8262 10134 9453 -3 8875 8982 10017 -3 10134 8875 10017 -3 5067 8343 8982 -3 8875 5067 8982 -3 5067 7817 7476 -3 8343 5067 7476 -3 4806 10972 1285 -3 7476 7817 8123 -3 13552 13650 13551 -3 22915 23014 23013 -3 35358 35455 35704 -3 3297 9806 9807 -3 34479 33023 3095 -3 27275 27276 27393 -3 6995 7099 7098 -3 32919 32807 17322 -3 7206 7205 7098 -3 7099 7206 7098 -3 7317 7316 7205 -3 7206 7317 7205 -3 7429 7428 7316 -3 7317 7429 7316 -3 7543 7542 7428 -3 7429 7543 7428 -3 11889 13304 35532 -3 7541 7656 368 -3 7860 7976 7975 -3 7976 8091 1517 -3 9651 7892 10857 -3 10983 11370 9207 -3 8537 8536 8429 -3 8430 8537 8429 -3 8644 8643 8536 -3 8537 8644 8536 -3 35420 35796 35463 -3 7892 10983 10857 -3 559 5042 675 -3 8128 459 9221 -3 8438 11197 8030 -3 9436 8438 8030 -3 8784 10980 10706 -3 10980 10717 10706 -3 9720 9721 9835 -3 9952 9951 9835 -3 8720 8721 8827 -3 8721 8828 8827 -3 10494 10258 10459 -3 10258 10480 7660 -3 12419 12418 12332 -3 20697 20698 22737 -3 10275 9298 9190 -3 8759 10275 9190 -3 10058 10176 10057 -3 10176 10175 10057 -3 375 374 265 -3 8906 6115 9866 -3 11147 11148 11273 -3 404 299 66 -3 6521 1371 4503 -3 9914 10963 11311 -3 7947 7946 7830 -3 7947 8062 7946 -3 7831 7947 7830 -3 8062 8061 7946 -3 9245 9246 9357 -3 9028 9029 9136 -3 10622 7808 6961 -3 13115 13210 6138 -3 10736 10861 10974 -3 9077 10736 10974 -3 15377 15378 15508 -3 10341 10473 10612 -3 8979 8021 8872 -3 10736 8552 10861 -3 8979 8872 9667 -3 8025 10341 7906 -3 7308 8979 9667 -3 8021 7906 8872 -3 8021 8025 7906 -3 8354 8247 10341 -3 35554 35698 35624 -3 10622 6961 8247 -3 9471 9587 9586 -3 9472 9473 9588 -3 10410 10530 10409 -3 7375 7487 7374 -3 9286 9065 8552 -3 18959 1898 19060 -3 35621 35444 35858 -3 10367 9078 7685 -3 11274 7654 8014 -3 9537 9422 10012 -3 21414 22925 22845 -3 35636 35601 35444 -3 12325 12324 12239 -3 15370 14819 14709 -3 9448 8221 11269 -3 17936 22924 18731 -3 16780 16792 14436 -3 1991 8420 1992 -3 11026 10954 10392 -3 11154 11026 10392 -3 8088 9302 10392 -3 10954 8088 10392 -3 7972 8196 9302 -3 8088 7972 9302 -3 8560 7506 8196 -3 7972 8560 8196 -3 8160 7247 7506 -3 8560 8160 7506 -3 7477 11005 7247 -3 8160 7477 7247 -3 7477 6986 7888 -3 11005 7477 7888 -3 6986 10627 10505 -3 7888 6986 10505 -3 10627 10036 10588 -3 10505 10627 10588 -3 10036 9531 11231 -3 10588 10036 11231 -3 9531 7765 10714 -3 11231 9531 10714 -3 7765 9212 10812 -3 10714 7765 10812 -3 9212 10229 10230 -3 10812 9212 10230 -3 10229 9907 6937 -3 10230 10229 6937 -3 9907 10838 9458 -3 6937 9907 9458 -3 8871 7663 9458 -3 10838 8871 9458 -3 9995 9994 7663 -3 8871 9995 7663 -3 9995 10009 8557 -3 9994 9995 8557 -3 11375 11374 8557 -3 10009 11375 8557 -3 9659 8262 11374 -3 11375 9659 11374 -3 10253 10134 8262 -3 9659 10253 8262 -3 8768 8875 10134 -3 10253 8768 10134 -3 10483 5067 8875 -3 8768 10483 8875 -3 7816 7817 5067 -3 10483 7816 5067 -3 35781 35361 35564 -3 27532 11920 27415 -3 11344 9802 14901 -3 27987 11804 6848 -3 31338 11415 31406 -3 9393 14140 14042 -3 6906 6996 6995 -3 13979 6905 6995 -3 6996 7100 7099 -3 6995 6996 7099 -3 7207 7206 7099 -3 7100 7207 7099 -3 7318 7317 7206 -3 7207 7318 7206 -3 7430 7429 7317 -3 7318 7430 7317 -3 7544 7543 7429 -3 7430 7544 7429 -3 11273 8014 11272 -3 35680 35700 35551 -3 33728 33862 33727 -3 10528 10527 10407 -3 18930 18178 24398 -3 10828 7354 8766 -3 8751 8750 8643 -3 7048 7049 7152 -3 13748 13747 13649 -3 8644 8751 8643 -3 10857 10983 9207 -3 8858 8857 8750 -3 14064 9393 14042 -3 11370 11186 8890 -3 10611 10735 9552 -3 7569 8123 1655 -3 10717 7625 7624 -3 7805 10620 7690 -3 9605 9721 9720 -3 10706 10717 7624 -3 8828 8935 8934 -3 9836 9952 9835 -3 10258 7857 10459 -3 8827 8828 8934 -3 12333 12419 12332 -3 7857 10258 7660 -3 10571 9664 8759 -3 14059 12253 2235 -3 10295 10294 10175 -3 9298 10698 10823 -3 12074 12156 12073 -3 10176 10295 10175 -3 9553 9437 9116 -3 35377 35660 35672 -3 530 416 417 -3 4374 10776 4509 -3 11349 9914 11311 -3 9982 9866 10963 -3 8173 8172 8061 -3 8062 8173 8061 -3 9029 9137 9136 -3 8922 9029 9028 -3 9137 9246 9245 -3 9136 9137 9245 -3 3960 3827 3828 -3 27168 29010 29081 -3 2338 2339 6248 -3 12764 12856 12855 -3 9357 9472 9471 -3 9472 9588 9587 -3 9065 10828 8659 -3 9356 9357 9471 -3 10529 10528 10408 -3 10409 10529 10408 -3 7051 7052 7155 -3 7156 7263 7262 -3 7374 7486 7373 -3 7155 7156 7262 -3 8354 10622 8247 -3 7600 7599 7485 -3 9705 9704 9588 -3 8025 8354 10341 -3 7601 7600 7486 -3 9589 9705 9588 -3 10530 10529 10409 -3 7156 7157 7263 -3 10370 10736 9077 -3 9286 11120 9065 -3 10367 7685 7908 -3 9078 10370 9077 -3 9229 10367 7908 -3 9078 9077 7685 -3 8445 9286 8552 -3 17888 23807 24137 -3 6395 6391 6806 -3 41 6769 3536 -3 1709 1710 1827 -3 22420 22518 22517 -3 8118 10954 11026 -3 11153 8118 11026 -3 11092 8088 10954 -3 8118 11092 10954 -3 10813 7972 8088 -3 11092 10813 8088 -3 9124 8560 7972 -3 10813 9124 7972 -3 7248 8160 8560 -3 9124 7248 8560 -3 10696 7477 8160 -3 7248 10696 8160 -3 10696 11333 6986 -3 7477 10696 6986 -3 11333 8139 10627 -3 6986 11333 10627 -3 8139 7178 10036 -3 10627 8139 10036 -3 7178 9507 9531 -3 10036 7178 9531 -3 9507 11124 7765 -3 9531 9507 7765 -3 11124 10873 9212 -3 7765 11124 9212 -3 10873 10228 10229 -3 9212 10873 10229 -3 10228 9791 9907 -3 10229 10228 9907 -3 8363 10838 9907 -3 9791 8363 9907 -3 11012 8871 10838 -3 8363 11012 10838 -3 11012 9996 9995 -3 8871 11012 9995 -3 9996 9893 10009 -3 9995 9996 10009 -3 7461 11375 10009 -3 9893 7461 10009 -3 7461 7089 9659 -3 11375 7461 9659 -3 7089 9318 10253 -3 9659 7089 10253 -3 9318 8661 8768 -3 10253 9318 8768 -3 9282 10483 8768 -3 8661 9282 8768 -3 7312 7816 10483 -3 9282 7312 10483 -3 11344 10972 7816 -3 7312 11344 7816 -3 6420 6419 6292 -3 34175 34313 34174 -3 228 4909 5044 -3 372 7544 7430 -3 6906 6905 35186 -3 6997 7101 7100 -3 6996 6997 7100 -3 7208 7207 7100 -3 7101 7208 7100 -3 7319 7318 7207 -3 7208 7319 7207 -3 6093 6092 8149 -3 11996 11995 11911 -3 4654 11227 6795 -3 35405 35595 28993 -3 7307 7420 7216 -3 10353 10338 10231 -3 9934 10051 10050 -3 9933 9934 10050 -3 8659 10828 8766 -3 9242 9243 9354 -3 16319 16401 820 -3 10756 1521 7667 -3 11202 787 577 -3 2740 2741 2876 -3 8751 8858 8750 -3 8858 8965 8964 -3 299 404 8991 -3 3315 5859 5725 -3 7837 7836 7721 -3 8331 7533 8978 -3 9827 9828 9943 -3 8182 8183 8290 -3 8651 10353 10231 -3 7625 9015 9014 -3 9489 9605 9604 -3 9488 9489 9604 -3 9042 9150 9149 -3 8935 9042 9041 -3 9752 11226 9661 -3 10494 10459 11352 -3 3983 68 179 -3 22147 22141 21138 -3 11387 9664 10571 -3 11386 11387 10571 -3 10295 10415 10294 -3 10415 10414 10294 -3 8444 8445 10370 -3 11273 11274 8014 -3 9553 10012 9437 -3 10012 9896 9437 -3 9828 9944 9943 -3 35862 35924 35412 -3 8281 8280 8172 -3 13239 6767 5335 -3 8173 8281 8172 -3 11277 11278 228 -3 8921 8922 9028 -3 10438 10437 10317 -3 30192 30325 30191 -3 27157 27276 27275 -3 9661 9547 6632 -3 11434 11435 11492 -3 8705 8812 8811 -3 35937 35355 35853 -3 9471 9472 9587 -3 675 6001 559 -3 6861 29543 19679 -3 10529 10651 10528 -3 10289 10409 10408 -3 10288 10289 10408 -3 7374 7373 7262 -3 7263 7374 7262 -3 8815 8814 8707 -3 8708 8815 8707 -3 8494 8601 8600 -3 8493 8494 8600 -3 8280 8387 8386 -3 8279 8280 8386 -3 8172 8280 8279 -3 8171 8172 8279 -3 7375 7374 7263 -3 5996 11059 5872 -3 2238 2370 2369 -3 7053 7157 7156 -3 10370 8445 10736 -3 9176 11393 11270 -3 10652 10651 10529 -3 35844 35508 35789 -3 10290 10410 10409 -3 10289 10290 10409 -3 35721 35655 28191 -3 21208 22147 21138 -3 6391 6395 11153 -3 27156 27157 27275 -3 7472 8118 11153 -3 11280 7472 11153 -3 11217 11092 8118 -3 7472 11217 8118 -3 10256 10813 11092 -3 11217 10256 11092 -3 10141 9124 10813 -3 10256 10141 10813 -3 9169 7248 9124 -3 10141 9169 9124 -3 9169 9409 10696 -3 7248 9169 10696 -3 9409 9677 11333 -3 10696 9409 11333 -3 9677 8145 8139 -3 11333 9677 8139 -3 8145 7075 7178 -3 8139 8145 7178 -3 7075 7994 9507 -3 7178 7075 9507 -3 7994 7306 11124 -3 9507 7994 11124 -3 7306 9776 10873 -3 11124 7306 10873 -3 9776 10227 10228 -3 10873 9776 10228 -3 10227 8897 9791 -3 10228 10227 9791 -3 8897 8364 8363 -3 9791 8897 8363 -3 8364 8565 11012 -3 8363 8364 11012 -3 8565 9880 9996 -3 11012 8565 9996 -3 9880 9777 9893 -3 9996 9880 9893 -3 7578 7461 9893 -3 9777 7578 9893 -3 7194 7089 7461 -3 7578 7194 7461 -3 7194 8454 9318 -3 7089 7194 9318 -3 8454 8554 8661 -3 9318 8454 8661 -3 8554 7644 9282 -3 8661 8554 9282 -3 8243 7312 9282 -3 7644 8243 9282 -3 11222 8243 9392 -3 13503 13502 12388 -3 35450 35926 35646 -3 13239 13693 216 -3 2635 9572 4654 -3 801 920 7505 -3 6998 7102 7101 -3 27040 27157 27156 -3 7209 7208 7101 -3 7102 7209 7101 -3 7320 7319 7208 -3 7209 7320 7208 -3 8203 8204 1752 -3 27039 27040 27156 -3 9604 9605 9720 -3 9654 2878 8772 -3 7624 7625 9014 -3 9015 10624 10618 -3 10061 10179 10060 -3 10179 10298 10297 -3 10908 10909 11034 -3 7497 7496 7384 -3 10164 10163 10045 -3 11150 11276 11275 -3 9068 9177 2785 -3 8857 8858 8964 -3 8965 9072 9071 -3 8964 8965 9071 -3 5688 5687 5689 -3 14203 14301 14300 -3 7617 7732 7616 -3 10909 11035 11034 -3 8183 8291 8290 -3 10493 10616 10848 -3 10231 10338 11256 -3 10338 11221 11256 -3 9153 9262 9152 -3 9374 9373 9261 -3 7885 8898 9229 -3 9041 9042 9149 -3 2083 8558 5199 -3 11226 10494 11352 -3 7056 7055 6956 -3 4774 11277 11151 -3 1883 2000 212 -3 9664 10275 8759 -3 8505 8612 8611 -3 10415 10535 10534 -3 9422 8337 9896 -3 9587 9703 9702 -3 7566 8987 7564 -3 10012 9422 9896 -3 10587 11268 10753 -3 9010 9014 10615 -3 11190 9225 8014 -3 7649 10587 10753 -3 10318 10438 10317 -3 7175 10030 9784 -3 9579 9580 9695 -3 9438 11068 10862 -3 8276 8383 8382 -3 7942 7943 8057 -3 8772 7933 4498 -3 10612 10473 9438 -3 5310 10565 5311 -3 10859 9418 7579 -3 8056 8057 8167 -3 8873 10704 8980 -3 10898 11024 11023 -3 162 6670 6000 -3 6953 7052 7051 -3 10013 8132 7216 -3 7486 7485 7373 -3 6952 6953 7051 -3 8708 8707 8600 -3 8601 8708 8600 -3 8816 8815 8708 -3 8709 8816 8708 -3 9138 9137 9029 -3 8923 8922 8815 -3 9359 9358 9246 -3 9030 9138 9029 -3 7152 7153 7259 -3 9247 9359 9246 -3 7052 7053 7156 -3 9590 9589 9473 -3 17103 20317 4784 -3 7157 7264 7263 -3 6954 7053 7052 -3 6953 6954 7052 -3 7264 7375 7263 -3 7487 7486 7374 -3 28991 35796 35420 -3 7487 7601 7486 -3 6395 11280 11153 -3 35920 35799 11314 -3 8778 7472 11280 -3 9769 8778 11280 -3 11091 11217 7472 -3 8778 11091 7472 -3 8689 10256 11217 -3 11091 8689 11217 -3 10024 10141 10256 -3 8689 10024 10256 -3 7252 9169 10141 -3 10024 7252 10141 -3 7252 7643 9409 -3 9169 7252 9409 -3 7643 8248 9677 -3 9409 7643 9677 -3 8248 11141 8145 -3 9677 8248 8145 -3 11141 11085 7075 -3 8145 11141 7075 -3 11085 7992 7994 -3 7075 11085 7994 -3 7992 441 7306 -3 7994 7992 7306 -3 441 10038 9776 -3 7306 441 9776 -3 10038 10346 10227 -3 9776 10038 10227 -3 10346 9004 8897 -3 10227 10346 8897 -3 9004 8365 8364 -3 8897 9004 8364 -3 8365 7436 8565 -3 8364 8365 8565 -3 7436 9881 9880 -3 8565 7436 9880 -3 9881 11315 9777 -3 9880 9881 9777 -3 7349 7578 9777 -3 11315 7349 9777 -3 7193 7194 7578 -3 7349 7193 7578 -3 7144 8454 7194 -3 7193 7144 7194 -3 7144 8447 8554 -3 8454 7144 8554 -3 8447 8112 7644 -3 8554 8447 7644 -3 9392 8243 7644 -3 8112 9392 7644 -3 6957 900 11128 -3 15769 11223 15358 -3 2126 132 298 -3 2116 1991 1992 -3 2340 6119 2339 -3 7822 7821 7707 -3 6999 7103 7102 -3 6998 6999 7102 -3 7210 7209 7102 -3 7103 7210 7102 -3 7321 7320 7209 -3 7210 7321 7209 -3 4099 10272 9227 -3 21327 27725 26499 -3 9721 9836 9835 -3 12131 12049 13602 -3 9014 9015 10618 -3 9374 9489 9373 -3 10735 9447 9552 -3 10624 10353 8651 -3 7385 7497 7384 -3 8189 8188 8077 -3 11068 8029 10759 -3 7355 10614 9414 -3 9072 9180 9179 -3 6876 18936 30610 -3 9071 9072 9179 -3 9180 9289 9288 -3 8587 8694 8693 -3 9179 9180 9288 -3 5863 14240 22141 -3 8586 8587 8693 -3 7391 7503 7390 -3 7847 7846 7731 -3 15325 15326 5566 -3 4767 4768 4902 -3 11990 12071 12070 -3 12583 12584 12673 -3 9044 9045 9152 -3 9262 9261 9152 -3 7420 7327 7216 -3 10684 10490 9078 -3 8492 8599 8598 -3 8491 8492 8598 -3 429 428 319 -3 8404 8511 8403 -3 10592 10526 8981 -3 912 14536 792 -3 10050 10051 10168 -3 8511 8510 8403 -3 10315 10435 10314 -3 10169 10288 10287 -3 9317 8767 8669 -3 10555 10554 10434 -3 8822 8929 8928 -3 1621 7569 15362 -3 35606 35754 35920 -3 7834 7950 7833 -3 9317 8669 9096 -3 8767 8874 8669 -3 11268 7215 10753 -3 9195 9087 9985 -3 7334 7224 398 -3 7215 9985 10753 -3 10953 6958 8337 -3 9068 2649 2515 -3 10408 10407 10287 -3 10288 10408 10287 -3 7378 7490 7489 -3 7055 7056 7159 -3 5863 21206 14240 -3 7654 11190 8014 -3 33930 21501 33686 -3 8388 8387 8280 -3 7052 7156 7155 -3 8814 8815 8921 -3 8387 8494 8493 -3 8386 8387 8493 -3 8816 8923 8815 -3 9030 9029 8922 -3 8872 8765 9869 -3 7599 7714 7713 -3 7908 7685 7175 -3 8872 7906 8765 -3 7233 407 7232 -3 7685 9077 7686 -3 10777 10776 10652 -3 10653 10777 10652 -3 10653 10652 10530 -3 10531 10653 10530 -3 10172 10291 10290 -3 10171 10172 10290 -3 10290 10291 10410 -3 10291 10411 10410 -3 10411 10531 10410 -3 10531 10530 10410 -3 9460 9575 2876 -3 13839 13838 13740 -3 8450 10274 8778 -3 9769 8450 8778 -3 11343 11091 8778 -3 10274 11343 8778 -3 7455 8689 11091 -3 11343 7455 11091 -3 7999 10024 8689 -3 7455 7999 8689 -3 8474 7252 10024 -3 7999 8474 10024 -3 8474 9217 7643 -3 7252 8474 7643 -3 9217 7331 8248 -3 7643 9217 8248 -3 7331 7394 11141 -3 8248 7331 11141 -3 7394 10958 11085 -3 11141 7394 11085 -3 10958 7393 7992 -3 11085 10958 7992 -3 7393 9748 441 -3 7992 7393 441 -3 9748 8653 10038 -3 441 9748 10038 -3 8653 10345 10346 -3 10038 8653 10346 -3 10345 10878 9004 -3 10346 10345 9004 -3 10878 8545 8365 -3 9004 10878 8365 -3 8545 8685 7436 -3 8365 8545 7436 -3 8685 7661 9881 -3 7436 8685 9881 -3 7661 9222 11315 -3 9881 7661 11315 -3 11346 7349 11315 -3 9222 11346 11315 -3 10352 7193 7349 -3 11346 10352 7349 -3 10352 11239 7144 -3 7193 10352 7144 -3 11239 8340 8447 -3 7144 11239 8447 -3 8340 11324 8112 -3 8447 8340 8112 -3 7434 9392 8112 -3 11324 7434 8112 -3 11223 15910 15358 -3 7434 11223 9392 -3 18932 18178 18398 -3 13846 13845 13747 -3 9325 11193 11724 -3 5610 6648 17122 -3 7000 7104 7103 -3 6998 7101 6997 -3 7211 7210 7103 -3 7104 7211 7103 -3 7322 7321 7210 -3 7211 7322 7210 -3 10383 6871 16074 -3 6409 35946 35535 -3 8934 8935 9041 -3 11002 11355 10580 -3 9262 9374 9261 -3 9489 9488 9373 -3 10618 10624 8651 -3 15773 12287 12282 -3 7963 8078 7962 -3 7327 10013 7216 -3 10238 7196 8258 -3 5988 6119 2340 -3 10479 7700 9299 -3 408 409 522 -3 13882 11881 5418 -3 8561 13413 9685 -3 11738 11737 11657 -3 12500 12499 12410 -3 13387 9325 11724 -3 12128 12211 29 -3 8255 10479 10221 -3 7700 10750 10743 -3 28197 28196 28079 -3 7617 7616 7502 -3 2811 27168 29081 -3 6939 116 6974 -3 11820 11906 11905 -3 11989 11990 12070 -3 8938 9045 9044 -3 8937 8938 9044 -3 9149 9150 9258 -3 9150 9259 9258 -3 8277 8278 8384 -3 8385 8492 8491 -3 7604 7603 7489 -3 4130 15175 4655 -3 9083 10961 9225 -3 7160 7267 7266 -3 7215 9195 9985 -3 10862 11113 9087 -3 9195 10862 9087 -3 10759 9782 11113 -3 8767 8986 8874 -3 10903 11029 10902 -3 22259 21687 22355 -3 7718 7719 7833 -3 9767 8036 7358 -3 10729 9767 7358 -3 9767 10729 10581 -3 10704 9767 10581 -3 4498 2000 4108 -3 8772 8879 7933 -3 7485 7599 7598 -3 35415 35655 35839 -3 7714 7829 7828 -3 11190 9083 9225 -3 10408 10528 10407 -3 35454 35935 35648 -3 14924 15290 11643 -3 7908 7175 9670 -3 5982 5850 5851 -3 9422 10953 8337 -3 8281 8388 8280 -3 7177 11349 11311 -3 8815 8922 8921 -3 8495 8494 8387 -3 8061 8172 8171 -3 8060 8061 8171 -3 8923 9030 8922 -3 9247 9246 9137 -3 7698 9662 10842 -3 8247 6961 8140 -3 7426 11204 11355 -3 11204 9870 7420 -3 7439 10250 7327 -3 11078 11204 7420 -3 9101 10248 8993 -3 9101 8993 10013 -3 9007 7760 11241 -3 7690 11241 10595 -3 7583 10734 7760 -3 7690 9007 11241 -3 26698 26810 26809 -3 9007 7583 7760 -3 10898 10897 4372 -3 25265 35522 25266 -3 1174 9542 3848 -3 22147 5863 22141 -3 10446 10274 8450 -3 10809 10446 8450 -3 11322 11343 10274 -3 10446 11322 10274 -3 8692 7455 11343 -3 11322 8692 11343 -3 7310 7999 7455 -3 8692 7310 7455 -3 8260 8474 7999 -3 7310 8260 7999 -3 8260 10731 9217 -3 8474 8260 9217 -3 10731 6959 7331 -3 9217 10731 7331 -3 6959 10156 7394 -3 7331 6959 7394 -3 10156 11211 10958 -3 7394 10156 10958 -3 11211 9440 7393 -3 10958 11211 7393 -3 9440 9747 9748 -3 7393 9440 9748 -3 9747 8864 8653 -3 9748 9747 8653 -3 8864 10464 10345 -3 8653 8864 10345 -3 10464 10877 10878 -3 10345 10464 10878 -3 10877 8755 8545 -3 10878 10877 8545 -3 8755 8788 8685 -3 8545 8755 8685 -3 8788 7777 7661 -3 8685 8788 7661 -3 7777 9522 9222 -3 7661 7777 9222 -3 7088 11346 9222 -3 9522 7088 9222 -3 10252 10352 11346 -3 7088 10252 11346 -3 10252 10950 11239 -3 10352 10252 11239 -3 13204 11790 10950 -3 11239 10950 8340 -3 8233 10950 11790 -3 8340 8233 11324 -3 7433 7434 11324 -3 7547 7433 11324 -3 7547 8483 7433 -3 35519 35939 35888 -3 1868 8312 1869 -3 12032 13109 10376 -3 9662 11001 7143 -3 35916 35727 35877 -3 30927 30926 30872 -3 30873 30927 30872 -3 7212 7211 7104 -3 7105 7212 7104 -3 7323 7322 7211 -3 7212 7323 7211 -3 35762 14562 35714 -3 7323 7435 7322 -3 21206 21205 14240 -3 7435 7549 376 -3 7279 7390 7278 -3 1249 7935 1250 -3 12855 12948 12854 -3 7502 7501 7389 -3 9867 10973 9775 -3 12680 12681 12769 -3 7505 7504 800 -3 35427 29821 28076 -3 8039 7809 10626 -3 9448 11269 2490 -3 3855 15356 1485 -3 10750 7397 10743 -3 29652 29653 29785 -3 3306 1140 547 -3 32242 32344 32241 -3 12773 12865 12864 -3 9388 9387 9275 -3 7700 10743 9299 -3 29786 29915 29914 -3 9276 9388 9275 -3 11819 11820 11905 -3 7037 313 312 -3 8831 8938 8937 -3 10096 5041 10105 -3 9259 9371 9370 -3 9045 9153 9152 -3 10512 10773 10501 -3 9258 9259 9370 -3 10773 9752 8477 -3 11226 11352 9661 -3 7575 9420 8119 -3 11526 11594 11525 -3 7420 7307 10952 -3 9585 9586 9701 -3 10778 10777 10653 -3 5473 3607 347 -3 7490 7604 7489 -3 7267 7378 7266 -3 10862 10759 11113 -3 35924 35525 35745 -3 35830 35633 35629 -3 17713 363 477 -3 8036 10587 7649 -3 7358 8036 7649 -3 21206 15469 15468 -3 8493 8600 8599 -3 5310 10445 10565 -3 10490 10370 9078 -3 10414 10415 10534 -3 10535 10657 10656 -3 8898 10684 9078 -3 10534 10535 10656 -3 11276 11277 8883 -3 420 7245 310 -3 7808 937 6961 -3 228 11187 11188 -3 7645 7538 6958 -3 533 418 7245 -3 35477 35871 35409 -3 10953 7645 6958 -3 8388 8495 8387 -3 8707 8706 8599 -3 7945 7946 8060 -3 8602 8601 8494 -3 9138 9247 9137 -3 9474 9473 9358 -3 116 6939 7037 -3 9065 7546 10828 -3 9870 7439 7327 -3 7420 9870 7327 -3 8559 8111 7463 -3 11073 11074 10478 -3 9305 10569 10815 -3 7232 406 7231 -3 35661 35590 35861 -3 7362 10442 7060 -3 7362 7060 11282 -3 11283 7362 11282 -3 10904 11030 10903 -3 11157 11156 11029 -3 11283 11282 11156 -3 11030 11157 11029 -3 219 13239 216 -3 11157 11283 11156 -3 9304 10446 10809 -3 20829 20909 20908 -3 11329 11322 10446 -3 9304 11329 10446 -3 6890 8692 11322 -3 11329 6890 11322 -3 8238 7310 8692 -3 6890 8238 8692 -3 8668 8260 7310 -3 8238 8668 7310 -3 7141 10731 8260 -3 8668 7141 8260 -3 7141 10867 6959 -3 10731 7141 6959 -3 10867 8265 10156 -3 6959 10867 10156 -3 8265 10833 11211 -3 10156 8265 11211 -3 10833 9558 9440 -3 11211 10833 9440 -3 9558 8366 9747 -3 9440 9558 9747 -3 8366 10865 8864 -3 9747 8366 8864 -3 10865 10585 10464 -3 8864 10865 10464 -3 10585 10875 10877 -3 10464 10585 10877 -3 10875 8457 8755 -3 10877 10875 8755 -3 8457 8681 8788 -3 8755 8457 8788 -3 8681 7778 7777 -3 8788 8681 7777 -3 7778 10010 9522 -3 7777 7778 9522 -3 10010 11354 7088 -3 9522 10010 7088 -3 7682 10252 7088 -3 11058 11354 11707 -3 11166 11292 11165 -3 7682 11354 11058 -3 8658 9438 9195 -3 10032 10468 10469 -3 10297 10296 10177 -3 11068 10759 10862 -3 6511 8561 8200 -3 35934 35357 35645 -3 14162 13619 12571 -3 14254 8223 15198 -3 7241 416 415 -3 10676 10677 10800 -3 10896 4371 10897 -3 12373 1381 12641 -3 14856 613 14801 -3 9909 277 1891 -3 35350 35889 35658 -3 4137 2795 2524 -3 777 897 896 -3 7000 17369 7104 -3 15971 3181 80 -3 9572 2635 8655 -3 4099 1167 10155 -3 35909 35363 35524 -3 1451 4675 1566 -3 6544 7254 10976 -3 7390 7502 7389 -3 8081 8192 8080 -3 22623 22622 22523 -3 7616 7615 7501 -3 398 7448 512 -3 11747 11746 11666 -3 26000 18510 23891 -3 11110 9213 8007 -3 9484 9600 9483 -3 29243 29242 29105 -3 8774 11110 8007 -3 13409 11079 4796 -3 8024 10102 9213 -3 8933 9040 8932 -3 10829 10839 9296 -3 11172 11171 11044 -3 9347 9348 9462 -3 9136 9245 9244 -3 9972 9971 9855 -3 9135 9136 9244 -3 9503 9502 9387 -3 9854 9855 9971 -3 11018 11017 10891 -3 9388 9503 9387 -3 3334 10096 10105 -3 14200 14199 14103 -3 8724 8831 8830 -3 12154 12237 12153 -3 9486 9485 9370 -3 8830 8831 8937 -3 8958 10512 8952 -3 9371 9486 9370 -3 8773 8880 9981 -3 9752 9661 8477 -3 8439 9536 8349 -3 9408 8773 9981 -3 9420 9408 9981 -3 8119 9420 9981 -3 9564 11244 8776 -3 10747 9755 8869 -3 11244 8869 8776 -3 27406 21656 27142 -3 9586 9587 9702 -3 9703 9818 9702 -3 8920 9027 8919 -3 9027 9135 9134 -3 9356 9355 9243 -3 9244 9356 9243 -3 9356 9471 9470 -3 7143 11001 9767 -3 8883 228 11188 -3 787 9895 9332 -3 7740 7356 9188 -3 9188 9187 11386 -3 11285 11286 7740 -3 9187 11387 11386 -3 10657 10781 10780 -3 7356 9187 9188 -3 10656 10657 10780 -3 11029 11028 10902 -3 10906 10905 10780 -3 10781 10906 10780 -3 9209 9205 10131 -3 9209 7510 9205 -3 8372 11002 7538 -3 10351 9209 10131 -3 6961 937 7812 -3 7645 8372 7538 -3 8495 8602 8494 -3 8492 8493 8599 -3 9359 9474 9358 -3 8602 8709 8708 -3 35687 35587 35851 -3 10777 10902 10776 -3 10250 10013 7327 -3 10250 9101 10013 -3 10961 5307 5173 -3 8111 10478 7463 -3 8759 9190 9082 -3 8084 8759 9082 -3 8015 9191 10507 -3 9190 10823 10948 -3 8015 9333 9191 -3 9514 8015 10507 -3 9316 9333 7535 -3 9333 7540 7535 -3 5851 11311 10963 -3 9539 1371 663 -3 9915 9539 4102 -3 21205 21206 15468 -3 27371 27372 20829 -3 20908 27489 27371 -3 9915 10690 11329 -3 9304 9915 11329 -3 9105 6890 11329 -3 10690 9105 11329 -3 9631 8238 6890 -3 9105 9631 6890 -3 10152 8668 8238 -3 9631 10152 8238 -3 10152 10711 7141 -3 8668 10152 7141 -3 10711 10742 10867 -3 7141 10711 10867 -3 8371 8265 10867 -3 10742 8371 10867 -3 8371 11337 10833 -3 8265 8371 10833 -3 11337 9442 9558 -3 10833 11337 9558 -3 9442 8370 8366 -3 9558 9442 8366 -3 8370 10374 10865 -3 8366 8370 10865 -3 10374 7109 10585 -3 10865 10374 10585 -3 7109 9574 10875 -3 10585 7109 10875 -3 9574 14656 14565 -3 10875 9574 8457 -3 10617 10567 8681 -3 8457 10617 8681 -3 10567 9882 7778 -3 8681 10567 7778 -3 9882 10373 10010 -3 7778 9882 10010 -3 9116 9437 10684 -3 35523 35935 35454 -3 11237 9080 11369 -3 11111 11237 11369 -3 11292 11291 11165 -3 9153 9154 9262 -3 10030 10885 9900 -3 9838 9954 9837 -3 10297 10417 10296 -3 9755 7794 7554 -3 35616 35466 35659 -3 10919 10918 10793 -3 35569 35511 35927 -3 13390 35747 35639 -3 8054 8165 8053 -3 10407 10406 10286 -3 372 263 373 -3 15784 15923 15922 -3 12137 12117 11634 -3 163 268 7323 -3 3607 5473 16959 -3 50 245 16053 -3 16466 16467 50 -3 4792 11569 1382 -3 7321 7322 265 -3 10931 11057 11056 -3 10941 9199 7894 -3 11072 11199 9686 -3 7893 8775 10700 -3 8140 7812 8029 -3 10572 10333 10332 -3 7966 8081 7965 -3 10818 10572 10332 -3 7502 7616 7501 -3 8192 8191 8080 -3 10949 8342 7776 -3 7731 7730 7615 -3 16165 16163 16020 -3 9759 10123 127 -3 9619 9618 9502 -3 8654 8441 8007 -3 10089 10207 10088 -3 9503 9619 9502 -3 8784 10706 10594 -3 12318 12319 12404 -3 16537 16688 15559 -3 10725 10339 8158 -3 18378 19881 19882 -3 519 7342 520 -3 10339 9306 10220 -3 7639 7754 7638 -3 954 953 8006 -3 10892 11018 10891 -3 28952 28951 28818 -3 29106 29243 29105 -3 2246 2118 2247 -3 7039 6940 6941 -3 31080 11422 31143 -3 8319 8318 8210 -3 10089 10088 9971 -3 2876 3015 2875 -3 9850 9849 9734 -3 9972 10089 9971 -3 10041 10159 10040 -3 9735 9850 9734 -3 12322 12321 12236 -3 8007 9213 11218 -3 8724 8723 8616 -3 5694 12648 12561 -3 9486 9602 9601 -3 8723 8724 8830 -3 7563 8958 7562 -3 9485 9486 9601 -3 7696 10511 8880 -3 10773 8477 10501 -3 10747 7217 7794 -3 8773 7696 8880 -3 10870 11219 8250 -3 11244 10747 8869 -3 11219 10810 7398 -3 10810 7761 7398 -3 7761 10810 1056 -3 10810 2929 1056 -3 8736 10870 7560 -3 2929 7647 10387 -3 10870 8250 7560 -3 11219 7398 8250 -3 9573 8736 10726 -3 10710 10224 10127 -3 11191 9573 11064 -3 9662 10710 11224 -3 10974 7920 7687 -3 8736 7560 10726 -3 9755 10747 7794 -3 7217 10987 10860 -3 7794 7217 10860 -3 10987 9013 8373 -3 10860 10987 8373 -3 9013 7916 7767 -3 11160 11286 11285 -3 8373 9013 7767 -3 11159 11160 11285 -3 11286 7356 7740 -3 10905 10906 11031 -3 10906 11032 11031 -3 11032 11159 11158 -3 11031 11032 11158 -3 821 11394 11390 -3 10351 10131 8905 -3 7426 11355 11002 -3 10654 10778 10653 -3 7373 7485 7372 -3 11151 11277 11276 -3 8601 8602 8708 -3 6096 8310 5964 -3 35780 35460 14177 -3 7712 7827 7826 -3 10248 10595 8993 -3 10248 7690 10595 -3 35402 35422 35777 -3 9743 11334 1980 -3 9082 9190 10948 -3 9514 10507 10948 -3 10536 10535 10415 -3 10416 10536 10415 -3 10296 10295 10176 -3 10177 10296 10176 -3 10059 10058 9941 -3 9942 10059 9941 -3 9711 9826 9710 -3 9942 9941 9825 -3 9711 9710 9594 -3 9595 9711 9594 -3 8483 11971 16988 -3 9826 9825 9710 -3 9768 10690 9915 -3 9768 9915 4102 -3 10211 9105 10690 -3 9768 10211 10690 -3 8242 9631 9105 -3 10211 8242 9105 -3 8242 10034 10152 -3 9631 8242 10152 -3 10034 10712 10711 -3 10152 10034 10711 -3 9444 10742 10711 -3 10712 9444 10711 -3 9444 8266 8371 -3 10742 9444 8371 -3 8266 7676 11337 -3 8371 8266 11337 -3 7676 9328 9442 -3 11337 7676 9442 -3 9328 9745 8370 -3 9442 9328 8370 -3 9745 9892 10374 -3 8370 9745 10374 -3 9892 7108 7109 -3 10374 9892 7109 -3 11653 11733 11732 -3 14761 7108 9892 -3 11577 32565 32564 -3 11652 11653 11732 -3 8043 10574 10567 -3 35671 35641 35819 -3 21647 35923 35698 -3 10567 10574 9882 -3 7825 7826 7941 -3 15702 15701 10148 -3 526 412 413 -3 8224 11120 9286 -3 11237 11111 8008 -3 9080 8758 10095 -3 9368 9369 9483 -3 9606 9722 9605 -3 9084 8658 7215 -3 9784 10030 9900 -3 7650 9755 7554 -3 7687 8142 10885 -3 10670 10669 10547 -3 10670 10794 10669 -3 9295 11326 9172 -3 1069 5414 16850 -3 7939 8054 7938 -3 8273 8272 8164 -3 8929 9036 8928 -3 20705 20787 20786 -3 20628 20709 20627 -3 22911 23010 22910 -3 21122 21978 21121 -3 1882 212 8350 -3 6512 9769 6395 -3 35843 35449 35794 -3 8530 8637 8529 -3 8423 8530 8529 -3 9325 13387 9651 -3 9264 9376 9375 -3 8422 8423 8529 -3 11908 11992 11907 -3 9491 9607 9490 -3 10333 11199 11072 -3 8398 8505 8504 -3 20709 20791 20790 -3 10332 10333 11072 -3 7616 7731 7615 -3 8081 8080 7965 -3 11907 11906 11820 -3 12240 12325 12239 -3 9468 9469 9584 -3 9283 8255 7218 -3 9735 9734 9618 -3 9619 9735 9618 -3 18536 20940 20860 -3 7936 8051 1250 -3 10456 10336 6637 -3 7771 7656 597 -3 9144 9143 9035 -3 9827 9943 9942 -3 10411 10412 10531 -3 11370 11369 11186 -3 10270 10014 8126 -3 10443 10740 8677 -3 9054 9162 9053 -3 9271 9270 9161 -3 20628 20627 20545 -3 12237 12236 12153 -3 9966 10083 9965 -3 22902 22903 23001 -3 9850 9966 9965 -3 9849 9850 9965 -3 9235 9347 9346 -3 10083 10082 9965 -3 10492 11082 10150 -3 6955 7054 7053 -3 8617 8616 8509 -3 11991 11990 11906 -3 9718 9717 9601 -3 8617 8724 8616 -3 9671 7563 9527 -3 9602 9718 9601 -3 9564 8776 10511 -3 10512 10501 8952 -3 92 6965 11064 -3 7696 9564 10511 -3 11289 11290 92 -3 9573 10726 11064 -3 10914 11040 11039 -3 6965 11191 11064 -3 10789 10914 10913 -3 10788 10789 10913 -3 10543 10665 10664 -3 10542 10543 10664 -3 10665 10789 10788 -3 10664 10665 10788 -3 11040 11167 11039 -3 11293 11292 11166 -3 11167 11293 11166 -3 11293 8251 10573 -3 8251 7895 8887 -3 11292 11293 10573 -3 10785 10786 10910 -3 10573 8251 8887 -3 10661 10662 10785 -3 10911 11037 11036 -3 10539 10540 10661 -3 10786 10911 10910 -3 10420 10540 10419 -3 10662 10786 10785 -3 7916 7691 8039 -3 10540 10662 10661 -3 10906 10907 11032 -3 7767 7916 8039 -3 11033 11160 11159 -3 11032 11033 11159 -3 11158 11159 11284 -3 11159 11285 11284 -3 11142 10351 8905 -3 11073 11142 11074 -3 11277 228 8883 -3 10778 10903 10902 -3 9625 11394 5190 -3 9586 9702 9701 -3 35506 35895 28993 -3 8057 8058 8168 -3 7711 7712 7826 -3 9355 9470 9469 -3 5183 10815 5316 -3 7943 8058 8057 -3 11971 8483 11974 -3 8811 8812 8918 -3 10823 9514 10948 -3 9333 9316 9191 -3 10416 10415 10295 -3 10296 10416 10295 -3 7272 7271 7164 -3 12572 13789 16774 -3 7495 7609 7608 -3 7383 7382 7271 -3 7724 7839 7838 -3 7494 7495 7608 -3 7955 8070 8069 -3 7723 7724 7838 -3 8070 8181 8180 -3 7954 7955 8069 -3 12248 12247 12164 -3 3314 5983 8038 -3 11266 10211 9768 -3 8998 11266 9768 -3 8480 8242 10211 -3 11266 8480 10211 -3 8480 8635 10034 -3 8242 8480 10034 -3 8635 8973 10712 -3 10034 8635 10712 -3 9559 9444 10712 -3 8973 9559 10712 -3 9559 8267 8266 -3 9444 9559 8266 -3 8267 9540 7676 -3 8266 8267 7676 -3 9540 9329 9328 -3 7676 9540 9328 -3 9329 8353 9745 -3 9328 9329 9745 -3 8353 9891 9892 -3 9745 8353 9892 -3 3199 7923 3200 -3 1836 1844 1845 -3 13986 443 13889 -3 14204 14302 14203 -3 8735 11261 14301 -3 3201 3199 8442 -3 1157 7849 7733 -3 13769 13675 13097 -3 9600 9599 9483 -3 7564 7563 9671 -3 20546 20628 20545 -3 29224 29223 29086 -3 8444 7896 8445 -3 35439 35421 35897 -3 14314 10853 14313 -3 8008 7892 13387 -3 8451 10098 7588 -3 11208 10032 10469 -3 10178 10177 10059 -3 8373 7767 9505 -3 10526 10512 8958 -3 10469 9199 10941 -3 10794 10793 10669 -3 10428 10548 10427 -3 6949 7048 7047 -3 10697 10821 10456 -3 7823 7939 7822 -3 8165 8164 8053 -3 7493 7494 7607 -3 8714 8715 8821 -3 5983 4099 9227 -3 10761 4228 10637 -3 13642 13643 13740 -3 18933 1977 28187 -3 8211 8319 8210 -3 314 209 7039 -3 895 896 1015 -3 9578 9694 9693 -3 8315 8316 8422 -3 7869 7985 7868 -3 8096 8097 8207 -3 8208 8316 8315 -3 10786 10787 10911 -3 8207 8208 8315 -3 11199 9003 9686 -3 8303 1626 1743 -3 7966 7965 7849 -3 9003 10844 5201 -3 7382 7494 7493 -3 7608 7723 7722 -3 2124 159 4800 -3 10041 10040 9923 -3 10201 10200 10082 -3 10083 10201 10082 -3 10201 10320 10200 -3 10320 10319 10200 -3 10320 10440 10319 -3 10440 10439 10319 -3 35628 35892 35395 -3 35531 35706 35534 -3 35438 35502 35588 -3 10682 10681 10559 -3 10681 10682 10805 -3 10682 10806 10805 -3 10805 10806 10930 -3 10806 10931 10930 -3 10930 10931 11056 -3 13587 7460 10807 -3 10844 10100 9636 -3 8612 8613 8719 -3 10642 10641 10519 -3 5201 10844 9636 -3 7381 7382 7493 -3 10641 10642 10765 -3 8188 8296 8187 -3 7494 7608 7607 -3 9833 9832 9717 -3 8510 8617 8509 -3 7647 9671 10387 -3 9718 9833 9717 -3 11163 11164 11289 -3 8958 8952 7562 -3 11036 11037 11163 -3 11290 6965 92 -3 8541 10863 7062 -3 11164 11290 11289 -3 11167 11166 11039 -3 11376 8541 7062 -3 29695 28879 27553 -3 10913 10914 11039 -3 19937 34074 18512 -3 7279 7278 7171 -3 19800 19798 30555 -3 7390 7389 7278 -3 29228 29229 29365 -3 27516 27634 27633 -3 22828 9063 2477 -3 13813 13814 13911 -3 3040 7671 2517 -3 21754 21607 21424 -3 12638 12732 12548 -3 23013 23012 22913 -3 7895 8541 11376 -3 22912 23011 22911 -3 4380 814 9511 -3 8887 7895 11376 -3 11326 11200 4380 -3 9510 10104 10021 -3 9511 9510 10021 -3 814 9510 9511 -3 10300 10420 10299 -3 10104 7567 7566 -3 7691 8796 7809 -3 10540 10539 10419 -3 10782 10781 10657 -3 8039 7691 7809 -3 7740 7145 11284 -3 10658 10782 10657 -3 8111 11073 10478 -3 11386 10571 10570 -3 8372 7426 11002 -3 11142 8905 11074 -3 9354 9355 9469 -3 10777 10778 10902 -3 7910 9323 8032 -3 9470 9586 9585 -3 8142 7910 8032 -3 10935 9678 9323 -3 10935 8873 9678 -3 9597 9713 9712 -3 8919 9026 9025 -3 10704 10581 8980 -3 8058 8169 8168 -3 9025 9026 9133 -3 10177 10176 10058 -3 10059 10177 10058 -3 7272 7383 7271 -3 7495 7494 7382 -3 9830 9946 9945 -3 9829 9830 9945 -3 9599 9715 9714 -3 9598 9599 9714 -3 9368 9483 9482 -3 9367 9368 9482 -3 9368 9367 9255 -3 9256 9368 9255 -3 10440 14188 10559 -3 22195 24398 26245 -3 11215 11139 11266 -3 8998 11215 11266 -3 11139 6982 8480 -3 11266 11139 8480 -3 6982 7447 8635 -3 8480 6982 8635 -3 8311 8973 8635 -3 7447 8311 8635 -3 9443 9559 8973 -3 8311 9443 8973 -3 9443 6985 8267 -3 9559 9443 8267 -3 6985 11312 9540 -3 8267 6985 9540 -3 11312 7332 9329 -3 9540 11312 9329 -3 7332 9744 8353 -3 9329 7332 8353 -3 1621 1407 7569 -3 8353 9744 9891 -3 13300 13212 13019 -3 13212 13415 12568 -3 13212 12568 13019 -3 13415 3594 12568 -3 13722 13721 13623 -3 12068 12150 12149 -3 9864 5962 5830 -3 410 409 7235 -3 9369 9370 9484 -3 6950 7049 7048 -3 9057 9165 9056 -3 8648 7642 8044 -3 11224 10710 10127 -3 795 7667 1521 -3 11273 11272 11146 -3 7463 5585 5451 -3 6882 6949 6881 -3 10135 8544 10956 -3 15508 15509 15643 -3 10060 10178 10059 -3 9041 9149 9040 -3 10918 11044 10917 -3 10793 10792 10668 -3 10548 10547 10427 -3 10926 10925 10800 -3 9848 9964 9847 -3 420 310 311 -3 8054 8053 7938 -3 7607 7608 7722 -3 7723 7838 7837 -3 10561 10683 14188 -3 9346 9347 9461 -3 9577 9578 9693 -3 9462 9578 9577 -3 9461 9462 9577 -3 8316 8423 8422 -3 7982 8097 8096 -3 8747 8854 8746 -3 1859 10492 10150 -3 9686 9003 5201 -3 9425 8971 10818 -3 7722 7723 7837 -3 7954 7953 7837 -3 9365 9480 9364 -3 7380 7381 7492 -3 12678 12767 12677 -3 8840 8947 8839 -3 14105 14201 14200 -3 27314 27296 26474 -3 35841 3985 9451 -3 14006 14007 14104 -3 10635 10648 11184 -3 10649 2248 9689 -3 9067 9089 10635 -3 10648 11196 11184 -3 7658 7659 9067 -3 9089 10648 10635 -3 10955 11011 7658 -3 7659 9089 9067 -3 10100 11011 10955 -3 9636 10100 10955 -3 7838 7954 7837 -3 11011 7659 7658 -3 7954 8069 8068 -3 26475 27314 26474 -3 8403 8402 8295 -3 11020 11019 10893 -3 9949 9948 9832 -3 8296 8403 8295 -3 9671 9527 10387 -3 9833 9949 9832 -3 10910 10911 11036 -3 7563 7562 9527 -3 9197 9294 9295 -3 11037 11164 11163 -3 7062 10863 10839 -3 10839 9197 9295 -3 20780 20781 9063 -3 10863 9197 10839 -3 8775 11258 10697 -3 9781 8673 8566 -3 8514 8513 8406 -3 7776 14065 13028 -3 8300 8299 8191 -3 8192 8300 8191 -3 8407 8406 8299 -3 8300 8407 8299 -3 8514 8621 8513 -3 8728 8727 8620 -3 8621 8728 8620 -3 8835 8834 8727 -3 8728 8835 8727 -3 8942 8941 8834 -3 8835 8942 8834 -3 9049 9048 8941 -3 14011 14109 14108 -3 35595 35914 28993 -3 9130 9239 9238 -3 9129 9130 9238 -3 14410 15823 1212 -3 8699 8698 8591 -3 34757 34758 21648 -3 10926 11052 11051 -3 10021 10104 7566 -3 7543 7544 485 -3 10063 10181 10180 -3 7567 8988 8987 -3 7470 8156 7809 -3 10062 10063 10180 -3 10536 10658 10657 -3 6364 6491 6490 -3 11367 11386 10570 -3 10535 10536 10657 -3 10532 10533 10654 -3 10571 8759 8084 -3 11204 11078 11355 -3 10655 10779 10778 -3 10523 10645 10522 -3 7153 7260 7259 -3 9480 9481 9596 -3 8913 9020 9019 -3 7950 8065 7949 -3 19453 12543 7414 -3 8504 8505 8611 -3 3179 35575 27753 -3 9134 9243 9242 -3 8719 8718 8611 -3 9826 9942 9825 -3 8490 8491 8597 -3 7383 7495 7382 -3 7609 7724 7723 -3 9715 9830 9829 -3 9714 9715 9829 -3 10358 10238 10614 -3 9206 10358 10614 -3 12157 12156 12074 -3 9206 10237 10358 -3 12353 12352 12267 -3 11665 11745 11664 -3 2369 8949 2368 -3 338 5203 2903 -3 4501 809 4502 -3 12288 14086 11703 -3 11267 10025 6982 -3 11139 11267 6982 -3 8672 7447 6982 -3 10025 8672 6982 -3 11027 8311 7447 -3 8672 11027 7447 -3 9330 9443 8311 -3 11027 9330 8311 -3 9330 9557 6985 -3 9443 9330 6985 -3 9557 8743 11312 -3 6985 9557 11312 -3 8743 8259 7332 -3 11312 8743 7332 -3 8259 7348 9744 -3 7332 8259 9744 -3 1273 458 3344 -3 7348 8261 7347 -3 6508 1273 3344 -3 8900 159 458 -3 10957 9120 10363 -3 1273 8900 458 -3 35097 35098 6929 -3 7448 398 7336 -3 8161 8162 8269 -3 524 410 411 -3 1482 1365 8161 -3 2107 8627 1983 -3 9103 8995 8130 -3 10209 10210 13907 -3 575 574 10858 -3 9869 8765 9084 -3 7907 7555 7786 -3 8700 8701 8807 -3 7933 8767 9317 -3 9934 9933 9817 -3 3959 10513 4093 -3 5279 18382 14630 -3 10951 10469 10941 -3 10308 10428 10427 -3 9148 9149 9257 -3 11044 11043 10917 -3 9964 10081 9963 -3 20469 20468 20384 -3 12841 11889 35532 -3 13625 13626 13723 -3 9096 9095 9064 -3 21649 21648 34887 -3 8669 8151 9095 -3 9096 8669 9095 -3 1133 1015 7935 -3 9694 9809 9808 -3 1711 8585 1710 -3 15509 15644 15643 -3 2050 19295 19190 -3 27754 17317 28336 -3 1625 8303 8302 -3 136 10457 13976 -3 9213 10102 7679 -3 7820 7936 7935 -3 8441 8654 9794 -3 9663 9459 10940 -3 7751 7866 7750 -3 11995 12076 11994 -3 12767 12766 12677 -3 7982 7981 7865 -3 7734 8971 9425 -3 12955 12956 13049 -3 9167 7734 9425 -3 8971 10572 10818 -3 2151 17012 17176 -3 3976 8146 6124 -3 792 516 10485 -3 22053 6896 27503 -3 9257 9256 9147 -3 16001 16002 16143 -3 10438 10558 10437 -3 9580 9696 9695 -3 10315 10314 10195 -3 10558 10557 10437 -3 10615 10618 10568 -3 8879 8986 8767 -3 8189 8297 8188 -3 9016 9017 9125 -3 8987 10592 8981 -3 11118 15904 7583 -3 20908 27371 20829 -3 35376 35528 11409 -3 7846 7845 7730 -3 1506 132 799 -3 8510 8509 8402 -3 7731 7846 7730 -3 10066 10065 9948 -3 8403 8510 8402 -3 8071 8182 8181 -3 9949 10066 9948 -3 7956 8071 8070 -3 8070 8071 8181 -3 9295 9294 11326 -3 7955 7956 8070 -3 8592 8699 8591 -3 9294 11200 11326 -3 8699 8806 8805 -3 8698 8699 8805 -3 9378 9493 9377 -3 7370 7369 7258 -3 8621 8620 8513 -3 9609 9608 9492 -3 10884 7734 9167 -3 8407 8514 8406 -3 11303 10884 10757 -3 10757 10884 9167 -3 11177 11303 11302 -3 11302 11303 10757 -3 11177 11176 11049 -3 11176 11177 11302 -3 11050 11049 10923 -3 11050 11177 11049 -3 10924 10923 10798 -3 10924 11050 10923 -3 8942 9049 8941 -3 10799 10924 10798 -3 9157 9156 9048 -3 9049 9157 9048 -3 9266 9265 9156 -3 9157 9266 9156 -3 9956 9955 9839 -3 9840 9956 9839 -3 10073 10072 9955 -3 9956 10073 9955 -3 13720 13721 13818 -3 10073 10191 10190 -3 7566 7567 8987 -3 21481 21756 15468 -3 9946 10063 10062 -3 8470 10493 10973 -3 9711 9712 9826 -3 9945 9946 10062 -3 9364 9363 9251 -3 1135 7440 8452 -3 10570 10571 8084 -3 9252 9364 9251 -3 10412 10413 10532 -3 7155 7262 7261 -3 7055 7159 7158 -3 10533 10655 10654 -3 10196 10315 10195 -3 7371 7483 7370 -3 33606 33605 33486 -3 35898 35743 35527 -3 28137 11512 17574 -3 10896 10771 4371 -3 9596 9597 9712 -3 3711 3306 8986 -3 7260 7371 7259 -3 7483 7482 7370 -3 7608 7609 7723 -3 7839 7955 7954 -3 9483 9599 9598 -3 9482 9483 9598 -3 10238 10358 7196 -3 14104 14200 14103 -3 12769 12861 12860 -3 12768 12769 12860 -3 14189 9303 14258 -3 12539 12544 7456 -3 28018 26494 26493 -3 11656 11736 11655 -3 3721 9908 2224 -3 10861 10944 7920 -3 30475 30476 5741 -3 33451 4797 3927 -3 8667 8672 10025 -3 9908 8667 10025 -3 9391 11027 8672 -3 8667 9391 8672 -3 9219 9330 11027 -3 9391 9219 11027 -3 9219 7305 9557 -3 9330 9219 9557 -3 7305 11198 8743 -3 9557 7305 8743 -3 11198 8261 8259 -3 8743 11198 8259 -3 15956 7347 15159 -3 8259 8261 7348 -3 1993 9759 7462 -3 11334 9639 10744 -3 11910 11909 11823 -3 31640 31552 31641 -3 12662 12465 13213 -3 24850 25177 25178 -3 8898 10367 9229 -3 4496 11014 4630 -3 8758 10846 10095 -3 816 4265 7812 -3 8585 8586 1948 -3 21501 33930 35730 -3 28721 27754 6862 -3 28678 28810 29290 -3 35915 27896 29221 -3 17669 30734 21381 -3 7497 7611 7496 -3 30204 27407 21753 -3 9307 10130 8336 -3 8640 8639 8532 -3 8176 8284 8175 -3 8391 8390 8283 -3 10793 10918 10792 -3 30204 28476 27407 -3 9149 9258 9257 -3 9760 7564 9671 -3 428 318 319 -3 12936 9647 12031 -3 7149 7256 7148 -3 35801 35762 35693 -3 787 9332 3466 -3 7045 7149 7148 -3 9178 9177 9070 -3 6489 8792 6488 -3 26617 31554 26618 -3 10117 8441 9794 -3 7694 10859 7579 -3 10321 10202 10322 -3 9802 7312 8243 -3 11364 35436 35943 -3 4782 4648 3991 -3 13627 13725 13626 -3 7981 7982 8096 -3 8667 9908 3721 -3 7866 7982 7865 -3 8097 8208 8207 -3 9365 9366 9480 -3 7636 7751 7635 -3 9481 9597 9596 -3 8612 8719 8611 -3 8826 8825 8718 -3 33231 7521 7520 -3 1290 4380 6893 -3 4768 11271 4902 -3 7751 7750 7635 -3 10553 10675 10674 -3 11724 11193 9233 -3 10553 10552 10432 -3 10552 10553 10674 -3 10433 10432 10312 -3 10433 10553 10432 -3 10076 10194 10075 -3 10313 10433 10312 -3 10313 10312 10193 -3 10194 10313 10193 -3 9265 9266 9377 -3 9266 9378 9377 -3 7907 9781 8566 -3 8673 7801 7424 -3 8077 8188 8076 -3 8296 8295 8187 -3 7962 8077 7961 -3 8188 8187 8076 -3 7962 7961 7845 -3 7846 7962 7845 -3 10184 10303 10183 -3 8077 8076 7961 -3 10184 10183 10065 -3 10066 10184 10065 -3 8181 8182 8289 -3 10303 10302 10183 -3 7536 10827 11192 -3 8182 8290 8289 -3 15210 12466 15083 -3 7883 7556 8037 -3 12588 12678 12587 -3 11200 814 4380 -3 12296 13028 12382 -3 11660 11659 11584 -3 9725 9724 9608 -3 9609 9725 9608 -3 9843 9959 9842 -3 9493 9609 9492 -3 9728 9843 9727 -3 10076 10075 9958 -3 13691 35464 35682 -3 9959 9958 9842 -3 9651 10857 10732 -3 10401 10521 10400 -3 3318 5037 4902 -3 7669 7329 11388 -3 8813 8814 8920 -3 31550 31476 26517 -3 10395 10396 10515 -3 11034 11161 11160 -3 777 659 778 -3 10396 10516 10515 -3 10675 10799 10798 -3 8158 10220 10451 -3 9496 9612 9495 -3 10674 10675 10798 -3 9381 9496 9380 -3 9728 9727 9611 -3 9381 9380 9268 -3 9612 9611 9495 -3 9269 9381 9268 -3 9496 9495 9380 -3 10310 10309 10190 -3 10072 10073 10190 -3 13290 13960 21505 -3 10672 10796 10671 -3 10849 8470 10973 -3 12861 12954 12953 -3 8825 8824 8717 -3 9206 10614 10493 -3 10853 12814 10362 -3 8718 8825 8717 -3 9143 9252 9251 -3 8610 8609 8502 -3 7154 7155 7261 -3 9142 9143 9251 -3 10292 10293 10412 -3 8920 8919 8812 -3 7054 7055 7158 -3 10413 10533 10532 -3 7482 7596 7595 -3 7266 7265 7158 -3 7354 7143 10704 -3 11001 8036 9767 -3 11023 11150 11022 -3 12135 35697 11719 -3 7143 9767 10704 -3 8821 8928 8927 -3 7838 7839 7954 -3 8069 8070 8180 -3 9256 9255 9146 -3 9147 9256 9146 -3 8117 10358 14828 -3 12947 13041 13040 -3 3060 7324 8115 -3 30425 19344 18375 -3 10921 11047 10920 -3 11174 11173 11046 -3 11299 11300 11264 -3 11047 11174 11046 -3 8307 9548 10816 -3 9786 9548 8307 -3 11381 35551 1022 -3 11023 11022 10896 -3 14017 14016 13918 -3 8128 179 68 -3 8005 9391 8667 -3 9908 10025 2224 -3 8005 9110 9219 -3 9391 8005 9219 -3 9110 8338 7305 -3 9219 9110 7305 -3 8338 10992 11198 -3 7305 8338 11198 -3 10992 7343 8261 -3 11198 10992 8261 -3 11377 11250 16514 -3 8261 7343 7347 -3 3200 2633 1753 -3 7923 13986 8977 -3 12070 12152 12151 -3 12069 12070 12151 -3 12765 12766 12857 -3 13209 12659 12292 -3 5192 16034 1845 -3 10514 4094 10513 -3 7607 7606 7492 -3 5309 5443 5308 -3 26578 26226 26083 -3 8586 8693 1948 -3 12417 12416 12330 -3 9125 9126 9234 -3 8575 9216 1253 -3 3296 3295 3156 -3 10098 10748 7588 -3 4640 4641 4774 -3 10400 10399 10279 -3 518 7341 519 -3 10889 11015 10888 -3 10291 10292 10411 -3 483 597 7656 -3 10307 10308 10427 -3 10178 10297 10177 -3 8934 9041 8933 -3 31044 31043 30982 -3 8456 8327 8345 -3 10150 10940 8327 -3 8346 8456 8345 -3 10130 1506 799 -3 9196 10460 9088 -3 10021 9760 6893 -3 8725 8724 8617 -3 15378 15509 15508 -3 16796 14474 14456 -3 10117 9794 10713 -3 10334 10354 9459 -3 7636 7635 7521 -3 9663 10334 9459 -3 9518 12293 11076 -3 15250 15378 15377 -3 15245 15373 14158 -3 17012 5348 5482 -3 15249 15250 15377 -3 10565 5178 5312 -3 17176 17012 5482 -3 5832 5964 9864 -3 67 670 669 -3 7866 7865 7750 -3 10940 9459 8249 -3 12295 15763 15225 -3 28434 28556 28433 -3 6881 6880 34463 -3 8105 8104 7989 -3 23531 20821 27060 -3 7990 8105 7989 -3 11082 9663 10150 -3 29654 29655 29787 -3 9018 9019 9126 -3 7669 10221 8254 -3 26797 19039 26930 -3 10874 9794 9523 -3 8618 8725 8617 -3 10081 10080 9963 -3 9959 10076 9958 -3 10194 10193 10075 -3 7049 7153 7152 -3 9493 9492 9377 -3 5173 5039 9225 -3 8566 8673 7424 -3 35825 35937 35436 -3 10303 10423 10422 -3 9244 9243 9134 -3 10302 10303 10422 -3 8813 8920 8812 -3 10543 10542 10422 -3 6951 7050 7049 -3 10423 10543 10422 -3 9817 9933 9816 -3 1056 2929 10387 -3 12121 35904 11875 -3 8397 8396 8289 -3 6894 9910 10145 -3 10827 7883 11192 -3 129 2787 6894 -3 10491 7590 7589 -3 8434 10943 8762 -3 9910 10491 10145 -3 9725 9840 9724 -3 10816 8434 8762 -3 9612 9728 9611 -3 9840 9839 9724 -3 21657 29550 21656 -3 9843 9842 9727 -3 10081 10199 10080 -3 35329 33666 35199 -3 26618 31553 26516 -3 1754 10240 5061 -3 10760 8784 10594 -3 27061 28376 28375 -3 7790 9196 8240 -3 28126 27167 30204 -3 30097 30098 19797 -3 10706 7624 7620 -3 9926 10043 10042 -3 9196 9088 8240 -3 9046 9154 9153 -3 7953 8068 7952 -3 7060 4913 11282 -3 9695 9810 9809 -3 8481 1714 8588 -3 10451 5829 7819 -3 26852 26901 29134 -3 7631 7630 7516 -3 630 7450 7451 -3 7746 7745 7630 -3 8838 8837 8730 -3 8945 8944 8837 -3 8731 8730 8623 -3 8731 8838 8730 -3 10921 10920 10795 -3 8624 8731 8623 -3 10598 10607 7086 -3 10796 10921 10795 -3 8470 9206 10493 -3 7695 10101 9984 -3 8718 8717 8610 -3 10555 10677 10554 -3 8503 8610 8502 -3 8611 8718 8610 -3 9143 9142 9034 -3 8717 8716 8609 -3 7485 7484 7372 -3 9035 9143 9034 -3 10173 10174 10292 -3 432 545 8222 -3 7159 7266 7158 -3 10293 10413 10412 -3 9592 9708 9591 -3 9823 9822 9707 -3 7629 7516 7630 -3 6951 7049 6950 -3 8606 8607 8713 -3 8714 8821 8820 -3 8289 8288 8180 -3 9038 9037 8930 -3 8290 8397 8289 -3 8504 8503 8396 -3 12946 12947 13040 -3 12953 13047 13046 -3 13163 13162 13068 -3 25428 24204 22199 -3 11174 11300 11299 -3 11173 11174 11299 -3 8624 8623 8516 -3 8517 8624 8516 -3 8410 8409 8302 -3 8303 8410 8302 -3 12046 11965 13775 -3 19929 17720 17999 -3 12394 6139 6008 -3 12221 10373 9882 -3 11335 10589 8005 -3 10025 11267 2224 -3 10589 9002 9110 -3 8005 10589 9110 -3 9002 8256 8338 -3 9110 9002 8338 -3 8256 9979 10992 -3 8338 8256 10992 -3 9979 8268 7343 -3 10992 9979 7343 -3 14528 16514 11250 -3 7343 8268 11377 -3 12949 12950 13043 -3 11523 11590 11522 -3 13138 13139 15527 -3 13043 13044 13137 -3 12950 13044 13043 -3 443 2907 13889 -3 9028 9136 9027 -3 4093 4094 4227 -3 10172 10173 10291 -3 8819 8818 8711 -3 35619 35896 28346 -3 409 410 523 -3 10435 10555 10434 -3 10587 11224 11268 -3 6793 7577 7474 -3 26624 35818 26735 -3 11297 11298 11208 -3 7725 7726 7840 -3 11717 26231 13123 -3 9652 7559 11237 -3 10764 10889 10888 -3 10763 10764 10888 -3 35613 35553 35490 -3 7664 7665 9099 -3 8981 10526 8958 -3 7554 7794 10735 -3 955 954 8006 -3 9245 9357 9356 -3 9088 7326 9780 -3 8240 9088 9780 -3 8024 8443 10102 -3 10249 9321 10130 -3 10677 10801 10800 -3 1445 1444 17172 -3 3989 5554 4926 -3 8216 8215 8104 -3 8105 8216 8104 -3 256 7313 257 -3 10519 10641 10518 -3 8324 8323 8215 -3 8910 8909 8802 -3 8216 8324 8215 -3 22712 22713 22811 -3 35725 27286 35462 -3 4279 4411 15761 -3 947 14567 828 -3 16069 246 16191 -3 5482 5348 14735 -3 16691 1889 1070 -3 15062 16691 16687 -3 23308 23307 23209 -3 5048 4913 7060 -3 8498 8605 8497 -3 9617 9733 9616 -3 5057 9306 1387 -3 35488 35501 35471 -3 8431 8430 8323 -3 8324 8431 8323 -3 8538 8537 8430 -3 8431 8538 8430 -3 10417 10416 10296 -3 8645 8644 8537 -3 8164 8272 8163 -3 1283 1282 1166 -3 31689 31688 31593 -3 26517 31476 26518 -3 35229 11392 7684 -3 7037 7038 313 -3 10618 8651 10568 -3 9160 9269 9159 -3 8350 7933 9317 -3 7826 7827 7942 -3 7598 7713 7712 -3 432 2125 545 -3 7484 7598 7597 -3 7483 7484 7597 -3 7484 7483 7371 -3 7372 7484 7371 -3 7154 7261 7260 -3 7153 7154 7260 -3 9670 7175 9784 -3 7261 7372 7260 -3 10050 10049 9932 -3 9933 10050 9932 -3 10407 10527 10406 -3 9713 9828 9827 -3 6948 6949 7047 -3 10145 10491 7589 -3 8057 8168 8167 -3 7625 7655 9015 -3 8347 7554 10611 -3 10943 10330 10234 -3 10179 10178 10060 -3 11197 7805 8030 -3 25209 2819 2678 -3 7554 10735 10611 -3 9722 9837 9836 -3 35547 35637 35921 -3 10912 10913 11038 -3 10043 10161 10042 -3 8538 8645 8537 -3 35850 35701 35568 -3 8752 8751 8644 -3 8645 8752 8644 -3 8859 8858 8751 -3 8752 8859 8751 -3 8859 8966 8965 -3 8858 8859 8965 -3 8966 9073 9072 -3 8965 8966 9072 -3 9073 9181 9180 -3 9072 9073 9180 -3 10782 10783 10907 -3 10168 10169 10287 -3 10511 7142 7533 -3 35620 35680 35787 -3 9258 9370 9257 -3 10783 10908 10907 -3 7861 7860 7745 -3 7631 7746 7630 -3 35479 35826 6876 -3 9414 10238 8258 -3 8258 7196 10027 -3 7503 7617 7502 -3 10804 10929 10928 -3 8233 7547 11324 -3 11047 11046 10920 -3 9961 10078 9960 -3 9005 10607 10598 -3 8141 1291 10980 -3 8939 8938 8831 -3 8992 9005 10598 -3 8397 8504 8396 -3 6637 1950 10760 -3 8610 8717 8609 -3 8611 8610 8503 -3 8820 8821 8927 -3 8824 8823 8716 -3 29104 29103 28968 -3 8928 9035 9034 -3 8711 8710 8603 -3 11242 10015 73 -3 8818 8817 8710 -3 8604 8711 8603 -3 2841 4636 2440 -3 1384 6262 3057 -3 8178 8286 8177 -3 8286 8393 8392 -3 8931 9038 8930 -3 9145 9146 9254 -3 7610 7725 7724 -3 7609 7610 7724 -3 12952 12953 13046 -3 7733 7618 1039 -3 7590 9005 8992 -3 7589 7590 8992 -3 11300 9786 11264 -3 11264 9786 8307 -3 8517 8516 8409 -3 8410 8517 8409 -3 35467 35527 35828 -3 11906 11990 11989 -3 11335 3721 3591 -3 11585 11584 11517 -3 35581 35785 35840 -3 9389 9388 9276 -3 22344 14628 21569 -3 16044 10734 7583 -3 15878 11564 35722 -3 11564 22534 35722 -3 35791 15878 35722 -3 9002 8895 8256 -3 8895 8137 8256 -3 8256 8137 9979 -3 14612 9648 8137 -3 9979 9648 8268 -3 10817 10498 9675 -3 14823 9648 15969 -3 12069 12151 12150 -3 14202 14201 14105 -3 12675 12676 12764 -3 12857 12950 12949 -3 12659 12662 13213 -3 12765 12857 12856 -3 9704 9819 9818 -3 8605 8712 8604 -3 12239 12238 12155 -3 9027 9026 8919 -3 9822 9938 9937 -3 14114 14113 14015 -3 7603 7604 7718 -3 10677 10676 10554 -3 8170 8171 8278 -3 8706 8813 8812 -3 9490 9606 9489 -3 11325 10686 8451 -3 8009 8008 13483 -3 7559 7197 9080 -3 11015 11014 10888 -3 11237 7559 9080 -3 7360 7474 7586 -3 10397 10398 10517 -3 10381 12925 11619 -3 10566 7665 7664 -3 11144 11143 11016 -3 2126 1387 9306 -3 10713 8147 7326 -3 9088 10713 7326 -3 10249 10130 9307 -3 8443 10249 9307 -3 35731 11894 12038 -3 31641 31552 31553 -3 18608 23324 18962 -3 6989 11256 9680 -3 7758 35880 35609 -3 9180 9181 9289 -3 13199 13294 5418 -3 12672 12761 12760 -3 10044 10162 10043 -3 8511 8618 8510 -3 13995 13996 10467 -3 8574 3989 4123 -3 1845 2711 5192 -3 181 19528 180 -3 21111 21199 21110 -3 15764 15761 14557 -3 28983 21637 21729 -3 14735 16069 16191 -3 7333 7222 7334 -3 15061 15062 16687 -3 8302 8194 1625 -3 15110 15111 15236 -3 1715 8484 8590 -3 13775 2493 12128 -3 13295 2620 2764 -3 9019 9127 9126 -3 23721 24850 25178 -3 28676 28624 27296 -3 340 14189 14258 -3 35775 35790 35564 -3 2209 2517 6519 -3 13826 13825 13727 -3 33487 33606 33486 -3 11082 10808 9663 -3 9257 9369 9256 -3 11208 10469 10951 -3 7861 7977 7976 -3 34281 34419 34280 -3 7159 7160 7266 -3 35768 35420 35452 -3 8918 9025 9024 -3 7048 7152 7151 -3 35722 14562 35801 -3 7703 10885 8032 -3 8821 8822 8928 -3 8607 8608 8714 -3 8715 8822 8821 -3 8500 8501 8607 -3 8608 8715 8714 -3 8393 8394 8500 -3 21649 34887 21650 -3 8286 8287 8393 -3 9242 9354 9353 -3 20010 20327 15734 -3 11024 11151 11150 -3 9700 9701 9815 -3 9213 7679 11218 -3 11023 11024 11150 -3 8550 6739 8460 -3 10897 10898 11023 -3 9620 9619 9503 -3 11272 3191 11271 -3 7977 8092 8091 -3 9504 9620 9503 -3 9954 9953 9837 -3 26695 26807 26806 -3 7790 8240 10334 -3 9370 9369 9257 -3 4097 17029 7465 -3 8007 11218 9523 -3 9235 9236 9347 -3 9096 1642 9317 -3 11147 11273 11146 -3 9348 9463 9462 -3 9351 9466 9465 -3 22519 22618 22518 -3 9144 9253 9143 -3 10065 10064 9947 -3 10645 10769 10768 -3 9573 11347 8736 -3 10829 10870 8736 -3 27180 11667 27063 -3 13041 13042 13135 -3 7732 7731 7616 -3 10321 10320 10201 -3 10202 10321 10201 -3 10078 10077 9960 -3 9578 9579 9694 -3 11327 10830 10717 -3 10980 11327 10717 -3 10607 7695 7086 -3 2787 9910 6894 -3 35609 35447 35822 -3 9082 10948 11073 -3 8504 8611 8503 -3 7839 7840 7955 -3 8717 8824 8716 -3 8931 8930 8823 -3 8927 8928 9034 -3 8713 8714 8820 -3 6613 6487 8792 -3 35621 35610 35444 -3 9753 9338 7764 -3 8120 8978 8229 -3 13413 13416 9641 -3 13812 13910 13909 -3 8067 8178 8066 -3 8286 8285 8177 -3 9255 9367 9366 -3 9597 9598 9713 -3 35862 35805 35924 -3 3015 9575 9691 -3 9980 11784 8556 -3 9324 10129 8245 -3 7818 8449 10335 -3 10455 6962 6963 -3 9548 8434 10816 -3 10717 10830 7625 -3 9039 9040 9147 -3 10803 10804 10928 -3 7378 7377 7266 -3 7604 7719 7718 -3 35460 35508 35844 -3 11078 7420 10952 -3 11376 7062 8326 -3 9485 9601 9600 -3 5178 11187 5044 -3 10858 73 10015 -3 13913 14011 14010 -3 13912 13913 14010 -3 14206 14304 14205 -3 340 4258 14189 -3 4258 340 14303 -3 14304 4258 14303 -3 12032 10376 4786 -3 15338 22935 14244 -3 23418 23223 16014 -3 6520 2124 1051 -3 12235 12320 12234 -3 14106 14202 14105 -3 12857 12858 12950 -3 11992 11991 11907 -3 2491 7776 13028 -3 11822 11908 11821 -3 35187 6906 35186 -3 8596 8597 8703 -3 10514 10515 10636 -3 8168 8169 8276 -3 11111 11369 11370 -3 24358 24278 24524 -3 9651 13387 7892 -3 10983 11111 11370 -3 11355 9757 10580 -3 8279 8386 8385 -3 9722 9721 9605 -3 11298 10032 11208 -3 8395 8502 8394 -3 9946 9947 10063 -3 7197 7798 8758 -3 7798 7811 8758 -3 10277 10278 10397 -3 10398 10518 10517 -3 9837 9953 9836 -3 10070 10069 9952 -3 10765 10766 10890 -3 11017 11144 11016 -3 10713 9794 10874 -3 8147 10713 10874 -3 13456 13455 13360 -3 28722 28856 6409 -3 13920 13919 13821 -3 14185 3735 8344 -3 35939 35401 35888 -3 805 806 924 -3 11359 9421 10339 -3 7059 11489 11555 -3 8543 11359 10725 -3 27016 27017 27133 -3 4193 25597 4192 -3 9716 9715 9599 -3 10936 8543 9339 -3 11314 35539 11692 -3 9421 9306 10339 -3 31600 31695 31599 -3 17466 17388 17467 -3 6913 7012 7011 -3 7011 7115 7114 -3 7012 7116 7115 -3 7011 7012 7115 -3 7116 7223 7222 -3 7115 7116 7222 -3 7333 396 395 -3 7223 7334 7222 -3 7516 7629 7514 -3 11760 11759 11678 -3 11258 10821 10697 -3 9145 9144 9036 -3 10189 10188 10070 -3 10956 8544 8648 -3 8334 10340 4932 -3 10088 10206 10087 -3 11359 10339 10725 -3 4932 9865 10497 -3 9865 7886 10497 -3 7886 10936 10497 -3 10088 10087 9970 -3 9971 10088 9970 -3 20204 20205 20290 -3 7860 7861 7976 -3 10159 10158 10040 -3 10251 7668 10988 -3 10168 10167 10049 -3 10050 10168 10049 -3 9025 9133 9132 -3 9133 9242 9241 -3 10885 7703 8991 -3 10885 8142 8032 -3 9511 10021 6893 -3 9900 10885 8991 -3 7711 7826 7825 -3 7566 7564 9760 -3 9702 9817 9816 -3 7710 7711 7825 -3 8234 11390 9625 -3 9701 9702 9816 -3 1712 8586 1711 -3 7668 7218 10988 -3 8130 8995 8107 -3 7382 7381 7270 -3 9620 9736 9619 -3 27550 20865 14088 -3 9971 9970 9854 -3 9736 9735 9619 -3 7467 13973 13583 -3 35655 35654 35773 -3 10936 9339 10497 -3 13908 14006 14005 -3 7438 10340 7553 -3 8543 10725 9339 -3 9666 7438 9550 -3 10340 9865 4932 -3 11051 11052 11178 -3 10340 8334 7553 -3 10821 10336 10456 -3 9733 9848 9732 -3 8051 8162 8161 -3 11052 11179 11178 -3 8272 8379 8271 -3 6377 6378 6504 -3 378 491 7549 -3 8379 8486 8485 -3 9682 10492 3720 -3 9307 8336 7253 -3 11181 11182 11307 -3 10750 10451 7397 -3 10014 10443 8126 -3 6939 34720 6940 -3 13998 14096 10323 -3 10441 10440 10320 -3 10642 10766 10765 -3 35889 35354 35678 -3 10830 7655 7625 -3 10421 10420 10300 -3 10335 10455 6963 -3 9059 10625 10624 -3 11281 9980 8556 -3 6962 2787 129 -3 7725 7840 7839 -3 11192 7883 8037 -3 8824 8931 8823 -3 7724 7725 7839 -3 9125 9234 2471 -3 9146 9145 9037 -3 8234 11095 2356 -3 33608 33735 33607 -3 519 7341 7342 -3 4909 11278 4775 -3 35397 35438 35817 -3 15049 16669 16664 -3 13987 13986 7923 -3 13265 13361 13264 -3 9714 9829 9828 -3 9713 9714 9828 -3 10683 14190 14288 -3 8484 8485 8591 -3 8459 10977 11117 -3 11604 11679 11603 -3 7719 7834 7833 -3 7377 7378 7489 -3 7655 9059 9015 -3 8232 10348 10338 -3 10541 10663 10540 -3 9807 9808 9923 -3 19735 18005 5198 -3 10441 10561 10440 -3 9383 9382 9270 -3 9271 9383 9270 -3 34754 21736 34627 -3 6248 9563 9448 -3 33390 33503 33389 -3 73 10858 574 -3 429 430 544 -3 13400 13314 11696 -3 12080 12079 11998 -3 11999 12080 11998 -3 14093 9683 9303 -3 4258 14093 14189 -3 13096 13669 14087 -3 14189 14093 9303 -3 1753 2367 13096 -3 12946 13040 12945 -3 11903 11904 11987 -3 12068 12069 12150 -3 14106 14105 14007 -3 14300 14299 14201 -3 11988 12069 12068 -3 12675 12764 12763 -3 8130 8107 11186 -3 10515 10637 10636 -3 35538 10603 5425 -3 10095 8130 11186 -3 9084 7215 11268 -3 8008 11111 10983 -3 10199 10318 10198 -3 10594 10706 7620 -3 4650 11345 18630 -3 9900 8991 11363 -3 21465 21466 11513 -3 34931 34930 34801 -3 8502 8501 8394 -3 9947 10064 10063 -3 8782 9103 10846 -3 7811 8782 10846 -3 10278 10277 10158 -3 10159 10278 10158 -3 10788 10913 10912 -3 10787 10788 10912 -3 10891 11017 11016 -3 10890 10891 11016 -3 7357 11323 7350 -3 16014 23223 23412 -3 12220 13020 7810 -3 13822 13920 13821 -3 14018 14017 13919 -3 12581 12582 12671 -3 22717 22716 22617 -3 28612 28624 30365 -3 35555 35487 35399 -3 30624 14651 14560 -3 9691 9806 3156 -3 8032 8970 9682 -3 7703 8032 9682 -3 10460 10117 10713 -3 21307 35933 35766 -3 13607 13409 4796 -3 11018 11145 11144 -3 8240 9780 10354 -3 34139 34277 34138 -3 34139 34138 34002 -3 17269 26406 11452 -3 17317 21657 27406 -3 7013 7117 7116 -3 7011 6912 6913 -3 7117 7224 7223 -3 7116 7117 7223 -3 35508 35750 35789 -3 29821 35796 27956 -3 11519 11586 11518 -3 2336 9016 2471 -3 9323 9211 8970 -3 8032 9323 8970 -3 7746 7861 7745 -3 11115 7669 11388 -3 5309 9083 10445 -3 27160 27279 27278 -3 10334 8240 10354 -3 10537 10536 10416 -3 1655 15362 7569 -3 12982 25650 13076 -3 10206 10205 10087 -3 9678 7795 9211 -3 9389 9504 9388 -3 9504 9503 9388 -3 7397 7819 7474 -3 9136 9135 9027 -3 9933 9932 9816 -3 9172 10810 11219 -3 3976 120 5042 -3 9132 9133 9241 -3 10513 3959 3960 -3 10412 10532 10531 -3 8704 8705 8811 -3 10531 10532 10653 -3 10955 7658 7657 -3 8812 8919 8918 -3 9650 9651 10732 -3 10886 10955 7657 -3 8995 11115 8889 -3 10787 10912 10911 -3 1827 1948 1947 -3 22835 35901 35878 -3 8421 8422 1992 -3 489 376 490 -3 8315 8422 8421 -3 10580 9757 7469 -3 11045 11172 11044 -3 8314 8315 8421 -3 35398 9633 35677 -3 10518 10640 10639 -3 8325 8324 8216 -3 8216 8105 8217 -3 8432 8431 8324 -3 8325 8432 8324 -3 34887 21648 34758 -3 8539 8538 8431 -3 8234 9625 11096 -3 17467 22236 6912 -3 8626 1982 8627 -3 11191 11317 9573 -3 9942 9943 10059 -3 11296 11297 8144 -3 9323 9678 9211 -3 7481 7482 7595 -3 8432 8539 8431 -3 8980 9308 7795 -3 8646 8645 8538 -3 8539 8646 8538 -3 8753 8752 8645 -3 8646 8753 8645 -3 8860 8859 8752 -3 29685 35931 35829 -3 7750 7865 7749 -3 8096 8095 7980 -3 7981 7980 7864 -3 7865 7981 7864 -3 12243 12328 12242 -3 7201 7313 151 -3 8654 8007 9523 -3 14007 14105 14104 -3 9015 9059 10624 -3 10625 8232 10353 -3 6963 6962 129 -3 10304 10305 10424 -3 7556 10129 9324 -3 8037 7556 9324 -3 7840 7956 7955 -3 9712 9827 9826 -3 9038 9146 9037 -3 9146 9255 9254 -3 11163 11289 11288 -3 11036 11163 11035 -3 11289 92 695 -3 11162 11163 11288 -3 92 11064 10702 -3 11288 11289 695 -3 10726 9795 10702 -3 695 92 10702 -3 9829 9945 9944 -3 9828 9829 9944 -3 10522 10644 10521 -3 10644 10643 10521 -3 12062 12144 8106 -3 9678 8980 7795 -3 9556 7415 8435 -3 10271 11194 11067 -3 10353 8232 10338 -3 9764 7882 9765 -3 35721 35887 35654 -3 10452 11184 10349 -3 10320 10321 10441 -3 9299 8367 8254 -3 7635 7750 7634 -3 7865 7864 7749 -3 8860 8967 8966 -3 8859 8860 8966 -3 8967 9074 9073 -3 1400 1399 1283 -3 15273 24999 23783 -3 12411 12410 12324 -3 11825 11824 11740 -3 12325 12411 12324 -3 11586 11661 11585 -3 2498 2497 2087 -3 13096 2367 13669 -3 12855 12856 12948 -3 10092 13519 13496 -3 14008 14106 14007 -3 14300 14301 130 -3 11987 11988 12068 -3 12674 12675 12763 -3 13230 13135 13136 -3 14008 14007 13909 -3 9821 9822 9937 -3 8995 8889 8107 -3 9353 9354 9468 -3 9818 9934 9817 -3 35460 35772 35508 -3 9045 9046 9153 -3 35816 35575 21488 -3 10280 10400 10279 -3 2784 2649 2785 -3 8426 8533 8425 -3 9831 9830 9715 -3 9600 9716 9599 -3 2360 9221 459 -3 8715 8716 8822 -3 10251 10988 9103 -3 8481 8588 8587 -3 10278 10398 10397 -3 8782 10251 9103 -3 9117 8902 10382 -3 10382 8902 10385 -3 10382 8899 9117 -3 7468 10845 9117 -3 8899 11323 7357 -3 9117 8899 7357 -3 7417 8990 559 -3 7417 7350 11323 -3 20722 20723 18273 -3 12819 11872 12727 -3 9398 10864 2742 -3 13148 3176 11786 -3 7635 7634 7520 -3 7520 7519 33336 -3 8966 8967 9073 -3 9074 9182 9181 -3 8851 2378 2247 -3 8765 10612 8658 -3 26231 26090 13123 -3 32964 33070 32963 -3 9073 9074 9181 -3 4632 4631 11014 -3 35807 35825 35576 -3 19807 22138 22137 -3 8450 9769 6512 -3 7013 7116 7012 -3 26406 19140 11452 -3 7014 7118 7117 -3 7013 7014 7117 -3 7118 7225 7224 -3 7117 7118 7224 -3 28991 27956 35796 -3 35747 35460 35844 -3 35714 35862 35412 -3 4360 4227 4228 -3 10581 10722 9308 -3 11872 13148 11786 -3 6082 18495 16190 -3 7658 9067 9066 -3 30928 30927 30873 -3 28745 35504 29008 -3 7005 14827 10237 -3 29659 29658 29520 -3 11881 11965 5418 -3 1386 15927 15788 -3 8670 35823 35833 -3 8754 8647 12576 -3 28371 30096 30095 -3 28371 28374 30096 -3 27060 27061 28375 -3 13896 13612 3176 -3 35362 35782 35697 -3 10818 10332 10331 -3 10694 10818 10331 -3 7167 9425 10694 -3 7712 7711 7596 -3 9168 9167 7167 -3 7483 7597 7596 -3 8912 9019 9018 -3 9425 10818 10694 -3 3318 4902 11271 -3 9127 9236 9235 -3 8980 10581 9308 -3 21657 21656 27406 -3 10729 11210 10722 -3 13774 20821 23531 -3 14307 8048 10467 -3 8179 8180 8287 -3 8048 13995 10467 -3 5059 1027 5193 -3 35464 10004 35640 -3 2106 9976 9974 -3 2517 1855 6519 -3 10581 10729 10722 -3 8326 7062 10829 -3 7358 7699 11210 -3 14020 14021 14118 -3 8206 8207 8314 -3 5039 5173 5038 -3 11785 9120 10957 -3 7976 7977 8091 -3 8091 8092 1634 -3 11162 11161 11034 -3 1517 1634 1633 -3 8092 8203 1634 -3 11035 11162 11034 -3 8161 1365 1250 -3 10729 7358 11210 -3 11722 12113 12136 -3 7385 7384 7273 -3 8207 8315 8314 -3 7595 7596 7710 -3 29495 27024 29633 -3 7981 8096 7980 -3 3179 12111 10709 -3 7341 518 7340 -3 10734 16044 9417 -3 6548 6673 6672 -3 6409 35535 35846 -3 8336 799 9421 -3 9017 9016 8909 -3 212 7933 8350 -3 9299 10743 8367 -3 8939 9046 8938 -3 11049 11176 11048 -3 11033 11034 11160 -3 10624 10625 10353 -3 11176 11302 11301 -3 10186 10305 10185 -3 7358 7649 7574 -3 10129 8459 8245 -3 10305 10425 10424 -3 7581 10967 7696 -3 7844 7843 7728 -3 9397 7581 8773 -3 10967 9564 7696 -3 9408 9301 8773 -3 7581 7696 8773 -3 9420 9535 9408 -3 9301 9397 8773 -3 8439 7575 8119 -3 9535 9301 9408 -3 7699 7358 7574 -3 11365 9535 9420 -3 13338 13339 13757 -3 10498 9789 9675 -3 11399 12557 12899 -3 10014 11309 10457 -3 28219 27754 28721 -3 7170 7169 7065 -3 11295 7415 9556 -3 11294 11295 9556 -3 8127 10011 14286 -3 11497 13209 12292 -3 9066 9067 10634 -3 10635 11184 10452 -3 14308 9801 8048 -3 12956 13050 13049 -3 8053 8164 8052 -3 8158 10451 10750 -3 7253 11359 8543 -3 7679 7253 8543 -3 8149 8976 5961 -3 4784 20570 17103 -3 11658 11657 11582 -3 12590 12589 12499 -3 13719 13817 13816 -3 13817 13915 13816 -3 13718 13719 13816 -3 13915 13914 13816 -3 13915 14013 14012 -3 13914 13915 14012 -3 14111 14110 14012 -3 14013 14111 14012 -3 14207 14206 14110 -3 14111 14207 14110 -3 14207 14305 14304 -3 14206 14207 14304 -3 1171 4104 10985 -3 14112 14113 14208 -3 8887 11376 11347 -3 314 313 7038 -3 8608 8609 8715 -3 10573 8887 7769 -3 9716 9831 9715 -3 9831 9947 9946 -3 9490 9489 9374 -3 11317 8887 11347 -3 9884 8650 7893 -3 9199 9884 7893 -3 8640 8747 8639 -3 11371 11065 11325 -3 5190 5324 2353 -3 8219 11065 11371 -3 10382 10385 8342 -3 8342 14065 7776 -3 8436 10382 8342 -3 10949 8436 8342 -3 8436 9171 8899 -3 10382 8436 8899 -3 9171 11310 11323 -3 8899 9171 11323 -3 8990 7417 11323 -3 11310 8990 11323 -3 2106 1136 9976 -3 11867 155 9532 -3 22338 23229 22436 -3 8384 8491 8490 -3 7750 7749 7634 -3 11224 10587 8036 -3 8336 9421 11359 -3 7259 7258 7151 -3 7253 8336 11359 -3 10970 669 7693 -3 6800 6263 10475 -3 10004 8332 13610 -3 11473 11472 11422 -3 7704 9741 7878 -3 14017 14115 14016 -3 16806 5000 15116 -3 35840 35593 35581 -3 28076 28219 28721 -3 6916 7015 7014 -3 6915 6916 7014 -3 7015 7119 7118 -3 7014 7015 7118 -3 7119 7226 7225 -3 7118 7119 7225 -3 7226 7337 7336 -3 7225 7226 7336 -3 19253 19255 5541 -3 18142 5493 5629 -3 314 7039 315 -3 7342 7231 406 -3 10332 11072 10822 -3 10331 10332 10822 -3 6147 9176 15888 -3 8696 8695 8588 -3 7920 7910 8142 -3 30607 6915 7013 -3 1521 5865 321 -3 8014 3191 11272 -3 8312 1868 1752 -3 64 7168 8677 -3 29137 29138 29143 -3 11145 11271 4768 -3 9838 9837 9722 -3 9848 9847 9732 -3 8976 5962 5961 -3 7747 7746 7631 -3 7632 7747 7631 -3 7862 7861 7746 -3 7747 7862 7746 -3 7236 7237 411 -3 7978 7977 7861 -3 9721 9722 9836 -3 14996 14256 3192 -3 10280 10279 10160 -3 9701 9816 9815 -3 20989 21075 27606 -3 9607 9723 9606 -3 9386 9385 9273 -3 6738 6613 8460 -3 7592 7707 897 -3 9165 9274 9164 -3 7582 7697 8148 -3 9617 9616 9500 -3 7582 11336 7697 -3 7351 10135 10956 -3 9851 9967 9850 -3 9809 9810 9925 -3 9851 9850 9735 -3 9736 9851 9735 -3 10973 10848 9775 -3 9967 9966 9850 -3 9269 9268 9159 -3 8071 8072 8182 -3 8945 9052 8944 -3 9160 9159 9051 -3 8838 8945 8837 -3 9052 9160 9051 -3 7770 9867 10843 -3 9052 9051 8944 -3 10202 10201 10083 -3 14162 12571 12818 -3 10084 10083 9966 -3 10084 10202 10083 -3 8096 8207 8206 -3 9967 10084 9966 -3 9810 9926 9925 -3 8095 8096 8206 -3 9501 9617 9500 -3 8584 7586 11088 -3 11317 11347 9573 -3 22124 22220 22123 -3 10860 8373 9447 -3 7564 8981 7563 -3 8910 9017 8909 -3 9562 7928 8564 -3 9139 9138 9030 -3 8404 8403 8296 -3 11049 11048 10922 -3 7803 10474 6670 -3 24068 23240 29947 -3 10923 11049 10922 -3 10186 10185 10067 -3 10753 7365 7574 -3 7729 7844 7728 -3 10068 10186 10067 -3 9372 9487 9486 -3 7844 7960 7959 -3 9487 9603 9602 -3 9371 9372 9486 -3 9719 9718 9602 -3 9486 9487 9602 -3 9834 9833 9718 -3 9603 9719 9602 -3 9950 9949 9833 -3 9719 9834 9718 -3 10067 10066 9949 -3 9834 9950 9833 -3 10185 10184 10066 -3 9950 10067 9949 -3 7649 10753 7574 -3 10067 10185 10066 -3 7415 10271 8435 -3 7169 7276 11633 -3 14118 14119 14214 -3 11169 11295 11294 -3 10634 10635 10452 -3 10105 5041 12837 -3 11020 11147 11146 -3 7657 7658 9066 -3 8600 8707 8599 -3 10516 10517 10638 -3 9826 9827 9942 -3 10103 8584 7528 -3 8981 8958 7563 -3 8395 8394 8287 -3 27141 17317 27754 -3 35453 35457 35517 -3 12413 12502 12412 -3 12502 12592 12501 -3 12327 12413 12326 -3 12592 12591 12501 -3 12242 12327 12241 -3 12502 12501 12412 -3 12242 12241 12158 -3 12413 12412 12326 -3 12159 12242 12158 -3 12327 12326 12241 -3 14305 10564 14304 -3 10564 4258 14304 -3 20926 27865 20846 -3 13584 11060 12720 -3 11292 10573 11291 -3 17446 12371 33704 -3 1070 1889 1445 -3 9375 9490 9374 -3 21812 28817 28950 -3 3716 11242 73 -3 7754 7753 7638 -3 6617 6618 6742 -3 8652 10754 7675 -3 7559 9652 14185 -3 8652 8249 8356 -3 10754 8652 8356 -3 8950 9057 8949 -3 9057 9056 8949 -3 7882 10949 9765 -3 2493 9765 7776 -3 7927 8436 10949 -3 7882 7927 10949 -3 7927 8018 9171 -3 8436 7927 9171 -3 6973 11310 9171 -3 8018 6973 9171 -3 11119 8990 11310 -3 6973 11119 11310 -3 937 7587 7812 -3 34412 34411 34273 -3 9686 5201 6891 -3 8277 8384 8383 -3 10944 8766 10935 -3 29243 29380 29379 -3 23397 21027 23396 -3 7785 10103 8564 -3 8379 8378 8271 -3 33401 33400 33291 -3 12660 12820 3340 -3 10467 10564 14305 -3 13389 13883 13882 -3 28219 27141 27754 -3 14221 665 14220 -3 11500 4792 11800 -3 4648 670 6634 -3 6848 6915 29281 -3 35688 35669 35506 -3 6361 6488 6360 -3 21682 3487 21589 -3 7016 7120 7119 -3 7015 7016 7119 -3 7120 7227 7226 -3 7119 7120 7226 -3 7227 7338 7337 -3 7226 7227 7337 -3 5629 19311 18142 -3 7338 7450 7337 -3 2136 21657 17317 -3 20627 20626 20544 -3 10674 10798 10797 -3 10673 10674 10797 -3 11179 11305 11304 -3 7632 7631 7517 -3 11002 10580 8224 -3 15457 15456 15069 -3 7837 7953 7836 -3 9985 7364 7365 -3 6504 6503 6377 -3 10753 9985 7365 -3 2356 2205 2490 -3 11095 11096 9340 -3 7513 7514 7627 -3 7763 9516 3060 -3 4094 10636 4227 -3 27141 2136 17317 -3 7212 163 7323 -3 10538 10660 10537 -3 9234 9235 9346 -3 10765 10890 10889 -3 9087 8551 7364 -3 10161 10280 10160 -3 9985 9087 7364 -3 11113 10986 8551 -3 9087 11113 8551 -3 9782 9668 10986 -3 6416 6541 6415 -3 11113 9782 10986 -3 10102 9307 7253 -3 8550 8460 8792 -3 974 5825 5690 -3 9386 9501 9385 -3 10808 7790 10334 -3 10103 7528 8564 -3 10521 10643 10642 -3 10460 10713 9088 -3 14200 14298 14199 -3 7675 8344 8652 -3 8072 8183 8182 -3 7381 7493 7492 -3 10430 10550 10549 -3 10298 10418 10297 -3 10191 10310 10190 -3 10430 10429 10309 -3 10310 10430 10309 -3 9815 9816 9931 -3 10429 10430 10549 -3 9026 9134 9133 -3 10672 10671 10549 -3 10550 10672 10549 -3 8078 8077 7962 -3 10796 10795 10671 -3 8441 8774 8007 -3 7847 7963 7846 -3 14109 14205 14204 -3 11175 11176 11301 -3 6376 7540 6377 -3 10532 10654 10653 -3 35566 35925 35815 -3 7607 7722 7721 -3 8378 8379 8485 -3 11045 11044 10918 -3 8870 9864 5830 -3 10517 10518 10639 -3 9970 10087 9969 -3 2505 9058 8951 -3 10205 10204 10086 -3 10087 10205 10086 -3 15070 15461 15331 -3 7944 8059 8058 -3 11176 11175 11048 -3 10923 10922 10797 -3 9782 347 9668 -3 9037 9145 9036 -3 10305 10304 10185 -3 10068 10067 9950 -3 7843 7844 7959 -3 7960 8075 8074 -3 8187 8186 8075 -3 8076 8187 8075 -3 7961 7960 7844 -3 7845 7961 7844 -3 7615 7614 7500 -3 7501 7615 7500 -3 7501 7500 7388 -3 7389 7501 7388 -3 7389 7388 7277 -3 7278 7389 7277 -3 7468 9117 7357 -3 7278 7277 7170 -3 10304 10303 10184 -3 7171 7278 7170 -3 22034 33671 22035 -3 10185 10304 10184 -3 11168 11169 11294 -3 7275 11633 7276 -3 4098 8900 1273 -3 10916 11042 10915 -3 9067 10635 10634 -3 13715 13716 13813 -3 14216 14314 14215 -3 10552 10551 10431 -3 7586 10377 11088 -3 4239 10647 10525 -3 10497 7359 10235 -3 10087 10086 9969 -3 7811 10846 8758 -3 3181 3460 1726 -3 12416 12505 12415 -3 11644 11569 4792 -3 11793 7799 12196 -3 7872 11980 7989 -3 7799 12220 12219 -3 12196 7799 12219 -3 12220 7810 11484 -3 12219 12220 11484 -3 12159 12158 12076 -3 12077 12159 12076 -3 11742 11741 11661 -3 10564 13997 14093 -3 10725 8158 10329 -3 10339 10220 8158 -3 13626 13724 13723 -3 9339 10725 10329 -3 8912 8911 8804 -3 6246 9205 7510 -3 8805 8804 8697 -3 8805 8912 8804 -3 1715 8590 8589 -3 8698 8805 8697 -3 8698 8697 8590 -3 8591 8698 8590 -3 8249 9918 8356 -3 9918 9413 8356 -3 7157 7158 7264 -3 11218 7679 10936 -3 8525 7882 9764 -3 2493 9764 9765 -3 8328 7927 7882 -3 8525 8328 7882 -3 7557 8018 7927 -3 8328 7557 7927 -3 7557 9653 6973 -3 8018 7557 6973 -3 10605 11119 6973 -3 9653 10605 6973 -3 7425 8310 6096 -3 10605 8146 11119 -3 8276 8277 8383 -3 11637 11717 13123 -3 2673 21654 21652 -3 11072 9686 9220 -3 8584 11088 7528 -3 2672 2673 21652 -3 7679 8543 10936 -3 9970 9969 9853 -3 11560 7065 7169 -3 9789 13884 9520 -3 10158 10277 3699 -3 15174 5059 5193 -3 13919 13918 13820 -3 13919 14017 13918 -3 2117 1992 8529 -3 2118 8529 8637 -3 18617 26488 28985 -3 25239 25366 25667 -3 27177 29550 21657 -3 26672 26784 26783 -3 28190 29681 29545 -3 7017 7121 7120 -3 25004 11793 12196 -3 7121 7228 7227 -3 7120 7121 7227 -3 7228 7339 7338 -3 7227 7228 7338 -3 7451 7450 7338 -3 7339 7451 7338 -3 8011 6416 6417 -3 16034 3324 1845 -3 10312 10432 10311 -3 7367 659 544 -3 33444 7517 7516 -3 12158 12157 12075 -3 9854 9853 9738 -3 9739 9622 17169 -3 8695 8802 8801 -3 8540 8539 8432 -3 35572 35857 35706 -3 8647 8646 8539 -3 3223 21938 22032 -3 8647 8754 8646 -3 8539 8540 8647 -3 9139 9248 9138 -3 8533 8640 8532 -3 11711 29634 17262 -3 8747 8746 8639 -3 8968 9075 9074 -3 8967 8968 9074 -3 9075 9183 9182 -3 9074 9075 9182 -3 35561 22834 35417 -3 29126 17255 21294 -3 11965 11881 4922 -3 8111 9082 11073 -3 14005 14006 14103 -3 13624 13722 13623 -3 9480 9479 9364 -3 18929 20570 4784 -3 5825 7530 5824 -3 9512 8883 11189 -3 14119 14120 14215 -3 21652 21654 7293 -3 35559 35888 35748 -3 12673 12674 12762 -3 188 16692 17183 -3 10947 8896 10217 -3 439 12844 1254 -3 8762 10943 10234 -3 10330 10947 10946 -3 8201 8576 10031 -3 10234 10330 10946 -3 9660 10933 7681 -3 35597 35775 35564 -3 8765 8658 9084 -3 15069 15070 15331 -3 9520 2106 2105 -3 10224 9869 10127 -3 9984 10101 10031 -3 8576 8577 10031 -3 10217 8896 8141 -3 7086 7695 9984 -3 10946 10947 10217 -3 1291 11327 10980 -3 11302 10757 8549 -3 8896 1291 8141 -3 8092 8093 8203 -3 9727 9726 9610 -3 8869 9755 9407 -3 2204 9016 2336 -3 14113 14112 14014 -3 10160 10279 10159 -3 14306 14307 10467 -3 22131 22227 22226 -3 22130 22131 22226 -3 31630 31725 31629 -3 10070 10188 10069 -3 9322 8030 9101 -3 21028 21027 15457 -3 4501 5738 809 -3 10798 10923 10797 -3 10432 10552 10431 -3 10839 9295 9296 -3 10558 10680 10557 -3 9951 10068 9950 -3 9951 9950 9834 -3 7959 7960 8074 -3 8186 8185 8074 -3 8076 8075 7960 -3 7961 8076 7960 -3 9158 9157 9049 -3 9050 9158 9049 -3 9494 9493 9378 -3 9267 9266 9157 -3 9841 9840 9725 -3 9379 9494 9378 -3 9957 9956 9840 -3 9726 9841 9725 -3 10074 10073 9956 -3 9841 9957 9840 -3 7829 7830 7945 -3 9957 10074 9956 -3 10304 10424 10423 -3 33173 33172 33067 -3 7170 7277 7169 -3 10303 10304 10423 -3 11042 11169 11168 -3 7388 7387 7276 -3 7596 7711 7710 -3 11041 11042 11168 -3 9495 9611 9494 -3 26790 30623 30625 -3 35585 35526 35711 -3 9614 9613 9497 -3 10307 10306 10187 -3 9040 9148 9147 -3 2105 2106 9974 -3 35518 35809 35539 -3 12076 12158 12075 -3 12496 12495 12406 -3 24348 29432 24519 -3 13684 11646 8902 -3 40 103 13415 -3 14302 8735 14301 -3 11484 7810 13680 -3 7810 13583 13680 -3 11662 11742 11661 -3 11742 11826 11741 -3 9274 9273 9164 -3 13937 13936 13838 -3 35751 35868 35360 -3 7985 8100 7984 -3 28549 29144 28875 -3 8426 8425 8318 -3 1249 1250 1365 -3 6770 8029 4265 -3 659 7479 7478 -3 34354 6538 33692 -3 10390 9980 11281 -3 29516 29517 29654 -3 25402 19936 25259 -3 7822 7938 7821 -3 9432 7911 9413 -3 8484 8591 8590 -3 7896 8224 9286 -3 9918 9432 9413 -3 11090 8525 9879 -3 13775 9879 9764 -3 8041 8328 8525 -3 11090 8041 8525 -3 7572 7557 8328 -3 8041 7572 8328 -3 8047 9653 7557 -3 7572 8047 7557 -3 8555 10605 9653 -3 8047 8555 9653 -3 9988 8146 10605 -3 8555 9988 10605 -3 31553 31552 26516 -3 13884 13226 9520 -3 10822 11072 9220 -3 11149 11150 11275 -3 34555 34554 34417 -3 9611 9610 9494 -3 9854 9970 9853 -3 11461 33340 31651 -3 5832 9864 16218 -3 11182 11308 11307 -3 1625 8194 1509 -3 21198 21199 34244 -3 7899 913 7900 -3 35357 35685 14083 -3 6082 16190 6083 -3 13148 13896 3176 -3 3436 9923 10040 -3 2136 27177 21657 -3 27177 28482 29122 -3 15075 33459 33576 -3 30598 30597 30463 -3 30071 19909 19377 -3 19377 19909 28021 -3 7018 7122 7121 -3 7017 7018 7121 -3 7122 7229 7228 -3 7121 7122 7228 -3 7229 7340 7339 -3 7228 7229 7339 -3 7340 517 7339 -3 517 7451 7339 -3 2609 1385 4518 -3 9205 6246 8906 -3 9380 9379 9267 -3 27297 11747 27179 -3 14830 10454 14829 -3 8810 8811 8917 -3 9383 9498 9382 -3 11054 11055 11181 -3 9020 9128 9127 -3 4256 1384 7324 -3 9505 7767 10626 -3 11272 11271 11145 -3 11146 11272 11145 -3 10893 11019 10892 -3 11019 11146 11145 -3 484 598 483 -3 10768 10893 10767 -3 35583 35566 35652 -3 2107 2236 8733 -3 6946 34597 34598 -3 7493 7607 7492 -3 9308 9196 7790 -3 32617 32616 32507 -3 29550 27177 29122 -3 20307 17702 17607 -3 9220 9686 6891 -3 28482 29292 19038 -3 13684 13685 13414 -3 5201 9636 7995 -3 3073 3072 7967 -3 13042 13136 13135 -3 8435 10271 11067 -3 10338 10348 11221 -3 35410 35457 35453 -3 8449 10455 10335 -3 7770 7111 9867 -3 12296 12382 103 -3 10593 7111 7770 -3 10592 10593 7770 -3 8988 10593 10592 -3 7111 9868 9867 -3 10849 10973 9867 -3 8987 8988 10592 -3 12330 12416 12329 -3 9868 10849 9867 -3 10101 8201 10031 -3 12123 14165 13797 -3 8615 8616 8722 -3 8723 8830 8829 -3 6948 7047 7046 -3 8515 8514 8407 -3 8944 8943 8836 -3 8837 8944 8836 -3 8203 1752 1751 -3 9968 9967 9851 -3 914 913 7899 -3 8050 3451 5191 -3 11018 11019 11145 -3 10768 10767 10643 -3 11019 11018 10892 -3 10644 10768 10643 -3 8704 8811 8810 -3 8313 8314 8420 -3 10363 1993 7462 -3 9845 9844 9729 -3 10674 10673 10551 -3 8623 8622 8515 -3 10680 10679 10557 -3 10196 10195 10077 -3 9835 9951 9834 -3 8401 8402 8508 -3 8075 8186 8074 -3 8294 8293 8185 -3 7845 7844 7729 -3 7730 7845 7729 -3 9158 9267 9157 -3 9267 9379 9378 -3 163 7212 7213 -3 714 7771 715 -3 7963 7962 7846 -3 10973 10493 10848 -3 10231 11256 8195 -3 7732 7847 7731 -3 9961 9960 9844 -3 9845 9961 9844 -3 10192 10191 10073 -3 10219 10231 8195 -3 6947 6948 7046 -3 10074 10192 10073 -3 11881 12123 13797 -3 13896 12566 13612 -3 10801 10926 10800 -3 7047 7151 7150 -3 20722 18273 18272 -3 10864 7416 2342 -3 1481 1482 1598 -3 11465 11464 11414 -3 9498 9614 9497 -3 10085 10084 9967 -3 8206 8314 8313 -3 8205 8206 8313 -3 10893 10892 10767 -3 35619 35544 35761 -3 11415 11465 11414 -3 293 4794 795 -3 11597 11529 11530 -3 25314 23984 25177 -3 5191 3451 5695 -3 8843 4391 5333 -3 35796 35427 35541 -3 14176 14079 13680 -3 8807 8914 8913 -3 31596 31595 31508 -3 8592 8593 8699 -3 8806 8807 8913 -3 8700 8807 8806 -3 8699 8700 8806 -3 7938 7937 7821 -3 8913 8914 9020 -3 8832 8939 8831 -3 6412 34354 6411 -3 9296 9295 9172 -3 11326 4380 1290 -3 10861 8659 10944 -3 8826 8933 8825 -3 8053 8052 7937 -3 7056 7160 7159 -3 29122 28482 19038 -3 7938 8053 7937 -3 7830 7946 7945 -3 21929 21834 21835 -3 8448 11090 9878 -3 4922 9878 9879 -3 10262 8041 11090 -3 8448 10262 11090 -3 7573 7572 8041 -3 10262 7573 8041 -3 7813 8047 7572 -3 7573 7813 7572 -3 7813 8475 8555 -3 8047 7813 8555 -3 8475 9989 9988 -3 8555 8475 9988 -3 35875 35836 35899 -3 30786 23522 30785 -3 7239 414 413 -3 34010 34146 34009 -3 9495 9494 9379 -3 9380 9495 9379 -3 8378 8377 8270 -3 9968 10085 9967 -3 7979 7980 8094 -3 8095 8206 8205 -3 1844 16487 2711 -3 10522 10521 10401 -3 211 20921 1878 -3 35376 35353 35528 -3 13226 1136 2106 -3 9520 13226 2106 -3 24528 24515 24243 -3 25679 25780 24679 -3 29292 46 27168 -3 19038 29292 27168 -3 34004 34140 34003 -3 17761 19114 19327 -3 7120 7016 7017 -3 31434 31433 31366 -3 7019 7123 7122 -3 7018 7019 7122 -3 7123 7230 7229 -3 7122 7123 7229 -3 7230 7341 7340 -3 7229 7230 7340 -3 7897 8012 1145 -3 518 517 7340 -3 24236 25233 21606 -3 7286 9445 9641 -3 8302 8301 8193 -3 9268 9380 9267 -3 8703 8704 8810 -3 4368 4235 8998 -3 7864 7980 7863 -3 7980 8095 8094 -3 10402 10522 10401 -3 7980 7979 7863 -3 10163 10282 10162 -3 10402 10401 10281 -3 10045 10163 10044 -3 10282 10402 10281 -3 9927 9928 10044 -3 10282 10281 10162 -3 9811 9812 9927 -3 10163 10162 10044 -3 6391 11153 11026 -3 10283 10403 10282 -3 2845 9622 9621 -3 12568 3594 13309 -3 8093 8204 8203 -3 12082 12164 12081 -3 7862 7978 7861 -3 8093 8092 7977 -3 11301 11302 8549 -3 7978 8093 7977 -3 8597 8598 8704 -3 10757 9167 9168 -3 6891 5201 7995 -3 9636 10955 10886 -3 13042 13041 12947 -3 7995 9636 10886 -3 12674 12763 12762 -3 14113 14209 14208 -3 11194 9766 10738 -3 12763 12855 12854 -3 12505 12504 12415 -3 11067 11194 10738 -3 11586 11585 11518 -3 12245 12330 12244 -3 9039 9038 8931 -3 12416 12415 12329 -3 10181 10300 10180 -3 8932 9039 8931 -3 10300 10299 10180 -3 10420 10419 10299 -3 8932 8931 8824 -3 8825 8932 8824 -3 10508 11244 9564 -3 10967 10508 9564 -3 7046 7047 7150 -3 9260 9259 9150 -3 8509 8616 8615 -3 8508 8509 8615 -3 8408 8515 8407 -3 8622 8621 8514 -3 8623 8730 8622 -3 8837 8836 8729 -3 9852 9968 9851 -3 31232 31297 31231 -3 27057 27058 28371 -3 19494 19141 17305 -3 9928 10045 10044 -3 10523 10522 10402 -3 10403 10523 10402 -3 10735 10860 9447 -3 35388 35484 35621 -3 13297 4663 15608 -3 9730 9845 9729 -3 21475 13774 23531 -3 8302 8409 8301 -3 11270 11393 8234 -3 10078 10196 10077 -3 8516 8515 8408 -3 8402 8401 8294 -3 8836 8835 8728 -3 8186 8294 8185 -3 8295 8402 8294 -3 7730 7729 7614 -3 7615 7730 7614 -3 9266 9267 9378 -3 9610 9609 9493 -3 10178 10179 10297 -3 10418 10417 10297 -3 7945 8060 8059 -3 19298 5678 17948 -3 12082 12081 12000 -3 10912 11038 11037 -3 66 299 8346 -3 8911 8910 8803 -3 10680 10804 10679 -3 8083 9793 9114 -3 10311 10310 10191 -3 10804 10803 10679 -3 9168 7167 8434 -3 10192 10311 10191 -3 7167 10694 10943 -3 9548 9168 8434 -3 12375 13584 12454 -3 8883 11188 11189 -3 11823 11909 11822 -3 6871 10383 15427 -3 8952 10501 6380 -3 11909 11908 11822 -3 8314 8421 8420 -3 25447 24557 24024 -3 7258 7257 7150 -3 7827 7943 7942 -3 11353 9898 2475 -3 24584 20027 25358 -3 25258 25259 19936 -3 13333 13890 3041 -3 21021 21020 20937 -3 26229 26288 24153 -3 20858 20938 20937 -3 10663 10664 10787 -3 8914 9021 9020 -3 10541 10542 10663 -3 8349 7674 93 -3 10422 10542 10421 -3 10663 10787 10786 -3 10182 10183 10301 -3 10542 10664 10663 -3 7151 7258 7150 -3 10542 10541 10421 -3 7369 7368 7257 -3 7258 7369 7257 -3 7369 7481 7480 -3 7368 7369 7480 -3 10302 10422 10301 -3 7481 7595 7594 -3 8164 8163 8052 -3 10183 10302 10301 -3 27168 46 29010 -3 9021 9129 9128 -3 9399 8448 9877 -3 13797 9877 9878 -3 10028 10262 8448 -3 9399 10028 8448 -3 7688 7573 10262 -3 10028 7688 10262 -3 9672 7813 7573 -3 7688 9672 7573 -3 11195 8475 7813 -3 9672 11195 7813 -3 11195 7423 9989 -3 8475 11195 9989 -3 10356 9430 10476 -3 6672 6799 9430 -3 9430 6799 10476 -3 6672 9430 7432 -3 10220 4393 5829 -3 16954 559 16794 -3 10203 10202 10084 -3 7480 7481 7594 -3 8094 8095 8205 -3 9953 9952 9836 -3 7595 7710 7709 -3 7594 7595 7709 -3 7825 7824 7709 -3 6775 239 2795 -3 12682 12683 12771 -3 7256 7367 544 -3 12639 9085 23544 -3 23410 15365 23409 -3 29010 23955 29081 -3 24407 26388 26455 -3 33411 33410 33301 -3 32522 32521 32416 -3 6921 7020 7019 -3 27871 7017 11804 -3 7020 7124 7123 -3 7019 7020 7123 -3 7124 7231 7230 -3 7123 7124 7230 -3 7342 7341 7230 -3 7231 7342 7230 -3 218 4917 516 -3 13997 8570 9683 -3 1710 8585 1827 -3 3191 3318 11271 -3 11180 11306 11305 -3 11179 11180 11305 -3 8719 8720 8826 -3 9588 9704 9703 -3 9237 9238 9349 -3 7710 7825 7709 -3 7941 7940 7824 -3 7825 7941 7824 -3 8056 8055 7940 -3 7741 8550 8792 -3 9696 9697 9811 -3 8593 8592 8485 -3 8486 8593 8485 -3 7642 8219 8044 -3 7634 7633 7519 -3 8211 8210 8099 -3 9498 9497 9382 -3 7519 7518 33336 -3 2493 2491 12211 -3 12128 2493 12211 -3 11582 11657 11581 -3 13812 13715 13813 -3 17320 5733 30758 -3 7280 7279 7172 -3 7280 7391 7279 -3 7503 7502 7390 -3 10312 10311 10192 -3 11517 11516 32049 -3 8549 10757 9168 -3 10552 10674 10551 -3 9463 9579 9578 -3 9167 9425 7167 -3 9585 9701 9700 -3 12326 12325 12240 -3 13911 13912 14009 -3 2652 5869 5041 -3 10667 10791 10666 -3 10096 2652 5041 -3 9766 8449 7818 -3 10916 10915 10790 -3 8245 8459 11117 -3 10738 9766 7818 -3 7384 7383 7272 -3 35636 35393 35601 -3 9147 9146 9038 -3 7495 7496 7609 -3 7941 8056 7940 -3 9039 9147 9038 -3 8056 8167 8166 -3 8055 8056 8166 -3 8796 7470 7809 -3 8167 8275 8274 -3 9031 9139 9030 -3 7470 6984 7584 -3 10508 7766 10747 -3 8396 8503 8395 -3 9151 9260 9150 -3 13545 13643 13642 -3 8616 8723 8722 -3 9260 9372 9371 -3 8515 8622 8514 -3 2674 22040 21655 -3 8730 8837 8729 -3 8729 8728 8621 -3 11393 11390 8234 -3 8516 8623 8515 -3 28370 28371 30095 -3 7054 7158 7157 -3 4932 10497 10235 -3 7821 7937 7936 -3 9339 10329 7359 -3 8327 8652 8344 -3 8319 8426 8318 -3 8694 8695 8801 -3 28374 30097 30096 -3 9432 9666 7911 -3 7946 8061 8060 -3 10580 7469 11120 -3 8409 8516 8408 -3 8194 8302 8193 -3 8729 8836 8728 -3 8943 8942 8835 -3 8402 8509 8508 -3 8295 8294 8186 -3 7907 8566 8459 -3 10129 7907 8459 -3 9494 9610 9493 -3 9726 9725 9609 -3 9867 9775 10843 -3 7957 8072 7956 -3 9036 9035 8928 -3 9810 9811 9926 -3 8100 8099 7984 -3 9925 9926 10042 -3 35899 35622 35903 -3 7675 10754 7197 -3 10743 7360 8367 -3 7062 10839 10829 -3 10279 10278 10159 -3 9114 9115 7146 -3 12948 12947 12854 -3 7163 7162 7058 -3 13839 13937 13838 -3 12762 12763 12854 -3 10458 11196 5724 -3 11590 11665 11589 -3 9989 7423 7667 -3 13866 11615 4939 -3 11996 12077 11995 -3 12528 12527 12438 -3 913 912 7900 -3 11912 11911 11825 -3 3830 10396 10395 -3 23019 23117 23018 -3 8410 8303 1743 -3 13701 12208 11889 -3 23215 23214 23116 -3 19029 27413 28254 -3 27413 28251 28254 -3 20052 28682 21858 -3 24737 2807 24738 -3 27254 27372 27371 -3 8166 8167 8274 -3 10422 10421 10301 -3 8275 8382 8381 -3 8274 8275 8381 -3 8382 8489 8488 -3 7767 8039 10626 -3 8381 8382 8488 -3 8489 8596 8595 -3 8488 8489 8595 -3 8596 8703 8702 -3 7809 7694 10626 -3 8595 8596 8702 -3 9020 9021 9128 -3 6965 7769 11191 -3 14165 9993 9877 -3 9129 9238 9237 -3 8972 10028 9399 -3 11152 8972 9399 -3 8034 7688 10028 -3 8972 8034 10028 -3 7814 9672 7688 -3 8034 7814 7688 -3 7814 10470 11195 -3 9672 7814 11195 -3 10470 7537 7423 -3 11195 10470 7423 -3 7537 7783 7667 -3 7423 7537 7667 -3 8348 10756 7667 -3 7783 8348 7667 -3 5872 11059 5738 -3 193 38 1855 -3 8703 8810 8809 -3 11276 8883 9512 -3 10323 10203 10204 -3 8890 9894 8463 -3 9321 1506 10130 -3 10277 10397 10396 -3 24636 26813 26814 -3 10435 10434 10314 -3 311 7036 312 -3 12117 11484 13485 -3 60 20280 20279 -3 27253 27254 27371 -3 15278 15466 20645 -3 20622 2206 19277 -3 11403 11449 28009 -3 27646 27782 29272 -3 34549 34677 34548 -3 26831 11526 26719 -3 6922 7021 7020 -3 6920 6921 7019 -3 7021 7125 7124 -3 7020 7021 7124 -3 7125 7232 7231 -3 7124 7125 7231 -3 176 2935 13518 -3 34599 33796 22528 -3 28681 28946 30600 -3 4509 4508 4374 -3 8218 8548 11065 -3 8219 8218 11065 -3 11306 11083 10135 -3 11305 11306 10135 -3 8987 8981 7564 -3 17369 7000 35191 -3 10748 10218 9983 -3 11369 10095 11186 -3 8176 8175 8064 -3 7538 11002 8224 -3 12083 12165 12082 -3 6417 6418 6544 -3 3019 2362 2230 -3 7749 7864 7748 -3 9238 9350 9349 -3 7749 7748 7633 -3 7634 7749 7633 -3 7320 264 263 -3 7864 7863 7748 -3 25714 25817 23644 -3 26720 26719 31650 -3 9621 9620 9504 -3 12475 14087 12929 -3 9852 9851 9736 -3 14094 14190 10441 -3 9737 9736 9620 -3 9737 9852 9736 -3 9611 9727 9610 -3 9621 9737 9620 -3 10808 10334 9663 -3 10193 10312 10192 -3 33949 12994 12901 -3 9460 2741 9345 -3 10545 10544 10424 -3 8990 11119 5042 -3 10545 10667 10544 -3 10425 10545 10424 -3 10791 10916 10790 -3 10791 10790 10666 -3 13629 13628 13530 -3 11042 11041 10915 -3 11117 10977 10745 -3 20788 20787 20705 -3 7273 7384 7272 -3 12326 12412 12325 -3 8503 8502 8395 -3 7496 7495 7383 -3 8181 8289 8180 -3 8396 8395 8288 -3 9479 9478 9363 -3 8289 8396 8288 -3 10782 10907 10906 -3 9364 9479 9363 -3 10781 10782 10906 -3 10907 11033 11032 -3 9418 10619 9449 -3 7579 9418 9449 -3 11163 11162 11035 -3 11064 10726 10702 -3 14244 16152 15149 -3 33401 33514 33400 -3 9259 9260 9371 -3 10544 10543 10423 -3 4118 3042 35782 -3 8702 8703 8809 -3 8622 8729 8621 -3 10431 10430 10310 -3 8730 8729 8622 -3 9579 9695 9694 -3 10963 9866 5982 -3 11083 7303 8544 -3 11171 11172 11297 -3 3721 8005 8667 -3 10401 10400 10280 -3 10475 10476 6799 -3 13154 13153 13059 -3 11078 10952 9757 -3 34354 6412 6538 -3 10218 10566 10937 -3 9587 9588 9703 -3 8868 9116 7885 -3 8409 8408 8301 -3 8194 8193 8082 -3 8836 8943 8835 -3 9050 9049 8942 -3 8187 8295 8186 -3 9622 17168 17169 -3 7555 7907 10129 -3 7556 7555 10129 -3 9610 9726 9609 -3 10922 11048 10921 -3 8072 8071 7956 -3 11905 11904 11818 -3 2471 9016 9125 -3 7303 8357 7642 -3 1646 937 7808 -3 9584 9585 9700 -3 808 5865 322 -3 8969 8968 12755 -3 9894 9009 8463 -3 8968 8967 12754 -3 10371 9398 7775 -3 7648 7741 6490 -3 8089 9801 14308 -3 8357 8218 8219 -3 10354 9780 9432 -3 11165 11291 11164 -3 9068 2515 8961 -3 35902 35740 35890 -3 27870 27149 27986 -3 22425 33237 33970 -3 9241 9242 9353 -3 9338 7582 8148 -3 10897 4371 4372 -3 5541 19255 5542 -3 11187 5178 11188 -3 11446 14187 12119 -3 9076 8969 12848 -3 1174 13474 13418 -3 24430 29569 28125 -3 13249 13248 13153 -3 8810 8917 8916 -3 13154 13249 13153 -3 8809 8810 8916 -3 8917 9024 9023 -3 8916 8917 9023 -3 9024 9132 9131 -3 9023 9024 9131 -3 12157 12240 12156 -3 9132 9241 9240 -3 9128 9129 9237 -3 11914 11913 11827 -3 8757 8972 11152 -3 8881 8757 11152 -3 10461 8034 8972 -3 8757 10461 8972 -3 10461 8479 7814 -3 8034 10461 7814 -3 8479 10945 10470 -3 7814 8479 10470 -3 7653 7537 10470 -3 10945 7653 10470 -3 7784 7783 7537 -3 7653 7784 7537 -3 8455 8348 7783 -3 7784 8455 7783 -3 7412 7298 7084 -3 8455 11059 8348 -3 11275 11276 9512 -3 7671 193 2517 -3 9651 9650 9325 -3 9131 9132 9240 -3 10517 10639 10638 -3 425 315 316 -3 9075 9076 9183 -3 8766 7354 8873 -3 9076 12941 9184 -3 5173 9225 10961 -3 3848 9532 155 -3 11589 11588 11521 -3 13345 13344 13248 -3 13249 13345 13248 -3 28476 26797 27407 -3 29568 29264 19350 -3 30482 24182 29415 -3 34271 34409 34270 -3 6923 6922 11704 -3 26799 6922 6921 -3 7022 7126 7125 -3 7021 7022 7125 -3 7126 7233 7232 -3 7125 7126 7232 -3 30988 31049 30987 -3 1601 14681 1725 -3 14006 14104 14103 -3 8382 8383 8489 -3 8548 10744 10686 -3 11065 8548 10686 -3 9207 8890 9319 -3 7586 7577 10377 -3 26497 8974 1450 -3 7774 10371 7775 -3 9183 9184 9292 -3 7817 7816 10972 -3 20775 20776 20857 -3 11537 11536 11472 -3 14015 14113 14014 -3 9241 9353 9352 -3 10526 10843 10512 -3 22816 22915 22815 -3 9723 9722 9606 -3 8720 8827 8826 -3 6954 6955 7053 -3 10181 10182 10300 -3 9051 9050 8943 -3 7894 7893 10700 -3 10432 10431 10311 -3 8944 9051 8943 -3 10193 10192 10074 -3 10075 10193 10074 -3 10075 10074 9957 -3 9958 10075 9957 -3 9842 9841 9726 -3 9727 9842 9726 -3 9958 9957 9841 -3 9842 9958 9841 -3 10592 7770 10526 -3 7770 10843 10526 -3 9261 9373 9372 -3 9260 9261 9372 -3 7729 7728 7613 -3 10667 10666 10544 -3 7614 7613 7499 -3 7500 7614 7499 -3 7277 7388 7276 -3 7500 7499 7387 -3 9240 9241 9352 -3 7388 7500 7387 -3 7384 7496 7383 -3 9468 9467 9352 -3 9254 9255 9366 -3 7496 7610 7609 -3 8500 8607 8606 -3 9482 9481 9366 -3 9595 9594 9478 -3 8607 8714 8713 -3 11386 11367 10579 -3 9479 9595 9478 -3 9188 10579 7145 -3 9188 11386 10579 -3 11285 7740 11284 -3 7740 9188 7145 -3 9436 9552 8438 -3 6960 11197 8438 -3 7560 9778 9795 -3 8458 3190 7851 -3 12162 12245 12161 -3 13770 13769 13097 -3 10424 10544 10423 -3 10666 10665 10543 -3 13727 13726 13628 -3 13629 13727 13628 -3 10311 10431 10310 -3 10551 10550 10430 -3 7271 7270 7163 -3 12150 12233 12232 -3 10135 11083 8544 -3 10748 8657 10218 -3 10150 8456 1859 -3 778 7478 7592 -3 11257 13654 15594 -3 9353 9468 9352 -3 9584 9583 9467 -3 13440 13439 13344 -3 9468 9584 9467 -3 10052 10170 10169 -3 22875 26226 26577 -3 32307 32306 32205 -3 10566 8157 7665 -3 8943 9050 8942 -3 13041 13135 13134 -3 12412 12411 12325 -3 10797 10796 10672 -3 10011 8127 11783 -3 35602 35585 35711 -3 11175 11174 11047 -3 11048 11175 11047 -3 3200 8977 2633 -3 11183 11056 11057 -3 8544 7303 7642 -3 4108 2000 191 -3 7164 7271 7163 -3 8337 6958 8444 -3 9584 9700 9699 -3 9583 9584 9699 -3 9700 9815 9814 -3 9253 9252 9143 -3 9699 9700 9814 -3 7642 8357 8219 -3 9036 9144 9035 -3 9297 10699 10698 -3 11347 8326 8736 -3 7606 7607 7721 -3 10275 9555 9298 -3 9755 7650 9407 -3 10417 10537 10416 -3 9775 9752 10773 -3 10660 10784 10783 -3 10739 10035 13000 -3 8776 8869 7993 -3 7333 7334 397 -3 5316 10815 5452 -3 13345 13440 13344 -3 10254 9993 11003 -3 9815 9931 9930 -3 9814 9815 9930 -3 9991 8628 8881 -3 9943 10060 10059 -3 11136 10687 6957 -3 8865 8757 8881 -3 11152 9399 9993 -3 10851 10461 8757 -3 8865 10851 8757 -3 10872 8479 10461 -3 10851 10872 10461 -3 10872 7446 10945 -3 8479 10872 10945 -3 7652 7653 10945 -3 7446 7652 10945 -3 7901 7784 7653 -3 7652 7901 7653 -3 9665 8455 7784 -3 7901 9665 7784 -3 9800 11059 8455 -3 9665 9800 8455 -3 6533 12446 6850 -3 12732 12753 12548 -3 9931 10048 10047 -3 8490 8597 8596 -3 8124 10214 9009 -3 7624 9014 9010 -3 1642 8350 9317 -3 2222 23590 8306 -3 9930 9931 10047 -3 10048 10166 10165 -3 13288 10721 10498 -3 10498 10721 9789 -3 13536 13535 13439 -3 13440 13536 13439 -3 19571 27167 28126 -3 19350 19571 28126 -3 32901 33009 32900 -3 32945 33051 33050 -3 33811 34196 11718 -3 29356 29082 28888 -3 7023 7127 7126 -3 7022 7023 7126 -3 7127 7234 7233 -3 7126 7127 7233 -3 13634 13633 13535 -3 491 490 7549 -3 8232 10452 10348 -3 8167 8168 8275 -3 10744 10099 10098 -3 9018 9126 9125 -3 10683 14288 10807 -3 6420 6421 6546 -3 10047 10048 10165 -3 10285 10284 10165 -3 10166 10285 10165 -3 10405 10404 10284 -3 9969 9968 9852 -3 9581 9697 9696 -3 10686 10744 10098 -3 10843 10773 10512 -3 9159 9268 9158 -3 10099 8657 10748 -3 9159 9158 9050 -3 9051 9159 9050 -3 8297 8296 8188 -3 9268 9267 9158 -3 10568 8651 10219 -3 8651 10231 10219 -3 7957 7956 7840 -3 8078 8189 8077 -3 8733 2236 8841 -3 7841 7957 7840 -3 35459 14168 11549 -3 8082 8081 7966 -3 5964 5965 6096 -3 8193 8192 8081 -3 8082 8193 8081 -3 8301 8300 8192 -3 8937 9044 9043 -3 8936 8937 9043 -3 9043 9151 9150 -3 7614 7729 7613 -3 11244 10508 10747 -3 7766 7328 7217 -3 10285 10405 10284 -3 9447 8373 9505 -3 9482 9598 9481 -3 10525 10524 10404 -3 9367 9482 9366 -3 9598 9714 9713 -3 8285 8286 8392 -3 9598 9597 9481 -3 7262 7373 7261 -3 8499 8500 8606 -3 7373 7372 7261 -3 9135 9244 9134 -3 10654 10655 10778 -3 7050 7051 7154 -3 10779 10904 10903 -3 10778 10779 10903 -3 10656 10780 10779 -3 10655 10656 10779 -3 8308 6960 8438 -3 7579 9449 11197 -3 10726 7560 9795 -3 8250 9091 9778 -3 12539 12454 9109 -3 11646 13684 13414 -3 10544 10666 10543 -3 10790 10789 10665 -3 27135 27254 27253 -3 10666 10790 10665 -3 10431 10551 10430 -3 12732 2879 12753 -3 9462 9463 9578 -3 10673 10672 10550 -3 10337 8157 10566 -3 10886 7657 7655 -3 8869 9407 7993 -3 10218 10337 10566 -3 9580 9581 9696 -3 9738 9853 9737 -3 9465 9581 9580 -3 9464 9465 9580 -3 9350 9465 9464 -3 9621 9504 2845 -3 9853 9852 9737 -3 7733 1039 1157 -3 7665 7673 9100 -3 5869 1273 6508 -3 10625 10634 8232 -3 10673 10797 10672 -3 10922 10921 10796 -3 12727 11786 12638 -3 8566 7424 10977 -3 11175 11301 11300 -3 8766 8873 10935 -3 7668 9283 7218 -3 11174 11175 11300 -3 9100 7673 6646 -3 13003 13097 12548 -3 7944 7945 8059 -3 8162 8270 8269 -3 9349 9350 9464 -3 4509 10776 10902 -3 10405 10525 10404 -3 10647 10646 10524 -3 7050 7154 7153 -3 10525 10647 10524 -3 10929 11055 11054 -3 10928 10929 11054 -3 10771 10770 10646 -3 10647 10771 10646 -3 10896 10895 10770 -3 10771 10896 10770 -3 11022 11021 10895 -3 10896 11022 10895 -3 11914 11998 11913 -3 9614 9730 9613 -3 30097 19797 19796 -3 11918 11917 11831 -3 13536 13634 13535 -3 13732 13731 13633 -3 9990 14285 11236 -3 8686 8628 9990 -3 35678 35402 35769 -3 8152 8865 8628 -3 8686 8152 8628 -3 7856 10851 8865 -3 8152 7856 8865 -3 10871 10872 10851 -3 7856 10871 10851 -3 10871 10232 7446 -3 10872 10871 7446 -3 10232 7459 7652 -3 7446 10232 7652 -3 7330 7901 7652 -3 7459 7330 7652 -3 7330 9549 9665 -3 7901 7330 9665 -3 10749 9800 9665 -3 9549 10749 9665 -3 9929 10046 10045 -3 809 6670 4502 -3 8489 8490 8596 -3 35533 35484 28888 -3 9369 9484 9483 -3 11327 7995 10830 -3 1166 7743 1283 -3 10573 7769 11291 -3 11149 11148 11021 -3 9730 9729 9613 -3 11022 11149 11021 -3 11522 11521 11458 -3 13634 13732 13633 -3 13830 13829 13731 -3 2816 2815 25495 -3 21840 29217 29079 -3 28340 24908 29153 -3 6925 7024 7023 -3 6924 7022 6923 -3 7024 7128 7127 -3 7023 7024 7127 -3 7128 7235 7234 -3 7127 7128 7234 -3 15451 21889 13177 -3 16044 15904 15905 -3 10926 10927 11052 -3 7942 8057 8056 -3 10940 8249 8652 -3 8327 10940 8652 -3 10204 10203 10085 -3 10086 10204 10085 -3 11149 11275 11274 -3 11148 11149 11274 -3 9812 9928 9927 -3 9682 8970 10492 -3 9853 9969 9852 -3 8593 8700 8699 -3 10098 10099 10748 -3 10086 10085 9968 -3 1291 6891 11327 -3 8657 10337 10218 -3 7703 9682 3720 -3 10102 7253 7679 -3 8408 8407 8300 -3 8193 8301 8192 -3 8722 8723 8829 -3 8301 8408 8300 -3 9720 9835 9719 -3 8830 8937 8936 -3 9603 9604 9719 -3 9835 9834 9719 -3 9488 9604 9603 -3 9487 9488 9603 -3 9373 9488 9487 -3 9604 9720 9719 -3 9152 9261 9260 -3 9372 9373 9487 -3 9152 9151 9043 -3 9151 9152 9260 -3 8828 8829 8935 -3 9044 9152 9043 -3 10747 7766 7217 -3 9042 9043 9150 -3 10061 10062 10179 -3 7328 11240 10987 -3 9945 10062 10061 -3 9944 9945 10061 -3 7952 7951 7835 -3 10062 10180 10179 -3 7836 7952 7835 -3 8067 8066 7951 -3 8393 8500 8499 -3 8392 8393 8499 -3 7713 7714 7828 -3 7051 7155 7154 -3 10174 10293 10292 -3 10056 10174 10173 -3 1294 2793 13790 -3 11030 11029 10903 -3 8604 8603 8496 -3 8497 8604 8496 -3 10413 10414 10533 -3 10656 10655 10533 -3 10611 9552 9436 -3 6960 7579 11197 -3 7560 8250 9778 -3 3190 7890 7851 -3 11261 13519 10092 -3 22525 22524 22426 -3 3594 13881 13777 -3 12454 12720 9109 -3 10915 10914 10789 -3 11167 11168 11293 -3 13602 7919 12936 -3 35510 35896 27148 -3 10551 10673 10550 -3 13141 15397 13140 -3 8896 9220 1291 -3 6891 7995 11327 -3 8157 7673 7665 -3 30332 28678 29290 -3 20789 20790 20871 -3 11905 11906 11989 -3 7937 8052 7936 -3 9274 9386 9273 -3 8100 8211 8099 -3 10497 9339 7359 -3 7173 7280 7172 -3 7391 7390 7279 -3 11290 11291 6965 -3 11275 9512 7654 -3 10452 10349 10348 -3 10330 10331 10947 -3 10797 10922 10796 -3 11048 11047 10921 -3 8459 8566 10977 -3 13043 13137 13136 -3 9046 9045 8938 -3 10790 10915 10789 -3 11301 8549 9786 -3 10427 10547 10426 -3 12049 13286 13602 -3 11300 11301 9786 -3 9596 9595 9479 -3 9059 9066 10625 -3 9738 9737 9621 -3 8367 7360 8584 -3 8590 8697 8696 -3 7049 7050 7153 -3 8533 8532 8425 -3 11305 10135 7351 -3 26813 24636 26927 -3 18471 456 455 -3 9431 1999 3334 -3 1999 1171 2652 -3 11044 11171 11170 -3 8805 8806 8912 -3 9717 9716 9600 -3 191 3962 4108 -3 16168 2253 14738 -3 11311 5717 5583 -3 18993 25458 25457 -3 12165 12164 12082 -3 13732 13830 13731 -3 13928 13927 13829 -3 31169 31170 31233 -3 9935 10052 10051 -3 9424 8152 8686 -3 8002 9424 8686 -3 8121 7856 8152 -3 9424 8121 8152 -3 7815 10871 7856 -3 8121 7815 7856 -3 10964 10232 10871 -3 7815 10964 10871 -3 10964 9873 7459 -3 10232 10964 7459 -3 7443 7330 7459 -3 9873 7443 7459 -3 10133 9549 7330 -3 7443 10133 7330 -3 7689 10749 9549 -3 10133 7689 9549 -3 2370 8951 8950 -3 7689 7803 10749 -3 5316 5452 5451 -3 1989 1869 1870 -3 7995 10886 10830 -3 7259 7370 7258 -3 9018 9017 8910 -3 22327 22328 6865 -3 4194 25945 25946 -3 16158 16303 14962 -3 8326 10829 8736 -3 11043 11044 11170 -3 13830 13928 13829 -3 11274 11275 7654 -3 10130 799 8336 -3 26784 26899 26783 -3 26578 26683 26682 -3 35223 6926 6925 -3 6925 6924 35223 -3 7025 7129 7128 -3 7024 7025 7128 -3 7129 7236 7235 -3 7128 7129 7235 -3 35722 35801 35908 -3 26577 26578 26682 -3 10802 10801 10677 -3 10556 10678 10555 -3 10162 10281 10161 -3 9407 7650 7534 -3 11024 4640 11151 -3 10767 10766 10642 -3 4631 4632 4765 -3 9969 10086 9968 -3 8094 8205 8093 -3 8312 1870 1869 -3 8313 8312 8204 -3 8205 8313 8204 -3 2341 5857 5988 -3 11037 11038 11164 -3 10801 10802 10926 -3 10927 11053 11052 -3 9238 9239 9350 -3 9239 9351 9350 -3 7820 7821 7936 -3 10894 10893 10768 -3 6511 8200 14297 -3 8829 8830 8936 -3 8294 8401 8400 -3 8293 8294 8400 -3 8400 8401 8507 -3 8401 8508 8507 -3 8721 8722 8828 -3 8508 8615 8614 -3 8507 8508 8614 -3 8615 8722 8721 -3 8614 8615 8721 -3 8722 8829 8828 -3 8936 9043 9042 -3 8829 8936 8935 -3 7217 7328 10987 -3 8935 8936 9042 -3 10785 10784 10660 -3 11240 7915 9013 -3 2606 2471 9234 -3 10910 11036 10909 -3 7952 8067 7951 -3 7269 7268 7161 -3 12136 12137 11634 -3 8178 8177 8066 -3 11741 11825 11740 -3 12117 13485 13389 -3 6666 106 7577 -3 6262 13191 3057 -3 9506 6250 7545 -3 12240 12239 12156 -3 10055 10056 10173 -3 9823 9939 9822 -3 6956 7055 7054 -3 6955 6956 7054 -3 8497 8496 8389 -3 8390 8497 8389 -3 10534 10656 10533 -3 10780 10905 10904 -3 10489 10611 9436 -3 9552 8308 8438 -3 7890 9506 9427 -3 7851 7890 9427 -3 9427 9506 7545 -3 8546 1134 1135 -3 10261 8197 13496 -3 9435 1891 9793 -3 11294 9556 8251 -3 11293 11294 8251 -3 12680 12769 12768 -3 12679 12680 12768 -3 15397 13139 13140 -3 21756 21481 23413 -3 10822 9220 8896 -3 10947 10822 8896 -3 27278 27279 27396 -3 13630 13629 13531 -3 8094 8093 7978 -3 7979 8094 7978 -3 9601 9717 9600 -3 33445 22426 22425 -3 2878 9340 2345 -3 7748 7863 7747 -3 397 511 396 -3 927 33673 7512 -3 7979 7978 7862 -3 10694 10331 10330 -3 545 8994 7775 -3 8434 7167 10943 -3 10943 10694 10330 -3 14277 7786 14286 -3 9512 11189 11190 -3 10915 11041 11040 -3 13676 13578 11616 -3 10188 10307 10187 -3 10914 10915 11040 -3 8549 9168 9548 -3 10336 1950 6637 -3 10634 10452 8232 -3 9786 8549 9548 -3 7654 9512 11190 -3 7655 7657 9059 -3 7372 7371 7260 -3 20260 20259 23692 -3 11055 11182 11181 -3 8329 9525 9524 -3 11308 10014 10270 -3 11307 11308 10270 -3 7633 7748 7632 -3 7863 7862 7747 -3 7559 7675 7197 -3 8887 11317 7769 -3 8744 8851 2247 -3 8811 8918 8917 -3 11218 10936 7886 -3 8529 2118 2117 -3 12683 12772 12771 -3 14026 14025 13927 -3 13928 14026 13927 -3 7047 7048 7151 -3 9248 9360 9247 -3 7162 7161 7058 -3 9360 9359 9247 -3 7198 8121 9424 -3 9647 7198 9424 -3 9081 7815 8121 -3 7198 9081 8121 -3 10386 10964 7815 -3 9081 10386 7815 -3 9874 9873 10964 -3 10386 9874 10964 -3 8017 7443 9873 -3 9874 8017 9873 -3 10016 10133 7443 -3 8017 10016 7443 -3 10016 7796 7689 -3 10133 10016 7689 -3 7651 7803 7689 -3 7796 7651 7689 -3 30059 30191 30058 -3 7651 10474 7803 -3 7370 7482 7481 -3 7242 416 7241 -3 7513 7627 7626 -3 10802 10927 10926 -3 8043 10617 14565 -3 7512 7513 7626 -3 7438 7553 9550 -3 7748 7747 7632 -3 9237 9349 9348 -3 12814 10739 13000 -3 11189 10445 9083 -3 9354 9469 9468 -3 27252 27253 27370 -3 10003 21627 23580 -3 17260 27316 27729 -3 31106 31107 31169 -3 7026 7130 7129 -3 7024 6926 7025 -3 7130 7237 7236 -3 7129 7130 7236 -3 10442 5183 5048 -3 7809 8156 7694 -3 9990 14282 13195 -3 35890 3319 35659 -3 11318 9407 7534 -3 10538 10537 10417 -3 26807 26922 26921 -3 7633 7632 7518 -3 8544 7642 8648 -3 7518 7517 33444 -3 8832 8831 8724 -3 9697 9812 9811 -3 11360 1977 18933 -3 30021 30071 19377 -3 10418 10538 10417 -3 14473 11880 12056 -3 10316 10315 10196 -3 10316 10436 10315 -3 10197 10316 10196 -3 10436 10435 10315 -3 8052 8051 7936 -3 7795 7790 10808 -3 11630 7272 7164 -3 12073 12072 11991 -3 6963 129 814 -3 9294 10335 11200 -3 15432 10212 2021 -3 6096 6226 7425 -3 7916 8031 7691 -3 7806 6984 8796 -3 12671 12672 12760 -3 7691 7806 8796 -3 8031 7806 7691 -3 8796 6984 7470 -3 10987 11240 9013 -3 7915 8031 7916 -3 10661 10785 10660 -3 9013 7915 7916 -3 7162 7269 7161 -3 10910 10909 10784 -3 13532 13531 13435 -3 7380 7379 7268 -3 12594 12684 12593 -3 12684 12773 12772 -3 9361 9360 9248 -3 21569 17100 22442 -3 9592 9591 9475 -3 9249 9361 9248 -3 9476 9592 9475 -3 9708 9707 9591 -3 9708 9823 9707 -3 9939 9938 9822 -3 9939 10056 10055 -3 9938 9939 10055 -3 7266 7377 7376 -3 7265 7266 7376 -3 8175 8283 8174 -3 8390 8389 8282 -3 10779 10780 10904 -3 11031 11030 10904 -3 8347 10611 10489 -3 11009 8347 10489 -3 7534 8347 11009 -3 7421 7534 11009 -3 6661 11389 7414 -3 9555 9297 9298 -3 1171 10985 2652 -3 6896 27648 27503 -3 9556 8435 7895 -3 9435 8083 8113 -3 22624 22623 22524 -3 8251 9556 7895 -3 23132 22839 23230 -3 9984 10031 9868 -3 9220 6891 1291 -3 10547 10546 10426 -3 28009 28018 26493 -3 10678 10677 10555 -3 8205 8204 8093 -3 14124 14123 14025 -3 11190 11189 9083 -3 11513 11360 18933 -3 259 1054 6000 -3 14026 14124 14025 -3 8065 8064 7949 -3 7863 7979 7862 -3 29242 29243 29379 -3 10620 9007 7690 -3 8030 7805 10248 -3 10331 10822 10947 -3 11053 11180 11179 -3 18178 18932 24398 -3 9243 9355 9354 -3 13573 13671 12635 -3 9303 7456 14258 -3 11041 11168 11167 -3 7895 8435 8541 -3 10199 10198 10080 -3 11040 11041 11167 -3 9109 1494 12201 -3 10547 10669 10546 -3 9066 10634 10625 -3 12237 12322 12236 -3 7294 21466 21465 -3 10830 10886 7655 -3 24304 25111 24303 -3 7293 7294 21465 -3 27314 28676 27296 -3 27043 27160 27159 -3 27167 28476 30204 -3 28716 28715 21455 -3 14220 14219 14123 -3 4361 10761 10887 -3 10048 10049 10166 -3 6743 1642 9096 -3 14124 14220 14123 -3 11667 11747 11666 -3 13515 14317 14219 -3 9506 9509 6250 -3 13195 8686 9990 -3 1882 1642 6744 -3 14220 13515 14219 -3 12031 9647 8002 -3 8348 322 10756 -3 8547 9081 7198 -3 10746 8547 7198 -3 11094 10386 9081 -3 8547 11094 9081 -3 11094 7921 9874 -3 10386 11094 9874 -3 7921 7444 8017 -3 9874 7921 8017 -3 11116 10016 8017 -3 7444 11116 8017 -3 8997 7796 10016 -3 11116 8997 10016 -3 9508 7651 7796 -3 8997 9508 7796 -3 9285 10474 7651 -3 9508 9285 7651 -3 12074 12073 11992 -3 9285 11242 10474 -3 10678 10802 10677 -3 151 7200 7201 -3 265 264 7321 -3 10660 10659 10537 -3 7795 9308 7790 -3 13520 13521 14317 -3 7318 7319 263 -3 35529 35412 35656 -3 13515 13520 14317 -3 35818 28745 26735 -3 13650 13748 13649 -3 10897 11023 10896 -3 13603 11809 13521 -3 15170 1601 2102 -3 30068 30067 29936 -3 19137 19519 19035 -3 17401 17324 17402 -3 27396 27397 27515 -3 7027 7131 7130 -3 7026 7027 7130 -3 7131 7238 7237 -3 7130 7131 7237 -3 414 7240 415 -3 8518 8410 1743 -3 8948 2368 8949 -3 2369 8950 8949 -3 10722 10460 9196 -3 11144 11145 4768 -3 24885 26790 30625 -3 2236 2107 2108 -3 2741 9460 2876 -3 13520 13603 13521 -3 7821 897 7707 -3 35514 29543 27756 -3 8911 8912 9018 -3 9818 9819 9934 -3 10784 10909 10908 -3 9056 9164 9055 -3 9273 9272 9163 -3 9846 9962 9845 -3 10079 10078 9961 -3 17854 5817 18920 -3 14555 8043 14565 -3 8470 8577 9206 -3 14820 10237 8562 -3 10286 10285 10166 -3 11200 6963 814 -3 10539 10661 10538 -3 11352 11353 9547 -3 10418 10419 10538 -3 10661 10660 10538 -3 10299 10419 10418 -3 10298 10299 10418 -3 10299 10298 10179 -3 10419 10539 10538 -3 10785 10910 10784 -3 10180 10299 10179 -3 7269 7380 7268 -3 11036 11035 10909 -3 9698 9697 9581 -3 7380 7492 7491 -3 8711 8818 8710 -3 8978 7764 8229 -3 9476 9475 9360 -3 8818 8925 8924 -3 7832 7948 7831 -3 9361 9476 9360 -3 7718 7833 7717 -3 7949 7948 7832 -3 7602 7603 7717 -3 7833 7949 7832 -3 7489 7603 7488 -3 7833 7832 7717 -3 7489 7488 7376 -3 7603 7718 7717 -3 7377 7489 7376 -3 7603 7602 7488 -3 8175 8174 8063 -3 8283 8390 8282 -3 10905 11031 10904 -3 11158 11157 11030 -3 11031 11158 11030 -3 11284 11283 11157 -3 10507 11142 11073 -3 10948 10507 11073 -3 10990 9555 10275 -3 9664 10990 10275 -3 13485 13981 13883 -3 12504 12594 12503 -3 8368 9435 8113 -3 12681 12682 12770 -3 8435 11067 8541 -3 8844 7877 9395 -3 7111 7086 9868 -3 10031 10849 9868 -3 10918 10917 10792 -3 33543 7172 7171 -3 9731 9730 9614 -3 9615 9731 9614 -3 10620 11118 9007 -3 9056 9055 8948 -3 9666 9550 7911 -3 11178 11179 11304 -3 2513 8851 8852 -3 13603 12393 11093 -3 8719 8826 8718 -3 11809 13603 11093 -3 10396 10397 10516 -3 9165 9164 9056 -3 12393 6256 8086 -3 8559 5452 10569 -3 11052 11053 11179 -3 10556 10555 10435 -3 35386 35723 35377 -3 13109 186 7768 -3 9303 12539 7456 -3 12075 12157 12074 -3 11067 10738 10863 -3 8541 11067 10863 -3 11168 11294 11293 -3 8368 8113 10471 -3 31650 31649 31561 -3 5959 8149 6091 -3 12322 12408 12321 -3 10598 7086 7111 -3 7657 9066 9059 -3 8970 9211 11082 -3 10197 10196 10078 -3 10079 10197 10078 -3 9164 9273 9163 -3 9385 9384 9272 -3 19558 21294 28810 -3 6003 322 5996 -3 8163 8162 8051 -3 8933 8932 8825 -3 11832 11831 11747 -3 7369 7370 7481 -3 20377 20376 20291 -3 11093 12393 8086 -3 35603 35418 35851 -3 418 417 7243 -3 7544 372 486 -3 897 7821 7820 -3 5335 6767 124 -3 10925 10926 11051 -3 7919 7249 8547 -3 10746 9647 12936 -3 7249 8793 11094 -3 8547 7249 11094 -3 8793 7683 7921 -3 11094 8793 7921 -3 7683 8129 7444 -3 7921 7683 7444 -3 11243 11116 7444 -3 8129 11243 7444 -3 8996 8997 11116 -3 11243 8996 11116 -3 8351 9508 8997 -3 8996 8351 8997 -3 8462 9285 9508 -3 8351 8462 9508 -3 10015 11242 9285 -3 8462 10015 9285 -3 12589 12679 12588 -3 2640 9276 9166 -3 1250 8051 8161 -3 9962 10079 9961 -3 28487 19519 19137 -3 9616 9615 9499 -3 9501 9500 9385 -3 10397 10517 10516 -3 9349 9464 9463 -3 12248 12333 12247 -3 26226 26578 26577 -3 6256 2091 2090 -3 5697 8226 8561 -3 8716 8823 8822 -3 4912 4778 4913 -3 29146 17667 28874 -3 28558 28557 28435 -3 6929 7028 7027 -3 6926 6928 7026 -3 7028 7132 7131 -3 7027 7028 7131 -3 7132 7239 7238 -3 7131 7132 7238 -3 80 3181 81 -3 5433 5434 16028 -3 9847 9846 9731 -3 9732 9847 9731 -3 9254 9366 9365 -3 8014 9225 3191 -3 10874 9865 10340 -3 11304 11305 7351 -3 7510 6375 6246 -3 10888 11014 10887 -3 7588 10748 9983 -3 23173 19978 19977 -3 10161 10160 10042 -3 10281 10401 10280 -3 10080 10079 9962 -3 9963 10080 9962 -3 9846 9845 9730 -3 9731 9846 9730 -3 26600 24913 26601 -3 27501 27619 27618 -3 9932 10049 10048 -3 8577 8562 9206 -3 10167 10286 10166 -3 10406 10405 10285 -3 7562 8952 7550 -3 7440 1135 6798 -3 7698 8263 9662 -3 10224 10223 9869 -3 7720 7721 7835 -3 7721 7836 7835 -3 7606 7721 7720 -3 7605 7606 7720 -3 7379 7380 7491 -3 7492 7606 7605 -3 7741 6489 6490 -3 7491 7492 7605 -3 8817 8818 8924 -3 8120 8229 7674 -3 8174 8173 8062 -3 8925 9032 9031 -3 9931 9932 10048 -3 8063 8062 7947 -3 10021 7566 9760 -3 7948 8063 7947 -3 9820 9821 9936 -3 9937 10054 10053 -3 9706 9821 9820 -3 9936 9937 10053 -3 9705 9706 9820 -3 9821 9937 9936 -3 10054 10172 10171 -3 10053 10054 10171 -3 8389 8388 8281 -3 8282 8389 8281 -3 8064 8175 8063 -3 8283 8282 8174 -3 8064 8063 7948 -3 7949 8064 7948 -3 9477 9593 9476 -3 9709 9708 9592 -3 9191 10351 11142 -3 10507 9191 11142 -3 9097 10990 9664 -3 11387 9097 9664 -3 12684 12683 12593 -3 22225 22321 22224 -3 13141 13142 13236 -3 12507 12597 12596 -3 7612 7727 7726 -3 7611 7612 7726 -3 10145 10104 9510 -3 6894 10145 9510 -3 27253 27371 27370 -3 7392 7391 7280 -3 9615 9614 9498 -3 9499 9615 9498 -3 10198 10317 10197 -3 10437 10436 10316 -3 8229 7764 9537 -3 10286 10406 10285 -3 1725 14681 16635 -3 7359 10329 7700 -3 9938 10055 10054 -3 10235 7359 10479 -3 8823 8930 8929 -3 10221 9299 8254 -3 8949 9056 8948 -3 9164 9163 9055 -3 10436 10556 10435 -3 9499 9498 9383 -3 5602 4247 9111 -3 8970 11082 10492 -3 11825 11911 11824 -3 11736 11735 11655 -3 10738 7818 9197 -3 10863 10738 9197 -3 7660 8368 10471 -3 7660 10471 10856 -3 8669 547 8151 -3 6617 6742 9064 -3 11989 12070 12069 -3 11988 11989 12069 -3 1494 3060 14 -3 7618 7617 7503 -3 9384 9383 9271 -3 9272 9384 9271 -3 9273 9385 9272 -3 9500 9499 9384 -3 11016 11015 10889 -3 10890 11016 10889 -3 10329 10750 7700 -3 10913 11039 11038 -3 9283 10235 10479 -3 35437 35712 35571 -3 7505 920 919 -3 4636 6792 2440 -3 9465 9466 9581 -3 8086 6256 2090 -3 11553 11488 7059 -3 4380 9511 6893 -3 7701 7249 7919 -3 10746 12936 7919 -3 7701 8235 8793 -3 7249 7701 8793 -3 8235 9875 7683 -3 8793 8235 7683 -3 9875 8237 8129 -3 7683 9875 8129 -3 10693 11243 8129 -3 8237 10693 8129 -3 10824 8996 11243 -3 10693 10824 11243 -3 10824 10449 8351 -3 8996 10824 8351 -3 8568 8462 8351 -3 10449 8568 8351 -3 10132 10015 8462 -3 8568 10132 8462 -3 10220 5829 10451 -3 10132 10858 10015 -3 9163 9272 9162 -3 10254 8881 11152 -3 9500 9616 9499 -3 9732 9731 9615 -3 12241 12240 12157 -3 10764 10765 10889 -3 8255 9283 10479 -3 11500 35365 29262 -3 10705 23418 16014 -3 35642 35625 35805 -3 4794 8146 9988 -3 14021 14020 13922 -3 12494 12584 12583 -3 197 7250 106 -3 4383 432 8222 -3 7359 7700 10479 -3 29681 29146 29545 -3 16663 18053 18421 -3 6930 7029 7028 -3 6929 6928 35097 -3 7029 7133 7132 -3 7028 7029 7132 -3 7133 7240 7239 -3 7132 7133 7239 -3 11053 11054 11180 -3 9824 9823 9708 -3 9963 9962 9846 -3 9847 9963 9846 -3 13608 35444 35601 -3 9953 10070 9952 -3 2490 11269 2356 -3 10763 10888 10762 -3 6915 30607 29281 -3 836 835 717 -3 13881 12471 13880 -3 11489 7059 11488 -3 10874 9523 7886 -3 12003 12002 11918 -3 13723 13722 13624 -3 10080 10198 10079 -3 10198 10197 10079 -3 9962 9961 9845 -3 9055 9163 9054 -3 29378 29515 29514 -3 26810 26925 26924 -3 8577 8470 10849 -3 10031 8577 10849 -3 814 129 9510 -3 129 6894 9510 -3 2126 9306 9421 -3 13622 13621 24358 -3 8874 8986 3306 -3 10223 9667 9869 -3 11230 11318 11336 -3 7534 7421 9412 -3 2091 160 10466 -3 2090 2091 10466 -3 11895 14067 13518 -3 13622 24358 24524 -3 8924 8925 9031 -3 13974 13876 15892 -3 8063 8174 8062 -3 9140 9139 9031 -3 4536 25994 25993 -3 8174 8282 8173 -3 35376 11409 13418 -3 9698 9813 9697 -3 11336 10854 7697 -3 717 718 836 -3 160 10957 14184 -3 10367 8898 9078 -3 10167 10168 10286 -3 9474 9590 9473 -3 10952 7307 7308 -3 9706 9705 9589 -3 7948 7947 7831 -3 10715 10952 7308 -3 8496 8495 8388 -3 7601 7602 7716 -3 8603 8602 8495 -3 8389 8496 8388 -3 9475 9474 9359 -3 9360 9475 9359 -3 9362 9477 9361 -3 9593 9592 9476 -3 9316 9209 10351 -3 9191 9316 10351 -3 9173 9097 11387 -3 9187 9173 11387 -3 23403 276 5566 -3 10466 160 14184 -3 10527 10528 4240 -3 11658 11738 11657 -3 7727 7842 7841 -3 7726 7727 7841 -3 9006 9010 10613 -3 10615 10568 10448 -3 7281 7392 7280 -3 8079 8078 7963 -3 35551 11381 28479 -3 5430 5296 16789 -3 10317 10437 10316 -3 10557 10556 10436 -3 3981 2224 11267 -3 5555 27146 28365 -3 9523 11218 7886 -3 9019 9020 9127 -3 9236 9237 9348 -3 11336 9412 11330 -3 1948 2073 1947 -3 10957 10363 8770 -3 10679 10678 10556 -3 10557 10679 10556 -3 9384 9499 9383 -3 9407 11318 11230 -3 27500 27501 27618 -3 10064 10065 10182 -3 12676 12765 12764 -3 10593 10598 7111 -3 7818 10335 9294 -3 9197 7818 9294 -3 7857 7660 10856 -3 9661 11352 9547 -3 1950 8784 10760 -3 8271 8378 8270 -3 18636 18637 21026 -3 7255 8195 9565 -3 7504 7618 7503 -3 8298 8405 8297 -3 7554 8347 7534 -3 7650 7554 7534 -3 9385 9500 9384 -3 10679 10803 10678 -3 11060 7763 12720 -3 6617 6491 6492 -3 8725 8832 8724 -3 14184 10957 8770 -3 8669 8874 547 -3 1140 1256 1496 -3 10363 7462 7576 -3 8005 3721 11335 -3 11003 13895 10254 -3 9366 9481 9480 -3 6502 6376 6503 -3 7702 7701 10826 -3 7701 7919 10826 -3 9008 8235 7701 -3 7702 9008 7701 -3 9876 9875 8235 -3 9008 9876 8235 -3 10366 8237 9875 -3 9876 10366 9875 -3 10366 8220 10693 -3 8237 10366 10693 -3 10151 10824 10693 -3 8220 10151 10693 -3 8108 10449 10824 -3 10151 8108 10824 -3 8675 8568 10449 -3 8108 8675 10449 -3 9320 10132 8568 -3 8675 9320 8568 -3 10733 10858 10132 -3 9320 10733 10132 -3 8683 11871 12819 -3 9987 575 10733 -3 9616 9732 9615 -3 10802 10803 10927 -3 8605 8604 8497 -3 368 258 7427 -3 10394 10514 3960 -3 6113 5982 6114 -3 16152 16014 21873 -3 8770 10363 7576 -3 8868 1174 9116 -3 12827 11634 13294 -3 12919 10498 10817 -3 11737 11821 11736 -3 1311 18565 18468 -3 6770 4265 694 -3 11024 4507 4640 -3 6291 6419 6418 -3 6929 6930 7028 -3 29087 29086 28951 -3 6931 7030 7029 -3 6930 6931 7029 -3 7030 7134 7133 -3 7029 7030 7133 -3 7134 7241 7240 -3 7133 7134 7240 -3 11181 11307 11306 -3 5348 16069 14735 -3 35894 35860 35664 -3 10292 10412 10411 -3 9069 9177 9068 -3 11188 10565 10445 -3 18495 6082 5949 -3 346 4519 1506 -3 6377 7540 7545 -3 7462 127 6636 -3 514 630 629 -3 29430 35374 19936 -3 18138 15560 14480 -3 9069 9068 8961 -3 8962 9069 8961 -3 11307 10270 11083 -3 10317 10316 10197 -3 9272 9271 9162 -3 9055 9054 8947 -3 30714 30713 30579 -3 29562 29695 27553 -3 8992 10598 10593 -3 8988 8992 10593 -3 8231 8844 9395 -3 10610 8150 8231 -3 8991 404 11363 -3 24398 22195 18930 -3 8263 10223 10224 -3 7546 7698 10842 -3 11318 7534 9412 -3 7366 11230 7582 -3 7145 7362 11283 -3 11158 11284 11157 -3 9032 9140 9031 -3 9249 9248 9139 -3 8924 8923 8816 -3 9140 9249 9139 -3 7602 7601 7487 -3 8282 8281 8173 -3 7687 7920 8142 -3 9590 9706 9589 -3 8287 8394 8393 -3 7933 8879 8767 -3 8179 8287 8178 -3 14117 14118 14213 -3 11461 31651 31650 -3 10030 7687 10885 -3 8297 8404 8296 -3 9014 10618 10615 -3 8290 8291 8397 -3 11364 9900 11363 -3 7307 7216 8979 -3 7308 7307 8979 -3 7832 7831 7716 -3 7717 7832 7716 -3 10734 9417 7924 -3 8792 6487 6488 -3 9591 9590 9474 -3 9475 9591 9474 -3 9250 9362 9249 -3 9477 9476 9361 -3 7535 7510 9209 -3 9316 7535 9209 -3 9118 9173 9187 -3 7356 9118 9187 -3 7576 7462 6636 -3 127 5735 220 -3 1999 10096 3334 -3 35378 35749 35835 -3 7842 7958 7957 -3 7841 7842 7957 -3 7591 7620 9006 -3 9010 10615 10613 -3 7964 8079 7963 -3 8726 8833 8725 -3 7421 11009 9779 -3 11330 9412 7309 -3 10437 10557 10436 -3 8677 7168 8218 -3 8962 8961 8854 -3 8855 8962 8854 -3 9172 11326 1290 -3 7722 7837 7721 -3 9348 9349 9463 -3 9464 9580 9579 -3 8748 8855 8854 -3 8747 8748 8854 -3 25271 12139 25272 -3 10803 10802 10678 -3 7993 9407 11230 -3 162 4502 6670 -3 7504 7503 7391 -3 7392 7504 7391 -3 7086 9984 9868 -3 11679 11760 11678 -3 10335 6963 11200 -3 8022 8352 8026 -3 10459 9898 11353 -3 11352 10459 11353 -3 8378 8485 8484 -3 7386 7385 7274 -3 10448 10568 10106 -3 10219 8195 7255 -3 8512 8511 8404 -3 8405 8512 8404 -3 10369 10489 9322 -3 9449 10619 10620 -3 10803 10928 10927 -3 8218 7168 8548 -3 8534 8641 8533 -3 8748 8747 8640 -3 8147 10874 10340 -3 9459 10354 9918 -3 10390 11281 9185 -3 13822 13821 13723 -3 193 4515 38 -3 9871 7702 10826 -3 9253 9254 9365 -3 8341 9008 7702 -3 10837 8341 7702 -3 8341 9761 9876 -3 9008 8341 9876 -3 9761 10486 10366 -3 9876 9761 10366 -3 10486 10755 8220 -3 10366 10486 8220 -3 7797 10151 8220 -3 10755 7797 8220 -3 7918 8108 10151 -3 7797 7918 10151 -3 7918 8028 8675 -3 8108 7918 8675 -3 9434 9320 8675 -3 8028 9434 8675 -3 10609 10733 9320 -3 9434 10609 9320 -3 575 9987 3866 -3 10609 9987 10733 -3 10928 11054 11053 -3 12209 8574 4123 -3 7829 7945 7944 -3 10927 10928 11053 -3 896 7820 1015 -3 8641 8640 8533 -3 15116 15117 16780 -3 35519 30420 35939 -3 9335 3582 10148 -3 413 412 7238 -3 9974 9976 13870 -3 8561 8226 13413 -3 12584 12585 12674 -3 35561 35417 35736 -3 17149 16984 19594 -3 7619 919 920 -3 6544 6418 10692 -3 35531 35445 27024 -3 27736 27735 27618 -3 6932 7031 7030 -3 6931 6932 7030 -3 7031 7135 7134 -3 7030 7031 7134 -3 7135 7242 7241 -3 7134 7135 7241 -3 11180 11181 11306 -3 1634 8203 1751 -3 8534 8533 8426 -3 8427 8534 8426 -3 10222 5959 6090 -3 6221 6091 6092 -3 9234 9346 9345 -3 9345 9346 9460 -3 9346 9461 9460 -3 9460 9461 9576 -3 8101 8212 8100 -3 9461 9577 9576 -3 11306 11307 11083 -3 6636 127 220 -3 8841 8948 8840 -3 10270 8126 7303 -3 8948 9055 8947 -3 9163 9162 9054 -3 7733 7732 7617 -3 7618 7733 7617 -3 10145 7589 7567 -3 10104 10145 7567 -3 9395 7877 9756 -3 7877 7176 9756 -3 10387 9527 9396 -3 7562 7550 9509 -3 13483 13581 9652 -3 10710 8263 10224 -3 11318 9412 11336 -3 7366 7582 9338 -3 11284 7145 11283 -3 10579 10442 7362 -3 10294 10414 10413 -3 10293 10294 10413 -3 8496 8603 8495 -3 8710 8709 8602 -3 7602 7717 7716 -3 7488 7602 7487 -3 10127 9084 11268 -3 11224 10127 11268 -3 8501 8608 8607 -3 7040 7041 316 -3 8397 8398 8504 -3 7686 7687 10030 -3 8287 8286 8178 -3 7686 10974 7687 -3 13607 35560 5560 -3 8394 8501 8500 -3 18138 14480 19107 -3 8873 8980 9678 -3 8132 8021 8979 -3 14824 16989 14825 -3 7216 8132 8979 -3 19528 181 21062 -3 7760 7924 7789 -3 7760 10734 7924 -3 9707 9706 9590 -3 9591 9707 9590 -3 9141 9250 9140 -3 9362 9361 9249 -3 11059 9800 5738 -3 9095 8151 1496 -3 11287 9118 7356 -3 11286 11287 7356 -3 1525 13792 3993 -3 35566 35815 35652 -3 9414 8258 9193 -3 10480 9414 9193 -3 7958 8073 8072 -3 7957 7958 8072 -3 10583 10594 7591 -3 7620 9010 9006 -3 8940 8939 8832 -3 8833 8940 8832 -3 9412 7421 7309 -3 10626 7694 6960 -3 8357 8677 8218 -3 35666 35586 35402 -3 7986 8101 7985 -3 8212 8211 8100 -3 10639 10763 10762 -3 9577 9693 9692 -3 10888 10887 10762 -3 5824 7530 5956 -3 35365 11500 11800 -3 6088 6087 5956 -3 22417 22516 22515 -3 8879 3843 8986 -3 8190 8189 8078 -3 7538 8224 7896 -3 8079 8190 8078 -3 8298 8297 8189 -3 1494 14 12201 -3 11820 11819 11735 -3 11366 8022 8026 -3 8352 8033 7061 -3 7857 10856 9898 -3 10459 7857 9898 -3 7274 11631 11632 -3 12771 12863 12862 -3 10106 10219 7255 -3 7498 7497 7385 -3 8619 8618 8511 -3 10613 10615 10448 -3 1253 9216 3326 -3 8512 8619 8511 -3 11858 12597 12508 -3 11009 10489 10369 -3 8641 8748 8640 -3 8548 11334 10744 -3 10638 10639 10762 -3 7870 7986 7869 -3 7754 7869 7753 -3 5817 17854 5684 -3 3720 1859 299 -3 34276 34414 34275 -3 6767 7681 124 -3 9643 8341 10837 -3 8419 9643 10837 -3 9643 9762 9761 -3 8341 9643 9761 -3 9762 10608 10486 -3 9761 9762 10486 -3 10608 7792 10755 -3 10486 10608 10755 -3 8676 7797 10755 -3 7792 8676 10755 -3 7802 7918 7797 -3 8676 7802 7797 -3 7802 7912 8028 -3 7918 7802 8028 -3 8241 9434 8028 -3 7912 8241 8028 -3 10487 10609 9434 -3 8241 10487 9434 -3 7422 9987 10609 -3 10487 7422 10609 -3 6355 6354 8520 -3 31549 31476 31550 -3 11054 11181 11180 -3 13185 8157 7452 -3 7870 7869 7754 -3 7755 7870 7754 -3 46 21289 23954 -3 9606 9605 9489 -3 1980 7168 64 -3 4791 4926 13674 -3 10403 10402 10282 -3 220 5735 4530 -3 10852 16303 16158 -3 30633 30027 28997 -3 12165 12248 12164 -3 12333 12332 12247 -3 22409 22507 22506 -3 7674 8349 8120 -3 28355 28356 30021 -3 27619 27736 27618 -3 6933 7032 7031 -3 15788 15652 19112 -3 7032 7136 7135 -3 7031 7032 7135 -3 7136 7243 7242 -3 7135 7136 7242 -3 35401 35788 35865 -3 7168 1980 11334 -3 7755 7754 7639 -3 7640 7755 7639 -3 20536 20535 35521 -3 8147 10340 7438 -3 9865 10874 7886 -3 9128 9237 9236 -3 9127 9128 9236 -3 8320 8319 8211 -3 10049 10167 10166 -3 11083 10270 7303 -3 8212 8320 8211 -3 8126 8677 8357 -3 7303 8126 8357 -3 9024 9025 9132 -3 8841 8840 8733 -3 10898 4372 4373 -3 17154 16989 3591 -3 7589 8992 8988 -3 7848 7847 7732 -3 7176 7670 7441 -3 7567 7589 8988 -3 7761 1056 7762 -3 9756 7176 7441 -3 2345 2885 2878 -3 9527 7562 9509 -3 10698 10699 8458 -3 10961 9083 5308 -3 9753 7366 9338 -3 11230 11336 7582 -3 7145 10579 7362 -3 11367 9305 10442 -3 10414 10534 10533 -3 10294 10293 10174 -3 8817 8816 8709 -3 8603 8710 8602 -3 7488 7487 7375 -3 7376 7488 7375 -3 8380 8487 8486 -3 1809 19092 18991 -3 10168 10287 10286 -3 10287 10407 10286 -3 7486 7600 7485 -3 8659 8766 10944 -3 10974 10861 7920 -3 7953 7954 8068 -3 8598 8705 8704 -3 8168 8276 8275 -3 7910 10935 9323 -3 8918 8919 9025 -3 11594 26948 11525 -3 24295 26681 24725 -3 4657 4925 5060 -3 14869 14870 14988 -3 11241 7789 11069 -3 11241 7760 7789 -3 9822 9821 9706 -3 9707 9822 9706 -3 8925 8926 9032 -3 9033 9141 9140 -3 8814 8921 8920 -3 8058 8059 8169 -3 11287 11286 11160 -3 11161 11287 11160 -3 8439 8119 9536 -3 810 93 11867 -3 7355 9414 10480 -3 10258 7355 10480 -3 8073 8184 8183 -3 8291 8292 8398 -3 10576 10456 105 -3 6637 10760 8553 -3 9047 9046 8939 -3 8940 9047 8939 -3 6547 6548 6672 -3 2605 2606 2741 -3 10337 7452 8157 -3 9703 9704 9818 -3 12079 12078 11997 -3 2353 2345 11096 -3 10854 11336 11330 -3 2885 8879 8772 -3 10222 7530 7998 -3 24885 26792 24240 -3 714 832 712 -3 7530 10222 8131 -3 8190 8298 8189 -3 7240 7241 415 -3 12498 12588 12497 -3 8405 8404 8297 -3 12678 12677 12587 -3 8349 810 8439 -3 11736 11820 11735 -3 11130 12128 29 -3 8026 8352 7061 -3 8033 8225 8135 -3 1056 1618 7762 -3 7761 7762 7166 -3 20790 20872 20871 -3 10204 10205 13998 -3 7386 7498 7385 -3 14453 14504 14503 -3 10568 10219 10106 -3 7612 7611 7497 -3 8726 8725 8618 -3 10594 7620 7591 -3 10489 9436 9322 -3 8619 8726 8618 -3 9639 11334 9743 -3 5183 10442 9305 -3 8101 8100 7985 -3 10744 9639 10099 -3 2785 2649 9068 -3 9696 9811 9810 -3 3318 3191 5039 -3 5039 3191 9225 -3 13518 14067 176 -3 6799 6673 6800 -3 9902 9643 8419 -3 10837 9871 8035 -3 9902 9763 9762 -3 9643 9902 9762 -3 9763 10247 10608 -3 9762 9763 10608 -3 10247 7793 7792 -3 10608 10247 7792 -3 8569 8676 7792 -3 7793 8569 7792 -3 9872 7802 8676 -3 8569 9872 8676 -3 7914 7912 7802 -3 9872 7914 7802 -3 7914 7791 8241 -3 7912 7914 8241 -3 7902 10487 8241 -3 7791 7902 8241 -3 7219 7422 10487 -3 7902 7219 10487 -3 13134 13133 13039 -3 7219 10965 7422 -3 7597 7712 7596 -3 10457 136 10563 -3 7986 7985 7869 -3 483 7542 484 -3 5956 7530 8131 -3 10669 10793 10668 -3 3866 10965 334 -3 8275 8276 8382 -3 11038 11165 11164 -3 23274 4516 14908 -3 5871 8655 2635 -3 8273 8380 8272 -3 1593 1711 1710 -3 2253 9773 11693 -3 22311 22312 22408 -3 14999 15000 15122 -3 21506 13698 21598 -3 27736 27851 27850 -3 6934 7033 7032 -3 6932 6933 7031 -3 7033 7137 7136 -3 7032 7033 7136 -3 7244 7243 7136 -3 7137 7244 7136 -3 8313 8420 1870 -3 12932 12205 12042 -3 21467 21377 11506 -3 4772 6393 6543 -3 1407 1406 916 -3 9463 9464 9579 -3 27735 27736 27850 -3 10662 10663 10786 -3 8427 8426 8319 -3 430 429 7148 -3 35727 35916 35763 -3 8320 8427 8319 -3 25353 28239 28122 -3 35634 25130 25129 -3 16789 14611 5430 -3 7309 7421 9779 -3 8229 9537 8239 -3 8948 8947 8840 -3 9469 9470 9585 -3 7674 8229 8239 -3 7670 8022 11366 -3 8597 8704 8703 -3 10387 9396 1618 -3 7441 7670 11366 -3 8888 8994 2128 -3 1056 10387 1618 -3 9298 9297 10698 -3 7774 7775 8994 -3 11367 10570 9305 -3 8978 9753 7764 -3 8084 8559 10569 -3 10570 8084 10569 -3 10579 11367 10442 -3 10570 10569 9305 -3 10175 10294 10174 -3 9940 10057 9939 -3 8817 8924 8816 -3 8710 8817 8709 -3 7376 7375 7264 -3 7265 7376 7264 -3 22408 22409 22506 -3 6246 6374 6245 -3 9757 10952 10715 -3 11063 9757 10715 -3 7599 7600 7714 -3 7600 7715 7714 -3 10170 10289 10169 -3 10051 10052 10169 -3 7828 7829 7944 -3 8140 8029 11068 -3 8917 8918 9024 -3 4393 10220 5057 -3 9667 8872 9869 -3 3457 10337 8657 -3 26720 31561 26721 -3 5959 8329 8149 -3 10595 11069 8244 -3 10595 11241 11069 -3 9937 9938 10054 -3 10173 10292 10291 -3 8712 8819 8711 -3 9032 9033 9140 -3 8814 8813 8706 -3 18718 18318 3731 -3 10908 11034 11033 -3 10907 10908 11033 -3 9981 8331 9536 -3 8119 9981 9536 -3 7355 10258 10494 -3 10616 7355 10494 -3 8399 8506 8505 -3 8398 8399 8505 -3 10700 8775 10575 -3 10697 10456 10576 -3 9155 9154 9046 -3 9263 9264 9375 -3 28187 28136 27057 -3 27529 26944 453 -3 7474 7577 7586 -3 4509 10902 11028 -3 10307 10427 10426 -3 9948 10065 9947 -3 9964 9963 9847 -3 10521 10520 10400 -3 8329 10222 9525 -3 7998 9525 10222 -3 12083 12082 12001 -3 6090 5959 6091 -3 2102 1601 1602 -3 11634 13389 13294 -3 14 3061 5602 -3 16078 16221 13131 -3 10097 8904 7580 -3 3340 12662 12659 -3 7061 8033 8135 -3 10966 7580 7876 -3 8225 7580 10966 -3 8135 8225 10966 -3 7398 7761 7166 -3 8150 8844 8231 -3 12845 13020 12220 -3 10266 10864 9398 -3 8258 10027 11101 -3 9193 8258 11101 -3 7498 7612 7497 -3 8072 8073 8183 -3 105 6637 8553 -3 10760 10594 10583 -3 8833 8832 8725 -3 9047 9155 9046 -3 26510 26606 26509 -3 7399 26852 26848 -3 8124 7928 10214 -3 8272 8271 8163 -3 10188 10187 10069 -3 338 2608 5203 -3 1714 1597 1715 -3 7191 13774 21475 -3 7148 7256 430 -3 9064 6742 9096 -3 11193 9902 8482 -3 8482 9902 8419 -3 9649 9763 9902 -3 11193 9649 9902 -3 9649 10128 10247 -3 9763 9649 10247 -3 10128 9433 7793 -3 10247 10128 7793 -3 8783 8569 7793 -3 9433 8783 7793 -3 8440 9872 8569 -3 8783 8440 8569 -3 10360 7914 9872 -3 8440 10360 9872 -3 10360 10989 7791 -3 7914 10360 7791 -3 7442 7902 7791 -3 10989 7442 7791 -3 9986 7219 7902 -3 7442 9986 7902 -3 10836 10965 7219 -3 9986 10836 7219 -3 2903 5864 10758 -3 10836 7250 10965 -3 9894 8124 9009 -3 12002 12001 11917 -3 10399 10398 10278 -3 10664 10788 10787 -3 7553 8334 7668 -3 9347 9462 9461 -3 9148 9257 9147 -3 9369 9368 9256 -3 10794 10919 10793 -3 8068 8067 7952 -3 8379 8380 8486 -3 11832 11918 11831 -3 9469 9585 9584 -3 9898 8888 2475 -3 6919 7407 22327 -3 27295 18435 29549 -3 6935 7034 7033 -3 6933 34971 6934 -3 7034 7138 7137 -3 7033 7034 7137 -3 7245 7244 7137 -3 7138 7245 7137 -3 6541 6416 8011 -3 3451 8843 5695 -3 2685 33927 2550 -3 8254 8367 10103 -3 9099 9100 10649 -3 11506 7191 21475 -3 10071 10189 10070 -3 10279 10399 10278 -3 11039 11166 11038 -3 9983 10218 10937 -3 8697 8804 8696 -3 35929 3178 35375 -3 26924 26925 27042 -3 27058 28374 28371 -3 7733 7848 7732 -3 7964 7963 7847 -3 9199 7893 7894 -3 7848 7964 7847 -3 8826 8827 8933 -3 7826 7942 7941 -3 1290 2929 10810 -3 9172 1290 10810 -3 14104 14105 14200 -3 9527 9509 9396 -3 9596 9712 9711 -3 8888 7774 8994 -3 9082 8111 8559 -3 10699 3190 8458 -3 9593 9709 9592 -3 8084 9082 8559 -3 9709 9824 9708 -3 9940 9939 9823 -3 9824 9940 9823 -3 10057 10056 9939 -3 10175 10174 10056 -3 10057 10175 10056 -3 8923 8924 9030 -3 8924 9031 9030 -3 7053 7054 7157 -3 7158 7265 7264 -3 11120 7546 9065 -3 14825 16989 17154 -3 8224 10580 11120 -3 9757 11063 7469 -3 7714 7715 7829 -3 7715 7830 7829 -3 10289 10288 10169 -3 9819 9935 9934 -3 8898 9116 10684 -3 8337 8444 10490 -3 1506 4519 132 -3 6958 7896 8444 -3 6546 6421 6547 -3 11834 11920 27297 -3 7148 319 7044 -3 7618 7505 919 -3 8993 8244 8132 -3 8993 10595 8244 -3 10055 10173 10172 -3 10054 10055 10172 -3 8391 8498 8390 -3 8819 8926 8925 -3 8385 8386 8492 -3 8921 9028 8920 -3 10659 10658 10536 -3 10537 10659 10536 -3 8880 7533 8331 -3 8776 7993 7142 -3 10848 11226 9752 -3 9775 10848 9752 -3 8506 8613 8612 -3 8505 8506 8612 -3 10575 10697 10576 -3 10456 6637 105 -3 9491 9490 9375 -3 9607 9606 9490 -3 27851 27967 27966 -3 27042 27043 27159 -3 7430 7318 263 -3 7326 7438 9666 -3 11166 11165 11038 -3 10318 10317 10198 -3 9037 9036 8929 -3 8930 9037 8929 -3 8976 8329 9524 -3 9411 8976 9524 -3 12499 12589 12498 -3 8329 8976 8149 -3 8002 13195 12031 -3 2608 4110 3202 -3 5203 2608 3202 -3 1739 1525 3993 -3 35542 35408 35915 -3 27850 27851 27966 -3 11079 9185 10720 -3 8866 11079 10720 -3 9185 8150 10610 -3 10720 9185 10610 -3 7398 7166 9091 -3 8250 7398 9091 -3 10371 10266 9398 -3 7146 7416 10864 -3 18491 23224 23220 -3 3435 3296 3297 -3 8184 8292 8291 -3 10843 9775 10773 -3 8553 10760 10583 -3 8183 8184 8291 -3 9155 9264 9263 -3 8775 10697 10575 -3 9595 9596 9711 -3 9154 9155 9263 -3 6964 35932 14162 -3 27967 28084 28083 -3 7769 11317 11191 -3 8284 8283 8175 -3 8179 8178 8067 -3 3436 3569 3568 -3 9345 2606 9234 -3 13418 13474 35376 -3 1991 1990 1870 -3 11193 8482 9233 -3 14456 433 3267 -3 9325 9650 9649 -3 11193 9325 9649 -3 9650 10732 10128 -3 9649 9650 10128 -3 10732 9319 9433 -3 10128 10732 9433 -3 8463 8783 9433 -3 9319 8463 9433 -3 9009 8440 8783 -3 8463 9009 8783 -3 10214 10360 8440 -3 9009 10214 8440 -3 9562 10989 10360 -3 10214 9562 10360 -3 9562 8564 7442 -3 10989 9562 7442 -3 7528 9986 7442 -3 8564 7528 7442 -3 11088 10836 9986 -3 7528 11088 9986 -3 10377 7250 10836 -3 11088 10377 10836 -3 35874 35897 35367 -3 7577 106 10377 -3 6506 6380 10501 -3 10468 9884 9199 -3 9576 9577 9692 -3 8707 8814 8706 -3 7270 7269 7162 -3 13483 9652 8009 -3 9693 9808 9807 -3 9733 9732 9616 -3 7152 7259 7151 -3 7034 6935 114 -3 7869 7868 7753 -3 7034 114 7035 -3 5452 10815 10569 -3 27966 27967 28083 -3 35427 35619 35541 -3 8421 1992 8420 -3 9644 34875 34599 -3 7034 7035 7138 -3 22528 9644 34599 -3 35814 35936 35367 -3 10162 10161 10043 -3 10354 9432 9918 -3 9816 9932 9931 -3 7820 896 897 -3 9830 9831 9946 -3 10743 7397 7360 -3 15904 11118 7361 -3 9780 9666 9432 -3 11115 11388 8889 -3 7397 7474 7360 -3 7648 9064 7741 -3 9154 9263 9262 -3 10767 10892 10766 -3 7271 7382 7270 -3 9723 9838 9722 -3 9376 9491 9375 -3 11170 11171 11296 -3 11297 11208 8144 -3 9484 9485 9600 -3 9041 9040 8933 -3 1290 6893 2929 -3 6893 7647 2929 -3 8156 10859 7694 -3 2902 4518 1616 -3 32096 32196 32095 -3 28084 28201 28200 -3 13531 13629 13530 -3 10084 10085 10203 -3 10739 13288 12919 -3 28083 28084 28200 -3 12369 12115 11865 -3 12483 13983 11865 -3 11779 12483 11865 -3 12287 11876 12483 -3 12483 11876 13983 -3 33894 33893 33759 -3 29556 35598 27756 -3 11664 11744 11663 -3 11828 11827 11743 -3 13374 14056 13961 -3 14254 21029 8223 -3 22525 22624 22524 -3 22723 22722 22623 -3 22624 22723 22623 -3 22822 22821 22722 -3 22723 22822 22722 -3 22921 22920 22821 -3 22822 22921 22821 -3 23020 23019 22920 -3 22921 23020 22920 -3 23118 23117 23019 -3 23020 23118 23019 -3 23216 23215 23117 -3 23118 23216 23117 -3 3486 3615 17625 -3 18358 18355 19491 -3 21029 20406 20364 -3 21217 21216 20402 -3 23209 23307 23306 -3 23110 23111 23208 -3 16016 14841 14960 -3 16303 16016 14960 -3 14960 14841 13335 -3 14841 3038 13335 -3 3038 16309 16165 -3 13335 3038 16165 -3 16309 15880 16163 -3 16165 16309 16163 -3 15880 13339 13338 -3 16163 15880 13338 -3 23208 23209 23306 -3 9218 3337 1761 -3 23307 23404 23403 -3 12133 14164 12216 -3 14164 12912 12729 -3 13412 10852 4542 -3 33869 34004 33868 -3 10008 2791 8045 -3 12906 15198 9783 -3 10852 13412 16303 -3 23446 6265 23154 -3 6265 12906 9783 -3 15115 15490 21403 -3 15365 4939 23409 -3 29355 30220 35779 -3 19365 19417 18968 -3 7520 33336 33231 -3 14164 5856 12216 -3 12665 28723 19520 -3 34284 34283 34145 -3 31631 31726 31630 -3 28723 30823 19520 -3 34958 34957 34828 -3 34018 34154 34017 -3 1853 11628 5425 -3 35932 5425 14162 -3 13379 9218 1761 -3 1853 2088 12834 -3 35908 35801 35647 -3 12133 12216 3337 -3 11628 1853 12834 -3 28318 28317 28200 -3 2088 12194 12045 -3 12834 2088 12045 -3 12194 11485 12115 -3 12045 12194 12115 -3 13758 14909 13757 -3 17969 17876 17877 -3 2634 20811 20049 -3 13336 15409 13857 -3 13379 1761 14084 -3 11249 13379 14084 -3 13796 11779 12115 -3 19668 13394 901 -3 11485 13796 12115 -3 13125 12483 11779 -3 13796 13125 11779 -3 7885 7758 9113 -3 13125 12287 12483 -3 12528 12618 12527 -3 16767 13290 21505 -3 11744 11828 11743 -3 12595 12685 12594 -3 9452 15702 10148 -3 15910 8483 16988 -3 8540 12486 8647 -3 25062 25061 26211 -3 13866 19933 15868 -3 9771 14323 8527 -3 15047 11399 12807 -3 21203 21202 6518 -3 13598 35674 3193 -3 6265 9783 23154 -3 18418 18514 23419 -3 31992 31991 31890 -3 1023 12746 23154 -3 15027 19769 14906 -3 19212 18651 23020 -3 31561 26720 31650 -3 20471 20556 20470 -3 33263 33372 33371 -3 9218 12133 3337 -3 20557 20556 20471 -3 26719 11461 31650 -3 35425 35395 35940 -3 15600 17796 15674 -3 19117 18317 19518 -3 14253 7880 1023 -3 12746 23446 23154 -3 8674 7880 14253 -3 13786 8674 14253 -3 13203 8674 13786 -3 7880 12746 1023 -3 13203 14739 16460 -3 14739 13203 13786 -3 16772 16461 23155 -3 16461 13203 16460 -3 20009 16772 20090 -3 22063 22055 21125 -3 22063 2653 22055 -3 21126 22063 21125 -3 2653 2760 22055 -3 2499 13394 23274 -3 13339 13758 13757 -3 16461 16460 23155 -3 17129 13422 17097 -3 35504 35818 35632 -3 32243 32242 32142 -3 11461 26719 11526 -3 16772 23155 20090 -3 16931 13055 9186 -3 26721 31560 26722 -3 35436 11364 35576 -3 15674 17796 19698 -3 13337 16931 15281 -3 34674 34673 34545 -3 15876 15737 13654 -3 35483 35507 35717 -3 13885 13337 13857 -3 17355 17354 17286 -3 18748 18846 18747 -3 16931 9186 15281 -3 35356 35496 14088 -3 16775 15621 3794 -3 17290 27404 13708 -3 15595 11257 15594 -3 16453 15605 15473 -3 23400 15435 23399 -3 30551 30552 30685 -3 33382 33495 33381 -3 15863 15725 171 -3 33874 34009 33873 -3 31530 31531 31617 -3 23056 15471 22957 -3 34834 34833 34705 -3 2235 23056 8478 -3 22068 16156 22067 -3 3183 19980 7788 -3 15471 16921 22957 -3 22617 22616 22517 -3 22518 22617 22517 -3 31618 31713 31712 -3 34701 34829 34828 -3 8305 1853 10603 -3 35940 5425 35932 -3 23310 23407 23309 -3 14280 2088 1853 -3 21125 22055 21124 -3 2760 15730 22052 -3 8305 14280 1853 -3 23407 23406 23309 -3 7246 12194 2088 -3 14280 7246 2088 -3 11402 11485 12194 -3 7246 11402 12194 -3 5696 17088 17089 -3 22425 33970 33445 -3 22622 22522 22523 -3 22623 22722 22622 -3 30161 30294 30160 -3 22664 24232 13804 -3 11402 11447 13796 -3 22390 25221 23758 -3 11485 11402 13796 -3 11447 13108 13125 -3 13796 11447 13125 -3 26821 26822 26937 -3 35922 35688 35872 -3 691 2938 13334 -3 12753 439 1254 -3 12595 12594 12504 -3 12505 12595 12504 -3 13504 12281 13285 -3 11831 11917 11830 -3 14188 10440 10561 -3 3202 4110 2123 -3 12625 22269 23503 -3 16306 16453 15473 -3 15605 15028 15153 -3 21243 12625 23503 -3 23949 24816 24695 -3 15473 15605 15153 -3 21334 24579 25015 -3 15028 6004 7529 -3 15153 15028 7529 -3 3667 3798 7529 -3 6004 3667 7529 -3 10233 16612 3798 -3 3667 10233 3798 -3 35423 35596 35433 -3 27376 29008 29145 -3 30077 30078 11551 -3 35702 35786 35910 -3 28129 28884 28751 -3 11884 23521 24094 -3 30078 30077 28358 -3 20759 27504 27621 -3 15074 34734 15608 -3 15725 15863 15072 -3 15863 12567 15072 -3 11956 21402 22938 -3 15435 15863 171 -3 28359 30078 28358 -3 12904 14990 15220 -3 16459 12904 15220 -3 3206 1967 14990 -3 35478 35664 35482 -3 12904 3206 14990 -3 16755 25606 25605 -3 3859 12825 14589 -3 31560 26721 31561 -3 20326 20241 14323 -3 1962 3462 1967 -3 3206 1962 1967 -3 13337 15281 13857 -3 12338 11563 3462 -3 1962 12338 3462 -3 12338 14950 9062 -3 20532 20614 20613 -3 11563 12338 9062 -3 23037 23043 16952 -3 35000 22419 22516 -3 22464 24123 24124 -3 12619 12618 12528 -3 22716 22715 22616 -3 23043 15481 16952 -3 14950 23074 16615 -3 12367 14082 13383 -3 9062 14950 16615 -3 23074 4416 15340 -3 16615 23074 15340 -3 4416 21392 12896 -3 21406 18837 21316 -3 16196 16341 14082 -3 12529 12619 12528 -3 12196 12044 25004 -3 22722 22721 22622 -3 12709 12708 12618 -3 15340 4416 12896 -3 24647 24646 28257 -3 21392 19990 20703 -3 12896 21392 20703 -3 19990 20452 20450 -3 20703 19990 20450 -3 20452 21231 21220 -3 34146 34145 34009 -3 35073 35202 35072 -3 34706 34834 34705 -3 34303 34441 34302 -3 10465 7991 8680 -3 33867 33866 33732 -3 24304 26080 24649 -3 25016 25021 25312 -3 24305 24304 24649 -3 11257 15876 13654 -3 33733 33867 33732 -3 14182 1382 1644 -3 10361 8305 11411 -3 10603 11411 8305 -3 13034 14280 8305 -3 10361 13034 8305 -3 7675 7559 14185 -3 7575 8439 13476 -3 14272 7246 14280 -3 11461 11526 11525 -3 13034 14272 14280 -3 11368 11402 7246 -3 14272 11368 7246 -3 11075 11447 11402 -3 11368 11075 11402 -3 20450 20452 21220 -3 11155 13108 11447 -3 13674 13702 794 -3 21231 22253 22251 -3 14106 14107 14202 -3 14117 14213 14212 -3 13673 14161 13871 -3 13383 13673 13871 -3 5856 12729 9922 -3 13383 13871 12821 -3 12216 5856 12301 -3 12729 13383 12821 -3 3337 12216 12301 -3 12729 12821 9922 -3 1029 3337 12301 -3 5856 9922 12301 -3 10482 11956 14831 -3 35772 35672 35508 -3 12798 12890 12797 -3 21402 23043 22938 -3 13171 13170 13076 -3 22413 22511 22412 -3 1761 3337 1029 -3 21220 21231 22251 -3 11075 11155 11447 -3 8339 35423 35579 -3 11155 12282 13108 -3 22253 15151 10962 -3 11507 439 13860 -3 13170 13075 13076 -3 10216 20662 371 -3 11765 11849 11764 -3 13266 13265 13170 -3 13745 13744 13646 -3 21383 21384 22659 -3 13171 13266 13170 -3 13362 13361 13265 -3 10236 10689 16756 -3 10689 10236 4064 -3 20753 25112 20755 -3 12685 12684 12594 -3 439 11507 12844 -3 12001 12000 11916 -3 11998 12079 11997 -3 35552 35495 35675 -3 8673 9897 8780 -3 14044 16599 14238 -3 16599 10236 16756 -3 28423 28303 21608 -3 15048 13428 20156 -3 13716 13814 13813 -3 16599 16756 14238 -3 22251 22253 10962 -3 18181 19778 18630 -3 15151 21296 21295 -3 10962 15151 21295 -3 12987 12893 21295 -3 21296 12987 21295 -3 12987 20404 21391 -3 12893 12987 21391 -3 6261 22 21391 -3 20431 19002 20134 -3 20404 6261 21391 -3 26080 25304 25079 -3 35363 35415 35839 -3 13266 13362 13265 -3 13949 15277 22 -3 12709 12798 12708 -3 13457 13456 13361 -3 12619 12709 12618 -3 12890 12889 12797 -3 10035 12919 3732 -3 12798 12797 12708 -3 6261 13949 22 -3 14182 1644 13220 -3 15065 15607 15277 -3 13949 15065 15277 -3 22336 22337 15607 -3 15065 22336 15607 -3 15592 15192 22337 -3 22336 15592 22337 -3 15592 20454 22046 -3 15192 15592 22046 -3 3089 34203 3090 -3 31376 31443 31375 -3 20318 20315 16601 -3 34303 34302 34164 -3 33114 33113 33007 -3 34002 34001 33866 -3 33867 34002 33866 -3 13404 10361 11441 -3 8882 14248 20011 -3 35771 11441 11411 -3 20454 22049 23343 -3 14301 11261 130 -3 21126 21125 20318 -3 22046 20454 23343 -3 12654 13034 10361 -3 21591 15735 20498 -3 13404 12654 10361 -3 14173 14272 13034 -3 12654 14173 13034 -3 4125 11368 14272 -3 14173 4125 14272 -3 4125 10157 11075 -3 11368 4125 11075 -3 13507 11155 11075 -3 10157 13507 11075 -3 11639 12282 11155 -3 20389 20473 20388 -3 20321 21126 20318 -3 24405 12890 23729 -3 35628 35395 35425 -3 12506 12507 12596 -3 22511 22610 22609 -3 24233 20668 24400 -3 13652 13651 13553 -3 34416 34415 34277 -3 5604 1761 1029 -3 13507 11639 11155 -3 35549 35663 35775 -3 11639 14062 12282 -3 13042 13043 13136 -3 22049 20598 22849 -3 11881 13797 4922 -3 13179 11618 13086 -3 23343 22049 22849 -3 25438 30760 24714 -3 13472 13473 70 -3 12306 13376 13189 -3 11935 11934 11848 -3 11716 14182 12118 -3 13765 13764 10368 -3 22935 16152 14244 -3 11206 12601 13374 -3 10236 2758 4064 -3 22258 11956 10482 -3 12079 12161 12078 -3 35403 35784 35397 -3 14008 14009 14106 -3 11134 12046 11130 -3 12161 12160 12078 -3 24028 25233 24236 -3 24870 24502 23856 -3 20598 16775 12988 -3 30695 30694 30560 -3 22849 20598 12988 -3 28201 28318 28200 -3 13467 7454 13275 -3 28438 28437 28317 -3 13686 21768 21697 -3 19741 17563 19933 -3 35442 14168 35459 -3 20308 18177 17940 -3 20044 20125 20124 -3 20043 20044 20124 -3 14930 16952 14471 -3 13026 23419 17083 -3 13362 13457 13361 -3 13553 13552 13456 -3 21215 21213 20395 -3 13457 13553 13456 -3 11849 11935 11848 -3 12019 12018 11934 -3 11849 11848 11764 -3 12100 12099 12018 -3 12170 13179 13086 -3 11765 11764 11683 -3 12118 14182 13220 -3 11618 13472 70 -3 12118 13220 14271 -3 11154 10899 6386 -3 12285 11954 35857 -3 12214 12118 14271 -3 11358 20363 13088 -3 31458 31459 31530 -3 15409 13885 13857 -3 13954 21755 20403 -3 20210 20209 20124 -3 16924 15409 13336 -3 16765 16924 13336 -3 20125 20210 20124 -3 20296 20295 20209 -3 20210 20296 20209 -3 20381 20380 20295 -3 35789 35750 35869 -3 20296 20381 20295 -3 13553 13651 13552 -3 16936 14691 11946 -3 22938 23037 22731 -3 13651 13650 13552 -3 20465 20464 20380 -3 22938 23043 23037 -3 20381 20465 20380 -3 32900 33008 32899 -3 31556 31555 26617 -3 25879 25880 26021 -3 28997 27665 27410 -3 12915 13008 11571 -3 23114 23212 23113 -3 15347 12646 15746 -3 20550 20549 20464 -3 21146 2786 21067 -3 168 14484 7064 -3 14084 1761 5604 -3 1879 14084 5604 -3 35709 35678 35769 -3 12455 12366 13524 -3 6876 35826 18936 -3 35623 3735 35929 -3 17085 13323 22461 -3 35686 35565 35604 -3 20465 20550 20464 -3 21203 15338 21202 -3 11726 14186 11951 -3 20531 20532 20613 -3 23393 14910 23392 -3 13376 11726 11951 -3 20614 20695 20694 -3 16774 15347 16773 -3 10261 11955 8197 -3 13745 13843 13744 -3 14140 14044 14238 -3 10985 8136 2652 -3 20473 20472 20388 -3 12601 14056 13374 -3 34844 34843 34715 -3 20389 20388 20303 -3 34716 34844 34715 -3 34138 34137 34001 -3 33606 33733 33605 -3 14086 13404 11703 -3 11441 11703 13404 -3 12564 12654 13404 -3 14086 12564 13404 -3 14172 14173 12654 -3 12564 14172 12654 -3 11373 4125 14173 -3 14172 11373 14173 -3 13292 10157 4125 -3 11373 13292 4125 -3 24135 24377 24136 -3 25178 22010 25179 -3 11696 8001 5054 -3 20632 20631 20549 -3 20550 20632 20549 -3 31170 31171 31234 -3 12306 13189 11892 -3 13376 11951 13189 -3 12935 11892 14279 -3 12935 12306 11892 -3 11684 11765 11683 -3 12927 12935 14279 -3 22313 22410 22409 -3 11542 11609 11541 -3 5692 12170 13086 -3 21875 21780 22838 -3 11618 70 13086 -3 22216 22217 22312 -3 22312 22313 22409 -3 20965 22937 22838 -3 8114 12921 13566 -3 22244 20965 22838 -3 28318 28438 28317 -3 20363 20324 13088 -3 13325 13507 10157 -3 24047 24388 23527 -3 13292 13325 10157 -3 13325 13291 11639 -3 13507 13325 11639 -3 20713 20712 20631 -3 13291 14061 11639 -3 12300 10005 11100 -3 14180 12300 11100 -3 11100 10005 12209 -3 26012 26013 26154 -3 26298 26299 24504 -3 21655 18471 455 -3 23016 23114 23015 -3 10005 8574 12209 -3 29 40 12465 -3 12244 12243 12160 -3 13219 8671 13613 -3 20632 20713 20631 -3 20795 20794 20712 -3 20713 20795 20712 -3 20877 20876 20794 -3 20795 20877 20794 -3 20877 20957 20956 -3 20876 20877 20956 -3 12637 11440 4504 -3 20957 21040 21039 -3 2758 11440 12637 -3 35839 35773 23855 -3 28560 28559 28437 -3 13920 14018 13919 -3 11960 12915 11571 -3 7523 7638 7637 -3 27520 26940 27521 -3 13145 15023 15331 -3 15461 13145 15331 -3 17085 22461 13655 -3 21178 13851 21147 -3 13323 14871 22461 -3 13851 17085 13655 -3 20104 20105 20616 -3 13340 928 15732 -3 13298 12835 14081 -3 13787 15203 12960 -3 20956 20957 21039 -3 23410 23313 17982 -3 28438 28560 28437 -3 14039 14038 13940 -3 1039 7618 7619 -3 24504 25492 13658 -3 3926 13489 3930 -3 13370 111 9632 -3 19811 18491 18705 -3 13029 11805 2913 -3 7786 13962 9781 -3 11708 13682 8882 -3 28817 21812 21718 -3 35372 35459 6138 -3 32196 32195 32095 -3 28358 30077 30075 -3 20949 20950 21032 -3 12993 13087 14154 -3 4064 2758 12637 -3 23964 24200 12269 -3 16453 17755 16162 -3 11440 5696 4504 -3 32192 32191 32091 -3 20070 4549 14239 -3 20131 22266 4907 -3 34588 34587 34450 -3 31727 31726 31631 -3 31006 31005 30947 -3 34451 34450 34312 -3 33733 33732 33605 -3 34154 34292 34153 -3 13306 14086 12288 -3 35837 35489 11703 -3 11479 11478 30958 -3 11616 4796 11079 -3 11955 9111 8197 -3 11783 11784 4525 -3 9771 14346 20326 -3 27970 28087 28086 -3 12522 12521 12432 -3 12433 12522 12432 -3 15344 15343 16022 -3 21687 21594 22355 -3 12139 13210 13115 -3 13190 11895 13095 -3 11684 11683 11608 -3 11726 12477 12836 -3 11478 11542 11477 -3 11609 11684 11608 -3 11478 11477 11427 -3 11609 11608 11541 -3 11717 11637 11635 -3 11542 11541 11477 -3 23212 23211 23113 -3 11979 11635 11446 -3 23310 23309 23211 -3 23212 23310 23211 -3 24291 24299 25581 -3 14042 14140 14238 -3 12563 12564 14086 -3 12856 12857 12949 -3 13306 12563 14086 -3 11624 14172 12564 -3 12563 11624 12564 -3 3472 11373 14172 -3 11624 3472 14172 -3 14271 13220 11132 -3 13220 1644 11462 -3 8042 13292 11373 -3 1644 13962 11462 -3 3472 8042 11373 -3 12037 13325 13292 -3 12285 14271 11954 -3 8042 12037 13292 -3 14831 22938 22731 -3 12912 12367 12729 -3 21403 15490 21494 -3 13425 20102 20065 -3 19902 26495 22463 -3 22956 2790 21764 -3 13961 14059 2235 -3 31010 31071 31009 -3 19699 1975 18733 -3 22830 17084 12960 -3 22929 18313 22832 -3 13375 13374 13862 -3 13490 13593 12835 -3 11427 11477 31017 -3 11567 13285 12461 -3 11480 11479 30958 -3 11979 11717 11635 -3 28689 28688 28559 -3 13474 1174 8760 -3 35480 14271 12285 -3 13073 13167 13072 -3 13167 13262 13166 -3 23104 23202 23201 -3 35664 35860 35868 -3 13941 14039 13940 -3 16189 16333 3205 -3 12544 12201 11955 -3 35385 35376 13474 -3 14131 14227 14130 -3 6957 7445 900 -3 11248 7345 14229 -3 11645 1486 14226 -3 14134 14230 14133 -3 14230 11248 14229 -3 13742 13741 13643 -3 13644 13742 13643 -3 30487 35779 35694 -3 18300 21224 17911 -3 14232 8580 14231 -3 35675 11314 11976 -3 4549 13431 17099 -3 19881 17759 19882 -3 12341 12340 12255 -3 2634 20049 20048 -3 12625 15470 22269 -3 12211 2491 12296 -3 26244 23623 23542 -3 23584 23586 24623 -3 13120 33469 3099 -3 23662 26221 23794 -3 12116 13291 13325 -3 23909 25324 25323 -3 12037 12116 13325 -3 14158 14061 13291 -3 12116 14158 13291 -3 12300 14180 12363 -3 12278 12300 12363 -3 11844 11843 11759 -3 11661 11741 11660 -3 12035 13219 8089 -3 14117 14116 14018 -3 8671 448 13613 -3 10709 8683 14261 -3 12350 12349 12264 -3 35431 35751 35638 -3 22040 18471 21655 -3 22550 22650 13558 -3 28376 30153 30098 -3 12612 12611 12521 -3 4817 12601 11206 -3 20965 21048 22937 -3 16022 14846 11102 -3 16299 22932 14045 -3 11000 11791 9655 -3 11481 11480 26361 -3 13190 13095 11890 -3 13519 14258 5987 -3 11866 13476 810 -3 12809 29417 16313 -3 12155 12238 12154 -3 35528 11867 9532 -3 35764 33233 35727 -3 11569 11502 1382 -3 8969 12756 12848 -3 27054 27055 28360 -3 35080 35079 34950 -3 8001 11783 4525 -3 7289 17253 27867 -3 14819 15370 12217 -3 23002 23100 23099 -3 28951 28950 28817 -3 13673 14082 16341 -3 22651 22433 17988 -3 20477 20562 20561 -3 27380 28717 28683 -3 13871 14163 12913 -3 21130 21129 21043 -3 28683 28717 30422 -3 12821 13871 12913 -3 11077 18047 18402 -3 21458 21368 26345 -3 12821 12913 14179 -3 29539 14246 29944 -3 11442 20153 17814 -3 13220 11462 11132 -3 26362 26361 30901 -3 26333 26371 26370 -3 13506 8670 35615 -3 35430 35537 29145 -3 11960 11571 11695 -3 34553 34552 34415 -3 13593 11636 12835 -3 11692 11960 11695 -3 12915 3456 13298 -3 13008 12915 13298 -3 3456 13490 12835 -3 13298 3456 12835 -3 13593 11864 11636 -3 35793 35911 11627 -3 33328 33437 33436 -3 2275 33457 2143 -3 8339 12208 13286 -3 11637 13123 5053 -3 13040 13039 12945 -3 2879 439 12753 -3 20395 20372 3537 -3 11805 5054 2913 -3 23198 23296 23197 -3 16919 16760 15275 -3 33666 13004 17454 -3 5692 13086 12992 -3 14131 14130 14032 -3 11994 11993 11909 -3 35497 35387 35855 -3 14033 14131 14032 -3 13356 13357 13451 -3 9192 10934 7345 -3 13646 13645 13547 -3 13452 13548 13547 -3 13548 13646 13547 -3 13744 13743 13645 -3 24568 23662 23794 -3 35639 35844 35703 -3 22011 24657 24656 -3 12530 12529 12440 -3 12710 12709 12619 -3 23749 24652 24019 -3 12799 12798 12709 -3 12620 12710 12619 -3 33485 33604 33603 -3 12710 12799 12709 -3 13612 13860 2879 -3 11805 13400 5054 -3 12238 12237 12154 -3 14651 23971 23912 -3 5856 14164 12729 -3 8001 4525 5054 -3 12436 12435 12349 -3 12367 13383 12729 -3 14271 11132 11954 -3 25445 25527 25444 -3 11406 29813 19233 -3 26335 26334 30889 -3 19029 28254 28132 -3 29680 30612 28494 -3 26941 28548 30332 -3 27134 27135 27253 -3 27017 27018 27134 -3 22526 22525 22427 -3 35632 35665 35555 -3 22625 22624 22525 -3 22526 22625 22525 -3 22625 22724 22723 -3 1029 12301 12933 -3 9922 14179 12743 -3 23348 22201 25679 -3 29547 28997 27410 -3 31790 31896 31789 -3 8580 10091 14231 -3 15204 15275 15404 -3 22731 23035 21135 -3 23297 23394 23296 -3 12323 12409 12322 -3 24758 25206 25653 -3 10705 16014 16152 -3 1996 2927 11773 -3 9012 5466 1252 -3 11891 13190 11890 -3 11791 1996 11773 -3 11891 11890 12303 -3 14186 14067 11895 -3 1016 12218 12303 -3 12218 11891 12303 -3 6511 5697 8561 -3 11953 1016 12303 -3 12501 12500 12411 -3 13416 7286 9641 -3 22624 22625 22723 -3 21681 20573 21394 -3 9279 21281 5863 -3 11910 11994 11909 -3 20399 21215 20395 -3 23035 22066 21134 -3 13871 14161 14163 -3 12525 12615 12524 -3 22724 22823 22822 -3 5604 1029 12721 -3 22723 22724 22822 -3 22922 22921 22822 -3 22823 22922 22822 -3 19540 23020 18651 -3 33057 33162 33056 -3 31260 31325 31324 -3 34313 34451 34312 -3 33162 33267 33161 -3 34430 34429 34291 -3 19806 17964 18246 -3 34963 34962 34833 -3 12705 12704 12614 -3 9922 12821 14179 -3 15327 13682 11708 -3 11769 11853 11768 -3 5451 5585 5450 -3 23125 22928 22531 -3 22815 22914 22814 -3 12397 8540 8432 -3 13214 12387 10115 -3 11522 11589 11521 -3 13214 10115 12461 -3 12641 13214 12461 -3 5549 15658 5591 -3 12387 12476 10115 -3 13031 13408 11567 -3 9675 9789 14281 -3 13408 13031 11719 -3 13285 12641 12461 -3 35697 35782 11719 -3 13408 13285 11567 -3 12179 12178 12096 -3 12097 12179 12096 -3 8795 23365 16620 -3 1150 14738 13182 -3 1016 11953 13498 -3 12555 1016 13498 -3 31598 31693 31597 -3 32098 32198 32097 -3 126 8023 11356 -3 32299 32298 32197 -3 14033 14032 13934 -3 14227 14226 14130 -3 11248 9192 7345 -3 27045 28352 25131 -3 13261 13357 13260 -3 13451 13452 13547 -3 13554 13553 13457 -3 13458 13363 29160 -3 12620 12619 12529 -3 12530 12620 12529 -3 26336 26335 30889 -3 12441 12530 12440 -3 20618 21207 1969 -3 26337 26336 30888 -3 35848 29553 35723 -3 22343 16037 3861 -3 27760 27497 26594 -3 20721 18272 20802 -3 13762 8527 13861 -3 17982 23313 19637 -3 13261 13260 13165 -3 12799 12710 12800 -3 13166 13261 13165 -3 13357 13356 13260 -3 10934 9344 8304 -3 23114 23113 23015 -3 35576 35825 35436 -3 9344 10934 9337 -3 7345 10934 8304 -3 35832 12132 35356 -3 35706 13280 11401 -3 13210 35729 11623 -3 14019 14117 14018 -3 3985 11401 11869 -3 12948 12949 13042 -3 8902 9117 13684 -3 12301 9922 12743 -3 16915 25603 16916 -3 9633 12288 35690 -3 18332 18513 18484 -3 12652 28723 12562 -3 11883 12563 13306 -3 14276 11883 13306 -3 688 8867 9772 -3 27081 11839 27198 -3 19928 19636 18026 -3 24016 23949 24695 -3 16613 18177 20192 -3 12524 12614 12523 -3 11598 11597 11530 -3 12378 15204 15078 -3 11531 11598 11530 -3 19882 17653 13054 -3 10939 22537 21135 -3 31175 31176 31239 -3 13832 13831 13733 -3 11472 11471 11421 -3 3049 3330 9992 -3 12012 12011 11927 -3 1996 3330 3049 -3 35139 21929 35140 -3 2927 1996 3049 -3 4254 3330 24356 -3 21832 21833 21927 -3 22605 22606 22704 -3 20799 20800 20881 -3 11580 11579 32352 -3 4060 14149 13756 -3 7445 10591 900 -3 12522 12612 12521 -3 4262 20120 2790 -3 1758 15327 11708 -3 12702 12701 12611 -3 26002 25947 26219 -3 13370 12464 23468 -3 12301 12743 12933 -3 25206 26002 26219 -3 11550 11624 12563 -3 17969 17970 20448 -3 11883 11550 12563 -3 11550 7558 3472 -3 11624 11550 3472 -3 7558 14066 8042 -3 3472 7558 8042 -3 14066 13803 12037 -3 8042 14066 12037 -3 13121 12116 12037 -3 13803 13121 12037 -3 14159 15245 14063 -3 13121 14063 12116 -3 12278 12363 10118 -3 8691 12278 10118 -3 20731 18630 17799 -3 11911 11910 11824 -3 29000 29259 28605 -3 23254 24158 26421 -3 18191 3310 23145 -3 23724 24473 24641 -3 11475 11539 11474 -3 21399 21385 20574 -3 11475 11474 11424 -3 35479 35523 35475 -3 11606 11605 11538 -3 11539 11538 11474 -3 11932 12016 11931 -3 11539 11606 11538 -3 11932 11931 11845 -3 12016 12015 11931 -3 11681 11762 11680 -3 11846 11845 11761 -3 11681 11680 11605 -3 11762 11846 11761 -3 11606 11681 11605 -3 11762 11761 11680 -3 12097 12096 12015 -3 12016 12097 12015 -3 16450 4061 16919 -3 12262 12261 12178 -3 8567 15078 15077 -3 19002 18933 25343 -3 6652 30806 29286 -3 22606 22705 22704 -3 7991 126 11356 -3 11341 8567 15077 -3 14166 14265 14175 -3 24258 21 24660 -3 13935 13934 13836 -3 13935 14033 13934 -3 9192 11568 10265 -3 10934 9192 10265 -3 12435 12524 12434 -3 13357 13452 13451 -3 35629 35661 35861 -3 13458 13554 13457 -3 20321 20318 14691 -3 13563 20321 14691 -3 17101 15024 16614 -3 13563 14691 16936 -3 13882 13883 11881 -3 35871 35399 35630 -3 2384 5695 3195 -3 20555 20637 20554 -3 29291 28865 28722 -3 14150 20403 17007 -3 13847 17101 4521 -3 18072 18073 18164 -3 3538 14334 14972 -3 15024 16936 16614 -3 12978 13072 12977 -3 24475 24143 24313 -3 23424 20964 22145 -3 13166 13165 13071 -3 13087 13180 14155 -3 7855 22856 15471 -3 20699 20698 20784 -3 22856 3183 15471 -3 10443 10457 10563 -3 16611 15200 13084 -3 32304 32303 32202 -3 12125 12207 13326 -3 35880 7758 10510 -3 32005 32004 31903 -3 11879 11792 25136 -3 3967 11503 7704 -3 20882 20962 20961 -3 15534 15402 24163 -3 21300 22431 22364 -3 23035 22162 22066 -3 29684 28610 27411 -3 20800 20799 20717 -3 15597 15464 12449 -3 29434 29571 13652 -3 35414 35535 35434 -3 22162 22065 22066 -3 18260 18165 18166 -3 691 13334 13558 -3 23369 3537 19980 -3 20395 21213 21208 -3 13489 9632 3930 -3 21586 21495 21780 -3 16919 4060 16760 -3 4525 9980 2913 -3 13652 13554 29434 -3 21970 21494 21875 -3 3179 10709 35352 -3 12135 12927 12120 -3 11928 12012 11927 -3 26338 26337 30887 -3 12429 12518 12428 -3 12093 12092 12011 -3 12518 12608 12517 -3 12608 12607 12517 -3 12608 12698 12607 -3 12698 12697 12607 -3 12719 13763 13665 -3 12787 12786 12697 -3 8023 126 563 -3 28560 28689 28559 -3 20012 23435 20664 -3 111 13370 23468 -3 12883 12976 12882 -3 11759 11758 11677 -3 4061 4060 16919 -3 13070 13069 12975 -3 24797 25076 25140 -3 35486 35540 35572 -3 8155 16009 20069 -3 11769 26739 26853 -3 32731 32843 32730 -3 19212 22921 22922 -3 32843 32951 32842 -3 21033 21034 18741 -3 33323 33324 33432 -3 22011 23851 25457 -3 28375 28376 30098 -3 1879 5604 12455 -3 1029 12933 12721 -3 4011 16953 691 -3 11399 12899 12807 -3 32951 33057 32950 -3 15359 15490 15115 -3 34145 34283 34144 -3 34451 34588 34450 -3 1144 13182 13181 -3 11753 11883 14276 -3 34278 34416 34277 -3 20011 21591 20498 -3 24149 24148 25947 -3 5604 12721 12455 -3 35606 35650 35754 -3 21071 23178 20016 -3 12976 13070 12975 -3 20446 20447 20531 -3 22804 22903 22902 -3 13164 13163 13069 -3 15155 20010 15734 -3 14910 16005 21500 -3 13090 13184 13765 -3 14912 12626 8000 -3 13184 13764 13765 -3 4196 20093 12362 -3 8000 12626 13090 -3 12626 13184 13090 -3 13643 13741 13740 -3 20010 21684 20327 -3 16167 14912 8000 -3 20072 14912 16167 -3 16918 13085 15276 -3 20327 20072 16167 -3 1144 1150 13182 -3 11358 13088 20093 -3 13085 4196 12362 -3 19796 19797 30502 -3 15327 11205 13682 -3 14248 13956 21591 -3 12731 12823 35491 -3 13676 35800 13578 -3 7892 8008 10983 -3 19644 29684 6787 -3 22449 19328 17859 -3 13589 11621 14265 -3 13161 13160 13066 -3 13837 13935 13836 -3 15078 15404 15537 -3 15077 15078 15537 -3 12349 12435 12348 -3 12614 12613 12523 -3 15864 14948 12378 -3 14945 21146 15195 -3 23527 26064 26065 -3 25909 16002 16001 -3 35792 35382 35913 -3 13302 11550 11883 -3 11753 13302 11883 -3 9551 7558 11550 -3 13302 9551 11550 -3 13968 14066 7558 -3 15024 13563 16936 -3 35735 35898 35389 -3 14948 15460 15204 -3 15865 15864 12378 -3 13072 13166 13071 -3 12885 12978 12884 -3 12179 12262 12178 -3 12433 12432 12346 -3 12347 12346 12261 -3 12262 12347 12261 -3 22928 20784 22531 -3 12347 12433 12346 -3 13329 10939 21134 -3 23418 23127 23223 -3 20800 20882 20881 -3 21489 21482 22637 -3 18740 18642 21032 -3 11541 11540 11476 -3 14971 15047 12719 -3 20545 20627 20544 -3 25033 21451 21966 -3 13961 2235 8478 -3 9551 13968 7558 -3 12547 13803 14066 -3 13968 12547 14066 -3 14255 13121 13803 -3 24312 22271 24892 -3 26033 26175 26174 -3 12808 19668 7300 -3 21146 21067 15195 -3 14259 12538 11105 -3 18173 16162 17755 -3 12468 20663 16641 -3 18599 18698 23216 -3 12711 12800 12710 -3 16162 15741 15605 -3 14233 14232 14136 -3 28821 28820 28688 -3 1016 35938 9921 -3 12135 13030 12935 -3 7345 8304 14228 -3 14229 7345 14228 -3 25120 27045 25131 -3 15275 16760 15404 -3 16760 16603 15404 -3 26341 26340 30884 -3 11571 13008 12822 -3 16453 16162 15605 -3 6854 30733 22983 -3 15741 15027 15028 -3 12698 12787 12697 -3 30934 30933 30879 -3 25273 11879 25274 -3 11928 11927 11841 -3 11678 11677 11602 -3 11603 11678 11602 -3 13070 13164 13069 -3 18993 23243 28342 -3 12897 23369 19980 -3 20291 20376 20375 -3 13172 13171 13077 -3 15605 15741 15028 -3 26057 26002 25206 -3 1658 25731 25730 -3 12547 14255 13803 -3 15118 14159 14257 -3 33735 33734 33607 -3 22524 22623 22523 -3 14255 14159 13121 -3 34009 34145 34008 -3 20102 20575 20574 -3 35753 35571 35458 -3 12379 451 19233 -3 14561 21071 20016 -3 24131 23877 25301 -3 4196 11358 20093 -3 20436 23601 20437 -3 14691 16601 11946 -3 22068 22067 21127 -3 20318 21125 20315 -3 21964 18837 21406 -3 23551 24754 25814 -3 23877 14561 20016 -3 13646 13744 13645 -3 12269 21243 21605 -3 13450 13546 13545 -3 20662 9405 20647 -3 21834 21929 21928 -3 13449 13450 13545 -3 13083 12826 3929 -3 20582 5692 5693 -3 12464 12200 13683 -3 13472 13569 1017 -3 5987 7456 10261 -3 20188 17771 17772 -3 13667 3729 13303 -3 35677 9633 35690 -3 16614 13699 23462 -3 16614 16936 13699 -3 12254 8795 16620 -3 16936 11946 13699 -3 21112 21200 21111 -3 16928 4682 15344 -3 20194 21136 13303 -3 4521 16614 23462 -3 11617 11693 13568 -3 3729 20194 13303 -3 13956 15157 21591 -3 15157 20412 15735 -3 13209 12042 12659 -3 180 3400 3361 -3 15027 9640 6004 -3 15028 15027 6004 -3 15236 15364 7470 -3 3582 9452 10148 -3 14166 13589 14265 -3 13589 12304 12390 -3 13067 13066 12972 -3 13067 13161 13066 -3 23005 23006 23103 -3 7454 18175 7363 -3 12349 12348 12263 -3 12524 12523 12434 -3 16449 3668 16450 -3 2786 7064 21067 -3 25592 25593 25734 -3 22055 2760 22052 -3 23 3667 6004 -3 25505 24743 25302 -3 8345 8344 3735 -3 11473 11537 11472 -3 23223 23321 23412 -3 5191 5695 2384 -3 11206 13374 13375 -3 1385 5191 2384 -3 23056 22957 8478 -3 12716 11206 13375 -3 4669 2343 5074 -3 17101 16614 4521 -3 21023 21022 20939 -3 12378 14948 15204 -3 13072 13071 12977 -3 12793 12885 12792 -3 13585 13683 12389 -3 23393 23392 23295 -3 13739 13837 13738 -3 13640 13641 13738 -3 12883 12882 12790 -3 20456 18071 17980 -3 12612 12702 12611 -3 12791 12883 12790 -3 12791 12790 12701 -3 12702 12791 12701 -3 11477 11541 11476 -3 12976 12975 12882 -3 9640 23 6004 -3 2653 21201 2760 -3 13862 13961 8478 -3 20708 20707 20626 -3 11143 4767 4766 -3 35859 35360 35827 -3 14905 10233 3667 -3 23 14905 3667 -3 13013 6768 27779 -3 11414 11413 31407 -3 23734 23733 24524 -3 26342 26341 30883 -3 33162 33161 33056 -3 25994 4536 4669 -3 33324 33433 33432 -3 34809 34808 34680 -3 23747 24840 24102 -3 5998 13330 22175 -3 30985 31046 30984 -3 26314 26315 20887 -3 35737 35677 35690 -3 35699 35686 35604 -3 3988 25447 24024 -3 26216 24881 24880 -3 14905 13013 10233 -3 22489 22588 22587 -3 23407 9393 23406 -3 14056 14059 13961 -3 12927 12135 12935 -3 13030 13887 12306 -3 22341 22259 22355 -3 15314 1149 13859 -3 21201 21178 2760 -3 11819 11818 11734 -3 13941 13940 13842 -3 14137 14136 14038 -3 11693 13667 13568 -3 15149 13851 21178 -3 23322 21972 25318 -3 13086 70 10447 -3 9759 87 10123 -3 24830 26120 25868 -3 11842 11928 11841 -3 26343 26342 30882 -3 11472 11536 11471 -3 11603 11602 11535 -3 28689 28821 28688 -3 5284 5285 15479 -3 22334 23132 22145 -3 13895 8881 10254 -3 19558 29126 21294 -3 13204 10252 7682 -3 24522 25632 23588 -3 19240 29697 28017 -3 12392 11753 9804 -3 30686 28017 28426 -3 14276 9804 11753 -3 11429 11487 11486 -3 6956 11486 227 -3 20640 20641 20721 -3 7056 227 11553 -3 8106 7990 12061 -3 35469 35759 35512 -3 13489 13370 9632 -3 35811 35812 35697 -3 14136 14232 14135 -3 18439 20859 20777 -3 28889 13267 13172 -3 14136 14135 14037 -3 13267 13266 13171 -3 13458 13457 13362 -3 35482 35868 35751 -3 13363 13362 13266 -3 13842 13841 13743 -3 13363 13267 29023 -3 13546 13644 13643 -3 13744 13842 13743 -3 9201 9803 11801 -3 13545 13546 13643 -3 26604 26603 26507 -3 16005 16006 21500 -3 30078 16310 11551 -3 27518 30686 28426 -3 12390 2915 12479 -3 6791 12904 16459 -3 12390 12479 12542 -3 11621 12390 12542 -3 16462 18118 18475 -3 1065 12394 2915 -3 29009 28875 27294 -3 35741 35934 35645 -3 12119 11871 8683 -3 12111 12119 8683 -3 20393 20394 20477 -3 10709 12111 8683 -3 27866 27643 27549 -3 35601 35352 13867 -3 11621 12542 13194 -3 14265 11621 13194 -3 32949 32948 32840 -3 33055 33160 33054 -3 16459 15220 33467 -3 33611 33738 33610 -3 20474 20473 20389 -3 447 3206 12904 -3 7456 12544 10261 -3 9012 1252 2608 -3 6791 447 12904 -3 19980 3537 5353 -3 12973 12972 12879 -3 12973 13067 12972 -3 15064 23225 21866 -3 2918 22759 10368 -3 12264 12349 12263 -3 12435 12434 12348 -3 12264 12263 12180 -3 12181 12264 12180 -3 16449 16450 15023 -3 12181 12180 12098 -3 26037 26038 26179 -3 13851 13655 21147 -3 25166 12920 24341 -3 24628 20824 24437 -3 13374 13961 13862 -3 504 503 26006 -3 15729 13340 15732 -3 12825 14684 14589 -3 20859 20860 20939 -3 22737 23424 22146 -3 20860 20940 20939 -3 18645 18742 18644 -3 20940 21023 20939 -3 28889 13172 28757 -3 12978 12977 12884 -3 12793 12792 12703 -3 18748 18749 18847 -3 13586 23435 20012 -3 13837 13836 13738 -3 13542 13543 13640 -3 20414 23541 24445 -3 8671 10687 11136 -3 7991 10465 1261 -3 5195 10869 12103 -3 13994 1962 3206 -3 20787 20788 20869 -3 7273 11631 7274 -3 12551 13376 12306 -3 13843 13941 13842 -3 13843 13842 13744 -3 447 13994 3206 -3 17292 13708 19251 -3 13100 12031 13195 -3 23306 23307 23403 -3 14160 13302 11753 -3 12392 14160 11753 -3 6641 9551 13302 -3 14160 6641 13302 -3 13479 13968 9551 -3 6641 13479 9551 -3 13595 12547 13968 -3 13479 13595 13968 -3 13595 13299 14255 -3 12547 13595 14255 -3 15118 14257 14256 -3 14255 13299 14159 -3 12954 12955 13048 -3 12320 12319 12234 -3 12866 12773 12774 -3 35753 35437 35571 -3 11365 9420 7575 -3 11553 7161 7056 -3 26344 26343 30881 -3 35400 11780 11866 -3 27753 4121 12111 -3 12935 13030 12306 -3 11786 3176 12732 -3 31107 31170 31169 -3 11867 11866 810 -3 12848 12941 9076 -3 21400 20064 20050 -3 12461 10115 12551 -3 1328 5561 1210 -3 13887 11567 12551 -3 10115 6007 12551 -3 11567 13887 13030 -3 13031 11567 13030 -3 20103 20104 20615 -3 11567 12461 12551 -3 27901 26344 30880 -3 9189 12364 11806 -3 11536 11603 11535 -3 35412 35745 35656 -3 11422 11472 11421 -3 11536 11535 11471 -3 13087 14155 14154 -3 2819 25209 25147 -3 35591 35728 35478 -3 8269 8377 1598 -3 12424 12338 1962 -3 15078 15204 15404 -3 25197 23877 20016 -3 13994 12424 1962 -3 13285 12281 12641 -3 11853 11852 11768 -3 10362 13000 7072 -3 11430 11488 11487 -3 6888 34055 11429 -3 5563 13112 12118 -3 11487 11488 11553 -3 13354 13355 13449 -3 20366 20372 21138 -3 13258 13259 13354 -3 13355 13450 13449 -3 13259 13258 13163 -3 13164 13259 13163 -3 14038 14136 14037 -3 13259 13355 13354 -3 13940 14038 13939 -3 14232 14231 14135 -3 13940 13939 13841 -3 13842 13940 13841 -3 13938 14036 13937 -3 14038 14037 13939 -3 14227 11645 14226 -3 14134 14133 14035 -3 33738 33737 33610 -3 10604 9201 11801 -3 23813 30871 30870 -3 31998 32098 31997 -3 30956 30901 30957 -3 29087 29224 29086 -3 30825 30826 17893 -3 15471 3183 16921 -3 23465 20580 23439 -3 14187 13600 11570 -3 5053 11961 13486 -3 11470 11469 11419 -3 11420 11470 11419 -3 11534 11533 11469 -3 11470 11534 11469 -3 11601 11600 11533 -3 11534 11601 11533 -3 11676 11675 11600 -3 13158 13157 13063 -3 11601 11676 11600 -3 13064 13158 13063 -3 13253 13252 13157 -3 34280 34279 34141 -3 13671 13003 12635 -3 25613 16442 25614 -3 21033 18740 21032 -3 33359 33360 17272 -3 10827 7536 8556 -3 1408 14149 4060 -3 35718 35359 35635 -3 22267 4664 20322 -3 11695 11571 11504 -3 12699 12788 12698 -3 12880 12973 12879 -3 8527 14323 13766 -3 18177 20308 20192 -3 21208 21213 22147 -3 22759 22660 10368 -3 33488 33607 33487 -3 15200 13054 16613 -3 12099 12181 12098 -3 9279 5863 22147 -3 21178 21147 15730 -3 11934 12018 11933 -3 13275 7363 13372 -3 20615 21409 20575 -3 15338 14244 21202 -3 16156 21203 6518 -3 11608 11607 11540 -3 22145 23230 15193 -3 11764 11848 11763 -3 11541 11608 11540 -3 11848 11934 11847 -3 12018 12017 11933 -3 12704 12703 12613 -3 12614 12704 12613 -3 12704 12793 12703 -3 12885 12884 12792 -3 20499 12170 5692 -3 22238 18117 203 -3 13641 13739 13738 -3 13446 13447 13542 -3 35209 35208 35079 -3 11621 13589 12390 -3 24954 23700 19986 -3 35686 35365 11800 -3 11427 30958 11478 -3 12372 13799 6256 -3 13887 12551 12306 -3 20950 21033 21032 -3 13764 2918 10368 -3 6007 11726 13376 -3 34975 18595 32683 -3 35615 11695 13506 -3 11237 8009 9652 -3 9670 10510 7908 -3 13000 10035 10832 -3 23741 15111 14989 -3 35852 35453 35869 -3 14154 14155 11234 -3 26332 30896 30895 -3 35841 35706 11401 -3 17415 17337 17416 -3 29219 17301 19310 -3 12182 12265 12181 -3 23352 22559 24661 -3 14076 13009 12915 -3 35944 35413 35850 -3 13614 11864 13593 -3 11445 13614 13593 -3 8136 10985 16258 -3 23028 22929 22832 -3 22839 13334 22452 -3 25944 26432 24831 -3 10115 12476 6007 -3 13650 13649 13551 -3 35488 35471 35413 -3 12557 15020 12993 -3 11696 11777 8001 -3 14971 12719 11508 -3 9451 11870 8001 -3 11870 11783 8001 -3 11719 13031 12135 -3 11015 11016 11143 -3 12364 5415 13799 -3 12372 12364 13799 -3 10261 12544 11955 -3 12780 15865 14910 -3 13162 13257 13161 -3 13352 13353 13447 -3 13257 13353 13352 -3 13256 13257 13352 -3 12748 22231 22134 -3 26188 26329 26187 -3 31641 31736 31640 -3 13031 13030 12135 -3 30881 26343 30882 -3 11960 14076 12915 -3 31305 31304 31239 -3 12265 12264 12181 -3 34681 34809 34680 -3 34938 34937 34808 -3 11431 11489 11488 -3 33920 11430 11429 -3 7435 376 7322 -3 265 7322 376 -3 265 376 375 -3 7163 7059 7164 -3 20289 17790 20204 -3 9877 13797 14165 -3 9803 13427 9517 -3 22803 22804 22902 -3 13840 13938 13839 -3 14036 14035 13937 -3 13840 13839 13741 -3 13742 13840 13741 -3 14036 14134 14035 -3 13938 13937 13839 -3 9201 10604 1486 -3 14230 14229 14133 -3 23412 23321 13323 -3 11645 9201 1486 -3 23321 3182 13323 -3 12332 12418 12331 -3 23412 13323 17085 -3 20327 16167 16168 -3 21873 17085 13851 -3 21873 23412 17085 -3 25049 25050 21452 -3 15149 21873 13851 -3 27495 30641 29699 -3 21201 15149 21178 -3 15877 12687 30488 -3 26605 26606 26710 -3 20194 4521 21136 -3 28954 28953 28820 -3 4521 23462 21136 -3 28821 28954 28820 -3 4682 13083 3929 -3 27379 27495 29699 -3 11757 11756 11675 -3 11676 11757 11675 -3 12877 12970 12876 -3 11841 11840 11756 -3 13064 13063 12969 -3 12970 13064 12969 -3 32401 32400 32297 -3 31997 32097 31996 -3 12600 20310 12779 -3 22044 21978 21122 -3 12714 13178 12826 -3 4061 1408 4060 -3 13506 11695 11504 -3 20069 22928 23125 -3 12880 12879 12787 -3 12788 12880 12787 -3 12609 12699 12608 -3 12788 12787 12698 -3 12519 12609 12518 -3 12699 12698 12608 -3 12344 12430 12343 -3 12519 12518 12429 -3 22620 22619 22520 -3 22519 33923 22520 -3 12099 12098 12017 -3 12018 12099 12017 -3 11683 11764 11682 -3 11848 11847 11763 -3 11683 11682 11607 -3 11608 11683 11607 -3 21482 21483 22830 -3 11764 11763 11682 -3 12897 19980 3183 -3 22856 12897 3183 -3 11345 14148 18181 -3 28078 21177 27961 -3 15204 15460 15275 -3 15744 10939 13329 -3 15460 15148 15275 -3 23006 23104 23103 -3 4101 17082 23435 -3 13297 11548 16007 -3 13543 13641 13640 -3 13352 13447 13446 -3 1970 2915 12390 -3 12304 1970 12390 -3 2223 5699 14223 -3 14224 2223 14223 -3 12012 12093 12011 -3 12175 12174 12092 -3 11504 11571 12822 -3 13008 13298 14081 -3 12551 6007 13376 -3 12476 1328 12477 -3 13664 11446 12202 -3 12202 4121 35468 -3 34416 34553 34415 -3 12915 13009 3456 -3 26362 30901 30900 -3 9075 8969 9076 -3 35407 1615 9804 -3 33219 33324 33218 -3 9309 14160 12392 -3 11627 9309 12392 -3 14263 6641 14160 -3 9309 14263 14160 -3 13577 13479 6641 -3 14263 13577 6641 -3 14060 13595 13479 -3 13577 14060 13479 -3 14077 13299 13595 -3 14060 14077 13595 -3 11462 14277 12828 -3 11462 13962 14277 -3 11132 11462 12828 -3 7385 7273 7274 -3 14116 14115 14017 -3 13384 13322 16648 -3 12725 13864 11780 -3 12646 11552 15746 -3 9405 9630 23236 -3 1871 20645 5589 -3 12424 15596 14950 -3 22917 23016 22916 -3 22138 19807 24622 -3 30882 26342 30883 -3 11132 12828 11869 -3 11954 11132 11869 -3 30880 26344 30881 -3 11401 11954 11869 -3 11870 10011 11783 -3 14084 1879 35797 -3 12338 12424 14950 -3 12415 12414 12328 -3 22719 22718 22619 -3 13537 13538 13635 -3 15596 23073 23074 -3 14950 15596 23074 -3 13448 13544 13543 -3 13353 13448 13447 -3 13756 17094 16603 -3 5054 4525 2913 -3 22620 22719 22619 -3 22148 9279 22147 -3 13009 11893 3456 -3 11791 11773 9655 -3 21366 33702 33701 -3 26362 24831 26363 -3 23297 23296 23198 -3 14077 14256 13299 -3 11432 11490 11489 -3 33920 11431 11430 -3 11490 11556 11555 -3 11489 11490 11555 -3 19112 21864 17894 -3 21864 21298 17894 -3 11936 27203 12021 -3 9993 14165 11003 -3 11801 9803 9517 -3 34000 33999 33864 -3 22903 23002 23001 -3 9517 13427 11332 -3 12456 24732 23632 -3 5693 5692 12992 -3 13427 12456 3322 -3 23296 23393 23295 -3 20664 20582 5693 -3 13586 4101 23435 -3 619 15047 14971 -3 15148 16919 15275 -3 17082 20499 20582 -3 20445 20446 20530 -3 4060 13756 16760 -3 22936 21970 22937 -3 14149 11102 13756 -3 23202 23300 23299 -3 21970 21875 22937 -3 14738 11693 13182 -3 23201 23202 23299 -3 21088 21002 21003 -3 11693 11617 13182 -3 22759 16918 22660 -3 28187 27057 27056 -3 11121 14346 9771 -3 13085 12362 15276 -3 619 3752 15047 -3 12714 11205 15327 -3 1017 12254 16620 -3 23468 12464 13683 -3 23365 23269 16620 -3 11757 11841 11756 -3 15343 15342 14846 -3 12785 12877 12784 -3 11927 11926 11840 -3 12785 12784 12695 -3 12970 12969 12876 -3 12606 12696 12605 -3 12696 12785 12695 -3 4682 3929 15344 -3 13083 12714 12826 -3 11102 8010 17094 -3 14133 14132 14034 -3 14133 14229 14132 -3 14035 14133 14034 -3 14229 14228 14132 -3 20698 20697 22531 -3 29695 29561 28879 -3 6955 6886 6888 -3 12430 12519 12429 -3 12609 12608 12518 -3 22818 22817 22718 -3 12259 12344 12258 -3 22917 22916 22817 -3 22719 22818 22718 -3 13368 23369 12897 -3 22818 22917 22817 -3 13278 12897 22856 -3 34203 34349 2950 -3 11678 11759 11677 -3 13278 13368 12897 -3 12176 12259 12175 -3 11843 11842 11758 -3 12176 12175 12093 -3 12344 12343 12258 -3 12094 12176 12093 -3 12259 12258 12175 -3 13256 13255 13160 -3 13161 13256 13160 -3 13352 13351 13255 -3 13256 13352 13255 -3 13351 13352 13446 -3 13447 13543 13542 -3 13095 3075 12722 -3 1970 12722 2915 -3 9655 11260 5699 -3 20786 18449 18353 -3 12093 12175 12092 -3 14224 14223 14127 -3 3183 7788 16921 -3 12258 12257 12174 -3 6007 12477 11726 -3 21135 23035 21134 -3 12764 12765 12856 -3 27781 17293 17292 -3 11893 8684 13490 -3 20787 20869 18449 -3 18545 18544 18449 -3 3456 11893 13490 -3 12770 12862 12861 -3 4925 2366 2638 -3 12149 12150 12232 -3 29089 29088 28953 -3 22617 22716 22616 -3 14313 14312 14214 -3 14215 14313 14214 -3 20949 21032 18545 -3 11405 29398 7287 -3 24831 26362 30900 -3 30894 26332 30895 -3 6923 11704 6924 -3 35877 35792 35691 -3 34809 34938 34808 -3 35579 35928 12208 -3 35910 35786 35489 -3 12743 12744 13875 -3 12744 12743 14183 -3 32730 32842 32729 -3 12933 12743 13875 -3 23349 7855 23056 -3 6262 13674 794 -3 33182 33181 33076 -3 13368 20399 23369 -3 22907 23006 23005 -3 34942 35071 34941 -3 11777 9451 8001 -3 13917 14015 13916 -3 12933 13875 4528 -3 12721 12933 4528 -3 12628 192 33948 -3 12222 9309 11627 -3 12455 12721 4528 -3 12473 12222 11627 -3 38 13890 13333 -3 12366 12455 4528 -3 16912 16753 16754 -3 17372 35067 35197 -3 14231 14230 14134 -3 22410 22508 22507 -3 13939 14037 13938 -3 14135 14231 14134 -3 14135 14134 14036 -3 14037 14135 14036 -3 21281 21206 5863 -3 23073 12663 4416 -3 2793 12223 13790 -3 21871 25635 25578 -3 16931 11718 13055 -3 13524 35539 35809 -3 12911 14263 9309 -3 12222 12911 9309 -3 11433 11491 11490 -3 11432 11431 33786 -3 11491 11557 11556 -3 11490 11491 11556 -3 11557 11631 11630 -3 11556 11557 11630 -3 22040 2674 17816 -3 35567 35543 35587 -3 11234 11121 9771 -3 23074 23073 4416 -3 12884 12977 12883 -3 14910 21500 23392 -3 12792 12884 12791 -3 13071 13070 12976 -3 12613 12703 12612 -3 12977 12976 12883 -3 12523 12613 12522 -3 12792 12791 12702 -3 12434 12523 12433 -3 12703 12702 12612 -3 12348 12434 12347 -3 12613 12612 12522 -3 12263 12348 12262 -3 12523 12522 12433 -3 12180 12263 12179 -3 12434 12433 12347 -3 12098 12180 12097 -3 12348 12347 12262 -3 12017 12098 12016 -3 12263 12262 12179 -3 12017 12016 11932 -3 12180 12179 12097 -3 11933 12017 11932 -3 12098 12097 12016 -3 35764 35727 35763 -3 4948 2790 15637 -3 12899 13762 13861 -3 35527 35707 35834 -3 20049 20050 20540 -3 20373 20457 20456 -3 12200 4101 13586 -3 1261 8027 9899 -3 11841 11927 11840 -3 14149 16022 11102 -3 12011 12010 11926 -3 11927 12011 11926 -3 12257 12256 12173 -3 12174 12257 12173 -3 8682 6889 1408 -3 16928 15344 16164 -3 20310 20309 12779 -3 6889 16164 1408 -3 13423 21862 21755 -3 6889 16928 16164 -3 20533 20534 21301 -3 21090 12600 21004 -3 19997 19965 19966 -3 34553 34681 34552 -3 20870 20950 20949 -3 35510 35922 35885 -3 12430 12429 12343 -3 19980 5353 7788 -3 12094 12093 12012 -3 12013 12094 12012 -3 12013 12012 11928 -3 11929 12013 11928 -3 11759 11843 11758 -3 11929 11928 11842 -3 11677 11676 11601 -3 11843 11929 11842 -3 11471 11535 11470 -3 11602 11601 11534 -3 11421 11471 11420 -3 11535 11602 11534 -3 10809 4503 9304 -3 11535 11534 11470 -3 5466 2651 1252 -3 35929 35375 35807 -3 13791 13333 2902 -3 13600 5053 13486 -3 18641 18545 18642 -3 20869 20870 20949 -3 31369 31368 31301 -3 7275 7386 7274 -3 4664 22828 2477 -3 900 10591 12898 -3 14128 14224 14127 -3 12567 15595 15594 -3 12175 12258 12174 -3 14128 14127 14029 -3 11279 16010 23028 -3 12343 12342 12257 -3 13456 13552 13455 -3 23027 20783 20784 -3 31725 31825 31824 -3 12823 24613 35870 -3 11445 13593 13490 -3 34834 34963 34833 -3 10362 7072 14312 -3 8684 11445 13490 -3 13576 13577 14263 -3 2366 1155 2638 -3 12911 13576 14263 -3 14260 14060 13577 -3 13576 14260 13577 -3 14260 12198 14077 -3 14060 14260 14077 -3 26332 30894 30893 -3 3192 14256 14077 -3 12198 3192 14077 -3 12769 12770 12861 -3 15519 1526 15518 -3 23013 23111 23110 -3 12862 12955 12954 -3 14313 10362 14312 -3 13170 13169 13075 -3 5869 4098 1273 -3 13000 13410 7072 -3 12743 14179 14183 -3 12663 13696 21392 -3 4119 6005 794 -3 30937 30995 30936 -3 29132 29818 27531 -3 23016 23015 22916 -3 20582 20499 5692 -3 20065 20102 20574 -3 25373 23943 23562 -3 24591 12717 24370 -3 4416 12663 21392 -3 13696 19991 19990 -3 30886 26338 30887 -3 30890 26334 30891 -3 35913 35892 35628 -3 21392 13696 19990 -3 32092 32192 32091 -3 25336 25335 25381 -3 20707 20708 20789 -3 25918 21871 24459 -3 12531 12530 12441 -3 23024 21489 22537 -3 14831 22731 22243 -3 13841 13939 13840 -3 14037 14036 13938 -3 18175 17561 14684 -3 20698 23424 22737 -3 22559 24708 24661 -3 2263 5469 2262 -3 33643 33770 33642 -3 24787 23721 25179 -3 6861 27756 29543 -3 15469 13985 21481 -3 18269 19808 3801 -3 11434 11492 11491 -3 33786 11433 11432 -3 11492 11558 11557 -3 11491 11492 11557 -3 11558 11632 11631 -3 11557 11558 11631 -3 7272 11630 7273 -3 28954 29089 28953 -3 12703 12792 12702 -3 8801 8693 8694 -3 35425 35940 35932 -3 12884 12883 12791 -3 10586 12 11970 -3 35576 404 66 -3 11715 10586 11970 -3 22935 10705 16152 -3 11143 4766 4632 -3 11015 11143 4632 -3 11084 11057 13779 -3 10208 10327 10326 -3 12615 12614 12524 -3 7919 8547 10746 -3 12350 12436 12349 -3 12525 12524 12435 -3 21952 22650 22550 -3 35385 8868 8040 -3 13549 13647 13548 -3 13358 13357 13261 -3 20372 20395 21208 -3 21206 21281 15469 -3 11636 5562 12928 -3 18868 19365 18968 -3 11763 11762 11681 -3 11847 11846 11762 -3 11540 11607 11539 -3 11682 11763 11681 -3 11682 11681 11606 -3 11607 11682 11606 -3 21215 22150 21213 -3 29223 29360 29222 -3 34276 34275 34137 -3 26334 30890 30889 -3 21833 21834 21928 -3 21944 21945 2409 -3 19765 19474 15617 -3 22704 22705 22803 -3 12257 12342 12256 -3 12342 12341 12256 -3 12428 12427 12341 -3 12342 12428 12341 -3 28008 27892 12426 -3 12427 12516 12426 -3 24030 23971 30624 -3 32400 32399 32296 -3 29898 30029 29897 -3 20530 20531 20612 -3 563 126 21 -3 23394 23393 23296 -3 4523 11356 10242 -3 12899 12993 13762 -3 11664 11663 11588 -3 35416 35481 35873 -3 11552 12646 1832 -3 11471 11470 11420 -3 11758 11757 11676 -3 11602 11677 11601 -3 11842 11841 11757 -3 11677 11758 11676 -3 2223 9655 5699 -3 11758 11842 11757 -3 19103 20673 18417 -3 11773 11727 11260 -3 3189 3049 11070 -3 27057 28371 28370 -3 27731 27732 27846 -3 3330 4254 9992 -3 22506 22507 22605 -3 22120 22216 22215 -3 13178 13273 3724 -3 12826 13178 3724 -3 13682 11562 14248 -3 13178 15327 1758 -3 12767 12859 12858 -3 12766 12767 12858 -3 13701 8419 8035 -3 10837 7702 9871 -3 33868 34003 33867 -3 19991 20455 20452 -3 14030 14128 14029 -3 13314 11777 11696 -3 12258 12343 12257 -3 14030 14029 13931 -3 20783 20699 20784 -3 12429 12428 12342 -3 17303 24566 24565 -3 10737 9060 11263 -3 35882 9749 12120 -3 11780 13864 13476 -3 7274 11632 7275 -3 30884 26340 30885 -3 16341 16494 14161 -3 12201 14 5602 -3 14163 13322 12914 -3 12236 12321 12320 -3 12913 12914 14183 -3 12913 14163 12914 -3 19999 19968 19969 -3 14179 12913 14183 -3 25708 25706 4243 -3 23230 22452 15193 -3 34936 34937 35065 -3 11888 12222 12473 -3 12384 11888 12473 -3 12368 12911 12222 -3 11888 12368 12222 -3 13192 13576 12911 -3 12368 13192 12911 -3 30883 26341 30884 -3 13985 8155 21481 -3 11467 11531 11466 -3 25587 24318 11855 -3 7855 15471 23056 -3 10939 21135 21134 -3 20777 20695 18343 -3 13068 13162 13067 -3 24404 25587 11855 -3 35935 35534 35424 -3 19990 19991 20452 -3 12269 24200 21243 -3 13192 10347 14260 -3 17419 17508 17507 -3 13576 13192 14260 -3 10347 13284 12198 -3 14691 20318 16601 -3 14260 10347 12198 -3 3668 4061 16450 -3 35870 35627 12823 -3 22637 22836 22243 -3 22930 23029 23024 -3 13743 13841 13742 -3 13939 13938 13840 -3 20784 20698 22531 -3 16918 15276 22660 -3 29089 29226 29225 -3 23127 23029 23223 -3 25062 24513 24849 -3 21453 25626 25728 -3 22807 22808 22906 -3 11694 11617 13569 -3 13284 13969 3192 -3 12198 13284 3192 -3 11435 11493 11492 -3 33659 11434 11433 -3 11493 11559 11558 -3 11492 11493 11558 -3 11559 11633 11632 -3 11558 11559 11632 -3 10845 11008 13685 -3 8439 810 13476 -3 8432 8325 12397 -3 11763 11847 11762 -3 22808 22907 22906 -3 3201 11004 3199 -3 22609 22610 22708 -3 13569 13568 12254 -3 22510 22511 22609 -3 22708 22709 22807 -3 12443 25306 25998 -3 22709 22808 22807 -3 24402 24289 21822 -3 22610 22709 22708 -3 27266 12540 23491 -3 24980 24987 26093 -3 24241 24528 24171 -3 25306 25445 25998 -3 3752 5337 11399 -3 25356 24164 25374 -3 13558 3861 16037 -3 25323 24528 24241 -3 17800 23216 23118 -3 21697 2768 13099 -3 4121 12202 12111 -3 12202 12119 12111 -3 26429 11545 11481 -3 11464 11529 26622 -3 28312 21353 28195 -3 35842 35867 30423 -3 20699 20964 20698 -3 19362 23128 20948 -3 20964 22334 22145 -3 35557 35373 35781 -3 35466 35670 35902 -3 13219 13613 8089 -3 35572 35379 35857 -3 14019 14018 13920 -3 11801 9517 1996 -3 1996 9517 3330 -3 11791 11801 1996 -3 9517 11332 3330 -3 12428 12517 12427 -3 12517 12516 12427 -3 12971 12970 12877 -3 12878 12971 12877 -3 25468 25467 16751 -3 27892 27777 12340 -3 24451 17671 21290 -3 13110 13146 23250 -3 21123 21122 20309 -3 23467 21090 6517 -3 8023 563 562 -3 10242 8023 562 -3 738 1731 284 -3 35748 35401 35865 -3 13783 2927 3189 -3 11356 8023 10242 -3 11773 2927 11727 -3 3049 9992 11070 -3 9655 11773 11260 -3 2927 3049 3189 -3 2638 1155 219 -3 2927 13783 11727 -3 12501 12591 12500 -3 12681 12680 12590 -3 27148 27638 19243 -3 10591 12294 12898 -3 8882 20011 17082 -3 21300 21301 22431 -3 20455 21232 21231 -3 12409 12408 12322 -3 12253 23349 2235 -3 18545 18641 18544 -3 30602 30534 27054 -3 22134 22230 22133 -3 20452 20455 21231 -3 21232 22254 22253 -3 21231 21232 22253 -3 22254 15472 15151 -3 22253 22254 15151 -3 15472 21297 21296 -3 15151 15472 21296 -3 5699 9401 14222 -3 13932 14030 13931 -3 13430 12987 21296 -3 12343 12429 12342 -3 13932 13931 13833 -3 9784 9900 35943 -3 12518 12517 12428 -3 7460 13779 11057 -3 12807 12899 13861 -3 13979 35314 6905 -3 21297 13430 21296 -3 12236 12235 12152 -3 29088 29089 29225 -3 12927 14279 9921 -3 12615 12705 12614 -3 12120 12927 9921 -3 27402 19236 29688 -3 12794 12793 12704 -3 26622 11529 26621 -3 18223 18317 19117 -3 26525 11613 11545 -3 14765 14877 7891 -3 33469 33937 2959 -3 13969 2928 3192 -3 12861 12862 12954 -3 11740 11739 11659 -3 12961 12869 16929 -3 12955 13049 13048 -3 2385 15700 15699 -3 17093 12961 16929 -3 25803 25715 24469 -3 30886 26339 26338 -3 25578 25105 25721 -3 21181 24810 21267 -3 22906 22907 23005 -3 21684 20072 20327 -3 13257 13256 13161 -3 11607 11606 11539 -3 20059 21325 18169 -3 13544 13642 13641 -3 25335 25336 24787 -3 13886 7147 25539 -3 20363 21132 20324 -3 23557 21728 25249 -3 30887 26337 30888 -3 21125 21124 20315 -3 32522 32631 32521 -3 32245 32347 32244 -3 34844 114 6935 -3 34734 15074 15075 -3 13568 13303 12254 -3 12088 1144 13181 -3 13505 11642 13504 -3 24873 24492 25953 -3 13259 13260 13355 -3 13356 13451 13450 -3 12591 12681 12590 -3 12323 12322 12237 -3 21866 15744 13329 -3 12968 12967 12874 -3 12730 12373 12281 -3 11715 11970 1381 -3 13303 21136 8795 -3 13182 11617 13181 -3 33324 33323 33218 -3 26226 24948 26083 -3 34706 34705 34577 -3 29226 29363 29362 -3 33601 33728 33727 -3 11435 11434 33659 -3 11494 11560 11559 -3 11493 11494 11559 -3 13821 13820 13722 -3 11559 11560 11633 -3 12886 12885 12793 -3 5585 5583 5450 -3 12532 12442 27789 -3 14650 14560 14651 -3 14270 11888 12384 -3 25803 24113 25715 -3 35537 35430 35493 -3 12457 12368 11888 -3 14270 12457 11888 -3 13287 13192 12368 -3 12457 13287 12368 -3 5426 10347 13192 -3 13287 5426 13192 -3 5426 12380 13284 -3 10347 5426 13284 -3 9919 13969 13284 -3 12380 9919 13284 -3 8221 2016 9176 -3 9919 7891 13969 -3 11660 11740 11659 -3 12409 12498 12408 -3 13048 13049 13142 -3 12442 12531 12441 -3 12622 12531 12532 -3 24840 25381 24102 -3 23749 24019 23966 -3 21728 24402 21822 -3 24074 24013 26230 -3 14880 15000 14999 -3 18740 21033 18741 -3 12351 12352 12437 -3 12527 12526 12437 -3 23024 22537 10939 -3 23029 23127 21489 -3 13465 12870 12895 -3 12962 12870 4418 -3 12202 11446 12119 -3 13300 10383 12292 -3 35946 28856 28590 -3 11635 13600 14187 -3 13445 13446 13541 -3 13640 13738 13737 -3 13542 13640 13639 -3 13541 13542 13639 -3 12971 13065 12970 -3 13065 13064 12970 -3 13159 13158 13064 -3 13065 13159 13064 -3 11926 11925 11839 -3 11840 11926 11839 -3 15601 24564 16922 -3 25038 26496 23494 -3 12600 12779 21004 -3 23467 6517 23269 -3 14868 8904 10097 -3 23365 23467 23269 -3 21090 21004 6517 -3 11523 11522 11459 -3 1408 16164 14149 -3 13569 12254 1017 -3 30995 30994 30936 -3 31051 31113 31112 -3 12587 12677 12586 -3 20460 20459 20375 -3 35135 35132 2140 -3 10006 10242 370 -3 13348 13443 13347 -3 13443 13539 13442 -3 13539 13538 13442 -3 12058 13115 13114 -3 13931 13930 13832 -3 13539 13637 13636 -3 13637 13735 13636 -3 13833 13931 13832 -3 13735 13833 13832 -3 13734 13735 13832 -3 14029 14028 13930 -3 13931 14029 13930 -3 14127 14126 14028 -3 14029 14127 14028 -3 14223 14222 14126 -3 14127 14223 14126 -3 14223 5699 14222 -3 11260 12126 9401 -3 13559 20404 12987 -3 87 4523 10006 -3 13834 13932 13833 -3 13430 13559 12987 -3 12879 12878 12786 -3 13736 13834 13833 -3 13518 13095 11895 -3 12787 12879 12786 -3 23414 6261 20404 -3 32198 32299 32197 -3 1861 8518 1743 -3 13734 13832 13733 -3 13559 23414 20404 -3 26336 30889 30888 -3 20399 20395 23369 -3 30601 27495 27379 -3 23468 13683 13585 -3 33490 33609 33489 -3 12250 27877 27993 -3 13683 13586 12389 -3 17561 20496 20497 -3 12621 12620 12530 -3 13294 13882 5418 -3 23721 25178 25179 -3 13050 26228 13049 -3 11524 11592 11591 -3 14909 15029 13757 -3 35717 35507 35411 -3 35068 35067 34938 -3 34436 34573 34435 -3 34939 35068 34938 -3 24268 24194 21720 -3 13177 21889 21908 -3 12705 12794 12704 -3 21889 23806 21908 -3 18741 21034 18644 -3 11560 7169 11633 -3 13543 13544 13641 -3 11540 11539 11475 -3 2904 111 23370 -3 13642 13740 13739 -3 12531 12621 12530 -3 9192 7147 11568 -3 21132 21127 20324 -3 12711 12710 12620 -3 3668 8682 4061 -3 13945 23367 15597 -3 11617 13568 13569 -3 20498 15735 12088 -3 15735 1144 12088 -3 11617 11694 13181 -3 23529 22879 24460 -3 12916 35627 35870 -3 13451 13547 13546 -3 13355 13356 13450 -3 13447 13448 13543 -3 20706 20788 20705 -3 12977 13071 12976 -3 13165 13164 13070 -3 11642 12730 12281 -3 12730 13202 1381 -3 13202 11715 1381 -3 12373 12730 1381 -3 23414 12575 13949 -3 30420 21573 27375 -3 17294 30755 7094 -3 34578 34706 34577 -3 29225 29226 29362 -3 29363 29500 29499 -3 29362 29363 29499 -3 12888 12889 12981 -3 11493 33541 11494 -3 11851 11850 11766 -3 12486 12576 8647 -3 24448 25254 21158 -3 11613 11612 11545 -3 30989 30988 30930 -3 35795 35872 35595 -3 35786 35737 35690 -3 34091 21457 34092 -3 12197 12457 14270 -3 14269 12197 14270 -3 13098 13287 12457 -3 12197 13098 12457 -3 12662 29 12465 -3 31240 31305 31239 -3 16532 10209 16686 -3 32299 32402 32298 -3 12617 12616 12526 -3 12438 12527 12437 -3 13360 13455 13359 -3 13551 13550 13454 -3 14248 21591 20011 -3 12870 16606 4418 -3 23225 22930 15744 -3 13178 12714 15327 -3 6261 23414 13949 -3 11446 11635 14187 -3 1018 11864 16969 -3 4504 5696 17089 -3 13160 13255 13159 -3 13446 13445 13350 -3 13351 13350 13254 -3 13255 13351 13254 -3 13254 13253 13158 -3 13445 13541 13540 -3 13159 13254 13158 -3 13350 13349 13253 -3 12090 12091 27548 -3 12010 12091 12009 -3 31894 31893 31787 -3 33265 33264 33159 -3 3189 11070 3846 -3 5415 3189 3846 -3 13538 13539 13636 -3 13735 13734 13636 -3 13330 5998 5466 -3 5466 5998 2651 -3 3930 4063 16608 -3 20310 21123 20309 -3 13091 332 562 -3 14090 13330 5466 -3 370 562 4396 -3 21108 21107 21021 -3 12694 12693 12603 -3 12783 12782 12693 -3 26253 26458 25364 -3 12185 27437 27555 -3 11599 11598 11531 -3 12486 8540 12397 -3 13252 13348 13251 -3 11532 11599 11531 -3 13157 13252 13156 -3 13443 13442 13347 -3 13063 13157 13062 -3 13348 13347 13251 -3 12969 13063 12968 -3 13252 13251 13156 -3 12876 12969 12875 -3 13157 13156 13062 -3 27431 12009 12091 -3 13063 13062 12968 -3 10242 562 370 -3 25511 25515 24561 -3 22934 23245 23244 -3 35368 35653 35729 -3 13735 13736 13833 -3 23327 22934 23244 -3 12972 12971 12878 -3 13539 13540 13637 -3 11953 13589 14166 -3 12879 12972 12878 -3 35773 35654 35530 -3 13498 11953 14166 -3 12575 16294 15065 -3 13162 13161 13067 -3 13949 12575 15065 -3 35857 35480 12285 -3 32402 32401 32298 -3 31511 31598 31510 -3 18061 20532 20448 -3 20543 20625 20624 -3 18072 20456 20457 -3 12527 12617 12526 -3 12828 14277 10011 -3 10035 10739 12919 -3 10481 5426 13287 -3 13098 10481 13287 -3 12469 12380 5426 -3 10481 12469 5426 -3 12813 9919 12380 -3 12469 12813 12380 -3 11697 7891 9919 -3 12813 11697 9919 -3 12588 12587 12497 -3 26058 24535 24343 -3 11869 12828 11870 -3 11544 11543 11479 -3 11480 11544 11479 -3 11476 11540 11475 -3 35896 6862 26480 -3 13641 13642 13739 -3 18073 20457 20542 -3 23370 23468 13585 -3 13838 13837 13739 -3 22537 22637 22243 -3 7147 9192 11248 -3 12621 12531 12622 -3 22836 14831 22243 -3 24113 24107 25715 -3 26471 24717 25340 -3 21489 22637 22537 -3 24997 25356 25501 -3 31328 31395 31394 -3 11642 12281 13504 -3 13165 13260 13164 -3 13450 13451 13546 -3 9201 9344 9803 -3 9344 9337 9803 -3 13071 13165 13070 -3 13260 13259 13164 -3 26333 30891 26334 -3 26339 30885 26340 -3 11686 11685 11610 -3 11686 11767 11685 -3 12298 12384 35581 -3 23719 24920 24919 -3 21113 21026 18735 -3 12054 12055 13403 -3 29638 29637 29499 -3 455 456 21467 -3 29500 29638 29499 -3 12888 12981 12887 -3 13239 13891 6767 -3 4121 27753 35468 -3 11767 11851 11766 -3 12827 13294 13199 -3 35911 35785 12384 -3 4926 5554 13772 -3 13771 10772 8085 -3 20264 17093 20349 -3 29771 29770 29637 -3 34682 34810 34681 -3 28578 21363 28579 -3 31324 31325 31391 -3 34939 34938 34809 -3 34963 35092 34962 -3 35221 35220 35091 -3 35586 35679 35631 -3 35064 35065 35193 -3 11699 12197 14269 -3 11959 11699 14269 -3 12909 13098 12197 -3 11699 12909 12197 -3 13572 10481 13098 -3 12909 13572 13098 -3 13572 12559 12469 -3 10481 13572 12469 -3 11893 13875 8684 -3 12914 13614 11445 -3 14183 11445 8684 -3 12744 14183 8684 -3 13649 13648 13550 -3 13455 13551 13454 -3 13551 13649 13550 -3 13747 13746 13648 -3 13844 13843 13745 -3 13844 13942 13843 -3 13746 13844 13745 -3 13942 13941 13843 -3 16294 22239 22336 -3 11636 1018 5562 -3 11635 11637 13600 -3 11424 11474 11473 -3 13068 13067 12973 -3 13255 13254 13159 -3 12974 13068 12973 -3 13066 13160 13065 -3 13445 13444 13349 -3 13254 13350 13253 -3 12010 12009 11925 -3 11926 12010 11925 -3 102 15215 13012 -3 12731 35700 12642 -3 11785 13315 9120 -3 25369 20749 20666 -3 35767 35843 35945 -3 30872 30926 30871 -3 12466 20264 9676 -3 11674 11755 11673 -3 11674 11673 11598 -3 23600 23941 25278 -3 11599 11674 11598 -3 11755 11754 11673 -3 12694 12783 12693 -3 12426 27892 12340 -3 12783 12875 12782 -3 12968 13062 12967 -3 2608 1252 4110 -3 13183 15048 20156 -3 20839 25716 20757 -3 20624 20625 20705 -3 35695 34730 34981 -3 11570 13486 13148 -3 11961 12566 13896 -3 22537 22243 21135 -3 13486 11961 13896 -3 34730 35695 35435 -3 15210 15083 15737 -3 15065 16294 22336 -3 203 15592 22336 -3 20964 23424 20698 -3 23132 23230 22145 -3 22239 203 22336 -3 25652 25591 24848 -3 30885 26339 30886 -3 4523 10242 10006 -3 23492 25229 25227 -3 203 20453 20454 -3 29816 30472 29563 -3 13638 13736 13735 -3 15592 203 20454 -3 18280 2672 2540 -3 13637 13638 13735 -3 12303 12304 13589 -3 14187 11570 11871 -3 11953 12303 13589 -3 11890 1970 12304 -3 12303 11890 12304 -3 11890 13095 1970 -3 13208 1026 12221 -3 13095 12722 1970 -3 20542 20543 20624 -3 32507 32506 32401 -3 12707 12706 12616 -3 11205 11562 13682 -3 7555 14286 7786 -3 12617 12707 12616 -3 12559 12905 12813 -3 13875 12744 8684 -3 12469 12559 12813 -3 12030 11697 12813 -3 12905 12030 12813 -3 13597 11702 14660 -3 12030 13597 11697 -3 13403 12827 13199 -3 14277 14286 10011 -3 13009 4528 11893 -3 11611 11610 11543 -3 11544 11611 11543 -3 27528 24847 19346 -3 23129 23227 12868 -3 18448 18353 18449 -3 20025 18143 18144 -3 13740 13838 13739 -3 10604 11000 3987 -3 10091 7147 11248 -3 13936 13935 13837 -3 10091 11248 14230 -3 7147 13886 11568 -3 13645 13743 13644 -3 14231 10091 14230 -3 13547 13645 13644 -3 13841 13840 13742 -3 13546 13547 13644 -3 13743 13742 13644 -3 9344 9201 11645 -3 13260 13356 13355 -3 9803 9337 13427 -3 9337 12456 13427 -3 13760 13661 20010 -3 9921 14279 1016 -3 20453 22050 22049 -3 23117 23215 23116 -3 11611 11686 11610 -3 11767 11766 11685 -3 11869 11870 9451 -3 3985 11869 9451 -3 29638 29771 29637 -3 12828 10011 11870 -3 11740 11824 11739 -3 30098 30153 19800 -3 13323 3182 14871 -3 10254 11152 9993 -3 12046 12128 11130 -3 287 12032 4786 -3 13772 13771 8085 -3 4528 13875 11893 -3 12055 12827 13403 -3 10933 4395 4245 -3 12366 4528 14076 -3 11354 10010 11707 -3 20454 20453 22049 -3 1509 8082 1392 -3 22050 22948 20598 -3 20625 20706 20705 -3 4792 1382 14182 -3 31325 31392 31391 -3 11769 11768 11687 -3 26628 11612 11613 -3 12265 12350 12264 -3 12100 12182 12099 -3 12019 12100 12018 -3 12182 12181 12099 -3 26333 30892 30891 -3 12153 12152 12070 -3 31372 31371 31304 -3 33281 33390 33280 -3 34810 34939 34809 -3 31305 31372 31304 -3 34716 34715 34587 -3 33760 33894 33759 -3 12298 35581 12213 -3 32448 32447 32343 -3 34681 34680 34552 -3 5563 12214 35379 -3 21832 34754 21833 -3 35696 35944 35850 -3 13845 13844 13746 -3 13649 13747 13648 -3 23417 23026 21050 -3 20057 23417 21050 -3 13550 13549 13453 -3 13550 13648 13549 -3 13454 13550 13453 -3 13648 13647 13549 -3 11538 11537 11473 -3 32975 32976 33081 -3 11474 11538 11473 -3 11605 11604 11537 -3 26404 29633 27024 -3 12881 12974 12880 -3 11531 11530 11466 -3 13350 13445 13349 -3 25884 26026 26025 -3 35864 35651 35823 -3 20938 21021 20937 -3 1252 2651 6385 -3 14222 9401 14221 -3 2608 338 9012 -3 13062 13156 13061 -3 13251 13347 13250 -3 3846 13315 11785 -3 5723 3846 11785 -3 20205 20291 20290 -3 8567 12378 15078 -3 22049 22050 20598 -3 24505 2006 24417 -3 11418 11468 11417 -3 11468 11532 11467 -3 11467 11466 11416 -3 11532 11531 11467 -3 35910 35489 35837 -3 20598 22948 16775 -3 13766 14432 13668 -3 31594 31689 31593 -3 13347 13442 13346 -3 35602 35711 35447 -3 20460 20545 20459 -3 11871 11570 11872 -3 6008 12479 12394 -3 11570 13148 11872 -3 12642 11701 14074 -3 35350 35701 35889 -3 12298 14269 14270 -3 12731 12642 14074 -3 29900 29899 29770 -3 31508 31595 31507 -3 11468 11467 11417 -3 125 20811 2634 -3 23537 22294 24582 -3 26332 30897 30896 -3 10244 4523 87 -3 23664 23835 22591 -3 15637 22956 13855 -3 3846 11070 13315 -3 13253 13349 13252 -3 20045 20126 20125 -3 12119 14187 11871 -3 13444 13443 13348 -3 12972 13066 12971 -3 13600 13486 11570 -3 13066 13065 12971 -3 13160 13159 13065 -3 1486 10604 3987 -3 11801 11791 11000 -3 14279 12218 1016 -3 20044 20045 20125 -3 3925 3926 15342 -3 23397 23396 23299 -3 12796 12795 12706 -3 13747 13845 13746 -3 30897 26332 30898 -3 28581 33580 33700 -3 11700 11699 11959 -3 12039 11700 11959 -3 11700 12816 12909 -3 11699 11700 12909 -3 12816 12838 13572 -3 12909 12816 13572 -3 20211 20210 20125 -3 12649 12559 13572 -3 12707 12796 12706 -3 20126 20211 20125 -3 12200 11708 4101 -3 13944 13846 29831 -3 13661 21684 20010 -3 15343 3925 15342 -3 14130 14226 14129 -3 14039 14137 14038 -3 14132 14131 14033 -3 1486 3987 14225 -3 13838 13936 13837 -3 14034 14132 14033 -3 14034 14033 13935 -3 13936 14034 13935 -3 14228 14227 14131 -3 14132 14228 14131 -3 8304 11645 14227 -3 14228 8304 14227 -3 12568 13309 12925 -3 8304 9344 11645 -3 9899 126 7991 -3 1261 9899 7991 -3 11892 11891 12218 -3 11356 9278 8680 -3 23313 23312 23214 -3 14279 11892 12218 -3 12981 12980 12887 -3 15342 15215 102 -3 12888 12887 12795 -3 12796 12888 12795 -3 22146 22145 15193 -3 20708 20790 20789 -3 35401 35939 35788 -3 31997 31996 31895 -3 6767 9660 7681 -3 12838 12649 13572 -3 12812 12905 12559 -3 12649 12812 12559 -3 12029 12030 12905 -3 12812 12029 12905 -3 9335 15564 4395 -3 16156 6518 22067 -3 21481 8155 20069 -3 11937 11936 11850 -3 11851 11937 11850 -3 25941 23747 25798 -3 26262 22392 28247 -3 12184 12183 12101 -3 23747 24102 25798 -3 12267 12266 12183 -3 27317 12101 12100 -3 12352 12351 12266 -3 12184 12267 12183 -3 12352 12438 12437 -3 12267 12352 12266 -3 4657 9859 4925 -3 12737 12830 13760 -3 14183 12914 11445 -3 13322 13384 13614 -3 4528 13009 14076 -3 12914 13322 13614 -3 12029 11702 12030 -3 20388 20472 20387 -3 12507 12506 12417 -3 13718 13816 13815 -3 13974 12932 13876 -3 13326 12055 12054 -3 2760 21178 15730 -3 21132 22068 21127 -3 20638 20637 20555 -3 15733 13945 15597 -3 23227 12867 12868 -3 21027 21028 23396 -3 23321 22930 3182 -3 3182 23225 20947 -3 13167 13168 13262 -3 13454 13453 13358 -3 13359 13358 13262 -3 13263 13359 13262 -3 11680 11679 11604 -3 11538 11605 11537 -3 13442 13538 13441 -3 13734 13733 13635 -3 5593 87 9759 -3 87 10006 10123 -3 29771 29900 29770 -3 20297 20296 20210 -3 24067 24006 24007 -3 20211 20297 20210 -3 11469 11533 11468 -3 1975 15600 15736 -3 20382 20381 20296 -3 9401 665 14221 -3 5415 3846 5723 -3 13799 5415 5723 -3 14126 14125 14027 -3 13251 13250 13155 -3 20290 20291 20375 -3 14028 14126 14027 -3 13486 13896 13148 -3 20951 20952 21034 -3 20297 20382 20296 -3 20466 20465 20381 -3 20382 20466 20381 -3 20551 20550 20465 -3 12591 12590 12500 -3 20545 20544 20459 -3 21313 21402 11956 -3 30031 30030 29899 -3 27387 20677 27269 -3 13773 14261 12819 -3 1155 3999 219 -3 22716 22815 22715 -3 13923 13922 13824 -3 13825 13923 13824 -3 20466 20551 20465 -3 20496 17561 19882 -3 14684 17561 20497 -3 33467 32567 15610 -3 16306 9862 16453 -3 20633 20632 20550 -3 20551 20633 20550 -3 20714 20713 20632 -3 12605 12604 12514 -3 29497 29496 29359 -3 28435 28434 28314 -3 12515 12605 12514 -3 33160 33265 33159 -3 11070 9992 24581 -3 13349 13444 13348 -3 20633 20714 20632 -3 13444 13540 13443 -3 13540 13539 13443 -3 12607 12606 12516 -3 13540 13638 13637 -3 10604 11801 11000 -3 13835 13834 13736 -3 14285 35396 35639 -3 12610 12700 12609 -3 12867 21048 20965 -3 19328 22449 7107 -3 13943 13942 13844 -3 13359 13454 13358 -3 24831 30900 30899 -3 13845 13943 13844 -3 33820 9326 33026 -3 22055 22052 21124 -3 27079 27080 27198 -3 31531 31618 31617 -3 19167 18519 19114 -3 33503 33502 33389 -3 31260 31259 31195 -3 22031 3223 22032 -3 20796 20795 20713 -3 13145 16449 15023 -3 20447 20532 20531 -3 29961 13943 13944 -3 11708 8882 4101 -3 13273 13370 13489 -3 13683 12200 13586 -3 23435 17082 20582 -3 14226 1486 14225 -3 14032 14130 14031 -3 23272 33347 33459 -3 31793 31792 31692 -3 33869 33868 33734 -3 32198 32197 32097 -3 10687 7445 6957 -3 19806 34074 34731 -3 13603 11806 12393 -3 33874 33873 33739 -3 20714 20796 20713 -3 448 8671 11136 -3 12092 12091 12010 -3 20878 20877 20795 -3 23435 20582 20664 -3 13062 13061 12967 -3 13189 13190 11891 -3 1739 370 1525 -3 30902 21447 30849 -3 24983 20841 22385 -3 14846 15342 102 -3 3724 13273 13489 -3 16009 23027 22928 -3 20796 20878 20795 -3 13848 15868 16600 -3 33008 33114 33007 -3 64 8677 10740 -3 32994 33100 32993 -3 33051 33052 33156 -3 27783 35469 35512 -3 11781 11700 12039 -3 15023 16450 15148 -3 12121 11781 12039 -3 14945 15195 21978 -3 22044 14945 21978 -3 23225 15064 20947 -3 13367 23323 23026 -3 13074 13073 12979 -3 12980 13074 12979 -3 23245 21952 23244 -3 20878 20958 20957 -3 21952 21951 23244 -3 20877 20878 20957 -3 22650 3861 13558 -3 20958 21041 21040 -3 35512 35759 35349 -3 12980 12981 13074 -3 13075 13169 13074 -3 13169 13168 13074 -3 13455 13454 13359 -3 13264 13263 13168 -3 13169 13264 13168 -3 13360 13359 13263 -3 22452 22354 15193 -3 13264 13360 13263 -3 12908 12816 11700 -3 16450 16919 15148 -3 11781 12908 11700 -3 12908 12199 12838 -3 12816 12908 12838 -3 12199 13710 12649 -3 28087 28204 28203 -3 15331 15023 15460 -3 14948 15069 15460 -3 15023 15148 15460 -3 22930 23024 15744 -3 4418 16606 12737 -3 16606 12830 12737 -3 22258 21313 11956 -3 12706 12705 12615 -3 12706 12795 12705 -3 12616 12706 12615 -3 12795 12794 12705 -3 11845 11844 11760 -3 11680 11761 11679 -3 12177 12260 12176 -3 13930 14028 13929 -3 12345 12344 12259 -3 14028 14027 13929 -3 14225 14224 14128 -3 14031 14129 14030 -3 11469 11468 11418 -3 11419 11469 11418 -3 11466 11465 11415 -3 458 159 2124 -3 11260 11727 12126 -3 5699 11260 9401 -3 13832 13930 13831 -3 12784 12876 12783 -3 13156 13251 13155 -3 15884 4817 11206 -3 13608 11129 35858 -3 13347 13346 13250 -3 12681 12770 12769 -3 14261 8683 12819 -3 20347 20431 20134 -3 12126 9189 9629 -3 20957 20958 21040 -3 20376 20460 20375 -3 22431 20178 20179 -3 20064 20563 20541 -3 12754 12755 8968 -3 9630 1871 5589 -3 35601 13867 13608 -3 17154 2225 5458 -3 12498 12497 12408 -3 11824 11910 11823 -3 13530 26005 13434 -3 11824 11823 11739 -3 11694 13569 11618 -3 12238 12323 12237 -3 22934 23327 20700 -3 29103 29104 29240 -3 29900 30031 29899 -3 20701 22934 20700 -3 23037 22162 23035 -3 32197 32196 32096 -3 12695 12694 12604 -3 14150 13954 20403 -3 22119 22120 22215 -3 12605 12695 12604 -3 15194 19536 20778 -3 12364 13783 5415 -3 20718 20800 20717 -3 26102 23602 23591 -3 11675 11674 11599 -3 11600 11675 11599 -3 13639 13737 13736 -3 13638 13639 13736 -3 12789 12788 12699 -3 12700 12789 12699 -3 16760 13756 16603 -3 12178 12177 12095 -3 12183 12266 12182 -3 12351 12350 12265 -3 13943 14041 13942 -3 16155 23324 18608 -3 2768 22449 20451 -3 13272 21604 21592 -3 12838 12199 12649 -3 13710 12999 12812 -3 12649 13710 12812 -3 12112 12029 12812 -3 12999 12112 12812 -3 11620 11702 12029 -3 12112 11620 12029 -3 8682 1408 4061 -3 21604 12558 12918 -3 13756 11102 17094 -3 20373 20374 20457 -3 12464 1758 12200 -3 13168 13167 13073 -3 9337 10265 12456 -3 22507 22606 22605 -3 14226 14225 14129 -3 13934 14032 13933 -3 3537 12891 5353 -3 23127 21482 21489 -3 20962 20963 21045 -3 13318 14150 17007 -3 22830 12960 22836 -3 13937 14035 13936 -3 14035 14034 13936 -3 20301 20300 20214 -3 12877 12876 12784 -3 21951 21952 22550 -3 11858 12508 24922 -3 12364 12372 11806 -3 7168 11334 8548 -3 35543 35603 35587 -3 10099 288 8657 -3 3077 13695 11644 -3 3926 3930 15215 -3 11821 11907 11820 -3 13273 1758 12464 -3 13370 13273 12464 -3 20627 20708 20626 -3 13367 23227 23323 -3 11598 11673 11597 -3 13286 8035 9871 -3 13717 13716 15952 -3 12286 11076 14570 -3 11528 13326 12054 -3 13914 13913 13815 -3 17605 20218 20217 -3 12171 13570 11861 -3 20811 21400 20050 -3 15868 16300 16600 -3 16600 16300 4122 -3 12980 12979 12886 -3 12887 12980 12886 -3 22812 22911 22910 -3 22713 22812 22811 -3 26366 26332 26367 -3 29360 29497 29359 -3 181 19778 18181 -3 19435 20237 22160 -3 22928 23027 20784 -3 16300 1975 4122 -3 23413 20069 23125 -3 20374 20458 20457 -3 21482 22830 22637 -3 3537 20372 12891 -3 14040 14039 13941 -3 14040 14041 30092 -3 23417 13367 23026 -3 168 20057 14484 -3 21123 22044 21122 -3 23227 23129 23323 -3 12982 24405 25650 -3 22195 26245 11945 -3 8257 14504 14454 -3 12906 14254 15198 -3 11457 11456 31849 -3 34546 34545 34408 -3 24956 24859 24171 -3 22875 21537 26226 -3 24871 15201 19984 -3 11859 11945 22102 -3 20963 21046 21045 -3 4952 619 14971 -3 26332 26366 30898 -3 11480 30958 30957 -3 12616 12615 12525 -3 12526 12616 12525 -3 11931 11930 11844 -3 11761 11845 11760 -3 12701 12700 12610 -3 12611 12701 12610 -3 12177 12176 12094 -3 12095 12177 12094 -3 3987 2223 14224 -3 14129 14225 14128 -3 12981 12982 13075 -3 11533 11532 11468 -3 11416 11466 11415 -3 13625 13723 13624 -3 11727 9189 12126 -3 9401 12126 665 -3 12969 12968 12875 -3 13538 13537 13441 -3 13428 4817 15884 -3 13442 13441 13346 -3 11314 11692 11695 -3 13779 10143 11084 -3 11530 11529 11465 -3 13519 5987 13496 -3 11466 11530 11465 -3 27868 35636 35485 -3 14088 35496 27550 -3 9534 11616 8866 -3 12755 12756 8969 -3 8754 12666 12754 -3 11858 24922 25430 -3 6383 1980 64 -3 12948 13042 12947 -3 25272 12139 12058 -3 130 11261 10092 -3 10207 10206 10088 -3 21875 21586 21780 -3 13998 10205 13999 -3 17603 20215 20129 -3 13602 10826 7919 -3 12158 12241 12157 -3 22937 21875 22838 -3 29655 29788 29787 -3 27159 27160 27278 -3 19246 27027 30824 -3 31595 31594 31507 -3 23349 23056 2235 -3 20156 13428 15884 -3 12784 12783 12694 -3 12695 12784 12694 -3 13783 12364 9189 -3 11727 13783 9189 -3 13194 12542 12642 -3 12479 2915 12394 -3 11756 11755 11674 -3 11675 11756 11674 -3 13444 13445 13540 -3 13541 13639 13638 -3 12881 12880 12788 -3 12789 12881 12788 -3 12096 12095 12014 -3 12015 12096 12014 -3 12266 12351 12265 -3 12351 12437 12436 -3 12822 14081 13202 -3 12730 12822 13202 -3 25772 13555 25155 -3 26074 24724 23814 -3 30898 24831 30899 -3 35942 35876 35558 -3 2499 901 13394 -3 35532 13304 35638 -3 35092 35091 34962 -3 13598 11781 12121 -3 11875 13598 12121 -3 12045 12115 12369 -3 13002 12908 11781 -3 8527 13766 13861 -3 12143 12045 12369 -3 13074 13168 13073 -3 17084 13787 12960 -3 35063 35062 34933 -3 10123 10006 1739 -3 14130 14129 14031 -3 20871 20872 20951 -3 12517 12607 12516 -3 14126 14222 14125 -3 12696 12695 12605 -3 13636 13734 13635 -3 13349 13348 13252 -3 9553 9116 1174 -3 13158 13253 13157 -3 26333 30893 30892 -3 12020 27319 27318 -3 3457 13185 7452 -3 11058 8090 13204 -3 10837 8035 8419 -3 11706 11790 13204 -3 8090 11706 13204 -3 24151 24092 13695 -3 11706 12141 11790 -3 3925 3724 3926 -3 11889 9233 8482 -3 3724 13489 3926 -3 15342 3926 15215 -3 12677 12766 12676 -3 15448 15320 15321 -3 13701 8035 12208 -3 7277 7276 7169 -3 13598 13002 11781 -3 14283 12199 12908 -3 13002 14283 12908 -3 14283 13688 13710 -3 12045 12143 11798 -3 12834 12045 11798 -3 20476 20477 20561 -3 20392 20393 20476 -3 12183 12182 12100 -3 12101 12183 12100 -3 12096 12178 12095 -3 11605 11680 11604 -3 11892 13189 11891 -3 11951 11895 13190 -3 14528 7344 14823 -3 13189 11951 13190 -3 11615 13866 13848 -3 11951 14186 11895 -3 14334 14971 11508 -3 21415 18668 17716 -3 10203 10323 10322 -3 15365 13866 4939 -3 13942 14040 13941 -3 34429 34566 34428 -3 13746 13745 13647 -3 13648 13746 13647 -3 23300 23397 23299 -3 12887 12886 12794 -3 25631 12089 24948 -3 13275 13372 13392 -3 12199 14283 13710 -3 12834 11798 13619 -3 13688 13094 12999 -3 13710 13688 12999 -3 12195 12112 12999 -3 13094 12195 12999 -3 6964 12818 35776 -3 5425 11628 14162 -3 34292 34291 34153 -3 11628 13619 14162 -3 33375 33266 33489 -3 19520 17464 17385 -3 11543 11610 11542 -3 11766 11765 11684 -3 11685 11684 11609 -3 11610 11685 11609 -3 31436 31508 31435 -3 12790 12789 12700 -3 13866 15868 13848 -3 12260 12259 12176 -3 10322 10202 10203 -3 12294 10121 10240 -3 5565 14065 11646 -3 6955 11486 6956 -3 30163 30162 30030 -3 19236 29538 29688 -3 9801 13713 8048 -3 7273 11630 11631 -3 665 9629 13515 -3 10740 4261 6383 -3 19121 20723 8116 -3 11646 14065 10385 -3 12754 8860 8754 -3 13075 12982 13076 -3 13205 13976 11084 -3 10143 13205 11084 -3 35891 35614 35893 -3 13205 136 13976 -3 4374 4240 10651 -3 4240 4374 4373 -3 9905 6383 4261 -3 4394 9905 4261 -3 1979 1980 6383 -3 9905 1979 6383 -3 12565 9743 1980 -3 1979 12565 1980 -3 12484 12224 9743 -3 12565 12484 9743 -3 1052 288 12224 -3 12484 1052 12224 -3 35562 35494 35625 -3 1052 3457 288 -3 8106 12226 8217 -3 8325 8216 8217 -3 288 10099 12224 -3 5875 3043 1622 -3 32298 32401 32297 -3 8346 9538 66 -3 17093 16929 20349 -3 8082 1509 8194 -3 12876 12875 12783 -3 11860 21578 6258 -3 13783 3189 5415 -3 10682 14188 10683 -3 35673 35626 35376 -3 11878 11707 10373 -3 11840 11839 11755 -3 12542 11701 12642 -3 13540 13541 13638 -3 11756 11840 11755 -3 12974 12973 12880 -3 30031 30163 30030 -3 11845 11931 11844 -3 12015 12014 11930 -3 12350 12351 12436 -3 12526 12525 12436 -3 31736 31836 31735 -3 11504 11642 13505 -3 32099 32098 31998 -3 32508 32617 32507 -3 11782 11620 12112 -3 12195 11782 12112 -3 9518 12286 11620 -3 11782 9518 11620 -3 13816 13914 13815 -3 14492 11076 12293 -3 12125 13326 11528 -3 14012 14011 13913 -3 12115 11779 11865 -3 30893 26333 26370 -3 14921 21402 21313 -3 20372 20366 12891 -3 370 4396 1525 -3 13168 13263 13262 -3 14116 14212 14211 -3 27081 11754 11755 -3 9647 10746 7198 -3 30296 30295 30162 -3 13906 14004 14003 -3 26361 30957 30901 -3 30163 30296 30162 -3 2517 193 1855 -3 10683 10807 10806 -3 10443 10563 4261 -3 61 11058 11707 -3 11878 61 11707 -3 13327 8090 11058 -3 61 13327 11058 -3 13398 11706 8090 -3 13327 13398 8090 -3 12203 12141 11706 -3 13398 12203 11706 -3 30429 30428 30295 -3 35936 11959 12213 -3 13701 8482 8419 -3 9742 8157 13185 -3 20049 20540 20534 -3 22665 29890 29761 -3 93 155 11867 -3 13999 10206 14000 -3 30487 35694 35389 -3 5041 5869 6508 -3 6874 30339 28730 -3 30957 26361 11480 -3 4262 2790 4948 -3 23117 23116 23018 -3 5562 10586 11715 -3 26899 24464 27017 -3 11850 11936 11849 -3 24218 24298 26077 -3 12178 12261 12177 -3 12261 12260 12177 -3 12610 12609 12519 -3 12520 12610 12519 -3 12389 13586 20012 -3 16006 16005 11341 -3 16005 8567 11341 -3 22705 22804 22803 -3 13738 13836 13737 -3 14032 14031 13933 -3 13682 14248 8882 -3 15744 23024 10939 -3 21048 22936 22937 -3 12868 12867 20965 -3 28372 29680 28494 -3 12835 11636 12928 -3 12795 12887 12794 -3 11637 5053 13600 -3 23410 23409 23312 -3 11936 11935 11849 -3 11628 12834 13619 -3 23215 23313 23214 -3 26332 26370 26369 -3 20457 20458 20542 -3 34057 19037 2685 -3 32427 32428 32532 -3 31132 31133 31195 -3 31934 31933 31835 -3 13412 16016 16303 -3 23313 23410 23312 -3 22428 22526 22427 -3 9553 3848 8239 -3 13029 2913 10390 -3 13409 13029 10390 -3 12875 12968 12874 -3 11610 11609 11542 -3 13581 11894 35945 -3 16005 15865 8567 -3 35682 35858 13691 -3 14018 14116 14017 -3 11732 11733 11816 -3 22833 22932 22438 -3 10322 14094 10441 -3 10321 10322 10441 -3 35887 35566 35583 -3 14190 10561 10441 -3 10931 10807 7460 -3 8961 2515 8853 -3 2656 13587 10807 -3 8853 2515 2514 -3 13778 13779 7460 -3 13587 13778 7460 -3 10144 10143 13779 -3 13778 10144 13779 -3 12810 13205 10143 -3 10144 12810 10143 -3 938 136 13205 -3 12810 938 13205 -3 9529 4394 136 -3 938 9529 136 -3 4659 9905 4394 -3 9529 4659 4394 -3 1978 1979 9905 -3 4659 1978 9905 -3 3996 12565 1979 -3 1978 3996 1979 -3 13328 12484 12565 -3 3996 13328 12565 -3 289 1052 12484 -3 13328 289 12484 -3 14181 3457 1052 -3 289 14181 1052 -3 813 13185 3457 -3 14181 813 3457 -3 9001 9742 13185 -3 813 9001 13185 -3 6127 6646 9742 -3 9001 6127 9742 -3 1852 6127 693 -3 6127 1852 6646 -3 9629 13520 13515 -3 8735 14258 11261 -3 13814 13912 13911 -3 30296 30429 30295 -3 93 810 8349 -3 12151 12152 12234 -3 7575 13476 13864 -3 4364 9741 124 -3 8865 8881 8628 -3 30898 26366 24831 -3 8977 13889 9102 -3 13238 13791 9544 -3 12126 9629 665 -3 29543 35514 35500 -3 12437 12526 12436 -3 11931 12015 11930 -3 13506 11504 13505 -3 11479 11543 11478 -3 32731 32730 32616 -3 12822 12730 11642 -3 8127 10827 11784 -3 20458 20543 20542 -3 34829 34958 34828 -3 3193 12724 13002 -3 13598 3193 13002 -3 12724 13494 14283 -3 13002 12724 14283 -3 13494 13709 13688 -3 31999 32099 31998 -3 2791 13412 4542 -3 20372 21208 21138 -3 20289 20374 20373 -3 10006 370 1739 -3 12266 12265 12182 -3 22821 22920 22820 -3 3176 2879 12732 -3 11417 11467 11416 -3 12067 12068 12149 -3 35775 35663 35790 -3 35409 35871 35630 -3 35744 35845 35553 -3 35477 35632 35871 -3 12206 11878 12221 -3 1026 12206 12221 -3 8777 61 11878 -3 12206 8777 11878 -3 7466 13327 61 -3 8777 7466 61 -3 14267 13398 13327 -3 7466 14267 13327 -3 13510 12203 13398 -3 14267 13510 13398 -3 13510 13781 11974 -3 12203 13510 11974 -3 13390 7997 14079 -3 4098 5606 8900 -3 11933 11932 11845 -3 13583 14176 13680 -3 35767 11894 35731 -3 3340 11130 12662 -3 14283 13494 13688 -3 13709 13093 13094 -3 2791 4542 8045 -3 13688 13709 13094 -3 12928 5562 11715 -3 13283 3193 35674 -3 11543 11542 11478 -3 14909 2499 15029 -3 12346 12345 12260 -3 21778 21541 26146 -3 12014 12095 12013 -3 12261 12346 12260 -3 13737 13835 13736 -3 12700 12699 12609 -3 12011 12092 12010 -3 13933 13932 13834 -3 12092 12174 12091 -3 12174 12173 12091 -3 13934 13933 13835 -3 13836 13934 13835 -3 13639 13640 13737 -3 13836 13835 13737 -3 13351 13446 13350 -3 13446 13542 13541 -3 12345 12431 12344 -3 12431 12520 12430 -3 11761 11760 11679 -3 12346 12432 12345 -3 11685 11766 11684 -3 11850 11849 11765 -3 13990 12802 19535 -3 12873 25585 12781 -3 276 21047 15325 -3 10008 8045 15325 -3 13093 12280 12195 -3 13094 13093 12195 -3 11868 11782 12195 -3 12280 11868 12195 -3 21047 276 23403 -3 23404 21047 23403 -3 18163 18072 18164 -3 21047 15324 15325 -3 4525 11784 9980 -3 10950 8233 8340 -3 3859 5416 14250 -3 4664 2477 20322 -3 21768 21769 7107 -3 21481 20069 23413 -3 11308 11183 11309 -3 4258 10564 14093 -3 10322 10323 14094 -3 7161 11553 7058 -3 14095 14191 14190 -3 14094 14095 14190 -3 14191 14289 14288 -3 14190 14191 14288 -3 2519 2656 14288 -3 14289 2519 14288 -3 13516 13587 2656 -3 2519 13516 2656 -3 13714 13778 13587 -3 13516 13714 13587 -3 10142 10144 13778 -3 13714 10142 13778 -3 3194 12810 10144 -3 10142 3194 10144 -3 11391 938 12810 -3 3194 11391 12810 -3 7787 9529 938 -3 11391 7787 938 -3 11245 4659 9529 -3 7787 11245 9529 -3 4255 1978 4659 -3 11245 4255 4659 -3 8663 3996 1978 -3 4255 8663 1978 -3 13233 13328 3996 -3 8663 13233 3996 -3 184 289 13328 -3 13233 184 13328 -3 9751 14181 289 -3 184 9751 289 -3 13900 813 14181 -3 9751 13900 14181 -3 8894 9001 813 -3 13900 8894 813 -3 6765 6127 9001 -3 8894 6765 9001 -3 35810 35650 35606 -3 6765 693 6127 -3 12659 13213 12292 -3 8115 3201 8442 -3 9629 11806 13520 -3 11806 12372 12393 -3 11354 7682 7088 -3 11817 11903 11902 -3 35861 35574 35526 -3 11733 11817 11816 -3 103 13881 3594 -3 13415 103 3594 -3 2907 1643 9917 -3 13889 2907 9917 -3 8344 7675 14185 -3 11735 11819 11734 -3 9189 11806 9629 -3 10209 13907 13906 -3 30893 26370 26332 -3 9990 9991 11362 -3 11504 12822 11642 -3 11936 12021 11935 -3 30563 30562 30428 -3 11279 23028 928 -3 1873 9518 11782 -3 11868 1873 11782 -3 12377 12293 1873 -3 1873 12293 9518 -3 13914 14012 13913 -3 14012 14110 14109 -3 15469 21481 15468 -3 4907 22266 21862 -3 12928 11715 13202 -3 14081 12928 13202 -3 13930 13929 13831 -3 30850 12089 30851 -3 15215 16608 13012 -3 12919 13288 10498 -3 12232 12233 12317 -3 11986 11987 12067 -3 12057 13208 12210 -3 14390 14389 25657 -3 9758 1026 13208 -3 12057 9758 13208 -3 12124 12206 1026 -3 9758 12124 1026 -3 13207 8777 12206 -3 12124 13207 12206 -3 1848 7466 8777 -3 13207 1848 8777 -3 2899 14267 7466 -3 1848 2899 7466 -3 2899 11877 13510 -3 14267 2899 13510 -3 11877 12225 13781 -3 13510 11877 13781 -3 35544 35510 35885 -3 35540 35379 35572 -3 32744 32856 32743 -3 13408 13504 13285 -3 20406 20402 20364 -3 12692 25585 25291 -3 19171 19014 18532 -3 9879 13775 4922 -3 29399 29262 35365 -3 24271 25010 24901 -3 15047 12807 12719 -3 17694 17790 17789 -3 13452 13453 13548 -3 1018 16969 11408 -3 23103 23104 23201 -3 12886 12979 12885 -3 12701 12790 12700 -3 12432 12431 12345 -3 11844 11930 11843 -3 12014 12013 11929 -3 14225 3987 14224 -3 13835 13933 13834 -3 30421 30024 15092 -3 34952 34951 34822 -3 12697 12696 12606 -3 12607 12697 12606 -3 12697 12786 12696 -3 12786 12785 12696 -3 12786 12878 12785 -3 12878 12877 12785 -3 14031 14030 13932 -3 13933 14031 13932 -3 12260 12345 12259 -3 12520 12519 12430 -3 12521 12520 12431 -3 12432 12521 12431 -3 11766 11850 11765 -3 12611 12610 12520 -3 25631 30851 12089 -3 23225 15744 21866 -3 15324 10008 15325 -3 5560 13029 13409 -3 14222 14221 14125 -3 18804 18090 42 -3 11938 27087 27205 -3 11516 11517 11584 -3 31043 31105 31104 -3 33410 33411 33523 -3 13423 4907 21862 -3 18846 18845 21214 -3 13358 13453 13357 -3 13453 13549 13548 -3 13167 13166 13072 -3 12979 13073 12978 -3 12830 13661 13760 -3 21281 13985 15469 -3 12966 23572 12873 -3 35365 30076 29399 -3 11917 12001 11916 -3 10323 14095 14094 -3 14096 14192 14191 -3 14095 14096 14191 -3 14192 14290 14289 -3 14191 14192 14289 -3 2654 2519 14289 -3 14290 2654 14289 -3 13417 13516 2519 -3 2654 13417 2519 -3 13574 13714 13516 -3 13417 13574 13516 -3 13793 10142 13714 -3 13574 13793 13714 -3 13805 3194 10142 -3 13793 13805 10142 -3 5861 11391 3194 -3 13805 5861 3194 -3 7904 7787 11391 -3 5861 7904 11391 -3 7931 11245 7787 -3 7904 7931 7787 -3 4388 4255 11245 -3 7931 4388 11245 -3 7875 8663 4255 -3 4388 7875 4255 -3 5595 13233 8663 -3 7875 5595 8663 -3 303 184 13233 -3 5595 303 13233 -3 13419 9751 184 -3 303 13419 184 -3 12923 13900 9751 -3 13419 12923 9751 -3 4665 8894 13900 -3 12923 4665 13900 -3 158 6765 8894 -3 4665 158 8894 -3 4636 693 6765 -3 16288 16433 16287 -3 28191 35655 35415 -3 6765 158 4636 -3 5694 9658 12648 -3 9658 9419 12648 -3 11816 11817 11902 -3 11903 11987 11986 -3 4247 7807 12386 -3 12152 12235 12234 -3 12382 12471 13881 -3 103 12382 13881 -3 10496 12114 1643 -3 12837 6508 13594 -3 35761 35544 35612 -3 30429 30563 30428 -3 13921 14019 13920 -3 5606 4098 16258 -3 7629 7628 7514 -3 12782 12874 12781 -3 13262 13358 13261 -3 23369 20395 3537 -3 16155 13026 3196 -3 13099 2768 20451 -3 33643 33642 33523 -3 33022 33021 32913 -3 31691 31690 31595 -3 13283 12815 12724 -3 11875 35674 13598 -3 12815 12645 13494 -3 23111 23209 23208 -3 12724 12815 13494 -3 3621 16533 12601 -3 23012 23013 23110 -3 26196 12110 26195 -3 12822 13008 14081 -3 9117 10845 13684 -3 21029 20364 8223 -3 10740 6383 64 -3 11745 11744 11664 -3 11977 12057 12295 -3 8797 3319 35890 -3 13697 9758 12057 -3 11977 13697 12057 -3 14073 12124 9758 -3 13697 14073 9758 -3 14278 13207 12124 -3 14073 14278 12124 -3 11328 1848 13207 -3 14278 11328 13207 -3 2763 2899 1848 -3 11328 2763 1848 -3 2763 7973 11877 -3 2899 2763 11877 -3 7973 13780 12225 -3 11877 7973 12225 -3 12134 12052 12225 -3 13780 12134 12225 -3 13911 14009 14008 -3 14298 14297 14199 -3 12966 13061 13060 -3 13410 13000 10832 -3 12874 12967 12873 -3 20373 17886 20289 -3 12645 13687 13709 -3 13494 12645 13709 -3 13687 13380 13093 -3 21217 22157 22155 -3 21216 21217 22155 -3 12071 12153 12070 -3 13453 13452 13357 -3 8105 8106 8217 -3 13262 13261 13166 -3 12790 12882 12789 -3 12882 12881 12789 -3 12095 12094 12013 -3 11930 12014 11929 -3 3987 11000 2223 -3 11000 9655 2223 -3 8325 8217 12226 -3 33439 33552 33551 -3 9871 10826 13286 -3 27148 26498 35510 -3 12606 12605 12515 -3 12516 12606 12515 -3 11600 11599 11532 -3 11533 11600 11532 -3 25487 11771 30843 -3 14129 14128 14030 -3 7883 10827 8127 -3 12431 12430 12344 -3 11760 11844 11759 -3 11930 11929 11843 -3 12521 12611 12520 -3 12975 12974 12881 -3 12835 12928 14081 -3 21494 21586 21875 -3 35684 13400 11805 -3 12794 12886 12793 -3 13525 15539 21283 -3 20406 21217 20402 -3 13709 13687 13093 -3 13380 12279 12280 -3 13093 13380 12280 -3 11952 11868 12280 -3 22527 22626 22625 -3 22157 15539 13525 -3 15539 21284 21283 -3 23019 23018 22919 -3 8628 9991 9990 -3 231 5606 16404 -3 22731 23037 23035 -3 13647 13745 13646 -3 7058 7059 7163 -3 30697 30696 30562 -3 14097 14096 13998 -3 13999 14097 13998 -3 14097 14193 14192 -3 14096 14097 14192 -3 14193 14291 14290 -3 14192 14193 14290 -3 2788 2654 14290 -3 14291 2788 14290 -3 297 13417 2654 -3 2788 297 2654 -3 13514 13574 13417 -3 297 13514 13417 -3 13788 13793 13574 -3 13514 13788 13574 -3 12546 13805 13793 -3 13788 12546 13793 -3 5992 5861 13805 -3 12546 5992 13805 -3 9645 7904 5861 -3 5992 9645 5861 -3 7325 7931 7904 -3 9645 7325 7904 -3 3055 4388 7931 -3 7325 3055 7931 -3 5194 7875 4388 -3 3055 5194 4388 -3 2637 5595 7875 -3 5194 2637 7875 -3 674 303 5595 -3 2637 674 5595 -3 9750 13419 303 -3 674 9750 303 -3 13 12923 13419 -3 9750 13 13419 -3 8787 4665 12923 -3 13 8787 12923 -3 6792 158 4665 -3 8787 6792 4665 -3 11004 13987 7923 -3 6147 11393 9176 -3 2367 2087 13669 -3 9658 13414 10120 -3 12947 12946 12853 -3 7923 8977 3200 -3 11902 11903 11986 -3 11987 12068 12067 -3 5723 11785 160 -3 130 5697 14299 -3 13316 5694 12471 -3 12382 13316 12471 -3 10496 12837 12114 -3 6508 3344 13594 -3 30563 30697 30562 -3 30831 30830 30696 -3 14788 15546 5142 -3 7807 10876 12386 -3 11783 8127 11784 -3 13059 25184 13060 -3 21213 22148 22147 -3 12604 12694 12603 -3 17604 17605 20217 -3 32297 32400 32296 -3 12279 11952 12280 -3 22920 22919 22820 -3 9669 1873 11868 -3 11952 9669 11868 -3 14415 12377 12846 -3 9669 12377 1873 -3 14110 14206 14205 -3 1622 4104 1171 -3 1034 16155 3196 -3 22526 22527 22625 -3 10934 10265 9337 -3 9393 14064 23406 -3 34981 32684 35246 -3 12967 13061 12966 -3 6892 1753 10876 -3 14065 5565 13316 -3 11978 11977 12381 -3 35902 35890 35659 -3 9857 13697 11977 -3 11978 9857 11977 -3 14169 14073 13697 -3 9857 14169 13697 -3 12833 14278 14073 -3 14169 12833 14073 -3 438 11328 14278 -3 12833 438 14278 -3 12289 2763 11328 -3 438 12289 11328 -3 12289 11622 7973 -3 2763 12289 7973 -3 11622 13601 13780 -3 7973 11622 13780 -3 12217 12134 13780 -3 13601 12217 13780 -3 30697 30831 30696 -3 31045 31107 31106 -3 10832 10035 3732 -3 12418 12417 12331 -3 13791 2902 9544 -3 13155 13154 13060 -3 28310 28430 28987 -3 14011 14012 14109 -3 22725 22724 22625 -3 22626 22725 22625 -3 22824 22823 22724 -3 15225 12381 12295 -3 11933 11847 11934 -3 13061 13155 13060 -3 12381 15225 14378 -3 13962 9897 9781 -3 11980 12061 7990 -3 10373 11707 10010 -3 4542 10852 8125 -3 11846 11847 11845 -3 11862 12538 14259 -3 7756 11896 7872 -3 7641 33022 7527 -3 24500 13890 13332 -3 18210 19320 18184 -3 33022 7641 7640 -3 35451 35741 35406 -3 35532 35638 22835 -3 14003 10327 13906 -3 34870 35866 33337 -3 8860 12754 8967 -3 12666 12755 12754 -3 16380 13811 10210 -3 9789 9520 14281 -3 31479 25320 23519 -3 12882 12975 12881 -3 12875 12874 12782 -3 16022 15343 14846 -3 13069 13068 12974 -3 33607 33606 33487 -3 12436 12525 12435 -3 22155 22157 13525 -3 13073 13072 12978 -3 9658 5565 13414 -3 22725 22824 22724 -3 6951 34465 6952 -3 34001 34000 33865 -3 32404 32403 32300 -3 32301 32404 32300 -3 22923 22922 22823 -3 22824 22923 22823 -3 13719 13621 13720 -3 23650 15321 15320 -3 8008 8009 11237 -3 13868 13867 13773 -3 13250 13249 13154 -3 9764 2493 13775 -3 14098 14097 13999 -3 14000 14098 13999 -3 14098 14194 14193 -3 14097 14098 14193 -3 14194 14292 14291 -3 14193 14194 14291 -3 10138 2788 14291 -3 14292 10138 14291 -3 11443 297 2788 -3 10138 11443 2788 -3 13508 13514 297 -3 11443 13508 297 -3 13801 13788 13514 -3 13508 13801 13514 -3 933 12546 13788 -3 13801 933 13788 -3 1872 5992 12546 -3 933 1872 12546 -3 8019 9645 5992 -3 1872 8019 5992 -3 9906 7325 9645 -3 8019 9906 9645 -3 3056 3055 7325 -3 9906 3056 7325 -3 11794 5194 3055 -3 3056 11794 3055 -3 13234 2637 5194 -3 11794 13234 5194 -3 233 674 2637 -3 13234 233 2637 -3 13420 9750 674 -3 233 13420 674 -3 6938 13 9750 -3 13420 6938 9750 -3 5730 8787 13 -3 6938 5730 13 -3 5995 6792 8787 -3 5730 5995 8787 -3 11004 7923 3199 -3 5995 5040 304 -3 9419 9658 10120 -3 13685 11972 10120 -3 12762 12854 12853 -3 12761 12762 12853 -3 9102 11319 2498 -3 2633 9102 2498 -3 12114 12032 287 -3 9917 13888 11319 -3 5565 9658 5694 -3 13316 5565 5694 -3 2907 10496 1643 -3 12837 13594 12114 -3 17470 18729 30830 -3 11580 11655 11654 -3 14119 14215 14214 -3 4118 13504 13408 -3 30831 17470 30830 -3 10123 1739 5735 -3 4922 13797 9878 -3 35763 35515 35683 -3 20788 20870 20869 -3 3061 8115 9515 -3 35765 35536 35525 -3 11871 11872 12819 -3 34029 34165 34028 -3 31437 31436 31369 -3 11778 12815 13283 -3 3319 11778 13283 -3 11778 13690 12645 -3 12815 11778 12645 -3 14743 16296 21568 -3 28610 30633 27411 -3 15433 192 13242 -3 17893 18280 2540 -3 9184 12941 13036 -3 13647 13646 13548 -3 13028 14065 13316 -3 12950 12951 13044 -3 26498 27521 26940 -3 35693 35941 35832 -3 13712 9857 11978 -3 12938 13712 11978 -3 11962 14169 9857 -3 13712 11962 9857 -3 12926 12833 14169 -3 11962 12926 14169 -3 3053 438 12833 -3 12926 3053 12833 -3 12374 12289 438 -3 3053 12374 438 -3 12374 9754 11622 -3 12289 12374 11622 -3 9754 13503 13601 -3 11622 9754 13601 -3 24092 24031 24032 -3 4507 10898 4373 -3 12898 12294 10240 -3 10898 4507 11024 -3 8115 8442 9515 -3 12951 13045 13044 -3 13155 13250 13154 -3 13346 13345 13249 -3 13690 13611 13687 -3 12645 13690 13687 -3 13611 13475 13380 -3 13687 13611 13380 -3 19644 6787 27143 -3 11553 227 11487 -3 11811 11897 11896 -3 35866 34870 35778 -3 11897 11981 11980 -3 11896 11897 11980 -3 11981 12062 12061 -3 11980 11981 12061 -3 12061 12062 8106 -3 8106 12144 12226 -3 12144 12227 12226 -3 14099 14000 10326 -3 12227 12312 12311 -3 12226 12227 12311 -3 12312 12398 12397 -3 12311 12312 12397 -3 12398 12487 12486 -3 12397 12398 12486 -3 12487 12577 12576 -3 12486 12487 12576 -3 12577 12667 12666 -3 12576 12577 12666 -3 12667 12756 12755 -3 12666 12667 12755 -3 227 7056 6956 -3 13250 13346 13249 -3 13441 13440 13345 -3 13346 13441 13345 -3 22816 22815 22716 -3 11616 11079 8866 -3 11716 4792 14182 -3 13537 13536 13440 -3 12979 12978 12885 -3 11687 11686 11611 -3 30848 30847 23823 -3 14202 14300 14201 -3 13475 12365 12279 -3 13380 13475 12279 -3 12033 11952 12279 -3 12365 12033 12279 -3 29684 27411 6787 -3 13029 5560 35684 -3 12412 12501 12411 -3 11612 11611 11544 -3 8587 1712 8481 -3 35915 35408 35501 -3 11737 11736 11656 -3 9781 7907 7786 -3 14099 14098 14000 -3 35890 35559 35617 -3 14099 14195 14194 -3 14098 14099 14194 -3 14293 14292 14194 -3 14195 14293 14194 -3 14293 112 10138 -3 14292 14293 10138 -3 13517 11443 10138 -3 112 13517 10138 -3 13488 13508 11443 -3 13517 13488 11443 -3 2520 13801 13508 -3 13488 2520 13508 -3 11259 933 13801 -3 2520 11259 13801 -3 6123 1872 933 -3 11259 6123 933 -3 4128 8019 1872 -3 6123 4128 1872 -3 8246 9906 8019 -3 4128 8246 8019 -3 4522 3056 9906 -3 8246 4522 9906 -3 12290 11794 3056 -3 4522 12290 3056 -3 13235 13234 11794 -3 12290 13235 11794 -3 339 233 13234 -3 13235 339 13234 -3 9890 13420 233 -3 339 9890 233 -3 9061 6938 13420 -3 9890 9061 13420 -3 1296 5730 6938 -3 9061 1296 6938 -3 110 5995 5730 -3 1296 110 5730 -3 17193 5005 304 -3 110 5040 5995 -3 13414 13685 10120 -3 5755 14186 11726 -3 12673 12762 12761 -3 12672 12673 12761 -3 9102 9917 11319 -3 1643 287 13888 -3 11817 11818 11903 -3 11904 11988 11987 -3 5565 11646 13414 -3 13685 13684 10845 -3 6892 3200 1753 -3 8977 9102 2633 -3 11579 11580 11654 -3 11735 11734 11654 -3 10876 1753 13096 -3 2633 2498 2367 -3 13268 23965 23964 -3 127 10123 5735 -3 13040 13041 13134 -3 12386 10876 12475 -3 17652 34487 18055 -3 1753 2633 2367 -3 25599 25600 25741 -3 13695 24211 24151 -3 13001 9669 11952 -3 12033 13001 11952 -3 14415 12846 12844 -3 13001 12846 9669 -3 14304 14303 14205 -3 14109 14110 14205 -3 34003 34002 33867 -3 22101 24368 22196 -3 13441 13537 13440 -3 11545 11544 11480 -3 7462 9759 127 -3 2225 17154 3591 -3 35790 35781 35564 -3 12560 14924 11643 -3 12939 12938 12560 -3 12650 12939 12560 -3 13982 13712 12938 -3 12939 13982 12938 -3 12043 11962 13712 -3 13982 12043 13712 -3 12741 12926 11962 -3 12043 12741 11962 -3 12661 3053 12926 -3 12741 12661 12926 -3 13211 12374 3053 -3 12661 13211 3053 -3 13211 11958 9754 -3 12374 13211 9754 -3 11958 13502 13503 -3 9754 11958 13503 -3 12388 5221 15894 -3 12749 13502 11958 -3 10121 9859 4657 -3 10240 10121 4657 -3 13912 14010 14009 -3 3319 8797 11778 -3 13635 13634 13536 -3 10772 2793 1294 -3 22042 22041 18729 -3 10567 10617 8043 -3 2652 8136 5869 -3 30087 29415 24121 -3 11728 11812 11811 -3 13537 13635 13536 -3 11812 11898 11897 -3 11811 11812 11897 -3 11898 11982 11981 -3 11897 11898 11981 -3 11982 12063 12062 -3 11981 11982 12062 -3 12063 12145 12144 -3 12062 12063 12144 -3 12145 12228 12227 -3 12144 12145 12227 -3 12228 12313 12312 -3 12227 12228 12312 -3 12313 12399 12398 -3 12312 12313 12398 -3 12399 12488 12487 -3 12398 12399 12487 -3 12488 12578 12577 -3 12487 12488 12577 -3 12578 12668 12667 -3 12577 12578 12667 -3 12668 12757 12756 -3 12667 12668 12756 -3 12757 12849 12848 -3 12756 12757 12848 -3 12942 12941 12848 -3 12849 12942 12848 -3 27521 26498 19243 -3 12942 13036 12941 -3 31554 31553 26618 -3 35637 35866 35607 -3 11612 11687 11611 -3 11457 11458 11521 -3 8157 9742 7673 -3 30860 30859 30848 -3 13692 2914 5875 -3 3043 10968 1622 -3 20361 20362 20445 -3 1852 2248 5470 -3 11744 11743 11663 -3 7883 8127 14286 -3 11852 11851 11767 -3 11768 11767 11686 -3 20872 20952 20951 -3 31302 31369 31301 -3 10208 10209 13906 -3 11555 7164 7059 -3 7147 10091 8580 -3 8580 25539 7147 -3 14196 14195 14099 -3 14100 14196 14099 -3 14294 14293 14195 -3 14196 14294 14195 -3 14294 4234 112 -3 14293 14294 112 -3 9112 13517 112 -3 4234 9112 112 -3 13411 13488 13517 -3 9112 13411 13517 -3 5564 2520 13488 -3 13411 5564 13488 -3 13707 11259 2520 -3 5564 13707 2520 -3 1138 6123 11259 -3 13707 1138 11259 -3 3994 4128 6123 -3 1138 3994 6123 -3 8227 8246 4128 -3 3994 8227 4128 -3 4656 4522 8246 -3 8227 4656 8246 -3 13511 12290 4522 -3 4656 13511 4522 -3 13492 13235 12290 -3 13511 13492 12290 -3 2614 339 13235 -3 13492 2614 13235 -3 10007 9890 339 -3 2614 10007 339 -3 680 9061 9890 -3 10007 680 9890 -3 11013 1296 9061 -3 680 11013 9061 -3 6126 110 1296 -3 11013 6126 1296 -3 13019 15427 10383 -3 6126 3590 110 -3 13685 11008 11972 -3 2124 3997 1051 -3 12583 12673 12672 -3 12582 12583 12672 -3 9917 1643 13888 -3 1643 12114 287 -3 11733 11734 11817 -3 11818 11904 11903 -3 130 10092 5697 -3 13496 13416 8226 -3 8197 9111 7286 -3 10092 13496 8226 -3 11655 11735 11654 -3 11819 11905 11818 -3 10372 10105 10496 -3 5041 6508 12837 -3 11058 13204 7682 -3 22618 22617 22518 -3 12471 5694 12561 -3 12854 12947 12853 -3 11907 11991 11906 -3 12072 12071 11990 -3 8753 8754 8860 -3 13733 13732 13634 -3 32100 32200 32099 -3 22243 22731 21135 -3 26252 26244 23832 -3 31370 31437 31369 -3 32509 32508 32403 -3 12856 12949 12948 -3 34551 34550 34413 -3 31509 31508 31436 -3 30861 30860 30848 -3 12466 9676 15083 -3 30161 30160 30028 -3 11545 11612 11544 -3 7673 9742 6646 -3 8456 8346 299 -3 11565 11643 14596 -3 3061 9515 5602 -3 13405 12939 12650 -3 12739 13405 12650 -3 13874 13982 12939 -3 13405 13874 12939 -3 13975 12043 13982 -3 13874 13975 13982 -3 12740 12741 12043 -3 13975 12740 12043 -3 13308 12661 12741 -3 12740 13308 12741 -3 13308 12847 13211 -3 12661 13308 13211 -3 12847 11874 11958 -3 13211 12847 11958 -3 11973 5221 12749 -3 11874 12749 11958 -3 13996 13995 10118 -3 10092 8226 5697 -3 9859 2366 4925 -3 13320 13769 13770 -3 3712 1385 6662 -3 2384 3195 5204 -3 13962 7786 14277 -3 17470 22042 18729 -3 11878 10373 12221 -3 11090 9879 9878 -3 18055 34487 11647 -3 17443 22040 17816 -3 11729 11813 11812 -3 11728 11729 11812 -3 11813 11899 11898 -3 11812 11813 11898 -3 11899 11983 11982 -3 11898 11899 11982 -3 11983 12064 12063 -3 11982 11983 12063 -3 12064 12146 12145 -3 12063 12064 12145 -3 12146 12229 12228 -3 12145 12146 12228 -3 12229 12314 12313 -3 12228 12229 12313 -3 12314 12400 12399 -3 12313 12314 12399 -3 12400 12489 12488 -3 12399 12400 12488 -3 12489 12579 12578 -3 12488 12489 12578 -3 12579 12669 12668 -3 12578 12579 12668 -3 12669 12758 12757 -3 12668 12669 12757 -3 12758 12850 12849 -3 12757 12758 12849 -3 12943 12942 12849 -3 12850 12943 12849 -3 13037 13036 12942 -3 12943 13037 12942 -3 1485 5990 5991 -3 13037 13131 13036 -3 22839 22452 23230 -3 12207 11722 13326 -3 13320 13691 35858 -3 8752 8753 8860 -3 8797 11857 11778 -3 13283 35674 35659 -3 11857 13225 13690 -3 11778 11857 13690 -3 11865 13983 11949 -3 26680 26681 24295 -3 16054 11444 11876 -3 13983 11444 11723 -3 31436 31435 31368 -3 11938 11937 11851 -3 14003 14002 10327 -3 8346 8345 3735 -3 14003 14101 14100 -3 14002 14003 14100 -3 14197 14196 14100 -3 14101 14197 14100 -3 14295 14294 14196 -3 14197 14295 14196 -3 9428 4234 14294 -3 14295 9428 14294 -3 10029 9112 4234 -3 9428 10029 4234 -3 13406 13411 9112 -3 10029 13406 9112 -3 12308 5564 13411 -3 13406 12308 13411 -3 3046 13707 5564 -3 12308 3046 5564 -3 1137 1138 13707 -3 3046 1137 13707 -3 14174 3994 1138 -3 1137 14174 1138 -3 1972 8227 3994 -3 14174 1972 3994 -3 4790 4656 8227 -3 1972 4790 8227 -3 62 13511 4656 -3 4790 62 4656 -3 13491 13492 13511 -3 62 13491 13511 -3 296 2614 13492 -3 13491 296 13492 -3 12574 10007 2614 -3 296 12574 2614 -3 10246 680 10007 -3 12574 10246 10007 -3 2769 11013 680 -3 10246 2769 680 -3 1759 6126 11013 -3 2769 1759 11013 -3 16867 17029 4097 -3 1759 7465 6126 -3 12584 12674 12673 -3 11319 935 2497 -3 12318 12404 12403 -3 12317 12318 12403 -3 13594 13109 12032 -3 12114 13594 12032 -3 11653 11654 11733 -3 11734 11818 11817 -3 13496 8197 7286 -3 13416 13496 7286 -3 12494 12495 12584 -3 12585 12675 12674 -3 11905 11989 11988 -3 11904 11905 11988 -3 443 10372 2907 -3 10105 12837 10496 -3 35778 34870 35942 -3 14108 14107 14009 -3 3334 10105 10372 -3 14085 3334 10372 -3 11991 12072 11990 -3 12154 12153 12071 -3 11679 11678 11603 -3 12226 12311 8325 -3 5583 5585 7177 -3 10252 13204 10950 -3 13156 13155 13061 -3 11971 13781 11887 -3 13635 13733 13634 -3 456 21377 21467 -3 15110 15236 7584 -3 10876 13096 12475 -3 13225 13610 13611 -3 13690 13225 13611 -3 11589 11664 11588 -3 13983 11723 11949 -3 4122 1975 15736 -3 11687 11768 11686 -3 10899 6267 6386 -3 12576 12666 8754 -3 2916 2780 5548 -3 12858 12951 12950 -3 13122 13405 12739 -3 12831 13122 12739 -3 13972 13874 13405 -3 13122 13972 13405 -3 13878 13975 13874 -3 13972 13878 13874 -3 11796 12740 13975 -3 13878 11796 13975 -3 14080 13308 12740 -3 11796 14080 12740 -3 14080 12462 12847 -3 13308 14080 12847 -3 12462 11787 11874 -3 12847 12462 11874 -3 12053 15060 11973 -3 11787 11973 11874 -3 13995 8691 10118 -3 21745 18009 22041 -3 28368 19644 27143 -3 10931 7460 11057 -3 6662 2384 5204 -3 16046 12569 21696 -3 13831 13830 13732 -3 13733 13831 13732 -3 22042 21745 22041 -3 13864 12725 11365 -3 12963 15476 13057 -3 30829 17443 30828 -3 11730 11814 11813 -3 11729 11730 11813 -3 11814 11900 11899 -3 11813 11814 11899 -3 11900 11984 11983 -3 11899 11900 11983 -3 11984 12065 12064 -3 11983 11984 12064 -3 12065 12147 12146 -3 12064 12065 12146 -3 12147 12230 12229 -3 12146 12147 12229 -3 12230 12315 12314 -3 12229 12230 12314 -3 12315 12401 12400 -3 12314 12315 12400 -3 12401 12490 12489 -3 12400 12401 12489 -3 12490 12580 12579 -3 12489 12490 12579 -3 12580 12670 12669 -3 12579 12580 12669 -3 12670 12759 12758 -3 12669 12670 12758 -3 12759 12851 12850 -3 12758 12759 12850 -3 12851 12944 12943 -3 12850 12851 12943 -3 13038 13037 12943 -3 12944 13038 12943 -3 13133 13228 16078 -3 13038 13132 13037 -3 11722 12136 12055 -3 13326 11722 12055 -3 11955 12201 5602 -3 8125 10852 16158 -3 13538 13636 13635 -3 1174 13418 9542 -3 13610 13573 13475 -3 13611 13610 13475 -3 13573 12635 12365 -3 13475 13573 12365 -3 11865 11949 12640 -3 12369 11865 12640 -3 13701 11889 8482 -3 13929 13928 13830 -3 953 19121 952 -3 8450 6513 10809 -3 14102 14101 14003 -3 14004 14102 14003 -3 14198 14197 14101 -3 14102 14198 14101 -3 14296 14295 14197 -3 14198 14296 14197 -3 14296 8526 9428 -3 14295 14296 9428 -3 9912 10029 9428 -3 8526 9912 9428 -3 9912 564 13406 -3 10029 9912 13406 -3 12630 12308 13406 -3 564 12630 13406 -3 13802 3046 12308 -3 12630 13802 12308 -3 13580 1137 3046 -3 13802 13580 3046 -3 13670 14174 1137 -3 13580 13670 1137 -3 6122 1972 14174 -3 13670 6122 14174 -3 2632 4790 1972 -3 6122 2632 1972 -3 13571 62 4790 -3 2632 13571 4790 -3 13397 13491 62 -3 13571 13397 62 -3 234 296 13491 -3 13397 234 13491 -3 14091 12574 296 -3 234 14091 296 -3 10365 10246 12574 -3 14091 10365 12574 -3 796 2769 10246 -3 10365 796 10246 -3 290 1759 2769 -3 796 290 2769 -3 4097 7465 1759 -3 290 4097 1759 -3 7799 12845 12220 -3 2784 2785 17159 -3 12404 12493 12492 -3 12403 12404 12492 -3 3344 186 13109 -3 6520 458 2124 -3 11579 11654 11653 -3 17370 35065 34937 -3 9111 9445 7286 -3 4247 12386 9445 -3 12319 12320 12405 -3 12406 12495 12494 -3 5602 9515 4247 -3 8442 6892 7807 -3 9515 8442 7807 -3 8442 3199 3200 -3 14010 14108 14009 -3 14204 14203 14107 -3 14085 10372 443 -3 63 14085 443 -3 12072 12154 12071 -3 12497 12496 12407 -3 12952 13046 13045 -3 12951 12952 13045 -3 13741 13839 13740 -3 11970 12 12387 -3 8085 10772 1294 -3 22717 22816 22716 -3 14281 9520 2105 -3 13831 13929 13830 -3 11716 11800 4792 -3 14096 14095 10323 -3 12458 12033 12365 -3 12143 12369 12640 -3 12635 12458 12365 -3 11768 11852 11767 -3 2388 12143 12640 -3 2850 2714 2715 -3 24211 13695 3077 -3 3219 3357 15565 -3 15970 11799 17156 -3 13310 13122 12831 -3 12832 13310 12831 -3 13971 13972 13122 -3 13310 13971 13122 -3 13879 13878 13972 -3 13971 13879 13972 -3 12651 11796 13878 -3 13879 12651 13878 -3 13107 14080 11796 -3 12651 13107 11796 -3 13107 13711 12462 -3 14080 13107 12462 -3 13711 1617 11787 -3 12462 13711 11787 -3 12053 11973 11787 -3 1617 12053 11787 -3 14209 14307 14306 -3 14692 16671 16392 -3 8853 2514 8852 -3 5554 13771 13772 -3 6519 1855 13791 -3 13333 3041 2902 -3 14027 14026 13928 -3 13929 14027 13928 -3 21745 7181 7180 -3 30695 30829 30694 -3 18009 21745 7180 -3 11651 11731 11730 -3 32801 11650 11729 -3 11731 11815 11814 -3 11730 11731 11814 -3 11815 11901 11900 -3 11814 11815 11900 -3 11901 11985 11984 -3 11900 11901 11984 -3 11985 12066 12065 -3 11984 11985 12065 -3 12066 12148 12147 -3 12065 12066 12147 -3 12148 12231 12230 -3 12147 12148 12230 -3 12231 12316 12315 -3 12230 12231 12315 -3 12316 12402 12401 -3 12315 12316 12401 -3 12402 12491 12490 -3 12401 12402 12490 -3 12491 12581 12580 -3 12490 12491 12580 -3 12581 12671 12670 -3 12580 12581 12670 -3 12671 12760 12759 -3 12670 12671 12759 -3 12760 12852 12851 -3 12759 12760 12851 -3 12945 12944 12851 -3 12852 12945 12851 -3 13039 13038 12944 -3 12945 13039 12944 -3 13133 13132 13038 -3 13039 13133 13038 -3 12136 11634 12827 -3 5568 5274 5435 -3 7810 7467 13583 -3 14177 13583 13973 -3 14125 14124 14026 -3 34844 6934 34971 -3 6646 5470 9100 -3 10210 13908 13907 -3 1254 13001 12033 -3 12458 1254 12033 -3 17600 17506 20121 -3 12051 11798 2388 -3 35429 35505 35487 -3 35842 28071 29685 -3 13907 14005 14004 -3 13906 13907 14004 -3 14103 14102 14004 -3 14005 14103 14004 -3 14199 14198 14102 -3 14103 14199 14102 -3 14297 14296 14198 -3 14199 14297 14198 -3 14297 8200 8526 -3 14296 14297 8526 -3 9685 9912 8526 -3 8200 9685 8526 -3 7932 564 9912 -3 9685 7932 9912 -3 12629 12630 564 -3 7932 12629 564 -3 12929 13802 12630 -3 12629 12929 12630 -3 14087 13580 13802 -3 12929 14087 13802 -3 13669 13670 13580 -3 14087 13669 13580 -3 2087 6122 13670 -3 13669 2087 13670 -3 2497 2632 6122 -3 2087 2497 6122 -3 935 13571 2632 -3 2497 935 2632 -3 13493 13397 13571 -3 935 13493 13571 -3 4786 234 13397 -3 13493 4786 13397 -3 10376 14091 234 -3 4786 10376 234 -3 7768 10365 14091 -3 10376 7768 14091 -3 8578 796 10365 -3 7768 8578 10365 -3 1051 290 796 -3 8578 1051 796 -3 3997 4097 290 -3 1051 3997 290 -3 3732 12919 10817 -3 57 10349 11184 -3 12493 12583 12582 -3 12492 12493 12582 -3 13594 3344 13109 -3 458 6520 186 -3 7181 15475 21378 -3 11654 11734 11733 -3 14300 130 14299 -3 9111 4247 9445 -3 12405 12406 12494 -3 12495 12585 12584 -3 6892 8442 3200 -3 11955 5602 9111 -3 14258 7456 5987 -3 13800 11497 12292 -3 14108 14204 14107 -3 14302 14301 14203 -3 63 443 13986 -3 13987 63 13986 -3 12408 12497 12407 -3 12587 12586 12496 -3 12859 12952 12951 -3 12858 12859 12951 -3 13578 4796 11616 -3 20556 20555 20470 -3 15888 141 6147 -3 13721 13819 13818 -3 4409 4542 8125 -3 14027 14125 14026 -3 10623 35945 35383 -3 12844 12846 13001 -3 1254 12844 13001 -3 13619 11798 12051 -3 12726 13619 12051 -3 12925 10381 13019 -3 11852 11938 11851 -3 12925 12832 11619 -3 14221 14220 14124 -3 13309 13310 12832 -3 12925 13309 12832 -3 13777 13971 13310 -3 13309 13777 13310 -3 13880 13879 13971 -3 13777 13880 13971 -3 12561 12651 13879 -3 13880 12561 13879 -3 12648 13107 12651 -3 12561 12648 12651 -3 9419 13711 13107 -3 12648 9419 13107 -3 9419 10120 1617 -3 13711 9419 1617 -3 11972 12053 1617 -3 10120 11972 1617 -3 14208 14209 14306 -3 11008 12460 11972 -3 10806 10682 10683 -3 11792 12845 7799 -3 3040 2517 2209 -3 13870 3040 2209 -3 14125 14221 14124 -3 665 13515 14220 -3 7180 7181 21378 -3 15475 7083 17670 -3 2139 33934 19044 -3 17443 17816 30828 -3 11652 11732 11731 -3 11651 11652 11731 -3 11732 11816 11815 -3 11731 11732 11815 -3 11816 11902 11901 -3 11815 11816 11901 -3 11902 11986 11985 -3 11901 11902 11985 -3 11986 12067 12066 -3 11985 11986 12066 -3 12067 12149 12148 -3 12066 12067 12148 -3 12149 12232 12231 -3 12148 12149 12231 -3 12232 12317 12316 -3 12231 12232 12316 -3 12317 12403 12402 -3 12316 12317 12402 -3 12403 12492 12491 -3 12402 12403 12491 -3 12492 12582 12581 -3 12491 12492 12581 -3 11549 14168 13973 -3 16114 5472 2441 -3 16858 4950 14782 -3 2441 16858 14782 -3 4950 16387 16388 -3 14782 4950 16388 -3 16387 5211 3352 -3 16388 16387 3352 -3 14861 14980 3352 -3 5211 14861 3352 -3 16317 15172 14980 -3 14861 16317 14980 -3 15177 15058 15172 -3 16317 15177 15172 -3 16847 14692 15058 -3 15177 16847 15058 -3 15770 4808 4908 -3 15491 24 14809 -3 24 3266 14809 -3 15266 14488 15104 -3 14931 16795 14692 -3 16465 15294 4533 -3 16847 14931 14692 -3 14931 3534 14547 -3 16795 14931 14547 -3 2444 15656 14547 -3 3534 2444 14547 -3 2444 14725 14703 -3 15656 2444 14703 -3 14725 4667 16035 -3 6402 6527 7004 -3 14703 14725 16035 -3 4908 4808 4949 -3 14984 15106 16096 -3 14741 15770 4908 -3 4808 15266 4949 -3 14335 14598 14318 -3 14598 15770 14741 -3 14335 14318 3266 -3 2380 14598 14741 -3 24 14335 3266 -3 14598 2380 14318 -3 2049 327 4783 -3 327 14813 2612 -3 15491 14809 15421 -3 16512 2049 4783 -3 6527 16096 7004 -3 15294 15491 15421 -3 4667 1850 3749 -3 20669 20670 24592 -3 16035 4667 3749 -3 1850 15561 3405 -3 22715 22814 22714 -3 3749 1850 3405 -3 15294 15421 4533 -3 7004 16108 274 -3 6527 14984 16096 -3 16465 4533 15106 -3 16668 14610 14609 -3 14984 16465 15106 -3 4783 327 2612 -3 14813 16668 16513 -3 16513 16668 14609 -3 2612 14813 16513 -3 14610 15423 15163 -3 14609 14610 15163 -3 15423 16966 16803 -3 16803 16966 16957 -3 15163 15423 16803 -3 16966 4005 16957 -3 4005 3122 15241 -3 16957 4005 15241 -3 15241 3122 475 -3 14369 14384 14368 -3 3122 143 475 -3 143 14916 14798 -3 21879 21852 21119 -3 22814 22813 22714 -3 15561 16623 14993 -3 3405 15561 14993 -3 16623 17131 16535 -3 13894 1878 14052 -3 14993 16623 16535 -3 15526 15886 14539 -3 9405 23236 20647 -3 475 143 14798 -3 14916 15526 15412 -3 15412 15526 14539 -3 14798 14916 15412 -3 14420 14419 14400 -3 15886 14597 2 -3 2936 708 2935 -3 14401 14420 14400 -3 2007 14549 14534 -3 1064 708 4401 -3 14668 14774 14667 -3 6268 2007 1180 -3 14774 14773 14667 -3 4401 6268 1180 -3 14668 14667 14575 -3 1180 2007 14534 -3 14576 14575 14496 -3 14576 14668 14575 -3 14401 14400 14383 -3 14497 14576 14496 -3 2 14597 822 -3 14355 14369 14354 -3 10216 371 21852 -3 17118 14592 15624 -3 17131 5545 14642 -3 2888 60 20279 -3 16535 17131 14642 -3 5545 4941 15762 -3 32141 32140 32043 -3 14642 5545 15762 -3 14539 15886 2 -3 22616 22715 22615 -3 14342 14355 14341 -3 14597 17118 822 -3 14446 14497 14445 -3 14384 14401 14383 -3 14446 14445 14419 -3 14420 14446 14419 -3 15649 15786 15785 -3 14497 14496 14445 -3 10381 15970 15427 -3 14887 14888 15007 -3 1380 3356 3357 -3 14321 3531 6146 -3 15648 15649 15785 -3 4415 4282 1741 -3 27956 28991 27401 -3 4148 15899 15659 -3 15382 15513 15512 -3 21371 21390 13318 -3 15790 17022 5138 -3 14929 16050 15818 -3 16173 16216 16826 -3 15386 15517 15516 -3 14384 14383 14368 -3 17901 17994 17900 -3 822 17118 15624 -3 14549 15697 15677 -3 22715 22714 22615 -3 14592 16992 16219 -3 4941 2802 14787 -3 6999 6998 35189 -3 15762 4941 14787 -3 35901 35481 35416 -3 14787 2802 15489 -3 14672 14673 14778 -3 3317 14416 14415 -3 14779 14892 14891 -3 20760 20174 16304 -3 14778 14779 14891 -3 15624 14592 16219 -3 22517 22616 22615 -3 16491 16094 16248 -3 16992 16692 1413 -3 14331 14341 14340 -3 14369 14368 14354 -3 18367 18366 18273 -3 14751 14749 6014 -3 15770 5743 4808 -3 5058 14751 6014 -3 15415 16051 14512 -3 13132 13131 13037 -3 13131 13132 16078 -3 15133 15134 15260 -3 1407 1621 932 -3 35647 35693 30214 -3 5283 5284 15349 -3 5599 3062 357 -3 5755 5754 175 -3 11780 13476 11866 -3 6016 1413 3991 -3 15415 14512 14655 -3 18143 16508 16356 -3 5754 174 175 -3 14522 14458 15824 -3 15134 15261 15260 -3 1406 1407 932 -3 1770 16825 1890 -3 14534 14549 15677 -3 14341 14354 14340 -3 16672 9182 9292 -3 14577 14576 14497 -3 15654 4812 24249 -3 35521 20535 35644 -3 14892 15012 15011 -3 827 14523 14521 -3 14891 14892 15011 -3 14759 15615 14713 -3 15012 15135 15134 -3 3609 6402 580 -3 14395 16547 23995 -3 6773 827 2267 -3 6139 6773 2267 -3 20040 20046 20490 -3 22516 22517 22615 -3 14447 14498 14446 -3 14354 14368 11566 -3 35922 26940 35688 -3 475 14798 14799 -3 1428 1544 1543 -3 14671 14672 14777 -3 13228 16079 16078 -3 6128 405 3203 -3 21024 20941 18634 -3 14925 24 15491 -3 15554 7357 7350 -3 16354 16355 16507 -3 16221 16366 13131 -3 35518 35624 35809 -3 15477 14973 8114 -3 16366 16365 13131 -3 16518 16517 16365 -3 16366 16518 16365 -3 16673 16672 16517 -3 16518 16673 16517 -3 14571 14570 11076 -3 16673 16831 16672 -3 14751 14752 16104 -3 13757 15029 13659 -3 17159 9287 16995 -3 4512 19101 5455 -3 35556 35568 35350 -3 15397 13141 13236 -3 14354 11566 14340 -3 14368 14383 14367 -3 17152 16323 14712 -3 8123 7569 9446 -3 7350 15688 15554 -3 16066 16067 16209 -3 1065 6773 6139 -3 34822 34951 34821 -3 17886 17790 20289 -3 3207 3609 580 -3 27143 6787 13391 -3 17805 17901 17804 -3 22316 22315 22219 -3 15291 1061 14554 -3 15256 15257 15384 -3 13528 13626 23733 -3 15698 15835 7878 -3 13960 20046 20040 -3 13138 13137 13044 -3 14383 14382 14367 -3 3195 15310 15438 -3 11184 11196 10458 -3 13137 13138 15527 -3 57 11184 10458 -3 9182 9183 9292 -3 9206 8562 10237 -3 89 5599 88 -3 17159 17158 9287 -3 16079 16222 16221 -3 16078 16079 16221 -3 16367 16366 16221 -3 16222 16367 16221 -3 16519 16518 16366 -3 16367 16519 16366 -3 16674 16673 16518 -3 16519 16674 16518 -3 16832 16831 16673 -3 16674 16832 16673 -3 14996 15118 14256 -3 16832 16995 16831 -3 20694 20695 20776 -3 16959 346 3607 -3 15662 13137 15527 -3 8904 14868 14869 -3 14400 14399 14382 -3 14383 14400 14382 -3 35504 35632 35477 -3 35599 6964 35776 -3 15898 15412 15014 -3 3492 15241 15015 -3 15433 18494 18898 -3 14373 14372 14358 -3 15347 15746 16773 -3 16248 14430 15771 -3 13384 11864 13614 -3 2915 12722 1065 -3 15397 13236 15398 -3 14470 14472 2413 -3 18462 18461 18366 -3 19190 1925 2050 -3 15527 13139 15397 -3 14355 14354 14341 -3 15397 15528 15527 -3 16517 16672 9292 -3 15528 15663 15662 -3 15527 15528 15662 -3 25856 24240 25855 -3 6983 9446 1407 -3 15800 15939 15938 -3 13230 15938 13229 -3 15939 16080 16079 -3 15938 15939 16079 -3 16080 16223 16222 -3 16079 16080 16222 -3 16368 16367 16222 -3 16223 16368 16222 -3 16520 16519 16367 -3 16368 16520 16367 -3 16675 16674 16519 -3 16520 16675 16519 -3 16833 16832 16674 -3 16675 16833 16674 -3 16996 16995 16832 -3 16833 16996 16832 -3 35575 35468 27753 -3 1165 1046 7626 -3 16161 17087 21285 -3 9115 9114 145 -3 14598 6146 15770 -3 14419 14418 14399 -3 35654 35887 35583 -3 14869 14988 8904 -3 14500 14499 14448 -3 18367 18462 18366 -3 15622 15291 14554 -3 15265 3661 14784 -3 16807 16971 16970 -3 16648 16807 13384 -3 17137 17136 16970 -3 16971 17137 16970 -3 271 74 17136 -3 17137 271 17136 -3 5757 16708 225 -3 15368 14438 5756 -3 16799 16961 16960 -3 17848 146 19412 -3 392 17739 17740 -3 311 310 7035 -3 15398 15529 15528 -3 15397 15398 15528 -3 15529 15664 15663 -3 15528 15529 15663 -3 15664 15801 15800 -3 15663 15664 15800 -3 15801 15940 15939 -3 15800 15801 15939 -3 15940 16081 16080 -3 15939 15940 16080 -3 16081 16224 16223 -3 16080 16081 16223 -3 16369 16368 16223 -3 16224 16369 16223 -3 16521 16520 16368 -3 16369 16521 16368 -3 16676 16675 16520 -3 16521 16676 16520 -3 16834 16833 16675 -3 16676 16834 16675 -3 16997 16996 16833 -3 16834 16997 16833 -3 7626 1046 927 -3 35624 35635 35809 -3 16826 16216 3261 -3 5412 2784 2920 -3 7876 8904 14988 -3 5006 15139 15117 -3 30862 30861 23861 -3 12962 12803 12989 -3 15241 475 15015 -3 18462 18558 18557 -3 2257 15372 15309 -3 20893 192 15433 -3 14763 14438 15368 -3 19698 17796 18152 -3 3535 2986 74 -3 271 3535 74 -3 2283 2684 2986 -3 3535 2283 2986 -3 2803 6145 15165 -3 856 857 2684 -3 35433 35482 35431 -3 15757 15749 14550 -3 15773 12282 15774 -3 35853 35458 35798 -3 35494 35808 35650 -3 7035 310 7138 -3 15399 15530 15529 -3 15398 15399 15529 -3 15530 15665 15664 -3 15529 15530 15664 -3 15665 15802 15801 -3 15664 15665 15801 -3 15802 15941 15940 -3 15801 15802 15940 -3 15941 16082 16081 -3 15940 15941 16081 -3 16082 16225 16224 -3 16081 16082 16224 -3 16225 16370 16369 -3 16224 16225 16369 -3 16370 16522 16521 -3 16369 16370 16521 -3 16522 16677 16676 -3 16521 16522 16676 -3 16677 16835 16834 -3 16676 16677 16834 -3 16835 16998 16997 -3 16834 16835 16997 -3 6153 33587 34340 -3 35884 35867 35842 -3 17162 5548 5412 -3 2101 4787 2230 -3 5422 5421 5286 -3 12650 11565 12739 -3 14757 14869 14868 -3 14756 14757 14868 -3 14449 14500 14448 -3 18461 18462 18557 -3 18558 18655 18654 -3 18557 18558 18654 -3 6145 14763 15165 -3 15165 14763 15368 -3 2283 856 2684 -3 3876 5750 857 -3 856 3876 857 -3 386 387 5750 -3 3876 386 5750 -3 3664 131 4117 -3 14826 14606 2803 -3 22220 22316 22219 -3 13134 13229 13133 -3 26224 15146 25002 -3 35720 35442 35459 -3 15272 15400 15399 -3 35935 35424 35648 -3 15400 15531 15530 -3 15399 15400 15530 -3 15531 15666 15665 -3 15530 15531 15665 -3 15803 15802 15665 -3 15666 15803 15665 -3 15942 15941 15802 -3 15803 15942 15802 -3 16083 16082 15941 -3 15942 16083 15941 -3 16226 16225 16082 -3 16083 16226 16082 -3 16226 16371 16370 -3 16225 16226 16370 -3 16371 16523 16522 -3 16370 16371 16522 -3 16523 16678 16677 -3 16522 16523 16677 -3 16678 16836 16835 -3 16677 16678 16835 -3 16836 16999 16998 -3 16835 16836 16998 -3 16999 17163 17162 -3 16998 16999 17162 -3 20244 20158 20245 -3 17162 17163 5548 -3 2928 13969 7891 -3 7692 7424 7801 -3 9304 4503 9539 -3 16152 21873 15149 -3 3178 14185 35758 -3 15677 15697 5082 -3 14462 14606 14826 -3 15180 14802 4017 -3 2800 2799 387 -3 16180 14462 14826 -3 386 2800 387 -3 943 944 2799 -3 2800 943 2799 -3 4134 4135 944 -3 943 4134 944 -3 9633 14276 13306 -3 41 4393 6769 -3 22413 22412 22315 -3 1454 2302 4467 -3 35071 35200 35199 -3 34613 18898 19327 -3 15401 15400 15272 -3 13795 35791 13053 -3 15532 15531 15400 -3 15401 15532 15400 -3 15667 15666 15531 -3 15532 15667 15531 -3 15804 15803 15666 -3 15667 15804 15666 -3 15943 15942 15803 -3 15804 15943 15803 -3 16084 16083 15942 -3 15943 16084 15942 -3 16227 16226 16083 -3 16084 16227 16083 -3 16227 16372 16371 -3 16226 16227 16371 -3 16372 16524 16523 -3 16371 16372 16523 -3 16524 16679 16678 -3 16523 16524 16678 -3 16679 16837 16836 -3 16678 16679 16836 -3 16837 17000 16999 -3 16836 16837 16999 -3 17000 17164 17163 -3 16999 17000 17163 -3 25001 15272 15146 -3 35448 35687 35360 -3 14532 15748 5414 -3 21378 15475 17670 -3 13236 15399 15398 -3 21202 14244 21201 -3 3185 673 3355 -3 15894 14348 14819 -3 14677 14785 14716 -3 14606 6145 2803 -3 4134 948 829 -3 4135 4134 829 -3 948 14603 14602 -3 829 948 14602 -3 14603 15795 15789 -3 14602 14603 15789 -3 15795 977 8134 -3 15828 3068 16472 -3 15789 15795 8134 -3 14823 7344 9648 -3 15399 13236 15272 -3 22027 22028 22123 -3 16010 22929 23028 -3 2206 19538 19277 -3 22220 22219 22123 -3 35893 35614 35580 -3 24592 20670 25113 -3 15533 15532 15401 -3 15402 15533 15401 -3 15668 15667 15532 -3 15533 15668 15532 -3 15805 15804 15667 -3 15668 15805 15667 -3 15944 15943 15804 -3 15805 15944 15804 -3 16085 16084 15943 -3 15944 16085 15943 -3 16228 16227 16084 -3 16085 16228 16084 -3 16228 16373 16372 -3 16227 16228 16372 -3 16373 16525 16524 -3 16372 16373 16524 -3 16525 16680 16679 -3 16524 16525 16679 -3 16680 16838 16837 -3 16679 16680 16837 -3 16838 17001 17000 -3 16837 16838 17000 -3 17001 17165 17164 -3 17000 17001 17164 -3 17165 591 14644 -3 17164 17165 14644 -3 15272 25001 15273 -3 14644 591 2310 -3 18318 554 5756 -3 20242 20156 15032 -3 16798 16799 16960 -3 35707 35370 35620 -3 5744 14462 16180 -3 14716 5744 16180 -3 977 15035 15034 -3 6525 3076 14677 -3 8134 977 15034 -3 19803 15035 18619 -3 15034 15035 17133 -3 19803 17133 15035 -3 17133 16194 5472 -3 35496 35356 35516 -3 35598 29542 27756 -3 4950 16858 21568 -3 15114 16991 16630 -3 916 6983 1407 -3 8154 17184 13958 -3 11566 14368 14367 -3 15566 14490 4140 -3 20792 20874 20873 -3 14244 15149 21201 -3 31785 31784 31684 -3 20305 20304 20218 -3 29497 29635 29496 -3 22028 22124 22123 -3 23783 15402 15273 -3 21582 18992 21958 -3 15669 15668 15533 -3 15534 15669 15533 -3 15806 15805 15668 -3 15669 15806 15668 -3 15945 15944 15805 -3 15806 15945 15805 -3 16086 16085 15944 -3 15945 16086 15944 -3 16229 16228 16085 -3 16086 16229 16085 -3 16229 16374 16373 -3 16228 16229 16373 -3 16374 16526 16525 -3 16373 16374 16525 -3 16526 16681 16680 -3 16525 16526 16680 -3 16681 16839 16838 -3 16680 16681 16838 -3 16839 17002 17001 -3 16838 16839 17001 -3 17002 17166 17165 -3 17001 17002 17165 -3 17166 5413 591 -3 17165 17166 591 -3 5548 2781 5412 -3 5548 2780 2781 -3 15907 15682 14519 -3 10206 13999 10205 -3 7083 13892 20597 -3 24430 24467 24517 -3 14391 16947 3796 -3 6988 14391 3796 -3 14785 5744 14716 -3 16943 2843 5140 -3 16858 2441 5472 -3 3076 14785 14677 -3 16386 16387 4950 -3 11696 5054 13400 -3 35440 35426 35465 -3 35778 35942 35558 -3 2765 2104 2103 -3 1925 19190 19088 -3 8136 4098 5869 -3 20303 20388 20302 -3 9400 13183 20242 -3 21202 21201 2653 -3 20403 21755 3196 -3 19378 18962 23324 -3 6518 21202 2653 -3 27411 29547 29564 -3 18263 13147 16932 -3 21409 21399 20575 -3 21933 22028 22027 -3 15670 15669 15534 -3 33865 34000 33864 -3 15807 15806 15669 -3 15670 15807 15669 -3 15946 15945 15806 -3 15807 15946 15806 -3 16087 16086 15945 -3 15946 16087 15945 -3 16230 16229 16086 -3 16087 16230 16086 -3 16230 16375 16374 -3 16229 16230 16374 -3 16375 16527 16526 -3 16374 16375 16526 -3 16527 16682 16681 -3 16526 16527 16681 -3 16682 16840 16839 -3 16681 16682 16839 -3 16840 17003 17002 -3 16839 16840 17002 -3 17003 17167 17166 -3 17002 17003 17166 -3 5410 5413 17166 -3 17167 5410 17166 -3 5410 2912 5413 -3 2845 9389 2912 -3 7547 8233 11790 -3 12207 12125 16468 -3 1777 2484 3870 -3 361 6148 3211 -3 14746 358 51 -3 23353 30685 23256 -3 16781 16943 5140 -3 4935 15485 15753 -3 1186 615 4397 -3 3469 1186 4397 -3 20779 16178 20190 -3 5485 5211 16387 -3 16386 16178 20674 -3 14862 14861 5211 -3 5485 14862 5211 -3 15234 16317 14861 -3 14862 15234 14861 -3 14927 15177 16317 -3 15234 14927 16317 -3 1892 16847 15177 -3 14927 1892 15177 -3 14695 14931 16847 -3 1892 14695 16847 -3 14546 3534 14931 -3 14695 14546 14931 -3 23367 23270 15464 -3 20954 21037 21036 -3 35505 35392 35560 -3 16164 16022 14149 -3 20954 20955 21037 -3 13183 9400 12901 -3 19568 29132 27531 -3 21755 1034 3196 -3 12994 13183 12901 -3 21127 22067 21126 -3 20302 20387 20301 -3 12558 21497 20131 -3 6518 2653 22063 -3 29398 29561 29695 -3 22956 12361 13855 -3 15671 15670 15535 -3 15535 24674 25294 -3 15808 15807 15670 -3 15671 15808 15670 -3 15947 15946 15807 -3 15808 15947 15807 -3 16088 16087 15946 -3 15947 16088 15946 -3 16231 16230 16087 -3 16088 16231 16087 -3 16231 16376 16375 -3 16230 16231 16375 -3 16376 16528 16527 -3 16375 16376 16527 -3 16528 16683 16682 -3 16527 16528 16682 -3 16683 16841 16840 -3 16682 16683 16840 -3 17004 17003 16840 -3 16841 17004 16840 -3 17168 17167 17003 -3 17004 17168 17003 -3 5408 5410 17167 -3 17168 5408 17167 -3 7551 7782 914 -3 5408 2845 5410 -3 1287 913 14538 -3 7433 8483 15910 -3 14672 14778 14777 -3 2845 5408 9622 -3 14919 15039 16337 -3 16703 2481 3491 -3 2886 18732 18598 -3 76 14746 51 -3 615 3076 6525 -3 17015 17014 1182 -3 16397 1186 3469 -3 4397 615 6525 -3 15104 16397 16106 -3 16106 16397 3469 -3 4949 15104 15355 -3 15355 15104 16106 -3 4908 4949 3260 -3 3260 4949 15355 -3 17155 14741 5071 -3 5071 4908 3260 -3 15522 2444 3534 -3 16324 2380 17155 -3 14546 15522 3534 -3 15522 14922 14725 -3 2444 15522 14725 -3 14922 14614 4667 -3 14725 14922 4667 -3 14614 5739 1850 -3 4667 14614 1850 -3 5739 14566 15561 -3 23419 18520 23121 -3 12538 15597 12449 -3 26942 30556 26488 -3 19136 451 12395 -3 34057 2686 2822 -3 28430 26412 28987 -3 13183 20156 20242 -3 29627 29760 29626 -3 20471 20470 20386 -3 23367 13945 16767 -3 22067 6518 22063 -3 22067 22063 21126 -3 20557 20639 20556 -3 20720 20719 20638 -3 15536 25294 24774 -3 33796 34219 17909 -3 15809 15808 15671 -3 15672 15809 15671 -3 15948 15947 15808 -3 15809 15948 15808 -3 16089 16088 15947 -3 15948 16089 15947 -3 16232 16231 16088 -3 16089 16232 16088 -3 16232 16377 16376 -3 16231 16232 16376 -3 16377 16529 16528 -3 16376 16377 16528 -3 16684 16683 16528 -3 16529 16684 16528 -3 16842 16841 16683 -3 16684 16842 16683 -3 17005 17004 16841 -3 16842 17005 16841 -3 17169 17168 17004 -3 17005 17169 17004 -3 5833 15231 15550 -3 277 145 9114 -3 7416 7146 9115 -3 16852 6001 291 -3 17081 17080 25601 -3 7424 7692 10977 -3 17184 8154 14629 -3 12601 16533 14056 -3 15769 9802 11222 -3 4547 15910 16988 -3 14801 16339 17111 -3 17111 16339 15303 -3 17242 17241 17077 -3 15243 15244 16866 -3 2843 17014 17015 -3 17078 17242 17077 -3 5140 2843 17015 -3 17014 4278 1182 -3 15485 349 2934 -3 15753 15485 2934 -3 349 16855 16854 -3 2934 349 16854 -3 16855 15691 15692 -3 16854 16855 15692 -3 14741 4908 5071 -3 15691 16098 16099 -3 1850 5739 15561 -3 5341 14318 16324 -3 14566 15285 16623 -3 15561 14566 16623 -3 15285 16965 17131 -3 16623 15285 17131 -3 16965 3795 5545 -3 17131 16965 5545 -3 3795 15621 4941 -3 5545 3795 4941 -3 20386 20385 20300 -3 17083 23419 23121 -3 18617 26942 26488 -3 35901 35827 35481 -3 23609 21376 23021 -3 7287 29398 29695 -3 4516 23274 11251 -3 30422 30425 18375 -3 13945 13290 16767 -3 12734 11251 23274 -3 21127 21126 20321 -3 8573 14259 13566 -3 5275 21484 20178 -3 20324 21127 20321 -3 20638 20719 20637 -3 21484 21390 20178 -3 15810 15809 15672 -3 20014 15672 15536 -3 15949 15948 15809 -3 15810 15949 15809 -3 16090 16089 15948 -3 15949 16090 15948 -3 16233 16232 16089 -3 16090 16233 16089 -3 16233 16378 16377 -3 16232 16233 16377 -3 16378 16530 16529 -3 16377 16378 16529 -3 16530 16685 16684 -3 16529 16530 16684 -3 16685 16843 16842 -3 16684 16685 16842 -3 14441 12377 14415 -3 16842 16843 17005 -3 9739 17169 9855 -3 17168 9622 5408 -3 6392 15753 5597 -3 22150 22148 21213 -3 23305 23306 23402 -3 1871 15278 20645 -3 16955 16951 15267 -3 21047 15042 15324 -3 5288 5424 5423 -3 14371 14372 14386 -3 4547 15358 15910 -3 6001 16852 15694 -3 16033 2177 5137 -3 16825 16988 1890 -3 15749 4678 15697 -3 1897 14761 16399 -3 1061 616 3661 -3 15682 15681 14519 -3 4331 4198 17241 -3 14560 14650 14559 -3 15692 15691 16099 -3 16098 15747 904 -3 3266 14318 2987 -3 14318 2380 16324 -3 14809 3266 14535 -3 14318 5341 2987 -3 14809 14535 15551 -3 15421 14809 15551 -3 2380 14741 17155 -3 3266 2987 14535 -3 7819 15 6793 -3 15421 15551 5547 -3 4941 15621 2802 -3 30865 30864 26357 -3 9973 16843 16686 -3 15011 15012 15134 -3 15135 15262 15261 -3 14523 14533 15654 -3 21045 21131 21044 -3 20215 20301 20214 -3 25209 2678 20261 -3 22136 13459 25310 -3 25572 25571 23710 -3 25837 25696 25838 -3 12441 27673 12442 -3 34823 34952 34822 -3 15029 23274 14908 -3 29948 19900 30489 -3 12921 13470 13566 -3 12734 13394 33949 -3 13088 20324 13563 -3 17967 20448 20447 -3 13088 13563 15024 -3 20093 13088 15024 -3 15672 15673 15810 -3 20324 20321 13563 -3 15950 15949 15810 -3 15811 15950 15810 -3 15950 16091 16090 -3 15949 15950 16090 -3 16091 16234 16233 -3 16090 16091 16233 -3 16234 16379 16378 -3 16233 16234 16378 -3 16379 16531 16530 -3 16378 16379 16530 -3 16531 16686 16685 -3 16530 16531 16685 -3 12056 12207 16468 -3 16685 16686 16843 -3 4007 4672 1772 -3 35777 35422 35840 -3 29935 30066 29934 -3 13338 13757 13659 -3 28704 28703 28574 -3 23047 19206 18184 -3 26139 369 4923 -3 9175 33351 8665 -3 30951 30950 30896 -3 2343 4933 5208 -3 17185 16186 5273 -3 3066 15538 16015 -3 16246 16237 16104 -3 2939 14412 15480 -3 16825 4547 16988 -3 15924 15925 16066 -3 14888 15008 15007 -3 6134 3342 14551 -3 10586 2764 12 -3 8802 8909 8801 -3 16210 16356 16355 -3 14650 14649 14559 -3 16099 16098 904 -3 15747 4815 976 -3 16096 16097 14744 -3 7004 16096 14744 -3 15134 15135 15261 -3 15615 5136 14941 -3 24055 14941 14395 -3 16383 15096 15063 -3 33514 33633 33513 -3 34000 34136 33999 -3 4533 15421 5547 -3 22913 22912 22813 -3 17901 17900 17804 -3 16096 15106 16097 -3 18655 18753 18752 -3 14356 14355 14342 -3 20569 673 4284 -3 10206 10326 14000 -3 15782 15921 15920 -3 10090 9973 16686 -3 17966 17872 17873 -3 35525 35536 35495 -3 22050 18522 19206 -3 11512 30091 17574 -3 19172 20453 203 -3 6860 18712 17270 -3 18796 13005 19434 -3 13433 13338 13659 -3 22132 22131 22035 -3 14921 16953 3612 -3 15029 14908 13659 -3 27378 27266 30502 -3 30096 19796 19906 -3 15276 13847 22561 -3 22660 15276 22561 -3 15812 15951 15950 -3 15811 15810 25189 -3 15951 16092 16091 -3 15950 15951 16091 -3 16092 16235 16234 -3 16091 16092 16234 -3 16235 16380 16379 -3 16234 16235 16379 -3 16380 16532 16531 -3 16379 16380 16531 -3 13134 13230 13229 -3 16531 16532 16686 -3 17028 17021 15367 -3 23111 23112 23209 -3 14337 17178 14974 -3 17178 15354 14974 -3 16353 16506 16505 -3 16206 16207 16352 -3 17670 7083 20597 -3 20463 20548 20462 -3 14906 3048 9640 -3 22228 22324 22227 -3 25996 5074 5208 -3 828 2268 6774 -3 1564 22460 16937 -3 2531 2396 4933 -3 24009 2921 21872 -3 23404 23405 21047 -3 14415 12844 3317 -3 15548 15890 15891 -3 15662 15663 13230 -3 5701 15901 16041 -3 502 1404 501 -3 9892 9891 14761 -3 14669 14668 14576 -3 14437 14645 14834 -3 904 15747 976 -3 5082 4813 14783 -3 15106 15107 16097 -3 16358 15684 976 -3 22034 21939 33671 -3 15154 14838 14909 -3 16649 16808 16807 -3 16648 16649 16807 -3 14838 901 2499 -3 16972 16971 16807 -3 4533 5547 15107 -3 13432 13759 13339 -3 13758 13759 14909 -3 15106 4533 15107 -3 16808 16972 16807 -3 21907 29085 22001 -3 17138 17137 16971 -3 16972 17138 16971 -3 15027 14906 9640 -3 20451 22449 23220 -3 13149 23 9640 -3 16327 5292 5293 -3 25003 13237 13142 -3 5428 5293 5294 -3 2672 21652 21653 -3 29361 29360 29223 -3 20719 20801 20800 -3 12362 17101 13847 -3 15813 15952 15951 -3 25189 15812 15811 -3 35509 35852 35869 -3 15951 15952 16092 -3 7967 11221 10348 -3 21591 15157 15735 -3 16235 10093 16380 -3 10209 10090 16686 -3 9802 15769 14901 -3 5205 5290 587 -3 14664 14770 14663 -3 13622 13720 13621 -3 15371 15367 14329 -3 14330 15371 14329 -3 1188 15180 1774 -3 15511 15646 15645 -3 13665 13570 12171 -3 23306 23403 23402 -3 2910 4262 4948 -3 3048 13149 9640 -3 14792 14905 23 -3 22132 22228 22131 -3 14557 14552 2268 -3 16063 16064 16206 -3 2343 2531 4933 -3 18654 18655 18752 -3 15042 15323 15324 -3 29928 30059 29927 -3 1426 25870 4276 -3 22130 22129 22033 -3 22130 22226 22129 -3 2129 2261 6142 -3 4536 2262 4669 -3 3357 3356 14489 -3 2177 17173 17010 -3 6144 16329 16480 -3 14498 14577 14497 -3 5137 2177 17010 -3 4815 16358 976 -3 2849 15907 14519 -3 13759 15154 14909 -3 15634 3483 15684 -3 2804 271 17137 -3 901 35002 7300 -3 17138 2804 17137 -3 2848 3535 271 -3 2804 2848 271 -3 4020 2283 3535 -3 20678 9546 13428 -3 2848 4020 3535 -3 34546 34674 34545 -3 31109 31172 31171 -3 14838 2499 14909 -3 29157 26919 17313 -3 855 856 2283 -3 15048 20678 13428 -3 4020 855 2283 -3 13149 14792 23 -3 13706 6768 34874 -3 4009 3876 856 -3 13621 15813 15812 -3 855 4009 856 -3 6413 6414 9326 -3 15952 15813 13717 -3 8573 11862 14259 -3 8562 14818 14820 -3 14445 14444 14418 -3 20755 20837 20753 -3 1 14375 2397 -3 2397 5469 4243 -3 4678 14801 14796 -3 6774 2268 6396 -3 15163 16803 16645 -3 16645 16803 3872 -3 14464 14360 17124 -3 17125 14464 17124 -3 14770 14883 14769 -3 14883 14882 14769 -3 14330 14329 2130 -3 0 14330 2130 -3 15646 15783 15782 -3 15510 15511 15645 -3 1499 14655 3622 -3 13045 13139 13138 -3 14882 14881 14768 -3 14512 15771 15635 -3 16829 16629 15354 -3 14696 15655 3619 -3 14942 14856 4544 -3 16207 16353 16352 -3 18163 18071 18072 -3 20265 16165 16020 -3 15538 1564 16015 -3 22032 21938 22033 -3 22128 22127 22031 -3 2530 2531 2343 -3 15645 15782 15781 -3 15268 16955 15267 -3 14792 6768 14905 -3 251 3211 3349 -3 14388 14387 14373 -3 3714 6247 15967 -3 15095 15221 14508 -3 15559 14336 15098 -3 30191 30190 30058 -3 4813 14796 14783 -3 16358 15634 15684 -3 14932 14933 3483 -3 1061 3661 15265 -3 13811 13908 10210 -3 385 386 3876 -3 4009 385 3876 -3 2665 2800 386 -3 385 2665 386 -3 824 943 2800 -3 2665 824 2800 -3 824 4267 4134 -3 15387 15388 15518 -3 943 824 4134 -3 9546 3621 4817 -3 22144 22048 21952 -3 4267 1414 948 -3 6008 6139 2006 -3 4134 4267 948 -3 1414 14627 14603 -3 948 1414 14603 -3 14627 15797 15795 -3 14603 14627 15795 -3 13892 25800 24285 -3 11256 6989 8195 -3 19276 1411 18629 -3 35661 35493 35590 -3 15795 15797 977 -3 20 15974 4104 -3 14554 1061 15265 -3 15678 15624 6016 -3 2398 15283 3793 -3 15283 15525 327 -3 16067 16068 16210 -3 15938 13228 13229 -3 1504 2395 4259 -3 15427 13019 10381 -3 33894 34029 33893 -3 14375 14365 2397 -3 14654 1285 3212 -3 15894 14819 12388 -3 14405 14424 14404 -3 16957 15241 3492 -3 703 14351 585 -3 15396 15392 14339 -3 14883 15003 14882 -3 15003 15002 14882 -3 2354 6 6271 -3 1619 6761 7092 -3 15783 15922 15921 -3 15645 15646 15782 -3 23109 23110 23207 -3 22224 22320 22319 -3 16182 16320 16095 -3 16320 1538 15616 -3 14769 14882 14768 -3 15002 15001 14881 -3 4411 4544 15757 -3 15761 4411 15757 -3 26142 1731 738 -3 14557 15761 14552 -3 16448 7855 23349 -3 5625 1731 26142 -3 35694 35735 35389 -3 3038 2767 16309 -3 16951 16955 15502 -3 5873 3063 2531 -3 14489 251 3349 -3 14450 14449 14423 -3 35355 35458 35853 -3 5701 16041 5702 -3 35681 35557 35781 -3 15117 15139 16792 -3 14341 26089 14332 -3 14796 14801 17111 -3 15634 14932 3483 -3 16691 16696 1889 -3 693 4944 1852 -3 14932 2398 3793 -3 2630 15797 15798 -3 821 1728 11394 -3 974 5690 15416 -3 357 942 2533 -3 14863 15368 14733 -3 35877 35691 35371 -3 21301 21302 22629 -3 35413 35354 35701 -3 2250 14475 94 -3 13428 9546 4817 -3 3661 14900 14784 -3 6139 2267 2006 -3 18753 18852 18851 -3 15368 5756 14733 -3 18752 18753 18851 -3 18852 18951 18950 -3 14894 18172 17914 -3 4661 15165 14863 -3 18851 18852 18950 -3 2049 15283 327 -3 15389 15519 15388 -3 16068 16211 16210 -3 15525 16400 14813 -3 14580 14672 14579 -3 18205 18204 18111 -3 20476 20561 20560 -3 14400 14419 14399 -3 15630 12780 23394 -3 15419 15418 14365 -3 14553 17121 14714 -3 16989 11335 3591 -3 14351 15396 14339 -3 14372 14387 14386 -3 14416 14442 14415 -3 17125 17124 15392 -3 6 1619 7092 -3 15126 15125 15002 -3 3211 1184 3349 -3 0 2130 6761 -3 22032 22128 22031 -3 15782 15783 15921 -3 355 244 4390 -3 13090 13765 13666 -3 6013 5220 17107 -3 16786 16320 15616 -3 19344 26918 26917 -3 26421 26507 23254 -3 20793 20875 20874 -3 20123 20122 20042 -3 15922 16064 16063 -3 15921 15922 16063 -3 5344 284 1731 -3 4923 5344 1731 -3 30479 27666 30480 -3 12284 13495 3066 -3 2530 5873 2531 -3 703 585 3063 -3 1209 1210 5561 -3 5873 703 3063 -3 35449 35873 35369 -3 16480 16329 14553 -3 35709 35769 35692 -3 556 16322 14733 -3 15303 2132 17112 -3 15647 15648 15784 -3 24345 24428 22422 -3 14775 14888 14774 -3 14933 14932 3793 -3 616 3870 3661 -3 16853 15695 15693 -3 15283 2049 3793 -3 16387 16386 5485 -3 14416 3317 14397 -3 14563 19319 14591 -3 15233 15234 14862 -3 16849 15233 14862 -3 14810 14927 15234 -3 15233 14810 15234 -3 3623 1892 14927 -3 15043 2803 4661 -3 14810 3623 14927 -3 16039 14826 15043 -3 2803 15165 4661 -3 2495 16180 16039 -3 14826 2803 15043 -3 1447 14716 2495 -3 16180 14826 16039 -3 14657 14695 1892 -3 3623 14657 1892 -3 14545 14546 14695 -3 14657 14545 14695 -3 15957 15522 14546 -3 14677 14716 1447 -3 144 14677 1447 -3 14813 16400 16668 -3 327 15525 14813 -3 15925 15926 16067 -3 14749 77 16548 -3 29108 29107 28972 -3 6146 5743 15770 -3 14645 14656 1897 -3 15880 15879 13339 -3 358 16071 16214 -3 12567 13865 15595 -3 4679 17152 15932 -3 2669 3793 16512 -3 3074 15827 15965 -3 15396 17125 15392 -3 1184 6253 109 -3 14442 14441 14415 -3 14976 16778 15889 -3 1619 0 6761 -3 15953 14729 16075 -3 15954 15953 16075 -3 14320 668 355 -3 9773 13090 13666 -3 4000 4390 82 -3 172 4000 82 -3 16862 6013 17107 -3 5220 16540 16539 -3 1538 6013 16862 -3 15616 1538 16862 -3 4658 13412 2791 -3 16320 16786 16095 -3 16064 16207 16206 -3 16757 4658 2791 -3 2354 6271 284 -3 15437 14396 14872 -3 21643 27893 27875 -3 5344 2354 284 -3 14572 14664 14571 -3 14770 14769 14663 -3 14351 14339 585 -3 14718 5346 14360 -3 14992 2535 14786 -3 17121 14992 14714 -3 1725 1843 6741 -3 16065 16066 16208 -3 14555 14565 14645 -3 1877 14480 15560 -3 6148 1185 1184 -3 3035 6791 15610 -3 4334 18724 4200 -3 3870 2484 2534 -3 16400 5685 16668 -3 5483 17132 16966 -3 6525 14677 144 -3 1888 6525 144 -3 14632 3469 4645 -3 4397 6525 1888 -3 15165 15368 14863 -3 4645 4397 1888 -3 14545 15957 14546 -3 5076 16106 14632 -3 15957 16076 14922 -3 15522 15957 14922 -3 16076 5085 14614 -3 14922 16076 14614 -3 5085 3879 5739 -3 14614 5085 5739 -3 3879 14620 14566 -3 5739 3879 14566 -3 14620 16171 15285 -3 14566 14620 15285 -3 16171 16802 16965 -3 5357 15355 5076 -3 15285 16171 16965 -3 5685 6404 14610 -3 14716 16180 2495 -3 16104 16238 15964 -3 16668 5685 14610 -3 18951 19052 19051 -3 15760 15045 14328 -3 15011 15134 15133 -3 15610 16459 33467 -3 14555 14645 14437 -3 15785 15924 15923 -3 15512 15513 15647 -3 15924 16066 16065 -3 18950 18951 19051 -3 3793 2049 16512 -3 15827 15428 15429 -3 975 3074 15965 -3 11702 13597 12030 -3 2400 3868 707 -3 16109 16111 16391 -3 15361 16861 1732 -3 3742 15953 15954 -3 15955 3742 15954 -3 15363 15348 668 -3 584 14320 355 -3 172 82 690 -3 572 172 690 -3 4934 65 1499 -3 4927 14458 14429 -3 14429 5411 4934 -3 5411 65 4934 -3 16182 16095 16993 -3 16994 16182 16993 -3 23110 23208 23207 -3 282 281 736 -3 35680 13194 12642 -3 3195 5333 15310 -3 6 7092 6271 -3 15371 17028 15367 -3 14493 14572 14492 -3 14664 14663 14571 -3 14464 14718 14360 -3 7002 16193 5346 -3 14696 3619 3620 -3 14349 14696 3620 -3 581 466 175 -3 15923 15924 16065 -3 22930 23225 3182 -3 4544 14856 4678 -3 14176 13390 14079 -3 14559 24032 14560 -3 7470 15364 11216 -3 14778 14891 14890 -3 15423 5483 16966 -3 17132 4138 4005 -3 15393 3260 5357 -3 15355 16106 5076 -3 16802 3794 3795 -3 16965 16802 3795 -3 4936 5071 15393 -3 6252 12988 3794 -3 3469 4397 4645 -3 3260 15355 5357 -3 3795 3794 15621 -3 15796 17155 4936 -3 2528 9528 5000 -3 19615 19726 19725 -3 20472 20471 20387 -3 25466 16754 16753 -3 15262 18526 18614 -3 12295 12057 12210 -3 17155 5071 4936 -3 14961 2750 15339 -3 6404 5483 15423 -3 16106 3469 14632 -3 15526 3961 15886 -3 14610 6404 15423 -3 15105 14593 14597 -3 15886 15105 14597 -3 15514 15649 15648 -3 15258 15386 15385 -3 6020 14469 4148 -3 14678 14786 14690 -3 14864 14437 15351 -3 15225 14864 15351 -3 14366 14381 14380 -3 15648 15785 15784 -3 16094 16512 15625 -3 15350 16033 14836 -3 16042 15497 14347 -3 15965 15827 15429 -3 15659 1524 19217 -3 14824 32 16989 -3 16391 16247 15308 -3 16247 15307 15308 -3 16700 3742 15955 -3 14732 16700 15955 -3 17006 16994 15348 -3 14320 15363 668 -3 572 690 280 -3 281 572 280 -3 23012 23011 22912 -3 13412 4658 16016 -3 15143 1448 3718 -3 3619 15143 3718 -3 668 15348 5698 -3 16994 16993 15298 -3 26144 735 5352 -3 6010 572 281 -3 35537 35493 35661 -3 2609 8050 5191 -3 16217 16213 17021 -3 17028 16217 17021 -3 14493 14492 14441 -3 14442 14493 14441 -3 14718 7002 5346 -3 16705 16704 16193 -3 22435 35391 35722 -3 4126 14752 14751 -3 16066 16209 16208 -3 3333 447 6791 -3 613 16339 14801 -3 14864 14555 14437 -3 14727 16030 15480 -3 16052 15823 15500 -3 706 825 14475 -3 13846 13748 29702 -3 16966 17132 4005 -3 4138 4417 3122 -3 14537 5341 16478 -3 16324 17155 15796 -3 15661 5083 4812 -3 3615 22057 21491 -3 818 16383 16256 -3 2987 5341 14915 -3 14713 4812 5083 -3 5071 3260 15393 -3 5341 16324 16478 -3 405 5728 2249 -3 14535 2987 16336 -3 5862 1025 137 -3 3035 3333 6791 -3 16256 16383 15063 -3 20704 18353 18260 -3 15879 13432 13339 -3 13673 16341 14161 -3 15738 15737 15209 -3 14568 14660 11702 -3 2048 26 79 -3 16494 16650 16649 -3 15107 5547 15230 -3 5547 15551 15494 -3 15107 15230 3346 -3 15551 15685 15494 -3 16097 15107 3346 -3 5547 15494 15230 -3 14597 14593 17118 -3 14593 14760 17118 -3 15244 15267 16941 -3 15382 15383 15513 -3 14495 14494 14443 -3 14418 14444 14417 -3 15612 5282 5283 -3 13502 12749 5221 -3 15128 15127 15004 -3 15970 10381 11619 -3 14571 11076 14492 -3 17157 17170 14470 -3 3215 15497 16042 -3 1300 3215 16042 -3 14356 14370 14355 -3 16329 16637 17121 -3 15307 15242 15308 -3 15242 14643 15308 -3 16542 16700 14732 -3 16541 16542 14732 -3 16195 16182 16994 -3 15363 17006 15348 -3 281 280 735 -3 736 281 735 -3 20740 25012 24413 -3 22913 23012 22912 -3 14492 12293 14441 -3 11101 10027 1891 -3 15348 16994 15298 -3 14663 14662 14570 -3 282 6010 281 -3 15348 15298 5698 -3 13860 13612 14380 -3 75 172 572 -3 16217 16778 14976 -3 15226 17108 15484 -3 14572 14571 14492 -3 16213 16217 14976 -3 7002 16705 16193 -3 3930 9632 4063 -3 14612 8137 8895 -3 3074 975 16704 -3 35578 35756 35793 -3 3620 3619 15138 -3 14565 14656 14645 -3 14389 14406 14405 -3 16051 15771 14512 -3 14378 15225 14363 -3 35903 35622 35578 -3 15792 15415 14655 -3 4005 4138 3122 -3 15900 11795 14596 -3 16478 16324 15796 -3 4417 14897 143 -3 1409 15560 2984 -3 14744 16097 16070 -3 16650 16809 16808 -3 16649 16650 16808 -3 14744 16070 16107 -3 16973 16972 16808 -3 5341 14537 14915 -3 16108 14744 16107 -3 16809 16973 16808 -3 14535 16336 15685 -3 16973 17139 17138 -3 16972 16973 17138 -3 2577 2804 17138 -3 17139 2577 17138 -3 2713 2848 2804 -3 2577 2713 2804 -3 4019 4020 2848 -3 2713 4019 2848 -3 854 855 4020 -3 4019 854 4020 -3 5749 4009 855 -3 20379 20463 20378 -3 854 5749 855 -3 384 385 4009 -3 35359 35580 35732 -3 5749 384 4009 -3 2666 2665 385 -3 20294 20379 20293 -3 20463 20462 20378 -3 17118 14760 14592 -3 14760 3078 14592 -3 3870 2534 14900 -3 14727 15818 15755 -3 1304 15016 4007 -3 14444 14495 14443 -3 35557 35530 35373 -3 11795 12739 11565 -3 14979 14974 15896 -3 15937 4679 16621 -3 15354 16629 14943 -3 35524 35839 23855 -3 14528 14823 14347 -3 15497 15164 14347 -3 16757 2791 10008 -3 15912 12287 15773 -3 15242 6650 14643 -3 6650 3739 14643 -3 16110 16542 16541 -3 6273 16110 16541 -3 16195 16479 16320 -3 17006 16195 16994 -3 26286 5351 4553 -3 20558 20557 20472 -3 735 734 5351 -3 22223 22224 22319 -3 16488 16384 14721 -3 1071 16515 16670 -3 9561 13994 447 -3 3333 9561 447 -3 4000 355 4390 -3 668 5698 244 -3 6010 75 572 -3 5598 4000 172 -3 14729 15226 15484 -3 16075 14729 15484 -3 16778 15361 15889 -3 15889 15361 1732 -3 279 465 174 -3 1596 1712 1595 -3 16705 3074 16704 -3 15428 14392 557 -3 12718 12424 13994 -3 11523 11459 11524 -3 13695 14482 14558 -3 35944 35488 35413 -3 14924 14378 14363 -3 15290 14924 14363 -3 14890 14891 15010 -3 14574 14573 14494 -3 9561 12718 13994 -3 12718 10582 15596 -3 3122 4417 143 -3 14592 3078 16992 -3 20294 20293 20207 -3 20208 20294 20207 -3 384 2666 385 -3 2666 472 824 -3 2665 2666 824 -3 472 4268 4267 -3 16097 3346 16070 -3 20394 20478 20477 -3 15551 14535 15685 -3 14897 14917 14916 -3 13759 13758 13339 -3 2987 14915 16336 -3 824 472 4267 -3 32568 34075 19821 -3 4268 949 1414 -3 4267 4268 1414 -3 949 14635 14627 -3 1414 949 14627 -3 35380 35882 35938 -3 14627 14635 15797 -3 5000 5006 15117 -3 5858 15524 5859 -3 2104 2765 15173 -3 19156 2278 19155 -3 35490 35671 35819 -3 593 17905 592 -3 14628 15233 16849 -3 17860 18555 16551 -3 14811 14810 15233 -3 14628 14811 15233 -3 15359 3623 14810 -3 19094 20068 18172 -3 23229 23147 23131 -3 14539 2 14704 -3 3078 356 16992 -3 15395 14536 3170 -3 16102 2849 14522 -3 4672 14896 14812 -3 2387 6911 1178 -3 16071 15970 17156 -3 7344 8268 9648 -3 14974 15354 15095 -3 15261 15389 15388 -3 3356 251 14489 -3 14467 14465 17134 -3 8050 2609 20432 -3 15164 14528 14347 -3 14088 20865 21574 -3 14364 14352 941 -3 6650 15958 3739 -3 15958 15102 3739 -3 5820 14939 4006 -3 4139 16110 6273 -3 16479 5820 1538 -3 16182 16195 16320 -3 23011 23012 23109 -3 22320 22417 22416 -3 280 390 734 -3 5352 735 5351 -3 2549 16384 16488 -3 14439 2549 16488 -3 20711 20710 20629 -3 16628 16471 16176 -3 355 668 244 -3 20630 20711 20629 -3 75 5598 172 -3 14769 14768 14662 -3 17108 14824 15484 -3 584 355 4000 -3 16861 16111 16109 -3 17019 17006 15363 -3 13502 5221 12388 -3 1732 16861 16109 -3 15429 15428 557 -3 15353 15101 14612 -3 932 5757 225 -3 14392 3215 1300 -3 15639 15640 15776 -3 14895 1896 14815 -3 15225 15351 14363 -3 14531 15487 14926 -3 14553 14714 2484 -3 15892 2308 2177 -3 20409 21219 21218 -3 26683 26579 20244 -3 356 17183 16692 -3 7090 15659 15041 -3 20379 20378 20293 -3 16992 356 16692 -3 14811 15359 14810 -3 2267 24417 2006 -3 17177 14657 3623 -3 15359 17177 3623 -3 15260 15388 15387 -3 14544 14545 14657 -3 14916 14917 15526 -3 14366 13612 12566 -3 143 14897 14916 -3 3961 15105 15886 -3 22750 22749 21051 -3 14917 3961 15526 -3 17177 14544 14657 -3 23049 22749 22750 -3 14529 15957 14545 -3 14544 14529 14545 -3 14529 14326 16076 -3 15957 14529 16076 -3 14326 4408 5085 -3 16076 14326 5085 -3 4408 3878 3879 -3 5085 4408 3879 -3 3878 16184 14620 -3 3879 3878 14620 -3 16184 15696 16171 -3 14620 16184 16171 -3 35743 35594 35881 -3 15696 16622 16802 -3 14693 14604 2709 -3 23147 23049 23342 -3 15964 352 77 -3 16334 16485 16484 -3 14059 14157 12253 -3 14370 14369 14355 -3 358 6871 16071 -3 14689 14455 5757 -3 15873 25442 732 -3 15900 11799 11795 -3 14467 16174 5486 -3 16051 16248 15771 -3 10972 4806 8123 -3 15267 16951 16941 -3 17170 14472 14470 -3 16956 16707 16706 -3 15353 15100 15102 -3 16852 16853 15693 -3 16479 16175 5820 -3 15958 15353 15102 -3 16320 16479 1538 -3 4006 4139 6273 -3 14142 16757 10008 -3 5820 4006 6013 -3 735 280 734 -3 22128 22224 22127 -3 242 2549 14439 -3 690 431 390 -3 14617 16488 14719 -3 16384 1071 14721 -3 16985 16077 16968 -3 16471 16628 15931 -3 14841 15081 3038 -3 15298 15292 13124 -3 15655 15143 3619 -3 1448 15286 6144 -3 5598 584 4000 -3 15955 15954 15816 -3 940 14322 584 -3 15366 15363 14320 -3 16111 16247 16391 -3 14375 15419 14365 -3 15228 15101 15353 -3 15958 15228 15353 -3 557 14392 1300 -3 14472 15350 2413 -3 14563 2887 19319 -3 15164 15293 14528 -3 15554 7468 7357 -3 14398 14417 14397 -3 14472 14473 15350 -3 16318 15892 16033 -3 1777 14553 2484 -3 15513 15514 15648 -3 708 2401 6268 -3 2135 2007 6268 -3 9793 8083 9435 -3 3978 15972 1299 -3 12424 12718 15596 -3 15045 15169 14328 -3 16171 15696 16802 -3 16622 6252 3794 -3 16802 16622 3794 -3 1195 1311 1194 -3 15259 15260 15387 -3 15499 14863 16322 -3 19086 19188 19187 -3 620 18022 17929 -3 17184 12932 13958 -3 15786 15787 15925 -3 22047 23147 23342 -3 35759 35802 35569 -3 15132 15133 15259 -3 23342 23049 22750 -3 2126 298 131 -3 798 4661 15499 -3 16958 15549 16955 -3 6016 6634 67 -3 14361 15620 14700 -3 35546 26940 27520 -3 14407 14426 14425 -3 14406 14407 14425 -3 6773 4531 827 -3 18896 1386 19112 -3 14426 14452 14451 -3 14579 14578 14499 -3 14900 14476 1533 -3 15649 15650 15786 -3 14500 14579 14499 -3 14812 14689 5757 -3 14749 15964 77 -3 14746 16074 358 -3 12295 12381 11977 -3 14615 16173 14506 -3 35383 3178 10623 -3 14454 14453 14427 -3 15016 14896 4672 -3 23218 13784 23120 -3 16174 16956 14937 -3 3980 1409 2984 -3 5486 16174 14937 -3 14612 15287 15100 -3 13958 13209 11497 -3 16212 16175 16195 -3 15353 14612 15100 -3 1538 5820 6013 -3 14939 4139 4006 -3 20711 20793 20710 -3 4006 6273 5220 -3 280 690 390 -3 23012 23110 23109 -3 973 242 353 -3 82 28 431 -3 14721 16670 16828 -3 353 242 14439 -3 8268 7344 11250 -3 14719 14721 16828 -3 16077 16471 15931 -3 16471 15436 16176 -3 5698 15298 13124 -3 15292 16985 15284 -3 14571 14663 14570 -3 16993 16985 15292 -3 15960 15955 15816 -3 14655 14512 3622 -3 14322 15366 14320 -3 15954 16075 16363 -3 8909 2204 8801 -3 2100 940 5598 -3 15101 15969 14612 -3 10582 23172 23073 -3 15418 15419 17157 -3 15228 15958 6650 -3 15663 15800 13230 -3 15596 10582 23073 -3 14443 14442 14416 -3 15497 16631 15164 -3 15350 16318 16033 -3 14417 14443 14416 -3 2146 5058 15303 -3 34951 34950 34821 -3 4148 15659 7090 -3 14399 14398 14381 -3 2442 2776 2777 -3 15038 15163 16645 -3 15434 15502 16949 -3 14475 3332 706 -3 5083 14759 14713 -3 15043 4661 798 -3 946 14533 14523 -3 137 818 16256 -3 24114 14713 14941 -3 9648 14612 15969 -3 16039 15043 14923 -3 19831 19945 19944 -3 13139 13046 13140 -3 15926 16068 16067 -3 1896 16480 14815 -3 17111 15303 17112 -3 23172 15073 12663 -3 175 466 176 -3 14798 15412 15898 -3 14863 14733 16322 -3 9855 9854 9739 -3 14370 14385 14369 -3 1888 144 14899 -3 15096 16702 16696 -3 15510 15509 15378 -3 23073 23172 12663 -3 16630 14700 16052 -3 11549 6138 35459 -3 4645 1888 2502 -3 392 506 17834 -3 1533 14476 15223 -3 4661 14863 15499 -3 2620 13295 17135 -3 15133 15260 15259 -3 15383 15384 15514 -3 9856 16843 9972 -3 815 16483 16484 -3 15787 15926 15925 -3 17173 14629 14746 -3 15385 15386 15516 -3 5273 16186 16688 -3 6871 15970 16071 -3 17968 20448 17967 -3 15130 15131 15257 -3 14933 14817 2844 -3 35679 35439 35631 -3 12052 11887 12225 -3 20498 12088 12170 -3 14373 14389 14388 -3 9680 11221 1293 -3 17019 16212 17006 -3 16543 2230 16697 -3 6013 4006 5220 -3 16175 14939 5820 -3 15073 19981 13696 -3 6273 16541 16540 -3 690 82 431 -3 4065 15081 14841 -3 16863 973 14789 -3 4390 6669 28 -3 16670 14975 14377 -3 14789 973 353 -3 2253 8000 9773 -3 16828 16670 14377 -3 14455 15898 1420 -3 4361 10887 4496 -3 16995 9179 9288 -3 4282 4283 1380 -3 16077 15931 16968 -3 3185 3355 3356 -3 15298 16993 15292 -3 13124 15292 6390 -3 3622 14512 15635 -3 16095 16077 16985 -3 15816 15954 16363 -3 15695 16101 16102 -3 14322 14320 584 -3 16075 15484 15483 -3 35879 35852 35509 -3 167 2100 75 -3 701 15228 6650 -3 12207 12056 11880 -3 3355 361 251 -3 701 6650 15242 -3 15293 15414 14528 -3 15244 16941 16866 -3 14494 14493 14442 -3 3215 5487 15497 -3 14473 16318 15350 -3 14443 14494 14442 -3 6353 6224 8520 -3 35434 35483 35717 -3 15515 15516 15650 -3 15008 15131 15130 -3 16177 16034 5192 -3 1895 500 1426 -3 14923 15043 798 -3 5833 15550 5834 -3 14578 14577 14498 -3 14702 1447 5600 -3 16196 16342 16341 -3 21147 13655 21146 -3 14459 16039 14923 -3 2502 1888 14899 -3 246 16177 5192 -3 19653 4133 180 -3 15516 15651 15650 -3 19774 18626 18433 -3 98 21286 21285 -3 16820 16984 16983 -3 16803 16957 3872 -3 9565 14818 8576 -3 1182 4278 15689 -3 15691 15690 16098 -3 15040 5076 6878 -3 14632 4645 14478 -3 16342 16495 16494 -3 16341 16342 16494 -3 16495 16651 16650 -3 16494 16495 16650 -3 16810 16809 16650 -3 16651 16810 16650 -3 5076 14632 6878 -3 16974 16973 16809 -3 6247 6021 15967 -3 14478 4645 2502 -3 16219 6016 15624 -3 1613 4527 1601 -3 15515 15650 15649 -3 11972 12460 12053 -3 15651 15652 15788 -3 15514 15515 15649 -3 2177 2308 17173 -3 15517 15652 15651 -3 3663 4282 4415 -3 16074 6871 358 -3 4265 816 815 -3 14974 15095 15896 -3 14465 14467 5486 -3 16789 5296 5297 -3 15763 12210 14556 -3 2231 16697 2496 -3 15278 16299 15466 -3 14541 14726 14604 -3 15366 17019 15363 -3 13133 16078 13132 -3 5220 6273 16540 -3 16175 16479 16195 -3 14663 14769 14662 -3 16541 14732 17008 -3 82 4390 28 -3 20793 20792 20710 -3 15436 16863 16864 -3 244 48 6669 -3 14975 15961 14319 -3 16864 16863 14789 -3 21741 21649 35014 -3 14377 14975 14319 -3 20612 20613 20693 -3 20135 20192 20104 -3 22416 22417 22514 -3 35442 35772 35780 -3 2767 20266 16309 -3 22614 22713 22712 -3 22932 22833 14045 -3 4283 3185 1380 -3 16985 16968 15284 -3 3663 1575 4282 -3 16993 16095 16985 -3 48 13124 139 -3 14344 14357 14356 -3 16786 16471 16077 -3 16363 16075 15483 -3 15297 15425 15169 -3 940 584 5598 -3 15484 14824 14825 -3 14942 1188 613 -3 6141 167 6010 -3 16474 701 15242 -3 15658 5458 5591 -3 15419 17170 17157 -3 16474 15242 15307 -3 16631 15293 15164 -3 16194 14743 5472 -3 14573 14572 14493 -3 14392 16787 3215 -3 33742 33876 33741 -3 14494 14573 14493 -3 16866 16941 14816 -3 35834 35787 35520 -3 17994 17993 17900 -3 14550 15749 14549 -3 4278 15555 15689 -3 14404 14423 14403 -3 2495 16039 14459 -3 21495 14628 22344 -3 144 1447 14702 -3 5600 2495 14459 -3 14899 144 14702 -3 1447 2495 5600 -3 15962 15824 16794 -3 20597 13892 24285 -3 15487 16942 15297 -3 15221 14926 15760 -3 4546 3531 1306 -3 16942 4546 1306 -3 14387 14388 14404 -3 16942 1306 15297 -3 16100 15611 15747 -3 15291 3213 1061 -3 6878 14632 14478 -3 16098 16100 15747 -3 16810 16974 16809 -3 5357 5076 15040 -3 16974 17140 17139 -3 16973 16974 17139 -3 7010 2577 17139 -3 17140 7010 17139 -3 2578 2713 2577 -3 1653 4936 15523 -3 15393 5357 14742 -3 15391 16475 4815 -3 15690 16100 16098 -3 15487 15297 15045 -3 14896 15015 14689 -3 15516 15517 15651 -3 15650 15787 15786 -3 16033 15892 2177 -3 15255 15383 15382 -3 1874 4679 15932 -3 14629 16074 14746 -3 15414 16514 14528 -3 3404 3663 4415 -3 4679 1874 16621 -3 14375 25564 25420 -3 16860 16112 16111 -3 6002 5 53 -3 14474 16948 433 -3 10745 10977 14866 -3 16616 16799 20663 -3 15784 15785 15923 -3 16540 16541 17008 -3 16212 16195 17006 -3 4136 14707 15289 -3 14732 15955 15960 -3 4390 244 6669 -3 12663 15073 13696 -3 431 28 95 -3 5698 13124 48 -3 15961 5549 15524 -3 16176 15436 16864 -3 16628 16176 15929 -3 14319 15961 15524 -3 6144 15286 16329 -3 7293 21465 21464 -3 2131 14364 941 -3 19981 20022 19991 -3 14406 14425 14424 -3 15108 14984 6527 -3 30417 30418 30551 -3 22419 22517 22516 -3 15929 16176 16865 -3 11969 14157 14059 -3 14422 14421 14402 -3 16031 16628 15929 -3 15292 15284 6390 -3 14448 14447 14421 -3 16095 16786 16077 -3 6669 48 4653 -3 14342 14332 14356 -3 16786 15616 15436 -3 15483 15484 14825 -3 14783 17112 14759 -3 2100 5598 75 -3 35754 35554 35518 -3 15761 15757 14552 -3 283 6141 282 -3 15430 16474 15307 -3 14856 14942 613 -3 4127 2227 546 -3 15430 15307 16247 -3 5487 16631 15497 -3 20548 20547 20462 -3 14665 14664 14572 -3 15428 16472 14392 -3 32447 32554 32446 -3 14573 14665 14572 -3 15749 15697 14549 -3 22163 22237 121 -3 17867 19935 19300 -3 22512 22511 22413 -3 6405 16698 16855 -3 14423 14422 14403 -3 2886 19174 4935 -3 349 6405 16855 -3 14934 6405 349 -3 15485 14934 349 -3 16698 15690 15691 -3 16855 16698 15691 -3 14485 14697 2398 -3 14697 15283 2398 -3 15283 14697 15525 -3 14697 4003 15525 -3 4546 16072 16215 -3 4003 14873 16400 -3 14799 15898 14455 -3 3531 4546 16215 -3 15611 15391 4815 -3 16215 16072 15018 -3 14742 5357 15040 -3 15747 15611 4815 -3 7010 2578 2577 -3 4936 15393 15523 -3 4151 4019 2713 -3 2578 4151 2713 -3 853 854 4019 -3 4151 853 4019 -3 5615 5749 854 -3 1532 15796 1653 -3 853 5615 854 -3 16038 15634 16358 -3 15523 15393 14742 -3 16072 14510 15018 -3 16475 16038 16358 -3 15128 15255 15127 -3 14926 15487 15045 -3 1893 3222 1658 -3 16215 15018 5743 -3 14381 14398 14380 -3 2308 14629 17173 -3 7002 14937 16705 -3 16629 15937 14531 -3 16706 16187 3074 -3 16705 16706 3074 -3 16506 16507 16662 -3 1741 1380 3357 -3 14938 16860 16861 -3 15361 14938 16861 -3 708 1064 2935 -3 14357 14371 14356 -3 13666 13765 12305 -3 737 26144 26143 -3 8851 2513 2378 -3 17008 14732 15960 -3 14919 16337 16192 -3 16073 14707 4136 -3 16862 17107 973 -3 244 5698 48 -3 28 6669 7007 -3 6669 4653 7007 -3 15824 15688 16954 -3 11390 10140 821 -3 16968 15931 16967 -3 16628 16031 15833 -3 16852 15693 15694 -3 16637 1660 17121 -3 272 16538 15936 -3 17123 14617 16050 -3 13696 19981 19991 -3 14067 14186 5755 -3 176 2936 2935 -3 14463 16791 14982 -3 3483 14933 2844 -3 2535 14585 14918 -3 16176 16864 16865 -3 15694 16794 6001 -3 13047 13141 13140 -3 15931 15833 16967 -3 13124 6390 139 -3 3978 1299 3157 -3 16471 16786 15436 -3 28 7007 95 -3 16337 14396 15437 -3 15616 16862 16863 -3 2137 29291 19143 -3 5175 16073 16216 -3 167 75 6010 -3 9524 4018 9411 -3 16397 3873 1186 -3 6141 6010 282 -3 16105 15430 16247 -3 3868 6774 707 -3 24009 21872 24010 -3 16111 16112 16247 -3 16787 5487 3215 -3 14786 2535 14800 -3 14771 14770 14664 -3 16472 16787 14392 -3 23405 23404 23307 -3 14665 14771 14664 -3 5878 6002 53 -3 21219 22237 22163 -3 25130 35729 13590 -3 14751 16104 14749 -3 15141 15142 14623 -3 14362 15142 15141 -3 16038 16183 15634 -3 16183 14485 2398 -3 16179 16478 1532 -3 15796 4936 1653 -3 14537 16478 15619 -3 16478 15796 1532 -3 14537 15619 5994 -3 14915 14537 5994 -3 15525 4003 16400 -3 16478 16179 15619 -3 15142 14622 14623 -3 14873 5819 5685 -3 14895 14815 3213 -3 15966 14895 3213 -3 16475 16358 4815 -3 5819 3611 6404 -3 15685 16336 17179 -3 14915 5994 14797 -3 5615 383 384 -3 5749 5615 384 -3 383 247 2666 -3 384 383 2666 -3 247 2533 472 -3 2666 247 472 -3 2533 6523 4268 -3 15685 17179 83 -3 15494 15685 83 -3 6404 3611 5483 -3 16183 14932 15634 -3 2481 14362 15141 -3 14510 14362 2481 -3 21026 21112 21025 -3 14076 11960 11692 -3 22237 98 121 -3 21218 21219 22163 -3 14771 14884 14770 -3 14417 14416 14397 -3 16961 16962 17127 -3 4282 1380 1741 -3 14718 5486 7002 -3 14937 16706 16705 -3 16508 16663 16507 -3 5858 3262 15524 -3 14857 14938 15361 -3 16778 14857 15361 -3 465 581 174 -3 5753 279 5754 -3 23208 23306 23305 -3 23207 23208 23305 -3 14615 15054 16173 -3 10326 10206 10207 -3 14707 14919 15289 -3 16216 16073 4136 -3 23218 23120 21771 -3 16063 16206 16205 -3 20022 20479 20455 -3 48 139 4653 -3 16864 14789 16181 -3 15824 14458 15688 -3 4653 139 5732 -3 15931 16628 15833 -3 13784 23023 22829 -3 14488 15478 3873 -3 14617 14719 14720 -3 15936 17123 16050 -3 15620 14319 3262 -3 15394 3262 5989 -3 14364 15411 14352 -3 16831 16995 9288 -3 14377 14319 15620 -3 14319 15524 3262 -3 17121 1660 14992 -3 16462 13467 16025 -3 16968 16967 15270 -3 15284 16968 15270 -3 16794 15824 16954 -3 14458 4927 15688 -3 431 95 504 -3 390 431 504 -3 15436 15616 16863 -3 16863 16862 973 -3 14430 15054 14615 -3 16173 5175 16216 -3 10210 16532 16380 -3 1772 4672 15362 -3 4658 4065 16016 -3 35115 22420 22419 -3 15622 14554 615 -3 14933 3793 14817 -3 16861 16860 16111 -3 16112 16105 16247 -3 13569 13472 11618 -3 16354 16507 16506 -3 15828 16472 15428 -3 15827 15828 15428 -3 14884 14883 14770 -3 15004 15003 14883 -3 19991 20022 20455 -3 20407 20409 21218 -3 14712 16323 14349 -3 17246 4328 17245 -3 14622 14895 15966 -3 14623 14622 15966 -3 14932 16183 2398 -3 17132 14507 4138 -3 15494 83 15488 -3 15230 15494 15488 -3 472 2533 4268 -3 6523 1530 949 -3 4268 6523 949 -3 6522 1647 1530 -3 16070 3346 248 -3 949 1530 14635 -3 16400 14873 5685 -3 15230 15488 1419 -3 15934 16491 15415 -3 4138 1415 4417 -3 5685 5819 6404 -3 14715 15052 14593 -3 16336 14915 14797 -3 3611 14748 5483 -3 14053 21673 13272 -3 3346 1419 248 -3 19513 14635 1530 -3 35487 35505 35800 -3 12191 25191 22384 -3 17755 16453 19698 -3 16107 16070 16249 -3 3540 3669 3539 -3 14748 14507 17132 -3 16336 14797 17179 -3 16491 16051 15415 -3 5483 14748 17132 -3 22515 22614 22613 -3 15018 14510 2481 -3 6774 6396 2401 -3 7090 15041 273 -3 14552 14550 2135 -3 16209 16355 16354 -3 2268 14552 2135 -3 174 581 175 -3 17128 2621 3713 -3 20900 16962 16800 -3 14465 5486 14464 -3 5486 14937 7002 -3 14714 14992 14786 -3 22228 22227 22131 -3 14325 14857 16778 -3 16217 14325 16778 -3 8306 11216 15364 -3 708 6268 4401 -3 30352 18927 6875 -3 22224 22223 22127 -3 5855 14430 14615 -3 15054 5175 16173 -3 15483 14825 14457 -3 15289 14919 16192 -3 14820 6908 7005 -3 14403 14402 14385 -3 20479 21235 21232 -3 20123 20208 20122 -3 14789 353 16538 -3 16865 16864 16181 -3 7007 4653 7008 -3 139 49 5732 -3 15014 14704 3170 -3 1420 15014 3170 -3 16538 17123 15936 -3 16050 14617 14720 -3 15790 15929 17022 -3 16865 16181 16254 -3 17022 16865 16254 -3 16181 16538 272 -3 14719 16828 16991 -3 14361 14377 15620 -3 9321 9668 3607 -3 20455 20479 21232 -3 6390 1060 49 -3 139 6390 49 -3 16398 16791 14463 -3 14458 5411 14429 -3 14342 14341 14332 -3 734 390 733 -3 17107 16539 242 -3 973 17107 242 -3 18209 1647 6647 -3 15635 15771 5855 -3 14337 14974 14979 -3 15613 14337 14979 -3 20208 20207 20122 -3 5337 12557 11399 -3 3793 2669 14817 -3 21235 22333 22254 -3 14338 15390 14330 -3 17109 17028 15371 -3 3619 3718 15138 -3 16353 16354 16506 -3 16187 15828 15827 -3 3074 16187 15827 -3 14884 15004 14883 -3 14856 14801 4678 -3 21232 21235 22254 -3 13784 22829 23120 -3 1420 3170 16708 -3 707 2401 466 -3 14498 14497 14446 -3 12292 10383 13800 -3 1415 15140 4417 -3 1416 14461 3961 -3 351 16107 463 -3 16070 248 16249 -3 15490 15359 14811 -3 21586 16857 21495 -3 15115 17177 15359 -3 21494 15490 16857 -3 3346 15230 1419 -3 35932 6964 35599 -3 15140 474 14897 -3 4417 15140 14897 -3 15105 14715 14593 -3 15052 14624 14760 -3 22333 261 15472 -3 22948 23047 14586 -3 22254 22333 15472 -3 1326 15617 19474 -3 14471 14544 17177 -3 261 21354 21297 -3 15115 14471 17177 -3 16330 14529 14544 -3 14471 16330 14544 -3 14393 14326 14529 -3 16330 14393 14529 -3 15472 261 21297 -3 21354 7971 13430 -3 14624 15296 3078 -3 14507 1415 4138 -3 21297 21354 13430 -3 821 10023 1728 -3 20156 15884 15032 -3 14726 7090 14604 -3 14901 3212 1285 -3 7473 10619 9418 -3 9525 974 4680 -3 13377 13014 13378 -3 14552 15757 14550 -3 4544 4678 15749 -3 16962 20900 20980 -3 23998 351 16944 -3 17134 14465 17125 -3 5486 14718 14464 -3 14328 15169 16465 -3 16329 17121 14553 -3 15390 17109 15371 -3 14325 16217 17028 -3 16542 16391 16700 -3 15308 14643 3742 -3 17021 17019 15366 -3 13765 10368 12305 -3 16323 15224 14696 -3 15224 15655 14696 -3 16363 15483 14658 -3 15935 16363 14658 -3 14866 10977 7692 -3 11236 35703 35499 -3 9669 12846 12377 -3 7425 8520 6224 -3 353 14439 17123 -3 16181 14789 16538 -3 95 7007 1036 -3 4653 5732 7008 -3 14519 5411 14458 -3 123 1575 3663 -3 16707 17009 16187 -3 12387 1328 12476 -3 15751 16031 15790 -3 15929 16865 17022 -3 16929 16927 2500 -3 16254 16181 272 -3 14720 14719 16991 -3 16828 14377 14361 -3 7926 13559 13430 -3 23023 23022 22829 -3 15284 15270 1060 -3 6390 15284 1060 -3 15017 14585 2535 -3 14992 15017 2535 -3 22814 22913 22813 -3 733 4013 734 -3 16539 16546 2549 -3 242 16539 2549 -3 15325 8045 9568 -3 15771 14430 5855 -3 14882 15002 14881 -3 15125 15124 15001 -3 7971 7926 13430 -3 7926 23317 23414 -3 13559 7926 23414 -3 20630 20629 20547 -3 469 14338 0 -3 15390 15371 14330 -3 16507 16663 16662 -3 3609 3608 6402 -3 15410 17134 15396 -3 14465 14464 17125 -3 15127 15126 15003 -3 5058 4126 14751 -3 16208 16209 16354 -3 16355 16508 16507 -3 3170 14536 1287 -3 3091 3090 34203 -3 23013 23014 23111 -3 23112 23210 23209 -3 14917 1416 3961 -3 15296 14633 356 -3 23317 15870 12575 -3 23414 23317 12575 -3 14393 3612 4408 -3 14326 14393 4408 -3 3612 4011 3878 -3 4408 3612 3878 -3 16107 16249 463 -3 15870 16445 16294 -3 474 1416 14917 -3 14897 474 14917 -3 14593 15052 14760 -3 14522 14519 14458 -3 21286 16161 21285 -3 16458 21771 17087 -3 4011 14619 16184 -3 3878 4011 16184 -3 2385 15699 15564 -3 35480 35379 12214 -3 16184 14619 15696 -3 34811 34940 34810 -3 15696 16037 16622 -3 29633 29005 29495 -3 17348 17426 17347 -3 14084 11808 11249 -3 15009 15010 15132 -3 5322 17183 14633 -3 35834 35620 35787 -3 14760 14624 3078 -3 12210 13208 10574 -3 27987 6848 28104 -3 15384 15515 15514 -3 14756 14755 14651 -3 12575 15870 16294 -3 23912 23911 14756 -3 1852 4944 2248 -3 20874 20875 20954 -3 1878 16304 14052 -3 3482 10140 6147 -3 2621 3663 3404 -3 17127 17128 3713 -3 22226 22225 22129 -3 2262 2530 4669 -3 10586 13295 2764 -3 3073 10349 57 -3 1300 16042 701 -3 17109 14325 17028 -3 14643 3739 15953 -3 16700 15308 3742 -3 15367 15366 14322 -3 14329 15367 14322 -3 17152 15793 16323 -3 15793 15224 16323 -3 15816 16363 15935 -3 15817 15816 15935 -3 35366 14166 14175 -3 5465 2358 4137 -3 6249 1212 1211 -3 2897 14429 15973 -3 16538 353 17123 -3 14439 16488 14617 -3 95 1036 503 -3 503 502 2147 -3 14499 14498 14447 -3 14403 14422 14402 -3 5995 304 6792 -3 17150 17134 15410 -3 2102 4252 2101 -3 14996 3192 2928 -3 9177 17158 2785 -3 35768 35946 28991 -3 6646 1852 5470 -3 16991 16828 14361 -3 35398 14276 9633 -3 9574 14565 10617 -3 10649 9689 11196 -3 815 16484 3736 -3 14918 16398 14463 -3 1299 3312 3303 -3 22417 22515 22514 -3 504 26006 733 -3 16546 15544 16384 -3 2549 16546 16384 -3 10965 3866 7422 -3 35562 35625 35642 -3 15002 15125 15001 -3 15252 15251 15124 -3 15511 15510 15379 -3 15380 15511 15379 -3 25800 27084 27062 -3 28357 30075 30071 -3 1640 469 1619 -3 14338 14330 0 -3 14321 14335 24 -3 6011 57 10458 -3 14352 15410 14351 -3 17134 17125 15396 -3 14752 16246 16104 -3 15018 2481 16703 -3 15644 15645 15781 -3 15891 14740 14640 -3 28886 27052 27047 -3 20388 20387 20302 -3 7580 10745 10097 -3 17171 671 5457 -3 3078 15296 356 -3 5221 11973 15060 -3 14476 15959 15223 -3 15010 15133 15132 -3 14425 14426 14451 -3 14388 14405 14404 -3 14452 14503 14502 -3 827 946 14523 -3 22238 22239 16294 -3 14704 2 15395 -3 14461 14715 15105 -3 3961 14461 15105 -3 16445 22238 16294 -3 14604 273 2709 -3 35513 35475 35713 -3 15787 15788 15926 -3 4531 946 827 -3 16947 16943 16781 -3 14533 15661 15654 -3 15063 15096 16696 -3 16702 14391 6988 -3 14402 14401 14384 -3 16696 16702 6988 -3 22239 22238 203 -3 14639 5138 17185 -3 35536 35606 35495 -3 24285 25800 27062 -3 16708 14538 225 -3 4114 17175 17012 -3 17175 2280 5348 -3 14456 14474 433 -3 15384 15383 15255 -3 15256 15384 15255 -3 15865 12378 8567 -3 31330 31397 31396 -3 14816 15434 1446 -3 16949 14640 15752 -3 14513 15500 16185 -3 15045 15297 15169 -3 15323 14142 15324 -3 16299 14045 15466 -3 19206 22948 22050 -3 16937 22460 20143 -3 557 1300 701 -3 16474 557 701 -3 3739 15102 14729 -3 3742 14643 15953 -3 6761 2130 2100 -3 14329 14322 940 -3 15793 17152 4679 -3 3208 2004 15937 -3 16546 17008 15544 -3 15960 15816 15817 -3 15766 15905 15904 -3 14877 2928 7891 -3 17151 1187 15961 -3 3718 1448 6144 -3 16488 14721 14719 -3 17123 14439 14617 -3 3314 8038 10840 -3 7007 7008 1036 -3 11221 9680 11256 -3 1406 914 915 -3 1526 18912 19011 -3 30685 30552 23256 -3 5005 2841 2440 -3 2928 14877 14997 -3 5859 5549 5725 -3 6792 4636 158 -3 5287 5288 5423 -3 35816 11725 35806 -3 4940 2248 4944 -3 5079 4940 4944 -3 20720 20721 20802 -3 13812 13811 10093 -3 13335 13429 14962 -3 23911 14757 14756 -3 5351 734 4013 -3 22319 22320 22416 -3 14975 17151 15961 -3 1187 15658 5549 -3 14457 17154 15658 -3 1187 14457 15658 -3 15125 15252 15124 -3 15252 15380 15379 -3 15180 4017 4126 -3 17178 16829 15354 -3 22519 22518 22420 -3 16163 13338 13433 -3 1640 1619 6 -3 2396 1640 6 -3 14321 6146 14335 -3 15379 15510 15378 -3 941 14352 703 -3 15410 15396 14351 -3 22613 22614 22712 -3 11876 15912 16054 -3 15755 14513 16030 -3 3124 5480 5487 -3 4363 16959 16960 -3 35780 14177 13973 -3 14815 1777 616 -3 3213 14815 616 -3 6014 14749 16548 -3 18793 18792 1459 -3 5079 4944 1974 -3 35650 35554 35754 -3 14651 23912 14756 -3 1660 15017 14992 -3 9741 4364 7878 -3 942 357 3062 -3 14889 14890 15009 -3 15499 16322 17171 -3 23298 23395 23297 -3 356 14633 17183 -3 16740 16898 16739 -3 35796 35541 35463 -3 14784 14900 1533 -3 14671 14670 14578 -3 2751 4235 4369 -3 798 15499 15420 -3 4361 4496 4495 -3 16054 16197 16196 -3 35842 35829 35720 -3 16197 16343 16342 -3 16196 16197 16342 -3 14540 14459 15928 -3 15928 14923 3738 -3 5600 14459 14540 -3 14923 798 3738 -3 1771 5600 14540 -3 14459 14923 15928 -3 16948 16848 14564 -3 2151 4114 17012 -3 17010 17173 76 -3 16186 1295 16688 -3 32145 32144 32047 -3 1184 1185 222 -3 17185 5138 16186 -3 15752 14640 2708 -3 15823 14410 14747 -3 4232 6143 15243 -3 14142 10008 15324 -3 20875 20955 20954 -3 22460 18808 20143 -3 15254 15382 15381 -3 10358 8117 7196 -3 16042 15228 701 -3 5562 11408 10586 -3 15953 3739 14729 -3 15833 16031 15549 -3 2130 14329 940 -3 1060 1272 2395 -3 3208 15937 16629 -3 14188 10682 10559 -3 15544 15960 15817 -3 16941 16951 15434 -3 5456 5321 5050 -3 8000 13090 9773 -3 15286 16637 16329 -3 4104 15974 10985 -3 1295 2939 14336 -3 4800 3997 2124 -3 5724 9689 4940 -3 17030 17194 17193 -3 17029 17030 17193 -3 17194 5007 5005 -3 17193 17194 5005 -3 5007 2842 2841 -3 5005 5007 2841 -3 2842 5081 1974 -3 2841 2842 1974 -3 5081 5213 5079 -3 1974 5081 5079 -3 5075 4940 5079 -3 5213 5075 5079 -3 17158 17159 2785 -3 5075 5724 4940 -3 14585 16398 14918 -3 15174 15173 5059 -3 16016 4065 14841 -3 20548 20630 20547 -3 15961 1187 5549 -3 25273 25272 12058 -3 13108 12282 12287 -3 15544 15817 1071 -3 16237 1305 14979 -3 14457 14825 17154 -3 14753 16390 16246 -3 1305 15613 14979 -3 29564 29547 28307 -3 3880 4923 5625 -3 469 0 1619 -3 2396 6 2354 -3 16337 16489 14396 -3 145 473 9115 -3 941 703 5873 -3 3177 941 5873 -3 2019 501 1895 -3 4259 1736 52 -3 16030 14513 15819 -3 15500 14747 16185 -3 181 1639 19778 -3 96 825 706 -3 15303 6014 2132 -3 15354 14943 15095 -3 4266 19095 4392 -3 16848 4114 2151 -3 359 14899 16026 -3 14702 5600 1771 -3 16343 16496 16495 -3 16342 16343 16495 -3 16496 16652 16651 -3 16495 16496 16651 -3 15420 15499 17171 -3 15044 2502 359 -3 14799 14798 15898 -3 15412 14539 15014 -3 15757 4544 15749 -3 4782 3991 788 -3 14579 14671 14578 -3 14886 14885 14772 -3 3738 798 15420 -3 18565 18662 18564 -3 16811 16810 16651 -3 2502 14899 359 -3 16652 16811 16651 -3 16975 16974 16810 -3 16811 16975 16810 -3 17141 17140 16974 -3 16975 17141 16974 -3 14479 14478 15044 -3 14605 7010 17140 -3 17141 14605 17140 -3 1330 6878 14479 -3 14478 2502 15044 -3 16698 16544 15690 -3 433 16948 14564 -3 17994 18084 17993 -3 18651 19212 18534 -3 1887 16630 16052 -3 16621 16942 15487 -3 16819 16820 16983 -3 311 7035 7036 -3 23606 22139 17447 -3 15500 15823 14747 -3 14412 14727 15480 -3 22034 22130 22033 -3 18084 20643 20561 -3 14727 15755 16030 -3 11221 3072 1293 -3 35867 35884 35563 -3 134 1413 16692 -3 7878 4364 15698 -3 470 17171 5457 -3 19228 4689 4824 -3 35808 21647 35698 -3 15898 15014 1420 -3 1811 1810 1694 -3 16404 5606 16259 -3 16792 16796 14456 -3 14056 11969 14059 -3 11444 16054 16196 -3 15974 16115 10985 -3 16710 16868 16867 -3 11393 6147 11390 -3 16868 17031 17030 -3 16867 16868 17030 -3 17031 17195 17194 -3 17030 17031 17194 -3 17195 5004 5007 -3 17194 17195 5007 -3 5004 2439 2842 -3 5007 5004 2842 -3 2439 4946 5081 -3 2842 2439 5081 -3 4946 4660 5213 -3 5081 4946 5213 -3 4660 783 5075 -3 5213 4660 5075 -3 6011 5724 5075 -3 783 6011 5075 -3 11497 13800 8154 -3 13136 15662 13230 -3 1715 8377 8484 -3 4117 131 298 -3 14371 14386 14370 -3 15081 2767 3038 -3 16384 15544 1071 -3 5591 3717 5725 -3 10348 3073 7967 -3 15817 15935 16515 -3 1774 15180 4126 -3 14658 15483 14457 -3 19447 19144 21943 -3 14752 14753 16246 -3 4933 2396 2354 -3 14976 16175 16212 -3 7812 7587 816 -3 4933 2354 5344 -3 14352 14351 703 -3 9178 9179 9287 -3 6143 15244 15243 -3 35735 35594 35743 -3 500 1178 499 -3 16255 2015 1295 -3 35599 35425 35932 -3 1678 3977 4276 -3 14522 2849 14519 -3 35785 35911 35849 -3 14564 16848 2151 -3 4813 4678 14796 -3 16026 14702 1771 -3 14858 2796 6405 -3 2712 2578 7010 -3 15037 15040 1330 -3 14605 2712 7010 -3 4150 4151 2578 -3 2712 4150 2578 -3 14899 14702 16026 -3 14711 14742 15037 -3 35761 35612 35603 -3 13691 13609 35464 -3 14756 14868 14755 -3 15060 15894 5221 -3 15385 15516 15515 -3 14667 14773 14666 -3 16468 12125 13974 -3 15902 14485 16183 -3 15619 16179 14434 -3 16179 1532 15498 -3 4150 852 853 -3 4151 4150 853 -3 852 4141 5615 -3 853 852 5615 -3 4141 1423 383 -3 5615 4141 383 -3 1423 357 247 -3 383 1423 247 -3 9335 2385 15564 -3 5994 15619 14434 -3 4511 5994 14434 -3 14697 16666 4003 -3 15826 14730 16100 -3 2131 941 3177 -3 17874 17967 17873 -3 16983 16984 17149 -3 14700 15394 4814 -3 15266 3491 14488 -3 20948 23341 18417 -3 16206 16352 16351 -3 16351 16352 16504 -3 16694 4655 15302 -3 19713 17755 19698 -3 15564 15699 15698 -3 16618 13894 14052 -3 15699 15836 15835 -3 15698 15699 15835 -3 15836 15975 15974 -3 15835 15836 15974 -3 15975 16116 16115 -3 15974 15975 16115 -3 16116 16259 16258 -3 16115 16116 16258 -3 25420 15419 14375 -3 16549 16852 291 -3 16404 16556 16555 -3 6387 11154 6386 -3 16556 16711 16710 -3 16555 16556 16710 -3 16711 16869 16868 -3 16710 16711 16868 -3 16869 17032 17031 -3 16868 16869 17031 -3 17032 17196 17195 -3 17031 17032 17195 -3 17196 5008 5004 -3 17195 17196 5004 -3 5008 2573 2439 -3 5004 5008 2439 -3 2573 1379 4946 -3 2439 2573 4946 -3 1379 2629 4660 -3 4946 1379 4660 -3 2629 692 783 -3 4660 2629 783 -3 4905 6011 783 -3 692 4905 783 -3 7 57 6011 -3 4905 7 6011 -3 5755 12836 5754 -3 7 3073 57 -3 14721 1071 16670 -3 16515 17151 14975 -3 11477 31018 31017 -3 16670 16515 14975 -3 1071 15817 16515 -3 12 2764 5561 -3 35929 3735 3178 -3 15935 14658 17151 -3 4017 14753 14752 -3 15251 15252 15379 -3 16213 14976 16212 -3 4126 4017 14752 -3 5208 4933 5344 -3 14976 15889 14939 -3 16237 14979 16238 -3 5208 5344 4923 -3 3177 5873 2530 -3 15141 14623 15478 -3 14929 15818 14727 -3 2262 3177 2530 -3 3977 1895 4276 -3 16187 17009 15828 -3 13876 17184 2308 -3 21281 21282 13985 -3 14783 14796 17112 -3 15959 14613 14541 -3 17554 17466 17467 -3 3072 11221 7967 -3 6878 14478 14479 -3 2796 16544 16698 -3 247 357 2533 -3 15523 14742 14711 -3 942 6522 6523 -3 2533 942 6523 -3 15040 6878 1330 -3 1532 1653 3082 -3 6405 2796 16698 -3 16544 15826 15690 -3 16339 2146 15303 -3 1045 1044 925 -3 15169 15425 15294 -3 14836 16033 5137 -3 16040 15902 16183 -3 17128 17129 2621 -3 16338 16179 15498 -3 15902 16666 14697 -3 1647 18209 18081 -3 14797 5994 4511 -3 6523 6522 1530 -3 2783 5412 2782 -3 17012 17175 5348 -3 15272 25002 15146 -3 19210 18896 21389 -3 21403 14930 15115 -3 17179 14797 16632 -3 17127 16962 17128 -3 14518 15166 14873 -3 16179 16338 14434 -3 15257 15258 15385 -3 4003 14518 14873 -3 16052 14700 4814 -3 15138 3718 1896 -3 18837 18429 19579 -3 9676 20349 3595 -3 15083 9676 15209 -3 18896 17894 21389 -3 16458 23218 21771 -3 16062 16063 16205 -3 3054 23251 12253 -3 9621 9622 9738 -3 16954 15688 7350 -3 35465 35472 35677 -3 15700 15837 15836 -3 15699 15700 15836 -3 15837 15976 15975 -3 15836 15837 15975 -3 15976 16117 16116 -3 15975 15976 16116 -3 16117 16260 16259 -3 16116 16117 16259 -3 16260 16405 16404 -3 16259 16260 16404 -3 16405 16557 16556 -3 16404 16405 16556 -3 16557 16712 16711 -3 16556 16557 16711 -3 16712 16870 16869 -3 16711 16712 16869 -3 16870 17033 17032 -3 16869 16870 17032 -3 17033 17197 17196 -3 17032 17033 17196 -3 17197 5003 5008 -3 17196 17197 5008 -3 5003 2306 2573 -3 5008 5003 2573 -3 2306 226 1379 -3 2573 2306 1379 -3 226 3831 2629 -3 1379 226 2629 -3 3831 3064 692 -3 2629 3831 692 -3 4271 4905 692 -3 3064 4271 692 -3 7199 7 4905 -3 4271 7199 4905 -3 3072 3073 7 -3 7199 3072 7 -3 1285 10972 11344 -3 14649 7692 7801 -3 14386 14403 14385 -3 4527 1620 1601 -3 15905 16045 16044 -3 65 14655 1499 -3 16515 15935 17151 -3 15585 13270 26197 -3 16390 1305 16237 -3 14658 14457 1187 -3 16246 16390 16237 -3 14386 14385 14370 -3 16175 14976 14939 -3 15367 17021 15366 -3 369 5208 4923 -3 16110 16109 16542 -3 6910 1504 6911 -3 14823 15969 15101 -3 3980 2984 2887 -3 15310 4391 15311 -3 1575 4283 4282 -3 15737 15083 15209 -3 1446 16949 15752 -3 14448 14499 14447 -3 6146 16215 5743 -3 12836 5755 11726 -3 17173 14746 76 -3 15755 1887 15500 -3 15690 15826 16100 -3 14669 14775 14668 -3 15657 15523 14711 -3 14730 15357 15611 -3 15498 1532 3082 -3 14742 15040 15037 -3 1653 15523 15657 -3 3082 1653 15657 -3 16100 14730 15611 -3 14477 15391 15611 -3 14656 14761 1897 -3 616 1777 3870 -3 14885 15005 14884 -3 14943 14531 14926 -3 2912 2442 5413 -3 6120 2624 6249 -3 14485 15902 14697 -3 15383 15514 15513 -3 3264 14797 4511 -3 16666 14518 4003 -3 25106 3322 23632 -3 14797 3264 16632 -3 14471 16952 16330 -3 14921 14393 16330 -3 16952 15481 16330 -3 15481 21402 14921 -3 14393 14921 3612 -3 15488 83 15229 -3 17179 16632 15055 -3 15794 14710 3611 -3 15166 15794 5819 -3 15912 11876 12287 -3 79 26 16945 -3 3608 15108 6527 -3 16208 16354 16353 -3 14979 15896 16238 -3 6911 52 1178 -3 14513 16185 15819 -3 15823 1211 1212 -3 35780 14168 35442 -3 20792 20793 20874 -3 2413 15350 14836 -3 30431 30432 30565 -3 1150 16168 14738 -3 15430 15429 16474 -3 15701 15838 15837 -3 15700 15701 15837 -3 15838 15977 15976 -3 15837 15838 15976 -3 15977 16118 16117 -3 15976 15977 16117 -3 16118 16261 16260 -3 16117 16118 16260 -3 16261 16406 16405 -3 16260 16261 16405 -3 16406 16558 16557 -3 16405 16406 16557 -3 16558 16713 16712 -3 16557 16558 16712 -3 16713 16871 16870 -3 16712 16713 16870 -3 16871 17034 17033 -3 16870 16871 17033 -3 17034 17198 17197 -3 17033 17034 17197 -3 17198 5002 5003 -3 17197 17198 5003 -3 5002 2175 2306 -3 5003 5002 2306 -3 2175 1609 226 -3 2306 2175 226 -3 1609 1730 3831 -3 226 1609 3831 -3 1730 5999 3064 -3 3831 1730 3064 -3 4404 4271 3064 -3 5999 4404 3064 -3 58 7199 4271 -3 4404 58 4271 -3 1527 3072 7199 -3 58 1527 7199 -3 13108 12287 13125 -3 1527 1293 3072 -3 14754 14755 14866 -3 20702 23033 20701 -3 17107 5220 16539 -3 15893 5624 14706 -3 16539 16540 16546 -3 16540 17008 16546 -3 17151 14658 1187 -3 17008 15960 15544 -3 15813 13719 13718 -3 2004 15793 4679 -3 17021 16213 16212 -3 35449 35369 35794 -3 16391 15308 16700 -3 17019 17021 16212 -3 14347 14823 15101 -3 1732 16109 16110 -3 16042 14347 15101 -3 14937 16956 16706 -3 16688 1295 14336 -3 15228 16042 15101 -3 13945 1623 13290 -3 16991 14361 16630 -3 14629 13800 16074 -3 14559 14649 14558 -3 16186 16255 1295 -3 2534 14590 14476 -3 16318 16468 15892 -3 14514 7468 15554 -3 14542 15360 16038 -3 14775 14774 14668 -3 15357 14477 15611 -3 16475 14542 16038 -3 14542 16475 15391 -3 14477 14542 15391 -3 16040 16183 16038 -3 15360 16040 16038 -3 15129 15256 15128 -3 14773 14886 14772 -3 15104 14488 16397 -3 15425 15491 15294 -3 14707 14708 14919 -3 14396 1304 4007 -3 15513 15648 15647 -3 15254 15255 15382 -3 14873 15166 5819 -3 1733 3533 14507 -3 1419 15488 1535 -3 83 15055 15229 -3 16953 14921 21313 -3 3612 16953 4011 -3 17348 17280 17349 -3 4011 691 14619 -3 17900 17899 17803 -3 15488 15229 1535 -3 18849 18948 18947 -3 5819 15794 3611 -3 83 17179 15055 -3 15786 15925 15924 -3 14710 1733 14748 -3 24065 26685 27874 -3 14519 15681 65 -3 18637 18735 21026 -3 14666 14665 14573 -3 12387 5561 1328 -3 15253 15254 15381 -3 35485 35636 35444 -3 22221 22317 22220 -3 28704 28836 28703 -3 16015 1564 16937 -3 2400 707 581 -3 15479 5285 5421 -3 8221 9448 10212 -3 6907 9680 1293 -3 15702 15839 15838 -3 15701 15702 15838 -3 15839 15978 15977 -3 15838 15839 15977 -3 15978 16119 16118 -3 15977 15978 16118 -3 16119 16262 16261 -3 16118 16119 16261 -3 16262 16407 16406 -3 16261 16262 16406 -3 16407 16559 16558 -3 16406 16407 16558 -3 16559 16714 16713 -3 16558 16559 16713 -3 16714 16872 16871 -3 16713 16714 16871 -3 16872 17035 17034 -3 16871 16872 17034 -3 17035 17199 17198 -3 17034 17035 17198 -3 17199 5001 5002 -3 17198 17199 5002 -3 5001 2707 2175 -3 5002 5001 2175 -3 2707 2900 1609 -3 2175 2707 1609 -3 2900 6129 1730 -3 1609 2900 1730 -3 6129 5209 5999 -3 1730 6129 5999 -3 4537 4404 5999 -3 5209 4537 5999 -3 84 58 4404 -3 4537 84 4404 -3 3071 1527 58 -3 84 3071 58 -3 183 1293 1527 -3 3071 183 1527 -3 18642 13564 18641 -3 183 6907 1293 -3 276 15325 5566 -3 12832 12831 11799 -3 14538 16708 1287 -3 20307 17608 17704 -3 14396 4007 14872 -3 16192 16337 15437 -3 16829 3208 16629 -3 2004 4679 15937 -3 7092 167 6141 -3 6271 7092 6141 -3 7092 6761 167 -3 6761 2100 167 -3 4139 1732 16110 -3 2130 940 2100 -3 15889 1732 4139 -3 16109 16391 16542 -3 13865 15731 15595 -3 14939 15889 4139 -3 16630 14361 14700 -3 15818 15114 15755 -3 14563 14551 3342 -3 16473 3124 16787 -3 14900 2534 14476 -3 23217 20233 22944 -3 6020 4148 14726 -3 2534 14678 14590 -3 15962 16102 14522 -3 14773 14772 14666 -3 9622 9739 9738 -3 15785 15786 15924 -3 15006 15129 15005 -3 2484 14678 2534 -3 15006 15005 14885 -3 15256 15255 15128 -3 14886 15006 14885 -3 15129 15128 15005 -3 5826 4229 468 -3 15138 1896 14895 -3 16480 14553 1777 -3 14815 16480 1777 -3 16339 613 2146 -3 1774 4126 5058 -3 14748 1733 14507 -3 3533 5196 1415 -3 16393 16249 16779 -3 1419 1535 16779 -3 13273 13178 1758 -3 12722 3075 1065 -3 3486 3487 21682 -3 14451 14452 14502 -3 14503 14582 14581 -3 14502 14503 14581 -3 350 463 16393 -3 16249 248 16779 -3 14413 14898 474 -3 3611 14710 14748 -3 15140 14413 474 -3 14898 16396 1416 -3 35725 24994 27287 -3 15395 15678 14536 -3 5175 14411 16073 -3 15326 15325 9568 -3 6634 6016 3991 -3 15255 15254 15127 -3 5732 1504 6910 -3 28342 28886 27047 -3 13612 14366 14380 -3 3718 6144 1896 -3 35747 14177 35460 -3 15114 16630 1887 -3 141 3482 6147 -3 16196 14082 11723 -3 15703 15840 15839 -3 15702 15703 15839 -3 15840 15979 15978 -3 15839 15840 15978 -3 15979 16120 16119 -3 15978 15979 16119 -3 16120 16263 16262 -3 16119 16120 16262 -3 16263 16408 16407 -3 16262 16263 16407 -3 16408 16560 16559 -3 16407 16408 16559 -3 16560 16715 16714 -3 16559 16560 16714 -3 16715 16873 16872 -3 16714 16715 16872 -3 16873 17036 17035 -3 16872 16873 17035 -3 17036 17200 17199 -3 17035 17036 17199 -3 17200 4864 5001 -3 17199 17200 5001 -3 4864 2047 2707 -3 5001 4864 2707 -3 2047 1096 2900 -3 2707 2047 2900 -3 1096 811 6129 -3 2900 1096 6129 -3 811 5345 5209 -3 6129 811 5209 -3 4670 4537 5209 -3 5345 4670 5209 -3 85 84 4537 -3 4670 85 4537 -3 2383 3071 84 -3 85 2383 84 -3 6135 183 3071 -3 2383 6135 3071 -3 6870 6907 183 -3 6135 6870 183 -3 32 14824 17108 -3 6870 14818 6907 -3 28202 28203 28319 -3 16020 16163 13433 -3 35435 35875 35426 -3 22660 22561 12305 -3 283 738 284 -3 24287 25566 25565 -3 284 6271 283 -3 6271 6141 283 -3 12213 35760 35936 -3 1380 3185 3356 -3 15100 15287 15226 -3 3195 15438 5204 -3 15100 15226 14729 -3 15102 15100 14729 -3 14422 14448 14421 -3 15287 17108 15226 -3 5139 17185 5273 -3 20560 20559 20474 -3 14786 14800 14690 -3 5139 5273 17174 -3 15925 16067 16066 -3 502 501 2019 -3 14613 6020 14726 -3 14678 14690 14590 -3 3736 16797 5473 -3 16333 16484 16483 -3 8243 11222 9802 -3 15438 9452 5204 -3 12387 12 5561 -3 4363 16960 17126 -3 14158 12116 14063 -3 15701 15700 10148 -3 14667 14666 14574 -3 17119 15760 15108 -3 2132 5136 15615 -3 14575 14667 14574 -3 14495 14574 14494 -3 14550 14549 2007 -3 1736 4229 5 -3 6396 2135 6268 -3 14507 3533 1415 -3 6015 1770 1890 -3 248 1419 16779 -3 5196 14413 15140 -3 3075 709 1065 -3 463 16249 16393 -3 14582 14674 14673 -3 260 3325 1567 -3 11887 1890 11971 -3 3796 16947 16781 -3 1326 16944 15617 -3 15617 16944 350 -3 18086 20573 19271 -3 16944 463 350 -3 16396 16634 14461 -3 474 14898 1416 -3 14690 6020 14613 -3 15694 15693 15962 -3 16361 14708 14707 -3 14777 14778 14890 -3 27149 35699 35540 -3 14482 14559 14558 -3 3752 11399 15047 -3 16323 14696 14349 -3 5473 16797 16959 -3 15438 15569 9452 -3 9452 15569 15703 -3 14818 9565 6907 -3 15569 15704 15703 -3 14161 16494 16649 -3 15704 15841 15840 -3 15703 15704 15840 -3 15841 15980 15979 -3 15840 15841 15979 -3 15980 16121 16120 -3 15979 15980 16120 -3 16121 16264 16263 -3 16120 16121 16263 -3 16264 16409 16408 -3 16263 16264 16408 -3 16409 16561 16560 -3 16408 16409 16560 -3 16561 16716 16715 -3 16560 16561 16715 -3 16716 16874 16873 -3 16715 16716 16873 -3 16874 17037 17036 -3 16873 16874 17036 -3 17037 17201 17200 -3 17036 17037 17200 -3 17201 4865 4864 -3 17200 17201 4864 -3 4865 1923 2047 -3 4864 4865 2047 -3 1923 1095 1096 -3 2047 1923 1096 -3 1095 1498 811 -3 1096 1095 811 -3 1498 5479 5345 -3 811 1498 5345 -3 4231 4670 5345 -3 5479 4231 5345 -3 7112 85 4670 -3 4231 7112 4670 -3 182 2383 85 -3 7112 182 85 -3 1528 6135 2383 -3 182 1528 2383 -3 6908 6870 6135 -3 1528 6908 6135 -3 14820 14818 6870 -3 6908 14820 6870 -3 35416 35873 35449 -3 23851 6653 17570 -3 4672 14812 15362 -3 613 1188 1774 -3 14371 14370 14356 -3 18641 13564 21116 -3 17875 17876 17968 -3 14872 4007 1772 -3 8137 9648 9979 -3 20280 21120 21119 -3 16860 16704 16112 -3 15965 16105 16112 -3 15965 15429 15430 -3 975 15965 16112 -3 15429 557 16474 -3 16105 15965 15430 -3 5689 3220 5690 -3 16504 16505 16660 -3 2708 5139 17174 -3 5273 16688 16537 -3 3977 5722 2019 -3 15098 15480 15819 -3 14590 14690 14613 -3 15502 15548 15891 -3 13230 15800 15938 -3 24240 25856 24885 -3 1311 18468 1194 -3 4663 15020 12557 -3 14890 15010 15009 -3 20121 20206 17600 -3 14777 14890 14889 -3 14776 14777 14889 -3 10004 35464 13609 -3 17126 298 4363 -3 14496 14495 14444 -3 29636 29635 29497 -3 251 361 3211 -3 14445 14496 14444 -3 14943 14926 15221 -3 2401 6396 6268 -3 2132 16548 5136 -3 27084 28431 28424 -3 1415 5196 15140 -3 19967 31145 19968 -3 15959 14541 14626 -3 14626 14541 14693 -3 5622 5621 3325 -3 140 6651 352 -3 5622 3217 3216 -3 24031 24030 30624 -3 14613 14726 14541 -3 14449 14448 14422 -3 2 822 15395 -3 15395 822 15678 -3 17119 15108 3608 -3 1416 16396 14461 -3 15896 15095 14508 -3 15693 16102 15962 -3 18647 21040 21041 -3 6264 6392 5597 -3 21755 21862 1034 -3 16462 16025 586 -3 320 6264 5597 -3 17446 33704 22325 -3 15311 15439 15438 -3 15310 15311 15438 -3 15439 15570 15569 -3 15438 15439 15569 -3 15570 15705 15704 -3 15569 15570 15704 -3 15705 15842 15841 -3 15704 15705 15841 -3 15842 15981 15980 -3 15841 15842 15980 -3 15981 16122 16121 -3 15980 15981 16121 -3 16122 16265 16264 -3 16121 16122 16264 -3 16265 16410 16409 -3 16264 16265 16409 -3 16410 16562 16561 -3 16409 16410 16561 -3 16562 16717 16716 -3 16561 16562 16716 -3 16717 16875 16874 -3 16716 16717 16874 -3 16875 17038 17037 -3 16874 16875 17037 -3 17038 17202 17201 -3 17037 17038 17201 -3 17202 4866 4865 -3 17201 17202 4865 -3 4866 2706 1923 -3 4865 4866 1923 -3 2706 1094 1095 -3 1923 2706 1095 -3 1094 3184 1498 -3 1095 1094 1498 -3 3184 5614 5479 -3 1498 3184 5479 -3 4365 4231 5479 -3 5614 4365 5479 -3 7009 7112 4231 -3 4365 7009 4231 -3 6516 182 7112 -3 7009 6516 7112 -3 3606 1528 182 -3 6516 3606 182 -3 7005 6908 1528 -3 3606 7005 1528 -3 35822 35673 35376 -3 16316 5857 7416 -3 20212 20211 20126 -3 3736 16641 16797 -3 14812 5757 15362 -3 16352 16353 16505 -3 17124 14360 17109 -3 5346 14857 14325 -3 16193 14938 14857 -3 14360 5346 14325 -3 16193 16704 16860 -3 5346 16193 14857 -3 16704 975 16112 -3 14938 16193 16860 -3 15003 15126 15002 -3 2535 14918 14800 -3 23251 23349 12253 -3 6146 14598 14335 -3 18181 21062 181 -3 465 2400 581 -3 17174 5273 16537 -3 1504 4259 6911 -3 15269 15268 702 -3 1272 15269 702 -3 14496 14575 14495 -3 15891 15890 14740 -3 15560 402 1877 -3 14889 14888 14775 -3 5138 16255 16186 -3 12780 14910 23393 -3 20127 20212 20126 -3 3400 4133 4412 -3 3073 10348 10349 -3 15774 15913 15912 -3 5322 14633 470 -3 15773 15774 15912 -3 15760 14328 15108 -3 9746 9281 2478 -3 14419 14445 14418 -3 77 3207 16701 -3 15015 475 14799 -3 14508 15221 17119 -3 15661 15677 5083 -3 501 2387 500 -3 15420 17171 470 -3 3869 15420 470 -3 3738 15420 3869 -3 1303 3738 3869 -3 15913 16055 16054 -3 15912 15913 16054 -3 16055 16198 16197 -3 16054 16055 16197 -3 16198 16344 16343 -3 14625 14540 16360 -3 16197 16198 16343 -3 15928 3738 1303 -3 16360 15928 1303 -3 4259 2261 1736 -3 15270 16967 15269 -3 15015 14799 14689 -3 14508 17119 6651 -3 6094 7425 6224 -3 11776 11947 20155 -3 6007 12476 12477 -3 6002 5878 498 -3 15186 15312 15311 -3 5871 10840 8655 -3 15312 15440 15439 -3 15311 15312 15439 -3 15440 15571 15570 -3 15439 15440 15570 -3 15571 15706 15705 -3 15570 15571 15705 -3 15706 15843 15842 -3 15705 15706 15842 -3 15843 15982 15981 -3 15842 15843 15981 -3 15982 16123 16122 -3 15981 15982 16122 -3 16123 16266 16265 -3 16122 16123 16265 -3 16266 16411 16410 -3 16265 16266 16410 -3 16411 16563 16562 -3 16410 16411 16562 -3 16563 16718 16717 -3 16562 16563 16717 -3 16718 16876 16875 -3 16717 16718 16875 -3 16876 17039 17038 -3 16875 16876 17038 -3 17039 17203 17202 -3 17038 17039 17202 -3 17203 4867 4866 -3 17202 17203 4866 -3 4867 2571 2706 -3 4866 4867 2706 -3 2571 1093 1094 -3 2706 2571 1094 -3 1093 329 3184 -3 1094 1093 3184 -3 329 5748 5614 -3 3184 329 5614 -3 4804 4365 5614 -3 5748 4804 5614 -3 4385 7009 4365 -3 4804 4385 4365 -3 3210 6516 7009 -3 4385 3210 7009 -3 214 3606 6516 -3 3210 214 6516 -3 6909 7005 3606 -3 214 6909 3606 -3 9115 473 16316 -3 6909 14827 7005 -3 15835 15974 20 -3 5184 5321 2488 -3 4411 14942 4544 -3 16506 16662 16661 -3 15392 17124 15390 -3 14360 14325 17109 -3 15512 15647 15646 -3 15511 15512 15646 -3 15512 15511 15380 -3 15381 15512 15380 -3 15381 15380 15252 -3 15253 15381 15252 -3 15253 15252 15125 -3 15126 15253 15125 -3 35879 35349 35852 -3 4949 15266 15104 -3 4814 1211 15823 -3 14488 3873 16397 -3 304 5040 17193 -3 5469 3177 2262 -3 16958 16955 15268 -3 15751 15890 15548 -3 14575 14574 14495 -3 15268 15267 6142 -3 6651 3608 3609 -3 352 6651 3609 -3 16634 1771 14625 -3 3873 15622 1186 -3 16344 16497 16496 -3 16343 16344 16496 -3 16653 16652 16496 -3 16497 16653 16496 -3 702 15268 6142 -3 1733 15037 3533 -3 77 352 3207 -3 16548 16701 5136 -3 3492 15015 14896 -3 14450 14501 14449 -3 12286 9518 11076 -3 16167 8000 2253 -3 14710 14711 1733 -3 15037 1330 3533 -3 16812 16811 16652 -3 16653 16812 16652 -3 16976 16975 16811 -3 16812 16976 16811 -3 17142 17141 16975 -3 16976 17142 16975 -3 6879 14605 17141 -3 17142 6879 17141 -3 15794 15657 14710 -3 14711 15037 1733 -3 304 2440 6792 -3 20298 20297 20211 -3 3872 3492 15016 -3 15016 3492 14896 -3 15763 14864 15225 -3 28076 28721 35427 -3 2928 14997 14996 -3 21878 20778 18901 -3 15187 15313 15312 -3 15186 15187 15312 -3 15313 15441 15440 -3 15312 15313 15440 -3 15441 15572 15571 -3 15440 15441 15571 -3 15572 15707 15706 -3 15571 15572 15706 -3 15707 15844 15843 -3 15706 15707 15843 -3 15844 15983 15982 -3 15843 15844 15982 -3 15983 16124 16123 -3 15982 15983 16123 -3 16124 16267 16266 -3 16123 16124 16266 -3 16267 16412 16411 -3 16266 16267 16411 -3 16412 16564 16563 -3 16411 16412 16563 -3 16564 16719 16718 -3 16563 16564 16718 -3 16719 16877 16876 -3 16718 16719 16876 -3 16877 17040 17039 -3 16876 16877 17039 -3 17040 17204 17203 -3 17039 17040 17203 -3 17204 4868 4867 -3 17203 17204 4867 -3 4868 2572 2571 -3 4867 4868 2571 -3 2572 1092 1093 -3 2571 2572 1093 -3 1092 1994 329 -3 1093 1092 329 -3 1994 5881 5748 -3 329 1994 5748 -3 5879 4804 5748 -3 5881 5879 5748 -3 4103 4385 4804 -3 5879 4103 4804 -3 6278 3210 4385 -3 4103 6278 4385 -3 444 214 3210 -3 6278 444 3210 -3 6842 6909 214 -3 444 6842 214 -3 14828 14827 6909 -3 6842 14828 6909 -3 35722 22534 22435 -3 15768 15799 15033 -3 16505 16506 16661 -3 16662 16821 16820 -3 14339 15392 14338 -3 17124 17109 15390 -3 15647 15784 15783 -3 15646 15647 15783 -3 15169 15294 16465 -3 14469 14463 15899 -3 14918 14463 14469 -3 4814 15394 6120 -3 1896 6144 16480 -3 14800 14918 14469 -3 35713 35454 35461 -3 14463 14982 15899 -3 49 2395 1504 -3 3713 2621 3404 -3 29549 29009 27294 -3 16706 16707 16187 -3 15549 15751 15548 -3 15751 15790 14639 -3 4007 15016 4672 -3 2261 702 6142 -3 6651 17119 3608 -3 352 3609 3207 -3 16026 1771 16634 -3 14540 15928 16360 -3 2985 2712 14605 -3 6879 2985 14605 -3 4149 4150 2712 -3 2985 4149 2712 -3 1330 14479 5196 -3 4149 1542 852 -3 3533 1330 5196 -3 14479 15044 14413 -3 16548 77 16701 -3 17112 15615 14759 -3 16645 3872 1304 -3 1304 3872 15016 -3 15279 19094 14583 -3 1213 5321 15687 -3 15166 3082 15794 -3 15657 14711 14710 -3 4150 4149 852 -3 1542 4273 4141 -3 852 1542 4141 -3 10845 7468 11008 -3 4141 4273 1423 -3 823 942 3062 -3 26480 27148 35896 -3 14518 15498 15166 -3 3082 15657 15794 -3 17011 2897 16027 -3 14514 2897 17011 -3 14708 15968 15039 -3 15968 15038 15039 -3 16629 14531 14943 -3 15620 3262 15394 -3 10237 14827 10358 -3 15890 15751 14639 -3 111 23468 23370 -3 32399 32398 32295 -3 15314 15442 15441 -3 25769 25862 24413 -3 15442 15573 15572 -3 15441 15442 15572 -3 15573 15708 15707 -3 15572 15573 15707 -3 15708 15845 15844 -3 15707 15708 15844 -3 15845 15984 15983 -3 15844 15845 15983 -3 15984 16125 16124 -3 15983 15984 16124 -3 16125 16268 16267 -3 16124 16125 16267 -3 16268 16413 16412 -3 16267 16268 16412 -3 16413 16565 16564 -3 16412 16413 16564 -3 16565 16720 16719 -3 16564 16565 16719 -3 16720 16878 16877 -3 16719 16720 16877 -3 16878 17041 17040 -3 16877 16878 17040 -3 17041 17205 17204 -3 17040 17041 17204 -3 17205 4872 4868 -3 17204 17205 4868 -3 4872 2438 2572 -3 4868 4872 2572 -3 2438 2548 1092 -3 2572 2438 1092 -3 2548 1271 1994 -3 1092 2548 1994 -3 1271 5880 5881 -3 1994 1271 5881 -3 5462 5879 5881 -3 5880 5462 5881 -3 5877 4103 5879 -3 5462 5877 5879 -3 6277 6278 4103 -3 5877 6277 4103 -3 2930 444 6278 -3 6277 2930 6278 -3 6843 6842 444 -3 2930 6843 444 -3 14829 14828 6842 -3 6843 14829 6842 -3 21115 18639 18640 -3 8156 7470 11216 -3 16661 16662 16820 -3 5815 5680 5681 -3 585 14339 469 -3 15392 15390 14338 -3 14925 14321 24 -3 15261 15262 19579 -3 15650 15651 15787 -3 15260 15261 15388 -3 15127 15254 15126 -3 20212 20298 20211 -3 15004 15127 15003 -3 15254 15253 15126 -3 613 1774 2146 -3 2146 1774 5058 -3 23243 28886 28342 -3 15932 17152 14712 -3 15251 15379 15378 -3 15250 15251 15378 -3 14639 15790 5138 -3 17022 16254 16255 -3 14896 14689 14812 -3 501 500 1895 -3 15677 5082 5083 -3 1064 4401 4531 -3 16396 16026 16634 -3 1771 14540 14625 -3 359 16026 16396 -3 14898 359 16396 -3 5196 14479 14413 -3 15044 359 14898 -3 14421 14447 14420 -3 14413 15044 14898 -3 1178 52 6002 -3 14385 14402 14384 -3 14421 14420 14401 -3 4280 89 88 -3 15039 15038 16489 -3 15038 16645 16489 -3 2897 15973 16027 -3 16027 15973 14348 -3 16338 15498 14518 -3 16666 16338 14518 -3 35440 34730 35435 -3 8332 10004 13609 -3 18113 823 19602 -3 942 823 6522 -3 35544 35885 35612 -3 823 18113 6647 -3 16338 16666 15902 -3 14434 16338 15902 -3 14709 3081 15370 -3 15973 14435 14348 -3 52 5 6002 -3 15933 15968 14708 -3 15956 7348 7347 -3 14689 14799 14455 -3 20777 20859 20858 -3 33126 33127 7522 -3 15215 3930 16608 -3 9632 10119 4063 -3 35723 35428 35377 -3 15314 15313 1149 -3 15443 15574 15573 -3 15442 15443 15573 -3 15574 15709 15708 -3 15573 15574 15708 -3 15709 15846 15845 -3 15708 15709 15845 -3 15846 15985 15984 -3 15845 15846 15984 -3 15985 16126 16125 -3 15984 15985 16125 -3 16126 16269 16268 -3 16125 16126 16268 -3 16269 16414 16413 -3 16268 16269 16413 -3 16414 16566 16565 -3 16413 16414 16565 -3 16566 16721 16720 -3 16565 16566 16720 -3 16721 16879 16878 -3 16720 16721 16878 -3 16879 17042 17041 -3 16878 16879 17041 -3 17042 17206 17205 -3 17041 17042 17205 -3 17206 4869 4872 -3 17205 17206 4872 -3 4869 1803 2438 -3 4872 4869 2438 -3 1803 2414 2548 -3 2438 1803 2548 -3 2414 1995 1271 -3 2548 2414 1271 -3 1995 2501 5880 -3 1271 1995 5880 -3 5327 5462 5880 -3 2501 5327 5880 -3 5745 5877 5462 -3 5327 5745 5462 -3 3348 6277 5877 -3 5745 3348 5877 -3 573 2930 6277 -3 3348 573 6277 -3 15103 6843 2930 -3 573 15103 2930 -3 14830 14829 6843 -3 15103 14830 6843 -3 20967 20237 19016 -3 2488 1213 2489 -3 15314 25669 15442 -3 35598 35537 35633 -3 3063 585 1640 -3 14339 14338 469 -3 5753 5754 2626 -3 279 174 5754 -3 15270 15269 1272 -3 15651 15788 15787 -3 18808 20409 20407 -3 20383 20382 20297 -3 15351 14437 15352 -3 15922 15923 16064 -3 15434 16949 1446 -3 35455 35414 35704 -3 35517 35457 35591 -3 16065 16208 16207 -3 499 498 1775 -3 14336 15480 15098 -3 5138 17022 16255 -3 7569 1407 9446 -3 2484 14714 14678 -3 2019 1895 3977 -3 14817 2669 15934 -3 2669 16512 16094 -3 33372 33485 33484 -3 15161 15966 15291 -3 14623 15966 15161 -3 3491 15141 15478 -3 14447 14446 14420 -3 14402 14421 14401 -3 1213 1212 2489 -3 14385 14384 14369 -3 35498 30688 17255 -3 16064 16065 16207 -3 6907 9565 6989 -3 16052 4814 15823 -3 16489 16645 1304 -3 16322 671 17171 -3 14435 3081 14709 -3 16361 15933 14708 -3 15498 3082 15166 -3 14348 14435 14709 -3 15349 15612 5283 -3 4511 14434 16040 -3 30699 30833 30698 -3 19280 19281 19387 -3 19819 19651 17943 -3 19179 19283 19282 -3 18976 19077 19076 -3 3264 4511 15360 -3 14434 15902 16040 -3 15370 15501 14994 -3 15501 3209 14994 -3 18912 1526 18913 -3 3662 15933 16361 -3 23394 12780 23393 -3 13715 13812 16235 -3 21022 21021 20938 -3 20776 20777 20858 -3 8010 12307 14072 -3 8010 102 12307 -3 17094 8010 14072 -3 102 13012 12307 -3 15444 15575 15574 -3 15442 25669 15443 -3 15575 15710 15709 -3 15574 15575 15709 -3 15710 15847 15846 -3 15709 15710 15846 -3 15847 15986 15985 -3 15846 15847 15985 -3 15986 16127 16126 -3 15985 15986 16126 -3 16127 16270 16269 -3 16126 16127 16269 -3 16270 16415 16414 -3 16269 16270 16414 -3 16415 16567 16566 -3 16414 16415 16566 -3 16567 16722 16721 -3 16566 16567 16721 -3 16722 16880 16879 -3 16721 16722 16879 -3 16880 17043 17042 -3 16879 16880 17042 -3 17043 17207 17206 -3 17042 17043 17206 -3 17207 4871 4869 -3 17206 17207 4869 -3 4871 1922 1803 -3 4869 4871 1803 -3 1922 2281 2414 -3 1803 1922 2414 -3 2281 11 1995 -3 2414 2281 1995 -3 11 326 2501 -3 1995 11 2501 -3 6635 5327 2501 -3 326 6635 2501 -3 5611 5745 5327 -3 6635 5611 5327 -3 6276 3348 5745 -3 5611 6276 5745 -3 2443 573 3348 -3 6276 2443 3348 -3 4406 15103 573 -3 2443 4406 573 -3 14832 14830 15103 -3 4406 14832 15103 -3 11971 11974 13781 -3 7692 14754 14866 -3 3868 828 6774 -3 828 14557 2268 -3 2531 3063 2396 -3 585 469 1640 -3 1210 1611 2626 -3 1611 5753 2626 -3 5732 49 1504 -3 16489 1304 14396 -3 20266 15879 15880 -3 20143 18808 20407 -3 14363 15351 14350 -3 14645 1897 14834 -3 402 94 1877 -3 1775 25871 25870 -3 13283 35659 3319 -3 20858 20859 20938 -3 23855 35773 35557 -3 35796 29821 35427 -3 16255 16254 2015 -3 15039 16489 16337 -3 15599 21282 9279 -3 17970 17969 17877 -3 20349 2500 3595 -3 15755 15114 1887 -3 1404 6910 2387 -3 1406 225 14538 -3 15221 15760 17119 -3 15478 14623 15161 -3 15964 140 352 -3 21112 21111 21025 -3 15936 16050 14929 -3 14670 14669 14577 -3 20298 20383 20297 -3 14640 5139 2708 -3 1496 1495 6739 -3 5433 16028 5432 -3 1496 8550 9095 -3 14389 25658 25657 -3 500 499 1426 -3 23199 23297 23198 -3 3081 15501 15370 -3 14994 3209 15829 -3 3264 15360 14542 -3 16632 3264 14542 -3 19257 17867 17948 -3 21225 691 16953 -3 17987 18219 18091 -3 14581 14582 14673 -3 16930 13240 25817 -3 16632 14542 14477 -3 15055 16632 14477 -3 3261 14808 17153 -3 3209 2482 15829 -3 5146 14630 18382 -3 14411 3662 16361 -3 7065 11560 33542 -3 14397 3317 11507 -3 21022 21108 21021 -3 20939 21022 20938 -3 34104 21196 21197 -3 21108 21196 21107 -3 17094 14072 16759 -3 16603 17094 16759 -3 15445 15576 15575 -3 15444 15574 15443 -3 15576 15711 15710 -3 15575 15576 15710 -3 15711 15848 15847 -3 15710 15711 15847 -3 15848 15987 15986 -3 15847 15848 15986 -3 15987 16128 16127 -3 15986 15987 16127 -3 16128 16271 16270 -3 16127 16128 16270 -3 16271 16416 16415 -3 16270 16271 16415 -3 16416 16568 16567 -3 16415 16416 16567 -3 16568 16723 16722 -3 16567 16568 16722 -3 16723 16881 16880 -3 16722 16723 16880 -3 16881 17044 17043 -3 16880 16881 17043 -3 17044 17208 17207 -3 17043 17044 17207 -3 17208 4870 4871 -3 17207 17208 4871 -3 4870 2046 1922 -3 4871 4870 1922 -3 2046 2150 2281 -3 1922 2046 2281 -3 2150 5734 11 -3 2281 2150 11 -3 5734 6266 326 -3 11 5734 326 -3 5177 6635 326 -3 6266 5177 326 -3 5476 5611 6635 -3 5177 5476 6635 -3 3481 6276 5611 -3 5476 3481 5611 -3 2931 2443 6276 -3 3481 2931 6276 -3 15263 4406 2443 -3 2931 15263 2443 -3 14833 14832 4406 -3 15263 14833 4406 -3 35429 35461 35505 -3 14833 16257 14832 -3 15659 15899 1524 -3 291 5464 16549 -3 3063 1640 2396 -3 5322 5457 154 -3 29133 30600 23957 -3 1328 1210 2626 -3 15411 17150 15410 -3 11565 14596 11795 -3 17464 17387 17465 -3 16309 20266 15880 -3 16552 15290 14350 -3 14437 14834 15352 -3 6916 7016 7015 -3 1036 7008 1404 -3 16248 16094 5868 -3 16094 15625 5868 -3 16051 16491 16248 -3 5868 15625 14411 -3 15682 14409 15681 -3 15792 14409 15415 -3 14409 15934 15415 -3 15510 15645 15644 -3 3356 3355 251 -3 15625 3662 14411 -3 298 132 4363 -3 5411 14519 65 -3 30219 30220 29429 -3 32667 32666 32553 -3 3069 15936 14929 -3 15763 14556 14864 -3 14554 15265 3076 -3 16050 14720 15818 -3 16115 16258 10985 -3 14475 1877 94 -3 29008 27376 26968 -3 14177 35747 14176 -3 16789 5298 5432 -3 16047 14611 16028 -3 15700 2385 10148 -3 20467 20466 20382 -3 2482 14506 14486 -3 26194 26195 25685 -3 4511 16040 15360 -3 15829 2482 14486 -3 14674 14780 14779 -3 15229 15055 15357 -3 709 4531 6773 -3 3339 13278 22856 -3 260 5622 3325 -3 1065 709 6773 -3 1535 15229 14730 -3 15055 14477 15357 -3 16826 3261 17153 -3 1425 2710 14808 -3 22659 12894 22634 -3 23100 23101 23198 -3 23003 23101 23100 -3 277 9909 16257 -3 23002 23003 23100 -3 23101 23199 23198 -3 27062 27084 28424 -3 28431 30159 30154 -3 16603 16759 15537 -3 15404 16603 15537 -3 15446 15577 15576 -3 15445 15575 15444 -3 15577 15712 15711 -3 15576 15577 15711 -3 15712 15849 15848 -3 15711 15712 15848 -3 15849 15988 15987 -3 15848 15849 15987 -3 15988 16129 16128 -3 15987 15988 16128 -3 16129 16272 16271 -3 16128 16129 16271 -3 16272 16417 16416 -3 16271 16272 16416 -3 16417 16569 16568 -3 16416 16417 16568 -3 16569 16724 16723 -3 16568 16569 16723 -3 16724 16882 16881 -3 16723 16724 16881 -3 16882 17045 17044 -3 16881 16882 17044 -3 17045 17209 17208 -3 17044 17045 17208 -3 17209 4735 4870 -3 17208 17209 4870 -3 4735 2174 2046 -3 4870 4735 2046 -3 2174 2022 2150 -3 2046 2174 2150 -3 2022 2503 5734 -3 2150 2022 5734 -3 2503 1402 6266 -3 5734 2503 6266 -3 1402 2901 5177 -3 6266 1402 5177 -3 5342 5476 5177 -3 2901 5342 5177 -3 6275 3481 5476 -3 5342 6275 5476 -3 301 2931 3481 -3 6275 301 3481 -3 1497 15263 2931 -3 301 1497 2931 -3 14835 14833 15263 -3 1497 14835 15263 -3 16315 16257 14833 -3 14835 16315 14833 -3 7817 10972 8123 -3 16315 277 16257 -3 9793 277 9114 -3 7473 9418 10859 -3 15110 7584 7876 -3 17156 11799 15900 -3 20383 20467 20382 -3 15937 16621 14531 -3 21879 10216 21852 -3 21120 21879 21119 -3 14527 14596 16552 -3 15351 15352 14350 -3 15416 5690 1649 -3 35547 35382 34247 -3 35486 35572 35531 -3 14888 14887 14774 -3 16205 16206 16351 -3 20552 20551 20466 -3 15419 25420 25277 -3 17533 19433 3259 -3 14814 14654 3212 -3 10840 5871 3314 -3 1655 4806 1285 -3 14654 1655 1285 -3 26612 31557 34062 -3 14405 14406 14424 -3 134 788 3991 -3 14062 15638 15774 -3 14834 1897 14724 -3 1413 134 3991 -3 30760 25166 24714 -3 14784 1533 5744 -3 14176 35747 13390 -3 5276 5430 2020 -3 16644 16788 16047 -3 1890 16988 11971 -3 16788 2020 14611 -3 16047 16788 14611 -3 14879 14880 14999 -3 20467 20552 20466 -3 8136 16258 4098 -3 8862 4648 8110 -3 16826 17153 14486 -3 14506 16826 14486 -3 16779 1535 14730 -3 15826 16779 14730 -3 14887 15007 14886 -3 1683 1567 4198 -3 17110 14428 1485 -3 15257 15385 15384 -3 13181 11694 13179 -3 14704 15395 3170 -3 2796 350 16544 -3 16393 16779 15826 -3 14644 2916 5548 -3 3261 1425 14808 -3 28991 35420 35768 -3 14656 9574 7109 -3 30029 30161 30028 -3 586 16025 78 -3 22904 23003 23002 -3 22903 22904 23002 -3 30294 30427 30293 -3 30561 30560 30426 -3 22332 30773 19574 -3 30834 2410 30833 -3 15447 15578 15577 -3 15446 15445 19984 -3 15578 15713 15712 -3 15577 15578 15712 -3 15713 15850 15849 -3 15712 15713 15849 -3 15850 15989 15988 -3 15849 15850 15988 -3 15989 16130 16129 -3 15988 15989 16129 -3 16130 16273 16272 -3 16129 16130 16272 -3 16273 16418 16417 -3 16272 16273 16417 -3 16418 16570 16569 -3 16417 16418 16569 -3 16570 16725 16724 -3 16569 16570 16724 -3 16725 16883 16882 -3 16724 16725 16882 -3 16883 17046 17045 -3 16882 16883 17045 -3 17046 17210 17209 -3 17045 17046 17209 -3 17210 4736 4735 -3 17209 17210 4735 -3 4736 2305 2174 -3 4735 4736 2174 -3 2305 3754 2022 -3 2174 2305 2022 -3 3754 3853 2503 -3 2022 3754 2503 -3 3853 5176 1402 -3 2503 3853 1402 -3 5176 1403 2901 -3 1402 5176 2901 -3 5206 5342 2901 -3 1403 5206 2901 -3 3610 6275 5342 -3 5206 3610 5342 -3 3733 301 6275 -3 3610 3733 6275 -3 1173 1497 301 -3 3733 1173 301 -3 14837 14835 1497 -3 1173 14837 1497 -3 16321 16315 14835 -3 14837 16321 14835 -3 278 277 16315 -3 16321 278 16315 -3 11864 1018 11636 -3 278 145 277 -3 7008 6910 1404 -3 1542 88 4273 -3 13811 16380 10093 -3 17150 14467 17134 -3 2397 2131 5469 -3 25850 25708 2263 -3 16043 15900 14527 -3 15290 14363 14350 -3 6871 15427 15970 -3 11864 13384 16969 -3 20634 20633 20551 -3 16158 16302 1388 -3 33187 33186 33081 -3 35593 35760 35581 -3 15617 350 2796 -3 14858 15617 2796 -3 9679 4920 2021 -3 350 16393 16544 -3 21968 17720 33662 -3 31818 31924 31817 -3 16951 15502 15434 -3 20552 20634 20551 -3 20715 20714 20633 -3 81 3181 27 -3 11562 13956 14248 -3 23733 13624 24524 -3 24088 27018 24464 -3 12831 12739 11795 -3 15901 7220 16644 -3 16041 15901 16644 -3 7220 16950 16788 -3 16644 7220 16788 -3 16950 15493 2020 -3 16788 16950 2020 -3 9288 9289 16831 -3 2020 15493 5276 -3 6502 6375 6376 -3 27786 12440 12529 -3 16049 15908 2710 -3 1425 16049 2710 -3 15229 15357 14730 -3 14814 3212 15908 -3 32752 32864 32863 -3 11377 15159 7347 -3 14062 11639 14061 -3 11222 11223 15769 -3 20412 1150 1144 -3 15638 15775 15774 -3 16544 16393 15826 -3 20634 20715 20633 -3 2098 14428 17110 -3 16945 3127 3593 -3 2248 10649 5470 -3 35794 35549 35608 -3 35198 33666 17453 -3 12170 12088 13179 -3 22705 22706 22804 -3 3196 17083 17007 -3 22805 22904 22903 -3 22804 22805 22903 -3 35626 35353 35376 -3 21739 21833 34754 -3 15448 15579 15578 -3 15447 15448 15578 -3 15579 15714 15713 -3 15578 15579 15713 -3 15714 15851 15850 -3 15713 15714 15850 -3 15851 15990 15989 -3 15850 15851 15989 -3 15990 16131 16130 -3 15989 15990 16130 -3 16131 16274 16273 -3 16130 16131 16273 -3 16274 16419 16418 -3 16273 16274 16418 -3 16419 16571 16570 -3 16418 16419 16570 -3 16571 16726 16725 -3 16570 16571 16725 -3 16726 16884 16883 -3 16725 16726 16883 -3 16884 17047 17046 -3 16883 16884 17046 -3 17047 17211 17210 -3 17046 17047 17210 -3 17211 4734 4736 -3 17210 17211 4736 -3 4734 2437 2305 -3 4736 4734 2305 -3 2437 3753 3754 -3 2305 2437 3754 -3 3753 4942 3853 -3 3754 3753 3853 -3 4942 43 5176 -3 3853 4942 5176 -3 35 1403 5176 -3 43 35 5176 -3 5072 5206 1403 -3 35 5072 1403 -3 3741 3610 5206 -3 5072 3741 5206 -3 403 3733 3610 -3 3741 403 3610 -3 15814 1173 3733 -3 403 15814 3733 -3 14842 14837 1173 -3 15814 14842 1173 -3 16325 16321 14837 -3 14842 16325 14837 -3 16325 173 278 -3 16321 16325 278 -3 173 473 145 -3 278 173 145 -3 8083 9114 7146 -3 13815 13717 13718 -3 1272 702 2261 -3 10210 10209 16532 -3 14365 14364 2131 -3 2397 14365 2131 -3 5544 17156 16043 -3 14596 15290 16552 -3 11215 8998 4235 -3 25112 23676 20755 -3 14755 14754 14650 -3 14651 14755 14650 -3 2482 14615 14506 -3 25015 24207 24778 -3 14380 11507 13860 -3 16514 15159 11377 -3 23405 15042 21047 -3 15775 15914 15913 -3 14777 14776 14670 -3 15774 15775 15913 -3 14541 14604 14693 -3 14671 14777 14670 -3 12282 14062 15774 -3 15694 15962 16794 -3 1295 2015 2939 -3 14499 14578 14498 -3 14397 11507 14380 -3 15550 5701 5834 -3 16793 15903 7220 -3 15901 16793 7220 -3 15903 2133 16950 -3 7220 15903 16950 -3 2133 14526 15493 -3 16950 2133 15493 -3 18690 1455 18788 -3 35600 29544 35719 -3 5294 5276 5428 -3 5701 15550 16793 -3 17239 4066 17238 -3 11643 11565 12650 -3 16049 14814 15908 -3 3929 3925 15343 -3 15223 15959 14626 -3 14828 14829 8117 -3 15914 16056 16055 -3 15913 15914 16055 -3 16056 16199 16198 -3 16055 16056 16198 -3 5606 231 8900 -3 822 15624 15678 -3 17183 1053 188 -3 22317 22414 22316 -3 15344 3929 15343 -3 35740 35559 35890 -3 11694 11618 13179 -3 12088 13181 13179 -3 28424 28431 30154 -3 31789 31788 31688 -3 22607 22706 22705 -3 22606 22607 22705 -3 24296 26678 26679 -3 21652 7293 7291 -3 15449 15580 15579 -3 15448 15449 15579 -3 15580 15715 15714 -3 15579 15580 15714 -3 15715 15852 15851 -3 15714 15715 15851 -3 15852 15991 15990 -3 15851 15852 15990 -3 15991 16132 16131 -3 15990 15991 16131 -3 16132 16275 16274 -3 16131 16132 16274 -3 16275 16420 16419 -3 16274 16275 16419 -3 16420 16572 16571 -3 16419 16420 16571 -3 16572 16727 16726 -3 16571 16572 16726 -3 16727 16885 16884 -3 16726 16727 16884 -3 16885 17048 17047 -3 16884 16885 17047 -3 17048 17212 17211 -3 17047 17048 17211 -3 17212 4733 4734 -3 17211 17212 4734 -3 4733 2173 2437 -3 4734 4733 2437 -3 2173 3884 3753 -3 2437 2173 3753 -3 3884 4807 4942 -3 3753 3884 4942 -3 4807 1168 43 -3 4942 4807 43 -3 3464 35 43 -3 1168 3464 43 -3 4668 5072 35 -3 3464 4668 35 -3 6779 3741 5072 -3 4668 6779 5072 -3 16783 403 3741 -3 6779 16783 3741 -3 16783 14745 15814 -3 403 16783 15814 -3 14745 14843 14842 -3 15814 14745 14842 -3 14843 16326 16325 -3 14842 14843 16325 -3 16326 55 173 -3 16325 16326 173 -3 55 2532 473 -3 173 55 473 -3 2532 4920 16316 -3 473 2532 16316 -3 16327 5428 15543 -3 9768 4368 8998 -3 15418 15411 14364 -3 14365 15418 14364 -3 16214 16071 5544 -3 15900 14596 14527 -3 30984 30983 30925 -3 11215 4235 2751 -3 16046 16045 15906 -3 17552 17553 17646 -3 4924 5059 15173 -3 2015 272 3069 -3 1712 1596 8481 -3 466 2401 2936 -3 16199 16345 16344 -3 16198 16199 16344 -3 16498 16497 16344 -3 15231 5833 5832 -3 16345 16498 16344 -3 14740 14639 17185 -3 16949 15891 14640 -3 3978 3157 4112 -3 14577 14669 14576 -3 15550 17120 16793 -3 16003 16002 25908 -3 13135 13230 13134 -3 16793 17120 15903 -3 35853 35798 35447 -3 35829 35772 35442 -3 16169 14525 14526 -3 2133 16169 14526 -3 14525 14680 15543 -3 14526 14525 15543 -3 14680 587 16327 -3 15543 14680 16327 -3 15734 20327 16168 -3 4233 3845 19308 -3 16549 16853 16852 -3 7164 11556 11630 -3 15296 3869 14633 -3 15014 14539 14704 -3 16654 16653 16497 -3 16498 16654 16497 -3 16813 16812 16653 -3 16654 16813 16653 -3 16433 16432 16287 -3 14624 1303 15296 -3 16955 15548 15502 -3 789 134 188 -3 3929 12826 3925 -3 546 17110 15356 -3 20499 20498 12170 -3 17082 20011 20499 -3 35487 26803 35399 -3 20300 20385 20299 -3 22706 22805 22804 -3 22507 22508 22606 -3 20510 20593 20592 -3 21740 21835 21834 -3 15450 15581 15580 -3 15449 15450 15580 -3 15581 15716 15715 -3 15580 15581 15715 -3 15716 15853 15852 -3 15715 15716 15852 -3 15853 15992 15991 -3 15852 15853 15991 -3 15992 16133 16132 -3 15991 15992 16132 -3 16133 16276 16275 -3 16132 16133 16275 -3 16276 16421 16420 -3 16275 16276 16420 -3 16421 16573 16572 -3 16420 16421 16572 -3 16573 16728 16727 -3 16572 16573 16727 -3 16728 16886 16885 -3 16727 16728 16885 -3 16886 17049 17048 -3 16885 16886 17048 -3 17049 17213 17212 -3 17048 17049 17212 -3 17213 4732 4733 -3 17212 17213 4733 -3 4732 2304 2173 -3 4733 4732 2173 -3 2304 3883 3884 -3 2173 2304 3884 -3 3883 5077 4807 -3 3884 3883 4807 -3 5077 4931 1168 -3 4807 5077 1168 -3 1179 3464 1168 -3 4931 1179 1168 -3 4802 4668 3464 -3 1179 4802 3464 -3 4802 6274 6779 -3 4668 4802 6779 -3 6274 676 16783 -3 6779 6274 16783 -3 676 14509 14745 -3 16783 676 14745 -3 14509 14844 14843 -3 14745 14509 14843 -3 14844 16328 16326 -3 14843 14844 16326 -3 16328 54 55 -3 16326 16328 55 -3 54 2798 2532 -3 55 54 2532 -3 2021 4920 2532 -3 2798 2021 2532 -3 5145 5146 18382 -3 2103 2631 2766 -3 17157 17150 15411 -3 21200 19910 34384 -3 16071 17156 5544 -3 51 358 16214 -3 2308 17184 14629 -3 16102 16101 2849 -3 15766 15767 15905 -3 5964 5832 5833 -3 25851 25850 2263 -3 16513 14609 15968 -3 16360 1303 14624 -3 15052 16360 14624 -3 16977 16976 16812 -3 16813 16977 16812 -3 17143 17142 16976 -3 16977 17143 16976 -3 14715 14625 15052 -3 14625 16360 15052 -3 4689 4825 4824 -3 10454 14830 14832 -3 15020 13087 12993 -3 15550 15231 17120 -3 35382 35547 35921 -3 5290 5291 587 -3 15623 1654 16169 -3 14285 35639 35703 -3 1654 705 14525 -3 16169 1654 14525 -3 705 972 14680 -3 14525 705 14680 -3 972 5205 587 -3 14680 972 587 -3 14583 19094 14675 -3 11154 6387 11026 -3 1376 4414 1610 -3 272 15936 3069 -3 16634 14625 14715 -3 5417 7437 1832 -3 6778 6879 17142 -3 17143 6778 17142 -3 6778 3125 2985 -3 6879 6778 2985 -3 3869 470 14633 -3 3204 17133 16114 -3 20126 20045 17507 -3 6016 16219 1413 -3 9891 16399 14761 -3 20011 20498 20499 -3 35514 35633 35830 -3 6094 8310 7425 -3 18047 11077 19423 -3 20446 17967 20447 -3 22409 22410 22507 -3 22508 22607 22606 -3 21681 19271 20573 -3 20721 20720 20639 -3 21795 15451 15450 -3 15450 15449 15321 -3 15582 15717 15716 -3 15581 15582 15716 -3 15717 15854 15853 -3 15716 15717 15853 -3 15854 15993 15992 -3 15853 15854 15992 -3 15993 16134 16133 -3 15992 15993 16133 -3 16134 16277 16276 -3 16133 16134 16276 -3 16277 16422 16421 -3 16276 16277 16421 -3 16422 16574 16573 -3 16421 16422 16573 -3 16574 16729 16728 -3 16573 16574 16728 -3 16729 16887 16886 -3 16728 16729 16886 -3 16887 17050 17049 -3 16886 16887 17049 -3 17050 17214 17213 -3 17049 17050 17213 -3 17214 4731 4732 -3 17213 17214 4732 -3 4731 2045 2304 -3 4732 4731 2304 -3 2045 3882 3883 -3 2304 2045 3883 -3 3882 4673 5077 -3 3883 3882 5077 -3 4673 1849 4931 -3 5077 4673 4931 -3 1849 2636 1179 -3 4931 1849 1179 -3 2636 4937 4802 -3 1179 2636 4802 -3 4937 3740 6274 -3 4802 4937 6274 -3 3740 16790 676 -3 6274 3740 676 -3 16790 14637 14509 -3 676 16790 14509 -3 14637 14845 14844 -3 14509 14637 14844 -3 14845 16331 16328 -3 14844 14845 16328 -3 16331 56 54 -3 16328 16331 54 -3 3737 2798 54 -3 56 3737 54 -3 15432 2021 2798 -3 3737 15432 2798 -3 13467 13275 16025 -3 1413 16219 16992 -3 15418 17157 15411 -3 14724 16399 15956 -3 17156 15900 16043 -3 17157 14470 14467 -3 15502 15891 16949 -3 16688 14336 15559 -3 23942 19765 21567 -3 1178 6002 499 -3 15933 16513 15968 -3 2943 19801 30154 -3 1303 3869 15296 -3 295 3349 199 -3 3125 4281 4149 -3 17133 5472 16114 -3 2985 3125 4149 -3 4281 4280 88 -3 4149 4281 1542 -3 14084 35797 11808 -3 31009 31070 31008 -3 14441 12293 12377 -3 16218 16824 16987 -3 5424 5289 5205 -3 16824 16534 15623 -3 16987 16824 15623 -3 16534 15232 1654 -3 15623 16534 1654 -3 15232 14524 705 -3 1654 15232 705 -3 14524 15492 972 -3 705 14524 972 -3 35934 35685 35357 -3 972 15492 5205 -3 2104 15173 15182 -3 20797 20796 20714 -3 1492 6797 18283 -3 15926 15927 16068 -3 15034 17133 3204 -3 14461 16634 14715 -3 16258 16259 5606 -3 6911 4259 52 -3 6392 2886 15753 -3 35577 35658 35875 -3 14588 14602 15772 -3 14159 13299 14257 -3 14602 14588 1297 -3 15789 8134 2683 -3 829 14602 1297 -3 14602 15789 15772 -3 9679 2021 9563 -3 16641 16798 16797 -3 16620 23269 22462 -3 20447 20448 20532 -3 16619 16620 22462 -3 6517 211 22462 -3 21495 22344 21687 -3 21780 21495 21687 -3 11770 23551 25961 -3 12992 13086 10447 -3 15583 15718 15717 -3 15582 15583 15717 -3 15718 15855 15854 -3 15717 15718 15854 -3 15855 15994 15993 -3 15854 15855 15993 -3 15994 16135 16134 -3 15993 15994 16134 -3 16135 16278 16277 -3 16134 16135 16277 -3 16278 16423 16422 -3 16277 16278 16422 -3 16423 16575 16574 -3 16422 16423 16574 -3 16575 16730 16729 -3 16574 16575 16729 -3 16730 16888 16887 -3 16729 16730 16887 -3 16888 17051 17050 -3 16887 16888 17050 -3 17051 17215 17214 -3 17050 17051 17214 -3 17215 4730 4731 -3 17214 17215 4731 -3 4730 1921 2045 -3 4731 4730 2045 -3 1921 4015 3882 -3 2045 1921 3882 -3 4015 5078 4673 -3 3882 4015 4673 -3 1169 1849 4673 -3 5078 1169 4673 -3 1169 5747 2636 -3 1849 1169 2636 -3 5747 1523 4937 -3 2636 5747 4937 -3 1523 6401 3740 -3 4937 1523 3740 -3 6401 1410 16790 -3 3740 6401 16790 -3 1410 14991 14637 -3 16790 1410 14637 -3 14853 14845 14637 -3 14991 14853 14637 -3 16340 16331 14845 -3 14853 16340 14845 -3 1189 56 16331 -3 16340 1189 16331 -3 6649 3737 56 -3 1189 6649 56 -3 15562 15432 3737 -3 6649 15562 3737 -3 7343 11377 7347 -3 15562 2016 15432 -3 28991 35946 28590 -3 28070 24203 14358 -3 17150 17157 14467 -3 14470 2413 16174 -3 9079 15455 15435 -3 9676 3595 15209 -3 468 939 4232 -3 13615 15031 8155 -3 15865 16005 14910 -3 20696 22341 22355 -3 14343 14344 14356 -3 16069 1422 246 -3 944 4135 2399 -3 829 1297 4001 -3 14551 15754 6264 -3 3873 15161 15622 -3 16365 13036 13131 -3 3607 9668 347 -3 16218 8870 16824 -3 4018 16667 8870 -3 16667 15626 16534 -3 16824 16667 16534 -3 15626 15051 15232 -3 16534 15626 15232 -3 15051 15632 14524 -3 15232 15051 14524 -3 15632 617 15492 -3 14524 15632 15492 -3 2104 16242 1652 -3 16242 2104 15182 -3 2215 5990 6121 -3 16821 16662 16663 -3 20715 20797 20714 -3 17009 3068 15828 -3 15772 15789 2683 -3 14983 15034 3204 -3 14673 14674 14779 -3 14780 14893 14892 -3 9793 1891 277 -3 14779 14780 14892 -3 20719 20720 20801 -3 14372 14373 14387 -3 1683 260 1567 -3 21111 21110 21024 -3 944 2399 582 -3 2799 944 582 -3 3664 6769 1387 -3 16404 16555 231 -3 23395 15630 23394 -3 15630 15864 15865 -3 23269 6517 22462 -3 1017 36 13473 -3 14628 16849 21569 -3 9644 22528 22527 -3 20776 20858 20857 -3 13473 13377 10447 -3 15584 15719 15718 -3 13177 15582 15451 -3 15719 15856 15855 -3 15718 15719 15855 -3 15856 15995 15994 -3 15855 15856 15994 -3 15995 16136 16135 -3 15994 15995 16135 -3 16136 16279 16278 -3 16135 16136 16278 -3 16279 16424 16423 -3 16278 16279 16423 -3 16424 16576 16575 -3 16423 16424 16575 -3 16576 16731 16730 -3 16575 16576 16730 -3 16731 16889 16888 -3 16730 16731 16888 -3 16889 17052 17051 -3 16888 16889 17051 -3 17216 17215 17051 -3 17052 17216 17051 -3 4729 4730 17215 -3 17216 4729 17215 -3 4729 1802 1921 -3 4730 4729 1921 -3 1802 4014 4015 -3 1921 1802 4015 -3 4014 5347 5078 -3 4015 4014 5078 -3 5347 2613 1169 -3 5078 5347 1169 -3 2613 5613 5747 -3 1169 2613 5747 -3 5613 1641 1523 -3 5747 5613 1523 -3 1641 6400 6401 -3 1523 1641 6401 -3 2932 1410 6401 -3 6400 2932 6401 -3 15137 14991 1410 -3 2932 15137 1410 -3 14855 14853 14991 -3 15137 14855 14991 -3 16357 16340 14853 -3 14855 16357 14853 -3 2014 1189 16340 -3 16357 2014 16340 -3 1764 6649 1189 -3 2014 1764 1189 -3 14734 15562 6649 -3 1764 14734 6649 -3 15888 2016 15562 -3 14734 15888 15562 -3 6640 19107 825 -3 11344 14901 1285 -3 14467 14470 16174 -3 16986 14724 15159 -3 22226 22322 22225 -3 2413 14836 16956 -3 5 4229 5826 -3 15478 15161 3873 -3 22344 22442 21594 -3 53 5 5826 -3 16798 16960 16959 -3 15517 15518 15652 -3 4135 829 4001 -3 16797 16798 16959 -3 15130 15129 15006 -3 387 2799 388 -3 4331 1683 4198 -3 5422 5286 5287 -3 15007 15130 15006 -3 9411 4018 8870 -3 4018 14694 15626 -3 16667 4018 15626 -3 14694 16314 15051 -3 15626 14694 15051 -3 16314 14608 15632 -3 15051 16314 15632 -3 14608 14659 617 -3 15632 14608 617 -3 14659 14803 16048 -3 617 14659 16048 -3 14803 5422 16048 -3 14828 10358 14827 -3 29010 46 23954 -3 5989 5858 3034 -3 8134 15034 14983 -3 2683 8134 14983 -3 5750 387 5751 -3 4135 4001 2399 -3 3590 17029 17193 -3 1720 1602 1620 -3 11494 33542 11560 -3 35921 35637 35905 -3 12438 27786 12528 -3 857 5750 858 -3 15245 14158 14063 -3 16661 16820 16819 -3 15890 14639 14740 -3 15311 4391 4649 -3 11187 228 5044 -3 12780 15630 15865 -3 23101 23102 23199 -3 13472 1017 13473 -3 1017 16620 16619 -3 16962 16961 16800 -3 22838 21780 22259 -3 70 13473 10447 -3 36 13014 13377 -3 15585 15720 15719 -3 15584 15718 15583 -3 15720 15857 15856 -3 15719 15720 15856 -3 15857 15996 15995 -3 15856 15857 15995 -3 15996 16137 16136 -3 15995 15996 16136 -3 16137 16280 16279 -3 16136 16137 16279 -3 16280 16425 16424 -3 16279 16280 16424 -3 16577 16576 16424 -3 16425 16577 16424 -3 16732 16731 16576 -3 16577 16732 16576 -3 16732 16890 16889 -3 16731 16732 16889 -3 16890 17053 17052 -3 16889 16890 17052 -3 17053 17217 17216 -3 17052 17053 17216 -3 17217 4728 4729 -3 17216 17217 4729 -3 4728 1686 1802 -3 4729 4728 1802 -3 4146 4014 1802 -3 1686 4146 1802 -3 5212 5347 4014 -3 4146 5212 4014 -3 5212 4914 2613 -3 5347 5212 2613 -3 4914 5478 5613 -3 2613 4914 5613 -3 5478 6388 1641 -3 5613 5478 1641 -3 6388 3871 6400 -3 1641 6388 6400 -3 2523 2932 6400 -3 3871 2523 6400 -3 2121 15137 2932 -3 2523 2121 2932 -3 14859 14855 15137 -3 2121 14859 15137 -3 16359 16357 14855 -3 14859 16359 14855 -3 1417 2014 16357 -3 16359 1417 16357 -3 1302 1764 2014 -3 1417 1302 2014 -3 14634 14734 1764 -3 1302 14634 1764 -3 14634 141 15888 -3 14734 14634 15888 -3 4328 4327 17245 -3 14761 14656 7108 -3 14724 15956 15159 -3 1212 6249 2489 -3 16174 2413 16956 -3 14836 5137 16707 -3 16941 15434 14816 -3 15509 15510 15644 -3 499 6002 498 -3 4229 939 468 -3 3075 2935 709 -3 14159 15118 15245 -3 5421 14803 15758 -3 17126 4117 298 -3 2684 857 1327 -3 5750 5751 858 -3 15504 15639 15638 -3 27786 12529 12528 -3 15639 15776 15775 -3 15638 15639 15775 -3 14755 14868 10097 -3 14755 10097 14866 -3 4680 15416 16314 -3 14694 4680 16314 -3 15416 1649 14608 -3 16314 15416 14608 -3 1649 16172 14659 -3 14608 1649 14659 -3 16172 15758 14803 -3 14659 16172 14803 -3 15479 5421 15758 -3 8268 11250 11377 -3 18731 22825 22826 -3 11344 7312 9802 -3 16334 21979 1059 -3 35421 35408 35605 -3 2986 2684 3126 -3 2799 582 388 -3 15776 15915 15914 -3 15775 15776 15914 -3 15915 16057 16056 -3 15914 15915 16056 -3 2684 1327 3126 -3 16057 16200 16199 -3 21687 22344 21594 -3 387 388 5751 -3 5428 16327 5293 -3 1639 19594 19778 -3 21049 22356 33807 -3 17608 20307 17607 -3 23200 23298 23297 -3 20940 18536 20941 -3 36 1017 16619 -3 23199 23200 23297 -3 22244 22838 22259 -3 21004 20921 211 -3 13473 36 13377 -3 22341 22244 22259 -3 15585 21005 13270 -3 16619 16618 13014 -3 15858 15857 15720 -3 27755 35699 27870 -3 15858 15997 15996 -3 15857 15858 15996 -3 15997 16138 16137 -3 15996 15997 16137 -3 16138 16281 16280 -3 16137 16138 16280 -3 16281 16426 16425 -3 16280 16281 16425 -3 16426 16578 16577 -3 16425 16426 16577 -3 16578 16733 16732 -3 16577 16578 16732 -3 16891 16890 16732 -3 16733 16891 16732 -3 17054 17053 16890 -3 16891 17054 16890 -3 17054 17218 17217 -3 17053 17054 17217 -3 17218 4601 4728 -3 17217 17218 4728 -3 1570 1686 4728 -3 4601 1570 4728 -3 4145 4146 1686 -3 1570 4145 1686 -3 4145 5481 5212 -3 4146 4145 5212 -3 5481 4671 4914 -3 5212 5481 4914 -3 4671 6150 5478 -3 4914 4671 5478 -3 113 6388 5478 -3 6150 113 5478 -3 6777 3871 6388 -3 113 6777 6388 -3 2659 2523 3871 -3 6777 2659 3871 -3 14638 2121 2523 -3 2659 14638 2523 -3 14860 14859 2121 -3 14638 14860 2121 -3 16364 16359 14859 -3 14860 16364 14859 -3 1301 1417 16359 -3 16364 1301 16359 -3 15486 1302 1417 -3 1301 15486 1417 -3 15486 1776 14634 -3 1302 15486 14634 -3 1776 5087 141 -3 14634 1776 141 -3 10140 11390 6147 -3 5087 3482 141 -3 7966 7849 1158 -3 14285 35703 11236 -3 16956 14836 16707 -3 12394 1065 6139 -3 2135 14550 2007 -3 14622 15138 14895 -3 22415 22513 22512 -3 15731 1388 11257 -3 3662 2612 15933 -3 2935 1064 709 -3 14629 8154 13800 -3 11408 13295 10586 -3 2986 3126 2620 -3 74 2986 2620 -3 16056 16057 16199 -3 16346 16345 16199 -3 16200 16346 16199 -3 16499 16498 16345 -3 4364 7681 4245 -3 5284 5283 5149 -3 35567 35587 35687 -3 4680 974 15416 -3 12132 35784 35886 -3 812 6253 222 -3 14607 15168 16172 -3 1649 14607 16172 -3 15168 5086 15758 -3 16172 15168 15758 -3 5086 15349 15479 -3 15758 5086 15479 -3 7801 8780 7917 -3 12646 1968 1832 -3 791 14536 15678 -3 27060 28375 28374 -3 74 2620 17135 -3 857 858 1327 -3 16346 16499 16345 -3 16655 16654 16498 -3 16499 16655 16498 -3 17136 17135 16969 -3 16814 16813 16654 -3 10148 2385 9335 -3 16970 17136 16969 -3 29769 29768 29635 -3 30159 2943 30154 -3 29636 29769 29635 -3 30643 30638 19801 -3 21301 22629 22431 -3 14252 25394 25389 -3 23395 23394 23297 -3 23004 23102 23003 -3 6517 21004 211 -3 12779 1058 20921 -3 21780 21687 22259 -3 22244 22341 12545 -3 36 16619 13014 -3 16619 22462 13894 -3 31018 11424 31080 -3 35793 1615 35578 -3 33054 33159 33053 -3 33264 33263 33158 -3 16139 16138 15997 -3 15998 16139 15997 -3 16282 16281 16138 -3 16139 16282 16138 -3 16282 16427 16426 -3 16281 16282 16426 -3 16579 16578 16426 -3 16427 16579 16426 -3 16734 16733 16578 -3 16579 16734 16578 -3 16734 16892 16891 -3 16733 16734 16891 -3 17055 17054 16891 -3 16892 17055 16891 -3 17219 17218 17054 -3 17055 17219 17054 -3 17219 4594 4601 -3 17218 17219 4601 -3 4594 2436 1570 -3 4601 4594 1570 -3 2436 4277 4145 -3 1570 2436 4145 -3 5617 5481 4145 -3 4277 5617 4145 -3 5617 4805 4671 -3 5481 5617 4671 -3 1067 6150 4671 -3 4805 1067 4671 -3 2359 113 6150 -3 1067 2359 6150 -3 6399 6777 113 -3 2359 6399 113 -3 6399 2658 2659 -3 6777 6399 2659 -3 2658 1562 14638 -3 2659 2658 14638 -3 1562 14865 14860 -3 14638 1562 14860 -3 14865 16381 16364 -3 14860 14865 16364 -3 16381 1298 1301 -3 16364 16381 1301 -3 1298 15496 15486 -3 1301 1298 15486 -3 15496 5271 1776 -3 15486 15496 1776 -3 5084 5087 1776 -3 5271 5084 1776 -3 10991 3482 5087 -3 5084 10991 5087 -3 35422 35631 35593 -3 15893 5687 17951 -3 5137 17010 17009 -3 11096 2345 9340 -3 14476 14590 15959 -3 2621 123 3663 -3 16472 16473 16787 -3 4546 1874 16072 -3 4414 41 3536 -3 14650 14754 14649 -3 33923 34194 22521 -3 16028 14611 5432 -3 19092 19194 19091 -3 13384 16807 16970 -3 16655 16814 16654 -3 16978 16977 16813 -3 16814 16978 16813 -3 17144 17143 16977 -3 175 176 14067 -3 812 222 706 -3 35640 10488 35617 -3 5690 3220 14607 -3 14596 11643 15290 -3 14754 7692 14649 -3 3220 15911 15168 -3 14607 3220 15168 -3 15911 15264 5086 -3 15168 15911 5086 -3 15264 15612 15349 -3 5086 15264 15349 -3 35669 35744 35613 -3 18717 15927 1386 -3 4117 3536 3664 -3 121 98 21285 -3 5295 5276 5294 -3 17136 74 17135 -3 16978 17144 16977 -3 17144 165 6778 -3 17143 17144 6778 -3 165 2847 3125 -3 5456 15687 5321 -3 18964 19065 19534 -3 29898 29897 29768 -3 33607 33734 33606 -3 2943 30643 19801 -3 20718 20719 20800 -3 18155 18154 18063 -3 14811 16857 15490 -3 23102 23200 23199 -3 22508 22509 22607 -3 21004 12779 20921 -3 12779 20309 20288 -3 13007 22244 12545 -3 21212 1871 9630 -3 16618 16619 13894 -3 211 1878 13894 -3 23296 23295 23197 -3 23001 23002 23099 -3 33159 33264 33158 -3 11424 31018 11475 -3 15999 16140 16139 -3 15998 15999 16139 -3 16283 16282 16139 -3 16140 16283 16139 -3 16428 16427 16282 -3 16283 16428 16282 -3 16580 16579 16427 -3 16428 16580 16427 -3 16735 16734 16579 -3 16580 16735 16579 -3 16893 16892 16734 -3 16735 16893 16734 -3 17056 17055 16892 -3 16893 17056 16892 -3 17220 17219 17055 -3 17056 17220 17055 -3 4595 4594 17219 -3 17220 4595 17219 -3 2172 2436 4594 -3 4595 2172 4594 -3 5626 4277 2436 -3 2172 5626 2436 -3 5616 5617 4277 -3 5626 5616 4277 -3 5616 4538 4805 -3 5617 5616 4805 -3 2381 1067 4805 -3 4538 2381 4805 -3 2381 1156 2359 -3 1067 2381 2359 -3 4004 6399 2359 -3 1156 4004 2359 -3 2794 2658 6399 -3 4004 2794 6399 -3 2794 15627 1562 -3 2658 2794 1562 -3 15627 14874 14865 -3 1562 15627 14865 -3 14874 16402 16381 -3 14865 14874 16381 -3 16402 1181 1298 -3 16381 16402 1298 -3 1181 15520 15496 -3 1298 1181 15496 -3 15520 16845 5271 -3 15496 15520 5271 -3 16845 14599 5084 -3 5271 16845 5084 -3 14599 27 10991 -3 5084 14599 10991 -3 5458 2225 3587 -3 11887 13781 12225 -3 16707 5137 17009 -3 17010 76 3068 -3 12134 12217 15167 -3 15735 20412 1144 -3 14430 16248 15054 -3 14411 16361 16073 -3 15693 15695 16102 -3 20879 20878 20796 -3 35375 35608 35597 -3 16067 16210 16209 -3 13568 13667 13303 -3 11795 11799 12831 -3 6778 165 3125 -3 16701 3207 16547 -3 2847 4280 4281 -3 3125 2847 4281 -3 2748 9654 3962 -3 4281 88 1542 -3 7782 915 914 -3 14720 16991 15114 -3 12221 10574 13208 -3 16164 15344 16022 -3 16161 16458 17087 -3 14706 5624 15911 -3 3220 14706 15911 -3 5624 3494 15264 -3 15911 5624 15264 -3 3494 14595 15612 -3 15264 3494 15612 -3 4391 15310 5333 -3 7966 1158 1275 -3 14580 14581 14672 -3 2778 2777 2642 -3 25658 14389 14373 -3 24662 23491 20904 -3 15887 5279 14630 -3 14763 2709 14438 -3 2261 2129 1736 -3 14893 15013 15012 -3 9452 15703 15702 -3 14581 14673 14672 -3 27142 6536 19243 -3 12142 4418 11561 -3 20801 20883 20882 -3 22029 22125 22124 -3 21024 21023 20940 -3 28729 6874 28730 -3 22608 22707 22706 -3 27142 7400 6536 -3 1058 12779 20288 -3 22607 22608 22706 -3 17106 21212 9630 -3 21067 7064 20727 -3 22462 211 13894 -3 22927 15278 1871 -3 23100 23198 23197 -3 1058 20288 20280 -3 25724 23875 30777 -3 23099 23100 23197 -3 16141 16140 15999 -3 16000 16141 15999 -3 16141 16284 16283 -3 16140 16141 16283 -3 16429 16428 16283 -3 16284 16429 16283 -3 16581 16580 16428 -3 16429 16581 16428 -3 16581 16736 16735 -3 16580 16581 16735 -3 16736 16894 16893 -3 16735 16736 16893 -3 17057 17056 16893 -3 16894 17057 16893 -3 17221 17220 17056 -3 17057 17221 17056 -3 4596 4595 17220 -3 17221 4596 17220 -3 1920 2172 4595 -3 4596 1920 4595 -3 5490 5626 2172 -3 1920 5490 2172 -3 1154 5616 5626 -3 5490 1154 5626 -3 4405 4538 5616 -3 1154 4405 5616 -3 4405 2005 2381 -3 4538 4405 2381 -3 2005 2361 1156 -3 2381 2005 1156 -3 2361 6776 4004 -3 1156 2361 4004 -3 6776 2389 2794 -3 4004 6776 2794 -3 2389 14353 15627 -3 2794 2389 15627 -3 14353 14876 14874 -3 15627 14353 14874 -3 14876 16403 16402 -3 14874 14876 16402 -3 16403 471 1181 -3 16402 16403 1181 -3 471 15542 15520 -3 1181 471 15520 -3 15542 3214 16845 -3 15520 15542 16845 -3 3214 16113 14599 -3 16845 3214 14599 -3 16113 81 27 -3 14599 16113 27 -3 13138 13044 13045 -3 35461 35392 35505 -3 17009 17010 3068 -3 76 51 16473 -3 51 16214 3124 -3 3068 76 16473 -3 3661 3870 14900 -3 16473 51 3124 -3 15054 5868 5175 -3 10023 821 10140 -3 3068 16473 16472 -3 5868 14411 5175 -3 16168 16167 2253 -3 16237 16238 16104 -3 18786 18885 18884 -3 35366 14175 35370 -3 16235 13812 10093 -3 14673 14779 14778 -3 16621 1874 16942 -3 14892 14893 15012 -3 14700 15620 15394 -3 17793 19767 5223 -3 17839 18914 18487 -3 1186 15622 615 -3 8195 6989 9565 -3 16316 7416 9115 -3 35369 35441 35549 -3 4944 693 1974 -3 15893 16553 3494 -3 5624 15893 3494 -3 16553 15887 14595 -3 3494 16553 14595 -3 15887 15748 5279 -3 14595 15887 14630 -3 14501 14502 14580 -3 23206 23205 23107 -3 15012 15013 15135 -3 15276 12362 13847 -3 15095 14943 15221 -3 15013 19434 18526 -3 27525 27496 30638 -3 23108 23206 23107 -3 12962 4418 12142 -3 10237 14820 7005 -3 30352 28430 28310 -3 12803 12962 12142 -3 18635 21025 18634 -3 21934 22029 22028 -3 30643 27525 30638 -3 21026 21025 18635 -3 22707 22806 22805 -3 29498 29636 29497 -3 21067 20727 15196 -3 22706 22707 22805 -3 21212 22927 1871 -3 15195 21067 15196 -3 1058 60 20760 -3 23420 16299 15278 -3 9415 23788 15152 -3 20921 1058 20760 -3 16142 16141 16000 -3 16001 16142 16000 -3 16285 16284 16141 -3 16142 16285 16141 -3 16430 16429 16284 -3 16285 16430 16284 -3 16582 16581 16429 -3 16430 16582 16429 -3 16737 16736 16581 -3 16582 16737 16581 -3 16895 16894 16736 -3 16737 16895 16736 -3 17058 17057 16894 -3 16895 17058 16894 -3 17058 17222 17221 -3 17057 17058 17221 -3 4597 4596 17221 -3 17222 4597 17221 -3 2044 1920 4596 -3 4597 2044 4596 -3 5355 5490 1920 -3 2044 5355 1920 -3 3467 1154 5490 -3 5355 3467 5490 -3 4272 4405 1154 -3 3467 4272 1154 -3 2134 2005 4405 -3 4272 2134 4405 -3 2134 6668 2361 -3 2005 2134 2361 -3 6668 6398 6776 -3 2361 6668 6776 -3 6398 2524 2389 -3 6776 6398 2389 -3 2524 14587 14353 -3 2389 2524 14353 -3 14587 14902 14876 -3 14353 14587 14876 -3 14902 16466 16403 -3 14876 14902 16403 -3 16466 50 471 -3 16403 16466 471 -3 50 16053 15542 -3 471 50 15542 -3 16053 4943 3214 -3 15542 16053 3214 -3 4943 2176 16113 -3 3214 4943 16113 -3 2176 80 81 -3 16113 2176 81 -3 35516 35821 35694 -3 35886 35594 35735 -3 22316 22413 22315 -3 19386 2435 2434 -3 15293 15019 15414 -3 16362 16986 16514 -3 16214 5544 5480 -3 3124 16214 5480 -3 16073 16361 14707 -3 5544 16043 249 -3 14714 14786 14678 -3 6766 2122 3219 -3 2268 2135 6396 -3 14800 14469 6020 -3 16754 25608 25607 -3 13322 14163 16648 -3 19057 19159 19158 -3 2392 15799 15768 -3 12650 12560 11643 -3 14502 14581 14580 -3 16238 15896 140 -3 14887 14886 14773 -3 16533 11969 14056 -3 15753 2934 16549 -3 15921 16063 16062 -3 15920 15921 16062 -3 27525 6656 13056 -3 3855 16382 15356 -3 14647 16850 16553 -3 15893 14647 16553 -3 16850 15748 15887 -3 16553 16850 15887 -3 109 560 200 -3 15748 14532 5278 -3 14450 14451 14501 -3 914 1406 14538 -3 15130 15257 15256 -3 15007 15006 14886 -3 10649 9100 5470 -3 28312 28433 21444 -3 15129 15130 15256 -3 23010 23009 22910 -3 3460 15971 16945 -3 4418 12737 11561 -3 23108 23107 23009 -3 27638 27142 19243 -3 13858 13760 15155 -3 29570 13652 29571 -3 18933 28187 25343 -3 20941 21024 20940 -3 21199 21111 21200 -3 22806 22905 22904 -3 21110 21109 21023 -3 21122 21121 20288 -3 22905 23004 22904 -3 22927 23420 15278 -3 20309 21122 20288 -3 20921 20760 1878 -3 23031 13007 12545 -3 16143 16142 16001 -3 15861 25909 16000 -3 16286 16285 16142 -3 16143 16286 16142 -3 16431 16430 16285 -3 16286 16431 16285 -3 16583 16582 16430 -3 16431 16583 16430 -3 16738 16737 16582 -3 16583 16738 16582 -3 16896 16895 16737 -3 16738 16896 16737 -3 17059 17058 16895 -3 16896 17059 16895 -3 17223 17222 17058 -3 17059 17223 17058 -3 4598 4597 17222 -3 17223 4598 17222 -3 2303 2044 4597 -3 4598 2303 4597 -3 5219 5355 2044 -3 2303 5219 2044 -3 3028 3467 5355 -3 5219 3028 5355 -3 4140 4272 3467 -3 3028 4140 3467 -3 14490 2134 4272 -3 4140 14490 4272 -3 14490 5465 6668 -3 19218 830 831 -3 27617 27734 27616 -3 19295 2050 2179 -3 17456 17457 17544 -3 18190 18227 18002 -3 19324 19441 18148 -3 17727 17726 17631 -3 27496 27525 13056 -3 19726 19839 19838 -3 9002 10589 8895 -3 19889 20068 20147 -3 9182 16672 9181 -3 18680 18681 18778 -3 32010 32009 31908 -3 18239 18276 19253 -3 1577 18893 1576 -3 19614 19615 19725 -3 6522 6647 1647 -3 18292 18385 18291 -3 19732 19845 19731 -3 19286 19287 19393 -3 19858 18711 17991 -3 19592 4152 18403 -3 18146 17963 19122 -3 18331 18316 19151 -3 17914 19889 20066 -3 2655 18796 20232 -3 27734 27849 27848 -3 14594 16964 18310 -3 19501 19611 19610 -3 19391 19392 19500 -3 17920 17919 17823 -3 5986 19628 19932 -3 19833 19834 19947 -3 17825 17921 17824 -3 18983 18984 19084 -3 18758 18857 18856 -3 19952 19953 19065 -3 18958 19059 18957 -3 19222 19750 4873 -3 17432 17431 17353 -3 17353 17352 17284 -3 18388 18483 18482 -3 17709 17805 17708 -3 18757 18758 18856 -3 19187 19291 19290 -3 19498 19608 19607 -3 1308 1309 18563 -3 27379 27378 30553 -3 18677 18678 18775 -3 18796 19434 18649 -3 35807 35715 35825 -3 1809 1928 19092 -3 14894 18649 14893 -3 19500 19501 19610 -3 19611 19722 19721 -3 19610 19611 19721 -3 17647 17742 17741 -3 18839 18939 18288 -3 18265 18767 19090 -3 34135 34273 34134 -3 6656 21746 28989 -3 17709 17708 17613 -3 17805 17804 17708 -3 17614 17613 17519 -3 17614 17709 17613 -3 17520 17519 17431 -3 17520 17614 17519 -3 2959 3099 33469 -3 17432 17520 17431 -3 19305 18410 14594 -3 30219 35496 30220 -3 19278 19296 17560 -3 18584 17951 17891 -3 17951 17295 19023 -3 17560 18584 17891 -3 1575 123 6117 -3 35872 35688 35914 -3 1928 19195 19194 -3 5223 17765 17764 -3 18106 18105 18015 -3 15013 18526 15135 -3 19835 19949 19948 -3 19722 19835 19834 -3 19163 19267 19162 -3 17454 17542 17541 -3 17540 17634 17539 -3 19502 19503 19612 -3 18386 18387 18481 -3 13056 6656 28989 -3 28240 21841 26583 -3 29767 29120 27640 -3 17647 17648 17742 -3 19372 19371 19264 -3 18575 1325 18479 -3 27733 27732 27615 -3 18577 18674 18673 -3 18793 18892 18792 -3 4954 4955 5090 -3 15906 16045 15905 -3 18877 18878 18976 -3 18688 18786 18785 -3 18530 19714 18525 -3 29700 29568 14968 -3 18148 19550 18170 -3 19579 18587 18837 -3 35643 35502 35438 -3 18614 18587 15262 -3 6082 6083 6213 -3 19721 19722 19834 -3 17824 17823 17727 -3 19834 19835 19948 -3 18687 18688 18785 -3 19442 4067 19704 -3 35500 35514 35830 -3 34979 32683 18505 -3 30073 30608 683 -3 17550 17644 17643 -3 17643 17644 17738 -3 19154 18331 19151 -3 18619 2630 19829 -3 17826 17922 17825 -3 19195 19299 19194 -3 17429 17428 17350 -3 1692 18892 18893 -3 18091 18182 19170 -3 18126 19305 710 -3 17825 17824 17728 -3 19078 19180 19179 -3 17548 17549 17642 -3 19532 18236 19925 -3 18781 18782 18880 -3 30073 26685 26519 -3 18429 18837 21964 -3 35507 35452 35448 -3 14586 2082 2802 -3 1427 18565 1311 -3 19552 19442 19870 -3 18429 18913 15519 -3 19949 19326 19883 -3 19948 19949 19883 -3 19222 5009 19531 -3 19267 19266 19162 -3 18661 18759 18660 -3 33823 21455 28585 -3 27631 27630 27512 -3 19834 19948 19947 -3 32745 32857 32744 -3 19045 18945 2013 -3 19584 19592 18265 -3 18887 18886 18787 -3 3665 710 18265 -3 20394 17802 20478 -3 18690 18788 18689 -3 17891 17951 19023 -3 33090 33195 33089 -3 17557 19780 19624 -3 17985 19109 16190 -3 3310 18191 19120 -3 35940 35689 35538 -3 18195 18289 970 -3 1073 1074 18275 -3 29760 29889 29759 -3 18775 18874 18873 -3 31167 31168 31231 -3 35463 35541 35543 -3 19299 2054 2183 -3 35564 35361 35355 -3 19326 18989 17718 -3 18016 18106 18015 -3 19883 19326 17718 -3 19365 3311 19708 -3 18780 18879 18878 -3 19808 18269 18242 -3 19384 18372 18371 -3 17295 19109 19023 -3 19950 19951 18970 -3 19894 18321 18342 -3 18403 3665 18265 -3 18683 18781 18780 -3 17925 18018 17924 -3 18574 19443 19921 -3 1676 1559 1560 -3 18112 18111 18021 -3 17706 17705 17610 -3 17706 17802 17705 -3 17620 363 17619 -3 19109 17985 19023 -3 19225 19324 18182 -3 27631 27748 27630 -3 28232 18691 19792 -3 3097 3096 13120 -3 17752 16801 18496 -3 16801 17908 18058 -3 10859 8156 11216 -3 5456 5050 3312 -3 32943 32944 33049 -3 8306 10859 11216 -3 24713 24750 30490 -3 35539 11314 35799 -3 18989 17567 18088 -3 22326 13562 19683 -3 21312 5489 18300 -3 20410 18097 19241 -3 19368 19384 18371 -3 17735 17736 17831 -3 18150 18818 18493 -3 18766 17943 19862 -3 26697 26698 26809 -3 2811 29081 28946 -3 29785 29786 29914 -3 19942 16596 21287 -3 19484 19531 18381 -3 18679 18777 18776 -3 18626 4152 19592 -3 4686 4687 4822 -3 18973 19074 19073 -3 17611 17706 17610 -3 34153 34152 34016 -3 18582 18679 18678 -3 17358 17436 17435 -3 17357 17358 17435 -3 17436 17524 17523 -3 17435 17436 17523 -3 19052 2145 19051 -3 35393 35548 35575 -3 18893 1577 1693 -3 35423 12049 35708 -3 35395 35689 35940 -3 1795 1914 1794 -3 19255 19256 5542 -3 19612 19613 19723 -3 35610 35485 35444 -3 19537 19761 20901 -3 17524 17618 17617 -3 17523 17524 17617 -3 18904 17798 17723 -3 17832 17928 17927 -3 17517 17516 17428 -3 17517 17611 17516 -3 17429 17517 17428 -3 17611 17610 17516 -3 18013 18103 18012 -3 19330 19484 19468 -3 19076 19077 19178 -3 5894 5760 5761 -3 19125 3755 3887 -3 19083 19185 19184 -3 29915 30046 30045 -3 19210 20810 20023 -3 17618 17713 17712 -3 17617 17618 17712 -3 17713 17809 17808 -3 17712 17713 17808 -3 19732 2579 2714 -3 18435 2407 28549 -3 18717 18896 19210 -3 35371 35856 35906 -3 17894 18896 19112 -3 30635 35802 7082 -3 18972 18973 19073 -3 35770 35683 21647 -3 35642 35805 35391 -3 2448 2315 2449 -3 17809 17905 17904 -3 32843 32842 32730 -3 2013 2141 19045 -3 4266 2256 19095 -3 17831 17832 17927 -3 17723 17752 18496 -3 18582 1216 1332 -3 4593 4727 4592 -3 18788 18787 18689 -3 29106 29105 28970 -3 42 18090 1031 -3 10859 8306 7473 -3 29282 29145 35598 -3 17929 18022 18021 -3 2141 19047 2142 -3 35647 21574 35908 -3 17808 17809 17904 -3 19159 19263 19158 -3 35386 35377 35931 -3 17904 17905 17997 -3 23898 23841 29818 -3 18097 24150 28595 -3 1097 18298 979 -3 3845 3171 5455 -3 18332 18717 18513 -3 18513 19210 23331 -3 11223 7433 15910 -3 18102 18195 851 -3 4334 4468 1522 -3 35475 35454 35713 -3 18873 18972 1795 -3 4200 18724 19704 -3 32403 32402 32299 -3 28971 29106 28970 -3 3845 5455 19308 -3 28842 28975 28841 -3 3268 3129 3269 -3 24614 35870 24613 -3 28361 29634 26592 -3 1794 1793 1677 -3 18112 18022 739 -3 3924 4057 3923 -3 2840 2979 2978 -3 18887 1688 18986 -3 19550 19660 18170 -3 26940 35922 26498 -3 17928 17929 18021 -3 18581 5135 17868 -3 18368 18367 18274 -3 18275 18368 18274 -3 18463 18462 18367 -3 18368 18463 18367 -3 18726 18006 19779 -3 19932 19750 19330 -3 19101 19095 18694 -3 254 17620 17526 -3 20051 18484 18513 -3 19437 16356 16211 -3 711 17905 593 -3 7213 7212 7105 -3 18673 18674 1560 -3 269 379 378 -3 19831 19832 19945 -3 18463 18559 18558 -3 18462 18463 18558 -3 19025 17655 18074 -3 18310 18227 18190 -3 19945 19946 18264 -3 2411 2278 2412 -3 30826 18280 17893 -3 15720 26197 15858 -3 15767 15906 15905 -3 18981 18982 19082 -3 3665 18126 710 -3 18496 18058 17987 -3 19618 19619 19729 -3 18321 19170 18342 -3 18559 18656 18655 -3 19843 19842 19729 -3 18558 18559 18655 -3 18656 18754 18753 -3 18655 18656 18753 -3 18754 18853 18852 -3 583 17930 18126 -3 18580 18677 18676 -3 19274 17998 18139 -3 19214 19274 18139 -3 34845 6974 115 -3 1805 1806 1925 -3 5278 14532 18373 -3 18761 1544 1661 -3 4457 4323 4324 -3 19830 19831 19944 -3 18753 18754 18852 -3 18853 18952 18951 -3 2685 2550 2551 -3 18137 16385 18034 -3 18846 18945 18944 -3 18845 18846 18944 -3 19533 19886 18219 -3 18725 18724 18329 -3 23072 6844 11573 -3 18711 18079 17471 -3 27383 26475 26474 -3 29117 29116 28981 -3 35546 35744 35669 -3 19845 19959 19844 -3 18852 18853 18951 -3 18952 19053 19052 -3 18951 18952 19052 -3 19052 19053 2145 -3 27410 29546 30824 -3 25765 17312 19476 -3 19188 19292 19291 -3 30446 30580 30445 -3 18144 19437 23332 -3 35452 35567 35448 -3 16356 16210 16211 -3 12191 28225 25191 -3 5135 5134 4999 -3 31298 31297 31232 -3 17549 17550 17643 -3 18053 16508 18143 -3 17815 20778 19536 -3 19073 19175 2040 -3 19218 17722 950 -3 18330 19424 19428 -3 25669 15314 13859 -3 18944 18945 19045 -3 3463 558 3044 -3 35677 35472 35398 -3 19181 19285 19284 -3 2152 2284 19267 -3 17963 19439 19940 -3 19480 33927 34470 -3 1090 1089 18289 -3 19053 19155 2145 -3 19941 19781 19770 -3 17960 18629 6255 -3 1172 18615 18908 -3 17383 391 13575 -3 32836 32944 32943 -3 18564 1309 18468 -3 18886 18985 18984 -3 24006 16463 22945 -3 35806 35918 35468 -3 20953 20954 21036 -3 23044 24007 24006 -3 17465 17553 17464 -3 23828 25536 25018 -3 18583 18239 18231 -3 18750 18849 18848 -3 18979 18980 19080 -3 18901 17814 22441 -3 24210 24211 29399 -3 18955 18956 19056 -3 1661 1778 18860 -3 17645 17740 17739 -3 17730 17826 17729 -3 27410 27665 29546 -3 19296 18373 14532 -3 27298 27383 26474 -3 19867 19551 19772 -3 21277 33702 27382 -3 28477 28478 19036 -3 5762 5894 5761 -3 18316 18276 18710 -3 35504 35430 29008 -3 2979 19830 19944 -3 18760 18759 18661 -3 18760 18859 18759 -3 27648 26477 26476 -3 5762 19311 5763 -3 19534 18330 19428 -3 19424 19890 19891 -3 19005 18421 18518 -3 20755 23676 25716 -3 19005 16663 18421 -3 16821 16663 19005 -3 18919 19602 19276 -3 17620 364 363 -3 18581 18583 18231 -3 1331 18678 18677 -3 1193 1194 18468 -3 26476 26477 27315 -3 4593 16385 4727 -3 6263 6267 8634 -3 33332 33331 33226 -3 31646 31557 26612 -3 4194 26089 23238 -3 14733 555 556 -3 23903 28985 23902 -3 2670 28864 3052 -3 4420 4421 4554 -3 26427 27839 26576 -3 27755 27870 27409 -3 3463 3044 1378 -3 19388 19497 19496 -3 18973 18974 19074 -3 18388 18389 18483 -3 19947 19819 17651 -3 4687 4823 4822 -3 4689 4555 4690 -3 19319 18391 14591 -3 3486 17625 3487 -3 19542 19005 19317 -3 20813 19317 18518 -3 2435 19386 19387 -3 19218 831 17722 -3 20644 22834 35561 -3 16211 18332 18484 -3 18227 166 19405 -3 17456 17544 17543 -3 31947 32044 31946 -3 5762 5763 5895 -3 18456 4154 4286 -3 4287 4420 4286 -3 27261 26411 26406 -3 18174 19875 18595 -3 18174 17442 19875 -3 18595 18505 32683 -3 17442 18285 19888 -3 18285 19809 19888 -3 21394 21669 21567 -3 17426 17514 17425 -3 19885 19532 19925 -3 18201 18295 18294 -3 18563 1309 18564 -3 19444 19443 18168 -3 18211 18456 4286 -3 4021 4022 4154 -3 28436 28558 28435 -3 831 832 17766 -3 18036 19542 19317 -3 29282 35598 29556 -3 17791 19542 18036 -3 17799 17791 18036 -3 5818 18495 5949 -3 35772 35829 35672 -3 18627 18530 18525 -3 17736 17737 17832 -3 620 17929 505 -3 16821 17791 16984 -3 29552 29686 30209 -3 18114 19931 19851 -3 19481 19372 2416 -3 28246 28988 7884 -3 17442 19888 19875 -3 17897 19696 18833 -3 17712 17808 17807 -3 19944 18264 3119 -3 17522 17523 17616 -3 17617 17712 17711 -3 8310 5962 9864 -3 17616 17617 17711 -3 18914 18127 18487 -3 19534 19428 19416 -3 18001 19539 3539 -3 17741 394 393 -3 18206 5269 5135 -3 32094 32093 31993 -3 2273 688 9772 -3 29680 30498 30612 -3 19778 17799 18630 -3 378 7435 268 -3 19594 17791 17799 -3 19778 19594 17799 -3 18880 18881 18979 -3 3259 3119 18264 -3 35743 35707 35527 -3 11345 18181 18630 -3 23416 29131 28363 -3 14586 2802 15621 -3 17435 17523 17522 -3 19586 18914 17839 -3 3532 18833 18458 -3 18264 17651 18766 -3 3532 17897 18833 -3 17897 19001 18045 -3 17357 17435 17434 -3 17356 17357 17434 -3 18858 18957 18956 -3 18795 19586 17839 -3 18001 18726 17655 -3 17632 17631 17537 -3 3329 17288 17287 -3 19891 18818 18150 -3 17434 17435 17522 -3 17523 17617 17616 -3 5762 5895 5894 -3 19684 570 4666 -3 29411 21065 27637 -3 27493 27261 26406 -3 17394 19653 180 -3 18273 18274 18367 -3 5892 5759 5760 -3 31689 31789 31688 -3 19539 17655 19025 -3 29889 30020 29888 -3 17648 7114 7221 -3 19081 19183 19182 -3 17466 17465 17387 -3 16333 16189 21979 -3 21009 27981 20926 -3 30834 30833 30699 -3 35515 35763 35891 -3 18457 3532 18458 -3 35809 35635 35797 -3 19374 19483 2416 -3 35787 35680 35551 -3 19395 19396 19504 -3 19294 19401 19293 -3 35745 35525 35552 -3 17753 19742 17934 -3 31511 31510 31438 -3 28558 28687 28686 -3 19618 19729 19728 -3 18457 18458 19809 -3 18285 18457 19809 -3 31066 31067 31128 -3 35463 35543 35567 -3 18845 18746 21214 -3 35619 35427 6862 -3 1559 1443 18673 -3 6529 21840 29079 -3 1560 18674 18772 -3 19922 17866 18669 -3 18859 18858 18759 -3 35522 25265 35900 -3 17734 17733 17638 -3 1217 1333 1332 -3 18482 18483 18578 -3 96 6640 825 -3 12052 12134 15167 -3 17658 3660 19880 -3 18883 18884 18982 -3 19042 2009 18940 -3 18687 18785 18784 -3 18660 18758 18757 -3 17654 17753 17934 -3 17729 17825 17728 -3 18329 1522 19586 -3 17921 17920 17824 -3 18977 19078 19077 -3 19862 18490 17654 -3 18105 18104 18014 -3 32900 32899 32787 -3 19696 17897 18045 -3 35747 35844 35639 -3 19492 19382 17757 -3 35861 35590 35574 -3 17394 19528 19382 -3 19492 17394 19382 -3 23839 170 23897 -3 28813 28814 30474 -3 19225 19333 19324 -3 17394 180 19528 -3 18451 19628 5986 -3 17638 17733 17637 -3 17948 17867 19298 -3 17934 19742 19922 -3 18659 18660 18757 -3 18686 18687 18784 -3 18785 18884 18883 -3 18982 18983 19083 -3 18784 18785 18883 -3 18767 18310 18233 -3 19284 19285 19391 -3 19499 19500 19609 -3 18201 18202 18295 -3 31509 31596 31508 -3 19111 19870 18434 -3 19267 19163 2152 -3 2984 19861 19319 -3 19299 2183 19406 -3 19154 19151 17963 -3 18711 17471 17991 -3 19844 19958 19843 -3 19826 19492 18169 -3 18169 17757 20059 -3 19653 17394 19492 -3 19826 19653 19492 -3 3361 181 180 -3 132 2126 799 -3 18881 18882 18980 -3 18761 18860 18760 -3 19837 19951 19950 -3 17826 17827 17922 -3 1214 18580 18483 -3 17723 18496 18591 -3 19060 19059 18958 -3 19499 19609 19608 -3 18884 18983 18982 -3 18957 19058 18956 -3 1307 1191 1308 -3 19391 19500 19499 -3 18678 18776 18775 -3 30152 30151 30019 -3 29552 29551 19141 -3 1336 18686 1335 -3 18276 18316 19255 -3 19624 19585 17866 -3 17866 19941 18669 -3 19090 18233 19333 -3 20430 20091 27265 -3 18014 18013 17920 -3 18988 18169 21325 -3 28191 35600 35721 -3 17717 19826 18988 -3 19414 17717 18988 -3 17395 19653 19826 -3 17717 17395 19826 -3 7114 17554 17467 -3 17395 4133 19653 -3 17728 17727 17632 -3 18269 19442 18114 -3 17923 18016 18015 -3 19584 18265 19090 -3 35835 35938 35366 -3 710 14594 18767 -3 19819 19883 19651 -3 35695 35556 35577 -3 18818 18591 18098 -3 19086 19087 19188 -3 18983 19084 19083 -3 15330 16296 14743 -3 2780 2310 2778 -3 19189 19190 19293 -3 1441 1324 1325 -3 19390 19391 19499 -3 18216 18338 17941 -3 18389 1097 1098 -3 17468 19867 19064 -3 17468 19064 18917 -3 21492 18308 19412 -3 18335 21582 19016 -3 19020 19414 18992 -3 18335 19020 18992 -3 17960 17717 19414 -3 19020 17960 19414 -3 1214 18389 1098 -3 32681 28876 17535 -3 35878 35416 35767 -3 3193 13283 12724 -3 18106 18199 18105 -3 18199 18293 18198 -3 19643 17798 18904 -3 17798 17752 17723 -3 19184 19185 19288 -3 19182 19183 19286 -3 17551 17552 17645 -3 18860 18859 18760 -3 17943 18490 19862 -3 19219 19225 18315 -3 17451 17452 17539 -3 19189 19293 19292 -3 18942 18943 19043 -3 2644 2780 2778 -3 24333 14521 24249 -3 1206 1205 1090 -3 31998 31997 31896 -3 4323 4190 4191 -3 28548 28678 30332 -3 31439 31511 31438 -3 24913 24162 26601 -3 17932 4378 17530 -3 18039 17468 18917 -3 19867 19772 19064 -3 19752 18335 19435 -3 20237 19435 19016 -3 19276 19020 18335 -3 19752 19276 18335 -3 18629 17960 19020 -3 19276 18629 19020 -3 15748 5278 5279 -3 32856 32855 32743 -3 18857 18858 18956 -3 19585 18042 19781 -3 17824 17920 17823 -3 19398 19399 19507 -3 19781 17624 18627 -3 18054 18145 19305 -3 269 17630 380 -3 19222 19531 19484 -3 18126 18054 19305 -3 18018 18017 17924 -3 34003 34139 34002 -3 18527 19532 19885 -3 19183 19287 19286 -3 17921 18014 17920 -3 19390 19499 19498 -3 17829 17828 17732 -3 18012 18011 17918 -3 19608 19609 19719 -3 17548 17642 17641 -3 18680 18778 18777 -3 21363 21274 27381 -3 17823 17919 17822 -3 35538 11411 10603 -3 18467 17557 17753 -3 19330 19222 19484 -3 35779 30220 35516 -3 18129 19438 19419 -3 32402 32507 32401 -3 17886 20373 17979 -3 17359 17358 17290 -3 34017 34153 34016 -3 17359 17437 17436 -3 17358 17359 17436 -3 16643 18834 18338 -3 148 17439 149 -3 34277 34276 34138 -3 17452 17540 17539 -3 30924 30923 30869 -3 26915 28076 29821 -3 18039 18917 17659 -3 19775 18039 17659 -3 32685 17396 32570 -3 19775 17659 4378 -3 147 21670 21492 -3 17932 19775 4378 -3 35648 5560 35392 -3 18646 18744 18743 -3 19423 19752 19435 -3 18047 19423 22160 -3 18919 19752 19423 -3 11077 18919 19423 -3 35899 35836 35622 -3 35400 11867 35528 -3 19800 30555 30553 -3 34549 34548 34411 -3 17552 17551 17463 -3 18922 19229 19863 -3 28819 28952 28818 -3 33505 33504 33391 -3 17437 17525 17524 -3 17436 17437 17524 -3 17525 17619 17618 -3 17524 17525 17618 -3 35829 35931 35672 -3 18331 19257 19256 -3 17618 17619 17713 -3 17120 3070 15903 -3 16963 18329 18795 -3 18145 18146 18410 -3 18371 18372 19278 -3 19742 19624 17866 -3 19296 18584 17560 -3 18104 18103 18013 -3 18265 710 18767 -3 19719 19832 19831 -3 18192 18099 460 -3 18410 19122 16964 -3 18859 18958 18858 -3 19334 19333 19225 -3 19318 17854 18920 -3 19925 18236 18399 -3 19646 18904 19424 -3 19770 18627 19654 -3 4554 16170 18594 -3 19083 19084 19185 -3 18627 18525 19654 -3 18976 18977 19077 -3 5068 1756 18864 -3 17905 711 17997 -3 18329 19586 18795 -3 18143 16356 18144 -3 17631 17726 17630 -3 18990 19091 1806 -3 4999 17868 5135 -3 27758 684 28611 -3 18269 3933 19442 -3 18368 18275 1190 -3 18216 17941 19532 -3 23712 12419 12333 -3 18527 18216 19532 -3 18142 18961 5493 -3 1331 18580 1214 -3 18464 18463 18368 -3 5145 19606 5010 -3 18560 18559 18463 -3 18464 18560 18463 -3 18560 18657 18656 -3 18559 18560 18656 -3 18657 18755 18754 -3 18767 14594 18310 -3 18108 18201 18200 -3 17547 17546 17458 -3 27956 26915 29821 -3 19261 2412 2278 -3 19287 19394 19393 -3 18917 18094 17660 -3 4378 17659 19864 -3 17718 18088 18467 -3 505 621 620 -3 18742 18645 18743 -3 19779 18006 19818 -3 29553 27783 35733 -3 35732 35906 35776 -3 19336 11077 18402 -3 18220 19336 18402 -3 18113 18919 11077 -3 19336 18113 11077 -3 18079 3407 3539 -3 18113 19602 18919 -3 18079 3539 19539 -3 394 509 508 -3 35545 35424 35534 -3 19058 19057 18956 -3 19085 19086 19187 -3 18656 18657 18754 -3 18755 18854 18853 -3 18754 18755 18853 -3 18854 18953 18952 -3 18853 18854 18952 -3 28102 28219 28076 -3 18953 19054 19053 -3 19886 18315 18219 -3 17635 17634 17540 -3 19194 19092 1928 -3 18058 19533 18219 -3 18682 18683 18780 -3 17987 18058 18219 -3 7917 11502 14558 -3 18022 18112 18021 -3 19656 3860 3965 -3 19660 19885 19714 -3 20313 18430 3589 -3 28753 11405 7287 -3 4935 15753 2886 -3 29134 28753 28621 -3 18680 1332 18681 -3 14970 7184 7187 -3 18317 18223 33804 -3 2778 2643 2644 -3 26915 28102 28076 -3 28733 30771 28729 -3 18603 4153 19117 -3 19518 18603 19117 -3 17296 18336 4153 -3 18603 17296 4153 -3 18373 18381 5278 -3 30459 30458 30325 -3 19504 19505 19614 -3 19624 18130 19585 -3 17305 27141 28219 -3 33830 21279 21280 -3 3130 3269 3129 -3 18372 18373 19296 -3 18952 18953 19053 -3 19946 17651 18264 -3 19054 19156 19155 -3 19053 19054 19155 -3 22835 35859 35901 -3 2412 19369 33942 -3 28102 17305 28219 -3 1031 18090 17817 -3 17365 18357 1268 -3 19609 19720 19719 -3 19387 19388 19496 -3 19718 19831 19830 -3 19176 19177 19280 -3 2705 2570 19607 -3 19075 19177 19176 -3 19281 19388 19387 -3 19074 19075 19176 -3 19468 18373 18372 -3 19177 19281 19280 -3 19259 18369 19154 -3 17651 17943 18766 -3 19258 19935 17867 -3 18145 19259 18146 -3 19117 19274 18223 -3 13311 33804 18223 -3 823 3062 19602 -3 19117 4153 17998 -3 19141 2136 27141 -3 27296 27285 26470 -3 18430 20314 19254 -3 19254 19641 19645 -3 19041 18220 19254 -3 19645 19041 19254 -3 18209 19336 18220 -3 19041 18209 18220 -3 29009 18435 28549 -3 3669 3670 3801 -3 28307 27410 30824 -3 20024 19437 18484 -3 35845 26586 27027 -3 18451 4468 4469 -3 19424 18904 19890 -3 17833 17834 17929 -3 17926 18019 17925 -3 18490 18467 17753 -3 4154 4287 4286 -3 18130 18042 19585 -3 17717 6255 17395 -3 17538 17632 17537 -3 17633 17632 17538 -3 18745 18647 18746 -3 17866 19585 19941 -3 18970 18964 2266 -3 16984 17791 19594 -3 18110 18203 18109 -3 33173 33278 33172 -3 21037 18743 18645 -3 684 18617 28985 -3 18799 19702 7068 -3 18745 18844 18843 -3 33266 33265 33160 -3 24622 26718 25770 -3 35738 35663 35549 -3 20052 21141 27146 -3 31274 19970 31209 -3 22763 22764 22863 -3 6898 11454 19034 -3 31736 31735 31640 -3 18712 21944 2409 -3 6151 6856 22326 -3 30165 30298 30297 -3 30313 30312 30179 -3 20926 20927 21009 -3 21658 26738 26717 -3 29630 19494 17305 -3 27054 28360 28359 -3 17438 148 17526 -3 28575 28704 28574 -3 19406 2182 19299 -3 18247 19759 4683 -3 23778 24744 28884 -3 30580 30714 30579 -3 18020 18110 18019 -3 18203 18202 18109 -3 17733 17732 17637 -3 17951 1069 14647 -3 17305 19141 27141 -3 18088 19780 17557 -3 18330 19646 19424 -3 19285 19392 19391 -3 19503 19504 19613 -3 19614 19725 19724 -3 19107 6640 18998 -3 35755 35382 35792 -3 19774 19111 18626 -3 29551 27177 2136 -3 35896 35510 35544 -3 18662 18661 18564 -3 19077 19078 19179 -3 17829 17925 17828 -3 3188 1031 17817 -3 17638 17637 17543 -3 18054 19260 19259 -3 17544 17638 17543 -3 2979 2840 19830 -3 18269 18114 18242 -3 18991 19092 18990 -3 18316 19256 19255 -3 17827 17923 17922 -3 35625 35765 35805 -3 7641 7527 11811 -3 35816 35468 35575 -3 17616 17711 17710 -3 17807 17806 17710 -3 17522 17616 17615 -3 17615 17616 17710 -3 17612 17707 17611 -3 17521 17522 17615 -3 17803 17802 17706 -3 17707 17803 17706 -3 4603 19628 18451 -3 17312 25765 21290 -3 28624 28612 27285 -3 2316 2451 2450 -3 19642 19641 21593 -3 18681 18682 18779 -3 17366 19041 19645 -3 19757 17366 19645 -3 18081 18209 19041 -3 17366 18081 19041 -3 19141 29551 2136 -3 35590 35477 35409 -3 17369 35193 7213 -3 3178 35383 35375 -3 17464 17552 17463 -3 26679 26680 24295 -3 19780 18130 19624 -3 19151 18316 18710 -3 14594 18410 16964 -3 1442 1441 1325 -3 17434 17522 17521 -3 18576 18577 18673 -3 32835 32836 32943 -3 19959 2850 2989 -3 18202 18203 18296 -3 19860 19552 19111 -3 18943 19044 19043 -3 19256 19257 17948 -3 18744 18745 18843 -3 18844 18943 18942 -3 18842 18843 18941 -3 18843 18844 18942 -3 18744 18843 18842 -3 18743 18744 18842 -3 7222 17743 7221 -3 18843 18942 18941 -3 19043 19042 18941 -3 18942 19043 18941 -3 31051 31050 30989 -3 25425 29832 25040 -3 25288 26225 26699 -3 17893 2540 2406 -3 30188 30187 30055 -3 30825 17893 22424 -3 7192 27959 30807 -3 31554 31641 31553 -3 688 686 7410 -3 7409 6873 6780 -3 28678 19558 28810 -3 19559 21658 26717 -3 6856 13562 22326 -3 30726 30727 6151 -3 26828 27873 19791 -3 21239 21327 21241 -3 19595 15897 19898 -3 30351 17269 17667 -3 35605 35883 35741 -3 19508 19509 19618 -3 18369 19258 18331 -3 17934 19922 3792 -3 17546 17547 17640 -3 1335 18684 1334 -3 4152 16963 19920 -3 18961 5359 5493 -3 35630 35399 35456 -3 18525 19925 19654 -3 18785 18786 18884 -3 19088 19190 19087 -3 28742 28482 27177 -3 17925 17924 17828 -3 17286 3329 17287 -3 17356 17434 17433 -3 18574 19860 19774 -3 16963 18795 19920 -3 17732 17731 17636 -3 27780 30346 35533 -3 18434 18725 16963 -3 18776 18777 18875 -3 17728 17824 17727 -3 26685 24066 26519 -3 18580 1331 18677 -3 29551 28742 27177 -3 18950 19051 19050 -3 18654 18752 18751 -3 18556 18557 18653 -3 14818 8562 8577 -3 27849 27965 27964 -3 18557 18556 18460 -3 1339 18690 1338 -3 17729 17728 17633 -3 19953 19954 19119 -3 19646 19643 18904 -3 18366 18461 18365 -3 35671 35524 35641 -3 1524 460 18099 -3 18109 18202 18201 -3 19438 17868 19419 -3 17807 17903 17806 -3 5541 5540 19253 -3 18196 18290 18195 -3 18685 18686 18783 -3 19508 19618 19617 -3 19507 19508 19617 -3 18137 19419 16385 -3 27406 27142 27638 -3 17867 19300 19298 -3 19628 19750 19932 -3 19617 19728 19727 -3 18145 18054 19259 -3 19402 19401 19294 -3 18893 18892 18793 -3 1926 19194 2051 -3 28742 19131 29292 -3 18948 19049 19048 -3 7674 155 93 -3 361 250 6148 -3 18399 4324 4191 -3 19278 17560 18077 -3 19832 19946 19945 -3 18555 17366 19757 -3 19645 20397 19757 -3 19513 18081 17366 -3 18555 19513 17366 -3 2416 19266 19374 -3 2179 2180 2311 -3 22528 22627 22527 -3 28427 35887 35721 -3 35745 35552 35651 -3 17738 17739 17834 -3 18782 18881 18880 -3 19265 19372 19264 -3 25265 25408 25407 -3 2316 2450 2315 -3 19931 18151 19625 -3 17433 17434 17521 -3 19274 19117 17998 -3 19839 19953 19952 -3 17659 18917 17660 -3 18676 18677 18774 -3 381 17726 17822 -3 19064 18305 18094 -3 33161 33266 33160 -3 35363 19246 35415 -3 19403 19735 19209 -3 26415 29077 30804 -3 18772 18773 18871 -3 1756 5068 1755 -3 18978 18979 19079 -3 19192 19894 17624 -3 18675 18773 18772 -3 18042 19192 17624 -3 19921 19443 18515 -3 148 17438 17439 -3 18979 19080 19079 -3 18088 17567 19780 -3 3924 18669 4058 -3 19770 19654 4191 -3 17369 7213 7105 -3 18192 460 19823 -3 19280 19387 19386 -3 7000 7103 6999 -3 18574 19774 19443 -3 17727 17823 17726 -3 35906 35599 35776 -3 28482 28742 29292 -3 19735 18908 19209 -3 19160 19159 19057 -3 35577 35350 35658 -3 18005 19735 19403 -3 26426 30351 17667 -3 17659 17660 19864 -3 19288 19289 19395 -3 4378 19864 17999 -3 19619 19730 19729 -3 18105 18198 18104 -3 19935 19318 19300 -3 18016 18017 18106 -3 30876 30875 26349 -3 16068 18717 18332 -3 17634 17729 17633 -3 18565 18564 18468 -3 627 512 628 -3 19885 19925 18525 -3 33050 33155 33049 -3 19187 19188 19291 -3 18170 19660 19714 -3 17355 17356 17433 -3 18626 18434 4152 -3 19111 18434 18626 -3 18434 16963 4152 -3 19718 19830 2705 -3 18949 18950 19050 -3 13123 14331 14340 -3 18851 18950 18949 -3 13123 14340 5053 -3 18653 18654 18751 -3 18850 18851 18949 -3 18752 18851 18850 -3 18751 18752 18850 -3 19258 19257 18331 -3 18369 18331 19154 -3 18461 18557 18460 -3 19305 18145 18410 -3 18365 18272 18366 -3 18557 18654 18653 -3 19283 19390 19389 -3 18461 18460 18365 -3 19131 21289 46 -3 12353 27672 27786 -3 18726 19851 18006 -3 19957 17991 19956 -3 17903 17996 17995 -3 19259 19154 18146 -3 17711 17807 17710 -3 17902 17903 17995 -3 17288 17356 17355 -3 17903 17902 17806 -3 17720 21968 5691 -3 19287 19288 19394 -3 11435 33541 11493 -3 19088 19087 18986 -3 29292 19131 46 -3 22246 13082 29687 -3 28591 17388 28871 -3 35499 35646 35708 -3 12802 19639 19535 -3 394 508 393 -3 19049 19050 2143 -3 19750 19628 4738 -3 2806 17320 19035 -3 18015 18105 18014 -3 16551 19757 21319 -3 35727 35755 35792 -3 35756 35849 35911 -3 35931 35377 35672 -3 146 17848 17625 -3 19267 2284 19374 -3 17948 5678 5542 -3 35817 35588 35811 -3 17962 19438 18129 -3 5414 19296 14532 -3 19405 16643 18216 -3 17360 17438 17437 -3 17949 1522 4468 -3 17359 17360 17437 -3 19186 19187 19290 -3 29489 29488 29351 -3 19058 19059 19160 -3 16987 15623 3070 -3 18917 19064 18094 -3 4153 18336 19693 -3 35620 35370 14175 -3 19772 18363 18305 -3 17651 19819 17943 -3 17532 19269 18401 -3 19209 18908 18615 -3 19594 1639 17149 -3 29493 29631 29131 -3 35645 35357 35616 -3 4862 4727 4863 -3 23623 27018 24088 -3 18575 18576 1443 -3 18780 18781 18879 -3 19219 19334 19225 -3 18781 18880 18879 -3 18914 5986 18127 -3 35432 35458 35355 -3 31607 31702 31606 -3 2143 2142 19048 -3 19442 19704 19870 -3 34013 34149 34012 -3 18946 18947 19047 -3 18695 18074 19627 -3 17424 17512 17423 -3 17606 17702 20305 -3 17346 17424 17345 -3 17512 17606 17511 -3 35188 35317 35187 -3 17512 17511 17423 -3 17276 34652 17277 -3 17424 17423 17345 -3 18401 18005 19403 -3 18242 18114 19851 -3 18136 18319 19313 -3 17906 18663 18225 -3 19064 19772 18305 -3 18876 18975 18974 -3 19180 19181 19284 -3 19159 19160 19263 -3 28199 28316 28315 -3 18580 18579 18483 -3 19586 17949 18914 -3 22273 22369 29352 -3 17438 17526 17525 -3 17437 17438 17525 -3 17526 17620 17619 -3 17525 17526 17619 -3 18563 18562 1308 -3 18289 1089 970 -3 19954 18625 19119 -3 18883 18982 18981 -3 17924 18017 18016 -3 18006 19625 17959 -3 17552 17646 17645 -3 18233 18310 18190 -3 18107 18200 18199 -3 18278 19774 18433 -3 507 506 392 -3 17923 17924 18016 -3 18017 18107 18106 -3 14894 17914 18649 -3 19078 19079 19180 -3 19660 18527 19885 -3 19507 19617 19616 -3 19506 19507 19616 -3 18001 18242 18726 -3 11695 35615 11314 -3 32626 32740 32625 -3 1221 1337 1336 -3 35793 12392 1615 -3 17283 17352 17351 -3 27298 26474 26470 -3 19131 26592 21289 -3 17430 17429 17351 -3 17352 17430 17351 -3 17518 17517 17429 -3 17430 17518 17429 -3 17518 17612 17517 -3 19870 18725 18434 -3 17612 17611 17517 -3 17707 17706 17611 -3 19731 19730 19619 -3 19506 19616 19615 -3 19178 19282 19281 -3 18298 18297 18203 -3 4643 11028 4778 -3 19177 19178 19281 -3 17918 611 496 -3 35227 35866 35637 -3 2553 19483 2418 -3 19818 18006 17959 -3 17461 17462 17549 -3 26799 6921 6920 -3 5147 14630 5146 -3 17624 18530 18627 -3 19075 19076 19177 -3 3965 3039 4260 -3 32614 32728 32613 -3 19076 19178 19177 -3 18689 18787 18786 -3 18847 18946 18945 -3 19829 17860 19277 -3 35727 35792 35877 -3 14161 16649 16648 -3 23953 23954 21289 -3 35847 21473 35519 -3 6997 6996 35317 -3 18202 18296 18295 -3 17830 17829 17733 -3 17648 17743 17742 -3 14635 15798 15797 -3 17537 17631 17536 -3 18103 18196 18102 -3 18974 18975 19075 -3 17641 17736 17735 -3 17860 19829 2630 -3 19651 18467 18490 -3 11202 577 1145 -3 19696 18045 19551 -3 19022 18075 17843 -3 17658 17654 19230 -3 19961 19329 18631 -3 1455 1456 1571 -3 24455 29156 24454 -3 30082 30094 20175 -3 6780 6873 6898 -3 11454 19193 19034 -3 18802 18596 19824 -3 26411 28854 19140 -3 26726 26615 26727 -3 19939 18400 17937 -3 18001 3669 19808 -3 18573 18090 18804 -3 2569 2435 2570 -3 1543 18662 1427 -3 1455 1571 18788 -3 5455 19101 18694 -3 19007 19314 19530 -3 19183 19184 19287 -3 18400 19007 18535 -3 18535 19007 19530 -3 19314 1270 17861 -3 17937 18400 18535 -3 18322 18228 18416 -3 19530 19314 17861 -3 1270 18228 18322 -3 17472 18090 18573 -3 17861 1270 18322 -3 18228 17472 18416 -3 18596 19939 19824 -3 18416 17472 18573 -3 4021 4154 19204 -3 17844 17845 17857 -3 18319 17906 18225 -3 35728 35664 35478 -3 19084 19085 19186 -3 19691 18136 19690 -3 16964 19122 166 -3 26909 28218 29692 -3 17998 19693 19692 -3 4778 4777 4643 -3 19082 19184 19183 -3 343 21287 11403 -3 35764 35763 35644 -3 15798 14635 19513 -3 18872 18873 1795 -3 19498 19499 19608 -3 831 830 17997 -3 15321 24576 21795 -3 18561 18560 18464 -3 18956 19057 19056 -3 26683 20330 24651 -3 18619 18038 16194 -3 19721 19834 19833 -3 18203 18297 18296 -3 19087 19189 19188 -3 18493 18321 19894 -3 6912 7011 17467 -3 1560 18772 1677 -3 18296 18297 18389 -3 7743 1166 7627 -3 2416 19483 2551 -3 5068 18003 3044 -3 17541 17635 17540 -3 1377 3596 3463 -3 19752 18919 19276 -3 19276 19602 1411 -3 19364 1378 19420 -3 19443 19444 18515 -3 4420 4554 18594 -3 17941 18034 18236 -3 17536 17630 269 -3 19431 4683 19759 -3 18759 18858 18857 -3 35885 35872 35795 -3 18283 18497 1492 -3 17998 4153 19693 -3 19693 18336 19656 -3 19809 18458 18039 -3 18833 19867 17468 -3 21214 18747 18846 -3 18108 18109 18201 -3 7433 11223 7434 -3 18583 18581 19438 -3 35770 21647 35808 -3 18561 18658 18657 -3 18560 18561 18657 -3 18658 18756 18755 -3 18657 18658 18755 -3 18756 18855 18854 -3 18755 18756 18854 -3 18855 18954 18953 -3 18854 18855 18953 -3 18954 19055 19054 -3 18953 18954 19054 -3 19920 18795 583 -3 19055 19157 19156 -3 18846 18847 18945 -3 18295 18388 18387 -3 18619 19829 19538 -3 19538 2206 11439 -3 35580 35906 35732 -3 2584 2449 2450 -3 18377 18245 554 -3 18195 970 851 -3 26578 26579 26683 -3 18834 17962 18129 -3 18732 2886 15754 -3 19054 19055 19156 -3 19156 19157 2278 -3 17658 19230 3660 -3 710 19305 14594 -3 19257 19258 17867 -3 3660 3659 19880 -3 17860 15798 18555 -3 18458 18833 17468 -3 19696 19551 19867 -3 19473 19582 18075 -3 18498 19022 17843 -3 18911 19329 19961 -3 18910 18911 19961 -3 18966 18362 19067 -3 18362 19115 19067 -3 17922 18015 17921 -3 379 269 380 -3 18907 19943 19917 -3 19824 19939 17937 -3 17760 18907 18903 -3 17747 17760 18903 -3 17390 19301 18524 -3 18423 19777 17950 -3 19301 17390 19229 -3 18922 19301 19229 -3 17696 17760 17747 -3 19301 18423 18524 -3 18524 18423 17950 -3 1066 17696 17747 -3 19777 17696 1066 -3 17950 19777 1066 -3 13581 35945 7073 -3 26585 26802 27758 -3 26390 26253 25364 -3 19336 18209 6647 -3 35655 35721 35654 -3 18295 18296 18388 -3 19943 19306 17818 -3 17818 19306 19825 -3 18903 18907 19917 -3 19917 19943 17818 -3 19104 17857 18040 -3 18131 19104 18040 -3 29901 29902 30032 -3 35588 35589 35812 -3 18304 19691 19487 -3 18136 19313 19690 -3 18150 18493 19192 -3 19870 19704 18725 -3 19295 19402 19294 -3 29686 28361 30209 -3 17991 17471 19168 -3 18476 5056 5198 -3 19080 19081 19182 -3 17908 18515 19533 -3 1331 18582 18678 -3 19157 19261 2278 -3 18151 19921 17959 -3 5687 15893 14706 -3 17996 17997 830 -3 30420 27752 21573 -3 5986 19932 18127 -3 18748 18847 18846 -3 18499 19431 18620 -3 18985 18986 19086 -3 18499 18620 18363 -3 19772 18499 18363 -3 29076 22081 22176 -3 19431 19759 18620 -3 22081 29076 28941 -3 18529 18433 19584 -3 29489 29627 29488 -3 19767 19543 19147 -3 1333 18682 18681 -3 18982 19083 19082 -3 5893 5760 5894 -3 35884 35720 35372 -3 19543 19767 17793 -3 18891 18990 1690 -3 18990 18891 18892 -3 17765 18961 18911 -3 17764 17765 18911 -3 18961 18142 19329 -3 18911 18961 19329 -3 18142 19311 19012 -3 19329 18142 19012 -3 5892 5760 5893 -3 156 6255 18629 -3 18904 17723 19890 -3 19888 19809 19775 -3 18458 17468 18039 -3 17457 17545 17544 -3 34140 34278 34139 -3 26427 7192 27839 -3 19372 19481 19371 -3 18944 19045 19044 -3 33055 33054 32948 -3 18236 18025 18399 -3 1377 3463 1378 -3 19946 19947 17651 -3 18014 18104 18013 -3 19282 19283 19389 -3 17926 17925 17829 -3 17557 19624 19742 -3 18385 18384 18291 -3 19371 19480 19370 -3 18885 18886 18984 -3 19538 18038 18619 -3 4818 4683 4684 -3 19042 19043 19044 -3 20562 17993 18084 -3 17919 17918 17822 -3 18310 16964 18227 -3 18683 18684 18781 -3 977 15797 2630 -3 12825 18175 14684 -3 35824 35455 35358 -3 17730 17729 17634 -3 18197 18291 18196 -3 18291 18290 18196 -3 18291 18384 18290 -3 11648 6661 7414 -3 18384 18383 18290 -3 17830 17926 17829 -3 18795 17839 583 -3 29009 28549 28875 -3 6661 6896 22053 -3 19022 19473 18075 -3 18833 19696 19867 -3 28988 27644 28250 -3 19473 19648 19366 -3 19749 1650 19115 -3 19329 19012 18631 -3 19115 17864 18302 -3 18362 19749 19115 -3 21841 29631 26583 -3 16643 18338 18216 -3 19421 17958 18050 -3 19617 19618 19728 -3 28225 12191 24284 -3 18877 18976 18975 -3 17510 17509 17421 -3 19511 19621 19510 -3 17422 17421 17343 -3 17344 17422 17343 -3 18874 18973 18972 -3 17344 17343 17275 -3 19073 19074 19175 -3 17275 34386 34523 -3 18578 18579 18675 -3 35428 35733 35351 -3 1220 1336 1335 -3 30284 30285 30417 -3 32766 32878 32765 -3 16385 4863 4727 -3 2418 2284 2285 -3 18980 18981 19081 -3 2579 2580 2714 -3 18676 18774 18773 -3 28196 28195 28078 -3 21110 21199 21198 -3 19850 17983 18119 -3 17983 18131 18040 -3 29955 5463 30083 -3 26702 26703 26814 -3 7633 7518 7519 -3 30167 30300 30299 -3 28692 28824 28823 -3 21290 17671 17312 -3 1443 1442 18575 -3 19077 19179 19178 -3 1930 2054 1929 -3 35856 35425 35599 -3 18496 16801 18058 -3 18098 18091 18321 -3 19331 19330 19468 -3 477 17809 17713 -3 19953 19119 19065 -3 17839 18487 17930 -3 31170 31234 31233 -3 17471 18695 19168 -3 17841 18150 19192 -3 17952 6394 3188 -3 30774 6530 29144 -3 19268 19258 18369 -3 19269 18005 18401 -3 18319 18225 19313 -3 18470 19269 17532 -3 18570 18470 17532 -3 19763 18470 18570 -3 17445 19763 18570 -3 18604 19322 18714 -3 18827 19763 17445 -3 19581 19366 18604 -3 18714 18827 17445 -3 19583 19582 19581 -3 19322 18827 18714 -3 18075 19582 19934 -3 19366 19322 18604 -3 17843 18075 17748 -3 19582 19366 19581 -3 17906 17843 18663 -3 19582 19583 19934 -3 17843 17748 18663 -3 18075 19934 17748 -3 17764 18911 18910 -3 17763 17764 18910 -3 19648 18721 19322 -3 19366 19648 19322 -3 19875 19888 17932 -3 19809 18039 19775 -3 2140 19044 2141 -3 27261 28486 26411 -3 19389 19390 19498 -3 3860 18336 2256 -3 18383 18384 18478 -3 18384 18479 18478 -3 19724 19725 19837 -3 17385 13575 19520 -3 19162 19161 19059 -3 18784 18883 18882 -3 19371 19370 19263 -3 19719 19720 19832 -3 19838 19952 19951 -3 17850 18424 6023 -3 18338 18129 18137 -3 15389 18429 15519 -3 950 20722 20641 -3 1411 19602 3062 -3 19551 18499 19772 -3 2630 18619 15035 -3 19401 19400 19293 -3 19289 19396 19395 -3 17372 17450 17449 -3 19497 19498 19607 -3 17554 17553 17465 -3 17466 17554 17465 -3 18792 1458 1459 -3 17548 17547 17459 -3 18582 1332 18679 -3 18959 18958 18859 -3 17889 19858 19958 -3 1332 1333 18681 -3 18649 15013 14893 -3 577 2772 1145 -3 19430 18922 19863 -3 27665 26427 26576 -3 4555 19228 4554 -3 35712 35854 35602 -3 3258 3259 3397 -3 19582 19473 19366 -3 24094 16310 20175 -3 27843 27959 27778 -3 17951 18584 1069 -3 18031 18214 1650 -3 19663 19335 19664 -3 19067 18302 18586 -3 17958 17861 18415 -3 18405 17769 19887 -3 18029 19312 19848 -3 19385 19421 18048 -3 22678 22580 30028 -3 6789 7410 6653 -3 30065 22587 30197 -3 6875 18927 26427 -3 30209 26592 19131 -3 33169 33274 33168 -3 18835 19744 18692 -3 32293 32292 32191 -3 6898 19034 23243 -3 19810 18835 18692 -3 19810 18692 17535 -3 17527 19810 17535 -3 18730 19325 19666 -3 19381 17441 19744 -3 18835 19381 19744 -3 19665 19666 17441 -3 19665 18730 19666 -3 19381 19665 17441 -3 18675 18676 18773 -3 17474 19647 19325 -3 26474 27296 26470 -3 19620 19619 19509 -3 19010 17983 18040 -3 18237 17838 19743 -3 2276 12573 2275 -3 17983 19010 18119 -3 19691 19690 19487 -3 17862 17368 11574 -3 24169 27505 27504 -3 29928 29927 29798 -3 19081 19082 19183 -3 28738 29259 29000 -3 17742 17743 394 -3 17846 19779 19818 -3 17949 18451 5986 -3 30088 28242 19689 -3 19585 19781 19941 -3 17643 17738 17737 -3 19579 18429 15389 -3 17549 17548 17460 -3 18267 18136 19691 -3 19844 19843 19730 -3 17752 17846 16801 -3 19692 18267 19691 -3 19025 18074 18695 -3 19186 19290 19289 -3 17827 17828 17923 -3 18497 18498 17913 -3 19510 19620 19509 -3 3039 1492 18497 -3 19190 19189 19087 -3 18848 18947 18946 -3 18841 18940 18939 -3 14158 15373 15504 -3 14062 14061 15638 -3 18840 18841 18939 -3 18742 18841 18840 -3 18741 18742 18840 -3 30815 25241 30814 -3 4067 4200 19704 -3 453 29686 19494 -3 30734 28622 27257 -3 28984 26415 3751 -3 27614 27731 27730 -3 2406 2540 687 -3 2272 2403 19450 -3 17793 17764 17763 -3 17697 17793 17763 -3 18721 18864 18827 -3 19322 18721 18827 -3 35706 35841 35545 -3 19888 19775 17932 -3 33082 33187 33081 -3 3755 19125 18174 -3 17963 19151 19439 -3 19891 19890 18818 -3 27017 27134 27133 -3 17554 17648 17647 -3 34979 17530 5691 -3 24216 6654 25372 -3 24860 24988 1529 -3 18242 19851 18726 -3 27265 27298 26470 -3 4286 18716 18211 -3 17450 17538 17449 -3 19085 19187 19186 -3 19194 1926 19091 -3 19060 19162 19059 -3 28988 28250 7884 -3 21141 22445 28246 -3 18058 17908 19533 -3 28486 18617 684 -3 18332 16211 16068 -3 116 7036 115 -3 18316 18331 19256 -3 18321 18091 19170 -3 18834 18129 18338 -3 17735 17831 17734 -3 19932 19330 19331 -3 19729 19842 19841 -3 17823 17822 17726 -3 17485 17484 17396 -3 21736 21831 21830 -3 18609 17701 18041 -3 17485 17579 17484 -3 28824 28957 28956 -3 20021 17674 20101 -3 18684 18782 18781 -3 18233 18190 19441 -3 17641 17642 17736 -3 18034 4593 18025 -3 393 392 17740 -3 19395 19504 19503 -3 1530 1647 19513 -3 19394 19395 19503 -3 395 509 394 -3 19162 19266 19161 -3 13698 18928 18189 -3 33324 33325 33433 -3 17919 18012 17918 -3 19905 30362 30290 -3 570 18696 18600 -3 35921 35905 35892 -3 28436 28435 28315 -3 27959 13487 27778 -3 19605 19663 18672 -3 26617 26728 26727 -3 18322 18416 18277 -3 19335 19067 18586 -3 19070 19710 18029 -3 18415 18322 18277 -3 3801 3933 18269 -3 19848 19385 18048 -3 19123 18281 18035 -3 19598 18424 19116 -3 11545 11480 11481 -3 18035 17942 19203 -3 19500 19610 19609 -3 18481 18577 18576 -3 6279 11232 14374 -3 18299 1884 18288 -3 17528 18377 18318 -3 833 17766 832 -3 1926 1806 19091 -3 18338 18137 17941 -3 18701 18377 17528 -3 18149 18701 17528 -3 19859 18701 18149 -3 17721 19859 18149 -3 18050 19554 19604 -3 19604 19554 17721 -3 17474 18567 19647 -3 19471 18809 17863 -3 18774 18775 18873 -3 17922 17921 17825 -3 19632 18237 19743 -3 18119 19529 17838 -3 19743 29403 19632 -3 19850 18119 18237 -3 23902 30556 23844 -3 27875 27893 29354 -3 27056 27057 28370 -3 21890 28807 28675 -3 18304 18376 18139 -3 30941 30940 30886 -3 18591 17987 18098 -3 18591 18496 17987 -3 164 17536 269 -3 17388 17466 17387 -3 19958 19957 19843 -3 19731 19844 19730 -3 17913 17906 18319 -3 18146 19154 17963 -3 18368 1190 18464 -3 17722 831 17766 -3 17720 19929 19895 -3 30457 30456 30323 -3 34340 17850 6153 -3 17792 19605 18187 -3 19211 18523 18802 -3 6530 30774 28681 -3 19634 17673 19211 -3 18523 18596 18802 -3 18623 19118 19634 -3 17673 18523 19211 -3 19118 18623 19376 -3 18409 19118 19376 -3 18409 19376 18571 -3 19118 17673 19634 -3 19652 18817 18571 -3 18817 18409 18571 -3 17844 19652 17769 -3 17769 19652 18571 -3 19104 17844 17857 -3 17845 17844 17769 -3 4021 3887 3888 -3 17636 17731 17730 -3 19749 18031 1650 -3 18339 18340 18214 -3 19147 19543 18693 -3 19543 17793 17697 -3 18864 19762 19763 -3 18827 18864 19763 -3 17159 16996 2920 -3 28486 26802 26411 -3 19125 17442 18174 -3 18174 17858 5331 -3 18315 18182 18091 -3 19204 18285 17442 -3 19510 19509 19400 -3 19613 19614 19724 -3 18875 18876 18974 -3 3310 15489 2802 -3 18399 18025 4324 -3 4592 18025 4593 -3 19266 19265 19161 -3 18975 19076 19075 -3 35766 35933 35944 -3 18197 18196 18103 -3 1411 156 18629 -3 18959 19060 18958 -3 5812 5678 5813 -3 35513 35713 35665 -3 2133 15903 16169 -3 19406 2314 2182 -3 14647 15893 17951 -3 395 17743 7333 -3 19842 19956 19955 -3 19539 18001 17655 -3 18479 18480 18575 -3 19728 19729 19841 -3 19956 19168 19272 -3 19841 19842 19955 -3 17486 17485 17397 -3 32685 17397 17396 -3 17580 17579 17485 -3 17486 17580 17485 -3 17675 17674 17579 -3 17580 17675 17579 -3 18857 18956 18955 -3 17772 17771 17675 -3 19925 18399 19654 -3 28138 28255 12800 -3 3924 19922 18669 -3 17831 17927 17926 -3 17927 18020 18019 -3 18778 18877 18876 -3 18021 18020 17927 -3 21455 28715 28714 -3 19481 2551 2550 -3 21214 18746 21128 -3 19160 19264 19263 -3 15593 35736 22435 -3 18943 18944 19044 -3 31897 31998 31896 -3 17533 18766 18222 -3 35596 35517 35478 -3 686 7409 7410 -3 18187 19605 19470 -3 19232 26901 26852 -3 18416 18573 19445 -3 19335 18586 19664 -3 18325 19710 19148 -3 18277 18416 19445 -3 29760 29759 29626 -3 19312 19385 19848 -3 18455 17852 19123 -3 19065 18330 19534 -3 19666 19325 19556 -3 17942 19202 19203 -3 19666 19556 19805 -3 17441 19666 19805 -3 19647 19485 17892 -3 19325 17892 19556 -3 17863 18809 18549 -3 19325 19647 17892 -3 17863 18549 19485 -3 17392 18918 18095 -3 19647 17863 19485 -3 18809 18095 18549 -3 18809 17392 18095 -3 17392 18738 18999 -3 19744 17441 18924 -3 18918 17392 18999 -3 18140 18050 19604 -3 19554 19859 17721 -3 18567 19471 17863 -3 18048 18050 18140 -3 166 16643 19405 -3 19863 17392 18809 -3 18237 18119 17838 -3 27502 27620 27619 -3 18134 19850 18237 -3 19010 18176 19529 -3 12511 5463 29955 -3 27296 28624 27285 -3 31366 31433 31365 -3 29628 22566 29761 -3 18304 19487 19522 -3 30724 30725 19525 -3 19692 19691 18304 -3 19214 18139 18376 -3 18267 4260 18136 -3 18139 19692 18304 -3 18498 17843 17906 -3 4260 17913 18319 -3 19370 19369 19262 -3 17913 18498 17906 -3 17792 17756 19605 -3 30152 30285 30284 -3 26738 28618 28614 -3 18813 19335 19663 -3 2273 686 688 -3 688 7410 6789 -3 19568 27531 19132 -3 23855 35557 35681 -3 28072 28129 28751 -3 23521 16310 24094 -3 21653 7291 7292 -3 28244 19568 19132 -3 687 21653 7292 -3 24572 11483 23505 -3 19218 18085 17995 -3 5412 2920 17162 -3 5455 18694 19308 -3 27501 27502 27619 -3 27498 27499 27616 -3 27734 27733 27616 -3 12438 12352 12353 -3 33278 33387 33277 -3 17922 17923 18015 -3 28079 28196 28078 -3 18031 18339 18214 -3 19948 19883 19819 -3 18287 19543 17697 -3 18413 18425 18340 -3 19762 18437 18470 -3 18485 19147 18413 -3 19875 17932 18505 -3 19763 19762 18470 -3 18929 30479 29082 -3 28246 7884 27137 -3 19125 19204 17442 -3 35484 29494 28888 -3 19204 18456 18285 -3 18456 18457 18285 -3 18456 18211 18457 -3 18211 3532 18457 -3 17628 6992 18935 -3 18716 17897 3532 -3 18211 18716 3532 -3 6992 27145 18935 -3 18594 19001 17897 -3 18716 18594 17897 -3 29517 29655 29654 -3 14894 14781 18172 -3 17859 18705 22449 -3 25131 24038 25120 -3 18219 18315 18091 -3 27737 27736 27619 -3 17793 5223 17764 -3 18437 17365 18476 -3 19092 19091 18990 -3 1778 1661 1662 -3 19779 17846 19623 -3 18403 19920 3665 -3 5762 19012 19311 -3 17487 17486 17398 -3 32686 17398 32685 -3 17581 17580 17486 -3 17487 17581 17486 -3 17676 17675 17580 -3 17581 17676 17580 -3 17773 17772 17676 -3 17676 17772 17675 -3 17928 18021 17927 -3 18625 19643 19646 -3 19119 18625 19646 -3 19290 19397 19396 -3 21037 18646 18743 -3 19441 19550 18148 -3 19723 19724 19836 -3 26802 26585 28854 -3 18745 18746 18844 -3 18297 18298 1097 -3 18114 19552 19931 -3 18845 18944 18943 -3 6883 7070 3362 -3 18264 18766 17533 -3 27413 19740 26909 -3 27549 27643 29958 -3 19895 18187 18554 -3 28218 28738 29692 -3 18573 18804 18245 -3 19663 19664 18672 -3 19938 18325 18553 -3 19445 18573 18245 -3 27620 27737 27619 -3 19710 19312 18029 -3 18046 18023 19359 -3 27737 27852 27851 -3 19021 19598 18037 -3 18281 17942 18035 -3 19224 19331 19384 -3 19782 19021 18037 -3 17420 17508 17419 -3 24566 17315 24571 -3 17342 17420 17341 -3 20129 17508 17509 -3 26967 33974 17273 -3 17420 17419 17341 -3 18777 18876 18875 -3 17371 17370 34937 -3 26349 26390 26389 -3 17274 17342 17341 -3 18692 19744 18924 -3 35404 35381 35724 -3 17455 17543 17542 -3 17441 19805 18924 -3 27736 27737 27851 -3 18929 29082 29356 -3 18337 18048 18140 -3 1214 1215 1331 -3 19471 19863 18809 -3 19367 19848 18337 -3 17553 17554 17647 -3 19229 18738 17392 -3 18119 19010 19529 -3 19808 3669 3801 -3 18134 18237 19632 -3 19010 18040 17947 -3 5608 5609 19459 -3 7184 20091 20430 -3 19088 1805 1925 -3 34728 18128 17964 -3 17631 17630 17536 -3 19818 17959 17908 -3 19623 17846 17752 -3 17798 19623 17752 -3 18779 18878 18877 -3 19263 19370 19262 -3 18350 18351 18445 -3 18978 19079 19078 -3 17748 17844 19104 -3 18542 18639 18638 -3 19313 18225 17983 -3 18663 17748 19104 -3 18663 19104 18131 -3 18225 18663 18131 -3 19934 19652 17844 -3 17748 19934 17844 -3 19581 18604 19118 -3 24298 24297 23731 -3 19934 19583 19652 -3 18409 19581 19118 -3 27615 20840 27498 -3 19583 19581 18409 -3 30555 27379 30553 -3 17104 331 22943 -3 19887 19102 18551 -3 27852 27968 27967 -3 34679 34678 34550 -3 19872 18032 18431 -3 19837 19838 19951 -3 19439 17962 18834 -3 19376 19102 19887 -3 19394 19503 19502 -3 5147 5282 14630 -3 18571 19376 19887 -3 18339 18413 18340 -3 17514 17513 17425 -3 19543 18287 18693 -3 18693 17130 18425 -3 18437 18476 19269 -3 18247 18485 18339 -3 2099 18908 19735 -3 18470 18437 19269 -3 24273 24402 14969 -3 19269 18476 18005 -3 30489 30340 28467 -3 17313 19036 29121 -3 33375 33488 33374 -3 33375 33374 33265 -3 26675 26676 24218 -3 19193 30602 29940 -3 26825 20099 26939 -3 19034 19193 29940 -3 26346 27136 27085 -3 26571 26676 26675 -3 6789 6653 11975 -3 26570 26571 26675 -3 5762 5761 19012 -3 18198 18292 18197 -3 18788 18887 18787 -3 18986 18985 18886 -3 34421 34420 34282 -3 17426 17425 17347 -3 19552 19870 19111 -3 14163 14161 16648 -3 19388 19389 19497 -3 17398 32806 17399 -3 17488 17487 17399 -3 17400 17488 17399 -3 17582 17581 17487 -3 17488 17582 17487 -3 17677 17676 17581 -3 17582 17677 17581 -3 3848 9553 1174 -3 17677 17773 17676 -3 19396 19397 19505 -3 7627 7628 7743 -3 18480 18576 18575 -3 18681 18779 18778 -3 19441 18190 19550 -3 19552 19860 19931 -3 15206 16017 15877 -3 18761 18760 18662 -3 35371 35691 35856 -3 17632 17727 17631 -3 19862 17654 17658 -3 18844 18845 18943 -3 27730 27731 27845 -3 17934 3792 19230 -3 20091 27298 27265 -3 27401 29277 27956 -3 18703 17527 8687 -3 30069 30201 30068 -3 27851 27852 27967 -3 19605 18672 19470 -3 18800 19938 18899 -3 395 396 510 -3 27968 28085 28084 -3 19710 19070 19148 -3 19173 18046 19359 -3 27967 27968 28084 -3 17576 24229 30634 -3 18046 17852 18455 -3 19179 19180 19283 -3 34340 19116 17850 -3 17531 19599 17931 -3 17737 17833 17832 -3 17746 19068 19495 -3 19548 17931 19205 -3 19548 17531 17931 -3 19068 19548 19205 -3 17531 17749 19599 -3 17749 18028 19599 -3 17746 19495 19758 -3 19068 19205 19495 -3 19420 3044 18003 -3 17743 7222 7333 -3 35507 35448 35411 -3 26899 26898 26783 -3 18896 18717 1386 -3 20810 19210 21389 -3 28310 27959 7192 -3 35816 35806 35468 -3 18191 18184 19320 -3 29277 26915 27956 -3 12340 12341 12427 -3 29799 29798 29665 -3 19099 18997 18963 -3 6531 29290 30499 -3 19606 5145 18382 -3 19613 19724 19723 -3 18176 19010 17947 -3 17857 18217 17947 -3 7399 19232 26852 -3 19638 19942 343 -3 33397 33396 33287 -3 29761 29890 29760 -3 19929 17792 18187 -3 19929 18187 19895 -3 17756 18813 19663 -3 17756 19663 19605 -3 18813 18966 19335 -3 18966 19067 19335 -3 18341 250 17848 -3 19268 19278 18077 -3 18842 18941 18841 -3 6640 18341 17848 -3 18743 18842 18841 -3 18941 19042 18940 -3 18742 18743 18841 -3 18941 18940 18841 -3 19861 18138 18147 -3 19583 18817 19652 -3 35638 35859 22835 -3 18604 18714 17673 -3 18357 1755 1268 -3 19420 18003 18721 -3 18817 19583 18409 -3 19364 19420 19648 -3 28336 27406 27638 -3 19118 18604 17673 -3 28085 28202 28201 -3 4683 19431 4684 -3 18405 19887 18551 -3 2580 2579 2445 -3 18730 17474 19325 -3 19202 18405 18551 -3 17544 17545 17638 -3 18567 17863 19647 -3 18623 19872 19102 -3 29352 29489 29351 -3 28084 28085 28201 -3 19376 18623 19102 -3 18413 18693 18425 -3 19960 17559 19306 -3 19147 18693 18413 -3 18693 18287 18380 -3 19759 18247 18031 -3 18485 18413 18339 -3 830 19218 17995 -3 19759 18031 19749 -3 6873 11454 6898 -3 3259 18264 17533 -3 18661 18660 18563 -3 7337 514 7448 -3 19468 19484 18373 -3 28100 24431 26120 -3 17539 17633 17538 -3 19830 2840 2705 -3 18981 19082 19081 -3 19720 19833 19832 -3 17720 19895 33662 -3 18077 17854 19318 -3 31505 31504 31432 -3 2946 26426 29146 -3 29955 30083 28478 -3 31788 31894 31787 -3 12800 24752 12799 -3 21533 28555 21626 -3 19405 18216 18527 -3 18231 19252 18206 -3 18002 19405 18527 -3 17323 17401 17400 -3 17400 32919 17322 -3 17489 17488 17400 -3 17401 17489 17400 -3 17583 17582 17488 -3 17489 17583 17488 -3 17678 17677 17582 -3 17583 17678 17582 -3 17774 17773 17677 -3 17678 17774 17677 -3 19416 19428 19892 -3 16162 18173 18488 -3 1428 1543 1427 -3 17554 7114 17648 -3 19319 2887 2984 -3 20021 23817 17579 -3 17959 19921 18515 -3 17908 17959 18515 -3 18878 18977 18976 -3 19182 19286 19285 -3 18686 1336 18687 -3 18139 17998 19692 -3 18679 18680 18777 -3 18766 19862 18222 -3 21039 18647 18646 -3 27613 27614 27730 -3 28202 28319 28318 -3 19632 19523 18134 -3 2403 2272 3362 -3 19908 11551 28625 -3 19967 19968 19998 -3 17448 17536 164 -3 18187 19470 18554 -3 19872 18800 18032 -3 28201 28202 28318 -3 19284 19391 19390 -3 18325 19148 18553 -3 18023 18046 18455 -3 19283 19284 19390 -3 6797 5069 1378 -3 17852 18281 19123 -3 18103 18102 18012 -3 28319 28439 28438 -3 18149 17528 18722 -3 19291 19292 19398 -3 360 17724 17715 -3 18213 18149 18722 -3 28318 28319 28438 -3 17724 18894 18890 -3 28439 28561 28560 -3 164 163 7213 -3 19544 18037 17695 -3 35630 35456 35353 -3 18616 19758 18438 -3 18616 17746 19758 -3 1378 5069 1377 -3 1756 18357 19762 -3 28203 28320 28319 -3 28442 28564 28563 -3 18410 18146 19122 -3 19295 19294 19190 -3 27759 29077 26415 -3 30709 30708 30574 -3 17510 17604 17509 -3 19401 19510 19400 -3 1191 1307 1190 -3 33373 33486 33372 -3 19947 19948 19819 -3 18716 4286 4420 -3 17871 17872 20362 -3 2050 2051 2179 -3 18040 17857 17947 -3 19720 19721 19833 -3 19740 28218 26909 -3 17845 18311 18217 -3 27848 27849 27964 -3 27965 28082 28081 -3 28438 28439 28560 -3 16672 16831 9289 -3 18840 18839 20618 -3 17514 17608 17513 -3 7187 7184 20430 -3 16385 19419 4863 -3 2541 28984 3751 -3 19433 3397 3259 -3 18278 18433 18529 -3 10241 21031 30772 -3 17462 17550 17549 -3 18804 555 18245 -3 3312 5050 3445 -3 28561 28690 28689 -3 17419 17418 17340 -3 17648 7221 17743 -3 18947 18948 19048 -3 1571 18887 18788 -3 28560 28561 28689 -3 32642 32756 32755 -3 19473 19364 19648 -3 19648 19420 18721 -3 18714 17445 18523 -3 17673 18714 18523 -3 27616 27733 27615 -3 18840 18939 18839 -3 825 19107 14480 -3 19920 583 3665 -3 19102 18431 18551 -3 18311 18405 19202 -3 19863 19229 17392 -3 18013 18012 17919 -3 18688 18687 1337 -3 19229 17390 17367 -3 19634 18800 19872 -3 18387 18388 18482 -3 19943 19960 19306 -3 18623 19634 19872 -3 17130 18693 18380 -3 18907 18909 19943 -3 18380 18287 17601 -3 18287 17697 17601 -3 18620 19759 19749 -3 18247 18339 18031 -3 18620 19749 18362 -3 18363 18620 18362 -3 18363 18362 18966 -3 18305 18363 18966 -3 18305 18966 18813 -3 18094 18305 18813 -3 18094 18813 17756 -3 17660 18094 17756 -3 19864 17792 19929 -3 17999 19864 19929 -3 17660 17756 17792 -3 19864 17660 17792 -3 35612 35795 35418 -3 17635 17730 17634 -3 17545 17639 17638 -3 22424 17893 2406 -3 18892 18891 18792 -3 17741 393 17740 -3 17553 17552 17464 -3 14858 14934 19337 -3 8043 14556 10574 -3 4823 4824 4959 -3 35408 35883 35605 -3 32610 32724 32609 -3 17490 17489 17401 -3 17402 17490 17401 -3 17584 17583 17489 -3 17490 17584 17489 -3 17679 17678 17583 -3 17584 17679 17583 -3 17775 17774 17678 -3 17679 17775 17678 -3 11249 35776 12818 -3 17775 17871 17774 -3 18130 17841 18042 -3 17533 18222 19433 -3 28690 28822 28821 -3 28689 28690 28821 -3 17387 28871 17388 -3 17292 17361 17360 -3 17439 17438 17360 -3 19609 19610 19720 -3 17361 17439 17360 -3 28822 28955 28954 -3 18977 18978 19078 -3 5962 8310 6094 -3 19656 18267 19692 -3 2540 21653 687 -3 6947 7045 6946 -3 19487 19690 19850 -3 27962 27961 27845 -3 8660 12511 29955 -3 18134 19487 19850 -3 19119 19646 18330 -3 19895 18554 18703 -3 19102 19872 18431 -3 19505 19615 19614 -3 18019 18109 18018 -3 19938 18553 18899 -3 18351 18446 18445 -3 3312 3445 3303 -3 554 18318 18377 -3 17770 19173 19415 -3 19292 19399 19398 -3 27781 17292 19251 -3 19579 15389 15261 -3 19845 19844 19731 -3 360 19524 18133 -3 18113 19336 6647 -3 18549 18095 19383 -3 19524 360 17715 -3 19485 18549 17393 -3 18095 18407 19383 -3 3185 4284 673 -3 18549 19383 17393 -3 21312 17911 19536 -3 34462 6880 34598 -3 21046 18653 18652 -3 18244 18616 18438 -3 13078 24492 28757 -3 18682 1333 18683 -3 6653 6780 17570 -3 28757 13172 13078 -3 1459 1344 1460 -3 9185 11079 10390 -3 32840 32839 32727 -3 18152 17796 19699 -3 19797 19800 30553 -3 19180 19284 19283 -3 17864 18567 17474 -3 18302 17864 17474 -3 18302 17474 18730 -3 18586 18302 18730 -3 18586 18730 19665 -3 19664 18586 19665 -3 19664 19665 19381 -3 18672 19664 19381 -3 17857 17845 18217 -3 27503 27648 26476 -3 17845 17769 18405 -3 18311 17845 18405 -3 14061 15504 15638 -3 17769 18571 19887 -3 18596 18570 19939 -3 15027 15741 19769 -3 21075 21074 27606 -3 17532 18401 18400 -3 18279 19861 18147 -3 682 681 33433 -3 17634 17633 17539 -3 28821 28822 28954 -3 27959 27843 30807 -3 19265 19264 19160 -3 925 806 33672 -3 26899 27017 26898 -3 17471 19025 18695 -3 30155 27990 28882 -3 17655 19779 18074 -3 33030 17324 32921 -3 17427 17426 17348 -3 31168 31232 31231 -3 18283 19022 18498 -3 19654 18399 4191 -3 18523 17445 18596 -3 17445 18570 18596 -3 27498 27616 27615 -3 19282 19389 19388 -3 28955 29090 29089 -3 18199 18198 18105 -3 17942 18311 19202 -3 18217 18311 17942 -3 17275 17343 17342 -3 17341 34248 17274 -3 18738 19229 17367 -3 17745 17747 18895 -3 27295 29549 7400 -3 2435 19387 19496 -3 19211 19938 18800 -3 19824 17937 19312 -3 17696 17601 17760 -3 17762 18909 18907 -3 17697 17763 17762 -3 17601 17697 17762 -3 17762 17763 18909 -3 17763 18910 18909 -3 18910 19961 19960 -3 18909 18910 19960 -3 19960 19961 17559 -3 19961 18631 17559 -3 28954 28955 29089 -3 907 4392 19101 -3 4260 18319 18136 -3 18778 18779 18877 -3 18880 18979 18978 -3 19718 19719 19831 -3 17646 17647 17741 -3 29090 29227 29226 -3 19396 19505 19504 -3 18342 18170 19714 -3 19067 19115 18302 -3 1650 18589 17864 -3 5813 5678 19298 -3 29089 29090 29226 -3 19333 19441 19324 -3 34910 35040 17279 -3 18293 18294 18386 -3 17624 19894 18530 -3 35835 35749 35938 -3 29227 29364 29363 -3 17403 17491 17490 -3 17402 17403 17490 -3 17491 17585 17584 -3 17490 17491 17584 -3 17585 17680 17679 -3 17584 17585 17679 -3 17680 17776 17775 -3 17679 17680 17775 -3 17872 17871 17775 -3 17776 17872 17775 -3 18885 18984 18983 -3 20362 17966 20446 -3 17439 7200 149 -3 18109 18108 18018 -3 33243 17327 33138 -3 29254 29253 29116 -3 18975 18976 19076 -3 18025 4458 4324 -3 18294 18295 18387 -3 18490 17753 17654 -3 17639 17734 17638 -3 17637 17732 17636 -3 5760 18631 5761 -3 18879 18880 18978 -3 19313 17983 19850 -3 27731 27846 27845 -3 19364 19473 19022 -3 19690 19313 19850 -3 29226 29227 29363 -3 21514 28752 24745 -3 19529 19173 17770 -3 18945 18946 2013 -3 18482 18578 18577 -3 18800 18899 18032 -3 18258 18351 18350 -3 28624 28676 30366 -3 18163 18164 18257 -3 18446 18542 18541 -3 29364 29501 29500 -3 17833 17929 17928 -3 6522 823 6647 -3 29363 29364 29500 -3 18592 18585 19587 -3 4469 4603 18451 -3 19178 19179 19282 -3 18167 360 18133 -3 11409 35528 9532 -3 19805 19556 18246 -3 18698 23313 23215 -3 19511 19402 2311 -3 18599 18286 19637 -3 18698 18599 19637 -3 18286 19658 18358 -3 19637 18286 18358 -3 19658 18241 19408 -3 18358 19658 19408 -3 18241 17981 19741 -3 19408 18241 19741 -3 17981 17564 17563 -3 19741 17981 17563 -3 18734 18733 17563 -3 17564 18734 17563 -3 19703 19699 18733 -3 18734 19703 18733 -3 15674 19698 9862 -3 19703 18152 19699 -3 2750 14961 15214 -3 19668 12808 34989 -3 19838 19839 19952 -3 17538 17537 17449 -3 18579 18676 18675 -3 18200 18201 18294 -3 19324 18148 19170 -3 18370 18369 19259 -3 16820 16821 16984 -3 19433 18222 19880 -3 17604 20217 17700 -3 28686 28687 28818 -3 18401 19403 19007 -3 17511 20218 17605 -3 17732 17828 17731 -3 19939 17532 18400 -3 18084 20561 20562 -3 17828 17924 17923 -3 35579 12208 8339 -3 4152 19920 18403 -3 19272 19627 19643 -3 18735 18638 21114 -3 18129 19419 18137 -3 6992 7096 7095 -3 35827 35851 35481 -3 17295 17951 5687 -3 15659 19217 15041 -3 18615 6394 17952 -3 30326 30459 30325 -3 33231 33126 7522 -3 17515 17514 17426 -3 17349 17427 17348 -3 19163 19162 19060 -3 19742 17866 19922 -3 19403 19209 19314 -3 18570 17532 19939 -3 1757 3860 2256 -3 19762 18864 1756 -3 15798 17860 2630 -3 19267 19374 19266 -3 18281 18217 17942 -3 17947 18217 18281 -3 17421 17420 17342 -3 17343 17421 17342 -3 18903 19917 19876 -3 19148 19548 19068 -3 29501 29639 29638 -3 1066 17747 18121 -3 19710 19824 19312 -3 19439 18710 17962 -3 17760 17762 18907 -3 19938 19211 18325 -3 17601 17762 17760 -3 18909 19960 19943 -3 18380 17601 17696 -3 19777 18380 17696 -3 17130 18380 19777 -3 18423 17130 19777 -3 18425 17130 18423 -3 19301 18425 18423 -3 18425 19301 18922 -3 18340 18425 18922 -3 18214 19430 18589 -3 1650 18214 18589 -3 19115 1650 17864 -3 18340 18922 19430 -3 19172 18117 19069 -3 19308 19518 34065 -3 18117 19172 203 -3 19069 18522 19172 -3 18214 18340 19430 -3 18522 18184 19206 -3 1930 1810 1811 -3 2181 19299 2182 -3 2054 19195 1929 -3 682 33433 33434 -3 17633 17728 17632 -3 18387 18482 18481 -3 17326 17404 17403 -3 30924 30982 30923 -3 17404 17492 17491 -3 17403 17404 17491 -3 17492 17586 17585 -3 17491 17492 17585 -3 17586 17681 17680 -3 17585 17586 17680 -3 17777 17776 17680 -3 17681 17777 17680 -3 17873 17872 17776 -3 17777 17873 17776 -3 20446 17966 17967 -3 18072 18071 20456 -3 19296 5414 18584 -3 19740 27413 19029 -3 18107 18108 18200 -3 496 17822 17918 -3 19393 19394 19502 -3 19651 17718 18467 -3 3792 3791 3660 -3 17841 19192 18042 -3 19886 19219 18315 -3 19931 19860 18151 -3 17541 17542 17635 -3 18631 5760 17559 -3 17705 17704 17609 -3 17610 17705 17609 -3 29500 29501 29638 -3 1077 1194 1193 -3 555 18804 556 -3 19314 19209 1270 -3 18225 18131 17983 -3 19125 4021 19204 -3 18721 18003 18864 -3 19190 19294 19293 -3 18074 19623 19627 -3 17838 17770 19856 -3 19743 17838 19856 -3 29639 29772 29771 -3 30774 28946 28681 -3 19272 19168 19627 -3 18257 18258 18350 -3 620 621 18022 -3 19474 19765 24000 -3 460 14982 16791 -3 18445 18446 18541 -3 19023 17985 18495 -3 2139 2140 35132 -3 9113 35385 8040 -3 18167 18133 18566 -3 19540 17800 23118 -3 29638 29639 29771 -3 18651 18360 17800 -3 23216 17800 18599 -3 18360 18303 18599 -3 17800 18360 18599 -3 18303 18334 18286 -3 18599 18303 18286 -3 18334 18092 19658 -3 18286 18334 19658 -3 18092 19316 18241 -3 19658 18092 18241 -3 19316 18828 17981 -3 18241 19316 17981 -3 18828 17565 17564 -3 17981 18828 17564 -3 18762 18734 17564 -3 17565 18762 17564 -3 19716 19703 18734 -3 18762 19716 18734 -3 18059 18152 19703 -3 19716 18059 19703 -3 19713 19698 18152 -3 18059 19713 18152 -3 17980 18071 18070 -3 17755 19713 18173 -3 19331 19468 19384 -3 19608 19719 19718 -3 19290 19291 19397 -3 29772 29901 29900 -3 19416 19892 19893 -3 17567 19416 19893 -3 18662 18760 18661 -3 4551 4684 19551 -3 17513 17512 17424 -3 18400 18401 19007 -3 17609 17608 17514 -3 17425 17513 17424 -3 17610 17609 17515 -3 29771 29772 29900 -3 17327 33243 17406 -3 17516 17610 17515 -3 29901 30032 30031 -3 18385 18386 18480 -3 17738 17834 17833 -3 18555 15798 19513 -3 5813 19298 5680 -3 17452 17453 17540 -3 35767 35449 35843 -3 19308 18603 19518 -3 17516 17515 17427 -3 17428 17516 17427 -3 13054 17653 18177 -3 17427 17515 17426 -3 22231 21552 34994 -3 17425 17424 17346 -3 19007 19403 19314 -3 19209 18615 1270 -3 18748 21129 21130 -3 17605 17604 17510 -3 18688 18689 18786 -3 19607 19608 19718 -3 17852 17947 18281 -3 18176 17947 17852 -3 17509 17508 17420 -3 17421 17509 17420 -3 18553 19148 19068 -3 19856 17770 18532 -3 17747 18903 18895 -3 19148 19070 17531 -3 1928 1809 1929 -3 17950 1066 18486 -3 18802 19824 19710 -3 1899 2023 1898 -3 19634 19211 18800 -3 18325 18802 19710 -3 17937 18535 19385 -3 19211 18802 18325 -3 18535 19530 19421 -3 19312 17937 19385 -3 19530 17861 17958 -3 19385 18535 19421 -3 17861 18322 18415 -3 19421 19530 17958 -3 18396 18611 18041 -3 18609 18041 13016 -3 19069 18117 18611 -3 17701 18396 18041 -3 18967 19069 18611 -3 18396 18967 18611 -3 18210 18522 19069 -3 18967 18210 19069 -3 35653 35563 35729 -3 18210 18184 18522 -3 1880 4133 17395 -3 2704 2570 2705 -3 7093 7200 17361 -3 18724 1522 18329 -3 19952 19065 18964 -3 28549 2407 30774 -3 17327 17405 17404 -3 17326 33138 17327 -3 17405 17493 17492 -3 17404 17405 17492 -3 17493 17587 17586 -3 17492 17493 17586 -3 17587 17682 17681 -3 17586 17587 17681 -3 17682 17778 17777 -3 17681 17682 17777 -3 17874 17873 17777 -3 17778 17874 17777 -3 2551 2687 2686 -3 17874 17875 17967 -3 18948 18949 19049 -3 31301 31300 31235 -3 19438 18581 17868 -3 18581 18231 18206 -3 17637 17636 17542 -3 17543 17637 17542 -3 5892 5891 5759 -3 18662 1543 18761 -3 18985 19086 19085 -3 29900 29901 30031 -3 28557 28558 28686 -3 17625 250 3487 -3 35850 35413 35701 -3 20453 18522 22050 -3 18562 18659 18658 -3 18561 18562 18658 -3 18659 18757 18756 -3 18658 18659 18756 -3 18757 18856 18855 -3 18756 18757 18855 -3 18856 18955 18954 -3 18855 18856 18954 -3 18750 18751 18849 -3 18850 18949 18948 -3 18694 19095 17296 -3 19334 19090 19333 -3 17428 17427 17349 -3 34573 34572 34435 -3 19428 19891 19892 -3 19894 18342 18530 -3 5680 19298 19300 -3 231 16555 159 -3 1270 18615 18228 -3 18615 17952 18228 -3 19781 18627 19770 -3 18497 18283 18498 -3 288 3457 8657 -3 18127 19331 19224 -3 30725 6152 19525 -3 22299 22203 22204 -3 6875 26427 27665 -3 19129 27782 27646 -3 13013 14905 6768 -3 18019 18018 17925 -3 26504 19093 6874 -3 28745 26968 26735 -3 35379 35480 35857 -3 18433 18626 19592 -3 18023 17896 18123 -3 19359 18023 18123 -3 19680 28870 2137 -3 18585 18167 18566 -3 18534 19486 18651 -3 22921 19212 23020 -3 19486 18361 18360 -3 18651 19486 18360 -3 18361 17795 18303 -3 18360 18361 18303 -3 17795 19588 18334 -3 18303 17795 18334 -3 19588 17297 18092 -3 18334 19588 18092 -3 17297 18327 19316 -3 18092 17297 19316 -3 18327 19227 18828 -3 19316 18327 18828 -3 17566 17565 18828 -3 19227 17566 18828 -3 18771 18762 17565 -3 17566 18771 17565 -3 19717 19716 18762 -3 18771 19717 18762 -3 18921 18059 19716 -3 19717 18921 19716 -3 19745 19713 18059 -3 18921 19745 18059 -3 13409 10390 11079 -3 19745 18173 19713 -3 30151 30152 30284 -3 30164 30163 30031 -3 18625 19272 19643 -3 19841 19955 19954 -3 19627 19623 17798 -3 19955 19272 18625 -3 7998 7530 5825 -3 19954 19955 18625 -3 19428 19424 19891 -3 4686 4685 18045 -3 30032 30164 30031 -3 17515 17609 17514 -3 2141 2013 19047 -3 30297 30296 30163 -3 18652 18653 18750 -3 17467 7011 7114 -3 18955 19056 19055 -3 18751 18850 18849 -3 18954 18955 19055 -3 19056 19158 19157 -3 17608 17607 17513 -3 18653 18751 18750 -3 33433 681 7281 -3 18694 17296 18603 -3 19610 19721 19720 -3 13575 17385 17383 -3 2141 19044 19045 -3 17609 17704 17608 -3 17347 17425 17346 -3 30164 30297 30163 -3 7337 7448 7336 -3 30430 30429 30296 -3 17511 17605 17510 -3 17511 17510 17422 -3 18682 18780 18779 -3 17455 17454 13004 -3 18046 18176 17852 -3 17838 19529 17770 -3 19951 19952 18964 -3 17604 20215 17603 -3 19173 19359 19415 -3 7070 17626 3362 -3 19548 19148 17531 -3 18167 18486 360 -3 17747 17745 18121 -3 19070 18029 17749 -3 17920 18013 17919 -3 17950 18486 1767 -3 18701 19445 18377 -3 18222 17658 19880 -3 19859 18277 18701 -3 19445 18245 18377 -3 19554 18415 19859 -3 18277 19445 18701 -3 18050 17958 19554 -3 18415 18277 19859 -3 18048 19421 18050 -3 17958 18415 19554 -3 18769 17701 18514 -3 18520 23419 18514 -3 18116 18396 17701 -3 18769 18116 17701 -3 18670 18967 18396 -3 18116 18670 18396 -3 19320 18210 18967 -3 18670 19320 18967 -3 35418 35795 35443 -3 18290 18383 1090 -3 16194 19803 18619 -3 979 18298 18204 -3 16194 18038 14743 -3 30297 30430 30296 -3 17900 17993 17899 -3 19392 19501 19500 -3 17406 17405 17327 -3 33032 33138 17326 -3 17494 17493 17405 -3 17406 17494 17405 -3 17494 17588 17587 -3 17493 17494 17587 -3 17588 17683 17682 -3 17587 17588 17682 -3 17683 17779 17778 -3 17682 17683 17778 -3 17779 17875 17874 -3 17778 17779 17874 -3 19308 18694 18603 -3 34728 12922 34469 -3 30564 30563 30429 -3 5053 14340 11961 -3 19055 19056 19157 -3 19158 19262 19261 -3 19157 19158 19261 -3 17313 26919 28477 -3 18949 19050 19049 -3 18876 18877 18975 -3 14340 11566 11961 -3 30430 30564 30429 -3 18685 18684 1335 -3 19832 19833 19946 -3 33541 11435 33540 -3 7200 150 149 -3 19860 19111 19774 -3 2687 19483 2553 -3 8306 15364 2222 -3 18849 18850 18948 -3 19262 19369 19261 -3 19718 2705 19607 -3 19370 33942 19369 -3 4458 4457 4324 -3 28316 28436 28315 -3 30698 30697 30563 -3 17546 17640 17545 -3 6860 17270 30713 -3 30564 30698 30563 -3 35755 35727 33233 -3 18522 20453 19172 -3 166 19940 16643 -3 21307 21308 35933 -3 30832 30831 30697 -3 18228 17952 17472 -3 17952 17817 17472 -3 17717 17960 6255 -3 4592 4458 18025 -3 799 2126 9421 -3 17451 17539 17538 -3 27846 27962 27845 -3 28079 28078 27961 -3 554 555 14733 -3 26197 26054 15858 -3 29917 30048 30047 -3 29380 29517 29516 -3 28336 27638 26480 -3 30698 30832 30697 -3 18352 18447 18351 -3 18649 19434 15013 -3 27737 27738 27852 -3 19415 18472 19171 -3 18999 18592 18824 -3 6948 6880 6881 -3 17754 18765 19486 -3 22922 18534 19212 -3 18765 18994 18361 -3 19486 18765 18361 -3 18994 18232 17795 -3 18361 18994 17795 -3 18232 16486 19588 -3 17795 18232 19588 -3 16486 18333 17297 -3 19588 16486 17297 -3 18333 19919 18327 -3 17297 18333 18327 -3 19919 19657 19227 -3 18327 19919 19227 -3 17621 17566 19227 -3 19657 17621 19227 -3 18790 18771 17566 -3 17621 18790 17566 -3 19733 19717 18771 -3 18790 19733 18771 -3 18397 18921 19717 -3 19733 18397 19717 -3 19755 19745 18921 -3 18397 19755 18921 -3 19404 18173 19745 -3 19755 19404 19745 -3 19769 15741 18488 -3 19404 18488 18173 -3 19840 19841 19954 -3 13867 35352 10709 -3 19959 17889 19958 -3 19734 29823 21381 -3 18647 18745 18744 -3 15450 15321 21795 -3 19319 19861 18279 -3 18965 18722 18718 -3 17736 17832 17831 -3 19252 19253 5540 -3 18085 18084 17994 -3 17640 17735 17734 -3 11524 11459 33340 -3 17995 18085 17994 -3 18104 18197 18103 -3 19714 19885 18525 -3 19065 19119 18330 -3 17806 17902 17805 -3 17995 17994 17901 -3 17459 17547 17458 -3 32025 32125 32024 -3 2143 2144 2275 -3 18112 18205 18111 -3 18774 18873 18872 -3 21455 28714 28585 -3 17279 17347 17346 -3 17846 19818 16801 -3 19389 19498 19497 -3 17949 5986 18914 -3 17423 17511 17422 -3 17423 17422 17344 -3 28310 28987 13487 -3 27959 28310 13487 -3 18176 18046 19173 -3 19529 18176 19173 -3 1795 1915 1914 -3 19281 19282 19388 -3 17770 19415 18532 -3 17996 830 17995 -3 18121 17745 17724 -3 29290 28189 30499 -3 17531 19070 17749 -3 18585 1767 18167 -3 18524 17950 1767 -3 18029 19848 19367 -3 17390 18524 1767 -3 1066 18121 18486 -3 18895 18903 19876 -3 17367 17390 1767 -3 19876 19917 19207 -3 19917 17818 19207 -3 19207 17818 19021 -3 17818 19825 19021 -3 19021 19825 19598 -3 19825 18424 19598 -3 18962 18769 18418 -3 18514 18418 18769 -3 18612 18116 18769 -3 18962 18612 18769 -3 18426 18670 18116 -3 18612 18426 18116 -3 18082 19320 18670 -3 18426 18082 18670 -3 1206 1090 1207 -3 18082 18191 19320 -3 16663 16508 18053 -3 16385 4593 18034 -3 18127 19932 19331 -3 23332 18234 18144 -3 18882 18981 18980 -3 18783 18882 18881 -3 30982 31043 30981 -3 35189 6998 35317 -3 17495 17494 17406 -3 17407 17495 17406 -3 17589 17588 17494 -3 17495 17589 17494 -3 17684 17683 17588 -3 17589 17684 17588 -3 17780 17779 17683 -3 17684 17780 17683 -3 17780 17876 17875 -3 17779 17780 17875 -3 16355 16356 16508 -3 21582 20967 19016 -3 18556 18653 21046 -3 21131 18652 18750 -3 19291 19398 19397 -3 17806 17805 17709 -3 18077 19935 19258 -3 19625 18151 17959 -3 35515 35891 35923 -3 35675 35920 11314 -3 17710 17709 17614 -3 17826 17825 17729 -3 19188 19189 19292 -3 7114 7115 7221 -3 17459 17460 17548 -3 19293 19400 19399 -3 16964 166 18227 -3 17912 17470 30831 -3 19959 19958 19844 -3 18467 18088 17557 -3 30832 17912 30831 -3 29352 29351 29214 -3 18873 18874 18972 -3 19503 19613 19612 -3 17832 17833 17928 -3 17640 17641 17735 -3 18749 18750 18848 -3 17999 17720 5691 -3 18110 18109 18019 -3 979 18204 18205 -3 2407 2811 30774 -3 17607 17606 17512 -3 18587 19579 15262 -3 22043 22042 17470 -3 18773 18774 18872 -3 35533 30480 27780 -3 17472 17817 18090 -3 6152 19655 19857 -3 18947 19048 19047 -3 19014 19856 18532 -3 27733 27848 27847 -3 19252 5404 18206 -3 30066 30065 29934 -3 31388 31455 31387 -3 2445 19511 2311 -3 17912 22043 17470 -3 29929 29928 29799 -3 18205 18112 859 -3 30367 19232 7399 -3 18532 19415 19171 -3 18447 18543 18542 -3 7290 29294 30027 -3 19359 18123 18472 -3 22634 11860 6258 -3 18585 18566 19587 -3 17936 19555 18765 -3 17754 17936 18765 -3 19555 18266 18994 -3 18765 19555 18994 -3 18266 18728 18232 -3 18994 18266 18232 -3 18728 18024 16486 -3 18232 18728 16486 -3 18024 19407 18333 -3 16486 18024 18333 -3 19407 18832 19919 -3 18333 19407 19919 -3 18832 18089 19657 -3 19919 18832 19657 -3 17622 17621 19657 -3 18089 17622 19657 -3 18791 18790 17621 -3 17622 18791 17621 -3 19754 19733 18790 -3 18791 19754 18790 -3 19633 18397 19733 -3 19754 19633 19733 -3 19756 19755 18397 -3 19633 19756 18397 -3 17961 19404 19755 -3 19756 17961 19755 -3 19639 18488 19404 -3 17961 19639 19404 -3 35499 35450 35646 -3 1688 1805 18986 -3 30365 30366 19465 -3 27893 29413 29354 -3 11551 16310 23521 -3 18986 19087 19086 -3 6015 12052 15167 -3 19184 19288 19287 -3 18168 18278 18529 -3 19584 19090 19334 -3 17448 35193 17370 -3 11156 4778 11028 -3 18786 18787 18885 -3 4133 3400 180 -3 19161 19265 19160 -3 21128 18746 21041 -3 18529 19334 19219 -3 17902 17995 17901 -3 19732 19731 19620 -3 18529 19584 19334 -3 19693 19656 19692 -3 17831 17830 17734 -3 12019 12020 27317 -3 17943 19651 18490 -3 21744 21745 22042 -3 27643 17862 29958 -3 18199 18200 18293 -3 18530 18342 19714 -3 17345 17423 17344 -3 17345 17344 17276 -3 28742 30209 19131 -3 25728 24451 21290 -3 8693 2074 1948 -3 3070 16169 15903 -3 18073 18072 20457 -3 18223 19274 19214 -3 22322 7405 22321 -3 19940 19439 18834 -3 5090 5223 19767 -3 29135 11405 28753 -3 18486 18121 360 -3 19399 19508 19507 -3 17749 18029 19367 -3 18592 17367 18585 -3 18899 18553 17746 -3 19848 18048 18337 -3 18032 18899 18616 -3 18553 19068 17746 -3 18431 18032 18244 -3 18899 17746 18616 -3 18431 18244 19514 -3 18551 18431 19514 -3 18551 19514 19203 -3 18032 18616 18244 -3 13026 18608 18418 -3 19202 18551 19203 -3 17990 18612 18962 -3 19378 17990 18962 -3 19600 18426 18612 -3 17990 19600 18612 -3 19896 18082 18426 -3 19600 19896 18426 -3 19635 18191 18082 -3 19896 19635 18082 -3 3615 21682 22057 -3 19635 19120 18191 -3 18980 19081 19080 -3 7093 17293 17294 -3 18779 18780 18878 -3 18879 18978 18977 -3 19892 18150 17841 -3 17330 17408 17407 -3 6998 6997 35317 -3 17496 17495 17407 -3 17408 17496 17407 -3 17590 17589 17495 -3 17496 17590 17495 -3 17685 17684 17589 -3 17590 17685 17589 -3 17781 17780 17684 -3 17685 17781 17684 -3 17877 17876 17780 -3 17781 17877 17780 -3 22428 22427 33925 -3 34601 34881 33925 -3 17640 17639 17545 -3 17458 17546 17545 -3 17710 17806 17709 -3 17902 17901 17805 -3 18964 19534 2266 -3 17432 17433 17520 -3 18686 18784 18783 -3 9281 4649 2478 -3 17615 17710 17614 -3 13221 17286 17353 -3 17457 17458 17545 -3 17926 17927 18019 -3 18972 19073 1915 -3 30427 30561 30426 -3 17731 17827 17826 -3 18015 18014 17921 -3 19836 19837 19950 -3 17432 17353 17354 -3 19606 19531 5009 -3 19122 17963 19940 -3 17530 17999 5691 -3 1218 1334 1333 -3 19750 19222 19330 -3 18984 18985 19085 -3 18293 18386 18385 -3 17547 17641 17640 -3 18480 18481 18576 -3 22043 21744 22042 -3 17513 17607 17512 -3 18289 18290 1090 -3 19967 31082 31145 -3 34415 34414 34276 -3 26253 26390 26351 -3 505 506 621 -3 27732 27733 27847 -3 1915 1795 18972 -3 21656 27295 7400 -3 2675 2541 26595 -3 30069 30068 29937 -3 18147 18138 19006 -3 28552 27262 26412 -3 28997 6875 27665 -3 18542 18543 18639 -3 27962 28079 27961 -3 19484 18381 18373 -3 3860 19656 18336 -3 18897 18997 34212 -3 18884 18885 18983 -3 29294 28552 28430 -3 19415 19359 18472 -3 22825 18731 22924 -3 18592 19587 18824 -3 19110 19926 17936 -3 18731 19110 17936 -3 19926 18667 19555 -3 17936 19926 19555 -3 18667 18309 18266 -3 19555 18667 18266 -3 18309 18306 18728 -3 18266 18309 18728 -3 18306 19165 18024 -3 18728 18306 18024 -3 19165 17813 19407 -3 18024 19165 19407 -3 17813 17469 18832 -3 19407 17813 18832 -3 17469 19709 18089 -3 18832 17469 18089 -3 17629 17622 18089 -3 19709 17629 18089 -3 18794 18791 17622 -3 17629 18794 17622 -3 19802 19754 18791 -3 18794 19802 18791 -3 19768 19633 19754 -3 19802 19768 19754 -3 19766 19756 19633 -3 19768 19766 19633 -3 17946 17961 19756 -3 19766 17946 19756 -3 17944 19639 17961 -3 17946 17944 17961 -3 18215 13990 19535 -3 17944 19535 19639 -3 19621 19732 19620 -3 7410 6780 6653 -3 19122 19940 166 -3 19443 18278 18168 -3 17463 17551 17462 -3 14906 19769 12802 -3 17646 17741 17740 -3 18182 19324 19170 -3 18871 1677 18772 -3 1338 18690 18689 -3 5193 16694 16695 -3 19725 19838 19837 -3 18168 19219 19886 -3 19892 19891 18150 -3 19399 19400 19508 -3 18168 18529 19219 -3 8116 17722 17766 -3 18290 18289 18195 -3 35626 35630 35353 -3 18882 18883 18981 -3 17733 17829 17732 -3 18479 1325 18478 -3 35827 35687 35851 -3 19643 19627 17798 -3 19288 19395 19394 -3 18294 18387 18386 -3 17275 34651 17276 -3 21656 7400 27142 -3 28453 28575 28452 -3 30580 30579 30445 -3 18840 20618 1969 -3 26401 26400 24803 -3 18260 18259 18165 -3 18166 18165 18073 -3 30285 30418 30417 -3 19419 4999 4863 -3 11591 27064 27063 -3 28984 27759 26415 -3 11498 7181 21745 -3 18258 18259 18351 -3 1767 18486 18167 -3 19442 19552 18114 -3 18738 17367 18592 -3 18999 18738 18592 -3 360 18121 17724 -3 17367 1767 18585 -3 17745 18895 18894 -3 17724 17745 18894 -3 18895 19876 19873 -3 18894 18895 19873 -3 19876 19207 19776 -3 19776 19207 19782 -3 19873 19876 19776 -3 19207 19021 19782 -3 18395 17990 19378 -3 23324 23421 19378 -3 19490 19600 17990 -3 18395 19490 17990 -3 18546 19896 19600 -3 19490 18546 19600 -3 19640 19635 19896 -3 18546 19640 19896 -3 19018 19120 19635 -3 19640 19018 19635 -3 17547 17548 17641 -3 18299 18939 18940 -3 19893 19892 17841 -3 2266 19416 17567 -3 18989 2266 17567 -3 17331 17409 17408 -3 13966 26799 6920 -3 17497 17496 17408 -3 17409 17497 17408 -3 17591 17590 17496 -3 17497 17591 17496 -3 17686 17685 17590 -3 17591 17686 17590 -3 17782 17781 17685 -3 17686 17782 17685 -3 17782 17878 17877 -3 17781 17782 17877 -3 17878 17971 17970 -3 17877 17878 17970 -3 18154 20532 18062 -3 18062 18061 17971 -3 19444 18168 19886 -3 18515 19444 19886 -3 17615 17614 17520 -3 19224 19384 19368 -3 17355 17433 17432 -3 17521 17615 17520 -3 17354 17355 17432 -3 17433 17521 17520 -3 19533 18515 19886 -3 583 17839 17930 -3 19292 19293 19399 -3 18292 18291 18197 -3 18381 18382 5278 -3 18386 18481 18480 -3 18222 19862 17658 -3 18433 19592 19584 -3 18293 18292 18198 -3 731 18012 18102 -3 19858 17991 19957 -3 17645 17646 17740 -3 31133 31132 31070 -3 19047 2013 18946 -3 25398 23603 12007 -3 35624 35718 35635 -3 29539 29123 22158 -3 25343 27056 27055 -3 30534 25343 27055 -3 18250 18344 18343 -3 21379 20347 11454 -3 11454 20347 19193 -3 29799 29928 29798 -3 2979 19944 3119 -3 21744 11498 21745 -3 28983 28849 21637 -3 18924 19805 18246 -3 18435 29009 29549 -3 19006 19107 18998 -3 22107 29534 22012 -3 20949 18545 18449 -3 11498 7006 15475 -3 18446 18447 18542 -3 7181 11498 15475 -3 25 15489 19018 -3 18543 18640 18639 -3 17909 18862 18188 -3 18044 18188 18862 -3 18862 18307 18044 -3 19110 18731 22826 -3 18307 19213 19110 -3 18044 18307 19110 -3 19213 18719 19926 -3 19110 19213 19926 -3 18719 19753 18667 -3 19926 18719 18667 -3 19753 19024 18309 -3 18667 19753 18309 -3 19024 18900 18306 -3 18309 19024 18306 -3 18900 19596 19165 -3 18306 18900 19165 -3 19596 19062 17813 -3 19165 19596 17813 -3 19062 18030 17469 -3 17813 19062 17469 -3 18030 18829 19709 -3 17469 18030 19709 -3 17649 17629 19709 -3 18829 17649 19709 -3 18810 18794 17629 -3 17649 18810 17629 -3 19813 19802 18794 -3 18810 19813 18794 -3 18404 19768 19802 -3 19813 18404 19802 -3 19866 19766 19768 -3 18404 19866 19768 -3 19631 17946 19766 -3 19866 19631 19766 -3 19521 17944 17946 -3 19631 19521 17946 -3 17440 19535 17944 -3 19521 17440 17944 -3 18887 18986 18886 -3 18475 13467 16462 -3 17635 17636 17730 -3 19059 19058 18957 -3 17551 17550 17462 -3 34450 34449 34311 -3 18783 18784 18882 -3 18487 18127 19224 -3 19774 18278 19443 -3 19082 19083 19184 -3 18296 18389 18388 -3 17941 18137 18034 -3 19080 19182 19181 -3 28611 28985 29411 -3 19268 18077 19258 -3 19400 19509 19508 -3 18042 17624 19781 -3 2184 2183 2054 -3 19728 19841 19840 -3 16170 19228 4823 -3 18200 18294 18293 -3 19079 19181 19180 -3 10574 14556 12210 -3 18878 18879 18977 -3 19504 19614 19613 -3 18106 18107 18199 -3 7006 11396 7083 -3 31082 19967 19966 -3 6780 6898 17570 -3 30028 30160 22678 -3 18483 18579 18578 -3 14781 14675 18172 -3 18353 18352 18259 -3 20704 18166 20624 -3 19941 19770 4058 -3 26054 26197 26196 -3 28237 28238 25292 -3 30324 30323 30190 -3 18447 18446 18351 -3 18164 18165 18258 -3 17985 16190 18495 -3 18023 18455 18702 -3 1544 18761 1543 -3 15475 7006 7083 -3 2099 1507 18908 -3 23712 12334 28109 -3 19260 18370 19259 -3 4554 4421 4555 -3 1337 1222 1338 -3 11396 21458 13892 -3 1692 1693 1809 -3 18357 17365 18437 -3 7083 11396 13892 -3 9181 16672 9289 -3 18208 18395 19771 -3 19771 23421 22931 -3 19380 19490 18395 -3 18208 19380 18395 -3 18803 18546 19490 -3 19380 18803 19490 -3 19823 19640 18546 -3 18803 19823 18546 -3 19760 19018 19640 -3 19823 19760 19640 -3 18984 19085 19084 -3 18939 18299 18288 -3 18710 18276 18583 -3 18856 18857 18955 -3 18970 2266 18989 -3 19326 18970 18989 -3 21458 26345 25800 -3 17410 17409 17331 -3 33246 17331 33245 -3 17410 17498 17497 -3 17409 17410 17497 -3 17498 17592 17591 -3 17497 17498 17591 -3 17592 17687 17686 -3 17591 17592 17686 -3 17687 17783 17782 -3 17686 17687 17782 -3 17783 17879 17878 -3 17782 17783 17878 -3 17879 17972 17971 -3 17878 17879 17971 -3 17972 18063 18062 -3 17971 17972 18062 -3 18518 19317 19005 -3 18154 18155 20614 -3 19860 18574 18151 -3 628 7448 514 -3 18240 19224 19368 -3 18372 19296 19278 -3 18487 19224 18240 -3 17930 18487 18240 -3 18292 18293 18385 -3 19851 19931 19625 -3 13892 21458 25800 -3 26345 27085 27084 -3 19531 19606 18382 -3 19090 18767 18233 -3 18684 18685 18782 -3 18018 18108 18107 -3 13057 15885 17389 -3 25800 26345 27084 -3 32725 32837 32724 -3 33431 7172 33430 -3 29391 29528 29390 -3 29692 28738 29000 -3 30191 30324 30190 -3 30458 30457 30324 -3 26573 26678 26677 -3 26572 26573 26677 -3 27055 27056 28362 -3 27056 28370 28362 -3 29944 27528 29402 -3 18421 20025 22056 -3 18669 19941 4058 -3 26964 28188 6532 -3 19845 2850 19959 -3 19467 12543 19453 -3 18998 6640 17848 -3 18299 18940 2009 -3 19093 28132 30339 -3 17341 17340 26967 -3 27669 28248 25371 -3 18587 18614 21407 -3 28874 28741 29545 -3 31173 31174 31237 -3 17909 18188 19321 -3 29893 28249 17260 -3 18224 18432 18862 -3 17909 18224 18862 -3 18432 18923 18307 -3 18862 18432 18307 -3 18923 17917 19213 -3 18307 18923 19213 -3 17917 19865 18719 -3 19213 17917 18719 -3 19865 17811 19753 -3 18719 19865 19753 -3 17811 18548 19024 -3 19753 17811 19024 -3 18548 18826 18900 -3 19024 18548 18900 -3 18826 18120 19596 -3 18900 18826 19596 -3 18120 17836 19062 -3 19596 18120 19062 -3 17836 18043 18030 -3 19062 17836 18030 -3 18043 17820 18829 -3 18030 18043 18829 -3 17650 17649 18829 -3 17820 17650 18829 -3 18812 18810 17649 -3 17650 18812 17649 -3 19814 19813 18810 -3 18812 19814 18810 -3 17907 18404 19813 -3 19814 17907 19813 -3 19878 19866 18404 -3 17907 19878 18404 -3 19469 19631 19866 -3 19878 19469 19866 -3 17933 19521 19631 -3 19469 17933 19631 -3 19297 17440 19521 -3 17933 19297 19521 -3 18494 19297 19327 -3 19297 18494 17440 -3 6770 347 10759 -3 16801 19818 17908 -3 19656 3965 18267 -3 18660 18659 18562 -3 2311 19402 2179 -3 18151 18574 19921 -3 19185 19289 19288 -3 19402 19511 19401 -3 35668 22435 35736 -3 18777 18778 18876 -3 17283 17284 17352 -3 19079 19080 19181 -3 30774 2811 28946 -3 19511 19510 19401 -3 14733 5756 554 -3 17948 5542 19256 -3 19616 19617 19727 -3 19397 19398 19506 -3 18196 18195 18102 -3 18370 19268 18369 -3 19951 18964 18970 -3 17570 18993 25457 -3 18787 18886 18885 -3 17450 17451 17538 -3 19551 19431 18499 -3 23635 15766 23589 -3 19014 18897 34212 -3 30075 30077 19908 -3 18749 18848 18847 -3 18283 19364 19022 -3 18448 18447 18352 -3 18353 18448 18352 -3 4154 18456 19204 -3 20275 17870 20361 -3 32948 32947 32839 -3 34194 22522 22521 -3 18259 18352 18351 -3 19509 19619 19618 -3 17896 18023 18702 -3 18455 19123 19124 -3 19367 19597 18028 -3 17749 19367 18028 -3 18337 19199 19597 -3 19367 18337 19597 -3 18337 18140 18141 -3 18141 18140 19927 -3 19199 18337 18141 -3 18140 19604 19927 -3 19604 17721 17473 -3 19927 19604 17473 -3 17721 18149 18213 -3 17473 17721 18213 -3 18394 18208 17915 -3 17915 19771 22931 -3 18867 19380 18208 -3 18394 18867 18208 -3 19223 18803 19380 -3 18867 19223 19380 -3 18192 19823 18803 -3 19223 18192 18803 -3 6413 9326 6538 -3 15518 1526 15652 -3 3665 583 18126 -3 18493 18098 18321 -3 18710 18583 17962 -3 19935 18077 19318 -3 19950 18970 19326 -3 19949 19950 19326 -3 11808 35359 35732 -3 1853 5425 10603 -3 30349 30690 30216 -3 27085 28432 28431 -3 27084 27085 28431 -3 17333 17411 17410 -3 25406 25264 25407 -3 17411 17499 17498 -3 17410 17411 17498 -3 17499 17593 17592 -3 17498 17499 17592 -3 17593 17688 17687 -3 17592 17593 17687 -3 17688 17784 17783 -3 17687 17688 17783 -3 17784 17880 17879 -3 17783 17784 17879 -3 17880 17973 17972 -3 17879 17880 17972 -3 17973 18064 18063 -3 17972 17973 18063 -3 18064 18156 18155 -3 18063 18064 18155 -3 18250 18343 20695 -3 18156 18250 18155 -3 2040 2039 1915 -3 16194 17133 19803 -3 19592 18403 18265 -3 17331 33246 17332 -3 3407 18079 3268 -3 18775 18776 18874 -3 19893 17841 18130 -3 19780 19893 18130 -3 19505 19506 19615 -3 19890 17723 18591 -3 18860 18959 18859 -3 18579 18580 18676 -3 28432 30198 30159 -3 28431 28432 30159 -3 26421 24158 31857 -3 25280 25043 25279 -3 31857 31856 26421 -3 35856 35628 35425 -3 28869 27289 29425 -3 30325 30458 30324 -3 20905 23491 12540 -3 23911 23912 23971 -3 28362 28370 30094 -3 28370 30095 30094 -3 7292 21379 6873 -3 30091 28188 26964 -3 17574 30091 26964 -3 28717 30425 30422 -3 27373 27380 28683 -3 26711 26823 26822 -3 5463 6531 30083 -3 2679 2543 25350 -3 35795 35595 35443 -3 28479 25258 30621 -3 25767 19476 21374 -3 35905 35607 35387 -3 26584 8660 28477 -3 28126 30204 30337 -3 35375 35597 35807 -3 34219 19432 18224 -3 18374 17853 18432 -3 18224 18374 18432 -3 17853 19593 18923 -3 18432 17853 18923 -3 19593 19226 17917 -3 18923 19593 17917 -3 19226 18823 19865 -3 17917 19226 19865 -3 18823 18489 17811 -3 19865 18823 17811 -3 18489 18902 18548 -3 17811 18489 18548 -3 18902 18807 18826 -3 18548 18902 18826 -3 18807 18727 18120 -3 18826 18807 18120 -3 18727 18060 17836 -3 18120 18727 17836 -3 18060 19493 18043 -3 17836 18060 18043 -3 19493 18996 17820 -3 18043 19493 17820 -3 18996 17661 17650 -3 17820 18996 17650 -3 17661 18815 18812 -3 17650 17661 18812 -3 18815 19815 19814 -3 18812 18815 19814 -3 19815 18183 17907 -3 19814 19815 17907 -3 18183 19879 19878 -3 17907 18183 19878 -3 18572 19469 19878 -3 19879 18572 19878 -3 19738 17933 19469 -3 18572 19738 19469 -3 17761 19297 17933 -3 19738 17761 17933 -3 24631 25113 20671 -3 21365 33580 27381 -3 19727 19840 19839 -3 19531 18382 18381 -3 17550 17551 17644 -3 19726 19727 19839 -3 17737 17738 17833 -3 18563 18660 18562 -3 19839 19840 19953 -3 14523 15654 14521 -3 31259 31324 31323 -3 18818 18098 18493 -3 18875 18974 18973 -3 17431 17430 17352 -3 18761 1661 18860 -3 30198 2805 2943 -3 18231 18239 19252 -3 30159 30198 2943 -3 18236 18034 18025 -3 19727 19728 19840 -3 18002 18527 19660 -3 19550 18002 19660 -3 17642 17737 17736 -3 19056 19057 19158 -3 18554 19470 19810 -3 19470 18672 18835 -3 18554 19810 17527 -3 18672 19381 18835 -3 18703 18554 17527 -3 19470 18835 19810 -3 18260 18353 18259 -3 18541 18542 18638 -3 18448 18544 18543 -3 18447 18448 18543 -3 4058 19770 4191 -3 17461 17549 17460 -3 35924 35765 35525 -3 18927 28310 7192 -3 18165 18259 18258 -3 2805 30762 30643 -3 18702 18455 19124 -3 19123 18035 18312 -3 19782 18037 19544 -3 19116 33465 19820 -3 19776 19782 18076 -3 18076 19782 19544 -3 19873 19776 18969 -3 18969 19776 18076 -3 18894 19873 19871 -3 19871 19873 18969 -3 17715 17724 18890 -3 18890 18894 19871 -3 17915 22832 19475 -3 19475 18313 19488 -3 18207 18394 19475 -3 19488 18207 19475 -3 19215 18867 18394 -3 18207 19215 18394 -3 19071 19223 18867 -3 19215 19071 18867 -3 18099 18192 19223 -3 19071 18099 19223 -3 16791 19760 460 -3 28081 28082 28198 -3 17930 18240 18054 -3 19333 18233 19441 -3 19940 18834 16643 -3 18012 731 18011 -3 19836 19950 19949 -3 19835 19836 19949 -3 14551 18732 15754 -3 19611 19612 19722 -3 19074 19176 19175 -3 1460 18793 1459 -3 18276 18239 18583 -3 18315 19225 18182 -3 17639 17640 17734 -3 17256 28129 28072 -3 28723 12665 12562 -3 17334 17412 17411 -3 17332 33356 17333 -3 17412 17500 17499 -3 17411 17412 17499 -3 17500 17594 17593 -3 17499 17500 17593 -3 17594 17689 17688 -3 17593 17594 17688 -3 17689 17785 17784 -3 17688 17689 17784 -3 17785 17881 17880 -3 17784 17785 17880 -3 17881 17974 17973 -3 17880 17881 17973 -3 17974 18065 18064 -3 17973 17974 18064 -3 18065 18157 18156 -3 18064 18065 18156 -3 18251 18250 18156 -3 18157 18251 18156 -3 18344 20777 18343 -3 18251 18344 18250 -3 18391 19319 18279 -3 18440 20860 18439 -3 18776 18875 18874 -3 18874 18875 18973 -3 17828 17827 17731 -3 17519 17518 17430 -3 17804 17900 17803 -3 19616 19727 19726 -3 17830 17831 17926 -3 18111 18110 18020 -3 18194 19422 34478 -3 6280 29431 21328 -3 29939 26359 30862 -3 21360 18510 30783 -3 28814 28816 30475 -3 30476 19129 5741 -3 23861 29939 30862 -3 29259 27433 28605 -3 20494 24828 24242 -3 2541 3751 26595 -3 30094 30095 19905 -3 30095 19906 19905 -3 687 7292 7409 -3 686 687 7409 -3 25496 2815 2542 -3 19519 2806 19035 -3 20182 26939 20183 -3 26477 26478 27373 -3 30432 30566 30565 -3 15877 30488 30486 -3 22490 22491 22589 -3 23971 14651 30624 -3 11099 24138 6902 -3 34216 34342 6283 -3 25402 28101 29430 -3 27407 26930 27955 -3 32564 32456 11577 -3 23903 29411 28985 -3 17945 19667 17853 -3 18374 17945 17853 -3 19667 18605 19593 -3 17853 19667 19593 -3 18605 17855 19226 -3 19593 18605 19226 -3 17855 19146 18823 -3 19226 17855 18823 -3 19146 17812 18489 -3 18823 19146 18489 -3 17812 19315 18902 -3 18489 17812 18902 -3 19315 17672 18807 -3 18902 19315 18807 -3 17672 19113 18727 -3 18807 17672 18727 -3 19113 18000 18060 -3 18727 19113 18060 -3 18000 19603 19493 -3 18060 18000 19493 -3 19603 18830 18996 -3 19493 19603 18996 -3 17662 17661 18996 -3 18830 17662 18996 -3 18820 18815 17661 -3 17662 18820 17661 -3 19816 19815 18815 -3 18820 19816 18815 -3 19816 19361 18183 -3 19815 19816 18183 -3 19361 19930 19879 -3 18183 19361 19879 -3 19930 18764 18572 -3 19879 19930 18572 -3 18764 19737 19738 -3 18572 18764 19738 -3 309 34848 34626 -3 19737 19114 19738 -3 29631 30155 28882 -3 30035 30167 30166 -3 21408 2921 24009 -3 33605 33604 33485 -3 18021 18111 18020 -3 18111 18204 18110 -3 18204 18203 18110 -3 19289 19290 19396 -3 19306 17559 5759 -3 4392 19095 19101 -3 17804 17803 17707 -3 17353 17431 17352 -3 18974 19075 19074 -3 19725 19726 19838 -3 17348 17347 17279 -3 34564 34692 34563 -3 19398 19507 19506 -3 25111 27502 27501 -3 18892 18991 18990 -3 35390 35656 35864 -3 20761 25574 13015 -3 35600 35719 35887 -3 18190 18002 19550 -3 35818 26624 35513 -3 18589 19471 18567 -3 17864 18589 18567 -3 17604 17603 17509 -3 17422 17510 17421 -3 19479 34470 28221 -3 18725 18329 16963 -3 18847 18848 18946 -3 20362 20361 17870 -3 21116 18640 18641 -3 18543 18544 18640 -3 17549 17643 17642 -3 2315 2183 2316 -3 18927 7192 26427 -3 23145 18184 18191 -3 18234 23332 21961 -3 18079 19025 17471 -3 19124 19123 18312 -3 18035 19203 19307 -3 29294 6530 28552 -3 1977 21475 28136 -3 17892 19166 18115 -3 19556 17892 18115 -3 18095 18918 19601 -3 18407 18095 19601 -3 18918 18999 18824 -3 19601 18918 18824 -3 35546 8230 35744 -3 19556 18115 18246 -3 18080 19488 17989 -3 23126 17989 18313 -3 18301 18207 19488 -3 18080 18301 19488 -3 18650 19215 18207 -3 18301 18650 18207 -3 19096 19071 19215 -3 18650 19096 19215 -3 19096 19649 18099 -3 19071 19096 18099 -3 17899 17993 20478 -3 19922 3924 3792 -3 18126 17930 18054 -3 5675 5540 5541 -3 18782 18783 18881 -3 18276 19255 19253 -3 19723 19836 19835 -3 19501 19502 19611 -3 19264 19371 19263 -3 19722 19723 19835 -3 19271 14858 19337 -3 19397 19506 19505 -3 19840 19954 19953 -3 19615 19616 19726 -3 19084 19186 19185 -3 17962 18583 19438 -3 19185 19186 19289 -3 18227 19405 18002 -3 18099 19649 1524 -3 17909 34219 18224 -3 24349 24793 24266 -3 17335 17413 17412 -3 17334 17335 17412 -3 17413 17501 17500 -3 17412 17413 17500 -3 17501 17595 17594 -3 17500 17501 17594 -3 17595 17690 17689 -3 17594 17595 17689 -3 17690 17786 17785 -3 17689 17690 17785 -3 17786 17882 17881 -3 17785 17786 17881 -3 17882 17975 17974 -3 17881 17882 17974 -3 17975 18066 18065 -3 17974 17975 18065 -3 18066 18158 18157 -3 18065 18066 18157 -3 18252 18251 18157 -3 18158 18252 18157 -3 18345 18344 18251 -3 18252 18345 18251 -3 18440 18439 18344 -3 18345 18440 18344 -3 19724 19837 19836 -3 18537 18536 18440 -3 17431 17519 17430 -3 17708 17707 17612 -3 17655 18726 19779 -3 17730 17731 17826 -3 17753 17557 19742 -3 19958 19858 19957 -3 35614 35877 35371 -3 33729 33863 33728 -3 28582 33698 28583 -3 29379 29380 29516 -3 26508 26507 26421 -3 24034 23861 30861 -3 35914 35506 28993 -3 2675 26595 30772 -3 26243 24034 30848 -3 19905 19906 30362 -3 19906 30473 30362 -3 2406 687 686 -3 2273 2406 686 -3 26822 26823 26937 -3 28188 28487 6532 -3 25080 26243 30848 -3 7287 29695 29562 -3 27435 27436 28850 -3 35920 35754 35799 -3 35767 35416 35449 -3 32568 35122 34337 -3 30794 25074 30793 -3 25281 25280 30229 -3 16952 22162 23037 -3 30337 30204 21753 -3 35925 35500 35815 -3 31748 11459 11458 -3 18704 17627 19667 -3 17945 18704 19667 -3 17627 18049 18605 -3 19667 17627 18605 -3 18049 18414 17855 -3 18605 18049 17855 -3 18414 18606 19146 -3 17855 18414 19146 -3 18606 18622 17812 -3 19146 18606 17812 -3 18622 18248 19315 -3 17812 18622 19315 -3 18248 18825 17672 -3 19315 18248 17672 -3 18825 17847 19113 -3 17672 18825 19113 -3 17847 19015 18000 -3 19113 17847 18000 -3 19015 18533 19603 -3 18000 19015 19603 -3 18533 17810 18830 -3 19603 18533 18830 -3 17810 17663 17662 -3 18830 17810 17662 -3 17663 18838 18820 -3 17662 17663 18820 -3 18838 19817 19816 -3 18820 18838 19816 -3 19817 18419 19361 -3 19816 19817 19361 -3 18419 19748 19930 -3 19361 18419 19930 -3 19748 18501 18764 -3 19930 19748 18764 -3 18501 18916 19737 -3 18764 18501 19737 -3 18913 18429 21964 -3 19737 18916 19114 -3 684 28985 28611 -3 18692 18128 17535 -3 17642 17643 17737 -3 729 611 730 -3 2704 2705 2840 -3 24344 2952 23072 -3 19483 2687 2551 -3 17449 17537 17536 -3 8012 11202 1145 -3 18198 18197 18104 -3 16462 586 14379 -3 17708 17804 17707 -3 12963 13057 32805 -3 18475 18118 18723 -3 18723 18474 18475 -3 18475 18474 19418 -3 18474 19527 19418 -3 12111 3179 27753 -3 19527 18628 19515 -3 26683 20244 20330 -3 18379 18378 19515 -3 18628 18379 19515 -3 17759 17653 19882 -3 18379 19881 18378 -3 19430 19863 19471 -3 18589 19430 19471 -3 17940 18177 19853 -3 18177 17653 19853 -3 11963 16612 10233 -3 19711 17940 19164 -3 19704 18724 18725 -3 30366 30367 7399 -3 34415 34552 34414 -3 30076 35686 27755 -3 19808 18242 18001 -3 18385 18480 18479 -3 27138 27140 28457 -3 28575 28574 28452 -3 18631 19012 5761 -3 19688 19687 566 -3 18312 18035 19307 -3 19514 18664 19307 -3 23531 27060 27058 -3 13467 18475 19418 -3 19485 17393 19166 -3 17892 19485 19166 -3 18705 18491 23220 -3 13558 14619 691 -3 19427 18491 18511 -3 17859 19811 18705 -3 17989 19427 18080 -3 19811 18511 18491 -3 18452 18080 19427 -3 18511 18452 19427 -3 18708 18301 18080 -3 18452 18708 18080 -3 19273 18650 18301 -3 18708 19273 18301 -3 18056 19096 18650 -3 19273 18056 18650 -3 18056 19217 19649 -3 19096 18056 19649 -3 3361 1639 181 -3 5539 19252 5540 -3 7626 7627 1166 -3 18240 19368 19260 -3 19392 19393 19501 -3 6405 14934 14858 -3 19612 19723 19722 -3 19285 19286 19392 -3 17553 17647 17646 -3 19502 19612 19611 -3 25079 20590 20592 -3 17448 17449 17536 -3 17558 19337 15485 -3 19337 18086 19271 -3 18204 18298 18203 -3 19332 20577 18863 -3 730 18011 731 -3 19059 19161 19160 -3 14743 18038 15330 -3 17654 17934 19230 -3 2183 2315 19406 -3 19532 17941 18236 -3 2266 19534 19416 -3 17271 17272 17335 -3 35400 35456 11780 -3 17414 17413 17335 -3 17336 17414 17335 -3 17502 17501 17413 -3 17414 17502 17413 -3 17502 17596 17595 -3 17501 17502 17595 -3 17596 17691 17690 -3 17595 17596 17690 -3 17691 17787 17786 -3 17690 17691 17786 -3 17787 17883 17882 -3 17786 17787 17882 -3 17883 17976 17975 -3 17882 17883 17975 -3 17976 18067 18066 -3 17975 17976 18066 -3 18067 18159 18158 -3 18066 18067 18158 -3 18253 18252 18158 -3 18159 18253 18158 -3 18346 18345 18252 -3 18253 18346 18252 -3 18441 18440 18345 -3 18346 18441 18345 -3 18634 18537 18538 -3 18441 18537 18440 -3 17613 17708 17612 -3 17341 17419 17340 -3 27848 27964 27963 -3 19851 19625 18006 -3 1524 19649 19217 -3 18678 18679 18776 -3 22397 22494 30070 -3 25049 19564 3083 -3 29788 29917 29916 -3 29240 29241 29377 -3 33302 33411 33301 -3 33411 33524 33523 -3 29539 29402 29123 -3 30316 30449 30315 -3 31108 31171 31170 -3 30473 22942 30362 -3 23266 23168 30694 -3 2273 23459 22424 -3 30059 30058 29927 -3 35467 35389 35527 -3 28621 28753 28335 -3 26939 20096 26824 -3 23823 25080 30848 -3 31686 31786 31685 -3 19339 19466 19799 -3 21153 21154 30343 -3 30446 30445 30312 -3 30313 30446 30312 -3 22862 22863 22961 -3 29628 29627 29489 -3 27493 26406 17269 -3 30351 27493 17269 -3 19411 17534 17627 -3 18704 17945 35122 -3 17534 17391 18049 -3 17627 17534 18049 -3 17391 19008 18414 -3 18049 17391 18414 -3 19008 18816 18606 -3 18414 19008 18606 -3 18816 18521 18622 -3 18606 18816 18622 -3 18521 18033 18248 -3 18622 18521 18248 -3 18033 18096 18825 -3 18248 18033 18825 -3 18096 19547 17847 -3 18825 18096 17847 -3 19547 19715 19015 -3 17847 19547 19015 -3 19715 18987 18533 -3 19015 19715 18533 -3 18987 19098 17810 -3 18533 18987 17810 -3 19098 17664 17663 -3 17810 19098 17663 -3 17664 18861 18838 -3 17663 17664 18838 -3 18861 19828 19817 -3 18838 18861 19817 -3 18607 18419 19817 -3 19828 18607 19817 -3 18607 19221 19748 -3 18419 18607 19748 -3 18597 18501 19748 -3 19221 18597 19748 -3 19149 18916 18501 -3 18597 19149 18501 -3 30559 19740 19029 -3 13054 18177 16613 -3 19730 19843 19729 -3 19957 19956 19842 -3 19883 17718 19651 -3 4058 4190 4057 -3 19170 18148 18170 -3 18342 19170 18170 -3 12566 11961 11566 -3 33432 7281 7173 -3 32509 32618 32508 -3 19243 6536 27521 -3 30842 25631 25487 -3 35393 35352 35601 -3 25343 28187 27056 -3 18508 18763 18474 -3 18723 18508 18474 -3 18763 18052 19527 -3 18474 18763 19527 -3 18052 18822 18628 -3 19527 18052 18628 -3 18995 18379 18628 -3 18822 18995 18628 -3 18221 19881 18379 -3 18995 18221 18379 -3 20496 19882 13054 -3 18221 18506 19881 -3 19545 19853 17759 -3 18506 19545 17759 -3 17938 17940 19853 -3 19545 17938 19853 -3 12459 27032 18132 -3 17938 19164 17940 -3 35506 35613 35895 -3 19164 18709 19711 -3 18384 18385 18479 -3 18514 17701 18609 -3 19362 20948 20673 -3 19697 19708 17716 -3 18564 18661 18563 -3 35872 35914 35595 -3 19203 19514 19307 -3 18244 18438 18664 -3 30952 30951 30897 -3 21041 18746 18647 -3 31849 31947 31848 -3 19328 7107 18026 -3 17956 17859 19328 -3 19636 17956 19328 -3 19004 19811 17859 -3 17956 19004 17859 -3 18323 18511 19811 -3 19004 18323 19811 -3 18186 18452 18511 -3 18323 18186 18511 -3 18707 18708 18452 -3 18186 18707 18452 -3 19169 19273 18708 -3 18707 19169 18708 -3 18179 18056 19273 -3 19169 18179 19273 -3 1334 1219 1335 -3 18056 18179 19217 -3 18054 18240 19260 -3 1690 18990 1806 -3 19890 18591 18818 -3 35688 35506 35914 -3 19181 19182 19285 -3 19393 19502 19501 -3 17718 18989 18088 -3 19286 19393 19392 -3 26615 26617 26727 -3 1309 1308 1192 -3 17558 18086 19337 -3 20883 20802 18365 -3 19332 18863 18086 -3 17558 19332 18086 -3 17613 17612 17518 -3 1323 1207 1324 -3 30985 30984 30926 -3 17519 17613 17518 -3 20362 17870 17871 -3 3862 18477 18718 -3 18848 18849 18947 -3 19621 2445 2579 -3 17453 17541 17540 -3 18005 18476 5198 -3 7448 628 512 -3 13267 13171 13172 -3 17337 17415 17414 -3 31950 32049 32048 -3 17415 17503 17502 -3 17414 17415 17502 -3 17597 17596 17502 -3 17503 17597 17502 -3 17692 17691 17596 -3 17597 17692 17596 -3 17692 17788 17787 -3 17691 17692 17787 -3 17788 17884 17883 -3 17787 17788 17883 -3 17884 17977 17976 -3 17883 17884 17976 -3 17977 18068 18067 -3 17976 17977 18067 -3 18068 18160 18159 -3 18067 18068 18159 -3 18160 18254 18253 -3 18159 18160 18253 -3 18254 18347 18346 -3 18253 18254 18346 -3 18442 18441 18346 -3 18347 18442 18346 -3 18538 18537 18441 -3 18442 18538 18441 -3 18635 18636 21026 -3 18634 21025 21024 -3 3933 4067 19442 -3 1795 18871 18872 -3 15489 3310 19120 -3 35845 27027 35909 -3 25631 30842 30851 -3 26925 27043 27042 -3 25261 25404 27957 -3 11623 35729 35563 -3 29787 29788 29916 -3 29132 29133 29818 -3 33734 33868 33733 -3 29666 29665 29527 -3 2675 21031 15723 -3 19675 21747 5088 -3 7298 6837 7084 -3 22424 2406 2273 -3 29528 29527 29390 -3 32448 32555 32447 -3 30486 30488 11384 -3 27053 27054 28359 -3 28335 7287 29562 -3 28605 21560 19671 -3 30842 25487 30843 -3 19339 19681 11574 -3 19799 19466 28467 -3 28453 28452 28332 -3 28333 28453 28332 -3 29628 29761 29627 -3 29761 29760 29627 -3 2946 29146 29681 -3 27527 2946 29681 -3 19821 18226 17534 -3 17627 18704 19411 -3 18226 18436 17391 -3 17534 18226 17391 -3 18436 17837 19008 -3 17391 18436 19008 -3 17837 18153 18816 -3 19008 17837 18816 -3 18153 18713 18521 -3 18816 18153 18521 -3 18713 18453 18033 -3 18521 18713 18033 -3 18453 18270 18096 -3 18033 18453 18096 -3 18270 18007 19547 -3 18096 18270 19547 -3 18836 19715 19547 -3 18007 18836 19547 -3 18392 18987 19715 -3 18836 18392 19715 -3 18235 19098 18987 -3 18392 18235 18987 -3 18235 17665 17664 -3 19098 18235 17664 -3 17665 18870 18861 -3 17664 17665 18861 -3 18870 19847 19828 -3 18861 18870 19828 -3 19847 4400 18607 -3 19828 19847 18607 -3 4400 19694 19221 -3 18607 4400 19221 -3 19694 18500 18597 -3 19221 19694 18597 -3 18500 17652 19149 -3 18597 18500 19149 -3 28552 28681 27262 -3 19149 17652 18055 -3 19384 19468 18372 -3 17991 19168 19956 -3 35439 35897 35874 -3 4998 4863 4999 -3 29360 29359 29222 -3 29223 29222 29085 -3 18430 19254 18220 -3 27394 27513 27512 -3 26809 26810 26924 -3 6536 6990 28368 -3 6990 19644 28368 -3 33025 10599 10723 -3 31236 31301 31235 -3 19751 18665 18763 -3 18508 19751 18763 -3 18665 18326 18052 -3 18763 18665 18052 -3 18326 18406 18822 -3 18052 18326 18822 -3 18171 18995 18822 -3 18406 18171 18822 -3 18504 18221 18995 -3 18171 18504 18995 -3 17656 18506 18221 -3 18504 17656 18221 -3 17865 19545 18506 -3 17656 17865 18506 -3 17935 17938 19545 -3 17865 17935 19545 -3 18238 19164 17938 -3 17935 18238 17938 -3 19446 18709 19164 -3 18238 19446 19164 -3 19812 18428 18709 -3 19446 19812 18709 -3 17444 19697 18428 -3 19812 17444 18428 -3 19417 19365 19697 -3 17444 19417 19697 -3 19514 18244 18664 -3 25870 26012 1678 -3 18026 21769 19928 -3 19928 21769 18868 -3 19622 19636 19928 -3 17623 19622 19928 -3 17957 17956 19636 -3 19622 17957 19636 -3 18905 19004 17956 -3 17957 18905 17956 -3 18229 18323 19004 -3 18905 18229 19004 -3 18819 18186 18323 -3 18229 18819 18323 -3 18393 18707 18186 -3 18819 18393 18186 -3 18393 19066 19169 -3 18707 18393 19169 -3 19066 19106 18179 -3 19169 19066 18179 -3 17293 7093 17361 -3 22749 22849 6252 -3 19368 18371 18370 -3 25457 23851 17570 -3 3669 18001 3539 -3 19263 19262 19158 -3 18674 18675 18772 -3 17567 19893 19780 -3 18481 18482 18577 -3 18773 18872 18871 -3 18578 18675 18674 -3 17558 4935 19174 -3 1522 17949 19586 -3 1309 1192 1193 -3 2886 18598 19174 -3 19174 19332 17558 -3 3660 19230 3792 -3 1207 18478 1324 -3 19174 18124 19332 -3 20562 20478 17993 -3 22651 17988 18569 -3 5135 18581 18206 -3 18098 17987 18091 -3 3268 19858 3129 -3 34615 18317 33804 -3 19843 19957 19842 -3 17734 17830 17733 -3 18577 18578 18674 -3 1693 1694 1810 -3 18758 18759 18857 -3 35631 35874 35593 -3 25346 25183 28348 -3 17504 17503 17415 -3 17416 17504 17415 -3 17504 17598 17597 -3 17503 17504 17597 -3 17598 17693 17692 -3 17597 17598 17692 -3 17693 17789 17788 -3 17692 17693 17788 -3 17789 17885 17884 -3 17788 17789 17884 -3 17885 17978 17977 -3 17884 17885 17977 -3 17978 18069 18068 -3 17977 17978 18068 -3 18161 18160 18068 -3 18069 18161 18068 -3 18255 18254 18160 -3 18161 18255 18160 -3 18348 18347 18254 -3 18255 18348 18254 -3 18348 18443 18442 -3 18347 18348 18442 -3 18443 18539 18538 -3 18442 18443 18538 -3 13564 18642 18740 -3 18538 18539 18635 -3 34723 34596 34597 -3 19762 18357 18437 -3 25034 25033 22368 -3 23315 21746 19794 -3 27499 24301 27500 -3 35644 35763 35683 -3 6536 28368 27521 -3 26921 26922 27039 -3 6990 27294 19644 -3 28875 28610 29684 -3 28430 28552 26412 -3 27262 29133 29132 -3 2403 19451 19450 -3 19451 14970 19450 -3 34002 34138 34001 -3 30290 12215 11884 -3 25570 25569 23711 -3 28562 28563 28691 -3 28360 30082 28359 -3 30082 30078 28359 -3 27873 7068 19791 -3 29001 29000 17252 -3 29958 17862 11574 -3 19681 19339 19799 -3 19784 19783 19455 -3 7183 7295 19455 -3 30285 30152 22961 -3 29890 29889 29760 -3 26426 17667 29146 -3 21375 27527 28190 -3 18320 18226 19821 -3 35643 35941 35502 -3 19216 18436 18226 -3 18320 19216 18226 -3 17910 17837 18436 -3 19216 17910 18436 -3 17910 19854 18153 -3 17837 17910 18153 -3 19854 18601 18713 -3 18153 19854 18713 -3 19019 18453 18713 -3 18601 19019 18713 -3 19019 19127 18270 -3 18453 19019 18270 -3 19127 18632 18007 -3 18270 19127 18007 -3 19747 18836 18007 -3 18632 19747 18007 -3 19924 18392 18836 -3 19747 19924 18836 -3 1766 18235 18392 -3 19924 1766 18392 -3 17666 17665 18235 -3 1766 17666 18235 -3 17666 18888 18870 -3 17665 17666 18870 -3 18888 19849 19847 -3 18870 18888 19847 -3 19849 18531 4400 -3 19847 19849 4400 -3 18531 19695 19694 -3 4400 18531 19694 -3 19695 18699 18500 -3 19694 19695 18500 -3 18699 18390 17652 -3 18500 18699 17652 -3 7290 30027 30633 -3 17765 5359 18961 -3 18267 3965 4260 -3 23220 22449 18705 -3 28816 30476 30475 -3 19411 35122 32568 -3 33483 33602 33601 -3 30871 30925 30870 -3 24339 6877 29762 -3 22761 22663 12109 -3 27379 29699 27378 -3 29144 7290 28610 -3 27294 29684 19644 -3 6950 34465 6951 -3 26412 27262 29132 -3 18963 18568 18665 -3 19751 18963 18665 -3 18568 18492 18326 -3 18665 18568 18326 -3 18492 18797 18406 -3 18326 18492 18406 -3 19309 18171 18406 -3 18797 19309 18406 -3 19546 18504 18171 -3 19309 19546 18171 -3 18218 17656 18504 -3 19546 18218 18504 -3 17768 17865 17656 -3 18218 17768 17656 -3 18356 17935 17865 -3 17768 18356 17865 -3 17869 18238 17935 -3 18356 17869 17935 -3 18811 19446 18238 -3 17869 18811 18238 -3 18100 19812 19446 -3 18811 18100 19446 -3 19302 17444 19812 -3 18100 19302 19812 -3 19707 19417 17444 -3 19302 19707 17444 -3 19379 18968 19417 -3 19707 19379 19417 -3 17529 17623 18968 -3 19379 17529 18968 -3 18427 19622 17623 -3 17529 18427 17623 -3 18706 17957 19622 -3 18427 18706 19622 -3 18420 18905 17957 -3 18706 18420 17957 -3 17954 18229 18905 -3 18420 17954 18905 -3 17986 18819 18229 -3 17954 17986 18229 -3 17986 18805 18393 -3 18819 17986 18393 -3 18805 18866 19066 -3 18393 18805 19066 -3 18866 18477 19106 -3 19066 18866 19106 -3 1647 18081 19513 -3 35889 35678 35709 -3 19260 19368 18370 -3 3039 17913 4260 -3 18677 18775 18774 -3 19151 18710 19439 -3 18685 18783 18782 -3 19621 19620 19510 -3 1442 1325 18575 -3 18958 18957 18858 -3 18017 18018 18107 -3 19192 18493 19894 -3 17644 17645 17739 -3 6392 15754 2886 -3 18077 17560 17854 -3 17560 17891 17854 -3 731 18102 850 -3 19942 21287 343 -3 18598 17842 18124 -3 19174 18598 18124 -3 18590 17988 18124 -3 17842 18590 18124 -3 18517 18422 22459 -3 18590 18569 17988 -3 35751 35360 35859 -3 18569 18517 19429 -3 13242 13990 18215 -3 18517 18308 18422 -3 3731 3862 18718 -3 15433 18215 18494 -3 17644 17739 17738 -3 1332 18680 18679 -3 17295 5821 19109 -3 35170 35300 17283 -3 35169 35170 17283 -3 17505 17504 17416 -3 17417 17505 17416 -3 17599 17598 17504 -3 17505 17599 17504 -3 17599 17694 17693 -3 17598 17599 17693 -3 17600 20205 20204 -3 17693 17694 17789 -3 17790 17694 20204 -3 17789 17790 17885 -3 17886 17979 17978 -3 17885 17886 17978 -3 17979 18070 18069 -3 17978 17979 18069 -3 18070 18162 18161 -3 18069 18070 18161 -3 18162 18256 18255 -3 18161 18162 18255 -3 18256 18349 18348 -3 18255 18256 18348 -3 18444 18443 18348 -3 18349 18444 18348 -3 18444 18540 18539 -3 18443 18444 18539 -3 18540 18637 18636 -3 18539 18540 18636 -3 1461 1576 1460 -3 8577 8576 14818 -3 13767 14143 23173 -3 35398 35903 35407 -3 28375 30098 30097 -3 28374 28375 30097 -3 6530 28681 28552 -3 27294 28875 29684 -3 28313 28312 28195 -3 28196 28313 28195 -3 30826 23168 23266 -3 15346 14970 7187 -3 32503 32502 32397 -3 7527 11728 11811 -3 13267 28889 29023 -3 24865 29258 27287 -3 30078 30082 16310 -3 30082 20175 16310 -3 25835 28724 28592 -3 27666 19700 30480 -3 25014 29216 30737 -3 17368 19339 11574 -3 32729 32841 32728 -3 29641 29774 29773 -3 30285 23059 30418 -3 17257 25914 28353 -3 32788 32900 32787 -3 27527 29681 28190 -3 18512 17364 18320 -3 19937 18320 19821 -3 17364 19063 19216 -3 18320 17364 19216 -3 19063 19626 17910 -3 19216 19063 17910 -3 19626 18624 19854 -3 17910 19626 19854 -3 18624 18502 18601 -3 19854 18624 18601 -3 18502 19712 19019 -3 18601 18502 19019 -3 19126 19127 19019 -3 19712 19126 19019 -3 19126 19440 18632 -3 19127 19126 18632 -3 19440 19764 19747 -3 18632 19440 19747 -3 18547 19924 19747 -3 19764 18547 19747 -3 18831 1766 19924 -3 18547 18831 19924 -3 17714 17666 1766 -3 18831 17714 1766 -3 17714 18889 18888 -3 17666 17714 18888 -3 18889 19868 19849 -3 18888 18889 19849 -3 19868 3614 18531 -3 19849 19868 18531 -3 3614 17955 19695 -3 18531 3614 19695 -3 17955 10688 18699 -3 19695 17955 18699 -3 27370 27371 27489 -3 33157 33262 33261 -3 28880 29816 26944 -3 35691 35628 35856 -3 11925 27196 27198 -3 21654 21655 7294 -3 26519 24066 27258 -3 17295 5687 5821 -3 6944 22097 24300 -3 11360 11506 1977 -3 35657 35723 35386 -3 28875 29144 28610 -3 30608 30073 26519 -3 28610 7290 30633 -3 6530 29294 7290 -3 18997 19650 18963 -3 33325 33434 33433 -3 19650 18473 18568 -3 18963 19650 18568 -3 18473 18314 18492 -3 18568 18473 18492 -3 18314 17890 18797 -3 18492 18314 18797 -3 17895 19309 18797 -3 17890 17895 18797 -3 17895 19303 19546 -3 19309 17895 19546 -3 18125 18218 19546 -3 19303 18125 19546 -3 18507 17768 18218 -3 18125 18507 18218 -3 18324 18356 17768 -3 18507 18324 17768 -3 18180 17869 18356 -3 18324 18180 18356 -3 18720 18811 17869 -3 18180 18720 17869 -3 19884 18100 18811 -3 18720 19884 18811 -3 19009 19302 18100 -3 19884 19009 18100 -3 18466 19707 19302 -3 19009 18466 19302 -3 19489 19379 19707 -3 18466 19489 19707 -3 18027 17529 19379 -3 19489 18027 19379 -3 18469 18427 17529 -3 18027 18469 17529 -3 17698 18706 18427 -3 18469 17698 18427 -3 18051 18420 18706 -3 17698 18051 18706 -3 18051 17953 17954 -3 18420 18051 17954 -3 17953 17562 17986 -3 17954 17953 17986 -3 17562 18806 18805 -3 17986 17562 18805 -3 18806 18965 18866 -3 18805 18806 18866 -3 18718 18477 18866 -3 18965 18718 18866 -3 12334 23712 12333 -3 7221 7115 7222 -3 18371 19278 19268 -3 18370 18371 19268 -3 18881 18980 18979 -3 6881 6949 6948 -3 18239 19253 19252 -3 17551 17645 17644 -3 33246 33356 17332 -3 3180 1492 3039 -3 19955 19956 19272 -3 18495 5818 19023 -3 17542 17636 17635 -3 5684 17891 19023 -3 18732 14551 14591 -3 18341 6148 250 -3 147 19412 146 -3 18732 18391 17842 -3 18598 18732 17842 -3 18391 18279 18590 -3 17842 18391 18590 -3 18279 18147 18569 -3 18590 18279 18569 -3 19006 18517 18569 -3 18147 19006 18569 -3 18998 18308 18517 -3 19006 18998 18517 -3 17848 19412 18308 -3 18998 17848 18308 -3 18688 1337 18689 -3 3615 146 17625 -3 19620 19731 19619 -3 35637 35607 35905 -3 19168 18695 19627 -3 17506 17505 17417 -3 16800 16616 20319 -3 17505 17506 17599 -3 18275 1074 1190 -3 20041 20121 17506 -3 19833 19947 19946 -3 26682 26683 24651 -3 361 3487 250 -3 17453 17454 17541 -3 16551 21319 17860 -3 21319 20622 19277 -3 17860 21319 19277 -3 17979 17980 18070 -3 18071 18163 18162 -3 18070 18071 18162 -3 18163 18257 18256 -3 18162 18163 18256 -3 18257 18350 18349 -3 18256 18257 18349 -3 18350 18445 18444 -3 18349 18350 18444 -3 18445 18541 18540 -3 18444 18445 18540 -3 18541 18638 18637 -3 18540 18541 18637 -3 18718 18722 18318 -3 11808 35635 35359 -3 35387 35910 35855 -3 18594 16170 4687 -3 27673 27674 12442 -3 30098 19800 19797 -3 27058 27060 28374 -3 29277 27985 26915 -3 30591 30590 30456 -3 18639 21115 21114 -3 28313 28433 28312 -3 26969 27957 25404 -3 14970 15346 19450 -3 30583 30582 30448 -3 11384 21643 27875 -3 28987 19568 28244 -3 13487 28987 28244 -3 17314 28130 28129 -3 22481 22580 22579 -3 19248 19355 21945 -3 28614 28618 29408 -3 26411 26802 28854 -3 26941 30332 5463 -3 25406 25405 25263 -3 27375 18929 29356 -3 35230 19522 35101 -3 27286 35725 27287 -3 18320 19937 18512 -3 19806 18246 18512 -3 18115 17364 18512 -3 18246 18115 18512 -3 19166 19063 17364 -3 18115 19166 17364 -3 17393 19626 19063 -3 19166 17393 19063 -3 19383 18624 19626 -3 17393 19383 19626 -3 19383 18407 18502 -3 18624 19383 18502 -3 18407 19601 19712 -3 18502 18407 19712 -3 18824 19126 19712 -3 19601 18824 19712 -3 19587 19440 19126 -3 18824 19587 19126 -3 18566 19764 19440 -3 19587 18566 19440 -3 18133 18547 19764 -3 18566 18133 19764 -3 19524 18831 18547 -3 18133 19524 18547 -3 17715 17714 18831 -3 19524 17715 18831 -3 17715 18890 18889 -3 17714 17715 18889 -3 18890 19871 19868 -3 18889 18890 19868 -3 19871 18969 3614 -3 19868 19871 3614 -3 18969 18076 17955 -3 3614 18969 17955 -3 18076 19544 10688 -3 17955 18076 10688 -3 3848 7674 8239 -3 35324 18814 17695 -3 29528 29666 29527 -3 29150 30155 21841 -3 17774 17870 17773 -3 2674 21655 21654 -3 31793 31899 31792 -3 18164 18258 18257 -3 34651 17275 34523 -3 4012 20317 22542 -3 28136 23531 27058 -3 21475 23531 28136 -3 28681 30600 27262 -3 29144 6530 7290 -3 30352 29294 28430 -3 29294 30352 30027 -3 18897 19171 19650 -3 28190 35415 21375 -3 19171 18472 18473 -3 19650 19171 18473 -3 18472 18123 18314 -3 18473 18472 18314 -3 17896 17890 18314 -3 18123 17896 18314 -3 17896 18702 17895 -3 17890 17896 17895 -3 18702 19124 19303 -3 17895 18702 19303 -3 19124 18312 18125 -3 19303 19124 18125 -3 19307 18507 18125 -3 18312 19307 18125 -3 18664 18324 18507 -3 19307 18664 18507 -3 18438 18180 18324 -3 18664 18438 18324 -3 19758 18720 18180 -3 18438 19758 18180 -3 19495 19884 18720 -3 19758 19495 18720 -3 19205 19009 19884 -3 19495 19205 19884 -3 17931 18466 19009 -3 19205 17931 19009 -3 19599 19489 18466 -3 17931 19599 18466 -3 18028 18027 19489 -3 19599 18028 19489 -3 19597 18469 18027 -3 18028 19597 18027 -3 19199 17698 18469 -3 19597 19199 18469 -3 18141 18051 17698 -3 19199 18141 17698 -3 18141 19927 17953 -3 18051 18141 17953 -3 19927 17473 17562 -3 17953 19927 17562 -3 17473 18213 18806 -3 17562 17473 18806 -3 18213 18722 18965 -3 18806 18213 18965 -3 14628 21495 16857 -3 24032 14559 24092 -3 23239 21305 21488 -3 23239 5555 21305 -3 24851 24072 23805 -3 12339 23562 23604 -3 21916 24216 21915 -3 28367 20892 29021 -3 26029 26171 26170 -3 24433 24369 25403 -3 35875 35658 35836 -3 25545 24433 25403 -3 26089 22646 23238 -3 24563 25211 25090 -3 24556 23544 25979 -3 20058 21393 20646 -3 21423 25168 24950 -3 34995 33812 12572 -3 24905 24904 25319 -3 24129 25678 24411 -3 32119 32120 32219 -3 330 3451 8050 -3 24072 25249 23673 -3 21540 24851 23805 -3 21916 21915 23744 -3 23799 21916 23744 -3 24369 24433 23988 -3 26028 26029 26170 -3 25509 24563 23872 -3 24433 23989 23988 -3 23926 23813 26461 -3 25506 25509 23872 -3 23552 13051 23923 -3 6862 35427 28721 -3 25896 26038 26037 -3 20797 20879 20796 -3 26785 26673 24220 -3 25616 25758 25757 -3 23661 23613 24950 -3 25615 25616 25757 -3 24781 24662 20825 -3 24824 23661 24950 -3 12215 22942 24662 -3 25307 24905 25319 -3 34848 11789 4100 -3 16189 16046 21884 -3 16752 16751 25467 -3 23805 24072 23673 -3 24344 24053 24758 -3 24216 19426 6654 -3 24155 25509 25506 -3 23989 24133 23983 -3 26140 26141 23486 -3 24153 24155 25506 -3 29152 20896 27433 -3 26141 23543 23486 -3 25619 23595 21539 -3 21913 26212 25568 -3 25758 25900 25899 -3 25895 25896 26037 -3 25757 25758 25899 -3 25900 26042 26041 -3 25899 25900 26041 -3 24620 24426 24326 -3 26042 26184 26183 -3 23595 25941 25798 -3 21539 23595 25798 -3 26101 20094 25449 -3 25494 25923 25370 -3 25138 2252 25139 -3 21074 27605 27606 -3 20195 20034 21858 -3 20052 21858 20034 -3 20034 21580 20052 -3 21141 28246 27137 -3 21580 21868 21141 -3 21868 22445 21141 -3 21776 22646 21672 -3 26231 11717 21672 -3 26283 23690 26282 -3 23532 23890 24954 -3 35485 35610 30346 -3 25160 12647 4662 -3 24326 24327 25618 -3 25618 25619 21539 -3 26041 26042 26183 -3 26184 26325 26324 -3 20879 20959 20958 -3 19299 2181 19194 -3 20878 20879 20958 -3 26183 26184 26324 -3 24426 24327 24326 -3 26325 24270 20922 -3 24327 25619 25618 -3 35845 35909 35553 -3 25374 24164 24547 -3 20317 4012 27666 -3 23732 23546 23889 -3 25663 20263 24964 -3 22542 20898 20195 -3 16151 20195 21328 -3 21401 20034 20195 -3 20898 21401 20195 -3 21401 21766 21580 -3 20034 21401 21580 -3 21766 21963 21868 -3 21580 21766 21868 -3 21963 12633 22543 -3 21868 21963 22543 -3 12633 22545 22158 -3 26815 25936 24587 -3 24636 26929 24586 -3 24587 26929 26815 -3 14043 11957 14246 -3 34674 34802 34673 -3 11957 20983 21066 -3 23807 24914 24137 -3 15671 15536 15672 -3 20983 17102 21066 -3 20959 21042 21041 -3 20958 20959 21041 -3 26324 26325 20922 -3 24110 24426 24466 -3 24270 12274 25447 -3 28737 29954 22944 -3 21573 20570 27375 -3 12817 17103 20570 -3 14947 12817 20570 -3 20401 20317 17103 -3 12817 20401 17103 -3 20195 4012 22542 -3 20401 16769 20317 -3 16769 23337 20898 -3 22542 16769 20898 -3 23337 20035 21401 -3 20898 23337 21401 -3 20035 20325 21766 -3 21401 20035 21766 -3 20325 22058 21963 -3 21766 20325 21963 -3 22058 14847 12633 -3 21963 22058 12633 -3 14847 22644 22545 -3 12633 14847 22545 -3 22644 14089 14043 -3 22545 22644 14043 -3 14089 16763 11957 -3 14043 14089 11957 -3 16763 21152 20983 -3 11957 16763 20983 -3 12991 17102 20983 -3 21152 12991 20983 -3 21225 22354 2938 -3 35744 35553 35613 -3 20922 24270 25447 -3 12274 25427 24557 -3 27752 21572 21573 -3 24652 24225 24019 -3 13523 14947 21572 -3 21571 13523 21572 -3 21507 12817 14947 -3 13523 21507 14947 -3 20146 20401 12817 -3 21507 20146 12817 -3 5419 16769 20401 -3 20146 5419 20401 -3 5419 20151 23337 -3 16769 5419 23337 -3 20151 20230 20035 -3 23337 20151 20035 -3 20230 20053 20325 -3 20035 20230 20325 -3 20053 22154 22058 -3 20325 20053 22058 -3 22154 22551 14847 -3 22058 22154 14847 -3 22551 22743 22644 -3 14847 22551 22644 -3 22743 9861 14089 -3 22644 22743 14089 -3 9861 13807 16763 -3 14089 9861 16763 -3 13807 21238 21152 -3 16763 13807 21152 -3 31520 31607 31519 -3 21162 21248 27837 -3 21032 18642 18545 -3 25447 12274 24557 -3 26731 26621 11529 -3 26054 26196 26053 -3 21211 21571 22552 -3 13092 21211 22552 -3 1603 13523 21571 -3 21211 1603 21571 -3 20576 21507 13523 -3 1603 20576 13523 -3 20145 20146 21507 -3 20576 20145 21507 -3 11638 5419 20146 -3 20145 11638 20146 -3 11638 20196 20151 -3 5419 11638 20151 -3 20196 20036 20230 -3 20151 20196 20230 -3 20036 21581 20053 -3 20230 20036 20053 -3 21581 22250 22154 -3 20053 21581 22154 -3 22250 20062 22551 -3 22154 22250 22551 -3 20062 3020 22743 -3 22551 20062 22743 -3 3020 3604 9861 -3 22743 3020 9861 -3 3604 16762 13807 -3 9861 3604 13807 -3 16762 13950 21238 -3 13807 16762 21238 -3 35825 35715 35937 -3 35698 35923 35718 -3 25427 25295 26216 -3 21792 24217 11669 -3 24557 25427 26216 -3 22346 13092 21506 -3 21506 18928 13698 -3 21480 21211 13092 -3 22346 21480 13092 -3 23249 1603 21211 -3 21480 23249 21211 -3 20236 20576 1603 -3 23249 20236 1603 -3 464 20145 20576 -3 20236 464 20576 -3 464 22444 11638 -3 20145 464 11638 -3 22444 20976 20196 -3 11638 22444 20196 -3 20976 21306 20036 -3 20196 20976 20036 -3 21306 21767 21581 -3 20036 21306 21581 -3 21767 20348 22250 -3 21581 21767 22250 -3 20348 20483 20062 -3 22250 20348 20062 -3 20483 16008 3020 -3 20062 20483 3020 -3 16008 5070 3604 -3 3020 16008 3604 -3 5070 10444 16762 -3 3604 5070 16762 -3 10444 8257 13950 -3 16762 10444 13950 -3 10405 10406 10525 -3 21466 21467 11360 -3 14407 12991 14426 -3 25295 24882 24881 -3 23371 21692 21598 -3 28247 13173 28016 -3 22249 22346 21598 -3 21692 22249 21598 -3 21210 21480 22346 -3 22249 21210 22346 -3 23347 23249 21480 -3 21210 23347 21480 -3 22170 20236 23249 -3 23347 22170 23249 -3 22170 15745 464 -3 20236 22170 464 -3 15745 22347 22444 -3 464 15745 22444 -3 22347 20978 20976 -3 22444 22347 20976 -3 20978 20316 21306 -3 20976 20978 21306 -3 20316 1020 21767 -3 21306 20316 21767 -3 1020 11709 20348 -3 21767 1020 20348 -3 11709 20568 20483 -3 20348 11709 20483 -3 20568 6895 16008 -3 20483 20568 16008 -3 6895 15883 5070 -3 16008 6895 5070 -3 15883 20148 10444 -3 5070 15883 10444 -3 15279 8257 10444 -3 20148 15279 10444 -3 20542 20624 18166 -3 18313 19475 22832 -3 35450 35869 35926 -3 21222 20653 23371 -3 35695 35577 35435 -3 14144 21692 23371 -3 20653 14144 23371 -3 21773 22249 21692 -3 14144 21773 21692 -3 21479 21210 22249 -3 21773 21479 22249 -3 23443 23347 21210 -3 21479 23443 21210 -3 13052 22170 23347 -3 23443 13052 23347 -3 13052 23335 15745 -3 22170 13052 15745 -3 23335 21774 22347 -3 15745 23335 22347 -3 21774 23434 20978 -3 22347 21774 20978 -3 23434 20037 20316 -3 20978 23434 20316 -3 20037 20054 1020 -3 20316 20037 1020 -3 20054 5596 11709 -3 1020 20054 11709 -3 5596 20650 20568 -3 11709 5596 20568 -3 20650 10982 6895 -3 20568 20650 6895 -3 10982 22335 15883 -3 6895 10982 15883 -3 22335 20067 20148 -3 15883 22335 20148 -3 20067 19094 20148 -3 35503 35681 35790 -3 2938 22452 13334 -3 32 17108 8895 -3 12809 16313 21222 -3 30880 30879 27901 -3 22949 20734 20653 -3 21222 22949 20653 -3 3468 14144 20653 -3 20734 3468 20653 -3 3468 21772 21773 -3 14144 3468 21773 -3 21478 21479 21773 -3 21772 21478 21773 -3 23151 23443 21479 -3 21478 23151 21479 -3 23151 14048 13052 -3 23443 23151 13052 -3 14048 23432 23335 -3 13052 14048 23335 -3 23432 21869 21774 -3 23335 23432 21774 -3 21869 20197 23434 -3 21774 21869 23434 -3 20197 21859 20037 -3 23434 20197 20037 -3 21859 21675 20054 -3 20037 21859 20054 -3 21675 13992 5596 -3 20054 21675 5596 -3 13992 20649 20650 -3 5596 13992 20650 -3 20649 9624 10982 -3 20650 20649 10982 -3 9624 20147 22335 -3 10982 9624 22335 -3 20147 20068 20067 -3 22335 20147 20067 -3 14582 14504 14583 -3 35586 35631 35422 -3 35440 35876 35942 -3 24556 25979 16930 -3 26216 25295 24881 -3 20733 20734 22949 -3 17257 27866 12422 -3 21570 3468 20734 -3 20733 21570 20734 -3 21315 21772 3468 -3 21570 21315 3468 -3 21315 21398 21478 -3 21772 21315 21478 -3 23053 23151 21478 -3 21398 23053 21478 -3 23053 21416 14048 -3 23151 23053 14048 -3 21416 23431 23432 -3 14048 21416 23432 -3 23431 13785 21869 -3 23432 23431 21869 -3 13785 21870 20197 -3 21869 13785 20197 -3 21870 20038 21859 -3 20197 21870 21859 -3 20038 21863 21675 -3 21859 20038 21675 -3 21863 4918 13992 -3 21675 21863 13992 -3 4918 20895 20649 -3 13992 4918 20649 -3 20895 2212 9624 -3 20649 20895 9624 -3 2212 20066 20147 -3 9624 2212 20147 -3 18544 18641 18640 -3 18394 17915 19475 -3 19992 20497 16611 -3 20147 20066 19889 -3 24882 24650 23994 -3 20745 25015 24836 -3 13123 26090 14331 -3 22256 20733 21493 -3 22247 22256 21493 -3 21785 21570 20733 -3 22256 21785 20733 -3 21227 21315 21570 -3 21785 21227 21570 -3 21227 21477 21398 -3 21315 21227 21398 -3 22954 23053 21398 -3 21477 22954 21398 -3 22954 21326 21416 -3 23053 22954 21416 -3 21326 23237 23431 -3 21416 21326 23431 -3 23237 202 13785 -3 23431 23237 13785 -3 202 21590 21870 -3 13785 202 21870 -3 21590 21860 20038 -3 21870 21590 20038 -3 21860 21309 21863 -3 20038 21860 21863 -3 21309 20060 4918 -3 21863 21309 4918 -3 20060 20975 20895 -3 4918 20060 20895 -3 20975 2655 2212 -3 20895 20975 2212 -3 2655 20232 20066 -3 2212 2655 20066 -3 26788 26789 24267 -3 17914 20066 20232 -3 3927 14973 15477 -3 25074 25482 25073 -3 24243 24956 24171 -3 24881 24882 23994 -3 25820 20745 24836 -3 24836 25015 24778 -3 22352 22256 22247 -3 13082 22352 22247 -3 14046 21785 22256 -3 22352 14046 22256 -3 21140 21227 21785 -3 14046 21140 21785 -3 21140 21476 21477 -3 21227 21140 21477 -3 21476 22854 22954 -3 21477 21476 22954 -3 22854 21237 21326 -3 22954 22854 21326 -3 21237 23334 23237 -3 21326 21237 23237 -3 23334 20981 202 -3 23237 23334 202 -3 20981 22546 21590 -3 202 20981 21590 -3 22546 20039 21860 -3 21590 22546 21860 -3 20039 20055 21309 -3 21860 20039 21309 -3 20055 20566 20060 -3 21309 20055 20060 -3 20566 21058 20975 -3 20060 20566 20975 -3 21058 13005 2655 -3 20975 21058 2655 -3 21979 16334 16333 -3 1975 19699 15600 -3 22733 22728 21384 -3 13005 18796 2655 -3 27902 15214 29491 -3 34482 19099 27032 -3 23762 24702 24909 -3 20968 13082 22246 -3 14515 20968 22246 -3 22450 22352 13082 -3 20968 22450 13082 -3 21030 14046 22352 -3 22450 21030 22352 -3 20564 21140 14046 -3 21030 20564 14046 -3 20564 20118 21476 -3 21140 20564 21476 -3 20118 13850 22854 -3 21476 20118 22854 -3 13850 20657 21237 -3 22854 13850 21237 -3 20657 23138 23334 -3 21237 20657 23334 -3 23138 9416 20981 -3 23334 23138 20981 -3 9416 21965 22546 -3 20981 9416 22546 -3 21965 21397 20039 -3 22546 21965 20039 -3 21397 21676 20055 -3 20039 21397 20055 -3 21676 20729 20566 -3 20055 21676 20566 -3 20729 21317 21058 -3 20566 20729 21058 -3 21317 20133 13005 -3 21058 21317 13005 -3 20721 20722 18272 -3 21330 21242 6408 -3 20839 20838 20755 -3 20641 20640 20558 -3 19434 13005 20133 -3 21307 23025 14515 -3 32251 29687 27896 -3 20969 20968 14515 -3 23025 20969 14515 -3 23039 22450 20968 -3 20969 23039 20968 -3 20785 21030 22450 -3 23039 20785 22450 -3 20139 20564 21030 -3 20785 20139 21030 -3 20139 20117 20118 -3 20564 20139 20118 -3 20117 13948 13850 -3 20118 20117 13850 -3 13948 20150 20657 -3 13850 13948 20657 -3 20150 22351 23138 -3 20657 20150 23138 -3 22351 20899 9416 -3 23138 22351 9416 -3 20899 21683 21965 -3 9416 20899 21965 -3 21683 21386 21397 -3 21965 21683 21397 -3 21386 21959 21676 -3 21397 21386 21676 -3 21959 21228 20729 -3 21676 21959 20729 -3 21228 21407 21317 -3 20729 21228 21317 -3 18449 18544 18448 -3 19642 21410 20397 -3 29635 22383 29496 -3 20595 20677 24305 -3 21385 22733 21384 -3 14058 12468 16485 -3 18912 21865 21960 -3 15197 23025 21307 -3 21955 15197 21307 -3 20970 20969 23025 -3 15197 20970 23025 -3 16935 23039 20969 -3 20970 16935 20969 -3 20191 20785 23039 -3 16935 20191 23039 -3 20191 21311 20139 -3 20785 20191 20139 -3 21311 20116 20117 -3 20139 21311 20117 -3 20116 3345 13948 -3 20117 20116 13948 -3 3345 15406 20150 -3 13948 3345 20150 -3 15406 22255 22351 -3 20150 15406 22351 -3 22255 20979 20899 -3 22351 22255 20899 -3 20979 20565 21683 -3 20899 20979 21683 -3 20565 21685 21386 -3 21683 20565 21386 -3 21685 22245 21959 -3 21386 21685 21959 -3 22245 21316 21228 -3 21959 22245 21228 -3 24267 24350 26788 -3 21228 21316 21407 -3 13431 13855 125 -3 35733 35879 35351 -3 20131 11279 13340 -3 2790 13425 21764 -3 19362 20673 29828 -3 35517 35591 35478 -3 14520 15197 21955 -3 21954 14520 21955 -3 21585 20970 15197 -3 14520 21585 15197 -3 15604 16935 20970 -3 21585 15604 20970 -3 21880 20191 16935 -3 15604 21880 16935 -3 21880 9889 21311 -3 20191 21880 21311 -3 9889 20115 20116 -3 21311 9889 20116 -3 20115 22754 3345 -3 20116 20115 3345 -3 22754 15156 15406 -3 3345 22754 15406 -3 15156 21059 22255 -3 15406 15156 22255 -3 21059 22745 20979 -3 22255 21059 20979 -3 22745 22656 20565 -3 20979 22745 20565 -3 22656 21387 21685 -3 20565 22656 21685 -3 21387 20056 22245 -3 21685 21387 22245 -3 20056 21406 21316 -3 22245 20056 21316 -3 17694 17599 17600 -3 35613 35490 35895 -3 21497 20485 16010 -3 15092 30024 3982 -3 13497 21697 21674 -3 21409 22845 22827 -3 23146 18417 23438 -3 10406 10527 10525 -3 16791 19018 19760 -3 23437 14520 21954 -3 23146 23340 19761 -3 21679 21585 14520 -3 23437 21679 14520 -3 20572 15604 21585 -3 21679 20572 21585 -3 21975 21880 15604 -3 20572 21975 15604 -3 21975 13463 9889 -3 21880 21975 9889 -3 13463 12965 20115 -3 9889 13463 20115 -3 12965 22557 22754 -3 20115 12965 22754 -3 22557 14050 15156 -3 22754 22557 15156 -3 14050 20814 21059 -3 15156 14050 21059 -3 20814 20897 22745 -3 21059 20814 22745 -3 20897 20728 22656 -3 22745 20897 22656 -3 20728 21956 21387 -3 22656 20728 21387 -3 21956 21677 20056 -3 21387 21956 20056 -3 21677 21964 21406 -3 20056 21677 21406 -3 5074 25995 4669 -3 28238 28239 25291 -3 14239 15091 11106 -3 15733 15463 13945 -3 5337 4663 12557 -3 24303 25111 24302 -3 17989 23126 23224 -3 30806 35848 30692 -3 27722 21162 27837 -3 27497 11512 6980 -3 23340 23437 19761 -3 22248 21679 23437 -3 23340 22248 23437 -3 20735 20572 21679 -3 22248 20735 21679 -3 22071 21975 20572 -3 20735 22071 20572 -3 22071 5460 13463 -3 21975 22071 13463 -3 5460 20114 12965 -3 13463 5460 12965 -3 20114 22556 22557 -3 12965 20114 22557 -3 22556 21150 14050 -3 22557 22556 14050 -3 21150 20732 20814 -3 14050 21150 20814 -3 20732 20977 20897 -3 20814 20732 20897 -3 20977 22059 20728 -3 20897 20977 20728 -3 22059 21209 21956 -3 20728 22059 21956 -3 21209 21865 21677 -3 21956 21209 21677 -3 23216 18698 23215 -3 21677 21865 21964 -3 12361 21400 20811 -3 20127 20126 17507 -3 29134 29135 28753 -3 20559 20641 20558 -3 147 21492 19412 -3 16356 19437 18144 -3 20128 20127 17507 -3 21488 35548 7080 -3 23242 23340 23146 -3 23438 23242 23146 -3 22345 22248 23340 -3 23242 22345 23340 -3 22345 21148 20735 -3 22248 22345 20735 -3 21148 22167 22071 -3 20735 21148 22071 -3 22167 13901 5460 -3 22071 22167 5460 -3 13901 20113 20114 -3 5460 13901 20114 -3 20113 22458 22556 -3 20114 20113 22556 -3 22458 20737 21150 -3 22556 22458 21150 -3 20737 20651 20732 -3 21150 20737 20732 -3 20651 22446 20977 -3 20732 20651 20977 -3 22446 22060 22059 -3 20977 22446 22059 -3 22060 21388 21209 -3 22059 22060 21209 -3 21388 21960 21865 -3 21209 21388 21865 -3 20722 950 20723 -3 21865 18912 21964 -3 21298 21389 17894 -3 12894 13272 21592 -3 25113 20670 20671 -3 18491 19427 23224 -3 21042 21128 21041 -3 14246 29539 14043 -3 19337 14934 15485 -3 32 8895 10589 -3 21407 18614 21317 -3 21400 21764 20064 -3 20304 20389 20303 -3 20105 20308 19711 -3 19321 22627 22528 -3 16155 15732 23324 -3 19365 18868 21769 -3 16462 14379 18118 -3 19537 18417 23146 -3 21626 28555 28684 -3 23144 23242 23438 -3 23341 23144 23438 -3 12138 22345 23242 -3 23144 12138 23242 -3 22548 21148 22345 -3 12138 22548 22345 -3 22548 11720 22167 -3 21148 22548 22167 -3 11720 4505 13901 -3 22167 11720 13901 -3 4505 20112 20113 -3 13901 4505 20113 -3 20112 21789 22458 -3 20113 20112 22458 -3 21789 20149 20737 -3 22458 21789 20737 -3 20149 20400 20651 -3 20737 20149 20651 -3 20400 22544 22446 -3 20651 20400 22446 -3 22544 20581 22060 -3 22446 22544 22060 -3 20581 1449 21388 -3 22060 20581 21388 -3 1449 21864 21960 -3 21388 1449 21960 -3 20105 20617 20616 -3 21039 21040 18647 -3 20637 20718 20636 -3 17419 17507 17418 -3 24650 24599 24719 -3 24771 12275 23608 -3 23994 24650 24719 -3 24878 25451 20514 -3 24875 24878 20514 -3 35836 35692 35622 -3 35191 7000 35190 -3 26328 26329 24659 -3 21073 12008 23679 -3 1537 25379 22530 -3 26173 26174 26314 -3 5466 9012 14090 -3 23592 20747 25363 -3 26458 26253 26555 -3 6789 11975 8867 -3 25251 23276 21244 -3 4382 24016 24817 -3 13297 2229 4663 -3 11385 16768 3928 -3 18358 19491 19637 -3 20307 17704 20392 -3 15074 15608 5337 -3 13471 13665 12171 -3 23213 23311 23212 -3 33231 7522 7521 -3 21578 4907 13423 -3 11512 28137 6980 -3 19362 21049 23128 -3 19011 18912 21864 -3 21953 23341 20948 -3 23128 21953 20948 -3 23046 23144 23341 -3 21953 23046 23341 -3 22950 12138 23144 -3 23046 22950 23144 -3 22648 22548 12138 -3 22950 22648 12138 -3 22648 22264 11720 -3 22548 22648 11720 -3 22264 22152 4505 -3 11720 22264 4505 -3 22152 20111 20112 -3 4505 22152 20112 -3 20111 21788 21789 -3 20112 20111 21789 -3 21788 21762 20149 -3 21789 21788 20149 -3 21762 20144 20400 -3 20149 21762 20400 -3 20144 22643 22544 -3 20400 20144 22544 -3 22643 15341 20581 -3 22544 22643 20581 -3 15341 21298 1449 -3 20581 15341 1449 -3 19429 22459 22651 -3 1449 21298 21864 -3 16613 20192 20135 -3 20777 18344 18439 -3 20279 20280 21119 -3 20491 21300 21299 -3 24599 23612 24671 -3 24719 24599 24671 -3 24139 25580 24671 -3 23612 24139 24671 -3 21069 24550 25580 -3 24139 21069 25580 -3 25335 24787 13893 -3 24529 23803 24550 -3 25032 25968 24376 -3 25334 25335 13893 -3 23543 23662 24568 -3 24722 23267 23555 -3 25163 26209 25536 -3 26555 23926 26556 -3 26175 26316 26315 -3 20659 21073 23679 -3 34685 34684 34556 -3 35614 35371 35580 -3 26178 26179 26319 -3 23638 24886 20267 -3 26179 26320 26319 -3 16923 23156 15601 -3 24817 24695 25299 -3 25862 24080 24413 -3 15673 25189 15810 -3 19121 953 954 -3 3583 3928 9394 -3 24387 24457 26213 -3 16925 16926 13244 -3 1030 3583 9394 -3 15280 1030 9394 -3 13244 15280 9394 -3 16013 16154 23027 -3 19983 24532 24272 -3 17980 20373 20456 -3 32199 32300 32198 -3 14619 13558 16037 -3 21049 20154 23128 -3 22356 21049 19362 -3 21857 21953 23128 -3 20154 21857 23128 -3 21857 22947 23046 -3 21953 21857 23046 -3 22850 22950 23046 -3 22947 22850 23046 -3 16011 22648 22950 -3 22850 16011 22950 -3 16011 22360 22264 -3 22648 16011 22264 -3 22360 21678 22152 -3 22264 22360 22152 -3 21678 20110 20111 -3 22152 21678 20111 -3 20110 21695 21788 -3 20111 20110 21788 -3 21695 12805 21762 -3 21788 21695 21762 -3 12805 20132 20144 -3 21762 12805 20144 -3 20132 23430 22643 -3 20144 20132 22643 -3 23430 20810 15341 -3 22643 23430 15341 -3 20810 21389 21298 -3 15341 20810 21298 -3 20063 20484 6117 -3 19821 19411 32568 -3 13084 16613 20135 -3 20192 20105 20104 -3 5416 14345 11121 -3 21414 21415 22925 -3 21069 24529 24550 -3 381 380 17630 -3 24529 24412 24328 -3 24426 24620 24466 -3 24320 22882 22881 -3 24966 1520 24579 -3 24110 24466 24432 -3 25581 25583 23348 -3 12020 27318 27317 -3 23948 26255 26115 -3 24366 24705 24199 -3 22530 12107 23058 -3 24610 23948 26115 -3 20842 14153 25510 -3 26056 23857 24729 -3 25602 16916 25603 -3 7656 7771 481 -3 26320 24628 23771 -3 25369 20750 20749 -3 22755 262 23878 -3 21537 25631 24948 -3 23921 262 22755 -3 25299 23921 22755 -3 24308 20429 23717 -3 262 25251 23878 -3 24357 25727 24160 -3 19139 19983 12537 -3 24457 23433 26213 -3 24259 11690 24387 -3 15031 16013 16009 -3 23657 21055 25484 -3 8155 15031 16009 -3 24239 25446 22296 -3 16009 16013 23027 -3 16154 20782 20783 -3 23017 23115 23016 -3 17090 16452 16925 -3 23621 23654 25647 -3 31933 31932 31834 -3 32532 32533 32641 -3 21223 21566 20154 -3 21049 21223 20154 -3 21856 21857 20154 -3 21566 21856 20154 -3 22848 22947 21857 -3 21856 22848 21857 -3 20224 22850 22947 -3 22848 20224 22947 -3 20224 20488 16011 -3 22850 20224 16011 -3 20488 22457 22360 -3 16011 20488 22360 -3 22457 21054 21678 -3 22360 22457 21678 -3 21054 20109 20110 -3 21678 21054 20110 -3 20109 7800 21695 -3 20110 20109 21695 -3 7800 3338 12805 -3 21695 7800 12805 -3 3338 13200 20132 -3 12805 3338 20132 -3 13200 20482 23430 -3 20132 13200 23430 -3 20482 20023 20810 -3 23430 20482 20810 -3 7409 7292 6873 -3 16169 3070 15623 -3 13272 12894 22659 -3 19378 23421 19771 -3 20050 20541 20540 -3 20497 15200 16611 -3 12894 11860 22634 -3 23803 24529 24328 -3 24412 24224 23727 -3 24328 24412 23727 -3 24324 22586 23727 -3 24224 24324 23727 -3 35466 35902 35659 -3 24324 17576 22586 -3 31264 31265 31329 -3 24018 23725 23749 -3 23943 22877 25518 -3 24774 23766 23757 -3 25252 23578 24625 -3 22448 26004 22645 -3 29542 35633 35514 -3 23885 16024 25860 -3 17102 14390 25657 -3 25245 24329 21660 -3 23872 24563 25090 -3 23928 25803 24469 -3 26174 26175 26315 -3 25211 24870 23919 -3 25745 25887 25886 -3 34600 34478 19432 -3 23941 13116 25293 -3 24435 24352 25095 -3 21244 23276 12186 -3 25278 25293 12186 -3 14273 12535 20738 -3 22591 25278 12186 -3 30152 22862 22961 -3 22862 22763 22863 -3 22863 22962 22961 -3 23060 23059 22961 -3 23059 23157 30418 -3 22962 23060 22961 -3 30552 23157 23256 -3 23060 23158 23059 -3 20393 17704 17705 -3 23158 23256 23157 -3 24130 24839 24838 -3 23451 30819 23353 -3 12995 24124 25514 -3 24045 12360 4382 -3 16926 15280 13244 -3 23027 16154 20783 -3 28751 28884 23779 -3 16452 16926 16925 -3 25647 28108 24830 -3 24229 19250 19569 -3 33997 33996 33861 -3 31555 31554 26617 -3 21137 21596 21566 -3 21223 21137 21566 -3 21855 21856 21566 -3 21596 21855 21566 -3 22748 22848 21856 -3 21855 22748 21856 -3 21053 20224 22848 -3 22748 21053 22848 -3 21053 20736 20488 -3 20224 21053 20488 -3 20736 22555 22457 -3 20488 20736 22457 -3 22555 20971 21054 -3 22457 22555 21054 -3 20971 21405 20109 -3 21054 20971 20109 -3 21405 22655 7800 -3 20109 21405 7800 -3 22655 13277 3338 -3 7800 22655 3338 -3 13277 23040 13200 -3 3338 13277 13200 -3 23040 20567 20482 -3 13200 23040 20482 -3 23331 20023 20482 -3 20567 23331 20482 -3 19210 20023 23331 -3 27032 18508 18723 -3 20047 20048 20533 -3 18513 23331 20051 -3 20306 20307 20391 -3 3538 4952 14334 -3 23725 20904 20905 -3 24126 25038 22465 -3 25445 25444 24822 -3 24579 1520 25208 -3 25165 24497 1998 -3 23585 24841 23508 -3 25979 26121 21334 -3 25232 24896 25005 -3 35585 35861 35526 -3 26034 26176 26175 -3 1520 24320 25208 -3 34413 34412 34274 -3 26033 26034 26175 -3 25878 25879 26020 -3 25300 23873 262 -3 6844 23072 2952 -3 25594 25595 25736 -3 22081 22177 22176 -3 29214 22176 22272 -3 22177 22273 22272 -3 22273 29352 22272 -3 22273 22370 22369 -3 22467 22369 22370 -3 22370 22468 22467 -3 22467 22468 22566 -3 22468 22567 22566 -3 22566 22665 29761 -3 22567 22666 22665 -3 22764 22665 22666 -3 22666 22765 22764 -3 22764 22763 29890 -3 22864 22863 22764 -3 22765 22864 22764 -3 22963 22962 22863 -3 22864 22963 22863 -3 23061 23060 22962 -3 22963 23061 22962 -3 23159 23158 23060 -3 23061 23159 23060 -3 23257 23256 23158 -3 23159 23257 23158 -3 23354 23353 23256 -3 23257 23354 23256 -3 13196 24005 2922 -3 18516 23451 13526 -3 23798 25067 20514 -3 18516 30819 23451 -3 5828 5556 17090 -3 25998 25445 24822 -3 4948 15637 20326 -3 6874 19093 30339 -3 18063 18154 18062 -3 22261 21224 21137 -3 33862 33997 33861 -3 21224 21690 21596 -3 21137 21224 21596 -3 21759 21855 21596 -3 21690 21759 21596 -3 22649 22748 21855 -3 21759 22649 21855 -3 13656 21053 22748 -3 22649 13656 22748 -3 13656 21149 20736 -3 21053 13656 20736 -3 21149 22654 22555 -3 20736 21149 22555 -3 22654 20891 20971 -3 22555 22654 20971 -3 20891 20481 21405 -3 20971 20891 21405 -3 20481 22361 22655 -3 21405 20481 22655 -3 22361 14324 13277 -3 22655 22361 13277 -3 14324 22941 23040 -3 13277 14324 23040 -3 22941 20648 20567 -3 23040 22941 20567 -3 20648 20051 23331 -3 20567 20648 23331 -3 17936 17754 22924 -3 22819 22918 22818 -3 30153 19798 19800 -3 20215 20214 20129 -3 19018 16791 25 -3 22845 22925 13497 -3 13269 26288 24468 -3 21515 24097 23881 -3 26108 24959 12189 -3 24747 24126 22465 -3 25639 25632 24522 -3 25749 25750 25891 -3 12191 13269 24284 -3 25608 25750 25749 -3 25607 25608 25749 -3 25892 26034 26033 -3 25750 25892 25891 -3 26176 26317 26316 -3 25891 25892 26033 -3 16440 16439 25616 -3 26175 26176 26316 -3 21985 21890 21891 -3 26163 26304 26303 -3 21891 21986 21985 -3 18424 5891 6023 -3 21986 22082 22081 -3 21985 21986 22081 -3 22082 22178 22177 -3 22081 22082 22177 -3 22178 22274 22273 -3 22177 22178 22273 -3 22274 22371 22370 -3 22273 22274 22370 -3 22371 22469 22468 -3 22370 22371 22468 -3 22469 22568 22567 -3 22468 22469 22567 -3 22568 22667 22666 -3 22567 22568 22666 -3 22766 22765 22666 -3 22667 22766 22666 -3 22865 22864 22765 -3 22766 22865 22765 -3 22964 22963 22864 -3 22865 22964 22864 -3 23062 23061 22963 -3 22964 23062 22963 -3 23160 23159 23061 -3 23062 23160 23061 -3 23258 23257 23159 -3 23160 23258 23159 -3 23355 23354 23257 -3 23258 23355 23257 -3 23452 23451 23354 -3 23355 23452 23354 -3 1998 23703 13526 -3 23452 15453 23451 -3 25165 9314 1019 -3 15453 9314 13526 -3 27018 27135 27134 -3 5556 16452 17090 -3 17570 23243 18993 -3 19637 19491 17982 -3 33807 32684 22261 -3 21224 18300 21690 -3 5489 21783 18300 -3 21758 21759 21690 -3 21783 21758 21690 -3 8581 22649 21759 -3 21758 8581 21759 -3 12984 13656 22649 -3 8581 12984 22649 -3 12984 22747 21149 -3 13656 12984 21149 -3 22747 22753 22654 -3 21149 22747 22654 -3 22753 20890 20891 -3 22654 22753 20891 -3 20890 3881 20481 -3 20891 20890 20481 -3 3881 22265 22361 -3 20481 3881 22361 -3 22265 14049 14324 -3 22361 22265 14324 -3 14049 22842 22941 -3 14324 14049 22941 -3 22842 20730 20648 -3 22941 22842 20648 -3 20730 20024 20051 -3 20648 20730 20051 -3 18735 18637 18638 -3 28477 29955 28478 -3 13855 12361 125 -3 20387 20386 20301 -3 20800 20801 20882 -3 20533 21301 21300 -3 24500 24606 20432 -3 1 25706 25564 -3 23627 24698 24678 -3 25203 24577 24895 -3 24894 24747 22465 -3 26317 24127 22366 -3 18926 25371 24228 -3 25032 23649 25968 -3 26316 26317 22366 -3 26162 26163 26303 -3 25229 7003 23977 -3 21701 28423 21608 -3 25488 25490 23890 -3 21609 21702 21701 -3 21796 21701 21702 -3 21702 21797 21796 -3 28675 28546 21796 -3 21797 21892 21891 -3 21796 21797 21891 -3 21892 21987 21986 -3 21891 21892 21986 -3 21987 22083 22082 -3 21986 21987 22082 -3 22083 22179 22178 -3 22082 22083 22178 -3 22179 22275 22274 -3 22178 22179 22274 -3 22275 22372 22371 -3 22274 22275 22371 -3 22372 22470 22469 -3 22371 22372 22469 -3 22470 22569 22568 -3 22469 22470 22568 -3 22569 22668 22667 -3 22568 22569 22667 -3 22668 22767 22766 -3 22667 22668 22766 -3 22866 22865 22766 -3 22767 22866 22766 -3 22965 22964 22865 -3 22866 22965 22865 -3 23063 23062 22964 -3 22965 23063 22964 -3 23161 23160 23062 -3 23063 23161 23062 -3 23259 23258 23160 -3 23161 23259 23160 -3 23356 23355 23258 -3 23259 23356 23258 -3 23453 23452 23355 -3 23356 23453 23355 -3 2905 15453 23452 -3 23453 2905 23452 -3 1019 9314 15453 -3 2905 1019 15453 -3 5354 15675 5828 -3 31995 31994 31893 -3 22627 22626 22527 -3 12808 20090 34343 -3 18355 13866 15365 -3 18534 22923 17754 -3 17911 21312 18300 -3 18300 21783 21690 -3 21663 21758 21783 -3 5489 21663 21783 -3 14516 8581 21758 -3 21663 14516 21758 -3 20225 12984 8581 -3 14516 20225 8581 -3 20225 22847 22747 -3 12984 20225 22747 -3 22847 22853 22753 -3 22747 22847 22753 -3 22853 20138 20890 -3 22753 22853 20890 -3 20138 20108 3881 -3 20890 20138 3881 -3 20108 22168 22265 -3 3881 20108 22265 -3 22168 21063 14049 -3 22265 22168 14049 -3 21063 22742 22842 -3 14049 21063 22842 -3 22742 20808 20730 -3 22842 22742 20730 -3 20808 23332 20024 -3 20730 20808 20024 -3 18355 19408 19933 -3 19011 21864 19112 -3 20046 20047 20491 -3 30760 24777 12920 -3 13866 18355 19933 -3 25767 26247 25766 -3 24770 24214 23947 -3 24654 24793 24349 -3 24127 24146 24075 -3 24895 24894 22465 -3 24086 16597 26287 -3 22366 24127 24075 -3 28069 21426 28186 -3 11644 13695 11569 -3 21427 21517 21516 -3 28303 28186 21516 -3 21517 21610 21609 -3 21516 21517 21609 -3 21610 21703 21702 -3 21609 21610 21702 -3 21703 21798 21797 -3 21702 21703 21797 -3 21798 21893 21892 -3 21797 21798 21892 -3 21893 21988 21987 -3 21892 21893 21987 -3 21988 22084 22083 -3 21987 21988 22083 -3 22084 22180 22179 -3 22083 22084 22179 -3 22180 22276 22275 -3 22179 22180 22275 -3 22276 22373 22372 -3 22275 22276 22372 -3 22373 22471 22470 -3 22372 22373 22470 -3 22471 22570 22569 -3 22470 22471 22569 -3 22570 22669 22668 -3 22569 22570 22668 -3 22669 22768 22767 -3 22668 22669 22767 -3 22867 22866 22767 -3 22768 22867 22767 -3 22966 22965 22866 -3 22867 22966 22866 -3 23064 23063 22965 -3 22966 23064 22965 -3 23162 23161 23063 -3 23064 23162 23063 -3 23260 23259 23161 -3 23162 23260 23161 -3 23357 23356 23259 -3 23260 23357 23259 -3 23454 23453 23356 -3 23357 23454 23356 -3 11382 2905 23453 -3 23454 11382 23453 -3 12745 1019 2905 -3 11382 12745 2905 -3 732 3036 3197 -3 12745 3036 1019 -3 22726 22725 22626 -3 22627 22726 22626 -3 19437 16211 18484 -3 17102 12991 14407 -3 15194 5489 21312 -3 19418 19527 19515 -3 21662 21663 5489 -3 15194 21662 5489 -3 22549 14516 21663 -3 21662 22549 21663 -3 20396 20225 14516 -3 22549 20396 14516 -3 20396 13989 22847 -3 20225 20396 22847 -3 13989 22953 22853 -3 22847 13989 22853 -3 22953 21310 20138 -3 22853 22953 20138 -3 21310 20726 20108 -3 20138 21310 20108 -3 20726 21787 22168 -3 20108 20726 22168 -3 21787 21064 21063 -3 22168 21787 21063 -3 21064 22159 22742 -3 21063 21064 22742 -3 22159 21961 20808 -3 22742 22159 20808 -3 20326 15637 20241 -3 20808 21961 23332 -3 26680 26679 24242 -3 27027 35363 35909 -3 20103 20615 20102 -3 20640 20721 20639 -3 22825 22824 22725 -3 22726 22825 22725 -3 22924 22923 22824 -3 22825 22924 22824 -3 18061 18062 20532 -3 17802 20394 17705 -3 23270 23367 16933 -3 24182 30482 24255 -3 21726 23880 24793 -3 24654 21726 24793 -3 7759 24770 23947 -3 21726 24367 24332 -3 24146 24968 25099 -3 24577 25203 24214 -3 26255 26287 23566 -3 24075 24146 25099 -3 21426 21336 21427 -3 25302 24981 24955 -3 21337 21428 21427 -3 21336 21337 21427 -3 21428 21518 21517 -3 21427 21428 21517 -3 21518 21611 21610 -3 21517 21518 21610 -3 21611 21704 21703 -3 21610 21611 21703 -3 21704 21799 21798 -3 21703 21704 21798 -3 21799 21894 21893 -3 21798 21799 21893 -3 21894 21989 21988 -3 21893 21894 21988 -3 21989 22085 22084 -3 21988 21989 22084 -3 22085 22181 22180 -3 22084 22085 22180 -3 22181 22277 22276 -3 22180 22181 22276 -3 22277 22374 22373 -3 22276 22277 22373 -3 22374 22472 22471 -3 22373 22374 22471 -3 22472 22571 22570 -3 22471 22472 22570 -3 22571 22670 22669 -3 22570 22571 22669 -3 22670 22769 22768 -3 22669 22670 22768 -3 22769 22868 22867 -3 22768 22769 22867 -3 22967 22966 22867 -3 22868 22967 22867 -3 23065 23064 22966 -3 22967 23065 22966 -3 23163 23162 23064 -3 23065 23163 23064 -3 23261 23260 23162 -3 23163 23261 23162 -3 23358 23357 23260 -3 23261 23358 23260 -3 23455 23454 23357 -3 23358 23455 23357 -3 13967 11382 23454 -3 23455 13967 23454 -3 13386 12745 11382 -3 13967 13386 11382 -3 732 3197 12034 -3 13386 3197 12745 -3 16767 21505 16617 -3 4122 3335 16446 -3 13566 14259 13567 -3 1646 9417 16045 -3 20717 20799 20798 -3 18608 18962 18418 -3 29152 28737 22944 -3 21661 21662 15194 -3 20778 21661 15194 -3 22451 22549 21662 -3 21661 22451 21662 -3 21139 20396 22549 -3 22451 21139 22549 -3 21139 13401 13989 -3 20396 21139 13989 -3 13401 15067 22953 -3 13989 13401 22953 -3 15067 20516 21310 -3 22953 15067 21310 -3 20516 20107 20726 -3 21310 20516 20726 -3 20107 21694 21787 -3 20726 20107 21787 -3 21694 20819 21064 -3 21787 21694 21064 -3 20819 22062 22159 -3 21064 20819 22159 -3 22062 22056 21961 -3 22159 22062 21961 -3 18234 21961 22056 -3 13015 30503 25433 -3 13078 13172 13077 -3 29002 28595 24210 -3 20473 20558 20472 -3 20881 20961 20960 -3 12538 12449 11105 -3 8114 13566 12512 -3 14259 11105 13567 -3 17249 15736 5354 -3 4122 15736 17249 -3 16600 4122 16446 -3 15675 5556 5828 -3 8114 12512 15476 -3 11615 13848 13946 -3 15477 8114 15476 -3 28368 27143 27520 -3 23880 21726 24332 -3 25110 25430 24921 -3 24367 25621 25620 -3 24770 24577 24214 -3 24672 7759 23661 -3 24968 13957 14153 -3 24577 24894 24895 -3 26287 23461 23566 -3 25099 24968 14153 -3 21247 21337 27952 -3 16597 25435 26287 -3 21248 21338 21337 -3 21247 21248 21337 -3 21338 21429 21428 -3 21337 21338 21428 -3 21429 21519 21518 -3 21428 21429 21518 -3 21519 21612 21611 -3 21518 21519 21611 -3 21612 21705 21704 -3 21611 21612 21704 -3 21705 21800 21799 -3 21704 21705 21799 -3 21800 21895 21894 -3 21799 21800 21894 -3 21895 21990 21989 -3 21894 21895 21989 -3 21990 22086 22085 -3 21989 21990 22085 -3 22086 22182 22181 -3 22085 22086 22181 -3 22182 22278 22277 -3 22181 22182 22277 -3 22278 22375 22374 -3 22277 22278 22374 -3 22375 22473 22472 -3 22374 22375 22472 -3 22473 22572 22571 -3 22472 22473 22571 -3 22572 22671 22670 -3 22571 22572 22670 -3 22671 22770 22769 -3 22670 22671 22769 -3 22770 22869 22868 -3 22769 22770 22868 -3 22968 22967 22868 -3 22869 22968 22868 -3 23066 23065 22967 -3 22968 23066 22967 -3 23164 23163 23065 -3 23066 23164 23065 -3 23262 23261 23163 -3 23164 23262 23163 -3 23359 23358 23261 -3 23262 23359 23261 -3 23456 23455 23358 -3 23359 23456 23358 -3 4387 13967 23455 -3 23456 4387 23455 -3 8049 13386 13967 -3 4387 8049 13967 -3 1519 15873 12034 -3 8049 12034 13386 -3 11615 14139 12872 -3 4939 11615 12872 -3 13566 13567 12512 -3 27521 28368 27520 -3 20813 18518 21145 -3 16334 16484 16333 -3 22441 21878 18901 -3 9417 16044 16045 -3 16178 20779 20674 -3 20287 21661 20778 -3 21878 20287 20778 -3 21233 22451 21661 -3 20287 21233 21661 -3 21226 21139 22451 -3 21233 21226 22451 -3 21226 17098 13401 -3 21139 21226 13401 -3 17098 23052 15067 -3 13401 17098 15067 -3 23052 22151 20516 -3 15067 23052 20516 -3 22151 23234 20107 -3 20516 22151 20107 -3 23234 21601 21694 -3 20107 23234 21694 -3 21601 20818 20819 -3 21694 21601 20819 -3 20818 21967 22062 -3 20819 20818 22062 -3 22923 18534 22922 -3 22062 21967 22056 -3 33188 33293 33187 -3 20871 20951 20950 -3 14151 13497 21674 -3 18355 15365 19491 -3 30226 30093 21542 -3 20640 20639 20557 -3 33465 17695 19820 -3 16933 16767 16617 -3 13946 13848 16446 -3 13848 16600 16446 -3 3335 4122 17249 -3 15736 15675 5354 -3 20700 20699 20783 -3 23327 20964 20699 -3 14139 11615 13946 -3 20782 20700 20783 -3 21505 20040 20032 -3 23409 4939 23408 -3 23367 16767 16933 -3 11234 8527 13762 -3 25880 26022 26021 -3 23514 24411 20263 -3 24332 24367 25620 -3 13957 24411 23514 -3 14153 13957 23514 -3 11614 24879 24874 -3 24411 23516 20263 -3 22394 22298 25521 -3 24955 24981 23652 -3 21162 21249 21248 -3 31702 31701 31606 -3 21249 21339 21338 -3 21248 21249 21338 -3 21339 21430 21429 -3 21338 21339 21429 -3 21430 21520 21519 -3 21429 21430 21519 -3 21520 21613 21612 -3 21519 21520 21612 -3 21613 21706 21705 -3 21612 21613 21705 -3 21706 21801 21800 -3 21705 21706 21800 -3 21801 21896 21895 -3 21800 21801 21895 -3 21896 21991 21990 -3 21895 21896 21990 -3 21991 22087 22086 -3 21990 21991 22086 -3 22087 22183 22182 -3 22086 22087 22182 -3 22183 22279 22278 -3 22182 22183 22278 -3 22279 22376 22375 -3 22278 22279 22375 -3 22376 22474 22473 -3 22375 22376 22473 -3 22474 22573 22572 -3 22473 22474 22572 -3 22672 22671 22572 -3 22573 22672 22572 -3 22672 22771 22770 -3 22671 22672 22770 -3 22771 22870 22869 -3 22770 22771 22869 -3 22870 22969 22968 -3 22869 22870 22968 -3 23067 23066 22968 -3 22969 23067 22968 -3 23165 23164 23066 -3 23067 23165 23066 -3 23263 23262 23164 -3 23165 23263 23164 -3 23360 23359 23262 -3 23263 23360 23262 -3 23457 23456 23359 -3 23360 23457 23359 -3 9404 4387 23456 -3 23457 9404 23456 -3 14235 8049 4387 -3 9404 14235 4387 -3 1519 12034 8049 -3 14235 1519 8049 -3 4939 12872 23408 -3 24142 23582 12997 -3 16617 21505 20032 -3 17007 7074 9740 -3 26695 26694 24723 -3 28249 27316 17260 -3 20153 23030 22441 -3 28848 21544 28849 -3 21973 21878 22441 -3 23030 21973 22441 -3 20286 20287 21878 -3 21973 20286 21878 -3 22533 21233 20287 -3 20286 22533 20287 -3 21314 21226 21233 -3 22533 21314 21233 -3 21314 20405 17098 -3 21226 21314 17098 -3 20405 23442 23052 -3 17098 20405 23052 -3 23442 21584 22151 -3 23052 23442 22151 -3 21584 21760 23234 -3 22151 21584 23234 -3 21760 21602 21601 -3 23234 21760 21601 -3 21602 20234 20818 -3 21601 21602 20818 -3 20234 21145 21967 -3 20818 20234 21967 -3 20874 20954 20953 -3 23341 23438 18417 -3 20541 20563 21383 -3 20723 18274 18273 -3 21592 12918 4907 -3 23956 23955 23896 -3 21764 20065 20064 -3 21577 13423 13954 -3 20302 20301 20215 -3 13954 13423 21755 -3 15091 13959 19982 -3 1623 14239 11106 -3 13959 20048 20047 -3 15597 23367 15464 -3 13180 14250 14155 -3 28818 28951 28817 -3 20470 20469 20385 -3 13318 17007 9740 -3 20961 20962 21044 -3 25621 24108 24536 -3 25117 29260 24668 -3 19994 20074 19993 -3 23516 25236 25097 -3 20074 20159 20073 -3 24798 23827 24190 -3 20159 20245 20158 -3 5276 15493 15543 -3 33998 33997 33862 -3 21224 22261 17911 -3 6411 34216 6283 -3 23214 23312 23213 -3 23409 23408 23311 -3 20301 20386 20300 -3 20637 20636 20554 -3 24072 24071 25249 -3 21131 21130 21044 -3 26248 25868 26120 -3 24648 26248 26120 -3 25097 25236 16597 -3 24281 25479 24755 -3 25777 24281 25435 -3 16597 25777 25435 -3 21075 21163 21162 -3 30290 30362 12215 -3 21163 21250 21249 -3 21162 21163 21249 -3 21250 21340 21339 -3 21249 21250 21339 -3 21340 21431 21430 -3 21339 21340 21430 -3 21431 21521 21520 -3 21430 21431 21520 -3 21521 21614 21613 -3 21520 21521 21613 -3 21614 21707 21706 -3 21613 21614 21706 -3 21707 21802 21801 -3 21706 21707 21801 -3 21802 21897 21896 -3 21801 21802 21896 -3 21897 21992 21991 -3 21896 21897 21991 -3 21992 22088 22087 -3 21991 21992 22087 -3 22088 22184 22183 -3 22087 22088 22183 -3 22184 22280 22279 -3 22183 22184 22279 -3 22280 22377 22376 -3 22279 22280 22376 -3 22377 22475 22474 -3 22376 22377 22474 -3 22475 22574 22573 -3 22474 22475 22573 -3 22574 22673 22672 -3 22573 22574 22672 -3 22772 22771 22672 -3 22673 22772 22672 -3 22772 22871 22870 -3 22771 22772 22870 -3 22871 22970 22969 -3 22870 22871 22969 -3 23068 23067 22969 -3 22970 23068 22969 -3 23166 23165 23067 -3 23068 23166 23067 -3 23264 23263 23165 -3 23166 23264 23165 -3 23361 23360 23263 -3 23264 23361 23263 -3 23458 23457 23360 -3 23361 23458 23360 -3 9772 9404 23457 -3 2273 23458 23459 -3 8867 14235 9404 -3 9772 23458 2273 -3 4381 1519 14235 -3 8867 4381 14235 -3 24657 1519 24656 -3 18128 18924 17964 -3 27433 11575 21560 -3 14250 5416 14155 -3 26349 30875 30874 -3 9538 35929 35807 -3 32751 32752 32863 -3 17850 6023 6153 -3 16932 22069 21973 -3 23030 16932 21973 -3 20285 20286 21973 -3 22069 20285 21973 -3 22353 22533 20286 -3 20285 22353 20286 -3 2207 21314 22533 -3 22353 2207 22533 -3 2207 20656 20405 -3 21314 2207 20405 -3 20656 13324 23442 -3 20405 20656 23442 -3 13324 20889 21584 -3 23442 13324 21584 -3 20889 20106 21760 -3 21584 20889 21760 -3 20106 21510 21602 -3 21760 20106 21602 -3 21510 15872 20234 -3 21602 21510 20234 -3 15872 20813 21145 -3 20234 15872 21145 -3 17800 19540 18651 -3 22426 34601 33925 -3 20641 20722 20721 -3 14432 11947 13668 -3 18920 5681 19318 -3 23220 23224 23126 -3 25620 25621 24536 -3 24108 26084 26073 -3 24536 24108 26073 -3 26084 24397 21359 -3 26073 26084 21359 -3 24397 24715 24789 -3 17078 16914 16915 -3 24024 24557 11482 -3 25629 25772 25155 -3 30874 30928 30873 -3 22364 22431 20179 -3 16025 13275 13392 -3 21574 30214 14088 -3 15553 5456 15679 -3 19964 19995 19994 -3 19964 30959 31020 -3 20075 20074 19994 -3 19995 20075 19994 -3 20160 20159 20074 -3 20075 20160 20074 -3 20246 20245 20159 -3 20160 20246 20159 -3 20331 20330 20245 -3 20246 20331 20245 -3 20415 20414 20330 -3 20331 20415 20330 -3 23312 23409 23311 -3 11867 35400 11866 -3 21390 21371 20179 -3 23116 23214 23115 -3 12802 13990 3048 -3 21359 24397 24789 -3 24767 24746 24018 -3 25168 25452 24824 -3 26248 24299 24291 -3 24672 23661 24824 -3 24823 24672 24824 -3 20990 21076 21075 -3 21074 21075 21162 -3 21076 21164 21163 -3 21075 21076 21163 -3 21164 21251 21250 -3 21163 21164 21250 -3 21251 21341 21340 -3 21250 21251 21340 -3 21341 21432 21431 -3 21340 21341 21431 -3 21432 21522 21521 -3 21431 21432 21521 -3 21522 21615 21614 -3 21521 21522 21614 -3 21615 21708 21707 -3 21614 21615 21707 -3 21708 21803 21802 -3 21707 21708 21802 -3 21803 21898 21897 -3 21802 21803 21897 -3 21898 21993 21992 -3 21897 21898 21992 -3 21993 22089 22088 -3 21992 21993 22088 -3 22089 22185 22184 -3 22088 22089 22184 -3 22185 22281 22280 -3 22184 22185 22280 -3 22281 22378 22377 -3 22280 22281 22377 -3 22378 22476 22475 -3 22377 22378 22475 -3 22476 22575 22574 -3 22475 22476 22574 -3 22575 22674 22673 -3 22574 22575 22673 -3 22773 22772 22673 -3 22674 22773 22673 -3 22872 22871 22772 -3 22773 22872 22772 -3 22872 22971 22970 -3 22871 22872 22970 -3 22971 23069 23068 -3 22970 22971 23068 -3 23167 23166 23068 -3 23069 23167 23068 -3 23265 23264 23166 -3 23167 23265 23166 -3 18124 22433 20577 -3 23265 30826 30825 -3 28879 28353 25914 -3 24012 25428 25431 -3 33621 33748 33620 -3 25452 24823 24824 -3 24797 24663 23850 -3 23508 23858 25119 -3 24715 25338 25337 -3 24396 24527 23546 -3 14906 12802 3048 -3 13243 13149 3048 -3 13990 13243 3048 -3 14683 14792 13149 -3 18634 18538 18635 -3 13188 13147 18263 -3 25716 23676 24301 -3 20671 20588 23746 -3 13147 22165 22069 -3 16932 13147 22069 -3 20284 20285 22069 -3 22165 20284 22069 -3 22257 22353 20285 -3 20284 22257 20285 -3 22257 20312 2207 -3 22353 22257 2207 -3 20312 21236 20656 -3 2207 20312 20656 -3 21236 23346 13324 -3 20656 21236 13324 -3 23346 20137 20889 -3 13324 23346 20889 -3 20137 22547 20106 -3 20889 20137 20106 -3 22547 2255 21510 -3 20106 22547 21510 -3 2255 15636 15872 -3 21510 2255 15872 -3 15636 20731 20813 -3 15872 15636 20813 -3 18188 18044 22727 -3 17989 23224 19427 -3 20046 20491 20490 -3 21697 21768 2768 -3 11508 12719 13665 -3 20451 23220 23122 -3 24789 24715 25337 -3 25338 26235 24850 -3 24880 25452 25168 -3 24879 24880 25168 -3 22175 26260 5998 -3 23755 24073 23924 -3 26218 23815 25341 -3 24496 23647 23769 -3 20152 12309 21983 -3 25215 22486 23759 -3 7294 455 21466 -3 23671 21008 23674 -3 20485 20451 23122 -3 23408 23407 23310 -3 13243 14683 13149 -3 19965 19996 19995 -3 17822 496 495 -3 20076 20075 19995 -3 19996 20076 19995 -3 20161 20160 20075 -3 20076 20161 20075 -3 20247 20246 20160 -3 20161 20247 20160 -3 20332 20331 20246 -3 20247 20332 20246 -3 20416 20415 20331 -3 20332 20416 20331 -3 13578 13607 4796 -3 20416 20501 20415 -3 23312 23311 23213 -3 20700 23327 20699 -3 3477 5551 34874 -3 22919 23018 22918 -3 14683 3477 14792 -3 25337 25338 24850 -3 26235 25314 25177 -3 24850 26235 25177 -3 22191 29496 22286 -3 11614 11482 24879 -3 20991 21077 21076 -3 20990 20991 21076 -3 21077 21165 21164 -3 21076 21077 21164 -3 21165 21252 21251 -3 21164 21165 21251 -3 21252 21342 21341 -3 21251 21252 21341 -3 21342 21433 21432 -3 21341 21342 21432 -3 21433 21523 21522 -3 21432 21433 21522 -3 21523 21616 21615 -3 21522 21523 21615 -3 21616 21709 21708 -3 21615 21616 21708 -3 21709 21804 21803 -3 21708 21709 21803 -3 21804 21899 21898 -3 21803 21804 21898 -3 21899 21994 21993 -3 21898 21899 21993 -3 21994 22090 22089 -3 21993 21994 22089 -3 22090 22186 22185 -3 22089 22090 22185 -3 22186 22282 22281 -3 22185 22186 22281 -3 22282 22379 22378 -3 22281 22282 22378 -3 22379 22477 22476 -3 22378 22379 22476 -3 22477 22576 22575 -3 22476 22477 22575 -3 22576 22675 22674 -3 22575 22576 22674 -3 22675 22774 22773 -3 22674 22675 22773 -3 22873 22872 22773 -3 22774 22873 22773 -3 22873 22972 22971 -3 22872 22873 22971 -3 22972 23070 23069 -3 22971 22972 23069 -3 23070 23168 23167 -3 23069 23070 23167 -3 30694 30828 23266 -3 23167 23168 23265 -3 24437 24012 25431 -3 11482 24880 24879 -3 5203 5864 2903 -3 35794 35369 35549 -3 21408 14242 2921 -3 26210 25062 26211 -3 22269 25976 26118 -3 23503 22269 26118 -3 23993 25489 22760 -3 33052 33051 32945 -3 34165 34164 34028 -3 30575 30709 30574 -3 29415 24061 24121 -3 19538 11080 18038 -3 18510 25314 23891 -3 18358 19408 18355 -3 27641 29767 27640 -3 13188 22262 22165 -3 13147 13188 22165 -3 20283 20284 22165 -3 22262 20283 22165 -3 21321 22257 20284 -3 20283 21321 20284 -3 21404 20312 22257 -3 21321 21404 22257 -3 21404 22946 21236 -3 20312 21404 21236 -3 22946 23248 23346 -3 21236 22946 23346 -3 23248 12536 20137 -3 23346 23248 20137 -3 12536 10022 22547 -3 20137 12536 22547 -3 10022 22072 2255 -3 22547 10022 2255 -3 22072 4650 15636 -3 2255 22072 15636 -3 9326 33820 6538 -3 15636 4650 20731 -3 2910 4948 20411 -3 21487 20059 17757 -3 15200 16613 13084 -3 20392 20476 20475 -3 21673 21674 13017 -3 13099 20451 20485 -3 24929 24930 11233 -3 22102 11945 22101 -3 23874 24741 20494 -3 24024 11482 11614 -3 24472 24024 11614 -3 25435 24281 24755 -3 25485 26201 24160 -3 1566 4192 1451 -3 24947 26001 25070 -3 16913 16754 16755 -3 26234 24470 25777 -3 23311 23408 23310 -3 25054 25182 24927 -3 25822 24403 24138 -3 21270 21269 21183 -3 19997 19996 19965 -3 19965 19964 31020 -3 20077 20076 19996 -3 19997 20077 19996 -3 20162 20161 20076 -3 20077 20162 20076 -3 20248 20247 20161 -3 20162 20248 20161 -3 20333 20332 20247 -3 20248 20333 20247 -3 20417 20416 20332 -3 20333 20417 20332 -3 31894 31995 31893 -3 20417 20502 20416 -3 23327 23244 22334 -3 12558 13017 21497 -3 23116 23115 23017 -3 20964 23327 22334 -3 7302 6847 6846 -3 23018 23116 23017 -3 25541 26079 11835 -3 25324 24515 24528 -3 26077 24298 23731 -3 25870 25871 26012 -3 20909 20992 20991 -3 27489 20908 20990 -3 20992 21078 21077 -3 20991 20992 21077 -3 21078 21166 21165 -3 21077 21078 21165 -3 21166 21253 21252 -3 21165 21166 21252 -3 21253 21343 21342 -3 21252 21253 21342 -3 21343 21434 21433 -3 21342 21343 21433 -3 21434 21524 21523 -3 21433 21434 21523 -3 21524 21617 21616 -3 21523 21524 21616 -3 21617 21710 21709 -3 21616 21617 21709 -3 21710 21805 21804 -3 21709 21710 21804 -3 21805 21900 21899 -3 21804 21805 21899 -3 21900 21995 21994 -3 21899 21900 21994 -3 21995 22091 22090 -3 21994 21995 22090 -3 22091 22187 22186 -3 22090 22091 22186 -3 22187 22283 22282 -3 22186 22187 22282 -3 22283 22380 22379 -3 22282 22283 22379 -3 22380 22478 22477 -3 22379 22380 22477 -3 22478 22577 22576 -3 22477 22478 22576 -3 22577 22676 22675 -3 22576 22577 22675 -3 22676 22775 22774 -3 22675 22676 22774 -3 22678 30160 22776 -3 22774 22775 22873 -3 22874 22776 30293 -3 22873 22874 22972 -3 30293 22973 22874 -3 22972 22973 23070 -3 23070 22973 23071 -3 23070 23071 23168 -3 3988 24024 24472 -3 23071 30560 23169 -3 26013 26155 26154 -3 12553 3988 24472 -3 6008 1063 14074 -3 30878 25077 27901 -3 6919 22327 6865 -3 1881 3035 15609 -3 15609 3035 15610 -3 23311 23310 23212 -3 33521 33640 33520 -3 21971 22639 13188 -3 22297 24517 24467 -3 22639 22358 22262 -3 13188 22639 22262 -3 20282 20283 22262 -3 22358 20282 22262 -3 16018 21321 20283 -3 20282 16018 20283 -3 16018 21496 21404 -3 21321 16018 21404 -3 21496 23045 22946 -3 21404 21496 22946 -3 23045 23150 23248 -3 22946 23045 23248 -3 23150 13129 12536 -3 23248 23150 12536 -3 13129 21765 10022 -3 12536 13129 10022 -3 21765 21976 22072 -3 10022 21765 22072 -3 21976 11345 4650 -3 22072 21976 4650 -3 25523 25533 20885 -3 19708 21415 17716 -3 24172 24175 25523 -3 24276 26792 30632 -3 22827 14151 22733 -3 27279 27397 27396 -3 13017 13099 20485 -3 26158 26299 26298 -3 26157 26158 26298 -3 26322 26323 23651 -3 22003 3988 12553 -3 25479 24734 24755 -3 24734 20517 24755 -3 24797 25140 24663 -3 22009 23490 22008 -3 23805 23673 23799 -3 21450 21916 23799 -3 23018 23017 22918 -3 17011 15060 12460 -3 11086 3333 3035 -3 1881 11086 3035 -3 19998 19997 19966 -3 31082 19965 31020 -3 20078 20077 19997 -3 19998 20078 19997 -3 20163 20162 20077 -3 20078 20163 20077 -3 20249 20248 20162 -3 20163 20249 20162 -3 20334 20333 20248 -3 20249 20334 20248 -3 20418 20417 20333 -3 20334 20418 20333 -3 20503 20502 20417 -3 20418 20503 20417 -3 18317 34615 30213 -3 32095 32094 31994 -3 21951 23132 22334 -3 8257 15279 14583 -3 23214 23213 23115 -3 23244 21951 22334 -3 20830 20829 20747 -3 25363 20747 23760 -3 20909 20991 20908 -3 20830 20910 20829 -3 20910 20993 20992 -3 20909 20910 20992 -3 20993 21079 21078 -3 20992 20993 21078 -3 21079 21167 21166 -3 21078 21079 21166 -3 21167 21254 21253 -3 21166 21167 21253 -3 21254 21344 21343 -3 21253 21254 21343 -3 21344 21435 21434 -3 21343 21344 21434 -3 21435 21525 21524 -3 21434 21435 21524 -3 21525 21618 21617 -3 21524 21525 21617 -3 21618 21711 21710 -3 21617 21618 21710 -3 21711 21806 21805 -3 21710 21711 21805 -3 21806 21901 21900 -3 21805 21806 21900 -3 21901 21996 21995 -3 21900 21901 21995 -3 21996 22092 22091 -3 21995 21996 22091 -3 22092 22188 22187 -3 22091 22092 22187 -3 22188 22284 22283 -3 22187 22188 22283 -3 22284 22381 22380 -3 22283 22284 22380 -3 22381 22479 22478 -3 22380 22381 22478 -3 22479 22578 22577 -3 22478 22479 22577 -3 22578 22677 22676 -3 22577 22578 22676 -3 22677 22776 22775 -3 22676 22677 22775 -3 738 26143 26142 -3 24705 21246 24199 -3 24222 24511 24618 -3 15146 26224 25001 -3 25593 4809 1796 -3 24361 26244 23542 -3 26002 24149 25947 -3 25539 23929 13886 -3 25297 21957 20141 -3 25298 25297 20141 -3 26304 25188 25154 -3 5553 9561 3333 -3 11086 5553 3333 -3 12806 12718 9561 -3 5553 12806 9561 -3 31813 31919 31918 -3 20535 21876 21971 -3 18263 21971 13188 -3 21876 22739 22639 -3 21971 21876 22639 -3 22739 22455 22358 -3 22639 22739 22358 -3 20281 20282 22358 -3 22455 20281 22358 -3 23038 16018 20282 -3 20281 23038 20282 -3 23038 21587 21496 -3 16018 23038 21496 -3 21587 23143 23045 -3 21496 21587 23045 -3 23143 14433 23150 -3 23045 23143 23150 -3 14433 13794 13129 -3 23150 14433 13129 -3 13794 5557 21765 -3 13129 13794 21765 -3 5557 21786 21976 -3 21765 5557 21976 -3 21786 14148 11345 -3 21976 21786 11345 -3 22012 21919 22013 -3 21062 18181 14148 -3 21044 21043 20960 -3 32147 32247 32146 -3 22827 22733 21385 -3 14151 21674 21673 -3 25188 24833 13560 -3 24149 25490 25488 -3 22293 24293 20517 -3 23651 22003 12553 -3 736 737 282 -3 24734 22293 20517 -3 21627 21535 25771 -3 23932 23057 25008 -3 29123 28246 22445 -3 22073 21883 21155 -3 21980 23740 23795 -3 22073 21980 21883 -3 14949 10582 12718 -3 22919 22918 22819 -3 12806 14949 12718 -3 19968 19999 19998 -3 30878 30877 27895 -3 20079 20078 19998 -3 19999 20079 19998 -3 20164 20163 20078 -3 20079 20164 20078 -3 20250 20249 20163 -3 20164 20250 20163 -3 20335 20334 20249 -3 20250 20335 20249 -3 20419 20418 20334 -3 20335 20419 20334 -3 20504 20503 20418 -3 20419 20504 20418 -3 25628 13459 15317 -3 20504 20586 20503 -3 17579 17674 20021 -3 1388 16302 11257 -3 20748 20830 20747 -3 20666 20749 26233 -3 20831 20830 20748 -3 20749 20831 20748 -3 20911 20910 20830 -3 20831 20911 20830 -3 20911 20994 20993 -3 20910 20911 20993 -3 20994 21080 21079 -3 20993 20994 21079 -3 21080 21168 21167 -3 21079 21080 21167 -3 21168 21255 21254 -3 21167 21168 21254 -3 21345 21344 21254 -3 21255 21345 21254 -3 21345 21436 21435 -3 21344 21345 21435 -3 21436 21526 21525 -3 21435 21436 21525 -3 21526 21619 21618 -3 21525 21526 21618 -3 21619 21712 21711 -3 21618 21619 21711 -3 21712 21807 21806 -3 21711 21712 21806 -3 21807 21902 21901 -3 21806 21807 21901 -3 21902 21997 21996 -3 21901 21902 21996 -3 21997 22093 22092 -3 21996 21997 22092 -3 22093 22189 22188 -3 22092 22093 22188 -3 22189 22285 22284 -3 22188 22189 22284 -3 22285 22382 22381 -3 22284 22285 22381 -3 22382 22480 22479 -3 22381 22382 22479 -3 22480 22579 22578 -3 22479 22480 22578 -3 22579 22678 22677 -3 22578 22579 22677 -3 29768 29897 22580 -3 14949 23171 23172 -3 10582 14949 23172 -3 23171 10116 15073 -3 23172 23171 15073 -3 10116 15030 19981 -3 15073 10116 19981 -3 15030 20031 20022 -3 19981 15030 20022 -3 20031 20486 20479 -3 20022 20031 20479 -3 20486 21292 21235 -3 20479 20486 21235 -3 21292 22342 22333 -3 21235 21292 22333 -3 22342 9790 261 -3 22333 22342 261 -3 31713 31813 31812 -3 35529 35656 35390 -3 20536 21877 21876 -3 20535 20536 21876 -3 21877 23426 22739 -3 21876 21877 22739 -3 23426 22553 22455 -3 22739 23426 22455 -3 11774 20281 22455 -3 22553 11774 22455 -3 22939 23038 20281 -3 11774 22939 20281 -3 22939 21680 21587 -3 23038 22939 21587 -3 21680 23241 23143 -3 21587 21680 23143 -3 23241 20487 14433 -3 23143 23241 14433 -3 20487 22054 13794 -3 14433 20487 13794 -3 22054 21304 5557 -3 13794 22054 5557 -3 21304 21693 21786 -3 5557 21304 21786 -3 21693 21062 14148 -3 21786 21693 14148 -3 21464 20431 20347 -3 26359 24803 26400 -3 17099 2634 13959 -3 34495 28871 12652 -3 21399 22827 21385 -3 14151 14053 22733 -3 16618 15633 13206 -3 13014 16618 13206 -3 25229 25244 7003 -3 24191 23717 23718 -3 1998 13526 9314 -3 11941 23720 26069 -3 27663 27664 12255 -3 21154 21153 21068 -3 22169 22073 21154 -3 21068 22169 21154 -3 22955 23740 22558 -3 22169 22558 22073 -3 22820 22919 22819 -3 17968 17969 20448 -3 9790 21367 21354 -3 261 9790 21354 -3 19969 20000 19999 -3 30877 30876 27895 -3 20080 20079 19999 -3 20000 20080 19999 -3 20165 20164 20079 -3 20080 20165 20079 -3 20251 20250 20164 -3 20165 20251 20164 -3 20336 20335 20250 -3 20251 20336 20250 -3 20420 20419 20335 -3 20336 20420 20335 -3 20505 20504 20419 -3 20420 20505 20419 -3 20587 20586 20504 -3 20505 20587 20504 -3 15082 15210 15876 -3 25369 20668 20751 -3 32424 32529 32528 -3 16302 15082 15876 -3 20832 20831 20749 -3 20750 20832 20749 -3 20912 20911 20831 -3 20832 20912 20831 -3 20912 20995 20994 -3 20911 20912 20994 -3 20995 21081 21080 -3 20994 20995 21080 -3 21081 21169 21168 -3 21080 21081 21168 -3 21169 21256 21255 -3 21168 21169 21255 -3 21256 21346 21345 -3 21255 21256 21345 -3 21346 21437 21436 -3 21345 21346 21436 -3 21437 21527 21526 -3 21436 21437 21526 -3 21527 21620 21619 -3 21526 21527 21619 -3 21620 21713 21712 -3 21619 21620 21712 -3 21713 21808 21807 -3 21712 21713 21807 -3 21808 21903 21902 -3 21807 21808 21902 -3 21903 21998 21997 -3 21902 21903 21997 -3 21998 22094 22093 -3 21997 21998 22093 -3 22094 22190 22189 -3 22093 22094 22189 -3 22191 22096 29359 -3 22189 22190 22285 -3 29496 22191 29359 -3 22285 22286 22382 -3 22286 29496 22383 -3 22382 22383 22480 -3 22481 22383 29768 -3 22480 22481 22579 -3 22579 22580 22678 -3 24148 24149 25488 -3 20658 24028 25359 -3 23617 12357 23720 -3 25652 24100 25591 -3 11547 23565 22581 -3 21367 12655 7971 -3 21354 21367 7971 -3 21853 7926 7971 -3 12655 21853 7971 -3 21853 23219 23317 -3 7926 21853 23317 -3 23219 20944 15870 -3 23317 23219 15870 -3 22721 22820 22720 -3 13016 16445 15870 -3 22622 22721 22621 -3 22820 22819 22720 -3 20944 13016 15870 -3 34247 34347 35547 -3 4818 4819 4954 -3 27500 25111 27501 -3 15756 15553 16490 -3 21299 21300 22364 -3 19761 23437 21954 -3 20541 21383 21324 -3 22521 22522 22621 -3 22721 22720 22621 -3 14973 12921 8114 -3 22622 22621 22522 -3 35437 35705 35712 -3 21238 13950 14454 -3 23047 2082 14586 -3 20704 20786 18353 -3 19982 20047 20046 -3 20128 17508 20129 -3 22956 21764 21400 -3 20537 20536 35521 -3 24776 30846 24202 -3 20537 21781 21877 -3 20536 20537 21877 -3 21781 22757 23426 -3 21877 21781 23426 -3 22757 22652 22553 -3 23426 22757 22553 -3 22652 23149 11774 -3 22553 22652 11774 -3 23136 22939 11774 -3 23149 23136 11774 -3 23136 22443 21680 -3 22939 23136 21680 -3 22443 23339 23241 -3 21680 22443 23241 -3 23339 21588 20487 -3 23241 23339 20487 -3 21588 21583 22054 -3 20487 21588 22054 -3 21583 21671 21304 -3 22054 21583 21304 -3 19711 18709 18668 -3 21304 21671 21693 -3 19429 18517 22459 -3 17799 18036 20731 -3 21409 21414 22845 -3 34064 18898 34613 -3 14053 14151 21673 -3 20616 21414 21409 -3 21674 13099 13017 -3 20554 20636 20553 -3 22341 20696 22438 -3 13426 15743 14054 -3 1878 20760 16304 -3 12545 22341 22438 -3 21241 21068 21239 -3 13151 23581 13753 -3 2382 22169 21068 -3 21241 2382 21068 -3 22657 22558 22169 -3 2382 22657 22169 -3 12872 9393 23407 -3 22955 23054 23686 -3 23408 12872 23407 -3 15906 15767 3800 -3 19970 20001 20000 -3 31209 19969 19968 -3 20081 20080 20000 -3 20001 20081 20000 -3 20166 20165 20080 -3 20081 20166 20080 -3 20252 20251 20165 -3 20166 20252 20165 -3 20337 20336 20251 -3 20252 20337 20251 -3 20421 20420 20336 -3 20337 20421 20336 -3 20506 20505 20420 -3 20421 20506 20420 -3 20588 20587 20505 -3 20506 20588 20505 -3 12830 7457 13661 -3 20588 20669 20587 -3 13151 13245 25948 -3 20669 20751 20668 -3 20833 20832 20750 -3 20751 20833 20750 -3 20913 20912 20832 -3 20833 20913 20832 -3 20913 20996 20995 -3 20912 20913 20995 -3 20996 21082 21081 -3 20995 20996 21081 -3 21082 21170 21169 -3 21081 21082 21169 -3 21170 21257 21256 -3 21169 21170 21256 -3 21257 21347 21346 -3 21256 21257 21346 -3 21347 21438 21437 -3 21346 21347 21437 -3 21438 21528 21527 -3 21437 21438 21527 -3 21528 21621 21620 -3 21527 21528 21620 -3 21621 21714 21713 -3 21620 21621 21713 -3 21714 21809 21808 -3 21713 21714 21808 -3 21809 21904 21903 -3 21808 21809 21903 -3 21904 21999 21998 -3 21903 21904 21998 -3 21999 22095 22094 -3 21998 21999 22094 -3 22095 22191 22190 -3 22094 22095 22190 -3 24152 25505 25490 -3 24399 24098 26225 -3 26225 26700 26699 -3 25997 25243 24098 -3 24399 25997 24098 -3 23835 25278 22591 -3 24607 24487 24815 -3 6640 96 18341 -3 21128 18747 21214 -3 20213 20212 20127 -3 20128 20213 20127 -3 20299 20298 20212 -3 20213 20299 20212 -3 20384 20383 20298 -3 20299 20384 20298 -3 20468 20467 20383 -3 35454 35648 35461 -3 35475 35523 35454 -3 20384 20468 20383 -3 20553 20552 20467 -3 20468 20553 20467 -3 20635 20634 20552 -3 20553 20635 20552 -3 20716 20715 20634 -3 20635 20716 20634 -3 20798 20797 20715 -3 20716 20798 20715 -3 20798 20880 20879 -3 20797 20798 20879 -3 20880 20960 20959 -3 20879 20880 20959 -3 22834 20538 20537 -3 35791 13795 15878 -3 20538 21782 21781 -3 20537 20538 21781 -3 21782 23329 22757 -3 21781 21782 22757 -3 23329 22751 22652 -3 22757 23329 22652 -3 23247 23149 22652 -3 22751 23247 22652 -3 23135 23136 23149 -3 23247 23135 23149 -3 23135 22541 22443 -3 23136 23135 22443 -3 22541 23436 23339 -3 22443 22541 23339 -3 23436 16940 21588 -3 23339 23436 21588 -3 16940 20136 21583 -3 21588 16940 21583 -3 20136 21487 21671 -3 21583 20136 21671 -3 1090 18383 1207 -3 24933 23642 24934 -3 4797 3538 14972 -3 18668 18709 18428 -3 20961 21044 20960 -3 11776 20155 15463 -3 22728 13272 22659 -3 26693 26805 23692 -3 21043 21042 20959 -3 20960 21043 20959 -3 21129 21128 21042 -3 33734 33733 33606 -3 25445 25385 25527 -3 21329 21241 21327 -3 25106 11332 3322 -3 21331 2382 21241 -3 21329 21331 21241 -3 22756 22657 2382 -3 21331 22756 2382 -3 22756 23152 23054 -3 22756 23054 22657 -3 20752 20753 20835 -3 21043 21129 21042 -3 20002 20001 19970 -3 31209 19970 19969 -3 20082 20081 20001 -3 20002 20082 20001 -3 20167 20166 20081 -3 20082 20167 20081 -3 20253 20252 20166 -3 20167 20253 20166 -3 20338 20337 20252 -3 20253 20338 20252 -3 20338 20422 20421 -3 20337 20338 20421 -3 20507 20506 20421 -3 20422 20507 20421 -3 20589 20588 20506 -3 20507 20589 20506 -3 35600 28191 29545 -3 31047 31109 31108 -3 20670 20669 20588 -3 15468 21756 15467 -3 20834 20833 20751 -3 20752 20834 20751 -3 20914 20913 20833 -3 20834 20914 20833 -3 20914 20997 20996 -3 20913 20914 20996 -3 20997 21083 21082 -3 20996 20997 21082 -3 21083 21171 21170 -3 21082 21083 21170 -3 21171 21258 21257 -3 21170 21171 21257 -3 21258 21348 21347 -3 21257 21258 21347 -3 21348 21439 21438 -3 21347 21348 21438 -3 21439 21529 21528 -3 21438 21439 21528 -3 21529 21622 21621 -3 21528 21529 21621 -3 21622 21715 21714 -3 21621 21622 21714 -3 21715 21810 21809 -3 21714 21715 21809 -3 21810 21905 21904 -3 21809 21810 21904 -3 21905 22000 21999 -3 21904 21905 21999 -3 22000 22096 22095 -3 21999 22000 22095 -3 22096 22001 29222 -3 24540 24607 24815 -3 24204 11614 24874 -3 20614 20532 18154 -3 20314 19641 19254 -3 3311 19365 21769 -3 20469 20554 20468 -3 11861 11776 15463 -3 18169 18988 19826 -3 21592 21604 12918 -3 30293 22776 30160 -3 19437 20024 23332 -3 20068 19889 18172 -3 2229 15094 15020 -3 4663 2229 15020 -3 20393 20477 20476 -3 20813 20731 19317 -3 32501 32610 32500 -3 20588 20671 20670 -3 21577 21578 13423 -3 22633 22634 6258 -3 13665 13763 13570 -3 20070 20071 4549 -3 21319 19757 20397 -3 33542 33429 7065 -3 23047 22948 19206 -3 21578 21577 6258 -3 24464 27018 27017 -3 20644 20539 20538 -3 22834 20644 20538 -3 20539 21688 21782 -3 20538 20539 21782 -3 21688 23133 23329 -3 21782 21688 23329 -3 23133 22851 22751 -3 23329 23133 22751 -3 23345 23247 22751 -3 22851 23345 22751 -3 22840 23135 23247 -3 23345 22840 23247 -3 22840 22641 22541 -3 23135 22840 22541 -3 22641 4419 23436 -3 22541 22641 23436 -3 4419 20741 16940 -3 23436 4419 16940 -3 20741 22076 20136 -3 16940 20741 20136 -3 22076 20059 21487 -3 20136 22076 21487 -3 20836 20753 20837 -3 16037 21051 16622 -3 29086 29085 28950 -3 13557 20411 14346 -3 12735 11508 13471 -3 21960 21864 18912 -3 21384 22728 22659 -3 13959 2634 20048 -3 18272 18273 18366 -3 12511 26941 5463 -3 19321 22727 22627 -3 18537 20941 18536 -3 20540 20541 21324 -3 35594 35886 35378 -3 29545 28191 28190 -3 26310 26311 12996 -3 22550 22839 23132 -3 21421 21331 21329 -3 21419 21421 21329 -3 22855 22756 21331 -3 21421 22855 21331 -3 35081 35080 34951 -3 22855 21421 23444 -3 22727 22726 22627 -3 19321 18188 22727 -3 19972 20003 20002 -3 19971 19972 20002 -3 20083 20082 20002 -3 20003 20083 20002 -3 20168 20167 20082 -3 20083 20168 20082 -3 20254 20253 20167 -3 20168 20254 20167 -3 20339 20338 20253 -3 20254 20339 20253 -3 20423 20422 20338 -3 20339 20423 20338 -3 20508 20507 20422 -3 20423 20508 20422 -3 20590 20589 20507 -3 20508 20590 20507 -3 24063 24062 20199 -3 35481 35443 35873 -3 21756 12631 15467 -3 33292 33401 33291 -3 20835 20834 20752 -3 25112 20752 24592 -3 20915 20914 20834 -3 20835 20915 20834 -3 20998 20997 20914 -3 20915 20998 20914 -3 20998 21084 21083 -3 20997 20998 21083 -3 21084 21172 21171 -3 21083 21084 21171 -3 21172 21259 21258 -3 21171 21172 21258 -3 21259 21349 21348 -3 21258 21259 21348 -3 21349 21440 21439 -3 21348 21349 21439 -3 21440 21530 21529 -3 21439 21440 21529 -3 21530 21623 21622 -3 21529 21530 21622 -3 21623 21716 21715 -3 21622 21623 21715 -3 21716 21811 21810 -3 21715 21716 21810 -3 21811 21906 21905 -3 21810 21811 21905 -3 21906 22001 22000 -3 21905 21906 22000 -3 21906 21907 22001 -3 25227 23977 24870 -3 23949 24440 24816 -3 25301 25300 24816 -3 28498 23782 25361 -3 11670 11749 21816 -3 23548 23543 26141 -3 13089 26243 25080 -3 28357 28358 30075 -3 24802 25641 24283 -3 29774 29903 29902 -3 30077 11551 19908 -3 27017 27016 26898 -3 28992 29685 28071 -3 12719 12807 13763 -3 26570 26675 26674 -3 22826 22825 22726 -3 20390 20474 20389 -3 22727 22826 22726 -3 33732 33731 33604 -3 17754 22923 22924 -3 22364 20179 6763 -3 20944 18520 18609 -3 22363 22364 6763 -3 20179 21371 21370 -3 21371 13318 9740 -3 6763 20179 21370 -3 25223 23597 25321 -3 21370 21371 9740 -3 25353 28122 28123 -3 14345 13557 14346 -3 20040 20490 20489 -3 25304 24632 20672 -3 20490 21299 21293 -3 20032 20040 20489 -3 21299 22364 22363 -3 20489 20490 21293 -3 17007 17083 7074 -3 21293 21299 22363 -3 20555 20554 20469 -3 17083 23121 7074 -3 20881 20882 20961 -3 20386 20470 20385 -3 10979 22142 20539 -3 13578 35505 35560 -3 22142 21689 21688 -3 20539 22142 21688 -3 21689 23231 23133 -3 21688 21689 23133 -3 23231 22951 22851 -3 23133 23231 22851 -3 22951 23051 23345 -3 22851 22951 23345 -3 23051 22161 22840 -3 23345 23051 22840 -3 22161 22741 22641 -3 22840 22161 22641 -3 22741 7284 4419 -3 22641 22741 4419 -3 7284 20660 20741 -3 4419 7284 20741 -3 20660 11108 22076 -3 20741 20660 22076 -3 11108 21325 20059 -3 22076 11108 20059 -3 19241 6408 21242 -3 18750 18749 21131 -3 19825 5759 5891 -3 35579 35431 35928 -3 17816 17298 30827 -3 20718 20717 20636 -3 11506 21475 1977 -3 20962 21045 21044 -3 28605 27433 21560 -3 18215 15433 13242 -3 35777 35840 35785 -3 30503 13015 25574 -3 27497 6980 26594 -3 21951 22550 23132 -3 13558 13334 22839 -3 25320 23268 25807 -3 21419 21508 21418 -3 21420 21421 21419 -3 21418 21420 21419 -3 15767 15631 23444 -3 21420 23444 21421 -3 20390 20389 20304 -3 16849 17100 21569 -3 21390 14150 13318 -3 15858 15860 15998 -3 19973 20004 20003 -3 19972 19973 20003 -3 20084 20083 20003 -3 20004 20084 20003 -3 20169 20168 20083 -3 20084 20169 20083 -3 20255 20254 20168 -3 20169 20255 20168 -3 20340 20339 20254 -3 20255 20340 20254 -3 20424 20423 20339 -3 20340 20424 20339 -3 20509 20508 20423 -3 20424 20509 20423 -3 32839 32947 32838 -3 33053 33052 32946 -3 25304 20590 25079 -3 32947 33053 32946 -3 31690 31689 31594 -3 20133 18614 18526 -3 20836 20835 20753 -3 20916 20915 20835 -3 20836 20916 20835 -3 20999 20998 20915 -3 20916 20999 20915 -3 20999 21085 21084 -3 20998 20999 21084 -3 21085 21173 21172 -3 21084 21085 21172 -3 21173 21260 21259 -3 21172 21173 21259 -3 21260 21350 21349 -3 21259 21260 21349 -3 21350 21441 21440 -3 21349 21350 21440 -3 21441 21531 21530 -3 21440 21441 21530 -3 21531 21624 21623 -3 21530 21531 21623 -3 21624 21717 21716 -3 21623 21624 21716 -3 21717 21812 21811 -3 21716 21717 21811 -3 21718 21812 21717 -3 21811 21812 21906 -3 21907 21906 21812 -3 26324 20922 22003 -3 24557 26216 11482 -3 24390 22350 24234 -3 25379 12107 22530 -3 25889 25890 26031 -3 24477 12168 23755 -3 12168 21540 23755 -3 23275 24390 24175 -3 21540 23805 24073 -3 11749 21912 21816 -3 25197 23873 25300 -3 24559 25101 25102 -3 23773 23774 24976 -3 25667 23736 25103 -3 1895 1426 4276 -3 24095 24089 25462 -3 24382 20823 20985 -3 22550 13558 22839 -3 34932 35061 34931 -3 20305 20390 20304 -3 17440 18494 18215 -3 20071 20070 11947 -3 22108 22107 22012 -3 11575 26599 17285 -3 20710 20792 20709 -3 18814 19544 17695 -3 20178 21390 20179 -3 19535 17440 18215 -3 20105 18668 20617 -3 20462 20547 20461 -3 20629 20628 20546 -3 2673 2674 21654 -3 20534 21302 21301 -3 28686 28685 28556 -3 24221 24717 26059 -3 20547 20546 20461 -3 14972 14334 12735 -3 20303 17700 20217 -3 20293 20378 20292 -3 20944 18609 13016 -3 13242 13243 13990 -3 24631 20672 24632 -3 12628 14683 13243 -3 13242 12628 13243 -3 34060 5551 14683 -3 13242 192 12628 -3 27752 22552 21572 -3 27852 27853 27968 -3 13296 26570 24594 -3 27969 28086 28085 -3 28836 28835 28703 -3 29552 30209 29551 -3 34411 34410 34272 -3 34273 34411 34272 -3 22143 21595 21689 -3 22142 22143 21689 -3 21595 23134 23231 -3 21689 21595 23231 -3 23050 22951 23231 -3 23134 23050 23231 -3 23050 22952 23051 -3 22951 23050 23051 -3 22952 22064 22161 -3 23051 22952 22161 -3 22064 15199 22741 -3 22161 22064 22741 -3 15199 2494 7284 -3 22741 15199 7284 -3 2494 21490 20660 -3 7284 2494 20660 -3 21490 21958 11108 -3 20660 21490 11108 -3 17675 17771 17674 -3 11108 21958 21325 -3 26209 25163 23599 -3 18128 34469 17535 -3 14239 4549 15091 -3 21655 455 7294 -3 21467 11506 11360 -3 17099 125 2634 -3 15885 1881 15609 -3 18927 30352 28310 -3 20122 20121 20041 -3 28557 28686 28556 -3 20187 20101 17771 -3 21325 19414 18988 -3 21418 21508 13852 -3 23847 29830 27637 -3 21882 21418 13852 -3 1262 21882 13852 -3 21603 21420 21418 -3 21882 21603 21418 -3 3800 23444 21420 -3 21603 3800 21420 -3 15767 23444 3800 -3 20128 17507 17508 -3 21162 27722 21074 -3 20005 20004 19973 -3 19974 20005 19973 -3 20085 20084 20004 -3 20005 20085 20004 -3 20170 20169 20084 -3 20085 20170 20084 -3 20256 20255 20169 -3 20170 20256 20169 -3 20341 20340 20255 -3 20256 20341 20255 -3 20425 20424 20340 -3 20341 20425 20340 -3 20510 20509 20424 -3 20425 20510 20424 -3 25079 20592 24649 -3 20510 20592 20509 -3 12512 1881 15885 -3 15476 12512 15885 -3 13579 22750 22343 -3 13567 11086 1881 -3 12479 11701 12542 -3 20917 20916 20836 -3 20837 20917 20836 -3 21000 20999 20916 -3 20917 21000 20916 -3 21000 21086 21085 -3 20999 21000 21085 -3 21086 21174 21173 -3 21085 21086 21173 -3 21174 21261 21260 -3 21173 21174 21260 -3 21261 21351 21350 -3 21260 21261 21350 -3 21351 21442 21441 -3 21350 21351 21441 -3 21442 21532 21531 -3 21441 21442 21531 -3 21532 21625 21624 -3 21531 21532 21624 -3 21625 21718 21717 -3 21624 21625 21717 -3 21625 28684 21718 -3 21887 22172 20140 -3 25211 25227 24870 -3 170 23176 6254 -3 24431 24348 24648 -3 25100 23801 24129 -3 25565 24458 24609 -3 15585 15584 13177 -3 25459 25153 25458 -3 25861 25973 25831 -3 23755 21540 24073 -3 25278 23941 25293 -3 24589 25348 12446 -3 21325 21958 18992 -3 23782 24873 25361 -3 24938 24342 24939 -3 25643 25786 24960 -3 13296 24912 26571 -3 25877 26019 26018 -3 25543 13104 12535 -3 24692 25543 12535 -3 12557 12993 12899 -3 23974 24239 22296 -3 18634 20941 18537 -3 16867 17030 17029 -3 20496 13054 15200 -3 33439 33438 33329 -3 20374 20375 20458 -3 20497 20496 15200 -3 20289 20290 20374 -3 20459 20544 20543 -3 20204 20290 20289 -3 20375 20459 20458 -3 17989 19488 18313 -3 20290 20375 20374 -3 20788 20789 20870 -3 20629 20710 20628 -3 20547 20629 20546 -3 20792 20791 20709 -3 20707 20706 20625 -3 20710 20709 20628 -3 20458 20459 20543 -3 20626 20707 20625 -3 20626 20625 20543 -3 20544 20626 20543 -3 20707 20789 20788 -3 20706 20707 20788 -3 20462 20461 20377 -3 20789 20871 20870 -3 20207 20293 20206 -3 20378 20462 20377 -3 20122 20207 20121 -3 20378 20377 20292 -3 20042 20122 20041 -3 20293 20292 20206 -3 30561 30695 30560 -3 20207 20206 20121 -3 12512 13567 1881 -3 22048 23342 13579 -3 11105 5553 11086 -3 13567 11105 11086 -3 30846 24776 23823 -3 13618 22240 22143 -3 20644 10979 20539 -3 22240 23119 21595 -3 22143 22240 21595 -3 23119 23036 23134 -3 21595 23119 23134 -3 23036 23440 23050 -3 23134 23036 23050 -3 23440 23441 22952 -3 23050 23440 22952 -3 23441 21969 22064 -3 22952 23441 22064 -3 21969 20620 15199 -3 22064 21969 15199 -3 20620 6759 2494 -3 15199 20620 2494 -3 6759 20967 21490 -3 2494 6759 21490 -3 20967 21582 21958 -3 21490 20967 21958 -3 34487 33935 11647 -3 22826 18044 19110 -3 14323 20241 14432 -3 20540 21324 21302 -3 11947 20070 20155 -3 14471 15115 14930 -3 20801 20802 20883 -3 12807 13861 13763 -3 12449 12806 5553 -3 11105 12449 5553 -3 15679 5456 3312 -3 23131 22047 22144 -3 28362 30094 30082 -3 27267 29423 27082 -3 15408 1262 20982 -3 21065 20982 1262 -3 21977 21882 1262 -3 15408 21977 1262 -3 21696 21603 21882 -3 21977 21696 21882 -3 12569 3800 21603 -3 21696 12569 21603 -3 26351 30872 30871 -3 18417 20673 20948 -3 19975 20006 20005 -3 19974 19975 20005 -3 20086 20085 20005 -3 20006 20086 20005 -3 20171 20170 20085 -3 20086 20171 20085 -3 20257 20256 20170 -3 20171 20257 20170 -3 20342 20341 20256 -3 20257 20342 20256 -3 20426 20425 20341 -3 20342 20426 20341 -3 20511 20510 20425 -3 20426 20511 20425 -3 20594 24305 24649 -3 20511 20593 20510 -3 15464 14949 12806 -3 12449 15464 12806 -3 23270 23171 14949 -3 20838 20837 20755 -3 35645 35616 35904 -3 20918 20917 20837 -3 20838 20918 20837 -3 21001 21000 20917 -3 20918 21001 20917 -3 21001 21087 21086 -3 21000 21001 21086 -3 21087 21175 21174 -3 21086 21087 21174 -3 21175 21262 21261 -3 21174 21175 21261 -3 21262 21352 21351 -3 21261 21262 21351 -3 21352 21443 21442 -3 21351 21352 21442 -3 21443 21533 21532 -3 21442 21443 21532 -3 21177 21264 21263 -3 21532 21533 21625 -3 32788 32787 32666 -3 23869 24459 25722 -3 12540 27378 29699 -3 23544 23837 26121 -3 22295 22662 22294 -3 24305 20594 20595 -3 21631 26248 24648 -3 24356 3330 11332 -3 22293 23648 24293 -3 19988 21631 24648 -3 25040 25424 25425 -3 25238 25100 24129 -3 25783 20902 26074 -3 15533 15402 15534 -3 25880 25881 26022 -3 20985 20823 22877 -3 20845 20762 24644 -3 24688 25226 25719 -3 24342 25643 24960 -3 35855 35837 35771 -3 24269 25814 17086 -3 25101 25239 25786 -3 13104 21888 23235 -3 25894 25895 26036 -3 24642 23731 24473 -3 12535 13104 23235 -3 26148 4552 4013 -3 24297 24298 26677 -3 25230 25443 23703 -3 25711 25652 11942 -3 12874 12873 12781 -3 23428 25966 25964 -3 11690 24457 24387 -3 32554 32553 32446 -3 21509 25686 26210 -3 26210 26067 25062 -3 13557 2910 20411 -3 87 5593 10244 -3 15608 4663 5337 -3 11508 13665 13471 -3 20218 20304 20217 -3 4549 17099 15091 -3 20870 20871 20950 -3 22354 21225 22258 -3 20951 21034 21033 -3 20950 20951 21033 -3 18647 18744 18646 -3 17129 17128 20980 -3 21225 21313 22258 -3 22737 22146 13787 -3 21051 6252 16622 -3 16330 15481 14921 -3 21483 20697 17084 -3 20304 20303 20217 -3 5485 16849 14862 -3 22531 20697 21483 -3 30770 27641 30762 -3 26703 26815 26814 -3 20050 20064 20541 -3 20065 20574 20563 -3 19002 25343 30534 -3 33486 33605 33485 -3 27055 28362 28360 -3 20134 19002 30534 -3 22750 21051 22343 -3 21072 30641 27784 -3 15464 23270 14949 -3 22047 23342 22048 -3 23270 16933 10116 -3 23171 23270 10116 -3 16933 16617 15030 -3 32195 32194 32094 -3 30872 26351 30873 -3 15593 16012 22240 -3 13618 15593 22240 -3 16012 13903 23119 -3 22240 16012 23119 -3 13903 15319 23036 -3 23119 13903 23036 -3 15319 23344 23440 -3 23036 15319 23440 -3 23344 22852 23441 -3 23440 23344 23441 -3 22852 16934 21969 -3 23441 22852 21969 -3 16934 20226 20620 -3 21969 16934 20620 -3 14241 6759 20620 -3 20226 14241 20620 -3 14241 20237 20967 -3 6759 14241 20967 -3 22931 22832 17915 -3 20397 19645 19642 -3 78 13392 2229 -3 17509 17603 20129 -3 15463 1623 13945 -3 33327 33328 33436 -3 21673 13017 12558 -3 1623 11106 13290 -3 22728 22733 13272 -3 10116 16933 15030 -3 16617 20032 20031 -3 15030 16617 20031 -3 23033 23131 22144 -3 20780 23022 20702 -3 22133 22132 22036 -3 22035 22036 22132 -3 10506 15408 21151 -3 20982 21151 15408 -3 15337 21977 15408 -3 10506 15337 15408 -3 21884 21696 21977 -3 15337 21884 21977 -3 8110 4648 4782 -3 4782 8558 8110 -3 20025 18053 18143 -3 20308 17940 19711 -3 20007 20006 19975 -3 19976 20007 19975 -3 20087 20086 20006 -3 20007 20087 20006 -3 20172 20171 20086 -3 20087 20172 20086 -3 20258 20257 20171 -3 20172 20258 20171 -3 20343 20342 20257 -3 20258 20343 20257 -3 20427 20426 20342 -3 20343 20427 20342 -3 20512 20511 20426 -3 20427 20512 20426 -3 20594 20593 20511 -3 20512 20594 20511 -3 20032 20489 20486 -3 21567 21681 21394 -3 35937 35853 35592 -3 25716 24301 20757 -3 20919 20918 20838 -3 20839 20919 20838 -3 21002 21001 20918 -3 20919 21002 20918 -3 21002 21088 21087 -3 21001 21002 21087 -3 27845 27961 21003 -3 21087 21088 21175 -3 21176 21263 21262 -3 21175 21176 21262 -3 21263 21353 21352 -3 21262 21263 21352 -3 21353 21444 21443 -3 21352 21353 21443 -3 21443 21444 21533 -3 23556 25965 25534 -3 26149 26150 26290 -3 24956 24323 24859 -3 24099 25472 25471 -3 25312 25021 23667 -3 26181 26182 26322 -3 25537 24609 14252 -3 25242 25104 30509 -3 26323 22003 23651 -3 23568 23569 30763 -3 23648 24717 24221 -3 12026 24798 24190 -3 21728 21822 25249 -3 25890 25891 26032 -3 24267 24782 21815 -3 24316 25387 24331 -3 24390 24234 24175 -3 23597 26565 26469 -3 25956 20845 24644 -3 32612 32726 32611 -3 25643 25101 25786 -3 22785 22884 22883 -3 34940 34939 34810 -3 32540 32649 32539 -3 21487 17757 21671 -3 19923 23081 23179 -3 17757 19382 21671 -3 25171 24183 25205 -3 25069 24947 25070 -3 24946 11690 24259 -3 25204 24046 25205 -3 21778 25054 21541 -3 24807 24808 24173 -3 12958 23923 12957 -3 25484 25628 15317 -3 13342 13341 13245 -3 21543 23981 23849 -3 23864 23808 24041 -3 30926 30984 30925 -3 11836 24834 11483 -3 23981 23864 24041 -3 11499 12466 15210 -3 25606 16755 25607 -3 16555 16710 4800 -3 5187 12961 17093 -3 22354 22258 15203 -3 20755 25716 20839 -3 17084 22737 13787 -3 15193 22354 15203 -3 15193 15203 13787 -3 22146 15193 13787 -3 15082 11499 15210 -3 16021 17093 20264 -3 20433 20264 12466 -3 11499 20433 12466 -3 22432 22531 21483 -3 20433 16021 20264 -3 23125 22531 22432 -3 20697 22737 17084 -3 23413 23125 15239 -3 15239 23125 22432 -3 23413 23316 12631 -3 23316 23413 15239 -3 21205 15468 21204 -3 21756 23413 12631 -3 22229 22228 22132 -3 15468 15467 21204 -3 22144 22047 22048 -3 22133 22229 22132 -3 23022 22436 20702 -3 23342 22750 13579 -3 20031 20032 20486 -3 21771 22267 5960 -3 20489 21293 21292 -3 22534 15191 15593 -3 22435 22534 15593 -3 15191 22045 16012 -3 15593 15191 16012 -3 22045 20868 13903 -3 16012 22045 13903 -3 20868 15202 15319 -3 13903 20868 15319 -3 15202 23246 23344 -3 15319 15202 23344 -3 15068 22852 23344 -3 23246 15068 23344 -3 15068 23233 16934 -3 22852 15068 16934 -3 23233 20227 20226 -3 16934 23233 20226 -3 2522 14241 20226 -3 20227 2522 20226 -3 2522 22160 20237 -3 14241 2522 20237 -3 20025 18234 22056 -3 20860 20859 18439 -3 20534 20540 21302 -3 13392 13372 13180 -3 20883 20963 20962 -3 20120 20103 20102 -3 13855 13431 20071 -3 21673 21604 13272 -3 20486 20489 21292 -3 21293 22363 22342 -3 21292 21293 22342 -3 22363 6763 9790 -3 22342 22363 9790 -3 22829 23022 22828 -3 23120 4664 22267 -3 22436 23131 23033 -3 20702 22436 23033 -3 9630 5589 23236 -3 35063 35064 35192 -3 12728 10506 9415 -3 21151 9415 10506 -3 1059 15337 10506 -3 12728 1059 10506 -3 21979 21884 15337 -3 1059 21979 15337 -3 20048 20534 20533 -3 18313 22929 23126 -3 16046 15906 12569 -3 18556 21046 20963 -3 22100 24142 26829 -3 35064 35193 35192 -3 22195 22100 19017 -3 20259 20258 20172 -3 12774 24388 12866 -3 20344 20343 20258 -3 20259 20344 20258 -3 20428 20427 20343 -3 34935 34934 34805 -3 20513 20512 20427 -3 20343 20344 20428 -3 20427 20428 20513 -3 20513 20595 20512 -3 6763 21370 21367 -3 15633 16618 14052 -3 9790 6763 21367 -3 31507 31506 31434 -3 20920 20919 20839 -3 20839 27498 20840 -3 27613 20839 20840 -3 24491 25812 13240 -3 25812 24491 25820 -3 21003 20920 27730 -3 24778 24207 24156 -3 22979 21792 12336 -3 27961 21177 21088 -3 21176 21177 21263 -3 21263 21264 21353 -3 3322 11332 13427 -3 34806 34805 34677 -3 21179 25587 24404 -3 22586 24126 24747 -3 24328 23727 24894 -3 21912 21179 24404 -3 34272 34271 34133 -3 13269 12191 24159 -3 24194 24483 21720 -3 26039 26040 26181 -3 26182 26323 26322 -3 25213 25665 25288 -3 25807 25665 25213 -3 25467 25466 16752 -3 31812 31813 31918 -3 24798 24931 23827 -3 24931 24932 23827 -3 14870 14989 14988 -3 23646 25671 24900 -3 34678 34677 34549 -3 21423 24950 23798 -3 22588 22687 22686 -3 22587 22588 22686 -3 22687 22786 22785 -3 22686 22687 22785 -3 22786 22885 22884 -3 22785 22786 22884 -3 22885 22984 22983 -3 22884 22885 22983 -3 22984 23082 23081 -3 22983 22984 23081 -3 23082 23180 23179 -3 23277 23179 23180 -3 23180 23278 23277 -3 23277 23374 21474 -3 23278 23375 23374 -3 21474 23471 16596 -3 23375 23472 23471 -3 15316 23471 23472 -3 23472 15190 15316 -3 22587 22686 30330 -3 31364 31431 31363 -3 15190 15458 15316 -3 26198 23548 26141 -3 24110 24432 24266 -3 11667 27180 27179 -3 23798 23617 25067 -3 24579 25208 24207 -3 26284 13079 26283 -3 12193 23958 3799 -3 25049 25784 19564 -3 21243 23503 25098 -3 24482 24144 16758 -3 23921 25300 262 -3 21605 21243 25098 -3 16021 5187 17093 -3 23723 26100 24307 -3 13654 13556 15462 -3 15594 13654 15462 -3 13465 13561 12870 -3 15589 15725 15071 -3 13561 13465 12961 -3 14907 7903 16606 -3 5187 13561 12961 -3 13561 14907 12870 -3 12870 14907 16606 -3 7903 7457 12830 -3 16606 7903 12830 -3 7457 13662 13661 -3 12891 20366 14685 -3 21138 21133 20365 -3 27047 28357 28356 -3 20366 20365 14685 -3 35234 22325 22228 -3 19598 19820 18037 -3 17087 21771 5960 -3 22230 35105 22229 -3 21370 9740 12655 -3 23017 23016 22917 -3 21367 21370 12655 -3 9740 7074 21853 -3 11564 14333 15191 -3 11954 11401 13280 -3 14333 22241 22045 -3 15191 14333 22045 -3 22241 22075 20868 -3 22045 22241 20868 -3 22075 12467 15202 -3 20868 22075 15202 -3 12467 23148 23246 -3 15202 12467 23246 -3 23148 13381 15068 -3 23246 23148 15068 -3 13381 21874 23233 -3 15068 13381 23233 -3 20313 20227 23233 -3 21874 20313 23233 -3 3589 2522 20227 -3 20313 3589 20227 -3 2845 9504 9389 -3 2522 3589 22160 -3 5416 11121 14155 -3 16189 21884 21979 -3 13372 14251 14250 -3 13180 13372 14250 -3 13960 19982 20046 -3 20882 20883 20962 -3 20241 20071 14432 -3 25269 12752 25413 -3 12655 9740 21853 -3 23121 23219 21853 -3 7074 23121 21853 -3 18520 20944 23219 -3 23121 18520 23219 -3 21285 17087 21284 -3 22163 121 15539 -3 21771 23120 22267 -3 23022 20780 22828 -3 22829 22828 4664 -3 23120 22829 4664 -3 27046 27047 28356 -3 22619 22618 22519 -3 23788 23787 15152 -3 274 16108 23938 -3 16938 12728 15152 -3 1680 16938 15152 -3 14058 1059 12728 -3 16938 14058 12728 -3 14058 16334 1059 -3 16517 9292 16365 -3 8558 4782 788 -3 20307 20306 17702 -3 22160 3589 18047 -3 27672 12268 27555 -3 19147 4954 19767 -3 17969 17968 17876 -3 15560 18138 19861 -3 20345 20344 20259 -3 34275 34413 34274 -3 24928 24676 24929 -3 25858 26234 23516 -3 23732 24396 23546 -3 14042 14238 14142 -3 24131 25301 24694 -3 24978 20842 25532 -3 26424 31955 32055 -3 18668 20105 19711 -3 25913 23714 22778 -3 21889 23555 23806 -3 23555 15218 23806 -3 22290 25917 25774 -3 22385 25923 25494 -3 24103 24868 24425 -3 24071 23557 25249 -3 12107 23528 23058 -3 24754 26204 24484 -3 35683 35515 21647 -3 23336 24686 24535 -3 12110 26058 24343 -3 21909 25855 21813 -3 26290 26291 23764 -3 25614 25756 25755 -3 25613 25614 25755 -3 24036 23975 25916 -3 23971 24030 23970 -3 24739 24187 26208 -3 23911 23970 23910 -3 24931 4230 24932 -3 4230 24697 24932 -3 12214 5563 12118 -3 6922 26799 11704 -3 22490 22589 22588 -3 30065 22489 22587 -3 22589 22688 22687 -3 22588 22589 22687 -3 22688 22787 22786 -3 22687 22688 22786 -3 22787 22886 22885 -3 22786 22787 22885 -3 22886 22985 22984 -3 22885 22886 22984 -3 22985 23083 23082 -3 22984 22985 23082 -3 23083 23181 23180 -3 23082 23083 23180 -3 23181 23279 23278 -3 23180 23181 23278 -3 23279 23376 23375 -3 23278 23279 23375 -3 23376 23473 23472 -3 23375 23376 23472 -3 23473 15189 15190 -3 23472 23473 15190 -3 15189 15726 15458 -3 15190 15189 15458 -3 9887 8974 15458 -3 15726 9887 15458 -3 20096 26939 20182 -3 9887 1450 8974 -3 25979 24491 16930 -3 35847 35888 35559 -3 25315 22289 23509 -3 22289 23554 23509 -3 26168 26309 26308 -3 26100 26101 24307 -3 24175 24234 25533 -3 24790 24523 15591 -3 4545 12273 24781 -3 24876 25493 22078 -3 15737 15738 13556 -3 13654 15737 13556 -3 15072 15594 15462 -3 22414 22512 22413 -3 15725 15072 15071 -3 15071 15072 15462 -3 171 14762 23398 -3 23399 171 23398 -3 12871 12627 12626 -3 14912 12871 12626 -3 16921 7788 16917 -3 5353 14236 2623 -3 12891 14685 14236 -3 7788 5353 2623 -3 4658 10689 4065 -3 4064 12637 15081 -3 4504 17089 20266 -3 4065 4064 15081 -3 22619 22718 22618 -3 15323 14042 14142 -3 22918 23017 22917 -3 12746 12839 23446 -3 23115 23114 23016 -3 21324 22634 22633 -3 22918 22917 22818 -3 30829 30828 30694 -3 15878 23228 14333 -3 11564 15191 22534 -3 23228 22242 22241 -3 14333 23228 22241 -3 22242 20805 22075 -3 22241 22242 22075 -3 20805 5729 12467 -3 22075 20805 12467 -3 5729 20367 23148 -3 12467 5729 23148 -3 20367 7087 13381 -3 23148 20367 13381 -3 7087 21779 21874 -3 13381 7087 21874 -3 18402 18047 3589 -3 21874 21779 20313 -3 18920 5817 5948 -3 5948 5815 18920 -3 18534 17754 19486 -3 21586 21494 16857 -3 13392 15094 2229 -3 30591 30725 30590 -3 20880 20881 20960 -3 78 2229 13297 -3 21383 22659 22634 -3 7363 14251 13372 -3 15637 13855 20241 -3 23984 30784 30785 -3 21302 21324 22633 -3 18478 1207 18383 -3 21217 21218 22157 -3 20407 21218 21217 -3 22157 22163 15539 -3 17087 5960 21284 -3 121 21285 21284 -3 15539 121 21284 -3 22520 22619 22519 -3 22718 22717 22618 -3 3602 23786 23842 -3 23841 23176 3602 -3 23995 580 274 -3 23176 20319 3602 -3 16616 1680 20945 -3 20319 16616 20945 -3 20663 16938 1680 -3 16616 20663 1680 -3 12468 14058 16938 -3 20663 12468 16938 -3 16178 16386 4950 -3 17623 19928 18868 -3 11106 15091 19982 -3 20799 20881 20880 -3 3310 2802 2082 -3 21578 21592 4907 -3 18175 12825 7363 -3 11552 1832 13203 -3 14100 14099 14002 -3 11725 35816 21305 -3 2768 7107 22449 -3 34001 34137 34000 -3 27847 27848 27963 -3 23406 23405 23308 -3 12284 3066 6265 -3 23309 23406 23308 -3 24242 26679 26678 -3 11552 13203 16461 -3 20214 20213 20128 -3 20129 20214 20128 -3 26806 20260 26805 -3 25968 25826 24376 -3 15553 15679 16490 -3 20740 24268 26204 -3 24080 20740 24413 -3 23142 21144 21318 -3 25755 25756 25897 -3 22955 22657 23054 -3 24673 19915 4634 -3 25898 26040 26039 -3 16440 25615 16441 -3 16146 25763 16147 -3 25617 25759 25758 -3 23550 22004 21815 -3 25616 25617 25758 -3 25759 25901 25900 -3 26196 26195 26053 -3 25758 25759 25900 -3 6280 28682 5555 -3 25756 25898 25897 -3 24044 24425 16312 -3 30621 35498 35520 -3 4230 25350 24697 -3 25757 25899 25898 -3 24739 26208 26207 -3 25432 16311 4230 -3 20824 24012 24437 -3 14482 24092 14559 -3 22491 22590 22589 -3 30066 22490 22489 -3 30621 35374 35498 -3 22589 22590 22688 -3 22689 22590 30334 -3 22688 22689 22787 -3 22788 22887 22886 -3 22787 22788 22886 -3 22887 22986 22985 -3 22886 22887 22985 -3 22986 23084 23083 -3 22985 22986 23083 -3 23084 23182 23181 -3 23083 23084 23181 -3 23280 23279 23181 -3 23182 23280 23181 -3 23280 23377 23376 -3 23279 23280 23376 -3 23377 23474 23473 -3 23376 23377 23473 -3 23474 34 15189 -3 23473 23474 15189 -3 34 15590 15726 -3 15189 34 15726 -3 13964 9887 15726 -3 15590 13964 15726 -3 1565 1450 9887 -3 13964 1565 9887 -3 35391 22435 35668 -3 1565 15206 1450 -3 23723 24307 23509 -3 23554 23723 23509 -3 12273 11884 24781 -3 25072 23363 25022 -3 20906 4545 24781 -3 24523 25094 15591 -3 24026 4545 23726 -3 11884 12215 24781 -3 22512 22611 22610 -3 25538 21536 25684 -3 22511 22512 22610 -3 22611 22710 22709 -3 22610 22611 22709 -3 22710 22809 22808 -3 23106 23204 23203 -3 23105 23106 23203 -3 12627 13279 13184 -3 12626 12627 13184 -3 22957 16921 22858 -3 7788 2623 16917 -3 16765 13336 13432 -3 15879 16765 13432 -3 12637 4504 2767 -3 15081 12637 2767 -3 20090 34995 20009 -3 15746 16461 16772 -3 17840 17912 30832 -3 16773 16772 20009 -3 35680 35620 14175 -3 8660 29955 28477 -3 25901 26043 26042 -3 28372 28494 28736 -3 27137 28367 28365 -3 24358 15812 25189 -3 17870 20189 17773 -3 20362 20446 20445 -3 18335 19016 19435 -3 30929 30987 30928 -3 13795 23326 23228 -3 15878 13795 23228 -3 23326 23034 22242 -3 23228 23326 22242 -3 23034 20804 20805 -3 22242 23034 20805 -3 20804 11400 5729 -3 20805 20804 5729 -3 11400 20368 20367 -3 5729 11400 20367 -3 20368 12937 7087 -3 20367 20368 7087 -3 12937 21686 21779 -3 7087 12937 21779 -3 35611 35828 35520 -3 21686 20314 21779 -3 22426 33925 22427 -3 21131 21045 18652 -3 20307 20392 20391 -3 21039 18646 21038 -3 15094 13392 13180 -3 14589 14345 5416 -3 24260 25255 23704 -3 20047 20533 20491 -3 351 23998 23997 -3 19982 13959 20047 -3 21037 18645 21036 -3 20791 20792 20873 -3 4284 2053 20484 -3 33866 34001 33865 -3 12839 12284 23446 -3 1832 7437 8674 -3 20406 20407 21217 -3 21218 22163 22157 -3 22817 22816 22717 -3 22718 22817 22717 -3 6272 23839 20973 -3 440 23896 23955 -3 33866 33865 33731 -3 20974 6272 20973 -3 7925 23176 170 -3 6272 7925 170 -3 20900 20319 23176 -3 7925 20900 23176 -3 20900 16800 20319 -3 16800 16799 16616 -3 20373 17980 17979 -3 20303 20302 17700 -3 16641 16485 12468 -3 12268 27672 12353 -3 34970 6931 35098 -3 23239 21488 7080 -3 21577 21484 5275 -3 23898 23897 6254 -3 20860 18440 18536 -3 7437 7880 8674 -3 3928 13337 13885 -3 14254 16937 21029 -3 21029 20143 20406 -3 12906 16015 14254 -3 20143 20407 20406 -3 23446 12284 6265 -3 16937 20143 21029 -3 3066 16015 12906 -3 6265 3066 12906 -3 23211 23309 23308 -3 23210 23211 23308 -3 14064 15042 23405 -3 23406 14064 23405 -3 15746 11552 16461 -3 1832 8674 13203 -3 18428 19697 17716 -3 16773 15746 16772 -3 18614 20133 21317 -3 33605 33732 33604 -3 20922 25447 3988 -3 20694 20776 20775 -3 25900 25901 26042 -3 26043 26185 26184 -3 26042 26043 26184 -3 26185 26326 26325 -3 24618 25862 25769 -3 26184 26185 26325 -3 25897 25898 26039 -3 25920 23604 24866 -3 24091 24150 24090 -3 26040 26182 26181 -3 24467 24430 28125 -3 22882 23935 23678 -3 9532 3848 9542 -3 26205 21333 22079 -3 26326 26060 24270 -3 26325 26326 24270 -3 26060 24799 12274 -3 24270 26060 12274 -3 32946 33052 32945 -3 26115 24371 11838 -3 24503 25330 25019 -3 26696 26082 25213 -3 738 737 26143 -3 24743 24984 24981 -3 25596 4192 25597 -3 24726 25202 22857 -3 24943 12276 20152 -3 24390 23275 22297 -3 20762 21449 23689 -3 26098 24134 24998 -3 24832 19986 24945 -3 22491 22490 30067 -3 24848 25591 23705 -3 20355 23812 20354 -3 24920 23659 25141 -3 25923 24353 25513 -3 22789 22888 22887 -3 22788 22789 22887 -3 22888 22987 22986 -3 22887 22888 22986 -3 22987 23085 23084 -3 22986 22987 23084 -3 23183 23182 23084 -3 23085 23183 23084 -3 23281 23280 23182 -3 23183 23281 23182 -3 23281 23378 23377 -3 23280 23281 23377 -3 23378 23475 23474 -3 23377 23378 23474 -3 23475 6663 34 -3 23474 23475 34 -3 15727 15590 34 -3 6663 15727 34 -3 232 13964 15590 -3 15727 232 15590 -3 1681 1565 13964 -3 232 1681 13964 -3 15080 15206 1565 -3 1681 15080 1565 -3 15631 23635 23152 -3 15080 16017 15206 -3 22391 12339 25502 -3 12687 16017 15339 -3 23363 25024 25022 -3 24929 25228 24930 -3 24461 22683 23529 -3 25228 24676 20261 -3 4552 13365 13366 -3 23079 24448 23460 -3 18073 20542 18166 -3 13365 12193 15603 -3 22709 22710 22808 -3 22809 22908 22907 -3 23204 23302 23301 -3 23203 23204 23301 -3 13279 13863 13764 -3 13764 13863 2918 -3 13862 8478 12391 -3 13863 13862 12391 -3 13336 13857 13759 -3 13432 13336 13759 -3 13244 9394 13885 -3 15409 13244 13885 -3 16925 13244 15409 -3 16924 16925 15409 -3 19642 21593 21502 -3 455 21467 21466 -3 17899 17802 17803 -3 2082 23145 3310 -3 19757 16551 18555 -3 17759 19853 17653 -3 35797 35635 11808 -3 14583 14504 8257 -3 20695 20614 18250 -3 19210 18513 18717 -3 18845 18844 18746 -3 12569 15906 3800 -3 15878 14333 11564 -3 29687 22247 21493 -3 13053 23423 23326 -3 13795 13053 23326 -3 23423 23328 23034 -3 23326 23423 23034 -3 23328 20495 20804 -3 23034 23328 20804 -3 14852 11400 20804 -3 20495 14852 20804 -3 20369 20368 11400 -3 14852 20369 11400 -3 20369 22752 12937 -3 20368 20369 12937 -3 22752 21593 21686 -3 12937 22752 21686 -3 21593 19641 21686 -3 9862 19698 16453 -3 20716 20717 20798 -3 19536 15194 21312 -3 16611 2910 13557 -3 13570 11776 11861 -3 23122 23126 22929 -3 11548 13297 15608 -3 33179 33284 33178 -3 16800 16961 16799 -3 6258 21577 5275 -3 4954 19147 4818 -3 18484 20051 20024 -3 20218 17511 17606 -3 34079 3094 34329 -3 16768 16931 13337 -3 7437 12839 12746 -3 7880 7437 12746 -3 23954 20058 440 -3 21393 11711 21575 -3 25138 25004 2252 -3 21575 20646 21393 -3 21056 20974 20058 -3 20646 21056 20058 -3 3473 6272 20974 -3 21056 3473 20974 -3 13422 7925 6272 -3 3473 13422 6272 -3 20980 20900 7925 -3 13422 20980 7925 -3 14743 16858 5472 -3 3615 3486 21682 -3 16944 351 463 -3 26357 26359 26400 -3 17790 17886 17885 -3 21051 16037 22343 -3 13340 11279 928 -3 11106 19982 13960 -3 30828 17816 30827 -3 1575 6117 2053 -3 9394 3928 13885 -3 5696 5828 17088 -3 22916 22915 22816 -3 22916 23015 22915 -3 22817 22916 22816 -3 23015 23014 22915 -3 23113 23112 23014 -3 23015 23113 23014 -3 23113 23211 23210 -3 23112 23113 23210 -3 14064 14042 15323 -3 15042 14064 15323 -3 10689 4658 16757 -3 20366 21138 20365 -3 16756 10689 16757 -3 10689 4064 4065 -3 13270 12110 26196 -3 24248 24287 25565 -3 24799 24084 25427 -3 33373 33372 33263 -3 12274 24799 25427 -3 24084 25156 25295 -3 25427 24084 25295 -3 25156 23836 24882 -3 26194 26193 26051 -3 25295 25156 24882 -3 25722 23875 23869 -3 23586 24624 24623 -3 32837 32945 32944 -3 24776 24202 23653 -3 25358 24858 14794 -3 20015 19235 22288 -3 21452 25050 25051 -3 13304 35928 35431 -3 30870 30869 21630 -3 23621 24287 24248 -3 23836 12643 24650 -3 25496 2542 25497 -3 24882 23836 24650 -3 12643 25811 24599 -3 24719 24671 24823 -3 24650 12643 24599 -3 25190 21634 25329 -3 336 25217 23620 -3 20885 14252 25389 -3 25330 25190 25329 -3 26023 26165 26164 -3 25389 25394 24043 -3 25607 25749 25748 -3 24183 25204 25205 -3 24644 20762 23689 -3 24234 25537 25533 -3 25474 25475 23530 -3 23816 25391 21449 -3 25016 26259 25021 -3 24809 24832 24945 -3 22788 30468 22789 -3 23985 26061 25918 -3 22691 22790 22789 -3 23813 21630 26394 -3 22790 22889 22888 -3 22789 22790 22888 -3 22889 22988 22987 -3 22888 22889 22987 -3 22988 23086 23085 -3 22987 22988 23085 -3 23184 23183 23085 -3 23086 23184 23085 -3 23184 23282 23281 -3 23183 23184 23281 -3 23282 23379 23378 -3 23281 23282 23378 -3 23379 23476 23475 -3 23378 23379 23475 -3 23476 793 6663 -3 23475 23476 6663 -3 15728 15727 6663 -3 793 15728 6663 -3 5727 232 15727 -3 15728 5727 15727 -3 1797 1681 232 -3 5727 1797 232 -3 15207 15080 1681 -3 1797 15207 1681 -3 16159 16017 15080 -3 15207 16159 15080 -3 35784 35403 35886 -3 16159 15339 16017 -3 22758 12356 20822 -3 25452 23994 24823 -3 34137 34136 34000 -3 23598 26496 26684 -3 25720 25709 24444 -3 25214 26211 25526 -3 24493 23646 23822 -3 23646 24900 23139 -3 22808 22809 22907 -3 24200 12625 21243 -3 23399 23398 23301 -3 22908 23007 23006 -3 26022 26023 26164 -3 24416 24406 24359 -3 22957 22858 12391 -3 23947 12444 23613 -3 15281 15154 13759 -3 15281 9186 15154 -3 11440 5354 5696 -3 5828 17090 17088 -3 19408 19741 19933 -3 29813 28372 28736 -3 27269 20677 20595 -3 6873 21379 11454 -3 6532 28487 19137 -3 27202 27255 28601 -3 31196 31260 31195 -3 20865 14243 13053 -3 20864 20865 13053 -3 14243 23130 23423 -3 13053 14243 23423 -3 23130 23425 23328 -3 23423 23130 23328 -3 23425 13424 20495 -3 23328 23425 20495 -3 13424 14851 14852 -3 20495 13424 14852 -3 20370 20369 14852 -3 14851 20370 14852 -3 20370 22653 22752 -3 20369 20370 22752 -3 22653 21502 21593 -3 22752 22653 21593 -3 22545 29539 22158 -3 15998 15997 15858 -3 20120 13425 2790 -3 20798 20799 20880 -3 3859 14589 5416 -3 19992 16611 13557 -3 13425 20120 20102 -3 20131 21497 11279 -3 16962 20980 17128 -3 23028 22832 22931 -3 20704 18260 18166 -3 18155 18250 20614 -3 17088 17090 16924 -3 2758 17249 11440 -3 3928 16768 13337 -3 34361 11718 16931 -3 16756 16757 14142 -3 14238 16756 14142 -3 21221 21575 16464 -3 26723 26722 31560 -3 20809 20646 21575 -3 21221 20809 21575 -3 21142 21056 20646 -3 20809 21142 20646 -3 22453 3473 21056 -3 21142 22453 21056 -3 17097 13422 3473 -3 22453 17097 3473 -3 5759 19825 19306 -3 18609 18520 18514 -3 24631 20671 20672 -3 19414 21325 18992 -3 17704 20393 20392 -3 21046 18652 21045 -3 20636 20635 20553 -3 18165 18164 18073 -3 19642 19645 19641 -3 11234 9771 8527 -3 31835 31834 31734 -3 19491 15365 23410 -3 17090 16925 16924 -3 10236 3335 2758 -3 17089 16765 15879 -3 20266 17089 15879 -3 5353 12891 14236 -3 8478 22957 12391 -3 22141 14240 22074 -3 14240 21205 9623 -3 21138 22141 21133 -3 21205 21204 9623 -3 22141 22074 21133 -3 14240 9623 22074 -3 25054 24927 21541 -3 22097 6944 29432 -3 13590 25269 25268 -3 26213 23433 24940 -3 25565 25566 24458 -3 24425 25327 26146 -3 13555 23875 25724 -3 25566 22394 24458 -3 26247 26110 20682 -3 26019 26161 26160 -3 24623 24624 25854 -3 25255 21818 21723 -3 23621 22350 23654 -3 21537 24948 26226 -3 26171 26312 26311 -3 23835 23600 25278 -3 11669 24217 23830 -3 25687 25545 23941 -3 25422 22959 24290 -3 25394 24044 24043 -3 25190 25051 21634 -3 22105 22104 26191 -3 24671 24672 24823 -3 22424 23361 30825 -3 25811 23713 23612 -3 24599 25811 23612 -3 23713 24495 24139 -3 23612 23713 24139 -3 20094 24767 25449 -3 27269 20595 20513 -3 23361 23264 30825 -3 25051 25052 21634 -3 25533 14252 20885 -3 25886 25887 26028 -3 21984 23336 26058 -3 20762 23816 21449 -3 19422 19432 34478 -3 23824 24832 24809 -3 32947 32946 32838 -3 12251 20152 24696 -3 23530 23824 24809 -3 35190 35189 35060 -3 21357 25093 22103 -3 22593 22692 22691 -3 35061 35190 35060 -3 22692 22791 22790 -3 22691 22692 22790 -3 22791 22890 22889 -3 22790 22791 22889 -3 22890 22989 22988 -3 22889 22890 22988 -3 22989 23087 23086 -3 22988 22989 23086 -3 23087 23185 23184 -3 23086 23087 23184 -3 23185 23283 23282 -3 23184 23185 23282 -3 23283 23380 23379 -3 23282 23283 23379 -3 23380 23477 23476 -3 23379 23380 23476 -3 23477 8901 793 -3 23476 23477 793 -3 15866 15728 793 -3 8901 15866 793 -3 3605 5727 15728 -3 15866 3605 15728 -3 16157 1797 5727 -3 3605 16157 5727 -3 15208 15207 1797 -3 16157 15208 1797 -3 16160 16159 15207 -3 15208 16160 15207 -3 15212 15339 16159 -3 16160 15212 16159 -3 33054 33053 32947 -3 15212 14961 15339 -3 24042 23614 23982 -3 31994 31993 31892 -3 23614 25214 25386 -3 26211 12801 25526 -3 23822 23646 23139 -3 24900 25808 25305 -3 4552 26289 13365 -3 13366 13365 15603 -3 26140 23486 21543 -3 25866 25867 22976 -3 25046 24919 25142 -3 25738 25739 25880 -3 15470 13010 22174 -3 22174 21794 13461 -3 21887 23907 23909 -3 26293 22758 12355 -3 16446 3335 16599 -3 24378 21267 25029 -3 16555 4800 159 -3 16196 11723 11444 -3 24832 24954 19986 -3 25400 23675 215 -3 24271 25829 25010 -3 13091 22270 332 -3 31786 31892 31785 -3 23701 25215 24904 -3 35850 35568 19103 -3 24967 25099 20842 -3 11551 23521 28625 -3 25449 23973 20429 -3 24013 24075 24967 -3 24480 21069 24139 -3 13010 21794 22174 -3 24495 24480 24139 -3 24282 24529 21069 -3 24480 24282 21069 -3 24310 24412 24529 -3 31687 31686 31591 -3 35908 21574 20864 -3 20866 3198 14243 -3 20865 20866 14243 -3 3198 23032 23130 -3 14243 3198 23130 -3 23032 20675 23425 -3 23130 23032 23425 -3 20675 3867 13424 -3 23425 20675 13424 -3 11185 14851 13424 -3 3867 11185 13424 -3 11185 20371 20370 -3 14851 11185 20370 -3 20371 22554 22653 -3 20370 20371 22653 -3 22554 21410 21502 -3 22653 22554 21502 -3 25722 25721 25104 -3 19642 21502 21410 -3 12918 20131 4907 -3 17759 19881 18506 -3 19992 13557 14345 -3 14589 19992 14345 -3 22453 6117 17097 -3 20385 20384 20299 -3 14251 3859 14250 -3 20491 20533 21300 -3 20025 18144 18234 -3 20323 18308 21492 -3 5354 5828 5696 -3 3335 10236 16599 -3 2767 4504 20266 -3 60 2888 20174 -3 21221 16464 20061 -3 23951 21872 20061 -3 21485 21221 20061 -3 20029 21485 20061 -3 21867 20809 21221 -3 21485 21867 21221 -3 21229 21142 20809 -3 21867 21229 20809 -3 20063 22453 21142 -3 21229 20063 21142 -3 17097 6117 123 -3 35336 12472 35335 -3 14099 10326 14002 -3 8040 8868 7885 -3 16611 13084 2910 -3 13180 13087 15020 -3 24240 26792 26793 -3 20717 20716 20635 -3 21302 22633 22629 -3 22633 6258 22629 -3 18378 19882 17561 -3 18749 18748 21130 -3 17757 18169 19492 -3 17249 5354 11440 -3 3335 17249 2758 -3 13857 15281 13759 -3 9186 14838 15154 -3 16921 16917 22858 -3 12716 13375 13279 -3 13662 23429 21684 -3 21684 23429 20072 -3 13661 13662 21684 -3 23429 20157 20072 -3 20157 12871 14912 -3 20072 20157 14912 -3 25895 26037 26036 -3 4812 15654 15661 -3 12104 24501 24201 -3 20906 20825 24746 -3 16312 24425 26146 -3 25446 24025 24675 -3 24458 22394 25520 -3 24043 24044 16312 -3 25520 25521 23699 -3 25521 24567 23699 -3 23699 24567 25019 -3 24567 24503 25019 -3 7043 34723 6945 -3 25330 25329 25019 -3 21095 21183 21182 -3 21182 21183 21269 -3 21271 21272 28455 -3 21269 21270 28454 -3 25931 25429 24046 -3 16915 25604 25603 -3 28479 30621 35520 -3 25519 24104 22196 -3 24282 24310 24529 -3 22288 24537 25952 -3 24223 24224 24412 -3 24310 24223 24412 -3 22192 25493 24876 -3 24223 23618 24324 -3 18274 20723 19121 -3 25471 25470 24095 -3 25195 24834 23520 -3 29674 29673 22107 -3 22108 22204 22203 -3 22203 22299 29808 -3 22204 22300 22299 -3 32840 32948 32839 -3 29937 22299 30069 -3 29808 22299 29937 -3 22397 22495 22494 -3 26927 24636 24481 -3 22495 22594 22593 -3 22494 22495 22593 -3 22594 22693 22692 -3 22593 22594 22692 -3 22693 22792 22791 -3 22692 22693 22791 -3 22792 22891 22890 -3 22791 22792 22890 -3 22891 22990 22989 -3 22890 22891 22989 -3 22990 23088 23087 -3 22989 22990 23087 -3 23088 23186 23185 -3 23087 23088 23185 -3 23186 23284 23283 -3 23185 23186 23283 -3 23284 23381 23380 -3 23283 23284 23380 -3 23381 23478 23477 -3 23380 23381 23477 -3 9560 8901 23477 -3 23478 9560 23477 -3 15867 15866 8901 -3 9560 15867 8901 -3 10139 3605 15866 -3 15867 10139 15866 -3 16301 16157 3605 -3 10139 16301 3605 -3 15335 15208 16157 -3 16301 15335 16157 -3 16305 16160 15208 -3 15335 16305 15208 -3 15211 15212 16160 -3 16305 15211 16160 -3 14963 14961 15212 -3 15211 14963 15212 -3 12688 15214 14961 -3 14963 12688 14961 -3 31893 31994 31892 -3 12688 12664 15214 -3 23139 24900 25305 -3 26572 26571 24912 -3 32398 32397 32294 -3 6006 11404 29413 -3 27647 12167 12084 -3 12481 16770 10601 -3 12003 12004 27647 -3 32295 32398 32294 -3 24925 26117 25975 -3 19912 6132 12379 -3 23498 25913 25199 -3 24123 24185 24230 -3 26205 25535 21333 -3 22172 21887 23909 -3 20760 60 20174 -3 16015 16937 14254 -3 24136 24017 23629 -3 18430 18220 18402 -3 22583 23630 25375 -3 25680 20763 25375 -3 23909 23907 25324 -3 21887 21699 23907 -3 26259 26119 25021 -3 23895 25326 25325 -3 24198 26105 25316 -3 26158 26159 26299 -3 25589 24096 25584 -3 24469 25674 23517 -3 16439 16440 16592 -3 15401 15273 15402 -3 13079 25713 23690 -3 26119 25977 25017 -3 25829 25011 25010 -3 26150 1679 26151 -3 24779 24374 24373 -3 25497 23538 25496 -3 23584 24623 24612 -3 24709 24779 24373 -3 20015 22288 25822 -3 17081 17245 17080 -3 25099 14153 20842 -3 13146 20015 25822 -3 25327 21778 26146 -3 22366 24075 24013 -3 26065 25065 25064 -3 26066 26065 25064 -3 24224 24223 24324 -3 11855 24318 23584 -3 32505 32614 32504 -3 24324 23618 17576 -3 12191 24167 24159 -3 24652 23725 20905 -3 23416 22630 20866 -3 26356 26397 26396 -3 22630 10124 3198 -3 20866 22630 3198 -3 10124 22933 23032 -3 3198 10124 23032 -3 22933 22738 20675 -3 23032 22933 20675 -3 22738 17105 3867 -3 20675 22738 3867 -3 14047 11185 3867 -3 17105 14047 3867 -3 14047 21854 20371 -3 11185 14047 20371 -3 21854 22456 22554 -3 20371 21854 22554 -3 21320 21410 22554 -3 22456 21320 22554 -3 21320 21319 20397 -3 21410 21320 20397 -3 125 12361 20811 -3 26789 24782 24267 -3 20470 20555 20469 -3 13084 4262 2910 -3 6258 5275 22629 -3 22453 20063 6117 -3 20615 20575 20102 -3 27262 30600 29133 -3 19093 19029 28132 -3 18863 21240 18086 -3 32505 32504 32399 -3 14044 13946 16599 -3 2921 20029 21872 -3 21318 14242 21408 -3 8046 20029 2921 -3 14242 8046 2921 -3 21576 21485 20029 -3 8046 21576 20029 -3 21962 21867 21485 -3 21576 21962 21485 -3 21498 21229 21867 -3 21962 21498 21867 -3 20484 20063 21229 -3 21498 20484 21229 -3 26357 26400 26399 -3 22246 32251 21308 -3 11080 19538 11439 -3 20554 20553 20468 -3 19088 18986 1805 -3 20411 4948 20326 -3 3311 21769 21768 -3 15732 23421 23324 -3 17600 20204 17694 -3 26148 733 26006 -3 15812 15950 15811 -3 24856 25224 22447 -3 26053 15861 15860 -3 13055 9280 9186 -3 23600 25687 23941 -3 12627 12716 13279 -3 13375 13862 13863 -3 13184 13279 13764 -3 13863 12391 2918 -3 23302 23399 23301 -3 23008 23106 23105 -3 15725 15589 14762 -3 171 15725 14762 -3 20601 20683 27516 -3 26098 24644 24134 -3 25611 25753 25752 -3 25139 2252 11880 -3 25321 25158 25223 -3 24207 22979 24156 -3 20847 20926 20846 -3 24764 25712 21361 -3 20847 20927 20926 -3 27865 20926 27981 -3 20927 21010 21009 -3 7043 6945 7044 -3 21010 21096 21095 -3 21009 21010 21095 -3 21096 21184 21183 -3 21095 21096 21183 -3 21184 21271 21270 -3 21183 21184 21270 -3 24605 24590 24851 -3 25167 24854 23487 -3 23491 22942 27266 -3 20887 25289 24074 -3 23565 22582 22581 -3 23973 24018 23969 -3 21071 23535 23178 -3 12647 25358 14794 -3 25248 24026 24476 -3 24537 25916 25952 -3 21871 25578 25721 -3 26149 26290 26289 -3 22013 22109 22108 -3 22012 22013 22108 -3 22109 22205 22204 -3 22108 22109 22204 -3 22205 22301 22300 -3 22204 22205 22300 -3 22301 22398 22397 -3 22300 22301 22397 -3 22398 22496 22495 -3 22397 22398 22495 -3 22496 22595 22594 -3 22495 22496 22594 -3 22595 22694 22693 -3 22594 22595 22693 -3 22694 22793 22792 -3 22693 22694 22792 -3 22793 22892 22891 -3 22792 22793 22891 -3 22892 22991 22990 -3 22891 22892 22990 -3 22991 23089 23088 -3 22990 22991 23088 -3 23089 23187 23186 -3 23088 23089 23186 -3 23187 23285 23284 -3 23186 23187 23284 -3 23285 23382 23381 -3 23284 23285 23381 -3 23382 23479 23478 -3 23381 23382 23478 -3 10472 9560 23478 -3 23479 10472 23478 -3 16444 15867 9560 -3 10472 16444 9560 -3 13751 10139 15867 -3 16444 13751 15867 -3 12474 16301 10139 -3 13751 12474 10139 -3 12474 15336 15335 -3 16301 12474 15335 -3 16451 16305 15335 -3 15336 16451 15335 -3 13657 15211 16305 -3 16451 13657 16305 -3 15084 14963 15211 -3 13657 15084 15211 -3 16764 12688 14963 -3 15084 16764 14963 -3 11501 12664 12688 -3 16764 11501 12688 -3 16609 3844 12664 -3 11501 16609 12664 -3 5736 12481 3844 -3 16609 5736 3844 -3 23351 16770 12481 -3 5736 23351 12481 -3 15742 15345 16770 -3 23351 15742 16770 -3 12379 6132 15345 -3 15742 12379 15345 -3 22106 23758 22464 -3 31433 31505 31432 -3 23907 25325 25324 -3 31301 31368 31300 -3 25962 24690 26205 -3 12997 23582 21448 -3 21333 25927 12105 -3 24690 25535 26205 -3 25324 25325 24515 -3 25927 25929 12105 -3 23629 24311 24244 -3 25325 25680 24515 -3 23907 23895 25325 -3 25326 20763 25680 -3 24089 25464 24087 -3 25463 25464 25161 -3 24096 25471 24095 -3 25471 24712 24538 -3 23745 25863 22974 -3 25684 25542 23579 -3 26220 23538 24935 -3 25478 24802 24283 -3 24873 23502 25361 -3 25239 25103 25787 -3 26287 25435 23461 -3 24262 24261 11670 -3 2815 25496 25495 -3 25829 24271 24277 -3 23563 23584 24612 -3 26220 25496 23538 -3 25952 25916 7081 -3 14511 25477 22975 -3 25289 22366 24013 -3 25822 22288 24403 -3 23690 23644 26282 -3 24075 25099 24967 -3 25744 25745 25886 -3 25670 12639 13079 -3 26121 24966 21334 -3 24723 26082 26695 -3 24318 23586 23584 -3 24960 25150 24940 -3 20866 27434 23416 -3 25478 24283 22485 -3 22631 16598 10124 -3 22630 22631 10124 -3 16598 22536 22933 -3 10124 16598 22933 -3 22536 22638 22738 -3 22933 22536 22738 -3 22638 20803 17105 -3 22738 22638 17105 -3 15150 14047 17105 -3 20803 15150 17105 -3 15150 21950 21854 -3 14047 15150 21854 -3 21950 22359 22456 -3 21854 21950 22456 -3 20622 21320 22456 -3 22359 20622 22456 -3 19317 20731 18036 -3 21320 20622 21319 -3 13084 20135 20120 -3 18749 21130 21131 -3 23419 13026 18418 -3 21582 18335 18992 -3 20155 14239 1623 -3 3927 4797 14973 -3 19636 19328 18026 -3 30426 30560 23071 -3 13946 16446 16599 -3 14140 14139 14044 -3 9635 9634 25248 -3 21318 23240 23142 -3 13750 14242 21318 -3 21144 13750 21318 -3 23226 8046 14242 -3 13750 23226 14242 -3 21491 21576 8046 -3 23226 21491 8046 -3 22057 21962 21576 -3 21491 22057 21576 -3 21589 21498 21962 -3 22057 21589 21962 -3 20569 20484 21498 -3 21589 20569 21498 -3 29539 22545 14043 -3 32297 32296 32195 -3 23122 23220 23126 -3 23146 19761 19537 -3 14345 14346 11121 -3 4797 14972 14973 -3 27134 27253 27252 -3 20484 20569 4284 -3 25737 25879 25878 -3 26315 25289 20887 -3 35083 35082 34953 -3 26170 26171 26311 -3 20180 24886 24826 -3 26937 20095 20181 -3 13279 13375 13863 -3 20267 20353 23638 -3 22858 22759 2918 -3 12391 22858 2918 -3 23007 23008 23105 -3 22909 23008 23007 -3 24646 28139 28257 -3 23990 20435 20521 -3 20603 20602 20520 -3 20521 20603 20520 -3 20684 20683 20602 -3 20603 20684 20602 -3 30361 25942 30228 -3 20684 20766 20683 -3 20848 20847 20765 -3 20766 20848 20765 -3 20848 20928 20927 -3 20847 20848 20927 -3 20928 21011 21010 -3 20927 20928 21010 -3 21011 21097 21096 -3 21010 21011 21096 -3 21097 21185 21184 -3 21096 21097 21184 -3 21272 21273 21362 -3 21184 21185 21271 -3 35360 35687 35827 -3 24598 24601 25804 -3 25611 25612 25753 -3 24646 25361 28255 -3 25754 25896 25895 -3 23268 26078 25665 -3 22843 25653 23609 -3 24167 25515 25511 -3 29257 29256 21823 -3 26056 24729 25958 -3 21824 21919 21918 -3 29396 21918 21919 -3 21919 22014 22013 -3 22014 22110 22109 -3 22013 22014 22109 -3 22110 22206 22205 -3 22109 22110 22205 -3 22206 22302 22301 -3 22205 22206 22301 -3 22302 22399 22398 -3 22301 22302 22398 -3 22399 22497 22496 -3 22398 22399 22496 -3 22497 22596 22595 -3 22496 22497 22595 -3 22596 22695 22694 -3 22595 22596 22694 -3 22695 22794 22793 -3 22694 22695 22793 -3 22794 22893 22892 -3 22793 22794 22892 -3 22893 22992 22991 -3 22892 22893 22991 -3 22992 23090 23089 -3 22991 22992 23089 -3 23090 23188 23187 -3 23089 23090 23187 -3 23188 23286 23285 -3 23187 23188 23285 -3 23286 23383 23382 -3 23285 23286 23382 -3 23480 23479 23382 -3 23383 23480 23382 -3 13421 10472 23479 -3 23480 13421 23479 -3 16298 16444 10472 -3 13421 16298 10472 -3 13849 13751 16444 -3 16298 13849 16444 -3 13849 4144 12474 -3 13751 13849 12474 -3 4144 15465 15336 -3 12474 4144 15336 -3 16604 16451 15336 -3 15465 16604 15336 -3 13755 13657 16451 -3 16604 13755 16451 -3 15085 15084 13657 -3 13755 15085 13657 -3 12299 16764 15084 -3 15085 12299 15084 -3 8903 11501 16764 -3 12299 8903 16764 -3 15474 16609 11501 -3 8903 15474 11501 -3 13241 5736 16609 -3 15474 13241 16609 -3 23448 23351 5736 -3 13241 23448 5736 -3 15606 15742 23351 -3 23448 15606 23351 -3 12395 12379 15742 -3 15606 12395 15742 -3 31592 31591 31504 -3 13426 12395 15606 -3 26152 26293 26292 -3 26151 26152 26292 -3 20822 24689 24821 -3 32343 32342 32240 -3 24477 23750 25687 -3 22268 22680 24380 -3 24837 24807 24806 -3 23825 20346 14511 -3 25375 23629 24244 -3 24017 24077 24311 -3 9120 11922 1993 -3 1658 3222 25590 -3 24089 24087 25346 -3 25464 25360 25161 -3 25470 25471 24538 -3 24712 24806 24805 -3 24806 25290 24763 -3 24538 24712 24805 -3 25290 23057 23932 -3 24805 24806 24763 -3 24763 25290 23932 -3 24261 11749 11670 -3 25775 24034 26243 -3 13089 25775 26243 -3 32193 32192 32092 -3 24100 25473 25472 -3 22269 22174 25976 -3 24099 24100 25472 -3 24245 24036 24537 -3 25860 16024 25481 -3 23275 24175 24172 -3 13761 23275 24172 -3 25636 24296 24449 -3 23665 25831 23889 -3 25352 23815 23677 -3 25341 25485 24160 -3 25735 25877 25876 -3 24415 23565 11547 -3 22631 23416 28363 -3 32193 32294 32192 -3 22535 16598 22631 -3 22632 22535 22631 -3 22535 22437 22536 -3 16598 22535 22536 -3 22437 22538 22638 -3 22536 22437 22638 -3 22538 1176 20803 -3 22638 22538 20803 -3 23221 15150 20803 -3 1176 23221 20803 -3 23221 23232 21950 -3 15150 23221 21950 -3 22263 22359 21950 -3 23232 22263 21950 -3 22263 2206 20622 -3 22359 22263 20622 -3 17870 17774 17871 -3 15504 14061 14158 -3 21324 21383 22634 -3 4262 13084 20120 -3 12392 9804 1615 -3 18796 18649 20232 -3 12735 13471 13470 -3 22433 18124 17988 -3 23871 21668 4110 -3 35876 35465 35737 -3 23044 21144 23142 -3 14139 13946 14044 -3 21143 21144 23044 -3 22945 21143 23044 -3 2251 13750 21144 -3 21143 2251 21144 -3 21667 23226 13750 -3 2251 21667 13750 -3 21486 21491 23226 -3 21667 21486 23226 -3 21486 3615 21491 -3 147 3615 21486 -3 21682 21589 22057 -3 21240 18863 20577 -3 20067 20068 19094 -3 21915 20925 24748 -3 14972 12735 12921 -3 4952 14971 14334 -3 12964 3927 15477 -3 14973 14972 12921 -3 13471 12171 8573 -3 12921 12735 13470 -3 25962 26205 22876 -3 8040 7885 9113 -3 26057 24152 26002 -3 26329 24962 24659 -3 20182 20181 20096 -3 17271 33249 33359 -3 20268 20267 20181 -3 20182 20268 20181 -3 16917 16918 22759 -3 33053 33158 33052 -3 20436 20521 20435 -3 33158 33263 33262 -3 20522 20521 20436 -3 20437 20522 20436 -3 20604 20603 20521 -3 20522 20604 20521 -3 20685 20684 20603 -3 20604 20685 20603 -3 20767 20766 20684 -3 20685 20767 20684 -3 20849 20848 20766 -3 20767 20849 20766 -3 20849 20929 20928 -3 20848 20849 20928 -3 20929 21012 21011 -3 20928 20929 21011 -3 21012 21098 21097 -3 21011 21012 21097 -3 21098 21186 21185 -3 21097 21098 21185 -3 21186 21273 21272 -3 21185 21186 21272 -3 31895 31894 31788 -3 21363 28578 21362 -3 25753 25754 25895 -3 24217 23718 23830 -3 24654 24349 24520 -3 25542 25400 215 -3 21823 21729 21824 -3 23535 23534 23178 -3 21730 21825 21824 -3 21729 21730 21824 -3 21825 21920 21919 -3 21824 21825 21919 -3 21920 22015 22014 -3 21919 21920 22014 -3 22015 22111 22110 -3 22014 22015 22110 -3 22111 22207 22206 -3 22110 22111 22206 -3 22207 22303 22302 -3 22206 22207 22302 -3 22303 22400 22399 -3 22302 22303 22399 -3 22400 22498 22497 -3 22399 22400 22497 -3 22498 22597 22596 -3 22497 22498 22596 -3 22597 22696 22695 -3 22596 22597 22695 -3 22696 22795 22794 -3 22695 22696 22794 -3 22795 22894 22893 -3 22794 22795 22893 -3 22894 22993 22992 -3 22893 22894 22992 -3 22993 23091 23090 -3 22992 22993 23090 -3 23091 23189 23188 -3 23090 23091 23188 -3 23189 23287 23286 -3 23188 23189 23286 -3 23287 23384 23383 -3 23286 23287 23383 -3 23384 23481 23480 -3 23383 23384 23480 -3 15454 13421 23480 -3 23481 15454 23480 -3 16297 16298 13421 -3 15454 16297 13421 -3 13947 13849 16298 -3 16297 13947 16298 -3 15334 4144 13849 -3 13947 15334 13849 -3 15334 17096 15465 -3 4144 15334 15465 -3 16605 16604 15465 -3 17096 16605 15465 -3 13853 13755 16604 -3 16605 13853 16604 -3 2622 15085 13755 -3 13853 2622 13755 -3 12385 12299 15085 -3 2622 12385 15085 -3 12556 8903 12299 -3 12385 12556 12299 -3 12599 15474 8903 -3 12556 12599 8903 -3 11712 13241 15474 -3 12599 11712 15474 -3 23350 23448 13241 -3 11712 23350 13241 -3 15743 15606 23448 -3 23350 15743 23448 -3 14054 15743 15881 -3 30066 30067 22490 -3 13461 24925 25975 -3 26117 26070 23499 -3 12355 15050 23965 -3 13268 12355 23965 -3 26150 26151 26291 -3 26292 12355 13268 -3 25975 26117 23499 -3 26291 26292 13268 -3 24394 24201 24478 -3 24201 22857 24478 -3 25868 24291 24288 -3 503 504 95 -3 23829 26203 26112 -3 24410 26074 23814 -3 25183 25346 24087 -3 25464 25463 24087 -3 25397 22138 25915 -3 25589 25584 26202 -3 25855 25398 21813 -3 23705 26202 25915 -3 24140 21627 25771 -3 34145 34144 34008 -3 23057 24899 25008 -3 25550 25692 6406 -3 27548 27431 12090 -3 23705 25589 26202 -3 25493 24929 11233 -3 25239 25667 25103 -3 25158 25321 13089 -3 20223 22628 24391 -3 25080 23823 25231 -3 25959 23537 24465 -3 25540 12027 26079 -3 25520 23699 24103 -3 24175 25533 25523 -3 24323 24238 25376 -3 23275 13761 23818 -3 22297 23275 23818 -3 31895 31996 31894 -3 31299 31298 31233 -3 28680 15407 22632 -3 23141 15598 21757 -3 22732 22632 15407 -3 15598 22732 15407 -3 22635 22535 22632 -3 22732 22635 22632 -3 14147 22437 22535 -3 22635 14147 22535 -3 14147 22439 22538 -3 22437 14147 22538 -3 22439 14854 1176 -3 22538 22439 1176 -3 14854 21412 23221 -3 1176 14854 23221 -3 23330 23232 23221 -3 21412 23330 23221 -3 22166 22263 23232 -3 23330 22166 23232 -3 22166 11439 2206 -3 22263 22166 2206 -3 20391 20392 20475 -3 13026 16155 18608 -3 20135 20104 20103 -3 30294 30293 30160 -3 15463 15733 11862 -3 13470 13471 8573 -3 18698 19637 23313 -3 2082 23047 23145 -3 9393 12872 14140 -3 12872 14139 14140 -3 21454 21726 24654 -3 34430 34567 34429 -3 21057 21143 22945 -3 22846 21057 22945 -3 16939 2251 21143 -3 21057 16939 21143 -3 20030 21667 2251 -3 16939 20030 2251 -3 21670 21486 21667 -3 20030 21670 21667 -3 18132 27032 18723 -3 231 159 8900 -3 30427 30426 30293 -3 23115 23213 23114 -3 12171 11861 11862 -3 25586 21454 24654 -3 8573 12171 11862 -3 31106 31169 31168 -3 20559 20558 20473 -3 18926 24228 30634 -3 19277 19538 19829 -3 21454 24372 24367 -3 26066 25064 25063 -3 21726 21454 24367 -3 20096 20095 26824 -3 26288 24155 24153 -3 20269 20268 20182 -3 20183 20269 20182 -3 20354 20353 20268 -3 20269 20354 20268 -3 20438 20437 20353 -3 22908 22909 23007 -3 20523 20522 20437 -3 20438 20523 20437 -3 20605 20604 20522 -3 20523 20605 20522 -3 20686 20685 20604 -3 20605 20686 20604 -3 20768 20767 20685 -3 20686 20768 20685 -3 20850 20849 20767 -3 20768 20850 20767 -3 20850 20930 20929 -3 20849 20850 20929 -3 20930 21013 21012 -3 20929 20930 21012 -3 21013 21099 21098 -3 21012 21013 21098 -3 21099 21187 21186 -3 21098 21099 21186 -3 21187 21274 21273 -3 21186 21187 21273 -3 31789 31895 31788 -3 21273 21274 21363 -3 24372 25623 25621 -3 21544 21545 28849 -3 21545 21638 21637 -3 21637 21730 21729 -3 21638 21731 21730 -3 21637 21638 21730 -3 21731 21826 21825 -3 21730 21731 21825 -3 21826 21921 21920 -3 21825 21826 21920 -3 21921 22016 22015 -3 21920 21921 22015 -3 22016 22112 22111 -3 22015 22016 22111 -3 22112 22208 22207 -3 22111 22112 22207 -3 22208 22304 22303 -3 22207 22208 22303 -3 22304 22401 22400 -3 22303 22304 22400 -3 22401 22499 22498 -3 22400 22401 22498 -3 22499 22598 22597 -3 22498 22499 22597 -3 22598 22697 22696 -3 22597 22598 22696 -3 22697 22796 22795 -3 22696 22697 22795 -3 22796 22895 22894 -3 22795 22796 22894 -3 22895 22994 22993 -3 22894 22895 22993 -3 22994 23092 23091 -3 22993 22994 23091 -3 23092 23190 23189 -3 23091 23092 23189 -3 23190 23288 23287 -3 23189 23190 23287 -3 23288 23385 23384 -3 23287 23288 23384 -3 23385 23482 23481 -3 23384 23385 23481 -3 15586 15454 23481 -3 23482 15586 23481 -3 11964 16297 15454 -3 15586 11964 15454 -3 13144 13947 16297 -3 11964 13144 16297 -3 15333 15334 13947 -3 13144 15333 13947 -3 15333 2208 17096 -3 15334 15333 17096 -3 20351 16605 17096 -3 2208 20351 17096 -3 13951 13853 16605 -3 20351 13951 16605 -3 7106 2622 13853 -3 13951 7106 13853 -3 12931 12385 2622 -3 7106 12931 2622 -3 4681 12556 12385 -3 12931 4681 12385 -3 12689 12599 12556 -3 4681 12689 12556 -3 11691 11712 12599 -3 12689 11691 12599 -3 20328 23350 11712 -3 11691 20328 11712 -3 15881 15743 23350 -3 20328 15881 23350 -3 26195 24343 25685 -3 14055 14054 15216 -3 24849 24513 25046 -3 2262 25851 2263 -3 26159 26300 26299 -3 25141 23659 28227 -3 23933 21537 22875 -3 24248 25565 25537 -3 22684 22683 24461 -3 23922 22684 24461 -3 23955 23954 440 -3 12752 13210 12139 -3 25799 25801 23825 -3 25904 25903 25761 -3 13663 23076 24602 -3 24235 25818 23545 -3 24301 23676 24631 -3 24961 25232 25476 -3 25111 27500 24302 -3 23676 25112 25113 -3 20750 25369 20751 -3 24631 23676 25113 -3 25113 25112 24592 -3 24770 24550 24577 -3 15470 22174 22269 -3 20886 20222 24583 -3 24096 24095 25584 -3 25161 25360 24727 -3 21723 21818 25193 -3 24939 24960 24940 -3 24469 25715 25674 -3 23549 24404 23593 -3 23614 25386 23982 -3 24107 24105 25711 -3 25545 25403 13116 -3 19418 7454 13467 -3 24467 24390 22297 -3 23941 25545 13116 -3 31234 31299 31233 -3 21358 26200 12717 -3 20807 23141 15092 -3 3982 20807 15092 -3 23124 15598 23141 -3 20807 23124 23141 -3 22831 22732 15598 -3 23124 22831 15598 -3 22734 22635 22732 -3 22831 22734 22732 -3 12959 14147 22635 -3 22734 12959 22635 -3 22730 22439 14147 -3 12959 22730 14147 -3 9646 14854 22439 -3 22730 9646 22439 -3 21503 21412 14854 -3 9646 21503 14854 -3 23427 23330 21412 -3 21503 23427 21412 -3 23427 22070 22166 -3 23330 23427 22166 -3 22070 11080 11439 -3 22166 22070 11439 -3 28579 21363 27381 -3 27381 21274 21275 -3 146 3615 147 -3 20120 20135 20103 -3 35403 35397 35749 -3 28818 28817 28685 -3 17716 18668 18428 -3 19889 17914 18172 -3 16463 13196 22846 -3 22729 21881 2922 -3 22746 22846 13196 -3 21881 22746 13196 -3 21230 21057 22846 -3 22746 21230 22846 -3 21861 16939 21057 -3 21230 21861 21057 -3 22149 20030 16939 -3 21861 22149 16939 -3 21492 21670 20030 -3 22149 21492 20030 -3 21486 21670 147 -3 33789 17815 17911 -3 7361 23589 15765 -3 28250 23238 29414 -3 2123 4110 21668 -3 11080 15330 18038 -3 20747 20829 20746 -3 22691 30468 30335 -3 24367 24372 25621 -3 25623 24456 24108 -3 25621 25623 24108 -3 24456 26223 26084 -3 18275 18274 1073 -3 23760 20746 23832 -3 20270 20269 20183 -3 33249 17271 33357 -3 20270 20356 20355 -3 20270 20355 20269 -3 22907 22908 23006 -3 23007 23105 23104 -3 20524 20523 20438 -3 29703 29702 29570 -3 20606 20605 20523 -3 20524 20606 20523 -3 20687 20686 20605 -3 20606 20687 20605 -3 20769 20768 20686 -3 20687 20769 20686 -3 20851 20850 20768 -3 20769 20851 20768 -3 20851 20931 20930 -3 20850 20851 20930 -3 20931 21014 21013 -3 20930 20931 21013 -3 21014 21100 21099 -3 21013 21014 21099 -3 21100 21188 21187 -3 21099 21100 21187 -3 21188 21275 21274 -3 21187 21188 21274 -3 21365 21276 21366 -3 31996 31995 31894 -3 21456 21546 21545 -3 31507 31594 31506 -3 21546 21639 21638 -3 21545 21546 21638 -3 21639 21732 21731 -3 21638 21639 21731 -3 21732 21827 21826 -3 21731 21732 21826 -3 21827 21922 21921 -3 21826 21827 21921 -3 21922 22017 22016 -3 21921 21922 22016 -3 22017 22113 22112 -3 22016 22017 22112 -3 22113 22209 22208 -3 22112 22113 22208 -3 22209 22305 22304 -3 22208 22209 22304 -3 22305 22402 22401 -3 22304 22305 22401 -3 22402 22500 22499 -3 22401 22402 22499 -3 22500 22599 22598 -3 22499 22500 22598 -3 22599 22698 22697 -3 22598 22599 22697 -3 22698 22797 22796 -3 22697 22698 22796 -3 22797 22896 22895 -3 22796 22797 22895 -3 22896 22995 22994 -3 22895 22896 22994 -3 22995 23093 23092 -3 22994 22995 23092 -3 23093 23191 23190 -3 23092 23093 23190 -3 23191 23289 23288 -3 23190 23191 23288 -3 23289 23386 23385 -3 23288 23289 23385 -3 23386 23483 23482 -3 23385 23386 23482 -3 15587 15586 23482 -3 23483 15587 23482 -3 12550 11964 15586 -3 15587 12550 15586 -3 15145 13144 11964 -3 12550 15145 11964 -3 14958 15333 13144 -3 15145 14958 13144 -3 17095 2208 15333 -3 14958 17095 15333 -3 20350 20351 2208 -3 17095 20350 2208 -3 13952 13951 20351 -3 20350 13952 20351 -3 17092 7106 13951 -3 13952 17092 13951 -3 7974 12931 7106 -3 17092 7974 7106 -3 4548 4681 12931 -3 7974 4548 12931 -3 12778 12689 4681 -3 4548 12778 4681 -3 12482 11691 12689 -3 12778 12482 12689 -3 20243 20328 11691 -3 12482 20243 11691 -3 15216 15881 20328 -3 20243 15216 20328 -3 34298 34436 34297 -3 15881 15216 14054 -3 25633 24876 22078 -3 10978 25633 22078 -3 23499 24461 23529 -3 262 23873 25251 -3 24609 25512 25394 -3 25026 23866 26238 -3 23986 24104 25519 -3 24104 22101 22196 -3 5625 26282 3880 -3 11568 13886 25921 -3 28734 6671 19904 -3 20346 25815 14511 -3 2076 12998 11232 -3 11232 6279 19904 -3 28232 14374 13767 -3 12998 16777 11232 -3 28232 13767 29679 -3 16777 14143 14374 -3 14143 23271 23173 -3 29679 23173 29954 -3 22944 29954 19977 -3 23271 19978 23173 -3 22944 20233 29152 -3 19978 23217 19977 -3 24804 23979 24039 -3 29152 20233 20896 -3 25786 25787 25150 -3 25360 24804 24727 -3 3600 25592 25733 -3 24960 25786 25150 -3 25715 24107 25711 -3 22385 20841 25923 -3 20987 20905 12540 -3 24107 25475 25474 -3 33374 33373 33264 -3 31435 31507 31434 -3 12447 3982 22844 -3 22943 12447 22844 -3 20888 20807 3982 -3 12447 20888 3982 -3 23222 23124 20807 -3 20888 23222 20807 -3 15740 22831 23124 -3 23222 15740 23124 -3 22735 22734 22831 -3 15740 22735 22831 -3 12776 12959 22734 -3 22735 12776 22734 -3 14146 22730 12959 -3 12776 14146 12959 -3 10819 9646 22730 -3 14146 10819 22730 -3 21411 21503 9646 -3 10819 21411 9646 -3 11061 23427 21503 -3 21411 11061 21503 -3 21974 22070 23427 -3 11061 21974 23427 -3 15330 11080 22070 -3 21974 15330 22070 -3 21964 18912 18913 -3 25786 25239 25787 -3 7435 378 7549 -3 15094 13180 15020 -3 20071 13431 4549 -3 18184 23145 23047 -3 21881 13196 2922 -3 31435 31434 31367 -3 21600 21881 22729 -3 20320 21600 22729 -3 22647 22746 21881 -3 21600 22647 21881 -3 20812 21230 22746 -3 22647 20812 22746 -3 22362 21861 21230 -3 20812 22362 21230 -3 20323 22149 21861 -3 22362 20323 21861 -3 19697 19365 19708 -3 22149 20323 21492 -3 12894 21592 21578 -3 35933 21308 27896 -3 3196 13026 17083 -3 20558 20640 20557 -3 20574 21385 21384 -3 20099 20184 26939 -3 25860 25481 13808 -3 20100 20099 20019 -3 20020 20100 20019 -3 20184 20270 20183 -3 20100 20185 20099 -3 20271 20270 20184 -3 20185 20271 20184 -3 20356 20271 20357 -3 20271 20356 20270 -3 18644 18742 18741 -3 18208 19771 17915 -3 20525 20524 20439 -3 20438 20439 20524 -3 20607 20606 20524 -3 20525 20607 20524 -3 20688 20687 20606 -3 20607 20688 20606 -3 20770 20769 20687 -3 20688 20770 20687 -3 20852 20851 20769 -3 20770 20852 20769 -3 20932 20931 20851 -3 20852 20932 20851 -3 20932 21015 21014 -3 20931 20932 21014 -3 21015 21101 21100 -3 21014 21015 21100 -3 21101 21189 21188 -3 21100 21101 21188 -3 21189 21276 21275 -3 21188 21189 21275 -3 27382 33702 21366 -3 21275 21276 21365 -3 33957 34092 21457 -3 21456 21455 33823 -3 21547 21640 21639 -3 21546 21547 21639 -3 21640 21733 21732 -3 21639 21640 21732 -3 21733 21828 21827 -3 21732 21733 21827 -3 21828 21923 21922 -3 21827 21828 21922 -3 21923 22018 22017 -3 21922 21923 22017 -3 22018 22114 22113 -3 22017 22018 22113 -3 22210 22209 22113 -3 22114 22210 22113 -3 22210 22306 22305 -3 22209 22210 22305 -3 22306 22403 22402 -3 22305 22306 22402 -3 22403 22501 22500 -3 22402 22403 22500 -3 22501 22600 22599 -3 22500 22501 22599 -3 22600 22699 22698 -3 22599 22600 22698 -3 22699 22798 22797 -3 22698 22699 22797 -3 22798 22897 22896 -3 22797 22798 22896 -3 22897 22996 22995 -3 22896 22897 22995 -3 22996 23094 23093 -3 22995 22996 23093 -3 23094 23192 23191 -3 23093 23094 23191 -3 23192 23290 23289 -3 23191 23192 23289 -3 23290 23387 23386 -3 23289 23290 23386 -3 23387 23484 23483 -3 23386 23387 23483 -3 23484 15588 15587 -3 23483 23484 15587 -3 14237 12550 15587 -3 15588 14237 15587 -3 15147 15145 12550 -3 14237 15147 12550 -3 14957 14958 15145 -3 15147 14957 15145 -3 11802 17095 14958 -3 14957 11802 14958 -3 13899 20350 17095 -3 11802 13899 17095 -3 14051 13952 20350 -3 13899 14051 20350 -3 17091 17092 13952 -3 14051 17091 13952 -3 3856 7974 17092 -3 17091 3856 17092 -3 3750 4548 7974 -3 3856 3750 7974 -3 15089 12778 4548 -3 3750 15089 4548 -3 6615 12482 12778 -3 15089 6615 12778 -3 20583 20243 12482 -3 6615 20583 12482 -3 16610 15216 20243 -3 20583 16610 20243 -3 24027 24534 24078 -3 32244 32346 32243 -3 24534 23780 23781 -3 23645 24027 24078 -3 25348 24589 21813 -3 12356 24442 20822 -3 25976 13461 25504 -3 25975 23499 23707 -3 23987 24757 23553 -3 23553 23986 25519 -3 14249 6671 28734 -3 24676 25228 24929 -3 9403 1177 2076 -3 14249 9403 2076 -3 1177 5552 12998 -3 2076 1177 12998 -3 16776 16777 12998 -3 5552 16776 12998 -3 16776 3963 14143 -3 16777 16776 14143 -3 23368 23271 14143 -3 3963 23368 14143 -3 20089 19978 23271 -3 23368 20089 23271 -3 13369 23217 19978 -3 20089 13369 19978 -3 20235 20233 23217 -3 13369 20235 23217 -3 31368 31367 31300 -3 20235 20943 20233 -3 23439 21770 21775 -3 20943 21775 20896 -3 25590 3600 25732 -3 27433 21770 11575 -3 24105 24107 25474 -3 24137 23679 24570 -3 331 17104 17285 -3 25475 23824 23530 -3 12902 12447 22943 -3 23042 12902 22943 -3 13856 20888 12447 -3 12902 13856 12447 -3 23320 23222 20888 -3 13856 23320 20888 -3 3984 15740 23222 -3 23320 3984 23222 -3 15066 22735 15740 -3 3984 15066 15740 -3 16019 12776 22735 -3 15066 16019 22735 -3 10243 14146 12776 -3 16019 10243 12776 -3 14698 10819 14146 -3 10243 14698 14146 -3 21413 21411 10819 -3 14698 21413 10819 -3 22740 11061 21411 -3 21413 22740 21411 -3 20966 21974 11061 -3 22740 20966 11061 -3 16296 15330 21974 -3 20966 16296 21974 -3 17772 17773 20189 -3 17164 14644 17163 -3 13497 13686 21697 -3 21044 21130 21043 -3 20320 21396 15282 -3 19094 15279 20148 -3 23333 20320 15282 -3 21763 23333 15282 -3 21599 21600 20320 -3 23333 21599 20320 -3 21061 22647 21600 -3 21599 21061 21600 -3 20398 20812 22647 -3 21061 20398 22647 -3 3341 22362 20812 -3 20398 3341 20812 -3 15860 15858 26054 -3 22362 3341 20323 -3 22827 22845 14151 -3 20617 18668 21415 -3 22733 14053 13272 -3 15729 15732 1034 -3 21686 19641 20314 -3 3736 16485 16641 -3 20330 20414 24651 -3 20101 20100 20020 -3 20021 20101 20020 -3 20186 20185 20100 -3 20101 20186 20100 -3 20272 20271 20185 -3 20186 20272 20185 -3 20358 24906 20357 -3 20272 20357 20271 -3 6787 29564 13391 -3 35144 21743 21650 -3 20526 20525 20440 -3 20440 20439 23812 -3 20608 20607 20525 -3 20526 20608 20525 -3 20689 20688 20607 -3 20608 20689 20607 -3 20771 20770 20688 -3 20689 20771 20688 -3 20853 20852 20770 -3 20771 20853 20770 -3 20933 20932 20852 -3 20853 20933 20852 -3 20933 21016 21015 -3 20932 20933 21015 -3 21016 21102 21101 -3 21015 21016 21101 -3 21102 21190 21189 -3 21101 21102 21189 -3 21190 21277 21276 -3 21189 21190 21276 -3 31171 31172 31235 -3 22973 22972 22874 -3 29544 35600 29545 -3 21548 21641 21640 -3 21457 34091 21546 -3 21641 21734 21733 -3 21640 21641 21733 -3 21734 21829 21828 -3 21733 21734 21828 -3 21829 21924 21923 -3 21828 21829 21923 -3 21924 22019 22018 -3 21923 21924 22018 -3 22019 22115 22114 -3 22018 22019 22114 -3 22115 22211 22210 -3 22114 22115 22210 -3 22211 22307 22306 -3 22210 22211 22306 -3 22307 22404 22403 -3 22306 22307 22403 -3 22404 22502 22501 -3 22403 22404 22501 -3 22502 22601 22600 -3 22501 22502 22600 -3 22601 22700 22699 -3 22600 22601 22699 -3 22700 22799 22798 -3 22699 22700 22798 -3 22799 22898 22897 -3 22798 22799 22897 -3 22898 22997 22996 -3 22897 22898 22996 -3 22997 23095 23094 -3 22996 22997 23094 -3 23095 23193 23192 -3 23094 23095 23192 -3 23291 23290 23192 -3 23193 23291 23192 -3 23291 23388 23387 -3 23290 23291 23387 -3 23388 23041 23484 -3 23387 23388 23484 -3 23041 15724 15588 -3 23484 23041 15588 -3 15724 3470 14237 -3 15588 15724 14237 -3 15274 15147 14237 -3 3470 15274 14237 -3 15079 14957 15147 -3 15274 15079 15147 -3 6975 11802 14957 -3 15079 6975 14957 -3 12723 13899 11802 -3 6975 12723 11802 -3 13953 14051 13899 -3 12723 13953 13899 -3 16602 17091 14051 -3 13953 16602 14051 -3 16308 3856 17091 -3 16602 16308 17091 -3 285 3750 3856 -3 16308 285 3856 -3 15088 15089 3750 -3 285 15088 3750 -3 8461 6615 15089 -3 15088 8461 15089 -3 20665 20583 6615 -3 8461 20665 6615 -3 15090 16610 20583 -3 20665 15090 20583 -3 31108 31109 31171 -3 31172 31236 31235 -3 10241 1858 21031 -3 2675 15723 30743 -3 1858 23463 15723 -3 15723 23463 13371 -3 23463 39 13371 -3 9684 13371 39 -3 39 13482 9684 -3 9403 29427 9684 -3 13482 1057 9403 -3 9684 13482 9403 -3 1057 13282 1177 -3 9403 1057 1177 -3 13282 1049 5552 -3 1177 13282 5552 -3 14688 16776 5552 -3 1049 14688 5552 -3 14688 3857 3963 -3 16776 14688 3963 -3 23466 23368 3963 -3 3857 23466 3963 -3 2518 20089 23368 -3 23466 2518 23368 -3 13006 13369 20089 -3 2518 13006 20089 -3 20238 20235 13369 -3 13006 20238 13369 -3 20946 20943 20235 -3 20238 20946 20235 -3 21784 21775 20943 -3 20946 21784 20943 -3 23445 23439 21775 -3 21784 23445 21775 -3 20580 23055 18408 -3 23445 23465 23439 -3 26106 26105 25538 -3 11775 30689 23055 -3 23042 22943 331 -3 26105 21536 25538 -3 20806 13856 12902 -3 11775 20806 12902 -3 16153 23320 13856 -3 20806 16153 13856 -3 15025 3984 23320 -3 16153 15025 23320 -3 12983 15066 3984 -3 15025 12983 3984 -3 12983 20177 16019 -3 15066 12983 16019 -3 9543 10243 16019 -3 20177 9543 16019 -3 21949 14698 10243 -3 9543 21949 10243 -3 21322 21413 14698 -3 21949 21322 14698 -3 22640 22740 21413 -3 21322 22640 21413 -3 20190 20966 22740 -3 22640 20190 22740 -3 21568 16296 20966 -3 20190 21568 20966 -3 14390 17102 14407 -3 33159 33158 33053 -3 22845 13497 14151 -3 20636 20717 20635 -3 24871 15445 15444 -3 20199 21395 21763 -3 22940 23333 21763 -3 21395 22940 21763 -3 20493 21599 23333 -3 22940 20493 23333 -3 20816 21061 21599 -3 20493 20816 21599 -3 20816 20142 20398 -3 21061 20816 20398 -3 20142 22459 3341 -3 20398 20142 3341 -3 18556 20963 18460 -3 15999 15998 15860 -3 20616 20617 21414 -3 20475 20560 20474 -3 17771 20101 17674 -3 16010 23122 22929 -3 16025 13392 78 -3 1185 18341 96 -3 17873 17967 17966 -3 20869 20949 18449 -3 17771 20188 20187 -3 20187 20186 20101 -3 14743 21568 16858 -3 20273 20272 20186 -3 20187 20273 20186 -3 20358 20357 20272 -3 20273 20358 20272 -3 22314 22411 22410 -3 31046 31047 31108 -3 20527 20526 20441 -3 35445 35523 28308 -3 20609 20608 20526 -3 20527 20609 20526 -3 20690 20689 20608 -3 20609 20690 20608 -3 20772 20771 20689 -3 20690 20772 20689 -3 20854 20853 20771 -3 20772 20854 20771 -3 20934 20933 20853 -3 20854 20934 20853 -3 20934 21017 21016 -3 20933 20934 21016 -3 21017 21103 21102 -3 21016 21017 21102 -3 21103 21191 21190 -3 21102 21103 21190 -3 21278 21279 33830 -3 21190 21191 21277 -3 22874 22775 22776 -3 34550 34678 34549 -3 26432 26431 26363 -3 31047 31046 30985 -3 34091 21548 21547 -3 21642 21641 34365 -3 21641 21642 21734 -3 21735 21830 21829 -3 21734 21735 21829 -3 21830 21925 21924 -3 21829 21830 21924 -3 21925 22020 22019 -3 21924 21925 22019 -3 22020 22116 22115 -3 22019 22020 22115 -3 22116 22212 22211 -3 22115 22116 22211 -3 22212 22308 22307 -3 22211 22212 22307 -3 22308 22405 22404 -3 22307 22308 22404 -3 22405 22503 22502 -3 22404 22405 22502 -3 22503 22602 22601 -3 22502 22503 22601 -3 22602 22701 22700 -3 22601 22602 22700 -3 22701 22800 22799 -3 22700 22701 22799 -3 22800 22899 22898 -3 22799 22800 22898 -3 22899 22998 22997 -3 22898 22899 22997 -3 22998 23096 23095 -3 22997 22998 23095 -3 23096 23194 23193 -3 23095 23096 23193 -3 23292 23291 23193 -3 23194 23292 23193 -3 23389 23388 23291 -3 23292 23389 23291 -3 23389 4403 23041 -3 23388 23389 23041 -3 4403 15862 15724 -3 23041 4403 15724 -3 15862 7887 3470 -3 15724 15862 3470 -3 7887 15403 15274 -3 3470 7887 15274 -3 15205 15079 15274 -3 15403 15205 15274 -3 12549 6975 15079 -3 15205 12549 15079 -3 20434 12723 6975 -3 12549 20434 6975 -3 14245 13953 12723 -3 20434 14245 12723 -3 13854 16602 13953 -3 14245 13854 13953 -3 16307 16308 16602 -3 13854 16307 16602 -3 6130 285 16308 -3 16307 6130 16308 -3 14967 15088 285 -3 6130 14967 285 -3 8666 8461 15088 -3 14967 8666 15088 -3 20820 20665 8461 -3 8666 20820 8461 -3 16455 15090 20665 -3 20820 16455 20665 -3 16455 3458 10241 -3 15090 16455 10241 -3 3458 23338 1858 -3 10241 3458 1858 -3 23338 23464 23463 -3 1858 23338 23463 -3 23464 4532 39 -3 23463 23464 39 -3 4532 13468 13482 -3 39 4532 13482 -3 13468 13522 1057 -3 13482 13468 1057 -3 13522 13281 13282 -3 1057 13522 13282 -3 13904 1049 13282 -3 13281 13904 13282 -3 1329 14688 1049 -3 13904 1329 1049 -3 1329 4285 3857 -3 14688 1329 3857 -3 15875 23466 3857 -3 4285 15875 3857 -3 21777 2518 23466 -3 15875 21777 23466 -3 11596 13006 2518 -3 21777 11596 2518 -3 20239 20238 13006 -3 11596 20239 13006 -3 21117 20946 20238 -3 20239 21117 20238 -3 21850 21784 20946 -3 21117 21850 20946 -3 15112 23445 21784 -3 21850 15112 21784 -3 12448 23465 23445 -3 15112 12448 23445 -3 23140 23055 23465 -3 12448 23140 23465 -3 35882 9921 35938 -3 23140 13469 23055 -3 21303 20806 11775 -3 13469 21303 11775 -3 15871 16153 20806 -3 21303 15871 20806 -3 14145 15025 16153 -3 15871 14145 16153 -3 14145 23422 12983 -3 15025 14145 12983 -3 23422 22339 20177 -3 12983 23422 20177 -3 12892 9543 20177 -3 22339 12892 20177 -3 23123 21949 9543 -3 12892 23123 9543 -3 21504 21322 21949 -3 23123 21504 21949 -3 20311 22640 21322 -3 21504 20311 21322 -3 20779 20190 22640 -3 20311 20779 22640 -3 29811 34757 21648 -3 20674 17100 16386 -3 20300 20299 20213 -3 18747 21128 21129 -3 18649 17914 20232 -3 28951 29086 28950 -3 20655 21395 20200 -3 31788 31787 31687 -3 15459 22940 21395 -3 20655 15459 21395 -3 20578 20493 22940 -3 15459 20578 22940 -3 20578 20571 20816 -3 20493 20578 20816 -3 20571 22651 20142 -3 20816 20571 20142 -3 20134 30534 30602 -3 20142 22651 22459 -3 21505 13960 20040 -3 20475 20476 20560 -3 13861 13766 13668 -3 15732 16155 1034 -3 13763 13861 13668 -3 928 23028 22931 -3 21399 21409 22827 -3 20385 20469 20384 -3 14154 11234 13762 -3 17772 20189 20188 -3 3736 16484 16485 -3 20274 20273 20187 -3 20188 20274 20187 -3 20359 20358 20273 -3 20274 20359 20273 -3 20443 20442 20358 -3 20359 20443 20358 -3 20528 20527 20442 -3 20443 20528 20442 -3 20610 20609 20527 -3 20528 20610 20527 -3 20691 20690 20609 -3 20610 20691 20609 -3 20773 20772 20690 -3 20691 20773 20690 -3 20855 20854 20772 -3 20773 20855 20772 -3 20935 20934 20854 -3 20855 20935 20854 -3 20935 21018 21017 -3 20934 20935 21017 -3 21018 21104 21103 -3 21017 21018 21103 -3 21104 21192 21191 -3 21103 21104 21191 -3 21279 21193 21280 -3 21191 21192 21278 -3 30986 30985 30927 -3 23081 6854 22983 -3 22480 22383 22481 -3 28557 28556 28434 -3 28435 28557 28434 -3 26596 26700 26225 -3 17285 17104 19130 -3 21736 34499 34627 -3 34499 21735 21734 -3 21831 21926 21925 -3 21830 21831 21925 -3 21926 22021 22020 -3 21925 21926 22020 -3 22021 22117 22116 -3 22020 22021 22116 -3 22117 22213 22212 -3 22116 22117 22212 -3 22213 22309 22308 -3 22212 22213 22308 -3 22309 22406 22405 -3 22308 22309 22405 -3 22406 22504 22503 -3 22405 22406 22503 -3 22504 22603 22602 -3 22503 22504 22602 -3 22603 22702 22701 -3 22602 22603 22701 -3 22702 22801 22800 -3 22701 22702 22800 -3 22801 22900 22899 -3 22800 22801 22899 -3 22900 22999 22998 -3 22899 22900 22998 -3 22999 23097 23096 -3 22998 22999 23096 -3 23097 23195 23194 -3 23096 23097 23194 -3 23293 23292 23194 -3 23195 23293 23194 -3 23390 23389 23292 -3 23293 23390 23292 -3 14701 4403 23389 -3 23390 14701 23389 -3 14701 16295 15862 -3 4403 14701 15862 -3 16295 2254 7887 -3 15862 16295 7887 -3 2254 13809 15403 -3 7887 2254 15403 -3 15332 15205 15403 -3 13809 15332 15403 -3 3931 12549 15205 -3 15332 3931 15205 -3 11505 20434 12549 -3 3931 11505 12549 -3 7571 14245 20434 -3 11505 7571 20434 -3 4062 13854 14245 -3 7571 4062 14245 -3 16454 16307 13854 -3 4062 16454 13854 -3 4377 6130 16307 -3 16454 4377 16307 -3 14966 14967 6130 -3 4377 14966 6130 -3 10094 8666 14967 -3 14966 10094 14967 -3 23175 20820 8666 -3 10094 23175 8666 -3 23175 16456 16455 -3 20820 23175 16455 -3 16456 9232 3458 -3 16455 16456 3458 -3 9232 15874 23338 -3 3458 9232 23338 -3 15874 23366 23464 -3 23338 15874 23464 -3 23366 12423 4532 -3 23464 23366 4532 -3 12423 13276 13468 -3 4532 12423 13468 -3 13276 9202 13522 -3 13468 13276 13522 -3 9202 13186 13281 -3 13522 9202 13281 -3 704 13904 13281 -3 13186 704 13281 -3 3128 1329 13904 -3 704 3128 13904 -3 3128 12634 4285 -3 1329 3128 4285 -3 15676 15875 4285 -3 12634 15676 4285 -3 19979 21777 15875 -3 15676 19979 15875 -3 13955 11596 21777 -3 19979 13955 21777 -3 20278 20239 11596 -3 13955 20278 11596 -3 21118 21117 20239 -3 20278 21118 20239 -3 21851 21850 21117 -3 21118 21851 21117 -3 5222 15112 21850 -3 21851 5222 21850 -3 14156 12448 15112 -3 5222 14156 15112 -3 23153 23140 12448 -3 14156 23153 12448 -3 3336 13469 23140 -3 23153 3336 23140 -3 20193 21303 13469 -3 3336 20193 13469 -3 11410 15871 21303 -3 20193 11410 21303 -3 13201 14145 15871 -3 11410 13201 15871 -3 13201 23325 23422 -3 14145 13201 23422 -3 22340 22339 23422 -3 23325 22340 23422 -3 12985 12892 22339 -3 22340 12985 22339 -3 23415 23123 12892 -3 12985 23415 12892 -3 21323 21504 23123 -3 23415 21323 23123 -3 22540 20311 21504 -3 21323 22540 21504 -3 20674 20779 20311 -3 22540 20674 20311 -3 16386 17100 5485 -3 29086 29223 29085 -3 23213 23212 23114 -3 24187 30767 26209 -3 12361 22956 21400 -3 21379 21464 20347 -3 31688 31788 31687 -3 21395 20199 20200 -3 20026 15459 20655 -3 21669 20026 20655 -3 20577 20578 15459 -3 20026 20577 15459 -3 20577 22433 20571 -3 20578 20577 20571 -3 17875 17968 17967 -3 20571 22433 22651 -3 18747 21129 18748 -3 20155 20070 14239 -3 20391 20475 20474 -3 20305 20306 20390 -3 26202 24112 25397 -3 20064 20065 20563 -3 28686 28818 28685 -3 21484 21577 13954 -3 16300 17563 18733 -3 17097 123 17129 -3 20189 20275 20274 -3 20188 20189 20274 -3 20360 20359 20274 -3 20275 20360 20274 -3 20444 20443 20359 -3 20360 20444 20359 -3 20529 20528 20443 -3 20444 20529 20443 -3 20611 20610 20528 -3 20529 20611 20528 -3 20692 20691 20610 -3 20611 20692 20610 -3 20692 20774 20773 -3 20691 20692 20773 -3 20774 20856 20855 -3 20773 20774 20855 -3 20856 20936 20935 -3 20855 20856 20935 -3 21019 21018 20935 -3 20936 21019 20935 -3 21105 21104 21018 -3 21019 21105 21018 -3 21105 21193 21192 -3 21104 21105 21192 -3 33966 21194 33967 -3 21192 21193 21279 -3 20184 20099 20185 -3 22844 17104 22943 -3 28198 28197 28080 -3 28081 28198 28080 -3 27614 27615 27731 -3 27615 27732 27731 -3 3365 3364 3226 -3 30316 30315 30182 -3 21832 21927 21926 -3 21831 21832 21926 -3 21927 22022 22021 -3 21926 21927 22021 -3 21928 22023 22022 -3 22021 22022 22117 -3 22118 22214 22213 -3 22117 22118 22213 -3 22214 22310 22309 -3 22213 22214 22309 -3 22310 22407 22406 -3 22309 22310 22406 -3 22407 22505 22504 -3 22406 22407 22504 -3 22505 22604 22603 -3 22504 22505 22603 -3 22604 22703 22702 -3 22603 22604 22702 -3 22703 22802 22801 -3 22702 22703 22801 -3 22802 22901 22900 -3 22801 22802 22900 -3 22901 23000 22999 -3 22900 22901 22999 -3 23000 23098 23097 -3 22999 23000 23097 -3 23098 23196 23195 -3 23097 23098 23195 -3 23294 23293 23195 -3 23196 23294 23195 -3 23391 23390 23293 -3 23294 23391 23293 -3 4947 14701 23390 -3 23391 4947 23390 -3 4947 16443 16295 -3 14701 4947 16295 -3 16443 12570 2254 -3 16295 16443 2254 -3 12570 15076 13809 -3 2254 12570 13809 -3 14956 15332 13809 -3 15076 14956 13809 -3 4195 3931 15332 -3 14956 4195 15332 -3 7471 11505 3931 -3 4195 7471 3931 -3 13588 7571 11505 -3 7471 13588 11505 -3 20584 4062 7571 -3 13588 20584 7571 -3 16607 16454 4062 -3 20584 16607 4062 -3 4096 4377 16454 -3 16607 4096 16454 -3 13150 14966 4377 -3 4096 13150 4377 -3 6633 10094 14966 -3 13150 6633 14966 -3 23273 23175 10094 -3 6633 23273 10094 -3 23273 8004 16456 -3 23175 23273 16456 -3 8004 11201 9232 -3 16456 8004 9232 -3 11201 20013 15874 -3 9232 11201 15874 -3 20013 22658 23366 -3 15874 20013 23366 -3 22658 12337 12423 -3 23366 22658 12423 -3 12337 13373 13276 -3 12423 12337 13276 -3 13373 6118 9202 -3 13276 13373 9202 -3 13378 13186 9202 -3 6118 13378 9202 -3 13206 704 13186 -3 13378 13206 13186 -3 15633 3128 704 -3 13206 15633 704 -3 15633 14052 12634 -3 3128 15633 12634 -3 16304 15676 12634 -3 14052 16304 12634 -3 20174 19979 15676 -3 16304 20174 15676 -3 2888 13955 19979 -3 20174 2888 19979 -3 2888 20279 20278 -3 13955 2888 20278 -3 20279 21119 21118 -3 20278 20279 21118 -3 21852 21851 21118 -3 21119 21852 21118 -3 371 5222 21851 -3 21852 371 21851 -3 20647 14156 5222 -3 371 20647 5222 -3 23236 23153 14156 -3 20647 23236 14156 -3 5589 3336 23153 -3 23236 5589 23153 -3 20645 20193 3336 -3 5589 20645 3336 -3 15466 11410 20193 -3 20645 15466 20193 -3 14045 13201 11410 -3 15466 14045 11410 -3 14045 22833 23325 -3 13201 14045 23325 -3 22438 22340 23325 -3 22833 22438 23325 -3 20696 12985 22340 -3 22438 20696 22340 -3 22355 23415 12985 -3 20696 22355 12985 -3 21594 21323 23415 -3 22355 21594 23415 -3 22442 22540 21323 -3 21594 22442 21323 -3 17100 20674 22540 -3 22442 17100 22540 -3 123 2621 17129 -3 4233 19308 34065 -3 20490 20491 21299 -3 13686 3311 21768 -3 32241 32343 32240 -3 20305 17702 20306 -3 30507 25105 30506 -3 25578 30506 25105 -3 21240 20026 21669 -3 21394 21240 21669 -3 22651 18569 19429 -3 20026 21240 20577 -3 14811 14628 16857 -3 18026 7107 21769 -3 14684 20497 19992 -3 22925 13686 13497 -3 11861 15463 11862 -3 14589 14684 19992 -3 18840 1969 18741 -3 18968 17623 18868 -3 20575 21399 20574 -3 20189 17870 20275 -3 21768 7107 2768 -3 14058 16485 16334 -3 20306 20391 20390 -3 33187 33292 33186 -3 16849 5485 17100 -3 20361 20360 20275 -3 35851 35418 35443 -3 20445 20444 20360 -3 20361 20445 20360 -3 20530 20529 20444 -3 20445 20530 20444 -3 20612 20611 20529 -3 20530 20612 20529 -3 20612 20693 20692 -3 20611 20612 20692 -3 20693 20775 20774 -3 20692 20693 20774 -3 20775 20857 20856 -3 20774 20775 20856 -3 20857 20937 20936 -3 20856 20857 20936 -3 21020 21019 20936 -3 20937 21020 20936 -3 21106 21105 21019 -3 21020 21106 21019 -3 21106 21194 21193 -3 21105 21106 21193 -3 21195 33967 21194 -3 24738 2807 28996 -3 22761 24553 24555 -3 28315 28435 28314 -3 28315 28314 28197 -3 27963 27962 27846 -3 27732 27847 27846 -3 31597 31692 31596 -3 26606 26605 26509 -3 21833 21928 21927 -3 21832 21831 34754 -3 21928 35138 22023 -3 21927 21928 22022 -3 6846 21368 21458 -3 27635 27646 29271 -3 22119 22215 22214 -3 22117 22022 35136 -3 22215 22311 22310 -3 22214 22215 22310 -3 22311 22408 22407 -3 22310 22311 22407 -3 22408 22506 22505 -3 22407 22408 22505 -3 22506 22605 22604 -3 22505 22506 22604 -3 22605 22704 22703 -3 22604 22605 22703 -3 22704 22803 22802 -3 22703 22704 22802 -3 22803 22902 22901 -3 22802 22803 22901 -3 22902 23001 23000 -3 22901 22902 23000 -3 23001 23099 23098 -3 23000 23001 23098 -3 23099 23197 23196 -3 23098 23099 23196 -3 23295 23294 23196 -3 23197 23295 23196 -3 23392 23391 23294 -3 23295 23392 23294 -3 21500 4947 23391 -3 23392 21500 23391 -3 21500 16006 16443 -3 4947 21500 16443 -3 16006 11341 12570 -3 16443 16006 12570 -3 11341 15077 15076 -3 12570 11341 15076 -3 15537 14956 15076 -3 15077 15537 15076 -3 16759 4195 14956 -3 15537 16759 14956 -3 14072 7471 4195 -3 16759 14072 4195 -3 12307 13588 7471 -3 14072 12307 7471 -3 13012 20584 13588 -3 12307 13012 13588 -3 16608 16607 20584 -3 13012 16608 20584 -3 4063 4096 16607 -3 16608 4063 16607 -3 10119 13150 4096 -3 4063 10119 4096 -3 2904 6633 13150 -3 10119 2904 13150 -3 23370 23273 6633 -3 2904 23370 6633 -3 23370 13585 8004 -3 23273 23370 8004 -3 13585 12389 11201 -3 8004 13585 11201 -3 12389 20012 20013 -3 11201 12389 20013 -3 20012 20664 22658 -3 20013 20012 22658 -3 20664 5693 12337 -3 22658 20664 12337 -3 5693 12992 13373 -3 12337 5693 13373 -3 12992 10447 6118 -3 13373 12992 6118 -3 13377 13378 6118 -3 10447 13377 6118 -3 13014 13206 13378 -3 24108 24456 26084 -3 17911 22261 34071 -3 20587 20669 20668 -3 16923 15601 23885 -3 24471 16923 23885 -3 23715 26004 22448 -3 20986 23715 22448 -3 15585 13177 21908 -3 26223 24438 24397 -3 25591 24099 25589 -3 29569 24430 3058 -3 21005 23501 13270 -3 26330 25719 24962 -3 12087 21984 23501 -3 15585 26197 15720 -3 21660 23314 24424 -3 24434 24710 24350 -3 25964 24627 25377 -3 25965 25964 25377 -3 25226 23667 25455 -3 26001 24046 25204 -3 25591 25589 23705 -3 25154 25188 13560 -3 24133 24748 23983 -3 23535 23833 23534 -3 13110 23250 22447 -3 6008 2006 1063 -3 1326 19474 24000 -3 13060 13154 13059 -3 35648 35424 35684 -3 12873 12967 12966 -3 34720 6939 6974 -3 23572 25585 12873 -3 21957 25718 24820 -3 35080 35209 35079 -3 14373 24203 25658 -3 22394 25521 25520 -3 25993 25851 4536 -3 15577 15446 15447 -3 17102 25657 21066 -3 26293 26294 22758 -3 12692 12782 12781 -3 16775 14586 15621 -3 24546 24362 12008 -3 24905 23701 24904 -3 22368 25033 22271 -3 22463 25224 24069 -3 23786 20945 23787 -3 25854 25864 21073 -3 21358 22291 25773 -3 23890 25302 24955 -3 24148 25488 25486 -3 23890 24955 24954 -3 25140 24448 23927 -3 25321 25775 13089 -3 26167 26168 26308 -3 24580 20658 21888 -3 13104 24580 21888 -3 24687 12712 24688 -3 25863 24370 22974 -3 26084 26223 24397 -3 24161 24715 24397 -3 12358 21722 25570 -3 24438 24161 24397 -3 24997 26260 25356 -3 24450 30632 30625 -3 24161 25339 25338 -3 14562 35762 35801 -3 22780 25333 24788 -3 26251 37 4530 -3 35653 35867 35563 -3 2343 5208 5074 -3 20058 20974 440 -3 17315 17303 11836 -3 25488 23890 23532 -3 23611 25672 22628 -3 22298 25630 25521 -3 20844 23526 23870 -3 14356 14332 14343 -3 25736 25878 25877 -3 22290 25970 25917 -3 25061 25062 24849 -3 25650 24405 26096 -3 26052 26051 25909 -3 25919 24286 24474 -3 13077 26096 25953 -3 24715 24161 25338 -3 24286 24769 21515 -3 25714 16930 25817 -3 25339 23891 26235 -3 24532 22098 24707 -3 35351 35879 35509 -3 24234 24248 25537 -3 24443 24022 29020 -3 25023 25919 24474 -3 25536 23828 25163 -3 24474 24286 21515 -3 21908 23806 21005 -3 13363 13458 13362 -3 23806 15218 12087 -3 25290 24173 23057 -3 15218 23252 12087 -3 24858 24471 23715 -3 20907 20986 23252 -3 15218 20907 23252 -3 14794 24858 23715 -3 14794 23715 20986 -3 20907 14794 20986 -3 22878 16923 24471 -3 25338 25339 26235 -3 26031 26032 26173 -3 24264 23776 24983 -3 25454 25149 25422 -3 24440 14850 24694 -3 25961 25814 23916 -3 22365 24380 22778 -3 14332 25946 14344 -3 24858 22878 24471 -3 25762 25904 25761 -3 26349 30874 26351 -3 24477 23755 24325 -3 24847 30599 28070 -3 26089 25946 14332 -3 35854 35585 35602 -3 22350 24248 24234 -3 16148 16149 16292 -3 7991 11356 8680 -3 25629 25155 13459 -3 20590 23746 20589 -3 24964 25097 24086 -3 25026 24521 21055 -3 23786 3602 20319 -3 24948 12089 21447 -3 24525 12105 26257 -3 24343 24535 25685 -3 12105 20140 26257 -3 24154 25476 22781 -3 23881 24097 25031 -3 23808 23614 24042 -3 25521 25630 24567 -3 21534 21910 23714 -3 24950 23613 23798 -3 24462 24463 20984 -3 21070 23943 25373 -3 25518 24051 24222 -3 20984 21070 25373 -3 24424 23314 2234 -3 23562 25518 24222 -3 24194 22778 24483 -3 23715 24471 26004 -3 24511 24424 2234 -3 25380 24713 23633 -3 19570 24230 25225 -3 22174 13461 25976 -3 23985 24290 26061 -3 9634 24482 12273 -3 32247 32246 32146 -3 26143 26284 26142 -3 23585 23826 24841 -3 25250 22365 24194 -3 24185 24184 25225 -3 22778 23714 24483 -3 24408 22365 25651 -3 118 3600 3221 -3 22365 22778 24194 -3 33556 7516 7514 -3 35084 35213 35083 -3 20829 27372 20746 -3 29414 22646 21776 -3 26090 26231 26089 -3 20590 20672 20671 -3 35440 35435 35426 -3 26120 24830 28100 -3 24933 24934 23496 -3 13247 13246 13151 -3 23314 24408 2234 -3 22365 25250 25651 -3 24768 25654 12623 -3 25914 25318 21972 -3 24521 22287 21055 -3 24379 22268 25245 -3 23543 23548 23662 -3 25218 21700 23571 -3 26320 26321 24628 -3 25977 25218 23571 -3 23750 24477 24325 -3 24812 25856 21909 -3 22291 22290 25774 -3 13247 13151 13152 -3 20502 14911 20501 -3 4396 24869 1525 -3 25612 16442 25613 -3 13753 25185 25184 -3 25471 25472 24712 -3 23943 25518 23562 -3 24766 13015 25433 -3 21534 21911 24435 -3 23859 23860 25219 -3 20223 15540 25219 -3 31919 32020 32019 -3 26161 26302 26301 -3 23665 25861 25831 -3 22172 21793 26257 -3 6850 25348 21814 -3 25774 23869 23875 -3 26038 26180 26179 -3 26235 23891 25314 -3 25185 15328 23572 -3 25184 25185 23572 -3 15328 25308 25585 -3 5424 15492 617 -3 23572 15328 25585 -3 22271 21966 24892 -3 25537 25565 24609 -3 23250 25822 24138 -3 32766 32765 32651 -3 33219 33220 33324 -3 35113 19099 34482 -3 24605 12169 24527 -3 28350 27026 25133 -3 25808 22585 23930 -3 21672 11979 22679 -3 25292 25287 28237 -3 25308 25292 25585 -3 24201 24726 22857 -3 26294 12356 22758 -3 21055 25628 25484 -3 16024 16922 21159 -3 22877 24709 25518 -3 25032 24376 23814 -3 35817 35811 35882 -3 22291 25774 25773 -3 21700 25218 24493 -3 23867 25671 23646 -3 24600 23867 25218 -3 25114 24600 25218 -3 17086 24812 21909 -3 24589 17086 21909 -3 22560 4248 23076 -3 25662 24902 26331 -3 26115 26255 24371 -3 23566 24312 24892 -3 16147 16290 16146 -3 23764 23964 23958 -3 25460 25461 23352 -3 24661 24708 24819 -3 20677 24169 24305 -3 19987 13663 24602 -3 21356 26097 20739 -3 24222 24051 24511 -3 24471 23885 26004 -3 23596 22977 24986 -3 25955 24494 9690 -3 23893 24462 21156 -3 26110 23508 20682 -3 24684 25627 24687 -3 24133 23924 24748 -3 26225 25288 24399 -3 11859 22195 11945 -3 25448 24437 25100 -3 23520 24834 11836 -3 24384 25654 24768 -3 26209 30767 25536 -3 26302 26303 24705 -3 23663 23810 26221 -3 29427 9403 14249 -3 21509 25214 23614 -3 21509 26210 25214 -3 25976 25504 25220 -3 23620 24014 23870 -3 25476 25005 25426 -3 15581 15450 15451 -3 12451 25070 25204 -3 31017 31078 31016 -3 26005 21727 13434 -3 24682 23959 22679 -3 24516 24682 22679 -3 20410 21242 23970 -3 35806 24682 24801 -3 24962 25719 25455 -3 26118 25976 25220 -3 618 24479 22560 -3 24079 23917 22290 -3 25220 25504 17483 -3 25216 26247 21356 -3 23608 25959 24465 -3 25504 23707 17483 -3 24724 25032 23814 -3 25719 25226 25455 -3 24590 24071 24072 -3 26245 24475 24368 -3 24493 23867 23646 -3 25826 25968 23556 -3 23837 12006 26261 -3 12652 12562 35337 -3 28425 25792 23598 -3 22584 22106 20681 -3 22585 22584 20681 -3 24900 21691 25808 -3 21445 25638 25194 -3 23810 23527 22762 -3 21070 20985 23943 -3 26194 25685 26193 -3 11945 26245 24368 -3 20668 24233 20587 -3 12623 24198 25316 -3 20682 25119 23917 -3 23611 24381 24463 -3 25740 25882 25881 -3 29544 29545 28741 -3 24113 24148 25486 -3 23758 22562 22464 -3 24904 25215 25367 -3 25767 25779 26247 -3 25153 24658 24657 -3 30812 25385 23809 -3 27520 27143 8230 -3 25292 25291 25585 -3 33383 33382 33273 -3 15111 15110 14989 -3 22945 23044 24006 -3 35939 29356 35788 -3 23498 26236 21911 -3 21181 21267 24378 -3 24494 25813 24600 -3 25065 25066 25430 -3 13664 24516 11979 -3 21778 11944 25054 -3 15591 12271 12272 -3 26195 26194 26052 -3 25685 24573 22200 -3 24769 24322 24097 -3 35579 35433 35431 -3 24683 24685 25382 -3 13664 24801 24516 -3 20441 20442 20527 -3 30932 30931 30877 -3 33161 33160 33055 -3 26005 13530 13529 -3 20025 18421 18053 -3 11449 21287 15329 -3 35338 35337 35208 -3 35805 35765 35924 -3 737 738 283 -3 21515 24769 24097 -3 15543 5428 5276 -3 25793 23585 26110 -3 13626 13625 23733 -3 6402 274 580 -3 25905 26047 25904 -3 12106 25926 21699 -3 26203 24269 24589 -3 24491 25979 20745 -3 22645 25860 13808 -3 16024 21159 25481 -3 20027 22878 24858 -3 25358 20027 24858 -3 26200 22287 24521 -3 12717 26200 24521 -3 23607 25926 12106 -3 22287 26200 25629 -3 24459 25721 25722 -3 26299 25492 24504 -3 23807 23925 25169 -3 34274 34273 34135 -3 25037 23925 24852 -3 25815 25037 24852 -3 25801 25802 20346 -3 21357 22103 24238 -3 13859 15201 24871 -3 35192 35191 35062 -3 24802 23671 25641 -3 25824 25825 25396 -3 22104 26331 26190 -3 20140 22172 26257 -3 24462 20984 21156 -3 21008 24740 21093 -3 25711 24105 25652 -3 20902 23515 21425 -3 24604 23881 23649 -3 20441 20526 20440 -3 23515 23524 21425 -3 25638 24235 25655 -3 16002 25909 25908 -3 23547 24601 24598 -3 25971 23825 16236 -3 26053 26195 26052 -3 23811 20033 25543 -3 25365 27901 25077 -3 27982 21719 12007 -3 26003 22192 24876 -3 23915 25037 25815 -3 20346 23915 25815 -3 22878 23058 16923 -3 23058 23156 16923 -3 23058 23528 24611 -3 23156 23058 24611 -3 26302 24705 24366 -3 11752 25663 24280 -3 25472 24837 24712 -3 24325 23755 23924 -3 24096 24099 25471 -3 35776 11249 11808 -3 22657 22955 22558 -3 11771 30844 30843 -3 30846 23823 30847 -3 23832 26244 24361 -3 26180 26321 26320 -3 25881 25882 26023 -3 20353 20267 20268 -3 21635 11770 25961 -3 24780 24829 24742 -3 23730 25195 24352 -3 22270 13091 25677 -3 13761 22384 25191 -3 23616 23627 24678 -3 26119 25114 25977 -3 23235 23607 12445 -3 25114 25218 25977 -3 23702 25789 21691 -3 25200 11751 26215 -3 23515 24474 23524 -3 23675 20815 24261 -3 21536 21629 25542 -3 24849 25046 25999 -3 24100 24105 25473 -3 26303 25154 24705 -3 25824 25396 23672 -3 21535 24622 25770 -3 32296 32399 32295 -3 23592 25363 22493 -3 24756 26077 24642 -3 23760 23832 24361 -3 23533 618 13663 -3 33437 33550 33549 -3 21158 4780 23665 -3 24833 4382 25349 -3 23776 23790 21355 -3 22781 25476 25426 -3 25593 25735 25734 -3 24828 23933 22875 -3 3880 26281 26280 -3 23878 25251 21244 -3 25031 26109 25967 -3 23524 23881 24604 -3 24576 24602 24722 -3 23076 25160 23267 -3 25734 25876 25875 -3 24602 23076 23267 -3 20826 20827 21060 -3 12443 25998 25344 -3 13531 13530 13434 -3 31515 31602 31514 -3 23533 13663 19987 -3 25863 26113 24370 -3 24589 21909 21813 -3 23526 21668 23991 -3 20415 20501 20500 -3 24463 24381 21070 -3 25253 24625 23724 -3 26304 26305 25188 -3 26303 26304 25154 -3 24706 23914 23627 -3 22175 22270 25677 -3 25953 26096 23728 -3 23794 26221 24315 -3 13274 12715 24683 -3 28225 28216 25191 -3 21727 13436 13435 -3 24583 20222 24584 -3 25155 13555 25725 -3 25905 25906 26047 -3 26189 26188 26046 -3 25188 24045 24833 -3 12336 21792 11669 -3 26330 26329 26188 -3 24521 25026 22974 -3 12023 23849 24042 -3 25216 20739 25765 -3 25336 23721 24787 -3 24749 13341 21727 -3 19564 13893 2944 -3 126 9899 24660 -3 11409 9542 13418 -3 23650 15320 21361 -3 24479 22779 24700 -3 618 22560 13663 -3 21361 23533 19987 -3 24964 24086 23948 -3 25677 13091 24258 -3 25016 25020 26259 -3 25970 23985 25918 -3 23697 24493 23822 -3 25636 24449 24641 -3 23791 23515 25379 -3 1537 20222 25379 -3 21425 23524 24604 -3 23881 25031 23649 -3 4248 25009 25160 -3 23076 4248 25160 -3 31725 31726 31825 -3 4254 21725 9992 -3 19984 24764 15447 -3 25435 24755 23461 -3 11793 25137 11792 -3 24122 25576 25577 -3 21006 10869 10465 -3 23728 23729 24752 -3 25021 25017 23667 -3 4553 13366 24721 -3 25715 25711 25674 -3 23267 4662 23555 -3 23581 23497 13753 -3 25948 23581 13151 -3 23497 25186 25185 -3 13753 23497 25185 -3 25186 12733 15328 -3 25185 25186 15328 -3 25309 25308 15328 -3 12733 25309 15328 -3 25633 24186 24876 -3 24049 16920 23336 -3 24698 24699 25911 -3 23628 24699 24698 -3 13077 13076 25650 -3 24660 9899 8027 -3 23918 25108 20827 -3 20823 23583 21335 -3 26109 26108 12189 -3 20222 1537 24584 -3 31530 31617 31616 -3 25628 25629 13459 -3 24189 23929 24713 -3 25093 22100 11859 -3 24740 24742 21093 -3 25061 24849 25060 -3 32194 32193 32093 -3 26793 24276 24359 -3 25309 25287 25308 -3 2543 25351 25350 -3 24697 25351 23642 -3 26285 26284 26143 -3 25813 23411 25671 -3 25021 26119 25017 -3 24290 26062 26061 -3 23517 24427 24469 -3 11942 25652 24848 -3 26138 25996 369 -3 24299 25583 25581 -3 19564 2944 3083 -3 25119 23985 25970 -3 25304 20672 20590 -3 22192 24928 25493 -3 23515 20902 25379 -3 20222 23791 25379 -3 25965 25377 12534 -3 25377 24192 24193 -3 24583 24584 25009 -3 4248 24583 25009 -3 24761 24229 24125 -3 24513 23719 24919 -3 25664 25807 26082 -3 12309 20408 24790 -3 32681 17535 34469 -3 22350 23621 24248 -3 25598 25740 25739 -3 23519 25320 25664 -3 23914 23628 23627 -3 23627 23628 24698 -3 23667 23363 25455 -3 25332 25784 25331 -3 24549 23894 23895 -3 24623 25854 25821 -3 24280 23948 24610 -3 22779 25919 20886 -3 24363 24280 24610 -3 25912 23929 24189 -3 24184 25068 25225 -3 23588 23591 24638 -3 25911 25912 24189 -3 25816 25958 24896 -3 26096 23729 23728 -3 24193 26236 23498 -3 26192 22105 26191 -3 25709 25863 25661 -3 24959 25825 25824 -3 25867 25869 24341 -3 24573 24683 25382 -3 23578 24756 24642 -3 30224 30356 14137 -3 25160 25009 12647 -3 24391 24462 23893 -3 23649 25031 25967 -3 24787 25179 13893 -3 24909 15187 25954 -3 23828 25571 25572 -3 22760 24907 22389 -3 21091 25192 24355 -3 24355 25192 24706 -3 21006 21091 24355 -3 25192 23914 24706 -3 12189 25824 25966 -3 25600 17081 25601 -3 24500 10578 24606 -3 25396 24264 24265 -3 24840 25336 25381 -3 23933 25487 21537 -3 22009 22008 25028 -3 12534 25245 24231 -3 25199 25913 22778 -3 24629 22009 25028 -3 24483 13174 22099 -3 24380 25199 22778 -3 21333 12105 24525 -3 25908 26050 25907 -3 24679 24788 25201 -3 23756 24375 24374 -3 26105 20861 21536 -3 23918 24023 25108 -3 24645 24677 25867 -3 25869 24512 24341 -3 4780 25861 23665 -3 24699 25912 25911 -3 25762 25761 16148 -3 26050 26049 25907 -3 24833 25349 13560 -3 26234 25236 23516 -3 34952 35081 34951 -3 26183 26324 26323 -3 24534 17483 23780 -3 12276 20408 12309 -3 23652 24415 11547 -3 24482 16758 12273 -3 23929 25539 24713 -3 24781 12215 24662 -3 23510 23509 24308 -3 23716 23533 21361 -3 24725 20413 24445 -3 25595 25737 25736 -3 26165 26166 26306 -3 15904 15765 15766 -3 12715 12804 24685 -3 26182 26183 26323 -3 23913 23909 25323 -3 24535 24686 24573 -3 24092 24091 24031 -3 13808 24891 12715 -3 9278 11835 11671 -3 26025 26026 26167 -3 26026 26168 26167 -3 23917 25119 25970 -3 25164 23596 24986 -3 24713 25539 24750 -3 22447 21728 23557 -3 23815 26218 23677 -3 24311 24077 24956 -3 20223 24391 15540 -3 25773 25774 23875 -3 25585 12692 12781 -3 15631 22756 22855 -3 25804 12624 23915 -3 29830 21417 26499 -3 25924 23549 25818 -3 23593 23563 23547 -3 21817 21816 25924 -3 23549 23593 25818 -3 11595 11670 21817 -3 21816 23549 25924 -3 26192 26191 26049 -3 25378 8027 24621 -3 23667 25017 23363 -3 23750 24325 23989 -3 27749 27633 20846 -3 26040 26041 26182 -3 25300 23921 24695 -3 23487 23541 20500 -3 24176 24249 4812 -3 25655 24235 23523 -3 24373 24374 24340 -3 11944 25053 25054 -3 32529 32638 32637 -3 26203 24589 12446 -3 25524 25157 25171 -3 26032 26174 26173 -3 23828 12358 25571 -3 23587 23588 24633 -3 24638 25866 25865 -3 24478 24479 618 -3 25712 23716 21361 -3 25878 26020 26019 -3 24379 24193 22268 -3 26059 29833 25034 -3 26046 26188 26045 -3 21073 24546 12008 -3 24697 23642 24933 -3 25784 21452 25331 -3 25630 23753 24567 -3 25635 24122 25577 -3 22760 25489 24907 -3 24322 24111 24979 -3 26041 26183 26182 -3 24111 26107 26108 -3 22198 25662 22104 -3 23622 24641 24445 -3 24677 25869 25867 -3 21514 21424 30156 -3 23528 12107 16150 -3 33863 33862 33728 -3 25208 24320 22881 -3 24764 15320 15447 -3 9085 15603 23837 -3 5074 25996 25995 -3 21917 20659 24914 -3 25821 20659 21917 -3 25818 23593 23547 -3 23563 24612 24601 -3 20844 12188 24926 -3 23821 20844 24926 -3 12188 20844 24385 -3 20844 23870 24385 -3 24385 23870 24015 -3 23870 24014 24015 -3 24543 20826 24630 -3 25388 25529 24015 -3 13079 23690 26283 -3 26284 26283 26142 -3 25031 24979 26109 -3 26224 26198 25001 -3 24097 24322 24979 -3 26107 24314 24959 -3 24979 24111 26108 -3 24314 25683 25825 -3 26108 26107 24959 -3 24578 24593 25801 -3 24959 24314 25825 -3 23513 23523 24578 -3 25802 23915 20346 -3 23596 25219 22977 -3 24392 25955 22977 -3 20590 20671 23746 -3 26085 25374 24543 -3 26085 24543 24544 -3 21628 26085 24544 -3 24314 25538 25683 -3 20229 24478 618 -3 25965 12534 25534 -3 21910 21534 24351 -3 23509 24307 24308 -3 12472 12383 35335 -3 25799 23825 25971 -3 25796 25799 25971 -3 25219 23596 25164 -3 24686 24683 24573 -3 23528 16150 23583 -3 24593 25802 25801 -3 24611 23528 23583 -3 16150 24410 23742 -3 23583 16150 23742 -3 24410 23814 23756 -3 23742 24410 23756 -3 25250 20740 24080 -3 12087 23252 21984 -3 22487 22584 25789 -3 15534 24163 24674 -3 25377 24379 12534 -3 25866 22976 21092 -3 24435 25095 25116 -3 25862 2234 24080 -3 25805 25821 21917 -3 20659 23679 24914 -3 1149 24909 1024 -3 24702 24701 23868 -3 25943 22780 24788 -3 1149 1024 13859 -3 24909 23868 1024 -3 20943 20896 20233 -3 24323 24077 24238 -3 25867 24341 22976 -3 23917 25970 22290 -3 26049 26048 25906 -3 24079 24101 15405 -3 24395 24396 23732 -3 16930 24491 13240 -3 25906 25905 25763 -3 25751 25893 25892 -3 26247 20682 21356 -3 26247 25216 25766 -3 25382 24685 22198 -3 24376 24375 23756 -3 25597 17247 25598 -3 26150 5722 1679 -3 22172 23909 23913 -3 26093 26140 21543 -3 12272 12271 24166 -3 12271 25319 24166 -3 13651 29570 13650 -3 26161 26162 26302 -3 11922 5593 1993 -3 23893 21156 25790 -3 26005 21820 21727 -3 8680 11671 10465 -3 21820 25963 24749 -3 21727 21820 24749 -3 25963 25622 25948 -3 24749 25963 25948 -3 25622 14795 23581 -3 25948 25622 23581 -3 14795 22483 23497 -3 23581 14795 23497 -3 22483 25187 25186 -3 23497 22483 25186 -3 4194 25946 26089 -3 24700 20886 24583 -3 23860 23859 24890 -3 24621 8027 12022 -3 24909 24702 23868 -3 23821 24926 24701 -3 24612 25821 25805 -3 25684 23579 20744 -3 24618 24511 25862 -3 14252 24609 25394 -3 25960 24522 23587 -3 26261 24838 24966 -3 24023 25378 25108 -3 23857 25248 24729 -3 12804 24890 25020 -3 25219 15540 22977 -3 25196 12733 25186 -3 25187 25196 25186 -3 25172 25309 12733 -3 25196 25172 12733 -3 25286 25287 25309 -3 25172 25286 25309 -3 20682 23508 25119 -3 24685 12804 24684 -3 25774 25917 23869 -3 23993 22662 23494 -3 22368 22271 24312 -3 21917 24914 25169 -3 25035 25167 20666 -3 25865 25866 21092 -3 24633 24638 25865 -3 1731 5625 4923 -3 21699 24549 23895 -3 21156 20984 22391 -3 24625 23578 24642 -3 19121 1073 18274 -3 24904 25367 24166 -3 5555 29021 21305 -3 14911 20502 20503 -3 22558 21980 22073 -3 24909 1149 15187 -3 25635 25577 25578 -3 24458 25520 25512 -3 21818 20923 25639 -3 23783 24987 24980 -3 25119 23858 23985 -3 24077 25030 24238 -3 28118 24731 25500 -3 26291 13268 23764 -3 23648 24221 24293 -3 24374 24257 24340 -3 23669 26230 24560 -3 24978 25532 24279 -3 26063 26206 24766 -3 24380 22365 24408 -3 33633 33760 33632 -3 24231 25245 21660 -3 25814 24588 17086 -3 21151 23788 9415 -3 24759 25856 24812 -3 25906 26048 26047 -3 25381 25335 25334 -3 25969 25381 25334 -3 12027 24581 21725 -3 25279 23711 25569 -3 23826 25454 24841 -3 24408 25651 2234 -3 28139 24646 28138 -3 26148 26149 26289 -3 23252 24049 21984 -3 24392 23893 25087 -3 24051 24424 24511 -3 25955 24392 25087 -3 20985 22877 23943 -3 25216 25765 25766 -3 15540 24392 22977 -3 25910 25911 24619 -3 25163 23828 25572 -3 26169 26170 26310 -3 23740 21980 22558 -3 23774 24980 24976 -3 24593 24598 25802 -3 24479 24700 22560 -3 25736 25737 25878 -3 17483 24460 23780 -3 12444 12357 23617 -3 25220 17483 24534 -3 26230 24967 24978 -3 7930 15405 25222 -3 25328 11944 21778 -3 22198 24684 25662 -3 24914 23679 24137 -3 24601 24612 25805 -3 20229 618 23533 -3 23716 20229 23533 -3 14758 21060 11668 -3 23588 24638 24633 -3 25802 25804 23915 -3 25370 25513 23505 -3 24890 23859 25020 -3 23859 25164 25020 -3 12804 25627 24684 -3 23859 25219 25164 -3 22156 28367 29817 -3 25627 12804 25020 -3 13146 25822 23250 -3 24434 24350 22099 -3 25224 22463 13110 -3 32347 32451 32346 -3 23698 24393 22837 -3 14141 25167 23487 -3 25804 25805 12624 -3 11750 21179 21912 -3 11879 12058 12059 -3 26260 24751 25356 -3 23858 24290 23985 -3 25116 25095 12903 -3 20827 24260 21060 -3 25544 22581 24681 -3 24391 24392 15540 -3 23428 12189 25966 -3 20514 25067 25858 -3 11671 21724 21091 -3 32241 32240 32140 -3 11569 14558 11502 -3 20846 27633 27634 -3 11749 11750 21912 -3 25157 25008 24183 -3 24517 24346 2957 -3 22582 23496 20017 -3 23544 26121 25979 -3 30504 25576 25433 -3 23496 24934 20017 -3 26061 26062 25635 -3 25580 24550 7759 -3 25214 25526 25386 -3 25937 24933 23496 -3 25615 25757 25756 -3 23917 24079 26097 -3 35791 35722 35908 -3 14793 3036 732 -3 26016 26017 26158 -3 23662 23663 26221 -3 20669 20752 20751 -3 25369 25950 20668 -3 14344 14343 14332 -3 16107 351 23938 -3 23969 23966 25676 -3 35063 35192 35062 -3 21816 21912 23549 -3 24641 24449 24445 -3 24370 24521 22974 -3 25003 26228 25002 -3 19386 2300 2169 -3 26228 26224 25002 -3 25534 24231 24257 -3 12596 12597 25066 -3 338 26249 9012 -3 24997 24872 25531 -3 16758 11884 12273 -3 25966 23672 24627 -3 25683 20744 20743 -3 22560 24700 4248 -3 20440 20525 20439 -3 20744 24263 25634 -3 25825 25683 20743 -3 6644 25655 23513 -3 20743 20744 25634 -3 25194 25655 6644 -3 23523 24593 24578 -3 24353 25194 6644 -3 25655 23523 23513 -3 12534 24379 25245 -3 12309 24790 12187 -3 20861 21629 21536 -3 14137 30356 14233 -3 24352 25195 23520 -3 27436 15206 15877 -3 24674 23774 23773 -3 25904 26046 26045 -3 22857 22779 24479 -3 24478 22857 24479 -3 24544 24543 24630 -3 23704 21723 21265 -3 20739 26097 21453 -3 25182 25074 25147 -3 25573 23708 30368 -3 25248 9634 24026 -3 26207 26208 20761 -3 25149 25088 22959 -3 12624 25169 25037 -3 24841 25454 25422 -3 25950 25167 14141 -3 21245 20223 25219 -3 24305 24169 24304 -3 12104 24201 24394 -3 34410 34409 34271 -3 34272 34410 34271 -3 24044 24103 24425 -3 22977 25955 9690 -3 25912 25921 23929 -3 25451 23798 20514 -3 24341 24512 25166 -3 24074 26230 23669 -3 24678 25910 25869 -3 23625 23616 23602 -3 23616 24678 24677 -3 26102 23625 23602 -3 1261 10465 10869 -3 21724 26068 25192 -3 23924 24073 23744 -3 9690 24494 24600 -3 24041 23808 24042 -3 21983 12309 12187 -3 25826 25827 24375 -3 23814 24376 23756 -3 24376 25826 24375 -3 23556 25534 25827 -3 26679 24295 24296 -3 19986 25399 24762 -3 35354 35413 35666 -3 14390 14406 14389 -3 11894 35767 35945 -3 11979 11446 13664 -3 23964 23965 24200 -3 24459 21871 25721 -3 13146 22463 20015 -3 26300 24452 25492 -3 13270 23501 12110 -3 24315 26066 26067 -3 25492 24452 23811 -3 4785 2651 5998 -3 26095 12421 24594 -3 23839 23896 20973 -3 24897 13529 13528 -3 26301 26302 24366 -3 23572 12966 25184 -3 5864 330 10758 -3 23991 23620 23870 -3 5352 5351 26286 -3 26249 338 2903 -3 13330 14090 22270 -3 24702 23821 24701 -3 7930 25222 12717 -3 23875 25722 30777 -3 25779 26110 26247 -3 3474 23174 16166 -3 21091 21724 25192 -3 34934 35063 34933 -3 25918 26061 21871 -3 24897 26009 26005 -3 20015 27723 19235 -3 26009 20843 21820 -3 26005 26009 21820 -3 24192 25200 26215 -3 20843 24256 25963 -3 21820 20843 25963 -3 26052 26194 26051 -3 24256 20988 25622 -3 25963 24256 25622 -3 25355 14795 25622 -3 20988 25355 25622 -3 26113 25626 24591 -3 21725 24581 9992 -3 23631 24711 24699 -3 16003 25908 25907 -3 23790 21445 21355 -3 15615 14941 14713 -3 26174 26315 26314 -3 23722 13176 23935 -3 25316 26106 24111 -3 26106 25538 24314 -3 20826 21060 14758 -3 24630 20826 14758 -3 11668 23704 21265 -3 21060 23704 11668 -3 24354 25193 25960 -3 21723 25193 24354 -3 21265 21723 24354 -3 24522 23588 23587 -3 26103 25357 21628 -3 25193 24522 25960 -3 17483 23707 24460 -3 24877 25357 26103 -3 24101 22291 21358 -3 25476 25232 25005 -3 24841 25422 23858 -3 25955 25087 22395 -3 34677 34676 34548 -3 24494 22395 23411 -3 19765 21681 21567 -3 13529 13530 13628 -3 25627 25020 12712 -3 25814 24754 24588 -3 26261 24130 24838 -3 25020 25164 26259 -3 23762 9281 9746 -3 22440 24500 20432 -3 25273 12058 11879 -3 21668 23526 21914 -3 25534 12534 24231 -3 26309 24963 24733 -3 23570 22483 14795 -3 25355 23570 14795 -3 25055 25187 22483 -3 22530 23058 22878 -3 925 927 1045 -3 24329 24380 24408 -3 12044 2252 25004 -3 26313 26314 23605 -3 23856 24190 20680 -3 25742 25743 25884 -3 23824 23532 24832 -3 26111 23856 20680 -3 23689 21449 24626 -3 23610 25544 24232 -3 21160 24106 20033 -3 25391 25637 21538 -3 14713 24114 24176 -3 20033 24106 24580 -3 24647 28257 28377 -3 25906 16004 25907 -3 23570 25055 22483 -3 16149 25761 25902 -3 26099 25196 25187 -3 26110 23585 23508 -3 25566 25567 22394 -3 25932 23703 25443 -3 23555 4662 15218 -3 4662 20907 15218 -3 25627 12712 24687 -3 22391 25373 12339 -3 23547 23563 24601 -3 26068 26094 23914 -3 26233 23592 22493 -3 17081 25600 25599 -3 25192 26068 23914 -3 25055 26099 25187 -3 21005 12087 23501 -3 25173 25172 25196 -3 26099 25173 25196 -3 31077 31139 31076 -3 25285 25286 25172 -3 25173 25285 25172 -3 23992 24198 12623 -3 25500 25285 25644 -3 25285 25500 25286 -3 25066 11858 25430 -3 12639 23544 24556 -3 24560 24978 24279 -3 24543 24547 20826 -3 25532 11752 14839 -3 23628 23631 24699 -3 26191 22104 26190 -3 24173 24259 23057 -3 24711 25921 25912 -3 35458 35571 35798 -3 24854 23622 23541 -3 21822 24289 21450 -3 9085 23837 23544 -3 26107 26106 24314 -3 25538 25684 25683 -3 24322 23506 24111 -3 26106 26107 24111 -3 23769 23506 24322 -3 24769 23769 24322 -3 24496 23769 24769 -3 24286 24496 24769 -3 25202 25919 22779 -3 22857 25202 22779 -3 25202 24496 24286 -3 25919 25202 24286 -3 24029 24877 26103 -3 23506 25316 24111 -3 25388 24877 24029 -3 25357 26085 21628 -3 24014 25388 24015 -3 25529 25388 24029 -3 17819 23882 17321 -3 23527 24388 26064 -3 23602 23616 24677 -3 25709 25661 24416 -3 25920 24866 22661 -3 24484 23550 21815 -3 21660 24329 23314 -3 13051 23552 26228 -3 25798 24102 23504 -3 25781 25798 23504 -3 24328 24894 24577 -3 24101 24079 22291 -3 16920 13274 24686 -3 24980 26093 26092 -3 33264 33373 33263 -3 22779 20886 24700 -3 21327 26499 21417 -3 35696 35850 19103 -3 24211 3077 13317 -3 14076 13524 12366 -3 24378 25029 24017 -3 23605 20887 24076 -3 20887 24074 24076 -3 25885 26027 26026 -3 29957 19425 21239 -3 24190 23827 25937 -3 20680 24190 25937 -3 25399 23610 24232 -3 23700 23610 25399 -3 21449 25391 21538 -3 34805 34804 34676 -3 24696 21983 20658 -3 23811 21160 20033 -3 23754 24186 25633 -3 23874 20494 24969 -3 26058 23336 24535 -3 25033 24128 21451 -3 24694 25301 24816 -3 24979 26108 26109 -3 24685 24684 22198 -3 33330 33439 33329 -3 21629 25400 25542 -3 6533 26112 12446 -3 1451 25594 1796 -3 23568 30764 24570 -3 351 23997 23938 -3 24810 25770 12997 -3 20738 23235 12445 -3 26094 23631 23628 -3 26458 26555 26554 -3 23252 20986 24049 -3 23914 26094 23628 -3 22175 24751 26260 -3 33310 33309 33204 -3 22463 13146 13110 -3 22175 25677 25819 -3 15237 23637 15364 -3 25677 24258 24023 -3 26144 736 735 -3 1426 1775 25870 -3 24751 22175 25819 -3 9525 4018 9524 -3 24258 24660 25378 -3 25819 25677 24023 -3 11980 7872 11896 -3 21691 25789 25808 -3 24023 24258 25378 -3 24699 24711 25912 -3 16150 25783 24410 -3 25477 24739 22386 -3 25096 28253 21376 -3 21913 25568 25569 -3 24264 25634 23776 -3 23461 24893 24312 -3 21722 21913 25569 -3 22977 9690 24986 -3 11751 22385 22482 -3 25733 25734 25875 -3 26018 26019 26160 -3 25530 23992 12623 -3 24268 21720 23550 -3 21358 25773 25772 -3 25772 25773 13555 -3 25961 23551 25814 -3 20982 21065 23903 -3 25012 20740 26204 -3 24576 24722 21795 -3 24721 9085 12639 -3 24602 23267 24722 -3 24262 11670 11595 -3 20740 25250 24268 -3 25683 25684 20744 -3 24263 24262 11595 -3 23579 24262 24263 -3 20744 23579 24263 -3 33732 33866 33731 -3 11670 21816 21817 -3 25731 25873 25872 -3 25602 17080 16916 -3 25783 26074 24410 -3 34274 34412 34273 -3 25064 25065 25110 -3 20758 25116 12903 -3 18194 35122 17945 -3 24263 11595 23790 -3 25779 25793 26110 -3 23839 6272 170 -3 20973 440 20974 -3 14558 11569 13695 -3 26239 21539 25781 -3 25618 21539 26239 -3 11697 13597 14765 -3 25466 25609 25608 -3 26230 24978 24560 -3 26172 26173 26313 -3 12866 24047 12865 -3 25601 25743 25742 -3 24932 24933 25937 -3 23827 24932 25937 -3 19986 23700 25399 -3 24113 25486 25475 -3 25391 25096 25637 -3 26188 26187 26045 -3 24106 24696 24580 -3 26299 26300 25492 -3 23653 24202 23874 -3 23864 23794 25686 -3 24136 24378 24017 -3 25434 21887 20140 -3 25634 24263 23790 -3 11595 21817 21445 -3 24866 24184 22661 -3 22200 25382 22105 -3 24619 25380 24714 -3 24512 24619 24714 -3 24928 24929 25493 -3 23810 24047 23527 -3 15860 26054 26053 -3 24678 24698 25910 -3 3600 25733 25732 -3 3799 21605 24130 -3 23411 21691 25671 -3 12692 12693 12782 -3 23602 24677 24645 -3 35651 35833 35823 -3 21245 21159 20223 -3 23591 23602 24645 -3 25939 26251 13792 -3 22628 25672 24391 -3 19987 24602 24576 -3 2903 25939 13792 -3 35818 35513 35665 -3 23992 20861 26105 -3 24687 24688 24902 -3 22487 23758 22106 -3 23776 21355 20841 -3 23971 23970 23911 -3 20841 21355 24353 -3 24983 23776 20841 -3 21355 25194 24353 -3 25826 23556 25827 -3 30346 35610 35533 -3 24329 24408 23314 -3 24340 21660 24424 -3 12357 23608 24465 -3 26331 24902 25719 -3 25882 26024 26023 -3 7073 10623 35758 -3 25098 23503 26258 -3 25568 25280 25279 -3 15201 16166 19984 -3 23524 21515 23881 -3 26215 22482 23730 -3 26236 26215 23730 -3 24192 26215 26236 -3 24193 24192 26236 -3 31042 31043 31104 -3 24379 25377 24193 -3 34136 34274 34135 -3 25254 4780 21158 -3 34136 34135 33999 -3 20587 24233 20586 -3 29947 23240 21408 -3 3977 1679 5722 -3 26150 26008 5722 -3 32141 32241 32140 -3 24645 25867 25866 -3 5195 1261 10869 -3 25902 26044 26043 -3 25901 25902 26043 -3 24097 24979 25031 -3 25851 2262 4536 -3 25569 25568 25279 -3 26290 23764 21234 -3 33865 33864 33730 -3 13719 15813 13621 -3 20923 23634 25925 -3 26215 11751 22482 -3 25023 23791 20222 -3 25632 26102 23591 -3 24409 23428 25964 -3 13237 13236 13142 -3 13623 24524 13624 -3 24388 12774 26064 -3 25598 17247 17246 -3 23734 24923 24897 -3 23733 23734 24897 -3 24923 26010 26009 -3 24897 24923 26009 -3 26044 26186 26185 -3 26043 26044 26185 -3 26186 26327 26326 -3 24319 24326 25588 -3 24620 24326 24319 -3 25588 25618 26239 -3 21539 25798 25781 -3 25750 25751 25892 -3 25893 26035 26034 -3 26314 20887 23605 -3 26030 26031 26172 -3 25600 25601 25742 -3 25743 25885 25884 -3 24932 24697 24933 -3 23919 23856 26111 -3 24107 24113 25475 -3 25486 23532 23824 -3 16003 16004 16145 -3 33484 33485 33603 -3 24452 21160 23811 -3 25733 25875 25874 -3 25642 25102 25643 -3 24449 24725 24445 -3 26105 26106 25316 -3 25325 25326 25680 -3 26198 26141 24999 -3 12355 22758 15050 -3 24866 25769 25068 -3 25602 25601 17080 -3 2651 4785 336 -3 12213 11959 14269 -3 35493 35504 35477 -3 22486 25478 22485 -3 736 26144 737 -3 15535 15670 15534 -3 12193 3799 12006 -3 15603 12193 12006 -3 2006 24505 1063 -3 22003 20922 3988 -3 21153 29957 21239 -3 33882 33881 33747 -3 23505 23512 24572 -3 16922 22628 21159 -3 24027 25220 24534 -3 12251 24943 20152 -3 24211 13317 29399 -3 34678 34806 34677 -3 24575 25799 25796 -3 25617 16149 25759 -3 2819 25074 30794 -3 24613 12823 14074 -3 24848 23705 23606 -3 8027 12103 12022 -3 24879 25168 21423 -3 33371 33372 33484 -3 26010 20742 20843 -3 24851 24590 24072 -3 26009 26010 20843 -3 25579 24256 20843 -3 20742 25579 20843 -3 2234 25651 24080 -3 24474 23515 23791 -3 25344 25998 25345 -3 24658 25442 15873 -3 23782 24492 24873 -3 17321 23882 20679 -3 15446 19984 15447 -3 33736 33735 33608 -3 26191 26190 26048 -3 15201 3474 16166 -3 23730 22482 25195 -3 22482 25494 25195 -3 12334 12249 12335 -3 25195 25494 24834 -3 24684 24687 25662 -3 23656 13089 25080 -3 24356 21725 4254 -3 22777 22007 26703 -3 33760 33759 33632 -3 23712 24922 12508 -3 23996 24056 24055 -3 23995 23996 24055 -3 24056 24115 24114 -3 24055 24056 24114 -3 24115 24177 24176 -3 24114 24115 24176 -3 24250 24249 24176 -3 24177 24250 24176 -3 6999 35190 7000 -3 24250 24333 24249 -3 35700 35491 1022 -3 12774 12685 12686 -3 24873 23728 23502 -3 23630 23629 25375 -3 25905 25904 25762 -3 26260 24997 25217 -3 15591 25094 12271 -3 25249 21822 23673 -3 20743 25634 24264 -3 25795 23826 25793 -3 24775 20988 24256 -3 25250 24194 24268 -3 25579 24775 24256 -3 23685 25355 20988 -3 24775 23685 20988 -3 26185 26186 26326 -3 26327 23863 26060 -3 26326 26327 26060 -3 24466 24620 19988 -3 24191 24414 23717 -3 21631 24620 24319 -3 24326 25618 25588 -3 25892 25893 26034 -3 26177 26318 26317 -3 26035 26177 26176 -3 26034 26035 26176 -3 26173 26314 26313 -3 25889 26031 26030 -3 25884 25885 26026 -3 26027 26169 26168 -3 23978 23919 26111 -3 25090 23919 23978 -3 25475 25486 23824 -3 23532 24954 24832 -3 17819 23517 18359 -3 24134 23689 25212 -3 25732 25733 25874 -3 25875 26017 26016 -3 23552 23548 26198 -3 26224 23552 26198 -3 20763 22583 25375 -3 25927 20738 25929 -3 12105 25929 20140 -3 25929 25434 20140 -3 14850 24693 24694 -3 22201 25780 25679 -3 3450 24821 15470 -3 24821 13010 15470 -3 24502 10978 12026 -3 24748 20925 25956 -3 21605 25098 24839 -3 21821 24070 24071 -3 24130 21605 24839 -3 25098 26258 12354 -3 25061 25060 12801 -3 25024 23571 13460 -3 2300 19386 2434 -3 24476 20094 26101 -3 13627 13528 13529 -3 24976 24980 26092 -3 22631 22630 23416 -3 26330 26331 25719 -3 12006 3799 24130 -3 16166 25712 24764 -3 15152 12728 9415 -3 24872 25501 25357 -3 16463 24006 24005 -3 20269 20355 20354 -3 26022 26164 26163 -3 25068 11770 21635 -3 26224 26228 23552 -3 21267 21448 25029 -3 23863 25048 24799 -3 25724 25725 13555 -3 23615 23570 25355 -3 24289 24317 21450 -3 23685 23615 25355 -3 25056 25055 23570 -3 23615 25056 23570 -3 23518 26099 25055 -3 25056 23518 25055 -3 24547 20827 20826 -3 23969 23749 23966 -3 14405 14388 14389 -3 15601 16922 16024 -3 26060 23863 24799 -3 25953 23728 24873 -3 25791 22390 22487 -3 19765 23942 24000 -3 25672 23611 24463 -3 25632 23591 23588 -3 25048 24083 24084 -3 25494 25370 24834 -3 25306 25385 25445 -3 20666 25167 25950 -3 24799 25048 24084 -3 26008 2147 2019 -3 35867 35550 30423 -3 34029 34028 33893 -3 23938 23997 23996 -3 32120 32220 32219 -3 23997 24057 24056 -3 23996 23997 24056 -3 24057 24116 24115 -3 24056 24057 24115 -3 24116 24178 24177 -3 24115 24116 24177 -3 24251 24250 24177 -3 24178 24251 24177 -3 24334 24333 24250 -3 24251 24334 24250 -3 24418 24417 24333 -3 24334 24418 24333 -3 24258 13091 21 -3 24418 24505 24417 -3 24748 25956 23983 -3 24550 24770 7759 -3 25863 23745 25661 -3 23806 12087 21005 -3 25174 25173 26099 -3 23518 25174 26099 -3 25284 25285 25173 -3 25065 25430 25110 -3 20353 23812 20438 -3 25753 25895 25894 -3 24466 19988 24519 -3 17576 30634 24228 -3 24432 24519 29422 -3 24620 21631 19988 -3 26176 26177 26317 -3 23561 24436 24146 -3 26318 23561 24127 -3 26317 26318 24127 -3 25746 25747 25888 -3 25605 25747 25746 -3 25888 25889 26030 -3 26031 26173 26172 -3 26026 26027 26168 -3 26169 26310 26309 -3 24984 25090 23978 -3 23872 25090 24984 -3 25544 24681 24680 -3 24232 25544 24680 -3 21449 21538 24626 -3 24998 24134 25857 -3 25874 25875 26016 -3 26017 26159 26158 -3 25396 20743 24264 -3 26032 26033 26174 -3 12445 12106 25434 -3 25929 12445 25434 -3 25680 25375 24244 -3 24515 25680 24244 -3 25815 24852 25477 -3 26204 23550 24484 -3 15050 24821 3450 -3 23965 15050 3450 -3 25026 21055 23657 -3 24880 24881 25452 -3 32902 33010 32901 -3 25025 21821 24605 -3 12354 26258 23645 -3 24839 25098 12354 -3 25022 25024 13460 -3 21700 24008 13460 -3 26100 24476 26101 -3 24476 24026 20094 -3 24395 25025 24396 -3 21821 24590 24605 -3 16442 25469 16594 -3 14344 25946 25945 -3 1775 1426 499 -3 12982 12981 12889 -3 23758 25221 22562 -3 24381 20985 21070 -3 19993 25940 25503 -3 23981 24041 23849 -3 10099 9639 12224 -3 20320 22729 21396 -3 11800 35565 35686 -3 23808 23864 21509 -3 20841 24353 25923 -3 11725 21305 29021 -3 25813 25671 23867 -3 25592 25734 25733 -3 24083 25296 25156 -3 24600 25813 23867 -3 25174 25284 25173 -3 25294 24674 23773 -3 25645 25644 25284 -3 25284 25644 25285 -3 24604 24724 26074 -3 24084 24083 25156 -3 25115 23724 23622 -3 23638 20353 24052 -3 25486 25488 23532 -3 13364 23836 25156 -3 25296 13364 25156 -3 23829 23916 24269 -3 24238 22103 22102 -3 24003 12643 23836 -3 3977 1678 1679 -3 23956 29081 23955 -3 33158 33157 33052 -3 24683 12715 24685 -3 25502 25221 22390 -3 12103 23634 20923 -3 3207 580 16547 -3 12103 8027 5195 -3 23999 23998 16944 -3 13524 11692 35539 -3 11692 13524 14076 -3 23998 24058 24057 -3 23997 23998 24057 -3 24058 24117 24116 -3 24057 24058 24116 -3 24117 24179 24178 -3 24116 24117 24178 -3 24179 24252 24251 -3 24178 24179 24251 -3 24252 24335 24334 -3 24251 24252 24334 -3 24419 24418 24334 -3 24335 24419 24334 -3 24506 24505 24418 -3 24419 24506 24418 -3 13753 13152 13151 -3 24506 24613 24505 -3 13364 24003 23836 -3 25205 12443 25344 -3 24612 24623 25821 -3 24279 25532 14839 -3 11752 24280 24363 -3 24049 22448 16920 -3 26004 25860 22645 -3 25381 25969 23504 -3 23707 23529 24460 -3 24102 25381 23504 -3 35692 35769 35849 -3 21 126 24660 -3 25238 24129 13957 -3 25640 25978 25036 -3 24127 23561 24146 -3 24968 25238 13957 -3 24436 25238 24968 -3 24146 24436 24968 -3 26179 26180 26320 -3 22463 24128 19902 -3 25604 25605 25746 -3 25747 25889 25888 -3 26168 26169 26309 -3 12996 24441 14850 -3 26310 12996 24963 -3 26309 26310 24963 -3 24743 23872 24984 -3 24152 24153 25505 -3 24936 24937 24680 -3 24681 24936 24680 -3 23689 24626 25212 -3 24331 24998 20661 -3 24580 24696 20658 -3 21983 12187 24028 -3 25089 24594 26570 -3 23934 24218 26077 -3 12106 21699 21887 -3 25434 12106 21887 -3 23629 24017 24311 -3 14840 24690 25962 -3 22004 22099 24267 -3 1679 26152 26151 -3 26070 23922 24461 -3 23499 26070 24461 -3 22974 25026 26238 -3 25251 25198 23276 -3 24819 24818 22348 -3 25823 25383 23680 -3 26258 24027 23645 -3 11979 21672 11717 -3 23571 21700 13460 -3 24493 23697 24008 -3 7080 17573 23239 -3 25095 23520 11943 -3 25665 26078 24399 -3 10363 9120 1993 -3 4553 4552 13366 -3 21234 23958 12193 -3 24368 24475 24313 -3 26093 21543 23849 -3 23702 25791 22487 -3 21159 22628 20223 -3 25017 25024 23363 -3 24382 24611 20823 -3 11701 12479 6008 -3 20512 20595 20594 -3 25686 26067 26210 -3 26067 25063 25062 -3 4243 1 2397 -3 24173 24946 24259 -3 24487 24607 24477 -3 2017 1658 1541 -3 4530 3993 26251 -3 13341 13436 21727 -3 24598 25804 25802 -3 24005 24065 2922 -3 20508 20509 20590 -3 12889 12890 24405 -3 24003 23696 25811 -3 25883 25884 26025 -3 21908 21005 15585 -3 25818 23547 23545 -3 24047 12866 24388 -3 32839 32838 32726 -3 24732 10265 11568 -3 7073 9652 13581 -3 25502 25920 22661 -3 23856 24502 24190 -3 25876 25877 26018 -3 25957 24323 25376 -3 26153 1679 1678 -3 22682 25502 22390 -3 23915 12624 25037 -3 2019 5722 26008 -3 26307 21180 12360 -3 24396 24605 24527 -3 26162 26303 26302 -3 25194 25638 25655 -3 32251 22246 29687 -3 12643 24003 25811 -3 23999 24059 24058 -3 23998 23999 24058 -3 24059 24118 24117 -3 24058 24059 24117 -3 24118 24180 24179 -3 24117 24118 24179 -3 24253 24252 24179 -3 24180 24253 24179 -3 24336 24335 24252 -3 24253 24336 24252 -3 24420 24419 24335 -3 24336 24420 24335 -3 24507 24506 24419 -3 24420 24507 24419 -3 24507 24614 24613 -3 24506 24507 24613 -3 21954 35766 20901 -3 17398 17486 17397 -3 23696 23767 23713 -3 25334 13893 25333 -3 14395 16701 16547 -3 25468 25469 25611 -3 25926 24549 21699 -3 24444 25709 24416 -3 25567 25581 22298 -3 25674 25711 11942 -3 23348 25679 25630 -3 37 26251 10578 -3 25441 25244 25229 -3 22298 23348 25630 -3 24564 24382 24381 -3 23492 25441 25229 -3 16755 25605 16914 -3 24501 24384 23647 -3 23486 23543 24568 -3 16913 16755 16914 -3 24963 12996 14850 -3 24663 24131 24693 -3 24441 23850 24693 -3 14850 24441 24693 -3 24153 25506 25505 -3 23706 26229 24053 -3 25506 23872 24743 -3 25505 25506 24743 -3 25317 25180 24937 -3 24936 25317 24937 -3 24134 25212 25857 -3 12252 24331 23701 -3 20658 21983 24028 -3 12187 24982 25233 -3 13528 13627 13626 -3 25246 23934 24756 -3 32504 32503 32398 -3 35254 35251 34362 -3 24442 14840 25962 -3 23493 14840 24442 -3 25036 25106 23632 -3 24511 2234 25862 -3 24241 11107 22683 -3 32857 32856 32744 -3 24590 21821 24071 -3 25227 25229 23977 -3 24406 24416 25660 -3 25661 23745 24389 -3 12339 23604 25920 -3 23853 14870 14869 -3 21700 24493 24008 -3 3197 13386 12034 -3 17307 25120 24038 -3 24135 24136 23630 -3 24086 26287 26255 -3 22974 26238 24389 -3 13365 21234 12193 -3 23958 12269 3799 -3 26092 26093 23849 -3 7759 23947 23661 -3 24944 25455 25072 -3 25502 12339 25920 -3 22011 25153 24657 -3 24142 12997 26718 -3 25003 13142 13049 -3 25469 25612 25611 -3 35461 35648 35392 -3 25681 24497 25165 -3 25491 25230 23703 -3 1998 9314 25165 -3 25444 25241 25443 -3 25429 25306 12443 -3 24140 25771 24857 -3 24046 25429 12443 -3 31298 31365 31297 -3 25115 25253 23724 -3 25289 24013 24074 -3 25811 23696 23713 -3 23526 23991 23870 -3 33731 33865 33730 -3 25043 25280 29966 -3 1680 15152 23787 -3 25861 24610 25973 -3 20761 23599 25574 -3 35339 34495 35338 -3 4773 4100 189 -3 25637 24740 21008 -3 4552 26148 26289 -3 25221 25502 22661 -3 25911 24189 24619 -3 24353 6644 25513 -3 25422 25149 22959 -3 3041 22440 2609 -3 26150 26291 26290 -3 32095 32195 32094 -3 20027 22530 22878 -3 22762 23527 26065 -3 25919 25023 20886 -3 26061 25635 21871 -3 31109 31110 31172 -3 33486 33485 33372 -3 24000 24060 24059 -3 23999 24000 24059 -3 24060 24119 24118 -3 24059 24060 24118 -3 24181 24180 24118 -3 24119 24181 24118 -3 24254 24253 24180 -3 24181 24254 24180 -3 24337 24336 24253 -3 24254 24337 24253 -3 24421 24420 24336 -3 24337 24421 24336 -3 24421 24508 24507 -3 24420 24421 24507 -3 24508 24615 24614 -3 24507 24508 24614 -3 15719 15584 15585 -3 30765 17888 24137 -3 31995 32095 31994 -3 34327 34465 6882 -3 25240 25241 30816 -3 35356 14088 30214 -3 25090 25211 23919 -3 22684 25323 24241 -3 25121 25259 25258 -3 24988 25121 11381 -3 21514 25392 21424 -3 27899 27900 21514 -3 23460 23536 21071 -3 25244 23754 7003 -3 23079 23460 14561 -3 23536 23535 21071 -3 23079 14561 23877 -3 23927 23079 23877 -3 23850 24663 24693 -3 23460 21071 14561 -3 23927 23877 24131 -3 24663 23927 24131 -3 24320 26237 22882 -3 23706 24053 24344 -3 26229 24153 24152 -3 26057 26229 24152 -3 25498 25642 25180 -3 25498 23980 25642 -3 25317 25498 25180 -3 23980 25102 25642 -3 24998 25857 20661 -3 12252 23701 24905 -3 24028 12187 25233 -3 24982 12272 21982 -3 24218 24219 26675 -3 23578 23542 24756 -3 11838 24395 23732 -3 23764 13268 23964 -3 12356 23493 24442 -3 26295 23493 12356 -3 15050 20822 24821 -3 24689 22876 13010 -3 26151 26292 26291 -3 20357 24906 20356 -3 25533 25537 14252 -3 24070 24856 23557 -3 25660 25661 24389 -3 22662 22760 22294 -3 24215 22367 12995 -3 19570 24855 24230 -3 15873 732 12034 -3 26323 26324 22003 -3 26050 26192 26049 -3 33748 33882 33747 -3 23699 25019 24868 -3 13852 21065 1262 -3 25094 12270 12271 -3 25198 24843 23276 -3 25493 11233 22078 -3 23801 22199 24875 -3 24649 20593 20594 -3 20593 24649 20592 -3 25442 14793 732 -3 20586 24233 14911 -3 35792 35913 35691 -3 23849 24041 24042 -3 14143 13767 14374 -3 17607 17702 17606 -3 32794 32906 32793 -3 24619 24189 25380 -3 24837 23920 24807 -3 24808 24946 24173 -3 23731 24297 25636 -3 25528 24316 12252 -3 24625 24642 24473 -3 23731 25636 24473 -3 23724 24625 24473 -3 15449 15448 15321 -3 10869 23634 12103 -3 26259 25164 24986 -3 35383 35608 35375 -3 23729 12799 24752 -3 30779 25310 25725 -3 24754 24484 24588 -3 25294 15536 15535 -3 22386 24739 26207 -3 25455 23363 25072 -3 20018 25425 25424 -3 26081 20018 25424 -3 25741 25883 25882 -3 24891 23860 24890 -3 23701 20661 25215 -3 23672 25396 24265 -3 25088 26206 26063 -3 25512 25520 24103 -3 25728 25626 26113 -3 22646 26089 26231 -3 13748 13846 13747 -3 23942 24001 24000 -3 8050 20432 330 -3 24061 24060 24000 -3 24001 24061 24000 -3 24120 24119 24060 -3 24061 24120 24060 -3 24182 24181 24119 -3 24061 29415 24120 -3 24255 24254 24181 -3 24120 24182 24119 -3 24338 24337 24254 -3 24255 24338 24254 -3 24422 24421 24337 -3 24338 24422 24337 -3 24509 24508 24421 -3 24422 24509 24421 -3 24509 24616 24615 -3 24508 24509 24615 -3 24616 24736 24735 -3 24615 24616 24735 -3 24736 24861 24860 -3 24735 24736 24860 -3 24861 24989 24988 -3 24860 24861 24988 -3 24989 25122 25121 -3 24988 24989 25121 -3 25122 25260 25259 -3 25121 25122 25259 -3 12169 24605 24851 -3 11834 27299 27416 -3 1520 23976 24320 -3 12023 24042 23982 -3 13330 22270 22175 -3 25261 27957 25260 -3 26286 24721 25670 -3 25868 26248 24291 -3 26237 23722 22882 -3 35714 35394 35941 -3 24428 23706 24344 -3 11974 8483 12141 -3 25165 3036 25681 -3 26229 26057 24053 -3 24901 24559 25102 -3 25429 23809 25306 -3 23980 24901 25102 -3 33999 34135 33998 -3 23892 25368 25307 -3 23892 25307 12270 -3 25368 12252 24905 -3 24331 20661 23701 -3 25233 24982 21982 -3 12272 24166 22978 -3 23934 26077 24756 -3 25252 24361 23578 -3 30070 22494 30202 -3 24497 25491 1998 -3 26294 26295 12356 -3 26154 26295 26294 -3 24821 24689 13010 -3 22876 22079 21794 -3 24679 25943 24788 -3 23498 21911 21534 -3 21606 21982 22202 -3 20517 24293 24893 -3 23873 25198 25251 -3 28625 24144 25390 -3 26306 26307 12360 -3 21180 23949 24016 -3 9746 21668 21914 -3 13528 23733 24897 -3 23977 7003 10978 -3 24689 25962 22876 -3 25890 26032 26031 -3 25512 24103 24044 -3 23577 23778 29019 -3 25741 25742 25883 -3 22684 24241 22683 -3 24171 25776 11107 -3 29123 22543 22158 -3 30990 30989 30931 -3 25003 13049 26228 -3 21538 25637 21008 -3 2656 10807 14288 -3 35646 35596 35423 -3 26718 12997 25770 -3 12745 3197 3036 -3 9402 8580 14232 -3 23613 12444 23617 -3 24651 20414 20413 -3 3799 12269 21605 -3 25035 22493 25115 -3 22493 25253 25115 -3 23664 22591 23276 -3 24200 3450 12625 -3 25938 24776 23653 -3 20752 25112 20753 -3 23790 11595 21445 -3 24269 26203 23829 -3 25675 11771 24741 -3 21817 25924 25638 -3 21445 21817 25638 -3 4110 6385 23871 -3 24502 12026 24190 -3 24868 25328 25327 -3 12006 24130 26261 -3 20825 24662 20904 -3 24930 25228 25432 -3 20906 24781 20825 -3 29831 25425 29962 -3 24628 24437 25448 -3 24891 24890 12804 -3 13458 29160 29297 -3 26189 26190 26330 -3 25671 21691 24900 -3 25924 25818 24235 -3 30506 25578 25577 -3 31593 31688 31592 -3 31300 31299 31234 -3 24293 22368 24893 -3 24062 24061 24001 -3 31235 31300 31234 -3 24121 24061 24062 -3 24062 24063 19304 -3 23889 23546 23833 -3 23536 23889 23833 -3 23546 24527 24540 -3 24527 24607 24540 -3 31506 31593 31505 -3 24527 12169 12168 -3 23655 24531 11942 -3 6902 24138 24403 -3 26834 26950 11594 -3 24607 24527 12168 -3 24617 24616 24509 -3 35702 35558 35786 -3 24617 24737 24736 -3 24616 24617 24736 -3 24737 24862 24861 -3 24736 24737 24861 -3 24862 24990 24989 -3 24861 24862 24989 -3 25123 25122 24989 -3 24990 25123 24989 -3 25261 25260 25122 -3 25123 25261 25122 -3 2952 24344 24758 -3 25262 25405 25404 -3 26109 12189 23428 -3 24053 25206 24758 -3 25739 25881 25880 -3 23818 28216 24346 -3 25596 25597 25738 -3 23877 25197 25301 -3 25593 1796 25594 -3 25063 25064 23719 -3 20747 23592 20748 -3 24721 13366 9085 -3 12276 25298 20408 -3 25473 23920 24837 -3 20141 24820 24523 -3 20408 20141 24523 -3 25393 12025 12270 -3 25094 25393 12270 -3 12025 23892 12270 -3 25368 24905 25307 -3 21982 12272 22978 -3 23759 23815 25352 -3 25367 25352 22978 -3 24166 25367 22978 -3 23542 25246 24756 -3 23760 24361 25252 -3 25323 25324 24528 -3 18045 19001 4686 -3 26153 26154 26294 -3 26012 26154 26153 -3 24073 23805 23799 -3 13010 22876 21794 -3 12169 24851 21540 -3 21972 28879 25914 -3 26096 24405 23729 -3 27553 23322 26506 -3 24842 24144 24482 -3 20661 22486 25215 -3 24078 24534 23781 -3 25426 22289 23781 -3 24550 23803 24577 -3 24816 25300 24695 -3 20354 23812 20353 -3 22105 22198 22104 -3 24693 24131 24694 -3 24967 20842 24978 -3 24313 24143 24842 -3 24452 24366 21160 -3 24241 24171 11107 -3 24859 24757 25776 -3 5555 23239 6280 -3 26083 21447 24603 -3 25191 28216 23818 -3 20681 22367 20599 -3 24189 24713 25380 -3 21060 24260 23704 -3 28070 14358 13754 -3 8230 35546 27520 -3 23932 25008 25157 -3 20221 23932 25157 -3 24805 24763 23979 -3 24804 24805 23979 -3 25470 25464 24089 -3 24095 25470 24089 -3 28347 24112 25462 -3 26622 26518 11464 -3 26255 23566 24371 -3 26077 23731 24642 -3 18518 18421 22056 -3 15812 24358 13621 -3 14558 14649 7917 -3 25184 12966 13060 -3 35640 35865 35464 -3 9276 2775 9389 -3 26966 17457 13223 -3 25939 2903 10758 -3 25222 24101 21358 -3 25327 25328 21778 -3 24307 26101 24308 -3 24659 24962 24944 -3 25813 24494 23411 -3 23753 24679 25201 -3 24124 24123 24855 -3 25225 25068 21635 -3 23738 23734 24524 -3 24460 22781 23780 -3 24278 23738 24524 -3 23738 24924 24923 -3 23734 23738 24923 -3 24924 26011 26010 -3 25019 25329 25328 -3 24099 24096 25589 -3 31593 31592 31505 -3 26202 25584 24112 -3 23535 23536 23833 -3 23546 24540 23833 -3 24474 21515 23524 -3 25023 24474 23791 -3 1537 22530 20027 -3 24584 1537 20027 -3 25788 25931 26001 -3 23837 26261 26121 -3 26081 25424 25281 -3 31506 31505 31433 -3 25958 24729 26100 -3 25925 23594 26102 -3 25827 25534 24257 -3 25374 24547 24543 -3 25280 25568 30229 -3 24987 24999 26140 -3 2807 24737 24617 -3 24737 24738 24862 -3 24991 24990 24862 -3 24863 24991 24862 -3 24991 25124 25123 -3 24990 24991 25123 -3 25124 25262 25261 -3 25123 25124 25261 -3 25405 25406 12691 -3 25261 25262 25404 -3 20679 24780 24740 -3 23980 24277 24901 -3 24705 25154 21246 -3 25637 20679 24740 -3 21246 13560 24943 -3 13560 25210 24943 -3 24943 25210 12276 -3 25210 25298 12276 -3 24820 25393 25094 -3 25298 20141 20408 -3 25641 23674 24357 -3 24523 24820 25094 -3 25641 24357 26201 -3 24283 25641 26201 -3 24283 26201 25485 -3 23674 24629 24357 -3 25367 23759 25352 -3 22485 24283 25485 -3 22485 25485 23815 -3 23759 22485 23815 -3 35819 35641 35503 -3 31560 26612 26723 -3 25363 23760 25252 -3 24361 23542 23578 -3 24377 21181 24378 -3 21793 22172 23913 -3 25610 25611 25752 -3 21276 27382 21366 -3 25689 25547 24439 -3 23711 30233 25571 -3 24867 25318 25547 -3 25689 24867 25547 -3 2545 23322 24668 -3 24867 23322 25318 -3 24325 23924 24133 -3 25959 22295 23537 -3 25958 26100 23723 -3 23780 25426 23781 -3 25515 23492 24561 -3 24561 23492 25227 -3 11975 24656 4381 -3 35374 30621 19936 -3 12799 23729 12798 -3 20158 20073 20159 -3 22196 24313 9635 -3 24143 24144 24842 -3 24171 24859 25776 -3 24859 25957 23986 -3 29494 35484 35388 -3 20263 23516 25097 -3 25029 25030 24077 -3 24017 25029 24077 -3 26091 26092 12023 -3 24302 24631 24632 -3 23592 20749 20748 -3 26233 22493 25035 -3 24763 23932 20221 -3 23979 24763 20221 -3 24259 24387 24899 -3 23057 24259 24899 -3 25150 24947 25069 -3 24387 26213 26214 -3 25150 25787 24947 -3 24940 25150 25069 -3 25787 25103 25788 -3 25103 24970 25788 -3 17822 495 381 -3 25609 25751 25750 -3 24923 24924 26010 -3 24147 20742 26010 -3 26011 24147 26010 -3 25436 25579 20742 -3 24674 15535 15534 -3 23671 23674 25641 -3 24494 25955 22395 -3 25626 21453 7930 -3 24745 23779 25656 -3 23375 23471 23374 -3 23858 25422 24290 -3 22395 25791 23702 -3 24611 23583 20823 -3 23506 12623 25316 -3 24147 25436 20742 -3 23792 24775 25579 -3 25436 23792 25579 -3 25481 21159 23860 -3 23683 23685 24775 -3 24729 24476 26100 -3 31367 31366 31299 -3 23541 20414 20500 -3 21794 24925 13461 -3 24293 24221 22368 -3 24958 26681 26680 -3 31369 31436 31368 -3 5090 19767 4954 -3 25236 26234 25777 -3 24470 11941 24281 -3 26069 24582 24734 -3 25777 24470 24281 -3 22389 22293 24734 -3 25479 26069 24734 -3 24907 23648 22293 -3 24582 22389 24734 -3 19984 16166 24764 -3 22389 24907 22293 -3 25792 26796 25340 -3 23604 24222 24618 -3 24907 25340 23648 -3 24186 26003 24876 -3 24863 28996 24864 -3 24862 24738 24863 -3 24992 25125 25124 -3 24991 24992 25124 -3 25125 25263 25262 -3 25124 25125 25262 -3 31173 31237 31236 -3 25262 25263 25405 -3 21915 24216 25372 -3 25096 20679 25637 -3 24780 23882 12450 -3 29019 23778 28884 -3 24742 24829 23490 -3 23580 21627 24140 -3 21093 24742 22009 -3 24829 24140 23490 -3 21093 22009 24629 -3 23674 21093 24629 -3 24970 30809 19477 -3 24742 23490 22009 -3 24568 23794 23864 -3 24381 24382 20985 -3 24149 24152 25490 -3 35842 29685 35829 -3 23617 23887 25067 -3 20747 20746 23760 -3 23981 24568 23864 -3 23794 24315 25686 -3 24001 23942 20200 -3 24604 23649 25032 -3 25110 24921 24920 -3 24087 24054 25183 -3 24810 12997 21267 -3 23619 23969 25676 -3 25689 24439 15026 -3 24439 22235 201 -3 25303 25689 15026 -3 23775 25303 15026 -3 24730 24867 25689 -3 25303 24730 25689 -3 31107 31108 31170 -3 24730 24668 24867 -3 25426 25005 23554 -3 25005 24896 23554 -3 22289 25426 23554 -3 24896 23723 23554 -3 24138 14969 23250 -3 21728 22447 24402 -3 22367 24124 12995 -3 24626 21538 23671 -3 336 23620 23991 -3 25294 23773 23766 -3 23857 25519 9635 -3 24313 24842 9635 -3 24757 24859 23986 -3 25957 25376 24104 -3 25236 25777 16597 -3 24934 24935 20017 -3 21448 21357 25030 -3 25029 21448 25030 -3 24690 24691 25535 -3 14273 20738 25927 -3 20738 12445 25929 -3 25535 14273 25927 -3 25470 24538 25360 -3 25464 25470 25360 -3 24899 24387 26214 -3 26213 24940 25069 -3 23240 24007 23142 -3 25594 25736 25735 -3 23579 215 24262 -3 24288 25567 25566 -3 22562 24185 24123 -3 215 24261 24262 -3 25117 24668 24730 -3 23871 336 23991 -3 23792 23683 24775 -3 9746 21914 23762 -3 24347 23615 23685 -3 23683 24347 23685 -3 25057 25056 23615 -3 12419 23712 12508 -3 21159 21245 23860 -3 14521 2267 827 -3 25087 25790 25791 -3 20221 25157 25524 -3 26101 25449 24308 -3 31748 11458 11457 -3 24221 25034 22368 -3 24347 25057 23615 -3 26097 15405 21453 -3 24205 23518 25056 -3 25057 24205 25056 -3 24261 20815 11749 -3 25175 25174 23518 -3 25907 26049 25906 -3 20986 22448 24049 -3 16463 22846 22945 -3 32020 32120 32119 -3 12168 12169 21540 -3 24066 26685 24065 -3 25706 25849 25848 -3 16108 7004 14744 -3 31045 31046 31107 -3 28351 25133 25131 -3 11941 26069 25479 -3 24281 11941 25479 -3 24031 24091 24030 -3 12639 25713 13079 -3 24981 24984 24415 -3 20014 24774 23757 -3 23750 24433 25545 -3 24415 23978 23565 -3 24309 24895 22563 -3 28248 25038 24126 -3 22465 25038 22563 -3 21160 24199 24106 -3 25831 25973 23732 -3 7003 23754 25633 -3 30816 30817 25240 -3 31752 31858 24158 -3 24993 25126 25125 -3 24992 24993 25125 -3 25126 25264 25263 -3 25125 25126 25263 -3 31048 31110 31109 -3 31046 31045 30984 -3 35670 35740 35902 -3 25875 25876 26017 -3 33337 35866 35227 -3 31688 31687 31592 -3 21912 24404 23549 -3 6283 6284 6411 -3 26064 25066 25065 -3 23630 24136 23629 -3 25076 23177 25140 -3 24947 25788 26001 -3 24818 24039 23658 -3 24609 24458 25512 -3 24727 24039 24818 -3 24708 24727 24818 -3 20884 25524 25383 -3 24039 20884 23658 -3 25461 25463 22559 -3 25161 24727 24708 -3 24087 25463 24054 -3 22559 25161 24708 -3 27026 28350 25183 -3 25463 25161 22559 -3 23078 25084 25083 -3 25463 25461 24054 -3 25083 22980 23078 -3 31993 31992 31891 -3 22980 24321 23775 -3 23078 22980 23775 -3 23641 25303 23775 -3 24321 23641 23775 -3 25117 24730 25303 -3 23641 25117 25303 -3 31171 31235 31234 -3 19528 21062 19382 -3 25332 25331 25201 -3 30672 30673 25366 -3 24788 25332 25201 -3 24437 25431 25100 -3 23781 22289 25315 -3 13176 23781 25315 -3 25141 25142 24919 -3 23920 24808 24807 -3 24774 25294 23766 -3 23773 24976 24975 -3 23553 26056 25816 -3 23987 23553 25816 -3 23986 25957 24104 -3 25376 22102 22101 -3 16003 16145 16144 -3 9542 11409 9532 -3 23582 25093 21357 -3 21448 23582 21357 -3 14840 15739 24690 -3 24691 14273 25535 -3 25590 25732 25731 -3 13050 12957 13051 -3 24538 24805 24804 -3 25360 24538 24804 -3 26214 26213 25069 -3 25787 25788 24947 -3 11751 24983 22385 -3 23501 21984 26058 -3 24013 24967 26230 -3 14941 24055 24114 -3 23861 24034 25775 -3 26671 23597 25223 -3 25108 25378 24621 -3 25342 23861 25775 -3 9652 7073 35758 -3 20681 22106 22367 -3 24205 25175 23518 -3 13091 563 21 -3 25283 25284 25174 -3 25175 25283 25174 -3 24573 25382 22200 -3 25645 28115 28116 -3 24735 24860 35627 -3 23919 24870 23856 -3 10758 24606 25939 -3 24735 35627 12916 -3 26600 26704 22007 -3 22487 22390 23758 -3 25283 25645 25284 -3 26065 26064 25065 -3 13176 25315 24414 -3 14839 11752 24363 -3 23767 25181 24495 -3 25969 25334 22780 -3 13059 13153 13152 -3 25977 23571 25024 -3 13152 13753 13059 -3 24440 24694 24816 -3 27258 24066 24067 -3 24006 24066 24005 -3 23503 26118 26258 -3 2231 2103 16846 -3 16442 25612 25469 -3 24707 23975 24036 -3 12275 25203 24309 -3 24895 22465 22563 -3 24214 25203 24771 -3 25203 24895 24309 -3 23713 23767 24495 -3 24247 24480 24495 -3 25181 24247 24495 -3 24209 24282 24480 -3 24247 24209 24480 -3 20515 24310 24282 -3 23947 24214 12444 -3 25203 12275 24771 -3 22104 25662 26331 -3 23536 23665 23889 -3 25747 25748 25889 -3 24999 26141 26140 -3 29279 27286 27287 -3 24992 24864 24865 -3 31237 31302 31236 -3 24999 24987 23783 -3 27024 29495 35531 -3 31172 31173 31236 -3 25408 25551 25550 -3 25406 25263 25264 -3 25551 25693 25692 -3 25550 25551 25692 -3 25835 25694 25836 -3 28592 25834 25835 -3 25171 25205 25344 -3 22532 25171 25344 -3 23658 20884 25383 -3 25524 25171 22532 -3 24575 24578 25799 -3 25383 25524 22532 -3 34326 34327 6882 -3 25801 20346 23825 -3 24464 26899 26784 -3 26189 26330 26188 -3 3052 24942 2670 -3 25499 21266 28862 -3 23908 25013 24942 -3 21266 12192 3052 -3 25084 25014 25083 -3 12192 23908 24942 -3 25797 25083 25013 -3 23908 25797 25013 -3 24541 22980 25083 -3 25797 24541 25083 -3 24541 24639 24321 -3 22980 24541 24321 -3 20924 23641 24321 -3 24639 20924 24321 -3 22861 25117 23641 -3 20924 22861 23641 -3 24970 19477 25931 -3 31893 31892 31786 -3 24500 13332 10578 -3 25363 25252 25253 -3 25126 35522 35900 -3 24948 21447 26083 -3 24078 23781 13176 -3 23722 24078 13176 -3 26047 26189 26046 -3 23678 24191 24217 -3 23599 25163 25573 -3 4545 9634 12273 -3 23553 25519 23857 -3 26056 23553 23857 -3 24104 25376 22101 -3 11945 24368 22101 -3 24725 24651 20413 -3 26079 21632 21819 -3 26718 26829 24142 -3 23582 24142 25093 -3 23493 24533 14840 -3 15739 24691 24690 -3 25732 25874 25873 -3 25731 25732 25873 -3 12360 24016 4382 -3 26164 26165 26305 -3 25938 23653 24912 -3 26306 12360 24045 -3 25864 24546 21073 -3 24265 24983 11751 -3 23887 23617 23720 -3 25342 25775 25321 -3 23534 23834 23664 -3 24815 23600 23835 -3 25198 20016 24843 -3 23534 23664 24843 -3 26307 26308 21180 -3 24733 24440 23949 -3 22061 24488 23892 -3 21180 24733 23949 -3 25759 25902 25901 -3 4018 4680 14694 -3 24724 24604 25032 -3 24030 20410 23970 -3 23487 24854 23541 -3 25221 22661 22562 -3 24209 20515 24282 -3 20515 24811 24223 -3 25769 24413 11770 -3 25966 25824 23672 -3 25517 25441 23492 -3 25319 24904 24166 -3 13177 15583 15582 -3 27989 2807 24617 -3 24184 24866 25068 -3 25382 22198 22105 -3 480 481 7771 -3 34409 34546 34408 -3 13245 24749 25948 -3 24310 20515 24223 -3 24067 24007 14848 -3 24854 25115 23622 -3 24405 12982 12889 -3 14358 24203 14373 -3 24272 24707 24036 -3 29492 22002 22098 -3 23661 23947 23613 -3 24214 24771 12444 -3 24125 23618 24223 -3 24811 24125 24223 -3 24761 12995 25514 -3 23618 24125 24229 -3 25208 22881 22979 -3 25015 24579 24207 -3 12515 28008 12426 -3 25932 30818 3624 -3 35190 6999 35189 -3 21911 23730 24352 -3 11475 31018 11476 -3 25606 25748 25747 -3 31595 31690 31594 -3 24993 24994 25126 -3 25407 35900 25265 -3 31302 31301 31236 -3 25266 25409 25408 -3 25265 25266 25408 -3 25409 25552 25551 -3 25408 25409 25551 -3 25552 25694 25693 -3 25551 25552 25693 -3 25836 25695 25837 -3 25693 25694 25835 -3 25202 24726 24496 -3 26200 25772 25629 -3 25709 25720 25863 -3 24726 23647 24496 -3 26257 21793 26070 -3 25954 15186 9281 -3 22079 24525 24925 -3 21794 22079 24925 -3 24525 26257 26117 -3 24925 24525 26117 -3 24548 21266 24188 -3 25499 24188 21266 -3 15318 12192 21266 -3 24548 15318 21266 -3 22171 23908 12192 -3 15318 22171 12192 -3 22171 25109 25797 -3 23908 22171 25797 -3 23691 24541 25797 -3 25109 23691 25797 -3 23691 23709 24639 -3 24541 23691 24639 -3 21512 20924 24639 -3 23709 21512 24639 -3 24518 22861 20924 -3 21512 24518 20924 -3 31787 31893 31786 -3 24518 24666 22861 -3 26237 23645 23722 -3 24454 24666 24455 -3 24838 24839 23976 -3 12354 23645 26237 -3 23645 24078 23722 -3 23976 12354 26237 -3 21792 23678 24217 -3 14521 15654 24249 -3 26208 26209 23599 -3 25163 25572 25573 -3 25519 22196 9635 -3 21632 25978 25640 -3 20884 20221 25524 -3 17086 24588 24812 -3 24912 24969 26572 -3 24937 24938 13804 -3 25742 25884 25883 -3 12360 21180 24016 -3 26155 26296 26295 -3 26154 26155 26295 -3 25874 26016 26015 -3 25873 25874 26015 -3 25437 24219 23934 -3 26305 26306 24045 -3 24680 24937 13804 -3 25180 24342 24938 -3 25501 25356 25374 -3 9389 2775 2776 -3 26469 25321 23597 -3 4193 17247 25597 -3 23178 23534 24843 -3 23834 23835 23664 -3 24284 13269 24468 -3 13269 24159 24155 -3 25509 25511 24563 -3 26288 13269 24155 -3 24870 23977 24502 -3 24561 25227 25211 -3 23977 10978 24502 -3 1 4243 25706 -3 25349 25210 13560 -3 24771 23608 12357 -3 13171 13076 13077 -3 23725 24652 23749 -3 22200 22105 26192 -3 26321 20824 24628 -3 26193 22200 26192 -3 12692 25353 12693 -3 25356 24751 24164 -3 23526 20844 23821 -3 21914 23526 23821 -3 26051 26193 26050 -3 21914 23821 24702 -3 594 479 480 -3 24207 25208 22979 -3 24053 26057 25206 -3 31504 31591 31503 -3 4545 20906 23726 -3 24902 24688 25719 -3 23240 24068 24007 -3 20416 20502 20501 -3 25964 25966 24627 -3 23672 24265 25200 -3 24707 22002 23975 -3 25597 25739 25738 -3 24874 24879 21423 -3 25168 24824 24950 -3 11107 25776 24154 -3 23973 23969 23619 -3 24757 23987 24961 -3 13957 24129 24411 -3 32953 32952 32844 -3 23762 21914 24702 -3 34806 34935 34805 -3 25271 12752 12139 -3 32729 32728 32614 -3 24569 21814 21719 -3 5404 19252 5539 -3 31896 31895 31789 -3 31790 31789 31689 -3 25129 25267 25266 -3 35499 35831 11236 -3 25267 25410 25409 -3 25266 25267 25409 -3 25410 25553 25552 -3 25409 25410 25552 -3 25553 25695 25694 -3 25552 25553 25694 -3 26795 12007 23603 -3 25694 25695 25836 -3 25323 22684 23922 -3 23913 25323 23922 -3 26117 26257 26070 -3 23913 23922 26070 -3 14511 25815 25477 -3 21793 23913 26070 -3 22680 23498 25199 -3 24852 24187 24739 -3 24188 17482 24548 -3 14234 17482 13173 -3 24081 24548 17482 -3 14234 24081 17482 -3 25930 15318 24548 -3 24081 25930 24548 -3 25930 3331 22171 -3 15318 25930 22171 -3 3331 24330 25109 -3 22171 3331 25109 -3 24330 22077 23691 -3 25109 24330 23691 -3 22077 26256 23709 -3 23691 22077 23709 -3 23470 21512 23709 -3 26256 23470 23709 -3 21089 24518 21512 -3 23470 21089 21512 -3 22466 24666 24518 -3 21089 22466 24518 -3 24455 22466 24908 -3 22466 24455 24666 -3 24345 24468 23706 -3 10265 24732 12456 -3 23924 23744 24748 -3 23656 25231 24594 -3 34547 34546 34409 -3 27143 13391 8230 -3 20413 20414 24445 -3 26006 503 2147 -3 1073 19121 954 -3 21819 21632 25640 -3 24449 24295 24725 -3 35776 11808 35732 -3 11835 26079 21819 -3 23687 15111 23741 -3 24822 25444 25230 -3 30814 25241 25527 -3 26296 24533 23493 -3 26295 26296 23493 -3 26016 26158 26157 -3 26015 26016 26157 -3 24088 25246 23542 -3 23623 24088 23542 -3 24937 25180 24938 -3 25642 25643 24342 -3 22061 23892 12025 -3 12024 22061 12025 -3 12798 23729 12890 -3 25998 24822 25345 -3 25301 25197 25300 -3 25197 20016 25198 -3 24159 25511 25509 -3 24155 24159 25509 -3 23843 23901 23900 -3 24448 23079 23927 -3 25504 25975 23707 -3 23690 25714 23644 -3 25761 16149 16148 -3 24757 23986 23553 -3 12981 13075 13074 -3 30814 25527 30813 -3 21239 27725 21327 -3 25954 23762 24909 -3 25662 24687 24902 -3 23647 24384 24768 -3 23650 19987 24576 -3 12903 11943 17303 -3 12624 21917 25169 -3 14395 23995 24055 -3 25735 25736 25877 -3 24591 7930 12717 -3 24434 24351 24710 -3 17563 15868 19933 -3 26221 22762 24315 -3 26388 24407 27895 -3 25950 25369 20666 -3 25451 21423 23798 -3 11925 27198 11839 -3 25147 24676 24928 -3 23152 23635 23054 -3 25157 24183 25171 -3 25776 24757 24961 -3 24927 25147 24928 -3 23800 23621 25647 -3 23753 25201 24503 -3 24472 11614 24204 -3 25428 24472 24204 -3 19175 19176 19280 -3 21334 24966 24579 -3 1326 23999 16944 -3 25586 24520 27982 -3 32615 32729 32614 -3 21361 19987 23650 -3 24409 25964 25965 -3 25678 25858 23516 -3 24654 24520 25586 -3 24202 25675 23874 -3 34567 34566 34429 -3 23634 10869 21006 -3 25130 25268 25267 -3 25128 25129 25266 -3 25268 25411 25410 -3 25267 25268 25410 -3 25411 25554 25553 -3 25410 25411 25553 -3 25554 25696 25695 -3 25553 25554 25695 -3 33589 17337 33472 -3 25695 25696 25837 -3 22837 24394 20229 -3 25634 23790 23776 -3 22680 25199 24380 -3 24394 24478 20229 -3 22392 26262 23574 -3 23903 23845 20982 -3 29156 29293 24454 -3 26263 23574 26262 -3 25828 14234 22392 -3 23574 25828 22392 -3 23772 24081 14234 -3 25828 23772 14234 -3 23772 23469 25930 -3 24081 23772 25930 -3 23469 24653 3331 -3 25930 23469 3331 -3 24653 24634 24330 -3 3331 24653 24330 -3 24634 23748 22077 -3 24330 24634 22077 -3 23748 26116 26256 -3 22077 23748 26256 -3 25507 23470 26256 -3 26116 25507 26256 -3 25666 21089 23470 -3 25507 25666 23470 -3 22564 22466 21089 -3 25666 22564 21089 -3 201 15026 24439 -3 22564 24908 22466 -3 23809 30811 30812 -3 25001 26198 24999 -3 12845 11792 11879 -3 22464 22562 24123 -3 20745 21334 25015 -3 24638 24645 25866 -3 25819 24023 23918 -3 25108 24621 24260 -3 25978 25106 25036 -3 25070 26001 25204 -3 22586 24228 24126 -3 34273 34272 34134 -3 24073 23799 23744 -3 23551 25012 24754 -3 25345 24822 25491 -3 25444 25443 25230 -3 24533 15739 14840 -3 24945 19986 24762 -3 3450 15470 12625 -3 22287 25629 25628 -3 25437 23934 25246 -3 24088 25437 25246 -3 25180 25642 24342 -3 25102 25101 25643 -3 21157 12024 12025 -3 25393 21157 12025 -3 25670 24721 12639 -3 6534 25092 25372 -3 23873 25197 25198 -3 20016 23178 24843 -3 25511 24561 24563 -3 24563 24561 25211 -3 26214 25069 25070 -3 12451 26214 25070 -3 25201 25331 24503 -3 21452 25190 25330 -3 24366 24199 21160 -3 25331 21452 25330 -3 22350 24390 24467 -3 23654 22350 24467 -3 31178 31179 31242 -3 24051 24373 24424 -3 27644 4194 23238 -3 25581 23348 22298 -3 29966 25280 29965 -3 25638 25924 24235 -3 24159 24167 25511 -3 14521 24333 24417 -3 5352 26285 26144 -3 20886 25023 20222 -3 20029 20061 21872 -3 9690 24600 25114 -3 21575 11711 16464 -3 24401 24372 21454 -3 23951 17262 24010 -3 25133 28351 28350 -3 24927 24928 22192 -3 21541 24927 22192 -3 20442 20441 24906 -3 22486 22485 23759 -3 24567 23753 24503 -3 25331 25330 24503 -3 12553 24472 25428 -3 24012 12553 25428 -3 25785 24401 21454 -3 24401 25649 25623 -3 24372 24401 25623 -3 25649 23575 24456 -3 20014 24196 15672 -3 24174 24278 24358 -3 3474 23698 23174 -3 24981 24415 23652 -3 25856 25855 21909 -3 24198 23992 26105 -3 21425 24604 26074 -3 10244 25541 9278 -3 25130 35634 35368 -3 20668 25950 24400 -3 25269 25412 25411 -3 25268 25269 25411 -3 25412 25555 25554 -3 25411 25412 25554 -3 25555 25697 25696 -3 25554 25555 25696 -3 25697 25839 25838 -3 25696 25697 25838 -3 25839 25981 25980 -3 34010 34009 33874 -3 25981 26123 26122 -3 26263 26262 19662 -3 26264 26263 26122 -3 26123 26264 26122 -3 24048 23574 26263 -3 26264 24048 26263 -3 24048 21007 25828 -3 23574 24048 25828 -3 21007 24082 23772 -3 25828 21007 23772 -3 24082 24206 23469 -3 23772 24082 23469 -3 24206 24884 24653 -3 23469 24206 24653 -3 24884 24760 24634 -3 24653 24884 24634 -3 24760 23802 23748 -3 24634 24760 23748 -3 23802 25974 26116 -3 23748 23802 26116 -3 25508 25507 26116 -3 25974 25508 26116 -3 12109 25666 25507 -3 25508 12109 25507 -3 22663 22564 25666 -3 12109 22663 25666 -3 24554 24908 22564 -3 18638 18639 21114 -3 22837 20229 23716 -3 25477 24852 24739 -3 26019 26020 26161 -3 24187 24852 17555 -3 25913 23498 21534 -3 26020 26162 26161 -3 16002 16003 16144 -3 21911 24352 24435 -3 23541 23622 24445 -3 23174 22837 23716 -3 25651 25250 24080 -3 25222 21358 12717 -3 25664 25320 25807 -3 20267 20180 20181 -3 24497 23680 25491 -3 24822 25230 25491 -3 24242 24958 26680 -3 25387 24998 24331 -3 32906 33014 32905 -3 25771 21535 25770 -3 24219 24220 26674 -3 25200 24265 11751 -3 25158 13089 23656 -3 12421 25158 23656 -3 25718 21157 25393 -3 24820 25718 25393 -3 24838 23976 1520 -3 26285 26286 25670 -3 25790 21156 22682 -3 25373 23562 12339 -3 24414 23510 23717 -3 22294 22760 22389 -3 25035 25115 24854 -3 23490 24857 22008 -3 19916 25050 3084 -3 25190 21452 25051 -3 23651 12553 24012 -3 20824 23651 24012 -3 26322 23651 20824 -3 26321 26322 20824 -3 11482 26216 24880 -3 25189 24174 24358 -3 23739 23738 24278 -3 24174 23739 24278 -3 24953 24924 23738 -3 23739 24953 23738 -3 21534 24435 24351 -3 24953 26055 26011 -3 24986 25114 26119 -3 23556 24409 25965 -3 24986 9690 25114 -3 10978 22078 12026 -3 23953 21289 18454 -3 24546 21092 24362 -3 11711 18454 29634 -3 10465 21091 21006 -3 21541 22192 26003 -3 26146 21541 26003 -3 23707 23499 23529 -3 23745 22974 24389 -3 26181 26322 26321 -3 26180 26181 26321 -3 26039 26181 26180 -3 26038 26039 26180 -3 25623 25649 24456 -3 23575 26227 26223 -3 24456 23575 26223 -3 23865 24438 26223 -3 24924 24953 26011 -3 26055 17577 24147 -3 20152 12276 12309 -3 24371 24892 11838 -3 30940 30939 30885 -3 9278 25541 11835 -3 23833 23834 23534 -3 24607 12168 24477 -3 31508 31507 31435 -3 23174 23716 25712 -3 14969 22447 23250 -3 22139 21627 17447 -3 25413 25556 25555 -3 25412 25413 25555 -3 25556 25698 25697 -3 25555 25556 25697 -3 25698 25840 25839 -3 25697 25698 25839 -3 25840 25982 25981 -3 25839 25840 25981 -3 25982 26124 26123 -3 25981 25982 26123 -3 26265 26264 26123 -3 26124 26265 26123 -3 23626 24048 26264 -3 26265 23626 26264 -3 23626 24558 21007 -3 24048 23626 21007 -3 24558 22958 24082 -3 21007 24558 24082 -3 22958 25934 24206 -3 24082 22958 24206 -3 25934 25928 24884 -3 24206 25934 24884 -3 25928 25085 24760 -3 24884 25928 24760 -3 24542 23802 24760 -3 25085 24542 24760 -3 25832 25974 23802 -3 24542 25832 23802 -3 24772 25508 25974 -3 25832 24772 25974 -3 26254 12109 25508 -3 24772 26254 25508 -3 25413 25412 25269 -3 26254 22761 12109 -3 24026 23726 20094 -3 20215 17604 17700 -3 23961 24443 24554 -3 22663 24554 22564 -3 23680 22532 25345 -3 27613 20920 20839 -3 25217 25531 23620 -3 23593 11855 23563 -3 24374 24375 24257 -3 2123 21668 9746 -3 4553 24721 26286 -3 24463 21070 20984 -3 26153 26294 26293 -3 22004 24267 21815 -3 23156 24564 15601 -3 25868 23800 24830 -3 25681 25823 24497 -3 23680 25345 25491 -3 24741 23933 24828 -3 20494 24741 24828 -3 25771 25770 24810 -3 24857 25771 24810 -3 26289 21234 13365 -3 7801 7917 14649 -3 25158 12421 26095 -3 26095 24594 25089 -3 24627 23672 25200 -3 25245 22268 24329 -3 25315 23509 23510 -3 24966 24838 1520 -3 23673 21450 23799 -3 24289 19426 24317 -3 25009 24584 25358 -3 25647 28125 28108 -3 23490 24140 24857 -3 21538 21008 23671 -3 4382 24817 25349 -3 23953 21393 20058 -3 25896 25897 26038 -3 26227 23865 26223 -3 23865 12533 24161 -3 24881 23994 25452 -3 24438 23865 24161 -3 26011 26055 24147 -3 17577 25439 25436 -3 24147 17577 25436 -3 24539 23792 25436 -3 8027 25378 24660 -3 25913 21534 23714 -3 11671 11835 21724 -3 26259 24986 26119 -3 24341 12920 22976 -3 25864 25865 24546 -3 23411 22395 23702 -3 23800 25868 24288 -3 12958 12865 24047 -3 25921 13886 23929 -3 16312 26146 26003 -3 24186 16312 26003 -3 24652 20905 24225 -3 22683 22879 23529 -3 25754 25755 25896 -3 25897 26039 26038 -3 12533 25483 25339 -3 24161 12533 25339 -3 25483 26000 23891 -3 25339 25483 23891 -3 23619 25676 23830 -3 25439 24539 25436 -3 24539 25726 23683 -3 24007 24068 14848 -3 24235 23545 23523 -3 21724 21819 26068 -3 11835 21819 21724 -3 6644 23513 23512 -3 24624 24633 25864 -3 31712 31713 31812 -3 25902 25759 16149 -3 25271 25414 25413 -3 21627 22139 21535 -3 25414 25557 25556 -3 25413 25414 25556 -3 25557 25699 25698 -3 25556 25557 25698 -3 25699 25841 25840 -3 25698 25699 25840 -3 25841 25983 25982 -3 25840 25841 25982 -3 26125 26124 25982 -3 25983 26125 25982 -3 26266 26265 26124 -3 26125 26266 26124 -3 26266 23876 23626 -3 26265 26266 23626 -3 23876 24237 24558 -3 23626 23876 24558 -3 24237 12554 22958 -3 24558 24237 22958 -3 12554 23372 25934 -3 22958 12554 25934 -3 23372 2233 25928 -3 25934 23372 25928 -3 2233 24145 25085 -3 25928 2233 25085 -3 21513 24542 25085 -3 24145 21513 25085 -3 25690 25832 24542 -3 21513 25690 24542 -3 24898 24772 25832 -3 25690 24898 25832 -3 26114 26254 24772 -3 24898 26114 24772 -3 22860 22761 26254 -3 26114 22860 26254 -3 24555 23961 24554 -3 22860 24553 22761 -3 24446 23961 24555 -3 24553 24446 24555 -3 24446 22388 23946 -3 24446 23946 23961 -3 24304 24303 26080 -3 20218 17606 20305 -3 22103 11859 22102 -3 26080 24632 25304 -3 20901 35766 35944 -3 9634 9635 24482 -3 24233 24400 14911 -3 24400 14141 14911 -3 15317 22039 26000 -3 24303 24632 26080 -3 14793 22348 25681 -3 25823 23680 24497 -3 11771 25487 23933 -3 24741 11771 23933 -3 24857 24810 21181 -3 22008 24857 21181 -3 23622 23724 24641 -3 25967 23428 24409 -3 25602 25603 25744 -3 25603 25745 25744 -3 24357 24629 25727 -3 15868 17563 16300 -3 26166 26167 26307 -3 26308 24733 21180 -3 21450 24317 21916 -3 26086 26091 11856 -3 23885 15601 16024 -3 24564 23611 16922 -3 23461 24755 24893 -3 16996 17159 16995 -3 24555 24554 22663 -3 23948 24086 26255 -3 5424 16048 5423 -3 25305 25808 23930 -3 14586 16775 22948 -3 23792 24539 23683 -3 20654 24347 23683 -3 20681 20599 23930 -3 21356 20682 23917 -3 26068 25640 26094 -3 21819 25640 26068 -3 25140 23927 24663 -3 25865 21092 24546 -3 23808 21509 23614 -3 4687 19001 18594 -3 11233 24798 12026 -3 22078 11233 12026 -3 25244 25389 23754 -3 24043 16312 24186 -3 26063 24766 24122 -3 24156 22979 12336 -3 25613 25755 25754 -3 25612 25613 25754 -3 26210 26211 25214 -3 23766 23773 24975 -3 26092 23849 12023 -3 24154 24961 25476 -3 25726 20654 23683 -3 25058 25057 24347 -3 24961 23987 25232 -3 2944 13893 25179 -3 23631 23632 24711 -3 25640 25036 26094 -3 25210 25349 25298 -3 23586 23587 24624 -3 13601 13503 12217 -3 24309 22295 25959 -3 25272 25415 25414 -3 25271 25272 25414 -3 25415 25558 25557 -3 25414 25415 25557 -3 25558 25700 25699 -3 25557 25558 25699 -3 25700 25842 25841 -3 25699 25700 25841 -3 25842 25984 25983 -3 25841 25842 25983 -3 25984 26126 26125 -3 25983 25984 26125 -3 26126 26267 26266 -3 26125 26126 26266 -3 26267 25162 23876 -3 26266 26267 23876 -3 25162 13897 24237 -3 23876 25162 24237 -3 13897 25042 12554 -3 24237 13897 12554 -3 25042 23373 23372 -3 12554 25042 23372 -3 23373 2365 2233 -3 23372 23373 2233 -3 26072 24145 2233 -3 2365 26072 2233 -3 25480 21513 24145 -3 26072 25480 24145 -3 25548 25690 21513 -3 25480 25548 21513 -3 23668 24898 25690 -3 25548 23668 25690 -3 25972 26114 24898 -3 23668 25972 24898 -3 22859 22860 26114 -3 25972 22859 26114 -3 24552 24553 22860 -3 22859 24552 22860 -3 23962 24446 24553 -3 24552 23962 24553 -3 30687 23946 22388 -3 23962 22388 24446 -3 24371 23566 24892 -3 20588 20589 23746 -3 25442 24819 14793 -3 22348 25823 25681 -3 25153 23352 24658 -3 24661 24819 25442 -3 24040 25460 24038 -3 23352 25153 25459 -3 26676 24298 24218 -3 20408 24523 24790 -3 24040 24038 25131 -3 12187 24790 24982 -3 23774 23783 24980 -3 24987 26140 26093 -3 22008 21181 24377 -3 25028 22008 24377 -3 25140 23177 24448 -3 24629 25028 25727 -3 23727 22586 24747 -3 25383 22532 23680 -3 25605 25606 25747 -3 25596 25738 25737 -3 26024 26025 26166 -3 26167 26308 26307 -3 25169 24914 23807 -3 24930 25432 24931 -3 25441 20885 25244 -3 25389 24043 23754 -3 24755 20517 24893 -3 25532 25510 11752 -3 25461 22559 23352 -3 23663 23923 23810 -3 28190 28191 35415 -3 16004 25906 25763 -3 26064 12686 25066 -3 20654 25058 24347 -3 26233 25035 20666 -3 20652 24205 25057 -3 25036 23632 23631 -3 30878 30932 30877 -3 24354 25960 24318 -3 26094 25036 23631 -3 23994 24719 24823 -3 15419 25277 25139 -3 1326 24000 23999 -3 15583 13177 15584 -3 24930 24931 24798 -3 26025 26167 26166 -3 23754 24043 24186 -3 11233 24930 24798 -3 25467 25468 25610 -3 20885 25389 25244 -3 25755 25897 25896 -3 24316 24331 12252 -3 1089 1088 970 -3 23604 24618 24866 -3 24106 12251 24696 -3 4192 25595 1451 -3 25058 20652 25057 -3 12712 25016 25312 -3 25176 25175 24205 -3 15741 16162 18488 -3 25009 25358 12647 -3 25136 25274 11879 -3 24688 25312 25226 -3 24633 25865 25864 -3 23587 24633 24624 -3 13503 12388 12217 -3 23276 22591 12186 -3 25273 25416 25415 -3 25272 25273 25415 -3 25416 25559 25558 -3 25415 25416 25558 -3 25559 25701 25700 -3 25558 25559 25700 -3 25701 25843 25842 -3 25700 25701 25842 -3 25985 25984 25842 -3 25843 25985 25842 -3 25985 26127 26126 -3 25984 25985 26126 -3 26127 26268 26267 -3 26126 26127 26267 -3 26268 23507 25162 -3 26267 26268 25162 -3 23507 15213 13897 -3 25162 23507 13897 -3 15213 24916 25042 -3 13897 15213 25042 -3 24916 13407 23373 -3 25042 24916 23373 -3 13407 25933 2365 -3 23373 13407 2365 -3 24718 26072 2365 -3 25933 24718 2365 -3 25859 25480 26072 -3 24718 25859 26072 -3 23643 25548 25480 -3 25859 23643 25480 -3 23831 23668 25548 -3 23643 23831 25548 -3 25830 25972 23668 -3 23831 25830 23668 -3 24197 22859 25972 -3 25830 24197 25972 -3 23318 24552 22859 -3 24197 23318 22859 -3 12713 23962 24552 -3 23318 12713 24552 -3 22387 22388 23962 -3 12713 22387 23962 -3 5191 1385 2609 -3 23576 22387 23577 -3 24658 24661 25442 -3 24819 22348 14793 -3 22661 24184 24185 -3 24872 24997 25501 -3 25513 6644 23512 -3 22295 22294 23537 -3 25730 25872 25871 -3 24578 24575 23512 -3 26014 26156 26155 -3 18792 18891 1573 -3 16922 23611 22628 -3 24686 13274 24683 -3 25028 24377 24135 -3 25727 25028 24135 -3 25073 17377 30792 -3 24025 25076 24675 -3 26311 26312 23974 -3 25008 24899 12451 -3 25595 25596 25737 -3 25738 25880 25879 -3 25883 26025 26024 -3 25882 25883 26024 -3 13461 25975 25504 -3 24352 23520 25095 -3 25523 20885 25441 -3 25517 25523 25441 -3 26020 26021 26162 -3 23815 25485 25341 -3 25492 23811 13658 -3 22876 26205 22079 -3 1451 25595 25594 -3 25399 24232 22664 -3 25461 25460 24040 -3 20414 20415 20500 -3 20652 25176 24205 -3 25282 25283 25175 -3 20520 20602 20519 -3 13597 14660 14765 -3 25255 12022 21818 -3 23632 24732 24711 -3 25612 25754 25753 -3 24578 25801 25799 -3 23897 23896 23839 -3 27173 21396 30477 -3 15237 23687 23637 -3 23897 23956 23896 -3 23649 25967 25968 -3 11855 23584 23563 -3 25432 20261 16311 -3 11107 24154 22879 -3 24172 25523 25517 -3 24170 24172 25517 -3 22978 25352 23677 -3 24491 20745 25820 -3 16442 16594 16441 -3 25394 25512 24044 -3 25871 26013 26012 -3 13658 23811 25543 -3 25176 25282 25175 -3 25283 25282 25646 -3 23860 21245 25219 -3 24532 24707 24272 -3 25137 25136 11792 -3 12022 20923 21818 -3 24318 25960 23586 -3 25587 24354 24318 -3 11793 25004 25137 -3 20033 24580 13104 -3 10578 25939 24606 -3 25873 26015 26014 -3 25417 25416 25273 -3 25274 25417 25273 -3 25417 25560 25559 -3 25416 25417 25559 -3 25560 25702 25701 -3 25559 25560 25701 -3 25844 25843 25701 -3 25702 25844 25701 -3 25844 25986 25985 -3 25843 25844 25985 -3 25986 26128 26127 -3 25985 25986 26127 -3 26128 26269 26268 -3 26127 26128 26268 -3 26269 4798 23507 -3 26268 26269 23507 -3 4798 15087 15213 -3 23507 4798 15213 -3 15087 24917 24916 -3 15213 15087 24916 -3 24917 22005 13407 -3 24916 24917 13407 -3 22005 23449 25933 -3 13407 22005 25933 -3 25525 24718 25933 -3 23449 25525 25933 -3 25768 25859 24718 -3 25525 25768 24718 -3 24597 23643 25859 -3 25768 24597 25859 -3 21422 23831 23643 -3 24597 21422 23643 -3 25688 25830 23831 -3 21422 25688 23831 -3 25717 24197 25830 -3 25688 25717 25830 -3 21665 23318 24197 -3 25717 21665 24197 -3 23963 12713 23318 -3 21665 23963 23318 -3 22292 22387 12713 -3 23963 22292 12713 -3 26145 20172 23692 -3 22292 23577 22387 -3 25460 23352 25459 -3 23352 24661 24658 -3 23923 24047 23810 -3 23769 24768 23506 -3 25727 24135 23559 -3 24160 25727 23559 -3 26218 25341 22681 -3 24941 26218 22681 -3 22202 23677 25347 -3 23894 22202 25347 -3 25359 24236 25926 -3 23607 25359 25926 -3 25926 24236 24549 -3 24236 21606 24549 -3 25583 22201 23348 -3 25182 25482 25074 -3 24899 26214 12451 -3 26144 26285 26143 -3 25737 25738 25879 -3 26021 26022 26163 -3 25599 25741 25740 -3 25598 25599 25740 -3 24368 24313 22196 -3 24740 24780 24742 -3 13761 24172 24170 -3 22384 13761 24170 -3 25734 25735 25876 -3 24257 24231 24340 -3 26197 13270 26196 -3 23501 26058 12110 -3 25543 20033 13104 -3 12717 24521 24370 -3 12603 12693 25353 -3 25473 25474 23920 -3 30983 30982 30924 -3 23976 26237 24320 -3 25903 25904 26045 -3 26067 26066 25063 -3 22877 21335 24709 -3 23530 24809 24808 -3 24576 15321 23650 -3 23841 6254 23176 -3 24288 24291 25567 -3 12191 22384 24167 -3 24487 24477 25687 -3 23523 23545 24593 -3 21632 21725 25978 -3 21725 24356 25978 -3 23841 3602 23842 -3 21396 24063 15282 -3 24063 21396 27173 -3 23920 23530 24808 -3 29081 23956 28946 -3 2450 2449 2315 -3 25377 24627 24192 -3 34694 34693 34565 -3 23653 23874 24969 -3 24473 25636 24641 -3 35339 35338 35209 -3 24727 24804 24039 -3 20923 25925 25639 -3 24893 22368 24312 -3 24323 25957 24859 -3 26200 21358 25772 -3 22744 24427 17819 -3 23928 24469 24427 -3 25515 25517 23492 -3 25630 25679 23753 -3 22106 22464 22367 -3 2816 25495 25351 -3 25312 23667 25226 -3 25910 24619 24512 -3 25960 23587 23586 -3 21179 21265 25587 -3 23826 23585 25793 -3 26351 30874 30873 -3 25275 25274 25136 -3 25137 25275 25136 -3 25418 25417 25274 -3 25275 25418 25274 -3 25418 25561 25560 -3 25417 25418 25560 -3 25703 25702 25560 -3 25561 25703 25560 -3 25845 25844 25702 -3 25703 25845 25702 -3 25845 25987 25986 -3 25844 25845 25986 -3 25987 26129 26128 -3 25986 25987 26128 -3 26129 26270 26269 -3 26128 26129 26269 -3 26270 20231 4798 -3 26269 26270 4798 -3 20231 13312 15087 -3 4798 20231 15087 -3 13312 24918 24917 -3 15087 13312 24917 -3 24918 21446 22005 -3 24917 24918 22005 -3 21446 23450 23449 -3 22005 21446 23449 -3 24951 25525 23449 -3 23450 24951 23449 -3 24208 25768 25525 -3 24951 24208 25525 -3 24596 24597 25768 -3 24208 24596 25768 -3 21332 21422 24597 -3 24596 21332 24597 -3 25546 25688 21422 -3 21332 25546 21422 -3 24499 25717 25688 -3 25546 24499 25688 -3 14686 21665 25717 -3 24499 14686 25717 -3 23904 23963 21665 -3 14686 23904 21665 -3 22197 22292 23963 -3 23904 22197 23963 -3 26695 26082 26696 -3 22197 23778 22292 -3 34692 34691 34563 -3 25460 25459 24038 -3 24768 12623 23506 -3 24649 26080 25079 -3 25341 24160 23559 -3 22681 25341 23559 -3 12445 23607 12106 -3 23719 25110 24920 -3 32019 32020 32119 -3 24142 22100 25093 -3 27135 23623 26244 -3 20746 26252 23832 -3 24220 25437 24464 -3 20905 20987 24225 -3 24054 25461 24040 -3 20825 20904 23725 -3 24746 23725 24018 -3 24280 24964 23948 -3 26164 26305 26304 -3 26163 26164 26304 -3 25686 24315 26067 -3 25584 24095 25462 -3 24442 25962 24689 -3 25788 24970 25931 -3 23550 21720 22004 -3 24973 24975 26086 -3 25881 26023 26022 -3 26021 26163 26162 -3 24624 25864 25854 -3 25376 24238 22102 -3 24100 24099 25591 -3 6254 23841 23898 -3 23866 25026 23657 -3 24403 25952 6902 -3 25679 24679 23753 -3 16291 16290 16147 -3 15187 15186 25954 -3 24448 21158 23460 -3 26047 26046 25904 -3 23322 2545 26506 -3 24416 30632 24444 -3 274 6402 7004 -3 25626 7930 24591 -3 25899 26041 26040 -3 25898 25899 26040 -3 23762 25954 9281 -3 25608 25609 25750 -3 23996 23995 274 -3 24391 25672 24462 -3 26221 23810 22762 -3 12027 21725 21632 -3 24615 24735 12916 -3 23786 20319 20945 -3 26079 12027 21632 -3 11122 17304 21511 -3 25066 12597 11858 -3 34559 34558 34421 -3 35201 35202 35330 -3 21818 25639 25193 -3 23678 23935 24191 -3 25224 24856 24070 -3 24069 25224 24070 -3 21966 25025 24395 -3 24892 21966 24395 -3 21966 21451 25025 -3 21451 21821 25025 -3 25879 26021 26020 -3 26308 26309 24733 -3 13082 22247 29687 -3 25430 24922 24921 -3 25487 25631 21537 -3 23727 24747 24894 -3 25720 25728 26113 -3 21006 24355 23594 -3 20018 29962 25425 -3 24501 24726 24201 -3 24677 24678 25869 -3 25541 25540 26079 -3 25921 24732 11568 -3 21265 24354 25587 -3 25138 25137 25004 -3 24016 24695 24817 -3 25276 25275 25137 -3 25138 25276 25137 -3 25419 25418 25275 -3 25276 25419 25275 -3 25562 25561 25418 -3 25419 25562 25418 -3 25704 25703 25561 -3 25562 25704 25561 -3 25846 25845 25703 -3 25704 25846 25703 -3 25846 25988 25987 -3 25845 25846 25987 -3 25988 26130 26129 -3 25987 25988 26129 -3 26130 26271 26270 -3 26129 26130 26270 -3 26271 12425 20231 -3 26270 26271 20231 -3 12425 1854 13312 -3 20231 12425 13312 -3 1854 24794 24918 -3 13312 1854 24918 -3 24794 14268 21446 -3 24918 24794 21446 -3 23693 23450 21446 -3 14268 23693 21446 -3 23693 24952 24951 -3 23450 23693 24951 -3 23624 24208 24951 -3 24952 23624 24951 -3 25809 24596 24208 -3 23624 25809 24208 -3 21698 21332 24596 -3 25809 21698 24596 -3 20972 25546 21332 -3 21698 20972 21332 -3 23525 24499 25546 -3 20972 23525 25546 -3 20862 14686 24499 -3 23525 20862 24499 -3 23789 23904 14686 -3 20862 23789 14686 -3 22484 22197 23904 -3 23789 22484 23904 -3 35873 35443 35405 -3 22484 24744 22197 -3 24377 24378 24136 -3 24790 15591 24982 -3 5469 25708 4243 -3 25872 26014 26013 -3 23677 26218 24941 -3 25347 23677 24941 -3 24866 24618 25769 -3 31368 31435 31367 -3 23656 25080 25231 -3 24152 24149 26002 -3 25675 30845 30844 -3 25223 25158 26095 -3 13366 15603 9085 -3 22268 24380 24329 -3 24030 24091 24090 -3 31918 31919 32019 -3 24780 12450 24829 -3 12270 25307 25319 -3 26305 24045 25188 -3 24817 25299 25297 -3 25720 26113 25863 -3 21722 25569 25570 -3 24039 23979 20884 -3 25030 21357 24238 -3 25224 13110 22447 -3 13434 13435 13531 -3 25490 25302 23890 -3 24733 24963 24440 -3 24671 25580 24672 -3 8346 3735 35623 -3 21982 22978 22202 -3 25580 7759 24672 -3 2487 2486 6021 -3 24856 22447 23557 -3 25008 12451 24183 -3 24355 24706 23625 -3 25973 26115 11838 -3 23634 21006 23594 -3 24260 24621 25255 -3 24193 22680 22268 -3 15673 24174 25189 -3 21668 23871 23991 -3 12920 25166 30760 -3 23594 24355 23625 -3 15673 24196 24174 -3 24615 12916 24614 -3 25491 23703 1998 -3 9278 4523 10244 -3 22662 23993 22760 -3 274 23938 23996 -3 23411 23702 21691 -3 25682 24581 12027 -3 24196 23743 23739 -3 24174 24196 23739 -3 23834 24815 23835 -3 23894 25347 25326 -3 23594 23625 26102 -3 30490 25438 23633 -3 14473 14472 17170 -3 12217 12388 14819 -3 23787 23843 23842 -3 23786 23787 23842 -3 19132 23900 23901 -3 23843 23900 23842 -3 23965 3450 24200 -3 24627 25200 24192 -3 24069 24070 21821 -3 21451 24069 21821 -3 21151 20982 23845 -3 22762 26065 26066 -3 25513 23512 23505 -3 24315 22762 26066 -3 24963 14850 24440 -3 25831 23732 23889 -3 23803 24328 24577 -3 25206 26219 25653 -3 25540 25682 12027 -3 27434 20866 21462 -3 23743 24972 24953 -3 23739 23743 24953 -3 24972 26076 26055 -3 25672 24463 24462 -3 25218 23867 24493 -3 25380 23633 25438 -3 24621 12022 25255 -3 25093 11859 22103 -3 11668 21265 21179 -3 20945 1680 23787 -3 15444 25669 24871 -3 25277 25276 25138 -3 25139 25277 25138 -3 25420 25419 25276 -3 25277 25420 25276 -3 25563 25562 25419 -3 25420 25563 25419 -3 25705 25704 25562 -3 25563 25705 25562 -3 25705 25847 25846 -3 25704 25705 25846 -3 25847 25989 25988 -3 25846 25847 25988 -3 25989 26131 26130 -3 25988 25989 26130 -3 26131 26272 26271 -3 26130 26131 26271 -3 26272 23763 12425 -3 26271 26272 12425 -3 23763 22565 1854 -3 12425 23763 1854 -3 22565 24795 24794 -3 1854 22565 24794 -3 24795 25071 14268 -3 24794 24795 14268 -3 25071 23793 23693 -3 14268 25071 23693 -3 23793 9799 24952 -3 23693 23793 24952 -3 26071 23624 24952 -3 9799 26071 24952 -3 25810 25809 23624 -3 26071 25810 23624 -3 21981 21698 25809 -3 25810 21981 25809 -3 22252 20972 21698 -3 21981 22252 21698 -3 24784 23525 20972 -3 22252 24784 20972 -3 20216 20862 23525 -3 24784 20216 23525 -3 23944 23789 20862 -3 20216 23944 20862 -3 25656 22484 23789 -3 23944 25656 23789 -3 28751 23779 24745 -3 35189 35188 35059 -3 24515 24244 24243 -3 24762 25399 22664 -3 25871 25872 26013 -3 26013 26014 26155 -3 21606 22202 23894 -3 24549 21606 23894 -3 11701 6008 14074 -3 29119 26495 26059 -3 24962 25455 24944 -3 25076 24797 24675 -3 21157 21244 12024 -3 25293 22061 12024 -3 13116 25403 24488 -3 12186 25293 12024 -3 24316 24369 25387 -3 24369 24316 25528 -3 23983 25956 26098 -3 23988 23983 26098 -3 25349 24817 25297 -3 21244 12186 12024 -3 25291 28239 12692 -3 15536 15671 15535 -3 26201 24357 24160 -3 25606 25607 25748 -3 4780 24363 25861 -3 24610 26115 25973 -3 24071 24070 23557 -3 20904 23491 20905 -3 16920 22645 13274 -3 32510 32509 32404 -3 26148 4013 733 -3 215 23675 24261 -3 20815 11750 11749 -3 13792 26251 3993 -3 24953 24972 26055 -3 26076 12190 17577 -3 26055 26076 17577 -3 24975 26091 26086 -3 12190 25440 25439 -3 24400 25950 14141 -3 26049 26191 26048 -3 25808 25789 22585 -3 22781 25426 23780 -3 35911 35793 35756 -3 25756 25757 25898 -3 23156 24611 24382 -3 24199 21246 12251 -3 28069 27952 21336 -3 24076 23669 24025 -3 23669 24560 24025 -3 25322 24647 28377 -3 24284 24468 24345 -3 5593 9759 1993 -3 25600 25742 25741 -3 12647 14794 20907 -3 4662 12647 20907 -3 17577 12190 25439 -3 24716 24539 25439 -3 23583 23742 21335 -3 23704 25255 21723 -3 9012 24869 14090 -3 25357 25501 26085 -3 9389 2776 2912 -3 5351 4013 4552 -3 23788 23844 23843 -3 23787 23788 23843 -3 23844 30556 23901 -3 23844 23901 23843 -3 26004 23885 25860 -3 16147 16148 16291 -3 23605 24076 25446 -3 24239 23605 25446 -3 25967 26109 23428 -3 23953 18454 11711 -3 24540 24815 23834 -3 23833 24540 23834 -3 24231 21660 24340 -3 22882 23722 23935 -3 24045 4382 24833 -3 20141 21957 24820 -3 25518 24709 24051 -3 24373 24340 24424 -3 25440 24716 25439 -3 16761 25726 24539 -3 26285 5352 26286 -3 24564 23156 24382 -3 29699 20987 12540 -3 21453 15405 7930 -3 26047 26048 26189 -3 24556 16930 25714 -3 11750 11668 21179 -3 14758 11668 11750 -3 22645 13808 13274 -3 25740 25741 25882 -3 24009 29947 21408 -3 1 25564 14375 -3 20438 23812 20439 -3 440 20973 23896 -3 25564 25563 25420 -3 25748 25890 25889 -3 25564 25706 25705 -3 25563 25564 25705 -3 25706 25848 25847 -3 25705 25706 25847 -3 25848 25990 25989 -3 25847 25848 25989 -3 25990 26132 26131 -3 25989 25990 26131 -3 26132 26273 26272 -3 26131 26132 26272 -3 26273 25107 23763 -3 26272 26273 23763 -3 25107 25000 22565 -3 23763 25107 22565 -3 25000 24796 24795 -3 22565 25000 24795 -3 24796 22006 25071 -3 24795 24796 25071 -3 22006 25146 23793 -3 25071 22006 23793 -3 24911 9799 23793 -3 25146 24911 23793 -3 24545 26071 9799 -3 24911 24545 9799 -3 23694 25810 26071 -3 24545 23694 26071 -3 21791 21981 25810 -3 23694 21791 25810 -3 25362 22252 21981 -3 21791 25362 21981 -3 23560 24784 22252 -3 25362 23560 22252 -3 26104 20216 24784 -3 23560 26104 24784 -3 23797 23944 20216 -3 26104 23797 20216 -3 23681 25656 23944 -3 23797 23681 23944 -3 21145 18518 21967 -3 24745 25392 21514 -3 33587 6283 34342 -3 23559 24135 23630 -3 26156 26297 26296 -3 26155 26156 26296 -3 21888 25359 23607 -3 23235 21888 23607 -3 26596 24098 23639 -3 24464 25437 24088 -3 24752 23502 23728 -3 24404 11855 23593 -3 13116 24488 22061 -3 25293 13116 22061 -3 13237 25003 25002 -3 20094 23726 24767 -3 22202 22978 23677 -3 24746 20825 23725 -3 21699 23895 23907 -3 25535 25927 21333 -3 20669 24592 20752 -3 25752 25753 25894 -3 25139 17170 15419 -3 26319 26320 23771 -3 12202 13025 13664 -3 27989 24510 30618 -3 26313 23605 24239 -3 26312 26313 24239 -3 25182 25147 24927 -3 12008 24362 23568 -3 25053 25482 25182 -3 25054 25053 25182 -3 23336 16920 24686 -3 26048 26190 26189 -3 12250 12335 12249 -3 26204 24268 23550 -3 24716 16761 24539 -3 22051 20654 25726 -3 12107 25783 16150 -3 25481 23860 24891 -3 25639 25925 25632 -3 24906 20358 20442 -3 26005 13529 24897 -3 16000 15860 15861 -3 20015 22463 27723 -3 480 7771 594 -3 25917 25918 24459 -3 24572 24575 25796 -3 24695 23921 25299 -3 25970 25918 25917 -3 10204 13998 10323 -3 24606 10758 330 -3 23813 26351 30871 -3 25446 24076 24025 -3 498 1541 1775 -3 21984 24049 23336 -3 24163 23783 23774 -3 25359 24028 24236 -3 21720 22099 22004 -3 22879 22781 24460 -3 16761 22051 25726 -3 25059 25058 20654 -3 31849 31848 31748 -3 29297 13554 13458 -3 12712 25312 24688 -3 25590 3222 3221 -3 31392 31459 31458 -3 23514 20263 25663 -3 23845 23844 23788 -3 17081 25599 17246 -3 23903 23902 23845 -3 23845 23902 23844 -3 25349 25297 25298 -3 3221 3600 25590 -3 26172 26313 26312 -3 26171 26172 26312 -3 21335 23742 24779 -3 22448 22645 16920 -3 24818 23658 22348 -3 1573 18891 1690 -3 16148 16147 25762 -3 18792 1573 1458 -3 24708 24818 24819 -3 25761 25903 25902 -3 2903 13792 26249 -3 25903 26045 26044 -3 22051 25059 20654 -3 25025 24605 24396 -3 21268 20652 25058 -3 25925 26102 25632 -3 25739 25740 25881 -3 26190 26331 26330 -3 31947 31946 31848 -3 20815 14758 11750 -3 21629 21628 25400 -3 25749 25891 25890 -3 25849 25706 25708 -3 25902 25903 26044 -3 22348 23658 25823 -3 35654 35583 35530 -3 14848 27258 24067 -3 12823 12731 14074 -3 25909 15861 26052 -3 66 9538 35807 -3 23857 9635 25248 -3 26495 27723 22463 -3 3041 24500 22440 -3 25849 25991 25990 -3 25848 25849 25990 -3 25991 26133 26132 -3 25990 25991 26132 -3 26133 26274 26273 -3 26132 26133 26273 -3 26274 13271 25107 -3 26273 26274 25107 -3 13271 3725 25000 -3 25107 13271 25000 -3 3725 22153 24796 -3 25000 3725 24796 -3 22153 24974 22006 -3 24796 22153 22006 -3 24974 23761 25146 -3 22006 24974 25146 -3 2889 24911 25146 -3 23761 2889 25146 -3 26199 24545 24911 -3 2889 26199 24911 -3 23573 23694 24545 -3 26199 23573 24545 -3 22783 21791 23694 -3 23573 22783 23694 -3 25625 25362 21791 -3 22783 25625 21791 -3 20579 23560 25362 -3 25625 20579 25362 -3 20203 26104 23560 -3 20579 20203 23560 -3 23852 23797 26104 -3 20203 23852 26104 -3 24447 23681 23797 -3 23852 24447 23797 -3 25392 24745 23681 -3 24447 25392 23681 -3 24311 24956 24243 -3 35062 35061 34932 -3 26297 24526 24533 -3 26296 26297 24533 -3 13658 25543 24692 -3 12751 13658 24692 -3 6631 6632 9547 -3 35406 35904 35814 -3 25968 25967 24409 -3 25542 215 23579 -3 25403 25528 24488 -3 25403 24369 25528 -3 25468 25611 25610 -3 29490 22098 22097 -3 26796 26471 25340 -3 15443 25669 15444 -3 25567 22298 22394 -3 23783 24163 15402 -3 25821 25854 20659 -3 20749 23592 26233 -3 20902 21425 26074 -3 25854 21073 20659 -3 22296 24675 23850 -3 25748 25749 25890 -3 25887 25888 26029 -3 26030 26172 26171 -3 26258 26118 24027 -3 24709 24373 24051 -3 9404 9772 8867 -3 24488 25368 23892 -3 26045 26187 26186 -3 26044 26045 26186 -3 26328 26327 26186 -3 26187 26328 26186 -3 25059 21268 25058 -3 24839 12354 23976 -3 25044 25176 20652 -3 2609 4518 3041 -3 13808 25481 24891 -3 5404 5539 5538 -3 35638 35751 35859 -3 27035 27153 27152 -3 27037 27035 20345 -3 6882 34463 34326 -3 12686 26064 12774 -3 16915 16914 25604 -3 1525 24869 13792 -3 23638 24887 24886 -3 24659 23863 26327 -3 28215 28098 21182 -3 34676 34804 34675 -3 24560 25076 24025 -3 24363 24610 25861 -3 26118 25220 24027 -3 24722 23555 21889 -3 25233 21982 21606 -3 23177 25254 24448 -3 26328 24659 26327 -3 24659 24944 25048 -3 21268 25044 20652 -3 25143 25144 28230 -3 25216 21356 20739 -3 21356 23917 26097 -3 24877 24872 25357 -3 24185 25225 24230 -3 24630 14758 20815 -3 25400 24544 23675 -3 21884 16046 21696 -3 5469 2263 25708 -3 17321 25096 21376 -3 21065 23847 27637 -3 26036 26037 26178 -3 25891 26033 26032 -3 25745 25746 25887 -3 25888 26030 26029 -3 26097 24079 15405 -3 24982 15591 12272 -3 21234 23764 23958 -3 23851 22011 24656 -3 23863 24659 25048 -3 24944 25072 24083 -3 25048 24944 24083 -3 25072 25022 25296 -3 24083 25072 25296 -3 25044 25143 25176 -3 25010 25011 30535 -3 26152 26153 26293 -3 25046 25045 25999 -3 25501 25374 26085 -3 25531 25388 24014 -3 24544 24630 23675 -3 20861 26103 21629 -3 34411 34548 34410 -3 24128 24069 21451 -3 25022 13460 13364 -3 23621 23800 24287 -3 25370 23505 24834 -3 925 33672 927 -3 20842 25510 25532 -3 24696 20152 21983 -3 16593 16440 16441 -3 29570 29702 13748 -3 25708 25850 25849 -3 24500 3041 13890 -3 25850 25992 25991 -3 25849 25850 25991 -3 25992 26134 26133 -3 25991 25992 26133 -3 26134 26275 26274 -3 26133 26134 26274 -3 26275 13175 13271 -3 26274 26275 13271 -3 13175 5328 3725 -3 13271 13175 3725 -3 5328 21666 22153 -3 3725 5328 22153 -3 21666 24720 24974 -3 22153 21666 24974 -3 24720 26232 23761 -3 24974 24720 23761 -3 25668 2889 23761 -3 26232 25668 23761 -3 25039 26199 2889 -3 25668 25039 2889 -3 23888 23573 26199 -3 25039 23888 26199 -3 22782 22783 23573 -3 23888 22782 23573 -3 25247 25625 22783 -3 22782 25247 22783 -3 25237 20579 25625 -3 25247 25237 25625 -3 26246 20203 20579 -3 25237 26246 20579 -3 25384 23852 20203 -3 26246 25384 20203 -3 25354 24447 23852 -3 25384 25354 23852 -3 21754 25392 24447 -3 25354 21754 24447 -3 21607 30156 21424 -3 21754 21424 25392 -3 24526 12751 15739 -3 23718 23619 23830 -3 24504 13658 12751 -3 24526 24504 12751 -3 23726 20906 24746 -3 24594 25231 25938 -3 23433 13804 24939 -3 24342 24960 24939 -3 24369 23988 25387 -3 25387 23988 26098 -3 27035 27037 27153 -3 22493 25363 25253 -3 9882 10574 12221 -3 24392 24391 23893 -3 16003 25907 16004 -3 25604 25746 25745 -3 20823 21335 22877 -3 32836 32837 32944 -3 23698 22837 23174 -3 7003 25633 10978 -3 24393 24394 22837 -3 12107 25379 25783 -3 26029 26030 26171 -3 23611 24564 24381 -3 3036 14793 25681 -3 25466 25467 25609 -3 24513 24919 25046 -3 26289 26290 21234 -3 25296 25022 13364 -3 13460 24008 24003 -3 13364 13460 24003 -3 24008 23697 23696 -3 12421 23656 24594 -3 23744 21915 24748 -3 24003 24008 23696 -3 26008 26150 26149 -3 24269 17086 24589 -3 34463 6882 6881 -3 13505 13596 13506 -3 5351 4552 4553 -3 26053 26052 15861 -3 23697 23822 23767 -3 21055 22287 25628 -3 13115 12058 12139 -3 16068 15927 18717 -3 15860 16000 15999 -3 24052 23967 24887 -3 23638 24052 24887 -3 24704 24825 24887 -3 23967 24704 24887 -3 24878 24874 25451 -3 26818 24637 24530 -3 21795 24722 21889 -3 24560 24279 23177 -3 21888 20658 25359 -3 21720 24483 22099 -3 23703 25932 3624 -3 17162 2920 16997 -3 20158 26579 24957 -3 6534 25372 6654 -3 25789 22584 22585 -3 22584 22487 22106 -3 22562 22661 24185 -3 16108 16107 23938 -3 24029 23992 25530 -3 24588 24484 24813 -3 25602 25744 25743 -3 23675 24630 20815 -3 23240 21318 21408 -3 15237 15111 23687 -3 23548 23663 23662 -3 24196 15673 15672 -3 25790 22682 25791 -3 25062 25063 24513 -3 25603 25604 25745 -3 25746 25888 25887 -3 25467 25610 25609 -3 25610 25752 25751 -3 25943 23504 22780 -3 25334 25333 22780 -3 23696 23697 23767 -3 23822 23139 25181 -3 23767 23822 25181 -3 23139 25305 24247 -3 24151 24150 24091 -3 11856 12023 23982 -3 24170 25517 25515 -3 22367 24215 20599 -3 26090 26089 14331 -3 24872 24877 25388 -3 12358 25570 25571 -3 21628 24544 25400 -3 23992 24029 20861 -3 14989 14870 23796 -3 3041 4518 2902 -3 23658 25383 25823 -3 23800 24288 24287 -3 24572 25796 25795 -3 20560 20561 20559 -3 24571 24572 25795 -3 25796 25971 23826 -3 24046 12443 25205 -3 21536 25542 25684 -3 26292 26293 12355 -3 15445 24871 19984 -3 25851 25993 25992 -3 25850 25851 25992 -3 25993 26135 26134 -3 25992 25993 26134 -3 26135 26276 26275 -3 26134 26135 26275 -3 26276 22488 13175 -3 26275 26276 13175 -3 22488 14964 5328 -3 13175 22488 5328 -3 14964 20220 21666 -3 5328 14964 21666 -3 20220 24846 24720 -3 21666 20220 24720 -3 23862 26232 24720 -3 24846 23862 24720 -3 13565 25668 26232 -3 23862 13565 26232 -3 12986 25039 25668 -3 13565 12986 25668 -3 23695 23888 25039 -3 12986 23695 25039 -3 22880 22782 23888 -3 23695 22880 23888 -3 25007 25247 22782 -3 22880 25007 22782 -3 15869 25237 25247 -3 25007 15869 25247 -3 24551 26246 25237 -3 15869 24551 25237 -3 23972 25384 26246 -3 24551 23972 26246 -3 25421 25354 25384 -3 23972 25421 25384 -3 26242 21754 25354 -3 25421 26242 25354 -3 24520 29358 21719 -3 27982 24520 21719 -3 24533 24526 15739 -3 12751 24692 24691 -3 26298 24504 24526 -3 26297 26298 24526 -3 13296 24594 25938 -3 25231 23823 24776 -3 24457 22664 23433 -3 13804 24938 24939 -3 25956 24644 26098 -3 24414 25315 23510 -3 24532 21373 24300 -3 26165 26306 26305 -3 20827 25108 24260 -3 24919 24920 25141 -3 13663 22560 23076 -3 24105 25474 25473 -3 25894 26036 26035 -3 25893 25894 26035 -3 26319 23771 23561 -3 26036 26178 26177 -3 23771 25448 24436 -3 26318 26319 23561 -3 23679 12008 24570 -3 23561 23771 24436 -3 24673 25482 25053 -3 25052 24673 25053 -3 25780 25781 25943 -3 23504 25969 22780 -3 25181 23139 24247 -3 23930 24209 24247 -3 25305 23930 24247 -3 20599 20515 24209 -3 24167 24170 25515 -3 22384 24170 24167 -3 28225 24429 29676 -3 29570 13748 13650 -3 25763 25905 25762 -3 10465 11671 21091 -3 24588 24813 24812 -3 25814 24269 23916 -3 26329 26328 26187 -3 23930 20599 24209 -3 24813 24759 24812 -3 20436 23931 23601 -3 13721 13622 13623 -3 33739 33738 33611 -3 23601 23968 23967 -3 24052 23601 23967 -3 24703 24704 23967 -3 23968 24703 23967 -3 24530 24637 24704 -3 24703 24530 24704 -3 25076 24560 23177 -3 25936 26816 24530 -3 13174 24434 22099 -3 24279 14839 25254 -3 17162 16997 16998 -3 24105 24100 25652 -3 24157 24158 23254 -3 24913 24157 23254 -3 27179 11834 27297 -3 24528 24243 24171 -3 24413 25012 11770 -3 20599 24215 24811 -3 24005 13196 16463 -3 23620 25531 24014 -3 24384 24385 25654 -3 24015 25529 25530 -3 15320 15448 15447 -3 21329 21417 21419 -3 25458 22011 25457 -3 20435 23931 20436 -3 23979 20221 20884 -3 25601 25602 25743 -3 26315 26316 25289 -3 24157 31752 24158 -3 31046 31108 31107 -3 34600 19432 34219 -3 25609 25610 25751 -3 25752 25894 25893 -3 22201 26239 25780 -3 25781 23504 25943 -3 20515 20599 24811 -3 24215 12995 24125 -3 24811 24215 24125 -3 19677 25514 24855 -3 8680 9278 11671 -3 25068 25769 11770 -3 25020 25016 12712 -3 24698 25911 25910 -3 25012 23551 11770 -3 25978 24356 25106 -3 24484 21815 24813 -3 26103 21628 21629 -3 25529 24029 25530 -3 26062 24122 25635 -3 24779 23756 24374 -3 21822 21450 23673 -3 24291 25581 25567 -3 24892 24395 11838 -3 26012 26153 1678 -3 25971 16236 25454 -3 25795 25796 23826 -3 25968 24409 23556 -3 25063 23719 24513 -3 25100 25431 23801 -3 21246 24943 12251 -3 12456 23632 3322 -3 15401 15272 15273 -3 25994 26136 26135 -3 25993 25994 26135 -3 26136 26277 26276 -3 26135 26136 26276 -3 26277 20492 22488 -3 26276 26277 22488 -3 20492 14965 14964 -3 22488 20492 14964 -3 14965 23253 20220 -3 14964 14965 20220 -3 23253 24845 24846 -3 20220 23253 24846 -3 24965 23862 24846 -3 24845 24965 24846 -3 25159 13565 23862 -3 24965 25159 23862 -3 23077 12986 13565 -3 25159 23077 13565 -3 23077 23883 23695 -3 12986 23077 23695 -3 23883 23567 22880 -3 23695 23883 22880 -3 25086 25007 22880 -3 23567 25086 22880 -3 24383 15869 25007 -3 25086 24383 25007 -3 24665 24551 15869 -3 24383 24665 15869 -3 24050 23972 24551 -3 24665 24050 24551 -3 23945 25421 23972 -3 24050 23945 23972 -3 33789 34338 17815 -3 17815 34338 11442 -3 24077 24323 24956 -3 24244 24311 24243 -3 15739 12751 24691 -3 24692 12535 14273 -3 26157 26298 26297 -3 26156 26157 26297 -3 25938 25231 24776 -3 33052 33157 33156 -3 11690 24762 24457 -3 22664 13804 23433 -3 26121 26261 24966 -3 26001 25931 24046 -3 25805 21917 12624 -3 22296 25446 24675 -3 25302 24743 24981 -3 21335 24779 24709 -3 24565 21374 17264 -3 20158 20244 26579 -3 26035 26036 26177 -3 26178 26319 26318 -3 25583 25588 22201 -3 26239 25781 25780 -3 24319 25588 25583 -3 24299 24319 25583 -3 25448 25100 25238 -3 25588 26239 22201 -3 25329 21634 25328 -3 25052 25053 11944 -3 26089 14341 14331 -3 24726 24501 23647 -3 24125 12995 24761 -3 25713 24556 25714 -3 25979 21334 20745 -3 23142 24007 23044 -3 23951 20061 16464 -3 26051 26050 25908 -3 26193 26192 26050 -3 25167 25035 24854 -3 25012 26204 24754 -3 24351 25116 24710 -3 25909 26051 25908 -3 24468 26288 23706 -3 26113 24591 24370 -3 24428 24345 23706 -3 15582 15581 15451 -3 23931 24888 23968 -3 23601 23931 23968 -3 24587 24703 23968 -3 24888 24587 23968 -3 35692 35849 35756 -3 24587 25936 24703 -3 26211 25061 12801 -3 25379 20902 25783 -3 23177 24279 25254 -3 16166 23174 25712 -3 14839 24363 4780 -3 25254 14839 4780 -3 24485 24157 24913 -3 24162 24913 23254 -3 15631 15767 15766 -3 24287 24288 25566 -3 21910 24351 24434 -3 25654 25530 12623 -3 6658 28366 26522 -3 24547 23918 20827 -3 25654 24015 25530 -3 22881 23678 21792 -3 23591 24645 24638 -3 25193 25639 24522 -3 26311 23974 12996 -3 12189 24959 25824 -3 25744 25886 25885 -3 25510 25663 11752 -3 23686 23740 22955 -3 16145 16004 25763 -3 24875 20514 25858 -3 25678 24875 25858 -3 25751 25752 25893 -3 24436 25448 25238 -3 21631 24319 24299 -3 26248 21631 24299 -3 22979 22881 21792 -3 20429 23973 23619 -3 24018 23749 23969 -3 32611 32725 32610 -3 23625 24706 23616 -3 24706 23627 23616 -3 25713 25714 23690 -3 34410 34547 34409 -3 13174 21910 24434 -3 12022 12103 20923 -3 23634 23594 25925 -3 24029 26103 20861 -3 24385 24015 25654 -3 25489 25340 24907 -3 25253 25252 24625 -3 24601 25805 25804 -3 23545 24598 24593 -3 24487 25687 23600 -3 24815 24487 23600 -3 16236 22975 25149 -3 23826 25971 25454 -3 9634 4545 24026 -3 13013 11963 10233 -3 24774 20014 15536 -3 22199 24878 24875 -3 35898 35735 35743 -3 35594 35378 35881 -3 25995 26137 26136 -3 25994 25995 26136 -3 26137 26278 26277 -3 26136 26137 26277 -3 26278 23820 20492 -3 26277 26278 20492 -3 23820 15086 14965 -3 20492 23820 14965 -3 15086 24669 23253 -3 14965 15086 23253 -3 24669 24844 24845 -3 23253 24669 24845 -3 24844 25027 24965 -3 24845 24844 24965 -3 13393 25159 24965 -3 25027 13393 24965 -3 13393 25256 23077 -3 25159 13393 23077 -3 25257 23883 23077 -3 25256 25257 23077 -3 26075 23567 23883 -3 25257 26075 23883 -3 24753 25086 23567 -3 26075 24753 23567 -3 24386 24383 25086 -3 24753 24386 25086 -3 24664 24665 24383 -3 24386 24664 24383 -3 23905 24050 24665 -3 24664 23905 24665 -3 24021 23945 24050 -3 23905 24021 24050 -3 24227 21746 23315 -3 24021 23315 23945 -3 23895 23894 25326 -3 25347 24941 20763 -3 24691 24692 14273 -3 12535 23235 20738 -3 26015 26157 26156 -3 26014 26015 26156 -3 20984 25373 22391 -3 24920 24921 23659 -3 24946 24945 11690 -3 24762 22664 24457 -3 23935 13176 24414 -3 24700 24583 4248 -3 29767 21607 19794 -3 25232 25816 24896 -3 21355 21445 25194 -3 25743 25744 25885 -3 24828 22875 24958 -3 26316 22366 25289 -3 26177 26178 26318 -3 23801 24875 25678 -3 24308 25449 20429 -3 29947 452 24068 -3 25348 21813 21814 -3 32837 32836 32724 -3 23935 24414 24191 -3 25398 12007 21814 -3 21634 25052 11944 -3 25449 24767 23973 -3 23267 25160 4662 -3 24868 25019 25328 -3 12110 24343 26195 -3 21813 25398 21814 -3 24217 24191 23718 -3 31047 31048 31109 -3 20429 23619 23718 -3 25166 24512 24714 -3 11332 25106 24356 -3 20520 23990 20521 -3 20014 23757 23743 -3 24196 20014 23743 -3 23757 24973 24972 -3 23743 23757 24972 -3 24973 26086 26076 -3 25917 24459 23869 -3 24483 23714 13174 -3 21814 24569 6850 -3 35755 34247 35382 -3 23931 20435 24888 -3 24889 24903 20435 -3 24586 24587 24888 -3 24903 24586 24888 -3 21883 21980 23795 -3 21883 21790 21511 -3 13852 21508 23847 -3 23878 21244 21157 -3 25773 23875 13555 -3 24010 21872 23951 -3 35810 35494 35650 -3 14083 35685 30023 -3 25522 24485 23670 -3 22007 25522 23670 -3 24972 24973 26076 -3 26086 11856 12190 -3 25139 14473 17170 -3 13274 13808 12715 -3 24076 24074 23669 -3 23717 20429 23718 -3 16753 16752 25466 -3 15951 15812 15813 -3 23545 23547 24598 -3 22482 22385 25494 -3 22079 21333 24525 -3 10979 35561 13618 -3 23720 24465 26069 -3 12188 24501 12104 -3 11356 4523 9278 -3 25038 23494 22563 -3 25067 26234 25858 -3 3997 4800 16867 -3 25713 12639 24556 -3 24767 24018 23973 -3 26285 25670 26284 -3 23510 24308 23717 -3 24406 24401 25785 -3 25043 30099 25279 -3 24406 25660 25649 -3 24401 24406 25649 -3 26076 26086 12190 -3 23642 26220 24934 -3 11856 23982 25440 -3 25037 25169 23925 -3 25597 25598 25739 -3 24926 12188 12104 -3 26206 13015 24766 -3 12188 24385 24384 -3 24501 12188 24384 -3 23562 24222 23604 -3 20577 19332 18124 -3 23720 12357 24465 -3 25153 22011 25458 -3 22975 22386 25088 -3 25454 16236 25149 -3 25687 23750 25545 -3 25816 26056 25958 -3 24411 25678 23516 -3 25996 5208 369 -3 2530 2343 4669 -3 25660 24389 23575 -3 25996 26138 26137 -3 25995 25996 26137 -3 26138 26279 26278 -3 26137 26138 26278 -3 26279 22393 23820 -3 26278 26279 23820 -3 22393 24453 15086 -3 23820 22393 15086 -3 24670 24669 15086 -3 24453 24670 15086 -3 23752 24844 24669 -3 24670 23752 24669 -3 25006 25027 24844 -3 23752 25006 24844 -3 25006 25081 13393 -3 25027 25006 13393 -3 23879 25256 13393 -3 25081 23879 13393 -3 23884 25257 25256 -3 23879 23884 25256 -3 23940 26075 25257 -3 23884 23940 25257 -3 23940 12359 24753 -3 26075 23940 24753 -3 23511 24386 24753 -3 12359 23511 24753 -3 24783 24664 24386 -3 23511 24783 24386 -3 23906 23905 24664 -3 24783 23906 24664 -3 24020 24021 23905 -3 23906 24020 23905 -3 24226 28989 24227 -3 24020 24227 24021 -3 25326 25347 20763 -3 24941 22681 22583 -3 23978 26111 23565 -3 25869 25910 24512 -3 23548 23552 23663 -3 23552 23923 23663 -3 21967 18518 22056 -3 25923 25513 25370 -3 24808 24809 24946 -3 24945 24762 11690 -3 24843 23664 23276 -3 25653 24514 23609 -3 32093 32193 32092 -3 7082 35469 26522 -3 25886 26028 26027 -3 25885 25886 26027 -3 23903 21065 29411 -3 25947 24148 25803 -3 24129 23801 25678 -3 23887 24470 26234 -3 25670 13079 26284 -3 25807 23268 25665 -3 25649 25660 23575 -3 24389 26238 26227 -3 23575 24389 26227 -3 23766 24975 24973 -3 26238 23866 23865 -3 21634 11944 25328 -3 24164 25819 23918 -3 26227 26238 23865 -3 23866 23657 12533 -3 23865 23866 12533 -3 23990 20520 24109 -3 12190 11856 25440 -3 26166 26307 26306 -3 25386 24716 25440 -3 26208 23599 20761 -3 23714 21910 13174 -3 23657 25484 25483 -3 22563 23494 22662 -3 12533 23657 25483 -3 20435 24903 24888 -3 24585 24586 24903 -3 24889 24585 24903 -3 33999 33998 33863 -3 24585 24636 24586 -3 25718 23878 21157 -3 26312 24239 23974 -3 26091 12023 11856 -3 25297 25299 21957 -3 26814 26929 24636 -3 30490 24750 9402 -3 25806 25522 22007 -3 22777 25806 22007 -3 23982 25386 25440 -3 25526 16761 24716 -3 23589 23636 23635 -3 23635 23636 23054 -3 16292 16291 16148 -3 23054 23636 23686 -3 22099 24350 24267 -3 33056 33161 33055 -3 25949 23519 25664 -3 16867 4800 16710 -3 25825 20743 25396 -3 13246 13342 13245 -3 24926 12104 24393 -3 24701 24926 24393 -3 12715 24891 12804 -3 25685 22200 26193 -3 24199 12251 24106 -3 30629 30763 23569 -3 24309 22563 22295 -3 26138 369 26139 -3 25942 30360 30226 -3 25484 15317 25483 -3 22039 15317 22136 -3 24984 23978 24415 -3 22585 20681 23930 -3 21267 12997 21448 -3 25386 25526 24716 -3 12801 22051 16761 -3 25526 12801 16761 -3 24393 12104 24394 -3 25665 24399 25288 -3 24375 25827 24257 -3 21242 23910 23970 -3 1024 23868 3474 -3 24701 24393 23698 -3 22680 24193 23498 -3 26078 25997 24399 -3 25593 25594 25735 -3 25877 25878 26019 -3 22386 26207 26206 -3 25149 22975 25088 -3 24122 24766 25576 -3 24729 25248 24476 -3 26024 26166 26165 -3 26023 26024 26165 -3 25217 24997 25531 -3 35627 24860 1529 -3 13077 25650 26096 -3 25333 25332 24788 -3 26139 26280 26279 -3 26138 26139 26279 -3 26280 23960 22393 -3 26279 26280 22393 -3 23960 20600 24453 -3 22393 23960 24453 -3 15882 24670 24453 -3 20600 15882 24453 -3 23751 23752 24670 -3 15882 23751 24670 -3 23735 25006 23752 -3 23751 23735 23752 -3 23735 25082 25081 -3 25006 23735 25081 -3 25082 25207 23879 -3 25081 25082 23879 -3 25207 25648 23884 -3 23879 25207 23884 -3 25648 23939 23940 -3 23884 25648 23940 -3 23939 23640 12359 -3 23940 23939 12359 -3 23666 23511 12359 -3 23640 23666 12359 -3 23540 24783 23511 -3 23666 23540 23511 -3 24306 23906 24783 -3 23540 24306 24783 -3 24883 24020 23906 -3 24306 24883 23906 -3 25144 25143 25044 -3 24883 24226 24020 -3 20763 24941 22583 -3 23559 23630 22583 -3 25728 25720 24450 -3 23742 23756 24779 -3 26018 26160 26159 -3 26017 26018 26159 -3 21815 24782 24813 -3 25876 26018 26017 -3 15603 12006 23837 -3 8483 7547 12141 -3 22744 21376 23609 -3 25674 11942 24531 -3 11942 24848 23655 -3 26219 23928 24514 -3 26028 26170 26169 -3 25145 25011 25829 -3 22532 25344 25345 -3 26027 26028 26169 -3 25067 23887 26234 -3 390 504 733 -3 22881 22882 23678 -3 23887 23720 11941 -3 24849 25999 25060 -3 22563 22662 22295 -3 27836 27837 21247 -3 24976 26092 26091 -3 12275 24309 25959 -3 24975 24976 26091 -3 22879 24154 22781 -3 23987 25816 25232 -3 24242 26573 20494 -3 20519 24109 20520 -3 25060 25059 22051 -3 12801 25060 22051 -3 22194 12358 25018 -3 25154 13560 21246 -3 23512 24575 24572 -3 22959 25088 26063 -3 24644 23689 24134 -3 26702 22777 26703 -3 24765 24889 23990 -3 27397 20519 20601 -3 24481 24585 24889 -3 27280 24765 24109 -3 11728 7527 32914 -3 24765 24481 24889 -3 66 35807 35576 -3 23757 23766 24973 -3 22755 23878 25718 -3 20679 23882 24780 -3 25299 22755 21957 -3 21957 22755 25718 -3 23639 25806 22777 -3 30880 30934 30879 -3 23639 26240 25806 -3 2267 14521 24417 -3 23958 23964 12269 -3 23589 23590 23636 -3 23796 21790 23795 -3 23636 23637 23686 -3 23687 23741 23740 -3 23686 23687 23740 -3 23741 23796 23795 -3 23740 23741 23795 -3 15631 15766 23635 -3 23853 23910 21790 -3 23868 24701 23698 -3 6385 336 23871 -3 24425 24868 25327 -3 23771 24628 25448 -3 24955 23652 23700 -3 12271 12270 25319 -3 4381 24656 1519 -3 25999 21268 25059 -3 15446 15576 15445 -3 26280 26139 3880 -3 26329 26330 24962 -3 25060 25999 25059 -3 25045 25044 21268 -3 24265 24264 24983 -3 22581 22582 20017 -3 34006 34005 33870 -3 23702 22487 25789 -3 13859 1024 15201 -3 23868 23698 3474 -3 26160 26161 26301 -3 24712 24837 24806 -3 24807 24173 25290 -3 24806 24807 25290 -3 26207 20761 13015 -3 25088 22386 26206 -3 26062 26063 24122 -3 25433 30503 30504 -3 25776 24961 24154 -3 22683 11107 22879 -3 24054 24040 25133 -3 33483 33484 33602 -3 14153 23514 25510 -3 26281 3880 26282 -3 13059 13753 25184 -3 24301 27499 20757 -3 13081 23960 26280 -3 26281 13081 26280 -3 24827 20600 23960 -3 13081 24827 23960 -3 24827 20867 15882 -3 20600 24827 15882 -3 13653 23751 15882 -3 20867 13653 15882 -3 25782 23735 23751 -3 13653 25782 23751 -3 24835 25082 23735 -3 25782 24835 23735 -3 24835 25151 25207 -3 25082 24835 25207 -3 24165 25648 25207 -3 25151 24165 25207 -3 24165 21886 23939 -3 25648 24165 23939 -3 21886 25395 23640 -3 23939 21886 23640 -3 25395 23886 23666 -3 23640 25395 23666 -3 23777 23540 23666 -3 23886 23777 23666 -3 23952 24306 23540 -3 23777 23952 23540 -3 23804 24883 24306 -3 23952 23804 24306 -3 25673 24226 24883 -3 23804 25673 24883 -3 22681 23559 22583 -3 21072 20987 29699 -3 24568 23981 21543 -3 23486 24568 21543 -3 26160 26301 26300 -3 26159 26160 26300 -3 25212 24802 25478 -3 25857 25212 25478 -3 25212 24626 24802 -3 24626 23671 24802 -3 24954 24955 23700 -3 23652 11547 23610 -3 25653 26219 24514 -3 25947 25803 23928 -3 25497 2542 24277 -3 20822 24442 24689 -3 26170 26311 26310 -3 23974 22296 24441 -3 25510 23514 25663 -3 19902 24128 29833 -3 24470 23887 11941 -3 24465 23537 24582 -3 12444 24771 12357 -3 12275 25959 23608 -3 25097 16597 24086 -3 23647 24768 23769 -3 23513 24578 23512 -3 25730 25731 25872 -3 23613 23617 23798 -3 25872 25873 26014 -3 22975 25477 22386 -3 16236 14511 22975 -3 18644 21034 20952 -3 25999 25045 21268 -3 32145 32245 32144 -3 23825 14511 16236 -3 30819 30685 23353 -3 24535 24573 25685 -3 21151 23845 23788 -3 25387 26098 24998 -3 25346 28347 25462 -3 23610 11547 25544 -3 24555 22663 22761 -3 24935 24936 24681 -3 22581 20017 24681 -3 23538 25317 24936 -3 20017 24935 24681 -3 25497 25498 25317 -3 24935 23538 24936 -3 24277 23980 25498 -3 23538 25497 25317 -3 24277 24271 24901 -3 25497 24277 25498 -3 30928 30986 30927 -3 34229 34366 21549 -3 25243 26240 23639 -3 24098 25243 23639 -3 15441 15313 15314 -3 21008 21093 23674 -3 16001 16000 25909 -3 32944 32945 33050 -3 25593 25592 118 -3 25474 23530 23920 -3 24809 24945 24946 -3 14870 23853 21790 -3 23741 14989 23796 -3 24896 25958 23723 -3 23796 14870 21790 -3 15405 24101 25222 -3 25780 25943 24679 -3 25017 25977 25024 -3 4680 4018 9525 -3 25472 25473 24837 -3 23989 24325 24133 -3 26282 5625 26283 -3 26219 25947 23928 -3 21915 25372 20925 -3 2956 24429 24345 -3 282 737 283 -3 24751 25819 24164 -3 22395 25087 25791 -3 22682 22390 25791 -3 25669 13859 24871 -3 1024 3474 15201 -3 24351 24435 25116 -3 26236 23730 21911 -3 24674 24163 23774 -3 24183 12451 25204 -3 30503 25574 30368 -3 26206 26207 13015 -3 22959 26063 26062 -3 24290 22959 26062 -3 23665 23536 23460 -3 21158 23665 23460 -3 24148 24113 25803 -3 25431 22199 23801 -3 25087 23893 25790 -3 21156 22391 22682 -3 26283 5625 26142 -3 23642 25495 26220 -3 23644 13081 26281 -3 26282 23644 26281 -3 25817 24827 13081 -3 23644 25817 13081 -3 13240 20867 24827 -3 25817 13240 24827 -3 25812 13653 20867 -3 13240 25812 20867 -3 25812 25820 25782 -3 13653 25812 25782 -3 25820 24836 24835 -3 25782 25820 24835 -3 24836 24778 25151 -3 24835 24836 25151 -3 24778 24156 24165 -3 25151 24778 24165 -3 24156 12336 21886 -3 24165 24156 21886 -3 12336 11669 25395 -3 21886 12336 25395 -3 11669 23830 23886 -3 25395 11669 23886 -3 25676 23777 23886 -3 23830 25676 23886 -3 23966 23952 23777 -3 25676 23966 23777 -3 24019 23804 23952 -3 23966 24019 23952 -3 24225 25673 23804 -3 24019 24225 23804 -3 20987 21072 25673 -3 24225 20987 25673 -3 23874 25675 24741 -3 35778 35558 35702 -3 26301 24366 24452 -3 26300 26301 24452 -3 25857 25478 22486 -3 20661 25857 22486 -3 26037 26179 26178 -3 25531 24872 25388 -3 23700 23652 23610 -3 11547 22581 25544 -3 20680 25937 23496 -3 22582 20680 23496 -3 26111 20680 22582 -3 23565 26111 22582 -3 12996 23974 24441 -3 24441 22296 23850 -3 25887 26029 26028 -3 20263 25097 24964 -3 26069 24465 24582 -3 22294 22389 24582 -3 22199 24204 24878 -3 24874 21423 25451 -3 24514 23928 24427 -3 24675 24797 23850 -3 4276 25870 1678 -3 26795 24359 25785 -3 24204 24874 24878 -3 14941 5136 14395 -3 25663 24964 24280 -3 25431 25428 22199 -3 23566 23461 24312 -3 24103 23699 24868 -3 25614 25615 25756 -3 336 4785 25217 -3 23433 24939 24940 -3 24092 24151 24091 -3 17246 25599 25598 -3 22682 22391 25502 -3 24934 26220 24935 -3 22367 22464 24124 -3 24782 24759 24813 -3 1679 26153 26152 -3 15187 1149 15313 -3 25490 25505 25302 -3 30845 24202 30846 -3 19517 19901 24022 -3 19993 20074 20073 -3 29430 21382 30688 -3 30611 28107 28218 -3 21701 21796 28546 -3 27374 19791 30738 -3 28599 28601 30336 -3 29540 26524 27904 -3 19560 19559 26598 -3 29568 29700 27751 -3 29022 29568 27751 -3 21427 21516 21426 -3 27607 30470 29812 -3 7404 19736 20240 -3 15458 8974 15329 -3 34275 34274 34136 -3 30897 30951 30896 -3 10601 11404 6006 -3 35904 35674 11875 -3 2810 29017 29555 -3 35481 35851 35443 -3 18600 18696 7186 -3 27607 29812 27838 -3 4666 570 18600 -3 11428 12690 7186 -3 29022 27751 28461 -3 18696 7185 7186 -3 26524 27607 27838 -3 30470 29022 28461 -3 26524 27838 27904 -3 30470 28461 29812 -3 18422 18308 20323 -3 5474 20176 29555 -3 3341 18422 20323 -3 27902 29491 29413 -3 27893 27902 29413 -3 29491 6006 29413 -3 20200 24062 24001 -3 22327 19784 19788 -3 20176 2810 29555 -3 29697 17316 28016 -3 14618 30669 29017 -3 2810 14618 29017 -3 26918 27019 29138 -3 26478 26481 27380 -3 29565 29427 14249 -3 343 11403 11437 -3 27787 26481 26478 -3 24123 24230 24855 -3 7185 11428 7186 -3 27761 27787 26478 -3 11428 27787 27761 -3 12690 11428 27761 -3 14849 5474 29555 -3 26481 27385 27380 -3 22328 22327 19788 -3 28726 5474 14849 -3 19784 19455 19456 -3 30932 30990 30931 -3 26965 28726 28594 -3 19788 19784 19456 -3 30693 29540 19913 -3 28594 28726 14849 -3 30693 19913 30669 -3 14618 30693 30669 -3 30465 18008 19344 -3 29540 27904 19913 -3 30425 30465 19344 -3 18008 27019 26918 -3 29139 29125 17251 -3 29138 29139 17251 -3 26347 26348 27138 -3 32096 32095 31995 -3 26708 26820 26819 -3 28017 28016 28134 -3 26603 26708 26707 -3 26707 26708 26819 -3 12460 15060 12053 -3 235 19136 13426 -3 29125 26830 27399 -3 27399 26830 29154 -3 19903 26965 19795 -3 6781 19903 19795 -3 13426 15606 15743 -3 33370 33371 33483 -3 19197 11406 451 -3 6282 19903 6781 -3 19136 19197 451 -3 28717 28731 30425 -3 19795 26965 28594 -3 27385 28731 28717 -3 27380 27385 28717 -3 19344 18008 26918 -3 28731 30465 30425 -3 7069 11576 7006 -3 27019 29139 29138 -3 19576 26907 30822 -3 19638 343 345 -3 26566 27841 29557 -3 567 566 21555 -3 26477 27373 27315 -3 25318 12422 25547 -3 29921 29920 29791 -3 30317 30450 30316 -3 29659 29792 29658 -3 29792 29921 29791 -3 30721 30722 6883 -3 29772 29773 29901 -3 28233 29287 30500 -3 29287 21749 7289 -3 29271 6282 2812 -3 29151 29271 2812 -3 21562 29813 11406 -3 19197 21562 11406 -3 28373 28372 29813 -3 27491 27635 29151 -3 21562 28373 29813 -3 17251 29125 27399 -3 2812 6282 6781 -3 33371 33484 33483 -3 26830 28233 29154 -3 11463 11464 26518 -3 26592 18454 21289 -3 21846 19790 30200 -3 28021 25390 24143 -3 30052 30051 29920 -3 19734 30478 27434 -3 29921 30052 29920 -3 30184 30183 30051 -3 30052 30184 30051 -3 30317 30316 30183 -3 30184 30317 30183 -3 30450 30449 30316 -3 30584 30583 30449 -3 30450 30584 30449 -3 30718 30717 30583 -3 30584 30718 30583 -3 31538 31537 31465 -3 33156 33157 33261 -3 30500 29287 7289 -3 21749 30554 17253 -3 7408 7288 27491 -3 27635 29271 29151 -3 28252 29680 28372 -3 28373 28252 28372 -3 19567 30498 29680 -3 28252 19567 29680 -3 26472 26828 30498 -3 30474 7288 7408 -3 30469 30474 7408 -3 30554 21752 26905 -3 29154 28233 30500 -3 24202 30845 25675 -3 23710 30233 30234 -3 712 7771 714 -3 28841 28840 28708 -3 7080 35636 27868 -3 33609 33736 33608 -3 25407 12691 25406 -3 31110 31173 31172 -3 30925 30983 30924 -3 19630 18262 6927 -3 17011 11008 14514 -3 30716 20240 30715 -3 25675 30844 11771 -3 21942 21943 18262 -3 26607 26606 26510 -3 29511 29512 29649 -3 17282 7404 30717 -3 30718 17282 30717 -3 26356 30866 30865 -3 19526 13311 19214 -3 7289 21749 17253 -3 27408 27497 27760 -3 28813 30474 30469 -3 28808 28813 30469 -3 19567 26472 30498 -3 26473 27873 26828 -3 26472 26473 26828 -3 27400 27412 28808 -3 19793 18799 27873 -3 17253 30554 26905 -3 7288 27635 27491 -3 2948 17310 27167 -3 29084 27760 26905 -3 24704 24637 26934 -3 12335 27993 28109 -3 27993 28110 28109 -3 20509 20592 20590 -3 28110 28227 28226 -3 28109 28110 28226 -3 28227 23659 28226 -3 12020 12019 11934 -3 28873 26566 29557 -3 29903 29904 30034 -3 26566 30609 19242 -3 27841 26566 19242 -3 25692 25834 6406 -3 19242 30609 27173 -3 17316 28364 19097 -3 28592 28724 28613 -3 19360 19736 7404 -3 17282 19360 7404 -3 26359 30863 30862 -3 26356 30865 26357 -3 29084 27408 27760 -3 27408 20817 11512 -3 27983 27992 26484 -3 26486 27412 27400 -3 26473 19793 27873 -3 28488 28616 18799 -3 19793 28488 18799 -3 28488 6852 18010 -3 11437 27992 27983 -3 11397 11437 27983 -3 27785 30084 30091 -3 21752 29084 26905 -3 24921 28226 23659 -3 24758 25653 2952 -3 27877 27994 27993 -3 12167 27877 12250 -3 27994 28111 28110 -3 27993 27994 28110 -3 28111 28228 28227 -3 28110 28111 28227 -3 18408 30689 23042 -3 34229 21548 34091 -3 19901 29020 24022 -3 28580 28709 28579 -3 26501 26505 28460 -3 28483 28369 28885 -3 30817 25932 25240 -3 28724 25836 28343 -3 28364 28592 28613 -3 23081 23082 23179 -3 19360 2539 21941 -3 19448 21659 21468 -3 29245 29382 29244 -3 21555 19638 345 -3 27497 27408 11512 -3 27785 30091 11512 -3 26484 26486 27400 -3 27412 28813 28808 -3 28616 28488 18010 -3 344 345 11397 -3 6852 30619 30753 -3 18010 6852 30753 -3 345 11437 11397 -3 30619 26602 28249 -3 30084 30079 28487 -3 27992 26486 26484 -3 33484 33603 33602 -3 12084 12003 27647 -3 27762 27878 27877 -3 12167 12250 12166 -3 27878 27995 27994 -3 27877 27878 27994 -3 27995 28112 28111 -3 27994 27995 28111 -3 28112 28229 28228 -3 28111 28112 28228 -3 32838 32837 32725 -3 25045 25046 25144 -3 7295 5607 19456 -3 27280 20519 27397 -3 28460 28483 28885 -3 21770 27433 20896 -3 23984 25314 21360 -3 25111 20759 27502 -3 12286 14661 14568 -3 29512 29650 29649 -3 19736 19360 21941 -3 2539 21659 19448 -3 30193 30192 30060 -3 345 343 11437 -3 20817 27785 11512 -3 30084 28188 30091 -3 567 21555 21554 -3 568 567 21554 -3 30753 30619 28249 -3 21555 345 344 -3 26602 28489 27316 -3 28249 26602 27316 -3 28489 21646 17309 -3 19003 19577 18057 -3 19577 567 568 -3 25144 25046 25142 -3 28188 30084 28487 -3 27647 12086 27762 -3 27532 27649 12086 -3 27763 27879 27878 -3 27762 27763 27878 -3 27879 27996 27995 -3 27878 27879 27995 -3 27996 28113 28112 -3 27995 27996 28112 -3 28230 28229 28112 -3 28113 28230 28112 -3 34291 34429 34290 -3 25259 25260 27957 -3 11122 21330 6408 -3 32301 32300 32199 -3 28369 19517 30687 -3 28885 28369 30687 -3 19130 17104 6845 -3 29679 30611 18691 -3 28016 17316 28247 -3 28563 28692 28691 -3 21941 2539 19448 -3 21659 14247 21468 -3 27194 27077 25922 -3 29536 17381 22002 -3 30079 28598 19519 -3 19519 28598 2806 -3 19577 19686 18057 -3 21554 21555 344 -3 27316 28489 17309 -3 21646 236 28241 -3 17309 21646 28241 -3 30998 30997 30939 -3 236 21565 29150 -3 24422 24510 24509 -3 19686 19577 568 -3 29395 21918 29396 -3 33441 33555 33554 -3 27649 27764 27763 -3 12086 27763 27762 -3 27764 27880 27879 -3 27763 27764 27879 -3 27880 27997 27996 -3 27879 27880 27996 -3 27997 28114 28113 -3 27996 27997 28113 -3 12809 21222 30023 -3 12809 35685 29417 -3 21353 28312 21444 -3 23522 22010 25178 -3 19563 26505 26501 -3 34933 35062 34932 -3 30289 19563 12510 -3 30287 30289 12510 -3 21508 21419 21417 -3 6279 28232 19792 -3 17316 19097 28247 -3 28364 28613 19097 -3 6971 6970 21468 -3 14247 6971 21468 -3 27139 29493 30478 -3 30061 30193 30060 -3 28487 30079 19519 -3 28598 11511 2806 -3 30731 7403 30730 -3 7403 19003 18057 -3 28241 236 29150 -3 30288 30155 29150 -3 27489 20989 27488 -3 21565 30288 29150 -3 16596 23471 15316 -3 35791 20864 13053 -3 27415 27533 27532 -3 21511 21790 21330 -3 27533 27650 27649 -3 27532 27533 27649 -3 27650 27765 27764 -3 27649 27650 27764 -3 27765 27881 27880 -3 27764 27765 27880 -3 27881 27998 27997 -3 27880 27881 27997 -3 27998 28115 28114 -3 27997 27998 28114 -3 25077 26454 26453 -3 22191 22095 22096 -3 26824 20095 26823 -3 21272 21271 21185 -3 27161 27280 27279 -3 28496 28497 30287 -3 26698 26699 26810 -3 27160 27161 27279 -3 28134 24188 28426 -3 26699 26811 26810 -3 24782 26789 24885 -3 4634 17377 24673 -3 17478 17477 6970 -3 6971 17478 6970 -3 35802 30635 35404 -3 32398 32503 32397 -3 11511 2771 17320 -3 2806 11511 17320 -3 30597 30731 30596 -3 21940 7403 18057 -3 30288 19566 27990 -3 30155 30288 27990 -3 18263 16932 18621 -3 17304 30343 21155 -3 30477 2922 24065 -3 27845 21003 27730 -3 24398 18932 28021 -3 27416 27534 27533 -3 27415 27416 27533 -3 27534 27651 27650 -3 27533 27534 27650 -3 27651 27766 27765 -3 27650 27651 27765 -3 27766 27882 27881 -3 27765 27766 27881 -3 27882 27999 27998 -3 27881 27882 27998 -3 28116 28115 27998 -3 27999 28116 27998 -3 23169 30560 30694 -3 20601 27516 27397 -3 27279 27280 27397 -3 28458 30203 28457 -3 29101 29100 28965 -3 13676 11616 11365 -3 29238 29237 29100 -3 28701 28833 28700 -3 26932 26943 26417 -3 28833 28966 28832 -3 26943 26418 26417 -3 26418 27268 27255 -3 17478 26943 26932 -3 17477 17478 26932 -3 32506 32505 32400 -3 32401 32506 32400 -3 2771 29288 5733 -3 17320 2771 5733 -3 7403 21940 30730 -3 29288 30740 2820 -3 20190 16178 21568 -3 30731 30730 30596 -3 27990 19566 28680 -3 11591 27063 11666 -3 26095 26672 25223 -3 26673 25089 26674 -3 22490 22588 22489 -3 11852 11853 11938 -3 27299 27417 27416 -3 27180 27299 11834 -3 27417 27535 27534 -3 27416 27417 27534 -3 27535 27652 27651 -3 27534 27535 27651 -3 27652 27767 27766 -3 27651 27652 27766 -3 27767 27883 27882 -3 27766 27767 27882 -3 27883 28000 27999 -3 27882 27883 27999 -3 28000 28117 28116 -3 27999 28000 28116 -3 25693 25835 25834 -3 12711 28138 12800 -3 29238 29375 29374 -3 19899 19595 19898 -3 29945 19142 26420 -3 28966 29101 28965 -3 28603 28602 27255 -3 28344 29945 26420 -3 28943 29078 28735 -3 26417 26418 27255 -3 28189 28943 28735 -3 21748 21382 29078 -3 28943 21748 29078 -3 30688 21748 17255 -3 22332 18770 30773 -3 21748 30688 21382 -3 2820 30740 22332 -3 18770 28127 30773 -3 5733 29288 2820 -3 30740 18770 22332 -3 30597 30596 30462 -3 30463 30597 30462 -3 24143 24475 28021 -3 30330 30463 30329 -3 19739 19687 19688 -3 21563 19942 19638 -3 11591 11592 27064 -3 29519 29657 29656 -3 31308 31375 31307 -3 25050 19916 25051 -3 27869 27985 29277 -3 27063 27181 27180 -3 34936 35065 34935 -3 27181 27300 27299 -3 27180 27181 27299 -3 27300 27418 27417 -3 27299 27300 27417 -3 27418 27536 27535 -3 27417 27418 27535 -3 27536 27653 27652 -3 27535 27536 27652 -3 27653 27768 27767 -3 27652 27653 27767 -3 27884 27883 27767 -3 27768 27884 27767 -3 28001 28000 27883 -3 27884 28001 27883 -3 28001 28118 28117 -3 28000 28001 28117 -3 32949 33055 32948 -3 31617 31712 31711 -3 26420 19142 27048 -3 30444 30578 30577 -3 19196 6901 28728 -3 19142 19962 27048 -3 19363 28596 21849 -3 28596 19196 28728 -3 17939 19363 21738 -3 28596 28728 21849 -3 13698 30023 23371 -3 26356 30867 30866 -3 30867 26356 30868 -3 6132 2271 28725 -3 28127 21839 21840 -3 30773 28127 21840 -3 30330 30329 30196 -3 30197 30330 30196 -3 30197 30196 30064 -3 30463 30462 30329 -3 29118 29117 28982 -3 30065 30197 30064 -3 28983 29118 28982 -3 19912 19032 2271 -3 29539 29944 29402 -3 19350 28126 29950 -3 11592 26948 27064 -3 29950 28126 30337 -3 29568 19350 14968 -3 30056 30055 29924 -3 29936 30067 29935 -3 14968 19350 29950 -3 29807 29936 29806 -3 30067 30066 29935 -3 29674 29807 29673 -3 34017 34016 33881 -3 21003 27961 21088 -3 27064 27182 27181 -3 27063 27064 27181 -3 27182 27301 27300 -3 27181 27182 27300 -3 27301 27419 27418 -3 27300 27301 27418 -3 27419 27537 27536 -3 27418 27419 27536 -3 27537 27654 27653 -3 27536 27537 27653 -3 27654 27769 27768 -3 27653 27654 27768 -3 27885 27884 27768 -3 27769 27885 27768 -3 28002 28001 27884 -3 27885 28002 27884 -3 28002 28119 28118 -3 28001 28002 28118 -3 29628 29489 22467 -3 29889 22763 30020 -3 20430 27265 27086 -3 35499 35708 13100 -3 14057 20430 27086 -3 26470 26460 27086 -3 30448 30447 30314 -3 23956 30600 28946 -3 19517 24022 23946 -3 28847 28846 28714 -3 14427 14426 12991 -3 25143 25282 25176 -3 29668 29667 29529 -3 29534 29533 29396 -3 30193 30326 30192 -3 22108 22203 29674 -3 29936 29935 29806 -3 26583 29493 27139 -3 11616 9534 11365 -3 29807 29806 29673 -3 30622 28873 2954 -3 2537 30770 2805 -3 18600 7186 11648 -3 22107 29673 29534 -3 28873 29557 2954 -3 29229 29230 29366 -3 29805 29804 29671 -3 29672 29805 29671 -3 30199 30198 28432 -3 32098 32097 31997 -3 29366 29367 29503 -3 27738 27739 27853 -3 6659 30622 19040 -3 28204 28321 28320 -3 27504 27622 27621 -3 19791 7068 19231 -3 27854 27970 27969 -3 29118 28983 21729 -3 29393 29530 29392 -3 26607 26608 26712 -3 11396 6846 21458 -3 29663 29796 29662 -3 30209 28742 29551 -3 25279 30099 23711 -3 30592 30591 30457 -3 29148 29143 28217 -3 21154 22073 21155 -3 27136 28456 27085 -3 34677 34805 34676 -3 32094 32194 32093 -3 27065 27183 27182 -3 27064 27065 27182 -3 27183 27302 27301 -3 27182 27183 27301 -3 27302 27420 27419 -3 27301 27302 27419 -3 27420 27538 27537 -3 27419 27420 27537 -3 27538 27655 27654 -3 27537 27538 27654 -3 27655 27770 27769 -3 27654 27655 27769 -3 27886 27885 27769 -3 27770 27886 27769 -3 28003 28002 27885 -3 27886 28003 27885 -3 28003 28120 28119 -3 28002 28003 28119 -3 32295 32294 32193 -3 32194 32295 32193 -3 31994 32094 31993 -3 12121 12039 35814 -3 26599 18408 331 -3 29394 29393 29256 -3 21942 21941 19447 -3 29649 29650 29782 -3 29790 29919 29789 -3 30050 30049 29918 -3 30321 30454 30320 -3 29919 30050 29918 -3 27648 27761 26477 -3 19128 29277 27401 -3 22679 21776 21672 -3 6531 30499 28019 -3 24109 20519 27280 -3 30686 19240 28017 -3 27900 28015 28752 -3 29004 29012 29697 -3 11070 24581 13315 -3 28973 28972 28839 -3 19790 2537 30199 -3 30336 30344 19560 -3 29934 30065 29933 -3 6853 30770 2537 -3 29934 29933 29804 -3 29805 29934 29804 -3 30987 30986 30928 -3 30065 30064 29933 -3 29108 29245 29107 -3 10003 23580 12450 -3 28840 28973 28839 -3 28588 28614 26931 -3 26717 28614 28588 -3 19559 26717 26598 -3 19032 28887 2271 -3 28614 29408 26931 -3 26598 26717 28588 -3 29408 29124 19463 -3 7079 6970 7301 -3 26359 30864 30863 -3 26931 29408 19463 -3 29672 29671 29533 -3 35681 35781 35790 -3 29382 29519 29518 -3 29534 29672 29533 -3 26817 26900 26414 -3 17669 21381 178 -3 6970 7079 21471 -3 23961 24022 24443 -3 27202 28601 28599 -3 26948 27066 27065 -3 28734 29565 14249 -3 27066 27184 27183 -3 27065 27066 27183 -3 27184 27303 27302 -3 27183 27184 27302 -3 27303 27421 27420 -3 27302 27303 27420 -3 27421 27539 27538 -3 27420 27421 27538 -3 27539 27656 27655 -3 27538 27539 27655 -3 27656 27771 27770 -3 27655 27656 27770 -3 27771 27887 27886 -3 27770 27771 27886 -3 27887 28004 28003 -3 27886 27887 28003 -3 28004 28121 28120 -3 28003 28004 28120 -3 28121 28238 28237 -3 28120 28121 28237 -3 25385 30812 30813 -3 20679 25096 17321 -3 29257 29394 29256 -3 35491 12823 35627 -3 14968 29950 28243 -3 7214 14968 28243 -3 28601 30344 30336 -3 29950 30337 30471 -3 27201 27202 28599 -3 6970 17477 7301 -3 20845 25092 20092 -3 28485 28343 25980 -3 28461 27751 27636 -3 3477 6768 14792 -3 31687 31787 31686 -3 25049 21452 25784 -3 26357 30864 26359 -3 30848 24034 30861 -3 325 4124 10975 -3 26607 26712 26711 -3 30220 29355 29429 -3 21840 21839 29217 -3 21742 21741 35014 -3 32404 32509 32403 -3 30739 29426 30604 -3 35193 35065 17370 -3 6853 27645 30770 -3 34552 34680 34551 -3 29245 29244 29107 -3 6969 6968 7182 -3 29381 29382 29518 -3 28973 29108 28972 -3 30868 21630 30869 -3 20181 20095 20096 -3 26122 19662 28485 -3 29124 29220 29357 -3 27135 26244 27254 -3 19463 29124 29357 -3 29538 27529 27259 -3 32921 32922 33030 -3 27161 24765 27280 -3 21506 13092 18928 -3 30737 21848 25014 -3 21381 29823 30086 -3 21630 30868 26356 -3 31857 24158 31858 -3 6868 17669 178 -3 21447 12089 30849 -3 21790 21883 23795 -3 2955 21753 27840 -3 16846 2103 16243 -3 23812 20355 20356 -3 31592 31687 31591 -3 26363 24831 26432 -3 13498 35366 12555 -3 30687 19517 23946 -3 34137 34275 34136 -3 20092 23816 20845 -3 22973 30293 30426 -3 26949 27067 27066 -3 26948 26949 27066 -3 27067 27185 27184 -3 27066 27067 27184 -3 27185 27304 27303 -3 27184 27185 27303 -3 27304 27422 27421 -3 27303 27304 27421 -3 27422 27540 27539 -3 27421 27422 27539 -3 27540 27657 27656 -3 27539 27540 27656 -3 27772 27771 27656 -3 27657 27772 27656 -3 27772 27888 27887 -3 27771 27772 27887 -3 27888 28005 28004 -3 27887 27888 28004 -3 28005 28122 28121 -3 28004 28005 28121 -3 28239 28238 28121 -3 28122 28239 28121 -3 17888 17555 23925 -3 30508 30509 25104 -3 27904 27838 21557 -3 30200 19790 30199 -3 28472 28480 30215 -3 29812 28474 26623 -3 2956 2817 24429 -3 32726 32838 32725 -3 14054 235 13426 -3 235 14054 17479 -3 29700 11228 27492 -3 31366 31365 31298 -3 29783 29912 29911 -3 27751 29700 27492 -3 29426 28099 29289 -3 30174 30175 30307 -3 25013 21848 24942 -3 28099 2948 19571 -3 28862 27518 25499 -3 25286 25500 24731 -3 30613 30739 26910 -3 29426 29289 30604 -3 29559 29421 19746 -3 29421 29559 30752 -3 28099 29264 29289 -3 29698 27164 26797 -3 29427 27282 9684 -3 19571 2948 27167 -3 26420 27048 29220 -3 19912 2271 6132 -3 30716 30715 30581 -3 29124 26420 29220 -3 33056 33055 32949 -3 26819 26820 26934 -3 24273 14969 18230 -3 28983 28982 28849 -3 19988 24348 24519 -3 30732 30731 30597 -3 33704 33923 22421 -3 25365 26452 12108 -3 178 21381 30086 -3 20019 20099 26825 -3 21462 27550 30086 -3 29823 21462 30086 -3 26609 26608 26512 -3 26513 26609 26512 -3 27138 28457 27136 -3 30365 19465 19249 -3 27955 17669 6868 -3 6132 28725 29423 -3 30471 30337 2955 -3 27840 27955 6868 -3 28243 29950 30471 -3 21753 27955 27840 -3 27751 27492 27636 -3 30337 21753 2955 -3 17569 19197 19136 -3 27838 29812 26623 -3 235 17569 19136 -3 2808 21562 19197 -3 17569 2808 19197 -3 29535 24431 28100 -3 30754 28373 21562 -3 26950 27068 27067 -3 26949 26950 27067 -3 27068 27186 27185 -3 27067 27068 27185 -3 27186 27305 27304 -3 27185 27186 27304 -3 27305 27423 27422 -3 27304 27305 27422 -3 27423 27541 27540 -3 27422 27423 27540 -3 27541 27658 27657 -3 27540 27541 27657 -3 27658 27773 27772 -3 27657 27658 27772 -3 27773 27889 27888 -3 27772 27773 27888 -3 27889 28006 28005 -3 27888 27889 28005 -3 28123 28122 28005 -3 28006 28123 28005 -3 24240 25398 25855 -3 25292 28238 25291 -3 21393 23953 11711 -3 21066 14246 11957 -3 2808 30754 21562 -3 28617 28252 28373 -3 30754 28617 28373 -3 28468 19567 28252 -3 28617 28468 28252 -3 26582 26472 19567 -3 28468 26582 19567 -3 27283 26473 26472 -3 29017 30669 28133 -3 26582 27283 26472 -3 29700 14968 7214 -3 19913 27263 29566 -3 29531 29530 29393 -3 11228 29700 7214 -3 29394 29531 29393 -3 29669 29668 29530 -3 7188 7187 14057 -3 15346 7187 15219 -3 29215 19200 21738 -3 19363 21849 21738 -3 28189 28735 30748 -3 30499 28189 30748 -3 30499 30748 30752 -3 28019 30499 30752 -3 26691 29559 19746 -3 29559 28019 30752 -3 26691 19746 29810 -3 7406 26691 29810 -3 7406 29810 6901 -3 19196 7406 6901 -3 24439 27549 22235 -3 201 22235 29215 -3 30999 31060 30998 -3 31433 31432 31365 -3 31505 31592 31504 -3 27318 27437 12102 -3 30043 30175 30174 -3 17575 6980 26502 -3 28137 17574 1960 -3 30308 30441 30440 -3 30067 30068 22491 -3 13754 24847 28070 -3 31909 32010 31908 -3 30870 30924 30869 -3 26609 26714 26713 -3 26608 26609 26713 -3 3036 25165 1019 -3 26713 26714 26825 -3 30363 30365 19249 -3 19465 26848 26833 -3 22007 23670 26600 -3 27285 28612 27284 -3 3052 28862 21266 -3 21824 21918 29257 -3 30739 30604 26910 -3 19688 566 567 -3 30613 26910 21556 -3 19231 30613 21556 -3 28461 27636 28474 -3 14869 14757 23853 -3 30669 29566 28133 -3 29812 28461 28474 -3 11509 19793 26473 -3 2404 14849 26574 -3 27283 11509 26473 -3 26834 26951 26950 -3 29489 29352 22369 -3 26951 27069 27068 -3 26950 26951 27068 -3 27069 27187 27186 -3 27068 27069 27186 -3 27187 27306 27305 -3 27186 27187 27305 -3 27306 27424 27423 -3 27305 27306 27423 -3 27424 27542 27541 -3 27423 27424 27541 -3 27659 27658 27541 -3 27542 27659 27541 -3 27659 27774 27773 -3 27658 27659 27773 -3 27774 27890 27889 -3 27773 27774 27889 -3 28007 28006 27889 -3 27890 28007 27889 -3 28124 28123 28006 -3 28007 28124 28006 -3 23597 26671 26670 -3 12395 451 12379 -3 30642 28488 19793 -3 11509 30642 19793 -3 29141 29151 29269 -3 30642 6977 6852 -3 27838 26623 21557 -3 29555 29017 26574 -3 30669 19913 29566 -3 27904 21557 27263 -3 29802 29931 29801 -3 19913 27904 27263 -3 29531 29669 29530 -3 29802 29801 29668 -3 29669 29802 29668 -3 29931 29930 29801 -3 7187 7188 15219 -3 2272 19450 2405 -3 7187 20430 14057 -3 27050 19792 30771 -3 28602 28603 30347 -3 19962 22233 20894 -3 27268 28603 27255 -3 30348 2270 21658 -3 30347 30348 21658 -3 28603 30348 30347 -3 21658 2270 26738 -3 2270 26786 26738 -3 26738 26786 28618 -3 26786 28719 28618 -3 28618 28719 28344 -3 28719 29945 28344 -3 25914 12422 25318 -3 22235 19200 29215 -3 30164 30165 30297 -3 26344 12108 26382 -3 21328 20195 21858 -3 24867 24668 23322 -3 22949 16313 29687 -3 30582 30581 30447 -3 29562 27553 26506 -3 19200 17939 21738 -3 28335 29562 7071 -3 7071 29562 26506 -3 28621 28335 28607 -3 28607 28335 7071 -3 29014 28621 28492 -3 28492 28621 28607 -3 19249 19465 26833 -3 28746 29014 28492 -3 26848 29014 28746 -3 26833 26848 28746 -3 28612 30365 30363 -3 29261 27844 30686 -3 26470 27285 26460 -3 28608 28612 30363 -3 27265 26470 27086 -3 28612 28608 27284 -3 19450 19449 2405 -3 27285 27284 26460 -3 30194 30193 30061 -3 2272 2405 18925 -3 30062 30061 29930 -3 30062 30194 30061 -3 29017 28133 26574 -3 29931 30062 29930 -3 28488 30642 6852 -3 29151 2812 29269 -3 6977 30485 30619 -3 21626 21625 21533 -3 26835 26952 26951 -3 26834 26835 26951 -3 26952 27070 27069 -3 26951 26952 27069 -3 27070 27188 27187 -3 27069 27070 27187 -3 27188 27307 27306 -3 27187 27188 27306 -3 27307 27425 27424 -3 27306 27307 27424 -3 27425 27543 27542 -3 27424 27425 27542 -3 27543 27660 27659 -3 27542 27543 27659 -3 27660 27775 27774 -3 27659 27660 27774 -3 27891 27890 27774 -3 27775 27891 27774 -3 28008 28007 27890 -3 27891 28008 27890 -3 17447 23655 23606 -3 28007 28008 28124 -3 6852 6977 30619 -3 30485 26733 26602 -3 30619 30485 26602 -3 26733 28589 28489 -3 2812 6781 26569 -3 26602 26733 28489 -3 30327 30460 30326 -3 29269 2812 26569 -3 30327 30326 30193 -3 30194 30327 30193 -3 30594 30593 30459 -3 30460 30459 30326 -3 6883 6867 30720 -3 30460 30594 30459 -3 19450 15346 19449 -3 30721 6883 30720 -3 15346 15219 19449 -3 27050 30771 28733 -3 7068 19702 30613 -3 2948 6914 17310 -3 28709 28708 28579 -3 26347 27138 27136 -3 29688 29538 27869 -3 2410 19898 17840 -3 29374 29375 29511 -3 29101 29238 29100 -3 28833 28832 28700 -3 32220 32321 32320 -3 28966 28965 28832 -3 28572 28701 28571 -3 27646 29272 29271 -3 21474 16596 21563 -3 30572 30706 30705 -3 30437 30438 30571 -3 30571 30572 30705 -3 30706 30840 30839 -3 30840 22330 30839 -3 22330 22331 30839 -3 30705 30706 30839 -3 25574 25573 30368 -3 30438 30572 30571 -3 26795 25785 25586 -3 27048 19962 20894 -3 22100 22195 11859 -3 32219 32220 32320 -3 20894 22233 29260 -3 26929 24587 24586 -3 26714 20019 26825 -3 26678 26573 24242 -3 26912 27518 28862 -3 28864 26912 28862 -3 29261 30686 27518 -3 26912 29261 27518 -3 27844 19240 30686 -3 27724 29004 19240 -3 27844 27724 19240 -3 6851 28749 29004 -3 6851 29951 28749 -3 27724 6851 29004 -3 29951 29142 28749 -3 28604 19773 29142 -3 29951 28604 29142 -3 3362 2272 18925 -3 19461 28747 19773 -3 30055 30187 30054 -3 30320 30319 30186 -3 30728 30727 30593 -3 570 571 18696 -3 27491 29151 29141 -3 27021 27491 29141 -3 28589 19672 21646 -3 17751 7408 27021 -3 28489 28589 21646 -3 26720 26836 26835 -3 12426 12516 12515 -3 26836 26953 26952 -3 26835 26836 26952 -3 26953 27071 27070 -3 26952 26953 27070 -3 27071 27189 27188 -3 27070 27071 27188 -3 27189 27308 27307 -3 27188 27189 27307 -3 27308 27426 27425 -3 27307 27308 27425 -3 27426 27544 27543 -3 27425 27426 27543 -3 27544 27661 27660 -3 27543 27544 27660 -3 27776 27775 27660 -3 27661 27776 27660 -3 27892 27891 27775 -3 27776 27892 27775 -3 22142 10979 13618 -3 27891 27892 28008 -3 29959 28594 2404 -3 14849 29555 26574 -3 21836 19795 29959 -3 28594 14849 2404 -3 6781 19795 21836 -3 26569 6781 21836 -3 13562 18671 19684 -3 19795 28594 29959 -3 30187 30320 30186 -3 19682 571 570 -3 12622 28138 12711 -3 30587 30721 30586 -3 28748 30736 28099 -3 3362 18925 6867 -3 35191 35190 35061 -3 6883 3362 6867 -3 19494 29552 19141 -3 30298 30431 30297 -3 29763 27401 28590 -3 28604 19461 19773 -3 27739 27738 27621 -3 27969 27970 28086 -3 26593 28732 27759 -3 29501 29502 29639 -3 6783 6782 7302 -3 24439 25547 12422 -3 26811 26926 26925 -3 26810 26811 26925 -3 26925 26926 27043 -3 26926 27044 27043 -3 27043 27044 27160 -3 27044 27161 27160 -3 24144 24143 25390 -3 28018 28020 26494 -3 29357 29156 28340 -3 27256 29357 28340 -3 26931 19463 19907 -3 28619 26931 19907 -3 26590 26598 28587 -3 28588 26931 28619 -3 19560 26598 26590 -3 28587 28588 28619 -3 19561 19560 26590 -3 26598 28588 28587 -3 19463 29357 27256 -3 19907 19463 27256 -3 30336 19560 19561 -3 29375 29512 29511 -3 28599 30336 30333 -3 30333 30336 19561 -3 27201 28599 28593 -3 28593 28599 30333 -3 26414 27201 27200 -3 27200 27201 28593 -3 26804 26817 26413 -3 26413 26414 27200 -3 6981 26817 26804 -3 17475 6981 26804 -3 7078 6981 17475 -3 26817 26414 26413 -3 21470 21469 7076 -3 7076 7078 17475 -3 30581 30580 30446 -3 30447 30581 30446 -3 26970 26969 28747 -3 25994 4669 25995 -3 30055 30054 29923 -3 29924 30055 29923 -3 342 7185 18696 -3 17758 342 18696 -3 30469 7408 17751 -3 30467 30469 17751 -3 19672 30670 236 -3 21646 19672 236 -3 30670 17302 21565 -3 236 30670 21565 -3 30421 30288 21565 -3 26721 26837 26836 -3 26720 26721 26836 -3 26837 26954 26953 -3 26836 26837 26953 -3 26954 27072 27071 -3 26953 26954 27071 -3 27072 27190 27189 -3 27071 27072 27189 -3 27190 27309 27308 -3 27189 27190 27308 -3 27309 27427 27426 -3 27308 27309 27426 -3 27427 27545 27544 -3 27426 27427 27544 -3 27545 27662 27661 -3 27544 27545 27661 -3 27662 27777 27776 -3 27661 27662 27776 -3 31044 31045 31106 -3 27776 27777 27892 -3 30594 30728 30593 -3 12691 26969 25405 -3 30728 6866 30727 -3 6866 6856 30727 -3 6856 6866 13562 -3 6866 18671 13562 -3 19684 19682 570 -3 18671 19682 19684 -3 30453 30452 30319 -3 571 17758 18696 -3 26970 27957 26969 -3 30320 30453 30319 -3 21155 30343 21154 -3 8153 19198 20091 -3 19461 26970 28747 -3 28203 28204 28320 -3 6782 6783 15897 -3 27641 27640 30762 -3 19248 19144 21470 -3 6847 6897 21459 -3 19144 19248 21944 -3 21469 7078 7076 -3 21943 19144 21944 -3 19144 21469 21470 -3 30033 30165 30164 -3 29654 29787 29786 -3 30044 30045 30176 -3 30177 30310 30309 -3 12510 19563 26501 -3 26505 28483 28460 -3 26402 27178 27176 -3 27176 27178 28496 -3 25340 24717 23648 -3 6914 29893 17310 -3 30034 30166 30165 -3 34933 34932 34803 -3 26401 24803 25342 -3 34804 34933 34803 -3 12089 30850 30849 -3 23779 22484 25656 -3 26603 26604 26708 -3 28455 28454 21270 -3 26709 26821 26820 -3 20765 27634 20683 -3 26708 26709 26820 -3 28454 28453 28333 -3 29815 29947 24009 -3 21368 26346 26345 -3 25306 23809 25385 -3 15476 15885 13057 -3 21642 34501 34500 -3 31299 31366 31298 -3 28576 28575 28453 -3 28454 28576 28453 -3 28705 28704 28575 -3 28576 28705 28575 -3 28837 28836 28704 -3 28705 28837 28704 -3 29242 29241 29104 -3 28970 28969 28836 -3 28837 28970 28836 -3 29105 29242 29104 -3 29105 29104 28969 -3 28970 29105 28969 -3 30715 30714 30580 -3 29242 29379 29378 -3 29912 30043 30042 -3 30447 30446 30313 -3 30187 30186 30054 -3 29782 29783 29911 -3 342 11398 11428 -3 29924 29923 29794 -3 7408 27491 27021 -3 7185 342 11428 -3 17302 30421 21565 -3 28808 30469 30467 -3 29834 29965 25040 -3 30288 30421 19566 -3 24994 24993 27287 -3 26722 26838 26837 -3 26721 26722 26837 -3 26838 26955 26954 -3 26837 26838 26954 -3 26955 27073 27072 -3 26954 26955 27072 -3 27073 27191 27190 -3 27072 27073 27190 -3 27191 27310 27309 -3 27190 27191 27309 -3 27310 27428 27427 -3 27309 27310 27427 -3 27546 27545 27427 -3 27428 27546 27427 -3 27663 27662 27545 -3 27546 27663 27545 -3 6671 14249 2076 -3 27662 27663 27777 -3 28319 28320 28439 -3 24531 18359 23517 -3 28731 28744 30465 -3 30466 19347 18008 -3 30465 30466 18008 -3 19347 27020 27019 -3 29387 29386 29249 -3 29250 29387 29249 -3 30587 30586 30452 -3 30453 30587 30452 -3 27780 17573 27868 -3 30721 30720 30586 -3 30581 30715 30580 -3 16333 16483 3205 -3 18262 18712 6860 -3 30715 6927 30714 -3 21943 21944 18712 -3 6927 18262 6860 -3 30750 30751 28366 -3 18262 21943 18712 -3 29516 29654 29653 -3 27165 27163 26355 -3 29241 29242 29378 -3 29515 29516 29653 -3 29379 29516 29515 -3 29378 29379 29515 -3 29653 29654 29786 -3 29787 29916 29915 -3 29651 29652 29784 -3 29785 29914 29913 -3 7295 7411 7189 -3 19455 7295 19456 -3 26393 26402 27176 -3 27178 28497 28496 -3 26408 26402 26393 -3 26387 26408 26393 -3 25945 30074 30745 -3 6840 26408 6839 -3 14233 30356 9402 -3 31596 31691 31595 -3 23655 17447 10003 -3 31594 31593 31506 -3 27146 5555 28682 -3 24993 24865 27287 -3 7182 7183 19454 -3 7413 6897 6847 -3 19354 7182 19454 -3 7182 6968 7299 -3 7183 7182 7299 -3 6840 6839 7299 -3 6968 6840 7299 -3 26408 26387 6839 -3 21947 19354 19454 -3 28497 30289 30287 -3 3087 21947 19783 -3 19783 21947 19454 -3 6918 3087 3088 -3 3088 3087 19783 -3 30711 6918 7407 -3 7407 6918 3088 -3 30711 30710 30576 -3 30710 30711 7407 -3 30577 30576 30442 -3 30577 30711 30576 -3 29652 29785 29784 -3 30443 30577 30442 -3 30178 30179 30311 -3 29514 29652 29651 -3 30314 30447 30313 -3 30312 30445 30444 -3 30667 25145 25829 -3 30314 30313 30180 -3 29795 29924 29794 -3 22002 24707 22098 -3 11398 27876 27787 -3 29795 29794 29661 -3 28755 28808 30467 -3 11428 11398 27787 -3 30778 25725 25724 -3 27400 28808 28755 -3 30458 30592 30457 -3 27963 27964 28080 -3 21757 19566 30421 -3 26723 26839 26838 -3 26722 26723 26838 -3 26839 26956 26955 -3 26838 26839 26955 -3 26956 27074 27073 -3 26955 26956 27073 -3 27074 27192 27191 -3 27073 27074 27191 -3 27192 27311 27310 -3 27191 27192 27310 -3 27429 27428 27310 -3 27311 27429 27310 -3 27547 27546 27428 -3 27429 27547 27428 -3 27547 27664 27663 -3 27546 27547 27663 -3 24466 24519 24432 -3 19426 24274 11450 -3 344 11397 341 -3 27983 26484 26483 -3 11397 27983 27953 -3 3323 11397 27953 -3 27020 29140 29139 -3 18008 19347 27019 -3 29250 29249 29112 -3 29113 29250 29112 -3 33262 33371 33370 -3 34566 34565 34428 -3 29655 29656 29788 -3 19448 21468 21471 -3 30046 30047 30178 -3 6927 6860 30714 -3 29915 29916 30046 -3 30047 30179 30178 -3 29786 29787 29915 -3 29916 30047 30046 -3 29092 29093 29229 -3 30311 30444 30443 -3 30433 30567 30566 -3 30432 30433 30566 -3 30176 30177 30309 -3 30310 30443 30442 -3 30045 30177 30176 -3 30309 30310 30442 -3 29784 29785 29913 -3 29914 30045 30044 -3 33268 33377 33267 -3 29913 29914 30044 -3 26386 26392 26391 -3 26385 26386 26391 -3 26392 27170 26391 -3 27170 27169 26391 -3 27170 28495 27169 -3 28495 28484 27169 -3 6859 2944 22010 -3 27488 20989 27606 -3 30224 30357 30356 -3 16483 937 3205 -3 30357 30491 30490 -3 30356 30357 30490 -3 27077 27078 25922 -3 35665 35429 35555 -3 12004 12086 27647 -3 14378 14924 12381 -3 30286 13991 21750 -3 26612 31560 31647 -3 28495 30286 30231 -3 30231 30286 21750 -3 6838 26386 26385 -3 28484 28495 30231 -3 5607 7295 7189 -3 17571 6838 26385 -3 6838 17571 7189 -3 7411 6838 7189 -3 13991 26500 17311 -3 21750 13991 17311 -3 26500 28459 28339 -3 17311 26500 28339 -3 29563 17262 29634 -3 28459 29155 28883 -3 28339 28459 28883 -3 30763 30764 23568 -3 19382 21693 21671 -3 29155 26503 23576 -3 29513 29514 29651 -3 17984 23916 23829 -3 30311 30312 30444 -3 29377 29514 29513 -3 30181 30314 30180 -3 30445 30579 30578 -3 26231 21672 22646 -3 30181 30180 30048 -3 29662 29795 29661 -3 29123 28988 28246 -3 27876 26482 26481 -3 29662 29661 29523 -3 27398 27400 28755 -3 27787 27876 26481 -3 13466 19739 19688 -3 27953 27983 26483 -3 19687 21563 566 -3 30431 30430 30297 -3 30455 30454 30321 -3 26613 26724 26723 -3 21757 15092 23141 -3 26724 26840 26839 -3 26723 26724 26839 -3 26840 26957 26956 -3 26839 26840 26956 -3 26957 27075 27074 -3 26956 26957 27074 -3 27075 27193 27192 -3 27074 27075 27192 -3 27193 27312 27311 -3 27192 27193 27311 -3 27430 27429 27311 -3 27312 27430 27311 -3 27430 27548 27547 -3 27429 27430 27547 -3 12725 13676 11365 -3 27547 27548 27664 -3 18929 4784 30479 -3 21553 21554 341 -3 29925 29924 29795 -3 24339 17668 29956 -3 569 568 21553 -3 21554 344 341 -3 29140 29158 29125 -3 27019 27020 29139 -3 29113 29112 28977 -3 28978 29113 28977 -3 19677 19357 25514 -3 29650 29783 29782 -3 29518 29656 29655 -3 29517 29518 29655 -3 21945 21946 3086 -3 30179 30312 30311 -3 27855 27854 27739 -3 28968 29103 28967 -3 29504 29642 29641 -3 29093 29230 29229 -3 29642 29775 29774 -3 29641 29642 29774 -3 26917 29137 29136 -3 29137 29143 29148 -3 28748 29426 30739 -3 19702 28748 30739 -3 24863 24864 24991 -3 30222 21838 21747 -3 33490 33489 33376 -3 13943 29961 14041 -3 24212 26385 26364 -3 28096 28095 27978 -3 28213 28330 28212 -3 26391 27169 27166 -3 34843 34844 34971 -3 28330 28329 28212 -3 31045 31044 30983 -3 26348 27140 27138 -3 30092 30225 30224 -3 12184 12185 12268 -3 30225 30358 30357 -3 30224 30225 30357 -3 30358 30492 30491 -3 30357 30358 30491 -3 26815 26816 25936 -3 30491 25438 30490 -3 11978 12381 12560 -3 30492 30626 25438 -3 21072 29699 30641 -3 22292 23778 23577 -3 35075 35204 35074 -3 6897 21369 21459 -3 12664 29491 15214 -3 30215 30222 21747 -3 21838 17314 17256 -3 31113 31176 31175 -3 28883 23576 29018 -3 30565 30699 30564 -3 28339 28883 29018 -3 28883 29155 23576 -3 17311 28339 28338 -3 28338 28339 29018 -3 21750 17311 17261 -3 17261 17311 28338 -3 30231 21750 21751 -3 21751 21750 17261 -3 26385 26391 26364 -3 30230 30231 21751 -3 27979 28096 27978 -3 17571 26385 24212 -3 29376 29377 29513 -3 27841 19462 30749 -3 30444 30445 30578 -3 29240 29377 29376 -3 30049 30181 30048 -3 30579 30713 30712 -3 29123 29402 28988 -3 30049 30048 29917 -3 29524 29662 29523 -3 29402 27644 28988 -3 26482 27386 27385 -3 29524 29523 29386 -3 26484 27400 27398 -3 26481 26482 27385 -3 11397 3323 341 -3 26483 26484 27398 -3 19465 7399 26848 -3 568 21554 21553 -3 30617 30618 29762 -3 26614 26725 26724 -3 26613 26614 26724 -3 26725 26841 26840 -3 26724 26725 26840 -3 26841 26958 26957 -3 26840 26841 26957 -3 26958 27076 27075 -3 26957 26958 27075 -3 27076 27194 27193 -3 27075 27076 27193 -3 27194 27313 27312 -3 27193 27194 27312 -3 27313 27431 27430 -3 27312 27313 27430 -3 22566 29628 22467 -3 27430 27431 27548 -3 29825 24339 29762 -3 22383 29635 29768 -3 27989 30618 30617 -3 28106 27989 30617 -3 27989 28106 28881 -3 19436 18057 19685 -3 19686 568 569 -3 29158 30089 26830 -3 29139 29140 29125 -3 28978 28977 28844 -3 28845 28978 28844 -3 6786 29827 6658 -3 29529 29528 29391 -3 33091 33196 33090 -3 29656 29789 29788 -3 27740 27855 27739 -3 34808 34937 34807 -3 27748 27747 27630 -3 27855 27971 27970 -3 28242 30073 683 -3 27513 27631 27512 -3 30643 30762 27525 -3 27640 29120 6656 -3 28479 35787 35551 -3 27525 27640 6656 -3 30566 30567 30700 -3 30835 2813 2410 -3 28484 30231 30230 -3 28481 28484 30230 -3 26364 26391 27166 -3 27169 28484 28481 -3 19659 27867 19030 -3 27166 27169 28481 -3 30322 30455 30321 -3 30723 30722 30588 -3 30536 24901 25010 -3 29698 17260 27164 -3 34676 34675 34547 -3 26831 26834 11594 -3 30226 30225 30092 -3 30093 30226 30092 -3 30359 30358 30225 -3 30226 30359 30225 -3 30359 30493 30492 -3 30358 30359 30492 -3 30493 30627 30626 -3 30492 30493 30626 -3 30627 30761 30760 -3 30626 30627 30760 -3 29535 29536 22002 -3 12920 24777 22976 -3 30736 6914 2948 -3 24992 24991 24864 -3 19270 28984 2541 -3 34018 34017 33882 -3 29520 29519 29382 -3 26904 26594 6537 -3 29502 29503 29640 -3 29383 29520 29382 -3 26919 19035 26584 -3 19574 26941 12511 -3 30486 11384 19129 -3 27875 29354 29273 -3 18865 30693 14618 -3 19670 2810 20176 -3 19670 29682 2810 -3 28726 28725 5474 -3 28887 19670 20176 -3 28816 28850 30476 -3 7085 17571 24212 -3 11449 15329 28018 -3 19242 19629 19462 -3 7189 17571 7085 -3 29239 29240 29376 -3 6918 17568 3087 -3 30578 30579 30712 -3 29103 29240 29239 -3 29918 30049 29917 -3 17270 17568 30712 -3 27528 30074 27644 -3 29918 29917 29788 -3 29387 29524 29386 -3 29402 27528 27644 -3 27385 27386 28731 -3 28713 28712 28583 -3 27386 28744 28731 -3 28744 30466 30465 -3 18057 19436 7402 -3 21940 18057 7402 -3 30618 29825 29762 -3 23653 24969 24912 -3 26615 26726 26725 -3 26614 26615 26725 -3 26726 26842 26841 -3 26725 26726 26841 -3 26842 26959 26958 -3 26841 26842 26958 -3 26959 27077 27076 -3 26958 26959 27076 -3 27431 27313 12009 -3 27076 27077 27194 -3 30201 22491 30068 -3 30926 30925 30871 -3 24040 25131 25133 -3 28125 25647 23654 -3 23953 20058 23954 -3 2807 27989 28881 -3 30730 30729 30595 -3 30582 30716 30581 -3 29125 29158 26830 -3 19685 19686 569 -3 28845 28844 28712 -3 30089 30735 28233 -3 29686 29552 19494 -3 33731 33730 33603 -3 34680 34808 34679 -3 21508 21417 29830 -3 6656 29120 21746 -3 29291 28722 19143 -3 28971 28970 28837 -3 6837 26947 6407 -3 2943 2805 30643 -3 28838 28971 28837 -3 29289 29022 30470 -3 30762 27640 27525 -3 30700 30699 30565 -3 29120 19794 21746 -3 28880 27529 29538 -3 29563 30472 17262 -3 2271 28887 20176 -3 19789 21474 21563 -3 21287 16596 15316 -3 5474 2271 20176 -3 30959 19964 19963 -3 18704 35122 19411 -3 31070 31132 31069 -3 17449 17371 17372 -3 25084 23078 19674 -3 34361 16931 16768 -3 29831 13846 29702 -3 26692 20087 26587 -3 33729 33728 33601 -3 30228 25942 20018 -3 27266 27378 12540 -3 23993 23598 25489 -3 30360 30359 30226 -3 6854 23081 19923 -3 30360 30494 30493 -3 30359 30360 30493 -3 30494 30628 30627 -3 30493 30494 30627 -3 23569 24777 30761 -3 30627 30628 30761 -3 21462 20866 20865 -3 15407 21757 15598 -3 22976 24777 21092 -3 24062 19304 24121 -3 27641 27645 29767 -3 28823 28824 28956 -3 30040 30172 30039 -3 30305 30438 30437 -3 30172 30305 30304 -3 30171 30172 30304 -3 29909 30040 29908 -3 30304 30305 30437 -3 29779 29780 29908 -3 30172 30171 30039 -3 29647 29780 29646 -3 30040 30039 29908 -3 29509 29647 29508 -3 29780 29909 29908 -3 29235 29234 29097 -3 29780 29779 29646 -3 34361 12463 33811 -3 28963 28962 28829 -3 7190 7189 7085 -3 32952 33058 32951 -3 3086 21946 21947 -3 19788 19787 22329 -3 29102 29103 29239 -3 26497 27435 27432 -3 30713 17270 30712 -3 28452 28574 28451 -3 29789 29918 29788 -3 2409 3086 17568 -3 30419 30422 10727 -3 28839 28972 28838 -3 28712 28582 28583 -3 27528 19346 30745 -3 28233 30735 29287 -3 30346 27868 35485 -3 18057 19686 19685 -3 28473 5340 21749 -3 2807 28881 29258 -3 30462 30596 30461 -3 28130 29019 28129 -3 11008 7468 14514 -3 21415 19708 22925 -3 26727 26843 26842 -3 26726 26727 26842 -3 26843 26960 26959 -3 26842 26843 26959 -3 26960 27078 27077 -3 26959 26960 27077 -3 19476 25767 25766 -3 25922 27078 27196 -3 22491 30201 22590 -3 30506 25577 30505 -3 33171 33170 33065 -3 20240 6927 30715 -3 566 19638 21555 -3 11775 12902 30689 -3 30596 30730 30595 -3 28849 21545 21637 -3 26830 30089 28233 -3 30730 21940 7402 -3 30061 30060 29929 -3 30735 28473 29287 -3 27553 28879 21972 -3 28713 28845 28712 -3 29381 29518 29380 -3 19139 21373 19983 -3 28865 29425 28722 -3 6409 19143 28722 -3 27504 27505 27622 -3 27740 27739 27622 -3 27530 27173 30477 -3 26793 24359 23603 -3 30310 30311 30443 -3 29914 29915 30045 -3 19358 19452 2403 -3 29521 29659 29520 -3 30299 30432 30431 -3 30566 30700 30565 -3 29372 29509 29371 -3 29647 29646 29508 -3 29235 29372 29234 -3 29509 29508 29371 -3 29098 29235 29097 -3 29372 29371 29234 -3 11834 27415 11920 -3 18304 19522 17363 -3 27647 27762 12167 -3 20018 21542 29962 -3 29832 29831 29702 -3 29703 29832 29702 -3 11613 26629 26628 -3 32842 32950 32841 -3 28107 28737 28738 -3 19740 30611 28218 -3 31434 31506 31433 -3 26208 24187 26209 -3 13311 18223 19214 -3 27254 26244 26252 -3 30361 30495 30494 -3 30360 30361 30494 -3 30495 30629 30628 -3 30494 30495 30628 -3 30628 30629 23569 -3 24362 24777 23569 -3 23900 19132 27531 -3 18189 14083 13698 -3 27509 27508 27389 -3 30569 30570 30703 -3 28092 28209 28091 -3 27152 27153 27271 -3 27975 28092 27974 -3 28326 28325 28208 -3 27859 27975 27858 -3 28209 28208 28091 -3 27859 27858 27743 -3 28092 28091 27974 -3 27744 27859 27743 -3 27975 27974 27858 -3 28209 28326 28208 -3 28446 28445 28325 -3 28326 28446 28325 -3 28568 28567 28445 -3 28446 28568 28445 -3 28697 28696 28567 -3 28569 28698 28568 -3 28830 28829 28697 -3 33163 33162 33057 -3 26522 26422 30635 -3 30708 6865 30707 -3 22328 22329 30841 -3 26494 26497 27432 -3 6532 19137 29157 -3 28452 28451 28331 -3 28332 28452 28331 -3 17270 2409 17568 -3 6979 26626 6841 -3 28839 28838 28706 -3 28707 28839 28706 -3 26905 27760 26594 -3 26703 22007 26704 -3 33261 33262 33370 -3 27289 19128 29763 -3 29287 28473 21749 -3 29892 29428 21752 -3 30462 30461 30328 -3 30329 30462 30328 -3 28842 28841 28709 -3 28996 2807 29258 -3 3311 13686 22925 -3 22925 19708 3311 -3 26728 26844 26843 -3 26727 26728 26843 -3 26844 26961 26960 -3 26843 26844 26960 -3 27079 27078 26960 -3 26961 27079 26960 -3 35669 35613 35506 -3 15041 19217 18179 -3 22194 21722 12358 -3 33580 28579 27381 -3 28710 28842 28709 -3 30064 30196 30063 -3 30329 30328 30195 -3 5340 17259 30554 -3 30729 30730 7402 -3 21749 5340 30554 -3 17259 29892 21752 -3 30315 30448 30314 -3 11437 11403 27992 -3 1961 7069 21744 -3 27867 17253 26904 -3 29244 29381 29380 -3 29243 29244 29380 -3 21945 19355 19353 -3 2409 21945 3086 -3 27623 27740 27622 -3 17626 2403 3362 -3 28563 28564 28692 -3 28958 29093 29092 -3 29425 27289 29763 -3 28825 28958 28957 -3 29426 28748 28099 -3 28732 28733 27759 -3 28830 28963 28829 -3 29098 29097 28962 -3 28829 28828 28696 -3 28568 28697 28567 -3 24752 12800 23502 -3 28697 28829 28696 -3 24098 26596 26225 -3 35634 25128 24994 -3 27415 11834 27416 -3 19304 24063 30609 -3 29571 29704 29703 -3 29570 29571 29703 -3 29704 25040 29703 -3 24346 19478 2957 -3 27374 30738 30746 -3 28494 30612 29683 -3 30612 27374 30746 -3 28736 28494 30341 -3 19564 25784 13893 -3 24300 21373 6944 -3 26212 21913 30496 -3 14233 14136 14137 -3 30361 26212 30495 -3 22000 22001 22096 -3 30496 30630 30629 -3 30495 30496 30629 -3 30630 30764 30763 -3 30629 30630 30763 -3 19235 24537 22288 -3 20260 26920 20259 -3 30704 30838 30837 -3 6783 7069 1961 -3 27272 27390 27389 -3 30703 30704 30837 -3 35064 35063 34934 -3 27271 27272 27389 -3 29818 29133 23898 -3 27153 27272 27271 -3 29109 29108 28973 -3 28974 29109 28973 -3 20259 26920 27037 -3 30589 30723 30588 -3 26907 11404 27267 -3 24608 26816 26705 -3 18865 30558 30693 -3 29384 29383 29246 -3 28962 28961 28828 -3 26852 29134 29014 -3 28698 28830 28697 -3 28829 28962 28828 -3 27551 27022 19678 -3 28698 28697 28568 -3 6865 22328 30841 -3 26422 27551 19678 -3 17574 26964 29948 -3 6865 30841 30707 -3 28574 28573 28451 -3 19900 6532 29157 -3 26626 26409 26407 -3 28215 28332 28214 -3 28972 28971 28838 -3 26485 26626 26407 -3 33603 33730 33729 -3 28578 28707 28577 -3 26511 26607 26510 -3 26704 26705 26816 -3 19575 27408 29084 -3 24451 30623 17671 -3 30596 30595 30461 -3 29428 19575 29084 -3 29388 29525 29387 -3 30196 30195 30063 -3 28710 28709 28580 -3 26618 26729 26728 -3 26617 26618 26728 -3 26729 26845 26844 -3 26728 26729 26844 -3 26845 26962 26961 -3 26844 26845 26961 -3 26962 27080 27079 -3 26961 26962 27079 -3 3862 15041 19106 -3 18477 3862 19106 -3 29256 29255 29118 -3 30064 30063 29932 -3 29663 29662 29524 -3 30554 17259 21752 -3 30196 30329 30195 -3 29428 29084 21752 -3 24603 21447 25940 -3 24062 20200 20199 -3 23670 24485 24913 -3 25413 12752 25271 -3 28871 28723 12652 -3 29107 29106 28971 -3 11498 7069 7006 -3 21946 21945 19353 -3 29518 29517 29380 -3 28835 28834 28702 -3 19355 7297 7296 -3 28835 28968 28834 -3 29103 29102 28967 -3 29526 29664 29525 -3 29920 29919 29790 -3 5607 7189 7190 -3 19352 19456 6788 -3 33051 33156 33155 -3 7082 26522 30635 -3 35553 35909 35671 -3 28963 29098 28962 -3 12603 25353 28123 -3 27784 24226 25673 -3 11236 35831 14282 -3 33602 33729 33601 -3 25209 24676 25147 -3 35611 29126 35467 -3 29434 29572 29571 -3 24847 21066 30599 -3 29705 29704 29571 -3 29572 29705 29571 -3 23502 28255 25361 -3 29705 29834 29704 -3 25242 25722 25104 -3 12442 12532 12531 -3 28494 29683 30341 -3 32097 32197 32096 -3 26212 30496 30495 -3 30612 30746 29683 -3 32298 32297 32196 -3 24398 24475 26245 -3 30491 30492 25438 -3 21287 15316 15329 -3 30631 30630 30496 -3 35466 35357 14083 -3 30631 30765 30764 -3 30630 30631 30764 -3 27179 11747 11667 -3 24570 30764 30765 -3 30435 30436 30569 -3 21363 21362 21273 -3 22430 22429 14737 -3 30303 30436 30435 -3 30838 22429 22430 -3 19457 19458 14737 -3 30837 30838 22430 -3 22429 16457 14737 -3 16457 19457 14737 -3 19457 5339 6784 -3 6835 6836 11438 -3 30570 30704 30703 -3 19458 19457 6784 -3 6967 6835 11438 -3 6967 11438 6784 -3 5339 6967 6784 -3 29525 29524 29387 -3 28087 28088 28204 -3 29097 29096 28961 -3 28962 29097 28961 -3 28569 28568 28446 -3 28447 28569 28446 -3 18261 18271 27022 -3 27551 18261 27022 -3 30574 30708 30707 -3 30573 30574 30707 -3 1960 17574 29948 -3 26964 6532 19900 -3 28098 28215 28097 -3 28332 28331 28214 -3 26409 27199 27195 -3 26407 26409 27195 -3 24416 24359 24276 -3 28707 28706 28577 -3 2410 17840 30833 -3 22010 23522 30786 -3 26706 26707 26818 -3 21453 21290 20739 -3 21472 20817 27408 -3 19575 21472 27408 -3 29933 29932 29803 -3 29804 29933 29803 -3 29019 28884 28129 -3 29255 29254 29117 -3 26619 26730 26729 -3 26618 26619 26729 -3 26730 26846 26845 -3 26729 26730 26845 -3 26846 26963 26962 -3 26845 26846 26962 -3 26963 27081 27080 -3 26962 26963 27080 -3 27080 27081 27198 -3 26712 26713 26824 -3 24603 24957 26083 -3 26478 27380 27373 -3 22139 23606 25915 -3 29933 30064 29932 -3 26699 26698 25288 -3 24036 12537 24272 -3 27319 12020 12021 -3 18510 30782 30783 -3 23800 25647 24830 -3 25953 24492 13078 -3 28972 29107 28971 -3 26600 26705 26704 -3 19353 19355 7296 -3 29244 29243 29106 -3 28574 28703 28573 -3 7297 7077 6969 -3 28703 28835 28702 -3 28968 28967 28834 -3 29791 29920 29790 -3 29252 29389 29251 -3 30057 30189 30056 -3 30322 30321 30188 -3 21095 21182 28098 -3 6788 5607 7190 -3 24301 24302 27500 -3 29256 29118 21823 -3 28889 29024 29023 -3 30883 30937 30882 -3 29024 29161 29160 -3 29023 29024 29160 -3 29161 29298 29297 -3 29160 29161 29297 -3 29298 29435 29434 -3 29297 29298 29434 -3 29435 29573 29572 -3 29434 29435 29572 -3 29706 29705 29572 -3 29573 29706 29572 -3 29835 29834 29705 -3 29706 29835 29705 -3 29966 29965 29834 -3 29835 29966 29834 -3 381 17630 17726 -3 19566 21757 15407 -3 14736 34195 33467 -3 28218 28107 28738 -3 29259 29152 27433 -3 13363 13266 13267 -3 28738 28737 29259 -3 2922 30477 22729 -3 34282 34420 34281 -3 35880 35592 35609 -3 30631 25018 30765 -3 30631 22194 25018 -3 32296 32295 32194 -3 30766 17888 30765 -3 32195 32296 32194 -3 13194 14175 14265 -3 30302 30303 30435 -3 21546 34091 21547 -3 30303 30302 30169 -3 30436 30570 30569 -3 30170 30169 30037 -3 30170 30303 30169 -3 30038 30037 29906 -3 30038 30170 30037 -3 29778 29907 29777 -3 29907 30038 29906 -3 29778 29777 29644 -3 29645 29778 29644 -3 19375 21461 6836 -3 6835 19375 6836 -3 21556 26524 29540 -3 19426 24289 24274 -3 29234 29233 29096 -3 29097 29234 29096 -3 28210 28327 28209 -3 28447 28446 28326 -3 27049 29941 18271 -3 18261 27049 18271 -3 30306 30307 30439 -3 30440 30574 30573 -3 30758 8660 26584 -3 29013 30758 26584 -3 28098 28097 27980 -3 27981 28098 27980 -3 27199 28554 28547 -3 27195 27199 28547 -3 27789 27905 12532 -3 26739 11769 11687 -3 28601 28602 30344 -3 28722 29425 28856 -3 26404 35445 28308 -3 20261 24676 25209 -3 27788 27785 20817 -3 21472 27788 20817 -3 29533 29671 29532 -3 29804 29803 29670 -3 29118 29255 29117 -3 28478 30083 29559 -3 26620 26731 26730 -3 26619 26620 26730 -3 26731 26847 26846 -3 26730 26731 26846 -3 29831 29962 13944 -3 26846 26847 26963 -3 12020 11935 12021 -3 11529 11464 11465 -3 12184 12101 12102 -3 29262 29399 13317 -3 33730 33864 33729 -3 35526 35673 35822 -3 22883 22884 30733 -3 10527 4239 10525 -3 19959 2989 3129 -3 27672 27673 12440 -3 25458 18993 19031 -3 12353 27786 12438 -3 30959 25503 30902 -3 7296 7297 6969 -3 29107 29244 29106 -3 19109 6084 16190 -3 6979 6841 6969 -3 27964 28081 28080 -3 21376 22744 17321 -3 19137 19035 26919 -3 17303 11943 11836 -3 29157 19137 26919 -3 29948 26964 19900 -3 24302 24301 24631 -3 22328 19788 22329 -3 24901 30671 24559 -3 30099 25043 29967 -3 28757 28890 28889 -3 27981 21009 21095 -3 28890 29025 29024 -3 28889 28890 29024 -3 29025 29162 29161 -3 29024 29025 29161 -3 29162 29299 29298 -3 29161 29162 29298 -3 29299 29436 29435 -3 29298 29299 29435 -3 29436 29574 29573 -3 29435 29436 29573 -3 29707 29706 29573 -3 29574 29707 29573 -3 29836 29835 29706 -3 29707 29836 29706 -3 29967 29966 29835 -3 29836 29967 29835 -3 28433 28555 21533 -3 23239 17573 6280 -3 12256 12255 27664 -3 12090 27431 12091 -3 27972 27971 27855 -3 30767 30766 25536 -3 28089 28088 27971 -3 27856 27972 27855 -3 12642 35700 35680 -3 27972 28089 27971 -3 10647 4239 10771 -3 12353 12267 12268 -3 17555 17888 30766 -3 30767 17555 30766 -3 23458 9772 23457 -3 25402 27957 26970 -3 31791 31790 31690 -3 21931 21930 6281 -3 31899 32000 31898 -3 28245 28870 19680 -3 32100 32099 31999 -3 31897 31896 31790 -3 6279 19792 27050 -3 2137 35824 19680 -3 19904 6279 27050 -3 30178 30311 30310 -3 29907 29906 29777 -3 28942 28859 28870 -3 26354 26353 21461 -3 29645 29644 29506 -3 29796 29925 29795 -3 19375 26354 21461 -3 29371 29370 29233 -3 27782 27875 29273 -3 28327 28447 28326 -3 29234 29371 29233 -3 27519 13660 29941 -3 28093 28210 28092 -3 30439 30440 30573 -3 27049 27519 29941 -3 19553 12511 8660 -3 30173 30174 30306 -3 28215 28214 28097 -3 30758 19553 8660 -3 28554 30331 30292 -3 27981 27980 27864 -3 28578 28577 28455 -3 28547 28554 30292 -3 3624 18516 13526 -3 26494 27432 27414 -3 26707 26819 26818 -3 29427 29565 27282 -3 27788 27517 30084 -3 28991 28590 27401 -3 29671 29804 29670 -3 27785 27788 30084 -3 18375 19344 26917 -3 29396 29533 29395 -3 28478 29559 26691 -3 26516 26621 26620 -3 2682 238 9284 -3 26620 26621 26731 -3 33735 33869 33734 -3 6850 9284 8907 -3 21459 26347 26346 -3 25213 25288 26698 -3 21368 21459 26346 -3 34946 35075 34945 -3 29890 22665 22764 -3 27319 27438 27437 -3 27318 27319 27437 -3 27438 27556 27555 -3 27437 27438 27555 -3 27556 27673 27672 -3 27555 27556 27672 -3 11232 19904 6671 -3 12441 12440 27673 -3 7077 6979 6969 -3 25961 23916 6410 -3 17377 25073 25482 -3 26626 26485 6841 -3 12622 28022 28138 -3 35726 35446 35582 -3 28255 23502 12800 -3 12711 12621 12622 -3 26450 26382 26451 -3 21088 21177 21176 -3 19456 19352 19787 -3 19456 5607 6788 -3 31132 31131 31069 -3 19788 19456 19787 -3 28626 28758 28757 -3 21095 28098 27981 -3 28758 28891 28890 -3 28757 28758 28890 -3 28891 29026 29025 -3 28890 28891 29025 -3 29026 29163 29162 -3 29025 29026 29162 -3 29163 29300 29299 -3 29162 29163 29299 -3 29300 29437 29436 -3 29299 29300 29436 -3 29437 29575 29574 -3 29436 29437 29574 -3 29708 29707 29574 -3 29575 29708 29574 -3 29837 29836 29707 -3 29708 29837 29707 -3 29968 29967 29836 -3 29837 29968 29836 -3 29968 30100 30099 -3 29967 29968 30099 -3 33503 33622 33502 -3 30948 31006 30947 -3 25940 30902 25503 -3 24187 17555 30767 -3 28323 28322 28205 -3 28206 28323 28205 -3 28206 28205 28088 -3 28089 28206 28088 -3 23925 17555 24852 -3 30743 2541 2675 -3 31693 31692 31597 -3 31686 31685 31590 -3 27150 28470 28466 -3 12711 12620 12621 -3 19914 28015 27900 -3 21460 21461 26352 -3 30207 30208 21931 -3 6281 19914 27900 -3 28466 28470 30207 -3 21930 19914 6281 -3 26603 26707 24162 -3 30208 21930 21931 -3 30422 18375 10727 -3 20892 22156 23959 -3 28245 28942 28870 -3 2537 2805 30198 -3 29507 29645 29506 -3 27290 27291 28859 -3 26354 27162 27150 -3 29507 29506 29369 -3 24359 24406 25785 -3 26353 26354 27150 -3 29508 29507 29370 -3 27666 4784 20317 -3 28327 28326 28209 -3 29371 29508 29370 -3 27519 27258 30025 -3 27976 28093 27975 -3 30307 30440 30439 -3 13660 27519 30025 -3 19553 19574 12511 -3 30041 30042 30173 -3 27865 27981 27864 -3 28715 28847 28714 -3 30331 19565 19562 -3 27865 27864 27749 -3 26704 26816 26815 -3 30292 30331 19562 -3 28226 24921 24922 -3 4012 20195 16151 -3 29930 30061 29929 -3 22012 29534 29396 -3 29130 30079 30084 -3 11403 28009 27992 -3 29671 29670 29532 -3 27517 29130 30084 -3 19036 28478 26691 -3 20683 20601 20602 -3 19240 29004 29697 -3 26517 26622 26621 -3 26516 26517 26621 -3 23954 23955 29010 -3 9284 24569 2682 -3 18837 21407 21316 -3 25952 24403 22288 -3 30083 28019 29559 -3 29004 28749 29012 -3 28457 30200 28456 -3 28749 28858 29012 -3 9670 35880 10510 -3 24089 25346 25462 -3 27320 27439 27438 -3 27319 27320 27438 -3 27439 27557 27556 -3 27438 27439 27556 -3 27557 27674 27673 -3 27556 27557 27673 -3 25013 25083 25014 -3 23451 23353 23354 -3 20847 27634 20765 -3 28703 28702 28573 -3 25489 23598 25792 -3 28138 24646 28255 -3 28022 28139 28138 -3 27905 28022 12622 -3 22679 23959 22156 -3 32196 32297 32195 -3 26422 19678 30635 -3 28498 25322 28377 -3 24036 24245 12537 -3 28195 21264 28078 -3 28498 28627 28626 -3 31473 31472 31405 -3 28627 28759 28758 -3 28626 28627 28758 -3 28759 28892 28891 -3 28758 28759 28891 -3 28892 29027 29026 -3 28891 28892 29026 -3 29027 29164 29163 -3 29026 29027 29163 -3 29164 29301 29300 -3 29163 29164 29300 -3 29301 29438 29437 -3 29300 29301 29437 -3 29576 29575 29437 -3 29438 29576 29437 -3 29709 29708 29575 -3 29576 29709 29575 -3 29838 29837 29708 -3 29709 29838 29708 -3 29969 29968 29837 -3 29838 29969 29837 -3 29969 30101 30100 -3 29968 29969 30100 -3 30101 30234 30233 -3 30100 30101 30233 -3 12340 12427 12426 -3 25333 13893 25784 -3 28323 28443 28442 -3 19898 19897 17840 -3 6657 6966 7413 -3 6782 6657 7413 -3 30233 23711 30100 -3 6966 11407 6897 -3 30177 30178 30310 -3 32306 32409 32305 -3 28323 28324 28443 -3 24834 23505 11483 -3 26353 27150 27144 -3 28444 28566 28565 -3 6836 21461 21460 -3 26352 26353 27144 -3 11407 6836 21460 -3 21461 26353 26352 -3 27144 27150 28466 -3 28470 30208 30207 -3 17668 24255 30482 -3 24423 24422 24338 -3 2682 24569 29358 -3 24169 20759 24304 -3 28942 27290 28859 -3 33347 3538 33451 -3 29370 29507 29369 -3 28073 26490 27291 -3 27162 28471 28470 -3 29233 29370 29232 -3 21572 14947 21573 -3 27150 27162 28470 -3 29646 29645 29507 -3 9277 452 29947 -3 28210 28209 28092 -3 29508 29646 29507 -3 34004 34003 33868 -3 28093 28092 27975 -3 30174 30307 30306 -3 30025 27258 14848 -3 29808 29674 22203 -3 30042 30174 30173 -3 23444 15631 22855 -3 30217 28548 26941 -3 19565 26581 26568 -3 27632 27633 27749 -3 29256 29393 29255 -3 19562 19565 26568 -3 29392 29529 29391 -3 24569 9284 6850 -3 18928 27612 18189 -3 29919 29918 29789 -3 29130 28600 28598 -3 27992 28009 26486 -3 29533 29532 29395 -3 30079 29130 28598 -3 28708 28840 28707 -3 29530 29668 29529 -3 29142 28998 28858 -3 20580 18408 26599 -3 26517 26518 26622 -3 19790 6853 2537 -3 25351 25495 23642 -3 28708 28707 28578 -3 28579 28708 28578 -3 27179 27180 11834 -3 28840 28839 28707 -3 12021 27203 27320 -3 5741 27646 27635 -3 27203 27321 27320 -3 25018 30766 30765 -3 27321 27440 27439 -3 27320 27321 27439 -3 27440 27558 27557 -3 27439 27440 27557 -3 27558 27675 27674 -3 27557 27558 27674 -3 27675 27790 27789 -3 27674 27675 27789 -3 27790 27906 27905 -3 27789 27790 27905 -3 27906 28023 28022 -3 27905 27906 28022 -3 28140 28139 28022 -3 28023 28140 28022 -3 28124 28008 12514 -3 28140 28257 28139 -3 30535 30536 25010 -3 26847 26731 11597 -3 28377 28499 28498 -3 23708 30235 30368 -3 28499 28628 28627 -3 28498 28499 28627 -3 28628 28760 28759 -3 28627 28628 28759 -3 28760 28893 28892 -3 28759 28760 28892 -3 28893 29028 29027 -3 28892 28893 29027 -3 29028 29165 29164 -3 29027 29028 29164 -3 29165 29302 29301 -3 29164 29165 29301 -3 29302 29439 29438 -3 29301 29302 29438 -3 29577 29576 29438 -3 29439 29577 29438 -3 29710 29709 29576 -3 29577 29710 29576 -3 29710 29839 29838 -3 29709 29710 29838 -3 29970 29969 29838 -3 29839 29970 29838 -3 30102 30101 29969 -3 29970 30102 29969 -3 30102 30235 30234 -3 30101 30102 30234 -3 11687 11612 26739 -3 19972 19971 31274 -3 19976 19975 31408 -3 23708 25573 25572 -3 18602 6657 19595 -3 12692 28239 25353 -3 21460 26352 26348 -3 21369 21460 26348 -3 29229 29366 29365 -3 26944 29563 28361 -3 28207 28324 28323 -3 30033 30034 30165 -3 28565 28566 28694 -3 27973 28090 27972 -3 28443 28444 28565 -3 28827 28826 28694 -3 28324 28444 28443 -3 28566 28695 28694 -3 28206 28207 28323 -3 24510 27989 24617 -3 24255 24181 24182 -3 11483 24571 17315 -3 30618 24510 29825 -3 14848 24068 452 -3 30604 30470 27607 -3 31591 31686 31590 -3 27290 28073 27291 -3 29895 26591 26490 -3 29233 29232 29095 -3 29096 29233 29095 -3 30212 30208 28470 -3 28471 30212 28470 -3 29765 452 9277 -3 29895 29765 9277 -3 29779 29778 29645 -3 29646 29779 29645 -3 27745 27860 27744 -3 27976 27975 27859 -3 19789 19687 19739 -3 23708 25572 23710 -3 29781 29782 29910 -3 29911 30042 30041 -3 30441 30575 30574 -3 28848 28716 21544 -3 27515 27633 27632 -3 27514 27515 27632 -3 26581 28586 28493 -3 26568 26581 28493 -3 26930 30734 17669 -3 29382 29381 29244 -3 27412 27414 28813 -3 26910 27607 26524 -3 29801 29930 29800 -3 29930 29929 29800 -3 28600 11229 11511 -3 28598 28600 11511 -3 26249 24869 9012 -3 30464 30598 30463 -3 23519 25949 26492 -3 30349 30216 29129 -3 30224 14039 14040 -3 11575 21770 26599 -3 34588 34716 34587 -3 19702 30739 30613 -3 24637 26818 26819 -3 27204 11937 11938 -3 30344 30347 19559 -3 27204 27322 27321 -3 27203 27204 27321 -3 27322 27441 27440 -3 27321 27322 27440 -3 27441 27559 27558 -3 27440 27441 27558 -3 27559 27676 27675 -3 27558 27559 27675 -3 27676 27791 27790 -3 27675 27676 27790 -3 27791 27907 27906 -3 27790 27791 27906 -3 27907 28024 28023 -3 27906 27907 28023 -3 28141 28140 28023 -3 28024 28141 28023 -3 28258 28257 28140 -3 28141 28258 28140 -3 28258 28378 28377 -3 28257 28258 28377 -3 28378 28500 28499 -3 28377 28378 28499 -3 28500 28629 28628 -3 28499 28500 28628 -3 28629 28761 28760 -3 28628 28629 28760 -3 28761 28894 28893 -3 28760 28761 28893 -3 28894 29029 29028 -3 28893 28894 29028 -3 29166 29165 29028 -3 29029 29166 29028 -3 29303 29302 29165 -3 29166 29303 29165 -3 29440 29439 29302 -3 29303 29440 29302 -3 29578 29577 29439 -3 29440 29578 29439 -3 29711 29710 29577 -3 29578 29711 29577 -3 29711 29840 29839 -3 29710 29711 29839 -3 29840 29971 29970 -3 29839 29840 29970 -3 30103 30102 29970 -3 29971 30103 29970 -3 30103 30236 30235 -3 30102 30103 30235 -3 30236 30369 30368 -3 30235 30236 30368 -3 2960 24791 2822 -3 30369 30503 30368 -3 27317 12100 12019 -3 30689 12902 23042 -3 26352 27144 27140 -3 20028 18602 19899 -3 28870 29291 2137 -3 26348 26352 27140 -3 28684 21625 21626 -3 19261 19369 2412 -3 28207 28206 28089 -3 33672 33673 927 -3 27973 27972 27856 -3 28090 28207 28089 -3 27857 27973 27856 -3 28090 28089 27972 -3 17303 17315 24566 -3 30750 30088 30751 -3 17303 24565 17264 -3 25281 30229 26081 -3 30624 14560 24032 -3 29966 29967 25043 -3 31432 31431 31364 -3 30169 30168 30036 -3 28073 29895 26490 -3 19233 28736 19032 -3 29370 29369 29232 -3 29895 9277 18931 -3 30212 19675 21930 -3 29096 29095 28960 -3 21643 2750 27893 -3 30208 30212 21930 -3 29908 29907 29778 -3 29159 26946 27290 -3 27860 27976 27859 -3 29779 29908 29778 -3 18189 29006 14083 -3 27860 27859 27744 -3 29910 29911 30041 -3 19923 19789 19739 -3 30588 30722 30721 -3 29782 29911 29910 -3 23152 22756 15631 -3 6919 6865 30708 -3 28586 28490 28491 -3 27395 27396 27514 -3 30464 30463 30330 -3 28493 28586 28491 -3 28711 28710 28581 -3 22286 22190 22191 -3 28009 26493 26486 -3 33580 28581 28580 -3 11229 6660 2771 -3 29264 28099 19571 -3 30598 30732 30597 -3 11511 11229 2771 -3 2950 3092 3091 -3 28846 28845 28713 -3 27402 29688 27289 -3 30454 30588 30453 -3 27140 28458 28457 -3 20513 20428 27151 -3 2820 22332 19574 -3 33274 33273 33168 -3 29834 25040 29704 -3 27205 27323 27322 -3 27204 27205 27322 -3 27323 27442 27441 -3 27322 27323 27441 -3 27442 27560 27559 -3 27441 27442 27559 -3 27560 27677 27676 -3 27559 27560 27676 -3 27677 27792 27791 -3 27676 27677 27791 -3 27792 27908 27907 -3 27791 27792 27907 -3 28025 28024 27907 -3 27908 28025 27907 -3 28142 28141 28024 -3 28025 28142 28024 -3 28259 28258 28141 -3 28142 28259 28141 -3 28259 28379 28378 -3 28258 28259 28378 -3 28379 28501 28500 -3 28378 28379 28500 -3 28501 28630 28629 -3 28500 28501 28629 -3 28630 28762 28761 -3 28629 28630 28761 -3 28762 28895 28894 -3 28761 28762 28894 -3 28895 29030 29029 -3 28894 28895 29029 -3 29167 29166 29029 -3 29030 29167 29029 -3 29304 29303 29166 -3 29167 29304 29166 -3 29441 29440 29303 -3 29304 29441 29303 -3 29579 29578 29440 -3 29441 29579 29440 -3 29712 29711 29578 -3 29579 29712 29578 -3 29712 29841 29840 -3 29711 29712 29840 -3 29841 29972 29971 -3 29840 29841 29971 -3 30104 30103 29971 -3 29972 30104 29971 -3 30104 30237 30236 -3 30103 30104 30236 -3 30237 30370 30369 -3 30236 30237 30369 -3 30504 30503 30369 -3 30370 30504 30369 -3 13845 13944 13943 -3 27173 30609 24063 -3 6657 6782 19595 -3 28322 28323 28442 -3 27144 28466 28458 -3 2951 20028 2813 -3 34937 34936 34807 -3 27140 27144 28458 -3 27291 28869 28865 -3 31791 31897 31790 -3 3844 6006 29491 -3 28859 27291 28865 -3 30758 5733 19553 -3 28870 28859 29291 -3 21374 25779 25767 -3 26490 27402 28869 -3 11839 27081 11755 -3 25405 26969 25404 -3 35684 5560 35648 -3 26589 26588 25949 -3 30037 30169 30036 -3 34680 34679 34551 -3 29264 29568 29022 -3 30302 30301 30168 -3 26591 29895 18931 -3 19138 27867 19659 -3 28961 29096 28960 -3 9277 29947 29815 -3 19675 5088 19914 -3 28961 28960 28827 -3 29765 29895 28073 -3 21930 19675 19914 -3 30039 30038 29907 -3 26946 29765 28073 -3 27628 27745 27627 -3 30834 30835 2410 -3 31786 31785 31685 -3 26834 26831 26835 -3 29511 29649 29510 -3 29782 29781 29648 -3 29911 29912 30042 -3 26703 26704 26815 -3 27278 27396 27395 -3 27277 27278 27395 -3 28490 28947 19901 -3 28491 28490 19901 -3 29808 29807 29674 -3 28692 28693 28824 -3 28843 28842 28710 -3 28711 28843 28710 -3 24570 12008 23568 -3 28369 28491 19517 -3 6660 29819 29288 -3 2771 6660 29288 -3 26610 26611 26715 -3 27505 20677 27387 -3 29384 29521 29383 -3 30325 30324 30191 -3 7288 5741 27635 -3 19270 26593 28984 -3 29220 29293 29156 -3 19577 19688 567 -3 10771 4239 4371 -3 12532 27905 12622 -3 22677 22678 22776 -3 27087 27206 27205 -3 11938 27205 27204 -3 27206 27324 27323 -3 27205 27206 27323 -3 27324 27443 27442 -3 27323 27324 27442 -3 27443 27561 27560 -3 27442 27443 27560 -3 27561 27678 27677 -3 27560 27561 27677 -3 27678 27793 27792 -3 27677 27678 27792 -3 27793 27909 27908 -3 27792 27793 27908 -3 28026 28025 27908 -3 27909 28026 27908 -3 28143 28142 28025 -3 28026 28143 28025 -3 28143 28260 28259 -3 28142 28143 28259 -3 28260 28380 28379 -3 28259 28260 28379 -3 28380 28502 28501 -3 28379 28380 28501 -3 28502 28631 28630 -3 28501 28502 28630 -3 28631 28763 28762 -3 28630 28631 28762 -3 28763 28896 28895 -3 28762 28763 28895 -3 28896 29031 29030 -3 28895 28896 29030 -3 29031 29168 29167 -3 29030 29031 29167 -3 29305 29304 29167 -3 29168 29305 29167 -3 29442 29441 29304 -3 29305 29442 29304 -3 29580 29579 29441 -3 29442 29580 29441 -3 29713 29712 29579 -3 29580 29713 29579 -3 29713 29842 29841 -3 29712 29713 29841 -3 29842 29973 29972 -3 29841 29842 29972 -3 30105 30104 29972 -3 29973 30105 29972 -3 30105 30238 30237 -3 30104 30105 30237 -3 30238 30371 30370 -3 30237 30238 30370 -3 30505 30504 30370 -3 30371 30505 30370 -3 4950 21568 16178 -3 35607 35702 35387 -3 28443 28565 28564 -3 27856 27855 27740 -3 18602 19595 19899 -3 28442 28443 28564 -3 28466 30207 30203 -3 30836 2951 2813 -3 22729 30477 21396 -3 28458 28466 30203 -3 28585 33824 33823 -3 5563 35379 35604 -3 30672 24559 30671 -3 30886 30940 30885 -3 19001 4687 4686 -3 17815 19536 17911 -3 17306 17264 21374 -3 19476 17306 21374 -3 24010 30472 24009 -3 30603 26788 20758 -3 10601 28334 11404 -3 27064 26948 27065 -3 30169 30302 30168 -3 30037 30036 29905 -3 29503 29641 29640 -3 30435 30434 30301 -3 18931 9277 29815 -3 17626 19409 2403 -3 28828 28961 28827 -3 32400 32505 32399 -3 5088 28072 28015 -3 28828 28827 28695 -3 28426 28017 28134 -3 19914 5088 28015 -3 19899 19898 2410 -3 28709 28841 28708 -3 26491 26492 26587 -3 30299 30300 30432 -3 29649 29782 29648 -3 26588 26693 26692 -3 30587 30588 30721 -3 29649 29648 29510 -3 27396 27515 27514 -3 30504 30505 25576 -3 28947 19234 29020 -3 27158 27159 27277 -3 35933 35488 35944 -3 19901 28947 29020 -3 28976 28975 28842 -3 26604 26709 26708 -3 26824 26825 26939 -3 28843 28976 28842 -3 29819 30605 30740 -3 17260 27729 27164 -3 21608 28303 21516 -3 29288 29819 30740 -3 10727 18375 26914 -3 32868 32976 32975 -3 27164 11103 19039 -3 23916 17984 6410 -3 14055 15216 16610 -3 21468 6970 21471 -3 23710 30234 23708 -3 26611 26716 26715 -3 31896 31997 31895 -3 30468 22788 22689 -3 27087 11938 11853 -3 30093 14041 29961 -3 27088 27207 27206 -3 27087 27088 27206 -3 27207 27325 27324 -3 27206 27207 27324 -3 27325 27444 27443 -3 27324 27325 27443 -3 27444 27562 27561 -3 27443 27444 27561 -3 27562 27679 27678 -3 27561 27562 27678 -3 27679 27794 27793 -3 27678 27679 27793 -3 27794 27910 27909 -3 27793 27794 27909 -3 28027 28026 27909 -3 27910 28027 27909 -3 28144 28143 28026 -3 28027 28144 28026 -3 28144 28261 28260 -3 28143 28144 28260 -3 28261 28381 28380 -3 28260 28261 28380 -3 28381 28503 28502 -3 28380 28381 28502 -3 28503 28632 28631 -3 28502 28503 28631 -3 28632 28764 28763 -3 28631 28632 28763 -3 28764 28897 28896 -3 28763 28764 28896 -3 28897 29032 29031 -3 28896 28897 29031 -3 29032 29169 29168 -3 29031 29032 29168 -3 29306 29305 29168 -3 29169 29306 29168 -3 29443 29442 29305 -3 29306 29443 29305 -3 29581 29580 29442 -3 29443 29581 29442 -3 29714 29713 29580 -3 29581 29714 29580 -3 29714 29843 29842 -3 29713 29714 29842 -3 29843 29974 29973 -3 29842 29843 29973 -3 29974 30106 30105 -3 29973 29974 30105 -3 30106 30239 30238 -3 30105 30106 30238 -3 30239 30372 30371 -3 30238 30239 30371 -3 30506 30505 30371 -3 30372 30506 30371 -3 25806 26240 31655 -3 35866 35778 35607 -3 27741 27856 27740 -3 28737 29152 29259 -3 28694 28693 28564 -3 27624 27741 27623 -3 30835 30836 2813 -3 28565 28694 28564 -3 6281 27900 27899 -3 30568 30702 30567 -3 21931 6281 19855 -3 19855 6281 27899 -3 30207 21931 21846 -3 21846 21931 19855 -3 27749 20846 27865 -3 30203 30207 21846 -3 17312 17306 19476 -3 35748 35865 35640 -3 30356 30490 9402 -3 17312 30603 17306 -3 17306 20758 17264 -3 30603 20758 17306 -3 29906 30037 29905 -3 24865 24993 24992 -3 30302 30435 30301 -3 29906 29905 29776 -3 19591 29696 29015 -3 30435 30569 30568 -3 32614 32613 32504 -3 28841 28974 28840 -3 28696 28828 28695 -3 18930 22195 19017 -3 19242 27173 27530 -3 19629 19242 27530 -3 28204 28205 28321 -3 28441 28442 28563 -3 30166 30167 30299 -3 30300 30433 30432 -3 25444 25527 25241 -3 26692 26693 23692 -3 29374 29511 29510 -3 29373 29374 29510 -3 30743 13371 27282 -3 24657 24658 15873 -3 27041 27042 27158 -3 27159 27278 27277 -3 24908 24443 29153 -3 19234 29153 24443 -3 26416 26417 27202 -3 30482 29415 30087 -3 29111 29110 28975 -3 28976 29111 28975 -3 11413 11463 11412 -3 32726 32725 32611 -3 30605 19201 18770 -3 30740 30605 18770 -3 33698 28584 28583 -3 25793 24566 24571 -3 35846 35535 35414 -3 28622 26583 27139 -3 26731 11529 11597 -3 19032 30341 28887 -3 27968 27969 28085 -3 12481 6006 3844 -3 29893 17260 29698 -3 26739 26854 26853 -3 4396 332 22270 -3 26854 26972 26971 -3 26853 26854 26971 -3 26972 27089 27088 -3 26971 26972 27088 -3 27089 27208 27207 -3 27088 27089 27207 -3 27208 27326 27325 -3 27207 27208 27325 -3 27326 27445 27444 -3 27325 27326 27444 -3 27445 27563 27562 -3 27444 27445 27562 -3 27563 27680 27679 -3 27562 27563 27679 -3 27680 27795 27794 -3 27679 27680 27794 -3 27795 27911 27910 -3 27794 27795 27910 -3 28028 28027 27910 -3 27911 28028 27910 -3 28145 28144 28027 -3 28028 28145 28027 -3 28145 28262 28261 -3 28144 28145 28261 -3 28262 28382 28381 -3 28261 28262 28381 -3 28382 28504 28503 -3 28381 28382 28503 -3 28504 28633 28632 -3 28503 28504 28632 -3 28633 28765 28764 -3 28632 28633 28764 -3 28765 28898 28897 -3 28764 28765 28897 -3 28898 29033 29032 -3 28897 28898 29032 -3 29033 29170 29169 -3 29032 29033 29169 -3 29307 29306 29169 -3 29170 29307 29169 -3 29444 29443 29306 -3 29307 29444 29306 -3 29582 29581 29443 -3 29444 29582 29443 -3 29715 29714 29581 -3 29582 29715 29581 -3 29715 29844 29843 -3 29714 29715 29843 -3 29844 29975 29974 -3 29843 29844 29974 -3 29975 30107 30106 -3 29974 29975 30106 -3 30240 30239 30106 -3 30107 30240 30106 -3 30240 30373 30372 -3 30239 30240 30372 -3 30373 30507 30506 -3 30372 30373 30506 -3 27081 26963 11754 -3 29962 21542 29961 -3 27506 27624 27505 -3 27741 27740 27623 -3 25283 25646 25645 -3 27624 27623 27505 -3 28826 28959 28958 -3 27387 27506 27505 -3 30702 30836 30835 -3 28825 28826 28958 -3 30568 30567 30433 -3 30701 30702 30835 -3 30434 30568 30433 -3 30702 30701 30567 -3 2180 2051 2181 -3 20028 19899 2813 -3 18430 20313 20314 -3 20314 20313 21779 -3 30614 30603 17312 -3 17671 30614 17312 -3 26789 26788 30603 -3 30614 26789 30603 -3 31904 32005 31903 -3 25052 19915 24673 -3 29777 29906 29776 -3 20052 27146 28682 -3 30434 30435 30568 -3 29777 29776 29643 -3 29109 29246 29108 -3 30569 30703 30702 -3 28088 28205 28204 -3 30723 7174 30722 -3 29827 30750 28366 -3 29227 29228 29364 -3 26920 20260 26921 -3 29908 30039 29907 -3 30034 30035 30166 -3 27510 27628 27509 -3 21542 20018 25942 -3 30992 30991 30933 -3 29100 29237 29099 -3 29374 29373 29236 -3 30046 30178 30177 -3 331 17285 26599 -3 26924 27042 27041 -3 26923 26924 27041 -3 35254 13013 35251 -3 21152 14427 12991 -3 27255 28602 28601 -3 19144 19447 21469 -3 29248 29247 29110 -3 29111 29248 29110 -3 32976 33082 33081 -3 33487 33486 33373 -3 19201 19133 28127 -3 18770 19201 28127 -3 6853 19855 27645 -3 27645 27899 30156 -3 32948 33054 32947 -3 26629 11613 26525 -3 34547 34675 34546 -3 28071 30423 29149 -3 24492 23782 28626 -3 27645 27641 30770 -3 26628 26740 26739 -3 25522 25806 31655 -3 26740 26855 26854 -3 26739 26740 26854 -3 26855 26973 26972 -3 26854 26855 26972 -3 26973 27090 27089 -3 26972 26973 27089 -3 27090 27209 27208 -3 27089 27090 27208 -3 27209 27327 27326 -3 27208 27209 27326 -3 27327 27446 27445 -3 27326 27327 27445 -3 27446 27564 27563 -3 27445 27446 27563 -3 27564 27681 27680 -3 27563 27564 27680 -3 27681 27796 27795 -3 27680 27681 27795 -3 27796 27912 27911 -3 27795 27796 27911 -3 28029 28028 27911 -3 27912 28029 27911 -3 28146 28145 28028 -3 28029 28146 28028 -3 28146 28263 28262 -3 28145 28146 28262 -3 28263 28383 28382 -3 28262 28263 28382 -3 28383 28505 28504 -3 28382 28383 28504 -3 28505 28634 28633 -3 28504 28505 28633 -3 28634 28766 28765 -3 28633 28634 28765 -3 28766 28899 28898 -3 28765 28766 28898 -3 28899 29034 29033 -3 28898 28899 29033 -3 29034 29171 29170 -3 29033 29034 29170 -3 29171 29308 29307 -3 29170 29171 29307 -3 29445 29444 29307 -3 29308 29445 29307 -3 29583 29582 29444 -3 29445 29583 29444 -3 29716 29715 29582 -3 29583 29716 29582 -3 29716 29845 29844 -3 29715 29716 29844 -3 29845 29976 29975 -3 29844 29845 29975 -3 29976 30108 30107 -3 29975 29976 30107 -3 30241 30240 30107 -3 30108 30241 30107 -3 30374 30373 30240 -3 30241 30374 30240 -3 30374 30508 30507 -3 30373 30374 30507 -3 35542 29687 16313 -3 24182 24120 29415 -3 29368 29367 29230 -3 29231 29368 29230 -3 29368 29505 29367 -3 29505 29504 29367 -3 29505 29643 29504 -3 29643 29642 29504 -3 29231 29230 29093 -3 29776 29775 29642 -3 29094 29093 28958 -3 29094 29231 29093 -3 28826 28825 28693 -3 28959 29094 28958 -3 30625 30623 24451 -3 28694 28826 28693 -3 11422 31080 11424 -3 25568 26212 30229 -3 30623 30614 17671 -3 30625 24451 24450 -3 30623 26790 26789 -3 30614 30623 26789 -3 24052 20437 23601 -3 17872 17966 20362 -3 29289 29264 29022 -3 19792 18691 26504 -3 29644 29777 29643 -3 5733 2820 19553 -3 30568 30569 30702 -3 29369 29506 29368 -3 29697 29012 17316 -3 30703 30837 30836 -3 29502 29640 29639 -3 27854 27855 27970 -3 30039 30171 30170 -3 26946 28073 27290 -3 27745 27744 27627 -3 30038 30039 30170 -3 34934 34933 34804 -3 27628 27627 27509 -3 29237 29374 29236 -3 26920 27038 27037 -3 28228 25141 28227 -3 29237 29236 29099 -3 27042 27159 27158 -3 23990 24109 24765 -3 28450 28449 28329 -3 26808 26809 26923 -3 26508 26604 26507 -3 28330 28450 28329 -3 29385 29384 29247 -3 27979 27978 27862 -3 26939 20184 20183 -3 29248 29385 29247 -3 19133 1857 21839 -3 6406 28304 25550 -3 30341 19670 28887 -3 28127 19133 21839 -3 29149 29267 29129 -3 29903 30034 30033 -3 27971 28088 28087 -3 28071 29149 29129 -3 20739 21290 25765 -3 24942 3052 12192 -3 25105 30507 30508 -3 26629 26741 26740 -3 26628 26629 26740 -3 26741 26856 26855 -3 26740 26741 26855 -3 26856 26974 26973 -3 26855 26856 26973 -3 26974 27091 27090 -3 26973 26974 27090 -3 27091 27210 27209 -3 27090 27091 27209 -3 27210 27328 27327 -3 27209 27210 27327 -3 27328 27447 27446 -3 27327 27328 27446 -3 27447 27565 27564 -3 27446 27447 27564 -3 27565 27682 27681 -3 27564 27565 27681 -3 27682 27797 27796 -3 27681 27682 27796 -3 27797 27913 27912 -3 27796 27797 27912 -3 28030 28029 27912 -3 27913 28030 27912 -3 28147 28146 28029 -3 28030 28147 28029 -3 28147 28264 28263 -3 28146 28147 28263 -3 28264 28384 28383 -3 28263 28264 28383 -3 28384 28506 28505 -3 28383 28384 28505 -3 28506 28635 28634 -3 28505 28506 28634 -3 28635 28767 28766 -3 28634 28635 28766 -3 28767 28900 28899 -3 28766 28767 28899 -3 28900 29035 29034 -3 28899 28900 29034 -3 29172 29171 29034 -3 29035 29172 29034 -3 29172 29309 29308 -3 29171 29172 29308 -3 29446 29445 29308 -3 29309 29446 29308 -3 29584 29583 29445 -3 29446 29584 29445 -3 29584 29717 29716 -3 29583 29584 29716 -3 29717 29846 29845 -3 29716 29717 29845 -3 29846 29977 29976 -3 29845 29846 29976 -3 30109 30108 29976 -3 29977 30109 29976 -3 30242 30241 30108 -3 30109 30242 30108 -3 30242 30375 30374 -3 30241 30242 30374 -3 30375 30509 30508 -3 30374 30375 30508 -3 12442 27674 27789 -3 30777 25242 30644 -3 4381 8867 11975 -3 28228 25144 25142 -3 30301 30434 30300 -3 25310 25155 25725 -3 30168 30301 30167 -3 30434 30433 30300 -3 30035 30036 30167 -3 30301 30300 30167 -3 29904 29905 30035 -3 30036 30168 30167 -3 29776 29905 29775 -3 29905 30036 30035 -3 29643 29776 29642 -3 29905 29904 29775 -3 25646 28114 28115 -3 24450 25720 24444 -3 30334 22590 30201 -3 32321 32424 32423 -3 1382 11502 8780 -3 9897 13962 1644 -3 1382 9897 1644 -3 20865 27550 21462 -3 24054 27026 25183 -3 28361 29563 29634 -3 30604 29289 30470 -3 29264 19571 19350 -3 29644 29643 29505 -3 21556 26910 26524 -3 6410 21635 25961 -3 29506 29644 29505 -3 25144 28229 28230 -3 32294 32293 32192 -3 26947 26360 6407 -3 27777 27663 12255 -3 30171 30304 30303 -3 30170 30171 30303 -3 27391 27510 27509 -3 27390 27391 27509 -3 19900 29157 30340 -3 27038 27155 27154 -3 29100 29099 28964 -3 28965 29100 28964 -3 31112 31113 31175 -3 31176 31240 31239 -3 26696 26697 26808 -3 26809 26924 26923 -3 27645 30156 29767 -3 30691 19040 30692 -3 28099 30736 2948 -3 7079 7078 21469 -3 29522 29521 29384 -3 29385 29522 29384 -3 28242 683 19689 -3 14055 30803 17479 -3 1857 29429 29355 -3 21839 1857 29355 -3 7404 20240 30716 -3 7296 6969 7182 -3 29832 25425 29831 -3 28754 17569 235 -3 26451 12108 26452 -3 18408 23042 331 -3 18375 26917 26914 -3 26525 26630 26629 -3 30644 25242 30509 -3 26630 26742 26741 -3 26629 26630 26741 -3 26742 26857 26856 -3 26741 26742 26856 -3 26857 26975 26974 -3 26856 26857 26974 -3 26975 27092 27091 -3 26974 26975 27091 -3 27092 27211 27210 -3 27091 27092 27210 -3 27211 27329 27328 -3 27210 27211 27328 -3 27329 27448 27447 -3 27328 27329 27447 -3 27448 27566 27565 -3 27447 27448 27565 -3 27566 27683 27682 -3 27565 27566 27682 -3 27683 27798 27797 -3 27682 27683 27797 -3 27798 27914 27913 -3 27797 27798 27913 -3 28031 28030 27913 -3 27914 28031 27913 -3 28148 28147 28030 -3 28031 28148 28030 -3 28148 28265 28264 -3 28147 28148 28264 -3 28265 28385 28384 -3 28264 28265 28384 -3 28385 28507 28506 -3 28384 28385 28506 -3 28507 28636 28635 -3 28506 28507 28635 -3 28636 28768 28767 -3 28635 28636 28767 -3 28768 28901 28900 -3 28767 28768 28900 -3 28901 29036 29035 -3 28900 28901 29035 -3 29036 29173 29172 -3 29035 29036 29172 -3 29310 29309 29172 -3 29173 29310 29172 -3 29447 29446 29309 -3 29310 29447 29309 -3 29585 29584 29446 -3 29447 29585 29446 -3 29585 29718 29717 -3 29584 29585 29717 -3 29718 29847 29846 -3 29717 29718 29846 -3 29847 29978 29977 -3 29846 29847 29977 -3 30110 30109 29977 -3 29978 30110 29977 -3 30243 30242 30109 -3 30110 30243 30109 -3 30243 30376 30375 -3 30242 30243 30375 -3 30376 30510 30509 -3 30375 30376 30509 -3 11483 24572 24571 -3 30510 30644 30509 -3 30644 30778 30777 -3 25144 25044 25045 -3 25539 8580 24750 -3 35062 35191 35061 -3 14074 1063 24613 -3 24505 24613 1063 -3 2920 16996 16997 -3 19674 23775 15026 -3 28480 28472 27163 -3 26360 27165 26355 -3 27165 28480 27163 -3 28690 28691 28822 -3 28956 29091 29090 -3 29228 29365 29364 -3 7184 8153 20091 -3 17840 19897 17912 -3 14374 28232 6279 -3 21238 14427 21152 -3 9897 1382 8780 -3 30632 26792 30625 -3 11381 25121 25258 -3 23055 30689 18408 -3 26599 23439 20580 -3 16766 14970 19451 -3 27725 21239 19425 -3 28229 25144 28228 -3 27151 27270 27269 -3 7068 30613 19231 -3 27269 20513 27151 -3 23459 23458 22424 -3 19677 19570 6410 -3 17984 19677 6410 -3 28228 25142 25141 -3 33531 33532 33650 -3 30304 30437 30436 -3 29230 29367 29366 -3 27273 27391 27390 -3 27272 27273 27390 -3 27037 27038 27154 -3 27155 27274 27273 -3 28965 28964 28831 -3 28832 28965 28831 -3 31303 31302 31237 -3 31238 31303 31237 -3 29937 29936 29807 -3 26697 26809 26808 -3 32844 32952 32843 -3 7069 6783 11576 -3 22156 20892 28367 -3 27863 27979 27862 -3 29660 29659 29521 -3 29522 29660 29521 -3 27414 28814 28813 -3 22369 22467 29489 -3 32618 32617 32508 -3 30219 27550 35496 -3 19040 19026 30692 -3 6841 6840 6968 -3 17479 28754 235 -3 19673 2808 17569 -3 26362 26430 26429 -3 26361 26362 26429 -3 26430 26526 26525 -3 35386 29685 28992 -3 26526 26631 26630 -3 26525 26526 26630 -3 26631 26743 26742 -3 26630 26631 26742 -3 26743 26858 26857 -3 26742 26743 26857 -3 26858 26976 26975 -3 26857 26858 26975 -3 26976 27093 27092 -3 26975 26976 27092 -3 27093 27212 27211 -3 27092 27093 27211 -3 27212 27330 27329 -3 27211 27212 27329 -3 27330 27449 27448 -3 27329 27330 27448 -3 27449 27567 27566 -3 27448 27449 27566 -3 27567 27684 27683 -3 27566 27567 27683 -3 27684 27799 27798 -3 27683 27684 27798 -3 27799 27915 27914 -3 27798 27799 27914 -3 27915 28032 28031 -3 27914 27915 28031 -3 28149 28148 28031 -3 28032 28149 28031 -3 28149 28266 28265 -3 28148 28149 28265 -3 28266 28386 28385 -3 28265 28266 28385 -3 28386 28508 28507 -3 28385 28386 28507 -3 28508 28637 28636 -3 28507 28508 28636 -3 28637 28769 28768 -3 28636 28637 28768 -3 28769 28902 28901 -3 28768 28769 28901 -3 28902 29037 29036 -3 28901 28902 29036 -3 29037 29174 29173 -3 29036 29037 29173 -3 29311 29310 29173 -3 29174 29311 29173 -3 29448 29447 29310 -3 29311 29448 29310 -3 29586 29585 29447 -3 29448 29586 29447 -3 29586 29719 29718 -3 29585 29586 29718 -3 29719 29848 29847 -3 29718 29719 29847 -3 29848 29979 29978 -3 29847 29848 29978 -3 30111 30110 29978 -3 29979 30111 29978 -3 30244 30243 30110 -3 30111 30244 30110 -3 30244 30377 30376 -3 30243 30244 30376 -3 30377 30511 30510 -3 30376 30377 30510 -3 30511 30645 30644 -3 30510 30511 30644 -3 30645 30779 30778 -3 30644 30645 30778 -3 23315 24021 24227 -3 34723 34597 6945 -3 28736 30341 19032 -3 24362 23569 23568 -3 29015 29696 6903 -3 27549 12422 27866 -3 19409 19358 2403 -3 26902 19591 18509 -3 29246 29245 29108 -3 7174 19409 7070 -3 24274 24273 6528 -3 28974 28973 28840 -3 30712 30711 30577 -3 27957 25402 25259 -3 12422 27549 24439 -3 29538 27259 27869 -3 24128 25033 25034 -3 21307 35766 21955 -3 34134 34133 33997 -3 35075 35074 34945 -3 35846 2137 19143 -3 21369 26348 26347 -3 30298 30299 30431 -3 28859 28865 29291 -3 2680 2546 26112 -3 30443 30444 30577 -3 26203 12446 26112 -3 20180 20267 24886 -3 19357 19677 17984 -3 2546 19357 17984 -3 24266 29412 24349 -3 24481 27044 26927 -3 30303 30304 30436 -3 29774 29775 29903 -3 27154 27273 27272 -3 27153 27154 27272 -3 27154 27155 27273 -3 27274 27392 27391 -3 28700 28699 28570 -3 28571 28700 28570 -3 29286 6786 6652 -3 6652 27783 29553 -3 28734 19904 28732 -3 24427 23517 17819 -3 28497 28547 30289 -3 30292 19562 19563 -3 26812 26813 26927 -3 28752 28751 24745 -3 29793 29792 29659 -3 29660 29793 29659 -3 29092 29229 29228 -3 28021 24475 24398 -3 34803 34932 34802 -3 26486 26493 27412 -3 19353 7296 19354 -3 31372 31439 31371 -3 28754 19673 17569 -3 19040 2954 19026 -3 30757 30754 2808 -3 25310 30779 22136 -3 26362 26363 26430 -3 26431 26527 26526 -3 26430 26431 26526 -3 26527 26632 26631 -3 26526 26527 26631 -3 26632 26744 26743 -3 26631 26632 26743 -3 26744 26859 26858 -3 26743 26744 26858 -3 26859 26977 26976 -3 26858 26859 26976 -3 26977 27094 27093 -3 26976 26977 27093 -3 27094 27213 27212 -3 27093 27094 27212 -3 27213 27331 27330 -3 27212 27213 27330 -3 27331 27450 27449 -3 27330 27331 27449 -3 27450 27568 27567 -3 27449 27450 27567 -3 27568 27685 27684 -3 27567 27568 27684 -3 27685 27800 27799 -3 27684 27685 27799 -3 27800 27916 27915 -3 27799 27800 27915 -3 27916 28033 28032 -3 27915 27916 28032 -3 28150 28149 28032 -3 28033 28150 28032 -3 28150 28267 28266 -3 28149 28150 28266 -3 28267 28387 28386 -3 28266 28267 28386 -3 28387 28509 28508 -3 28386 28387 28508 -3 28509 28638 28637 -3 28508 28509 28637 -3 28638 28770 28769 -3 28637 28638 28769 -3 28770 28903 28902 -3 28769 28770 28902 -3 28903 29038 29037 -3 28902 28903 29037 -3 29038 29175 29174 -3 29037 29038 29174 -3 29312 29311 29174 -3 29175 29312 29174 -3 29449 29448 29311 -3 29312 29449 29311 -3 29587 29586 29448 -3 29449 29587 29448 -3 29587 29720 29719 -3 29586 29587 29719 -3 29720 29849 29848 -3 29719 29720 29848 -3 29849 29980 29979 -3 29848 29849 29979 -3 30112 30111 29979 -3 29980 30112 29979 -3 30245 30244 30111 -3 30112 30245 30111 -3 30378 30377 30244 -3 30245 30378 30244 -3 30378 30512 30511 -3 30377 30378 30511 -3 30512 30646 30645 -3 30511 30512 30645 -3 30646 30780 30779 -3 30645 30646 30779 -3 34932 34931 34802 -3 30780 22136 30779 -3 27291 26490 28869 -3 30472 29815 24009 -3 26490 26591 27402 -3 26591 19236 27402 -3 19236 26591 28880 -3 26591 18931 28880 -3 18931 29815 28880 -3 29815 29816 28880 -3 29816 29815 30472 -3 19357 19250 24761 -3 29119 26059 24717 -3 28217 26902 18509 -3 19792 26504 30771 -3 19233 19032 19912 -3 25241 25240 25443 -3 27900 28752 21514 -3 5223 5090 5224 -3 21608 21516 21609 -3 27841 19242 19462 -3 29120 29767 19794 -3 18928 22552 27612 -3 6897 11407 21369 -3 34675 34674 34546 -3 35740 29006 35847 -3 24559 25366 25101 -3 25646 28115 25645 -3 19250 19357 2546 -3 2680 19250 2546 -3 25922 27196 11925 -3 30070 30069 22299 -3 29904 30035 30034 -3 22787 22689 22788 -3 27037 27154 27153 -3 26587 20087 20007 -3 27273 27274 27391 -3 27392 27511 27510 -3 28832 28831 28699 -3 28700 28832 28699 -3 26737 29827 6786 -3 29286 26737 6786 -3 29565 28734 26593 -3 19904 27050 28732 -3 27178 27195 28497 -3 28547 30292 30289 -3 26700 26701 26812 -3 33864 33999 33863 -3 29922 29921 29792 -3 29793 29922 29792 -3 20864 35791 35908 -3 30734 27257 21381 -3 14190 10683 10561 -3 22524 33237 22425 -3 22156 21776 22679 -3 30673 30674 25667 -3 17310 29893 29698 -3 20766 20765 20683 -3 19673 30757 2808 -3 4816 28617 30754 -3 28454 28333 21269 -3 26212 30228 30229 -3 26432 26528 26527 -3 26431 26432 26527 -3 26528 26633 26632 -3 26527 26528 26632 -3 26633 26745 26744 -3 26632 26633 26744 -3 26745 26860 26859 -3 26744 26745 26859 -3 26860 26978 26977 -3 26859 26860 26977 -3 26978 27095 27094 -3 26977 26978 27094 -3 27095 27214 27213 -3 27094 27095 27213 -3 27214 27332 27331 -3 27213 27214 27331 -3 27332 27451 27450 -3 27331 27332 27450 -3 27451 27569 27568 -3 27450 27451 27568 -3 27569 27686 27685 -3 27568 27569 27685 -3 27686 27801 27800 -3 27685 27686 27800 -3 27801 27917 27916 -3 27800 27801 27916 -3 28034 28033 27916 -3 27917 28034 27916 -3 28151 28150 28033 -3 28034 28151 28033 -3 28151 28268 28267 -3 28150 28151 28267 -3 28268 28388 28387 -3 28267 28268 28387 -3 28388 28510 28509 -3 28387 28388 28509 -3 28510 28639 28638 -3 28509 28510 28638 -3 28639 28771 28770 -3 28638 28639 28770 -3 28771 28904 28903 -3 28770 28771 28903 -3 29039 29038 28903 -3 28904 29039 28903 -3 29039 29176 29175 -3 29038 29039 29175 -3 29313 29312 29175 -3 29176 29313 29175 -3 29450 29449 29312 -3 29313 29450 29312 -3 29588 29587 29449 -3 29450 29588 29449 -3 29588 29721 29720 -3 29587 29588 29720 -3 29721 29850 29849 -3 29720 29721 29849 -3 29850 29981 29980 -3 29849 29850 29980 -3 30113 30112 29980 -3 29981 30113 29980 -3 30246 30245 30112 -3 30113 30246 30112 -3 30379 30378 30245 -3 30246 30379 30245 -3 30379 30513 30512 -3 30378 30379 30512 -3 30513 30647 30646 -3 30512 30513 30646 -3 30647 30781 30780 -3 30646 30647 30780 -3 22039 22136 30780 -3 30781 22039 30780 -3 28118 25500 28117 -3 23487 20500 20501 -3 27742 27857 27741 -3 25586 25785 21454 -3 27625 27742 27624 -3 27857 27856 27741 -3 27507 27625 27506 -3 27742 27741 27624 -3 27388 27507 27387 -3 27625 27624 27506 -3 27270 27388 27387 -3 27269 27270 27387 -3 27970 27971 28087 -3 27507 27506 27387 -3 30156 27899 21514 -3 4396 14090 24869 -3 18359 10003 12450 -3 30809 24970 23736 -3 7413 6966 6897 -3 26430 26525 26429 -3 26803 35800 11780 -3 11407 21460 21369 -3 25038 28248 26496 -3 20020 20019 26715 -3 6858 2680 6533 -3 8907 6858 6533 -3 19569 19250 2680 -3 6858 19569 2680 -3 35632 35555 35871 -3 25617 25616 16439 -3 16292 25617 16438 -3 26081 30229 30228 -3 23639 22777 26596 -3 28824 28825 28957 -3 27391 27392 27510 -3 27629 27628 27510 -3 28571 28570 28448 -3 28449 28571 28448 -3 30203 21846 30200 -3 19855 6853 19790 -3 28734 28732 26593 -3 1961 21744 22043 -3 26402 26407 27178 -3 27195 28547 28497 -3 6410 19570 21635 -3 26701 26813 26812 -3 30053 30052 29921 -3 29922 30053 29921 -3 29503 29504 29641 -3 29425 29763 28856 -3 23817 26832 17579 -3 10651 10776 4374 -3 30182 30315 30181 -3 30182 30181 30049 -3 29293 20894 30776 -3 26346 26347 27136 -3 30757 4816 30754 -3 28597 28468 28617 -3 11894 13483 12038 -3 28682 6280 21858 -3 26433 26529 26528 -3 26432 26433 26528 -3 26529 26634 26633 -3 26528 26529 26633 -3 26634 26746 26745 -3 26633 26634 26745 -3 26746 26861 26860 -3 26745 26746 26860 -3 26861 26979 26978 -3 26860 26861 26978 -3 26979 27096 27095 -3 26978 26979 27095 -3 27096 27215 27214 -3 27095 27096 27214 -3 27215 27333 27332 -3 27214 27215 27332 -3 27333 27452 27451 -3 27332 27333 27451 -3 27452 27570 27569 -3 27451 27452 27569 -3 27570 27687 27686 -3 27569 27570 27686 -3 27687 27802 27801 -3 27686 27687 27801 -3 27802 27918 27917 -3 27801 27802 27917 -3 27918 28035 28034 -3 27917 27918 28034 -3 28035 28152 28151 -3 28034 28035 28151 -3 28152 28269 28268 -3 28151 28152 28268 -3 28269 28389 28388 -3 28268 28269 28388 -3 28389 28511 28510 -3 28388 28389 28510 -3 28511 28640 28639 -3 28510 28511 28639 -3 28772 28771 28639 -3 28640 28772 28639 -3 28772 28905 28904 -3 28771 28772 28904 -3 28905 29040 29039 -3 28904 28905 29039 -3 29040 29177 29176 -3 29039 29040 29176 -3 29314 29313 29176 -3 29177 29314 29176 -3 29314 29451 29450 -3 29313 29314 29450 -3 29589 29588 29450 -3 29451 29589 29450 -3 29589 29722 29721 -3 29588 29589 29721 -3 29722 29851 29850 -3 29721 29722 29850 -3 29851 29982 29981 -3 29850 29851 29981 -3 30114 30113 29981 -3 29982 30114 29981 -3 30247 30246 30113 -3 30114 30247 30113 -3 30380 30379 30246 -3 30247 30380 30246 -3 30380 30514 30513 -3 30379 30380 30513 -3 30514 30648 30647 -3 30513 30514 30647 -3 30648 30782 30781 -3 30647 30648 30781 -3 18510 22039 30781 -3 30782 18510 30781 -3 24537 24036 25916 -3 15317 13459 22136 -3 2169 19280 19386 -3 19175 19280 2169 -3 28960 28959 28826 -3 28695 28827 28694 -3 29095 29094 28959 -3 28827 28960 28826 -3 29232 29231 29094 -3 28960 29095 28959 -3 29369 29368 29231 -3 29095 29232 29094 -3 29506 29505 29368 -3 29232 29369 29231 -3 25120 17307 27045 -3 22942 30473 30502 -3 11666 27063 11667 -3 34548 34676 34547 -3 25133 27026 24054 -3 24038 25459 17307 -3 13651 13652 29570 -3 25834 28592 28998 -3 23711 30099 30100 -3 19031 17307 25458 -3 2953 6858 8907 -3 9284 2953 8907 -3 19345 19569 6858 -3 2953 19345 6858 -3 25617 16439 16438 -3 19345 30634 19569 -3 21548 34229 21549 -3 33871 34006 33870 -3 22586 17576 24228 -3 28321 28322 28441 -3 27511 27629 27510 -3 27746 27745 27628 -3 28449 28448 28328 -3 28329 28449 28328 -3 30616 30750 29827 -3 26737 30616 29827 -3 24005 24066 24065 -3 24112 25584 25462 -3 26408 26485 26402 -3 26407 27195 27178 -3 25514 24124 24855 -3 26596 26701 26700 -3 30185 30184 30052 -3 30053 30185 30052 -3 30165 30166 30298 -3 29667 29666 29528 -3 8907 6533 6850 -3 11416 11415 31338 -3 29493 29131 30478 -3 30362 22942 12215 -3 4816 28597 28617 -3 28131 26582 28468 -3 28597 28131 28468 -3 29541 27283 26582 -3 26366 26434 26433 -3 35443 35595 35405 -3 26434 26530 26529 -3 26433 26434 26529 -3 26530 26635 26634 -3 26529 26530 26634 -3 26635 26747 26746 -3 26634 26635 26746 -3 26862 26861 26746 -3 26747 26862 26746 -3 26980 26979 26861 -3 26862 26980 26861 -3 26980 27097 27096 -3 26979 26980 27096 -3 27097 27216 27215 -3 27096 27097 27215 -3 27216 27334 27333 -3 27215 27216 27333 -3 27334 27453 27452 -3 27333 27334 27452 -3 27453 27571 27570 -3 27452 27453 27570 -3 27571 27688 27687 -3 27570 27571 27687 -3 27688 27803 27802 -3 27687 27688 27802 -3 27803 27919 27918 -3 27802 27803 27918 -3 27919 28036 28035 -3 27918 27919 28035 -3 28036 28153 28152 -3 28035 28036 28152 -3 28153 28270 28269 -3 28152 28153 28269 -3 28270 28390 28389 -3 28269 28270 28389 -3 28390 28512 28511 -3 28389 28390 28511 -3 28512 28641 28640 -3 28511 28512 28640 -3 28773 28772 28640 -3 28641 28773 28640 -3 28906 28905 28772 -3 28773 28906 28772 -3 28906 29041 29040 -3 28905 28906 29040 -3 29041 29178 29177 -3 29040 29041 29177 -3 29178 29315 29314 -3 29177 29178 29314 -3 29315 29452 29451 -3 29314 29315 29451 -3 29452 29590 29589 -3 29451 29452 29589 -3 29590 29723 29722 -3 29589 29590 29722 -3 29852 29851 29722 -3 29723 29852 29722 -3 29983 29982 29851 -3 29852 29983 29851 -3 30115 30114 29982 -3 29983 30115 29982 -3 30248 30247 30114 -3 30115 30248 30114 -3 30381 30380 30247 -3 30248 30381 30247 -3 30515 30514 30380 -3 30381 30515 30380 -3 30515 30649 30648 -3 30514 30515 30648 -3 30649 30783 30782 -3 30648 30649 30782 -3 29021 20892 23959 -3 30360 25942 30361 -3 12633 22158 22543 -3 21551 22134 22133 -3 6836 11407 6966 -3 11438 6836 6966 -3 6784 11438 6966 -3 6657 6784 6966 -3 6784 6657 18602 -3 19458 6784 18602 -3 19458 18602 20028 -3 14737 19458 20028 -3 14737 20028 2951 -3 22430 14737 2951 -3 30702 30703 30836 -3 30837 22430 2951 -3 29688 27869 19128 -3 30836 30837 2951 -3 21776 29817 29414 -3 24492 28626 28757 -3 26934 24826 24825 -3 24791 34057 2822 -3 24826 26934 26820 -3 25940 20073 24603 -3 32245 32244 32144 -3 25459 25458 17307 -3 22529 2953 9284 -3 238 22529 9284 -3 19238 19345 2953 -3 22529 19238 2953 -3 18926 30634 19345 -3 19238 18926 19345 -3 28864 28862 3052 -3 27901 12108 26344 -3 17482 24188 28134 -3 28205 28322 28321 -3 27629 27746 27628 -3 27861 27860 27745 -3 28095 28212 28094 -3 28329 28328 28211 -3 17916 30088 30750 -3 30616 17916 30750 -3 2947 19629 29275 -3 27530 30477 27874 -3 26485 26408 6840 -3 6841 26485 6840 -3 11937 27204 27203 -3 28107 29954 28737 -3 30318 30317 30184 -3 30185 30318 30184 -3 6782 7413 7302 -3 24216 24317 19426 -3 13466 19003 7403 -3 21753 27407 27955 -3 29683 29682 19670 -3 18510 21360 25314 -3 28131 29541 26582 -3 28224 11509 27283 -3 29541 28224 27283 -3 26367 26435 26434 -3 26366 26367 26434 -3 26435 26531 26530 -3 26434 26435 26530 -3 26531 26636 26635 -3 26530 26531 26635 -3 26636 26748 26747 -3 26635 26636 26747 -3 26748 26863 26862 -3 26747 26748 26862 -3 26863 26981 26980 -3 26862 26863 26980 -3 26981 27098 27097 -3 26980 26981 27097 -3 27098 27217 27216 -3 27097 27098 27216 -3 27217 27335 27334 -3 27216 27217 27334 -3 27335 27454 27453 -3 27334 27335 27453 -3 27454 27572 27571 -3 27453 27454 27571 -3 27572 27689 27688 -3 27571 27572 27688 -3 27689 27804 27803 -3 27688 27689 27803 -3 27804 27920 27919 -3 27803 27804 27919 -3 27920 28037 28036 -3 27919 27920 28036 -3 28154 28153 28036 -3 28037 28154 28036 -3 28154 28271 28270 -3 28153 28154 28270 -3 28271 28391 28390 -3 28270 28271 28390 -3 28391 28513 28512 -3 28390 28391 28512 -3 28513 28642 28641 -3 28512 28513 28641 -3 28774 28773 28641 -3 28642 28774 28641 -3 28907 28906 28773 -3 28774 28907 28773 -3 28907 29042 29041 -3 28906 28907 29041 -3 29042 29179 29178 -3 29041 29042 29178 -3 29179 29316 29315 -3 29178 29179 29315 -3 29316 29453 29452 -3 29315 29316 29452 -3 29453 29591 29590 -3 29452 29453 29590 -3 29591 29724 29723 -3 29590 29591 29723 -3 29853 29852 29723 -3 29724 29853 29723 -3 29984 29983 29852 -3 29853 29984 29852 -3 30116 30115 29983 -3 29984 30116 29983 -3 30249 30248 30115 -3 30116 30249 30115 -3 30382 30381 30248 -3 30249 30382 30248 -3 30516 30515 30381 -3 30382 30516 30381 -3 30516 30650 30649 -3 30515 30516 30649 -3 30650 30784 30783 -3 30649 30650 30783 -3 13077 25953 13078 -3 3058 24430 24517 -3 34803 34802 34674 -3 34675 34803 34674 -3 9670 35943 35880 -3 14473 25139 11880 -3 26570 26674 25089 -3 19351 5608 19459 -3 7298 7412 5609 -3 29639 29640 29772 -3 29773 29902 29901 -3 453 19494 29630 -3 11103 28240 26583 -3 28683 30422 30419 -3 15897 1961 19897 -3 30700 30834 30699 -3 30578 30712 30577 -3 17568 3086 3087 -3 33998 34134 33997 -3 25371 24126 24228 -3 26821 24826 26820 -3 29412 29397 24349 -3 29397 19589 2682 -3 29358 29397 2682 -3 10724 238 2682 -3 19589 10724 2682 -3 22423 22529 238 -3 10724 22423 238 -3 19343 19238 22529 -3 22423 19343 22529 -3 27669 18926 19238 -3 19343 27669 19238 -3 20762 20845 23816 -3 20259 26145 23692 -3 24429 24284 24345 -3 20259 20172 26145 -3 27746 27861 27745 -3 12725 11780 35800 -3 28212 28329 28211 -3 27977 27976 27860 -3 2947 28242 30088 -3 28095 28094 27977 -3 29275 27530 27874 -3 17916 2947 30088 -3 6969 6841 6968 -3 19629 27530 29275 -3 28119 28120 24731 -3 26485 26407 26402 -3 30451 30450 30317 -3 27164 27729 11103 -3 27432 28816 28814 -3 30318 30451 30317 -3 30475 5741 7288 -3 33957 21456 33823 -3 30188 30321 30187 -3 30474 30475 7288 -3 28135 30642 11509 -3 30738 19231 30558 -3 28224 28135 11509 -3 26332 26368 26367 -3 26368 26436 26435 -3 26367 26368 26435 -3 26436 26532 26531 -3 26435 26436 26531 -3 26532 26637 26636 -3 26531 26532 26636 -3 26637 26749 26748 -3 26636 26637 26748 -3 26864 26863 26748 -3 26749 26864 26748 -3 26982 26981 26863 -3 26864 26982 26863 -3 26982 27099 27098 -3 26981 26982 27098 -3 27099 27218 27217 -3 27098 27099 27217 -3 27218 27336 27335 -3 27217 27218 27335 -3 27336 27455 27454 -3 27335 27336 27454 -3 27455 27573 27572 -3 27454 27455 27572 -3 27573 27690 27689 -3 27572 27573 27689 -3 27690 27805 27804 -3 27689 27690 27804 -3 27805 27921 27920 -3 27804 27805 27920 -3 27921 28038 28037 -3 27920 27921 28037 -3 28155 28154 28037 -3 28038 28155 28037 -3 28155 28272 28271 -3 28154 28155 28271 -3 28272 28392 28391 -3 28271 28272 28391 -3 28392 28514 28513 -3 28391 28392 28513 -3 28514 28643 28642 -3 28513 28514 28642 -3 28775 28774 28642 -3 28643 28775 28642 -3 28775 28908 28907 -3 28774 28775 28907 -3 28908 29043 29042 -3 28907 28908 29042 -3 29043 29180 29179 -3 29042 29043 29179 -3 29180 29317 29316 -3 29179 29180 29316 -3 29317 29454 29453 -3 29316 29317 29453 -3 29454 29592 29591 -3 29453 29454 29591 -3 29592 29725 29724 -3 29591 29592 29724 -3 29854 29853 29724 -3 29725 29854 29724 -3 29985 29984 29853 -3 29854 29985 29853 -3 30117 30116 29984 -3 29985 30117 29984 -3 30250 30249 30116 -3 30117 30250 30116 -3 30383 30382 30249 -3 30250 30383 30249 -3 30517 30516 30382 -3 30383 30517 30382 -3 30517 30651 30650 -3 30516 30517 30650 -3 30651 30785 30784 -3 30650 30651 30784 -3 21360 30783 30784 -3 31432 31504 31431 -3 27389 27508 27388 -3 27626 27625 27507 -3 27270 27271 27388 -3 27508 27507 27388 -3 27151 27152 27270 -3 27271 27389 27388 -3 22463 24069 24128 -3 27152 27271 27270 -3 30558 21556 29540 -3 27035 27152 27151 -3 19591 29154 29696 -3 11404 28334 27267 -3 28753 7287 28335 -3 29154 30500 29696 -3 21840 6529 30217 -3 30773 21840 30217 -3 25014 25084 29216 -3 29014 29134 28621 -3 26488 23902 28985 -3 29422 29412 24266 -3 29412 14505 19589 -3 29397 29412 19589 -3 17476 10724 19589 -3 14505 17476 19589 -3 18633 22423 10724 -3 17476 18633 10724 -3 19342 19343 22423 -3 18633 19342 22423 -3 26684 27669 19343 -3 19342 26684 19343 -3 26496 28248 27669 -3 26684 26496 27669 -3 12691 25407 28304 -3 12184 12102 12185 -3 27079 27196 27078 -3 27432 27435 28816 -3 27861 27977 27860 -3 28094 28093 27976 -3 27978 28095 27977 -3 28212 28211 28094 -3 2947 29275 30073 -3 28247 19662 26262 -3 30749 19462 30616 -3 19629 2947 17916 -3 19662 28247 19097 -3 21823 21824 29257 -3 24668 29260 22233 -3 24022 23961 23946 -3 30585 30584 30450 -3 30451 30585 30450 -3 21382 29430 28101 -3 14246 21066 29944 -3 32732 32731 32617 -3 35779 29217 29355 -3 28714 28846 28713 -3 28979 28978 28845 -3 28135 17719 6977 -3 30642 28135 6977 -3 26369 26368 26332 -3 26369 26437 26436 -3 26368 26369 26436 -3 26437 26533 26532 -3 26436 26437 26532 -3 26533 26638 26637 -3 26532 26533 26637 -3 26638 26750 26749 -3 26637 26638 26749 -3 26750 26865 26864 -3 26749 26750 26864 -3 26865 26983 26982 -3 26864 26865 26982 -3 26983 27100 27099 -3 26982 26983 27099 -3 27100 27219 27218 -3 27099 27100 27218 -3 27219 27337 27336 -3 27218 27219 27336 -3 27337 27456 27455 -3 27336 27337 27455 -3 27456 27574 27573 -3 27455 27456 27573 -3 27574 27691 27690 -3 27573 27574 27690 -3 27691 27806 27805 -3 27690 27691 27805 -3 27806 27922 27921 -3 27805 27806 27921 -3 27922 28039 28038 -3 27921 27922 28038 -3 28039 28156 28155 -3 28038 28039 28155 -3 28156 28273 28272 -3 28155 28156 28272 -3 28273 28393 28392 -3 28272 28273 28392 -3 28393 28515 28514 -3 28392 28393 28514 -3 28515 28644 28643 -3 28514 28515 28643 -3 28776 28775 28643 -3 28644 28776 28643 -3 28776 28909 28908 -3 28775 28776 28908 -3 28909 29044 29043 -3 28908 28909 29043 -3 29044 29181 29180 -3 29043 29044 29180 -3 29181 29318 29317 -3 29180 29181 29317 -3 29318 29455 29454 -3 29317 29318 29454 -3 29455 29593 29592 -3 29454 29455 29592 -3 29593 29726 29725 -3 29592 29593 29725 -3 29855 29854 29725 -3 29726 29855 29725 -3 29986 29985 29854 -3 29855 29986 29854 -3 29986 30118 30117 -3 29985 29986 30117 -3 30251 30250 30117 -3 30118 30251 30117 -3 30384 30383 30250 -3 30251 30384 30250 -3 30518 30517 30383 -3 30384 30518 30383 -3 30518 30652 30651 -3 30517 30518 30651 -3 30652 30786 30785 -3 30651 30652 30785 -3 35424 13400 35684 -3 23522 25177 23984 -3 28957 29092 29091 -3 2144 2143 19050 -3 27743 27742 27625 -3 27626 27743 27625 -3 27743 27858 27742 -3 27858 27857 27742 -3 27858 27974 27857 -3 27974 27973 27857 -3 27974 28091 27973 -3 28091 28090 27973 -3 28091 28208 28090 -3 28208 28207 28090 -3 28208 28325 28207 -3 28325 28324 28207 -3 28325 28445 28324 -3 28445 28444 28324 -3 13013 35254 11963 -3 28567 28566 28444 -3 31654 31753 24485 -3 24349 29397 29358 -3 6857 14505 29412 -3 29422 6857 29412 -3 237 17476 14505 -3 6857 237 14505 -3 10328 18633 17476 -3 237 10328 17476 -3 19244 19342 18633 -3 10328 19244 18633 -3 19244 26479 26684 -3 19342 19244 26684 -3 26479 23598 26684 -3 23494 23598 23993 -3 18097 20410 24090 -3 30818 25932 30817 -3 19912 12379 19233 -3 29521 29520 29383 -3 27977 28094 27976 -3 28699 28698 28569 -3 27512 27630 27511 -3 27747 27746 27629 -3 28242 2947 30073 -3 29275 27874 26685 -3 19462 17916 30616 -3 19462 19629 17916 -3 22098 24532 22097 -3 16547 580 23995 -3 29007 21550 19134 -3 19134 30087 19304 -3 30719 30718 30584 -3 30585 30719 30584 -3 29078 21382 29016 -3 25286 24731 25287 -3 30056 30188 30055 -3 30321 30320 30187 -3 35683 35562 35521 -3 6855 7403 30731 -3 17719 30484 30485 -3 6977 17719 30485 -3 26370 26438 26437 -3 26369 26370 26437 -3 26438 26534 26533 -3 26437 26438 26533 -3 26639 26638 26533 -3 26534 26639 26533 -3 26639 26751 26750 -3 26638 26639 26750 -3 26751 26866 26865 -3 26750 26751 26865 -3 26866 26984 26983 -3 26865 26866 26983 -3 26984 27101 27100 -3 26983 26984 27100 -3 27101 27220 27219 -3 27100 27101 27219 -3 27220 27338 27337 -3 27219 27220 27337 -3 27338 27457 27456 -3 27337 27338 27456 -3 27575 27574 27456 -3 27457 27575 27456 -3 27692 27691 27574 -3 27575 27692 27574 -3 27807 27806 27691 -3 27692 27807 27691 -3 27923 27922 27806 -3 27807 27923 27806 -3 28040 28039 27922 -3 27923 28040 27922 -3 28040 28157 28156 -3 28039 28040 28156 -3 28157 28274 28273 -3 28156 28157 28273 -3 28274 28394 28393 -3 28273 28274 28393 -3 28394 28516 28515 -3 28393 28394 28515 -3 28516 28645 28644 -3 28515 28516 28644 -3 28777 28776 28644 -3 28645 28777 28644 -3 28777 28910 28909 -3 28776 28777 28909 -3 28910 29045 29044 -3 28909 28910 29044 -3 29045 29182 29181 -3 29044 29045 29181 -3 29182 29319 29318 -3 29181 29182 29318 -3 29319 29456 29455 -3 29318 29319 29455 -3 29456 29594 29593 -3 29455 29456 29593 -3 29727 29726 29593 -3 29594 29727 29593 -3 29856 29855 29726 -3 29727 29856 29726 -3 29987 29986 29855 -3 29856 29987 29855 -3 30119 30118 29986 -3 29987 30119 29986 -3 30119 30252 30251 -3 30118 30119 30251 -3 30385 30384 30251 -3 30252 30385 30251 -3 30519 30518 30384 -3 30385 30519 30384 -3 30519 30653 30652 -3 30518 30519 30652 -3 30653 30787 30786 -3 30652 30653 30786 -3 10601 16770 28334 -3 30787 6859 30786 -3 23576 22388 22387 -3 6859 22010 30786 -3 26592 29634 18454 -3 21607 21754 26242 -3 17568 6918 30711 -3 29365 29366 29502 -3 19898 15897 19897 -3 11576 7302 6846 -3 20091 19198 27298 -3 29631 29493 26583 -3 29012 28364 17316 -3 31121 31184 31183 -3 30088 19689 30751 -3 27390 27509 27389 -3 23681 24745 25656 -3 34755 21739 34754 -3 24608 26818 24530 -3 31391 31390 31323 -3 30674 30809 23736 -3 25836 28724 25835 -3 6944 6857 29422 -3 29432 6944 29422 -3 21373 237 6857 -3 6944 21373 6857 -3 21373 6785 10328 -3 237 21373 10328 -3 6785 19247 19244 -3 10328 6785 19244 -3 19247 28425 26479 -3 19244 19247 26479 -3 25514 19357 24761 -3 13554 13652 13553 -3 29492 29535 22002 -3 21269 28333 21182 -3 28850 30486 30476 -3 29682 14618 2810 -3 28570 28569 28447 -3 28448 28570 28447 -3 27630 27747 27629 -3 27862 27861 27746 -3 30073 29275 26685 -3 21506 21598 22346 -3 19026 17266 29286 -3 30749 30616 26737 -3 26122 25980 25981 -3 30743 15723 13371 -3 29956 21550 29007 -3 30756 29956 29007 -3 7067 17282 30718 -3 18915 2538 2539 -3 29078 29016 28475 -3 28735 29078 28475 -3 30746 30738 18865 -3 30588 30587 30453 -3 31655 31654 25522 -3 23984 21360 30784 -3 30484 28010 26733 -3 30485 30484 26733 -3 26371 26439 26438 -3 26370 26371 26438 -3 26439 26535 26534 -3 26438 26439 26534 -3 26640 26639 26534 -3 26535 26640 26534 -3 26640 26752 26751 -3 26639 26640 26751 -3 26752 26867 26866 -3 26751 26752 26866 -3 26867 26985 26984 -3 26866 26867 26984 -3 26985 27102 27101 -3 26984 26985 27101 -3 27102 27221 27220 -3 27101 27102 27220 -3 27221 27339 27338 -3 27220 27221 27338 -3 27339 27458 27457 -3 27338 27339 27457 -3 27458 27576 27575 -3 27457 27458 27575 -3 27693 27692 27575 -3 27576 27693 27575 -3 27808 27807 27692 -3 27693 27808 27692 -3 27808 27924 27923 -3 27807 27808 27923 -3 27924 28041 28040 -3 27923 27924 28040 -3 28041 28158 28157 -3 28040 28041 28157 -3 28158 28275 28274 -3 28157 28158 28274 -3 28275 28395 28394 -3 28274 28275 28394 -3 28395 28517 28516 -3 28394 28395 28516 -3 28517 28646 28645 -3 28516 28517 28645 -3 28778 28777 28645 -3 28646 28778 28645 -3 28778 28911 28910 -3 28777 28778 28910 -3 28911 29046 29045 -3 28910 28911 29045 -3 29046 29183 29182 -3 29045 29046 29182 -3 29183 29320 29319 -3 29182 29183 29319 -3 29320 29457 29456 -3 29319 29320 29456 -3 29457 29595 29594 -3 29456 29457 29594 -3 29728 29727 29594 -3 29595 29728 29594 -3 29857 29856 29727 -3 29728 29857 29727 -3 29988 29987 29856 -3 29857 29988 29856 -3 30120 30119 29987 -3 29988 30120 29987 -3 30120 30253 30252 -3 30119 30120 30252 -3 30253 30386 30385 -3 30252 30253 30385 -3 30520 30519 30385 -3 30386 30520 30385 -3 30654 30653 30519 -3 30520 30654 30519 -3 30654 30788 30787 -3 30653 30654 30787 -3 13869 6859 30787 -3 30788 13869 30787 -3 3083 2944 6859 -3 13869 3083 6859 -3 26396 26463 26395 -3 27634 20847 20846 -3 29354 11404 26907 -3 26212 30361 30228 -3 27139 30478 19734 -3 30674 23736 25667 -3 29091 29092 29228 -3 29673 29672 29534 -3 31656 31655 26240 -3 6980 28137 26502 -3 31562 31656 25243 -3 7280 7173 7281 -3 8377 1715 1598 -3 17398 32686 32806 -3 26120 24431 24648 -3 32000 32100 31999 -3 25310 13459 25155 -3 19983 21373 24532 -3 24554 24443 24908 -3 6084 19109 5953 -3 33116 33115 33009 -3 24272 12537 19983 -3 19139 6785 21373 -3 21264 21177 28078 -3 19139 19145 19247 -3 6785 19139 19247 -3 19145 26903 28425 -3 19247 19145 28425 -3 26796 25792 28425 -3 26903 26796 28425 -3 28008 12515 12514 -3 34135 34134 33998 -3 25837 28343 25836 -3 31690 31790 31689 -3 28448 28447 28327 -3 28328 28448 28327 -3 27747 27862 27746 -3 27978 27977 27861 -3 30065 30066 22489 -3 29808 29937 29807 -3 30692 19026 30806 -3 17266 30749 26737 -3 22949 21222 16313 -3 19563 19562 26505 -3 6877 29956 30756 -3 21550 30087 19134 -3 30719 7067 30718 -3 19360 18915 2539 -3 28735 28475 19348 -3 21382 28101 29016 -3 31563 31562 25997 -3 21550 30482 30087 -3 25834 28998 6406 -3 21598 13698 23371 -3 28010 2536 28589 -3 26733 28010 28589 -3 26333 26372 26371 -3 26372 26440 26439 -3 26371 26372 26439 -3 26440 26536 26535 -3 26439 26440 26535 -3 26641 26640 26535 -3 26536 26641 26535 -3 26641 26753 26752 -3 26640 26641 26752 -3 26753 26868 26867 -3 26752 26753 26867 -3 26868 26986 26985 -3 26867 26868 26985 -3 26986 27103 27102 -3 26985 26986 27102 -3 27103 27222 27221 -3 27102 27103 27221 -3 27222 27340 27339 -3 27221 27222 27339 -3 27340 27459 27458 -3 27339 27340 27458 -3 27459 27577 27576 -3 27458 27459 27576 -3 27577 27694 27693 -3 27576 27577 27693 -3 27694 27809 27808 -3 27693 27694 27808 -3 27809 27925 27924 -3 27808 27809 27924 -3 27925 28042 28041 -3 27924 27925 28041 -3 28042 28159 28158 -3 28041 28042 28158 -3 28159 28276 28275 -3 28158 28159 28275 -3 28276 28396 28395 -3 28275 28276 28395 -3 28396 28518 28517 -3 28395 28396 28517 -3 28518 28647 28646 -3 28517 28518 28646 -3 28779 28778 28646 -3 28647 28779 28646 -3 28779 28912 28911 -3 28778 28779 28911 -3 28912 29047 29046 -3 28911 28912 29046 -3 29047 29184 29183 -3 29046 29047 29183 -3 29184 29321 29320 -3 29183 29184 29320 -3 29321 29458 29457 -3 29320 29321 29457 -3 29458 29596 29595 -3 29457 29458 29595 -3 29596 29729 29728 -3 29595 29596 29728 -3 29858 29857 29728 -3 29729 29858 29728 -3 29989 29988 29857 -3 29858 29989 29857 -3 30121 30120 29988 -3 29989 30121 29988 -3 30121 30254 30253 -3 30120 30121 30253 -3 30254 30387 30386 -3 30253 30254 30386 -3 30521 30520 30386 -3 30387 30521 30386 -3 30655 30654 30520 -3 30521 30655 30520 -3 30655 30789 30788 -3 30654 30655 30788 -3 17378 13869 30788 -3 30789 17378 30788 -3 3084 3083 13869 -3 17378 3084 13869 -3 3084 25049 3083 -3 19304 30087 24121 -3 19459 5609 19457 -3 29492 24348 24431 -3 27163 28472 28471 -3 7412 6967 5339 -3 27163 27162 26354 -3 26355 27163 26354 -3 26355 26354 19375 -3 6407 26355 19375 -3 7084 6407 19375 -3 6835 7084 19375 -3 5609 7412 5339 -3 7412 7084 6835 -3 34808 34807 34679 -3 6967 7412 6835 -3 29432 24348 29490 -3 22002 17381 23975 -3 31365 31432 31364 -3 26673 26674 24220 -3 29271 29272 6282 -3 19452 19451 2403 -3 29965 25281 25424 -3 19576 30822 19903 -3 21561 19145 19139 -3 12537 21561 19139 -3 26849 26903 19145 -3 21561 26849 19145 -3 26471 26796 26903 -3 26849 26471 26903 -3 26692 26587 26588 -3 25792 25340 25489 -3 25499 28426 24188 -3 29358 24569 21719 -3 28211 28210 28093 -3 28094 28211 28093 -3 27392 27393 27511 -3 27862 27978 27861 -3 3844 29491 12664 -3 27282 19270 30743 -3 35723 29558 35848 -3 17266 26737 29286 -3 35788 29494 35388 -3 30289 30292 19563 -3 6877 28809 29826 -3 28809 6877 30756 -3 7067 18915 19360 -3 17282 7067 19360 -3 30748 19348 26734 -3 30748 28735 19348 -3 22300 22397 30070 -3 19231 21556 30558 -3 20570 21573 14947 -3 17579 26832 17484 -3 2536 26908 19672 -3 28589 2536 19672 -3 26334 26373 26372 -3 26333 26334 26372 -3 26373 26441 26440 -3 26372 26373 26440 -3 26441 26537 26536 -3 26440 26441 26536 -3 26642 26641 26536 -3 26537 26642 26536 -3 26642 26754 26753 -3 26641 26642 26753 -3 26754 26869 26868 -3 26753 26754 26868 -3 26869 26987 26986 -3 26868 26869 26986 -3 26987 27104 27103 -3 26986 26987 27103 -3 27104 27223 27222 -3 27103 27104 27222 -3 27223 27341 27340 -3 27222 27223 27340 -3 27341 27460 27459 -3 27340 27341 27459 -3 27460 27578 27577 -3 27459 27460 27577 -3 27578 27695 27694 -3 27577 27578 27694 -3 27695 27810 27809 -3 27694 27695 27809 -3 27810 27926 27925 -3 27809 27810 27925 -3 27926 28043 28042 -3 27925 27926 28042 -3 28043 28160 28159 -3 28042 28043 28159 -3 28160 28277 28276 -3 28159 28160 28276 -3 28277 28397 28396 -3 28276 28277 28396 -3 28397 28519 28518 -3 28396 28397 28518 -3 28519 28648 28647 -3 28518 28519 28647 -3 28780 28779 28647 -3 28648 28780 28647 -3 28913 28912 28779 -3 28780 28913 28779 -3 28913 29048 29047 -3 28912 28913 29047 -3 29048 29185 29184 -3 29047 29048 29184 -3 29185 29322 29321 -3 29184 29185 29321 -3 29322 29459 29458 -3 29321 29322 29458 -3 29459 29597 29596 -3 29458 29459 29596 -3 29597 29730 29729 -3 29596 29597 29729 -3 29859 29858 29729 -3 29730 29859 29729 -3 29990 29989 29858 -3 29859 29990 29858 -3 29990 30122 30121 -3 29989 29990 30121 -3 30122 30255 30254 -3 30121 30122 30254 -3 30388 30387 30254 -3 30255 30388 30254 -3 30522 30521 30387 -3 30388 30522 30387 -3 30656 30655 30521 -3 30522 30656 30521 -3 30656 30790 30789 -3 30655 30656 30789 -3 22232 17378 30789 -3 30790 22232 30789 -3 19916 3084 17378 -3 22232 19916 17378 -3 35562 22834 35521 -3 30226 21542 25942 -3 27022 29829 19340 -3 19678 27022 19340 -3 29110 29247 29109 -3 31892 31891 31785 -3 35329 13004 33666 -3 20172 20087 26692 -3 32618 32732 32617 -3 10003 17447 21627 -3 32844 32843 32731 -3 32952 32951 32843 -3 35381 19340 2408 -3 32732 32844 32731 -3 28117 25644 28116 -3 34757 29811 34756 -3 30778 30779 25725 -3 24221 26059 25034 -3 31562 25243 25997 -3 9534 9535 11365 -3 24245 21558 12537 -3 28564 28693 28692 -3 25333 25784 25332 -3 26910 30604 27607 -3 21558 21561 12537 -3 24622 19807 26718 -3 21558 10932 26849 -3 21561 21558 26849 -3 29119 26471 26849 -3 10932 29119 26849 -3 26471 29119 24717 -3 21770 23439 26599 -3 24666 24454 30776 -3 34427 34564 34426 -3 28328 28327 28210 -3 28211 28328 28210 -3 27274 27275 27392 -3 27630 27629 27511 -3 29565 26593 19270 -3 27282 29565 19270 -3 35209 35338 35208 -3 19026 29286 30806 -3 26416 27202 27201 -3 19562 26568 26505 -3 29762 29826 30483 -3 29762 6877 29826 -3 2538 19338 21659 -3 2539 2538 21659 -3 29421 30752 26734 -3 30752 30748 26734 -3 27048 20894 29293 -3 24532 24300 22097 -3 29492 22098 29490 -3 19340 35404 19678 -3 26908 21372 30670 -3 19672 26908 30670 -3 26335 26374 26373 -3 26334 26335 26373 -3 26374 26442 26441 -3 26373 26374 26441 -3 26442 26538 26537 -3 26441 26442 26537 -3 26643 26642 26537 -3 26538 26643 26537 -3 26755 26754 26642 -3 26643 26755 26642 -3 26755 26870 26869 -3 26754 26755 26869 -3 26988 26987 26869 -3 26870 26988 26869 -3 26988 27105 27104 -3 26987 26988 27104 -3 27105 27224 27223 -3 27104 27105 27223 -3 27224 27342 27341 -3 27223 27224 27341 -3 27342 27461 27460 -3 27341 27342 27460 -3 27579 27578 27460 -3 27461 27579 27460 -3 27579 27696 27695 -3 27578 27579 27695 -3 27696 27811 27810 -3 27695 27696 27810 -3 27811 27927 27926 -3 27810 27811 27926 -3 27927 28044 28043 -3 27926 27927 28043 -3 28044 28161 28160 -3 28043 28044 28160 -3 28161 28278 28277 -3 28160 28161 28277 -3 28278 28398 28397 -3 28277 28278 28397 -3 28398 28520 28519 -3 28397 28398 28519 -3 28520 28649 28648 -3 28519 28520 28648 -3 28781 28780 28648 -3 28649 28781 28648 -3 28914 28913 28780 -3 28781 28914 28780 -3 28914 29049 29048 -3 28913 28914 29048 -3 29049 29186 29185 -3 29048 29049 29185 -3 29186 29323 29322 -3 29185 29186 29322 -3 29323 29460 29459 -3 29322 29323 29459 -3 29460 29598 29597 -3 29459 29460 29597 -3 29598 29731 29730 -3 29597 29598 29730 -3 29731 29860 29859 -3 29730 29731 29859 -3 29991 29990 29859 -3 29860 29991 29859 -3 29991 30123 30122 -3 29990 29991 30122 -3 30123 30256 30255 -3 30122 30123 30255 -3 30389 30388 30255 -3 30256 30389 30255 -3 30523 30522 30388 -3 30389 30523 30388 -3 30657 30656 30522 -3 30523 30657 30522 -3 30791 30790 30656 -3 30657 30791 30656 -3 4634 22232 30790 -3 30791 4634 30790 -3 19915 19916 22232 -3 4634 19915 22232 -3 29510 29648 29509 -3 32852 32960 32851 -3 29648 29781 29647 -3 29781 29780 29647 -3 29780 29781 29909 -3 29781 29910 29909 -3 30439 30573 30572 -3 29910 30041 30040 -3 30306 30439 30438 -3 30305 30306 30438 -3 30173 30306 30305 -3 30172 30173 30305 -3 29909 29910 30040 -3 30041 30173 30172 -3 35787 28479 35520 -3 30040 30041 30172 -3 29536 29535 28100 -3 28108 29536 28100 -3 25092 6534 19413 -3 19413 20092 25092 -3 27267 28334 29423 -3 29630 17305 28102 -3 28732 27050 28733 -3 28567 28696 28566 -3 25385 30813 25527 -3 25040 29832 29703 -3 27723 10932 21558 -3 19235 27723 21558 -3 26495 29119 10932 -3 27723 26495 10932 -3 13469 11775 23055 -3 26495 29833 26059 -3 23817 20020 26715 -3 34138 34276 34137 -3 28570 28699 28569 -3 28831 28830 28698 -3 27155 27156 27274 -3 27393 27512 27511 -3 19017 22100 26829 -3 32730 32729 32615 -3 22097 29432 29490 -3 30806 6652 35848 -3 26900 26416 26414 -3 26414 26416 27201 -3 28106 30617 30483 -3 30617 29762 30483 -3 11496 14247 21659 -3 19338 11496 21659 -3 29421 29285 18282 -3 29285 29421 26734 -3 30050 30182 30049 -3 20894 29260 30776 -3 9749 35882 35811 -3 25051 19915 25052 -3 21372 6845 17302 -3 30670 21372 17302 -3 26375 26374 26335 -3 26336 26375 26335 -3 26375 26443 26442 -3 26374 26375 26442 -3 26443 26539 26538 -3 26442 26443 26538 -3 26644 26643 26538 -3 26539 26644 26538 -3 26756 26755 26643 -3 26644 26756 26643 -3 26756 26871 26870 -3 26755 26756 26870 -3 26871 26989 26988 -3 26870 26871 26988 -3 26989 27106 27105 -3 26988 26989 27105 -3 27106 27225 27224 -3 27105 27106 27224 -3 27225 27343 27342 -3 27224 27225 27342 -3 27343 27462 27461 -3 27342 27343 27461 -3 27580 27579 27461 -3 27462 27580 27461 -3 27580 27697 27696 -3 27579 27580 27696 -3 27812 27811 27696 -3 27697 27812 27696 -3 27928 27927 27811 -3 27812 27928 27811 -3 27928 28045 28044 -3 27927 27928 28044 -3 28045 28162 28161 -3 28044 28045 28161 -3 28162 28279 28278 -3 28161 28162 28278 -3 28279 28399 28398 -3 28278 28279 28398 -3 28399 28521 28520 -3 28398 28399 28520 -3 28521 28650 28649 -3 28520 28521 28649 -3 28782 28781 28649 -3 28650 28782 28649 -3 28915 28914 28781 -3 28782 28915 28781 -3 28915 29050 29049 -3 28914 28915 29049 -3 29050 29187 29186 -3 29049 29050 29186 -3 29187 29324 29323 -3 29186 29187 29323 -3 29324 29461 29460 -3 29323 29324 29460 -3 29461 29599 29598 -3 29460 29461 29598 -3 29599 29732 29731 -3 29598 29599 29731 -3 29861 29860 29731 -3 29732 29861 29731 -3 29861 29992 29991 -3 29860 29861 29991 -3 29992 30124 30123 -3 29991 29992 30123 -3 30124 30257 30256 -3 30123 30124 30256 -3 30257 30390 30389 -3 30256 30257 30389 -3 30524 30523 30389 -3 30390 30524 30389 -3 30658 30657 30523 -3 30524 30658 30523 -3 30792 30791 30657 -3 30658 30792 30657 -3 17377 4634 30791 -3 30792 17377 30791 -3 19936 30621 25258 -3 17964 23489 34728 -3 27373 28683 27315 -3 30556 19132 23901 -3 30822 27082 26965 -3 29272 19576 6282 -3 24229 17576 23618 -3 29965 25280 25281 -3 683 18261 27551 -3 19689 683 27551 -3 683 30608 18261 -3 30608 27049 18261 -3 27049 30608 27519 -3 30608 26519 27519 -3 27519 26519 27258 -3 27196 27079 27198 -3 11754 26963 26847 -3 25321 26469 26401 -3 29569 29536 28108 -3 28125 29569 28108 -3 565 17381 29536 -3 29569 565 29536 -3 26496 23598 23494 -3 565 7081 17381 -3 28445 28567 28444 -3 28696 28695 28566 -3 21542 30093 29961 -3 28072 28751 28752 -3 32044 32043 31946 -3 25536 30766 25018 -3 32405 32510 32404 -3 31709 31708 31613 -3 25034 29833 24128 -3 26495 19902 29833 -3 26588 26587 26492 -3 21814 12007 21719 -3 28699 28831 28698 -3 17381 7081 23975 -3 27156 27275 27274 -3 27275 27393 27392 -3 26696 26808 26807 -3 26695 26696 26807 -3 32507 32616 32506 -3 32616 32615 32506 -3 7301 17477 26900 -3 7078 7079 6981 -3 28881 28106 19573 -3 28464 28106 30483 -3 11496 6972 6971 -3 14247 11496 6971 -3 19746 18282 27023 -3 19746 29421 18282 -3 24673 17377 25482 -3 30315 30314 30181 -3 29429 178 30219 -3 31439 31438 31371 -3 30024 30421 17302 -3 6845 30024 17302 -3 26337 26376 26375 -3 26336 26337 26375 -3 26376 26444 26443 -3 26375 26376 26443 -3 26444 26540 26539 -3 26443 26444 26539 -3 26540 26645 26644 -3 26539 26540 26644 -3 26757 26756 26644 -3 26645 26757 26644 -3 26757 26872 26871 -3 26756 26757 26871 -3 26872 26990 26989 -3 26871 26872 26989 -3 26990 27107 27106 -3 26989 26990 27106 -3 27107 27226 27225 -3 27106 27107 27225 -3 27226 27344 27343 -3 27225 27226 27343 -3 27344 27463 27462 -3 27343 27344 27462 -3 27463 27581 27580 -3 27462 27463 27580 -3 27581 27698 27697 -3 27580 27581 27697 -3 27698 27813 27812 -3 27697 27698 27812 -3 27813 27929 27928 -3 27812 27813 27928 -3 27929 28046 28045 -3 27928 27929 28045 -3 28046 28163 28162 -3 28045 28046 28162 -3 28163 28280 28279 -3 28162 28163 28279 -3 28280 28400 28399 -3 28279 28280 28399 -3 28522 28521 28399 -3 28400 28522 28399 -3 28651 28650 28521 -3 28522 28651 28521 -3 28783 28782 28650 -3 28651 28783 28650 -3 28916 28915 28782 -3 28783 28916 28782 -3 28916 29051 29050 -3 28915 28916 29050 -3 29051 29188 29187 -3 29050 29051 29187 -3 29188 29325 29324 -3 29187 29188 29324 -3 29325 29462 29461 -3 29324 29325 29461 -3 29462 29600 29599 -3 29461 29462 29599 -3 29600 29733 29732 -3 29599 29600 29732 -3 29733 29862 29861 -3 29732 29733 29861 -3 29862 29993 29992 -3 29861 29862 29992 -3 29993 30125 30124 -3 29992 29993 30124 -3 30125 30258 30257 -3 30124 30125 30257 -3 30258 30391 30390 -3 30257 30258 30390 -3 30525 30524 30390 -3 30391 30525 30390 -3 30659 30658 30524 -3 30525 30659 30524 -3 30793 30792 30658 -3 30659 30793 30658 -3 22763 22862 30020 -3 25018 12358 23828 -3 17272 33472 17337 -3 26479 28425 23598 -3 28097 28096 27979 -3 27980 28097 27979 -3 27632 27749 27631 -3 27864 27863 27748 -3 27980 27979 27863 -3 27749 27864 27748 -3 28214 28213 28096 -3 27864 27980 27863 -3 28451 28573 28450 -3 28097 28214 28096 -3 28331 28451 28330 -3 28573 28572 28450 -3 28214 28331 28213 -3 28451 28450 28330 -3 32320 32321 32423 -3 28331 28330 28213 -3 32423 32424 32528 -3 22689 22688 22590 -3 3058 565 29569 -3 16751 16750 25468 -3 6902 7081 565 -3 3058 6902 565 -3 28485 25980 26122 -3 29156 24455 28340 -3 28015 28072 28752 -3 22484 23779 24744 -3 29159 27290 28942 -3 28345 29159 28942 -3 13173 28134 28016 -3 23902 26488 30556 -3 17482 28134 13173 -3 22271 25033 21966 -3 11943 12903 25095 -3 22785 30464 22686 -3 27039 27156 27155 -3 24636 24585 24481 -3 27041 27158 27157 -3 27038 27039 27155 -3 17272 17337 17336 -3 26808 26923 26922 -3 29558 30692 35848 -3 30228 20018 26081 -3 28881 19573 29279 -3 17477 26932 26900 -3 11453 26945 26943 -3 29258 28881 29279 -3 6972 11453 17478 -3 6971 6972 17478 -3 6901 29810 30205 -3 29810 19746 27023 -3 21941 19448 19447 -3 27777 12255 12340 -3 1857 6868 29429 -3 178 30086 30219 -3 24537 19235 24245 -3 30792 30793 25073 -3 26338 26377 26376 -3 26337 26338 26376 -3 26377 26445 26444 -3 26376 26377 26444 -3 26445 26541 26540 -3 26444 26445 26540 -3 26541 26646 26645 -3 26540 26541 26645 -3 26758 26757 26645 -3 26646 26758 26645 -3 26758 26873 26872 -3 26757 26758 26872 -3 26873 26991 26990 -3 26872 26873 26990 -3 26991 27108 27107 -3 26990 26991 27107 -3 27108 27227 27226 -3 27107 27108 27226 -3 27227 27345 27344 -3 27226 27227 27344 -3 27345 27464 27463 -3 27344 27345 27463 -3 27464 27582 27581 -3 27463 27464 27581 -3 27582 27699 27698 -3 27581 27582 27698 -3 27699 27814 27813 -3 27698 27699 27813 -3 27814 27930 27929 -3 27813 27814 27929 -3 27930 28047 28046 -3 27929 27930 28046 -3 28047 28164 28163 -3 28046 28047 28163 -3 28164 28281 28280 -3 28163 28164 28280 -3 28281 28401 28400 -3 28280 28281 28400 -3 28401 28523 28522 -3 28400 28401 28522 -3 28523 28652 28651 -3 28522 28523 28651 -3 28652 28784 28783 -3 28651 28652 28783 -3 28917 28916 28783 -3 28784 28917 28783 -3 28917 29052 29051 -3 28916 28917 29051 -3 29052 29189 29188 -3 29051 29052 29188 -3 29189 29326 29325 -3 29188 29189 29325 -3 29326 29463 29462 -3 29325 29326 29462 -3 29463 29601 29600 -3 29462 29463 29600 -3 29601 29734 29733 -3 29600 29601 29733 -3 29734 29863 29862 -3 29733 29734 29862 -3 29863 29994 29993 -3 29862 29863 29993 -3 29994 30126 30125 -3 29993 29994 30125 -3 30126 30259 30258 -3 30125 30126 30258 -3 30259 30392 30391 -3 30258 30259 30391 -3 30526 30525 30391 -3 30392 30526 30391 -3 30660 30659 30525 -3 30526 30660 30525 -3 30794 30793 30659 -3 30660 30794 30659 -3 24348 19988 24648 -3 25074 25073 30793 -3 29797 29926 29796 -3 32397 32502 32396 -3 29389 29388 29251 -3 28980 29115 28979 -3 29252 29251 29114 -3 28847 28980 28846 -3 29115 29114 28979 -3 28980 28979 28846 -3 29926 30057 29925 -3 29115 29252 29114 -3 29526 29525 29388 -3 29389 29526 29388 -3 29664 29663 29525 -3 29797 29796 29663 -3 29664 29797 29663 -3 30057 30056 29925 -3 28441 28563 28562 -3 29926 29925 29796 -3 23818 24346 24517 -3 19662 26122 26263 -3 25469 16750 16594 -3 25468 16750 25469 -3 11099 6902 3058 -3 2957 11099 3058 -3 20302 20215 17700 -3 18230 14969 24138 -3 29775 29904 29903 -3 33120 33119 33013 -3 28345 28942 28245 -3 29829 28345 28245 -3 30437 30571 30570 -3 30436 30437 30570 -3 29765 30025 452 -3 30203 30200 28457 -3 28865 28869 29425 -3 28869 27402 27289 -3 26921 27039 27038 -3 30166 30299 30298 -3 26807 26808 26922 -3 27040 27041 27157 -3 29791 29790 29657 -3 2957 3058 24517 -3 26932 26417 26416 -3 30072 27286 29279 -3 23059 23158 23157 -3 28106 28464 19573 -3 17478 11453 26943 -3 26945 26428 26418 -3 21849 28728 19705 -3 6901 30205 28861 -3 29810 27023 30205 -3 28728 6901 28861 -3 28457 28456 27136 -3 19736 21941 19630 -3 19133 27840 1857 -3 6868 178 29429 -3 28810 21294 28943 -3 28320 28321 28440 -3 26339 26378 26377 -3 26338 26339 26377 -3 26378 26446 26445 -3 26377 26378 26445 -3 26446 26542 26541 -3 26445 26446 26541 -3 26542 26647 26646 -3 26541 26542 26646 -3 26759 26758 26646 -3 26647 26759 26646 -3 26759 26874 26873 -3 26758 26759 26873 -3 26874 26992 26991 -3 26873 26874 26991 -3 26992 27109 27108 -3 26991 26992 27108 -3 27109 27228 27227 -3 27108 27109 27227 -3 27228 27346 27345 -3 27227 27228 27345 -3 27346 27465 27464 -3 27345 27346 27464 -3 27465 27583 27582 -3 27464 27465 27582 -3 27583 27700 27699 -3 27582 27583 27699 -3 27700 27815 27814 -3 27699 27700 27814 -3 27815 27931 27930 -3 27814 27815 27930 -3 27931 28048 28047 -3 27930 27931 28047 -3 28048 28165 28164 -3 28047 28048 28164 -3 28165 28282 28281 -3 28164 28165 28281 -3 28282 28402 28401 -3 28281 28282 28401 -3 28524 28523 28401 -3 28402 28524 28401 -3 28653 28652 28523 -3 28524 28653 28523 -3 28653 28785 28784 -3 28652 28653 28784 -3 28785 28918 28917 -3 28784 28785 28917 -3 28918 29053 29052 -3 28917 28918 29052 -3 29053 29190 29189 -3 29052 29053 29189 -3 29190 29327 29326 -3 29189 29190 29326 -3 29327 29464 29463 -3 29326 29327 29463 -3 29464 29602 29601 -3 29463 29464 29601 -3 29602 29735 29734 -3 29601 29602 29734 -3 29735 29864 29863 -3 29734 29735 29863 -3 29864 29995 29994 -3 29863 29864 29994 -3 29995 30127 30126 -3 29994 29995 30126 -3 30127 30260 30259 -3 30126 30127 30259 -3 30260 30393 30392 -3 30259 30260 30392 -3 30527 30526 30392 -3 30393 30527 30392 -3 30661 30660 30526 -3 30527 30661 30526 -3 30795 30794 30660 -3 30661 30795 30660 -3 24338 24255 24339 -3 30795 2819 30794 -3 30418 23157 30552 -3 15493 14526 15543 -3 27738 27853 27852 -3 24162 26707 26706 -3 19134 19304 30609 -3 26566 19134 30609 -3 28809 30756 6659 -3 29007 28873 30622 -3 29007 19134 26566 -3 30756 29007 30622 -3 28232 29679 18691 -3 28873 29007 26566 -3 26700 26812 26811 -3 29679 29954 28107 -3 30611 29679 28107 -3 24731 28118 28119 -3 28440 28441 28562 -3 26573 26572 24969 -3 19993 20073 25940 -3 26507 26603 23254 -3 32294 32397 32293 -3 28216 29675 24346 -3 10695 11099 2957 -3 19478 10695 2957 -3 25673 21072 27784 -3 10695 18230 11099 -3 19194 2181 2051 -3 18230 24138 11099 -3 2408 19680 35381 -3 23692 26805 20260 -3 30571 30705 30704 -3 30570 30571 30704 -3 26946 13660 29765 -3 30025 14848 452 -3 28964 28963 28830 -3 29099 29098 28963 -3 12604 12603 28124 -3 26920 26921 27038 -3 26923 27041 27040 -3 26922 26923 27040 -3 19574 30217 26941 -3 29937 30068 29936 -3 13944 13845 13846 -3 28950 21907 21812 -3 28493 28491 28369 -3 21647 35515 35923 -3 26943 26945 26418 -3 27281 27268 26418 -3 21738 21849 30737 -3 28728 28861 19705 -3 30042 30043 30174 -3 30449 30448 30315 -3 30449 30583 30448 -3 30183 30316 30182 -3 19201 2955 19133 -3 27840 6868 1857 -3 30726 30725 30591 -3 30592 30726 30591 -3 26340 26379 26378 -3 26339 26340 26378 -3 26379 26447 26446 -3 26378 26379 26446 -3 26447 26543 26542 -3 26446 26447 26542 -3 26543 26648 26647 -3 26542 26543 26647 -3 26648 26760 26759 -3 26647 26648 26759 -3 26760 26875 26874 -3 26759 26760 26874 -3 26875 26993 26992 -3 26874 26875 26992 -3 26993 27110 27109 -3 26992 26993 27109 -3 27110 27229 27228 -3 27109 27110 27228 -3 27347 27346 27228 -3 27229 27347 27228 -3 27466 27465 27346 -3 27347 27466 27346 -3 27466 27584 27583 -3 27465 27466 27583 -3 27584 27701 27700 -3 27583 27584 27700 -3 27701 27816 27815 -3 27700 27701 27815 -3 27816 27932 27931 -3 27815 27816 27931 -3 27932 28049 28048 -3 27931 27932 28048 -3 28049 28166 28165 -3 28048 28049 28165 -3 28166 28283 28282 -3 28165 28166 28282 -3 28283 28403 28402 -3 28282 28283 28402 -3 28403 28525 28524 -3 28402 28403 28524 -3 28654 28653 28524 -3 28525 28654 28524 -3 28654 28786 28785 -3 28653 28654 28785 -3 28786 28919 28918 -3 28785 28786 28918 -3 28919 29054 29053 -3 28918 28919 29053 -3 29054 29191 29190 -3 29053 29054 29190 -3 29191 29328 29327 -3 29190 29191 29327 -3 29328 29465 29464 -3 29327 29328 29464 -3 29465 29603 29602 -3 29464 29465 29602 -3 29603 29736 29735 -3 29602 29603 29735 -3 29736 29865 29864 -3 29735 29736 29864 -3 29865 29996 29995 -3 29864 29865 29995 -3 29996 30128 30127 -3 29995 29996 30127 -3 30128 30261 30260 -3 30127 30128 30260 -3 30261 30394 30393 -3 30260 30261 30393 -3 30528 30527 30393 -3 30394 30528 30393 -3 30662 30661 30527 -3 30528 30662 30527 -3 30796 30795 30661 -3 30662 30796 30661 -3 2678 2819 30795 -3 30796 2678 30795 -3 30093 30092 14041 -3 21868 22543 22445 -3 22763 29889 29890 -3 27622 27739 27621 -3 28613 28485 19662 -3 19097 28613 19662 -3 25496 26220 25495 -3 28724 28343 28485 -3 28956 28957 29091 -3 6529 29079 6899 -3 13173 28247 22392 -3 13173 22392 14234 -3 30216 30691 29420 -3 24913 26600 23670 -3 30692 29558 29420 -3 20175 30290 24094 -3 24094 30290 11884 -3 30691 30692 29420 -3 21242 20410 19241 -3 20643 20641 20559 -3 32611 32610 32501 -3 2547 19478 24346 -3 17602 10695 19478 -3 2547 17602 19478 -3 6528 18230 10695 -3 17602 6528 10695 -3 6528 24273 18230 -3 24828 24958 24242 -3 29829 28245 2408 -3 21729 21823 29118 -3 30705 30839 30838 -3 30704 30705 30838 -3 29941 13660 29159 -3 13660 30025 29765 -3 28831 28964 28830 -3 28964 29099 28963 -3 26694 26806 26805 -3 24296 24297 26678 -3 27158 27277 27276 -3 27157 27158 27276 -3 30217 6529 28548 -3 29079 28944 6899 -3 29826 28809 30690 -3 30756 30622 6659 -3 26568 28493 28483 -3 28483 28493 28369 -3 26428 27281 26418 -3 26798 28720 28719 -3 15345 29423 16770 -3 5891 18424 19825 -3 30611 19740 30559 -3 30175 30308 30307 -3 30471 2955 19201 -3 30605 30471 19201 -3 30725 30726 6152 -3 2955 27840 19133 -3 30726 6151 6152 -3 26341 26380 26379 -3 26340 26341 26379 -3 26380 26448 26447 -3 26379 26380 26447 -3 26448 26544 26543 -3 26447 26448 26543 -3 26544 26649 26648 -3 26543 26544 26648 -3 26649 26761 26760 -3 26648 26649 26760 -3 26761 26876 26875 -3 26760 26761 26875 -3 26876 26994 26993 -3 26875 26876 26993 -3 26994 27111 27110 -3 26993 26994 27110 -3 27111 27230 27229 -3 27110 27111 27229 -3 27230 27348 27347 -3 27229 27230 27347 -3 27348 27467 27466 -3 27347 27348 27466 -3 27467 27585 27584 -3 27466 27467 27584 -3 27585 27702 27701 -3 27584 27585 27701 -3 27702 27817 27816 -3 27701 27702 27816 -3 27817 27933 27932 -3 27816 27817 27932 -3 27933 28050 28049 -3 27932 27933 28049 -3 28050 28167 28166 -3 28049 28050 28166 -3 28167 28284 28283 -3 28166 28167 28283 -3 28284 28404 28403 -3 28283 28284 28403 -3 28404 28526 28525 -3 28403 28404 28525 -3 28655 28654 28525 -3 28526 28655 28525 -3 28655 28787 28786 -3 28654 28655 28786 -3 28787 28920 28919 -3 28786 28787 28919 -3 28920 29055 29054 -3 28919 28920 29054 -3 29055 29192 29191 -3 29054 29055 29191 -3 29192 29329 29328 -3 29191 29192 29328 -3 29329 29466 29465 -3 29328 29329 29465 -3 29466 29604 29603 -3 29465 29466 29603 -3 29604 29737 29736 -3 29603 29604 29736 -3 29737 29866 29865 -3 29736 29737 29865 -3 29866 29997 29996 -3 29865 29866 29996 -3 29997 30129 30128 -3 29996 29997 30128 -3 30129 30262 30261 -3 30128 30129 30261 -3 30262 30395 30394 -3 30261 30262 30394 -3 30529 30528 30394 -3 30395 30529 30394 -3 30663 30662 30528 -3 30529 30663 30528 -3 30797 30796 30662 -3 30663 30797 30662 -3 2814 2678 30796 -3 30797 2814 30796 -3 11422 11424 11473 -3 2814 20261 2678 -3 19773 6406 28998 -3 26672 26095 26673 -3 28613 28724 28485 -3 21746 24227 28989 -3 35469 7082 35759 -3 27627 27744 27626 -3 19962 30157 22233 -3 16758 23521 11884 -3 28866 30157 19962 -3 19142 28866 19962 -3 27739 27854 27853 -3 30157 2545 22233 -3 27744 27743 27626 -3 27509 27627 27508 -3 22665 22566 22567 -3 26675 24219 26674 -3 28225 29676 29675 -3 28216 28225 29675 -3 2681 2547 29675 -3 29676 2681 29675 -3 6904 17602 2547 -3 2681 6904 2547 -3 6904 11450 6528 -3 17602 6904 6528 -3 24402 24273 24289 -3 2076 11232 6671 -3 31303 31370 31302 -3 29686 26944 28361 -3 22331 22429 30838 -3 30839 22331 30838 -3 18271 29941 28345 -3 13660 26946 29159 -3 29236 29235 29098 -3 29099 29236 29098 -3 26589 26694 26693 -3 26693 26694 26805 -3 27277 27395 27394 -3 27276 27277 27394 -3 31043 31044 31105 -3 27874 30477 24065 -3 19573 29149 30072 -3 29279 19573 30072 -3 7301 26900 26817 -3 26505 26568 28483 -3 2269 26798 26786 -3 2270 2269 26786 -3 201 29215 29216 -3 19674 201 29216 -3 21846 19855 19790 -3 30732 6855 30731 -3 6660 7214 29819 -3 28243 30471 30605 -3 29352 29214 22272 -3 30189 30188 30056 -3 26342 26381 26380 -3 26341 26342 26380 -3 26381 26449 26448 -3 26380 26381 26448 -3 26449 26545 26544 -3 26448 26449 26544 -3 26545 26650 26649 -3 26544 26545 26649 -3 26762 26761 26649 -3 26650 26762 26649 -3 26762 26877 26876 -3 26761 26762 26876 -3 26877 26995 26994 -3 26876 26877 26994 -3 26995 27112 27111 -3 26994 26995 27111 -3 27112 27231 27230 -3 27111 27112 27230 -3 27231 27349 27348 -3 27230 27231 27348 -3 27349 27468 27467 -3 27348 27349 27467 -3 27468 27586 27585 -3 27467 27468 27585 -3 27586 27703 27702 -3 27585 27586 27702 -3 27703 27818 27817 -3 27702 27703 27817 -3 27818 27934 27933 -3 27817 27818 27933 -3 27934 28051 28050 -3 27933 27934 28050 -3 28051 28168 28167 -3 28050 28051 28167 -3 28168 28285 28284 -3 28167 28168 28284 -3 28285 28405 28404 -3 28284 28285 28404 -3 28405 28527 28526 -3 28404 28405 28526 -3 28656 28655 28526 -3 28527 28656 28526 -3 28656 28788 28787 -3 28655 28656 28787 -3 28788 28921 28920 -3 28787 28788 28920 -3 28921 29056 29055 -3 28920 28921 29055 -3 29056 29193 29192 -3 29055 29056 29192 -3 29193 29330 29329 -3 29192 29193 29329 -3 29330 29467 29466 -3 29329 29330 29466 -3 29467 29605 29604 -3 29466 29467 29604 -3 29605 29738 29737 -3 29604 29605 29737 -3 29738 29867 29866 -3 29737 29738 29866 -3 29867 29998 29997 -3 29866 29867 29997 -3 30130 30129 29997 -3 29998 30130 29997 -3 30130 30263 30262 -3 30129 30130 30262 -3 30263 30396 30395 -3 30262 30263 30395 -3 30530 30529 30395 -3 30396 30530 30395 -3 30664 30663 30529 -3 30530 30664 30529 -3 30798 30797 30663 -3 30664 30798 30663 -3 2679 2814 30797 -3 30798 2679 30797 -3 16311 20261 2814 -3 2679 16311 2814 -3 29237 29238 29374 -3 13092 22552 18928 -3 28322 28442 28441 -3 28701 28700 28571 -3 28719 28720 29945 -3 28750 28866 19142 -3 7071 26506 2545 -3 30157 7071 2545 -3 28720 28746 28750 -3 2952 25653 22843 -3 26798 26833 28720 -3 28492 28607 28866 -3 28608 30363 30354 -3 28746 28492 28750 -3 29676 24429 2681 -3 28606 28608 30354 -3 15873 1519 24657 -3 20683 27634 27516 -3 26112 6533 2680 -3 30778 25724 30777 -3 6887 6904 2681 -3 2817 6887 2681 -3 6887 6900 11450 -3 6904 6887 11450 -3 25342 29939 23861 -3 6900 19426 11450 -3 31691 31791 31690 -3 25949 25664 26589 -3 19786 16457 22429 -3 16457 19786 19457 -3 18271 28345 29829 -3 27022 18271 29829 -3 29373 29372 29235 -3 29236 29373 29235 -3 24703 25936 24530 -3 26588 26589 26693 -3 27395 27514 27513 -3 27513 27514 27631 -3 30709 6919 30708 -3 6529 6899 28548 -3 19573 28464 29267 -3 29149 19573 29267 -3 21471 7079 21469 -3 29258 29279 27287 -3 28603 28606 30348 -3 30354 2269 2270 -3 29215 21738 30737 -3 29216 29215 30737 -3 19855 27899 27645 -3 29683 30746 29682 -3 11229 11228 6660 -3 29819 28243 30605 -3 4230 24931 25432 -3 7069 11498 21744 -3 26343 26382 26381 -3 26342 26343 26381 -3 26382 26450 26449 -3 26381 26382 26449 -3 26450 26546 26545 -3 26449 26450 26545 -3 26546 26651 26650 -3 26545 26546 26650 -3 26763 26762 26650 -3 26651 26763 26650 -3 26763 26878 26877 -3 26762 26763 26877 -3 26878 26996 26995 -3 26877 26878 26995 -3 26996 27113 27112 -3 26995 26996 27112 -3 27113 27232 27231 -3 27112 27113 27231 -3 27232 27350 27349 -3 27231 27232 27349 -3 27350 27469 27468 -3 27349 27350 27468 -3 27469 27587 27586 -3 27468 27469 27586 -3 27587 27704 27703 -3 27586 27587 27703 -3 27704 27819 27818 -3 27703 27704 27818 -3 27819 27935 27934 -3 27818 27819 27934 -3 28052 28051 27934 -3 27935 28052 27934 -3 28169 28168 28051 -3 28052 28169 28051 -3 28169 28286 28285 -3 28168 28169 28285 -3 28286 28406 28405 -3 28285 28286 28405 -3 28406 28528 28527 -3 28405 28406 28527 -3 28657 28656 28527 -3 28528 28657 28527 -3 28657 28789 28788 -3 28656 28657 28788 -3 28789 28922 28921 -3 28788 28789 28921 -3 28922 29057 29056 -3 28921 28922 29056 -3 29057 29194 29193 -3 29056 29057 29193 -3 29194 29331 29330 -3 29193 29194 29330 -3 29331 29468 29467 -3 29330 29331 29467 -3 29468 29606 29605 -3 29467 29468 29605 -3 29606 29739 29738 -3 29605 29606 29738 -3 29739 29868 29867 -3 29738 29739 29867 -3 29868 29999 29998 -3 29867 29868 29998 -3 30131 30130 29998 -3 29999 30131 29998 -3 30131 30264 30263 -3 30130 30131 30263 -3 30397 30396 30263 -3 30264 30397 30263 -3 30531 30530 30396 -3 30397 30531 30396 -3 30665 30664 30530 -3 30531 30665 30530 -3 30799 30798 30664 -3 30665 30799 30664 -3 2543 2679 30798 -3 30799 2543 30798 -3 16311 25350 4230 -3 631 630 7451 -3 28450 28572 28449 -3 30478 23416 27434 -3 28861 28864 2670 -3 19705 28861 2670 -3 28720 28750 29945 -3 29945 28750 19142 -3 28607 7071 30157 -3 14141 20501 14911 -3 26609 26610 26714 -3 25424 25040 29965 -3 28856 35946 6409 -3 22631 28363 28680 -3 27146 27137 28365 -3 30341 29683 19670 -3 26833 28746 28720 -3 7884 29817 28367 -3 31405 31472 31404 -3 30628 23569 30761 -3 2956 24345 22422 -3 24864 28996 29258 -3 11123 6887 2817 -3 2956 11123 2817 -3 11123 11451 6900 -3 6887 11123 6900 -3 6654 19426 6900 -3 11451 6654 6900 -3 32200 32199 32099 -3 12255 12256 12341 -3 22331 19786 22429 -3 5609 5339 19457 -3 28975 29110 28974 -3 29941 29159 28345 -3 29510 29509 29372 -3 29373 29510 29372 -3 19689 27551 26422 -3 24865 24864 29258 -3 27394 27395 27513 -3 27749 27748 27631 -3 29658 29791 29657 -3 30307 30308 30440 -3 28464 30483 30349 -3 28809 6659 30690 -3 6981 7301 26817 -3 11943 23520 11836 -3 28606 28603 27268 -3 30348 30354 2270 -3 29696 19138 6903 -3 21849 19705 30737 -3 30738 30558 18865 -3 32244 32243 32143 -3 27492 11228 28600 -3 7214 28243 29819 -3 26608 26713 26712 -3 34817 34816 34688 -3 15453 13526 23451 -3 26343 26344 26382 -3 34946 34945 34816 -3 21630 26356 26396 -3 26451 26547 26546 -3 26450 26451 26546 -3 26547 26652 26651 -3 26546 26547 26651 -3 26652 26764 26763 -3 26651 26652 26763 -3 26764 26879 26878 -3 26763 26764 26878 -3 26879 26997 26996 -3 26878 26879 26996 -3 26997 27114 27113 -3 26996 26997 27113 -3 27114 27233 27232 -3 27113 27114 27232 -3 27351 27350 27232 -3 27233 27351 27232 -3 27351 27470 27469 -3 27350 27351 27469 -3 27470 27588 27587 -3 27469 27470 27587 -3 27588 27705 27704 -3 27587 27588 27704 -3 27705 27820 27819 -3 27704 27705 27819 -3 27820 27936 27935 -3 27819 27820 27935 -3 27936 28053 28052 -3 27935 27936 28052 -3 28170 28169 28052 -3 28053 28170 28052 -3 28287 28286 28169 -3 28170 28287 28169 -3 28287 28407 28406 -3 28286 28287 28406 -3 28407 28529 28528 -3 28406 28407 28528 -3 28658 28657 28528 -3 28529 28658 28528 -3 28658 28790 28789 -3 28657 28658 28789 -3 28790 28923 28922 -3 28789 28790 28922 -3 28923 29058 29057 -3 28922 28923 29057 -3 29058 29195 29194 -3 29057 29058 29194 -3 29195 29332 29331 -3 29194 29195 29331 -3 29332 29469 29468 -3 29331 29332 29468 -3 29469 29607 29606 -3 29468 29469 29606 -3 29607 29740 29739 -3 29606 29607 29739 -3 29740 29869 29868 -3 29739 29740 29868 -3 29869 30000 29999 -3 29868 29869 29999 -3 30132 30131 29999 -3 30000 30132 29999 -3 30132 30265 30264 -3 30131 30132 30264 -3 30265 30398 30397 -3 30264 30265 30397 -3 30532 30531 30397 -3 30398 30532 30397 -3 30666 30665 30531 -3 30532 30666 30531 -3 30800 30799 30665 -3 30666 30800 30665 -3 2816 2543 30799 -3 30800 2816 30799 -3 21533 21444 28433 -3 23021 22843 23609 -3 28572 28571 28449 -3 24428 24344 22422 -3 30205 26912 28864 -3 28861 30205 28864 -3 26460 26428 26945 -3 27086 26460 26945 -3 28750 28492 28866 -3 28866 28607 30157 -3 28814 30475 30474 -3 30746 18865 29682 -3 27636 27492 29130 -3 11228 11229 28600 -3 26623 28474 27788 -3 27636 29130 27517 -3 28846 28979 28845 -3 28474 27636 27517 -3 2269 19249 26798 -3 29530 29529 29392 -3 23072 22422 24344 -3 24274 24289 24273 -3 22422 8583 11123 -3 2956 22422 11123 -3 17308 11451 11123 -3 8583 17308 11123 -3 17308 6534 6654 -3 11451 17308 6654 -3 22299 22300 30070 -3 31787 31786 31686 -3 30558 29540 30693 -3 19786 19459 19457 -3 19787 19785 22330 -3 29110 29109 28974 -3 31892 31993 31891 -3 29648 29647 29509 -3 29102 29101 28966 -3 30751 26422 26522 -3 3087 3086 21947 -3 27514 27632 27631 -3 21946 19353 19354 -3 29357 29220 29156 -3 29267 28464 30349 -3 29826 30690 30349 -3 29129 30216 28992 -3 7079 7301 6981 -3 27281 28606 27268 -3 28606 30354 30348 -3 19409 17626 7070 -3 18509 19591 29015 -3 26610 26609 26513 -3 30803 14055 30772 -3 28474 27517 27788 -3 11228 7214 6660 -3 30593 30727 30592 -3 30326 30325 30192 -3 25105 25104 25721 -3 21890 21985 28807 -3 22861 24666 30776 -3 22861 29260 25117 -3 26452 26548 26547 -3 26451 26452 26547 -3 26548 26653 26652 -3 26547 26548 26652 -3 26765 26764 26652 -3 26653 26765 26652 -3 26880 26879 26764 -3 26765 26880 26764 -3 26998 26997 26879 -3 26880 26998 26879 -3 27115 27114 26997 -3 26998 27115 26997 -3 27234 27233 27114 -3 27115 27234 27114 -3 27234 27352 27351 -3 27233 27234 27351 -3 27352 27471 27470 -3 27351 27352 27470 -3 27471 27589 27588 -3 27470 27471 27588 -3 27589 27706 27705 -3 27588 27589 27705 -3 27706 27821 27820 -3 27705 27706 27820 -3 27821 27937 27936 -3 27820 27821 27936 -3 27937 28054 28053 -3 27936 27937 28053 -3 28054 28171 28170 -3 28053 28054 28170 -3 28288 28287 28170 -3 28171 28288 28170 -3 28408 28407 28287 -3 28288 28408 28287 -3 28408 28530 28529 -3 28407 28408 28529 -3 28659 28658 28529 -3 28530 28659 28529 -3 28659 28791 28790 -3 28658 28659 28790 -3 28791 28924 28923 -3 28790 28791 28923 -3 28924 29059 29058 -3 28923 28924 29058 -3 29059 29196 29195 -3 29058 29059 29195 -3 29196 29333 29332 -3 29195 29196 29332 -3 29333 29470 29469 -3 29332 29333 29469 -3 29470 29608 29607 -3 29469 29470 29607 -3 29608 29741 29740 -3 29607 29608 29740 -3 29741 29870 29869 -3 29740 29741 29869 -3 30001 30000 29869 -3 29870 30001 29869 -3 30133 30132 30000 -3 30001 30133 30000 -3 30133 30266 30265 -3 30132 30133 30265 -3 30266 30399 30398 -3 30265 30266 30398 -3 30533 30532 30398 -3 30399 30533 30398 -3 30667 30666 30532 -3 30533 30667 30532 -3 30801 30800 30666 -3 30667 30801 30666 -3 2815 2816 30800 -3 30801 2815 30800 -3 21985 22081 28941 -3 23072 11573 22422 -3 30205 27023 26912 -3 28439 28440 28561 -3 14057 27086 26945 -3 27023 29261 26912 -3 19039 11103 28622 -3 11453 14057 26945 -3 27137 7884 28367 -3 12021 27320 27319 -3 26623 27788 21472 -3 21630 23813 30870 -3 29925 30056 29924 -3 21557 26623 21472 -3 30593 30592 30458 -3 26608 26607 26511 -3 27492 28600 29130 -3 21557 21472 19575 -3 26493 27414 27412 -3 29395 29394 29257 -3 18733 1975 16300 -3 19249 26833 26798 -3 11573 8583 22422 -3 25092 20925 25372 -3 11573 30022 17308 -3 8583 11573 17308 -3 30022 19413 6534 -3 17308 30022 6534 -3 12334 12335 28109 -3 24668 22233 2545 -3 29273 29354 26907 -3 29773 29774 29902 -3 22329 22330 30840 -3 22329 19787 22330 -3 33058 33163 33057 -3 28366 30751 26522 -3 28967 28966 28833 -3 28967 29102 28966 -3 26570 13296 26571 -3 30051 30050 29919 -3 26926 26927 27044 -3 21635 19570 25225 -3 32616 32730 32615 -3 30483 29826 30349 -3 10241 16610 15090 -3 28992 35657 35386 -3 28608 28606 27281 -3 26786 26798 28719 -3 26587 20007 26491 -3 30833 17840 30832 -3 28133 29566 29892 -3 26610 26715 26714 -3 32049 31950 11518 -3 27263 19575 29428 -3 26678 24297 26677 -3 21919 22012 29396 -3 30533 25145 30667 -3 29260 22861 30776 -3 12108 27901 25365 -3 26453 26549 26548 -3 26452 26453 26548 -3 26549 26654 26653 -3 26548 26549 26653 -3 26766 26765 26653 -3 26654 26766 26653 -3 26766 26881 26880 -3 26765 26766 26880 -3 26999 26998 26880 -3 26881 26999 26880 -3 27116 27115 26998 -3 26999 27116 26998 -3 27235 27234 27115 -3 27116 27235 27115 -3 27353 27352 27234 -3 27235 27353 27234 -3 27353 27472 27471 -3 27352 27353 27471 -3 27472 27590 27589 -3 27471 27472 27589 -3 27590 27707 27706 -3 27589 27590 27706 -3 27707 27822 27821 -3 27706 27707 27821 -3 27822 27938 27937 -3 27821 27822 27937 -3 27938 28055 28054 -3 27937 27938 28054 -3 28055 28172 28171 -3 28054 28055 28171 -3 28172 28289 28288 -3 28171 28172 28288 -3 28289 28409 28408 -3 28288 28289 28408 -3 28409 28531 28530 -3 28408 28409 28530 -3 28660 28659 28530 -3 28531 28660 28530 -3 28660 28792 28791 -3 28659 28660 28791 -3 28792 28925 28924 -3 28791 28792 28924 -3 28925 29060 29059 -3 28924 28925 29059 -3 29060 29197 29196 -3 29059 29060 29196 -3 29334 29333 29196 -3 29197 29334 29196 -3 29334 29471 29470 -3 29333 29334 29470 -3 29471 29609 29608 -3 29470 29471 29608 -3 29609 29742 29741 -3 29608 29609 29741 -3 29742 29871 29870 -3 29741 29742 29870 -3 29871 30002 30001 -3 29870 29871 30001 -3 30002 30134 30133 -3 30001 30002 30133 -3 30134 30267 30266 -3 30133 30134 30266 -3 30267 30400 30399 -3 30266 30267 30399 -3 26522 35469 6658 -3 30399 30400 30533 -3 30197 22587 30330 -3 30801 30667 25829 -3 25366 25239 25101 -3 21176 21175 21088 -3 2542 2815 30801 -3 24803 26359 29939 -3 3624 13526 23703 -3 23975 7081 25916 -3 18282 27844 29261 -3 29364 29365 29501 -3 7188 6972 11496 -3 15219 7188 11496 -3 17269 11452 26521 -3 26676 26677 24298 -3 26574 28133 29892 -3 17259 26574 29892 -3 26512 26608 26511 -3 29566 29428 29892 -3 26512 26511 26424 -3 2542 30801 25829 -3 29114 29251 29113 -3 27263 21557 19575 -3 5340 2404 17259 -3 25644 28117 25500 -3 29532 29531 29394 -3 33160 33159 33054 -3 30363 19249 2269 -3 13363 29023 29160 -3 25483 15317 26000 -3 6844 27903 30022 -3 11573 6844 30022 -3 27903 20092 19413 -3 30022 27903 19413 -3 29395 29257 21918 -3 20845 20925 25092 -3 29682 18865 14618 -3 28989 24226 27784 -3 30841 30840 30706 -3 30841 22329 30840 -3 33268 33267 33162 -3 32093 32092 31992 -3 28834 28833 28701 -3 28834 28967 28833 -3 29920 30051 29919 -3 30051 30183 30050 -3 26699 26700 26811 -3 26812 26927 26926 -3 19674 29216 25084 -3 28071 29129 28992 -3 27627 27626 27508 -3 8792 8460 6613 -3 27284 27281 26428 -3 27284 28608 27281 -3 19977 29954 23173 -3 35724 35358 35726 -3 28473 29959 5340 -3 29566 27263 29428 -3 29251 29250 29113 -3 5741 19129 27646 -3 31274 19971 19970 -3 26918 29138 29137 -3 28693 28825 28824 -3 27082 29423 28725 -3 31656 26240 25243 -3 17251 27399 26902 -3 19976 26492 26491 -3 31341 19973 19972 -3 28957 28958 29092 -3 26917 26918 29137 -3 29121 19036 7406 -3 29143 17251 26902 -3 26082 25807 25213 -3 32554 32667 32553 -3 26492 25949 26588 -3 25074 2819 25147 -3 29121 7406 19196 -3 25365 26453 26452 -3 30745 14344 25945 -3 26454 26550 26549 -3 26453 26454 26549 -3 26550 26655 26654 -3 26549 26550 26654 -3 26767 26766 26654 -3 26655 26767 26654 -3 26767 26882 26881 -3 26766 26767 26881 -3 27000 26999 26881 -3 26882 27000 26881 -3 27117 27116 26999 -3 27000 27117 26999 -3 27117 27236 27235 -3 27116 27117 27235 -3 27236 27354 27353 -3 27235 27236 27353 -3 27354 27473 27472 -3 27353 27354 27472 -3 27473 27591 27590 -3 27472 27473 27590 -3 27591 27708 27707 -3 27590 27591 27707 -3 27708 27823 27822 -3 27707 27708 27822 -3 27823 27939 27938 -3 27822 27823 27938 -3 27939 28056 28055 -3 27938 27939 28055 -3 28056 28173 28172 -3 28055 28056 28172 -3 28173 28290 28289 -3 28172 28173 28289 -3 28290 28410 28409 -3 28289 28290 28409 -3 28410 28532 28531 -3 28409 28410 28531 -3 28532 28661 28660 -3 28531 28532 28660 -3 28661 28793 28792 -3 28660 28661 28792 -3 28793 28926 28925 -3 28792 28793 28925 -3 28926 29061 29060 -3 28925 28926 29060 -3 29061 29198 29197 -3 29060 29061 29197 -3 29198 29335 29334 -3 29197 29198 29334 -3 29335 29472 29471 -3 29334 29335 29471 -3 29472 29610 29609 -3 29471 29472 29609 -3 29610 29743 29742 -3 29609 29610 29742 -3 29872 29871 29742 -3 29743 29872 29742 -3 29872 30003 30002 -3 29871 29872 30002 -3 30003 30135 30134 -3 30002 30003 30134 -3 30135 30268 30267 -3 30134 30135 30267 -3 30268 30401 30400 -3 30267 30268 30400 -3 27035 20428 20344 -3 21336 21426 28069 -3 29650 29651 29783 -3 21608 21609 21701 -3 26500 26501 28459 -3 28460 28885 29155 -3 25371 18926 27669 -3 30032 30033 30164 -3 24126 25371 28248 -3 11644 13317 3077 -3 18282 29285 27844 -3 30699 30698 30564 -3 15219 11496 19338 -3 19449 15219 19338 -3 26605 26604 26508 -3 26604 26605 26709 -3 30735 21836 28473 -3 29959 2404 5340 -3 27667 29121 19196 -3 28749 29142 28858 -3 19036 26691 7406 -3 29142 19773 28998 -3 26569 21836 30735 -3 30089 26569 30735 -3 28250 29414 29817 -3 7884 28250 29817 -3 2952 22843 23021 -3 30354 30363 2269 -3 23021 6844 2952 -3 26503 30687 22388 -3 23021 28253 27903 -3 6844 23021 27903 -3 18175 19418 19515 -3 27903 28253 20092 -3 21890 28675 21796 -3 21374 24565 25779 -3 29247 29384 29246 -3 24481 27161 27044 -3 30438 30439 30572 -3 30707 30841 30706 -3 33163 33268 33162 -3 30751 19689 26422 -3 28702 28701 28572 -3 28702 28834 28701 -3 29557 27841 30749 -3 30183 30182 30050 -3 26811 26812 26926 -3 23775 19674 23078 -3 31370 31369 31302 -3 32842 32841 32729 -3 23911 23853 14757 -3 26793 26792 24276 -3 7188 14057 11453 -3 26460 27284 26428 -3 21567 21669 23942 -3 27729 28240 11103 -3 29269 26569 30089 -3 2404 26574 17259 -3 21092 24777 24362 -3 19773 28747 6406 -3 28747 28304 6406 -3 28747 26969 28304 -3 19973 31341 19974 -3 31753 24157 24485 -3 24157 31753 31752 -3 26491 20007 19976 -3 23519 26492 19976 -3 19972 31274 31341 -3 26078 31563 25997 -3 24150 18097 24090 -3 25522 31654 24485 -3 19114 34613 19327 -3 35393 35636 19135 -3 2147 26008 26006 -3 26078 23268 31564 -3 19974 31341 31408 -3 33702 21277 21278 -3 19959 3129 17889 -3 33604 33731 33603 -3 30400 30401 30535 -3 34909 34910 17279 -3 13761 25191 23818 -3 26969 12691 28304 -3 28365 28367 29021 -3 27901 30879 30878 -3 25856 24759 24885 -3 26455 26551 26550 -3 26454 26455 26550 -3 26551 26656 26655 -3 26550 26551 26655 -3 26656 26768 26767 -3 26655 26656 26767 -3 26768 26883 26882 -3 26767 26768 26882 -3 26883 27001 27000 -3 26882 26883 27000 -3 27001 27118 27117 -3 27000 27001 27117 -3 27118 27237 27236 -3 27117 27118 27236 -3 27355 27354 27236 -3 27237 27355 27236 -3 27474 27473 27354 -3 27355 27474 27354 -3 27592 27591 27473 -3 27474 27592 27473 -3 27709 27708 27591 -3 27592 27709 27591 -3 27709 27824 27823 -3 27708 27709 27823 -3 27824 27940 27939 -3 27823 27824 27939 -3 27940 28057 28056 -3 27939 27940 28056 -3 28057 28174 28173 -3 28056 28057 28173 -3 28174 28291 28290 -3 28173 28174 28290 -3 28291 28411 28410 -3 28290 28291 28410 -3 28411 28533 28532 -3 28410 28411 28532 -3 28533 28662 28661 -3 28532 28533 28661 -3 28662 28794 28793 -3 28661 28662 28793 -3 28794 28927 28926 -3 28793 28794 28926 -3 28927 29062 29061 -3 28926 28927 29061 -3 29062 29199 29198 -3 29061 29062 29198 -3 29199 29336 29335 -3 29198 29199 29335 -3 29336 29473 29472 -3 29335 29336 29472 -3 29473 29611 29610 -3 29472 29473 29610 -3 29611 29744 29743 -3 29610 29611 29743 -3 29873 29872 29743 -3 29744 29873 29743 -3 29873 30004 30003 -3 29872 29873 30003 -3 30004 30136 30135 -3 30003 30004 30135 -3 30136 30269 30268 -3 30135 30136 30268 -3 30269 30402 30401 -3 30268 30269 30401 -3 30402 30536 30535 -3 30401 30402 30535 -3 27498 20757 27499 -3 32197 32298 32196 -3 28459 28460 29155 -3 28885 30687 26503 -3 21473 30420 35519 -3 33058 33057 32951 -3 15897 6783 1961 -3 6783 7302 11576 -3 26734 6851 27724 -3 19897 1961 22043 -3 18925 2405 2538 -3 18915 18925 2538 -3 26710 26822 26821 -3 26709 26710 26821 -3 27020 27021 29140 -3 29141 29269 29158 -3 21572 22552 21571 -3 22844 3982 30024 -3 30701 30835 30834 -3 22744 23609 24514 -3 21836 29959 28473 -3 19347 17751 27020 -3 24957 24603 20073 -3 20158 24957 20073 -3 27869 27259 27985 -3 7067 6867 18915 -3 24295 24449 24296 -3 19418 18175 7454 -3 34805 34934 34804 -3 23021 21376 28253 -3 27087 11853 26971 -3 16151 19700 27666 -3 32631 32630 32521 -3 21247 27837 21248 -3 19129 11384 27782 -3 29247 29246 29109 -3 30707 30706 30572 -3 30573 30707 30572 -3 35438 35588 35817 -3 33377 33376 33267 -3 28573 28702 28572 -3 29239 29238 29101 -3 28096 28213 28095 -3 29557 30749 17266 -3 20602 20601 20519 -3 28124 12514 12604 -3 29408 28344 29124 -3 4396 22270 14090 -3 19705 2670 21848 -3 30737 19705 21848 -3 19449 19338 2538 -3 6972 7188 11453 -3 26509 26605 26508 -3 26605 26710 26709 -3 30466 30467 19347 -3 29158 29269 30089 -3 29817 21776 22156 -3 24216 21916 24317 -3 30567 30701 30700 -3 31174 31238 31237 -3 31478 25320 31479 -3 26508 26421 31856 -3 19994 19963 19964 -3 31052 31051 30990 -3 32727 32726 32612 -3 25944 24831 26366 -3 30986 31047 30985 -3 31233 31298 31232 -3 15610 32567 15609 -3 33164 33163 33058 -3 31617 31618 31712 -3 32344 32448 32343 -3 35726 35358 35446 -3 30076 27755 27409 -3 29002 29399 30076 -3 27409 29002 30076 -3 24467 28125 23654 -3 8230 35845 35744 -3 33863 33998 33862 -3 27372 27254 26252 -3 28340 24455 24908 -3 30700 30701 30834 -3 24227 24020 24226 -3 31105 31106 31168 -3 29133 23957 23898 -3 25342 24803 29939 -3 26388 26456 26455 -3 24407 26455 26454 -3 26456 26552 26551 -3 26455 26456 26551 -3 26552 26657 26656 -3 26551 26552 26656 -3 26769 26768 26656 -3 26657 26769 26656 -3 26769 26884 26883 -3 26768 26769 26883 -3 27002 27001 26883 -3 26884 27002 26883 -3 27119 27118 27001 -3 27002 27119 27001 -3 27119 27238 27237 -3 27118 27119 27237 -3 27238 27356 27355 -3 27237 27238 27355 -3 27356 27475 27474 -3 27355 27356 27474 -3 27593 27592 27474 -3 27475 27593 27474 -3 27710 27709 27592 -3 27593 27710 27592 -3 27825 27824 27709 -3 27710 27825 27709 -3 27825 27941 27940 -3 27824 27825 27940 -3 27941 28058 28057 -3 27940 27941 28057 -3 28058 28175 28174 -3 28057 28058 28174 -3 28175 28292 28291 -3 28174 28175 28291 -3 28292 28412 28411 -3 28291 28292 28411 -3 28412 28534 28533 -3 28411 28412 28533 -3 28534 28663 28662 -3 28533 28534 28662 -3 28663 28795 28794 -3 28662 28663 28794 -3 28795 28928 28927 -3 28794 28795 28927 -3 28928 29063 29062 -3 28927 28928 29062 -3 29063 29200 29199 -3 29062 29063 29199 -3 29200 29337 29336 -3 29199 29200 29336 -3 29337 29474 29473 -3 29336 29337 29473 -3 29474 29612 29611 -3 29473 29474 29611 -3 29745 29744 29611 -3 29612 29745 29611 -3 29745 29874 29873 -3 29744 29745 29873 -3 29874 30005 30004 -3 29873 29874 30004 -3 30005 30137 30136 -3 30004 30005 30136 -3 30137 30270 30269 -3 30136 30137 30269 -3 30270 30403 30402 -3 30269 30270 30402 -3 30403 30537 30536 -3 30402 30403 30536 -3 29494 35788 29356 -3 30537 30671 30536 -3 29155 28885 26503 -3 24869 26249 13792 -3 2809 22137 25397 -3 30930 30929 30875 -3 28587 28619 28490 -3 28586 28587 28490 -3 26734 19348 6851 -3 24423 24338 24339 -3 30452 30586 30451 -3 30720 30719 30585 -3 26712 26824 26823 -3 28476 29698 26797 -3 28744 28755 30466 -3 29140 29141 29158 -3 26717 26738 28614 -3 28618 28344 29408 -3 25645 28116 25644 -3 23173 29679 13767 -3 27021 29141 29140 -3 27398 28755 28744 -3 31044 31106 31105 -3 31050 31051 31112 -3 27259 29630 27985 -3 6867 18925 18915 -3 7771 712 594 -3 12988 16775 3794 -3 25682 11922 9120 -3 9120 13315 25682 -3 937 16483 7587 -3 24826 26821 26937 -3 28884 24744 23779 -3 27162 27163 28471 -3 19785 19351 19459 -3 7095 27145 6992 -3 19787 19352 19351 -3 19785 19787 19351 -3 35685 12809 30023 -3 7513 7512 33673 -3 29102 29239 29101 -3 29376 29375 29238 -3 29827 28366 6658 -3 28213 28212 28095 -3 25398 24240 23603 -3 26345 26346 27085 -3 27256 28340 29153 -3 24826 24886 24887 -3 27023 18282 29261 -3 29285 27724 27844 -3 6867 7067 30719 -3 2405 19449 2538 -3 26429 11481 26361 -3 26606 26607 26711 -3 26483 27398 27386 -3 17751 27021 27020 -3 27259 453 29630 -3 28321 28441 28440 -3 28021 19909 25390 -3 26509 26508 26423 -3 17262 30472 24010 -3 26510 26423 31955 -3 31955 26424 26510 -3 25646 25282 28230 -3 30991 30990 30932 -3 33736 33870 33735 -3 33870 34005 33869 -3 27149 29495 29005 -3 34005 34004 33869 -3 31459 31531 31530 -3 27149 29005 27986 -3 14261 13867 10709 -3 23692 20172 26692 -3 19237 27409 27870 -3 27986 19237 27870 -3 28860 29002 27409 -3 19237 28860 27409 -3 25390 19909 28625 -3 28860 28595 29002 -3 26716 26832 23817 -3 28625 19909 19908 -3 13944 29962 29961 -3 28996 24863 24738 -3 28304 25407 25550 -3 21972 23322 27553 -3 14924 12560 12381 -3 26349 26388 27895 -3 26349 26389 26388 -3 31202 31266 31201 -3 26389 26457 26456 -3 26388 26389 26456 -3 26457 26553 26552 -3 26456 26457 26552 -3 26553 26658 26657 -3 26552 26553 26657 -3 26770 26769 26657 -3 26658 26770 26657 -3 26770 26885 26884 -3 26769 26770 26884 -3 26885 27003 27002 -3 26884 26885 27002 -3 27003 27120 27119 -3 27002 27003 27119 -3 27120 27239 27238 -3 27119 27120 27238 -3 27239 27357 27356 -3 27238 27239 27356 -3 27357 27476 27475 -3 27356 27357 27475 -3 27594 27593 27475 -3 27476 27594 27475 -3 27711 27710 27593 -3 27594 27711 27593 -3 27826 27825 27710 -3 27711 27826 27710 -3 27826 27942 27941 -3 27825 27826 27941 -3 27942 28059 28058 -3 27941 27942 28058 -3 28059 28176 28175 -3 28058 28059 28175 -3 28176 28293 28292 -3 28175 28176 28292 -3 28293 28413 28412 -3 28292 28293 28412 -3 28413 28535 28534 -3 28412 28413 28534 -3 28535 28664 28663 -3 28534 28535 28663 -3 28664 28796 28795 -3 28663 28664 28795 -3 28796 28929 28928 -3 28795 28796 28928 -3 28929 29064 29063 -3 28928 28929 29063 -3 29064 29201 29200 -3 29063 29064 29200 -3 29201 29338 29337 -3 29200 29201 29337 -3 29338 29475 29474 -3 29337 29338 29474 -3 29475 29613 29612 -3 29474 29475 29612 -3 29746 29745 29612 -3 29613 29746 29612 -3 29746 29875 29874 -3 29745 29746 29874 -3 29875 30006 30005 -3 29874 29875 30005 -3 30006 30138 30137 -3 30005 30006 30137 -3 30138 30271 30270 -3 30137 30138 30270 -3 30404 30403 30270 -3 30271 30404 30270 -3 30404 30538 30537 -3 30403 30404 30537 -3 30538 30672 30671 -3 30537 30538 30671 -3 20733 22949 21493 -3 33741 33875 33740 -3 32048 32047 31950 -3 23603 24240 26793 -3 28619 19907 28947 -3 28490 28619 28947 -3 29016 19461 28604 -3 28475 29016 28604 -3 30319 30452 30318 -3 30586 30720 30585 -3 26797 27164 19039 -3 28848 28981 28847 -3 27953 26483 26482 -3 30467 17751 19347 -3 29090 29091 29227 -3 27505 27623 27622 -3 26593 27759 28984 -3 11398 3323 27876 -3 30743 19270 2541 -3 27386 27398 28744 -3 28755 30467 30466 -3 24304 20759 25111 -3 28848 28847 28715 -3 24429 28225 24284 -3 29763 19128 27401 -3 17819 18359 23882 -3 23957 23956 23897 -3 15041 18179 19106 -3 18359 12450 23882 -3 22330 19785 22331 -3 21747 17256 5088 -3 29018 23577 29019 -3 19785 19786 22331 -3 29018 29019 28130 -3 28338 29018 28130 -3 19352 6788 5608 -3 19351 19352 5608 -3 27082 28725 28726 -3 23059 30285 22961 -3 29239 29376 29238 -3 29376 29513 29512 -3 28480 30222 30215 -3 16151 21328 29431 -3 30761 24777 30760 -3 26417 27255 27202 -3 19907 27256 19234 -3 19234 27256 29153 -3 29285 26734 27724 -3 19348 29951 6851 -3 30186 30319 30185 -3 30720 6867 30719 -3 28716 28848 28715 -3 28981 28980 28847 -3 341 3323 342 -3 26482 26483 27386 -3 21942 19447 21943 -3 19447 21471 21469 -3 35943 9670 9784 -3 23521 16758 28625 -3 31956 31955 26423 -3 31957 31956 31856 -3 26423 31856 31956 -3 31856 26423 26508 -3 30933 30991 30932 -3 31140 31203 31139 -3 34141 34140 34004 -3 34005 34141 34004 -3 12916 35870 24614 -3 29633 26404 29766 -3 27728 29005 29633 -3 29766 27728 29633 -3 28103 27986 29005 -3 27728 28103 29005 -3 11252 19237 27986 -3 28103 11252 27986 -3 17267 28860 19237 -3 11252 17267 19237 -3 30211 28595 28860 -3 17267 30211 28860 -3 24211 24210 24151 -3 30211 18097 28595 -3 29825 24510 24423 -3 26706 26601 24162 -3 29527 29665 29526 -3 30045 30046 30177 -3 30733 22884 22983 -3 20261 25432 25228 -3 25365 25077 26453 -3 35067 17372 17371 -3 35067 17371 34937 -3 26390 26458 26457 -3 26389 26390 26457 -3 26458 26554 26553 -3 26457 26458 26553 -3 26554 26659 26658 -3 26553 26554 26658 -3 26659 26771 26770 -3 26658 26659 26770 -3 26771 26886 26885 -3 26770 26771 26885 -3 26886 27004 27003 -3 26885 26886 27003 -3 27121 27120 27003 -3 27004 27121 27003 -3 27240 27239 27120 -3 27121 27240 27120 -3 27240 27358 27357 -3 27239 27240 27357 -3 27358 27477 27476 -3 27357 27358 27476 -3 27477 27595 27594 -3 27476 27477 27594 -3 27595 27712 27711 -3 27594 27595 27711 -3 27712 27827 27826 -3 27711 27712 27826 -3 27827 27943 27942 -3 27826 27827 27942 -3 27943 28060 28059 -3 27942 27943 28059 -3 28060 28177 28176 -3 28059 28060 28176 -3 28294 28293 28176 -3 28177 28294 28176 -3 28414 28413 28293 -3 28294 28414 28293 -3 28414 28536 28535 -3 28413 28414 28535 -3 28536 28665 28664 -3 28535 28536 28664 -3 28665 28797 28796 -3 28664 28665 28796 -3 28797 28930 28929 -3 28796 28797 28929 -3 28930 29065 29064 -3 28929 28930 29064 -3 29065 29202 29201 -3 29064 29065 29201 -3 29202 29339 29338 -3 29201 29202 29338 -3 29339 29476 29475 -3 29338 29339 29475 -3 29476 29614 29613 -3 29475 29476 29613 -3 29747 29746 29613 -3 29614 29747 29613 -3 29747 29876 29875 -3 29746 29747 29875 -3 29876 30007 30006 -3 29875 29876 30006 -3 30007 30139 30138 -3 30006 30007 30138 -3 30139 30272 30271 -3 30138 30139 30271 -3 30405 30404 30271 -3 30272 30405 30271 -3 30539 30538 30404 -3 30405 30539 30404 -3 30539 30673 30672 -3 30538 30539 30672 -3 15723 21031 1858 -3 24520 24349 29358 -3 29020 19234 24443 -3 15329 28020 28018 -3 19565 19561 26581 -3 6846 6847 21368 -3 28101 26970 19461 -3 29016 28101 19461 -3 30186 30185 30053 -3 30586 30585 30451 -3 29116 29115 28980 -3 28981 29116 28980 -3 17758 21553 342 -3 27876 27953 26482 -3 25077 24407 26454 -3 28491 19901 19517 -3 25931 19477 23809 -3 31924 31923 31817 -3 569 21553 17758 -3 571 569 17758 -3 29253 29252 29115 -3 29116 29253 29115 -3 24531 10003 18359 -3 27621 27620 27502 -3 23522 25178 25177 -3 26789 26790 24885 -3 23580 24829 12450 -3 26970 28101 25402 -3 30212 30215 19675 -3 27381 21275 21365 -3 30599 25657 25658 -3 29143 26902 28217 -3 28086 28203 28202 -3 28562 28691 28690 -3 29520 29658 29519 -3 30189 30322 30188 -3 6980 17575 6537 -3 30589 30588 30454 -3 11384 27875 27782 -3 30476 30486 19129 -3 29375 29376 29512 -3 29512 29513 29650 -3 12132 35886 35821 -3 31993 32093 31992 -3 30770 30762 2805 -3 24030 24090 20410 -3 26590 28587 28586 -3 28947 19907 19234 -3 28475 28604 29951 -3 19348 28475 29951 -3 30054 30186 30053 -3 30452 30451 30318 -3 29390 29389 29252 -3 29253 29390 29252 -3 19685 569 571 -3 3323 27953 27876 -3 26702 26814 26813 -3 23809 19477 30811 -3 32570 17396 26611 -3 32462 32570 26611 -3 26832 26716 17484 -3 31803 31909 31802 -3 27548 12173 27664 -3 31720 31820 31719 -3 33092 33197 33091 -3 30933 30932 30878 -3 30879 30933 30878 -3 33225 33330 33224 -3 34279 34278 34140 -3 30026 29766 28308 -3 32637 32638 32751 -3 26487 27728 29766 -3 30026 26487 29766 -3 28220 28103 27728 -3 26487 28220 27728 -3 27292 11252 28103 -3 28220 27292 28103 -3 28994 17267 11252 -3 27292 28994 11252 -3 29548 30211 17267 -3 28994 29548 17267 -3 29274 18097 30211 -3 29548 29274 30211 -3 25570 23711 25571 -3 29274 19241 18097 -3 28108 28100 24830 -3 25364 26458 26390 -3 18671 19436 19682 -3 3323 11398 342 -3 16218 16987 15231 -3 26701 26702 26813 -3 18645 18644 21036 -3 35067 34937 34938 -3 24509 24510 24617 -3 22552 27752 27612 -3 20953 21036 18644 -3 20952 20953 18644 -3 26555 26660 26659 -3 26554 26555 26659 -3 26772 26771 26659 -3 26660 26772 26659 -3 26772 26887 26886 -3 26771 26772 26886 -3 26887 27005 27004 -3 26886 26887 27004 -3 27122 27121 27004 -3 27005 27122 27004 -3 27241 27240 27121 -3 27122 27241 27121 -3 27359 27358 27240 -3 27241 27359 27240 -3 27478 27477 27358 -3 27359 27478 27358 -3 27596 27595 27477 -3 27478 27596 27477 -3 27596 27713 27712 -3 27595 27596 27712 -3 27713 27828 27827 -3 27712 27713 27827 -3 27828 27944 27943 -3 27827 27828 27943 -3 28061 28060 27943 -3 27944 28061 27943 -3 28178 28177 28060 -3 28061 28178 28060 -3 28295 28294 28177 -3 28178 28295 28177 -3 28415 28414 28294 -3 28295 28415 28294 -3 28537 28536 28414 -3 28415 28537 28414 -3 28666 28665 28536 -3 28537 28666 28536 -3 28666 28798 28797 -3 28665 28666 28797 -3 28798 28931 28930 -3 28797 28798 28930 -3 28931 29066 29065 -3 28930 28931 29065 -3 29066 29203 29202 -3 29065 29066 29202 -3 29203 29340 29339 -3 29202 29203 29339 -3 29340 29477 29476 -3 29339 29340 29476 -3 29477 29615 29614 -3 29476 29477 29614 -3 29748 29747 29614 -3 29615 29748 29614 -3 29748 29877 29876 -3 29747 29748 29876 -3 29877 30008 30007 -3 29876 29877 30007 -3 30140 30139 30007 -3 30008 30140 30007 -3 30273 30272 30139 -3 30140 30273 30139 -3 30406 30405 30272 -3 30273 30406 30272 -3 30540 30539 30405 -3 30406 30540 30405 -3 30674 30673 30539 -3 30540 30674 30539 -3 30673 25667 25366 -3 22194 30631 30496 -3 29021 23959 11725 -3 24432 29422 24266 -3 27414 27432 28814 -3 19561 26590 26581 -3 29794 29923 29793 -3 24731 28237 25287 -3 30323 30322 30189 -3 30054 30053 29922 -3 30729 7402 30728 -3 29527 29526 29389 -3 35523 35479 28308 -3 7402 19436 18671 -3 8626 1861 1982 -3 22176 22177 22272 -3 23655 24848 23606 -3 21553 341 342 -3 30595 30729 30594 -3 29665 29798 29664 -3 29798 29797 29664 -3 27863 27862 27747 -3 27748 27863 27747 -3 29492 29490 24348 -3 29431 19700 16151 -3 25682 13315 24581 -3 23655 10003 24531 -3 30215 21747 19675 -3 20330 20244 20245 -3 30712 17568 30711 -3 29366 29503 29502 -3 28955 28956 29090 -3 29091 29228 29227 -3 19030 26904 6537 -3 25693 25834 25692 -3 30710 7407 6919 -3 30709 30710 6919 -3 30576 30710 30709 -3 30575 30576 30709 -3 29513 29651 29650 -3 29651 29784 29783 -3 28496 30287 30286 -3 23576 26503 22388 -3 26900 26932 26416 -3 12173 12256 27664 -3 27199 27200 28554 -3 26581 26590 28586 -3 19993 25503 19994 -3 21141 27137 27146 -3 29523 29661 29522 -3 30319 30318 30185 -3 29390 29527 29389 -3 29665 29664 29526 -3 30461 30595 30460 -3 19682 19685 571 -3 28878 28754 17479 -3 30803 28878 17479 -3 10241 30772 16610 -3 26513 32153 32254 -3 35202 35201 35072 -3 34942 34941 34812 -3 33302 33301 33196 -3 31820 31819 31719 -3 31720 31719 31624 -3 31625 31720 31624 -3 34141 34279 34140 -3 34417 34416 34278 -3 33078 33077 32971 -3 35852 35410 35453 -3 30291 30026 28428 -3 6876 30291 28428 -3 27033 26487 30026 -3 30291 27033 30026 -3 28337 28220 26487 -3 27033 28337 26487 -3 29824 27292 28220 -3 28337 29824 28220 -3 30206 28994 27292 -3 29824 30206 27292 -3 29410 29548 28994 -3 30206 29410 28994 -3 29820 29274 29548 -3 29410 29820 29548 -3 6408 19241 29274 -3 29820 6408 29274 -3 34134 34272 34133 -3 21242 21330 23910 -3 19436 19685 19682 -3 27318 12102 27317 -3 21651 19673 28754 -3 28878 21651 28754 -3 30804 30757 19673 -3 11978 12560 12938 -3 26253 23813 23926 -3 21290 21453 25728 -3 26934 24637 26819 -3 20501 14141 23487 -3 26556 26661 26660 -3 26555 26556 26660 -3 26773 26772 26660 -3 26661 26773 26660 -3 26888 26887 26772 -3 26773 26888 26772 -3 26888 27006 27005 -3 26887 26888 27005 -3 27123 27122 27005 -3 27006 27123 27005 -3 27242 27241 27122 -3 27123 27242 27122 -3 27360 27359 27241 -3 27242 27360 27241 -3 27479 27478 27359 -3 27360 27479 27359 -3 27597 27596 27478 -3 27479 27597 27478 -3 27714 27713 27596 -3 27597 27714 27596 -3 27829 27828 27713 -3 27714 27829 27713 -3 27945 27944 27828 -3 27829 27945 27828 -3 28062 28061 27944 -3 27945 28062 27944 -3 28179 28178 28061 -3 28062 28179 28061 -3 28296 28295 28178 -3 28179 28296 28178 -3 28416 28415 28295 -3 28296 28416 28295 -3 28538 28537 28415 -3 28416 28538 28415 -3 28667 28666 28537 -3 28538 28667 28537 -3 28667 28799 28798 -3 28666 28667 28798 -3 28799 28932 28931 -3 28798 28799 28931 -3 28932 29067 29066 -3 28931 28932 29066 -3 29204 29203 29066 -3 29067 29204 29066 -3 29204 29341 29340 -3 29203 29204 29340 -3 29341 29478 29477 -3 29340 29341 29477 -3 29616 29615 29477 -3 29478 29616 29477 -3 29749 29748 29615 -3 29616 29749 29615 -3 29749 29878 29877 -3 29748 29749 29877 -3 29878 30009 30008 -3 29877 29878 30008 -3 30141 30140 30008 -3 30009 30141 30008 -3 30274 30273 30140 -3 30141 30274 30140 -3 30407 30406 30273 -3 30274 30407 30273 -3 30407 30541 30540 -3 30406 30407 30540 -3 30675 30674 30540 -3 30541 30675 30540 -3 21722 22194 21913 -3 30675 30809 30674 -3 23265 23168 30826 -3 17104 22844 6845 -3 26723 34062 26613 -3 29392 29391 29254 -3 29661 29794 29660 -3 29923 30054 29922 -3 29927 30058 29926 -3 30190 30323 30189 -3 30461 30460 30327 -3 6866 7402 18671 -3 21651 30804 19673 -3 30668 4816 30757 -3 30804 30668 30757 -3 28730 28597 4816 -3 7402 6866 30728 -3 30328 30327 30194 -3 29927 29926 29797 -3 29798 29927 29797 -3 23705 25915 23606 -3 29794 29793 29660 -3 32153 26513 12129 -3 23637 23687 23686 -3 30600 23956 23957 -3 23957 23897 23898 -3 28472 30215 30212 -3 26611 17484 26716 -3 19035 29013 26584 -3 30440 30441 30574 -3 30230 21751 21838 -3 30222 30230 21838 -3 19452 16766 19451 -3 28085 28086 28202 -3 30308 30309 30441 -3 30442 30576 30575 -3 7299 7411 7295 -3 7183 7299 7295 -3 6839 26387 26386 -3 7299 6839 6838 -3 28577 28576 28454 -3 6838 6839 26386 -3 26409 26413 27199 -3 21790 23910 21330 -3 29956 17668 21550 -3 27200 28593 28554 -3 30074 27528 30745 -3 12086 27649 27763 -3 29386 29523 29385 -3 29661 29660 29522 -3 30058 30057 29926 -3 30590 30589 30455 -3 30195 30194 30062 -3 30729 30728 30594 -3 30668 28730 4816 -3 30339 28131 28597 -3 17484 26611 17396 -3 32955 32954 32846 -3 32357 26513 32254 -3 34287 34425 34286 -3 34287 34286 34148 -3 34554 34553 34416 -3 34554 34682 34553 -3 34417 34554 34416 -3 34682 34681 34553 -3 26610 32357 26611 -3 18936 35826 26624 -3 35608 35549 35775 -3 11811 11896 7641 -3 30424 30291 6876 -3 30610 30424 6876 -3 30639 27033 30291 -3 30424 30639 30291 -3 28305 28337 27033 -3 30639 28305 27033 -3 19541 29824 28337 -3 28305 19541 28337 -3 22234 30206 29824 -3 19541 22234 29824 -3 28193 29410 30206 -3 22234 28193 30206 -3 29407 29820 29410 -3 28193 29407 29410 -3 11122 6408 29820 -3 29407 11122 29820 -3 24450 24451 25728 -3 23603 24359 26795 -3 23853 23911 23910 -3 29365 29502 29501 -3 29932 30063 29931 -3 30595 30594 30460 -3 28730 30339 28597 -3 28132 29541 28131 -3 26556 23926 26461 -3 30339 28132 28131 -3 26461 26557 26556 -3 20990 21075 20989 -3 26557 26662 26661 -3 26556 26557 26661 -3 26662 26774 26773 -3 26661 26662 26773 -3 26889 26888 26773 -3 26774 26889 26773 -3 26889 27007 27006 -3 26888 26889 27006 -3 27124 27123 27006 -3 27007 27124 27006 -3 27243 27242 27123 -3 27124 27243 27123 -3 27361 27360 27242 -3 27243 27361 27242 -3 27480 27479 27360 -3 27361 27480 27360 -3 27598 27597 27479 -3 27480 27598 27479 -3 27715 27714 27597 -3 27598 27715 27597 -3 27830 27829 27714 -3 27715 27830 27714 -3 27946 27945 27829 -3 27830 27946 27829 -3 28063 28062 27945 -3 27946 28063 27945 -3 28180 28179 28062 -3 28063 28180 28062 -3 28297 28296 28179 -3 28180 28297 28179 -3 28417 28416 28296 -3 28297 28417 28296 -3 28539 28538 28416 -3 28417 28539 28416 -3 28668 28667 28538 -3 28539 28668 28538 -3 28800 28799 28667 -3 28668 28800 28667 -3 28933 28932 28799 -3 28800 28933 28799 -3 29068 29067 28932 -3 28933 29068 28932 -3 29068 29205 29204 -3 29067 29068 29204 -3 29205 29342 29341 -3 29204 29205 29341 -3 29479 29478 29341 -3 29342 29479 29341 -3 29617 29616 29478 -3 29479 29617 29478 -3 29750 29749 29616 -3 29617 29750 29616 -3 29879 29878 29749 -3 29750 29879 29749 -3 29879 30010 30009 -3 29878 29879 30009 -3 30142 30141 30009 -3 30010 30142 30009 -3 30275 30274 30141 -3 30142 30275 30141 -3 30275 30408 30407 -3 30274 30275 30407 -3 30408 30542 30541 -3 30407 30408 30541 -3 30542 30676 30675 -3 30541 30542 30675 -3 30676 30810 30809 -3 30675 30676 30809 -3 12603 28123 28124 -3 30810 19477 30809 -3 25292 25308 25287 -3 22139 25915 22138 -3 29249 29386 29248 -3 29923 29922 29793 -3 30190 30189 30057 -3 30058 30190 30057 -3 29803 29932 29802 -3 30328 30461 30327 -3 28254 28224 29541 -3 28132 28254 29541 -3 28251 28135 28224 -3 28254 28251 28224 -3 30195 30328 30194 -3 29670 29803 29669 -3 30456 30455 30322 -3 30323 30456 30322 -3 30199 2537 30198 -3 29386 29385 29248 -3 23217 22944 19977 -3 24766 25433 25576 -3 24427 22744 24514 -3 28941 28807 21985 -3 28471 28472 30212 -3 21329 21327 21417 -3 29383 29382 29245 -3 29246 29383 29245 -3 28481 30230 30222 -3 28480 28481 30222 -3 28691 28823 28822 -3 28725 2271 5474 -3 30309 30442 30441 -3 25408 25550 25407 -3 7411 7299 6838 -3 27176 28496 28495 -3 28706 28838 28705 -3 16769 22542 20317 -3 26804 26413 26409 -3 28455 28577 28454 -3 25050 25049 3084 -3 26626 26804 26409 -3 26716 23817 26715 -3 17668 30482 21550 -3 29251 29388 29250 -3 21330 11122 21511 -3 29249 29248 29111 -3 28712 28711 28582 -3 19409 19857 19358 -3 30456 30590 30455 -3 29670 29669 29531 -3 30063 30195 30062 -3 28251 18093 17719 -3 28135 28251 17719 -3 33711 33838 17417 -3 17417 26850 33711 -3 32620 32619 32510 -3 31601 31600 31513 -3 35068 35197 35067 -3 34165 34303 34164 -3 30931 30989 30930 -3 31050 31049 30988 -3 12298 14270 12384 -3 30988 30987 30929 -3 29560 18936 26735 -3 26968 29560 26735 -3 26405 30610 18936 -3 29560 26405 18936 -3 30620 30424 30610 -3 26405 30620 30610 -3 28077 30639 30424 -3 30620 28077 30424 -3 27639 28305 30639 -3 28077 27639 30639 -3 30768 19541 28305 -3 27639 30768 28305 -3 27608 22234 19541 -3 30768 27608 19541 -3 28855 28193 22234 -3 27608 28855 22234 -3 30210 29407 28193 -3 28855 30210 28193 -3 30210 17304 11122 -3 29407 30210 11122 -3 30020 22862 30152 -3 22543 29123 22445 -3 26202 25397 25915 -3 4784 27666 30479 -3 7296 7182 19354 -3 27985 28102 26915 -3 18093 30350 30484 -3 17719 18093 30484 -3 26831 26720 26835 -3 26394 26462 26461 -3 30827 30826 23266 -3 26462 26558 26557 -3 26461 26462 26557 -3 26558 26663 26662 -3 26557 26558 26662 -3 26663 26775 26774 -3 26662 26663 26774 -3 26890 26889 26774 -3 26775 26890 26774 -3 26890 27008 27007 -3 26889 26890 27007 -3 27125 27124 27007 -3 27008 27125 27007 -3 27244 27243 27124 -3 27125 27244 27124 -3 27362 27361 27243 -3 27244 27362 27243 -3 27481 27480 27361 -3 27362 27481 27361 -3 27599 27598 27480 -3 27481 27599 27480 -3 27716 27715 27598 -3 27599 27716 27598 -3 27831 27830 27715 -3 27716 27831 27715 -3 27947 27946 27830 -3 27831 27947 27830 -3 28064 28063 27946 -3 27947 28064 27946 -3 28181 28180 28063 -3 28064 28181 28063 -3 28298 28297 28180 -3 28181 28298 28180 -3 28418 28417 28297 -3 28298 28418 28297 -3 28540 28539 28417 -3 28418 28540 28417 -3 28669 28668 28539 -3 28540 28669 28539 -3 28801 28800 28668 -3 28669 28801 28668 -3 28934 28933 28800 -3 28801 28934 28800 -3 29069 29068 28933 -3 28934 29069 28933 -3 29206 29205 29068 -3 29069 29206 29068 -3 29343 29342 29205 -3 29206 29343 29205 -3 29343 29480 29479 -3 29342 29343 29479 -3 29480 29618 29617 -3 29479 29480 29617 -3 29751 29750 29617 -3 29618 29751 29617 -3 29880 29879 29750 -3 29751 29880 29750 -3 29880 30011 30010 -3 29879 29880 30010 -3 30143 30142 30010 -3 30011 30143 30010 -3 30276 30275 30142 -3 30143 30276 30142 -3 30276 30409 30408 -3 30275 30276 30408 -3 30409 30543 30542 -3 30408 30409 30542 -3 30543 30677 30676 -3 30542 30543 30676 -3 30677 30811 30810 -3 30676 30677 30810 -3 23736 24970 25103 -3 30810 30811 19477 -3 29796 29795 29662 -3 19789 19923 23179 -3 28977 29112 28976 -3 29523 29522 29385 -3 7174 19525 19409 -3 30724 30723 30589 -3 18691 30611 30559 -3 30063 30062 29931 -3 30350 29001 28010 -3 30484 30350 28010 -3 29001 17252 2536 -3 28010 29001 2536 -3 17252 19671 26908 -3 29932 29931 29802 -3 29532 29670 29531 -3 19525 7174 30723 -3 30590 30724 30589 -3 7006 11576 11396 -3 29112 29249 29111 -3 28347 29943 24112 -3 22197 24744 23778 -3 31902 32003 31901 -3 34291 34290 34152 -3 25576 30505 25577 -3 26788 24710 20758 -3 6847 21459 21368 -3 30431 30565 30430 -3 27166 27165 26360 -3 26364 27166 26360 -3 28823 28956 28955 -3 15329 8974 28020 -3 7084 6837 6407 -3 26914 26917 29136 -3 26392 26393 27170 -3 27170 27176 28495 -3 28706 28705 28576 -3 28577 28706 28576 -3 7077 7076 6979 -3 26413 27200 27199 -3 29525 29663 29524 -3 29114 29113 28978 -3 30690 6659 30691 -3 29255 29392 29254 -3 28676 28677 30367 -3 30419 10727 19232 -3 2402 19453 19358 -3 19453 7414 16766 -3 26944 29686 453 -3 19453 19452 19358 -3 2536 17252 26908 -3 21947 21946 19354 -3 19671 19130 21372 -3 26908 19671 21372 -3 20043 20123 20042 -3 17507 20045 17418 -3 34154 34153 34017 -3 35071 35070 34941 -3 30989 31050 30988 -3 31050 31112 31111 -3 30931 30930 30876 -3 30877 30931 30876 -3 12397 8325 12311 -3 33223 33328 33222 -3 17268 29560 26968 -3 27376 17268 26968 -3 27610 26405 29560 -3 17268 27610 29560 -3 29276 30620 26405 -3 27610 29276 26405 -3 26419 28077 30620 -3 29276 26419 30620 -3 19869 27639 28077 -3 26419 19869 28077 -3 30080 30768 27639 -3 19869 30080 27639 -3 27174 27608 30768 -3 30080 27174 30768 -3 2945 28855 27608 -3 27174 2945 27608 -3 30343 30210 28855 -3 2945 30343 28855 -3 25321 26401 25342 -3 30210 30343 17304 -3 32097 32096 31996 -3 27505 24169 20677 -3 19525 19857 19409 -3 24220 24219 25437 -3 2954 29557 17266 -3 29395 29532 29394 -3 21545 21544 28716 -3 21372 19130 6845 -3 24006 24067 24066 -3 16151 27666 4012 -3 26395 26463 26462 -3 26394 26395 26462 -3 26463 26559 26558 -3 26462 26463 26558 -3 26559 26664 26663 -3 26558 26559 26663 -3 26664 26776 26775 -3 26663 26664 26775 -3 26891 26890 26775 -3 26776 26891 26775 -3 27009 27008 26890 -3 26891 27009 26890 -3 27126 27125 27008 -3 27009 27126 27008 -3 27245 27244 27125 -3 27126 27245 27125 -3 27363 27362 27244 -3 27245 27363 27244 -3 27482 27481 27362 -3 27363 27482 27362 -3 27600 27599 27481 -3 27482 27600 27481 -3 27717 27716 27599 -3 27600 27717 27599 -3 27832 27831 27716 -3 27717 27832 27716 -3 27948 27947 27831 -3 27832 27948 27831 -3 28065 28064 27947 -3 27948 28065 27947 -3 28182 28181 28064 -3 28065 28182 28064 -3 28299 28298 28181 -3 28182 28299 28181 -3 28419 28418 28298 -3 28299 28419 28298 -3 28541 28540 28418 -3 28419 28541 28418 -3 28670 28669 28540 -3 28541 28670 28540 -3 28802 28801 28669 -3 28670 28802 28669 -3 28935 28934 28801 -3 28802 28935 28801 -3 29070 29069 28934 -3 28935 29070 28934 -3 29070 29207 29206 -3 29069 29070 29206 -3 29207 29344 29343 -3 29206 29207 29343 -3 29344 29481 29480 -3 29343 29344 29480 -3 29481 29619 29618 -3 29480 29481 29618 -3 29619 29752 29751 -3 29618 29619 29751 -3 29752 29881 29880 -3 29751 29752 29880 -3 29881 30012 30011 -3 29880 29881 30011 -3 30012 30144 30143 -3 30011 30012 30143 -3 30144 30277 30276 -3 30143 30144 30276 -3 30277 30410 30409 -3 30276 30277 30409 -3 30410 30544 30543 -3 30409 30410 30543 -3 30544 30678 30677 -3 30543 30544 30677 -3 30678 30812 30811 -3 30677 30678 30811 -3 24219 24218 23934 -3 17324 17323 32921 -3 28844 28977 28843 -3 30209 28361 26592 -3 8153 11389 19198 -3 29112 29111 28976 -3 26944 29816 29563 -3 19857 2402 19358 -3 27203 11936 11937 -3 2954 17266 19026 -3 28716 21455 21545 -3 21511 17304 21883 -3 12108 26451 26382 -3 30583 30717 30582 -3 30717 30716 30582 -3 19198 22053 27383 -3 29803 29802 29669 -3 11925 12009 25922 -3 30724 19525 30723 -3 18906 19103 35568 -3 12091 12173 27548 -3 29943 2809 25397 -3 35122 18194 34337 -3 34995 20090 12808 -3 22447 14969 24402 -3 34153 34291 34152 -3 20746 27372 26252 -3 28683 28677 27315 -3 20181 20180 26937 -3 28481 28480 27165 -3 17261 28338 28130 -3 31514 31513 31441 -3 27166 28481 27165 -3 28677 28683 30419 -3 21272 21362 28455 -3 26387 26393 26392 -3 27621 27738 27737 -3 21153 30343 29957 -3 28838 28837 28705 -3 17475 26804 26626 -3 6979 17475 26626 -3 27782 29273 29272 -3 6877 24339 29956 -3 29393 29392 29255 -3 28582 28581 33699 -3 27315 28677 27314 -3 28677 30419 30367 -3 21941 21942 19630 -3 30344 19559 19560 -3 17255 35611 35498 -3 19736 19630 20240 -3 21294 17255 21748 -3 29290 28810 28189 -3 17340 33973 26967 -3 32906 32905 32793 -3 33973 17340 17418 -3 31602 31697 31601 -3 32202 32303 32201 -3 31304 31303 31238 -3 31049 31050 31111 -3 33903 33904 34038 -3 24906 20441 20356 -3 20569 21589 3487 -3 27376 29145 26520 -3 30085 17268 27376 -3 26520 30085 27376 -3 27727 27610 17268 -3 30085 27727 17268 -3 26410 29276 27610 -3 27727 26410 27610 -3 26689 26419 29276 -3 26410 26689 29276 -3 27522 19869 26419 -3 26689 27522 26419 -3 27293 30080 19869 -3 27522 27293 19869 -3 45 27174 30080 -3 27293 45 30080 -3 29957 2945 27174 -3 45 29957 27174 -3 32755 32756 32867 -3 2945 29957 30343 -3 28561 28562 28690 -3 22632 22631 28680 -3 26914 29136 29135 -3 11103 26583 28622 -3 30335 30468 30334 -3 19452 19453 16766 -3 21294 21748 28943 -3 27529 453 27259 -3 22326 19683 19467 -3 2670 24942 21848 -3 11406 19233 451 -3 26396 26464 26463 -3 2546 17984 23829 -3 26464 26560 26559 -3 26463 26464 26559 -3 26560 26665 26664 -3 26559 26560 26664 -3 26665 26777 26776 -3 26664 26665 26776 -3 26892 26891 26776 -3 26777 26892 26776 -3 27010 27009 26891 -3 26892 27010 26891 -3 27127 27126 27009 -3 27010 27127 27009 -3 27246 27245 27126 -3 27127 27246 27126 -3 27364 27363 27245 -3 27246 27364 27245 -3 27483 27482 27363 -3 27364 27483 27363 -3 27601 27600 27482 -3 27483 27601 27482 -3 27718 27717 27600 -3 27601 27718 27600 -3 27833 27832 27717 -3 27718 27833 27717 -3 27949 27948 27832 -3 27833 27949 27832 -3 28066 28065 27948 -3 27949 28066 27948 -3 28183 28182 28065 -3 28066 28183 28065 -3 28300 28299 28182 -3 28183 28300 28182 -3 28420 28419 28299 -3 28300 28420 28299 -3 28542 28541 28419 -3 28420 28542 28419 -3 28671 28670 28541 -3 28542 28671 28541 -3 28803 28802 28670 -3 28671 28803 28670 -3 28936 28935 28802 -3 28803 28936 28802 -3 29071 29070 28935 -3 28936 29071 28935 -3 29208 29207 29070 -3 29071 29208 29070 -3 29345 29344 29207 -3 29208 29345 29207 -3 29482 29481 29344 -3 29345 29482 29344 -3 29482 29620 29619 -3 29481 29482 29619 -3 29620 29753 29752 -3 29619 29620 29752 -3 29753 29882 29881 -3 29752 29753 29881 -3 29882 30013 30012 -3 29881 29882 30012 -3 30013 30145 30144 -3 30012 30013 30144 -3 30278 30277 30144 -3 30145 30278 30144 -3 30278 30411 30410 -3 30277 30278 30410 -3 30411 30545 30544 -3 30410 30411 30544 -3 30545 30679 30678 -3 30544 30545 30678 -3 30679 30813 30812 -3 30678 30679 30812 -3 20908 20991 20990 -3 19103 18906 20673 -3 28977 28976 28843 -3 19897 22043 17912 -3 7414 11389 8153 -3 22053 27503 27383 -3 30202 30335 30201 -3 19791 19231 30738 -3 19655 22326 19467 -3 19467 19683 12543 -3 19683 4666 12543 -3 32506 32615 32505 -3 30070 30202 30069 -3 30335 30334 30201 -3 25346 28348 28347 -3 27503 26476 26475 -3 24826 24887 24825 -3 26785 24220 24464 -3 24559 30672 25366 -3 23278 23374 23277 -3 25397 22137 22138 -3 29943 25397 24112 -3 2809 17254 19807 -3 22137 2809 19807 -3 17254 26829 26718 -3 19807 17254 26718 -3 20759 27621 27502 -3 21271 28455 21270 -3 21751 17261 17314 -3 17314 17261 28130 -3 28020 26497 26494 -3 19903 30822 26965 -3 30176 30309 30308 -3 30441 30442 30575 -3 26386 26387 26392 -3 26393 27176 27170 -3 27612 27752 21473 -3 27902 27893 2750 -3 28593 30333 30331 -3 28554 28593 30331 -3 18691 30559 26504 -3 26713 26825 26824 -3 28844 28843 28711 -3 28712 28844 28711 -3 27383 27503 26475 -3 27315 27314 26475 -3 24566 25779 24565 -3 30717 7404 30716 -3 32615 32614 32505 -3 29657 29790 29656 -3 17417 20041 17506 -3 17418 20044 20043 -3 33883 33882 33748 -3 33404 33517 33403 -3 31112 31175 31174 -3 31111 31112 31174 -3 31175 31239 31238 -3 31174 31175 31238 -3 32249 32248 32147 -3 31534 31621 31620 -3 26851 26520 29282 -3 29556 26851 29282 -3 19676 30085 26520 -3 26851 19676 26520 -3 28192 27727 30085 -3 19676 28192 30085 -3 27260 26410 27727 -3 28192 27260 27727 -3 26801 26689 26410 -3 27260 26801 26410 -3 30742 27522 26689 -3 26801 30742 26689 -3 28718 27293 27522 -3 30742 28718 27522 -3 29424 45 27293 -3 28718 29424 27293 -3 19425 29957 45 -3 29424 19425 45 -3 30902 25940 21447 -3 30334 30468 22689 -3 17573 7080 27868 -3 28822 28823 28955 -3 30367 30419 19232 -3 26901 26914 29135 -3 33883 34018 33882 -3 25931 23809 25429 -3 27853 27854 27969 -3 17256 17314 28129 -3 5832 16218 15231 -3 25350 16311 2679 -3 26397 26465 26464 -3 26396 26397 26464 -3 26465 26561 26560 -3 26464 26465 26560 -3 26561 26666 26665 -3 26560 26561 26665 -3 26666 26778 26777 -3 26665 26666 26777 -3 26893 26892 26777 -3 26778 26893 26777 -3 27011 27010 26892 -3 26893 27011 26892 -3 27011 27128 27127 -3 27010 27011 27127 -3 27247 27246 27127 -3 27128 27247 27127 -3 27365 27364 27246 -3 27247 27365 27246 -3 27484 27483 27364 -3 27365 27484 27364 -3 27602 27601 27483 -3 27484 27602 27483 -3 27719 27718 27601 -3 27602 27719 27601 -3 27834 27833 27718 -3 27719 27834 27718 -3 27950 27949 27833 -3 27834 27950 27833 -3 28067 28066 27949 -3 27950 28067 27949 -3 28184 28183 28066 -3 28067 28184 28066 -3 28301 28300 28183 -3 28184 28301 28183 -3 28421 28420 28300 -3 28301 28421 28300 -3 28543 28542 28420 -3 28421 28543 28420 -3 28672 28671 28542 -3 28543 28672 28542 -3 28804 28803 28671 -3 28672 28804 28671 -3 28937 28936 28803 -3 28804 28937 28803 -3 29072 29071 28936 -3 28937 29072 28936 -3 29209 29208 29071 -3 29072 29209 29071 -3 29346 29345 29208 -3 29209 29346 29208 -3 29483 29482 29345 -3 29346 29483 29345 -3 29621 29620 29482 -3 29483 29621 29482 -3 29754 29753 29620 -3 29621 29754 29620 -3 29883 29882 29753 -3 29754 29883 29753 -3 30014 30013 29882 -3 29883 30014 29882 -3 30146 30145 30013 -3 30014 30146 30013 -3 30146 30279 30278 -3 30145 30146 30278 -3 30279 30412 30411 -3 30278 30279 30411 -3 30412 30546 30545 -3 30411 30412 30545 -3 30546 30680 30679 -3 30545 30546 30679 -3 30680 30814 30813 -3 30679 30680 30813 -3 22775 22874 22873 -3 29423 15345 6132 -3 34355 3364 3363 -3 30833 30832 30698 -3 16766 7414 8153 -3 11389 22053 19198 -3 17819 17321 22744 -3 26673 26095 25089 -3 29790 29789 29656 -3 30622 2954 19040 -3 20345 20259 27037 -3 19003 13466 19577 -3 29668 29801 29667 -3 566 21563 19638 -3 25351 2543 2816 -3 29148 28217 29398 -3 28350 28348 25183 -3 12039 35936 35814 -3 29946 29943 28347 -3 28348 29946 28347 -3 2671 2809 29943 -3 29946 2671 29943 -3 19017 17254 2809 -3 2671 19017 2809 -3 35115 35116 33704 -3 17254 19017 26829 -3 19198 27383 27298 -3 26429 26525 11545 -3 26364 26360 26947 -3 21838 21751 17314 -3 27435 28850 28816 -3 26965 27082 28726 -3 30044 30176 30175 -3 30175 30176 30308 -3 28495 28496 30286 -3 30287 12510 13991 -3 17888 23925 23807 -3 27752 30420 21473 -3 30333 19561 19565 -3 30331 30333 19565 -3 29825 24423 24339 -3 26706 26818 26705 -3 24530 26816 24608 -3 24608 26705 26818 -3 26476 27315 26475 -3 28677 28676 27314 -3 19566 15407 28680 -3 30202 30201 30069 -3 28602 30347 30344 -3 31504 31503 31431 -3 20044 17418 20045 -3 33973 17418 20043 -3 31071 31070 31009 -3 33293 33402 33292 -3 31371 31370 31303 -3 31239 31304 31238 -3 33770 33904 33769 -3 34039 34175 34174 -3 11381 25258 28479 -3 31533 31534 31620 -3 28815 26851 29556 -3 6861 28815 29556 -3 10600 19676 26851 -3 28815 10600 26851 -3 28309 28192 19676 -3 10600 28309 19676 -3 29896 27260 28192 -3 28309 29896 28192 -3 26916 26801 27260 -3 29896 26916 27260 -3 27523 30742 26801 -3 26916 27523 26801 -3 27175 28718 30742 -3 27523 27175 30742 -3 29263 29424 28718 -3 27175 29263 28718 -3 29263 27725 19425 -3 29424 29263 19425 -3 20043 17417 33838 -3 34561 34689 34560 -3 28456 28432 27085 -3 28440 28562 28561 -3 10727 26914 26901 -3 19232 10727 26901 -3 19786 19785 19459 -3 15214 27902 2750 -3 30727 6856 6151 -3 30459 30593 30458 -3 26356 26398 26397 -3 23168 23071 23169 -3 26398 26466 26465 -3 26397 26398 26465 -3 26466 26562 26561 -3 26465 26466 26561 -3 26562 26667 26666 -3 26561 26562 26666 -3 26667 26779 26778 -3 26666 26667 26778 -3 26894 26893 26778 -3 26779 26894 26778 -3 27012 27011 26893 -3 26894 27012 26893 -3 27129 27128 27011 -3 27012 27129 27011 -3 27248 27247 27128 -3 27129 27248 27128 -3 27366 27365 27247 -3 27248 27366 27247 -3 27485 27484 27365 -3 27366 27485 27365 -3 27603 27602 27484 -3 27485 27603 27484 -3 27720 27719 27602 -3 27603 27720 27602 -3 27835 27834 27719 -3 27720 27835 27719 -3 27951 27950 27834 -3 27835 27951 27834 -3 28068 28067 27950 -3 27951 28068 27950 -3 28185 28184 28067 -3 28068 28185 28067 -3 28302 28301 28184 -3 28185 28302 28184 -3 28422 28421 28301 -3 28302 28422 28301 -3 28544 28543 28421 -3 28422 28544 28421 -3 28673 28672 28543 -3 28544 28673 28543 -3 28805 28804 28672 -3 28673 28805 28672 -3 28938 28937 28804 -3 28805 28938 28804 -3 29073 29072 28937 -3 28938 29073 28937 -3 29210 29209 29072 -3 29073 29210 29072 -3 29347 29346 29209 -3 29210 29347 29209 -3 29484 29483 29346 -3 29347 29484 29346 -3 29622 29621 29483 -3 29484 29622 29483 -3 29755 29754 29621 -3 29622 29755 29621 -3 29884 29883 29754 -3 29755 29884 29754 -3 30015 30014 29883 -3 29884 30015 29883 -3 30147 30146 30014 -3 30015 30147 30014 -3 30147 30280 30279 -3 30146 30147 30279 -3 30280 30413 30412 -3 30279 30280 30412 -3 30413 30547 30546 -3 30412 30413 30546 -3 30547 30681 30680 -3 30546 30547 30680 -3 30681 30815 30814 -3 30680 30681 30814 -3 22973 30426 23071 -3 832 831 712 -3 25116 20758 24710 -3 28320 28440 28439 -3 29136 29148 11405 -3 29135 29136 11405 -3 29935 29934 29805 -3 26921 20260 26806 -3 29367 29504 29503 -3 30727 30726 30592 -3 26907 27267 30822 -3 22010 2944 25179 -3 30733 30732 30598 -3 26594 6980 6537 -3 28334 16770 29423 -3 29015 6903 17257 -3 31607 31606 31519 -3 24276 30632 24416 -3 29960 29946 28348 -3 28350 29960 28348 -3 19911 2671 29946 -3 29960 19911 29946 -3 18930 19017 2671 -3 19911 18930 2671 -3 22421 22420 33704 -3 33704 22420 35115 -3 19677 24855 19570 -3 14427 21238 14454 -3 7085 24212 26947 -3 24212 26364 26947 -3 16596 19942 21563 -3 19687 19789 21563 -3 29913 30044 30043 -3 30043 30044 30175 -3 30286 30287 13991 -3 12510 26501 26500 -3 18189 27612 29006 -3 34817 34946 34816 -3 21470 7076 7077 -3 7297 21470 7077 -3 28858 28592 28364 -3 29012 28858 28364 -3 26600 26601 26705 -3 30347 21658 19559 -3 11405 29148 29398 -3 28217 18509 29561 -3 27761 26478 26477 -3 29801 29800 29667 -3 27399 29154 19591 -3 29267 30349 29129 -3 33973 20043 33838 -3 17417 20042 20041 -3 31466 31538 31465 -3 32210 32209 32109 -3 31438 31437 31370 -3 31304 31371 31303 -3 34313 34312 34174 -3 35221 11704 26799 -3 11363 35576 11364 -3 27756 6861 29556 -3 26625 28815 6861 -3 19679 26625 6861 -3 21499 10600 28815 -3 26625 21499 28815 -3 28429 28309 10600 -3 21499 28429 10600 -3 30158 29896 28309 -3 28429 30158 28309 -3 30640 26916 29896 -3 30158 30640 29896 -3 29690 27523 26916 -3 30640 29690 26916 -3 28851 27175 27523 -3 29690 28851 27523 -3 28851 29400 29263 -3 27175 28851 29263 -3 29400 26499 27725 -3 29263 29400 27725 -3 35060 35189 35059 -3 25922 27313 27194 -3 26502 1960 19466 -3 22107 22108 29674 -3 19236 28880 29538 -3 29398 28217 29561 -3 30500 7289 19138 -3 6896 12690 27648 -3 26902 27399 19591 -3 26357 26399 26398 -3 26356 26357 26398 -3 26399 26467 26466 -3 26398 26399 26466 -3 26467 26563 26562 -3 26466 26467 26562 -3 26563 26668 26667 -3 26562 26563 26667 -3 26668 26780 26779 -3 26667 26668 26779 -3 26895 26894 26779 -3 26780 26895 26779 -3 27013 27012 26894 -3 26895 27013 26894 -3 27013 27130 27129 -3 27012 27013 27129 -3 27249 27248 27129 -3 27130 27249 27129 -3 27367 27366 27248 -3 27249 27367 27248 -3 27486 27485 27366 -3 27367 27486 27366 -3 27604 27603 27485 -3 27486 27604 27485 -3 27721 27720 27603 -3 27604 27721 27603 -3 27836 27835 27720 -3 27721 27836 27720 -3 27952 27951 27835 -3 27836 27952 27835 -3 28069 28068 27951 -3 27952 28069 27951 -3 28186 28185 28068 -3 28069 28186 28068 -3 28303 28302 28185 -3 28186 28303 28185 -3 28423 28422 28302 -3 28303 28423 28302 -3 28545 28544 28422 -3 28423 28545 28422 -3 28674 28673 28544 -3 28545 28674 28544 -3 28806 28805 28673 -3 28674 28806 28673 -3 28939 28938 28805 -3 28806 28939 28805 -3 29074 29073 28938 -3 28939 29074 28938 -3 29211 29210 29073 -3 29074 29211 29073 -3 29348 29347 29210 -3 29211 29348 29210 -3 29485 29484 29347 -3 29348 29485 29347 -3 29623 29622 29484 -3 29485 29623 29484 -3 29756 29755 29622 -3 29623 29756 29622 -3 29885 29884 29755 -3 29756 29885 29755 -3 30016 30015 29884 -3 29885 30016 29884 -3 30148 30147 30015 -3 30016 30148 30015 -3 30148 30281 30280 -3 30147 30148 30280 -3 30281 30414 30413 -3 30280 30281 30413 -3 30414 30548 30547 -3 30413 30414 30547 -3 30548 30682 30681 -3 30547 30548 30681 -3 30682 30816 30815 -3 30681 30682 30815 -3 24517 22297 23818 -3 19639 12802 19769 -3 26601 26706 26705 -3 27436 15877 28850 -3 18509 29015 28353 -3 29561 18509 28353 -3 12690 27761 27648 -3 22883 30733 30598 -3 28596 28467 19196 -3 29696 30500 19138 -3 19363 19799 28596 -3 28467 27667 19196 -3 19681 19799 17939 -3 14041 14040 13942 -3 6152 6151 19655 -3 24169 27504 20759 -3 27866 19659 27643 -3 13112 35604 35565 -3 35565 11800 13112 -3 28351 29963 29960 -3 28350 28351 29960 -3 29963 18178 19911 -3 29960 29963 19911 -3 7334 7223 7224 -3 7336 398 7224 -3 2144 19050 19051 -3 24885 24759 24782 -3 30455 30589 30454 -3 27161 24481 24765 -3 7190 7085 6837 -3 6837 7085 26947 -3 26502 28137 1960 -3 6282 19576 19903 -3 29784 29913 29912 -3 29912 29913 30043 -3 13991 12510 26500 -3 26501 28460 28459 -3 28215 21182 28333 -3 31297 31296 31231 -3 19248 21470 7297 -3 7076 17475 6979 -3 2681 24429 2817 -3 28858 28998 28592 -3 26149 26148 26006 -3 25657 30599 21066 -3 28353 29015 17257 -3 6903 19659 27866 -3 12690 6896 6661 -3 6151 22326 19655 -3 19799 28467 28596 -3 19200 11574 17939 -3 20042 17417 20043 -3 33197 33302 33196 -3 18085 19218 950 -3 31371 31438 31370 -3 33524 33643 33523 -3 31510 31509 31437 -3 31438 31510 31437 -3 30929 30928 30874 -3 31133 31196 31195 -3 28853 19679 27642 -3 27642 19679 29543 -3 26736 26625 19679 -3 28853 26736 19679 -3 30218 21499 26625 -3 26736 30218 26625 -3 28551 28429 21499 -3 30218 28551 21499 -3 29567 30158 28429 -3 28551 29567 28429 -3 26906 30640 30158 -3 29567 26906 30158 -3 27494 29690 30640 -3 26906 27494 30640 -3 27059 28851 29690 -3 27494 27059 29690 -3 27059 29537 29400 -3 28851 27059 29400 -3 29537 29830 26499 -3 29400 29537 26499 -3 10380 19526 34522 -3 19789 23277 21474 -3 17575 26502 19339 -3 30722 7070 6883 -3 4666 18600 11648 -3 27529 28880 26944 -3 19799 19363 17939 -3 23710 25571 30233 -3 8230 13391 26586 -3 33931 34878 33934 -3 26400 26468 26467 -3 26399 26400 26467 -3 26468 26564 26563 -3 26467 26468 26563 -3 26564 26669 26668 -3 26563 26564 26668 -3 26669 26781 26780 -3 26668 26669 26780 -3 26781 26896 26895 -3 26780 26781 26895 -3 26896 27014 27013 -3 26895 26896 27013 -3 27014 27131 27130 -3 27013 27014 27130 -3 27131 27250 27249 -3 27130 27131 27249 -3 27368 27367 27249 -3 27250 27368 27249 -3 27487 27486 27367 -3 27368 27487 27367 -3 27605 27604 27486 -3 27487 27605 27486 -3 27722 27721 27604 -3 27605 27722 27604 -3 27837 27836 27721 -3 27722 27837 27721 -3 21474 23374 23471 -3 21516 28186 21426 -3 23179 23277 19789 -3 30234 30235 23708 -3 26697 25213 26698 -3 21701 28546 28423 -3 21003 21002 20919 -3 20839 20757 27498 -3 20840 27615 27614 -3 27035 27151 20428 -3 28546 28545 28423 -3 25241 30815 30816 -3 28675 28674 28545 -3 28546 28675 28545 -3 28807 28806 28674 -3 28675 28807 28674 -3 28940 28939 28806 -3 28807 28940 28806 -3 29075 29074 28939 -3 28940 29075 28939 -3 29212 29211 29074 -3 29075 29212 29074 -3 29349 29348 29211 -3 29212 29349 29211 -3 29486 29485 29348 -3 29349 29486 29348 -3 29624 29623 29485 -3 29486 29624 29485 -3 29757 29756 29623 -3 29624 29757 29623 -3 29886 29885 29756 -3 29757 29886 29756 -3 30017 30016 29885 -3 29886 30017 29885 -3 30149 30148 30016 -3 30017 30149 30016 -3 30282 30281 30148 -3 30149 30282 30148 -3 30282 30415 30414 -3 30281 30282 30414 -3 30415 30549 30548 -3 30414 30415 30548 -3 30549 30683 30682 -3 30548 30549 30682 -3 30683 30817 30816 -3 30682 30683 30816 -3 17304 21155 21883 -3 13618 22143 22142 -3 28979 29114 28978 -3 29631 28882 29131 -3 17257 6903 27866 -3 19659 19030 27643 -3 12543 4666 11648 -3 7186 12690 6661 -3 29958 11574 19200 -3 27289 29688 19128 -3 27549 29958 22235 -3 27508 27626 27507 -3 30192 30191 30059 -3 30060 30192 30059 -3 19030 6537 17862 -3 35210 35209 35080 -3 26430 26363 26431 -3 23782 28498 28626 -3 11516 11582 32249 -3 32147 11516 32249 -3 28352 29964 29963 -3 28351 28352 29963 -3 29964 18398 18178 -3 29963 29964 18178 -3 35395 35497 35689 -3 7224 7225 7336 -3 25779 24566 25793 -3 26628 26739 11612 -3 7174 7070 30722 -3 6903 19138 19659 -3 6788 7190 7298 -3 7298 7190 6837 -3 28456 30199 28432 -3 19923 19739 6854 -3 3088 19783 19784 -3 29783 29784 29912 -3 25674 24531 23517 -3 19454 7183 19455 -3 33205 33310 33204 -3 20200 23942 21669 -3 21944 19248 21945 -3 19355 19248 7297 -3 20200 21669 20655 -3 6528 11450 24274 -3 28975 28974 28841 -3 23055 20580 23465 -3 17575 17368 17862 -3 6537 17575 17862 -3 30060 30059 29928 -3 7186 6661 11648 -3 30200 30199 28456 -3 26395 21630 26396 -3 18084 18085 950 -3 30468 22691 22789 -3 35040 17280 17279 -3 33904 33903 33769 -3 31510 31597 31509 -3 31597 31596 31509 -3 31901 32002 31900 -3 32102 32202 32101 -3 31048 31047 30986 -3 35092 35221 35091 -3 28741 28853 29544 -3 27642 29544 28853 -3 17263 26736 28853 -3 28741 17263 28853 -3 29003 30218 26736 -3 17263 29003 26736 -3 5737 28551 30218 -3 29003 5737 30218 -3 19245 29567 28551 -3 5737 19245 28551 -3 26489 26906 29567 -3 19245 26489 29567 -3 27524 27494 26906 -3 26489 27524 26906 -3 28852 27059 27494 -3 27524 28852 27494 -3 28852 30637 29537 -3 27059 28852 29537 -3 30637 27637 29830 -3 29537 30637 29830 -3 25013 25014 21848 -3 21068 21153 21239 -3 30733 6854 30732 -3 17368 17575 19339 -3 27672 12440 27786 -3 29800 29799 29666 -3 22235 29958 19200 -3 19042 33934 34878 -3 35834 35707 35620 -3 26401 26469 26468 -3 26400 26401 26468 -3 26469 26565 26564 -3 26468 26469 26564 -3 26565 26670 26669 -3 26564 26565 26669 -3 26670 26782 26781 -3 26669 26670 26781 -3 26897 26896 26781 -3 26782 26897 26781 -3 27015 27014 26896 -3 26897 27015 26896 -3 27015 27132 27131 -3 27014 27015 27131 -3 27132 27251 27250 -3 27131 27132 27250 -3 27369 27368 27250 -3 27251 27369 27250 -3 27488 27487 27368 -3 27369 27488 27368 -3 27606 27605 27487 -3 27488 27606 27487 -3 27722 27605 21074 -3 22686 30464 30330 -3 24761 19250 24229 -3 15458 15329 15316 -3 27952 27836 21247 -3 20002 19970 19971 -3 27853 27969 27968 -3 14175 13194 35680 -3 27620 27621 27737 -3 19963 25503 30959 -3 30448 30582 30447 -3 21891 21890 21796 -3 14970 16766 7184 -3 29431 6280 17573 -3 23841 23842 29818 -3 29220 27048 29293 -3 20345 27035 20344 -3 11483 17315 11836 -3 13426 19136 12395 -3 20643 20559 20561 -3 28941 28940 28807 -3 32630 32744 32629 -3 29076 29075 28940 -3 28941 29076 28940 -3 29213 29212 29075 -3 29076 29213 29075 -3 29350 29349 29212 -3 29213 29350 29212 -3 29487 29486 29349 -3 29350 29487 29349 -3 29625 29624 29486 -3 29487 29625 29486 -3 29625 29758 29757 -3 29624 29625 29757 -3 29887 29886 29757 -3 29758 29887 29757 -3 30018 30017 29886 -3 29887 30018 29886 -3 30150 30149 30017 -3 30018 30150 30017 -3 30283 30282 30149 -3 30150 30283 30149 -3 30283 30416 30415 -3 30282 30283 30415 -3 30416 30550 30549 -3 30415 30416 30549 -3 30550 30684 30683 -3 30549 30550 30683 -3 30684 30818 30817 -3 30683 30684 30817 -3 22481 29768 22580 -3 25240 25932 25443 -3 22190 22286 22285 -3 34566 34694 34565 -3 35404 30635 19678 -3 19339 26502 19466 -3 11574 19681 17939 -3 6854 6855 30732 -3 26394 26461 23813 -3 29830 23847 21508 -3 2813 19899 2410 -3 1652 1769 2103 -3 19739 13466 6855 -3 34843 34842 34714 -3 27643 19030 17862 -3 30777 25722 25242 -3 30464 22785 22883 -3 27045 28355 28352 -3 11516 32147 32049 -3 28355 30021 29964 -3 28352 28355 29964 -3 30021 19377 18398 -3 29964 30021 18398 -3 19377 28021 18932 -3 18398 19377 18932 -3 23633 24713 30490 -3 25573 25574 23599 -3 5088 17256 28072 -3 27867 26904 19030 -3 5608 7298 5609 -3 5608 6788 7298 -3 29640 29641 29773 -3 29658 29657 29519 -3 7407 3088 22327 -3 22327 3088 19784 -3 27397 27516 27515 -3 21493 22949 29687 -3 28333 28332 28215 -3 24210 24150 24151 -3 30714 6860 30713 -3 18712 2409 17270 -3 28344 26420 29124 -3 14233 9402 14232 -3 6659 19040 30691 -3 29388 29387 29250 -3 1960 29948 30489 -3 19466 1960 30489 -3 29673 29806 29672 -3 29929 30060 29928 -3 27313 25922 12009 -3 19595 6782 15897 -3 22138 21535 22139 -3 2104 1652 2103 -3 31538 31625 31537 -3 34441 34440 34302 -3 31792 31791 31691 -3 31692 31691 31596 -3 31071 31133 31070 -3 32025 32024 31923 -3 35362 35864 35782 -3 32667 32788 32666 -3 33602 33603 33729 -3 14083 30023 13698 -3 26521 17263 28741 -3 28874 26521 28741 -3 11452 29003 17263 -3 26521 11452 17263 -3 19140 5737 29003 -3 11452 19140 29003 -3 28854 19245 5737 -3 19140 28854 5737 -3 26585 26489 19245 -3 28854 26585 19245 -3 27758 27524 26489 -3 26585 27758 26489 -3 27758 28611 28852 -3 27524 27758 28852 -3 28611 29411 30637 -3 28852 28611 30637 -3 21065 13852 23847 -3 30637 29411 27637 -3 29157 28469 30340 -3 20394 20393 17705 -3 29806 29805 29672 -3 29667 29800 29666 -3 26360 26355 6407 -3 26714 26715 20019 -3 22194 30496 21913 -3 20095 26937 26823 -3 24764 21361 15320 -3 23597 26670 26565 -3 26696 25213 26697 -3 26671 25223 26672 -3 24647 25361 24646 -3 33692 6538 33820 -3 26671 26783 26782 -3 26670 26671 26782 -3 26898 26897 26782 -3 26783 26898 26782 -3 27016 27015 26897 -3 26898 27016 26897 -3 27016 27133 27132 -3 27015 27016 27132 -3 27133 27252 27251 -3 27132 27133 27251 -3 27252 27370 27369 -3 27251 27252 27369 -3 27489 27488 27369 -3 27370 27489 27369 -3 23265 30825 23264 -3 28625 16758 24144 -3 26720 26831 26719 -3 27489 20990 20989 -3 35069 35070 35198 -3 35446 35704 35728 -3 29431 17573 27780 -3 5198 2099 19735 -3 6899 19558 28678 -3 28548 6899 28678 -3 29079 30487 26686 -3 28944 29126 19558 -3 34551 34679 34550 -3 30876 30930 30875 -3 33219 33218 33113 -3 34810 34809 34681 -3 19700 29431 27780 -3 22844 30024 6845 -3 29675 2547 24346 -3 25503 19963 19994 -3 35896 35619 6862 -3 20240 19630 6927 -3 22176 29214 29076 -3 24423 24510 24422 -3 21336 27952 21337 -3 30925 30924 30870 -3 29214 29213 29076 -3 950 20643 18084 -3 29351 29350 29213 -3 29214 29351 29213 -3 29488 29487 29350 -3 29351 29488 29350 -3 29626 29625 29487 -3 29488 29626 29487 -3 29759 29758 29625 -3 29626 29759 29625 -3 29888 29887 29758 -3 29759 29888 29758 -3 30019 30018 29887 -3 29888 30019 29887 -3 30151 30150 30018 -3 30019 30151 30018 -3 30284 30283 30150 -3 30151 30284 30150 -3 30284 30417 30416 -3 30283 30284 30416 -3 30417 30551 30550 -3 30416 30417 30550 -3 30551 30685 30684 -3 30550 30551 30684 -3 30685 30819 30818 -3 30684 30685 30818 -3 30819 18516 3624 -3 30818 30819 3624 -3 22382 22286 22383 -3 17668 24339 24255 -3 29806 29935 29805 -3 29529 29667 29528 -3 7302 7413 6847 -3 11576 6846 11396 -3 21693 19382 21062 -3 23829 26112 2546 -3 19674 15026 201 -3 26919 26584 28477 -3 6854 19739 6855 -3 27135 27018 23623 -3 30464 22883 30598 -3 19031 27046 27045 -3 17307 19031 27045 -3 27046 28356 28355 -3 27045 27046 28355 -3 28356 30071 30021 -3 30948 30947 30893 -3 12748 22134 22135 -3 33102 33207 33101 -3 33312 33311 33206 -3 33207 33312 33206 -3 33421 33420 33311 -3 33312 33421 33311 -3 33534 33533 33420 -3 33421 33534 33420 -3 33653 33652 33533 -3 33534 33653 33533 -3 33780 33779 33652 -3 33653 33780 33652 -3 33914 33913 33779 -3 33780 33914 33779 -3 34049 34048 33913 -3 33914 34049 33913 -3 34185 34184 34048 -3 34049 34185 34048 -3 34323 34322 34184 -3 34185 34323 34184 -3 34461 34460 34322 -3 34323 34461 34322 -3 34461 34598 34597 -3 34460 34461 34597 -3 32655 32776 32775 -3 25795 25793 24571 -3 34459 34596 34595 -3 32654 32655 32775 -3 32126 32125 32025 -3 32886 32994 32885 -3 32675 32796 32674 -3 31629 31724 31628 -3 32542 32655 32654 -3 33084 33189 33188 -3 33083 33084 33188 -3 7024 6925 6926 -3 35220 26799 35219 -3 35342 28949 35341 -3 31139 31202 31138 -3 21463 13105 17318 -3 34833 34962 34832 -3 3755 18174 5331 -3 33635 33634 33515 -3 35091 35090 34961 -3 32435 32542 32541 -3 33298 33299 33407 -3 33403 33516 33402 -3 34448 34585 34447 -3 31331 31398 31397 -3 32908 32907 32795 -3 32434 32435 32541 -3 32562 32675 32561 -3 32796 32795 32674 -3 32886 32885 32773 -3 31178 31242 31241 -3 33287 33286 33181 -3 34585 34713 34584 -3 34585 34584 34447 -3 32352 32351 32249 -3 32331 32435 32434 -3 31719 31718 31623 -3 921 802 803 -3 34709 34837 34708 -3 33089 33194 33088 -3 31603 31602 31515 -3 31266 31265 31201 -3 32977 33083 33082 -3 32868 32869 32976 -3 32644 32643 32534 -3 33102 33101 32995 -3 35087 35216 35086 -3 32316 32419 32315 -3 32535 32644 32534 -3 35095 35224 35223 -3 31624 31719 31623 -3 34841 34840 34712 -3 34310 34448 34309 -3 33521 33520 33407 -3 33299 33298 33193 -3 20643 950 20641 -3 33194 33299 33193 -3 34966 34965 34836 -3 34837 34966 34836 -3 34966 35095 34965 -3 35095 35094 34965 -3 31062 31124 31123 -3 34955 35084 34954 -3 34021 34157 34020 -3 33284 33283 33178 -3 34157 34295 34156 -3 34295 34294 34156 -3 34164 34163 34027 -3 34149 34287 34148 -3 31053 31115 31114 -3 31695 31795 31694 -3 35094 35095 35223 -3 16694 5193 1152 -3 33436 33437 33549 -3 920 801 802 -3 18128 18692 18924 -3 30213 19518 18317 -3 32869 32977 32976 -3 32015 32115 32014 -3 32453 32560 32452 -3 32756 32757 32868 -3 32115 32215 32114 -3 33300 33299 33194 -3 35213 35212 35083 -3 32524 32523 32418 -3 31513 31512 31440 -3 32859 32967 32858 -3 32758 32870 32869 -3 33084 33083 32977 -3 32228 32229 32330 -3 31307 31306 31241 -3 32996 32995 32887 -3 32751 32750 32636 -3 32967 32966 32858 -3 35074 35073 34944 -3 34432 34569 34431 -3 33436 33549 33548 -3 33287 33396 33286 -3 29811 21741 21740 -3 33435 33436 33548 -3 33326 33327 33435 -3 34557 34685 34556 -3 32641 32642 32755 -3 32673 32672 32559 -3 32983 32984 33089 -3 33895 34030 33894 -3 33509 33628 33508 -3 34030 34029 33894 -3 31719 31819 31718 -3 31529 31530 31616 -3 32456 32455 32351 -3 32352 32456 32351 -3 32563 32562 32455 -3 32456 32563 32455 -3 32676 32675 32562 -3 31643 31642 31555 -3 31556 31643 31555 -3 31819 31925 31818 -3 31738 31737 31642 -3 34594 34595 34722 -3 31455 31527 31454 -3 33928 18621 20153 -3 17456 17455 13004 -3 31310 31377 31309 -3 35072 35071 34942 -3 32958 33064 32957 -3 34814 34943 34813 -3 35331 35332 13223 -3 33169 33168 33063 -3 19362 29828 22356 -3 32251 27896 21308 -3 13966 35347 35218 -3 35347 13966 27871 -3 35090 35219 35089 -3 35219 13966 35218 -3 32954 32953 32845 -3 32105 32205 32104 -3 33763 33762 33635 -3 31242 31307 31241 -3 31819 31818 31718 -3 32026 32025 31924 -3 31643 31738 31642 -3 34595 34723 34722 -3 31838 31837 31737 -3 31738 31838 31737 -3 31936 31935 31837 -3 31838 31936 31837 -3 32033 32032 31935 -3 31936 32033 31935 -3 32033 32130 32129 -3 34320 34458 34319 -3 34458 34595 34457 -3 34320 34319 34181 -3 34595 34594 34457 -3 34182 34320 34181 -3 34458 34457 34319 -3 34945 34944 34815 -3 32742 32741 32627 -3 32320 32423 32422 -3 32528 32637 32636 -3 34166 34304 34165 -3 34579 34707 34578 -3 34842 34971 34970 -3 32453 32452 32348 -3 34697 34696 34568 -3 32628 32742 32627 -3 34816 34945 34815 -3 32514 32513 32408 -3 31180 31181 31244 -3 32962 33068 32961 -3 34046 34045 33910 -3 33911 34046 33910 -3 32032 32033 32129 -3 32130 32230 32229 -3 32129 32130 32229 -3 17400 17322 17323 -3 35933 27896 35915 -3 35537 35598 29145 -3 33548 801 33547 -3 32230 32332 32331 -3 32229 32230 32331 -3 32332 32436 32435 -3 32331 32332 32435 -3 32436 32543 32542 -3 32435 32436 32542 -3 33649 33650 33776 -3 33777 33911 33776 -3 33530 33531 33649 -3 33911 33910 33776 -3 33418 33531 33530 -3 33650 33777 33776 -3 33417 33418 33530 -3 33531 33650 33649 -3 32215 32214 32114 -3 31801 31800 31700 -3 35356 35821 35516 -3 34842 34841 34713 -3 31606 31701 31605 -3 31926 32027 32026 -3 32008 32007 31906 -3 32216 32317 32215 -3 34182 34181 34045 -3 34046 34182 34045 -3 32543 32656 32655 -3 33308 33309 33417 -3 32542 32543 32655 -3 21741 29811 21648 -3 34723 7043 7042 -3 7435 7323 268 -3 33612 33611 33492 -3 21307 14515 21308 -3 30213 34615 35237 -3 31513 31600 31512 -3 32777 32776 32655 -3 32656 32777 32655 -3 32889 32888 32776 -3 32777 32889 32776 -3 32997 32996 32888 -3 32889 32997 32888 -3 33103 33102 32996 -3 32997 33103 32996 -3 33208 33207 33102 -3 33309 33308 33203 -3 33309 33418 33417 -3 32993 33099 32992 -3 33204 33309 33203 -3 33204 33203 33098 -3 33099 33204 33098 -3 33396 33395 33286 -3 34714 34842 34713 -3 32519 32628 32518 -3 34294 34293 34155 -3 33060 33165 33059 -3 32008 32108 32007 -3 32773 32885 32772 -3 32993 32992 32884 -3 33103 33208 33102 -3 33313 33312 33207 -3 33208 33313 33207 -3 33422 33421 33312 -3 33313 33422 33312 -3 17369 35192 35193 -3 33659 33540 11435 -3 34951 35080 34950 -3 31849 31748 11457 -3 32303 32406 32302 -3 32511 32510 32405 -3 33535 33534 33421 -3 33422 33535 33421 -3 33654 33653 33534 -3 33535 33654 33534 -3 33781 33780 33653 -3 33654 33781 33653 -3 33915 33914 33780 -3 33781 33915 33780 -3 34050 34049 33914 -3 33915 34050 33914 -3 31932 32029 32028 -3 32885 32884 32772 -3 31734 31834 31733 -3 31931 31932 32028 -3 31834 31932 31931 -3 31833 31834 31931 -3 31925 31924 31818 -3 31820 31926 31819 -3 32885 32993 32884 -3 33099 33098 32992 -3 34186 34185 34049 -3 31834 31833 31733 -3 34050 34186 34049 -3 14644 5548 17163 -3 35430 35504 35493 -3 6153 6283 33587 -3 20901 35944 35696 -3 31693 31793 31692 -3 31640 31735 31639 -3 31431 31503 31430 -3 35040 34910 34911 -3 34598 6947 6946 -3 33749 33883 33748 -3 33270 33269 33164 -3 33165 33270 33164 -3 34324 34323 34185 -3 34186 34324 34185 -3 34462 34461 34323 -3 34324 34462 34323 -3 11412 11463 26518 -3 34461 34462 34598 -3 32128 32129 32228 -3 11580 32249 11581 -3 32563 32676 32562 -3 32797 32796 32675 -3 32351 32455 32350 -3 31552 31639 31551 -3 32351 32350 32248 -3 31639 31638 31551 -3 32249 32351 32248 -3 32455 32454 32350 -3 16313 29417 35542 -3 31640 31639 31552 -3 32676 32797 32675 -3 33901 34036 33900 -3 32909 32908 32796 -3 16243 2103 1769 -3 34355 34492 3225 -3 34133 34132 33996 -3 32684 33807 35246 -3 26788 24350 24710 -3 17370 17449 17448 -3 29002 24210 29399 -3 7637 7636 7522 -3 33543 7065 33429 -3 21642 34365 34501 -3 6643 27988 2950 -3 11477 11476 31018 -3 32617 32731 32616 -3 31734 31733 31638 -3 31639 31734 31638 -3 32541 32542 32654 -3 32129 32229 32228 -3 33189 33294 33188 -3 33294 33293 33188 -3 34028 34027 33892 -3 33893 34028 33892 -3 34833 34832 34704 -3 28949 21463 17318 -3 34031 34030 33895 -3 34705 34833 34704 -3 34448 34447 34309 -3 31016 31077 31015 -3 31935 32032 31934 -3 31266 31331 31265 -3 33516 33635 33515 -3 32797 32909 32796 -3 32032 32129 32128 -3 33017 33016 32908 -3 32909 33017 32908 -3 20153 22441 17814 -3 33337 32684 34981 -3 35246 35556 35695 -3 34072 34071 32684 -3 33337 34072 32684 -3 34072 34338 33789 -3 34071 34072 33789 -3 33686 18263 18621 -3 18621 33928 33794 -3 22421 22519 22420 -3 22228 22325 22324 -3 1167 4770 6543 -3 33266 33376 33489 -3 33237 22523 22522 -3 33008 33007 32899 -3 31077 31076 31015 -3 33767 33766 33639 -3 31737 31736 31641 -3 33123 33122 33016 -3 32644 32758 32757 -3 32330 32331 32434 -3 33186 33291 33185 -3 32643 32644 32757 -3 33400 33399 33290 -3 33291 33400 33290 -3 33769 33903 33768 -3 35342 35341 35212 -3 33893 33892 33758 -3 35213 35342 35212 -3 34442 34443 34579 -3 33759 33893 33758 -3 31642 31641 31554 -3 34730 33337 34981 -3 17272 17271 33359 -3 35227 34072 33337 -3 34870 34730 35942 -3 34199 34338 34072 -3 35227 34199 34072 -3 34199 13102 11442 -3 34338 34199 11442 -3 13102 33794 33928 -3 11442 13102 33928 -3 31139 31138 31076 -3 33686 18621 33794 -3 31259 31260 31324 -3 20000 19969 19970 -3 32757 32758 32869 -3 32203 32304 32202 -3 33017 33123 33016 -3 31555 31642 31554 -3 33228 33227 33122 -3 33123 33228 33122 -3 31644 31643 31556 -3 31557 31644 31556 -3 31739 31738 31643 -3 31644 31739 31643 -3 31839 31838 31738 -3 31739 31839 31738 -3 31937 31936 31838 -3 31839 31937 31838 -3 32034 32033 31936 -3 31937 32034 31936 -3 32131 32130 32033 -3 32034 32131 32033 -3 32131 32231 32230 -3 32130 32131 32230 -3 32231 32333 32332 -3 31624 31623 31536 -3 32230 32231 32332 -3 21971 18263 33686 -3 33022 7524 33021 -3 32914 33022 32913 -3 34247 34199 35227 -3 26498 27148 19243 -3 34608 13102 34199 -3 34247 34608 34199 -3 34608 33930 33794 -3 13102 34608 33794 -3 27375 29356 35939 -3 33794 33930 33686 -3 11730 11650 11651 -3 34722 6942 34721 -3 32333 32437 32436 -3 32332 32333 32436 -3 32437 32544 32543 -3 32436 32437 32543 -3 32657 32656 32543 -3 32544 32657 32543 -3 32778 32777 32656 -3 32657 32778 32656 -3 32890 32889 32777 -3 32778 32890 32777 -3 32998 32997 32889 -3 32890 32998 32889 -3 33104 33103 32997 -3 32998 33104 32997 -3 31527 31614 31526 -3 33209 33208 33103 -3 34433 34570 34432 -3 33755 33754 33627 -3 32994 32993 32885 -3 33419 33418 33309 -3 34970 34969 34840 -3 34172 34310 34309 -3 34713 34712 34584 -3 33517 33516 33403 -3 32125 32225 32124 -3 31465 31537 31464 -3 33104 33209 33103 -3 11421 11420 31207 -3 33314 33313 33208 -3 31792 31898 31791 -3 35637 34347 35227 -3 31692 31792 31691 -3 33233 34608 34247 -3 17815 11442 17814 -3 34247 35755 33233 -3 34608 33233 33930 -3 31397 31464 31463 -3 17461 17383 17462 -3 6947 34598 6880 -3 33209 33314 33208 -3 33423 33422 33313 -3 33314 33423 33313 -3 33536 33535 33422 -3 33423 33536 33422 -3 33655 33654 33535 -3 33536 33655 33535 -3 33782 33781 33654 -3 33655 33782 33654 -3 33916 33915 33781 -3 32633 32632 32523 -3 33782 33916 33781 -3 33012 33011 32903 -3 31186 31187 31250 -3 31537 31624 31536 -3 32792 32904 32791 -3 31062 31061 31000 -3 31001 31062 31000 -3 34051 34050 33915 -3 32201 32302 32200 -3 33916 34051 33915 -3 34187 34186 34050 -3 34051 34187 34050 -3 34325 34324 34186 -3 34187 34325 34186 -3 34818 34947 34817 -3 34325 34463 34462 -3 34324 34325 34462 -3 5199 8558 788 -3 11417 11416 31338 -3 32536 32535 32430 -3 32229 32331 32330 -3 33873 33872 33738 -3 34319 34457 34318 -3 31079 31078 31017 -3 31079 31141 31078 -3 31018 31079 31017 -3 31141 31140 31078 -3 31204 31203 31140 -3 31141 31204 31140 -3 31268 31267 31203 -3 31204 31268 31203 -3 34319 34318 34180 -3 34181 34319 34180 -3 33333 33332 33227 -3 33228 33333 33227 -3 7040 7039 6941 -3 31551 31550 26517 -3 11419 11418 31272 -3 34721 6942 6941 -3 31447 31446 31379 -3 30894 30948 30893 -3 23589 15766 15765 -3 30875 30929 30874 -3 33442 33441 33332 -3 33333 33442 33332 -3 33776 33910 33775 -3 31709 31809 31708 -3 34295 34433 34294 -3 31431 31430 31363 -3 35084 35083 34954 -3 17318 13105 19572 -3 34826 34955 34825 -3 32524 32633 32523 -3 31333 31400 31332 -3 34570 34569 34432 -3 31333 31332 31267 -3 31268 31333 31267 -3 31467 31466 31399 -3 31400 31399 31332 -3 31927 31926 31820 -3 31400 31467 31399 -3 31632 31727 31631 -3 31821 31927 31820 -3 31306 31305 31240 -3 33092 33091 32985 -3 34944 35073 34943 -3 22426 22427 22525 -3 31614 31613 31526 -3 31176 31177 31240 -3 34593 34594 34721 -3 31115 31116 31178 -3 33509 33508 33395 -3 34594 34593 34456 -3 34580 34708 34579 -3 33403 33402 33293 -3 33759 33758 33631 -3 33632 33759 33631 -3 33649 33776 33775 -3 34705 34704 34576 -3 32872 32871 32759 -3 33648 33649 33775 -3 33758 33757 33630 -3 33518 33637 33517 -3 33631 33630 33511 -3 33512 33631 33511 -3 32980 33086 32979 -3 33191 33190 33085 -3 34457 34456 34318 -3 33086 33191 33085 -3 34962 34961 34832 -3 33529 33530 33648 -3 33635 33762 33634 -3 23590 23589 7473 -3 35060 35059 34930 -3 34802 34931 34801 -3 23589 7361 7473 -3 35554 35624 35518 -3 7513 33673 33555 -3 33554 33555 33673 -3 33896 34031 33895 -3 31935 31934 31836 -3 32031 32032 32128 -3 34045 34044 33909 -3 31365 31364 31297 -3 31539 31626 31538 -3 33910 34045 33909 -3 31539 31538 31466 -3 31467 31539 31466 -3 31721 31720 31625 -3 31626 31625 31538 -3 31821 31820 31720 -3 31626 31721 31625 -3 34704 34832 34703 -3 31721 31821 31720 -3 35219 35218 35089 -3 34961 34960 34831 -3 34576 34704 34703 -3 34832 34831 34703 -3 34301 34439 34300 -3 34438 34439 34575 -3 32328 32329 32431 -3 34163 34301 34162 -3 31927 32027 31926 -3 32537 32536 32431 -3 32329 32328 32227 -3 32329 32432 32431 -3 32432 32537 32431 -3 32646 32645 32536 -3 32537 32646 32536 -3 32760 32759 32645 -3 34457 34594 34456 -3 32646 32760 32645 -3 33910 33909 33775 -3 34594 34722 34721 -3 33442 33555 33441 -3 33417 33530 33529 -3 35764 33930 35570 -3 2442 591 5413 -3 33308 33417 33416 -3 32621 32620 32511 -3 33764 33763 33636 -3 33307 33308 33416 -3 33637 33764 33636 -3 33898 33897 33763 -3 34033 34169 34032 -3 34168 34169 34306 -3 33191 33296 33295 -3 33190 33191 33295 -3 33098 33203 33097 -3 33308 33307 33202 -3 17288 17357 17356 -3 7073 35945 10623 -3 35199 33666 35198 -3 34343 15048 13183 -3 35341 17318 35340 -3 33203 33202 33097 -3 32776 32888 32775 -3 34181 34180 34044 -3 33530 33649 33648 -3 33405 33404 33295 -3 34045 34181 34044 -3 33399 33398 33289 -3 33296 33405 33295 -3 33290 33399 33289 -3 33512 33511 33398 -3 2959 24791 2960 -3 34961 35090 34960 -3 34684 34683 34555 -3 34832 34961 34831 -3 802 33549 803 -3 35090 35089 34960 -3 6922 7020 6921 -3 31263 31328 31327 -3 34813 34942 34812 -3 31395 31462 31461 -3 31462 31534 31533 -3 31262 31263 31327 -3 34439 34438 34300 -3 31394 31395 31461 -3 34163 34162 34026 -3 34027 34163 34026 -3 34027 34026 33891 -3 34301 34300 34162 -3 33892 33891 33757 -3 33892 34027 33891 -3 33631 33758 33630 -3 33758 33892 33757 -3 32871 32872 32979 -3 33399 33512 33398 -3 32760 32872 32759 -3 33086 33085 32979 -3 33416 33417 33529 -3 32872 32980 32979 -3 35222 6924 11704 -3 32992 33098 32991 -3 34708 34836 34707 -3 33762 33761 33634 -3 32992 32991 32883 -3 11963 12463 11385 -3 32884 32992 32883 -3 33098 33097 32991 -3 34582 34581 34444 -3 34307 34445 34444 -3 33764 33898 33763 -3 34033 34032 33897 -3 33203 33308 33202 -3 33898 34033 33897 -3 33949 11251 12734 -3 32772 32884 32771 -3 33081 33186 33080 -3 33291 33290 33185 -3 32974 32975 33080 -3 33434 33435 33547 -3 34965 34964 34835 -3 31931 32028 31930 -3 32884 32883 32771 -3 33518 33517 33404 -3 33405 33518 33404 -3 34838 34837 34709 -3 33637 33636 33517 -3 34710 34838 34709 -3 34967 34966 34837 -3 31114 31115 31177 -3 32866 32974 32973 -3 6930 6929 35098 -3 33875 33874 33740 -3 6884 13101 2411 -3 34065 19518 30213 -3 34802 34801 34673 -3 22028 21933 21934 -3 12994 34989 34343 -3 23075 27404 17290 -3 20893 33578 34742 -3 26433 26432 25944 -3 21110 21198 21109 -3 34382 21200 34383 -3 33023 3096 3095 -3 30949 30948 30894 -3 1614 13776 14379 -3 30895 30949 30894 -3 31007 31006 30948 -3 806 33553 33672 -3 30949 31007 30948 -3 31068 31067 31006 -3 31007 31068 31006 -3 31068 31130 31129 -3 33290 33289 33184 -3 33185 33290 33184 -3 34445 34582 34444 -3 34710 34709 34581 -3 31833 31931 31930 -3 31832 31833 31930 -3 31833 31832 31732 -3 31733 31833 31732 -3 33186 33185 33080 -3 31638 31733 31637 -3 32888 32887 32775 -3 34708 34707 34579 -3 31551 31638 31550 -3 31614 31709 31613 -3 31638 31637 31550 -3 31733 31732 31637 -3 33901 33900 33766 -3 34595 34596 34723 -3 34169 34168 34032 -3 32983 33089 33088 -3 32227 32328 32327 -3 32226 32227 32327 -3 32869 32870 32977 -3 32645 32644 32535 -3 32536 32645 32535 -3 31645 31644 31557 -3 15041 3862 273 -3 31740 31739 31644 -3 34036 34035 33900 -3 33188 33187 33082 -3 33767 33901 33766 -3 31915 31914 31808 -3 33059 33058 32952 -3 13394 34989 33949 -3 35096 35095 34966 -3 34838 34967 34837 -3 31455 31454 31387 -3 32983 32982 32874 -3 19965 31082 19966 -3 31557 31556 26615 -3 34409 34408 34270 -3 17387 17464 19520 -3 18798 19014 8309 -3 19014 35112 8309 -3 7300 33812 34995 -3 34247 35227 34347 -3 34995 12572 20009 -3 17280 17348 17279 -3 517 632 631 -3 33550 33551 804 -3 33467 15220 14736 -3 35141 21741 21742 -3 34195 32567 33467 -3 27988 34329 3092 -3 21932 21933 22027 -3 13004 27028 17456 -3 32567 27552 15609 -3 35569 35927 35410 -3 31067 31068 31129 -3 31130 31193 31192 -3 32974 33080 32973 -3 33185 33184 33079 -3 34582 34710 34581 -3 34967 35096 34966 -3 32208 32207 32107 -3 31794 31900 31793 -3 31645 31740 31644 -3 31840 31839 31739 -3 31740 31840 31739 -3 31938 31937 31839 -3 31840 31938 31839 -3 32035 32034 31937 -3 31938 32035 31937 -3 32132 32131 32034 -3 32035 32132 32034 -3 32232 32231 32131 -3 32132 32232 32131 -3 32334 32333 32231 -3 34035 34036 34171 -3 32232 32334 32231 -3 804 33551 805 -3 16316 4920 9679 -3 32438 32437 32333 -3 32334 32438 32333 -3 32545 32544 32437 -3 32438 32545 32437 -3 32658 32657 32544 -3 32545 32658 32544 -3 32779 32778 32657 -3 32658 32779 32657 -3 32891 32890 32778 -3 32779 32891 32778 -3 32999 32998 32890 -3 32891 32999 32890 -3 33105 33104 32998 -3 32999 33105 32998 -3 33210 33209 33104 -3 33105 33210 33104 -3 33315 33314 33209 -3 33210 33315 33209 -3 34713 34841 34712 -3 33439 33440 33552 -3 32621 32735 32620 -3 35563 35372 11623 -3 11518 11585 11517 -3 30958 31016 30957 -3 19668 901 7300 -3 34813 34812 34684 -3 9566 10450 10900 -3 3755 3756 3887 -3 34079 34479 3095 -3 17293 27781 29270 -3 35002 30338 33812 -3 7300 35002 33812 -3 30338 13499 24996 -3 33812 30338 24996 -3 13499 34738 13789 -3 24996 13499 13789 -3 34738 31854 34195 -3 13789 34738 34195 -3 31854 27552 32567 -3 34195 31854 32567 -3 35246 35695 34981 -3 27552 17389 15609 -3 33376 33266 33161 -3 7025 6926 7026 -3 31129 31130 31192 -3 31708 31808 31707 -3 33080 33185 33079 -3 31193 31257 31256 -3 1614 16007 34486 -3 32865 32866 32973 -3 32652 32766 32651 -3 35095 35096 35224 -3 33424 33423 33314 -3 32512 32621 32511 -3 33315 33424 33314 -3 33537 33536 33423 -3 33424 33537 33423 -3 33656 33655 33536 -3 33537 33656 33536 -3 32747 32859 32746 -3 34433 34432 34294 -3 33783 33782 33655 -3 33656 33783 33655 -3 33917 33916 33782 -3 33783 33917 33782 -3 34052 34051 33916 -3 33917 34052 33916 -3 34188 34187 34051 -3 34052 34188 34051 -3 34326 34325 34187 -3 34188 34326 34187 -3 35061 35060 34931 -3 34325 34326 34463 -3 34487 17652 19310 -3 22135 22134 35249 -3 32870 32978 32977 -3 32431 32536 32430 -3 34458 34459 34595 -3 13867 14261 13773 -3 34183 34321 34182 -3 34321 34459 34320 -3 31512 31511 31439 -3 33930 35764 35730 -3 34421 34558 34420 -3 32101 32201 32100 -3 14284 35293 18937 -3 32854 32853 32741 -3 2277 30090 2276 -3 6931 34970 34971 -3 35002 13055 30338 -3 13055 35002 9280 -3 34196 5325 13499 -3 30338 34196 13499 -3 5325 34621 34738 -3 13499 5325 34738 -3 34621 34069 31854 -3 34738 34621 31854 -3 34069 28234 27552 -3 31854 34069 27552 -3 13057 17389 28234 -3 27552 28234 17389 -3 7514 7513 33555 -3 670 7693 669 -3 31808 31807 31707 -3 31914 31913 31807 -3 31192 31193 31256 -3 31322 31321 31256 -3 32754 32866 32865 -3 33080 33079 32973 -3 34586 34714 34585 -3 11579 11653 32352 -3 33886 34021 33885 -3 32419 32418 32315 -3 34285 34284 34146 -3 31440 31439 31372 -3 32650 32764 32649 -3 35094 35093 34964 -3 34836 34835 34707 -3 33632 33631 33512 -3 33513 33632 33512 -3 32633 32747 32632 -3 32748 32747 32633 -3 34440 34439 34301 -3 32748 32860 32747 -3 34577 34705 34576 -3 33896 33895 33761 -3 33762 33896 33761 -3 31837 31935 31836 -3 32032 32031 31934 -3 31837 31836 31736 -3 31737 31837 31736 -3 34013 34012 33877 -3 31642 31737 31641 -3 32455 32562 32454 -3 34157 34156 34020 -3 33636 33635 33516 -3 32774 32886 32773 -3 32888 32996 32887 -3 31926 31925 31819 -3 32535 32534 32429 -3 32430 32535 32429 -3 32904 33012 32903 -3 33775 33909 33908 -3 34282 34281 34143 -3 32532 32641 32640 -3 32641 32755 32754 -3 33223 33222 33117 -3 32531 32532 32640 -3 33554 33673 33672 -3 34836 34965 34835 -3 17370 17371 17449 -3 33553 33554 33672 -3 33528 33529 33647 -3 33648 33775 33774 -3 13055 34196 30338 -3 31907 31906 31800 -3 33161 33267 33376 -3 31202 31201 31138 -3 35689 35771 35538 -3 32805 34849 12964 -3 33811 13478 5325 -3 34196 33811 5325 -3 13478 33573 34621 -3 5325 13478 34621 -3 33573 13119 34069 -3 34621 33573 34069 -3 13119 33345 28234 -3 34069 13119 28234 -3 3095 3234 3094 -3 33345 32805 13057 -3 17276 17277 17345 -3 12964 15477 12963 -3 15477 15476 12963 -3 11577 11652 32565 -3 31257 31322 31256 -3 31389 31388 31321 -3 32639 32640 32753 -3 32753 32754 32865 -3 34449 34586 34448 -3 34714 34713 34585 -3 33522 33521 33408 -3 34166 34165 34029 -3 31177 31241 31240 -3 32302 32301 32200 -3 34306 34305 34167 -3 32860 32859 32747 -3 19526 19214 18376 -3 670 8862 7693 -3 273 3731 2709 -3 19135 35636 7080 -3 31741 31740 31645 -3 31646 31741 31645 -3 33307 33416 33415 -3 31841 31840 31740 -3 32968 32967 32859 -3 33306 33307 33415 -3 31741 31841 31740 -3 33201 33202 33306 -3 31939 31938 31840 -3 31841 31939 31840 -3 32036 32035 31938 -3 31939 32036 31938 -3 32133 32132 32035 -3 32036 32133 32035 -3 32233 32232 32132 -3 32133 32233 32132 -3 33097 33202 33096 -3 32335 32334 32232 -3 33097 33096 32990 -3 33202 33307 33306 -3 32991 33097 32990 -3 33202 33201 33096 -3 31123 31124 31186 -3 32747 32746 32632 -3 33122 33121 33015 -3 32859 32858 32746 -3 33330 33329 33224 -3 31187 31251 31250 -3 34593 34721 34720 -3 34197 11263 31853 -3 32233 32335 32232 -3 32439 32438 32334 -3 32335 32439 32334 -3 32546 32545 32438 -3 32439 32546 32438 -3 34044 34180 34043 -3 32659 32658 32545 -3 32546 32659 32545 -3 32780 32779 32658 -3 32659 32780 32658 -3 32892 32891 32779 -3 32780 32892 32779 -3 33000 32999 32891 -3 32892 33000 32891 -3 32771 32883 32770 -3 33106 33105 32999 -3 33000 33106 32999 -3 32991 32990 32882 -3 33211 33210 33105 -3 33106 33211 33105 -3 33316 33315 33210 -3 33211 33316 33210 -3 33425 33424 33315 -3 33316 33425 33315 -3 33647 33648 33774 -3 31831 31832 31929 -3 32049 32146 32048 -3 32146 32145 32048 -3 11728 32801 11729 -3 33327 33436 33435 -3 34845 34718 6974 -3 33812 24996 12572 -3 33811 12463 13478 -3 12463 34361 11385 -3 35254 34362 33573 -3 13478 35254 33573 -3 34362 33790 13119 -3 33573 34362 13119 -3 33790 19239 33345 -3 13119 33790 33345 -3 19239 34849 32805 -3 33345 19239 32805 -3 33583 2143 33457 -3 34849 34341 12964 -3 11392 10357 7684 -3 3927 34341 33451 -3 3538 4797 33451 -3 3227 33687 14068 -3 33707 9566 10900 -3 33402 33515 33401 -3 32530 32531 32639 -3 32640 32754 32753 -3 34945 35074 34944 -3 32742 32854 32741 -3 35203 35202 35073 -3 31117 31118 31180 -3 33872 33871 33737 -3 35201 35200 35071 -3 32634 32748 32633 -3 33872 34007 33871 -3 33529 33648 33647 -3 34143 34281 34142 -3 33538 33537 33424 -3 33416 33529 33528 -3 33425 33538 33424 -3 33657 33656 33537 -3 33538 33657 33537 -3 33784 33783 33656 -3 31832 31930 31929 -3 33657 33784 33656 -3 31637 31732 31636 -3 31832 31831 31731 -3 33918 33917 33783 -3 33784 33918 33783 -3 34053 34052 33917 -3 31550 31637 31549 -3 33918 34053 33917 -3 33440 33553 33552 -3 31732 31731 31636 -3 33440 33439 33330 -3 31637 31636 31549 -3 34189 34188 34052 -3 33331 33440 33330 -3 34053 34189 34052 -3 34327 34326 34188 -3 34189 34327 34188 -3 21630 26395 26394 -3 33331 33330 33225 -3 33226 33331 33225 -3 34030 34166 34029 -3 32218 32219 32319 -3 33205 33204 33099 -3 33379 33378 33269 -3 31795 31794 31694 -3 32306 32305 32204 -3 34592 34593 34720 -3 6882 34465 6950 -3 34318 34456 34317 -3 34593 34592 34455 -3 34180 34318 34179 -3 34456 34593 34455 -3 34318 34317 34179 -3 34456 34455 34317 -3 34044 34043 33908 -3 33909 34044 33908 -3 32883 32991 32882 -3 34180 34179 34043 -3 22593 22691 30335 -3 32431 32430 32327 -3 33786 11431 33920 -3 32565 11652 11651 -3 33015 33121 33014 -3 33207 33206 33101 -3 32883 32882 32770 -3 32904 32903 32791 -3 31537 31536 31464 -3 33880 34015 33879 -3 32564 32563 32456 -3 21137 33807 22261 -3 33625 33752 33624 -3 32677 32676 32563 -3 32246 32245 32145 -3 31016 31015 30957 -3 12463 35254 13478 -3 31722 31721 31626 -3 33748 33747 33620 -3 3365 3226 3227 -3 9326 6541 33025 -3 25682 25540 11922 -3 21954 21955 35766 -3 32399 32504 32398 -3 35251 34610 33790 -3 34362 35251 33790 -3 34610 29822 19239 -3 33790 34610 19239 -3 29822 12047 34849 -3 19239 29822 34849 -3 12047 34352 34341 -3 34849 12047 34341 -3 34352 33566 33451 -3 34341 34352 33451 -3 33566 33459 33347 -3 33451 33566 33347 -3 33026 33025 10723 -3 3752 619 15075 -3 3329 17286 14262 -3 32944 33050 33049 -3 32425 32426 32530 -3 32531 32640 32639 -3 32322 32323 32425 -3 32426 32531 32530 -3 13106 26966 13223 -3 32323 32426 32425 -3 31310 31309 31244 -3 33064 33063 32957 -3 32850 32958 32849 -3 34943 35072 34942 -3 33415 33416 33528 -3 32311 32414 32310 -3 34021 34020 33885 -3 32967 33073 32966 -3 32564 32677 32563 -3 34283 34421 34282 -3 31542 31629 31541 -3 35094 35223 35222 -3 31732 31832 31731 -3 30943 30942 30888 -3 34965 35094 34964 -3 33073 33072 32966 -3 33513 33512 33399 -3 33400 33513 33399 -3 34028 34164 34027 -3 34302 34440 34301 -3 30943 31001 30942 -3 34167 34166 34030 -3 34031 34167 34030 -3 31124 31187 31186 -3 34167 34305 34166 -3 34305 34304 34166 -3 13105 21463 22236 -3 34443 34580 34579 -3 32798 32797 32676 -3 33294 33403 33293 -3 31061 31062 31123 -3 32677 32798 32676 -3 34841 34970 34840 -3 6931 34971 6932 -3 32246 32348 32245 -3 32452 32451 32347 -3 31394 31461 31460 -3 31393 31394 31460 -3 35251 13013 27779 -3 32414 32413 32310 -3 31801 31907 31800 -3 32519 32518 32413 -3 32317 32420 32316 -3 32108 32107 32007 -3 34020 34156 34019 -3 34156 34294 34155 -3 32219 32320 32319 -3 32420 32419 32316 -3 34172 34173 34310 -3 32319 32320 32422 -3 34303 34304 34441 -3 34841 34842 34970 -3 33121 33226 33120 -3 34442 34579 34578 -3 32910 32909 32797 -3 34969 34970 35098 -3 32798 32910 32797 -3 33018 33017 32909 -3 32910 33018 32909 -3 32316 32315 32214 -3 32619 32733 32618 -3 33634 33761 33633 -3 31925 32026 31924 -3 32348 32347 32245 -3 34962 35091 34961 -3 32965 32964 32856 -3 32205 32204 32104 -3 33118 33117 33011 -3 32101 32100 32000 -3 31796 31902 31795 -3 31627 31722 31626 -3 32201 32200 32100 -3 32433 32538 32432 -3 32002 32102 32001 -3 33687 3226 13024 -3 32724 32836 32835 -3 28595 24150 24210 -3 7042 7043 318 -3 27779 13706 34610 -3 35251 27779 34610 -3 13706 33694 29822 -3 34610 13706 29822 -3 33694 35257 12047 -3 29822 33694 12047 -3 35257 34489 34352 -3 12047 35257 34352 -3 34489 33564 33566 -3 34352 34489 33566 -3 33564 33576 33459 -3 33566 33564 33459 -3 10244 25540 25541 -3 25540 10244 5593 -3 17453 33666 17454 -3 11548 34778 16007 -3 34104 34103 21196 -3 19044 2140 2139 -3 31948 11455 31949 -3 1614 78 16007 -3 17323 17322 32921 -3 35186 6905 35185 -3 32222 32323 32322 -3 31748 31747 11459 -3 31460 31461 31532 -3 32221 32222 32322 -3 32146 32246 32145 -3 35212 35211 35082 -3 33746 33745 33618 -3 34173 34311 34310 -3 33068 33067 32961 -3 31512 31599 31511 -3 33012 33118 33011 -3 33409 33522 33408 -3 32001 32101 32000 -3 33441 33554 33440 -3 31440 31512 31439 -3 31373 31440 31372 -3 32763 32762 32648 -3 33124 33123 33017 -3 33018 33124 33017 -3 33229 33228 33123 -3 34941 34940 34811 -3 33124 33229 33123 -3 33334 33333 33228 -3 34812 34811 34683 -3 20153 16932 23030 -3 15092 21757 30421 -3 34455 34454 34316 -3 31742 31741 31646 -3 31142 31141 31079 -3 35331 13223 35330 -3 32348 32452 32347 -3 31080 31142 31079 -3 31261 31262 31326 -3 31080 31079 31018 -3 32121 32122 32221 -3 31461 31533 31532 -3 32021 32022 32121 -3 32122 32222 32221 -3 31920 31921 32021 -3 32022 32122 32121 -3 31814 31815 31920 -3 31921 32022 32021 -3 31714 31715 31814 -3 31815 31921 31920 -3 31619 31620 31714 -3 31715 31815 31814 -3 31533 31620 31619 -3 31532 31533 31619 -3 31262 31327 31326 -3 31620 31715 31714 -3 31205 31204 31141 -3 31198 31262 31261 -3 35198 35197 35068 -3 31142 31205 31141 -3 33121 33120 33014 -3 33226 33225 33120 -3 33015 33014 32906 -3 33195 33300 33194 -3 31925 31926 32026 -3 32907 33015 32906 -3 31334 31401 31333 -3 31468 31467 31400 -3 33276 33275 33170 -3 31540 31627 31539 -3 31647 31742 31646 -3 34317 34316 34178 -3 31842 31841 31741 -3 31742 31842 31741 -3 34179 34178 34042 -3 31940 31939 31841 -3 32647 32646 32537 -3 34043 34179 34042 -3 33638 33637 33518 -3 33519 33638 33518 -3 13706 27779 6768 -3 33050 33051 33155 -3 34861 34355 3363 -3 21735 21736 21830 -3 34874 22636 33694 -3 13706 34874 33694 -3 22636 12750 35257 -3 33694 22636 35257 -3 12750 34488 34489 -3 35257 12750 34489 -3 34488 33567 33564 -3 34489 34488 33564 -3 33567 34609 33576 -3 33564 33567 33576 -3 34609 33582 34734 -3 33576 34609 34734 -3 33582 34778 11548 -3 34734 33582 11548 -3 6138 11623 35372 -3 34778 34486 16007 -3 34486 13776 1614 -3 6995 7098 13979 -3 32055 32154 12129 -3 6993 13979 7098 -3 26497 28020 8974 -3 12963 32805 12964 -3 31322 31389 31321 -3 32293 32396 32292 -3 32849 32848 32736 -3 35341 35340 35211 -3 31822 31821 31721 -3 33638 33765 33637 -3 33646 33647 33773 -3 34043 34042 33907 -3 31842 31940 31841 -3 32037 32036 31939 -3 31940 32037 31939 -3 32134 32133 32036 -3 33527 33528 33646 -3 33647 33774 33773 -3 32037 32134 32036 -3 32234 32233 32133 -3 32134 32234 32133 -3 32336 32335 32233 -3 32234 32336 32233 -3 32440 32439 32335 -3 33414 33415 33527 -3 32336 32440 32335 -3 33491 33490 33377 -3 34684 34812 34683 -3 32547 32546 32439 -3 32440 32547 32439 -3 32660 32659 32546 -3 32547 32660 32546 -3 32781 32780 32659 -3 32660 32781 32659 -3 32893 32892 32780 -3 32781 32893 32780 -3 34317 34455 34316 -3 33001 33000 32892 -3 31722 31822 31721 -3 34592 34591 34454 -3 32643 32757 32756 -3 31822 31927 31821 -3 31327 31394 31393 -3 33221 33222 33326 -3 31456 31528 31455 -3 31326 31327 31393 -3 31456 31455 31388 -3 31615 31614 31527 -3 31389 31456 31388 -3 31528 31527 31455 -3 31528 31615 31527 -3 31710 31709 31614 -3 31615 31710 31614 -3 31810 31809 31709 -3 31916 31915 31809 -3 31710 31810 31709 -3 32017 32016 31915 -3 31810 31916 31809 -3 32116 32117 32216 -3 31916 32017 31915 -3 32017 32117 32116 -3 32016 32017 32116 -3 31197 31198 31261 -3 32117 32217 32216 -3 31269 31334 31268 -3 31073 31135 31072 -3 31269 31268 31204 -3 31401 31400 31333 -3 31205 31269 31204 -3 31334 31333 31268 -3 31401 31468 31400 -3 31540 31539 31467 -3 31468 31540 31467 -3 31627 31626 31539 -3 32433 32432 32329 -3 34941 35070 34940 -3 34179 34317 34178 -3 32538 32537 32432 -3 32893 33001 32892 -3 33415 33528 33527 -3 33107 33106 33000 -3 33001 33107 33000 -3 33200 33201 33305 -3 33212 33211 33106 -3 33765 33764 33637 -3 33306 33415 33414 -3 33738 33872 33737 -3 34034 34170 34033 -3 33548 33549 802 -3 35723 29553 35428 -3 34874 5551 22636 -3 19598 19116 19820 -3 34851 13500 12750 -3 22636 34851 12750 -3 13500 34617 34488 -3 12750 13500 34488 -3 34617 33810 33567 -3 34488 34617 33567 -3 33810 11797 34609 -3 33567 33810 34609 -3 11797 35316 33582 -3 34609 11797 33582 -3 35316 27872 34778 -3 33582 35316 34778 -3 27872 33461 34486 -3 34778 27872 34486 -3 33461 12122 13776 -3 34486 33461 13776 -3 34200 12459 13776 -3 12122 34200 13776 -3 35587 35603 35851 -3 34200 27032 12459 -3 6924 7023 7022 -3 6906 35317 6996 -3 32314 32313 32212 -3 33887 33886 33752 -3 33899 33898 33764 -3 33880 33879 33745 -3 33908 34043 33907 -3 33765 33899 33764 -3 33107 33212 33106 -3 33096 33201 33095 -3 33317 33316 33211 -3 33212 33317 33211 -3 33426 33425 33316 -3 32770 32882 32769 -3 32990 32989 32881 -3 33317 33426 33316 -3 33539 33538 33425 -3 33426 33539 33425 -3 33658 33657 33538 -3 33539 33658 33538 -3 33785 33784 33657 -3 33658 33785 33657 -3 31831 31929 31830 -3 33919 33918 33784 -3 32538 32647 32537 -3 33528 33647 33646 -3 31712 31812 31811 -3 34556 34684 34555 -3 6905 6906 6995 -3 31616 31617 31711 -3 31711 31712 31811 -3 31812 31918 31917 -3 2075 11095 9340 -3 14683 12628 34060 -3 34455 34592 34454 -3 34592 34720 34719 -3 33191 33192 33296 -3 34591 34592 34719 -3 35212 35341 35211 -3 33406 33405 33296 -3 32318 32421 32317 -3 32642 32643 32756 -3 32318 32317 32216 -3 32217 32318 32216 -3 31128 31191 31190 -3 32421 32420 32317 -3 31613 31708 31612 -3 31127 31128 31190 -3 31613 31612 31525 -3 31526 31613 31525 -3 31526 31525 31453 -3 31708 31707 31612 -3 31454 31453 31386 -3 31454 31526 31453 -3 31320 31387 31319 -3 31387 31454 31386 -3 31255 31320 31254 -3 31387 31386 31319 -3 31190 31191 31254 -3 31320 31319 31254 -3 31005 31066 31004 -3 31066 31128 31127 -3 32526 32525 32420 -3 30947 31005 30946 -3 31135 31198 31197 -3 32421 32526 32420 -3 31012 31073 31011 -3 31134 31135 31197 -3 30954 31012 30953 -3 31135 31134 31072 -3 30900 30954 30899 -3 31073 31072 31011 -3 30954 30953 30899 -3 31012 31011 30953 -3 35073 35072 34943 -3 34015 34151 34014 -3 33406 33519 33405 -3 34968 35097 35096 -3 31731 31831 31830 -3 31730 31731 31830 -3 33785 33919 33784 -3 34054 34053 33918 -3 33919 34054 33918 -3 34190 34189 34053 -3 33305 33306 33414 -3 31636 31731 31635 -3 34143 34142 34006 -3 34446 34445 34307 -3 3757 3625 3626 -3 7883 14286 7555 -3 34060 12657 34851 -3 5551 34851 22636 -3 12657 7110 13500 -3 34851 12657 13500 -3 7110 34616 34617 -3 13500 7110 34617 -3 34616 33568 33810 -3 34617 34616 33810 -3 33568 33946 11797 -3 33810 33568 11797 -3 33946 35001 35316 -3 11797 33946 35316 -3 35001 35037 27872 -3 35316 35001 27872 -3 35037 35266 33461 -3 27872 35037 33461 -3 35266 32917 12122 -3 33461 35266 12122 -3 33456 34200 12122 -3 32917 33456 12122 -3 34482 27032 34200 -3 33456 34482 34200 -3 18510 26000 22039 -3 19042 19044 33934 -3 33753 33887 33752 -3 6951 6952 7050 -3 31701 31700 31605 -3 34022 34021 33886 -3 34034 34033 33898 -3 33876 33875 33741 -3 33201 33306 33305 -3 33899 34034 33898 -3 34054 34190 34053 -3 33096 33095 32989 -3 34328 34327 34189 -3 34190 34328 34189 -3 31549 31636 31548 -3 31731 31730 31635 -3 9184 13036 16365 -3 34327 34328 34465 -3 28949 17318 35341 -3 31849 11456 31948 -3 33229 33334 33228 -3 34955 34954 34825 -3 31549 31548 31476 -3 33443 33442 33333 -3 34170 34169 34033 -3 32882 32881 32769 -3 32761 32760 32646 -3 32647 32761 32646 -3 32761 32873 32760 -3 32873 32872 32760 -3 32872 32873 32980 -3 32873 32981 32980 -3 32981 33087 32980 -3 33087 33086 32980 -3 33087 33192 33086 -3 33192 33191 33086 -3 33297 33406 33296 -3 33192 33297 33296 -3 34954 35083 34953 -3 33519 33518 33405 -3 30987 31048 30986 -3 31117 31180 31179 -3 35070 35069 34940 -3 31198 31199 31262 -3 31179 31180 31243 -3 31065 31066 31127 -3 32144 32143 32046 -3 31191 31255 31254 -3 31316 31315 31250 -3 31251 31316 31250 -3 31522 31521 31449 -3 31383 31382 31315 -3 31316 31383 31315 -3 31450 31522 31449 -3 31450 31449 31382 -3 31383 31450 31382 -3 31609 31608 31521 -3 31522 31609 31521 -3 31704 31703 31608 -3 31609 31704 31608 -3 31704 31804 31703 -3 31804 31803 31703 -3 31804 31910 31803 -3 31910 31909 31803 -3 31066 31065 31004 -3 32011 32010 31909 -3 32635 32749 32634 -3 30947 30946 30892 -3 32635 32634 32525 -3 32861 32860 32748 -3 32526 32635 32525 -3 32749 32748 32634 -3 32749 32861 32748 -3 32969 32968 32860 -3 32861 32969 32860 -3 33075 33074 32968 -3 31516 31603 31515 -3 32969 33075 32968 -3 34967 34968 35096 -3 35070 35071 35199 -3 31929 31928 31830 -3 3756 5331 34473 -3 33334 33443 33333 -3 33300 33409 33299 -3 33556 33555 33442 -3 33443 33556 33442 -3 33522 33641 33521 -3 33554 33553 33440 -3 34308 34446 34307 -3 33166 33271 33165 -3 17333 33357 17334 -3 33553 806 33552 -3 33948 29677 12657 -3 34060 33948 12657 -3 29677 35168 7110 -3 12657 29677 7110 -3 35168 34745 34616 -3 7110 35168 34616 -3 34745 33688 33568 -3 34616 34745 33568 -3 33688 33348 33946 -3 33568 33688 33946 -3 33348 31019 35001 -3 33946 33348 35001 -3 31019 35166 35037 -3 35001 31019 35037 -3 35166 33969 35266 -3 35037 35166 35266 -3 33969 18610 32917 -3 35266 33969 32917 -3 33816 33456 32917 -3 18610 33816 32917 -3 35113 34482 33456 -3 33816 35113 33456 -3 28993 35441 35369 -3 32052 33671 21939 -3 32052 21938 27757 -3 4503 10809 6514 -3 33887 34022 33886 -3 31063 31064 31125 -3 33619 33746 33618 -3 34158 34157 34021 -3 34583 34582 34445 -3 33615 33614 33495 -3 32990 33096 32989 -3 34446 34583 34445 -3 32882 32990 32881 -3 33201 33200 33095 -3 34940 35069 35068 -3 32795 32794 32673 -3 31629 31628 31541 -3 35093 35094 35222 -3 18424 17850 19116 -3 32867 32975 32974 -3 32866 32867 32974 -3 32561 32674 32560 -3 34302 34301 34163 -3 34968 34967 34838 -3 31636 31635 31548 -3 32791 32903 32790 -3 34839 34968 34838 -3 33222 33327 33326 -3 33274 33383 33273 -3 33222 33221 33116 -3 33117 33222 33116 -3 33011 33117 33010 -3 32349 32453 32348 -3 32984 33090 33089 -3 31472 31471 31404 -3 33628 33627 33508 -3 34024 34023 33888 -3 35083 35212 35082 -3 31321 31320 31255 -3 33507 33626 33506 -3 31256 31321 31255 -3 31514 31601 31513 -3 32192 32293 32191 -3 31054 31053 30992 -3 30993 31054 30992 -3 30881 30935 30880 -3 30993 30992 30934 -3 30927 30985 30926 -3 30935 30993 30934 -3 34469 18128 34728 -3 619 23272 15075 -3 31382 31449 31381 -3 31521 31520 31448 -3 31315 31382 31314 -3 31449 31521 31448 -3 31249 31250 31314 -3 31449 31448 31381 -3 31185 31186 31249 -3 31382 31381 31314 -3 31122 31123 31185 -3 31250 31315 31314 -3 31123 31186 31185 -3 31186 31250 31249 -3 31061 31123 31122 -3 31060 31061 31122 -3 31910 32011 31909 -3 31180 31244 31243 -3 30893 30947 30892 -3 32111 32110 32010 -3 32790 32902 32789 -3 31005 31004 30946 -3 32669 32790 32668 -3 33010 33009 32901 -3 32790 32789 32668 -3 32902 32901 32789 -3 35078 35207 35077 -3 33903 34038 33902 -3 34571 34570 34433 -3 32740 32739 32625 -3 7040 6941 6942 -3 34434 34571 34433 -3 11524 33340 11461 -3 31321 31388 31320 -3 32795 32907 32794 -3 32559 32558 32451 -3 34164 34302 34163 -3 34835 34964 34834 -3 32122 32123 32222 -3 32640 32641 32754 -3 32216 32215 32115 -3 32907 32906 32794 -3 32671 32792 32670 -3 22236 17467 17388 -3 32559 32672 32558 -3 11923 34742 29677 -3 33948 11923 29677 -3 34742 12843 35168 -3 29677 34742 35168 -3 12843 3461 34745 -3 35168 12843 34745 -3 3461 33565 33688 -3 34745 3461 33688 -3 33565 33460 33348 -3 33688 33565 33348 -3 33460 31340 31019 -3 33348 33460 31019 -3 31340 35296 35166 -3 31019 31340 35166 -3 35296 35196 33969 -3 35166 35296 33969 -3 35196 12453 18610 -3 33969 35196 18610 -3 34363 33816 18610 -3 12453 34363 18610 -3 29419 35113 33816 -3 34363 29419 33816 -3 21938 32052 21939 -3 29419 34212 35113 -3 24725 26682 24651 -3 32300 32403 32299 -3 31253 31318 31252 -3 32963 33069 32962 -3 34022 34158 34021 -3 33498 33497 33384 -3 33615 33742 33614 -3 34296 34295 34157 -3 34839 34838 34710 -3 33496 33495 33382 -3 34711 34710 34582 -3 34711 34839 34710 -3 32674 32795 32673 -3 34583 34711 34582 -3 34294 34432 34293 -3 32010 32110 32009 -3 12734 23274 13394 -3 35220 35219 35090 -3 28349 21934 10263 -3 611 17918 18011 -3 33385 33384 33275 -3 33402 33401 33292 -3 32515 32514 32409 -3 32986 33092 32985 -3 33902 34037 33901 -3 31724 31725 31824 -3 22022 22023 35136 -3 33180 33179 33074 -3 33075 33180 33074 -3 3095 3096 3235 -3 33285 33284 33179 -3 33180 33285 33179 -3 7019 7018 6920 -3 33285 33394 33284 -3 33394 33393 33284 -3 33394 33507 33393 -3 33507 33506 33393 -3 33753 33752 33625 -3 33626 33625 33506 -3 31385 31384 31317 -3 33626 33753 33625 -3 32855 32854 32742 -3 33220 33221 33325 -3 32226 32327 32225 -3 32735 32734 32620 -3 18134 19523 19487 -3 31902 31901 31795 -3 7405 35115 35000 -3 35000 35115 22419 -3 33923 22519 22421 -3 17455 17456 17543 -3 32610 32609 32500 -3 13776 12459 14379 -3 7684 28341 34061 -3 31530 31529 31457 -3 32673 32794 32672 -3 32631 32745 32630 -3 31199 31263 31262 -3 31313 31380 31312 -3 31132 31195 31194 -3 31327 31328 31394 -3 34146 34284 34145 -3 31726 31725 31630 -3 30935 30934 30880 -3 32908 33016 32907 -3 31374 31373 31306 -3 31054 31116 31115 -3 32312 32311 32210 -3 32971 33077 32970 -3 32011 32111 32010 -3 32211 32312 32210 -3 32211 32210 32110 -3 32111 32211 32110 -3 32415 32414 32311 -3 32312 32415 32311 -3 32520 32519 32414 -3 32415 32520 32414 -3 32309 32308 32207 -3 32629 32628 32519 -3 34699 34698 34570 -3 32737 32736 32622 -3 31388 31387 31320 -3 34571 34699 34570 -3 32452 32559 32451 -3 34160 34159 34023 -3 32792 32791 32670 -3 32672 32671 32558 -3 32226 32225 32125 -3 32674 32673 32560 -3 33276 33385 33275 -3 32875 32983 32874 -3 32558 32671 32557 -3 32789 32901 32788 -3 22420 22517 22419 -3 7405 22320 22321 -3 34742 11923 20893 -3 35112 19014 34212 -3 33578 35133 12843 -3 34742 33578 12843 -3 35133 28235 3461 -3 12843 35133 3461 -3 28235 33569 33565 -3 3461 28235 33565 -3 33569 35120 33460 -3 33565 33569 33460 -3 35120 35114 31340 -3 33460 35120 31340 -3 35114 34468 35296 -3 31340 35114 35296 -3 34468 34334 35196 -3 35296 34468 35196 -3 34334 29295 12453 -3 35196 34334 12453 -3 25135 34363 12453 -3 29295 25135 12453 -3 34245 29419 34363 -3 25135 34245 34363 -3 35112 34212 29419 -3 34245 35112 29419 -3 19480 2550 33927 -3 18798 19856 19014 -3 33174 33173 33068 -3 33920 11429 34055 -3 31064 31126 31125 -3 33069 33174 33068 -3 34158 34296 34157 -3 34174 34312 34173 -3 33383 33496 33382 -3 34434 34433 34295 -3 35218 35217 35088 -3 35089 35218 35088 -3 32793 32792 32671 -3 33270 33379 33269 -3 32510 32619 32509 -3 32512 32511 32406 -3 32126 32226 32125 -3 33441 33440 33331 -3 31724 31723 31628 -3 33227 33332 33226 -3 33332 33441 33331 -3 31724 31824 31823 -3 31723 31724 31823 -3 33178 33283 33177 -3 33752 33751 33624 -3 31375 31442 31374 -3 31696 31796 31695 -3 35347 27871 35346 -3 14284 2008 13677 -3 28012 30607 22434 -3 27726 28012 28949 -3 31933 32030 32029 -3 19167 18055 18519 -3 29281 28104 6848 -3 14515 22246 21308 -3 34038 34037 33902 -3 31265 31330 31329 -3 31623 31622 31535 -3 35115 7405 22322 -3 31318 31385 31317 -3 35345 28104 35344 -3 32743 32855 32742 -3 34312 34311 34173 -3 34142 34280 34141 -3 32963 32962 32854 -3 35336 35335 35206 -3 33016 33015 32907 -3 35115 22322 35116 -3 32213 32314 32212 -3 18390 19310 17652 -3 18390 18814 35324 -3 32447 32446 32342 -3 32343 32447 32342 -3 33704 12371 33923 -3 21763 15282 24063 -3 1646 16189 3205 -3 1646 16046 16189 -3 16046 1646 16045 -3 34064 33956 18898 -3 32106 32105 32005 -3 32206 32205 32105 -3 32006 32005 31904 -3 32006 32106 32005 -3 31905 31904 31798 -3 31905 32006 31904 -3 31309 31376 31308 -3 31799 31905 31798 -3 31243 31308 31242 -3 31799 31798 31698 -3 31061 31060 30999 -3 30937 30936 30882 -3 31000 30999 30941 -3 31000 31061 30999 -3 30942 30941 30887 -3 30942 31000 30941 -3 26799 13966 35219 -3 30888 30942 30887 -3 31796 31795 31695 -3 32649 32763 32648 -3 33174 33279 33173 -3 33168 33167 33062 -3 32849 32957 32848 -3 33388 33387 33278 -3 34956 34955 34826 -3 31447 31519 31446 -3 33628 33755 33627 -3 34827 34956 34826 -3 34449 34448 34310 -3 32534 32643 32642 -3 34939 34940 35068 -3 34311 34449 34310 -3 32350 32454 32349 -3 32733 32732 32618 -3 32561 32560 32453 -3 32454 32561 32453 -3 17461 17460 17383 -3 6915 6848 6916 -3 33956 35232 33578 -3 18898 33956 20893 -3 35232 13599 35133 -3 33578 35232 35133 -3 13599 33574 28235 -3 35133 13599 28235 -3 33574 33689 33569 -3 28235 33574 33569 -3 33689 34985 35120 -3 33569 33689 35120 -3 34985 33584 35114 -3 35120 34985 35114 -3 33584 11788 34468 -3 35114 33584 34468 -3 11788 34068 34334 -3 34468 11788 34334 -3 34068 27051 29295 -3 34334 34068 29295 -3 27051 34208 25135 -3 29295 27051 25135 -3 19460 34245 25135 -3 34208 19460 25135 -3 8309 35112 34245 -3 19460 8309 34245 -3 19014 19171 18897 -3 32046 32143 32045 -3 17534 19411 19821 -3 35672 35660 35750 -3 33279 33278 33173 -3 34428 34565 34427 -3 32669 32668 32555 -3 32556 32669 32555 -3 34296 34434 34295 -3 31466 31465 31398 -3 34831 34960 34830 -3 35089 35088 34959 -3 32962 32961 32853 -3 35332 35331 35202 -3 31001 31000 30942 -3 33178 33177 33072 -3 35138 21929 35139 -3 32978 33084 32977 -3 32430 32429 32326 -3 3029 15678 6016 -3 31809 31808 31708 -3 31648 31647 31560 -3 13223 27028 35330 -3 31374 31441 31373 -3 31561 31648 31560 -3 35074 35203 35073 -3 33752 33886 33751 -3 35347 35346 35217 -3 32854 32962 32853 -3 21463 28012 22434 -3 27987 27871 11804 -3 30882 30936 30881 -3 32113 32112 32012 -3 7519 7520 7634 -3 22026 22121 22025 -3 22025 35267 22026 -3 35138 35267 22025 -3 29553 35848 6652 -3 22324 33704 35116 -3 32743 32742 32628 -3 32520 32629 32519 -3 32855 32963 32854 -3 32629 32743 32628 -3 30991 31052 30990 -3 33069 33068 32962 -3 32326 32325 32224 -3 32406 32405 32302 -3 34560 34559 34422 -3 32417 32416 32313 -3 31445 31444 31377 -3 31378 31445 31377 -3 10688 19544 18814 -3 35768 35452 35507 -3 35822 9113 35609 -3 17858 35104 5331 -3 6766 3219 15565 -3 6666 6766 15565 -3 17446 33970 34194 -3 12371 17446 34194 -3 19523 19522 19487 -3 33970 33237 34194 -3 32650 32649 32540 -3 19738 19114 17761 -3 33120 33225 33119 -3 32045 32044 31947 -3 31948 32045 31947 -3 32142 32141 32044 -3 32045 32142 32044 -3 31473 31545 31472 -3 31699 31799 31698 -3 33225 33224 33119 -3 33614 33741 33613 -3 31517 31604 31516 -3 31698 31697 31602 -3 33875 34010 33874 -3 34422 34421 34283 -3 34009 34008 33873 -3 31059 31058 30997 -3 30998 31059 30997 -3 28948 19482 13984 -3 13127 28948 13984 -3 33059 33164 33058 -3 34820 34949 34819 -3 33279 33388 33278 -3 32957 33063 32956 -3 31606 31605 31518 -3 33501 33500 33387 -3 35085 35084 34955 -3 34425 34562 34424 -3 32533 32534 32642 -3 34956 35085 34955 -3 34304 34303 34165 -3 33117 33116 33010 -3 34707 34835 34706 -3 33197 33196 33091 -3 34613 19114 18519 -3 31992 32092 31991 -3 17350 17349 35169 -3 7392 7281 681 -3 34064 33940 35232 -3 33956 34064 35232 -3 33940 34207 13599 -3 35232 33940 13599 -3 34207 33660 33574 -3 13599 34207 33574 -3 33660 33952 33689 -3 33574 33660 33689 -3 27377 34985 33689 -3 33952 27377 33689 -3 33682 33584 34985 -3 27377 33682 34985 -3 33682 33131 11788 -3 33584 33682 11788 -3 33131 26938 34068 -3 11788 33131 34068 -3 26938 12140 27051 -3 34068 26938 27051 -3 12140 33136 34208 -3 27051 12140 34208 -3 34741 19460 34208 -3 33136 34741 34208 -3 32252 8309 19460 -3 34741 32252 19460 -3 34361 16768 11385 -3 32252 17319 8309 -3 34723 7042 6942 -3 15652 1526 19112 -3 34290 34428 34289 -3 34565 34564 34427 -3 34715 34843 34714 -3 34587 34715 34586 -3 33410 33523 33409 -3 33301 33410 33300 -3 34703 34831 34702 -3 34960 35089 34959 -3 35201 35330 35329 -3 31181 31245 31244 -3 31608 31607 31520 -3 31703 31702 31607 -3 31743 31742 31647 -3 31648 31743 31647 -3 31843 31842 31742 -3 31743 31843 31742 -3 31941 31940 31842 -3 31843 31941 31842 -3 33071 33070 32964 -3 33281 33280 33175 -3 30898 30952 30897 -3 31441 31513 31440 -3 35218 35347 35217 -3 31056 31055 30994 -3 33127 7523 7522 -3 27871 27987 35346 -3 7018 7017 6920 -3 21835 35140 21929 -3 33523 33642 33522 -3 30994 30993 30935 -3 31364 31363 31296 -3 22027 22026 35267 -3 31685 31785 31684 -3 35138 35139 35267 -3 18494 19327 18898 -3 17342 34386 17275 -3 31267 31332 31266 -3 33737 33736 33609 -3 33515 33514 33401 -3 35076 35075 34946 -3 22133 22230 22229 -3 33301 33300 33195 -3 32105 32104 32004 -3 31725 31724 31629 -3 33278 33277 33172 -3 32016 32015 31914 -3 31119 31182 31181 -3 31118 31119 31181 -3 31695 31694 31599 -3 33622 33621 33502 -3 25540 5593 11922 -3 35105 35234 22229 -3 35234 35231 17446 -3 35138 21928 21929 -3 35231 33445 33970 -3 17446 35231 33970 -3 11718 34361 33811 -3 18595 17858 18174 -3 32736 32848 32735 -3 18055 11647 18519 -3 32848 32847 32735 -3 32956 32955 32847 -3 32736 32735 32621 -3 32622 32736 32621 -3 32622 32621 32512 -3 32513 32622 32512 -3 34569 34697 34568 -3 33740 33739 33612 -3 31699 31698 31603 -3 34954 34953 34824 -3 31445 31517 31444 -3 31604 31699 31603 -3 31517 31516 31444 -3 31604 31603 31516 -3 31057 31119 31118 -3 31056 31057 31118 -3 30996 30995 30937 -3 30938 30996 30937 -3 33083 33188 33082 -3 30884 30938 30883 -3 31601 31696 31600 -3 34147 34146 34010 -3 33388 33501 33387 -3 33273 33272 33167 -3 34425 34424 34286 -3 33620 33619 33500 -3 35214 35213 35084 -3 31015 31076 31014 -3 31338 31337 31272 -3 35085 35214 35084 -3 33011 33010 32902 -3 32560 32559 32452 -3 31891 31992 31890 -3 32903 33011 32902 -3 33817 34064 34613 -3 17319 18700 18798 -3 33817 34198 33940 -3 34064 33817 33940 -3 34198 34206 34207 -3 33940 34198 34207 -3 34206 33545 33660 -3 34207 34206 33660 -3 33545 34088 33952 -3 33660 33545 33952 -3 33240 27377 33952 -3 34088 33240 33952 -3 34740 33682 27377 -3 33240 34740 27377 -3 33132 33131 33682 -3 34740 33132 33682 -3 34726 26938 33131 -3 33132 34726 33131 -3 13582 12140 26938 -3 34726 13582 26938 -3 13582 33951 33136 -3 12140 13582 33136 -3 33951 33681 34741 -3 33136 33951 34741 -3 33681 1143 32252 -3 34741 33681 32252 -3 1143 17480 17319 -3 32252 1143 17319 -3 19743 19856 18798 -3 7022 7021 6923 -3 18798 18700 19743 -3 21835 35141 35140 -3 32556 32555 32448 -3 32449 32556 32448 -3 31706 31705 31610 -3 31452 31524 31451 -3 34960 34959 34830 -3 31332 31331 31266 -3 32738 32850 32737 -3 34831 34830 34702 -3 21463 22434 22236 -3 35072 35201 35071 -3 32038 32037 31940 -3 33009 33008 32900 -3 31941 32038 31940 -3 32135 32134 32037 -3 31179 31243 31242 -3 32038 32135 32037 -3 32235 32234 32134 -3 32135 32235 32134 -3 32110 32109 32009 -3 31806 31912 31805 -3 34162 34300 34161 -3 31443 31442 31375 -3 34438 34437 34299 -3 34300 34438 34299 -3 31718 31717 31622 -3 32985 33091 32984 -3 10831 8876 179 -3 11963 11385 16612 -3 34565 34693 34564 -3 34693 34692 34564 -3 33433 7281 33432 -3 10155 1167 25152 -3 32682 10155 25152 -3 35140 21932 35139 -3 35786 35690 35489 -3 3227 3228 3366 -3 32951 32950 32842 -3 31590 31589 31502 -3 35740 35847 35559 -3 31503 31590 31502 -3 31685 31684 31589 -3 17459 26966 19482 -3 31378 31377 31310 -3 31311 31378 31310 -3 31182 31246 31245 -3 31181 31182 31245 -3 31311 31310 31245 -3 31246 31311 31245 -3 33817 18519 11647 -3 33190 33189 33084 -3 3029 6016 67 -3 21743 35272 35271 -3 35105 34994 35231 -3 35234 35105 35231 -3 34994 34601 33445 -3 35231 34994 33445 -3 18061 17970 17971 -3 22030 21935 22031 -3 32104 32103 32003 -3 30213 34626 34065 -3 31797 31903 31796 -3 32004 32003 31902 -3 32004 32104 32003 -3 31903 32004 31902 -3 32204 32203 32103 -3 32104 32204 32103 -3 33613 33740 33612 -3 32305 32304 32203 -3 31070 31069 31008 -3 33613 33612 33493 -3 32346 32345 32243 -3 33622 33749 33621 -3 32125 32124 32024 -3 30951 31009 30950 -3 31057 31056 30995 -3 30996 31057 30995 -3 33115 33220 33114 -3 33220 33325 33324 -3 31058 31057 30996 -3 30939 30938 30884 -3 33115 33114 33008 -3 30997 31058 30996 -3 33063 33062 32956 -3 33009 33115 33008 -3 33501 33620 33500 -3 33063 33168 33062 -3 31138 31201 31137 -3 33747 33746 33619 -3 35343 27726 35342 -3 31188 31189 31252 -3 35343 35342 35213 -3 28012 21463 28949 -3 35214 35343 35213 -3 27726 28949 35342 -3 21648 21649 21741 -3 12459 18132 14379 -3 31852 34198 33817 -3 11647 31852 33817 -3 31852 29080 34206 -3 34198 31852 34206 -3 29080 32051 33545 -3 34206 29080 33545 -3 32051 33684 34088 -3 33545 32051 34088 -3 33684 33349 33240 -3 34088 33684 33240 -3 34090 34740 33240 -3 33349 34090 33240 -3 13313 33132 34740 -3 34090 13313 34740 -3 13313 32151 34726 -3 33132 13313 34726 -3 33563 13582 34726 -3 32151 33563 34726 -3 11885 33951 13582 -3 33563 11885 13582 -3 11885 34727 33681 -3 33951 11885 33681 -3 34727 32803 1143 -3 33681 34727 1143 -3 32803 11714 17480 -3 1143 32803 17480 -3 11714 35101 29403 -3 17480 11714 29403 -3 32504 32613 32503 -3 34989 12994 33949 -3 31201 31265 31264 -3 31200 31201 31264 -3 11433 11490 11432 -3 34312 34450 34311 -3 32985 32984 32876 -3 33873 34008 33872 -3 34575 34574 34437 -3 34438 34575 34437 -3 15074 5337 3752 -3 32958 32957 32849 -3 31113 31114 31176 -3 31324 31391 31323 -3 32337 32336 32234 -3 32235 32337 32234 -3 32441 32440 32336 -3 31051 31052 31113 -3 32337 32441 32336 -3 31599 31598 31511 -3 31521 31608 31520 -3 32548 32547 32440 -3 32441 32548 32440 -3 33164 33269 33163 -3 34815 34944 34814 -3 33378 33491 33377 -3 32311 32310 32209 -3 31053 31052 30991 -3 34026 34162 34025 -3 34300 34299 34161 -3 34754 21831 21736 -3 31623 31718 31622 -3 11548 15608 34734 -3 17911 34071 33789 -3 33168 33273 33167 -3 34950 34949 34820 -3 33807 22356 35246 -3 35249 21551 29265 -3 35141 35270 35269 -3 35140 35141 35269 -3 35270 12829 10263 -3 35269 35270 10263 -3 12829 26688 28349 -3 10263 12829 28349 -3 26688 29405 3223 -3 28349 26688 3223 -3 21551 35249 22134 -3 17428 17349 17350 -3 33817 34613 18519 -3 21938 22034 22033 -3 35105 22230 22231 -3 32682 8016 10155 -3 33085 33190 33084 -3 35105 22231 34994 -3 35205 35334 35204 -3 32409 32514 32408 -3 30599 25658 28070 -3 18118 14379 18132 -3 32199 32198 32098 -3 22426 22524 22425 -3 21552 34881 34601 -3 34994 21552 34601 -3 35909 35524 35671 -3 24711 24732 25921 -3 3235 3096 3236 -3 34085 22428 33925 -3 3223 21935 28349 -3 22526 9644 22527 -3 31105 31168 31167 -3 33339 12748 22135 -3 34734 15075 33576 -3 32428 32533 32532 -3 32204 32305 32203 -3 35660 35351 35750 -3 33494 33613 33493 -3 32408 32407 32304 -3 33381 33380 33271 -3 33272 33381 33271 -3 31058 31059 31120 -3 3223 29405 21938 -3 32668 32789 32667 -3 30938 30937 30883 -3 30885 30939 30884 -3 30997 30996 30938 -3 33273 33382 33272 -3 31184 31248 31247 -3 35205 35204 35075 -3 35078 35077 34948 -3 32417 32522 32416 -3 31519 31606 31518 -3 32878 32986 32877 -3 32048 32145 32047 -3 33620 33747 33619 -3 32206 32307 32205 -3 31912 31911 31805 -3 33881 33880 33746 -3 34848 4100 4366 -3 31611 31706 31610 -3 32765 32877 32764 -3 31126 31189 31188 -3 6252 21051 22749 -3 21223 33807 21137 -3 33935 31852 11647 -3 7640 7524 33022 -3 33935 7879 29080 -3 31852 33935 29080 -3 7879 34215 32051 -3 29080 7879 32051 -3 34215 33570 33684 -3 32051 34215 33684 -3 33570 35262 33349 -3 33684 33570 33349 -3 35262 32804 34090 -3 33349 35262 34090 -3 34604 13313 34090 -3 32804 34604 34090 -3 35322 32151 13313 -3 34604 35322 13313 -3 1876 33563 32151 -3 35322 1876 32151 -3 31081 11885 33563 -3 1876 31081 33563 -3 31081 33450 34727 -3 11885 31081 34727 -3 33450 34846 32803 -3 34727 33450 32803 -3 34846 32356 11714 -3 32803 34846 11714 -3 32356 35230 35101 -3 11714 32356 35101 -3 730 611 18011 -3 17404 17326 17327 -3 34152 34290 34151 -3 34290 34289 34151 -3 31632 31631 31544 -3 34428 34427 34289 -3 35200 35329 35199 -3 619 4952 33347 -3 34162 34161 34025 -3 31116 31117 31179 -3 32110 32210 32109 -3 33014 33120 33013 -3 33492 33611 33491 -3 31694 31693 31598 -3 32661 32660 32547 -3 32548 32661 32547 -3 32782 32781 32660 -3 32661 32782 32660 -3 34007 34006 33871 -3 33611 33610 33491 -3 33610 33737 33609 -3 33871 33870 33736 -3 32894 32893 32781 -3 32782 32894 32781 -3 31950 32047 31949 -3 31177 31178 31241 -3 32026 32126 32025 -3 32412 32411 32308 -3 33885 34020 33884 -3 31052 31114 31113 -3 21642 34500 34499 -3 3752 15075 15074 -3 34627 34755 34754 -3 35314 35185 6905 -3 6993 7096 6992 -3 21649 21650 35014 -3 33220 33219 33114 -3 33382 33381 33272 -3 34328 6953 6952 -3 17284 13221 17353 -3 31651 11459 31747 -3 33674 34972 22036 -3 35271 1638 12829 -3 35270 35271 12829 -3 1638 26567 26688 -3 12829 1638 26688 -3 26567 27757 29405 -3 26688 26567 29405 -3 29356 28888 29494 -3 16987 3070 17120 -3 32052 33674 33671 -3 16987 17120 15231 -3 33671 33674 22036 -3 34972 21551 22036 -3 6666 15565 936 -3 3845 4233 4366 -3 33494 33493 33380 -3 179 8128 10831 -3 22231 12748 21552 -3 33381 33494 33380 -3 12748 13319 21552 -3 13311 19526 10380 -3 13319 33353 34881 -3 21552 13319 34881 -3 13681 33925 34881 -3 33353 13681 34881 -3 22428 34085 9644 -3 13681 34085 33925 -3 34085 34875 9644 -3 17527 17851 8687 -3 9744 7348 15956 -3 15956 16399 9744 -3 34599 34219 33796 -3 9744 16399 9891 -3 15075 23272 33459 -3 33156 33261 33260 -3 32305 32408 32304 -3 32513 32512 32407 -3 33272 33271 33166 -3 33167 33272 33166 -3 35202 35331 35330 -3 31458 31457 31390 -3 32555 32668 32554 -3 32789 32788 32667 -3 30939 30997 30938 -3 31058 31120 31119 -3 30940 30998 30939 -3 35076 35205 35075 -3 35337 35336 35207 -3 35208 35337 35207 -3 35381 35824 35724 -3 12562 12472 35336 -3 32976 32977 33082 -3 12665 19520 13575 -3 34698 34697 34569 -3 35221 35222 11704 -3 34152 34151 34015 -3 32953 33059 32952 -3 33747 33881 33746 -3 34016 34152 34015 -3 34016 34015 33880 -3 33881 34016 33880 -3 18390 18699 18814 -3 19522 35230 17363 -3 17301 33935 34487 -3 26390 26349 26351 -3 17301 33933 7879 -3 33935 17301 7879 -3 33933 34353 34215 -3 7879 33933 34215 -3 34353 33953 33570 -3 34215 34353 33570 -3 33953 34614 35262 -3 33570 33953 35262 -3 33027 32804 35262 -3 34614 33027 35262 -3 35319 34604 32804 -3 33027 35319 32804 -3 35225 35322 34604 -3 35319 35225 34604 -3 28999 1876 35322 -3 35225 28999 35322 -3 28999 34351 31081 -3 1876 28999 31081 -3 34351 35194 33450 -3 31081 34351 33450 -3 35194 34356 34846 -3 33450 35194 34846 -3 34356 34522 32356 -3 34846 34356 32356 -3 34522 17363 35230 -3 32356 34522 35230 -3 35495 35920 35675 -3 6974 116 115 -3 33740 33874 33739 -3 33495 33494 33381 -3 33271 33270 33165 -3 33739 33873 33738 -3 31059 31121 31120 -3 32451 32450 32346 -3 33891 34026 33890 -3 31055 31117 31116 -3 32303 32302 32201 -3 32525 32524 32419 -3 34008 34144 34007 -3 31194 31195 31258 -3 33002 33001 32893 -3 32894 33002 32893 -3 33108 33107 33001 -3 33002 33108 33001 -3 33213 33212 33107 -3 33108 33213 33107 -3 34555 34683 34554 -3 31603 31698 31602 -3 33318 33317 33212 -3 34144 34143 34007 -3 33213 33318 33212 -3 33492 33491 33378 -3 16773 20009 12572 -3 33155 33156 33260 -3 32119 32219 32218 -3 31907 32008 31906 -3 34500 34628 34627 -3 34499 34500 34627 -3 34628 34756 34755 -3 34627 34628 34755 -3 6953 34328 6886 -3 32352 11577 32456 -3 22417 22320 7405 -3 8693 8801 2074 -3 17452 35197 35198 -3 31442 31514 31441 -3 21743 35144 35272 -3 21935 3223 22031 -3 35272 14092 1638 -3 35271 35272 1638 -3 14092 20828 26567 -3 1638 14092 26567 -3 20828 29147 27757 -3 26567 20828 27757 -3 29147 32053 32052 -3 27757 29147 32052 -3 32053 33675 33674 -3 32052 32053 33674 -3 33675 34973 34972 -3 33674 33675 34972 -3 34973 29265 21551 -3 34972 34973 21551 -3 34601 22426 33445 -3 19632 29403 19523 -3 35522 25126 24994 -3 28882 28363 29131 -3 33339 34205 13319 -3 12748 33339 13319 -3 34205 34869 33353 -3 13319 34205 33353 -3 35240 13681 33353 -3 34869 35240 33353 -3 20008 34085 13681 -3 35240 20008 13681 -3 20008 33024 34875 -3 34085 20008 34875 -3 33024 34600 34599 -3 34875 33024 34599 -3 30488 12687 21643 -3 34599 34600 34219 -3 18422 3341 22459 -3 923 804 805 -3 32408 32513 32407 -3 31308 31307 31242 -3 33167 33166 33061 -3 33062 33167 33061 -3 32955 33061 32954 -3 34687 34815 34686 -3 32558 32557 32450 -3 32668 32667 32554 -3 31057 31058 31119 -3 31120 31183 31182 -3 32852 32851 32739 -3 32113 32213 32112 -3 35337 12562 35336 -3 12665 13575 12472 -3 35211 35340 35210 -3 19572 34495 35339 -3 34953 35082 34952 -3 35211 35210 35081 -3 34568 34696 34567 -3 34953 34952 34823 -3 34431 34568 34430 -3 34696 34695 34567 -3 34293 34431 34292 -3 34568 34567 34430 -3 34155 34293 34154 -3 34431 34430 34292 -3 22135 35249 33339 -3 6942 34722 34723 -3 35324 29219 19310 -3 19310 17301 34487 -3 29219 34856 33933 -3 17301 29219 33933 -3 34490 34353 33933 -3 34856 34490 33933 -3 34089 33953 34353 -3 34490 34089 34353 -3 19701 34614 33953 -3 34089 19701 33953 -3 13301 33027 34614 -3 19701 13301 34614 -3 13301 17258 35319 -3 33027 13301 35319 -3 35127 35225 35319 -3 17258 35127 35319 -3 34472 28999 35225 -3 35127 34472 35225 -3 34472 31954 34351 -3 28999 34472 34351 -3 31954 34246 35194 -3 34351 31954 35194 -3 34246 10380 34356 -3 35194 34246 34356 -3 28114 25646 28230 -3 34356 10380 34522 -3 35441 35738 35549 -3 6922 6923 7021 -3 34950 35079 34949 -3 21641 21549 34365 -3 34821 34950 34820 -3 35079 35078 34949 -3 34008 34007 33872 -3 31915 32016 31914 -3 34422 34559 34421 -3 31900 32001 31899 -3 34026 34025 33890 -3 31054 31055 31116 -3 32634 32633 32524 -3 35222 35221 35092 -3 34719 34718 34590 -3 33876 34011 33875 -3 33427 33426 33317 -3 33318 33427 33317 -3 33540 33539 33426 -3 33427 33540 33426 -3 33659 33658 33539 -3 33540 33659 33539 -3 34454 34591 34453 -3 33786 33785 33658 -3 33659 33786 33658 -3 33920 33919 33785 -3 34316 34454 34315 -3 34591 34590 34453 -3 31950 11455 11519 -3 10027 10454 16257 -3 34501 34629 34628 -3 34500 34501 34628 -3 34629 34757 34756 -3 34628 34629 34756 -3 31104 31105 31167 -3 35246 22356 29828 -3 30982 30981 30923 -3 21743 21742 35014 -3 17403 17325 17326 -3 12687 15339 2750 -3 35144 35273 35272 -3 21650 21743 35014 -3 35273 27171 14092 -3 35272 35273 14092 -3 27171 30747 20828 -3 14092 27171 20828 -3 30747 12824 29147 -3 20828 30747 29147 -3 12824 32054 32053 -3 29147 12824 32053 -3 32054 33676 33675 -3 32053 32054 33675 -3 33676 34974 34973 -3 33675 33676 34973 -3 34974 27611 29265 -3 34973 34974 29265 -3 35256 35249 29265 -3 27611 35256 29265 -3 35256 35228 33339 -3 35249 35256 33339 -3 35228 34991 34205 -3 33339 35228 34205 -3 34991 12840 34869 -3 34205 34991 34869 -3 33938 35240 34869 -3 12840 33938 34869 -3 33803 20008 35240 -3 33938 33803 35240 -3 33803 35118 33024 -3 20008 33803 33024 -3 35118 35239 34600 -3 33024 35118 34600 -3 12687 2750 21643 -3 35239 34478 34600 -3 11422 11421 31143 -3 18194 18374 19422 -3 33393 33392 33283 -3 33261 33370 33260 -3 33062 33061 32955 -3 32956 33062 32955 -3 32344 32343 32241 -3 27555 12268 12185 -3 34147 34285 34146 -3 31471 31543 31470 -3 31119 31120 31182 -3 31183 31247 31246 -3 31806 31805 31705 -3 33010 33116 33009 -3 12562 12665 12472 -3 31900 31899 31793 -3 35082 35211 35081 -3 35340 35339 35210 -3 33221 33220 33115 -3 32046 32045 31948 -3 33066 33171 33065 -3 31694 31794 31693 -3 32108 32208 32107 -3 32005 32105 32004 -3 33617 33616 33497 -3 33385 33498 33384 -3 12383 12472 391 -3 35207 35336 35206 -3 7523 33127 7524 -3 11392 35229 9796 -3 34226 29219 35324 -3 34244 34243 21198 -3 12632 34856 29219 -3 34226 12632 29219 -3 12632 34618 34490 -3 34856 12632 34490 -3 33683 34089 34490 -3 34618 33683 34490 -3 33350 19701 34089 -3 33683 33350 34089 -3 6978 13301 19701 -3 33350 6978 19701 -3 33449 17258 13301 -3 6978 33449 13301 -3 34332 35127 17258 -3 33449 34332 17258 -3 5558 34472 35127 -3 34332 5558 35127 -3 5558 28609 31954 -3 34472 5558 31954 -3 28609 31339 34246 -3 31954 28609 34246 -3 31339 34493 10380 -3 34246 31339 10380 -3 18376 17363 19526 -3 34493 13311 10380 -3 11518 11517 32049 -3 8862 670 4648 -3 35208 35207 35078 -3 35079 35208 35078 -3 35340 19572 35339 -3 28591 28871 34495 -3 31406 31405 31338 -3 19572 28591 34495 -3 34815 34814 34686 -3 7524 7640 7639 -3 33891 33890 33756 -3 31055 31054 30993 -3 34156 34155 34019 -3 32018 32019 32118 -3 34178 34316 34177 -3 34591 34719 34590 -3 33786 33920 33785 -3 34055 34054 33919 -3 33920 34055 33919 -3 34316 34315 34177 -3 34191 34190 34054 -3 34055 34191 34054 -3 34366 34365 21549 -3 34190 34191 34328 -3 31248 31313 31312 -3 35131 34203 3089 -3 34042 34178 34041 -3 34365 34502 34501 -3 2412 6884 2411 -3 34502 34630 34629 -3 34501 34502 34629 -3 34630 34758 34757 -3 34629 34630 34757 -3 1891 10027 9909 -3 9909 10027 16257 -3 7041 7040 6942 -3 34887 35016 21650 -3 35016 35145 35144 -3 12964 34341 3927 -3 35145 35274 35273 -3 35144 35145 35273 -3 35274 12028 27171 -3 35273 35274 27171 -3 12028 28857 30747 -3 27171 12028 30747 -3 28857 13033 12824 -3 30747 28857 12824 -3 13033 32250 32054 -3 12824 13033 32054 -3 32250 33679 33676 -3 32054 32250 33676 -3 33679 34983 34974 -3 33676 33679 34974 -3 34983 34209 27611 -3 34974 34983 27611 -3 34209 35297 35256 -3 27611 34209 35256 -3 35297 27147 35228 -3 35256 35297 35228 -3 27147 28074 34991 -3 35228 27147 34991 -3 28074 13388 12840 -3 34991 28074 12840 -3 34223 33938 12840 -3 13388 34223 12840 -3 34496 33803 33938 -3 34223 34496 33938 -3 34496 24728 35118 -3 33803 34496 35118 -3 24728 34086 35239 -3 35118 24728 35239 -3 34744 34478 35239 -3 34086 34744 35239 -3 18194 17945 18374 -3 34744 34337 34478 -3 22620 22520 22521 -3 17273 33974 33975 -3 32848 32956 32847 -3 28581 28582 28711 -3 33614 33613 33494 -3 32407 32512 32406 -3 33066 33065 32959 -3 31798 31797 31697 -3 31182 31183 31246 -3 31312 31311 31246 -3 31332 31399 31331 -3 32971 32970 32862 -3 17458 26966 17459 -3 32215 32316 32214 -3 34824 34953 34823 -3 35082 35081 34952 -3 33878 34013 33877 -3 34149 34148 34012 -3 33511 33510 33397 -3 33398 33511 33397 -3 33289 33288 33183 -3 33184 33289 33183 -3 33184 33183 33078 -3 33079 33184 33078 -3 32865 32973 32864 -3 33079 33078 32972 -3 35216 35345 35215 -3 32973 33079 32972 -3 17695 34226 35324 -3 33434 33547 682 -3 35129 12632 34226 -3 33465 35129 34226 -3 35129 19027 34618 -3 12632 35129 34618 -3 33571 33683 34618 -3 19027 33571 34618 -3 33462 33350 33683 -3 33571 33462 33683 -3 33585 6978 33350 -3 33462 33585 33350 -3 11948 33449 6978 -3 33585 11948 6978 -3 27264 34332 33449 -3 11948 27264 33449 -3 11968 5558 34332 -3 27264 11968 34332 -3 11968 34108 28609 -3 5558 11968 28609 -3 34624 31339 28609 -3 34108 34624 28609 -3 10577 34493 31339 -3 34624 10577 31339 -3 33804 13311 34493 -3 10577 33804 34493 -3 35223 35224 6926 -3 3731 273 3862 -3 33750 33884 33749 -3 34019 34018 33883 -3 34155 34154 34018 -3 33884 34019 33883 -3 34572 34573 34700 -3 31536 31623 31535 -3 33390 33389 33280 -3 35345 35344 35215 -3 33630 33757 33629 -3 33757 33891 33756 -3 33641 33768 33640 -3 34835 34834 34706 -3 34178 34177 34041 -3 34454 34453 34315 -3 29270 30755 17294 -3 34459 34460 34596 -3 6940 7039 209 -3 32645 32759 32758 -3 32644 32645 32758 -3 33907 34042 33906 -3 32758 32759 32870 -3 32759 32871 32870 -3 11431 11432 11489 -3 35568 35556 29828 -3 11434 11491 11433 -3 35903 35578 35407 -3 34366 34503 34502 -3 34365 34366 34502 -3 34503 34631 34630 -3 34502 34503 34630 -3 34631 34759 34758 -3 34630 34631 34758 -3 34759 34888 34887 -3 34758 34759 34887 -3 34888 35017 35016 -3 34887 34888 35016 -3 35017 35146 35145 -3 35016 35017 35145 -3 35146 35275 35274 -3 35145 35146 35274 -3 35275 8228 12028 -3 35274 35275 12028 -3 8228 28739 28857 -3 12028 8228 28857 -3 28739 33239 13033 -3 28857 28739 13033 -3 33239 32354 32250 -3 13033 33239 32250 -3 32354 33685 33679 -3 32250 32354 33679 -3 33685 34987 34983 -3 33679 33685 34983 -3 34987 31952 34209 -3 34983 34987 34209 -3 31952 34059 35297 -3 34209 31952 35297 -3 34059 24213 27147 -3 35297 34059 27147 -3 24213 34477 28074 -3 27147 24213 28074 -3 34477 30221 13388 -3 28074 34477 13388 -3 34498 34223 13388 -3 30221 34498 13388 -3 34852 34496 34223 -3 34498 34852 34223 -3 13591 24728 34496 -3 34852 13591 34496 -3 12212 34086 24728 -3 13591 12212 24728 -3 12370 34744 34086 -3 12212 12370 34086 -3 34083 34337 34744 -3 12370 34083 34744 -3 35801 35693 35647 -3 34083 32568 34337 -3 22522 34194 33237 -3 25838 25839 25980 -3 31329 31330 31396 -3 32242 32241 32141 -3 31524 31611 31523 -3 33387 33386 33277 -3 31247 31312 31246 -3 31379 31378 31311 -3 32327 32430 32326 -3 31443 31515 31442 -3 31698 31798 31697 -3 33195 33194 33089 -3 34019 34155 34018 -3 34293 34292 34154 -3 31701 31801 31700 -3 31798 31904 31797 -3 33398 33397 33288 -3 33289 33398 33288 -3 32905 33013 32904 -3 33119 33118 33012 -3 31143 31206 31142 -3 33013 33119 33012 -3 31206 31270 31205 -3 31270 31269 31205 -3 32973 32972 32864 -3 31335 31334 31269 -3 19048 19049 2143 -3 23238 28250 27644 -3 34976 35129 33465 -3 34340 34976 33465 -3 34976 13395 19027 -3 35129 34976 19027 -3 33819 33571 19027 -3 13395 33819 19027 -3 33562 33462 33571 -3 33819 33562 33571 -3 33706 33585 33462 -3 33562 33706 33462 -3 34622 11948 33585 -3 33706 34622 33585 -3 34988 27264 11948 -3 34622 34988 11948 -3 13289 11968 27264 -3 34988 13289 27264 -3 13289 19349 34108 -3 11968 13289 34108 -3 34725 34624 34108 -3 19349 34725 34108 -3 34211 10577 34624 -3 34725 34211 34624 -3 34615 33804 10577 -3 34211 34615 10577 -3 17324 17325 17402 -3 13314 13400 35424 -3 33884 33883 33749 -3 21939 22034 21938 -3 35087 35086 34957 -3 35216 35215 35086 -3 33642 33641 33522 -3 31611 31610 31523 -3 33630 33629 33510 -3 33511 33630 33510 -3 32793 32905 32792 -3 33757 33756 33629 -3 33646 33773 33772 -3 32672 32793 32671 -3 34460 34459 34321 -3 33645 33646 33772 -3 33516 33515 33402 -3 32996 33102 32995 -3 33271 33380 33270 -3 33761 33895 33760 -3 32975 33081 33080 -3 32754 32755 32866 -3 6940 34720 34721 -3 32023 32123 32122 -3 20441 20440 23812 -3 17459 19482 17460 -3 34229 34367 34366 -3 23812 20356 20441 -3 34367 34504 34503 -3 34366 34367 34503 -3 34504 34632 34631 -3 34503 34504 34631 -3 34632 34760 34759 -3 34631 34632 34759 -3 34760 34889 34888 -3 34759 34760 34888 -3 34889 35018 35017 -3 34888 34889 35017 -3 35018 35147 35146 -3 35017 35018 35146 -3 35147 35276 35275 -3 35146 35147 35275 -3 35276 26690 8228 -3 35275 35276 8228 -3 26690 14069 28739 -3 8228 26690 28739 -3 14069 13617 33239 -3 28739 14069 33239 -3 13617 32680 32354 -3 33239 13617 32354 -3 32680 33695 33685 -3 32354 32680 33685 -3 33695 34996 34987 -3 33685 33695 34987 -3 34996 31953 31952 -3 34987 34996 31952 -3 31953 27403 34059 -3 31952 31953 34059 -3 27403 2949 24213 -3 34059 27403 24213 -3 2949 33343 34477 -3 24213 2949 34477 -3 33343 34073 30221 -3 34477 33343 30221 -3 34339 34498 30221 -3 34073 34339 30221 -3 33693 34852 34498 -3 34339 33693 34498 -3 28615 13591 34852 -3 33693 28615 34852 -3 34344 12212 13591 -3 28615 34344 13591 -3 34872 12370 12212 -3 34344 34872 12212 -3 34858 34083 12370 -3 34872 34858 12370 -3 34335 32568 34083 -3 34858 34335 34083 -3 25837 25838 28343 -3 34335 34075 32568 -3 6414 6541 9326 -3 28113 28114 28230 -3 32314 32417 32313 -3 31391 31458 31390 -3 31312 31379 31311 -3 31446 31445 31378 -3 31399 31398 31331 -3 31140 31139 31077 -3 32347 32346 32244 -3 32307 32410 32306 -3 33750 33749 33622 -3 33623 33750 33622 -3 32960 33066 32959 -3 33325 33326 33434 -3 32753 32865 32864 -3 32752 32753 32864 -3 33224 33223 33118 -3 31143 31142 31080 -3 33527 33646 33645 -3 33526 33527 33645 -3 33305 33414 33304 -3 33414 33527 33526 -3 31270 31335 31269 -3 33413 33414 33526 -3 21066 24847 29944 -3 31402 31401 31334 -3 33587 34976 34340 -3 3933 3801 3802 -3 33587 34342 13395 -3 34976 33587 13395 -3 33954 33819 13395 -3 34342 33954 13395 -3 33560 33562 33819 -3 33954 33560 33819 -3 19557 33706 33562 -3 33560 19557 33562 -3 12478 34622 33706 -3 19557 12478 33706 -3 34753 34988 34622 -3 12478 34753 34622 -3 28075 13289 34988 -3 34753 28075 34988 -3 28075 3863 19349 -3 13289 28075 19349 -3 3863 33341 34725 -3 19349 3863 34725 -3 12917 34211 34725 -3 33341 12917 34725 -3 12917 35237 34615 -3 34211 12917 34615 -3 35389 35898 35527 -3 35769 35777 35849 -3 7518 33335 33336 -3 35894 35434 35860 -3 31818 31817 31717 -3 7874 9796 10900 -3 32530 32639 32638 -3 32529 32530 32638 -3 32638 32639 32752 -3 32639 32753 32752 -3 33902 33901 33767 -3 33013 33012 32904 -3 33414 33413 33304 -3 34042 34041 33906 -3 33523 33522 33409 -3 34686 34814 34685 -3 32022 32023 32122 -3 33199 33200 33304 -3 34322 34321 34183 -3 34569 34568 34431 -3 34047 34183 34046 -3 32407 32406 32303 -3 34184 34322 34183 -3 32099 32199 32098 -3 21650 35016 35144 -3 34092 34230 34229 -3 34091 34092 34229 -3 34230 34368 34367 -3 34229 34230 34367 -3 34368 34505 34504 -3 34367 34368 34504 -3 34505 34633 34632 -3 34504 34505 34632 -3 34633 34761 34760 -3 34632 34633 34760 -3 34761 34890 34889 -3 34760 34761 34889 -3 34890 35019 35018 -3 34889 34890 35018 -3 35019 35148 35147 -3 35018 35019 35147 -3 35148 35277 35276 -3 35147 35148 35276 -3 35277 12653 26690 -3 35276 35277 26690 -3 12653 13978 14069 -3 26690 12653 14069 -3 13978 10716 13617 -3 14069 13978 13617 -3 10716 33128 32680 -3 13617 10716 32680 -3 33128 33696 33695 -3 32680 33128 33695 -3 33696 34998 34996 -3 33695 33696 34996 -3 34998 34908 31953 -3 34996 34998 31953 -3 34908 22736 27403 -3 31953 34908 27403 -3 22736 34863 2949 -3 27403 22736 2949 -3 34863 34087 33343 -3 2949 34863 33343 -3 34087 33971 34073 -3 33343 34087 34073 -3 14071 34339 34073 -3 33971 14071 34073 -3 29949 33693 34339 -3 14071 29949 34339 -3 34750 28615 33693 -3 29949 34750 33693 -3 30775 34344 28615 -3 34750 30775 28615 -3 35243 34872 34344 -3 30775 35243 34344 -3 29284 34858 34872 -3 35243 29284 34872 -3 34731 34335 34858 -3 29284 34731 34858 -3 34074 34075 34335 -3 34731 34074 34335 -3 17851 28876 33129 -3 6283 6154 6155 -3 34949 34948 34819 -3 32857 32965 32856 -3 31379 31446 31378 -3 31518 31517 31445 -3 34011 34010 33875 -3 32410 32409 32306 -3 31128 31129 31191 -3 31129 31192 31191 -3 33623 33622 33503 -3 33504 33623 33503 -3 33435 33548 33547 -3 31718 31818 31717 -3 32220 32221 32321 -3 32322 32425 32424 -3 31206 31205 31142 -3 31335 31402 31334 -3 33095 33200 33094 -3 33200 33305 33304 -3 34459 34458 34320 -3 33517 33636 33516 -3 33200 33199 33094 -3 34184 34183 34047 -3 33095 33094 32988 -3 32989 33095 32988 -3 31899 31898 31792 -3 7129 7025 7026 -3 34065 34626 4233 -3 4233 34626 34848 -3 34078 33954 34342 -3 34216 34078 34342 -3 34202 33560 33954 -3 34078 34202 33954 -3 13703 19557 33560 -3 34202 13703 33560 -3 35261 12478 19557 -3 13703 35261 19557 -3 34056 34753 12478 -3 35261 34056 12478 -3 34986 28075 34753 -3 34056 34986 34753 -3 34986 12934 3863 -3 28075 34986 3863 -3 34779 33341 3863 -3 12934 34779 3863 -3 34779 34359 12917 -3 33341 34779 12917 -3 34359 34345 35237 -3 12917 34359 35237 -3 34626 30213 35237 -3 34345 34626 35237 -3 5756 14438 3731 -3 35731 12841 35878 -3 7172 33543 33430 -3 1152 5193 4526 -3 32321 32322 32424 -3 32425 32530 32529 -3 31469 31541 31468 -3 31628 31627 31540 -3 32769 32881 32768 -3 32905 32904 32792 -3 34581 34580 34443 -3 32989 32988 32880 -3 34168 34306 34167 -3 34048 34184 34047 -3 34709 34708 34580 -3 33912 34047 33911 -3 32881 32880 32768 -3 34444 34581 34443 -3 10477 10737 7684 -3 33380 33493 33379 -3 33957 34093 34092 -3 6934 34844 6935 -3 34093 34231 34230 -3 34092 34093 34230 -3 34231 34369 34368 -3 34230 34231 34368 -3 34369 34506 34505 -3 34368 34369 34505 -3 34506 34634 34633 -3 34505 34506 34633 -3 34634 34762 34761 -3 34633 34634 34761 -3 34762 34891 34890 -3 34761 34762 34890 -3 34891 35020 35019 -3 34890 34891 35019 -3 35020 35149 35148 -3 35019 35020 35148 -3 35149 35278 35277 -3 35148 35149 35277 -3 35278 12742 12653 -3 35277 35278 12653 -3 12742 13193 13978 -3 12653 12742 13978 -3 13193 13103 10716 -3 13978 13193 10716 -3 13103 33137 33128 -3 10716 13103 33128 -3 33137 33697 33696 -3 33128 33137 33696 -3 33697 34999 34998 -3 33696 33697 34998 -3 34999 35265 34908 -3 34998 34999 34908 -3 35265 5559 22736 -3 34908 35265 22736 -3 5559 13113 34863 -3 22736 5559 34863 -3 13113 33678 34087 -3 34863 13113 34087 -3 33678 19028 33971 -3 34087 33678 33971 -3 19028 12297 14071 -3 33971 19028 14071 -3 12738 29949 14071 -3 12297 12738 14071 -3 34070 34750 29949 -3 12738 34070 29949 -3 34385 30775 34750 -3 34070 34385 34750 -3 33344 35243 30775 -3 34385 33344 30775 -3 29218 29284 35243 -3 33344 29218 35243 -3 23489 34731 29284 -3 29218 23489 29284 -3 25143 28230 25282 -3 33347 4952 3538 -3 35859 35827 35901 -3 6931 6930 35098 -3 34690 34689 34561 -3 31309 31308 31243 -3 31446 31518 31445 -3 31605 31604 31517 -3 391 28948 13127 -3 12383 391 13127 -3 32737 32849 32736 -3 32208 32309 32207 -3 33504 33503 33390 -3 33391 33504 33390 -3 33196 33195 33090 -3 33196 33301 33195 -3 32120 32121 32220 -3 32221 32322 32321 -3 31469 31468 31401 -3 31723 31722 31627 -3 31729 31730 31829 -3 31830 31928 31829 -3 33699 28581 33700 -3 34216 6411 34354 -3 32678 32677 32564 -3 32565 32678 32564 -3 33913 34048 33912 -3 32921 17322 32807 -3 35881 35835 35366 -3 31043 31042 30981 -3 24063 20199 21763 -3 33454 34078 34216 -3 34354 33454 34216 -3 27405 34202 34078 -3 33454 27405 34078 -3 32569 13703 34202 -3 27405 32569 34202 -3 33792 35261 13703 -3 32569 33792 13703 -3 35226 34056 35261 -3 33792 35226 35261 -3 29268 34986 34056 -3 35226 29268 34056 -3 31208 12934 34986 -3 29268 31208 34986 -3 31750 34779 12934 -3 31208 31750 12934 -3 31750 29689 34359 -3 34779 31750 34359 -3 29689 34346 34345 -3 34359 29689 34345 -3 34346 309 34626 -3 34345 34346 34626 -3 12841 35532 22835 -3 35878 12841 22835 -3 29131 23416 30478 -3 17407 17406 33243 -3 32021 32121 32120 -3 32424 32425 32529 -3 31402 31469 31401 -3 31541 31628 31540 -3 31730 31830 31829 -3 32881 32989 32880 -3 32799 32798 32677 -3 32678 32799 32677 -3 32462 32571 32570 -3 35096 35097 6928 -3 32571 32685 32570 -3 8016 31853 9060 -3 32911 32910 32798 -3 32799 32911 32798 -3 31649 31648 31561 -3 31744 31743 31648 -3 19743 18700 29403 -3 33823 33958 33957 -3 17271 17335 33357 -3 33958 34094 34093 -3 33957 33958 34093 -3 34094 34232 34231 -3 34093 34094 34231 -3 34232 34370 34369 -3 34231 34232 34369 -3 34370 34507 34506 -3 34369 34370 34506 -3 34507 34635 34634 -3 34506 34507 34634 -3 34635 34763 34762 -3 34634 34635 34762 -3 34763 34892 34891 -3 34762 34763 34891 -3 34892 35021 35020 -3 34891 34892 35020 -3 35021 35150 35149 -3 35020 35021 35149 -3 35150 35279 35278 -3 35149 35150 35278 -3 35279 12924 12742 -3 35278 35279 12742 -3 12924 11705 13193 -3 12742 12924 13193 -3 11705 13197 13103 -3 13193 11705 13103 -3 33241 33137 13103 -3 13197 33241 13103 -3 33241 33703 33697 -3 33137 33241 33697 -3 33703 35004 34999 -3 33697 33703 34999 -3 35004 35328 35265 -3 34999 35004 35265 -3 35328 26687 5559 -3 35265 35328 5559 -3 26687 29809 13113 -3 5559 26687 13113 -3 29809 33924 33678 -3 13113 29809 33678 -3 33924 21644 19028 -3 33678 33924 19028 -3 21644 34602 12297 -3 19028 21644 12297 -3 18869 12738 12297 -3 34602 18869 12297 -3 34474 34070 12738 -3 18869 34474 12738 -3 13117 34385 34070 -3 34474 13117 34070 -3 34732 33344 34385 -3 13117 34732 34385 -3 12922 29218 33344 -3 34732 12922 33344 -3 34728 23489 29218 -3 12922 34728 29218 -3 5988 5857 16316 -3 35892 35905 35497 -3 30994 31055 30993 -3 21191 21278 21277 -3 31605 31700 31604 -3 33749 33748 33621 -3 31518 31605 31517 -3 31700 31699 31604 -3 6924 35222 35223 -3 6913 30607 7013 -3 32213 32212 32112 -3 34947 34946 34817 -3 33177 33176 33071 -3 33072 33177 33071 -3 32863 32971 32862 -3 32875 32874 32762 -3 32020 32021 32120 -3 32121 32221 32220 -3 31628 31723 31627 -3 31823 31822 31722 -3 31548 31635 31547 -3 31730 31729 31634 -3 31649 31744 31648 -3 31844 31843 31743 -3 31744 31844 31743 -3 31942 31941 31843 -3 31844 31942 31843 -3 32039 32038 31941 -3 17530 4378 17999 -3 15788 19112 1386 -3 33692 33454 34354 -3 4233 34848 4366 -3 34743 27405 33454 -3 33692 34743 33454 -3 17376 32569 27405 -3 34743 17376 27405 -3 33801 33792 32569 -3 17376 33801 32569 -3 14070 35226 33792 -3 33801 14070 33792 -3 13477 29268 35226 -3 14070 13477 35226 -3 34218 31208 29268 -3 13477 34218 29268 -3 33947 31750 31208 -3 34218 33947 31208 -3 33947 34481 29689 -3 31750 33947 29689 -3 34481 27029 34346 -3 29689 34481 34346 -3 27029 11789 309 -3 34346 27029 309 -3 7097 6993 7098 -3 309 11789 34848 -3 31813 31814 31919 -3 33243 33244 17330 -3 32648 32762 32647 -3 31920 32021 32020 -3 31548 31547 31475 -3 31541 31540 31468 -3 31942 32039 31941 -3 31476 31548 31475 -3 32136 32135 32038 -3 33030 33031 17325 -3 32154 32255 32254 -3 32153 32154 32254 -3 32255 32358 32357 -3 32254 32255 32357 -3 32358 32463 32462 -3 32357 32358 32462 -3 32463 32572 32571 -3 32462 32463 32571 -3 32572 32686 32685 -3 32571 32572 32685 -3 17325 17324 33030 -3 18460 20883 18365 -3 17273 17341 26967 -3 32039 32136 32038 -3 32236 32235 32135 -3 32136 32236 32135 -3 13112 5563 35604 -3 17964 18924 18246 -3 33824 33959 33958 -3 33823 33824 33958 -3 33959 34095 34094 -3 33958 33959 34094 -3 34095 34233 34232 -3 34094 34095 34232 -3 34233 34371 34370 -3 34232 34233 34370 -3 34371 34508 34507 -3 34370 34371 34507 -3 34508 34636 34635 -3 34507 34508 34635 -3 34636 34764 34763 -3 34635 34636 34763 -3 34764 34893 34892 -3 34763 34764 34892 -3 34893 35022 35021 -3 34892 34893 35021 -3 35022 35151 35150 -3 35021 35022 35150 -3 35151 35280 35279 -3 35150 35151 35279 -3 35280 13018 12924 -3 35279 35280 12924 -3 13018 29418 11705 -3 12924 13018 11705 -3 29418 2544 13197 -3 11705 29418 13197 -3 33661 33241 13197 -3 2544 33661 13197 -3 33661 33708 33703 -3 33241 33661 33703 -3 33708 35005 35004 -3 33703 33708 35004 -3 35005 19341 35328 -3 35004 35005 35328 -3 19341 19356 26687 -3 35328 19341 26687 -3 19356 11640 29809 -3 26687 19356 29809 -3 11640 33922 33924 -3 29809 11640 33924 -3 33922 34220 21644 -3 33924 33922 21644 -3 34220 33968 34602 -3 21644 34220 34602 -3 35248 18869 34602 -3 33968 35248 34602 -3 35195 34474 18869 -3 35248 35195 18869 -3 34883 13117 34474 -3 35195 34883 34474 -3 33815 34732 13117 -3 34883 33815 13117 -3 34469 12922 34732 -3 33815 34469 34732 -3 35270 35141 35271 -3 35271 21742 21743 -3 22118 22117 35136 -3 21641 21548 21549 -3 11433 33786 33659 -3 7032 6933 6934 -3 31800 31799 31699 -3 31700 31800 31699 -3 35335 35334 35205 -3 35206 35335 35205 -3 35335 12383 35334 -3 12383 13127 35334 -3 31912 32013 31911 -3 31010 31009 30951 -3 33282 33281 33176 -3 33177 33282 33176 -3 33419 33532 33531 -3 31008 31007 30949 -3 31325 31326 31392 -3 31393 31460 31459 -3 31723 31823 31722 -3 31392 31393 31459 -3 31635 31730 31634 -3 32539 32538 32433 -3 32338 32337 32235 -3 32454 32453 32349 -3 32236 32338 32235 -3 32442 32441 32337 -3 32338 32442 32337 -3 33293 33292 33187 -3 32248 32350 32247 -3 34971 6933 6932 -3 21971 33686 21501 -3 34217 34743 33692 -3 33820 34217 33692 -3 6655 17376 34743 -3 34217 6655 34743 -3 33235 33801 17376 -3 6655 33235 17376 -3 34607 14070 33801 -3 33235 34607 33801 -3 35315 13477 14070 -3 34607 35315 14070 -3 33950 34218 13477 -3 35315 33950 13477 -3 33236 33947 34218 -3 33950 33236 34218 -3 33236 33972 34481 -3 33947 33236 34481 -3 33972 13215 27029 -3 34481 33972 27029 -3 13215 13216 189 -3 27029 13215 11789 -3 7523 7524 7638 -3 31520 31519 31447 -3 31814 31920 31919 -3 31919 31920 32020 -3 32539 32648 32538 -3 32874 32873 32761 -3 13112 11800 11716 -3 31635 31634 31547 -3 32549 32548 32441 -3 32442 32549 32441 -3 17325 17403 17402 -3 32055 32155 32154 -3 3094 3233 3093 -3 32155 32256 32255 -3 32154 32155 32255 -3 32256 32359 32358 -3 32255 32256 32358 -3 32359 32464 32463 -3 32358 32359 32463 -3 32464 32573 32572 -3 32463 32464 32572 -3 32573 32687 32686 -3 32572 32573 32686 -3 32687 32807 32806 -3 32686 32687 32806 -3 32723 32724 32835 -3 32806 32807 32919 -3 32864 32972 32863 -3 114 34844 34845 -3 32662 32661 32548 -3 32549 32662 32548 -3 32783 32782 32661 -3 32662 32783 32661 -3 32895 32894 32782 -3 32783 32895 32782 -3 33825 28585 28584 -3 20883 18460 20963 -3 33825 33960 33959 -3 33824 33825 33959 -3 33960 34096 34095 -3 33959 33960 34095 -3 34096 34234 34233 -3 34095 34096 34233 -3 34234 34372 34371 -3 34233 34234 34371 -3 34372 34509 34508 -3 34371 34372 34508 -3 34509 34637 34636 -3 34508 34509 34636 -3 34637 34765 34764 -3 34636 34637 34764 -3 34765 34894 34893 -3 34764 34765 34893 -3 34894 35023 35022 -3 34893 34894 35022 -3 35023 35152 35151 -3 35022 35023 35151 -3 35152 35281 35280 -3 35151 35152 35280 -3 35281 13704 13018 -3 35280 35281 13018 -3 13704 19072 29418 -3 13018 13704 29418 -3 19072 12041 2544 -3 29418 19072 2544 -3 12041 33670 33661 -3 2544 12041 33661 -3 33670 33710 33708 -3 33661 33670 33708 -3 33710 35007 35005 -3 33708 33710 35005 -3 35007 31273 19341 -3 35005 35007 19341 -3 31273 27609 19356 -3 19341 31273 19356 -3 27609 13126 11640 -3 19356 27609 11640 -3 13126 34082 33922 -3 11640 13126 33922 -3 34082 34357 34220 -3 33922 34082 34220 -3 34357 33836 33968 -3 34220 34357 33968 -3 33352 35248 33968 -3 33836 33352 33968 -3 34865 35195 35248 -3 33352 34865 35248 -3 34882 34883 35195 -3 34865 34882 35195 -3 34067 33815 34883 -3 34882 34067 34883 -3 32681 34469 33815 -3 34067 32681 33815 -3 33176 33175 33070 -3 19482 28948 17383 -3 33026 9326 33025 -3 35334 13127 35333 -3 31906 31905 31799 -3 31800 31906 31799 -3 35077 35076 34947 -3 34948 35077 34947 -3 35077 35206 35076 -3 35206 35205 35076 -3 31247 31248 31312 -3 31380 31379 31312 -3 30891 30945 30890 -3 34947 35076 34946 -3 33391 33390 33281 -3 33282 33391 33281 -3 33408 33521 33407 -3 33640 33767 33639 -3 31460 31532 31531 -3 31459 31460 31531 -3 33520 33519 33406 -3 33407 33520 33406 -3 32648 32647 32538 -3 32762 32874 32761 -3 35330 27028 35329 -3 31726 31727 31826 -3 33003 33002 32894 -3 32895 33003 32894 -3 33109 33108 33002 -3 33003 33109 33002 -3 17324 17401 17323 -3 32142 32242 32141 -3 26424 32055 12129 -3 32352 11653 11577 -3 18934 34217 33820 -3 33026 18934 33820 -3 13293 6655 34217 -3 18934 13293 34217 -3 33793 33235 6655 -3 13293 33793 6655 -3 34603 34607 33235 -3 33793 34603 33235 -3 30342 35315 34607 -3 34603 30342 34607 -3 34475 33950 35315 -3 30342 34475 35315 -3 34619 33236 33950 -3 34475 34619 33950 -3 34619 32915 33972 -3 33236 34619 33972 -3 32915 13216 13215 -3 33972 32915 13215 -3 7636 7521 7522 -3 5551 34060 34851 -3 31714 31814 31813 -3 17360 13708 17292 -3 33088 33087 32981 -3 31713 31714 31813 -3 31406 31473 31405 -3 32762 32761 32647 -3 33214 33213 33108 -3 31055 31056 31117 -3 33109 33214 33108 -3 30535 30533 30400 -3 32056 32055 31955 -3 31956 32056 31955 -3 32156 32155 32055 -3 32056 32156 32055 -3 32257 32256 32155 -3 32156 32257 32155 -3 32360 32359 32256 -3 32257 32360 32256 -3 32465 32464 32359 -3 32360 32465 32359 -3 32574 32573 32464 -3 32465 32574 32464 -3 32688 32687 32573 -3 32574 32688 32573 -3 32688 32808 32807 -3 32687 32688 32807 -3 8687 33662 18703 -3 18703 33662 19895 -3 34074 19937 34075 -3 17457 17456 27028 -3 17454 17455 17542 -3 35197 17452 17451 -3 33319 33318 33213 -3 22494 22593 30202 -3 33214 33319 33213 -3 33428 33427 33318 -3 21736 21735 34499 -3 33319 33428 33318 -3 33698 33826 33825 -3 32675 32674 32561 -3 33826 33961 33960 -3 33825 33826 33960 -3 33961 34097 34096 -3 33960 33961 34096 -3 34097 34235 34234 -3 34096 34097 34234 -3 34235 34373 34372 -3 34234 34235 34372 -3 34373 34510 34509 -3 34372 34373 34509 -3 34510 34638 34637 -3 34509 34510 34637 -3 34638 34766 34765 -3 34637 34638 34765 -3 34766 34895 34894 -3 34765 34766 34894 -3 34895 35024 35023 -3 34894 34895 35023 -3 35024 35153 35152 -3 35023 35024 35152 -3 35153 35282 35281 -3 35152 35153 35281 -3 35282 13606 13704 -3 35281 35282 13704 -3 13606 69 19072 -3 13704 13606 19072 -3 69 11698 12041 -3 19072 69 12041 -3 11698 33939 33670 -3 12041 11698 33670 -3 33939 33787 33710 -3 33670 33939 33710 -3 33787 35008 35007 -3 33710 33787 35007 -3 35008 31652 31273 -3 35007 35008 31273 -3 31652 28462 27609 -3 31273 31652 27609 -3 28462 20863 13126 -3 27609 28462 13126 -3 20863 34867 34082 -3 13126 20863 34082 -3 34867 29693 34357 -3 34082 34867 34357 -3 29693 28990 33836 -3 34357 29693 33836 -3 35252 33352 33836 -3 28990 35252 33836 -3 33665 34865 33352 -3 35252 33665 33352 -3 35244 34882 34865 -3 33665 35244 34865 -3 33129 34067 34882 -3 35244 33129 34882 -3 28876 32681 34067 -3 33129 28876 34067 -3 21742 35271 35141 -3 35536 35810 35606 -3 31120 31121 31183 -3 13127 13984 35333 -3 32007 32006 31905 -3 31906 32007 31905 -3 34948 34947 34818 -3 34819 34948 34818 -3 32740 32852 32739 -3 32960 32959 32851 -3 32205 32306 32204 -3 32409 32408 32305 -3 32966 32965 32857 -3 32858 32966 32857 -3 32966 33072 32965 -3 33072 33071 32965 -3 31330 31331 31397 -3 31735 31734 31639 -3 31532 31619 31618 -3 31618 31619 31713 -3 33193 33298 33192 -3 33407 33406 33297 -3 32203 32202 32102 -3 34825 34954 34824 -3 32016 32116 32015 -3 32327 32326 32225 -3 33541 33540 33427 -3 33428 33541 33427 -3 13120 3098 3097 -3 4194 27644 30074 -3 33026 10723 33351 -3 34721 6941 6940 -3 9175 33707 33351 -3 33351 18934 33026 -3 17284 35300 13221 -3 33586 13293 18934 -3 33351 33586 18934 -3 35108 33793 13293 -3 33586 35108 13293 -3 34061 34603 33793 -3 35108 34061 33793 -3 28341 30342 34603 -3 34061 28341 34603 -3 34197 34475 30342 -3 28341 34197 30342 -3 29083 34619 34475 -3 34197 29083 34475 -3 34360 32915 34619 -3 29083 34360 34619 -3 34360 25152 13216 -3 32915 34360 13216 -3 21366 33701 21365 -3 6393 25152 6543 -3 31326 31393 31392 -3 21194 21280 21193 -3 32982 32981 32873 -3 32982 33088 32981 -3 33077 33182 33076 -3 32410 32515 32409 -3 32565 11651 11650 -3 13624 23733 13625 -3 19974 31408 19975 -3 30533 30535 25011 -3 32057 32056 31956 -3 31957 32057 31956 -3 32157 32156 32056 -3 32057 32157 32056 -3 32258 32257 32156 -3 32157 32258 32156 -3 32361 32360 32257 -3 32258 32361 32257 -3 32466 32465 32360 -3 32361 32466 32360 -3 32575 32574 32465 -3 32466 32575 32465 -3 32689 32688 32574 -3 32575 32689 32574 -3 32689 32809 32808 -3 32688 32689 32808 -3 32809 32922 32921 -3 32808 32809 32921 -3 35420 35463 35452 -3 13409 13607 5560 -3 35417 22834 35562 -3 20893 11923 192 -3 11486 6888 11429 -3 32679 32565 11650 -3 6886 34191 6888 -3 33698 28582 33699 -3 11487 11429 11430 -3 28343 25838 25980 -3 33699 33827 33826 -3 33698 33699 33826 -3 33827 33962 33961 -3 33826 33827 33961 -3 33962 34098 34097 -3 33961 33962 34097 -3 34098 34236 34235 -3 34097 34098 34235 -3 34236 34374 34373 -3 34235 34236 34373 -3 34374 34511 34510 -3 34373 34374 34510 -3 34511 34639 34638 -3 34510 34511 34638 -3 34639 34767 34766 -3 34638 34639 34766 -3 34767 34896 34895 -3 34766 34767 34895 -3 34896 35025 35024 -3 34895 34896 35024 -3 35025 35154 35153 -3 35024 35025 35153 -3 35154 35283 35282 -3 35153 35154 35282 -3 35283 13605 13606 -3 35282 35283 13606 -3 13605 30741 69 -3 13606 13605 69 -3 30741 2492 11698 -3 69 30741 11698 -3 2492 33945 33939 -3 11698 2492 33939 -3 33945 33788 33787 -3 33939 33945 33787 -3 33788 35009 35008 -3 33787 33788 35008 -3 35009 31749 31652 -3 35008 35009 31652 -3 31749 34853 28462 -3 31652 31749 28462 -3 34853 35247 20863 -3 28462 34853 20863 -3 35247 35233 34867 -3 20863 35247 34867 -3 35233 34076 29693 -3 34867 35233 29693 -3 34076 27030 28990 -3 29693 34076 28990 -3 35107 35252 28990 -3 27030 35107 28990 -3 34077 33665 35252 -3 35107 34077 35252 -3 33669 35244 33665 -3 34077 33669 33665 -3 33342 33129 35244 -3 33669 33342 35244 -3 33342 17851 33129 -3 28876 17851 17527 -3 17280 35169 17349 -3 800 681 682 -3 33741 33740 33613 -3 18937 35165 18299 -3 32107 32106 32006 -3 32007 32107 32006 -3 34691 34690 34562 -3 34563 34691 34562 -3 32517 32516 32411 -3 32412 32517 32411 -3 32746 32745 32631 -3 32632 32746 32631 -3 32746 32858 32745 -3 32858 32857 32745 -3 30950 31008 30949 -3 31069 31068 31007 -3 30950 30949 30895 -3 30896 30950 30895 -3 31531 31532 31618 -3 31619 31714 31713 -3 33193 33192 33087 -3 33298 33407 33297 -3 32350 32349 32247 -3 31118 31181 31180 -3 17399 32919 17400 -3 33779 33913 33778 -3 3229 3228 14068 -3 33652 33779 33651 -3 34048 34047 33912 -3 33077 33076 32970 -3 33295 33404 33294 -3 31727 31827 31826 -3 32986 32985 32877 -3 33707 33586 33351 -3 34720 6974 34719 -3 35124 35108 33586 -3 33707 35124 33586 -3 35229 34061 35108 -3 35124 35229 35108 -3 35229 7684 34061 -3 28341 7684 10737 -3 11263 34197 10737 -3 19523 35101 19522 -3 31853 29083 34197 -3 6945 6946 7044 -3 32682 34360 29083 -3 31853 32682 29083 -3 21934 28349 21935 -3 34360 32682 25152 -3 32144 32244 32143 -3 19482 17383 17460 -3 33766 33765 33638 -3 31260 31261 31325 -3 34587 34586 34449 -3 32874 32982 32873 -3 33019 33018 32910 -3 32515 32624 32514 -3 33913 33912 33778 -3 31564 31563 26078 -3 31958 31957 31856 -3 31857 31958 31856 -3 32058 32057 31957 -3 31958 32058 31957 -3 32158 32157 32057 -3 32058 32158 32057 -3 32259 32258 32157 -3 32158 32259 32157 -3 32362 32361 32258 -3 32259 32362 32258 -3 32467 32466 32361 -3 32362 32467 32361 -3 32576 32575 32466 -3 32467 32576 32466 -3 32690 32689 32575 -3 32576 32690 32575 -3 32810 32809 32689 -3 32690 32810 32689 -3 32923 32922 32809 -3 32810 32923 32809 -3 33031 33030 32922 -3 32923 33031 32922 -3 21222 23371 30023 -3 34055 6888 34191 -3 32911 33019 32910 -3 33580 28580 28579 -3 33125 33124 33018 -3 33533 33652 33532 -3 6928 7027 7026 -3 6541 6414 6415 -3 33700 33828 33827 -3 33699 33700 33827 -3 33828 33963 33962 -3 33827 33828 33962 -3 33963 34099 34098 -3 33962 33963 34098 -3 34099 34237 34236 -3 34098 34099 34236 -3 34237 34375 34374 -3 34236 34237 34374 -3 34375 34512 34511 -3 34374 34375 34511 -3 34512 34640 34639 -3 34511 34512 34639 -3 34640 34768 34767 -3 34639 34640 34767 -3 34768 34897 34896 -3 34767 34768 34896 -3 34897 35026 35025 -3 34896 34897 35025 -3 35026 35155 35154 -3 35025 35026 35154 -3 35155 35284 35283 -3 35154 35155 35283 -3 35284 12480 13605 -3 35283 35284 13605 -3 12480 30364 30741 -3 13605 12480 30741 -3 30364 12040 2492 -3 30741 30364 2492 -3 12040 34066 33945 -3 2492 12040 33945 -3 34066 33798 33788 -3 33945 34066 33788 -3 33798 35010 35009 -3 33788 33798 35009 -3 35010 31850 31749 -3 35009 35010 31749 -3 31850 13224 34853 -3 31749 31850 34853 -3 13224 27172 35247 -3 34853 13224 35247 -3 27172 35236 35233 -3 35247 27172 35233 -3 35236 12658 34076 -3 35233 35236 34076 -3 34201 27030 34076 -3 12658 34201 34076 -3 34201 35121 35107 -3 27030 34201 35107 -3 33809 34077 35107 -3 35121 33809 35107 -3 33561 33669 34077 -3 33809 33561 34077 -3 33559 33342 33669 -3 33561 33559 33669 -3 35501 35679 35471 -3 33559 35006 33342 -3 21546 21456 21457 -3 6154 6283 6153 -3 32878 32877 32765 -3 28876 17527 17535 -3 32207 32206 32106 -3 32107 32207 32106 -3 34563 34562 34425 -3 34426 34563 34425 -3 33878 33877 33743 -3 33744 33878 33743 -3 32632 32631 32522 -3 32523 32632 32522 -3 31068 31069 31130 -3 31131 31194 31193 -3 31008 31069 31007 -3 31069 31131 31130 -3 31134 31197 31133 -3 31261 31260 31196 -3 31197 31261 31196 -3 31261 31326 31325 -3 33088 33193 33087 -3 33298 33297 33192 -3 34812 34941 34811 -3 32624 32623 32514 -3 33019 33125 33018 -3 34322 34460 34321 -3 34460 34597 34596 -3 33761 33760 33633 -3 32317 32316 32215 -3 32637 32751 32636 -3 32863 32862 32750 -3 31815 31816 31921 -3 32755 32867 32866 -3 33283 33282 33177 -3 32734 32846 32733 -3 31999 31998 31897 -3 33886 33885 33751 -3 32300 32299 32198 -3 35124 9796 35229 -3 22849 12988 6252 -3 8761 9566 9175 -3 28234 33345 13057 -3 21642 34499 21734 -3 21456 33957 21457 -3 21932 35140 35269 -3 31590 31685 31589 -3 33766 33900 33765 -3 6359 6360 6487 -3 27895 30876 26349 -3 34035 34034 33899 -3 33830 33702 21278 -3 33900 33899 33765 -3 33900 34035 33899 -3 33073 33178 33072 -3 33639 33766 33638 -3 33068 33173 33067 -3 34570 34698 34569 -3 31922 32023 32022 -3 31478 31564 23268 -3 25320 31478 23268 -3 31959 31958 31857 -3 31858 31959 31857 -3 32059 32058 31958 -3 31959 32059 31958 -3 32159 32158 32058 -3 32059 32159 32058 -3 32260 32259 32158 -3 32159 32260 32158 -3 32363 32362 32259 -3 32260 32363 32259 -3 32468 32467 32362 -3 32363 32468 32362 -3 32577 32576 32467 -3 32468 32577 32467 -3 32691 32690 32576 -3 32577 32691 32576 -3 32811 32810 32690 -3 32691 32811 32690 -3 32924 32923 32810 -3 32811 32924 32810 -3 33032 33031 32923 -3 32924 33032 32923 -3 33031 33032 17326 -3 26850 33589 33711 -3 8016 32682 31853 -3 3092 34329 3093 -3 33533 33532 33419 -3 33064 33169 33063 -3 33230 33229 33124 -3 33580 33701 33700 -3 22036 21551 22133 -3 33701 33829 33828 -3 33700 33701 33828 -3 33829 33964 33963 -3 33828 33829 33963 -3 33964 34100 34099 -3 33963 33964 34099 -3 34100 34238 34237 -3 34099 34100 34237 -3 34238 34376 34375 -3 34237 34238 34375 -3 34376 34513 34512 -3 34375 34376 34512 -3 34513 34641 34640 -3 34512 34513 34640 -3 34641 34769 34768 -3 34640 34641 34768 -3 34769 34898 34897 -3 34768 34769 34897 -3 34898 35027 35026 -3 34897 34898 35026 -3 35027 35156 35155 -3 35026 35027 35155 -3 35156 35285 35284 -3 35155 35156 35284 -3 9627 12480 35284 -3 35285 9627 35284 -3 11448 30364 12480 -3 9627 11448 12480 -3 11448 11510 12040 -3 30364 11448 12040 -3 11510 34105 34066 -3 12040 11510 34066 -3 34105 33799 33798 -3 34066 34105 33798 -3 33799 35011 35010 -3 33798 33799 35010 -3 35011 31851 31850 -3 35010 35011 31850 -3 31851 11882 13224 -3 31850 31851 13224 -3 11882 12552 27172 -3 13224 11882 27172 -3 12552 34739 35236 -3 27172 12552 35236 -3 34739 21842 12658 -3 35236 34739 12658 -3 21842 13462 34201 -3 12658 21842 34201 -3 25132 35121 34201 -3 13462 25132 34201 -3 33808 33809 35121 -3 25132 33808 35121 -3 35295 33561 33809 -3 33808 35295 33809 -3 33677 33559 33561 -3 35295 33677 33561 -3 34877 35006 33559 -3 33677 34877 33559 -3 28740 8687 35006 -3 34877 28740 35006 -3 21545 21455 21456 -3 28740 33662 8687 -3 7173 33431 33432 -3 6942 7042 7041 -3 34426 34425 34287 -3 34288 34426 34287 -3 33498 33617 33497 -3 33744 33743 33616 -3 32523 32522 32417 -3 32418 32523 32417 -3 31130 31131 31193 -3 31194 31258 31257 -3 31011 31072 31010 -3 31134 31133 31071 -3 31197 31196 31133 -3 31072 31134 31071 -3 34171 34170 34034 -3 34035 34171 34034 -3 33639 33638 33519 -3 33520 33639 33519 -3 32248 32247 32147 -3 18595 19875 18505 -3 7639 7638 7524 -3 32001 32000 31899 -3 33420 33533 33419 -3 33125 33230 33124 -3 33335 33334 33229 -3 33230 33335 33229 -3 33444 33443 33334 -3 33335 33444 33334 -3 34683 34682 34554 -3 30889 30943 30888 -3 17288 17355 17287 -3 33937 24791 2959 -3 17293 29270 17294 -3 35135 2140 2141 -3 31608 31703 31607 -3 12472 13575 391 -3 33061 33060 32954 -3 31053 31054 31115 -3 32302 32405 32301 -3 32745 32744 32630 -3 31794 31793 31693 -3 31116 31179 31178 -3 32845 32844 32732 -3 32733 32845 32732 -3 34142 34141 34005 -3 31114 31177 31176 -3 33737 33871 33736 -3 34006 34142 34005 -3 31003 31064 31002 -3 31811 31812 31917 -3 32013 32113 32012 -3 31859 31858 31752 -3 31753 31859 31752 -3 31960 31959 31858 -3 31859 31960 31858 -3 32060 32059 31959 -3 31960 32060 31959 -3 32160 32159 32059 -3 32060 32160 32059 -3 32261 32260 32159 -3 32160 32261 32159 -3 32364 32363 32260 -3 32261 32364 32260 -3 32469 32468 32363 -3 32364 32469 32363 -3 32578 32577 32468 -3 32469 32578 32468 -3 32692 32691 32577 -3 32578 32692 32577 -3 32812 32811 32691 -3 32692 32812 32691 -3 32925 32924 32811 -3 32812 32925 32811 -3 33033 33032 32924 -3 32925 33033 32924 -3 33033 33139 33138 -3 33032 33033 33138 -3 18997 18897 19650 -3 33139 33243 33138 -3 17318 19572 35340 -3 33091 33090 32984 -3 31745 31744 31649 -3 31650 31745 31649 -3 34111 17273 33975 -3 6924 6925 7023 -3 33702 33830 33829 -3 33701 33702 33829 -3 33830 33965 33964 -3 33829 33830 33964 -3 33965 34101 34100 -3 33964 33965 34100 -3 34101 34239 34238 -3 34100 34101 34238 -3 34239 34377 34376 -3 34238 34239 34376 -3 34377 34514 34513 -3 34376 34377 34513 -3 34514 34642 34641 -3 34513 34514 34641 -3 34642 34770 34769 -3 34641 34642 34769 -3 34770 34899 34898 -3 34769 34770 34898 -3 34899 35028 35027 -3 34898 34899 35027 -3 35028 35157 35156 -3 35027 35028 35156 -3 35157 35286 35285 -3 35156 35157 35285 -3 35286 12060 9627 -3 35285 35286 9627 -3 12747 11448 9627 -3 12060 12747 9627 -3 13700 11510 11448 -3 12747 13700 11448 -3 13700 34204 34105 -3 11510 13700 34105 -3 34204 33800 33799 -3 34105 34204 33799 -3 33800 35012 35011 -3 33799 33800 35011 -3 35012 31951 31851 -3 35011 35012 31851 -3 31951 11772 11882 -3 31851 31951 11882 -3 11772 35260 12552 -3 11882 11772 12552 -3 35260 33468 34739 -3 12552 35260 34739 -3 33468 34193 21842 -3 34739 33468 21842 -3 34193 34879 13462 -3 21842 34193 13462 -3 34879 34749 25132 -3 13462 34879 25132 -3 33346 33808 25132 -3 34749 33346 25132 -3 34980 35295 33808 -3 33346 34980 33808 -3 34980 33795 33677 -3 35295 34980 33677 -3 33795 13396 34877 -3 33677 33795 34877 -3 13396 28995 28740 -3 34877 13396 28740 -3 28995 21968 33662 -3 28740 28995 33662 -3 28253 23816 20092 -3 35942 34730 35440 -3 17457 27028 13223 -3 23945 19794 26242 -3 30992 31053 30991 -3 33617 33744 33616 -3 32418 32417 32314 -3 32315 32418 32314 -3 31193 31194 31257 -3 31323 31322 31257 -3 30953 31011 30952 -3 31072 31071 31010 -3 34584 34712 34583 -3 34840 34839 34711 -3 34447 34446 34308 -3 34309 34447 34308 -3 33500 33499 33386 -3 34814 34813 34685 -3 33763 33897 33762 -3 31444 31443 31376 -3 19346 14358 14344 -3 34686 34685 34557 -3 32764 32876 32763 -3 32876 32984 32875 -3 31845 31844 31744 -3 31745 31845 31744 -3 31943 31942 31844 -3 31845 31943 31844 -3 31803 31802 31702 -3 34717 34718 34845 -3 32040 32039 31942 -3 34718 34717 34589 -3 31943 32040 31942 -3 32137 32136 32039 -3 32040 32137 32039 -3 32237 32236 32136 -3 32137 32237 32136 -3 32339 32338 32236 -3 32237 32339 32236 -3 32443 32442 32338 -3 32339 32443 32338 -3 32550 32549 32442 -3 32443 32550 32442 -3 32663 32662 32549 -3 32550 32663 32549 -3 32784 32783 32662 -3 32663 32784 32662 -3 31654 31754 31753 -3 31860 31859 31753 -3 31754 31860 31753 -3 31961 31960 31859 -3 31860 31961 31859 -3 32061 32060 31960 -3 31961 32061 31960 -3 32161 32160 32060 -3 32061 32161 32060 -3 32262 32261 32160 -3 32161 32262 32160 -3 32365 32364 32261 -3 32262 32365 32261 -3 32470 32469 32364 -3 32365 32470 32364 -3 32579 32578 32469 -3 32470 32579 32469 -3 32693 32692 32578 -3 32579 32693 32578 -3 32813 32812 32692 -3 32693 32813 32692 -3 32926 32925 32812 -3 32813 32926 32812 -3 33034 33033 32925 -3 32926 33034 32925 -3 33140 33139 33033 -3 33034 33140 33033 -3 33140 33244 33243 -3 33139 33140 33243 -3 17344 17275 17276 -3 21278 21192 21279 -3 32896 32895 32783 -3 32784 32896 32783 -3 17970 18061 20448 -3 33830 21280 33965 -3 22119 22214 22118 -3 33966 21280 21194 -3 12463 11963 35254 -3 22118 35136 22119 -3 33966 34102 34101 -3 33965 33966 34101 -3 34102 34240 34239 -3 34101 34102 34239 -3 34240 34378 34377 -3 34239 34240 34377 -3 34378 34515 34514 -3 34377 34378 34514 -3 34515 34643 34642 -3 34514 34515 34642 -3 34643 34771 34770 -3 34642 34643 34770 -3 34771 34900 34899 -3 34770 34771 34899 -3 34900 35029 35028 -3 34899 34900 35028 -3 35029 35158 35157 -3 35028 35029 35157 -3 35158 35287 35286 -3 35157 35158 35286 -3 35287 14167 12060 -3 35286 35287 12060 -3 14167 11803 12747 -3 12060 14167 12747 -3 11803 13128 13700 -3 12747 11803 13700 -3 13128 34213 34204 -3 13700 13128 34204 -3 34213 33805 33800 -3 34204 34213 33800 -3 33805 35013 35012 -3 33800 33805 35012 -3 35013 32148 31951 -3 35012 35013 31951 -3 32148 27897 11772 -3 31951 32148 11772 -3 27897 33455 35260 -3 11772 27897 35260 -3 33455 35106 33468 -3 35260 33455 33468 -3 35106 34748 34193 -3 33468 35106 34193 -3 34748 19410 34879 -3 34193 34748 34879 -3 27958 34749 34879 -3 19410 27958 34879 -3 27958 29283 33346 -3 34749 27958 33346 -3 29283 35327 34980 -3 33346 29283 34980 -3 33929 33795 34980 -3 35327 33929 34980 -3 33929 28105 13396 -3 33795 33929 13396 -3 28105 13382 28995 -3 13396 28105 28995 -3 13382 29128 21968 -3 28995 13382 21968 -3 34979 5691 21968 -3 29128 34979 21968 -3 25391 23816 25096 -3 2009 2789 30805 -3 35069 35198 35068 -3 17290 13708 17359 -3 32315 32314 32213 -3 32214 32315 32213 -3 31258 31323 31257 -3 31323 31390 31389 -3 30899 30953 30898 -3 31011 31010 30952 -3 34712 34840 34711 -3 34969 34968 34839 -3 34590 34589 34452 -3 34453 34590 34452 -3 34453 34452 34314 -3 34315 34453 34314 -3 33004 33003 32895 -3 32896 33004 32895 -3 33110 33109 33003 -3 33004 33110 33003 -3 34315 34314 34176 -3 34177 34315 34176 -3 33215 33214 33109 -3 33110 33215 33109 -3 33320 33319 33214 -3 33215 33320 33214 -3 33906 34041 34040 -3 34177 34176 34040 -3 34590 34718 34589 -3 28351 25131 28352 -3 33429 33428 33319 -3 33644 33645 33771 -3 33320 33429 33319 -3 31755 31754 31654 -3 31655 31755 31654 -3 31861 31860 31754 -3 31755 31861 31754 -3 31962 31961 31860 -3 31861 31962 31860 -3 32062 32061 31961 -3 31962 32062 31961 -3 32162 32161 32061 -3 32062 32162 32061 -3 32263 32262 32161 -3 32162 32263 32161 -3 32366 32365 32262 -3 32263 32366 32262 -3 32471 32470 32365 -3 32366 32471 32365 -3 32580 32579 32470 -3 32471 32580 32470 -3 32694 32693 32579 -3 32580 32694 32579 -3 32814 32813 32693 -3 32694 32814 32693 -3 32927 32926 32813 -3 32814 32927 32813 -3 33035 33034 32926 -3 32927 33035 32926 -3 33141 33140 33034 -3 33035 33141 33034 -3 33141 33245 33244 -3 33140 33141 33244 -3 33244 33245 17330 -3 35830 35629 35854 -3 33542 33541 33428 -3 34556 34555 34418 -3 33429 33542 33428 -3 21195 21194 21107 -3 33378 33377 33268 -3 33269 33378 33268 -3 8309 17319 18798 -3 6928 6926 35224 -3 33967 34103 34102 -3 33966 33967 34102 -3 34103 34241 34240 -3 34102 34103 34240 -3 34241 34379 34378 -3 34240 34241 34378 -3 34379 34516 34515 -3 34378 34379 34515 -3 34516 34644 34643 -3 34515 34516 34643 -3 34644 34772 34771 -3 34643 34644 34771 -3 34901 34900 34771 -3 34772 34901 34771 -3 35030 35029 34900 -3 34901 35030 34900 -3 35030 35159 35158 -3 35029 35030 35158 -3 35159 35288 35287 -3 35158 35159 35287 -3 35288 27025 14167 -3 35287 35288 14167 -3 27025 30353 11803 -3 14167 27025 11803 -3 29406 13128 11803 -3 30353 29406 11803 -3 34224 34213 13128 -3 29406 34224 13128 -3 34224 33806 33805 -3 34213 34224 33805 -3 33806 35038 35013 -3 33805 33806 35013 -3 35038 32149 32148 -3 35013 35038 32148 -3 32149 13970 27897 -3 32148 32149 27897 -3 13970 34747 33455 -3 27897 13970 33455 -3 34747 33466 35106 -3 33455 34747 35106 -3 33466 26403 34748 -3 35106 33466 34748 -3 26403 34880 19410 -3 34748 26403 19410 -3 34880 34729 27958 -3 19410 34880 27958 -3 34729 34106 29283 -3 27958 34729 29283 -3 34106 32566 35327 -3 29283 34106 35327 -3 32566 28743 33929 -3 35327 32566 33929 -3 28743 13032 28105 -3 33929 28743 28105 -3 13032 5188 13382 -3 28105 13032 13382 -3 5188 12036 29128 -3 13382 5188 29128 -3 12036 34214 34979 -3 29128 12036 34979 -3 13677 2009 30805 -3 2009 13677 2008 -3 6929 7027 6928 -3 22434 30607 6913 -3 32214 32213 32113 -3 32114 32214 32113 -3 31322 31323 31389 -3 31457 31456 31389 -3 32903 32902 32790 -3 30953 30952 30898 -3 34840 34969 34839 -3 33224 33329 33223 -3 33304 33413 33303 -3 33413 33526 33525 -3 17330 17331 17408 -3 33500 33619 33499 -3 33746 33880 33745 -3 32871 32979 32978 -3 32870 32871 32978 -3 33311 33310 33205 -3 33413 33412 33303 -3 34047 34046 33911 -3 34321 34320 34182 -3 34837 34836 34708 -3 33199 33304 33198 -3 34581 34709 34580 -3 34584 34583 34446 -3 34041 34177 34040 -3 34712 34711 34583 -3 34447 34584 34446 -3 33526 33645 33644 -3 33771 33772 33905 -3 34168 34167 34031 -3 34032 34168 34031 -3 31932 31933 32029 -3 34183 34182 34046 -3 33778 33912 33777 -3 33206 33205 33100 -3 31756 31755 31655 -3 31656 31756 31655 -3 31862 31861 31755 -3 31756 31862 31755 -3 31963 31962 31861 -3 31862 31963 31861 -3 32063 32062 31962 -3 31963 32063 31962 -3 32163 32162 32062 -3 32063 32163 32062 -3 32264 32263 32162 -3 32163 32264 32162 -3 32367 32366 32263 -3 32264 32367 32263 -3 32472 32471 32366 -3 32367 32472 32366 -3 32581 32580 32471 -3 32472 32581 32471 -3 32695 32694 32580 -3 32581 32695 32580 -3 32815 32814 32694 -3 32695 32815 32694 -3 32928 32927 32814 -3 32815 32928 32814 -3 33036 33035 32927 -3 32928 33036 32927 -3 33142 33141 33035 -3 33036 33142 33035 -3 33246 33245 33141 -3 33142 33246 33141 -3 28070 25658 24203 -3 34057 2685 2686 -3 33304 33303 33198 -3 34103 33967 21196 -3 32679 32678 32565 -3 34943 34942 34813 -3 34683 34811 34682 -3 33779 33778 33651 -3 18055 19167 18916 -3 20893 33956 33578 -3 35006 17851 33342 -3 26006 26008 26149 -3 34104 34242 34241 -3 34103 34104 34241 -3 34242 34380 34379 -3 34241 34242 34379 -3 34380 34517 34516 -3 34379 34380 34516 -3 34517 34645 34644 -3 34516 34517 34644 -3 34645 34773 34772 -3 34644 34645 34772 -3 34773 34902 34901 -3 34772 34773 34901 -3 34902 35031 35030 -3 34901 34902 35030 -3 35031 35160 35159 -3 35030 35031 35159 -3 35289 35288 35159 -3 35160 35289 35159 -3 17481 27025 35288 -3 35289 17481 35288 -3 29416 30353 27025 -3 17481 29416 27025 -3 13689 29406 30353 -3 29416 13689 30353 -3 34348 34224 29406 -3 13689 34348 29406 -3 34348 33822 33806 -3 34224 34348 33806 -3 33822 35099 35038 -3 33806 33822 35038 -3 35099 32152 32149 -3 35038 35099 32149 -3 32152 11966 13970 -3 32149 32152 13970 -3 11966 33943 34747 -3 13970 11966 34747 -3 33943 33575 33466 -3 34747 33943 33466 -3 33575 34221 26403 -3 33466 33575 26403 -3 33818 34880 26403 -3 34221 33818 26403 -3 33818 33133 34729 -3 34880 33818 34729 -3 33133 35259 34106 -3 34729 33133 34106 -3 35259 32355 32566 -3 34106 35259 32566 -3 32355 19464 28743 -3 32566 32355 28743 -3 19464 33447 13032 -3 28743 19464 13032 -3 33447 35015 5188 -3 13032 33447 5188 -3 35015 34854 12036 -3 5188 35015 12036 -3 34854 33797 34214 -3 12036 34854 34214 -3 33797 34975 32683 -3 34214 33797 32683 -3 17396 17397 17485 -3 19765 15617 21681 -3 32014 32114 32013 -3 13754 19346 24847 -3 31390 31457 31389 -3 31529 31528 31456 -3 32791 32790 32669 -3 32670 32791 32669 -3 33329 33438 33437 -3 34964 34963 34834 -3 32988 33094 32987 -3 33199 33198 33093 -3 31052 31053 31114 -3 31115 31178 31177 -3 31245 31310 31244 -3 31377 31376 31309 -3 32223 32324 32323 -3 32222 32223 32323 -3 31621 31716 31715 -3 31921 31922 32022 -3 34688 34816 34687 -3 32880 32879 32767 -3 32768 32880 32767 -3 33060 33059 32953 -3 34969 35098 35097 -3 34968 34969 35097 -3 33768 33767 33640 -3 33525 33526 33644 -3 33645 33772 33771 -3 31729 31829 31828 -3 33412 33413 33525 -3 30934 30992 30933 -3 31728 31729 31828 -3 32995 33101 32994 -3 31562 31657 31656 -3 31757 31756 31656 -3 31657 31757 31656 -3 31863 31862 31756 -3 31757 31863 31756 -3 31964 31963 31862 -3 31863 31964 31862 -3 32064 32063 31963 -3 31964 32064 31963 -3 32164 32163 32063 -3 32064 32164 32063 -3 32265 32264 32163 -3 32164 32265 32163 -3 32368 32367 32264 -3 32265 32368 32264 -3 32473 32472 32367 -3 32368 32473 32367 -3 32582 32581 32472 -3 32473 32582 32472 -3 32696 32695 32581 -3 32582 32696 32581 -3 32816 32815 32695 -3 32696 32816 32695 -3 32929 32928 32815 -3 32816 32929 32815 -3 33037 33036 32928 -3 32929 33037 32928 -3 33143 33142 33036 -3 33037 33143 33036 -3 33247 33246 33142 -3 33143 33247 33142 -3 14858 19271 21681 -3 21681 15617 14858 -3 17283 35300 17284 -3 11730 11729 11650 -3 33652 33651 33532 -3 32964 32963 32855 -3 32800 32799 32678 -3 32679 32800 32678 -3 31797 31796 31696 -3 33061 33166 33060 -3 21365 33701 33580 -3 34975 35104 17858 -3 34104 21197 34242 -3 19422 18224 19432 -3 34243 34381 34380 -3 34242 34243 34380 -3 34381 34518 34517 -3 34380 34381 34517 -3 34518 34646 34645 -3 34517 34518 34645 -3 34646 34774 34773 -3 34645 34646 34773 -3 34774 34903 34902 -3 34773 34774 34902 -3 35032 35031 34902 -3 34903 35032 34902 -3 35161 35160 35031 -3 35032 35161 35031 -3 35290 35289 35160 -3 35161 35290 35160 -3 35290 28863 17481 -3 35289 35290 17481 -3 28013 29416 17481 -3 28863 28013 17481 -3 9331 13689 29416 -3 28013 9331 29416 -3 34494 34348 13689 -3 9331 34494 13689 -3 33831 33822 34348 -3 34494 33831 34348 -3 33831 35100 35099 -3 33822 33831 35099 -3 32353 32152 35099 -3 35100 32353 35099 -3 12452 11966 32152 -3 32353 12452 32152 -3 12452 33446 33943 -3 11966 12452 33943 -3 33446 34855 33575 -3 33943 33446 33575 -3 34855 13705 34221 -3 33575 34855 34221 -3 13705 34336 33818 -3 34221 13705 33818 -3 34336 34081 33133 -3 33818 34336 33133 -3 34081 28011 35259 -3 33133 34081 35259 -3 28011 34107 32355 -3 35259 28011 32355 -3 34107 29127 19464 -3 32355 34107 19464 -3 29127 30557 33447 -3 19464 29127 33447 -3 30557 30821 35015 -3 33447 30557 35015 -3 30821 35263 34854 -3 35015 30821 34854 -3 35263 33821 33797 -3 34854 35263 33797 -3 33821 35104 34975 -3 33797 33821 34975 -3 32461 6643 2950 -3 33243 17330 17407 -3 3234 3233 3094 -3 34567 34695 34566 -3 31457 31529 31456 -3 31529 31616 31528 -3 32557 32670 32556 -3 32560 32673 32559 -3 33328 33329 33437 -3 34586 34585 34448 -3 32988 32987 32879 -3 33094 33199 33093 -3 32912 32911 32799 -3 32800 32912 32799 -3 33020 33019 32911 -3 32912 33020 32911 -3 33126 33125 33019 -3 33020 33126 33019 -3 33231 33230 33125 -3 33126 33231 33125 -3 33336 33335 33230 -3 31634 31633 31546 -3 31547 31634 31546 -3 30995 31056 30994 -3 35203 35332 35202 -3 26512 26424 12129 -3 33119 33224 33118 -3 31547 31546 31474 -3 33329 33328 33223 -3 33231 33336 33230 -3 31475 31547 31474 -3 3933 3802 3934 -3 31658 31657 31562 -3 31563 31658 31562 -3 31758 31757 31657 -3 31658 31758 31657 -3 31864 31863 31757 -3 31758 31864 31757 -3 31965 31964 31863 -3 31864 31965 31863 -3 32065 32064 31964 -3 31965 32065 31964 -3 32165 32164 32064 -3 32065 32165 32064 -3 32266 32265 32164 -3 32165 32266 32164 -3 32369 32368 32265 -3 32266 32369 32265 -3 32474 32473 32368 -3 32369 32474 32368 -3 32583 32582 32473 -3 32474 32583 32473 -3 32697 32696 32582 -3 32583 32697 32582 -3 32817 32816 32696 -3 32697 32817 32696 -3 32930 32929 32816 -3 32817 32930 32816 -3 33038 33037 32929 -3 32930 33038 32929 -3 33144 33143 33037 -3 33038 33144 33037 -3 33248 33247 33143 -3 33144 33248 33143 -3 33357 33356 33247 -3 33248 33357 33247 -3 21835 21741 35141 -3 26512 12129 26513 -3 7516 33556 33443 -3 2677 23075 17290 -3 11519 11518 31950 -3 32115 32114 32014 -3 21197 34243 34242 -3 31914 32015 31913 -3 33070 33069 32963 -3 586 1614 14379 -3 6768 3477 34874 -3 17397 32685 17398 -3 34244 34382 34381 -3 34243 34244 34381 -3 34382 34519 34518 -3 34381 34382 34518 -3 34647 34646 34518 -3 34519 34647 34518 -3 34775 34774 34646 -3 34647 34775 34646 -3 34775 34904 34903 -3 34774 34775 34903 -3 34904 35033 35032 -3 34903 34904 35032 -3 35033 35162 35161 -3 35032 35033 35161 -3 35291 35290 35161 -3 35162 35291 35161 -3 14178 28863 35290 -3 35291 14178 35290 -3 28014 28013 28863 -3 14178 28014 28863 -3 13679 9331 28013 -3 28014 13679 28013 -3 34611 34494 9331 -3 13679 34611 9331 -3 33832 33831 34494 -3 34611 33832 34494 -3 33832 35102 35100 -3 33831 33832 35100 -3 35102 32457 32353 -3 35100 35102 32353 -3 32457 11133 12452 -3 32353 32457 12452 -3 11133 32253 33446 -3 12452 11133 33446 -3 21844 34855 33446 -3 32253 21844 33446 -3 33471 13705 34855 -3 21844 33471 34855 -3 33471 35326 34336 -3 13705 33471 34336 -3 35326 35264 34081 -3 34336 35326 34081 -3 35264 34977 28011 -3 34081 35264 28011 -3 34977 35103 34107 -3 28011 34977 34107 -3 35103 33453 29127 -3 34107 35103 29127 -3 33453 34485 30557 -3 29127 33453 30557 -3 34485 33458 30821 -3 30557 34485 30821 -3 33458 35134 35263 -3 30821 33458 35263 -3 35134 35250 33821 -3 35263 35134 33821 -3 35250 13307 35104 -3 33821 35250 35104 -3 13307 34473 5331 -3 35104 13307 5331 -3 22023 35138 22025 -3 28584 28713 28583 -3 31616 31615 31528 -3 32003 32002 31901 -3 31544 31543 31471 -3 32764 32763 32649 -3 34037 34036 33901 -3 33641 33640 33521 -3 32880 32988 32879 -3 33094 33093 32987 -3 31729 31728 31633 -3 31634 31729 31633 -3 33326 33435 33434 -3 17851 35006 8687 -3 31746 31745 31650 -3 31651 31746 31650 -3 31846 31845 31745 -3 31746 31846 31745 -3 31944 31943 31845 -3 31846 31944 31845 -3 33074 33073 32967 -3 33897 33896 33762 -3 31272 31337 31271 -3 35332 13106 13223 -3 31337 31336 31271 -3 34007 34143 34006 -3 32041 32040 31943 -3 31600 31599 31512 -3 31944 32041 31943 -3 1307 1308 18561 -3 31659 31658 31563 -3 31564 31659 31563 -3 31759 31758 31658 -3 31659 31759 31658 -3 31865 31864 31758 -3 31759 31865 31758 -3 31966 31965 31864 -3 31865 31966 31864 -3 32066 32065 31965 -3 31966 32066 31965 -3 32166 32165 32065 -3 32066 32166 32065 -3 32267 32266 32165 -3 32166 32267 32165 -3 32370 32369 32266 -3 32267 32370 32266 -3 32475 32474 32369 -3 32370 32475 32369 -3 32584 32583 32474 -3 32475 32584 32474 -3 32698 32697 32583 -3 32584 32698 32583 -3 32818 32817 32697 -3 32698 32818 32697 -3 32931 32930 32817 -3 32818 32931 32817 -3 33039 33038 32930 -3 32931 33039 32930 -3 33145 33144 33038 -3 33039 33145 33038 -3 33249 33248 33144 -3 33145 33249 33144 -3 18086 21240 21394 -3 33248 33249 33357 -3 17333 33356 33357 -3 21200 34382 34244 -3 32138 32137 32040 -3 32041 32138 32040 -3 32238 32237 32137 -3 32138 32238 32137 -3 33493 33612 33492 -3 33493 33492 33379 -3 33114 33219 33113 -3 34384 34383 21200 -3 2142 35142 2141 -3 26511 26510 26424 -3 34383 34520 34519 -3 34382 34383 34519 -3 34520 34648 34647 -3 34519 34520 34647 -3 34648 34776 34775 -3 34647 34648 34775 -3 34776 34905 34904 -3 34775 34776 34904 -3 35034 35033 34904 -3 34905 35034 34904 -3 35163 35162 35033 -3 35034 35163 35033 -3 35292 35291 35162 -3 35163 35292 35162 -3 13217 14178 35291 -3 35292 13217 35291 -3 27898 28014 14178 -3 13217 27898 14178 -3 11131 13679 28014 -3 27898 11131 28014 -3 34623 34611 13679 -3 11131 34623 13679 -3 33833 33832 34611 -3 34623 33833 34611 -3 35110 35102 33832 -3 33833 35110 33832 -3 32458 32457 35102 -3 35110 32458 35102 -3 32458 24364 11133 -3 32457 32458 11133 -3 13977 32253 11133 -3 24364 13977 11133 -3 33664 21844 32253 -3 13977 33664 32253 -3 33664 34884 33471 -3 21844 33664 33471 -3 34884 34993 35326 -3 33471 34884 35326 -3 34993 33691 35264 -3 35326 34993 35264 -3 33691 34978 34977 -3 35264 33691 34977 -3 34978 35241 35103 -3 34977 34978 35103 -3 35241 34606 33453 -3 35103 35241 33453 -3 34606 34857 34485 -3 33453 34606 34485 -3 34857 27991 33458 -3 34485 34857 33458 -3 27991 11886 35134 -3 33458 27991 35134 -3 11886 34861 35250 -3 35134 11886 35250 -3 3756 34473 3757 -3 35250 34861 13307 -3 31448 31520 31447 -3 6954 6953 6886 -3 34685 34813 34684 -3 34597 6946 6945 -3 31711 31710 31615 -3 31616 31711 31615 -3 32326 32429 32428 -3 32670 32669 32556 -3 17335 17334 33357 -3 32735 32847 32734 -3 31203 31267 31202 -3 33269 33268 33163 -3 31795 31901 31794 -3 32846 32954 32845 -3 31337 31404 31336 -3 31475 31474 31407 -3 32340 32339 32237 -3 32238 32340 32237 -3 32444 32443 32339 -3 32340 32444 32339 -3 32551 32550 32443 -3 32444 32551 32443 -3 31404 31471 31403 -3 31404 31403 31336 -3 32664 32663 32550 -3 31543 31542 31470 -3 32551 32664 32550 -3 32785 32784 32663 -3 32664 32785 32663 -3 31478 31565 31564 -3 1307 18561 18464 -3 31660 31659 31564 -3 31565 31660 31564 -3 31760 31759 31659 -3 31660 31760 31659 -3 31866 31865 31759 -3 31760 31866 31759 -3 31967 31966 31865 -3 31866 31967 31865 -3 32067 32066 31966 -3 31967 32067 31966 -3 32167 32166 32066 -3 32067 32167 32066 -3 32268 32267 32166 -3 32167 32268 32166 -3 32371 32370 32267 -3 32268 32371 32267 -3 32476 32475 32370 -3 32371 32476 32370 -3 32585 32584 32475 -3 32476 32585 32475 -3 32699 32698 32584 -3 32585 32699 32584 -3 32819 32818 32698 -3 32699 32819 32698 -3 32932 32931 32818 -3 32819 32932 32818 -3 33040 33039 32931 -3 32932 33040 32931 -3 33146 33145 33039 -3 33040 33146 33039 -3 33250 33249 33145 -3 33146 33250 33145 -3 21394 20573 18086 -3 33250 33359 33249 -3 17363 34522 19526 -3 17334 17411 17333 -3 6928 35224 35096 -3 19346 14344 30745 -3 32897 32896 32784 -3 32785 32897 32784 -3 33005 33004 32896 -3 32897 33005 32896 -3 33111 33110 33004 -3 31307 31374 31306 -3 31441 31440 31373 -3 9340 2748 2075 -3 17453 17452 35198 -3 34384 34521 34520 -3 34383 34384 34520 -3 34521 34649 34648 -3 34520 34521 34648 -3 34649 34777 34776 -3 34648 34649 34776 -3 34906 34905 34776 -3 34777 34906 34776 -3 35035 35034 34905 -3 34906 35035 34905 -3 35164 35163 35034 -3 35035 35164 35034 -3 35293 35292 35163 -3 35164 35293 35163 -3 14284 13217 35292 -3 35293 14284 35292 -3 28872 27898 13217 -3 14284 28872 13217 -3 30802 11131 27898 -3 28872 30802 27898 -3 34733 34623 11131 -3 30802 34733 11131 -3 33835 33833 34623 -3 34733 33835 34623 -3 35117 35110 33833 -3 33835 35117 33833 -3 32918 32458 35110 -3 35117 32918 35110 -3 3085 24364 32458 -3 32918 3085 32458 -3 34992 13977 24364 -3 3085 34992 24364 -3 34864 33664 13977 -3 34992 34864 13977 -3 33668 34884 33664 -3 34864 33668 33664 -3 33668 34350 34993 -3 34884 33668 34993 -3 34350 34990 33691 -3 34993 34350 33691 -3 34990 34982 34978 -3 33691 34990 34978 -3 34982 29266 35241 -3 34978 34982 35241 -3 29266 28727 34606 -3 35241 29266 34606 -3 28727 34491 34857 -3 34606 28727 34857 -3 34491 34364 27991 -3 34857 34491 27991 -3 34364 34355 11886 -3 27991 34364 11886 -3 35189 35317 35188 -3 11886 34355 34861 -3 34288 34287 34149 -3 6521 4503 6514 -3 33404 33403 33294 -3 31515 31514 31442 -3 32014 32013 31912 -3 32114 32113 32013 -3 31711 31811 31810 -3 31710 31711 31810 -3 32325 32326 32428 -3 31338 31405 31337 -3 33755 33889 33754 -3 34436 34435 34297 -3 33769 33768 33641 -3 31006 31067 31005 -3 27028 13004 35329 -3 31056 31118 31117 -3 33515 33634 33514 -3 31272 31271 31207 -3 33005 33111 33004 -3 33216 33215 33110 -3 33111 33216 33110 -3 33321 33320 33215 -3 33216 33321 33215 -3 33430 33429 33320 -3 33321 33430 33320 -3 30202 22593 30335 -3 33430 33543 33429 -3 31566 31565 31478 -3 31479 31566 31478 -3 31661 31660 31565 -3 31566 31661 31565 -3 31761 31760 31660 -3 31661 31761 31660 -3 31867 31866 31760 -3 31761 31867 31760 -3 31968 31967 31866 -3 31867 31968 31866 -3 32068 32067 31967 -3 31968 32068 31967 -3 32168 32167 32067 -3 32068 32168 32067 -3 32269 32268 32167 -3 32168 32269 32167 -3 32372 32371 32268 -3 32269 32372 32268 -3 32477 32476 32371 -3 32372 32477 32371 -3 32586 32585 32476 -3 32477 32586 32476 -3 32700 32699 32585 -3 32586 32700 32585 -3 32820 32819 32699 -3 32700 32820 32699 -3 32933 32932 32819 -3 32820 32933 32819 -3 33041 33040 32932 -3 32933 33041 32932 -3 33147 33146 33040 -3 33041 33147 33040 -3 33251 33250 33146 -3 33147 33251 33146 -3 33360 33359 33250 -3 33251 33360 33250 -3 33465 19116 34340 -3 33472 17272 33360 -3 1450 15206 27436 -3 1450 27435 26497 -3 33206 33311 33205 -3 35204 35333 35203 -3 34907 34906 34777 -3 35036 35035 34906 -3 34907 35036 34906 -3 35165 35164 35035 -3 35036 35165 35035 -3 14357 14344 14358 -3 14358 19346 13754 -3 34931 35060 34930 -3 26242 25421 23945 -3 13677 28872 14284 -3 19794 23945 23315 -3 30820 30802 28872 -3 13677 30820 28872 -3 34751 34733 30802 -3 30820 34751 30802 -3 33837 33835 34733 -3 34751 33837 34733 -3 35119 35117 33835 -3 33837 35119 33835 -3 33134 32918 35117 -3 35119 33134 35117 -3 27288 3085 32918 -3 33134 27288 32918 -3 34605 34992 3085 -3 27288 34605 3085 -3 34859 34864 34992 -3 34605 34859 34992 -3 17797 33668 34864 -3 34859 17797 34864 -3 17797 24365 34350 -3 33668 17797 34350 -3 24365 35253 34990 -3 34350 24365 34990 -3 35253 34225 34982 -3 34990 35253 34982 -3 34225 34612 29266 -3 34982 34225 29266 -3 34612 33932 28727 -3 29266 34612 28727 -3 33932 33834 34491 -3 28727 33932 34491 -3 33834 34492 34364 -3 34491 33834 34364 -3 19479 19370 19480 -3 34364 34492 34355 -3 32308 32307 32206 -3 35002 901 9280 -3 34150 34149 34013 -3 34150 34288 34149 -3 31631 31630 31543 -3 32202 32201 32101 -3 31707 31807 31706 -3 31913 32014 31912 -3 31811 31917 31916 -3 31810 31811 31916 -3 31916 31917 32017 -3 31917 32018 32017 -3 32017 32018 32117 -3 32018 32118 32117 -3 35771 11411 35538 -3 31067 31066 31005 -3 32624 32738 32623 -3 35200 35201 35329 -3 33505 33624 33504 -3 32116 32115 32015 -3 804 922 803 -3 31318 31317 31252 -3 32995 32994 32886 -3 31444 31516 31443 -3 14675 19094 18172 -3 26723 26612 34062 -3 21501 20535 21971 -3 27895 25077 30878 -3 25077 27895 24407 -3 17292 17293 17361 -3 19968 31145 31209 -3 5551 3477 14683 -3 34248 34386 17274 -3 7300 34995 12808 -3 31408 31480 31479 -3 31567 31566 31479 -3 31480 31567 31479 -3 31662 31661 31566 -3 31567 31662 31566 -3 31762 31761 31661 -3 31662 31762 31661 -3 31868 31867 31761 -3 31762 31868 31761 -3 31969 31968 31867 -3 31868 31969 31867 -3 32069 32068 31968 -3 31969 32069 31968 -3 32169 32168 32068 -3 32069 32169 32068 -3 32270 32269 32168 -3 32169 32270 32168 -3 32373 32372 32269 -3 32270 32373 32269 -3 32478 32477 32372 -3 32373 32478 32372 -3 32587 32586 32477 -3 32478 32587 32477 -3 32701 32700 32586 -3 32587 32701 32586 -3 32821 32820 32700 -3 32701 32821 32700 -3 32934 32933 32820 -3 32821 32934 32820 -3 33042 33041 32933 -3 32934 33042 32933 -3 33148 33147 33041 -3 33042 33148 33041 -3 33252 33251 33147 -3 33148 33252 33147 -3 33361 33360 33251 -3 33252 33361 33251 -3 33473 33472 33360 -3 33361 33473 33360 -3 33473 33590 33589 -3 33472 33473 33589 -3 17350 35169 17351 -3 33590 33711 33589 -3 33711 33839 33838 -3 33839 33974 33973 -3 33838 33839 33973 -3 26967 33973 33974 -3 13895 7997 13390 -3 35317 6906 35187 -3 17341 17273 34248 -3 7626 1166 1165 -3 6764 18476 17365 -3 34337 18194 34478 -3 34386 17342 17274 -3 18476 6764 5056 -3 18723 18118 18132 -3 33116 33221 33115 -3 34133 34271 34132 -3 33295 33294 33189 -3 34462 34463 6880 -3 33589 26850 17337 -3 16445 13016 22238 -3 18041 22238 13016 -3 13183 12994 34343 -3 30805 30820 13677 -3 22238 18611 18117 -3 34862 34751 30820 -3 30805 34862 30820 -3 33921 33837 34751 -3 34862 33921 34751 -3 35123 35119 33837 -3 33921 35123 33837 -3 33234 33134 35119 -3 35123 33234 35119 -3 35318 27288 33134 -3 33234 35318 33134 -3 33705 34605 27288 -3 35318 33705 27288 -3 33558 34859 34605 -3 33705 33558 34605 -3 33663 17797 34859 -3 33558 33663 34859 -3 33663 28867 24365 -3 17797 33663 24365 -3 28867 34466 35253 -3 24365 28867 35253 -3 34466 35245 34225 -3 35253 34466 34225 -3 35245 33448 34612 -3 34225 35245 34612 -3 33448 2386 33932 -3 34612 33448 33932 -3 2386 34084 33834 -3 33932 2386 33834 -3 34084 13024 34492 -3 33834 34084 34492 -3 13024 3225 34492 -3 28713 28584 28714 -3 32207 32308 32206 -3 32965 33071 32964 -3 34014 34013 33878 -3 34014 34150 34013 -3 31015 31014 30956 -3 31201 31200 31137 -3 31913 31912 31806 -3 31807 31913 31806 -3 31612 31707 31611 -3 31807 31806 31706 -3 31525 31612 31524 -3 31707 31706 31611 -3 32118 32218 32217 -3 32117 32118 32217 -3 27435 1450 27436 -3 33903 33902 33768 -3 32738 32737 32623 -3 32850 32849 32737 -3 33636 33763 33635 -3 33379 33492 33378 -3 34423 34422 34284 -3 33778 33777 33650 -3 30902 30960 30959 -3 30960 31021 31020 -3 30959 30960 31020 -3 31021 31083 31082 -3 31020 31021 31082 -3 31083 31146 31145 -3 31082 31083 31145 -3 31146 31210 31209 -3 31145 31146 31209 -3 31210 31275 31274 -3 31209 31210 31274 -3 31275 31342 31341 -3 31274 31275 31341 -3 31342 31409 31408 -3 31341 31342 31408 -3 31481 31480 31408 -3 31409 31481 31408 -3 31568 31567 31480 -3 31481 31568 31480 -3 31663 31662 31567 -3 31568 31663 31567 -3 31763 31762 31662 -3 31663 31763 31662 -3 31869 31868 31762 -3 31763 31869 31762 -3 31970 31969 31868 -3 31869 31970 31868 -3 32070 32069 31969 -3 31970 32070 31969 -3 32170 32169 32069 -3 32070 32170 32069 -3 32271 32270 32169 -3 32170 32271 32169 -3 32374 32373 32270 -3 32271 32374 32270 -3 32479 32478 32373 -3 32374 32479 32373 -3 32588 32587 32478 -3 32479 32588 32478 -3 32702 32701 32587 -3 32588 32702 32587 -3 32822 32821 32701 -3 32702 32822 32701 -3 32935 32934 32821 -3 32822 32935 32821 -3 33043 33042 32934 -3 32935 33043 32934 -3 33149 33148 33042 -3 33043 33149 33042 -3 33253 33252 33148 -3 33149 33253 33148 -3 33362 33361 33252 -3 33253 33362 33252 -3 33474 33473 33361 -3 33362 33474 33361 -3 33474 33591 33590 -3 33473 33474 33590 -3 33591 33712 33711 -3 33590 33591 33711 -3 33712 33840 33839 -3 33711 33712 33839 -3 33840 33975 33974 -3 33839 33840 33974 -3 35396 13895 35639 -3 13895 35396 9991 -3 34111 34249 34248 -3 13895 13390 35639 -3 34249 34387 34386 -3 34248 34249 34386 -3 34387 34524 34523 -3 34386 34387 34523 -3 34524 34652 34651 -3 34523 34524 34651 -3 26968 28745 29008 -3 34652 34780 17277 -3 34651 34652 17276 -3 13789 34195 14736 -3 33085 33084 32978 -3 32887 32886 32774 -3 33897 34032 33896 -3 31377 31444 31376 -3 33101 33206 33100 -3 33176 33281 33175 -3 34878 2789 19042 -3 32914 32913 32801 -3 18611 22238 18041 -3 3225 13024 3226 -3 34878 34862 30805 -3 2789 34878 30805 -3 33931 33921 34862 -3 34878 33931 34862 -3 35125 35123 33921 -3 33931 35125 33921 -3 33463 33234 35123 -3 35125 33463 35123 -3 25659 35318 33234 -3 33463 25659 33234 -3 19669 33705 35318 -3 25659 19669 35318 -3 12204 33558 33705 -3 19669 12204 33705 -3 12204 35130 33663 -3 33558 12204 33663 -3 35130 34650 28867 -3 33663 35130 28867 -3 34650 34737 34466 -3 28867 34650 34466 -3 34737 33813 35245 -3 34466 34737 35245 -3 33813 33577 33448 -3 35245 33813 33448 -3 33577 33690 2386 -3 33448 33577 2386 -3 33690 35323 34084 -3 2386 33690 34084 -3 35323 33687 13024 -3 34084 35323 13024 -3 13115 6138 11549 -3 17414 17336 17337 -3 32411 32410 32307 -3 32308 32411 32307 -3 33879 33878 33744 -3 33879 34014 33878 -3 33014 33013 32905 -3 32876 32875 32763 -3 34289 34288 34150 -3 31464 31536 31463 -3 31453 31525 31452 -3 31904 31903 31797 -3 32318 32319 32421 -3 31612 31611 31524 -3 33619 33618 33499 -3 32218 32319 32318 -3 33751 33885 33750 -3 31949 32046 31948 -3 32116 32216 32115 -3 30952 31010 30951 -3 31715 31716 31815 -3 32982 32983 33088 -3 34816 34815 34687 -3 32426 32427 32531 -3 30849 30903 30902 -3 30961 30960 30902 -3 30903 30961 30902 -3 30961 31022 31021 -3 30960 30961 31021 -3 31084 31083 31021 -3 31022 31084 31021 -3 31147 31146 31083 -3 31084 31147 31083 -3 31211 31210 31146 -3 31147 31211 31146 -3 31276 31275 31210 -3 31211 31276 31210 -3 31343 31342 31275 -3 31276 31343 31275 -3 31410 31409 31342 -3 31343 31410 31342 -3 31482 31481 31409 -3 31410 31482 31409 -3 31569 31568 31481 -3 31482 31569 31481 -3 31664 31663 31568 -3 31569 31664 31568 -3 31764 31763 31663 -3 31664 31764 31663 -3 31870 31869 31763 -3 31764 31870 31763 -3 31971 31970 31869 -3 31870 31971 31869 -3 32071 32070 31970 -3 31971 32071 31970 -3 32171 32170 32070 -3 32071 32171 32070 -3 32272 32271 32170 -3 32171 32272 32170 -3 32375 32374 32271 -3 32272 32375 32271 -3 32480 32479 32374 -3 32375 32480 32374 -3 32589 32588 32479 -3 32480 32589 32479 -3 32703 32702 32588 -3 32589 32703 32588 -3 32823 32822 32702 -3 32703 32823 32702 -3 32936 32935 32822 -3 32823 32936 32822 -3 33044 33043 32935 -3 32936 33044 32935 -3 33150 33149 33043 -3 33044 33150 33043 -3 33254 33253 33149 -3 33150 33254 33149 -3 33363 33362 33253 -3 33254 33363 33253 -3 33475 33474 33362 -3 33363 33475 33362 -3 33592 33591 33474 -3 33475 33592 33474 -3 33592 33713 33712 -3 33591 33592 33712 -3 33841 33840 33712 -3 33713 33841 33712 -3 33976 33975 33840 -3 33841 33976 33840 -3 34112 34111 33975 -3 33976 34112 33975 -3 34250 34249 34111 -3 34112 34250 34111 -3 34388 34387 34249 -3 34250 34388 34249 -3 34525 34524 34387 -3 34388 34525 34387 -3 34525 34653 34652 -3 34524 34525 34652 -3 34653 34781 34780 -3 34652 34653 34780 -3 34781 34910 34909 -3 34780 34781 34909 -3 10688 18814 18699 -3 35704 35894 35728 -3 34032 34031 33896 -3 6912 22236 22434 -3 32123 32223 32222 -3 31809 31915 31808 -3 32324 32427 32426 -3 32620 32734 32619 -3 17416 26850 17417 -3 34944 34943 34814 -3 29828 35556 35246 -3 26850 17416 17337 -3 33934 2139 35132 -3 33698 33825 28584 -3 35128 35125 33931 -3 33934 35128 33931 -3 33464 33463 35125 -3 35128 33464 35125 -3 31855 25659 33463 -3 33464 31855 33463 -3 33242 19669 25659 -3 31855 33242 25659 -3 13965 12204 19669 -3 33242 13965 19669 -3 13965 17339 35130 -3 12204 13965 35130 -3 17339 34471 34650 -3 35130 17339 34650 -3 34471 34746 34737 -3 34650 34471 34737 -3 34746 34331 33813 -3 34737 34746 33813 -3 34331 34080 33577 -3 33813 34331 33577 -3 34080 33572 33690 -3 33577 34080 33690 -3 33572 35143 35323 -3 33690 33572 35323 -3 35143 14068 33687 -3 35323 35143 33687 -3 11442 33928 20153 -3 22428 9644 22526 -3 32516 32515 32410 -3 32411 32516 32410 -3 33499 33618 33498 -3 33745 33879 33744 -3 31063 31062 31001 -3 33745 33744 33617 -3 31453 31452 31385 -3 35070 35199 35198 -3 31319 31386 31318 -3 31386 31453 31385 -3 32217 32218 32318 -3 32422 32527 32526 -3 33387 33500 33386 -3 30945 30944 30890 -3 32901 32900 32788 -3 32225 32224 32124 -3 33625 33624 33505 -3 33751 33750 33623 -3 32323 32324 32426 -3 31136 31199 31198 -3 32427 32532 32531 -3 30904 30903 30849 -3 30850 30904 30849 -3 30962 30961 30903 -3 30904 30962 30903 -3 31023 31022 30961 -3 30962 31023 30961 -3 31085 31084 31022 -3 31023 31085 31022 -3 31148 31147 31084 -3 31085 31148 31084 -3 31212 31211 31147 -3 31148 31212 31147 -3 31277 31276 31211 -3 31212 31277 31211 -3 31344 31343 31276 -3 31277 31344 31276 -3 31411 31410 31343 -3 31344 31411 31343 -3 31483 31482 31410 -3 31411 31483 31410 -3 31570 31569 31482 -3 31483 31570 31482 -3 31665 31664 31569 -3 31570 31665 31569 -3 31765 31764 31664 -3 31665 31765 31664 -3 31871 31870 31764 -3 31765 31871 31764 -3 31972 31971 31870 -3 31871 31972 31870 -3 32072 32071 31971 -3 31972 32072 31971 -3 32172 32171 32071 -3 32072 32172 32071 -3 32273 32272 32171 -3 32172 32273 32171 -3 32376 32375 32272 -3 32273 32376 32272 -3 32481 32480 32375 -3 32376 32481 32375 -3 32590 32589 32480 -3 32481 32590 32480 -3 32704 32703 32589 -3 32590 32704 32589 -3 32824 32823 32703 -3 32704 32824 32703 -3 32937 32936 32823 -3 32824 32937 32823 -3 33045 33044 32936 -3 32937 33045 32936 -3 33151 33150 33044 -3 33045 33151 33044 -3 33255 33254 33150 -3 33151 33255 33150 -3 33364 33363 33254 -3 33255 33364 33254 -3 33476 33475 33363 -3 33364 33476 33363 -3 33593 33592 33475 -3 33476 33593 33475 -3 33714 33713 33592 -3 33593 33714 33592 -3 33842 33841 33713 -3 33714 33842 33713 -3 33977 33976 33841 -3 33842 33977 33841 -3 34113 34112 33976 -3 33977 34113 33976 -3 34251 34250 34112 -3 34113 34251 34112 -3 34389 34388 34250 -3 34251 34389 34250 -3 34526 34525 34388 -3 34389 34526 34388 -3 34654 34653 34525 -3 34526 34654 34525 -3 34654 34782 34781 -3 34653 34654 34781 -3 34782 34911 34910 -3 34781 34782 34910 -3 35597 35564 35715 -3 26853 26971 11853 -3 805 33552 806 -3 26853 11853 11769 -3 33179 33178 33073 -3 33025 6541 10599 -3 32247 32349 32246 -3 33283 33392 33282 -3 31135 31136 31198 -3 31195 31259 31258 -3 31373 31372 31305 -3 33071 33176 33070 -3 10809 6513 6514 -3 31306 31373 31305 -3 35132 35128 33934 -3 17335 17272 17336 -3 33557 33464 35128 -3 35132 33557 35128 -3 28877 31855 33464 -3 33557 28877 33464 -3 33238 33242 31855 -3 28877 33238 31855 -3 33238 35242 13965 -3 33242 33238 13965 -3 14266 17339 13965 -3 35242 14266 13965 -3 14266 11873 34471 -3 17339 14266 34471 -3 11873 34480 34746 -3 34471 11873 34746 -3 34480 33667 34331 -3 34746 34480 34331 -3 33667 34109 34080 -3 34331 33667 34080 -3 34109 28463 33572 -3 34080 34109 33572 -3 28463 35131 35143 -3 33572 28463 35143 -3 2542 25829 24277 -3 35143 35131 14068 -3 31948 31947 31849 -3 19821 34075 19937 -3 33499 33498 33385 -3 32625 32624 32515 -3 31125 31188 31187 -3 33386 33499 33385 -3 31319 31318 31253 -3 31002 31063 31001 -3 32750 32862 32749 -3 31254 31319 31253 -3 32970 32969 32861 -3 32862 32970 32861 -3 34151 34289 34150 -3 32319 32422 32421 -3 32847 32955 32846 -3 34564 34563 34426 -3 32406 32511 32405 -3 32210 32311 32209 -3 33506 33625 33505 -3 32527 32528 32636 -3 32654 32775 32774 -3 32628 32627 32518 -3 30905 30904 30850 -3 30851 30905 30850 -3 30963 30962 30904 -3 30905 30963 30904 -3 31024 31023 30962 -3 30963 31024 30962 -3 31086 31085 31023 -3 31024 31086 31023 -3 31149 31148 31085 -3 31086 31149 31085 -3 31213 31212 31148 -3 31149 31213 31148 -3 31278 31277 31212 -3 31213 31278 31212 -3 31345 31344 31277 -3 31278 31345 31277 -3 31412 31411 31344 -3 31345 31412 31344 -3 31484 31483 31411 -3 31412 31484 31411 -3 31571 31570 31483 -3 31484 31571 31483 -3 31666 31665 31570 -3 31571 31666 31570 -3 31766 31765 31665 -3 31666 31766 31665 -3 31872 31871 31765 -3 31766 31872 31765 -3 31973 31972 31871 -3 31872 31973 31871 -3 32073 32072 31972 -3 31973 32073 31972 -3 32173 32172 32072 -3 32073 32173 32072 -3 32274 32273 32172 -3 32173 32274 32172 -3 32377 32376 32273 -3 32274 32377 32273 -3 32482 32481 32376 -3 32377 32482 32376 -3 32591 32590 32481 -3 32482 32591 32481 -3 32705 32704 32590 -3 32591 32705 32590 -3 32825 32824 32704 -3 32705 32825 32704 -3 32938 32937 32824 -3 32825 32938 32824 -3 33046 33045 32937 -3 32938 33046 32937 -3 33152 33151 33045 -3 33046 33152 33045 -3 33256 33255 33151 -3 33152 33256 33151 -3 33365 33364 33255 -3 33256 33365 33255 -3 33477 33476 33364 -3 33365 33477 33364 -3 33594 33593 33476 -3 33477 33594 33476 -3 33715 33714 33593 -3 33594 33715 33593 -3 33843 33842 33714 -3 33715 33843 33714 -3 33978 33977 33842 -3 33843 33978 33842 -3 34114 34113 33977 -3 33978 34114 33977 -3 34252 34251 34113 -3 34114 34252 34113 -3 34390 34389 34251 -3 34252 34390 34251 -3 34527 34526 34389 -3 34390 34527 34389 -3 34655 34654 34526 -3 34527 34655 34526 -3 34783 34782 34654 -3 34655 34783 34654 -3 34783 34912 34911 -3 34782 34783 34911 -3 34912 35041 35040 -3 34911 34912 35040 -3 35041 35170 35169 -3 35040 35041 35169 -3 114 34845 115 -3 35333 13984 13106 -3 13105 28591 19572 -3 17487 17398 17399 -3 32541 32654 32653 -3 32419 32524 32418 -3 32653 32654 32774 -3 9106 179 8876 -3 31241 31306 31240 -3 31924 32025 31923 -3 35142 35135 2141 -3 14068 35131 3089 -3 33579 33557 35132 -3 35135 33579 35132 -3 12811 28877 33557 -3 33579 12811 33557 -3 5603 33238 28877 -3 12811 5603 28877 -3 33791 35242 33238 -3 5603 33791 33238 -3 33791 35255 14266 -3 35242 33791 14266 -3 35255 34620 11873 -3 14266 35255 11873 -3 34620 34192 34480 -3 11873 34620 34480 -3 34192 34484 33667 -3 34480 34192 33667 -3 34484 13484 34109 -3 33667 34484 34109 -3 13484 34349 28463 -3 34109 13484 28463 -3 34349 34203 35131 -3 28463 34349 35131 -3 192 11923 33948 -3 35204 35203 35074 -3 32739 32851 32738 -3 32851 32959 32850 -3 33172 33277 33171 -3 33618 33617 33498 -3 31063 31125 31124 -3 31124 31125 31187 -3 31126 31127 31189 -3 31386 31385 31318 -3 32636 32750 32635 -3 33076 33075 32969 -3 34289 34427 34288 -3 33496 33615 33495 -3 32118 32119 32218 -3 34427 34426 34288 -3 34020 34019 33884 -3 35093 35092 34963 -3 31909 31908 31802 -3 33624 33751 33623 -3 33651 33778 33650 -3 33392 33391 33282 -3 31835 31933 31834 -3 30842 30852 30851 -3 30906 30905 30851 -3 30852 30906 30851 -3 30964 30963 30905 -3 30906 30964 30905 -3 31025 31024 30963 -3 30964 31025 30963 -3 31087 31086 31024 -3 31025 31087 31024 -3 31150 31149 31086 -3 31087 31150 31086 -3 31214 31213 31149 -3 31150 31214 31149 -3 31279 31278 31213 -3 31214 31279 31213 -3 31346 31345 31278 -3 31279 31346 31278 -3 31413 31412 31345 -3 31346 31413 31345 -3 31485 31484 31412 -3 31413 31485 31412 -3 31572 31571 31484 -3 31485 31572 31484 -3 31667 31666 31571 -3 31572 31667 31571 -3 31767 31766 31666 -3 31667 31767 31666 -3 31873 31872 31766 -3 31767 31873 31766 -3 31974 31973 31872 -3 31873 31974 31872 -3 32074 32073 31973 -3 31974 32074 31973 -3 32174 32173 32073 -3 32074 32174 32073 -3 32275 32274 32173 -3 32174 32275 32173 -3 32378 32377 32274 -3 32275 32378 32274 -3 32483 32482 32377 -3 32378 32483 32377 -3 32592 32591 32482 -3 32483 32592 32482 -3 32706 32705 32591 -3 32592 32706 32591 -3 32826 32825 32705 -3 32706 32826 32705 -3 32939 32938 32825 -3 32826 32939 32825 -3 33047 33046 32938 -3 32939 33047 32938 -3 33153 33152 33046 -3 33047 33153 33046 -3 33257 33256 33152 -3 33153 33257 33152 -3 33366 33365 33256 -3 33257 33366 33256 -3 33478 33477 33365 -3 33366 33478 33365 -3 33595 33594 33477 -3 33478 33595 33477 -3 33716 33715 33594 -3 33595 33716 33594 -3 33844 33843 33715 -3 33716 33844 33715 -3 33979 33978 33843 -3 33844 33979 33843 -3 34115 34114 33978 -3 33979 34115 33978 -3 34253 34252 34114 -3 34115 34253 34114 -3 34391 34390 34252 -3 34253 34391 34252 -3 34528 34527 34390 -3 34391 34528 34390 -3 34656 34655 34527 -3 34528 34656 34527 -3 34784 34783 34655 -3 34656 34784 34655 -3 34913 34912 34783 -3 34784 34913 34783 -3 35042 35041 34912 -3 34913 35042 34912 -3 35042 35171 35170 -3 35041 35042 35170 -3 34861 3496 13307 -3 35171 35300 35170 -3 30887 30941 30886 -3 21109 21198 21197 -3 31703 31803 31702 -3 34151 34150 34014 -3 32030 32127 32029 -3 33418 33419 33531 -3 33299 33408 33407 -3 33966 33965 21280 -3 2142 35167 35142 -3 17319 17480 18700 -3 33581 33579 35135 -3 35142 33581 35135 -3 32802 12811 33579 -3 33581 32802 33579 -3 32460 5603 12811 -3 32802 32460 12811 -3 32916 33791 5603 -3 32460 32916 5603 -3 32916 15629 35255 -3 33791 32916 35255 -3 15629 29404 34620 -3 35255 15629 34620 -3 29404 22140 34192 -3 34620 29404 34192 -3 22140 34876 34484 -3 34192 22140 34484 -3 34876 32461 13484 -3 34484 34876 13484 -3 2677 17288 29691 -3 13484 32461 34349 -3 11431 11488 11430 -3 7522 7523 7637 -3 34283 34282 34144 -3 7521 7635 7520 -3 32625 32739 32624 -3 32959 32958 32850 -3 33386 33385 33276 -3 33277 33386 33276 -3 31002 31001 30943 -3 31062 31063 31124 -3 31190 31254 31253 -3 31189 31190 31253 -3 32527 32636 32526 -3 32862 32861 32749 -3 33742 33741 33614 -3 34015 34014 33879 -3 32420 32525 32419 -3 32525 32634 32524 -3 34989 13394 19668 -3 31009 31008 30950 -3 31735 31835 31734 -3 31258 31259 31323 -3 34074 19806 18512 -3 32031 32128 32127 -3 32030 32031 32127 -3 33420 33419 33310 -3 30853 30852 30842 -3 30843 30853 30842 -3 30907 30906 30852 -3 30853 30907 30852 -3 30965 30964 30906 -3 30907 30965 30906 -3 31026 31025 30964 -3 30965 31026 30964 -3 31088 31087 31025 -3 31026 31088 31025 -3 31151 31150 31087 -3 31088 31151 31087 -3 31215 31214 31150 -3 31151 31215 31150 -3 31280 31279 31214 -3 31215 31280 31214 -3 31347 31346 31279 -3 31280 31347 31279 -3 31414 31413 31346 -3 31347 31414 31346 -3 31486 31485 31413 -3 31414 31486 31413 -3 31573 31572 31485 -3 31486 31573 31485 -3 31668 31667 31572 -3 31573 31668 31572 -3 31768 31767 31667 -3 31668 31768 31667 -3 31874 31873 31767 -3 31768 31874 31767 -3 31975 31974 31873 -3 31874 31975 31873 -3 32075 32074 31974 -3 31975 32075 31974 -3 32175 32174 32074 -3 32075 32175 32074 -3 32276 32275 32174 -3 32175 32276 32174 -3 32379 32378 32275 -3 32276 32379 32275 -3 32484 32483 32378 -3 32379 32484 32378 -3 32593 32592 32483 -3 32484 32593 32483 -3 32707 32706 32592 -3 32593 32707 32592 -3 32827 32826 32706 -3 32707 32827 32706 -3 32940 32939 32826 -3 32827 32940 32826 -3 33048 33047 32939 -3 32940 33048 32939 -3 33154 33153 33047 -3 33048 33154 33047 -3 33258 33257 33153 -3 33154 33258 33153 -3 33367 33366 33257 -3 33258 33367 33257 -3 33479 33478 33366 -3 33367 33479 33366 -3 33596 33595 33478 -3 33479 33596 33478 -3 33717 33716 33595 -3 33596 33717 33595 -3 33845 33844 33716 -3 33717 33845 33716 -3 33980 33979 33844 -3 33845 33980 33844 -3 34116 34115 33979 -3 33980 34116 33979 -3 34254 34253 34115 -3 34116 34254 34115 -3 34392 34391 34253 -3 34254 34392 34253 -3 34529 34528 34391 -3 34392 34529 34391 -3 34657 34656 34528 -3 34529 34657 34528 -3 34785 34784 34656 -3 34657 34785 34656 -3 34914 34913 34784 -3 34785 34914 34784 -3 35043 35042 34913 -3 34914 35043 34913 -3 35172 35171 35042 -3 35043 35172 35042 -3 35172 35301 35300 -3 35171 35172 35300 -3 19806 34731 23489 -3 35301 13221 35300 -3 35091 35220 35090 -3 2143 35167 2142 -3 33311 33420 33310 -3 32619 32618 32509 -3 31934 32031 31933 -3 31442 31441 31374 -3 33583 35167 2143 -3 17326 17325 33031 -3 33583 33581 35142 -3 35167 33583 35142 -3 33338 32802 33581 -3 33583 33338 33581 -3 34358 32460 32802 -3 33338 34358 32802 -3 35258 32916 32460 -3 34358 35258 32460 -3 35258 35126 15629 -3 32916 35258 15629 -3 35126 27670 29404 -3 15629 35126 29404 -3 27670 35320 22140 -3 29404 27670 22140 -3 35320 34497 34876 -3 22140 35320 34876 -3 34497 6643 32461 -3 34876 34497 32461 -3 34349 32461 2950 -3 27988 3092 2950 -3 33942 19370 19479 -3 6886 6955 6954 -3 33495 33614 33494 -3 19751 19099 18963 -3 32516 32625 32515 -3 32851 32850 32738 -3 33277 33276 33171 -3 33618 33745 33617 -3 30944 30943 30889 -3 30944 31002 30943 -3 31127 31190 31189 -3 31525 31524 31452 -3 32421 32422 32526 -3 32750 32749 32635 -3 31630 31629 31542 -3 34423 34560 34422 -3 33624 33623 33504 -3 32019 32119 32118 -3 32405 32404 32301 -3 32106 32206 32105 -3 33101 33100 32994 -3 33532 33651 33650 -3 32801 32800 32679 -3 19820 17695 18037 -3 32913 32912 32800 -3 32801 32913 32800 -3 30854 30853 30843 -3 30844 30854 30843 -3 30908 30907 30853 -3 30854 30908 30853 -3 30966 30965 30907 -3 30908 30966 30907 -3 31027 31026 30965 -3 30966 31027 30965 -3 31089 31088 31026 -3 31027 31089 31026 -3 31152 31151 31088 -3 31089 31152 31088 -3 31216 31215 31151 -3 31152 31216 31151 -3 31281 31280 31215 -3 31216 31281 31215 -3 31348 31347 31280 -3 31281 31348 31280 -3 31415 31414 31347 -3 31348 31415 31347 -3 31487 31486 31414 -3 31415 31487 31414 -3 31574 31573 31486 -3 31487 31574 31486 -3 31669 31668 31573 -3 31574 31669 31573 -3 31769 31768 31668 -3 31669 31769 31668 -3 31875 31874 31768 -3 31769 31875 31768 -3 31976 31975 31874 -3 31875 31976 31874 -3 32076 32075 31975 -3 31976 32076 31975 -3 32176 32175 32075 -3 32076 32176 32075 -3 32277 32276 32175 -3 32176 32277 32175 -3 32380 32379 32276 -3 32277 32380 32276 -3 32485 32484 32379 -3 32380 32485 32379 -3 32594 32593 32484 -3 32485 32594 32484 -3 32708 32707 32593 -3 32594 32708 32593 -3 32828 32827 32707 -3 32708 32828 32707 -3 32828 32940 32827 -3 33259 33258 33154 -3 33259 33368 33367 -3 33258 33259 33367 -3 33480 33479 33367 -3 33368 33480 33367 -3 33597 33596 33479 -3 33480 33597 33479 -3 33718 33717 33596 -3 33597 33718 33596 -3 33846 33845 33717 -3 33718 33846 33717 -3 33981 33980 33845 -3 33846 33981 33845 -3 34117 34116 33980 -3 33981 34117 33980 -3 34255 34254 34116 -3 34117 34255 34116 -3 34393 34392 34254 -3 34255 34393 34254 -3 34530 34529 34392 -3 34393 34530 34392 -3 34658 34657 34529 -3 34530 34658 34529 -3 34786 34785 34657 -3 34658 34786 34657 -3 34915 34914 34785 -3 34786 34915 34785 -3 35044 35043 34914 -3 34915 35044 34914 -3 35173 35172 35043 -3 35044 35173 35043 -3 35173 35302 35301 -3 35172 35173 35301 -3 14262 13221 35301 -3 35302 14262 35301 -3 27757 21938 29405 -3 19422 18374 18224 -3 31599 31694 31598 -3 32845 32953 32844 -3 33021 33020 32912 -3 32913 33021 32912 -3 3095 3094 34079 -3 31747 31746 31651 -3 17457 26966 17458 -3 2789 2009 19042 -3 33457 2275 12573 -3 28580 28581 28710 -3 33814 34358 33338 -3 33457 33814 33338 -3 34873 35258 34358 -3 33814 34873 34358 -3 34873 34735 35126 -3 35258 34873 35126 -3 34735 33926 27670 -3 35126 34735 27670 -3 33926 28550 35320 -3 27670 33926 35320 -3 28550 34210 34497 -3 35320 28550 34497 -3 34210 28868 6643 -3 34497 34210 6643 -3 28868 34329 27988 -3 6643 28868 27988 -3 21276 21277 27382 -3 2709 3731 14438 -3 30936 30935 30881 -3 29403 35101 19523 -3 33172 33171 33066 -3 32739 32738 32624 -3 31252 31317 31251 -3 33067 33172 33066 -3 31004 31065 31003 -3 30890 30944 30889 -3 33286 33285 33180 -3 31065 31127 31126 -3 31191 31192 31255 -3 32636 32635 32526 -3 33438 33551 33550 -3 33610 33609 33490 -3 34420 34419 34281 -3 33885 33884 33750 -3 17354 17353 17286 -3 34418 34555 34417 -3 31847 31846 31746 -3 31747 31847 31746 -3 31945 31944 31846 -3 31847 31945 31846 -3 32042 32041 31944 -3 31945 32042 31944 -3 30855 30854 30844 -3 30845 30855 30844 -3 30909 30908 30854 -3 30855 30909 30854 -3 30967 30966 30908 -3 30909 30967 30908 -3 31028 31027 30966 -3 30967 31028 30966 -3 31090 31089 31027 -3 31028 31090 31027 -3 31153 31152 31089 -3 31090 31153 31089 -3 31217 31216 31152 -3 31153 31217 31152 -3 31282 31281 31216 -3 31217 31282 31216 -3 31349 31348 31281 -3 31282 31349 31281 -3 31416 31415 31348 -3 31349 31416 31348 -3 31488 31487 31415 -3 31416 31488 31415 -3 31575 31574 31487 -3 31488 31575 31487 -3 31670 31669 31574 -3 31575 31670 31574 -3 31770 31769 31669 -3 31670 31770 31669 -3 31876 31875 31769 -3 31770 31876 31769 -3 31977 31976 31875 -3 31876 31977 31875 -3 32077 32076 31976 -3 31977 32077 31976 -3 32177 32176 32076 -3 32077 32177 32076 -3 32278 32277 32176 -3 32177 32278 32176 -3 32381 32380 32277 -3 32278 32381 32277 -3 32486 32485 32380 -3 32381 32486 32380 -3 32595 32594 32485 -3 32486 32595 32485 -3 32709 32708 32594 -3 32595 32709 32594 -3 32829 32828 32708 -3 32709 32829 32708 -3 33369 33368 33259 -3 33481 33480 33368 -3 33369 33481 33368 -3 33598 33597 33480 -3 33481 33598 33480 -3 33719 33718 33597 -3 33598 33719 33597 -3 33847 33846 33718 -3 33719 33847 33718 -3 33982 33981 33846 -3 33847 33982 33846 -3 34118 34117 33981 -3 33982 34118 33981 -3 34256 34255 34117 -3 34118 34256 34117 -3 34394 34393 34255 -3 34256 34394 34255 -3 34531 34530 34393 -3 34394 34531 34393 -3 34659 34658 34530 -3 34531 34659 34530 -3 34787 34786 34658 -3 34659 34787 34658 -3 34916 34915 34786 -3 34787 34916 34786 -3 35045 35044 34915 -3 34916 35045 34915 -3 35174 35173 35044 -3 35045 35174 35044 -3 35303 35302 35173 -3 35174 35303 35173 -3 3329 14262 35302 -3 35303 3329 35302 -3 22528 33796 19321 -3 16257 10454 14832 -3 31901 31900 31794 -3 34144 34282 34143 -3 32139 32138 32041 -3 32671 32670 32557 -3 32042 32139 32041 -3 32239 32238 32138 -3 31067 31129 31128 -3 32139 32239 32138 -3 17332 17410 17331 -3 34160 34298 34159 -3 12573 33814 33457 -3 2008 14284 18937 -3 12573 35003 34873 -3 33814 12573 34873 -3 35003 13509 34735 -3 34873 35003 34735 -3 13509 34997 33926 -3 34735 13509 33926 -3 34997 33130 28550 -3 33926 34997 28550 -3 33130 33709 34210 -3 28550 33130 34210 -3 33709 29409 28868 -3 34210 33709 28868 -3 29409 34079 34329 -3 28868 29409 34329 -3 19099 19751 27032 -3 8665 10723 10599 -3 22434 6913 6912 -3 16932 20153 18621 -3 32961 33067 32960 -3 34011 34147 34010 -3 31188 31252 31251 -3 31384 31383 31316 -3 30946 31004 30945 -3 31064 31065 31126 -3 32970 33076 32969 -3 33181 33286 33180 -3 34298 34297 34159 -3 33491 33610 33490 -3 35093 35222 35092 -3 33437 33438 33550 -3 2276 30090 12573 -3 34811 34810 34682 -3 32341 32340 32238 -3 32239 32341 32238 -3 32445 32444 32340 -3 32341 32445 32340 -3 32552 32551 32444 -3 34964 35093 34963 -3 32445 32552 32444 -3 32665 32664 32551 -3 30856 30855 30845 -3 30846 30856 30845 -3 30910 30909 30855 -3 30856 30910 30855 -3 30968 30967 30909 -3 30910 30968 30909 -3 31029 31028 30967 -3 30968 31029 30967 -3 31091 31090 31028 -3 31029 31091 31028 -3 31154 31153 31090 -3 31091 31154 31090 -3 31218 31217 31153 -3 31154 31218 31153 -3 31283 31282 31217 -3 31218 31283 31217 -3 31350 31349 31282 -3 31283 31350 31282 -3 31417 31416 31349 -3 31350 31417 31349 -3 31489 31488 31416 -3 31417 31489 31416 -3 31576 31575 31488 -3 31489 31576 31488 -3 31671 31670 31575 -3 31576 31671 31575 -3 31771 31770 31670 -3 31671 31771 31670 -3 31877 31876 31770 -3 31771 31877 31770 -3 31978 31977 31876 -3 31877 31978 31876 -3 32078 32077 31977 -3 31978 32078 31977 -3 32178 32177 32077 -3 32078 32178 32077 -3 32279 32278 32177 -3 32178 32279 32177 -3 32382 32381 32278 -3 32279 32382 32278 -3 32487 32486 32381 -3 32382 32487 32381 -3 32596 32595 32486 -3 32487 32596 32486 -3 32710 32709 32595 -3 32596 32710 32595 -3 32710 32829 32709 -3 33482 33481 33369 -3 33482 33599 33598 -3 33481 33482 33598 -3 33720 33719 33598 -3 33599 33720 33598 -3 33848 33847 33719 -3 33720 33848 33719 -3 33983 33982 33847 -3 33848 33983 33847 -3 34119 34118 33982 -3 33983 34119 33982 -3 34257 34256 34118 -3 34119 34257 34118 -3 34395 34394 34256 -3 34257 34395 34256 -3 34532 34531 34394 -3 34395 34532 34394 -3 34660 34659 34531 -3 34532 34660 34531 -3 34788 34787 34659 -3 34660 34788 34659 -3 34917 34916 34787 -3 34788 34917 34787 -3 35046 35045 34916 -3 34917 35046 34916 -3 35175 35174 35045 -3 35046 35175 35045 -3 35304 35303 35174 -3 35175 35304 35174 -3 35304 29691 3329 -3 35303 35304 3329 -3 30823 28871 17387 -3 32801 32679 11650 -3 32328 32431 32327 -3 26682 24725 26681 -3 32552 32665 32551 -3 32786 32785 32664 -3 32665 32786 32664 -3 32898 32897 32785 -3 32786 32898 32785 -3 33006 33005 32897 -3 32763 32875 32762 -3 32154 32153 12129 -3 17357 17288 2677 -3 22029 21935 22030 -3 30090 33680 35003 -3 12573 30090 35003 -3 33680 33941 13509 -3 35003 33680 13509 -3 33941 34866 34997 -3 13509 33941 34997 -3 34866 34847 33130 -3 34997 34866 33130 -3 34847 14275 33709 -3 33130 34847 33709 -3 14275 34871 29409 -3 33709 14275 29409 -3 34871 34479 34079 -3 29409 34871 34079 -3 35164 18937 35293 -3 18937 35164 35165 -3 6940 7038 6939 -3 17814 18901 17815 -3 32853 32961 32852 -3 31545 31544 31472 -3 31187 31188 31251 -3 31317 31316 31251 -3 30892 30946 30891 -3 31065 31064 31003 -3 33181 33180 33075 -3 33076 33181 33075 -3 32428 32429 32533 -3 21839 29355 29217 -3 33409 33408 33299 -3 33768 33902 33767 -3 34716 34717 34844 -3 33634 33633 33514 -3 32898 33006 32897 -3 33112 33111 33005 -3 33006 33112 33005 -3 33217 33216 33111 -3 33112 33217 33111 -3 33322 33321 33216 -3 33217 33322 33216 -3 33431 33430 33321 -3 30857 30856 30846 -3 30847 30857 30846 -3 30911 30910 30856 -3 30857 30911 30856 -3 30969 30968 30910 -3 30911 30969 30910 -3 31030 31029 30968 -3 30969 31030 30968 -3 31092 31091 31029 -3 31030 31092 31029 -3 31155 31154 31091 -3 31092 31155 31091 -3 31219 31218 31154 -3 31155 31219 31154 -3 31284 31283 31218 -3 31219 31284 31218 -3 31351 31350 31283 -3 31284 31351 31283 -3 31418 31417 31350 -3 31351 31418 31350 -3 31490 31489 31417 -3 31418 31490 31417 -3 31577 31576 31489 -3 31490 31577 31489 -3 31672 31671 31576 -3 31577 31672 31576 -3 31772 31771 31671 -3 31672 31772 31671 -3 31878 31877 31771 -3 31979 31978 31877 -3 31878 31979 31877 -3 32079 32078 31978 -3 31979 32079 31978 -3 32179 32178 32078 -3 32079 32179 32078 -3 32280 32279 32178 -3 32179 32280 32178 -3 32383 32382 32279 -3 32280 32383 32279 -3 32488 32487 32382 -3 32383 32488 32382 -3 32488 32597 32596 -3 32487 32488 32596 -3 32597 32711 32710 -3 32596 32597 32710 -3 33600 33599 33482 -3 33721 33720 33599 -3 33600 33721 33599 -3 33849 33848 33720 -3 33721 33849 33720 -3 33984 33983 33848 -3 33849 33984 33848 -3 34120 34119 33983 -3 33984 34120 33983 -3 34258 34257 34119 -3 34120 34258 34119 -3 34396 34395 34257 -3 34258 34396 34257 -3 34533 34532 34395 -3 34396 34533 34395 -3 34661 34660 34532 -3 34533 34661 34532 -3 34789 34788 34660 -3 34661 34789 34660 -3 34918 34917 34788 -3 34789 34918 34788 -3 35047 35046 34917 -3 34918 35047 34917 -3 35176 35175 35046 -3 35047 35176 35046 -3 35305 35304 35175 -3 35176 35305 35175 -3 28679 29691 35304 -3 35305 28679 35304 -3 29691 17288 3329 -3 28679 2677 29691 -3 18299 2009 2008 -3 33543 7171 7170 -3 33322 33431 33321 -3 16459 15610 6791 -3 29944 24847 27528 -3 32003 32103 32002 -3 21548 21640 21547 -3 32227 32226 32126 -3 34589 34717 34588 -3 21834 21833 21739 -3 3095 3235 3234 -3 2411 13101 33941 -3 17357 17290 17358 -3 33680 2411 33941 -3 17290 17357 2677 -3 13101 454 34866 -3 33941 13101 34866 -3 454 35238 34847 -3 34866 454 34847 -3 35238 34868 14275 -3 34847 35238 14275 -3 34868 35325 34871 -3 14275 34868 34871 -3 35325 33023 34479 -3 34871 35325 34479 -3 682 33547 800 -3 3096 3097 3236 -3 6974 34718 34719 -3 17355 17286 17287 -3 32741 32853 32740 -3 33067 33066 32960 -3 31317 31384 31316 -3 31451 31450 31383 -3 32345 32449 32344 -3 31004 31003 30945 -3 33395 33394 33285 -3 33286 33395 33285 -3 31544 31631 31543 -3 31192 31256 31255 -3 31297 31364 31296 -3 32309 32412 32308 -3 34452 34589 34451 -3 16007 78 13297 -3 32887 32995 32886 -3 32423 32528 32527 -3 33127 33126 33020 -3 31836 31934 31835 -3 33021 33127 33020 -3 7966 1275 8082 -3 33016 33122 33015 -3 30858 30857 30847 -3 30848 30858 30847 -3 30912 30911 30857 -3 30858 30912 30857 -3 30970 30969 30911 -3 30912 30970 30911 -3 31031 31030 30969 -3 30970 31031 30969 -3 31093 31092 31030 -3 31031 31093 31030 -3 31156 31155 31092 -3 31093 31156 31092 -3 31220 31219 31155 -3 31156 31220 31155 -3 31285 31284 31219 -3 31220 31285 31219 -3 31352 31351 31284 -3 31285 31352 31284 -3 31419 31418 31351 -3 31352 31419 31351 -3 31491 31490 31418 -3 31419 31491 31418 -3 31578 31577 31490 -3 31491 31578 31490 -3 31673 31672 31577 -3 31578 31673 31577 -3 31773 31772 31672 -3 31673 31773 31672 -3 31773 31879 31772 -3 31980 31979 31878 -3 32080 32079 31979 -3 31980 32080 31979 -3 32180 32179 32079 -3 32080 32180 32079 -3 32281 32280 32179 -3 32180 32281 32179 -3 32384 32383 32280 -3 32281 32384 32280 -3 32489 32488 32383 -3 32384 32489 32383 -3 32489 32598 32597 -3 32488 32489 32597 -3 32598 32712 32711 -3 32597 32598 32711 -3 33722 33721 33600 -3 33850 33849 33721 -3 33722 33850 33721 -3 33985 33984 33849 -3 33850 33985 33849 -3 34121 34120 33984 -3 33985 34121 33984 -3 34259 34258 34120 -3 34121 34259 34120 -3 34397 34396 34258 -3 34259 34397 34258 -3 34534 34533 34396 -3 34397 34534 34396 -3 34662 34661 34533 -3 34534 34662 34533 -3 34790 34789 34661 -3 34662 34790 34661 -3 34919 34918 34789 -3 34790 34919 34789 -3 35048 35047 34918 -3 34919 35048 34918 -3 35177 35176 35047 -3 35048 35177 35047 -3 35306 35305 35176 -3 35177 35306 35176 -3 13011 28679 35305 -3 35306 13011 35305 -3 23075 2677 28679 -3 13011 23075 28679 -3 33457 33338 33583 -3 27032 19751 18508 -3 1392 8082 1275 -3 32734 32733 32619 -3 32775 32887 32774 -3 31620 31621 31715 -3 34717 34845 34844 -3 34314 34452 34313 -3 13215 189 11789 -3 32847 32846 32734 -3 17410 17332 17333 -3 6884 2412 33942 -3 33680 30090 2411 -3 33023 13120 3096 -3 33028 454 13101 -3 6884 33028 13101 -3 34860 35238 454 -3 33028 34860 454 -3 34860 29278 34868 -3 35238 34860 34868 -3 29278 33470 35325 -3 34868 29278 35325 -3 33470 13120 33023 -3 35325 33470 33023 -3 31898 31999 31897 -3 34328 6952 34465 -3 33065 33064 32958 -3 6934 6935 7033 -3 32853 32852 32740 -3 32961 32960 32852 -3 31384 31451 31383 -3 31523 31522 31450 -3 32345 32344 32242 -3 30946 30945 30891 -3 33508 33507 33394 -3 33395 33508 33394 -3 32450 32449 32345 -3 33889 34024 33888 -3 33396 33509 33395 -3 32623 32737 32622 -3 34452 34451 34313 -3 34717 34716 34588 -3 34707 34706 34578 -3 33642 33769 33641 -3 31816 31922 31921 -3 21108 21197 21196 -3 11455 31948 11456 -3 31136 31135 31073 -3 28871 30823 28723 -3 30859 30858 30848 -3 30913 30912 30858 -3 30859 30913 30858 -3 30971 30970 30912 -3 30913 30971 30912 -3 31032 31031 30970 -3 30971 31032 30970 -3 31094 31093 31031 -3 31032 31094 31031 -3 31157 31156 31093 -3 31094 31157 31093 -3 31221 31220 31156 -3 31157 31221 31156 -3 31286 31285 31220 -3 31221 31286 31220 -3 31353 31352 31285 -3 31286 31353 31285 -3 31420 31419 31352 -3 31353 31420 31352 -3 31492 31491 31419 -3 31420 31492 31419 -3 31579 31578 31491 -3 31492 31579 31491 -3 31674 31673 31578 -3 31579 31674 31578 -3 31774 31773 31673 -3 31674 31774 31673 -3 31880 31879 31773 -3 31774 31880 31773 -3 32081 32080 31980 -3 31981 32081 31980 -3 32181 32180 32080 -3 32081 32181 32080 -3 32282 32281 32180 -3 32181 32282 32180 -3 32385 32384 32281 -3 32282 32385 32281 -3 32490 32489 32384 -3 32385 32490 32384 -3 32490 32599 32598 -3 32489 32490 32598 -3 32599 32713 32712 -3 32598 32599 32712 -3 33851 33850 33722 -3 33723 33851 33722 -3 33986 33985 33850 -3 33851 33986 33850 -3 34122 34121 33985 -3 33986 34122 33985 -3 34260 34259 34121 -3 34122 34260 34121 -3 34398 34397 34259 -3 34260 34398 34259 -3 34535 34534 34397 -3 34398 34535 34397 -3 34663 34662 34534 -3 34535 34663 34534 -3 34791 34790 34662 -3 34663 34791 34662 -3 34920 34919 34790 -3 34791 34920 34790 -3 35049 35048 34919 -3 34920 35049 34919 -3 35178 35177 35048 -3 35049 35178 35048 -3 35307 35306 35177 -3 35178 35307 35177 -3 12736 13011 35306 -3 35307 12736 35306 -3 27404 23075 13011 -3 12736 27404 13011 -3 22261 32684 34071 -3 17331 17330 33245 -3 31078 31140 31077 -3 34176 34314 34175 -3 31074 31136 31073 -3 32649 32648 32539 -3 33328 33327 33222 -3 34589 34588 34451 -3 34040 34176 34039 -3 31207 31206 31143 -3 31271 31270 31206 -3 33380 33379 33270 -3 33166 33165 33060 -3 19321 33796 17909 -3 13216 6393 189 -3 28221 33028 6884 -3 33942 28221 6884 -3 34063 34860 33028 -3 28221 34063 33028 -3 33544 29278 34860 -3 34063 33544 34860 -3 33544 33469 33470 -3 29278 33544 33470 -3 7516 33443 33444 -3 33470 33469 13120 -3 31697 31696 31601 -3 33949 12901 11251 -3 32518 32627 32517 -3 32959 33065 32958 -3 31805 31804 31704 -3 32741 32740 32626 -3 31076 31138 31075 -3 31451 31523 31450 -3 34023 34159 34022 -3 34450 34587 34449 -3 6488 6487 6360 -3 33627 33626 33507 -3 31542 31541 31469 -3 17383 28948 391 -3 33905 33904 33770 -3 31207 31271 31206 -3 33078 33183 33077 -3 33771 33905 33770 -3 33194 33193 33088 -3 33444 33335 7518 -3 17273 34111 34248 -3 17360 17359 13708 -3 31808 31914 31807 -3 33640 33639 33520 -3 32015 32014 31913 -3 30914 30913 30859 -3 30860 30914 30859 -3 30972 30971 30913 -3 30914 30972 30913 -3 31033 31032 30971 -3 30972 31033 30971 -3 31095 31094 31032 -3 31033 31095 31032 -3 31158 31157 31094 -3 31095 31158 31094 -3 31222 31221 31157 -3 31158 31222 31157 -3 31222 31287 31286 -3 31221 31222 31286 -3 31287 31354 31353 -3 31286 31287 31353 -3 31421 31420 31353 -3 31354 31421 31353 -3 31493 31492 31420 -3 31421 31493 31420 -3 31580 31579 31492 -3 31493 31580 31492 -3 31675 31674 31579 -3 31580 31675 31579 -3 31775 31774 31674 -3 31675 31775 31674 -3 31881 31880 31774 -3 31775 31881 31774 -3 31881 31982 31880 -3 32082 32081 31981 -3 32182 32181 32081 -3 32082 32182 32081 -3 32283 32282 32181 -3 32182 32283 32181 -3 32386 32385 32282 -3 32283 32386 32282 -3 32491 32490 32385 -3 32386 32491 32385 -3 32491 32600 32599 -3 32490 32491 32599 -3 32600 32714 32713 -3 32599 32600 32713 -3 33852 33851 33723 -3 33987 33986 33851 -3 33852 33987 33851 -3 34123 34122 33986 -3 33987 34123 33986 -3 34261 34260 34122 -3 34123 34261 34122 -3 34399 34398 34260 -3 34261 34399 34260 -3 34536 34535 34398 -3 34399 34536 34398 -3 34664 34663 34535 -3 34536 34664 34535 -3 34792 34791 34663 -3 34664 34792 34663 -3 34921 34920 34791 -3 34792 34921 34791 -3 35050 35049 34920 -3 34921 35050 34920 -3 35179 35178 35049 -3 35050 35179 35049 -3 35308 35307 35178 -3 35179 35308 35178 -3 28194 12736 35307 -3 35308 28194 35307 -3 19251 27404 12736 -3 28194 19251 12736 -3 11718 34196 13055 -3 27404 19251 13708 -3 33644 33771 33643 -3 33942 19479 28221 -3 32414 32519 32413 -3 32128 32228 32127 -3 31465 31464 31397 -3 33165 33164 33059 -3 34314 34313 34175 -3 33524 33525 33643 -3 31336 31335 31270 -3 31271 31336 31270 -3 32429 32534 32533 -3 32794 32793 32672 -3 33514 33513 33400 -3 32954 33060 32953 -3 35169 17283 17351 -3 3098 13120 3099 -3 34470 34063 28221 -3 34470 19479 19480 -3 9554 33544 34063 -3 34470 9554 34063 -3 33937 33469 33544 -3 9554 33937 33544 -3 21954 20901 19761 -3 7017 27871 6920 -3 33170 33169 33064 -3 33275 33274 33169 -3 32627 32626 32517 -3 32627 32741 32626 -3 31705 31704 31609 -3 31705 31805 31704 -3 32225 32326 32224 -3 34842 34843 34971 -3 33888 34023 33887 -3 34297 34296 34158 -3 35346 27987 35345 -3 32972 32971 32863 -3 31470 31469 31402 -3 31470 31542 31469 -3 33525 33644 33643 -3 34176 34175 34039 -3 28104 27842 35344 -3 31398 31465 31397 -3 31536 31535 31463 -3 33221 33326 33325 -3 33465 34226 17695 -3 33412 33525 33411 -3 901 14838 9280 -3 30915 30914 30860 -3 30861 30915 30860 -3 30973 30972 30914 -3 30915 30973 30914 -3 31034 31033 30972 -3 30973 31034 30972 -3 31096 31095 31033 -3 31034 31096 31033 -3 31159 31158 31095 -3 31096 31159 31095 -3 31159 31223 31222 -3 31158 31159 31222 -3 31223 31288 31287 -3 31222 31223 31287 -3 31288 31355 31354 -3 31287 31288 31354 -3 31422 31421 31354 -3 31355 31422 31354 -3 31494 31493 31421 -3 31422 31494 31421 -3 31581 31580 31493 -3 31494 31581 31493 -3 31676 31675 31580 -3 31581 31676 31580 -3 31776 31775 31675 -3 31676 31776 31675 -3 31882 31881 31775 -3 31776 31882 31775 -3 31983 31982 31881 -3 31882 31983 31881 -3 32183 32182 32082 -3 32083 32183 32082 -3 32284 32283 32182 -3 32183 32284 32182 -3 32387 32386 32283 -3 32284 32387 32283 -3 32492 32491 32386 -3 32387 32492 32386 -3 32492 32601 32600 -3 32491 32492 32600 -3 32601 32715 32714 -3 32600 32601 32714 -3 33988 33987 33852 -3 33853 33988 33852 -3 34124 34123 33987 -3 33988 34124 33987 -3 34262 34261 34123 -3 34124 34262 34123 -3 34400 34399 34261 -3 34262 34400 34261 -3 34537 34536 34399 -3 34400 34537 34399 -3 34665 34664 34536 -3 34537 34665 34536 -3 34793 34792 34664 -3 34665 34793 34664 -3 34922 34921 34792 -3 34793 34922 34792 -3 35051 35050 34921 -3 34922 35051 34921 -3 35180 35179 35050 -3 35051 35180 35050 -3 35309 35308 35179 -3 35180 35309 35179 -3 17572 28194 35308 -3 35309 17572 35308 -3 27781 19251 28194 -3 17572 27781 28194 -3 31647 31646 26612 -3 19371 19481 19480 -3 33525 33524 33411 -3 31903 31902 31796 -3 31848 31847 31747 -3 31748 31848 31747 -3 31946 31945 31847 -3 31848 31946 31847 -3 33771 33770 33643 -3 33412 33411 33302 -3 31403 31402 31335 -3 31336 31403 31335 -3 32450 32557 32449 -3 31405 31404 31337 -3 33508 33627 33507 -3 33754 33753 33626 -3 27871 13966 6920 -3 35269 10263 21933 -3 19481 2550 19480 -3 26433 25944 26366 -3 33927 19037 9554 -3 34470 33927 9554 -3 24791 33937 9554 -3 19037 24791 9554 -3 33497 33496 33383 -3 31183 31184 31247 -3 32310 32413 32309 -3 33065 33170 33064 -3 32012 32112 32011 -3 32518 32517 32412 -3 31524 31523 31451 -3 31610 31705 31609 -3 34700 34699 34571 -3 31452 31451 31384 -3 35346 35345 35216 -3 34159 34158 34022 -3 31075 31137 31074 -3 19965 19995 19964 -3 33093 33198 33092 -3 31403 31470 31402 -3 32043 32042 31945 -3 33303 33302 33197 -3 31946 32043 31945 -3 32140 32139 32042 -3 32043 32140 32042 -3 32240 32239 32139 -3 32140 32240 32139 -3 30916 30915 30861 -3 30862 30916 30861 -3 30974 30973 30915 -3 30916 30974 30915 -3 31035 31034 30973 -3 30974 31035 30973 -3 31097 31096 31034 -3 31035 31097 31034 -3 31097 31160 31159 -3 31096 31097 31159 -3 31160 31224 31223 -3 31159 31160 31223 -3 31224 31289 31288 -3 31223 31224 31288 -3 31356 31355 31288 -3 31289 31356 31288 -3 31423 31422 31355 -3 31356 31423 31355 -3 31495 31494 31422 -3 31423 31495 31422 -3 31582 31581 31494 -3 31495 31582 31494 -3 31677 31676 31581 -3 31582 31677 31581 -3 31777 31776 31676 -3 31677 31777 31676 -3 31883 31882 31776 -3 31777 31883 31776 -3 31984 31983 31882 -3 31883 31984 31882 -3 31984 32084 31983 -3 32184 32183 32083 -3 32285 32284 32183 -3 32184 32285 32183 -3 32388 32387 32284 -3 32285 32388 32284 -3 32493 32492 32387 -3 32388 32493 32387 -3 32602 32601 32492 -3 32493 32602 32492 -3 32602 32716 32715 -3 32601 32602 32715 -3 33989 33988 33853 -3 33854 33989 33853 -3 34125 34124 33988 -3 33989 34125 33988 -3 34263 34262 34124 -3 34125 34263 34124 -3 34401 34400 34262 -3 34263 34401 34262 -3 34538 34537 34400 -3 34401 34538 34400 -3 34666 34665 34537 -3 34538 34666 34537 -3 34794 34793 34665 -3 34666 34794 34665 -3 34923 34922 34793 -3 34794 34923 34793 -3 35052 35051 34922 -3 34923 35052 34922 -3 35181 35180 35051 -3 35052 35181 35051 -3 35310 35309 35180 -3 35181 35310 35180 -3 30636 17572 35309 -3 35310 30636 35309 -3 29270 27781 17572 -3 30636 29270 17572 -3 3364 34355 3225 -3 33927 2685 19037 -3 33198 33197 33092 -3 31376 31375 31308 -3 32342 32341 32239 -3 32240 32342 32239 -3 32446 32445 32341 -3 32342 32446 32341 -3 33303 33412 33302 -3 33093 33092 32986 -3 33889 33888 33754 -3 30956 30955 30901 -3 32346 32450 32345 -3 32557 32556 32449 -3 33627 33754 33626 -3 33888 33887 33753 -3 31696 31695 31600 -3 32243 32345 32242 -3 33807 21223 21049 -3 33393 33506 33392 -3 34328 34191 6886 -3 19310 18390 35324 -3 27982 26795 25586 -3 19037 34057 24791 -3 33170 33275 33169 -3 33384 33497 33383 -3 32209 32310 32208 -3 32413 32518 32412 -3 32012 32011 31910 -3 32212 32211 32111 -3 30945 31003 30944 -3 31375 31374 31307 -3 34297 34435 34296 -3 34572 34700 34571 -3 35217 35216 35087 -3 35217 35346 35216 -3 31075 31074 31013 -3 31137 31200 31199 -3 32987 32986 32878 -3 33198 33303 33197 -3 32553 32552 32445 -3 32446 32553 32445 -3 32666 32665 32552 -3 31474 31546 31473 -3 32553 32666 32552 -3 32787 32786 32665 -3 32666 32787 32665 -3 32899 32898 32786 -3 30917 30916 30862 -3 30863 30917 30862 -3 30975 30974 30916 -3 30917 30975 30916 -3 31036 31035 30974 -3 30975 31036 30974 -3 31098 31097 31035 -3 31036 31098 31035 -3 31098 31161 31160 -3 31097 31098 31160 -3 31161 31225 31224 -3 31160 31161 31224 -3 31225 31290 31289 -3 31224 31225 31289 -3 31357 31356 31289 -3 31290 31357 31289 -3 31424 31423 31356 -3 31357 31424 31356 -3 31496 31495 31423 -3 31424 31496 31423 -3 31583 31582 31495 -3 31496 31583 31495 -3 31678 31677 31582 -3 31583 31678 31582 -3 31778 31777 31677 -3 31678 31778 31677 -3 31884 31883 31777 -3 31778 31884 31777 -3 31985 31984 31883 -3 31884 31985 31883 -3 32085 32084 31984 -3 31985 32085 31984 -3 32286 32285 32184 -3 32185 32286 32184 -3 32389 32388 32285 -3 32286 32389 32285 -3 32494 32493 32388 -3 32389 32494 32388 -3 32603 32602 32493 -3 32494 32603 32493 -3 32603 32717 32716 -3 32602 32603 32716 -3 33990 33989 33854 -3 33855 33990 33854 -3 34126 34125 33989 -3 33990 34126 33989 -3 34264 34263 34125 -3 34126 34264 34125 -3 34402 34401 34263 -3 34264 34402 34263 -3 34539 34538 34401 -3 34402 34539 34401 -3 34667 34666 34538 -3 34539 34667 34538 -3 34795 34794 34666 -3 34667 34795 34666 -3 34924 34923 34794 -3 34795 34924 34794 -3 35053 35052 34923 -3 34924 35053 34923 -3 35182 35181 35052 -3 35053 35182 35052 -3 35311 35310 35181 -3 35182 35311 35181 -3 26580 30636 35310 -3 35311 26580 35310 -3 30755 29270 30636 -3 26580 30755 30636 -3 33633 33632 33513 -3 34244 21199 21200 -3 32787 32899 32786 -3 31474 31473 31406 -3 33007 33006 32898 -3 32899 33007 32898 -3 33113 33112 33006 -3 32987 33093 32986 -3 33074 33179 33073 -3 31014 31013 30955 -3 30956 31014 30955 -3 27987 28104 35345 -3 35088 35087 34958 -3 33754 33888 33753 -3 34023 34022 33887 -3 32449 32448 32344 -3 31472 31544 31471 -3 31610 31609 31522 -3 30936 30994 30935 -3 28237 24731 28120 -3 17286 13221 14262 -3 34012 34011 33876 -3 6948 6947 6880 -3 33384 33383 33274 -3 33275 33384 33274 -3 32109 32209 32108 -3 32413 32412 32309 -3 31911 32012 31910 -3 32112 32111 32011 -3 31189 31253 31252 -3 31385 31452 31384 -3 34572 34571 34434 -3 34435 34572 34434 -3 34959 34958 34829 -3 35088 35217 35087 -3 31014 31075 31013 -3 31137 31136 31074 -3 31728 31828 31727 -3 32879 32987 32878 -3 33007 33113 33006 -3 33218 33217 33112 -3 31546 31633 31545 -3 33113 33218 33112 -3 31407 31474 31406 -3 31633 31632 31545 -3 33323 33322 33217 -3 33218 33323 33217 -3 33323 33432 33431 -3 33322 33323 33431 -3 30918 30917 30863 -3 30864 30918 30863 -3 30976 30975 30917 -3 30918 30976 30917 -3 31037 31036 30975 -3 30976 31037 30975 -3 31099 31098 31036 -3 31037 31099 31036 -3 31099 31162 31161 -3 31098 31099 31161 -3 31162 31226 31225 -3 31161 31162 31225 -3 31226 31291 31290 -3 31225 31226 31290 -3 31358 31357 31290 -3 31291 31358 31290 -3 31425 31424 31357 -3 31358 31425 31357 -3 31497 31496 31424 -3 31425 31497 31424 -3 31584 31583 31496 -3 31497 31584 31496 -3 31679 31678 31583 -3 31584 31679 31583 -3 31779 31778 31678 -3 31679 31779 31678 -3 31885 31884 31778 -3 31779 31885 31778 -3 31986 31985 31884 -3 31885 31986 31884 -3 32086 32085 31985 -3 31986 32086 31985 -3 32086 32186 32085 -3 32287 32286 32185 -3 32390 32389 32286 -3 32287 32390 32286 -3 32495 32494 32389 -3 32390 32495 32389 -3 32604 32603 32494 -3 32495 32604 32494 -3 32604 32718 32717 -3 32603 32604 32717 -3 32718 32830 32717 -3 33991 33990 33855 -3 33856 33991 33855 -3 34127 34126 33990 -3 33991 34127 33990 -3 34265 34264 34126 -3 34127 34265 34126 -3 34403 34402 34264 -3 34265 34403 34264 -3 34540 34539 34402 -3 34403 34540 34402 -3 34668 34667 34539 -3 34540 34668 34539 -3 34796 34795 34667 -3 34668 34796 34667 -3 34925 34924 34795 -3 34796 34925 34795 -3 35054 35053 34924 -3 34925 35054 34924 -3 35183 35182 35053 -3 35054 35183 35053 -3 35312 35311 35182 -3 35183 35312 35182 -3 18935 26580 35311 -3 35312 18935 35311 -3 18935 27145 30755 -3 26580 18935 30755 -3 19966 19967 19998 -3 7171 7172 7279 -3 7172 33431 7173 -3 21112 19910 21200 -3 31716 31816 31815 -3 33410 33409 33300 -3 32422 32423 32527 -3 32757 32869 32868 -3 32860 32968 32859 -3 31136 31137 31199 -3 31200 31264 31263 -3 34959 35088 34958 -3 34161 34160 34024 -3 34159 34297 34158 -3 34435 34434 34296 -3 31138 31137 31075 -3 35207 35206 35077 -3 31911 31910 31804 -3 31523 31610 31522 -3 31908 32009 31907 -3 32109 32108 32008 -3 34148 34147 34011 -3 33877 34012 33876 -3 33616 33615 33496 -3 33497 33616 33496 -3 32009 32109 32008 -3 32310 32309 32208 -3 32112 32212 32111 -3 32313 32312 32211 -3 32626 32625 32516 -3 31003 31002 30944 -3 34957 34956 34827 -3 34828 34957 34827 -3 34299 34298 34160 -3 34830 34959 34829 -3 31199 31200 31263 -3 31264 31329 31328 -3 32767 32766 32652 -3 32879 32878 32766 -3 31728 31727 31632 -3 32767 32879 32766 -3 31633 31728 31632 -3 31828 31827 31727 -3 31546 31545 31473 -3 31535 31622 31621 -3 33948 34060 12628 -3 32957 32956 32848 -3 31461 31462 31533 -3 32031 32030 31933 -3 30919 30918 30864 -3 30865 30919 30864 -3 30977 30976 30918 -3 30919 30977 30918 -3 31038 31037 30976 -3 30977 31038 30976 -3 31100 31099 31037 -3 31038 31100 31037 -3 31100 31163 31162 -3 31099 31100 31162 -3 31163 31227 31226 -3 31162 31163 31226 -3 31227 31292 31291 -3 31226 31227 31291 -3 31359 31358 31291 -3 31292 31359 31291 -3 31426 31425 31358 -3 31359 31426 31358 -3 31498 31497 31425 -3 31426 31498 31425 -3 31585 31584 31497 -3 31498 31585 31497 -3 31680 31679 31584 -3 31585 31680 31584 -3 31780 31779 31679 -3 31680 31780 31679 -3 31886 31885 31779 -3 31780 31886 31779 -3 31987 31986 31885 -3 31886 31987 31885 -3 32087 32086 31986 -3 31987 32087 31986 -3 32187 32186 32086 -3 32087 32187 32086 -3 32391 32390 32287 -3 32288 32391 32287 -3 32496 32495 32390 -3 32391 32496 32390 -3 32605 32604 32495 -3 32496 32605 32495 -3 32605 32719 32718 -3 32604 32605 32718 -3 32831 32830 32718 -3 32719 32831 32718 -3 33992 33991 33856 -3 33857 33992 33856 -3 34128 34127 33991 -3 33992 34128 33991 -3 34266 34265 34127 -3 34128 34266 34127 -3 34404 34403 34265 -3 34266 34404 34265 -3 34541 34540 34403 -3 34404 34541 34403 -3 34669 34668 34540 -3 34541 34669 34540 -3 34797 34796 34668 -3 34669 34797 34668 -3 34926 34925 34796 -3 34797 34926 34796 -3 35055 35054 34925 -3 34926 35055 34925 -3 35184 35183 35054 -3 35055 35184 35054 -3 35313 35312 35183 -3 35184 35313 35183 -3 17628 18935 35312 -3 35313 17628 35312 -3 7065 33543 7170 -3 35136 22025 22120 -3 3757 3888 3756 -3 35210 35339 35209 -3 32349 32348 32246 -3 34958 35087 34957 -3 31836 31835 31735 -3 31516 31515 31443 -3 32304 32407 32303 -3 31543 31630 31542 -3 15885 15609 17389 -3 31527 31526 31454 -3 31621 31622 31716 -3 31817 31816 31716 -3 34025 34161 34024 -3 34025 34024 33889 -3 35086 35085 34956 -3 34957 35086 34956 -3 31125 31126 31188 -3 31064 31063 31002 -3 32313 32416 32312 -3 31805 31911 31804 -3 31185 31249 31248 -3 31184 31185 31248 -3 35332 35333 13106 -3 34012 34148 34011 -3 33743 33742 33615 -3 33616 33743 33615 -3 31802 31908 31801 -3 32209 32208 32108 -3 32212 32313 32211 -3 32416 32415 32312 -3 32517 32626 32516 -3 34949 35078 34948 -3 35215 35214 35085 -3 32013 32012 31911 -3 34161 34299 34160 -3 35086 35215 35085 -3 31462 31463 31534 -3 34437 34436 34298 -3 31395 31396 31462 -3 31463 31535 31534 -3 31263 31264 31328 -3 31329 31396 31395 -3 31328 31329 31395 -3 31396 31463 31462 -3 31534 31535 31621 -3 31622 31717 31716 -3 32751 32863 32750 -3 32147 32146 32049 -3 34285 34423 34284 -3 32979 33085 32978 -3 30920 30919 30865 -3 30866 30920 30865 -3 30978 30977 30919 -3 30920 30978 30919 -3 31039 31038 30977 -3 30978 31039 30977 -3 31039 31101 31100 -3 31038 31039 31100 -3 31101 31164 31163 -3 31100 31101 31163 -3 31164 31228 31227 -3 31163 31164 31227 -3 31228 31293 31292 -3 31227 31228 31292 -3 31360 31359 31292 -3 31293 31360 31292 -3 31427 31426 31359 -3 31360 31427 31359 -3 31499 31498 31426 -3 31427 31499 31426 -3 31586 31585 31498 -3 31499 31586 31498 -3 31681 31680 31585 -3 31586 31681 31585 -3 31781 31780 31680 -3 31681 31781 31680 -3 31887 31886 31780 -3 31781 31887 31780 -3 31988 31987 31886 -3 31887 31988 31886 -3 32088 32087 31987 -3 31988 32088 31987 -3 32188 32187 32087 -3 32088 32188 32087 -3 32392 32391 32288 -3 32289 32392 32288 -3 32497 32496 32391 -3 32392 32497 32391 -3 32606 32605 32496 -3 32497 32606 32496 -3 32720 32719 32605 -3 32606 32720 32605 -3 32832 32831 32719 -3 32720 32832 32719 -3 33724 33858 33857 -3 33993 33992 33857 -3 33858 33993 33857 -3 34129 34128 33992 -3 33993 34129 33992 -3 34267 34266 34128 -3 34129 34267 34128 -3 34405 34404 34266 -3 34267 34405 34266 -3 34542 34541 34404 -3 34405 34542 34404 -3 34670 34669 34541 -3 34542 34670 34541 -3 34798 34797 34669 -3 34670 34798 34669 -3 34927 34926 34797 -3 34798 34927 34797 -3 35056 35055 34926 -3 34927 35056 34926 -3 35185 35184 35055 -3 35056 35185 35055 -3 35314 35313 35184 -3 35185 35314 35184 -3 13980 17628 35313 -3 35314 13980 35313 -3 13980 6992 17628 -3 7517 7631 7516 -3 33190 33295 33189 -3 31697 31797 31696 -3 33227 33226 33121 -3 33310 33419 33309 -3 33895 33894 33760 -3 33122 33227 33121 -3 33438 33439 33551 -3 34432 34431 34293 -3 31717 31817 31716 -3 32024 32023 31922 -3 31923 31922 31816 -3 31817 31923 31816 -3 33890 34025 33889 -3 33629 33756 33628 -3 32651 32765 32650 -3 22025 35136 22023 -3 34024 34160 34023 -3 32921 32807 32808 -3 33280 33389 33279 -3 32521 32520 32415 -3 31059 31060 31121 -3 31122 31185 31184 -3 13984 19482 13106 -3 19482 26966 13106 -3 33877 33876 33742 -3 33743 33877 33742 -3 31802 31801 31701 -3 32009 32008 31907 -3 32416 32521 32415 -3 32630 32629 32520 -3 32744 32743 32629 -3 32521 32630 32520 -3 31706 31806 31705 -3 32047 32046 31949 -3 28012 29281 30607 -3 32102 32101 32001 -3 34299 34437 34298 -3 29281 28012 27726 -3 34574 34573 34436 -3 34437 34574 34436 -3 34830 34829 34701 -3 34702 34830 34701 -3 33397 33510 33396 -3 33510 33629 33509 -3 31923 32024 31922 -3 32325 32428 32427 -3 31917 31918 32018 -3 31918 32019 32018 -3 31074 31073 31012 -3 33118 33223 33117 -3 30921 30920 30866 -3 30867 30921 30866 -3 30979 30978 30920 -3 30921 30979 30920 -3 31040 31039 30978 -3 30979 31040 30978 -3 31040 31102 31101 -3 31039 31040 31101 -3 31102 31165 31164 -3 31101 31102 31164 -3 31165 31229 31228 -3 31164 31165 31228 -3 31229 31294 31293 -3 31228 31229 31293 -3 31361 31360 31293 -3 31294 31361 31293 -3 31428 31427 31360 -3 31361 31428 31360 -3 31500 31499 31427 -3 31428 31500 31427 -3 31587 31586 31499 -3 31500 31587 31499 -3 31682 31681 31586 -3 31587 31682 31586 -3 31782 31781 31681 -3 31682 31782 31681 -3 31888 31887 31781 -3 31782 31888 31781 -3 31989 31988 31887 -3 31888 31989 31887 -3 32089 32088 31988 -3 31989 32089 31988 -3 32189 32188 32088 -3 32089 32189 32088 -3 32189 32290 32188 -3 32393 32392 32289 -3 32498 32497 32392 -3 32393 32498 32392 -3 32607 32606 32497 -3 32498 32607 32497 -3 32607 32721 32720 -3 32606 32607 32720 -3 32833 32832 32720 -3 32721 32833 32720 -3 32833 32941 32832 -3 33859 33858 33724 -3 33725 33859 33724 -3 33994 33993 33858 -3 33859 33994 33858 -3 34130 34129 33993 -3 33994 34130 33993 -3 34268 34267 34129 -3 34130 34268 34129 -3 34406 34405 34267 -3 34268 34406 34267 -3 34543 34542 34405 -3 34406 34543 34405 -3 34671 34670 34542 -3 34543 34671 34542 -3 34799 34798 34670 -3 34671 34799 34670 -3 34928 34927 34798 -3 34799 34928 34798 -3 35057 35056 34927 -3 34928 35057 34927 -3 35186 35185 35056 -3 35057 35186 35056 -3 34343 34989 12808 -3 35234 22228 22229 -3 13979 13980 35314 -3 13980 6993 6992 -3 35234 17446 22325 -3 16316 9679 5988 -3 31013 31012 30954 -3 31013 31074 31012 -3 30955 30954 30900 -3 32103 32102 32002 -3 32968 33074 32967 -3 32124 32123 32023 -3 31471 31470 31403 -3 33288 33287 33182 -3 32024 32124 32023 -3 33890 33889 33755 -3 33756 33755 33628 -3 32562 32561 32454 -3 33756 33890 33755 -3 30957 31015 30956 -3 32877 32876 32764 -3 33502 33501 33388 -3 33171 33276 33170 -3 31060 31122 31121 -3 33389 33502 33388 -3 3625 13307 3496 -3 31121 31122 31184 -3 32511 32620 32510 -3 32352 32249 11580 -3 34286 34285 34147 -3 34148 34286 34147 -3 31702 31802 31701 -3 31908 31907 31801 -3 31249 31314 31313 -3 31448 31447 31380 -3 33175 33280 33174 -3 33389 33388 33279 -3 33175 33174 33069 -3 33280 33279 33174 -3 34562 34690 34561 -3 34562 34561 34424 -3 27842 29281 27726 -3 5982 9866 6114 -3 27842 27726 35343 -3 35344 27842 35343 -3 35344 35343 35214 -3 35215 35344 35214 -3 33288 33397 33287 -3 33629 33628 33509 -3 32124 32224 32123 -3 32324 32325 32427 -3 33182 33287 33181 -3 33284 33393 33283 -3 30955 31013 30954 -3 27842 28104 29281 -3 30922 30921 30867 -3 30868 30922 30867 -3 30980 30979 30921 -3 30922 30980 30921 -3 31041 31040 30979 -3 30980 31041 30979 -3 31041 31103 31102 -3 31040 31041 31102 -3 31103 31166 31165 -3 31102 31103 31165 -3 31166 31230 31229 -3 31165 31166 31229 -3 31295 31294 31229 -3 31230 31295 31229 -3 31362 31361 31294 -3 31295 31362 31294 -3 31429 31428 31361 -3 31362 31429 31361 -3 31501 31500 31428 -3 31429 31501 31428 -3 31588 31587 31500 -3 31501 31588 31500 -3 31683 31682 31587 -3 31588 31683 31587 -3 31783 31782 31682 -3 31683 31783 31682 -3 31889 31888 31782 -3 31783 31889 31782 -3 31990 31989 31888 -3 31889 31990 31888 -3 32090 32089 31989 -3 31990 32090 31989 -3 32190 32189 32089 -3 32090 32190 32089 -3 32291 32290 32189 -3 32190 32291 32189 -3 32499 32498 32393 -3 32394 32499 32393 -3 32608 32607 32498 -3 32499 32608 32498 -3 32722 32721 32607 -3 32608 32722 32607 -3 32834 32833 32721 -3 32722 32834 32721 -3 32834 32942 32941 -3 32833 32834 32941 -3 33860 33859 33725 -3 33726 33860 33725 -3 33995 33994 33859 -3 33860 33995 33859 -3 34131 34130 33994 -3 33995 34131 33994 -3 34269 34268 34130 -3 34131 34269 34130 -3 34407 34406 34268 -3 34269 34407 34268 -3 34544 34543 34406 -3 34407 34544 34406 -3 34672 34671 34543 -3 34544 34672 34543 -3 34800 34799 34671 -3 34672 34800 34671 -3 34929 34928 34799 -3 34800 34929 34799 -3 35058 35057 34928 -3 34929 35058 34928 -3 35187 35186 35057 -3 35058 35187 35057 -3 21198 34243 21197 -3 29403 18700 17480 -3 7094 27145 7095 -3 31244 31309 31243 -3 30901 30955 30900 -3 31267 31266 31202 -3 31396 31397 31463 -3 31331 31330 31265 -3 32002 32001 31900 -3 33506 33505 33392 -3 32533 32642 32641 -3 32224 32223 32123 -3 32972 33078 32971 -3 33183 33182 33077 -3 33100 33205 33099 -3 32796 32908 32795 -3 32143 32142 32045 -3 32765 32764 32650 -3 33621 33620 33501 -3 31076 31075 31014 -3 30999 30998 30940 -3 33502 33621 33501 -3 30941 30999 30940 -3 31060 31059 30998 -3 32846 32845 32733 -3 35334 35333 35204 -3 31017 31016 30958 -3 32103 32203 32102 -3 34424 34423 34285 -3 34286 34424 34285 -3 34424 34561 34423 -3 34561 34560 34423 -3 31248 31249 31313 -3 31381 31380 31313 -3 31381 31448 31380 -3 31314 31381 31313 -3 32856 32964 32855 -3 33070 33175 33069 -3 31380 31447 31379 -3 31519 31518 31446 -3 32514 32623 32513 -3 32623 32622 32513 -3 32143 32243 32142 -3 34715 34714 34586 -3 33100 33099 32993 -3 32877 32985 32876 -3 33183 33288 33182 -3 33510 33509 33396 -3 32224 32325 32324 -3 32223 32224 32324 -3 33392 33505 33391 -3 32451 32558 32450 -3 31203 31202 31139 -3 33912 33911 33777 -3 30923 30922 30868 -3 30869 30923 30868 -3 30981 30980 30922 -3 30923 30981 30922 -3 31042 31041 30980 -3 30981 31042 30980 -3 31042 31104 31103 -3 31041 31042 31103 -3 31104 31167 31166 -3 31103 31104 31166 -3 31167 31231 31230 -3 31166 31167 31230 -3 31296 31295 31230 -3 31231 31296 31230 -3 31363 31362 31295 -3 31296 31363 31295 -3 31430 31429 31362 -3 31363 31430 31362 -3 31502 31501 31429 -3 31430 31502 31429 -3 31589 31588 31501 -3 31502 31589 31501 -3 31684 31683 31588 -3 31589 31684 31588 -3 31784 31783 31683 -3 31684 31784 31683 -3 31890 31889 31783 -3 31784 31890 31783 -3 31991 31990 31889 -3 31890 31991 31889 -3 32091 32090 31990 -3 31991 32091 31990 -3 32191 32190 32090 -3 32091 32191 32090 -3 32292 32291 32190 -3 32191 32292 32190 -3 32292 32395 32291 -3 32500 32499 32394 -3 32609 32608 32499 -3 32500 32609 32499 -3 32723 32722 32608 -3 32609 32723 32608 -3 32723 32835 32834 -3 32722 32723 32834 -3 32835 32943 32942 -3 32834 32835 32942 -3 32943 33049 32942 -3 33861 33860 33726 -3 33727 33861 33726 -3 33996 33995 33860 -3 33861 33996 33860 -3 34132 34131 33995 -3 33996 34132 33995 -3 34270 34269 34131 -3 34132 34270 34131 -3 34408 34407 34269 -3 34270 34408 34269 -3 34545 34544 34407 -3 34408 34545 34407 -3 34673 34672 34544 -3 34545 34673 34544 -3 34801 34800 34672 -3 34673 34801 34672 -3 34930 34929 34800 -3 34801 34930 34800 -3 35059 35058 34929 -3 34930 35059 34929 -3 35188 35187 35058 -3 35059 35188 35058 -3 22321 22225 22322 -3 34780 34909 17277 -3 17346 34909 17279 -3 34909 17346 17277 -3 17277 17346 17345 diff --git a/examples/04-mesh/bunny.obj b/examples/04-mesh/bunny.obj new file mode 100644 index 000000000..07c6cccf0 --- /dev/null +++ b/examples/04-mesh/bunny.obj @@ -0,0 +1,140236 @@ +# Blender v2.65 (sub 0) OBJ File: 'bunny.blend' +# www.blender.org +mtllib bunny.mtl +o bun_zipper +v -0.110698 0.961287 -0.044725 +v -0.180195 0.970757 -0.070422 +v -0.412496 1.194327 0.282482 +v 0.244725 0.983388 0.142730 +v 0.041545 0.948637 -0.017913 +v 0.016521 0.941097 -0.027049 +v -0.103610 0.956377 -0.071515 +v 0.599729 0.808807 0.187390 +v 0.648024 0.779437 0.072218 +v 0.012516 0.807567 0.277296 +v 0.022293 0.808247 0.283998 +v 0.541630 0.897487 0.122737 +v -0.361362 1.266078 -0.265342 +v 0.668412 0.723907 0.132213 +v 0.719131 0.613855 0.022133 +v -0.057366 1.424197 -0.113371 +v -0.536988 1.040158 0.410848 +v -0.457345 0.942107 0.439549 +v -0.536776 1.054177 0.401478 +v 0.347580 0.994827 0.079535 +v 0.667864 0.751987 -0.007821 +v 0.639256 0.679059 -0.187597 +v -0.638369 1.088177 0.132222 +v -0.575818 0.771927 0.154132 +v -0.421110 1.244467 0.058234 +v -0.577183 1.204727 0.180373 +v 0.321271 0.939658 0.228451 +v 0.356920 0.925817 0.241282 +v -0.047815 0.939668 -0.050721 +v -0.229141 1.098608 0.034424 +v -0.517226 1.040397 0.416983 +v 0.225011 0.962237 0.193871 +v -0.187190 0.916197 0.161738 +v 0.032214 0.808687 0.290508 +v -0.522604 0.617501 -0.195433 +v 0.503341 0.924007 0.136950 +v -0.634528 0.908527 -0.036616 +v 0.671341 0.695417 -0.117754 +v 0.679839 0.695777 -0.097616 +v -0.592167 0.852327 -0.087187 +v -0.231454 1.098697 0.044518 +v -0.057419 1.452937 -0.133810 +v -0.507355 1.152167 0.327435 +v 0.507911 0.923887 0.124352 +v 0.042394 0.808697 0.295315 +v 0.065581 1.453267 -0.317279 +v -0.114313 1.363567 -0.217293 +v 0.052606 0.808537 0.298667 +v -0.054766 0.944857 -0.024090 +v -0.036135 0.939677 -0.017213 +v 0.371820 0.960367 0.188998 +v -0.196072 1.012467 0.070783 +v 0.004520 0.938607 -0.031474 +v 0.029043 0.944808 -0.022484 +v 0.442266 0.910047 0.214831 +v 0.451710 0.907127 0.218116 +v 0.433981 0.914907 0.211846 +v 0.605255 0.798777 0.189459 +v 0.588083 0.828387 0.182936 +v -0.137445 1.349267 -0.054068 +v -0.623787 0.976917 -0.047158 +v -0.269948 1.113227 0.174545 +v 0.697364 0.669062 0.092195 +v 0.693979 0.696767 0.022132 +v 0.677049 0.639398 0.192164 +v -0.283161 1.224147 0.077723 +v 0.020678 1.247597 -0.130287 +v -0.417497 1.151897 0.323376 +v -0.447744 1.095998 0.374854 +v -0.432746 0.313361 0.111096 +v -0.636784 0.881547 -0.036505 +v -0.487339 0.956298 0.440932 +v -0.127772 1.334407 -0.058398 +v -0.137612 1.334387 -0.051543 +v -0.377298 1.297267 -0.274449 +v -0.075516 0.948427 -0.061198 +v -0.192793 1.009457 0.057325 +v -0.415155 1.234107 -0.041373 +v -0.653822 0.843117 0.293631 +v 0.330601 0.936977 0.231743 +v 0.339345 0.933277 0.234989 +v 0.348155 0.929557 0.238130 +v -0.056734 0.942977 -0.053929 +v -0.365975 1.240968 0.034382 +v 0.582016 0.837277 0.180667 +v 0.576087 0.846207 0.178452 +v -0.027574 1.439267 -0.142013 +v 0.664091 0.652161 -0.157227 +v -0.447638 1.332898 -0.256850 +v -0.458044 1.333617 -0.259912 +v 0.192668 0.905937 0.262860 +v 0.182609 0.906187 0.260699 +v 0.556698 0.611085 0.347557 +v 0.132586 1.318157 -0.207691 +v -0.167359 1.349037 -0.050316 +v -0.034875 0.934418 -0.060437 +v -0.159709 1.379977 -0.080676 +v 0.062508 0.808847 0.300272 +v -0.637732 1.033057 0.122636 +v -0.498297 1.410258 -0.477301 +v -0.497385 0.956308 0.442687 +v 0.072687 0.808637 0.303462 +v -0.597303 0.717477 -0.035435 +v -0.233040 1.098617 0.054491 +v 0.638267 0.779077 0.142305 +v 0.590274 0.703117 0.273376 +v -0.077342 1.394348 -0.097262 +v -0.497212 1.095877 0.382246 +v -0.497152 1.151568 0.331905 +v -0.127163 1.392987 -0.083458 +v 0.659368 0.751667 0.112212 +v -0.583611 0.771157 -0.035844 +v 0.720496 0.543678 0.112160 +v 0.439847 0.955088 0.127790 +v 0.262426 0.068124 0.378854 +v 0.272589 0.067830 0.376892 +v 0.282452 0.067732 0.374854 +v 0.292424 0.067479 0.372156 +v 0.109967 0.961787 -0.050896 +v -0.457600 1.096097 0.377505 +v -0.237392 1.246007 0.012444 +v -0.639839 1.032957 0.112628 +v -0.487363 1.096117 0.382501 +v -0.087540 1.449147 -0.169108 +v 0.674264 0.738257 -0.037842 +v -0.652760 0.951318 0.243061 +v 0.642519 0.664949 -0.187195 +v 0.672513 0.667157 -0.137743 +v 0.686027 0.667923 -0.107558 +v 0.574151 0.702837 0.285307 +v 0.725124 0.543955 0.042172 +v -0.037734 1.468437 -0.146007 +v -0.016551 1.469418 -0.148958 +v -0.447333 0.899907 0.445752 +v -0.457442 1.151698 0.334393 +v -0.342407 0.979097 0.309485 +v 0.693685 0.612309 0.172245 +v 0.179004 0.984987 0.061046 +v 0.094255 0.965568 0.030302 +v -0.045485 0.942068 -0.020621 +v -0.433107 1.238307 -0.018741 +v 0.389169 0.917327 0.238859 +v 0.174282 0.954677 0.190274 +v -0.389635 1.221157 0.229850 +v -0.450190 1.228738 0.208618 +v 0.460628 0.892187 0.235649 +v -0.157560 1.400587 -0.122680 +v -0.174577 1.390038 -0.128614 +v -0.307018 0.081842 0.377353 +v -0.297312 0.082151 0.379297 +v -0.287274 0.082213 0.380241 +v -0.277393 0.082219 0.380187 +v 0.082549 0.809027 0.305235 +v -0.237366 1.260538 0.004887 +v -0.487259 1.151837 0.333352 +v 0.130360 1.303387 -0.207793 +v -0.468014 1.319088 -0.239449 +v -0.447398 1.318187 -0.227855 +v 0.654277 0.751317 0.142174 +v 0.657961 0.765697 0.052191 +v 0.689561 0.611436 -0.137454 +v -0.187397 1.319377 -0.033944 +v -0.167633 1.319347 -0.037043 +v -0.157267 0.078538 0.344459 +v -0.147458 0.078141 0.341123 +v -0.436062 1.349687 -0.296188 +v 0.013439 0.587016 0.400643 +v -0.084459 0.951757 -0.064404 +v -0.605148 1.073158 -0.017542 +v 0.120243 0.930757 0.200614 +v -0.092418 1.422688 -0.208430 +v -0.624041 0.610833 0.024962 +v -0.066251 0.945627 -0.057741 +v 0.460394 0.903537 0.221430 +v -0.378474 1.257287 -0.202647 +v -0.373434 1.245497 -0.200741 +v -0.368316 1.234387 -0.198872 +v -0.363690 1.222187 -0.197158 +v -0.442067 1.066367 -0.164963 +v -0.437874 1.095887 0.371013 +v -0.488119 1.333537 -0.291019 +v -0.499517 1.334357 -0.318891 +v 0.563796 0.851947 0.188161 +v 0.570143 0.831907 0.204864 +v 0.673570 0.695927 0.152266 +v 0.648208 0.765317 0.132245 +v 0.672021 0.738237 0.062185 +v 0.092646 0.808897 0.306208 +v -0.467361 1.152028 0.334743 +v -0.467054 0.841587 0.429948 +v 0.402524 0.822047 0.290523 +v 0.392484 0.822167 0.292986 +v -0.558700 0.784477 0.194530 +v 0.684815 0.681967 -0.097596 +v -0.507311 1.040377 0.418122 +v 0.102697 0.808927 0.308558 +v 0.112603 0.809247 0.311410 +v -0.087399 1.394187 -0.087727 +v -0.096954 1.394258 -0.083044 +v -0.107459 1.393967 -0.081291 +v -0.117397 1.393507 -0.081798 +v -0.351496 0.862757 -0.192228 +v -0.442111 1.347977 -0.569589 +v -0.647061 1.143187 0.152030 +v 0.122705 0.809257 0.314870 +v 0.132735 0.809297 0.317254 +v 0.142609 0.809667 0.319029 +v 0.282448 0.081772 0.374836 +v 0.292469 0.081515 0.372221 +v 0.302387 0.081337 0.370294 +v 0.052504 0.822317 0.287475 +v -0.635532 0.949557 -0.036629 +v 0.372514 0.822537 0.298282 +v -0.499345 1.396158 -0.448398 +v 0.544002 0.864067 0.194958 +v 0.577415 0.706727 -0.234799 +v 0.692508 0.696607 -0.037744 +v 0.272577 0.823847 0.324720 +v -0.407576 1.151798 0.319557 +v 0.691657 0.696717 -0.047808 +v 0.673094 0.681085 -0.127407 +v -0.457297 0.956188 0.434833 +v -0.148387 1.381227 -0.076556 +v 0.121714 0.970877 -0.003100 +v 0.310836 0.999417 0.023378 +v -0.367503 1.193408 0.272402 +v 0.613509 0.820457 0.135481 +v 0.480750 0.075786 0.321740 +v 0.442896 0.608727 0.393649 +v 0.337798 0.996527 0.075964 +v 0.152803 0.809417 0.322037 +v 0.649474 0.779687 0.042207 +v -0.526396 0.644821 -0.184607 +v 0.680526 0.696127 0.122130 +v 0.686865 0.696507 0.082122 +v -0.520385 0.815257 -0.121514 +v -0.512083 1.036007 -0.142016 +v 0.328911 0.740737 -0.298383 +v 0.358963 0.740597 -0.293498 +v 0.378798 0.979237 0.133897 +v 0.311352 0.993337 0.109278 +v 0.247427 0.993137 0.085917 +v -0.095922 0.949118 0.093531 +v 0.106824 0.969207 0.034866 +v -0.063636 0.948218 -0.027294 +v 0.362975 0.963748 0.185614 +v 0.046283 0.911847 0.174641 +v -0.441742 1.309777 -0.211735 +v -0.353003 1.237997 -0.004566 +v -0.200793 1.010478 0.113231 +v -0.142668 1.407597 -0.117696 +v -0.117995 1.413727 -0.108567 +v 0.126518 0.971107 -0.015805 +v -0.307090 0.095368 0.372463 +v -0.297143 0.095557 0.374771 +v -0.287299 0.095867 0.375683 +v -0.277157 0.095201 0.376244 +v -0.267364 0.095805 0.374411 +v -0.258445 0.096437 0.371495 +v -0.147749 1.319498 -0.044997 +v 0.220236 0.989487 -0.010117 +v -0.631168 1.033357 0.162697 +v 0.181356 0.902267 -0.202763 +v -0.207528 0.093636 0.354842 +v -0.197338 0.093590 0.352991 +v -0.187253 0.093462 0.350953 +v -0.177253 0.093025 0.347058 +v -0.167330 0.092664 0.344136 +v -0.157257 0.092440 0.341897 +v -0.147346 0.092137 0.339048 +v -0.352873 1.450267 -0.697782 +v -0.383352 1.306307 -0.276668 +v -0.068867 0.939267 0.103451 +v -0.538669 1.189808 0.254358 +v -0.383365 1.233007 -0.029849 +v 0.246188 0.959157 0.201964 +v -0.629884 0.611335 0.064890 +v 0.476275 0.893127 0.227303 +v 0.468637 0.898867 0.224490 +v -0.385024 1.265277 -0.205058 +v -0.051749 0.934137 -0.081465 +v -0.060836 0.937437 -0.085072 +v -0.069660 0.940917 -0.088276 +v -0.078907 0.943857 -0.091799 +v -0.088283 0.946427 -0.095236 +v -0.571156 0.743067 -0.085509 +v 0.102634 0.822747 0.299885 +v 0.689960 0.696947 0.062222 +v 0.661931 0.695127 0.182199 +v 0.669947 0.695747 0.162347 +v 0.663392 0.752007 0.082213 +v -0.257390 1.260808 0.005185 +v -0.227297 1.260637 0.002704 +v -0.217405 1.260427 0.000980 +v 0.162721 0.809667 0.323611 +v -0.107304 1.408417 -0.095238 +v 0.685427 0.696347 0.092093 +v 0.715860 0.557345 0.132163 +v -0.033254 1.472077 -0.148436 +v 0.031844 1.259497 -0.123444 +v 0.041305 1.260437 -0.131745 +v 0.502234 0.907487 0.179386 +v 0.189693 0.987117 0.036156 +v 0.676199 0.696117 0.142293 +v 0.650012 0.766157 0.121121 +v -0.007428 0.834497 0.248125 +v 0.012395 0.834827 0.249680 +v 0.052419 0.836047 0.276179 +v 0.062594 0.836007 0.280829 +v -0.487395 0.839037 0.425768 +v 0.262359 0.096217 0.378420 +v 0.272473 0.096007 0.376315 +v 0.282404 0.095883 0.374488 +v 0.292431 0.095631 0.372137 +v 0.302480 0.095532 0.370730 +v 0.312617 0.095259 0.369174 +v 0.322559 0.095146 0.367565 +v 0.332442 0.095118 0.366381 +v 0.342459 0.094907 0.365288 +v 0.352545 0.094733 0.363688 +v -0.237379 1.275107 -0.004277 +v -0.217238 1.275457 -0.006188 +v -0.197325 1.275218 -0.011519 +v 0.172718 0.809757 0.326031 +v 0.182661 0.809917 0.326325 +v -0.487423 0.998577 0.435464 +v 0.537334 0.897937 0.135364 +v -0.341670 1.240377 0.129978 +v 0.092556 0.822847 0.297672 +v 0.570637 0.870747 0.133588 +v 0.647889 0.736137 -0.107445 +v -0.556472 1.043977 -0.106501 +v 0.647775 0.694167 -0.168134 +v 0.192661 0.809767 0.326057 +v -0.097450 1.379198 -0.079659 +v -0.487376 0.913777 0.441811 +v 0.622124 0.749417 -0.158983 +v -0.447340 0.942078 0.438364 +v 0.645070 0.722407 -0.137879 +v 0.682063 0.696317 0.112159 +v 0.726944 0.544080 0.012232 +v -0.440916 0.618895 -0.248768 +v -0.430727 0.619116 -0.252175 +v -0.470510 0.617843 -0.236285 +v -0.450551 0.618532 -0.245284 +v -0.460641 0.618193 -0.240378 +v -0.006800 1.484928 -0.161045 +v 0.013289 1.484028 -0.176528 +v 0.370000 0.982787 0.130603 +v -0.286838 1.267297 -0.009948 +v -0.329821 1.245227 -0.025363 +v -0.356992 1.232598 -0.034847 +v -0.418910 1.235977 -0.028175 +v -0.087112 0.945307 0.096700 +v 0.031969 0.948097 0.007691 +v -0.072412 0.951937 -0.030534 +v -0.460911 1.171467 0.311848 +v -0.451776 1.311687 -0.215169 +v -0.201492 1.022547 0.068582 +v -0.429813 1.226407 0.215697 +v -0.504500 0.636196 0.279077 +v -0.129849 1.411407 -0.112944 +v -0.317371 0.108210 0.357903 +v -0.307376 0.108880 0.364244 +v -0.297283 0.109027 0.367662 +v -0.287350 0.109178 0.368984 +v -0.277374 0.109262 0.369092 +v -0.267388 0.109279 0.369099 +v -0.257596 0.108818 0.367124 +v -0.104898 0.946247 -0.115953 +v 0.658370 0.680327 -0.157651 +v -0.608193 1.031497 -0.056995 +v -0.217387 0.107664 0.352774 +v -0.207410 0.107355 0.350122 +v -0.197462 0.107119 0.348571 +v -0.187393 0.107143 0.347655 +v -0.177480 0.106879 0.344959 +v -0.167405 0.106256 0.341538 +v -0.157306 0.106214 0.337946 +v -0.147366 0.106032 0.336463 +v -0.137231 0.105456 0.330467 +v -0.127308 0.104882 0.326816 +v -0.117163 0.105153 0.329443 +v -0.434834 1.314207 -0.223588 +v -0.426059 1.310487 -0.220383 +v -0.418372 1.304717 -0.217504 +v -0.411169 1.297887 -0.214832 +v -0.404614 1.289887 -0.212395 +v -0.397932 1.282017 -0.209893 +v -0.391587 1.273308 -0.207498 +v -0.043303 0.930327 -0.078613 +v -0.036571 0.042463 0.427714 +v -0.017557 0.115246 0.423693 +v -0.006918 0.115007 0.429644 +v 0.004310 0.116811 0.437391 +v 0.012794 0.116819 0.442128 +v 0.022585 0.117317 0.444895 +v 0.032729 0.117259 0.446546 +v 0.042665 0.117432 0.446181 +v 0.052497 0.117198 0.445317 +v 0.361916 0.990427 0.099060 +v -0.167486 1.334157 -0.042434 +v -0.177408 1.334027 -0.041154 +v 0.486896 0.919047 0.173666 +v 0.029991 1.249037 -0.142509 +v 0.201146 0.988888 0.040367 +v 0.122276 0.114677 0.421247 +v 0.132393 0.114366 0.417892 +v 0.142209 0.113968 0.414912 +v 0.152419 0.113656 0.410757 +v 0.162220 0.113214 0.407705 +v 0.172362 0.112938 0.404545 +v 0.182287 0.112504 0.400671 +v 0.192200 0.112192 0.397981 +v 0.202128 0.111887 0.395270 +v 0.212132 0.111521 0.391664 +v 0.222141 0.111327 0.389264 +v 0.232175 0.110978 0.385434 +v 0.242268 0.110716 0.381889 +v 0.252430 0.110394 0.378543 +v 0.262363 0.110160 0.375593 +v 0.273163 0.109866 0.372657 +v 0.282439 0.109810 0.371186 +v 0.292553 0.109634 0.369522 +v 0.302551 0.109321 0.367362 +v 0.312603 0.109272 0.366710 +v 0.322804 0.109073 0.365832 +v 0.332546 0.109085 0.364890 +v 0.342468 0.108978 0.363303 +v 0.352474 0.108808 0.362000 +v 0.362538 0.108585 0.360814 +v -0.045113 0.935617 -0.064367 +v 0.452710 0.821927 0.281214 +v 0.100880 0.962027 0.105513 +v 0.172701 0.823557 0.318557 +v 0.152813 0.823167 0.314451 +v 0.132711 0.823087 0.308531 +v 0.012325 0.821507 0.263794 +v -0.262944 1.128787 0.134523 +v -0.355797 1.406977 -0.625597 +v -0.113765 1.393918 -0.207913 +v -0.271286 0.993327 0.254142 +v -0.390371 1.007507 0.345826 +v 0.693198 0.696907 0.032161 +v 0.536843 0.870917 0.192345 +v -0.117385 1.379227 -0.071447 +v -0.087403 1.423397 -0.107534 +v -0.670976 0.883247 0.153452 +v 0.723220 0.571874 -0.047711 +v 0.202699 0.809517 0.325554 +v 0.212716 0.809597 0.326778 +v -0.500842 0.816097 -0.135389 +v -0.194048 1.303167 -0.170081 +v -0.143862 1.303617 -0.203084 +v -0.239105 0.362648 0.285643 +v -0.090663 0.611185 -0.327502 +v -0.100664 0.611025 -0.326166 +v 0.222664 0.809937 0.328559 +v 0.665761 0.752077 0.052196 +v -0.447677 1.082187 0.382767 +v -0.578158 1.193437 0.208634 +v 0.232690 0.809947 0.329681 +v 0.360709 0.985397 0.127204 +v -0.344289 1.236577 -0.030478 +v -0.419116 1.333937 -0.619412 +v -0.390228 1.264177 -0.192505 +v -0.378436 1.245208 -0.188089 +v 0.256303 0.935597 0.234084 +v 0.019437 0.944428 0.003143 +v -0.120577 0.963008 -0.048369 +v -0.480360 1.175197 0.304585 +v 0.380540 0.956457 0.192133 +v -0.439869 1.301677 -0.196561 +v 0.451990 0.896117 0.232723 +v -0.409950 1.223567 0.222804 +v -0.379731 1.219587 0.233353 +v -0.317337 0.121476 0.350176 +v -0.307363 0.122076 0.355292 +v -0.297300 0.122290 0.358874 +v -0.287210 0.122078 0.360852 +v -0.277353 0.122004 0.360831 +v -0.267426 0.122241 0.359934 +v -0.257553 0.121856 0.359511 +v -0.247660 0.121451 0.355694 +v -0.237974 0.121015 0.351846 +v -0.227412 0.121334 0.348822 +v -0.217585 0.120683 0.345753 +v -0.207522 0.120452 0.343137 +v -0.197529 0.120288 0.341739 +v -0.187425 0.120518 0.341053 +v -0.177446 0.120370 0.339719 +v -0.167439 0.120123 0.335202 +v -0.157403 0.119593 0.331068 +v -0.147289 0.119813 0.331724 +v -0.137389 0.119397 0.328706 +v -0.127371 0.118881 0.323661 +v -0.117295 0.118400 0.320492 +v 0.124401 0.966257 0.113944 +v 0.038210 0.943757 -0.048236 +v 0.025737 0.939777 -0.052821 +v 0.012576 0.935397 -0.057680 +v 0.000645 0.932657 -0.062078 +v -0.011354 0.930167 -0.066534 +v -0.021211 0.930727 -0.069966 +v -0.033108 0.929277 -0.074630 +v -0.027194 0.127970 0.414523 +v -0.016988 0.128060 0.417648 +v -0.007199 0.128348 0.418204 +v 0.002677 0.128909 0.422078 +v 0.012841 0.129555 0.430054 +v 0.022772 0.130377 0.437350 +v 0.032766 0.130702 0.440817 +v 0.042670 0.130842 0.441056 +v 0.052571 0.130722 0.440691 +v 0.062382 0.130452 0.439152 +v 0.072461 0.130209 0.435837 +v -0.397389 1.151807 0.312244 +v 0.092716 0.128737 0.428140 +v 0.102504 0.128619 0.423867 +v 0.112196 0.128508 0.421016 +v 0.122368 0.128202 0.416625 +v 0.132083 0.127576 0.413391 +v 0.142102 0.127256 0.409782 +v 0.152146 0.126920 0.406261 +v 0.162208 0.126581 0.402753 +v 0.172248 0.126303 0.399177 +v 0.182241 0.125927 0.395485 +v 0.192336 0.125719 0.392038 +v 0.202303 0.125511 0.389282 +v 0.212404 0.125249 0.385959 +v 0.222384 0.125074 0.383263 +v 0.232436 0.124713 0.379729 +v 0.242435 0.124532 0.377058 +v 0.252524 0.124166 0.374353 +v 0.262538 0.124036 0.372509 +v 0.272549 0.123972 0.371092 +v 0.282608 0.123722 0.370254 +v 0.292623 0.123785 0.370097 +v 0.302630 0.123535 0.369240 +v 0.312601 0.123730 0.370331 +v 0.322662 0.123262 0.368386 +v 0.332626 0.123407 0.367951 +v 0.342784 0.122763 0.364990 +v 0.352501 0.123021 0.362430 +v 0.362577 0.122518 0.358985 +v 0.462507 0.821507 0.279190 +v 0.263236 0.906518 0.266804 +v 0.342435 0.823087 0.309480 +v 0.162669 0.823557 0.316225 +v 0.142734 0.823167 0.311024 +v 0.032139 0.822247 0.276584 +v 0.022084 0.822037 0.269125 +v 0.072516 0.836487 0.283902 +v -0.537640 1.166067 0.292256 +v -0.527454 1.165937 0.299643 +v -0.517377 1.165947 0.305890 +v -0.507418 1.166167 0.309799 +v -0.177014 0.975488 0.093106 +v -0.537069 0.998258 0.432474 +v -0.247318 1.231647 0.021529 +v -0.127410 1.378987 -0.070491 +v -0.147262 1.378757 -0.073244 +v 0.652918 0.679859 -0.167417 +v 0.646627 0.679462 -0.177446 +v 0.719582 0.571693 0.082196 +v 0.268970 0.726837 -0.310990 +v -0.470512 0.589140 -0.240169 +v -0.460563 0.589470 -0.244134 +v -0.450589 0.589802 -0.248066 +v -0.440391 0.590111 -0.252676 +v -0.420528 0.590439 -0.255595 +v -0.430573 0.590324 -0.254444 +v -0.063471 0.941727 -0.071445 +v 0.523217 0.886137 0.187179 +v -0.127531 1.349307 -0.058176 +v -0.116864 1.349677 -0.065532 +v 0.219379 0.991578 0.061364 +v -0.467596 1.040367 0.411055 +v 0.350486 0.986607 0.123581 +v 0.108129 0.928208 0.196422 +v -0.394336 1.232807 -0.033833 +v -0.383727 1.256118 -0.190105 +v -0.403578 1.280027 -0.197444 +v 0.045332 0.588301 0.439247 +v -0.081720 0.954737 -0.033989 +v -0.130482 0.964597 -0.052010 +v -0.652486 0.843247 0.303625 +v 0.227372 0.657415 0.437125 +v -0.402206 1.270887 -0.182444 +v 0.139844 0.949647 0.177870 +v 0.128306 0.948108 0.173791 +v 0.739449 0.374735 0.152812 +v -0.307144 0.134770 0.345861 +v -0.297016 0.134254 0.347753 +v -0.287202 0.134625 0.348124 +v -0.277271 0.134060 0.348841 +v -0.267515 0.134040 0.348171 +v -0.257561 0.134242 0.346638 +v -0.247529 0.134670 0.344639 +v -0.237504 0.134354 0.339725 +v -0.227577 0.133750 0.336835 +v -0.217430 0.134008 0.334795 +v -0.207391 0.133699 0.332183 +v -0.197382 0.133591 0.329808 +v -0.187383 0.133707 0.331020 +v -0.177361 0.133830 0.330132 +v -0.167319 0.133832 0.327025 +v -0.157337 0.133217 0.323908 +v -0.147376 0.133207 0.324932 +v -0.137356 0.133294 0.325168 +v -0.127422 0.132449 0.321610 +v -0.117361 0.132351 0.317013 +v -0.107526 0.132797 0.318051 +v -0.427671 1.244077 -0.089841 +v -0.613961 1.197847 0.139385 +v -0.458285 1.236617 0.176372 +v -0.490554 1.235617 0.165127 +v 0.207422 0.672302 0.415160 +v 0.563691 0.831317 -0.147858 +v -0.651230 0.842947 0.243685 +v -0.026773 0.140627 0.405486 +v -0.017101 0.141547 0.410757 +v -0.007019 0.141767 0.414122 +v 0.003132 0.141788 0.416181 +v 0.012939 0.142538 0.420373 +v 0.022744 0.143351 0.426625 +v 0.032718 0.143921 0.432551 +v 0.042706 0.143939 0.433570 +v 0.052630 0.143854 0.433468 +v 0.062497 0.143740 0.432232 +v 0.072235 0.143098 0.429208 +v 0.082151 0.142739 0.425608 +v 0.092156 0.142253 0.420918 +v 0.102214 0.141865 0.416275 +v 0.112250 0.141533 0.412686 +v 0.122278 0.141155 0.409123 +v 0.132311 0.140801 0.404115 +v 0.142269 0.140355 0.400319 +v 0.152212 0.140180 0.397239 +v 0.162266 0.139880 0.394045 +v 0.172388 0.139777 0.390687 +v 0.182522 0.139533 0.387519 +v 0.192541 0.139302 0.385108 +v 0.202619 0.139048 0.383260 +v 0.212649 0.138885 0.382093 +v 0.222663 0.138685 0.381102 +v 0.232626 0.138608 0.380391 +v 0.242709 0.138391 0.380151 +v 0.252631 0.138698 0.380819 +v 0.262605 0.138689 0.380918 +v 0.272614 0.139183 0.383070 +v 0.282690 0.140174 0.387543 +v 0.292762 0.140952 0.391090 +v 0.302718 0.141250 0.393532 +v 0.312616 0.141342 0.394728 +v 0.322504 0.141438 0.395919 +v 0.332369 0.141498 0.394541 +v 0.342315 0.140538 0.388640 +v 0.352152 0.139587 0.379734 +v 0.362918 0.137509 0.372361 +v -0.087385 0.834237 0.238407 +v -0.067571 0.834917 0.240387 +v -0.077411 0.834117 0.239414 +v -0.217312 0.834667 0.244727 +v 0.242701 0.809877 0.330493 +v 0.697078 0.527665 -0.147386 +v 0.192668 0.823627 0.319820 +v 0.202727 0.823267 0.319149 +v -0.076127 0.954157 -0.017307 +v -0.407532 1.137837 0.328577 +v -0.417587 1.137887 0.334775 +v -0.497251 1.165738 0.314421 +v -0.447462 1.165417 0.319043 +v -0.126145 1.423228 -0.139937 +v 0.678277 0.696087 0.132190 +v -0.247332 1.246207 0.015245 +v 0.470497 0.928647 0.167620 +v 0.116321 0.969917 0.009399 +v 0.252666 0.809937 0.331695 +v 0.039494 0.921497 0.142649 +v 0.673173 0.724077 0.102177 +v 0.582728 0.121493 0.209662 +v 0.592698 0.120959 0.204680 +v -0.223365 1.243107 -0.151612 +v -0.004338 1.423467 -0.272930 +v 0.539720 0.569537 -0.311790 +v -0.039657 0.597611 -0.336938 +v -0.050747 0.597509 -0.333915 +v -0.031077 0.598355 -0.341760 +v -0.227325 1.289637 -0.014681 +v -0.054809 0.937777 -0.068139 +v -0.620902 1.199977 0.062381 +v 0.610691 0.812207 0.162931 +v 0.643584 0.765287 0.152397 +v 0.013324 1.500257 -0.178704 +v 0.548489 0.611061 0.353266 +v 0.262610 0.809937 0.331716 +v 0.300495 0.993257 0.105380 +v 0.235899 0.992007 0.081768 +v 0.335672 0.973207 0.175734 +v 0.344955 0.970357 0.179098 +v -0.177479 0.963928 0.107936 +v -0.020756 0.938057 0.003026 +v -0.140373 0.966147 -0.055624 +v -0.620661 0.908137 -0.066511 +v 0.234982 0.676270 0.410045 +v -0.159190 1.369167 -0.065983 +v -0.389492 1.253907 -0.177744 +v -0.378353 1.233847 -0.173502 +v -0.367864 1.212677 -0.169564 +v 0.031146 0.587949 0.425254 +v -0.297337 0.147802 0.331044 +v -0.287397 0.148195 0.332482 +v -0.277341 0.147421 0.333176 +v -0.267381 0.147653 0.330938 +v -0.257413 0.147617 0.330920 +v -0.247402 0.147469 0.328436 +v -0.237373 0.147371 0.324821 +v -0.227415 0.146724 0.321946 +v -0.217371 0.146778 0.319679 +v -0.207380 0.146769 0.318539 +v -0.197362 0.146648 0.318374 +v -0.187397 0.146775 0.318540 +v -0.177387 0.146898 0.319820 +v -0.167427 0.146949 0.317818 +v -0.157356 0.146416 0.316830 +v -0.147357 0.146820 0.318681 +v -0.137359 0.146798 0.318665 +v -0.127337 0.146647 0.315491 +v -0.117345 0.146333 0.312731 +v -0.107405 0.146259 0.311489 +v -0.097471 0.146312 0.312534 +v 0.012481 0.618082 -0.383226 +v -0.030400 0.925287 -0.088299 +v -0.040636 0.926187 -0.092278 +v -0.049857 0.928917 -0.095769 +v -0.058724 0.932077 -0.098886 +v -0.067505 0.935777 -0.102176 +v -0.076787 0.938517 -0.105672 +v -0.016957 0.154149 0.398612 +v -0.007009 0.154909 0.405757 +v 0.002825 0.155562 0.409654 +v 0.013176 0.155569 0.413695 +v 0.022983 0.156223 0.417779 +v 0.032687 0.156848 0.420674 +v 0.042751 0.156522 0.421455 +v 0.052646 0.156455 0.420321 +v 0.062517 0.156308 0.419083 +v 0.072450 0.156001 0.416653 +v 0.082465 0.155750 0.413129 +v 0.092248 0.154830 0.408933 +v 0.102366 0.154772 0.405468 +v 0.112565 0.154642 0.400790 +v 0.122631 0.154239 0.395003 +v 0.132638 0.153979 0.391465 +v 0.142623 0.153894 0.390343 +v 0.152612 0.153798 0.389141 +v 0.162649 0.153611 0.388436 +v 0.172633 0.153585 0.388559 +v 0.182412 0.153121 0.387159 +v 0.192547 0.153023 0.388821 +v 0.202588 0.154029 0.393372 +v 0.212643 0.154848 0.396471 +v 0.222662 0.155239 0.400030 +v 0.232677 0.155456 0.401151 +v 0.242664 0.155966 0.402116 +v 0.252814 0.156419 0.404279 +v 0.262739 0.156297 0.405739 +v 0.272671 0.156100 0.407239 +v 0.282697 0.156372 0.409539 +v 0.292670 0.156326 0.409581 +v 0.302618 0.156284 0.410924 +v 0.312594 0.156661 0.411817 +v 0.322542 0.156596 0.410574 +v 0.332457 0.156297 0.408174 +v 0.342368 0.155998 0.404491 +v 0.352524 0.154918 0.399010 +v 0.362238 0.154813 0.393834 +v 0.371963 0.154328 0.386092 +v -0.497389 1.054388 0.409732 +v -0.507309 1.054357 0.409695 +v -0.057573 0.834977 0.242762 +v -0.318965 1.206417 0.236640 +v 0.616297 0.802927 0.165004 +v 0.212640 0.823737 0.319932 +v -0.487447 1.054437 0.408602 +v -0.477439 1.054578 0.406489 +v -0.467488 1.054507 0.404056 +v -0.447512 1.137928 0.344698 +v -0.457470 1.137777 0.347026 +v -0.437510 1.165447 0.317786 +v -0.407546 1.165748 0.309290 +v -0.396360 1.164647 0.304313 +v -0.542644 0.618715 -0.175163 +v 0.700397 0.683107 0.002164 +v -0.207539 1.245737 0.002025 +v 0.670455 0.737987 0.082159 +v -0.507255 1.110268 0.369072 +v -0.481528 1.195518 0.273593 +v -0.017174 1.454007 -0.150245 +v 0.592690 0.136222 0.213462 +v 0.602675 0.135782 0.211285 +v 0.612624 0.136013 0.212374 +v 0.622559 0.135964 0.213967 +v 0.632540 0.136104 0.215204 +v 0.642612 0.136497 0.217433 +v 0.652626 0.136851 0.218313 +v 0.112611 0.822977 0.302546 +v -0.207454 1.289787 -0.015862 +v -0.166825 1.290217 -0.032168 +v 0.139916 1.317777 -0.216277 +v 0.590816 0.847657 0.141167 +v -0.147396 1.363947 -0.059842 +v 0.661313 0.723647 0.162399 +v 0.567207 0.702917 0.292833 +v 0.011703 1.509517 -0.194563 +v 0.022092 1.513357 -0.193711 +v 0.032888 1.515677 -0.196591 +v 0.167523 0.983457 0.056888 +v 0.081698 0.961957 0.025732 +v 0.271420 0.970577 0.181496 +v 0.363750 0.906897 0.258595 +v -0.422393 1.184997 0.294573 +v -0.475177 1.298277 -0.208419 +v -0.431550 1.297297 -0.193305 +v -0.170066 1.369047 -0.069851 +v 0.233799 0.982837 0.138776 +v -0.369953 1.206387 -0.141190 +v -0.407021 1.259117 -0.155298 +v -0.428485 1.279708 -0.163312 +v -0.297353 0.159547 0.305712 +v -0.287340 0.159865 0.309481 +v -0.277126 0.160641 0.312712 +v -0.267357 0.160153 0.310833 +v -0.257384 0.159670 0.308175 +v -0.247398 0.159177 0.306647 +v -0.237350 0.159195 0.307750 +v -0.227382 0.159586 0.305661 +v -0.217335 0.159497 0.305580 +v -0.207370 0.159812 0.307057 +v -0.197385 0.159827 0.307070 +v -0.187431 0.159933 0.307254 +v -0.177421 0.160184 0.309818 +v -0.167419 0.160308 0.311119 +v -0.157446 0.160483 0.311604 +v -0.147400 0.160445 0.311699 +v -0.137359 0.160315 0.311262 +v -0.127296 0.160182 0.309253 +v -0.117325 0.160068 0.308842 +v -0.107333 0.160040 0.307715 +v -0.097437 0.159966 0.306415 +v -0.087676 0.160387 0.306933 +v -0.429826 1.326617 -0.250664 +v -0.421579 1.321918 -0.247567 +v -0.413814 1.316137 -0.244722 +v -0.406345 1.310037 -0.242001 +v -0.399332 1.302637 -0.239308 +v -0.393279 1.293557 -0.237061 +v -0.387349 1.284437 -0.234910 +v -0.006938 0.167190 0.390135 +v 0.002855 0.168089 0.396354 +v 0.012658 0.168818 0.400224 +v 0.022811 0.168726 0.403463 +v 0.032716 0.168911 0.403618 +v 0.042685 0.168687 0.402414 +v 0.052618 0.168525 0.401150 +v 0.062574 0.168369 0.399901 +v 0.072742 0.168451 0.395547 +v 0.082636 0.168054 0.392833 +v 0.092629 0.167829 0.389349 +v 0.102626 0.167632 0.386871 +v 0.112612 0.167642 0.386928 +v 0.122633 0.167875 0.389333 +v 0.132539 0.168048 0.392366 +v 0.142576 0.168676 0.398185 +v 0.152604 0.168746 0.400598 +v 0.162689 0.169752 0.403433 +v 0.172738 0.170235 0.406886 +v 0.182833 0.171011 0.411375 +v 0.192762 0.170856 0.412962 +v 0.202636 0.170216 0.412339 +v 0.212692 0.170735 0.413137 +v 0.222650 0.170568 0.414641 +v 0.232739 0.171281 0.416589 +v 0.242627 0.170648 0.415901 +v 0.252734 0.171308 0.417894 +v 0.262621 0.170938 0.419562 +v 0.272667 0.171639 0.422798 +v 0.282665 0.171915 0.423801 +v 0.292635 0.171768 0.423972 +v 0.302626 0.171445 0.424337 +v 0.312616 0.171387 0.423068 +v 0.322554 0.171484 0.421549 +v 0.332536 0.171177 0.419229 +v 0.342482 0.170827 0.415576 +v 0.352595 0.170100 0.411137 +v 0.362523 0.169580 0.404992 +v 0.372054 0.170049 0.397606 +v -0.457368 0.913937 0.445640 +v 0.172651 0.905937 0.259264 +v 0.717565 0.613636 -0.047655 +v -0.626050 0.801207 0.083789 +v 0.272574 0.810117 0.331136 +v -0.477366 0.913847 0.444101 +v -0.309125 1.238457 0.040099 +v 0.327531 0.997438 0.072238 +v -0.457642 1.054287 0.400161 +v -0.497373 0.913678 0.438193 +v -0.467413 1.137757 0.348254 +v -0.477331 1.137847 0.348392 +v -0.487294 1.138027 0.347376 +v -0.497244 1.137957 0.346058 +v -0.387045 1.164808 0.298697 +v -0.377597 1.164737 0.293732 +v -0.368061 1.164777 0.289065 +v -0.357083 1.165607 0.283697 +v -0.348691 1.164798 0.281241 +v 0.263627 0.995217 0.077545 +v 0.252694 0.994467 0.073536 +v 0.592807 0.151132 0.221341 +v 0.602667 0.150876 0.217341 +v 0.612636 0.150735 0.217723 +v 0.622587 0.151113 0.219969 +v 0.632436 0.150991 0.221995 +v 0.642498 0.151345 0.224217 +v 0.652548 0.151442 0.225426 +v 0.662613 0.151618 0.226500 +v 0.672625 0.151815 0.226053 +v -0.625632 1.102187 0.232107 +v 0.282546 0.810007 0.329746 +v -0.507363 0.998648 0.437832 +v 0.240899 0.994627 0.040546 +v -0.357620 1.193178 0.269604 +v 0.711834 0.599344 0.122103 +v 0.292499 0.809857 0.327198 +v 0.700550 0.669033 0.072106 +v -0.087037 1.409068 -0.092900 +v 0.042999 1.514148 -0.204595 +v 0.698474 0.612626 0.162118 +v 0.006823 0.941207 -0.001446 +v -0.090633 0.958067 -0.037204 +v -0.150275 0.967347 -0.059249 +v -0.460967 1.303447 -0.203798 +v -0.423461 1.292197 -0.190479 +v -0.416187 1.285457 -0.187716 +v -0.352038 1.160207 -0.132655 +v -0.375895 1.215477 -0.143499 +v -0.414053 1.266177 -0.157875 +v -0.437208 1.283887 -0.166331 +v -0.457479 1.287977 -0.173030 +v -0.287401 0.170684 0.272770 +v 0.302461 0.809687 0.324609 +v -0.267092 0.173482 0.284248 +v -0.257601 0.172008 0.290251 +v -0.247482 0.172244 0.286973 +v -0.237947 0.172759 0.283630 +v -0.227476 0.172323 0.288136 +v -0.217456 0.172683 0.291953 +v -0.207536 0.173174 0.296051 +v -0.197513 0.173324 0.298493 +v -0.187333 0.173356 0.300555 +v -0.177474 0.173772 0.303579 +v -0.167446 0.173981 0.306065 +v -0.157420 0.174097 0.307327 +v -0.147415 0.174080 0.307341 +v -0.137374 0.174052 0.306494 +v -0.127345 0.173963 0.306070 +v -0.117266 0.173932 0.305374 +v -0.107260 0.173879 0.304342 +v -0.097178 0.173609 0.301728 +v -0.087385 0.173391 0.299689 +v -0.077452 0.173863 0.300542 +v 0.227280 0.669006 0.422183 +v -0.090497 0.950287 0.080698 +v 0.199639 0.690397 0.367032 +v -0.165364 0.970317 0.053280 +v -0.314024 1.238307 0.052907 +v -0.462866 1.262797 -0.131409 +v -0.007323 0.179554 0.365252 +v 0.002572 0.180428 0.371713 +v 0.012703 0.180517 0.376563 +v 0.022600 0.180907 0.376795 +v 0.032625 0.180863 0.379181 +v 0.042625 0.180739 0.375489 +v 0.052630 0.180723 0.376687 +v 0.062521 0.180597 0.374389 +v 0.072657 0.180734 0.376649 +v 0.082488 0.180945 0.378371 +v 0.092596 0.181112 0.380590 +v 0.102572 0.181471 0.384425 +v 0.112796 0.182169 0.390189 +v 0.122656 0.182829 0.397860 +v 0.132616 0.183676 0.406321 +v 0.142272 0.184266 0.412539 +v 0.152721 0.184649 0.414487 +v 0.162662 0.184703 0.415818 +v 0.172650 0.184975 0.418190 +v 0.182644 0.185164 0.420656 +v 0.192667 0.185440 0.422992 +v 0.202703 0.185673 0.424078 +v 0.212624 0.185705 0.426756 +v 0.222603 0.186010 0.430421 +v 0.232642 0.186490 0.433869 +v 0.242656 0.186981 0.437356 +v 0.252642 0.187418 0.439628 +v 0.262619 0.187071 0.439906 +v 0.272713 0.185710 0.434913 +v 0.282616 0.186285 0.432804 +v 0.292621 0.186736 0.433455 +v 0.302585 0.187014 0.435776 +v 0.312618 0.186627 0.435048 +v 0.322716 0.185982 0.431935 +v 0.332660 0.185764 0.428068 +v 0.342509 0.185657 0.424035 +v 0.352310 0.185516 0.419987 +v 0.362789 0.185914 0.414960 +v -0.357917 1.157257 -0.205194 +v -0.640444 0.908718 -0.026706 +v -0.358409 1.281897 -0.295326 +v 0.001545 0.598668 -0.405531 +v -0.435913 1.390247 -0.609810 +v -0.477297 0.970407 0.437160 +v -0.349713 1.111158 -0.146058 +v -0.678118 0.910007 0.093254 +v 0.595207 0.820187 -0.115664 +v 0.172839 0.984537 0.044413 +v -0.260876 1.082707 0.164724 +v 0.202699 0.905937 0.265305 +v 0.137409 0.977377 0.031488 +v -0.349547 1.234907 -0.345290 +v -0.585785 0.758717 0.123933 +v -0.507338 1.138247 0.342648 +v -0.517531 1.138567 0.337988 +v 0.299962 0.999177 0.019346 +v -0.628749 1.088477 0.212335 +v -0.000030 0.929027 0.098719 +v -0.025457 0.932637 -0.057129 +v -0.197328 1.334117 -0.043544 +v 0.592553 0.166854 0.232163 +v 0.602964 0.165394 0.223022 +v 0.612668 0.165548 0.221254 +v 0.622584 0.165649 0.222729 +v 0.632531 0.165941 0.225201 +v 0.642516 0.166215 0.227703 +v 0.652489 0.166399 0.230490 +v 0.662539 0.166419 0.232012 +v 0.672622 0.166642 0.232744 +v 0.682780 0.166272 0.231992 +v -0.127266 0.834937 0.246346 +v -0.613800 0.907927 -0.086446 +v -0.373534 1.233717 -0.495525 +v 0.664336 0.751907 0.072184 +v 0.666175 0.695507 0.172353 +v -0.477317 1.151798 0.334528 +v -0.157372 1.334398 -0.044478 +v -0.437144 0.899907 0.443979 +v 0.535114 0.703047 0.316547 +v -0.610409 0.880737 -0.086622 +v -0.630371 0.977038 -0.037006 +v -0.001814 1.496427 -0.229760 +v -0.039895 0.941617 -0.004004 +v -0.479558 1.236147 0.168932 +v -0.181377 1.367677 -0.074053 +v -0.356519 1.170797 -0.135437 +v -0.373314 1.222777 -0.171605 +v -0.363064 1.200627 -0.167762 +v -0.491181 0.636648 0.294038 +v 0.436766 0.960867 0.112330 +v 0.212352 0.983227 0.131111 +v 0.118741 0.666921 0.384289 +v 0.178981 0.980538 0.118991 +v -0.116623 0.936368 0.130388 +v -0.246209 0.182320 0.257843 +v -0.236985 0.184531 0.273535 +v -0.227538 0.185504 0.276784 +v -0.217482 0.186005 0.283059 +v -0.207494 0.186521 0.288206 +v -0.197615 0.186934 0.292269 +v -0.187553 0.187250 0.296021 +v -0.177542 0.187597 0.299799 +v -0.167680 0.187901 0.302741 +v -0.157419 0.188003 0.304710 +v -0.147412 0.188001 0.304810 +v -0.137373 0.187948 0.304244 +v -0.127303 0.187934 0.303998 +v -0.117296 0.187917 0.303923 +v -0.107302 0.187805 0.302410 +v -0.097241 0.187496 0.298859 +v -0.087316 0.187207 0.295930 +v -0.077304 0.187192 0.293898 +v -0.067294 0.187277 0.292961 +v -0.057491 0.188490 0.294742 +v 0.567310 0.875867 0.118059 +v 0.574371 0.868927 0.120738 +v 0.581278 0.861427 0.123323 +v 0.587930 0.853657 0.125834 +v 0.594526 0.845827 0.128331 +v 0.002791 0.190918 0.339685 +v 0.012907 0.191273 0.344608 +v 0.022633 0.191576 0.342450 +v 0.032760 0.191883 0.346117 +v 0.043528 0.192021 0.351524 +v 0.053499 0.192894 0.359083 +v 0.062485 0.193943 0.366705 +v 0.072524 0.194634 0.374269 +v 0.082644 0.195481 0.382960 +v 0.092834 0.196324 0.390199 +v 0.102784 0.196922 0.396364 +v 0.112659 0.197164 0.400235 +v 0.122966 0.198037 0.405662 +v 0.133225 0.198755 0.412618 +v 0.142804 0.199239 0.419072 +v 0.152534 0.199213 0.422119 +v 0.162619 0.199432 0.423074 +v 0.172605 0.199659 0.425525 +v 0.182619 0.200037 0.429112 +v 0.192683 0.200374 0.431303 +v 0.202548 0.200425 0.434129 +v 0.212752 0.201327 0.439502 +v 0.222448 0.201151 0.442461 +v 0.232668 0.201739 0.445813 +v 0.242622 0.202032 0.449565 +v 0.252599 0.202186 0.452178 +v 0.262630 0.202229 0.452044 +v 0.272604 0.201618 0.444623 +v 0.282589 0.201229 0.439640 +v 0.292643 0.201322 0.440952 +v 0.302568 0.201622 0.443041 +v 0.312577 0.201556 0.443242 +v 0.322664 0.201196 0.441231 +v 0.332803 0.200526 0.435547 +v 0.342678 0.200195 0.430351 +v 0.352444 0.200143 0.427396 +v 0.362625 0.199542 0.424282 +v -0.467378 0.970248 0.433373 +v -0.457585 0.969947 0.430281 +v 0.696249 0.640345 -0.097575 +v 0.713210 0.613538 0.092124 +v 0.711955 0.613453 0.102138 +v -0.487320 0.970477 0.440795 +v 0.332369 0.823187 0.313033 +v -0.497472 0.941978 0.439196 +v -0.497397 0.970477 0.442744 +v -0.581609 0.825767 0.379179 +v -0.651352 0.855077 -0.006328 +v -0.467610 1.026317 0.417062 +v -0.477485 1.026497 0.420866 +v -0.487382 1.026688 0.423596 +v -0.497396 1.026608 0.425694 +v 0.602786 0.814637 -0.109804 +v -0.654879 0.855187 0.003588 +v 0.312376 0.809557 0.323041 +v 0.222704 0.905907 0.268897 +v 0.223338 0.969267 0.178621 +v 0.429184 0.969627 0.080968 +v 0.694828 0.682587 -0.057651 +v 0.423840 0.965568 0.121858 +v 0.602817 0.180916 0.232574 +v 0.612832 0.180076 0.225473 +v 0.622656 0.180194 0.225419 +v 0.632556 0.180397 0.226683 +v 0.642527 0.180709 0.228959 +v 0.652502 0.180943 0.231522 +v 0.662478 0.181009 0.233234 +v 0.672582 0.181291 0.235270 +v 0.682661 0.181172 0.235615 +v 0.692650 0.181297 0.234910 +v -0.437258 0.842997 0.431473 +v 0.500233 0.929697 0.121478 +v 0.475642 0.944287 0.112389 +v 0.234315 0.969617 0.182470 +v 0.668129 0.752157 0.012168 +v -0.526500 1.096167 0.374358 +v 0.488521 0.910487 0.188711 +v 0.109879 1.289037 -0.185276 +v 0.116976 1.291257 -0.203666 +v -0.507966 1.168427 -0.138333 +v -0.607932 0.894187 -0.096399 +v 0.008829 0.937457 -0.044479 +v 0.487765 0.935258 0.131125 +v -0.382101 1.224327 -0.145827 +v 0.389259 0.952637 0.195308 +v 0.116193 0.945617 0.169597 +v -0.537656 1.180987 0.270225 +v -0.138077 1.392367 -0.087206 +v -0.149426 1.391147 -0.091305 +v -0.451632 1.239807 0.164022 +v -0.143252 0.912597 0.165618 +v -0.436426 1.247847 -0.093028 +v 0.426390 0.921747 0.209028 +v -0.226430 0.198154 0.266720 +v -0.217113 0.199391 0.276204 +v -0.207209 0.200196 0.283889 +v -0.197542 0.200718 0.288286 +v -0.187481 0.201144 0.293215 +v -0.177340 0.201580 0.297999 +v -0.167604 0.201854 0.301328 +v -0.157492 0.202088 0.303692 +v -0.147515 0.202074 0.304438 +v -0.137378 0.202084 0.304533 +v -0.127286 0.202055 0.304103 +v -0.117260 0.201949 0.302618 +v -0.107258 0.201718 0.300086 +v -0.097196 0.201508 0.297501 +v -0.087141 0.201153 0.293757 +v -0.077227 0.200993 0.291152 +v -0.066983 0.200856 0.287767 +v -0.057365 0.200305 0.284241 +v -0.047031 0.200920 0.284302 +v -0.376068 1.275947 -0.245125 +v -0.370105 1.267518 -0.242963 +v -0.094628 0.892217 0.198838 +v -0.085937 0.887987 0.201559 +v -0.078144 0.882467 0.204694 +v 0.013102 0.204097 0.313912 +v 0.023110 0.203757 0.324243 +v 0.033306 0.204771 0.334220 +v 0.043030 0.206015 0.345836 +v 0.052634 0.207186 0.357619 +v 0.062790 0.208411 0.370105 +v 0.073203 0.209752 0.382342 +v 0.082955 0.210705 0.392616 +v 0.092907 0.211669 0.402227 +v 0.102774 0.212201 0.408381 +v 0.112734 0.212392 0.410825 +v 0.122773 0.212540 0.411930 +v 0.132756 0.212897 0.415516 +v 0.142838 0.213651 0.422534 +v 0.152693 0.213931 0.426539 +v 0.162499 0.213865 0.428192 +v 0.172652 0.214346 0.431362 +v 0.182634 0.214686 0.435036 +v 0.192657 0.214961 0.437370 +v 0.202595 0.215256 0.441134 +v 0.212652 0.215790 0.445778 +v 0.222493 0.215898 0.448654 +v 0.232682 0.216390 0.451721 +v 0.242673 0.216742 0.455288 +v 0.252617 0.216909 0.458005 +v 0.262616 0.216953 0.457876 +v 0.272570 0.216464 0.451692 +v 0.282614 0.215900 0.445606 +v 0.292786 0.215487 0.445337 +v 0.302639 0.215741 0.445985 +v 0.312608 0.215771 0.445671 +v 0.322636 0.215510 0.443531 +v 0.332626 0.215041 0.438656 +v 0.342632 0.214463 0.432671 +v 0.352459 0.214646 0.431987 +v 0.362727 0.214206 0.431814 +v 0.372794 0.215337 0.429598 +v 0.142621 0.905627 0.250471 +v 0.634397 0.735647 -0.147688 +v -0.477527 0.998458 0.431697 +v -0.354006 1.391417 -0.615490 +v -0.296840 0.835057 0.271899 +v 0.322410 0.823287 0.315557 +v 0.312423 0.823387 0.318087 +v -0.167407 0.834457 0.245695 +v -0.517430 0.970528 0.443257 +v -0.527441 0.970477 0.441939 +v 0.634170 0.650284 -0.197615 +v 0.004931 1.481497 -0.259160 +v 0.042394 0.822267 0.283849 +v -0.369379 1.328367 -0.375476 +v -0.507339 1.026507 0.425547 +v -0.517177 1.026278 0.425131 +v -0.527318 1.026617 0.422293 +v -0.536952 1.026147 0.419179 +v 0.266669 0.996557 0.007043 +v -0.541719 1.102708 0.358346 +v 0.556368 0.884407 0.128231 +v -0.030576 0.939177 -0.000583 +v 0.666587 0.751877 0.042167 +v 0.612613 0.195408 0.232152 +v 0.623022 0.194484 0.226365 +v 0.632632 0.194734 0.226719 +v 0.642549 0.194912 0.227919 +v 0.652485 0.195196 0.230373 +v 0.662471 0.195435 0.232929 +v 0.672548 0.195654 0.235188 +v 0.682594 0.195735 0.236519 +v 0.692652 0.195702 0.236683 +v 0.702741 0.195525 0.235560 +v 0.002444 0.834757 0.247187 +v -0.318946 1.203257 0.240850 +v -0.566912 1.179518 0.245550 +v -0.388073 1.178747 0.290267 +v -0.377343 1.179817 0.285624 +v -0.367255 1.179847 0.282054 +v 0.552225 0.703157 0.306195 +v 0.618515 0.702737 0.244015 +v 0.582147 0.813947 0.209341 +v 0.576327 0.823107 0.207257 +v 0.693994 0.696757 -0.017813 +v -0.051290 0.931667 0.109900 +v 0.666007 0.738007 0.112245 +v -0.421149 1.273217 -0.160461 +v 0.397899 0.948537 0.198280 +v -0.027116 0.857247 0.223518 +v -0.180563 0.977487 0.106327 +v 0.405967 0.943537 0.201169 +v 0.406303 0.932688 0.215747 +v -0.461672 1.192717 0.280779 +v -0.346932 1.223067 0.215626 +v -0.465438 1.237447 -0.030292 +v -0.443089 1.243807 0.050476 +v -0.216681 0.212926 0.270749 +v -0.207745 0.214187 0.279972 +v -0.197346 0.214589 0.286649 +v -0.187552 0.215074 0.292073 +v -0.177587 0.215523 0.297297 +v -0.167407 0.216005 0.301995 +v -0.157591 0.216081 0.304049 +v -0.147464 0.216188 0.305263 +v -0.137375 0.216165 0.305280 +v -0.127318 0.216069 0.304294 +v -0.117146 0.215795 0.302000 +v -0.107301 0.215874 0.300952 +v -0.097161 0.215493 0.297556 +v -0.087366 0.215300 0.294228 +v -0.077381 0.214935 0.290489 +v -0.067074 0.214410 0.286257 +v -0.057137 0.214235 0.282557 +v -0.047142 0.213777 0.279896 +v -0.037270 0.213948 0.278060 +v -0.332675 1.240007 -0.055268 +v -0.381987 1.285697 -0.247358 +v -0.365004 1.255758 -0.241078 +v -0.616218 0.921567 -0.076637 +v -0.409234 1.238447 0.178849 +v 0.022482 0.218271 0.319661 +v 0.033380 0.219380 0.335523 +v 0.043418 0.220587 0.350708 +v 0.053149 0.221864 0.363537 +v 0.063459 0.223176 0.375918 +v 0.073125 0.224197 0.387556 +v 0.082795 0.225079 0.397663 +v 0.093038 0.226260 0.408086 +v 0.102673 0.226643 0.414601 +v 0.112832 0.227159 0.417770 +v 0.122547 0.226793 0.417288 +v 0.132832 0.227266 0.418867 +v 0.143020 0.227874 0.424750 +v 0.152845 0.228290 0.429798 +v 0.162585 0.228355 0.432807 +v 0.172634 0.228764 0.436233 +v 0.182636 0.228995 0.438651 +v 0.192663 0.229242 0.440929 +v 0.202566 0.229496 0.444900 +v 0.212558 0.229851 0.448557 +v 0.222661 0.230163 0.450578 +v 0.232721 0.230396 0.452736 +v 0.242749 0.230759 0.456110 +v 0.252623 0.230910 0.459071 +v 0.262634 0.230962 0.459276 +v 0.272958 0.230543 0.455605 +v 0.282774 0.229852 0.448693 +v 0.292620 0.229806 0.447077 +v 0.302662 0.229656 0.446137 +v 0.312657 0.229541 0.444859 +v 0.322571 0.229485 0.443164 +v 0.332634 0.229084 0.439993 +v 0.342547 0.228801 0.435880 +v 0.352669 0.228573 0.435303 +v 0.362626 0.228741 0.436295 +v 0.372687 0.228463 0.434117 +v -0.537582 0.941787 0.436274 +v -0.527504 0.941907 0.438602 +v -0.517493 0.941917 0.440084 +v -0.507534 0.941887 0.439131 +v -0.227360 0.834347 0.247943 +v -0.307197 0.835537 0.277535 +v 0.302478 0.823537 0.319482 +v -0.177434 0.834587 0.244600 +v -0.157403 0.834547 0.247003 +v -0.067505 1.438637 -0.121003 +v -0.537425 0.970417 0.439419 +v -0.547174 0.970237 0.435316 +v 0.619145 0.810497 0.137568 +v -0.099065 1.433267 -0.130220 +v -0.352474 1.235017 -0.265290 +v 0.171804 1.453857 -0.357734 +v 0.643569 0.565482 -0.237113 +v 0.710158 0.655419 0.002132 +v 0.653906 0.751237 -0.077847 +v -0.508602 1.394727 -0.458371 +v -0.037142 1.454698 -0.133031 +v -0.628631 0.665242 0.044638 +v 0.282561 0.823747 0.322337 +v -0.477439 1.096298 0.381484 +v 0.622908 0.209092 0.230429 +v 0.632786 0.208692 0.225625 +v 0.642617 0.208895 0.226592 +v 0.652569 0.209173 0.228909 +v 0.662525 0.209427 0.231389 +v 0.672434 0.209627 0.233171 +v 0.682569 0.209789 0.235306 +v 0.692585 0.209869 0.236681 +v 0.702694 0.209719 0.236024 +v 0.712406 0.208376 0.235121 +v 0.442684 0.822007 0.283630 +v 0.522395 0.910468 0.129778 +v 0.510970 0.918097 0.139798 +v -0.014554 0.933048 -0.053070 +v 0.241201 0.993157 0.069349 +v -0.357212 1.179807 0.278365 +v -0.347143 1.179727 0.274607 +v -0.611881 0.704767 -0.005470 +v -0.187245 1.333887 -0.041311 +v 0.453539 0.937368 0.161430 +v -0.478048 1.303797 -0.221989 +v 0.067291 0.956807 -0.008534 +v -0.452089 1.155507 0.329587 +v -0.446299 1.287557 -0.169613 +v -0.395917 1.232008 0.198207 +v -0.417095 1.219317 0.235313 +v 0.413180 0.936947 0.203936 +v 0.201400 0.982727 0.127086 +v -0.357341 1.238917 0.008451 +v -0.386096 1.194217 0.276676 +v -0.477522 1.234957 -0.034552 +v 0.042831 0.916757 0.158615 +v -0.443604 1.317647 -0.226948 +v 0.113963 0.967318 -0.020416 +v -0.307354 1.218977 0.200720 +v 0.029516 0.937747 -0.065991 +v -0.177693 0.229654 0.298679 +v -0.167429 0.230170 0.303323 +v -0.157466 0.230374 0.306062 +v -0.147446 0.230463 0.307467 +v -0.137383 0.230484 0.307174 +v -0.127337 0.230286 0.306472 +v -0.117265 0.230190 0.305210 +v -0.107201 0.229935 0.302708 +v -0.097262 0.229759 0.299725 +v -0.087088 0.229157 0.295067 +v -0.077317 0.229092 0.291928 +v -0.067178 0.228621 0.287238 +v -0.057119 0.228269 0.283723 +v -0.047212 0.228112 0.280758 +v -0.037367 0.227706 0.276576 +v -0.027451 0.227452 0.273491 +v -0.017444 0.227519 0.274287 +v 0.160560 0.974098 0.126863 +v 0.172067 0.975707 0.130990 +v -0.008571 0.936597 0.066418 +v -0.457833 1.223387 0.220978 +v -0.519033 1.236757 0.111481 +v -0.525671 1.375417 -0.479729 +v -0.500839 0.657265 -0.205323 +v 0.139259 0.968447 -0.054537 +v 0.247930 0.992768 -0.014211 +v 0.293233 0.997897 0.002594 +v 0.401950 0.981607 0.042429 +v 0.102309 0.240759 0.418930 +v 0.112704 0.241340 0.421704 +v 0.122674 0.241328 0.421761 +v 0.132805 0.241548 0.422620 +v 0.142697 0.241949 0.427868 +v 0.152703 0.242465 0.433833 +v 0.162302 0.242509 0.438046 +v 0.172802 0.243331 0.440656 +v 0.182544 0.243155 0.442572 +v 0.192525 0.243320 0.445181 +v 0.202590 0.243789 0.448467 +v 0.212564 0.243873 0.449864 +v 0.222574 0.243907 0.449885 +v 0.232639 0.244072 0.450629 +v 0.242553 0.244288 0.453471 +v 0.252648 0.244642 0.456613 +v 0.262630 0.244727 0.458193 +v 0.272627 0.244637 0.456694 +v 0.282697 0.244111 0.452191 +v 0.292850 0.243493 0.447690 +v 0.302770 0.243350 0.445411 +v 0.312726 0.243264 0.444003 +v 0.322668 0.243191 0.442562 +v 0.332725 0.242917 0.440460 +v 0.342648 0.242889 0.438842 +v 0.352614 0.242913 0.438701 +v 0.362718 0.242729 0.437958 +v 0.372557 0.242816 0.437315 +v 0.312622 0.905877 0.259160 +v 0.302578 0.906337 0.258524 +v 0.291038 0.905667 0.260713 +v 0.675158 0.525920 -0.197165 +v 0.371324 0.990667 0.073969 +v -0.485995 0.821497 -0.146312 +v -0.067440 0.820477 0.251966 +v 0.292445 0.823467 0.320545 +v -0.107271 0.834437 0.239836 +v -0.547595 0.941727 0.432582 +v 0.230262 0.992397 0.065339 +v 0.719894 0.613796 0.012116 +v 0.322354 0.809457 0.320624 +v 0.332258 0.809287 0.317861 +v 0.496465 0.905297 0.191505 +v 0.584143 0.855427 0.138688 +v -0.279476 1.220497 0.094623 +v 0.059557 0.941627 0.120135 +v 0.309344 0.960827 0.195139 +v 0.229425 0.993237 0.036345 +v 0.352145 0.992227 0.095493 +v -0.022602 0.936337 -0.026855 +v 0.061890 0.955807 0.004051 +v -0.007850 1.468977 -0.156879 +v -0.517068 1.095917 0.378697 +v 0.632777 0.223054 0.227568 +v 0.642805 0.222795 0.224856 +v 0.652593 0.223065 0.226652 +v 0.662525 0.223324 0.228982 +v 0.672513 0.223568 0.231469 +v 0.682502 0.223716 0.232934 +v 0.692531 0.223849 0.234282 +v 0.702617 0.223896 0.235451 +v 0.712702 0.223843 0.235405 +v 0.722980 0.222541 0.234300 +v -0.497379 1.068287 0.401130 +v -0.005825 0.613322 -0.365370 +v -0.048530 0.877397 -0.193900 +v -0.206575 1.260937 -0.002680 +v 0.063048 0.561871 0.465156 +v 0.465034 0.941508 0.136987 +v -0.567772 1.193228 0.221096 +v 0.659297 0.694377 -0.147479 +v -0.507907 1.409267 -0.484855 +v 0.582422 0.826197 0.195125 +v 0.557355 0.848547 0.199968 +v -0.341982 1.111158 -0.135279 +v -0.469986 1.283678 -0.177881 +v 0.091805 0.963417 0.000442 +v -0.392811 1.244767 0.111825 +v -0.490422 1.223217 0.209853 +v 0.190439 0.982047 0.123147 +v -0.346334 1.239657 0.012341 +v 0.177127 0.973977 0.147356 +v 0.538424 0.822067 -0.177010 +v -0.098364 0.958028 0.048243 +v 0.102046 0.964407 -0.024824 +v 0.281298 0.968737 0.184966 +v 0.054517 0.945467 -0.056823 +v -0.438572 1.330477 -0.253829 +v -0.177411 0.243985 0.300706 +v -0.167608 0.244290 0.305075 +v -0.157481 0.244681 0.308552 +v -0.147441 0.244760 0.309903 +v -0.137407 0.244684 0.310283 +v -0.127356 0.244712 0.310020 +v -0.117336 0.244654 0.308500 +v -0.107298 0.244394 0.306060 +v -0.097360 0.244203 0.303245 +v -0.087222 0.243678 0.298539 +v -0.077164 0.243209 0.293550 +v -0.067249 0.242908 0.289530 +v -0.057283 0.242541 0.285682 +v -0.047357 0.242231 0.281676 +v -0.037297 0.241732 0.277020 +v -0.027389 0.241515 0.274743 +v -0.017535 0.241531 0.274693 +v -0.007517 0.242121 0.280617 +v 0.019968 0.913167 0.150322 +v 0.416816 0.958228 0.162164 +v -0.550592 1.223937 0.144826 +v -0.675042 0.951097 0.123085 +v -0.510078 0.657686 -0.195031 +v 0.152504 0.972617 -0.049585 +v 0.236480 0.991157 -0.018483 +v 0.304161 0.998347 0.006612 +v 0.393149 0.985067 0.039196 +v 0.462931 0.954787 0.064886 +v 0.102186 0.255234 0.422243 +v 0.112634 0.255458 0.424321 +v 0.122855 0.255790 0.424952 +v 0.132583 0.255778 0.428028 +v -0.096130 1.442598 -0.157828 +v 0.152536 0.257000 0.441271 +v 0.162805 0.257634 0.444398 +v 0.172467 0.257423 0.447574 +v 0.182661 0.258240 0.453030 +v 0.192629 0.258319 0.454319 +v 0.202646 0.258468 0.453897 +v 0.212627 0.258044 0.452149 +v 0.222682 0.257560 0.449437 +v 0.232609 0.257742 0.448389 +v 0.242447 0.257856 0.450555 +v 0.252426 0.258100 0.452822 +v 0.262518 0.258203 0.455296 +v 0.272612 0.258626 0.456417 +v 0.282609 0.258373 0.454203 +v 0.292628 0.257980 0.450742 +v 0.302722 0.257596 0.448762 +v 0.312618 0.257643 0.447114 +v 0.322643 0.257374 0.444863 +v 0.332677 0.257224 0.443786 +v 0.342711 0.256976 0.441523 +v 0.352686 0.256898 0.440193 +v 0.362822 0.256647 0.438197 +v 0.372716 0.256597 0.436572 +v -0.047529 0.834837 0.244950 +v 0.082720 0.903967 0.219814 +v 0.092661 0.904267 0.222450 +v 0.102831 0.904238 0.229842 +v -0.415348 1.305637 -0.629202 +v 0.025978 0.940667 0.078703 +v -0.077456 0.820627 0.249804 +v -0.087388 0.820367 0.249475 +v -0.037457 0.834597 0.245855 +v 0.322646 0.905857 0.260334 +v 0.607280 0.829247 0.133173 +v -0.075695 1.436797 -0.121514 +v -0.374773 1.267437 -0.230230 +v -0.381175 1.274917 -0.232562 +v 0.072684 0.890497 0.235097 +v -0.647932 0.835247 0.303379 +v -0.370544 1.233787 -0.485586 +v 0.668569 0.737547 -0.067660 +v -0.250886 1.159878 0.084638 +v 0.526744 0.702877 0.322008 +v -0.106902 0.959367 -0.058030 +v 0.092666 0.891057 0.242795 +v -0.347566 1.193287 0.266041 +v 0.675579 0.738347 0.002171 +v -0.656413 0.937527 0.213149 +v -0.517436 0.956317 0.443349 +v 0.643035 0.236817 0.224829 +v 0.652906 0.236868 0.224213 +v 0.662599 0.237217 0.226621 +v 0.672540 0.237469 0.228992 +v 0.682559 0.237624 0.231163 +v 0.692501 0.237742 0.231712 +v 0.702563 0.237813 0.232928 +v 0.712631 0.237883 0.234032 +v 0.722685 0.237827 0.233832 +v 0.733326 0.236479 0.231452 +v -0.507383 1.012767 0.432125 +v -0.517305 1.012537 0.431624 +v -0.527376 1.012667 0.429596 +v -0.507860 0.369938 0.028382 +v -0.488609 1.349177 -0.323250 +v -0.116312 0.961717 -0.061420 +v 0.456246 0.945358 0.133841 +v 0.362279 0.808667 0.306417 +v 0.691750 0.696747 0.052120 +v 0.173007 1.438967 -0.346944 +v 0.649292 0.779537 0.052193 +v 0.041952 1.529167 -0.212466 +v -0.483335 1.277297 -0.183104 +v -0.161880 1.388137 -0.095631 +v 0.195826 0.681703 0.395803 +v -0.476291 0.556110 0.309678 +v -0.268228 0.232633 0.024928 +v 0.196394 0.944677 0.213008 +v -0.397623 1.244437 0.124606 +v 0.243670 0.681947 0.397808 +v -0.334381 1.203637 0.249981 +v 0.088917 0.959727 -0.029633 +v 0.328543 0.956317 0.201985 +v 0.069122 0.950677 -0.051642 +v 0.052295 0.955347 0.029590 +v -0.538148 1.227927 0.149045 +v -0.167469 0.258601 0.307208 +v -0.157443 0.258951 0.311015 +v -0.147459 0.259026 0.312494 +v -0.137361 0.259213 0.313340 +v -0.127372 0.259007 0.312559 +v -0.117347 0.258906 0.311044 +v -0.107272 0.258612 0.308757 +v -0.097369 0.258514 0.305766 +v -0.087303 0.258082 0.302021 +v -0.077216 0.257583 0.297245 +v -0.067365 0.257360 0.293071 +v -0.057533 0.257080 0.288821 +v -0.047316 0.256497 0.284371 +v -0.037284 0.256139 0.280686 +v -0.027379 0.255966 0.277751 +v -0.017409 0.255835 0.276625 +v -0.007567 0.256247 0.282019 +v 0.035921 0.931827 -0.092810 +v 0.025277 0.929827 -0.096483 +v -0.041110 1.467037 -0.219479 +v -0.518613 0.658238 -0.185150 +v 0.164965 0.976557 -0.044974 +v 0.224425 0.988827 -0.022925 +v 0.315040 0.998767 0.010654 +v 0.384324 0.988627 0.035995 +v 0.471581 0.950757 0.068088 +v 0.092860 0.269178 0.420427 +v 0.102603 0.269530 0.425593 +v 0.112693 0.269755 0.427866 +v 0.122512 0.269772 0.429381 +v 0.132089 0.270183 0.435972 +v 0.142447 0.271173 0.445076 +v 0.152818 0.271873 0.448041 +v 0.162462 0.271811 0.452368 +v 0.172542 0.272678 0.458951 +v 0.182671 0.272973 0.461386 +v 0.192585 0.272616 0.460714 +v 0.202657 0.272391 0.459845 +v 0.212654 0.272565 0.459452 +v 0.222629 0.271918 0.453763 +v 0.232556 0.271471 0.450710 +v 0.242651 0.272026 0.451830 +v 0.252524 0.272047 0.455036 +v 0.262601 0.272605 0.459360 +v 0.272617 0.272795 0.460312 +v 0.282604 0.273020 0.461297 +v 0.292624 0.272866 0.461616 +v 0.302649 0.272726 0.460456 +v 0.312583 0.272670 0.457760 +v 0.322449 0.272743 0.456122 +v 0.332538 0.272036 0.450450 +v 0.342597 0.271454 0.445815 +v 0.352601 0.271128 0.442293 +v 0.364060 0.270892 0.437550 +v 0.374161 0.271066 0.434995 +v 0.142718 0.891867 0.265458 +v 0.132676 0.891777 0.261742 +v 0.122748 0.891497 0.257827 +v 0.112588 0.891537 0.251797 +v 0.102594 0.891527 0.246900 +v -0.427265 0.843037 0.428876 +v -0.097314 0.820777 0.248824 +v -0.107210 0.820817 0.251233 +v -0.256736 0.834057 0.251563 +v 0.072650 0.903867 0.213603 +v 0.332624 0.906147 0.260696 +v 0.342594 0.905927 0.261589 +v 0.352556 0.905807 0.261451 +v 0.122539 0.823207 0.305260 +v 0.603436 0.830997 0.145984 +v -0.086143 0.941167 -0.109104 +v -0.132942 0.962248 0.050478 +v -0.393422 1.239157 0.169809 +v 0.251799 0.995457 0.044553 +v 0.322305 0.996428 0.084619 +v 0.000239 0.939437 -0.018441 +v 0.161390 0.982938 0.040240 +v 0.149405 0.980127 0.035847 +v 0.663256 0.680581 -0.147547 +v 0.371187 0.987767 0.102456 +v -0.086617 1.436387 -0.125760 +v -0.107214 1.379367 -0.073758 +v 0.653219 0.250769 0.222507 +v 0.662802 0.250912 0.221932 +v 0.672569 0.251276 0.224556 +v 0.682451 0.251568 0.227057 +v 0.692542 0.251588 0.228850 +v 0.702525 0.251727 0.230286 +v 0.712587 0.251801 0.231506 +v 0.722673 0.251820 0.231737 +v 0.733218 0.250349 0.231308 +v 0.742791 0.250291 0.227450 +v 0.710760 0.641547 0.052148 +v 0.712537 0.641449 -0.037685 +v -0.537292 1.012498 0.425807 +v -0.546922 1.012087 0.421648 +v -0.527618 0.912997 0.423114 +v -0.593178 0.785437 -0.015946 +v 0.662243 0.751997 0.092241 +v -0.458404 1.139457 -0.258010 +v -0.352458 1.219267 -0.355306 +v -0.477340 0.956247 0.438439 +v 0.053088 1.530527 -0.219851 +v 0.413488 0.926017 0.218495 +v 0.223358 0.983337 0.135013 +v -0.527656 0.635823 0.259808 +v -0.500635 0.609583 0.290200 +v -0.016426 0.880347 0.197243 +v 0.186028 0.944908 0.209085 +v -0.278218 1.206558 0.167857 +v -0.445162 1.216377 0.240672 +v -0.342588 1.208577 0.247108 +v 0.076976 0.956917 -0.034020 +v -0.433498 1.242007 -0.077261 +v 0.042001 0.941707 -0.061426 +v 0.390470 0.931417 0.224504 +v -0.502093 1.234027 0.161170 +v -0.167643 0.272763 0.308800 +v -0.157457 0.273109 0.312298 +v -0.147471 0.273168 0.313741 +v -0.137397 0.273350 0.314758 +v -0.127373 0.273519 0.315702 +v -0.117306 0.273182 0.315342 +v -0.107365 0.273225 0.313363 +v -0.097384 0.272927 0.309506 +v -0.087223 0.272456 0.306120 +v -0.077181 0.272113 0.302373 +v -0.067107 0.271608 0.297456 +v -0.057412 0.271437 0.292980 +v -0.047799 0.270945 0.288213 +v -0.037431 0.270619 0.284022 +v -0.027384 0.270123 0.279298 +v -0.017447 0.269954 0.278199 +v -0.007565 0.270431 0.283284 +v 0.001413 0.271113 0.293044 +v 0.126859 0.964198 -0.059088 +v -0.528097 0.658769 -0.175080 +v 0.176932 0.979367 -0.040551 +v 0.212998 0.987068 -0.027181 +v 0.325305 0.998247 0.014378 +v 0.375038 0.991247 0.032595 +v 0.479807 0.945957 0.071152 +v 0.556563 0.887447 0.099778 +v 0.093026 0.283611 0.425060 +v 0.102700 0.284063 0.431467 +v 0.112618 0.284367 0.435175 +v 0.122826 0.284935 0.438581 +v 0.132876 0.285732 0.446772 +v 0.142614 0.285861 0.452052 +v 0.152673 0.286219 0.455523 +v 0.162696 0.286871 0.461342 +v 0.172587 0.287087 0.465348 +v 0.182418 0.286874 0.466016 +v 0.192662 0.287488 0.467115 +v 0.202635 0.287230 0.467908 +v 0.212639 0.287174 0.466514 +v 0.222617 0.286751 0.461692 +v 0.232690 0.287177 0.457715 +v 0.243113 0.287751 0.464174 +v 0.252770 0.287960 0.469106 +v 0.262676 0.287786 0.470942 +v 0.272667 0.287852 0.470738 +v 0.282624 0.287731 0.471035 +v 0.292639 0.287603 0.471372 +v 0.302587 0.287615 0.469871 +v 0.312562 0.287438 0.467313 +v 0.322911 0.285884 0.464615 +v 0.372535 0.864187 0.279316 +v 0.111509 0.969627 0.022116 +v 0.112580 0.878077 0.268300 +v 0.272534 0.878407 0.291457 +v -0.674608 0.883057 0.113431 +v 0.013036 0.887897 0.199001 +v 0.022711 0.888947 0.204564 +v 0.032690 0.889357 0.210973 +v 0.042712 0.889657 0.217323 +v 0.052620 0.890067 0.222501 +v -0.187416 0.834297 0.244294 +v -0.207335 0.834807 0.242434 +v -0.117299 0.820817 0.254825 +v -0.127238 0.821197 0.256491 +v -0.247155 0.834667 0.248643 +v 0.062921 0.902938 0.208146 +v 0.052828 0.902907 0.201953 +v 0.042986 0.902187 0.195388 +v 0.032716 0.902457 0.186868 +v -0.477407 1.109837 0.372124 +v -0.268700 1.128657 0.154501 +v 0.484272 0.940228 0.115577 +v -0.549287 1.230697 0.086374 +v 0.394037 0.984247 0.068037 +v 0.640951 0.765077 0.162404 +v -0.352507 1.234687 -0.405349 +v -0.188013 0.934937 -0.174080 +v 0.683680 0.696067 -0.087649 +v 0.694368 0.696937 0.012145 +v -0.432209 1.051767 -0.169066 +v -0.576081 0.824877 -0.086625 +v 0.032303 1.273848 -0.112219 +v 0.652713 0.265175 0.224757 +v 0.663281 0.264613 0.217530 +v 0.672822 0.264735 0.218041 +v 0.682584 0.265147 0.221726 +v 0.692525 0.265356 0.224015 +v 0.702490 0.265589 0.226580 +v 0.712575 0.265701 0.228831 +v 0.722612 0.265748 0.229910 +v 0.732678 0.265615 0.228785 +v 0.742794 0.265408 0.226478 +v 0.752435 0.264035 0.222179 +v -0.592268 1.086727 -0.047678 +v 0.709687 0.613336 0.122132 +v -0.364782 1.391697 -0.585290 +v -0.469404 1.244577 0.055673 +v -0.497416 0.899647 0.438244 +v -0.555793 0.797397 0.354293 +v -0.177288 1.349047 -0.051513 +v -0.628462 0.949397 -0.046520 +v -0.355945 1.203377 -0.345307 +v -0.467735 1.333647 -0.266751 +v -0.656764 0.869327 0.173686 +v 0.372613 0.808707 0.302376 +v 0.382578 0.808477 0.299629 +v -0.307401 0.270156 0.123131 +v 0.392567 0.808367 0.298263 +v 0.402570 0.808237 0.298037 +v -0.086081 0.910568 0.171456 +v -0.443094 1.232867 0.196272 +v 0.166848 0.977958 0.114713 +v -0.273839 1.195257 0.169766 +v 0.483390 0.886328 0.229897 +v -0.533799 1.225757 0.004104 +v 0.063856 0.952168 -0.038826 +v 0.185276 0.955167 0.194170 +v 0.016361 0.933408 -0.070895 +v -0.501241 1.238327 0.132184 +v -0.235280 1.019847 0.188932 +v -0.167445 0.287069 0.310953 +v -0.157417 0.287404 0.314742 +v -0.147473 0.287586 0.317524 +v -0.137459 0.287647 0.318984 +v -0.127371 0.288027 0.320796 +v -0.117327 0.287733 0.320307 +v -0.107331 0.287688 0.318681 +v -0.097373 0.287531 0.315914 +v -0.087397 0.287204 0.312064 +v -0.077237 0.286538 0.306060 +v -0.067313 0.286024 0.299519 +v -0.057428 0.285742 0.295472 +v -0.047377 0.285271 0.290531 +v -0.037389 0.284916 0.286645 +v -0.027373 0.284519 0.283143 +v -0.017331 0.284474 0.281481 +v -0.007316 0.284801 0.285359 +v 0.001742 0.285556 0.296481 +v 0.188949 0.981987 -0.036104 +v 0.200958 0.984657 -0.031638 +v 0.259404 0.994228 -0.009952 +v 0.345857 0.996757 0.021871 +v 0.437381 0.967277 0.055512 +v 0.488035 0.941207 0.074205 +v 0.549235 0.894067 0.097040 +v 0.591319 0.851467 0.112923 +v 0.203009 0.971417 0.171296 +v 0.102970 0.298555 0.435905 +v 0.112957 0.299115 0.441842 +v 0.122804 0.299368 0.445633 +v 0.132484 0.299766 0.452304 +v 0.142679 0.300317 0.456741 +v 0.152766 0.300641 0.460144 +v 0.162697 0.301044 0.465021 +v 0.172672 0.301384 0.468650 +v 0.182554 0.301414 0.470264 +v 0.192574 0.301521 0.471535 +v 0.202627 0.301448 0.471774 +v 0.212631 0.301347 0.470423 +v 0.222651 0.301514 0.468247 +v 0.232639 0.301301 0.467381 +v 0.242665 0.301663 0.470893 +v 0.252655 0.301948 0.474649 +v 0.262630 0.302022 0.475917 +v 0.272610 0.301961 0.476230 +v 0.282630 0.301860 0.476647 +v 0.292617 0.302133 0.477142 +v 0.302661 0.301862 0.475031 +v 0.312719 0.301598 0.472813 +v 0.322867 0.301494 0.470105 +v 0.333649 0.299673 0.463732 +v 0.382318 0.863887 0.276248 +v 0.605081 0.702847 0.259882 +v 0.122648 0.878117 0.271958 +v 0.262602 0.878937 0.292076 +v 0.252644 0.878797 0.291876 +v 0.242660 0.878667 0.290518 +v 0.232656 0.878847 0.289550 +v 0.222691 0.878677 0.289300 +v 0.212767 0.878377 0.288941 +v 0.202727 0.878457 0.287850 +v 0.192634 0.878777 0.285905 +v -0.391604 0.905717 -0.179165 +v -0.140656 0.596109 -0.321089 +v -0.675856 0.896737 0.143403 +v 0.152680 0.892047 0.268046 +v 0.162798 0.891717 0.271306 +v 0.172679 0.892137 0.271765 +v 0.182747 0.891957 0.273922 +v -0.673477 0.883137 0.133456 +v -0.674514 0.883117 0.123454 +v -0.261567 0.248294 0.101901 +v -0.358213 1.188357 -0.185237 +v -0.360508 1.187727 -0.335273 +v 0.706945 0.641290 0.092124 +v -0.517144 1.082207 0.389081 +v 0.636504 0.781587 0.143969 +v -0.616378 0.665129 0.134399 +v 0.638492 0.750237 -0.117780 +v -0.080922 0.653989 -0.319373 +v 0.687044 0.654159 0.162100 +v 0.682071 0.653872 0.172126 +v 0.677170 0.653603 0.182211 +v 0.662916 0.278661 0.217495 +v 0.673085 0.278346 0.211984 +v 0.682710 0.278593 0.214024 +v 0.692593 0.279011 0.216876 +v 0.702527 0.279072 0.220039 +v 0.712482 0.279387 0.222666 +v 0.722601 0.279377 0.224794 +v 0.732642 0.279391 0.224838 +v 0.742707 0.279320 0.223822 +v 0.752756 0.279016 0.220967 +v 0.762782 0.278679 0.217400 +v 0.771573 0.277595 0.214113 +v 0.674684 0.638836 -0.147548 +v 0.563612 0.877707 0.130929 +v 0.549051 0.890987 0.125477 +v 0.679246 0.568300 -0.187263 +v 0.380460 0.985048 0.105870 +v 0.018529 0.598436 -0.424947 +v 0.675566 0.738317 0.012178 +v 0.382710 0.822647 0.295145 +v 0.688979 0.696497 -0.067750 +v 0.412527 0.808187 0.297984 +v 0.422647 0.808237 0.295941 +v -0.493040 1.240507 0.047415 +v 0.420296 0.970407 0.106232 +v -0.360670 1.183887 -0.137150 +v -0.388163 1.233347 -0.148147 +v -0.317954 0.286657 0.145489 +v -0.306580 0.290386 0.157419 +v 0.432531 0.807937 0.293012 +v 0.442459 0.807777 0.289337 +v -0.277117 0.289698 0.180024 +v -0.265960 0.291634 0.190773 +v 0.420171 0.929937 0.206398 +v -0.059577 0.936327 0.106805 +v 0.404935 0.906528 0.244457 +v 0.050725 0.947637 -0.043668 +v -0.213411 1.040797 0.078584 +v 0.004443 0.930157 -0.075198 +v 0.274275 0.666936 0.423761 +v 0.426362 0.897477 0.238193 +v 0.530828 0.908777 0.104370 +v -0.167339 0.301358 0.313302 +v -0.157347 0.301801 0.318399 +v -0.147462 0.301944 0.321251 +v -0.137324 0.302315 0.323168 +v -0.127390 0.302194 0.323827 +v -0.117366 0.302216 0.323698 +v -0.107335 0.302080 0.322550 +v -0.097261 0.301843 0.320102 +v -0.087396 0.301590 0.315845 +v -0.077644 0.301261 0.310220 +v -0.067396 0.300473 0.303167 +v -0.057415 0.299895 0.296788 +v -0.047351 0.299537 0.293132 +v -0.037450 0.299363 0.290296 +v -0.027352 0.298922 0.287053 +v -0.017434 0.298712 0.284398 +v -0.007224 0.299123 0.287739 +v 0.001928 0.299733 0.297666 +v 0.282378 0.996898 -0.001453 +v 0.270869 0.995737 -0.005731 +v 0.335598 0.997777 0.018112 +v 0.428256 0.970407 0.052115 +v 0.496196 0.936327 0.077249 +v 0.541928 0.900667 0.094333 +v 0.597883 0.843627 0.115424 +v 0.329300 0.946327 0.216941 +v -0.337333 1.239837 0.117066 +v 0.103058 0.312704 0.438152 +v 0.112464 0.312945 0.443874 +v 0.122584 0.313343 0.447316 +v -0.111641 1.433418 -0.163444 +v 0.142856 0.314394 0.458683 +v 0.152728 0.314717 0.462589 +v 0.162476 0.314903 0.465597 +v 0.172655 0.315247 0.468732 +v 0.182588 0.315462 0.471328 +v 0.192541 0.315533 0.472965 +v 0.202565 0.315513 0.473086 +v 0.212627 0.315563 0.472391 +v 0.222644 0.315603 0.472121 +v 0.232630 0.315650 0.473647 +v 0.242565 0.315688 0.475324 +v 0.252610 0.315972 0.477405 +v 0.262582 0.315942 0.477851 +v 0.272589 0.315944 0.477826 +v 0.282618 0.316100 0.478451 +v 0.292685 0.316010 0.477913 +v 0.302751 0.315894 0.476815 +v 0.312734 0.315779 0.475249 +v 0.322839 0.315484 0.471982 +v 0.332825 0.315095 0.468207 +v 0.342946 0.314660 0.464849 +v 0.392469 0.863697 0.272599 +v -0.599929 0.893807 -0.106661 +v 0.132558 0.878487 0.274781 +v 0.142704 0.878277 0.278101 +v 0.152742 0.878207 0.280420 +v 0.162674 0.878497 0.281949 +v 0.172710 0.878357 0.282964 +v -0.608123 1.192077 0.165293 +v -0.437659 1.110037 0.362490 +v -0.487418 1.082297 0.391529 +v 0.103025 0.877387 0.264056 +v 0.282569 0.878737 0.288252 +v 0.709108 0.641354 0.072074 +v -0.349477 1.250307 -0.405403 +v -0.360814 1.125977 -0.165816 +v 0.697402 0.597991 -0.127531 +v 0.693682 0.597749 -0.137581 +v 0.192563 0.892687 0.273576 +v 0.202632 0.892527 0.274562 +v 0.212700 0.892217 0.276631 +v 0.222664 0.892377 0.277990 +v 0.232729 0.892167 0.280068 +v 0.252619 0.892357 0.281599 +v 0.272600 0.892587 0.278266 +v -0.526811 1.081768 0.386111 +v -0.088124 0.954247 -0.051164 +v 0.122800 0.918468 0.224775 +v 0.112873 0.918018 0.218342 +v 0.182599 0.933447 0.225107 +v 0.192618 0.933397 0.227538 +v 0.703524 0.640742 -0.077519 +v 0.700032 0.640599 -0.087593 +v 0.673044 0.292108 0.208898 +v 0.682986 0.292125 0.205732 +v 0.692661 0.292315 0.207763 +v 0.702549 0.292558 0.212391 +v 0.712526 0.292796 0.214884 +v 0.722566 0.292996 0.217464 +v 0.732609 0.293081 0.218756 +v 0.742663 0.293046 0.218760 +v 0.752715 0.292898 0.217447 +v 0.762885 0.292728 0.215273 +v 0.772740 0.292346 0.212228 +v 0.783018 0.291980 0.207724 +v 0.237445 0.952227 0.212699 +v 0.452588 0.807687 0.285749 +v 0.432763 0.947748 0.168043 +v -0.067074 1.424567 -0.107254 +v 0.628242 0.763797 -0.127731 +v 0.657590 0.765447 0.062166 +v 0.462558 0.807587 0.284408 +v -0.027176 1.454487 -0.140059 +v 0.061410 1.543137 -0.241225 +v 0.473515 0.807757 0.281646 +v -0.003983 0.940077 -0.005402 +v -0.100420 0.959947 -0.040876 +v -0.160633 0.967987 -0.063090 +v -0.407061 1.231217 -0.067563 +v 0.263530 0.678511 0.404729 +v 0.411922 0.974867 0.103156 +v -0.394279 1.242267 -0.150484 +v -0.113646 1.303847 -0.219323 +v -0.162931 1.214257 -0.162717 +v -0.307248 0.305214 0.193946 +v -0.297153 0.306342 0.201383 +v -0.287414 0.305641 0.204311 +v -0.277139 0.306711 0.210361 +v -0.266951 0.307213 0.215334 +v -0.256260 0.308054 0.224584 +v -0.246566 0.309304 0.237830 +v -0.237031 0.309680 0.249226 +v -0.424718 1.238397 -0.074051 +v -0.007002 0.928397 -0.079385 +v 0.327781 0.966657 0.187236 +v 0.275333 0.942698 0.226383 +v 0.538257 0.902587 0.107196 +v 0.084203 0.947937 0.128879 +v -0.167181 0.315653 0.315562 +v -0.157108 0.316145 0.320337 +v -0.147213 0.316354 0.322997 +v -0.137370 0.316423 0.324748 +v -0.127361 0.316554 0.325805 +v -0.117385 0.316586 0.325599 +v -0.107411 0.316436 0.324538 +v -0.097303 0.316141 0.322598 +v -0.087375 0.315972 0.319702 +v -0.077609 0.315603 0.314082 +v -0.067181 0.314648 0.306048 +v -0.057478 0.314301 0.300444 +v -0.047448 0.313865 0.295490 +v -0.037386 0.313509 0.291745 +v -0.027341 0.313081 0.288343 +v -0.017386 0.313039 0.286727 +v -0.007388 0.313363 0.290538 +v 0.002296 0.314209 0.301033 +v 0.365381 0.993418 0.028997 +v 0.355656 0.995257 0.025436 +v 0.445864 0.963078 0.058598 +v 0.512142 0.925817 0.083161 +v 0.534641 0.907337 0.091614 +v 0.610703 0.826537 0.120155 +v 0.347971 0.940778 0.223529 +v -0.193769 1.009387 0.027453 +v 0.376293 0.988507 0.090038 +v 0.102836 0.326797 0.440874 +v 0.112796 0.327176 0.445687 +v 0.122815 0.327166 0.445564 +v 0.133001 0.327621 0.450304 +v 0.142994 0.328100 0.456045 +v 0.152788 0.328420 0.461273 +v 0.162508 0.328734 0.464370 +v 0.172459 0.328983 0.466989 +v 0.182453 0.329176 0.469447 +v 0.192600 0.329306 0.471358 +v 0.202638 0.329423 0.472572 +v 0.212565 0.329445 0.472967 +v 0.222548 0.329518 0.474226 +v 0.232616 0.329765 0.476073 +v 0.242579 0.329835 0.477610 +v 0.252563 0.329841 0.477960 +v 0.262617 0.329870 0.477558 +v 0.272633 0.329791 0.476547 +v 0.282609 0.329873 0.477202 +v 0.292710 0.329870 0.476954 +v 0.302677 0.329817 0.476484 +v 0.312724 0.329607 0.474164 +v 0.322669 0.329361 0.471492 +v 0.332727 0.329039 0.468004 +v 0.342695 0.328815 0.465461 +v 0.352884 0.328501 0.462265 +v 0.402643 0.864017 0.272123 +v -0.499544 1.224067 -0.138440 +v -0.469513 1.236667 -0.358546 +v -0.576016 0.675364 -0.115387 +v 0.692001 0.682307 -0.077511 +v -0.487348 1.110247 0.371441 +v -0.427503 1.165757 0.315577 +v -0.507481 1.431867 -0.579697 +v 0.269502 0.997157 0.065318 +v 0.092584 0.877477 0.259014 +v 0.292581 0.878647 0.285762 +v 0.302509 0.878187 0.284012 +v 0.312506 0.878367 0.280617 +v 0.322594 0.878257 0.278066 +v 0.332589 0.878267 0.279219 +v 0.342569 0.878307 0.279248 +v 0.062484 0.822547 0.290146 +v 0.086317 1.554407 -0.277991 +v 0.683976 0.526697 -0.177185 +v -0.197249 0.888587 0.188420 +v -0.187388 0.888258 0.185595 +v 0.242671 0.892527 0.280542 +v 0.262590 0.892437 0.280525 +v -0.477495 1.082337 0.390320 +v -0.654549 0.843287 0.283637 +v 0.132728 0.918777 0.229907 +v 0.162718 0.932678 0.219686 +v 0.172532 0.933498 0.221427 +v -0.242100 0.902527 -0.199455 +v 0.467268 0.760267 -0.252084 +v -0.673207 0.909777 0.063307 +v 0.673560 0.306072 0.207841 +v 0.682842 0.305495 0.200865 +v 0.692913 0.305599 0.198075 +v 0.702290 0.306170 0.201426 +v 0.712452 0.306247 0.205056 +v 0.722474 0.306514 0.208753 +v 0.732504 0.306671 0.210214 +v 0.742623 0.306687 0.211381 +v 0.752681 0.306605 0.211343 +v 0.762790 0.306489 0.210157 +v 0.773006 0.306397 0.208097 +v 0.782943 0.305965 0.205120 +v 0.633293 0.772377 0.171370 +v 0.207288 0.989327 0.056990 +v -0.157390 1.349287 -0.051307 +v -0.208054 1.351507 -0.138718 +v -0.203714 1.006798 -0.035338 +v -0.659272 0.868847 0.013593 +v -0.602454 0.636274 -0.065193 +v -0.517396 1.306707 -0.348906 +v -0.517311 0.899267 0.426110 +v 0.290068 0.993807 0.101576 +v 0.224968 0.991127 0.077779 +v 0.156069 0.981697 0.052713 +v 0.069703 0.959157 0.021365 +v -0.015965 0.937757 -0.009803 +v -0.143280 0.962487 -0.086052 +v -0.153710 0.962718 -0.089833 +v 0.196285 0.955457 0.197955 +v 0.255163 0.982867 0.146550 +v 0.014770 0.433771 0.389950 +v -0.364911 1.195388 -0.139232 +v -0.400990 1.250307 -0.153019 +v -0.341276 0.722177 -0.272324 +v -0.331229 0.722277 -0.273704 +v -0.471566 0.816927 -0.157842 +v -0.360462 0.577898 -0.279717 +v -0.041337 0.583329 -0.338458 +v -0.267560 0.322739 0.241304 +v -0.257021 0.324200 0.246880 +v -0.246781 0.325101 0.254133 +v -0.236027 0.324543 0.260203 +v -0.227120 0.324931 0.267157 +v 0.039087 0.950897 0.024852 +v 0.051629 0.923997 0.146888 +v 0.545565 0.895987 0.109905 +v 0.213443 0.970677 0.174978 +v -0.393948 1.303887 -0.251756 +v -0.167124 0.329829 0.316727 +v -0.157259 0.330147 0.320746 +v -0.147367 0.330327 0.323496 +v -0.137322 0.330580 0.325843 +v -0.127373 0.330690 0.327112 +v -0.117378 0.330508 0.326790 +v -0.107450 0.330719 0.326821 +v -0.097298 0.330406 0.325142 +v -0.087321 0.330091 0.321173 +v -0.077422 0.329690 0.315808 +v -0.067495 0.329149 0.309376 +v -0.057606 0.328762 0.303990 +v -0.047273 0.328054 0.298394 +v -0.037345 0.327747 0.294459 +v -0.027360 0.327353 0.290930 +v -0.017447 0.327348 0.290991 +v -0.007261 0.327916 0.295424 +v 0.002029 0.328391 0.303813 +v 0.410724 0.977897 0.046006 +v 0.419554 0.974298 0.048888 +v 0.504124 0.930897 0.080132 +v 0.527154 0.913417 0.088762 +v 0.616961 0.817707 0.122454 +v 0.177599 0.984887 0.031761 +v -0.199726 1.018407 0.025083 +v 0.727979 0.361855 0.163363 +v 0.739625 0.363301 0.167482 +v 0.102927 0.341223 0.445421 +v 0.112631 0.341261 0.448464 +v 0.122519 0.341115 0.447571 +v 0.132647 0.341253 0.448398 +v 0.142747 0.341662 0.452905 +v 0.152674 0.342087 0.457923 +v 0.162704 0.342494 0.462646 +v 0.172548 0.342720 0.465514 +v 0.182657 0.342909 0.467563 +v 0.192547 0.343033 0.469232 +v 0.202590 0.343219 0.471410 +v 0.212572 0.343328 0.472783 +v 0.222540 0.343428 0.474169 +v 0.232624 0.343632 0.476067 +v 0.242600 0.343736 0.477622 +v 0.252617 0.343754 0.477770 +v 0.262622 0.343657 0.476518 +v 0.272595 0.343518 0.474610 +v 0.282644 0.343466 0.473842 +v 0.292712 0.343469 0.473435 +v 0.302740 0.343452 0.473303 +v 0.312803 0.343252 0.471087 +v 0.322771 0.343006 0.468586 +v 0.332715 0.342727 0.465638 +v 0.342652 0.342514 0.462968 +v 0.352741 0.342287 0.460793 +v 0.362773 0.341944 0.457301 +v 0.412576 0.863787 0.270540 +v 0.422581 0.863627 0.267980 +v 0.432625 0.863637 0.265683 +v 0.442714 0.863757 0.263493 +v 0.452626 0.863477 0.261889 +v -0.119664 0.957497 -0.092134 +v 0.022263 0.862707 0.235803 +v 0.362577 0.864387 0.282006 +v 0.296089 0.998477 0.060790 +v 0.082591 0.877227 0.255240 +v 0.072532 0.877337 0.250587 +v 0.062647 0.876837 0.245295 +v 0.042116 0.877137 0.232166 +v 0.052493 0.876807 0.239181 +v 0.352590 0.878397 0.278209 +v 0.362611 0.878327 0.275778 +v -0.100340 0.953317 -0.085026 +v 0.382614 0.878047 0.269470 +v 0.392479 0.877647 0.266427 +v -0.206774 0.889147 0.193977 +v 0.389223 0.981368 0.109086 +v 0.432051 0.960737 0.124883 +v -0.457746 1.082038 0.386144 +v 0.415504 0.970137 0.118748 +v 0.142664 0.919107 0.233811 +v 0.152778 0.932418 0.217082 +v -0.678546 0.910147 0.123320 +v -0.230805 0.904317 -0.201506 +v 0.698990 0.668867 -0.057722 +v 0.710222 0.641390 0.062075 +v 0.674212 0.320119 0.208011 +v 0.683780 0.319502 0.196940 +v 0.693101 0.319105 0.191461 +v 0.702804 0.319316 0.191585 +v 0.712540 0.319545 0.195072 +v 0.722396 0.319869 0.198772 +v 0.732533 0.319983 0.202258 +v 0.742568 0.320029 0.203481 +v 0.752631 0.319935 0.204422 +v 0.762685 0.320026 0.203565 +v 0.772710 0.319782 0.202080 +v 0.782736 0.319540 0.199541 +v -0.419803 1.245377 0.087731 +v 0.428599 0.965787 0.109325 +v 0.056475 1.511537 -0.299603 +v 0.570229 0.843947 0.190505 +v 0.647201 0.764807 -0.077701 +v 0.655153 0.765457 -0.047827 +v -0.346392 0.400784 0.299845 +v -0.003138 0.934677 -0.048885 +v -0.347161 1.266177 -0.375341 +v 0.405048 0.967788 0.143513 +v 0.341196 0.989067 0.120099 +v 0.279107 0.993357 0.097586 +v 0.213472 0.989727 0.073587 +v 0.144028 0.979087 0.048328 +v 0.057104 0.955577 0.016802 +v -0.026351 0.937857 -0.013591 +v -0.113035 0.958747 -0.074920 +v -0.170412 0.969428 -0.066737 +v -0.342458 1.241377 0.100698 +v -0.409104 1.278467 -0.185112 +v -0.396103 1.261877 -0.180149 +v -0.383831 1.243937 -0.175564 +v -0.390590 0.577293 -0.272254 +v -0.370602 0.577827 -0.278905 +v -0.441554 0.818127 -0.176969 +v -0.350511 0.577966 -0.279913 +v -0.050356 0.582910 -0.337666 +v -0.093949 1.348758 -0.232159 +v -0.183112 1.213737 -0.156904 +v -0.280549 0.565822 -0.309796 +v -0.150465 0.566353 -0.309697 +v -0.237697 0.339632 0.271576 +v -0.226246 0.339772 0.278850 +v -0.182751 0.992847 0.002683 +v 0.552961 0.889437 0.112676 +v 0.310093 0.950807 0.210138 +v -0.187290 0.342886 0.305655 +v -0.177258 0.343420 0.311903 +v -0.167364 0.343830 0.317196 +v -0.157432 0.344149 0.321180 +v -0.147318 0.344515 0.324606 +v -0.137338 0.344722 0.327133 +v -0.127366 0.344843 0.328317 +v -0.117369 0.344817 0.328591 +v -0.107376 0.344722 0.327407 +v -0.097312 0.344483 0.325079 +v -0.087474 0.344301 0.321947 +v -0.077305 0.343792 0.317496 +v -0.067423 0.343516 0.313276 +v -0.057379 0.342941 0.307044 +v -0.047318 0.342469 0.302085 +v -0.037415 0.342197 0.298021 +v -0.027357 0.341978 0.295435 +v -0.017277 0.342034 0.295218 +v -0.007678 0.341989 0.298710 +v 0.001549 0.342587 0.308084 +v 0.454507 0.959128 0.061794 +v 0.519762 0.919887 0.086038 +v 0.563770 0.880687 0.102472 +v 0.628780 0.798827 0.126762 +v 0.645853 0.768947 0.133010 +v -0.474000 1.237267 -0.076800 +v 0.719645 0.366423 0.158976 +v 0.516301 0.893267 0.184715 +v -0.534169 1.232347 0.047752 +v 0.102838 0.355532 0.450341 +v 0.112749 0.355783 0.454058 +v 0.122711 0.355693 0.452790 +v 0.132489 0.355112 0.449085 +v 0.142570 0.355370 0.451056 +v 0.152419 0.355762 0.456239 +v 0.162569 0.356184 0.460630 +v 0.172706 0.356499 0.463883 +v 0.182657 0.356698 0.466374 +v 0.192690 0.356929 0.468611 +v 0.202542 0.356988 0.470482 +v 0.212625 0.357215 0.472484 +v 0.222587 0.357302 0.473889 +v 0.232585 0.357392 0.475248 +v 0.242592 0.357464 0.476775 +v 0.252643 0.357483 0.477086 +v 0.262634 0.357520 0.476043 +v 0.272651 0.357336 0.474011 +v 0.282686 0.357146 0.471752 +v 0.292727 0.357001 0.469669 +v 0.302710 0.356977 0.469557 +v 0.312709 0.356859 0.468418 +v 0.322800 0.356634 0.466578 +v 0.332786 0.356486 0.463473 +v 0.342659 0.356300 0.461869 +v 0.352676 0.356198 0.460624 +v 0.362799 0.355846 0.457406 +v 0.372721 0.355553 0.453508 +v -0.217204 0.861627 0.221483 +v -0.226951 0.861957 0.226972 +v 0.483384 0.808087 0.278186 +v -0.507372 0.970497 0.443831 +v -0.647744 1.087907 0.092348 +v 0.623759 0.778087 -0.117952 +v -0.644001 1.143327 0.162134 +v 0.352585 0.864427 0.284453 +v -0.461899 1.244477 0.102002 +v -0.287458 1.220747 0.149669 +v 0.318425 0.969197 0.183778 +v -0.509238 1.230007 0.173530 +v 0.032132 0.876877 0.227066 +v 0.022452 0.876107 0.222758 +v 0.012510 0.875827 0.218865 +v -0.077388 0.875237 0.212282 +v -0.087344 0.875577 0.213866 +v 0.402666 0.877887 0.264514 +v -0.236562 1.129227 0.034294 +v -0.427074 0.317248 0.126624 +v -0.233481 1.129347 0.024345 +v -0.510443 1.251157 -0.258599 +v -0.465591 1.218507 0.233515 +v 0.152748 0.918967 0.237416 +v 0.705330 0.655188 0.072079 +v 0.705895 0.655391 0.062149 +v -0.607750 0.786607 0.073921 +v -0.612013 0.718447 0.014404 +v 0.545011 0.892097 0.138218 +v -0.433195 1.231297 0.199802 +v 0.526808 0.910237 0.117184 +v 0.693229 0.332592 0.186148 +v 0.702912 0.332537 0.183634 +v 0.712641 0.332741 0.185941 +v 0.722523 0.333033 0.189569 +v 0.732450 0.333434 0.192351 +v 0.742535 0.333384 0.194530 +v 0.752612 0.333474 0.195807 +v 0.762644 0.333440 0.195782 +v 0.772695 0.333363 0.194590 +v 0.782814 0.333264 0.192300 +v 0.792968 0.333059 0.189906 +v 0.803319 0.332840 0.185352 +v -0.147383 1.349377 -0.052520 +v 0.688857 0.682307 -0.087673 +v -0.607901 0.962387 -0.086690 +v 0.711940 0.543050 0.152079 +v 0.715444 0.585483 0.112104 +v 0.402873 0.980687 0.071262 +v -0.507403 1.251367 -0.228519 +v 0.437913 0.948697 0.155633 +v 0.396277 0.971547 0.140260 +v 0.331326 0.990677 0.116474 +v 0.269295 0.994467 0.093921 +v 0.201987 0.988227 0.069417 +v 0.131334 0.975837 0.043770 +v 0.044543 0.951867 0.012255 +v -0.132839 0.961867 -0.082212 +v -0.122937 0.960457 -0.078584 +v 0.442776 0.898837 0.229450 +v -0.449841 1.303807 -0.199836 +v -0.505190 1.225837 0.189551 +v -0.541438 1.220227 0.177754 +v -0.531803 1.006217 -0.135002 +v -0.141047 0.724137 -0.294965 +v -0.340556 0.578182 -0.282479 +v -0.330495 0.578741 -0.289890 +v -0.060695 0.583184 -0.335274 +v -0.560766 0.843897 -0.111204 +v 0.169278 0.578371 -0.456120 +v 0.199312 0.578218 -0.451287 +v -0.451486 0.328377 0.111837 +v -0.341690 0.807237 -0.236999 +v 0.398916 0.754387 -0.279464 +v 0.228865 0.726937 -0.317961 +v 0.560157 0.882647 0.115366 +v -0.102431 0.945818 0.105994 +v -0.197097 0.357200 0.306577 +v -0.187132 0.357596 0.311679 +v -0.177584 0.357518 0.315161 +v -0.167346 0.358111 0.319670 +v -0.157341 0.358443 0.323491 +v -0.147412 0.358612 0.326311 +v -0.137301 0.358890 0.328035 +v -0.127348 0.358885 0.328198 +v -0.117376 0.358729 0.327788 +v -0.107365 0.358754 0.327350 +v -0.097406 0.358643 0.325927 +v -0.087492 0.358581 0.324361 +v -0.077506 0.358344 0.321959 +v -0.067494 0.357922 0.316928 +v -0.057426 0.357354 0.310747 +v -0.047481 0.356946 0.305496 +v -0.037401 0.356461 0.300656 +v -0.027383 0.356372 0.299229 +v -0.017344 0.356359 0.299329 +v -0.008081 0.356185 0.303131 +v 0.002897 0.358648 0.318746 +v 0.577873 0.866857 0.107850 +v 0.570971 0.873947 0.105175 +v 0.622947 0.808657 0.124656 +v 0.109374 0.955347 0.137808 +v 0.273034 0.915197 0.255182 +v 0.076931 0.961587 0.038498 +v -0.396383 1.322937 -0.281506 +v -0.409829 1.326597 -0.272031 +v 0.092705 0.369224 0.449569 +v 0.102934 0.369937 0.454787 +v 0.112711 0.369993 0.457699 +v 0.122633 0.369794 0.456924 +v 0.132586 0.369356 0.452303 +v 0.142496 0.369400 0.453817 +v 0.152553 0.369971 0.459499 +v 0.162781 0.370369 0.462492 +v 0.172374 0.370262 0.464818 +v 0.182507 0.370596 0.468087 +v 0.192591 0.370867 0.470248 +v 0.202394 0.370721 0.472296 +v 0.212516 0.371041 0.474260 +v 0.222534 0.371071 0.475722 +v 0.232572 0.371213 0.476927 +v 0.242637 0.371398 0.477859 +v 0.252628 0.371483 0.477334 +v 0.262737 0.371220 0.475679 +v 0.272703 0.371175 0.474174 +v 0.282827 0.370867 0.471215 +v 0.292656 0.370808 0.469125 +v 0.302687 0.370697 0.468221 +v 0.312650 0.370710 0.467779 +v 0.322693 0.370463 0.466013 +v 0.332641 0.370487 0.465481 +v 0.342703 0.370352 0.464561 +v 0.352670 0.370272 0.463099 +v 0.362605 0.370113 0.460471 +v 0.372842 0.369654 0.456282 +v 0.637204 0.735977 -0.137780 +v 0.657680 0.737277 -0.087858 +v 0.285707 0.998808 0.056967 +v 0.312026 0.997277 0.080914 +v -0.337629 1.236838 0.146022 +v 0.467265 0.948727 0.109280 +v 0.683561 0.696497 0.102205 +v -0.207091 0.861737 0.216830 +v 0.342618 0.864607 0.287128 +v 0.332484 0.864277 0.288973 +v 0.322488 0.864167 0.288871 +v 0.312562 0.864607 0.291886 +v -0.371528 1.287367 -0.272343 +v -0.073276 1.456607 -0.163897 +v -0.558372 0.715167 -0.125545 +v -0.665499 0.950447 0.043063 +v -0.097380 0.875467 0.214950 +v 0.109799 0.967867 -0.007488 +v -0.369192 1.256717 -0.228127 +v -0.547682 1.165887 0.284633 +v -0.030313 1.224158 -0.136187 +v 0.615199 0.812217 0.150366 +v -0.476338 1.256407 -0.136553 +v 0.162875 0.918717 0.240912 +v 0.703627 0.655305 0.082184 +v 0.706952 0.655396 0.052134 +v -0.650644 0.964957 0.232963 +v -0.427191 0.913867 0.441145 +v 0.479522 0.939987 0.128082 +v 0.684448 0.682257 0.132129 +v 0.696353 0.682767 -0.047739 +v 0.693532 0.346477 0.183781 +v 0.702865 0.345923 0.175776 +v 0.712904 0.346065 0.174845 +v 0.722308 0.346486 0.177287 +v 0.732506 0.346535 0.181955 +v 0.742498 0.346862 0.184574 +v 0.752580 0.346759 0.186757 +v 0.762620 0.346830 0.186867 +v 0.772718 0.346910 0.185888 +v 0.782768 0.346770 0.184588 +v 0.792879 0.346625 0.182223 +v 0.802756 0.346076 0.179171 +v 0.630854 0.735587 -0.157803 +v 0.667934 0.752017 0.022179 +v -0.632785 1.032277 0.012665 +v 0.714844 0.543290 0.142198 +v -0.515800 1.431857 -0.569596 +v 0.708183 0.542771 0.162058 +v 0.257986 0.995857 0.061144 +v 0.422082 0.959477 0.149810 +v 0.430389 0.954747 0.152864 +v 0.321123 0.991777 0.112838 +v 0.258345 0.993767 0.089926 +v 0.190485 0.986567 0.065243 +v 0.246423 0.937667 0.230895 +v 0.354217 0.967537 0.182425 +v -0.424726 1.301427 -0.205383 +v -0.432965 1.306157 -0.208434 +v 0.162268 0.952017 0.186006 +v 0.151280 0.951447 0.182064 +v -0.322685 1.238008 0.107777 +v -0.331674 0.905617 -0.176266 +v 0.048901 0.726267 -0.319157 +v -0.070671 0.582963 -0.332848 +v -0.080667 0.582804 -0.331544 +v -0.090642 0.582586 -0.330124 +v -0.560661 0.829087 -0.105716 +v -0.093078 1.244657 -0.194369 +v -0.339223 0.044316 0.360691 +v 0.229461 0.578186 -0.446827 +v 0.209309 0.578101 -0.449889 +v 0.388954 0.754537 -0.282199 +v 0.218911 0.726977 -0.318403 +v 0.358930 0.726187 -0.295431 +v -0.441078 1.262027 -0.124043 +v -0.387938 1.294817 -0.249508 +v -0.197416 0.371564 0.313498 +v -0.187300 0.372084 0.318325 +v -0.177299 0.372413 0.322107 +v -0.167184 0.372869 0.325419 +v -0.157331 0.372836 0.327151 +v -0.147400 0.372764 0.327654 +v -0.137408 0.372766 0.327680 +v -0.127384 0.372781 0.327739 +v -0.117388 0.372922 0.328305 +v -0.107399 0.372933 0.328298 +v -0.097444 0.372951 0.328041 +v -0.087364 0.372695 0.326130 +v -0.077437 0.372590 0.324638 +v -0.067342 0.372119 0.319867 +v -0.057276 0.371577 0.313513 +v -0.047456 0.371189 0.308152 +v -0.037430 0.370888 0.304306 +v -0.027403 0.370518 0.302287 +v -0.017302 0.370870 0.304354 +v -0.007955 0.370889 0.309127 +v 0.002637 0.372675 0.326128 +v 0.584613 0.859217 0.110392 +v 0.604331 0.835147 0.117821 +v -0.020849 0.930697 0.091364 +v -0.526377 1.192368 0.258358 +v -0.299511 1.213207 0.203695 +v 0.049706 0.906827 0.190533 +v -0.417659 1.332197 -0.274965 +v -0.402115 1.320797 -0.269170 +v 0.092641 0.383410 0.453321 +v 0.102632 0.383810 0.458100 +v 0.112688 0.384068 0.460219 +v 0.122644 0.383585 0.457908 +v 0.132629 0.383530 0.454480 +v 0.142773 0.383880 0.459129 +v 0.152501 0.384189 0.464485 +v 0.162901 0.384877 0.468293 +v 0.172769 0.385121 0.472114 +v 0.182638 0.385282 0.476083 +v 0.192499 0.385297 0.478783 +v 0.202618 0.385774 0.482154 +v 0.212600 0.385808 0.483489 +v 0.222565 0.385602 0.484000 +v 0.232628 0.385882 0.484768 +v 0.242713 0.385676 0.483764 +v 0.252700 0.385537 0.481403 +v 0.262754 0.385364 0.479009 +v 0.272760 0.385181 0.476620 +v 0.282736 0.385038 0.474175 +v 0.292744 0.384708 0.470954 +v 0.302663 0.384654 0.469352 +v 0.312667 0.384498 0.468455 +v 0.322628 0.384670 0.469111 +v 0.332667 0.384630 0.469317 +v 0.342673 0.384533 0.468035 +v 0.352801 0.384301 0.465853 +v 0.362806 0.384036 0.462207 +v 0.453515 0.848777 0.269792 +v 0.442562 0.849567 0.271702 +v 0.422603 0.849747 0.274310 +v 0.412564 0.849797 0.276681 +v 0.432615 0.849757 0.273192 +v 0.402685 0.850177 0.277404 +v 0.392592 0.849937 0.278142 +v 0.312536 0.837357 0.310954 +v -0.513776 0.712657 -0.175163 +v -0.197293 0.861577 0.215338 +v -0.187407 0.861667 0.216577 +v -0.177402 0.861467 0.218810 +v -0.167410 0.861557 0.220089 +v 0.302524 0.864767 0.295642 +v 0.202608 0.865197 0.295089 +v 0.212741 0.864897 0.298085 +v -0.622239 0.678797 0.104440 +v -0.107365 0.875727 0.215261 +v -0.632355 1.032027 0.002736 +v 0.134351 0.974327 0.001501 +v 0.122654 0.836757 0.297296 +v -0.266873 1.144167 0.144608 +v -0.365665 1.278198 -0.270197 +v 0.182812 0.919137 0.248546 +v 0.172816 0.918987 0.244754 +v -0.618799 0.705527 0.084297 +v -0.626715 1.061177 0.282308 +v 0.668718 0.738237 0.092246 +v -0.437159 0.913897 0.444100 +v -0.421849 0.978737 -0.179455 +v -0.477589 1.040348 0.414507 +v -0.497269 1.124167 0.358852 +v 0.692935 0.360471 0.184205 +v 0.703392 0.359696 0.172153 +v 0.713295 0.359562 0.164953 +v 0.722900 0.359639 0.164760 +v 0.732581 0.359656 0.168126 +v 0.742575 0.359687 0.172732 +v 0.752570 0.359964 0.175338 +v 0.762578 0.360293 0.175694 +v 0.772671 0.360310 0.175744 +v 0.782684 0.359902 0.175317 +v 0.792954 0.360254 0.172357 +v 0.802760 0.359510 0.170316 +v -0.611042 1.059457 -0.017467 +v 0.581892 0.702957 0.278869 +v 0.717379 0.543477 0.132240 +v -0.306644 0.295346 0.170735 +v -0.652827 0.951467 0.273061 +v -0.627867 0.651882 0.074657 +v 0.675892 0.695517 -0.107545 +v 0.692860 0.696747 -0.027806 +v 0.413802 0.964117 0.146726 +v 0.387991 0.976157 0.137156 +v -0.314298 1.255697 -0.019677 +v 0.254837 0.956307 0.204559 +v 0.433844 0.902857 0.226436 +v -0.410349 1.287707 -0.200035 +v -0.417023 1.295587 -0.202548 +v -0.209654 1.038617 0.050591 +v -0.593577 1.203617 0.160747 +v -0.493113 1.204927 0.254197 +v -0.389689 1.315098 -0.278993 +v -0.131065 0.724037 -0.293446 +v -0.411864 0.964247 -0.180087 +v -0.302742 1.124077 -0.107987 +v -0.520915 0.845207 -0.138268 +v 0.058901 0.726327 -0.318112 +v -0.461196 0.846397 -0.163494 +v -0.094306 1.363717 -0.230033 +v -0.451492 0.761077 -0.197181 +v -0.160384 0.566329 -0.307632 +v 0.219342 0.578088 -0.448755 +v 0.179357 0.578465 -0.455235 +v 0.189308 0.578325 -0.453757 +v 0.208930 0.726997 -0.318613 +v -0.383813 1.276707 -0.654477 +v 0.239439 0.578020 -0.445244 +v -0.412003 1.007897 -0.174622 +v -0.197310 0.386350 0.320895 +v -0.187233 0.386843 0.325684 +v -0.177265 0.387167 0.329497 +v -0.167338 0.387195 0.331046 +v -0.157455 0.386900 0.330681 +v -0.147360 0.387089 0.329604 +v -0.137371 0.386943 0.328740 +v -0.127375 0.386933 0.328667 +v -0.117372 0.387063 0.329605 +v -0.107375 0.387045 0.329865 +v -0.097390 0.387041 0.329811 +v -0.087457 0.386960 0.328333 +v -0.077459 0.386750 0.325885 +v -0.067393 0.386288 0.320983 +v -0.057580 0.385919 0.315463 +v -0.047402 0.385427 0.310819 +v -0.037373 0.385103 0.307123 +v -0.027401 0.384945 0.306031 +v -0.017393 0.385203 0.308377 +v -0.008104 0.386507 0.314740 +v 0.640143 0.778897 0.130916 +v 0.634459 0.789517 0.128946 +v 0.121995 0.958948 0.142217 +v -0.313710 1.236907 0.082069 +v 0.709293 0.388485 0.156143 +v 0.215256 0.962747 0.190324 +v -0.442880 1.345607 -0.284225 +v -0.394963 1.313917 -0.266549 +v -0.289521 1.232767 0.047425 +v 0.092834 0.397819 0.457654 +v 0.102399 0.397794 0.460881 +v 0.112586 0.397970 0.461870 +v 0.122737 0.397662 0.459776 +v 0.131652 0.398197 0.458571 +v 0.143012 0.398661 0.464612 +v 0.152542 0.398491 0.469201 +v 0.162629 0.398974 0.473728 +v 0.172871 0.399613 0.479140 +v 0.182751 0.399932 0.484242 +v 0.192537 0.399997 0.487152 +v 0.202688 0.400380 0.490304 +v 0.212600 0.400387 0.491894 +v 0.222580 0.400270 0.492239 +v 0.232657 0.400223 0.492295 +v 0.242689 0.400134 0.490936 +v 0.252781 0.399968 0.488592 +v 0.262992 0.399386 0.484412 +v 0.272745 0.399473 0.481258 +v 0.282856 0.399036 0.476895 +v 0.292873 0.398608 0.472381 +v 0.302656 0.398627 0.470430 +v 0.312610 0.398751 0.471480 +v 0.322637 0.398835 0.472751 +v 0.332654 0.398839 0.472779 +v 0.342611 0.398790 0.471282 +v 0.352797 0.398425 0.468275 +v 0.362800 0.398147 0.464607 +v 0.372369 0.850067 0.285284 +v -0.352428 1.407167 -0.635442 +v -0.467277 0.956278 0.436427 +v 0.222698 0.851277 0.308266 +v 0.232718 0.851187 0.309350 +v 0.242690 0.851337 0.309528 +v 0.252652 0.851417 0.310843 +v 0.362502 0.850377 0.288136 +v -0.252304 1.295767 -0.026655 +v -0.207330 1.319367 -0.035191 +v -0.618020 0.976817 -0.057082 +v -0.156035 0.895067 -0.212570 +v -0.467469 0.871597 0.442448 +v -0.157444 0.861707 0.222688 +v -0.137408 0.861917 0.225343 +v 0.192601 0.865037 0.293627 +v -0.457402 0.885797 0.446374 +v -0.117415 0.875777 0.214118 +v 0.635854 0.779017 0.152350 +v -0.265247 1.208807 0.070990 +v 0.142612 0.837127 0.302525 +v -0.271330 1.144087 0.154541 +v 0.600974 0.837877 0.130812 +v 0.518193 0.911347 0.142491 +v 0.673793 0.723817 -0.077710 +v 0.649038 0.721557 -0.128199 +v -0.578735 0.771107 -0.045796 +v -0.011309 0.585292 -0.405546 +v 0.243585 0.967257 0.186042 +v 0.692339 0.697027 0.042175 +v -0.477353 1.123727 0.360745 +v -0.487313 1.124097 0.359980 +v -0.657212 0.937818 0.283132 +v 0.703291 0.373532 0.170494 +v 0.713117 0.373367 0.157037 +v 0.173185 1.363238 -0.286836 +v 0.688938 0.710597 -0.007834 +v -0.359404 1.188377 -0.175203 +v 0.752557 0.372955 0.161309 +v 0.762602 0.373125 0.163849 +v -0.667390 0.909507 0.033340 +v 0.782713 0.373328 0.162883 +v 0.792791 0.373154 0.161632 +v -0.182304 1.351187 -0.168009 +v -0.246368 1.293927 -0.127652 +v -0.426120 1.488167 -0.668561 +v -0.457805 1.304177 -0.203003 +v 0.028081 0.919617 0.138431 +v 0.063063 1.530767 -0.229339 +v 0.685468 0.568807 -0.177245 +v -0.366607 1.359977 -0.515426 +v 0.543561 0.703307 0.311215 +v 0.529980 0.878467 0.189687 +v 0.509505 0.900897 0.182140 +v 0.445791 0.943127 0.158582 +v 0.325937 0.975018 0.172228 +v -0.275948 1.268117 -0.005737 +v -0.368376 1.222987 -0.184281 +v -0.373347 1.234077 -0.186167 +v -0.396942 1.272037 -0.195009 +v -0.632097 1.191387 0.058434 +v -0.058360 0.927097 0.122085 +v 0.163717 0.980767 -0.002160 +v 0.151072 0.977457 -0.006788 +v 0.139087 0.974577 -0.011195 +v -0.121043 0.723977 -0.293071 +v 0.319409 0.590677 -0.418583 +v 0.075310 1.468077 -0.325144 +v -0.013657 1.334317 -0.253546 +v -0.243337 1.242898 -0.138039 +v -0.481842 0.978227 -0.169126 +v -0.499540 0.388667 0.155155 +v -0.296639 0.399960 0.310386 +v -0.170439 0.566224 -0.308482 +v 0.168900 0.726967 -0.321994 +v 0.368862 0.754647 -0.286993 +v -0.263252 1.198298 -0.120903 +v -0.441953 1.022407 -0.171231 +v 0.198888 0.726947 -0.319503 +v 0.248961 0.726927 -0.314685 +v -0.217318 0.399970 0.315855 +v -0.207393 0.400295 0.321132 +v -0.197263 0.400885 0.325780 +v -0.187313 0.401139 0.329732 +v -0.177400 0.401269 0.332647 +v -0.167374 0.401392 0.333854 +v -0.157416 0.401220 0.332951 +v -0.147383 0.401154 0.331559 +v -0.137368 0.401067 0.330057 +v -0.127384 0.401101 0.329823 +v -0.117358 0.401066 0.330264 +v -0.107382 0.401182 0.331215 +v -0.097405 0.401201 0.330961 +v -0.087315 0.400949 0.329026 +v -0.077344 0.400752 0.326362 +v -0.067365 0.400432 0.322398 +v -0.057363 0.399994 0.317302 +v -0.047435 0.399713 0.313192 +v -0.037369 0.399327 0.309761 +v -0.027332 0.399410 0.309489 +v -0.017659 0.399388 0.312760 +v -0.008861 0.399437 0.320103 +v 0.176358 0.935168 0.220287 +v 0.001688 0.921327 0.114307 +v 0.064326 0.958037 0.033933 +v 0.092381 1.553067 -0.283619 +v -0.205421 1.326188 -0.039760 +v -0.425488 1.337817 -0.277876 +v -0.382601 1.296077 -0.261998 +v -0.400266 1.243697 0.065682 +v 0.082974 0.411672 0.456331 +v 0.092806 0.412014 0.461338 +v 0.102734 0.412164 0.463861 +v 0.112666 0.412114 0.464066 +v 0.122531 0.411983 0.464587 +v 0.132782 0.412667 0.468284 +v 0.142562 0.412496 0.470378 +v 0.152571 0.412719 0.472711 +v 0.162644 0.413055 0.476108 +v 0.172671 0.413447 0.480811 +v 0.182630 0.413812 0.485768 +v 0.192434 0.414037 0.489828 +v 0.202708 0.414512 0.493855 +v 0.212399 0.414311 0.495263 +v 0.222608 0.414634 0.496734 +v 0.232628 0.414591 0.497014 +v 0.242683 0.414457 0.495908 +v 0.252762 0.414265 0.493471 +v 0.262850 0.413959 0.489956 +v 0.273004 0.413532 0.485404 +v 0.282858 0.413118 0.479158 +v 0.292802 0.412665 0.473326 +v 0.302607 0.412754 0.472560 +v 0.312621 0.412804 0.474324 +v 0.322640 0.412923 0.475374 +v 0.332668 0.412914 0.475325 +v 0.342801 0.412697 0.473366 +v 0.352795 0.412513 0.470669 +v 0.062555 0.849787 0.270880 +v 0.132467 0.851057 0.292750 +v 0.092601 0.836427 0.289711 +v 0.132677 0.905277 0.246512 +v -0.443874 1.432587 -0.629738 +v 0.112272 0.850397 0.282987 +v 0.122452 0.850867 0.288970 +v 0.142732 0.850787 0.295836 +v 0.292507 0.837337 0.314374 +v 0.087080 0.962927 0.013172 +v -0.537485 0.898618 0.409731 +v -0.457382 0.899957 0.447217 +v 0.411529 0.976827 0.074494 +v -0.417496 1.165797 0.313110 +v -0.477486 0.871557 0.439784 +v -0.147397 0.861737 0.225147 +v 0.182558 0.865287 0.292768 +v -0.447339 0.885857 0.445839 +v -0.127453 0.875737 0.212827 +v -0.662154 0.869487 0.163612 +v 0.011747 0.612379 -0.395529 +v 0.132614 0.836987 0.299948 +v -0.619883 0.705517 0.074323 +v -0.547886 0.926797 0.426630 +v 0.693000 0.668559 -0.087791 +v 0.669974 0.723577 -0.087697 +v -0.359380 1.172217 -0.255330 +v 0.682641 0.724347 -0.007822 +v -0.547058 0.984228 0.432623 +v -0.487487 1.012467 0.430287 +v 0.715454 0.599562 0.092114 +v -0.507089 1.123717 0.357181 +v -0.570570 0.758247 0.164034 +v 0.684152 0.582733 -0.177191 +v 0.703437 0.387466 0.169120 +v 0.156409 1.317707 -0.276981 +v -0.320573 0.914327 -0.171159 +v -0.261571 1.128818 0.124510 +v -0.676915 0.909967 0.083217 +v 0.696158 0.654865 0.132208 +v 0.698451 0.654936 0.122154 +v 0.709565 0.655581 0.012165 +v 0.258919 0.726837 -0.313233 +v 0.717743 0.627758 -0.007824 +v 0.716556 0.627715 0.012142 +v 0.716330 0.627654 0.022108 +v -0.467880 1.303977 -0.211181 +v -0.126212 0.963197 -0.065043 +v 0.604837 0.821987 0.160718 +v 0.073259 1.530937 -0.242746 +v -0.677426 0.937358 0.113112 +v 0.311913 0.942127 0.224951 +v -0.187377 0.998687 0.059349 +v -0.066679 0.931727 0.118965 +v 0.262232 0.685287 0.385375 +v 0.576337 0.835117 0.192850 +v 0.588181 0.816387 0.197342 +v 0.593672 0.806367 0.199371 +v -0.171979 0.977987 0.050678 +v -0.363807 1.210847 -0.182616 +v -0.464590 1.232857 0.188805 +v 0.165051 1.471927 -0.385426 +v -0.450519 1.181487 0.299583 +v 0.187093 0.985447 0.006455 +v 0.175745 0.983327 0.002280 +v -0.276057 1.215567 0.110467 +v -0.386625 1.245127 0.128470 +v 0.309445 0.590713 -0.418800 +v 0.299344 0.590688 -0.420962 +v -0.351789 0.329659 0.219621 +v -0.270448 0.565995 -0.310631 +v -0.260414 0.565942 -0.309310 +v -0.250381 0.565916 -0.308333 +v -0.317409 0.414275 0.321243 +v -0.307345 0.414645 0.322105 +v -0.297379 0.414452 0.320964 +v -0.286307 0.414217 0.319668 +v -0.277362 0.414429 0.319585 +v -0.267373 0.414429 0.321003 +v -0.255944 0.414797 0.325258 +v -0.245930 0.414969 0.327422 +v -0.237356 0.415135 0.328528 +v -0.227444 0.414417 0.326784 +v -0.217409 0.414659 0.326447 +v -0.207478 0.414589 0.326752 +v -0.197345 0.415043 0.328603 +v -0.187370 0.415229 0.331249 +v -0.177285 0.415626 0.334582 +v -0.167345 0.415705 0.335957 +v -0.157366 0.415709 0.335983 +v -0.147402 0.415592 0.334679 +v -0.137349 0.415282 0.332918 +v -0.127419 0.415389 0.331990 +v -0.117394 0.415259 0.330931 +v -0.107337 0.415215 0.330996 +v -0.097394 0.415235 0.331103 +v -0.087355 0.415120 0.330165 +v -0.077336 0.414895 0.327581 +v -0.067802 0.414752 0.323891 +v -0.057468 0.414195 0.318304 +v -0.047616 0.414131 0.314835 +v -0.037331 0.413866 0.312826 +v -0.027190 0.413976 0.314265 +v -0.018201 0.413589 0.318479 +v -0.006974 0.415902 0.337384 +v 0.090421 0.937227 0.160563 +v -0.382599 1.225537 0.217601 +v 0.385173 0.985177 0.093303 +v -0.193394 1.005697 0.086496 +v -0.434085 1.341828 -0.281023 +v -0.376593 1.286987 -0.259787 +v 0.311614 0.930187 0.239648 +v -0.619582 0.921657 -0.066612 +v 0.082708 0.425660 0.459202 +v 0.092621 0.426008 0.464153 +v 0.102664 0.426216 0.466466 +v 0.112693 0.426459 0.468707 +v 0.122754 0.426769 0.472059 +v 0.132636 0.426854 0.474923 +v 0.142607 0.426911 0.476275 +v 0.152670 0.427049 0.477233 +v 0.162555 0.426973 0.477583 +v 0.172438 0.427130 0.480362 +v 0.182651 0.427678 0.485702 +v 0.192404 0.427933 0.490053 +v 0.202450 0.428242 0.493579 +v 0.212410 0.428416 0.496314 +v 0.222589 0.428613 0.498055 +v 0.232600 0.428596 0.498467 +v 0.242664 0.428589 0.498117 +v 0.252673 0.428498 0.496826 +v 0.262869 0.428175 0.493620 +v 0.272899 0.427800 0.488794 +v 0.282878 0.427256 0.481528 +v 0.292746 0.426708 0.474195 +v 0.302685 0.426727 0.474269 +v 0.312619 0.426935 0.476297 +v 0.322616 0.426945 0.476591 +v 0.332651 0.426933 0.476371 +v 0.342611 0.426838 0.474978 +v 0.352593 0.426651 0.472449 +v -0.017462 0.848297 0.234417 +v 0.072562 0.849987 0.274678 +v 0.322563 0.837267 0.308516 +v 0.082399 0.836817 0.286732 +v 0.102698 0.836327 0.290787 +v 0.082553 0.850177 0.277303 +v 0.092505 0.850337 0.278714 +v 0.102533 0.850287 0.279842 +v 0.282527 0.837367 0.315608 +v 0.272593 0.837617 0.317193 +v 0.291369 0.998237 0.073342 +v 0.272586 0.851357 0.309598 +v 0.282554 0.851227 0.308247 +v -0.395482 1.185297 0.288237 +v -0.487622 0.871487 0.438776 +v -0.047371 0.861777 0.219092 +v 0.172641 0.864837 0.292178 +v -0.437239 0.885767 0.443803 +v -0.137358 0.875157 0.212192 +v -0.350461 1.407207 -0.645344 +v -0.146525 0.965247 -0.072520 +v -0.009192 1.234197 -0.123452 +v -0.343166 1.359247 -0.687510 +v -0.537687 0.927257 0.430512 +v 0.342614 0.919847 0.250262 +v -0.602758 1.100907 0.002436 +v -0.669531 0.950517 0.063152 +v 0.577396 0.863107 0.136144 +v -0.112024 1.429217 -0.134827 +v -0.497379 1.012688 0.431944 +v -0.467524 1.109947 0.370993 +v -0.516793 1.123217 0.354280 +v 0.688440 0.583197 -0.167490 +v 0.519010 0.702787 0.328457 +v 0.404776 0.608828 0.426445 +v -0.360478 1.344507 -0.505383 +v -0.366343 1.280667 -0.585358 +v 0.703485 0.598827 0.152138 +v 0.638606 0.778687 -0.077798 +v -0.629966 1.088407 0.202349 +v 0.004397 0.612522 -0.385331 +v -0.476979 1.125747 -0.168417 +v 0.708293 0.655496 0.032165 +v 0.707855 0.655348 0.042112 +v 0.709236 0.655478 0.022142 +v 0.634571 0.749957 -0.127745 +v 0.212658 0.990267 0.044566 +v -0.456537 1.249807 -0.100907 +v 0.031837 1.525917 -0.213092 +v -0.672616 0.883107 0.143530 +v -0.404788 1.233007 -0.037564 +v -0.488161 1.240397 0.034563 +v -0.283213 1.219817 0.136697 +v 0.550530 0.867877 0.182914 +v -0.127774 1.403517 -0.097844 +v -0.311474 1.208577 0.228649 +v -0.484592 1.237877 0.152552 +v 0.365223 0.944397 0.215149 +v -0.186295 0.988258 0.104273 +v 0.222693 0.991837 0.019520 +v 0.211222 0.990188 0.015305 +v 0.199167 0.987878 0.010873 +v -0.085978 1.425977 -0.110672 +v 0.174934 0.682617 0.388374 +v 0.093217 0.958697 -0.042541 +v 0.080711 0.954917 -0.047145 +v -0.531498 0.388380 0.042783 +v -0.642879 0.814427 0.086919 +v -0.357341 0.428260 0.318483 +v -0.347271 0.428678 0.322108 +v -0.337157 0.429191 0.325527 +v -0.327354 0.429081 0.328650 +v -0.317291 0.429472 0.330868 +v -0.307354 0.429362 0.331092 +v -0.297381 0.429087 0.330122 +v -0.287397 0.428883 0.329027 +v -0.277378 0.429026 0.328761 +v -0.267335 0.429446 0.330968 +v -0.257352 0.429571 0.333631 +v -0.247267 0.430239 0.336710 +v -0.237361 0.429807 0.337567 +v -0.227391 0.429413 0.336924 +v -0.217340 0.429126 0.334686 +v -0.207378 0.429186 0.333123 +v -0.197375 0.429267 0.331279 +v -0.187328 0.429402 0.332177 +v -0.177369 0.429583 0.335056 +v -0.167328 0.429830 0.337181 +v -0.157338 0.429955 0.338427 +v -0.147379 0.429966 0.338288 +v -0.137352 0.429648 0.336631 +v -0.127324 0.429427 0.334199 +v -0.117391 0.429263 0.331312 +v -0.107386 0.429160 0.329909 +v -0.097350 0.429142 0.330254 +v -0.087387 0.429154 0.329983 +v -0.077433 0.429056 0.328507 +v -0.067428 0.428717 0.324729 +v -0.057321 0.428289 0.320045 +v -0.047374 0.428121 0.317148 +v -0.037196 0.428355 0.316177 +v -0.027856 0.427625 0.317289 +v -0.019707 0.427077 0.322736 +v -0.423330 1.245167 0.130063 +v -0.302248 1.219897 0.187952 +v -0.120650 0.903697 0.188737 +v -0.626833 1.197577 0.075230 +v -0.363620 1.242918 0.064174 +v 0.101505 0.967907 0.047397 +v -0.410686 1.244137 0.061950 +v 0.113016 0.964347 0.109758 +v 0.072790 0.439532 0.457875 +v 0.082574 0.439763 0.463113 +v 0.092580 0.440046 0.466731 +v 0.102662 0.440293 0.468881 +v 0.112718 0.440583 0.472274 +v 0.122780 0.440908 0.475612 +v 0.132643 0.441004 0.478533 +v 0.142501 0.441000 0.480314 +v 0.152683 0.441305 0.481918 +v 0.162589 0.441265 0.482280 +v 0.172560 0.441247 0.482448 +v 0.182444 0.441314 0.484119 +v 0.192481 0.441737 0.488763 +v 0.202472 0.442039 0.492369 +v 0.212564 0.442307 0.495674 +v 0.222475 0.442462 0.497506 +v 0.232592 0.442545 0.498526 +v 0.242672 0.442522 0.498442 +v 0.252711 0.442403 0.497041 +v 0.262821 0.442199 0.494694 +v 0.272760 0.441914 0.491412 +v 0.282833 0.441369 0.483884 +v 0.292892 0.440656 0.474645 +v 0.302652 0.440742 0.474281 +v 0.312690 0.440705 0.474682 +v 0.322624 0.440768 0.475517 +v 0.332656 0.440767 0.475389 +v 0.342666 0.440650 0.474077 +v 0.352764 0.440493 0.471824 +v 0.362644 0.440160 0.467837 +v 0.252650 0.837827 0.318764 +v 0.232715 0.837537 0.317051 +v 0.002617 0.820777 0.261839 +v 0.212644 0.837497 0.312427 +v -0.027407 0.848077 0.234189 +v -0.037407 0.848067 0.232968 +v -0.057432 0.848337 0.232145 +v -0.067402 0.848057 0.231875 +v 0.332366 0.836867 0.306622 +v 0.152623 0.851057 0.297419 +v 0.172824 0.850827 0.303008 +v 0.262608 0.851387 0.310816 +v -0.598579 1.193057 0.179553 +v -0.627538 1.033697 0.302382 +v -0.037383 0.861227 0.218595 +v 0.132484 0.864867 0.285117 +v -0.427263 0.885758 0.442116 +v -0.147451 0.875507 0.210098 +v 0.098959 0.966038 0.017536 +v -0.368017 1.422977 -0.615329 +v 0.395425 0.608849 0.430560 +v -0.367574 1.280507 -0.605329 +v -0.527726 0.927278 0.431941 +v 0.332641 0.919707 0.250127 +v 0.661572 0.581039 -0.207245 +v -0.440713 0.633278 -0.248178 +v 0.015717 0.892037 0.193617 +v 0.231641 0.991347 -0.005899 +v -0.477486 1.012487 0.426930 +v -0.457775 1.068137 0.393712 +v 0.096651 0.951947 0.133419 +v -0.355715 0.039718 0.344317 +v 0.676932 0.582258 -0.187378 +v -0.288735 0.893457 -0.189133 +v -0.157350 1.364068 -0.060884 +v -0.667082 0.883047 0.163650 +v 0.681742 0.724467 0.022150 +v -0.621236 0.665302 0.114541 +v -0.588097 1.072527 -0.067251 +v -0.349586 1.234867 -0.355291 +v -0.481318 1.319687 -0.449456 +v -0.672254 0.950747 0.083072 +v -0.223351 1.083377 0.024470 +v -0.219631 1.351768 -0.099277 +v -0.217330 1.304337 -0.024953 +v 0.072498 0.822777 0.294029 +v 0.672937 0.738107 0.052156 +v -0.446140 1.305977 -0.529028 +v -0.368885 1.237787 0.004326 +v 0.095123 0.923187 0.191680 +v 0.529101 0.888427 0.175110 +v -0.117022 1.404047 -0.093682 +v 0.104800 0.958337 0.121615 +v -0.000175 0.903927 0.157952 +v -0.490317 1.231897 -0.039089 +v 0.245663 0.994837 0.027952 +v 0.234182 0.993387 0.023740 +v -0.120703 1.420918 -0.123749 +v -0.108298 1.424027 -0.119302 +v -0.096910 1.425257 -0.115149 +v 0.118829 0.967187 -0.033098 +v 0.105659 0.962767 -0.037975 +v 0.260683 0.684437 0.388801 +v -0.478639 1.350007 -0.311800 +v -0.360477 0.563509 -0.279929 +v -0.367213 0.442782 0.321959 +v -0.357380 0.442778 0.324966 +v -0.347224 0.443259 0.328311 +v -0.337377 0.443301 0.331285 +v -0.327329 0.443663 0.334972 +v -0.317368 0.443840 0.337590 +v -0.307381 0.443944 0.338886 +v -0.297374 0.444003 0.338734 +v -0.287391 0.443739 0.337838 +v -0.277391 0.443578 0.336672 +v -0.267389 0.443640 0.336552 +v -0.257320 0.444090 0.338519 +v -0.247320 0.444267 0.341127 +v -0.237403 0.444180 0.342943 +v -0.227380 0.444368 0.343959 +v -0.217389 0.444262 0.342711 +v -0.207368 0.443874 0.339188 +v -0.197364 0.443477 0.334051 +v -0.187373 0.443435 0.332369 +v -0.177343 0.443620 0.334828 +v -0.167232 0.443945 0.338031 +v -0.157251 0.444155 0.340463 +v -0.147358 0.444172 0.340933 +v -0.137432 0.444240 0.340483 +v -0.127399 0.443837 0.337436 +v -0.117558 0.443758 0.333917 +v -0.107416 0.443422 0.332382 +v -0.097429 0.443309 0.330897 +v -0.087450 0.443197 0.329565 +v -0.077496 0.443099 0.328238 +v -0.067459 0.442878 0.325900 +v -0.057457 0.442702 0.323272 +v -0.047366 0.442370 0.319619 +v -0.037490 0.442161 0.318958 +v -0.028654 0.441660 0.321926 +v -0.453030 1.347827 -0.287530 +v -0.463266 1.347787 -0.291703 +v -0.476372 1.343207 -0.296456 +v 0.186752 0.934808 0.224115 +v 0.088935 0.964288 0.042859 +v -0.370867 1.277077 -0.257676 +v -0.068172 1.454808 -0.147655 +v -0.543188 1.231237 0.103191 +v 0.063041 0.453932 0.459840 +v 0.072707 0.453844 0.464056 +v 0.082729 0.454145 0.467595 +v 0.092601 0.454198 0.470296 +v 0.102501 0.454194 0.471953 +v 0.112657 0.454619 0.474888 +v 0.122627 0.454692 0.476182 +v 0.132658 0.454969 0.479698 +v 0.142522 0.455090 0.482603 +v 0.152406 0.455471 0.485022 +v 0.162574 0.455485 0.487216 +v 0.172559 0.455479 0.487336 +v 0.182613 0.455515 0.487044 +v 0.192613 0.455505 0.487121 +v 0.202503 0.455755 0.490067 +v 0.212528 0.456055 0.493614 +v 0.222455 0.456302 0.495477 +v 0.232575 0.456306 0.496232 +v 0.242648 0.456291 0.496098 +v 0.252676 0.456177 0.495676 +v 0.262845 0.456057 0.493751 +v 0.272939 0.455776 0.490253 +v 0.282813 0.455354 0.485062 +v 0.292650 0.454685 0.476321 +v 0.302802 0.454401 0.472285 +v 0.312660 0.454378 0.471846 +v 0.322607 0.454410 0.472574 +v 0.332690 0.454499 0.472298 +v 0.342682 0.454396 0.471789 +v 0.352664 0.454262 0.470350 +v 0.362651 0.453971 0.466664 +v -0.127344 0.848507 0.235981 +v 0.242727 0.837407 0.317963 +v -0.007414 0.820847 0.260735 +v -0.017417 0.820907 0.259597 +v 0.222613 0.837797 0.315244 +v -0.117193 0.848677 0.232720 +v -0.107330 0.848047 0.230727 +v -0.097359 0.848177 0.229748 +v -0.047394 0.847977 0.232873 +v 0.012362 0.848667 0.239650 +v 0.162813 0.850737 0.300445 +v 0.292555 0.851227 0.307063 +v 0.693436 0.682437 -0.067611 +v 0.011896 0.901277 -0.159289 +v 0.646135 0.750687 -0.097794 +v 0.122360 0.864937 0.281622 +v -0.417272 0.885627 0.438407 +v -0.167369 0.874897 0.205914 +v 0.280439 0.997728 0.069335 +v -0.348296 1.235007 -0.305300 +v 0.662340 0.709437 0.172354 +v -0.571586 0.810867 -0.076764 +v -0.517684 0.927417 0.433144 +v 0.322636 0.919558 0.249967 +v -0.579601 0.792037 0.246219 +v -0.676758 0.896727 0.133367 +v -0.537099 0.984367 0.437383 +v 0.495547 0.929637 0.134041 +v -0.487439 1.068348 0.400028 +v -0.467564 1.068377 0.396514 +v 0.420421 0.973267 0.077716 +v -0.429340 1.263327 -0.588829 +v -0.440635 1.240577 0.167873 +v -0.593579 0.635700 -0.085049 +v -0.097436 1.364228 -0.083614 +v -0.352081 1.281867 -0.455638 +v -0.113039 1.423067 -0.189032 +v 0.587524 0.826057 -0.122169 +v 0.631918 0.763937 -0.117674 +v 0.635893 0.764257 -0.107744 +v -0.588008 0.799327 0.173980 +v 0.227730 0.942837 0.224063 +v 0.237078 0.940228 0.227473 +v 0.082231 0.920038 0.187442 +v 0.515245 0.903028 0.169938 +v 0.372856 0.915428 0.247252 +v -0.323474 1.238457 0.078546 +v 0.321959 0.998407 0.055952 +v 0.311690 0.998837 0.052198 +v -0.150146 1.407298 -0.134124 +v -0.134248 1.415807 -0.128625 +v 0.155885 0.977527 -0.019451 +v 0.143279 0.973987 -0.024111 +v 0.131371 0.971037 -0.028486 +v -0.455773 1.244937 0.118718 +v -0.362782 1.222377 0.224628 +v -0.199531 1.001757 -0.033782 +v 0.145788 0.666180 0.408618 +v -0.377414 0.456664 0.323782 +v -0.367363 0.457058 0.327436 +v -0.357329 0.457296 0.329874 +v -0.347233 0.457579 0.332112 +v -0.337101 0.457993 0.335523 +v -0.327151 0.458255 0.339437 +v -0.317259 0.458380 0.342366 +v -0.307377 0.458374 0.344027 +v -0.297380 0.458481 0.345289 +v -0.287375 0.458488 0.345304 +v -0.277391 0.458066 0.343232 +v -0.267385 0.458046 0.341808 +v -0.257340 0.458420 0.342303 +v -0.247371 0.458518 0.345168 +v -0.237386 0.458624 0.348090 +v -0.227373 0.458786 0.349195 +v -0.217330 0.458628 0.348120 +v -0.207378 0.458376 0.343948 +v -0.197493 0.458026 0.338389 +v -0.187369 0.457429 0.332633 +v -0.177249 0.457652 0.333965 +v -0.167264 0.457928 0.338004 +v -0.157252 0.458136 0.340674 +v -0.147336 0.458254 0.342263 +v -0.137380 0.458283 0.342299 +v -0.127448 0.458256 0.340486 +v -0.117497 0.458089 0.338038 +v -0.107473 0.457730 0.334575 +v -0.097527 0.457557 0.331835 +v -0.087505 0.457285 0.329531 +v -0.077487 0.457063 0.327070 +v -0.067435 0.456832 0.324686 +v -0.057333 0.456586 0.322708 +v -0.047196 0.456776 0.321392 +v -0.038011 0.456032 0.321486 +v -0.029067 0.456349 0.329355 +v -0.447370 1.244718 0.063452 +v -0.421054 0.542680 0.339731 +v -0.399321 1.236887 0.182338 +v -0.529926 1.231687 0.034632 +v -0.388685 1.305127 -0.264217 +v -0.055286 1.458797 -0.143084 +v -0.662385 0.978007 0.062893 +v -0.645840 0.842587 0.223629 +v 0.062837 0.468116 0.467464 +v 0.072728 0.468306 0.471191 +v 0.082549 0.468293 0.474099 +v 0.092664 0.468713 0.477239 +v 0.102693 0.468845 0.478219 +v 0.112588 0.468619 0.477621 +v 0.122628 0.468654 0.477421 +v 0.132604 0.468835 0.479978 +v 0.142619 0.469107 0.483460 +v 0.152589 0.469354 0.487183 +v 0.162363 0.469598 0.489772 +v 0.172623 0.469647 0.490620 +v 0.182600 0.469555 0.489682 +v 0.192577 0.469406 0.487630 +v 0.202516 0.469511 0.488036 +v 0.212529 0.469734 0.490372 +v 0.222491 0.469951 0.491845 +v 0.232585 0.469932 0.492642 +v 0.242622 0.469854 0.493212 +v 0.252660 0.469763 0.492028 +v 0.262765 0.469669 0.490075 +v 0.272837 0.469416 0.487599 +v 0.282961 0.469057 0.483212 +v 0.292845 0.468677 0.478155 +v 0.302799 0.468232 0.472304 +v 0.312734 0.468102 0.469843 +v 0.322664 0.468057 0.469283 +v 0.332701 0.468034 0.468545 +v 0.342678 0.467995 0.468179 +v 0.352676 0.467887 0.466863 +v 0.362668 0.467699 0.464443 +v 0.442611 0.835787 0.278249 +v 0.402675 0.836137 0.282354 +v -0.027453 0.820927 0.258465 +v -0.057525 0.820947 0.253724 +v 0.302476 0.837277 0.313154 +v 0.192669 0.837407 0.313417 +v -0.167448 0.848177 0.234270 +v -0.087377 0.848247 0.229830 +v -0.077373 0.848027 0.230683 +v 0.022071 0.849277 0.246356 +v 0.212731 0.850927 0.305240 +v 0.302500 0.851037 0.305623 +v 0.644023 0.779207 -0.057889 +v -0.586382 0.772277 0.124025 +v 0.012408 0.862317 0.230503 +v 0.142710 0.864597 0.288269 +v -0.497249 1.110078 0.371261 +v -0.177364 0.874817 0.204632 +v 0.317199 0.998147 0.068508 +v -0.506128 1.251417 -0.218505 +v 0.653639 0.765837 0.102291 +v -0.187420 0.901937 0.171638 +v -0.507614 0.927577 0.434166 +v 0.312633 0.919777 0.248989 +v -0.230102 1.083337 0.064520 +v -0.616560 0.705097 0.014442 +v -0.527491 0.984627 0.439528 +v 0.342371 0.993837 0.091915 +v -0.477543 1.068227 0.398684 +v 0.289050 0.998538 0.015333 +v 0.095612 0.956217 -0.056261 +v -0.527501 1.179857 0.278107 +v -0.068822 1.437717 -0.219034 +v -0.247364 1.260427 0.005955 +v -0.455665 1.446697 -0.629557 +v -0.542580 0.646012 -0.165169 +v 0.550814 0.856437 0.197577 +v 0.002060 1.485497 -0.166575 +v -0.412260 1.237507 -0.011255 +v -0.408527 1.235107 -0.024371 +v 0.500476 0.915737 0.164485 +v -0.377549 1.240487 0.160845 +v -0.597910 1.211157 0.055275 +v 0.332254 0.997798 0.059699 +v -0.513713 0.689657 0.258402 +v -0.167308 1.395337 -0.139827 +v 0.179895 0.982807 -0.010626 +v 0.167897 0.980167 -0.015037 +v -0.524541 1.237128 0.094880 +v -0.501393 1.240197 0.102885 +v -0.489857 1.241547 0.106854 +v -0.667363 0.855897 0.083563 +v -0.283060 1.222617 0.107768 +v -0.546837 1.220617 -0.000391 +v 0.009454 0.576231 -0.437773 +v -0.377352 0.471492 0.332560 +v -0.367285 0.471821 0.334817 +v -0.357378 0.471672 0.335149 +v -0.347469 0.471552 0.335559 +v -0.337264 0.472111 0.338469 +v -0.327199 0.472433 0.342106 +v -0.317437 0.472464 0.345514 +v -0.307128 0.473139 0.349480 +v -0.297254 0.473310 0.352300 +v -0.287364 0.473188 0.352731 +v -0.277367 0.473122 0.351384 +v -0.267369 0.472798 0.349166 +v -0.257366 0.472751 0.347685 +v -0.247375 0.472938 0.348608 +v -0.237386 0.472897 0.350516 +v -0.227397 0.473091 0.351323 +v -0.217274 0.472705 0.349804 +v -0.207588 0.472832 0.347085 +v -0.197756 0.472385 0.341976 +v -0.187274 0.471512 0.334421 +v -0.177377 0.471464 0.332267 +v -0.167327 0.471753 0.335753 +v -0.157338 0.471968 0.338690 +v -0.147314 0.472158 0.341004 +v -0.137303 0.472304 0.342007 +v -0.127680 0.472217 0.340180 +v -0.117377 0.472002 0.338890 +v -0.107490 0.472051 0.336865 +v -0.097397 0.471815 0.336338 +v -0.087508 0.471659 0.333414 +v -0.077317 0.471118 0.328929 +v -0.067442 0.470986 0.325860 +v -0.057385 0.470778 0.323272 +v -0.047546 0.470443 0.321818 +v -0.038156 0.470572 0.326353 +v -0.028339 0.471596 0.338491 +v -0.486091 1.233227 0.181432 +v -0.328292 1.234197 0.149375 +v -0.081099 1.450667 -0.152352 +v -0.044011 1.461117 -0.137904 +v 0.037290 0.588410 0.433507 +v 0.184121 0.978237 0.135302 +v -0.580028 0.772207 0.143929 +v -0.618563 0.691557 0.004618 +v 0.062746 0.482370 0.473594 +v 0.072474 0.482410 0.477771 +v 0.082713 0.482976 0.481890 +v 0.092715 0.483231 0.483911 +v 0.102591 0.482796 0.482720 +v 0.112581 0.482647 0.480263 +v 0.122707 0.482766 0.479238 +v 0.132598 0.482786 0.481206 +v 0.142683 0.483162 0.485561 +v 0.152528 0.483325 0.488633 +v 0.162646 0.483509 0.490565 +v 0.172574 0.483514 0.491346 +v 0.182618 0.483502 0.490732 +v 0.192622 0.483349 0.488651 +v 0.202620 0.483266 0.486747 +v 0.212566 0.483283 0.486636 +v 0.222558 0.483393 0.487760 +v 0.232598 0.483409 0.488599 +v 0.242631 0.483387 0.487818 +v 0.252655 0.483310 0.487414 +v 0.262715 0.483228 0.486433 +v 0.272817 0.483034 0.484222 +v 0.282669 0.482889 0.482395 +v 0.292870 0.482469 0.478320 +v 0.302761 0.482183 0.474379 +v 0.312792 0.481950 0.471072 +v 0.322756 0.481813 0.468683 +v 0.332803 0.481688 0.466547 +v 0.342785 0.481625 0.464973 +v 0.352716 0.481512 0.463343 +v 0.362778 0.481384 0.461204 +v 0.422544 0.835757 0.281615 +v 0.412626 0.836047 0.282172 +v -0.037500 0.821037 0.257407 +v -0.047478 0.820817 0.255970 +v 0.202712 0.837217 0.311903 +v 0.162704 0.837217 0.308473 +v 0.152558 0.837397 0.305274 +v -0.147433 0.848637 0.236021 +v 0.002471 0.848277 0.235637 +v 0.032078 0.849537 0.253808 +v 0.202688 0.851127 0.303373 +v 0.332469 0.850687 0.298026 +v 0.658618 0.751247 -0.067713 +v -0.058685 1.463477 -0.158757 +v 0.002310 0.862487 0.225929 +v 0.152670 0.864707 0.289618 +v -0.147490 1.334407 -0.047362 +v -0.157486 0.875557 0.207700 +v -0.506801 1.238867 0.115618 +v -0.467517 1.082438 0.388022 +v 0.041792 1.273657 -0.119716 +v -0.197042 0.902697 0.181037 +v -0.497421 0.927787 0.437105 +v 0.302622 0.919627 0.248845 +v -0.591745 0.758207 -0.015783 +v -0.156888 0.933657 -0.172934 +v -0.517399 0.984717 0.440873 +v -0.447450 1.151958 0.332152 +v -0.027453 0.834687 0.247129 +v -0.659785 0.909217 0.003234 +v 0.384808 0.987167 0.064649 +v -0.537369 1.179457 0.272864 +v 0.716822 0.585439 -0.077712 +v 0.494618 0.913357 0.176560 +v -0.557409 0.757767 0.184038 +v -0.002564 1.238297 -0.125451 +v 0.004460 1.508477 -0.195051 +v 0.426614 0.909767 0.223764 +v -0.471598 1.194118 0.277163 +v -0.168518 0.939277 0.111962 +v 0.468035 0.935718 0.152430 +v 0.492786 0.921527 0.161571 +v -0.150204 0.945057 0.103520 +v 0.235719 0.961557 0.197592 +v 0.352276 0.995087 0.066989 +v -0.028413 0.889017 0.177954 +v 0.283739 0.997787 0.027643 +v 0.273406 0.997728 0.023835 +v -0.045155 0.863537 0.216923 +v -0.537191 1.233477 0.090550 +v -0.565564 0.742797 -0.095726 +v -0.550777 0.844247 -0.117863 +v -0.652458 0.842987 0.253653 +v 0.515930 0.921327 0.098812 +v 0.523521 0.915377 0.101658 +v -0.397787 0.486423 0.332769 +v -0.387513 0.485671 0.336758 +v -0.377243 0.486469 0.340970 +v -0.367357 0.486386 0.342660 +v -0.357306 0.486485 0.342334 +v -0.347437 0.486005 0.340688 +v -0.337344 0.486265 0.341383 +v -0.327263 0.486520 0.343562 +v -0.317224 0.486807 0.347418 +v -0.307275 0.487089 0.351380 +v -0.297380 0.487338 0.355533 +v -0.287238 0.487855 0.358356 +v -0.277376 0.487777 0.358854 +v -0.267440 0.487544 0.356736 +v -0.257411 0.487403 0.353643 +v -0.247322 0.486799 0.351121 +v -0.237468 0.487071 0.351139 +v -0.227330 0.486846 0.350919 +v -0.217377 0.486938 0.350490 +v -0.207328 0.486705 0.348094 +v -0.197632 0.486676 0.344470 +v -0.187395 0.486041 0.337284 +v -0.177291 0.485523 0.332749 +v -0.167382 0.485519 0.333057 +v -0.157411 0.485632 0.334071 +v -0.147430 0.485840 0.336689 +v -0.137482 0.485927 0.338300 +v -0.127283 0.486154 0.339603 +v -0.117351 0.486412 0.342163 +v -0.107420 0.486553 0.343354 +v -0.097539 0.486513 0.341886 +v -0.087550 0.486035 0.337097 +v -0.077328 0.485375 0.331473 +v -0.067344 0.484966 0.326371 +v -0.057307 0.485157 0.325064 +v -0.047644 0.484561 0.323435 +v -0.038388 0.484916 0.330287 +v -0.027872 0.486551 0.346907 +v -0.332580 1.239717 0.104236 +v -0.604648 1.206677 0.127493 +v -0.590278 1.211807 0.131880 +v 0.148510 0.971427 0.122579 +v 0.002406 0.936787 0.070334 +v -0.582884 0.772147 0.134053 +v -0.019579 0.901717 -0.159546 +v 0.039526 1.526538 -0.260138 +v 0.062810 0.496468 0.477085 +v 0.072672 0.496766 0.482205 +v 0.082697 0.497046 0.485567 +v 0.092652 0.497144 0.486825 +v 0.102637 0.497033 0.485680 +v 0.112735 0.496642 0.481696 +v 0.122630 0.496593 0.479884 +v 0.132613 0.496837 0.483538 +v 0.142508 0.497030 0.486446 +v 0.152514 0.497210 0.488884 +v 0.162627 0.497350 0.490640 +v 0.172618 0.497371 0.490837 +v 0.182631 0.497337 0.490052 +v 0.192609 0.497170 0.488107 +v 0.202615 0.496880 0.483772 +v 0.212596 0.496898 0.483847 +v 0.222548 0.497005 0.484491 +v 0.232589 0.497013 0.485229 +v 0.242611 0.497037 0.485486 +v 0.252627 0.496983 0.485021 +v 0.262685 0.496866 0.484065 +v 0.272710 0.496840 0.484002 +v 0.282730 0.496727 0.482753 +v 0.292749 0.496510 0.480456 +v 0.302727 0.496337 0.477879 +v 0.312732 0.496163 0.475575 +v 0.322855 0.495849 0.472398 +v 0.332683 0.495804 0.469283 +v 0.342811 0.495519 0.466134 +v 0.352913 0.495268 0.462744 +v 0.609531 0.821507 0.148237 +v -0.267115 0.834667 0.253558 +v 0.042244 0.836017 0.271368 +v 0.031938 0.836037 0.264196 +v 0.172684 0.837357 0.311027 +v 0.342405 0.836807 0.303064 +v 0.021941 0.835817 0.256738 +v 0.232679 0.823827 0.323555 +v -0.097344 0.834127 0.238263 +v -0.007568 0.848507 0.234642 +v 0.042139 0.849767 0.260029 +v 0.192762 0.850747 0.303974 +v 0.352367 0.850327 0.291481 +v -0.513879 0.753717 -0.155395 +v -0.497594 0.872137 0.434773 +v 0.688235 0.597215 -0.157421 +v 0.162755 0.864547 0.291749 +v 0.122600 1.303757 -0.192522 +v -0.187349 0.874997 0.201120 +v 0.143898 0.934857 0.208880 +v -0.457554 1.110117 0.368746 +v 0.277588 0.997057 0.011092 +v 0.519347 0.916327 0.114378 +v -0.487343 0.927917 0.440369 +v 0.292340 0.920697 0.247886 +v -0.571370 0.729527 -0.095577 +v -0.612835 0.935178 -0.086681 +v -0.507370 0.984678 0.441756 +v -0.664969 0.897367 0.293324 +v -0.527347 0.898988 0.417802 +v -0.627552 1.197477 0.091710 +v -0.547443 1.179327 0.264042 +v -0.498968 0.803327 0.380296 +v -0.507394 0.956308 0.443391 +v 0.412584 0.822087 0.289480 +v -0.107741 1.364207 -0.071942 +v -0.499232 1.168177 -0.168143 +v -0.401597 1.260527 -0.167748 +v -0.471053 1.184027 0.292725 +v -0.497573 1.231267 0.177380 +v 0.442737 0.948987 0.143164 +v -0.356312 1.225708 0.212263 +v -0.456114 1.242267 0.147783 +v 0.132160 0.933567 0.204915 +v 0.362031 0.993207 0.070566 +v -0.405231 1.300237 -0.227049 +v 0.295209 0.999057 0.031907 +v -0.589735 1.216137 0.072759 +v -0.575660 1.221177 0.077432 +v -0.092872 0.939347 -0.126150 +v -0.474903 1.292167 -0.419018 +v 0.492168 0.937507 0.089988 +v 0.500400 0.932737 0.093022 +v 0.508484 0.927707 0.096059 +v -0.011006 0.929067 0.094971 +v 0.011045 0.928897 0.103319 +v -0.397420 0.500028 0.339072 +v -0.387329 0.500514 0.343945 +v -0.377457 0.500555 0.346944 +v -0.367321 0.501006 0.348749 +v -0.357398 0.500672 0.348208 +v -0.347405 0.500705 0.346507 +v -0.337314 0.500686 0.344695 +v -0.327304 0.500617 0.344967 +v -0.317324 0.500798 0.347699 +v -0.307142 0.501249 0.352220 +v -0.297199 0.501637 0.357419 +v -0.287174 0.501990 0.360909 +v -0.277307 0.502088 0.362465 +v -0.267400 0.502029 0.361130 +v -0.257509 0.501663 0.357670 +v -0.247348 0.501103 0.353250 +v -0.237366 0.501031 0.351912 +v -0.227352 0.501021 0.351989 +v -0.217383 0.501072 0.351665 +v -0.207244 0.500759 0.349648 +v -0.197392 0.500693 0.346540 +v -0.187364 0.500178 0.341542 +v -0.177354 0.499735 0.335236 +v -0.167350 0.499505 0.333189 +v -0.157380 0.499444 0.331400 +v -0.147225 0.499754 0.334366 +v -0.137238 0.500169 0.339652 +v -0.127165 0.500647 0.344373 +v -0.117254 0.500888 0.346943 +v -0.107388 0.500902 0.347067 +v -0.097430 0.500616 0.345096 +v -0.087656 0.500476 0.341956 +v -0.077619 0.499954 0.335771 +v -0.067337 0.499334 0.330146 +v -0.057308 0.499223 0.326937 +v -0.047483 0.499001 0.326560 +v -0.039013 0.498871 0.331020 +v -0.027866 0.501019 0.351966 +v -0.595641 0.744717 -0.015827 +v -0.593410 0.744627 -0.025872 +v -0.639552 0.842817 0.203754 +v -0.589878 0.772377 0.114019 +v -0.597537 0.744777 -0.005714 +v -0.591033 0.744467 -0.035866 +v -0.596320 0.676567 -0.065289 +v 0.275076 0.995097 -0.018505 +v 0.062794 0.510360 0.478367 +v 0.072612 0.510710 0.483429 +v 0.082724 0.510968 0.486670 +v 0.092593 0.510974 0.487373 +v 0.102622 0.510792 0.484667 +v 0.112814 0.510303 0.480458 +v 0.122629 0.510538 0.480875 +v 0.132591 0.510727 0.483675 +v 0.142639 0.510874 0.485870 +v 0.152561 0.511017 0.487502 +v 0.162576 0.511130 0.488956 +v 0.172644 0.511148 0.488970 +v 0.182640 0.511085 0.488493 +v 0.192521 0.510828 0.485544 +v 0.203187 0.510417 0.481367 +v 0.212615 0.510553 0.480732 +v 0.222533 0.510740 0.483287 +v 0.232592 0.510843 0.484988 +v 0.242611 0.510898 0.486023 +v 0.252619 0.510872 0.485483 +v 0.262633 0.510809 0.485150 +v 0.272672 0.510799 0.485197 +v 0.282721 0.510684 0.484296 +v 0.292729 0.510559 0.482973 +v 0.302729 0.510495 0.481553 +v 0.312845 0.510263 0.479623 +v 0.322777 0.510131 0.476845 +v 0.332730 0.509899 0.473000 +v -0.414888 1.212417 0.251190 +v 0.392617 0.836117 0.284594 +v -0.606876 0.934957 -0.096662 +v 0.235589 0.993527 0.052939 +v -0.537712 0.912768 0.419701 +v 0.182633 0.837547 0.312481 +v 0.682348 0.724197 -0.017812 +v 0.432648 0.835967 0.279738 +v 0.252633 0.823947 0.326033 +v 0.242769 0.823607 0.325352 +v -0.137378 0.848717 0.236191 +v 0.452350 0.506517 0.426487 +v 0.052535 0.849537 0.265795 +v 0.182662 0.851197 0.303533 +v 0.342455 0.850557 0.295446 +v -0.227320 1.231477 0.013942 +v 0.020214 0.930927 -0.083981 +v -0.017453 0.861787 0.220310 +v 0.092788 0.863417 0.267772 +v -0.197376 1.319567 -0.034954 +v -0.197091 0.875337 0.200337 +v -0.540690 1.071737 -0.117588 +v -0.447623 1.110067 0.366231 +v -0.543136 1.113437 -0.097753 +v 0.179830 1.378357 -0.326951 +v -0.477371 0.927967 0.442885 +v 0.679398 0.526208 -0.187395 +v 0.359568 0.927707 -0.171889 +v 0.713842 0.641558 -0.027763 +v -0.497367 0.984598 0.440464 +v -0.437571 1.151647 0.330560 +v -0.467471 0.899897 0.446182 +v 0.663268 0.694697 -0.137564 +v 0.709418 0.627371 0.102118 +v -0.157391 0.820947 0.257299 +v 0.680869 0.667956 0.162176 +v 0.656802 0.765687 0.072188 +v -0.117279 1.364347 -0.065782 +v 0.690962 0.696437 -0.057676 +v -0.068729 0.949717 -0.043746 +v -0.414922 1.276287 -0.172748 +v -0.408121 1.268567 -0.170163 +v -0.361493 1.243327 0.122909 +v 0.419037 0.965247 0.134376 +v -0.376106 1.228857 0.205224 +v -0.113645 0.958298 0.057436 +v -0.343906 1.217737 0.231672 +v 0.398646 0.981607 0.084006 +v -0.412024 1.307987 -0.229639 +v 0.306123 0.999548 0.035914 +v -0.603530 1.210247 0.068122 +v -0.397547 1.347987 -0.669732 +v -0.027707 0.921347 -0.102014 +v 0.475987 0.947527 0.084004 +v 0.484226 0.942837 0.087044 +v -0.458331 1.240997 -0.072342 +v -0.449303 1.241257 -0.068365 +v 0.227048 0.692657 0.361863 +v -0.407996 1.318457 -0.256974 +v -0.400656 1.311817 -0.254211 +v -0.397199 0.514713 0.344959 +v -0.387404 0.514867 0.349237 +v -0.377297 0.515176 0.351390 +v -0.367308 0.515364 0.352374 +v -0.357369 0.515092 0.351705 +v -0.347386 0.515111 0.349935 +v -0.337376 0.514790 0.347885 +v -0.327335 0.514855 0.347470 +v -0.317263 0.514953 0.348673 +v -0.307233 0.515214 0.352514 +v -0.297190 0.515633 0.357430 +v -0.287258 0.515914 0.361368 +v -0.277335 0.516028 0.362933 +v -0.267387 0.515749 0.361017 +v -0.257366 0.515672 0.359519 +v -0.247355 0.515544 0.358291 +v -0.237373 0.515597 0.358149 +v -0.227323 0.515365 0.357330 +v -0.217308 0.515281 0.355986 +v -0.207385 0.515289 0.354328 +v -0.197362 0.515191 0.353027 +v -0.187441 0.514875 0.347628 +v -0.177495 0.514353 0.341161 +v -0.167430 0.514031 0.337288 +v -0.157308 0.513675 0.333414 +v -0.147311 0.513900 0.336045 +v -0.137194 0.514415 0.342163 +v -0.127184 0.514719 0.345961 +v -0.117246 0.514936 0.348367 +v -0.107379 0.514925 0.348781 +v -0.097454 0.514812 0.347539 +v -0.087682 0.514533 0.343264 +v -0.077482 0.513912 0.336154 +v -0.067372 0.513359 0.330101 +v -0.057368 0.513165 0.327552 +v -0.047592 0.513090 0.328178 +v -0.038682 0.513325 0.334281 +v -0.026831 0.515950 0.357838 +v -0.416168 1.447107 -0.669647 +v -0.612127 0.691237 -0.015476 +v -0.616215 0.691367 -0.005309 +v -0.588008 0.716897 -0.065543 +v -0.587839 0.744337 -0.044793 +v -0.624357 0.678817 0.094414 +v -0.625572 0.678844 0.084470 +v 0.263617 0.993457 -0.022748 +v 0.062759 0.524129 0.477242 +v 0.072659 0.524495 0.482217 +v 0.082667 0.524653 0.484537 +v 0.092589 0.524799 0.486265 +v 0.102956 0.524642 0.482827 +v 0.112575 0.524257 0.479048 +v 0.122594 0.524374 0.480349 +v 0.132543 0.524543 0.482834 +v 0.142618 0.524670 0.484719 +v 0.152637 0.524741 0.485840 +v 0.162600 0.524820 0.486420 +v 0.172641 0.524867 0.486591 +v 0.182663 0.524823 0.485911 +v 0.192667 0.524581 0.483510 +v 0.202601 0.524315 0.479616 +v 0.212604 0.524369 0.480294 +v 0.222523 0.524622 0.483386 +v 0.232575 0.524700 0.485135 +v 0.242555 0.524879 0.485931 +v 0.252598 0.524763 0.485558 +v 0.262621 0.524753 0.485617 +v 0.272644 0.524735 0.485687 +v 0.282637 0.524745 0.485958 +v 0.292654 0.524668 0.485012 +v 0.302691 0.524588 0.483893 +v 0.312804 0.524395 0.481988 +v 0.322786 0.524229 0.479345 +v 0.332770 0.523967 0.475610 +v 0.332575 0.995547 0.088367 +v -0.583377 0.743837 -0.055703 +v 0.656544 0.765527 0.082170 +v 0.659182 0.765757 0.032182 +v -0.427345 0.857487 0.435856 +v -0.477440 0.857497 0.437144 +v -0.612089 0.812807 -0.026582 +v -0.227200 0.848097 0.234421 +v 0.549130 0.876517 0.168373 +v 0.667970 0.752057 0.002176 +v 0.442544 0.520462 0.424560 +v 0.452540 0.520220 0.420986 +v 0.462362 0.519845 0.418015 +v 0.382349 0.836097 0.290287 +v 0.322537 0.850937 0.299601 +v 0.630788 0.749727 -0.137756 +v 0.316381 0.998918 0.039654 +v -0.007540 0.862017 0.222989 +v 0.102578 0.863957 0.271985 +v 0.071616 0.944197 0.124391 +v -0.206929 0.875377 0.204128 +v 0.375932 0.990447 0.061414 +v -0.046412 1.467117 -0.153984 +v -0.360031 1.172307 -0.265259 +v 0.694820 0.696647 -0.007823 +v -0.467378 0.928037 0.443322 +v -0.341484 1.375517 -0.686403 +v -0.619492 0.665205 0.124350 +v 0.714142 0.641641 -0.017808 +v -0.487275 0.984637 0.438538 +v -0.349678 1.281827 -0.435412 +v -0.439424 1.239958 -0.064758 +v 0.252608 0.906397 0.268181 +v 0.708160 0.627275 0.112111 +v 0.642371 0.750477 -0.107803 +v 0.232701 0.905778 0.269997 +v -0.127148 1.364248 -0.061718 +v -0.137400 1.364187 -0.060804 +v -0.478582 1.334607 -0.281101 +v -0.430219 1.288287 -0.178265 +v -0.422404 1.282547 -0.175353 +v -0.311059 1.223577 0.184726 +v 0.392850 0.976717 0.124724 +v -0.385480 1.231467 0.201898 +v -0.123032 0.960467 0.053996 +v 0.407439 0.977897 0.087215 +v -0.436704 1.322278 -0.238739 +v 0.337434 0.998297 0.047349 +v -0.445801 1.250278 -0.096857 +v -0.565794 0.661131 -0.135564 +v 0.459027 0.956157 0.077743 +v 0.467367 0.951577 0.080803 +v 0.226836 0.929837 0.238749 +v -0.543091 1.203977 0.222533 +v -0.430952 1.334187 -0.265361 +v -0.423462 1.329907 -0.262753 +v -0.415288 1.325037 -0.259730 +v 0.037163 0.561410 0.448251 +v -0.522799 0.872368 0.417149 +v -0.398473 0.528820 0.348212 +v -0.387241 0.529311 0.352603 +v -0.377360 0.529337 0.354151 +v -0.367382 0.529292 0.354380 +v -0.357381 0.529358 0.354146 +v -0.347378 0.529221 0.353082 +v -0.337377 0.529170 0.351558 +v -0.327398 0.528812 0.349792 +v -0.317340 0.529054 0.350221 +v -0.307305 0.529235 0.352621 +v -0.297110 0.529651 0.357043 +v -0.287198 0.529924 0.361146 +v -0.277360 0.530011 0.363066 +v -0.267329 0.530123 0.363985 +v -0.257364 0.530143 0.364225 +v -0.247383 0.530133 0.364430 +v -0.237371 0.530113 0.364476 +v -0.227456 0.530256 0.363742 +v -0.217391 0.529919 0.361836 +v -0.207406 0.529837 0.360499 +v -0.197416 0.529491 0.356850 +v -0.186996 0.528870 0.351458 +v -0.177246 0.528613 0.344729 +v -0.167534 0.528439 0.342258 +v -0.157284 0.527891 0.336827 +v -0.147397 0.527920 0.336623 +v -0.137263 0.528431 0.342425 +v -0.127293 0.528708 0.346330 +v -0.117262 0.528911 0.348490 +v -0.107393 0.528988 0.349880 +v -0.097536 0.528917 0.348385 +v -0.087678 0.528642 0.344301 +v -0.077627 0.528202 0.338080 +v -0.067380 0.527661 0.332357 +v -0.057324 0.527502 0.329678 +v -0.047295 0.527661 0.332431 +v -0.037969 0.527860 0.338489 +v -0.026968 0.529796 0.356469 +v 0.156169 0.970827 -0.062679 +v 0.168662 0.974707 -0.058042 +v -0.385731 1.460157 -0.696456 +v -0.599653 0.676750 -0.055197 +v -0.661904 0.964037 0.033050 +v 0.009240 0.627030 -0.355618 +v 0.240706 0.990347 -0.031282 +v 0.252761 0.992517 -0.026762 +v 0.062629 0.537794 0.473932 +v 0.072714 0.538059 0.478479 +v 0.082720 0.538258 0.481891 +v 0.092710 0.538342 0.483051 +v 0.102601 0.538327 0.481340 +v 0.112579 0.538194 0.479341 +v 0.122629 0.538306 0.481231 +v 0.132602 0.538394 0.482509 +v 0.142569 0.538439 0.482889 +v 0.152612 0.538434 0.483452 +v 0.162626 0.538455 0.483481 +v 0.172624 0.538546 0.484822 +v 0.182610 0.538588 0.485067 +v 0.192745 0.538404 0.482705 +v 0.202633 0.538224 0.480087 +v 0.212606 0.538307 0.481440 +v 0.222581 0.538451 0.483303 +v 0.232596 0.538579 0.483462 +v 0.242593 0.538535 0.483345 +v 0.252623 0.538539 0.483793 +v 0.262627 0.538514 0.483871 +v 0.272634 0.538589 0.484322 +v 0.282648 0.538590 0.484346 +v 0.292640 0.538509 0.483803 +v 0.302703 0.538464 0.482942 +v 0.312738 0.538361 0.481789 +v 0.322730 0.538175 0.479184 +v 0.332660 0.537971 0.476456 +v 0.342804 0.537758 0.473255 +v 0.011650 0.941218 -0.014271 +v 0.203001 0.600541 -0.444019 +v 0.574964 0.855937 0.163721 +v 0.013974 0.943657 0.015759 +v -0.497367 0.857327 0.430997 +v 0.720982 0.543723 0.102241 +v -0.207345 0.847747 0.230268 +v -0.177406 0.847907 0.232793 +v -0.157429 0.848287 0.235622 +v 0.442450 0.533956 0.418385 +v 0.452325 0.533628 0.415604 +v 0.462344 0.533406 0.413089 +v 0.472335 0.533272 0.410647 +v 0.312563 0.851087 0.302209 +v -0.167305 0.966187 -0.080175 +v -0.486719 1.235847 -0.008647 +v 0.663991 0.751767 -0.047817 +v 0.112415 0.864527 0.276336 +v 0.718021 0.613811 0.042148 +v 0.545858 0.838127 -0.155469 +v -0.466434 1.354218 -0.306950 +v 0.242648 0.905647 0.269902 +v -0.117261 0.834737 0.243768 +v 0.112627 0.904917 0.235180 +v -0.457228 0.928077 0.442643 +v 0.671854 0.595976 -0.187349 +v 0.690954 0.654474 0.152144 +v 0.713755 0.641533 0.002137 +v -0.477357 0.984488 0.434622 +v 0.727812 0.544149 0.002245 +v -0.011707 0.936947 -0.022830 +v -0.548349 0.912697 0.414662 +v 0.685942 0.625878 0.182185 +v -0.653629 0.951418 0.283020 +v 0.422599 0.822087 0.288312 +v -0.497380 1.040447 0.418208 +v 0.023147 1.500247 -0.185586 +v -0.517685 0.913117 0.426848 +v -0.438583 1.292858 -0.181385 +v -0.447961 1.295807 -0.184666 +v 0.356237 0.988728 0.111337 +v -0.304693 1.236048 0.056307 +v 0.599243 0.819887 0.172914 +v 0.416114 0.974437 0.090700 +v -0.445505 1.325717 -0.242108 +v 0.347216 0.996827 0.050876 +v 0.027184 0.947857 0.020525 +v 0.032724 0.934847 -0.079406 +v 0.450730 0.960757 0.074678 +v 0.102923 0.941148 0.165091 +v -0.432381 1.257998 -0.120956 +v -0.449792 1.341137 -0.272427 +v -0.439787 1.338097 -0.268645 +v -0.089787 1.442537 -0.141039 +v -0.103334 1.437438 -0.146034 +v -0.118584 1.429597 -0.151639 +v -0.616168 0.935327 -0.076674 +v -0.407150 0.542888 0.347476 +v -0.397306 0.543161 0.351640 +v -0.387184 0.543521 0.355027 +v -0.377344 0.543558 0.356700 +v -0.367306 0.543738 0.357596 +v -0.357357 0.543721 0.357713 +v -0.347384 0.543695 0.357828 +v -0.337365 0.543508 0.357042 +v -0.327371 0.543460 0.355538 +v -0.317357 0.543385 0.354027 +v -0.307253 0.543503 0.354714 +v -0.297333 0.543535 0.356650 +v -0.287233 0.543831 0.360161 +v -0.277306 0.544011 0.362768 +v -0.267287 0.544225 0.365102 +v -0.257383 0.544223 0.365919 +v -0.247375 0.544327 0.366660 +v -0.237359 0.544219 0.366245 +v -0.227424 0.544340 0.366524 +v -0.217353 0.544131 0.364647 +v -0.207366 0.543943 0.361959 +v -0.197165 0.543515 0.357327 +v -0.187220 0.543142 0.352084 +v -0.177331 0.542850 0.348078 +v -0.167416 0.542447 0.342729 +v -0.157305 0.542046 0.337432 +v -0.147377 0.541951 0.336510 +v -0.137408 0.542354 0.341610 +v -0.127113 0.542687 0.345881 +v -0.117270 0.542884 0.348436 +v -0.107377 0.542985 0.349717 +v -0.097518 0.542822 0.346813 +v -0.087036 0.542305 0.341923 +v -0.077395 0.542142 0.337278 +v -0.067374 0.541751 0.333935 +v -0.057375 0.541744 0.333998 +v -0.047445 0.541890 0.336745 +v -0.037146 0.542642 0.343718 +v -0.026647 0.543632 0.355348 +v 0.217240 0.986187 -0.040007 +v 0.205169 0.983847 -0.044487 +v 0.193242 0.980947 -0.048904 +v 0.180631 0.977477 -0.053601 +v 0.297463 0.996997 -0.010163 +v 0.286537 0.996477 -0.014204 +v 0.229244 0.988597 -0.035528 +v 0.308371 0.997447 -0.006095 +v 0.062821 0.551377 0.470022 +v 0.072751 0.551581 0.473663 +v 0.082625 0.551849 0.476334 +v 0.092559 0.551981 0.477831 +v 0.102747 0.551891 0.478145 +v 0.112647 0.552047 0.478896 +v 0.122598 0.552123 0.480172 +v 0.132554 0.552229 0.481590 +v 0.142655 0.552136 0.480868 +v 0.152627 0.552011 0.478777 +v 0.162588 0.552139 0.480343 +v 0.172586 0.552316 0.482838 +v 0.182575 0.552330 0.483138 +v 0.192704 0.552271 0.481878 +v 0.202634 0.552202 0.481402 +v 0.212592 0.552221 0.481872 +v 0.222618 0.552245 0.481796 +v 0.232624 0.552269 0.480982 +v 0.242617 0.552170 0.480320 +v 0.252655 0.552189 0.479554 +v 0.262646 0.552243 0.479665 +v 0.272627 0.552185 0.480280 +v 0.282655 0.552363 0.479842 +v 0.292647 0.552229 0.480393 +v 0.302659 0.552166 0.480249 +v 0.312646 0.552047 0.478930 +v 0.322700 0.551942 0.476728 +v 0.332791 0.551844 0.474587 +v 0.342736 0.551560 0.471845 +v 0.352545 0.551322 0.468915 +v -0.027214 1.481477 -0.162097 +v 0.665999 0.751507 -0.037732 +v 0.568493 0.863857 0.161286 +v -0.487467 0.857387 0.434794 +v -0.660482 0.883977 0.323372 +v -0.217161 0.848197 0.230857 +v -0.197352 0.848077 0.229372 +v -0.187415 0.848097 0.230577 +v 0.442412 0.547631 0.413651 +v 0.452532 0.547339 0.409017 +v 0.462207 0.546901 0.407827 +v 0.472537 0.547083 0.405341 +v 0.482468 0.546889 0.402773 +v 0.124118 0.973357 0.026682 +v -0.579799 0.743667 -0.065651 +v -0.435646 0.487491 0.313756 +v 0.082677 0.863487 0.265489 +v 0.559894 0.703197 0.299719 +v -0.011695 0.613246 -0.354949 +v 0.169298 0.929367 -0.171581 +v 0.452722 0.835857 0.276113 +v -0.137323 0.834987 0.247580 +v 0.556206 0.869607 0.170991 +v -0.447323 0.927947 0.441822 +v -0.026063 0.586022 -0.375208 +v 0.694340 0.654528 0.142026 +v 0.714010 0.641616 -0.007829 +v -0.059952 0.945998 -0.040505 +v 0.630941 0.778257 -0.097768 +v -0.508386 0.913257 0.431752 +v -0.047089 1.439527 -0.123568 +v 0.691222 0.626281 0.172273 +v 0.661495 0.751637 -0.057813 +v 0.654354 0.694137 -0.157543 +v -0.447077 1.236707 0.180215 +v 0.033189 1.500137 -0.195170 +v 0.317069 0.995267 0.097025 +v -0.528327 0.689157 0.244797 +v -0.377649 1.223618 -0.158705 +v 0.346948 0.991237 0.107891 +v -0.591206 0.608458 -0.074926 +v 0.593208 0.829477 0.170601 +v 0.424993 0.970497 0.093698 +v 0.510595 0.891227 0.196924 +v 0.356956 0.994997 0.054428 +v -0.584209 1.217137 0.059906 +v -0.628762 0.651818 0.054681 +v 0.370485 0.991687 0.045137 +v -0.424960 1.252017 -0.118238 +v -0.473640 1.337567 -0.280768 +v -0.460816 1.340947 -0.276276 +v -0.065434 1.447977 -0.132088 +v -0.076816 1.446377 -0.136623 +v -0.672788 0.951177 0.143144 +v -0.392517 1.227107 0.214111 +v -0.606017 0.786697 0.024094 +v -0.508754 1.251187 -0.278523 +v -0.407588 0.556863 0.348363 +v -0.397150 0.557365 0.353826 +v -0.387334 0.557560 0.356744 +v -0.377316 0.557767 0.359223 +v -0.367228 0.558021 0.361070 +v -0.357375 0.557963 0.361985 +v -0.347368 0.558109 0.362848 +v -0.337358 0.557915 0.362139 +v -0.327428 0.558179 0.360729 +v -0.317374 0.557561 0.356810 +v -0.307335 0.557510 0.355034 +v -0.297320 0.557582 0.356436 +v -0.287296 0.557757 0.358938 +v -0.277319 0.557932 0.361543 +v -0.267375 0.558054 0.363289 +v -0.257365 0.558118 0.364294 +v -0.247358 0.558228 0.365631 +v -0.237366 0.558247 0.365830 +v -0.227405 0.558222 0.365549 +v -0.217440 0.558104 0.364272 +v -0.207533 0.557883 0.361506 +v -0.197315 0.557587 0.357061 +v -0.187220 0.557203 0.352125 +v -0.177196 0.556822 0.347128 +v -0.167719 0.556097 0.340570 +v -0.157371 0.555895 0.335327 +v -0.147387 0.555915 0.335499 +v -0.137298 0.556249 0.339953 +v -0.127298 0.556531 0.343800 +v -0.117319 0.556839 0.347636 +v -0.107451 0.556735 0.347311 +v -0.097404 0.556447 0.341485 +v -0.087108 0.556414 0.340218 +v -0.077431 0.556524 0.339134 +v -0.067356 0.556535 0.340999 +v -0.057296 0.556821 0.344835 +v -0.047243 0.557026 0.347272 +v -0.037097 0.557065 0.348711 +v -0.026243 0.557587 0.355346 +v 0.339782 0.996837 0.005374 +v 0.350032 0.995688 0.009182 +v 0.359846 0.994257 0.012737 +v 0.369575 0.992337 0.016299 +v 0.388165 0.987237 0.023094 +v 0.378785 0.989617 0.019685 +v 0.319225 0.997647 -0.002053 +v 0.329508 0.997247 0.001659 +v 0.414922 0.977017 0.032934 +v 0.072728 0.565082 0.467764 +v 0.082500 0.565460 0.470724 +v 0.092758 0.565417 0.473489 +v 0.102626 0.565667 0.475199 +v 0.112682 0.565771 0.477309 +v 0.122612 0.565894 0.478892 +v 0.132605 0.565984 0.480189 +v 0.142506 0.565879 0.478461 +v 0.152623 0.565652 0.475136 +v 0.162535 0.565908 0.478397 +v 0.172589 0.566112 0.481633 +v 0.182611 0.566120 0.482519 +v 0.192613 0.566133 0.481890 +v 0.202640 0.566053 0.481429 +v 0.212665 0.566057 0.480916 +v 0.222658 0.566007 0.479607 +v 0.232706 0.566002 0.478556 +v 0.242637 0.565880 0.477895 +v 0.252665 0.565866 0.476960 +v 0.262630 0.565726 0.476356 +v 0.272664 0.565794 0.475651 +v 0.282687 0.565884 0.474896 +v 0.292668 0.565786 0.474556 +v 0.302635 0.565645 0.474172 +v 0.312642 0.565559 0.472970 +v 0.322610 0.565405 0.471544 +v 0.332641 0.565336 0.469317 +v 0.342731 0.565266 0.467175 +v 0.352644 0.564983 0.464469 +v 0.362687 0.564786 0.460989 +v 0.372643 0.836657 0.292417 +v -0.177418 1.319417 -0.035241 +v 0.326667 0.998468 0.043392 +v -0.177485 1.304647 -0.029713 +v -0.167731 1.304577 -0.032849 +v -0.237300 0.834517 0.248232 +v -0.617388 0.705427 0.094210 +v -0.454194 1.277987 -0.478786 +v 0.452500 0.560903 0.403005 +v 0.462376 0.560705 0.402456 +v 0.472545 0.560716 0.401494 +v 0.482322 0.560556 0.400794 +v 0.492202 0.560459 0.398291 +v -0.368436 1.243168 0.076964 +v -0.487437 0.899757 0.441940 +v 0.062387 0.863697 0.258487 +v 0.647055 0.779587 0.082232 +v 0.681145 0.681771 -0.107618 +v -0.607860 0.786407 0.053924 +v -0.317131 0.835517 0.280240 +v 0.664508 0.737147 -0.077537 +v -0.017523 1.483997 -0.158762 +v 0.054077 0.952467 -0.013349 +v -0.657220 0.936327 0.003255 +v 0.699810 0.655037 0.112176 +v 0.656178 0.651902 -0.167871 +v 0.672178 0.653292 0.192264 +v 0.172963 1.378428 -0.296897 +v 0.212766 0.905627 0.267445 +v 0.082523 0.891127 0.237942 +v -0.350954 1.219337 -0.325274 +v 0.666689 0.751997 -0.027835 +v 0.667275 0.695037 -0.127652 +v -0.371860 1.214458 -0.156484 +v -0.601575 0.852917 -0.076942 +v -0.398384 1.240077 0.022863 +v 0.284925 0.995587 0.085370 +v 0.327356 0.994567 0.100766 +v -0.140528 0.958607 -0.099827 +v 0.587195 0.838387 0.168365 +v 0.433676 0.966578 0.096884 +v 0.188086 0.974527 0.151300 +v 0.366273 0.992478 0.057860 +v 0.049282 0.930948 0.131322 +v -0.628664 0.651878 0.064640 +v 0.361169 0.994207 0.041726 +v -0.417561 1.246427 -0.115831 +v -0.030320 0.770617 -0.282194 +v -0.458938 1.243987 0.059383 +v -0.287594 1.206417 0.193580 +v -0.560005 0.742757 -0.105941 +v -0.655104 0.937558 0.233113 +v -0.447537 0.569332 0.326720 +v -0.437444 0.569542 0.329085 +v -0.025784 0.917427 -0.115976 +v -0.035333 0.917957 -0.119656 +v -0.407327 0.570989 0.347879 +v -0.397421 0.571399 0.353163 +v -0.387306 0.571666 0.356714 +v -0.377403 0.571862 0.359517 +v -0.367236 0.572130 0.362670 +v -0.357355 0.572251 0.364333 +v -0.347315 0.572397 0.365075 +v -0.337359 0.572306 0.363782 +v -0.327481 0.571923 0.360873 +v -0.317238 0.571577 0.357290 +v -0.307391 0.571631 0.357215 +v -0.297396 0.571734 0.358727 +v -0.287380 0.571869 0.359465 +v -0.277371 0.571851 0.359352 +v -0.267366 0.571934 0.360497 +v -0.257357 0.572003 0.361652 +v -0.247371 0.572084 0.362909 +v -0.237381 0.572099 0.363028 +v -0.227356 0.572124 0.362165 +v -0.217383 0.571971 0.360730 +v -0.207367 0.571757 0.358128 +v -0.197478 0.571427 0.354102 +v -0.187559 0.571013 0.348822 +v -0.177109 0.570613 0.342363 +v -0.167105 0.570249 0.337541 +v -0.157407 0.570001 0.335122 +v -0.147411 0.570131 0.336461 +v -0.137281 0.570277 0.338587 +v -0.127331 0.570585 0.342647 +v -0.117476 0.570838 0.346033 +v -0.107377 0.570708 0.344272 +v -0.097336 0.570653 0.342261 +v -0.087314 0.570978 0.342767 +v -0.077356 0.570901 0.345050 +v -0.067292 0.571436 0.349607 +v -0.057358 0.571235 0.350376 +v -0.047218 0.571375 0.349571 +v -0.037460 0.571214 0.348926 +v -0.027345 0.571383 0.353049 +v -0.017285 0.572221 0.364447 +v 0.458566 0.957907 0.049105 +v 0.449936 0.961957 0.045873 +v 0.441199 0.965727 0.042623 +v 0.432472 0.969527 0.039388 +v 0.424100 0.973957 0.036322 +v 0.406164 0.980637 0.029695 +v 0.397311 0.984167 0.026494 +v 0.466927 0.953427 0.052132 +v -0.454696 1.355487 -0.302897 +v 0.082757 0.578962 0.466450 +v 0.092607 0.579252 0.469280 +v 0.102681 0.579402 0.472579 +v 0.112579 0.579674 0.475380 +v 0.122661 0.579741 0.477401 +v 0.132629 0.579847 0.478772 +v 0.142497 0.579730 0.477295 +v 0.152673 0.579522 0.474690 +v 0.162637 0.579741 0.477429 +v 0.172613 0.579947 0.480081 +v 0.182626 0.579994 0.481153 +v 0.192620 0.580025 0.481312 +v 0.202634 0.580031 0.480479 +v 0.212663 0.579940 0.479371 +v 0.222733 0.579914 0.477534 +v 0.232638 0.579710 0.476467 +v 0.242724 0.579760 0.474948 +v 0.252575 0.579497 0.474641 +v 0.262653 0.579531 0.473070 +v 0.272675 0.579527 0.472075 +v 0.282676 0.579433 0.470799 +v 0.292609 0.579224 0.469175 +v 0.302696 0.579264 0.467280 +v 0.312700 0.579187 0.466015 +v 0.322664 0.579026 0.464592 +v 0.332736 0.579007 0.462458 +v 0.342597 0.578647 0.460679 +v 0.352666 0.578613 0.458567 +v 0.362625 0.578392 0.456030 +v 0.372578 0.578221 0.453519 +v 0.382502 0.578002 0.450886 +v 0.279503 0.577125 -0.431250 +v -0.197428 1.304447 -0.024968 +v 0.646024 0.765387 0.142331 +v 0.167099 1.348077 -0.266521 +v 0.337131 0.992687 0.104297 +v -0.507144 1.082038 0.391226 +v 0.452596 0.574655 0.397255 +v 0.462425 0.574422 0.396523 +v 0.472612 0.574348 0.397174 +v 0.482473 0.574403 0.397210 +v 0.492414 0.574402 0.395265 +v -0.436612 1.236187 0.183869 +v -0.497311 1.082258 0.391486 +v 0.072566 0.863637 0.263257 +v -0.427526 1.137978 0.338581 +v 0.627210 0.778107 -0.107805 +v -0.511952 1.320877 -0.338927 +v 0.162691 0.905688 0.256617 +v -0.197392 0.834317 0.243099 +v -0.042223 0.939327 -0.034087 +v -0.437379 0.927897 0.440559 +v 0.232646 0.919267 0.253527 +v 0.701005 0.655103 0.102166 +v 0.706507 0.655185 -0.047713 +v -0.627711 0.665439 0.084538 +v 0.692122 0.640384 0.162097 +v 0.620916 0.802327 0.152491 +v -0.492661 1.195347 0.270034 +v 0.527741 0.864007 -0.143295 +v -0.653704 0.843087 0.273633 +v -0.647576 1.087977 0.102305 +v 0.660664 0.737557 0.142179 +v -0.410523 0.590724 -0.259329 +v -0.543866 1.231977 0.073618 +v 0.490731 0.929277 0.146519 +v -0.130072 0.958228 -0.096017 +v 0.581180 0.847237 0.166098 +v 0.450201 0.957117 0.102986 +v -0.350982 1.213197 0.243829 +v 0.488406 0.939207 0.102842 +v 0.204862 0.963247 0.186557 +v 0.135594 0.970137 -0.041397 +v 0.331394 0.998297 0.030861 +v 0.341198 0.997067 0.034410 +v -0.409672 1.239848 -0.112383 +v -0.480945 1.242988 0.051643 +v 0.210052 0.689887 0.370715 +v -0.554878 0.742317 -0.115697 +v -0.598897 0.744927 0.004249 +v -0.457692 0.583296 0.324440 +v -0.447447 0.583618 0.327831 +v -0.437436 0.583716 0.329070 +v -0.427347 0.583930 0.332780 +v -0.417316 0.584433 0.338944 +v -0.605011 1.059227 -0.037427 +v -0.397485 0.585360 0.350802 +v -0.387410 0.585620 0.354428 +v -0.377326 0.585882 0.358022 +v -0.367254 0.586103 0.361531 +v -0.357356 0.586269 0.363242 +v -0.347375 0.586360 0.364538 +v -0.337374 0.586269 0.363260 +v -0.327377 0.586271 0.362382 +v -0.317371 0.586275 0.362852 +v -0.307362 0.586272 0.363297 +v -0.297377 0.586254 0.363183 +v -0.287363 0.586186 0.362220 +v -0.277468 0.586045 0.360326 +v -0.267374 0.585869 0.358088 +v -0.257395 0.585760 0.357563 +v -0.247389 0.585747 0.357550 +v -0.237371 0.585845 0.357137 +v -0.227378 0.585820 0.357023 +v -0.217352 0.585738 0.355836 +v -0.207481 0.585435 0.352723 +v -0.197141 0.585216 0.347429 +v -0.186960 0.584865 0.342862 +v -0.177008 0.584575 0.339025 +v -0.167219 0.584379 0.337329 +v -0.157326 0.584339 0.337015 +v -0.147362 0.584238 0.336221 +v -0.137464 0.584304 0.336992 +v -0.127375 0.584650 0.341647 +v -0.117319 0.584950 0.345172 +v -0.107218 0.585089 0.345963 +v -0.097371 0.585022 0.346691 +v -0.087270 0.585365 0.348409 +v -0.077325 0.585587 0.352715 +v -0.067311 0.585899 0.354596 +v -0.057336 0.585756 0.353305 +v -0.047353 0.585571 0.352487 +v -0.037220 0.585480 0.350921 +v -0.027326 0.585423 0.351638 +v -0.016854 0.585751 0.359005 +v 0.475253 0.948857 0.055193 +v 0.483544 0.944217 0.058268 +v 0.491819 0.939497 0.061311 +v 0.499887 0.934457 0.064366 +v 0.507758 0.928927 0.067243 +v 0.515696 0.923797 0.070300 +v 0.523447 0.918027 0.073155 +v 0.538319 0.905477 0.078730 +v 0.530852 0.911547 0.075884 +v 0.082752 0.592557 0.460548 +v 0.092758 0.592850 0.465270 +v 0.102750 0.593061 0.468820 +v 0.112648 0.593302 0.471447 +v 0.122760 0.593430 0.473600 +v 0.132613 0.593639 0.475342 +v 0.142741 0.593445 0.475794 +v 0.152680 0.593445 0.474637 +v 0.162604 0.593627 0.475346 +v 0.172621 0.593758 0.476844 +v 0.182604 0.593794 0.477799 +v 0.192643 0.593877 0.478065 +v 0.202639 0.593901 0.478147 +v 0.212640 0.593745 0.477656 +v 0.222685 0.593727 0.475758 +v 0.232656 0.593594 0.474347 +v 0.242674 0.593504 0.473039 +v 0.252640 0.593426 0.471792 +v 0.262656 0.593341 0.470640 +v 0.272647 0.593241 0.469251 +v 0.282681 0.593184 0.467210 +v 0.292710 0.593076 0.464937 +v 0.302570 0.592847 0.463089 +v 0.312686 0.592791 0.461041 +v 0.322678 0.592662 0.458639 +v 0.332603 0.592350 0.455887 +v 0.342522 0.592037 0.453237 +v 0.352573 0.591995 0.451024 +v 0.362643 0.591965 0.448871 +v 0.372579 0.591775 0.447426 +v 0.382629 0.591739 0.445235 +v 0.392593 0.591485 0.441574 +v 0.263306 0.996827 0.048775 +v -0.437329 0.857507 0.438393 +v -0.447329 0.857407 0.440003 +v -0.457391 0.857468 0.439837 +v -0.467410 0.857477 0.438504 +v 0.452511 0.588358 0.392264 +v 0.462526 0.588319 0.392058 +v 0.472489 0.588211 0.392676 +v 0.482518 0.588308 0.392885 +v 0.492493 0.588258 0.391808 +v -0.147378 0.834537 0.248191 +v 0.244811 0.881767 -0.221387 +v 0.032248 0.862997 0.242104 +v -0.437497 1.138017 0.342323 +v -0.332811 1.237128 0.133254 +v -0.398188 1.319567 -0.669324 +v 0.627693 0.735047 -0.167518 +v 0.688417 0.696717 0.072179 +v 0.122658 0.905138 0.241499 +v -0.427309 0.927857 0.437103 +v 0.222677 0.919517 0.253746 +v 0.702814 0.655005 0.092062 +v 0.710291 0.655466 -0.007823 +v 0.175016 1.454397 -0.366781 +v 0.152624 0.905787 0.253024 +v -0.217347 1.245947 0.006304 +v -0.437732 1.123738 0.353283 +v 0.162090 1.332797 -0.266963 +v -0.642226 0.842587 0.213713 +v -0.211030 0.941407 -0.160448 +v 0.432502 0.821797 0.286625 +v 0.648915 0.779227 0.062175 +v -0.054080 0.889767 0.183469 +v 0.482520 0.934117 0.143470 +v 0.170326 0.982607 0.014688 +v 0.561748 0.871507 0.158745 +v 0.441626 0.961327 0.099839 +v -0.327047 1.196827 0.252893 +v 0.504449 0.928857 0.108797 +v -0.439913 1.245537 0.109701 +v 0.123134 0.966177 -0.045995 +v 0.148147 0.973857 -0.036758 +v 0.321087 0.998997 0.027110 +v -0.380334 1.213788 -0.101100 +v -0.402586 1.232837 -0.109710 +v -0.102465 0.897677 0.195611 +v -0.324334 1.239137 0.049229 +v -0.530838 0.874377 -0.139452 +v -0.666472 0.855737 0.073544 +v -0.457680 0.597497 0.324430 +v -0.447598 0.597779 0.328191 +v -0.437716 0.597790 0.329877 +v -0.427406 0.598047 0.331550 +v -0.417596 0.598304 0.334545 +v -0.408264 0.597491 0.340474 +v -0.397340 0.599141 0.346695 +v -0.387319 0.599426 0.350439 +v -0.377256 0.599658 0.354081 +v -0.367425 0.600030 0.358308 +v -0.357399 0.600217 0.360851 +v -0.347289 0.600289 0.362699 +v -0.337370 0.600374 0.363223 +v -0.327358 0.600465 0.364376 +v -0.317373 0.600475 0.364519 +v -0.307385 0.600478 0.364519 +v -0.297385 0.600452 0.364385 +v -0.287431 0.600355 0.363041 +v -0.277444 0.600061 0.359350 +v -0.267426 0.599726 0.355286 +v -0.257377 0.599598 0.352110 +v -0.247378 0.599581 0.352044 +v -0.237393 0.599668 0.352897 +v -0.227321 0.599644 0.352599 +v -0.217137 0.599541 0.350820 +v -0.207195 0.599354 0.348723 +v -0.197190 0.599068 0.344792 +v -0.187133 0.598894 0.342394 +v -0.177259 0.598767 0.340824 +v -0.167202 0.599052 0.339417 +v -0.157343 0.598489 0.337133 +v -0.147376 0.598334 0.335326 +v -0.137370 0.598392 0.336491 +v -0.127393 0.598690 0.340412 +v -0.117160 0.599057 0.344853 +v -0.107304 0.599265 0.347807 +v -0.097157 0.599589 0.350911 +v -0.087330 0.599755 0.354037 +v -0.077285 0.599971 0.356187 +v -0.067292 0.600027 0.355699 +v -0.057371 0.599813 0.353546 +v -0.047364 0.599676 0.352776 +v -0.037366 0.599540 0.351698 +v -0.027310 0.599565 0.351468 +v -0.017305 0.599742 0.354317 +v -0.007708 0.600259 0.359858 +v 0.601381 0.841587 0.102531 +v 0.594850 0.849457 0.100014 +v 0.588255 0.857267 0.097507 +v 0.581430 0.864387 0.094823 +v 0.574524 0.871917 0.092280 +v 0.560189 0.885497 0.086846 +v 0.545647 0.898837 0.081459 +v 0.552945 0.892217 0.084169 +v 0.567403 0.878747 0.089587 +v 0.092828 0.606276 0.457985 +v 0.103062 0.606724 0.463161 +v 0.112654 0.606984 0.465590 +v 0.122647 0.606867 0.466618 +v 0.132642 0.607145 0.469125 +v 0.142648 0.607304 0.471489 +v 0.152595 0.607414 0.471753 +v 0.162611 0.607387 0.471719 +v 0.172590 0.607473 0.471913 +v 0.182656 0.607409 0.472778 +v 0.192606 0.607580 0.473230 +v 0.202609 0.607477 0.473948 +v 0.212637 0.607544 0.473146 +v 0.222647 0.607490 0.471973 +v 0.232660 0.607390 0.470725 +v 0.242662 0.607392 0.469743 +v 0.252590 0.607140 0.469054 +v 0.262673 0.607145 0.467123 +v 0.272655 0.607037 0.465780 +v 0.282690 0.606988 0.463667 +v 0.292665 0.606833 0.462209 +v 0.302749 0.606792 0.460075 +v 0.312627 0.606494 0.457290 +v 0.322585 0.606187 0.453469 +v 0.332585 0.605973 0.448869 +v 0.342504 0.605503 0.444810 +v 0.352525 0.605377 0.442513 +v 0.362509 0.605206 0.441149 +v 0.372528 0.605112 0.439923 +v 0.382565 0.605173 0.437855 +v 0.392577 0.605017 0.434361 +v 0.274237 0.997297 0.052781 +v 0.605488 0.811057 0.175274 +v 0.086962 0.905957 0.218687 +v -0.629289 1.061077 0.232500 +v -0.429462 1.244977 0.113415 +v 0.452443 0.602127 0.388236 +v 0.462556 0.602148 0.388356 +v 0.472576 0.602128 0.389704 +v 0.482442 0.602117 0.389963 +v 0.492365 0.602085 0.388926 +v 0.458504 0.952507 0.106054 +v -0.487498 1.040348 0.416852 +v 0.042255 0.863307 0.248429 +v -0.396929 1.136657 0.320622 +v -0.464584 1.403957 -0.579902 +v 0.262605 0.823797 0.325732 +v 0.434128 0.891667 0.241062 +v -0.517208 1.054287 0.408441 +v -0.226317 1.129538 0.004362 +v -0.095369 0.944207 -0.112680 +v 0.192779 0.919267 0.249846 +v 0.701425 0.668989 -0.047707 +v 0.710248 0.655425 -0.017785 +v -0.267581 1.215887 0.055576 +v 0.194434 0.987487 0.023510 +v -0.507272 1.068427 0.400197 +v -0.467433 1.124048 0.359870 +v 0.492359 0.935257 0.118599 +v -0.043680 1.364527 -0.154934 +v -0.109837 0.955427 -0.088356 +v -0.275491 1.218807 0.081577 +v -0.263883 1.294297 -0.030712 +v -0.408056 1.244967 0.120921 +v 0.474218 0.938658 0.140379 +v 0.182356 0.985147 0.019095 +v -0.623978 0.611377 0.124691 +v 0.627866 0.782507 0.169347 +v -0.585304 1.210327 0.148596 +v 0.512083 0.923027 0.111679 +v 0.356479 0.948177 0.211956 +v 0.637847 0.772587 0.158827 +v 0.160723 0.977418 -0.032087 +v 0.624947 0.800657 0.139681 +v -0.601196 0.609140 -0.055265 +v -0.657138 0.937768 0.273137 +v -0.434293 1.244738 0.126219 +v -0.494125 1.225897 -0.069585 +v 0.085282 1.552447 -0.272407 +v -0.648957 0.842847 0.233695 +v -0.457343 0.610593 0.323920 +v -0.447511 0.611994 0.327991 +v -0.437534 0.612141 0.330672 +v -0.427308 0.612261 0.332553 +v -0.417548 0.612363 0.333370 +v -0.407363 0.612565 0.336545 +v -0.397515 0.612923 0.340743 +v -0.387418 0.613244 0.345605 +v -0.377239 0.613449 0.350250 +v -0.367404 0.613859 0.354450 +v -0.357127 0.613967 0.358638 +v -0.347286 0.614172 0.360313 +v -0.337353 0.614313 0.361674 +v -0.327388 0.614460 0.362270 +v -0.317365 0.614486 0.363224 +v -0.307352 0.614537 0.362457 +v -0.297388 0.614364 0.361813 +v -0.287330 0.614271 0.359711 +v -0.277351 0.614008 0.355896 +v -0.267363 0.613713 0.352043 +v -0.257377 0.613566 0.349853 +v -0.247386 0.613603 0.350767 +v -0.237399 0.613784 0.353399 +v -0.227368 0.613926 0.355551 +v -0.217273 0.613711 0.352730 +v -0.207248 0.613405 0.348586 +v -0.197256 0.613234 0.345882 +v -0.187250 0.613139 0.344564 +v -0.177408 0.612951 0.341619 +v -0.167340 0.612664 0.337917 +v -0.157481 0.612194 0.335431 +v -0.147401 0.612401 0.334121 +v -0.137399 0.612476 0.335452 +v -0.127494 0.612766 0.339394 +v -0.117069 0.613124 0.344676 +v -0.107263 0.613453 0.348985 +v -0.097212 0.613715 0.352527 +v -0.087176 0.613889 0.354708 +v -0.077185 0.613999 0.355652 +v -0.067308 0.613951 0.355079 +v -0.057328 0.613985 0.354845 +v -0.047326 0.614025 0.354817 +v -0.037321 0.613947 0.353580 +v -0.027329 0.613880 0.353979 +v -0.017307 0.613950 0.355384 +v -0.007384 0.614134 0.358172 +v 0.001317 0.614530 0.362259 +v 0.126050 0.974407 0.056282 +v 0.607886 0.833157 0.104904 +v 0.614177 0.824427 0.107227 +v 0.620232 0.815437 0.109455 +v 0.632200 0.796697 0.113780 +v 0.643962 0.777727 0.118098 +v 0.113484 0.970798 0.051741 +v 0.638118 0.786907 0.115873 +v 0.626315 0.805817 0.111590 +v 0.102602 0.620201 0.452459 +v 0.112769 0.620109 0.456807 +v 0.122676 0.620297 0.457056 +v 0.132178 0.620617 0.457991 +v 0.142602 0.620834 0.462170 +v 0.152672 0.620740 0.465262 +v 0.162641 0.620926 0.465568 +v 0.172640 0.620843 0.465460 +v 0.182637 0.620903 0.465525 +v 0.192623 0.620954 0.466716 +v 0.202617 0.621163 0.467032 +v 0.212610 0.621081 0.466914 +v 0.222625 0.620945 0.466641 +v 0.232615 0.620851 0.465400 +v 0.242621 0.620925 0.464521 +v 0.252603 0.620753 0.464132 +v 0.262577 0.620609 0.462772 +v 0.272583 0.620590 0.461684 +v 0.282618 0.620628 0.460720 +v 0.292597 0.620519 0.458379 +v 0.302742 0.620512 0.455254 +v 0.312606 0.620104 0.451261 +v 0.322572 0.619730 0.446319 +v 0.332601 0.619489 0.441580 +v 0.342411 0.619140 0.437693 +v 0.352412 0.618719 0.434975 +v 0.362514 0.618763 0.432892 +v 0.372482 0.618575 0.431532 +v 0.382432 0.618358 0.429027 +v 0.392468 0.618272 0.425618 +v 0.402311 0.617901 0.421811 +v 0.652082 0.765587 0.112250 +v 0.674260 0.738227 0.032173 +v -0.237354 1.231567 0.017712 +v 0.442347 0.616426 0.392071 +v 0.452323 0.616125 0.386835 +v 0.462491 0.616061 0.386715 +v 0.472470 0.616033 0.387456 +v 0.482463 0.616074 0.387658 +v 0.492349 0.615880 0.385199 +v -0.457411 0.871687 0.444869 +v -0.057365 0.861757 0.220320 +v 0.052369 0.863397 0.253356 +v -0.467490 0.885807 0.446138 +v -0.350531 1.438847 -0.675536 +v 0.175902 1.363117 -0.296696 +v 0.319184 0.958968 0.198563 +v -0.526568 1.054247 0.406314 +v -0.037076 1.439377 -0.131854 +v -0.429576 1.238117 -0.061214 +v 0.202716 0.919567 0.251318 +v 0.703089 0.669212 -0.037795 +v 0.707959 0.655351 -0.037763 +v 0.021793 0.930507 0.106723 +v -0.467300 0.913947 0.445953 +v -0.517036 1.067937 0.399548 +v -0.457522 1.123918 0.358487 +v -0.061846 0.895267 0.180451 +v -0.319203 1.164258 0.256069 +v -0.547025 0.998188 0.427805 +v -0.537397 0.956227 0.439379 +v -0.464757 1.445997 -0.620357 +v -0.417882 1.246177 0.117387 +v 0.498435 0.923487 0.149382 +v 0.158937 0.980597 0.010507 +v -0.117003 0.953127 -0.105770 +v 0.622029 0.792337 0.167152 +v -0.424251 1.242207 0.158984 +v 0.496323 0.933837 0.105767 +v 0.480128 0.943888 0.099798 +v 0.632364 0.782497 0.156708 +v 0.172679 0.980317 -0.027688 +v 0.630763 0.790787 0.141794 +v -0.395124 1.226647 -0.106869 +v -0.387949 1.219767 -0.104080 +v 0.373620 0.928187 0.232541 +v -0.569619 1.223297 0.064798 +v 0.168407 0.668113 0.416316 +v 0.380927 0.922027 0.235765 +v -0.191207 0.738287 -0.291272 +v -0.447664 0.626074 0.327056 +v -0.437322 0.626320 0.331334 +v -0.427225 0.626466 0.333474 +v -0.417343 0.626498 0.333874 +v -0.407321 0.626475 0.333835 +v -0.397497 0.626719 0.335714 +v -0.387254 0.626886 0.340114 +v -0.377551 0.627421 0.344646 +v -0.367420 0.627646 0.349403 +v -0.357215 0.627797 0.353952 +v -0.347250 0.627903 0.356353 +v -0.337258 0.627927 0.357435 +v -0.327375 0.628204 0.358100 +v -0.317364 0.628075 0.358795 +v -0.307356 0.628266 0.358266 +v -0.297422 0.628093 0.357829 +v -0.287458 0.627887 0.355159 +v -0.277400 0.627716 0.351618 +v -0.267371 0.627550 0.349062 +v -0.257368 0.627614 0.349252 +v -0.247362 0.627775 0.351639 +v -0.237287 0.628092 0.355892 +v -0.227370 0.628230 0.357959 +v -0.217411 0.628154 0.356687 +v -0.207150 0.627604 0.351164 +v -0.196919 0.627455 0.346884 +v -0.187355 0.627270 0.344321 +v -0.177049 0.626940 0.340027 +v -0.167255 0.626755 0.337016 +v -0.157256 0.626587 0.333760 +v -0.147399 0.626412 0.332013 +v -0.137444 0.626505 0.333208 +v -0.127315 0.626776 0.337630 +v -0.117191 0.627056 0.342431 +v -0.107023 0.627350 0.347059 +v -0.097194 0.627564 0.349958 +v -0.087228 0.627786 0.352518 +v -0.077364 0.627977 0.354330 +v -0.067334 0.628036 0.355386 +v -0.057253 0.628136 0.355806 +v -0.047339 0.628158 0.356594 +v -0.037349 0.628347 0.359048 +v -0.027302 0.628535 0.361064 +v -0.017363 0.628521 0.361558 +v -0.007273 0.628437 0.361498 +v 0.002544 0.628552 0.357149 +v 0.012612 0.627372 0.356907 +v -0.397724 1.228558 -0.064177 +v -0.187635 1.001107 0.030010 +v -0.048192 0.939797 0.081327 +v -0.030188 0.933207 0.087935 +v 0.134005 0.961667 0.146548 +v 0.272723 0.961177 0.196409 +v 0.338634 0.943577 0.220264 +v 0.319968 0.948927 0.213506 +v 0.282093 0.958678 0.199907 +v 0.112590 0.633800 0.444170 +v 0.122740 0.633438 0.446087 +v 0.132700 0.633550 0.445060 +v 0.142416 0.634267 0.446841 +v 0.152702 0.633679 0.453310 +v 0.162666 0.634186 0.455796 +v 0.172700 0.633956 0.456656 +v 0.182619 0.634412 0.456086 +v 0.192654 0.634228 0.458073 +v 0.202608 0.634562 0.458456 +v 0.212631 0.634507 0.458416 +v 0.222617 0.634318 0.458162 +v 0.232611 0.633997 0.457679 +v 0.242623 0.634186 0.456846 +v 0.252616 0.634157 0.456779 +v 0.262599 0.634183 0.455723 +v 0.272503 0.633906 0.455302 +v 0.282404 0.634500 0.452937 +v 0.292557 0.633955 0.450992 +v 0.302393 0.633507 0.448188 +v 0.312417 0.633318 0.443516 +v 0.322549 0.633265 0.439074 +v 0.332464 0.632904 0.435278 +v 0.342541 0.632767 0.430680 +v 0.352455 0.632354 0.426831 +v 0.362450 0.632116 0.423198 +v 0.372368 0.631665 0.420471 +v 0.382294 0.631305 0.417793 +v 0.392406 0.631485 0.414660 +v 0.402199 0.631057 0.411888 +v -0.309561 1.228927 0.156155 +v 0.515433 0.917847 0.127179 +v 0.525314 0.904408 0.145148 +v 0.442231 0.630180 0.389099 +v 0.452486 0.630101 0.385677 +v 0.462537 0.630022 0.384361 +v 0.472440 0.629953 0.384907 +v 0.482452 0.629925 0.384103 +v 0.492354 0.629698 0.381484 +v -0.067344 0.862087 0.221982 +v 0.222740 0.864837 0.300420 +v -0.477371 0.885848 0.444161 +v -0.604913 0.745417 0.044167 +v -0.414138 0.431677 0.293827 +v -0.057081 1.439057 -0.118647 +v 0.362568 0.892118 0.269212 +v 0.650777 0.750677 -0.087613 +v 0.037652 0.904317 0.186395 +v 0.212724 0.919347 0.253614 +v 0.690005 0.668649 0.132244 +v 0.625215 0.649656 -0.207558 +v -0.405837 1.233577 0.194693 +v -0.447353 0.914027 0.444654 +v -0.527028 1.068137 0.396361 +v -0.447725 1.123537 0.356734 +v 0.357336 0.993107 0.083106 +v 0.631076 0.702417 0.226918 +v -0.527286 0.998527 0.435293 +v 0.640795 0.736047 -0.127707 +v 0.642107 0.778677 -0.067705 +v 0.218029 0.660262 0.433939 +v 0.506045 0.917617 0.152210 +v 0.146294 0.977277 0.005881 +v -0.107151 0.951217 -0.102011 +v 0.592463 0.839527 0.156085 +v 0.011259 0.905817 0.162139 +v -0.504100 1.226107 -0.043898 +v 0.463147 0.952407 0.093505 +v 0.626676 0.792447 0.154606 +v 0.184719 0.982907 -0.023262 +v 0.379734 0.988917 0.048515 +v 0.388984 0.986107 0.051921 +v 0.397751 0.982457 0.055142 +v 0.406877 0.979297 0.058556 +v 0.415269 0.975018 0.061614 +v -0.109251 0.955317 0.073791 +v -0.257716 1.180357 0.103478 +v -0.600823 1.031247 -0.066777 +v -0.447657 0.640115 0.324470 +v -0.437427 0.640339 0.329130 +v -0.427357 0.640470 0.331423 +v -0.417357 0.640571 0.332667 +v -0.407275 0.640489 0.332336 +v -0.397391 0.640611 0.332874 +v -0.387415 0.640798 0.335486 +v -0.377196 0.640965 0.339918 +v -0.367437 0.641377 0.343130 +v -0.357160 0.641362 0.347359 +v -0.347339 0.641656 0.349124 +v -0.337307 0.641695 0.350299 +v -0.327347 0.641740 0.351478 +v -0.317379 0.641700 0.351372 +v -0.307385 0.641671 0.350195 +v -0.297377 0.641674 0.349122 +v -0.287360 0.641682 0.347140 +v -0.277373 0.641519 0.346615 +v -0.267363 0.641531 0.346670 +v -0.257269 0.641488 0.347340 +v -0.247337 0.641794 0.350373 +v -0.237352 0.642062 0.354253 +v -0.227379 0.642124 0.355346 +v -0.217284 0.642200 0.355014 +v -0.207063 0.641920 0.350465 +v -0.196887 0.641618 0.345478 +v -0.187225 0.641296 0.342273 +v -0.177077 0.641102 0.338967 +v -0.167268 0.640903 0.337107 +v -0.157194 0.640626 0.333771 +v -0.147370 0.640537 0.331873 +v -0.137328 0.640548 0.332444 +v -0.127278 0.640677 0.334978 +v -0.117230 0.640943 0.338764 +v -0.107274 0.641213 0.342643 +v -0.097139 0.641323 0.345953 +v -0.087115 0.641489 0.348426 +v -0.077274 0.641829 0.351433 +v -0.067315 0.642061 0.354179 +v -0.057341 0.642237 0.356715 +v -0.047306 0.642323 0.358616 +v -0.037339 0.642443 0.360065 +v -0.027359 0.642546 0.360420 +v -0.017401 0.642333 0.358625 +v -0.007382 0.641999 0.353758 +v 0.002618 0.641671 0.348204 +v 0.012724 0.641668 0.348861 +v 0.022567 0.642056 0.353282 +v 0.382220 0.936007 0.221391 +v 0.122688 0.923527 0.216069 +v -0.036121 0.930977 0.100569 +v 0.306498 0.669570 0.405632 +v -0.627394 1.033437 0.212596 +v 0.265343 0.659357 0.435712 +v 0.337093 0.964037 0.190678 +v 0.103045 0.645458 0.423168 +v 0.113921 0.646287 0.428252 +v 0.122867 0.646177 0.432616 +v 0.132916 0.646119 0.433688 +v 0.142710 0.646759 0.433030 +v 0.152814 0.647016 0.436642 +v 0.162839 0.647069 0.442383 +v 0.172714 0.647332 0.444853 +v 0.182654 0.647566 0.445073 +v 0.192675 0.647317 0.445950 +v 0.202678 0.647424 0.447160 +v 0.212645 0.647598 0.447352 +v 0.222645 0.647446 0.447192 +v 0.232623 0.647693 0.446322 +v 0.242612 0.647411 0.447128 +v 0.252602 0.647628 0.447348 +v 0.262573 0.647452 0.447169 +v 0.272485 0.647296 0.445833 +v 0.282583 0.647389 0.442522 +v 0.292330 0.646723 0.440799 +v 0.302366 0.646696 0.437423 +v 0.312450 0.646676 0.434001 +v 0.322289 0.646220 0.431244 +v 0.332291 0.646010 0.426575 +v 0.342453 0.645975 0.420892 +v 0.352361 0.645463 0.415792 +v 0.362478 0.645311 0.411110 +v 0.372331 0.644871 0.409401 +v 0.382481 0.645141 0.406327 +v 0.392292 0.644708 0.404588 +v 0.402225 0.644585 0.400998 +v 0.412265 0.644529 0.396528 +v 0.422329 0.644418 0.391820 +v 0.432534 0.644402 0.388491 +v 0.442528 0.644232 0.385864 +v 0.452555 0.644080 0.383351 +v 0.462432 0.643878 0.382486 +v 0.472466 0.643814 0.381497 +v 0.482369 0.643661 0.380160 +v 0.492476 0.643530 0.376871 +v -0.077355 0.861957 0.223078 +v 0.232688 0.865037 0.300693 +v -0.487577 0.885668 0.441095 +v -0.067372 0.875177 0.209804 +v -0.477269 1.165388 0.319143 +v -0.177354 0.888387 0.186961 +v 0.352605 0.892267 0.270647 +v -0.626213 0.813847 0.127668 +v 0.306980 0.998597 0.064773 +v 0.540252 0.891908 0.150708 +v -0.146665 0.932817 -0.172169 +v -0.466791 1.168157 -0.387524 +v 0.217955 0.991468 0.032141 +v -0.396133 0.478014 0.329275 +v -0.536969 1.068107 0.391696 +v 0.635303 0.778637 -0.087040 +v 0.224659 0.992897 0.048945 +v 0.681616 0.724417 -0.037819 +v -0.517251 0.998437 0.437325 +v -0.653648 0.843057 0.263642 +v -0.007493 1.496937 -0.176886 +v -0.190735 0.609359 -0.307457 +v -0.431681 0.818507 -0.181092 +v -0.404554 1.244727 0.078633 +v 0.513324 0.910977 0.154943 +v 0.084041 0.959868 -0.016902 +v -0.097585 0.949357 -0.098754 +v 0.586332 0.848287 0.153747 +v -0.150509 0.971607 0.014363 +v 0.471799 0.948477 0.096717 +v 0.064584 0.928977 0.151588 +v 0.196123 0.984668 -0.019036 +v 0.208789 0.987657 -0.014333 +v -0.038001 0.921977 -0.105934 +v -0.047693 0.923857 -0.109697 +v -0.665357 0.964187 0.053039 +v -0.616432 0.692057 0.114287 +v 0.424147 0.971538 0.064860 +v 0.013728 0.923907 0.118538 +v -0.418843 1.243638 0.146310 +v -0.447590 0.654009 0.320498 +v -0.437712 0.654372 0.324671 +v -0.426751 0.654480 0.327813 +v -0.417437 0.654530 0.329227 +v -0.407396 0.654582 0.330297 +v -0.397462 0.654643 0.330587 +v -0.387507 0.654768 0.332056 +v -0.377278 0.654836 0.335000 +v -0.367393 0.655011 0.336681 +v -0.357427 0.655252 0.339370 +v -0.347356 0.655322 0.341629 +v -0.337352 0.655367 0.342764 +v -0.327347 0.655359 0.342784 +v -0.317417 0.655585 0.342437 +v -0.307373 0.655403 0.341829 +v -0.297382 0.655441 0.342076 +v -0.287384 0.655408 0.342918 +v -0.277385 0.655483 0.343123 +v -0.267369 0.655403 0.342887 +v -0.257300 0.655393 0.343793 +v -0.247341 0.655707 0.347784 +v -0.237351 0.655962 0.350586 +v -0.227364 0.656072 0.350936 +v -0.217375 0.655950 0.350546 +v -0.207434 0.655606 0.346741 +v -0.197323 0.655417 0.341952 +v -0.187418 0.655228 0.340215 +v -0.177211 0.655224 0.338663 +v -0.167493 0.654901 0.336374 +v -0.157347 0.654762 0.332980 +v -0.147402 0.654596 0.331198 +v -0.137374 0.654602 0.330425 +v -0.127460 0.654779 0.331999 +v -0.117514 0.654994 0.334637 +v -0.107292 0.655006 0.337591 +v -0.097153 0.655087 0.340990 +v -0.087089 0.655224 0.343393 +v -0.077138 0.655516 0.347230 +v -0.067586 0.656121 0.351064 +v -0.057266 0.656069 0.353927 +v -0.047337 0.656237 0.355399 +v -0.037365 0.656218 0.356284 +v -0.027426 0.656031 0.355606 +v -0.017403 0.655847 0.351090 +v -0.007366 0.655611 0.346383 +v 0.002662 0.655738 0.347753 +v 0.012672 0.656009 0.351612 +v 0.022781 0.656400 0.355133 +v 0.032784 0.656382 0.358739 +v -0.018577 0.923617 0.107037 +v 0.715314 0.389797 0.143700 +v -0.015030 0.907127 0.137869 +v 0.720728 0.380124 0.145189 +v -0.278926 1.223747 0.065778 +v 0.779401 0.369154 0.167253 +v 0.728666 0.374267 0.148888 +v 0.112621 0.659363 0.399854 +v 0.691532 0.583522 -0.157706 +v -0.664217 0.897317 0.283358 +v -0.677014 0.896647 0.123363 +v -0.225900 1.098737 0.004485 +v -0.410908 1.348077 -0.639574 +v 0.172771 0.660240 0.429209 +v 0.182743 0.660315 0.431550 +v 0.192706 0.660223 0.431473 +v 0.202674 0.660456 0.432767 +v 0.212674 0.660317 0.433794 +v -0.355565 1.218607 -0.395534 +v -0.355516 1.312987 -0.525422 +v 0.242625 0.660175 0.434805 +v 0.252581 0.660254 0.434869 +v 0.262487 0.660281 0.434864 +v 0.272342 0.659876 0.433426 +v 0.282178 0.659256 0.429596 +v 0.292305 0.659522 0.425294 +v 0.302246 0.659425 0.422909 +v 0.312249 0.659179 0.420479 +v 0.322099 0.658647 0.417731 +v 0.332402 0.658985 0.409847 +v 0.342447 0.658711 0.404923 +v 0.352488 0.658765 0.402591 +v 0.362492 0.658579 0.401034 +v 0.372534 0.658769 0.398963 +v 0.382405 0.658357 0.398354 +v 0.392359 0.658521 0.396153 +v 0.402405 0.658550 0.392973 +v 0.412298 0.658342 0.390206 +v 0.422292 0.658199 0.387613 +v 0.432300 0.658151 0.385080 +v 0.442428 0.657991 0.382763 +v 0.452474 0.657889 0.381383 +v 0.462400 0.657741 0.379937 +v 0.472357 0.657603 0.378655 +v 0.482265 0.657401 0.376210 +v 0.492277 0.657152 0.372639 +v -0.087347 0.862057 0.223237 +v 0.242669 0.865057 0.300719 +v -0.498431 0.885997 0.436562 +v -0.057357 0.875057 0.206036 +v -0.487219 1.165507 0.316751 +v -0.166207 0.888878 0.188831 +v 0.342572 0.891908 0.271297 +v -0.449463 1.277917 -0.498801 +v 0.301736 0.997647 0.077147 +v 0.547637 0.885377 0.153479 +v -0.382345 1.007777 -0.172576 +v -0.257446 1.275497 -0.007554 +v 0.398061 0.977807 0.112342 +v 0.638436 0.721827 -0.157792 +v 0.243134 0.993027 -0.001653 +v -0.507150 1.096017 0.381218 +v -0.156954 0.965658 -0.076323 +v 0.637137 0.764837 0.172406 +v -0.497359 0.998707 0.436971 +v -0.479234 1.238897 -0.093135 +v 0.003096 1.498567 -0.174809 +v -0.461313 0.817287 -0.165120 +v 0.296279 0.979908 0.161494 +v 0.520486 0.904167 0.157616 +v 0.071449 0.956317 -0.021506 +v 0.453311 0.951377 0.118451 +v 0.579715 0.856087 0.151280 +v -0.196886 1.008568 0.099935 +v 0.454824 0.957038 0.090422 +v 0.077931 0.933328 0.156036 +v -0.373615 1.236007 0.176857 +v 0.023887 0.909368 0.166504 +v -0.517982 1.218577 -0.048700 +v -0.168002 0.978747 0.007846 +v -0.191410 0.998497 0.102130 +v -0.514325 1.238617 0.069184 +v -0.474116 1.194597 -0.408296 +v 0.433271 0.968427 0.068209 +v 0.024669 0.924597 0.122520 +v -0.444773 1.353537 -0.299372 +v -0.437622 0.668177 0.319371 +v -0.427319 0.668119 0.322439 +v -0.417386 0.668382 0.325207 +v -0.407299 0.668495 0.327480 +v -0.397539 0.668674 0.328287 +v -0.387493 0.668813 0.330717 +v -0.377255 0.668874 0.333592 +v -0.367495 0.668945 0.333198 +v -0.357367 0.669040 0.335298 +v -0.347370 0.669246 0.337882 +v -0.337274 0.669162 0.338533 +v -0.327423 0.669335 0.338289 +v -0.317403 0.669383 0.339491 +v -0.307376 0.669402 0.340400 +v -0.297372 0.669583 0.342167 +v -0.287419 0.669600 0.343363 +v -0.277152 0.669561 0.340069 +v -0.267397 0.669274 0.338094 +v -0.257328 0.669226 0.339890 +v -0.247270 0.669441 0.343645 +v -0.237371 0.669765 0.345628 +v -0.227360 0.669920 0.345971 +v -0.217362 0.669814 0.345678 +v -0.207388 0.669575 0.341872 +v -0.197342 0.669275 0.338074 +v -0.187309 0.669266 0.337062 +v -0.177341 0.669201 0.336849 +v -0.167241 0.669128 0.334870 +v -0.157424 0.668823 0.332435 +v -0.147366 0.668645 0.329100 +v -0.137378 0.668544 0.327735 +v -0.127492 0.668710 0.328270 +v -0.117462 0.668776 0.330400 +v -0.107433 0.669100 0.334349 +v -0.097355 0.669212 0.337842 +v -0.087249 0.669138 0.338753 +v -0.077302 0.669373 0.341439 +v -0.067219 0.669605 0.346276 +v -0.057420 0.670003 0.349336 +v -0.047285 0.669888 0.351213 +v -0.037361 0.669968 0.350315 +v -0.027483 0.669782 0.347620 +v -0.017311 0.669508 0.344651 +v -0.007429 0.669893 0.346122 +v 0.002662 0.670057 0.350400 +v 0.012769 0.670314 0.354980 +v 0.022781 0.670442 0.357421 +v 0.032617 0.670611 0.358307 +v 0.042671 0.670435 0.357549 +v 0.052629 0.670362 0.355470 +v 0.062636 0.670294 0.355340 +v -0.202647 1.017748 0.097627 +v -0.576922 1.216407 0.136330 +v 0.346367 0.961157 0.193910 +v -0.387407 1.240947 0.026752 +v 0.770641 0.373130 0.164303 +v -0.142057 0.903517 0.181057 +v 0.132971 0.671451 0.385819 +v -0.586126 0.799707 0.184351 +v -0.608167 0.907717 -0.096603 +v -0.666878 0.896677 0.173492 +v 0.709266 0.655450 -0.027780 +v -0.375316 1.376767 -0.697257 +v -0.608180 0.705217 0.124177 +v -0.514265 1.292837 -0.318819 +v -0.527289 0.793947 0.363531 +v -0.481364 0.372404 0.155468 +v 0.161022 1.336067 -0.287577 +v -0.365111 1.267107 -0.255359 +v -0.355561 1.266197 -0.285311 +v 0.175482 1.408747 -0.365153 +v 0.716212 0.585613 0.102230 +v -0.245574 1.144567 0.054603 +v -0.629249 0.611225 0.054868 +v 0.302176 0.671702 0.403693 +v 0.312439 0.671711 0.397640 +v 0.322604 0.672273 0.393206 +v 0.332647 0.671885 0.391572 +v 0.342672 0.671895 0.391366 +v 0.352689 0.672084 0.392404 +v 0.362655 0.672523 0.392996 +v 0.372823 0.671939 0.393772 +v 0.382532 0.672554 0.392772 +v 0.392459 0.672575 0.391661 +v 0.402353 0.672451 0.390012 +v 0.412490 0.672439 0.387009 +v 0.422470 0.672222 0.384348 +v 0.432567 0.672176 0.382134 +v 0.442420 0.671891 0.380211 +v 0.452329 0.671789 0.378674 +v 0.462453 0.671638 0.376625 +v 0.472369 0.671403 0.373995 +v 0.482236 0.671090 0.371229 +v -0.097386 0.861567 0.223788 +v 0.252675 0.865077 0.301927 +v 0.351890 0.996608 0.038329 +v -0.594350 1.072778 -0.057451 +v 0.262622 0.837587 0.318352 +v -0.156045 0.888798 0.191460 +v 0.332626 0.892337 0.269624 +v 0.668222 0.638334 -0.157442 +v 0.073829 0.958667 0.008394 +v 0.681931 0.682117 0.142111 +v -0.450069 1.404267 -0.599756 +v -0.247447 1.275668 -0.006070 +v -0.077618 0.953077 -0.046957 +v -0.457518 1.318627 -0.230231 +v -0.455055 1.217777 0.237159 +v -0.527181 1.110157 0.361578 +v 0.718834 0.613777 0.032104 +v -0.296168 0.332042 0.246887 +v -0.352204 1.219257 -0.345271 +v -0.477550 0.899797 0.443715 +v 0.650235 0.779377 0.032188 +v -0.230586 0.608989 -0.304887 +v -0.210701 0.609113 -0.305693 +v -0.200696 0.609224 -0.306158 +v 0.286425 0.981247 0.157835 +v 0.527661 0.897357 0.160295 +v 0.059558 0.953197 -0.025884 +v 0.461515 0.947487 0.122287 +v 0.573084 0.863877 0.148781 +v -0.427938 1.318617 -0.235494 +v 0.437920 0.965768 0.084187 +v 0.446263 0.961238 0.087269 +v 0.261870 0.996667 0.019605 +v 0.250439 0.995047 0.015367 +v 0.239483 0.994157 0.011331 +v 0.228072 0.992667 0.007141 +v 0.215414 0.989677 0.002482 +v 0.203997 0.987817 -0.001733 +v 0.154544 0.673595 0.396405 +v -0.084347 0.935227 -0.123289 +v 0.442034 0.964697 0.071443 +v 0.036062 0.926407 0.126706 +v -0.437384 0.681790 0.313760 +v -0.427275 0.681937 0.317317 +v -0.417490 0.682307 0.320396 +v -0.407321 0.682387 0.323734 +v -0.397626 0.682787 0.325929 +v -0.387382 0.682847 0.330209 +v -0.377385 0.683047 0.332901 +v -0.367465 0.683067 0.333080 +v -0.357323 0.683057 0.333753 +v -0.347351 0.683267 0.336492 +v -0.337338 0.683257 0.336444 +v -0.327367 0.683377 0.337936 +v -0.317387 0.683497 0.339350 +v -0.307373 0.683567 0.340582 +v -0.297370 0.683657 0.341836 +v -0.287338 0.683727 0.341234 +v -0.277366 0.683447 0.338123 +v -0.267376 0.683237 0.334448 +v -0.257388 0.683157 0.334148 +v -0.247406 0.683457 0.336975 +v -0.237404 0.683567 0.339359 +v -0.227363 0.683567 0.340494 +v -0.217379 0.683467 0.339195 +v -0.207368 0.683247 0.335452 +v -0.197343 0.683137 0.333066 +v -0.187282 0.683287 0.333688 +v -0.177367 0.683147 0.334217 +v -0.167196 0.683187 0.332643 +v -0.157326 0.682927 0.330539 +v -0.147225 0.682707 0.325922 +v -0.137374 0.682387 0.323749 +v -0.127402 0.682567 0.324224 +v -0.117377 0.682527 0.326231 +v -0.107246 0.682667 0.329763 +v -0.097276 0.682837 0.332398 +v -0.087527 0.683087 0.332321 +v -0.077259 0.682977 0.334931 +v -0.067187 0.683177 0.339723 +v -0.057294 0.683527 0.342642 +v -0.047446 0.684027 0.344685 +v -0.037407 0.683947 0.344567 +v -0.027397 0.683757 0.343114 +v -0.017290 0.683447 0.342212 +v -0.007364 0.683827 0.345403 +v 0.002703 0.684127 0.350323 +v 0.012751 0.684237 0.352585 +v 0.022712 0.684327 0.353922 +v 0.032641 0.684447 0.354333 +v 0.042634 0.684427 0.354300 +v 0.052613 0.684347 0.354953 +v 0.062608 0.684277 0.354739 +v 0.072618 0.684287 0.350869 +v 0.082611 0.684227 0.348726 +v 0.092593 0.684287 0.348708 +v 0.102534 0.684517 0.350161 +v 0.112582 0.684737 0.352779 +v 0.122301 0.685337 0.354697 +v -0.362268 1.239958 0.151752 +v 0.141881 0.686907 0.356500 +v 0.152007 0.686837 0.359352 +v 0.162260 0.686877 0.363113 +v 0.173092 0.684137 0.381615 +v 0.183022 0.684177 0.386562 +v -0.432796 0.460427 0.301265 +v -0.634585 0.854437 -0.036429 +v -0.628852 0.854287 -0.046386 +v -0.247686 1.128978 0.064408 +v 0.643688 0.764807 -0.087819 +v -0.615074 0.705347 0.104149 +v 0.724384 0.543933 0.052224 +v -0.067266 0.950697 -0.014104 +v 0.687847 0.526962 -0.167217 +v 0.282528 0.684657 0.380387 +v 0.292645 0.685217 0.373143 +v 0.302738 0.685207 0.373090 +v 0.312734 0.685387 0.374408 +v 0.322975 0.684927 0.377429 +v 0.332964 0.685617 0.379977 +v 0.343098 0.685597 0.383300 +v 0.352993 0.685847 0.385840 +v 0.362793 0.686137 0.387574 +v 0.372707 0.686197 0.389765 +v 0.382605 0.686347 0.389913 +v 0.392460 0.686197 0.389467 +v 0.402388 0.686317 0.387306 +v 0.412389 0.686237 0.385209 +v 0.422204 0.687037 0.382087 +v 0.432533 0.685997 0.379451 +v 0.442420 0.685787 0.377805 +v 0.452352 0.685497 0.375070 +v 0.462355 0.685337 0.372652 +v -0.447364 0.871777 0.444410 +v -0.107365 0.862037 0.223246 +v 0.262616 0.865117 0.302003 +v 0.008276 0.927857 -0.088320 +v 0.691058 0.597511 -0.147557 +v 0.616773 0.791817 0.179394 +v -0.147387 0.888747 0.194559 +v 0.322624 0.892227 0.268237 +v -0.535052 0.645450 -0.174885 +v 0.195819 0.987777 0.052794 +v -0.494270 1.181877 -0.208220 +v 0.664565 0.737817 0.122207 +v -0.227362 1.275427 -0.005070 +v -0.032429 0.937507 -0.030415 +v -0.411969 0.993387 -0.177411 +v 0.534138 0.903578 0.119930 +v 0.668139 0.680823 -0.137449 +v -0.516062 0.767367 -0.145228 +v 0.016039 1.379087 -0.279089 +v -0.177731 1.289737 -0.024989 +v -0.562481 1.225937 0.081888 +v 0.079246 0.959587 -0.004145 +v -0.471229 0.717707 -0.205560 +v -0.437176 0.828207 0.420946 +v -0.446066 1.245127 0.093009 +v -0.479294 1.223078 0.213422 +v 0.534858 0.890548 0.162957 +v 0.046410 0.948687 -0.030691 +v 0.470775 0.943708 0.124832 +v 0.566438 0.871597 0.146236 +v -0.419631 1.313967 -0.232419 +v -0.398609 1.292347 -0.224588 +v -0.392629 1.283217 -0.222385 +v -0.386313 1.274447 -0.220037 +v -0.379638 1.266547 -0.217565 +v -0.374029 1.256517 -0.215455 +v -0.368748 1.245568 -0.213515 +v -0.524941 1.173577 0.289854 +v -0.368423 1.198307 0.268105 +v 0.192565 0.985937 -0.005951 +v -0.467840 0.694647 0.290342 +v -0.457719 0.695017 0.296519 +v -0.447396 0.695227 0.302333 +v -0.437392 0.695537 0.307435 +v -0.427329 0.695727 0.311090 +v -0.417423 0.696077 0.315123 +v -0.407078 0.696187 0.318928 +v -0.397400 0.696547 0.322717 +v -0.387258 0.696757 0.327353 +v -0.377256 0.696907 0.329864 +v -0.367293 0.696907 0.331052 +v -0.357319 0.697077 0.331605 +v -0.347383 0.697177 0.332787 +v -0.337329 0.697107 0.333568 +v -0.327372 0.697317 0.335270 +v -0.317371 0.697477 0.336797 +v -0.307372 0.697487 0.337827 +v -0.297377 0.697507 0.337926 +v -0.287358 0.697487 0.336799 +v -0.277308 0.697457 0.334577 +v -0.267310 0.697057 0.330478 +v -0.257392 0.696907 0.327827 +v -0.247368 0.697227 0.329580 +v -0.237390 0.697247 0.331820 +v -0.227368 0.697127 0.332709 +v -0.217380 0.696957 0.330117 +v -0.207369 0.696657 0.328394 +v -0.197385 0.697177 0.329649 +v -0.187381 0.697177 0.330830 +v -0.177297 0.697227 0.331105 +v -0.167308 0.697147 0.330756 +v -0.157167 0.697037 0.327438 +v -0.147090 0.696767 0.322517 +v -0.137309 0.696527 0.319521 +v -0.127836 0.696937 0.319805 +v -0.117367 0.696337 0.321166 +v -0.107391 0.696537 0.322656 +v -0.097422 0.696727 0.324154 +v -0.087340 0.696597 0.325022 +v -0.077454 0.697037 0.328047 +v -0.067535 0.697357 0.330867 +v -0.057411 0.697337 0.334181 +v -0.047412 0.697557 0.336875 +v -0.037373 0.697477 0.337811 +v -0.027284 0.697257 0.337328 +v -0.017318 0.697427 0.338757 +v -0.007314 0.697757 0.342760 +v 0.002781 0.697767 0.344916 +v 0.012698 0.697907 0.346418 +v 0.022688 0.698107 0.348989 +v 0.032622 0.698307 0.350521 +v 0.042642 0.698307 0.351522 +v 0.052633 0.698527 0.352235 +v 0.062786 0.698387 0.349313 +v 0.072626 0.697997 0.346427 +v 0.082623 0.698137 0.346112 +v 0.092628 0.698117 0.347882 +v 0.102678 0.698177 0.350073 +v 0.112647 0.698257 0.350293 +v 0.122717 0.698117 0.347815 +v -0.372178 1.241467 0.148245 +v -0.107732 0.960447 0.044827 +v 0.152603 0.698407 0.350774 +v 0.162750 0.697997 0.350958 +v 0.172643 0.698287 0.350506 +v 0.182583 0.698517 0.350994 +v 0.192648 0.698287 0.351657 +v 0.024274 0.944517 -0.009666 +v -0.069877 0.877757 0.207789 +v -0.611660 0.705277 0.114165 +v -0.047190 1.424137 -0.124080 +v 0.242710 0.698067 0.350868 +v 0.252642 0.698197 0.352414 +v 0.262614 0.698417 0.354105 +v 0.272764 0.698507 0.354557 +v 0.282608 0.698067 0.353685 +v 0.292695 0.698057 0.354916 +v 0.302871 0.697987 0.357282 +v 0.313550 0.698017 0.360675 +v 0.323397 0.697877 0.366601 +v 0.333214 0.698657 0.372148 +v 0.343173 0.698997 0.375899 +v 0.353049 0.699317 0.378542 +v 0.362964 0.699477 0.381032 +v 0.372838 0.699657 0.383518 +v 0.382686 0.699817 0.384752 +v 0.392502 0.699777 0.384559 +v 0.402481 0.699937 0.382613 +v 0.412441 0.699877 0.380256 +v 0.422317 0.699597 0.378573 +v 0.432431 0.699607 0.375303 +v 0.442356 0.699337 0.372562 +v 0.452382 0.699227 0.369030 +v -0.437291 0.871637 0.442178 +v -0.117363 0.862187 0.223400 +v 0.272540 0.864777 0.301551 +v -0.291102 1.224997 0.133642 +v -0.347463 1.266177 -0.355365 +v 0.442584 0.877217 0.254112 +v -0.127499 0.889587 0.201449 +v -0.137421 0.889027 0.198469 +v 0.312603 0.891897 0.269045 +v 0.705723 0.613047 0.142066 +v 0.184348 0.986107 0.048587 +v -0.638445 1.032637 0.062649 +v 0.644386 0.736137 -0.117607 +v -0.207509 1.275047 -0.008231 +v 0.036755 0.948467 -0.005120 +v -0.467567 1.096197 0.380008 +v -0.314080 1.231747 0.139989 +v 0.667045 0.752167 0.032170 +v -0.477421 0.843187 0.431209 +v -0.427206 0.899827 0.442479 +v -0.187355 1.289927 -0.021737 +v -0.136595 0.964277 -0.068970 +v 0.021532 1.259707 -0.114509 +v 0.682740 0.724417 0.002149 +v 0.316028 0.976617 0.168639 +v 0.542047 0.883767 0.165633 +v 0.033917 0.944747 -0.035280 +v 0.554759 0.878507 0.156120 +v 0.552407 0.885917 0.140965 +v 0.559603 0.879177 0.143692 +v 0.389813 0.985087 0.080761 +v 0.380550 0.987837 0.077337 +v 0.342520 0.996837 0.063442 +v 0.301354 0.999347 0.048430 +v 0.290472 0.998907 0.044432 +v 0.278989 0.997597 0.040211 +v 0.267466 0.996387 0.035992 +v 0.256547 0.995667 0.031973 +v -0.477986 0.708177 0.280375 +v -0.467558 0.708447 0.286103 +v -0.457458 0.708737 0.291092 +v -0.447705 0.709177 0.295429 +v -0.437469 0.709337 0.300003 +v -0.427481 0.709577 0.303845 +v -0.417360 0.709787 0.308639 +v -0.407302 0.710047 0.313599 +v -0.397384 0.710377 0.317577 +v -0.387307 0.710527 0.321208 +v -0.377298 0.710627 0.323596 +v -0.367346 0.710827 0.325101 +v -0.357369 0.710907 0.326437 +v -0.347364 0.710967 0.327610 +v -0.337334 0.711037 0.328829 +v -0.327383 0.711187 0.330302 +v -0.317373 0.711247 0.331502 +v -0.307329 0.711077 0.332232 +v -0.297348 0.711437 0.330889 +v -0.287350 0.711267 0.330466 +v -0.277468 0.710907 0.328663 +v -0.267304 0.710967 0.324377 +v -0.257389 0.710627 0.322527 +v -0.247379 0.710787 0.322851 +v -0.237381 0.710687 0.322688 +v -0.227384 0.710737 0.321635 +v -0.217419 0.710717 0.320478 +v -0.207387 0.710727 0.322802 +v -0.197362 0.710917 0.326443 +v -0.187400 0.711207 0.328396 +v -0.177357 0.711217 0.328478 +v -0.167268 0.711097 0.327050 +v -0.157390 0.710757 0.324015 +v -0.147157 0.710657 0.318415 +v -0.137188 0.710397 0.314507 +v -0.127327 0.710367 0.313177 +v -0.117379 0.710237 0.313945 +v -0.107429 0.710397 0.314224 +v -0.097371 0.710297 0.316301 +v -0.087453 0.710497 0.317832 +v -0.077403 0.710587 0.320219 +v -0.067325 0.710697 0.323820 +v -0.057415 0.711047 0.326658 +v -0.047372 0.711177 0.330269 +v -0.037388 0.711187 0.330327 +v -0.027323 0.711077 0.331224 +v -0.017263 0.711217 0.333794 +v -0.007358 0.711517 0.336415 +v 0.002704 0.711517 0.337647 +v 0.012572 0.711907 0.340628 +v 0.022678 0.711927 0.344070 +v 0.032686 0.711947 0.345074 +v 0.042617 0.712247 0.346805 +v 0.052639 0.712057 0.346387 +v 0.062645 0.711977 0.344013 +v 0.072622 0.711897 0.343743 +v 0.082625 0.711977 0.344931 +v 0.092625 0.712197 0.346658 +v 0.102677 0.712077 0.346169 +v 0.112593 0.712037 0.343321 +v 0.122602 0.711997 0.343033 +v -0.509466 1.238807 0.056275 +v 0.142645 0.712267 0.347877 +v 0.152710 0.712127 0.347290 +v 0.162591 0.712277 0.347043 +v 0.172627 0.712227 0.346821 +v 0.182687 0.712157 0.347551 +v 0.182657 0.823667 0.319902 +v 0.202603 0.712337 0.347331 +v 0.212619 0.712337 0.348325 +v -0.640857 1.060437 0.102473 +v 0.232655 0.712347 0.349886 +v 0.242636 0.712387 0.350200 +v 0.252598 0.712337 0.351093 +v 0.263566 0.711107 0.352303 +v 0.272564 0.712167 0.351028 +v 0.282508 0.712017 0.349649 +v 0.292700 0.711617 0.348015 +v 0.302673 0.711897 0.347467 +v 0.312897 0.711657 0.350784 +v 0.323147 0.711677 0.355653 +v 0.333564 0.711307 0.360193 +v 0.343170 0.712187 0.363484 +v 0.352965 0.712677 0.366266 +v 0.362968 0.712707 0.369802 +v 0.372927 0.712677 0.373288 +v 0.382739 0.713087 0.374840 +v 0.392616 0.713307 0.373947 +v 0.402548 0.713297 0.372731 +v 0.412386 0.712907 0.372166 +v 0.422369 0.712927 0.369819 +v 0.432344 0.712807 0.367301 +v 0.442404 0.712847 0.363920 +v -0.427230 0.871557 0.439907 +v -0.127381 0.862237 0.224529 +v 0.282556 0.864957 0.299421 +v 0.071265 0.588738 0.455874 +v 0.723773 0.571955 0.032141 +v 0.432532 0.877207 0.256481 +v -0.117401 0.889437 0.203736 +v 0.292487 0.891908 0.273935 +v 0.302543 0.891787 0.271380 +v 0.708065 0.613193 0.132050 +v 0.618490 0.791947 -0.107839 +v -0.378887 1.243777 0.073230 +v 0.658031 0.751517 0.122181 +v -0.187438 1.275038 -0.016817 +v -0.417355 0.899647 0.438212 +v 0.634566 0.721567 -0.167798 +v 0.598598 0.830777 0.158409 +v -0.157412 1.319547 -0.040370 +v -0.257294 1.246578 0.016903 +v 0.021428 0.940858 -0.039842 +v -0.197477 1.289828 -0.018353 +v -0.578805 0.758497 0.143986 +v 0.694412 0.696967 0.002151 +v -0.503293 0.753317 -0.165513 +v -0.357303 1.234818 -0.235412 +v -0.358738 1.178038 -0.151191 +v 0.275126 0.996667 0.081729 +v -0.072726 0.944557 -0.074921 +v 0.611368 0.801927 0.177417 +v 0.302832 0.933788 0.236386 +v -0.103780 0.956907 0.061057 +v -0.420270 1.235247 -0.057799 +v -0.274216 1.204787 0.154811 +v -0.433319 1.161567 0.321040 +v 0.251656 0.973707 0.174344 +v 0.004497 0.915407 0.130079 +v 0.015479 0.917937 0.133832 +v -0.533561 1.212127 0.210302 +v 0.005365 0.881517 0.205091 +v -0.477757 0.722147 0.278830 +v -0.467571 0.722467 0.283680 +v -0.457521 0.722707 0.287410 +v -0.447497 0.722887 0.289964 +v -0.437354 0.723027 0.293413 +v -0.427291 0.723197 0.297107 +v -0.417295 0.723497 0.302142 +v -0.407480 0.723937 0.306398 +v -0.397449 0.724177 0.310204 +v -0.387349 0.724267 0.313713 +v -0.377321 0.724377 0.316151 +v -0.367333 0.724497 0.318652 +v -0.357390 0.724707 0.320138 +v -0.347356 0.724717 0.321318 +v -0.337350 0.724767 0.322478 +v -0.327369 0.724827 0.323776 +v -0.317362 0.724917 0.325049 +v -0.307375 0.725157 0.325458 +v -0.297356 0.725117 0.325428 +v -0.287337 0.725157 0.324399 +v -0.277386 0.724837 0.322646 +v -0.267311 0.724807 0.319290 +v -0.257410 0.724407 0.317332 +v -0.247301 0.724697 0.315725 +v -0.237377 0.724497 0.314209 +v -0.227386 0.724357 0.312809 +v -0.217422 0.724477 0.315302 +v -0.207387 0.724637 0.318905 +v -0.197400 0.724897 0.322801 +v -0.187435 0.725147 0.324649 +v -0.177352 0.725167 0.325684 +v -0.167310 0.725037 0.324257 +v -0.157178 0.724907 0.319625 +v -0.147068 0.724717 0.314776 +v -0.137102 0.724457 0.309765 +v -0.127319 0.723997 0.306536 +v -0.117369 0.724007 0.305361 +v -0.107425 0.724047 0.305374 +v -0.097450 0.724187 0.307888 +v -0.087471 0.724317 0.310362 +v -0.077489 0.724447 0.312885 +v -0.067511 0.724617 0.315477 +v -0.057421 0.724747 0.319092 +v -0.047362 0.724787 0.322581 +v -0.037333 0.724807 0.323722 +v -0.027362 0.724907 0.323903 +v -0.017360 0.724987 0.326311 +v -0.007455 0.725277 0.326800 +v 0.002616 0.725387 0.329289 +v 0.012480 0.725827 0.334577 +v 0.022789 0.725527 0.337420 +v 0.032717 0.725697 0.338827 +v 0.042597 0.726027 0.340624 +v 0.052636 0.725877 0.340284 +v 0.062627 0.725797 0.340053 +v 0.072622 0.725927 0.340361 +v 0.082636 0.725987 0.341597 +v 0.092626 0.726037 0.341746 +v 0.102453 0.726057 0.338040 +v 0.112649 0.725857 0.339018 +v 0.122635 0.726097 0.342942 +v 0.132747 0.726217 0.345847 +v 0.142700 0.726197 0.344923 +v 0.152665 0.726237 0.345068 +v 0.162690 0.726257 0.346062 +v 0.172697 0.726347 0.347187 +v 0.182684 0.726407 0.347664 +v 0.192705 0.726457 0.348458 +v 0.202681 0.726567 0.349794 +v 0.212693 0.726647 0.350731 +v 0.222665 0.726657 0.350922 +v 0.232616 0.726677 0.351467 +v 0.242574 0.726677 0.352326 +v 0.252466 0.726577 0.351863 +v 0.262397 0.726427 0.350547 +v 0.272404 0.726177 0.347038 +v 0.282491 0.725957 0.343607 +v 0.292461 0.725607 0.340761 +v 0.302612 0.725707 0.338872 +v 0.312647 0.725297 0.339384 +v 0.322715 0.725397 0.339706 +v 0.332861 0.725407 0.343424 +v 0.342943 0.725517 0.347215 +v 0.353019 0.725617 0.352199 +v 0.362903 0.726087 0.356220 +v 0.372810 0.726337 0.358813 +v 0.382721 0.726517 0.360170 +v 0.392665 0.726187 0.361006 +v 0.402574 0.726247 0.359845 +v 0.412522 0.726317 0.358698 +v 0.422535 0.726507 0.356487 +v 0.432346 0.725867 0.355799 +v 0.442303 0.725887 0.353411 +v 0.452336 0.725917 0.349867 +v 0.292486 0.864737 0.297977 +v -0.104315 1.436697 -0.175170 +v -0.627763 0.881267 -0.056499 +v 0.422628 0.877537 0.259298 +v -0.107366 0.889177 0.204692 +v 0.282487 0.892007 0.276481 +v 0.707983 0.641301 0.082117 +v 0.710855 0.613410 0.112150 +v -0.227262 1.246127 0.009090 +v 0.082505 0.822857 0.296488 +v 0.660839 0.751817 0.102228 +v 0.648822 0.751467 0.162482 +v 0.205870 0.989297 0.027718 +v 0.597169 0.839127 0.143604 +v -0.576070 0.743417 -0.075584 +v -0.477341 0.942078 0.440452 +v -0.481900 0.807427 -0.155703 +v -0.147377 0.820947 0.257335 +v -0.217386 1.289778 -0.014594 +v 0.563807 0.840547 0.202347 +v -0.137316 0.821127 0.257590 +v -0.527439 0.956278 0.441942 +v -0.243348 1.067377 -0.075446 +v -0.361903 1.192317 -0.152608 +v 0.295896 0.995897 0.089342 +v -0.081637 0.947917 -0.078096 +v -0.009384 0.939407 0.007210 +v 0.002617 0.941727 0.011589 +v -0.512730 1.236647 0.128186 +v -0.504237 1.204668 0.250546 +v -0.441230 1.245117 0.080153 +v 0.380011 0.908677 0.250010 +v -0.139559 1.401197 -0.102152 +v -0.152725 1.397477 -0.106578 +v 0.444622 0.955327 0.115266 +v -0.410564 0.547949 -0.267238 +v -0.400407 0.548317 -0.271989 +v -0.467956 0.736477 0.282164 +v -0.457573 0.736737 0.285234 +v -0.447491 0.736827 0.286228 +v -0.437480 0.736937 0.287484 +v -0.427306 0.736987 0.290691 +v -0.417462 0.737407 0.294987 +v -0.407331 0.737597 0.299720 +v -0.397478 0.737937 0.302674 +v -0.387358 0.737997 0.306142 +v -0.377332 0.738097 0.308569 +v -0.367274 0.738147 0.310979 +v -0.357361 0.738377 0.312489 +v -0.347358 0.738377 0.313642 +v -0.337382 0.738517 0.313836 +v -0.327401 0.738637 0.315192 +v -0.317383 0.738777 0.316580 +v -0.307392 0.738917 0.317970 +v -0.297376 0.738697 0.318760 +v -0.287375 0.738787 0.317775 +v -0.277371 0.738687 0.316467 +v -0.267346 0.738557 0.314031 +v -0.257294 0.738617 0.313037 +v -0.247492 0.738197 0.311027 +v -0.237392 0.738247 0.306675 +v -0.227382 0.738077 0.307451 +v -0.217400 0.738377 0.311348 +v -0.207373 0.738527 0.314976 +v -0.197361 0.738657 0.317531 +v -0.187381 0.738837 0.319001 +v -0.177343 0.739057 0.319483 +v -0.167331 0.738917 0.319197 +v -0.157239 0.738777 0.315552 +v -0.147186 0.738517 0.310551 +v -0.136939 0.738507 0.303842 +v -0.127193 0.737967 0.299387 +v -0.117335 0.737927 0.297040 +v -0.107415 0.737777 0.297862 +v -0.097435 0.737797 0.300136 +v -0.087505 0.737967 0.301565 +v -0.077575 0.738177 0.303024 +v -0.067480 0.738237 0.306522 +v -0.057541 0.738627 0.310653 +v -0.047505 0.738777 0.314260 +v -0.037430 0.738707 0.315322 +v -0.027366 0.738647 0.316366 +v -0.017353 0.738657 0.317538 +v -0.007239 0.738547 0.319687 +v 0.002767 0.738757 0.322258 +v 0.012856 0.739117 0.326410 +v 0.022636 0.739467 0.330296 +v 0.032576 0.739677 0.331811 +v 0.042630 0.739667 0.334021 +v 0.052659 0.739687 0.335145 +v 0.062640 0.739697 0.335155 +v 0.072600 0.739977 0.335869 +v 0.082630 0.739787 0.337435 +v 0.092701 0.739747 0.335140 +v 0.102644 0.739667 0.333988 +v 0.112512 0.740057 0.337375 +v 0.122766 0.740137 0.342340 +v 0.132811 0.740167 0.343280 +v 0.142680 0.740207 0.342624 +v 0.152643 0.740307 0.344128 +v 0.162722 0.740327 0.344781 +v 0.172607 0.740457 0.345746 +v 0.182632 0.740557 0.347954 +v 0.192749 0.740707 0.350532 +v 0.202663 0.740757 0.351329 +v 0.212689 0.740747 0.350967 +v 0.222646 0.740687 0.350859 +v 0.232533 0.740737 0.351812 +v 0.242470 0.740707 0.351898 +v 0.252314 0.740517 0.350487 +v 0.262515 0.740397 0.346372 +v 0.272271 0.740117 0.343012 +v 0.282431 0.739927 0.339787 +v 0.292448 0.739767 0.337180 +v 0.302496 0.739527 0.334661 +v 0.312548 0.739457 0.332380 +v 0.322600 0.739327 0.329922 +v 0.332645 0.739117 0.329636 +v 0.342654 0.739337 0.331272 +v 0.352702 0.739417 0.336212 +v 0.362872 0.739347 0.342203 +v 0.373002 0.739307 0.347018 +v 0.382750 0.739657 0.347340 +v 0.392703 0.739347 0.347032 +v 0.402605 0.739597 0.346028 +v 0.412546 0.739717 0.344928 +v 0.422542 0.739677 0.343673 +v 0.432476 0.739507 0.342322 +v 0.442470 0.739587 0.339982 +v 0.452430 0.739407 0.337401 +v 0.462434 0.739277 0.333677 +v 0.002637 0.875317 0.214799 +v 0.412553 0.877607 0.262918 +v -0.097386 0.889007 0.203281 +v 0.503339 0.738857 0.306463 +v 0.512842 0.738037 0.302873 +v -0.620431 1.197878 0.122493 +v -0.137668 1.379567 -0.071766 +v -0.081288 1.423028 -0.218688 +v -0.478012 1.318737 -0.249043 +v 0.697371 0.584224 -0.137305 +v 0.255205 0.995037 0.002814 +v -0.627995 1.033437 0.222631 +v 0.222734 0.823777 0.322310 +v 0.096561 0.963707 -0.012322 +v -0.633857 1.088217 0.142230 +v 0.705643 0.669383 0.002160 +v -0.328533 0.820917 0.273567 +v -0.237398 1.290057 -0.016663 +v -0.677019 0.937257 0.103119 +v 0.529958 0.904437 0.132592 +v -0.317271 0.821167 0.272385 +v -0.383270 1.233577 -0.160858 +v 0.306294 0.995257 0.093120 +v 0.365984 0.986737 0.114855 +v -0.090964 0.950737 -0.081590 +v -0.102674 1.422877 -0.198692 +v -0.119154 0.956777 0.070195 +v 0.476775 0.931857 0.155644 +v 0.508023 0.909728 0.167246 +v 0.522282 0.896037 0.172536 +v 0.536092 0.881037 0.177798 +v 0.543249 0.874227 0.180459 +v -0.581560 0.917347 -0.122827 +v -0.384594 1.363887 -0.687865 +v -0.171118 0.738377 -0.294710 +v -0.461393 0.760617 -0.191881 +v -0.457641 0.750717 0.284530 +v -0.447558 0.750727 0.283390 +v -0.438979 0.750687 0.283946 +v -0.427454 0.751017 0.286097 +v -0.417397 0.751227 0.289796 +v -0.407322 0.751357 0.293291 +v -0.397447 0.751687 0.296275 +v -0.387435 0.751857 0.298790 +v -0.377335 0.751817 0.300959 +v -0.367303 0.751767 0.303176 +v -0.357297 0.751877 0.304524 +v -0.347361 0.752047 0.304781 +v -0.337331 0.751957 0.305832 +v -0.327324 0.752027 0.307093 +v -0.317400 0.752407 0.307673 +v -0.307390 0.752407 0.308830 +v -0.297398 0.752527 0.308995 +v -0.287385 0.752417 0.309998 +v -0.277349 0.752667 0.309296 +v -0.267360 0.752407 0.308863 +v -0.257319 0.752547 0.307961 +v -0.247321 0.752457 0.304511 +v -0.237417 0.752527 0.301263 +v -0.227466 0.752337 0.303191 +v -0.217352 0.752237 0.307384 +v -0.207390 0.752477 0.310118 +v -0.197372 0.752457 0.311211 +v -0.187396 0.752707 0.311663 +v -0.177340 0.752767 0.311758 +v -0.167337 0.752667 0.311579 +v -0.157262 0.752567 0.309164 +v -0.146979 0.752617 0.303583 +v -0.136814 0.752387 0.297572 +v -0.127123 0.752017 0.293536 +v -0.117209 0.751737 0.290919 +v -0.107415 0.751677 0.291699 +v -0.097471 0.751727 0.292886 +v -0.087573 0.751877 0.294289 +v -0.077448 0.751837 0.297594 +v -0.067538 0.752197 0.300461 +v -0.057439 0.752167 0.303858 +v -0.047382 0.752207 0.306198 +v -0.037529 0.752687 0.306952 +v -0.027363 0.752297 0.308658 +v -0.017461 0.752577 0.309075 +v -0.007495 0.752767 0.311678 +v 0.002322 0.753587 0.315161 +v 0.012622 0.752947 0.318860 +v 0.022782 0.752907 0.322233 +v 0.032687 0.753207 0.325030 +v 0.042535 0.753587 0.326869 +v 0.052654 0.753487 0.328895 +v 0.062696 0.753427 0.329909 +v 0.072645 0.753567 0.331228 +v 0.082715 0.753497 0.332109 +v 0.092774 0.753367 0.330621 +v 0.102605 0.753777 0.331767 +v 0.112584 0.753987 0.335596 +v 0.122740 0.754107 0.339968 +v 0.132677 0.754167 0.340194 +v 0.142719 0.754167 0.341101 +v 0.152713 0.754287 0.342393 +v 0.162724 0.754287 0.342451 +v 0.172696 0.754457 0.345140 +v 0.182803 0.754537 0.348157 +v 0.192718 0.754687 0.349751 +v 0.202700 0.754687 0.350655 +v 0.212646 0.754687 0.349836 +v 0.222603 0.754617 0.349615 +v 0.232575 0.754647 0.348690 +v 0.242479 0.754567 0.348386 +v 0.252477 0.754457 0.346042 +v 0.262479 0.754347 0.343777 +v 0.272417 0.754187 0.341028 +v 0.282416 0.754037 0.338354 +v 0.292598 0.753917 0.335320 +v 0.302467 0.753747 0.333431 +v 0.312676 0.753567 0.329198 +v 0.322612 0.753377 0.326399 +v 0.332579 0.753227 0.324966 +v 0.342561 0.752997 0.323340 +v 0.352610 0.753077 0.322478 +v 0.362654 0.752907 0.323489 +v 0.372664 0.753037 0.324943 +v 0.382790 0.752597 0.330502 +v 0.392718 0.752857 0.331994 +v 0.402653 0.752987 0.332080 +v 0.412584 0.752997 0.332097 +v 0.422546 0.753047 0.330934 +v 0.432526 0.753117 0.328613 +v 0.442496 0.752967 0.326066 +v 0.452306 0.752427 0.324312 +v 0.462405 0.752517 0.319579 +v 0.472571 0.752607 0.314922 +v 0.482662 0.752467 0.308873 +v 0.492508 0.752007 0.305867 +v 0.502791 0.752217 0.302962 +v 0.512590 0.751857 0.301022 +v -0.087602 1.379187 -0.090618 +v -0.467368 0.942168 0.440753 +v 0.682046 0.639734 0.182113 +v 0.700405 0.683097 0.012144 +v 0.626834 0.749447 -0.147698 +v -0.307226 0.821067 0.270045 +v -0.297208 0.821027 0.267604 +v 0.447699 0.949627 0.130743 +v 0.677985 0.681327 -0.117343 +v -0.049171 0.944327 -0.007446 +v -0.287383 0.821367 0.264583 +v -0.247466 1.290237 -0.018991 +v -0.456439 0.842667 0.430521 +v -0.517181 1.110157 0.366496 +v -0.277456 0.821467 0.261763 +v -0.388507 1.244497 -0.162874 +v 0.375235 0.983977 0.118258 +v 0.401955 0.973517 0.128034 +v 0.426951 0.959927 0.137346 +v 0.451013 0.944227 0.146209 +v 0.459343 0.939637 0.149278 +v -0.397563 1.235337 -0.020440 +v 0.070386 0.917217 0.183197 +v -0.368169 1.238167 0.164323 +v -0.300316 1.263017 -0.014326 +v -0.313188 1.021767 -0.149473 +v -0.200762 0.652650 -0.308942 +v 0.104989 1.497637 -0.352019 +v -0.142787 1.215027 -0.167008 +v 0.419026 0.754157 -0.272137 +v -0.447406 0.764647 0.284935 +v -0.437439 0.764827 0.283301 +v -0.427562 0.764917 0.283853 +v -0.417564 0.765167 0.285901 +v -0.407534 0.765347 0.288118 +v -0.397376 0.765477 0.290961 +v -0.387435 0.765697 0.292617 +v -0.377338 0.765637 0.294576 +v -0.367390 0.765807 0.294942 +v -0.357365 0.765707 0.295912 +v -0.347378 0.765837 0.296092 +v -0.337344 0.765607 0.296925 +v -0.327364 0.765887 0.297331 +v -0.317383 0.765867 0.298495 +v -0.307363 0.765857 0.299634 +v -0.297384 0.766037 0.299874 +v -0.287398 0.766317 0.300251 +v -0.277369 0.766357 0.301485 +v -0.267360 0.766317 0.300299 +v -0.257371 0.766207 0.299019 +v -0.247383 0.766167 0.296661 +v -0.237397 0.765857 0.296184 +v -0.227402 0.766017 0.298714 +v -0.217454 0.766327 0.301551 +v -0.207391 0.766387 0.302775 +v -0.197367 0.766207 0.303627 +v -0.187378 0.766297 0.303760 +v -0.177335 0.766617 0.303014 +v -0.167205 0.766727 0.302094 +v -0.157084 0.766747 0.299790 +v -0.146964 0.766537 0.296114 +v -0.137139 0.765977 0.291809 +v -0.127060 0.766107 0.287602 +v -0.117277 0.765747 0.285886 +v -0.107390 0.765677 0.285732 +v -0.097493 0.765737 0.286910 +v -0.087449 0.765547 0.288801 +v -0.077750 0.765967 0.290991 +v -0.067555 0.766017 0.292942 +v -0.057471 0.765977 0.295166 +v -0.047516 0.766277 0.296732 +v -0.037417 0.766117 0.298820 +v -0.027519 0.766447 0.299322 +v -0.017381 0.766097 0.301130 +v -0.007305 0.766047 0.303417 +v 0.002572 0.766587 0.307685 +v 0.012440 0.766997 0.311788 +v 0.022511 0.767037 0.314148 +v 0.032533 0.767117 0.316604 +v 0.042548 0.767287 0.319186 +v 0.052568 0.767417 0.321709 +v 0.062697 0.767207 0.323589 +v 0.072544 0.767627 0.324464 +v 0.082619 0.767567 0.326560 +v 0.092687 0.767467 0.326245 +v 0.102512 0.767787 0.328254 +v 0.112728 0.767787 0.332422 +v 0.122615 0.768097 0.335437 +v 0.132791 0.767977 0.337140 +v 0.142766 0.768067 0.338437 +v 0.152694 0.768207 0.338843 +v 0.162754 0.768187 0.339862 +v 0.172811 0.768297 0.343275 +v 0.182716 0.768487 0.344921 +v 0.192707 0.768507 0.346060 +v 0.202665 0.768587 0.346339 +v 0.212630 0.768467 0.345984 +v 0.222608 0.768317 0.345552 +v 0.232565 0.768437 0.344829 +v 0.242564 0.768407 0.343656 +v 0.252496 0.768337 0.342219 +v 0.262432 0.768247 0.340729 +v 0.272486 0.768177 0.338432 +v 0.282465 0.768137 0.337193 +v 0.292574 0.768077 0.335215 +v 0.302451 0.767927 0.333378 +v 0.312520 0.767737 0.329987 +v 0.322470 0.767557 0.327251 +v 0.332586 0.767397 0.323852 +v 0.342568 0.767117 0.319897 +v 0.352521 0.766847 0.317097 +v 0.362630 0.766827 0.313841 +v 0.372597 0.766257 0.313979 +v 0.382629 0.766767 0.313754 +v 0.392705 0.766377 0.316749 +v 0.402645 0.766557 0.318203 +v 0.412602 0.766767 0.318484 +v 0.422597 0.766927 0.317454 +v 0.432471 0.766307 0.315531 +v 0.442568 0.766547 0.312281 +v 0.452706 0.766747 0.309010 +v 0.462649 0.766517 0.307563 +v 0.472612 0.766377 0.306210 +v 0.482612 0.766207 0.303624 +v 0.492599 0.766067 0.301049 +v 0.502640 0.765957 0.298630 +v 0.512650 0.765817 0.296112 +v 0.673302 0.738327 0.042186 +v 0.713598 0.613244 -0.067562 +v -0.027091 1.470088 -0.144904 +v 0.724043 0.543897 0.062188 +v -0.267311 0.820797 0.260821 +v -0.257309 0.820877 0.259738 +v -0.247325 0.821027 0.258686 +v 0.246499 0.994357 0.056944 +v 0.557366 0.860347 0.185622 +v -0.641380 0.949727 -0.026745 +v -0.634963 1.032317 0.022660 +v 0.687122 0.696137 -0.077568 +v 0.665382 0.751847 0.062151 +v -0.237138 0.821207 0.257853 +v -0.471784 1.291637 -0.193172 +v -0.459088 1.295407 -0.188581 +v 0.262601 0.689157 0.374483 +v -0.453590 1.233387 0.192630 +v 0.241227 0.974287 0.170579 +v -0.401314 1.237337 -0.007228 +v 0.228820 0.755587 -0.313501 +v -0.402291 1.051818 -0.170454 +v -0.073760 1.363737 -0.241950 +v -0.372337 1.007837 -0.170600 +v -0.401732 0.934957 -0.178232 +v 0.388960 0.740277 -0.285777 +v 0.188645 0.769917 -0.313668 +v -0.227362 0.820827 0.258323 +v -0.073305 1.289477 -0.224933 +v -0.391341 0.861907 -0.180135 +v -0.436989 0.777097 0.291163 +v -0.427293 0.777277 0.291481 +v -0.417454 0.778667 0.290123 +v -0.407430 0.779177 0.288015 +v -0.397366 0.779337 0.288224 +v -0.447312 0.842907 0.431641 +v -0.378570 0.779507 0.288324 +v -0.187453 1.304627 -0.027241 +v -0.357366 0.779437 0.288188 +v -0.347376 0.779387 0.288088 +v -0.337379 0.779667 0.287471 +v -0.327385 0.779537 0.288413 +v -0.317374 0.779547 0.288442 +v -0.307404 0.779697 0.288630 +v -0.297378 0.779507 0.289554 +v -0.287378 0.779547 0.289606 +v -0.277365 0.779287 0.289271 +v -0.267390 0.779907 0.288915 +v -0.257392 0.779867 0.288854 +v -0.247387 0.779717 0.288770 +v -0.237406 0.779777 0.289944 +v -0.227425 0.779997 0.291414 +v -0.217411 0.780067 0.292672 +v -0.207401 0.780027 0.293753 +v -0.197398 0.780137 0.293883 +v -0.187368 0.780067 0.293810 +v -0.177333 0.780307 0.292872 +v -0.167251 0.780557 0.292060 +v -0.157285 0.780067 0.291467 +v -0.147158 0.780157 0.288147 +v -0.137109 0.780027 0.284546 +v -0.127201 0.779777 0.281914 +v -0.117245 0.779707 0.279569 +v -0.107338 0.779457 0.279138 +v -0.097433 0.779407 0.280121 +v -0.087434 0.779337 0.281192 +v -0.077500 0.779677 0.282784 +v -0.067447 0.779627 0.285044 +v -0.057437 0.779687 0.286261 +v -0.047456 0.779777 0.287562 +v -0.037482 0.780127 0.288005 +v -0.027470 0.779907 0.288885 +v -0.017445 0.779897 0.291231 +v -0.007598 0.780347 0.292956 +v 0.002419 0.780387 0.296600 +v 0.012368 0.780707 0.301713 +v 0.022509 0.780777 0.306531 +v 0.032585 0.780797 0.308901 +v 0.042503 0.781087 0.311699 +v 0.052556 0.781167 0.314144 +v 0.062643 0.781047 0.316230 +v 0.072579 0.781327 0.317916 +v 0.082637 0.781317 0.320136 +v 0.092474 0.781597 0.321507 +v 0.102648 0.781547 0.323906 +v 0.112794 0.781547 0.327186 +v 0.122713 0.781817 0.330058 +v 0.132773 0.781797 0.332223 +v 0.142733 0.781987 0.333681 +v 0.152729 0.781927 0.334604 +v 0.162829 0.781937 0.336766 +v 0.172677 0.782307 0.338898 +v 0.182682 0.782297 0.339954 +v 0.192957 0.781977 0.340858 +v 0.202674 0.782117 0.340724 +v 0.212621 0.782227 0.339827 +v 0.222625 0.782197 0.339698 +v 0.232596 0.782057 0.340388 +v 0.242592 0.782177 0.339494 +v 0.252580 0.782197 0.338334 +v 0.262545 0.782127 0.336950 +v 0.272474 0.782127 0.336783 +v 0.282566 0.782247 0.336352 +v 0.292386 0.782117 0.335578 +v 0.302462 0.782067 0.333509 +v 0.312327 0.781917 0.330663 +v 0.322451 0.781727 0.327296 +v -0.555670 0.769557 -0.095544 +v 0.182691 0.878537 0.284396 +v 0.352015 0.779417 0.313755 +v 0.362538 0.780647 0.309648 +v 0.372533 0.780397 0.307987 +v 0.382636 0.780717 0.307662 +v 0.392626 0.780747 0.308815 +v 0.402664 0.780497 0.310635 +v 0.412598 0.780387 0.311686 +v 0.422619 0.780837 0.310106 +v 0.432493 0.780387 0.308205 +v 0.442547 0.780297 0.304632 +v 0.452603 0.780297 0.302320 +v 0.462679 0.780307 0.301118 +v 0.472405 0.779767 0.299177 +v 0.482619 0.779907 0.294757 +v 0.492552 0.779607 0.292013 +v 0.503016 0.780837 0.288926 +v -0.575277 0.770877 -0.055852 +v -0.427711 1.152087 0.327660 +v 0.532619 0.897797 0.147903 +v 0.678191 0.667315 -0.127436 +v 0.597801 0.703067 0.266742 +v -0.217362 0.821037 0.257325 +v -0.141500 1.413817 -0.145583 +v -0.172194 1.378478 -0.085895 +v -0.355225 1.281568 -0.485519 +v -0.097361 1.408987 -0.093321 +v -0.284028 0.391532 0.303784 +v 0.526998 0.661947 -0.286926 +v 0.112444 0.836957 0.292864 +v 0.644742 0.751077 0.172400 +v -0.484968 1.285127 -0.198459 +v 0.275984 0.981977 0.154123 +v 0.419841 0.917467 0.221054 +v -0.175295 0.947307 0.108927 +v -0.422699 1.237897 -0.014974 +v -0.232734 1.169017 -0.121557 +v -0.020888 0.626591 -0.336658 +v 0.198733 0.769797 -0.315502 +v -0.440501 0.786957 0.335327 +v -0.121241 0.766947 -0.286061 +v -0.170580 0.609921 -0.314312 +v -0.222889 1.183847 -0.129914 +v -0.272962 1.183497 -0.115162 +v -0.431785 0.978727 -0.179634 +v -0.400936 0.619971 -0.262577 +v 0.649986 0.765107 -0.067801 +v -0.533162 0.618133 -0.185247 +v -0.207434 0.820727 0.256967 +v -0.197374 0.820407 0.255428 +v -0.076914 1.409538 -0.097601 +v -0.057760 1.409158 -0.116492 +v 0.406779 0.973967 0.115565 +v -0.051061 0.942647 -0.037286 +v -0.157841 1.304587 -0.038330 +v -0.588042 0.893377 -0.116730 +v -0.348115 0.792507 0.280836 +v -0.337425 0.793157 0.279263 +v -0.327376 0.793257 0.278444 +v -0.317373 0.793237 0.278393 +v -0.307364 0.793097 0.278144 +v -0.297370 0.793117 0.278163 +v -0.287365 0.793517 0.277591 +v -0.277381 0.793477 0.277567 +v -0.267410 0.793657 0.277742 +v -0.257376 0.793407 0.279739 +v -0.247407 0.793617 0.280022 +v -0.237393 0.793427 0.280936 +v -0.227397 0.793567 0.281125 +v -0.217405 0.793757 0.281318 +v -0.207377 0.793467 0.282167 +v -0.197409 0.794017 0.281537 +v -0.187376 0.793827 0.281371 +v -0.177358 0.793617 0.281124 +v -0.167346 0.793647 0.281203 +v -0.157281 0.793887 0.279146 +v -0.147193 0.794017 0.277034 +v -0.137234 0.793607 0.275379 +v -0.127267 0.793417 0.273976 +v -0.117322 0.793197 0.272506 +v -0.107304 0.793447 0.270500 +v -0.097377 0.792817 0.270763 +v -0.087403 0.792967 0.270927 +v -0.077517 0.793427 0.271526 +v -0.067484 0.793387 0.273822 +v -0.057476 0.793387 0.274975 +v -0.047360 0.793057 0.276948 +v -0.037464 0.793547 0.277534 +v -0.027375 0.793167 0.278258 +v -0.017532 0.793767 0.280177 +v -0.007536 0.793837 0.282612 +v 0.002420 0.793997 0.285154 +v 0.012399 0.794217 0.290201 +v 0.022447 0.794467 0.296448 +v 0.032295 0.794967 0.300649 +v 0.042534 0.794827 0.304029 +v 0.052522 0.794937 0.306516 +v 0.062604 0.794947 0.308872 +v 0.072673 0.794977 0.311189 +v 0.082624 0.795147 0.312657 +v 0.092671 0.795177 0.314963 +v 0.102670 0.795287 0.317481 +v 0.112845 0.795227 0.320732 +v 0.122615 0.795687 0.322802 +v 0.132699 0.795687 0.325035 +v 0.142752 0.795677 0.327249 +v 0.152852 0.795637 0.329394 +v 0.163032 0.795857 0.331165 +v 0.172650 0.796187 0.332800 +v 0.182687 0.796097 0.333742 +v 0.192723 0.795817 0.334311 +v 0.202644 0.796067 0.332524 +v 0.212667 0.795937 0.333390 +v 0.222907 0.795617 0.334567 +v 0.232648 0.796127 0.334796 +v 0.242653 0.796147 0.334789 +v 0.252615 0.796117 0.334642 +v 0.262602 0.796187 0.334826 +v 0.272506 0.796107 0.335463 +v 0.282527 0.796147 0.334624 +v 0.292455 0.796037 0.333236 +v 0.302413 0.795907 0.330704 +v 0.312465 0.795797 0.327280 +v 0.322406 0.795647 0.324567 +v 0.332380 0.795457 0.320799 +v 0.062608 0.890387 0.228871 +v 0.352290 0.794897 0.311672 +v 0.362624 0.794807 0.307457 +v 0.372529 0.794527 0.304470 +v 0.382608 0.794447 0.303257 +v 0.392591 0.794397 0.303220 +v 0.402607 0.794467 0.304532 +v 0.412604 0.794587 0.304781 +v 0.422594 0.794467 0.303454 +v 0.432701 0.794577 0.300222 +v 0.442498 0.794037 0.298099 +v 0.452292 0.793647 0.295209 +v 0.462515 0.793677 0.290616 +v 0.472755 0.793917 0.287565 +v 0.482608 0.793557 0.285819 +v 0.492508 0.793257 0.284239 +v -0.017486 0.834947 0.247397 +v 0.049317 0.952157 -0.000539 +v -0.509664 1.251147 -0.248587 +v 0.682201 0.667643 -0.117531 +v -0.097481 0.956967 -0.054631 +v -0.187405 0.820807 0.255862 +v -0.627802 1.033447 0.182660 +v -0.527189 1.040387 0.414696 +v 0.651439 0.751667 0.152461 +v -0.076835 1.423948 -0.104968 +v 0.680548 0.724457 -0.047834 +v -0.591386 0.799667 0.163932 +v -0.046486 1.454358 -0.131283 +v 0.022475 1.484667 -0.187995 +v -0.177401 0.820757 0.257037 +v 0.306175 0.978167 0.165040 +v -0.366789 1.203418 -0.154520 +v -0.395367 1.251657 -0.165387 +v 0.384042 0.980347 0.121495 +v 0.410363 0.969158 0.131165 +v 0.435092 0.954937 0.140348 +v -0.427398 1.345618 -0.293087 +v 0.485066 0.927237 0.158726 +v -0.030813 0.626234 -0.332748 +v -0.451282 0.775097 -0.191723 +v -0.160730 0.610168 -0.317372 +v -0.150836 0.610356 -0.319131 +v -0.180718 0.609569 -0.309806 +v 0.318831 0.754917 -0.292613 +v -0.232929 1.183727 -0.127286 +v -0.053470 1.304277 -0.234460 +v -0.220645 0.609056 -0.305416 +v -0.021904 0.613503 -0.341461 +v -0.207383 1.304567 -0.024720 +v -0.666104 0.869777 0.153444 +v 0.655830 0.751537 0.132241 +v -0.067291 1.409228 -0.105100 +v -0.487509 0.941997 0.439770 +v -0.437320 0.942007 0.435919 +v -0.167419 0.820957 0.257279 +v -0.547427 0.956077 0.434627 +v -0.447289 0.956128 0.432402 +v -0.347252 0.807217 0.276173 +v -0.337313 0.807107 0.273429 +v -0.327327 0.807067 0.272228 +v -0.317275 0.807037 0.271330 +v -0.307341 0.807007 0.270744 +v -0.297353 0.806967 0.269546 +v -0.287344 0.807017 0.269631 +v -0.277338 0.807247 0.268785 +v -0.267349 0.807287 0.268785 +v -0.257453 0.807127 0.269668 +v -0.247392 0.807157 0.269721 +v -0.237383 0.806837 0.269325 +v -0.227391 0.807527 0.267703 +v -0.217430 0.807607 0.267779 +v -0.207384 0.807287 0.268588 +v -0.197404 0.807527 0.267637 +v -0.187393 0.807467 0.267581 +v -0.177382 0.807557 0.267712 +v -0.167386 0.807657 0.267830 +v -0.157358 0.807187 0.267347 +v -0.147336 0.807147 0.267336 +v -0.137274 0.807357 0.266517 +v -0.127231 0.807547 0.265560 +v -0.117267 0.807257 0.264015 +v -0.107293 0.807177 0.261527 +v -0.097348 0.806957 0.260013 +v -0.087408 0.806907 0.259916 +v -0.077513 0.807207 0.260259 +v -0.067530 0.807247 0.261531 +v -0.057547 0.807327 0.263972 +v -0.047536 0.807337 0.265175 +v -0.037479 0.807177 0.266176 +v -0.027446 0.807067 0.267221 +v -0.017537 0.807537 0.268952 +v -0.007484 0.807367 0.271093 +v 0.002617 0.807077 0.273161 +v -0.190769 0.638263 -0.308682 +v -0.180705 0.638323 -0.309193 +v -0.210723 0.638231 -0.310136 +v -0.240733 0.638172 -0.310746 +v -0.250761 0.638125 -0.310899 +v -0.260761 0.638017 -0.309586 +v -0.270851 0.637859 -0.307406 +v 0.530068 0.866787 0.204146 +v 0.523313 0.874517 0.201596 +v 0.168811 0.741137 -0.317144 +v -0.532335 1.050267 -0.128836 +v -0.140862 0.639129 -0.315464 +v -0.150820 0.638987 -0.315183 +v 0.066876 0.043860 0.441381 +v 0.075223 0.043936 0.438824 +v 0.379043 0.726167 -0.289871 +v -0.332528 0.993137 -0.162829 +v -0.511852 0.963057 -0.157880 +v -0.151113 0.738457 -0.294777 +v -0.480456 0.545405 -0.237526 +v -0.470232 0.545908 -0.243575 +v -0.420515 0.547617 -0.263329 +v 0.329080 0.726667 -0.301662 +v 0.378901 0.754577 -0.284581 +v 0.319634 0.576703 -0.421753 +v -0.290529 0.551034 -0.304460 +v 0.046350 1.334637 -0.262461 +v -0.093118 1.259547 -0.204340 +v 0.215814 0.049226 0.395029 +v 0.226066 0.049782 0.392211 +v -0.230363 0.551513 -0.306671 +v -0.430306 0.547310 -0.260312 +v -0.350393 0.549245 -0.282283 +v -0.442084 1.051647 -0.166453 +v -0.345822 0.864767 0.320659 +v 0.557649 0.837347 0.214350 +v -0.207055 1.032578 0.066417 +v -0.043288 1.274597 -0.220086 +v -0.040851 0.626078 -0.330402 +v -0.551328 0.903277 -0.134602 +v -0.043797 1.349027 -0.252375 +v 0.105806 1.379398 -0.309913 +v -0.292907 1.183437 -0.108315 +v -0.419686 1.238977 0.175155 +v -0.419596 1.340117 -0.290115 +v 0.394475 0.058580 0.355743 +v 0.405466 0.059520 0.353890 +v 0.416446 0.059920 0.351815 +v -0.360416 0.549042 -0.280214 +v -0.230024 0.347752 0.282432 +v 0.445050 0.061170 0.339627 +v 0.453093 0.061381 0.333555 +v 0.208827 0.741227 -0.316049 +v 0.468630 0.061508 0.320896 +v -0.610711 0.718297 0.004416 +v -0.241441 0.879607 0.244005 +v 0.624711 0.702537 0.235418 +v 0.711586 0.641500 0.042118 +v 0.547123 0.716447 0.298771 +v 0.570482 0.715967 0.280000 +v -0.462117 1.432167 -0.610009 +v -0.400808 0.634324 -0.261048 +v -0.160827 0.638794 -0.313782 +v -0.030864 0.640375 -0.329088 +v -0.392392 1.051827 -0.169436 +v 0.208803 0.755677 -0.316232 +v -0.352037 0.934777 -0.175138 +v 0.259003 0.741147 -0.308719 +v -0.391525 0.819697 -0.203604 +v 0.218845 0.741157 -0.314576 +v -0.230633 0.031693 0.356941 +v -0.220132 0.031845 0.355217 +v 0.563985 0.829247 0.216672 +v 0.551158 0.845357 0.211989 +v 0.537008 0.859317 0.206874 +v -0.018303 0.935158 -0.039860 +v -0.006881 0.936667 -0.035654 +v 0.025589 0.055540 0.452798 +v 0.037280 0.056349 0.452090 +v -0.491948 0.978077 -0.165543 +v 0.058696 0.058096 0.446629 +v 0.068407 0.057754 0.444500 +v 0.078188 0.058064 0.441017 +v -0.260338 0.551378 -0.306280 +v -0.240334 0.551355 -0.305410 +v 0.105734 0.059270 0.427431 +v 0.115535 0.059474 0.424333 +v 0.125777 0.060001 0.421502 +v 0.135673 0.060364 0.418405 +v 0.145407 0.060552 0.415319 +v 0.155021 0.060857 0.411898 +v 0.165014 0.061478 0.408274 +v -0.300480 0.550913 -0.302944 +v 0.184947 0.062343 0.401802 +v 0.195283 0.062911 0.400024 +v 0.204949 0.063349 0.397045 +v 0.215294 0.063775 0.393210 +v 0.225261 0.064135 0.389922 +v 0.235198 0.064647 0.387697 +v 0.245233 0.064946 0.383867 +v 0.255022 0.065311 0.380847 +v -0.372685 0.881727 0.389759 +v -0.314847 1.035287 0.261547 +v 0.670470 0.723847 0.122137 +v 0.296704 0.067368 0.371021 +v 0.307657 0.068018 0.369371 +v 0.318660 0.068645 0.368128 +v 0.329635 0.069282 0.366579 +v 0.341163 0.070067 0.365045 +v 0.318972 0.726627 -0.303509 +v 0.363072 0.071326 0.361614 +v 0.373997 0.071975 0.359669 +v 0.384940 0.072630 0.357841 +v 0.395914 0.073248 0.356341 +v 0.406889 0.073888 0.354687 +v 0.417845 0.074529 0.352944 +v 0.428635 0.075259 0.350703 +v 0.437951 0.075243 0.347173 +v 0.447370 0.075664 0.343051 +v 0.455723 0.075672 0.337579 +v 0.464558 0.075925 0.332729 +v 0.473556 0.076304 0.327697 +v 0.720349 0.599794 -0.047698 +v 0.075260 1.350457 -0.211541 +v -0.247871 0.936667 0.252686 +v 0.085026 1.498177 -0.266806 +v 0.041397 1.498127 -0.206575 +v 0.585717 0.689697 0.284491 +v 0.578981 0.689977 0.292253 +v -0.360291 1.203017 -0.385460 +v 0.565068 0.611156 0.342092 +v -0.170813 0.624232 -0.312516 +v -0.190751 0.623853 -0.308700 +v -0.260712 0.623490 -0.307535 +v -0.270806 0.623511 -0.307835 +v -0.320238 0.622284 -0.293464 +v -0.329832 0.621767 -0.284081 +v -0.340464 0.621234 -0.279476 +v -0.225210 1.203238 0.021365 +v 0.285973 0.054956 0.374329 +v -0.589658 0.676200 -0.085522 +v -0.333050 0.978937 0.305379 +v -0.521914 0.962797 -0.150195 +v -0.515718 0.777607 0.325763 +v -0.280908 0.637780 -0.306166 +v -0.401335 0.876367 -0.178070 +v -0.301241 0.637630 -0.302866 +v -0.217658 0.892757 0.208001 +v -0.340489 1.164348 0.278140 +v 0.111741 1.512997 -0.298664 +v -0.217198 0.950148 0.209526 +v -0.282760 0.937088 0.290258 +v 0.265560 0.982367 0.150301 +v 0.155496 0.975827 0.110506 +v 0.570143 0.820447 0.219035 +v -0.073413 1.304258 -0.231588 +v -0.267146 0.041901 0.375424 +v -0.255525 0.042549 0.374960 +v -0.245060 0.042695 0.373493 +v -0.234052 0.043194 0.372250 +v -0.223520 0.043498 0.370458 +v -0.213339 0.044044 0.367416 +v -0.203086 0.044586 0.364625 +v -0.192877 0.045085 0.361791 +v -0.183140 0.045360 0.358581 +v -0.173087 0.045983 0.355283 +v -0.164337 0.045720 0.350976 +v -0.163395 0.976287 0.024336 +v 0.223658 0.650550 -0.395445 +v -0.387108 1.234597 -0.016626 +v 0.544387 0.853077 0.209341 +v -0.130646 0.624802 -0.319466 +v -0.038503 0.937157 -0.047308 +v -0.028701 0.935457 -0.043653 +v 0.563071 0.862487 0.173501 +v -0.404064 1.328757 -0.284330 +v 0.025422 0.069558 0.453013 +v 0.037053 0.070410 0.451140 +v 0.047458 0.070831 0.449152 +v 0.057787 0.071444 0.446517 +v 0.067586 0.071630 0.443399 +v 0.077823 0.072128 0.440485 +v 0.087429 0.072505 0.436598 +v 0.096466 0.072650 0.432356 +v 0.106078 0.072987 0.428634 +v 0.115703 0.073291 0.425160 +v 0.125886 0.073799 0.422214 +v 0.135732 0.074119 0.419249 +v 0.145252 0.074529 0.415246 +v 0.154842 0.074821 0.411548 +v 0.164398 0.075183 0.407918 +v 0.174717 0.075675 0.405378 +v 0.184879 0.076164 0.402349 +v 0.194560 0.076512 0.398909 +v 0.204821 0.076999 0.396139 +v 0.215183 0.077485 0.393731 +v 0.225333 0.077975 0.390618 +v 0.235077 0.078290 0.387355 +v 0.245301 0.078799 0.384535 +v 0.254968 0.079147 0.381085 +v 0.265184 0.079630 0.378277 +v 0.275509 0.080110 0.375889 +v 0.286348 0.080761 0.373898 +v 0.296597 0.081247 0.371260 +v 0.307532 0.081858 0.369488 +v 0.319036 0.082630 0.368039 +v 0.330048 0.083258 0.366808 +v 0.341624 0.084021 0.365562 +v 0.352584 0.084643 0.363845 +v 0.363583 0.085282 0.362435 +v 0.375154 0.086055 0.361309 +v 0.386140 0.086701 0.359687 +v 0.397082 0.087310 0.358101 +v 0.408040 0.087959 0.356343 +v 0.418459 0.088388 0.354392 +v 0.429287 0.089074 0.352057 +v 0.439529 0.089573 0.349296 +v 0.449030 0.089923 0.345487 +v 0.457575 0.089900 0.340422 +v 0.465941 0.089889 0.334915 +v 0.474606 0.090177 0.329830 +v 0.483032 0.090187 0.324546 +v 0.489394 0.089717 0.315963 +v 0.496421 0.089382 0.308415 +v 0.502732 0.088910 0.299762 +v 0.497250 0.610744 0.384939 +v 0.120857 1.483347 -0.303208 +v 0.574061 0.650841 0.320104 +v 0.449431 0.702427 0.368234 +v -0.608675 1.059358 -0.027468 +v 0.529534 0.084639 0.232909 +v 0.535384 0.084655 0.224041 +v -0.340451 0.549563 -0.286087 +v -0.491352 0.919527 -0.165868 +v -0.140648 0.610477 -0.320866 +v -0.370518 0.549025 -0.280215 +v -0.351771 0.792877 -0.239692 +v 0.717498 0.543388 -0.077581 +v -0.034037 1.220597 -0.126607 +v -0.628043 1.074717 0.182338 +v -0.273279 0.965008 0.268982 +v -0.291077 0.623432 -0.306863 +v -0.280898 0.623504 -0.307813 +v -0.301024 0.623232 -0.304983 +v -0.310882 0.622803 -0.300584 +v -0.364424 1.349197 -0.695388 +v 0.268939 0.740977 -0.305967 +v -0.202878 1.183897 -0.134034 +v -0.120803 0.639130 -0.316208 +v -0.200710 0.638253 -0.309596 +v -0.220722 0.638245 -0.310930 +v 0.556870 0.782747 0.260360 +v -0.495346 1.209757 -0.208373 +v -0.282020 1.106087 0.203294 +v -0.309062 1.120738 0.235012 +v -0.540985 1.197187 0.238584 +v -0.407531 1.008217 0.373563 +v -0.093758 0.954567 -0.067866 +v -0.288492 0.054246 0.380226 +v -0.276821 0.055022 0.379857 +v -0.265106 0.055716 0.379818 +v -0.254599 0.056140 0.378143 +v -0.243501 0.057255 0.376275 +v -0.233587 0.057239 0.373085 +v -0.224007 0.057569 0.369310 +v -0.213783 0.058032 0.366297 +v -0.203358 0.058519 0.364022 +v -0.192600 0.058970 0.361627 +v -0.183610 0.059345 0.357402 +v -0.172694 0.059974 0.355674 +v -0.163567 0.060194 0.351652 +v -0.565796 0.715667 -0.115705 +v -0.624181 1.061127 0.292190 +v -0.244700 1.020847 0.204649 +v -0.250833 1.020977 0.213413 +v -0.588000 0.802407 0.218161 +v 0.548894 0.782997 0.266370 +v 0.569691 0.854717 0.175963 +v -0.558536 1.219127 0.157099 +v 0.012874 0.082664 0.451944 +v 0.025252 0.083569 0.452377 +v 0.036952 0.084305 0.451777 +v 0.047954 0.084966 0.449961 +v 0.057725 0.085287 0.446584 +v 0.067373 0.085592 0.443080 +v 0.077121 0.085934 0.439731 +v 0.087272 0.086424 0.436676 +v 0.096970 0.086737 0.433200 +v 0.106101 0.086927 0.429111 +v 0.116116 0.087412 0.425666 +v 0.125752 0.087752 0.422134 +v 0.135446 0.088145 0.418766 +v 0.145189 0.088453 0.415512 +v 0.155245 0.088929 0.412153 +v 0.165000 0.089268 0.408982 +v 0.175175 0.089754 0.406059 +v 0.184829 0.090109 0.402599 +v 0.195015 0.090601 0.399589 +v 0.204764 0.090962 0.396382 +v 0.215001 0.091428 0.393543 +v 0.225164 0.091873 0.390412 +v 0.234825 0.092219 0.387078 +v 0.245111 0.092706 0.384378 +v 0.254782 0.093030 0.380809 +v 0.265436 0.093589 0.378149 +v 0.275815 0.094120 0.375926 +v -0.240331 0.922328 0.246017 +v 0.109691 1.379848 -0.249619 +v 0.023801 1.364797 -0.198058 +v -0.293532 1.135177 0.222456 +v 0.515193 0.611001 0.375559 +v 0.464696 0.875097 0.250116 +v 0.641786 0.537132 -0.246616 +v 0.363414 0.099084 0.362395 +v 0.375026 0.099837 0.361389 +v 0.386034 0.100494 0.360142 +v 0.397603 0.101228 0.358891 +v 0.408549 0.101857 0.357167 +v 0.419578 0.102488 0.355914 +v 0.430387 0.103094 0.353637 +v 0.440661 0.103611 0.350967 +v 0.450301 0.103932 0.347481 +v 0.458803 0.103977 0.342343 +v 0.467432 0.104152 0.337095 +v 0.475308 0.104041 0.330997 +v 0.483741 0.104067 0.325588 +v 0.491932 0.104133 0.319970 +v 0.499433 0.104009 0.313049 +v 0.506351 0.103751 0.305398 +v 0.512688 0.103307 0.296889 +v 0.518145 0.102799 0.287170 +v 0.533366 0.676545 0.331506 +v 0.639366 0.636537 0.256348 +v 0.671467 0.648159 0.197252 +v 0.536795 0.100044 0.243692 +v 0.542211 0.099619 0.233993 +v 0.548217 0.098689 0.224702 +v 0.555036 0.098515 0.217032 +v 0.562153 0.098055 0.209629 +v -0.380410 0.548946 -0.279770 +v 0.072335 1.278317 -0.145133 +v 0.139787 1.424287 -0.293677 +v 0.475456 0.676738 0.370976 +v -0.280602 0.965127 0.275868 +v -0.393853 0.838907 0.393216 +v -0.110675 0.610909 -0.324819 +v -0.120631 0.610745 -0.323369 +v -0.260599 0.609219 -0.309210 +v -0.250567 0.609187 -0.308689 +v -0.370997 0.621074 -0.275821 +v -0.420656 0.619199 -0.253180 +v -0.410928 0.619422 -0.256179 +v -0.360750 0.621168 -0.277828 +v -0.350700 0.621253 -0.278884 +v -0.230663 0.623634 -0.307587 +v -0.220664 0.623679 -0.308360 +v -0.100775 0.639435 -0.319931 +v -0.033926 1.363958 -0.258789 +v -0.293402 1.120787 0.222587 +v -0.300700 1.120857 0.229803 +v -0.380333 1.121217 0.308047 +v 0.510390 0.862107 0.228118 +v -0.010676 1.263167 -0.089557 +v -0.146627 1.188567 -0.041084 +v 0.594056 0.818737 0.185247 +v -0.288035 0.068264 0.381972 +v -0.275579 0.069176 0.382411 +v -0.264487 0.069846 0.381241 +v -0.254702 0.070251 0.378342 +v -0.245030 0.070579 0.374785 +v -0.235577 0.070845 0.370589 +v -0.225982 0.071163 0.366936 +v -0.216358 0.071500 0.363286 +v -0.205499 0.072054 0.361129 +v -0.195158 0.072549 0.358675 +v -0.185006 0.072964 0.355552 +v -0.175354 0.073354 0.352066 +v -0.165618 0.073758 0.348914 +v -0.156065 0.074061 0.345141 +v -0.441721 0.978608 -0.178395 +v 0.009750 1.423937 -0.200344 +v 0.048440 1.438817 -0.232208 +v 0.112528 1.438877 -0.280339 +v -0.056126 1.335087 -0.137920 +v -0.096877 1.349767 -0.091447 +v 0.279988 0.680179 0.395674 +v 0.012115 0.096351 0.450344 +v 0.024353 0.097350 0.451241 +v 0.036735 0.098226 0.451231 +v 0.047268 0.098697 0.449311 +v 0.057495 0.099218 0.446439 +v 0.067193 0.099531 0.442901 +v 0.077409 0.100001 0.439964 +v 0.087120 0.100354 0.436597 +v 0.096822 0.100718 0.433118 +v 0.106486 0.101060 0.429537 +v 0.116085 0.101407 0.425935 +v 0.125663 0.101719 0.422115 +v 0.135195 0.102004 0.418346 +v 0.144935 0.102426 0.415052 +v 0.154544 0.102800 0.411474 +v 0.164778 0.103248 0.408652 +v 0.174999 0.103711 0.405865 +v 0.184704 0.104021 0.402437 +v 0.194855 0.104504 0.399386 +v 0.204477 0.104873 0.395841 +v 0.214146 0.105231 0.392238 +v 0.224347 0.105625 0.389339 +v 0.234032 0.106028 0.386054 +v 0.243706 0.106334 0.382639 +v 0.253746 0.106686 0.379178 +v -0.348500 1.266097 -0.415380 +v -0.288117 0.908857 0.300005 +v -0.273428 0.908257 0.286185 +v -0.128080 1.203247 -0.049192 +v -0.085920 1.379617 -0.092750 +v -0.295435 0.923137 0.307011 +v -0.259517 0.908587 0.271141 +v -0.022180 1.424047 -0.158401 +v -0.370404 0.791027 0.284779 +v 0.563958 0.809347 0.235377 +v 0.373516 0.113317 0.359205 +v 0.385124 0.114089 0.358363 +v 0.396095 0.114709 0.356810 +v 0.407668 0.115461 0.355711 +v 0.418716 0.116121 0.354670 +v 0.430190 0.116790 0.353165 +v 0.440439 0.117285 0.350676 +v 0.449632 0.117548 0.346712 +v 0.459073 0.117858 0.342700 +v 0.467489 0.117906 0.337377 +v 0.475819 0.117957 0.331871 +v 0.484157 0.118033 0.326375 +v 0.492470 0.118055 0.320748 +v 0.500911 0.118218 0.315411 +v 0.508285 0.118192 0.308890 +v 0.515188 0.117705 0.300699 +v 0.520939 0.117388 0.291635 +v 0.526765 0.116812 0.282270 +v 0.532005 0.116439 0.272457 +v 0.537989 0.115669 0.263152 +v 0.543318 0.115290 0.253415 +v 0.548468 0.114430 0.242986 +v 0.554306 0.114319 0.234112 +v 0.560361 0.113439 0.224891 +v 0.566749 0.112885 0.216471 +v 0.574006 0.113062 0.209511 +v -0.309859 0.993277 0.286301 +v -0.383805 0.805967 0.300754 +v -0.510258 1.251137 -0.268608 +v -0.414045 1.008437 0.381597 +v 0.721284 0.585857 0.052099 +v -0.371389 0.777707 -0.233870 +v -0.461145 0.718087 -0.211847 +v -0.411537 0.819067 -0.192233 +v -0.063711 1.348957 -0.247007 +v -0.060725 0.611563 -0.330265 +v -0.050787 0.611738 -0.331595 +v -0.070714 0.611434 -0.329078 +v -0.080671 0.611304 -0.328698 +v -0.240596 0.609116 -0.306860 +v -0.270666 0.609228 -0.309940 +v -0.280699 0.609198 -0.309792 +v -0.210700 0.623727 -0.308712 +v -0.250672 0.623497 -0.307343 +v -0.635090 0.809797 0.092535 +v -0.311183 0.637291 -0.299848 +v -0.150781 0.624674 -0.317509 +v 0.670112 0.621913 0.212945 +v -0.387026 1.121367 0.315912 +v -0.206435 0.949727 0.188436 +v -0.278478 0.993167 0.261464 +v 0.048851 1.423967 -0.231810 +v 0.040765 1.423967 -0.225957 +v 0.073533 1.423997 -0.248913 +v -0.246602 0.893807 0.254283 +v 0.387020 0.913547 0.242964 +v -0.308203 1.178387 0.236555 +v -0.266740 0.083567 0.378514 +v -0.255815 0.083985 0.376208 +v -0.246040 0.084424 0.373140 +v -0.237021 0.084683 0.368767 +v -0.228029 0.084871 0.364197 +v -0.218603 0.085112 0.360129 +v -0.208349 0.085440 0.357079 +v -0.197885 0.086136 0.355111 +v -0.187117 0.086614 0.352745 +v -0.178042 0.086920 0.348650 +v -0.167853 0.087309 0.345598 +v 0.712977 0.641593 0.012151 +v 0.701677 0.640861 0.132006 +v -0.020323 1.335277 -0.156472 +v 0.056197 1.438817 -0.238665 +v 0.120631 1.438807 -0.286091 +v -0.072848 1.334888 -0.126943 +v -0.164730 1.247537 -0.030864 +v -0.254720 0.936777 0.260407 +v -0.221419 0.978428 0.203161 +v 0.022179 0.110806 0.447657 +v 0.034566 0.111814 0.448462 +v 0.046176 0.112411 0.447144 +v 0.056549 0.112986 0.445122 +v 0.066409 0.113418 0.441947 +v 0.076583 0.113820 0.438844 +v 0.086270 0.114180 0.435340 +v 0.095885 0.114500 0.431711 +v 0.105624 0.114886 0.428298 +v 0.114637 0.115178 0.423963 +v -0.206024 0.977667 0.172627 +v -0.197420 0.976957 0.149814 +v 0.656247 0.524354 -0.227138 +v -0.601288 0.705067 0.144225 +v -0.214433 0.991918 0.178107 +v -0.219256 0.992157 0.188908 +v -0.295038 1.106207 0.219817 +v -0.253884 1.217427 0.032707 +v 0.661275 0.609224 0.235673 +v -0.396405 0.882437 0.425010 +v 0.108894 1.292997 -0.179925 +v 0.028373 1.350287 -0.191439 +v 0.511509 0.835267 0.247393 +v 0.532159 0.611058 0.364858 +v -0.249083 1.203377 0.039366 +v 0.003444 1.379407 -0.192282 +v -0.050173 1.379297 -0.146866 +v -0.067505 1.379527 -0.118824 +v 0.079827 1.542747 -0.255765 +v 0.506306 0.610948 0.380444 +v -0.664825 0.883987 0.303378 +v -0.004132 1.423807 -0.185429 +v -0.005746 1.409057 -0.187731 +v 0.100695 1.379758 -0.245048 +v 0.372250 0.126682 0.358055 +v 0.382519 0.127179 0.355314 +v 0.393346 0.127872 0.353281 +v 0.404302 0.128521 0.351596 +v 0.415852 0.129298 0.350510 +v 0.427334 0.130014 0.349294 +v 0.438224 0.130598 0.347459 +v 0.448055 0.130997 0.344435 +v 0.457548 0.131273 0.340531 +v 0.466420 0.131430 0.335764 +v 0.475284 0.131623 0.331052 +v 0.483426 0.131691 0.325421 +v 0.491462 0.131602 0.319440 +v 0.499682 0.131443 0.314017 +v 0.507633 0.131590 0.307514 +v 0.515455 0.131622 0.301286 +v 0.522616 0.131340 0.293954 +v 0.529546 0.131070 0.286331 +v 0.536297 0.130863 0.278563 +v 0.543010 0.130697 0.270791 +v 0.548963 0.129941 0.261499 +v 0.554617 0.129352 0.251928 +v 0.560205 0.129389 0.242901 +v 0.565386 0.128516 0.232489 +v 0.571793 0.127996 0.224036 +v 0.578768 0.127674 0.216559 +v -0.260437 0.979068 0.252387 +v -0.256131 0.950997 0.258304 +v -0.400819 1.064618 0.348737 +v -0.394701 1.064488 0.339974 +v -0.058485 1.394278 -0.123389 +v 0.542465 0.676869 0.327048 +v -0.371247 0.721347 -0.261647 +v -0.083528 1.304097 -0.229353 +v 0.680753 0.133835 0.206551 +v -0.440503 0.546937 -0.255653 +v -0.460408 0.546251 -0.247736 +v -0.320361 0.550468 -0.297353 +v -0.566106 0.449686 0.053404 +v -0.362135 0.949437 -0.175020 +v -0.250380 0.551312 -0.305778 +v -0.451441 0.718617 -0.216167 +v -0.040825 0.611959 -0.334096 +v -0.030700 0.612287 -0.336784 +v -0.240648 0.623434 -0.306252 +v -0.200709 0.623780 -0.308611 +v -0.160770 0.624532 -0.316149 +v -0.390455 0.605986 -0.269381 +v 0.605099 0.611206 0.312071 +v 0.454980 0.874717 0.253497 +v -0.245481 1.217577 0.027353 +v -0.389327 0.938278 0.400116 +v -0.403497 0.938548 0.414776 +v 0.056999 1.423948 -0.237645 +v 0.081859 1.424047 -0.254455 +v -0.102932 1.349838 -0.082535 +v -0.195215 1.232377 -0.005298 +v 0.147789 1.483157 -0.334304 +v 0.255500 0.735237 0.351059 +v 0.070014 1.394397 -0.236638 +v -0.248998 0.097950 0.368931 +v -0.238615 0.098418 0.366428 +v -0.229698 0.098562 0.361696 +v -0.220686 0.098804 0.357210 +v -0.305909 0.894557 0.309130 +v -0.359291 0.791377 0.283290 +v -0.287059 1.177788 0.196942 +v -0.292073 1.177907 0.206982 +v -0.169372 0.101015 0.343302 +v -0.291698 1.063387 0.224358 +v -0.677798 0.896637 0.113348 +v -0.029437 1.335037 -0.152162 +v 0.064011 1.438877 -0.244990 +v -0.444134 0.966247 0.426616 +v 0.128651 1.438687 -0.292013 +v -0.094730 1.334947 -0.105765 +v -0.150187 1.247107 -0.028060 +v -0.129323 1.247757 -0.032602 +v 0.718623 0.599577 -0.057611 +v -0.166047 1.218147 -0.015800 +v -0.217035 0.906997 0.208316 +v 0.054346 0.126562 0.441957 +v 0.064729 0.127071 0.439462 +v 0.074572 0.127421 0.436153 +v 0.084131 0.127809 0.432400 +v 0.658261 0.714677 0.178070 +v -0.385654 1.107048 0.317924 +v -0.662956 0.883967 0.313445 +v -0.256170 0.879637 0.257809 +v 0.724226 0.572001 0.022177 +v -0.628404 0.800917 0.043917 +v -0.329619 0.865177 0.309632 +v -0.157374 1.232798 -0.020673 +v 0.701975 0.556319 0.172060 +v -0.310455 1.106267 0.232953 +v 0.676916 0.653084 -0.137407 +v 0.488269 0.663684 0.371866 +v 0.138562 1.497917 -0.329913 +v 0.654823 0.765887 0.092259 +v -0.270873 1.128747 0.164689 +v -0.233653 1.067607 -0.055344 +v -0.254650 1.203437 0.048978 +v 0.046854 1.379517 -0.217448 +v 0.105130 1.527757 -0.290257 +v -0.596199 0.690157 -0.055340 +v -0.276038 0.850797 0.263894 +v 0.085616 1.541787 -0.263495 +v -0.064604 1.394348 -0.114604 +v -0.431546 1.036717 0.392154 +v -0.326321 1.178617 0.263544 +v -0.280749 0.922997 0.293240 +v 0.371334 0.142840 0.374006 +v 0.377143 0.141821 0.364745 +v 0.384538 0.141170 0.358224 +v 0.393595 0.141301 0.353990 +v 0.403656 0.141963 0.350873 +v 0.413920 0.142536 0.348099 +v 0.424765 0.143240 0.346126 +v 0.434976 0.143733 0.343194 +v 0.445112 0.144229 0.340161 +v 0.454644 0.144474 0.336366 +v 0.463621 0.144668 0.331804 +v 0.473308 0.145018 0.328353 +v 0.481742 0.145100 0.322966 +v 0.490028 0.145123 0.317370 +v 0.498187 0.145152 0.311567 +v 0.506328 0.145199 0.305742 +v 0.514630 0.145228 0.300206 +v 0.523110 0.145269 0.294854 +v 0.531079 0.145335 0.288799 +v 0.538741 0.145220 0.282322 +v 0.546186 0.145212 0.275532 +v 0.553233 0.144899 0.268045 +v 0.559471 0.144505 0.259459 +v 0.565103 0.143941 0.249925 +v 0.570208 0.143112 0.239479 +v 0.576247 0.142873 0.230736 +v 0.583189 0.142605 0.223166 +v 0.591434 0.142639 0.217555 +v -0.290038 0.894527 0.297045 +v -0.323388 1.034877 0.266735 +v -0.332358 1.034768 0.271295 +v -0.338736 0.908427 0.332151 +v 0.469903 0.741867 0.327637 +v 0.668645 0.148753 0.224402 +v 0.679641 0.149267 0.222870 +v 0.688723 0.149202 0.218526 +v 0.697020 0.149273 0.212769 +v 0.705159 0.149513 0.206890 +v 0.712756 0.149441 0.200247 +v 0.720368 0.149275 0.193677 +v 0.728080 0.149027 0.187161 +v 0.736200 0.149272 0.181357 +v 0.743835 0.149109 0.174783 +v 0.750769 0.148871 0.167155 +v 0.757175 0.148283 0.158696 +v 0.763570 0.147704 0.150190 +v 0.771590 0.148633 0.143584 +v 0.776386 0.147469 0.133691 +v 0.781399 0.146679 0.123146 +v 0.786094 0.146246 0.112440 +v -0.085917 1.349647 -0.110908 +v -0.581685 0.758547 0.134154 +v 0.192460 0.705217 0.347968 +v -0.275506 1.177507 0.177601 +v -0.418942 0.938388 0.427700 +v 0.115646 1.365297 -0.240998 +v 0.090188 1.424087 -0.259991 +v 0.478232 0.742047 0.322156 +v 0.151189 1.409718 -0.294799 +v -0.187500 1.232527 -0.011502 +v 0.069374 1.365037 -0.220058 +v -0.362085 1.077647 0.281144 +v 0.485263 0.742017 0.314562 +v -0.252696 0.111472 0.363818 +v -0.243082 0.111574 0.359941 +v -0.233485 0.111764 0.356166 +v -0.223694 0.112285 0.352942 +v 0.492794 0.741997 0.308011 +v 0.041728 1.364827 -0.207326 +v -0.287329 1.163217 0.196893 +v -0.321743 0.908587 0.321420 +v -0.171706 0.114519 0.340074 +v 0.513123 0.742367 0.302141 +v -0.367260 1.149727 0.291987 +v -0.204306 1.246927 -0.000685 +v -0.038483 1.334907 -0.147659 +v 0.096552 1.438787 -0.268243 +v 0.157382 1.439107 -0.320980 +v 0.150645 1.438767 -0.312764 +v -0.216362 1.188727 0.016356 +v -0.352634 1.281717 -0.465498 +v -0.016129 1.248297 -0.097589 +v 0.548628 0.650580 0.335947 +v -0.366364 1.135448 0.293273 +v 0.522701 0.742567 0.298354 +v 0.532138 0.742567 0.294403 +v 0.541135 0.742747 0.290082 +v 0.080579 0.141226 0.427273 +v 0.549635 0.742997 0.284870 +v 0.557860 0.743047 0.279239 +v -0.366117 1.121107 0.293485 +v -0.338928 1.192728 0.262907 +v -0.286183 1.192207 0.198025 +v -0.590455 0.703437 -0.065496 +v -0.208766 1.188637 0.009771 +v -0.201272 1.188577 0.003036 +v -0.005784 1.394187 -0.187889 +v 0.147662 1.322847 -0.229141 +v 0.681322 0.653554 -0.127696 +v -0.070841 1.394438 -0.105876 +v -0.302757 1.106267 0.226413 +v 0.085804 1.513017 -0.265718 +v 0.124159 1.512837 -0.315499 +v 0.136634 1.380097 -0.263222 +v 0.091751 1.379737 -0.240418 +v 0.068963 1.527527 -0.236828 +v 0.110972 1.527637 -0.299176 +v 0.136469 1.526727 -0.350015 +v -0.073426 1.379477 -0.109885 +v 0.035386 1.512897 -0.197698 +v 0.643533 0.702037 0.209707 +v 0.566043 0.743037 0.273531 +v 0.573507 0.742947 0.266826 +v 0.581043 0.742867 0.260195 +v 0.377133 0.156908 0.382564 +v 0.383909 0.156824 0.374781 +v 0.392628 0.157241 0.369859 +v 0.400994 0.157194 0.364366 +v 0.409255 0.157230 0.358713 +v 0.417097 0.156911 0.352637 +v 0.426040 0.157090 0.348019 +v 0.434475 0.157130 0.342724 +v 0.443385 0.157423 0.338002 +v 0.452205 0.157662 0.333093 +v 0.461150 0.157862 0.328401 +v 0.470604 0.158257 0.324549 +v 0.479753 0.158388 0.320206 +v 0.488593 0.158569 0.315388 +v 0.496850 0.158618 0.309719 +v 0.505445 0.158813 0.304542 +v 0.514504 0.158972 0.300128 +v 0.523544 0.159138 0.295622 +v 0.532268 0.159374 0.290643 +v 0.540586 0.159397 0.285101 +v 0.548708 0.159511 0.279273 +v 0.556365 0.159398 0.272783 +v 0.563397 0.159107 0.265297 +v 0.569552 0.158751 0.256637 +v 0.575232 0.158162 0.247143 +v 0.580903 0.157562 0.237643 +v 0.587302 0.157024 0.229287 +v 0.595261 0.157341 0.223246 +v 0.588166 0.742877 0.252810 +v -0.372542 0.965347 0.354084 +v -0.366652 0.965047 0.345173 +v -0.360751 0.965108 0.335680 +v 0.594568 0.742787 0.244374 +v 0.601319 0.742597 0.236656 +v 0.685695 0.164560 0.231027 +v 0.694753 0.164364 0.227408 +v 0.703586 0.164598 0.222372 +v 0.711920 0.164543 0.216913 +v 0.719744 0.164251 0.210614 +v 0.727786 0.164536 0.204699 +v 0.735314 0.164598 0.198008 +v 0.742988 0.164491 0.191478 +v 0.750257 0.163999 0.184288 +v 0.757696 0.164126 0.177547 +v 0.764705 0.163953 0.170035 +v 0.771489 0.163995 0.162335 +v 0.777918 0.163496 0.153944 +v 0.784717 0.163347 0.146245 +v 0.790048 0.162259 0.135961 +v 0.795901 0.162277 0.127081 +v 0.663430 0.635553 0.221225 +v -0.260270 0.922717 0.270096 +v -0.303724 1.163788 0.224994 +v 0.078821 1.364717 -0.224134 +v 0.444597 0.715367 0.361187 +v 0.538810 0.716327 0.304289 +v 0.342580 0.777857 0.318747 +v 0.002013 1.394247 -0.194220 +v 0.098533 1.424167 -0.265495 +v -0.151738 1.290717 -0.047851 +v -0.166968 1.232717 -0.016999 +v -0.177336 1.232548 -0.014416 +v 0.422460 0.609052 0.416978 +v 0.607777 0.742527 0.228207 +v -0.257184 0.124428 0.357044 +v 0.614436 0.742277 0.220389 +v 0.621215 0.742057 0.212693 +v 0.627704 0.742027 0.204290 +v 0.490860 0.848517 0.252698 +v -0.286028 1.077628 0.215288 +v -0.353994 1.020787 0.292803 +v -0.325046 1.063237 0.246750 +v 0.634322 0.742047 0.195968 +v 0.640962 0.741807 0.188174 +v -0.295512 0.908867 0.306796 +v -0.196696 1.246828 -0.007519 +v -0.047389 1.334967 -0.142920 +v -0.064567 1.334938 -0.132573 +v 0.136029 1.439008 -0.299048 +v 0.690051 0.668244 -0.097650 +v -0.456797 0.980098 0.425939 +v 0.646419 0.741477 0.178549 +v 0.119885 1.321827 -0.199208 +v -0.007975 1.248467 -0.103450 +v -0.230417 0.964767 0.225152 +v -0.403901 1.135647 0.326934 +v -0.060997 1.218217 -0.092914 +v -0.025573 1.409127 -0.163524 +v -0.392582 0.952148 0.395609 +v 0.672940 0.738147 -0.047828 +v -0.276334 1.120287 0.194883 +v -0.121967 1.232927 -0.039700 +v -0.418303 0.809557 0.376186 +v 0.081963 1.293107 -0.148711 +v 0.073686 1.293038 -0.143073 +v 0.065830 1.292687 -0.136924 +v -0.193416 1.188678 -0.003106 +v -0.159877 1.276057 -0.042022 +v 0.065668 1.498287 -0.241728 +v 0.105318 1.498127 -0.290210 +v 0.144518 1.498147 -0.339380 +v -0.408212 1.121668 0.338201 +v 0.091298 1.512527 -0.273830 +v 0.564248 0.782607 0.253562 +v 0.127696 1.380057 -0.258626 +v 0.082793 1.379717 -0.235806 +v 0.037922 1.379517 -0.212769 +v -0.004909 1.379347 -0.186743 +v -0.056387 1.379328 -0.138198 +v -0.119977 1.203407 -0.055072 +v -0.112327 1.203288 -0.061638 +v 0.049969 1.279897 -0.123958 +v 0.675390 0.738237 -0.017823 +v 0.366686 0.171597 0.403045 +v 0.374355 0.171479 0.396370 +v 0.381778 0.171591 0.389469 +v 0.390410 0.172083 0.384451 +v 0.398073 0.171915 0.377919 +v 0.406298 0.171967 0.372292 +v 0.414634 0.171952 0.366727 +v 0.422814 0.172062 0.361000 +v 0.430687 0.171657 0.354717 +v 0.439284 0.172231 0.349641 +v 0.447223 0.171829 0.343578 +v 0.454897 0.171716 0.337125 +v 0.462595 0.171629 0.330684 +v 0.471506 0.172325 0.325860 +v 0.480442 0.172511 0.321240 +v 0.489225 0.172312 0.316418 +v 0.497935 0.172597 0.311433 +v 0.506178 0.172644 0.305765 +v 0.515038 0.172854 0.300998 +v 0.524558 0.173225 0.297178 +v 0.533486 0.173414 0.292541 +v 0.541862 0.173412 0.287105 +v 0.550689 0.173647 0.282252 +v 0.559054 0.173645 0.276788 +v 0.566718 0.173480 0.270243 +v 0.573289 0.173448 0.262279 +v 0.579452 0.173119 0.253668 +v 0.585448 0.172334 0.244417 +v 0.592335 0.172102 0.236811 +v 0.654498 0.622889 0.243196 +v -0.330565 0.908458 0.326360 +v -0.342660 0.951007 0.326662 +v -0.334375 0.951068 0.321079 +v -0.325558 0.951068 0.316218 +v -0.386506 0.924227 0.404303 +v 0.523988 0.611054 0.370650 +v 0.333162 0.777767 0.322975 +v 0.698442 0.178630 0.232860 +v 0.708023 0.178883 0.229114 +v 0.716818 0.179110 0.224183 +v 0.725140 0.179093 0.218690 +v 0.732876 0.178930 0.212254 +v 0.740850 0.179240 0.206266 +v 0.748109 0.178832 0.199058 +v 0.755529 0.178957 0.192265 +v 0.762602 0.178705 0.184862 +v 0.770077 0.178778 0.178125 +v 0.776783 0.178201 0.170033 +v 0.783590 0.178203 0.162362 +v 0.790128 0.177767 0.154078 +v 0.796869 0.177814 0.146368 +v 0.802898 0.177027 0.137148 +v 0.809343 0.177205 0.129221 +v 0.075129 1.267147 -0.174014 +v 0.362529 0.864017 -0.243261 +v 0.062034 1.512977 -0.229130 +v 0.539636 0.689937 0.323052 +v 0.530363 0.689997 0.327208 +v 0.720113 0.613849 0.002143 +v 0.104283 1.350547 -0.222314 +v -0.293561 0.993218 0.274799 +v 0.123735 1.424047 -0.281742 +v 0.099161 1.483268 -0.281530 +v 0.677485 0.724007 0.072079 +v 0.572937 0.611246 0.335939 +v 0.541085 0.782737 0.272592 +v -0.265238 0.136241 0.344923 +v 0.704973 0.584450 -0.117504 +v 0.637500 0.792917 -0.047803 +v 0.476440 0.834907 0.266905 +v 0.467087 0.835107 0.271257 +v -0.237810 1.144967 0.035799 +v -0.279123 1.077558 0.207585 +v -0.273091 1.077407 0.198723 +v -0.387982 1.035727 0.331633 +v -0.310624 0.965288 0.302723 +v -0.402709 1.093297 0.345825 +v -0.358119 1.149887 0.287738 +v -0.190114 1.246717 -0.015543 +v -0.183004 1.246758 -0.022726 +v -0.080943 1.334918 -0.121117 +v 0.163297 1.438817 -0.328049 +v 0.699898 0.626859 0.152170 +v -0.667543 0.950508 0.053090 +v 0.053614 1.498277 -0.224047 +v 0.005554 1.320727 -0.154174 +v -0.102576 1.320157 -0.099715 +v -0.082503 1.262828 -0.052702 +v -0.072936 1.262857 -0.056596 +v 0.104390 1.438927 -0.274519 +v 0.015170 1.320557 -0.157963 +v -0.153037 1.275927 -0.050004 +v -0.107761 1.277747 -0.071204 +v -0.008814 1.277867 -0.086763 +v -0.221080 1.037017 -0.045274 +v -0.471407 1.306107 -0.449110 +v 0.153922 1.483147 -0.343052 +v -0.104676 1.291367 -0.084967 +v -0.158200 1.290757 -0.039505 +v 0.028324 1.497887 -0.190450 +v 0.072018 1.498238 -0.250329 +v 0.112272 1.498137 -0.297814 +v 0.714819 0.627782 0.042186 +v 0.049471 1.512807 -0.212449 +v 0.098423 1.512997 -0.282487 +v -0.229725 1.067677 -0.045278 +v -0.022339 1.293287 -0.105909 +v 0.035056 1.497997 -0.198171 +v -0.200066 1.203337 0.005009 +v -0.184180 1.203297 -0.007179 +v -0.151974 1.203187 -0.030999 +v -0.313632 1.178437 0.246895 +v -0.319319 1.178647 0.256015 +v 0.586183 0.663689 0.302658 +v -0.055752 1.409217 -0.119192 +v 0.371575 0.186919 0.410229 +v 0.380350 0.187251 0.405361 +v 0.388105 0.187040 0.398917 +v 0.395740 0.186856 0.392367 +v 0.403317 0.186788 0.385724 +v 0.410966 0.186628 0.379194 +v 0.419198 0.186667 0.373543 +v 0.428038 0.186961 0.368766 +v 0.436572 0.186608 0.363637 +v 0.445945 0.187019 0.359782 +v 0.455302 0.186849 0.355274 +v 0.463733 0.187764 0.350102 +v 0.471118 0.187919 0.343293 +v 0.477530 0.187315 0.334869 +v 0.485182 0.187140 0.328308 +v 0.493807 0.187582 0.323248 +v 0.502123 0.187575 0.317687 +v 0.509220 0.187190 0.310291 +v 0.516719 0.187142 0.303498 +v 0.526232 0.187521 0.299562 +v 0.535690 0.187952 0.295739 +v 0.544129 0.187899 0.290414 +v 0.552969 0.188123 0.285720 +v 0.562077 0.188189 0.281370 +v 0.570401 0.188206 0.275824 +v 0.577394 0.187919 0.268295 +v 0.583593 0.187534 0.259665 +v 0.589903 0.187142 0.251118 +v 0.596349 0.186628 0.242717 +v 0.603666 0.186706 0.235808 +v -0.352105 0.865617 0.330449 +v 0.506970 0.716127 0.328635 +v -0.374724 0.923747 0.386493 +v -0.380386 0.924037 0.395529 +v -0.362838 0.909187 0.368176 +v -0.672424 0.937007 0.073109 +v -0.162199 1.188447 -0.028434 +v 0.494281 0.835107 0.257643 +v 0.710867 0.193221 0.233138 +v 0.720430 0.193450 0.229532 +v 0.728776 0.193456 0.224073 +v 0.736935 0.193559 0.218319 +v 0.744721 0.193386 0.211985 +v 0.752285 0.193354 0.205357 +v 0.759657 0.193490 0.198478 +v 0.767092 0.193577 0.191715 +v 0.774485 0.193115 0.184660 +v 0.781623 0.192826 0.177314 +v 0.788663 0.192606 0.169855 +v 0.795187 0.192218 0.161524 +v 0.802056 0.192161 0.153920 +v 0.808783 0.192196 0.146176 +v 0.815276 0.191829 0.137868 +v 0.821689 0.191516 0.129451 +v -0.391245 0.823797 0.362019 +v 0.688167 0.668330 0.142092 +v 0.116516 1.527748 -0.309355 +v 0.143528 1.409577 -0.288294 +v 0.667687 0.752267 -0.017362 +v -0.524364 0.768207 0.260037 +v -0.677664 0.896627 0.103356 +v -0.333309 0.835617 0.286145 +v -0.225461 1.159537 0.020583 +v 0.154540 1.424147 -0.307243 +v -0.385188 1.420857 -0.694428 +v 0.091606 1.278487 -0.169750 +v -0.036670 1.379328 -0.162438 +v -0.596684 0.635900 -0.075306 +v -0.289617 0.937167 0.297917 +v -0.418313 0.994357 0.393336 +v 0.514290 0.715757 0.321566 +v -0.364889 1.360167 -0.525378 +v -0.047399 1.233557 -0.090344 +v 0.611565 0.650319 0.286756 +v 0.604208 0.650486 0.293526 +v 0.587155 0.624458 0.321360 +v 0.066152 1.350047 -0.207283 +v -0.472734 1.022287 0.420587 +v -0.409930 1.093258 0.353246 +v -0.375729 1.149558 0.297300 +v -0.383809 1.149617 0.303250 +v -0.173989 1.247028 -0.027124 +v -0.100615 1.334987 -0.096763 +v -0.607843 0.786387 0.043932 +v 0.703255 0.626981 0.142067 +v -0.411149 0.938527 0.421378 +v 0.033781 1.453598 -0.218255 +v 0.153881 1.453618 -0.325667 +v 0.079424 1.278628 -0.152488 +v -0.406208 0.839507 0.410439 +v 0.044122 1.306687 -0.151021 +v -0.024365 1.306098 -0.127149 +v -0.109324 1.305448 -0.091910 +v -0.407028 1.064837 0.356967 +v -0.100606 1.305327 -0.096909 +v 0.115635 1.468547 -0.293248 +v 0.106417 1.483327 -0.288864 +v 0.158896 1.483247 -0.353644 +v -0.113776 1.290907 -0.080757 +v -0.131776 1.188698 -0.054719 +v 0.053216 1.307227 -0.155251 +v -0.130250 1.232958 -0.034073 +v 0.104070 1.284187 -0.198632 +v 0.704215 0.669241 0.032132 +v 0.055985 1.512778 -0.220419 +v -0.087903 1.437777 -0.199256 +v -0.628521 1.074457 0.162375 +v -0.224328 1.174108 0.022068 +v -0.078095 1.320157 -0.116987 +v 0.419965 0.901037 0.238495 +v 0.424303 0.617946 -0.340492 +v 0.698800 0.640941 0.142215 +v 0.720456 0.571733 0.072162 +v 0.363981 0.832367 0.297170 +v -0.448917 1.079037 0.384913 +v 0.368428 0.201835 0.423432 +v 0.377299 0.202103 0.418664 +v 0.385098 0.201799 0.412404 +v 0.392698 0.201724 0.405766 +v 0.400266 0.201636 0.399113 +v 0.407741 0.201640 0.392352 +v 0.415303 0.201541 0.385705 +v 0.423711 0.201412 0.380324 +v 0.433346 0.201695 0.376736 +v 0.443625 0.202120 0.374104 +v 0.453988 0.202433 0.371600 +v 0.464052 0.203093 0.368799 +v 0.471729 0.203084 0.361946 +v 0.478491 0.203001 0.354169 +v 0.484692 0.202701 0.345511 +v 0.492281 0.202570 0.338905 +v 0.499294 0.202235 0.331387 +v 0.506605 0.202368 0.324453 +v 0.512798 0.202055 0.315703 +v 0.521128 0.202030 0.310158 +v 0.530428 0.201891 0.306029 +v 0.539554 0.202611 0.301703 +v 0.546955 0.202726 0.294627 +v 0.556212 0.202583 0.290382 +v 0.565767 0.202937 0.286720 +v 0.574140 0.202882 0.281440 +v 0.581167 0.202567 0.273983 +v 0.587553 0.202100 0.265528 +v 0.593935 0.201633 0.257061 +v 0.600993 0.201845 0.249992 +v 0.607578 0.201281 0.241650 +v 0.614431 0.201078 0.233893 +v 0.589940 0.809007 0.202217 +v -0.378165 1.078268 0.310633 +v -0.373332 0.909667 0.388624 +v -0.368111 0.909427 0.378753 +v -0.624011 1.060658 0.162466 +v -0.284478 0.880157 0.287347 +v -0.265379 1.159627 0.144607 +v -0.565825 0.729367 -0.105772 +v 0.722112 0.207477 0.231927 +v 0.731661 0.207709 0.228312 +v 0.739979 0.207724 0.222888 +v 0.747766 0.207581 0.216556 +v 0.755379 0.207523 0.209962 +v 0.763171 0.207872 0.203722 +v 0.771000 0.207702 0.197432 +v 0.779242 0.207762 0.191787 +v 0.787017 0.207580 0.185416 +v 0.794578 0.207568 0.178774 +v 0.801539 0.207430 0.171264 +v 0.807977 0.207100 0.162911 +v 0.814518 0.206703 0.154635 +v 0.821180 0.206790 0.146865 +v 0.827145 0.206234 0.137680 +v 0.832926 0.205839 0.128327 +v 0.642834 0.650834 -0.187423 +v -0.267843 0.979158 0.259203 +v 0.105060 1.394397 -0.256291 +v -0.275315 0.979237 0.265957 +v 0.621281 0.715757 0.230402 +v -0.396165 0.938388 0.407859 +v -0.224445 1.113157 -0.035485 +v 0.197249 0.692737 0.355635 +v -0.253866 0.893957 0.261098 +v -0.661511 0.868947 0.023593 +v 0.176748 1.378257 -0.306857 +v -0.165221 1.159417 -0.050467 +v 0.032072 1.250148 -0.141275 +v -0.582690 0.797847 -0.056863 +v -0.200134 0.920787 0.179848 +v -0.248868 0.163159 0.299266 +v -0.021107 1.394177 -0.174988 +v -0.039052 1.233477 -0.095853 +v -0.031554 1.233577 -0.102611 +v -0.599606 0.703867 -0.035232 +v -0.391746 0.776027 0.288496 +v -0.463624 1.022508 0.416296 +v -0.454704 1.022518 0.411492 +v 0.414124 0.608891 0.422434 +v 0.498508 0.715817 0.333948 +v -0.419817 0.824687 0.407904 +v -0.139007 1.247427 -0.029292 +v -0.224584 1.188767 0.022032 +v 0.706867 0.627188 0.122076 +v -0.023747 1.453598 -0.142889 +v 0.040985 1.453657 -0.225302 +v 0.132870 1.453688 -0.303499 +v 0.649299 0.665499 -0.177524 +v -0.010404 1.424137 -0.176338 +v 0.042155 1.468557 -0.223390 +v 0.123070 1.468537 -0.300018 +v 0.624666 0.663379 -0.207806 +v -0.116940 1.305377 -0.085332 +v 0.026163 1.483358 -0.193700 +v 0.070845 1.483358 -0.252272 +v 0.113770 1.483288 -0.295726 +v 0.048354 1.292257 -0.127162 +v 0.127961 1.483217 -0.310248 +v -0.185503 1.188537 -0.009316 +v -0.110150 1.189008 -0.076105 +v 0.011718 1.379417 -0.197915 +v 0.143415 1.438937 -0.305858 +v -0.412905 0.882387 0.435940 +v 0.098358 1.498147 -0.282598 +v 0.085347 1.273807 -0.186994 +v -0.209928 1.173908 0.007790 +v -0.351150 1.297548 -0.455416 +v -0.255758 1.048677 0.188649 +v 0.655490 0.649157 0.226982 +v -0.626635 0.638242 0.064729 +v -0.182671 1.365837 -0.158564 +v -0.208378 1.203288 0.010556 +v 0.725422 0.543941 -0.027636 +v -0.013800 0.599869 -0.375474 +v 0.652383 0.736807 -0.097757 +v 0.381234 0.216593 0.424545 +v 0.388869 0.216475 0.418030 +v 0.396383 0.216410 0.411326 +v 0.404004 0.216298 0.404754 +v 0.411079 0.215958 0.397352 +v 0.419294 0.216024 0.391642 +v 0.428734 0.216525 0.387696 +v 0.439082 0.216933 0.385089 +v 0.449484 0.216977 0.382929 +v 0.460674 0.217962 0.381210 +v 0.469232 0.217646 0.376129 +v 0.477018 0.217450 0.369763 +v 0.484229 0.217747 0.362686 +v 0.490864 0.217866 0.354863 +v 0.497544 0.217361 0.346743 +v 0.504282 0.217263 0.338927 +v 0.511040 0.217169 0.331104 +v 0.518065 0.216860 0.323562 +v 0.526695 0.216611 0.318366 +v 0.535565 0.216805 0.313684 +v 0.543717 0.216977 0.307870 +v 0.551829 0.217141 0.302006 +v 0.560924 0.217288 0.297485 +v 0.569781 0.217415 0.292875 +v 0.578029 0.217469 0.287242 +v 0.585098 0.217105 0.279848 +v 0.591899 0.216923 0.272134 +v 0.598382 0.216415 0.263738 +v 0.605075 0.216319 0.255946 +v 0.611461 0.215840 0.247469 +v 0.617853 0.215386 0.239034 +v 0.624769 0.215175 0.231438 +v 0.473818 0.875457 0.245807 +v 0.505841 0.663723 0.362074 +v 0.700092 0.682957 -0.017796 +v 0.700737 0.584053 -0.127350 +v -0.299447 0.880187 0.300775 +v -0.286354 0.865707 0.284448 +v 0.722570 0.543724 -0.047529 +v -0.274117 1.128618 0.184575 +v 0.732830 0.221516 0.230074 +v 0.741749 0.221700 0.225521 +v 0.750108 0.221686 0.220103 +v 0.758081 0.221862 0.214015 +v 0.766182 0.221995 0.208152 +v 0.774665 0.221970 0.202860 +v 0.783074 0.221925 0.197452 +v 0.791282 0.221988 0.191776 +v 0.798688 0.221558 0.184738 +v 0.806011 0.221713 0.177838 +v 0.812396 0.221439 0.169426 +v 0.818693 0.221188 0.160938 +v 0.825232 0.220856 0.152639 +v 0.831429 0.220661 0.144080 +v 0.837398 0.220581 0.135422 +v 0.843205 0.219692 0.123815 +v -0.055641 1.292197 -0.101737 +v -0.122712 1.290817 -0.076114 +v -0.343500 0.834987 0.289078 +v -0.424963 1.121467 0.349233 +v 0.493648 0.676774 0.362006 +v -0.297494 1.163667 0.216862 +v 0.477998 0.862047 0.251805 +v -0.650653 0.869497 0.193519 +v 0.712808 0.641557 0.022119 +v -0.273661 0.173276 0.280163 +v 0.517461 0.862257 0.220683 +v -0.283036 0.851027 0.271439 +v 0.138766 1.336417 -0.224573 +v 0.121718 1.336107 -0.214378 +v -0.154179 1.188577 -0.034405 +v 0.388710 0.846377 0.280677 +v -0.329945 1.192807 0.258301 +v -0.073454 1.305808 -0.110264 +v -0.628733 0.665322 0.054585 +v 0.675754 0.621608 0.203387 +v 0.164719 1.408998 -0.308274 +v -0.439802 1.079188 0.380487 +v -0.119725 1.247997 -0.036207 +v -0.045966 1.292347 -0.105235 +v 0.191621 0.718617 0.347027 +v 0.048441 1.453647 -0.232076 +v -0.415887 0.924457 0.432081 +v -0.450928 1.263397 -0.127720 +v 0.119337 1.498207 -0.305331 +v 0.659292 0.765827 0.022176 +v -0.192519 0.948857 0.155745 +v -0.373102 0.821277 0.316737 +v -0.278323 0.951037 0.279135 +v 0.032579 1.483457 -0.201773 +v 0.611980 0.702767 0.252324 +v 0.056631 1.292417 -0.132715 +v -0.275851 1.191937 0.177385 +v 0.612532 0.611079 0.305331 +v -0.271161 0.951077 0.271765 +v -0.220331 1.232107 0.011072 +v -0.024867 1.349827 -0.163001 +v 0.087388 1.365267 -0.229085 +v 0.219024 0.719747 0.350283 +v 0.153415 1.380568 -0.274057 +v 0.338147 0.818617 0.312671 +v -0.165071 1.173737 -0.032783 +v -0.381089 0.620803 -0.273172 +v -0.205702 1.029958 0.030654 +v -0.639087 1.073957 0.072315 +v 0.098886 1.527717 -0.281580 +v 0.650085 0.728317 0.183652 +v -0.043584 1.409107 -0.136902 +v -0.410989 0.966427 0.404008 +v -0.280919 0.908847 0.293007 +v 0.375398 0.230708 0.433799 +v 0.384267 0.230838 0.429118 +v 0.391971 0.230762 0.422721 +v 0.399176 0.230518 0.415464 +v 0.406619 0.230537 0.408676 +v 0.414232 0.230422 0.402082 +v 0.422447 0.230475 0.396406 +v 0.432046 0.230739 0.392746 +v 0.443488 0.231273 0.391757 +v 0.454879 0.231886 0.390643 +v 0.464504 0.232022 0.387099 +v 0.473355 0.232204 0.382338 +v 0.480593 0.231915 0.375133 +v 0.487910 0.232053 0.368185 +v 0.494409 0.231691 0.359902 +v 0.501016 0.231751 0.352033 +v 0.507558 0.231396 0.343765 +v 0.514843 0.231608 0.336780 +v 0.523073 0.231107 0.330915 +v 0.531853 0.231357 0.326069 +v 0.540119 0.231375 0.320447 +v 0.547986 0.231753 0.314234 +v 0.556489 0.231654 0.308902 +v 0.565323 0.231790 0.304157 +v 0.573708 0.231729 0.298739 +v 0.581494 0.231532 0.292363 +v 0.588953 0.231584 0.285614 +v 0.595846 0.231437 0.278012 +v 0.602654 0.231282 0.270311 +v 0.609143 0.230748 0.261932 +v 0.615355 0.230401 0.253297 +v 0.621601 0.230017 0.244694 +v 0.627970 0.229589 0.236216 +v 0.634731 0.229438 0.228374 +v 0.571048 0.809377 0.227928 +v -0.291886 0.880147 0.294157 +v 0.721844 0.585931 0.042162 +v -0.307839 0.880237 0.306197 +v -0.317402 0.879977 0.309871 +v 0.723061 0.543841 0.072199 +v 0.556524 0.809527 0.242204 +v -0.410690 1.036527 0.369143 +v 0.743247 0.235689 0.227639 +v 0.751630 0.235728 0.222329 +v 0.759539 0.235617 0.216289 +v 0.768143 0.235861 0.211092 +v 0.777034 0.236018 0.206349 +v 0.785657 0.235886 0.201377 +v 0.794278 0.236170 0.196254 +v 0.801694 0.235821 0.189298 +v 0.808914 0.235601 0.181928 +v 0.815516 0.235591 0.174032 +v 0.821604 0.235398 0.165415 +v 0.827936 0.234918 0.156481 +v 0.834317 0.234896 0.148540 +v 0.840273 0.234466 0.139306 +v 0.845861 0.234154 0.129864 +v 0.666356 0.648467 0.207705 +v 0.661081 0.648872 0.217415 +v -0.101828 1.262287 -0.045726 +v 0.403645 0.900777 0.249594 +v 0.457935 0.834687 0.275306 +v -0.670262 0.964527 0.092970 +v 0.060323 1.364867 -0.215618 +v 0.126166 1.497927 -0.312554 +v 0.722990 0.557833 0.052178 +v 0.705764 0.641242 0.102144 +v -0.479763 0.345704 0.055654 +v 0.112158 1.335968 -0.210806 +v -0.038613 1.279297 -0.223502 +v 0.139865 1.394977 -0.276063 +v 0.597427 0.782357 0.213190 +v -0.283381 1.149117 0.202369 +v 0.378864 0.886647 0.266290 +v -0.117083 1.217988 -0.050699 +v -0.359817 1.164098 0.285298 +v -0.111232 1.247717 -0.041673 +v -0.239729 0.893847 0.246508 +v 0.110584 1.321887 -0.195269 +v -0.004615 1.321228 -0.151106 +v -0.109278 1.320177 -0.091859 +v -0.225994 0.893637 0.231079 +v -0.302789 1.178177 0.227313 +v 0.048856 1.468557 -0.231253 +v 0.137326 1.468467 -0.314498 +v 0.704553 0.641155 0.112124 +v 0.038730 1.483448 -0.210529 +v -0.261633 0.936837 0.268062 +v 0.009257 1.278157 -0.095674 +v 0.545247 0.663707 0.331107 +v 0.589391 0.611303 0.324515 +v -0.388442 1.050027 0.331322 +v -0.373027 1.049367 0.300075 +v -0.073652 1.349708 -0.128025 +v -0.058652 1.349677 -0.141499 +v -0.196951 0.949107 0.167456 +v -0.484280 1.474177 -0.619558 +v 0.502712 0.862037 0.234661 +v -0.215974 0.978237 0.193372 +v -0.246303 0.908227 0.254907 +v -0.210647 0.977978 0.183519 +v -0.323096 1.120728 0.249437 +v 0.035035 1.394367 -0.216849 +v -0.357655 1.063077 0.269655 +v -0.241764 0.950868 0.243905 +v -0.228170 0.950657 0.228403 +v -0.222396 0.950427 0.219428 +v -0.201567 0.977427 0.160891 +v 0.377109 0.244751 0.436329 +v 0.386025 0.244820 0.431813 +v 0.393779 0.244753 0.425476 +v 0.401379 0.244717 0.418828 +v 0.408903 0.244667 0.412158 +v 0.416202 0.244426 0.405128 +v 0.424950 0.244591 0.400230 +v 0.435076 0.244961 0.397328 +v 0.446507 0.245475 0.396332 +v 0.457415 0.245863 0.394695 +v 0.467190 0.246014 0.391254 +v 0.475752 0.246299 0.385935 +v 0.483351 0.246247 0.379356 +v 0.490484 0.246053 0.371998 +v 0.497241 0.245990 0.364240 +v 0.503958 0.245977 0.356461 +v 0.510797 0.245938 0.348736 +v 0.519017 0.246037 0.343011 +v 0.527746 0.245782 0.337966 +v 0.535772 0.245438 0.331922 +v 0.543255 0.245529 0.325148 +v 0.551268 0.245719 0.319164 +v 0.559691 0.245660 0.313754 +v 0.568463 0.245890 0.308880 +v 0.577169 0.246172 0.303872 +v 0.585480 0.246165 0.298359 +v 0.593268 0.245985 0.292045 +v 0.600398 0.246260 0.284970 +v 0.606860 0.245904 0.276710 +v 0.613419 0.245534 0.268457 +v 0.619367 0.244889 0.259188 +v 0.625184 0.244735 0.250284 +v 0.631117 0.244046 0.240978 +v 0.637447 0.243649 0.232529 +v 0.644826 0.243634 0.225438 +v 0.663768 0.524959 -0.217124 +v -0.354797 1.234457 -0.415447 +v 0.092219 1.545787 -0.275497 +v 0.630286 0.623710 0.278646 +v 0.084926 1.483307 -0.266995 +v -0.599371 0.830638 0.371298 +v 0.256668 0.721367 0.352256 +v -0.215652 0.921557 0.210447 +v 0.751766 0.249358 0.222783 +v 0.760458 0.249529 0.217645 +v 0.769267 0.249674 0.212813 +v 0.778360 0.249776 0.208481 +v 0.787450 0.249871 0.204108 +v 0.796144 0.250059 0.199092 +v 0.803900 0.249974 0.192677 +v 0.811047 0.249773 0.185312 +v 0.817507 0.249510 0.176925 +v 0.823535 0.249359 0.168213 +v 0.829587 0.248902 0.159091 +v 0.835804 0.248683 0.150535 +v 0.842064 0.248462 0.142018 +v 0.848364 0.247925 0.132872 +v 0.566309 0.650774 0.326456 +v 0.014385 1.263237 -0.106017 +v -0.217040 1.174037 0.015196 +v 0.217074 0.706057 0.348610 +v -0.358322 0.894887 0.357957 +v 0.123080 1.351107 -0.230040 +v -0.354032 1.328407 -0.625286 +v -0.400157 0.924417 0.419730 +v -0.041968 1.349827 -0.152562 +v -0.315040 0.894187 0.313487 +v -0.019356 1.438867 -0.154257 +v 0.083219 1.335608 -0.200151 +v -0.201699 0.949397 0.178289 +v -0.154461 1.160418 -0.085803 +v -0.288601 1.149317 0.212257 +v -0.100756 1.218177 -0.062254 +v -0.237344 1.159827 0.038934 +v -0.324886 1.164367 0.265652 +v -0.000134 1.248087 -0.109694 +v 0.007906 1.248528 -0.115541 +v 0.014904 1.248218 -0.123164 +v 0.088088 1.438957 -0.262942 +v -0.189381 1.261267 -0.014411 +v 0.135192 1.322367 -0.212581 +v 0.366895 0.819027 0.301440 +v -0.138432 1.290707 -0.063758 +v 0.130202 1.468657 -0.307455 +v -0.229612 0.992507 0.209376 +v 0.044892 1.483437 -0.219269 +v -0.357830 1.121107 0.287944 +v 0.000309 1.278147 -0.091081 +v 0.668548 0.635257 0.210815 +v -0.377845 1.049597 0.310906 +v -0.383081 1.049818 0.321478 +v -0.368021 1.049127 0.290068 +v -0.338606 1.049007 0.262300 +v -0.329250 1.048818 0.258222 +v -0.303790 1.049007 0.242417 +v -0.296031 1.049187 0.236012 +v -0.288523 1.049157 0.229293 +v -0.249484 0.993117 0.232936 +v -0.071018 1.364467 -0.124417 +v 0.486789 0.861967 0.246876 +v 0.659876 0.765427 0.002191 +v -0.242295 0.992867 0.225946 +v -0.234703 0.950737 0.236844 +v 0.073321 1.379957 -0.231783 +v 0.100670 1.468568 -0.279753 +v -0.318721 0.993277 0.291061 +v -0.327616 0.993257 0.295791 +v 0.376288 0.258313 0.435307 +v 0.385690 0.258532 0.431330 +v 0.393662 0.258483 0.425388 +v 0.401459 0.258548 0.419070 +v 0.409217 0.258410 0.412784 +v 0.417616 0.258535 0.407183 +v 0.426580 0.258651 0.402602 +v 0.436759 0.258988 0.399754 +v 0.448242 0.259505 0.398890 +v 0.459158 0.259882 0.397328 +v 0.468789 0.260101 0.393694 +v 0.477583 0.260282 0.388743 +v 0.485244 0.260217 0.382205 +v 0.492421 0.259993 0.374892 +v 0.499424 0.259843 0.367381 +v 0.506119 0.259777 0.359556 +v 0.513528 0.259825 0.352721 +v 0.522462 0.259956 0.347999 +v 0.531186 0.259764 0.343032 +v 0.539214 0.259929 0.337085 +v 0.546659 0.259959 0.330288 +v 0.554132 0.260000 0.323494 +v 0.562611 0.259941 0.318118 +v 0.571367 0.260134 0.313245 +v 0.579807 0.260071 0.307873 +v 0.588282 0.260010 0.302575 +v 0.596513 0.260059 0.296819 +v 0.604040 0.260061 0.290130 +v 0.610668 0.260113 0.282311 +v 0.617294 0.259715 0.274111 +v 0.623648 0.259470 0.265687 +v 0.628688 0.258981 0.255266 +v 0.634177 0.258522 0.245641 +v 0.640347 0.258170 0.236973 +v 0.646847 0.257759 0.228558 +v -0.411874 1.050708 0.367741 +v -0.405564 1.050587 0.359072 +v -0.378622 0.909977 0.397908 +v -0.384868 0.910137 0.406588 +v -0.391159 0.910267 0.415192 +v -0.398057 0.910357 0.422781 +v -0.399567 1.050417 0.350186 +v -0.393924 1.050237 0.340485 +v -0.097109 1.203117 -0.074897 +v 0.760859 0.263248 0.218227 +v 0.770003 0.263414 0.214079 +v 0.779397 0.263671 0.210049 +v 0.788368 0.263796 0.205521 +v 0.796896 0.263793 0.200329 +v 0.804967 0.263850 0.194372 +v 0.812195 0.263667 0.187097 +v 0.818954 0.263565 0.179364 +v 0.824800 0.263189 0.170085 +v 0.830746 0.262781 0.160915 +v 0.836895 0.262577 0.152239 +v 0.843724 0.262484 0.144638 +v 0.850039 0.262231 0.136171 +v 0.855158 0.261809 0.125886 +v 0.633656 0.636796 0.265713 +v 0.594930 0.624523 0.314978 +v -0.231257 1.174217 0.029616 +v -0.362498 0.895167 0.369121 +v 0.077726 1.483347 -0.259953 +v 0.141944 1.322297 -0.220400 +v -0.084154 1.291108 -0.090611 +v -0.013169 1.379337 -0.181114 +v 0.711975 0.641612 0.032148 +v -0.006922 1.438738 -0.171660 +v 0.073002 1.336038 -0.197150 +v 0.063848 1.335567 -0.192957 +v -0.347097 1.048808 0.267623 +v -0.295113 1.149457 0.220199 +v -0.204928 1.159267 -0.002559 +v 0.593242 0.663653 0.295290 +v -0.260028 0.836397 0.251619 +v 0.646301 0.688747 0.213755 +v -0.447292 0.980117 0.421945 +v -0.395237 0.824357 0.373849 +v -0.300795 1.135177 0.229785 +v -0.181908 1.261227 -0.021143 +v 0.022445 1.263327 -0.111952 +v -0.267457 1.048898 0.207118 +v 0.511056 0.703117 0.334558 +v 0.144135 1.468467 -0.322211 +v 0.322745 0.791247 0.325557 +v -0.559559 0.770177 -0.086516 +v -0.136322 1.305448 -0.060722 +v -0.056720 1.276937 -0.068639 +v -0.399579 0.952518 0.402792 +v -0.358563 1.106768 0.286777 +v -0.334067 1.063107 0.251321 +v -0.368780 0.993118 0.324002 +v -0.375059 0.993147 0.332642 +v -0.381125 0.993357 0.341451 +v 0.534861 0.822267 0.246001 +v -0.425777 0.994437 0.400203 +v -0.433282 0.994537 0.407010 +v -0.441178 0.994337 0.413280 +v -0.253124 0.908347 0.262634 +v -0.200536 1.217887 0.004489 +v -0.418712 1.050807 0.375485 +v 0.513119 0.782477 0.284816 +v -0.671874 0.909707 0.053348 +v -0.175851 1.203308 -0.012649 +v -0.221547 0.893347 0.220208 +v 0.355810 0.271096 0.440889 +v -0.089784 1.203317 -0.081845 +v -0.280932 1.177658 0.187442 +v 0.384680 0.271778 0.430122 +v 0.392537 0.271841 0.423807 +v 0.400452 0.271784 0.417694 +v 0.408853 0.271781 0.412345 +v 0.418191 0.272064 0.408178 +v 0.427647 0.272322 0.404196 +v 0.437898 0.272632 0.401561 +v 0.448684 0.273050 0.399543 +v 0.459612 0.273443 0.398051 +v 0.469768 0.273793 0.395134 +v 0.478739 0.273908 0.390565 +v 0.486109 0.273723 0.383566 +v 0.493825 0.273813 0.377163 +v 0.500918 0.273647 0.369766 +v 0.507917 0.273490 0.362293 +v 0.515479 0.273469 0.355647 +v 0.524736 0.273805 0.351467 +v 0.533846 0.273874 0.347057 +v 0.542073 0.273540 0.341335 +v 0.548912 0.273849 0.333697 +v 0.556033 0.273622 0.326393 +v 0.564272 0.273662 0.320706 +v 0.572971 0.273909 0.315650 +v 0.581918 0.274027 0.311034 +v 0.591032 0.274065 0.306672 +v 0.599369 0.274084 0.301153 +v 0.606594 0.273836 0.293933 +v 0.613633 0.274021 0.286793 +v 0.620249 0.273678 0.278606 +v 0.626538 0.273439 0.270157 +v 0.632041 0.272840 0.260124 +v 0.637399 0.272646 0.250494 +v 0.642828 0.272196 0.240797 +v 0.648581 0.271613 0.231315 +v 0.655400 0.271417 0.223589 +v -0.283673 0.160226 0.311026 +v 0.253143 0.748557 0.347641 +v -0.369308 0.923527 0.376703 +v -0.364030 0.923257 0.366811 +v -0.358336 0.923087 0.357125 +v -0.352413 0.922887 0.348151 +v -0.219108 1.159327 0.012021 +v 0.722714 0.543800 0.082190 +v -0.662042 0.897117 0.253344 +v -0.453790 0.966087 0.430304 +v 0.779816 0.277132 0.210649 +v 0.788726 0.277270 0.206057 +v 0.797276 0.277333 0.200970 +v 0.805625 0.277386 0.195454 +v 0.813224 0.277314 0.188777 +v 0.820146 0.277179 0.181157 +v 0.826135 0.276771 0.172004 +v 0.832244 0.276555 0.163373 +v 0.838648 0.276324 0.154937 +v 0.844915 0.276073 0.146428 +v 0.851200 0.275851 0.137931 +v 0.856684 0.275571 0.128442 +v 0.584734 0.637518 0.317984 +v -0.305257 0.937217 0.310417 +v -0.031642 1.409158 -0.154696 +v 0.665317 0.622332 0.223559 +v -0.281295 1.049357 0.221952 +v -0.465876 0.979897 0.430274 +v -0.136231 1.203157 -0.043399 +v 0.663524 0.661681 0.203636 +v 0.644874 0.610308 0.263616 +v 0.332242 0.791367 0.321653 +v -0.000950 1.438767 -0.180532 +v 0.054241 1.335678 -0.189216 +v 0.586732 0.716277 0.268266 +v -0.302149 1.149467 0.227795 +v -0.209048 1.217787 0.009723 +v 0.156229 1.394967 -0.287428 +v -0.325938 1.091857 0.245555 +v -0.434066 1.121247 0.353618 +v 0.497169 0.663794 0.367151 +v -0.283093 0.894697 0.290027 +v 0.722525 0.557784 0.062149 +v 0.537762 0.835667 0.232640 +v -0.411735 1.135377 0.333178 +v -0.088119 1.334967 -0.114036 +v -0.299908 1.063488 0.230340 +v 0.150739 1.468347 -0.330058 +v -0.608902 0.636716 -0.035402 +v -0.130307 1.305428 -0.069583 +v -0.076841 1.276407 -0.062934 +v 0.725894 0.572120 -0.007767 +v -0.372940 1.106797 0.300774 +v -0.382535 1.035588 0.321163 +v -0.657479 0.896737 0.203366 +v 0.717122 0.627850 -0.027793 +v -0.468100 0.994038 0.427172 +v 0.552050 0.822417 0.235758 +v 0.543450 0.822767 0.240926 +v 0.671021 0.738287 0.072203 +v 0.716354 0.599426 -0.067616 +v 0.631850 0.522392 -0.256738 +v -0.463662 1.222397 -0.418483 +v -0.413430 1.064937 0.365555 +v 0.188830 0.741197 -0.317189 +v -0.076563 1.364527 -0.114777 +v 0.331441 0.284697 0.458360 +v 0.340490 0.284714 0.454040 +v 0.350031 0.284814 0.450377 +v 0.357810 0.284733 0.444098 +v 0.366132 0.284779 0.438515 +v 0.375351 0.285124 0.434217 +v 0.383977 0.285085 0.429192 +v 0.391454 0.285061 0.422370 +v 0.400296 0.285211 0.417557 +v 0.409289 0.285305 0.413079 +v 0.418918 0.285488 0.409521 +v 0.428891 0.285918 0.406263 +v 0.438449 0.286111 0.402615 +v 0.448563 0.286466 0.399493 +v 0.459344 0.286877 0.397607 +v 0.469111 0.287124 0.394381 +v 0.478698 0.287378 0.390668 +v 0.486912 0.287400 0.384872 +v 0.494422 0.287339 0.378131 +v 0.501509 0.287183 0.370716 +v 0.508845 0.287140 0.363774 +v 0.517278 0.287150 0.358411 +v 0.526435 0.287236 0.354128 +v 0.535858 0.287509 0.350138 +v 0.544204 0.287495 0.344636 +v 0.551155 0.287374 0.337057 +v 0.557966 0.287277 0.329282 +v 0.565729 0.287472 0.322978 +v 0.574317 0.287456 0.317716 +v 0.583347 0.287473 0.313291 +v 0.592962 0.287704 0.309643 +v 0.601385 0.287687 0.304224 +v 0.608741 0.287746 0.297288 +v 0.615750 0.287576 0.289814 +v 0.622612 0.287468 0.282210 +v 0.628970 0.287242 0.273784 +v 0.635271 0.287033 0.265333 +v 0.640688 0.286756 0.255765 +v 0.645611 0.286098 0.244801 +v 0.651150 0.285624 0.235196 +v 0.656493 0.285157 0.225362 +v 0.663351 0.284872 0.217534 +v 0.671163 0.284782 0.211242 +v -0.177007 1.159117 -0.032573 +v -0.350196 0.951027 0.333334 +v -0.356933 0.951177 0.341130 +v -0.362696 0.950978 0.351279 +v -0.368451 0.951318 0.360303 +v -0.374020 0.951458 0.370032 +v -0.323642 0.835887 0.282492 +v -0.222457 0.907377 0.218216 +v 0.779107 0.290462 0.209803 +v 0.788205 0.290629 0.205483 +v 0.797067 0.290781 0.200774 +v 0.805437 0.290824 0.195268 +v 0.813456 0.290834 0.189282 +v 0.820761 0.290694 0.182133 +v 0.827643 0.290509 0.174491 +v 0.834131 0.290256 0.166180 +v 0.840400 0.290039 0.157637 +v 0.846466 0.289830 0.148973 +v 0.852185 0.289496 0.139619 +v 0.857474 0.289178 0.130039 +v 0.658024 0.635870 0.230841 +v -0.362249 1.049067 0.280557 +v 0.618201 0.650326 0.278628 +v 0.584268 0.782647 0.229394 +v 0.006449 1.263337 -0.099923 +v -0.268059 1.007347 0.241163 +v -0.021175 1.379367 -0.175097 +v -0.422493 0.910337 0.440039 +v 0.660628 0.701387 0.181240 +v 0.655546 0.701477 0.192337 +v 0.018226 1.438697 -0.205718 +v 0.044577 1.335658 -0.185599 +v -0.392140 0.993337 -0.176692 +v -0.309588 1.149467 0.234066 +v -0.443632 1.093248 0.375051 +v 0.684711 0.668219 0.152198 +v -0.434186 1.051028 0.388392 +v -0.387911 0.806637 0.312979 +v -0.564040 0.770357 -0.076192 +v -0.205604 0.906757 0.189857 +v -0.239664 0.908037 0.246562 +v 0.347792 0.818817 0.309126 +v -0.362815 1.172067 -0.285273 +v 0.721913 0.571747 -0.057707 +v -0.211348 0.906897 0.199370 +v 0.156859 1.468367 -0.338737 +v -0.675363 0.883117 0.103420 +v -0.124092 1.305428 -0.078203 +v -0.091179 1.276947 -0.065385 +v 0.673831 0.634944 0.200441 +v -0.379156 1.106957 0.309444 +v -0.427965 0.824668 0.413437 +v 0.644702 0.636960 -0.187894 +v -0.271781 1.063328 0.200208 +v -0.615186 0.704927 0.004562 +v -0.343842 1.375697 -0.665480 +v -0.348389 1.250557 -0.315336 +v -0.284803 1.063537 0.216782 +v -0.170231 1.159077 -0.040351 +v -0.450756 0.439379 0.279720 +v -0.420639 1.064888 0.372928 +v -0.263182 0.879827 0.265357 +v -0.320260 0.865727 0.305511 +v 0.724392 0.571984 -0.027727 +v -0.248853 0.879647 0.250868 +v 0.344207 0.298640 0.459668 +v 0.353651 0.298917 0.455785 +v 0.362244 0.298810 0.450655 +v 0.369883 0.298774 0.444080 +v 0.376882 0.298726 0.436843 +v 0.384232 0.298654 0.429614 +v 0.392802 0.298556 0.424555 +v 0.402238 0.298836 0.420625 +v 0.412166 0.299302 0.417284 +v 0.421294 0.299293 0.413111 +v 0.430739 0.299597 0.409136 +v 0.439645 0.299727 0.404460 +v 0.448608 0.299750 0.399567 +v 0.457853 0.300137 0.395458 +v 0.468126 0.300442 0.392866 +v 0.477650 0.300655 0.389075 +v 0.486553 0.300807 0.384395 +v 0.494416 0.300802 0.378220 +v 0.501887 0.300696 0.371421 +v 0.508904 0.300562 0.363957 +v 0.517842 0.300706 0.359336 +v 0.527312 0.300931 0.355462 +v 0.536729 0.301158 0.351478 +v 0.545152 0.301185 0.346134 +v 0.552713 0.301155 0.339452 +v 0.559620 0.301029 0.331843 +v 0.566734 0.300832 0.324486 +v 0.575534 0.301011 0.319650 +v 0.584945 0.301268 0.315684 +v 0.594191 0.301332 0.311595 +v 0.602539 0.301349 0.306026 +v 0.610523 0.301443 0.300011 +v 0.617584 0.301300 0.292578 +v 0.624352 0.301206 0.284861 +v 0.630621 0.300969 0.276370 +v 0.637012 0.300740 0.267977 +v 0.643303 0.300516 0.259526 +v 0.648523 0.300039 0.249303 +v 0.653673 0.299589 0.239021 +v 0.659113 0.299126 0.229333 +v 0.664568 0.298641 0.219595 +v 0.670746 0.298207 0.210754 +v 0.726284 0.544020 0.022198 +v 0.557903 0.650612 0.331821 +v -0.354100 0.964867 0.327783 +v -0.346000 0.964807 0.321929 +v -0.337452 0.965028 0.316659 +v -0.327981 0.965037 0.312733 +v -0.319083 0.965018 0.307946 +v -0.401261 0.980027 0.382937 +v -0.213601 0.964027 0.197399 +v 0.787176 0.303853 0.203918 +v 0.796173 0.304072 0.199484 +v 0.804861 0.304128 0.194477 +v 0.812884 0.304211 0.188525 +v 0.820810 0.304184 0.182450 +v 0.827941 0.304062 0.175131 +v 0.834771 0.303854 0.167125 +v 0.841363 0.303680 0.159256 +v 0.847097 0.303356 0.149901 +v 0.852634 0.303019 0.140397 +v 0.857387 0.303217 0.131130 +v -0.274095 1.049098 0.214953 +v -0.362864 0.820517 0.296076 +v -0.179815 1.173618 -0.019018 +v -0.017921 1.277647 -0.082518 +v 0.513593 0.663808 0.355732 +v 0.101760 1.280967 -0.187726 +v -0.382217 0.823277 0.340204 +v 0.624569 0.649897 0.270684 +v -0.377555 0.895977 0.399783 +v -0.426125 1.050907 0.382397 +v 0.025369 1.438787 -0.212837 +v 0.035479 1.335327 -0.181318 +v 0.353937 0.832467 0.300536 +v -0.316333 1.149537 0.242346 +v -0.434483 1.093457 0.370688 +v 0.684708 0.639528 -0.127526 +v -0.383397 0.839177 0.374189 +v 0.369567 0.846107 0.287923 +v 0.134139 1.365307 -0.249268 +v -0.013778 1.394197 -0.181892 +v 0.608269 0.663456 0.281986 +v 0.114013 1.394397 -0.260953 +v -0.266073 1.113247 0.164442 +v -0.268961 0.850567 0.256521 +v 0.116734 1.307738 -0.186371 +v 0.162269 1.468327 -0.348531 +v -0.001532 1.482977 -0.163471 +v -0.034655 1.306437 -0.124250 +v -0.066461 1.276657 -0.065305 +v 0.601457 0.716307 0.254348 +v -0.366043 1.106737 0.293546 +v -0.420727 1.008388 0.389949 +v 0.662924 0.737547 0.132150 +v -0.278057 1.063387 0.208934 +v -0.412739 1.107547 0.349222 +v -0.436723 1.065087 0.384857 +v -0.338484 0.864977 0.314287 +v 0.324030 0.777577 0.327092 +v -0.125174 1.217857 -0.044783 +v -0.428500 1.065048 0.379053 +v -0.649343 0.922417 -0.016699 +v 0.105055 1.512977 -0.290359 +v -0.367584 1.280397 -0.615391 +v 0.254077 0.695247 0.354544 +v 0.336831 0.312256 0.466404 +v 0.346928 0.312627 0.463489 +v 0.356603 0.312824 0.460140 +v 0.365587 0.312976 0.455647 +v 0.373289 0.312645 0.449246 +v 0.379473 0.312155 0.439941 +v 0.386747 0.312333 0.433492 +v 0.396938 0.312677 0.430670 +v 0.406533 0.312891 0.427004 +v 0.415417 0.313040 0.422252 +v 0.424224 0.313262 0.417395 +v 0.433085 0.313431 0.412592 +v 0.441392 0.313471 0.407059 +v 0.449821 0.313495 0.401757 +v 0.457494 0.313446 0.395295 +v 0.466488 0.313634 0.390724 +v 0.475775 0.313862 0.386531 +v 0.484775 0.313976 0.381893 +v 0.493414 0.314094 0.376823 +v 0.501399 0.314100 0.370742 +v 0.508955 0.314039 0.364063 +v 0.517724 0.314136 0.359295 +v 0.527168 0.314378 0.355373 +v 0.536588 0.314602 0.351359 +v 0.545411 0.314727 0.346583 +v 0.553310 0.314654 0.340434 +v 0.560795 0.314619 0.333660 +v 0.568177 0.314609 0.326727 +v 0.576501 0.314656 0.321120 +v 0.585143 0.314658 0.316262 +v 0.594792 0.314866 0.312583 +v 0.603560 0.315000 0.308002 +v 0.611700 0.315052 0.301784 +v 0.619093 0.315060 0.294949 +v 0.625987 0.314917 0.287422 +v 0.632295 0.314685 0.278974 +v 0.638584 0.314472 0.270524 +v 0.644790 0.314030 0.261515 +v 0.650708 0.313917 0.252781 +v 0.656679 0.313519 0.243559 +v 0.662240 0.313207 0.234119 +v 0.666499 0.312485 0.222533 +v 0.671535 0.311812 0.212022 +v 0.624301 0.763507 -0.137685 +v 0.639857 0.764567 -0.097816 +v 0.148196 1.395108 -0.281586 +v -0.341936 1.034807 0.275057 +v -0.350997 1.034638 0.279587 +v -0.359100 1.034787 0.285437 +v -0.366257 1.034987 0.292447 +v -0.372207 1.035157 0.301299 +v 0.462540 0.754977 0.317013 +v 0.784513 0.316890 0.200136 +v 0.793992 0.317104 0.196330 +v 0.802956 0.317315 0.191769 +v 0.811832 0.317455 0.187045 +v 0.819786 0.317534 0.180939 +v 0.827351 0.317431 0.174278 +v 0.834487 0.317333 0.166887 +v 0.841004 0.317079 0.158550 +v 0.846952 0.316774 0.149758 +v 0.852577 0.316433 0.140340 +v -0.377509 1.035367 0.311163 +v -0.416041 1.121497 0.344549 +v 0.655227 0.728087 0.173212 +v -0.260552 1.007277 0.234392 +v -0.172518 1.173717 -0.025991 +v 0.156322 1.351167 -0.251828 +v -0.022640 0.600453 -0.355495 +v 0.095986 1.279768 -0.179779 +v 0.109750 1.409367 -0.266931 +v 0.244176 0.693187 0.352289 +v -0.316118 1.063317 0.242097 +v 0.032997 1.438787 -0.219459 +v 0.025884 1.335517 -0.177519 +v 0.344826 0.832117 0.304626 +v -0.320719 1.150057 0.254754 +v -0.425720 1.093297 0.365649 +v -0.415964 1.022447 0.379129 +v -0.374663 0.838237 0.351567 +v 0.359885 0.845807 0.291355 +v 0.125140 1.365098 -0.244858 +v -0.184158 1.158787 -0.025489 +v -0.618467 0.812537 -0.016928 +v 0.435915 0.608865 0.401240 +v -0.420616 1.135397 0.337937 +v -0.270450 0.168260 0.293202 +v 0.124155 1.307347 -0.193794 +v 0.579290 0.624336 0.327558 +v 0.479500 0.821827 0.271512 +v -0.063766 1.305877 -0.113850 +v -0.046412 1.276907 -0.071374 +v 0.662977 0.688107 0.184405 +v -0.341996 1.106858 0.275534 +v -0.428011 1.008537 0.396998 +v 0.658377 0.737537 0.152248 +v -0.190669 0.934867 0.158187 +v 0.621817 0.689517 0.248932 +v -0.290970 1.035167 0.243367 +v 0.096452 1.294017 -0.162964 +v -0.238914 1.188947 0.036205 +v 0.658313 0.765947 0.042197 +v -0.550941 0.619216 -0.165082 +v -0.242505 1.174547 0.048845 +v -0.540111 0.741357 -0.135370 +v 0.120400 1.527928 -0.321559 +v 0.476736 0.702727 0.355045 +v 0.457558 0.728607 0.344867 +v 0.379002 0.740467 -0.288557 +v 0.357063 0.326332 0.460819 +v 0.365912 0.326505 0.456064 +v 0.373764 0.326423 0.449912 +v 0.381022 0.326258 0.442883 +v 0.389983 0.326255 0.438393 +v 0.400502 0.326802 0.435946 +v 0.410024 0.327035 0.432124 +v 0.418750 0.326921 0.427075 +v 0.426511 0.326755 0.420828 +v 0.434495 0.326924 0.414779 +v 0.443052 0.327213 0.409552 +v 0.451553 0.327173 0.404304 +v 0.459345 0.327117 0.398002 +v 0.466904 0.327093 0.391308 +v 0.475174 0.327176 0.385713 +v 0.483581 0.327253 0.380279 +v 0.491960 0.327351 0.374799 +v 0.500148 0.327393 0.369060 +v 0.508477 0.327439 0.363497 +v 0.517406 0.327561 0.358853 +v 0.526381 0.327718 0.354318 +v 0.536199 0.327978 0.350773 +v 0.544872 0.328071 0.345946 +v 0.553546 0.328203 0.340836 +v 0.561351 0.328158 0.334553 +v 0.568865 0.328084 0.327821 +v 0.577020 0.328141 0.321944 +v 0.585395 0.329631 0.316803 +v 0.594846 0.328408 0.312628 +v 0.604102 0.328524 0.308537 +v 0.612532 0.328680 0.303096 +v 0.619912 0.328527 0.296170 +v 0.627148 0.328514 0.289182 +v 0.633722 0.328237 0.280966 +v 0.640122 0.328000 0.272585 +v 0.646183 0.327805 0.263932 +v 0.651886 0.327467 0.254557 +v 0.658154 0.327277 0.246090 +v 0.663985 0.326907 0.236803 +v 0.668100 0.326355 0.225370 +v 0.672157 0.325462 0.213024 +v 0.677485 0.324982 0.203220 +v 0.684340 0.324691 0.195450 +v 0.692281 0.324752 0.189320 +v 0.521246 0.755967 0.296290 +v -0.389144 1.064308 0.330231 +v -0.383552 1.064128 0.320508 +v -0.378015 1.063927 0.310734 +v -0.372967 1.063707 0.300720 +v -0.368214 1.063467 0.289881 +v 0.530821 0.756097 0.292599 +v 0.791157 0.329879 0.191936 +v 0.800579 0.330104 0.188114 +v 0.809190 0.330500 0.183272 +v 0.817951 0.330557 0.178394 +v 0.825746 0.330617 0.172071 +v 0.833009 0.330427 0.165143 +v 0.839758 0.330352 0.157109 +v 0.846102 0.330131 0.148674 +v 0.851756 0.329770 0.139249 +v 0.857023 0.329377 0.129647 +v 0.862139 0.328962 0.119398 +v 0.039413 1.292097 -0.122569 +v 0.651981 0.636145 0.239435 +v -0.187557 1.173787 -0.012538 +v -0.221926 0.921777 0.219150 +v -0.497704 0.643094 -0.214447 +v -0.258926 1.203437 0.060721 +v 0.229380 0.706537 0.348968 +v 0.703198 0.669258 0.042134 +v 0.113399 1.350987 -0.226502 +v 0.040568 1.438797 -0.226068 +v 0.016367 1.335707 -0.173630 +v 0.539855 0.756387 0.288270 +v -0.324958 1.150077 0.265595 +v -0.417523 1.093258 0.359911 +v -0.422763 1.022577 0.386950 +v -0.370621 0.837847 0.339635 +v 0.349785 0.845977 0.294756 +v 0.548540 0.756307 0.283287 +v 0.556671 0.756287 0.277566 +v 0.631685 0.536342 -0.256528 +v -0.236489 1.217637 0.022764 +v 0.045480 1.263617 -0.131338 +v 0.563955 0.756437 0.270574 +v 0.056004 1.468498 -0.238683 +v 0.470542 0.821707 0.276162 +v -0.054152 1.305837 -0.117525 +v -0.137449 1.276287 -0.062229 +v -0.145844 1.275997 -0.056913 +v -0.219863 0.865327 0.222159 +v -0.334607 1.106928 0.268758 +v -0.452383 1.008397 0.414728 +v 0.655674 0.737287 0.162198 +v -0.195617 0.934937 0.168874 +v 0.640370 0.688847 0.223095 +v -0.283376 1.035187 0.236765 +v 0.571145 0.756167 0.263547 +v 0.578225 0.756177 0.256192 +v 0.067757 1.513057 -0.238630 +v -0.108831 1.218008 -0.056342 +v -0.074929 1.292048 -0.094497 +v 0.585005 0.755967 0.248476 +v -0.391320 0.868287 0.414994 +v 0.642671 0.720897 -0.147913 +v 0.108339 1.468408 -0.286025 +v 0.591360 0.755857 0.239999 +v 0.597713 0.755747 0.231505 +v 0.365688 0.339938 0.455818 +v 0.373976 0.340011 0.450180 +v 0.382580 0.339950 0.445245 +v 0.393304 0.340405 0.443223 +v 0.403450 0.340734 0.440326 +v 0.412406 0.340861 0.435694 +v 0.420032 0.340799 0.429240 +v 0.427725 0.340716 0.422707 +v 0.435873 0.340798 0.416893 +v 0.444315 0.340785 0.411520 +v 0.452930 0.340697 0.406377 +v 0.461676 0.340887 0.401467 +v 0.469065 0.340641 0.394501 +v 0.476868 0.340843 0.388222 +v 0.484096 0.340697 0.381014 +v 0.491327 0.340701 0.373967 +v 0.499442 0.340755 0.368141 +v 0.507757 0.340770 0.362584 +v 0.516624 0.340910 0.357771 +v 0.525983 0.341079 0.353673 +v 0.535080 0.341261 0.349357 +v 0.544065 0.341430 0.344851 +v 0.552852 0.341537 0.339952 +v 0.561117 0.341579 0.334335 +v 0.569233 0.341604 0.328424 +v 0.577094 0.341577 0.322279 +v 0.585641 0.343410 0.317212 +v 0.594666 0.341820 0.312307 +v 0.603549 0.341942 0.307749 +v 0.612200 0.342023 0.302743 +v 0.620319 0.342051 0.296881 +v 0.627458 0.341921 0.289531 +v 0.634357 0.341775 0.281903 +v 0.640750 0.341529 0.273514 +v 0.647118 0.341285 0.265086 +v 0.653419 0.341064 0.256589 +v 0.659406 0.340701 0.247361 +v 0.664991 0.340530 0.238501 +v 0.668845 0.339878 0.226354 +v 0.672716 0.339032 0.213878 +v 0.678000 0.338592 0.204119 +v 0.683684 0.338100 0.194561 +v 0.690560 0.337881 0.186881 +v 0.604376 0.755807 0.223255 +v -0.412904 0.824347 0.400433 +v 0.671768 0.723927 0.112144 +v -0.677518 0.923717 0.133286 +v -0.651186 1.101647 0.092252 +v 0.341576 0.791397 0.317282 +v 0.047140 1.350667 -0.199298 +v 0.611485 0.755477 0.216225 +v 0.618065 0.755517 0.207915 +v 0.806315 0.343335 0.179023 +v 0.815051 0.343368 0.174177 +v 0.823431 0.343602 0.168833 +v 0.830566 0.343575 0.161541 +v 0.837520 0.343423 0.154043 +v 0.844050 0.343283 0.145745 +v 0.850101 0.342942 0.137111 +v 0.855740 0.342585 0.127728 +v 0.861097 0.342267 0.117558 +v 0.074443 1.306908 -0.159769 +v 0.084507 1.306838 -0.162708 +v -0.628727 0.611167 0.044907 +v -0.019178 1.263207 -0.084383 +v -0.144017 1.203347 -0.037068 +v 0.501855 0.676752 0.356347 +v 0.413405 0.635060 0.403775 +v 0.017221 1.423928 -0.207137 +v -0.042670 0.907897 -0.145865 +v 0.350227 0.791657 0.312632 +v 0.005116 1.438777 -0.189363 +v -0.011263 1.335478 -0.160863 +v 0.624332 0.755347 0.199339 +v -0.348488 1.150007 0.284083 +v 0.536299 0.663553 0.335754 +v -0.445794 1.022557 0.406744 +v -0.366409 0.837157 0.327771 +v -0.352084 0.908687 0.348438 +v 0.340302 0.805087 0.315719 +v 0.349924 0.805247 0.312074 +v 0.535449 0.637422 0.352130 +v -0.374525 1.135448 0.299019 +v 0.630911 0.755347 0.190941 +v 0.637011 0.755097 0.182251 +v 0.063490 1.468498 -0.245457 +v 0.702697 0.669077 0.052097 +v -0.044406 1.306127 -0.120901 +v 0.642599 0.754847 0.172678 +v -0.233964 0.879487 0.237261 +v -0.429420 1.107427 0.360390 +v -0.350423 1.106848 0.281007 +v -0.460985 1.008117 0.419755 +v 0.722724 0.600008 0.012137 +v -0.200673 0.935168 0.178882 +v 0.720317 0.599882 0.042130 +v 0.719495 0.557593 0.102194 +v 0.079421 1.269617 -0.183729 +v 0.467561 0.888708 0.236733 +v 0.457862 0.888417 0.240275 +v 0.102715 1.293047 -0.171254 +v -0.244670 1.189008 0.045682 +v 0.540311 0.611049 0.359051 +v -0.397762 0.868287 0.422953 +v 0.681592 0.624859 -0.147245 +v -0.315680 0.851677 0.294138 +v -0.408649 0.853947 0.424472 +v -0.359189 0.880867 0.356936 +v -0.275658 0.894367 0.282722 +v 0.375230 0.353590 0.452176 +v 0.385093 0.353745 0.449148 +v 0.395064 0.354095 0.445929 +v 0.404557 0.354348 0.442052 +v 0.413191 0.354301 0.437050 +v 0.421201 0.354378 0.430936 +v 0.428938 0.354321 0.424554 +v 0.437685 0.354481 0.419668 +v 0.446281 0.354419 0.414551 +v 0.454974 0.354616 0.409502 +v 0.463002 0.354396 0.403510 +v 0.471116 0.354498 0.397668 +v 0.479092 0.354666 0.391611 +v 0.486057 0.354515 0.384110 +v 0.492507 0.354289 0.375756 +v 0.499650 0.354151 0.368455 +v 0.507368 0.354130 0.361984 +v 0.515725 0.354251 0.356596 +v 0.524815 0.354408 0.352173 +v 0.534225 0.354594 0.348122 +v 0.543132 0.354731 0.343566 +v 0.551510 0.354819 0.338088 +v 0.560281 0.354908 0.333167 +v 0.569201 0.355044 0.328483 +v 0.577573 0.355094 0.323082 +v 0.586194 0.355202 0.317864 +v 0.594208 0.355196 0.312000 +v 0.602831 0.355301 0.306810 +v 0.611221 0.355355 0.301401 +v 0.619517 0.355388 0.295821 +v 0.627130 0.355330 0.289228 +v 0.634066 0.355192 0.281687 +v 0.640714 0.355010 0.273475 +v 0.647333 0.354828 0.265687 +v 0.653876 0.354602 0.257374 +v 0.660090 0.354364 0.248837 +v 0.665582 0.354058 0.239361 +v 0.669341 0.353475 0.227204 +v 0.673432 0.352783 0.215531 +v 0.678494 0.352202 0.204997 +v 0.683970 0.351736 0.195325 +v 0.690519 0.351396 0.186915 +v 0.648504 0.623181 0.251835 +v 0.642547 0.623364 0.261031 +v -0.266124 0.907937 0.279433 +v -0.369348 1.360017 -0.505409 +v -0.232100 1.188817 0.028569 +v 0.557298 0.690027 0.313522 +v 0.538290 0.624324 0.356178 +v 0.094553 1.350358 -0.218878 +v -0.392915 0.806487 0.322948 +v 0.393869 0.900288 0.252855 +v 0.811183 0.356258 0.168536 +v 0.819572 0.356481 0.163201 +v 0.827509 0.356297 0.157239 +v 0.834544 0.356261 0.149905 +v 0.841068 0.356178 0.141672 +v 0.847429 0.355974 0.133259 +v 0.853227 0.355694 0.123945 +v 0.858794 0.355317 0.114528 +v 0.158780 1.365708 -0.265938 +v -0.604079 0.785787 0.094148 +v 0.530472 0.624269 0.362465 +v 0.522412 0.624339 0.368411 +v 0.693547 0.555374 -0.157528 +v 0.510038 0.676739 0.350609 +v 0.489732 0.715857 0.338701 +v 0.649781 0.537804 -0.237027 +v 0.494730 0.862327 0.240720 +v -0.377733 0.881967 0.399708 +v 0.011594 1.438837 -0.197407 +v -0.002316 1.335547 -0.165486 +v 0.578968 0.664005 0.309692 +v -0.339431 1.150137 0.279684 +v 0.614474 0.637266 0.290814 +v -0.437390 1.022657 0.401243 +v 0.670161 0.539463 -0.207167 +v -0.622701 0.881207 -0.066215 +v 0.546123 0.835817 0.227127 +v 0.359032 0.805527 0.308035 +v 0.467046 0.728597 0.340997 +v 0.529300 0.835357 0.237972 +v -0.045925 1.262907 -0.070265 +v -0.448426 1.036897 0.403095 +v 0.476022 0.728847 0.336522 +v -0.397777 1.107347 0.335590 +v 0.024137 1.306887 -0.144651 +v -0.297116 1.007337 0.269643 +v -0.019702 1.408927 -0.172922 +v -0.358562 0.978788 0.321322 +v -0.435603 1.008568 0.403742 +v -0.470328 1.008217 0.424053 +v -0.253564 0.922588 0.261827 +v -0.350741 1.234797 -0.365333 +v -0.205015 0.935457 0.190618 +v 0.627960 0.689257 0.240293 +v -0.445621 1.065148 0.389732 +v -0.289036 1.091847 0.210515 +v 0.447513 0.888027 0.242791 +v -0.303697 0.923067 0.312587 +v 0.409323 0.622255 0.415567 +v -0.423597 0.867917 0.437989 +v -0.414158 0.868217 0.434068 +v -0.405685 0.868187 0.428862 +v 0.086241 1.278577 -0.159908 +v -0.326169 0.850437 0.296803 +v -0.401421 0.854077 0.417608 +v -0.582964 0.811867 -0.066282 +v -0.082380 1.203468 -0.088651 +v 0.376904 0.367325 0.454617 +v 0.386553 0.367526 0.451133 +v 0.395563 0.367631 0.446733 +v 0.404472 0.367751 0.442024 +v 0.412923 0.368269 0.436695 +v 0.421845 0.367878 0.432093 +v 0.430770 0.368003 0.427383 +v 0.439665 0.368138 0.422693 +v 0.448458 0.368297 0.417811 +v 0.456630 0.368277 0.412133 +v 0.464341 0.368246 0.405613 +v 0.472803 0.368203 0.400241 +v 0.481478 0.368456 0.395214 +v 0.488382 0.367934 0.387246 +v 0.495068 0.368006 0.379521 +v 0.501727 0.367710 0.371434 +v 0.508532 0.367640 0.363779 +v 0.516121 0.367813 0.357321 +v 0.524401 0.367673 0.351496 +v 0.533000 0.367905 0.346581 +v 0.541854 0.368011 0.341764 +v 0.549999 0.368042 0.335987 +v 0.558920 0.368189 0.331313 +v 0.568463 0.368349 0.327526 +v 0.577592 0.368560 0.323329 +v 0.586391 0.368671 0.318360 +v 0.594640 0.368692 0.312654 +v 0.602634 0.368725 0.306612 +v 0.610295 0.368686 0.300169 +v 0.618494 0.368723 0.294478 +v 0.626180 0.368685 0.287991 +v 0.633436 0.368565 0.280750 +v 0.640240 0.368418 0.273088 +v 0.647044 0.368253 0.265436 +v 0.653690 0.368035 0.257232 +v 0.659958 0.367815 0.248724 +v 0.665133 0.367382 0.238470 +v 0.669766 0.367009 0.227968 +v 0.674698 0.366480 0.217398 +v 0.679685 0.365920 0.206886 +v 0.684875 0.365303 0.196460 +v 0.690978 0.365005 0.187738 +v 0.697012 0.364635 0.178542 +v -0.183838 1.303228 -0.177462 +v 0.653063 0.636844 -0.178482 +v -0.639804 1.032817 0.072635 +v -0.622013 0.800497 0.093888 +v 0.615848 0.791747 -0.117824 +v -0.309515 1.163857 0.234570 +v -0.050359 1.349708 -0.147158 +v 0.368880 0.740467 -0.291813 +v -0.142839 1.305567 -0.052325 +v 0.056604 1.350317 -0.203369 +v 0.815247 0.368797 0.156869 +v 0.823394 0.368857 0.151280 +v 0.830850 0.368778 0.144703 +v 0.837390 0.368820 0.136571 +v 0.843771 0.368664 0.128227 +v 0.849868 0.368634 0.119130 +v 0.855390 0.368176 0.109684 +v 0.575989 0.677006 0.305477 +v 0.568562 0.677182 0.312256 +v 0.560794 0.677050 0.318500 +v 0.525154 0.676582 0.337280 +v 0.517819 0.676868 0.344278 +v -0.065193 1.364498 -0.133447 +v -0.365011 0.979137 0.329388 +v 0.148875 1.351048 -0.245196 +v -0.293950 0.865807 0.291013 +v 0.725193 0.572061 0.012171 +v -0.243672 0.850707 0.240234 +v 0.502598 0.637395 0.374946 +v -0.031792 1.438877 -0.136934 +v -0.013114 1.438797 -0.162927 +v 0.007237 1.335447 -0.169349 +v -0.360858 1.265547 -0.495477 +v -0.331224 1.150137 0.273864 +v -0.355554 1.048988 0.272772 +v -0.429756 1.022627 0.394599 +v 0.712505 0.542923 -0.107496 +v 0.009179 0.598147 -0.415579 +v -0.369100 0.805437 0.286737 +v 0.484839 0.728797 0.331702 +v 0.357349 0.818937 0.305321 +v -0.308639 1.135177 0.235819 +v -0.054856 1.262787 -0.065571 +v -0.121597 1.320238 -0.074453 +v -0.001940 1.468487 -0.163987 +v 0.070827 1.468518 -0.252344 +v 0.034506 1.306867 -0.147261 +v 0.140072 1.453517 -0.310500 +v -0.068635 1.218477 -0.086101 +v -0.423813 0.778007 0.292001 +v -0.443914 1.008527 0.409378 +v -0.233456 0.978817 0.220821 +v -0.227239 0.978707 0.212103 +v -0.210240 0.935757 0.201245 +v -0.363789 0.302528 0.152529 +v -0.454776 1.064968 0.394089 +v 0.492920 0.728657 0.325841 +v 0.436701 0.888127 0.244833 +v 0.652826 0.765467 -0.057872 +v -0.383700 1.078467 0.320384 +v 0.661716 0.552820 -0.217404 +v 0.096961 1.365148 -0.232892 +v -0.040989 1.394197 -0.150866 +v 0.376200 0.859647 0.279925 +v -0.335916 0.850277 0.300311 +v -0.394969 0.853717 0.409285 +v -0.368870 0.820587 0.304960 +v 0.663878 0.538952 -0.217197 +v 0.368067 0.380583 0.459724 +v 0.377556 0.380808 0.455865 +v 0.386572 0.380910 0.451448 +v 0.395445 0.381056 0.446703 +v 0.404783 0.381311 0.442460 +v 0.414098 0.381320 0.438637 +v 0.423587 0.381584 0.434758 +v 0.432438 0.381748 0.429938 +v 0.440822 0.381723 0.424554 +v 0.449089 0.381733 0.418933 +v 0.457347 0.381756 0.413192 +v 0.465992 0.382003 0.408151 +v 0.475271 0.381951 0.404053 +v 0.483828 0.382266 0.398799 +v 0.491669 0.382136 0.392454 +v 0.498593 0.382012 0.384850 +v 0.504825 0.381514 0.375938 +v 0.511270 0.381305 0.367611 +v 0.517752 0.381335 0.359671 +v 0.524784 0.381200 0.352275 +v 0.533063 0.381293 0.346719 +v 0.541235 0.381314 0.340954 +v 0.549215 0.381392 0.334884 +v 0.557649 0.381392 0.329548 +v 0.567088 0.381657 0.325626 +v 0.577058 0.381968 0.322386 +v 0.586840 0.382194 0.319153 +v 0.595259 0.382232 0.313761 +v 0.603335 0.382268 0.307759 +v 0.610466 0.382120 0.300483 +v 0.617853 0.382069 0.293612 +v 0.625376 0.382027 0.286903 +v 0.632622 0.381906 0.279668 +v 0.639559 0.381751 0.272119 +v 0.646547 0.381619 0.264613 +v 0.653333 0.381455 0.256954 +v 0.659639 0.381241 0.248502 +v 0.665444 0.380915 0.239201 +v 0.670500 0.380532 0.228888 +v 0.675591 0.380033 0.218454 +v 0.680880 0.379424 0.208089 +v 0.686319 0.379007 0.198449 +v 0.691895 0.378571 0.188864 +v 0.697288 0.378164 0.179182 +v 0.703165 0.377846 0.170368 +v -0.342319 1.063048 0.256894 +v -0.204754 0.921087 0.190846 +v -0.297330 1.178087 0.216916 +v -0.627951 0.611447 0.104858 +v -0.588622 0.758757 0.114081 +v 0.135355 1.409597 -0.282583 +v 0.521469 0.715967 0.314355 +v 0.142669 1.365787 -0.254406 +v 0.464056 0.848217 0.266688 +v -0.197927 1.159077 -0.010119 +v -0.655489 0.828717 0.053783 +v 0.692175 0.527268 -0.157445 +v 0.620719 0.522590 -0.267332 +v -0.603571 0.880347 -0.096668 +v -0.027802 0.586494 -0.365403 +v -0.601705 1.059268 -0.047507 +v -0.323525 0.894228 0.318794 +v 0.101333 1.409207 -0.261609 +v 0.140692 1.350937 -0.239582 +v -0.266945 0.922817 0.277933 +v -0.228837 1.006447 0.192434 +v 0.231616 0.692957 0.351066 +v 0.084269 1.409297 -0.251065 +v -0.008647 1.291708 -0.104410 +v 0.506783 0.848627 0.240558 +v -0.024562 1.467067 -0.239351 +v -0.450213 1.348037 -0.549452 +v 0.055859 1.527097 -0.220779 +v 0.086715 1.527748 -0.264007 +v -0.250850 1.144407 0.074710 +v 0.145900 1.336697 -0.231899 +v -0.025405 1.438877 -0.145388 +v 0.092311 1.336067 -0.204396 +v -0.404515 0.882378 0.430708 +v -0.157651 1.173818 -0.039611 +v 0.645494 0.636268 0.247763 +v -0.409348 1.022277 0.371159 +v 0.500515 0.728647 0.319128 +v 0.721920 0.543774 0.092213 +v -0.357529 1.135547 0.288483 +v -0.360168 0.805557 0.282091 +v 0.682612 0.724327 0.012139 +v -0.014675 1.306317 -0.130594 +v -0.063943 1.262657 -0.061273 +v -0.115723 1.320137 -0.083775 +v 0.482228 0.875647 0.240312 +v 0.078229 1.468477 -0.259209 +v 0.101814 1.307367 -0.172637 +v 0.020778 1.453627 -0.201807 +v -0.430250 1.135318 0.341550 +v -0.253316 0.979147 0.244977 +v -0.385071 1.007478 0.335309 +v -0.239690 0.978927 0.229494 +v -0.215406 0.935988 0.211195 +v -0.227715 0.936687 0.229289 +v 0.719422 0.599847 0.052139 +v -0.334395 1.178688 0.269418 +v 0.093410 1.468467 -0.272493 +v 0.408606 0.887717 0.257121 +v 0.079820 1.513057 -0.256298 +v -0.376793 0.805607 0.293161 +v 0.179420 1.378257 -0.316958 +v 0.635115 0.793507 -0.057805 +v -0.327383 1.121078 0.261330 +v -0.350422 0.850517 0.314676 +v -0.343741 0.850587 0.306694 +v -0.388800 0.853387 0.400572 +v -0.377991 0.822587 0.328195 +v -0.320885 1.048988 0.252775 +v 0.010743 1.292167 -0.111287 +v 0.369114 0.394197 0.461299 +v 0.377978 0.394332 0.456575 +v 0.386650 0.393776 0.451296 +v 0.395916 0.394601 0.447502 +v 0.405654 0.394728 0.444122 +v 0.415769 0.395046 0.441237 +v 0.424255 0.395039 0.435915 +v 0.432357 0.395183 0.429932 +v 0.440244 0.395095 0.423859 +v 0.448999 0.395132 0.418955 +v 0.458430 0.395356 0.415068 +v 0.468353 0.395411 0.411911 +v 0.477735 0.395723 0.407756 +v 0.486186 0.396070 0.402352 +v 0.493981 0.395971 0.395961 +v 0.501206 0.395745 0.388670 +v 0.508082 0.395635 0.381051 +v 0.514083 0.395208 0.371911 +v 0.520082 0.395101 0.363208 +v 0.526760 0.395084 0.355370 +v 0.534327 0.395064 0.348710 +v 0.542794 0.395023 0.343327 +v 0.550746 0.394860 0.337302 +v 0.558702 0.395026 0.331212 +v 0.567007 0.395063 0.325615 +v 0.576275 0.395340 0.321396 +v 0.585878 0.395546 0.317750 +v 0.595551 0.395741 0.314236 +v 0.603934 0.395781 0.308780 +v 0.611858 0.395836 0.302655 +v 0.619042 0.395707 0.295410 +v 0.626096 0.395540 0.287974 +v 0.632807 0.395311 0.279859 +v 0.639299 0.395186 0.271905 +v 0.646278 0.395066 0.264394 +v 0.653207 0.394898 0.256858 +v 0.659555 0.394692 0.248416 +v 0.665604 0.394473 0.239776 +v 0.671149 0.394050 0.229767 +v 0.676670 0.393726 0.220247 +v 0.682289 0.393271 0.210696 +v 0.687847 0.392682 0.200428 +v 0.692957 0.392305 0.190618 +v 0.697965 0.391746 0.180116 +v 0.703141 0.391238 0.169682 +v 0.091813 1.483317 -0.274669 +v 0.506584 0.729077 0.310436 +v -0.282813 0.979277 0.272668 +v -0.145060 1.290678 -0.055848 +v 0.515294 0.728887 0.305297 +v 0.562222 0.716337 0.285448 +v 0.554945 0.716087 0.292522 +v 0.429659 0.609114 0.409773 +v 0.165487 1.365727 -0.273671 +v 0.502582 0.702807 0.339844 +v 0.715629 0.627734 0.032145 +v 0.716878 0.627810 0.002161 +v 0.671826 0.567761 -0.197365 +v -0.367982 1.391507 -0.575394 +v 0.692227 0.625848 -0.117487 +v 0.704781 0.626696 -0.087492 +v -0.361408 0.836637 0.317009 +v -0.281776 1.091797 0.203536 +v -0.028876 1.379328 -0.168622 +v 0.220666 0.692397 0.352290 +v 0.209647 0.692787 0.355415 +v -0.350837 0.978917 0.314854 +v 0.525068 0.729327 0.301962 +v 0.119376 0.972967 0.039409 +v 0.696072 0.626585 0.162168 +v -0.349457 1.006887 0.299341 +v -0.290351 0.979297 0.279348 +v 0.121421 1.294428 -0.204679 +v 0.162410 1.336727 -0.259620 +v 0.158909 1.336747 -0.248250 +v 0.152962 1.336807 -0.239380 +v 0.130659 1.336317 -0.218872 +v 0.101968 1.336128 -0.207973 +v 0.002218 1.236137 -0.140091 +v -0.228571 0.837777 0.245003 +v -0.224466 0.964577 0.216272 +v -0.403567 1.022037 0.362132 +v 0.115916 1.290227 -0.198641 +v -0.544352 1.155047 -0.087822 +v 0.677149 0.723767 -0.067608 +v -0.395055 0.979918 0.374210 +v -0.662609 0.842377 0.083654 +v 0.498587 0.795277 0.281289 +v 0.636388 0.623614 0.269589 +v -0.167841 1.261477 -0.035895 +v -0.032979 1.320837 -0.139528 +v -0.353882 1.281607 -0.475453 +v 0.085802 1.468467 -0.265853 +v 0.109448 1.307497 -0.179122 +v -0.211964 0.381208 0.310582 +v 0.528544 0.663491 0.342167 +v 0.597490 0.611237 0.318668 +v -0.212422 0.950617 0.199662 +v -0.246061 0.978968 0.238019 +v -0.221537 0.936577 0.220802 +v -0.558196 0.619692 -0.155166 +v -0.671095 0.896778 0.163404 +v -0.086954 1.320177 -0.112253 +v 0.418012 0.887567 0.252914 +v 0.122504 1.394707 -0.266108 +v 0.559289 0.822697 0.228543 +v -0.396548 0.807467 0.335770 +v -0.312784 0.908707 0.316831 +v -0.626737 0.638178 0.054750 +v 0.127827 1.322168 -0.205359 +v -0.378270 0.853367 0.381547 +v -0.383129 0.853377 0.391578 +v -0.424655 0.924467 0.437113 +v 0.560740 0.637547 0.335924 +v -0.255633 1.034688 0.206739 +v 0.360756 0.407576 0.466948 +v 0.369748 0.407690 0.462449 +v 0.378002 0.407735 0.456764 +v 0.386911 0.407865 0.452132 +v 0.397084 0.408126 0.449365 +v 0.407718 0.408637 0.447021 +v 0.416175 0.408598 0.441792 +v 0.424265 0.408718 0.435840 +v 0.431782 0.408486 0.429270 +v 0.440724 0.408453 0.424782 +v 0.451287 0.408959 0.422377 +v 0.461646 0.409167 0.419918 +v 0.471072 0.409482 0.415823 +v 0.479869 0.409670 0.410929 +v 0.487623 0.409566 0.404528 +v 0.495192 0.409541 0.397831 +v 0.502823 0.409505 0.391221 +v 0.509969 0.409316 0.383846 +v 0.516467 0.409326 0.375915 +v 0.522215 0.408999 0.366553 +v 0.528362 0.408873 0.357879 +v 0.536653 0.408782 0.351973 +v 0.545598 0.409051 0.347412 +v 0.554427 0.408747 0.342782 +v 0.562836 0.409159 0.337349 +v 0.569977 0.408929 0.330083 +v 0.578140 0.409029 0.324285 +v 0.586514 0.409020 0.318837 +v 0.595396 0.409174 0.314089 +v 0.604299 0.409307 0.309388 +v 0.612994 0.409475 0.304414 +v 0.620598 0.409410 0.297858 +v 0.627751 0.409257 0.290559 +v 0.634180 0.409023 0.282186 +v 0.639428 0.408614 0.272039 +v 0.646056 0.408494 0.264228 +v 0.653039 0.408348 0.256719 +v 0.659566 0.408134 0.248409 +v 0.665765 0.407903 0.239878 +v 0.671932 0.407692 0.231327 +v 0.677363 0.407260 0.221240 +v 0.683091 0.406832 0.211729 +v 0.688691 0.406402 0.202141 +v 0.693703 0.405878 0.191610 +v 0.698747 0.405455 0.181761 +v 0.703435 0.404814 0.170396 +v 0.708114 0.404161 0.159023 +v 0.712787 0.403692 0.148355 +v -0.637106 1.032437 0.042700 +v -0.494009 1.432237 -0.589432 +v 0.369263 0.886508 0.269995 +v 0.192841 0.694317 0.354325 +v -0.403011 0.299615 0.111512 +v 0.697784 0.682907 -0.037770 +v 0.697173 0.541673 -0.147427 +v -0.597797 1.072817 -0.047425 +v -0.232405 0.893857 0.239623 +v -0.587726 0.757947 -0.036013 +v -0.371577 1.217947 -0.455676 +v -0.018417 0.772717 -0.284434 +v -0.007152 0.774747 -0.286641 +v 0.627622 0.715627 0.221878 +v -0.354611 0.880407 0.345193 +v -0.356369 1.311717 -0.656011 +v 0.665911 0.674871 0.188509 +v -0.575161 0.758397 0.153968 +v 0.720316 0.585874 0.062135 +v 0.161255 1.424497 -0.315467 +v -0.092592 1.218307 -0.068027 +v -0.553585 0.464272 0.166835 +v 0.705032 0.627213 0.132221 +v -0.514080 1.168388 -0.118298 +v -0.150961 1.173847 -0.047488 +v -0.194728 0.962907 0.153238 +v -0.072539 1.232958 -0.073968 +v -0.064267 1.232987 -0.079624 +v -0.055564 1.233367 -0.084596 +v -0.023590 1.234087 -0.108562 +v -0.216660 1.203327 0.016186 +v 0.379734 0.846177 0.285111 +v 0.684611 0.540667 -0.177480 +v -0.397719 1.021947 0.352588 +v 0.707601 0.570582 -0.117538 +v -0.248298 1.144508 0.064641 +v -0.317350 1.120667 0.240614 +v 0.678999 0.724197 -0.057768 +v 0.508168 0.795417 0.277595 +v 0.028973 1.379508 -0.208112 +v 0.020454 1.292408 -0.114728 +v 0.524912 0.650503 0.354534 +v -0.174871 1.261357 -0.028505 +v -0.022783 1.320487 -0.142531 +v 0.032817 1.423937 -0.219765 +v 0.004428 1.468518 -0.172403 +v -0.360959 1.391457 -0.595434 +v 0.064226 1.265437 -0.156927 +v 0.534476 0.729327 0.297921 +v -0.192316 1.203277 -0.001380 +v -0.379055 1.007298 0.326514 +v -0.306209 0.979227 0.291595 +v 0.712009 0.613037 -0.077452 +v -0.617861 0.705227 0.024408 +v -0.268661 0.936887 0.275583 +v 0.024224 1.320888 -0.162296 +v 0.427166 0.888017 0.248613 +v 0.572986 0.822357 0.213154 +v 0.566303 0.822697 0.220995 +v 0.042296 1.279397 -0.117859 +v 0.725651 0.572087 0.002206 +v -0.592397 0.865827 -0.097402 +v 0.721622 0.557716 0.072182 +v 0.634061 0.689247 0.231070 +v 0.706271 0.598642 -0.107516 +v -0.340342 1.121417 0.278184 +v 0.623043 0.781737 0.179742 +v 0.448765 0.866047 -0.205681 +v 0.361501 0.421069 0.468404 +v 0.370263 0.421191 0.463364 +v 0.378728 0.421243 0.458222 +v 0.388198 0.421438 0.454376 +v 0.399439 0.421961 0.452838 +v 0.409050 0.422144 0.449260 +v 0.417323 0.422173 0.443628 +v 0.424887 0.422082 0.437151 +v 0.434015 0.422204 0.432620 +v 0.444394 0.422356 0.430292 +v 0.455006 0.422851 0.428006 +v 0.464505 0.423137 0.424105 +v 0.473016 0.423113 0.418823 +v 0.481038 0.423272 0.412735 +v 0.488363 0.423030 0.405619 +v 0.496210 0.423189 0.399465 +v 0.504013 0.423093 0.393082 +v 0.511648 0.423018 0.386471 +v 0.518461 0.422942 0.378772 +v 0.523989 0.422348 0.368918 +v 0.529956 0.422638 0.360370 +v 0.539111 0.422863 0.355761 +v 0.548101 0.422745 0.351350 +v 0.557626 0.423015 0.347481 +v 0.566272 0.422803 0.342506 +v 0.573597 0.422916 0.335471 +v 0.581460 0.422784 0.329230 +v 0.589077 0.422754 0.322654 +v 0.596307 0.422560 0.315486 +v 0.604633 0.422856 0.310018 +v 0.613210 0.422835 0.304783 +v 0.621315 0.422901 0.298950 +v 0.628918 0.422857 0.292324 +v 0.635304 0.422627 0.283938 +v 0.640982 0.422322 0.274515 +v 0.646985 0.421987 0.265366 +v 0.653398 0.421771 0.256974 +v 0.659686 0.421663 0.248960 +v 0.665904 0.421454 0.240446 +v 0.672048 0.421119 0.231375 +v 0.677756 0.420928 0.222549 +v 0.683335 0.420410 0.212440 +v 0.689022 0.420004 0.202922 +v 0.694319 0.419455 0.192533 +v 0.699394 0.419084 0.182696 +v 0.703913 0.418406 0.171249 +v 0.708562 0.417741 0.159837 +v 0.712730 0.417111 0.148234 +v 0.716993 0.416515 0.136675 +v -0.621353 1.060827 0.182445 +v 0.675225 0.738157 -0.027801 +v 0.651789 0.737007 0.172174 +v 0.672047 0.667390 0.182190 +v -0.224437 0.992478 0.198804 +v -0.235665 0.993007 0.217592 +v 0.620855 0.777237 -0.128511 +v -0.256584 0.993038 0.240384 +v -0.263902 0.993187 0.247278 +v -0.361767 1.156268 -0.235523 +v 0.673544 0.710077 0.132241 +v 0.669474 0.709717 0.152165 +v 0.517781 0.795587 0.273949 +v 0.106587 1.365087 -0.236579 +v -0.260927 1.159707 0.124640 +v 0.107156 1.423977 -0.270635 +v 0.131997 1.424097 -0.287336 +v 0.052309 1.394487 -0.226997 +v -0.258602 1.082587 0.154554 +v 0.670029 0.652810 -0.147770 +v 0.542960 0.729587 0.292722 +v -0.097757 1.232647 -0.057672 +v -0.089047 1.232908 -0.062667 +v -0.080772 1.232927 -0.068288 +v -0.228289 1.144847 0.016382 +v -0.233213 1.144928 0.026483 +v 0.596711 0.650597 0.300206 +v 0.014788 1.364707 -0.193532 +v -0.228373 0.864967 0.227470 +v -0.270351 0.836197 0.254293 +v -0.392419 1.021698 0.342695 +v -0.661700 0.910627 0.263300 +v -0.031491 0.586694 -0.355424 +v -0.660577 0.882317 0.013484 +v -0.332903 1.121228 0.271108 +v 0.526270 0.796067 0.268832 +v -0.282118 1.007208 0.256201 +v -0.303492 1.091827 0.225115 +v 0.539640 0.650415 0.340578 +v 0.072196 1.438887 -0.250727 +v -0.013677 1.320907 -0.146775 +v 0.160221 1.453407 -0.333614 +v 0.011095 1.468537 -0.180321 +v -0.675966 0.937187 0.093111 +v 0.058500 1.263667 -0.147435 +v -0.388794 1.135557 0.313534 +v 0.638868 0.610387 0.273287 +v -0.372714 1.006988 0.318459 +v -0.314990 0.979277 0.296434 +v 0.709243 0.613074 -0.087699 +v -0.629668 1.033257 0.172624 +v -0.298572 1.035098 0.249954 +v -0.345895 0.992707 0.304438 +v 0.476510 0.888757 0.232056 +v -0.019464 1.364667 -0.172690 +v 0.543062 0.637377 0.345541 +v -0.405966 0.808357 0.357478 +v -0.331689 1.135718 0.273042 +v -0.354541 0.992938 0.309491 +v -0.176956 0.895657 -0.213032 +v -0.173831 1.275997 -0.026983 +v 0.724087 0.543872 -0.037633 +v -0.302708 1.192567 0.227337 +v 0.667985 0.553302 -0.207360 +v -0.368728 1.233697 -0.475634 +v -0.362097 0.992938 0.316182 +v 0.361831 0.434610 0.468800 +v 0.370247 0.434660 0.463520 +v 0.379052 0.434780 0.458698 +v 0.389759 0.435169 0.456498 +v 0.400702 0.435516 0.455017 +v 0.410720 0.435878 0.451464 +v 0.419011 0.435921 0.446098 +v 0.428105 0.435945 0.441870 +v 0.438128 0.436327 0.438686 +v 0.447715 0.436521 0.435066 +v 0.457066 0.436806 0.430933 +v 0.465497 0.436793 0.425604 +v 0.473436 0.436720 0.419448 +v 0.481450 0.436803 0.413469 +v 0.489211 0.436722 0.407047 +v 0.497367 0.436773 0.401271 +v 0.505712 0.436793 0.395742 +v 0.513702 0.436627 0.389556 +v 0.521164 0.436617 0.382753 +v 0.527117 0.436227 0.373413 +v 0.533356 0.436341 0.365352 +v 0.542262 0.436532 0.360577 +v 0.550727 0.436429 0.355301 +v 0.559537 0.436603 0.350419 +v 0.568372 0.436760 0.345662 +v 0.576711 0.436760 0.340148 +v 0.584500 0.436653 0.333778 +v 0.592022 0.436661 0.327068 +v 0.598798 0.436578 0.319302 +v 0.605435 0.436311 0.311208 +v 0.613624 0.436365 0.305470 +v 0.621849 0.436415 0.299796 +v 0.629221 0.436367 0.293021 +v 0.635963 0.436149 0.284889 +v 0.642204 0.435909 0.276343 +v 0.647978 0.435617 0.267000 +v 0.653944 0.435421 0.258305 +v 0.659820 0.435097 0.249060 +v 0.666134 0.434882 0.240566 +v 0.672322 0.434666 0.232044 +v 0.677945 0.434354 0.222629 +v 0.683212 0.433859 0.212331 +v 0.688816 0.433454 0.202770 +v 0.694349 0.433048 0.193153 +v 0.699985 0.432648 0.183591 +v 0.704759 0.432002 0.172268 +v 0.708950 0.431349 0.160654 +v 0.713039 0.430732 0.149035 +v 0.717309 0.430101 0.137464 +v 0.721654 0.429459 0.125918 +v 0.725417 0.428790 0.113382 +v -0.254248 1.082707 0.134553 +v 0.692961 0.654395 -0.097777 +v 0.704037 0.655048 -0.057710 +v 0.240602 0.773347 -0.305639 +v -0.444114 1.446557 -0.640000 +v -0.604721 0.705137 0.134201 +v -0.401391 1.008057 0.364773 +v 0.255458 0.707827 0.351293 +v -0.035957 1.364577 -0.161400 +v 0.454133 0.715477 0.357427 +v 0.535555 0.795737 0.264560 +v 0.544005 0.796047 0.259254 +v 0.024850 1.423928 -0.213747 +v 0.065001 1.424108 -0.243662 +v -0.117405 1.188648 -0.069141 +v -0.094433 1.291327 -0.087751 +v -0.147593 1.232897 -0.024023 +v -0.138557 1.232978 -0.028483 +v -0.113753 1.232877 -0.045530 +v -0.106011 1.232677 -0.051999 +v -0.209250 1.144527 -0.008921 +v -0.215981 1.144557 -0.001111 +v -0.222508 1.144547 0.006766 +v -0.300662 1.077597 0.229455 +v -0.293123 1.077587 0.222751 +v -0.267827 1.077157 0.188815 +v -0.263218 1.077067 0.177153 +v 0.621088 0.637209 0.282643 +v -0.387185 1.021447 0.332742 +v -0.398670 0.993927 0.368927 +v -0.507494 0.643775 -0.204775 +v -0.405059 0.993948 0.377498 +v -0.444677 1.277797 -0.518798 +v 0.676432 0.710387 0.112298 +v -0.234120 1.006737 0.202309 +v -0.239616 1.006897 0.212071 +v -0.310900 1.091867 0.232161 +v -0.064728 1.291558 -0.097513 +v -0.451151 1.050748 0.399103 +v 0.091419 1.321827 -0.187947 +v 0.165697 1.453748 -0.343977 +v 0.488334 0.821767 0.266603 +v 0.633952 0.664448 -0.197424 +v 0.051827 1.263507 -0.139791 +v -0.381832 1.135547 0.305980 +v -0.084416 1.218417 -0.073765 +v -0.365548 1.006727 0.311417 +v -0.323946 0.979198 0.301037 +v 0.687186 0.640079 0.172146 +v 0.703186 0.641038 0.122086 +v -0.306618 1.035257 0.255850 +v -0.204979 0.893018 0.190614 +v 0.484834 0.888757 0.226377 +v 0.578883 0.716117 0.274547 +v -0.392606 0.993747 0.360071 +v 0.720902 0.557696 0.082228 +v -0.460713 1.050798 0.403028 +v 0.467882 0.702677 0.359822 +v -0.235091 0.850987 0.235299 +v -0.442559 1.050987 0.393973 +v 0.697160 0.683107 0.052153 +v 0.001706 1.291917 -0.106899 +v -0.358589 1.344637 -0.525320 +v -0.438655 0.980448 0.416955 +v -0.359572 1.156907 -0.215286 +v -0.348547 1.266207 -0.345363 +v 0.370359 0.448117 0.463383 +v 0.379352 0.448314 0.459028 +v 0.390108 0.448684 0.456813 +v 0.401660 0.449163 0.456216 +v 0.411281 0.449381 0.452803 +v 0.420861 0.449594 0.449127 +v 0.430911 0.449885 0.445945 +v 0.440002 0.450000 0.441658 +v 0.449582 0.450260 0.437885 +v 0.457947 0.450239 0.432445 +v 0.465601 0.450211 0.425853 +v 0.473619 0.450296 0.419817 +v 0.481915 0.450309 0.414206 +v 0.490212 0.450349 0.408659 +v 0.499025 0.450490 0.403724 +v 0.507578 0.450431 0.398830 +v 0.515879 0.450476 0.392972 +v 0.523031 0.450305 0.385618 +v 0.529178 0.450140 0.376885 +v 0.536347 0.449949 0.369622 +v 0.544441 0.450032 0.363858 +v 0.552565 0.450104 0.358110 +v 0.561121 0.450324 0.352892 +v 0.569594 0.450334 0.347537 +v 0.578264 0.450505 0.342522 +v 0.586223 0.450403 0.336410 +v 0.593836 0.450362 0.329786 +v 0.600678 0.450271 0.322151 +v 0.607286 0.449936 0.313916 +v 0.614620 0.449991 0.307093 +v 0.622264 0.449935 0.300547 +v 0.629352 0.449789 0.293113 +v 0.636090 0.449682 0.285425 +v 0.642440 0.449457 0.276963 +v 0.648670 0.449258 0.268430 +v 0.654482 0.448926 0.259162 +v 0.660500 0.448621 0.249995 +v 0.666460 0.448303 0.240775 +v 0.672600 0.448077 0.232175 +v 0.678245 0.447787 0.222758 +v 0.683335 0.447432 0.212976 +v 0.688446 0.446816 0.201885 +v 0.693988 0.446404 0.192264 +v 0.699492 0.445991 0.182638 +v 0.704575 0.445492 0.172134 +v 0.709377 0.444977 0.161519 +v 0.713749 0.444331 0.149975 +v 0.718260 0.443824 0.139240 +v 0.722268 0.443052 0.126778 +v 0.726029 0.442370 0.114272 +v 0.728771 0.441510 0.100566 +v 0.698729 0.654622 -0.077619 +v 0.701391 0.654832 -0.067666 +v 0.696115 0.654425 -0.087550 +v 0.689650 0.653976 -0.107495 +v -0.367758 0.881497 0.379783 +v -0.199636 0.963168 0.164037 +v 0.168033 1.379227 -0.287518 +v 0.132018 1.351177 -0.234652 +v 0.463049 0.715667 0.352850 +v 0.640604 0.715507 0.205035 +v 0.552405 0.796237 0.253847 +v 0.002549 1.423867 -0.193290 +v -0.091319 1.349697 -0.101143 +v -0.109197 1.349987 -0.073795 +v -0.211169 1.232287 0.006804 +v -0.202870 1.232337 0.001223 +v -0.184265 1.144547 -0.043129 +v -0.190626 1.144697 -0.034515 +v 0.680478 0.596546 -0.177238 +v -0.203008 1.144307 -0.017612 +v -0.325841 1.077407 0.245684 +v -0.316887 1.077647 0.241071 +v -0.308747 1.077647 0.235266 +v -0.345170 1.020667 0.287932 +v -0.362125 1.020858 0.298619 +v -0.369762 1.021137 0.304753 +v -0.376312 1.021068 0.313184 +v -0.381908 1.021387 0.322269 +v 0.632281 0.792557 -0.067792 +v 0.107407 0.727067 -0.316957 +v -0.356666 1.312447 -0.625326 +v 0.720418 0.613915 -0.027763 +v 0.660967 0.666345 -0.157679 +v 0.678403 0.710287 0.102210 +v -0.626284 0.638290 0.074713 +v -0.318433 1.091887 0.238844 +v -0.275607 1.091678 0.194693 +v 0.171964 1.408337 -0.317320 +v 0.101938 1.321127 -0.190336 +v 0.056031 1.453667 -0.238728 +v 0.682917 0.607987 0.195312 +v -0.133872 1.320367 -0.056850 +v -0.151422 1.261877 -0.047063 +v -0.326076 1.135538 0.263320 +v -0.367282 0.895477 0.379938 +v -0.331407 1.007217 0.290339 +v -0.382958 0.979497 0.356565 +v 0.551426 0.729387 0.287384 +v -0.516131 1.292277 -0.339113 +v 0.358257 0.913427 0.254281 +v -0.260608 0.894307 0.269334 +v -0.212278 0.892397 0.198089 +v 0.492529 0.888857 0.219810 +v 0.498459 0.875277 0.228506 +v -0.195253 1.173908 -0.006021 +v 0.720578 0.557661 0.092203 +v 0.064921 1.278317 -0.138316 +v 0.548292 0.809557 0.247927 +v 0.625858 0.610790 0.289414 +v -0.411665 0.994467 0.384992 +v -0.226877 0.907747 0.229893 +v 0.717194 0.571373 -0.087751 +v -0.287812 0.965328 0.282920 +v -0.439638 1.036798 0.398078 +v -0.275183 1.007217 0.248576 +v 0.710219 0.627212 -0.067644 +v 0.369628 0.461466 0.462415 +v 0.378629 0.461655 0.458117 +v 0.389340 0.461994 0.455708 +v 0.401439 0.462547 0.455754 +v 0.411620 0.462860 0.453049 +v 0.421842 0.463190 0.450409 +v 0.430944 0.463336 0.446331 +v 0.440987 0.463644 0.443100 +v 0.449518 0.463686 0.437996 +v 0.458114 0.463804 0.432658 +v 0.465512 0.463689 0.425832 +v 0.474097 0.463804 0.420621 +v 0.482534 0.463820 0.415293 +v 0.491246 0.463948 0.410313 +v 0.499690 0.463962 0.404975 +v 0.508630 0.464084 0.400306 +v 0.516808 0.464146 0.394482 +v 0.524157 0.464141 0.387563 +v 0.530745 0.463896 0.379372 +v 0.537906 0.463739 0.372067 +v 0.545966 0.463808 0.366221 +v 0.553714 0.463747 0.359834 +v 0.561968 0.463805 0.354238 +v 0.570501 0.463957 0.348976 +v 0.578957 0.463989 0.343629 +v 0.587053 0.464025 0.337791 +v 0.594585 0.463845 0.330908 +v 0.601890 0.463838 0.323943 +v 0.608803 0.463714 0.316370 +v 0.615670 0.463598 0.308776 +v 0.622730 0.463453 0.301315 +v 0.629185 0.463246 0.292974 +v 0.635733 0.463088 0.285129 +v 0.642147 0.462888 0.276723 +v 0.648601 0.462677 0.268382 +v 0.655170 0.462441 0.260105 +v 0.661413 0.462232 0.251587 +v 0.666970 0.461817 0.241587 +v 0.672896 0.461612 0.232892 +v 0.678571 0.461314 0.223489 +v 0.683450 0.460891 0.213005 +v 0.688451 0.460367 0.202503 +v 0.693427 0.459986 0.192594 +v 0.699624 0.459588 0.183323 +v 0.704485 0.459069 0.172735 +v 0.709544 0.458567 0.162230 +v 0.714591 0.458068 0.151688 +v 0.719024 0.457440 0.140196 +v 0.723043 0.456753 0.127738 +v 0.726406 0.456010 0.115078 +v 0.729065 0.455206 0.101434 +v 0.641173 0.523138 -0.247214 +v 0.723923 0.557878 0.042155 +v 0.731926 0.451819 0.051819 +v -0.570961 0.770637 -0.066111 +v -0.027419 1.277697 -0.078588 +v 0.675215 0.738107 0.022146 +v 0.128705 1.512997 -0.327114 +v 0.652009 0.688537 0.204290 +v 0.657812 0.688167 0.195473 +v 0.634063 0.715537 0.213414 +v 0.560393 0.796027 0.247850 +v -0.016345 1.424128 -0.167410 +v -0.080087 1.349687 -0.119911 +v 0.559314 0.729567 0.281276 +v 0.680800 0.724557 0.032169 +v 0.567550 0.796147 0.240522 +v -0.180082 1.145828 -0.053607 +v -0.355979 1.077507 0.272368 +v -0.348853 1.077417 0.264962 +v -0.342227 1.077387 0.257058 +v -0.335162 1.077368 0.249850 +v -0.318005 1.021258 0.274537 +v -0.326937 1.021207 0.279221 +v -0.336116 1.020827 0.283422 +v -0.355587 1.234947 -0.245333 +v -0.666063 0.951257 0.173220 +v -0.010792 1.364547 -0.177775 +v 0.725405 0.572086 -0.017710 +v -0.583166 0.757557 -0.045661 +v -0.249342 1.159928 0.074695 +v 0.708832 0.641182 -0.057640 +v 0.313364 0.763527 0.329411 +v 0.667216 0.666731 -0.147605 +v -0.482723 1.126097 -0.158296 +v 0.688588 0.611965 0.182234 +v -0.372640 1.092487 0.301454 +v 0.017290 1.409068 -0.207209 +v -0.067928 1.247977 -0.067136 +v 0.147110 1.453637 -0.317962 +v -0.010679 1.453697 -0.159101 +v 0.471946 0.715727 0.348149 +v -0.127335 1.320367 -0.064926 +v -0.160282 1.261737 -0.042388 +v -0.322008 1.135267 0.251362 +v 0.666402 0.608954 0.224814 +v -0.322448 1.007308 0.285701 +v -0.388816 0.979818 0.365492 +v 0.719450 0.543618 0.122164 +v -0.549677 0.646435 -0.155113 +v 0.368443 0.913277 0.251220 +v -0.268078 0.894327 0.276044 +v 0.704856 0.584808 0.152203 +v 0.696430 0.584238 0.172391 +v 0.701099 0.584540 0.162202 +v 0.567653 0.729667 0.275768 +v -0.459141 0.994138 0.422489 +v -0.373759 0.853017 0.370913 +v 0.646322 0.779177 -0.047813 +v -0.351072 0.805657 0.277831 +v 0.025808 1.278738 -0.106852 +v -0.118178 1.276887 -0.069169 +v -0.232690 0.907927 0.238929 +v -0.356532 0.835387 0.305461 +v -0.357755 0.908917 0.358154 +v -0.421401 0.838937 0.423365 +v -0.248820 0.950897 0.251404 +v -0.350987 1.297647 -0.435381 +v 0.368261 0.474762 0.460638 +v 0.377852 0.474988 0.457034 +v 0.387931 0.475241 0.453877 +v 0.399386 0.475691 0.452855 +v 0.410215 0.476119 0.451133 +v 0.420468 0.476490 0.448645 +v 0.430129 0.476766 0.445180 +v 0.440159 0.476957 0.441928 +v 0.449318 0.477138 0.437672 +v 0.458075 0.477263 0.432748 +v 0.466080 0.477223 0.426644 +v 0.474333 0.477289 0.421008 +v 0.482751 0.477339 0.415656 +v 0.491246 0.477375 0.410473 +v 0.500294 0.477484 0.406003 +v 0.509282 0.477612 0.401341 +v 0.517429 0.477674 0.395469 +v 0.524723 0.477641 0.388453 +v 0.531134 0.477313 0.379810 +v 0.538203 0.477278 0.372668 +v 0.545872 0.477262 0.366178 +v 0.553754 0.477215 0.359949 +v 0.562177 0.477327 0.354634 +v 0.570394 0.477364 0.348923 +v 0.578876 0.477411 0.343614 +v 0.587138 0.477450 0.337988 +v 0.594901 0.477395 0.331546 +v 0.602611 0.477356 0.325035 +v 0.609702 0.477328 0.317907 +v 0.616252 0.477115 0.309685 +v 0.622733 0.476892 0.301330 +v 0.628787 0.476658 0.292647 +v 0.634862 0.476376 0.283575 +v 0.641909 0.476311 0.276534 +v 0.648962 0.476193 0.269078 +v 0.655731 0.476053 0.261420 +v 0.661694 0.475766 0.252250 +v 0.667467 0.475472 0.242938 +v 0.673364 0.475149 0.233705 +v 0.678887 0.474858 0.224216 +v 0.683936 0.474438 0.213864 +v 0.688769 0.473961 0.203282 +v 0.693532 0.473450 0.192610 +v 0.699408 0.473046 0.183165 +v 0.704923 0.472681 0.173552 +v 0.709598 0.472064 0.162196 +v 0.714699 0.471564 0.151689 +v 0.719195 0.471082 0.140927 +v 0.723162 0.470377 0.128483 +v 0.726474 0.469692 0.115821 +v 0.728791 0.468763 0.101302 +v 0.729480 0.467563 0.083789 +v 0.730054 0.466374 0.066298 +v -0.226800 0.879327 0.229888 +v 0.412194 0.901327 0.244470 +v -0.334699 0.879847 0.320121 +v -0.082483 1.305617 -0.105801 +v -0.297511 0.894537 0.303764 +v -0.616567 1.031687 -0.047047 +v 0.615313 0.689517 0.257269 +v 0.647234 0.715257 0.197247 +v 0.574779 0.795857 0.233571 +v -0.040964 1.424047 -0.132869 +v -0.066740 1.349708 -0.135636 +v 0.204781 0.705597 0.348198 +v 0.033391 1.409137 -0.219126 +v 0.025166 1.409107 -0.213447 +v -0.372912 1.078067 0.300723 +v -0.367648 1.077877 0.290825 +v -0.286831 1.021487 0.249209 +v -0.293985 1.021287 0.256570 +v -0.301541 1.021307 0.263259 +v -0.309208 1.021168 0.269720 +v 0.581352 0.795917 0.225260 +v -0.157704 1.218097 -0.021270 +v -0.585573 0.785707 0.144084 +v 0.621660 0.663274 0.266198 +v -0.051515 1.364487 -0.148610 +v -0.623576 0.665342 0.104573 +v 0.531606 0.848817 0.223698 +v 0.514586 0.848887 0.234265 +v -0.304227 0.908728 0.311710 +v 0.710508 0.641421 -0.047744 +v -0.561933 0.809577 -0.087279 +v 0.654725 0.665951 -0.167750 +v -0.535865 1.154867 -0.097742 +v 0.660727 0.637851 -0.167500 +v -0.378381 1.092618 0.310508 +v 0.674580 0.724227 0.092200 +v -0.076618 1.247838 -0.061882 +v 0.064161 1.483347 -0.244406 +v -0.004053 1.453778 -0.167001 +v 0.063611 1.453677 -0.245400 +v -0.042108 1.320467 -0.135279 +v -0.280615 1.120577 0.205918 +v -0.316874 1.135117 0.241473 +v -0.196926 1.144798 -0.025152 +v -0.313585 1.007267 0.280931 +v -0.270488 0.879767 0.272270 +v -0.311188 0.865727 0.301141 +v 0.502839 0.835487 0.252520 +v 0.377447 0.913577 0.246809 +v -0.331998 0.894257 0.324150 +v 0.722763 0.585972 0.032132 +v -0.202507 1.173837 0.000999 +v -0.521744 0.382153 0.014727 +v -0.418608 0.966417 0.410631 +v 0.655260 0.552288 -0.227328 +v 0.469513 0.861707 0.257006 +v -0.369367 0.852807 0.359699 +v -0.365488 0.852057 0.346976 +v -0.350520 0.835327 0.296562 +v 0.677289 0.608241 0.205484 +v 0.602680 0.624273 0.308776 +v -0.416852 0.853897 0.430010 +v -0.426316 0.853527 0.433897 +v -0.260955 0.850607 0.250422 +v 0.521563 0.663602 0.349697 +v -0.340426 1.007037 0.294808 +v 0.366898 0.488036 0.458882 +v 0.376379 0.488321 0.455137 +v 0.386044 0.488516 0.451520 +v 0.396720 0.488835 0.449255 +v 0.407593 0.489255 0.447570 +v 0.417826 0.489657 0.445037 +v 0.427956 0.489873 0.441948 +v 0.438055 0.490090 0.438874 +v 0.447737 0.490420 0.435515 +v 0.456665 0.490546 0.430855 +v 0.464870 0.490555 0.425089 +v 0.473520 0.489094 0.420002 +v 0.482332 0.490730 0.415202 +v 0.491678 0.490922 0.411173 +v 0.500771 0.491075 0.406867 +v 0.509294 0.491116 0.401495 +v 0.517147 0.491110 0.395156 +v 0.524340 0.491009 0.387889 +v 0.531222 0.490865 0.380200 +v 0.538078 0.490707 0.372582 +v 0.545299 0.490621 0.365308 +v 0.552839 0.490574 0.358682 +v 0.561168 0.490652 0.353192 +v 0.569622 0.490685 0.347903 +v 0.578461 0.490813 0.343095 +v 0.586745 0.490858 0.337509 +v 0.594922 0.490889 0.331791 +v 0.602454 0.490802 0.324891 +v 0.609613 0.490743 0.317841 +v 0.616184 0.490534 0.309605 +v 0.622221 0.490293 0.300904 +v 0.627899 0.489953 0.291070 +v 0.634520 0.489799 0.283287 +v 0.641745 0.489731 0.276357 +v 0.648861 0.489607 0.268999 +v 0.655675 0.489484 0.261341 +v 0.661915 0.489288 0.252874 +v 0.667212 0.488113 0.244668 +v 0.673894 0.488683 0.234517 +v 0.679297 0.488384 0.225015 +v 0.684086 0.488000 0.214541 +v 0.689115 0.487388 0.203385 +v 0.694424 0.487024 0.193655 +v 0.699987 0.486629 0.184069 +v 0.705372 0.486379 0.172871 +v 0.709811 0.486261 0.162596 +v 0.714419 0.486162 0.151820 +v 0.719038 0.484571 0.140812 +v 0.722747 0.483869 0.127433 +v 0.725884 0.483105 0.114752 +v 0.727776 0.482171 0.100160 +v 0.328878 0.754927 -0.292536 +v -0.046764 1.394427 -0.141326 +v 0.627244 0.662993 0.256772 +v 0.632933 0.662722 0.247379 +v 0.639660 0.662756 0.239180 +v 0.646353 0.662535 0.231435 +v 0.005407 1.306447 -0.136718 +v 0.582807 0.676800 0.297839 +v 0.608381 0.689607 0.264709 +v 0.653035 0.715107 0.187812 +v 0.587770 0.795867 0.216790 +v -0.034470 1.424097 -0.140922 +v -0.033542 1.349977 -0.157918 +v 0.035689 1.468457 -0.215324 +v 0.168306 1.351317 -0.270023 +v -0.395301 1.078867 0.338448 +v -0.401480 1.078938 0.347730 +v -0.271501 1.021087 0.236399 +v -0.278969 1.021178 0.243149 +v -0.355418 1.313077 -0.515403 +v 0.594055 0.795727 0.208207 +v 0.600473 0.795697 0.199756 +v 0.606539 0.795407 0.190985 +v 0.480805 0.715757 0.343416 +v -0.286276 1.120727 0.215531 +v 0.590919 0.782357 0.221561 +v -0.004291 1.306298 -0.133201 +v -0.399949 0.839127 0.401934 +v -0.356619 0.820157 0.287462 +v -0.400943 0.824137 0.382808 +v 0.522810 0.848897 0.228523 +v -0.388056 0.838917 0.384301 +v -0.092065 1.305637 -0.102062 +v -0.356327 1.234367 -0.425483 +v 0.716598 0.543238 -0.087609 +v 0.680695 0.639089 -0.137354 +v -0.390326 1.092988 0.328294 +v 0.675810 0.724287 0.082191 +v -0.102218 1.247797 -0.046197 +v 0.089651 1.293177 -0.155207 +v -0.665162 0.909397 0.023352 +v 0.071535 1.453647 -0.251440 +v 0.072069 1.321647 -0.180829 +v 0.472999 0.848347 0.262028 +v 0.687476 0.710397 0.032094 +v -0.269433 1.091428 0.186583 +v -0.246044 1.006837 0.220589 +v -0.302431 0.965307 0.297031 +v 0.682091 0.710487 0.072171 +v -0.079486 1.379567 -0.101007 +v 0.702079 0.598229 -0.117347 +v -0.340190 0.894157 0.330000 +v -0.538598 0.831208 0.385149 +v -0.215051 1.045607 0.070502 +v -0.237321 1.174347 0.038899 +v -0.212800 1.045017 0.056470 +v -0.426198 0.966408 0.417301 +v -0.242382 1.160017 0.048917 +v -0.141657 1.217828 -0.033295 +v 0.530109 0.715777 0.309238 +v -0.360911 0.851797 0.335983 +v -0.356414 0.851167 0.324209 +v 0.168520 1.363168 -0.277070 +v -0.306420 0.851307 0.290204 +v -0.298058 0.851187 0.284813 +v -0.378951 0.838947 0.363285 +v 0.337463 0.500771 0.468925 +v 0.347539 0.501091 0.465825 +v 0.357035 0.501291 0.461967 +v 0.366694 0.501468 0.458573 +v 0.375708 0.501613 0.454175 +v 0.384597 0.501738 0.449424 +v 0.394067 0.501930 0.445555 +v 0.404307 0.502280 0.442890 +v 0.414512 0.502685 0.440232 +v 0.424673 0.502918 0.437311 +v 0.434868 0.503256 0.434539 +v 0.444976 0.503455 0.431507 +v 0.453917 0.503634 0.426954 +v 0.462824 0.503730 0.422213 +v 0.472389 0.503969 0.418565 +v 0.482094 0.504233 0.415107 +v 0.491355 0.504308 0.410720 +v 0.499837 0.504428 0.405515 +v 0.508202 0.504465 0.399943 +v 0.516034 0.504411 0.393670 +v 0.523129 0.504306 0.386332 +v 0.530679 0.504256 0.379664 +v 0.538128 0.504151 0.372621 +v 0.545390 0.504092 0.365688 +v 0.551843 0.503890 0.357360 +v 0.559592 0.503870 0.350961 +v 0.568274 0.503960 0.346006 +v 0.577111 0.504080 0.341256 +v 0.585976 0.504199 0.336462 +v 0.593999 0.504206 0.330421 +v 0.601659 0.504155 0.323829 +v 0.608899 0.504079 0.316863 +v 0.615451 0.503873 0.308584 +v 0.621293 0.503577 0.299315 +v 0.627400 0.503366 0.290684 +v 0.634212 0.503219 0.283052 +v 0.641458 0.503167 0.276116 +v 0.648270 0.502961 0.268092 +v 0.655413 0.502889 0.261128 +v 0.662220 0.502794 0.253526 +v 0.668433 0.502497 0.244567 +v 0.674148 0.502210 0.235203 +v 0.679259 0.501821 0.224945 +v 0.684331 0.501442 0.214622 +v 0.689609 0.501073 0.204883 +v 0.695272 0.500579 0.194698 +v 0.700731 0.500208 0.185047 +v 0.706101 0.500227 0.173210 +v 0.504687 0.624158 0.378006 +v 0.681247 0.621288 0.193781 +v -0.484905 1.460277 -0.618934 +v 0.421191 0.635321 0.397562 +v -0.252743 0.850597 0.244672 +v -0.633299 0.881447 -0.046447 +v 0.571039 0.782887 0.245552 +v -0.131374 1.290827 -0.071135 +v -0.386804 0.823627 0.351093 +v -0.049441 1.409068 -0.127894 +v 0.604132 0.782147 0.205423 +v -0.199392 0.906727 0.181256 +v 0.505739 0.875607 0.221269 +v 0.589417 0.676821 0.289700 +v 0.601169 0.689847 0.271596 +v 0.687805 0.607547 0.185398 +v 0.612688 0.795177 0.182336 +v 0.497419 0.822077 0.262275 +v -0.007655 1.349888 -0.173304 +v -0.177284 1.188527 -0.015033 +v -0.413627 0.839537 0.417061 +v -0.408113 1.079108 0.355684 +v -0.264447 1.021197 0.228878 +v 0.636627 0.635998 -0.198293 +v 0.693378 0.611756 -0.127443 +v 0.726744 0.544055 -0.017689 +v 0.623711 0.623981 0.286425 +v 0.617084 0.624050 0.294591 +v -0.183493 1.217947 -0.006017 +v 0.481599 0.848757 0.257020 +v -0.565314 0.620153 -0.145117 +v 0.029605 1.468457 -0.206504 +v -0.150064 1.305537 -0.045193 +v -0.340118 0.820247 0.276229 +v -0.349159 0.820197 0.280653 +v -0.406690 0.824007 0.391766 +v 0.484944 0.676855 0.367082 +v -0.058719 1.364248 -0.141678 +v 0.499087 0.848507 0.247005 +v -0.356592 1.312957 -0.535430 +v -0.633945 1.169868 0.032213 +v -0.314479 1.164067 0.245251 +v -0.396026 1.093137 0.337916 +v -0.391847 1.149727 0.309196 +v -0.093378 1.247847 -0.051145 +v -0.106301 1.334927 -0.087619 +v -0.361678 1.296237 -0.625380 +v 0.079048 1.453748 -0.258350 +v 0.081755 1.321788 -0.184325 +v 0.575733 0.729597 0.269927 +v 0.034493 1.278787 -0.111869 +v 0.525469 0.822427 0.250091 +v 0.507424 0.821947 0.259035 +v -0.363085 1.063247 0.279369 +v 0.686601 0.710527 0.042116 +v -0.043494 1.379337 -0.154715 +v 0.712985 0.599238 -0.087673 +v -0.347443 0.894318 0.337453 +v 0.724074 0.571951 -0.037691 +v 0.518424 0.769087 0.292167 +v -0.316567 0.951177 0.311653 +v -0.307687 0.951238 0.306933 +v -0.299346 0.951338 0.301474 +v -0.291849 0.951267 0.294698 +v -0.010728 1.481777 -0.239582 +v 0.493807 0.702827 0.344643 +v 0.126997 1.409467 -0.277134 +v -0.363977 0.881167 0.367812 +v 0.070045 1.265408 -0.164968 +v 0.118713 1.379957 -0.254110 +v 0.527503 0.769467 0.288006 +v 0.329614 0.514288 0.475142 +v 0.339203 0.514473 0.471591 +v 0.349331 0.514776 0.468651 +v 0.358821 0.514995 0.464806 +v 0.367765 0.515090 0.460225 +v 0.376728 0.515212 0.455661 +v 0.384917 0.515185 0.449961 +v 0.392791 0.515231 0.443819 +v 0.401952 0.515459 0.439497 +v 0.411709 0.515620 0.435982 +v 0.421853 0.515896 0.433136 +v 0.431597 0.516311 0.429874 +v 0.441644 0.516496 0.426744 +v 0.537436 0.769377 0.284670 +v 0.460757 0.516922 0.419334 +v 0.470906 0.517187 0.416409 +v 0.480622 0.517531 0.413075 +v 0.490059 0.517650 0.409038 +v 0.498888 0.517708 0.404140 +v 0.506744 0.517736 0.397973 +v 0.514543 0.517713 0.391612 +v 0.521928 0.517588 0.384631 +v 0.530474 0.517624 0.379296 +v 0.538647 0.517665 0.373491 +v 0.545562 0.517553 0.365889 +v 0.551780 0.517325 0.357323 +v 0.557558 0.517027 0.348284 +v 0.566168 0.517009 0.342818 +v 0.575869 0.517300 0.339276 +v 0.585193 0.517578 0.335414 +v 0.593629 0.517593 0.330055 +v 0.601256 0.517556 0.323444 +v 0.608106 0.517431 0.315793 +v 0.615042 0.517287 0.308250 +v 0.621052 0.517015 0.299127 +v 0.627502 0.516870 0.291194 +v 0.633978 0.516587 0.282438 +v 0.641073 0.516527 0.275419 +v 0.648155 0.516406 0.268005 +v 0.655248 0.516328 0.260996 +v 0.661934 0.516128 0.252845 +v 0.668040 0.515913 0.244263 +v 0.673912 0.515633 0.235019 +v 0.679265 0.515272 0.224909 +v 0.684168 0.514864 0.214495 +v 0.689395 0.514409 0.204082 +v 0.695101 0.514134 0.195200 +v 0.700746 0.513782 0.185661 +v 0.705915 0.513960 0.173708 +v 0.495183 0.624016 0.381965 +v 0.686508 0.620964 0.183387 +v 0.727749 0.544125 -0.007722 +v 0.429982 0.635254 0.392623 +v 0.644345 0.728507 0.193150 +v -0.265762 1.063117 0.191305 +v 0.577753 0.782637 0.237774 +v 0.499953 0.650659 0.371227 +v 0.508815 0.650741 0.366399 +v 0.517027 0.650742 0.360682 +v 0.649319 0.649176 0.236115 +v 0.581463 0.611155 0.330643 +v -0.260701 1.062737 0.181278 +v 0.597129 0.676476 0.283530 +v 0.593609 0.689897 0.278214 +v -0.520806 0.826287 0.392466 +v 0.664428 0.709077 -0.117042 +v 0.513621 0.624288 0.373294 +v 0.055799 1.379567 -0.222111 +v 0.010264 1.349917 -0.182573 +v -0.671358 0.923757 0.163290 +v 0.583725 0.729477 0.264038 +v -0.415406 1.079257 0.362686 +v -0.257575 1.021137 0.221197 +v -0.358455 1.266137 -0.275317 +v 0.010005 1.394197 -0.200245 +v -0.294804 0.965347 0.290472 +v -0.194935 0.920957 0.169587 +v -0.188747 0.920627 0.161373 +v 0.715230 0.613463 -0.057649 +v 0.545796 0.769577 0.279402 +v 0.553538 0.769717 0.273112 +v 0.591337 0.729447 0.257500 +v 0.057293 1.483347 -0.236708 +v -0.383495 0.896177 0.408644 +v -0.439874 0.952137 0.432514 +v 0.560948 0.769577 0.266311 +v -0.401604 0.790107 0.292274 +v 0.046200 1.364487 -0.281379 +v -0.496030 0.766597 -0.165459 +v -0.346208 0.908448 0.338925 +v -0.357332 1.218607 -0.405539 +v 0.675329 0.539911 -0.197259 +v -0.218188 1.217907 0.014267 +v -0.384333 1.092757 0.319957 +v 0.567922 0.769527 0.258825 +v -0.084919 1.247858 -0.056343 +v -0.111841 1.335008 -0.077920 +v 0.145460 1.380067 -0.267934 +v 0.086976 1.453707 -0.264381 +v 0.027369 1.453688 -0.209779 +v 0.574921 0.769507 0.251334 +v 0.519999 0.835627 0.242129 +v 0.581540 0.769207 0.243474 +v 0.516485 0.822257 0.254638 +v -0.261477 1.049078 0.197650 +v 0.587592 0.769257 0.234310 +v 0.081048 1.527647 -0.254393 +v 0.073919 1.513047 -0.247359 +v -0.352970 0.894567 0.347314 +v 0.047596 1.498227 -0.215227 +v -0.030587 1.222327 -0.135172 +v 0.594120 0.768937 0.226392 +v 0.600848 0.769037 0.218173 +v 0.091232 1.498168 -0.275534 +v -0.285089 0.951148 0.286947 +v -0.379765 0.867777 0.396635 +v -0.385098 0.868077 0.406445 +v -0.374920 0.867658 0.386621 +v -0.370204 0.867307 0.375855 +v -0.366567 0.866997 0.363812 +v -0.357532 0.866187 0.341094 +v 0.607801 0.768957 0.210601 +v 0.614578 0.768767 0.202877 +v 0.340765 0.528179 0.473660 +v 0.350497 0.528355 0.470512 +v 0.360000 0.528552 0.466703 +v 0.368860 0.528681 0.461930 +v 0.377728 0.528823 0.457212 +v 0.385689 0.528744 0.451225 +v 0.393781 0.528809 0.445286 +v 0.401927 0.528811 0.439434 +v 0.410077 0.528825 0.433645 +v 0.419380 0.529104 0.429687 +v 0.429004 0.529388 0.426103 +v 0.438371 0.529533 0.422059 +v 0.620811 0.768577 0.194271 +v 0.627334 0.769297 0.184630 +v 0.468252 0.530357 0.412746 +v 0.478457 0.530643 0.409953 +v 0.488020 0.530846 0.406195 +v 0.496448 0.530963 0.400839 +v 0.504199 0.530883 0.394453 +v 0.512650 0.530952 0.389032 +v 0.521499 0.531174 0.384568 +v 0.530749 0.531161 0.379890 +v 0.538845 0.531168 0.374002 +v 0.545444 0.530963 0.365779 +v 0.551580 0.530752 0.357144 +v 0.557308 0.530465 0.347809 +v 0.565687 0.530518 0.342428 +v 0.575216 0.530699 0.338676 +v 0.585204 0.530987 0.335596 +v 0.593978 0.531089 0.330699 +v 0.601731 0.531031 0.324269 +v 0.608395 0.530828 0.316083 +v 0.614991 0.530704 0.308226 +v 0.621636 0.530483 0.299992 +v 0.627778 0.530289 0.291389 +v 0.634095 0.530096 0.282923 +v 0.640893 0.529961 0.275267 +v 0.647856 0.529837 0.267748 +v 0.654602 0.529680 0.260039 +v 0.661132 0.529483 0.251776 +v 0.667509 0.529279 0.243387 +v 0.673541 0.529029 0.234763 +v 0.679170 0.528718 0.224802 +v 0.684126 0.528348 0.215019 +v 0.688961 0.527856 0.203821 +v 0.694931 0.527577 0.195073 +v 0.700549 0.527217 0.185509 +v 0.705346 0.526737 0.174908 +v 0.093440 1.307007 -0.167263 +v -0.398904 1.036177 0.350600 +v 0.654817 0.675279 0.208353 +v 0.720511 0.585736 -0.057709 +v -0.509000 0.716527 0.252978 +v -0.625804 0.665398 0.094561 +v -0.236364 0.864887 0.233400 +v -0.349052 0.880227 0.335246 +v -0.367367 0.777027 0.288847 +v -0.111778 1.261618 -0.043154 +v 0.635522 0.649434 0.251187 +v 0.238879 0.741197 -0.313424 +v -0.273805 0.922907 0.285638 +v 0.604536 0.676689 0.276453 +v 0.514519 0.690077 0.339554 +v 0.522207 0.689557 0.333034 +v 0.600817 0.663575 0.288675 +v 0.718900 0.585583 -0.067624 +v 0.546361 0.624260 0.350269 +v 0.633135 0.768437 0.176298 +v 0.019764 1.349697 -0.186544 +v -0.621228 1.087197 0.032540 +v 0.598034 0.729547 0.249379 +v -0.422741 1.079137 0.369919 +v 0.720419 0.571624 -0.067690 +v -0.344331 1.359717 -0.675317 +v 0.026569 1.394258 -0.211527 +v -0.234177 0.922167 0.237299 +v -0.228253 0.921937 0.227852 +v -0.016436 1.350018 -0.168373 +v -0.301558 0.993367 0.280756 +v 0.041870 1.409037 -0.224475 +v -0.473166 0.344536 0.093303 +v 0.604720 0.729297 0.241588 +v -0.396826 0.896428 0.424360 +v -0.389734 0.896338 0.417262 +v 0.150997 1.365927 -0.259924 +v 0.710157 0.598964 -0.097560 +v 0.001215 1.349797 -0.178092 +v -0.406035 0.791427 0.302894 +v 0.348853 0.740577 -0.295524 +v -0.037369 1.409037 -0.145610 +v 0.551894 0.637451 0.340708 +v -0.391582 0.720687 -0.248132 +v 0.709776 0.542694 -0.117437 +v 0.006253 1.364397 -0.188393 +v -0.366880 1.092247 0.291942 +v -0.246708 0.922487 0.254596 +v -0.059488 1.247928 -0.072397 +v -0.118154 1.335147 -0.069229 +v 0.062739 1.527387 -0.228257 +v 0.094691 1.453757 -0.270881 +v 0.061668 1.321537 -0.178305 +v -0.423608 0.809357 0.384636 +v 0.589415 0.650502 0.307318 +v 0.715285 0.571198 -0.097590 +v 0.679258 0.634595 0.190797 +v -0.393210 1.035938 0.341556 +v -0.234629 0.936497 0.236930 +v -0.061882 1.379398 -0.128497 +v 0.660497 0.675031 0.198839 +v 0.132453 1.497957 -0.321160 +v -0.139612 1.188318 -0.048623 +v 0.115463 1.424027 -0.276183 +v 0.649550 0.701957 0.200438 +v -0.166734 1.275987 -0.034325 +v -0.052697 1.394377 -0.132402 +v -0.342589 0.879967 0.326595 +v -0.296951 0.937288 0.304852 +v 0.001683 1.409068 -0.194560 +v -0.002239 1.263197 -0.094874 +v -0.091523 1.262367 -0.048456 +v -0.197037 1.261457 -0.007641 +v 0.650921 0.610028 0.254998 +v 0.652359 0.722637 -0.117760 +v 0.017389 1.468477 -0.188940 +v 0.594391 0.716307 0.261765 +v 0.350438 0.541790 0.470621 +v 0.359878 0.541992 0.466675 +v 0.369164 0.542170 0.462358 +v 0.377798 0.542229 0.457521 +v 0.386750 0.542372 0.452878 +v 0.394922 0.542396 0.447082 +v 0.402726 0.542367 0.440776 +v 0.410071 0.542336 0.433808 +v 0.418622 0.542405 0.428576 +v 0.427462 0.542543 0.423823 +v 0.435789 0.542652 0.418349 +v 0.699062 0.682977 -0.027792 +v 0.522731 0.782697 0.281235 +v -0.372389 0.895697 0.389868 +v 0.475665 0.543687 0.405866 +v 0.485251 0.543909 0.402193 +v 0.494119 0.544003 0.397417 +v 0.503231 0.544478 0.393851 +v 0.512963 0.544338 0.389528 +v 0.521914 0.544525 0.384905 +v 0.530559 0.544563 0.379731 +v 0.538020 0.544488 0.372913 +v 0.544420 0.544295 0.364496 +v 0.550372 0.544046 0.355683 +v 0.557099 0.543877 0.347664 +v 0.565618 0.543912 0.342500 +v 0.575740 0.544173 0.339665 +v 0.586262 0.544576 0.337217 +v 0.595307 0.544676 0.332744 +v 0.603187 0.544738 0.326561 +v 0.609751 0.544516 0.318393 +v 0.616029 0.544324 0.309891 +v 0.622306 0.544116 0.301389 +v 0.628243 0.543813 0.292193 +v 0.634367 0.543609 0.283594 +v 0.640843 0.543411 0.275244 +v 0.647459 0.543202 0.267002 +v 0.654070 0.543067 0.259210 +v 0.660530 0.542847 0.250866 +v 0.666968 0.542660 0.242468 +v 0.673059 0.542405 0.233880 +v 0.678451 0.542062 0.224367 +v 0.683556 0.541714 0.214088 +v 0.688314 0.541244 0.203452 +v 0.694025 0.540884 0.193930 +v 0.699724 0.540543 0.184426 +v 0.704374 0.541272 0.172543 +v 0.015108 1.306607 -0.140194 +v -0.250199 0.836697 0.248388 +v 0.548276 0.690367 0.318015 +v 0.313852 0.777347 0.330124 +v -0.305284 1.007358 0.275365 +v -0.277452 0.879947 0.279858 +v -0.302288 0.865897 0.296458 +v 0.493049 0.637214 0.378776 +v 0.627592 0.637110 0.274319 +v 0.714886 0.599272 -0.077550 +v 0.642364 0.649506 0.243092 +v -0.520758 1.168707 -0.108157 +v -0.422434 0.952518 0.422735 +v 0.611786 0.676465 0.269596 +v 0.630705 0.676006 0.244279 +v 0.506242 0.689997 0.345137 +v -0.127915 1.276367 -0.065960 +v -0.414658 0.952637 0.416296 +v -0.124310 1.188767 -0.061493 +v 0.158503 1.409567 -0.301649 +v 0.038019 1.350307 -0.195038 +v 0.563605 0.663958 0.322559 +v 0.611303 0.728997 0.233736 +v -0.430928 1.079157 0.375647 +v 0.718566 0.571506 -0.077760 +v -0.243574 0.964967 0.241464 +v -0.417269 1.036557 0.377577 +v -0.321697 0.922887 0.321579 +v -0.088110 1.364627 -0.096185 +v -0.104824 1.203297 -0.068368 +v -0.312498 1.049148 0.247320 +v 0.571451 0.664117 0.316352 +v -0.413373 0.896327 0.435610 +v -0.405288 0.896367 0.429668 +v 0.032798 1.364867 -0.202601 +v 0.532339 0.782867 0.277560 +v 0.637418 0.702277 0.218388 +v -0.249561 1.189147 0.056371 +v -0.034846 1.292687 -0.106603 +v -0.395780 1.007928 0.355051 +v 0.520763 0.809167 0.260896 +v 0.539367 0.809497 0.252664 +v -0.392006 0.790397 0.288220 +v -0.169807 1.188518 -0.021791 +v -0.628935 0.665390 0.064574 +v 0.714552 0.543029 -0.097719 +v 0.078837 1.394297 -0.241517 +v -0.360134 1.092148 0.284149 +v 0.485362 0.835017 0.262256 +v -0.050542 1.247957 -0.077053 +v -0.124883 1.335227 -0.061307 +v 0.092850 1.527757 -0.272763 +v 0.102582 1.453647 -0.276952 +v 0.052572 1.321037 -0.174060 +v 0.014432 1.453717 -0.193210 +v 0.581781 0.650853 0.313649 +v 0.459976 0.861727 0.260917 +v -0.253195 1.007117 0.227573 +v -0.474984 0.979687 0.434527 +v -0.241424 0.936577 0.244176 +v -0.323709 0.937018 0.318950 +v 0.628062 0.635778 -0.207850 +v 0.554750 0.663903 0.327285 +v -0.159603 1.203277 -0.024353 +v -0.167676 1.203297 -0.018425 +v -0.289454 1.007407 0.263106 +v -0.027835 1.364567 -0.167231 +v -0.261986 1.035157 0.214803 +v 0.714229 0.627627 0.052125 +v -0.268831 1.035237 0.222524 +v -0.275875 1.035127 0.230034 +v -0.339450 1.135757 0.279455 +v -0.389649 0.882297 0.417290 +v -0.403655 0.966237 0.397084 +v -0.396803 0.966157 0.389377 +v -0.378211 0.965427 0.363766 +v 0.656415 0.609604 0.246065 +v 0.057764 1.278317 -0.130980 +v 0.617720 0.728897 0.225275 +v 0.358967 0.555230 0.465227 +v 0.368392 0.555409 0.461232 +v 0.377622 0.554438 0.457183 +v 0.387112 0.555879 0.453458 +v 0.395554 0.555953 0.448150 +v 0.403400 0.555916 0.441892 +v 0.410401 0.555816 0.434380 +v 0.418513 0.555835 0.428500 +v 0.427186 0.555919 0.423471 +v 0.435092 0.555985 0.417376 +v 0.442497 0.555901 0.410493 +v 0.451344 0.555994 0.405691 +v -0.313289 0.836247 0.279826 +v -0.401208 0.807877 0.346666 +v 0.483893 0.557394 0.400922 +v 0.494037 0.557500 0.397607 +v 0.503548 0.557638 0.393661 +v 0.512852 0.557862 0.389635 +v 0.521148 0.557868 0.383875 +v 0.529069 0.557839 0.377674 +v 0.536433 0.557729 0.370736 +v 0.543170 0.557569 0.362995 +v 0.549812 0.557392 0.354852 +v 0.557677 0.557377 0.348625 +v 0.566079 0.557302 0.343455 +v 0.576069 0.557685 0.340272 +v 0.586758 0.558055 0.338032 +v 0.596086 0.558276 0.333943 +v 0.603733 0.558223 0.327435 +v 0.610308 0.558008 0.319255 +v 0.616671 0.557814 0.310829 +v 0.622940 0.557603 0.302307 +v 0.629068 0.557408 0.293739 +v 0.634883 0.557113 0.284407 +v 0.640884 0.556833 0.275276 +v 0.647255 0.556682 0.267310 +v 0.653775 0.556495 0.259004 +v 0.659862 0.556218 0.249889 +v 0.665978 0.555990 0.241853 +v 0.671705 0.555662 0.232520 +v 0.677007 0.555342 0.222376 +v 0.682087 0.554931 0.212037 +v 0.687240 0.554545 0.201563 +v 0.692726 0.554176 0.191949 +v 0.698191 0.553813 0.182317 +v 0.288713 0.783437 -0.291076 +v 0.671138 0.737727 -0.057712 +v 0.656391 0.538367 -0.227250 +v 0.033842 1.320697 -0.166089 +v -0.034904 1.394187 -0.159674 +v 0.637630 0.728717 0.200879 +v -0.212930 1.183787 -0.131482 +v -0.614358 1.142508 0.002736 +v 0.017835 1.278457 -0.100905 +v 0.607251 0.637496 0.297711 +v -0.239672 0.837267 0.246328 +v 0.629944 0.649711 0.260740 +v 0.043471 1.320557 -0.169795 +v -0.175003 1.218107 -0.011212 +v 0.618484 0.676537 0.261512 +v 0.624820 0.676388 0.253096 +v 0.497836 0.689797 0.350524 +v -0.231514 1.159647 0.029351 +v -0.281000 1.134907 0.205670 +v 0.609959 0.624317 0.301601 +v 0.049873 1.409178 -0.230478 +v 0.084900 1.350367 -0.215242 +v -0.290439 0.851027 0.278277 +v 0.624208 0.728897 0.216889 +v 0.660120 0.622615 0.233788 +v 0.684652 0.625332 -0.137540 +v -0.258132 0.964997 0.255678 +v -0.424429 1.036737 0.384694 +v -0.338983 0.922688 0.331900 +v 0.404412 0.634721 0.408197 +v -0.635662 1.033127 0.132703 +v 0.458947 0.702497 0.364372 +v -0.149409 1.218107 -0.026877 +v -0.094436 1.364788 -0.087518 +v 0.118205 1.512927 -0.306651 +v 0.131498 1.394787 -0.270684 +v 0.675484 0.738287 -0.007819 +v -0.430808 0.952377 0.428159 +v -0.400736 1.121527 0.331352 +v -0.393166 0.924397 0.412171 +v -0.314673 1.192538 0.245509 +v 0.530312 0.809217 0.257050 +v 0.063535 1.307157 -0.157933 +v -0.476572 0.993887 0.432349 +v -0.381490 0.790617 0.286401 +v 0.141462 1.483097 -0.325738 +v 0.214407 0.643329 -0.407765 +v -0.457747 1.137007 -0.268604 +v 0.608394 0.715877 0.247243 +v -0.352703 1.092167 0.277368 +v -0.473154 1.431707 -0.600300 +v -0.041683 1.248157 -0.081828 +v 0.019857 1.483337 -0.185151 +v 0.659898 0.765467 0.012182 +v 0.002161 1.453748 -0.175676 +v 0.110453 1.453787 -0.283238 +v -0.052063 1.320437 -0.131780 +v -0.095170 1.320157 -0.106538 +v 0.531978 0.650435 0.347107 +v 0.365127 0.921107 0.244324 +v -0.204094 0.963458 0.175751 +v -0.377039 0.979217 0.347644 +v -0.370931 0.979058 0.338853 +v -0.332161 0.936908 0.324197 +v -0.340375 0.936877 0.329903 +v -0.347834 0.936937 0.336669 +v -0.354167 0.937037 0.345262 +v -0.343534 1.178457 0.273739 +v 0.680485 0.540323 -0.187292 +v 0.020429 1.379297 -0.202958 +v 0.064757 1.379587 -0.226733 +v -0.214796 1.128607 -0.025065 +v 0.704699 0.669429 0.022157 +v -0.287927 0.923077 0.300271 +v 0.091987 1.542327 -0.273964 +v -0.389409 1.078668 0.329459 +v -0.252971 1.190687 0.064483 +v 0.080251 1.438848 -0.256675 +v -0.384115 0.965707 0.372656 +v 0.630973 0.728667 0.209177 +v -0.307764 1.063417 0.236587 +v 0.667405 0.738127 0.102245 +v 0.366421 0.568538 0.458403 +v 0.375728 0.569825 0.455027 +v 0.386165 0.569148 0.452110 +v 0.395117 0.569339 0.447537 +v 0.403398 0.569382 0.441950 +v 0.410144 0.569199 0.434068 +v 0.418692 0.569308 0.428875 +v 0.427211 0.569365 0.423635 +v 0.434726 0.569348 0.416889 +v 0.441223 0.569027 0.408651 +v 0.448429 0.569286 0.401670 +v -0.404674 1.036357 0.360231 +v -0.294783 0.836437 0.271505 +v -0.209569 0.921427 0.201634 +v 0.493110 0.570716 0.396114 +v 0.502242 0.570966 0.391964 +v 0.511267 0.571100 0.387334 +v 0.519920 0.571131 0.382144 +v 0.527540 0.571071 0.375509 +v 0.534947 0.570959 0.368661 +v 0.542060 0.570868 0.361298 +v 0.549456 0.570789 0.354464 +v 0.557101 0.570732 0.348139 +v 0.566365 0.570943 0.343915 +v 0.576702 0.571257 0.341470 +v 0.587174 0.571572 0.338719 +v 0.595520 0.571623 0.333237 +v 0.603085 0.571583 0.326558 +v 0.610058 0.571462 0.319038 +v 0.616497 0.571259 0.310656 +v 0.623236 0.571114 0.302973 +v 0.629366 0.570854 0.293921 +v 0.635281 0.570608 0.285159 +v 0.641009 0.570344 0.275804 +v 0.647124 0.570122 0.267227 +v 0.653373 0.569898 0.258728 +v 0.659067 0.569594 0.249365 +v 0.664693 0.569276 0.239970 +v 0.670215 0.568967 0.229936 +v 0.675490 0.568581 0.220336 +v 0.680482 0.568174 0.209860 +v 0.685669 0.567789 0.199436 +v 0.690807 0.567369 0.189649 +v 0.696116 0.567003 0.179269 +v -0.273721 1.112368 0.184777 +v -0.181478 1.276027 -0.020384 +v 0.720601 0.613975 -0.007803 +v -0.512451 1.196427 -0.108322 +v -0.406733 0.952417 0.410231 +v 0.043950 1.394377 -0.221556 +v 0.554701 0.624334 0.344711 +v 0.657961 0.661960 0.213189 +v -0.321951 1.192657 0.252395 +v 0.592348 0.637457 0.311415 +v 0.023358 1.468537 -0.197846 +v 0.050752 1.483468 -0.228256 +v 0.684713 0.597037 -0.167512 +v 0.688335 0.639711 -0.117456 +v 0.637012 0.675839 0.235758 +v 0.489530 0.689677 0.356001 +v 0.480920 0.689907 0.361222 +v -0.350299 1.297487 -0.425404 +v -0.377524 1.407627 -0.575114 +v -0.499577 1.272017 -0.209789 +v 0.058434 1.409037 -0.235705 +v 0.162730 1.351307 -0.260328 +v -0.499105 1.223917 -0.118498 +v -0.332179 1.164428 0.272590 +v 0.030333 1.291927 -0.118207 +v 0.671698 0.608579 0.215096 +v 0.692154 0.583899 0.182173 +v -0.265737 0.964997 0.262284 +v -0.663094 0.883167 0.173471 +v -0.346402 0.922727 0.338761 +v -0.082492 1.364457 -0.105905 +v 0.158713 0.769267 -0.306897 +v -0.212178 1.159208 0.004384 +v -0.265853 0.865297 0.261260 +v -0.279617 0.865607 0.276651 +v 0.703379 0.570200 -0.127390 +v -0.133372 1.217837 -0.039042 +v 0.382891 0.873117 0.272002 +v 0.372819 0.873157 0.275219 +v -0.383507 0.882127 0.408619 +v -0.347982 1.135707 0.284645 +v 0.248798 0.741067 -0.311780 +v 0.721229 0.613906 -0.017771 +v 0.490408 0.875487 0.234434 +v -0.604373 0.704117 -0.025210 +v -0.482016 1.036397 -0.157621 +v -0.314282 0.937098 0.314886 +v -0.662327 0.896657 0.183465 +v -0.655601 0.951267 0.213124 +v 0.016589 0.830357 -0.245200 +v -0.509618 1.279168 -0.268690 +v -0.344859 1.092318 0.271357 +v -0.013025 1.408987 -0.180779 +v -0.033313 1.248087 -0.087313 +v -0.357806 1.006798 0.304869 +v 0.007968 1.453598 -0.185205 +v -0.405141 1.107478 0.342512 +v -0.060774 1.320307 -0.127153 +v -0.141092 1.262307 -0.049306 +v 0.134755 1.483157 -0.317966 +v 0.075187 1.527647 -0.245466 +v -0.227437 1.217727 0.018408 +v 0.050745 1.364937 -0.211856 +v -0.663921 0.897257 0.273363 +v 0.095034 1.497607 -0.343047 +v 0.198835 0.741267 -0.317301 +v -0.285989 0.993208 0.268147 +v -0.360177 0.937078 0.354713 +v -0.365556 0.937347 0.364592 +v -0.376913 0.937797 0.383279 +v 0.719163 0.613811 -0.037712 +v -0.351201 1.328107 -0.655474 +v -0.227648 1.098667 0.024450 +v -0.344653 0.300300 0.158547 +v 0.179010 1.408627 -0.337015 +v -0.372114 0.333046 0.212052 +v -0.226344 1.098687 0.014461 +v 0.718276 0.599793 0.062159 +v 0.722064 0.585876 -0.047749 +v -0.466226 1.036367 0.412357 +v -0.390302 0.965847 0.381391 +v -0.215680 0.878847 0.210562 +v -0.362128 0.866457 0.352069 +v -0.263487 0.950907 0.265534 +v 0.485069 0.702897 0.349617 +v 0.384052 0.582227 0.448957 +v 0.393131 0.582529 0.444716 +v 0.401554 0.582641 0.439387 +v 0.409406 0.582479 0.433123 +v 0.418362 0.582696 0.428428 +v 0.426994 0.582842 0.423357 +v 0.434297 0.582689 0.416403 +v 0.440508 0.582429 0.407818 +v 0.446860 0.582454 0.399339 +v -0.190974 1.158927 -0.017757 +v -0.287020 0.836207 0.265286 +v -0.303599 0.836337 0.276345 +v -0.355739 1.313298 -0.425370 +v 0.500731 0.584198 0.389736 +v 0.509827 0.584389 0.385340 +v 0.518655 0.584444 0.380350 +v 0.526614 0.584370 0.374262 +v 0.533880 0.584321 0.367114 +v 0.541559 0.584216 0.360731 +v 0.548974 0.584185 0.353805 +v 0.557456 0.584277 0.348621 +v 0.566842 0.584485 0.344626 +v 0.576375 0.584679 0.341286 +v 0.585857 0.584867 0.336946 +v 0.594350 0.584834 0.331575 +v 0.601835 0.584891 0.324774 +v 0.609001 0.584719 0.317707 +v 0.615666 0.584593 0.309588 +v 0.622736 0.584479 0.302136 +v 0.628988 0.584274 0.293620 +v 0.634966 0.584028 0.284929 +v 0.640815 0.583749 0.275669 +v 0.646959 0.583526 0.267103 +v 0.652884 0.583273 0.257881 +v 0.658365 0.582951 0.248942 +v 0.663840 0.582605 0.238898 +v 0.668790 0.582246 0.228586 +v 0.673820 0.581831 0.218195 +v 0.679290 0.581519 0.207889 +v 0.684565 0.581111 0.198180 +v 0.689666 0.580711 0.188376 +v 0.610604 0.782097 0.196979 +v -0.492637 1.182047 -0.168384 +v -0.036755 1.277148 -0.074938 +v 0.441174 0.622229 0.391296 +v 0.433309 0.622098 0.397425 +v 0.426195 0.622104 0.404790 +v 0.418511 0.622039 0.411218 +v 0.563008 0.624416 0.339171 +v 0.147293 1.424277 -0.300363 +v -0.076815 1.218327 -0.080367 +v 0.599945 0.637420 0.304865 +v -0.192144 1.217967 -0.000919 +v 0.617039 0.781687 0.189071 +v 0.078356 1.498177 -0.258942 +v -0.208891 0.963818 0.185818 +v 0.643383 0.675697 0.227272 +v 0.572352 0.689877 0.300346 +v -0.592990 0.811977 -0.056656 +v -0.457093 1.036577 0.408035 +v -0.391697 1.107187 0.326761 +v 0.066946 1.409147 -0.240994 +v -0.601086 0.786387 0.004200 +v -0.670399 0.869417 0.063571 +v -0.281589 1.163117 0.185937 +v 0.619288 0.610882 0.297642 +v -0.414971 0.980197 0.398361 +v -0.002442 1.364627 -0.183298 +v -0.250880 0.965077 0.248369 +v -0.379689 0.951868 0.379088 +v -0.330743 0.922717 0.326225 +v -0.406104 0.910367 0.428602 +v -0.211824 0.865327 0.216286 +v 0.098029 1.542277 -0.282735 +v -0.273119 0.865217 0.268237 +v -0.028016 1.394177 -0.167345 +v 0.552053 0.677070 0.323434 +v -0.468912 1.488817 -0.629649 +v 0.584013 0.808987 0.211550 +v -0.297194 1.192448 0.217584 +v -0.291931 1.192277 0.207688 +v 0.018172 1.394187 -0.206055 +v -0.407893 0.980237 0.390850 +v 0.511647 0.808767 0.265143 +v -0.427725 0.938458 0.432700 +v -0.441743 0.964127 -0.179971 +v -0.431751 0.964207 -0.180857 +v 0.096212 1.394477 -0.251488 +v -0.298292 0.979477 0.285378 +v -0.591424 0.907097 -0.116485 +v 0.214830 0.623675 -0.427760 +v -0.663179 0.897197 0.263340 +v -0.337789 1.092178 0.263820 +v -0.198313 1.132267 -0.061079 +v -0.024514 1.248377 -0.092179 +v 0.621932 0.791897 -0.097743 +v -0.286724 1.135098 0.214684 +v 0.118115 1.453847 -0.289806 +v 0.059595 1.498317 -0.232930 +v -0.141395 1.320418 -0.050060 +v -0.123642 1.261217 -0.042892 +v 0.118569 1.409267 -0.271783 +v 0.696043 0.640689 0.152165 +v -0.420928 1.107677 0.355111 +v -0.328915 1.106627 0.259162 +v 0.649985 0.523827 -0.237168 +v -0.357190 1.203327 -0.365346 +v -0.205117 0.991567 0.155576 +v -0.629441 0.801137 0.053916 +v 0.125003 1.438517 -0.357392 +v -0.473809 0.734027 0.279914 +v -0.382994 0.938208 0.391509 +v -0.371018 0.937548 0.374362 +v 0.577780 0.809147 0.220148 +v -0.627556 0.665146 0.034652 +v 0.615084 0.663589 0.274010 +v 0.713139 0.599438 0.112133 +v 0.689249 0.541059 -0.167296 +v 0.725514 0.543988 0.032207 +v 0.712366 0.570942 -0.107461 +v -0.430019 0.810267 0.392874 +v 0.632595 0.610705 0.281301 +v -0.435075 0.966398 0.422093 +v -0.220847 0.879167 0.220591 +v -0.209250 0.878997 0.202221 +v 0.009316 1.409057 -0.201141 +v 0.398867 0.887267 0.260345 +v 0.388529 0.886927 0.262852 +v 0.398791 0.595781 0.435424 +v 0.407627 0.595807 0.430591 +v 0.416903 0.595854 0.426429 +v 0.425429 0.596062 0.421206 +v 0.432669 0.595852 0.414212 +v 0.438649 0.595674 0.405134 +v 0.444629 0.595522 0.396112 +v 0.452270 0.595541 0.389714 +v -0.626439 1.088668 0.242305 +v -0.278849 0.836227 0.259566 +v 0.161206 1.380267 -0.280104 +v 0.499286 0.597464 0.387736 +v 0.508346 0.597633 0.383215 +v 0.517148 0.597683 0.378280 +v 0.525320 0.597671 0.372476 +v 0.533433 0.597668 0.366626 +v 0.540967 0.597617 0.359947 +v 0.548951 0.597663 0.353886 +v 0.557539 0.597766 0.348706 +v 0.566105 0.597846 0.343638 +v 0.574915 0.597947 0.338746 +v 0.583748 0.598038 0.333902 +v 0.592103 0.598135 0.328424 +v 0.600135 0.598056 0.322460 +v 0.607245 0.597986 0.315081 +v 0.614313 0.597899 0.307662 +v 0.621312 0.597756 0.300172 +v 0.627571 0.597553 0.291645 +v 0.634042 0.597304 0.283773 +v 0.640215 0.597116 0.274732 +v 0.646195 0.596842 0.266059 +v 0.652100 0.596604 0.256838 +v 0.657655 0.596300 0.247377 +v 0.662639 0.595889 0.237613 +v 0.667621 0.595556 0.226076 +v 0.672918 0.595179 0.217039 +v 0.678479 0.594872 0.206816 +v 0.683861 0.594502 0.197145 +v 0.688976 0.594129 0.186676 +v -0.233938 1.203327 0.026273 +v 0.463034 0.689597 0.370395 +v -0.218924 0.964367 0.206549 +v -0.373568 1.121147 0.300261 +v -0.364042 1.172427 -0.304923 +v -0.295963 1.091817 0.218158 +v -0.449745 0.994097 0.418387 +v 0.571142 0.624380 0.333352 +v 0.092934 1.409087 -0.256201 +v 0.701708 0.669073 0.062094 +v 0.710047 0.584830 -0.107502 +v 0.006143 1.483227 -0.169798 +v -0.251614 0.865117 0.246571 +v -0.242035 1.203418 0.031980 +v -0.292021 1.163507 0.207051 +v 0.649278 0.675552 0.217940 +v 0.564967 0.690077 0.307133 +v 0.615030 0.715927 0.238955 +v -0.265211 1.128627 0.144294 +v -0.244492 0.864907 0.239247 +v 0.075795 1.409127 -0.245764 +v -0.407792 0.924407 0.426258 +v 0.668462 0.581790 -0.197678 +v -0.275861 0.937018 0.282595 +v 0.668791 0.661439 0.193280 +v -0.192929 0.907017 0.172979 +v 0.087345 1.394567 -0.246683 +v -0.236849 0.964837 0.233690 +v -0.385840 0.951998 0.387825 +v -0.312692 0.922977 0.317145 +v -0.413764 0.910337 0.435003 +v -0.607977 0.636795 -0.045052 +v -0.325818 0.880027 0.315326 +v -0.258980 0.865157 0.253559 +v -0.308447 1.192558 0.236904 +v -0.508897 1.321237 -0.328807 +v -0.288109 1.106227 0.212144 +v 0.568951 0.637545 0.330227 +v -0.393831 1.121467 0.323676 +v 0.471953 0.689727 0.365791 +v -0.422517 0.980217 0.405030 +v -0.430076 0.980237 0.411672 +v 0.502000 0.808537 0.268667 +v 0.492548 0.808627 0.272761 +v -0.276581 1.105927 0.193417 +v 0.061140 1.394438 -0.231854 +v 0.650600 0.651382 -0.177516 +v 0.665472 0.722837 -0.097368 +v -0.658896 0.977767 0.032910 +v -0.028200 1.424057 -0.149551 +v -0.080853 0.639783 -0.322955 +v -0.332146 1.091987 0.254229 +v -0.200722 1.130748 -0.048182 +v 0.033624 1.250717 -0.146764 +v 0.040233 1.252827 -0.154633 +v 0.152604 1.323267 -0.239558 +v 0.125760 1.453568 -0.296080 +v 0.511461 0.637488 0.370183 +v -0.348397 1.281847 -0.425390 +v -0.028005 1.263047 -0.079530 +v -0.036961 1.262957 -0.074873 +v 0.652379 0.662241 0.222716 +v 0.163218 1.395097 -0.294995 +v -0.350087 1.281757 -0.445391 +v -0.324502 1.105897 0.246804 +v -0.318305 1.106218 0.238946 +v 0.576760 0.637641 0.323942 +v -0.209955 0.991807 0.166394 +v -0.336751 0.992957 0.300071 +v -0.386974 0.993647 0.350397 +v -0.350283 1.063097 0.262922 +v -0.346869 1.095927 -0.146518 +v -0.017294 0.585421 -0.395287 +v 0.676505 0.624450 -0.157170 +v -0.490958 0.716617 -0.191146 +v -0.591901 0.785667 0.124183 +v 0.519853 0.637607 0.364751 +v 0.527805 0.637447 0.358656 +v -0.069642 1.320367 -0.122356 +v -0.390808 0.620385 -0.268707 +v 0.374109 0.900247 0.259636 +v 0.702218 0.612848 0.152114 +v -0.410984 0.809207 0.368121 +v 0.383663 0.900267 0.255782 +v 0.364517 0.900247 0.263475 +v -0.349079 1.121278 0.282999 +v -0.130865 0.639124 -0.315316 +v -0.450524 0.632882 -0.243917 +v -0.430921 0.633561 -0.251114 +v -0.658199 0.856587 0.253585 +v -0.493490 1.181867 -0.198285 +v 0.176736 1.378487 -0.336985 +v -0.347452 1.281797 -0.415366 +v -0.470539 0.632232 -0.235028 +v -0.491340 0.759417 -0.172626 +v -0.381462 0.763107 -0.231432 +v -0.501131 0.830547 -0.139974 +v -0.170781 0.638566 -0.311112 +v -0.363375 1.282308 -0.285066 +v 0.112833 1.289027 -0.207501 +v -0.566655 1.099937 -0.067432 +v -0.359174 1.218727 -0.415462 +v 0.478146 0.040064 -0.106320 +v 0.478119 0.040074 -0.116288 +v 0.473035 0.039529 -0.126300 +v 0.469200 0.039105 -0.136254 +v 0.464094 0.038551 -0.146242 +v 0.458987 0.038016 -0.156254 +v 0.458951 0.038012 -0.166239 +v 0.456376 0.037687 -0.176206 +v 0.453824 0.037444 -0.186216 +v 0.451248 0.037131 -0.196187 +v 0.449948 0.037004 -0.206224 +v 0.447382 0.036717 -0.216199 +v 0.448613 0.036843 -0.226215 +v 0.441109 0.033726 -0.236331 +v 0.434314 0.035695 -0.246059 +v 0.432694 0.035960 -0.255855 +v -0.420752 0.633632 -0.252127 +v 0.468333 0.054872 0.312728 +v 0.474623 0.055534 0.302989 +v 0.480645 0.056409 0.293047 +v 0.484456 0.056783 0.283137 +v 0.488244 0.057221 0.273231 +v 0.492071 0.057784 0.263328 +v 0.493658 0.057566 0.253419 +v 0.497557 0.057735 0.243424 +v -0.460670 0.632579 -0.239148 +v -0.180749 0.623988 -0.309787 +v -0.499244 1.223987 -0.128481 +v -0.619512 0.692057 0.104232 +v -0.361969 1.218587 -0.425502 +v -0.457492 1.160417 -0.376666 +v 0.717883 0.557452 0.122077 +v -0.368373 1.329167 -0.385273 +v -0.349905 1.266227 -0.315352 +v -0.344190 1.407297 -0.685812 +v -0.351218 1.297667 -0.415369 +v -0.407192 0.304103 0.124560 +v -0.480707 0.631837 -0.228989 +v 0.218811 0.755607 -0.314853 +v 0.198759 0.755607 -0.317091 +v 0.006161 1.364207 -0.271369 +v -0.340451 0.635495 -0.276881 +v -0.040940 0.640281 -0.326902 +v 0.682730 0.075964 -0.016984 +v 0.681185 0.076261 -0.026918 +v 0.678451 0.076386 -0.036832 +v 0.677646 0.077844 -0.046329 +v 0.665759 0.074970 -0.056709 +v 0.661361 0.075608 -0.066239 +v 0.648641 0.074625 -0.075978 +v 0.174257 1.423807 -0.336939 +v 0.480644 0.054723 -0.116327 +v 0.486397 0.056101 -0.125888 +v 0.477540 0.055062 -0.135962 +v 0.471711 0.053812 -0.146314 +v 0.467882 0.053411 -0.156304 +v 0.465284 0.053102 -0.166293 +v 0.462718 0.052822 -0.176283 +v 0.461222 0.052839 -0.186206 +v 0.461155 0.052852 -0.196229 +v 0.458875 0.052368 -0.206268 +v 0.456561 0.051894 -0.216314 +v 0.455071 0.051874 -0.226271 +v 0.452646 0.051506 -0.236306 +v 0.449926 0.051349 -0.246261 +v 0.445074 0.050557 -0.256352 +v 0.439969 0.050022 -0.266386 +v 0.433168 0.049710 -0.276111 +v 0.425340 0.049037 -0.285884 +v 0.416566 0.048115 -0.295215 +v 0.362255 0.912827 -0.195982 +v 0.498505 0.655648 -0.301226 +v -0.226760 1.067757 -0.035352 +v -0.348336 1.281897 -0.405385 +v 0.475066 0.069574 0.322806 +v 0.482430 0.070472 0.312930 +v 0.487005 0.070310 0.303605 +v 0.493475 0.070865 0.293693 +v 0.498217 0.071593 0.283524 +v 0.502115 0.071862 0.273583 +v 0.506929 0.072583 0.263471 +v 0.509686 0.072647 0.253536 +v 0.512590 0.072509 0.243688 +v 0.516734 0.072483 0.233858 +v -0.340714 0.607007 -0.281414 +v -0.209024 1.037607 0.034530 +v -0.130649 0.610622 -0.322134 +v -0.619912 0.705397 0.044383 +v 0.174839 1.454427 -0.377256 +v -0.530596 0.740897 -0.145359 +v 0.165944 1.469177 -0.357000 +v 0.681696 0.724447 -0.027820 +v -0.354947 1.203737 -0.285246 +v -0.593959 0.690037 -0.065392 +v -0.090825 0.639597 -0.321457 +v -0.363730 1.422987 -0.625325 +v -0.656155 0.869817 0.223471 +v -0.521294 0.933397 -0.152031 +v -0.409852 0.311465 0.135277 +v -0.421816 0.964227 -0.180629 +v -0.411416 0.891047 -0.179072 +v -0.070758 0.639777 -0.323782 +v 0.726590 0.095948 0.022869 +v 0.722112 0.094269 0.012880 +v 0.724116 0.095449 0.002926 +v 0.721466 0.095361 -0.007020 +v 0.717583 0.094984 -0.016970 +v 0.712679 0.094055 -0.026981 +v 0.707635 0.093426 -0.036946 +v 0.703671 0.093257 -0.046804 +v 0.698367 0.093042 -0.056551 +v 0.688432 0.091496 -0.066694 +v 0.678007 0.090804 -0.076376 +v 0.669697 0.090987 -0.085684 +v 0.658457 0.089666 -0.095614 +v 0.637242 0.087436 -0.105350 +v -0.212165 1.037417 0.004591 +v 0.500955 0.071202 -0.136507 +v 0.488022 0.070133 -0.146244 +v 0.483184 0.069332 -0.156412 +v 0.478231 0.068677 -0.166428 +v 0.476638 0.068774 -0.176333 +v 0.472262 0.067719 -0.186456 +v 0.469886 0.067349 -0.196461 +v 0.468082 0.067548 -0.206369 +v 0.465831 0.067070 -0.216392 +v 0.464474 0.066945 -0.226401 +v 0.462009 0.066596 -0.236443 +v 0.458376 0.066055 -0.246540 +v 0.455326 0.066077 -0.256435 +v 0.450605 0.065228 -0.266716 +v 0.443897 0.064828 -0.276582 +v 0.434039 0.063496 -0.287021 +v 0.422463 0.062468 -0.297058 +v 0.408103 0.061249 -0.306710 +v 0.162061 0.643929 -0.408804 +v -0.640760 0.823517 0.278682 +v -0.237775 1.067517 -0.065383 +v -0.355436 1.265817 -0.465460 +v -0.021193 0.725967 -0.316785 +v -0.671357 0.869437 0.113524 +v 0.489676 0.084946 0.313638 +v 0.498957 0.086449 0.302984 +v 0.505847 0.086768 0.293429 +v 0.512006 0.087503 0.283360 +v 0.514853 0.087521 0.273552 +v 0.517547 0.087638 0.263608 +v 0.522545 0.088135 0.253578 +v 0.526800 0.088128 0.243808 +v -0.621184 0.800977 0.014150 +v -0.617125 0.800307 0.003994 +v -0.678227 0.910227 0.133331 +v -0.458989 1.121207 -0.219690 +v -0.220320 1.037247 0.114450 +v -0.363745 1.454217 -0.656999 +v -0.354067 1.203938 -0.245255 +v 0.648192 0.551601 -0.236759 +v 0.169642 1.469647 -0.367204 +v -0.347470 1.407117 -0.665376 +v -0.353911 1.203837 -0.295254 +v -0.356351 1.312267 -0.635354 +v 0.178835 0.741107 -0.316943 +v -0.371412 0.876467 -0.178839 +v -0.562377 1.020278 -0.110026 +v -0.140744 0.624774 -0.318627 +v 0.750863 0.112142 0.062717 +v 0.752183 0.112064 0.052728 +v 0.753575 0.111819 0.042757 +v 0.754642 0.112084 0.032750 +v 0.756483 0.113122 0.022762 +v 0.755136 0.113137 0.012827 +v 0.752809 0.112717 0.002855 +v 0.752373 0.113252 -0.007031 +v 0.748711 0.113001 -0.016927 +v 0.743028 0.111350 -0.027080 +v 0.739795 0.112212 -0.036688 +v 0.732451 0.110940 -0.046718 +v 0.726196 0.110133 -0.056623 +v 0.718338 0.109775 -0.066248 +v 0.701537 0.108373 -0.075786 +v 0.684907 0.104636 -0.086985 +v 0.677904 0.104783 -0.096350 +v 0.667663 0.103906 -0.106104 +v 0.556886 0.688057 -0.254839 +v -0.608645 0.976307 -0.076451 +v 0.512691 0.088078 -0.145200 +v 0.498965 0.086155 -0.155901 +v 0.490818 0.084426 -0.166540 +v 0.487239 0.083909 -0.176532 +v 0.483316 0.083601 -0.186476 +v 0.479744 0.083059 -0.196479 +v 0.476079 0.082539 -0.206495 +v 0.474468 0.082590 -0.216400 +v 0.472267 0.082094 -0.226491 +v 0.470853 0.082027 -0.236468 +v 0.468354 0.081682 -0.246540 +v 0.465593 0.081521 -0.256513 +v 0.461880 0.080995 -0.266642 +v 0.455573 0.080236 -0.276756 +v 0.448672 0.079975 -0.286464 +v 0.438466 0.078917 -0.296470 +v 0.428114 0.079297 -0.304190 +v 0.351673 0.913247 -0.196123 +v -0.624029 0.624864 0.124633 +v 0.161074 1.333647 -0.255901 +v -0.651512 0.882037 -0.006509 +v -0.641173 0.881707 -0.026415 +v -0.212121 1.037327 0.084403 +v -0.362592 1.375627 -0.565509 +v -0.356208 1.157337 -0.175211 +v -0.262824 1.159687 0.134547 +v -0.252061 1.067097 -0.085311 +v -0.354667 1.265797 -0.455512 +v -0.319262 0.285049 0.141790 +v 0.175368 1.423568 -0.375143 +v -0.367464 1.249357 -0.495589 +v -0.351929 1.234587 -0.395411 +v 0.514551 0.102109 0.293233 +v 0.519883 0.102484 0.283463 +v 0.524072 0.102630 0.273671 +v 0.528095 0.102842 0.263771 +v 0.534202 0.103538 0.253664 +v -0.223578 1.067927 -0.015435 +v -0.345643 1.423147 -0.685924 +v -0.352864 1.266167 -0.295344 +v -0.348660 1.439227 -0.686336 +v -0.415603 1.348077 -0.629536 +v -0.360600 1.328707 -0.435433 +v -0.468582 0.370555 0.177261 +v -0.359162 1.453797 -0.665741 +v -0.353932 1.203867 -0.275268 +v -0.223229 1.037087 0.124427 +v 0.171814 1.470037 -0.376844 +v 0.670053 0.525498 -0.207108 +v -0.244450 1.159967 0.054487 +v -0.525116 0.759537 0.230538 +v -0.400627 0.605401 -0.262041 +v 0.770117 0.128226 0.092568 +v 0.771585 0.127962 0.082635 +v 0.772877 0.127864 0.072677 +v 0.775255 0.128143 0.062671 +v 0.775453 0.127815 0.052695 +v 0.777593 0.128367 0.042683 +v 0.777262 0.128738 0.032651 +v 0.776072 0.128509 0.022691 +v 0.775823 0.128815 0.012711 +v 0.774446 0.128837 0.002753 +v 0.771793 0.128869 -0.007183 +v 0.769328 0.128652 -0.017159 +v 0.767816 0.128871 -0.027044 +v 0.762279 0.127624 -0.037092 +v 0.759664 0.127624 -0.046911 +v 0.751474 0.126461 -0.056892 +v 0.743840 0.125945 -0.066665 +v 0.736796 0.126494 -0.075825 +v 0.722561 0.125765 -0.085228 +v 0.590145 0.669230 -0.235230 +v -0.078042 0.841287 -0.236219 +v 0.565266 0.683527 -0.250091 +v 0.644114 0.629722 -0.192481 +v 0.520980 0.100614 -0.148322 +v 0.509198 0.100085 -0.157283 +v 0.501688 0.100531 -0.166162 +v 0.494162 0.098473 -0.176995 +v 0.490002 0.098376 -0.186697 +v 0.486433 0.097788 -0.196669 +v 0.484398 0.097245 -0.206736 +v 0.484249 0.098258 -0.216413 +v 0.482128 0.097711 -0.226481 +v 0.480703 0.097663 -0.236471 +v 0.478280 0.097324 -0.246470 +v 0.475777 0.097053 -0.256517 +v 0.473118 0.096823 -0.266550 +v 0.469072 0.096551 -0.276488 +v 0.463542 0.096237 -0.286234 +v 0.452741 0.094575 -0.296869 +v 0.440765 0.093862 -0.306229 +v 0.668974 0.635523 -0.158353 +v 0.118758 0.641774 -0.406861 +v -0.542477 0.768787 -0.115459 +v -0.358657 1.187847 -0.305251 +v -0.656281 0.882127 0.003387 +v -0.646736 0.881917 -0.016379 +v -0.357960 1.188117 -0.295233 +v 0.177126 1.363348 -0.306646 +v -0.363052 1.360327 -0.535345 +v -0.435302 0.320797 0.121773 +v -0.363569 1.281087 -0.545449 +v -0.363975 1.281127 -0.555400 +v -0.355978 1.157458 -0.155280 +v -0.366274 1.375907 -0.555354 +v -0.364664 1.218367 -0.435627 +v 0.131770 0.052087 0.420637 +v -0.456776 0.324955 0.096127 +v -0.276971 1.143987 0.184570 +v -0.270321 1.097708 0.184346 +v -0.606643 0.799647 -0.016083 +v -0.442007 1.404147 -0.609998 +v -0.640669 1.060417 0.092515 +v -0.141797 1.365307 -0.197872 +v -0.534212 0.768367 -0.125509 +v -0.598543 0.799877 0.143909 +v -0.572219 0.837718 0.389280 +v -0.352729 1.250507 -0.275322 +v 0.178769 1.439028 -0.367811 +v -0.347259 1.439077 -0.696233 +v -0.613866 0.800577 0.113848 +v -0.358615 1.172457 -0.245284 +v -0.452640 1.263917 -0.478623 +v -0.356967 1.454337 -0.675626 +v -0.215488 1.037257 -0.015386 +v -0.360197 1.313187 -0.375378 +v -0.072370 1.207557 -0.095206 +v -0.350624 1.386797 -0.706759 +v -0.360072 1.234787 -0.225391 +v 0.689693 0.555066 -0.167469 +v 0.786190 0.143321 0.102639 +v 0.789783 0.143674 0.092607 +v 0.793106 0.144288 0.082562 +v 0.793345 0.143962 0.072600 +v 0.794600 0.143992 0.062615 +v 0.796636 0.144579 0.052576 +v 0.797701 0.144869 0.042565 +v 0.796608 0.144536 0.032573 +v 0.795442 0.144330 0.022592 +v 0.793914 0.144543 0.012618 +v 0.790287 0.144136 0.002649 +v 0.786847 0.143541 -0.007355 +v 0.785478 0.143576 -0.017328 +v 0.782977 0.143376 -0.027297 +v 0.782296 0.144111 -0.037099 +v 0.777777 0.143281 -0.047059 +v 0.772685 0.143063 -0.056848 +v 0.766617 0.142512 -0.066644 +v 0.759091 0.142184 -0.076268 +v 0.750186 0.141973 -0.085645 +v 0.737842 0.140644 -0.095561 +v 0.573501 0.678356 -0.244842 +v 0.581855 0.673801 -0.240091 +v 0.521678 0.702387 -0.270042 +v 0.265860 0.891517 -0.211967 +v -0.361955 1.249707 -0.475530 +v 0.529805 0.117631 -0.156295 +v 0.522957 0.117512 -0.165842 +v 0.514316 0.116288 -0.176252 +v 0.507006 0.115141 -0.186455 +v 0.498860 0.113496 -0.196729 +v 0.494338 0.112512 -0.206791 +v 0.491801 0.112279 -0.216772 +v 0.490129 0.112560 -0.226622 +v 0.487964 0.112115 -0.236739 +v 0.486386 0.112219 -0.246719 +v 0.483834 0.112042 -0.256759 +v 0.481355 0.111811 -0.266817 +v 0.478530 0.111695 -0.276779 +v 0.474058 0.111570 -0.286530 +v 0.468465 0.111219 -0.296185 +v 0.458466 0.110130 -0.306276 +v 0.437294 0.753927 -0.264919 +v -0.077778 0.035369 -0.401264 +v -0.414879 0.344597 0.193404 +v 0.685714 0.554728 -0.177374 +v -0.481295 1.209097 -0.308352 +v -0.564574 1.071687 -0.086320 +v -0.658594 0.910367 0.223268 +v 0.176339 1.363168 -0.317097 +v -0.361185 1.296787 -0.605342 +v -0.351440 1.297587 -0.395356 +v 0.134860 1.305847 -0.237641 +v -0.365216 1.280967 -0.565399 +v -0.360546 1.375877 -0.575354 +v 0.172411 1.393387 -0.307106 +v 0.166540 1.393137 -0.297436 +v 0.686104 0.611320 -0.147589 +v -0.348977 1.391557 -0.645336 +v -0.252896 1.159837 0.094491 +v -0.585699 0.792117 0.316088 +v -0.477477 0.838748 0.428292 +v -0.279520 1.143977 0.194685 +v 0.680337 0.554295 -0.187209 +v -0.219068 1.022007 -0.055450 +v -0.215244 1.021807 -0.045294 +v 0.692359 0.668744 0.122208 +v -0.217862 1.037957 0.105390 +v -0.251231 1.113167 0.094166 +v -0.616933 0.804397 0.263581 +v -0.348628 1.250437 -0.385317 +v -0.214142 1.037537 0.093281 +v 0.175554 1.437477 -0.377452 +v 0.674044 0.553768 -0.197187 +v -0.582929 0.675722 -0.095209 +v -0.388435 0.301073 0.130910 +v 0.080274 0.055913 0.440011 +v 0.169503 1.348537 -0.297206 +v 0.697202 0.555684 -0.147483 +v -0.361480 1.187487 -0.345337 +v -0.363411 1.186837 -0.355489 +v 0.705074 0.556277 -0.127530 +v 0.793682 0.157871 0.122747 +v 0.800578 0.158880 0.112568 +v 0.805430 0.159288 0.102570 +v 0.808980 0.159642 0.092541 +v 0.809158 0.159436 0.082589 +v 0.811338 0.159874 0.072518 +v 0.813498 0.160322 0.062503 +v 0.814591 0.160505 0.052491 +v 0.814575 0.160468 0.042480 +v 0.813647 0.160036 0.032538 +v 0.813143 0.160482 0.022539 +v 0.811738 0.160605 0.012584 +v 0.810151 0.160860 0.002628 +v 0.806652 0.160392 -0.007325 +v 0.803174 0.159829 -0.017337 +v 0.798927 0.158602 -0.027454 +v 0.796426 0.158420 -0.037423 +v 0.793658 0.158531 -0.047268 +v 0.789606 0.158570 -0.057016 +v 0.783472 0.158047 -0.066800 +v 0.774017 0.156914 -0.076804 +v 0.766427 0.156572 -0.086401 +v 0.756218 0.156247 -0.095681 +v 0.744408 0.154565 -0.105904 +v 0.731731 0.153941 -0.116644 +v 0.652189 0.624567 -0.186948 +v 0.489146 0.661069 -0.305737 +v 0.712761 0.556897 -0.107585 +v 0.245394 0.852907 -0.250627 +v 0.539860 0.133070 -0.166303 +v 0.534762 0.132495 -0.176419 +v 0.531724 0.132866 -0.186313 +v 0.527884 0.132512 -0.196316 +v 0.523964 0.132283 -0.206285 +v 0.517738 0.131493 -0.216321 +v 0.510210 0.130513 -0.226284 +v 0.496266 0.126345 -0.237234 +v 0.493088 0.126689 -0.247137 +v 0.489270 0.126591 -0.257091 +v 0.485291 0.126532 -0.267067 +v 0.481836 0.126728 -0.276624 +v 0.477849 0.126394 -0.286567 +v 0.472104 0.125657 -0.297116 +v 0.464933 0.125167 -0.306454 +v 0.451795 0.124025 -0.315792 +v 0.568936 0.640025 -0.263627 +v 0.774359 0.375708 -0.064976 +v -0.361060 1.296617 -0.615330 +v 0.823506 0.286542 -0.093739 +v 0.037949 0.769877 -0.301705 +v -0.628475 1.033597 0.232656 +v -0.658455 0.910327 0.213275 +v -0.658847 0.910237 0.203329 +v 0.171304 1.365047 -0.326161 +v -0.357446 1.282418 -0.305105 +v -0.351647 1.297517 -0.385388 +v 0.132588 1.303737 -0.227803 +v 0.132339 1.302418 -0.216904 +v -0.357870 1.375817 -0.585398 +v 0.178970 1.393567 -0.326894 +v 0.175923 1.393607 -0.316842 +v -0.346204 1.391487 -0.665418 +v -0.347484 1.391537 -0.655349 +v -0.312550 0.357605 0.274010 +v -0.255797 1.159797 0.104481 +v -0.372380 1.264997 -0.575341 +v -0.366223 1.328678 -0.395409 +v -0.269638 1.159547 0.154660 +v -0.265702 1.097888 0.174542 +v -0.222310 1.021707 -0.065324 +v -0.200830 1.006907 -0.025343 +v -0.226117 1.114127 -0.005542 +v -0.423264 0.348008 0.188630 +v -0.359331 1.249907 -0.465502 +v -0.030200 0.750227 -0.300877 +v -0.568306 0.805677 0.362693 +v -0.377252 0.437392 0.314718 +v -0.271231 1.190448 0.164527 +v -0.363803 1.265407 -0.515455 +v -0.094304 1.192057 -0.095515 +v -0.356763 1.188397 -0.195248 +v -0.356527 1.188397 -0.205205 +v -0.355312 1.188417 -0.215220 +v -0.348245 1.234997 -0.315289 +v -0.064643 1.207427 -0.115679 +v -0.360781 1.218297 -0.205086 +v 0.810272 0.173851 0.122560 +v 0.816398 0.174293 0.112636 +v 0.821244 0.174706 0.102607 +v 0.824475 0.175360 0.092464 +v 0.825747 0.175363 0.082486 +v 0.825822 0.175331 0.072460 +v 0.827849 0.175803 0.062433 +v 0.829021 0.175867 0.052426 +v 0.829077 0.175820 0.042434 +v 0.828870 0.175950 0.032441 +v 0.828774 0.176006 0.022454 +v 0.827333 0.176040 0.012474 +v 0.825936 0.176104 0.002529 +v 0.823820 0.175538 -0.007494 +v 0.821531 0.175170 -0.017488 +v 0.819683 0.175630 -0.027343 +v 0.815098 0.174833 -0.037327 +v 0.811158 0.174737 -0.047134 +v 0.805270 0.173980 -0.057126 +v 0.799095 0.173474 -0.066916 +v 0.791661 0.172909 -0.076657 +v 0.782081 0.171913 -0.086578 +v 0.772321 0.171067 -0.096320 +v 0.762633 0.170130 -0.106079 +v 0.751995 0.168838 -0.116095 +v 0.738325 0.167397 -0.125935 +v 0.676406 0.629968 -0.152341 +v -0.560918 0.788367 0.199389 +v 0.578863 0.151586 -0.154826 +v 0.557426 0.149256 -0.166102 +v 0.551291 0.148403 -0.176518 +v 0.548306 0.148527 -0.186396 +v 0.545067 0.147568 -0.196647 +v 0.543476 0.147712 -0.206568 +v 0.539650 0.147312 -0.216566 +v 0.535825 0.146997 -0.226532 +v 0.533523 0.148044 -0.236040 +v 0.527663 0.146918 -0.246078 +v 0.519684 0.146798 -0.255645 +v 0.493710 0.140604 -0.267961 +v 0.485238 0.140141 -0.278154 +v 0.479302 0.140866 -0.286780 +v 0.471287 0.141056 -0.297811 +v 0.463857 0.139474 -0.306698 +v 0.452049 0.138404 -0.316199 +v 0.311819 0.867987 -0.247246 +v 0.111099 0.696987 -0.325158 +v 0.480522 0.664886 -0.309897 +v 0.264934 0.618101 -0.421689 +v 0.026532 0.768357 -0.300115 +v -0.648260 0.963638 -0.006878 +v -0.658774 0.910447 0.233258 +v -0.510804 0.780087 0.342603 +v -0.352803 1.297627 -0.375337 +v 0.130888 1.307977 -0.246032 +v -0.358343 1.219378 -0.215309 +v -0.356099 1.375897 -0.595330 +v -0.357702 1.157257 -0.195203 +v 0.181101 1.393327 -0.337205 +v 0.721443 0.599947 0.032112 +v -0.626732 1.183027 0.032431 +v -0.432917 1.461017 -0.659636 +v -0.258259 1.159757 0.114566 +v -0.369047 1.264987 -0.545501 +v -0.354924 1.203697 -0.305229 +v -0.352588 1.438557 -0.665511 +v -0.256293 1.097857 0.124381 +v -0.601497 0.799337 0.134116 +v -0.582196 0.634853 -0.115246 +v -0.227626 1.114107 0.005601 +v -0.388500 0.336964 0.205594 +v -0.379935 1.248667 -0.565414 +v -0.517446 0.793367 0.366284 +v -0.674551 0.882947 0.083393 +v -0.354338 1.250427 -0.265398 +v -0.274385 1.190327 0.174429 +v -0.250115 1.175287 0.074474 +v -0.254556 1.175197 0.094447 +v -0.274439 1.174907 0.174414 +v -0.017272 0.614189 -0.345412 +v -0.364150 1.171887 -0.295303 +v -0.250210 1.067258 0.144469 +v -0.245245 1.066997 0.134195 +v -0.344450 1.423197 -0.696693 +v 0.824659 0.189324 0.122513 +v 0.830424 0.190065 0.112395 +v 0.833225 0.189969 0.102547 +v 0.835575 0.190215 0.092470 +v 0.837522 0.190779 0.082383 +v 0.837760 0.190562 0.072421 +v 0.838906 0.190684 0.062407 +v 0.840080 0.190792 0.052401 +v 0.840031 0.190802 0.042394 +v 0.840028 0.190792 0.032378 +v 0.839716 0.190955 0.022389 +v 0.838450 0.190821 0.012405 +v 0.837138 0.190733 0.002424 +v 0.834794 0.190418 -0.007576 +v 0.833442 0.190353 -0.017542 +v 0.830660 0.190311 -0.027407 +v 0.827106 0.189918 -0.037418 +v 0.822259 0.189404 -0.047330 +v 0.816635 0.188554 -0.057488 +v 0.810208 0.188197 -0.067211 +v 0.802985 0.187466 -0.077127 +v 0.795524 0.186919 -0.086892 +v 0.783778 0.185526 -0.097036 +v 0.774999 0.184932 -0.106589 +v 0.764212 0.183799 -0.116505 +v 0.749908 0.182182 -0.126457 +v -0.030235 0.901577 -0.159345 +v 0.382930 0.700777 -0.308252 +v 0.561398 0.574683 -0.294734 +v 0.571228 0.165023 -0.165984 +v 0.564332 0.163570 -0.176904 +v 0.560643 0.163086 -0.186878 +v 0.558155 0.162779 -0.196806 +v 0.555417 0.162651 -0.206776 +v 0.552816 0.162444 -0.216749 +v 0.550310 0.162151 -0.226770 +v 0.546660 0.161583 -0.236868 +v 0.544426 0.162223 -0.246435 +v 0.539538 0.161571 -0.256503 +v 0.530241 0.161235 -0.266091 +v 0.519797 0.160851 -0.275552 +v 0.501527 0.157838 -0.286339 +v 0.614095 0.653989 -0.218667 +v 0.784958 0.375763 -0.064994 +v 0.160840 0.872717 -0.231272 +v 0.149330 0.871737 -0.230007 +v 0.204748 0.634816 -0.419180 +v 0.668736 0.614922 -0.176595 +v -0.485979 0.352922 0.048207 +v -0.358882 1.360247 -0.555342 +v -0.360350 1.360167 -0.545379 +v -0.160521 1.159687 -0.054715 +v 0.684377 0.710517 0.062139 +v -0.354613 1.375897 -0.605329 +v -0.000886 0.613164 -0.375431 +v 0.720778 0.543573 -0.057424 +v -0.414176 0.444392 0.300969 +v -0.353471 1.313067 -0.455398 +v -0.067168 1.207367 -0.105418 +v -0.370594 1.264947 -0.555449 +v -0.418545 0.314190 0.131035 +v -0.443588 0.324379 0.116887 +v -0.215469 1.053087 0.024500 +v -0.252523 1.097787 0.114216 +v -0.210523 1.022197 -0.025423 +v -0.347387 1.266128 -0.395352 +v -0.228778 1.114228 0.014588 +v -0.617438 0.824137 0.194010 +v -0.378690 1.248827 -0.555447 +v -0.156787 1.159937 -0.075300 +v -0.337183 1.127048 -0.125822 +v -0.348454 1.250437 -0.375358 +v -0.268547 1.190437 0.154491 +v -0.252765 1.175287 0.084517 +v -0.217262 1.052897 0.004477 +v -0.219196 1.052677 -0.005427 +v -0.198277 1.006747 -0.015279 +v -0.254032 1.067397 0.154628 +v -0.232252 1.036757 -0.075262 +v -0.228073 1.036867 -0.065276 +v -0.394216 0.296993 0.115655 +v 0.835293 0.204552 0.122384 +v 0.839968 0.205052 0.112344 +v 0.843470 0.205474 0.102300 +v 0.845119 0.205303 0.092402 +v 0.846128 0.205503 0.082371 +v 0.847089 0.205725 0.072328 +v 0.848318 0.205780 0.062349 +v 0.848544 0.205643 0.052359 +v 0.848738 0.205516 0.042351 +v 0.848627 0.205545 0.032335 +v 0.848126 0.205746 0.022341 +v 0.846725 0.205729 0.012377 +v 0.844730 0.205254 0.002308 +v 0.843107 0.205280 -0.007614 +v 0.840770 0.204989 -0.017619 +v 0.838122 0.204841 -0.027518 +v 0.834741 0.204378 -0.037602 +v 0.830012 0.203821 -0.047611 +v 0.824929 0.203457 -0.057490 +v 0.818614 0.202952 -0.067292 +v 0.811661 0.202094 -0.077429 +v 0.805105 0.201782 -0.086997 +v 0.794608 0.200532 -0.097159 +v 0.785668 0.200034 -0.106538 +v 0.773982 0.198609 -0.116817 +v 0.761123 0.198594 -0.126669 +v 0.508874 0.888197 -0.129615 +v -0.645890 0.854847 -0.016408 +v -0.117273 0.019036 -0.385522 +v 0.583195 0.179851 -0.166898 +v 0.576876 0.179235 -0.176871 +v 0.572029 0.178561 -0.186949 +v 0.570269 0.178774 -0.196723 +v 0.568471 0.178930 -0.206609 +v 0.563449 0.177478 -0.216930 +v 0.560904 0.177247 -0.226976 +v 0.558965 0.177471 -0.236776 +v 0.555309 0.176992 -0.246816 +v 0.550345 0.176433 -0.256913 +v 0.544455 0.176405 -0.266437 +v 0.536838 0.175704 -0.276391 +v 0.527817 0.174949 -0.286146 +v 0.621704 0.647305 -0.211752 +v 0.590240 0.801287 -0.155778 +v 0.049041 0.881927 -0.199635 +v 0.069727 0.871007 -0.208153 +v 0.528223 0.815277 -0.190972 +v 0.183173 0.040869 -0.340366 +v -0.266926 0.844337 -0.238474 +v 0.488463 0.909477 -0.112529 +v -0.343374 1.375817 -0.675461 +v -0.357641 1.360177 -0.565373 +v -0.217172 1.037138 -0.025302 +v 0.685625 0.710577 0.052137 +v -0.348518 1.281887 -0.395375 +v -0.358891 1.328867 -0.455379 +v -0.225141 1.067888 -0.025463 +v 0.180998 1.423337 -0.357794 +v -0.343562 1.391437 -0.675504 +v -0.359836 1.156787 -0.225315 +v -0.371970 1.264857 -0.565414 +v -0.634235 0.822457 0.316617 +v -0.225682 1.113997 -0.015467 +v -0.260880 1.098137 0.154675 +v -0.206808 1.021917 -0.005322 +v 0.693252 0.541369 -0.157372 +v -0.251692 1.051687 0.174397 +v -0.230319 1.114048 0.024470 +v -0.424557 0.025451 -0.135820 +v -0.377276 1.248847 -0.545498 +v -0.156545 1.159917 -0.065020 +v -0.406549 1.109707 -0.201737 +v -0.348325 1.250457 -0.365354 +v -0.266495 1.190667 0.144622 +v -0.357461 1.173127 -0.235082 +v -0.219957 1.052447 -0.015369 +v -0.221980 1.052607 -0.025431 +v -0.452823 1.235987 -0.478549 +v -0.238221 1.036488 -0.085067 +v -0.584405 0.800757 0.345090 +v -0.280261 1.159327 0.184399 +v -0.603575 0.786547 0.014150 +v -0.347124 1.266187 -0.385348 +v 0.847191 0.219750 0.112322 +v 0.849669 0.219945 0.102327 +v 0.851163 0.219895 0.092390 +v 0.852342 0.220008 0.082370 +v 0.853216 0.220238 0.072314 +v 0.853487 0.220100 0.062352 +v 0.854606 0.220222 0.052321 +v 0.854873 0.220086 0.042319 +v 0.855425 0.220439 0.032294 +v 0.854225 0.220322 0.022308 +v 0.852081 0.219934 0.012246 +v 0.850486 0.219961 0.002322 +v 0.849014 0.219899 -0.007636 +v 0.845810 0.219381 -0.017706 +v 0.843147 0.219217 -0.027640 +v 0.839585 0.218809 -0.037683 +v 0.834858 0.218315 -0.047693 +v 0.829675 0.217929 -0.057530 +v 0.823449 0.217404 -0.067376 +v 0.817438 0.216782 -0.077349 +v 0.811237 0.216276 -0.087181 +v 0.803094 0.215323 -0.097319 +v 0.796445 0.214994 -0.106714 +v 0.782353 0.213086 -0.117840 +v 0.211601 0.828767 -0.264653 +v 0.221824 0.828487 -0.264340 +v -0.640254 0.854647 -0.026437 +v -0.657370 0.896817 0.213353 +v 0.597576 0.196193 -0.165825 +v 0.589012 0.195075 -0.176492 +v 0.584070 0.194487 -0.186711 +v 0.579935 0.193557 -0.197207 +v 0.576708 0.193559 -0.206823 +v 0.573019 0.193141 -0.216853 +v 0.569257 0.192714 -0.226893 +v 0.565525 0.192328 -0.236910 +v 0.561913 0.191875 -0.246990 +v 0.558037 0.191529 -0.257003 +v 0.553040 0.190982 -0.267085 +v 0.546775 0.190334 -0.277245 +v 0.539572 0.190094 -0.286618 +v 0.529521 0.189055 -0.296678 +v 0.171444 0.873207 -0.231832 +v 0.113197 0.882867 -0.201206 +v 0.598306 0.786397 -0.159773 +v 0.543544 0.743797 -0.234245 +v 0.763349 0.375058 -0.064293 +v 0.214482 0.682277 -0.329157 +v -0.311480 0.901227 -0.176681 +v -0.021354 0.907767 -0.146121 +v -0.347245 1.266137 -0.405351 +v -0.356184 1.360127 -0.575370 +v -0.219363 1.037187 -0.035369 +v -0.362071 1.281077 -0.535511 +v -0.356137 1.328777 -0.505399 +v -0.357155 1.312857 -0.565383 +v -0.602008 0.799267 -0.026156 +v 0.721944 0.599999 0.022155 +v -0.342223 1.391447 -0.686482 +v -0.276770 1.159417 0.174620 +v -0.328296 0.341281 0.249616 +v -0.215818 1.052947 0.014489 +v -0.262562 1.098017 0.164624 +v -0.208314 1.021878 -0.015297 +v -0.124312 1.176407 -0.085417 +v 0.717876 0.627785 -0.017796 +v -0.248349 1.052117 0.164609 +v -0.232387 1.113857 0.034309 +v -0.519050 0.446056 0.207088 +v -0.375702 1.248827 -0.535565 +v 0.181541 1.408328 -0.357699 +v -0.041519 0.748287 -0.298716 +v -0.347154 1.250487 -0.355347 +v -0.265240 1.190657 0.134564 +v -0.355327 1.172867 -0.205220 +v -0.223598 1.052497 -0.035404 +v -0.225568 1.052268 -0.045225 +v -0.263080 1.082417 0.174449 +v -0.362376 1.265527 -0.505453 +v 0.687599 0.710477 -0.027787 +v 0.666767 0.681176 0.182087 +v -0.267881 1.175097 0.154674 +v 0.849029 0.233540 0.122525 +v 0.852313 0.233982 0.112365 +v 0.854542 0.234241 0.102321 +v 0.855930 0.234279 0.092347 +v 0.857265 0.234314 0.082359 +v 0.858252 0.234492 0.072313 +v 0.859215 0.234652 0.062282 +v 0.859591 0.234501 0.052289 +v 0.860462 0.234724 0.042265 +v 0.859650 0.234418 0.032232 +v 0.859121 0.234619 0.022269 +v 0.857693 0.234538 0.012284 +v 0.855560 0.234197 0.002225 +v 0.853084 0.233950 -0.007759 +v 0.850776 0.233653 -0.017807 +v 0.847382 0.233233 -0.027858 +v 0.844344 0.233181 -0.037638 +v 0.839701 0.232626 -0.047748 +v 0.834552 0.232259 -0.057571 +v 0.827683 0.231436 -0.067764 +v 0.822263 0.231144 -0.077391 +v 0.815463 0.230293 -0.087641 +v 0.809145 0.229799 -0.097384 +v 0.801640 0.229165 -0.107088 +v 0.791293 0.227599 -0.116910 +v 0.120897 0.907107 -0.166851 +v 0.147627 0.838267 -0.254522 +v -0.675268 0.909847 0.073316 +v -0.649162 0.908937 -0.016538 +v 0.611505 0.211562 -0.165809 +v 0.600932 0.209898 -0.176990 +v 0.593669 0.208963 -0.187160 +v 0.588393 0.208581 -0.197009 +v 0.582742 0.207658 -0.207287 +v 0.579728 0.207664 -0.217081 +v 0.575752 0.207395 -0.226993 +v 0.571472 0.207186 -0.236804 +v 0.566774 0.206623 -0.246946 +v 0.562943 0.206225 -0.256934 +v 0.558210 0.205713 -0.267175 +v 0.552976 0.205243 -0.277168 +v 0.546320 0.204723 -0.287014 +v 0.534885 0.203618 -0.297037 +v -0.008964 0.901787 -0.159731 +v 0.138363 0.870677 -0.228819 +v 0.126882 0.869347 -0.227189 +v 0.116328 0.868937 -0.226765 +v -0.030019 0.760657 -0.291765 +v 0.379196 0.924447 -0.168611 +v 0.341551 0.844407 -0.262031 +v 0.133633 0.901507 -0.181078 +v 0.723728 0.585984 -0.037652 +v 0.724117 0.586038 -0.027742 +v -0.354481 1.360117 -0.595316 +v -0.354760 1.360107 -0.585400 +v -0.352793 1.203917 -0.265266 +v -0.361939 1.328747 -0.425413 +v -0.368797 1.313017 -0.335380 +v -0.679300 0.923607 0.113195 +v 0.180479 1.393448 -0.346703 +v -0.371094 1.391337 -0.565483 +v -0.364740 1.328727 -0.405385 +v -0.368301 1.217827 -0.445801 +v -0.264798 1.144307 0.134545 +v 0.694446 0.668692 0.112109 +v -0.213147 1.022227 -0.035483 +v -0.214757 1.052828 0.044508 +v -0.373293 1.407557 -0.585181 +v 0.712361 0.627259 -0.057565 +v -0.244389 1.051998 0.154497 +v -0.235113 1.113777 0.044327 +v -0.491979 0.401837 0.197916 +v -0.372998 1.248977 -0.525591 +v -0.546024 0.728047 -0.135258 +v 0.722851 0.600004 -0.027741 +v -0.347100 1.250497 -0.345323 +v -0.264142 1.190578 0.124507 +v -0.356295 1.172857 -0.195212 +v -0.356475 1.172887 -0.185207 +v -0.662987 0.909317 0.013317 +v -0.355428 1.203907 -0.225262 +v -0.595785 0.703677 -0.045229 +v 0.717249 0.585660 0.092191 +v 0.123263 0.891627 -0.190622 +v -0.271090 1.206097 0.124533 +v 0.852916 0.247698 0.122648 +v 0.856995 0.248362 0.112286 +v 0.858472 0.248376 0.102360 +v 0.860591 0.248662 0.092267 +v 0.862676 0.248943 0.082222 +v 0.863264 0.248750 0.072294 +v 0.864447 0.248854 0.062292 +v 0.865203 0.249051 0.052236 +v 0.865517 0.248933 0.042239 +v 0.865436 0.248932 0.032215 +v 0.865110 0.249030 0.022210 +v 0.863596 0.248995 0.012242 +v 0.861270 0.248738 0.002255 +v 0.858794 0.248487 -0.007726 +v 0.856134 0.248304 -0.017661 +v 0.852879 0.247815 -0.027767 +v 0.849258 0.247497 -0.037727 +v 0.845160 0.247268 -0.047528 +v 0.839645 0.246520 -0.057736 +v 0.833350 0.246020 -0.067564 +v 0.827260 0.245446 -0.077537 +v 0.821013 0.244910 -0.087355 +v 0.813859 0.244176 -0.097330 +v 0.805429 0.243353 -0.107285 +v 0.796585 0.242637 -0.116724 +v -0.078630 0.850217 -0.225487 +v -0.620290 0.853827 -0.056751 +v -0.677180 0.910267 0.143366 +v 0.464185 0.804957 -0.239985 +v 0.622925 0.226589 -0.166041 +v 0.614762 0.226298 -0.175980 +v 0.605319 0.224890 -0.186582 +v 0.596991 0.223661 -0.196916 +v 0.591753 0.223289 -0.206826 +v 0.585952 0.222409 -0.217093 +v 0.582590 0.222467 -0.226669 +v 0.576790 0.221716 -0.236972 +v 0.570586 0.221093 -0.247037 +v 0.564842 0.220446 -0.257366 +v 0.560596 0.220143 -0.267165 +v 0.555161 0.219697 -0.276983 +v 0.546442 0.218869 -0.287166 +v 0.533305 0.217693 -0.296740 +v -0.027292 0.877377 -0.194097 +v 0.019503 0.914437 -0.133567 +v 0.042333 0.917627 -0.137339 +v 0.332200 0.866807 -0.246099 +v 0.525962 0.526726 -0.324964 +v -0.108345 0.844267 -0.239289 +v 0.180121 0.939797 -0.162895 +v -0.652026 0.951437 0.253035 +v -0.660839 0.950267 0.023088 +v 0.724483 0.586079 -0.017773 +v 0.693575 0.569484 -0.157548 +v -0.353457 1.360067 -0.605389 +v -0.355958 1.203467 -0.325268 +v -0.354204 1.297637 -0.365341 +v -0.359542 1.281317 -0.515445 +v -0.348460 1.281928 -0.385348 +v -0.520878 0.454989 0.216600 +v -0.571661 0.457561 0.098350 +v 0.696436 0.569726 -0.147641 +v -0.351168 1.219487 -0.265297 +v -0.262793 1.144367 0.124499 +v 0.725161 0.586113 -0.007773 +v -0.225340 1.021497 -0.075199 +v -0.368316 1.407067 -0.595488 +v -0.614453 0.637253 -0.025126 +v -0.491962 0.808007 -0.146266 +v -0.355811 1.328807 -0.525379 +v -0.241143 1.052367 0.144641 +v -0.237531 1.113847 0.054458 +v -0.034137 0.035292 0.417517 +v -0.370750 1.249367 -0.515522 +v -0.553395 0.728497 -0.125462 +v 0.717165 0.613804 0.052175 +v -0.358139 1.250537 -0.255237 +v -0.262743 1.190587 0.114497 +v -0.600102 0.812357 -0.046609 +v -0.356828 1.172837 -0.175233 +v -0.669600 0.909587 0.043348 +v -0.363869 1.249797 -0.485468 +v 0.699828 0.569946 -0.137482 +v -0.360317 1.188507 -0.165176 +v -0.501431 0.808427 -0.136176 +v 0.651289 0.566101 -0.227197 +v 0.856854 0.262270 0.122221 +v 0.859902 0.262354 0.112462 +v 0.863228 0.262727 0.102315 +v 0.864768 0.262750 0.092354 +v 0.866860 0.263008 0.082282 +v 0.868091 0.263085 0.072277 +v 0.869121 0.263216 0.062250 +v 0.870081 0.263351 0.052220 +v 0.870379 0.263258 0.042209 +v 0.871105 0.263474 0.032195 +v 0.870269 0.263260 0.022149 +v 0.868912 0.263159 0.012168 +v 0.866336 0.262939 0.002168 +v 0.863827 0.263053 -0.007709 +v 0.861347 0.262518 -0.017798 +v 0.858709 0.262296 -0.027718 +v 0.855183 0.261921 -0.037718 +v 0.850306 0.261466 -0.047697 +v 0.845092 0.261086 -0.057465 +v 0.838318 0.260311 -0.067704 +v 0.832268 0.259732 -0.077650 +v 0.824997 0.259030 -0.087611 +v 0.818463 0.258513 -0.097215 +v 0.810302 0.257676 -0.107344 +v -0.022096 0.062843 -0.386967 +v -0.373580 0.832017 -0.203722 +v -0.611021 0.853397 -0.066840 +v -0.674777 0.910247 0.153359 +v -0.188957 0.942847 -0.162444 +v 0.631161 0.241013 -0.166921 +v 0.625589 0.240862 -0.176622 +v 0.619376 0.241188 -0.185911 +v 0.608368 0.238821 -0.196957 +v 0.603867 0.238941 -0.206478 +v 0.596450 0.238009 -0.216613 +v 0.587553 0.236455 -0.227460 +v 0.580888 0.236041 -0.237224 +v 0.573187 0.235397 -0.247158 +v 0.566159 0.234661 -0.257544 +v 0.559660 0.234127 -0.267464 +v 0.553312 0.233559 -0.277524 +v 0.543132 0.232636 -0.287621 +v 0.531520 0.231564 -0.297491 +v 0.521239 0.229442 -0.306042 +v 0.514650 0.229957 -0.317011 +v 0.508443 0.229313 -0.327135 +v 0.065653 0.600254 -0.444876 +v 0.342422 0.866037 -0.245323 +v 0.069515 0.880537 -0.198222 +v 0.395382 0.734667 -0.284744 +v -0.546584 1.071877 -0.107558 +v -0.587877 1.044847 -0.076903 +v -0.664574 0.910227 0.183391 +v 0.118573 0.740897 -0.311588 +v 0.087667 0.622589 -0.427464 +v -0.379437 0.334931 0.209266 +v -0.610763 0.808647 0.332851 +v 0.724373 0.586090 0.002188 +v -0.355151 1.203627 -0.335262 +v 0.658147 0.566762 -0.217579 +v -0.359719 1.281327 -0.525444 +v -0.352278 1.375737 -0.615431 +v -0.643621 0.836547 0.321056 +v -0.254762 1.190487 0.074377 +v -0.352710 1.219457 -0.245317 +v -0.255625 1.144407 0.094547 +v -0.606701 0.799847 0.124757 +v -0.588665 0.785197 -0.026040 +v -0.226231 1.083297 0.044465 +v -0.618944 0.705337 0.034400 +v -0.494630 1.181808 -0.218235 +v -0.010927 1.496667 -0.209965 +v -0.355727 1.328757 -0.535392 +v -0.237141 1.052317 0.134526 +v -0.240141 1.113868 0.064515 +v -0.025032 0.033273 0.421145 +v -0.369155 1.249407 -0.505547 +v -0.557415 0.660620 -0.145586 +v 0.716678 0.613711 0.062098 +v -0.360093 1.250297 -0.245390 +v -0.363956 1.250437 -0.235291 +v -0.490017 0.781357 0.346320 +v -0.357770 1.172907 -0.165201 +v -0.412331 0.301161 0.108329 +v -0.505627 0.767057 -0.155526 +v -0.549540 0.769097 -0.105420 +v -0.357560 1.313107 -0.395396 +v 0.670838 0.681506 0.172201 +v 0.653835 0.580398 -0.217163 +v 0.859427 0.276314 0.122244 +v 0.863090 0.276626 0.112265 +v 0.865046 0.276631 0.102433 +v 0.867806 0.277052 0.092215 +v 0.869492 0.277065 0.082317 +v 0.871512 0.277316 0.072220 +v 0.872544 0.277436 0.062189 +v 0.873120 0.277328 0.052243 +v 0.874125 0.277460 0.042173 +v 0.875092 0.277597 0.032168 +v 0.874091 0.277405 0.022131 +v 0.872704 0.277304 0.012089 +v 0.871046 0.277266 0.002165 +v 0.868562 0.277027 -0.007814 +v 0.865319 0.276633 -0.017924 +v 0.862485 0.276462 -0.027787 +v 0.859038 0.276081 -0.037855 +v 0.855188 0.275757 -0.047749 +v 0.849833 0.275334 -0.057451 +v 0.842957 0.274625 -0.067580 +v 0.836024 0.273926 -0.077783 +v 0.828498 0.273247 -0.087538 +v 0.821420 0.272571 -0.097636 +v 0.813044 0.271773 -0.107652 +v -0.251175 0.723537 -0.289844 +v -0.392158 1.007947 -0.173437 +v -0.653051 0.869437 0.183580 +v 0.648825 0.256585 -0.148626 +v 0.644639 0.256442 -0.156339 +v 0.640393 0.256378 -0.166271 +v 0.633738 0.255294 -0.177017 +v 0.627897 0.255258 -0.186567 +v 0.622267 0.255111 -0.196194 +v 0.613058 0.253668 -0.206751 +v 0.606590 0.253077 -0.216612 +v 0.598956 0.252324 -0.226573 +v 0.586973 0.250775 -0.237127 +v 0.576078 0.249578 -0.247545 +v 0.568129 0.249025 -0.257230 +v 0.559603 0.248174 -0.267515 +v 0.552307 0.247458 -0.277779 +v 0.543788 0.246855 -0.287070 +v 0.533912 0.245859 -0.297303 +v 0.526035 0.245173 -0.307039 +v 0.518700 0.244388 -0.317246 +v 0.513431 0.243968 -0.327125 +v 0.506940 0.243411 -0.337068 +v 0.379797 0.614538 -0.376910 +v 0.505205 0.741717 -0.252019 +v 0.079369 0.898827 -0.177644 +v -0.506517 1.278847 -0.338659 +v 0.298841 0.754757 -0.293315 +v -0.661147 0.910227 0.193357 +v 0.724084 0.586066 0.012161 +v -0.074141 0.757477 -0.288450 +v 0.013663 0.743107 -0.313344 +v -0.356218 1.157367 -0.165218 +v -0.400422 0.591078 -0.264215 +v 0.723200 0.586021 0.022189 +v -0.571668 1.141707 -0.047716 +v 0.709583 0.599240 0.132118 +v -0.353108 1.313148 -0.475408 +v -0.350925 1.375717 -0.625432 +v -0.593050 0.676420 -0.075427 +v -0.585957 0.635157 -0.105314 +v -0.355428 1.219447 -0.235286 +v -0.426303 0.354605 0.199900 +v 0.349761 0.929297 -0.173517 +v -0.243329 0.920487 -0.178054 +v -0.362113 1.140938 -0.205386 +v -0.547578 0.741887 -0.125639 +v -0.659410 0.856637 0.263567 +v -0.629399 1.061147 0.252448 +v -0.355809 1.328717 -0.545379 +v -0.233105 1.052297 0.124456 +v -0.242288 1.113527 0.074297 +v -0.015536 0.032079 0.424226 +v -0.357724 1.249887 -0.455553 +v -0.355813 1.249827 -0.445644 +v 0.676689 0.667545 0.172003 +v -0.354913 1.438157 -0.655769 +v -0.625697 0.638040 0.034761 +v -0.224533 1.068017 0.064506 +v 0.035924 1.526247 -0.250095 +v -0.607474 0.636585 -0.055291 +v -0.353616 1.219087 -0.375342 +v -0.650485 0.827987 0.112587 +v -0.256599 0.330545 0.256616 +v 0.679689 0.710387 0.092188 +v -0.639579 1.102037 0.152210 +v 0.860569 0.290266 0.122195 +v 0.863531 0.290442 0.112372 +v 0.866052 0.290620 0.102378 +v 0.868502 0.290838 0.092350 +v 0.871093 0.291008 0.082386 +v 0.873225 0.291245 0.072268 +v 0.874259 0.291369 0.062211 +v 0.875170 0.291476 0.052198 +v 0.876202 0.291596 0.042143 +v 0.876638 0.291558 0.032114 +v 0.876659 0.291535 0.022083 +v 0.876123 0.291548 0.012090 +v 0.873766 0.291309 0.002071 +v 0.871293 0.291055 -0.007926 +v 0.868647 0.290854 -0.017873 +v 0.865274 0.291276 -0.028168 +v 0.861613 0.290167 -0.037944 +v 0.856778 0.289742 -0.047986 +v 0.851438 0.289258 -0.057672 +v 0.844106 0.288582 -0.067551 +v 0.835014 0.287742 -0.077970 +v 0.827057 0.287074 -0.088294 +v 0.820610 0.286523 -0.097899 +v -0.541568 0.755207 -0.125611 +v -0.642670 0.977267 -0.016956 +v -0.671653 0.869467 0.073539 +v 0.659989 0.271476 -0.140711 +v 0.655076 0.271348 -0.146705 +v 0.650804 0.271171 -0.156482 +v 0.647151 0.270826 -0.166837 +v 0.643102 0.270629 -0.176724 +v 0.636212 0.269590 -0.187040 +v 0.628810 0.268764 -0.197149 +v 0.623238 0.268527 -0.206795 +v 0.616535 0.268088 -0.216509 +v 0.607833 0.267206 -0.226614 +v 0.599043 0.266328 -0.236683 +v 0.588391 0.265687 -0.246169 +v 0.574354 0.263631 -0.257175 +v 0.563563 0.262360 -0.267745 +v 0.556786 0.262016 -0.277360 +v 0.549734 0.261614 -0.286780 +v 0.541330 0.260594 -0.297057 +v 0.533519 0.260013 -0.306997 +v 0.525807 0.259308 -0.316882 +v 0.517448 0.258433 -0.327414 +v 0.510334 0.258624 -0.336914 +v 0.580473 0.762967 -0.194747 +v 0.538097 0.601868 -0.303223 +v 0.002632 0.893927 -0.171471 +v -0.663821 0.869047 0.033570 +v -0.666060 0.869137 0.043553 +v -0.567688 0.785087 0.184189 +v 0.719297 0.585763 0.072157 +v 0.718281 0.585717 0.082170 +v -0.627897 1.073687 0.042655 +v -0.497866 0.760537 0.271958 +v -0.412732 1.418787 -0.659694 +v -0.619570 0.935428 -0.066732 +v -0.352252 1.360017 -0.615404 +v 0.109283 1.530287 -0.296739 +v -0.621113 0.692197 0.094365 +v -0.349278 1.375737 -0.635405 +v -0.052887 0.908957 -0.146711 +v -0.348480 1.281917 -0.375363 +v -0.352572 1.219477 -0.255291 +v -0.355909 1.141897 -0.155369 +v 0.393022 0.891297 -0.212791 +v -0.371741 1.376057 -0.535271 +v -0.357295 1.312767 -0.595356 +v -0.670993 0.869587 0.123504 +v 0.528079 0.854637 -0.153181 +v -0.251060 1.128747 0.074230 +v -0.356656 1.328687 -0.555384 +v -0.229363 1.052117 0.114304 +v -0.246394 1.113487 0.084327 +v -0.005189 0.032454 0.426116 +v -0.467224 0.330981 0.071190 +v -0.353498 1.250137 -0.435428 +v -0.621839 1.060827 0.172461 +v -0.349191 1.437017 -0.703281 +v -0.582113 0.800947 0.202570 +v -0.440187 0.372109 0.216938 +v -0.219283 1.068017 0.034472 +v -0.219111 1.068097 0.024505 +v -0.260411 1.128777 0.114432 +v -0.224661 1.083387 0.034494 +v -0.670677 0.951217 0.153195 +v -0.520977 0.740397 -0.155269 +v -0.018461 0.038848 0.435144 +v 0.860691 0.304118 0.122193 +v 0.864423 0.304428 0.112259 +v 0.867377 0.304584 0.102378 +v 0.869646 0.304795 0.092326 +v 0.872240 0.305031 0.082319 +v 0.874444 0.305224 0.072240 +v 0.875549 0.305312 0.062197 +v 0.876332 0.305435 0.052139 +v 0.876713 0.305421 0.042125 +v 0.877622 0.305527 0.032099 +v 0.877690 0.305009 0.021581 +v 0.876686 0.305448 0.012011 +v 0.875058 0.305300 0.002031 +v 0.872455 0.305060 -0.007924 +v 0.869241 0.304752 -0.018069 +v 0.865695 0.304426 -0.028111 +v 0.861264 0.304016 -0.038339 +v 0.856760 0.303600 -0.047966 +v 0.851386 0.303096 -0.057642 +v 0.842953 0.302301 -0.067582 +v 0.830580 0.301316 -0.078262 +v -0.509137 0.698787 -0.185251 +v -0.527188 0.727127 -0.155476 +v -0.549705 0.755527 -0.115520 +v -0.410751 0.633886 -0.255861 +v -0.313145 1.051258 -0.146083 +v 0.665804 0.286309 -0.137374 +v 0.660780 0.285764 -0.147245 +v 0.656733 0.285475 -0.157206 +v 0.653711 0.285395 -0.166982 +v 0.649746 0.285095 -0.176870 +v 0.644850 0.284514 -0.186843 +v 0.636461 0.283543 -0.197203 +v 0.630917 0.283231 -0.206872 +v 0.621284 0.282124 -0.217267 +v 0.613602 0.281427 -0.227231 +v 0.606654 0.281055 -0.236721 +v 0.598178 0.280076 -0.247064 +v 0.589821 0.279748 -0.256352 +v 0.581322 0.279460 -0.265396 +v 0.563182 0.276585 -0.277710 +v 0.555622 0.275950 -0.287525 +v 0.548952 0.275485 -0.297238 +v 0.541212 0.274846 -0.307133 +v 0.531617 0.273862 -0.317673 +v 0.520940 0.272946 -0.327442 +v 0.446784 0.901847 -0.164257 +v -0.227366 0.808487 -0.261217 +v -0.592028 0.771957 0.004069 +v 0.474031 0.893057 -0.154760 +v -0.668338 0.869257 0.053548 +v 0.415381 0.611279 -0.353450 +v -0.671746 0.910227 0.163492 +v -0.658396 0.869937 0.233476 +v 0.723008 0.600041 0.002181 +v -0.352090 1.219257 -0.335290 +v -0.361196 1.203787 -0.185281 +v -0.586635 0.689597 -0.085248 +v -0.360834 1.296787 -0.585344 +v 0.149459 1.317807 -0.247082 +v -0.350854 1.234757 -0.375349 +v -0.347715 1.375767 -0.645370 +v -0.018595 1.482037 -0.229801 +v -0.349988 1.281897 -0.355359 +v -0.351002 1.219467 -0.275289 +v -0.352749 1.142128 -0.145570 +v -0.349527 1.391447 -0.635448 +v 0.696257 0.305708 -0.114638 +v -0.628623 0.800807 0.063869 +v -0.653558 0.869807 0.213595 +v -0.319381 0.031676 0.358990 +v -0.623366 0.801237 0.024123 +v -0.493802 0.410708 0.207433 +v -0.226437 1.052288 0.104336 +v -0.256115 1.113367 0.104431 +v -0.258525 1.113558 0.114612 +v -0.460820 0.324403 0.078009 +v -0.348196 1.250547 -0.335329 +v -0.347287 1.250507 -0.325370 +v -0.003728 0.599186 -0.395601 +v -0.679120 0.910067 0.103265 +v -0.397520 0.303161 0.127255 +v -0.533286 0.421113 0.120060 +v -0.256849 1.175237 0.104567 +v -0.602805 0.813247 0.205908 +v 0.077456 0.914467 -0.154455 +v -0.245328 1.036177 -0.094996 +v -0.352148 1.391517 -0.625379 +v 0.856913 0.317631 0.132099 +v 0.861131 0.317990 0.122364 +v 0.864866 0.318291 0.112362 +v 0.868269 0.318595 0.102287 +v 0.870921 0.318811 0.092330 +v 0.873290 0.318992 0.082284 +v 0.875369 0.319180 0.072177 +v 0.876333 0.319278 0.062146 +v 0.876513 0.319282 0.052135 +v 0.876853 0.319310 0.042113 +v 0.877638 0.319378 0.032074 +v 0.877425 0.319379 0.022057 +v 0.875574 0.319223 0.011945 +v 0.873693 0.319014 0.002061 +v 0.870531 0.318765 -0.008068 +v 0.867732 0.318474 -0.017982 +v 0.863524 0.317980 -0.028101 +v 0.859895 0.317826 -0.038262 +v 0.855021 0.317393 -0.048278 +v 0.849660 0.316852 -0.058082 +v 0.841137 0.316078 -0.068037 +v 0.830578 0.314911 -0.077143 +v -0.531042 1.140877 -0.107663 +v -0.600222 0.745087 0.014219 +v -0.554735 0.755927 -0.105691 +v -0.636880 0.977148 -0.026884 +v -0.612302 0.609916 -0.025197 +v 0.670063 0.300841 -0.136711 +v 0.665339 0.300394 -0.147044 +v 0.661696 0.300022 -0.157176 +v 0.658274 0.299589 -0.167298 +v 0.655140 0.299458 -0.177062 +v 0.650121 0.298982 -0.187089 +v 0.643646 0.298419 -0.196970 +v 0.635115 0.297537 -0.207189 +v 0.625211 0.296524 -0.217405 +v 0.616577 0.295674 -0.227567 +v 0.610269 0.295085 -0.237561 +v 0.603260 0.294639 -0.247081 +v 0.595855 0.293879 -0.257246 +v 0.588046 0.293227 -0.267147 +v 0.572986 0.291799 -0.277323 +v 0.560426 0.290677 -0.287422 +v 0.552151 0.289842 -0.297959 +v 0.544476 0.289260 -0.307927 +v 0.534963 0.288520 -0.317321 +v 0.521112 0.287234 -0.328358 +v 0.773996 0.334084 -0.102843 +v -0.569365 0.744607 0.174102 +v -0.592809 0.773127 0.014122 +v 0.465183 0.896367 -0.158553 +v -0.476252 1.320038 -0.459264 +v -0.668296 0.910227 0.173493 +v -0.660444 0.870087 0.243527 +v -0.644254 0.815127 0.083764 +v -0.414990 1.225137 -0.595944 +v 0.699737 0.598567 0.162157 +v -0.293857 0.324053 0.236718 +v -0.355949 1.344457 -0.555365 +v -0.357317 1.344557 -0.535369 +v 0.715356 0.557110 -0.097614 +v -0.361348 1.296857 -0.595333 +v -0.359488 1.296967 -0.555424 +v -0.408067 1.319757 -0.649228 +v -0.358780 1.203147 -0.375457 +v -0.346075 1.375767 -0.655367 +v -0.219289 1.068057 0.014538 +v -0.351126 1.282017 -0.345333 +v -0.350930 1.219457 -0.285277 +v -0.348693 1.142198 -0.135506 +v -0.502157 0.367437 0.066910 +v -0.664286 0.897417 0.303372 +v -0.594191 0.758337 -0.005825 +v -0.221871 1.068047 -0.005477 +v 0.175662 1.408667 -0.326926 +v -0.514743 0.376068 0.021569 +v -0.625732 0.801277 0.034079 +v -0.224346 1.052727 0.094536 +v -0.221716 1.052667 0.084471 +v -0.260771 1.113567 0.134719 +v -0.349309 1.250337 -0.395390 +v -0.349732 1.250567 -0.295313 +v -0.366101 1.250017 -0.225514 +v 0.680359 0.724337 0.042140 +v -0.356956 1.312877 -0.555373 +v -0.679191 0.910137 0.113262 +v -0.526024 0.421386 0.156519 +v -0.091913 1.192417 -0.105812 +v 0.685183 0.653815 -0.117706 +v -0.572056 0.793977 0.228440 +v -0.360773 1.407247 -0.615345 +v -0.223938 1.036917 -0.055243 +v -0.364104 1.407047 -0.605516 +v -0.258403 1.144337 0.104571 +v 0.864698 0.332179 0.112313 +v 0.868285 0.332490 0.102278 +v 0.871020 0.332734 0.092355 +v 0.873403 0.332903 0.082289 +v 0.875335 0.333054 0.072158 +v 0.875710 0.333078 0.062164 +v 0.876354 0.333122 0.052088 +v 0.876617 0.333165 0.042078 +v 0.876528 0.333140 0.032041 +v 0.875279 0.333048 0.022013 +v 0.873034 0.332868 0.011945 +v 0.870638 0.332675 0.001910 +v 0.867968 0.332386 -0.008037 +v 0.865111 0.332069 -0.017916 +v 0.860880 0.331782 -0.028116 +v 0.857045 0.331410 -0.038059 +v 0.852726 0.331116 -0.048384 +v 0.848361 0.330611 -0.058012 +v 0.841717 0.329850 -0.067499 +v -0.591941 1.142117 -0.017544 +v -0.582457 1.141948 -0.027675 +v -0.602528 0.745187 0.024219 +v -0.597856 0.772247 0.034132 +v -0.662681 0.855597 0.043609 +v -0.627121 0.611497 0.114678 +v 0.675103 0.315384 -0.136838 +v 0.670473 0.314897 -0.147117 +v 0.666695 0.314528 -0.157173 +v 0.662866 0.314189 -0.167136 +v 0.658862 0.313879 -0.177045 +v 0.652897 0.313216 -0.187236 +v 0.645749 0.312385 -0.197537 +v 0.638708 0.311988 -0.207063 +v 0.627810 0.310822 -0.217457 +v 0.618055 0.309841 -0.227748 +v 0.611994 0.309217 -0.237930 +v 0.606353 0.308876 -0.247511 +v 0.598581 0.308198 -0.257432 +v 0.591879 0.307685 -0.267196 +v 0.581911 0.307085 -0.275916 +v 0.562066 0.304970 -0.287972 +v 0.552801 0.304235 -0.297453 +v 0.542832 0.303425 -0.307645 +v -0.661161 0.977927 0.052905 +v -0.551039 1.155017 -0.077490 +v -0.636137 1.060587 0.132372 +v -0.629554 1.033597 0.242608 +v -0.596895 0.758617 0.024102 +v -0.670679 0.964877 0.133061 +v -0.667649 0.964337 0.073009 +v 0.714009 0.627493 -0.047680 +v -0.661581 0.870167 0.253497 +v -0.645533 0.814937 0.073784 +v -0.645989 0.815417 0.053923 +v -0.552161 1.071857 -0.097169 +v 0.471177 0.667191 -0.312568 +v -0.667836 0.869527 0.143574 +v -0.356899 1.344617 -0.545286 +v -0.674709 0.950917 0.103058 +v 0.167109 1.332877 -0.297059 +v -0.359932 1.297017 -0.565368 +v -0.358989 1.296997 -0.545424 +v -0.285282 1.159097 0.194023 +v -0.358218 1.281437 -0.505444 +v -0.349720 1.281967 -0.365327 +v -0.352102 1.282197 -0.335269 +v -0.353737 1.282087 -0.325258 +v -0.350872 1.219397 -0.305244 +v -0.340173 1.142437 -0.125646 +v -0.503867 0.820047 0.401469 +v -0.630140 1.061108 0.242489 +v 0.715587 0.585344 -0.087701 +v 0.587528 0.563347 -0.282917 +v -0.650756 0.869497 0.203476 +v -0.490475 0.448103 0.246459 +v 0.666892 0.723717 0.142173 +v -0.453587 0.318995 0.084205 +v -0.219292 1.052547 0.074420 +v -0.259441 1.113577 0.124694 +v -0.357368 1.172698 -0.225231 +v -0.351151 1.250567 -0.285328 +v 0.717504 0.599658 0.072084 +v 0.697663 0.612206 -0.117624 +v -0.560760 0.728947 -0.115607 +v -0.210595 1.037527 0.014543 +v -0.348545 1.234977 -0.335322 +v -0.489465 0.802168 0.383378 +v -0.355294 1.188387 -0.225254 +v -0.141430 1.176558 -0.055241 +v -0.496053 1.209887 -0.198328 +v -0.240911 1.067157 0.124199 +v -0.237350 1.067637 0.114468 +v 0.709545 0.556652 -0.117353 +v 0.862526 0.345957 0.112389 +v 0.866100 0.346244 0.102328 +v 0.869330 0.346445 0.092183 +v 0.871729 0.346620 0.082179 +v 0.873160 0.346778 0.072194 +v 0.874415 0.346863 0.062149 +v 0.874601 0.346920 0.052129 +v 0.875151 0.346876 0.042062 +v 0.874294 0.346855 0.031997 +v 0.872957 0.346709 0.021975 +v 0.870639 0.346542 0.011935 +v 0.868234 0.346332 0.001899 +v 0.864899 0.346095 -0.008221 +v 0.861966 0.345734 -0.018090 +v 0.858394 0.345444 -0.028102 +v 0.854713 0.345070 -0.038093 +v 0.851105 0.344830 -0.048154 +v 0.845960 0.344299 -0.058022 +v -0.520315 1.140787 -0.117726 +v -0.635335 1.156277 0.032108 +v -0.603918 0.745367 0.034182 +v -0.594414 0.772187 0.024062 +v -0.636637 0.842227 0.183614 +v -0.635927 0.842027 0.193628 +v -0.449499 1.291957 -0.508889 +v 0.678394 0.329550 -0.137309 +v 0.674545 0.329218 -0.147288 +v 0.671763 0.329035 -0.157180 +v 0.667766 0.328739 -0.167098 +v 0.662762 0.328253 -0.177118 +v 0.656326 0.327679 -0.187044 +v 0.649245 0.326865 -0.197354 +v 0.642591 0.326368 -0.207143 +v 0.632558 0.325437 -0.217206 +v 0.622545 0.324434 -0.227314 +v 0.615280 0.323703 -0.237523 +v 0.608957 0.323184 -0.247608 +v 0.601256 0.322545 -0.257586 +v 0.594439 0.322008 -0.267238 +v 0.584816 0.321286 -0.276337 +v 0.560034 0.319001 -0.288788 +v 0.550184 0.318177 -0.297436 +v -0.549366 1.127437 -0.087942 +v -0.461367 1.236337 -0.418578 +v -0.556076 1.155197 -0.067725 +v -0.136858 0.881017 -0.217884 +v -0.632612 1.060637 0.142347 +v -0.618181 1.197327 0.131484 +v -0.594505 0.758497 0.014107 +v -0.522280 1.071287 -0.136882 +v -0.451493 1.489607 -0.648841 +v -0.632282 0.867877 -0.046481 +v -0.662511 0.870277 0.263522 +v -0.645631 0.814807 0.063795 +v 0.406025 0.795787 -0.269769 +v 0.223991 0.942187 -0.166148 +v 0.070216 0.770867 -0.302793 +v -0.601345 0.907447 -0.106812 +v -0.356020 1.344417 -0.565381 +v 0.717776 0.557334 -0.087622 +v -0.357034 1.391337 -0.605521 +v -0.360777 1.296817 -0.575364 +v -0.350704 1.360017 -0.625402 +v -0.082730 0.057067 0.387884 +v -0.518406 1.431457 -0.559962 +v -0.602647 0.976037 -0.086381 +v -0.575882 1.141858 -0.038113 +v -0.350886 1.219407 -0.295266 +v -0.350850 1.219367 -0.315264 +v 0.024699 0.895427 -0.173415 +v -0.328937 0.032882 0.355913 +v -0.593724 0.717227 -0.045451 +v -0.595643 0.800377 0.153746 +v -0.629536 0.908387 -0.046361 +v 0.482973 0.546517 -0.345862 +v -0.643671 1.115798 0.172217 +v -0.629375 1.061177 0.262431 +v -0.445837 0.314538 0.089824 +v -0.217591 1.052747 0.064482 +v -0.229653 1.052217 -0.055231 +v -0.357804 1.172898 -0.155225 +v -0.357623 1.173017 -0.145282 +v -0.257244 1.190608 0.084479 +v -0.348739 0.421182 0.316741 +v -0.340471 1.391567 -0.696854 +v -0.632291 1.102297 0.202226 +v 0.721690 0.599902 -0.037724 +v -0.239990 1.129017 0.044114 +v 0.171116 1.348047 -0.287100 +v -0.355365 1.188367 -0.235233 +v -0.356607 1.188297 -0.245223 +v -0.413798 0.419966 0.286623 +v -0.494477 0.362558 0.073034 +v -0.352183 1.250187 -0.425438 +v 0.858349 0.359329 0.112154 +v 0.862036 0.359660 0.102167 +v 0.864801 0.360027 0.092287 +v 0.867214 0.360200 0.082245 +v 0.870098 0.360215 0.072060 +v 0.871749 0.360449 0.062502 +v 0.872050 0.360576 0.052062 +v 0.871834 0.360512 0.042048 +v 0.870901 0.360519 0.031961 +v 0.869598 0.360390 0.021925 +v 0.868139 0.360190 0.011930 +v 0.865564 0.359923 0.001946 +v 0.862290 0.359753 -0.008167 +v 0.858658 0.359435 -0.018196 +v 0.855646 0.358978 -0.027977 +v 0.851336 0.358864 -0.038258 +v 0.847172 0.358278 -0.047996 +v -0.426031 1.319877 -0.599217 +v -0.469426 1.125657 -0.188134 +v -0.654901 0.937937 0.313064 +v -0.618973 0.800667 0.103759 +v -0.111206 0.766947 -0.287061 +v -0.639585 0.841807 0.174213 +v 0.689531 0.344496 -0.117809 +v 0.684786 0.344157 -0.127287 +v 0.680713 0.343864 -0.137247 +v 0.678775 0.343863 -0.147039 +v 0.675566 0.343416 -0.157192 +v 0.671647 0.343102 -0.167147 +v 0.665722 0.342417 -0.177346 +v 0.660507 0.341990 -0.187267 +v 0.655097 0.341608 -0.197077 +v 0.648771 0.341029 -0.207028 +v 0.640177 0.340149 -0.217256 +v 0.630573 0.339554 -0.226658 +v 0.620095 0.338329 -0.237448 +v 0.611733 0.337473 -0.247890 +v 0.604775 0.337016 -0.257388 +v 0.595743 0.336242 -0.267302 +v 0.585229 0.335358 -0.276881 +v 0.556603 0.332724 -0.289340 +v 0.545757 0.331820 -0.298260 +v 0.538022 0.330780 -0.306227 +v 0.523562 0.329896 -0.317475 +v -0.063573 0.918617 -0.137222 +v -0.360091 1.436837 -0.705170 +v -0.090352 0.928457 -0.147765 +v -0.440088 1.235447 -0.558729 +v -0.594224 0.758427 0.004163 +v -0.653563 0.951458 0.292989 +v -0.664075 0.950328 0.033115 +v -0.637626 0.868107 -0.036318 +v -0.662742 0.870297 0.273498 +v -0.656464 0.977667 0.022910 +v -0.015425 0.044286 -0.388555 +v -0.663781 0.882457 0.023511 +v 0.643747 0.690357 -0.176910 +v -0.417458 1.277307 -0.629010 +v -0.354593 1.344377 -0.585378 +v -0.355875 1.344377 -0.575374 +v -0.359594 1.203857 -0.195271 +v 0.713252 0.627617 0.062145 +v -0.349093 1.360007 -0.635374 +v -0.357768 1.297097 -0.535476 +v -0.628238 1.061227 0.272406 +v -0.179876 1.144607 -0.065468 +v -0.239126 0.349825 0.278719 +v -0.449094 1.156497 -0.371442 +v -0.466325 0.338348 0.100069 +v 0.089595 0.898357 -0.177126 +v 0.022653 0.039644 0.443313 +v -0.061452 0.041268 0.406540 +v -0.254096 1.128667 0.084184 +v -0.355790 1.313277 -0.415384 +v 0.678195 0.724377 0.062160 +v 0.251740 0.784407 -0.297294 +v 0.720357 0.557552 -0.067638 +v 0.179986 1.424047 -0.366437 +v -0.484440 0.378865 0.166778 +v -0.233580 1.052178 -0.065321 +v -0.239265 1.052027 -0.075312 +v 0.169877 0.850187 -0.247324 +v -0.488915 0.425572 0.230746 +v -0.420942 1.156857 -0.385261 +v -0.624729 0.823337 0.156517 +v -0.231898 0.406770 0.320045 +v -0.357867 1.328687 -0.465416 +v -0.230775 1.067597 0.094323 +v -0.354284 1.454237 -0.685693 +v -0.057975 0.947897 -0.010654 +v -0.356237 1.313077 -0.405410 +v -0.460310 0.366962 0.182136 +v -0.043860 0.036305 0.414770 +v -0.392161 0.306552 0.143215 +v -0.510927 1.278837 -0.328714 +v 0.855888 0.372959 0.102122 +v 0.858256 0.373521 0.092864 +v 0.861298 0.373718 0.082296 +v 0.864246 0.373628 0.072109 +v 0.866710 0.373944 0.062501 +v 0.867078 0.374075 0.052100 +v 0.866982 0.374013 0.042027 +v 0.866108 0.374118 0.031954 +v 0.864939 0.374048 0.021888 +v 0.863335 0.373704 0.011940 +v 0.860740 0.373436 0.001961 +v 0.857279 0.373211 -0.008118 +v 0.854265 0.372655 -0.017884 +v 0.849892 0.372558 -0.028110 +v -0.579702 0.648323 -0.115240 +v -0.623157 0.664792 0.004703 +v 0.260856 0.781587 -0.294389 +v -0.483152 1.181317 -0.348141 +v -0.348987 1.407277 -0.655351 +v -0.571169 0.771747 0.164212 +v -0.578489 0.757287 -0.055722 +v 0.695883 0.358634 -0.107399 +v 0.691382 0.358762 -0.117454 +v 0.688156 0.358603 -0.127188 +v 0.685014 0.358498 -0.136999 +v 0.681937 0.358051 -0.147235 +v 0.679249 0.357809 -0.157185 +v 0.675354 0.357474 -0.167108 +v 0.669356 0.356857 -0.177288 +v 0.664452 0.356366 -0.187359 +v 0.659480 0.355871 -0.197440 +v 0.653772 0.355531 -0.207022 +v 0.645373 0.354661 -0.217391 +v 0.636187 0.353928 -0.227126 +v 0.625186 0.352877 -0.237531 +v 0.615066 0.351985 -0.247547 +v 0.606883 0.351365 -0.257042 +v 0.596662 0.350453 -0.266946 +v 0.585018 0.349440 -0.276596 +v 0.557445 0.346789 -0.288726 +v 0.549816 0.346350 -0.297016 +v 0.541899 0.345724 -0.306677 +v 0.532205 0.345079 -0.315745 +v -0.296628 0.939677 -0.158043 +v 0.465771 0.707517 -0.295433 +v -0.148047 0.940137 -0.159807 +v -0.035328 0.851957 -0.227682 +v 0.524540 0.887317 -0.108478 +v -0.591329 0.771767 -0.006065 +v -0.642162 0.868247 -0.026307 +v -0.663192 0.870277 0.283469 +v -0.647792 0.868427 -0.016277 +v -0.652489 0.868567 -0.006407 +v -0.656480 0.828877 0.063774 +v -0.667050 0.882607 0.033563 +v 0.657426 0.723397 0.172419 +v -0.621915 0.894627 -0.066477 +v -0.221041 1.308237 -0.147445 +v -0.483298 1.181297 -0.338167 +v -0.356627 1.203938 -0.215228 +v -0.356955 1.203887 -0.205309 +v 0.705650 0.669398 0.012157 +v -0.355836 1.297247 -0.515408 +v -0.463871 0.330868 0.089394 +v -0.357345 1.141797 -0.165282 +v -0.182499 1.144438 -0.055214 +v -0.240627 1.308307 -0.128047 +v -0.459113 0.332940 0.106242 +v -0.223309 1.083407 0.014486 +v -0.224145 1.083487 0.004475 +v -0.503580 1.334108 -0.449211 +v -0.561218 1.113847 -0.067831 +v -0.349724 1.235037 -0.275281 +v -0.672227 0.869477 0.103500 +v -0.276622 1.128597 0.194697 +v 0.695017 0.598279 0.172297 +v -0.624970 0.908217 -0.056380 +v -0.263324 1.113268 0.154408 +v -0.256941 1.067287 0.164628 +v -0.214555 1.052917 0.034510 +v -0.245257 1.051697 -0.085085 +v -0.260255 1.144367 0.114475 +v -0.222055 1.067957 0.054449 +v -0.220488 1.068057 0.044481 +v -0.352880 1.234947 -0.255341 +v -0.466383 0.827618 0.421779 +v -0.456022 0.828497 0.423379 +v -0.338370 0.287487 0.135702 +v -0.354593 1.453987 -0.695474 +v 0.721792 0.557671 -0.057657 +v 0.178134 1.423677 -0.347119 +v -0.370859 0.048562 0.333094 +v 0.105381 1.546327 -0.296823 +v -0.068956 0.045204 0.401147 +v -0.431838 0.350935 0.184315 +v -0.356974 1.312617 -0.615325 +v 0.701165 0.626497 -0.097511 +v 0.697328 0.626202 -0.107506 +v 0.855947 0.386879 0.072122 +v 0.858682 0.387263 0.061999 +v 0.858752 0.387502 0.050779 +v 0.859129 0.386841 0.042075 +v -0.642100 0.815017 0.093769 +v 0.678536 0.682037 0.152268 +v 0.686176 0.682547 0.122220 +v 0.688239 0.682487 0.112134 +v 0.848693 0.386304 -0.008054 +v 0.844640 0.385665 -0.017847 +v 0.683742 0.710207 -0.067715 +v 0.687221 0.710297 -0.047724 +v -0.079429 0.909197 -0.167143 +v -0.525638 0.767797 -0.135273 +v -0.557573 0.771407 0.184027 +v -0.564998 0.771587 0.174138 +v -0.592000 0.745297 0.114098 +v 0.701531 0.373710 -0.097467 +v 0.697457 0.373371 -0.107367 +v 0.693826 0.373009 -0.117433 +v 0.691050 0.372813 -0.127361 +v 0.688599 0.372552 -0.137325 +v 0.686021 0.372336 -0.147368 +v 0.682996 0.372162 -0.157171 +v 0.678033 0.371695 -0.167202 +v 0.672134 0.371088 -0.177401 +v 0.667087 0.370620 -0.187442 +v 0.661967 0.370190 -0.197426 +v 0.655633 0.369626 -0.207469 +v 0.647725 0.368975 -0.217247 +v 0.637545 0.368091 -0.227217 +v 0.627533 0.367211 -0.237346 +v 0.617351 0.366334 -0.247348 +v 0.607100 0.365444 -0.257246 +v 0.595640 0.364462 -0.267235 +v 0.581999 0.363212 -0.277633 +v 0.564385 0.361575 -0.287813 +v 0.557205 0.361164 -0.296837 +v 0.548323 0.360385 -0.306862 +v 0.539085 0.359760 -0.316416 +v 0.008372 0.913267 -0.132029 +v 0.204239 0.682987 -0.329939 +v 0.497299 0.906027 -0.108586 +v -0.158274 0.940827 -0.160454 +v -0.630249 1.033628 0.252643 +v -0.587836 0.771497 -0.016116 +v 0.483188 0.890257 -0.152027 +v -0.663014 0.870407 0.303516 +v -0.619533 0.867607 -0.066237 +v -0.488535 1.319607 -0.439539 +v -0.669005 0.964437 0.082981 +v -0.668627 0.882647 0.043448 +v 0.172343 1.380028 -0.345475 +v -0.618341 0.894457 -0.076470 +v -0.613945 0.894397 -0.086461 +v -0.366730 1.280797 -0.595318 +v -0.355982 1.328807 -0.515402 +v -0.353975 1.203917 -0.255251 +v -0.126203 1.177137 -0.075712 +v -0.356749 1.297157 -0.525419 +v 0.713832 0.585105 -0.097541 +v -0.507376 0.793447 0.368449 +v -0.657751 0.951217 0.203110 +v -0.360084 1.328977 -0.445356 +v -0.350215 1.297487 -0.445394 +v -0.428455 0.790997 0.334822 +v -0.224536 1.083397 -0.005502 +v -0.365855 1.281617 -0.275428 +v -0.041106 0.067260 -0.391406 +v -0.645615 0.829477 0.283695 +v -0.349480 1.235057 -0.295284 +v -0.358115 1.329128 -0.485365 +v -0.215995 1.052857 0.054501 +v -0.525250 0.778747 0.322679 +v -0.357764 1.265658 -0.475498 +v -0.655083 0.909087 -0.006685 +v -0.123515 1.176977 -0.106001 +v -0.358946 1.187847 -0.315257 +v -0.363002 1.233927 -0.455617 +v -0.386508 0.464478 0.325366 +v -0.259273 1.128727 0.104364 +v -0.226218 1.067877 0.074448 +v -0.228861 1.067877 0.084487 +v -0.530177 0.841007 0.396345 +v -0.199026 0.934187 -0.173112 +v -0.557927 0.787067 0.326423 +v 0.170022 1.352137 -0.313232 +v 0.683001 0.610854 -0.157309 +v -0.243940 1.128957 0.054205 +v 0.167122 1.464027 -0.385370 +v -0.622139 1.060767 0.192470 +v -0.536436 0.427546 0.131513 +v -0.352555 1.328237 -0.645318 +v 0.167111 1.453997 -0.347008 +v -0.360386 1.297297 -0.325433 +v -0.606126 1.087077 0.002528 +v -0.478054 1.264427 -0.358776 +v -0.354482 1.313217 -0.445378 +v -0.214261 1.037678 -0.005522 +v -0.272532 1.128667 0.174627 +v 0.674863 0.681834 0.162293 +v -0.604527 1.142398 -0.006981 +v 0.641287 0.707957 -0.167998 +v 0.650955 0.708287 -0.147729 +v 0.669232 0.708917 -0.107361 +v 0.677583 0.709917 -0.087704 +v -0.628102 1.196668 0.071890 +v -0.620902 0.705497 0.064338 +v -0.597832 0.745437 0.094063 +v -0.593438 0.772497 0.103982 +v -0.603494 0.745457 0.064105 +v -0.601752 0.745547 0.074153 +v -0.627164 1.088547 0.232288 +v 0.703488 0.387982 -0.097240 +v 0.700089 0.387615 -0.107410 +v 0.697608 0.387395 -0.117444 +v 0.694769 0.387168 -0.127350 +v 0.691564 0.386758 -0.137558 +v 0.688890 0.386567 -0.147505 +v 0.684888 0.386243 -0.157428 +v 0.679843 0.385804 -0.167469 +v 0.674499 0.385362 -0.177339 +v 0.668495 0.384809 -0.187543 +v 0.663168 0.384368 -0.197396 +v 0.655453 0.383705 -0.207333 +v 0.645644 0.382890 -0.217644 +v 0.635281 0.381984 -0.227486 +v 0.625538 0.381174 -0.237875 +v 0.616617 0.380389 -0.247849 +v 0.607268 0.379550 -0.257426 +v 0.596514 0.378641 -0.266827 +v 0.581694 0.377324 -0.277250 +v 0.570597 0.376271 -0.287591 +v 0.563661 0.375799 -0.296980 +v 0.555059 0.374930 -0.307299 +v 0.545401 0.374391 -0.316422 +v 0.401966 0.897997 -0.199982 +v -0.023942 0.912947 -0.131291 +v -0.034218 0.913487 -0.131884 +v -0.588337 1.114397 -0.017561 +v -0.665615 0.978107 0.082933 +v -0.595755 0.975837 -0.096464 +v -0.586290 0.771477 -0.026013 +v -0.581381 0.851987 -0.097194 +v -0.663848 0.870427 0.293488 +v -0.626544 0.867727 -0.056417 +v -0.673004 0.882867 0.063455 +v -0.671564 0.882817 0.053522 +v -0.356768 1.219468 -0.225269 +v -0.630935 0.894907 -0.046458 +v -0.627386 0.894647 -0.056435 +v -0.352734 1.219267 -0.365280 +v -0.354376 1.344347 -0.595344 +v -0.491883 1.208597 -0.218537 +v -0.423354 0.433515 0.290455 +v -0.355671 1.297607 -0.355342 +v -0.363299 1.297037 -0.314022 +v 0.158203 1.332927 -0.246077 +v -0.008765 0.599586 -0.385513 +v -0.053725 1.223308 -0.095127 +v -0.519023 0.415230 0.163255 +v -0.226373 1.083297 -0.015481 +v -0.225163 1.112677 -0.045924 +v -0.043365 1.289507 -0.229083 +v -0.659566 0.856777 0.293564 +v -0.116569 0.889207 -0.206435 +v -0.628321 0.801197 0.073858 +v -0.481755 0.765717 0.289380 +v -0.432588 0.422597 0.280096 +v 0.693250 0.682787 0.082139 +v -0.275415 1.144037 0.174613 +v -0.123245 1.176758 -0.095759 +v 0.168062 1.349987 -0.306674 +v -0.466002 1.250437 -0.388605 +v -0.303255 1.051147 -0.139553 +v -0.220660 1.068017 0.004555 +v -0.357759 1.234327 -0.435525 +v -0.233505 1.067548 0.104340 +v 0.719315 0.571669 0.092172 +v -0.219859 0.914557 -0.192323 +v -0.356560 1.188287 -0.255211 +v 0.170320 1.348397 -0.276235 +v 0.718971 0.557506 -0.077655 +v 0.718261 0.571618 0.102172 +v -0.628791 0.665446 0.074543 +v 0.721283 0.571794 0.062136 +v -0.247128 1.159928 0.064537 +v -0.228586 1.083397 0.054540 +v 0.721820 0.571861 0.052175 +v 0.713370 0.557183 0.142141 +v 0.112125 1.287158 -0.197262 +v 0.671864 0.709797 0.142142 +v 0.675032 0.710247 0.122289 +v -0.573508 0.620630 -0.135010 +v -0.096515 1.437438 -0.189151 +v -0.627219 1.061018 0.222477 +v -0.497984 1.168138 -0.178167 +v -0.648286 0.965098 0.272968 +v -0.509905 0.808647 -0.127686 +v 0.665268 0.567176 -0.207215 +v -0.662553 0.842337 0.073671 +v -0.620256 0.705517 0.054371 +v -0.628212 1.060658 0.152384 +v -0.655125 0.937638 0.243118 +v -0.601125 0.745457 0.084018 +v -0.604771 0.745437 0.054120 +v 0.714173 0.402864 -0.077449 +v 0.709130 0.402429 -0.087496 +v 0.704992 0.402116 -0.097364 +v 0.702543 0.401863 -0.107425 +v 0.700210 0.401607 -0.117469 +v 0.697390 0.401407 -0.127406 +v 0.693883 0.401051 -0.137474 +v 0.691015 0.400830 -0.147370 +v 0.686232 0.400389 -0.157513 +v 0.681066 0.399941 -0.167461 +v 0.675405 0.399479 -0.177109 +v 0.669251 0.398939 -0.187226 +v 0.661860 0.398320 -0.197398 +v 0.654076 0.397635 -0.207254 +v 0.642863 0.396709 -0.217448 +v 0.631464 0.395755 -0.227478 +v 0.622768 0.395036 -0.237644 +v 0.614813 0.394303 -0.247347 +v 0.606076 0.393549 -0.257501 +v 0.596956 0.392763 -0.267280 +v 0.586208 0.391924 -0.276695 +v 0.574502 0.390684 -0.287670 +v 0.567765 0.390191 -0.297294 +v 0.559035 0.389389 -0.307484 +v 0.549675 0.388716 -0.317006 +v 0.397179 0.586705 -0.388007 +v 0.411358 0.895627 -0.197509 +v 0.015963 0.879477 -0.196599 +v -0.433900 0.377202 0.231351 +v -0.447050 1.277847 -0.508787 +v -0.530148 0.743157 0.224371 +v -0.598992 0.758777 0.034126 +v -0.470140 0.560366 -0.243364 +v -0.661203 0.870557 0.313388 +v -0.610091 0.866807 -0.077007 +v -0.578825 1.071907 -0.076437 +v -0.654886 0.883217 0.203432 +v -0.655823 0.883317 0.213435 +v -0.640149 0.895187 -0.026535 +v -0.635388 0.895037 -0.036395 +v 0.104129 1.281817 -0.191909 +v -0.353248 1.344317 -0.605387 +v 0.145663 1.318557 -0.225696 +v -0.466286 0.794707 0.376695 +v -0.617995 0.810077 0.132580 +v -0.353883 1.297387 -0.485449 +v 0.019279 0.611985 -0.405650 +v 0.697164 0.668565 -0.067576 +v -0.602954 0.866417 -0.087025 +v -0.042787 1.223197 -0.105226 +v -0.305291 0.389433 0.301038 +v -0.227872 1.083247 -0.025452 +v -0.349052 1.422977 -0.665374 +v -0.033901 1.393637 -0.259753 +v 0.717148 0.571541 0.112186 +v -0.589495 0.758037 -0.025801 +v -0.348597 1.250527 -0.305359 +v 0.691353 0.682937 0.092248 +v 0.689717 0.682677 0.102175 +v 0.694674 0.682957 0.072168 +v -0.357051 1.312747 -0.585364 +v -0.678517 0.923657 0.123247 +v 0.722969 0.571920 0.042172 +v -0.631065 1.033707 0.282535 +v -0.360967 1.141367 -0.195246 +v -0.634379 0.817687 0.122712 +v -0.595832 0.807027 0.212772 +v -0.376384 1.233617 -0.505508 +v -0.258279 1.175227 0.114559 +v -0.260662 1.175257 0.124632 +v -0.356528 1.188257 -0.265234 +v -0.357595 1.188107 -0.275223 +v -0.357691 1.188057 -0.285247 +v -0.354674 1.313137 -0.435403 +v 0.715740 0.571420 0.122130 +v -0.260429 0.348190 0.275536 +v -0.273754 1.159427 0.164661 +v 0.695853 0.668856 0.102166 +v 0.159674 1.484687 -0.356919 +v 0.164453 1.485427 -0.378246 +v 0.713614 0.571311 0.132180 +v 0.700836 0.527976 -0.137387 +v 0.710501 0.556922 0.152000 +v 0.718503 0.557550 0.112203 +v -0.363093 1.219137 -0.195426 +v 0.724242 0.557915 0.032207 +v 0.701152 0.541974 -0.137507 +v 0.705887 0.542370 -0.127384 +v -0.616247 0.881017 -0.076455 +v -0.411777 1.305567 -0.639249 +v -0.359430 1.187977 -0.325247 +v -0.641152 1.032927 0.092597 +v 0.003012 0.583916 -0.425421 +v 0.728864 0.418040 -0.047309 +v 0.725301 0.417818 -0.057395 +v 0.721327 0.417509 -0.067321 +v 0.716071 0.417121 -0.077235 +v 0.711792 0.416661 -0.087539 +v 0.707936 0.416294 -0.097520 +v 0.705580 0.416390 -0.107149 +v 0.702435 0.415906 -0.117393 +v 0.698664 0.415546 -0.127379 +v 0.694919 0.415200 -0.137412 +v 0.691080 0.414869 -0.147396 +v 0.686779 0.414471 -0.157143 +v 0.680733 0.413976 -0.167284 +v 0.674325 0.413403 -0.177232 +v 0.667218 0.412848 -0.187589 +v 0.659798 0.412267 -0.197772 +v 0.652414 0.411476 -0.206873 +v 0.638975 0.410443 -0.217367 +v 0.626940 0.409511 -0.227959 +v 0.620023 0.408840 -0.237440 +v 0.612201 0.408162 -0.247279 +v 0.603957 0.407462 -0.257788 +v 0.596965 0.406845 -0.267285 +v 0.589110 0.406198 -0.277086 +v 0.579140 0.405307 -0.287275 +v 0.570460 0.404503 -0.297458 +v 0.561380 0.403773 -0.307318 +v 0.552035 0.403079 -0.316850 +v 0.414731 0.579291 -0.380307 +v -0.624412 0.664913 0.014672 +v -0.660458 0.924158 0.283201 +v -0.629418 1.196917 0.081753 +v -0.629561 1.074437 0.152360 +v 0.144374 0.922797 -0.163828 +v -0.599312 0.758857 0.044071 +v -0.420406 0.561847 -0.260536 +v -0.653908 0.977557 0.013033 +v -0.244295 0.240018 0.064883 +v -0.135942 0.892857 -0.210352 +v -0.655483 0.883047 0.193504 +v -0.658525 0.883147 0.183446 +v -0.653064 0.895507 -0.006784 +v -0.647325 0.895387 -0.016729 +v -0.658767 0.896868 0.223323 +v 0.699241 0.668925 0.082110 +v -0.356861 1.312897 -0.545412 +v -0.353113 1.344287 -0.615356 +v 0.710831 0.571084 0.142103 +v -0.027874 0.040169 0.431891 +v -0.356527 1.297247 -0.505482 +v -0.355246 1.297337 -0.495449 +v 0.150853 1.323077 -0.265474 +v -0.640205 1.184077 0.101774 +v 0.714309 0.613589 0.082136 +v -0.040514 1.221417 -0.114297 +v -0.575281 0.798867 0.348684 +v -0.232101 1.083117 -0.045409 +v 0.723584 0.600019 -0.007800 +v -0.590647 0.798337 -0.046555 +v -0.606817 0.812977 -0.036235 +v 0.706124 0.556652 0.162225 +v -0.592634 0.703557 -0.055403 +v -0.356483 1.157327 -0.185178 +v -0.254066 1.050918 -0.095743 +v -0.517217 0.437104 0.197572 +v 0.086180 1.272658 -0.182716 +v -0.351254 1.266258 -0.305320 +v 0.679268 0.724327 0.052136 +v -0.354028 1.313207 -0.485398 +v -0.361634 1.172267 -0.275271 +v -0.369251 1.375837 -0.545386 +v -0.366342 1.280797 -0.575362 +v -0.556018 0.785657 0.238754 +v -0.347062 1.423157 -0.675452 +v -0.262485 1.175147 0.134587 +v -0.132835 1.176697 -0.065271 +v 0.700884 0.555960 -0.137408 +v -0.364603 1.187417 -0.365386 +v -0.421302 0.303420 0.104561 +v -0.429596 0.306946 0.099669 +v 0.160372 1.332937 -0.277578 +v -0.350651 1.327517 -0.666276 +v -0.352912 1.328407 -0.635343 +v -0.354393 1.328487 -0.615365 +v -0.354606 1.328567 -0.605360 +v -0.353228 1.422607 -0.645698 +v 0.723141 0.557778 -0.047703 +v -0.354126 1.281937 -0.315341 +v -0.639403 1.060257 0.082509 +v -0.362916 1.203657 -0.175339 +v -0.479989 0.351233 0.085950 +v -0.462960 1.136687 -0.249061 +v -0.350956 1.234777 -0.385345 +v -0.271686 1.205647 0.134445 +v 0.732986 0.432416 -0.007547 +v 0.732116 0.432421 -0.017578 +v 0.731462 0.432297 -0.027479 +v 0.729593 0.432203 -0.037572 +v 0.727718 0.432028 -0.047412 +v 0.725001 0.431819 -0.057355 +v 0.721432 0.431567 -0.067405 +v 0.717771 0.431211 -0.077448 +v 0.714858 0.431039 -0.087320 +v 0.711584 0.430666 -0.097507 +v 0.708878 0.430441 -0.107439 +v 0.704021 0.429996 -0.117502 +v 0.699998 0.429675 -0.127429 +v 0.694928 0.429193 -0.137427 +v 0.690220 0.428826 -0.147616 +v 0.685527 0.428386 -0.157132 +v 0.679404 0.427873 -0.167246 +v 0.672085 0.427284 -0.177426 +v 0.664571 0.426675 -0.187523 +v 0.657926 0.426073 -0.197289 +v 0.648904 0.425285 -0.207136 +v 0.636020 0.424221 -0.216975 +v 0.625076 0.423327 -0.227423 +v 0.618676 0.422784 -0.237362 +v 0.611068 0.422131 -0.247377 +v 0.603469 0.421486 -0.257392 +v 0.596225 0.420806 -0.267674 +v 0.591358 0.420513 -0.276889 +v 0.583519 0.419896 -0.286678 +v 0.573813 0.418997 -0.297056 +v 0.563409 0.418133 -0.306804 +v 0.552993 0.417283 -0.316492 +v -0.089377 0.900447 -0.177804 +v -0.625732 0.665038 0.024602 +v -0.613374 1.059527 -0.007439 +v -0.459074 1.236257 -0.428577 +v -0.548434 0.700857 -0.145159 +v 0.088026 0.914917 -0.154845 +v -0.599996 0.758957 0.054083 +v -0.203673 1.273067 -0.166020 +v -0.641750 0.814957 0.033974 +v -0.644003 0.815047 0.043917 +v 0.554377 0.843767 -0.141263 +v -0.342998 1.407417 -0.695562 +v -0.658202 0.883417 0.223472 +v -0.661682 0.895817 0.013415 +v -0.658548 0.895678 0.003329 +v -0.660436 0.896957 0.233371 +v 0.712698 0.627490 0.072086 +v 0.711569 0.627433 0.082100 +v -0.352225 1.344267 -0.625395 +v -0.352368 1.157987 -0.135696 +v -0.364348 1.313217 -0.355358 +v 0.705564 0.669354 -0.007828 +v -0.347448 1.360097 -0.645148 +v 0.148740 1.320557 -0.257986 +v -0.322427 0.291478 0.153198 +v -0.363238 1.328797 -0.415389 +v -0.354180 0.301377 0.155552 +v -0.229559 1.083157 -0.035385 +v -0.541580 0.443331 0.152045 +v -0.612450 0.800087 -0.005984 +v -0.596444 0.798667 -0.036465 +v -0.244877 1.175307 0.054305 +v -0.248411 1.175377 0.064575 +v -0.629599 1.033898 0.292615 +v -0.354591 1.328597 -0.595365 +v -0.355984 1.328617 -0.575392 +v -0.372863 0.304548 0.148890 +v -0.357164 1.312727 -0.605356 +v -0.356237 1.312047 -0.645510 +v 0.688984 0.710607 0.002164 +v 0.687040 0.710767 -0.037840 +v 0.163968 1.484777 -0.366813 +v 0.163415 1.481817 -0.384717 +v -0.667151 0.964887 0.153080 +v -0.256898 1.082737 0.144632 +v -0.415218 1.247947 -0.622143 +v -0.650450 0.949927 -0.006790 +v -0.401111 0.308809 0.139493 +v -0.098568 1.192487 -0.085501 +v 0.700364 0.683087 -0.007829 +v -0.474630 0.779127 0.333825 +v -0.437930 0.310181 0.095265 +v -0.387202 0.357275 0.240855 +v -0.601156 0.809697 0.173168 +v 0.714355 0.599517 0.102133 +v -0.320793 0.052904 0.374134 +v -0.355770 1.328587 -0.585371 +v -0.356003 1.328637 -0.565398 +v -0.252574 1.144457 0.084625 +v -0.249179 1.082527 0.124286 +v 0.724083 0.557838 -0.037658 +v 0.707246 0.570851 0.152160 +v 0.733161 0.446539 0.032358 +v 0.732933 0.446487 0.022382 +v 0.732106 0.446453 0.012394 +v 0.732409 0.446423 0.002429 +v 0.731811 0.446400 -0.007568 +v 0.731321 0.446341 -0.017535 +v 0.730333 0.446275 -0.027529 +v 0.728996 0.446150 -0.037453 +v 0.726544 0.445949 -0.047471 +v 0.724169 0.445787 -0.057491 +v 0.721749 0.445541 -0.067513 +v 0.719903 0.445456 -0.077360 +v 0.716753 0.445118 -0.087536 +v 0.714164 0.444877 -0.097540 +v 0.711032 0.444694 -0.107313 +v 0.706082 0.444257 -0.117324 +v 0.701088 0.443789 -0.127348 +v 0.695934 0.443367 -0.137314 +v 0.690045 0.442836 -0.147519 +v 0.685054 0.442392 -0.156819 +v 0.678134 0.441832 -0.167224 +v 0.669491 0.441090 -0.177445 +v 0.662234 0.440527 -0.187677 +v 0.654455 0.439862 -0.197555 +v 0.645172 0.439081 -0.207227 +v 0.632613 0.438029 -0.217334 +v 0.626345 0.437449 -0.227372 +v 0.620187 0.436936 -0.237576 +v 0.612766 0.436473 -0.246765 +v 0.604263 0.435692 -0.257054 +v 0.597175 0.435020 -0.267450 +v 0.591847 0.434592 -0.277278 +v 0.585164 0.434076 -0.287031 +v 0.576074 0.433326 -0.296810 +v 0.562843 0.432215 -0.307618 +v -0.199098 1.351437 -0.148517 +v -0.557269 0.646971 -0.145429 +v 0.031134 1.525987 -0.240003 +v 0.692776 0.342504 -0.111669 +v -0.410495 1.487447 -0.677367 +v -0.556662 0.701267 -0.135102 +v -0.608368 0.690957 -0.025407 +v -0.598231 0.758887 0.064072 +v -0.597027 0.759377 0.074413 +v -0.597843 0.759247 0.084179 +v -0.639587 0.814777 0.023948 +v 0.235318 0.681548 -0.328260 +v -0.662665 0.883657 0.253454 +v -0.659712 0.883457 0.233393 +v -0.667325 0.896047 0.033435 +v -0.664955 0.895937 0.023457 +v -0.660806 0.897027 0.243339 +v -0.587949 0.934367 -0.116707 +v 0.706310 0.641014 -0.067637 +v -0.349204 1.344237 -0.645394 +v -0.350766 1.344257 -0.635400 +v 0.704888 0.669070 -0.027735 +v 0.705465 0.669307 -0.017818 +v -0.347599 1.359957 -0.655350 +v -0.100959 0.653674 -0.315551 +v -0.230458 1.129437 0.014419 +v -0.641495 0.828007 0.310572 +v -0.231843 1.083157 0.074454 +v 0.703581 0.570586 0.162194 +v 0.698762 0.570270 0.172296 +v -0.264483 1.175077 0.144447 +v -0.271073 1.174997 0.164589 +v 0.716264 0.627602 -0.037672 +v 0.689854 0.569210 -0.167561 +v -0.646146 1.101897 0.122136 +v -0.438263 1.348037 -0.579498 +v -0.674826 0.882937 0.093380 +v -0.638786 1.156977 0.042108 +v 0.711053 0.585245 0.132165 +v -0.645337 0.829127 0.129061 +v 0.688494 0.710397 -0.017770 +v 0.681146 0.710007 -0.077650 +v 0.655882 0.708497 -0.137656 +v 0.708481 0.585057 0.142156 +v -0.513291 1.278937 -0.318653 +v -0.464849 1.123518 -0.198920 +v -0.350532 1.297427 -0.405399 +v -0.221441 1.129447 -0.005404 +v -0.260048 1.067078 0.174503 +v 0.694889 0.583700 -0.147570 +v -0.209013 1.037607 0.044524 +v 0.713339 0.585391 0.122142 +v 0.716128 0.599686 0.082191 +v -0.353974 1.313317 -0.465400 +v 0.131301 0.625721 -0.430372 +v 0.707071 0.599072 0.142093 +v 0.006044 1.239897 -0.146342 +v -0.455695 1.460727 -0.639620 +v 0.484036 0.881997 -0.162805 +v -0.603090 0.649898 -0.065084 +v -0.457661 1.181607 -0.514157 +v 0.731562 0.460465 0.052316 +v 0.731978 0.460502 0.042335 +v 0.732537 0.460526 0.032314 +v 0.732618 0.460511 0.022368 +v 0.731954 0.460468 0.012364 +v 0.731667 0.460442 0.002402 +v 0.730699 0.460356 -0.007633 +v 0.730274 0.460305 -0.017575 +v 0.729440 0.460212 -0.027585 +v 0.728035 0.460128 -0.037565 +v 0.726484 0.459964 -0.047494 +v 0.724879 0.459867 -0.057422 +v 0.722704 0.459649 -0.067482 +v 0.720400 0.459449 -0.077530 +v 0.718631 0.459324 -0.087380 +v 0.715341 0.459006 -0.097510 +v 0.712000 0.458782 -0.107199 +v 0.707308 0.458339 -0.117322 +v 0.702229 0.457917 -0.127293 +v 0.696725 0.457483 -0.137052 +v 0.690559 0.456945 -0.147097 +v 0.683643 0.456341 -0.157506 +v 0.676744 0.455787 -0.167154 +v 0.668291 0.455065 -0.177435 +v 0.661633 0.454532 -0.187219 +v 0.654040 0.453909 -0.197232 +v 0.645137 0.453175 -0.207218 +v 0.636616 0.452366 -0.217545 +v 0.630500 0.451793 -0.227726 +v 0.624385 0.451557 -0.236921 +v 0.615154 0.450859 -0.246696 +v 0.605892 0.449839 -0.257348 +v 0.600662 0.449437 -0.267248 +v 0.594299 0.448902 -0.277228 +v 0.587142 0.448379 -0.286508 +v 0.575459 0.447363 -0.297532 +v -0.659690 0.936467 0.013170 +v -0.622674 0.638333 0.124519 +v -0.566640 0.647506 -0.135275 +v -0.440160 1.305907 -0.549030 +v -0.615769 1.059637 0.002561 +v 0.014654 1.481877 -0.269439 +v -0.564110 0.701767 -0.125384 +v -0.584612 0.716697 -0.075604 +v -0.655302 0.937707 0.253107 +v -0.549917 1.085747 -0.097374 +v -0.595290 0.758987 0.093968 +v -0.635432 0.814277 0.013831 +v 0.594194 0.828217 -0.104212 +v -0.358420 1.422777 -0.635509 +v -0.661643 0.883567 0.243438 +v -0.671968 0.896237 0.053392 +v -0.669664 0.896157 0.043377 +v 0.148139 1.317768 -0.236222 +v -0.626656 0.638123 0.044764 +v -0.620729 0.624785 0.134622 +v -0.347235 1.343917 -0.665742 +v -0.348584 1.344087 -0.655402 +v 0.309313 0.576546 -0.423102 +v 0.695193 0.668589 -0.077678 +v -0.357281 1.297498 -0.345366 +v 0.701732 0.612576 -0.107729 +v -0.454741 1.155407 -0.331787 +v -0.239426 1.082698 0.104223 +v -0.348260 1.234957 -0.325290 +v -0.203530 1.022287 0.014550 +v 0.692422 0.640079 -0.107561 +v -0.243424 1.098167 0.094349 +v -0.239183 1.098257 0.084347 +v -0.237125 1.098597 0.074557 +v -0.234516 1.098557 0.064499 +v -0.227240 1.098707 -0.005498 +v -0.227675 1.098687 -0.015521 +v 0.706211 0.612719 -0.097513 +v -0.591517 0.758807 0.104210 +v 0.638853 0.551059 -0.247397 +v -0.355288 1.203917 -0.235247 +v 0.696624 0.682857 0.062096 +v 0.698008 0.682987 0.042114 +v 0.674268 0.709237 -0.097363 +v 0.685842 0.710167 -0.057669 +v -0.120849 0.653286 -0.312520 +v 0.323724 0.608975 -0.411519 +v -0.629635 0.935657 -0.046490 +v -0.212629 1.127927 -0.034960 +v -0.350945 1.422877 -0.655434 +v -0.232489 0.930897 -0.169137 +v -0.511402 0.739877 -0.165237 +v -0.580476 0.689197 -0.095165 +v 0.664616 0.723667 0.152239 +v -0.451847 1.277937 -0.488799 +v 0.724768 0.474013 0.122269 +v -0.488218 1.167787 -0.238144 +v -0.617288 0.908007 -0.076559 +v 0.678237 0.610605 -0.167423 +v 0.729233 0.474305 0.082297 +v 0.729488 0.474315 0.072319 +v 0.730160 0.474346 0.062283 +v 0.730618 0.474387 0.052305 +v 0.731395 0.474430 0.042278 +v 0.731605 0.474458 0.032322 +v 0.731943 0.474505 0.022337 +v 0.731906 0.474463 0.012351 +v 0.731087 0.474385 0.002351 +v 0.731278 0.474443 -0.007600 +v 0.730535 0.474345 -0.017604 +v 0.729647 0.474240 -0.027630 +v 0.728980 0.474209 -0.037548 +v 0.726992 0.474023 -0.047613 +v 0.725253 0.473866 -0.057507 +v 0.722869 0.473660 -0.067512 +v 0.721063 0.473524 -0.077402 +v 0.718600 0.473268 -0.087378 +v 0.715859 0.473071 -0.097292 +v 0.712290 0.472741 -0.107317 +v 0.707371 0.472347 -0.117360 +v 0.702153 0.471926 -0.127253 +v 0.695936 0.471421 -0.137299 +v 0.690583 0.471005 -0.147147 +v 0.685133 0.470600 -0.156920 +v 0.677929 0.470000 -0.167127 +v 0.670098 0.469390 -0.176995 +v 0.664792 0.469070 -0.186899 +v 0.658906 0.468476 -0.197150 +v 0.652298 0.468031 -0.206961 +v 0.642849 0.466958 -0.217453 +v 0.637078 0.466778 -0.226919 +v 0.628456 0.465941 -0.237119 +v 0.619262 0.465274 -0.246886 +v 0.610461 0.464453 -0.256960 +v 0.603359 0.463701 -0.267399 +v 0.595670 0.463100 -0.277360 +v 0.587237 0.462445 -0.286513 +v 0.573735 0.461318 -0.297005 +v -0.659803 0.937507 0.203155 +v -0.623315 0.638318 0.114737 +v -0.573134 0.647974 -0.125574 +v -0.443540 1.305957 -0.538969 +v -0.639320 1.102037 0.142148 +v -0.475646 1.474227 -0.629323 +v -0.571760 0.702337 -0.115652 +v -0.574932 0.702477 -0.105479 +v -0.583489 0.703037 -0.085560 +v -0.625263 1.060928 0.212458 +v -0.613929 0.976608 -0.066746 +v -0.631632 0.814497 0.004054 +v 0.298071 0.912767 -0.194873 +v -0.209807 1.037927 0.024488 +v -0.651741 0.964907 0.222966 +v -0.654821 0.965037 0.203133 +v -0.673391 0.896307 0.063324 +v 0.168501 1.438857 -0.337013 +v -0.371049 1.344007 -0.425487 +v -0.516926 0.644298 -0.194682 +v -0.318382 0.340861 0.252092 +v 0.106681 0.041436 0.425314 +v -0.021177 0.585788 -0.385304 +v -0.352620 1.297407 -0.475430 +v -0.359942 1.344677 -0.515317 +v -0.397264 0.339565 0.201440 +v -0.234386 1.083207 0.084517 +v -0.236316 1.082927 0.094355 +v -0.234807 1.083027 -0.055458 +v -0.205858 1.022508 0.004514 +v -0.247887 1.097957 0.104288 +v 0.690746 0.597927 0.182086 +v -0.363673 0.338720 0.226803 +v -0.470524 0.337258 0.082571 +v -0.233310 0.040850 0.370334 +v -0.245111 0.038364 0.369371 +v -0.227990 1.098678 -0.025465 +v -0.243761 1.082557 0.114221 +v -0.358808 1.313177 -0.385374 +v -0.052937 0.038336 0.410954 +v -0.637636 1.060257 0.072462 +v 0.698994 0.682967 0.032105 +v 0.700051 0.682937 0.022108 +v 0.688180 0.710757 0.012172 +v -0.464614 1.250407 -0.398562 +v -0.563843 0.757997 0.174296 +v -0.241210 0.723857 -0.291492 +v -0.457281 1.404137 -0.589800 +v -0.361143 1.438597 -0.645417 +v -0.673696 0.896717 0.153469 +v 0.724989 0.557931 -0.027641 +v 0.726105 0.558024 -0.017664 +v 0.726621 0.558075 -0.007739 +v 0.718297 0.487512 0.142176 +v 0.721150 0.487741 0.132276 +v 0.724097 0.487921 0.122129 +v 0.725847 0.488059 0.112232 +v 0.727097 0.488158 0.102263 +v 0.727252 0.488176 0.092299 +v 0.727969 0.488205 0.082282 +v 0.728818 0.488240 0.072226 +v 0.729083 0.488262 0.062269 +v 0.729429 0.488291 0.052287 +v 0.730342 0.488350 0.042265 +v 0.730614 0.488368 0.032291 +v 0.731460 0.488447 0.022282 +v 0.731677 0.488463 0.012322 +v 0.731471 0.488434 0.002326 +v 0.730700 0.488355 -0.007657 +v 0.730319 0.488333 -0.017604 +v 0.729466 0.488228 -0.027634 +v 0.728897 0.488175 -0.037547 +v 0.726841 0.487995 -0.047598 +v 0.725101 0.487813 -0.057477 +v 0.722819 0.487624 -0.067526 +v 0.721007 0.487428 -0.077372 +v 0.717716 0.487192 -0.087481 +v 0.714583 0.486871 -0.097271 +v 0.710120 0.486581 -0.107468 +v 0.706022 0.486249 -0.117357 +v 0.700984 0.485837 -0.127335 +v 0.696186 0.485441 -0.137455 +v 0.692076 0.485149 -0.147288 +v 0.686993 0.484751 -0.157295 +v 0.680017 0.484298 -0.166950 +v 0.674348 0.483769 -0.177327 +v 0.669335 0.483316 -0.187366 +v 0.664834 0.483177 -0.196981 +v 0.658931 0.482542 -0.207206 +v 0.652967 0.482455 -0.216638 +v 0.644716 0.481481 -0.226980 +v 0.636667 0.481046 -0.236647 +v 0.626793 0.480098 -0.246766 +v 0.617727 0.479335 -0.256614 +v 0.607366 0.478054 -0.267645 +v 0.598760 0.477574 -0.276578 +v 0.585120 0.476341 -0.286913 +v -0.626569 0.624830 0.094775 +v -0.424748 1.446937 -0.659822 +v -0.624438 0.638306 0.104673 +v -0.567283 1.113987 -0.057860 +v -0.435911 1.263447 -0.558642 +v -0.496425 1.182337 -0.158704 +v -0.429484 1.319887 -0.589166 +v -0.509247 1.320487 -0.418932 +v -0.455633 1.320147 -0.509076 +v -0.577792 0.702757 -0.095687 +v -0.622727 0.935497 -0.056458 +v -0.631304 1.033677 0.262616 +v -0.520830 0.809137 -0.117821 +v -0.533371 0.809287 -0.109600 +v -0.674235 0.882917 0.073448 +v -0.351031 0.635586 -0.275803 +v -0.008152 1.496377 -0.219808 +v -0.675486 0.896387 0.073350 +v -0.354314 1.313137 -0.495393 +v -0.367955 1.344217 -0.445443 +v -0.369498 1.344127 -0.435438 +v -0.365989 1.344597 -0.465369 +v -0.628734 0.611441 0.094839 +v -0.241583 1.144627 0.044510 +v -0.351549 1.297417 -0.465411 +v -0.365810 1.234647 -0.205411 +v -0.329187 0.419971 0.322568 +v -0.477201 0.344035 0.075186 +v -0.461703 0.791027 0.362925 +v -0.499473 0.406584 0.192297 +v -0.598256 0.690537 -0.045678 +v -0.259542 1.098137 0.144674 +v -0.354918 1.157437 -0.145219 +v 0.718729 0.543460 -0.067523 +v -0.355006 1.203667 -0.315267 +v -0.356346 1.328747 -0.495412 +v -0.365367 1.125498 -0.185521 +v -0.229653 1.098457 -0.035623 +v -0.256971 1.128638 0.094194 +v -0.349630 1.235017 -0.285271 +v -0.361881 1.313017 -0.365412 +v -0.397706 1.237747 -0.612797 +v -0.356319 1.203467 -0.355281 +v 0.687802 0.710577 0.022137 +v -0.360337 1.234087 -0.445577 +v 0.714924 0.613722 0.072191 +v -0.426102 1.096858 -0.178811 +v -0.435070 1.447047 -0.649346 +v 0.646190 0.708167 -0.157869 +v 0.680832 0.710397 0.082172 +v -0.500804 0.364096 0.035093 +v 0.726640 0.558057 0.002229 +v 0.710439 0.500986 0.162013 +v 0.713229 0.501174 0.152137 +v 0.716890 0.501417 0.142129 +v 0.719719 0.501623 0.132217 +v 0.722253 0.501802 0.122244 +v 0.723943 0.501954 0.112348 +v 0.725598 0.502025 0.102226 +v 0.725776 0.502025 0.092258 +v 0.726462 0.502071 0.082233 +v 0.727359 0.502096 0.072229 +v 0.727916 0.502175 0.062262 +v 0.728141 0.502190 0.052280 +v 0.728990 0.502223 0.042227 +v 0.729517 0.502280 0.032277 +v 0.730388 0.502339 0.022269 +v 0.730701 0.502369 0.012293 +v 0.730716 0.502374 0.002319 +v 0.730547 0.502344 -0.007677 +v 0.730189 0.502282 -0.017624 +v 0.729055 0.502201 -0.027596 +v 0.727730 0.502065 -0.037550 +v 0.726199 0.501900 -0.047489 +v 0.723960 0.501701 -0.057501 +v 0.722167 0.501478 -0.067335 +v 0.718351 0.501318 -0.077679 +v 0.715194 0.500983 -0.087480 +v 0.711341 0.500682 -0.097476 +v 0.707600 0.500407 -0.107491 +v 0.704567 0.500514 -0.117326 +v 0.701061 0.499896 -0.127409 +v 0.697199 0.499589 -0.137376 +v 0.693199 0.499308 -0.147273 +v 0.688057 0.498906 -0.157237 +v 0.682924 0.498536 -0.167206 +v 0.678682 0.498320 -0.177091 +v 0.674238 0.497790 -0.187319 +v 0.669997 0.497562 -0.197112 +v 0.664167 0.496921 -0.207324 +v 0.658553 0.496641 -0.217006 +v 0.652144 0.496157 -0.226895 +v 0.645430 0.495746 -0.236566 +v 0.634608 0.494634 -0.246999 +v 0.626406 0.494169 -0.256394 +v 0.615097 0.493137 -0.266357 +v 0.601584 0.491825 -0.276845 +v -0.626262 0.624924 0.114675 +v -0.626817 0.624919 0.104767 +v -0.103412 0.143528 -0.323797 +v -0.625398 0.638276 0.084703 +v -0.599721 0.934727 -0.106601 +v -0.427085 1.263147 -0.598850 +v -0.555404 1.113717 -0.077909 +v -0.526281 1.154747 -0.107725 +v -0.508568 1.140657 -0.127939 +v -0.506890 1.320947 -0.318994 +v -0.608434 0.704537 -0.015491 +v -0.623835 1.060908 0.202465 +v -0.631382 1.033738 0.272616 +v -0.552220 0.809857 -0.097954 +v 0.287471 0.912397 -0.194507 +v -0.663115 0.883687 0.263386 +v -0.663969 0.883797 0.273433 +v -0.596507 1.045117 -0.067163 +v -0.676585 0.896487 0.083358 +v -0.367223 1.344907 -0.456413 +v -0.364794 1.344478 -0.475400 +v -0.359132 1.265557 -0.485516 +v -0.366651 1.312957 -0.344077 +v -0.354580 1.218847 -0.385407 +v -0.359530 1.297817 -0.335261 +v -0.348405 1.266187 -0.365326 +v -0.217059 1.129407 -0.015361 +v -0.359917 1.141478 -0.185253 +v -0.385126 0.294971 0.119329 +v -0.239151 1.082897 -0.065427 +v -0.258605 1.098017 0.134549 +v -0.225066 1.113637 -0.025394 +v -0.212619 1.125547 -0.045196 +v -0.352434 1.265948 -0.445436 +v -0.351086 1.266007 -0.435413 +v 0.710448 0.627372 0.092095 +v -0.363538 1.125587 -0.175776 +v -0.230523 1.098608 -0.045473 +v -0.233886 1.098307 -0.055705 +v -0.346859 0.288570 0.133230 +v -0.348758 1.266177 -0.335359 +v 0.723647 0.600012 -0.017756 +v 0.666142 0.709677 0.162319 +v 0.176661 1.439067 -0.357216 +v -0.348819 1.266147 -0.325394 +v 0.688172 0.625519 -0.127387 +v -0.009934 1.237867 -0.114780 +v -0.362788 1.234787 -0.215362 +v -0.345998 1.407237 -0.675382 +v 0.702409 0.514342 0.182297 +v 0.726020 0.557989 0.012158 +v 0.709787 0.514916 0.162232 +v 0.713485 0.515194 0.152225 +v 0.716238 0.515379 0.142279 +v 0.719075 0.515591 0.132071 +v 0.720888 0.515713 0.122223 +v 0.722995 0.515837 0.112197 +v 0.723531 0.515894 0.102289 +v 0.724247 0.515915 0.092222 +v 0.725058 0.515945 0.082204 +v 0.725643 0.516026 0.072242 +v 0.726471 0.516042 0.062235 +v 0.726773 0.516088 0.052232 +v 0.727636 0.516126 0.042214 +v 0.728189 0.516195 0.032255 +v 0.729033 0.516234 0.022240 +v 0.729378 0.516277 0.012269 +v 0.730194 0.516301 0.002290 +v 0.729551 0.516278 -0.007700 +v 0.728974 0.516185 -0.017631 +v 0.727827 0.516094 -0.027612 +v 0.726053 0.515986 -0.037692 +v 0.724352 0.515809 -0.047598 +v 0.721526 0.515549 -0.057519 +v 0.718449 0.515260 -0.067354 +v 0.714819 0.514924 -0.077399 +v 0.711279 0.514529 -0.087360 +v 0.708956 0.514547 -0.097529 +v 0.707002 0.514397 -0.107667 +v 0.705233 0.514241 -0.117573 +v 0.702413 0.514126 -0.127442 +v 0.699269 0.513850 -0.137233 +v 0.694673 0.513435 -0.147400 +v 0.690406 0.513179 -0.157216 +v 0.685852 0.512705 -0.167406 +v 0.681585 0.512465 -0.177210 +v 0.677536 0.512171 -0.187128 +v 0.672773 0.511712 -0.197233 +v 0.667748 0.511284 -0.207236 +v 0.661470 0.510770 -0.217257 +v 0.655066 0.510255 -0.227179 +v 0.648846 0.509718 -0.237274 +v 0.639866 0.509001 -0.247175 +v 0.630522 0.508348 -0.256693 +v 0.620220 0.508396 -0.266871 +v -0.288955 0.924357 -0.161714 +v -0.018752 0.600098 -0.365426 +v -0.663185 0.964117 0.043014 +v -0.590454 0.635451 -0.095201 +v -0.624558 0.638291 0.094722 +v -0.655551 0.937597 0.223150 +v -0.637084 1.032697 0.052816 +v -0.508404 1.251257 -0.238579 +v -0.191378 1.351327 -0.158323 +v -0.473311 1.125507 -0.178329 +v -0.620324 1.059887 0.022586 +v -0.587422 0.703357 -0.075680 +v -0.422017 1.461167 -0.669524 +v -0.330357 0.607272 -0.285687 +v -0.626348 0.813927 -0.006138 +v -0.592197 0.879597 -0.107334 +v -0.664850 0.883857 0.283415 +v -0.665056 0.883917 0.293419 +v 0.251636 0.662926 -0.368554 +v -0.676813 0.896527 0.093330 +v -0.671274 0.964587 0.102967 +v -0.357687 1.328777 -0.475401 +v -0.362675 1.344847 -0.495311 +v -0.364306 1.344737 -0.485352 +v 0.724988 0.557936 0.022154 +v -0.659009 0.896627 0.193454 +v -0.354445 1.313067 -0.505400 +v -0.344980 1.359967 -0.665478 +v -0.363922 0.042612 0.339662 +v -0.356685 1.281477 -0.495455 +v -0.034325 1.221627 -0.125178 +v -0.358585 1.141667 -0.175277 +v -0.310675 0.348705 0.264530 +v -0.273173 1.143997 0.164445 +v -0.187203 0.916337 -0.194570 +v -0.366798 1.265317 -0.535443 +v -0.365179 1.265337 -0.525484 +v 0.180627 1.408947 -0.347257 +v -0.349662 1.266007 -0.425420 +v 0.068788 0.898857 -0.177617 +v -0.357596 1.126257 -0.155296 +v -0.249807 0.386086 0.298738 +v -0.365820 1.233817 -0.465636 +v 0.169829 1.423717 -0.327008 +v -0.261217 1.113467 0.144597 +v -0.356282 1.172817 -0.215223 +v -0.350968 1.250257 -0.415389 +v 0.707808 0.627061 -0.077665 +v -0.183506 1.143007 -0.054885 +v -0.357145 1.312817 -0.575353 +v -0.328723 0.286288 0.138810 +v -0.199411 1.131377 -0.054922 +v 0.163744 1.423377 -0.317460 +v 0.706085 0.528636 0.172250 +v 0.709553 0.528891 0.162118 +v 0.713174 0.529163 0.152104 +v 0.715991 0.529398 0.142196 +v 0.718473 0.529568 0.132195 +v 0.720350 0.529684 0.122117 +v 0.721093 0.529732 0.112260 +v 0.722179 0.529804 0.102239 +v 0.723062 0.529832 0.092224 +v 0.723421 0.529891 0.082263 +v 0.724242 0.529920 0.072229 +v 0.725313 0.529981 0.062205 +v 0.725727 0.530030 0.052237 +v 0.726402 0.530028 0.042189 +v 0.726850 0.530082 0.032241 +v 0.727704 0.530128 0.022215 +v 0.728021 0.530155 0.012246 +v 0.728809 0.530198 0.002279 +v 0.728320 0.530193 -0.007698 +v 0.727802 0.530113 -0.017644 +v 0.726411 0.529977 -0.027598 +v 0.724865 0.529800 -0.037507 +v 0.722790 0.529681 -0.047545 +v 0.719784 0.529422 -0.057427 +v 0.717118 0.529150 -0.067081 +v 0.715272 0.529108 -0.077579 +v 0.713152 0.528839 -0.087667 +v 0.711487 0.528853 -0.097571 +v 0.709765 0.528733 -0.107517 +v 0.707670 0.528489 -0.117552 +v 0.704795 0.528288 -0.127449 +v -0.414982 1.244937 0.074946 +v -0.121319 0.914057 0.173627 +v -0.085449 0.956897 -0.020769 +v -0.436379 1.244937 0.067347 +v -0.094809 0.959487 -0.024200 +v -0.660617 0.910547 0.253271 +v -0.499007 1.319947 -0.429273 +v -0.136391 0.968917 0.004803 +v -0.578797 1.218357 0.047114 +v -0.500877 1.166117 0.312909 +v -0.419772 1.240847 0.015158 +v -0.104179 0.962077 -0.027606 +v -0.113587 0.964237 -0.031021 +v -0.359901 1.463677 -0.687595 +v -0.366777 1.471967 -0.688217 +v -0.469196 1.139797 -0.218009 +v -0.653390 0.856417 0.223669 +v -0.425973 1.244898 0.071048 +v -0.049585 0.923337 0.125291 +v -0.475242 1.237707 -0.004582 +v -0.124336 0.964877 -0.035115 +v -0.134239 0.966477 -0.038701 +v -0.358143 1.454587 -0.671167 +v -0.363543 1.465227 -0.673047 +v -0.369587 1.474307 -0.675388 +v -0.376779 1.481387 -0.678299 +v -0.385510 1.486097 -0.682613 +v -0.662316 0.910797 0.283250 +v -0.661325 0.910738 0.273228 +v -0.191000 0.977827 0.132264 +v -0.266471 1.203867 0.099612 +v -0.484474 1.242837 0.094166 +v -0.219631 1.022317 0.150273 +v -0.144125 0.968027 -0.042337 +v -0.154010 0.969347 -0.045949 +v 0.399315 0.965707 0.155695 +v -0.368323 1.465147 -0.660252 +v -0.374316 1.474177 -0.662459 +v -0.381428 1.481337 -0.665197 +v -0.389651 1.486407 -0.668115 +v -0.398367 1.489957 -0.671392 +v -0.406930 1.491147 -0.673270 +v -0.146238 0.970638 0.001182 +v -0.103760 0.917838 0.164919 +v -0.473420 1.243078 0.098005 +v -0.225667 1.031368 0.147910 +v -0.163782 0.970917 -0.049634 +v -0.173454 0.972427 -0.053328 +v -0.363596 1.442207 -0.644089 +v -0.368682 1.453007 -0.645917 +v -0.374087 1.463627 -0.647876 +v -0.380233 1.471917 -0.650019 +v -0.387130 1.479687 -0.652506 +v -0.394511 1.486147 -0.655304 +v -0.402761 1.490867 -0.658353 +v -0.412017 1.493267 -0.661716 +v -0.590361 0.920637 -0.116681 +v -0.182701 0.974827 -0.056769 +v -0.191239 0.978597 -0.060116 +v -0.113108 0.920817 0.161764 +v -0.231822 1.040257 0.145474 +v -0.650541 0.842967 0.314096 +v -0.364356 1.429247 -0.629872 +v -0.369058 1.440967 -0.631579 +v -0.374431 1.450927 -0.633502 +v -0.380229 1.460637 -0.635608 +v -0.386301 1.469537 -0.637772 +v -0.392994 1.477327 -0.640216 +v -0.399983 1.484517 -0.642670 +v -0.408102 1.489937 -0.645444 +v -0.415907 1.494477 -0.648421 +v -0.427248 1.496117 -0.653435 +v -0.435992 1.495007 -0.654660 +v 0.143446 0.973267 0.106212 +v -0.183011 0.985228 0.090808 +v -0.592275 1.212057 0.042541 +v -0.237954 1.049168 0.143052 +v -0.387872 1.227107 -0.060619 +v -0.337592 1.220457 0.218961 +v -0.369667 1.427977 -0.617317 +v -0.374625 1.438967 -0.619037 +v -0.380323 1.448747 -0.621108 +v -0.386429 1.457597 -0.623318 +v -0.393278 1.465217 -0.625892 +v -0.399476 1.473977 -0.628124 +v -0.406448 1.481117 -0.630553 +v -0.413974 1.487447 -0.633178 +v -0.422130 1.492107 -0.635930 +v -0.430680 1.495827 -0.638737 +v -0.442954 1.493867 -0.644353 +v -0.450421 1.492417 -0.646025 +v -0.304335 1.234437 0.085466 +v -0.077673 0.894717 0.189691 +v -0.318935 1.231527 0.152759 +v -0.064947 0.923587 0.134457 +v -0.412299 1.230477 0.207176 +v 0.131389 0.970627 0.101911 +v -0.369680 1.415727 -0.603029 +v -0.375129 1.426617 -0.604835 +v -0.380554 1.436707 -0.606711 +v -0.386536 1.445687 -0.608837 +v -0.392669 1.454517 -0.611062 +v -0.399656 1.461967 -0.613695 +v -0.406416 1.469677 -0.616220 +v -0.413406 1.476767 -0.618666 +v -0.420603 1.483647 -0.621258 +v -0.428225 1.489847 -0.623928 +v -0.437098 1.494067 -0.627218 +v -0.447986 1.492697 -0.631470 +v -0.458954 1.491217 -0.636226 +v 0.279873 0.896327 0.272814 +v -0.271765 1.216837 0.068497 +v -0.299668 1.229687 0.130612 +v 0.163980 1.476607 -0.385185 +v -0.659487 0.910487 0.243305 +v -0.503977 1.264997 -0.318532 +v -0.373238 1.243307 0.089751 +v -0.272380 1.213567 0.097344 +v 0.119357 0.968047 0.097549 +v -0.235407 1.031067 0.173822 +v -0.526047 1.182718 0.274189 +v -0.093127 0.942887 0.109322 +v 0.208633 0.662853 0.430522 +v -0.374988 1.414497 -0.590444 +v -0.380381 1.424737 -0.592239 +v -0.386485 1.433757 -0.594331 +v -0.392525 1.443397 -0.596525 +v -0.399430 1.450877 -0.599179 +v -0.406031 1.458767 -0.601545 +v -0.412971 1.465927 -0.603940 +v -0.419870 1.473397 -0.606598 +v -0.427531 1.479287 -0.609362 +v -0.435198 1.485217 -0.612095 +v -0.443929 1.489797 -0.615073 +v -0.452540 1.491877 -0.617848 +v -0.467561 1.488387 -0.625405 +v -0.473727 1.486727 -0.626177 +v -0.376727 1.203117 0.265016 +v 0.107913 0.966167 0.093386 +v -0.154213 0.912007 0.161701 +v -0.274214 1.223837 0.053058 +v -0.463851 1.210747 0.249495 +v -0.360680 1.192477 0.271075 +v -0.424762 1.213877 0.247651 +v -0.487074 1.218307 0.226016 +v -0.559294 1.205467 0.202212 +v -0.155534 0.973217 -0.002255 +v -0.164380 0.976498 -0.005461 +v -0.233177 1.049247 0.130096 +v -0.172847 0.980547 -0.008804 +v 0.008419 0.911707 0.146284 +v -0.546520 1.209167 0.206366 +v -0.181501 0.985487 -0.011941 +v -0.584220 1.209137 0.015983 +v -0.187713 0.992408 -0.014663 +v -0.194250 1.000297 -0.017230 +v 0.095286 0.962687 0.088923 +v -0.170430 1.355678 -0.056044 +v -0.501459 1.222627 0.206011 +v -0.344617 1.241157 0.041966 +v -0.426158 1.235667 0.187531 +v -0.415711 1.235137 0.191214 +v -0.181450 1.356037 -0.059306 +v -0.192195 1.355518 -0.063558 +v 0.160694 1.494488 -0.376165 +v 0.153956 1.503207 -0.377680 +v -0.602748 1.073087 -0.027546 +v -0.352286 1.242217 0.097188 +v -0.284657 1.214657 0.165336 +v -0.258162 1.047377 0.194625 +v -0.450734 1.243528 0.135079 +v -0.106095 1.415697 -0.104503 +v 0.403167 0.978608 0.099929 +v 0.104379 0.967037 0.005032 +v -0.380184 1.414007 -0.577833 +v -0.386006 1.423247 -0.579817 +v -0.392636 1.431237 -0.582173 +v -0.399268 1.439167 -0.584501 +v -0.405731 1.447887 -0.586826 +v -0.412549 1.455007 -0.589230 +v -0.419726 1.461907 -0.591816 +v -0.427095 1.468417 -0.594651 +v -0.434431 1.474937 -0.597450 +v -0.442558 1.480017 -0.600286 +v -0.450752 1.485527 -0.603028 +v -0.459822 1.487567 -0.605861 +v -0.472346 1.483887 -0.611436 +v 0.338928 0.726397 -0.300490 +v -0.291877 1.221477 0.162598 +v -0.389428 1.235307 0.185858 +v -0.437419 1.239297 -0.005707 +v 0.464098 0.925227 0.179498 +v -0.468041 1.244157 0.085305 +v 0.508857 0.596669 -0.317955 +v -0.290718 1.228027 0.104343 +v -0.070204 0.911307 0.162354 +v -0.261112 1.207787 0.058012 +v -0.443449 1.221517 -0.548615 +v -0.464147 1.222547 -0.408567 +v 0.308562 0.970937 0.180285 +v -0.371913 1.244007 0.119215 +v -0.287569 1.228467 0.062763 +v -0.450323 1.221777 -0.518459 +v -0.367787 1.199198 -0.125647 +v -0.281694 1.230117 0.050302 +v -0.373522 1.208428 -0.128043 +v 0.226042 0.678081 0.406536 +v 0.245960 0.674834 0.413598 +v 0.255901 0.673460 0.417223 +v -0.210767 1.020657 0.124083 +v -0.199202 0.991047 0.143681 +v -0.573879 1.218387 0.034068 +v 0.006893 0.933957 0.086667 +v -0.460805 1.242997 0.029592 +v 0.101174 0.651949 0.408533 +v -0.380205 1.216328 -0.130545 +v -0.386857 1.224207 -0.133075 +v -0.395999 1.242788 0.052702 +v -0.405653 1.175227 0.300615 +v -0.393592 1.244828 0.082493 +v -0.370851 1.182158 0.281916 +v -0.403724 1.201998 0.270497 +v -0.454330 1.209908 0.253057 +v -0.518586 1.208837 0.230482 +v -0.348945 1.241787 0.054886 +v 0.297668 0.673311 0.402349 +v -0.570170 1.216547 0.020717 +v -0.555593 1.222797 0.025760 +v -0.542487 1.227667 0.030295 +v -0.517233 1.235217 0.039021 +v -0.505181 1.238028 0.043202 +v -0.392734 1.233907 -0.135326 +v -0.399520 1.241207 -0.137872 +v -0.231304 1.294367 -0.019328 +v -0.406294 1.248917 -0.140446 +v -0.513866 1.233057 0.157406 +v -0.468550 1.236677 0.172766 +v -0.246668 1.039007 0.184366 +v -0.252577 1.048697 0.181885 +v -0.412901 1.256838 -0.142964 +v 0.161706 1.484617 -0.361585 +v 0.157774 1.497587 -0.363128 +v 0.153332 1.510108 -0.365840 +v 0.213531 0.892627 -0.212845 +v -0.427622 1.120397 -0.239547 +v -0.218928 1.309477 -0.029485 +v 0.092797 0.955527 0.117265 +v -0.252305 1.037637 0.197081 +v -0.568541 1.223967 0.094541 +v -0.419872 1.264007 -0.145478 +v -0.368493 1.382817 -0.559412 +v -0.373808 1.393027 -0.561247 +v -0.379419 1.403117 -0.563146 +v -0.385647 1.412027 -0.565315 +v -0.392007 1.420787 -0.567579 +v -0.398547 1.428857 -0.569846 +v -0.405046 1.436967 -0.572107 +v -0.411975 1.444557 -0.574679 +v -0.419287 1.450947 -0.577145 +v -0.426452 1.458097 -0.579994 +v -0.434015 1.464127 -0.582686 +v -0.441728 1.469947 -0.585528 +v -0.449437 1.475677 -0.588372 +v -0.458103 1.480287 -0.591193 +v -0.467180 1.483097 -0.594307 +v -0.479381 1.479537 -0.599543 +v -0.491563 1.475727 -0.605529 +v -0.554178 1.216568 0.173541 +v -0.610407 1.194397 0.155903 +v 0.390581 0.969567 0.152514 +v -0.427131 1.270708 -0.148232 +v -0.663140 0.910838 0.293280 +v -0.512872 1.220428 0.201899 +v -0.229313 1.310427 -0.033061 +v -0.441094 1.178907 0.303003 +v -0.431865 1.198658 0.275664 +v 0.026150 0.587379 0.416211 +v 0.135917 0.656633 0.420451 +v -0.216905 1.029607 0.121681 +v -0.421922 1.196977 0.279086 +v -0.430260 1.245537 0.084029 +v 0.365382 0.932887 0.229535 +v -0.018118 0.888187 0.181523 +v -0.007172 0.888647 0.185395 +v -0.435904 1.274557 -0.151386 +v -0.444768 1.278428 -0.154480 +v -0.527981 1.200467 0.242661 +v -0.411770 1.334578 -0.287190 +v -0.496625 1.211838 0.237812 +v 0.185338 0.682347 0.392155 +v 0.206295 0.681202 0.399511 +v -0.348356 1.234787 0.171325 +v -0.357730 1.237437 0.167956 +v 0.281939 0.661951 0.426543 +v -0.189321 0.948277 0.148318 +v -0.521239 1.214707 0.214478 +v -0.556506 1.228227 0.069276 +v -0.295745 1.225597 0.146617 +v 0.366634 0.990597 0.086505 +v -0.090797 0.935847 0.124993 +v -0.461180 0.861317 -0.168275 +v -0.611038 1.206517 0.080507 +v -0.581817 1.219337 0.090111 +v -0.531159 1.234007 0.107309 +v -0.483699 1.241847 0.123585 +v -0.472723 1.242428 0.127406 +v -0.451148 1.191918 0.284265 +v -0.443465 1.208258 0.256356 +v -0.506392 1.211427 0.234503 +v -0.455481 1.279098 -0.158182 +v -0.553718 1.208387 -0.031837 +v -0.202082 1.023427 0.038926 +v 0.126061 0.646979 0.432279 +v 0.166167 0.983127 0.027570 +v -0.430148 1.239497 0.171507 +v -0.470427 1.173887 0.308287 +v 0.398580 0.926507 0.227360 +v -0.468237 1.275747 -0.162590 +v -0.479882 1.270737 -0.167834 +v 0.455801 0.929997 0.176437 +v 0.425157 0.953707 0.165279 +v -0.043365 0.940037 0.068384 +v -0.024242 0.935567 0.075374 +v 0.293467 0.936558 0.233101 +v -0.562750 1.221297 0.140640 +v -0.160559 0.946918 0.100668 +v 0.750897 0.376164 0.156945 +v -0.240862 1.029837 0.186643 +v -0.009192 0.920887 0.110449 +v 0.130804 0.669710 0.388484 +v 0.156732 1.484368 -0.349291 +v 0.152480 1.496377 -0.350790 +v 0.148325 1.508577 -0.352343 +v 0.144108 1.520997 -0.353793 +v 0.082741 0.959207 0.084491 +v 0.070722 0.956167 0.080083 +v -0.326721 1.209137 0.237916 +v -0.287351 1.225667 0.091583 +v -0.246518 1.028478 0.199356 +v -0.551335 1.222048 0.012633 +v -0.144976 0.920697 0.150094 +v 0.197563 0.674841 0.411552 +v -0.372999 1.382827 -0.546526 +v -0.378374 1.393727 -0.548299 +v -0.384287 1.402897 -0.550346 +v -0.390941 1.410827 -0.552719 +v -0.397619 1.418777 -0.555130 +v -0.404121 1.427317 -0.557457 +v -0.411687 1.433287 -0.560195 +v -0.418730 1.440347 -0.562693 +v -0.425993 1.447097 -0.565351 +v -0.433424 1.453557 -0.568190 +v -0.440960 1.459677 -0.570817 +v -0.448538 1.465777 -0.573471 +v -0.456808 1.470457 -0.576554 +v -0.465070 1.475327 -0.579534 +v -0.474934 1.477287 -0.582896 +v -0.486713 1.473767 -0.588064 +v -0.497641 1.470427 -0.592421 +v -0.461172 1.227977 0.204722 +v -0.516843 1.224627 0.185709 +v -0.566792 1.212777 0.169239 +v 0.236654 0.666409 0.425595 +v 0.085364 0.913627 0.203072 +v 0.058172 0.952417 0.075540 +v -0.573663 0.785337 0.174180 +v -0.662801 0.910838 0.303238 +v -0.660966 0.977798 0.042947 +v -0.206301 0.818597 -0.251835 +v -0.601706 1.195467 0.012799 +v -0.611981 0.921387 -0.086784 +v -0.368025 1.210437 0.252819 +v -0.524748 1.219777 0.198254 +v -0.650537 0.977447 0.003041 +v -0.508061 1.234407 0.013026 +v -0.516420 1.202017 0.246537 +v 0.219959 0.688317 0.374226 +v -0.538161 1.226828 0.017170 +v -0.496055 1.241508 0.090153 +v -0.357214 1.242297 0.109941 +v -0.528830 1.168697 -0.097907 +v -0.299687 1.236737 0.043571 +v -0.102534 0.908887 0.180458 +v -0.594266 0.608561 -0.065192 +v -0.447366 1.222797 0.224588 +v -0.526990 1.235057 0.064833 +v -0.403629 1.190557 0.285684 +v 0.044961 0.947937 0.070919 +v 0.163447 0.680660 0.384265 +v -0.319812 1.227237 0.181528 +v -0.329727 1.228817 0.178014 +v -0.269971 1.206617 0.112860 +v -0.387918 1.241257 0.157190 +v -0.397935 1.242767 0.153706 +v -0.478996 1.243587 0.081442 +v -0.382783 1.218017 -0.087505 +v -0.520843 1.228467 0.169583 +v -0.432994 1.207727 0.260015 +v -0.468306 1.223897 0.217335 +v -0.040214 0.909267 0.143562 +v -0.159677 0.974417 0.010934 +v -0.097898 0.931397 0.137255 +v -0.088998 0.927787 0.140514 +v -0.106743 0.934827 0.133927 +v 0.055057 0.944327 0.103837 +v 0.076285 0.904737 0.214478 +v -0.224774 1.010717 0.178164 +v -0.539155 1.232627 0.060646 +v -0.530305 1.207517 0.226676 +v -0.071425 0.920277 0.146923 +v 0.381857 0.973517 0.149370 +v -0.166929 0.930987 0.127335 +v -0.335445 1.240257 0.016216 +v 0.032930 0.945258 0.066617 +v -0.132192 0.950047 0.095109 +v -0.512592 1.176077 0.293791 +v 0.406071 0.920557 0.230083 +v 0.067538 0.922907 0.167294 +v -0.655255 0.842277 0.133911 +v -0.180582 0.580701 -0.310007 +v -0.656039 0.868707 0.003537 +v -0.672206 0.869427 0.093497 +v -0.034055 0.937487 0.071829 +v -0.424645 1.245287 0.100578 +v -0.408390 1.243307 0.150027 +v -0.491440 1.231167 -0.098400 +v -0.376088 1.235027 -0.012699 +v 0.473977 0.920697 0.181592 +v -0.198818 1.018457 0.054959 +v -0.069989 0.900468 0.177661 +v -0.383539 1.237577 0.173362 +v -0.424556 1.236147 -0.044753 +v -0.313413 1.264357 -0.047927 +v -0.434398 1.237997 -0.048340 +v -0.444825 1.238727 -0.052080 +v -0.455762 1.237877 -0.056041 +v 0.141691 1.504377 -0.340367 +v 0.136913 1.516127 -0.342250 +v 0.131803 1.527587 -0.344505 +v 0.124842 1.535367 -0.347354 +v 0.592496 0.684217 -0.231021 +v -0.391261 1.222387 -0.090647 +v -0.441184 1.190207 0.287730 +v -0.241008 1.017767 0.201765 +v -0.621742 0.610660 0.015003 +v -0.514840 1.194217 0.262426 +v -0.467104 1.235837 -0.060164 +v -0.371531 1.374467 -0.531414 +v -0.377061 1.384527 -0.533335 +v -0.383260 1.392847 -0.535557 +v -0.389524 1.401747 -0.537745 +v -0.395899 1.410477 -0.540010 +v -0.403240 1.417207 -0.542663 +v -0.410449 1.423987 -0.545312 +v -0.417776 1.430587 -0.548040 +v -0.424952 1.437457 -0.550635 +v -0.432518 1.443547 -0.553332 +v -0.440094 1.449557 -0.556048 +v -0.447787 1.455397 -0.558852 +v -0.456075 1.459947 -0.561994 +v -0.464240 1.465127 -0.564809 +v -0.473040 1.468807 -0.568112 +v -0.483941 1.470087 -0.571911 +v -0.494761 1.467467 -0.576574 +v -0.479892 1.232697 -0.064600 +v -0.399269 1.227687 -0.093803 +v -0.482748 1.228597 0.197522 +v -0.471597 1.228487 0.201085 +v -0.528486 1.223207 0.181805 +v -0.580292 1.208387 0.164994 +v 0.347185 0.951007 0.208744 +v -0.080647 0.948288 0.084194 +v 0.020301 0.941857 0.062113 +v 0.373107 0.977287 0.146137 +v -0.578455 0.785487 0.164129 +v 0.025303 0.623135 -0.388205 +v 0.519830 0.859437 -0.158588 +v 0.708956 0.341462 -0.090190 +v -0.406908 1.233717 -0.096677 +v -0.374049 1.243487 0.060461 +v -0.387331 1.214617 0.245853 +v -0.377440 1.213087 0.249429 +v -0.537514 1.216157 0.194042 +v -0.414583 1.239587 -0.099594 +v -0.453362 1.245527 -0.084336 +v 0.189373 0.667065 0.423679 +v -0.536473 1.232527 0.120095 +v -0.553007 1.201617 -0.046233 +v 0.008861 0.940127 0.057972 +v -0.005551 0.881047 0.201230 +v -0.294052 1.214467 0.191057 +v -0.406406 1.243157 0.048996 +v -0.543846 1.218217 -0.014009 +v -0.557952 1.210997 -0.018813 +v -0.359118 1.207048 0.256297 +v -0.347008 1.239377 0.142627 +v -0.319758 1.213498 0.225647 +v -0.495565 1.237347 0.148700 +v -0.002595 0.938687 0.053844 +v -0.318391 1.237267 0.094870 +v 0.550813 0.832957 0.226225 +v -0.264972 1.195568 0.114950 +v 0.544189 0.840817 0.223699 +v 0.537139 0.847847 0.221175 +v -0.209489 1.011557 0.139492 +v -0.195848 0.975947 0.145297 +v -0.174562 0.914137 0.154488 +v -0.164686 0.912387 0.157902 +v -0.484285 1.212237 0.241969 +v 0.529872 0.854657 0.218463 +v 0.522958 0.862267 0.215680 +v 0.516910 0.871267 0.213563 +v 0.510736 0.880067 0.211270 +v -0.627014 1.169778 0.022370 +v 0.504558 0.888757 0.208963 +v 0.497496 0.895667 0.206394 +v -0.229687 1.021158 0.176165 +v 0.490331 0.902387 0.203722 +v -0.185157 0.996248 0.016147 +v 0.482585 0.908008 0.200830 +v -0.606827 0.786427 0.083941 +v 0.254850 0.890717 -0.210975 +v 0.055891 0.913327 -0.153134 +v -0.623478 0.692197 0.074410 +v 0.474834 0.913498 0.197803 +v 0.466191 0.917607 0.194752 +v 0.457561 0.921417 0.191570 +v 0.449120 0.926098 0.188452 +v -0.600135 0.717727 -0.025580 +v -0.420011 1.418687 -0.649768 +v -0.204394 1.303207 -0.162802 +v -0.451400 0.817707 -0.171631 +v 0.214674 0.934617 -0.178020 +v -0.491480 1.181947 -0.178355 +v -0.493087 1.181967 -0.188220 +v 0.441343 0.931837 0.185569 +v -0.510500 1.168267 -0.128323 +v 0.434193 0.938797 0.182979 +v -0.422296 1.245337 -0.102491 +v -0.141223 0.968967 0.017823 +v -0.303758 1.269547 -0.029883 +v 0.426929 0.945458 0.180247 +v 0.419244 0.951277 0.177427 +v -0.508911 1.225957 -0.030958 +v -0.522651 1.220248 -0.035834 +v -0.502029 1.186507 0.281863 +v -0.241491 1.040007 0.171411 +v 0.410651 0.955378 0.174373 +v 0.135344 1.502627 -0.328801 +v 0.130368 1.513498 -0.330539 +v 0.125939 1.525267 -0.332034 +v 0.121303 1.540057 -0.334214 +v 0.114123 1.543617 -0.335422 +v -0.602421 1.086877 -0.007295 +v -0.335049 1.213948 0.234856 +v -0.366811 1.242597 0.135580 +v 0.402316 0.959868 0.171243 +v 0.029802 0.937268 0.094942 +v 0.393607 0.963847 0.168082 +v -0.369824 1.365537 -0.516355 +v -0.375510 1.375537 -0.518289 +v -0.381626 1.384557 -0.520439 +v -0.387997 1.393317 -0.522678 +v -0.394549 1.401337 -0.525006 +v -0.401211 1.409257 -0.527392 +v -0.408601 1.415787 -0.530112 +v -0.416619 1.421197 -0.533156 +v -0.423627 1.428347 -0.535661 +v -0.430890 1.434977 -0.538364 +v -0.438536 1.440917 -0.541304 +v -0.446581 1.445947 -0.544059 +v -0.454309 1.451627 -0.546954 +v -0.463006 1.455317 -0.550201 +v -0.471733 1.458977 -0.553526 +v -0.481785 1.461707 -0.557244 +v -0.491806 1.461517 -0.560906 +v -0.503454 1.458407 -0.565708 +v -0.489632 1.239598 0.136164 +v -0.360358 1.216137 0.240603 +v -0.399531 1.222747 0.226320 +v -0.419344 1.226077 0.219446 +v -0.439719 1.228127 0.212218 +v -0.493840 1.228117 0.193708 +v -0.306205 1.199147 0.230502 +v 0.384472 0.967667 0.165027 +v 0.376142 0.971437 0.161685 +v 0.367353 0.975117 0.158410 +v -0.581956 0.785637 0.154088 +v -0.574241 0.744807 0.164190 +v -0.599377 0.772467 0.044001 +v -0.599074 0.772737 0.054050 +v -0.598177 0.772547 0.073998 +v -0.607734 0.609574 -0.035315 +v -0.116081 0.138894 -0.319202 +v -0.661372 0.855567 0.033661 +v 0.358065 0.977868 0.155039 +v -0.054247 0.900648 0.168239 +v -0.389280 1.244157 0.069519 +v -0.397249 1.216258 0.242367 +v -0.407189 1.217777 0.238866 +v -0.549650 1.213807 0.190179 +v -0.325203 1.226038 0.194137 +v 0.348758 0.980467 0.151606 +v -0.608418 1.202177 0.037033 +v -0.551837 1.228848 0.056330 +v -0.472720 1.203267 0.261645 +v -0.227229 1.039518 0.132436 +v -0.432111 1.244137 0.054365 +v -0.445490 1.242437 0.020497 +v -0.529360 1.224547 -0.008935 +v 0.338974 0.982207 0.148053 +v -0.073613 0.927437 0.131289 +v -0.590694 1.198907 -0.000162 +v -0.524885 1.231208 0.021774 +v -0.337754 1.240207 0.087900 +v -0.327844 1.239167 0.091469 +v -0.289325 1.276367 -0.024624 +v -0.586695 1.195138 0.193465 +v 0.329200 0.984197 0.144524 +v -0.171469 0.981098 0.021219 +v -0.146055 0.968907 0.030833 +v -0.117610 0.962077 0.041223 +v -0.004028 0.933547 0.082704 +v -0.384865 1.223027 -0.073769 +v -0.430621 1.249647 -0.105731 +v -0.456490 1.241747 0.016601 +v 0.319389 0.985968 0.140995 +v -0.629188 1.032007 -0.017282 +v 0.309616 0.987657 0.137450 +v -0.408341 1.305677 -0.649359 +v -0.619772 0.637501 -0.015133 +v -0.668184 0.923747 0.173385 +v -0.676281 0.923737 0.143333 +v 0.363819 0.979967 0.142714 +v 0.299745 0.988937 0.133762 +v 0.288785 0.988597 0.129848 +v 0.278378 0.988978 0.126020 +v 0.267439 0.988607 0.122100 +v -0.604741 0.663582 -0.055295 +v -0.586244 0.662299 -0.095013 +v -0.581712 0.661919 -0.105281 +v -0.496796 0.670548 -0.204861 +v -0.623448 0.692147 0.064430 +v -0.524433 0.713187 -0.165078 +v -0.623222 0.692057 0.054455 +v -0.533199 0.713807 -0.155470 +v -0.136780 0.931457 -0.170713 +v -0.126970 0.929737 -0.169035 +v -0.574794 0.757017 -0.065593 +v -0.570145 0.756857 -0.075654 +v -0.451764 0.978567 -0.176304 +v 0.238864 0.769837 -0.307473 +v -0.370655 0.606600 -0.277487 +v -0.655009 0.856357 0.233548 +v -0.649995 0.856307 0.213639 +v -0.646893 0.856067 0.203570 +v -0.463684 1.239227 -0.000511 +v -0.123105 0.922307 0.158110 +v -0.122035 0.964927 0.024838 +v 0.355031 0.983447 0.139427 +v 0.345263 0.985247 0.135919 +v -0.459371 1.238377 -0.013539 +v -0.494521 1.232477 -0.025969 +v -0.438354 1.253207 -0.108256 +v -0.569238 1.195737 0.214057 +v -0.448644 1.256757 -0.112032 +v -0.405062 1.238977 0.005958 +v 0.256469 0.988177 0.118123 +v 0.246628 0.989337 0.114446 +v 0.235135 0.988017 0.110343 +v 0.117340 1.538827 -0.321116 +v 0.111138 1.549698 -0.323175 +v -0.669834 0.869607 0.133517 +v 0.447615 0.934937 0.173497 +v -0.533098 1.226297 0.165618 +v -0.549693 1.228057 0.115658 +v -0.276621 1.211797 0.139283 +v 0.224145 0.987538 0.106339 +v -0.368334 1.356477 -0.501359 +v -0.373954 1.367207 -0.503154 +v -0.379993 1.376277 -0.505283 +v -0.386196 1.385187 -0.507483 +v -0.392827 1.393127 -0.509857 +v -0.399572 1.400897 -0.512304 +v -0.406729 1.407827 -0.514875 +v -0.414062 1.414047 -0.517979 +v -0.421763 1.420197 -0.520434 +v -0.429511 1.425887 -0.523321 +v -0.437235 1.431637 -0.526214 +v -0.444922 1.437387 -0.529067 +v -0.453099 1.442037 -0.532180 +v -0.461355 1.446837 -0.535200 +v -0.469273 1.450827 -0.538642 +v -0.479191 1.453917 -0.541592 +v -0.489424 1.454147 -0.545699 +v -0.501294 1.451547 -0.550301 +v -0.394367 1.198987 0.273607 +v -0.369777 1.218387 0.237037 +v -0.353443 1.219758 0.227990 +v -0.545859 1.222867 0.161371 +v -0.457063 1.244727 0.089142 +v -0.204968 1.011477 0.126405 +v -0.659520 0.856677 0.273562 +v 0.335464 0.986857 0.132317 +v 0.325688 0.988567 0.128768 +v -0.621164 0.664632 -0.005349 +v -0.656138 0.963847 0.013088 +v -0.550323 1.113597 -0.087752 +v -0.348926 0.850017 -0.202930 +v -0.578583 0.744877 0.153969 +v -0.581370 0.745017 0.144141 +v -0.597890 0.772607 0.063997 +v -0.662811 0.964987 0.173171 +v -0.641314 1.073828 0.081918 +v -0.664027 0.855627 0.053572 +v 0.213775 0.987857 0.102564 +v -0.459659 1.256197 -0.115998 +v -0.472679 1.251947 -0.121149 +v -0.046436 0.895477 0.171451 +v -0.403318 1.241427 0.166374 +v -0.344439 1.230227 0.187279 +v -0.335099 1.227607 0.190654 +v -0.413799 1.242027 0.162721 +v -0.552799 1.184608 0.250229 +v -0.628773 0.611383 0.084864 +v -0.482652 1.204618 0.257966 +v -0.422208 1.232008 0.203643 +v -0.434492 1.242597 0.024411 +v 0.110572 0.920957 0.211880 +v -0.657105 0.856497 0.243579 +v -0.656854 0.828727 0.073735 +v 0.202267 0.986377 0.098417 +v 0.021645 0.908637 -0.147622 +v 0.223298 0.683927 0.390513 +v -0.441765 1.200297 0.272219 +v 0.315396 0.989738 0.125091 +v -0.304545 1.229457 0.143410 +v -0.355026 1.241397 0.038254 +v -0.352433 1.230877 -0.047425 +v 0.305607 0.991297 0.121496 +v -0.503673 1.233217 -0.000017 +v -0.023168 0.900797 0.149843 +v -0.257972 1.190657 0.088529 +v 0.190744 0.984857 0.094231 +v 0.179291 0.983227 0.090066 +v 0.167788 0.981587 0.085891 +v -0.594822 1.114588 -0.007868 +v -0.643571 1.115618 0.142175 +v -0.541889 1.127277 -0.097727 +v -0.469550 1.264398 -0.388674 +v -0.486697 1.207818 -0.228342 +v -0.621972 0.637662 -0.005144 +v -0.623293 0.637769 0.004778 +v -0.623920 0.637892 0.014842 +v -0.624512 0.637913 0.024748 +v -0.668361 0.951248 0.163221 +v -0.645319 0.829587 0.263772 +v -0.643523 0.829187 0.253696 +v -0.607962 0.650250 -0.055117 +v -0.610853 0.649917 -0.044884 +v -0.612214 0.650540 -0.035330 +v -0.591760 0.662723 -0.085333 +v -0.515328 0.671857 -0.185487 +v -0.623074 0.692167 0.084358 +v -0.622129 0.691967 0.044454 +v -0.621172 0.691827 0.024469 +v -0.541508 0.714237 -0.145451 +v -0.550829 0.714627 -0.135259 +v -0.117502 0.927517 -0.166716 +v -0.210079 0.933427 -0.172119 +v -0.563684 0.756367 -0.085387 +v -0.558154 0.756167 -0.095736 +v -0.554118 0.797087 -0.086170 +v -0.653332 0.951297 0.223099 +v -0.533336 1.071527 -0.127389 +v -0.418454 1.236227 -0.607544 +v -0.658977 0.856517 0.283556 +v -0.452134 1.240457 0.003613 +v 0.156300 0.979978 0.081748 +v 0.215984 0.691457 0.353235 +v -0.048515 0.913807 0.140417 +v -0.174914 0.890617 0.184488 +v -0.179720 0.935827 0.137497 +v -0.188463 0.960717 0.133578 +v -0.174718 0.936587 0.124369 +v 0.517140 0.883287 0.199296 +v -0.439752 1.243967 0.138895 +v -0.423077 1.206248 0.263596 +v -0.394620 1.238507 0.009697 +v -0.383634 1.238867 0.013614 +v -0.416015 1.239687 0.001886 +v 0.144828 0.978317 0.077592 +v 0.112775 1.538907 -0.308646 +v 0.107828 1.551127 -0.311012 +v -0.591412 1.031107 -0.076798 +v -0.625572 1.197897 0.105498 +v -0.087265 0.919787 0.156097 +v -0.579536 1.207657 0.003046 +v 0.132179 0.974867 0.073067 +v 0.120193 0.971997 0.068730 +v -0.366516 1.349118 -0.485976 +v -0.371854 1.359358 -0.487875 +v -0.377884 1.369037 -0.489905 +v -0.384164 1.377288 -0.492216 +v -0.390795 1.385217 -0.494578 +v -0.397582 1.393007 -0.497019 +v -0.404477 1.400607 -0.499522 +v -0.412331 1.406177 -0.502449 +v -0.419838 1.412267 -0.505173 +v -0.427439 1.418257 -0.507944 +v -0.435212 1.423987 -0.510760 +v -0.442942 1.429667 -0.513705 +v -0.451048 1.434637 -0.516644 +v -0.459358 1.439077 -0.519829 +v -0.467837 1.441357 -0.523097 +v -0.477372 1.445847 -0.526417 +v -0.488538 1.446767 -0.531347 +v -0.499479 1.443437 -0.535116 +v -0.509441 1.440517 -0.540218 +v 0.440043 0.941058 0.170787 +v -0.495240 1.240327 0.119581 +v 0.107576 0.968467 0.064199 +v -0.402940 1.227627 0.210442 +v -0.467295 1.243528 0.114689 +v -0.478280 1.242968 0.110856 +v -0.512416 1.239617 0.099019 +v 0.094994 0.964817 0.059656 +v -0.584269 0.648614 -0.105155 +v 0.837260 0.383322 -0.032575 +v -0.588919 0.648907 -0.095091 +v -0.618931 0.664493 -0.015335 +v -0.617779 1.059767 0.012686 +v -0.503384 1.182197 -0.148445 +v -0.634537 1.033188 0.142716 +v -0.032390 1.467227 -0.229526 +v -0.584163 0.745147 0.134283 +v -0.598628 0.772467 0.084061 +v -0.646653 0.828157 0.013831 +v -0.452296 1.320037 -0.519165 +v -0.644256 0.828107 0.003892 +v 0.298686 0.972818 0.176861 +v -0.214862 0.999818 0.167294 +v -0.519126 1.238287 0.082098 +v -0.467125 1.241727 0.143980 +v 0.083604 0.962937 0.055493 +v -0.354361 1.231817 0.183724 +v -0.194220 0.991247 0.130768 +v -0.503202 1.195787 0.266314 +v -0.377281 1.243217 0.131888 +v -0.271008 1.202507 0.141605 +v 0.177123 0.675956 0.404412 +v -0.423526 1.242397 0.028369 +v 0.096482 0.916137 0.207643 +v 0.070981 0.959407 0.050950 +v -0.498706 1.232877 -0.012814 +v 0.198458 0.925057 0.242938 +v 0.208334 0.923687 0.246655 +v 0.246262 0.913767 0.260017 +v 0.255084 0.910427 0.263529 +v -0.516261 1.229507 -0.004409 +v 0.761296 0.375674 0.160801 +v 0.210522 0.976678 0.159362 +v -0.442866 1.244668 -0.080687 +v 0.217474 0.932308 0.235218 +v 0.207009 0.933077 0.231684 +v 0.196554 0.933627 0.227940 +v 0.058345 0.955897 0.046432 +v 0.046384 0.953077 0.042112 +v 0.616630 0.795127 -0.107515 +v 0.610494 0.804117 -0.109674 +v 0.603971 0.811507 -0.112542 +v -0.514008 0.616942 -0.205226 +v -0.504566 0.616371 -0.215422 +v -0.466781 1.139697 -0.228013 +v -0.648891 1.143048 0.132007 +v -0.642001 1.170027 0.052065 +v -0.475426 1.194647 -0.398306 +v -0.626068 1.032047 -0.027340 +v -0.622403 1.031847 -0.037218 +v -0.448088 1.221727 -0.528524 +v -0.673505 0.950827 0.093060 +v -0.505196 1.237377 -0.258500 +v -0.656923 0.937837 0.303045 +v 0.586259 0.833777 -0.110573 +v -0.494413 1.181747 -0.228228 +v -0.637586 1.169938 0.042080 +v -0.615835 0.650723 -0.025406 +v -0.595461 0.662968 -0.075401 +v -0.505564 0.671237 -0.195313 +v -0.524059 0.672451 -0.175801 +v -0.534243 0.672865 -0.165236 +v -0.620657 0.691667 0.014606 +v -0.621932 0.691877 0.034531 +v -0.538019 0.700437 -0.155461 +v -0.529391 0.699867 -0.165231 +v -0.221085 0.932527 -0.171049 +v -0.517514 0.726587 -0.165358 +v -0.594227 0.730967 -0.035670 +v -0.530717 0.795067 -0.107537 +v -0.479336 0.793307 -0.165489 +v 0.518484 0.876467 -0.136864 +v -0.350702 0.606823 -0.279123 +v -0.664113 0.855997 0.133603 +v -0.441170 1.241097 0.007499 +v 0.033805 0.949367 0.037567 +v -0.498131 1.217837 0.222242 +v -0.502179 1.241067 0.073377 +v -0.236470 1.040277 0.158498 +v -0.173425 0.927697 0.139877 +v -0.031967 0.904567 0.146654 +v -0.183738 0.959927 0.120578 +v -0.350715 1.240608 0.025281 +v -0.372668 1.239617 0.017486 +v 0.263813 0.693627 0.361752 +v 0.233745 0.683567 0.394302 +v -0.540115 1.215817 -0.026654 +v -0.526354 1.222067 -0.022509 +v 0.021144 0.946067 0.033049 +v 0.107448 1.538247 -0.296567 +v 0.103807 1.550967 -0.297906 +v 0.095389 1.554137 -0.301024 +v -0.625224 1.101427 0.042958 +v -0.026195 0.881507 0.193442 +v -0.372669 1.223967 0.221094 +v -0.167056 0.953477 0.097273 +v 0.008594 0.942527 0.028485 +v -0.002808 0.940717 0.024350 +v -0.369521 1.352207 -0.472687 +v -0.375375 1.361418 -0.474816 +v -0.381719 1.370207 -0.477043 +v -0.388373 1.378167 -0.479399 +v -0.395117 1.386018 -0.481820 +v -0.402302 1.392857 -0.484433 +v -0.409552 1.399607 -0.487090 +v -0.417297 1.405347 -0.490073 +v -0.424717 1.411777 -0.492913 +v -0.432651 1.417067 -0.495592 +v -0.440909 1.421727 -0.498649 +v -0.448731 1.427377 -0.501555 +v -0.457356 1.431367 -0.504704 +v -0.466781 1.434927 -0.507825 +v -0.475350 1.437387 -0.511656 +v -0.485148 1.438927 -0.515392 +v -0.496870 1.435997 -0.520117 +v -0.508664 1.431937 -0.525141 +v 0.503696 0.898628 0.194249 +v 0.157361 0.667737 0.412556 +v -0.475021 1.233367 0.185182 +v -0.444771 1.245548 0.122542 +v -0.014216 0.939137 0.020163 +v -0.025028 0.938957 0.016140 +v -0.034348 0.941107 0.012734 +v -0.043645 0.943717 0.009323 +v 0.844946 0.386948 -0.014782 +v 0.836792 0.391979 -0.017986 +v 0.827822 0.395582 -0.021224 +v -0.592678 0.649173 -0.085165 +v -0.615469 0.664277 -0.025286 +v -0.662121 0.936567 0.023125 +v -0.642111 1.101857 0.132232 +v -0.582353 1.100217 -0.047608 +v -0.492064 1.474397 -0.609920 +v -0.588511 0.745207 0.124129 +v -0.597795 0.772777 0.093907 +v -0.270449 1.279567 -0.107834 +v -0.346752 1.242207 0.113669 +v -0.052904 0.946487 0.005894 +v -0.574582 1.221817 0.107218 +v -0.524965 1.234348 0.124096 +v -0.185305 0.934957 0.149784 +v 0.307240 0.659659 0.421126 +v -0.316413 1.222358 0.197356 +v -0.221189 1.030557 0.134826 +v -0.473063 1.239457 0.156537 +v -0.061724 0.950038 0.002649 +v -0.199518 1.000607 0.128596 +v -0.412557 1.242547 0.032316 +v 0.014053 0.900047 0.178037 +v -0.460473 1.183088 0.296116 +v -0.438776 1.243148 0.037436 +v -0.070602 0.953467 -0.000575 +v 0.263683 0.918097 0.252024 +v 0.254889 0.921477 0.248581 +v 0.244990 0.923598 0.245422 +v 0.236742 0.927777 0.241937 +v -0.415926 1.234658 -0.070783 +v 0.199594 0.976127 0.155412 +v 0.230829 0.974748 0.166760 +v 0.220960 0.976177 0.163143 +v -0.160909 0.956127 0.084782 +v -0.152303 0.952497 0.087972 +v 0.295189 0.991738 0.117675 +v 0.628911 0.786487 -0.088600 +v 0.622423 0.794567 -0.091041 +v 0.616100 0.802757 -0.093552 +v 0.609871 0.812337 -0.095296 +v 0.602792 0.822027 -0.097911 +v 0.596549 0.828187 -0.100064 +v -0.494250 0.615606 -0.224488 +v 0.388137 0.589749 -0.391216 +v -0.300474 0.901887 -0.177523 +v -0.494399 1.181687 -0.238237 +v 0.558842 0.859007 -0.113657 +v 0.550775 0.863967 -0.116801 +v 0.542611 0.868887 -0.119953 +v -0.626360 0.624805 0.084783 +v -0.626636 0.624738 0.074780 +v -0.627642 0.624747 0.064791 +v -0.627499 0.624712 0.054859 +v -0.597852 0.785837 -0.005933 +v 0.687058 0.307295 -0.116948 +v -0.490156 0.630245 -0.224242 +v -0.498195 1.224187 -0.108444 +v -0.622152 0.651182 -0.005261 +v -0.600148 0.663291 -0.065379 +v -0.577329 0.661748 -0.115370 +v -0.571900 0.661520 -0.125582 +v -0.546225 0.673537 -0.155253 +v -0.557128 0.674191 -0.145376 +v 0.003126 1.496598 -0.239773 +v -0.624492 1.059847 0.032692 +v -0.519839 0.699327 -0.175208 +v -0.674083 0.951177 0.133153 +v -0.524363 1.361987 -0.469313 +v -0.597326 0.731087 -0.025512 +v -0.599004 0.731287 -0.015678 +v -0.602338 0.731397 -0.005634 +v -0.490430 0.794057 -0.155918 +v -0.360674 0.606761 -0.278947 +v -0.665486 0.855877 0.123601 +v -0.079877 0.956298 -0.004019 +v 0.156800 0.655750 0.427924 +v -0.189502 0.999107 -0.000279 +v -0.230378 1.031327 0.160927 +v -0.224524 1.022177 0.163251 +v -0.184269 0.948467 0.135366 +v -0.467994 1.240187 0.012542 +v -0.428724 1.244497 0.142733 +v 0.281793 0.911157 0.258071 +v -0.340298 1.240227 0.029002 +v -0.293142 1.205087 0.206113 +v -0.562204 1.213777 -0.005734 +v -0.353735 1.241787 0.067720 +v -0.136748 0.966398 0.034250 +v -0.350850 1.202067 0.259245 +v -0.089253 0.958897 -0.007422 +v 0.097916 1.549297 -0.286145 +v -0.620625 0.611255 0.134664 +v -0.098649 0.961317 -0.010848 +v -0.108015 0.963857 -0.014284 +v -0.513114 1.185917 0.278080 +v 0.097100 0.905937 0.222873 +v -0.273311 1.209517 0.126108 +v -0.117861 0.965577 -0.017907 +v 0.284231 0.991437 0.113748 +v -0.372816 1.355107 -0.459465 +v -0.378910 1.364107 -0.461627 +v -0.385416 1.372157 -0.464014 +v -0.392210 1.379917 -0.466431 +v -0.399451 1.386717 -0.469066 +v -0.406749 1.393378 -0.471724 +v -0.414498 1.399127 -0.474675 +v -0.422178 1.404877 -0.477483 +v -0.430290 1.409847 -0.480470 +v -0.438556 1.414637 -0.483533 +v -0.446669 1.419537 -0.486519 +v -0.454869 1.424467 -0.489484 +v -0.463645 1.428017 -0.492836 +v -0.473482 1.429577 -0.496544 +v -0.483253 1.431017 -0.500348 +v -0.495682 1.427317 -0.505119 +v -0.506186 1.424507 -0.510149 +v -0.127732 0.967208 -0.021530 +v -0.334199 1.240498 0.045676 +v -0.137630 0.968708 -0.025109 +v -0.412905 1.245317 0.133765 +v -0.111303 0.901157 0.192223 +v -0.412980 1.181767 0.297436 +v -0.148404 0.969087 -0.029188 +v 0.857942 0.380187 0.005037 +v 0.851503 0.388395 0.002577 +v 0.843583 0.393624 -0.000670 +v 0.835509 0.399188 -0.003392 +v 0.826672 0.402974 -0.006712 +v 0.816878 0.404972 -0.010613 +v -0.597413 0.649493 -0.075120 +v -0.612341 0.663558 -0.034976 +v 0.433593 0.615269 -0.337711 +v -0.449565 1.320107 -0.529038 +v -0.513823 1.098768 -0.136835 +v -0.003116 1.481817 -0.249543 +v -0.595226 0.745357 0.103983 +v -0.157682 0.971427 -0.032634 +v -0.167224 0.973187 -0.036340 +v -0.394982 1.209288 0.258253 +v 0.117542 0.961557 0.125985 +v -0.204277 1.001318 0.141631 +v -0.300024 1.231327 0.101477 +v 0.203543 0.686587 0.383280 +v 0.193074 0.687097 0.379625 +v -0.176234 0.975787 -0.039876 +v -0.185316 0.979888 -0.042589 +v -0.480904 1.185417 0.289134 +v -0.402113 1.241947 0.036045 +v 0.001472 0.896267 0.173589 +v -0.363690 1.234427 0.180397 +v -0.269654 1.193497 0.156804 +v -0.427816 1.243387 0.041367 +v -0.192221 0.986937 -0.045044 +v -0.212601 1.042567 0.064213 +v -0.179262 0.982527 0.077392 +v -0.173640 0.972658 0.079661 +v -0.167658 0.963717 0.082085 +v 0.017854 0.934687 0.090742 +v 0.419221 0.904557 0.234909 +v -0.550551 0.771107 0.194129 +v -0.013539 0.938257 0.049871 +v -0.626349 0.610987 0.034949 +v -0.079159 0.953467 0.055220 +v -0.327970 1.218368 0.222645 +v 0.628390 0.794837 -0.074261 +v 0.621900 0.802917 -0.076726 +v 0.615628 0.812467 -0.078471 +v 0.609625 0.820877 -0.081066 +v 0.603255 0.829677 -0.083174 +v 0.596224 0.836677 -0.085854 +v 0.588810 0.843327 -0.088358 +v 0.581276 0.849287 -0.091282 +v 0.573500 0.855027 -0.094091 +v 0.566798 0.859787 -0.097290 +v 0.557536 0.865567 -0.099981 +v 0.549734 0.871257 -0.102769 +v 0.541499 0.876017 -0.105842 +v 0.533189 0.880677 -0.108859 +v 0.525031 0.885537 -0.111962 +v -0.004735 0.584610 -0.415476 +v -0.579600 0.621058 -0.125098 +v -0.625357 0.624540 0.044849 +v -0.620772 0.624130 0.004914 +v -0.619651 0.623991 -0.005050 +v -0.502867 0.629848 -0.214855 +v -0.279977 1.294547 -0.078900 +v -0.619922 0.651039 -0.015242 +v -0.624439 0.651354 0.004718 +v -0.625699 0.651442 0.014698 +v -0.657745 0.923797 0.213237 +v -0.664845 0.923747 0.183359 +v -0.565721 0.674729 -0.135545 +v -0.575153 1.099957 -0.057461 +v -0.628463 1.060008 0.042503 +v -0.632890 1.060097 0.052517 +v -0.635240 1.060197 0.062488 +v 0.013250 0.894137 -0.171720 +v -0.671190 0.936917 0.063132 +v -0.633294 1.033237 0.152674 +v -0.590639 0.731677 0.134098 +v -0.533070 0.754707 -0.135483 +v -0.120729 0.624975 -0.319975 +v -0.646806 0.856027 0.183537 +v -0.645740 0.855997 0.193584 +v -0.461723 1.242937 0.131274 +v 0.168361 0.657327 0.431905 +v -0.056585 0.918897 0.137548 +v -0.605133 1.199027 0.023558 +v -0.242670 1.049127 0.156048 +v -0.155987 0.920437 0.146414 +v -0.165893 0.921677 0.142628 +v -0.276534 1.279967 -0.020057 +v 0.398366 0.937797 0.213025 +v -0.449797 1.243327 0.033501 +v -0.361693 1.240207 0.021398 +v -0.589811 1.199817 0.177011 +v -0.575543 1.205447 -0.010160 +v -0.416847 1.243627 0.045240 +v 0.219041 0.671359 0.419011 +v 0.265268 0.670698 0.420545 +v -0.376959 1.240827 0.030429 +v 0.273853 0.991857 0.109929 +v 0.390147 0.942518 0.209970 +v -0.189879 0.990327 0.117634 +v -0.382386 1.244397 0.115541 +v -0.491489 1.186147 0.285608 +v -0.077720 0.906117 0.174692 +v -0.279533 1.217797 0.123610 +v -0.023851 0.938827 0.046077 +v -0.370403 1.347397 -0.444409 +v -0.376458 1.357087 -0.446422 +v -0.382870 1.365217 -0.448794 +v -0.389375 1.373817 -0.451035 +v -0.396473 1.380718 -0.453636 +v -0.403976 1.386787 -0.456439 +v -0.411454 1.393198 -0.459151 +v -0.419559 1.398147 -0.462185 +v -0.427721 1.403028 -0.465199 +v -0.435891 1.408328 -0.468221 +v -0.444286 1.412327 -0.471417 +v -0.453052 1.415727 -0.474782 +v -0.461961 1.419937 -0.477870 +v -0.470994 1.422357 -0.481430 +v -0.480702 1.423597 -0.485318 +v -0.493182 1.420137 -0.489974 +v -0.504686 1.416907 -0.494892 +v 0.381469 0.946407 0.206845 +v -0.500243 1.237877 0.030331 +v -0.546743 1.228447 0.043386 +v -0.402465 1.244697 0.137465 +v -0.131775 0.903677 0.185275 +v -0.352088 1.241217 0.126318 +v -0.404939 1.210897 0.254716 +v 0.862785 0.378399 0.021726 +v 0.856729 0.386807 0.019186 +v 0.849443 0.393744 0.016593 +v 0.841672 0.399711 0.013697 +v 0.833117 0.404139 0.010721 +v 0.824162 0.407785 0.006975 +v 0.814610 0.410200 0.003499 +v 0.804064 0.410686 -0.000465 +v 0.793043 0.410222 -0.004668 +v 0.781539 0.408456 -0.009031 +v -0.609088 0.663782 -0.045139 +v -0.677354 0.937407 0.123182 +v -0.641023 1.032947 0.102618 +v 0.467143 0.860597 -0.199876 +v 0.262878 0.991367 0.105980 +v 0.373142 0.950778 0.203611 +v 0.247118 0.665536 0.428999 +v -0.118942 0.943207 0.114580 +v 0.207280 0.955817 0.201775 +v 0.337829 0.953767 0.205375 +v 0.290664 0.966067 0.188337 +v -0.033638 0.940388 0.042449 +v -0.042889 0.943168 0.039004 +v 0.274083 0.692207 0.364116 +v -0.391694 1.241937 0.039730 +v -0.009952 0.894427 0.169431 +v -0.053420 0.879747 0.198910 +v -0.256415 1.207877 0.045130 +v 0.092115 0.929377 0.176038 +v 0.079463 0.925807 0.171651 +v -0.024910 0.908877 0.134353 +v -0.033156 0.913637 0.131300 +v -0.041334 0.918587 0.128350 +v -0.192620 1.342507 -0.049353 +v -0.556024 1.227867 0.098837 +v 0.412795 0.912847 0.232752 +v -0.204097 1.341587 -0.053150 +v 0.659128 0.758627 -0.049181 +v -0.095234 1.416087 -0.100362 +v 0.394379 0.982247 0.096703 +v 0.128939 0.973447 0.014013 +v 0.251965 0.990687 0.101948 +v 0.627433 0.802187 -0.060201 +v 0.620882 0.810207 -0.062630 +v 0.614785 0.819857 -0.064484 +v 0.608448 0.828027 -0.066951 +v 0.601787 0.836527 -0.068981 +v 0.594830 0.843567 -0.071667 +v 0.587553 0.850287 -0.074239 +v 0.579911 0.856137 -0.077100 +v 0.572108 0.861807 -0.079896 +v 0.564060 0.866797 -0.083032 +v 0.556152 0.872317 -0.085769 +v 0.548135 0.877427 -0.088958 +v 0.539852 0.882097 -0.091978 +v 0.531677 0.887227 -0.094578 +v 0.523658 0.892287 -0.097740 +v 0.515521 0.897207 -0.100846 +v 0.506608 0.902087 -0.104189 +v -0.583510 0.621375 -0.115238 +v -0.588277 0.621664 -0.105200 +v -0.590263 0.621858 -0.095107 +v -0.621088 0.624172 0.014826 +v -0.521164 0.631064 -0.195241 +v 0.126337 0.878047 -0.216350 +v -0.647861 1.143097 0.141989 +v -0.464393 1.139627 -0.238016 +v -0.626823 0.651581 0.024675 +v -0.628602 0.651710 0.034725 +v -0.674074 0.923747 0.153382 +v -0.662192 0.923767 0.193276 +v -0.527037 1.099047 -0.127141 +v -0.641088 1.032857 0.082603 +v -0.613782 0.678472 0.134205 +v 0.503631 0.849067 -0.187374 +v -0.445718 1.194057 -0.528672 +v -0.032021 0.907947 -0.146034 +v -0.445607 1.249727 -0.518621 +v -0.587891 0.731497 0.143956 +v -0.502771 0.794837 -0.136294 +v -0.644201 1.115618 0.132139 +v -0.645553 0.829477 0.273723 +v -0.653726 0.854577 0.162727 +v -0.658483 0.855937 0.153611 +v -0.329337 1.240457 0.032896 +v 0.146434 0.655874 0.423962 +v -0.470943 1.236987 -0.017650 +v 0.154157 0.980358 0.023163 +v -0.394224 1.225817 -0.077292 +v -0.088505 0.956137 0.051780 +v -0.320504 1.255327 -0.036470 +v 0.141555 0.976987 0.018582 +v -0.383688 1.243948 0.086042 +v -0.111404 0.912297 0.177045 +v -0.598839 1.205647 0.144161 +v -0.462030 1.239997 0.160343 +v 0.251333 0.686747 0.385311 +v -0.432208 1.175398 0.306419 +v -0.322943 1.235297 0.136743 +v 0.230427 0.687797 0.377919 +v 0.408168 0.962088 0.158975 +v 0.241518 0.991018 0.098125 +v -0.290800 0.347887 0.269472 +v -0.616509 0.610208 -0.015041 +v 0.052461 1.533937 -0.273924 +v 0.216169 0.679476 0.402990 +v -0.623063 0.921737 -0.056595 +v -0.333012 1.240498 0.075122 +v -0.287132 1.223798 0.120711 +v -0.514357 1.320797 -0.348959 +v -0.656262 0.937747 0.263136 +v -0.373966 1.350117 -0.431216 +v -0.380267 1.358327 -0.433553 +v -0.386711 1.367017 -0.435784 +v -0.393432 1.374847 -0.438214 +v -0.400688 1.381607 -0.440847 +v -0.408328 1.387487 -0.443683 +v -0.416381 1.392757 -0.446540 +v -0.424315 1.397897 -0.449607 +v -0.432593 1.402457 -0.452711 +v -0.441224 1.406457 -0.455942 +v -0.450010 1.410137 -0.459206 +v -0.459481 1.412527 -0.462816 +v -0.468711 1.416617 -0.466171 +v -0.478233 1.416457 -0.470221 +v -0.490720 1.413047 -0.474794 +v -0.370448 1.203108 -0.111926 +v -0.377259 1.210828 -0.114541 +v -0.507637 1.240077 0.086131 +v -0.521470 1.235847 0.052121 +v -0.392564 1.243708 0.140994 +v -0.153586 0.901927 0.177040 +v -0.553718 1.193447 0.234373 +v 0.230035 0.989787 0.094022 +v -0.384290 1.217808 -0.117339 +v 0.860801 0.383755 0.035699 +v 0.854236 0.391822 0.033255 +v 0.847014 0.398341 0.030350 +v 0.838935 0.403694 0.027204 +v 0.830286 0.408150 0.024157 +v 0.821238 0.411540 0.020923 +v 0.811367 0.413748 0.017068 +v 0.801285 0.414645 0.013446 +v 0.790242 0.414174 0.009238 +v 0.778202 0.411798 0.004545 +v 0.766369 0.409344 -0.000113 +v 0.755057 0.406879 -0.004814 +v -0.609593 0.691887 0.134305 +v -0.613697 0.691857 0.124126 +v -0.618296 0.949067 -0.066756 +v -0.391001 1.225657 -0.119932 +v -0.423368 1.171268 0.309313 +v -0.035968 0.872617 0.205519 +v -0.045247 0.875197 0.202085 +v -0.291207 1.230037 0.075739 +v -0.300566 1.232627 0.072361 +v -0.309464 1.235967 0.069108 +v -0.318831 1.238227 0.065731 +v -0.380707 1.242667 0.043599 +v -0.020314 0.894797 0.165639 +v -0.061659 0.884517 0.195875 +v -0.262470 1.216817 0.042782 +v 0.104677 0.933107 0.180562 +v -0.318627 1.243877 0.007677 +v -0.307119 1.245477 0.011763 +v -0.296041 1.245947 0.015637 +v -0.276892 1.242167 0.022937 +v -0.268149 1.238107 0.025846 +v -0.286254 1.244687 0.019440 +v -0.602730 1.211307 0.098074 +v -0.397815 1.232967 -0.122581 +v 0.663609 0.755797 -0.033063 +v 0.657248 0.764637 -0.035234 +v 0.651084 0.773587 -0.037420 +v 0.645044 0.783297 -0.039306 +v 0.638917 0.792297 -0.041489 +v 0.632506 0.800397 -0.043938 +v 0.625896 0.808397 -0.046358 +v 0.619438 0.817107 -0.048504 +v 0.613195 0.825997 -0.050668 +v 0.606643 0.834617 -0.052796 +v 0.599840 0.841767 -0.055456 +v 0.592938 0.849397 -0.057803 +v 0.585482 0.855427 -0.060681 +v 0.577814 0.861227 -0.063522 +v 0.569971 0.866877 -0.066308 +v 0.562069 0.872397 -0.069047 +v 0.554490 0.878377 -0.071919 +v 0.546387 0.883307 -0.075045 +v 0.538235 0.888197 -0.078137 +v 0.529933 0.892897 -0.081175 +v 0.522016 0.898357 -0.083956 +v 0.514115 0.903637 -0.087168 +v 0.505971 0.908787 -0.089830 +v 0.497574 0.913077 -0.093274 +v 0.489270 0.917727 -0.096282 +v -0.575195 0.838247 -0.096950 +v -0.592340 0.622083 -0.085018 +v -0.622147 0.624280 0.024832 +v -0.513466 0.630472 -0.204744 +v -0.531331 0.631522 -0.184733 +v -0.539987 0.632132 -0.174966 +v -0.627501 1.088537 0.222303 +v -0.630316 1.032068 -0.007282 +v -0.628786 0.651764 0.044710 +v -0.627328 1.102288 0.222188 +v -0.659727 0.923787 0.203207 +v -0.653533 0.841777 0.013707 +v -0.645789 0.841377 -0.006324 +v -0.616659 0.678653 0.124424 +v -0.623363 0.678420 0.024546 +v -0.622784 0.678287 0.014673 +v 0.066448 0.913667 -0.153453 +v -0.536928 1.113277 -0.107591 +v -0.584399 0.731427 0.154009 +v -0.496334 0.794377 -0.145992 +v -0.512502 0.795287 -0.126452 +v -0.608956 1.128638 0.002300 +v -0.423585 1.333957 -0.609277 +v -0.667285 0.856077 0.113547 +v -0.319490 1.239297 0.036433 +v 0.114121 0.654850 0.412405 +v -0.404362 1.240988 -0.125065 +v -0.277942 1.289027 -0.035420 +v -0.047044 0.943867 0.052207 +v -0.014436 0.933997 0.078977 +v -0.264155 1.282027 -0.016108 +v -0.241215 1.296077 -0.022847 +v -0.078439 0.916107 0.159320 +v -0.045375 0.885897 0.186595 +v -0.411877 1.247877 -0.127974 +v 0.178829 0.667783 0.420114 +v -0.013289 0.899297 0.153427 +v -0.430750 1.240847 0.011209 +v -0.418438 1.255327 -0.130463 +v -0.571189 1.215417 0.152876 +v -0.247678 1.048857 0.168955 +v -0.426365 1.260648 -0.133241 +v 0.071708 1.547367 -0.252789 +v 0.064168 1.547467 -0.255476 +v 0.044809 1.532877 -0.261290 +v 0.219669 0.989947 0.090190 +v -0.299474 1.202617 0.218383 +v -0.435095 1.245497 0.096894 +v -0.295403 1.228697 0.117694 +v -0.434246 1.266717 -0.136009 +v -0.366020 1.332977 -0.414035 +v -0.371902 1.342137 -0.416190 +v -0.377901 1.351847 -0.418243 +v -0.384077 1.360728 -0.420442 +v -0.390914 1.367917 -0.422986 +v -0.397887 1.375037 -0.425548 +v -0.405178 1.381757 -0.428173 +v -0.412954 1.387487 -0.431058 +v -0.420910 1.392777 -0.434000 +v -0.429113 1.397578 -0.437065 +v -0.437831 1.401187 -0.440333 +v -0.447010 1.404117 -0.443757 +v -0.456294 1.406868 -0.447243 +v -0.465629 1.409487 -0.450731 +v -0.476057 1.410367 -0.454518 +v -0.488572 1.406617 -0.459317 +v -0.442897 1.269997 -0.139411 +v -0.052141 0.943727 0.065158 +v 0.216089 0.954297 0.205574 +v -0.295308 1.231267 0.088707 +v -0.497323 1.241197 0.060485 +v -0.382101 1.243007 0.144681 +v -0.453530 1.271287 -0.142801 +v -0.403226 1.245098 0.108132 +v -0.465783 1.268708 -0.147122 +v -0.479160 1.262247 -0.152332 +v 0.208155 0.988487 0.086043 +v 0.851359 0.395354 0.046855 +v 0.843788 0.401574 0.043976 +v 0.835413 0.406521 0.040894 +v 0.826533 0.410392 0.037576 +v 0.817535 0.413906 0.034285 +v 0.808036 0.416320 0.030826 +v 0.797509 0.416984 0.026815 +v 0.786429 0.416435 0.022643 +v 0.774419 0.413864 0.018019 +v 0.763657 0.412681 0.013984 +v 0.752330 0.410581 0.009216 +v 0.744094 0.413897 0.006046 +v 0.736656 0.420842 0.003835 +v 0.733161 0.434916 0.002741 +v 0.480709 0.916037 0.185740 +v -0.026210 0.870937 0.208984 +v -0.137520 0.937597 0.122988 +v -0.126508 0.937927 0.126799 +v -0.080223 0.924097 0.143743 +v -0.055323 0.910208 0.153093 +v -0.047170 0.905117 0.155969 +v -0.038396 0.901417 0.159193 +v -0.029661 0.897497 0.162284 +v -0.085929 0.899507 0.186677 +v -0.268946 1.224878 0.040226 +v 0.117847 0.937908 0.185134 +v -0.329728 1.242347 0.003830 +v -0.176083 0.979528 0.063919 +v -0.181533 0.989567 0.061725 +v -0.280323 1.213768 0.152395 +v 0.256101 0.947188 0.219629 +v 0.265440 0.944628 0.223050 +v 0.247358 0.950207 0.215978 +v -0.051674 0.946867 0.035773 +v 0.196695 0.986947 0.081865 +v 0.661497 0.760937 -0.019364 +v 0.655187 0.770437 -0.021293 +v 0.649008 0.778767 -0.023748 +v 0.642760 0.788277 -0.025664 +v 0.636451 0.796477 -0.028116 +v 0.630058 0.805277 -0.030279 +v 0.623666 0.813407 -0.032715 +v 0.617352 0.822257 -0.034893 +v 0.611051 0.831067 -0.037063 +v 0.604508 0.839077 -0.039478 +v 0.597634 0.846777 -0.041852 +v 0.590511 0.853627 -0.044466 +v 0.583315 0.860477 -0.047088 +v 0.575869 0.866877 -0.049711 +v 0.568000 0.872087 -0.052834 +v 0.560108 0.877627 -0.055678 +v 0.552499 0.883557 -0.058574 +v 0.544656 0.889117 -0.061415 +v 0.536389 0.893817 -0.064454 +v 0.528119 0.898567 -0.067491 +v 0.520139 0.903947 -0.070265 +v 0.512631 0.910047 -0.073225 +v 0.504592 0.915087 -0.076376 +v 0.496284 0.919747 -0.079399 +v 0.488019 0.924487 -0.082457 +v 0.479513 0.928667 -0.085851 +v 0.470978 0.932797 -0.088652 +v -0.594713 0.622132 -0.075451 +v -0.624072 0.624436 0.034863 +v -0.617384 0.623844 -0.015013 +v -0.612412 0.623442 -0.025294 +v -0.548209 0.632608 -0.164835 +v -0.555185 0.633023 -0.154709 +v -0.619747 0.638262 0.134574 +v -0.141209 0.831897 -0.246108 +v -0.640655 1.102097 0.162184 +v -0.558625 1.099877 -0.077636 +v -0.516582 1.320697 -0.358983 +v 0.016558 0.627065 -0.365776 +v -0.592882 0.825597 -0.066604 +v -0.615111 0.949017 -0.076774 +v -0.624376 0.678514 0.034575 +v -0.501512 0.686227 -0.195133 +v -0.461278 1.121647 -0.209228 +v -0.606890 0.731977 0.084074 +v -0.608429 0.732127 0.074158 +v -0.521073 0.795677 -0.116652 +v -0.098638 0.913037 -0.171191 +v -0.485256 1.446557 -0.609104 +v -0.666047 0.855807 0.063614 +v -0.649549 0.855737 0.173631 +v -0.413678 1.203948 0.267162 +v 0.124995 0.655896 0.416598 +v 0.397650 0.913107 0.241487 +v -0.127417 0.964047 0.037677 +v -0.038494 0.940427 0.055388 +v -0.029157 0.937847 0.058781 +v -0.197754 1.013847 0.011482 +v 0.143623 0.672913 0.392597 +v -0.261266 1.193588 0.101801 +v -0.343192 1.196017 0.261917 +v -0.447831 1.239437 -0.009414 +v -0.150611 0.595961 -0.319684 +v -0.385588 1.206807 0.261744 +v -0.556495 1.199637 0.218430 +v -0.212487 1.028737 0.108583 +v 0.285934 0.682787 0.383132 +v -0.362327 1.243027 0.093658 +v 0.270619 0.682877 0.392316 +v 0.065613 1.543037 -0.240842 +v 0.055515 1.542147 -0.245286 +v 0.041013 1.531937 -0.250487 +v -0.295970 1.232317 0.059496 +v -0.305421 1.210967 0.216219 +v -0.398527 1.168118 0.303150 +v -0.284486 1.193807 0.194908 +v 0.166095 0.675324 0.400502 +v -0.369526 1.335047 -0.400984 +v -0.375623 1.344037 -0.403164 +v -0.381789 1.352987 -0.405367 +v -0.388215 1.361167 -0.407711 +v -0.395188 1.368727 -0.410212 +v -0.402346 1.375597 -0.412818 +v -0.409979 1.381488 -0.415635 +v -0.417852 1.387157 -0.418456 +v -0.426070 1.391788 -0.421575 +v -0.434310 1.396397 -0.424689 +v -0.443531 1.399218 -0.428121 +v -0.452809 1.401847 -0.431646 +v -0.462700 1.403877 -0.435136 +v -0.473135 1.404437 -0.439039 +v -0.485144 1.401777 -0.443639 +v -0.497315 1.397477 -0.448610 +v -0.462263 1.202587 0.265171 +v -0.060908 0.947507 0.061925 +v -0.482428 1.235077 -0.021708 +v -0.060508 0.950317 0.032556 +v -0.474226 1.244257 0.068553 +v -0.333636 1.233088 0.162033 +v -0.309031 1.234667 0.098250 +v -0.135751 0.929337 0.138425 +v -0.075448 0.935497 0.115794 +v -0.476635 1.242107 0.038585 +v 0.854997 0.391132 0.063086 +v 0.847910 0.398253 0.060472 +v 0.840273 0.404315 0.057605 +v 0.831884 0.409140 0.054528 +v 0.822620 0.412180 0.050997 +v 0.813652 0.415642 0.047694 +v 0.803788 0.417634 0.043978 +v 0.793643 0.418692 0.040225 +v 0.782103 0.417561 0.035831 +v 0.771160 0.416497 0.031710 +v 0.759552 0.414046 0.027102 +v 0.749265 0.413568 0.022929 +v 0.741249 0.417742 0.019947 +v 0.735602 0.427311 0.018046 +v 0.732899 0.442460 0.015918 +v -0.158743 0.937787 0.115492 +v -0.148437 0.937137 0.119160 +v -0.139906 0.944547 0.107274 +v -0.219712 0.999687 0.180292 +v -0.559899 1.223607 0.038902 +v -0.180022 0.947407 0.122103 +v -0.509736 1.216317 0.218393 +v -0.129332 0.943717 0.110840 +v -0.131762 0.914428 0.169798 +v -0.275928 1.232227 0.037973 +v 0.130651 0.941097 0.189296 +v -0.428848 1.237108 -0.031720 +v -0.169864 0.970777 0.066355 +v -0.478079 1.241197 0.140119 +v -0.004284 0.871707 0.216567 +v -0.339011 1.232067 0.174685 +v -0.192594 0.962557 0.146784 +v -0.210268 1.035597 0.079881 +v 0.329787 0.923787 0.246176 +v -0.015824 0.870357 0.212689 +v -0.268899 1.210828 0.084110 +v 0.659096 0.765857 -0.005713 +v 0.652794 0.774707 -0.007894 +v 0.646468 0.783517 -0.010075 +v 0.640143 0.792347 -0.012260 +v 0.633827 0.800537 -0.014697 +v 0.627345 0.809267 -0.016881 +v 0.620994 0.818077 -0.019081 +v 0.614775 0.826357 -0.021498 +v 0.608396 0.835697 -0.023438 +v 0.601893 0.843697 -0.025840 +v 0.595153 0.850957 -0.028513 +v 0.588307 0.858557 -0.030960 +v 0.580977 0.865137 -0.033619 +v 0.573436 0.871097 -0.036516 +v 0.565817 0.876977 -0.039400 +v 0.558274 0.882997 -0.042335 +v 0.550393 0.888517 -0.045151 +v 0.542658 0.894277 -0.048030 +v 0.534307 0.898897 -0.051053 +v 0.526482 0.904487 -0.053906 +v 0.518608 0.910037 -0.056716 +v 0.510684 0.915317 -0.059909 +v 0.502798 0.920777 -0.062720 +v 0.494640 0.925667 -0.065804 +v 0.486432 0.930467 -0.068900 +v 0.478104 0.935007 -0.071874 +v 0.469292 0.938627 -0.075068 +v 0.460551 0.942457 -0.078321 +v 0.451449 0.945537 -0.081814 +v 0.442578 0.948997 -0.084954 +v 0.433367 0.951867 -0.088423 +v -0.605948 0.622937 -0.035679 +v -0.604491 0.622960 -0.045051 +v -0.644732 0.828947 0.292670 +v -0.453408 1.432527 -0.619659 +v -0.644775 1.087717 0.072232 +v -0.626097 1.088637 0.252268 +v -0.454929 1.250077 -0.458548 +v -0.475349 1.153548 -0.238130 +v -0.647540 1.087878 0.082407 +v -0.616758 1.087407 0.022581 +v -0.675145 0.951077 0.113051 +v -0.626751 0.678832 0.074469 +v -0.513134 0.685457 -0.185697 +v -0.473472 1.222897 -0.328526 +v -0.541754 1.141047 -0.097663 +v -0.610801 0.732117 0.054203 +v -0.610854 0.732087 0.044227 +v -0.604590 0.717877 -0.015475 +v -0.046884 1.451957 -0.228744 +v 0.494579 0.862057 -0.181476 +v -0.659123 0.856957 0.303535 +v -0.436900 1.222107 0.228190 +v -0.262903 1.201757 0.086476 +v 0.298434 0.663426 0.417916 +v 0.255983 0.662224 0.432491 +v -0.063528 0.914977 0.150087 +v -0.055570 0.948347 0.049069 +v 0.067616 0.948047 0.108322 +v -0.191501 1.004997 0.013807 +v 0.025517 0.901707 0.182127 +v -0.531852 1.234787 0.077795 +v 0.003787 0.889777 0.189724 +v -0.618633 1.202627 0.092826 +v -0.343320 1.241038 0.071425 +v -0.473832 1.212147 0.245837 +v -0.358016 1.242397 0.080689 +v 0.295309 0.680037 0.386447 +v -0.185761 0.978068 0.119419 +v -0.206549 1.019667 0.110910 +v 0.058600 1.537697 -0.229226 +v 0.047649 1.537977 -0.232956 +v 0.033583 1.528857 -0.238894 +v 0.290124 0.667959 0.414693 +v 0.198748 0.664369 0.426974 +v -0.312827 1.217247 0.213577 +v -0.082008 0.932068 0.128191 +v -0.304470 1.231907 0.114410 +v -0.093732 0.905007 0.183539 +v 0.364395 0.954627 0.200463 +v -0.373289 1.336957 -0.387951 +v -0.379309 1.345997 -0.390136 +v -0.385766 1.354117 -0.392499 +v -0.392606 1.361857 -0.394974 +v -0.399797 1.368727 -0.397571 +v -0.407142 1.375327 -0.400257 +v -0.414964 1.380997 -0.403144 +v -0.422663 1.386647 -0.406058 +v -0.431296 1.390637 -0.409225 +v -0.440067 1.394337 -0.412495 +v -0.449291 1.397017 -0.415976 +v -0.459096 1.398597 -0.419649 +v -0.469551 1.399487 -0.423430 +v -0.481045 1.397897 -0.427761 +v -0.493348 1.393718 -0.432676 +v 0.054930 0.919247 0.162872 +v -0.364536 1.236467 -0.008589 +v -0.204774 1.025567 0.082068 +v -0.463781 1.243727 0.072263 +v -0.314476 1.228457 0.168912 +v -0.204467 1.028417 0.052765 +v -0.157072 0.929647 0.131009 +v -0.564969 1.224007 0.051784 +v -0.069869 0.952927 0.029117 +v 0.856682 0.382813 0.078406 +v 0.850456 0.391323 0.076116 +v 0.843635 0.399273 0.073645 +v 0.835963 0.405364 0.070799 +v 0.827641 0.410291 0.067740 +v 0.818736 0.413925 0.064392 +v 0.809326 0.416549 0.060864 +v 0.799273 0.418056 0.057160 +v 0.788754 0.418477 0.053215 +v 0.777801 0.417934 0.049087 +v 0.766366 0.416220 0.044742 +v 0.755870 0.415850 0.040585 +v 0.745986 0.416459 0.036663 +v 0.738223 0.422172 0.034115 +v 0.734291 0.436178 0.032981 +v 0.355706 0.958318 0.197257 +v -0.318107 1.235417 0.123978 +v -0.079176 0.955757 0.025706 +v -0.390341 1.237007 -0.003216 +v -0.379861 1.236967 0.000465 +v -0.314096 1.241087 0.023869 +v -0.303678 1.240577 0.027580 +v -0.324456 1.240608 0.020022 +v -0.293249 1.238617 0.030679 +v -0.284543 1.236168 0.034456 +v 0.142711 0.943798 0.193596 +v -0.439236 1.237828 -0.035479 +v -0.162622 0.964127 0.069139 +v -0.434680 1.242667 0.155300 +v -0.360781 1.234487 -0.021733 +v -0.372306 1.232798 -0.025785 +v -0.138864 0.959927 0.063064 +v -0.129557 0.957407 0.066486 +v -0.148195 0.962448 0.059657 +v -0.157254 0.965537 0.056345 +v 0.356699 0.937057 0.226705 +v -0.465430 1.245087 -0.088166 +v 0.656699 0.770087 0.007722 +v 0.650388 0.779587 0.005754 +v 0.644076 0.787767 0.003332 +v 0.637622 0.796487 0.001119 +v 0.631151 0.804577 -0.001290 +v 0.624847 0.813427 -0.003486 +v 0.618584 0.822317 -0.005695 +v 0.612261 0.831097 -0.007893 +v 0.605743 0.839127 -0.010311 +v 0.599452 0.847927 -0.012505 +v 0.592628 0.855527 -0.015009 +v 0.585601 0.862407 -0.017702 +v 0.578453 0.869207 -0.020406 +v 0.570985 0.875277 -0.023306 +v 0.563501 0.881707 -0.025967 +v 0.555882 0.887607 -0.028835 +v 0.548238 0.893467 -0.031729 +v 0.540428 0.899117 -0.034609 +v 0.532471 0.904507 -0.037400 +v 0.524438 0.909617 -0.040471 +v 0.516535 0.915087 -0.043344 +v 0.508382 0.919947 -0.046418 +v 0.500623 0.925667 -0.049322 +v 0.492392 0.930407 -0.052377 +v 0.483872 0.934577 -0.055700 +v 0.475593 0.939267 -0.058732 +v 0.467207 0.943747 -0.061710 +v 0.458419 0.947368 -0.064927 +v 0.449955 0.951698 -0.067838 +v 0.440813 0.954567 -0.071303 +v 0.431751 0.957857 -0.074851 +v 0.422849 0.961207 -0.077955 +v 0.413259 0.963458 -0.081708 +v 0.403544 0.965427 -0.085387 +v 0.394129 0.967597 -0.088611 +v 0.519436 0.808537 -0.203765 +v -0.391355 1.348047 -0.679479 +v -0.618079 1.073527 0.022521 +v -0.551360 1.099717 -0.087602 +v -0.650292 1.101577 0.082230 +v -0.629571 1.102247 0.212175 +v -0.636047 1.032398 0.032677 +v -0.537958 0.659421 -0.165332 +v -0.626421 0.678702 0.054546 +v -0.522405 0.685907 -0.175380 +v -0.531947 0.686457 -0.165358 +v -0.638676 1.060537 0.122455 +v -0.590763 0.718247 0.154243 +v -0.609587 0.732117 0.064174 +v -0.607495 0.718207 -0.005652 +v -0.615538 0.718857 0.064273 +v 0.578478 0.839157 -0.116376 +v -0.659371 0.855397 0.023606 +v -0.658272 0.855307 0.013615 +v 0.254145 0.681294 0.401417 +v -0.411332 0.582880 0.342949 +v -0.587928 1.217397 0.102827 +v 0.188199 0.676101 0.408039 +v -0.300482 1.225577 0.159394 +v -0.175405 0.985228 0.005159 +v -0.112174 0.963227 0.028432 +v -0.069752 0.950937 0.058635 +v 0.034145 0.909407 0.170432 +v -0.510835 1.215167 -0.075465 +v -0.387952 1.244577 0.098994 +v -0.476038 1.218737 0.229796 +v -0.071794 0.944957 0.087469 +v -0.088547 0.958477 0.022310 +v -0.347615 1.241868 0.084393 +v -0.595769 1.213957 0.085496 +v -0.062442 0.905657 0.165346 +v -0.045258 0.934217 0.097347 +v -0.178195 0.986657 0.048255 +v 0.041749 1.533077 -0.221310 +v 0.024201 1.521457 -0.228025 +v 0.133773 0.720887 0.346406 +v 0.058942 0.915277 0.178937 +v -0.322320 1.220087 0.209837 +v -0.154830 0.972368 0.027567 +v -0.483427 1.241107 -0.109517 +v -0.097895 0.960907 0.018870 +v -0.370878 1.329247 -0.372834 +v -0.377127 1.338167 -0.375039 +v -0.383601 1.346817 -0.377338 +v -0.390244 1.354767 -0.379769 +v -0.397319 1.361758 -0.382347 +v -0.404540 1.368557 -0.384975 +v -0.411991 1.374917 -0.387754 +v -0.420187 1.379787 -0.390790 +v -0.427917 1.385357 -0.393690 +v -0.436575 1.389327 -0.396845 +v -0.445802 1.392107 -0.400324 +v -0.455620 1.393667 -0.404014 +v -0.466103 1.394777 -0.407716 +v -0.477578 1.393007 -0.412086 +v -0.489491 1.390177 -0.416661 +v -0.502599 1.383207 -0.421971 +v -0.107764 0.962738 0.015292 +v -0.117163 0.965118 0.011845 +v -0.199177 1.015587 0.084261 +v -0.452210 1.244807 0.076305 +v -0.305665 1.224787 0.172096 +v -0.126555 0.967297 0.008408 +v 0.253475 0.692067 0.354930 +v -0.442122 1.165607 0.318151 +v 0.185199 0.985318 0.077702 +v 0.852166 0.383695 0.091479 +v 0.845826 0.391960 0.089156 +v 0.838734 0.399057 0.086587 +v 0.831155 0.405333 0.083847 +v 0.822864 0.410349 0.080791 +v 0.814366 0.414864 0.077707 +v 0.804857 0.417502 0.074093 +v 0.794844 0.418594 0.070317 +v 0.783870 0.418123 0.066198 +v 0.772853 0.417455 0.062030 +v 0.761650 0.416188 0.057806 +v 0.751294 0.415983 0.053718 +v 0.742580 0.419026 0.050407 +v 0.735592 0.427083 0.048094 +v 0.732883 0.443419 0.047372 +v 0.499354 0.598851 -0.320229 +v -0.454495 1.238177 -0.026392 +v -0.443555 1.238647 -0.022466 +v 0.274459 0.929227 0.240624 +v 0.265662 0.932827 0.237352 +v 0.217857 0.944428 0.220490 +v 0.207408 0.945027 0.216808 +v 0.174986 0.944667 0.205359 +v 0.164613 0.944967 0.201489 +v 0.153611 0.944458 0.197576 +v -0.449680 1.238307 -0.039236 +v -0.154673 0.959328 0.072153 +v -0.308816 1.232647 0.127320 +v -0.348662 1.237378 -0.017533 +v 0.292721 0.946738 0.218278 +v 0.302591 0.944728 0.221583 +v 0.283915 0.950128 0.214837 +v 0.274035 0.952238 0.211597 +v -0.062505 0.942007 0.090816 +v -0.054065 0.937967 0.094099 +v 0.173702 0.983807 0.073525 +v 0.490700 0.891537 0.218279 +v 0.653835 0.774657 0.021355 +v 0.647714 0.783627 0.019172 +v 0.641242 0.791677 0.016740 +v 0.634879 0.800457 0.014539 +v 0.628595 0.808707 0.012118 +v 0.622233 0.817507 0.009911 +v 0.615785 0.826237 0.007681 +v 0.609592 0.835147 0.005473 +v 0.603241 0.843287 0.003036 +v 0.596726 0.851747 0.000760 +v 0.589790 0.858767 -0.001953 +v 0.582770 0.866127 -0.004435 +v 0.575549 0.872847 -0.007124 +v 0.568339 0.879577 -0.009808 +v 0.560866 0.885647 -0.012728 +v 0.553256 0.891557 -0.015612 +v 0.546002 0.898247 -0.018305 +v 0.538182 0.903877 -0.021151 +v 0.530021 0.908757 -0.024216 +v 0.522241 0.914387 -0.027090 +v 0.514231 0.919737 -0.029888 +v 0.506024 0.924537 -0.032941 +v 0.497958 0.929547 -0.036071 +v 0.489703 0.934277 -0.039137 +v 0.481441 0.938957 -0.042177 +v 0.472870 0.943047 -0.045456 +v 0.464443 0.947427 -0.048443 +v 0.455814 0.951437 -0.051713 +v 0.447094 0.955257 -0.054962 +v 0.438269 0.958847 -0.058173 +v 0.429463 0.962467 -0.061371 +v 0.420657 0.966007 -0.064575 +v 0.411432 0.968877 -0.067986 +v 0.402118 0.971457 -0.071343 +v 0.392068 0.972998 -0.075348 +v 0.382640 0.975018 -0.078532 +v -0.644354 1.115697 0.152127 +v -0.598746 0.622347 -0.065696 +v -0.497919 1.223987 -0.098468 +v -0.576127 0.634469 -0.125183 +v -0.569877 0.633996 -0.135012 +v -0.573200 1.114118 -0.047823 +v -0.618537 0.651692 0.134460 +v -0.546777 0.660072 -0.155730 +v -0.625323 0.678588 0.044542 +v -0.626648 0.678773 0.064505 +v -0.621570 0.949217 -0.056505 +v -0.542623 0.686977 -0.155264 +v -0.598586 0.718297 0.134049 +v -0.579723 0.729987 -0.075571 +v -0.575110 0.729807 -0.085655 +v -0.615205 0.718767 0.074193 +v -0.031118 0.725737 -0.315258 +v 0.209245 0.592082 -0.446173 +v 0.245489 0.641744 -0.406102 +v -0.425999 1.221677 -0.588131 +v 0.213448 0.685017 0.386794 +v 0.483575 0.898247 0.215617 +v 0.442903 0.887657 0.243992 +v -0.511760 1.228027 -0.017374 +v -0.195739 1.006627 -0.003159 +v 0.269041 0.977477 0.166031 +v -0.093375 0.958367 0.035283 +v 0.476252 0.904678 0.212739 +v -0.501432 1.176507 0.297524 +v -0.491220 1.241947 0.077239 +v -0.409377 1.244848 0.091446 +v 0.468083 0.909477 0.209759 +v 0.459418 0.913218 0.206543 +v 0.236184 0.653999 0.440607 +v 0.450545 0.916907 0.203230 +v -0.518691 1.234168 0.140761 +v -0.589473 1.209657 0.028778 +v 0.441878 0.921087 0.200306 +v 0.033003 1.525728 -0.208786 +v 0.018211 1.517828 -0.216229 +v -0.001197 1.500557 -0.223126 +v 0.289361 0.975287 0.173378 +v -0.384981 1.243507 0.056571 +v -0.331112 1.223767 0.206612 +v -0.377550 1.243798 0.102722 +v -0.419433 1.239277 -0.086766 +v 0.434364 0.927487 0.197321 +v -0.369249 1.320947 -0.357832 +v -0.375207 1.330698 -0.359966 +v -0.381485 1.338947 -0.362235 +v -0.387919 1.347607 -0.364552 +v -0.394859 1.354758 -0.367121 +v -0.402096 1.361557 -0.369777 +v -0.409524 1.368037 -0.372506 +v -0.417204 1.373827 -0.375360 +v -0.424974 1.379417 -0.378250 +v -0.433579 1.383427 -0.381429 +v -0.442335 1.387057 -0.384719 +v -0.452232 1.389217 -0.388173 +v -0.462126 1.390827 -0.391812 +v -0.473729 1.389417 -0.396037 +v -0.486159 1.385577 -0.400862 +v -0.498681 1.379967 -0.406150 +v 0.427203 0.934377 0.194713 +v -0.328660 1.239697 0.062180 +v 0.420195 0.941437 0.192243 +v -0.452318 1.200977 0.268637 +v -0.324300 1.230397 0.165411 +v -0.214331 1.012157 0.152455 +v -0.146188 0.929857 0.134701 +v 0.412852 0.947917 0.189365 +v 0.853216 0.374374 0.106492 +v 0.847036 0.382724 0.104297 +v 0.840702 0.391575 0.101990 +v 0.833482 0.398096 0.099380 +v 0.826030 0.404709 0.096680 +v 0.817644 0.409606 0.093548 +v 0.808754 0.413216 0.090269 +v 0.799287 0.415611 0.086752 +v 0.788830 0.416470 0.082928 +v 0.777904 0.415628 0.078723 +v 0.767054 0.415543 0.074754 +v 0.754562 0.412859 0.070043 +v 0.746309 0.415142 0.066805 +v 0.739198 0.421687 0.064014 +v 0.733546 0.432329 0.062087 +v 0.731110 0.446725 0.061003 +v 0.404769 0.952917 0.186521 +v 0.283245 0.925617 0.243881 +v 0.162225 0.982137 0.069354 +v -0.109113 0.941447 0.118208 +v -0.010268 0.585998 0.367652 +v -0.514375 1.216908 -0.062090 +v -0.499073 1.225877 -0.056758 +v -0.485424 1.231927 -0.051940 +v -0.473154 1.233867 -0.047595 +v -0.460598 1.237527 -0.043148 +v -0.145394 0.956597 0.075505 +v -0.491645 1.236107 0.004202 +v -0.335784 1.241868 -0.012943 +v 0.264148 0.953918 0.208073 +v 0.154840 0.935567 0.212899 +v -0.426987 1.220658 0.231695 +v -0.445099 1.242827 0.151627 +v -0.563232 1.209517 0.185824 +v -0.230031 1.009627 0.191061 +v -0.356896 1.240988 0.139099 +v 0.261542 0.972217 0.177958 +v 0.396516 0.957617 0.183448 +v 0.386520 0.961348 0.181041 +v 0.644837 0.786847 0.032334 +v 0.638618 0.795727 0.030133 +v 0.632199 0.804507 0.027921 +v 0.625951 0.813387 0.025684 +v 0.619713 0.821627 0.023285 +v 0.613251 0.830347 0.021072 +v 0.606852 0.839067 0.018844 +v 0.600415 0.847627 0.016537 +v 0.593743 0.854837 0.013842 +v 0.586893 0.862407 0.011320 +v 0.579925 0.869397 0.008617 +v 0.572757 0.876187 0.005917 +v 0.565455 0.882817 0.003203 +v 0.558122 0.889447 0.000526 +v 0.550637 0.895557 -0.002381 +v 0.543244 0.902027 -0.005048 +v 0.535429 0.907637 -0.007897 +v 0.527552 0.913157 -0.010766 +v 0.519581 0.918297 -0.013849 +v 0.511457 0.923277 -0.016929 +v 0.503521 0.928677 -0.019768 +v 0.495224 0.933307 -0.022801 +v 0.487015 0.938107 -0.025881 +v 0.478761 0.942817 -0.028934 +v 0.470218 0.946987 -0.032200 +v 0.461448 0.950727 -0.035461 +v 0.453042 0.955088 -0.038448 +v 0.444349 0.959007 -0.041684 +v 0.435537 0.962628 -0.044907 +v 0.426736 0.966247 -0.048113 +v 0.417601 0.969338 -0.051581 +v 0.408742 0.972707 -0.054750 +v 0.399436 0.975277 -0.058106 +v 0.389768 0.977397 -0.061784 +v 0.380058 0.979438 -0.065428 +v 0.370248 0.980967 -0.068948 +v 0.359955 0.981728 -0.072774 +v 0.349578 0.981937 -0.076606 +v 0.339214 0.982317 -0.080437 +v -0.604628 0.622973 -0.055965 +v -0.562578 0.633543 -0.144892 +v -0.644541 1.115737 0.162159 +v -0.622056 0.651788 0.114584 +v -0.491859 0.656478 -0.214604 +v -0.674578 0.937067 0.083107 +v -0.620923 0.678199 0.004633 +v -0.619665 0.678039 -0.005289 +v -0.553352 0.687547 -0.145247 +v -0.602075 0.718337 0.124037 +v -0.595126 0.718247 0.144070 +v -0.583470 0.730307 -0.065649 +v -0.564180 0.797367 -0.076562 +v -0.574033 0.797687 -0.066722 +v -0.190541 0.580705 -0.309763 +v -0.638595 1.074317 0.122358 +v -0.661751 0.856047 0.143566 +v -0.668156 0.856077 0.093571 +v -0.667584 0.855907 0.103563 +v -0.657130 0.856877 0.313550 +v -0.231784 1.308137 -0.137435 +v -0.153231 1.365397 -0.188068 +v -0.408816 1.240947 0.019114 +v 0.379059 0.965208 0.177087 +v 0.370250 0.968947 0.173838 +v -0.202193 1.014527 -0.005700 +v 0.248201 0.978487 0.158490 +v 0.259171 0.979027 0.162455 +v -0.074280 0.953867 0.042240 +v -0.184677 0.992617 0.075195 +v -0.189868 1.001917 0.072285 +v -0.172672 0.963317 0.094958 +v -0.338516 1.241267 0.058652 +v -0.069366 0.889907 0.192679 +v 0.361068 0.971907 0.170542 +v -0.398406 1.245177 0.095327 +v -0.102742 0.960747 0.031833 +v -0.507122 1.235757 0.144741 +v -0.542881 1.228877 0.132504 +v 0.351771 0.974607 0.167152 +v 0.023695 1.517068 -0.199998 +v 0.009876 1.510918 -0.204870 +v -0.005201 1.501057 -0.210527 +v -0.592180 0.592613 0.184490 +v 0.061738 0.909507 0.194805 +v -0.099626 0.939398 0.121729 +v -0.341035 1.225348 0.203126 +v -0.036639 0.882587 0.190051 +v -0.313333 1.235448 0.111192 +v 0.341989 0.976537 0.163664 +v 0.150155 0.979667 0.065010 +v -0.373118 1.322747 -0.344828 +v -0.379648 1.330788 -0.347228 +v -0.385876 1.339637 -0.349478 +v -0.392645 1.347418 -0.351957 +v -0.399751 1.354407 -0.354566 +v -0.407479 1.360157 -0.357404 +v -0.414726 1.366877 -0.360098 +v -0.422832 1.371897 -0.363058 +v -0.430648 1.377367 -0.366026 +v -0.439369 1.381107 -0.369279 +v -0.448637 1.383867 -0.372693 +v -0.458544 1.385887 -0.376230 +v -0.470278 1.384907 -0.380297 +v -0.482705 1.380697 -0.385164 +v -0.495319 1.375217 -0.390392 +v 0.332716 0.979247 0.160266 +v 0.323045 0.981257 0.156813 +v 0.312622 0.982787 0.153329 +v -0.327941 1.237317 0.120450 +v -0.342992 1.235757 0.158669 +v -0.209405 1.000257 0.154530 +v -0.124777 0.929947 0.142332 +v 0.303204 0.984337 0.149570 +v 0.847594 0.372328 0.119119 +v 0.841448 0.381346 0.116905 +v 0.835052 0.389554 0.114644 +v 0.827875 0.396669 0.112083 +v 0.820116 0.402615 0.109264 +v 0.811785 0.407520 0.106231 +v 0.802332 0.410132 0.102739 +v 0.792880 0.412593 0.099155 +v 0.782352 0.413092 0.095245 +v 0.772040 0.413023 0.091180 +v 0.760055 0.410008 0.086593 +v 0.748040 0.407310 0.082078 +v 0.740481 0.413258 0.079306 +v 0.734853 0.423210 0.077338 +v 0.731677 0.438483 0.076232 +v 0.730342 0.457009 0.075895 +v -0.672590 0.869587 0.083526 +v 0.240849 0.687277 0.381604 +v -0.555644 1.225528 0.128261 +v -0.025612 0.919007 0.119188 +v -0.034281 0.923047 0.116132 +v -0.077744 0.942717 0.100141 +v -0.105335 0.951497 0.090021 +v -0.115833 0.951997 0.086308 +v -0.125692 0.953227 0.082629 +v -0.135512 0.954917 0.079056 +v 0.134103 0.925447 0.220340 +v -0.323119 1.246677 -0.008493 +v 0.194430 0.963707 0.182771 +v -0.112406 0.947087 0.102325 +v -0.390587 1.230407 -0.046948 +v -0.410895 1.232827 -0.054368 +v -0.265378 1.267417 -0.002089 +v 0.292813 0.984778 0.145770 +v -0.494913 1.244527 -0.157222 +v -0.215093 1.021577 0.137234 +v 0.133552 0.663769 0.404561 +v 0.282925 0.986257 0.142151 +v 0.648019 0.781697 0.047958 +v 0.641801 0.790577 0.045743 +v 0.635526 0.799437 0.043517 +v 0.629132 0.807577 0.041093 +v 0.623046 0.816587 0.038879 +v 0.616731 0.825417 0.036634 +v 0.610330 0.834137 0.034428 +v 0.603903 0.842177 0.031957 +v 0.597314 0.850537 0.029616 +v 0.590841 0.858457 0.027098 +v 0.583962 0.865537 0.024380 +v 0.576972 0.872977 0.021866 +v 0.569800 0.879777 0.019177 +v 0.562581 0.886497 0.016494 +v 0.555203 0.892677 0.013586 +v 0.547863 0.899277 0.010890 +v 0.540287 0.905547 0.008229 +v 0.532368 0.910727 0.005146 +v 0.524564 0.916348 0.002293 +v 0.516689 0.921907 -0.000542 +v 0.508634 0.926887 -0.003650 +v 0.500745 0.932347 -0.006495 +v 0.492311 0.936677 -0.009797 +v 0.484299 0.941868 -0.012634 +v 0.475681 0.945887 -0.015892 +v 0.467100 0.950038 -0.019158 +v 0.458697 0.954417 -0.022158 +v 0.449950 0.958187 -0.025424 +v 0.441205 0.961998 -0.028637 +v 0.432468 0.965777 -0.031884 +v 0.423744 0.969567 -0.035128 +v 0.414861 0.973037 -0.038324 +v 0.405643 0.975907 -0.041971 +v 0.396726 0.979037 -0.044871 +v 0.387094 0.981267 -0.048525 +v 0.377733 0.983467 -0.051826 +v 0.367968 0.985127 -0.055373 +v 0.357318 0.985608 -0.059466 +v 0.347432 0.986547 -0.062946 +v 0.336574 0.986187 -0.067057 +v 0.326208 0.986798 -0.070945 +v -0.490496 0.602744 -0.228624 +v 0.289055 0.875647 -0.235188 +v -0.489801 1.126398 -0.148234 +v -0.623086 0.651775 0.104571 +v -0.620106 0.651759 0.124625 +v -0.647075 0.977397 -0.006944 +v -0.580054 0.716477 -0.085651 +v -0.608413 0.677254 -0.034821 +v -0.561781 0.688057 -0.135337 +v -0.569455 0.688587 -0.125666 +v -0.606455 0.786457 0.033969 +v -0.587221 0.730557 -0.055731 +v -0.591871 0.730807 -0.045673 +v -0.523582 0.754287 -0.145550 +v -0.543096 0.796607 -0.095931 +v -0.657974 0.937777 0.293081 +v -0.589035 0.785887 0.134040 +v -0.651926 0.951717 0.303098 +v -0.654967 0.950047 0.003186 +v -0.676336 0.937477 0.133204 +v -0.047783 1.467417 -0.209724 +v -0.660151 0.964927 0.183060 +v -0.629030 0.921917 -0.046728 +v -0.634728 0.922067 -0.036753 +v -0.642451 0.922228 -0.026637 +v -0.465115 1.243837 0.042625 +v -0.610663 1.206167 0.110465 +v -0.561121 1.225917 0.111620 +v 0.153484 0.970027 0.138987 +v 0.038052 0.943287 0.083017 +v 0.227381 0.979507 0.150952 +v 0.238312 0.980037 0.154924 +v -0.064834 0.951267 0.045688 +v -0.472329 1.241127 0.025569 +v -0.094918 0.914347 0.168292 +v -0.195249 1.000447 0.115451 +v -0.359321 1.241877 0.051250 +v 0.271969 0.985737 0.138180 +v -0.434693 1.215417 0.244143 +v 0.073927 0.911807 0.198900 +v 0.042523 0.940557 0.099322 +v -0.531695 1.231757 0.136621 +v 0.261546 0.986217 0.134390 +v 0.250583 0.985948 0.130462 +v 0.240199 0.986427 0.126658 +v -0.013563 1.495857 -0.199158 +v -0.030897 1.482377 -0.205532 +v 0.007347 0.586705 0.392674 +v 0.288869 0.676752 0.398972 +v -0.350380 1.227968 0.199761 +v 0.229763 0.986868 0.122844 +v 0.218810 0.986307 0.118904 +v -0.365196 1.304947 -0.327673 +v -0.371096 1.314787 -0.329736 +v -0.377291 1.323687 -0.331969 +v -0.383941 1.331607 -0.334408 +v -0.390579 1.339527 -0.336839 +v -0.397761 1.346437 -0.339495 +v -0.405091 1.353077 -0.342192 +v -0.412363 1.359747 -0.344902 +v -0.420035 1.365508 -0.347821 +v -0.428218 1.370367 -0.350760 +v -0.436887 1.374287 -0.353944 +v -0.445668 1.378537 -0.356996 +v -0.455617 1.380208 -0.360637 +v -0.466583 1.379457 -0.364803 +v -0.479275 1.375917 -0.369408 +v -0.492247 1.370398 -0.374422 +v 0.207871 0.985737 0.114937 +v 0.031423 0.915047 0.154540 +v -0.367128 1.243157 0.106403 +v 0.236955 0.691107 0.365336 +v -0.352898 1.237517 0.155150 +v 0.196330 0.984277 0.110777 +v -0.114344 0.929237 0.145983 +v -0.495341 1.237738 0.017477 +v 0.841142 0.369033 0.131459 +v 0.835019 0.378064 0.129246 +v 0.828413 0.386121 0.126880 +v 0.821291 0.393180 0.124346 +v 0.813511 0.399036 0.121489 +v 0.805664 0.403073 0.119017 +v 0.795224 0.405561 0.114797 +v 0.785824 0.407847 0.111164 +v 0.775946 0.409280 0.107434 +v 0.763979 0.406128 0.102792 +v 0.752694 0.404991 0.098686 +v 0.741039 0.402941 0.094207 +v 0.734654 0.412385 0.091824 +v 0.730921 0.425101 0.090547 +v 0.729774 0.443698 0.090218 +v 0.184849 0.982697 0.106584 +v -0.042466 0.927807 0.113074 +v -0.016308 0.915677 0.122281 +v -0.006439 0.914737 0.126123 +v 0.173367 0.981037 0.102459 +v -0.460880 1.159487 0.326632 +v 0.236358 0.916157 0.257155 +v 0.227551 0.919577 0.253692 +v 0.218224 0.922107 0.250204 +v 0.161906 0.979297 0.098320 +v 0.145134 0.925867 0.224188 +v -0.309653 1.251068 -0.004157 +v 0.183402 0.963458 0.178968 +v -0.142519 0.950737 0.091460 +v -0.401008 1.231307 -0.050762 +v 0.150422 0.977647 0.094153 +v -0.450356 1.245847 0.106018 +v -0.160002 0.971268 0.040512 +v -0.167645 0.977267 0.037658 +v -0.174801 0.983917 0.034782 +v -0.181362 0.992307 0.032344 +v -0.378387 1.188287 0.279493 +v 0.138384 0.975067 0.089835 +v 0.645023 0.784817 0.061153 +v 0.638715 0.793647 0.058916 +v 0.632510 0.802527 0.056682 +v 0.626254 0.811427 0.054456 +v 0.620193 0.819837 0.052051 +v 0.613862 0.828617 0.049796 +v 0.607369 0.837837 0.047750 +v 0.600956 0.845777 0.045209 +v 0.594355 0.853617 0.042697 +v 0.587721 0.861407 0.040164 +v 0.580893 0.869027 0.037594 +v 0.573789 0.875427 0.034764 +v 0.566709 0.882747 0.032227 +v 0.559480 0.889467 0.029538 +v 0.552143 0.896117 0.026853 +v 0.544661 0.902117 0.023966 +v 0.537151 0.908467 0.021274 +v 0.529464 0.914217 0.018404 +v 0.521630 0.919607 0.015325 +v 0.513979 0.925667 0.012669 +v 0.505788 0.930527 0.009619 +v 0.497667 0.935437 0.006540 +v 0.489432 0.940157 0.003477 +v 0.480905 0.944367 0.000223 +v 0.472535 0.948887 -0.002832 +v 0.463857 0.952798 -0.006077 +v 0.455443 0.957157 -0.009087 +v 0.446683 0.960937 -0.012321 +v 0.438348 0.965437 -0.015354 +v 0.429331 0.968787 -0.018829 +v 0.420564 0.972507 -0.022047 +v 0.411626 0.975727 -0.025215 +v 0.402455 0.978777 -0.028689 +v 0.393167 0.981417 -0.032074 +v 0.383827 0.983827 -0.035433 +v 0.374102 0.985717 -0.039033 +v 0.364379 0.987608 -0.042632 +v 0.354100 0.988447 -0.046400 +v 0.344276 0.989617 -0.049884 +v 0.333438 0.989417 -0.053992 +v 0.322540 0.989167 -0.058132 +v 0.312142 0.989377 -0.061958 +v 0.301268 0.988767 -0.066022 +v 0.289804 0.987507 -0.070390 +v 0.278945 0.986497 -0.074371 +v 0.266950 0.984107 -0.078921 +v -0.625151 0.651858 0.094573 +v -0.626608 0.651856 0.084631 +v -0.018829 0.751927 -0.302666 +v -0.603367 0.677033 -0.045252 +v -0.612811 0.677608 -0.025225 +v 0.763552 0.344851 -0.093638 +v -0.467841 1.460517 -0.629778 +v -0.444830 1.460747 -0.649529 +v -0.536637 0.727627 -0.145393 +v -0.603944 0.732127 0.094168 +v -0.380563 0.606337 -0.274669 +v -0.660332 0.951257 0.193197 +v -0.595636 0.785697 0.114225 +v -0.407031 1.348067 -0.649448 +v -0.496428 0.780597 -0.155924 +v -0.487667 0.779957 -0.165488 +v -0.662412 0.842577 0.103615 +v -0.660506 0.842417 0.113635 +v -0.658080 0.842497 0.123613 +v -0.613586 1.197437 0.141452 +v -0.607026 0.921218 -0.096709 +v -0.600135 0.920977 -0.106893 +v -0.131409 0.967197 0.021395 +v -0.341479 1.239897 -0.000503 +v 0.125756 0.971538 0.085303 +v 0.141533 0.967048 0.134625 +v 0.299997 0.963657 0.191882 +v 0.478716 0.923877 0.170665 +v 0.206544 0.980517 0.143398 +v 0.216961 0.980007 0.147192 +v -0.083555 0.956257 0.038837 +v -0.187892 0.996397 0.088811 +v 0.281754 0.672471 0.411484 +v 0.290042 0.656345 0.429778 +v 0.461827 0.932678 0.164499 +v -0.572704 1.200967 0.197941 +v 0.113771 0.968647 0.080952 +v 0.277112 0.686387 0.379909 +v -0.261327 1.230537 0.028772 +v -0.512323 1.235097 0.026139 +v 0.101727 0.966077 0.076641 +v -0.006147 1.498397 -0.181629 +v -0.021339 1.489737 -0.187720 +v -0.036442 1.479937 -0.193377 +v -0.053504 1.467277 -0.199515 +v 0.018812 0.478501 0.440773 +v -0.596555 1.211717 0.115000 +v -0.360287 1.229537 0.196264 +v -0.003552 0.908697 0.141943 +v 0.089125 0.962487 0.072119 +v 0.138691 0.977897 0.060844 +v -0.369174 1.306728 -0.314656 +v -0.375229 1.315737 -0.316855 +v -0.381879 1.323697 -0.319298 +v -0.388592 1.331557 -0.321760 +v -0.395314 1.339377 -0.324218 +v -0.402920 1.345637 -0.327073 +v -0.410438 1.351717 -0.329831 +v -0.418071 1.357667 -0.332625 +v -0.425776 1.363407 -0.335555 +v -0.434501 1.367227 -0.338700 +v -0.443258 1.370917 -0.341960 +v -0.452563 1.373637 -0.345396 +v -0.463268 1.374697 -0.349010 +v -0.475858 1.371177 -0.353685 +v -0.488590 1.365708 -0.358825 +v 0.077675 0.960727 0.067944 +v -0.037233 0.892287 0.174521 +v 0.247404 0.690577 0.369053 +v -0.282711 1.206597 0.180767 +v -0.296877 1.221107 0.175332 +v 0.064493 0.956118 0.063303 +v -0.104975 0.926807 0.149484 +v -0.483852 1.239587 0.021502 +v 0.051987 0.952247 0.058793 +v 0.828360 0.374521 0.141395 +v 0.821425 0.381776 0.139057 +v 0.814174 0.388666 0.136394 +v 0.806091 0.393846 0.133657 +v 0.797554 0.398069 0.130205 +v 0.788139 0.400472 0.126582 +v 0.778278 0.402154 0.122959 +v 0.767372 0.401439 0.118841 +v 0.755948 0.399956 0.114619 +v 0.744178 0.397359 0.110219 +v 0.734612 0.400279 0.106465 +v 0.729771 0.411679 0.104792 +v 0.727653 0.428194 0.104097 +v 0.039933 0.949678 0.054445 +v 0.373501 0.939737 0.218233 +v 0.165233 0.935158 0.216701 +v -0.519965 1.231217 0.008898 +v 0.080255 0.951677 0.112765 +v -0.536578 1.212807 -0.040604 +v 0.122092 0.662041 0.400482 +v 0.027916 0.946927 0.050066 +v -0.266720 1.252687 0.011788 +v -0.276045 1.255187 0.008262 +v -0.287105 1.254977 0.004604 +v -0.298667 1.253477 0.000507 +v 0.172579 0.962487 0.174863 +v -0.572643 1.201207 -0.023675 +v -0.487793 1.231457 -0.081440 +v 0.015322 0.943487 0.045581 +v -0.152240 0.967647 0.044263 +v -0.142164 0.964918 0.047086 +v -0.093904 0.955047 0.064633 +v -0.084535 0.952397 0.068015 +v -0.075227 0.949657 0.071429 +v -0.066322 0.946317 0.074717 +v 0.003236 0.941077 0.041248 +v 0.648031 0.778907 0.076570 +v 0.642115 0.788657 0.074506 +v 0.635963 0.797617 0.072305 +v 0.629635 0.805777 0.069855 +v 0.623405 0.814677 0.067632 +v 0.617081 0.823477 0.065398 +v 0.610752 0.832267 0.063138 +v 0.604354 0.840817 0.060801 +v 0.597895 0.848767 0.058296 +v 0.591396 0.856697 0.055771 +v 0.584587 0.864347 0.053223 +v 0.577612 0.871327 0.050543 +v 0.570527 0.878657 0.048005 +v 0.563461 0.885537 0.045316 +v 0.556318 0.892367 0.042606 +v 0.548924 0.898867 0.039896 +v 0.541369 0.904867 0.037017 +v 0.533698 0.910677 0.034207 +v 0.525957 0.916417 0.031285 +v 0.518303 0.922287 0.028409 +v 0.510547 0.927957 0.025505 +v 0.502681 0.933487 0.022643 +v 0.494445 0.938237 0.019602 +v 0.486183 0.942937 0.016529 +v 0.477625 0.947037 0.013320 +v 0.469660 0.951547 0.011275 +v 0.460643 0.955607 0.007010 +v 0.452166 0.959827 0.003968 +v 0.443501 0.963748 0.000741 +v 0.434777 0.967627 -0.002505 +v 0.426073 0.971427 -0.005743 +v 0.417344 0.975177 -0.008773 +v 0.408448 0.978647 -0.012170 +v 0.399158 0.981247 -0.015584 +v 0.389917 0.984077 -0.018996 +v 0.380207 0.985997 -0.022576 +v 0.370884 0.988427 -0.025939 +v 0.361119 0.990247 -0.029547 +v 0.350864 0.991037 -0.033297 +v 0.340609 0.991887 -0.037051 +v 0.330267 0.992357 -0.040829 +v 0.319386 0.992097 -0.044970 +v 0.309026 0.992067 -0.048756 +v 0.298118 0.991848 -0.052875 +v 0.286625 0.990627 -0.057239 +v 0.275785 0.989448 -0.061199 +v 0.263754 0.987107 -0.065738 +v 0.252163 0.984657 -0.070821 +v 0.240341 0.982797 -0.074495 +v 0.228362 0.980207 -0.079008 +v -0.667569 0.936728 0.043156 +v -0.665386 0.936667 0.033147 +v -0.616301 0.677839 -0.015251 +v 0.492187 0.887097 -0.148322 +v -0.668914 0.936847 0.053126 +v 0.494879 0.852697 -0.191328 +v 0.511916 0.844827 -0.182912 +v -0.601230 0.731927 0.104063 +v -0.597959 0.731957 0.114170 +v -0.594339 0.731827 0.124174 +v -0.607032 0.731697 0.014331 +v -0.604720 0.731567 0.004365 +v -0.608579 0.731917 0.024254 +v -0.070429 0.906017 -0.163726 +v -0.600109 0.785977 0.104102 +v -0.482125 1.181127 -0.358172 +v -0.663514 0.951217 0.183137 +v -0.500286 1.223978 -0.238445 +v -0.443183 1.249667 -0.528590 +v -0.652613 0.963717 0.003174 +v -0.671622 0.964738 0.113007 +v -0.024691 1.481747 -0.219697 +v -0.214663 1.351757 -0.128912 +v -0.512616 1.264938 -0.288680 +v -0.008162 0.939547 0.037106 +v -0.454126 1.244538 0.046513 +v 0.129487 0.964407 0.130347 +v -0.338199 1.238748 -0.042814 +v 0.320971 0.927217 0.242724 +v 0.194926 0.979497 0.139322 +v 0.136516 0.968778 0.118269 +v 0.088543 0.958247 0.101591 +v -0.018892 0.936947 0.062598 +v 0.271726 0.675993 0.408380 +v -0.019048 0.938997 0.033093 +v -0.598828 1.197428 0.011406 +v -0.614136 1.201488 0.049763 +v -0.255254 1.221437 0.030961 +v -0.028841 0.940367 0.029465 +v -0.178430 0.988447 0.018672 +v -0.366209 1.227278 0.208747 +v -0.038618 0.942267 0.025894 +v -0.014668 1.491937 -0.169275 +v -0.029033 1.483627 -0.176195 +v -0.043276 1.475937 -0.181597 +v -0.060504 1.464147 -0.187766 +v 0.044869 0.561656 0.454688 +v 0.019715 0.587274 0.408532 +v -0.581823 1.217837 0.119684 +v -0.369652 1.232167 0.192885 +v -0.047386 0.945787 0.022630 +v -0.056687 0.948517 0.019197 +v -0.362077 1.287627 -0.297715 +v -0.367743 1.297617 -0.299749 +v -0.373600 1.306827 -0.301922 +v -0.379934 1.315638 -0.304196 +v -0.386590 1.323587 -0.306648 +v -0.393472 1.331247 -0.309184 +v -0.400622 1.338187 -0.311788 +v -0.408103 1.344507 -0.314646 +v -0.415912 1.350187 -0.317484 +v -0.423932 1.355197 -0.320486 +v -0.432057 1.360167 -0.323470 +v -0.440372 1.364807 -0.326571 +v -0.449606 1.367657 -0.329930 +v -0.460175 1.368787 -0.333552 +v -0.472977 1.365367 -0.338086 +v -0.485163 1.360878 -0.343086 +v -0.065562 0.951857 0.015980 +v -0.219720 1.010977 0.165260 +v 0.258065 0.688907 0.372810 +v -0.278662 1.195127 0.182511 +v -0.183360 0.906497 0.166226 +v -0.175011 0.901897 0.169446 +v -0.096152 0.923287 0.152770 +v -0.450998 1.169168 0.314780 +v -0.074859 0.954728 0.012530 +v -0.083706 0.958208 0.009302 +v 0.813768 0.376148 0.150830 +v 0.806119 0.382123 0.148090 +v 0.798179 0.387452 0.144875 +v 0.789433 0.391249 0.141688 +v 0.779595 0.393373 0.138395 +v 0.770231 0.395384 0.134579 +v 0.758773 0.394021 0.130407 +v 0.747349 0.392325 0.126107 +v 0.735808 0.390676 0.121799 +v 0.727785 0.396799 0.118562 +v 0.724180 0.411375 0.117463 +v -0.093553 0.960107 0.005727 +v -0.627147 1.074677 0.192348 +v -0.122321 0.948427 0.098677 +v -0.184358 0.995528 0.045858 +v -0.190085 1.005407 0.043650 +v -0.259327 1.199718 0.073339 +v 0.075530 0.940437 0.140520 +v 0.101402 0.948567 0.149474 +v 0.112677 0.950747 0.153793 +v 0.125308 0.954317 0.158179 +v 0.137477 0.956667 0.162358 +v 0.149039 0.958107 0.166426 +v 0.160444 0.960007 0.170626 +v -0.102925 0.962527 0.002292 +v -0.504266 1.220037 -0.087633 +v -0.112321 0.965008 -0.001139 +v -0.057041 0.943407 0.078092 +v 0.046283 0.937147 0.115585 +v 0.033128 0.932418 0.111013 +v 0.180499 0.969367 0.163288 +v 0.169009 0.967707 0.159131 +v 0.157527 0.965897 0.154968 +v -0.122162 0.966747 -0.004740 +v 0.650737 0.772757 0.091952 +v 0.645004 0.782007 0.089755 +v 0.639110 0.791757 0.087686 +v 0.632995 0.800757 0.085475 +v 0.626810 0.809677 0.083217 +v 0.620589 0.818547 0.080968 +v 0.614179 0.827277 0.078710 +v 0.607841 0.835957 0.076418 +v 0.601401 0.843907 0.073877 +v 0.594849 0.851767 0.071377 +v 0.588275 0.859627 0.068837 +v 0.581317 0.867097 0.066287 +v 0.574213 0.873937 0.063601 +v 0.567188 0.881277 0.061048 +v 0.559958 0.887647 0.058192 +v 0.552684 0.894327 0.055504 +v 0.545401 0.900967 0.052791 +v 0.537864 0.906987 0.049916 +v 0.530401 0.913397 0.047216 +v 0.522766 0.919267 0.044345 +v 0.515032 0.925017 0.041453 +v 0.507002 0.930097 0.038411 +v 0.499181 0.935697 0.035527 +v 0.490952 0.940487 0.032476 +v 0.482669 0.945147 0.029429 +v 0.474352 0.949747 0.026383 +v 0.465777 0.953847 0.023145 +v 0.457443 0.958427 0.020084 +v 0.448642 0.962057 0.016834 +v 0.440272 0.966537 0.013787 +v 0.431537 0.970327 0.010578 +v 0.422784 0.974137 0.007361 +v 0.414006 0.977708 0.004121 +v 0.404830 0.980767 0.000700 +v 0.395495 0.983307 -0.002684 +v 0.386240 0.985957 -0.006074 +v 0.376524 0.987957 -0.009687 +v 0.367216 0.990427 -0.013055 +v 0.357438 0.992007 -0.016616 +v 0.347219 0.993377 -0.020461 +v 0.337388 0.994138 -0.023900 +v 0.327135 0.994997 -0.027668 +v 0.316244 0.994707 -0.031767 +v 0.305339 0.994387 -0.035865 +v 0.294394 0.994007 -0.039975 +v 0.283529 0.993067 -0.043975 +v 0.272095 0.991367 -0.048236 +v 0.260047 0.989347 -0.052816 +v 0.248603 0.987637 -0.057091 +v 0.236581 0.985207 -0.061590 +v 0.224583 0.982507 -0.066095 +v 0.212621 0.979807 -0.070552 +v 0.200683 0.976847 -0.074963 +v -0.629960 0.827327 -0.026291 +v -0.632280 1.088337 0.192358 +v -0.635604 1.142617 0.042034 +v -0.609680 1.073347 0.002577 +v 0.415535 0.722727 -0.291709 +v -0.639917 1.060457 0.112486 +v -0.608428 0.718717 0.104161 +v -0.611667 0.718687 0.094114 +v -0.605663 0.718497 0.114063 +v -0.574447 0.716287 -0.095823 +v -0.570908 0.716107 -0.105969 +v -0.610545 0.731927 0.034269 +v -0.603091 0.690797 -0.035700 +v -0.578461 0.675540 -0.105431 +v -0.572548 0.675054 -0.125322 +v -0.101551 1.437348 -0.179296 +v -0.467274 1.250477 -0.378635 +v -0.652843 0.951267 0.233053 +v -0.533352 1.207987 -0.057067 +v -0.658363 0.950137 0.013188 +v -0.439229 1.487997 -0.658684 +v -0.403821 1.319567 -0.659811 +v -0.545170 1.044017 -0.117147 +v -0.502191 1.167927 -0.159411 +v -0.600325 1.072958 -0.037506 +v -0.099873 0.952837 0.077268 +v -0.181383 0.921807 0.151695 +v -0.132048 0.968238 -0.008359 +v 0.271626 0.901247 0.269928 +v -0.411232 1.234407 -0.083656 +v -0.403040 1.229507 -0.080579 +v 0.062590 0.949768 0.091870 +v 0.075773 0.954407 0.096481 +v 0.050673 0.946897 0.087473 +v 0.013920 0.938227 0.074466 +v -0.204125 1.021237 0.008679 +v -0.431785 1.187868 0.291295 +v -0.427000 1.239398 -0.002028 +v 0.267189 0.688287 0.376436 +v -0.526178 1.231107 0.153412 +v 0.279463 0.976987 0.169852 +v -0.084280 0.939067 0.112518 +v -0.141914 0.969718 -0.011997 +v -0.151319 0.971898 -0.015385 +v -0.038012 1.475867 -0.165029 +v -0.051683 1.469107 -0.170281 +v -0.067447 1.460508 -0.175791 +v -0.082208 1.451887 -0.181373 +v -0.478043 0.610156 0.309929 +v -0.567641 1.222647 0.124144 +v -0.379529 1.233737 0.189386 +v -0.468693 1.249367 -0.104164 +v -0.161652 0.972597 -0.019532 +v -0.366800 1.287507 -0.285036 +v -0.372407 1.297548 -0.287071 +v -0.378392 1.306667 -0.289254 +v -0.384888 1.315307 -0.291638 +v -0.391239 1.323987 -0.293980 +v -0.398442 1.330777 -0.296663 +v -0.406066 1.336707 -0.299458 +v -0.413753 1.342467 -0.302339 +v -0.421966 1.347267 -0.305350 +v -0.429758 1.352877 -0.308305 +v -0.437886 1.357797 -0.311281 +v -0.447193 1.360638 -0.314645 +v -0.457292 1.362697 -0.317989 +v -0.469383 1.360347 -0.322426 +v -0.481763 1.356037 -0.327387 +v -0.170158 0.976287 -0.022850 +v -0.134023 0.921377 0.154032 +v -0.485815 1.243087 0.064519 +v -0.288940 1.215507 0.178307 +v -0.164587 0.901517 0.173256 +v -0.413662 1.245687 0.104441 +v -0.208334 1.027697 0.095395 +v -0.179612 0.980117 -0.025675 +v 0.812158 0.361423 0.164648 +v 0.805152 0.368615 0.162388 +v 0.797441 0.374471 0.159593 +v 0.789544 0.379603 0.156102 +v 0.780307 0.382866 0.153217 +v 0.770961 0.385523 0.149767 +v 0.760501 0.386188 0.145981 +v 0.749624 0.385420 0.141807 +v 0.738267 0.383718 0.137486 +v 0.728804 0.386111 0.133851 +v 0.721048 0.391942 0.130987 +v 0.718865 0.409329 0.130232 +v -0.186705 0.985707 -0.028636 +v -0.490891 1.176038 0.301153 +v 0.165065 0.971317 0.143041 +v -0.196135 1.014358 0.041285 +v -0.027357 0.927077 0.103732 +v 0.062316 0.935838 0.135943 +v 0.088112 0.944178 0.144957 +v -0.565616 1.215127 0.007768 +v -0.479495 1.238347 0.008494 +v -0.369749 1.242628 0.047520 +v 0.284678 0.939887 0.229626 +v 0.339092 0.920907 0.249324 +v 0.227546 0.953837 0.209145 +v -0.470372 1.162437 0.323520 +v -0.205516 1.028257 0.022917 +v -0.038938 0.937108 0.084755 +v 0.145512 0.963258 0.150668 +v 0.263414 0.963717 0.192971 +v 0.291403 0.955997 0.203284 +v 0.253504 0.965487 0.189472 +v 0.300254 0.952657 0.206719 +v 0.191438 0.969997 0.167256 +v -0.192976 0.993857 -0.031233 +v 0.647529 0.775027 0.104982 +v 0.641737 0.784917 0.102910 +v 0.635847 0.794687 0.100832 +v 0.629721 0.803647 0.098588 +v 0.623507 0.812567 0.096355 +v 0.617365 0.821487 0.094114 +v 0.611101 0.830307 0.091853 +v 0.604695 0.838847 0.089478 +v 0.598191 0.846757 0.086973 +v 0.591525 0.854507 0.084436 +v 0.584791 0.862197 0.081911 +v 0.577926 0.869717 0.079361 +v 0.570824 0.876557 0.076656 +v 0.563687 0.883387 0.073960 +v 0.556585 0.890267 0.071259 +v 0.549258 0.896907 0.068574 +v 0.541778 0.902967 0.065703 +v 0.534394 0.909537 0.063006 +v 0.526854 0.915477 0.060100 +v 0.519123 0.921197 0.057237 +v 0.511376 0.926917 0.054350 +v 0.503524 0.932457 0.051485 +v 0.495669 0.938028 0.048578 +v 0.487243 0.942307 0.045359 +v 0.478927 0.946927 0.042311 +v 0.470614 0.951527 0.039237 +v 0.462314 0.956118 0.036203 +v 0.453723 0.960257 0.032968 +v 0.444997 0.964067 0.029729 +v 0.436550 0.968328 0.026691 +v 0.427454 0.971587 0.023272 +v 0.419126 0.976077 0.020226 +v 0.409948 0.979117 0.016803 +v 0.401151 0.982687 0.013603 +v 0.391858 0.985337 0.010185 +v 0.382514 0.987808 0.006821 +v 0.372797 0.989747 0.003213 +v 0.363504 0.992197 -0.000166 +v 0.353761 0.994087 -0.003745 +v 0.343516 0.995067 -0.007535 +v 0.333723 0.996137 -0.011024 +v 0.322919 0.996158 -0.014976 +v 0.312567 0.996557 -0.018833 +v 0.301120 0.995528 -0.023159 +v 0.290205 0.994977 -0.027220 +v 0.279291 0.994167 -0.031257 +v 0.268389 0.993477 -0.035304 +v 0.256970 0.991637 -0.039535 +v 0.244907 0.989448 -0.044054 +v 0.232876 0.987047 -0.048556 +v 0.221503 0.985097 -0.052778 +v 0.208870 0.981998 -0.057559 +v 0.196870 0.979287 -0.062016 +v 0.184359 0.975527 -0.066678 +v 0.171829 0.971837 -0.071353 +v -0.459899 1.488047 -0.639242 +v -0.619841 0.678732 0.114404 +v 0.078836 0.740727 -0.315753 +v -0.411492 0.762347 -0.217594 +v -0.542104 1.006107 -0.128782 +v -0.411570 0.833117 -0.183437 +v 0.058847 0.740417 -0.314124 +v -0.372765 1.066427 -0.164142 +v -0.201197 0.738167 -0.289979 +v -0.381645 0.820127 -0.208866 +v -0.529792 0.782807 0.336242 +v -0.431233 0.832407 -0.175069 +v -0.491873 1.007217 -0.160175 +v -0.221149 0.737827 -0.286068 +v -0.154461 1.348457 -0.193274 +v 0.016273 1.349357 -0.266271 +v 0.469474 0.655944 -0.314031 +v 0.088847 0.740597 -0.315359 +v -0.253268 1.198367 -0.125002 +v 0.124882 1.453287 -0.362501 +v 0.076092 1.364498 -0.288115 +v -0.003820 1.364167 -0.268797 +v -0.280414 0.551167 -0.305589 +v -0.369184 0.026293 0.079259 +v -0.362859 0.027702 0.087855 +v -0.379769 0.032304 0.171740 +v -0.394018 0.035455 0.198978 +v -0.402339 0.040028 0.223592 +v -0.402250 0.041323 0.237492 +v -0.400610 0.042247 0.249655 +v -0.399251 0.043118 0.261943 +v -0.398170 0.044710 0.275712 +v -0.395372 0.045621 0.287042 +v -0.391765 0.046089 0.297020 +v -0.330320 0.550061 -0.292156 +v -0.382131 0.047170 0.315721 +v -0.376329 0.048026 0.324674 +v -0.552685 1.035187 -0.113036 +v -0.363691 0.048509 0.340272 +v -0.356100 0.048782 0.346882 +v -0.348236 0.048443 0.354903 +v -0.341238 0.049052 0.360371 +v -0.333277 0.049158 0.366600 +v -0.324831 0.049418 0.371898 +v -0.312449 0.048329 0.374591 +v -0.301652 0.048299 0.377188 +v -0.288678 0.047502 0.378611 +v 0.146715 0.692557 0.350135 +v -0.516611 0.886097 0.424671 +v -0.598820 0.605839 0.176534 +v -0.080592 0.568518 -0.333781 +v -0.202764 0.040965 0.361590 +v -0.179776 0.039030 0.352246 +v -0.511879 0.758907 0.251999 +v -0.522160 1.050447 -0.135354 +v 0.479383 0.655725 -0.311115 +v 0.084653 1.497677 -0.333249 +v -0.123716 1.288737 -0.210651 +v 0.459431 0.656143 -0.316729 +v 0.008961 0.669348 -0.330870 +v 0.188723 0.755597 -0.316176 +v -0.502112 1.021567 -0.151602 +v -0.481931 0.992807 -0.165425 +v -0.231220 0.737837 -0.285083 +v 0.449360 0.656136 -0.317844 +v -0.382081 0.964207 -0.176762 +v -0.211124 0.737877 -0.288394 +v 0.489483 0.655495 -0.306245 +v -0.302532 0.963147 -0.153782 +v -0.103551 1.288947 -0.219374 +v 0.025738 0.033600 0.431800 +v -0.591331 0.839697 0.383660 +v -0.411920 0.978837 -0.179539 +v 0.138842 0.740837 -0.315560 +v -0.456134 0.034361 -0.019038 +v -0.453061 0.035356 -0.007769 +v -0.448359 0.035747 0.001473 +v -0.442236 0.035829 0.009413 +v -0.435790 0.035213 0.018167 +v -0.429215 0.036656 0.024818 +v -0.423751 0.036434 0.033030 +v -0.417043 0.037247 0.040808 +v -0.410356 0.037692 0.048435 +v -0.403720 0.037811 0.055927 +v -0.396206 0.038130 0.062687 +v -0.389142 0.038334 0.069755 +v -0.382566 0.038359 0.077221 +v -0.375176 0.038672 0.083975 +v -0.369994 0.039568 0.093007 +v -0.363595 0.039034 0.100072 +v -0.356632 0.039415 0.107102 +v -0.320566 0.349196 0.262006 +v -0.381575 0.046784 0.160739 +v -0.390746 0.049543 0.183857 +v -0.397363 0.051909 0.204473 +v -0.401390 0.053906 0.222541 +v -0.402450 0.054810 0.235519 +v -0.399738 0.055975 0.247751 +v -0.399461 0.057568 0.262452 +v -0.396923 0.058365 0.273861 +v -0.394531 0.059409 0.285912 +v -0.390130 0.060029 0.295599 +v -0.385147 0.060541 0.304555 +v -0.379868 0.061142 0.313382 +v -0.375159 0.061621 0.322983 +v -0.369709 0.062079 0.331715 +v -0.363405 0.062447 0.339625 +v -0.355647 0.062511 0.346023 +v -0.348214 0.062765 0.352743 +v -0.341250 0.062923 0.359938 +v -0.333524 0.063018 0.366468 +v -0.325317 0.063098 0.372229 +v -0.315089 0.062742 0.376475 +v -0.304402 0.062449 0.379646 +v -0.291458 0.061718 0.381209 +v -0.549196 0.856737 0.397233 +v -0.513427 0.500700 0.263888 +v -0.537761 1.035857 0.413171 +v -0.493546 1.258257 -0.173106 +v -0.501763 0.596143 0.291703 +v -0.381425 0.876427 -0.177634 +v -0.160869 0.050432 0.350809 +v -0.134335 0.047238 0.339648 +v -0.121177 0.046034 0.340699 +v -0.114710 0.046929 0.347092 +v -0.108466 0.047313 0.354715 +v -0.101697 0.047427 0.361943 +v -0.095102 0.047492 0.369336 +v -0.451757 0.784627 0.334659 +v 0.269243 0.577232 -0.435648 +v 0.299431 0.576688 -0.424762 +v -0.070607 0.049214 0.401525 +v -0.064548 0.049517 0.409656 +v 0.278880 0.726637 -0.309292 +v -0.048784 0.049626 0.422353 +v -0.040427 0.049451 0.428303 +v -0.032790 0.049877 0.434748 +v -0.024904 0.049907 0.441125 +v -0.015812 0.049982 0.446106 +v -0.005086 0.049904 0.449155 +v 0.007079 0.049367 0.451036 +v -0.646107 0.847167 0.168538 +v -0.494204 0.596338 0.298226 +v -0.537423 0.513622 0.245166 +v -0.502718 0.569427 0.293335 +v -0.512823 0.528323 0.276531 +v -0.493242 1.327677 -0.288240 +v -0.481920 1.327907 -0.271541 +v -0.457990 0.042634 -0.074806 +v -0.456868 0.043562 -0.063950 +v -0.456009 0.045146 -0.049898 +v -0.458415 0.047743 -0.030776 +v -0.458176 0.049029 -0.016942 +v -0.455034 0.049625 -0.006615 +v -0.448778 0.050001 0.001487 +v -0.441020 0.050410 0.008479 +v -0.434390 0.050524 0.015625 +v -0.427280 0.050775 0.022621 +v -0.421122 0.051840 0.030435 +v -0.416897 0.051701 0.040368 +v -0.410148 0.051948 0.048066 +v -0.403839 0.052277 0.055623 +v -0.395975 0.052253 0.062077 +v -0.388189 0.052517 0.068450 +v -0.380404 0.052558 0.074813 +v -0.372394 0.052702 0.080971 +v -0.365887 0.053223 0.088820 +v -0.358530 0.053560 0.095182 +v -0.352025 0.053519 0.102808 +v -0.346967 0.053963 0.112044 +v -0.379189 0.060291 0.157957 +v -0.384949 0.062510 0.177714 +v -0.394116 0.065258 0.200830 +v -0.396443 0.066966 0.217218 +v -0.394544 0.067929 0.229416 +v -0.394320 0.069240 0.243228 +v -0.396266 0.070884 0.258823 +v -0.394602 0.071932 0.271058 +v -0.391609 0.072809 0.282419 +v -0.386662 0.073580 0.291606 +v -0.381550 0.074224 0.300800 +v -0.376123 0.074188 0.309926 +v -0.371245 0.074829 0.318885 +v -0.366743 0.075417 0.328513 +v -0.361186 0.075850 0.337092 +v -0.354448 0.076132 0.344414 +v -0.346047 0.076155 0.350200 +v -0.338648 0.076308 0.356844 +v -0.331609 0.076515 0.363952 +v -0.323804 0.076607 0.370326 +v -0.314596 0.076587 0.375828 +v -0.303912 0.076192 0.379214 +v -0.559570 0.741707 0.189612 +v -0.485499 0.487042 0.278818 +v -0.412227 0.501341 0.332391 +v -0.100501 0.568078 -0.328697 +v -0.621446 1.019337 0.327071 +v -0.567860 1.021757 0.401014 +v -0.564537 0.452062 0.104554 +v 0.098886 0.726517 -0.317077 +v -0.133443 0.061427 0.338127 +v -0.121331 0.060723 0.339999 +v -0.115707 0.061230 0.347755 +v -0.109146 0.061362 0.354890 +v -0.102848 0.061713 0.362659 +v -0.095936 0.061920 0.369782 +v -0.089838 0.062238 0.377745 +v -0.084411 0.062718 0.386445 +v -0.078445 0.063258 0.394804 +v -0.072463 0.063569 0.402949 +v -0.066739 0.064121 0.411438 +v -0.059090 0.064155 0.418027 +v -0.049496 0.063985 0.422633 +v -0.040990 0.063959 0.428360 +v -0.033964 0.064172 0.435507 +v -0.026935 0.064391 0.442778 +v -0.018016 0.064319 0.448123 +v -0.006857 0.064084 0.450358 +v 0.005980 0.063319 0.451999 +v 0.018161 0.062778 0.453773 +v -0.435383 0.528650 0.326477 +v -0.581726 0.620442 0.201455 +v -0.120450 0.567365 -0.320603 +v 0.056852 0.435811 0.446665 +v -0.526765 1.129937 0.342627 +v -0.566692 1.128788 0.311868 +v -0.488436 0.528608 0.294504 +v -0.291012 0.637732 -0.305111 +v 0.338932 0.740737 -0.297237 +v -0.320799 0.636690 -0.292805 +v -0.330329 0.636177 -0.284735 +v -0.530319 0.814987 -0.114683 +v -0.582036 0.838007 0.386747 +v -0.366362 0.292154 0.125856 +v -0.299236 0.924747 -0.161934 +v -0.003640 0.861797 -0.218200 +v -0.452402 0.056864 -0.079331 +v -0.451338 0.057993 -0.066345 +v -0.451986 0.059380 -0.051629 +v -0.457734 0.061573 -0.031896 +v -0.455803 0.062576 -0.019738 +v -0.452003 0.063418 -0.009691 +v -0.445070 0.063791 -0.002207 +v -0.438083 0.063989 0.004852 +v -0.430140 0.064082 0.011125 +v -0.422826 0.064212 0.017925 +v -0.415950 0.064465 0.024881 +v -0.412079 0.065108 0.034432 +v -0.407229 0.065703 0.044450 +v -0.399801 0.065866 0.051600 +v -0.393042 0.066136 0.058742 +v -0.384797 0.066080 0.064747 +v -0.376703 0.066100 0.070782 +v -0.367609 0.065921 0.075840 +v -0.361415 0.066233 0.083789 +v -0.353847 0.066519 0.090342 +v -0.347325 0.066674 0.097975 +v -0.341115 0.067021 0.105897 +v -0.330786 0.066906 0.110386 +v -0.373946 0.073691 0.174112 +v -0.384680 0.079409 0.198901 +v -0.387757 0.079888 0.211428 +v -0.387257 0.080461 0.224328 +v -0.386641 0.081683 0.237190 +v -0.391207 0.083737 0.255034 +v -0.390206 0.084987 0.267273 +v -0.386978 0.085839 0.277786 +v -0.383335 0.086567 0.288218 +v -0.379070 0.087251 0.297952 +v -0.373669 0.087688 0.306728 +v -0.368431 0.088210 0.315546 +v -0.364202 0.088773 0.325630 +v -0.359179 0.089338 0.334650 +v -0.352435 0.089657 0.342010 +v -0.344653 0.089778 0.348424 +v -0.335923 0.089710 0.353898 +v -0.328054 0.089838 0.360264 +v -0.320683 0.089966 0.366935 +v -0.312093 0.090039 0.372750 +v -0.463821 0.444875 0.272728 +v -0.542873 1.155867 0.301365 +v -0.608559 1.060527 0.327177 +v -0.432049 0.473202 0.308998 +v -0.595135 1.047588 0.356619 +v -0.558445 1.048887 0.390852 +v -0.015623 0.431132 0.335499 +v -0.533970 0.499808 0.242106 +v -0.470986 0.444581 0.265731 +v -0.125868 0.074740 0.331749 +v -0.120190 0.074744 0.337960 +v -0.115014 0.075150 0.346489 +v -0.108545 0.075381 0.353819 +v -0.103135 0.075838 0.362488 +v -0.096456 0.076088 0.369805 +v -0.088990 0.076249 0.376549 +v -0.084357 0.076841 0.385997 +v -0.079016 0.077293 0.394790 +v -0.073617 0.077798 0.403642 +v -0.067059 0.078104 0.411366 +v -0.059581 0.078249 0.418146 +v -0.050320 0.078153 0.422881 +v -0.040857 0.078149 0.427674 +v -0.033562 0.078290 0.434422 +v -0.026165 0.078367 0.441550 +v -0.017289 0.078308 0.446899 +v -0.006471 0.077896 0.450056 +v 0.005828 0.077280 0.451644 +v 0.519804 0.570300 -0.322265 +v -0.618052 0.644932 0.137726 +v -0.008333 0.461093 0.369868 +v -0.275864 1.291758 -0.038263 +v -0.464742 0.690367 0.294181 +v 0.107740 0.666660 0.374886 +v -0.661794 0.910347 0.313581 +v -0.574630 1.128667 0.305666 +v -0.614061 0.645385 0.148059 +v -0.609413 0.645789 0.157597 +v -0.604091 0.646122 0.166405 +v -0.599024 0.646522 0.175334 +v 0.005465 0.447459 0.384491 +v -0.270341 0.551307 -0.306433 +v -0.520800 0.830467 -0.131317 +v -0.020842 0.640562 -0.331562 +v -0.230733 0.638209 -0.310754 +v -0.298751 0.032433 0.362773 +v -0.375107 1.349207 -0.691841 +v -0.401566 0.905687 -0.179187 +v -0.391340 0.876307 -0.178032 +v 0.375251 0.787637 -0.281138 +v 0.752719 0.374676 -0.063982 +v -0.446549 0.068496 -0.083686 +v -0.443626 0.070055 -0.070125 +v -0.447004 0.072611 -0.056942 +v -0.442555 0.073219 -0.047331 +v -0.451692 0.075906 -0.024179 +v -0.448630 0.077200 -0.013807 +v -0.442321 0.077539 -0.005720 +v -0.434276 0.077595 0.000664 +v -0.426690 0.077557 0.007387 +v -0.418896 0.077651 0.013577 +v -0.411514 0.077683 0.020357 +v -0.406395 0.078239 0.028756 +v -0.401428 0.078596 0.038539 +v -0.394563 0.078574 0.045963 +v -0.387885 0.078997 0.053314 +v -0.380039 0.079090 0.059545 +v -0.371301 0.079026 0.064986 +v -0.363460 0.079177 0.071291 +v -0.355509 0.079207 0.077492 +v -0.348866 0.079153 0.084942 +v -0.340205 0.079181 0.090560 +v -0.333816 0.079371 0.098467 +v -0.326608 0.080126 0.106770 +v -0.475830 0.637020 0.306930 +v 0.228918 0.741257 -0.313859 +v -0.383416 0.092215 0.206154 +v -0.382510 0.093517 0.218085 +v -0.380565 0.094680 0.229278 +v -0.386876 0.096753 0.250624 +v -0.385770 0.098011 0.262728 +v -0.383272 0.098943 0.274029 +v -0.379668 0.099695 0.284461 +v -0.374966 0.100784 0.294601 +v -0.370197 0.100925 0.302977 +v -0.365059 0.101483 0.311849 +v -0.360507 0.102054 0.321454 +v -0.356018 0.102649 0.331044 +v -0.349838 0.103004 0.339032 +v -0.342287 0.103270 0.345690 +v -0.333260 0.103104 0.350795 +v -0.324526 0.103097 0.356237 +v -0.316488 0.103059 0.362293 +v -0.307840 0.103119 0.367895 +v -0.593392 0.646849 0.183918 +v -0.587339 0.647117 0.192202 +v -0.613911 1.060247 0.318413 +v -0.012222 0.503848 0.386500 +v -0.147655 1.407417 -0.126806 +v -0.370440 0.563410 -0.279722 +v -0.540254 0.499443 0.234280 +v -0.255821 0.037177 0.368063 +v -0.581385 0.647424 0.200268 +v -0.123766 0.088569 0.328631 +v -0.118518 0.088654 0.336016 +v -0.112984 0.088809 0.343994 +v -0.107492 0.089244 0.352394 +v -0.101478 0.089620 0.360447 +v -0.095414 0.089989 0.368421 +v -0.087786 0.090067 0.375075 +v -0.082752 0.090582 0.384011 +v -0.077947 0.091155 0.393458 +v -0.072422 0.091601 0.402153 +v -0.065798 0.091944 0.409741 +v -0.058097 0.092113 0.416322 +v -0.048790 0.091886 0.421169 +v -0.039156 0.091793 0.424752 +v -0.030235 0.091584 0.430747 +v -0.023362 0.091895 0.438078 +v -0.014867 0.092020 0.444194 +v -0.004997 0.091700 0.448257 +v 0.006507 0.091100 0.450600 +v -0.575397 0.647744 0.208326 +v -0.568963 0.647986 0.216066 +v -0.000580 0.417514 0.349192 +v -0.521598 0.729617 0.236941 +v -0.653809 0.937137 0.319119 +v -0.018527 0.460095 0.351608 +v 0.044960 0.465150 0.457370 +v -0.640139 0.937847 0.348268 +v -0.623898 1.073107 0.285630 +v -0.022873 0.459624 0.341934 +v -0.439250 0.501321 0.316902 +v -0.447924 0.501328 0.311402 +v -0.562313 0.648244 0.223450 +v -0.555919 0.648502 0.231215 +v -0.549121 0.648765 0.238508 +v -0.542081 0.648976 0.245577 +v -0.534972 0.649177 0.252576 +v -0.527669 0.649347 0.259345 +v -0.003621 1.349447 -0.263249 +v -0.303015 1.198117 -0.101563 +v -0.452051 1.051537 -0.163854 +v -0.110807 0.639274 -0.317573 +v 0.439257 0.656052 -0.318685 +v -0.553335 0.580546 0.230751 +v -0.580064 1.007738 0.399358 +v -0.438706 0.083395 -0.077205 +v -0.441314 0.085150 -0.061191 +v -0.437777 0.086187 -0.051728 +v -0.442934 0.087587 -0.031725 +v -0.442621 0.090083 -0.018957 +v -0.437147 0.090727 -0.011285 +v -0.430173 0.091009 -0.003955 +v -0.422681 0.090951 0.002902 +v -0.415064 0.091216 0.009399 +v -0.407572 0.091116 0.016018 +v -0.401035 0.091257 0.023649 +v -0.395856 0.091847 0.032461 +v -0.390160 0.092079 0.041047 +v -0.382371 0.092236 0.047419 +v -0.374412 0.092316 0.053627 +v -0.365799 0.092410 0.059208 +v -0.357818 0.092401 0.065378 +v -0.349120 0.092402 0.070825 +v -0.341801 0.092301 0.077585 +v -0.333808 0.092273 0.083753 +v -0.325950 0.092421 0.090081 +v -0.499780 0.730987 0.258687 +v -0.483540 0.636836 0.300502 +v -0.467903 0.637147 0.313069 +v -0.593857 1.088138 0.325918 +v -0.376753 0.105984 0.213010 +v -0.375434 0.107903 0.223051 +v -0.638002 1.125817 0.186063 +v -0.380531 0.110804 0.257409 +v -0.378364 0.111960 0.268763 +v -0.374728 0.113593 0.278447 +v -0.370746 0.113524 0.288958 +v -0.366123 0.114087 0.298512 +v -0.360964 0.114618 0.307375 +v -0.356117 0.115049 0.316829 +v -0.351394 0.115879 0.326011 +v -0.345846 0.116225 0.334649 +v -0.338864 0.116523 0.341861 +v -0.330146 0.116539 0.347377 +v -0.319769 0.116362 0.351370 +v -0.519619 0.649439 0.265426 +v -0.511128 0.649557 0.271125 +v -0.632101 1.005167 0.309838 +v -0.492419 1.313917 -0.260457 +v 0.005596 0.432676 0.370790 +v -0.531555 0.962487 -0.146789 +v -0.443719 0.459154 0.294643 +v -0.558869 1.129017 0.318201 +v -0.287565 0.164753 0.297794 +v 0.017475 0.464026 0.428580 +v -0.503376 0.649739 0.277529 +v -0.122091 0.102307 0.326484 +v -0.116393 0.102113 0.333137 +v -0.110025 0.102593 0.340652 +v -0.105277 0.102986 0.349622 +v -0.099165 0.103342 0.357705 +v -0.092280 0.103625 0.364938 +v -0.085433 0.104307 0.371152 +v -0.078983 0.103953 0.380087 +v -0.074621 0.104611 0.389750 +v -0.069013 0.104959 0.398397 +v -0.062221 0.105339 0.405741 +v -0.054597 0.105599 0.412412 +v -0.046468 0.105569 0.418430 +v -0.035585 0.104928 0.421464 +v -0.026124 0.104871 0.426241 +v -0.018182 0.104935 0.432462 +v -0.009790 0.105220 0.438544 +v -0.000870 0.105051 0.443741 +v 0.009600 0.104736 0.447846 +v 0.020993 0.104216 0.450083 +v -0.496362 0.649934 0.284724 +v -0.604840 1.006718 0.367548 +v -0.489039 0.650034 0.291466 +v -0.576050 0.939608 0.411582 +v -0.591004 1.061038 0.352182 +v -0.519257 1.424117 -0.548101 +v -0.441347 0.718887 -0.221242 +v 0.022489 0.464281 0.437578 +v -0.013497 0.460382 0.360547 +v -0.581054 0.537370 0.174870 +v -0.593406 0.713287 0.153617 +v -0.456788 0.501192 0.306198 +v -0.507703 1.299127 -0.286655 +v -0.430799 0.604684 -0.252395 +v -0.649804 0.937387 0.329400 +v -0.481350 0.650236 0.297930 +v -0.546823 0.742167 0.205213 +v -0.474103 0.650365 0.304731 +v -0.465761 0.650589 0.310617 +v -0.457071 0.650688 0.316070 +v -0.448182 0.650653 0.321154 +v -0.273856 0.164409 0.303107 +v -0.288183 1.277697 -0.025684 +v -0.630636 0.951827 0.352360 +v -0.592104 0.952917 0.398853 +v -0.606528 0.871717 0.387578 +v -0.433100 0.097298 -0.068778 +v -0.431491 0.098884 -0.057769 +v -0.427928 0.100587 -0.049227 +v -0.433314 0.101531 -0.028107 +v -0.431692 0.103709 -0.016980 +v -0.424822 0.104074 -0.009661 +v -0.418357 0.104201 -0.001805 +v -0.411015 0.104757 0.005002 +v -0.403647 0.104697 0.011745 +v -0.396053 0.104474 0.018337 +v -0.389953 0.104841 0.026233 +v -0.382861 0.105134 0.033439 +v -0.374870 0.105144 0.039576 +v -0.366923 0.105169 0.045805 +v -0.359000 0.105211 0.052020 +v -0.350212 0.105147 0.057396 +v -0.341474 0.105124 0.062826 +v -0.333481 0.105025 0.068903 +v -0.326119 0.104741 0.075620 +v -0.317482 0.104875 0.081194 +v -0.493506 1.355757 -0.345532 +v -0.453082 0.487434 0.302890 +v -0.459271 0.637246 0.318570 +v -0.450509 0.637301 0.323798 +v -0.595832 0.578506 0.174438 +v -0.608536 0.685847 0.140952 +v -0.349596 0.351762 0.253584 +v 0.027842 0.449899 0.432678 +v -0.501321 1.341457 -0.337243 +v -0.603073 0.563935 0.153859 +v -0.365285 0.126250 0.283461 +v -0.361093 0.127072 0.293204 +v -0.356330 0.127450 0.302659 +v -0.351272 0.128137 0.311565 +v -0.346109 0.128717 0.320437 +v -0.340102 0.129233 0.328567 +v -0.333636 0.129324 0.336213 +v -0.325655 0.129313 0.342327 +v -0.315420 0.129283 0.346376 +v -0.549579 0.635253 0.239364 +v -0.564707 0.552912 0.214665 +v -0.553229 0.553686 0.231709 +v -0.580971 0.606806 0.201041 +v -0.467417 1.167987 -0.378245 +v -0.465152 1.169037 -0.393283 +v -0.090578 0.568256 -0.331251 +v -0.517319 1.130028 0.347157 +v -0.481468 0.690257 0.282705 +v 0.128852 0.726727 -0.319481 +v -0.569487 0.634512 0.217028 +v -0.615454 1.180467 0.175717 +v -0.112070 0.115284 0.328241 +v -0.106243 0.115833 0.336496 +v -0.101161 0.116389 0.345195 +v -0.095001 0.116803 0.353225 +v -0.089255 0.117454 0.361509 +v -0.081280 0.117047 0.367818 +v -0.074349 0.117371 0.374905 +v -0.069393 0.117678 0.384294 +v -0.063563 0.118286 0.392524 +v -0.057204 0.118510 0.400365 +v -0.049475 0.118756 0.406884 +v -0.041437 0.118762 0.413018 +v -0.031347 0.118864 0.417390 +v -0.020547 0.118212 0.420623 +v -0.567955 0.607292 0.216228 +v -0.533585 0.527698 0.255081 +v -0.598069 0.871807 0.393544 +v 0.053284 0.588345 0.445401 +v -0.140445 0.566834 -0.314260 +v -0.003375 0.476202 0.392462 +v -0.236472 1.321248 -0.050159 +v -0.568283 0.939727 0.418017 +v -0.583805 0.939447 0.405182 +v -0.590988 0.939257 0.398207 +v 0.029438 0.464447 0.444797 +v -0.547819 0.594476 0.238990 +v -0.164417 1.392727 -0.109678 +v 0.056217 0.667365 0.355549 +v -0.477957 0.730877 0.277994 +v -0.458689 0.430787 0.267859 +v -0.607577 0.912037 0.387592 +v -0.552192 0.498987 0.218139 +v 0.113656 0.680027 0.354167 +v -0.551470 0.526641 0.230668 +v -0.571420 0.740997 0.173407 +v -0.589580 0.925517 0.397522 +v -0.402534 0.473298 0.323628 +v -0.616764 1.086937 0.292445 +v -0.492151 1.244718 -0.145867 +v -0.549703 1.102677 0.352226 +v -0.381417 0.862077 -0.181806 +v -0.499693 0.542304 0.291163 +v -0.482930 0.542548 0.302530 +v -0.636335 0.951688 0.343732 +v -0.019585 0.488840 0.365917 +v 0.081018 0.666968 0.357054 +v 0.005836 0.613363 0.365153 +v -0.624385 0.978857 0.345294 +v -0.418523 0.113941 -0.044012 +v -0.421870 0.115148 -0.026250 +v -0.417684 0.116779 -0.016744 +v -0.411326 0.117696 -0.009371 +v -0.405398 0.117540 -0.000987 +v -0.397626 0.117801 0.005393 +v -0.389783 0.118016 0.011774 +v -0.382419 0.117883 0.018563 +v -0.373904 0.118192 0.024277 +v -0.365753 0.117918 0.030182 +v -0.357680 0.117712 0.036219 +v -0.349693 0.117629 0.042351 +v -0.341013 0.117750 0.047847 +v -0.332237 0.117647 0.053240 +v -0.323465 0.117573 0.058606 +v -0.314752 0.117627 0.064100 +v -0.307476 0.117391 0.070850 +v -0.300221 0.117237 0.077700 +v 0.529895 0.569972 -0.317244 +v 0.077305 0.421803 0.454929 +v -0.631484 0.898037 0.369124 +v 0.123415 0.679800 0.359028 +v -0.501585 0.514578 0.279865 +v -0.060449 0.568842 -0.339618 +v -0.520151 1.382307 -0.460673 +v -0.630744 0.911417 0.367996 +v -0.623933 0.898237 0.375821 +v -0.422031 0.556188 0.340338 +v -0.640558 0.843737 0.337554 +v -0.348875 0.140034 0.294885 +v -0.343923 0.140917 0.303815 +v -0.338558 0.141366 0.312575 +v -0.332337 0.141660 0.320493 +v -0.325299 0.141827 0.327550 +v -0.316557 0.141686 0.332892 +v -0.306988 0.141647 0.337559 +v -0.565186 0.926287 0.415181 +v -0.563642 0.688147 0.209510 +v 0.016294 0.492661 0.442896 +v -0.558585 0.484268 0.196786 +v -0.527217 0.528036 0.262808 +v -0.460629 1.169067 -0.413188 +v -0.130383 0.567099 -0.316675 +v -0.556636 0.926347 0.420871 +v -0.511108 1.454437 -0.569845 +v -0.617426 1.127037 0.235469 +v -0.243260 1.228137 -0.136713 +v -0.562350 0.525834 0.213283 +v -0.106259 0.128439 0.322167 +v -0.100131 0.128784 0.329991 +v -0.095097 0.129403 0.338681 +v -0.090561 0.130005 0.348452 +v -0.084313 0.130322 0.356387 +v -0.076161 0.130192 0.362404 +v -0.068181 0.130218 0.368575 +v -0.062179 0.130749 0.376703 +v -0.057261 0.130946 0.385931 +v -0.049994 0.131666 0.392789 +v -0.042922 0.131893 0.399956 +v -0.035661 0.131887 0.406843 +v 0.050315 0.601655 0.433882 +v -0.604244 1.033648 0.352028 +v -0.426229 0.487314 0.318616 +v -0.556298 0.728517 0.200933 +v -0.021206 0.474257 0.353908 +v -0.632719 0.964997 0.339963 +v -0.577169 0.537982 0.185237 +v -0.569363 1.061938 0.372998 +v -0.637624 0.964828 0.330538 +v -0.361399 0.890887 -0.177892 +v -0.641641 0.964627 0.320277 +v -0.007967 0.572663 0.379866 +v -0.604872 0.938957 0.383792 +v -0.005752 0.432029 0.353965 +v -0.569402 0.727967 0.185808 +v -0.542234 0.485117 0.222514 +v -0.571711 0.714537 0.188514 +v -0.599011 0.912147 0.393375 +v 0.069989 0.666269 0.356063 +v 0.067136 0.575228 0.460460 +v -0.492701 0.623253 0.295945 +v 0.131501 0.679544 0.364902 +v -0.525988 1.116508 0.356359 +v -0.581812 1.115187 0.313243 +v -0.588755 1.114857 0.306048 +v -0.511346 0.703057 0.255675 +v -0.611754 1.087358 0.301313 +v -0.606372 1.087648 0.310097 +v -0.557677 1.102628 0.346090 +v 0.022450 0.492985 0.450854 +v -0.487053 1.313847 -0.251770 +v -0.577794 0.714217 0.180508 +v 0.017966 0.613566 0.381239 +v 0.029716 0.613972 0.397821 +v -0.494660 0.472332 0.260208 +v -0.405547 0.128569 -0.029271 +v -0.401473 0.130079 -0.019249 +v -0.395329 0.129757 -0.012275 +v -0.387431 0.130377 -0.005100 +v -0.380242 0.130358 0.001900 +v -0.371651 0.130691 0.007568 +v -0.364464 0.130608 0.014470 +v -0.355605 0.130390 0.019765 +v -0.347589 0.130171 0.025837 +v -0.338772 0.130032 0.031169 +v -0.330060 0.130036 0.036571 +v -0.322124 0.130020 0.042764 +v -0.313352 0.129971 0.048173 +v -0.305328 0.129833 0.054281 +v -0.295960 0.130153 0.059135 +v -0.287902 0.129946 0.065194 +v -0.609685 0.632226 0.158053 +v -0.617131 0.590426 0.138569 +v -0.578245 0.898937 0.400977 +v 0.409020 0.754327 -0.276021 +v 0.134797 0.706737 0.346404 +v -0.581761 1.128567 0.298671 +v 0.006483 0.491806 0.424481 +v -0.230063 1.335197 -0.070869 +v -0.615132 1.113777 0.261848 +v -0.621528 1.140108 0.211287 +v 0.060409 0.421546 0.443582 +v -0.336401 0.152019 0.282052 +v -0.332001 0.152737 0.291672 +v -0.325917 0.153316 0.299699 +v -0.318920 0.153557 0.306811 +v -0.310212 0.154030 0.313648 +v -0.301509 0.153801 0.317794 +v -0.529769 0.872167 0.410049 +v -0.439448 0.473157 0.304088 +v -0.554731 0.607792 0.231258 +v 0.049783 0.479168 0.466400 +v 0.000189 0.559632 0.400644 +v -0.550779 0.994917 0.427210 +v -0.479202 1.258927 -0.145133 +v -0.544952 1.062577 0.391128 +v 0.032353 0.479127 0.455536 +v -0.534641 0.594936 0.254012 +v -0.421344 0.719527 -0.231349 +v -0.110637 0.596601 -0.326127 +v -0.501930 0.963377 -0.164396 +v -0.100293 0.141211 0.315393 +v -0.093508 0.141850 0.323093 +v -0.088925 0.142293 0.332448 +v -0.083556 0.142746 0.341176 +v -0.077492 0.143210 0.349279 +v -0.070471 0.143470 0.356389 +v -0.061494 0.143175 0.361556 +v -0.054133 0.143048 0.368342 +v -0.048095 0.143499 0.376403 +v -0.041510 0.144319 0.383947 +v -0.035810 0.144348 0.392393 +v -0.028265 0.144852 0.399157 +v -0.616125 0.898467 0.382279 +v -0.586062 0.592882 0.192456 +v -0.020120 0.558144 0.364239 +v -0.622309 1.059687 0.298560 +v -0.602970 1.060728 0.335787 +v -0.596952 1.061098 0.343875 +v -0.584213 1.061447 0.359535 +v -0.575423 0.620708 0.209268 +v -0.468993 0.569628 0.316307 +v -0.601936 0.993428 0.379033 +v -0.541697 0.567764 0.247961 +v -0.013411 0.572299 0.371192 +v -0.612559 0.938838 0.377362 +v -0.505307 1.340947 -0.347108 +v -0.494493 0.716997 0.266743 +v -0.493862 1.231617 -0.116063 +v -0.432646 0.514908 0.324183 +v -0.588501 0.912147 0.397090 +v -0.642008 1.125657 0.175941 +v -0.010926 0.489692 0.385290 +v -0.569146 0.621011 0.217124 +v -0.570272 0.511363 0.193500 +v -0.429591 0.569469 0.333507 +v -0.607962 0.898618 0.388332 +v -0.505198 1.257647 -0.217412 +v -0.572449 1.088627 0.347044 +v -0.543479 0.513353 0.237157 +v -0.566068 1.102117 0.340276 +v -0.588235 1.101677 0.320006 +v -0.650144 0.883857 0.345494 +v -0.498592 1.369347 -0.383190 +v 0.048834 0.615018 0.420930 +v -0.527183 0.742947 0.228026 +v -0.578182 1.168607 0.251680 +v -0.450521 0.561012 -0.250562 +v 0.011006 0.492288 0.434086 +v -0.599717 0.686557 0.160761 +v -0.561554 0.607582 0.223975 +v -0.359589 0.142397 -0.004902 +v -0.350883 0.142470 0.000577 +v -0.342922 0.142412 0.006734 +v -0.334228 0.142483 0.012251 +v -0.325405 0.142366 0.017582 +v -0.318231 0.142178 0.024496 +v -0.310345 0.142280 0.030716 +v -0.301762 0.142617 0.036363 +v -0.293809 0.142595 0.042528 +v -0.285905 0.142672 0.048776 +v -0.277981 0.142746 0.055006 +v -0.270110 0.142828 0.061251 +v -0.262363 0.143095 0.067605 +v 0.042962 0.450334 0.445879 +v -0.570113 0.953507 0.419416 +v -0.504243 0.703267 0.262680 +v 0.099804 0.666705 0.368647 +v -0.188376 1.378137 -0.113665 +v 0.061050 0.450125 0.456281 +v -0.605119 1.127717 0.265531 +v -0.486994 1.272417 -0.180176 +v -0.617432 1.167097 0.192257 +v -0.309984 0.161070 0.270029 +v -0.305116 0.163893 0.276346 +v -0.298640 0.164394 0.286266 +v -0.281920 1.291507 -0.046106 +v -0.283644 0.164690 0.299642 +v 0.000538 0.447260 0.375501 +v -0.588002 0.633657 0.193247 +v -0.517856 1.143038 0.333117 +v 0.000929 0.505251 0.415502 +v -0.604257 0.605473 0.167832 +v -0.541675 0.962387 -0.142980 +v -0.450834 0.514984 0.313983 +v -0.509158 0.555735 0.286140 +v -0.541593 0.581165 0.247293 +v 0.125002 1.482928 -0.368658 +v 0.002067 0.491337 0.414825 +v -0.582260 1.181377 0.227267 +v -0.619137 1.006017 0.339253 +v 0.059435 0.479133 0.470911 +v -0.086693 0.154602 0.315732 +v -0.080649 0.155110 0.323821 +v -0.075312 0.155579 0.332497 +v -0.069219 0.156089 0.340678 +v -0.062585 0.156458 0.349176 +v -0.054180 0.156103 0.353470 +v -0.044375 0.155960 0.358357 +v -0.037620 0.156332 0.365442 +v -0.031289 0.156612 0.373434 +v -0.025939 0.156968 0.382015 +v -0.019766 0.157432 0.390192 +v -0.489425 1.286417 -0.206397 +v 0.045985 0.507168 0.469280 +v -0.505896 0.500637 0.270499 +v -0.631243 1.139627 0.192941 +v -0.644369 1.139067 0.163658 +v -0.654224 0.856437 0.322544 +v -0.589816 0.885478 0.399399 +v -0.566610 0.593661 0.215380 +v -0.497881 0.636501 0.286633 +v -0.510300 1.326667 -0.341462 +v -0.623790 0.884767 0.376058 +v -0.244163 1.320607 -0.056567 +v -0.627491 0.938478 0.363859 +v 0.042393 0.601709 0.428136 +v 0.066551 0.602278 0.446043 +v -0.482403 0.458423 0.262566 +v 0.006009 0.599923 0.379462 +v -0.007071 0.475569 0.382014 +v -0.577212 0.912157 0.400007 +v -0.644985 0.842947 0.327608 +v -0.512467 0.622558 0.273356 +v -0.577863 0.872167 0.401451 +v -0.515119 1.340497 -0.379831 +v -0.551488 0.898737 0.403043 +v -0.004622 0.586269 0.376204 +v -0.198483 1.350307 -0.060557 +v -0.536229 0.871787 0.402789 +v -0.574015 1.101997 0.334089 +v -0.581219 1.101947 0.327127 +v -0.441779 0.677253 0.313976 +v -0.503130 1.369347 -0.392845 +v -0.507371 1.369017 -0.402649 +v 0.041922 0.614702 0.413758 +v 0.036804 0.614079 0.404851 +v -0.206491 1.350247 -0.066676 +v -0.003693 0.532460 0.404908 +v -0.550998 1.142647 0.309931 +v 0.000500 0.476799 0.402827 +v 0.028960 0.507008 0.458114 +v -0.604421 0.686187 0.151230 +v -0.534981 0.541116 0.256006 +v -0.333960 0.153895 -0.016641 +v -0.326392 0.154540 -0.010130 +v -0.319316 0.154556 -0.003068 +v -0.312852 0.154477 0.004670 +v -0.305776 0.154656 0.011747 +v -0.299059 0.155205 0.019146 +v -0.291926 0.155329 0.026188 +v -0.285364 0.155264 0.033741 +v -0.277476 0.155357 0.040009 +v -0.269704 0.155600 0.046380 +v -0.262611 0.155772 0.053394 +v -0.255603 0.155988 0.060507 +v -0.248651 0.156265 0.067651 +v -0.506000 0.622782 0.281017 +v 0.017920 0.533838 0.440168 +v -0.505081 1.299267 -0.275175 +v -0.008491 0.532011 0.395849 +v -0.643925 0.910967 0.352846 +v -0.498239 1.468507 -0.584208 +v -0.588886 0.713697 0.163252 +v -0.407766 0.487398 0.328343 +v -0.663604 0.896917 0.314526 +v -0.599379 0.898787 0.394128 +v -0.650076 0.951127 0.313889 +v 0.028902 0.726267 -0.321499 +v -0.571101 1.168678 0.258716 +v -0.618827 0.979047 0.353930 +v -0.503841 1.327277 -0.320093 +v 0.001463 0.519029 0.414925 +v -0.556588 0.688337 0.216557 +v -0.620159 1.180477 0.166225 +v -0.530881 0.844577 0.398104 +v -0.594383 1.128297 0.283013 +v -0.457438 0.473437 0.293572 +v -0.567040 0.497435 0.190491 +v -0.404211 1.248157 -0.624133 +v 0.005582 0.560002 0.409382 +v -0.610084 1.180707 0.184511 +v -0.587883 1.181538 0.218690 +v -0.520926 0.756537 0.234891 +v -0.537888 0.471549 0.216765 +v -0.078325 0.167455 0.307224 +v -0.072084 0.167678 0.314935 +v -0.066670 0.167981 0.323620 +v -0.061332 0.168459 0.332404 +v -0.054363 0.169039 0.339751 +v -0.045712 0.168949 0.345154 +v -0.036097 0.168795 0.349745 +v -0.028835 0.168612 0.356535 +v -0.021889 0.168982 0.363733 +v -0.016644 0.169603 0.372613 +v -0.011005 0.169559 0.381072 +v 0.018488 0.640142 0.351714 +v -0.604254 1.141157 0.250228 +v -0.612884 1.140837 0.230528 +v -0.491623 1.272737 -0.189507 +v -0.627476 1.166807 0.173983 +v -0.411878 0.542559 0.345002 +v -0.485006 1.258937 -0.153692 +v -0.558667 1.142228 0.303472 +v -0.477704 0.569593 0.310885 +v -0.556490 0.755077 0.186117 +v -0.002526 0.572992 0.388595 +v -0.598172 0.925377 0.391679 +v -0.633650 0.938257 0.355829 +v 0.005897 0.505748 0.424877 +v -0.499794 1.257907 -0.194864 +v -0.648149 0.924097 0.342357 +v -0.019789 0.445597 0.339324 +v -0.524348 0.845168 0.405329 +v -0.553636 0.484451 0.205721 +v -0.567432 0.912337 0.403952 +v -0.527513 0.500227 0.249802 +v 0.008607 0.573542 0.405879 +v -0.534630 1.116307 0.350869 +v -0.594661 1.115047 0.297702 +v 0.238857 0.755487 -0.311030 +v 0.028008 0.640181 0.356469 +v -0.590216 0.578920 0.183011 +v 0.010767 0.560393 0.418239 +v -0.513969 1.354457 -0.395335 +v -0.535384 0.635660 0.253397 +v -0.014795 0.558527 0.372973 +v -0.588455 0.871947 0.398223 +v -0.629593 0.978528 0.336478 +v 0.035979 0.640215 0.362453 +v 0.055953 0.615171 0.427933 +v -0.609861 0.618687 0.158882 +v 0.047121 0.493296 0.468563 +v -0.285294 1.291218 -0.056630 +v -0.608077 0.979558 0.371391 +v -0.526463 1.156307 0.313170 +v -0.500612 0.486614 0.265676 +v -0.461745 0.583346 0.322436 +v -0.547439 0.567420 0.239523 +v -0.314673 0.165877 -0.021877 +v -0.310065 0.166991 -0.012729 +v -0.304481 0.167267 -0.004069 +v -0.299179 0.167714 0.004756 +v -0.293158 0.168193 0.012853 +v -0.286210 0.168451 0.020070 +v -0.279220 0.168712 0.027234 +v -0.271866 0.168713 0.034049 +v -0.264150 0.168899 0.040448 +v -0.256774 0.168915 0.047225 +v -0.249833 0.169186 0.054372 +v -0.243681 0.169514 0.062320 +v -0.213306 1.243207 -0.158071 +v -0.300494 0.565498 -0.305350 +v -0.468844 1.168257 -0.336967 +v -0.005872 0.417109 0.340374 +v 0.026344 0.574477 0.430456 +v -0.582012 0.565583 0.189456 +v -0.541379 0.898737 0.407095 +v -0.312799 0.290662 0.156077 +v 0.055516 0.507159 0.473977 +v -0.535173 0.581427 0.255050 +v -0.203291 1.243317 -0.163154 +v -0.251834 0.185753 0.237478 +v -0.247327 0.185886 0.247349 +v -0.242311 0.186062 0.256929 +v -0.236731 0.187596 0.266474 +v 0.043791 0.640475 0.368889 +v -0.543227 1.129478 0.330801 +v 0.024092 0.534273 0.447955 +v -0.217850 1.335637 -0.055037 +v -0.070619 0.568821 -0.336412 +v -0.606125 0.925367 0.385593 +v -0.342327 0.963928 -0.167851 +v -0.553571 0.953838 0.431294 +v -0.005513 0.599585 0.362482 +v -0.415713 0.515214 0.335379 +v -0.608222 0.591314 0.157861 +v -0.469344 0.623727 0.314865 +v -0.307401 0.271672 0.126233 +v -0.070720 0.179926 0.298677 +v -0.063562 0.179944 0.305632 +v -0.057397 0.180595 0.314143 +v -0.050502 0.180998 0.321288 +v -0.044274 0.181289 0.329201 +v -0.036479 0.181590 0.335571 +v -0.028462 0.181444 0.341675 +v -0.021368 0.181556 0.348697 +v -0.014231 0.181639 0.355732 +v -0.006300 0.181688 0.361979 +v -0.309435 0.273160 0.127274 +v -0.472649 1.180467 -0.418225 +v -0.598929 1.141447 0.258934 +v -0.479837 0.528582 0.300107 +v -0.601228 0.578132 0.165692 +v -0.547152 0.871697 0.399995 +v -0.453494 0.528746 0.316127 +v -0.578071 0.579410 0.199009 +v -0.565714 0.511853 0.203046 +v -0.184949 1.378397 -0.103006 +v -0.575982 0.565600 0.197143 +v 0.014276 0.574097 0.414155 +v -0.597692 0.939028 0.390832 +v -0.620335 0.938658 0.370932 +v -0.618432 1.113647 0.250855 +v -0.631051 0.884507 0.369073 +v 0.006975 0.519379 0.423181 +v 0.049692 0.639831 0.377100 +v -0.516562 0.845307 0.411692 +v -0.533264 1.169147 0.291328 +v -0.558567 0.912668 0.409037 +v -0.520560 0.500416 0.256932 +v -0.003471 0.504797 0.405843 +v -0.543060 1.115817 0.345115 +v -0.601351 1.114517 0.290334 +v -0.621386 0.965577 0.356808 +v -0.586022 1.034667 0.376175 +v -0.643995 0.884097 0.353548 +v -0.599281 0.619416 0.176479 +v -0.510327 1.354507 -0.384774 +v 0.053558 0.561758 0.460200 +v 0.023380 0.434590 0.409360 +v 0.057304 0.640503 0.383552 +v -0.507156 1.382837 -0.431458 +v -0.593159 0.606239 0.185091 +v -0.603070 0.591860 0.167124 +v -0.501640 1.285817 -0.236120 +v -0.524364 0.885938 0.418220 +v -0.580347 1.088457 0.340787 +v 0.001124 0.586442 0.384764 +v -0.469934 0.583181 0.316799 +v -0.478161 0.583123 0.310691 +v -0.157496 1.393117 -0.102555 +v -0.008366 0.518159 0.396099 +v -0.304573 0.179931 -0.018325 +v -0.300339 0.180634 -0.008586 +v -0.295244 0.181207 0.000353 +v -0.289170 0.181605 0.008443 +v -0.282153 0.181825 0.015596 +v -0.275648 0.182012 0.023287 +v -0.268571 0.182212 0.030338 +v -0.260888 0.182395 0.036774 +v -0.253612 0.182505 0.043661 +v -0.246649 0.182742 0.050812 +v -0.240578 0.183108 0.058749 +v -0.485781 1.299807 -0.224254 +v -0.618857 0.617829 0.139671 +v -0.626926 0.965378 0.348151 +v -0.542566 1.022367 0.418448 +v -0.614094 0.604658 0.149467 +v 0.118919 0.726417 -0.317791 +v -0.598128 0.564187 0.162811 +v -0.593198 0.564776 0.172204 +v -0.464972 0.542433 0.312989 +v -0.456111 0.542519 0.318201 +v -0.250099 0.197903 0.222830 +v -0.246090 0.198709 0.232673 +v -0.241513 0.199269 0.242308 +v -0.235701 0.199815 0.250590 +v -0.230197 0.200206 0.259365 +v 0.062310 0.640156 0.392869 +v 0.068325 0.640639 0.400883 +v 0.075228 0.641094 0.408062 +v 0.082897 0.641584 0.414462 +v 0.089920 0.641875 0.421594 +v -0.548222 0.484905 0.214442 +v -0.401202 0.720097 -0.242473 +v -0.543192 0.857597 0.397262 +v -0.535027 1.156018 0.307608 +v -0.659014 0.910137 0.325151 +v -0.654935 0.910427 0.335394 +v -0.477353 0.623633 0.308831 +v 0.099375 0.642173 0.426324 +v 0.107465 0.641780 0.432180 +v -0.051116 0.192569 0.293194 +v -0.044808 0.192814 0.301172 +v -0.038540 0.193147 0.309046 +v -0.030814 0.193373 0.315437 +v -0.022891 0.193389 0.321668 +v -0.013277 0.193311 0.326256 +v -0.001896 0.193202 0.329171 +v -0.514652 0.729877 0.244122 +v -0.227738 1.321647 -0.044685 +v -0.535052 0.622111 0.253509 +v -0.580843 1.141937 0.283294 +v -0.608926 1.140967 0.240744 +v -0.617018 1.140387 0.220832 +v -0.636074 1.139507 0.183562 +v -0.588789 0.687177 0.178153 +v 0.018914 0.726187 -0.321329 +v -0.020587 0.544315 0.365138 +v -0.560914 1.062357 0.378789 +v -0.552956 1.062508 0.384998 +v -0.502531 1.257758 -0.206117 +v 0.033085 0.574871 0.437836 +v -0.570348 0.688037 0.202013 +v -0.598319 0.952727 0.390893 +v -0.644407 0.897557 0.353738 +v -0.516256 0.555483 0.279192 +v -0.563075 1.049597 -0.097163 +v -0.585473 0.980507 0.405523 +v 0.030914 0.600904 0.411020 +v -0.470478 0.703797 0.285482 +v -0.529882 0.471263 0.224757 +v -0.469985 0.596740 0.316376 +v -0.545386 0.526937 0.238647 +v -0.551033 1.115798 0.338994 +v -0.535297 1.129547 0.336998 +v -0.459782 1.193367 -0.487617 +v -0.634463 1.112427 0.197243 +v -0.542289 0.688937 0.230479 +v -0.595235 1.101418 0.312854 +v -0.506349 1.354977 -0.374871 +v -0.204624 1.364107 -0.097245 +v -0.485825 0.609970 0.303579 +v -0.478516 0.717267 0.278937 +v -0.478408 0.596661 0.310611 +v -0.622288 1.153567 0.197532 +v -0.605045 1.073948 0.323481 +v -0.628608 1.005538 0.320261 +v -0.518072 1.410947 -0.506463 +v -0.504054 1.243798 -0.204106 +v -0.603498 0.979807 0.380957 +v -0.557583 0.498563 0.209436 +v 0.026561 0.547842 0.445122 +v 0.040976 0.548129 0.458921 +v -0.093435 1.333897 -0.233871 +v -0.531367 0.514237 0.253344 +v -0.547122 1.035497 0.408200 +v -0.613481 0.979317 0.362701 +v -0.297530 0.194117 -0.011536 +v -0.292692 0.194807 -0.002533 +v -0.286505 0.195143 0.005419 +v -0.280085 0.195428 0.013203 +v -0.272603 0.195619 0.019823 +v -0.266217 0.195882 0.027581 +v -0.259166 0.196113 0.034672 +v -0.252088 0.196303 0.041717 +v -0.245597 0.196582 0.049433 +v -0.238810 0.196841 0.056676 +v -0.233441 0.197253 0.066660 +v -0.553220 1.181898 0.254577 +v 0.076149 0.575042 0.465263 +v -0.600378 1.127857 0.274959 +v -0.535361 0.567985 0.255582 +v -0.134475 1.363528 -0.203444 +v -0.615447 0.911867 0.381215 +v -0.409725 0.528980 0.343043 +v -0.418659 0.528861 0.338020 +v -0.427325 0.528859 0.332486 +v -0.247313 0.211455 0.219333 +v -0.243481 0.212105 0.229811 +v -0.238722 0.212694 0.238894 +v -0.233276 0.213145 0.247750 +v -0.227261 0.213530 0.255899 +v -0.221444 0.213875 0.264457 +v -0.214946 0.214187 0.272234 +v -0.609835 1.033267 0.342496 +v -0.004341 0.446584 0.366073 +v -0.190450 0.214165 0.290481 +v -0.599128 1.074368 0.331587 +v -0.555265 1.035558 0.402276 +v -0.100628 0.596748 -0.327511 +v -0.622410 0.871317 0.375052 +v -0.629573 0.871077 0.367988 +v -0.653316 0.870177 0.335131 +v -0.657801 0.870127 0.324187 +v -0.541144 1.049428 0.402060 +v -0.556136 1.168997 0.272018 +v -0.041116 0.204742 0.281577 +v -0.028762 0.204358 0.284222 +v -0.017682 0.204524 0.288212 +v -0.009037 0.204505 0.293598 +v -0.000399 0.204520 0.299001 +v 0.006700 0.204676 0.306046 +v -0.515116 1.368547 -0.423087 +v -0.461883 0.596871 0.322134 +v -0.499238 0.623045 0.288413 +v 0.058075 0.601904 0.440216 +v -0.580080 0.727287 0.168292 +v -0.558991 0.553309 0.223216 +v -0.009895 0.446502 0.357809 +v -0.616167 1.100438 0.277232 +v -0.637958 0.884297 0.361725 +v -0.002465 0.490855 0.405244 +v -0.550646 0.756447 0.194416 +v 0.124009 0.707207 0.344267 +v 0.013227 0.478379 0.432433 +v -0.551655 0.940087 0.429761 +v -0.560283 0.939947 0.424159 +v -0.448767 0.556023 0.324835 +v -0.523375 0.716157 0.239074 +v -0.537465 0.715727 0.224912 +v -0.522772 0.555151 0.271591 +v -0.206348 0.041456 0.363362 +v -0.642652 0.924338 0.351097 +v -0.421813 0.473327 0.314643 +v -0.645233 0.937717 0.339017 +v -0.624475 0.952078 0.360335 +v -0.644991 0.856697 0.341176 +v -0.391474 0.791227 -0.216174 +v 0.369428 0.575271 -0.401753 +v -0.606296 1.114497 0.281020 +v -0.508455 0.486522 0.259390 +v -0.519175 1.368197 -0.432889 +v -0.638639 1.112207 0.187182 +v 0.016135 0.506504 0.442644 +v -0.000200 0.575354 -0.429824 +v -0.200229 1.364327 -0.087467 +v -0.512070 1.340507 -0.368427 +v -0.533042 0.756257 0.219276 +v -0.640045 1.102097 0.182237 +v -0.541259 0.554265 0.247796 +v -0.632629 1.166397 0.165075 +v -0.575784 1.021557 0.394748 +v -0.493606 0.609834 0.297239 +v -0.016747 0.531008 0.375813 +v -0.511859 1.439747 -0.541699 +v -0.004805 0.559322 0.391291 +v 0.123093 0.721027 0.343175 +v 0.019996 0.547475 0.437615 +v -0.012695 0.517694 0.386413 +v -0.520893 0.689477 0.251494 +v -0.611933 0.857928 0.379250 +v -0.549381 0.621705 0.239597 +v -0.584667 0.536831 0.164402 +v -0.563126 1.075557 0.366389 +v -0.290637 0.208539 -0.004776 +v -0.284685 0.208910 0.003289 +v -0.278639 0.209264 0.011322 +v -0.271750 0.209498 0.018571 +v -0.265262 0.209806 0.026233 +v -0.258256 0.210021 0.033368 +v -0.251281 0.210222 0.040534 +v -0.244936 0.210576 0.048346 +v -0.238198 0.210793 0.055631 +v -0.232612 0.211182 0.066087 +v -0.606878 1.167668 0.209884 +v -0.519373 0.622332 0.266095 +v -0.565192 0.566520 0.214916 +v -0.507512 0.542158 0.284898 +v -0.500802 1.467027 -0.598755 +v -0.603996 0.966157 0.381920 +v -0.506516 1.285347 -0.258868 +v -0.596595 1.020627 0.372958 +v -0.460914 0.459307 0.283427 +v -0.489278 1.258588 -0.163379 +v -0.241813 0.225734 0.227817 +v -0.237581 0.226337 0.237580 +v -0.232226 0.226783 0.246419 +v -0.226413 0.227177 0.254684 +v -0.220273 0.227530 0.262735 +v -0.213838 0.227809 0.270631 +v -0.207287 0.228087 0.278276 +v -0.199689 0.228207 0.284971 +v -0.191424 0.228213 0.290916 +v -0.182504 0.228197 0.296078 +v -0.513835 0.609109 0.275184 +v -0.491674 0.542487 0.297183 +v -0.636352 0.870917 0.360623 +v -0.213272 1.349667 -0.073952 +v -0.563737 1.035157 0.396482 +v -0.592897 0.966607 0.399199 +v -0.552035 0.715197 0.211217 +v -0.527322 1.142907 0.328490 +v 0.029006 0.520873 0.457608 +v -0.018861 0.217410 0.274960 +v -0.010846 0.217421 0.280787 +v -0.003047 0.217547 0.287190 +v 0.003263 0.217830 0.294982 +v 0.010099 0.218136 0.302235 +v 0.015608 0.218538 0.310904 +v 0.020086 0.626492 0.364392 +v 0.027400 0.219266 0.327424 +v 0.026384 0.626600 0.372501 +v 0.115009 0.666399 0.381827 +v -0.507345 0.609327 0.282824 +v -0.476814 0.514985 0.297399 +v -0.515148 1.425717 -0.523404 +v -0.499820 1.328077 -0.309643 +v -0.484980 0.556086 0.304262 +v -0.224923 1.335467 -0.062028 +v 0.008838 0.477919 0.422815 +v -0.508568 0.595892 0.284469 +v -0.249466 1.320517 -0.065284 +v -0.412870 0.569586 0.344969 +v -0.412169 0.473314 0.319151 +v -0.571154 1.035208 0.389741 +v -0.530810 0.715837 0.232387 +v -0.247993 1.307037 -0.038231 +v -0.606118 0.577585 0.156295 +v -0.410579 0.605005 -0.256857 +v -0.529340 0.554944 0.264142 +v -0.170695 0.595442 -0.313610 +v -0.514764 0.872607 0.423225 +v -0.575398 0.994377 0.409262 +v -0.549240 0.512858 0.228686 +v -0.546626 0.540422 0.239407 +v -0.535437 0.688957 0.237773 +v -0.630511 1.112607 0.207042 +v -0.642193 1.112057 0.176875 +v -0.618896 0.812537 0.327965 +v -0.640566 1.139247 0.174010 +v -0.626055 1.139908 0.201714 +v -0.523416 1.382228 -0.472162 +v -0.518610 1.424917 -0.534387 +v -0.533788 1.102847 0.364558 +v -0.606578 0.993167 0.369533 +v -0.014255 1.423417 -0.267704 +v -0.523418 1.394677 -0.499793 +v -0.485355 1.245487 -0.124801 +v -0.458266 0.556076 0.320106 +v -0.468271 1.168177 -0.351162 +v -0.547250 0.553964 0.239742 +v -0.590442 0.994007 0.395880 +v -0.522062 0.541803 0.271328 +v 0.038707 0.421139 0.422810 +v 0.033773 0.548012 0.452038 +v -0.017294 0.517209 0.376822 +v -0.655972 0.897058 0.336617 +v -0.481012 1.314007 -0.243757 +v -0.507161 1.326568 -0.330148 +v -0.456060 0.690467 0.299657 +v -0.528126 0.595177 0.261664 +v 0.338842 0.754807 -0.291988 +v -0.283796 0.222767 0.002091 +v -0.278404 0.223236 0.010800 +v -0.271760 0.223430 0.018166 +v -0.265506 0.223778 0.026041 +v -0.258561 0.223965 0.033219 +v -0.251853 0.224135 0.040573 +v -0.245727 0.224481 0.048522 +v -0.239533 0.225267 0.056533 +v -0.235690 0.225509 0.067183 +v -0.238073 0.227424 0.083895 +v -0.242347 0.229059 0.102044 +v -0.246605 0.230740 0.120051 +v -0.251165 0.232628 0.139002 +v -0.253206 0.234159 0.155355 +v -0.253619 0.235228 0.169159 +v -0.506604 1.454437 -0.561474 +v -0.592408 1.154917 0.252163 +v -0.594238 0.550475 0.159503 +v -0.245336 0.238709 0.216443 +v -0.241520 0.239417 0.226923 +v -0.236940 0.239958 0.236551 +v -0.231620 0.240395 0.245406 +v -0.226243 0.240869 0.254198 +v -0.220088 0.241204 0.262212 +v -0.213453 0.241426 0.269721 +v -0.206994 0.241711 0.277563 +v -0.200035 0.241923 0.284850 +v -0.191995 0.241994 0.291118 +v -0.183722 0.242051 0.296972 +v -0.572660 0.925807 0.408796 +v -0.615717 0.965738 0.365363 +v -0.642188 0.870547 0.352178 +v -0.507586 1.156397 0.322307 +v -0.574116 0.552159 0.196085 +v -0.634494 0.992118 0.312625 +v -0.025557 0.502290 0.357117 +v -0.627492 1.153257 0.188704 +v -0.430434 0.561627 -0.258011 +v -0.469881 0.487175 0.291508 +v -0.009411 0.231156 0.278985 +v -0.002274 0.231352 0.285943 +v 0.004028 0.231663 0.293807 +v 0.009543 0.232125 0.302498 +v 0.015438 0.232481 0.310655 +v 0.020617 0.232944 0.319557 +v 0.026677 0.233280 0.327580 +v 0.032412 0.233725 0.336096 +v 0.038278 0.234037 0.344239 +v 0.043302 0.234661 0.353515 +v 0.049256 0.234964 0.361596 +v 0.055268 0.235272 0.369675 +v 0.061474 0.235599 0.377576 +v 0.068097 0.235740 0.385018 +v 0.074833 0.236196 0.392528 +v 0.081831 0.236397 0.399648 +v 0.088930 0.236635 0.406672 +v 0.096666 0.236654 0.413160 +v -0.571708 0.932317 -0.128357 +v -0.475830 0.458982 0.270107 +v -0.470128 0.610301 0.316089 +v -0.507456 0.886167 0.429891 +v 0.047529 0.436052 0.441741 +v -0.420512 0.604784 -0.254182 +v -0.447902 0.445231 0.285067 +v -0.610692 0.577115 0.146691 +v -0.516176 0.716347 0.246018 +v -0.590906 0.844737 0.387049 +v -0.543224 1.142917 0.316303 +v -0.623257 0.911667 0.374738 +v -0.456049 0.444911 0.279126 +v -0.535973 0.485439 0.230400 +v -0.620199 1.086818 0.281477 +v -0.600121 1.087897 0.318020 +v -0.587166 1.141797 0.275448 +v -0.593364 1.141558 0.267568 +v -0.631585 0.991938 0.323674 +v 0.031860 0.626826 0.381185 +v 0.065712 0.435903 0.451931 +v -0.290535 0.565713 -0.308079 +v -0.535366 0.554634 0.256141 +v -0.572258 1.007977 0.405727 +v -0.617002 0.658430 0.136544 +v -0.412930 0.556130 0.345658 +v -0.511868 1.382957 -0.441080 +v -0.549643 1.168678 0.279532 +v -0.568631 0.539022 0.205098 +v -0.616718 0.992678 0.351383 +v -0.559497 0.994737 0.421721 +v -0.550687 1.155627 0.295081 +v -0.650192 0.856517 0.332283 +v 0.059066 0.548300 0.469299 +v 0.049600 0.548242 0.464458 +v 0.040384 0.479330 0.461541 +v -0.560017 0.593947 0.222994 +v -0.584212 0.579166 0.191054 +v -0.110431 0.567690 -0.324477 +v -0.484951 0.514743 0.291493 +v -0.575906 0.524420 0.184553 +v -0.239134 1.307137 -0.033040 +v -0.612837 0.658906 0.146294 +v -0.608112 0.659272 0.155803 +v -0.267633 0.237925 0.027724 +v -0.261297 0.238044 0.035371 +v -0.255279 0.238577 0.043587 +v -0.502487 0.582707 0.292804 +v -0.245370 0.238715 0.060906 +v -0.247689 0.241106 0.078255 +v -0.252621 0.242970 0.097202 +v -0.251658 0.245056 0.111888 +v -0.252678 0.245545 0.125723 +v -0.254210 0.246856 0.141250 +v -0.254925 0.248054 0.155944 +v -0.254929 0.249144 0.169808 +v -0.253839 0.250181 0.182808 +v -0.252070 0.251073 0.195045 +v -0.248957 0.251728 0.205667 +v -0.245750 0.252557 0.216842 +v -0.241660 0.253129 0.226681 +v -0.237111 0.253693 0.236319 +v -0.232058 0.254165 0.245326 +v -0.226113 0.254485 0.253481 +v -0.220257 0.254921 0.261971 +v -0.213686 0.255151 0.269493 +v -0.207267 0.255459 0.277364 +v -0.200354 0.255685 0.284668 +v -0.192933 0.255897 0.291477 +v -0.184913 0.255963 0.297687 +v -0.175641 0.255743 0.303100 +v -0.602848 0.659642 0.164636 +v -0.648295 0.870337 0.344088 +v -0.544963 0.715427 0.218252 +v -0.584514 0.551246 0.177959 +v -0.010448 0.431447 0.344461 +v 0.020729 0.574262 0.421923 +v 0.038205 0.667869 0.358633 +v -0.633621 1.126027 0.195595 +v -0.421972 1.022508 -0.173386 +v -0.598048 0.660019 0.174064 +v -0.002616 0.245319 0.285891 +v 0.003683 0.245666 0.293705 +v 0.009580 0.245986 0.301902 +v 0.014905 0.246415 0.310654 +v 0.020328 0.246884 0.319378 +v 0.026271 0.247198 0.327487 +v 0.031966 0.247678 0.336049 +v 0.037771 0.248138 0.344521 +v 0.043854 0.248474 0.352512 +v 0.049172 0.248908 0.361333 +v 0.054551 0.249359 0.370060 +v 0.060362 0.249659 0.378265 +v 0.066278 0.249970 0.386405 +v 0.072682 0.250313 0.394215 +v 0.079594 0.250502 0.401428 +v 0.086708 0.250718 0.408498 +v 0.093859 0.250951 0.415497 +v 0.101891 0.251107 0.421503 +v -0.592339 0.660291 0.182593 +v -0.586275 0.660595 0.190591 +v 0.137693 0.249942 0.428124 +v 0.146448 0.249926 0.433526 +v -0.580269 0.660911 0.198643 +v 0.048998 0.575019 0.450133 +v -0.517229 1.438077 -0.564624 +v -0.638186 0.897807 0.361537 +v -0.599720 0.844527 0.381693 +v -0.501690 0.933997 -0.164068 +v -0.593615 1.007378 0.384480 +v 0.064336 0.507182 0.479244 +v -0.578918 1.034897 0.383312 +v -0.601583 1.167927 0.218683 +v -0.517071 1.156497 0.317830 +v -0.573754 1.142077 0.290311 +v -0.566413 1.141917 0.297103 +v -0.559358 0.580273 0.222716 +v -0.667191 0.978477 0.122935 +v -0.501568 0.555862 0.292635 +v -0.574100 0.661203 0.206591 +v -0.622003 0.992378 0.342595 +v -0.567675 0.661426 0.214330 +v -0.459752 0.514856 0.308829 +v -0.507622 0.730117 0.251223 +v -0.560958 0.661711 0.221675 +v -0.540774 0.540852 0.247810 +v -0.586181 0.966827 0.406654 +v 0.004829 0.477230 0.412515 +v -0.588481 1.128057 0.291334 +v -0.554393 0.661900 0.229280 +v -0.521406 1.410347 -0.530423 +v -0.650450 0.897297 0.345377 +v -0.558326 0.539885 0.223158 +v -0.515952 0.582217 0.278120 +v -0.547636 0.580890 0.239281 +v -0.565748 0.579960 0.214909 +v -0.564344 1.008147 0.412001 +v -0.604652 0.632636 0.167396 +v -0.575818 0.634253 0.209209 +v -0.556377 0.635027 0.232093 +v -0.519672 0.635924 0.265961 +v -0.587754 0.620060 0.193194 +v -0.429180 0.542447 0.333874 +v 0.011575 0.600070 0.388100 +v -0.473155 0.473209 0.281085 +v -0.534297 0.608460 0.253189 +v -0.521183 1.410537 -0.517219 +v -0.547467 0.662132 0.236469 +v -0.282895 0.259736 0.112674 +v -0.275008 0.259847 0.118936 +v -0.267773 0.260528 0.125701 +v -0.260392 0.260594 0.133041 +v -0.259080 0.261671 0.146027 +v -0.258520 0.262393 0.159091 +v -0.257604 0.263348 0.172126 +v -0.255916 0.264201 0.184342 +v -0.253475 0.264949 0.195768 +v -0.250338 0.265795 0.206977 +v -0.246267 0.266309 0.216785 +v -0.241803 0.266871 0.226467 +v -0.237261 0.267454 0.236091 +v -0.232230 0.267901 0.245120 +v -0.226725 0.268361 0.253814 +v -0.220593 0.268688 0.261863 +v -0.214369 0.269027 0.269788 +v -0.207625 0.269236 0.277261 +v -0.201124 0.269562 0.284967 +v -0.193910 0.269787 0.291963 +v -0.185445 0.269714 0.297899 +v -0.176626 0.269648 0.303441 +v -0.540222 0.662263 0.243366 +v -0.562541 0.497930 0.200097 +v -0.268430 1.305457 -0.059734 +v -0.555900 1.008537 0.417896 +v -0.471291 0.875807 -0.168507 +v -0.564967 1.155558 0.281161 +v -0.603279 1.154537 0.234831 +v -0.620746 1.046318 0.311490 +v -0.486012 0.406218 0.212936 +v -0.533188 0.662498 0.250402 +v -0.003995 0.259631 0.286561 +v 0.003595 0.259642 0.293391 +v 0.008841 0.260074 0.302266 +v 0.014865 0.260387 0.310328 +v 0.020098 0.260830 0.319167 +v 0.025761 0.261296 0.327748 +v 0.031939 0.261608 0.335704 +v 0.037493 0.262069 0.344368 +v 0.043104 0.262516 0.352977 +v 0.048521 0.262969 0.361694 +v 0.054311 0.263298 0.369878 +v 0.059792 0.263745 0.378565 +v 0.065125 0.264203 0.387335 +v 0.071103 0.264528 0.395433 +v 0.077128 0.264836 0.403476 +v 0.083379 0.265183 0.411337 +v 0.091095 0.265222 0.417808 +v -0.525749 0.662783 0.257130 +v -0.518306 0.662864 0.263675 +v -0.510598 0.663089 0.270209 +v 0.133462 0.263758 0.432440 +v 0.140836 0.264287 0.438909 +v 0.149810 0.264520 0.443936 +v -0.502607 0.663175 0.276346 +v -0.494623 0.663280 0.282514 +v -0.516770 1.382498 -0.450049 +v -0.615357 0.844237 0.368854 +v -0.544914 0.769907 0.203731 +v -0.599561 1.007007 0.376340 +v -0.572126 0.579685 0.207103 +v -0.479250 1.181387 -0.383500 +v -0.559246 0.566785 0.223013 +v -0.486710 0.663396 0.288723 +v 0.022521 0.449498 0.423860 +v -0.601442 1.101177 0.304903 +v -0.452632 1.177317 -0.480654 +v -0.479047 0.663623 0.295220 +v -0.531672 1.089838 0.377138 +v -0.471657 0.663657 0.301852 +v -0.463231 0.663850 0.307615 +v -0.454061 0.664093 0.312810 +v -0.520983 1.396368 -0.488497 +v -0.513721 1.411277 -0.496664 +v 0.061802 0.588708 0.451103 +v -0.340563 0.563862 -0.283881 +v -0.535310 0.729207 0.222342 +v -0.441889 0.515103 0.319072 +v -0.509712 0.569105 0.286348 +v -0.494632 1.286187 -0.215186 +v 0.102861 0.693787 0.350132 +v -0.594349 0.686887 0.169523 +v -0.486356 0.582974 0.304904 +v -0.560522 0.512219 0.211849 +v -0.487907 0.473009 0.267577 +v -0.350490 0.563603 -0.281153 +v 0.358783 0.783397 -0.284694 +v -0.043815 1.363947 -0.256014 +v -0.413594 1.262287 -0.633371 +v -0.393724 1.305617 -0.671126 +v 0.038821 0.740587 -0.314609 +v -0.174008 1.303307 -0.184023 +v 0.018786 0.740577 -0.314670 +v -0.070875 0.653999 -0.320301 +v -0.423019 0.788647 0.320077 +v -0.266957 0.035191 0.367312 +v 0.096155 1.364777 -0.296754 +v -0.315063 0.279174 0.129815 +v -0.305340 0.279334 0.134137 +v -0.292282 0.275954 0.135591 +v -0.285211 0.276172 0.142712 +v -0.277295 0.276278 0.148981 +v -0.269440 0.276391 0.155238 +v -0.263841 0.277546 0.164526 +v -0.262051 0.277803 0.176117 +v -0.258686 0.278359 0.186681 +v -0.255855 0.279137 0.197988 +v -0.251782 0.279576 0.207815 +v -0.247523 0.280125 0.217559 +v -0.243076 0.280690 0.227235 +v -0.238281 0.281313 0.236722 +v -0.233154 0.281748 0.245666 +v -0.227162 0.282070 0.253789 +v -0.221029 0.282423 0.261823 +v -0.214760 0.282762 0.269766 +v -0.208348 0.283108 0.277554 +v -0.201579 0.283297 0.284991 +v -0.194347 0.283531 0.291974 +v -0.186079 0.283447 0.298186 +v -0.177671 0.283588 0.303948 +v -0.168870 0.283475 0.309461 +v -0.445683 0.663931 0.318147 +v -0.629080 1.126238 0.205163 +v -0.633238 0.857227 0.357875 +v 0.023788 0.419922 0.395526 +v -0.557772 1.155587 0.288139 +v -0.462328 0.528687 0.310863 +v -0.632731 1.152937 0.179876 +v -0.616582 1.046737 0.321237 +v -0.506426 0.689797 0.265208 +v 0.019559 0.419522 0.385785 +v 0.002196 0.273908 0.294337 +v 0.008064 0.274162 0.302697 +v 0.013839 0.274477 0.310943 +v 0.019437 0.274920 0.319564 +v 0.025415 0.275240 0.327633 +v 0.031363 0.275561 0.335710 +v 0.036991 0.276011 0.344328 +v 0.042420 0.276441 0.353058 +v 0.047861 0.276897 0.361792 +v 0.053448 0.277353 0.370427 +v 0.059458 0.277682 0.378465 +v 0.065021 0.278134 0.387074 +v 0.070523 0.278417 0.395478 +v 0.075927 0.278868 0.404209 +v 0.081894 0.279141 0.412367 +v 0.088479 0.279537 0.419935 +v -0.542693 0.621948 0.247023 +v -0.502866 1.299647 -0.263552 +v 0.010269 0.433249 0.380310 +v 0.127491 0.278651 0.437824 +v 0.134843 0.279162 0.444323 +v -0.503999 1.285477 -0.247468 +v -0.010973 0.654871 -0.329386 +v -0.587909 0.565116 0.180996 +v -0.649884 0.910767 0.344374 +v -0.562762 0.634764 0.224346 +v -0.622469 0.843987 0.361776 +v -0.179640 1.378478 -0.094204 +v -0.509525 0.582490 0.285782 +v -0.420072 0.582833 0.337577 +v -0.421434 0.569510 0.339344 +v -0.060830 0.654065 -0.321403 +v -0.460467 0.560667 -0.246605 +v -0.606965 1.100978 0.296261 +v -0.502709 1.355077 -0.364311 +v -0.194058 1.364527 -0.079482 +v -0.555204 1.075717 0.372637 +v -0.539611 0.527394 0.247082 +v -0.612084 1.019837 0.346020 +v -0.589694 0.898907 0.398943 +v -0.516777 1.396607 -0.478744 +v -0.446739 0.690707 0.304703 +v -0.507579 1.411607 -0.488605 +v -0.608543 0.844607 0.375700 +v -0.548295 0.608070 0.238965 +v -0.506960 1.271367 -0.243743 +v 0.048830 0.740377 -0.314096 +v -0.588753 1.194867 0.190946 +v -0.529067 0.568276 0.263424 +v -0.495787 1.299877 -0.242424 +v -0.488113 0.703667 0.274930 +v -0.562136 0.953697 0.425580 +v 0.134914 0.692957 0.347607 +v -0.570812 0.566130 0.206328 +v 0.052270 0.450051 0.450865 +v -0.253131 1.183457 -0.120999 +v -0.491675 0.765997 0.286950 +v -0.489561 0.393927 0.187753 +v -0.551626 0.932757 -0.137683 +v -0.391389 0.847697 -0.185599 +v -0.000956 0.669161 -0.329250 +v -0.480837 0.831127 -0.150274 +v 0.028861 0.740237 -0.316255 +v -0.030842 0.654418 -0.325186 +v -0.401947 0.964257 -0.179044 +v -0.372159 0.964147 -0.175311 +v -0.202968 0.379107 0.314415 +v -0.104297 1.348737 -0.225060 +v -0.472101 1.036747 -0.160449 +v -0.263057 1.183468 -0.118139 +v -0.497035 1.258048 -0.183572 +v -0.300779 0.295484 0.171478 +v -0.287569 0.292541 0.172702 +v -0.281352 0.292880 0.180674 +v -0.271603 0.292018 0.184794 +v -0.265271 0.292489 0.192666 +v -0.259577 0.293260 0.201219 +v -0.254600 0.293557 0.210225 +v -0.250089 0.294152 0.219849 +v -0.244950 0.294531 0.228762 +v -0.240184 0.295253 0.238233 +v -0.234364 0.295527 0.246449 +v -0.228053 0.295906 0.254337 +v -0.221827 0.296261 0.262288 +v -0.215520 0.296629 0.270169 +v -0.208881 0.296804 0.277683 +v -0.202360 0.297187 0.285348 +v -0.194826 0.297251 0.292064 +v -0.187424 0.297496 0.298848 +v -0.178954 0.297413 0.304785 +v -0.170624 0.297562 0.310568 +v -0.574533 0.607107 0.208785 +v -0.517334 0.514312 0.267350 +v -0.444574 0.528868 0.321282 +v 0.028688 0.420142 0.404517 +v -0.572766 1.155307 0.274852 +v -0.471067 0.528642 0.305444 +v -0.601978 1.020367 0.364235 +v -0.637442 1.152878 0.170425 +v -0.588423 1.048037 0.364033 +v -0.591155 1.167907 0.236538 +v -0.441188 0.316475 0.106707 +v 0.006827 0.288246 0.303443 +v 0.012571 0.288514 0.311724 +v 0.018234 0.288974 0.320280 +v 0.024422 0.289305 0.328229 +v 0.030638 0.289633 0.336133 +v 0.036308 0.290100 0.344725 +v 0.041991 0.290383 0.352974 +v 0.047290 0.290998 0.362132 +v 0.052847 0.291273 0.370448 +v 0.058789 0.291590 0.378521 +v 0.064226 0.292018 0.387262 +v 0.069209 0.292640 0.396555 +v 0.074801 0.292880 0.404883 +v 0.080435 0.293363 0.413427 +v 0.086864 0.293763 0.421116 +v 0.094336 0.293774 0.427779 +v 0.102134 0.293827 0.434205 +v 0.016257 0.560713 0.426872 +v 0.122064 0.293387 0.442763 +v 0.130240 0.293667 0.448498 +v -0.551431 0.918027 -0.136026 +v -0.495168 1.473377 -0.598311 +v -0.509203 0.899677 0.431255 +v -0.585052 1.168187 0.244485 +v -0.292378 0.963437 -0.150256 +v -0.542570 0.635474 0.246477 +v -0.629305 0.843917 0.354474 +v -0.635192 0.843877 0.346364 +v -0.500428 0.899887 0.436610 +v -0.598408 0.980107 0.389941 +v -0.453602 1.179747 -0.492387 +v -0.580798 0.925597 0.402883 +v -0.509905 1.299057 -0.298961 +v -0.563923 1.168658 0.265630 +v -0.186859 1.364428 -0.072572 +v -0.524348 1.367897 -0.455903 +v 0.146399 0.706467 0.348880 +v -0.572104 0.525000 0.194895 +v 0.038523 0.534610 0.461786 +v -0.512336 1.396917 -0.468959 +v -0.553860 0.594216 0.230951 +v -0.540353 0.742407 0.212932 +v -0.473752 0.542370 0.307709 +v -0.485950 0.730727 0.271952 +v -0.520896 0.858887 0.415623 +v -0.583380 0.994218 0.403034 +v 0.033381 0.420734 0.414030 +v -0.595330 1.193987 0.183569 +v -0.251608 0.174981 0.264435 +v 0.024678 0.600660 0.403204 +v -0.614091 0.925247 0.379360 +v -0.621934 0.925097 0.372982 +v -0.402739 0.501229 0.337104 +v -0.522304 0.581943 0.270348 +v -0.528592 0.581670 0.262508 +v -0.143308 1.258677 -0.192428 +v -0.481317 0.717287 -0.198036 +v -0.542302 1.035347 -0.122098 +v -0.124160 1.348587 -0.213384 +v -0.034092 1.423298 -0.254810 +v -0.432096 1.037177 -0.171668 +v -0.283422 1.227797 -0.109830 +v -0.352845 1.348997 -0.695658 +v -0.510160 0.815637 -0.129352 +v -0.401813 0.949577 -0.177868 +v -0.401599 0.819407 -0.197358 +v 0.308856 0.754857 -0.292510 +v 0.006046 1.379018 -0.276494 +v -0.123967 1.303717 -0.213495 +v -0.331513 0.779007 -0.253316 +v -0.152704 1.214947 -0.165670 +v -0.300712 0.594466 -0.306870 +v 0.308766 0.769137 -0.291197 +v -0.552660 0.540144 0.231393 +v -0.461526 0.610400 0.321652 +v -0.592399 1.034458 0.368318 +v -0.528596 0.729377 0.229802 +v -0.263026 0.307481 0.218161 +v 0.038547 0.627424 0.388546 +v -0.249409 0.308654 0.232878 +v -0.243821 0.309304 0.241504 +v 0.044416 0.627037 0.396928 +v -0.230132 0.309680 0.256056 +v -0.223301 0.309894 0.263374 +v -0.216836 0.310358 0.271108 +v -0.210365 0.310797 0.278769 +v -0.203007 0.310813 0.285625 +v -0.195808 0.311093 0.292621 +v -0.188419 0.311345 0.299431 +v -0.180537 0.311460 0.305777 +v -0.172464 0.311585 0.311887 +v -0.633869 0.978397 0.326324 +v -0.579857 0.593159 0.200387 +v -0.510124 0.514624 0.274246 +v -0.533670 0.742687 0.220304 +v 0.052365 0.421356 0.437438 +v -0.580360 1.154857 0.268392 +v -0.004027 0.518642 0.405783 +v -0.619572 0.857857 0.372631 +v -0.641913 1.152617 0.160789 +v -0.607902 0.885147 0.388698 +v -0.256616 1.306417 -0.043835 +v 0.005952 0.302355 0.303924 +v 0.011771 0.302614 0.312182 +v 0.017273 0.303052 0.320857 +v 0.023309 0.303357 0.328893 +v 0.029749 0.303726 0.336681 +v 0.035804 0.304032 0.344681 +v 0.041228 0.304478 0.353442 +v 0.046636 0.304949 0.362184 +v 0.051911 0.305359 0.370996 +v 0.057277 0.305798 0.379782 +v 0.062667 0.306233 0.388511 +v 0.067976 0.306678 0.397302 +v 0.073204 0.307097 0.406134 +v 0.079549 0.307155 0.413783 +v 0.086217 0.307580 0.421337 +v 0.093268 0.307800 0.428438 +v 0.100754 0.307768 0.435307 +v -0.006734 0.490171 0.395034 +v -0.040880 0.654295 -0.322880 +v 0.128122 0.307730 0.450376 +v 0.136478 0.307947 0.455662 +v -0.361941 0.934857 -0.176544 +v -0.510841 0.830557 -0.136817 +v -0.381081 0.635185 -0.270610 +v -0.587440 1.088257 0.333727 +v -0.361357 0.876497 -0.181195 +v -0.431910 1.022438 -0.172144 +v -0.604073 0.952538 0.382463 +v -0.610933 0.952338 0.375180 +v -0.406447 0.515002 0.340484 +v -0.606911 1.020167 0.354878 +v -0.625305 1.180027 0.157379 +v -0.490004 0.690087 0.277039 +v -0.543713 0.981517 0.435013 +v -0.540947 1.089377 0.372125 +v -0.521787 1.368047 -0.444402 +v -0.583524 1.021248 0.388241 +v -0.589009 0.536426 0.154706 +v -0.567534 0.525481 0.204462 +v -0.534378 0.858207 0.401353 +v -0.597787 1.154677 0.243465 +v -0.524341 0.514109 0.260274 +v -0.567553 1.181997 0.240678 +v -0.293850 0.164287 0.293956 +v 0.012879 0.533538 0.430958 +v -0.504298 0.859257 0.427344 +v -0.532618 0.702457 0.234558 +v 0.090875 0.615458 0.449504 +v -0.596218 1.168208 0.227381 +v 0.064424 0.615566 0.433639 +v 0.007869 0.533084 0.421989 +v -0.557079 0.526216 0.222081 +v -0.599352 0.632985 0.176186 +v -0.402594 0.582948 0.348429 +v -0.494812 0.582892 0.299202 +v -0.025711 0.473753 0.344255 +v -0.481181 0.904927 -0.166710 +v -0.381349 0.720997 -0.255413 +v -0.490818 0.830917 -0.144909 +v -0.281332 0.794067 -0.264393 +v 0.278798 0.769087 -0.293377 +v -0.163776 1.288407 -0.190313 +v 0.134983 1.438517 -0.365124 +v 0.358860 0.769047 -0.286039 +v -0.620387 0.824827 0.174595 +v -0.322534 0.963677 -0.161306 +v 0.114882 1.497727 -0.361083 +v -0.263557 1.242727 -0.123432 +v -0.073214 1.274577 -0.217243 +v 0.328818 0.769207 -0.291105 +v 0.015871 1.393887 -0.284328 +v -0.013374 1.289787 -0.230247 +v 0.318829 0.769207 -0.291304 +v -0.290754 0.594726 -0.309800 +v -0.351446 0.722067 -0.269922 +v 0.388849 0.768787 -0.279488 +v -0.311462 0.039644 0.371169 +v 0.027031 0.654168 0.356845 +v 0.038356 0.653962 0.359539 +v -0.502086 1.244007 -0.191992 +v 0.051040 0.653990 0.360234 +v 0.062592 0.653653 0.363810 +v 0.070028 0.653231 0.370749 +v 0.074647 0.653207 0.379991 +v 0.050430 0.627551 0.404977 +v 0.057271 0.628040 0.412214 +v -0.219467 0.324317 0.273425 +v -0.212481 0.324592 0.280542 +v -0.204673 0.324709 0.286932 +v -0.197416 0.325026 0.293838 +v -0.189609 0.325150 0.300219 +v -0.181705 0.325264 0.306616 +v -0.173552 0.325440 0.312589 +v 0.080898 0.653438 0.388063 +v -0.550514 1.049047 0.397119 +v -0.571097 0.858217 -0.108896 +v -0.299860 1.276687 -0.041434 +v 0.045136 0.421039 0.430461 +v -0.586655 1.154737 0.260586 +v -0.527796 0.858747 0.408385 +v -0.505959 1.313037 -0.303016 +v -0.491407 1.300067 -0.232811 +v -0.497366 1.230877 -0.140417 +v 0.088650 0.653750 0.394316 +v 0.004641 0.316361 0.304737 +v 0.010487 0.316625 0.312966 +v 0.016076 0.317108 0.321578 +v 0.021769 0.317625 0.330141 +v 0.027865 0.317932 0.338145 +v 0.033320 0.318401 0.346871 +v 0.039010 0.318918 0.355437 +v 0.044343 0.319346 0.364223 +v 0.049592 0.319778 0.373082 +v 0.054716 0.320145 0.381983 +v 0.059737 0.320493 0.390935 +v 0.065317 0.320994 0.399539 +v 0.071046 0.321167 0.407785 +v 0.076988 0.321417 0.415927 +v 0.084035 0.321632 0.423075 +v 0.091366 0.321941 0.429902 +v 0.098969 0.321959 0.436571 +v 0.095813 0.653563 0.401229 +v -0.553252 0.741947 0.197459 +v 0.069863 0.680292 0.353307 +v 0.137184 0.321744 0.454313 +v 0.089709 0.680090 0.349538 +v -0.486441 0.596516 0.304586 +v -0.616822 1.019608 0.336567 +v -0.629455 0.924817 0.366291 +v -0.283578 1.242577 -0.107165 +v 0.036120 0.601369 0.419903 +v -0.473837 0.690657 0.288319 +v -0.618025 0.952207 0.368187 +v -0.505841 0.872557 0.428759 +v -0.637633 0.911177 0.360704 +v -0.513095 0.744317 0.244077 +v -0.437800 0.690597 0.309696 +v -0.576681 1.061928 0.366156 +v -0.565739 0.898937 0.402921 +v -0.548827 1.089208 0.365879 +v -0.553406 0.567123 0.231430 +v -0.604561 0.619064 0.167678 +v -0.508746 1.340757 -0.357780 +v 0.102198 0.679713 0.351298 +v -0.218009 1.321887 -0.040155 +v -0.622668 1.166818 0.183419 +v -0.563268 0.484899 0.186059 +v -0.567494 0.994588 0.415556 +v -0.400927 0.596446 0.345594 +v 0.002672 0.532682 0.413163 +v -0.493488 0.514807 0.285853 +v 0.015124 0.418581 0.375696 +v -0.544952 0.755687 0.202829 +v -0.619782 1.073518 0.295329 +v -0.451317 0.677225 0.309380 +v 0.081248 0.615535 0.445021 +v 0.072422 0.615518 0.439716 +v -0.262871 1.306458 -0.051611 +v 0.009103 0.546784 0.420251 +v 0.014476 0.547159 0.428991 +v -0.468323 0.514899 0.303160 +v -0.495622 1.271918 -0.199524 +v -0.294294 1.277467 -0.033510 +v -0.340680 0.592573 -0.281439 +v -0.381475 0.890957 -0.177847 +v -0.193202 1.213537 -0.153168 +v -0.461807 0.358736 0.153768 +v 0.339087 0.769527 -0.289967 +v 0.348860 0.769147 -0.288534 +v -0.411409 0.719887 -0.236485 +v 0.368822 0.768937 -0.284554 +v -0.405231 1.478487 -0.684805 +v -0.431333 0.719167 -0.226227 +v -0.342516 1.007738 -0.164177 +v -0.508843 0.803777 0.377663 +v -0.461775 0.978437 -0.173845 +v -0.210631 0.594814 -0.306562 +v -0.220559 0.594768 -0.306523 +v -0.270608 0.594913 -0.311419 +v -0.260516 0.594948 -0.311360 +v -0.280697 0.594861 -0.311240 +v -0.465311 0.364372 0.165789 +v 0.398766 0.768597 -0.276684 +v -0.380716 0.577628 -0.276514 +v -0.615815 0.884957 0.382329 +v -0.330499 0.564387 -0.291200 +v -0.549646 0.688597 0.223717 +v -0.461143 1.180007 -0.469205 +v -0.361604 0.905577 -0.177452 +v -0.554375 0.967597 0.431565 +v -0.623270 1.033247 0.313293 +v -0.569808 0.980937 0.418281 +v -0.585780 1.074798 0.346571 +v 0.064281 0.628270 0.419295 +v -0.216894 0.338730 0.284661 +v -0.208129 0.338806 0.290027 +v -0.200019 0.339070 0.296041 +v -0.191515 0.338996 0.301818 +v -0.182851 0.339018 0.307475 +v -0.174068 0.339062 0.313077 +v -0.190778 0.652643 -0.308321 +v -0.592180 0.980368 0.397980 +v 0.008854 0.726257 -0.320551 +v -0.624754 1.126487 0.214795 +v -0.611641 1.046888 0.330584 +v -0.608023 1.154437 0.225378 +v -0.477734 0.487084 0.285197 +v -0.503443 1.313247 -0.291484 +v -0.515237 0.542026 0.278511 +v 0.072020 0.628650 0.425663 +v -0.570957 1.075338 0.360081 +v 0.003105 0.330656 0.305853 +v 0.008418 0.331073 0.314795 +v 0.013596 0.331472 0.323712 +v 0.019491 0.331717 0.331856 +v 0.024977 0.332182 0.340539 +v 0.030308 0.332620 0.349342 +v 0.035635 0.333052 0.358111 +v 0.040557 0.333338 0.367127 +v 0.045624 0.334062 0.376439 +v 0.050842 0.334457 0.385280 +v 0.056187 0.334885 0.394055 +v 0.061499 0.335319 0.402835 +v 0.066801 0.335716 0.411628 +v 0.072638 0.335891 0.419850 +v 0.079729 0.336118 0.426982 +v 0.087720 0.336282 0.433073 +v 0.095791 0.336470 0.439051 +v -0.547283 1.075857 0.378873 +v -0.583444 0.713987 0.171954 +v 0.003251 0.573205 0.397123 +v 0.139281 0.335244 0.452268 +v -0.587229 0.606490 0.193174 +v -0.614512 0.618252 0.149343 +v -0.380459 0.563286 -0.278352 +v -0.416273 0.372204 0.239350 +v -0.529586 0.485871 0.238172 +v -0.168742 1.392507 -0.119376 +v 0.178645 0.769747 -0.312279 +v -0.499530 1.299937 -0.252897 +v -0.614503 0.871657 0.381519 +v 0.009502 0.448214 0.394772 +v -0.619153 1.032947 0.324418 +v -0.659456 0.883257 0.326382 +v 0.000621 0.599588 0.370678 +v -0.553154 0.981327 0.430061 +v -0.564605 1.088838 0.353335 +v -0.542197 0.470721 0.208851 +v -0.502735 1.271707 -0.220321 +v 0.018007 0.449010 0.414249 +v 0.055414 1.468037 -0.309781 +v 0.208725 0.770027 -0.314987 +v -0.610887 1.114218 0.271503 +v 0.013545 0.448536 0.404600 +v -0.217812 1.349667 -0.083600 +v -0.486174 0.569555 0.305089 +v -0.450470 0.569675 0.325947 +v -0.547310 0.470483 0.199959 +v -0.024061 0.444749 0.329433 +v -0.515741 1.439757 -0.551210 +v -0.504788 1.271628 -0.232385 +v -0.440332 0.561364 -0.255175 +v -0.511652 1.368817 -0.412394 +v 0.012481 0.613318 0.372492 +v 0.023433 0.613789 0.389961 +v -0.521432 0.595405 0.269104 +v 0.003666 0.546439 0.411523 +v 0.055284 0.520985 0.473803 +v 0.022363 0.520616 0.450080 +v 0.016367 0.520249 0.442120 +v -0.535285 1.142977 0.322458 +v -0.626972 0.992227 0.333233 +v -0.310764 0.594080 -0.301822 +v -0.320728 0.593583 -0.295335 +v -0.350522 0.592387 -0.279774 +v -0.360626 0.592291 -0.278960 +v -0.370674 0.592178 -0.277776 +v -0.380500 0.591976 -0.275843 +v -0.390471 0.591577 -0.270677 +v -0.250485 0.594899 -0.310026 +v -0.240410 0.594759 -0.308147 +v -0.230522 0.594698 -0.306372 +v -0.190616 0.595017 -0.308422 +v -0.180595 0.595233 -0.310749 +v -0.200693 0.594867 -0.306677 +v -0.598237 0.819687 0.362483 +v -0.332971 1.036747 -0.156050 +v -0.253334 1.228037 -0.130035 +v -0.301225 0.779487 -0.265354 +v -0.403963 0.406812 0.282276 +v -0.361426 0.721747 -0.265891 +v -0.381608 0.905717 -0.178380 +v -0.400529 0.576874 -0.267033 +v 0.079867 0.628829 0.431925 +v -0.558704 0.715117 0.203704 +v -0.465365 0.473264 0.287423 +v -0.493566 0.556030 0.298688 +v 0.010113 0.047458 0.450622 +v -0.562952 0.967408 0.425912 +v -0.324692 1.248708 -0.052645 +v -0.613909 1.127447 0.245900 +v 0.459368 0.641839 -0.319878 +v 0.089380 0.578183 -0.462983 +v 0.238942 0.726947 -0.315994 +v -0.213779 0.353944 0.297060 +v -0.205255 0.353390 0.300827 +v -0.195139 0.352973 0.305219 +v -0.053594 0.048770 0.418764 +v -0.176385 0.353222 0.314580 +v 0.089333 0.629092 0.436722 +v -0.504804 0.528490 0.282607 +v -0.589502 0.551048 0.169021 +v -0.564408 0.872057 0.402541 +v -0.609747 1.127508 0.256057 +v -0.606525 1.047307 0.339481 +v -0.612522 1.154138 0.215866 +v -0.618190 0.604140 0.139190 +v -0.499998 1.313417 -0.280870 +v -0.562563 0.621203 0.224564 +v -0.133754 1.303717 -0.209259 +v -0.609745 1.006497 0.358185 +v 0.006005 0.345127 0.316635 +v 0.010791 0.345722 0.326109 +v 0.015938 0.346093 0.334984 +v 0.021018 0.346439 0.343910 +v 0.025996 0.347140 0.353249 +v 0.031306 0.347539 0.362069 +v 0.036461 0.347924 0.370937 +v 0.041762 0.348340 0.379745 +v 0.046836 0.348652 0.388680 +v 0.051848 0.349398 0.397991 +v 0.056907 0.349710 0.406908 +v 0.062092 0.350057 0.415811 +v 0.067963 0.350226 0.424039 +v 0.074609 0.350765 0.431549 +v 0.083342 0.350778 0.436955 +v 0.092048 0.350780 0.442390 +v 0.100857 0.350802 0.447640 +v -0.480857 1.272617 -0.172243 +v -0.609621 0.965958 0.373351 +v -0.660356 0.896757 0.326918 +v 0.149663 0.349079 0.455154 +v -0.261313 0.780177 -0.273341 +v -0.513011 0.859097 0.421891 +v -0.411801 0.949607 -0.178498 +v -0.019812 0.047920 0.443628 +v -0.562765 0.728347 0.193239 +v -0.562475 0.858768 0.400238 +v -0.575092 0.858817 0.398658 +v -0.511576 0.636023 0.272008 +v -0.390562 0.548678 -0.276201 +v -0.539636 0.844167 0.392153 +v -0.655458 0.883587 0.336696 +v -0.497528 1.327507 -0.298009 +v -0.599288 0.885298 0.394587 +v -0.556852 1.089177 0.359750 +v 0.097638 0.628467 0.442270 +v -0.009890 0.558892 0.382367 +v 0.010748 0.506119 0.433909 +v 0.019017 0.434176 0.399669 +v -0.565759 0.741427 0.181651 +v -0.476366 1.180807 -0.400430 +v -0.456308 1.193027 -0.502345 +v -0.495720 1.231287 -0.128220 +v 0.054305 0.464915 0.462308 +v -0.598924 0.549929 0.149976 +v 0.095449 1.438597 -0.335280 +v -0.498635 1.355448 -0.354483 +v -0.461333 0.623848 0.320836 +v -0.502019 0.716777 0.260104 +v -0.641398 0.951267 0.334777 +v -0.636400 0.924567 0.359041 +v -0.541494 0.594752 0.246801 +v -0.599096 1.034018 0.360915 +v -0.499213 1.230647 -0.152607 +v -0.001835 0.546114 0.402821 +v -0.438878 0.556003 0.328903 +v 0.045927 0.520986 0.468861 +v -0.402082 1.007877 -0.174268 +v -0.558316 1.115867 0.332178 +v -0.579191 0.551874 0.187159 +v -0.497992 0.500752 0.276744 +v -0.485470 0.777657 0.332546 +v -0.382456 1.051847 -0.168290 +v -0.311078 0.722307 -0.275573 +v -0.301188 0.722487 -0.275960 +v -0.291277 0.722757 -0.278684 +v -0.271373 0.723337 -0.285162 +v -0.261257 0.723447 -0.287524 +v 0.309374 0.604710 -0.414904 +v -0.281372 0.723037 -0.281401 +v -0.512313 1.080077 -0.142146 +v -0.511174 0.889617 -0.155806 +v -0.043982 1.408387 -0.252154 +v 0.378851 0.768877 -0.282121 +v 0.418672 0.768237 -0.270115 +v -0.471820 0.978347 -0.171545 +v 0.015423 0.033231 0.429934 +v -0.282633 1.124288 -0.102926 +v -0.402194 1.022497 -0.172968 +v -0.431311 0.876267 -0.175827 +v -0.471173 0.760147 -0.186448 +v -0.460326 0.575110 -0.246200 +v -0.637390 1.166407 0.155675 +v -0.509437 1.425837 -0.515498 +v -0.019708 0.430842 0.325346 +v -0.577650 0.980718 0.411918 +v -0.570523 0.967218 0.419466 +v -0.578545 0.967048 0.413297 +v 0.022405 0.561010 0.434799 +v -0.015171 0.489331 0.375561 +v 0.057632 0.575186 0.455730 +v -0.514817 0.595665 0.276557 +v -0.597720 0.592223 0.175883 +v 0.348941 0.726337 -0.298121 +v 0.368975 0.726067 -0.291932 +v -0.401341 0.790837 -0.210933 +v 0.029455 0.561188 0.441829 +v -0.555101 0.512619 0.220571 +v -0.488682 1.355417 -0.336041 +v -0.160637 0.595728 -0.317153 +v -0.573170 0.593341 0.207720 +v -0.592199 1.074687 0.338809 +v -0.487122 0.717147 0.273392 +v -0.601266 1.047277 0.348647 +v -0.617224 1.153958 0.206395 +v -0.516464 0.568865 0.279021 +v -0.479756 1.299827 -0.216428 +v -0.556072 0.621496 0.232241 +v -0.566744 1.115417 0.326442 +v -0.461850 0.487381 0.297526 +v 0.107099 0.628568 0.446901 +v 0.007598 0.359864 0.328660 +v 0.012942 0.360282 0.337416 +v 0.017591 0.360832 0.346968 +v 0.022483 0.361498 0.356373 +v 0.027807 0.361908 0.365169 +v 0.033035 0.362311 0.374013 +v 0.037823 0.362963 0.383480 +v 0.042765 0.363236 0.392454 +v 0.047963 0.363613 0.401312 +v 0.053185 0.363978 0.410153 +v 0.058114 0.364666 0.419448 +v 0.063946 0.364852 0.427643 +v 0.070945 0.365045 0.434773 +v 0.079422 0.364932 0.440531 +v 0.087814 0.365327 0.445959 +v -0.610421 1.074048 0.314397 +v 0.034839 0.450061 0.439844 +v -0.011524 0.475104 0.372379 +v 0.029522 0.493190 0.457917 +v -0.520418 0.528244 0.270031 +v 0.040055 0.435599 0.435090 +v 0.080085 0.588728 0.461111 +v -0.253515 1.242797 -0.130136 +v -0.310456 0.565288 -0.302595 +v -0.565445 0.714787 0.196395 +v -0.585596 0.858507 0.395503 +v -0.582681 0.687477 0.186134 +v -0.587162 1.007527 0.392229 +v -0.604805 1.181007 0.193294 +v -0.615556 1.073667 0.305525 +v -0.612879 0.590842 0.148281 +v -0.470609 0.603476 -0.237794 +v -0.574720 0.727637 0.177045 +v -0.599241 1.180978 0.201939 +v -0.502840 1.230018 -0.190792 +v -0.501856 1.230198 -0.177787 +v 0.033229 0.435500 0.427795 +v -0.063531 1.304247 -0.233128 +v -0.500081 1.244107 -0.179860 +v 0.027928 0.435127 0.418964 +v -0.496850 0.528657 0.288696 +v -0.561745 0.981098 0.424387 +v -0.574738 1.181937 0.233699 +v -0.626725 0.857597 0.365581 +v -0.000098 0.432582 0.362583 +v -0.585669 0.953137 0.406547 +v -0.486848 1.327897 -0.278664 +v -0.021822 0.530582 0.366921 +v -0.400499 0.562602 -0.269562 +v -0.533055 0.898767 0.412954 +v -0.593929 0.633339 0.184902 +v -0.609409 0.604990 0.158547 +v -0.391622 0.833847 -0.193718 +v -0.006999 0.545688 0.393960 +v 0.115738 1.364347 -0.305086 +v -0.282559 0.963168 -0.145794 +v -0.465420 0.501227 0.300642 +v -0.473519 0.500992 0.294690 +v -0.481558 0.500796 0.288625 +v -0.489942 0.500976 0.282789 +v -0.546345 0.499171 0.226269 +v -0.631188 0.804127 0.079890 +v -0.325994 0.333330 0.239461 +v -0.471114 0.846337 -0.160726 +v -0.542066 1.020657 -0.125837 +v -0.522040 1.021187 -0.140685 +v -0.530848 0.844867 -0.131435 +v -0.341618 0.863127 -0.196151 +v -0.191133 0.724267 -0.297756 +v 0.056163 1.364507 -0.282793 +v 0.408906 0.768557 -0.273286 +v -0.203052 1.213678 -0.150115 +v 0.036342 1.334617 -0.261142 +v -0.173100 1.213827 -0.159424 +v -0.371464 0.890927 -0.177024 +v -0.430402 0.575970 -0.256579 +v -0.410578 0.576492 -0.262010 +v -0.420368 0.576100 -0.257808 +v -0.440535 0.575704 -0.253128 +v -0.450317 0.575390 -0.250038 +v -0.480275 0.574392 -0.237242 +v -0.470469 0.574723 -0.241384 +v -0.223172 1.228337 -0.148721 +v -0.564710 0.885417 0.402689 +v -0.549722 0.885347 0.401268 +v -0.538734 0.885357 0.404799 +v -0.531069 0.885487 0.411143 +v -0.525569 0.702677 0.241648 +v -0.518488 0.702867 0.248692 +v -0.430102 0.556026 0.334345 +v -0.626000 1.019058 0.317513 +v -0.601844 0.699547 0.148364 +v -0.611171 0.672354 0.144311 +v -0.384331 1.334617 -0.685039 +v -0.520257 0.775547 0.308549 +v -0.491574 0.934187 -0.167591 +v -0.606477 0.672715 0.153837 +v 0.056720 0.534685 0.472013 +v -0.341656 0.905677 -0.177430 +v -0.161216 0.766577 -0.283328 +v -0.614572 1.033217 0.333924 +v -0.629345 1.018827 0.306482 +v -0.581949 0.633958 0.201267 +v -0.581905 1.048138 0.371735 +v -0.637543 0.978027 0.315927 +v -0.522744 0.568566 0.271200 +v -0.596976 0.699827 0.157824 +v -0.012791 0.531518 0.386138 +v -0.541627 0.608335 0.246475 +v -0.601353 0.673110 0.162725 +v -0.596164 0.673512 0.171607 +v 0.004854 0.374114 0.330978 +v 0.009390 0.374622 0.340572 +v 0.014160 0.375236 0.350042 +v 0.019426 0.375638 0.358842 +v 0.024789 0.376067 0.367631 +v 0.029379 0.376572 0.377189 +v 0.034442 0.376954 0.386117 +v 0.038976 0.377487 0.395726 +v 0.044334 0.377896 0.404490 +v 0.049710 0.378334 0.413223 +v 0.055072 0.378756 0.421969 +v 0.060902 0.378955 0.430249 +v 0.067983 0.379183 0.437304 +v 0.076188 0.379422 0.443139 +v 0.085489 0.379194 0.448144 +v -0.590546 0.673791 0.180205 +v -0.462309 1.080768 -0.159353 +v -0.538716 1.076207 0.384550 +v -0.320431 0.564887 -0.297383 +v -0.542204 0.728947 0.215105 +v -0.549258 0.728737 0.208017 +v -0.480412 0.559909 -0.237426 +v -0.561642 0.947377 -0.136229 +v -0.614418 0.631828 0.148992 +v -0.016617 0.474751 0.363499 +v -0.595217 0.858297 0.390953 +v -0.480493 0.472823 0.274352 +v -0.591794 0.700237 0.166653 +v -0.352246 0.963977 -0.170425 +v -0.527164 0.608662 0.260188 +v -0.540146 0.702167 0.227962 +v -0.467539 0.556195 0.315016 +v 0.085094 0.602090 0.455658 +v -0.639294 0.857087 0.349781 +v -0.498032 1.285927 -0.225658 +v -0.569561 0.552597 0.205627 +v -0.584735 0.674015 0.188673 +v -0.586345 0.700517 0.175360 +v -0.580360 0.700897 0.183398 +v -0.497482 1.244317 -0.168512 +v -0.611348 0.992938 0.360109 +v -0.460205 0.569696 0.321642 +v -0.583190 1.194767 0.199555 +v -0.454434 1.207227 -0.507127 +v -0.551353 1.022248 0.413062 +v -0.559886 1.021898 0.407251 +v -0.520230 0.608884 0.267419 +v -0.315337 1.261867 -0.053277 +v -0.574198 0.701157 0.191342 +v -0.451985 0.623893 0.325618 +v -0.576805 0.687647 0.194480 +v -0.576086 0.740657 0.163877 +v -0.022130 0.516767 0.367366 +v -0.620549 1.126857 0.224447 +v -0.447288 0.542565 0.323486 +v -0.322674 1.022157 -0.154316 +v 0.030986 0.534562 0.455258 +v -0.430274 0.501514 0.321936 +v -0.498816 0.690027 0.271767 +v -0.485044 0.623432 0.302412 +v -0.497670 1.341537 -0.326667 +v 0.036846 0.464877 0.451472 +v -0.003402 0.461326 0.378810 +v -0.016686 0.503381 0.376884 +v -0.496627 0.703507 0.269197 +v -0.250437 0.580430 -0.309500 +v -0.240460 0.580385 -0.307798 +v -0.210494 0.580605 -0.309273 +v -0.200527 0.580678 -0.309691 +v -0.220504 0.580418 -0.307226 +v -0.230479 0.580306 -0.306347 +v -0.490457 0.573750 -0.228591 +v -0.151057 0.724237 -0.296436 +v -0.491354 0.904687 -0.163536 +v -0.571752 0.917527 -0.127209 +v -0.511331 0.933687 -0.158441 +v -0.131316 0.781117 -0.278728 +v -0.451469 0.789437 -0.185658 +v -0.071187 0.724937 -0.301539 +v -0.081121 0.724627 -0.298778 +v -0.101063 0.724217 -0.294665 +v -0.371577 0.905657 -0.177594 +v -0.091117 0.724487 -0.296387 +v -0.111083 0.724147 -0.292498 +v -0.578612 0.674309 0.196635 +v -0.480743 1.245557 -0.115216 +v -0.649235 0.842827 0.317967 +v -0.493328 0.486992 0.272485 +v -0.502296 0.472416 0.253739 +v 0.068832 0.740537 -0.315436 +v 0.056600 0.493210 0.473332 +v -0.424016 0.514885 0.329781 +v -0.468340 0.458837 0.276789 +v -0.612161 1.100598 0.287446 +v -0.624062 1.005847 0.329844 +v -0.572438 0.674582 0.204555 +v -0.565914 0.674757 0.212185 +v -0.558995 0.674990 0.219365 +v -0.551955 0.675203 0.226433 +v -0.544921 0.675429 0.233523 +v 0.025108 0.478848 0.448640 +v 0.004824 0.417927 0.357950 +v -0.493242 0.730497 0.265110 +v -0.523093 0.486386 0.245819 +v -0.584738 0.726947 0.158786 +v -0.593940 1.181197 0.210696 +v -0.574203 1.048467 0.378219 +v -0.479689 0.703637 0.280377 +v -0.496802 1.313727 -0.270176 +v -0.446991 1.193767 -0.522692 +v -0.537632 0.675526 0.240357 +v -0.488846 1.245147 -0.135326 +v -0.002957 0.388000 0.324296 +v 0.001938 0.388295 0.333377 +v 0.006404 0.388792 0.342987 +v 0.011463 0.389488 0.352324 +v 0.017046 0.389614 0.360566 +v 0.022157 0.390324 0.369882 +v 0.026608 0.390801 0.379538 +v 0.031040 0.391326 0.389175 +v 0.035851 0.391579 0.398224 +v 0.041294 0.392014 0.406956 +v 0.046658 0.392442 0.415732 +v 0.052193 0.392920 0.424376 +v 0.058317 0.393203 0.432368 +v 0.065725 0.393149 0.439163 +v 0.073848 0.393335 0.445215 +v 0.082548 0.393325 0.450746 +v 0.091568 0.393436 0.455723 +v -0.530594 0.675766 0.247442 +v -0.578723 1.075027 0.353679 +v -0.523241 0.676102 0.254235 +v -0.577469 0.885437 0.401153 +v 0.038005 0.493153 0.463739 +v -0.520471 0.743187 0.235379 +v -0.645994 0.950958 0.325197 +v -0.528646 0.541448 0.263795 +v -0.161143 0.738557 -0.295073 +v -0.603914 0.858177 0.385425 +v -0.390736 0.563004 -0.274008 +v 0.068563 0.421784 0.449493 +v -0.551147 1.129367 0.324613 +v 0.037070 0.520967 0.463663 +v -0.209083 1.335977 -0.049542 +v -0.014833 0.445868 0.348397 +v -0.494581 0.569494 0.299326 +v -0.444353 0.487464 0.308291 +v -0.563906 0.539495 0.214546 +v -0.567866 0.701407 0.199165 +v -0.437812 0.542496 0.328277 +v -0.515983 0.676238 0.261075 +v 0.075681 1.423727 -0.317463 +v 0.047198 0.534692 0.467307 +v -0.508422 0.676524 0.267673 +v -0.596792 0.993767 0.387991 +v -0.501061 0.676606 0.274342 +v -0.451413 1.205967 -0.523700 +v -0.416820 0.487135 0.323491 +v -0.492367 0.676694 0.279826 +v 0.029606 1.525297 -0.235437 +v -0.561382 0.701577 0.206829 +v -0.554517 0.701847 0.214047 +v -0.027800 0.459413 0.332589 +v -0.652292 0.923667 0.332598 +v -0.656074 0.923907 0.322409 +v 0.010015 0.418283 0.366812 +v -0.614137 1.006397 0.348171 +v -0.011382 0.545210 0.384259 +v 0.011573 0.519833 0.432738 +v -0.598907 0.966417 0.390922 +v -0.421005 0.501262 0.327044 +v -0.511072 1.453197 -0.583555 +v 0.013330 0.463260 0.418349 +v 0.009218 0.462922 0.408541 +v 0.004492 0.462803 0.399513 +v 0.000779 0.461719 0.388596 +v -0.007755 0.504313 0.396133 +v -0.452942 0.459493 0.289556 +v -0.612196 1.167427 0.201099 +v -0.140544 0.581593 -0.319506 +v -0.150505 0.581362 -0.316853 +v -0.161595 0.580884 -0.312963 +v -0.391751 0.934957 -0.178043 +v -0.271479 0.780257 -0.271402 +v 0.268618 0.797727 -0.288539 +v -0.461337 0.774777 -0.185431 +v -0.581669 0.902527 -0.121682 +v -0.051044 0.725217 -0.308713 +v -0.061093 0.725047 -0.305096 +v -0.291390 0.779847 -0.267213 +v -0.011109 0.726057 -0.319119 +v -0.001163 0.726217 -0.320509 +v -0.289586 0.251901 0.021099 +v 0.038879 0.726257 -0.321350 +v -0.481436 0.816527 -0.151183 +v -0.451155 0.876127 -0.172981 +v -0.181126 0.738257 -0.293453 +v 0.279349 0.591140 -0.428530 +v 0.289391 0.590947 -0.424811 +v -0.483943 0.676898 0.285652 +v 0.074432 0.435910 0.457406 +v -0.593657 0.619778 0.185055 +v 0.041269 0.574787 0.443726 +v 0.021574 0.506884 0.451337 +v -0.024009 0.488373 0.356257 +v -0.490468 0.559218 -0.228574 +v -0.527259 0.622223 0.259851 +v -0.015973 0.544766 0.374708 +v -0.572876 0.538409 0.194961 +v -0.574087 1.115537 0.319658 +v -0.618097 1.060078 0.308267 +v -0.448217 0.473090 0.298720 +v -0.547384 0.702017 0.221060 +v 0.037009 0.507142 0.464227 +v 0.076202 0.602203 0.450508 +v -0.618745 0.631360 0.138810 +v -0.578097 0.953287 0.413201 +v 0.092640 0.666850 0.361801 +v -0.349968 1.075527 -0.155148 +v -0.515669 0.486192 0.252470 +v -0.590470 1.020937 0.380985 +v -0.566852 1.048458 0.385025 +v 0.017772 0.600361 0.396018 +v -0.021339 0.502895 0.367301 +v -0.480567 0.603146 -0.233840 +v -0.476155 0.677096 0.292035 +v -0.006262 0.402501 0.327164 +v -0.001489 0.402671 0.336420 +v 0.003120 0.403201 0.345976 +v 0.008496 0.403646 0.354743 +v 0.013827 0.404056 0.363531 +v 0.018570 0.404643 0.373038 +v 0.023447 0.404910 0.382061 +v 0.027989 0.405416 0.391644 +v 0.032620 0.405995 0.401189 +v 0.037754 0.406318 0.410093 +v 0.043376 0.406407 0.418417 +v 0.049254 0.407034 0.426823 +v 0.055635 0.407415 0.434595 +v 0.063205 0.407422 0.441193 +v 0.071184 0.407559 0.447383 +v 0.079342 0.407784 0.453222 +v -0.468549 0.676954 0.298328 +v -0.459934 0.677086 0.303851 +v -0.331445 0.793157 -0.248055 +v -0.162934 0.027317 -0.352846 +v -0.172299 0.032814 -0.345778 +v -0.175818 0.033067 -0.333187 +v -0.180887 0.033256 -0.323599 +v -0.187303 0.033920 -0.313659 +v -0.190405 0.035321 -0.302791 +v -0.192789 0.035721 -0.292610 +v -0.194750 0.036134 -0.282371 +v -0.197898 0.036721 -0.272156 +v -0.199172 0.036905 -0.262173 +v -0.204243 0.037522 -0.252160 +v -0.206780 0.037835 -0.242159 +v -0.209307 0.038129 -0.232206 +v -0.211832 0.038486 -0.222205 +v -0.586111 0.961717 -0.116097 +v -0.595626 0.961998 -0.106289 +v -0.616079 0.962777 -0.066726 +v -0.666538 0.964247 0.063013 +v -0.665021 0.964977 0.163129 +v -0.653121 0.964918 0.212990 +v 0.305872 0.745997 -0.296645 +v 0.577321 0.846597 -0.104265 +v 0.159542 0.024834 -0.345440 +v 0.139029 0.650070 -0.395507 +v 0.553866 0.852897 -0.131193 +v 0.316977 0.685837 -0.312567 +v -0.436363 0.064110 -0.094316 +v -0.664862 0.978547 0.142988 +v -0.662790 0.978637 0.153050 +v -0.660679 0.924248 0.293186 +v -0.153292 0.045713 -0.362054 +v -0.164719 0.047055 -0.353070 +v -0.170005 0.047557 -0.342253 +v -0.172533 0.047891 -0.332263 +v -0.176061 0.048299 -0.322060 +v -0.182891 0.049091 -0.311655 +v -0.189031 0.049789 -0.302243 +v -0.191980 0.050111 -0.292413 +v -0.193538 0.050182 -0.282456 +v -0.195374 0.050608 -0.272228 +v -0.198973 0.050996 -0.262170 +v -0.201718 0.051330 -0.252253 +v -0.205524 0.051788 -0.242236 +v -0.208051 0.052111 -0.232263 +v -0.208628 0.052198 -0.217660 +v -0.536741 0.445371 0.168916 +v -0.654227 0.829137 0.103618 +v -0.649679 0.828507 0.023925 +v -0.635374 0.827737 -0.016115 +v -0.609823 0.826107 -0.046804 +v -0.601422 0.825867 -0.056763 +v 0.768847 0.405032 -0.014874 +v 0.270323 0.779347 -0.291957 +v 0.203688 0.893877 -0.214131 +v 0.163240 0.625906 -0.430405 +v 0.562297 0.482985 -0.299684 +v -0.426364 0.075758 -0.102698 +v -0.434475 0.076740 -0.092488 +v -0.439483 0.077782 -0.083038 +v -0.661430 0.978608 0.162974 +v -0.524810 1.362217 -0.449172 +v -0.517773 1.362427 -0.419226 +v -0.507064 1.362737 -0.389204 +v -0.282116 1.294347 -0.068877 +v 0.528315 0.835297 -0.172475 +v -0.170482 0.580933 -0.311702 +v -0.173561 1.365497 -0.168350 +v -0.201908 1.366037 -0.129085 +v -0.658354 0.978718 0.173111 +v -0.656421 0.978497 0.182872 +v 0.099184 0.906827 -0.166079 +v -0.397943 1.376367 -0.669980 +v -0.409421 1.376347 -0.649605 +v -0.420020 1.376337 -0.629509 +v -0.437264 1.376997 -0.599598 +v -0.446906 1.375987 -0.579754 +v -0.458711 1.375977 -0.559745 +v -0.653194 0.978718 0.192562 +v -0.330835 0.066886 0.117756 +v -0.335624 0.067443 0.127710 +v -0.350036 0.069046 0.147702 +v -0.358426 0.070016 0.157680 +v -0.365636 0.070826 0.167679 +v -0.651359 0.978747 0.203046 +v -0.649616 0.978567 0.212884 +v -0.647468 0.978647 0.222915 +v -0.646249 0.978677 0.232884 +v -0.645079 0.978687 0.242895 +v -0.520492 1.362407 -0.429181 +v -0.394059 1.391557 -0.680075 +v -0.417834 1.390407 -0.639715 +v -0.441803 1.390197 -0.599740 +v -0.468176 1.389897 -0.559863 +v -0.519081 1.389417 -0.519754 +v -0.599321 1.086907 -0.017615 +v -0.124333 1.394217 -0.198498 +v -0.507616 1.293328 -0.278692 +v -0.472927 1.403847 -0.569915 +v -0.164527 1.365407 -0.177999 +v -0.434526 1.418477 -0.629856 +v -0.125735 1.423048 -0.169278 +v -0.643980 0.978757 0.252913 +v -0.643805 0.978737 0.262899 +v -0.514985 1.445887 -0.579793 +v -0.505145 1.460007 -0.599821 +v -0.509538 1.460367 -0.590017 +v -0.640004 1.087737 0.062312 +v -0.657163 0.923867 0.233188 +v -0.657336 0.923957 0.243224 +v -0.658058 0.841967 0.033712 +v -0.149098 0.059338 -0.361940 +v -0.158891 0.060665 -0.352575 +v -0.165483 0.061457 -0.342710 +v -0.167614 0.061619 -0.332339 +v -0.172868 0.062319 -0.320270 +v -0.182324 0.063082 -0.312078 +v -0.186211 0.063563 -0.302139 +v -0.189038 0.063954 -0.292329 +v -0.190421 0.064146 -0.282327 +v -0.191593 0.064297 -0.272298 +v -0.195435 0.064758 -0.262316 +v -0.199190 0.065190 -0.252327 +v -0.201725 0.065515 -0.242314 +v -0.204246 0.065852 -0.232339 +v -0.206780 0.066164 -0.222347 +v -0.210241 0.066377 -0.211803 +v -0.602855 0.962277 -0.096429 +v -0.656302 0.829227 0.093662 +v -0.370994 0.635369 -0.273138 +v 0.168828 0.769337 -0.310324 +v -0.659618 0.963947 0.023054 +v -0.038599 0.795387 -0.268321 +v -0.398080 0.086425 -0.142333 +v -0.405203 0.087806 -0.131787 +v -0.406407 0.088140 -0.122878 +v 0.392578 0.045518 -0.308642 +v -0.418043 0.088468 -0.102072 +v -0.426994 0.089757 -0.092400 +v -0.432595 0.090749 -0.082730 +v -0.643532 0.978708 0.272880 +v -0.642553 0.978767 0.282881 +v -0.642371 0.978798 0.292818 +v -0.640301 0.978888 0.302851 +v -0.510992 1.292937 -0.358673 +v -0.490441 1.292167 -0.389030 +v -0.479626 1.292197 -0.409000 +v -0.465012 1.292217 -0.448863 +v -0.462636 1.292187 -0.458876 +v -0.460209 1.292138 -0.468870 +v -0.457709 1.292118 -0.478826 +v -0.454332 1.292037 -0.488906 +v -0.451931 1.291987 -0.498905 +v -0.447099 1.291927 -0.518884 +v -0.444582 1.291887 -0.528836 +v -0.441236 1.291847 -0.538917 +v -0.438572 1.291797 -0.548857 +v -0.637960 0.978888 0.312806 +v -0.648145 0.965098 0.282952 +v -0.327208 0.080485 0.117624 +v -0.333247 0.081161 0.127651 +v -0.342841 0.082220 0.137643 +v -0.352420 0.083259 0.147604 +v -0.359626 0.084082 0.157617 +v -0.368023 0.085024 0.167615 +v -0.375131 0.085973 0.177311 +v -0.378771 0.086453 0.187198 +v -0.382639 0.087280 0.197150 +v -0.448031 1.195357 -0.525715 +v -0.629370 1.074867 0.242379 +v -0.491013 1.333417 -0.459728 +v -0.517904 1.431927 -0.549531 +v -0.050880 0.654187 -0.321621 +v -0.647116 0.965198 0.292950 +v -0.512156 1.278967 -0.288727 +v -0.499417 1.278787 -0.348666 +v -0.470976 1.278317 -0.408790 +v -0.439771 1.277707 -0.538789 +v 0.049642 0.872777 -0.210126 +v 0.146770 0.896567 -0.196162 +v -0.233057 1.337557 -0.089194 +v -0.667793 0.978257 0.112911 +v -0.482715 1.333467 -0.469731 +v -0.415314 1.333937 -0.629340 +v -0.410726 1.333947 -0.639418 +v -0.509425 1.444807 -0.590518 +v -0.497054 1.459957 -0.609216 +v -0.466843 1.320007 -0.479248 +v -0.446123 1.320057 -0.539084 +v -0.411909 1.362177 -0.639581 +v 0.121452 0.898487 -0.177570 +v -0.468440 1.167667 -0.368027 +v -0.465663 1.194297 -0.458278 +v -0.657318 0.923847 0.223206 +v -0.662371 0.842317 0.063688 +v -0.660066 0.842197 0.043739 +v -0.137267 0.072586 -0.362641 +v -0.149924 0.073918 -0.352563 +v -0.156479 0.074761 -0.342726 +v -0.159866 0.074904 -0.332368 +v -0.164302 0.075077 -0.322216 +v -0.176477 0.076748 -0.312467 +v -0.180183 0.077127 -0.302374 +v -0.183980 0.077555 -0.292407 +v -0.185235 0.077764 -0.282381 +v -0.185246 0.077790 -0.272406 +v -0.187792 0.078112 -0.262378 +v -0.193848 0.078665 -0.252282 +v -0.196378 0.078992 -0.242315 +v -0.198843 0.079275 -0.232227 +v -0.200940 0.079311 -0.221747 +v -0.205580 0.079828 -0.210095 +v -0.619549 0.962988 -0.056645 +v -0.041154 0.725537 -0.311560 +v -0.460967 0.831797 -0.160603 +v -0.548894 1.141188 -0.087683 +v -0.626378 1.033397 0.202597 +v -0.626611 1.033447 0.192633 +v -0.383090 0.098035 -0.141756 +v -0.392269 0.099985 -0.132544 +v -0.397532 0.101020 -0.122808 +v -0.399553 0.100901 -0.112571 +v -0.407278 0.101107 -0.102169 +v -0.416297 0.102664 -0.092564 +v -0.423403 0.103340 -0.082475 +v -0.427753 0.104300 -0.072615 +v -0.428818 0.104411 -0.062567 +v -0.426958 0.103832 -0.052455 +v -0.513676 1.210427 -0.088392 +v -0.441963 1.263607 -0.528650 +v -0.645847 0.965188 0.302922 +v -0.579478 1.085998 -0.067071 +v -0.658636 0.922657 0.003219 +v -0.397687 1.362197 -0.669813 +v -0.417557 1.362207 -0.629406 +v -0.436259 1.362087 -0.589779 +v -0.276114 1.265147 -0.107359 +v -0.285309 1.264827 -0.097184 +v -0.293456 1.264427 -0.087402 +v -0.301340 1.265397 -0.077594 +v -0.307369 1.265887 -0.068552 +v -0.164180 0.818247 -0.251686 +v -0.315307 0.093255 0.097629 +v -0.311598 0.092828 0.107586 +v -0.316418 0.093375 0.117594 +v -0.322401 0.094051 0.127559 +v -0.333226 0.095193 0.137543 +v -0.341638 0.096130 0.147564 +v -0.350027 0.097060 0.157561 +v -0.359653 0.098083 0.167555 +v -0.367571 0.099270 0.177306 +v -0.372442 0.099795 0.187231 +v -0.376345 0.100336 0.197252 +v -0.379739 0.100642 0.207386 +v -0.185453 0.818227 -0.251744 +v -0.378141 0.100438 0.227496 +v -0.381046 0.100797 0.237179 +v -0.384778 0.101416 0.247574 +v -0.136155 0.922657 -0.181467 +v 0.073177 0.634883 -0.399998 +v 0.546580 0.819607 -0.175675 +v 0.476379 0.857957 -0.196969 +v -0.456255 1.236157 -0.448530 +v -0.462547 1.236387 -0.408553 +v -0.507129 1.237257 -0.238555 +v -0.507044 1.237378 -0.228508 +v -0.505083 1.237517 -0.208442 +v 0.572143 0.827507 -0.144103 +v -0.414257 1.376317 -0.639624 +v -0.200011 0.942117 -0.161431 +v -0.516078 1.445277 -0.570324 +v -0.581616 0.989217 -0.106490 +v -0.518796 1.320617 -0.369004 +v -0.590004 0.989517 -0.096616 +v -0.418911 1.319807 -0.619259 +v -0.507351 1.265277 -0.238586 +v -0.597131 0.989767 -0.086583 +v -0.604221 0.990017 -0.076579 +v -0.310572 0.550687 -0.300478 +v -0.658299 0.923997 0.253219 +v -0.661231 0.842267 0.053701 +v -0.540843 0.782307 -0.105048 +v -0.126971 0.085655 -0.362517 +v -0.138313 0.086796 -0.352447 +v -0.145958 0.087649 -0.342450 +v -0.150069 0.088277 -0.332563 +v -0.155707 0.088457 -0.322135 +v -0.168809 0.090092 -0.312482 +v -0.173938 0.090686 -0.302492 +v -0.176480 0.090971 -0.292519 +v -0.177642 0.091124 -0.282469 +v -0.178909 0.091307 -0.272463 +v -0.180179 0.091486 -0.262476 +v -0.185268 0.092033 -0.252447 +v -0.189064 0.092476 -0.242452 +v -0.192466 0.092676 -0.232314 +v -0.195623 0.092984 -0.222184 +v -0.197378 0.093147 -0.211925 +v -0.221445 0.095726 -0.201985 +v 0.219231 0.592008 -0.445941 +v 0.489223 0.641084 -0.309194 +v 0.288227 0.894247 -0.215001 +v -0.615309 0.718637 0.034339 +v -0.616414 0.718747 0.054284 +v -0.613725 0.718657 0.084102 +v -0.374686 0.110982 -0.131903 +v -0.383601 0.112719 -0.122416 +v -0.389623 0.113421 -0.112407 +v -0.394062 0.113473 -0.102207 +v -0.403498 0.114315 -0.092051 +v -0.409018 0.115821 -0.082571 +v -0.416195 0.116551 -0.072534 +v -0.419042 0.117319 -0.062660 +v -0.417714 0.117126 -0.052593 +v -0.416263 0.116815 -0.042530 +v -0.418786 0.117222 -0.032489 +v -0.613005 0.990387 -0.066905 +v -0.619931 0.990548 -0.056886 +v -0.625898 0.990697 -0.047077 +v -0.480159 1.209037 -0.318387 +v -0.479160 1.208997 -0.328404 +v -0.478023 1.208957 -0.338422 +v -0.477734 1.208847 -0.348376 +v -0.476636 1.208837 -0.358384 +v -0.475433 1.208767 -0.368391 +v -0.474129 1.208687 -0.378369 +v -0.631666 0.990818 -0.037152 +v -0.305803 0.106440 0.087704 +v -0.297065 0.105076 0.097426 +v -0.293588 0.104987 0.107494 +v -0.299626 0.105651 0.117520 +v -0.306820 0.106443 0.127497 +v -0.317636 0.107604 0.137508 +v -0.327218 0.108641 0.147494 +v -0.336822 0.109679 0.157490 +v -0.344032 0.110470 0.167495 +v -0.353621 0.111503 0.177472 +v -0.360084 0.112587 0.187222 +v -0.366130 0.113200 0.197210 +v -0.369936 0.113733 0.207318 +v -0.372521 0.114094 0.217301 +v -0.374249 0.113973 0.227463 +v -0.376950 0.114427 0.237454 +v -0.379233 0.114632 0.247491 +v -0.378400 0.114879 0.257677 +v -0.376999 0.114682 0.267669 +v -0.643586 0.965208 0.312893 +v -0.636216 0.990928 -0.027152 +v -0.641562 0.990987 -0.017046 +v -0.531691 1.195597 -0.077368 +v -0.469734 1.236687 -0.348562 +v -0.505285 1.237357 -0.218450 +v -0.503713 1.237607 -0.198457 +v -0.645071 0.991077 -0.007090 +v -0.430147 1.376167 -0.609821 +v -0.402362 1.333847 -0.659571 +v -0.648468 0.991147 0.002908 +v -0.065032 1.452237 -0.209281 +v -0.264927 1.294048 -0.108316 +v -0.651726 0.991217 0.012954 +v -0.642874 1.074197 0.092442 +v -0.204528 1.366007 -0.109341 +v -0.653965 0.991227 0.022949 +v -0.411917 1.390437 -0.649767 +v -0.659394 0.924037 0.263245 +v -0.655836 0.841867 0.023717 +v -0.533462 0.781657 -0.114827 +v -0.115882 0.098996 -0.362929 +v -0.126000 0.100045 -0.352824 +v -0.132009 0.100412 -0.342515 +v -0.136659 0.100596 -0.332119 +v -0.144456 0.101592 -0.322344 +v -0.159893 0.103325 -0.312534 +v -0.164023 0.104013 -0.302656 +v -0.167741 0.104378 -0.292652 +v -0.170318 0.104705 -0.282582 +v -0.170211 0.104708 -0.272599 +v -0.172734 0.104966 -0.262562 +v -0.177668 0.105456 -0.252527 +v -0.180206 0.105753 -0.242542 +v -0.183910 0.106096 -0.232530 +v -0.188535 0.106358 -0.222226 +v -0.191992 0.106471 -0.212019 +v -0.192508 0.108783 -0.205218 +v 0.519971 0.607899 -0.309692 +v -0.050870 0.640153 -0.325704 +v -0.435718 1.404377 -0.619779 +v -0.614126 0.718527 0.024391 +v -0.576633 0.688867 -0.105146 +v -0.575026 0.688907 -0.115561 +v -0.344266 0.123099 -0.132738 +v -0.360387 0.123428 -0.122022 +v -0.370042 0.124597 -0.112165 +v -0.375152 0.125747 -0.102436 +v -0.382099 0.126139 -0.092297 +v -0.390497 0.126974 -0.082284 +v -0.397873 0.128131 -0.072422 +v -0.401884 0.129158 -0.062650 +v -0.404481 0.129804 -0.052590 +v -0.405442 0.129627 -0.042602 +v -0.404402 0.129777 -0.032533 +v -0.656234 0.991307 0.032921 +v -0.666874 0.978207 0.092901 +v -0.657650 0.991497 0.042875 +v -0.658732 0.991547 0.052854 +v -0.486420 1.195527 -0.208427 +v -0.486285 1.196297 -0.198616 +v -0.487873 1.195787 -0.188376 +v -0.490228 1.195878 -0.178393 +v -0.495866 1.195997 -0.168352 +v -0.658735 0.991597 0.062867 +v -0.295027 0.119341 0.077655 +v -0.280839 0.118237 0.087771 +v -0.273209 0.116879 0.097443 +v -0.274424 0.117049 0.107439 +v -0.279239 0.117601 0.117451 +v -0.288816 0.118617 0.127410 +v -0.299626 0.119777 0.137425 +v -0.309222 0.120798 0.147411 +v -0.316406 0.121594 0.157406 +v -0.327234 0.122731 0.167422 +v -0.334446 0.123521 0.177424 +v -0.345245 0.124657 0.187399 +v -0.351363 0.125535 0.197342 +v -0.356065 0.125859 0.207417 +v -0.362361 0.126822 0.217297 +v -0.365935 0.127188 0.227349 +v -0.368440 0.127521 0.237375 +v -0.369524 0.127641 0.247404 +v -0.368273 0.127505 0.257428 +v -0.367096 0.127464 0.267448 +v -0.364817 0.127365 0.277517 +v -0.363628 0.127278 0.287685 +v -0.658836 0.991687 0.072832 +v -0.463680 1.236437 -0.398549 +v -0.499029 1.237967 -0.168384 +v -0.234033 1.337297 -0.099103 +v -0.660075 0.991807 0.082840 +v -0.475510 1.333728 -0.479607 +v -0.406962 1.333887 -0.649367 +v -0.662369 0.991867 0.092828 +v -0.626303 1.074667 0.202371 +v -0.632820 1.074427 0.142309 +v -0.469632 1.250537 -0.368613 +v -0.663486 0.991947 0.102843 +v -0.662505 0.992067 0.112826 +v 0.135009 0.894197 -0.193447 +v -0.662254 0.991987 0.122844 +v 0.125073 1.496677 -0.369023 +v -0.659697 0.924127 0.273194 +v -0.650270 0.841577 0.003679 +v -0.104250 0.111914 -0.362723 +v -0.114477 0.113061 -0.352786 +v -0.119989 0.113934 -0.342976 +v -0.125568 0.113931 -0.332498 +v -0.134607 0.115024 -0.322627 +v -0.150354 0.117003 -0.312984 +v -0.154958 0.117150 -0.302641 +v -0.157623 0.117560 -0.292682 +v -0.161302 0.117863 -0.282616 +v -0.161551 0.118161 -0.272692 +v -0.164026 0.118403 -0.262685 +v -0.167599 0.118611 -0.252628 +v -0.172605 0.119134 -0.242619 +v -0.175129 0.119416 -0.232643 +v -0.178557 0.119572 -0.222410 +v -0.183948 0.119580 -0.211882 +v -0.056388 0.822247 -0.256441 +v -0.360976 0.635485 -0.274573 +v -0.060764 0.639883 -0.324940 +v 0.655189 0.731427 -0.099885 +v -0.616385 0.718727 0.044325 +v -0.590684 0.689887 -0.075500 +v -0.310685 0.132568 -0.143945 +v -0.324790 0.134630 -0.132491 +v -0.331117 0.135863 -0.122831 +v -0.341655 0.136484 -0.112586 +v -0.349989 0.137213 -0.102526 +v -0.359246 0.137512 -0.092298 +v -0.365396 0.138457 -0.082387 +v -0.372744 0.139523 -0.072515 +v -0.378555 0.139775 -0.062498 +v -0.383407 0.140436 -0.052576 +v -0.385896 0.140946 -0.042688 +v -0.384964 0.141433 -0.032657 +v -0.378027 0.141399 -0.022487 +v -0.372118 0.141165 -0.012297 +v -0.362476 0.140192 -0.002259 +v -0.660426 0.992237 0.132894 +v -0.625646 1.074867 0.272271 +v -0.659175 0.992227 0.142905 +v -0.644333 1.156777 0.151818 +v -0.645827 1.156837 0.141930 +v -0.657926 0.992208 0.152893 +v -0.280670 0.131889 0.067624 +v -0.271115 0.130971 0.077604 +v -0.262750 0.130211 0.087493 +v -0.260002 0.129614 0.097367 +v -0.261215 0.129774 0.107353 +v -0.264794 0.130218 0.117346 +v -0.272032 0.130953 0.127349 +v -0.280410 0.131860 0.137332 +v -0.291202 0.133007 0.147336 +v -0.298416 0.133782 0.157344 +v -0.305621 0.134550 0.167328 +v -0.311641 0.135211 0.177348 +v -0.323637 0.136468 0.187338 +v -0.332032 0.137361 0.197319 +v -0.336844 0.137900 0.207336 +v -0.342846 0.138557 0.217345 +v -0.347652 0.139093 0.227347 +v -0.353665 0.139732 0.237316 +v -0.356034 0.140042 0.247315 +v -0.355218 0.140404 0.257360 +v -0.353805 0.140111 0.267374 +v -0.353606 0.139928 0.277322 +v -0.351530 0.140081 0.287439 +v -0.655801 0.992277 0.162903 +v -0.203041 1.365737 -0.099493 +v -0.470967 1.292327 -0.428850 +v -0.522457 1.348297 -0.449088 +v -0.442922 1.418377 -0.619886 +v -0.127010 1.423127 -0.159437 +v -0.627648 1.074817 0.262270 +v -0.653592 0.992337 0.172952 +v -0.508819 1.264758 -0.308735 +v -0.456263 1.250107 -0.448593 +v -0.651055 0.992277 0.182873 +v -0.648644 0.992267 0.192817 +v -0.646567 0.992347 0.202882 +v -0.128403 0.936867 -0.156574 +v -0.265513 1.308817 -0.088918 +v -0.072448 0.067934 -0.392267 +v -0.496681 1.168077 -0.188128 +v -0.659104 0.924227 0.313071 +v -0.660561 0.924277 0.303165 +v -0.640405 0.841107 -0.016453 +v -0.635883 0.840927 -0.026457 +v -0.109426 0.126874 -0.342859 +v -0.114863 0.127857 -0.333221 +v -0.120488 0.128312 -0.323704 +v -0.138172 0.129378 -0.312540 +v -0.143790 0.130486 -0.302870 +v -0.146194 0.130614 -0.292762 +v -0.149918 0.130945 -0.282717 +v -0.152438 0.131251 -0.272693 +v -0.153755 0.131313 -0.262664 +v -0.157369 0.131692 -0.252667 +v -0.162614 0.132463 -0.242755 +v -0.165163 0.132729 -0.232707 +v -0.168811 0.133035 -0.222706 +v -0.173445 0.133251 -0.212457 +v 0.322128 0.897887 -0.219430 +v 0.398042 0.820557 -0.256689 +v -0.477110 1.278297 -0.388836 +v 0.290894 0.848827 -0.266652 +v -0.113890 0.130572 -0.331576 +v -0.280997 0.144806 -0.153421 +v -0.292032 0.146201 -0.143597 +v -0.304754 0.147085 -0.132908 +v -0.312233 0.148215 -0.123111 +v -0.319242 0.148765 -0.112936 +v -0.324981 0.149099 -0.102744 +v -0.330946 0.149714 -0.092743 +v -0.338220 0.150502 -0.082778 +v -0.344039 0.150859 -0.072689 +v -0.352209 0.151079 -0.062585 +v -0.352482 0.151823 -0.052737 +v -0.354884 0.152088 -0.042770 +v -0.351494 0.152402 -0.032683 +v -0.345578 0.152199 -0.022503 +v -0.644164 0.992327 0.212851 +v -0.642784 0.992257 0.222811 +v -0.456062 1.153067 -0.318096 +v -0.458469 1.153157 -0.308104 +v -0.462047 1.153217 -0.298087 +v -0.464437 1.153297 -0.288105 +v -0.465502 1.153487 -0.278048 +v -0.640929 0.992457 0.232848 +v -0.639617 0.992427 0.242832 +v -0.254158 0.143062 0.077350 +v -0.248287 0.142626 0.087358 +v -0.248027 0.142472 0.097308 +v -0.251623 0.142903 0.107309 +v -0.255214 0.143312 0.117277 +v -0.260018 0.143830 0.127271 +v -0.264824 0.144347 0.137264 +v -0.270851 0.144994 0.147293 +v -0.280429 0.146008 0.157284 +v -0.285215 0.146551 0.167283 +v -0.291226 0.147199 0.177289 +v -0.299616 0.148087 0.187276 +v -0.309245 0.149080 0.197282 +v -0.314031 0.149625 0.207295 +v -0.321239 0.150382 0.217276 +v -0.324866 0.150777 0.227250 +v -0.329651 0.151314 0.237247 +v -0.332052 0.151610 0.247265 +v -0.336827 0.152145 0.257244 +v -0.335620 0.152079 0.267235 +v -0.336052 0.152776 0.277412 +v -0.638484 0.992467 0.252847 +v -0.437429 1.277667 -0.548805 +v -0.466982 1.361887 -0.529622 +v -0.486778 1.404277 -0.559389 +v -0.523901 1.348268 -0.439125 +v -0.451240 1.418307 -0.609785 +v -0.128437 1.423237 -0.149669 +v -0.404421 1.305347 -0.659445 +v -0.249728 1.322978 -0.079103 +v -0.446899 1.249787 -0.508636 +v -0.296963 1.280607 -0.048796 +v -0.638224 0.992437 0.262831 +v -0.637381 0.992578 0.272830 +v -0.415172 1.319777 -0.629195 +v -0.265661 1.309057 -0.068997 +v -0.265779 1.309128 -0.078965 +v -0.162057 0.832497 -0.246609 +v -0.567036 1.044127 -0.096238 +v -0.519768 1.362357 -0.479022 +v -0.630415 0.840587 -0.036631 +v -0.549286 0.782917 -0.095187 +v -0.590556 0.717077 -0.055569 +v -0.120057 0.141222 -0.312315 +v -0.129323 0.142685 -0.302581 +v -0.132078 0.143289 -0.292753 +v -0.136834 0.143333 -0.282635 +v -0.139555 0.143933 -0.272691 +v -0.142086 0.144262 -0.262693 +v -0.145632 0.144283 -0.252587 +v -0.150407 0.144466 -0.242419 +v -0.152639 0.145965 -0.232942 +v -0.158383 0.145852 -0.222555 +v -0.160210 0.146662 -0.213041 +v -0.165072 0.147760 -0.203359 +v -0.110860 0.653414 -0.313778 +v -0.629076 1.183847 0.141856 +v 0.407808 0.819057 -0.255042 +v -0.098612 0.923107 -0.161940 +v -0.271693 0.157885 -0.153825 +v -0.283513 0.159053 -0.143402 +v -0.291984 0.160012 -0.133377 +v -0.299334 0.160870 -0.123324 +v -0.305317 0.161542 -0.113209 +v -0.309890 0.161885 -0.103043 +v -0.313480 0.162304 -0.093002 +v -0.317033 0.162706 -0.082987 +v -0.319582 0.163048 -0.073096 +v -0.320473 0.163110 -0.062867 +v -0.322688 0.163204 -0.052824 +v -0.321760 0.163429 -0.042746 +v -0.319902 0.164076 -0.032347 +v -0.316756 0.164004 -0.022069 +v -0.637953 0.992498 0.282793 +v -0.637013 0.992568 0.292795 +v -0.636524 0.992488 0.302685 +v -0.274858 0.256271 0.108629 +v -0.489076 1.238107 -0.115501 +v -0.506650 1.237317 -0.248531 +v -0.642726 1.129587 0.172200 +v -0.500688 1.223967 -0.148465 +v -0.595683 1.195467 0.002859 +v -0.242679 0.156188 0.077423 +v -0.238782 0.155683 0.087228 +v -0.241314 0.155975 0.097017 +v -0.244887 0.156392 0.107079 +v -0.249540 0.156857 0.117092 +v -0.253156 0.157298 0.127057 +v -0.257713 0.157725 0.137163 +v -0.261368 0.158153 0.147174 +v -0.265182 0.158681 0.157053 +v -0.269638 0.159026 0.167196 +v -0.274435 0.159566 0.177212 +v -0.279237 0.160081 0.187205 +v -0.285232 0.160721 0.197185 +v -0.291255 0.161355 0.207197 +v -0.294813 0.161778 0.217191 +v -0.299659 0.162292 0.227213 +v -0.304451 0.162815 0.237199 +v -0.305664 0.162981 0.247171 +v -0.308064 0.163271 0.257170 +v -0.303256 0.162852 0.267171 +v -0.453845 1.137227 -0.278505 +v -0.587231 1.086457 -0.057549 +v -0.136576 1.393977 -0.188172 +v -0.602652 1.045347 -0.057320 +v -0.523850 1.348317 -0.429117 +v -0.467264 1.417657 -0.590319 +v -0.459733 1.418117 -0.599917 +v -0.470322 1.334018 -0.489359 +v 0.751230 0.310191 -0.119189 +v -0.428234 1.249057 -0.598954 +v 0.752402 0.333048 -0.101928 +v -0.292448 1.279647 -0.078493 +v -0.471900 1.250607 -0.358616 +v -0.442698 1.319987 -0.549158 +v 0.099970 0.888317 -0.186457 +v 0.555108 0.593526 -0.294442 +v -0.510855 1.265007 -0.268676 +v 0.135671 0.825287 -0.260604 +v -0.608559 1.045427 -0.047318 +v -0.029772 1.481757 -0.209730 +v -0.622283 0.840427 -0.046535 +v -0.557463 0.783547 -0.085935 +v -0.087374 0.152359 -0.312583 +v -0.093910 0.153484 -0.302729 +v -0.098420 0.154711 -0.293380 +v -0.105176 0.154153 -0.282649 +v -0.111323 0.154387 -0.272588 +v -0.118646 0.154510 -0.262465 +v -0.122583 0.155438 -0.252454 +v -0.457749 1.179657 -0.476906 +v -0.525375 1.208387 -0.067262 +v -0.496729 1.154227 -0.168091 +v -0.146564 0.158258 -0.211774 +v -0.159682 0.160268 -0.202244 +v -0.656529 0.828987 0.083706 +v 0.130297 0.754207 -0.305173 +v 0.183494 0.634637 -0.419135 +v 0.417282 0.817037 -0.252584 +v 0.462691 0.610077 -0.332140 +v -0.277563 0.172377 -0.143506 +v -0.285814 0.173204 -0.133253 +v -0.292909 0.173907 -0.123105 +v -0.299238 0.174698 -0.113242 +v -0.303070 0.175146 -0.103243 +v -0.307740 0.175666 -0.093157 +v -0.310166 0.175989 -0.083168 +v -0.312536 0.176287 -0.073091 +v -0.313661 0.176509 -0.062923 +v -0.313475 0.176459 -0.052821 +v -0.312857 0.176739 -0.042648 +v -0.311479 0.176544 -0.032554 +v -0.308072 0.176309 -0.022326 +v -0.562183 1.155337 -0.057776 +v -0.635782 1.129007 0.052073 +v -0.640959 1.128987 0.062195 +v -0.644691 1.128987 0.072080 +v -0.647082 1.129068 0.082083 +v -0.649185 1.129107 0.092102 +v -0.648431 1.129197 0.102106 +v -0.666217 0.978597 0.132963 +v -0.240991 0.169775 0.067199 +v -0.235525 0.169414 0.077275 +v -0.235176 0.169344 0.087166 +v -0.237440 0.169590 0.097112 +v -0.240199 0.169939 0.106968 +v -0.244972 0.170560 0.116856 +v -0.249710 0.171001 0.126941 +v -0.253279 0.171362 0.137010 +v -0.256869 0.171801 0.146999 +v -0.260284 0.172160 0.157058 +v -0.262543 0.172439 0.167112 +v -0.263768 0.172605 0.177099 +v -0.267117 0.172873 0.187142 +v -0.267318 0.173078 0.197120 +v -0.269545 0.173230 0.207143 +v -0.270764 0.173379 0.217130 +v -0.269486 0.173255 0.227102 +v -0.269605 0.173451 0.237120 +v -0.267217 0.173250 0.247123 +v -0.261182 0.172725 0.257151 +v -0.255192 0.172201 0.267114 +v -0.468123 1.168147 -0.357958 +v -0.483601 1.291947 -0.399177 +v -0.612314 1.045637 -0.037405 +v -0.480446 1.361317 -0.510079 +v -0.504900 1.404027 -0.549452 +v -0.522682 1.348397 -0.419103 +v -0.508701 1.335107 -0.348914 +v -0.465559 1.334037 -0.499334 +v -0.433447 1.249367 -0.578531 +v -0.430082 1.249307 -0.588608 +v -0.448920 1.249827 -0.498550 +v -0.458508 1.250177 -0.438566 +v -0.462961 1.320137 -0.489134 +v 0.069345 0.890197 -0.188384 +v 0.444717 0.626491 -0.329535 +v 0.455234 0.737467 -0.267336 +v -0.511807 1.264938 -0.278704 +v 0.731201 0.374084 -0.063412 +v 0.551278 0.718037 -0.246795 +v 0.560329 0.715017 -0.243564 +v -0.069548 0.887807 -0.184594 +v -0.037894 0.161474 -0.332260 +v -0.048028 0.162617 -0.322459 +v -0.053533 0.164336 -0.312892 +v -0.059790 0.164783 -0.302839 +v -0.066156 0.165523 -0.292865 +v -0.071129 0.165796 -0.282837 +v -0.078469 0.165712 -0.272747 +v -0.083599 0.166164 -0.262752 +v -0.094398 0.165200 -0.252420 +v -0.092484 0.167115 -0.242706 +v -0.098457 0.166368 -0.232315 +v -0.097965 0.169904 -0.223415 +v 0.460519 0.669894 -0.315026 +v -0.139445 0.173371 -0.203304 +v -0.624463 0.963157 -0.046842 +v 0.491544 0.542650 -0.341661 +v 0.155755 0.783037 -0.295884 +v 0.073255 0.837437 -0.253158 +v -0.264079 0.184918 -0.153348 +v -0.275069 0.186088 -0.143430 +v -0.282918 0.186773 -0.132940 +v -0.288405 0.187471 -0.123347 +v -0.295400 0.188173 -0.113202 +v -0.299311 0.188661 -0.103259 +v -0.302990 0.189042 -0.093215 +v -0.306683 0.189496 -0.083188 +v -0.307982 0.189736 -0.073119 +v -0.309922 0.189907 -0.062969 +v -0.308906 0.189890 -0.052895 +v -0.307487 0.189826 -0.042841 +v -0.305592 0.189772 -0.032594 +v -0.302256 0.189634 -0.022410 +v -0.477412 1.194747 -0.388253 +v -0.518360 1.208857 -0.077629 +v -0.650403 1.115417 0.102183 +v -0.651405 1.115378 0.092175 +v -0.650273 1.115297 0.082190 +v -0.647887 1.115237 0.072255 +v -0.643059 1.115227 0.062334 +v -0.439402 1.263587 -0.538632 +v -0.235961 0.183436 0.067478 +v -0.233080 0.183164 0.077162 +v -0.234051 0.183280 0.087052 +v -0.236325 0.183535 0.096997 +v -0.239118 0.183861 0.106880 +v -0.243760 0.184363 0.116864 +v -0.247539 0.184779 0.126797 +v -0.251026 0.185207 0.136876 +v -0.253507 0.185529 0.146878 +v -0.256711 0.185856 0.156994 +v -0.257945 0.186055 0.167013 +v -0.258980 0.186161 0.177059 +v -0.259009 0.186250 0.187044 +v -0.258916 0.186279 0.197054 +v -0.257822 0.186297 0.207075 +v -0.256938 0.186411 0.217172 +v -0.255388 0.186148 0.227105 +v -0.505158 1.168337 -0.148159 +v -0.494179 1.168028 -0.198139 +v -0.492789 1.168017 -0.208089 +v -0.555760 1.085827 -0.087245 +v -0.539183 1.085528 -0.117374 +v -0.520213 1.348448 -0.409133 +v -0.145801 1.394237 -0.178633 +v -0.525208 1.361668 -0.459561 +v -0.649544 0.965017 0.242965 +v -0.232834 1.337277 -0.108998 +v -0.511925 1.334807 -0.359007 +v -0.460861 1.334047 -0.509340 +v 0.584080 0.688717 -0.235721 +v -0.249707 1.322837 -0.089040 +v -0.421374 0.891027 -0.179095 +v -0.519987 1.320577 -0.378953 +v -0.519998 1.320537 -0.388954 +v -0.562702 0.783847 -0.076287 +v -0.100949 0.667801 -0.312736 +v 0.033114 0.910127 -0.149427 +v 0.502425 0.817097 -0.212901 +v 0.339293 0.939427 -0.164465 +v -0.052692 0.768047 -0.279371 +v 0.602853 0.693927 -0.221188 +v 0.610841 0.689207 -0.215915 +v -0.505379 0.367791 0.048594 +v -0.018320 0.176748 -0.324569 +v -0.025950 0.177338 -0.314031 +v -0.033620 0.175796 -0.303738 +v -0.038554 0.177600 -0.293079 +v -0.048481 0.178289 -0.282966 +v -0.053526 0.178824 -0.272985 +v -0.050999 0.178654 -0.262982 +v -0.056086 0.179160 -0.252954 +v -0.062404 0.179790 -0.242973 +v -0.066203 0.180191 -0.232971 +v -0.072552 0.180819 -0.222961 +v -0.079731 0.180755 -0.212584 +v 0.529056 0.685927 -0.272512 +v 0.276461 0.911587 -0.193522 +v 0.721292 0.375715 -0.064960 +v 0.605974 0.780947 -0.153912 +v 0.168322 0.784767 -0.299911 +v -0.261826 0.198520 -0.153356 +v -0.273408 0.199616 -0.143044 +v -0.280748 0.200446 -0.133167 +v -0.287152 0.201305 -0.123329 +v -0.292101 0.201853 -0.113377 +v -0.296847 0.202368 -0.103309 +v -0.301479 0.202857 -0.093184 +v -0.303331 0.203130 -0.083297 +v -0.305665 0.203409 -0.073127 +v -0.306481 0.203535 -0.063026 +v -0.305281 0.203494 -0.052962 +v -0.302988 0.203349 -0.042834 +v -0.300926 0.203272 -0.032687 +v -0.298479 0.203170 -0.022599 +v -0.295075 0.202966 -0.012446 +v 0.588910 0.738687 -0.208730 +v -0.196095 0.818167 -0.251618 +v -0.452004 0.363513 0.186904 +v -0.451240 1.111578 -0.188071 +v -0.458611 1.110377 -0.178668 +v -0.466929 1.111897 -0.168172 +v -0.088966 0.911237 -0.169370 +v -0.489384 1.167857 -0.228128 +v -0.231527 0.197028 0.077028 +v -0.233880 0.197299 0.086969 +v -0.235579 0.197470 0.096838 +v -0.239015 0.197832 0.106814 +v -0.242631 0.198257 0.116811 +v -0.246315 0.198685 0.126768 +v -0.249794 0.199078 0.136849 +v -0.252237 0.199383 0.146854 +v -0.254495 0.199684 0.156900 +v -0.255560 0.199830 0.166960 +v -0.255589 0.199887 0.176979 +v -0.255360 0.199944 0.187000 +v -0.254169 0.199885 0.196982 +v -0.252993 0.199805 0.207018 +v -0.250747 0.199698 0.217083 +v 0.061365 0.632372 -0.397477 +v 0.241006 0.663007 -0.368582 +v 0.555706 0.816707 -0.172537 +v 0.264134 0.937987 -0.161838 +v -0.544379 1.085717 -0.107696 +v -0.491386 1.278477 -0.358825 +v -0.468247 1.278407 -0.418681 +v -0.465847 1.278337 -0.428723 +v -0.364522 1.404927 -0.705170 +v -0.553465 0.783937 0.204666 +v -0.321437 0.807477 -0.245452 +v -0.478029 1.417427 -0.580379 +v -0.576359 1.002687 -0.106020 +v -0.469148 1.348037 -0.509417 +v -0.403235 1.362197 -0.659447 +v -0.454692 1.348157 -0.539321 +v -0.071486 1.452358 -0.199415 +v -0.451152 1.190737 -0.517907 +v 0.537326 0.802307 -0.197028 +v 0.386126 0.737307 -0.287016 +v -0.063323 0.768017 -0.279394 +v -0.072432 0.770887 -0.282345 +v -0.041290 0.769567 -0.280995 +v 0.519222 0.867947 -0.147511 +v -0.007105 0.188682 -0.333436 +v -0.014921 0.189497 -0.323520 +v -0.021504 0.190313 -0.313639 +v -0.025165 0.190684 -0.303450 +v -0.029527 0.190873 -0.293020 +v -0.029532 0.190893 -0.283055 +v -0.033326 0.191281 -0.273066 +v -0.038397 0.191780 -0.263046 +v -0.039665 0.191974 -0.253023 +v -0.043534 0.192396 -0.243081 +v -0.046026 0.192681 -0.233057 +v -0.048748 0.193024 -0.223125 +v -0.053787 0.193574 -0.213713 +v -0.632198 0.963267 -0.036749 +v 0.368857 0.934947 -0.159856 +v 0.611723 0.639114 -0.222801 +v -0.312257 0.848347 -0.221993 +v 0.179743 0.788627 -0.301874 +v -0.263296 0.212779 -0.153854 +v -0.273502 0.213880 -0.143196 +v -0.281007 0.214621 -0.133376 +v -0.286958 0.215255 -0.123289 +v -0.290849 0.215679 -0.113413 +v -0.295550 0.216176 -0.103342 +v -0.299415 0.216620 -0.093374 +v -0.302071 0.216912 -0.083347 +v -0.303332 0.217131 -0.073218 +v -0.303435 0.217136 -0.063065 +v -0.302246 0.217129 -0.052931 +v -0.299989 0.216977 -0.042775 +v -0.297533 0.216747 -0.032742 +v -0.295102 0.216584 -0.022611 +v -0.292181 0.216344 -0.012748 +v -0.287468 0.215957 -0.002589 +v -0.450678 1.096957 -0.169628 +v -0.585192 1.003157 -0.096491 +v -0.641062 1.102067 0.172223 +v -0.055053 1.452477 -0.219330 +v -0.592520 1.003477 -0.086695 +v -0.597737 1.100727 -0.007446 +v -0.461197 1.194067 -0.478370 +v -0.231168 0.211086 0.076917 +v -0.233972 0.211321 0.086815 +v -0.236773 0.211569 0.096754 +v -0.240227 0.211966 0.106743 +v -0.242884 0.212257 0.116664 +v -0.246303 0.212678 0.126745 +v -0.248631 0.212970 0.136767 +v -0.251930 0.213412 0.146851 +v -0.253439 0.213593 0.156859 +v -0.254312 0.213743 0.166912 +v -0.254206 0.213808 0.176895 +v -0.253081 0.213752 0.186929 +v -0.252183 0.213790 0.197023 +v -0.250534 0.213643 0.206938 +v -0.247777 0.213377 0.216815 +v -0.643722 1.142767 0.072004 +v -0.584771 1.155767 -0.027626 +v -0.508909 1.210337 -0.098400 +v -0.508690 1.265177 -0.248612 +v -0.442102 1.235577 -0.548572 +v -0.444297 1.235627 -0.538506 +v -0.445683 1.235707 -0.528579 +v -0.462644 1.278177 -0.438793 +v -0.190240 0.849487 -0.244377 +v -0.104769 1.408157 -0.207999 +v -0.115512 1.408638 -0.198674 +v -0.501541 1.418987 -0.568597 +v -0.421579 1.362157 -0.619635 +v -0.475122 1.347967 -0.499468 +v -0.427364 1.362187 -0.609540 +v -0.458563 1.348007 -0.529477 +v -0.078750 1.451847 -0.189381 +v -0.446543 1.348077 -0.559374 +v -0.005359 1.466977 -0.259097 +v -0.439560 1.474757 -0.659043 +v 0.475725 0.826917 -0.223469 +v 0.493650 0.820737 -0.216769 +v 0.510712 0.872127 -0.152198 +v -0.081872 0.773057 -0.284621 +v 0.719184 0.352622 -0.081019 +v 0.005443 0.201309 -0.353683 +v -0.003272 0.202246 -0.343404 +v -0.009738 0.202906 -0.333436 +v -0.015941 0.203554 -0.323315 +v -0.022349 0.204190 -0.313335 +v -0.025789 0.204553 -0.303117 +v -0.028321 0.204833 -0.293100 +v -0.029588 0.205006 -0.283122 +v -0.032123 0.205288 -0.273108 +v -0.034653 0.205588 -0.263120 +v -0.037182 0.205841 -0.253103 +v -0.038452 0.206020 -0.243109 +v -0.041309 0.206369 -0.233248 +v -0.046588 0.206916 -0.223347 +v -0.051414 0.207421 -0.214032 +v -0.638984 0.963387 -0.026720 +v 0.507414 0.895287 -0.117322 +v 0.627728 0.629184 -0.212037 +v -0.266656 0.926007 -0.163377 +v 0.121484 0.778237 -0.290556 +v -0.267179 0.226881 -0.154019 +v -0.274930 0.227886 -0.143382 +v -0.280972 0.228511 -0.133299 +v -0.285879 0.228997 -0.123347 +v -0.289802 0.229403 -0.113501 +v -0.294532 0.229927 -0.103470 +v -0.298395 0.230324 -0.093476 +v -0.301195 0.230608 -0.083461 +v -0.302066 0.230772 -0.073320 +v -0.302219 0.230809 -0.063170 +v -0.301543 0.230726 -0.053053 +v -0.299849 0.230683 -0.042906 +v -0.297540 0.230425 -0.032861 +v -0.295368 0.230244 -0.022645 +v -0.291549 0.229941 -0.012618 +v -0.287414 0.229693 -0.002777 +v -0.280410 0.229061 0.007455 +v -0.272897 0.228488 0.017343 +v -0.619794 0.610504 0.004954 +v -0.618542 0.610373 -0.005001 +v -0.667900 0.978227 0.102926 +v -0.438118 1.263527 -0.548613 +v -0.567137 0.823997 -0.097290 +v -0.235002 0.224971 0.076931 +v -0.237935 0.225481 0.086789 +v -0.239439 0.225540 0.096672 +v -0.242718 0.226074 0.106716 +v -0.244992 0.226391 0.116751 +v -0.247310 0.226720 0.126762 +v -0.249779 0.227022 0.136773 +v -0.251567 0.227143 0.146684 +v -0.252790 0.227361 0.156777 +v -0.253573 0.227545 0.166831 +v -0.253262 0.227599 0.176841 +v -0.252284 0.227568 0.186914 +v -0.250870 0.227513 0.196935 +v -0.248401 0.227334 0.206926 +v -0.245605 0.227142 0.216782 +v -0.628861 0.611325 0.074861 +v -0.594063 1.155857 -0.017330 +v -0.464287 1.180457 -0.458151 +v -0.596773 1.086787 -0.027584 +v -0.624907 1.197107 0.111561 +v -0.621641 1.197297 0.121534 +v -0.457652 1.236217 -0.438533 +v -0.461290 1.278167 -0.448779 +v 0.398394 0.609484 -0.371508 +v -0.125644 1.408657 -0.188744 +v -0.224274 1.337257 -0.128728 +v -0.512306 1.417327 -0.559558 +v -0.457219 1.334097 -0.519273 +v 0.600828 0.679666 -0.226141 +v -0.248491 1.322967 -0.098958 +v -0.503727 1.321267 -0.308868 +v -0.515329 1.320447 -0.408972 +v -0.518553 1.320297 -0.399100 +v 0.005339 1.467397 -0.269462 +v -0.426751 1.475057 -0.669450 +v -0.617017 1.045697 -0.027430 +v 0.060309 1.496798 -0.309502 +v 0.381551 0.849827 -0.248006 +v 0.484782 0.823917 -0.220291 +v 0.213345 0.882297 -0.221793 +v -0.091740 0.774237 -0.285629 +v 0.563409 0.588969 -0.289637 +v 0.011974 0.214879 -0.363496 +v 0.001841 0.215878 -0.353396 +v -0.006033 0.216592 -0.343556 +v -0.011186 0.217096 -0.333552 +v -0.016103 0.217629 -0.323407 +v -0.022134 0.218292 -0.313259 +v -0.028558 0.218897 -0.303289 +v -0.031154 0.219224 -0.293274 +v -0.033435 0.219489 -0.283198 +v -0.034703 0.219642 -0.273205 +v -0.035972 0.219798 -0.263178 +v -0.037228 0.219943 -0.253221 +v -0.039763 0.220237 -0.243211 +v -0.044836 0.220728 -0.233193 +v -0.047910 0.221027 -0.223401 +v -0.289721 0.841157 -0.234879 +v -0.644661 0.963497 -0.016771 +v 0.635643 0.623889 -0.206372 +v 0.580820 0.581396 -0.281749 +v 0.110952 0.778117 -0.290539 +v -0.260716 0.240260 -0.163672 +v -0.270561 0.241168 -0.153762 +v -0.277771 0.241919 -0.143655 +v -0.282670 0.242331 -0.133566 +v -0.286357 0.242823 -0.123592 +v -0.290059 0.243254 -0.113612 +v -0.294620 0.242406 -0.103677 +v -0.298428 0.244115 -0.093547 +v -0.301336 0.244481 -0.083800 +v -0.303771 0.244763 -0.073787 +v -0.303301 0.244666 -0.063301 +v -0.302897 0.244753 -0.053261 +v -0.302136 0.244557 -0.043148 +v -0.300990 0.244394 -0.033083 +v -0.298611 0.244249 -0.022948 +v -0.295608 0.244228 -0.013080 +v -0.290465 0.243899 -0.003205 +v -0.283944 0.243642 0.006574 +v -0.276546 0.242888 0.016297 +v -0.269901 0.242272 0.026733 +v -0.261491 0.241552 0.036734 +v -0.254281 0.240943 0.046736 +v -0.248273 0.240444 0.056737 +v -0.602703 1.003587 -0.076268 +v -0.612277 1.003968 -0.066400 +v -0.619860 1.004267 -0.056901 +v -0.626738 1.004407 -0.046985 +v -0.631377 1.004508 -0.037078 +v -0.634874 1.004598 -0.027140 +v -0.638181 1.004688 -0.017120 +v -0.641682 1.004757 -0.007157 +v -0.644033 1.004877 0.002811 +v -0.646360 1.004947 0.012788 +v -0.648537 1.004997 0.022785 +v -0.253344 0.241514 0.176800 +v -0.252953 0.241628 0.186751 +v -0.250800 0.241432 0.196819 +v -0.248139 0.241282 0.206743 +v -0.649923 1.005137 0.032770 +v -0.652660 1.004957 0.042847 +v -0.604408 1.155877 -0.006868 +v -0.615071 1.156047 0.003068 +v -0.655091 0.922577 -0.006755 +v -0.468339 1.180337 -0.438289 +v -0.653943 1.005097 0.052816 +v -0.465013 1.236507 -0.388571 +v -0.435105 1.277617 -0.558829 +v -0.395259 1.405767 -0.680670 +v -0.133482 1.408877 -0.179073 +v -0.217110 1.337358 -0.138662 +v -0.207612 1.336947 -0.148090 +v -0.514480 1.334758 -0.369011 +v -0.619247 1.045767 -0.017391 +v -0.621402 1.045827 -0.007385 +v -0.449343 1.249887 -0.488627 +v -0.460057 1.250207 -0.428607 +v -0.459364 1.320137 -0.499132 +v -0.014474 1.467108 -0.249345 +v -0.451804 1.474707 -0.649345 +v 0.068057 1.482078 -0.319249 +v 0.070237 1.496877 -0.319682 +v 0.079811 1.496747 -0.329015 +v 0.466529 0.829657 -0.226368 +v 0.160185 0.881897 -0.220936 +v 0.234201 0.881747 -0.221304 +v 0.485443 0.864897 -0.184566 +v 0.108711 0.915267 -0.154952 +v 0.018239 0.228381 -0.373548 +v 0.006826 0.229473 -0.363474 +v -0.000905 0.230211 -0.353534 +v -0.008217 0.231016 -0.343337 +v -0.013297 0.231500 -0.333330 +v -0.017371 0.231890 -0.323458 +v -0.022449 0.232381 -0.313462 +v -0.028544 0.233013 -0.303339 +v -0.031167 0.233287 -0.293372 +v -0.033830 0.233543 -0.283385 +v -0.036023 0.233847 -0.273273 +v -0.038553 0.234125 -0.263275 +v -0.038557 0.234203 -0.253282 +v -0.039829 0.234340 -0.243269 +v -0.046160 0.234985 -0.233257 +v -0.049262 0.235212 -0.223454 +v -0.052672 0.235478 -0.213742 +v -0.622625 1.045927 0.002593 +v 0.579509 0.659503 -0.244561 +v 0.191540 0.941367 -0.164761 +v 0.081029 0.781327 -0.293803 +v -0.265830 0.254549 -0.163953 +v -0.275211 0.255582 -0.153616 +v -0.281377 0.256162 -0.143614 +v -0.286512 0.256593 -0.133733 +v -0.288952 0.256887 -0.123682 +v -0.292501 0.257180 -0.113610 +v -0.296074 0.257658 -0.103667 +v -0.299792 0.257955 -0.093675 +v -0.303614 0.258309 -0.083670 +v -0.305185 0.258725 -0.073421 +v -0.306780 0.258720 -0.063432 +v -0.308029 0.258876 -0.053401 +v -0.310885 0.258779 -0.043377 +v -0.313566 0.258881 -0.033266 +v -0.312273 0.258696 -0.023201 +v -0.307865 0.258116 -0.012034 +v -0.304586 0.257234 -0.002696 +v -0.299622 0.256950 0.007366 +v -0.298560 0.255445 0.017945 +v -0.623933 1.046077 0.012557 +v -0.627087 1.046037 0.022619 +v -0.628194 1.046298 0.032715 +v -0.631298 1.046307 0.042779 +v -0.632991 1.046357 0.052545 +v -0.635313 1.046437 0.062530 +v -0.278366 0.257383 0.106655 +v -0.654217 1.005248 0.062774 +v -0.521023 1.376267 -0.499076 +v -0.422454 1.291557 -0.609065 +v -0.416563 1.291367 -0.629099 +v -0.594505 1.086747 -0.037625 +v -0.654339 1.005358 0.072785 +v -0.255575 0.255707 0.176706 +v -0.654203 1.005367 0.082767 +v -0.655545 1.005527 0.092751 +v -0.656392 1.005437 0.102756 +v -0.656360 1.005477 0.112768 +v -0.655404 1.005608 0.122757 +v -0.653406 1.005808 0.132786 +v -0.155667 1.379677 -0.178246 +v -0.425604 1.234367 -0.599154 +v -0.466689 1.180517 -0.448143 +v -0.470458 1.180537 -0.428217 +v -0.624570 1.196457 0.052104 +v -0.466219 1.236547 -0.378578 +v -0.433618 1.277567 -0.568723 +v -0.516197 1.403047 -0.539912 +v -0.141348 1.408567 -0.167520 +v -0.229203 1.337327 -0.118875 +v -0.652188 1.005788 0.142778 +v -0.650145 1.005947 0.152826 +v -0.468468 1.222637 -0.378479 +v -0.013288 0.912647 -0.131344 +v -0.648755 1.005837 0.162785 +v -0.473272 1.250617 -0.348644 +v -0.439226 1.319947 -0.559209 +v -0.463715 1.472947 -0.639525 +v 0.056409 1.482078 -0.309475 +v -0.281340 1.294827 -0.058888 +v 0.050502 1.496618 -0.299206 +v 0.115399 1.511897 -0.358936 +v -0.008014 0.894017 -0.171400 +v 0.171180 0.882857 -0.222044 +v 0.476140 0.867387 -0.187134 +v 0.131747 0.919037 -0.159480 +v 0.020702 0.242223 -0.383666 +v 0.009268 0.243286 -0.373652 +v 0.001614 0.244051 -0.363591 +v -0.004673 0.244664 -0.353543 +v -0.008718 0.245047 -0.343619 +v -0.013583 0.245665 -0.333480 +v -0.018460 0.246156 -0.323409 +v -0.024602 0.246735 -0.313301 +v -0.027524 0.246994 -0.303497 +v -0.031353 0.247408 -0.293494 +v -0.036244 0.247916 -0.283408 +v -0.037807 0.248034 -0.273489 +v -0.040442 0.248299 -0.263671 +v -0.041148 0.248507 -0.253335 +v -0.043678 0.248784 -0.243353 +v -0.046209 0.249052 -0.233357 +v -0.050014 0.249445 -0.223347 +v -0.052541 0.249709 -0.213368 +v 0.587635 0.654281 -0.239161 +v -0.310550 0.913187 -0.169281 +v 0.070388 0.781597 -0.294204 +v 0.761871 0.310222 -0.119136 +v -0.271591 0.269129 -0.163647 +v -0.279118 0.269748 -0.153833 +v -0.285096 0.270347 -0.143739 +v -0.290796 0.271018 -0.133523 +v -0.294419 0.271382 -0.123535 +v -0.297237 0.271471 -0.113729 +v -0.300346 0.271398 -0.103765 +v -0.305244 0.271653 -0.094115 +v -0.309842 0.272293 -0.083940 +v -0.315293 0.271584 -0.074507 +v -0.317047 0.270852 -0.064566 +v -0.319364 0.270218 -0.054622 +v -0.637548 1.046477 0.072549 +v -0.639587 1.046567 0.082575 +v -0.640710 1.046617 0.092561 +v -0.639923 1.046667 0.102528 +v -0.639147 1.046887 0.112475 +v -0.636744 1.046767 0.122599 +v -0.480625 0.617486 -0.231391 +v -0.490693 0.617118 -0.226344 +v -0.124289 1.363547 -0.210869 +v 0.439333 0.642025 -0.323649 +v 0.449273 0.641853 -0.322121 +v -0.646748 1.006017 0.172826 +v -0.644420 1.006017 0.182827 +v -0.372522 1.051807 -0.165813 +v -0.634364 1.046808 0.132591 +v -0.631195 1.046827 0.142643 +v -0.628416 1.046867 0.152532 +v -0.524734 1.376117 -0.469258 +v -0.643002 1.005907 0.192751 +v -0.640606 1.005877 0.202730 +v -0.637635 1.006098 0.212782 +v -0.636233 1.006017 0.222761 +v -0.566266 1.085807 -0.076986 +v -0.513073 1.292907 -0.308798 +v -0.354502 1.377397 -0.704235 +v -0.424918 1.376287 -0.619583 +v -0.447122 1.207397 -0.538633 +v -0.442007 1.206727 -0.550283 +v -0.461053 1.389967 -0.569826 +v -0.473541 1.278268 -0.398845 +v -0.443011 1.277787 -0.528704 +v -0.475112 1.180737 -0.408195 +v -0.620195 1.196617 0.042123 +v -0.467423 1.236577 -0.368604 +v -0.430374 1.277527 -0.578823 +v -0.521617 1.403827 -0.529473 +v -0.519217 1.417907 -0.549474 +v -0.198635 1.336807 -0.157867 +v -0.497521 1.237987 -0.158435 +v -0.500572 1.223877 -0.158463 +v -0.472285 1.222887 -0.338509 +v -0.532259 1.182447 -0.087804 +v -0.550964 1.182348 -0.067407 +v -0.634246 1.006137 0.232773 +v -0.506154 1.293337 -0.268713 +v -0.436497 1.319947 -0.569059 +v 0.045534 1.481867 -0.298940 +v -0.391709 1.362137 -0.680071 +v 0.042321 1.496787 -0.289744 +v 0.104593 1.511547 -0.349562 +v 0.048835 1.511427 -0.289733 +v -0.199896 0.861547 -0.237149 +v 0.048055 0.889927 -0.187974 +v -0.059741 0.886247 -0.182997 +v 0.501035 0.804067 -0.218970 +v 0.022187 0.256367 -0.393460 +v 0.010741 0.257374 -0.383468 +v 0.002833 0.257964 -0.373703 +v -0.003356 0.258663 -0.363500 +v -0.007326 0.259013 -0.353612 +v -0.012196 0.259532 -0.343471 +v -0.015973 0.259933 -0.333485 +v -0.020880 0.260508 -0.323393 +v -0.022426 0.260642 -0.313531 +v -0.027586 0.261115 -0.303572 +v -0.032614 0.261621 -0.293540 +v -0.036455 0.261989 -0.283533 +v -0.040246 0.262356 -0.273567 +v -0.044046 0.262756 -0.263531 +v -0.046275 0.263070 -0.253413 +v -0.048801 0.263329 -0.243429 +v -0.050065 0.263497 -0.233454 +v -0.052598 0.263757 -0.223444 +v -0.625341 1.046907 0.162564 +v 0.537675 0.682097 -0.268409 +v 0.453171 0.612196 -0.334339 +v 0.049528 0.781977 -0.294507 +v 0.423930 0.597154 -0.358504 +v 0.351660 0.631670 -0.375109 +v 0.356184 0.568941 -0.409890 +v 0.562194 0.848477 -0.126341 +v -0.293153 0.284482 -0.134086 +v -0.296927 0.284689 -0.124344 +v -0.303293 0.284206 -0.115212 +v -0.311307 0.282359 -0.106814 +v -0.312057 0.281703 -0.097182 +v -0.622894 1.046947 0.172553 +v -0.140906 0.653180 -0.310421 +v -0.160819 0.652921 -0.309830 +v -0.621886 1.046988 0.182546 +v -0.622043 1.047058 0.192511 +v -0.532298 1.035607 -0.130194 +v 0.318902 0.740677 -0.298252 +v 0.469548 0.641773 -0.316543 +v -0.013408 1.304807 -0.240204 +v 0.148832 0.740957 -0.316856 +v -0.100816 0.625351 -0.322917 +v -0.110719 0.625172 -0.322418 +v -0.050830 0.625946 -0.329221 +v -0.103075 1.244527 -0.193167 +v -0.452077 1.066257 -0.162530 +v -0.352759 1.051597 -0.160255 +v -0.633055 1.006168 0.242759 +v -0.632929 1.006168 0.252756 +v -0.632951 1.006248 0.262753 +v -0.470778 1.375657 -0.539965 +v -0.496218 1.376367 -0.519144 +v -0.525334 1.375988 -0.489329 +v -0.522614 1.376237 -0.459273 +v -0.622955 1.047127 0.202516 +v -0.635449 1.074297 0.132405 +v -0.669395 0.964867 0.143054 +v -0.132870 1.379637 -0.197975 +v -0.298112 1.280477 -0.058812 +v -0.286688 1.279887 -0.088457 +v -0.261441 1.279367 -0.117136 +v -0.464563 1.375967 -0.549723 +v -0.431417 1.291657 -0.578857 +v -0.633741 1.006227 0.272758 +v -0.649311 0.964987 0.252983 +v -0.403772 1.376307 -0.659825 +v -0.615469 1.196257 0.032360 +v -0.588685 1.195907 -0.007071 +v -0.471980 1.236777 -0.338575 +v -0.468371 1.292357 -0.438777 +v -0.522631 1.403957 -0.519400 +v -0.520965 1.417847 -0.539399 +v -0.188556 1.336848 -0.167803 +v -0.633797 1.006287 0.282751 +v -0.501231 1.223868 -0.168431 +v -0.516008 1.182567 -0.108235 +v -0.510150 1.182417 -0.128269 +v -0.524390 1.182667 -0.098232 +v -0.633532 1.006297 0.292702 +v -0.633090 1.006227 0.302603 +v -0.433004 1.319927 -0.579130 +v 0.034163 1.481727 -0.288924 +v 0.024863 1.496627 -0.269525 +v 0.033465 1.496747 -0.279746 +v 0.034481 1.511647 -0.270043 +v 0.041120 1.511518 -0.279776 +v -0.210946 0.860807 -0.236289 +v 0.343400 0.897667 -0.219458 +v -0.157456 0.770267 -0.281634 +v 0.537204 0.792027 -0.205972 +v 0.024943 0.270382 -0.403224 +v 0.011967 0.271343 -0.393560 +v 0.004075 0.271937 -0.383801 +v -0.003572 0.272657 -0.373731 +v -0.007550 0.272998 -0.363801 +v -0.012536 0.273490 -0.353677 +v -0.017448 0.274097 -0.343613 +v -0.021189 0.274469 -0.333566 +v -0.023733 0.274747 -0.323583 +v -0.026283 0.275044 -0.313571 +v -0.029839 0.275475 -0.303514 +v -0.033776 0.274568 -0.293668 +v -0.037465 0.276227 -0.283518 +v -0.041492 0.276558 -0.273618 +v -0.046600 0.277063 -0.263616 +v -0.048864 0.277383 -0.253494 +v -0.051391 0.277655 -0.243524 +v -0.055201 0.278047 -0.233486 +v -0.056459 0.278187 -0.223520 +v 0.546251 0.678231 -0.264200 +v -0.197814 0.916077 -0.194264 +v -0.124061 0.037558 -0.383286 +v 0.060175 0.782027 -0.294594 +v 0.143953 0.780657 -0.293296 +v 0.212438 0.790447 -0.303879 +v 0.255537 0.821697 -0.277314 +v 0.293569 0.611957 -0.414994 +v 0.434645 0.627442 -0.330652 +v 0.367229 0.670691 -0.316456 +v -0.385561 0.307056 -0.113661 +v -0.395258 0.307833 -0.103659 +v -0.403845 0.310252 -0.092855 +v -0.130834 0.653174 -0.311261 +v -0.150850 0.653029 -0.310082 +v -0.170811 0.652820 -0.308706 +v -0.180780 0.652652 -0.307306 +v -0.452713 1.095427 -0.167669 +v 0.033382 0.041042 0.444233 +v -0.060815 0.625821 -0.328009 +v -0.070779 0.625675 -0.326671 +v -0.080720 0.625532 -0.326238 +v -0.090806 0.625457 -0.324191 +v -0.320797 0.607832 -0.292846 +v -0.300832 0.608835 -0.305872 +v -0.290781 0.609076 -0.308497 +v -0.310801 0.608415 -0.300553 +v -0.431333 0.890957 -0.177957 +v -0.394064 1.262167 -0.641246 +v -0.490489 0.588233 -0.228607 +v -0.090849 0.653719 -0.317595 +v -0.436273 1.292327 -0.559135 +v -0.433735 1.291707 -0.568831 +v -0.428089 1.291627 -0.588951 +v -0.425603 1.291587 -0.598914 +v -0.419846 1.291497 -0.619008 +v -0.634289 1.073028 0.062420 +v -0.627736 1.128807 0.032086 +v -0.630324 1.128807 0.041919 +v -0.625095 1.047157 0.212513 +v -0.165241 1.380208 -0.168914 +v -0.184242 1.380187 -0.139184 +v -0.509821 1.293137 -0.288733 +v -0.356519 1.364277 -0.701437 +v -0.622725 1.128937 0.022329 +v -0.509769 1.265107 -0.258631 +v -0.179254 1.380347 -0.149141 +v -0.185657 1.380457 -0.119428 +v -0.435389 1.235187 -0.579155 +v -0.582716 1.195837 -0.017472 +v -0.569663 1.195557 -0.037256 +v -0.473373 1.236807 -0.328608 +v -0.628533 1.074958 0.252374 +v -0.145891 1.408577 -0.159221 +v 0.036204 1.364408 -0.278888 +v -0.606052 0.609448 -0.045108 +v -0.454010 1.152207 -0.328166 +v -0.502308 1.223798 -0.178430 +v -0.512418 1.182447 -0.118261 +v -0.540564 1.182447 -0.077733 +v -0.657648 0.964807 0.192856 +v -0.417306 1.263067 -0.628872 +v -0.411610 1.319747 -0.639221 +v 0.023832 1.481747 -0.279145 +v 0.794260 0.342824 -0.091319 +v -0.517564 1.306667 -0.358889 +v 0.093330 1.511518 -0.339493 +v -0.301170 0.850567 -0.224538 +v -0.242487 0.881637 -0.217720 +v -0.168386 0.769127 -0.280230 +v 0.555738 0.786817 -0.200400 +v 0.016993 0.285046 -0.403591 +v 0.005394 0.286021 -0.393903 +v -0.002702 0.286496 -0.384144 +v -0.009798 0.287423 -0.373716 +v -0.013514 0.287855 -0.363618 +v -0.017274 0.288220 -0.353585 +v -0.021025 0.288614 -0.343575 +v -0.022527 0.288759 -0.333684 +v -0.027605 0.289194 -0.323663 +v -0.031166 0.289632 -0.313561 +v -0.034961 0.290034 -0.303606 +v -0.037497 0.290291 -0.293598 +v -0.041509 0.290552 -0.283684 +v -0.045669 0.290923 -0.273823 +v -0.050653 0.291342 -0.263800 +v -0.052727 0.291824 -0.253578 +v -0.055256 0.292082 -0.243588 +v -0.064470 0.291410 -0.235408 +v 0.484480 0.702737 -0.290250 +v 0.087977 0.744167 -0.314612 +v 0.579653 0.731247 -0.220883 +v -0.099379 0.045042 -0.390414 +v 0.132632 0.778747 -0.291124 +v 0.330650 0.651964 -0.356851 +v 0.212225 0.819847 -0.275202 +v 0.245224 0.621052 -0.424862 +v 0.570782 0.479138 -0.295424 +v 0.805375 0.374538 -0.063588 +v -0.395359 0.319582 -0.125376 +v -0.407122 0.321391 -0.114709 +v -0.415339 0.322287 -0.104498 +v -0.423454 0.323416 -0.094186 +v -0.428983 0.324544 -0.083785 +v -0.435949 0.325475 -0.073649 +v -0.293263 1.212977 -0.104417 +v -0.529945 0.401932 0.102001 +v -0.543104 0.433910 0.124681 +v -0.440532 0.604448 -0.250438 +v -0.450526 0.604143 -0.246578 +v -0.460439 0.603811 -0.242534 +v -0.471234 0.905057 -0.169278 +v -0.441384 0.890817 -0.175991 +v 0.288783 0.769077 -0.292162 +v -0.141319 0.780997 -0.277467 +v -0.552302 1.020508 -0.118062 +v 0.298781 0.769027 -0.290947 +v -0.511192 0.845347 -0.144040 +v -0.480652 0.588756 -0.235270 +v -0.542486 1.049967 -0.118162 +v -0.512190 1.050647 -0.140782 +v -0.467059 1.194337 -0.448318 +v -0.311013 1.265948 -0.058619 +v -0.499151 1.222657 -0.088397 +v -0.542843 1.207297 -0.046779 +v -0.431428 1.263397 -0.578707 +v -0.413286 1.291187 -0.639571 +v -0.409245 1.291107 -0.649413 +v -0.401950 1.291637 -0.658120 +v -0.443665 1.107547 -0.186750 +v -0.144451 1.379777 -0.188265 +v -0.172880 1.380277 -0.159041 +v -0.627038 1.047227 0.222569 +v -0.628107 1.047297 0.232564 +v -0.360062 1.391097 -0.705546 +v -0.399971 1.390517 -0.669816 +v -0.423714 1.390397 -0.629637 +v -0.505505 1.279497 -0.248547 +v -0.513234 1.278887 -0.298752 +v -0.484511 1.278198 -0.368957 +v -0.447043 1.235767 -0.518592 +v -0.576897 1.195977 -0.027356 +v -0.475629 1.236837 -0.318550 +v -0.511444 1.264887 -0.298664 +v -0.148573 1.408688 -0.149379 +v -0.446729 1.362137 -0.569656 +v -0.639861 0.827867 -0.006141 +v -0.630025 1.047337 0.242579 +v -0.502303 1.223707 -0.188423 +v -0.560707 1.182597 -0.057550 +v -0.483503 1.167657 -0.258160 +v -0.468542 1.194347 -0.438359 +v -0.253630 0.173533 0.266874 +v -0.421572 1.262847 -0.619319 +v -0.261580 1.308517 -0.098748 +v -0.255542 1.308497 -0.108636 +v -0.515237 1.306557 -0.378886 +v -0.517464 1.306267 -0.369050 +v 0.028000 1.511797 -0.260129 +v -0.630299 1.047408 0.252529 +v -0.018219 0.894607 -0.172043 +v 0.093454 0.866007 -0.223286 +v -0.146360 0.770887 -0.282177 +v 0.024330 0.298365 -0.413979 +v 0.010406 0.299651 -0.403913 +v 0.001408 0.300440 -0.394008 +v -0.007372 0.301252 -0.383889 +v -0.015096 0.301929 -0.373929 +v -0.019792 0.302524 -0.363679 +v -0.021071 0.302696 -0.353666 +v -0.023615 0.302990 -0.343669 +v -0.026151 0.303224 -0.333640 +v -0.031217 0.303724 -0.323659 +v -0.035168 0.304069 -0.313722 +v -0.039042 0.304417 -0.303715 +v -0.041786 0.304685 -0.293783 +v -0.046716 0.305137 -0.283764 +v -0.050662 0.305502 -0.273930 +v -0.055716 0.305905 -0.263864 +v -0.057855 0.306354 -0.253661 +v -0.060398 0.306628 -0.243647 +v -0.062918 0.306869 -0.233672 +v 0.097811 0.742557 -0.312800 +v 0.596892 0.723637 -0.212660 +v 0.588222 0.727437 -0.216718 +v 0.069687 0.028891 -0.365776 +v 0.316359 0.674349 -0.320454 +v 0.659896 0.608875 -0.190330 +v 0.676509 0.599645 -0.180469 +v 0.274392 0.615844 -0.419288 +v 0.428029 0.756347 -0.267786 +v 0.419168 0.759957 -0.271322 +v -0.412219 0.335258 -0.125120 +v -0.422910 0.336431 -0.114885 +v -0.431373 0.337155 -0.104779 +v -0.439453 0.338218 -0.094495 +v -0.447582 0.339189 -0.084319 +v -0.454083 0.339169 -0.074759 +v -0.500917 0.716197 -0.184757 +v -0.481801 0.389430 0.193238 +v -0.511196 0.715767 -0.176133 +v -0.512157 1.021387 -0.146281 +v -0.406264 1.145407 -0.333824 +v -0.478746 0.342383 -0.013859 +v -0.481619 0.343346 -0.003746 +v -0.481908 0.343176 0.004980 +v -0.540659 0.844627 -0.124442 +v -0.070632 0.597173 -0.331320 +v -0.060812 0.597413 -0.331909 +v -0.080656 0.597051 -0.330151 +v -0.090643 0.596926 -0.328873 +v -0.093538 1.304058 -0.226779 +v -0.103254 1.304157 -0.224789 +v -0.321191 0.722337 -0.274857 +v -0.330630 0.593010 -0.287575 +v 0.486461 0.756467 -0.247812 +v -0.472907 1.208617 -0.388387 +v -0.471691 1.208547 -0.398367 +v -0.469592 1.208527 -0.408405 +v -0.134015 0.784567 -0.276542 +v -0.216542 0.819447 -0.252811 +v -0.146044 0.924027 -0.182912 +v -0.197053 1.366087 -0.139073 +v 0.620517 0.768077 -0.139937 +v -0.295530 1.280257 -0.068765 +v -0.185639 1.380437 -0.129378 +v -0.511752 1.292968 -0.298806 +v -0.349915 1.435217 -0.704210 +v -0.630279 1.047437 0.262524 +v -0.630039 1.047437 0.272475 +v -0.448034 1.390037 -0.589916 +v -0.475476 1.389617 -0.550021 +v -0.524008 1.389977 -0.509354 +v -0.458837 1.278147 -0.458750 +v -0.448355 1.235847 -0.508598 +v -0.478199 1.236817 -0.308631 +v -0.311465 1.266407 -0.048728 +v -0.148646 1.408837 -0.139506 +v -0.461108 1.361917 -0.539673 +v -0.652103 0.828527 0.033848 +v -0.479188 1.375447 -0.530057 +v -0.503271 1.223647 -0.198448 +v -0.571218 1.182657 -0.047427 +v -0.478495 1.167687 -0.278102 +v -0.481059 1.167627 -0.268126 +v -0.470715 1.194447 -0.428341 +v 0.429768 0.850517 -0.228830 +v -0.424733 1.263067 -0.608903 +v -0.509401 1.306987 -0.308869 +v -0.511315 1.306728 -0.388773 +v -0.467641 1.306188 -0.459032 +v 0.021928 1.511547 -0.250001 +v -0.628920 1.047457 0.282442 +v -0.189304 0.861787 -0.237483 +v 0.070326 0.861917 -0.218692 +v 0.420996 0.883857 -0.204823 +v 0.017965 0.313088 -0.414013 +v 0.006550 0.314101 -0.403970 +v -0.003431 0.315075 -0.393792 +v -0.011278 0.315695 -0.383959 +v -0.019941 0.316576 -0.373810 +v -0.024251 0.316778 -0.364071 +v -0.027472 0.317361 -0.353736 +v -0.028736 0.317514 -0.343743 +v -0.031275 0.317767 -0.333705 +v -0.033807 0.318042 -0.323735 +v -0.037611 0.318428 -0.313748 +v -0.042918 0.318848 -0.303810 +v -0.046797 0.319134 -0.293862 +v -0.050636 0.319509 -0.283852 +v -0.054666 0.319864 -0.273970 +v -0.058542 0.320219 -0.263980 +v -0.061725 0.320779 -0.253741 +v -0.067143 0.320389 -0.244851 +v 0.372080 0.710337 -0.298481 +v 0.456125 0.719417 -0.288089 +v 0.178413 0.020354 -0.340719 +v 0.533849 0.521344 -0.319328 +v 0.595781 0.649091 -0.233745 +v 0.643506 0.619088 -0.201128 +v 0.668201 0.604253 -0.185391 +v 0.356606 0.670434 -0.316207 +v 0.709437 0.394734 -0.084970 +v 0.232500 0.788227 -0.301516 +v -0.416744 0.349636 -0.134887 +v -0.426757 0.350157 -0.125172 +v -0.437271 0.351493 -0.114798 +v -0.446596 0.352597 -0.104587 +v -0.455045 0.353261 -0.094627 +v -0.465841 0.354214 -0.084531 +v -0.474485 0.354697 -0.074941 +v -0.479959 0.356037 -0.064128 +v -0.483261 0.356571 -0.053965 +v -0.351424 0.890917 -0.179410 +v -0.490720 0.357086 -0.034005 +v -0.492816 0.357541 -0.023876 +v -0.493130 0.357374 -0.013925 +v -0.492000 0.357274 -0.003909 +v -0.491462 0.356922 0.007289 +v -0.130683 0.596234 -0.322517 +v -0.120612 0.596447 -0.324727 +v -0.121289 0.781147 -0.279901 +v -0.201079 0.724017 -0.297214 +v -0.362796 1.051647 -0.163595 +v -0.421455 0.818667 -0.186997 +v -0.231169 0.723937 -0.292687 +v -0.221115 0.723867 -0.293641 +v -0.421153 0.846987 -0.174724 +v -0.452028 1.022367 -0.169144 +v -0.156056 0.782877 -0.274733 +v -0.627284 1.074737 0.212386 +v -0.631385 1.073897 0.052661 +v -0.519740 1.085047 -0.136713 +v -0.468232 1.208427 -0.418396 +v -0.466080 1.208407 -0.428440 +v -0.504413 1.292617 -0.368815 +v -0.646768 0.828697 0.123679 +v -0.471468 1.320047 -0.469203 +v -0.279764 1.279507 -0.097584 +v -0.648474 0.965118 0.262978 +v -0.515443 1.292768 -0.328847 +v -0.405935 1.390497 -0.659782 +v -0.429890 1.390287 -0.619798 +v -0.626750 1.047498 0.292417 +v -0.623619 1.047567 0.302443 +v -0.568437 1.016527 -0.106424 +v -0.640746 1.074277 0.112329 +v -0.429036 1.277477 -0.588795 +v -0.426777 1.277447 -0.598836 +v -0.428848 1.348037 -0.599584 +v -0.579102 1.016757 -0.096363 +v -0.363836 1.432307 -0.705111 +v -0.612684 0.962727 -0.076688 +v 0.255396 0.620199 -0.423847 +v -0.503344 1.223527 -0.208446 +v -0.577533 1.182977 -0.037768 +v -0.472801 1.167317 -0.298158 +v -0.475967 1.167757 -0.288063 +v -0.472789 1.194547 -0.418251 +v -0.587628 1.017107 -0.086577 +v -0.433720 1.263427 -0.568704 +v -0.511813 1.306927 -0.318874 +v -0.504429 1.306527 -0.398858 +v -0.464154 1.306118 -0.469053 +v -0.460721 1.306077 -0.479107 +v 0.098158 1.526718 -0.338826 +v -0.168783 0.860487 -0.236281 +v -0.067984 0.850667 -0.225937 +v 0.038828 0.862487 -0.219128 +v 0.026422 0.888927 -0.186727 +v 0.534575 0.876327 -0.116629 +v 0.013768 0.327391 -0.414450 +v 0.003728 0.328387 -0.404273 +v -0.006406 0.329321 -0.394189 +v -0.015414 0.330078 -0.384256 +v -0.024249 0.330894 -0.374179 +v -0.031797 0.331610 -0.364065 +v -0.034459 0.331849 -0.354059 +v -0.036401 0.332273 -0.343819 +v -0.038944 0.332546 -0.333804 +v -0.038942 0.332593 -0.323814 +v -0.041479 0.332837 -0.313796 +v -0.046556 0.333322 -0.303791 +v -0.050349 0.333701 -0.293831 +v -0.053268 0.333839 -0.283968 +v -0.059599 0.334441 -0.273967 +v -0.064050 0.334621 -0.264253 +v -0.069514 0.334848 -0.254678 +v 0.394108 0.712207 -0.300526 +v 0.383482 0.711767 -0.299782 +v 0.436601 0.712637 -0.300928 +v 0.562949 0.669200 -0.254675 +v 0.554562 0.673689 -0.259401 +v 0.603700 0.644365 -0.228406 +v 0.651571 0.613871 -0.195622 +v 0.714377 0.383775 -0.073350 +v 0.243240 0.819097 -0.274490 +v 0.222635 0.789597 -0.302949 +v -0.419957 0.361912 -0.145957 +v -0.430988 0.362654 -0.136201 +v -0.442361 0.365238 -0.124932 +v -0.449342 0.366012 -0.114904 +v -0.460819 0.367591 -0.104418 +v -0.471695 0.368388 -0.094629 +v -0.479779 0.369632 -0.084152 +v -0.484601 0.370075 -0.074103 +v -0.489392 0.370566 -0.064056 +v -0.492868 0.371021 -0.054017 +v -0.495350 0.371200 -0.044014 +v -0.498124 0.371168 -0.034130 +v -0.501647 0.371576 -0.024045 +v -0.441430 0.789747 -0.190782 +v -0.503158 0.371457 -0.004082 +v -0.211136 0.724057 -0.295122 +v -0.422112 1.051837 -0.171112 +v -0.412187 1.051908 -0.171181 +v -0.491969 1.050997 -0.151070 +v -0.431433 0.369643 0.220857 +v -0.385257 1.449807 -0.697490 +v -0.375494 0.347871 0.233917 +v 0.135077 1.483247 -0.375602 +v -0.161090 0.724237 -0.298566 +v -0.261415 0.822447 -0.251824 +v -0.331740 0.891437 -0.180622 +v -0.351631 0.905587 -0.177853 +v -0.598093 1.017298 -0.076357 +v -0.607686 1.017568 -0.066478 +v -0.616332 1.017887 -0.056827 +v -0.628174 1.074607 0.172323 +v -0.500108 1.195917 -0.158556 +v -0.464851 1.208347 -0.438420 +v -0.463512 1.208267 -0.448396 +v -0.461331 1.208227 -0.458434 +v -0.392562 1.376367 -0.679765 +v -0.442041 1.376107 -0.589788 +v -0.452704 1.376047 -0.569725 +v -0.217426 1.352018 -0.119118 +v -0.627994 1.074787 0.222396 +v -0.454913 1.390127 -0.579706 +v -0.521910 1.389937 -0.479402 +v -0.524920 1.388987 -0.500185 +v -0.599256 1.128487 -0.007604 +v -0.153607 1.394417 -0.168859 +v -0.402472 1.404647 -0.670033 +v -0.432668 1.347977 -0.589684 +v -0.441835 1.362097 -0.579567 +v 0.448301 0.561734 -0.361882 +v -0.171840 1.350927 -0.177643 +v -0.613388 1.073487 0.012513 +v -0.502343 1.223377 -0.218481 +v -0.584481 1.182897 -0.027581 +v -0.469920 1.167687 -0.318047 +v -0.471544 1.167327 -0.308115 +v -0.478869 1.194797 -0.378274 +v -0.623625 1.018157 -0.047162 +v -0.444517 1.263687 -0.518690 +v -0.248939 1.308228 -0.118018 +v 0.017953 1.496978 -0.259996 +v 0.084203 1.511928 -0.330417 +v 0.018220 1.511457 -0.239985 +v 0.088469 1.526017 -0.329366 +v -0.088874 0.850907 -0.226185 +v 0.059683 0.861807 -0.218531 +v 0.089789 0.888987 -0.187142 +v 0.526120 0.880607 -0.121422 +v 0.017213 0.340921 -0.424833 +v 0.006010 0.342049 -0.414534 +v -0.001539 0.342824 -0.404405 +v -0.010100 0.343802 -0.394132 +v -0.019037 0.344574 -0.384166 +v -0.027997 0.345358 -0.374187 +v -0.034313 0.345944 -0.364120 +v -0.037161 0.346159 -0.354205 +v -0.040882 0.346681 -0.344101 +v -0.044459 0.346957 -0.334020 +v -0.045330 0.347204 -0.323906 +v -0.047872 0.347474 -0.313887 +v -0.049152 0.347653 -0.303883 +v -0.054219 0.348108 -0.293890 +v -0.058298 0.348400 -0.283988 +v -0.061283 0.348519 -0.274192 +v -0.066604 0.348924 -0.264363 +v -0.071891 0.349271 -0.255060 +v 0.516224 0.891787 -0.113375 +v 0.405490 0.713637 -0.301931 +v 0.475113 0.705087 -0.292793 +v 0.493621 0.699887 -0.287245 +v 0.571218 0.664062 -0.249442 +v 0.541788 0.516663 -0.314071 +v 0.612958 0.783787 -0.136798 +v 0.191180 0.790087 -0.303485 +v 0.202211 0.790907 -0.304302 +v 0.546805 0.598104 -0.299266 +v -0.440543 0.376411 -0.146880 +v -0.454292 0.378439 -0.135541 +v -0.462854 0.381772 -0.124154 +v -0.469507 0.381688 -0.114585 +v -0.480025 0.382808 -0.104339 +v -0.488146 0.383968 -0.094123 +v -0.492890 0.384436 -0.084072 +v -0.495449 0.384594 -0.074142 +v -0.499393 0.384682 -0.064259 +v -0.503176 0.384903 -0.054340 +v -0.507767 0.385477 -0.044272 +v -0.511504 0.385667 -0.034315 +v -0.181099 0.724207 -0.298659 +v -0.171086 0.724277 -0.298812 +v -0.526227 0.387749 -0.003982 +v -0.527618 0.387716 0.005991 +v -0.529760 0.388214 0.016068 +v -0.531061 0.388259 0.026027 +v -0.531247 0.388188 0.036027 +v -0.531292 0.388191 0.046032 +v -0.531248 0.388260 0.056062 +v -0.530157 0.388141 0.066078 +v -0.450499 0.546600 -0.251781 +v -0.320690 0.579257 -0.296574 +v -0.310751 0.579765 -0.303186 +v -0.300775 0.580020 -0.307091 +v -0.290701 0.580262 -0.309705 +v -0.280549 0.580426 -0.311986 +v -0.270435 0.580495 -0.312116 +v -0.260479 0.580479 -0.311099 +v -0.628183 1.018207 -0.037196 +v -0.537002 1.168717 -0.087735 +v -0.504660 1.196047 -0.148480 +v -0.646951 1.170248 0.081907 +v -0.647141 1.170347 0.091883 +v -0.460913 1.208147 -0.468352 +v -0.452603 1.207867 -0.518343 +v -0.450731 1.207597 -0.528601 +v -0.509328 1.376327 -0.509105 +v 0.158558 0.898937 -0.198881 +v -0.507721 1.279337 -0.258614 +v -0.490469 1.390107 -0.539469 +v -0.523722 1.390067 -0.489353 +v -0.517810 1.348537 -0.399108 +v -0.161422 1.394577 -0.159118 +v -0.409314 1.404637 -0.659749 +v -0.522070 1.403947 -0.509390 +v -0.456278 1.361987 -0.549612 +v 0.256603 0.833407 -0.269808 +v -0.517586 1.334587 -0.379092 +v -0.432770 0.447584 0.294223 +v -0.496848 1.223527 -0.248455 +v -0.590423 1.182947 -0.017537 +v -0.468663 1.167737 -0.328047 +v -0.362575 0.812557 -0.223942 +v -0.481131 1.194857 -0.368273 +v -0.505794 1.209908 -0.108339 +v -0.446016 1.263747 -0.508776 +v -0.513389 1.306877 -0.328848 +v 0.009382 1.496707 -0.249865 +v -0.632566 1.018277 -0.027187 +v 0.013518 1.511008 -0.229910 +v 0.080283 1.526367 -0.319949 +v -0.179048 0.861277 -0.237129 +v 0.104918 0.867407 -0.224949 +v 0.111421 0.889487 -0.188045 +v 0.500052 0.891687 -0.133531 +v 0.005971 0.356089 -0.424628 +v -0.002069 0.356588 -0.414894 +v -0.010296 0.357687 -0.404239 +v -0.014455 0.358001 -0.394590 +v -0.023094 0.358954 -0.384350 +v -0.030500 0.359698 -0.374178 +v -0.035560 0.360186 -0.364133 +v -0.039302 0.360568 -0.354091 +v -0.043084 0.360991 -0.344022 +v -0.046825 0.361336 -0.334025 +v -0.049211 0.361650 -0.323943 +v -0.051738 0.361895 -0.313963 +v -0.054272 0.362150 -0.303972 +v -0.059352 0.362618 -0.293945 +v -0.061135 0.362740 -0.284178 +v -0.066323 0.363067 -0.274245 +v -0.073206 0.362828 -0.265347 +v 0.292489 0.720317 -0.309027 +v 0.359337 0.936997 -0.162094 +v 0.446763 0.711667 -0.299871 +v -0.208863 0.915457 -0.193401 +v -0.166334 0.915947 -0.194255 +v -0.318789 0.049216 -0.187909 +v 0.090857 0.780147 -0.292621 +v 0.100753 0.778897 -0.291398 +v 0.329291 0.577290 -0.420442 +v 0.005606 0.634757 -0.340043 +v -0.466627 0.393534 -0.155920 +v -0.479500 0.395241 -0.145326 +v -0.487568 0.396398 -0.134816 +v -0.492012 0.397348 -0.124399 +v -0.500119 0.398068 -0.114184 +v -0.502638 0.398575 -0.104157 +v -0.504457 0.399396 -0.093958 +v -0.507334 0.399191 -0.084124 +v -0.511620 0.398994 -0.074388 +v -0.517229 0.399776 -0.064294 +v -0.522836 0.400621 -0.054117 +v -0.528815 0.401180 -0.044112 +v -0.534649 0.401884 -0.034031 +v -0.536485 0.401281 -0.023233 +v -0.538458 0.402079 -0.014070 +v -0.539817 0.402100 -0.004079 +v -0.540925 0.402332 0.005939 +v -0.541761 0.402713 0.015962 +v -0.542207 0.402516 0.025940 +v -0.542190 0.402571 0.035951 +v -0.542009 0.402743 0.045988 +v -0.541793 0.402899 0.055967 +v -0.540694 0.402820 0.065966 +v -0.538481 0.402569 0.076027 +v -0.535452 0.401116 0.085580 +v -0.532500 0.402187 0.096061 +v -0.527861 0.401752 0.106111 +v 0.379472 0.575163 -0.398104 +v -0.100620 0.582431 -0.328723 +v -0.110530 0.582279 -0.327214 +v -0.120535 0.582044 -0.324524 +v -0.130526 0.581809 -0.322083 +v -0.634818 1.018327 -0.017186 +v -0.478597 1.153908 -0.228026 +v -0.647761 1.156707 0.131892 +v -0.649215 1.156657 0.111939 +v -0.647026 1.170337 0.101889 +v -0.639432 1.170797 0.141950 +v -0.636693 1.170547 0.151766 +v 0.763399 0.334025 -0.102862 +v -0.637023 1.018378 -0.007205 +v -0.390949 0.634785 -0.266434 +v -0.514572 1.278937 -0.308721 +v -0.638336 1.018507 0.002756 +v -0.514447 1.348727 -0.389091 +v -0.165278 1.394647 -0.149272 +v -0.415315 1.404597 -0.649722 +v -0.494370 1.361607 -0.499732 +v -0.509355 1.362287 -0.489109 +v 0.160211 0.861877 -0.239676 +v -0.520067 1.334547 -0.389062 +v -0.640558 1.018567 0.012729 +v -0.489212 1.222207 -0.258565 +v -0.597372 1.182847 -0.007316 +v -0.602065 1.169427 -0.006981 +v -0.642726 1.018578 0.022752 +v -0.642985 1.018747 0.032702 +v -0.482220 1.194957 -0.358246 +v -0.504098 1.210217 -0.118384 +v -0.448239 1.263797 -0.498726 +v -0.515492 1.306787 -0.338875 +v 0.074284 1.511547 -0.319559 +v -0.644033 1.018767 0.042729 +v -0.491502 1.168007 -0.218075 +v -0.510878 1.279067 -0.278700 +v -0.288469 0.874437 -0.209444 +v 0.215014 0.634307 -0.418604 +v 0.037406 0.889867 -0.187799 +v 0.007454 0.370229 -0.434511 +v -0.003050 0.370919 -0.424765 +v -0.011865 0.371779 -0.414601 +v -0.019166 0.372631 -0.404307 +v -0.025132 0.373379 -0.394052 +v -0.029025 0.373729 -0.384091 +v -0.036561 0.374419 -0.374019 +v -0.039106 0.374688 -0.364018 +v -0.042909 0.375065 -0.354047 +v -0.046715 0.375409 -0.344035 +v -0.049446 0.375640 -0.334095 +v -0.054338 0.376146 -0.324022 +v -0.056879 0.376427 -0.314043 +v -0.059421 0.376684 -0.304031 +v -0.063224 0.377042 -0.294045 +v -0.068448 0.377443 -0.284116 +v -0.071953 0.377151 -0.274640 +v 0.312527 0.718127 -0.306557 +v 0.302672 0.719537 -0.308000 +v 0.456334 0.709757 -0.297822 +v 0.047624 0.757917 -0.309064 +v 0.015184 0.778757 -0.290725 +v 0.027495 0.780257 -0.292619 +v 0.038572 0.780897 -0.293309 +v 0.443601 0.925327 -0.129583 +v 0.452705 0.922387 -0.126384 +v 0.426608 0.814457 -0.250000 +v -0.476241 0.408383 -0.165865 +v -0.488074 0.409649 -0.155484 +v -0.497898 0.410366 -0.145496 +v -0.506011 0.411316 -0.135087 +v -0.514362 0.411892 -0.125441 +v -0.518232 0.413422 -0.114215 +v -0.519267 0.413717 -0.104149 +v -0.517163 0.413303 -0.094204 +v -0.518825 0.414199 -0.084018 +v -0.526672 0.414223 -0.074289 +v -0.535340 0.414676 -0.064430 +v -0.541163 0.415204 -0.054379 +v -0.544041 0.416295 -0.044001 +v -0.546758 0.416279 -0.034124 +v -0.549365 0.416359 -0.024157 +v -0.550280 0.416704 -0.014099 +v -0.550571 0.416600 -0.004126 +v -0.549250 0.416637 0.005890 +v -0.549380 0.416647 0.015884 +v -0.549270 0.416733 0.025899 +v -0.549117 0.416874 0.035908 +v -0.548261 0.416665 0.045911 +v -0.547162 0.416594 0.055933 +v -0.545977 0.416528 0.065954 +v -0.545299 0.416905 0.075853 +v -0.542517 0.416262 0.086026 +v -0.538779 0.416090 0.096040 +v -0.534999 0.415959 0.105996 +v -0.530715 0.415334 0.116143 +v 0.389702 0.575136 -0.396001 +v 0.068890 0.726567 -0.317529 +v 0.078894 0.726367 -0.318037 +v 0.088904 0.726497 -0.317102 +v -0.294098 0.366649 0.287658 +v -0.645232 1.018867 0.052690 +v -0.469011 1.153677 -0.268048 +v -0.471434 1.153687 -0.258059 +v -0.649151 1.156628 0.101964 +v -0.644379 1.156407 0.062072 +v -0.641156 1.156437 0.052003 +v -0.647309 1.018888 0.062730 +v -0.646782 1.019157 0.072634 +v -0.203375 1.366158 -0.119253 +v -0.647651 1.019138 0.082680 +v -0.480791 1.278287 -0.378904 +v -0.456542 1.278047 -0.468777 +v -0.156279 0.924797 -0.183668 +v -0.421401 1.404507 -0.639813 +v -0.647433 1.019097 0.092686 +v -0.367389 1.418817 -0.704917 +v -0.646604 1.019267 0.102681 +v -0.410296 1.432977 -0.669717 +v -0.521189 1.334487 -0.399052 +v -0.505299 1.265437 -0.228501 +v -0.483710 1.222737 -0.268798 +v -0.604730 1.182997 0.002618 +v -0.646702 1.019377 0.112700 +v -0.461681 1.169117 -0.417290 +v -0.483359 1.195017 -0.348262 +v -0.504306 1.210227 -0.128388 +v -0.450419 1.263838 -0.488684 +v -0.495313 1.306057 -0.409145 +v 0.065095 1.511597 -0.309855 +v -0.422557 1.319837 -0.609274 +v -0.300659 0.891477 -0.186758 +v 0.049050 0.862107 -0.218674 +v -0.118592 0.156433 -0.253332 +v 0.015034 0.887247 -0.184830 +v 0.636931 0.708237 -0.175962 +v -0.001558 0.385066 -0.434663 +v -0.011487 0.386103 -0.424372 +v -0.018297 0.386461 -0.414678 +v -0.025885 0.387151 -0.404579 +v -0.030808 0.387614 -0.394328 +v -0.035733 0.388234 -0.384323 +v -0.041882 0.388878 -0.374204 +v -0.045836 0.389214 -0.364253 +v -0.048406 0.389462 -0.354260 +v -0.051859 0.389938 -0.344093 +v -0.054695 0.390041 -0.334193 +v -0.058203 0.390550 -0.324107 +v -0.062010 0.390923 -0.314127 +v -0.064560 0.391193 -0.304112 +v -0.068956 0.391246 -0.294305 +v -0.074857 0.390610 -0.284918 +v 0.235278 0.622225 -0.426073 +v 0.544538 0.532027 -0.310100 +v 0.536366 0.535946 -0.314761 +v 0.037476 0.755547 -0.307897 +v 0.005151 0.777617 -0.289770 +v -0.208607 0.793947 -0.266193 +v 0.454042 0.915107 -0.138559 +v 0.330804 0.913557 -0.196410 +v 0.461635 0.919137 -0.123012 +v 0.311049 0.655008 -0.360051 +v 0.094489 0.857677 -0.234639 +v -0.490512 0.423759 -0.165523 +v -0.501134 0.424810 -0.155280 +v -0.510841 0.425543 -0.145291 +v -0.520258 0.426435 -0.135028 +v -0.527277 0.427484 -0.124835 +v -0.530316 0.427956 -0.114291 +v -0.530278 0.428029 -0.104269 +v -0.529967 0.428267 -0.094185 +v -0.533646 0.428555 -0.084221 +v -0.542013 0.429269 -0.074210 +v -0.549664 0.429589 -0.064485 +v -0.553093 0.429994 -0.054316 +v -0.555661 0.430136 -0.044307 +v -0.555470 0.430305 -0.034232 +v -0.556955 0.430273 -0.024232 +v -0.557916 0.430569 -0.014176 +v -0.556454 0.430701 -0.004184 +v -0.554591 0.430267 0.005837 +v -0.553349 0.430275 0.015840 +v -0.553213 0.430402 0.025823 +v -0.552687 0.430727 0.035820 +v -0.552994 0.430640 0.045819 +v -0.551687 0.430642 0.055822 +v -0.550100 0.430066 0.065882 +v -0.549830 0.430228 0.075907 +v -0.548349 0.430361 0.085897 +v -0.545400 0.429710 0.096064 +v -0.543458 0.430132 0.105914 +v -0.540362 0.429596 0.116031 +v 0.289352 0.576849 -0.428316 +v -0.331482 0.807277 -0.241696 +v 0.095423 1.453357 -0.339047 +v -0.361541 0.862587 -0.188508 +v 0.020822 0.048698 0.451808 +v -0.645523 1.019367 0.122700 +v -0.645781 1.129488 0.162107 +v -0.646631 1.129417 0.152068 +v -0.473897 1.153697 -0.248073 +v -0.479872 1.153897 -0.218056 +v -0.483211 1.154107 -0.207969 +v -0.623534 1.156187 0.012521 +v -0.576817 1.155647 -0.037937 +v -0.509495 1.390137 -0.529283 +v -0.442092 1.221227 -0.558760 +v -0.437770 1.235307 -0.568757 +v -0.450379 1.235867 -0.498547 +v -0.423423 1.277367 -0.608918 +v -0.428535 1.404457 -0.629751 +v -0.644288 1.019387 0.132694 +v -0.180019 0.848967 -0.244027 +v -0.642426 1.019627 0.142761 +v -0.642019 1.019487 0.152696 +v -0.453423 1.334127 -0.529217 +v -0.435049 1.249467 -0.568661 +v -0.470961 1.222797 -0.348499 +v -0.632534 1.183147 0.042226 +v -0.572093 1.169357 -0.048041 +v -0.456884 1.168377 -0.437541 +v -0.457856 1.170457 -0.426770 +v -0.484711 1.195037 -0.338275 +v -0.503956 1.210088 -0.138353 +v -0.454106 1.263968 -0.468677 +v -0.486881 1.306077 -0.419158 +v -0.628530 1.074827 0.232413 +v -0.641947 1.074207 0.102378 +v 0.494697 0.731937 -0.261533 +v 0.004017 0.886327 -0.183773 +v 0.644131 0.701427 -0.168620 +v 0.267788 0.835567 -0.272260 +v -0.008345 0.399635 -0.435160 +v -0.017080 0.400465 -0.424904 +v -0.024537 0.401187 -0.414611 +v -0.031184 0.401646 -0.404738 +v -0.037450 0.402284 -0.394604 +v -0.040167 0.402211 -0.384668 +v -0.046345 0.403102 -0.374532 +v -0.051298 0.403708 -0.364556 +v -0.054955 0.403979 -0.354423 +v -0.057000 0.404443 -0.344167 +v -0.060799 0.404791 -0.334180 +v -0.063351 0.405066 -0.324171 +v -0.067158 0.405417 -0.314172 +v -0.070957 0.405781 -0.304208 +v -0.074083 0.405842 -0.294416 +v 0.407473 0.606459 -0.368313 +v 0.268510 0.765807 -0.297443 +v -0.024888 0.841697 -0.236945 +v 0.442081 0.591157 -0.352107 +v 0.432958 0.594099 -0.355252 +v -0.218139 0.795657 -0.267763 +v 0.301306 0.838337 -0.275379 +v 0.321390 0.836567 -0.273624 +v 0.331487 0.835527 -0.272380 +v 0.234822 0.932497 -0.175889 +v 0.246168 0.692147 -0.319489 +v 0.291395 0.658095 -0.363236 +v -0.500085 0.438414 -0.165496 +v -0.511826 0.439548 -0.155146 +v -0.520350 0.440164 -0.145182 +v -0.528245 0.441123 -0.134639 +v -0.534459 0.441559 -0.124682 +v -0.539208 0.442160 -0.114788 +v -0.540811 0.442601 -0.104248 +v -0.543112 0.442847 -0.094218 +v -0.546870 0.443091 -0.084260 +v -0.554012 0.443721 -0.074240 +v -0.559104 0.443989 -0.064372 +v -0.562769 0.444268 -0.054391 +v -0.566302 0.444616 -0.044341 +v -0.567209 0.445175 -0.034349 +v -0.568406 0.445185 -0.024321 +v -0.569365 0.445332 -0.014228 +v -0.567136 0.445127 -0.004248 +v -0.563851 0.444700 0.005751 +v -0.562476 0.444776 0.015758 +v -0.560435 0.444408 0.025749 +v -0.559953 0.444787 0.035756 +v -0.560140 0.444694 0.045745 +v -0.561270 0.444891 0.055744 +v -0.562376 0.445080 0.065751 +v -0.561961 0.444459 0.075792 +v -0.561448 0.444902 0.085775 +v -0.558250 0.444300 0.095889 +v -0.410438 0.562191 -0.264373 +v -0.240407 0.565776 -0.305456 +v -0.230400 0.565923 -0.306679 +v -0.220483 0.565999 -0.307290 +v -0.210502 0.566132 -0.308695 +v -0.200467 0.566257 -0.309657 +v -0.412055 1.022568 -0.173497 +v -0.640854 1.019498 0.162689 +v -0.645680 1.156467 0.072009 +v -0.500178 1.446017 -0.599662 +v -0.646641 1.129377 0.142060 +v -0.646686 1.129317 0.132066 +v -0.647018 1.129257 0.122085 +v -0.555799 1.141307 -0.077533 +v -0.560791 1.141467 -0.067647 +v -0.569702 1.155528 -0.048017 +v -0.639507 1.019467 0.172651 +v -0.628130 1.196817 0.101613 +v -0.561359 1.195667 -0.047214 +v -0.450782 1.235937 -0.488615 +v -0.420154 1.277287 -0.619103 +v -0.425004 1.348057 -0.609457 +v 0.037836 0.627254 -0.392372 +v -0.396516 1.304937 -0.668888 +v 0.266110 0.680025 -0.326584 +v -0.449848 1.334097 -0.539210 +v -0.437368 1.249517 -0.558638 +v -0.470802 1.222747 -0.358487 +v -0.636669 1.183767 0.051898 +v -0.562432 1.169177 -0.057961 +v -0.449561 1.169447 -0.457003 +v -0.452526 1.169657 -0.447067 +v -0.485886 1.195127 -0.328264 +v -0.503943 1.210027 -0.148370 +v -0.456251 1.264018 -0.458646 +v -0.480557 1.306387 -0.428927 +v -0.219903 1.352018 -0.109191 +v -0.637384 1.019567 0.182662 +v -0.635135 1.019597 0.192682 +v 0.474977 0.734677 -0.264433 +v 0.285712 0.938797 -0.162984 +v 0.416505 0.805747 -0.260215 +v 0.279705 0.837647 -0.274561 +v -0.016842 0.414714 -0.434764 +v -0.023978 0.414996 -0.425459 +v -0.030260 0.415247 -0.415017 +v -0.037719 0.416236 -0.404832 +v -0.041393 0.416818 -0.394553 +v -0.045017 0.417073 -0.384592 +v -0.049923 0.417635 -0.374476 +v -0.054101 0.417804 -0.364679 +v -0.060197 0.418480 -0.354520 +v -0.063808 0.418817 -0.344420 +v -0.067213 0.419401 -0.334241 +v -0.068485 0.419567 -0.324265 +v -0.072300 0.419914 -0.314248 +v -0.076101 0.420280 -0.304279 +v -0.081302 0.420718 -0.294331 +v 0.224716 0.681513 -0.328293 +v 0.520418 0.689747 -0.276620 +v 0.495811 0.571661 -0.331536 +v -0.228714 0.795957 -0.268274 +v -0.240129 0.795547 -0.269201 +v 0.311530 0.837787 -0.274811 +v 0.446613 0.822047 -0.238327 +v 0.465601 0.817897 -0.233653 +v -0.287701 0.936487 -0.155117 +v -0.109104 0.933237 -0.152693 +v 0.281538 0.659326 -0.364713 +v 0.448821 0.846327 -0.224415 +v -0.508484 0.452780 -0.165474 +v -0.517749 0.453745 -0.155042 +v -0.526474 0.454282 -0.145238 +v -0.533372 0.454979 -0.134808 +v -0.540160 0.455850 -0.124456 +v -0.544782 0.456234 -0.114448 +v -0.548437 0.456641 -0.104469 +v -0.551600 0.457029 -0.094335 +v -0.555335 0.457252 -0.084353 +v -0.561317 0.457772 -0.074359 +v -0.566249 0.458124 -0.064399 +v -0.569907 0.458318 -0.054489 +v -0.573715 0.458645 -0.044478 +v -0.574159 0.458961 -0.034327 +v -0.576697 0.459312 -0.024304 +v -0.578984 0.459546 -0.014300 +v -0.578850 0.459685 -0.004299 +v -0.577252 0.459932 0.005722 +v -0.576412 0.459684 0.015676 +v -0.576550 0.459641 0.025667 +v -0.576615 0.459663 0.035699 +v -0.576381 0.459894 0.045709 +v -0.577793 0.459910 0.055700 +v -0.579039 0.459992 0.065695 +v -0.578890 0.460132 0.075653 +v -0.577523 0.460210 0.085616 +v 0.188902 0.726967 -0.319678 +v 0.348804 0.754707 -0.290530 +v -0.050599 0.569241 -0.341243 +v -0.563499 0.459094 0.125657 +v -0.558991 0.458628 0.135725 +v -0.554207 0.458309 0.145724 +v -0.550494 0.457996 0.155558 +v -0.190408 0.566364 -0.310243 +v -0.180441 0.566296 -0.309499 +v -0.632967 1.019678 0.202702 +v -0.627326 1.115247 0.042332 +v -0.247408 1.323077 -0.069234 +v 0.031903 0.050769 0.452067 +v -0.440739 1.121667 -0.238987 +v -0.648222 1.129207 0.112110 +v -0.500503 1.140547 -0.138176 +v -0.566658 1.141557 -0.057594 +v -0.508737 1.154567 -0.128096 +v 0.663383 0.726837 -0.094926 +v -0.479785 1.180967 -0.378192 +v -0.552581 1.194978 -0.056719 +v -0.481700 1.236807 -0.298664 +v -0.420332 1.348067 -0.619511 +v -0.398219 1.418927 -0.679608 +v -0.482615 1.347517 -0.489786 +v 0.242269 0.786617 -0.299734 +v 0.501909 0.875487 -0.155676 +v -0.624260 1.074827 0.282124 +v -0.439648 1.249557 -0.548611 +v -0.467330 1.222577 -0.388493 +v -0.638065 1.183967 0.061811 +v -0.119637 1.423337 -0.179297 +v -0.442541 1.170837 -0.467691 +v -0.487145 1.195167 -0.318291 +v -0.502508 1.209977 -0.158350 +v -0.458458 1.264127 -0.448592 +v -0.458096 1.306107 -0.489023 +v -0.217167 1.351757 -0.089422 +v -0.671605 0.964777 0.123004 +v -0.607598 1.073307 -0.007527 +v -0.636793 0.935867 -0.036637 +v 0.262276 0.794547 -0.288639 +v 0.425466 0.802367 -0.256840 +v 0.349954 0.820267 -0.276077 +v -0.290674 0.829107 -0.242310 +v -0.022050 0.429261 -0.434949 +v -0.031155 0.429955 -0.425052 +v -0.037791 0.430394 -0.415145 +v -0.044097 0.430912 -0.404891 +v -0.047885 0.431274 -0.394791 +v -0.049492 0.431836 -0.384327 +v -0.054180 0.431928 -0.374758 +v -0.062570 0.432840 -0.364517 +v -0.066019 0.433325 -0.354329 +v -0.069806 0.433627 -0.344351 +v -0.072353 0.433913 -0.334359 +v -0.072360 0.433992 -0.324355 +v -0.074888 0.434198 -0.314354 +v -0.078713 0.434588 -0.304316 +v -0.083074 0.434416 -0.295301 +v 0.511699 0.693517 -0.280613 +v 0.708233 0.330157 -0.099105 +v -0.198400 0.792927 -0.264980 +v 0.114805 0.825767 -0.261011 +v 0.125427 0.825647 -0.260852 +v 0.437025 0.824087 -0.240411 +v -0.138216 0.938347 -0.158100 +v -0.467487 0.463267 -0.215204 +v -0.474020 0.463523 -0.205194 +v -0.480910 0.464248 -0.195385 +v -0.491600 0.465114 -0.185378 +v -0.067288 0.153030 -0.333036 +v -0.513257 0.466713 -0.165506 +v -0.522896 0.467499 -0.155348 +v -0.532418 0.468354 -0.145128 +v -0.538380 0.468870 -0.135005 +v -0.542752 0.469571 -0.124635 +v -0.548281 0.470102 -0.114471 +v -0.552275 0.470281 -0.104611 +v -0.556519 0.470838 -0.094412 +v -0.560065 0.471190 -0.084376 +v -0.564633 0.471594 -0.074286 +v -0.569368 0.472048 -0.064265 +v -0.573937 0.472515 -0.054194 +v -0.578469 0.472996 -0.044089 +v -0.581553 0.473018 -0.034376 +v -0.584268 0.473141 -0.024464 +v -0.586590 0.473388 -0.014436 +v -0.587411 0.473663 -0.004356 +v -0.587113 0.473883 0.005644 +v -0.587277 0.473864 0.015626 +v -0.588651 0.473917 0.025629 +v -0.589775 0.474114 0.035616 +v -0.589928 0.474071 0.045627 +v -0.588527 0.474162 0.055610 +v -0.589633 0.474319 0.065576 +v -0.589639 0.474376 0.075562 +v -0.587412 0.474162 0.085563 +v -0.584668 0.474220 0.095456 +v -0.581257 0.473930 0.105480 +v -0.576751 0.473490 0.115564 +v -0.571782 0.473286 0.125511 +v -0.566098 0.472755 0.135628 +v -0.561832 0.472158 0.145736 +v -0.560566 0.472145 0.155720 +v -0.560236 0.472380 0.165632 +v -0.558091 0.472089 0.175713 +v 0.358968 0.754797 -0.288728 +v 0.528232 0.825377 -0.181886 +v -0.636004 1.115247 0.052547 +v 0.053853 0.618201 -0.423183 +v -0.469677 1.222697 -0.368491 +v -0.449667 1.121657 -0.228757 +v -0.499086 1.126617 -0.137995 +v -0.494731 1.140207 -0.148193 +v -0.622762 1.142567 0.012306 +v -0.505147 1.154497 -0.138101 +v -0.478674 1.180897 -0.388180 +v -0.542108 1.195287 -0.067027 +v -0.489001 1.236887 -0.288686 +v -0.402436 1.348057 -0.659605 +v -0.406498 1.418897 -0.669482 +v -0.493175 1.347627 -0.479643 +v -0.417653 1.432847 -0.659864 +v -0.451525 1.362027 -0.559608 +v -0.514231 1.292608 -0.348864 +v -0.451428 1.249957 -0.478594 +v -0.466218 1.222547 -0.398516 +v -0.641245 1.183927 0.081817 +v -0.427250 1.418597 -0.639786 +v -0.413827 1.277677 -0.639841 +v -0.488378 1.195227 -0.308262 +v -0.501681 1.209947 -0.168370 +v -0.459985 1.264127 -0.438702 +v -0.455448 1.306137 -0.498950 +v -0.452071 1.306057 -0.508993 +v 0.072364 1.526557 -0.310209 +v 0.041185 0.643304 -0.348912 +v 0.554818 0.834777 -0.151721 +v -0.662033 0.922767 0.013204 +v 0.434533 0.799377 -0.253594 +v 0.340363 0.822237 -0.278080 +v -0.279772 0.830217 -0.243664 +v -0.177388 0.935047 -0.174309 +v -0.025964 0.443726 -0.435075 +v -0.036360 0.444563 -0.425147 +v -0.042817 0.444938 -0.414974 +v -0.049080 0.445600 -0.404885 +v -0.053144 0.445885 -0.394948 +v -0.055588 0.445693 -0.384794 +v -0.059507 0.446811 -0.374781 +v -0.066433 0.447269 -0.364577 +v -0.070136 0.447696 -0.354498 +v -0.072409 0.447929 -0.344440 +v -0.074952 0.448196 -0.334426 +v -0.076232 0.448364 -0.324399 +v -0.078766 0.448586 -0.314391 +v -0.080033 0.448757 -0.304413 +v -0.081299 0.448890 -0.294431 +v 0.163019 0.635695 -0.420420 +v 0.173277 0.635137 -0.419760 +v 0.073846 0.828527 -0.263812 +v 0.427588 0.826287 -0.242789 +v 0.418441 0.829167 -0.245794 +v 0.368156 0.804517 -0.278969 +v -0.463906 0.476631 -0.225284 +v -0.473651 0.477307 -0.215331 +v -0.481031 0.477776 -0.205466 +v -0.488299 0.478276 -0.195611 +v 0.182026 0.873457 -0.232183 +v -0.511307 0.479842 -0.175857 +v -0.521536 0.481032 -0.165242 +v -0.528504 0.481743 -0.154978 +v -0.537063 0.482309 -0.145009 +v -0.542852 0.482826 -0.134792 +v -0.546481 0.483119 -0.124801 +v -0.551477 0.483487 -0.114874 +v -0.555969 0.483920 -0.104692 +v -0.559861 0.484736 -0.094388 +v -0.562431 0.484915 -0.084431 +v -0.566132 0.485173 -0.074476 +v -0.570887 0.485562 -0.064448 +v -0.575631 0.485956 -0.054430 +v -0.580262 0.486394 -0.044375 +v -0.584822 0.486859 -0.034315 +v -0.588836 0.487056 -0.024449 +v -0.592157 0.487434 -0.014414 +v -0.593398 0.487569 -0.004426 +v -0.593538 0.487563 0.005535 +v -0.594421 0.487811 0.015573 +v -0.595592 0.487969 0.025596 +v -0.597170 0.487968 0.035544 +v -0.597991 0.488251 0.045557 +v -0.596635 0.488233 0.055532 +v -0.596610 0.488297 0.065502 +v -0.595592 0.488236 0.075468 +v -0.593465 0.488025 0.085495 +v -0.590863 0.487970 0.095429 +v -0.588248 0.487949 0.105331 +v -0.584542 0.487810 0.115295 +v -0.578593 0.487420 0.125293 +v -0.572146 0.486696 0.135535 +v -0.569555 0.486651 0.145488 +v -0.569783 0.486598 0.155551 +v -0.569541 0.486774 0.165508 +v -0.567434 0.486506 0.175546 +v 0.485741 0.855567 -0.194475 +v -0.631117 1.019827 0.212720 +v -0.476280 1.112307 -0.157920 +v -0.489320 1.112557 -0.147754 +v -0.507705 1.112597 -0.136814 +v -0.630806 1.019777 0.222687 +v -0.630601 1.019768 0.232689 +v -0.513071 1.126757 -0.127592 +v -0.597363 0.810607 0.191281 +v -0.628896 1.142527 0.022016 +v -0.501566 1.154417 -0.148078 +v -0.484226 1.181467 -0.328147 +v -0.525624 1.196617 -0.088284 +v -0.498265 1.237157 -0.278544 +v -0.503856 1.251547 -0.208474 +v -0.507965 1.348457 -0.468975 +v -0.426130 1.432697 -0.649901 +v 0.493094 0.879017 -0.159607 +v -0.363193 1.444487 -0.703092 +v -0.244739 1.322847 -0.108764 +v -0.452818 1.250017 -0.468617 +v -0.462302 1.222307 -0.428453 +v -0.641253 1.183967 0.091805 +v -0.229530 1.337707 -0.079261 +v -0.489681 1.195257 -0.298297 +v -0.500057 1.209908 -0.178373 +v -0.462301 1.264207 -0.428655 +v -0.475891 1.306278 -0.438999 +v -0.473013 1.361687 -0.519766 +v 0.064708 1.526597 -0.300243 +v -0.612044 0.839977 -0.056666 +v -0.630490 1.019817 0.242666 +v -0.664267 0.922867 0.023218 +v 0.443712 0.796527 -0.250626 +v 0.330285 0.823247 -0.279286 +v -0.268319 0.831717 -0.245287 +v 0.130704 0.634791 -0.419574 +v -0.026236 0.457861 -0.435407 +v -0.037856 0.458798 -0.425372 +v -0.045264 0.459498 -0.415073 +v -0.051917 0.460007 -0.405117 +v -0.056083 0.460304 -0.395174 +v -0.057163 0.460700 -0.384803 +v -0.059460 0.460942 -0.374716 +v -0.064199 0.461190 -0.364732 +v -0.071276 0.461909 -0.354515 +v -0.073835 0.462143 -0.344491 +v -0.075319 0.462290 -0.334578 +v -0.077554 0.462521 -0.324488 +v -0.078825 0.462706 -0.314495 +v -0.080090 0.462821 -0.304509 +v -0.352591 1.421587 -0.707870 +v 0.494454 0.721417 -0.270229 +v 0.084898 0.829317 -0.264701 +v 0.456255 0.820287 -0.236282 +v 0.017192 0.841587 -0.237040 +v 0.027807 0.841577 -0.237087 +v -0.462592 0.490298 -0.235272 +v -0.471564 0.490716 -0.225517 +v -0.479716 0.491330 -0.215426 +v -0.488338 0.491846 -0.205619 +v -0.498896 0.492755 -0.195490 +v -0.511261 0.493443 -0.185797 +v -0.521261 0.494714 -0.175046 +v -0.526859 0.495368 -0.164702 +v -0.534537 0.495744 -0.154999 +v -0.543220 0.496213 -0.145206 +v -0.549570 0.496367 -0.135150 +v -0.556055 0.497309 -0.124878 +v -0.560654 0.497285 -0.114980 +v -0.563757 0.498381 -0.104509 +v -0.565688 0.498899 -0.094452 +v -0.568264 0.498965 -0.084457 +v -0.570850 0.499063 -0.074504 +v -0.573692 0.499090 -0.064661 +v -0.577529 0.499330 -0.054726 +v -0.581859 0.499872 -0.044577 +v -0.585369 0.500175 -0.034531 +v -0.590331 0.500599 -0.024627 +v -0.593904 0.500850 -0.014590 +v -0.594845 0.501063 -0.004537 +v -0.596307 0.501405 0.005646 +v -0.597525 0.501632 0.015551 +v -0.598658 0.501797 0.025557 +v -0.599210 0.501659 0.035498 +v -0.599527 0.501665 0.045460 +v -0.600132 0.501921 0.055432 +v -0.599222 0.501840 0.065417 +v -0.598036 0.501806 0.075391 +v -0.596508 0.501860 0.085330 +v -0.594338 0.501710 0.095337 +v -0.591789 0.501646 0.105259 +v -0.588520 0.501379 0.115344 +v -0.583136 0.501344 0.125127 +v -0.576347 0.500222 0.135641 +v -0.575225 0.500323 0.145533 +v -0.575851 0.500514 0.155488 +v -0.574853 0.500424 0.165509 +v -0.573197 0.500563 0.175443 +v -0.569853 0.500274 0.185493 +v -0.630774 1.019907 0.252664 +v -0.255783 1.293727 -0.117657 +v -0.515599 1.154628 -0.117844 +v -0.619871 1.169517 0.012783 +v -0.520162 1.112887 -0.127444 +v -0.631472 1.019948 0.262685 +v -0.524990 1.126888 -0.117545 +v -0.533662 1.127138 -0.107820 +v -0.489017 0.377026 0.149890 +v -0.637877 1.142657 0.052031 +v -0.499271 1.154287 -0.158136 +v -0.485393 1.181537 -0.318142 +v -0.516057 1.196477 -0.098319 +v -0.502393 1.237337 -0.268523 +v -0.522380 1.334457 -0.408992 +v -0.434280 1.432707 -0.639740 +v 0.138456 0.729937 -0.319941 +v -0.463231 1.348047 -0.519447 +v -0.240086 1.322967 -0.118771 +v -0.461385 1.250257 -0.418665 +v -0.460219 1.222317 -0.438521 +v -0.635696 1.184177 0.121762 +v -0.638937 1.184037 0.111752 +v -0.491004 1.195297 -0.288302 +v -0.498368 1.209957 -0.188345 +v -0.463492 1.264257 -0.418655 +v -0.449480 1.306037 -0.518945 +v 0.169939 0.900647 -0.200831 +v 0.057520 1.528807 -0.287777 +v -0.487042 1.181427 -0.298177 +v 0.030965 0.915867 -0.135393 +v -0.666583 0.922957 0.033202 +v 0.320404 0.824557 -0.280587 +v -0.256882 0.833167 -0.246889 +v 0.821298 0.333771 -0.081586 +v -0.016979 0.471184 -0.445134 +v -0.028260 0.472240 -0.434819 +v -0.036418 0.472932 -0.425241 +v -0.044015 0.473572 -0.415073 +v -0.051391 0.474193 -0.404817 +v -0.055260 0.474514 -0.394800 +v -0.057769 0.474779 -0.384760 +v -0.060204 0.475004 -0.374670 +v -0.062359 0.475265 -0.364573 +v -0.067441 0.475677 -0.354579 +v -0.072616 0.476156 -0.344590 +v -0.075552 0.476382 -0.334712 +v -0.078705 0.476597 -0.324934 +v -0.085440 0.476720 -0.316277 +v -0.306346 0.053400 -0.192198 +v 0.475146 0.724987 -0.274099 +v 0.564771 0.813787 -0.169379 +v 0.314889 0.632774 -0.396231 +v -0.003636 0.841787 -0.237139 +v -0.148713 0.858297 -0.233956 +v -0.158873 0.859207 -0.235025 +v -0.472588 0.504504 -0.235771 +v -0.481936 0.505288 -0.225360 +v -0.489228 0.505779 -0.215416 +v -0.498623 0.506558 -0.205252 +v -0.509663 0.507231 -0.195475 +v -0.520827 0.507844 -0.185546 +v -0.527723 0.508611 -0.175371 +v -0.532513 0.508736 -0.165101 +v -0.539444 0.509628 -0.155136 +v -0.548992 0.510323 -0.145170 +v -0.558440 0.511062 -0.135032 +v -0.566030 0.511356 -0.125204 +v -0.572228 0.512369 -0.114620 +v -0.575598 0.512806 -0.104497 +v -0.576542 0.513097 -0.094445 +v -0.579095 0.513258 -0.084501 +v -0.582583 0.513691 -0.074509 +v -0.583072 0.513374 -0.064649 +v -0.587341 0.514007 -0.054474 +v -0.589008 0.513888 -0.044617 +v -0.591649 0.513966 -0.034689 +v -0.594247 0.514137 -0.024698 +v -0.594678 0.514558 -0.014563 +v -0.595478 0.514817 -0.004540 +v -0.596781 0.514802 0.005479 +v -0.598099 0.514995 0.015436 +v -0.599063 0.515183 0.025445 +v -0.599289 0.515150 0.035401 +v -0.600017 0.515219 0.045375 +v -0.599972 0.515454 0.055345 +v -0.599337 0.515311 0.065371 +v -0.598392 0.515206 0.075367 +v -0.597411 0.515133 0.085390 +v -0.596580 0.515417 0.095262 +v -0.593668 0.515034 0.105352 +v -0.591236 0.514953 0.115353 +v -0.587426 0.514852 0.125282 +v -0.583769 0.514686 0.135267 +v -0.578846 0.513938 0.145539 +v -0.578099 0.513764 0.155623 +v -0.578002 0.514334 0.165342 +v -0.576686 0.514312 0.175321 +v -0.573760 0.513988 0.185499 +v -0.632190 1.019938 0.272681 +v -0.650018 1.101707 0.102247 +v -0.648741 1.101777 0.112204 +v -0.632303 1.142557 0.032009 +v -0.529598 1.113057 -0.117388 +v -0.619586 1.116158 0.242136 +v -0.567130 1.127817 -0.057818 +v -0.449026 1.136367 -0.288420 +v -0.098644 1.192137 -0.119350 +v -0.630570 1.156268 0.022296 +v 0.580626 0.822897 -0.138757 +v -0.579099 1.169437 -0.037911 +v -0.641233 1.183857 0.071843 +v -0.480817 1.222367 -0.278473 +v -0.487353 1.237987 -0.108536 +v -0.522434 1.334387 -0.419026 +v 0.160609 0.731367 -0.321116 +v -0.541891 1.057878 -0.117552 +v -0.632463 1.019997 0.282665 +v -0.232423 1.322687 -0.128396 +v -0.462593 1.250317 -0.408647 +v -0.459816 1.222197 -0.448466 +v -0.633213 1.184037 0.131671 +v -0.455147 1.236087 -0.458533 +v -0.491875 1.195397 -0.278297 +v -0.484183 1.209127 -0.238616 +v -0.465642 1.264357 -0.408605 +v -0.437497 1.305887 -0.558951 +v 0.050839 1.526538 -0.280184 +v -0.670959 0.950647 0.073096 +v 0.573415 0.810017 -0.165298 +v -0.668777 0.923047 0.043220 +v -0.235255 0.834087 -0.247966 +v -0.245876 0.834027 -0.247886 +v -0.312900 0.837187 -0.230434 +v -0.017569 0.485439 -0.445762 +v -0.026414 0.486240 -0.435491 +v -0.035092 0.486997 -0.425153 +v -0.041598 0.487533 -0.415263 +v -0.049106 0.488172 -0.405058 +v -0.053824 0.488570 -0.394805 +v -0.058823 0.488967 -0.384728 +v -0.061142 0.489186 -0.374642 +v -0.062424 0.489362 -0.364633 +v -0.066229 0.489676 -0.354646 +v -0.070356 0.490051 -0.344747 +v -0.074572 0.490388 -0.334977 +v -0.079398 0.490626 -0.325519 +v -0.096832 0.061405 -0.386207 +v 0.036096 0.896947 -0.175246 +v 0.492276 0.807707 -0.222881 +v 0.519773 0.839217 -0.176709 +v 0.006571 0.841377 -0.236750 +v -0.138906 0.856627 -0.232102 +v -0.057210 0.860997 -0.216859 +v -0.046569 0.861177 -0.217057 +v -0.479447 0.518892 -0.235440 +v -0.488954 0.519588 -0.225222 +v -0.496353 0.520046 -0.215377 +v -0.505851 0.520729 -0.205304 +v -0.515677 0.521362 -0.195443 +v -0.525022 0.522127 -0.185171 +v -0.531352 0.522504 -0.175407 +v -0.535793 0.522995 -0.165148 +v -0.543709 0.523716 -0.154818 +v -0.554715 0.524400 -0.145009 +v -0.563244 0.524952 -0.135107 +v -0.571543 0.525601 -0.124985 +v -0.578512 0.526217 -0.114818 +v -0.582079 0.526529 -0.104736 +v -0.585259 0.527013 -0.094625 +v -0.588856 0.527228 -0.084601 +v -0.592539 0.527529 -0.074663 +v -0.597216 0.527991 -0.064614 +v -0.600700 0.528314 -0.054625 +v -0.602854 0.528605 -0.044545 +v -0.603346 0.528419 -0.034671 +v -0.603432 0.528424 -0.024687 +v -0.602061 0.528478 -0.014686 +v -0.600405 0.528655 -0.004639 +v -0.600441 0.528660 0.005349 +v -0.601854 0.528696 0.015329 +v -0.603239 0.528752 0.025298 +v -0.602967 0.528921 0.035305 +v -0.601482 0.528973 0.045294 +v -0.601254 0.529100 0.055282 +v -0.600534 0.528874 0.065292 +v -0.600011 0.528667 0.075309 +v -0.600691 0.528954 0.085274 +v -0.600022 0.528757 0.095332 +v -0.598632 0.528809 0.105308 +v -0.597357 0.528797 0.115304 +v -0.594966 0.528689 0.125283 +v -0.593440 0.528810 0.135211 +v -0.590312 0.529018 0.144997 +v -0.583681 0.527784 0.155513 +v -0.580877 0.527853 0.165402 +v -0.578765 0.527698 0.175514 +v -0.631626 1.020107 0.292683 +v -0.630034 1.020017 0.302568 +v -0.586431 1.100538 -0.037807 +v -0.643123 1.101477 0.062407 +v -0.622509 1.102307 0.252121 +v -0.608601 1.114737 0.011728 +v -0.621868 1.116107 0.232135 +v -0.571962 1.127907 -0.047874 +v -0.490098 1.140077 -0.158321 +v -0.647029 1.142837 0.092013 +v -0.623791 1.073707 0.032531 +v -0.593927 1.169467 -0.017371 +v -0.586035 1.169487 -0.027740 +v -0.620840 1.182807 0.022771 +v -0.475763 1.222987 -0.308528 +v -0.277492 1.294447 -0.088776 +v -0.520091 1.334367 -0.429044 +v -0.053805 0.745367 -0.295569 +v -0.548987 1.058017 -0.107476 +v -0.578897 0.975207 -0.115990 +v -0.224799 1.322507 -0.137948 +v -0.475839 1.250507 -0.338694 +v -0.457767 1.222207 -0.458503 +v -0.624078 1.184137 0.151612 +v -0.432024 1.234957 -0.589080 +v -0.454047 1.236057 -0.468558 +v -0.491813 1.195467 -0.268259 +v -0.482164 1.209277 -0.258476 +v -0.467155 1.264337 -0.398675 +v -0.434071 1.305847 -0.568999 +v 0.075081 1.541297 -0.300158 +v -0.652563 0.951318 0.263076 +v -0.670161 0.923147 0.053157 +v -0.255163 0.918267 -0.175446 +v 0.477863 0.577821 -0.338275 +v 0.654696 0.740347 -0.089251 +v -0.018536 0.499729 -0.445359 +v -0.025366 0.500341 -0.435680 +v -0.032811 0.500961 -0.425357 +v -0.038883 0.501489 -0.415121 +v -0.044087 0.501966 -0.405152 +v -0.052555 0.502577 -0.394843 +v -0.057851 0.503059 -0.384973 +v -0.060278 0.503267 -0.374805 +v -0.063908 0.503584 -0.364756 +v -0.066286 0.503777 -0.354712 +v -0.069043 0.504057 -0.344844 +v -0.074111 0.504452 -0.334826 +v -0.080654 0.504810 -0.325857 +v 0.398055 0.628672 -0.351829 +v 0.497774 0.585463 -0.326316 +v 0.590032 0.578504 -0.278747 +v 0.457813 0.863047 -0.202477 +v 0.105909 0.859157 -0.236369 +v -0.068191 0.860277 -0.215976 +v -0.323793 0.867227 -0.201297 +v -0.348275 0.861227 -0.194538 +v -0.482735 0.532918 -0.235071 +v -0.493374 0.533648 -0.224881 +v -0.501000 0.534073 -0.215254 +v -0.509551 0.534669 -0.205387 +v -0.519107 0.535328 -0.195325 +v -0.527353 0.535960 -0.185151 +v -0.534164 0.536571 -0.174855 +v -0.538996 0.536933 -0.164901 +v -0.546453 0.537387 -0.155143 +v -0.556920 0.538192 -0.144897 +v -0.566524 0.538848 -0.134904 +v -0.575015 0.539436 -0.124949 +v -0.580817 0.539913 -0.114822 +v -0.585339 0.540355 -0.104683 +v -0.588997 0.540604 -0.094701 +v -0.593803 0.540973 -0.084715 +v -0.598498 0.541353 -0.074663 +v -0.602301 0.541600 -0.064752 +v -0.606842 0.542021 -0.054699 +v -0.610335 0.542362 -0.044653 +v -0.612214 0.542731 -0.034598 +v -0.612193 0.542827 -0.024665 +v -0.610924 0.542848 -0.014677 +v -0.609758 0.542866 -0.004693 +v -0.610956 0.542996 0.005329 +v -0.613495 0.543171 0.015295 +v -0.614748 0.543234 0.025249 +v -0.614033 0.543015 0.035235 +v -0.611149 0.543133 0.045193 +v -0.606742 0.542679 0.055223 +v -0.607705 0.542914 0.065209 +v -0.609351 0.542839 0.075249 +v -0.610287 0.543113 0.085218 +v -0.609291 0.542974 0.095225 +v -0.607944 0.543035 0.105180 +v -0.606613 0.543098 0.115156 +v -0.604324 0.542899 0.125159 +v -0.601735 0.542893 0.135078 +v -0.598133 0.542709 0.145059 +v 0.158796 0.741157 -0.317246 +v -0.649405 1.115468 0.112185 +v -0.646798 1.115527 0.122168 +v -0.617326 1.128777 0.012229 +v -0.446638 1.221697 -0.538404 +v -0.589763 1.100557 -0.027707 +v -0.648167 1.101487 0.072158 +v -0.623985 1.102367 0.242214 +v -0.614437 1.114867 0.021874 +v -0.480783 1.181137 -0.368139 +v -0.575837 1.128017 -0.037976 +v -0.487384 1.140117 -0.168148 +v -0.647871 1.142897 0.102035 +v -0.485790 1.154088 -0.198037 +v -0.611416 1.169317 0.003115 +v -0.493453 1.181587 -0.248252 +v -0.612804 1.182827 0.012741 +v -0.474528 1.222917 -0.318537 +v -0.441714 1.249567 -0.538531 +v -0.514196 1.334297 -0.439054 +v -0.590376 0.608392 -0.084734 +v -0.558896 1.057957 -0.096598 +v -0.608988 1.195607 0.022691 +v -0.215243 1.322767 -0.147834 +v -0.478476 1.250477 -0.328763 +v -0.457474 1.222077 -0.468464 +v -0.618459 1.184237 0.161605 +v -0.609618 1.196997 0.151239 +v -0.644754 1.170487 0.121845 +v -0.491789 1.195527 -0.258291 +v -0.482111 1.209167 -0.268534 +v -0.472265 1.264357 -0.378756 +v -0.431537 1.305797 -0.578966 +v 0.067606 1.540907 -0.290094 +v -0.572554 1.057887 -0.085911 +v -0.671401 0.923217 0.063149 +v 0.095962 0.638352 -0.403457 +v 0.519933 0.829607 -0.186377 +v -0.016334 0.513824 -0.445665 +v -0.024218 0.514434 -0.435575 +v -0.030204 0.514923 -0.425342 +v -0.036357 0.515436 -0.415120 +v -0.040390 0.515852 -0.405251 +v -0.047597 0.516358 -0.394967 +v -0.055102 0.516918 -0.384958 +v -0.059187 0.517333 -0.374993 +v -0.061238 0.517462 -0.364786 +v -0.065068 0.517762 -0.354794 +v -0.068765 0.518099 -0.344702 +v -0.075713 0.518623 -0.335505 +v -0.082247 0.519076 -0.325768 +v 0.181094 0.730107 -0.319818 +v -0.672977 0.937497 0.153288 +v -0.674984 0.937458 0.143213 +v -0.331000 0.040775 0.365483 +v 0.545498 0.847267 -0.145162 +v -0.127347 0.878897 -0.215644 +v -0.336106 0.864377 -0.198072 +v 0.223468 0.891487 -0.212602 +v -0.484776 0.546728 -0.234613 +v -0.494763 0.547342 -0.225086 +v -0.503285 0.547925 -0.215223 +v -0.511707 0.548532 -0.205162 +v -0.520016 0.549104 -0.195105 +v -0.528127 0.549724 -0.184877 +v -0.534385 0.550116 -0.175084 +v -0.540436 0.550524 -0.165157 +v -0.549109 0.551029 -0.155473 +v -0.558363 0.551752 -0.145141 +v -0.568783 0.552543 -0.134848 +v -0.576047 0.553047 -0.124880 +v -0.581947 0.553504 -0.114838 +v -0.586385 0.553889 -0.104669 +v -0.590125 0.554155 -0.094714 +v -0.595912 0.554580 -0.084640 +v -0.600793 0.554959 -0.074686 +v -0.605633 0.555333 -0.064689 +v -0.609449 0.555579 -0.054806 +v -0.612848 0.555890 -0.044785 +v -0.615999 0.556198 -0.034722 +v -0.616680 0.556451 -0.024685 +v -0.616683 0.556522 -0.014677 +v -0.616705 0.556586 -0.004693 +v -0.618481 0.556580 0.005293 +v -0.620871 0.556694 0.015184 +v -0.621714 0.556914 0.025164 +v -0.621555 0.557049 0.035144 +v -0.619619 0.556855 0.045168 +v -0.616307 0.556694 0.055151 +v -0.616310 0.556754 0.065154 +v -0.618431 0.557017 0.075165 +v -0.618422 0.557047 0.085171 +v -0.618010 0.557267 0.095110 +v -0.615982 0.557078 0.105082 +v -0.613938 0.556922 0.115099 +v -0.610670 0.556607 0.125159 +v -0.607666 0.556747 0.134962 +v -0.603918 0.556643 0.144870 +v -0.485051 1.167567 -0.248169 +v -0.646117 1.088108 0.112222 +v -0.634858 1.088497 0.182224 +v -0.624800 1.088648 0.262254 +v -0.544151 1.168787 -0.077695 +v -0.534580 1.099297 -0.117522 +v -0.635529 1.101467 0.052856 +v -0.620350 1.102368 0.262129 +v -0.619981 1.114997 0.032031 +v -0.463460 1.194167 -0.468324 +v -0.581395 1.128098 -0.027747 +v -0.483747 1.140007 -0.178106 +v -0.648557 1.142927 0.112011 +v -0.645698 1.170147 0.071939 +v -0.490183 1.181667 -0.278153 +v -0.492944 1.181647 -0.258207 +v -0.479058 1.223097 -0.288460 +v -0.476928 1.223027 -0.298534 +v -0.418082 1.248177 -0.619443 +v -0.445483 1.334017 -0.549370 +v 0.411002 0.855187 -0.233912 +v -0.585174 1.058438 -0.076662 +v -0.530893 1.085357 -0.127386 +v -0.204704 1.322458 -0.157414 +v -0.483322 1.250447 -0.318891 +v -0.455525 1.222107 -0.478521 +v -0.613773 1.184227 0.171556 +v -0.456220 1.207957 -0.498375 +v -0.648406 1.156777 0.121976 +v -0.486889 1.195408 -0.218464 +v -0.480574 1.209157 -0.298437 +v -0.495995 1.264677 -0.328681 +v -0.428400 1.305777 -0.589098 +v 0.062512 1.540787 -0.280183 +v -0.593113 1.058908 -0.067364 +v -0.678004 0.923467 0.093183 +v -0.662689 0.842397 0.093639 +v 0.512059 0.835257 -0.192551 +v -0.013579 0.527798 -0.445596 +v -0.021553 0.528490 -0.435762 +v -0.026709 0.528949 -0.425610 +v -0.031778 0.529344 -0.415489 +v -0.037576 0.529696 -0.405109 +v -0.041532 0.530085 -0.395195 +v -0.047899 0.530631 -0.385163 +v -0.052897 0.531074 -0.375192 +v -0.056526 0.531285 -0.365045 +v -0.059368 0.531715 -0.355031 +v -0.064517 0.533542 -0.344319 +v -0.079446 0.533023 -0.335249 +v -0.085686 0.533320 -0.326983 +v 0.170837 0.730737 -0.320512 +v -0.667894 0.937497 0.173168 +v -0.670493 0.937507 0.163270 +v -0.588905 0.948128 -0.116451 +v 0.579623 0.831277 -0.127893 +v -0.567790 0.784057 -0.066450 +v -0.077906 1.437937 -0.209291 +v 0.244439 0.900767 -0.201739 +v 0.203506 0.883517 -0.223054 +v -0.494533 0.560984 -0.224877 +v -0.503578 0.561582 -0.215483 +v -0.512754 0.562214 -0.205086 +v -0.518765 0.562625 -0.195081 +v -0.525763 0.563126 -0.184947 +v -0.533415 0.563558 -0.175344 +v -0.541915 0.564076 -0.165506 +v -0.552914 0.564704 -0.155753 +v -0.562371 0.565410 -0.145533 +v -0.570436 0.566044 -0.135178 +v -0.577391 0.566627 -0.125004 +v -0.582044 0.566992 -0.114934 +v -0.586625 0.567365 -0.104842 +v -0.590194 0.569097 -0.094950 +v -0.594673 0.567968 -0.084695 +v -0.600420 0.568344 -0.074547 +v -0.605524 0.568668 -0.064657 +v -0.610290 0.569074 -0.054718 +v -0.613844 0.569376 -0.044748 +v -0.617042 0.569603 -0.034711 +v -0.618426 0.569765 -0.024800 +v -0.620331 0.569973 -0.014761 +v -0.621624 0.570081 -0.004801 +v -0.622955 0.570194 0.005143 +v -0.624874 0.570462 0.015198 +v -0.625860 0.570622 0.025163 +v -0.625209 0.570530 0.035101 +v -0.624739 0.570715 0.045116 +v -0.623607 0.570740 0.055089 +v -0.623613 0.570822 0.065081 +v -0.624342 0.570625 0.075084 +v -0.624157 0.570747 0.085071 +v -0.623653 0.570951 0.095001 +v -0.621787 0.570760 0.105030 +v -0.619632 0.570641 0.115013 +v -0.616932 0.570720 0.124870 +v -0.613683 0.570531 0.134890 +v -0.609630 0.570471 0.144661 +v -0.587498 0.975557 -0.106412 +v -0.643017 1.088097 0.122245 +v -0.635911 1.088488 0.172227 +v -0.622341 1.088598 0.272154 +v -0.508516 1.182387 -0.138506 +v -0.541806 1.099477 -0.107609 +v -0.614535 1.101247 0.022525 +v -0.617019 1.102427 0.272138 +v -0.602121 1.114717 0.002064 +v -0.191760 1.365907 -0.148881 +v -0.588600 1.128247 -0.017743 +v -0.472799 1.139847 -0.208041 +v -0.648380 1.143028 0.122054 +v -0.644460 1.170087 0.061986 +v -0.491801 1.181587 -0.268195 +v -0.507232 1.196277 -0.138467 +v -0.502096 1.223427 -0.228486 +v -0.498358 1.292647 -0.378793 +v 0.079555 0.889507 -0.187711 +v -0.597867 1.059027 -0.057435 +v -0.439094 1.334037 -0.569239 +v -0.384324 1.447137 -0.697940 +v -0.371888 1.362867 -0.696366 +v -0.193476 1.322497 -0.167469 +v -0.492568 1.250687 -0.308723 +v -0.454165 1.222007 -0.488496 +v -0.020805 0.654589 -0.327562 +v -0.647714 1.156517 0.082011 +v -0.648940 1.156558 0.092001 +v -0.487506 1.195397 -0.228436 +v -0.481725 1.209197 -0.288465 +v -0.486950 1.264157 -0.339024 +v -0.419033 1.305677 -0.619208 +v 0.250267 0.771637 -0.303538 +v -0.675810 0.923387 0.083157 +v 0.509892 0.880357 -0.141022 +v -0.125969 0.921797 -0.180673 +v -0.355668 0.037707 -0.176250 +v -0.006196 0.541596 -0.446008 +v -0.016413 0.542332 -0.435754 +v -0.023778 0.542795 -0.425375 +v -0.028015 0.543286 -0.415596 +v -0.032854 0.543491 -0.405249 +v -0.036506 0.543855 -0.395224 +v -0.041397 0.544213 -0.385097 +v -0.046346 0.544580 -0.375034 +v -0.050117 0.544905 -0.365041 +v -0.053851 0.545249 -0.355004 +v -0.059006 0.545644 -0.345203 +v -0.083845 0.547468 -0.334263 +v 0.536456 0.860307 -0.139281 +v -0.251719 0.034808 -0.214056 +v -0.642662 0.935988 -0.026784 +v -0.664819 0.937507 0.183275 +v -0.598489 0.948447 -0.106617 +v -0.641863 0.829487 0.243851 +v -0.573845 0.784307 -0.056430 +v -0.608552 0.786887 0.063949 +v 0.245935 0.681587 -0.328281 +v 0.182218 0.883697 -0.223096 +v -0.494461 0.574598 -0.224798 +v -0.504342 0.575250 -0.215113 +v -0.511830 0.575705 -0.205325 +v -0.517637 0.576136 -0.195176 +v -0.524996 0.576596 -0.185342 +v -0.533673 0.577060 -0.175646 +v -0.542696 0.577486 -0.166422 +v -0.557651 0.578629 -0.155524 +v -0.568035 0.579379 -0.145259 +v -0.575151 0.579880 -0.135181 +v -0.580767 0.580668 -0.125084 +v -0.584204 0.581370 -0.115138 +v -0.586880 0.580826 -0.104980 +v -0.588913 0.581059 -0.094882 +v -0.591413 0.581204 -0.084924 +v -0.596924 0.581540 -0.074675 +v -0.602890 0.581928 -0.064606 +v -0.607962 0.582359 -0.054790 +v -0.611531 0.582643 -0.044795 +v -0.614905 0.582768 -0.034788 +v -0.618146 0.583029 -0.024787 +v -0.620396 0.583338 -0.014794 +v -0.621980 0.583466 -0.004918 +v -0.624036 0.583673 0.005104 +v -0.626136 0.583868 0.015124 +v -0.627463 0.583974 0.025090 +v -0.627822 0.584017 0.035037 +v -0.628468 0.584191 0.045027 +v -0.627837 0.584105 0.055009 +v -0.628522 0.584301 0.065005 +v -0.628761 0.584332 0.075020 +v -0.628022 0.584252 0.085019 +v -0.627456 0.584415 0.094982 +v -0.626082 0.584446 0.104897 +v -0.623410 0.584162 0.115010 +v -0.620677 0.584207 0.124888 +v -0.617866 0.584216 0.134679 +v 0.476628 0.757897 -0.249357 +v -0.123026 0.785527 -0.277634 +v -0.625209 1.087568 0.042939 +v -0.635493 1.088547 0.162179 +v -0.226383 0.820737 -0.254074 +v -0.495979 1.098617 -0.146856 +v -0.546490 1.099607 -0.097565 +v -0.607676 1.101067 0.012387 +v -0.349969 0.816427 -0.228208 +v -0.583438 1.114127 -0.027615 +v -0.627811 1.116057 0.212220 +v -0.562119 1.127647 -0.067696 +v -0.476188 1.140097 -0.197945 +v -0.645922 1.142787 0.082018 +v -0.489703 1.154027 -0.188148 +v -0.489233 1.181567 -0.288171 +v -0.508909 1.196297 -0.128335 +v -0.522876 1.362357 -0.439173 +v -0.514274 1.362568 -0.409179 +v -0.271287 1.294317 -0.098638 +v -0.441899 1.333977 -0.559392 +v -0.427165 1.334027 -0.599258 +v 0.491067 0.894807 -0.136824 +v -0.407164 1.362267 -0.649619 +v -0.584658 0.825147 -0.076761 +v -0.500898 1.250837 -0.298680 +v -0.452879 1.221917 -0.498494 +v -0.458838 1.208077 -0.478436 +v -0.646665 1.170287 0.111852 +v -0.642335 1.170447 0.131832 +v -0.488946 1.195518 -0.238344 +v -0.481811 1.209237 -0.278471 +v -0.482087 1.264297 -0.348886 +v -0.422463 1.305707 -0.609164 +v 0.301231 0.656557 -0.361649 +v -0.673389 0.923307 0.073189 +v -0.523339 0.781487 -0.125401 +v -0.504260 0.780657 -0.145435 +v 0.029066 0.639906 -0.345438 +v -0.008606 0.556142 -0.435724 +v -0.017483 0.556753 -0.425488 +v -0.023802 0.557210 -0.415373 +v -0.029001 0.557671 -0.405378 +v -0.032677 0.557831 -0.395191 +v -0.036281 0.558131 -0.385124 +v -0.039962 0.558382 -0.375062 +v -0.043620 0.558637 -0.365028 +v -0.046225 0.558902 -0.355039 +v -0.053333 0.559190 -0.344452 +v 0.419169 0.909967 -0.173090 +v 0.095307 0.727527 -0.316921 +v -0.648304 0.936127 -0.016810 +v -0.602445 0.839607 -0.066655 +v -0.662194 0.937497 0.193160 +v -0.605737 0.948707 -0.096737 +v -0.663394 0.978048 0.072892 +v -0.578770 0.784397 -0.046489 +v -0.424439 1.249017 -0.608896 +v -0.242247 0.912117 -0.189409 +v -0.230857 0.913677 -0.191280 +v -0.494475 0.588293 -0.224801 +v -0.504277 0.588919 -0.215082 +v -0.512971 0.589486 -0.205340 +v -0.518178 0.589782 -0.195679 +v -0.526706 0.590263 -0.185840 +v -0.538389 0.591017 -0.175629 +v -0.550295 0.591806 -0.165607 +v -0.561023 0.592412 -0.155575 +v -0.570225 0.593207 -0.145132 +v -0.577417 0.593681 -0.135101 +v -0.582191 0.594009 -0.125082 +v -0.585965 0.593507 -0.114864 +v -0.587999 0.594482 -0.105019 +v -0.589027 0.594623 -0.095007 +v -0.589503 0.594709 -0.084788 +v -0.592729 0.594859 -0.074965 +v -0.597625 0.595262 -0.065043 +v -0.603393 0.595673 -0.054952 +v -0.607746 0.595976 -0.044794 +v -0.611284 0.596205 -0.034804 +v -0.614780 0.596480 -0.024781 +v -0.618270 0.596764 -0.014843 +v -0.620704 0.596921 -0.004911 +v -0.622192 0.597040 0.004979 +v -0.625202 0.597297 0.015026 +v -0.626675 0.597423 0.024967 +v -0.628759 0.597605 0.034985 +v -0.629826 0.597721 0.044961 +v -0.630170 0.597755 0.054967 +v -0.630084 0.597807 0.064946 +v -0.630010 0.597880 0.074936 +v -0.629740 0.597921 0.084905 +v -0.628936 0.597918 0.094931 +v -0.627820 0.597904 0.104917 +v -0.626229 0.597955 0.114817 +v -0.622887 0.597803 0.124778 +v -0.619391 0.597715 0.134724 +v 0.439504 0.848767 -0.226937 +v -0.610818 1.087197 0.012588 +v -0.631542 1.087657 0.052561 +v -0.633543 1.088387 0.152214 +v -0.552576 1.168967 -0.067746 +v -0.476888 1.098547 -0.156988 +v -0.592851 1.100518 -0.017466 +v -0.619083 1.101277 0.032500 +v -0.636338 1.102167 0.192150 +v -0.577938 1.114208 -0.037804 +v -0.624190 1.116087 0.222156 +v -0.556223 1.127547 -0.077767 +v -0.479128 1.139757 -0.188167 +v -0.640272 1.142688 0.062015 +v -0.493200 1.154138 -0.178104 +v -0.486559 1.181587 -0.308117 +v -0.508646 1.196297 -0.118264 +v 0.534500 0.746847 -0.237495 +v -0.654316 0.828647 0.043826 +v -0.518532 1.348477 -0.458944 +v -0.434511 1.333997 -0.579338 +v -0.430792 1.333977 -0.589262 +v 0.120304 0.624789 -0.429470 +v -0.432252 1.362147 -0.599573 +v -0.620642 0.826327 -0.036994 +v -0.506932 1.250897 -0.288666 +v -0.451680 1.221867 -0.508506 +v -0.457465 1.208007 -0.488378 +v -0.572221 1.030567 -0.096644 +v -0.490848 1.195537 -0.248298 +v -0.481967 1.209327 -0.248448 +v -0.475600 1.264457 -0.368665 +v -0.425852 1.305717 -0.599073 +v 0.044541 1.526547 -0.270179 +v -0.582767 1.030767 -0.086483 +v -0.679086 0.923537 0.103194 +v -0.498939 0.821787 -0.137613 +v -0.514732 0.780857 -0.135130 +v -0.208628 0.905667 -0.203224 +v -0.198003 0.905827 -0.203488 +v -0.008426 0.570403 -0.425423 +v -0.015222 0.571202 -0.415638 +v -0.021717 0.571769 -0.405624 +v -0.026563 0.571983 -0.395421 +v -0.030252 0.572148 -0.385320 +v -0.032776 0.572351 -0.375219 +v -0.036372 0.572595 -0.365260 +v -0.039103 0.572958 -0.355446 +v -0.042792 0.574065 -0.346098 +v 0.223602 0.881667 -0.221176 +v 0.279643 0.857707 -0.256075 +v -0.652894 0.936278 -0.006808 +v -0.584821 0.838637 -0.086954 +v -0.594061 0.839237 -0.076627 +v -0.577753 1.044347 -0.086223 +v -0.611785 0.948938 -0.086785 +v -0.645914 0.949817 -0.016762 +v -0.584776 0.785887 -0.036260 +v -0.278036 0.904397 -0.180528 +v -0.289280 0.852747 -0.226985 +v -0.494874 0.602064 -0.225281 +v -0.504709 0.602675 -0.215501 +v -0.513141 0.603211 -0.205532 +v -0.521925 0.603723 -0.195877 +v -0.531178 0.604288 -0.185588 +v -0.542733 0.605057 -0.175238 +v -0.552292 0.605680 -0.165229 +v -0.560656 0.606234 -0.155168 +v -0.568825 0.606749 -0.144994 +v -0.575890 0.607212 -0.134962 +v -0.582047 0.607646 -0.125048 +v -0.585671 0.607903 -0.115104 +v -0.589287 0.608133 -0.105095 +v -0.590158 0.608273 -0.095050 +v -0.143746 0.060777 -0.364652 +v 0.815079 0.372883 -0.061804 +v -0.101697 0.136986 -0.337678 +v -0.021159 0.151557 -0.351620 +v -0.499261 0.463256 0.249262 +v 0.100135 0.767267 -0.298912 +v -0.064554 0.756057 -0.286724 +v 0.220530 0.664365 -0.370082 +v 0.053755 0.919127 -0.139168 +v 0.338669 0.808957 -0.283790 +v 0.274485 0.736637 -0.306369 +v 0.173466 0.625510 -0.429922 +v 0.699059 0.332226 -0.101237 +v 0.494174 0.710907 -0.279009 +v 0.017575 0.862457 -0.218907 +v 0.445217 0.688027 -0.314015 +v 0.498693 0.898887 -0.120863 +v 0.515569 0.297008 -0.331013 +v -0.006605 0.886487 -0.183751 +v 0.323618 0.638974 -0.382950 +v 0.506964 0.654355 -0.298751 +v 0.571958 0.766927 -0.199015 +v -0.222060 0.940587 -0.159444 +v 0.471772 0.607052 -0.328937 +v -0.035324 0.832207 -0.246968 +v -0.045574 0.832697 -0.247439 +v -0.108543 0.834017 -0.248582 +v 0.516485 0.652156 -0.296456 +v 0.525467 0.649101 -0.293140 +v 0.287582 0.903257 -0.204542 +v 0.546806 0.800047 -0.194550 +v 0.300112 0.896087 -0.217315 +v 0.126243 0.715917 -0.324695 +v 0.729167 0.307965 -0.116957 +v -0.229719 0.036650 -0.215672 +v 0.491294 0.675323 -0.300954 +v -0.020302 0.740337 -0.310614 +v 0.338654 0.575885 -0.417611 +v 0.534459 0.645571 -0.289657 +v 0.546618 0.789747 -0.203536 +v -0.192768 0.834567 -0.248721 +v 0.613312 0.774297 -0.146625 +v 0.830006 0.330000 -0.077635 +v 0.519884 0.819787 -0.195839 +v 0.007126 0.852687 -0.228654 +v 0.122960 0.658988 -0.365036 +v -0.090903 0.667958 -0.315166 +v 0.145745 0.662433 -0.368555 +v 0.563057 0.840247 -0.137688 +v 0.203314 0.873377 -0.232264 +v 0.213193 0.872207 -0.231022 +v 0.223397 0.871257 -0.230047 +v 0.322290 0.848157 -0.266037 +v 0.162113 0.603572 -0.447681 +v 0.651251 0.695157 -0.161880 +v -0.098480 0.822827 -0.256893 +v -0.100661 0.128476 -0.349713 +v -0.042268 0.140529 -0.361338 +v 0.824531 0.370816 -0.059552 +v -0.051502 0.901577 -0.159069 +v 0.543142 0.642266 -0.285841 +v 0.222590 0.849947 -0.247285 +v 0.551577 0.637321 -0.280961 +v 0.833460 0.367442 -0.055943 +v 0.561673 0.656546 -0.261230 +v 0.446273 0.720777 -0.289597 +v 0.435616 0.740547 -0.270708 +v 0.841881 0.363472 -0.051747 +v 0.004272 0.796327 -0.269314 +v -0.024715 0.831847 -0.246622 +v 0.527120 0.872687 -0.132790 +v 0.515984 0.752097 -0.243155 +v 0.233119 0.799577 -0.293658 +v 0.433530 0.686527 -0.313247 +v 0.084678 0.818957 -0.273766 +v -0.172305 0.833447 -0.247897 +v 0.307770 0.940367 -0.165017 +v 0.473430 0.802487 -0.237142 +v 0.560008 0.633375 -0.276582 +v 0.014912 0.613150 -0.398139 +v 0.172293 0.643297 -0.408096 +v 0.268658 0.856707 -0.254944 +v -0.129394 0.854647 -0.230088 +v 0.558823 0.559504 -0.298750 +v 0.568482 0.554392 -0.293350 +v 0.718905 0.329556 -0.098471 +v 0.420732 0.893237 -0.194990 +v 0.680741 0.319175 -0.128167 +v -0.157554 0.871817 -0.228212 +v -0.277747 0.935537 -0.153569 +v 0.378827 0.642713 -0.346759 +v -0.230668 0.781717 -0.275246 +v -0.220547 0.781467 -0.274458 +v -0.053339 0.139150 -0.360058 +v 0.569010 0.711227 -0.239510 +v 0.108059 0.740527 -0.310699 +v 0.700889 0.346297 -0.095465 +v 0.059586 0.770817 -0.302758 +v 0.511005 0.812877 -0.208421 +v 0.568355 0.628875 -0.271816 +v 0.481941 0.616195 -0.318788 +v 0.576785 0.624417 -0.267119 +v 0.585222 0.620464 -0.262828 +v 0.593727 0.616086 -0.258204 +v 0.073632 1.550407 -0.261357 +v 0.083535 1.550677 -0.268825 +v 0.602030 0.611978 -0.253783 +v -0.059086 0.159901 -0.318827 +v 0.560867 0.645244 -0.269102 +v 0.619230 0.623383 -0.225859 +v 0.340230 0.649976 -0.354590 +v 0.457265 0.871917 -0.191966 +v 0.001552 0.078909 -0.382540 +v 0.327834 0.797157 -0.289885 +v 0.500282 0.538922 -0.337732 +v 0.190728 0.849597 -0.246770 +v -0.334576 0.124901 -0.138417 +v 0.610614 0.607675 -0.249232 +v 0.392604 0.688887 -0.315504 +v 0.462558 0.792007 -0.245754 +v 0.253931 0.938567 -0.162420 +v 0.093175 0.713187 -0.321772 +v 0.079788 0.879657 -0.197415 +v 0.332234 0.856897 -0.255473 +v 0.150000 0.731217 -0.320848 +v 0.151823 0.644512 -0.409541 +v 0.494788 0.842537 -0.200365 +v 0.383464 0.873397 -0.233481 +v 0.342983 0.876937 -0.237100 +v 0.785014 0.355642 -0.084476 +v 0.730368 0.331381 -0.100381 +v 0.618825 0.603042 -0.244308 +v 0.332078 0.876797 -0.236838 +v 0.387227 0.800367 -0.274821 +v -0.067411 0.821557 -0.255680 +v 0.613945 0.754857 -0.165721 +v 0.275909 0.678229 -0.324666 +v -0.087911 0.133022 -0.354222 +v -0.031111 0.141470 -0.362173 +v -0.187758 0.885057 -0.221912 +v 0.619007 0.612993 -0.234848 +v -0.255882 0.936867 -0.154903 +v 0.626753 0.597711 -0.238673 +v 0.634469 0.591732 -0.232342 +v 0.062271 0.816457 -0.270965 +v 0.073658 0.818117 -0.272802 +v 0.642168 0.586249 -0.226513 +v 0.650225 0.580998 -0.220960 +v 0.609945 0.534463 -0.272618 +v 0.619771 0.633921 -0.217226 +v 0.065455 1.546347 -0.276785 +v 0.078035 1.552677 -0.284969 +v 0.092378 1.555097 -0.287965 +v -0.359225 0.117928 -0.131314 +v -0.297198 0.038699 -0.197637 +v -0.097711 0.844267 -0.239323 +v -0.324539 0.845407 -0.218753 +v 0.182882 0.602402 -0.445942 +v -0.220601 0.872657 -0.228573 +v -0.081395 0.925227 -0.144411 +v -0.026300 0.869507 -0.205829 +v 0.420889 0.863797 -0.223221 +v 0.582000 0.785537 -0.178942 +v 0.300343 0.826777 -0.282976 +v 0.536218 0.770117 -0.222526 +v 0.552759 0.860707 -0.119762 +v 0.349206 0.938237 -0.163150 +v 0.160699 0.651079 -0.396475 +v -0.054903 0.049813 -0.394955 +v 0.267012 0.691627 -0.318849 +v 0.103396 0.712707 -0.321553 +v -0.025038 0.046438 -0.390207 +v 0.389167 0.612225 -0.374432 +v 0.049581 0.629879 -0.394959 +v 0.796114 0.274119 -0.121835 +v 0.803825 0.269433 -0.116375 +v 0.353245 0.876487 -0.236666 +v 0.824104 0.359679 -0.068156 +v 0.833011 0.356585 -0.064841 +v 0.192665 0.873477 -0.232329 +v 0.234024 0.871287 -0.230134 +v -0.097916 0.833757 -0.248345 +v 0.428286 0.907127 -0.169936 +v -0.232996 0.859277 -0.234511 +v 0.254679 0.920317 -0.182748 +v -0.330900 0.045981 -0.184936 +v 0.122928 0.790727 -0.283832 +v 0.532997 0.723927 -0.253030 +v 0.213011 0.801497 -0.295681 +v 0.112698 0.791587 -0.284801 +v 0.585875 0.702277 -0.230135 +v -0.098114 0.165481 -0.241651 +v 0.095130 0.848607 -0.245149 +v -0.056584 0.851867 -0.227435 +v 0.553317 0.579955 -0.300093 +v 0.042087 0.615581 -0.420577 +v -0.177135 0.793217 -0.265379 +v -0.215086 0.055277 -0.213310 +v 0.742006 0.343462 -0.092302 +v 0.050803 1.528787 -0.277639 +v 0.730735 0.342510 -0.091497 +v 0.082715 1.550348 -0.300391 +v 0.096764 1.554028 -0.305687 +v 0.561130 0.856307 -0.114906 +v 0.144589 0.791707 -0.284962 +v -0.072713 0.921547 -0.140382 +v -0.300792 0.871607 -0.206228 +v -0.209073 0.087690 -0.206584 +v -0.187396 0.905977 -0.203726 +v -0.167430 0.873167 -0.229568 +v -0.137878 0.868837 -0.225053 +v 0.402630 0.879407 -0.220021 +v 0.411976 0.876967 -0.217456 +v 0.588544 0.818017 -0.133630 +v 0.274096 0.645815 -0.390176 +v 0.150044 0.650981 -0.396404 +v 0.137406 0.838657 -0.254841 +v 0.438360 0.836627 -0.233900 +v 0.018168 0.589271 -0.433903 +v 0.598279 0.665891 -0.230800 +v 0.091044 0.698987 -0.327093 +v 0.187046 0.700647 -0.328393 +v 0.006953 0.862187 -0.218614 +v 0.495897 0.509783 -0.347757 +v -0.300516 0.861687 -0.216041 +v 0.504420 0.505939 -0.343482 +v 0.521254 0.496839 -0.334300 +v 0.810581 0.261589 -0.108308 +v 0.392952 0.871227 -0.231173 +v 0.475273 0.715307 -0.283754 +v 0.511285 0.863337 -0.162767 +v 0.571332 0.836027 -0.133345 +v -0.056190 0.832637 -0.247355 +v -0.067201 0.831967 -0.246495 +v 0.800500 0.302960 -0.111328 +v 0.321985 0.867447 -0.246818 +v 0.341738 0.602552 -0.404944 +v -0.035955 0.861277 -0.217262 +v -0.025277 0.820817 -0.255046 +v -0.076429 0.135136 -0.356234 +v -0.061214 0.782287 -0.274343 +v -0.040739 0.781077 -0.273190 +v 0.369137 0.816357 -0.271841 +v 0.525862 0.306379 -0.320478 +v 0.533979 0.301735 -0.315524 +v 0.502730 0.696947 -0.284143 +v -0.064937 0.116173 -0.378296 +v 0.234031 0.851187 -0.248694 +v 0.727842 0.419723 -0.050238 +v 0.732881 0.408830 -0.038742 +v -0.097887 0.894387 -0.191696 +v 0.106019 0.566001 -0.469669 +v 0.146535 0.551471 -0.474095 +v 0.740329 0.402505 -0.032142 +v 0.749469 0.399401 -0.028945 +v 0.083391 1.541058 -0.311694 +v 0.097747 1.547817 -0.319782 +v 0.509806 0.800767 -0.215274 +v 0.760269 0.399163 -0.028913 +v 0.191756 0.801397 -0.295522 +v 0.397682 0.638118 -0.341892 +v -0.126419 0.150608 -0.268616 +v 0.342184 0.633901 -0.377454 +v -0.277085 0.876077 -0.211343 +v -0.069669 0.796807 -0.269868 +v 0.189602 0.827007 -0.262672 +v -0.098248 0.903807 -0.181556 +v -0.106912 0.907557 -0.185607 +v 0.293759 0.642685 -0.386912 +v 0.234284 0.650400 -0.395372 +v 0.201172 0.819407 -0.274537 +v 0.508446 0.787827 -0.221561 +v 0.771418 0.399765 -0.029712 +v 0.435965 0.812057 -0.247347 +v 0.115778 0.837807 -0.253786 +v -0.044363 0.157376 -0.337057 +v -0.155850 0.905617 -0.203568 +v 0.612271 0.792527 -0.126130 +v -0.178736 0.942347 -0.161868 +v -0.002591 0.912827 -0.131593 +v 0.513012 0.501429 -0.339183 +v 0.782008 0.400019 -0.029850 +v 0.402389 0.868997 -0.228797 +v 0.193394 0.040657 -0.338739 +v 0.572951 0.779187 -0.192145 +v 0.175850 0.557595 -0.460409 +v 0.318413 0.940397 -0.165190 +v -0.278271 0.914197 -0.170746 +v 0.792588 0.400022 -0.029873 +v 0.802718 0.399430 -0.029174 +v -0.335691 0.854187 -0.207589 +v 0.539519 0.695647 -0.262961 +v -0.087856 0.822587 -0.256699 +v -0.210617 0.780727 -0.273091 +v -0.190182 0.780307 -0.271920 +v -0.014085 0.852327 -0.228157 +v -0.025123 0.851617 -0.227250 +v 0.509481 0.315648 -0.330303 +v 0.812484 0.398043 -0.027658 +v 0.821861 0.396046 -0.025388 +v 0.830940 0.393260 -0.022309 +v -0.056137 1.446717 -0.223883 +v -0.043394 1.452968 -0.231148 +v -0.027371 1.461547 -0.241131 +v -0.197416 0.805037 -0.257604 +v 0.548232 0.691867 -0.258953 +v 0.546752 0.809857 -0.185076 +v 0.741736 0.353630 -0.082622 +v -0.176772 0.906047 -0.203861 +v 0.813826 0.349962 -0.078424 +v 0.084375 1.531408 -0.321565 +v 0.098261 1.538677 -0.330057 +v -0.176988 0.804087 -0.256894 +v 0.332965 0.888077 -0.229048 +v 0.202791 0.801827 -0.296016 +v 0.285725 0.676659 -0.322990 +v 0.320183 0.913847 -0.196481 +v -0.265271 0.878357 -0.213961 +v 0.369970 0.837907 -0.255064 +v -0.089773 0.798567 -0.271446 +v 0.212812 0.811327 -0.286101 +v 0.517482 0.884387 -0.125501 +v 0.534287 0.574039 -0.314010 +v 0.794909 0.354438 -0.083199 +v 0.074763 0.576815 -0.460838 +v 0.832000 0.344436 -0.072345 +v 0.098635 0.915167 -0.155123 +v -0.364280 0.131445 -0.100997 +v 0.092563 0.039735 -0.359949 +v 0.517822 0.785527 -0.219024 +v 0.105152 0.837867 -0.253805 +v 0.155746 0.772347 -0.304375 +v -0.441047 0.066274 -0.085098 +v 0.235901 0.692817 -0.320218 +v 0.444392 0.534078 -0.372997 +v -0.118642 0.935167 -0.154936 +v 0.605838 0.790587 -0.144183 +v 0.411707 0.866517 -0.226141 +v -0.038641 0.030159 -0.392986 +v 0.134370 0.660760 -0.366797 +v 0.510592 0.610192 -0.312197 +v 0.491513 0.614457 -0.316575 +v 0.194314 0.624860 -0.429081 +v 0.517809 0.532007 -0.330235 +v 0.407499 0.747837 -0.278171 +v -0.077833 0.831667 -0.246161 +v -0.221932 0.859927 -0.235257 +v -0.033339 0.158886 -0.338372 +v 0.212962 0.861727 -0.239847 +v 0.202713 0.862107 -0.240217 +v 0.191693 0.861557 -0.239574 +v 0.392742 0.900567 -0.202903 +v -0.040893 0.901267 -0.159033 +v 0.079920 0.023741 -0.366421 +v -0.098975 1.415218 -0.208275 +v -0.085241 1.421697 -0.215766 +v -0.071197 1.428917 -0.224163 +v -0.056034 1.436217 -0.232540 +v -0.042426 1.442737 -0.240157 +v -0.027069 1.450948 -0.249528 +v -0.013480 1.457467 -0.257181 +v 0.000974 1.465297 -0.266287 +v 0.016346 1.473537 -0.275637 +v 0.031649 1.482737 -0.286228 +v 0.795190 0.375354 -0.064440 +v 0.224766 0.923867 -0.186455 +v -0.005681 0.633001 -0.338108 +v -0.165942 0.804677 -0.257422 +v 0.113538 1.536638 -0.345561 +v 0.122722 1.536347 -0.347173 +v 0.000555 1.269467 -0.210937 +v 0.193128 0.642904 -0.407499 +v -0.006901 0.784957 -0.277353 +v 0.470503 0.594401 -0.335671 +v 0.466238 0.878687 -0.179176 +v 0.475644 0.876347 -0.176717 +v -0.001281 0.026202 -0.379942 +v -0.135407 0.903947 -0.201937 +v 0.397585 0.928967 -0.153508 +v 0.804685 0.352783 -0.081387 +v 0.380048 0.625060 -0.368006 +v 0.389251 0.622326 -0.365072 +v 0.430441 0.871697 -0.211794 +v 0.596451 0.812757 -0.127911 +v 0.431419 0.570686 -0.371093 +v 0.605846 0.770177 -0.162292 +v 0.620873 0.758057 -0.149134 +v 0.188633 0.663997 -0.369802 +v 0.192377 0.903107 -0.203789 +v -0.065252 0.050345 -0.395612 +v 0.423431 0.575496 -0.376318 +v -0.244467 0.938157 -0.156521 +v 0.213711 0.903137 -0.204028 +v 0.170581 0.891617 -0.211320 +v -0.107865 0.875407 -0.211872 +v 0.346377 0.671293 -0.317142 +v 0.546174 0.778807 -0.211805 +v 0.129277 0.741837 -0.313767 +v -0.128359 0.866757 -0.222840 +v -0.108488 0.864007 -0.219889 +v 0.503400 0.858587 -0.177611 +v -0.087671 0.833227 -0.247831 +v 0.321920 0.876577 -0.236488 +v -0.147698 0.870427 -0.226764 +v 0.223425 0.861497 -0.239562 +v 0.156378 0.662583 -0.368595 +v 0.368876 0.593468 -0.395283 +v 0.148752 0.860777 -0.238394 +v 0.467267 0.840957 -0.218659 +v 0.083092 0.856057 -0.232785 +v 0.071307 0.853537 -0.230055 +v -0.099989 1.402617 -0.214514 +v -0.086176 1.408998 -0.221921 +v -0.071973 1.417078 -0.231375 +v -0.057592 1.423077 -0.238105 +v -0.043825 1.429497 -0.245561 +v -0.028975 1.437127 -0.254199 +v -0.015339 1.443597 -0.261849 +v -0.000036 1.451917 -0.271190 +v -0.207642 0.805957 -0.258724 +v -0.120707 0.810397 -0.263738 +v -0.110086 0.810537 -0.263944 +v 0.059926 0.851977 -0.228254 +v -0.311613 0.890407 -0.185395 +v 0.049291 0.851897 -0.228076 +v 0.111311 1.522318 -0.352348 +v 0.124705 1.528167 -0.357774 +v 0.135684 1.528427 -0.358303 +v 0.038631 0.852167 -0.228253 +v 0.634717 0.602216 -0.223395 +v 0.529106 0.604952 -0.306587 +v 0.416679 0.744977 -0.275382 +v 0.451869 0.599590 -0.341194 +v 0.620105 0.696597 -0.203721 +v 0.191751 0.650405 -0.395293 +v 0.111565 0.657367 -0.363368 +v 0.181071 0.911907 -0.192996 +v 0.028005 0.852127 -0.228156 +v 0.841447 0.352196 -0.060235 +v 0.191489 0.811327 -0.285971 +v 0.525473 0.577741 -0.317720 +v 0.098504 0.061640 -0.362863 +v 0.223988 0.902477 -0.203400 +v 0.146224 0.703167 -0.330741 +v 0.631260 0.554893 -0.253824 +v 0.409253 0.831947 -0.248706 +v -0.323281 0.127810 -0.141202 +v 0.085380 0.636664 -0.402086 +v -0.087203 0.047818 -0.392647 +v -0.043080 0.117881 -0.379917 +v -0.046391 0.851537 -0.227016 +v -0.385966 1.232888 -0.033012 +v -0.376561 1.231847 -0.030819 +v -0.365996 1.232107 -0.031123 +v -0.098334 0.853207 -0.228613 +v -0.108516 0.854087 -0.229509 +v 0.180085 0.849507 -0.246651 +v -0.308279 1.262578 -0.069236 +v 0.483611 0.811517 -0.226966 +v -0.187203 0.804537 -0.257247 +v -0.132620 0.797217 -0.269793 +v -0.250421 0.795377 -0.268394 +v 0.352629 0.865197 -0.244472 +v 0.267044 0.873887 -0.233160 +v 0.192979 0.933847 -0.176901 +v -0.175270 1.349927 -0.174855 +v -0.160400 1.358507 -0.184748 +v -0.088828 0.810647 -0.264111 +v -0.130748 1.373867 -0.202171 +v -0.115541 1.382228 -0.211638 +v -0.101655 1.388607 -0.218927 +v -0.087351 1.395627 -0.226965 +v -0.074268 1.402427 -0.235363 +v -0.010689 0.907817 -0.146288 +v -0.355981 1.404967 -0.708207 +v -0.099394 0.931457 -0.150979 +v -0.259111 0.808037 -0.260481 +v -0.237592 0.809137 -0.261855 +v -0.217520 0.807247 -0.259988 +v -0.000477 0.907277 -0.145690 +v 0.010161 0.907487 -0.145916 +v -0.078590 0.810127 -0.263675 +v -0.346066 0.112421 -0.146904 +v -0.334022 0.115680 -0.150148 +v -0.067967 0.810087 -0.263626 +v 0.123520 1.515217 -0.365050 +v 0.135206 1.518887 -0.368316 +v -0.143089 0.807687 -0.260691 +v -0.057349 0.810267 -0.263919 +v 0.234248 0.941517 -0.165489 +v 0.284362 0.735257 -0.304986 +v -0.038306 0.876677 -0.193173 +v 0.213410 0.650998 -0.396070 +v 0.181537 0.650688 -0.395880 +v 0.070614 0.639823 -0.385254 +v 0.148522 0.576692 -0.460448 +v 0.805299 0.364331 -0.073144 +v 0.774569 0.365993 -0.075069 +v 0.169118 0.808457 -0.282893 +v 0.347449 0.572701 -0.413764 +v 0.460172 0.585126 -0.345655 +v 0.015681 0.798037 -0.271174 +v 0.004068 0.806287 -0.259793 +v 0.168014 0.816887 -0.271698 +v 0.179563 0.818217 -0.273270 +v -0.297519 0.135920 -0.149728 +v 0.613489 0.764217 -0.155781 +v 0.589101 0.749407 -0.200177 +v 0.329120 0.810957 -0.285707 +v 0.373636 0.894627 -0.216396 +v -0.382618 1.229317 -0.049832 +v -0.371613 1.229797 -0.050888 +v -0.361433 1.229817 -0.050492 +v -0.350995 1.230157 -0.050949 +v -0.337776 1.235057 -0.057261 +v -0.321375 1.243597 -0.068427 +v -0.305653 1.253197 -0.080036 +v -0.290585 1.262127 -0.090921 +v 0.402479 0.889077 -0.210428 +v -0.256317 1.286267 -0.120232 +v -0.239733 1.297217 -0.133520 +v -0.223990 1.306717 -0.145084 +v -0.208312 1.316167 -0.156475 +v 0.411827 0.886607 -0.207847 +v -0.177117 1.335277 -0.178188 +v -0.161144 1.345117 -0.189223 +v -0.147126 1.352288 -0.197620 +v 0.339526 0.930107 -0.174265 +v 0.275678 0.929797 -0.173295 +v 0.605904 0.760497 -0.171971 +v 0.597869 0.765247 -0.177087 +v 0.181100 0.931717 -0.174295 +v 0.060795 0.804047 -0.277905 +v -0.059446 0.796117 -0.269192 +v -0.079930 0.797437 -0.270422 +v -0.111045 0.798517 -0.271372 +v -0.121685 0.798367 -0.271162 +v -0.260940 0.794887 -0.267244 +v 0.627707 0.690557 -0.197285 +v 0.360561 0.919757 -0.183252 +v 0.244471 0.921077 -0.183503 +v -0.029704 0.781717 -0.273763 +v -0.015658 0.869617 -0.206021 +v 0.101834 0.881007 -0.199252 +v 0.597742 0.745207 -0.195680 +v 0.133986 1.505857 -0.373640 +v 0.145624 1.508358 -0.376226 +v 0.154725 1.506297 -0.374449 +v -0.000917 0.663759 -0.330201 +v -0.010981 0.025063 -0.386080 +v 0.010496 0.665409 -0.331820 +v 0.285773 0.748057 -0.298742 +v -0.117832 0.071817 -0.375710 +v 0.021500 0.666318 -0.332741 +v 0.059251 0.638072 -0.383480 +v 0.031710 0.665724 -0.332275 +v 0.795397 0.365540 -0.074453 +v 0.785180 0.366104 -0.075120 +v 0.244132 0.649133 -0.393913 +v 0.254364 0.648571 -0.393224 +v 0.168298 0.937507 -0.160174 +v 0.077035 0.601948 -0.446579 +v 0.840136 0.339844 -0.067463 +v -0.266868 0.935977 -0.153887 +v 0.501116 0.883917 -0.144989 +v -0.132114 0.808757 -0.261945 +v 0.480675 0.786007 -0.239318 +v -0.347051 0.120835 -0.134294 +v 0.177152 0.701937 -0.329567 +v 0.041953 0.665132 -0.331672 +v -0.380012 1.224537 -0.064961 +v -0.369857 1.223467 -0.064252 +v -0.359240 1.223537 -0.064554 +v -0.348678 1.223798 -0.064985 +v -0.336983 1.225947 -0.067881 +v -0.322044 1.232687 -0.076419 +v -0.306386 1.241307 -0.086894 +v -0.291088 1.250197 -0.097601 +v -0.274199 1.261117 -0.110565 +v -0.257291 1.271957 -0.123524 +v -0.242651 1.281037 -0.134866 +v -0.226178 1.291157 -0.146939 +v -0.209953 1.301377 -0.159204 +v -0.195362 1.309337 -0.168459 +v 0.253309 0.808147 -0.283064 +v 0.243116 0.808227 -0.282846 +v 0.232888 0.809167 -0.283871 +v 0.223044 0.810527 -0.285300 +v 0.202564 0.811797 -0.286627 +v 0.264654 0.929047 -0.172328 +v 0.286683 0.930567 -0.174261 +v 0.254499 0.929647 -0.172896 +v 0.049936 0.802787 -0.276398 +v -0.025323 0.861317 -0.217378 +v 0.442397 0.601858 -0.343538 +v 0.455630 0.748267 -0.259138 +v -0.289282 0.913257 -0.169604 +v -0.266461 0.916387 -0.173336 +v 0.399973 0.913937 -0.177136 +v 0.390430 0.915837 -0.179333 +v -0.294241 0.056506 -0.195209 +v 0.278443 0.875307 -0.234864 +v 0.052505 0.665408 -0.332092 +v -0.031237 0.130487 -0.371744 +v 0.063530 0.666287 -0.332922 +v 0.131850 1.490187 -0.373824 +v 0.142457 1.493278 -0.379092 +v 0.154199 1.495627 -0.382159 +v 0.162064 1.491477 -0.378006 +v -0.030877 0.739147 -0.309297 +v 0.074601 0.666986 -0.333471 +v 0.085219 0.667111 -0.333533 +v 0.555044 0.775297 -0.208066 +v -0.283981 0.043526 -0.201864 +v 0.095874 0.667119 -0.333519 +v 0.106476 0.667242 -0.333630 +v 0.433122 0.604304 -0.346094 +v 0.333003 0.636661 -0.380522 +v 0.264249 0.647180 -0.391713 +v 0.016277 0.789077 -0.281818 +v 0.117924 0.668796 -0.335192 +v 0.109143 0.906377 -0.165554 +v 0.128948 0.669791 -0.336219 +v 0.359587 0.646523 -0.350773 +v -0.285778 0.139423 -0.153426 +v 0.336316 0.682347 -0.308909 +v 0.562758 0.759567 -0.211207 +v 0.069584 0.698787 -0.327729 +v 0.140299 0.671627 -0.338164 +v -0.378008 1.218498 -0.078426 +v -0.368360 1.216637 -0.076908 +v -0.358596 1.215167 -0.075527 +v -0.347604 1.215447 -0.076398 +v -0.335729 1.217237 -0.078907 +v -0.322516 1.221467 -0.084047 +v -0.307990 1.228037 -0.091859 +v -0.293398 1.235507 -0.100823 +v 0.465545 0.554058 -0.353707 +v 0.423289 0.787777 -0.261564 +v 0.414666 0.792007 -0.265682 +v 0.396711 0.798157 -0.272447 +v 0.358385 0.806117 -0.280838 +v 0.296743 0.939617 -0.164034 +v 0.267038 0.811407 -0.285816 +v 0.309578 0.913427 -0.196070 +v -0.028851 0.894467 -0.171832 +v 0.214283 0.914377 -0.196095 +v 0.065040 0.046943 -0.369589 +v 0.180459 0.810357 -0.284960 +v 0.145163 0.802817 -0.276720 +v 0.083640 0.806807 -0.281084 +v 0.072256 0.805557 -0.279568 +v 0.542808 0.570167 -0.309735 +v 0.248368 0.756127 -0.308241 +v 0.382946 0.862437 -0.241646 +v 0.099181 0.755427 -0.306474 +v 0.069265 0.758857 -0.309992 +v 0.058639 0.758747 -0.309909 +v 0.003924 0.755367 -0.306419 +v -0.007455 0.753647 -0.304554 +v -0.242291 0.892107 -0.208608 +v 0.298167 0.931757 -0.175823 +v 0.741884 0.374531 -0.063817 +v 0.151827 0.672903 -0.339340 +v 0.162809 0.673760 -0.340271 +v 0.140528 1.477747 -0.378699 +v 0.152875 1.482827 -0.385440 +v 0.173751 0.674784 -0.341384 +v 0.184350 0.675309 -0.341913 +v 0.005995 0.830017 -0.244787 +v 0.195396 0.676549 -0.342927 +v -0.078842 0.859917 -0.215606 +v -0.345988 0.025142 -0.184426 +v -0.358528 0.021086 -0.180437 +v 0.206036 0.676815 -0.343021 +v 0.095334 0.818837 -0.273667 +v 0.370730 0.617549 -0.380073 +v -0.353928 0.053992 -0.172627 +v 0.810718 0.404759 -0.014426 +v 0.621292 0.708657 -0.196619 +v -0.089090 0.860547 -0.216250 +v 0.116909 0.860037 -0.237399 +v 0.219190 0.676476 -0.342067 +v 0.153390 0.758477 -0.309911 +v -0.150197 0.167194 -0.202618 +v 0.227212 0.676198 -0.342861 +v 0.027490 0.820417 -0.254794 +v 0.237468 0.675982 -0.342334 +v 0.105199 0.645723 -0.391192 +v 0.747418 0.405681 -0.015500 +v 0.250061 0.675526 -0.340915 +v -0.375736 1.212468 -0.092547 +v -0.366907 1.209087 -0.089247 +v -0.357191 1.207348 -0.087655 +v -0.347402 1.205717 -0.086058 +v -0.336305 1.206117 -0.086741 +v -0.323866 1.208857 -0.089988 +v -0.311753 1.212097 -0.094145 +v 0.076644 0.621638 -0.426561 +v 0.441355 0.781757 -0.255014 +v 0.432222 0.784687 -0.258055 +v 0.235259 0.642539 -0.406950 +v 0.514326 0.566421 -0.325984 +v -0.308950 0.926267 -0.163741 +v 0.623166 0.560198 -0.259316 +v 0.194129 0.634764 -0.419198 +v -0.056388 0.842367 -0.237449 +v 0.513239 0.716677 -0.265286 +v 0.503972 0.719317 -0.268016 +v 0.465366 0.726647 -0.275836 +v 0.074509 0.044711 -0.367259 +v 0.757829 0.404498 -0.014614 +v -0.225013 0.833347 -0.247142 +v 0.580461 0.752827 -0.203874 +v 0.120147 0.916437 -0.156591 +v 0.001250 0.901277 -0.159130 +v 0.582073 0.806277 -0.161268 +v -0.056913 0.035193 -0.398618 +v -0.409702 1.493567 -0.669301 +v 0.341070 0.913487 -0.196139 +v 0.740220 0.309190 -0.118259 +v -0.266286 0.906827 -0.183296 +v -0.068393 0.869887 -0.206033 +v -0.198387 0.885037 -0.221800 +v 0.399599 0.833667 -0.250671 +v 0.147385 1.463147 -0.381572 +v 0.158835 1.467207 -0.387302 +v -0.220769 0.652699 -0.311369 +v -0.506689 0.394143 0.148944 +v 0.351683 0.853497 -0.251859 +v 0.407292 0.808277 -0.263131 +v 0.201231 0.778957 -0.311446 +v -0.067394 0.841577 -0.236523 +v -0.044444 0.103928 -0.386940 +v -0.034107 0.103434 -0.386464 +v -0.023827 0.102777 -0.385480 +v 0.289751 0.826507 -0.282597 +v 0.471764 0.789177 -0.242898 +v 0.388210 0.812287 -0.267635 +v 0.378421 0.813837 -0.269356 +v -0.080882 0.785197 -0.277471 +v -0.101378 0.786357 -0.278539 +v -0.111980 0.786287 -0.278440 +v 0.365693 0.789707 -0.283127 +v 0.384642 0.785297 -0.278467 +v 0.421597 0.774827 -0.267136 +v 0.496266 0.754947 -0.246155 +v 0.141361 0.634815 -0.419584 +v -0.119159 0.144760 -0.304054 +v 0.257952 0.674868 -0.340978 +v 0.544376 0.654412 -0.278922 +v 0.092162 0.872997 -0.210695 +v -0.243867 0.929247 -0.167229 +v 0.038806 0.791197 -0.284199 +v 0.244100 0.940077 -0.164017 +v 0.403590 0.689707 -0.316202 +v 0.027646 0.831007 -0.245936 +v -0.080426 0.083827 -0.387394 +v 0.039281 0.822837 -0.257491 +v 0.050511 0.824897 -0.259701 +v 0.287881 0.762177 -0.293573 +v 0.007031 0.057795 -0.381358 +v 0.401256 0.846927 -0.244932 +v 0.267868 0.673465 -0.339503 +v -0.373008 1.207247 -0.107458 +v -0.365335 1.201848 -0.101694 +v -0.355854 1.197917 -0.097351 +v -0.347937 1.194767 -0.094247 +v -0.337732 1.193748 -0.093223 +v -0.326662 1.194468 -0.094230 +v -0.313614 1.197707 -0.097545 +v 0.720086 0.363803 -0.072705 +v 0.497325 0.766947 -0.239069 +v 0.635325 0.684497 -0.190832 +v 0.107374 0.640052 -0.405159 +v 0.608865 0.674996 -0.220930 +v 0.575817 0.693307 -0.240619 +v 0.567542 0.698427 -0.245773 +v 0.558993 0.702307 -0.250049 +v 0.541247 0.709127 -0.257310 +v 0.532078 0.712047 -0.260341 +v 0.338394 0.696417 -0.302241 +v 0.446243 0.700717 -0.308146 +v 0.455854 0.728747 -0.278083 +v 0.415474 0.732637 -0.282471 +v 0.378336 0.932817 -0.157539 +v 0.156528 0.561192 -0.464218 +v 0.295658 0.746687 -0.297404 +v 0.229305 0.761927 -0.313125 +v 0.219472 0.763367 -0.314595 +v 0.732329 0.429191 -0.019473 +v 0.399879 0.672636 -0.318523 +v 0.157745 0.573824 -0.457726 +v 0.738798 0.409981 -0.019688 +v 0.255054 0.900787 -0.201853 +v 0.266451 0.882697 -0.222559 +v 0.301118 0.867997 -0.247290 +v 0.389634 0.834937 -0.251928 +v 0.114619 0.815267 -0.269855 +v 0.205272 0.695187 -0.323228 +v -0.110919 0.667649 -0.311363 +v 0.564952 0.794097 -0.188213 +v 0.277537 0.671069 -0.337386 +v 0.287364 0.669462 -0.335708 +v 0.221656 0.777657 -0.310132 +v 0.469083 0.581535 -0.342071 +v 0.297281 0.668385 -0.334354 +v -0.129026 0.080910 -0.364038 +v 0.290291 0.837847 -0.274847 +v -0.102618 0.092833 -0.376020 +v -0.089921 0.097485 -0.380685 +v -0.077338 0.100917 -0.383718 +v -0.066345 0.102298 -0.385242 +v -0.055186 0.103518 -0.386457 +v 0.306842 0.666726 -0.332359 +v 0.314752 0.732587 -0.302271 +v -0.103239 0.167916 -0.222251 +v -0.113209 0.165092 -0.221245 +v -0.124845 0.163510 -0.219414 +v -0.137345 0.160224 -0.215616 +v -0.150183 0.155826 -0.211521 +v -0.099456 0.810617 -0.264083 +v -0.035126 0.822267 -0.256560 +v -0.045734 0.822457 -0.256800 +v 0.340966 0.833357 -0.270143 +v 0.388319 0.822387 -0.258458 +v 0.050416 0.814227 -0.268511 +v 0.268944 0.846917 -0.264452 +v 0.004558 0.766387 -0.297962 +v 0.561227 0.738657 -0.229237 +v 0.812553 0.337451 -0.085433 +v 0.157302 0.826187 -0.261653 +v 0.211812 0.778937 -0.311347 +v 0.577220 0.635459 -0.258764 +v 0.317036 0.666063 -0.331599 +v -0.047159 0.869917 -0.206248 +v -0.323948 0.856647 -0.210394 +v 0.563712 0.771827 -0.204263 +v 0.038458 0.801327 -0.274830 +v 0.377870 0.802897 -0.277110 +v 0.190560 0.819097 -0.274252 +v 0.326894 0.664734 -0.330094 +v 0.337150 0.664064 -0.329407 +v 0.369405 0.826897 -0.263206 +v 0.485418 0.744397 -0.254840 +v -0.288631 0.884047 -0.199395 +v 0.146676 0.826087 -0.261484 +v 0.346963 0.662215 -0.327594 +v -0.364004 1.194047 -0.113360 +v -0.356813 1.187847 -0.106653 +v -0.348601 1.183448 -0.101938 +v -0.339480 1.180637 -0.098880 +v -0.328866 1.180537 -0.098902 +v -0.317346 1.181947 -0.100600 +v -0.303948 1.184157 -0.104107 +v 0.487941 0.769257 -0.241644 +v 0.598489 0.574019 -0.274170 +v 0.130956 0.604530 -0.448784 +v 0.479565 0.912807 -0.116401 +v 0.178966 0.715807 -0.324685 +v 0.198692 0.712977 -0.321857 +v 0.239347 0.711457 -0.318692 +v 0.741403 0.332171 -0.101097 +v 0.308543 0.700167 -0.307891 +v 0.348670 0.696347 -0.301387 +v 0.455728 0.698547 -0.305885 +v 0.474539 0.693967 -0.300897 +v 0.492850 0.688527 -0.294958 +v 0.527774 0.673284 -0.279097 +v 0.585951 0.641468 -0.245224 +v 0.627204 0.618129 -0.220235 +v 0.667421 0.592878 -0.193431 +v 0.104202 0.805627 -0.279655 +v 0.737226 0.417381 -0.007167 +v 0.389256 0.672422 -0.318214 +v 0.168190 0.573657 -0.457113 +v -0.042824 0.149573 -0.349889 +v 0.569573 0.569429 -0.289568 +v 0.255430 0.881947 -0.221648 +v -0.361230 0.330990 0.216520 +v -0.351410 0.360779 0.262886 +v 0.119515 0.925327 -0.145985 +v 0.357198 0.661538 -0.326842 +v 0.015477 0.767517 -0.299181 +v 0.167953 0.826207 -0.261685 +v 0.406490 0.624460 -0.347336 +v 0.257249 0.855147 -0.253168 +v 0.367036 0.660300 -0.325460 +v 0.489303 0.781877 -0.235201 +v 0.498243 0.778717 -0.231682 +v 0.507410 0.775927 -0.228732 +v 0.517091 0.774227 -0.226846 +v 0.081572 0.792967 -0.286377 +v 0.070956 0.792747 -0.285932 +v 0.504499 0.730387 -0.259871 +v 0.484803 0.733237 -0.262903 +v 0.494452 0.832027 -0.209066 +v 0.503330 0.828837 -0.205595 +v -0.130162 0.832607 -0.246891 +v 0.590092 0.781227 -0.174306 +v 0.598010 0.775987 -0.168606 +v -0.119177 0.833487 -0.247953 +v 0.108294 0.632073 -0.416902 +v 0.837581 0.324578 -0.071745 +v 0.388346 0.640542 -0.344433 +v 0.255846 0.680563 -0.327244 +v 0.476553 0.848327 -0.206622 +v 0.467426 0.851207 -0.209738 +v 0.589570 0.810027 -0.145086 +v 0.581385 0.814637 -0.150094 +v 0.245264 0.842407 -0.259431 +v 0.233430 0.840157 -0.256918 +v 0.360992 0.629148 -0.372503 +v 0.024689 0.743917 -0.314084 +v -0.272056 0.046802 -0.205358 +v -0.106616 0.148046 -0.307515 +v 0.377271 0.659580 -0.324641 +v 0.231413 0.776077 -0.308292 +v 0.257336 0.754597 -0.305572 +v 0.569922 0.651440 -0.255943 +v 0.543958 0.311039 -0.304594 +v 0.387159 0.658245 -0.323258 +v 0.152667 0.044667 -0.345783 +v 0.475520 0.745817 -0.256306 +v 0.525407 0.749787 -0.240643 +v 0.518643 0.797157 -0.211488 +v 0.299092 0.904447 -0.206094 +v 0.378621 0.824147 -0.260330 +v 0.446448 0.751057 -0.261959 +v -0.045764 0.842387 -0.237588 +v 0.170884 0.650595 -0.395829 +v 0.397379 0.657538 -0.322467 +v -0.362126 1.187207 -0.126376 +v -0.356472 1.178218 -0.116321 +v -0.348530 1.173798 -0.111635 +v -0.339781 1.170157 -0.107497 +v -0.330608 1.167357 -0.104493 +v -0.319981 1.167267 -0.104508 +v -0.308507 1.168617 -0.105573 +v 0.478794 0.772137 -0.244704 +v 0.255341 0.640407 -0.404642 +v 0.336160 0.671951 -0.317878 +v 0.137660 0.717517 -0.326320 +v 0.188832 0.714437 -0.323401 +v 0.209652 0.713727 -0.322232 +v 0.260000 0.708737 -0.316618 +v 0.299120 0.702447 -0.310480 +v 0.328462 0.697157 -0.304188 +v 0.178559 0.826267 -0.261776 +v 0.465395 0.696757 -0.303834 +v 0.483579 0.690987 -0.297709 +v 0.308765 0.931937 -0.176057 +v 0.329271 0.930847 -0.174968 +v 0.370252 0.626653 -0.369716 +v -0.361245 0.847597 -0.198250 +v 0.203992 0.934837 -0.178073 +v 0.224581 0.933477 -0.176784 +v 0.044491 0.911837 -0.151327 +v -0.270761 0.807807 -0.258976 +v 0.407293 0.656336 -0.321353 +v -0.099836 0.118904 -0.360669 +v -0.248593 0.808467 -0.261168 +v -0.166539 0.793397 -0.265645 +v 0.234037 0.891477 -0.211673 +v -0.087981 0.111963 -0.374199 +v 0.417880 0.656277 -0.321133 +v 0.428696 0.655939 -0.320344 +v 0.108215 0.923567 -0.143995 +v -0.108113 0.925227 -0.164277 +v -0.302927 0.815197 -0.247622 +v -0.291600 0.816957 -0.249650 +v 0.369346 0.644807 -0.349082 +v 0.119682 0.633774 -0.418644 +v 0.271364 0.660419 -0.365622 +v 0.439709 0.566117 -0.366257 +v -0.003473 0.852587 -0.228463 +v 0.017775 0.852507 -0.228556 +v 0.476360 0.838017 -0.215508 +v 0.485445 0.835087 -0.212345 +v -0.020110 0.118387 -0.379522 +v 0.322529 0.858277 -0.256979 +v 0.326441 0.683617 -0.310204 +v 0.256406 0.691597 -0.319007 +v 0.196163 0.697957 -0.325919 +v 0.134809 0.701547 -0.329115 +v 0.311185 0.876877 -0.236777 +v 0.511675 0.854007 -0.172674 +v 0.350346 0.920567 -0.184011 +v -0.075774 0.125784 -0.367407 +v 0.555985 0.797247 -0.191581 +v 0.014979 0.756057 -0.307084 +v -0.027996 0.795417 -0.268278 +v 0.201029 0.828497 -0.264330 +v 0.572944 0.818967 -0.154854 +v 0.564222 0.822637 -0.158849 +v 0.391511 0.848597 -0.246749 +v -0.286696 0.114887 -0.170252 +v -0.018020 0.762617 -0.294189 +v 0.465640 0.717277 -0.285822 +v 0.436399 0.722177 -0.291077 +v -0.333439 0.029218 -0.188415 +v 0.101787 0.037762 -0.356582 +v 0.201213 0.838767 -0.255219 +v 0.159263 0.849927 -0.246954 +v -0.316679 0.065238 -0.183644 +v -0.366148 0.050737 -0.169950 +v -0.070122 0.896737 -0.173866 +v 0.520097 0.327284 -0.319917 +v 0.421149 0.874217 -0.214468 +v 0.449025 0.856647 -0.215554 +v 0.392463 0.860387 -0.239466 +v 0.573560 0.790277 -0.184090 +v 0.029432 0.611669 -0.416533 +v 0.150042 0.027021 -0.347831 +v -0.204611 0.832747 -0.247307 +v 0.663877 0.717907 -0.105548 +v 0.590445 0.791717 -0.165523 +v 0.204155 0.643619 -0.408289 +v 0.285256 0.636798 -0.400695 +v 0.086654 0.922307 -0.142558 +v -0.354969 1.170768 -0.128595 +v -0.348633 1.163637 -0.120651 +v -0.340484 1.159527 -0.116009 +v -0.331788 1.155827 -0.111646 +v -0.321889 1.153867 -0.109541 +v -0.312230 1.153197 -0.108104 +v 0.469776 0.775157 -0.248027 +v 0.606597 0.569933 -0.269286 +v 0.791456 0.306016 -0.114607 +v 0.148271 0.717637 -0.326455 +v 0.050501 0.834037 -0.249405 +v -0.344314 1.418017 -0.704533 +v 0.249503 0.708827 -0.317346 +v -0.301584 0.838957 -0.232473 +v 0.318380 0.697597 -0.305357 +v 0.359384 0.697277 -0.303577 +v 0.407114 0.615859 -0.358299 +v 0.593806 0.626373 -0.249039 +v 0.136329 0.887077 -0.205902 +v 0.732736 0.418745 -0.028787 +v 0.038408 0.881847 -0.199440 +v 0.075689 0.921117 -0.141383 +v 0.222023 0.838767 -0.255340 +v 0.038587 0.832067 -0.247104 +v 0.379463 0.835707 -0.252752 +v -0.335477 0.091389 -0.167978 +v 0.114845 0.714197 -0.322812 +v 0.304854 0.733847 -0.303376 +v 0.064261 0.919707 -0.139563 +v -0.014684 0.861347 -0.217521 +v 0.480826 0.905377 -0.128041 +v 0.350043 0.648369 -0.352962 +v 0.278012 0.763617 -0.295124 +v 0.076642 0.650395 -0.356433 +v 0.752762 0.354375 -0.083342 +v 0.211980 0.849897 -0.247167 +v -0.312530 0.869127 -0.203433 +v -0.254331 0.879377 -0.215131 +v 0.604362 0.707277 -0.215218 +v 0.595754 0.711627 -0.219735 +v -0.166853 0.884417 -0.221338 +v 0.571921 0.584512 -0.285172 +v 0.612421 0.702057 -0.209675 +v -0.300286 0.912617 -0.168880 +v 0.081642 0.863697 -0.220638 +v 0.371291 0.850407 -0.248519 +v -0.142172 0.819837 -0.253488 +v -0.236637 0.821347 -0.254655 +v -0.247222 0.821127 -0.254348 +v -0.269212 0.819477 -0.252468 +v -0.258230 0.820367 -0.253479 +v -0.061312 0.903197 -0.160697 +v 0.370400 0.918287 -0.181712 +v -0.255314 0.927797 -0.165445 +v 0.137642 0.565779 -0.469254 +v 0.254453 0.910247 -0.191820 +v 0.209889 0.664017 -0.369888 +v 0.662468 0.734987 -0.083446 +v 0.199635 0.664648 -0.370578 +v 0.503621 0.839277 -0.196879 +v 0.477312 0.648345 -0.312514 +v 0.486489 0.645439 -0.309615 +v 0.283903 0.644162 -0.388509 +v 0.814775 0.362063 -0.070749 +v 0.373138 0.722557 -0.291986 +v 0.550859 0.564868 -0.304288 +v 0.495223 0.641680 -0.305707 +v 0.504370 0.638788 -0.302743 +v 0.471883 0.908507 -0.131808 +v -0.350537 0.135284 -0.106718 +v 0.513609 0.635941 -0.299925 +v 0.544361 0.865037 -0.124557 +v 0.360586 0.840307 -0.257671 +v 0.523158 0.634204 -0.297595 +v -0.058774 0.877857 -0.194413 +v 0.099803 0.897717 -0.176463 +v 0.676476 0.609956 -0.171243 +v 0.312118 0.849007 -0.266942 +v 0.546189 0.828717 -0.165372 +v 0.537139 0.831727 -0.168588 +v -0.298811 0.111865 -0.167225 +v -0.311092 0.109131 -0.164609 +v -0.322697 0.106806 -0.162257 +v 0.426173 0.722797 -0.291780 +v 0.404909 0.722607 -0.291539 +v 0.232667 0.818657 -0.273955 +v 0.415324 0.621056 -0.343809 +v -0.102169 0.157197 -0.275014 +v 0.532086 0.630635 -0.294054 +v -0.031574 0.065049 -0.389319 +v -0.367224 0.034706 -0.171938 +v -0.198945 0.873617 -0.229842 +v -0.210025 0.873037 -0.229177 +v 0.540912 0.627427 -0.290351 +v 0.383389 0.883247 -0.224088 +v 0.439632 0.868897 -0.208787 +v 0.549790 0.623800 -0.286609 +v 0.545164 0.856627 -0.135255 +v -0.132800 0.049661 -0.373624 +v 0.536929 0.781497 -0.214631 +v 0.232854 0.829137 -0.265140 +v 0.655780 0.722557 -0.110509 +v 0.211390 0.838617 -0.255105 +v -0.337465 0.076396 -0.173974 +v 0.261840 0.662183 -0.367816 +v 0.256010 0.872987 -0.232143 +v 0.511734 0.824457 -0.200897 +v 0.558628 0.620628 -0.283068 +v -0.349010 1.153238 -0.129448 +v -0.341301 1.148437 -0.123894 +v -0.333262 1.142787 -0.117517 +v -0.324877 1.138427 -0.112604 +v -0.315537 1.136107 -0.109832 +v 0.460510 0.777937 -0.250751 +v 0.614923 0.564150 -0.263892 +v 0.326270 0.673203 -0.319220 +v 0.616634 0.669642 -0.215082 +v 0.077733 0.744687 -0.315031 +v 0.567336 0.616873 -0.279110 +v 0.576091 0.613142 -0.275176 +v -0.064425 0.137843 -0.358844 +v 0.133566 0.790807 -0.283954 +v 0.523680 0.726377 -0.255718 +v 0.329034 0.939987 -0.165065 +v 0.102833 0.792907 -0.286139 +v 0.594333 0.698367 -0.225782 +v -0.110020 0.162506 -0.238822 +v -0.121839 0.159327 -0.235926 +v 0.584634 0.609249 -0.270950 +v -0.276767 0.886237 -0.201931 +v -0.287938 0.102143 -0.178408 +v -0.299968 0.098885 -0.175164 +v -0.347506 0.088189 -0.164704 +v 0.593068 0.604814 -0.266313 +v -0.312150 0.858997 -0.213032 +v 0.215106 0.693647 -0.321541 +v -0.087789 0.123021 -0.364733 +v -0.064248 0.127826 -0.369333 +v -0.021009 0.130241 -0.371405 +v 0.156730 0.794977 -0.288516 +v 0.601252 0.600176 -0.261342 +v 0.505076 0.286919 -0.340904 +v 0.496680 0.290795 -0.345256 +v 0.307090 0.687197 -0.313936 +v -0.145865 0.152535 -0.229275 +v 0.383444 0.893157 -0.214873 +v -0.113304 0.101457 -0.363625 +v -0.071028 0.783847 -0.276106 +v -0.277376 0.895237 -0.191159 +v 0.357958 0.683217 -0.309746 +v -0.018292 0.617139 -0.341712 +v -0.005923 0.621405 -0.346774 +v 0.006534 0.626553 -0.351837 +v 0.019432 0.631589 -0.356972 +v 0.407116 0.926937 -0.151247 +v 0.633617 0.671015 -0.196546 +v 0.032008 0.635632 -0.361134 +v -0.053672 0.756137 -0.286974 +v 0.224551 0.913417 -0.195131 +v -0.120131 0.821687 -0.255598 +v -0.131167 0.820797 -0.254564 +v -0.301952 0.827287 -0.240218 +v -0.313839 0.825077 -0.237816 +v -0.337842 0.819607 -0.231774 +v -0.116518 0.919487 -0.178224 +v -0.107473 0.916427 -0.174970 +v 0.373803 0.875127 -0.235281 +v 0.363807 0.876217 -0.236428 +v 0.271194 0.588990 -0.431537 +v 0.800904 0.405770 -0.015808 +v 0.234592 0.922217 -0.184736 +v 0.233308 0.597792 -0.440817 +v 0.609478 0.595571 -0.256439 +v 0.618221 0.591813 -0.252463 +v 0.304033 0.642228 -0.386312 +v 0.142001 0.625724 -0.430317 +v 0.152617 0.625883 -0.430414 +v -0.346636 1.404077 -0.707884 +v 0.473035 0.900937 -0.143346 +v 0.455359 0.907827 -0.150744 +v 0.464139 0.904247 -0.147174 +v 0.481978 0.897737 -0.140020 +v 0.446214 0.910627 -0.153834 +v 0.436764 0.912877 -0.156240 +v 0.034339 0.903527 -0.162078 +v 0.057196 0.906447 -0.165650 +v 0.068193 0.907297 -0.166680 +v 0.078383 0.907007 -0.166276 +v 0.214855 0.925307 -0.187959 +v 0.203779 0.925737 -0.188063 +v 0.181251 0.922297 -0.184176 +v 0.110006 0.897177 -0.175886 +v 0.192804 0.601304 -0.444961 +v 0.626631 0.587324 -0.247740 +v 0.634163 0.581207 -0.241264 +v 0.555251 0.825777 -0.162161 +v 0.597414 0.804707 -0.139334 +v 0.605054 0.798787 -0.132829 +v -0.334360 0.104586 -0.160092 +v -0.346464 0.101419 -0.156946 +v 0.131638 0.928287 -0.149554 +v 0.626825 0.608053 -0.229556 +v 0.294620 0.734587 -0.304255 +v 0.044574 0.639703 -0.365303 +v 0.490880 0.795077 -0.229254 +v 0.464193 0.684387 -0.310730 +v 0.641657 0.575064 -0.234768 +v 0.088342 0.653193 -0.359100 +v 0.620815 0.545072 -0.263638 +v 0.604100 0.554192 -0.273217 +v 0.361308 0.619835 -0.382468 +v 0.763782 0.355315 -0.084278 +v 0.298771 0.813137 -0.289416 +v -0.219426 0.894997 -0.212018 +v 0.373877 0.885187 -0.226220 +v -0.145463 0.915017 -0.193491 +v -0.044448 0.914457 -0.132662 +v 0.535736 0.868827 -0.128653 +v -0.236488 0.067140 -0.205914 +v 0.526054 0.783697 -0.216896 +v -0.100572 0.107187 -0.369427 +v 0.582183 0.796257 -0.170454 +v 0.055933 0.641566 -0.367068 +v -0.524508 0.442019 0.191812 +v -0.017349 0.795477 -0.268363 +v -0.336820 0.831597 -0.224202 +v 0.704192 0.269347 -0.138284 +v 0.649243 0.568965 -0.228323 +v 0.203061 0.942617 -0.166453 +v 0.301497 0.849107 -0.266988 +v -0.334865 1.128567 -0.122429 +v -0.327155 1.122877 -0.116281 +v -0.318259 1.120287 -0.113144 +v -0.308595 1.118637 -0.111272 +v 0.505151 0.569355 -0.328896 +v 0.120216 0.765387 -0.297059 +v -0.075887 0.049882 -0.394802 +v 0.109593 0.765307 -0.296958 +v 0.178419 0.664268 -0.370376 +v -0.199749 0.780087 -0.271479 +v -0.179653 0.780727 -0.272928 +v -0.051015 0.781507 -0.273299 +v 0.359370 0.817967 -0.273640 +v 0.180796 0.800317 -0.294329 +v 0.706374 0.377087 -0.087175 +v 0.618450 0.530624 -0.268308 +v 0.629598 0.714407 -0.182600 +v 0.523579 0.292380 -0.325929 +v -0.119008 0.844007 -0.238982 +v 0.436145 0.731627 -0.281157 +v 0.291097 0.858887 -0.257475 +v -0.053162 0.129178 -0.370602 +v 0.015506 0.807607 -0.261224 +v 0.168723 0.716547 -0.325613 +v 0.426077 0.702237 -0.309471 +v -0.265478 0.888087 -0.204002 +v 0.393936 0.782977 -0.275728 +v 0.129748 0.642797 -0.407794 +v 0.082060 0.641437 -0.386917 +v 0.569266 0.851657 -0.109915 +v -0.286918 0.126716 -0.161457 +v 0.474312 0.550345 -0.349884 +v -0.049204 0.795577 -0.268762 +v 0.581107 0.774517 -0.187107 +v 0.564492 0.783167 -0.196475 +v 0.361750 0.852357 -0.250598 +v 0.341877 0.855147 -0.253618 +v -0.255048 0.857547 -0.232468 +v 0.167009 0.774237 -0.306553 +v 0.779904 0.405849 -0.015745 +v 0.731019 0.353623 -0.082865 +v -0.047590 0.033126 -0.396062 +v 0.579034 0.567049 -0.285475 +v -0.079023 0.869767 -0.205839 +v 0.499528 0.791267 -0.225130 +v 0.119275 0.753207 -0.304083 +v -0.041397 0.758877 -0.289795 +v 0.436029 0.701507 -0.309051 +v -0.109120 0.822517 -0.256510 +v -0.182156 0.834657 -0.248902 +v -0.325589 0.822637 -0.235068 +v 0.162231 0.532420 -0.473934 +v 0.332959 0.606205 -0.408736 +v 0.305015 0.634178 -0.397795 +v 0.351849 0.622067 -0.384896 +v 0.124978 0.885227 -0.203902 +v -0.202517 0.392396 0.320490 +v -0.196522 0.036467 -0.276724 +v 0.346585 0.681765 -0.308278 +v -0.187807 0.925417 -0.184025 +v -0.176775 0.926077 -0.184925 +v -0.166534 0.925487 -0.184332 +v 0.234373 0.911717 -0.193380 +v 0.204590 0.624387 -0.428533 +v 0.389026 0.922977 -0.167101 +v -0.389236 1.487367 -0.679782 +v -0.340727 1.396987 -0.700372 +v 0.123540 0.802347 -0.276263 +v 0.013294 0.039562 -0.380316 +v 0.067685 0.644034 -0.369613 +v 0.079480 0.646379 -0.372115 +v 0.090906 0.648222 -0.373868 +v 0.102680 0.650701 -0.376396 +v 0.114083 0.652384 -0.378158 +v 0.125514 0.654086 -0.379829 +v 0.080426 0.770147 -0.301998 +v 0.397846 0.810457 -0.265481 +v 0.416139 0.713797 -0.302121 +v 0.426382 0.713417 -0.301769 +v 0.413421 0.688587 -0.315403 +v 0.201765 0.850167 -0.247417 +v 0.193149 0.924447 -0.186717 +v 0.169440 0.919857 -0.181359 +v 0.047063 0.634840 -0.380154 +v 0.035373 0.632164 -0.377569 +v 0.148181 0.889157 -0.208461 +v 0.022922 0.902067 -0.160268 +v 0.042832 0.596867 -0.441568 +v 0.364037 0.886707 -0.227777 +v 0.353817 0.887467 -0.228539 +v -0.357954 0.098897 -0.154380 +v -0.370932 0.095487 -0.151052 +v -0.089210 0.920767 -0.159513 +v -0.084967 0.064359 -0.389246 +v 0.109017 0.753847 -0.304723 +v 0.287085 0.689517 -0.316550 +v 0.383633 0.037736 -0.305281 +v 0.136882 0.655801 -0.381574 +v 0.157109 0.926237 -0.167989 +v 0.500326 0.671870 -0.297707 +v -0.088737 0.881487 -0.198132 +v -0.079195 0.879537 -0.196015 +v 0.099769 0.654888 -0.360839 +v -0.039292 0.885167 -0.181793 +v -0.028286 0.885937 -0.182766 +v 0.342456 0.624401 -0.387373 +v 0.480703 0.603937 -0.325479 +v -0.006731 0.764537 -0.295992 +v 0.193255 0.884307 -0.223877 +v -0.115913 0.910657 -0.188926 +v -0.125347 0.912897 -0.191348 +v -0.135236 0.914307 -0.192803 +v -0.417745 1.482237 -0.675951 +v 0.101267 0.698327 -0.326327 +v 0.782028 0.308295 -0.117057 +v 0.350660 0.599343 -0.401461 +v 0.222435 0.819267 -0.274604 +v 0.516263 0.580148 -0.320681 +v -0.231238 0.022739 -0.222536 +v -0.088949 0.141530 -0.342156 +v 0.412397 0.777737 -0.270058 +v 0.242936 0.797967 -0.291925 +v 0.090277 0.768777 -0.300539 +v 0.519883 0.849467 -0.167722 +v 0.027288 0.810047 -0.263933 +v -0.337061 1.114997 -0.127392 +v -0.328661 1.111088 -0.122910 +v -0.319393 1.108647 -0.120199 +v -0.310089 1.105947 -0.117368 +v -0.300552 1.103797 -0.115107 +v -0.291293 1.101438 -0.112436 +v 0.450972 0.780057 -0.252851 +v -0.348985 0.828427 -0.220678 +v 0.265257 0.639132 -0.403155 +v 0.651157 0.704807 -0.152134 +v 0.202791 0.650972 -0.396041 +v 0.585318 0.841827 -0.099236 +v 0.614624 0.736377 -0.186130 +v 0.517608 0.310991 -0.325313 +v 0.342411 0.905857 -0.208192 +v 0.321583 0.906097 -0.208422 +v 0.225271 0.633742 -0.417943 +v 0.606182 0.740807 -0.190929 +v 0.332187 0.906077 -0.208533 +v 0.353023 0.905577 -0.208118 +v 0.363244 0.904897 -0.207439 +v 0.373092 0.903527 -0.205976 +v 0.382910 0.902077 -0.204452 +v -0.100413 0.798577 -0.271425 +v -0.265630 0.897717 -0.193969 +v 0.423306 0.687267 -0.314144 +v -0.370963 0.105804 -0.140156 +v -0.358155 0.109267 -0.143718 +v -0.321864 0.118598 -0.153116 +v -0.298325 0.124184 -0.158817 +v 0.465887 0.887907 -0.169201 +v 0.474942 0.884947 -0.165999 +v 0.257135 0.844657 -0.261926 +v 0.279868 0.848037 -0.265703 +v 0.359723 0.828597 -0.265103 +v 0.350474 0.831257 -0.267901 +v -0.015414 0.819447 -0.253601 +v 0.726078 0.405979 -0.056129 +v -0.243549 0.858877 -0.233917 +v 0.097269 0.631102 -0.415983 +v 0.420275 0.852687 -0.231165 +v 0.147643 0.564184 -0.467283 +v 0.435819 0.920877 -0.144902 +v -0.310289 0.120978 -0.155485 +v 0.127297 0.850407 -0.247333 +v 0.137951 0.850217 -0.247158 +v -0.378482 0.132433 -0.082613 +v 0.310889 0.826417 -0.282425 +v -0.280745 0.818157 -0.251091 +v 0.603936 0.806727 -0.121337 +v 0.172441 0.530484 -0.471686 +v -0.166312 0.895527 -0.212993 +v -0.051017 0.068664 -0.393085 +v -0.343816 0.040911 -0.179908 +v 0.545069 0.584564 -0.304981 +v -0.017580 0.630684 -0.335764 +v -0.220455 0.923497 -0.181651 +v -0.209006 0.924957 -0.183429 +v -0.198025 0.925817 -0.184499 +v 0.790146 0.292923 -0.121557 +v 0.799048 0.290316 -0.118276 +v 0.807147 0.285731 -0.113411 +v 0.814475 0.279578 -0.106860 +v 0.733465 0.396796 -0.046717 +v 0.740549 0.393731 -0.043137 +v 0.027381 0.881037 -0.198449 +v 0.598045 0.796347 -0.150566 +v 0.244244 0.608808 -0.432319 +v 0.234387 0.610239 -0.433838 +v 0.224460 0.611508 -0.435132 +v 0.214256 0.612406 -0.436277 +v 0.204007 0.612969 -0.436847 +v 0.193777 0.613661 -0.437650 +v 0.183523 0.614122 -0.438179 +v 0.172906 0.614250 -0.438406 +v 0.162660 0.614905 -0.439150 +v 0.152812 0.615906 -0.440257 +v 0.141749 0.615652 -0.440084 +v 0.131541 0.615767 -0.440231 +v 0.120523 0.614972 -0.439460 +v 0.109544 0.613783 -0.438356 +v 0.084311 0.838037 -0.253908 +v -0.322102 0.901497 -0.177137 +v 0.132095 0.909257 -0.169103 +v 0.408438 0.919647 -0.163399 +v 0.128006 0.649124 -0.394614 +v 0.116631 0.647495 -0.392934 +v 0.098692 0.603120 -0.447553 +v -0.111723 0.041294 -0.386851 +v -0.136819 0.033016 -0.378857 +v 0.343559 0.887917 -0.228989 +v -0.198227 0.895557 -0.212729 +v -0.187171 0.895887 -0.213231 +v 0.751162 0.392400 -0.041740 +v 0.148297 0.657414 -0.383257 +v 0.158921 0.657512 -0.383322 +v 0.039041 0.812507 -0.266587 +v -0.130737 0.066278 -0.370067 +v -0.092944 0.080265 -0.384240 +v 0.552838 0.741127 -0.231449 +v 0.120333 0.604446 -0.448778 +v 0.004612 0.817737 -0.251836 +v 0.416658 0.924957 -0.149023 +v 0.213754 0.942847 -0.166761 +v 0.277405 0.883697 -0.223662 +v -0.125498 0.902597 -0.200500 +v -0.050005 0.885027 -0.181603 +v 0.275880 0.920497 -0.183100 +v 0.298329 0.922427 -0.185612 +v -0.061797 0.068445 -0.393399 +v 0.096766 0.578746 -0.462689 +v 0.085619 0.578050 -0.462269 +v 0.762131 0.392569 -0.042212 +v 0.773187 0.393395 -0.043073 +v -0.156089 0.915347 -0.193675 +v 0.783773 0.393274 -0.043061 +v 0.793973 0.392816 -0.042440 +v -0.365928 0.136373 -0.086576 +v 0.265470 0.910897 -0.192623 +v 0.554160 0.763827 -0.215721 +v 0.804115 0.392164 -0.041700 +v 0.169166 0.657065 -0.382695 +v 0.114440 0.875997 -0.213821 +v 0.530518 0.698757 -0.266301 +v 0.180148 0.658088 -0.383610 +v -0.083245 0.760037 -0.290577 +v 0.447983 0.874547 -0.194908 +v 0.813929 0.390885 -0.040249 +v -0.337708 1.103397 -0.135032 +v -0.328877 1.100588 -0.131759 +v -0.319400 1.098337 -0.129421 +v -0.309932 1.096057 -0.126896 +v -0.301102 1.092647 -0.123167 +v -0.292440 1.089527 -0.119469 +v -0.284240 1.084507 -0.114075 +v -0.601634 0.802067 0.142992 +v -0.642281 0.821767 0.117650 +v 0.622547 0.730987 -0.180382 +v 0.145723 0.814137 -0.268767 +v 0.823316 0.388734 -0.037919 +v -0.167128 0.934437 -0.173698 +v 0.832214 0.385441 -0.034212 +v 0.840869 0.382044 -0.030754 +v 0.848669 0.376745 -0.025113 +v -0.212576 1.018957 -0.040451 +v -0.014849 0.830487 -0.245186 +v -0.106562 0.898087 -0.195738 +v -0.140225 0.844027 -0.238886 +v 0.086287 0.630191 -0.415112 +v 0.536818 0.841127 -0.158711 +v 0.155928 0.549746 -0.472465 +v 0.164855 0.546205 -0.469309 +v 0.445406 0.738987 -0.268955 +v -0.323070 0.889027 -0.183819 +v -0.334511 0.887667 -0.182338 +v -0.069320 0.878307 -0.194649 +v 0.446930 0.892277 -0.173888 +v 0.429103 0.898827 -0.181069 +v 0.529017 0.541249 -0.319663 +v 0.275054 0.637646 -0.401620 +v 0.456496 0.890257 -0.171627 +v 0.437801 0.895167 -0.177040 +v 0.410682 0.904227 -0.186777 +v 0.555993 0.807327 -0.182432 +v 0.420119 0.901937 -0.184358 +v 0.244262 0.830627 -0.266792 +v 0.398512 0.619776 -0.362426 +v -0.115744 0.900907 -0.198788 +v 0.092617 0.793547 -0.286795 +v 0.060334 0.792597 -0.285700 +v 0.049770 0.792177 -0.285228 +v 0.545376 0.767447 -0.219566 +v 0.527002 0.772887 -0.225430 +v 0.267904 0.825087 -0.279751 +v 0.278635 0.826007 -0.282155 +v -0.078792 0.150932 -0.331082 +v 0.650966 0.592319 -0.212921 +v 0.527687 0.592116 -0.312983 +v 0.348554 0.807607 -0.282458 +v -0.146716 0.882467 -0.219399 +v 0.549952 0.457238 -0.314990 +v 0.541871 0.463809 -0.320379 +v -0.231388 0.922457 -0.180493 +v 0.526420 0.476066 -0.332659 +v 0.760879 0.297798 -0.126656 +v 0.771065 0.297095 -0.125804 +v 0.780923 0.295745 -0.124345 +v 0.321794 0.594790 -0.417090 +v 0.398623 0.921137 -0.164967 +v 0.301301 0.596047 -0.418535 +v 0.291883 0.598340 -0.421061 +v 0.282615 0.601040 -0.423578 +v 0.273274 0.603448 -0.426325 +v 0.263622 0.605168 -0.428459 +v 0.254083 0.607284 -0.430640 +v 0.718678 0.318836 -0.107824 +v 0.729739 0.319596 -0.108575 +v 0.740788 0.320709 -0.109699 +v 0.751792 0.321648 -0.110602 +v 0.762456 0.322027 -0.110963 +v 0.773046 0.321965 -0.110793 +v 0.782988 0.320645 -0.109368 +v 0.792398 0.318315 -0.106840 +v 0.801416 0.315247 -0.103544 +v 0.809533 0.310543 -0.098564 +v 0.817389 0.304587 -0.092494 +v 0.824682 0.298308 -0.085810 +v 0.321940 0.887437 -0.228229 +v 0.440031 0.769527 -0.261333 +v 0.098479 0.613145 -0.437704 +v 0.088292 0.613480 -0.438234 +v -0.176978 0.915957 -0.194164 +v 0.409715 0.912217 -0.175493 +v 0.259672 0.576764 -0.439219 +v 0.250095 0.579096 -0.443158 +v 0.241025 0.581840 -0.444376 +v 0.244283 0.910667 -0.192251 +v 0.162614 0.043950 -0.344432 +v 0.168135 0.020908 -0.341395 +v -0.143045 0.148550 -0.245893 +v -0.028945 0.028880 -0.390693 +v -0.107091 0.887027 -0.204111 +v -0.097694 0.884657 -0.201548 +v -0.324136 0.877287 -0.191672 +v -0.336071 0.875187 -0.189389 +v -0.253620 0.890307 -0.206577 +v -0.129632 0.843727 -0.238547 +v 0.458140 0.843867 -0.221782 +v 0.486645 0.574584 -0.334537 +v -0.027618 0.083928 -0.387777 +v 0.190786 0.658339 -0.383763 +v 0.313703 0.609947 -0.412810 +v 0.178846 0.776547 -0.309004 +v 0.048959 0.770737 -0.302628 +v 0.137717 0.879697 -0.218252 +v 0.482346 0.678426 -0.304417 +v 0.142038 0.756717 -0.307934 +v 0.288887 0.885047 -0.225302 +v -0.017263 0.886507 -0.183615 +v 0.286811 0.921577 -0.184302 +v 0.319602 0.922527 -0.185954 +v 0.128695 0.579376 -0.463135 +v 0.138971 0.578723 -0.462427 +v 0.107356 0.579061 -0.463003 +v 0.427308 0.541756 -0.381449 +v 0.436078 0.538679 -0.377783 +v 0.658734 0.586868 -0.207148 +v -0.168131 0.942317 -0.161992 +v 0.618687 0.683247 -0.209711 +v -0.300431 0.881747 -0.196736 +v 0.808624 0.298815 -0.106682 +v -0.123234 0.168550 -0.211758 +v -0.093803 0.163656 -0.260578 +v -0.106187 0.160184 -0.257201 +v 0.439396 0.878427 -0.199063 +v -0.077420 0.143605 -0.344123 +v 0.473333 0.681503 -0.307770 +v -0.325184 0.834227 -0.227140 +v 0.282338 0.721097 -0.310171 +v 0.461451 0.597444 -0.338891 +v 0.013383 0.681430 -0.328753 +v -0.338801 1.091507 -0.142182 +v -0.329358 1.089287 -0.139759 +v -0.319841 1.087477 -0.137639 +v -0.310603 1.084738 -0.134814 +v -0.301695 1.081187 -0.131018 +v -0.293540 1.077597 -0.126543 +v -0.285854 1.071807 -0.120173 +v -0.278715 1.066338 -0.113587 +v -0.270863 1.059327 -0.106400 +v -0.262697 1.054817 -0.101335 +v 0.024383 0.682287 -0.329508 +v -0.435944 0.385804 0.241009 +v 0.035025 0.682397 -0.329609 +v -0.231879 1.033647 -0.077782 +v -0.604713 0.813887 0.347842 +v -0.218668 1.017487 -0.059563 +v -0.211696 1.010757 -0.052021 +v -0.204450 1.004058 -0.044508 +v -0.197347 0.997327 -0.036998 +v 0.234229 0.901657 -0.202589 +v 0.787755 0.278620 -0.126361 +v 0.778721 0.281037 -0.129513 +v 0.759475 0.284560 -0.133295 +v 0.770174 0.284116 -0.131361 +v 0.174413 0.544478 -0.466786 +v -0.166133 0.906027 -0.203970 +v 0.242887 0.595807 -0.438995 +v 0.059999 0.029085 -0.366847 +v 0.488491 0.588219 -0.328976 +v 0.109329 0.603272 -0.447593 +v -0.088889 0.871117 -0.207275 +v -0.444809 0.830497 0.424520 +v 0.016854 0.636749 -0.342146 +v 0.143803 0.931537 -0.153187 +v 0.406021 0.583509 -0.384467 +v 0.391814 0.908737 -0.191571 +v 0.075291 0.629121 -0.414159 +v -0.012596 0.060620 -0.384900 +v -0.126076 0.891337 -0.208733 +v 0.536714 0.850807 -0.149036 +v 0.053107 0.645432 -0.351210 +v -0.233053 0.939617 -0.158309 +v 0.509237 0.535220 -0.334208 +v 0.456864 0.881037 -0.181908 +v 0.017186 0.607084 -0.412115 +v 0.595964 0.558822 -0.278340 +v -0.090605 0.147867 -0.328239 +v 0.353613 0.897007 -0.218834 +v 0.536542 0.588463 -0.309276 +v 0.573910 0.443797 -0.299118 +v 0.065219 0.619962 -0.424888 +v 0.705885 0.293589 -0.122530 +v 0.717392 0.295147 -0.124012 +v 0.728527 0.296427 -0.125444 +v 0.739160 0.296760 -0.125789 +v 0.750288 0.297994 -0.127142 +v 0.349242 0.586428 -0.408032 +v 0.340600 0.589826 -0.412093 +v 0.331576 0.593261 -0.415370 +v 0.141606 0.604711 -0.448930 +v 0.401874 0.858037 -0.236962 +v 0.252638 0.594210 -0.437019 +v 0.046411 0.684107 -0.331432 +v 0.684541 0.337246 -0.126651 +v 0.689738 0.325187 -0.114215 +v 0.697773 0.319668 -0.108454 +v 0.707269 0.318013 -0.106717 +v 0.156438 0.935237 -0.157484 +v 0.744809 0.411446 -0.001116 +v 0.284123 0.614219 -0.417394 +v 0.225339 0.692987 -0.320838 +v 0.635095 0.613258 -0.215021 +v 0.593939 0.636730 -0.240060 +v 0.536541 0.670041 -0.275449 +v 0.501921 0.685597 -0.291836 +v 0.706693 0.305569 -0.114748 +v 0.203017 0.903447 -0.204267 +v 0.192603 0.893477 -0.213553 +v 0.484630 0.722897 -0.271873 +v 0.522652 0.714337 -0.262810 +v 0.295077 0.635306 -0.399063 +v 0.573664 0.800547 -0.175101 +v 0.351045 0.842307 -0.259818 +v 0.077250 0.612593 -0.437385 +v 0.065832 0.610895 -0.435742 +v 0.166589 0.702117 -0.330189 +v -0.098272 0.873507 -0.209845 +v -0.057788 0.869797 -0.206051 +v 0.231160 0.583219 -0.445733 +v 0.144221 0.912357 -0.172661 +v 0.201432 0.658108 -0.383679 +v 0.134161 0.801987 -0.275786 +v -0.257323 0.066752 -0.204938 +v 0.784473 0.344376 -0.093023 +v 0.126416 0.837907 -0.253960 +v 0.454552 0.625002 -0.327915 +v 0.622099 0.740957 -0.171019 +v 0.430264 0.881277 -0.202174 +v 0.466673 0.869587 -0.189510 +v -0.005044 0.869557 -0.206082 +v 0.445502 0.809967 -0.245182 +v 0.424173 0.607616 -0.349570 +v -0.008297 0.080271 -0.383797 +v 0.252421 0.795867 -0.289765 +v 0.430685 0.771857 -0.264009 +v 0.427597 0.915547 -0.159281 +v 0.211273 0.656788 -0.382197 +v 0.223184 0.598672 -0.442114 +v 0.222264 0.657572 -0.383041 +v 0.030566 0.593647 -0.438342 +v -0.035102 0.047042 -0.392038 +v -0.005579 0.817977 -0.252029 +v 0.103601 0.874517 -0.212494 +v -0.363114 1.420517 -0.706269 +v -0.114551 0.153562 -0.271361 +v 0.299909 0.885657 -0.226187 +v -0.151831 0.831807 -0.245965 +v 0.308943 0.922627 -0.185897 +v 0.118023 0.579269 -0.463129 +v 0.028191 0.568463 -0.452926 +v 0.040058 0.570908 -0.455225 +v 0.419212 0.545605 -0.384881 +v -0.287098 0.027080 -0.206676 +v 0.232516 0.657038 -0.382346 +v 0.495306 0.743087 -0.253448 +v -0.042018 0.130137 -0.371464 +v -0.150426 0.844887 -0.239868 +v -0.018305 0.783347 -0.275552 +v 0.223253 0.800897 -0.295068 +v 0.465084 0.736017 -0.265831 +v 0.182035 0.893157 -0.213140 +v -0.054423 0.147699 -0.348039 +v -0.065912 0.145641 -0.346075 +v 0.244638 0.891267 -0.211565 +v 0.606362 0.660005 -0.224987 +v -0.117890 0.876647 -0.213193 +v -0.118592 0.865147 -0.220981 +v -0.348949 1.082507 -0.152569 +v -0.340058 1.079047 -0.149003 +v -0.330694 1.076767 -0.146421 +v -0.321041 1.075097 -0.144392 +v -0.312009 1.072097 -0.141132 +v -0.303224 1.068947 -0.137446 +v -0.295227 1.063807 -0.131805 +v -0.287701 1.056717 -0.124376 +v -0.280639 1.050068 -0.116820 +v -0.272446 1.047087 -0.112957 +v -0.263500 1.043537 -0.109190 +v -0.255134 1.039587 -0.104837 +v -0.247140 1.034027 -0.098717 +v -0.239216 1.028797 -0.092877 +v -0.231714 1.023367 -0.086882 +v -0.224699 1.016088 -0.078669 +v -0.218326 1.008957 -0.070835 +v -0.210961 1.002447 -0.063535 +v -0.203240 0.996017 -0.056168 +v -0.196079 0.989787 -0.049410 +v 0.181479 0.862077 -0.240071 +v 0.529257 0.491471 -0.328804 +v 0.536897 0.486052 -0.322846 +v 0.544567 0.479236 -0.316264 +v 0.748863 0.284637 -0.133737 +v 0.738148 0.284439 -0.133537 +v 0.727447 0.283991 -0.132985 +v 0.716345 0.282926 -0.131899 +v 0.705240 0.281836 -0.130743 +v 0.694188 0.280709 -0.129670 +v -0.268898 0.064382 -0.202504 +v 0.274694 0.938167 -0.162083 +v 0.093415 0.643269 -0.388674 +v 0.673242 0.281786 -0.130359 +v 0.683745 0.280802 -0.130210 +v 0.170822 0.862147 -0.240073 +v 0.790833 0.406245 -0.016478 +v 0.381971 0.910187 -0.193088 +v 0.401279 0.906557 -0.189235 +v 0.157480 0.907247 -0.187552 +v 0.144820 0.903577 -0.183255 +v 0.169648 0.910317 -0.191100 +v 0.192522 0.913497 -0.194871 +v 0.204051 0.914827 -0.196491 +v 0.167413 0.663490 -0.369514 +v -0.336299 0.842977 -0.215990 +v -0.130240 0.152955 -0.250366 +v 0.410383 0.844087 -0.241901 +v 0.064697 0.588033 -0.452419 +v 0.138141 0.860597 -0.238103 +v 0.685092 0.293864 -0.123038 +v 0.695468 0.293562 -0.122874 +v 0.395703 0.573703 -0.394381 +v 0.386230 0.575944 -0.396734 +v 0.437491 0.904397 -0.167230 +v 0.367156 0.579742 -0.401219 +v 0.358063 0.582717 -0.404297 +v -0.035149 0.842437 -0.237687 +v 0.571632 0.756097 -0.207362 +v 0.152254 0.604713 -0.448788 +v -0.361569 0.824577 -0.216373 +v 0.127495 0.860417 -0.237856 +v -0.240518 0.036135 -0.215329 +v -0.003042 0.058432 -0.383216 +v 0.499250 0.306318 -0.340897 +v 0.038398 0.841867 -0.237352 +v 0.049463 0.842397 -0.238052 +v 0.060901 0.843857 -0.239785 +v 0.072239 0.845597 -0.241680 +v 0.256025 0.631543 -0.415628 +v 0.265535 0.629485 -0.413497 +v 0.275294 0.627915 -0.411625 +v 0.285075 0.626304 -0.409850 +v 0.294973 0.625024 -0.408468 +v 0.304821 0.623552 -0.406892 +v 0.314816 0.622434 -0.405776 +v 0.324516 0.620667 -0.403758 +v 0.333652 0.617673 -0.400570 +v 0.342507 0.614417 -0.397102 +v 0.351286 0.610739 -0.393245 +v 0.360776 0.608539 -0.390867 +v 0.370334 0.606544 -0.388790 +v 0.308897 0.812847 -0.289147 +v 0.095123 0.828527 -0.263907 +v 0.003959 0.041579 -0.383521 +v -0.060887 0.668185 -0.317544 +v 0.054372 0.609328 -0.434132 +v 0.043040 0.607427 -0.432283 +v 0.057054 0.684107 -0.331131 +v 0.083642 0.847307 -0.243578 +v 0.394272 0.722407 -0.291261 +v 0.156857 0.916077 -0.176996 +v 0.200898 0.586052 -0.449157 +v 0.191066 0.587578 -0.450942 +v 0.105665 0.849247 -0.245832 +v 0.662033 0.267715 -0.138133 +v -0.155078 0.794947 -0.267329 +v 0.719808 0.341533 -0.090636 +v 0.622146 0.720517 -0.189210 +v 0.605971 0.730397 -0.199862 +v 0.528142 0.844917 -0.162781 +v 0.090372 0.879747 -0.197569 +v 0.064863 0.648024 -0.353922 +v 0.507330 0.301657 -0.335833 +v -0.170145 0.847677 -0.242819 +v -0.055851 0.155330 -0.335099 +v 0.116359 0.054557 -0.356127 +v 0.172924 0.044102 -0.343721 +v 0.128311 0.565592 -0.469758 +v 0.116737 0.849747 -0.246494 +v 0.148627 0.849917 -0.246881 +v -0.086313 0.157381 -0.295933 +v 0.509631 0.669500 -0.294966 +v 0.355863 0.791197 -0.284769 +v 0.190277 0.778077 -0.310482 +v 0.474615 0.814597 -0.230347 +v 0.613401 0.714507 -0.202830 +v 0.062448 0.826917 -0.262022 +v 0.027231 0.790087 -0.282948 +v 0.514129 0.728357 -0.257816 +v 0.626180 0.677128 -0.203135 +v 0.537448 0.812417 -0.187870 +v 0.612446 0.550295 -0.268650 +v 0.333464 0.627564 -0.390713 +v 0.462970 0.911857 -0.135202 +v 0.052153 0.624679 -0.409814 +v -0.154507 0.806237 -0.259120 +v 0.063328 0.575078 -0.459194 +v 0.774399 0.355725 -0.084634 +v 0.157145 0.815667 -0.270435 +v 0.606069 0.750877 -0.181709 +v 0.242736 0.656207 -0.381528 +v 0.002557 0.742577 -0.312971 +v 0.143355 0.769517 -0.301518 +v -0.167004 0.781837 -0.273518 +v 0.149098 0.881387 -0.220151 +v 0.252643 0.655313 -0.380220 +v -0.088270 0.842107 -0.237018 +v 0.542126 0.720927 -0.249809 +v 0.070432 0.712677 -0.322516 +v 0.394366 0.702197 -0.309628 +v 0.140797 0.643615 -0.408651 +v 0.587121 0.715417 -0.223836 +v -0.351165 1.068377 -0.157172 +v 0.168489 0.837667 -0.253916 +v -0.323151 1.060997 -0.149201 +v -0.314170 1.057957 -0.145743 +v -0.305721 1.054127 -0.141282 +v -0.298500 1.047218 -0.135687 +v -0.290099 1.042517 -0.128843 +v -0.282180 1.037878 -0.123393 +v -0.273082 1.035278 -0.120472 +v -0.263800 1.032487 -0.117489 +v -0.255564 1.028977 -0.113496 +v -0.247506 1.023487 -0.107482 +v -0.239692 1.018257 -0.101668 +v -0.232001 1.012408 -0.095181 +v -0.224863 1.005707 -0.087700 +v -0.218004 0.999447 -0.080762 +v -0.210053 0.993137 -0.073619 +v -0.202489 0.987657 -0.067672 +v -0.195231 0.981377 -0.060885 +v -0.143592 0.795847 -0.268562 +v 0.479421 0.591249 -0.332205 +v 0.546914 0.495208 -0.312100 +v 0.552203 0.473767 -0.310309 +v 0.560358 0.469158 -0.305358 +v -0.014660 0.841337 -0.236602 +v 0.380562 0.917157 -0.180800 +v 0.340070 0.921027 -0.184522 +v 0.075605 0.589231 -0.453696 +v 0.816183 0.293403 -0.100830 +v 0.329823 0.921767 -0.185229 +v 0.213272 0.599939 -0.443365 +v 0.472417 0.536499 -0.355558 +v 0.059488 0.871557 -0.208766 +v 0.290090 0.867267 -0.246358 +v 0.741944 0.364375 -0.073513 +v -0.032328 0.118005 -0.379928 +v 0.600519 0.538320 -0.276974 +v 0.752977 0.364649 -0.073833 +v 0.763981 0.365517 -0.074688 +v 0.231112 0.663969 -0.369923 +v 0.022455 0.627204 -0.372561 +v 0.029532 0.581516 -0.446120 +v 0.042372 0.585222 -0.449625 +v 0.053697 0.587063 -0.451445 +v 0.244337 0.930747 -0.173911 +v 0.369284 0.925897 -0.170121 +v 0.319006 0.931687 -0.175724 +v -0.046327 0.810837 -0.264402 +v 0.454709 0.686557 -0.313016 +v 0.333161 0.898167 -0.219997 +v 0.363788 0.895987 -0.217864 +v 0.083641 0.042724 -0.363666 +v 0.489863 0.600987 -0.322488 +v 0.418149 0.917767 -0.161662 +v -0.015576 0.645283 -0.330967 +v -0.004751 0.646432 -0.332467 +v 0.007635 0.649411 -0.335212 +v 0.018610 0.650362 -0.336275 +v 0.029199 0.650579 -0.336496 +v 0.039853 0.650563 -0.336401 +v 0.066871 0.682897 -0.330346 +v 0.050841 0.651605 -0.337451 +v 0.062207 0.653305 -0.339232 +v 0.285215 0.986537 -0.073748 +v 0.296243 0.986747 -0.074643 +v 0.306484 0.986427 -0.074100 +v 0.317105 0.986238 -0.074212 +v 0.327368 0.985927 -0.073704 +v 0.074123 0.655439 -0.341432 +v 0.085947 0.657697 -0.343754 +v 0.097571 0.659390 -0.345757 +v 0.109039 0.662182 -0.348454 +v 0.119756 0.663838 -0.349939 +v 0.131447 0.664866 -0.351192 +v -0.004613 0.829977 -0.244694 +v 0.507083 0.583071 -0.323593 +v 0.124498 0.813897 -0.268426 +v 0.301681 0.859217 -0.257863 +v -0.231140 0.883297 -0.219571 +v 0.484760 0.873467 -0.173576 +v 0.261927 0.591452 -0.434508 +v 0.379758 0.604282 -0.386361 +v 0.389099 0.601861 -0.383719 +v 0.104955 0.827187 -0.262501 +v 0.143253 0.667414 -0.353766 +v -0.088888 0.034146 -0.400263 +v 0.154218 0.668321 -0.354662 +v 0.319358 0.812537 -0.287466 +v 0.165262 0.669230 -0.355573 +v 0.030290 0.603617 -0.428383 +v 0.097201 0.922817 -0.142977 +v 0.225078 0.623133 -0.427116 +v 0.510711 0.681554 -0.287886 +v 0.181186 0.588918 -0.452269 +v 0.171001 0.589640 -0.453193 +v 0.160769 0.590356 -0.454123 +v 0.150546 0.591112 -0.455009 +v -0.318019 0.929167 -0.166895 +v 0.714839 0.269929 -0.139077 +v 0.614153 0.725787 -0.194884 +v 0.454941 0.807737 -0.242792 +v -0.159655 0.040199 -0.365396 +v 0.005942 0.870387 -0.207087 +v 0.176294 0.669871 -0.356411 +v 0.186904 0.670250 -0.356585 +v -0.277398 0.854917 -0.229396 +v -0.265919 0.856357 -0.231045 +v 0.197497 0.670540 -0.356750 +v 0.276618 0.902147 -0.203367 +v 0.208135 0.671035 -0.356970 +v 0.262870 0.654421 -0.379374 +v 0.518417 0.665810 -0.291159 +v 0.403097 0.780047 -0.272744 +v 0.219139 0.671648 -0.357744 +v -0.423219 1.496287 -0.654043 +v 0.229017 0.669933 -0.356115 +v 0.482352 0.799387 -0.233688 +v 0.004932 0.787327 -0.279928 +v 0.272752 0.653287 -0.377968 +v 0.282573 0.651475 -0.376262 +v -0.320953 0.033255 -0.192390 +v 0.239640 0.670320 -0.356294 +v 0.063907 0.627347 -0.412411 +v -0.208841 0.895317 -0.212404 +v 0.774233 0.345054 -0.093804 +v 0.052003 0.573215 -0.457301 +v 0.157873 0.837617 -0.253858 +v 0.597714 0.755347 -0.186548 +v 0.589166 0.759227 -0.190711 +v 0.614374 0.745927 -0.176274 +v 0.265656 0.900997 -0.202141 +v 0.249896 0.669726 -0.355563 +v 0.506070 0.753427 -0.244522 +v 0.058080 0.898647 -0.177356 +v 0.520254 0.546639 -0.325655 +v 0.260124 0.668945 -0.354814 +v 0.571176 0.735657 -0.225528 +v 0.628886 0.540437 -0.258510 +v 0.668573 0.625623 -0.167861 +v 0.660763 0.630468 -0.173111 +v 0.578685 0.719397 -0.228222 +v 0.089024 0.907057 -0.166435 +v 0.152001 0.634987 -0.419690 +v 0.179124 0.837697 -0.254012 +v -0.201705 0.848377 -0.243544 +v -0.361515 0.835297 -0.207456 +v -0.231594 0.871807 -0.227609 +v -0.308602 1.037977 -0.144155 +v -0.300518 1.032327 -0.138403 +v -0.292123 1.029037 -0.134072 +v -0.283192 1.026357 -0.130729 +v -0.273768 1.024087 -0.128344 +v -0.264529 1.021327 -0.125517 +v -0.256119 1.017437 -0.121174 +v -0.248151 1.011297 -0.114575 +v -0.240281 1.006588 -0.109225 +v -0.232603 1.001777 -0.103825 +v -0.225311 0.994608 -0.095895 +v -0.217762 0.988697 -0.089303 +v -0.210092 0.983257 -0.083323 +v -0.202516 0.977917 -0.077436 +v -0.193498 0.974227 -0.073479 +v -0.184172 0.971597 -0.071019 +v 0.269945 0.667424 -0.353224 +v 0.279456 0.665241 -0.351423 +v 0.289486 0.663797 -0.349875 +v 0.539465 0.501404 -0.318625 +v 0.531866 0.506836 -0.324612 +v 0.524091 0.512935 -0.330701 +v 0.515982 0.517582 -0.335767 +v 0.507380 0.522057 -0.340114 +v 0.499010 0.526572 -0.344732 +v 0.490074 0.529460 -0.348564 +v 0.481268 0.533385 -0.351959 +v 0.463623 0.540238 -0.359344 +v 0.454937 0.544040 -0.363292 +v 0.446637 0.548605 -0.368096 +v 0.731335 0.363998 -0.073419 +v 0.373020 0.863647 -0.242887 +v 0.299379 0.662536 -0.348352 +v 0.109956 0.035159 -0.353254 +v 0.308963 0.660934 -0.346232 +v 0.077506 0.683027 -0.330371 +v 0.676435 0.296168 -0.126213 +v 0.370188 0.686327 -0.312918 +v 0.577939 0.646701 -0.250758 +v 0.319218 0.660342 -0.345536 +v 0.088125 0.683117 -0.330397 +v 0.082507 0.953257 -0.054055 +v 0.098781 0.683007 -0.330008 +v 0.106474 0.958557 -0.060430 +v 0.118252 0.960997 -0.063249 +v 0.130028 0.963307 -0.066014 +v 0.142232 0.966227 -0.069598 +v 0.153604 0.967937 -0.071564 +v 0.164984 0.969547 -0.073492 +v 0.177304 0.972067 -0.076953 +v 0.188641 0.973857 -0.078943 +v 0.199584 0.975128 -0.080137 +v 0.211021 0.976487 -0.081960 +v 0.222455 0.977888 -0.083860 +v 0.233451 0.978878 -0.084978 +v 0.244454 0.979667 -0.086025 +v 0.255496 0.980347 -0.087061 +v 0.266519 0.980988 -0.088051 +v 0.277106 0.981317 -0.088367 +v 0.288168 0.981737 -0.089287 +v 0.298801 0.981728 -0.089466 +v 0.309023 0.981407 -0.088977 +v 0.319650 0.981278 -0.089109 +v 0.329903 0.980558 -0.088422 +v 0.340158 0.979957 -0.087815 +v 0.350044 0.978597 -0.086353 +v 0.360225 0.977457 -0.085539 +v 0.369792 0.975958 -0.083428 +v 0.379661 0.974417 -0.081862 +v 0.328997 0.658614 -0.343833 +v 0.338879 0.657396 -0.342406 +v 0.348288 0.654804 -0.339824 +v 0.358149 0.653551 -0.338372 +v 0.710228 0.354586 -0.083557 +v 0.368019 0.652175 -0.336855 +v 0.553863 0.320324 -0.293531 +v -0.160299 0.846167 -0.241151 +v 0.425072 0.629432 -0.332666 +v 0.456014 0.899217 -0.161333 +v 0.397880 0.598198 -0.379911 +v 0.406820 0.595039 -0.376523 +v 0.292785 0.650757 -0.375493 +v -0.102040 0.028742 -0.395008 +v 0.602335 0.622022 -0.244477 +v 0.225014 0.643271 -0.407726 +v 0.550091 0.705477 -0.253564 +v 0.456811 0.557819 -0.357616 +v -0.075965 0.114707 -0.376841 +v 0.131614 0.766957 -0.298689 +v 0.545196 0.666249 -0.271407 +v 0.602324 0.632224 -0.235292 +v 0.651200 0.603332 -0.204473 +v 0.114046 0.804067 -0.277975 +v 0.140307 0.591850 -0.455891 +v 0.130405 0.592957 -0.456909 +v 0.725978 0.270812 -0.139857 +v 0.736703 0.271072 -0.140137 +v 0.747013 0.270478 -0.139493 +v 0.276844 0.690177 -0.317285 +v -0.098831 0.862367 -0.218108 +v 0.377881 0.650738 -0.335324 +v 0.546167 0.325016 -0.299084 +v 0.465505 0.746857 -0.257627 +v 0.108208 0.680908 -0.327901 +v 0.158467 0.717217 -0.326370 +v 0.589485 0.770097 -0.182361 +v 0.535747 0.658243 -0.283031 +v -0.187768 0.793097 -0.265214 +v -0.432211 1.488227 -0.664336 +v -0.420441 1.491487 -0.669275 +v -0.323250 0.326024 0.228781 +v 0.387681 0.649248 -0.333681 +v 0.397830 0.647059 -0.331427 +v 0.444945 0.918067 -0.141779 +v 0.277282 0.892917 -0.213627 +v -0.238464 0.050916 -0.209205 +v -0.261084 0.049221 -0.208412 +v -0.278836 0.842307 -0.236328 +v 0.117984 0.565559 -0.469854 +v -0.145787 0.894277 -0.211793 +v 0.593107 0.836117 -0.092763 +v -0.054332 0.915997 -0.134184 +v 0.430376 0.861617 -0.220878 +v 0.485817 0.845817 -0.203974 +v -0.090762 0.786387 -0.278549 +v 0.121703 0.697127 -0.325344 +v -0.066981 0.035626 -0.399675 +v -0.078039 0.821597 -0.255666 +v 0.636404 0.696507 -0.183573 +v 0.310545 0.905447 -0.207527 +v 0.302634 0.649476 -0.373995 +v 0.061859 0.835757 -0.251312 +v 0.027791 0.618042 -0.403063 +v 0.676428 0.619692 -0.161491 +v 0.561269 0.726887 -0.236212 +v 0.570293 0.723867 -0.232931 +v 0.470404 0.915587 -0.119031 +v 0.803388 0.339928 -0.088275 +v 0.190187 0.838167 -0.254557 +v -0.212669 0.847217 -0.241959 +v -0.348405 0.839747 -0.212351 +v -0.242559 0.870837 -0.226470 +v -0.311152 1.023097 -0.147999 +v -0.302456 1.019927 -0.144051 +v -0.293429 1.016917 -0.140754 +v -0.284212 1.014047 -0.137794 +v -0.274781 1.011787 -0.135372 +v -0.265674 1.008878 -0.132209 +v -0.257227 1.004997 -0.127826 +v -0.249388 0.999247 -0.121612 +v -0.241780 0.993857 -0.115521 +v -0.233812 0.988147 -0.109311 +v -0.226033 0.982887 -0.103392 +v -0.217952 0.978647 -0.098824 +v -0.210233 0.973427 -0.093448 +v -0.200664 0.970767 -0.090104 +v -0.191043 0.968598 -0.088326 +v -0.181132 0.966938 -0.086841 +v -0.171153 0.965497 -0.085382 +v -0.160883 0.964627 -0.084701 +v 0.406613 0.644883 -0.329164 +v 0.572920 0.493697 -0.290334 +v 0.118038 0.679621 -0.326650 +v 0.570440 0.844187 -0.121982 +v -0.062357 0.911037 -0.149013 +v -0.071258 0.914287 -0.152763 +v 0.128632 0.679797 -0.326900 +v -0.098284 0.167330 -0.228452 +v -0.215213 0.832507 -0.246738 +v 0.159639 0.890577 -0.210184 +v 0.426403 0.923197 -0.147341 +v 0.416242 0.643002 -0.327136 +v 0.438268 0.553163 -0.372831 +v 0.430163 0.557833 -0.377905 +v 0.421664 0.562306 -0.382442 +v 0.413198 0.566767 -0.386884 +v 0.404617 0.570600 -0.390936 +v 0.753007 0.344266 -0.093114 +v 0.094369 0.806967 -0.281071 +v 0.426103 0.641604 -0.325749 +v 0.050345 0.943107 -0.062497 +v 0.062144 0.945417 -0.065263 +v 0.073938 0.947667 -0.068030 +v 0.085817 0.949617 -0.070679 +v 0.097565 0.952137 -0.073517 +v 0.109322 0.954517 -0.076288 +v 0.121593 0.957367 -0.079836 +v 0.132825 0.959418 -0.081891 +v 0.145145 0.962077 -0.085400 +v 0.156993 0.964178 -0.088110 +v 0.168335 0.965928 -0.090052 +v 0.180186 0.968027 -0.092754 +v 0.191541 0.969767 -0.094736 +v 0.202932 0.971437 -0.096651 +v 0.213953 0.972197 -0.097705 +v 0.224979 0.972947 -0.098762 +v 0.235978 0.973877 -0.099841 +v 0.247004 0.974547 -0.100862 +v 0.257653 0.974768 -0.101137 +v 0.268234 0.975027 -0.101446 +v 0.279297 0.975547 -0.102362 +v 0.289907 0.975677 -0.102604 +v 0.300546 0.975717 -0.102789 +v 0.311182 0.975607 -0.102940 +v 0.321816 0.975387 -0.103021 +v 0.332035 0.974707 -0.102382 +v 0.342305 0.974177 -0.101788 +v 0.352179 0.972717 -0.100273 +v 0.362032 0.971277 -0.098771 +v 0.371902 0.969898 -0.097289 +v 0.381754 0.968347 -0.095737 +v 0.391258 0.966317 -0.093449 +v 0.400956 0.964268 -0.091707 +v 0.410081 0.961537 -0.088568 +v 0.419499 0.959177 -0.086152 +v 0.436247 0.640738 -0.324705 +v 0.446184 0.639426 -0.323496 +v 0.456049 0.637944 -0.321944 +v 0.465712 0.636255 -0.319710 +v -0.209008 0.884797 -0.221415 +v 0.449289 0.766697 -0.258612 +v 0.079844 0.758807 -0.309868 +v 0.089360 0.757097 -0.308398 +v 0.415544 0.591283 -0.372566 +v 0.423761 0.586642 -0.367667 +v 0.432174 0.582176 -0.363014 +v -0.006057 0.042018 -0.385623 +v 0.016035 0.819017 -0.253218 +v 0.300512 0.876617 -0.236564 +v 0.034859 0.743467 -0.313754 +v 0.474628 0.632732 -0.316379 +v 0.312789 0.648480 -0.373108 +v 0.322333 0.646543 -0.370870 +v -0.088939 0.891207 -0.188264 +v 0.528145 0.805137 -0.200042 +v 0.303712 0.611114 -0.413919 +v 0.377848 0.670886 -0.316663 +v 0.119361 0.592397 -0.456566 +v 0.108754 0.591953 -0.456075 +v 0.098109 0.591805 -0.456083 +v 0.428604 0.838257 -0.235688 +v 0.457315 0.832257 -0.229275 +v 0.447936 0.834617 -0.231826 +v 0.316853 0.797697 -0.291401 +v 0.483969 0.630373 -0.313664 +v -0.375545 0.127168 -0.098552 +v 0.493411 0.628168 -0.311273 +v 0.502830 0.625880 -0.308753 +v -0.311770 0.879947 -0.194717 +v 0.331759 0.644233 -0.368449 +v 0.512207 0.623560 -0.306181 +v -0.120968 0.667619 -0.310306 +v 0.521339 0.620631 -0.303138 +v 0.530432 0.617630 -0.299956 +v 0.140464 0.682107 -0.329172 +v 0.539188 0.613977 -0.296143 +v 0.548027 0.610268 -0.292360 +v -0.308823 0.036457 -0.195465 +v -0.249806 0.049678 -0.208418 +v 0.419447 0.841057 -0.238655 +v -0.188325 0.873817 -0.230091 +v -0.177712 0.873717 -0.230039 +v 0.393148 0.881567 -0.222345 +v -0.079519 0.899017 -0.176286 +v 0.439786 0.859267 -0.218352 +v 0.425968 0.732437 -0.282047 +v 0.518283 0.594408 -0.315486 +v -0.006164 0.806927 -0.260458 +v -0.080152 0.917767 -0.156282 +v 0.552780 0.649938 -0.274193 +v 0.628957 0.702637 -0.190176 +v -0.079389 0.889177 -0.186062 +v 0.556583 0.606379 -0.288127 +v 0.259446 0.768787 -0.300630 +v 0.039999 0.621307 -0.406462 +v 0.542904 0.732627 -0.242230 +v 0.552108 0.729817 -0.239297 +v 0.516530 0.763207 -0.235027 +v 0.506802 0.764797 -0.236784 +v -0.278095 0.924557 -0.161645 +v 0.165716 0.558336 -0.461383 +v -0.224125 0.845907 -0.240626 +v 0.233812 0.860937 -0.239090 +v -0.254492 0.868857 -0.224249 +v -0.313242 1.009007 -0.152947 +v -0.304274 1.005988 -0.149460 +v -0.295221 1.003017 -0.146210 +v -0.286110 1.000097 -0.143045 +v -0.276775 0.997747 -0.140319 +v -0.267681 0.994797 -0.137165 +v -0.259125 0.990447 -0.132599 +v -0.251314 0.985737 -0.126979 +v -0.243462 0.980467 -0.121125 +v -0.235190 0.975967 -0.116217 +v -0.226653 0.972087 -0.111990 +v -0.218195 0.969417 -0.108175 +v -0.207519 0.967847 -0.107515 +v -0.198061 0.965568 -0.105093 +v -0.188257 0.963707 -0.103492 +v -0.178038 0.962637 -0.102744 +v -0.168148 0.961307 -0.101262 +v -0.157918 0.960318 -0.100522 +v -0.147708 0.959517 -0.099870 +v -0.137503 0.958467 -0.099089 +v -0.127333 0.957377 -0.098335 +v 0.565348 0.602670 -0.284237 +v 0.404953 0.702487 -0.310008 +v 0.415571 0.702727 -0.310319 +v 0.134718 0.813327 -0.267871 +v 0.311074 0.897357 -0.218646 +v -0.220031 0.883977 -0.220489 +v 0.493960 0.870797 -0.170879 +v 0.245041 0.871927 -0.230960 +v 0.458372 0.763727 -0.255449 +v 0.406762 0.635129 -0.338706 +v 0.574299 0.599574 -0.280841 +v 0.583356 0.596574 -0.277627 +v 0.592179 0.592869 -0.273816 +v 0.600107 0.588062 -0.268450 +v 0.296007 0.676229 -0.322527 +v 0.608348 0.582919 -0.263242 +v 0.042350 0.937597 -0.077193 +v 0.053714 0.939277 -0.079098 +v 0.065076 0.941027 -0.081064 +v 0.076903 0.943137 -0.083756 +v 0.088232 0.944988 -0.085743 +v 0.100548 0.947647 -0.089227 +v 0.112287 0.950157 -0.092053 +v 0.124477 0.953167 -0.095617 +v 0.136186 0.955777 -0.098473 +v 0.148103 0.957637 -0.101101 +v 0.159907 0.959888 -0.103829 +v 0.171742 0.962057 -0.106571 +v 0.183138 0.963527 -0.108433 +v 0.194520 0.965287 -0.110369 +v 0.205881 0.967017 -0.112335 +v 0.216897 0.967747 -0.113361 +v 0.227946 0.968227 -0.114271 +v 0.238529 0.968557 -0.114564 +v 0.249168 0.968577 -0.114766 +v 0.259390 0.968297 -0.114300 +v 0.270023 0.968337 -0.114497 +v 0.280639 0.968357 -0.114681 +v 0.291251 0.968517 -0.114948 +v 0.302314 0.968877 -0.115766 +v 0.312955 0.969068 -0.116034 +v 0.323571 0.969158 -0.116235 +v 0.333835 0.968598 -0.115627 +v 0.344079 0.967717 -0.114905 +v 0.353923 0.966267 -0.113362 +v 0.364071 0.964947 -0.112471 +v 0.373645 0.963237 -0.110306 +v 0.383464 0.961657 -0.108759 +v 0.392961 0.959607 -0.106445 +v 0.402409 0.957317 -0.104051 +v 0.411840 0.955007 -0.101647 +v 0.420980 0.952258 -0.098518 +v 0.430386 0.949897 -0.096078 +v 0.439423 0.946837 -0.092834 +v 0.448504 0.943888 -0.089597 +v 0.457555 0.940858 -0.086369 +v 0.616861 0.578469 -0.258650 +v 0.625213 0.574507 -0.254257 +v 0.633179 0.569191 -0.248627 +v 0.484526 0.712667 -0.280920 +v -0.373631 0.821307 -0.212704 +v 0.082928 0.713787 -0.322318 +v 0.275937 0.749507 -0.300296 +v 0.441208 0.579139 -0.359769 +v 0.449977 0.575409 -0.355892 +v 0.565028 0.804297 -0.179178 +v 0.453084 0.794207 -0.248059 +v 0.640758 0.562431 -0.241742 +v 0.571808 0.142799 -0.154775 +v 0.519194 0.677600 -0.283527 +v 0.553494 0.661680 -0.266561 +v 0.610805 0.627857 -0.230629 +v 0.080741 0.871457 -0.208869 +v 0.059097 0.890697 -0.188933 +v -0.253859 0.900007 -0.196662 +v 0.059296 0.881177 -0.198899 +v -0.289452 0.902787 -0.178629 +v 0.087044 0.591108 -0.455488 +v 0.017564 0.577887 -0.442328 +v -0.219202 0.905387 -0.202926 +v -0.254475 0.909207 -0.186018 +v -0.312279 0.096161 -0.172742 +v -0.324452 0.093136 -0.169856 +v 0.184100 0.625358 -0.429686 +v -0.044627 0.049242 -0.393924 +v 0.656861 0.715037 -0.122717 +v -0.143814 0.046258 -0.367508 +v 0.341192 0.641920 -0.365993 +v 0.564417 0.497530 -0.294564 +v 0.314195 0.641312 -0.385403 +v 0.375873 0.044595 -0.315108 +v -0.385077 1.478337 -0.692139 +v -0.375402 1.476677 -0.690863 +v 0.151888 0.683807 -0.330954 +v 0.703688 0.362456 -0.091945 +v -0.227104 0.052158 -0.210106 +v -0.094731 0.151002 -0.310354 +v -0.328209 0.062840 -0.181186 +v 0.266498 0.751727 -0.302668 +v 0.527936 0.321078 -0.315139 +v 0.611212 0.800547 -0.114671 +v 0.458271 0.854017 -0.212793 +v 0.168478 0.797497 -0.291237 +v 0.027011 0.799817 -0.273110 +v -0.016005 0.808237 -0.261814 +v 0.331808 0.846117 -0.263893 +v 0.585516 0.630918 -0.253933 +v 0.426119 0.742747 -0.272965 +v 0.045743 0.905137 -0.163971 +v 0.712240 0.368513 -0.077914 +v 0.524525 0.738077 -0.248120 +v 0.515054 0.740337 -0.250563 +v 0.533627 0.735107 -0.244966 +v 0.535316 0.758327 -0.229880 +v 0.526059 0.761047 -0.232739 +v 0.324598 0.630958 -0.394382 +v 0.451025 0.587950 -0.348746 +v 0.501079 0.612346 -0.314426 +v -0.234341 0.846477 -0.241109 +v 0.245256 0.862337 -0.240709 +v -0.265409 0.867707 -0.222888 +v 0.017406 0.871727 -0.208755 +v 0.004986 0.878527 -0.195522 +v 0.429816 0.890297 -0.191807 +v 0.659264 0.598080 -0.198924 +v -0.060656 0.894587 -0.171524 +v -0.271592 0.978537 -0.140548 +v -0.261871 0.974887 -0.136169 +v -0.253740 0.970407 -0.130869 +v -0.244994 0.967637 -0.127255 +v -0.236025 0.965118 -0.124202 +v -0.225924 0.963227 -0.122784 +v -0.215632 0.962507 -0.122184 +v -0.205314 0.961998 -0.121672 +v -0.195087 0.961287 -0.120999 +v -0.185618 0.959067 -0.118623 +v -0.175056 0.958537 -0.118665 +v -0.165197 0.957057 -0.117144 +v -0.154957 0.956167 -0.116409 +v -0.145116 0.954737 -0.114895 +v -0.134918 0.953667 -0.114113 +v -0.125100 0.952217 -0.112602 +v -0.115302 0.950817 -0.111109 +v -0.275019 0.030208 -0.209753 +v 0.054154 0.598731 -0.443681 +v 0.772167 0.309779 -0.118695 +v 0.378808 0.590121 -0.393366 +v 0.088048 0.603051 -0.447555 +v 0.162895 0.684677 -0.331812 +v 0.235854 0.633550 -0.417718 +v 0.502691 0.867157 -0.166881 +v 0.717764 0.400720 -0.070842 +v -0.022134 0.925497 -0.084033 +v -0.011426 0.926147 -0.084358 +v -0.000886 0.927167 -0.084781 +v 0.723736 0.390703 -0.060492 +v 0.731246 0.385074 -0.054407 +v 0.741830 0.384350 -0.053773 +v 0.045287 0.933257 -0.092973 +v 0.056648 0.934987 -0.094897 +v 0.068004 0.936728 -0.096858 +v 0.079950 0.938497 -0.099427 +v 0.091262 0.940357 -0.101421 +v 0.102538 0.942297 -0.103440 +v 0.114782 0.945237 -0.107010 +v 0.127045 0.948027 -0.110496 +v 0.138780 0.950547 -0.113322 +v 0.151043 0.953317 -0.116792 +v 0.162845 0.955567 -0.119536 +v 0.174237 0.957177 -0.121448 +v 0.186085 0.959218 -0.124111 +v 0.197007 0.960537 -0.125319 +v 0.208448 0.961787 -0.127108 +v 0.219462 0.962647 -0.128169 +v 0.230076 0.962797 -0.128402 +v 0.240702 0.962577 -0.128457 +v 0.250932 0.961787 -0.127758 +v 0.261167 0.961148 -0.127113 +v 0.271390 0.960977 -0.126719 +v 0.282001 0.961127 -0.126955 +v 0.293047 0.961597 -0.127822 +v 0.304082 0.962317 -0.128851 +v 0.314672 0.962718 -0.129184 +v 0.325344 0.962828 -0.129403 +v 0.335586 0.961927 -0.128646 +v 0.345818 0.961037 -0.127915 +v 0.355698 0.959837 -0.126526 +v 0.365511 0.958107 -0.124870 +v 0.375056 0.956237 -0.122648 +v 0.384834 0.954427 -0.120977 +v 0.394316 0.952317 -0.118669 +v 0.403755 0.950027 -0.116247 +v 0.413148 0.947627 -0.113787 +v 0.422341 0.944977 -0.110724 +v 0.431697 0.942507 -0.108241 +v 0.440822 0.939657 -0.105075 +v 0.449873 0.936657 -0.101851 +v 0.458984 0.933807 -0.098659 +v 0.468094 0.930907 -0.095467 +v 0.477024 0.927617 -0.092106 +v 0.485689 0.923887 -0.088046 +v 0.752146 0.384225 -0.053507 +v -0.006743 0.795527 -0.268429 +v 0.173515 0.684797 -0.331882 +v 0.489783 0.902167 -0.124718 +v 0.288480 0.813057 -0.288753 +v 0.388078 0.931007 -0.155773 +v 0.458688 0.571651 -0.351983 +v 0.467378 0.567865 -0.348006 +v 0.476020 0.564034 -0.343958 +v 0.826647 0.312964 -0.080417 +v 0.818874 0.318925 -0.086474 +v 0.810829 0.323597 -0.091560 +v 0.802328 0.327514 -0.095789 +v 0.643247 0.608123 -0.209590 +v 0.311937 0.858747 -0.257384 +v 0.028200 0.862467 -0.219016 +v -0.177110 0.885097 -0.222018 +v -0.230885 0.893707 -0.210471 +v 0.351066 0.640560 -0.364537 +v 0.527812 0.794347 -0.208471 +v -0.118763 0.854697 -0.230150 +v 0.763146 0.384461 -0.053949 +v -0.053782 0.117284 -0.379328 +v -0.263350 0.032515 -0.211911 +v 0.660316 0.619936 -0.181938 +v -0.133901 0.155321 -0.232131 +v 0.554578 0.488414 -0.305497 +v -0.247200 0.066610 -0.205303 +v -0.120493 0.054448 -0.378667 +v 0.360548 0.638394 -0.362185 +v 0.605493 0.719327 -0.208106 +v 0.774166 0.385268 -0.054808 +v -0.386838 1.463787 -0.695783 +v -0.376324 1.464837 -0.697225 +v -0.366335 1.464067 -0.696589 +v -0.357879 1.460117 -0.692854 +v 0.784381 0.384826 -0.054205 +v 0.794594 0.384325 -0.053574 +v 0.804771 0.383544 -0.052737 +v 0.642783 0.597496 -0.218355 +v -0.018094 0.081733 -0.385667 +v 0.535959 0.316424 -0.310077 +v 0.443346 0.613688 -0.335961 +v 0.156942 0.805317 -0.279474 +v 0.718007 0.307065 -0.116021 +v -0.025829 0.809597 -0.263247 +v -0.036065 0.810417 -0.264157 +v 0.610617 0.617931 -0.240071 +v 0.597490 0.734387 -0.204163 +v -0.174839 0.818257 -0.251789 +v 0.580286 0.742847 -0.213178 +v 0.571347 0.745977 -0.216583 +v 0.562272 0.748947 -0.219771 +v 0.553395 0.752197 -0.223283 +v 0.544385 0.755517 -0.226753 +v 0.472945 0.619305 -0.322157 +v 0.182499 0.642673 -0.407374 +v 0.398060 0.750117 -0.280628 +v 0.415839 0.632153 -0.335518 +v -0.244924 0.846177 -0.240614 +v 0.256602 0.864157 -0.242730 +v -0.276819 0.866157 -0.221143 +v 0.027968 0.872187 -0.209197 +v -0.006060 0.877737 -0.194541 +v 0.438603 0.886837 -0.188229 +v 0.296983 0.688177 -0.315240 +v -0.050499 0.893557 -0.170614 +v -0.273814 0.962817 -0.142741 +v -0.264815 0.959397 -0.139475 +v -0.255338 0.957687 -0.137065 +v -0.245120 0.956928 -0.136267 +v -0.234978 0.956157 -0.135366 +v -0.224422 0.955957 -0.135360 +v -0.214184 0.955317 -0.134734 +v -0.203143 0.956107 -0.135800 +v -0.192498 0.956157 -0.135942 +v -0.182655 0.954697 -0.134429 +v -0.172448 0.953977 -0.133786 +v -0.162198 0.953257 -0.133114 +v -0.152391 0.951248 -0.131407 +v -0.142574 0.949687 -0.129856 +v -0.132731 0.948177 -0.128341 +v -0.122582 0.947047 -0.127527 +v -0.112791 0.945607 -0.125981 +v -0.103401 0.943447 -0.123649 +v 0.814616 0.382235 -0.051305 +v 0.824323 0.380615 -0.049586 +v -0.076195 0.934807 -0.114078 +v -0.067121 0.931737 -0.110800 +v -0.058084 0.928607 -0.107549 +v -0.201766 0.086649 -0.210620 +v 0.245788 0.632490 -0.416519 +v -0.158558 0.041057 -0.360773 +v -0.019169 0.921367 -0.099864 +v -0.008063 0.921677 -0.100765 +v 0.002591 0.922297 -0.101112 +v 0.013996 0.924027 -0.103025 +v 0.025350 0.925957 -0.105015 +v 0.036636 0.928067 -0.107057 +v 0.047986 0.929957 -0.109042 +v 0.059484 0.931037 -0.110790 +v 0.070970 0.932227 -0.112560 +v 0.082438 0.933608 -0.114365 +v 0.093830 0.935217 -0.116249 +v 0.105192 0.936957 -0.118243 +v 0.116948 0.939387 -0.121018 +v 0.129117 0.942437 -0.124614 +v 0.140801 0.945097 -0.127482 +v 0.153080 0.947937 -0.130982 +v 0.164907 0.950137 -0.133656 +v 0.176339 0.951717 -0.135538 +v 0.188136 0.954008 -0.138269 +v 0.199513 0.955447 -0.140133 +v 0.210574 0.956287 -0.141202 +v 0.221201 0.956487 -0.141424 +v 0.231840 0.956478 -0.141583 +v 0.242442 0.956057 -0.141527 +v 0.252310 0.954887 -0.140181 +v 0.262158 0.953847 -0.138888 +v 0.272383 0.953187 -0.138257 +v 0.283384 0.953787 -0.139173 +v 0.294422 0.954487 -0.140157 +v 0.305385 0.955417 -0.141255 +v 0.316463 0.955957 -0.142118 +v 0.327862 0.955597 -0.141189 +v 0.337301 0.954987 -0.141511 +v 0.347180 0.953837 -0.140141 +v 0.357385 0.952947 -0.139405 +v 0.366900 0.950947 -0.137140 +v 0.376703 0.949367 -0.135536 +v 0.386167 0.947127 -0.133162 +v 0.395630 0.944927 -0.130813 +v 0.405099 0.942667 -0.128418 +v 0.414186 0.939847 -0.125282 +v 0.423388 0.937247 -0.122234 +v 0.432792 0.934827 -0.119788 +v 0.441843 0.932157 -0.117782 +v 0.451250 0.929457 -0.114083 +v 0.460295 0.926407 -0.110834 +v 0.469220 0.923217 -0.107003 +v 0.478412 0.920407 -0.104362 +v 0.487187 0.916897 -0.100379 +v 0.495831 0.913077 -0.096286 +v 0.833237 0.377214 -0.045890 +v -0.156636 0.883687 -0.220641 +v 0.415799 0.602236 -0.363873 +v 0.104777 0.816837 -0.271539 +v 0.080816 0.699597 -0.327578 +v 0.405259 0.733347 -0.283303 +v 0.445987 0.730137 -0.279570 +v 0.047118 0.897837 -0.176290 +v 0.484455 0.560066 -0.339493 +v 0.493101 0.555735 -0.335346 +v 0.501697 0.553259 -0.331996 +v 0.511229 0.549739 -0.329140 +v 0.793320 0.330556 -0.099075 +v 0.783624 0.332385 -0.101139 +v 0.549603 0.510977 -0.307509 +v 0.108888 0.623059 -0.427732 +v 0.098286 0.622791 -0.427579 +v 0.512736 0.705807 -0.273543 +v 0.372112 0.911497 -0.194542 +v 0.383354 0.721917 -0.291151 +v 0.094524 0.837687 -0.253543 +v 0.156772 0.703377 -0.331163 +v 0.172349 0.602772 -0.446748 +v 0.823137 0.347579 -0.075783 +v 0.626148 0.525244 -0.262373 +v 0.370256 0.636570 -0.360360 +v 0.841670 0.373230 -0.041714 +v -0.281691 0.060542 -0.199160 +v -0.108607 0.058430 -0.383051 +v 0.379852 0.634696 -0.358309 +v 0.849132 0.367686 -0.035885 +v 0.183759 0.684167 -0.331228 +v 0.265261 0.920197 -0.182735 +v -0.357953 1.450277 -0.701142 +v -0.145608 0.904857 -0.202855 +v -0.070962 0.156968 -0.315975 +v 0.310948 0.886557 -0.227237 +v 0.359624 0.596242 -0.398078 +v 0.503448 0.708267 -0.276240 +v -0.036909 0.869387 -0.205647 +v 0.389296 0.632449 -0.355857 +v 0.320989 0.653821 -0.358591 +v -0.299601 0.022993 -0.202715 +v -0.105327 0.076561 -0.380664 +v -0.145039 0.783757 -0.275711 +v -0.019575 0.026609 -0.387938 +v -0.031739 0.150854 -0.351064 +v 0.025593 0.756197 -0.307228 +v -0.152731 0.819507 -0.252904 +v 0.464006 0.622783 -0.325533 +v 0.305884 0.674884 -0.321080 +v 0.650595 0.713147 -0.140840 +v 0.657936 0.707507 -0.134886 +v 0.665059 0.700167 -0.126850 +v -0.022481 0.160493 -0.339984 +v 0.107348 0.057604 -0.359537 +v -0.255503 0.845947 -0.240256 +v 0.268085 0.865487 -0.244300 +v -0.288735 0.864087 -0.218736 +v 0.039017 0.872797 -0.210040 +v -0.016645 0.877577 -0.194362 +v 0.447208 0.882887 -0.183755 +v 0.629866 0.724827 -0.173685 +v -0.039481 0.894157 -0.171504 +v -0.285660 0.950247 -0.149602 +v -0.276360 0.947987 -0.146845 +v -0.266167 0.947247 -0.146041 +v -0.256008 0.946587 -0.145235 +v -0.245064 0.947087 -0.145809 +v -0.234423 0.947287 -0.146112 +v -0.223037 0.948567 -0.147792 +v -0.212404 0.948767 -0.148028 +v -0.201389 0.949498 -0.149034 +v -0.190370 0.950197 -0.150033 +v -0.180506 0.948837 -0.148518 +v -0.170261 0.948117 -0.147855 +v -0.160040 0.947417 -0.147207 +v -0.150207 0.945927 -0.145703 +v -0.140008 0.944737 -0.144800 +v -0.130218 0.943107 -0.143211 +v -0.120426 0.941547 -0.141632 +v -0.110637 0.939917 -0.140056 +v -0.101235 0.937667 -0.137679 +v -0.091894 0.935307 -0.135225 +v -0.083246 0.931607 -0.131195 +v -0.074393 0.928257 -0.127273 +v -0.065320 0.925257 -0.124050 +v -0.055970 0.922547 -0.121520 +v -0.046358 0.920587 -0.119285 +v 0.279043 0.866517 -0.245441 +v 0.194380 0.684137 -0.331145 +v -0.016218 0.917067 -0.115636 +v -0.005131 0.917597 -0.116602 +v 0.005521 0.917977 -0.116846 +v 0.017011 0.919227 -0.118630 +v 0.028489 0.920737 -0.120463 +v 0.039828 0.922597 -0.122454 +v 0.051167 0.924347 -0.124389 +v 0.062503 0.926377 -0.126438 +v 0.073398 0.927887 -0.127704 +v 0.084407 0.928747 -0.128814 +v 0.095969 0.929417 -0.130295 +v 0.106881 0.930597 -0.131514 +v 0.118131 0.932617 -0.133639 +v 0.130341 0.935567 -0.137161 +v 0.143055 0.938997 -0.141382 +v 0.155256 0.942027 -0.144901 +v 0.166680 0.943707 -0.146854 +v 0.178448 0.946037 -0.149571 +v 0.190250 0.948288 -0.152289 +v 0.201719 0.949647 -0.154065 +v 0.212306 0.950038 -0.154419 +v 0.222981 0.950087 -0.154609 +v 0.233571 0.949787 -0.154608 +v 0.243461 0.948547 -0.153235 +v 0.253305 0.947137 -0.151729 +v 0.263514 0.946367 -0.151027 +v 0.273737 0.946037 -0.150571 +v 0.284761 0.946527 -0.151432 +v 0.295781 0.947298 -0.152432 +v 0.306772 0.948398 -0.153646 +v 0.317845 0.948837 -0.154443 +v 0.328451 0.948837 -0.154596 +v 0.338672 0.947917 -0.153789 +v 0.348531 0.946467 -0.152281 +v 0.358388 0.945057 -0.150800 +v 0.367941 0.943097 -0.148595 +v 0.377695 0.941347 -0.146892 +v 0.387171 0.939167 -0.144565 +v 0.396644 0.937037 -0.142227 +v 0.405816 0.934397 -0.139201 +v 0.415253 0.932077 -0.136745 +v 0.424728 0.929847 -0.134371 +v 0.434406 0.927997 -0.132662 +v 0.341555 0.029322 -0.305508 +v 0.301601 0.030176 -0.318975 +v 0.291726 0.029165 -0.319975 +v 0.281605 0.030229 -0.323790 +v 0.271630 0.030203 -0.322318 +v 0.261778 0.029369 -0.326368 +v 0.251812 0.029172 -0.326608 +v 0.241718 0.030779 -0.326894 +v 0.231832 0.029173 -0.329386 +v 0.221797 0.029632 -0.329987 +v 0.211836 0.029198 -0.330544 +v 0.201843 0.028718 -0.332823 +v 0.191884 0.028809 -0.334070 +v -0.130858 0.667338 -0.308558 +v -0.140901 0.667268 -0.306431 +v -0.150919 0.667177 -0.305387 +v -0.160890 0.667087 -0.305251 +v 0.131845 0.029750 -0.345380 +v 0.121816 0.030133 -0.349186 +v 0.111813 0.030068 -0.349163 +v -0.170835 0.666982 -0.305066 +v -0.180839 0.666923 -0.305015 +v -0.190826 0.667025 -0.306727 +v -0.200807 0.667032 -0.307801 +v 0.042693 0.030397 -0.371270 +v 0.032349 0.031174 -0.373415 +v 0.022186 0.031828 -0.376512 +v 0.012477 0.031182 -0.376858 +v -0.210809 0.667037 -0.308797 +v 0.410207 0.041703 -0.292843 +v 0.401135 0.041416 -0.300192 +v 0.390124 0.042277 -0.306733 +v -0.220834 0.667037 -0.309849 +v 0.371447 0.042487 -0.313864 +v 0.361715 0.042430 -0.317293 +v 0.351644 0.042725 -0.319335 +v 0.341736 0.042729 -0.321106 +v 0.331708 0.042977 -0.323537 +v 0.321795 0.042908 -0.325320 +v 0.311788 0.043201 -0.327635 +v 0.301916 0.043154 -0.329577 +v 0.291801 0.043401 -0.331691 +v 0.281817 0.043451 -0.333038 +v 0.271804 0.043607 -0.334094 +v 0.261799 0.043691 -0.335369 +v 0.251765 0.043870 -0.336212 +v 0.241771 0.043760 -0.336519 +v 0.231790 0.043857 -0.337733 +v 0.221800 0.043645 -0.338269 +v 0.211776 0.043875 -0.339031 +v 0.201802 0.043706 -0.339440 +v 0.191776 0.043940 -0.340266 +v 0.181727 0.044284 -0.342221 +v -0.230786 0.652650 -0.311452 +v -0.240874 0.652635 -0.311595 +v -0.250919 0.652619 -0.311534 +v 0.141620 0.044772 -0.348317 +v 0.131578 0.044964 -0.350863 +v 0.121646 0.045129 -0.353788 +v -0.230855 0.667047 -0.310207 +v -0.240921 0.667061 -0.310411 +v -0.250986 0.667001 -0.310209 +v 0.081634 0.046111 -0.365267 +v 0.071480 0.046554 -0.368323 +v 0.061424 0.046809 -0.370563 +v 0.051674 0.046724 -0.373027 +v 0.041694 0.046922 -0.375600 +v 0.031647 0.047187 -0.377720 +v 0.021624 0.047381 -0.380302 +v 0.011704 0.047433 -0.382052 +v -0.261159 0.666984 -0.309447 +v -0.405049 0.361918 0.233090 +v 0.135682 1.379467 -0.329087 +v 0.085857 1.379257 -0.299783 +v -0.004133 1.378927 -0.273055 +v -0.271237 0.666671 -0.307531 +v -0.260809 0.652532 -0.310798 +v -0.281153 0.666464 -0.302588 +v 0.066020 1.394207 -0.300580 +v -0.004133 1.393827 -0.275405 +v -0.054089 1.393567 -0.248621 +v -0.291171 0.666135 -0.297392 +v -0.301502 0.666123 -0.292987 +v -0.551018 0.858927 -0.122210 +v -0.311349 0.665663 -0.290034 +v -0.321471 0.665300 -0.285276 +v -0.331370 0.664711 -0.278722 +v 0.075734 1.408937 -0.312342 +v -0.321521 0.779267 -0.257197 +v -0.367839 0.023734 -0.168146 +v -0.213095 1.213537 -0.146167 +v -0.388897 0.021498 -0.162830 +v -0.408869 0.020194 -0.147796 +v -0.417547 0.020447 -0.136528 +v -0.013852 1.349107 -0.260197 +v -0.033786 1.349067 -0.254889 +v -0.341094 0.664300 -0.274381 +v 0.411505 0.055540 -0.302270 +v 0.401656 0.056014 -0.308837 +v 0.391852 0.056232 -0.313095 +v 0.381799 0.056606 -0.316801 +v 0.371711 0.057025 -0.320139 +v 0.361845 0.057003 -0.322171 +v 0.351755 0.057292 -0.324173 +v 0.341771 0.057341 -0.325605 +v 0.331739 0.057589 -0.327918 +v 0.321695 0.057811 -0.330223 +v 0.311731 0.057888 -0.331673 +v 0.301705 0.058110 -0.334119 +v 0.291668 0.058217 -0.335096 +v 0.281713 0.058278 -0.336641 +v 0.271725 0.058349 -0.338019 +v 0.261712 0.058467 -0.338970 +v 0.251704 0.058602 -0.340011 +v 0.241734 0.058469 -0.340719 +v 0.231732 0.058583 -0.341681 +v 0.221709 0.058539 -0.341822 +v 0.211733 0.058620 -0.343097 +v 0.201688 0.058787 -0.343823 +v 0.191730 0.058684 -0.344188 +v 0.181733 0.058726 -0.345610 +v 0.171708 0.058854 -0.346672 +v 0.161696 0.058930 -0.347869 +v 0.151551 0.059328 -0.349458 +v 0.141616 0.059297 -0.351343 +v 0.131575 0.059510 -0.353739 +v 0.121484 0.059787 -0.355918 +v 0.111515 0.059973 -0.358723 +v -0.350817 0.663937 -0.269957 +v 0.091420 0.060559 -0.364687 +v 0.081468 0.060741 -0.367388 +v 0.071452 0.060989 -0.369772 +v 0.061463 0.061181 -0.372487 +v 0.051646 0.061187 -0.374503 +v 0.041573 0.061395 -0.376487 +v 0.031589 0.061461 -0.377818 +v 0.021529 0.061677 -0.379839 +v 0.011606 0.061627 -0.380411 +v -0.360909 0.663695 -0.266378 +v 0.298615 0.797947 -0.292285 +v -0.511212 0.904287 -0.155763 +v -0.511081 0.919087 -0.157954 +v -0.370968 0.663454 -0.262700 +v -0.381292 0.663388 -0.259583 +v -0.391148 0.663084 -0.256648 +v -0.401072 0.662811 -0.252697 +v -0.411012 0.662492 -0.248868 +v 0.329002 0.783737 -0.291806 +v -0.083128 1.259618 -0.205672 +v -0.420728 0.662187 -0.246866 +v -0.430904 0.662128 -0.244711 +v -0.440859 0.661906 -0.242016 +v -0.450917 0.661585 -0.237046 +v -0.270964 0.652330 -0.308530 +v -0.460763 0.661188 -0.232875 +v 0.115410 1.408967 -0.335546 +v -0.013957 1.438087 -0.264679 +v 0.015776 1.408697 -0.285657 +v -0.173692 1.273337 -0.183968 +v -0.208011 0.043548 -0.212885 +v -0.217979 0.043644 -0.214132 +v -0.470911 0.660910 -0.227977 +v -0.480783 0.660446 -0.222662 +v 0.278642 0.797737 -0.290725 +v 0.338709 0.797897 -0.287291 +v -0.491058 0.660017 -0.214071 +v -0.063831 1.260617 -0.207535 +v 0.035549 1.467967 -0.294438 +v -0.241274 0.737777 -0.283996 +v -0.251419 0.737757 -0.282973 +v -0.391508 0.891017 -0.178150 +v -0.241274 0.780337 -0.275750 +v -0.561491 0.917827 -0.132130 +v -0.261355 0.737517 -0.281438 +v -0.351619 0.806917 -0.233038 +v -0.367850 0.038755 -0.171870 +v -0.377832 0.038288 -0.168024 +v -0.387576 0.038052 -0.164937 +v -0.398076 0.037264 -0.159594 +v -0.407857 0.036757 -0.154171 +v -0.418347 0.035632 -0.145350 +v -0.427835 0.034119 -0.131366 +v -0.440720 0.027706 -0.099839 +v -0.447719 0.029430 -0.090813 +v 0.512180 0.048812 -0.097987 +v 0.502204 0.049688 -0.106057 +v 0.492150 0.050250 -0.111469 +v -0.223592 1.272867 -0.151694 +v 0.066219 1.349617 -0.276541 +v 0.006323 1.349467 -0.264671 +v -0.213145 1.198547 -0.138436 +v -0.028202 0.050773 0.439039 +v -0.461300 0.905177 -0.171863 +v 0.411776 0.070241 -0.307956 +v 0.401496 0.070945 -0.312314 +v 0.391703 0.070940 -0.315454 +v 0.381783 0.071093 -0.318163 +v 0.371690 0.071366 -0.320479 +v 0.361687 0.071482 -0.321584 +v 0.351704 0.071550 -0.322964 +v 0.341668 0.071765 -0.325307 +v 0.331671 0.071982 -0.327885 +v 0.321577 0.072166 -0.329876 +v 0.311635 0.072249 -0.331414 +v 0.301620 0.072485 -0.333921 +v 0.291676 0.072590 -0.335679 +v 0.281609 0.072769 -0.337592 +v 0.271612 0.072853 -0.338810 +v 0.261608 0.072915 -0.339939 +v 0.251623 0.073044 -0.341568 +v 0.241640 0.073149 -0.342936 +v 0.231645 0.073221 -0.344201 +v 0.221641 0.073317 -0.345431 +v 0.211634 0.073402 -0.346556 +v 0.201656 0.073335 -0.346865 +v 0.191630 0.073607 -0.348865 +v 0.181659 0.073526 -0.349299 +v 0.171612 0.073630 -0.350304 +v 0.161633 0.073692 -0.351693 +v 0.151601 0.073785 -0.352771 +v 0.141531 0.073902 -0.353809 +v 0.131582 0.074070 -0.356693 +v 0.121621 0.074285 -0.359326 +v 0.111560 0.074523 -0.361690 +v 0.101316 0.074923 -0.364610 +v 0.091625 0.074935 -0.367003 +v 0.081407 0.075323 -0.369952 +v 0.071568 0.075349 -0.371851 +v 0.061593 0.075543 -0.374564 +v 0.051516 0.075797 -0.376596 +v 0.041494 0.075861 -0.377646 +v 0.031550 0.075939 -0.379106 +v 0.021534 0.075999 -0.380344 +v 0.011613 0.075996 -0.380935 +v -0.273397 1.227807 -0.116624 +v -0.513074 0.372369 0.043052 +v -0.271381 0.737307 -0.278850 +v -0.441626 0.775647 -0.196143 +v -0.038488 0.076736 -0.390439 +v -0.048466 0.076877 -0.392652 +v -0.058439 0.076877 -0.392179 +v -0.068487 0.076744 -0.391060 +v -0.441193 0.832197 -0.171228 +v -0.371714 0.834487 -0.202704 +v -0.023766 1.334137 -0.251331 +v -0.108534 0.075399 -0.379477 +v -0.118461 0.074805 -0.374269 +v -0.128488 0.074171 -0.367978 +v -0.277710 0.034023 0.366022 +v -0.281324 0.737067 -0.276170 +v -0.521116 0.904057 -0.150437 +v -0.482164 1.051167 -0.154133 +v -0.392058 0.978857 -0.178229 +v 0.005740 1.408677 -0.280556 +v -0.033411 1.289468 -0.230562 +v -0.208087 0.058119 -0.212928 +v -0.217940 0.058003 -0.212689 +v -0.228046 0.057660 -0.209075 +v -0.291169 0.736777 -0.274442 +v -0.173775 1.288347 -0.185183 +v -0.134322 1.348567 -0.207229 +v -0.570884 0.873457 -0.117892 +v -0.401247 0.861737 -0.178388 +v -0.551015 0.829117 -0.111509 +v -0.297692 0.055685 -0.194248 +v -0.307573 0.055237 -0.191372 +v -0.301194 0.736737 -0.273373 +v -0.562482 1.034847 -0.104709 +v -0.337618 0.054114 -0.180100 +v -0.347201 0.053753 -0.175051 +v -0.511952 0.992167 -0.150120 +v -0.367281 0.052827 -0.169229 +v -0.377510 0.052478 -0.165947 +v -0.387334 0.052079 -0.162856 +v -0.397292 0.051592 -0.158331 +v -0.407502 0.051045 -0.152420 +v -0.417583 0.050101 -0.143410 +v -0.427718 0.048574 -0.130010 +v -0.439240 0.045259 -0.101070 +v -0.447797 0.044074 -0.090860 +v 0.602089 0.062629 -0.083074 +v 0.591749 0.065192 -0.094357 +v 0.581744 0.066033 -0.100838 +v 0.571883 0.065738 -0.103901 +v 0.561941 0.065668 -0.106811 +v 0.552340 0.063362 -0.105790 +v 0.542544 0.062898 -0.109183 +v 0.532269 0.064902 -0.114802 +v 0.522183 0.065770 -0.119852 +v 0.512104 0.065908 -0.119683 +v 0.502059 0.066924 -0.129117 +v -0.441380 0.905417 -0.175675 +v 0.106148 1.349807 -0.289337 +v 0.036234 1.349458 -0.270109 +v -0.280971 0.652114 -0.304833 +v -0.572799 1.005647 -0.107754 +v 0.431385 0.084946 -0.306216 +v 0.421668 0.085008 -0.310462 +v 0.411743 0.085212 -0.314527 +v 0.401863 0.085269 -0.317453 +v 0.391796 0.085566 -0.320038 +v 0.381763 0.085681 -0.321286 +v 0.371687 0.085855 -0.322343 +v 0.361721 0.085807 -0.322477 +v 0.351670 0.085931 -0.323485 +v 0.341619 0.086183 -0.325259 +v 0.331692 0.086135 -0.326011 +v 0.321633 0.086337 -0.328183 +v 0.311578 0.086551 -0.330161 +v 0.301670 0.086540 -0.330859 +v 0.291566 0.086819 -0.333973 +v 0.281578 0.086910 -0.335342 +v 0.271520 0.087086 -0.337440 +v 0.261591 0.087216 -0.339243 +v 0.251556 0.087412 -0.341459 +v 0.241599 0.087495 -0.343050 +v 0.231613 0.087600 -0.344470 +v 0.221601 0.087679 -0.345956 +v 0.211575 0.087902 -0.347847 +v 0.201594 0.087844 -0.348105 +v 0.191577 0.087951 -0.349184 +v 0.181579 0.088036 -0.350419 +v 0.171579 0.088094 -0.351637 +v 0.161614 0.088032 -0.352258 +v 0.151584 0.088139 -0.353209 +v 0.141532 0.088347 -0.355447 +v 0.131578 0.088552 -0.358178 +v 0.121542 0.088754 -0.360643 +v 0.111488 0.089096 -0.364272 +v 0.101500 0.089318 -0.366865 +v 0.091447 0.089528 -0.369127 +v 0.081502 0.089744 -0.371948 +v 0.071481 0.089957 -0.374406 +v 0.061606 0.090068 -0.376363 +v 0.051497 0.090218 -0.378181 +v 0.041487 0.090287 -0.379239 +v 0.031476 0.090365 -0.380317 +v 0.021528 0.090366 -0.380825 +v 0.011518 0.090423 -0.381878 +v 0.001455 0.090555 -0.382990 +v -0.008535 0.090645 -0.384267 +v -0.018541 0.090652 -0.385498 +v -0.028570 0.090779 -0.387720 +v -0.038579 0.090893 -0.389933 +v -0.048514 0.090978 -0.390476 +v -0.058451 0.090862 -0.390211 +v -0.068535 0.090786 -0.388406 +v -0.078659 0.090608 -0.386160 +v -0.088537 0.090191 -0.383249 +v -0.098433 0.089671 -0.379363 +v -0.108047 0.088969 -0.374820 +v -0.118589 0.088487 -0.366796 +v 0.338678 0.783467 -0.289391 +v -0.233728 1.272807 -0.143706 +v -0.392521 1.081427 -0.167468 +v -0.473452 0.368080 0.160919 +v -0.520040 0.378456 0.036234 +v 0.065694 1.408868 -0.307329 +v -0.473247 0.339216 0.062572 +v -0.362220 0.964077 -0.172900 +v -0.208148 0.072414 -0.210434 +v -0.217968 0.072133 -0.208860 +v -0.227981 0.071829 -0.206220 +v -0.237716 0.071391 -0.205091 +v -0.247819 0.071328 -0.204156 +v -0.257915 0.071368 -0.203466 +v -0.267846 0.071013 -0.200823 +v -0.277610 0.070533 -0.197710 +v -0.287754 0.070110 -0.193015 +v -0.297783 0.069716 -0.189271 +v -0.307807 0.069326 -0.185520 +v -0.317542 0.068765 -0.182370 +v -0.327463 0.068461 -0.179660 +v -0.337568 0.068111 -0.176068 +v -0.347540 0.067703 -0.172216 +v -0.357331 0.067393 -0.169149 +v -0.367191 0.066816 -0.166303 +v -0.377462 0.066561 -0.162087 +v -0.387196 0.066103 -0.157937 +v -0.397077 0.065585 -0.154322 +v -0.407083 0.064813 -0.146887 +v -0.416045 0.063168 -0.135807 +v -0.427902 0.060368 -0.104458 +v -0.438093 0.059667 -0.097804 +v -0.447840 0.058312 -0.086859 +v -0.311092 0.736537 -0.272833 +v 0.068768 0.754727 -0.311708 +v 0.641661 0.079123 -0.090863 +v 0.631590 0.080477 -0.099902 +v 0.621620 0.081142 -0.105075 +v 0.611745 0.081012 -0.107998 +v 0.601787 0.081274 -0.112111 +v 0.591858 0.081245 -0.113504 +v 0.581809 0.081628 -0.115967 +v 0.571848 0.081784 -0.118756 +v 0.561959 0.081197 -0.120861 +v 0.552213 0.080158 -0.122014 +v 0.542003 0.081434 -0.126532 +v 0.531892 0.082272 -0.131577 +v 0.521930 0.082541 -0.135771 +v 0.512346 0.082311 -0.140570 +v -0.521885 0.991867 -0.143280 +v -0.342554 0.993137 -0.166278 +v 0.096127 1.349667 -0.285607 +v 0.026321 1.349537 -0.268607 +v -0.243138 1.198427 -0.128844 +v -0.321257 0.736597 -0.270993 +v 0.441662 0.099339 -0.309377 +v 0.431728 0.099721 -0.314539 +v 0.421903 0.099808 -0.318900 +v 0.411741 0.100293 -0.322410 +v 0.401617 0.100768 -0.325855 +v 0.391689 0.100674 -0.327619 +v 0.381612 0.100904 -0.328479 +v 0.371602 0.100800 -0.328618 +v 0.361583 0.100785 -0.328635 +v 0.351555 0.100854 -0.328206 +v 0.341601 0.100543 -0.327653 +v 0.331560 0.100646 -0.328812 +v 0.321568 0.100811 -0.329668 +v 0.311601 0.100911 -0.330853 +v 0.301576 0.100880 -0.330838 +v 0.291619 0.100967 -0.332508 +v 0.281576 0.101185 -0.334447 +v 0.271594 0.101268 -0.335891 +v 0.261527 0.101482 -0.338159 +v 0.251617 0.101544 -0.339763 +v 0.241535 0.101775 -0.341925 +v 0.231570 0.101831 -0.343372 +v 0.221575 0.101883 -0.344812 +v 0.211541 0.101957 -0.345975 +v 0.201514 0.102100 -0.346990 +v 0.191497 0.102289 -0.347516 +v 0.181533 0.102147 -0.348110 +v 0.171575 0.101988 -0.348961 +v 0.161533 0.102306 -0.350730 +v 0.151554 0.102359 -0.352173 +v 0.141614 0.102429 -0.353811 +v 0.131524 0.102776 -0.357042 +v 0.121519 0.103014 -0.359595 +v 0.111608 0.103210 -0.362368 +v 0.101405 0.103529 -0.365391 +v 0.091452 0.103757 -0.368166 +v 0.081496 0.103967 -0.370909 +v 0.071384 0.104217 -0.374042 +v 0.061441 0.104361 -0.375742 +v 0.051493 0.104496 -0.377233 +v 0.041462 0.104523 -0.378205 +v 0.031435 0.104505 -0.379097 +v 0.021468 0.104546 -0.379449 +v 0.011432 0.104579 -0.380515 +v 0.001418 0.104647 -0.381704 +v -0.008565 0.104785 -0.383145 +v -0.018583 0.104842 -0.384362 +v -0.331207 0.736427 -0.269461 +v 0.459193 0.684567 -0.312430 +v 0.449646 0.685017 -0.314068 +v 0.439158 0.684597 -0.313831 +v 0.429128 0.684527 -0.313767 +v 0.419087 0.684487 -0.315874 +v 0.409080 0.684567 -0.317260 +v 0.399075 0.684537 -0.317246 +v 0.389026 0.684567 -0.316224 +v 0.379034 0.684407 -0.314872 +v 0.308664 0.797977 -0.292183 +v -0.471834 1.022067 -0.164884 +v -0.341287 0.736337 -0.267077 +v 0.118822 0.046043 0.423603 +v 0.155650 1.466417 -0.385766 +v 0.055703 1.408807 -0.302331 +v -0.004153 1.408638 -0.275316 +v 0.128608 1.308427 -0.244933 +v -0.291258 0.652089 -0.301710 +v -0.218059 0.086321 -0.205154 +v -0.227946 0.085969 -0.203436 +v -0.237862 0.085604 -0.201641 +v -0.247814 0.085372 -0.200313 +v -0.258018 0.085428 -0.198616 +v -0.267828 0.084844 -0.195534 +v -0.277840 0.084543 -0.191912 +v -0.287652 0.083917 -0.187649 +v -0.297727 0.083596 -0.184017 +v -0.307844 0.083305 -0.180463 +v -0.317681 0.082811 -0.177491 +v -0.327758 0.082514 -0.173918 +v -0.301363 0.651891 -0.299158 +v -0.347679 0.081760 -0.167470 +v -0.357541 0.081323 -0.164642 +v -0.367576 0.080966 -0.160929 +v -0.377523 0.080530 -0.157143 +v -0.387346 0.080002 -0.153296 +v -0.397220 0.079424 -0.148330 +v -0.406870 0.078254 -0.138960 +v -0.419540 0.076170 -0.106608 +v 0.132443 1.306947 -0.242520 +v 0.149938 1.505778 -0.376967 +v -0.501103 0.904557 -0.160536 +v 0.058799 0.754617 -0.311526 +v -0.421553 0.776207 -0.206213 +v 0.647440 0.088098 -0.101016 +v -0.448595 0.064826 -0.082405 +v -0.351459 0.736227 -0.263499 +v 0.651592 0.095408 -0.108514 +v 0.641609 0.096018 -0.113746 +v 0.631883 0.095730 -0.116948 +v 0.621772 0.096569 -0.120441 +v 0.611925 0.096053 -0.122513 +v 0.601838 0.096750 -0.124611 +v 0.591864 0.096799 -0.126029 +v 0.581815 0.097033 -0.127173 +v 0.571732 0.097750 -0.130677 +v 0.561939 0.096736 -0.132085 +v 0.551775 0.097761 -0.136649 +v 0.541627 0.098171 -0.139107 +v 0.531938 0.097720 -0.141290 +v 0.522103 0.097836 -0.145824 +v -0.361449 0.735887 -0.259448 +v 0.298693 0.783437 -0.291869 +v -0.352916 0.041157 0.115136 +v 0.056229 1.349537 -0.274002 +v -0.371564 0.735597 -0.253207 +v 0.451406 0.114312 -0.312940 +v 0.441471 0.114715 -0.318094 +v 0.431588 0.114948 -0.322162 +v 0.421756 0.115128 -0.326424 +v 0.411553 0.115595 -0.329761 +v 0.401439 0.116027 -0.333151 +v 0.391556 0.115964 -0.334968 +v 0.381554 0.115956 -0.336443 +v 0.371492 0.116205 -0.337108 +v 0.361470 0.115902 -0.336236 +v 0.351503 0.116065 -0.335701 +v 0.341501 0.115704 -0.334840 +v 0.331516 0.115675 -0.334841 +v 0.321549 0.115433 -0.335337 +v 0.311550 0.115574 -0.336396 +v 0.301517 0.115779 -0.337304 +v 0.291516 0.115940 -0.338377 +v 0.281576 0.115450 -0.337973 +v 0.271604 0.115592 -0.339159 +v 0.261633 0.115492 -0.339207 +v 0.251541 0.115902 -0.341106 +v 0.241501 0.116338 -0.344666 +v 0.231643 0.116037 -0.346857 +v 0.221595 0.116068 -0.348154 +v 0.211569 0.115988 -0.349783 +v 0.201492 0.116265 -0.350623 +v 0.191466 0.116598 -0.351303 +v 0.181472 0.116086 -0.350974 +v 0.171464 0.116303 -0.351832 +v 0.161507 0.116331 -0.351741 +v 0.151520 0.116582 -0.352564 +v 0.141514 0.116726 -0.353657 +v 0.131539 0.116908 -0.356273 +v 0.121543 0.117150 -0.358786 +v 0.111581 0.117382 -0.361501 +v 0.101503 0.117635 -0.363714 +v 0.091494 0.117879 -0.366104 +v 0.081467 0.118102 -0.368614 +v 0.071415 0.118267 -0.370853 +v 0.061356 0.118356 -0.372873 +v 0.051444 0.118590 -0.373861 +v 0.041409 0.118618 -0.374888 +v 0.031403 0.118620 -0.375845 +v 0.021408 0.118589 -0.375894 +v 0.011395 0.118434 -0.376607 +v 0.001382 0.118423 -0.377645 +v -0.008645 0.118481 -0.378862 +v -0.311261 0.651585 -0.296202 +v -0.381679 0.735227 -0.245712 +v -0.401324 0.776617 -0.215975 +v 0.308686 0.783507 -0.292871 +v -0.401356 0.847427 -0.181697 +v -0.411246 0.847127 -0.177537 +v 0.025829 1.408777 -0.290605 +v -0.481161 0.759767 -0.180056 +v -0.531937 1.020937 -0.133785 +v -0.551771 0.962227 -0.139162 +v -0.471469 0.919737 -0.169854 +v 0.048789 0.754557 -0.310342 +v -0.332169 0.934587 -0.170376 +v -0.433642 0.776897 0.292845 +v -0.391633 0.735007 -0.239401 +v -0.123060 1.259227 -0.199295 +v 0.045754 1.408798 -0.298389 +v -0.401698 0.734577 -0.234434 +v -0.411430 0.734037 -0.230264 +v -0.392000 0.964237 -0.178045 +v -0.218014 0.100405 -0.201201 +v -0.228003 0.100135 -0.199663 +v -0.238004 0.099826 -0.197103 +v -0.247790 0.099348 -0.195286 +v -0.258046 0.099200 -0.191002 +v -0.268013 0.098806 -0.187229 +v -0.277911 0.098334 -0.184426 +v -0.287643 0.097684 -0.181304 +v -0.297826 0.097461 -0.176648 +v -0.307743 0.096976 -0.173802 +v -0.462009 1.036817 -0.163919 +v -0.301133 0.765217 -0.268991 +v -0.321296 0.651156 -0.291095 +v -0.444399 1.189787 -0.524095 +v -0.357635 0.095078 -0.157261 +v -0.367538 0.094514 -0.153398 +v -0.377342 0.093928 -0.149375 +v -0.387462 0.093517 -0.143303 +v -0.580695 0.795007 0.332694 +v -0.409575 0.091118 -0.106774 +v -0.053212 1.258887 -0.207577 +v -0.392268 1.022497 -0.171745 +v -0.024220 1.423367 -0.261345 +v -0.330756 0.650460 -0.283787 +v -0.154066 1.318488 -0.196813 +v -0.341159 0.649999 -0.275742 +v -0.193689 1.273187 -0.172376 +v -0.210757 0.652669 -0.310062 +v 0.682125 0.107560 -0.094610 +v 0.671987 0.109134 -0.108016 +v 0.661445 0.111094 -0.117851 +v 0.651515 0.111567 -0.123219 +v 0.641587 0.111988 -0.127137 +v 0.631709 0.111891 -0.128806 +v 0.621720 0.112348 -0.131190 +v 0.611773 0.112274 -0.132784 +v 0.601755 0.112664 -0.135140 +v 0.591703 0.112852 -0.136296 +v 0.581648 0.113096 -0.138883 +v 0.571727 0.112891 -0.140795 +v 0.561410 0.114387 -0.144473 +v 0.551641 0.113343 -0.144738 +v 0.541800 0.113008 -0.146817 +v 0.532305 0.112411 -0.149228 +v -0.401645 0.920317 -0.179325 +v -0.461549 0.789147 -0.179425 +v -0.061650 0.051814 0.413941 +v -0.381299 0.035423 0.168161 +v 0.086134 1.349617 -0.281830 +v -0.323144 1.051297 -0.151006 +v -0.332800 1.051487 -0.154193 +v 0.451427 0.129010 -0.316909 +v 0.441430 0.129465 -0.322014 +v 0.431595 0.129727 -0.326128 +v 0.421599 0.130018 -0.330044 +v 0.411430 0.130564 -0.334639 +v 0.401513 0.130693 -0.337438 +v 0.391620 0.130588 -0.339275 +v 0.381436 0.131005 -0.341043 +v 0.371436 0.130910 -0.341136 +v 0.361419 0.130888 -0.341028 +v 0.351416 0.130905 -0.340864 +v 0.341422 0.130759 -0.341027 +v 0.331480 0.130511 -0.342845 +v 0.321473 0.130758 -0.345212 +v 0.311515 0.130679 -0.348021 +v 0.301551 0.130318 -0.348267 +v 0.291429 0.131173 -0.351428 +v 0.281411 0.131277 -0.352610 +v 0.271485 0.130842 -0.353048 +v 0.261520 0.130539 -0.353343 +v 0.251374 0.132323 -0.359711 +v 0.241436 0.132332 -0.363799 +v 0.231374 0.132903 -0.368705 +v 0.221300 0.133635 -0.372095 +v 0.211328 0.133595 -0.374880 +v 0.201339 0.133347 -0.375092 +v 0.191340 0.133630 -0.376091 +v 0.181363 0.133806 -0.375833 +v 0.171342 0.133031 -0.372398 +v 0.161338 0.132995 -0.370976 +v 0.151363 0.132994 -0.370904 +v 0.141347 0.132457 -0.368715 +v 0.131356 0.132698 -0.369740 +v 0.121382 0.132183 -0.369160 +v 0.111343 0.132284 -0.369058 +v 0.101369 0.132246 -0.367778 +v 0.091366 0.132304 -0.367371 +v 0.081387 0.132187 -0.366391 +v 0.071332 0.132180 -0.366569 +v 0.061378 0.132319 -0.368275 +v 0.051366 0.132456 -0.369656 +v 0.041359 0.132422 -0.370573 +v 0.031346 0.132478 -0.370802 +v 0.021378 0.132330 -0.370636 +v 0.011378 0.132081 -0.370259 +v 0.001368 0.132150 -0.370431 +v -0.008654 0.132069 -0.370423 +v -0.018630 0.131914 -0.370317 +v -0.421437 0.733747 -0.225133 +v -0.431413 0.733297 -0.220024 +v -0.441458 0.733087 -0.214933 +v -0.203099 1.228567 -0.157880 +v -0.342188 0.949337 -0.170576 +v 0.145833 1.379627 -0.335322 +v -0.375881 0.293334 0.122861 +v 0.039059 0.683697 -0.330020 +v -0.022694 1.288638 -0.229402 +v -0.075943 0.049864 0.395173 +v -0.476794 0.826917 0.420023 +v -0.450968 0.383401 0.222396 +v 0.029040 0.683667 -0.329151 +v -0.638348 0.840217 0.337098 +v 0.105505 1.408978 -0.329057 +v 0.019035 0.683627 -0.329110 +v -0.188549 0.115747 -0.203560 +v -0.198066 0.115038 -0.201411 +v -0.208090 0.114771 -0.198812 +v -0.217886 0.114272 -0.196829 +v -0.227931 0.114068 -0.194399 +v -0.238005 0.113772 -0.190872 +v -0.247730 0.113106 -0.187733 +v -0.257860 0.112758 -0.183025 +v -0.268009 0.112548 -0.179539 +v -0.277912 0.112023 -0.175569 +v 0.009017 0.683507 -0.327991 +v -0.001005 0.683397 -0.326734 +v -0.010926 0.683247 -0.325231 +v -0.321498 0.793427 -0.251984 +v -0.213416 1.257967 -0.159368 +v -0.571522 0.902837 -0.126892 +v -0.593564 0.802687 0.341463 +v -0.020930 0.683057 -0.322703 +v -0.030919 0.682847 -0.320106 +v -0.040977 0.682687 -0.317764 +v -0.050919 0.682517 -0.316251 +v -0.060956 0.682447 -0.315163 +v -0.070973 0.682427 -0.315173 +v -0.081008 0.682347 -0.314053 +v 0.025780 1.438358 -0.291722 +v -0.090989 0.682217 -0.312695 +v -0.100948 0.682037 -0.311197 +v -0.111032 0.681977 -0.309089 +v 0.712346 0.120614 -0.084267 +v 0.702679 0.120618 -0.090080 +v 0.691866 0.123643 -0.105340 +v 0.680970 0.126615 -0.118546 +v 0.671306 0.126721 -0.125748 +v 0.661234 0.127418 -0.130787 +v 0.651486 0.127304 -0.133942 +v 0.641552 0.127476 -0.136640 +v 0.631676 0.127417 -0.138356 +v 0.621673 0.128016 -0.141875 +v 0.611673 0.128130 -0.143092 +v 0.601657 0.128250 -0.144326 +v 0.591610 0.128361 -0.145577 +v 0.581604 0.128334 -0.147261 +v 0.571681 0.128287 -0.149095 +v 0.561256 0.129175 -0.150430 +v 0.551857 0.127897 -0.151394 +v 0.542400 0.127282 -0.155089 +v 0.534305 0.124687 -0.159542 +v -0.471247 0.788577 -0.173866 +v 0.160636 1.442727 -0.381985 +v -0.121018 0.681837 -0.307754 +v -0.130967 0.681697 -0.306460 +v -0.351155 0.649702 -0.270868 +v 0.460967 0.142826 -0.308859 +v 0.451172 0.143455 -0.316690 +v 0.441386 0.143977 -0.323328 +v 0.431514 0.144387 -0.328634 +v 0.421211 0.144948 -0.333042 +v 0.411555 0.144957 -0.336440 +v 0.401673 0.145036 -0.339360 +v 0.391485 0.145285 -0.341535 +v 0.381437 0.145310 -0.342751 +v 0.371439 0.145244 -0.344272 +v 0.361417 0.145423 -0.346726 +v 0.351435 0.145377 -0.348127 +v 0.341456 0.145470 -0.349305 +v 0.331445 0.146120 -0.353986 +v 0.321413 0.146741 -0.360180 +v 0.311440 0.147133 -0.365323 +v 0.301405 0.147615 -0.370280 +v 0.291334 0.147769 -0.372792 +v 0.281316 0.147859 -0.374044 +v 0.271286 0.148210 -0.376362 +v 0.261302 0.148224 -0.377702 +v 0.251254 0.148578 -0.378642 +v 0.241303 0.148286 -0.380316 +v 0.231286 0.148697 -0.384059 +v 0.221245 0.149138 -0.386172 +v 0.211242 0.148875 -0.386546 +v 0.201260 0.148706 -0.386812 +v 0.191229 0.148997 -0.389132 +v 0.181233 0.148919 -0.387650 +v 0.171215 0.148414 -0.385434 +v 0.161225 0.148440 -0.385284 +v 0.151249 0.148435 -0.385192 +v 0.141208 0.148364 -0.385228 +v 0.131237 0.148536 -0.384898 +v 0.121230 0.148231 -0.383836 +v 0.111242 0.147969 -0.381269 +v 0.101254 0.147724 -0.378646 +v 0.091218 0.147401 -0.376246 +v 0.081214 0.147161 -0.373760 +v 0.071212 0.146818 -0.370469 +v 0.061115 0.146606 -0.368280 +v 0.051219 0.146491 -0.366323 +v 0.041420 0.146250 -0.365118 +v 0.031343 0.146120 -0.364240 +v 0.021253 0.146029 -0.362136 +v 0.011370 0.145566 -0.360318 +v 0.001360 0.145484 -0.360305 +v -0.008665 0.145357 -0.359111 +v -0.018662 0.145338 -0.359138 +v -0.140878 0.681389 -0.304513 +v -0.384675 1.407467 -0.693279 +v -0.150919 0.681372 -0.303648 +v -0.471980 1.065987 -0.157268 +v -0.160895 0.681334 -0.303753 +v -0.113160 1.289187 -0.217071 +v -0.083372 1.289288 -0.223951 +v -0.053365 1.289468 -0.227765 +v -0.170896 0.681316 -0.303878 +v -0.268796 0.043620 0.377082 +v -0.384846 1.392397 -0.690405 +v -0.513810 0.400143 0.142227 +v -0.073191 1.259367 -0.206116 +v 0.146131 1.408587 -0.357298 +v -0.180875 0.681285 -0.304774 +v -0.179563 0.130830 -0.201906 +v -0.188308 0.129570 -0.199237 +v -0.197952 0.129085 -0.197276 +v -0.208079 0.128793 -0.193545 +v -0.217967 0.128365 -0.190666 +v -0.228059 0.128215 -0.188444 +v -0.238211 0.127825 -0.183693 +v -0.247947 0.127165 -0.179438 +v -0.257947 0.126631 -0.174408 +v -0.267846 0.126051 -0.170398 +v -0.277837 0.125604 -0.166555 +v -0.190880 0.681325 -0.305280 +v -0.200899 0.681363 -0.306424 +v -0.482022 1.022027 -0.161668 +v -0.210894 0.681357 -0.307449 +v -0.220907 0.681338 -0.308405 +v -0.471872 0.992877 -0.167810 +v -0.104338 1.363657 -0.223676 +v -0.230946 0.681555 -0.308358 +v -0.240969 0.681405 -0.308873 +v -0.492810 0.359572 0.040718 +v -0.434919 0.357487 0.195621 +v -0.263546 1.257517 -0.121905 +v 0.075275 1.453297 -0.323997 +v 0.045691 1.438468 -0.303292 +v -0.251040 0.681330 -0.307669 +v -0.113990 1.318758 -0.221066 +v -0.261060 0.681150 -0.306253 +v 0.731932 0.137340 -0.096092 +v 0.721632 0.139125 -0.107895 +v 0.711211 0.140711 -0.116665 +v 0.701307 0.141302 -0.123290 +v 0.691471 0.141541 -0.128856 +v 0.681511 0.141646 -0.131661 +v 0.671299 0.142432 -0.134921 +v 0.661474 0.142325 -0.138029 +v 0.651490 0.142735 -0.141958 +v 0.641521 0.142915 -0.144694 +v 0.631571 0.143408 -0.148312 +v 0.621644 0.143367 -0.149889 +v 0.611609 0.143360 -0.149633 +v 0.601556 0.143379 -0.149324 +v 0.591451 0.143573 -0.150520 +v 0.581414 0.143551 -0.152413 +v -0.271184 0.681036 -0.303860 +v 0.561809 0.143070 -0.156576 +v 0.553043 0.141532 -0.160314 +v 0.546097 0.138017 -0.161476 +v -0.281212 0.680757 -0.299980 +v -0.291258 0.680373 -0.293661 +v -0.301277 0.679966 -0.287413 +v -0.311142 0.679584 -0.283407 +v 0.491573 0.155243 -0.289399 +v 0.481617 0.155804 -0.295816 +v 0.471635 0.156393 -0.302200 +v 0.461231 0.157231 -0.309316 +v 0.450870 0.157819 -0.316371 +v 0.441291 0.158519 -0.324586 +v 0.431500 0.158868 -0.329983 +v 0.421635 0.159291 -0.336368 +v 0.411826 0.159476 -0.342164 +v 0.401663 0.160002 -0.348254 +v 0.391260 0.161006 -0.353761 +v 0.381270 0.161314 -0.357526 +v 0.371269 0.161472 -0.360102 +v 0.361354 0.161169 -0.360562 +v 0.351334 0.161340 -0.361647 +v 0.341285 0.161524 -0.362693 +v 0.331279 0.161862 -0.366406 +v 0.321111 0.162761 -0.373582 +v 0.311197 0.162930 -0.377623 +v 0.301071 0.163489 -0.382353 +v 0.291301 0.163336 -0.384264 +v 0.281205 0.163639 -0.386466 +v 0.271186 0.163807 -0.389062 +v 0.261197 0.163834 -0.390384 +v 0.251159 0.163930 -0.390098 +v 0.241206 0.163694 -0.390544 +v 0.230931 0.163476 -0.391178 +v 0.221172 0.163983 -0.392607 +v 0.211187 0.163811 -0.393010 +v 0.201182 0.164049 -0.393846 +v 0.191136 0.163557 -0.393333 +v 0.181159 0.163768 -0.394218 +v 0.171125 0.163391 -0.393331 +v 0.161155 0.163478 -0.393015 +v 0.151157 0.163520 -0.392825 +v 0.141167 0.163522 -0.392730 +v 0.131123 0.163356 -0.392942 +v 0.121120 0.163350 -0.392847 +v 0.111113 0.163029 -0.390369 +v 0.101115 0.162836 -0.387621 +v 0.091035 0.162431 -0.385373 +v 0.081043 0.162199 -0.382726 +v 0.071062 0.161953 -0.380172 +v 0.060970 0.161435 -0.375454 +v 0.051108 0.161249 -0.370995 +v 0.041290 0.160672 -0.365888 +v 0.031269 0.160286 -0.361867 +v 0.021078 0.159922 -0.357247 +v 0.011815 0.158980 -0.352997 +v 0.001849 0.158752 -0.348249 +v -0.008512 0.158299 -0.346187 +v -0.018457 0.157743 -0.344695 +v -0.321225 0.679282 -0.279836 +v -0.291431 0.794047 -0.262100 +v -0.462178 1.066117 -0.159069 +v -0.213790 1.287977 -0.158355 +v -0.143688 1.288618 -0.201632 +v 0.055962 1.394107 -0.296850 +v -0.014093 1.393767 -0.270241 +v -0.064003 1.393467 -0.243376 +v -0.441272 0.876197 -0.174513 +v -0.514562 0.785847 0.355049 +v -0.361163 0.649560 -0.268519 +v -0.071156 0.752837 -0.289633 +v -0.481172 0.773947 -0.173725 +v -0.331161 0.679006 -0.277235 +v -0.168721 0.144773 -0.202285 +v -0.178176 0.143915 -0.197676 +v -0.187988 0.143486 -0.194716 +v -0.197960 0.143163 -0.191926 +v -0.208102 0.143001 -0.189638 +v -0.218092 0.142573 -0.185845 +v -0.228190 0.142297 -0.182359 +v -0.238065 0.141849 -0.178389 +v -0.247957 0.141223 -0.173100 +v -0.257797 0.140583 -0.167845 +v -0.267894 0.140077 -0.162909 +v -0.277885 0.139508 -0.157857 +v -0.341226 0.678752 -0.274798 +v -0.580979 0.857907 -0.100694 +v -0.521380 0.918707 -0.150886 +v -0.350979 0.678557 -0.272845 +v -0.361134 0.678290 -0.269384 +v -0.272776 1.094767 -0.102894 +v -0.282623 1.094867 -0.109820 +v -0.342245 0.328525 0.222659 +v -0.153568 1.258397 -0.187858 +v -0.183631 1.258217 -0.176378 +v -0.173413 1.258387 -0.181167 +v 0.115549 1.438738 -0.350363 +v 0.065686 1.438517 -0.315956 +v -0.073581 1.319107 -0.236870 +v -0.093637 1.318938 -0.230640 +v -0.370766 0.677984 -0.264670 +v 0.742131 0.152727 -0.105962 +v -0.371141 0.649462 -0.267090 +v 0.721336 0.156051 -0.127826 +v 0.711230 0.156936 -0.134166 +v 0.701455 0.156925 -0.137240 +v 0.691461 0.157207 -0.139764 +v 0.681498 0.157256 -0.141159 +v 0.671550 0.157260 -0.142631 +v 0.661455 0.157774 -0.146257 +v 0.651460 0.158038 -0.148630 +v 0.641489 0.158310 -0.150782 +v 0.631531 0.158326 -0.151954 +v 0.621614 0.158131 -0.152335 +v 0.611589 0.158078 -0.152351 +v 0.601385 0.158254 -0.151425 +v 0.591475 0.157847 -0.151782 +v 0.580935 0.158909 -0.157021 +v -0.380905 0.677647 -0.259897 +v -0.390820 0.677283 -0.254610 +v -0.501938 1.007017 -0.155210 +v 0.532032 0.167766 -0.272126 +v 0.521417 0.169533 -0.285618 +v 0.511473 0.170237 -0.294583 +v 0.501045 0.171509 -0.302843 +v 0.491507 0.171245 -0.307334 +v 0.481530 0.171615 -0.312506 +v 0.471452 0.172157 -0.317400 +v 0.461576 0.172250 -0.320113 +v 0.451434 0.172840 -0.324967 +v 0.441250 0.173537 -0.330942 +v 0.431504 0.173788 -0.337801 +v 0.421250 0.175005 -0.348796 +v 0.411311 0.175620 -0.356537 +v 0.401207 0.176132 -0.361392 +v 0.391340 0.176156 -0.364285 +v 0.381360 0.176248 -0.367012 +v 0.371223 0.176692 -0.370491 +v 0.361264 0.176624 -0.372009 +v 0.351264 0.176633 -0.371913 +v 0.341269 0.176620 -0.371841 +v 0.331327 0.176717 -0.373164 +v 0.321290 0.177097 -0.376809 +v 0.310910 0.177900 -0.382017 +v 0.301044 0.178230 -0.387458 +v 0.291199 0.178329 -0.390619 +v 0.281154 0.178524 -0.393031 +v 0.271162 0.178695 -0.395659 +v 0.261093 0.178823 -0.396486 +v 0.251111 0.178761 -0.396619 +v 0.241088 0.178899 -0.397561 +v 0.231147 0.178490 -0.397182 +v 0.221127 0.178529 -0.396888 +v 0.211120 0.178427 -0.397055 +v 0.201145 0.178200 -0.397461 +v 0.191134 0.178358 -0.398417 +v 0.181090 0.178606 -0.399221 +v 0.171091 0.178744 -0.400277 +v 0.161088 0.178571 -0.400532 +v 0.151061 0.178258 -0.399505 +v 0.141105 0.178555 -0.400378 +v 0.131090 0.178656 -0.401540 +v 0.121086 0.178709 -0.401366 +v 0.111063 0.178262 -0.399126 +v 0.100874 0.177592 -0.395820 +v 0.090871 0.177367 -0.393166 +v 0.080927 0.177215 -0.390398 +v 0.070955 0.176871 -0.386514 +v 0.061030 0.176569 -0.382513 +v 0.050811 0.175824 -0.376597 +v 0.040974 0.175463 -0.371233 +v 0.031014 0.174907 -0.364681 +v 0.020943 0.174290 -0.358553 +v 0.010997 0.173701 -0.352117 +v 0.001411 0.172791 -0.343862 +v -0.008473 0.170112 -0.335680 +v -0.017978 0.170527 -0.328000 +v -0.400842 0.676961 -0.249594 +v -0.491051 0.890137 -0.164215 +v -0.395048 1.291557 -0.664152 +v 0.076216 1.349687 -0.279082 +v -0.566565 0.783827 0.291438 +v -0.081185 0.753187 -0.291654 +v -0.091157 0.752917 -0.292156 +v -0.410881 0.676694 -0.245831 +v -0.305040 0.283756 -0.111452 +v -0.311850 0.277357 -0.092091 +v -0.381085 0.649320 -0.265569 +v -0.388236 0.308836 -0.116867 +v -0.420879 0.676480 -0.242082 +v -0.430900 0.676310 -0.239612 +v -0.168037 0.158613 -0.199833 +v -0.178237 0.158315 -0.195124 +v -0.188074 0.157879 -0.192061 +v -0.198020 0.157497 -0.188167 +v -0.208006 0.157167 -0.185514 +v -0.218103 0.156967 -0.183252 +v -0.228054 0.156577 -0.179482 +v -0.238071 0.156109 -0.174558 +v -0.248086 0.155522 -0.168322 +v -0.257795 0.154796 -0.162834 +v -0.267598 0.154120 -0.157540 +v -0.440815 0.676000 -0.236813 +v -0.411502 0.776477 -0.211248 +v -0.450951 0.675772 -0.231981 +v -0.133047 1.244237 -0.188083 +v -0.163588 1.273477 -0.188854 +v -0.496559 0.381729 0.144314 +v -0.321827 0.039294 0.369232 +v -0.458009 0.779097 0.319787 +v -0.093413 1.289127 -0.221589 +v -0.461986 1.022258 -0.166522 +v -0.421319 0.876377 -0.176904 +v 0.145393 1.438718 -0.372527 +v -0.033524 1.319397 -0.244367 +v -0.053487 1.319318 -0.240432 +v -0.461038 0.675447 -0.226991 +v -0.551599 0.947547 -0.140239 +v -0.471159 0.675162 -0.222035 +v 0.741010 0.170750 -0.126259 +v 0.730991 0.171581 -0.134140 +v 0.721189 0.171787 -0.138467 +v 0.711202 0.172228 -0.142365 +v 0.701422 0.172244 -0.145509 +v 0.691502 0.172402 -0.148405 +v 0.681376 0.173108 -0.151411 +v 0.670722 0.173442 -0.152449 +v 0.661562 0.172907 -0.153083 +v 0.651571 0.173051 -0.153720 +v 0.641570 0.173007 -0.153378 +v 0.631528 0.172872 -0.153709 +v 0.621517 0.172944 -0.154870 +v 0.611237 0.173238 -0.155156 +v 0.601411 0.172815 -0.154026 +v 0.591494 0.172675 -0.156199 +v 0.581613 0.173099 -0.162842 +v -0.481207 0.674745 -0.215635 +v -0.562621 1.005857 -0.115738 +v -0.462658 1.095397 -0.162529 +v -0.491347 0.674261 -0.208102 +v -0.500872 0.673487 -0.199865 +v 0.521435 0.185253 -0.299735 +v 0.511530 0.185885 -0.307423 +v 0.501349 0.186572 -0.314845 +v 0.491305 0.187085 -0.321122 +v 0.481575 0.187140 -0.326688 +v 0.471263 0.188123 -0.333798 +v 0.461480 0.187894 -0.336807 +v 0.451333 0.188544 -0.341584 +v 0.441301 0.188845 -0.344037 +v 0.431144 0.189486 -0.348741 +v 0.421233 0.189907 -0.355269 +v 0.411207 0.190346 -0.360367 +v 0.401354 0.190534 -0.364497 +v 0.391213 0.190964 -0.367973 +v 0.381175 0.191275 -0.371725 +v 0.371192 0.191521 -0.375588 +v 0.361276 0.191560 -0.378546 +v 0.351257 0.191511 -0.379996 +v 0.341159 0.191776 -0.380774 +v 0.331105 0.192008 -0.381680 +v 0.320413 0.191820 -0.381590 +v 0.311187 0.192019 -0.383220 +v 0.301096 0.192500 -0.387941 +v 0.291033 0.192813 -0.391512 +v 0.281050 0.192988 -0.394153 +v 0.271123 0.193053 -0.395733 +v 0.261025 0.193269 -0.397739 +v 0.251066 0.193294 -0.399339 +v 0.241067 0.193369 -0.400532 +v 0.231088 0.193440 -0.401760 +v 0.221905 0.193539 -0.403261 +v 0.211101 0.193456 -0.404682 +v 0.201125 0.193411 -0.406108 +v 0.191128 0.193485 -0.407349 +v 0.181089 0.193582 -0.408500 +v 0.171046 0.193655 -0.409633 +v 0.160976 0.193323 -0.410141 +v 0.150943 0.193147 -0.408906 +v 0.140958 0.193196 -0.407157 +v 0.130967 0.193203 -0.407049 +v 0.121008 0.193526 -0.407867 +v 0.110861 0.193029 -0.407238 +v 0.100793 0.192763 -0.404653 +v 0.090831 0.192586 -0.401906 +v 0.080691 0.192000 -0.397055 +v 0.070825 0.191775 -0.392906 +v 0.060920 0.191361 -0.387620 +v 0.051006 0.190933 -0.382397 +v 0.041009 0.190304 -0.376114 +v 0.031027 0.189684 -0.369711 +v 0.021048 0.189054 -0.363329 +v 0.011113 0.188367 -0.355660 +v 0.001265 0.187461 -0.346776 +v -0.008901 0.186015 -0.330309 +v -0.451472 0.732747 -0.209807 +v -0.441744 0.949557 -0.178843 +v -0.014023 1.378917 -0.269063 +v 0.025826 1.423588 -0.291756 +v -0.101182 0.752957 -0.291317 +v -0.111212 0.752877 -0.290124 +v -0.411400 0.876387 -0.177376 +v -0.088543 0.175112 -0.214788 +v -0.098540 0.174972 -0.213465 +v -0.108557 0.174451 -0.208404 +v -0.118546 0.174171 -0.205861 +v -0.128529 0.174024 -0.204575 +v -0.390951 0.648976 -0.262634 +v -0.148324 0.173436 -0.201442 +v -0.158151 0.173178 -0.199821 +v -0.168202 0.173060 -0.197351 +v -0.178237 0.172877 -0.194913 +v -0.188240 0.172508 -0.191148 +v -0.198104 0.172054 -0.186966 +v -0.208092 0.171621 -0.183119 +v -0.218155 0.171410 -0.180867 +v -0.228386 0.171157 -0.177454 +v -0.238192 0.170544 -0.172151 +v -0.248083 0.169888 -0.165730 +v -0.257923 0.169210 -0.159255 +v -0.267899 0.168560 -0.152987 +v -0.431534 0.920167 -0.177020 +v -0.322378 0.934357 -0.167385 +v -0.213515 1.272948 -0.159387 +v -0.053269 1.274557 -0.218764 +v -0.063304 1.274388 -0.217680 +v 0.065590 1.423687 -0.312405 +v 0.045555 1.423617 -0.301113 +v 0.015709 1.423507 -0.285583 +v -0.121164 0.752697 -0.289689 +v 0.016450 1.319527 -0.248516 +v -0.013505 1.319567 -0.246895 +v -0.405292 1.463977 -0.684807 +v -0.153808 1.303507 -0.197799 +v -0.253850 1.257597 -0.129146 +v -0.043882 1.423107 -0.248147 +v 0.750854 0.185173 -0.127485 +v 0.741160 0.185481 -0.133272 +v 0.731217 0.185949 -0.138678 +v 0.720998 0.186622 -0.143451 +v 0.711073 0.186987 -0.147468 +v 0.701182 0.187432 -0.152782 +v 0.691239 0.187733 -0.156273 +v 0.681394 0.187578 -0.156709 +v 0.671468 0.187504 -0.156603 +v 0.661561 0.187412 -0.156306 +v 0.651557 0.187202 -0.155407 +v 0.641543 0.187163 -0.155288 +v 0.631474 0.187114 -0.155329 +v 0.621175 0.187591 -0.156494 +v 0.611206 0.187218 -0.155242 +v 0.601182 0.187440 -0.158152 +v 0.591592 0.187501 -0.164166 +v -0.371640 0.848407 -0.192533 +v -0.442896 1.095137 -0.170781 +v -0.213158 1.228387 -0.152819 +v -0.643665 0.839267 0.157349 +v -0.361638 0.806617 -0.227957 +v 0.530893 0.199654 -0.299171 +v 0.521166 0.200119 -0.305833 +v 0.511429 0.200552 -0.312475 +v 0.501823 0.200958 -0.320519 +v 0.491804 0.201702 -0.330743 +v 0.481154 0.203103 -0.341338 +v 0.471337 0.203261 -0.346813 +v 0.461432 0.203347 -0.350982 +v 0.451327 0.203690 -0.354713 +v 0.441243 0.204077 -0.356963 +v 0.431265 0.204134 -0.358287 +v 0.421037 0.204329 -0.361090 +v 0.411167 0.204805 -0.364305 +v 0.401217 0.205060 -0.368240 +v 0.391221 0.205412 -0.373399 +v 0.381307 0.205703 -0.377395 +v 0.371201 0.206028 -0.380960 +v 0.361187 0.206303 -0.384848 +v 0.351140 0.206180 -0.386584 +v 0.341035 0.206690 -0.388226 +v 0.331047 0.206552 -0.388562 +v 0.321032 0.206523 -0.386876 +v 0.311163 0.206224 -0.386533 +v 0.301074 0.206512 -0.388490 +v 0.291052 0.206786 -0.390609 +v 0.281040 0.206860 -0.391841 +v 0.270965 0.207062 -0.393967 +v 0.261019 0.207224 -0.396832 +v 0.251082 0.207373 -0.399635 +v 0.240996 0.207721 -0.403096 +v 0.231086 0.207786 -0.406014 +v 0.221044 0.207986 -0.408461 +v 0.211099 0.208318 -0.412245 +v 0.201072 0.208533 -0.414816 +v 0.190932 0.208924 -0.417972 +v 0.181195 0.208771 -0.420248 +v 0.171039 0.208915 -0.421434 +v 0.161017 0.209063 -0.422425 +v 0.150846 0.208806 -0.421205 +v 0.140879 0.208371 -0.417215 +v 0.130861 0.208068 -0.414644 +v 0.120834 0.208000 -0.414705 +v 0.110813 0.207916 -0.414691 +v 0.100767 0.207606 -0.412242 +v 0.090754 0.207274 -0.408288 +v 0.080798 0.206981 -0.404303 +v 0.070763 0.206480 -0.399240 +v 0.060884 0.206070 -0.393940 +v 0.050785 0.205296 -0.386482 +v 0.040855 0.204706 -0.380012 +v 0.030951 0.204148 -0.373584 +v 0.020993 0.203542 -0.367128 +v 0.011073 0.202843 -0.359445 +v -0.461435 0.919857 -0.172125 +v 0.085507 1.453357 -0.332596 +v -0.457065 0.360848 0.170664 +v 0.075897 1.379227 -0.295932 +v -0.516000 0.390300 0.115042 +v -0.404748 1.262697 -0.639771 +v -0.058629 0.188555 -0.204690 +v -0.068602 0.187856 -0.197068 +v -0.078564 0.187793 -0.197058 +v -0.088580 0.187863 -0.198305 +v -0.098599 0.187693 -0.197031 +v -0.108590 0.187793 -0.198273 +v -0.118573 0.187843 -0.199524 +v -0.128589 0.187810 -0.199512 +v -0.138596 0.187862 -0.200762 +v -0.148593 0.187709 -0.199482 +v -0.158379 0.187539 -0.198645 +v -0.168306 0.187429 -0.197227 +v -0.178448 0.187253 -0.194952 +v -0.188436 0.186861 -0.191401 +v -0.198182 0.186348 -0.186144 +v -0.208134 0.185891 -0.181873 +v -0.218129 0.185572 -0.179371 +v -0.228188 0.185224 -0.175802 +v -0.238204 0.184715 -0.170851 +v -0.248423 0.184060 -0.163649 +v -0.257985 0.183433 -0.158026 +v -0.267869 0.182661 -0.150416 +v -0.461410 0.732357 -0.204581 +v -0.441560 0.934827 -0.177006 +v 0.015687 1.467907 -0.277712 +v -0.083198 1.274597 -0.215820 +v 0.085720 1.423827 -0.323678 +v -0.131187 0.752677 -0.289803 +v -0.141159 0.752577 -0.290706 +v 0.036396 1.319527 -0.249936 +v -0.381460 0.847957 -0.189542 +v -0.395071 1.449497 -0.690527 +v -0.151174 0.752667 -0.290987 +v -0.471263 0.731807 -0.198005 +v 0.770728 0.198755 -0.119454 +v -0.400890 0.648589 -0.257400 +v 0.750792 0.200102 -0.134050 +v 0.740747 0.200546 -0.139028 +v 0.731000 0.200830 -0.143531 +v 0.720869 0.201363 -0.148465 +v 0.711049 0.201580 -0.152571 +v 0.701085 0.201856 -0.156053 +v 0.691252 0.201835 -0.157651 +v 0.681381 0.201754 -0.158037 +v 0.671494 0.201650 -0.157892 +v 0.661548 0.201572 -0.157560 +v 0.651493 0.201432 -0.156508 +v 0.641366 0.201462 -0.156121 +v 0.631050 0.201642 -0.155738 +v 0.620717 0.201966 -0.156961 +v 0.611191 0.201654 -0.158467 +v 0.602365 0.201452 -0.166268 +v -0.033658 1.334237 -0.249651 +v -0.394276 1.335377 -0.675592 +v -0.371828 0.934997 -0.177479 +v -0.084290 1.393497 -0.229829 +v 0.348923 0.783597 -0.286539 +v -0.282728 0.356496 0.281336 +v 0.531199 0.213628 -0.298342 +v 0.520294 0.214546 -0.306261 +v 0.511367 0.214960 -0.315011 +v 0.501590 0.216038 -0.329108 +v 0.490943 0.217600 -0.343709 +v 0.480974 0.218240 -0.351382 +v 0.471055 0.218597 -0.356560 +v 0.461173 0.218958 -0.362011 +v 0.451279 0.218965 -0.365072 +v 0.441228 0.219132 -0.367552 +v 0.431145 0.219262 -0.368543 +v 0.421063 0.219440 -0.369405 +v 0.411032 0.219679 -0.371792 +v 0.401380 0.219612 -0.374904 +v 0.390206 0.220284 -0.380290 +v 0.381248 0.220374 -0.383760 +v 0.371163 0.220782 -0.387242 +v 0.361175 0.220935 -0.390177 +v 0.351057 0.221152 -0.392429 +v 0.340990 0.221224 -0.393705 +v 0.330940 0.221246 -0.393385 +v 0.320952 0.220879 -0.391229 +v 0.311009 0.220627 -0.390188 +v 0.300940 0.221153 -0.393154 +v 0.290943 0.221356 -0.395614 +v 0.281004 0.221262 -0.395857 +v 0.271038 0.221162 -0.396112 +v 0.260950 0.221553 -0.399388 +v 0.251024 0.221787 -0.403523 +v 0.241039 0.222133 -0.408599 +v 0.230979 0.222518 -0.412167 +v 0.221038 0.222532 -0.413718 +v 0.210940 0.222806 -0.415865 +v 0.200909 0.223002 -0.418255 +v 0.190945 0.223140 -0.421025 +v 0.180983 0.223323 -0.423739 +v 0.170891 0.223555 -0.425917 +v 0.160893 0.223397 -0.426402 +v 0.150821 0.223390 -0.426190 +v 0.140830 0.223273 -0.424637 +v 0.130807 0.222889 -0.422282 +v 0.120779 0.222832 -0.422247 +v 0.110846 0.222946 -0.421863 +v 0.100603 0.222180 -0.418862 +v 0.090870 0.222302 -0.415454 +v 0.080785 0.221726 -0.410543 +v 0.070736 0.221182 -0.405537 +v 0.060695 0.220552 -0.399229 +v 0.050805 0.220028 -0.392723 +v 0.040944 0.219495 -0.386177 +v 0.030892 0.218740 -0.378610 +v 0.020877 0.217987 -0.371047 +v 0.278714 0.783357 -0.290765 +v -0.332562 0.978497 -0.163690 +v 0.045557 1.468007 -0.302052 +v 0.047202 0.035970 0.434445 +v 0.065903 1.379137 -0.292198 +v 0.125447 1.409087 -0.343056 +v -0.491953 1.021807 -0.157707 +v -0.058669 0.202114 -0.197097 +v -0.068611 0.201633 -0.192030 +v -0.078608 0.201572 -0.191998 +v -0.088608 0.201648 -0.193242 +v -0.098625 0.201691 -0.194494 +v -0.108628 0.201775 -0.195744 +v -0.118639 0.201849 -0.196994 +v -0.128642 0.201908 -0.198244 +v -0.138642 0.201998 -0.199496 +v -0.148626 0.202053 -0.200741 +v -0.158579 0.201905 -0.198912 +v -0.168419 0.201856 -0.198538 +v -0.178412 0.201610 -0.196187 +v -0.188527 0.201118 -0.191481 +v -0.198474 0.200651 -0.186457 +v -0.208256 0.200259 -0.182422 +v -0.218243 0.199688 -0.179212 +v -0.228610 0.199432 -0.175224 +v -0.238590 0.198942 -0.170133 +v -0.248047 0.197978 -0.163120 +v -0.258049 0.197571 -0.155540 +v -0.451694 0.949467 -0.177579 +v -0.403823 1.276637 -0.651250 +v -0.342251 1.368297 -0.684369 +v -0.103239 1.274227 -0.212360 +v 0.156340 1.423707 -0.372304 +v 0.056437 1.319887 -0.253428 +v -0.517769 0.376070 0.056382 +v 0.005879 1.423467 -0.280199 +v -0.561146 0.873497 -0.122310 +v -0.411165 0.861677 -0.176805 +v -0.410788 0.648233 -0.253388 +v 0.770949 0.213503 -0.126496 +v 0.760942 0.214134 -0.133150 +v 0.750952 0.214613 -0.138375 +v 0.740811 0.215145 -0.143206 +v 0.730939 0.215393 -0.147351 +v 0.720952 0.215695 -0.151116 +v 0.711086 0.215779 -0.153797 +v 0.701139 0.215837 -0.156087 +v 0.691299 0.215848 -0.157460 +v 0.681391 0.215741 -0.157571 +v 0.671448 0.215676 -0.156821 +v 0.661498 0.215489 -0.156209 +v 0.651294 0.215493 -0.154956 +v 0.641098 0.215492 -0.153835 +v 0.630514 0.216006 -0.155315 +v 0.620970 0.216111 -0.159578 +v -0.024008 1.393718 -0.264974 +v -0.597345 0.803977 0.160552 +v -0.374685 1.334917 -0.689228 +v -0.301135 0.039968 0.373246 +v -0.481230 0.731367 -0.191557 +v -0.222280 1.169038 -0.123200 +v -0.101290 0.781297 -0.281250 +v -0.421505 0.905597 -0.178461 +v 0.530871 0.227831 -0.298109 +v -0.420684 0.647982 -0.250620 +v -0.431336 0.905527 -0.177599 +v 0.501108 0.231268 -0.338955 +v 0.490835 0.232306 -0.350038 +v 0.481178 0.232637 -0.355627 +v 0.470915 0.233212 -0.361520 +v 0.461073 0.233490 -0.365768 +v 0.451050 0.233781 -0.369547 +v 0.441067 0.233952 -0.372254 +v 0.431103 0.233938 -0.373793 +v 0.420968 0.234218 -0.375758 +v 0.411084 0.234199 -0.377617 +v 0.400883 0.234727 -0.381740 +v 0.391152 0.234705 -0.383970 +v 0.381094 0.234910 -0.386247 +v 0.370973 0.235236 -0.389692 +v 0.361018 0.235414 -0.392505 +v 0.350973 0.235617 -0.395068 +v 0.340930 0.235662 -0.396282 +v 0.330910 0.235613 -0.396184 +v 0.320935 0.235377 -0.394967 +v 0.310957 0.235277 -0.394934 +v 0.300889 0.235830 -0.399425 +v 0.290909 0.236086 -0.403330 +v 0.280950 0.236085 -0.404862 +v 0.270943 0.235929 -0.403591 +v 0.260804 0.236275 -0.405470 +v 0.250886 0.236485 -0.409567 +v 0.240931 0.236725 -0.413609 +v 0.230858 0.236989 -0.415802 +v 0.220875 0.237026 -0.417280 +v 0.210940 0.236902 -0.417723 +v 0.200902 0.237159 -0.419878 +v 0.190811 0.237561 -0.423171 +v 0.180955 0.237537 -0.425097 +v 0.170805 0.237754 -0.427230 +v 0.160791 0.237854 -0.428296 +v 0.150811 0.237725 -0.428663 +v 0.140803 0.237646 -0.428711 +v 0.130753 0.237546 -0.428745 +v 0.120709 0.237421 -0.428838 +v 0.110714 0.237486 -0.428497 +v 0.100648 0.237142 -0.426095 +v 0.090610 0.236769 -0.422271 +v 0.080720 0.236504 -0.418144 +v 0.070898 0.236324 -0.413966 +v 0.060608 0.235305 -0.406906 +v 0.050653 0.234717 -0.400501 +v 0.040838 0.234269 -0.393815 +v 0.030811 0.233535 -0.386261 +v 0.020650 0.232621 -0.377549 +v -0.451256 0.905337 -0.174112 +v -0.023631 1.349277 -0.258241 +v -0.441984 1.037028 -0.169957 +v -0.263402 1.227937 -0.123335 +v 0.057945 0.037157 0.435766 +v -0.023949 1.378877 -0.265045 +v -0.332480 0.963797 -0.164965 +v -0.058725 0.216128 -0.194575 +v -0.068696 0.215844 -0.192020 +v -0.078684 0.215825 -0.192000 +v -0.088689 0.215773 -0.191981 +v -0.098700 0.215972 -0.194499 +v -0.108675 0.216040 -0.195747 +v -0.118687 0.216078 -0.196992 +v -0.128687 0.216298 -0.199511 +v -0.138720 0.216232 -0.199499 +v -0.148688 0.216330 -0.200750 +v -0.158653 0.216390 -0.201545 +v -0.168687 0.216275 -0.200235 +v -0.178525 0.216008 -0.197560 +v -0.188536 0.215617 -0.193912 +v -0.198701 0.215312 -0.191794 +v -0.208687 0.214776 -0.186696 +v -0.218635 0.214599 -0.183989 +v -0.228618 0.214103 -0.178919 +v -0.238588 0.213425 -0.172610 +v -0.248512 0.212719 -0.164870 +v -0.258169 0.212151 -0.158128 +v -0.381559 0.834067 -0.198601 +v -0.401576 0.833477 -0.188528 +v -0.364417 1.334667 -0.691452 +v -0.143501 1.273657 -0.197676 +v 0.145439 1.423937 -0.366118 +v 0.092770 0.047766 0.433254 +v -0.627132 0.810147 0.292482 +v -0.501569 0.919197 -0.161403 +v -0.243635 1.272717 -0.135449 +v -0.491157 0.730927 -0.185062 +v -0.430687 0.647836 -0.249283 +v 0.780581 0.227761 -0.124777 +v 0.770759 0.228300 -0.131588 +v 0.760680 0.228920 -0.137933 +v 0.750832 0.229191 -0.142097 +v 0.740875 0.229474 -0.145924 +v 0.731032 0.229617 -0.148848 +v 0.721185 0.229679 -0.150539 +v 0.711176 0.229723 -0.152712 +v 0.701239 0.229709 -0.153916 +v 0.691317 0.229618 -0.154813 +v 0.681401 0.229604 -0.154169 +v 0.671442 0.229371 -0.153629 +v 0.661276 0.229404 -0.151795 +v 0.651139 0.229348 -0.150464 +v 0.640265 0.229776 -0.151397 +v 0.631625 0.229733 -0.156969 +v -0.500983 0.730407 -0.178497 +v 0.159202 1.438668 -0.379795 +v 0.140327 0.030832 -0.346268 +v -0.434959 1.204517 -0.553216 +v -0.406216 0.341802 0.197678 +v -0.341484 0.293910 0.147115 +v -0.161143 0.752587 -0.290881 +v -0.171269 0.752717 -0.288910 +v 0.184326 0.031018 -0.335011 +v -0.511212 0.730017 -0.169830 +v 0.168704 0.755397 -0.313599 +v -0.451282 0.890687 -0.174495 +v 0.500895 0.245893 -0.343886 +v 0.490836 0.246545 -0.351421 +v 0.481011 0.246939 -0.356818 +v 0.471185 0.247266 -0.361046 +v 0.461149 0.247580 -0.364827 +v 0.450935 0.247959 -0.369424 +v 0.440907 0.248231 -0.373192 +v 0.430979 0.248428 -0.375965 +v 0.420841 0.248591 -0.378067 +v 0.410956 0.248652 -0.379692 +v 0.401114 0.248736 -0.381801 +v 0.390843 0.249156 -0.385689 +v 0.381006 0.249249 -0.387556 +v 0.371020 0.249333 -0.388933 +v 0.360941 0.249598 -0.392493 +v 0.350926 0.249773 -0.395098 +v 0.340919 0.249820 -0.396525 +v 0.330905 0.249875 -0.397487 +v 0.321030 0.249618 -0.396605 +v 0.310862 0.249984 -0.399649 +v 0.300825 0.250505 -0.405828 +v 0.290786 0.250823 -0.409494 +v 0.280857 0.250776 -0.411124 +v 0.270855 0.250648 -0.411367 +v 0.260839 0.250527 -0.411568 +v 0.250918 0.250850 -0.413671 +v 0.240867 0.251059 -0.416195 +v 0.230828 0.251219 -0.418723 +v 0.220892 0.251236 -0.420057 +v 0.210885 0.251298 -0.421582 +v 0.200815 0.251336 -0.421330 +v 0.190801 0.251563 -0.423613 +v 0.180790 0.251757 -0.426242 +v 0.170755 0.251988 -0.428367 +v 0.160768 0.252038 -0.429663 +v 0.150796 0.251971 -0.431497 +v 0.140748 0.252222 -0.433653 +v 0.130738 0.252212 -0.435138 +v 0.120667 0.252202 -0.436427 +v 0.110669 0.252327 -0.436022 +v 0.100608 0.251963 -0.433631 +v 0.090565 0.251572 -0.429857 +v 0.080635 0.251292 -0.425821 +v 0.070580 0.250753 -0.420804 +v 0.060630 0.250301 -0.415636 +v 0.050639 0.249682 -0.409266 +v 0.040828 0.249226 -0.402670 +v 0.030774 0.248461 -0.395103 +v -0.440786 0.647621 -0.245733 +v -0.410304 1.490227 -0.674960 +v -0.452026 1.036927 -0.166427 +v -0.122979 1.244517 -0.190330 +v -0.332936 1.065837 -0.151539 +v -0.418169 0.381015 0.248855 +v -0.033846 1.378838 -0.260973 +v 0.379060 0.698217 -0.309261 +v -0.058796 0.231048 -0.202180 +v -0.068760 0.230348 -0.194572 +v -0.078747 0.230169 -0.193271 +v -0.088777 0.230228 -0.194514 +v -0.098737 0.230416 -0.197021 +v -0.108735 0.230361 -0.197014 +v -0.118748 0.230554 -0.199524 +v -0.128789 0.230608 -0.200782 +v -0.138766 0.230718 -0.202033 +v -0.148797 0.230750 -0.203283 +v -0.158759 0.230728 -0.203267 +v -0.168676 0.230664 -0.201458 +v -0.178793 0.230522 -0.200347 +v -0.188624 0.230290 -0.197552 +v -0.198636 0.229979 -0.195182 +v -0.208610 0.229728 -0.192655 +v -0.218560 0.229480 -0.190093 +v -0.228588 0.228827 -0.183868 +v -0.238473 0.228256 -0.177342 +v -0.248625 0.227320 -0.168754 +v -0.258344 0.226798 -0.162082 +v 0.369036 0.698037 -0.306742 +v -0.450630 0.647235 -0.241573 +v 0.056128 0.059598 0.448790 +v -0.133615 1.273648 -0.201758 +v 0.135294 1.423867 -0.358452 +v 0.080964 0.042834 0.435796 +v -0.284234 0.403187 0.311725 +v -0.302428 1.139138 -0.106659 +v -0.502407 1.080267 -0.146419 +v -0.377038 0.425231 0.307482 +v -0.460837 0.647003 -0.236858 +v 0.790429 0.241789 -0.122011 +v 0.780969 0.242109 -0.128032 +v 0.770574 0.242844 -0.135227 +v 0.760584 0.243278 -0.140304 +v 0.750881 0.243443 -0.143541 +v 0.741063 0.243633 -0.146479 +v 0.731044 0.243638 -0.148453 +v 0.721188 0.243698 -0.149204 +v 0.711252 0.243549 -0.149192 +v 0.701292 0.243559 -0.149363 +v 0.691323 0.243397 -0.149138 +v 0.681377 0.243120 -0.148699 +v 0.671215 0.243101 -0.147439 +v 0.661083 0.243130 -0.146347 +v 0.649086 0.243767 -0.146610 +v 0.641501 0.243361 -0.150850 +v -0.470992 0.646691 -0.231957 +v -0.531951 0.991758 -0.138020 +v -0.392115 0.385237 0.268332 +v 0.044124 0.042253 0.445567 +v -0.360164 0.296762 0.140583 +v -0.351028 0.294997 0.144139 +v -0.181224 0.752447 -0.287395 +v -0.302350 0.948837 -0.157782 +v -0.312297 0.948997 -0.160522 +v -0.480895 0.646271 -0.226675 +v -0.362391 0.993287 -0.171555 +v -0.490980 0.645783 -0.219092 +v 0.008808 0.740347 -0.314291 +v 0.500912 0.260161 -0.345291 +v 0.490985 0.260696 -0.351780 +v 0.481172 0.261037 -0.356073 +v 0.471131 0.261375 -0.359886 +v 0.460985 0.261621 -0.363381 +v 0.450903 0.261879 -0.366973 +v 0.440843 0.262161 -0.370635 +v 0.430848 0.262441 -0.374471 +v 0.420916 0.262655 -0.377224 +v 0.411066 0.262749 -0.379076 +v 0.400950 0.262917 -0.381335 +v 0.390934 0.263076 -0.383837 +v 0.380841 0.263344 -0.387195 +v 0.370952 0.263444 -0.388874 +v 0.360877 0.263603 -0.391188 +v 0.350845 0.263772 -0.393771 +v 0.340902 0.263837 -0.395336 +v 0.330973 0.263850 -0.396560 +v 0.321009 0.263886 -0.397750 +v 0.310882 0.264410 -0.403655 +v 0.300667 0.265115 -0.410686 +v 0.290782 0.265230 -0.413636 +v 0.280908 0.265137 -0.415408 +v 0.270840 0.265156 -0.416657 +v 0.260722 0.265396 -0.417330 +v 0.250757 0.265422 -0.418702 +v 0.240809 0.265511 -0.421503 +v 0.230775 0.265743 -0.423798 +v 0.220723 0.266126 -0.427369 +v 0.210677 0.266386 -0.429651 +v 0.200700 0.266128 -0.428783 +v 0.190745 0.265901 -0.427805 +v 0.180724 0.266065 -0.428727 +v 0.170751 0.266074 -0.430117 +v 0.160759 0.266241 -0.432611 +v 0.150664 0.266665 -0.435942 +v 0.140660 0.266970 -0.439734 +v 0.130693 0.266920 -0.442855 +v 0.120639 0.267079 -0.443785 +v 0.110600 0.266833 -0.443022 +v 0.100548 0.266763 -0.441322 +v 0.090512 0.266348 -0.437496 +v 0.080453 0.265807 -0.432492 +v 0.070477 0.265489 -0.428538 +v 0.060312 0.264757 -0.422434 +v 0.050527 0.264456 -0.416973 +v 0.040876 0.264209 -0.411389 +v 0.030471 0.263097 -0.403053 +v -0.414709 1.488737 -0.673749 +v -0.262597 1.124347 -0.096433 +v -0.191383 0.752577 -0.284227 +v -0.183685 1.273308 -0.178839 +v -0.516625 0.407291 0.153065 +v -0.496996 0.794077 0.370297 +v -0.113007 1.259447 -0.201631 +v 0.085696 1.408967 -0.317448 +v -0.058865 0.245412 -0.203459 +v -0.068858 0.244782 -0.197087 +v -0.078818 0.244767 -0.197077 +v -0.088839 0.244573 -0.195781 +v -0.098803 0.244889 -0.199556 +v -0.108804 0.244845 -0.199552 +v -0.118836 0.244912 -0.200802 +v -0.128889 0.245082 -0.201434 +v -0.138885 0.245153 -0.202663 +v -0.148860 0.245217 -0.204005 +v -0.158830 0.245312 -0.205179 +v -0.168729 0.245347 -0.204726 +v -0.178710 0.245095 -0.203856 +v -0.188651 0.244997 -0.202451 +v -0.198734 0.244552 -0.199010 +v -0.208534 0.244545 -0.197309 +v -0.218625 0.244056 -0.193833 +v -0.228569 0.243584 -0.188779 +v -0.238543 0.242841 -0.181197 +v -0.248437 0.242160 -0.173453 +v -0.258373 0.241427 -0.165869 +v -0.481745 0.963667 -0.171422 +v 0.289119 0.698347 -0.313598 +v -0.342582 1.051587 -0.157098 +v -0.123208 1.274077 -0.207205 +v 0.125366 1.423877 -0.350688 +v 0.069080 0.039150 0.436505 +v -0.423169 0.421330 0.283294 +v -0.292471 1.139117 -0.105181 +v -0.572222 0.961827 -0.127642 +v 0.279036 0.698277 -0.315665 +v 0.800692 0.255338 -0.115795 +v 0.790356 0.256178 -0.124519 +v 0.780735 0.256581 -0.130319 +v 0.770691 0.256986 -0.135401 +v 0.760918 0.257306 -0.139696 +v 0.751041 0.257488 -0.142607 +v 0.741021 0.257494 -0.144651 +v 0.731178 0.257519 -0.145107 +v 0.721245 0.257459 -0.145226 +v 0.711269 0.257341 -0.144103 +v 0.701292 0.257159 -0.143840 +v 0.691310 0.256893 -0.142342 +v 0.681109 0.256638 -0.141615 +v 0.670883 0.256799 -0.140656 +v 0.658203 0.257642 -0.140889 +v 0.651386 0.257195 -0.145297 +v 0.269061 0.698377 -0.317110 +v -0.461704 0.992928 -0.170953 +v -0.422066 1.037177 -0.172355 +v -0.073167 1.407747 -0.234598 +v -0.201224 0.752197 -0.282480 +v -0.211199 0.752047 -0.282323 +v -0.531029 0.903797 -0.144933 +v -0.541474 0.918217 -0.140220 +v -0.441135 0.846717 -0.169603 +v -0.302114 0.934267 -0.160652 +v -0.531306 0.947917 -0.147688 +v -0.080946 0.668141 -0.316653 +v -0.401505 0.891017 -0.178460 +v 0.510863 0.273710 -0.337704 +v 0.501182 0.274252 -0.344586 +v 0.490780 0.274704 -0.350303 +v 0.481262 0.275005 -0.353872 +v 0.470788 0.275287 -0.357951 +v 0.461010 0.275536 -0.361044 +v 0.450882 0.275778 -0.364548 +v 0.440971 0.275967 -0.367317 +v 0.430682 0.276310 -0.371591 +v 0.420885 0.276536 -0.374798 +v 0.410856 0.276703 -0.377276 +v 0.400854 0.276874 -0.379857 +v 0.390851 0.277055 -0.382452 +v 0.380704 0.277337 -0.385606 +v 0.370712 0.277501 -0.388235 +v 0.360697 0.277682 -0.390638 +v 0.350950 0.277623 -0.391924 +v 0.340852 0.277786 -0.393890 +v 0.330820 0.277966 -0.396091 +v 0.321083 0.278048 -0.399277 +v 0.311003 0.278559 -0.405311 +v 0.300665 0.279395 -0.413452 +v 0.290876 0.279580 -0.417796 +v 0.280749 0.279775 -0.420112 +v 0.270746 0.279791 -0.421526 +v 0.260651 0.279872 -0.422678 +v 0.250616 0.280283 -0.425991 +v 0.240732 0.280198 -0.427768 +v 0.230608 0.280504 -0.429864 +v 0.220715 0.280671 -0.434104 +v 0.210635 0.280940 -0.436338 +v 0.200602 0.280930 -0.436134 +v 0.190611 0.280695 -0.435188 +v 0.180672 0.280453 -0.434099 +v 0.170654 0.280606 -0.435164 +v 0.160721 0.280745 -0.437783 +v 0.150600 0.281301 -0.442300 +v 0.140672 0.281404 -0.446643 +v 0.130591 0.281620 -0.449082 +v 0.120467 0.281336 -0.448350 +v 0.110543 0.281459 -0.447648 +v 0.100522 0.281367 -0.446212 +v 0.090471 0.281066 -0.443798 +v 0.080483 0.280679 -0.439892 +v 0.070587 0.280385 -0.435839 +v 0.060369 0.279613 -0.429894 +v 0.050567 0.279288 -0.424443 +v 0.040628 0.278727 -0.417993 +v 0.030547 0.277955 -0.410540 +v -0.070888 0.668167 -0.317601 +v -0.411620 0.920267 -0.178510 +v -0.362600 1.022277 -0.166029 +v -0.003451 1.304747 -0.240511 +v 0.006524 1.304467 -0.239768 +v 0.056117 1.379337 -0.290385 +v 0.095193 1.468097 -0.341722 +v -0.309090 0.032044 0.360866 +v -0.058935 0.260162 -0.209789 +v -0.068904 0.259450 -0.202167 +v -0.078893 0.259314 -0.200879 +v -0.088869 0.259163 -0.199596 +v -0.098877 0.259250 -0.200843 +v -0.108900 0.259305 -0.202090 +v -0.118969 0.259398 -0.201385 +v -0.128969 0.259453 -0.202665 +v -0.138984 0.259674 -0.205034 +v -0.148998 0.259967 -0.207037 +v -0.158969 0.260045 -0.208381 +v -0.168893 0.259764 -0.207622 +v -0.178854 0.259742 -0.207514 +v -0.188810 0.259728 -0.207088 +v -0.198649 0.259478 -0.204869 +v -0.208600 0.259227 -0.202341 +v -0.218819 0.258539 -0.197923 +v -0.228730 0.258087 -0.192711 +v -0.238455 0.257595 -0.186053 +v -0.248356 0.256941 -0.178334 +v -0.258242 0.256253 -0.170691 +v 0.229015 0.698297 -0.320487 +v -0.391369 0.776937 -0.221128 +v -0.561883 0.962057 -0.135264 +v -0.113227 1.274127 -0.209796 +v 0.115597 1.423967 -0.344033 +v -0.221644 0.357004 0.294017 +v -0.112984 1.229807 -0.181493 +v -0.312162 1.139327 -0.108631 +v -0.531504 0.933147 -0.145542 +v 0.218974 0.698267 -0.321526 +v 0.800791 0.269798 -0.118607 +v 0.790815 0.270340 -0.125240 +v 0.780755 0.270718 -0.130313 +v 0.770817 0.270968 -0.134215 +v 0.760914 0.271156 -0.136928 +v 0.751068 0.271270 -0.138556 +v -0.581736 0.932038 -0.121649 +v -0.421445 0.790327 -0.200954 +v -0.636030 0.833987 0.163464 +v -0.570938 0.789167 0.250451 +v 0.701185 0.271045 -0.136464 +v 0.691162 0.270706 -0.134789 +v 0.680965 0.270586 -0.134436 +v 0.668630 0.271502 -0.134774 +v -0.492068 1.036367 -0.152729 +v -0.502188 1.036117 -0.146334 +v -0.233414 1.242988 -0.144913 +v -0.441787 0.993128 -0.174693 +v -0.034146 1.408487 -0.257467 +v -0.183295 1.228517 -0.164717 +v -0.394772 1.421007 -0.684239 +v -0.292397 0.948717 -0.153712 +v 0.348588 0.797667 -0.285507 +v -0.501992 0.992427 -0.156676 +v -0.385296 1.435207 -0.696975 +v -0.541505 0.947727 -0.144086 +v -0.510894 0.875087 -0.154048 +v 0.158743 0.755227 -0.312142 +v -0.541539 0.932957 -0.141570 +v 0.510936 0.287770 -0.336656 +v 0.500974 0.288289 -0.343092 +v 0.490980 0.288672 -0.348223 +v 0.480946 0.288958 -0.352042 +v 0.470713 0.289311 -0.356654 +v 0.460840 0.289581 -0.360787 +v 0.450779 0.289876 -0.364437 +v 0.440960 0.290041 -0.367456 +v 0.430710 0.290433 -0.371872 +v 0.420916 0.290617 -0.375901 +v 0.410809 0.290776 -0.378624 +v 0.400900 0.290904 -0.380276 +v 0.390847 0.291094 -0.382613 +v 0.380696 0.291423 -0.385866 +v 0.370801 0.291552 -0.388772 +v 0.361551 0.291212 -0.391963 +v 0.351024 0.291395 -0.394597 +v 0.340695 0.291688 -0.396836 +v 0.330766 0.292037 -0.398943 +v 0.320692 0.292678 -0.403522 +v 0.310716 0.293040 -0.408632 +v 0.300632 0.293602 -0.414775 +v 0.290614 0.294096 -0.421164 +v 0.280797 0.294153 -0.424217 +v 0.270601 0.294446 -0.426201 +v 0.260685 0.294428 -0.427875 +v 0.250569 0.294802 -0.431231 +v 0.240661 0.294890 -0.434167 +v 0.230780 0.294928 -0.435910 +v 0.220637 0.295314 -0.439147 +v 0.210571 0.295520 -0.441134 +v 0.200516 0.295431 -0.441483 +v 0.190559 0.295372 -0.441495 +v 0.180587 0.295148 -0.440480 +v 0.169776 0.295418 -0.441734 +v 0.160606 0.295617 -0.444946 +v 0.150577 0.295871 -0.448935 +v 0.140655 0.295895 -0.452119 +v 0.130513 0.296231 -0.453939 +v 0.120501 0.295871 -0.451825 +v 0.110446 0.295735 -0.450409 +v 0.100408 0.295591 -0.449025 +v 0.090447 0.295514 -0.447524 +v 0.080397 0.295191 -0.445077 +v 0.070360 0.294789 -0.441350 +v 0.060331 0.294310 -0.436194 +v 0.050263 0.293665 -0.429942 +v 0.040589 0.293388 -0.424337 +v 0.030597 0.292684 -0.416731 +v -0.313121 1.036557 -0.147260 +v 0.095626 1.423867 -0.330094 +v -0.174486 1.333347 -0.180595 +v -0.033409 1.304627 -0.237750 +v 0.125557 1.379257 -0.321632 +v 0.046047 1.379218 -0.288055 +v -0.044006 1.378777 -0.254981 +v 0.378231 0.042291 -0.313051 +v -0.059015 0.274834 -0.214863 +v -0.069018 0.274491 -0.211049 +v -0.078961 0.273981 -0.205961 +v -0.088961 0.273854 -0.204679 +v -0.098975 0.273804 -0.204651 +v -0.108969 0.273879 -0.205904 +v -0.118963 0.273840 -0.204233 +v -0.129040 0.274115 -0.206243 +v -0.139063 0.274192 -0.207520 +v -0.149079 0.274568 -0.210863 +v -0.159024 0.274628 -0.212163 +v -0.168967 0.274500 -0.212545 +v -0.178906 0.274435 -0.212506 +v -0.188845 0.274141 -0.210167 +v -0.198682 0.274184 -0.209785 +v -0.208770 0.273815 -0.207706 +v -0.218768 0.273398 -0.204043 +v -0.228713 0.272814 -0.197680 +v -0.238579 0.272148 -0.189899 +v -0.248641 0.271414 -0.182402 +v -0.258686 0.270686 -0.174891 +v -0.268442 0.270059 -0.167105 +v -0.491119 0.773467 -0.165994 +v -0.361743 0.778317 -0.240765 +v -0.093293 1.274208 -0.213783 +v 0.105528 1.423838 -0.336556 +v -0.221162 0.751957 -0.282202 +v -0.231154 0.751847 -0.282009 +v -0.291482 0.808167 -0.254587 +v -0.430730 0.802467 0.376378 +v -0.011016 0.669059 -0.326919 +v -0.282658 0.992537 -0.143374 +v -0.321223 0.764877 -0.262901 +v -0.193307 1.243427 -0.168289 +v -0.083047 1.245117 -0.195211 +v 0.058993 0.698057 -0.327889 +v 0.048993 0.698127 -0.328175 +v -0.527030 0.384429 0.029427 +v 0.039002 0.698067 -0.329101 +v 0.028977 0.698017 -0.328136 +v 0.018938 0.697977 -0.327322 +v -0.381665 0.805957 -0.216504 +v -0.001153 0.740137 -0.313954 +v 0.008948 0.697837 -0.326905 +v -0.001042 0.697707 -0.325571 +v -0.011004 0.697547 -0.323963 +v -0.020979 0.697337 -0.321386 +v -0.031108 0.697157 -0.318065 +v -0.041026 0.696997 -0.316512 +v -0.144140 1.333507 -0.203159 +v -0.051083 0.696857 -0.314211 +v -0.492486 1.095067 -0.149151 +v -0.302753 0.978097 -0.152113 +v -0.375087 1.392317 -0.699315 +v -0.223119 1.198528 -0.135656 +v -0.375268 1.406547 -0.700799 +v -0.063316 1.289487 -0.226357 +v -0.261286 0.765967 -0.277229 +v -0.061099 0.696807 -0.313019 +v -0.071091 0.696687 -0.311721 +v -0.500963 0.860657 -0.155384 +v -0.511178 0.860207 -0.149400 +v -0.081105 0.696627 -0.310521 +v -0.091027 0.696407 -0.308896 +v -0.100960 0.696157 -0.307285 +v 0.490372 0.302746 -0.347388 +v 0.480988 0.302980 -0.352182 +v 0.470676 0.303665 -0.359276 +v 0.460593 0.304057 -0.364209 +v 0.450631 0.304319 -0.368104 +v 0.440764 0.304550 -0.372261 +v 0.430595 0.305001 -0.376918 +v 0.420840 0.305182 -0.381415 +v 0.410685 0.305520 -0.384832 +v 0.400674 0.305437 -0.386294 +v 0.390717 0.305640 -0.388814 +v 0.380494 0.306298 -0.393042 +v 0.370604 0.306458 -0.397267 +v 0.360994 0.306224 -0.399915 +v 0.350757 0.306258 -0.401944 +v 0.340620 0.306348 -0.403213 +v 0.330689 0.306703 -0.405340 +v 0.320848 0.306932 -0.409378 +v 0.310628 0.307661 -0.415015 +v 0.300622 0.308084 -0.420036 +v 0.290478 0.308553 -0.424845 +v 0.280909 0.308802 -0.429078 +v 0.270608 0.308835 -0.430380 +v 0.260629 0.308781 -0.430571 +v 0.250446 0.309245 -0.434874 +v 0.240437 0.309523 -0.438540 +v 0.230505 0.309596 -0.440170 +v 0.220525 0.309659 -0.441608 +v 0.210491 0.309826 -0.444082 +v 0.200519 0.309760 -0.444446 +v 0.190490 0.309818 -0.445602 +v 0.180577 0.309734 -0.445918 +v 0.170569 0.309816 -0.446820 +v 0.160521 0.310004 -0.449120 +v 0.150509 0.310311 -0.452778 +v 0.140574 0.310410 -0.455769 +v 0.130416 0.310650 -0.457807 +v 0.120431 0.310635 -0.457671 +v 0.110411 0.310262 -0.455483 +v 0.100349 0.309886 -0.451719 +v 0.090316 0.309709 -0.450334 +v 0.080289 0.309552 -0.449119 +v 0.070262 0.309268 -0.446536 +v 0.060097 0.308710 -0.441676 +v 0.050291 0.308398 -0.436142 +v 0.040370 0.307832 -0.429664 +v 0.030455 0.307177 -0.421949 +v -0.111019 0.696067 -0.305024 +v 0.318735 0.783587 -0.292256 +v -0.312102 0.934417 -0.163298 +v 0.016547 1.304877 -0.240475 +v 0.115570 1.379187 -0.315319 +v 0.035926 1.379067 -0.284504 +v -0.053815 1.378687 -0.250786 +v -0.120971 0.695897 -0.303589 +v -0.131013 0.695927 -0.301855 +v -0.069094 0.289223 -0.217377 +v -0.079030 0.288989 -0.214847 +v -0.089044 0.288812 -0.213540 +v -0.099016 0.288586 -0.211012 +v -0.109013 0.288632 -0.212235 +v -0.119030 0.288521 -0.209291 +v -0.129074 0.288733 -0.210140 +v -0.139139 0.288791 -0.211338 +v -0.149126 0.289038 -0.213644 +v -0.159186 0.289307 -0.215666 +v -0.169027 0.289282 -0.217242 +v -0.178932 0.289195 -0.217365 +v -0.188940 0.288806 -0.215250 +v -0.198941 0.288458 -0.212973 +v -0.208976 0.288178 -0.210613 +v -0.218956 0.287901 -0.207994 +v -0.228789 0.287470 -0.202706 +v -0.238761 0.286778 -0.195143 +v -0.248606 0.286256 -0.188595 +v -0.258723 0.285501 -0.181198 +v -0.268724 0.284781 -0.173604 +v -0.278489 0.283701 -0.160804 +v -0.287621 0.282453 -0.144874 +v -0.140955 0.695747 -0.302395 +v -0.150955 0.695667 -0.303238 +v -0.160954 0.695697 -0.303577 +v -0.241233 0.751867 -0.281097 +v -0.251275 0.751767 -0.279923 +v -0.451504 0.934747 -0.175803 +v -0.448788 0.357143 0.175560 +v -0.317017 0.398974 0.307739 +v -0.282445 1.139097 -0.103855 +v -0.272685 0.992498 -0.139488 +v -0.170956 0.695737 -0.303997 +v -0.371724 0.920367 -0.178198 +v -0.520972 0.889397 -0.150354 +v -0.381916 0.949557 -0.177001 +v -0.180963 0.695717 -0.304163 +v -0.190960 0.695687 -0.304883 +v -0.200964 0.695657 -0.304919 +v -0.431501 0.804287 -0.189574 +v -0.441465 0.920097 -0.175764 +v -0.342516 1.022297 -0.160588 +v -0.471783 1.007407 -0.166098 +v -0.382113 0.978827 -0.177010 +v -0.372162 0.978797 -0.174614 +v -0.353817 1.095317 -0.152456 +v -0.210986 0.695717 -0.305212 +v -0.220996 0.695717 -0.305271 +v -0.114059 1.333717 -0.220968 +v -0.261300 0.751647 -0.278641 +v -0.231036 0.695737 -0.305311 +v -0.282926 0.977868 -0.145317 +v -0.014056 1.408587 -0.270021 +v -0.411697 0.934927 -0.178189 +v -0.511314 0.948447 -0.159679 +v -0.511970 1.006798 -0.148725 +v -0.281269 0.765607 -0.273249 +v -0.271392 0.765857 -0.274984 +v -0.351365 0.764277 -0.251623 +v -0.271325 0.751497 -0.276169 +v -0.491043 0.860857 -0.159296 +v -0.241016 0.695557 -0.304865 +v -0.251055 0.695467 -0.303686 +v -0.261250 0.695477 -0.301578 +v 0.500685 0.316223 -0.339041 +v 0.490473 0.317041 -0.348931 +v 0.480982 0.317435 -0.356056 +v 0.470844 0.317887 -0.362277 +v 0.460571 0.318507 -0.368104 +v 0.450715 0.318721 -0.372308 +v 0.440594 0.319158 -0.377130 +v 0.430712 0.319366 -0.381282 +v 0.420728 0.319635 -0.385173 +v 0.410644 0.319954 -0.388728 +v 0.400772 0.319968 -0.390403 +v 0.390672 0.320311 -0.393959 +v 0.380458 0.320765 -0.398333 +v 0.370480 0.321047 -0.402188 +v 0.360646 0.321166 -0.405250 +v 0.350729 0.321278 -0.408138 +v 0.340593 0.321506 -0.410140 +v 0.330521 0.321695 -0.412488 +v 0.320552 0.321997 -0.416328 +v 0.310556 0.322403 -0.421440 +v 0.300557 0.322687 -0.425207 +v 0.290592 0.322914 -0.429109 +v 0.280644 0.323275 -0.432735 +v 0.270515 0.323225 -0.432901 +v 0.260623 0.323083 -0.432160 +v 0.250513 0.323243 -0.434377 +v 0.240493 0.323526 -0.438118 +v 0.230493 0.323700 -0.440454 +v 0.220460 0.323773 -0.441650 +v 0.210429 0.323936 -0.443967 +v 0.200420 0.323986 -0.445163 +v 0.190407 0.324048 -0.446314 +v 0.180444 0.323981 -0.446697 +v 0.170369 0.324169 -0.448730 +v 0.160410 0.324338 -0.451494 +v 0.150426 0.324604 -0.455358 +v 0.140562 0.324617 -0.457142 +v 0.130365 0.324979 -0.460176 +v 0.120377 0.325122 -0.462941 +v 0.110371 0.324805 -0.462245 +v 0.100266 0.324601 -0.459422 +v 0.090203 0.324181 -0.455690 +v 0.080073 0.323801 -0.453328 +v 0.070216 0.323797 -0.451597 +v 0.060223 0.323450 -0.447676 +v 0.050439 0.323250 -0.443488 +v 0.040185 0.322305 -0.434944 +v 0.030405 0.321728 -0.427011 +v 0.020341 0.320884 -0.418201 +v -0.271257 0.695247 -0.298845 +v -0.392379 1.037167 -0.171538 +v -0.083814 1.348817 -0.238260 +v -0.272071 0.369689 0.290107 +v 0.026132 1.379207 -0.282654 +v -0.063838 1.378617 -0.245793 +v -0.375309 1.377977 -0.697400 +v -0.281268 0.694897 -0.294962 +v -0.069163 0.304107 -0.225000 +v -0.079109 0.303753 -0.221197 +v -0.089110 0.303623 -0.219912 +v -0.099113 0.303578 -0.219889 +v -0.109064 0.303843 -0.219194 +v -0.119086 0.303524 -0.216773 +v -0.129114 0.303514 -0.216651 +v -0.139169 0.303670 -0.217568 +v -0.149209 0.303978 -0.219745 +v -0.159150 0.303901 -0.221322 +v -0.169080 0.303822 -0.221335 +v -0.179043 0.303636 -0.221672 +v -0.188925 0.303675 -0.221369 +v -0.199195 0.302872 -0.217415 +v -0.209023 0.302636 -0.213162 +v -0.218947 0.302478 -0.211735 +v -0.228843 0.302028 -0.206529 +v -0.238935 0.301288 -0.199068 +v -0.248794 0.300769 -0.192575 +v -0.258798 0.300169 -0.186120 +v -0.268305 0.299586 -0.178149 +v -0.277999 0.298484 -0.164048 +v -0.288016 0.297309 -0.150260 +v -0.297205 0.295686 -0.135381 +v -0.308932 0.294591 -0.126681 +v -0.318131 0.295553 -0.122890 +v -0.328482 0.296049 -0.118441 +v -0.338702 0.295403 -0.116041 +v -0.348416 0.296385 -0.116818 +v -0.357861 0.296414 -0.111040 +v -0.367785 0.296647 -0.108658 +v -0.281143 0.751187 -0.274259 +v -0.291259 0.751107 -0.272099 +v -0.301265 0.751037 -0.270883 +v -0.521831 1.006497 -0.141728 +v -0.132892 1.229717 -0.178753 +v 0.011911 0.038485 0.441915 +v -0.302739 0.992757 -0.151253 +v -0.291349 0.694507 -0.288746 +v -0.451697 0.803787 -0.178431 +v 0.135160 1.468197 -0.373677 +v -0.361792 0.920287 -0.177628 +v -0.530910 0.889097 -0.143575 +v -0.421773 0.949627 -0.178739 +v -0.301303 0.694087 -0.282465 +v -0.431716 0.949678 -0.179480 +v -0.311219 0.693807 -0.279862 +v -0.321132 0.693607 -0.278540 +v -0.331092 0.693407 -0.277062 +v -0.332686 1.022197 -0.157833 +v -0.552236 1.005947 -0.123480 +v -0.341112 0.693247 -0.275805 +v -0.351671 0.778607 -0.245819 +v -0.351071 0.693117 -0.274326 +v -0.528340 0.805077 0.372211 +v -0.063679 1.334057 -0.243352 +v 0.005711 1.438287 -0.277825 +v -0.361068 0.692897 -0.271637 +v -0.292595 0.978048 -0.148590 +v -0.311184 0.750867 -0.269333 +v -0.509889 0.431187 0.204089 +v -0.501740 0.948727 -0.165319 +v -0.520890 0.874767 -0.147584 +v -0.321362 0.750817 -0.266049 +v -0.291272 0.765447 -0.270747 +v -0.171267 0.766597 -0.281066 +v -0.361664 0.764097 -0.245745 +v -0.471949 1.051258 -0.158610 +v -0.273581 1.257417 -0.112470 +v -0.370840 0.692707 -0.267177 +v -0.011265 0.740257 -0.311942 +v 0.510322 0.329435 -0.327306 +v 0.500573 0.330560 -0.341543 +v 0.490761 0.331442 -0.353204 +v 0.480734 0.332025 -0.360880 +v 0.470783 0.332370 -0.366137 +v 0.460487 0.332965 -0.371947 +v 0.450599 0.333081 -0.374723 +v 0.440428 0.333543 -0.379419 +v 0.430570 0.333761 -0.383642 +v 0.420561 0.334042 -0.387383 +v 0.410561 0.334218 -0.389955 +v 0.400438 0.334425 -0.392108 +v 0.390506 0.334575 -0.394934 +v 0.380618 0.334734 -0.397839 +v 0.370421 0.335157 -0.402243 +v 0.360540 0.335435 -0.406412 +v 0.350549 0.335725 -0.410231 +v 0.340554 0.335873 -0.412793 +v 0.330521 0.336048 -0.415250 +v 0.320434 0.336325 -0.418816 +v 0.310597 0.336512 -0.421870 +v 0.300537 0.336790 -0.425433 +v 0.290365 0.337062 -0.428738 +v 0.280449 0.337381 -0.432877 +v 0.270409 0.337439 -0.434030 +v 0.260532 0.337355 -0.433365 +v 0.250509 0.337293 -0.433464 +v 0.240411 0.337394 -0.435235 +v 0.230481 0.337456 -0.436917 +v 0.220395 0.337632 -0.439074 +v 0.210461 0.337680 -0.440941 +v 0.200386 0.337857 -0.442815 +v 0.190384 0.337905 -0.444207 +v 0.180386 0.337958 -0.445380 +v 0.170404 0.338144 -0.447955 +v 0.160491 0.338406 -0.451971 +v 0.150341 0.338694 -0.455254 +v 0.140524 0.338707 -0.457214 +v 0.130364 0.339122 -0.461813 +v 0.120316 0.339382 -0.465584 +v 0.110329 0.339429 -0.466988 +v 0.100291 0.339434 -0.466587 +v 0.090253 0.339107 -0.464287 +v 0.080200 0.338801 -0.461844 +v 0.070137 0.338392 -0.458041 +v 0.060171 0.338063 -0.454124 +v 0.049936 0.337337 -0.448029 +v 0.040175 0.337041 -0.442516 +v 0.030221 0.336398 -0.434808 +v 0.020667 0.335827 -0.425466 +v -0.380977 0.692277 -0.262515 +v -0.390633 0.691797 -0.255629 +v -0.382456 1.037138 -0.169206 +v -0.338432 0.034073 0.352817 +v -0.502640 1.094947 -0.143997 +v -0.073794 1.378537 -0.240574 +v -0.384738 1.378107 -0.689152 +v -0.400598 0.691307 -0.249103 +v -0.069261 0.319339 -0.236443 +v -0.079189 0.318616 -0.228825 +v -0.089183 0.318480 -0.227526 +v -0.099198 0.318412 -0.227492 +v -0.109190 0.318602 -0.227028 +v -0.119191 0.318539 -0.225559 +v -0.129209 0.318608 -0.225286 +v -0.139219 0.318582 -0.225250 +v -0.149245 0.318561 -0.226674 +v -0.159208 0.318524 -0.228104 +v -0.169169 0.318266 -0.227048 +v -0.179076 0.318362 -0.226664 +v -0.189000 0.318193 -0.225337 +v -0.198945 0.318042 -0.224072 +v -0.209319 0.317130 -0.218715 +v -0.219215 0.316760 -0.213328 +v -0.228884 0.316351 -0.207782 +v -0.238731 0.315875 -0.201234 +v -0.248706 0.315253 -0.194896 +v -0.258502 0.314859 -0.189584 +v -0.268673 0.314112 -0.182241 +v -0.277821 0.313241 -0.166234 +v -0.287763 0.311730 -0.157631 +v -0.299032 0.311359 -0.153525 +v -0.308897 0.311353 -0.150679 +v -0.318880 0.311324 -0.147804 +v -0.328825 0.311200 -0.144954 +v -0.338748 0.310998 -0.140741 +v -0.348742 0.310533 -0.136761 +v -0.358803 0.309802 -0.132903 +v -0.368822 0.308972 -0.126288 +v -0.378266 0.310010 -0.125395 +v -0.388529 0.308586 -0.117853 +v -0.411077 0.691107 -0.243637 +v 0.055711 1.438497 -0.309584 +v -0.331428 0.750707 -0.263563 +v -0.341407 0.750447 -0.260763 +v -0.103079 1.259477 -0.203059 +v -0.153024 1.229127 -0.174291 +v -0.008475 0.038378 0.437705 +v -0.292795 0.992527 -0.147018 +v -0.471413 0.802847 -0.166438 +v -0.461441 0.803237 -0.172890 +v -0.365947 0.402123 0.294526 +v -0.351853 0.920207 -0.176496 +v -0.551073 0.888717 -0.132801 +v -0.540771 0.888937 -0.137883 +v -0.421020 0.690787 -0.239755 +v -0.571242 0.888087 -0.123782 +v -0.561309 0.888277 -0.127917 +v -0.580982 0.888017 -0.119367 +v -0.352483 1.022337 -0.162969 +v -0.491065 0.846037 -0.153086 +v -0.572275 0.976447 -0.122198 +v -0.562049 0.976678 -0.130095 +v -0.483740 0.350974 0.067760 +v -0.442047 0.436569 0.283914 +v 0.016323 1.334387 -0.257511 +v -0.124166 1.333658 -0.214758 +v -0.413407 0.408090 0.279075 +v -0.431210 0.690647 -0.235043 +v 0.096254 1.334767 -0.272897 +v -0.351647 0.750337 -0.256042 +v -0.322780 1.036787 -0.151780 +v -0.491700 0.948897 -0.168902 +v -0.322503 0.993067 -0.159316 +v -0.341368 0.764527 -0.255529 +v -0.191373 0.766647 -0.276724 +v -0.181289 0.766527 -0.278736 +v -0.371508 0.763517 -0.237842 +v -0.530657 0.830057 -0.124462 +v -0.440921 0.690217 -0.231869 +v 0.530402 0.342744 -0.316045 +v 0.520575 0.343198 -0.322592 +v 0.510898 0.343625 -0.329290 +v 0.500013 0.345316 -0.347425 +v 0.490431 0.346067 -0.358040 +v 0.480594 0.346514 -0.364577 +v 0.470796 0.346783 -0.370068 +v 0.460858 0.347099 -0.374220 +v 0.450717 0.347316 -0.376586 +v 0.440593 0.347600 -0.380073 +v 0.430421 0.348012 -0.384677 +v 0.420544 0.348256 -0.388827 +v 0.410364 0.348584 -0.392129 +v 0.400608 0.348466 -0.394354 +v 0.390504 0.348487 -0.395442 +v 0.380455 0.348756 -0.396222 +v 0.370338 0.349042 -0.399663 +v 0.360360 0.349311 -0.403482 +v 0.350365 0.349610 -0.407397 +v 0.340316 0.349865 -0.411012 +v 0.330431 0.350034 -0.413943 +v 0.320500 0.350212 -0.416698 +v 0.310522 0.350416 -0.419275 +v 0.300487 0.350602 -0.421769 +v 0.290353 0.350850 -0.425080 +v 0.280275 0.351062 -0.428584 +v 0.270281 0.351244 -0.431191 +v 0.260392 0.351379 -0.432992 +v 0.250477 0.351327 -0.433485 +v 0.240496 0.351362 -0.434639 +v 0.230276 0.351518 -0.436206 +v 0.220518 0.351573 -0.439178 +v 0.210376 0.351693 -0.442129 +v 0.200344 0.351983 -0.444441 +v 0.190285 0.352065 -0.445287 +v 0.180448 0.351982 -0.446121 +v 0.170421 0.352274 -0.449476 +v 0.160263 0.352601 -0.452698 +v 0.150295 0.352745 -0.455366 +v 0.140536 0.352925 -0.459896 +v 0.130347 0.353368 -0.464538 +v 0.120263 0.353560 -0.466895 +v 0.110224 0.353764 -0.469151 +v 0.100197 0.353678 -0.469572 +v 0.090190 0.353633 -0.469384 +v 0.080074 0.353275 -0.467311 +v 0.070060 0.353018 -0.464633 +v 0.059993 0.352622 -0.460758 +v 0.049938 0.352102 -0.455652 +v 0.040160 0.351792 -0.450112 +v 0.030196 0.351139 -0.442427 +v 0.020255 0.350484 -0.434721 +v -0.451062 0.689977 -0.227029 +v -0.283083 1.183448 -0.111369 +v -0.372519 1.037077 -0.166668 +v -0.343029 1.065917 -0.154951 +v -0.512688 1.094787 -0.138638 +v -0.460924 0.689617 -0.222920 +v -0.470941 0.689247 -0.217835 +v 0.046271 1.349607 -0.272580 +v -0.480710 0.688697 -0.211163 +v -0.079279 0.333570 -0.237722 +v -0.089294 0.333248 -0.233886 +v -0.099262 0.333200 -0.233860 +v -0.109239 0.333483 -0.233045 +v -0.119256 0.333272 -0.231932 +v -0.129309 0.333284 -0.231796 +v -0.139317 0.333483 -0.232801 +v -0.149337 0.333893 -0.234863 +v -0.159269 0.333438 -0.235685 +v -0.169217 0.333448 -0.235570 +v -0.179225 0.333101 -0.234648 +v -0.189219 0.332552 -0.229728 +v -0.199188 0.332420 -0.228388 +v -0.209435 0.331858 -0.225099 +v -0.219000 0.331773 -0.220526 +v -0.229077 0.330916 -0.211779 +v -0.238879 0.330334 -0.203897 +v -0.248983 0.329698 -0.197712 +v -0.259053 0.329086 -0.191471 +v -0.268605 0.328911 -0.185824 +v -0.277626 0.327651 -0.179193 +v -0.289135 0.327142 -0.171296 +v -0.299019 0.327225 -0.169780 +v -0.309016 0.327279 -0.168342 +v -0.318933 0.327282 -0.165602 +v -0.328790 0.327450 -0.162682 +v -0.339021 0.326111 -0.158307 +v -0.349080 0.325540 -0.154645 +v -0.358796 0.325930 -0.151402 +v -0.369297 0.325107 -0.145891 +v -0.378923 0.324441 -0.139805 +v -0.388695 0.324249 -0.133883 +v -0.398326 0.323877 -0.126978 +v -0.491225 0.688397 -0.202900 +v 0.035555 1.438407 -0.297106 +v 0.015872 1.438297 -0.285204 +v 0.026381 1.334677 -0.259703 +v 0.005669 1.393808 -0.279657 +v 0.085041 1.468077 -0.333067 +v -0.142828 1.229687 -0.177356 +v -0.490239 0.357587 0.060917 +v -0.312591 0.992917 -0.155364 +v -0.173343 1.243517 -0.174831 +v 0.135088 1.453397 -0.370040 +v -0.341938 0.920147 -0.175412 +v -0.322061 0.919857 -0.170416 +v -0.357360 0.289816 0.129663 +v -0.331937 0.920107 -0.173379 +v -0.163280 1.243657 -0.178521 +v -0.341570 0.778807 -0.249560 +v -0.341520 0.360230 0.265532 +v -0.273211 0.392897 0.304967 +v -0.163394 1.258467 -0.184889 +v -0.173147 1.228817 -0.168191 +v 0.001936 0.038795 0.439556 +v -0.331954 0.292759 0.150095 +v -0.273302 1.213068 -0.116615 +v 0.006375 1.334468 -0.255993 +v -0.073678 1.334007 -0.240732 +v -0.466949 0.434600 0.262780 +v -0.303810 0.324471 0.234247 +v -0.540658 0.829737 -0.117733 +v -0.371606 0.806267 -0.222779 +v -0.163961 1.303447 -0.190418 +v -0.292640 1.124257 -0.105623 +v -0.492397 1.080397 -0.150462 +v -0.231235 0.766237 -0.279742 +v -0.201222 0.766147 -0.275907 +v -0.251291 0.766077 -0.278516 +v -0.020857 0.668776 -0.325013 +v -0.470864 0.831407 -0.155408 +v -0.373954 1.305767 -0.676143 +v 0.530390 0.357336 -0.321272 +v 0.520502 0.357780 -0.327706 +v 0.510505 0.358463 -0.336595 +v 0.499793 0.359687 -0.349791 +v 0.490369 0.360306 -0.359322 +v 0.480430 0.360892 -0.367021 +v 0.470791 0.361236 -0.372834 +v 0.460827 0.361499 -0.376866 +v 0.450674 0.361652 -0.379211 +v 0.440626 0.361941 -0.382848 +v 0.430523 0.362290 -0.387619 +v 0.420352 0.362736 -0.392345 +v 0.410429 0.362978 -0.396376 +v 0.400888 0.363116 -0.399814 +v 0.390724 0.362833 -0.399133 +v 0.380536 0.362755 -0.396976 +v 0.370305 0.363040 -0.398525 +v 0.360159 0.363371 -0.401863 +v 0.350268 0.363603 -0.406042 +v 0.340225 0.363999 -0.410998 +v 0.330332 0.364211 -0.415136 +v 0.320431 0.364262 -0.416697 +v 0.310272 0.364483 -0.418691 +v 0.300290 0.364552 -0.420106 +v 0.290287 0.364709 -0.422657 +v 0.280336 0.364883 -0.425346 +v 0.270344 0.365051 -0.428011 +v 0.260294 0.365204 -0.430349 +v 0.250322 0.365369 -0.433004 +v 0.240295 0.365622 -0.436644 +v 0.230245 0.365911 -0.440242 +v 0.220216 0.366314 -0.445272 +v 0.210243 0.366460 -0.447901 +v 0.200269 0.366480 -0.449436 +v 0.190216 0.366588 -0.450422 +v 0.180250 0.366407 -0.450911 +v 0.170369 0.366508 -0.452002 +v 0.160155 0.366894 -0.455265 +v 0.150222 0.367243 -0.460432 +v 0.140417 0.367474 -0.466130 +v 0.130371 0.367546 -0.467384 +v 0.120283 0.367755 -0.469858 +v 0.110178 0.367896 -0.470894 +v 0.100163 0.368037 -0.471554 +v 0.090129 0.367819 -0.470736 +v 0.080131 0.367805 -0.470562 +v 0.070036 0.367415 -0.468449 +v 0.060093 0.367334 -0.466853 +v 0.049870 0.366704 -0.462142 +v 0.039904 0.366274 -0.456848 +v 0.030080 0.365821 -0.450158 +v 0.020236 0.365243 -0.442342 +v 0.010123 0.364383 -0.433550 +v -0.183411 1.243407 -0.171075 +v -0.362578 1.037017 -0.163985 +v -0.392454 1.066557 -0.167149 +v 0.108756 0.059576 0.426284 +v -0.083627 1.378407 -0.235285 +v -0.281372 0.779987 -0.269761 +v -0.045324 0.044656 0.423674 +v 0.036065 0.033994 0.433713 +v -0.079409 0.348245 -0.242798 +v -0.089341 0.348212 -0.242785 +v -0.099333 0.347820 -0.238952 +v -0.109340 0.347799 -0.238930 +v -0.119378 0.347918 -0.236947 +v -0.129407 0.348023 -0.238215 +v -0.139410 0.348277 -0.240588 +v -0.149426 0.348544 -0.242920 +v -0.159343 0.348183 -0.243562 +v -0.169244 0.348304 -0.243166 +v -0.179339 0.347870 -0.242503 +v -0.189315 0.347568 -0.239994 +v -0.199374 0.347165 -0.236294 +v -0.209443 0.346664 -0.231303 +v -0.219236 0.346322 -0.225887 +v -0.228951 0.346060 -0.220276 +v -0.238739 0.345738 -0.213576 +v -0.248781 0.345153 -0.207319 +v -0.259318 0.344028 -0.201884 +v -0.269349 0.343490 -0.196846 +v -0.279343 0.343129 -0.193036 +v -0.289160 0.343295 -0.191421 +v -0.299125 0.343243 -0.188745 +v -0.309234 0.342365 -0.183942 +v -0.319292 0.341727 -0.180332 +v -0.329257 0.341643 -0.178986 +v -0.339332 0.341142 -0.175316 +v -0.349239 0.341191 -0.172497 +v -0.359387 0.340345 -0.167706 +v -0.369196 0.340362 -0.162245 +v -0.378581 0.341136 -0.157686 +v -0.388834 0.339503 -0.147666 +v -0.398964 0.338411 -0.138422 +v -0.408892 0.337707 -0.130251 +v -0.560897 0.858737 -0.116628 +v -0.004046 1.438187 -0.271161 +v 0.388882 0.783187 -0.277324 +v -0.044116 1.393637 -0.253766 +v -0.395037 1.435237 -0.688056 +v -0.111261 0.781137 -0.281016 +v -0.459457 0.386443 0.217989 +v -0.122906 1.229838 -0.180038 +v -0.252477 1.139117 -0.101156 +v -0.042904 1.233547 -0.173147 +v 0.115074 1.453337 -0.354675 +v -0.432684 0.435227 0.287240 +v -0.302785 1.109297 -0.113322 +v -0.044210 1.334297 -0.247930 +v -0.313083 1.007227 -0.153350 +v -0.546271 0.796387 0.357246 +v -0.552144 0.991447 -0.128871 +v -0.542134 0.991547 -0.132875 +v 0.145606 1.453637 -0.378279 +v 0.016191 1.364297 -0.273829 +v -0.322391 0.978417 -0.159341 +v 0.135359 1.409068 -0.349574 +v -0.393383 1.247747 -0.624197 +v -0.283196 1.213027 -0.111048 +v 0.086375 1.335027 -0.271251 +v -0.083755 1.333917 -0.237105 +v -0.104641 1.378677 -0.220118 +v -0.114527 1.378537 -0.213600 +v -0.312690 0.978217 -0.156032 +v -0.402016 0.978867 -0.179432 +v -0.361372 0.749817 -0.251634 +v -0.391421 0.805427 -0.210991 +v -0.342574 1.036947 -0.158163 +v -0.451108 0.846617 -0.167113 +v -0.221229 0.766377 -0.279996 +v -0.211246 0.766607 -0.278134 +v -0.271429 0.794387 -0.266085 +v -0.364949 1.392237 -0.703977 +v -0.461618 0.949307 -0.176154 +v 0.540433 0.371290 -0.318841 +v 0.530464 0.371653 -0.323856 +v 0.519949 0.372489 -0.332190 +v 0.510425 0.373041 -0.341712 +v 0.500321 0.373744 -0.350460 +v 0.490212 0.374435 -0.359193 +v 0.480363 0.375025 -0.367084 +v 0.470425 0.375508 -0.373556 +v 0.460566 0.375794 -0.377692 +v 0.450331 0.376057 -0.381013 +v 0.440327 0.376309 -0.384830 +v 0.430360 0.376680 -0.389971 +v 0.420254 0.377159 -0.396100 +v 0.410398 0.377425 -0.400356 +v 0.400462 0.377595 -0.403029 +v 0.390152 0.377779 -0.404577 +v 0.380218 0.377857 -0.404674 +v 0.370310 0.377595 -0.405282 +v 0.360141 0.378079 -0.408359 +v 0.350269 0.378106 -0.411323 +v 0.340263 0.378460 -0.416463 +v 0.330212 0.378866 -0.421368 +v 0.320129 0.379247 -0.424828 +v 0.310254 0.379028 -0.425406 +v 0.300145 0.379202 -0.426094 +v 0.290166 0.379122 -0.426294 +v 0.280257 0.379208 -0.429260 +v 0.270275 0.379370 -0.431863 +v 0.260327 0.379377 -0.433341 +v 0.250210 0.379770 -0.436492 +v 0.239983 0.380131 -0.441209 +v 0.230191 0.380407 -0.445458 +v 0.220267 0.380547 -0.448343 +v 0.210211 0.380730 -0.450574 +v 0.200315 0.380563 -0.451146 +v 0.190152 0.380870 -0.452901 +v 0.180185 0.380906 -0.454314 +v 0.170434 0.380765 -0.456225 +v 0.160250 0.381308 -0.460745 +v 0.150176 0.381917 -0.468262 +v 0.140206 0.381895 -0.469862 +v 0.130296 0.381876 -0.469973 +v 0.120155 0.382101 -0.472046 +v 0.110091 0.382127 -0.473545 +v 0.100097 0.381907 -0.472553 +v 0.090114 0.381914 -0.472257 +v 0.079916 0.381745 -0.471460 +v 0.070064 0.381899 -0.472029 +v 0.060023 0.381727 -0.470850 +v 0.049952 0.381439 -0.468287 +v 0.039916 0.380950 -0.463168 +v 0.029668 0.380146 -0.455812 +v 0.020149 0.379948 -0.450005 +v 0.010073 0.379137 -0.441192 +v -0.551142 0.873757 -0.127714 +v -0.352694 1.036907 -0.161212 +v -0.402333 1.066597 -0.168552 +v -0.531542 0.773817 0.253806 +v -0.094308 1.378577 -0.227349 +v -0.384560 1.306087 -0.674667 +v -0.439854 0.813257 0.403669 +v -0.421240 0.861617 -0.174582 +v -0.079486 0.363695 -0.258026 +v -0.089443 0.363005 -0.250391 +v -0.099405 0.362691 -0.246595 +v -0.109396 0.362396 -0.244013 +v -0.119490 0.362827 -0.244489 +v -0.129464 0.362596 -0.244871 +v -0.139561 0.363158 -0.248116 +v -0.149485 0.363043 -0.249716 +v -0.159419 0.363100 -0.250968 +v -0.169394 0.362761 -0.250093 +v -0.179350 0.362600 -0.248780 +v -0.189221 0.362464 -0.245880 +v -0.199219 0.361940 -0.240918 +v -0.209299 0.361445 -0.235955 +v -0.219369 0.360927 -0.231045 +v -0.229158 0.360679 -0.225436 +v -0.239239 0.360253 -0.221863 +v -0.249294 0.359955 -0.219430 +v -0.259138 0.360413 -0.218817 +v -0.269224 0.360350 -0.218945 +v -0.279241 0.360367 -0.217595 +v -0.289280 0.359490 -0.212879 +v -0.299281 0.359347 -0.210298 +v -0.309270 0.359084 -0.207799 +v -0.319326 0.359181 -0.207739 +v -0.329454 0.357356 -0.200790 +v -0.339170 0.358558 -0.202590 +v -0.349234 0.358235 -0.198830 +v -0.358987 0.358100 -0.193437 +v -0.368818 0.357157 -0.181916 +v -0.378657 0.356644 -0.174137 +v -0.389176 0.355097 -0.164538 +v -0.399015 0.354148 -0.154274 +v -0.408279 0.354292 -0.147128 +v 0.288615 0.797857 -0.292058 +v -0.131269 0.766977 -0.285064 +v -0.372026 0.949527 -0.176593 +v -0.104118 1.333797 -0.226197 +v -0.404781 1.435357 -0.678172 +v -0.311331 0.779377 -0.261814 +v -0.421547 0.762077 -0.212593 +v -0.382698 1.066507 -0.166468 +v -0.394479 0.405584 0.285377 +v -0.423539 0.445739 0.297612 +v -0.262489 1.139107 -0.100972 +v -0.431545 0.934887 -0.177777 +v -0.482298 1.080547 -0.154233 +v -0.054024 1.408337 -0.245861 +v -0.063872 1.408247 -0.239324 +v -0.371423 0.749387 -0.244073 +v -0.381198 0.748757 -0.236120 +v -0.391485 0.748677 -0.231558 +v -0.401210 0.748277 -0.228531 +v -0.411451 0.748197 -0.223851 +v -0.421490 0.747897 -0.218851 +v -0.431507 0.747587 -0.213758 +v -0.441458 0.747197 -0.208539 +v -0.322783 1.007497 -0.157543 +v -0.401486 0.762607 -0.222638 +v -0.073849 1.348867 -0.242215 +v 0.076381 1.335008 -0.268649 +v -0.003661 1.334367 -0.254787 +v -0.510092 0.371485 0.061951 +v -0.391625 0.762937 -0.226612 +v -0.272473 1.124308 -0.099376 +v -0.502095 1.050848 -0.145972 +v -0.451156 0.746687 -0.204229 +v -0.572461 0.991047 -0.115595 +v -0.281374 0.808137 -0.256771 +v -0.411367 0.790547 -0.205847 +v -0.241212 0.766127 -0.279570 +v -0.301557 0.808057 -0.252154 +v -0.391886 0.949607 -0.177982 +v -0.431645 0.761827 -0.207618 +v -0.193390 1.258217 -0.172095 +v 0.540353 0.385766 -0.322657 +v 0.530567 0.386097 -0.328019 +v 0.520497 0.386702 -0.335577 +v 0.510482 0.387389 -0.344440 +v 0.499963 0.388108 -0.352579 +v 0.490419 0.388478 -0.358362 +v 0.480079 0.389008 -0.365463 +v 0.470154 0.389504 -0.371920 +v 0.460249 0.389895 -0.377194 +v 0.450382 0.390215 -0.381266 +v 0.440368 0.390480 -0.385028 +v 0.430480 0.390749 -0.389102 +v 0.420303 0.391187 -0.395119 +v 0.410273 0.391573 -0.400156 +v 0.399968 0.391852 -0.404344 +v 0.390297 0.392000 -0.406661 +v 0.380094 0.392246 -0.409797 +v 0.370221 0.392390 -0.412666 +v 0.360045 0.392726 -0.416128 +v 0.349728 0.393364 -0.420846 +v 0.340092 0.393250 -0.423805 +v 0.330274 0.393257 -0.426942 +v 0.320119 0.393677 -0.430208 +v 0.310127 0.393721 -0.431506 +v 0.300082 0.393847 -0.432549 +v 0.290179 0.393616 -0.433237 +v 0.280106 0.394009 -0.436539 +v 0.270113 0.394181 -0.439080 +v 0.260129 0.394216 -0.440402 +v 0.250295 0.393918 -0.441346 +v 0.240271 0.394232 -0.443651 +v 0.230109 0.394599 -0.446738 +v 0.220141 0.394754 -0.449405 +v 0.210211 0.394774 -0.450881 +v 0.200198 0.394829 -0.452114 +v 0.190110 0.395126 -0.455625 +v 0.180139 0.395406 -0.460593 +v 0.170257 0.394754 -0.460862 +v 0.160203 0.395540 -0.464749 +v 0.150084 0.396225 -0.470762 +v 0.140215 0.396225 -0.472522 +v 0.130130 0.396233 -0.472257 +v 0.120084 0.396387 -0.474925 +v 0.110051 0.396441 -0.476190 +v 0.100032 0.396399 -0.476050 +v 0.089999 0.396335 -0.476035 +v 0.079944 0.396013 -0.474020 +v 0.069960 0.396130 -0.474808 +v 0.059815 0.395899 -0.473876 +v 0.049865 0.395812 -0.472266 +v 0.039825 0.395448 -0.468369 +v 0.030023 0.395072 -0.462830 +v 0.019944 0.394373 -0.455327 +v 0.010195 0.393963 -0.448619 +v 0.000145 0.393109 -0.439912 +v -0.351322 0.876547 -0.183747 +v -0.341458 0.876967 -0.186914 +v -0.412241 1.066587 -0.168687 +v -0.498328 0.452613 0.240982 +v -0.504233 0.754257 0.257497 +v -0.311300 0.793507 -0.256653 +v -0.423909 1.205467 -0.560211 +v -0.079548 0.378504 -0.265663 +v -0.089520 0.377755 -0.256770 +v -0.099480 0.377370 -0.252935 +v -0.109473 0.377171 -0.250397 +v -0.119565 0.377596 -0.250782 +v -0.129581 0.377512 -0.252393 +v -0.139674 0.378094 -0.255473 +v -0.149566 0.378167 -0.258088 +v -0.159467 0.378036 -0.259770 +v -0.169531 0.377479 -0.257958 +v -0.179500 0.377417 -0.255042 +v -0.189404 0.376858 -0.249994 +v -0.199370 0.376424 -0.244875 +v -0.209157 0.376199 -0.240506 +v -0.219323 0.375701 -0.235684 +v -0.229351 0.375462 -0.233134 +v -0.239324 0.375680 -0.232582 +v -0.249450 0.375024 -0.231011 +v -0.259408 0.375259 -0.230566 +v -0.269431 0.375277 -0.230566 +v -0.279429 0.375384 -0.231819 +v -0.289418 0.375622 -0.232919 +v -0.299386 0.376238 -0.235024 +v -0.309315 0.375849 -0.233982 +v -0.319332 0.375361 -0.233029 +v -0.329262 0.375478 -0.232864 +v -0.339332 0.374842 -0.228019 +v -0.349185 0.374254 -0.221545 +v -0.359162 0.373699 -0.215240 +v -0.369060 0.373151 -0.207511 +v -0.378590 0.373196 -0.199344 +v -0.388600 0.372441 -0.190278 +v -0.398707 0.371579 -0.179361 +v -0.408616 0.370042 -0.166768 +v -0.418586 0.369062 -0.155020 +v -0.428282 0.369323 -0.146733 +v -0.292672 1.109468 -0.109615 +v -0.562324 0.991277 -0.123609 +v -0.321638 0.821787 -0.237001 +v -0.332339 0.949157 -0.167658 +v 0.167701 1.454268 -0.384607 +v 0.045707 1.453197 -0.303189 +v -0.471711 0.963807 -0.173936 +v -0.523148 0.395722 0.108837 +v -0.364861 0.391723 0.286039 +v -0.272486 1.139117 -0.102189 +v -0.476253 0.795017 0.374227 +v -0.441514 0.761407 -0.202330 +v -0.290735 0.040410 0.375008 +v -0.461396 0.746487 -0.198243 +v -0.471412 0.746097 -0.191881 +v -0.481032 0.745507 -0.186242 +v 0.114856 1.482897 -0.359870 +v -0.243642 1.257697 -0.136986 +v 0.075912 1.394147 -0.304614 +v -0.133093 1.259017 -0.196981 +v -0.229082 0.387394 0.301991 +v -0.282617 1.109557 -0.105722 +v 0.148822 0.754927 -0.310418 +v 0.055626 0.045083 0.445522 +v 0.066311 1.334727 -0.266384 +v -0.419852 0.390323 0.258081 +v -0.506208 0.456541 0.235838 +v -0.342450 0.978567 -0.166505 +v -0.242956 1.183657 -0.124629 +v -0.421481 0.804557 -0.194648 +v -0.421870 0.993237 -0.176942 +v -0.471651 0.949167 -0.173833 +v -0.372322 1.022508 -0.167198 +v -0.163183 1.228797 -0.170896 +v -0.114130 1.348657 -0.219677 +v -0.311395 0.807667 -0.249199 +v -0.063760 1.363807 -0.247015 +v -0.602210 0.805597 0.337190 +v 0.549897 0.399713 -0.318404 +v 0.540414 0.400130 -0.325400 +v 0.530272 0.400610 -0.331555 +v 0.520119 0.401201 -0.338965 +v 0.510466 0.401658 -0.345864 +v 0.500526 0.402156 -0.352343 +v 0.490212 0.402614 -0.358161 +v 0.480539 0.402995 -0.362691 +v 0.469820 0.403275 -0.368816 +v 0.460157 0.403818 -0.374603 +v 0.450062 0.404111 -0.379483 +v 0.440152 0.404457 -0.383492 +v 0.430062 0.404768 -0.388341 +v 0.420005 0.405122 -0.393314 +v 0.409983 0.405479 -0.398327 +v 0.400267 0.405783 -0.401573 +v 0.390286 0.405938 -0.404204 +v 0.380073 0.406151 -0.407458 +v 0.370337 0.406413 -0.411791 +v 0.360101 0.406863 -0.417679 +v 0.350095 0.407232 -0.422776 +v 0.339980 0.407671 -0.427603 +v 0.330155 0.407736 -0.430656 +v 0.320070 0.407924 -0.432904 +v 0.310103 0.407957 -0.434443 +v 0.300062 0.408166 -0.436704 +v 0.290104 0.408149 -0.438318 +v 0.280048 0.408375 -0.440553 +v 0.270081 0.408505 -0.443164 +v 0.260129 0.408520 -0.444794 +v 0.250108 0.408594 -0.445954 +v 0.240191 0.408534 -0.446209 +v 0.230126 0.408624 -0.447242 +v 0.220084 0.408839 -0.449425 +v 0.210063 0.408980 -0.451887 +v 0.200064 0.409158 -0.454409 +v 0.190221 0.409415 -0.460105 +v 0.180113 0.409871 -0.464746 +v 0.170054 0.409952 -0.465864 +v 0.159963 0.410049 -0.466807 +v 0.149924 0.410324 -0.470435 +v 0.140006 0.410463 -0.473308 +v 0.129947 0.410615 -0.475559 +v 0.119972 0.410693 -0.477079 +v 0.109947 0.410748 -0.478297 +v 0.099961 0.410688 -0.478482 +v 0.089967 0.410664 -0.478405 +v 0.079965 0.410625 -0.478186 +v 0.069938 0.410551 -0.478420 +v 0.059852 0.410373 -0.477403 +v 0.049726 0.410093 -0.475040 +v 0.039749 0.409878 -0.472202 +v 0.029782 0.409410 -0.466982 +v 0.019970 0.408921 -0.460307 +v 0.009998 0.408243 -0.452662 +v 0.000150 0.407733 -0.446118 +v -0.009479 0.407200 -0.438085 +v 0.369010 0.712067 -0.297168 +v -0.491242 0.745157 -0.178861 +v -0.422207 1.066527 -0.167723 +v -0.384221 1.291567 -0.666166 +v -0.301253 0.793677 -0.260305 +v 0.358957 0.711997 -0.295898 +v -0.079627 0.393352 -0.273325 +v -0.089612 0.392576 -0.264398 +v -0.099595 0.392323 -0.261840 +v -0.109541 0.391962 -0.258021 +v -0.119617 0.392244 -0.258689 +v -0.129610 0.392102 -0.258922 +v -0.139714 0.392609 -0.262038 +v -0.149603 0.392655 -0.264831 +v -0.159548 0.392592 -0.266437 +v -0.169556 0.392396 -0.265372 +v -0.179586 0.391863 -0.260482 +v -0.189603 0.391304 -0.254113 +v -0.199508 0.390908 -0.248859 +v -0.209454 0.390499 -0.243578 +v -0.219427 0.390369 -0.240696 +v -0.229416 0.390547 -0.240093 +v -0.239508 0.390630 -0.241457 +v -0.249585 0.390626 -0.242933 +v -0.259612 0.390979 -0.243829 +v -0.269614 0.390971 -0.243937 +v -0.279582 0.390885 -0.245446 +v -0.289544 0.391215 -0.246369 +v -0.299521 0.390504 -0.245863 +v -0.309520 0.390384 -0.245928 +v -0.319534 0.390023 -0.244940 +v -0.329532 0.389909 -0.243600 +v -0.339473 0.389783 -0.240898 +v -0.349450 0.389317 -0.235816 +v -0.359400 0.388685 -0.228154 +v -0.369526 0.387818 -0.220738 +v -0.379250 0.387775 -0.215270 +v -0.389218 0.387119 -0.207622 +v -0.399031 0.386551 -0.198549 +v -0.408749 0.386739 -0.193003 +v -0.418050 0.386933 -0.186090 +v -0.428635 0.383954 -0.162621 +v -0.438856 0.383118 -0.156431 +v -0.448509 0.383481 -0.153423 +v 0.349049 0.711927 -0.297133 +v -0.381163 0.777127 -0.227153 +v 0.157682 1.454197 -0.384679 +v 0.035486 1.453238 -0.295845 +v -0.224002 1.287917 -0.149318 +v -0.405195 1.449547 -0.680986 +v -0.581592 0.852237 0.393516 +v -0.292694 0.356753 0.279010 +v -0.524847 0.381710 0.050211 +v -0.382344 0.305841 0.145806 +v 0.094864 1.482857 -0.343259 +v -0.311299 0.765127 -0.265652 +v -0.262423 0.394093 0.306408 +v 0.104987 1.468087 -0.349599 +v 0.005737 1.453087 -0.275194 +v 0.338961 0.711967 -0.300363 +v -0.500930 0.744577 -0.172083 +v -0.375237 1.435527 -0.701678 +v -0.303473 1.227717 -0.095051 +v -0.370071 0.297473 0.138007 +v -0.413008 1.220117 -0.588379 +v -0.448965 0.320934 0.101167 +v -0.615232 0.825717 0.353718 +v -0.252599 1.154037 -0.110551 +v -0.352306 0.978667 -0.169407 +v 0.328999 0.712147 -0.303155 +v -0.481413 0.788277 -0.166397 +v 0.055484 1.453277 -0.309793 +v -0.153330 1.243667 -0.181183 +v -0.481623 0.949037 -0.171352 +v -0.591070 0.872607 -0.103494 +v -0.431154 0.861547 -0.173017 +v -0.432043 1.066507 -0.167151 +v -0.352806 1.066227 -0.158073 +v -0.384660 1.349157 -0.687432 +v 0.319051 0.712327 -0.305944 +v 0.550235 0.413837 -0.318900 +v 0.540036 0.414501 -0.327539 +v 0.530395 0.414971 -0.334420 +v 0.520407 0.415449 -0.340786 +v 0.510163 0.415903 -0.346772 +v 0.500112 0.416345 -0.353031 +v 0.490166 0.416634 -0.356971 +v 0.480201 0.416930 -0.360823 +v 0.469987 0.417181 -0.365482 +v 0.460151 0.417654 -0.370918 +v 0.450151 0.418004 -0.375981 +v 0.440222 0.418317 -0.379929 +v 0.430205 0.418671 -0.385020 +v 0.420023 0.418970 -0.389736 +v 0.410188 0.419328 -0.393936 +v 0.400261 0.419604 -0.397871 +v 0.389973 0.419758 -0.401061 +v 0.379925 0.420003 -0.404765 +v 0.370183 0.420623 -0.412896 +v 0.360512 0.420951 -0.419834 +v 0.350148 0.421553 -0.425562 +v 0.340114 0.421791 -0.429456 +v 0.329984 0.422067 -0.432853 +v 0.320099 0.422110 -0.434666 +v 0.310020 0.422292 -0.436869 +v 0.300000 0.422460 -0.439220 +v 0.290066 0.422479 -0.440904 +v 0.280007 0.422680 -0.443174 +v 0.269955 0.422839 -0.445509 +v 0.260047 0.422848 -0.447321 +v 0.249991 0.422952 -0.448214 +v 0.240020 0.422759 -0.448972 +v 0.230066 0.422987 -0.450938 +v 0.220048 0.423128 -0.453321 +v 0.210012 0.423312 -0.455851 +v 0.200177 0.423430 -0.458919 +v 0.189969 0.423899 -0.463371 +v 0.180108 0.423990 -0.466441 +v 0.170023 0.424216 -0.468688 +v 0.160157 0.424178 -0.469254 +v 0.150014 0.424375 -0.471298 +v 0.139975 0.424538 -0.473627 +v 0.129935 0.424699 -0.475927 +v 0.119940 0.424776 -0.477523 +v 0.109932 0.424853 -0.479098 +v 0.099896 0.424848 -0.479495 +v 0.089907 0.424737 -0.478774 +v 0.079867 0.424669 -0.478931 +v 0.069869 0.424734 -0.479843 +v 0.059849 0.424690 -0.479730 +v 0.049734 0.424418 -0.477497 +v 0.039762 0.424172 -0.474788 +v 0.029592 0.423661 -0.469869 +v 0.019967 0.423318 -0.464042 +v 0.010064 0.422784 -0.457587 +v 0.000048 0.422132 -0.449953 +v -0.009706 0.421607 -0.443343 +v 0.309075 0.712437 -0.307411 +v -0.511095 0.744147 -0.163365 +v 0.299116 0.712587 -0.309025 +v -0.482119 1.065837 -0.153898 +v -0.373285 1.290857 -0.665588 +v 0.145612 1.394247 -0.347052 +v -0.078307 0.409338 -0.289095 +v -0.089679 0.407287 -0.270766 +v -0.099666 0.407161 -0.269480 +v -0.109630 0.406670 -0.264384 +v -0.119722 0.406839 -0.263633 +v -0.129714 0.406747 -0.263881 +v -0.139692 0.406858 -0.266506 +v -0.149675 0.406992 -0.269088 +v -0.159639 0.407097 -0.270144 +v -0.169642 0.406860 -0.269320 +v -0.179741 0.406439 -0.265795 +v -0.189579 0.406086 -0.260280 +v -0.199511 0.405570 -0.253823 +v -0.209354 0.405510 -0.249192 +v -0.219548 0.404931 -0.245971 +v -0.229585 0.404968 -0.245872 +v -0.239634 0.405280 -0.246608 +v -0.249698 0.405394 -0.247781 +v -0.259723 0.405602 -0.250348 +v -0.269646 0.405439 -0.252051 +v -0.279644 0.405601 -0.254606 +v -0.289619 0.405723 -0.255778 +v -0.299585 0.405770 -0.257021 +v -0.309543 0.405806 -0.256904 +v -0.319555 0.405298 -0.254701 +v -0.329502 0.405233 -0.253283 +v -0.339649 0.404531 -0.250051 +v -0.349552 0.404432 -0.247248 +v -0.359490 0.404200 -0.243303 +v -0.369276 0.404241 -0.239272 +v -0.379146 0.403844 -0.232633 +v -0.389316 0.402780 -0.225362 +v -0.398959 0.402762 -0.218522 +v -0.408925 0.401979 -0.209643 +v -0.418867 0.401263 -0.200778 +v -0.428721 0.401359 -0.194095 +v -0.437298 0.401716 -0.186900 +v -0.449534 0.397132 -0.164694 +v -0.458826 0.398043 -0.163879 +v 0.289024 0.712537 -0.310982 +v 0.279065 0.712597 -0.312441 +v 0.025754 1.453137 -0.290425 +v -0.153727 1.288557 -0.196565 +v -0.414853 1.449687 -0.672201 +v -0.461310 0.890547 -0.172159 +v -0.531340 0.918467 -0.145353 +v 0.066407 1.319737 -0.254979 +v 0.047080 1.319567 -0.251972 +v 0.026478 1.319777 -0.249500 +v 0.006433 1.319507 -0.248496 +v -0.023620 1.319217 -0.244964 +v -0.043544 1.319287 -0.241925 +v 0.115268 1.468147 -0.359462 +v -0.083510 1.319088 -0.234145 +v -0.103468 1.318947 -0.227676 +v -0.124132 1.318707 -0.214848 +v -0.134008 1.318627 -0.209477 +v -0.227877 1.157458 -0.116418 +v -0.424233 1.220257 -0.585067 +v -0.451070 0.831957 -0.167149 +v 0.056402 1.334888 -0.264751 +v -0.263180 1.213167 -0.123175 +v -0.242591 1.154127 -0.111876 +v -0.362226 0.978747 -0.172055 +v 0.086080 1.364588 -0.291860 +v -0.381431 0.791547 -0.222477 +v -0.361526 0.792377 -0.235375 +v -0.154340 1.333417 -0.195763 +v -0.043513 1.304348 -0.235734 +v -0.581117 0.872897 -0.110248 +v -0.441143 0.861517 -0.171768 +v 0.025820 1.393887 -0.287066 +v -0.461703 0.963928 -0.176338 +v 0.269000 0.712597 -0.314559 +v 0.560096 0.427339 -0.309936 +v 0.549775 0.427959 -0.318451 +v 0.540055 0.428544 -0.326401 +v 0.529827 0.429181 -0.334968 +v 0.520223 0.429601 -0.340623 +v 0.509968 0.430011 -0.346520 +v 0.500207 0.430338 -0.350792 +v 0.490167 0.430594 -0.354566 +v 0.480199 0.430879 -0.358450 +v 0.470215 0.431155 -0.362345 +v 0.459973 0.431524 -0.368169 +v 0.449968 0.431840 -0.373183 +v 0.439932 0.432138 -0.376973 +v 0.430259 0.432511 -0.381423 +v 0.420232 0.432889 -0.386507 +v 0.410226 0.433191 -0.390398 +v 0.400194 0.433365 -0.394066 +v 0.390179 0.433620 -0.397825 +v 0.380371 0.434009 -0.403166 +v 0.370025 0.434719 -0.412741 +v 0.359963 0.435468 -0.422837 +v 0.350017 0.435843 -0.428050 +v 0.340150 0.436025 -0.430950 +v 0.329991 0.436169 -0.433100 +v 0.319945 0.436327 -0.435490 +v 0.309937 0.436505 -0.438113 +v 0.299994 0.436660 -0.440856 +v 0.289904 0.436824 -0.443068 +v 0.279957 0.436857 -0.444529 +v 0.269919 0.437020 -0.446930 +v 0.260026 0.437077 -0.448683 +v 0.249992 0.437116 -0.449787 +v 0.239947 0.437278 -0.452081 +v 0.230060 0.437375 -0.455117 +v 0.219934 0.437690 -0.458416 +v 0.210170 0.437608 -0.460511 +v 0.200114 0.437691 -0.461727 +v 0.189912 0.438078 -0.464656 +v 0.179951 0.438227 -0.467594 +v 0.169906 0.438412 -0.469802 +v 0.159904 0.438488 -0.471086 +v 0.149904 0.438537 -0.472387 +v 0.139896 0.438620 -0.473664 +v 0.129840 0.438746 -0.475699 +v 0.119820 0.438801 -0.476886 +v 0.109865 0.438817 -0.477709 +v 0.099853 0.438876 -0.478926 +v 0.089842 0.438844 -0.479042 +v 0.079842 0.438836 -0.479490 +v 0.069817 0.438817 -0.479939 +v 0.059676 0.438761 -0.480128 +v 0.049525 0.438505 -0.478007 +v 0.039489 0.438238 -0.475300 +v 0.029786 0.438016 -0.471987 +v 0.020069 0.437582 -0.466394 +v 0.009968 0.436942 -0.458962 +v -0.000050 0.436373 -0.452643 +v -0.009861 0.435841 -0.446039 +v -0.019857 0.435196 -0.438432 +v 0.259037 0.712697 -0.316118 +v -0.133710 1.288697 -0.206804 +v -0.492085 1.063758 -0.151029 +v 0.248974 0.712627 -0.316997 +v 0.135557 1.394337 -0.340541 +v -0.144220 1.348437 -0.200684 +v -0.089761 0.421989 -0.277132 +v -0.099728 0.421511 -0.272029 +v -0.109700 0.421194 -0.268213 +v -0.119697 0.421065 -0.266920 +v -0.129769 0.421258 -0.267476 +v -0.139806 0.421393 -0.270122 +v -0.149737 0.421356 -0.271748 +v -0.159722 0.421476 -0.272695 +v -0.169639 0.421316 -0.271501 +v -0.179784 0.420874 -0.268253 +v -0.189019 0.422918 -0.263926 +v -0.199562 0.420268 -0.258682 +v -0.209519 0.420277 -0.257114 +v -0.219636 0.420063 -0.256076 +v -0.229698 0.419692 -0.255217 +v -0.239724 0.420015 -0.255998 +v -0.249763 0.420130 -0.257163 +v -0.259698 0.419979 -0.258793 +v -0.269749 0.420395 -0.262323 +v -0.279738 0.420432 -0.263596 +v -0.289709 0.420192 -0.263906 +v -0.299698 0.420195 -0.265212 +v -0.309689 0.420119 -0.265303 +v -0.319806 0.419613 -0.263272 +v -0.329708 0.419625 -0.260201 +v -0.339650 0.419582 -0.258733 +v -0.349743 0.419158 -0.256485 +v -0.359646 0.419177 -0.254886 +v -0.369745 0.418682 -0.251307 +v -0.379514 0.418746 -0.248304 +v -0.389416 0.418292 -0.241846 +v -0.399298 0.417885 -0.235395 +v -0.409190 0.417462 -0.228888 +v -0.419015 0.416975 -0.221089 +v -0.429293 0.415632 -0.210048 +v -0.438752 0.415823 -0.204371 +v -0.448000 0.415750 -0.194927 +v -0.459693 0.412844 -0.178240 +v -0.469083 0.412825 -0.172715 +v -0.479089 0.412012 -0.166647 +v 0.228966 0.712817 -0.321985 +v 0.218943 0.712847 -0.323195 +v -0.574292 0.796347 0.208129 +v 0.145775 1.468617 -0.381825 +v -0.581689 0.946787 -0.122896 +v -0.501166 0.875227 -0.158301 +v -0.003528 1.319587 -0.248225 +v -0.471216 0.861147 -0.165913 +v -0.481211 0.860927 -0.162241 +v -0.063665 1.319077 -0.238466 +v -0.251098 1.124607 -0.091870 +v -0.143848 1.318527 -0.204157 +v -0.432678 1.218477 -0.579258 +v -0.153613 1.273417 -0.192904 +v -0.485185 0.816997 0.408170 +v 0.035780 1.423617 -0.296902 +v -0.347634 0.036019 0.349339 +v -0.551772 0.976747 -0.134995 +v -0.457216 0.378393 0.207906 +v 0.138789 0.754767 -0.307932 +v -0.371527 0.791987 -0.228949 +v -0.401505 0.805147 -0.204811 +v -0.312551 0.963567 -0.157490 +v -0.481979 1.007367 -0.162906 +v -0.091226 0.767237 -0.288684 +v -0.451713 0.964547 -0.178786 +v -0.208552 0.060535 -0.214856 +v 0.569993 0.440924 -0.302275 +v 0.559948 0.441466 -0.309847 +v 0.549851 0.441994 -0.317352 +v 0.540263 0.442552 -0.324235 +v 0.530122 0.443197 -0.332943 +v 0.520019 0.443632 -0.339150 +v 0.510045 0.443992 -0.344287 +v 0.499899 0.444304 -0.349044 +v 0.490093 0.444615 -0.353338 +v 0.480279 0.444839 -0.356224 +v 0.470011 0.445119 -0.360703 +v 0.460134 0.445527 -0.366084 +v 0.449987 0.445839 -0.370831 +v 0.440141 0.446122 -0.374974 +v 0.430036 0.446571 -0.381137 +v 0.420065 0.447048 -0.387587 +v 0.410128 0.447191 -0.391584 +v 0.400282 0.447322 -0.394529 +v 0.390215 0.447699 -0.398052 +v 0.380301 0.448174 -0.404481 +v 0.370103 0.448842 -0.413018 +v 0.359757 0.449466 -0.421373 +v 0.349997 0.449963 -0.428057 +v 0.339997 0.450127 -0.430774 +v 0.329934 0.450201 -0.432010 +v 0.319867 0.450310 -0.434191 +v 0.309918 0.450514 -0.437016 +v 0.299839 0.450733 -0.440523 +v 0.290000 0.450861 -0.442464 +v 0.279922 0.450969 -0.444724 +v 0.269886 0.451104 -0.447020 +v 0.259954 0.451148 -0.448645 +v 0.250087 0.451183 -0.450386 +v 0.239808 0.451580 -0.454344 +v 0.229906 0.451815 -0.458553 +v 0.219966 0.452038 -0.462571 +v 0.209848 0.452238 -0.464811 +v 0.199930 0.452182 -0.465196 +v 0.189864 0.452266 -0.466139 +v 0.179829 0.452321 -0.467354 +v 0.169838 0.452411 -0.468887 +v 0.159793 0.452549 -0.470758 +v 0.149887 0.452529 -0.471475 +v 0.139847 0.452574 -0.472499 +v 0.129827 0.452622 -0.473614 +v 0.119854 0.452588 -0.473907 +v 0.109809 0.452678 -0.475146 +v 0.099816 0.452712 -0.476510 +v 0.089786 0.452756 -0.477503 +v 0.079769 0.452786 -0.478487 +v 0.069773 0.452861 -0.479628 +v 0.059717 0.452829 -0.479898 +v 0.049432 0.452564 -0.478040 +v 0.039491 0.452352 -0.475219 +v 0.029770 0.452082 -0.471920 +v 0.019789 0.451545 -0.465519 +v 0.009713 0.450868 -0.458041 +v -0.000226 0.450432 -0.452823 +v -0.009875 0.450037 -0.447245 +v -0.019932 0.449380 -0.439763 +v -0.292855 1.168667 -0.107694 +v -0.143017 1.244197 -0.185442 +v -0.402778 1.234277 -0.608816 +v -0.193739 1.288177 -0.172357 +v 0.125690 1.394397 -0.333981 +v -0.141229 0.766757 -0.284676 +v -0.089809 0.436461 -0.280986 +v -0.099802 0.436140 -0.277137 +v -0.109790 0.435671 -0.272028 +v -0.119789 0.435732 -0.270040 +v -0.129873 0.435808 -0.271133 +v -0.139842 0.435801 -0.272663 +v -0.149797 0.435978 -0.275081 +v -0.159772 0.435855 -0.275339 +v -0.169753 0.435672 -0.274339 +v -0.179835 0.435230 -0.270862 +v -0.189732 0.434986 -0.266665 +v -0.199650 0.435043 -0.264870 +v -0.209703 0.434995 -0.264918 +v -0.219765 0.435009 -0.266362 +v -0.229827 0.435122 -0.267457 +v -0.239820 0.435136 -0.268849 +v -0.249854 0.435432 -0.271032 +v -0.259847 0.435486 -0.272268 +v -0.269754 0.435092 -0.272995 +v -0.279793 0.435677 -0.274646 +v -0.289756 0.435436 -0.274990 +v -0.299767 0.435249 -0.275349 +v -0.309917 0.434842 -0.274746 +v -0.319771 0.434907 -0.272857 +v -0.329756 0.434579 -0.269005 +v -0.339848 0.434490 -0.266087 +v -0.349709 0.434296 -0.264876 +v -0.359867 0.433759 -0.263013 +v -0.369711 0.433829 -0.261240 +v -0.379747 0.433434 -0.257538 +v -0.389674 0.433163 -0.253529 +v -0.399673 0.432501 -0.245958 +v -0.409295 0.432808 -0.242647 +v -0.419320 0.432062 -0.236583 +v -0.429411 0.430991 -0.225285 +v -0.438870 0.431001 -0.218362 +v -0.448673 0.430346 -0.209337 +v -0.458577 0.429481 -0.197867 +v -0.468621 0.428902 -0.186491 +v -0.479320 0.426981 -0.178252 +v -0.488988 0.426478 -0.168996 +v -0.476585 0.374447 0.172290 +v -0.352043 0.949437 -0.172169 +v -0.480888 0.346446 -0.024116 +v -0.451388 0.919997 -0.174236 +v -0.501020 0.845747 -0.149119 +v 0.268744 0.783427 -0.291094 +v -0.173895 1.318267 -0.183816 +v -0.164091 1.318357 -0.190498 +v -0.375210 1.420927 -0.702016 +v -0.054008 1.423127 -0.240691 +v -0.431789 0.993167 -0.175836 +v 0.104674 1.482877 -0.351130 +v -0.113061 1.244457 -0.191836 +v -0.612771 0.820027 0.180189 +v -0.452297 1.080967 -0.163030 +v 0.105434 1.438607 -0.341636 +v -0.302818 1.168737 -0.106320 +v -0.282844 1.168628 -0.109942 +v -0.233202 1.198427 -0.131733 +v -0.454548 1.176437 -0.475207 +v -0.193157 1.228627 -0.161825 +v 0.025380 1.468037 -0.285698 +v 0.570094 0.455012 -0.301195 +v 0.559916 0.455508 -0.308612 +v 0.278524 0.812147 -0.288517 +v 0.540065 0.456578 -0.322813 +v 0.529923 0.457195 -0.331498 +v 0.520098 0.457702 -0.338159 +v 0.510139 0.457954 -0.342050 +v 0.499859 0.458347 -0.347828 +v 0.490147 0.458805 -0.353582 +v 0.480151 0.458965 -0.356322 +v 0.470314 0.459217 -0.360432 +v 0.460060 0.459648 -0.366102 +v 0.450205 0.460009 -0.371406 +v 0.440123 0.460361 -0.376342 +v 0.429808 0.460895 -0.383432 +v 0.420286 0.461244 -0.389424 +v 0.409848 0.461702 -0.394920 +v 0.400313 0.461878 -0.398504 +v 0.390058 0.462226 -0.402990 +v 0.379881 0.462568 -0.407681 +v 0.369983 0.462939 -0.412964 +v 0.359756 0.463355 -0.418934 +v 0.349869 0.463940 -0.426811 +v 0.340035 0.464187 -0.429783 +v 0.329906 0.464196 -0.430792 +v 0.319867 0.464237 -0.431938 +v 0.309870 0.464415 -0.434583 +v 0.299816 0.464621 -0.438122 +v 0.289713 0.464828 -0.441542 +v 0.279927 0.464955 -0.443644 +v 0.269919 0.465091 -0.446092 +v 0.259851 0.465233 -0.448428 +v 0.250028 0.465272 -0.450283 +v 0.239851 0.465647 -0.454762 +v 0.229843 0.466007 -0.459830 +v 0.219838 0.466252 -0.463666 +v 0.209714 0.466520 -0.466970 +v 0.199732 0.466581 -0.468416 +v 0.189775 0.466529 -0.468674 +v 0.179750 0.466380 -0.467248 +v 0.169780 0.466342 -0.467249 +v 0.159772 0.466396 -0.468603 +v 0.149812 0.466458 -0.470030 +v 0.139830 0.466598 -0.472767 +v 0.129973 0.466503 -0.474242 +v 0.119866 0.466227 -0.475247 +v 0.109754 0.466675 -0.475142 +v 0.099742 0.466639 -0.475058 +v 0.089750 0.466698 -0.476314 +v 0.079700 0.466792 -0.477842 +v 0.069708 0.466903 -0.479894 +v 0.059646 0.466880 -0.480089 +v 0.049638 0.466755 -0.478679 +v 0.039550 0.466402 -0.474928 +v 0.029613 0.466050 -0.470933 +v 0.019747 0.465689 -0.466834 +v 0.009773 0.465272 -0.461702 +v -0.000477 0.464686 -0.455744 +v -0.010316 0.464070 -0.449078 +v -0.020075 0.463557 -0.441152 +v 0.051269 0.032327 -0.370004 +v -0.431116 0.846807 -0.172058 +v -0.491952 0.992658 -0.161686 +v -0.184402 1.333267 -0.172782 +v -0.183766 1.288327 -0.178727 +v 0.045264 1.394047 -0.294206 +v -0.089885 0.450751 -0.282247 +v -0.099852 0.450602 -0.280961 +v -0.109868 0.450369 -0.278399 +v -0.119831 0.450143 -0.275851 +v -0.129904 0.450408 -0.276258 +v -0.139879 0.450223 -0.276752 +v -0.149852 0.450233 -0.278195 +v -0.159824 0.450112 -0.278459 +v -0.169827 0.450207 -0.277951 +v -0.179818 0.449950 -0.275458 +v -0.189788 0.449748 -0.272886 +v -0.199831 0.449540 -0.271764 +v -0.209844 0.449541 -0.271663 +v -0.219876 0.449668 -0.272724 +v -0.229883 0.449809 -0.273838 +v -0.239916 0.449975 -0.276325 +v -0.249868 0.449857 -0.277994 +v -0.259918 0.450127 -0.280132 +v -0.269874 0.450067 -0.281729 +v -0.279859 0.450226 -0.282628 +v -0.289842 0.450074 -0.282912 +v -0.299852 0.449894 -0.281809 +v -0.309855 0.449731 -0.280626 +v -0.319878 0.449475 -0.278062 +v -0.329994 0.448987 -0.274690 +v -0.339841 0.448875 -0.271664 +v -0.349875 0.448623 -0.269180 +v -0.359812 0.448672 -0.268907 +v -0.369875 0.448322 -0.266677 +v -0.379853 0.448128 -0.263943 +v -0.389898 0.447733 -0.260241 +v -0.399646 0.447563 -0.255911 +v -0.409795 0.446884 -0.249842 +v -0.419738 0.446522 -0.244666 +v -0.429519 0.446051 -0.236733 +v -0.439071 0.445824 -0.229891 +v -0.448814 0.445365 -0.222048 +v -0.458238 0.444978 -0.212679 +v -0.469054 0.442999 -0.197024 +v -0.478888 0.442269 -0.187908 +v -0.489113 0.441310 -0.177941 +v -0.498974 0.440525 -0.167665 +v 0.007425 0.032934 -0.379554 +v -0.030953 0.668642 -0.321695 +v -0.203452 1.258097 -0.165822 +v -0.404865 1.421097 -0.672283 +v 0.058935 0.712127 -0.323891 +v -0.415496 1.463937 -0.676578 +v -0.331288 0.764687 -0.259242 +v 0.048950 0.712177 -0.325183 +v -0.184312 1.318257 -0.175363 +v -0.391677 0.920357 -0.179197 +v -0.501305 0.415450 0.201794 +v -0.451780 0.993017 -0.172290 +v -0.332665 1.007677 -0.161426 +v -0.193046 1.198767 -0.144954 +v 0.105866 1.364417 -0.299876 +v -0.582300 0.961517 -0.119535 +v -0.382211 0.993367 -0.175530 +v -0.292927 1.198157 -0.106718 +v 0.065469 1.468057 -0.317334 +v -0.371460 0.862217 -0.183998 +v -0.441577 0.804027 -0.184594 +v 0.038931 0.712217 -0.326440 +v 0.579839 0.468495 -0.292063 +v 0.570505 0.469016 -0.298020 +v 0.028939 0.712197 -0.326480 +v 0.018931 0.712197 -0.325621 +v 0.539890 0.470603 -0.321397 +v 0.530319 0.471268 -0.329595 +v 0.520103 0.471766 -0.336994 +v 0.510228 0.472048 -0.341100 +v 0.500201 0.472416 -0.346145 +v 0.489862 0.472875 -0.353120 +v 0.480054 0.473173 -0.357330 +v 0.470160 0.473442 -0.361384 +v 0.459700 0.473818 -0.366779 +v 0.450133 0.474235 -0.372688 +v 0.440331 0.474595 -0.378154 +v 0.430006 0.475030 -0.383943 +v 0.419837 0.475455 -0.389990 +v 0.409800 0.475806 -0.395015 +v 0.399782 0.476145 -0.400032 +v 0.389989 0.476461 -0.404298 +v 0.379946 0.476693 -0.407996 +v 0.369644 0.476970 -0.412533 +v 0.359998 0.477344 -0.416965 +v 0.349911 0.477937 -0.425177 +v 0.339869 0.478139 -0.428256 +v 0.330091 0.478225 -0.429017 +v 0.319905 0.478199 -0.429858 +v 0.309896 0.478335 -0.432356 +v 0.299735 0.478489 -0.435542 +v 0.289803 0.478681 -0.438308 +v 0.279856 0.478922 -0.442250 +v 0.269838 0.479158 -0.446026 +v 0.259735 0.479349 -0.449769 +v 0.250027 0.479411 -0.451716 +v 0.239860 0.479692 -0.455008 +v 0.229745 0.480081 -0.459819 +v 0.219690 0.480330 -0.463333 +v 0.209693 0.480498 -0.465934 +v 0.199676 0.480644 -0.468325 +v 0.189693 0.480697 -0.469714 +v 0.179726 0.480562 -0.468978 +v 0.169696 0.480520 -0.468660 +v 0.159684 0.480555 -0.469762 +v 0.149732 0.480709 -0.472492 +v 0.139668 0.480979 -0.476001 +v 0.129759 0.481058 -0.479245 +v 0.119733 0.481136 -0.480704 +v 0.109867 0.481051 -0.478636 +v 0.099641 0.481082 -0.478354 +v 0.089659 0.480955 -0.478481 +v 0.079622 0.480915 -0.478876 +v 0.069605 0.480993 -0.480208 +v 0.059582 0.480969 -0.480187 +v 0.049438 0.480739 -0.477995 +v 0.039776 0.480520 -0.475506 +v 0.029563 0.480116 -0.471028 +v 0.019591 0.479764 -0.467079 +v 0.009875 0.479609 -0.463780 +v -0.000226 0.479137 -0.458905 +v -0.010310 0.478559 -0.452887 +v 0.008964 0.712047 -0.325173 +v 0.178763 0.755397 -0.315648 +v -0.414233 1.234527 -0.606780 +v -0.532168 1.064968 -0.128567 +v -0.203918 1.288107 -0.164884 +v 0.115615 1.394217 -0.326499 +v -0.053802 1.348988 -0.249807 +v -0.089951 0.465135 -0.284806 +v -0.099938 0.465122 -0.284806 +v -0.109924 0.464973 -0.283509 +v -0.119898 0.464704 -0.280946 +v -0.129938 0.464670 -0.280920 +v -0.139922 0.464852 -0.281732 +v -0.149923 0.464874 -0.283072 +v -0.159938 0.464992 -0.284094 +v -0.169875 0.465020 -0.283822 +v -0.179920 0.464737 -0.283103 +v -0.189913 0.464429 -0.282433 +v -0.199895 0.464765 -0.281144 +v -0.209943 0.464568 -0.280189 +v -0.219927 0.464440 -0.280411 +v -0.229977 0.464491 -0.280191 +v -0.239966 0.464517 -0.281562 +v -0.249895 0.464346 -0.283324 +v -0.259942 0.464593 -0.285559 +v -0.269917 0.464397 -0.285959 +v -0.279931 0.464642 -0.286705 +v -0.289937 0.464473 -0.287058 +v -0.300018 0.464238 -0.286121 +v -0.310138 0.463924 -0.283803 +v -0.319951 0.463954 -0.281983 +v -0.329953 0.463720 -0.279374 +v -0.340023 0.463385 -0.277108 +v -0.349614 0.463181 -0.274473 +v -0.360051 0.462884 -0.272056 +v -0.369846 0.462909 -0.270146 +v -0.379846 0.462662 -0.267608 +v -0.389919 0.462256 -0.263962 +v -0.399728 0.462147 -0.260993 +v -0.409761 0.461680 -0.256040 +v -0.419690 0.461288 -0.250830 +v -0.429614 0.460800 -0.244414 +v -0.439151 0.460550 -0.237466 +v -0.449387 0.459817 -0.229969 +v -0.459068 0.459266 -0.222343 +v -0.468220 0.458913 -0.211494 +v -0.479214 0.456737 -0.193322 +v -0.489045 0.456069 -0.184198 +v -0.498965 0.455361 -0.175178 +v -0.508721 0.454737 -0.166091 +v -0.001108 0.712047 -0.324385 +v -0.272880 1.109537 -0.101261 +v -0.233526 1.257758 -0.144896 +v -0.395266 1.464197 -0.691205 +v -0.011098 0.711917 -0.323007 +v 0.156299 1.438797 -0.379526 +v -0.021095 0.711677 -0.320331 +v -0.031033 0.711467 -0.317707 +v -0.421639 0.934897 -0.177933 +v 0.075634 1.438558 -0.322356 +v -0.000164 0.047079 0.448754 +v -0.040994 0.711227 -0.314974 +v -0.372262 0.993347 -0.173213 +v -0.421546 0.920247 -0.178154 +v 0.066121 1.364487 -0.285487 +v -0.442376 1.080997 -0.164591 +v -0.293189 1.227677 -0.102801 +v -0.233188 1.228198 -0.142035 +v -0.431549 0.775897 -0.201111 +v -0.246744 0.329695 0.259414 +v -0.411505 0.905647 -0.179146 +v 0.590069 0.482081 -0.283535 +v 0.580294 0.482481 -0.288974 +v -0.050983 0.711047 -0.312379 +v -0.061088 0.710987 -0.310246 +v -0.071105 0.710817 -0.307732 +v -0.081104 0.710647 -0.305197 +v -0.090993 0.710287 -0.303423 +v 0.519730 0.485852 -0.336511 +v 0.509955 0.486144 -0.340687 +v 0.500033 0.486422 -0.344662 +v 0.489952 0.486851 -0.350884 +v 0.480267 0.487167 -0.355343 +v 0.470121 0.487491 -0.360145 +v 0.459710 0.487857 -0.365663 +v 0.449803 0.488337 -0.372234 +v 0.439952 0.488729 -0.377627 +v 0.429928 0.489056 -0.382685 +v 0.420027 0.489452 -0.387985 +v 0.409858 0.489757 -0.392705 +v 0.399851 0.490108 -0.397785 +v 0.389951 0.490413 -0.401879 +v 0.379878 0.490726 -0.406746 +v 0.369875 0.490991 -0.410569 +v 0.359855 0.491325 -0.415596 +v 0.350042 0.491771 -0.421089 +v 0.339538 0.491991 -0.426345 +v 0.330034 0.492238 -0.427855 +v 0.319876 0.492215 -0.428694 +v 0.309884 0.492322 -0.431214 +v 0.299866 0.492546 -0.434905 +v 0.289886 0.492789 -0.438684 +v 0.279682 0.493070 -0.443227 +v 0.269519 0.493536 -0.449180 +v 0.259940 0.493760 -0.454097 +v 0.249815 0.493831 -0.455062 +v 0.239514 0.494107 -0.458002 +v 0.229728 0.494228 -0.461303 +v 0.219851 0.494184 -0.463280 +v 0.209821 0.494348 -0.464674 +v 0.199686 0.494524 -0.466707 +v 0.189628 0.494652 -0.468640 +v 0.179693 0.494618 -0.469330 +v 0.169736 0.494574 -0.469293 +v 0.159579 0.494836 -0.472136 +v 0.149743 0.494952 -0.475509 +v 0.139669 0.495212 -0.478918 +v 0.129626 0.495367 -0.481382 +v 0.119622 0.495434 -0.482795 +v 0.109590 0.495508 -0.483451 +v 0.099588 0.495352 -0.482645 +v 0.089569 0.495224 -0.481364 +v 0.079538 0.495097 -0.480327 +v 0.069502 0.495078 -0.480420 +v 0.059521 0.495027 -0.480121 +v 0.049549 0.494861 -0.478638 +v 0.039444 0.494557 -0.475039 +v 0.029434 0.494224 -0.471205 +v 0.019484 0.493847 -0.467231 +v 0.009552 0.493513 -0.463262 +v -0.000446 0.493171 -0.459316 +v -0.010318 0.492611 -0.452861 +v -0.101160 0.710437 -0.300487 +v -0.111054 0.710127 -0.298784 +v -0.502117 1.065587 -0.147286 +v -0.151275 0.766867 -0.283758 +v -0.341518 0.792947 -0.244299 +v 0.035881 1.393927 -0.290779 +v -0.121027 0.709977 -0.297477 +v -0.090063 0.480686 -0.302616 +v -0.100014 0.479973 -0.293733 +v -0.110023 0.479516 -0.288599 +v -0.119978 0.479511 -0.288594 +v -0.129983 0.479357 -0.285702 +v -0.139981 0.479184 -0.286108 +v -0.149969 0.479246 -0.287337 +v -0.160057 0.479279 -0.287068 +v -0.169985 0.479257 -0.287038 +v -0.179993 0.479268 -0.286700 +v -0.189996 0.479111 -0.285729 +v -0.200001 0.479245 -0.286539 +v -0.210037 0.479308 -0.287826 +v -0.219993 0.479181 -0.289625 +v -0.229979 0.479175 -0.291091 +v -0.240003 0.479274 -0.292164 +v -0.250020 0.479357 -0.293399 +v -0.260014 0.479465 -0.294481 +v -0.269993 0.479486 -0.295831 +v -0.279989 0.479567 -0.297052 +v -0.290134 0.479081 -0.295235 +v -0.300056 0.479061 -0.293551 +v -0.310125 0.478662 -0.289930 +v -0.320130 0.478452 -0.287311 +v -0.330077 0.478148 -0.283368 +v -0.340062 0.477922 -0.280815 +v -0.350035 0.477788 -0.279444 +v -0.360060 0.477545 -0.276959 +v -0.370157 0.477214 -0.273314 +v -0.380074 0.476959 -0.270575 +v -0.389992 0.476754 -0.267795 +v -0.400056 0.476357 -0.264148 +v -0.410029 0.476077 -0.260230 +v -0.420094 0.475571 -0.255293 +v -0.429885 0.475263 -0.249778 +v -0.439953 0.474583 -0.242257 +v -0.449585 0.474353 -0.236733 +v -0.459355 0.473858 -0.228884 +v -0.131017 0.709947 -0.297451 +v -0.141000 0.709977 -0.298728 +v -0.150999 0.709997 -0.299972 +v -0.498765 0.470270 -0.181297 +v -0.508894 0.469349 -0.171297 +v -0.161014 0.709997 -0.302105 +v -0.461885 1.007538 -0.167595 +v -0.342075 0.934737 -0.172964 +v 0.105344 1.453357 -0.346750 +v -0.171005 0.710047 -0.302502 +v -0.181033 0.710057 -0.302600 +v -0.134002 1.333577 -0.209339 +v 0.084964 1.482847 -0.334320 +v 0.125036 1.468167 -0.366096 +v -0.191037 0.709997 -0.302495 +v -0.504943 0.844077 0.417574 +v -0.425637 1.104167 -0.192466 +v -0.201015 0.709857 -0.302146 +v -0.262620 1.153847 -0.108260 +v -0.402210 1.037237 -0.172251 +v 0.026194 1.364367 -0.276328 +v -0.432246 1.081238 -0.166685 +v -0.422361 1.081197 -0.168376 +v -0.511963 0.409158 0.169943 +v -0.211040 0.709877 -0.301187 +v 0.609813 0.495498 -0.271852 +v 0.600001 0.495921 -0.278483 +v 0.590167 0.496208 -0.282705 +v 0.579765 0.496458 -0.287008 +v 0.569979 0.496763 -0.291172 +v 0.559740 0.497251 -0.298473 +v 0.549818 0.498012 -0.308775 +v -0.221102 0.709987 -0.300417 +v -0.231055 0.709767 -0.299957 +v 0.519600 0.499888 -0.335174 +v 0.509914 0.500299 -0.340738 +v 0.499796 0.500644 -0.345669 +v 0.490146 0.500954 -0.350138 +v 0.479790 0.501315 -0.355792 +v 0.470268 0.501668 -0.360556 +v 0.459888 0.502035 -0.366191 +v 0.449884 0.502389 -0.371247 +v 0.439747 0.502701 -0.376095 +v 0.429673 0.503023 -0.381003 +v 0.420058 0.503408 -0.385656 +v 0.409828 0.503685 -0.390299 +v 0.399865 0.503940 -0.394197 +v 0.389828 0.504209 -0.397911 +v 0.379779 0.504535 -0.402866 +v 0.369844 0.504905 -0.408120 +v 0.359937 0.505305 -0.413352 +v 0.349760 0.505590 -0.418159 +v 0.339646 0.505876 -0.423009 +v 0.329754 0.506168 -0.427125 +v 0.319765 0.506349 -0.429757 +v 0.309886 0.506449 -0.431393 +v 0.299688 0.506599 -0.434572 +v 0.289566 0.506912 -0.439356 +v 0.279577 0.507270 -0.444480 +v 0.269602 0.507688 -0.450831 +v 0.259731 0.508056 -0.456258 +v 0.249443 0.508194 -0.458086 +v 0.239638 0.508356 -0.461266 +v 0.229742 0.508532 -0.464371 +v 0.219611 0.508670 -0.466396 +v 0.209537 0.508681 -0.467086 +v 0.199641 0.508655 -0.466825 +v 0.189607 0.508653 -0.467687 +v 0.179583 0.508690 -0.468799 +v 0.169645 0.508759 -0.470325 +v 0.159562 0.509004 -0.473677 +v 0.149646 0.509136 -0.476659 +v 0.139610 0.509293 -0.479094 +v 0.129516 0.509437 -0.480959 +v 0.119573 0.509450 -0.481798 +v 0.109516 0.509513 -0.483112 +v 0.099524 0.509495 -0.483588 +v 0.089466 0.509338 -0.481625 +v 0.079471 0.509177 -0.480219 +v 0.069561 0.509062 -0.479629 +v 0.059524 0.508982 -0.478645 +v 0.049601 0.508781 -0.477030 +v 0.039452 0.508505 -0.473676 +v 0.029351 0.508231 -0.470085 +v 0.019515 0.507918 -0.467082 +v 0.009534 0.507578 -0.463208 +v -0.000520 0.507167 -0.458205 +v -0.010381 0.506589 -0.451638 +v -0.241093 0.709677 -0.298677 +v -0.251085 0.709557 -0.297352 +v -0.512254 1.065387 -0.142163 +v -0.261243 0.709507 -0.295107 +v -0.041097 0.739437 -0.305018 +v 0.105723 1.394228 -0.320014 +v -0.271459 0.709457 -0.291684 +v -0.090147 0.495587 -0.311565 +v -0.100138 0.495240 -0.307729 +v -0.110069 0.494502 -0.298838 +v -0.120077 0.494072 -0.293708 +v -0.130065 0.493902 -0.292399 +v -0.140087 0.493855 -0.292550 +v -0.150073 0.493979 -0.293498 +v -0.160045 0.494089 -0.292943 +v -0.170060 0.493630 -0.291129 +v -0.180053 0.493625 -0.289451 +v -0.190044 0.493503 -0.289619 +v -0.200076 0.493713 -0.291984 +v -0.210085 0.493853 -0.294649 +v -0.220059 0.493759 -0.296291 +v -0.230081 0.494057 -0.298361 +v -0.240087 0.494072 -0.299773 +v -0.250064 0.494121 -0.300993 +v -0.260073 0.494202 -0.302156 +v -0.270073 0.494276 -0.303354 +v -0.280073 0.494161 -0.303559 +v -0.290190 0.493831 -0.301473 +v -0.300078 0.493795 -0.299709 +v -0.310244 0.493360 -0.296325 +v -0.320206 0.493061 -0.292393 +v -0.330229 0.492610 -0.287382 +v -0.340312 0.492222 -0.283844 +v -0.350025 0.492213 -0.281788 +v -0.360023 0.492078 -0.280463 +v -0.370082 0.491805 -0.278146 +v -0.380220 0.491418 -0.274615 +v -0.390246 0.491050 -0.270882 +v -0.400078 0.490889 -0.267892 +v -0.410143 0.490533 -0.264203 +v -0.420032 0.490247 -0.260137 +v -0.429827 0.489987 -0.255896 +v -0.439666 0.489667 -0.250567 +v -0.449615 0.489162 -0.244184 +v -0.459580 0.488534 -0.236658 +v -0.281447 0.709107 -0.287822 +v -0.382396 1.022447 -0.170217 +v -0.291208 0.708517 -0.283415 +v -0.498864 0.485236 -0.190239 +v -0.508505 0.484802 -0.182277 +v -0.301057 0.708117 -0.279291 +v -0.451898 1.007677 -0.170143 +v -0.630922 0.811127 0.110719 +v -0.541187 0.903547 -0.139778 +v -0.381804 0.934967 -0.178189 +v -0.481108 0.846097 -0.156988 +v -0.443631 0.799297 0.378101 +v 0.075033 1.482837 -0.325346 +v -0.311197 0.708097 -0.277354 +v -0.374395 1.320287 -0.683541 +v -0.363684 1.320157 -0.684733 +v -0.321120 0.707967 -0.277111 +v -0.331178 0.707877 -0.276116 +v -0.272607 1.153708 -0.106085 +v -0.541765 0.976837 -0.138906 +v -0.013945 1.364017 -0.265289 +v -0.053938 1.363868 -0.251183 +v -0.379322 0.299113 0.134532 +v -0.341215 0.707757 -0.274859 +v -0.541486 0.799037 -0.097193 +v 0.609814 0.509846 -0.274474 +v 0.600005 0.510111 -0.278599 +v 0.589826 0.510334 -0.282077 +v 0.580040 0.510536 -0.285051 +v 0.569964 0.510863 -0.289967 +v 0.559895 0.511387 -0.297493 +v -0.051082 0.739157 -0.301131 +v -0.351206 0.707607 -0.273281 +v -0.415819 0.306978 0.120242 +v -0.361305 0.707367 -0.269594 +v -0.371300 0.707067 -0.265613 +v -0.381255 0.706707 -0.260379 +v 0.489806 0.515151 -0.350903 +v 0.479715 0.515437 -0.355766 +v 0.469700 0.515802 -0.360866 +v 0.459657 0.516128 -0.365871 +v 0.449746 0.516506 -0.371169 +v 0.439900 0.516792 -0.375290 +v 0.429841 0.517079 -0.380254 +v 0.419875 0.517472 -0.385420 +v 0.409749 0.517777 -0.390253 +v 0.399919 0.517873 -0.393262 +v 0.389867 0.518028 -0.395732 +v 0.379967 0.518335 -0.399806 +v 0.369777 0.518814 -0.405645 +v 0.359609 0.519185 -0.411609 +v 0.349634 0.519457 -0.415476 +v 0.339722 0.519751 -0.419539 +v 0.329759 0.520027 -0.423581 +v 0.319556 0.520248 -0.427965 +v 0.309631 0.520433 -0.430766 +v 0.299635 0.520608 -0.433332 +v 0.289447 0.520856 -0.437989 +v 0.279615 0.521278 -0.443417 +v 0.269370 0.521720 -0.450585 +v 0.259497 0.522097 -0.455913 +v 0.249594 0.522309 -0.458772 +v 0.239590 0.522574 -0.462621 +v 0.229513 0.522684 -0.464976 +v 0.219459 0.522775 -0.467098 +v 0.209466 0.522840 -0.468342 +v 0.199517 0.522860 -0.468858 +v 0.189558 0.522863 -0.469119 +v 0.179568 0.522904 -0.470354 +v 0.169705 0.523012 -0.472038 +v 0.159458 0.523126 -0.474841 +v 0.149594 0.523271 -0.476634 +v 0.139591 0.523330 -0.477992 +v 0.129498 0.523346 -0.478937 +v 0.119470 0.523405 -0.480140 +v 0.109458 0.523457 -0.481447 +v 0.099426 0.523519 -0.481868 +v 0.089415 0.523316 -0.480239 +v 0.079385 0.523102 -0.477777 +v 0.069384 0.522972 -0.476537 +v 0.059306 0.522889 -0.475448 +v 0.049395 0.522670 -0.473756 +v 0.039416 0.522396 -0.471119 +v 0.029473 0.522129 -0.468378 +v 0.019368 0.521835 -0.464802 +v 0.009387 0.521492 -0.460883 +v -0.000387 0.521062 -0.456657 +v -0.010271 0.520519 -0.450157 +v -0.391176 0.706277 -0.253874 +v -0.395159 1.277037 -0.654582 +v -0.522368 1.065207 -0.136907 +v -0.401006 0.705777 -0.247252 +v -0.262837 1.109527 -0.094736 +v 0.095656 1.394078 -0.313823 +v -0.410978 0.705427 -0.242117 +v -0.090214 0.509929 -0.314124 +v -0.100191 0.509773 -0.312836 +v -0.110181 0.509443 -0.309002 +v -0.120178 0.508929 -0.302624 +v -0.130147 0.508690 -0.300065 +v -0.140094 0.508402 -0.297668 +v -0.150124 0.508284 -0.297856 +v -0.160106 0.508458 -0.297134 +v -0.170128 0.508147 -0.296403 +v -0.180120 0.508173 -0.296177 +v -0.190136 0.508215 -0.297445 +v -0.200174 0.508488 -0.299601 +v -0.210177 0.508564 -0.300729 +v -0.220157 0.508538 -0.302252 +v -0.230175 0.508646 -0.303224 +v -0.240135 0.508408 -0.304295 +v -0.250152 0.508555 -0.305095 +v -0.260148 0.508509 -0.305008 +v -0.270167 0.508472 -0.305054 +v -0.280158 0.508444 -0.304965 +v -0.290156 0.508291 -0.303667 +v -0.300131 0.508177 -0.302174 +v -0.310222 0.507909 -0.299905 +v -0.320455 0.507396 -0.295385 +v -0.330305 0.507116 -0.291234 +v -0.340221 0.506697 -0.285951 +v -0.350080 0.506522 -0.283029 +v -0.360102 0.506358 -0.281796 +v -0.370172 0.506195 -0.280770 +v -0.380176 0.505974 -0.278156 +v -0.390229 0.505617 -0.274502 +v -0.400374 0.505230 -0.270983 +v -0.410213 0.505049 -0.268024 +v -0.420399 0.504571 -0.263344 +v -0.430082 0.504419 -0.260106 +v -0.440174 0.503945 -0.255191 +v -0.449893 0.503694 -0.250792 +v -0.459739 0.503334 -0.245595 +v -0.469520 0.502817 -0.237758 +v -0.421064 0.705167 -0.237191 +v -0.431113 0.704877 -0.232215 +v -0.441076 0.704527 -0.227080 +v -0.509008 0.499470 -0.191590 +v -0.451186 0.704277 -0.222165 +v -0.461436 0.934637 -0.174440 +v -0.441828 1.007718 -0.172153 +v -0.164214 1.333357 -0.189259 +v -0.061177 0.739097 -0.297640 +v -0.461014 0.703867 -0.217975 +v -0.471055 0.703557 -0.212953 +v -0.481014 0.703027 -0.205232 +v -0.254016 1.272768 -0.126320 +v -0.472280 1.080678 -0.156706 +v -0.394243 1.321097 -0.674440 +v -0.385085 1.320417 -0.681139 +v -0.472514 1.095317 -0.158350 +v -0.303257 1.212897 -0.099019 +v -0.282591 1.153787 -0.106042 +v -0.531665 0.976997 -0.141510 +v -0.521801 0.977287 -0.147174 +v -0.491143 0.702517 -0.196468 +v -0.402476 1.081527 -0.168551 +v -0.500790 0.701957 -0.190925 +v -0.381695 0.920357 -0.178265 +v 0.610047 0.523990 -0.273724 +v 0.599819 0.524305 -0.278467 +v 0.590001 0.524464 -0.281385 +v 0.579630 0.524762 -0.285684 +v 0.569769 0.525114 -0.291036 +v 0.559650 0.525643 -0.298502 +v 0.549904 0.526187 -0.306526 +v -0.511082 0.701527 -0.182358 +v -0.501057 0.889917 -0.160570 +v -0.362446 1.007767 -0.169014 +v -0.411557 0.804917 -0.199786 +v -0.414844 1.476497 -0.678685 +v -0.071163 0.738917 -0.295129 +v 0.479781 0.529473 -0.353511 +v 0.469746 0.529778 -0.358542 +v 0.459789 0.530145 -0.363701 +v 0.449706 0.530567 -0.369954 +v 0.439607 0.530961 -0.376142 +v 0.429918 0.531273 -0.380524 +v 0.419759 0.531555 -0.385355 +v 0.409575 0.531973 -0.391323 +v 0.399631 0.532235 -0.395270 +v 0.389744 0.532294 -0.396822 +v 0.379826 0.532474 -0.399569 +v 0.369753 0.532809 -0.404506 +v 0.359703 0.533139 -0.409471 +v 0.349502 0.533418 -0.414046 +v 0.339801 0.533683 -0.417343 +v 0.329704 0.533515 -0.420934 +v 0.319748 0.534124 -0.423813 +v 0.309637 0.534291 -0.427243 +v 0.299497 0.534451 -0.430610 +v 0.289472 0.534686 -0.434387 +v 0.279717 0.535172 -0.439992 +v 0.269523 0.535512 -0.445981 +v 0.259334 0.535809 -0.451909 +v 0.249471 0.536166 -0.456021 +v 0.239399 0.536344 -0.459633 +v 0.229367 0.536405 -0.461905 +v 0.219524 0.536704 -0.462962 +v 0.209417 0.536581 -0.464672 +v 0.199433 0.536678 -0.466020 +v 0.189438 0.536768 -0.467383 +v 0.179482 0.536877 -0.468875 +v -0.050902 0.668256 -0.317671 +v 0.159303 0.537358 -0.474018 +v 0.149374 0.537205 -0.476070 +v 0.139362 0.537232 -0.477156 +v 0.129416 0.537278 -0.477472 +v 0.119424 0.537271 -0.477674 +v 0.109408 0.537385 -0.479094 +v 0.099353 0.537425 -0.479307 +v 0.089328 0.537266 -0.477926 +v 0.079361 0.536964 -0.475097 +v 0.069257 0.536890 -0.472995 +v 0.059382 0.536655 -0.472451 +v 0.049381 0.536499 -0.471146 +v 0.039406 0.536253 -0.468502 +v 0.029434 0.535998 -0.465878 +v 0.019362 0.535729 -0.462170 +v 0.009435 0.535350 -0.458186 +v -0.000489 0.534865 -0.452966 +v -0.010116 0.534155 -0.446154 +v -0.081170 0.738837 -0.293928 +v -0.421678 0.832917 -0.178680 +v -0.091115 0.738617 -0.293492 +v -0.024187 1.438157 -0.257365 +v -0.395176 0.416834 0.293293 +v -0.471217 0.890407 -0.169441 +v -0.561633 0.932567 -0.133686 +v -0.090531 0.524626 -0.314996 +v -0.100414 0.523894 -0.313143 +v -0.110482 0.523658 -0.310901 +v -0.120223 0.523602 -0.309001 +v -0.130247 0.523249 -0.305235 +v -0.140291 0.522817 -0.301952 +v -0.150228 0.522803 -0.301667 +v -0.160183 0.522993 -0.302283 +v -0.170215 0.522699 -0.301660 +v -0.180206 0.522863 -0.302416 +v -0.190207 0.523008 -0.303228 +v -0.200221 0.523038 -0.304644 +v -0.210213 0.522860 -0.305288 +v -0.220217 0.522797 -0.305531 +v -0.230211 0.522919 -0.306093 +v -0.240219 0.522842 -0.306508 +v -0.250200 0.522828 -0.306187 +v -0.260222 0.522679 -0.305252 +v -0.270220 0.522648 -0.305033 +v -0.280220 0.522609 -0.304900 +v -0.290258 0.522456 -0.303893 +v -0.300167 0.522428 -0.303406 +v -0.310269 0.522188 -0.301178 +v -0.320255 0.521852 -0.297317 +v -0.330301 0.521428 -0.292314 +v -0.340302 0.521005 -0.287279 +v -0.350296 0.520697 -0.283503 +v -0.360326 0.520462 -0.281145 +v -0.370287 0.520397 -0.280988 +v -0.380296 0.520263 -0.279680 +v -0.390426 0.519907 -0.276155 +v -0.400229 0.519696 -0.273001 +v -0.410202 0.519390 -0.269111 +v -0.420175 0.519029 -0.265293 +v -0.430393 0.518620 -0.260610 +v -0.440049 0.518401 -0.257356 +v -0.450088 0.517972 -0.252367 +v -0.460141 0.517537 -0.247365 +v -0.469908 0.517169 -0.241908 +v -0.420165 1.486757 -0.672513 +v -0.073502 1.393198 -0.238820 +v -0.101132 0.738527 -0.292318 +v -0.040943 0.668428 -0.319222 +v 0.449340 0.670450 -0.315488 +v -0.471459 0.934517 -0.172086 +v -0.431761 1.007687 -0.174006 +v -0.375321 1.363607 -0.695350 +v 0.043264 0.053613 0.451587 +v -0.223287 1.257877 -0.152734 +v -0.273644 1.242628 -0.115484 +v 0.095859 1.379378 -0.304734 +v -0.571737 0.947077 -0.129701 +v -0.491292 0.875407 -0.162289 +v -0.481317 0.919637 -0.168260 +v 0.439150 0.670145 -0.315750 +v -0.482441 1.095227 -0.154386 +v -0.243144 1.213347 -0.134003 +v -0.292584 1.153867 -0.106336 +v -0.302545 1.153897 -0.106783 +v -0.511762 0.977618 -0.155112 +v 0.085845 1.394187 -0.309743 +v -0.353269 1.080667 -0.155015 +v -0.273141 1.198287 -0.116619 +v 0.429177 0.670274 -0.316319 +v 0.146356 1.513527 -0.372313 +v 0.419173 0.670479 -0.319008 +v 0.589722 0.538676 -0.282219 +v 0.579495 0.539001 -0.286814 +v 0.569658 0.539386 -0.292251 +v 0.559804 0.539840 -0.298851 +v 0.550003 0.540309 -0.305514 +v 0.539516 0.540738 -0.312446 +v 0.409212 0.670601 -0.319227 +v -0.053595 1.334137 -0.245756 +v 0.368711 0.783267 -0.283152 +v -0.203245 1.198447 -0.141416 +v -0.288028 0.033623 0.364106 +v 0.015701 1.453117 -0.282868 +v -0.111150 0.738497 -0.291340 +v 0.095518 1.408897 -0.322785 +v 0.035741 1.408787 -0.294607 +v -0.101214 0.767007 -0.288208 +v -0.521442 0.948097 -0.152292 +v -0.121097 0.738357 -0.291989 +v 0.409833 0.546071 -0.390743 +v 0.399612 0.546455 -0.396682 +v 0.389636 0.546504 -0.398063 +v 0.379562 0.546635 -0.400395 +v 0.369555 0.546889 -0.404197 +v 0.359565 0.547214 -0.409316 +v 0.349662 0.547606 -0.414628 +v 0.339819 0.547800 -0.417692 +v 0.329553 0.547970 -0.420836 +v 0.319569 0.548145 -0.423469 +v 0.309621 0.548201 -0.424875 +v 0.299593 0.548360 -0.427307 +v 0.289588 0.548600 -0.431028 +v 0.279623 0.548985 -0.436196 +v 0.269490 0.549235 -0.440997 +v 0.259661 0.549603 -0.445169 +v 0.249477 0.549807 -0.449864 +v 0.239387 0.549957 -0.453410 +v 0.229328 0.550034 -0.455757 +v 0.219452 0.550311 -0.457584 +v 0.209406 0.550295 -0.458654 +v 0.199412 0.550360 -0.459966 +v 0.189462 0.550517 -0.461487 +v 0.179519 0.550662 -0.462941 +v -0.541106 0.874087 -0.132953 +v -0.451105 0.861447 -0.170539 +v -0.522166 1.035807 -0.136753 +v 0.139290 0.551033 -0.474579 +v 0.129350 0.551085 -0.474857 +v 0.119374 0.551127 -0.475068 +v 0.109334 0.551222 -0.475375 +v 0.099381 0.551047 -0.476067 +v 0.089374 0.550943 -0.474858 +v 0.079356 0.550761 -0.472400 +v 0.069259 0.550604 -0.468978 +v 0.059369 0.550321 -0.467287 +v 0.049343 0.550207 -0.466050 +v 0.039356 0.550019 -0.464684 +v 0.029476 0.549661 -0.461833 +v 0.019222 0.549501 -0.457336 +v 0.009583 0.548966 -0.454075 +v -0.000304 0.548408 -0.447608 +v -0.322608 0.948967 -0.164610 +v -0.251348 0.780407 -0.274950 +v -0.362885 1.066307 -0.161453 +v -0.563185 1.064228 -0.090477 +v -0.272818 1.168637 -0.111214 +v -0.262899 1.168587 -0.114159 +v -0.253050 1.168467 -0.115768 +v -0.461237 0.875967 -0.170794 +v -0.089381 0.539482 -0.326615 +v -0.100310 0.538213 -0.314177 +v -0.110289 0.537883 -0.310328 +v -0.120313 0.537658 -0.307752 +v -0.130299 0.537493 -0.306506 +v -0.140271 0.537271 -0.303841 +v -0.150293 0.537113 -0.302872 +v -0.160266 0.537149 -0.304188 +v -0.170273 0.537209 -0.305203 +v -0.180280 0.537317 -0.306194 +v -0.190270 0.537215 -0.306533 +v -0.200286 0.537138 -0.306933 +v -0.210269 0.537269 -0.307519 +v -0.220303 0.537108 -0.306535 +v -0.230274 0.537092 -0.306347 +v -0.240289 0.536953 -0.305344 +v -0.250281 0.536898 -0.305165 +v -0.260275 0.536861 -0.304764 +v -0.270281 0.536742 -0.303855 +v -0.280284 0.536687 -0.303682 +v -0.290263 0.536650 -0.303584 +v -0.300375 0.536499 -0.302683 +v -0.310435 0.536359 -0.301448 +v -0.320467 0.536044 -0.297679 +v -0.330429 0.535646 -0.292463 +v -0.340351 0.535226 -0.287245 +v -0.350423 0.534809 -0.282427 +v -0.360250 0.534659 -0.280645 +v -0.370399 0.534632 -0.281172 +v -0.380463 0.534496 -0.280009 +v -0.390352 0.534256 -0.276972 +v -0.400306 0.533906 -0.273052 +v -0.410331 0.533590 -0.269333 +v -0.420545 0.533225 -0.264699 +v -0.430485 0.532877 -0.260732 +v -0.440360 0.532525 -0.256617 +v -0.450275 0.532181 -0.252610 +v -0.460387 0.531749 -0.247718 +v -0.470155 0.531412 -0.243458 +v -0.480046 0.530919 -0.236948 +v -0.462018 1.051427 -0.161243 +v -0.431466 0.790057 -0.195856 +v -0.491863 0.963517 -0.168070 +v -0.341503 0.891107 -0.180133 +v -0.481131 0.890267 -0.166719 +v -0.481514 0.934347 -0.169937 +v -0.421933 1.007837 -0.174619 +v -0.424174 0.310391 0.115439 +v 0.055731 1.423647 -0.307169 +v -0.570783 0.843487 -0.103190 +v -0.024105 1.408527 -0.263785 +v -0.395145 1.478897 -0.689979 +v -0.481290 0.875637 -0.166068 +v -0.497744 0.363255 0.054151 +v -0.352400 1.007807 -0.166794 +v -0.253162 1.213277 -0.128544 +v -0.233174 1.213387 -0.138093 +v -0.223185 1.213447 -0.142231 +v -0.352453 0.993207 -0.169032 +v -0.502041 0.977907 -0.160626 +v -0.521238 0.859827 -0.142775 +v -0.279947 0.041607 0.376318 +v -0.283067 1.198238 -0.111049 +v -0.531159 0.859457 -0.134606 +v -0.402050 0.993367 -0.177091 +v 0.599897 0.552810 -0.276298 +v 0.589648 0.553122 -0.282215 +v 0.579836 0.553534 -0.287648 +v -0.131124 0.738517 -0.292690 +v 0.560029 0.554214 -0.298115 +v 0.549901 0.554719 -0.305520 +v 0.539988 0.555181 -0.312053 +v 0.529711 0.555634 -0.319280 +v 0.519679 0.556079 -0.325619 +v 0.085569 1.438567 -0.328787 +v 0.378738 0.783207 -0.280749 +v -0.141121 0.738517 -0.293843 +v -0.561414 0.903067 -0.130747 +v -0.550244 0.814617 -0.103882 +v -0.412089 1.037167 -0.173139 +v -0.083328 1.363557 -0.238651 +v -0.503714 0.436261 0.218590 +v -0.311543 0.821897 -0.240626 +v 0.419662 0.559964 -0.384129 +v 0.409629 0.560387 -0.390503 +v 0.399545 0.560678 -0.395460 +v 0.389612 0.560841 -0.398213 +v 0.379558 0.560955 -0.400607 +v 0.369553 0.561202 -0.404372 +v 0.359604 0.561556 -0.409595 +v 0.349723 0.561861 -0.413710 +v 0.339644 0.562157 -0.418687 +v 0.329735 0.562371 -0.421685 +v 0.319588 0.562466 -0.423910 +v 0.309531 0.562493 -0.424959 +v 0.299498 0.562605 -0.427263 +v 0.289543 0.562784 -0.429898 +v 0.279558 0.563033 -0.433729 +v 0.269368 0.563249 -0.438346 +v 0.259541 0.563524 -0.441311 +v 0.249513 0.563718 -0.445022 +v 0.239478 0.563928 -0.447658 +v 0.229449 0.564062 -0.450181 +v 0.219441 0.564126 -0.451435 +v 0.209372 0.564157 -0.453649 +v 0.199365 0.564227 -0.454960 +v 0.189324 0.564282 -0.457293 +v 0.179513 0.564591 -0.458097 +v -0.335190 0.298948 0.161615 +v -0.540487 0.815277 -0.110348 +v -0.541232 0.859097 -0.127910 +v -0.316112 0.296700 0.167616 +v -0.242779 1.168867 -0.119028 +v -0.023861 1.364027 -0.262476 +v 0.109291 0.565004 -0.470141 +v 0.099281 0.564899 -0.470017 +v 0.089357 0.564688 -0.469657 +v 0.079299 0.564615 -0.467391 +v 0.069305 0.564406 -0.464850 +v 0.059339 0.564080 -0.462134 +v 0.049287 0.564006 -0.459870 +v 0.039291 0.563833 -0.458500 +v 0.029342 0.563476 -0.455699 +v 0.019284 0.563275 -0.452068 +v 0.009401 0.562746 -0.446746 +v -0.000244 0.561931 -0.439924 +v -0.325622 0.297834 0.164613 +v -0.395291 0.429124 0.300317 +v -0.471124 0.774307 -0.180038 +v -0.010447 0.046676 0.446833 +v -0.023431 1.304667 -0.239104 +v -0.060356 0.554903 -0.343490 +v -0.070936 0.552838 -0.338011 +v -0.080647 0.554218 -0.335080 +v -0.090218 0.553881 -0.330465 +v -0.100114 0.553526 -0.325064 +v -0.110367 0.552731 -0.316763 +v -0.120365 0.552316 -0.311645 +v -0.130430 0.551972 -0.308092 +v -0.140337 0.551671 -0.304078 +v -0.150317 0.551670 -0.303730 +v -0.160335 0.551694 -0.305308 +v -0.170354 0.551870 -0.307527 +v -0.180341 0.551908 -0.308845 +v -0.190328 0.551862 -0.309057 +v -0.200369 0.551800 -0.309331 +v -0.210397 0.551659 -0.308233 +v -0.220347 0.551648 -0.307828 +v -0.095893 0.020331 -0.395157 +v -0.086356 0.019135 -0.392172 +v -0.077260 0.017132 -0.388512 +v -0.066819 0.017549 -0.386835 +v -0.055922 0.018761 -0.385847 +v -0.046836 0.016767 -0.382217 +v -0.036888 0.016379 -0.379916 +v -0.132686 0.021763 -0.384929 +v -0.123550 0.019755 -0.381253 +v -0.114053 0.018565 -0.378280 +v -0.104028 0.018176 -0.375972 +v -0.094091 0.017788 -0.373633 +v -0.083635 0.018207 -0.371986 +v -0.073644 0.017818 -0.369667 +v -0.063673 0.017432 -0.367352 +v -0.053223 0.017848 -0.365704 +v -0.043281 0.017461 -0.363390 +v -0.033284 0.017074 -0.361041 +v -0.023316 0.016685 -0.358734 +v -0.013332 0.016297 -0.356436 +v -0.002897 0.016717 -0.354749 +v 0.007534 0.017133 -0.353131 +v 0.017519 0.016746 -0.350808 +v 0.027941 0.017164 -0.349142 +v 0.037913 0.016777 -0.346831 +v 0.048356 0.017194 -0.345183 +v 0.058339 0.016808 -0.342849 +v 0.068767 0.017224 -0.341219 +v 0.078748 0.016838 -0.338898 +v 0.089612 0.018063 -0.337899 +v 0.100079 0.018484 -0.336223 +v 0.110482 0.018897 -0.334598 +v 0.120008 0.017707 -0.331611 +v 0.130872 0.018931 -0.330622 +v 0.141328 0.019349 -0.328944 +v 0.151292 0.018963 -0.326631 +v 0.161748 0.019380 -0.324983 +v 0.171694 0.018992 -0.322697 +v 0.182173 0.019417 -0.321013 +v 0.193023 0.020635 -0.320038 +v 0.203021 0.020246 -0.317706 +v 0.212962 0.019859 -0.315421 +v 0.223404 0.020280 -0.313731 +v 0.233383 0.019892 -0.311434 +v 0.244296 0.021116 -0.310462 +v 0.254675 0.021534 -0.308812 +v 0.264226 0.020341 -0.305809 +v 0.275110 0.021565 -0.304826 +v 0.285522 0.021982 -0.303183 +v 0.295579 0.021654 -0.300968 +v 0.306056 0.023114 -0.299172 +v 0.316154 0.021829 -0.297318 +v 0.326672 0.022336 -0.295841 +v 0.337180 0.022840 -0.294373 +v 0.348225 0.024175 -0.293653 +v 0.357626 0.025003 -0.290152 +v 0.368639 0.025479 -0.289607 +v 0.378941 0.026757 -0.287751 +v 0.389756 0.028025 -0.286903 +v 0.400108 0.031576 -0.285437 +v -0.149945 0.021588 -0.369433 +v -0.140429 0.020397 -0.366464 +v -0.130424 0.020006 -0.364132 +v -0.121325 0.018004 -0.360458 +v -0.111318 0.017620 -0.358134 +v -0.100883 0.018033 -0.356464 +v -0.091345 0.016851 -0.353464 +v -0.080513 0.018073 -0.352484 +v -0.070982 0.016881 -0.349499 +v -0.060518 0.017303 -0.347849 +v -0.050123 0.017722 -0.346220 +v -0.040128 0.017337 -0.343865 +v -0.029689 0.017755 -0.342206 +v -0.019723 0.017371 -0.339898 +v -0.009308 0.017791 -0.338251 +v 0.000713 0.017406 -0.335925 +v 0.011126 0.017826 -0.334298 +v 0.021535 0.018247 -0.332632 +v 0.031513 0.017861 -0.330298 +v 0.041945 0.018281 -0.328642 +v 0.052379 0.018702 -0.327000 +v 0.062370 0.018315 -0.324682 +v 0.072357 0.017931 -0.322341 +v 0.082806 0.018352 -0.320711 +v 0.093226 0.018775 -0.319031 +v 0.103629 0.019194 -0.317371 +v 0.114058 0.019615 -0.315744 +v 0.124494 0.020034 -0.314091 +v 0.134457 0.019652 -0.311737 +v 0.144900 0.020071 -0.310109 +v 0.155313 0.020492 -0.308457 +v 0.165739 0.020912 -0.306812 +v 0.175765 0.020527 -0.304492 +v 0.186160 0.020948 -0.302832 +v 0.196588 0.021369 -0.301159 +v 0.206593 0.020984 -0.298819 +v 0.217018 0.021405 -0.297189 +v 0.227445 0.021827 -0.295518 +v 0.237888 0.022243 -0.293887 +v 0.247863 0.021860 -0.291572 +v 0.258255 0.022280 -0.289910 +v 0.268680 0.022701 -0.288264 +v 0.278689 0.022316 -0.285923 +v 0.289114 0.022734 -0.284289 +v 0.299105 0.022350 -0.281962 +v 0.309521 0.022772 -0.280298 +v 0.319989 0.023222 -0.278715 +v 0.330493 0.023728 -0.277251 +v 0.340562 0.023403 -0.275041 +v 0.351534 0.024741 -0.274299 +v 0.361605 0.024416 -0.272114 +v 0.372101 0.025028 -0.270614 +v 0.382662 0.025433 -0.269159 +v 0.393154 0.025937 -0.267722 +v 0.403208 0.025616 -0.265529 +v 0.414914 0.029224 -0.266049 +v 0.423632 0.033923 -0.264010 +v -0.165419 0.024619 -0.356598 +v -0.157252 0.021017 -0.351659 +v -0.148595 0.018195 -0.347293 +v -0.139009 0.017004 -0.344296 +v -0.128595 0.017425 -0.342675 +v -0.118639 0.017041 -0.340324 +v -0.108190 0.017463 -0.338686 +v -0.098230 0.017080 -0.336340 +v -0.087782 0.017505 -0.334664 +v -0.077346 0.017925 -0.333025 +v -0.067360 0.017543 -0.330721 +v -0.056927 0.017965 -0.329025 +v -0.046986 0.017582 -0.326728 +v -0.036512 0.018003 -0.325071 +v -0.026529 0.017628 -0.322721 +v -0.016137 0.018044 -0.321100 +v -0.006120 0.017664 -0.318761 +v 0.004296 0.018089 -0.317096 +v 0.014708 0.018510 -0.315456 +v 0.025148 0.018940 -0.313766 +v 0.035102 0.018555 -0.311458 +v 0.045094 0.018170 -0.309143 +v 0.055543 0.018591 -0.307492 +v 0.065977 0.019015 -0.305817 +v 0.075916 0.018638 -0.303493 +v 0.086814 0.019864 -0.302511 +v 0.097244 0.020279 -0.300873 +v 0.107237 0.019902 -0.298546 +v 0.118072 0.021129 -0.297556 +v 0.128066 0.020751 -0.295212 +v 0.138479 0.021170 -0.293572 +v 0.148926 0.021600 -0.291895 +v 0.159347 0.022019 -0.290246 +v 0.169343 0.021633 -0.287933 +v 0.179760 0.022066 -0.286247 +v 0.190178 0.022484 -0.284600 +v 0.200156 0.022095 -0.282298 +v 0.210172 0.021712 -0.279970 +v 0.220595 0.022136 -0.278320 +v 0.231456 0.023363 -0.277327 +v 0.241426 0.022989 -0.274976 +v 0.251891 0.023402 -0.273339 +v 0.261825 0.023021 -0.271022 +v 0.271806 0.022645 -0.268678 +v 0.282252 0.023054 -0.267059 +v 0.292666 0.023491 -0.265359 +v 0.303098 0.023906 -0.263723 +v 0.313075 0.023526 -0.261383 +v 0.323090 0.023130 -0.259087 +v 0.333037 0.022750 -0.256755 +v 0.343461 0.023175 -0.255081 +v 0.353454 0.022789 -0.252771 +v 0.364448 0.024131 -0.252048 +v 0.374527 0.023810 -0.249820 +v 0.385974 0.025986 -0.249812 +v 0.396038 0.025663 -0.247653 +v 0.406573 0.026174 -0.246163 +v 0.417092 0.026692 -0.244681 +v 0.428260 0.031080 -0.245084 +v 0.436822 0.036786 -0.243993 +v -0.606670 0.797547 0.289218 +v -0.172267 0.024842 -0.339505 +v -0.165401 0.018790 -0.332531 +v -0.155820 0.017593 -0.329522 +v -0.145847 0.017212 -0.327215 +v -0.135433 0.017636 -0.325546 +v -0.125470 0.017257 -0.323188 +v -0.115023 0.017679 -0.321560 +v -0.105064 0.017297 -0.319233 +v -0.094618 0.017724 -0.317582 +v -0.084188 0.018152 -0.315875 +v -0.074200 0.017774 -0.313562 +v -0.063773 0.018201 -0.311907 +v -0.053329 0.018624 -0.310262 +v -0.042944 0.019060 -0.308587 +v -0.032476 0.019476 -0.306955 +v -0.021645 0.020727 -0.305928 +v -0.011193 0.021152 -0.304266 +v -0.001225 0.020769 -0.301953 +v 0.009193 0.021199 -0.300292 +v 0.020072 0.022444 -0.299284 +v 0.030529 0.022866 -0.297626 +v 0.040920 0.023283 -0.295980 +v 0.051336 0.023715 -0.294315 +v 0.061793 0.024148 -0.292638 +v 0.071784 0.023754 -0.290336 +v 0.082176 0.024179 -0.288679 +v 0.092607 0.024587 -0.287036 +v 0.103061 0.025026 -0.285361 +v 0.113469 0.025465 -0.283684 +v 0.123438 0.025075 -0.281374 +v 0.133897 0.025498 -0.279714 +v 0.144318 0.025939 -0.278041 +v 0.154745 0.026360 -0.276376 +v 0.164727 0.025963 -0.274074 +v 0.175157 0.026413 -0.272392 +v 0.185585 0.026815 -0.270749 +v 0.195578 0.026458 -0.268404 +v 0.205989 0.026854 -0.266774 +v 0.216423 0.027285 -0.265110 +v 0.226821 0.027735 -0.263429 +v 0.236834 0.027330 -0.261123 +v 0.247232 0.027764 -0.259459 +v 0.257656 0.028211 -0.257777 +v 0.267642 0.027817 -0.255466 +v 0.278078 0.028246 -0.253803 +v 0.288051 0.027842 -0.251500 +v 0.298493 0.028270 -0.249830 +v 0.308446 0.027908 -0.247487 +v 0.318462 0.027501 -0.245172 +v 0.327996 0.026312 -0.242183 +v 0.337984 0.025921 -0.239865 +v 0.347970 0.025535 -0.237533 +v 0.357912 0.025155 -0.235201 +v 0.367477 0.023954 -0.232225 +v 0.377430 0.023571 -0.229904 +v 0.387916 0.024025 -0.228327 +v 0.398450 0.024547 -0.226828 +v 0.410404 0.027563 -0.227544 +v 0.420914 0.028081 -0.226070 +v 0.432362 0.030262 -0.226069 +v 0.442876 0.030775 -0.224613 +v -0.558216 0.805717 0.364916 +v -0.180874 0.021796 -0.319750 +v -0.172656 0.018163 -0.314730 +v -0.163143 0.016976 -0.311783 +v -0.152710 0.017404 -0.310096 +v -0.142273 0.017834 -0.308418 +v -0.131839 0.018261 -0.306785 +v -0.121414 0.018689 -0.305122 +v -0.111445 0.018311 -0.302757 +v -0.101002 0.018743 -0.301082 +v -0.090586 0.019175 -0.299428 +v -0.080133 0.019619 -0.297766 +v -0.068807 0.021670 -0.297437 +v -0.057943 0.022913 -0.296444 +v -0.046624 0.024946 -0.296124 +v -0.035795 0.026212 -0.295096 +v -0.024883 0.027446 -0.294107 +v -0.014043 0.028663 -0.293129 +v -0.003600 0.029130 -0.291443 +v 0.007282 0.030344 -0.290459 +v 0.018135 0.031578 -0.289463 +v 0.028546 0.032021 -0.287797 +v 0.039016 0.032443 -0.286132 +v 0.049420 0.032873 -0.284472 +v 0.059862 0.033322 -0.282801 +v 0.070719 0.034536 -0.281808 +v 0.080711 0.034154 -0.279486 +v 0.091116 0.034589 -0.277823 +v 0.101533 0.035037 -0.276145 +v 0.111520 0.034629 -0.273839 +v 0.121949 0.035067 -0.272171 +v 0.132385 0.035519 -0.270494 +v 0.142808 0.035902 -0.268855 +v 0.152791 0.035549 -0.266516 +v 0.163217 0.035943 -0.264874 +v 0.173663 0.036391 -0.263196 +v 0.184090 0.036821 -0.261527 +v 0.194037 0.036453 -0.259205 +v 0.204489 0.036882 -0.257539 +v 0.214911 0.037290 -0.255887 +v 0.225339 0.037702 -0.254233 +v 0.235307 0.037354 -0.251893 +v 0.245741 0.037784 -0.250232 +v 0.256166 0.038196 -0.248575 +v 0.266145 0.037825 -0.246253 +v 0.277006 0.039066 -0.245247 +v 0.286993 0.038687 -0.242918 +v 0.296982 0.038288 -0.240592 +v 0.306511 0.037116 -0.237597 +v 0.316490 0.036717 -0.235278 +v 0.326054 0.035535 -0.232271 +v 0.335559 0.034354 -0.229286 +v 0.345091 0.033149 -0.226294 +v 0.353761 0.030309 -0.221992 +v 0.362841 0.028310 -0.218336 +v 0.371931 0.026304 -0.214694 +v 0.381459 0.025113 -0.211690 +v 0.391461 0.024732 -0.209345 +v 0.401896 0.025165 -0.207686 +v 0.412769 0.026429 -0.206770 +v 0.424277 0.028625 -0.206768 +v 0.435280 0.029983 -0.206014 +v 0.446704 0.032165 -0.206004 +v -0.191901 0.032895 -0.313588 +v -0.186390 0.024426 -0.304617 +v -0.179925 0.017527 -0.297012 +v -0.169957 0.017149 -0.294648 +v -0.159508 0.017581 -0.293003 +v -0.149083 0.018012 -0.291350 +v -0.138638 0.018444 -0.289669 +v -0.128238 0.018874 -0.288008 +v -0.117833 0.019304 -0.286363 +v -0.107403 0.019745 -0.284651 +v -0.096492 0.020999 -0.283666 +v -0.085205 0.023042 -0.283350 +v -0.072978 0.026745 -0.284313 +v -0.060804 0.030406 -0.285307 +v -0.049011 0.033279 -0.285630 +v -0.037689 0.035318 -0.285304 +v -0.026399 0.037381 -0.284957 +v -0.015058 0.039443 -0.284607 +v -0.004189 0.040674 -0.283610 +v 0.006213 0.041092 -0.281962 +v 0.017518 0.043178 -0.281602 +v 0.028412 0.044407 -0.280604 +v 0.038839 0.044830 -0.278944 +v 0.049280 0.045254 -0.277282 +v 0.059704 0.045708 -0.275602 +v 0.070132 0.046152 -0.273930 +v 0.080521 0.046548 -0.272289 +v 0.090972 0.046993 -0.270610 +v 0.100960 0.046604 -0.268291 +v 0.111381 0.047070 -0.266607 +v 0.121778 0.047462 -0.264968 +v 0.132203 0.047920 -0.263287 +v 0.142222 0.047555 -0.260951 +v 0.152610 0.047943 -0.259313 +v 0.163064 0.048409 -0.257618 +v 0.173011 0.048032 -0.255302 +v 0.183452 0.048461 -0.253632 +v 0.193909 0.048869 -0.251977 +v 0.204331 0.049306 -0.250304 +v 0.214316 0.048936 -0.247975 +v 0.224709 0.049350 -0.246324 +v 0.235130 0.049773 -0.244665 +v 0.246007 0.051050 -0.243637 +v 0.256425 0.051480 -0.241976 +v 0.267316 0.052704 -0.240976 +v 0.277309 0.052305 -0.238660 +v 0.287273 0.051938 -0.236318 +v 0.296367 0.049940 -0.232671 +v 0.306344 0.049564 -0.230338 +v 0.315877 0.048391 -0.227336 +v 0.325399 0.047183 -0.224364 +v 0.334947 0.045996 -0.221353 +v 0.344020 0.043987 -0.217710 +v 0.351796 0.039518 -0.212085 +v 0.359986 0.035907 -0.207087 +v 0.367726 0.031471 -0.201467 +v 0.375484 0.027030 -0.195837 +v 0.385046 0.025833 -0.192846 +v 0.394588 0.024648 -0.189841 +v 0.405444 0.025887 -0.188856 +v 0.415871 0.026321 -0.187192 +v 0.427667 0.029193 -0.187474 +v 0.439081 0.031353 -0.187391 +v 0.450058 0.032707 -0.186678 +v -0.479971 0.800867 0.386518 +v -0.191867 0.027008 -0.289547 +v -0.186328 0.018501 -0.280624 +v -0.176754 0.017306 -0.277605 +v -0.166344 0.017739 -0.275933 +v -0.155911 0.018174 -0.274254 +v -0.145495 0.018606 -0.272585 +v -0.135505 0.018231 -0.270284 +v -0.124630 0.019481 -0.269257 +v -0.113749 0.020740 -0.268242 +v -0.102032 0.023605 -0.268557 +v -0.089379 0.028108 -0.270203 +v -0.076720 0.032608 -0.271858 +v -0.063607 0.037911 -0.274176 +v -0.050515 0.043211 -0.276471 +v -0.039208 0.045273 -0.276134 +v -0.026992 0.048963 -0.277099 +v -0.016148 0.050209 -0.276100 +v -0.004829 0.052271 -0.275751 +v 0.006522 0.054332 -0.275400 +v 0.017368 0.055563 -0.274404 +v 0.028243 0.056812 -0.273383 +v 0.038664 0.057246 -0.271720 +v 0.049559 0.058481 -0.270712 +v 0.059505 0.058113 -0.268383 +v 0.069923 0.058522 -0.266747 +v 0.079909 0.058177 -0.264381 +v 0.090803 0.059397 -0.263394 +v 0.100788 0.059033 -0.261052 +v 0.111212 0.059483 -0.259363 +v 0.121624 0.059912 -0.257704 +v 0.132040 0.060320 -0.256068 +v 0.142487 0.060767 -0.254379 +v 0.152887 0.061209 -0.252698 +v 0.162889 0.060836 -0.250363 +v 0.173296 0.061259 -0.248713 +v 0.183269 0.060877 -0.246394 +v 0.193729 0.061314 -0.244720 +v 0.204147 0.061760 -0.243037 +v 0.214126 0.061351 -0.240748 +v 0.224529 0.061797 -0.239069 +v 0.234523 0.061424 -0.236736 +v 0.245400 0.062670 -0.235722 +v 0.255827 0.063104 -0.234050 +v 0.266242 0.063535 -0.232383 +v 0.276229 0.063151 -0.230060 +v 0.286232 0.062760 -0.227735 +v 0.295745 0.061572 -0.224756 +v 0.305729 0.061200 -0.222409 +v 0.315248 0.060014 -0.219416 +v 0.324764 0.058827 -0.216427 +v 0.333876 0.056813 -0.212774 +v 0.342533 0.053983 -0.208449 +v 0.349822 0.048756 -0.202141 +v 0.357155 0.043468 -0.195865 +v 0.363560 0.036610 -0.188229 +v 0.370436 0.030545 -0.181285 +v 0.378646 0.026922 -0.176321 +v 0.388200 0.025736 -0.173319 +v 0.398599 0.026167 -0.171651 +v 0.408580 0.025792 -0.169318 +v 0.419893 0.027848 -0.168954 +v 0.431240 0.029914 -0.168648 +v 0.442538 0.031963 -0.168280 +v 0.452493 0.031587 -0.165978 +v -0.453549 0.355037 0.158720 +v -0.196899 0.030377 -0.275132 +v -0.193134 0.018633 -0.263571 +v -0.183155 0.018257 -0.261208 +v -0.173158 0.017881 -0.258892 +v -0.162720 0.018319 -0.257199 +v -0.152301 0.018755 -0.255518 +v -0.141898 0.019192 -0.253861 +v -0.131012 0.020448 -0.252856 +v -0.119701 0.022521 -0.252507 +v -0.107505 0.026204 -0.253505 +v -0.093502 0.033176 -0.257112 +v -0.079077 0.040911 -0.261401 +v -0.065557 0.047056 -0.264324 +v -0.052432 0.052358 -0.266652 +v -0.039816 0.056863 -0.268251 +v -0.028031 0.059731 -0.268571 +v -0.016283 0.062584 -0.268905 +v -0.005394 0.063835 -0.267889 +v 0.005458 0.065086 -0.266849 +v 0.015852 0.065523 -0.265167 +v 0.026288 0.065956 -0.263506 +v 0.036256 0.065580 -0.261179 +v 0.047155 0.066821 -0.260192 +v 0.057150 0.066449 -0.257842 +v 0.067563 0.066885 -0.256176 +v 0.077967 0.067318 -0.254529 +v 0.088397 0.067752 -0.252865 +v 0.098370 0.067379 -0.250514 +v 0.108811 0.067817 -0.248838 +v 0.119218 0.068254 -0.247155 +v 0.129657 0.068689 -0.245492 +v 0.139662 0.068313 -0.243178 +v 0.150057 0.068749 -0.241491 +v 0.160041 0.068373 -0.239174 +v 0.170456 0.068814 -0.237479 +v 0.180881 0.069251 -0.235815 +v 0.191299 0.069684 -0.234150 +v 0.201733 0.070115 -0.232512 +v 0.212161 0.070551 -0.230838 +v 0.222610 0.070986 -0.229163 +v 0.232576 0.070612 -0.226844 +v 0.243446 0.071862 -0.225808 +v 0.253443 0.071487 -0.223469 +v 0.263410 0.071106 -0.221159 +v 0.273372 0.070732 -0.218833 +v 0.283383 0.070352 -0.216476 +v 0.292891 0.069165 -0.213503 +v 0.302881 0.068786 -0.211173 +v 0.312398 0.067603 -0.208148 +v 0.321483 0.065598 -0.204531 +v 0.330590 0.063589 -0.200882 +v 0.339229 0.060772 -0.196541 +v 0.346538 0.055518 -0.190271 +v 0.352954 0.048638 -0.182651 +v 0.358471 0.040154 -0.173728 +v 0.364051 0.031611 -0.164755 +v 0.372242 0.027994 -0.159811 +v 0.380915 0.025186 -0.155463 +v 0.391329 0.025619 -0.153797 +v 0.401290 0.025244 -0.151486 +v 0.411748 0.025685 -0.149814 +v 0.422607 0.026936 -0.148777 +v 0.434348 0.029806 -0.149122 +v 0.445668 0.031866 -0.148749 +v 0.455627 0.031491 -0.146457 +v -0.527376 0.820337 0.378184 +v -0.598593 0.793897 0.293566 +v -0.206383 0.025641 -0.254153 +v -0.199951 0.018753 -0.246504 +v -0.189952 0.018380 -0.244179 +v -0.179524 0.018814 -0.242488 +v -0.169980 0.017635 -0.239542 +v -0.159100 0.018886 -0.238483 +v -0.148678 0.019328 -0.236821 +v -0.137840 0.020588 -0.235797 +v -0.125615 0.024303 -0.236779 +v -0.112096 0.030431 -0.239747 +v -0.096788 0.039833 -0.245315 +v -0.081461 0.049225 -0.250910 +v -0.067916 0.055353 -0.253869 +v -0.053937 0.062286 -0.257471 +v -0.042159 0.065165 -0.257763 +v -0.030867 0.067223 -0.257400 +v -0.019991 0.068472 -0.256383 +v -0.009561 0.068906 -0.254718 +v 0.000379 0.068533 -0.252398 +v 0.010811 0.068972 -0.250708 +v 0.020796 0.068599 -0.248390 +v 0.031223 0.069035 -0.246702 +v 0.041226 0.068663 -0.244409 +v 0.051626 0.069099 -0.242701 +v 0.061591 0.068725 -0.240382 +v 0.072045 0.069165 -0.238739 +v 0.082482 0.069605 -0.237044 +v 0.092875 0.070041 -0.235389 +v 0.102873 0.069669 -0.233025 +v 0.113273 0.070105 -0.231344 +v 0.123690 0.070545 -0.229673 +v 0.134155 0.070986 -0.228013 +v 0.144572 0.071421 -0.226343 +v 0.154548 0.071049 -0.224013 +v 0.164990 0.071488 -0.222335 +v 0.175403 0.071929 -0.220693 +v 0.186253 0.073173 -0.219639 +v 0.195791 0.071992 -0.216666 +v 0.206683 0.073239 -0.215646 +v 0.216627 0.072867 -0.213331 +v 0.227059 0.073306 -0.211671 +v 0.237474 0.073742 -0.209968 +v 0.247935 0.074183 -0.208283 +v 0.258357 0.074617 -0.206632 +v 0.267876 0.073435 -0.203625 +v 0.278307 0.073869 -0.201976 +v 0.287854 0.072680 -0.198970 +v 0.297391 0.071494 -0.195981 +v 0.307347 0.071116 -0.193662 +v 0.316448 0.069121 -0.189968 +v 0.325971 0.067927 -0.186985 +v 0.334597 0.065115 -0.182701 +v 0.342355 0.060671 -0.177078 +v 0.346995 0.050522 -0.166796 +v 0.350762 0.038761 -0.155250 +v 0.355850 0.029431 -0.145643 +v 0.364503 0.026613 -0.141298 +v 0.374057 0.025429 -0.138343 +v 0.384486 0.025866 -0.136675 +v 0.394482 0.025493 -0.134308 +v 0.404908 0.025928 -0.132636 +v 0.414866 0.025558 -0.130311 +v 0.425762 0.026815 -0.129290 +v 0.437036 0.028878 -0.128976 +v 0.448830 0.031752 -0.129260 +v 0.458793 0.031381 -0.126933 +v 0.469188 0.031820 -0.125276 +v -0.215859 0.020859 -0.233154 +v -0.206333 0.019673 -0.230168 +v -0.197204 0.017671 -0.226492 +v -0.187215 0.017301 -0.224173 +v -0.176809 0.017742 -0.222502 +v -0.166388 0.018187 -0.220796 +v -0.155521 0.019439 -0.219823 +v -0.145073 0.019902 -0.218128 +v -0.132015 0.025225 -0.220404 +v -0.117150 0.033814 -0.225342 +v -0.100936 0.044860 -0.232235 +v -0.084731 0.055889 -0.239111 +v -0.070737 0.062832 -0.242742 +v -0.058537 0.066526 -0.243695 +v -0.047243 0.068588 -0.243318 +v -0.037252 0.068217 -0.240991 +v -0.026850 0.068657 -0.239337 +v -0.016413 0.069097 -0.237663 +v -0.006417 0.068723 -0.235324 +v 0.003564 0.068354 -0.232996 +v 0.013981 0.068795 -0.231320 +v 0.024400 0.069232 -0.229603 +v 0.034376 0.068860 -0.227300 +v 0.044350 0.068489 -0.224967 +v 0.054796 0.068928 -0.223304 +v 0.064781 0.068558 -0.220971 +v 0.075196 0.069002 -0.219266 +v 0.086071 0.070251 -0.218253 +v 0.096007 0.069881 -0.215895 +v 0.106472 0.070320 -0.214249 +v 0.116441 0.069952 -0.211927 +v 0.127295 0.071205 -0.210905 +v 0.137741 0.071644 -0.209229 +v 0.147721 0.071274 -0.206866 +v 0.158156 0.071712 -0.205200 +v 0.168117 0.071342 -0.202894 +v 0.178517 0.071782 -0.201187 +v 0.188538 0.071414 -0.198885 +v 0.199377 0.072664 -0.197874 +v 0.209359 0.072292 -0.195496 +v 0.219811 0.072731 -0.193830 +v 0.229778 0.072359 -0.191503 +v 0.239723 0.071988 -0.189179 +v 0.250615 0.073244 -0.188182 +v 0.261053 0.073686 -0.186465 +v 0.271455 0.074126 -0.184830 +v 0.281888 0.074565 -0.183154 +v 0.291867 0.074190 -0.180776 +v 0.300934 0.072192 -0.177142 +v 0.310948 0.071816 -0.174804 +v 0.320899 0.071440 -0.172482 +v 0.329101 0.067809 -0.167533 +v 0.335525 0.060911 -0.159913 +v 0.338395 0.047499 -0.147023 +v 0.340799 0.033293 -0.133468 +v 0.347680 0.027215 -0.126515 +v 0.357230 0.026028 -0.123547 +v 0.366781 0.024840 -0.120543 +v 0.376742 0.024467 -0.118181 +v 0.386717 0.024094 -0.115851 +v 0.397150 0.024537 -0.114200 +v 0.407564 0.024976 -0.112511 +v 0.417999 0.025418 -0.110844 +v 0.428013 0.025054 -0.108504 +v 0.439291 0.027115 -0.108128 +v 0.450623 0.029185 -0.107769 +v 0.461057 0.029630 -0.106104 +v 0.471455 0.030070 -0.104446 +v 0.481863 0.030512 -0.102786 +v -0.252170 0.022882 -0.223846 +v -0.243916 0.019248 -0.218850 +v -0.233528 0.019690 -0.217182 +v -0.223556 0.019318 -0.214854 +v -0.214473 0.017318 -0.211211 +v -0.204498 0.016946 -0.208843 +v -0.194032 0.017393 -0.207177 +v -0.183619 0.017835 -0.205513 +v -0.173214 0.018279 -0.203829 +v -0.162335 0.019539 -0.202796 +v -0.151905 0.019990 -0.201136 +v -0.139727 0.023699 -0.202070 +v -0.124399 0.033134 -0.207653 +v -0.104647 0.050708 -0.219779 +v -0.088876 0.060921 -0.226000 +v -0.076219 0.065427 -0.227637 +v -0.065387 0.066683 -0.226619 +v -0.054504 0.067941 -0.225585 +v -0.044074 0.068385 -0.223939 +v -0.033677 0.068827 -0.222257 +v -0.023677 0.068454 -0.219904 +v -0.013680 0.068087 -0.217594 +v -0.003301 0.068526 -0.215869 +v 0.006693 0.068153 -0.213532 +v 0.016667 0.067785 -0.211210 +v 0.027086 0.068229 -0.209550 +v 0.037545 0.068671 -0.207866 +v 0.047514 0.068302 -0.205525 +v 0.057934 0.068745 -0.203837 +v 0.068356 0.069189 -0.202157 +v 0.078778 0.069632 -0.200499 +v 0.088750 0.069263 -0.198159 +v 0.099608 0.070519 -0.197115 +v 0.109588 0.070149 -0.194797 +v 0.120037 0.070591 -0.193112 +v 0.130006 0.070222 -0.190785 +v 0.140436 0.070667 -0.189134 +v 0.150839 0.071109 -0.187426 +v 0.161289 0.071550 -0.185730 +v 0.171249 0.071180 -0.183397 +v 0.181705 0.071628 -0.181757 +v 0.192120 0.072067 -0.180060 +v 0.202078 0.071698 -0.177709 +v 0.212488 0.072142 -0.176053 +v 0.222952 0.072587 -0.174351 +v 0.233377 0.073031 -0.172686 +v 0.243760 0.073473 -0.171024 +v 0.253748 0.073103 -0.168662 +v 0.264629 0.074359 -0.167655 +v 0.274627 0.073990 -0.165306 +v 0.285050 0.074435 -0.163653 +v 0.295460 0.074869 -0.161995 +v 0.304545 0.072869 -0.158343 +v 0.313623 0.070868 -0.154688 +v 0.321801 0.067231 -0.149689 +v 0.326023 0.056249 -0.138811 +v 0.326661 0.038762 -0.122637 +v 0.331780 0.029424 -0.113083 +v 0.340421 0.026605 -0.108744 +v 0.349529 0.024606 -0.105103 +v 0.359485 0.024232 -0.102735 +v 0.369480 0.023863 -0.100398 +v 0.379921 0.024306 -0.098748 +v 0.389872 0.023935 -0.096391 +v 0.399839 0.023565 -0.094068 +v 0.410296 0.024007 -0.092369 +v 0.420279 0.023642 -0.090074 +v 0.431154 0.024899 -0.089035 +v 0.441560 0.025346 -0.087341 +v 0.452865 0.027419 -0.087009 +v 0.464159 0.029491 -0.086654 +v 0.474620 0.029936 -0.084978 +v 0.485036 0.030378 -0.083281 +v 0.495474 0.030844 -0.081601 +v 0.510312 0.039427 -0.086527 +v 0.523827 0.045574 -0.089463 +v 0.535201 0.047704 -0.089228 +v 0.546237 0.049068 -0.088428 +v 0.556916 0.051814 -0.086831 +v 0.569923 0.056055 -0.089239 +v 0.582170 0.060754 -0.090122 +v 0.593027 0.062389 -0.089314 +v 0.605013 0.066610 -0.090119 +v 0.616561 0.069768 -0.089918 +v 0.628047 0.073909 -0.090107 +v -0.280253 0.021233 -0.209536 +v -0.270687 0.020053 -0.206570 +v -0.260744 0.019689 -0.204273 +v -0.250774 0.019311 -0.201882 +v -0.242100 0.016496 -0.197580 +v -0.231700 0.016943 -0.195925 +v -0.221242 0.017386 -0.194213 +v -0.211264 0.017017 -0.191855 +v -0.201323 0.016648 -0.189551 +v -0.189973 0.018726 -0.189180 +v -0.179984 0.018359 -0.186829 +v -0.169570 0.018808 -0.185168 +v -0.158708 0.020075 -0.184123 +v -0.146953 0.022983 -0.184399 +v -0.131228 0.033217 -0.190636 +v -0.111471 0.050821 -0.202749 +v -0.093447 0.065120 -0.212258 +v -0.083037 0.065569 -0.210592 +v -0.072200 0.066829 -0.209566 +v -0.061331 0.068086 -0.208523 +v -0.051327 0.067716 -0.206187 +v -0.041396 0.067348 -0.203870 +v -0.031381 0.066980 -0.201522 +v -0.020954 0.067423 -0.199842 +v -0.010985 0.067056 -0.197503 +v -0.000582 0.067500 -0.195834 +v 0.008967 0.066318 -0.192845 +v 0.019853 0.067574 -0.191828 +v 0.029388 0.066398 -0.188787 +v 0.040229 0.067653 -0.187765 +v 0.050651 0.068099 -0.186092 +v 0.060637 0.067730 -0.183750 +v 0.071078 0.068179 -0.182091 +v 0.081487 0.068625 -0.180411 +v 0.091888 0.069069 -0.178714 +v 0.102339 0.069518 -0.177051 +v 0.112760 0.069961 -0.175363 +v 0.122712 0.069594 -0.173055 +v 0.133135 0.070040 -0.171358 +v 0.143567 0.070485 -0.169658 +v 0.153542 0.070117 -0.167344 +v 0.163979 0.070562 -0.165644 +v 0.173942 0.070193 -0.163324 +v 0.184849 0.071455 -0.162316 +v 0.194799 0.071086 -0.159940 +v 0.205255 0.071535 -0.158300 +v 0.215649 0.071978 -0.156585 +v 0.226055 0.072423 -0.154899 +v 0.236505 0.072873 -0.153248 +v 0.246917 0.073317 -0.151561 +v 0.256920 0.072949 -0.149202 +v 0.267314 0.073394 -0.147525 +v 0.277283 0.073025 -0.145222 +v 0.287728 0.073468 -0.143533 +v 0.297274 0.072278 -0.140554 +v 0.305889 0.069454 -0.136217 +v 0.311443 0.060927 -0.127336 +v 0.314285 0.047531 -0.114480 +v 0.315837 0.031642 -0.099646 +v 0.323177 0.026347 -0.093321 +v 0.332273 0.024351 -0.089700 +v 0.341825 0.023167 -0.086684 +v 0.352204 0.023614 -0.084978 +v 0.361781 0.022428 -0.082013 +v 0.372203 0.022874 -0.080313 +v 0.382155 0.022504 -0.077991 +v 0.392599 0.022953 -0.076304 +v 0.402988 0.023398 -0.074630 +v 0.413455 0.023863 -0.072931 +v 0.424299 0.025123 -0.071910 +v 0.434724 0.025573 -0.070214 +v 0.445156 0.025999 -0.068550 +v 0.454702 0.024821 -0.065539 +v 0.465099 0.025260 -0.063902 +v 0.475994 0.026527 -0.062849 +v 0.487276 0.028598 -0.062491 +v 0.497699 0.029050 -0.060842 +v 0.508127 0.029492 -0.059141 +v 0.518556 0.029948 -0.057475 +v 0.531214 0.034474 -0.059078 +v 0.542536 0.036556 -0.058683 +v 0.555183 0.041088 -0.060328 +v 0.566930 0.043979 -0.060622 +v 0.577834 0.045269 -0.059637 +v 0.590011 0.049893 -0.060780 +v 0.602960 0.054561 -0.062928 +v 0.616391 0.059939 -0.065816 +v 0.627600 0.063033 -0.065512 +v 0.639646 0.067721 -0.066585 +v 0.651513 0.072836 -0.067570 +v -0.445375 0.351284 0.163629 +v -0.468441 1.168167 -0.345459 +v -0.319211 0.018301 -0.196318 +v -0.309217 0.017935 -0.193987 +v -0.298820 0.018382 -0.192317 +v -0.288418 0.018836 -0.190690 +v -0.278827 0.017646 -0.187646 +v -0.268891 0.017279 -0.185311 +v -0.259342 0.016095 -0.182297 +v -0.248922 0.016542 -0.180597 +v -0.238917 0.016177 -0.178251 +v -0.228494 0.016625 -0.176600 +v -0.218084 0.017074 -0.174907 +v -0.207662 0.017521 -0.173233 +v -0.197692 0.017155 -0.170874 +v -0.186807 0.018421 -0.169883 +v -0.176406 0.018869 -0.168192 +v -0.165957 0.019325 -0.166474 +v -0.154662 0.021408 -0.166134 +v -0.142013 0.025979 -0.167719 +v -0.118294 0.050907 -0.185764 +v -0.100741 0.064426 -0.194590 +v -0.089895 0.065688 -0.193521 +v -0.079453 0.066141 -0.191870 +v -0.068575 0.067402 -0.190846 +v -0.058630 0.067035 -0.188494 +v -0.048629 0.066666 -0.186182 +v -0.038652 0.066297 -0.183804 +v -0.028657 0.065929 -0.181462 +v -0.018716 0.065563 -0.179164 +v -0.008280 0.066012 -0.177454 +v 0.002127 0.066459 -0.175769 +v 0.012150 0.066094 -0.173441 +v 0.022525 0.066541 -0.171782 +v 0.032981 0.066989 -0.170098 +v 0.042931 0.066622 -0.167728 +v 0.053368 0.067071 -0.166038 +v 0.063371 0.066708 -0.163725 +v 0.074208 0.067969 -0.162701 +v 0.084633 0.068417 -0.161021 +v 0.094628 0.068052 -0.158654 +v 0.105486 0.069314 -0.157646 +v 0.115477 0.068948 -0.155304 +v 0.125902 0.069397 -0.153605 +v 0.136325 0.069844 -0.151954 +v 0.146277 0.069477 -0.149596 +v 0.156709 0.069927 -0.147931 +v 0.167120 0.070373 -0.146229 +v 0.177124 0.070008 -0.143907 +v 0.187512 0.070454 -0.142186 +v 0.197941 0.070905 -0.140542 +v 0.208389 0.071352 -0.138847 +v 0.218367 0.070986 -0.136499 +v 0.228765 0.071435 -0.134808 +v 0.239211 0.071883 -0.133130 +v 0.249626 0.072333 -0.131455 +v 0.260060 0.072782 -0.129781 +v 0.270494 0.073224 -0.128099 +v 0.280013 0.072041 -0.125118 +v 0.289094 0.070038 -0.121466 +v 0.296826 0.065589 -0.115828 +v 0.301050 0.054571 -0.104940 +v 0.302584 0.038704 -0.090138 +v 0.307232 0.028529 -0.079912 +v 0.315461 0.024886 -0.074937 +v 0.324540 0.022889 -0.071295 +v 0.334543 0.022524 -0.068919 +v 0.344967 0.022982 -0.067227 +v 0.356287 0.025055 -0.066896 +v 0.366709 0.025511 -0.065203 +v 0.377098 0.025971 -0.063509 +v 0.387559 0.026432 -0.061808 +v 0.397981 0.026878 -0.060152 +v 0.409271 0.028960 -0.059789 +v 0.421464 0.032688 -0.060721 +v 0.432349 0.033923 -0.059691 +v 0.441861 0.032733 -0.056708 +v 0.450933 0.030744 -0.053038 +v 0.460061 0.028719 -0.049399 +v 0.469149 0.026732 -0.045720 +v 0.478695 0.025543 -0.042768 +v 0.489549 0.026802 -0.041730 +v 0.499547 0.026441 -0.039400 +v 0.510407 0.027707 -0.038379 +v 0.521240 0.028969 -0.037353 +v 0.532127 0.030235 -0.036290 +v 0.543015 0.031511 -0.035292 +v 0.554746 0.034405 -0.035594 +v 0.565179 0.034853 -0.033866 +v 0.576910 0.037751 -0.034163 +v 0.590605 0.043405 -0.037241 +v 0.602111 0.047103 -0.037310 +v 0.613757 0.051205 -0.037711 +v 0.626606 0.056048 -0.039828 +v 0.640143 0.061076 -0.042789 +v 0.652713 0.066497 -0.044707 +v 0.665771 0.072624 -0.047415 +v -0.437230 0.347567 0.168569 +v -0.482843 0.808387 0.397749 +v -0.355957 0.019420 -0.186421 +v -0.346868 0.017420 -0.182799 +v -0.336413 0.017871 -0.181095 +v -0.325996 0.018318 -0.179417 +v -0.316453 0.017137 -0.176439 +v -0.306511 0.016771 -0.174088 +v -0.296966 0.015587 -0.171069 +v -0.286509 0.016036 -0.169392 +v -0.276572 0.015672 -0.167023 +v -0.266110 0.016125 -0.165376 +v -0.255729 0.016573 -0.163661 +v -0.245732 0.016210 -0.161325 +v -0.235293 0.016661 -0.159669 +v -0.224868 0.017111 -0.157940 +v -0.214456 0.017561 -0.156259 +v -0.204467 0.017197 -0.153949 +v -0.194082 0.017647 -0.152275 +v -0.183635 0.018100 -0.150582 +v -0.173189 0.018559 -0.148883 +v -0.161899 0.020641 -0.148523 +v -0.151064 0.021908 -0.147499 +v -0.129104 0.043627 -0.162869 +v -0.107096 0.065345 -0.178205 +v -0.096692 0.065796 -0.176553 +v -0.086730 0.065432 -0.174209 +v -0.075839 0.066698 -0.173139 +v -0.065881 0.066333 -0.170806 +v -0.055456 0.066784 -0.169117 +v -0.045495 0.066418 -0.166807 +v -0.035515 0.066051 -0.164474 +v -0.025521 0.065684 -0.162125 +v -0.015524 0.065320 -0.159772 +v -0.005129 0.065768 -0.158072 +v 0.004844 0.065403 -0.155741 +v 0.015275 0.065856 -0.154077 +v 0.025718 0.066307 -0.152378 +v 0.036125 0.066755 -0.150667 +v 0.046105 0.066391 -0.148321 +v 0.056968 0.067660 -0.147333 +v 0.066964 0.067295 -0.144971 +v 0.077355 0.067745 -0.143304 +v 0.087374 0.067381 -0.140935 +v 0.097772 0.067832 -0.139249 +v 0.108660 0.069093 -0.138224 +v 0.118154 0.067915 -0.135214 +v 0.129041 0.069183 -0.134198 +v 0.139019 0.068819 -0.131880 +v 0.149424 0.069270 -0.130197 +v 0.159871 0.069719 -0.128485 +v 0.169833 0.069354 -0.126150 +v 0.179817 0.068991 -0.123817 +v 0.190673 0.070258 -0.122790 +v 0.201110 0.070710 -0.121086 +v 0.211526 0.071160 -0.119434 +v 0.221500 0.070795 -0.117084 +v 0.232394 0.072057 -0.116020 +v 0.241926 0.070884 -0.113056 +v 0.252772 0.072148 -0.112030 +v 0.262756 0.071777 -0.109667 +v 0.272288 0.070589 -0.106681 +v 0.280919 0.067764 -0.102367 +v 0.287354 0.060843 -0.094791 +v 0.289757 0.046615 -0.081307 +v 0.292632 0.033148 -0.068450 +v 0.299095 0.026221 -0.060852 +v 0.307725 0.023408 -0.056538 +v 0.317294 0.022236 -0.053542 +v 0.328134 0.023501 -0.052517 +v 0.338595 0.023955 -0.050851 +v 0.349880 0.026066 -0.050463 +v 0.363423 0.032229 -0.053378 +v 0.374257 0.033480 -0.052368 +v 0.385123 0.034750 -0.051339 +v 0.396433 0.036837 -0.050966 +v 0.407742 0.038925 -0.050592 +v 0.420827 0.044284 -0.052843 +v 0.430362 0.043099 -0.049846 +v 0.439453 0.041097 -0.046192 +v 0.447681 0.037472 -0.041195 +v 0.456741 0.035472 -0.037558 +v 0.465866 0.033457 -0.033891 +v 0.474954 0.031445 -0.030246 +v 0.483600 0.028622 -0.025943 +v 0.492270 0.025808 -0.021621 +v 0.502218 0.025444 -0.019267 +v 0.513529 0.027526 -0.018888 +v 0.523970 0.027983 -0.017225 +v 0.534832 0.029252 -0.016205 +v 0.545265 0.029709 -0.014520 +v 0.556538 0.031790 -0.014162 +v 0.566964 0.032243 -0.012465 +v 0.578302 0.034336 -0.012064 +v 0.590057 0.037250 -0.012386 +v 0.603151 0.042607 -0.014616 +v 0.615793 0.047151 -0.016225 +v 0.628350 0.052223 -0.017892 +v 0.642217 0.058544 -0.021460 +v 0.654980 0.063599 -0.023533 +v 0.668097 0.069688 -0.026279 +v -0.428972 0.343966 0.173445 +v -0.420432 0.340985 0.177789 +v -0.527191 0.768887 0.240667 +v -0.428303 0.816837 0.403488 +v -0.640644 0.831827 0.145999 +v -0.313696 0.324952 0.231753 +v -0.373616 0.018146 -0.170556 +v -0.363169 0.018599 -0.168890 +v -0.353210 0.018234 -0.166581 +v -0.343245 0.017869 -0.164222 +v -0.333686 0.016686 -0.161211 +v -0.323722 0.016321 -0.158849 +v -0.313740 0.015956 -0.156509 +v -0.303762 0.015592 -0.154183 +v -0.293311 0.016044 -0.152448 +v -0.283357 0.015682 -0.150145 +v -0.272927 0.016135 -0.148422 +v -0.262924 0.015772 -0.146086 +v -0.252524 0.016227 -0.144414 +v -0.241662 0.017495 -0.143350 +v -0.231691 0.017131 -0.141044 +v -0.221708 0.016769 -0.138666 +v -0.211273 0.017223 -0.137012 +v -0.200845 0.017677 -0.135322 +v -0.190426 0.018131 -0.133613 +v -0.180005 0.018585 -0.131921 +v -0.169611 0.019037 -0.130261 +v -0.158728 0.020313 -0.129217 +v -0.147444 0.022402 -0.128863 +v -0.113067 0.067073 -0.162551 +v -0.104858 0.063435 -0.157566 +v -0.093987 0.064706 -0.156528 +v -0.083094 0.065979 -0.155512 +v -0.072696 0.066431 -0.153840 +v -0.062706 0.066068 -0.151472 +v -0.052295 0.066520 -0.149789 +v -0.042310 0.066155 -0.147463 +v -0.032320 0.065790 -0.145111 +v -0.022365 0.065426 -0.142756 +v -0.012375 0.065061 -0.140406 +v -0.002371 0.064699 -0.138074 +v 0.008020 0.065151 -0.136373 +v 0.018465 0.065603 -0.134706 +v 0.028414 0.065240 -0.132371 +v 0.038854 0.065693 -0.130678 +v 0.048808 0.065329 -0.128310 +v 0.059691 0.066601 -0.127309 +v 0.069676 0.066237 -0.124929 +v 0.080070 0.066690 -0.123239 +v 0.090506 0.067145 -0.121578 +v 0.100912 0.067597 -0.119870 +v 0.110890 0.067232 -0.117516 +v 0.121339 0.067687 -0.115841 +v 0.131769 0.068143 -0.114181 +v 0.142165 0.068594 -0.112461 +v 0.152622 0.069047 -0.110779 +v 0.162603 0.068687 -0.108459 +v 0.173015 0.069140 -0.106748 +v 0.183420 0.069592 -0.105062 +v 0.193847 0.070048 -0.103395 +v 0.204286 0.070499 -0.101695 +v 0.214220 0.070134 -0.099327 +v 0.224219 0.069773 -0.096997 +v 0.235108 0.071040 -0.095953 +v 0.245069 0.070680 -0.093617 +v 0.255462 0.071130 -0.091946 +v 0.265017 0.069945 -0.088978 +v 0.272310 0.064667 -0.082677 +v 0.277431 0.055268 -0.073134 +v 0.279854 0.041012 -0.059669 +v 0.284052 0.030019 -0.048814 +v 0.291853 0.025539 -0.043184 +v 0.300910 0.023543 -0.039531 +v 0.310927 0.023190 -0.037186 +v 0.323104 0.026927 -0.038074 +v 0.333536 0.027384 -0.036391 +v 0.344365 0.028721 -0.035368 +v 0.361892 0.042191 -0.044196 +v 0.455244 0.045457 -0.028351 +v 0.463447 0.041817 -0.023387 +v 0.472118 0.038983 -0.019054 +v 0.479868 0.034527 -0.013453 +v 0.487612 0.030082 -0.007830 +v 0.495845 0.026451 -0.002832 +v 0.505356 0.025269 0.000163 +v 0.515800 0.025709 0.001854 +v 0.526235 0.026170 0.003521 +v 0.537963 0.029071 0.003221 +v 0.547941 0.028709 0.005599 +v 0.558812 0.029983 0.006620 +v 0.570143 0.032077 0.007013 +v 0.581436 0.034165 0.007363 +v 0.592308 0.035445 0.008415 +v 0.604498 0.039174 0.007466 +v 0.617582 0.044542 0.005222 +v 0.631099 0.050723 0.002327 +v 0.644264 0.056265 -0.000107 +v 0.658109 0.062670 -0.003635 +v 0.671111 0.069077 -0.006377 +v 0.685936 0.077102 -0.011326 +v 0.698339 0.083556 -0.015557 +v -0.411813 0.338071 0.182113 +v -0.501140 0.380289 0.126840 +v -0.493407 0.375505 0.132812 +v -0.538183 0.805777 0.369257 +v -0.399903 0.019668 -0.159019 +v -0.389922 0.019307 -0.156702 +v -0.379485 0.019757 -0.154993 +v -0.369956 0.018572 -0.151989 +v -0.360847 0.016570 -0.148332 +v -0.351347 0.015395 -0.145355 +v -0.340907 0.015851 -0.143626 +v -0.330490 0.016306 -0.141945 +v -0.320512 0.015944 -0.139585 +v -0.310118 0.016399 -0.137917 +v -0.300565 0.015219 -0.134917 +v -0.290128 0.015673 -0.133226 +v -0.280162 0.015314 -0.130886 +v -0.269277 0.016585 -0.129844 +v -0.259324 0.016225 -0.127492 +v -0.248879 0.016682 -0.125821 +v -0.238476 0.017138 -0.124126 +v -0.228063 0.017593 -0.122419 +v -0.218053 0.017232 -0.120107 +v -0.207648 0.017685 -0.118390 +v -0.197682 0.017327 -0.116035 +v -0.186824 0.018600 -0.114991 +v -0.176407 0.019055 -0.113325 +v -0.166401 0.018694 -0.110987 +v -0.155998 0.019151 -0.109285 +v -0.145111 0.020441 -0.108272 +v -0.132070 0.025801 -0.110511 +v -0.100363 0.065601 -0.140225 +v -0.090368 0.065238 -0.137859 +v -0.079917 0.065696 -0.136190 +v -0.069511 0.066149 -0.134489 +v -0.059533 0.065786 -0.132126 +v -0.049559 0.065425 -0.129814 +v -0.039144 0.065876 -0.128085 +v -0.029618 0.064699 -0.125077 +v -0.019208 0.065154 -0.123420 +v -0.008777 0.065610 -0.121719 +v 0.001211 0.065247 -0.119398 +v 0.011181 0.064884 -0.117036 +v 0.021191 0.064524 -0.114665 +v 0.031595 0.064978 -0.112989 +v 0.042017 0.065433 -0.111300 +v 0.051994 0.065073 -0.108946 +v 0.062428 0.065529 -0.107295 +v 0.072830 0.065984 -0.105589 +v 0.083239 0.066440 -0.103896 +v 0.093216 0.066077 -0.101544 +v 0.103671 0.066532 -0.099866 +v 0.113632 0.066170 -0.097527 +v 0.123602 0.065809 -0.095158 +v 0.134467 0.067083 -0.094135 +v 0.144887 0.067540 -0.092443 +v 0.155332 0.067997 -0.090731 +v 0.165719 0.068452 -0.089056 +v 0.176155 0.068908 -0.087364 +v 0.186142 0.068548 -0.085046 +v 0.196583 0.069001 -0.083339 +v 0.206563 0.068642 -0.081004 +v 0.216970 0.069098 -0.079293 +v 0.227367 0.069550 -0.077593 +v 0.237342 0.069190 -0.075255 +v 0.248220 0.070459 -0.074247 +v 0.256873 0.067633 -0.069951 +v 0.264178 0.062349 -0.063677 +v 0.268357 0.051360 -0.052817 +v 0.271684 0.038704 -0.040659 +v 0.277250 0.030122 -0.031771 +v 0.285478 0.026474 -0.026815 +v 0.294115 0.023658 -0.022469 +v 0.303649 0.022479 -0.019508 +v 0.314061 0.022937 -0.017784 +v 0.329793 0.033228 -0.023978 +v 0.346423 0.045160 -0.031448 +v 0.476578 0.041258 -0.001622 +v 0.484369 0.036801 0.004036 +v 0.492994 0.033998 0.008346 +v 0.502082 0.031971 0.011968 +v 0.510740 0.029143 0.016267 +v 0.519416 0.026328 0.020573 +v 0.529803 0.026784 0.022264 +v 0.540673 0.028061 0.023301 +v 0.551528 0.029336 0.024369 +v 0.562424 0.030616 0.025372 +v 0.573275 0.031891 0.026422 +v 0.584140 0.033173 0.027468 +v 0.595903 0.036088 0.027186 +v 0.607225 0.038204 0.027593 +v 0.620732 0.044384 0.024700 +v 0.634539 0.050168 0.021774 +v 0.647348 0.055984 0.019544 +v 0.661336 0.063476 0.015657 +v 0.676750 0.072170 0.009976 +v 0.690210 0.079344 0.006462 +v 0.704108 0.085718 0.002961 +v 0.717769 0.092483 -0.000519 +v -0.528923 0.386326 0.062900 +v -0.537661 0.774527 0.269886 +v -0.521680 0.381031 0.069050 +v -0.514073 0.376290 0.074660 +v -0.506526 0.371587 0.080222 +v -0.407171 0.018813 -0.141534 +v -0.396731 0.019265 -0.139839 +v -0.387611 0.017260 -0.136132 +v -0.377630 0.016898 -0.133805 +v -0.367644 0.016533 -0.131440 +v -0.358135 0.015358 -0.128468 +v -0.347695 0.015815 -0.126786 +v -0.337749 0.015455 -0.124442 +v -0.326858 0.016730 -0.123368 +v -0.317316 0.015551 -0.120365 +v -0.307338 0.015194 -0.118062 +v -0.296480 0.016469 -0.116999 +v -0.286500 0.016110 -0.114650 +v -0.276093 0.016566 -0.112939 +v -0.266114 0.016209 -0.110591 +v -0.255667 0.016667 -0.108908 +v -0.245276 0.017125 -0.107234 +v -0.234836 0.017585 -0.105538 +v -0.224435 0.018041 -0.103833 +v -0.214442 0.017682 -0.101471 +v -0.204015 0.018141 -0.099789 +v -0.193611 0.018599 -0.098115 +v -0.183173 0.019055 -0.096389 +v -0.173191 0.018698 -0.094089 +v -0.162810 0.019153 -0.092362 +v -0.152383 0.019614 -0.090714 +v -0.142824 0.018438 -0.087690 +v -0.131507 0.020537 -0.087312 +v -0.120686 0.021812 -0.086280 +v -0.087213 0.064938 -0.118564 +v -0.077193 0.064578 -0.116187 +v -0.066784 0.065036 -0.114515 +v -0.056359 0.065495 -0.112818 +v -0.045937 0.065948 -0.111133 +v -0.036424 0.064772 -0.108108 +v -0.026013 0.065230 -0.106442 +v -0.015585 0.065688 -0.104757 +v -0.005617 0.065327 -0.102392 +v 0.004381 0.064967 -0.100048 +v 0.014821 0.065423 -0.098328 +v 0.024804 0.065062 -0.095994 +v 0.034763 0.064703 -0.093667 +v 0.045190 0.065162 -0.091984 +v 0.055583 0.065619 -0.090259 +v 0.065558 0.065258 -0.087908 +v 0.075986 0.065717 -0.086209 +v 0.086426 0.066175 -0.084514 +v 0.096387 0.065814 -0.082186 +v 0.106396 0.065459 -0.079839 +v 0.117233 0.066732 -0.078799 +v 0.127225 0.066370 -0.076475 +v 0.137205 0.066014 -0.074110 +v 0.148065 0.067290 -0.073070 +v 0.158465 0.067747 -0.071356 +v 0.168453 0.067388 -0.069027 +v 0.178862 0.067846 -0.067354 +v 0.189313 0.068306 -0.065640 +v 0.199721 0.068763 -0.063978 +v 0.209705 0.068405 -0.061603 +v 0.220567 0.069677 -0.060559 +v 0.230111 0.068502 -0.057593 +v 0.240519 0.068954 -0.055900 +v 0.249574 0.066958 -0.052246 +v 0.256016 0.060028 -0.044673 +v 0.260665 0.049829 -0.034483 +v 0.264885 0.038801 -0.023655 +v 0.271333 0.031855 -0.016042 +v 0.278621 0.026588 -0.009772 +v 0.287771 0.024575 -0.006106 +v 0.297296 0.023400 -0.003104 +v 0.307274 0.023034 -0.000788 +v 0.316771 0.021858 0.002195 +v 0.490598 0.042328 0.018832 +v 0.497917 0.037043 0.025103 +v 0.505240 0.031763 0.031386 +v 0.513897 0.028939 0.035692 +v 0.523426 0.027757 0.038706 +v 0.533401 0.027395 0.041023 +v 0.544260 0.028677 0.042096 +v 0.555156 0.029961 0.043116 +v 0.566443 0.032058 0.043516 +v 0.577313 0.033337 0.044518 +v 0.589072 0.036261 0.044255 +v 0.600796 0.039175 0.043987 +v 0.613025 0.042928 0.043066 +v 0.625224 0.046678 0.042147 +v 0.638726 0.052877 0.039302 +v 0.653104 0.060795 0.035106 +v 0.666164 0.066406 0.032692 +v 0.680972 0.074518 0.027788 +v 0.694762 0.081131 0.024297 +v 0.707993 0.086990 0.021495 +v 0.722341 0.094254 0.017266 +v -0.403185 0.335176 0.186411 +v -0.394444 0.332567 0.190548 +v -0.632190 0.845667 0.351905 +v -0.562103 0.791897 0.339424 +v -0.385647 0.329984 0.194723 +v -0.430268 0.026047 -0.134714 +v -0.422966 0.020771 -0.128452 +v -0.413863 0.018767 -0.124785 +v -0.404302 0.017584 -0.121762 +v -0.394334 0.017225 -0.119434 +v -0.384362 0.016861 -0.117068 +v -0.374849 0.015684 -0.114065 +v -0.364831 0.015324 -0.111729 +v -0.354452 0.015782 -0.110046 +v -0.344034 0.016241 -0.108367 +v -0.334016 0.015882 -0.105989 +v -0.323605 0.016338 -0.104293 +v -0.313652 0.015978 -0.101972 +v -0.303663 0.015620 -0.099611 +v -0.292816 0.016898 -0.098537 +v -0.282809 0.016536 -0.096190 +v -0.272829 0.016180 -0.093875 +v -0.261996 0.017455 -0.092851 +v -0.251999 0.017095 -0.090489 +v -0.241569 0.017555 -0.088800 +v -0.231154 0.018011 -0.087075 +v -0.221163 0.017653 -0.084732 +v -0.210767 0.018111 -0.083044 +v -0.200367 0.018570 -0.081338 +v -0.190392 0.018208 -0.078983 +v -0.179927 0.018668 -0.077328 +v -0.169954 0.018307 -0.074971 +v -0.159981 0.017946 -0.072621 +v -0.150016 0.017587 -0.070286 +v -0.139582 0.018044 -0.068587 +v -0.129593 0.017687 -0.066225 +v -0.119193 0.018146 -0.064534 +v -0.108804 0.018604 -0.062860 +v -0.073569 0.065023 -0.097723 +v -0.064035 0.063841 -0.094723 +v -0.053143 0.065121 -0.093682 +v -0.042734 0.065579 -0.091979 +v -0.032771 0.065218 -0.089609 +v -0.022777 0.064857 -0.087296 +v -0.012800 0.064497 -0.084940 +v -0.002396 0.064955 -0.083216 +v 0.007591 0.064596 -0.080861 +v 0.018036 0.065055 -0.079186 +v 0.028431 0.065513 -0.077499 +v 0.038437 0.065150 -0.075122 +v 0.048416 0.064793 -0.072815 +v 0.058811 0.065248 -0.071083 +v 0.068770 0.064890 -0.068773 +v 0.079210 0.065350 -0.067063 +v 0.089649 0.065807 -0.065339 +v 0.099623 0.065449 -0.063021 +v 0.110010 0.065907 -0.061326 +v 0.120473 0.066368 -0.059602 +v 0.130858 0.066825 -0.057933 +v 0.140865 0.066466 -0.055566 +v 0.151274 0.066926 -0.053896 +v 0.161697 0.067385 -0.052201 +v 0.172091 0.067843 -0.050525 +v 0.182068 0.067483 -0.048181 +v 0.192520 0.067941 -0.046483 +v 0.202499 0.067583 -0.044113 +v 0.212924 0.068042 -0.042414 +v 0.223336 0.068499 -0.040737 +v 0.233301 0.068132 -0.038367 +v 0.242376 0.066127 -0.034730 +v 0.248794 0.059201 -0.027132 +v 0.253898 0.049816 -0.017613 +v 0.259007 0.040434 -0.008124 +v 0.264988 0.032690 0.000139 +v 0.272740 0.028230 0.005739 +v 0.281395 0.025400 0.010065 +v 0.290488 0.023396 0.013692 +v 0.300935 0.023854 0.015401 +v 0.312263 0.025919 0.015789 +v 0.319099 0.019850 0.022676 +v 0.493806 0.041975 0.038073 +v 0.501567 0.037505 0.043665 +v 0.509346 0.033032 0.049301 +v 0.517554 0.029399 0.054248 +v 0.527545 0.029042 0.056589 +v 0.537968 0.029508 0.058303 +v 0.548801 0.030782 0.059316 +v 0.559683 0.032073 0.060382 +v 0.570965 0.034170 0.060781 +v 0.583191 0.037917 0.059821 +v 0.595356 0.041657 0.058947 +v 0.607565 0.045399 0.057997 +v 0.619762 0.049145 0.057092 +v 0.631951 0.052889 0.056164 +v 0.645469 0.059089 0.053282 +v 0.658558 0.064478 0.051074 +v 0.671950 0.070916 0.048188 +v 0.685876 0.077249 0.044711 +v 0.699775 0.083615 0.041213 +v 0.712953 0.089523 0.038414 +v 0.726946 0.095700 0.034925 +v 0.741512 0.104244 0.030004 +v -0.498618 0.367227 0.085740 +v -0.438100 1.209647 -0.557619 +v -0.590651 0.827837 0.375454 +v -0.373166 0.339950 0.223754 +v -0.437456 0.025195 -0.117331 +v -0.429248 0.021545 -0.112352 +v -0.421017 0.017907 -0.107419 +v -0.411032 0.017543 -0.105071 +v -0.401501 0.016367 -0.102040 +v -0.391068 0.016823 -0.100353 +v -0.381103 0.016463 -0.098010 +v -0.371160 0.016104 -0.095663 +v -0.361154 0.015745 -0.093322 +v -0.350726 0.016206 -0.091597 +v -0.340303 0.016662 -0.089908 +v -0.330338 0.016302 -0.087570 +v -0.320353 0.015945 -0.085216 +v -0.309972 0.016405 -0.083512 +v -0.299546 0.016863 -0.081820 +v -0.289105 0.017321 -0.080148 +v -0.279155 0.016962 -0.077804 +v -0.268725 0.017421 -0.076112 +v -0.258716 0.017060 -0.073722 +v -0.248772 0.016701 -0.071374 +v -0.238775 0.016342 -0.069033 +v -0.227934 0.017619 -0.068011 +v -0.217966 0.017259 -0.065668 +v -0.207990 0.016898 -0.063301 +v -0.197099 0.018175 -0.062249 +v -0.187544 0.016996 -0.059252 +v -0.177568 0.016639 -0.056918 +v -0.167165 0.017099 -0.055238 +v -0.156769 0.017557 -0.053525 +v -0.146789 0.017197 -0.051182 +v -0.136370 0.017657 -0.049468 +v -0.125937 0.018118 -0.047787 +v -0.115507 0.018575 -0.046083 +v -0.105545 0.018217 -0.043746 +v -0.095146 0.018677 -0.042059 +v -0.084724 0.019135 -0.040329 +v -0.050390 0.063924 -0.073887 +v -0.040382 0.063565 -0.071515 +v -0.029530 0.064840 -0.070457 +v -0.019525 0.064479 -0.068115 +v -0.009582 0.064121 -0.065770 +v 0.000859 0.064582 -0.064069 +v 0.011273 0.065039 -0.062372 +v 0.021253 0.064682 -0.060032 +v 0.031665 0.065139 -0.058346 +v 0.041663 0.064778 -0.055975 +v 0.051609 0.064419 -0.053662 +v 0.061588 0.064061 -0.051298 +v 0.072461 0.065337 -0.050244 +v 0.082421 0.064979 -0.047903 +v 0.092874 0.065440 -0.046218 +v 0.103293 0.065896 -0.044486 +v 0.113233 0.065539 -0.042142 +v 0.123686 0.065999 -0.040441 +v 0.134090 0.066455 -0.038751 +v 0.144085 0.066100 -0.036400 +v 0.154506 0.066559 -0.034716 +v 0.164897 0.067015 -0.033019 +v 0.174862 0.066655 -0.030656 +v 0.185730 0.067936 -0.029633 +v 0.195745 0.067578 -0.027291 +v 0.206155 0.068034 -0.025570 +v 0.216114 0.067675 -0.023263 +v 0.226083 0.067313 -0.020900 +v 0.235622 0.066121 -0.017912 +v 0.242477 0.060020 -0.010968 +v 0.248024 0.051458 -0.002113 +v 0.253560 0.042905 0.006780 +v 0.260021 0.035952 0.014355 +v 0.267355 0.030661 0.020590 +v 0.275556 0.027024 0.025540 +v 0.284630 0.025026 0.029223 +v 0.293753 0.023021 0.032872 +v 0.303263 0.021845 0.035867 +v 0.314134 0.023110 0.036894 +v 0.321873 0.018660 0.042493 +v 0.490128 0.047720 0.050326 +v 0.496558 0.040788 0.057933 +v 0.503460 0.034664 0.064845 +v 0.510331 0.028582 0.071746 +v 0.520304 0.028225 0.074086 +v 0.531598 0.030324 0.074481 +v 0.542480 0.031613 0.075557 +v 0.553345 0.032900 0.076586 +v 0.565535 0.036633 0.075654 +v 0.576392 0.037916 0.076686 +v 0.589045 0.042496 0.075166 +v 0.601235 0.046234 0.074237 +v 0.613410 0.049976 0.073337 +v 0.625602 0.053715 0.072407 +v 0.638237 0.058282 0.070843 +v 0.651344 0.063677 0.068629 +v 0.663526 0.067423 0.067707 +v 0.677479 0.074441 0.064184 +v 0.691228 0.080851 0.060903 +v 0.704576 0.086489 0.058104 +v 0.718390 0.092971 0.054648 +v 0.733281 0.100997 0.049765 +v 0.747518 0.108459 0.045528 +v -0.376368 0.328330 0.197991 +v -0.490531 0.363002 0.091243 +v -0.402938 0.396347 0.273931 +v -0.562350 0.837427 0.391779 +v -0.441168 0.028173 -0.099478 +v -0.436284 0.020939 -0.095243 +v -0.427191 0.018933 -0.091562 +v -0.418064 0.016930 -0.087938 +v -0.408155 0.016471 -0.085469 +v -0.398209 0.016012 -0.083024 +v -0.388260 0.015604 -0.080662 +v -0.377874 0.016063 -0.078954 +v -0.367866 0.015704 -0.076625 +v -0.357475 0.016164 -0.074920 +v -0.347028 0.016623 -0.073185 +v -0.337076 0.016264 -0.070880 +v -0.326647 0.016725 -0.069159 +v -0.316233 0.017185 -0.067471 +v -0.305823 0.017644 -0.065769 +v -0.295860 0.017284 -0.063444 +v -0.285871 0.016925 -0.061051 +v -0.275443 0.017384 -0.059350 +v -0.265019 0.017844 -0.057694 +v -0.255052 0.017484 -0.055312 +v -0.245059 0.017121 -0.052960 +v -0.235511 0.015947 -0.049951 +v -0.225103 0.016408 -0.048248 +v -0.214237 0.017680 -0.047231 +v -0.204709 0.016510 -0.044211 +v -0.194288 0.016969 -0.042517 +v -0.183889 0.017433 -0.040799 +v -0.173916 0.017072 -0.038452 +v -0.163498 0.017533 -0.036753 +v -0.153074 0.017990 -0.035060 +v -0.143107 0.017626 -0.032743 +v -0.132690 0.018086 -0.031034 +v -0.122273 0.018545 -0.029321 +v -0.112275 0.018186 -0.026974 +v -0.101877 0.018647 -0.025275 +v -0.091422 0.019105 -0.023604 +v -0.081483 0.018747 -0.021231 +v -0.070625 0.020029 -0.020217 +v -0.037185 0.063184 -0.052406 +v -0.026745 0.063642 -0.050701 +v -0.016775 0.063281 -0.048317 +v -0.006327 0.063745 -0.046624 +v 0.004069 0.064203 -0.044939 +v 0.014066 0.063845 -0.042591 +v 0.024480 0.064306 -0.040907 +v 0.034869 0.064763 -0.039185 +v 0.044840 0.064404 -0.036839 +v 0.054827 0.064045 -0.034486 +v 0.065687 0.065323 -0.033445 +v 0.075256 0.064147 -0.030428 +v 0.085639 0.064607 -0.028741 +v 0.096055 0.065065 -0.027025 +v 0.106519 0.065527 -0.025343 +v 0.116916 0.065985 -0.023642 +v 0.126867 0.065626 -0.021307 +v 0.136859 0.065268 -0.018976 +v 0.147713 0.066547 -0.017890 +v 0.158154 0.067003 -0.016199 +v 0.167685 0.065828 -0.013225 +v 0.178086 0.066288 -0.011520 +v 0.188518 0.066748 -0.009802 +v 0.198917 0.067208 -0.008129 +v 0.208895 0.066847 -0.005763 +v 0.219305 0.067307 -0.004067 +v 0.228854 0.066115 -0.001051 +v 0.236616 0.061649 0.004545 +v 0.243476 0.055557 0.011431 +v 0.249483 0.047790 0.019662 +v 0.255475 0.040046 0.027899 +v 0.262341 0.033949 0.034804 +v 0.270096 0.029486 0.040398 +v 0.278786 0.026651 0.044720 +v 0.287890 0.024649 0.048372 +v 0.297383 0.023474 0.051389 +v 0.306933 0.022293 0.054379 +v 0.317340 0.022751 0.056050 +v 0.326864 0.021572 0.059042 +v 0.482060 0.045247 0.069143 +v 0.490227 0.041619 0.074086 +v 0.496227 0.033860 0.082321 +v 0.504006 0.029401 0.087910 +v 0.514426 0.029865 0.089626 +v 0.525278 0.031144 0.090662 +v 0.536144 0.032430 0.091719 +v 0.547451 0.034533 0.092101 +v 0.559644 0.038279 0.091213 +v 0.570942 0.040380 0.091594 +v 0.582685 0.043303 0.091335 +v 0.595329 0.047877 0.089806 +v 0.607071 0.050801 0.089557 +v 0.619741 0.055367 0.087953 +v 0.631474 0.058297 0.087704 +v 0.644570 0.063690 0.085481 +v 0.657632 0.069075 0.083302 +v 0.670249 0.073632 0.081719 +v 0.683339 0.079029 0.079524 +v 0.696512 0.084523 0.077079 +v 0.711302 0.092721 0.072173 +v 0.723571 0.096941 0.070816 +v 0.738510 0.104836 0.065960 +v -0.367287 0.326347 0.201627 +v -0.357650 0.324384 0.205479 +v -0.600207 0.841857 0.379728 +v -0.286547 0.331166 0.249704 +v -0.294874 0.390181 0.302552 +v -0.450162 0.026470 -0.085027 +v -0.442298 0.022139 -0.079554 +v -0.433638 0.019368 -0.075296 +v -0.424090 0.018135 -0.072264 +v -0.414165 0.017679 -0.069809 +v -0.404249 0.017222 -0.067375 +v -0.394317 0.016764 -0.064944 +v -0.384416 0.016310 -0.062505 +v -0.374069 0.016625 -0.060703 +v -0.363729 0.016938 -0.058860 +v -0.353789 0.016579 -0.056533 +v -0.343340 0.017040 -0.054802 +v -0.333365 0.016682 -0.052465 +v -0.322965 0.017142 -0.050742 +v -0.312966 0.016784 -0.048392 +v -0.302545 0.017241 -0.046731 +v -0.292568 0.016883 -0.044336 +v -0.282175 0.017343 -0.042672 +v -0.272171 0.016986 -0.040329 +v -0.261776 0.017444 -0.038621 +v -0.251778 0.017086 -0.036258 +v -0.241379 0.017545 -0.034545 +v -0.231421 0.017189 -0.032205 +v -0.221404 0.016847 -0.029835 +v -0.211030 0.017316 -0.028136 +v -0.199722 0.019424 -0.027740 +v -0.189747 0.019060 -0.025405 +v -0.178842 0.020329 -0.024351 +v -0.168873 0.019954 -0.022025 +v -0.158477 0.020436 -0.020298 +v -0.148502 0.020074 -0.017946 +v -0.138517 0.019698 -0.015607 +v -0.128983 0.018525 -0.012591 +v -0.119020 0.018169 -0.010224 +v -0.109045 0.017796 -0.007902 +v -0.098190 0.019074 -0.006856 +v -0.088221 0.018713 -0.004483 +v -0.077781 0.019177 -0.002792 +v -0.067369 0.019637 -0.001077 +v -0.057393 0.019277 0.001270 +v -0.023978 0.062442 -0.030931 +v -0.013960 0.062086 -0.028579 +v -0.003116 0.063362 -0.027493 +v 0.007311 0.063822 -0.025814 +v 0.017262 0.063463 -0.023446 +v 0.027257 0.063105 -0.021130 +v 0.037653 0.063565 -0.019430 +v 0.048077 0.064026 -0.017713 +v 0.058501 0.064486 -0.015994 +v 0.068503 0.064129 -0.013643 +v 0.078891 0.064588 -0.011934 +v 0.089746 0.065869 -0.010912 +v 0.099296 0.064689 -0.007924 +v 0.109282 0.064333 -0.005560 +v 0.120162 0.065610 -0.004534 +v 0.130105 0.065253 -0.002133 +v 0.140513 0.065712 -0.000431 +v 0.150962 0.066171 0.001255 +v 0.160906 0.065814 0.003585 +v 0.171333 0.066275 0.005299 +v 0.181761 0.066734 0.007014 +v 0.191755 0.066377 0.009371 +v 0.202141 0.066836 0.011059 +v 0.212153 0.066475 0.013398 +v 0.222095 0.066113 0.015723 +v 0.231162 0.064117 0.019406 +v 0.238503 0.058817 0.025658 +v 0.244920 0.051908 0.033216 +v 0.251381 0.044952 0.040757 +v 0.257806 0.038041 0.048353 +v 0.265143 0.032744 0.054596 +v 0.273342 0.029103 0.059552 +v 0.282006 0.026278 0.063845 +v 0.291514 0.025100 0.066841 +v 0.301069 0.023915 0.069847 +v 0.310594 0.022739 0.072884 +v 0.321013 0.023203 0.074549 +v 0.332750 0.026118 0.074322 +v 0.342276 0.024943 0.077286 +v 0.474382 0.043614 0.087264 +v 0.482597 0.039958 0.092223 +v 0.487295 0.029754 0.102414 +v 0.497259 0.029400 0.104755 +v 0.508098 0.030684 0.105822 +v 0.518999 0.031975 0.106871 +v 0.530286 0.034080 0.107269 +v 0.541600 0.036186 0.107645 +v 0.553749 0.039927 0.106770 +v 0.565065 0.042037 0.107172 +v 0.577244 0.045774 0.106251 +v 0.589012 0.048701 0.105979 +v 0.601203 0.052457 0.105112 +v 0.612956 0.055379 0.104831 +v 0.625575 0.059946 0.103291 +v 0.638215 0.064508 0.101704 +v 0.650855 0.069085 0.100163 +v 0.663895 0.074459 0.097957 +v 0.676977 0.079846 0.095730 +v 0.690062 0.085242 0.093534 +v 0.703262 0.090754 0.091089 +v 0.717094 0.097267 0.087637 +v 0.730926 0.103773 0.084179 +v 0.743782 0.108578 0.082134 +v 0.759989 0.119279 0.075162 +v -0.412178 0.398079 0.270578 +v -0.651006 0.844877 0.151148 +v -0.523918 0.474365 0.234595 +v -0.462996 0.782307 0.333935 +v -0.461123 0.037434 -0.079113 +v -0.454518 0.030754 -0.071810 +v -0.447914 0.024105 -0.064509 +v -0.439652 0.020557 -0.059624 +v -0.430107 0.019325 -0.056591 +v -0.420215 0.018870 -0.054155 +v -0.410718 0.017644 -0.051107 +v -0.400804 0.017188 -0.048701 +v -0.390423 0.017506 -0.046831 +v -0.380515 0.017052 -0.044435 +v -0.370186 0.017368 -0.042606 +v -0.360274 0.016915 -0.040170 +v -0.349947 0.017234 -0.038322 +v -0.339578 0.017546 -0.036507 +v -0.330082 0.016326 -0.033462 +v -0.319240 0.017556 -0.032376 +v -0.309272 0.017196 -0.030035 +v -0.299310 0.016838 -0.027648 +v -0.289346 0.016478 -0.025326 +v -0.279372 0.016119 -0.022969 +v -0.268932 0.016581 -0.021260 +v -0.258505 0.017041 -0.019560 +v -0.248535 0.016691 -0.017191 +v -0.238101 0.017168 -0.015496 +v -0.226362 0.020117 -0.015730 +v -0.214186 0.023851 -0.016653 +v -0.201578 0.028405 -0.018202 +v -0.190717 0.029687 -0.017154 +v -0.180257 0.030152 -0.015444 +v -0.169854 0.030610 -0.013739 +v -0.160353 0.029443 -0.010739 +v -0.150365 0.029068 -0.008390 +v -0.140822 0.027866 -0.005403 +v -0.131304 0.026693 -0.002398 +v -0.122196 0.024707 0.001278 +v -0.113112 0.022716 0.004946 +v -0.104015 0.020685 0.008573 +v -0.094954 0.018688 0.012217 +v -0.084982 0.018322 0.014565 +v -0.074096 0.019602 0.015623 +v -0.063667 0.020062 0.017323 +v -0.053690 0.019709 0.019692 +v -0.042418 0.021809 0.020059 +v -0.010310 0.062516 -0.010095 +v -0.000320 0.062159 -0.007737 +v 0.010083 0.062620 -0.006046 +v 0.020500 0.063082 -0.004345 +v 0.030936 0.063540 -0.002624 +v 0.040916 0.063185 -0.000301 +v 0.051339 0.063647 0.001418 +v 0.061737 0.064108 0.003103 +v 0.072148 0.064566 0.004829 +v 0.082121 0.064208 0.007189 +v 0.092558 0.064669 0.008855 +v 0.102543 0.064312 0.011210 +v 0.112924 0.064772 0.012930 +v 0.123339 0.065234 0.014604 +v 0.133775 0.065695 0.016310 +v 0.143741 0.065335 0.018697 +v 0.153748 0.064981 0.021019 +v 0.164586 0.066257 0.022094 +v 0.174561 0.065899 0.024453 +v 0.184989 0.066359 0.026162 +v 0.194950 0.066002 0.028488 +v 0.205386 0.066461 0.030188 +v 0.215353 0.066102 0.032555 +v 0.225333 0.065733 0.034886 +v 0.233966 0.062907 0.039191 +v 0.240832 0.056813 0.046126 +v 0.247730 0.050679 0.053007 +v 0.254156 0.043776 0.060587 +v 0.261471 0.038492 0.066845 +v 0.268803 0.033203 0.073105 +v 0.277025 0.029555 0.078063 +v 0.286079 0.027553 0.081679 +v 0.295193 0.025542 0.085323 +v 0.305196 0.025174 0.087685 +v 0.314294 0.023183 0.091331 +v 0.324698 0.023641 0.093034 +v 0.334663 0.023294 0.095392 +v 0.348642 0.030316 0.091875 +v 0.358628 0.029953 0.094248 +v 0.368548 0.029597 0.096579 +v 0.457200 0.043147 0.102386 +v 0.462340 0.033732 0.111921 +v 0.470096 0.029286 0.117509 +v 0.480529 0.029748 0.119216 +v 0.490921 0.030211 0.120930 +v 0.501794 0.031501 0.122000 +v 0.513081 0.033607 0.122395 +v 0.524395 0.035716 0.122785 +v 0.536585 0.039465 0.121886 +v 0.548320 0.042386 0.121626 +v 0.560510 0.046135 0.120739 +v 0.571802 0.048228 0.121112 +v 0.583989 0.051981 0.120231 +v 0.595767 0.054918 0.119978 +v 0.607959 0.058657 0.119059 +v 0.619696 0.061591 0.118827 +v 0.632344 0.066176 0.117304 +v 0.644964 0.070738 0.115743 +v 0.657570 0.075297 0.114193 +v 0.670641 0.080681 0.111974 +v 0.683754 0.086029 0.109784 +v 0.696710 0.091657 0.107513 +v 0.710478 0.097834 0.104402 +v 0.723801 0.103495 0.101699 +v 0.737151 0.109161 0.098958 +v 0.750257 0.115200 0.096140 +v 0.766810 0.125441 0.089253 +v -0.483130 0.357704 0.097355 +v -0.474845 0.438496 0.257608 +v -0.431116 0.824287 0.414811 +v -0.414556 0.468916 0.315322 +v -0.442956 1.165457 -0.435646 +v -0.457231 0.038144 -0.061058 +v -0.452259 0.028369 -0.051289 +v -0.444440 0.024052 -0.045827 +v -0.435751 0.021272 -0.041552 +v -0.426648 0.019269 -0.037928 +v -0.416732 0.018818 -0.035468 +v -0.406788 0.018365 -0.033064 +v -0.396468 0.018684 -0.031229 +v -0.386554 0.018232 -0.028780 +v -0.376646 0.017779 -0.026345 +v -0.366282 0.018099 -0.024492 +v -0.356370 0.017648 -0.022080 +v -0.346011 0.017966 -0.020225 +v -0.336134 0.017515 -0.017808 +v -0.326199 0.017063 -0.015379 +v -0.315871 0.017384 -0.013533 +v -0.305952 0.016932 -0.011085 +v -0.295619 0.017251 -0.009269 +v -0.285642 0.016892 -0.006909 +v -0.275636 0.016535 -0.004546 +v -0.265237 0.016999 -0.002870 +v -0.254379 0.018284 -0.001831 +v -0.242624 0.021233 -0.002049 +v -0.230472 0.024980 -0.002936 +v -0.216924 0.031198 -0.005814 +v -0.203444 0.037382 -0.008667 +v -0.192142 0.039487 -0.008264 +v -0.181725 0.039949 -0.006560 +v -0.170866 0.041233 -0.005507 +v -0.161333 0.040052 -0.002504 +v -0.151799 0.038871 0.000499 +v -0.142266 0.037690 0.003503 +v -0.132692 0.036519 0.006536 +v -0.123154 0.035331 0.009546 +v -0.114097 0.033345 0.013206 +v -0.105876 0.029666 0.018133 +v -0.097691 0.026063 0.023112 +v -0.089474 0.022387 0.028040 +v -0.081279 0.018742 0.032977 +v -0.070839 0.019203 0.034679 +v -0.060872 0.018847 0.037046 +v -0.050023 0.020130 0.038115 +v -0.038287 0.023056 0.037837 +v -0.007515 0.061310 0.009665 +v 0.002910 0.061770 0.011394 +v 0.012885 0.061413 0.013724 +v 0.023292 0.061873 0.015442 +v 0.033728 0.062341 0.017149 +v 0.044565 0.063620 0.018163 +v 0.054572 0.063263 0.020548 +v 0.064959 0.063722 0.022244 +v 0.074935 0.063365 0.024585 +v 0.085371 0.063827 0.026290 +v 0.095774 0.064289 0.027999 +v 0.106219 0.064749 0.029694 +v 0.116200 0.064393 0.032062 +v 0.126594 0.064853 0.033780 +v 0.136549 0.064494 0.036092 +v 0.146987 0.064958 0.037837 +v 0.157396 0.065419 0.039540 +v 0.167388 0.065060 0.041863 +v 0.177808 0.065523 0.043573 +v 0.188233 0.065985 0.045265 +v 0.198650 0.066440 0.046964 +v 0.208172 0.065266 0.050007 +v 0.218567 0.065726 0.051714 +v 0.228543 0.065359 0.054022 +v 0.236720 0.061729 0.059006 +v 0.244492 0.057266 0.064622 +v 0.251378 0.051161 0.071518 +v 0.258270 0.045045 0.078424 +v 0.265584 0.039748 0.084643 +v 0.273362 0.035274 0.090248 +v 0.282000 0.032455 0.094553 +v 0.290244 0.028812 0.099538 +v 0.299733 0.027637 0.102532 +v 0.309276 0.026447 0.105511 +v 0.319244 0.026089 0.107867 +v 0.329259 0.025728 0.110241 +v 0.339234 0.025371 0.112558 +v 0.349657 0.025841 0.114261 +v 0.361381 0.028758 0.114055 +v 0.372658 0.030863 0.114419 +v 0.382235 0.029675 0.117439 +v 0.391733 0.028496 0.120469 +v 0.400391 0.025682 0.124766 +v 0.410826 0.026142 0.126461 +v 0.421216 0.026601 0.128139 +v 0.431670 0.027071 0.129881 +v 0.442500 0.028350 0.130938 +v 0.452949 0.028812 0.132633 +v 0.463368 0.029278 0.134334 +v 0.474218 0.030559 0.135353 +v 0.485079 0.031841 0.136422 +v 0.495477 0.032304 0.138111 +v 0.506805 0.034439 0.138551 +v 0.519420 0.039005 0.137010 +v 0.531618 0.042757 0.136111 +v 0.543803 0.046492 0.135186 +v 0.555952 0.050232 0.134302 +v 0.567248 0.052340 0.134711 +v 0.579031 0.055268 0.134446 +v 0.590768 0.058206 0.134223 +v 0.602953 0.061940 0.133298 +v 0.614709 0.064888 0.133084 +v 0.626888 0.068599 0.132162 +v 0.639523 0.073193 0.130617 +v 0.652142 0.077770 0.129093 +v 0.664768 0.082344 0.127552 +v 0.677334 0.087022 0.125954 +v 0.691298 0.093999 0.122464 +v 0.703780 0.098848 0.120846 +v 0.718108 0.105849 0.117021 +v 0.730946 0.110700 0.114969 +v 0.744822 0.117161 0.111608 +v 0.759436 0.123932 0.106569 +v 0.774279 0.133638 0.101903 +v -0.283902 0.323766 0.239097 +v -0.572018 0.824807 0.382037 +v -0.543841 0.781887 0.315974 +v -0.631630 0.835937 0.180984 +v -0.455814 0.034186 -0.039354 +v -0.449613 0.026750 -0.031455 +v -0.441366 0.023210 -0.026554 +v -0.432231 0.021197 -0.022897 +v -0.422747 0.019974 -0.019865 +v -0.412837 0.019522 -0.017442 +v -0.402465 0.019840 -0.015606 +v -0.392988 0.018620 -0.012565 +v -0.382649 0.018942 -0.010740 +v -0.372725 0.018491 -0.008298 +v -0.362793 0.018044 -0.005824 +v -0.352452 0.018364 -0.004028 +v -0.342546 0.017913 -0.001574 +v -0.332648 0.017464 0.000866 +v -0.322278 0.017789 0.002690 +v -0.311985 0.018112 0.004515 +v -0.302035 0.017658 0.007000 +v -0.292529 0.016436 0.010028 +v -0.282205 0.016759 0.011862 +v -0.271874 0.017087 0.013695 +v -0.260183 0.019889 0.013598 +v -0.245780 0.027742 0.009424 +v -0.234092 0.030660 0.009169 +v -0.218372 0.040984 0.003082 +v -0.124621 0.045149 0.018428 +v -0.115972 0.042324 0.022731 +v -0.107742 0.038676 0.027711 +v -0.099534 0.035025 0.032651 +v -0.090909 0.032218 0.036963 +v -0.084025 0.026101 0.043856 +v -0.076684 0.020808 0.050115 +v -0.067136 0.019624 0.053112 +v -0.057184 0.019268 0.055482 +v -0.046292 0.020558 0.056535 +v -0.035472 0.021841 0.057593 +v -0.004273 0.060920 0.028767 +v 0.006165 0.061381 0.030468 +v 0.016107 0.061024 0.032832 +v 0.026094 0.060669 0.035176 +v 0.037397 0.062772 0.035563 +v 0.047802 0.063234 0.037280 +v 0.058238 0.063695 0.038995 +v 0.068192 0.063336 0.041371 +v 0.078631 0.063798 0.043057 +v 0.088589 0.063441 0.045398 +v 0.099002 0.063904 0.047118 +v 0.109426 0.064367 0.048804 +v 0.119854 0.064831 0.050529 +v 0.130263 0.065289 0.052212 +v 0.139803 0.064114 0.055240 +v 0.150647 0.065396 0.056267 +v 0.161099 0.065856 0.058011 +v 0.171069 0.065501 0.060346 +v 0.181470 0.065964 0.062080 +v 0.191874 0.066421 0.063769 +v 0.201395 0.065244 0.066755 +v 0.211846 0.065705 0.068467 +v 0.221810 0.065346 0.070807 +v 0.231776 0.064981 0.073161 +v 0.240418 0.062162 0.077496 +v 0.248612 0.058527 0.082449 +v 0.255947 0.053233 0.088700 +v 0.263264 0.047949 0.094942 +v 0.270599 0.042648 0.101179 +v 0.278814 0.039007 0.106152 +v 0.287017 0.035372 0.111107 +v 0.295675 0.032526 0.115376 +v 0.304761 0.030535 0.119053 +v 0.314301 0.029345 0.122030 +v 0.323833 0.028167 0.125049 +v 0.333376 0.026997 0.128076 +v 0.343769 0.027451 0.129754 +v 0.353750 0.027093 0.132101 +v 0.364172 0.027554 0.133823 +v 0.374155 0.027198 0.136166 +v 0.384583 0.027657 0.137880 +v 0.394536 0.027304 0.140248 +v 0.405384 0.028582 0.141264 +v 0.415381 0.028227 0.143638 +v 0.425799 0.028689 0.145368 +v 0.436186 0.029152 0.147058 +v 0.446602 0.029614 0.148757 +v 0.457048 0.030078 0.150462 +v 0.467461 0.030543 0.152158 +v 0.478307 0.031831 0.153237 +v 0.489631 0.033942 0.153626 +v 0.500930 0.036065 0.154029 +v 0.514416 0.042269 0.151198 +v 0.527051 0.046848 0.149668 +v 0.539212 0.050580 0.148757 +v 0.550979 0.053514 0.148509 +v 0.563172 0.057279 0.147651 +v 0.574458 0.059372 0.148032 +v 0.586328 0.061932 0.148001 +v 0.598409 0.066057 0.146902 +v 0.610138 0.068910 0.146686 +v 0.622346 0.072714 0.145784 +v 0.634495 0.076450 0.144890 +v 0.646674 0.080320 0.143963 +v 0.659311 0.084806 0.142454 +v 0.672323 0.090323 0.140194 +v 0.685400 0.095717 0.137995 +v 0.698960 0.101804 0.135213 +v 0.712003 0.107258 0.133006 +v 0.725288 0.112911 0.130330 +v 0.739071 0.119519 0.126893 +v 0.752411 0.125204 0.124189 +v 0.767260 0.133308 0.119407 +v 0.782659 0.143594 0.113050 +v -0.454036 0.818907 0.413733 +v -0.288873 0.339245 0.259806 +v -0.626781 0.817027 0.322620 +v -0.348659 0.323141 0.208319 +v -0.460999 0.036901 -0.024941 +v -0.453986 0.031009 -0.018277 +v -0.445727 0.027458 -0.013394 +v -0.437456 0.023896 -0.008536 +v -0.427962 0.022670 -0.005492 +v -0.418427 0.021439 -0.002423 +v -0.408909 0.020213 0.000590 +v -0.398602 0.020540 0.002440 +v -0.389083 0.019318 0.005513 +v -0.378745 0.019642 0.007344 +v -0.368802 0.019189 0.009747 +v -0.358930 0.018743 0.012186 +v -0.348549 0.019068 0.014030 +v -0.338665 0.018621 0.016473 +v -0.328746 0.018172 0.018944 +v -0.318827 0.017724 0.021383 +v -0.308473 0.018049 0.023192 +v -0.298552 0.017600 0.025673 +v -0.288644 0.017151 0.028103 +v -0.278738 0.016703 0.030505 +v -0.267953 0.017805 0.031756 +v -0.258072 0.017359 0.034180 +v -0.101421 0.044030 0.042201 +v -0.093213 0.040384 0.047152 +v -0.086333 0.034272 0.054063 +v -0.081222 0.024876 0.063581 +v -0.073886 0.019581 0.069801 +v -0.063457 0.020043 0.071543 +v -0.053492 0.019687 0.073855 +v -0.042172 0.021804 0.074302 +v -0.030433 0.024757 0.074060 +v -0.001007 0.060526 0.047842 +v 0.008973 0.060173 0.050227 +v 0.019811 0.061455 0.051245 +v 0.030205 0.061917 0.052947 +v 0.040641 0.062381 0.054677 +v 0.051040 0.062844 0.056385 +v 0.061454 0.063307 0.058085 +v 0.071474 0.062951 0.060453 +v 0.081853 0.063412 0.062150 +v 0.092306 0.063877 0.063850 +v 0.102714 0.064336 0.065566 +v 0.112678 0.063983 0.067917 +v 0.123512 0.065263 0.068993 +v 0.133521 0.064904 0.071353 +v 0.143479 0.064545 0.073712 +v 0.153438 0.064190 0.076069 +v 0.164327 0.065472 0.077097 +v 0.174277 0.065117 0.079480 +v 0.185159 0.066394 0.080543 +v 0.194659 0.065220 0.083526 +v 0.205086 0.065684 0.085255 +v 0.215488 0.066147 0.086965 +v 0.225497 0.065789 0.089295 +v 0.235901 0.066242 0.090988 +v 0.244969 0.064244 0.094638 +v 0.253189 0.060595 0.099619 +v 0.260938 0.056137 0.105201 +v 0.268709 0.051667 0.110799 +v 0.276469 0.047203 0.116395 +v 0.284693 0.043546 0.121351 +v 0.292885 0.039904 0.126289 +v 0.301558 0.037090 0.130625 +v 0.310201 0.034269 0.134921 +v 0.319304 0.032274 0.138597 +v 0.328357 0.030260 0.142209 +v 0.338340 0.029894 0.144566 +v 0.347873 0.028710 0.147556 +v 0.357849 0.028353 0.149926 +v 0.367865 0.027998 0.152313 +v 0.378253 0.028456 0.153990 +v 0.388227 0.028101 0.156373 +v 0.398656 0.028563 0.158065 +v 0.409088 0.029022 0.159754 +v 0.419029 0.028666 0.162095 +v 0.429450 0.029133 0.163845 +v 0.440318 0.030416 0.164902 +v 0.450737 0.030880 0.166591 +v 0.461136 0.031346 0.168320 +v 0.472024 0.032634 0.169338 +v 0.483291 0.034744 0.169769 +v 0.495917 0.039322 0.168235 +v 0.509437 0.045553 0.165420 +v 0.522516 0.050944 0.163220 +v 0.535363 0.054930 0.161919 +v 0.546940 0.057976 0.161742 +v 0.559228 0.061707 0.160869 +v 0.570917 0.064729 0.160514 +v 0.582556 0.067926 0.160171 +v 0.594328 0.070871 0.159896 +v 0.606013 0.073988 0.159534 +v 0.618275 0.077473 0.158822 +v 0.629941 0.080628 0.158466 +v 0.642087 0.084409 0.157538 +v 0.654727 0.088983 0.155993 +v 0.666881 0.092797 0.155093 +v 0.680330 0.099102 0.152224 +v 0.693399 0.104511 0.150008 +v 0.706935 0.110708 0.147214 +v 0.719551 0.115292 0.145599 +v 0.733315 0.121895 0.142184 +v 0.747713 0.129098 0.138150 +v 0.761393 0.135795 0.134681 +v 0.777274 0.145590 0.128544 +v -0.242636 0.405824 0.318257 +v -0.539666 0.452455 0.179781 +v -0.412827 0.782347 0.291818 +v -0.417080 0.787257 0.304508 +v -0.534329 0.780737 0.319016 +v -0.230394 0.359735 0.289976 +v -0.449239 0.033249 -0.001449 +v -0.441006 0.029712 0.003415 +v -0.432304 0.026927 0.007700 +v -0.423212 0.024911 0.011348 +v -0.414089 0.022886 0.014956 +v -0.404625 0.021671 0.018015 +v -0.394706 0.021222 0.020461 +v -0.384734 0.020771 0.022918 +v -0.374834 0.020325 0.025355 +v -0.364915 0.019877 0.027802 +v -0.354998 0.019430 0.030231 +v -0.345094 0.018983 0.032663 +v -0.335153 0.018536 0.035144 +v -0.325246 0.018090 0.037553 +v -0.314883 0.018421 0.039430 +v -0.304571 0.018746 0.041240 +v -0.295057 0.017524 0.044272 +v -0.285129 0.017086 0.046755 +v -0.274011 0.018960 0.047372 +v -0.264506 0.017740 0.050399 +v -0.089517 0.040803 0.065558 +v -0.085709 0.028920 0.076989 +v -0.078853 0.022831 0.083916 +v -0.070150 0.019995 0.088195 +v -0.060198 0.019644 0.090570 +v -0.048901 0.021752 0.090961 +v -0.037162 0.024694 0.090730 +v -0.021016 0.035854 0.084029 +v 0.001794 0.059313 0.067582 +v 0.012177 0.059776 0.069288 +v 0.023484 0.061883 0.069708 +v 0.033900 0.062345 0.071403 +v 0.043867 0.061987 0.073764 +v 0.054762 0.063271 0.074854 +v 0.064702 0.062915 0.077169 +v 0.075149 0.063380 0.078874 +v 0.085547 0.063842 0.080617 +v 0.095978 0.064305 0.082320 +v 0.105947 0.063950 0.084679 +v 0.116335 0.064411 0.086372 +v 0.126756 0.064874 0.088084 +v 0.136729 0.064516 0.090451 +v 0.146741 0.064161 0.092803 +v 0.157132 0.064624 0.094526 +v 0.167559 0.065088 0.096198 +v 0.177949 0.065551 0.097929 +v 0.188358 0.066014 0.099623 +v 0.198356 0.065657 0.101974 +v 0.208778 0.066122 0.103703 +v 0.219174 0.066582 0.105385 +v 0.229159 0.066226 0.107759 +v 0.239556 0.066689 0.109478 +v 0.249543 0.066325 0.111832 +v 0.258163 0.063509 0.116116 +v 0.266847 0.060657 0.120419 +v 0.274601 0.056222 0.126035 +v 0.282823 0.052587 0.131013 +v 0.291019 0.048952 0.135957 +v 0.299661 0.046107 0.140231 +v 0.308321 0.043282 0.144544 +v 0.316968 0.040474 0.148859 +v 0.325598 0.037636 0.153128 +v 0.334711 0.035626 0.156795 +v 0.343344 0.032807 0.161089 +v 0.352864 0.031631 0.164098 +v 0.362422 0.030437 0.167105 +v 0.371953 0.029259 0.170124 +v 0.381929 0.028897 0.172470 +v 0.392340 0.029356 0.174149 +v 0.402311 0.029001 0.176541 +v 0.412725 0.029462 0.178209 +v 0.423145 0.029927 0.179930 +v 0.433575 0.030391 0.181653 +v 0.443976 0.030855 0.183365 +v 0.454865 0.032144 0.184394 +v 0.465719 0.033427 0.185485 +v 0.476122 0.033910 0.187185 +v 0.490086 0.040956 0.183690 +v 0.504004 0.047993 0.180249 +v 0.517535 0.054207 0.177393 +v 0.530346 0.058439 0.176011 +v 0.542474 0.062236 0.175131 +v 0.555584 0.067408 0.173113 +v 0.567743 0.071336 0.172146 +v 0.579864 0.075114 0.171261 +v 0.591583 0.078070 0.171033 +v 0.602790 0.080522 0.171186 +v 0.614541 0.083354 0.171036 +v 0.626264 0.086413 0.170701 +v 0.638431 0.090123 0.169843 +v 0.650674 0.093777 0.169028 +v 0.662744 0.097761 0.168009 +v 0.675770 0.103187 0.165818 +v 0.689221 0.109479 0.162950 +v 0.702833 0.115553 0.160194 +v 0.715338 0.120309 0.158568 +v 0.727979 0.125417 0.156440 +v 0.742960 0.133124 0.152031 +v 0.757121 0.140657 0.147869 +v -0.475586 0.352417 0.103385 +v -0.466153 0.423353 0.254899 +v -0.260411 0.372562 0.290372 +v -0.576575 0.790177 0.319742 +v -0.567028 0.789077 0.322796 +v -0.400079 0.376899 0.256221 +v -0.339183 0.321865 0.211411 +v -0.447229 0.043970 0.004834 +v -0.587246 0.808277 0.356261 +v -0.468588 0.346893 0.109729 +v -0.426734 0.030703 0.023271 +v -0.418058 0.027900 0.027505 +v -0.408975 0.025911 0.031186 +v -0.399853 0.023894 0.034850 +v -0.390376 0.022671 0.037886 +v -0.380835 0.021440 0.040903 +v -0.370525 0.021772 0.042778 +v -0.361004 0.020547 0.045787 +v -0.351110 0.020104 0.048241 +v -0.341165 0.019657 0.050703 +v -0.331232 0.019211 0.053134 +v -0.321356 0.018769 0.055576 +v -0.311405 0.018322 0.058042 +v -0.301510 0.017877 0.060479 +v -0.291593 0.017433 0.062933 +v -0.281260 0.017766 0.064793 +v -0.272591 0.014986 0.069009 +v -0.090218 0.032983 0.090455 +v -0.083326 0.026870 0.097320 +v -0.075556 0.022409 0.102924 +v -0.066003 0.021235 0.105968 +v -0.055594 0.021710 0.107656 +v -0.043425 0.025468 0.106769 +v -0.028625 0.034138 0.101989 +v -0.004955 0.059270 0.084308 +v 0.005930 0.060561 0.085342 +v 0.016766 0.061844 0.086403 +v 0.027207 0.062305 0.088148 +v 0.037172 0.061947 0.090474 +v 0.047118 0.061594 0.092852 +v 0.057991 0.062879 0.093887 +v 0.068397 0.063343 0.095636 +v 0.078801 0.063806 0.097319 +v 0.088816 0.063454 0.099690 +v 0.099625 0.064734 0.100764 +v 0.109626 0.064376 0.103099 +v 0.119604 0.064023 0.105486 +v 0.130001 0.064483 0.107187 +v 0.139997 0.064128 0.109536 +v 0.150381 0.064592 0.111258 +v 0.160814 0.065056 0.112961 +v 0.171242 0.065520 0.114656 +v 0.181668 0.065985 0.116376 +v 0.192059 0.066446 0.118074 +v 0.202035 0.066092 0.120434 +v 0.212870 0.067376 0.121509 +v 0.222856 0.067019 0.123883 +v 0.233282 0.067480 0.125550 +v 0.243225 0.067126 0.127945 +v 0.253645 0.067588 0.129625 +v 0.263618 0.067230 0.131991 +v 0.272742 0.065224 0.135671 +v 0.281365 0.062403 0.139953 +v 0.289566 0.058773 0.144913 +v 0.298239 0.055935 0.149209 +v 0.306873 0.053109 0.153497 +v 0.315077 0.049472 0.158448 +v 0.324154 0.047479 0.162102 +v 0.332816 0.044634 0.166392 +v 0.341468 0.041829 0.170716 +v 0.350137 0.038983 0.175006 +v 0.359224 0.036995 0.178680 +v 0.367862 0.034176 0.182980 +v 0.376967 0.032157 0.186615 +v 0.386502 0.030974 0.189640 +v 0.396011 0.029792 0.192631 +v 0.406451 0.030254 0.194336 +v 0.416412 0.029899 0.196680 +v 0.426815 0.030363 0.198423 +v 0.437228 0.030826 0.200092 +v 0.447679 0.031296 0.201818 +v 0.458519 0.032581 0.202898 +v 0.469380 0.033879 0.203940 +v 0.483310 0.040917 0.200476 +v 0.497725 0.048801 0.196368 +v 0.512566 0.057483 0.191602 +v 0.524900 0.060944 0.190890 +v 0.537945 0.066351 0.188686 +v 0.550408 0.071188 0.187033 +v 0.563578 0.076417 0.184974 +v 0.576552 0.081998 0.182671 +v 0.589189 0.086479 0.181233 +v 0.600906 0.089447 0.180953 +v 0.611753 0.090988 0.181754 +v 0.623496 0.093793 0.181694 +v 0.635218 0.096720 0.181463 +v 0.646892 0.099795 0.181140 +v 0.659072 0.103533 0.180283 +v 0.672186 0.108779 0.178206 +v 0.685189 0.114291 0.175950 +v 0.698677 0.120506 0.173107 +v 0.712168 0.126754 0.170287 +v 0.724157 0.130973 0.169022 +v 0.738562 0.138117 0.165110 +v 0.753359 0.146311 0.160372 +v -0.429989 1.153197 -0.365042 +v -0.329604 0.320803 0.214363 +v -0.445921 0.789307 0.350082 +v -0.462015 0.809667 0.401462 +v -0.569218 0.468175 0.125001 +v -0.306476 0.331878 0.244835 +v -0.486951 0.357372 0.079179 +v -0.557067 0.782687 0.294496 +v -0.461137 0.341668 0.115838 +v -0.316045 0.332837 0.241975 +v -0.420310 0.036026 0.037665 +v -0.412075 0.032464 0.042497 +v -0.403387 0.029673 0.046756 +v -0.394717 0.026895 0.051018 +v -0.385627 0.024890 0.054680 +v -0.376125 0.023658 0.057711 +v -0.367020 0.021653 0.061369 +v -0.357091 0.021207 0.063834 +v -0.347173 0.020760 0.066253 +v -0.337692 0.019542 0.069329 +v -0.327779 0.019099 0.071755 +v -0.317434 0.019432 0.073618 +v -0.307921 0.018208 0.076651 +v -0.298405 0.016992 0.079727 +v -0.288108 0.017327 0.081569 +v -0.277777 0.017660 0.083387 +v -0.270751 0.011761 0.090037 +v -0.094296 0.037879 0.103221 +v -0.088729 0.029296 0.112095 +v -0.080954 0.024822 0.117679 +v -0.072712 0.021181 0.122592 +v -0.062333 0.021646 0.124328 +v -0.051003 0.023779 0.124765 +v -0.037544 0.029976 0.121905 +v -0.011212 0.060043 0.100334 +v -0.001694 0.058870 0.103328 +v 0.008728 0.059342 0.105087 +v 0.019997 0.061443 0.105472 +v 0.030436 0.061909 0.107215 +v 0.040850 0.062374 0.108893 +v 0.051258 0.062837 0.110632 +v 0.061259 0.062487 0.113004 +v 0.072079 0.063766 0.114061 +v 0.082521 0.064230 0.115757 +v 0.092498 0.063878 0.118128 +v 0.102877 0.064340 0.119847 +v 0.113306 0.064805 0.121558 +v 0.123716 0.065267 0.123248 +v 0.133702 0.064912 0.125591 +v 0.144130 0.065378 0.127316 +v 0.154510 0.065841 0.129040 +v 0.164954 0.066307 0.130744 +v 0.175379 0.066768 0.132455 +v 0.185338 0.066414 0.134796 +v 0.195748 0.066879 0.136530 +v 0.206169 0.067344 0.138234 +v 0.216586 0.067806 0.139977 +v 0.226546 0.067453 0.142331 +v 0.236934 0.067914 0.144006 +v 0.247395 0.068383 0.145760 +v 0.257770 0.068846 0.147463 +v 0.267767 0.068491 0.149820 +v 0.278179 0.068949 0.151548 +v 0.287269 0.066953 0.155188 +v 0.296786 0.065778 0.158192 +v 0.305433 0.062949 0.162482 +v 0.314099 0.060129 0.166792 +v 0.322740 0.057310 0.171091 +v 0.331391 0.054493 0.175401 +v 0.340051 0.051661 0.179702 +v 0.348675 0.048843 0.183988 +v 0.357337 0.046005 0.188294 +v 0.365548 0.042351 0.193229 +v 0.374194 0.039513 0.197512 +v 0.382390 0.035880 0.202478 +v 0.391035 0.033052 0.206780 +v 0.399691 0.030223 0.211087 +v 0.409687 0.029867 0.213431 +v 0.420097 0.030332 0.215151 +v 0.430525 0.030800 0.216879 +v 0.441394 0.032085 0.217899 +v 0.451776 0.032550 0.219654 +v 0.462652 0.033850 0.220697 +v 0.474834 0.037618 0.219804 +v 0.490086 0.047126 0.214440 +v 0.504474 0.054993 0.210301 +v 0.518651 0.064622 0.207755 +v 0.533253 0.070701 0.202084 +v 0.546650 0.077090 0.199168 +v 0.559634 0.082626 0.197003 +v 0.573563 0.089672 0.193370 +v 0.587154 0.095824 0.190599 +v 0.599410 0.099428 0.189877 +v 0.610695 0.101613 0.190213 +v 0.621098 0.102267 0.191719 +v 0.632431 0.104230 0.192307 +v 0.644115 0.107306 0.191980 +v 0.655828 0.110251 0.191760 +v 0.668386 0.114782 0.190285 +v 0.681443 0.120152 0.188172 +v 0.695466 0.127033 0.184799 +v 0.708395 0.132671 0.182463 +v 0.721271 0.138426 0.179967 +v 0.735224 0.144719 0.176845 +v -0.433051 1.165017 -0.433614 +v -0.273631 0.323847 0.241156 +v -0.526876 0.414062 0.127477 +v 0.657671 0.075724 -0.068727 +v -0.502570 0.811107 0.390300 +v -0.457967 0.419681 0.259779 +v -0.502269 0.395830 0.165937 +v -0.497161 0.441587 0.232852 +v -0.628285 0.829397 0.169033 +v -0.429063 0.391945 0.254645 +v -0.642654 0.834027 0.234127 +v -0.601280 0.795167 0.274454 +v -0.547990 0.780687 0.298148 +v -0.511198 0.773557 0.312207 +v -0.409888 0.794467 0.318218 +v -0.469961 0.398141 0.223243 +v -0.539408 0.434622 0.142375 +v -0.437711 1.199677 -0.543200 +v -0.396620 0.034562 0.061079 +v -0.388395 0.031650 0.065688 +v -0.380329 0.028496 0.070482 +v -0.372111 0.025539 0.075085 +v -0.362297 0.023861 0.078138 +v -0.353202 0.021851 0.081783 +v -0.343292 0.021412 0.084249 +v -0.333778 0.020186 0.087274 +v -0.323426 0.020522 0.089164 +v -0.313944 0.019304 0.092175 +v -0.304416 0.018083 0.095243 +v -0.294073 0.018420 0.097082 +v -0.284193 0.017983 0.099569 +v -0.273825 0.018307 0.101417 +v -0.266010 0.013977 0.106829 +v -0.093220 0.033340 0.125492 +v -0.085892 0.028044 0.131733 +v -0.078982 0.021943 0.138624 +v -0.069046 0.021592 0.140996 +v -0.058180 0.022891 0.142078 +v -0.045136 0.028277 0.139864 +v -0.018363 0.059174 0.117664 +v -0.008856 0.058001 0.120686 +v 0.002009 0.059295 0.121777 +v 0.013287 0.061398 0.122180 +v 0.023725 0.061864 0.123877 +v 0.034155 0.062330 0.125613 +v 0.044536 0.062795 0.127316 +v 0.054946 0.063259 0.129044 +v 0.065374 0.063724 0.130770 +v 0.075330 0.063370 0.133130 +v 0.086214 0.064657 0.134197 +v 0.096608 0.065119 0.135891 +v 0.106574 0.064764 0.138259 +v 0.116981 0.065228 0.139953 +v 0.126991 0.064877 0.142322 +v 0.137804 0.066159 0.143393 +v 0.147802 0.065803 0.145776 +v 0.158207 0.066267 0.147444 +v 0.168614 0.066733 0.149185 +v 0.179027 0.067198 0.150899 +v 0.189029 0.066843 0.153254 +v 0.199444 0.067308 0.154966 +v 0.209832 0.067772 0.156661 +v 0.220278 0.068238 0.158384 +v 0.230657 0.068702 0.160125 +v 0.240668 0.068352 0.162488 +v 0.251477 0.069632 0.163522 +v 0.261913 0.070101 0.165266 +v 0.272321 0.070565 0.166975 +v 0.282308 0.070209 0.169323 +v 0.292706 0.070675 0.171051 +v 0.302665 0.070321 0.173416 +v 0.312187 0.069145 0.176424 +v 0.321297 0.067148 0.180079 +v 0.329956 0.064304 0.184357 +v 0.338618 0.061482 0.188669 +v 0.347232 0.058661 0.192941 +v 0.355892 0.055845 0.197278 +v 0.363645 0.051388 0.202869 +v 0.371426 0.046893 0.208463 +v 0.378746 0.041596 0.214696 +v 0.386096 0.036288 0.220921 +v 0.393856 0.031827 0.226525 +v 0.402962 0.029828 0.230173 +v 0.412934 0.029477 0.232532 +v 0.423782 0.030762 0.233576 +v 0.434190 0.031229 0.235292 +v 0.445055 0.032515 0.236392 +v 0.455474 0.032992 0.238087 +v 0.468074 0.037571 0.236560 +v 0.482015 0.044622 0.233105 +v 0.497528 0.053855 0.227771 +v 0.512818 0.064599 0.221765 +v 0.528029 0.074291 0.216105 +v 0.542455 0.082135 0.212101 +v 0.556654 0.090151 0.207701 +v 0.572730 0.100068 0.202041 +v 0.586065 0.106550 0.198871 +v 0.598878 0.110796 0.197803 +v 0.609690 0.112315 0.198551 +v 0.620091 0.112977 0.199985 +v 0.630966 0.114113 0.201260 +v 0.642249 0.116184 0.201777 +v 0.653531 0.118328 0.202177 +v 0.665678 0.122079 0.201338 +v 0.678088 0.126939 0.199640 +v 0.691568 0.133170 0.196807 +v 0.704776 0.139168 0.193620 +v 0.718430 0.145791 0.191014 +v -0.560194 0.453200 0.122095 +v -0.382317 0.341794 0.220164 +v -0.404363 0.418703 0.289814 +v -0.345127 0.390741 0.291308 +v -0.520443 0.781277 0.339415 +v -0.560196 0.815027 0.374885 +v -0.636412 0.833327 0.218066 +v -0.544592 0.467811 0.200717 +v -0.385017 0.404374 0.288521 +v -0.453020 0.775877 0.305603 +v -0.408902 0.349046 0.208391 +v -0.629197 0.825377 0.333185 +v -0.263746 0.323460 0.243590 +v -0.386128 0.427207 0.303824 +v -0.637258 0.824307 0.243152 +v -0.593097 0.791397 0.279291 +v -0.631019 0.815707 0.304850 +v -0.501244 0.773277 0.314645 +v -0.319019 0.319574 0.217940 +v -0.310560 0.318490 0.220427 +v -0.489776 0.742447 0.269825 +v -0.402725 0.353943 0.222914 +v -0.658064 0.850627 0.144851 +v -0.420301 0.359027 0.214892 +v -0.220250 0.397521 0.313074 +v -0.229923 0.398068 0.310006 +v -0.377833 0.355879 0.244069 +v -0.357136 0.026839 0.094316 +v -0.348460 0.024042 0.098544 +v -0.339359 0.022038 0.102195 +v -0.329844 0.020816 0.105261 +v -0.320352 0.019599 0.108318 +v -0.309993 0.019937 0.110184 +v -0.300495 0.018719 0.113217 +v -0.290589 0.018283 0.115676 +v -0.279838 0.019406 0.116946 +v -0.269100 0.020510 0.118204 +v -0.261268 0.016182 0.123610 +v -0.099052 0.034929 0.140849 +v -0.093036 0.027167 0.149014 +v -0.085625 0.022008 0.155124 +v -0.075263 0.022360 0.156985 +v -0.064013 0.024469 0.157428 +v -0.051830 0.028243 0.156551 +v -0.033919 0.042696 0.147270 +v -0.015117 0.058772 0.136740 +v -0.004699 0.059247 0.138449 +v 0.006578 0.061350 0.138871 +v 0.017027 0.061821 0.140591 +v 0.027830 0.063102 0.141624 +v 0.037809 0.062746 0.144009 +v 0.048701 0.064033 0.145068 +v 0.058630 0.063681 0.147452 +v 0.069072 0.064145 0.149156 +v 0.079505 0.064612 0.150872 +v 0.089916 0.065079 0.152602 +v 0.100300 0.065541 0.154301 +v 0.110273 0.065189 0.156675 +v 0.121109 0.066473 0.157740 +v 0.131121 0.066119 0.160102 +v 0.141501 0.066582 0.161830 +v 0.151513 0.066228 0.164170 +v 0.161921 0.066694 0.165905 +v 0.172318 0.067158 0.167612 +v 0.182707 0.067624 0.169331 +v 0.193136 0.068089 0.171027 +v 0.203537 0.068555 0.172761 +v 0.213953 0.069021 0.174479 +v 0.223928 0.068665 0.176838 +v 0.234350 0.069130 0.178536 +v 0.244789 0.069597 0.180247 +v 0.255191 0.070065 0.181972 +v 0.266037 0.071351 0.183040 +v 0.276442 0.071817 0.184753 +v 0.286854 0.072282 0.186452 +v 0.297266 0.072750 0.188205 +v 0.307697 0.073215 0.189934 +v 0.317661 0.072856 0.192261 +v 0.327610 0.072499 0.194609 +v 0.336718 0.070497 0.198304 +v 0.345367 0.067663 0.202568 +v 0.353554 0.064028 0.207510 +v 0.361348 0.059535 0.213117 +v 0.368197 0.053451 0.220018 +v 0.374204 0.045689 0.228159 +v 0.379348 0.036257 0.237639 +v 0.387149 0.031785 0.243232 +v 0.396212 0.029790 0.246867 +v 0.405777 0.028617 0.249899 +v 0.416601 0.029901 0.250938 +v 0.426611 0.029550 0.253318 +v 0.437465 0.030839 0.254395 +v 0.448315 0.032132 0.255466 +v 0.459592 0.034253 0.255867 +v 0.475301 0.044597 0.249830 +v 0.491719 0.054172 0.244005 +v 0.506872 0.065120 0.237841 +v 0.521796 0.076236 0.231452 +v 0.538669 0.087923 0.224203 +v -0.220374 0.384677 0.306103 +v -0.544820 0.779537 0.264511 +v 0.586651 0.119284 0.205904 +v 0.598119 0.122754 0.204819 +v 0.609079 0.124019 0.205892 +v 0.619980 0.125011 0.207459 +v 0.630410 0.125542 0.209093 +v 0.640814 0.126203 0.210568 +v 0.652085 0.128072 0.211326 +v 0.663330 0.130446 0.211460 +v 0.675352 0.134428 0.210407 +v 0.688347 0.139805 0.208312 +v 0.701762 0.146066 0.205517 +v -0.300642 0.318007 0.222891 +v -0.337836 0.342421 0.246596 +v -0.449539 0.416627 0.264270 +v -0.480498 0.774457 0.318406 +v -0.448165 0.406856 0.255427 +v -0.490875 0.773867 0.316545 +v -0.565305 0.798517 0.351172 +v -0.624660 0.816297 0.234311 +v -0.586307 0.791797 0.262776 +v -0.631043 0.823637 0.227173 +v -0.617936 0.809347 0.241644 +v -0.602756 0.799257 0.253082 +v -0.578104 0.788087 0.267618 +v -0.533915 0.775477 0.287680 +v -0.496253 0.770067 0.300512 +v -0.327203 0.398686 0.306041 +v -0.621264 0.816817 0.144530 +v -0.562708 0.785447 0.255285 +v -0.393778 0.351691 0.226725 +v -0.631187 0.816267 0.250951 +v -0.335653 0.389483 0.294458 +v -0.557914 0.788857 0.217881 +v -0.290680 0.317679 0.225318 +v -0.314084 0.288783 -0.117790 +v -0.281107 0.316625 0.228252 +v -0.629670 0.812267 0.272338 +v -0.271133 0.316412 0.230590 +v -0.580673 0.789037 0.301953 +v -0.506195 0.776477 0.328802 +v -0.415822 0.795737 0.333828 +v -0.471308 0.752897 0.283595 +v -0.365815 0.039589 0.098031 +v -0.360235 0.033367 0.105627 +v -0.353599 0.026651 0.112843 +v -0.344947 0.023874 0.117094 +v -0.335869 0.021874 0.120744 +v -0.325909 0.021435 0.123230 +v -0.316010 0.020999 0.125673 +v -0.306064 0.020560 0.128122 +v -0.296157 0.020123 0.130570 +v -0.286256 0.019689 0.133044 +v -0.276327 0.019250 0.135491 +v -0.266428 0.018819 0.137969 +v -0.256936 0.017595 0.140979 +v -0.115197 0.036177 0.154335 +v -0.105278 0.035719 0.156793 +v -0.101974 0.022781 0.168850 +v -0.091625 0.023127 0.170709 +v -0.081292 0.023475 0.172551 +v -0.070545 0.024614 0.173806 +v -0.058069 0.029011 0.172531 +v -0.041075 0.041799 0.164560 +v -0.021393 0.059539 0.152732 +v -0.011391 0.059198 0.155106 +v 0.000344 0.062122 0.154902 +v 0.010732 0.062588 0.156620 +v 0.021155 0.063053 0.158315 +v 0.031535 0.063517 0.160022 +v 0.041540 0.063165 0.162383 +v 0.052390 0.064454 0.163496 +v 0.063235 0.065737 0.164558 +v 0.072746 0.064563 0.167558 +v 0.083595 0.065849 0.168600 +v 0.094030 0.066317 0.170346 +v 0.104429 0.066783 0.172045 +v 0.114879 0.067246 0.173753 +v 0.124845 0.066895 0.176136 +v 0.135218 0.067358 0.177838 +v 0.145195 0.067004 0.180226 +v 0.156060 0.068291 0.181295 +v 0.166040 0.067934 0.183639 +v 0.176010 0.067581 0.185999 +v 0.186881 0.068869 0.187113 +v 0.196838 0.068515 0.189458 +v 0.207228 0.068980 0.191187 +v 0.217644 0.069447 0.192908 +v 0.228058 0.069913 0.194625 +v 0.238506 0.070380 0.196323 +v 0.248911 0.070849 0.198056 +v 0.259323 0.071311 0.199738 +v 0.269716 0.071781 0.201489 +v 0.280589 0.073067 0.202540 +v 0.290971 0.073534 0.204276 +v 0.301381 0.074000 0.205981 +v 0.311807 0.074467 0.207719 +v 0.321803 0.074110 0.210081 +v 0.332189 0.074572 0.211757 +v 0.341709 0.073391 0.214779 +v 0.349915 0.069745 0.219730 +v 0.357670 0.065281 0.225314 +v 0.363680 0.057519 0.233476 +v 0.367038 0.044803 0.245532 +v 0.371297 0.033752 0.256269 +v 0.379992 0.030920 0.260570 +v 0.389055 0.028926 0.264244 +v 0.399040 0.028572 0.266595 +v 0.409471 0.029042 0.268317 +v 0.420289 0.030327 0.269399 +v 0.430274 0.029974 0.271748 +v 0.441142 0.031271 0.272818 +v 0.452856 0.034209 0.272617 +v 0.466336 0.040431 0.269811 +v 0.482514 0.051623 0.263115 +v -0.554052 0.782577 0.259559 +v -0.453602 0.336975 0.121477 +v -0.441968 0.449510 0.290723 +v -0.340055 0.350673 0.256545 +v -0.366309 0.346122 0.237410 +v -0.463437 0.403471 0.237481 +v -0.089997 0.049656 0.376332 +v -0.315257 0.377431 0.291495 +v -0.359185 0.352780 0.250683 +v -0.456660 0.409862 0.251011 +v -0.445743 0.332597 0.126952 +v -0.532150 0.392601 0.074361 +v 0.662345 0.140978 0.219961 +v 0.674010 0.144046 0.219621 +v -0.525246 0.386536 0.081136 +v -0.517907 0.381645 0.086761 +v -0.510234 0.376659 0.092860 +v -0.440836 0.413843 0.268466 +v -0.487196 0.386386 0.177137 +v -0.502252 0.372801 0.097804 +v -0.248101 0.339612 0.268052 +v -0.580123 0.815557 0.369916 +v -0.571566 0.787027 0.305618 +v -0.506212 0.770337 0.298010 +v -0.542577 0.778347 0.283397 +v -0.494294 0.368460 0.103335 +v -0.461257 1.162357 -0.338975 +v -0.339027 0.420499 0.319784 +v -0.594523 0.795527 0.257941 +v -0.569424 0.785217 0.271867 +v -0.336947 0.399507 0.303017 +v -0.372062 0.372358 0.266153 +v -0.441792 0.778197 0.306320 +v -0.508519 0.421408 0.195204 +v -0.604980 0.815437 0.185697 +v -0.486527 0.363627 0.109319 +v -0.478833 0.359327 0.114430 +v -0.471098 0.354338 0.120442 +v -0.349035 0.294304 -0.109366 +v -0.340308 0.291281 -0.104877 +v -0.332063 0.287801 -0.099793 +v -0.324349 0.285043 -0.094694 +v -0.316461 0.280344 -0.086986 +v -0.463436 0.349735 0.125997 +v -0.568504 0.451123 0.086876 +v -0.335494 0.334481 0.236463 +v -0.496265 0.776207 0.331274 +v -0.402226 0.802577 0.331277 +v -0.455867 0.345045 0.131583 +v -0.261403 0.383390 0.298260 +v -0.448012 0.340647 0.137091 +v -0.358373 0.030043 0.126525 +v -0.350926 0.024908 0.132569 +v -0.341817 0.022909 0.136254 +v -0.331907 0.022472 0.138674 +v -0.322005 0.022040 0.141168 +v -0.312098 0.021606 0.143626 +v -0.302167 0.021170 0.146092 +v -0.292251 0.020737 0.148525 +v -0.281914 0.021082 0.150370 +v -0.271988 0.020651 0.152842 +v -0.261686 0.020994 0.154683 +v -0.252980 0.018212 0.158943 +v -0.242680 0.018565 0.160831 +v -0.170782 0.020217 0.174428 +v -0.160443 0.020563 0.176284 +v -0.151356 0.018570 0.179929 +v -0.139347 0.022049 0.179402 +v -0.129037 0.022402 0.181296 +v -0.118281 0.023528 0.182505 +v -0.107980 0.023878 0.184404 +v -0.098046 0.023444 0.186851 +v -0.087719 0.023796 0.188703 +v -0.076572 0.025713 0.189366 +v -0.064580 0.029223 0.188854 +v -0.049095 0.039278 0.183148 +v -0.028099 0.059485 0.169417 +v -0.017683 0.059954 0.171097 +v -0.006366 0.062070 0.171567 +v 0.004464 0.063354 0.172622 +v 0.014861 0.063820 0.174343 +v 0.025290 0.064286 0.176064 +v 0.035241 0.063932 0.178435 +v 0.046111 0.065220 0.179494 +v 0.056068 0.064866 0.181855 +v 0.066921 0.066155 0.182935 +v 0.077361 0.066622 0.184676 +v 0.087339 0.066268 0.187033 +v 0.097749 0.066735 0.188757 +v 0.108165 0.067198 0.190469 +v 0.118138 0.066848 0.192805 +v 0.128988 0.068131 0.193907 +v 0.138927 0.067777 0.196248 +v 0.149340 0.068245 0.197979 +v 0.159741 0.068710 0.199680 +v 0.170175 0.069179 0.201438 +v 0.180569 0.069645 0.203133 +v 0.191007 0.070112 0.204847 +v 0.201411 0.070579 0.206579 +v 0.211378 0.070224 0.208951 +v 0.221814 0.070692 0.210658 +v 0.232218 0.071158 0.212370 +v 0.242641 0.071629 0.214090 +v 0.253454 0.072913 0.215156 +v 0.263892 0.073382 0.216892 +v 0.274281 0.073847 0.218629 +v 0.284698 0.074314 0.220315 +v 0.295102 0.074780 0.222032 +v 0.305534 0.075248 0.223746 +v 0.315966 0.075707 0.225458 +v 0.325476 0.074536 0.228495 +v 0.335443 0.074173 0.230832 +v 0.344513 0.072177 0.234482 +v 0.351830 0.066893 0.240712 +v 0.357407 0.058281 0.249537 +v 0.352887 0.030767 0.273180 +v 0.362390 0.029591 0.276193 +v 0.371940 0.028412 0.279212 +v 0.381903 0.028059 0.281541 +v 0.392340 0.028526 0.283263 +v 0.402728 0.028994 0.285020 +v 0.413133 0.029463 0.286732 +v 0.423976 0.030750 0.287797 +v 0.434862 0.032046 0.288851 +v 0.446142 0.034171 0.289315 +v 0.459180 0.039566 0.287143 +v 0.474459 0.049111 0.281766 +v -0.439912 0.336841 0.142066 +v -0.431743 0.333160 0.147015 +v -0.458806 1.165257 -0.399869 +v -0.616547 0.819527 0.161440 +v -0.298837 0.339622 0.257368 +v -0.468383 0.784647 0.348685 +v -0.433856 0.793347 0.349590 +v -0.455296 1.159977 -0.355040 +v -0.431867 0.411697 0.272305 +v -0.558930 0.478743 0.188385 +v -0.404990 0.455327 0.311514 +v -0.423536 0.329491 0.151911 +v -0.415159 0.326087 0.156691 +v -0.406373 0.323636 0.160589 +v -0.457190 0.786967 0.349374 +v -0.438617 1.150197 -0.345185 +v -0.529609 0.439813 0.175104 +v -0.522227 0.836447 0.401753 +v -0.397750 0.320732 0.164882 +v -0.388678 0.318685 0.168567 +v -0.451682 1.168237 -0.439869 +v -0.437845 0.394639 0.250520 +v -0.446486 0.397453 0.246288 +v -0.610662 0.803787 0.247626 +v -0.614588 0.803537 0.120593 +v -0.639068 0.814967 0.105767 +v -0.334514 0.379173 0.285870 +v -0.266293 0.331097 0.254050 +v -0.482095 0.431599 0.244516 +v -0.621329 0.820837 0.338562 +v -0.532457 0.765767 0.224134 +v -0.398307 0.367905 0.246874 +v -0.485898 0.770667 0.302404 +v -0.429252 0.783087 0.305152 +v -0.395627 0.453620 0.314647 +v -0.379549 0.316787 0.172165 +v -0.382030 0.302429 -0.104390 +v -0.373140 0.299750 -0.100966 +v -0.365767 0.295016 -0.094586 +v -0.357637 0.291063 -0.089691 +v -0.349504 0.286772 -0.083756 +v -0.341513 0.283337 -0.078948 +v -0.333390 0.280304 -0.073752 +v -0.324503 0.277838 -0.068317 +v -0.370419 0.314835 0.175813 +v -0.361317 0.312903 0.179430 +v -0.351878 0.311504 0.182533 +v -0.357350 0.411632 0.305696 +v -0.342286 0.310421 0.185508 +v -0.467803 0.389965 0.213233 +v -0.332790 0.309235 0.188569 +v -0.373040 0.033850 0.137761 +v -0.365186 0.029498 0.143177 +v -0.357309 0.025141 0.148627 +v -0.347817 0.023927 0.151695 +v -0.337899 0.023493 0.154132 +v -0.327994 0.023063 0.156634 +v -0.318088 0.022632 0.159102 +v -0.308148 0.022197 0.161550 +v -0.298223 0.021768 0.163993 +v -0.287469 0.022902 0.165270 +v -0.277144 0.023247 0.167106 +v -0.267225 0.022819 0.169592 +v -0.257324 0.022385 0.172036 +v -0.247425 0.021952 0.174496 +v -0.237915 0.020735 0.177554 +v -0.227978 0.020303 0.180026 +v -0.218063 0.019875 0.182487 +v -0.207729 0.020220 0.184342 +v -0.197858 0.019788 0.186781 +v -0.187515 0.020152 0.188689 +v -0.177197 0.020501 0.190543 +v -0.166871 0.020845 0.192380 +v -0.155702 0.022770 0.193070 +v -0.144944 0.023904 0.194345 +v -0.134619 0.024253 0.196186 +v -0.124310 0.024604 0.198057 +v -0.114371 0.024172 0.200493 +v -0.104042 0.024525 0.202397 +v -0.093727 0.024877 0.204236 +v -0.082969 0.026022 0.205490 +v -0.070977 0.029543 0.204979 +v -0.055319 0.040080 0.199088 +v -0.035675 0.057784 0.187331 +v -0.023929 0.060722 0.187128 +v -0.012631 0.062828 0.187534 +v -0.002232 0.063299 0.189277 +v 0.008600 0.064584 0.190332 +v 0.018586 0.064233 0.192725 +v 0.029017 0.064698 0.194420 +v 0.039430 0.065170 0.196162 +v 0.050241 0.066454 0.197209 +v 0.060673 0.066921 0.198963 +v 0.070635 0.066569 0.201316 +v 0.081478 0.067857 0.202397 +v 0.091443 0.067502 0.204747 +v 0.101868 0.067969 0.206487 +v 0.112271 0.068438 0.208220 +v 0.122273 0.068084 0.210572 +v 0.132687 0.068551 0.212308 +v 0.143081 0.069017 0.214018 +v 0.153486 0.069485 0.215750 +v 0.163916 0.069948 0.217423 +v 0.173887 0.069599 0.219808 +v 0.184722 0.070886 0.220903 +v 0.194695 0.070532 0.223257 +v 0.205553 0.071817 0.224307 +v 0.215534 0.071468 0.226677 +v 0.226369 0.072755 0.227778 +v 0.236328 0.072399 0.230126 +v 0.246772 0.072870 0.231875 +v 0.257144 0.073335 0.233577 +v 0.268037 0.074623 0.234666 +v 0.277997 0.074274 0.237043 +v 0.288425 0.074735 0.238743 +v 0.298391 0.074387 0.241102 +v 0.309209 0.075673 0.242172 +v 0.320096 0.076958 0.243241 +v 0.330021 0.076607 0.245601 +v 0.315794 0.030961 0.283438 +v 0.325342 0.029783 0.286414 +v 0.334844 0.028608 0.289412 +v 0.344828 0.028250 0.291808 +v 0.354826 0.027898 0.294154 +v 0.365231 0.028363 0.295868 +v 0.375197 0.028009 0.298227 +v 0.385600 0.028477 0.299985 +v 0.396026 0.028947 0.301666 +v 0.406846 0.030234 0.302747 +v 0.417707 0.031526 0.303846 +v 0.428124 0.032002 0.305563 +v 0.439877 0.034959 0.305374 +v 0.452893 0.040353 0.303228 +v 0.466834 0.047409 0.299769 +v -0.323304 0.307923 0.191652 +v -0.471275 0.377785 0.187941 +v -0.578732 0.463643 0.091612 +v -0.479277 0.382025 0.182595 +v -0.548315 0.449126 0.145730 +v -0.272351 0.356926 0.283221 +v -0.203486 0.365343 0.308205 +v -0.463042 1.164857 -0.360841 +v -0.422874 0.409296 0.275993 +v -0.447250 1.154727 -0.350298 +v -0.313723 0.306872 0.194631 +v -0.356072 0.401635 0.297171 +v -0.515731 0.765257 0.264209 +v -0.304204 0.305717 0.197667 +v -0.519139 0.763387 0.246372 +v -0.513868 0.846197 0.413735 +v -0.211353 0.395043 0.316712 +v -0.527618 0.430459 0.165975 +v -0.437602 0.328846 0.131910 +v -0.542486 0.778887 0.229263 +v -0.249178 0.350085 0.276421 +v -0.221167 0.345008 0.286469 +v -0.391561 0.343973 0.216048 +v -0.441757 0.462573 0.297358 +v -0.429564 0.324707 0.137259 +v -0.609128 0.799757 0.269004 +v -0.472816 0.808297 0.400071 +v -0.571302 0.791867 0.192124 +v -0.634124 0.804917 0.060328 +v -0.459173 0.802067 0.390359 +v -0.578102 0.806377 0.359865 +v -0.560337 0.783217 0.275529 +v -0.525230 0.772617 0.291917 +v -0.475048 0.772107 0.303629 +v -0.483137 0.455060 0.259536 +v -0.545966 0.777867 0.211057 +v -0.397335 0.306566 -0.092444 +v -0.388250 0.304160 -0.086781 +v -0.380508 0.299698 -0.081198 +v -0.373659 0.293205 -0.075428 +v -0.365836 0.289107 -0.068754 +v -0.357432 0.284842 -0.064867 +v -0.349391 0.281318 -0.059951 +v -0.340292 0.279798 -0.055226 +v -0.331689 0.276976 -0.050904 +v -0.324345 0.271685 -0.044712 +v -0.318352 0.263926 -0.036510 +v -0.475901 0.393738 0.208268 +v -0.615764 0.805707 0.316302 +v -0.567457 0.459173 0.115430 +v -0.497410 0.398380 0.182245 +v -0.464401 0.818127 0.411999 +v -0.379447 0.034080 0.153775 +v -0.372001 0.028927 0.159846 +v -0.363714 0.025356 0.164669 +v -0.354217 0.024141 0.167708 +v -0.344320 0.023711 0.170186 +v -0.334358 0.023283 0.172672 +v -0.324044 0.023636 0.174527 +v -0.313713 0.023988 0.176402 +v -0.303819 0.023560 0.178867 +v -0.293896 0.023130 0.181316 +v -0.283553 0.023486 0.183197 +v -0.273248 0.023840 0.185041 +v -0.262491 0.024980 0.186340 +v -0.252168 0.025333 0.188193 +v -0.242277 0.024903 0.190638 +v -0.232324 0.024464 0.193089 +v -0.222828 0.023256 0.196155 +v -0.212523 0.023613 0.198032 +v -0.202177 0.023967 0.199900 +v -0.192256 0.023542 0.202372 +v -0.181514 0.024678 0.203644 +v -0.171183 0.025032 0.205483 +v -0.160429 0.026167 0.206766 +v -0.150509 0.025734 0.209209 +v -0.140622 0.025306 0.211680 +v -0.130705 0.024877 0.214165 +v -0.120352 0.025229 0.216017 +v -0.110448 0.024803 0.218485 +v -0.100111 0.025160 0.220337 +v -0.089401 0.026301 0.221624 +v -0.077404 0.029819 0.221097 +v -0.062539 0.038842 0.216416 +v -0.041903 0.058552 0.203335 +v -0.030647 0.060653 0.203743 +v -0.019342 0.062770 0.204200 +v -0.008473 0.064057 0.205258 +v 0.001913 0.064524 0.206982 +v 0.012319 0.064996 0.208727 +v 0.023196 0.066286 0.209808 +v 0.033602 0.066750 0.211531 +v 0.043573 0.066398 0.213880 +v 0.053958 0.066864 0.215591 +v 0.064355 0.067333 0.217340 +v 0.074763 0.067803 0.219073 +v 0.085183 0.068269 0.220777 +v 0.096038 0.069558 0.221871 +v 0.105603 0.068386 0.224854 +v 0.116406 0.069672 0.225948 +v 0.126858 0.070138 0.227665 +v 0.136792 0.069784 0.230013 +v 0.147237 0.070253 0.231743 +v 0.157649 0.070721 0.233462 +v 0.168056 0.071188 0.235176 +v 0.178438 0.071658 0.236937 +v 0.188874 0.072121 0.238626 +v 0.198845 0.071773 0.241022 +v 0.209223 0.072238 0.242745 +v 0.220100 0.073528 0.243788 +v 0.230491 0.073996 0.245553 +v 0.240503 0.073644 0.247909 +v 0.250893 0.074112 0.249632 +v 0.261324 0.074577 0.251323 +v 0.271725 0.075053 0.253072 +v 0.282539 0.076336 0.254117 +v 0.292950 0.076804 0.255840 +v 0.303361 0.077272 0.257562 +v 0.288277 0.029976 0.296623 +v 0.298670 0.030442 0.298340 +v 0.308208 0.029262 0.301372 +v 0.318203 0.028908 0.303705 +v 0.328173 0.028552 0.306089 +v 0.338124 0.028196 0.308465 +v 0.347663 0.027022 0.311497 +v 0.358053 0.027487 0.313174 +v 0.368950 0.028773 0.314291 +v 0.378443 0.027605 0.317291 +v 0.389333 0.028901 0.318367 +v 0.400180 0.030191 0.319437 +v 0.410992 0.031492 0.320547 +v 0.421874 0.032803 0.321625 +v 0.434478 0.037372 0.320095 +v 0.447098 0.041982 0.318600 +v 0.461452 0.049854 0.314529 +v -0.483312 0.788227 0.360281 +v -0.193873 0.377078 0.318088 +v -0.237274 0.328463 0.262507 +v -0.504036 0.386905 0.138193 +v -0.578099 0.795467 0.189883 +v -0.426524 0.800157 0.363439 +v 0.596533 0.063458 -0.089712 +v -0.221612 0.369431 0.300743 +v -0.539130 0.771467 0.217731 +v -0.505330 0.856107 0.425338 +v -0.421119 0.321617 0.141704 +v -0.474213 0.427157 0.249897 +v -0.589768 0.797147 0.329017 +v -0.632695 0.827377 0.151506 +v -0.495290 0.420366 0.216361 +v -0.450707 1.164797 -0.417183 +v -0.442016 1.162447 -0.413865 +v -0.504771 0.403213 0.176588 +v -0.508498 0.478056 0.252540 +v -0.516717 0.481229 0.247847 +v -0.448636 0.375472 0.212227 +v -0.455013 0.400422 0.241918 +v -0.464224 0.773277 0.305189 +v -0.263039 0.405230 0.314532 +v -0.326156 0.388226 0.297573 +v -0.390856 0.375155 0.259640 +v -0.463071 0.374106 0.192895 +v -0.522525 0.464573 0.225684 +v -0.347526 0.411090 0.308455 +v -0.543875 0.451424 0.162230 +v -0.526809 0.450613 0.201567 +v -0.494858 0.390588 0.172017 +v -0.551235 0.781207 0.279162 +v -0.515696 0.771467 0.294954 +v -0.552953 0.783887 0.312322 +v -0.418373 0.317763 -0.087848 +v -0.411085 0.312107 -0.080661 +v -0.403335 0.307579 -0.075111 +v -0.395888 0.302487 -0.068757 +v -0.388460 0.297204 -0.063468 +v -0.381770 0.290963 -0.056732 +v -0.373014 0.288248 -0.051389 +v -0.365015 0.283425 -0.046800 +v -0.356573 0.280941 -0.041507 +v -0.348369 0.277298 -0.036588 +v -0.339725 0.274471 -0.032284 +v -0.331522 0.270826 -0.027355 +v -0.323735 0.266346 -0.021759 +v -0.315528 0.262699 -0.016833 +v -0.411974 0.318855 0.146787 +v -0.410770 0.388330 0.261726 +v -0.393438 0.395146 0.277030 +v -0.518838 0.803927 0.375260 +v -0.315788 0.388643 0.299538 +v -0.378400 0.029130 0.175825 +v -0.369708 0.026338 0.180094 +v -0.360184 0.025120 0.183163 +v -0.350695 0.023908 0.186215 +v -0.340763 0.023480 0.188651 +v -0.330439 0.023836 0.190540 +v -0.320542 0.023411 0.193030 +v -0.310193 0.023768 0.194900 +v -0.299854 0.024124 0.196729 +v -0.289539 0.024481 0.198593 +v -0.279215 0.024840 0.200482 +v -0.268910 0.025198 0.202377 +v -0.258584 0.025555 0.204214 +v -0.248220 0.025911 0.206094 +v -0.238309 0.025487 0.208540 +v -0.227581 0.026626 0.209819 +v -0.217663 0.026200 0.212285 +v -0.207356 0.026558 0.214165 +v -0.196992 0.026916 0.216052 +v -0.186677 0.027273 0.217934 +v -0.176759 0.026842 0.220380 +v -0.166873 0.026415 0.222822 +v -0.156548 0.026772 0.224690 +v -0.146612 0.026343 0.227196 +v -0.137116 0.025129 0.230218 +v -0.126770 0.025487 0.232091 +v -0.116435 0.025845 0.233955 +v -0.106125 0.026201 0.235861 +v -0.095798 0.026562 0.237713 +v -0.084617 0.028520 0.238386 +v -0.069795 0.037530 0.233741 +v -0.049495 0.056839 0.221210 +v -0.036020 0.063053 0.218431 +v -0.025604 0.063529 0.220188 +v -0.014736 0.064820 0.221247 +v -0.003897 0.066106 0.222348 +v 0.006065 0.065756 0.224718 +v 0.016928 0.067045 0.225789 +v 0.027311 0.067512 0.227501 +v 0.037717 0.067981 0.229237 +v 0.048166 0.068451 0.230974 +v 0.058539 0.068916 0.232665 +v 0.068549 0.068567 0.235032 +v 0.079372 0.069852 0.236125 +v 0.089360 0.069501 0.238497 +v 0.099772 0.069968 0.240205 +v 0.110169 0.070438 0.241965 +v 0.120571 0.070904 0.243648 +v 0.130998 0.071373 0.245375 +v 0.141378 0.071840 0.247099 +v 0.151373 0.071489 0.249464 +v 0.162209 0.072780 0.250587 +v 0.172632 0.073247 0.252301 +v 0.182580 0.072892 0.254662 +v 0.192990 0.073359 0.256357 +v 0.203441 0.073826 0.258097 +v 0.213393 0.073474 0.260460 +v 0.223804 0.073947 0.262207 +v 0.234199 0.074417 0.263927 +v 0.245050 0.075703 0.264986 +v 0.255446 0.076171 0.266702 +v 0.266296 0.077464 0.267783 +v 0.252554 0.032618 0.304882 +v 0.261174 0.029800 0.309206 +v 0.271171 0.029446 0.311537 +v 0.281157 0.029086 0.313939 +v 0.290679 0.027915 0.316916 +v 0.301080 0.028381 0.318669 +v 0.311059 0.028026 0.321041 +v 0.320996 0.027674 0.323390 +v 0.331444 0.028142 0.325114 +v 0.341852 0.028609 0.326857 +v 0.351817 0.028260 0.329224 +v 0.362201 0.028728 0.330933 +v 0.372630 0.029209 0.332685 +v 0.383463 0.030499 0.333751 +v 0.394756 0.032616 0.334186 +v 0.406072 0.034747 0.334636 +v 0.417775 0.037684 0.334429 +v 0.429970 0.041453 0.333554 +v 0.442994 0.046849 0.331413 +v 0.458692 0.057205 0.325413 +v -0.304400 0.366420 0.285543 +v -0.422757 0.366807 0.225128 +v -0.574308 0.465417 0.108640 +v -0.648380 0.836557 0.140397 +v -0.622821 0.807247 0.115683 +v -0.436152 0.807457 0.391216 +v -0.534888 0.774167 0.234809 +v -0.441717 1.157857 -0.389567 +v -0.636459 0.830957 0.327147 +v -0.442379 0.380478 0.226744 +v -0.469253 0.776777 0.319107 +v -0.307752 0.409751 0.318260 +v -0.403550 0.316552 0.149755 +v -0.529780 0.420598 0.138852 +v -0.539445 0.777917 0.248947 +v -0.547807 0.781947 0.243591 +v -0.596286 0.810397 0.352516 +v -0.508646 0.385023 0.121214 +v -0.272229 0.382051 0.297049 +v -0.512500 0.822607 0.397250 +v -0.616308 0.836677 0.362478 +v -0.394883 0.313767 0.154013 +v -0.414295 0.456723 0.308005 +v -0.529380 0.771407 0.274072 +v -0.460141 0.768987 0.291215 +v -0.435119 0.784597 0.320556 +v -0.470003 0.800647 0.388990 +v -0.552086 0.473102 0.194665 +v -0.473786 0.385542 0.198236 +v -0.396282 0.359260 0.237232 +v -0.575640 0.457156 0.080145 +v -0.520765 0.424218 0.172740 +v -0.385825 0.311714 0.157677 +v -0.353884 0.380921 0.280149 +v -0.496962 0.748737 0.263555 +v -0.645319 0.845897 0.330902 +v -0.431858 0.323756 -0.076911 +v -0.425103 0.317396 -0.070163 +v -0.418583 0.310574 -0.062600 +v -0.411714 0.304481 -0.056669 +v -0.403525 0.300646 -0.051792 +v -0.397086 0.293611 -0.044293 +v -0.388805 0.290005 -0.039317 +v -0.379732 0.288208 -0.034704 +v -0.372376 0.282898 -0.028453 +v -0.364192 0.279260 -0.023533 +v -0.355505 0.276424 -0.019245 +v -0.347307 0.272775 -0.014279 +v -0.338681 0.269959 -0.010016 +v -0.330011 0.267127 -0.005711 +v -0.321384 0.264303 -0.001390 +v -0.312726 0.261474 0.002926 +v -0.304085 0.258654 0.007188 +v -0.606834 0.822617 0.358178 +v -0.537758 0.819667 0.376392 +v -0.431397 1.157067 -0.387533 +v -0.384768 0.029300 0.191836 +v -0.375671 0.027297 0.195501 +v -0.366152 0.026080 0.198573 +v -0.356659 0.024871 0.201623 +v -0.346727 0.024446 0.204088 +v -0.336430 0.024805 0.205968 +v -0.326521 0.024379 0.208398 +v -0.316200 0.024739 0.210268 +v -0.306289 0.024315 0.212767 +v -0.295922 0.024678 0.214650 +v -0.285208 0.025823 0.215932 +v -0.275299 0.025396 0.218389 +v -0.264964 0.025756 0.220260 +v -0.255036 0.025333 0.222705 +v -0.244314 0.026477 0.223985 +v -0.234411 0.026053 0.226475 +v -0.224042 0.026415 0.228340 +v -0.213742 0.026774 0.230221 +v -0.203389 0.027131 0.232060 +v -0.193514 0.026707 0.234535 +v -0.182778 0.027855 0.235844 +v -0.173235 0.026642 0.238878 +v -0.162934 0.027000 0.240733 +v -0.153007 0.026576 0.243217 +v -0.142687 0.026934 0.245078 +v -0.132749 0.026506 0.247581 +v -0.122850 0.026083 0.250031 +v -0.112518 0.026440 0.251883 +v -0.102614 0.026016 0.254341 +v -0.092293 0.026378 0.256240 +v -0.080747 0.029101 0.256311 +v -0.057649 0.053884 0.239789 +v -0.042248 0.063806 0.234430 +v -0.032281 0.063464 0.236803 +v -0.020596 0.066393 0.236607 +v -0.009719 0.067683 0.237656 +v 0.000231 0.067332 0.240050 +v 0.010646 0.067801 0.241757 +v 0.021073 0.068270 0.243485 +v 0.031487 0.068739 0.245221 +v 0.041905 0.069208 0.246936 +v 0.052303 0.069678 0.248677 +v 0.062717 0.070144 0.250401 +v 0.072689 0.069794 0.252783 +v 0.083109 0.070269 0.254510 +v 0.093921 0.071553 0.255585 +v 0.104351 0.072019 0.257311 +v 0.114321 0.071669 0.259690 +v 0.124714 0.072139 0.261413 +v 0.135121 0.072607 0.263130 +v 0.145570 0.073076 0.264854 +v 0.155965 0.073545 0.266589 +v 0.166350 0.074013 0.268296 +v 0.176755 0.074484 0.270041 +v 0.186736 0.074126 0.272377 +v 0.197139 0.074595 0.274096 +v 0.207978 0.075887 0.275175 +v 0.217986 0.075536 0.277551 +v 0.228798 0.076826 0.278627 +v 0.215075 0.031974 0.315710 +v 0.224607 0.030796 0.318718 +v 0.234138 0.029626 0.321716 +v 0.244515 0.030091 0.323429 +v 0.253629 0.028093 0.327123 +v 0.264028 0.028558 0.328838 +v 0.273974 0.028205 0.331218 +v 0.284403 0.028671 0.332919 +v 0.293914 0.027499 0.335946 +v 0.304775 0.028788 0.337012 +v 0.314775 0.028441 0.339385 +v 0.325584 0.029732 0.340479 +v 0.335585 0.029382 0.342851 +v 0.345979 0.029847 0.344558 +v 0.356831 0.031151 0.345658 +v 0.368118 0.033263 0.346090 +v 0.378957 0.034558 0.347170 +v 0.390676 0.037507 0.346982 +v 0.402409 0.040449 0.346774 +v 0.414151 0.043415 0.346571 +v 0.426762 0.048008 0.345072 +v 0.441129 0.055896 0.341013 +v -0.273821 0.404224 0.312833 +v -0.465073 1.166647 -0.382054 +v -0.324945 0.378132 0.288802 +v -0.524097 0.786967 0.351957 +v -0.581041 0.471723 0.101826 +v -0.598424 0.799997 0.324747 +v -0.515717 0.470633 0.239499 +v -0.389116 0.366056 0.250404 +v -0.530752 0.468267 0.220825 +v -0.450545 1.160807 -0.393928 +v -0.506945 0.411817 0.186236 +v -0.482091 0.738607 0.275353 +v -0.629724 0.833177 0.201738 +v -0.469159 0.765907 0.290634 +v -0.649928 0.820247 0.080656 +v -0.511210 0.441545 0.212556 +v -0.496253 0.828258 0.414537 +v -0.486769 0.827107 0.417619 +v -0.421514 1.161547 -0.408675 +v -0.376790 0.309606 0.161393 +v -0.306317 0.399929 0.309462 +v -0.360992 0.361728 0.260086 +v -0.547840 0.806447 0.366694 +v -0.623461 0.825637 0.209188 +v -0.520320 0.769337 0.277776 +v -0.448577 0.772467 0.290151 +v -0.368123 0.435460 0.318236 +v -0.550511 0.827487 0.385019 +v -0.465503 0.381955 0.203100 +v -0.276243 0.331227 0.251819 +v -0.494760 0.818017 0.405193 +v -0.442779 0.820937 0.414801 +v -0.603079 0.792587 0.114044 +v -0.613101 0.812627 0.149981 +v -0.613200 0.816997 0.343463 +v -0.367751 0.423743 0.311024 +v -0.445172 0.330472 -0.067819 +v -0.439980 0.321386 -0.059242 +v -0.433645 0.314034 -0.050892 +v -0.426164 0.308983 -0.045588 +v -0.419288 0.302855 -0.038682 +v -0.412180 0.297019 -0.032671 +v -0.404157 0.292651 -0.026903 +v -0.395535 0.290166 -0.021669 +v -0.387339 0.286516 -0.016709 +v -0.379541 0.282036 -0.011146 +v -0.370910 0.279215 -0.006843 +v -0.362235 0.276372 -0.002519 +v -0.354444 0.271902 0.003033 +v -0.345793 0.269080 0.007312 +v -0.336733 0.267080 0.010984 +v -0.328514 0.263430 0.015913 +v -0.319435 0.261430 0.019569 +v -0.310354 0.259426 0.023251 +v -0.302141 0.255780 0.028159 +v -0.293480 0.252952 0.032448 +v -0.496367 0.430870 0.224696 +v -0.390332 0.031032 0.206597 +v -0.382083 0.027457 0.211471 +v -0.372557 0.026240 0.214510 +v -0.363038 0.025030 0.217585 +v -0.352724 0.025390 0.219475 +v -0.343214 0.024180 0.222515 +v -0.332868 0.024548 0.224400 +v -0.322154 0.025695 0.225673 +v -0.312223 0.025271 0.228132 +v -0.301909 0.025633 0.230002 +v -0.292021 0.025212 0.232507 +v -0.281253 0.026362 0.233800 +v -0.271358 0.025938 0.236250 +v -0.260995 0.026302 0.238100 +v -0.250703 0.026665 0.239986 +v -0.240366 0.027030 0.241879 +v -0.230029 0.027394 0.243730 +v -0.219707 0.027755 0.245624 +v -0.209820 0.027331 0.248094 +v -0.199495 0.027695 0.249973 +v -0.189564 0.027273 0.252464 +v -0.178834 0.028420 0.253747 +v -0.168930 0.027998 0.256167 +v -0.159393 0.026785 0.259276 +v -0.149099 0.027148 0.261111 +v -0.139165 0.026723 0.263590 +v -0.129249 0.026300 0.266077 +v -0.118914 0.026661 0.267922 +v -0.109018 0.026239 0.270425 +v -0.098699 0.026602 0.272303 +v -0.089162 0.025393 0.275328 +v -0.078429 0.026535 0.276628 +v -0.068965 0.025328 0.279670 +v -0.038051 0.065132 0.251933 +v -0.027677 0.065504 0.253820 +v -0.016402 0.067616 0.254289 +v -0.005554 0.068905 0.255350 +v 0.004406 0.068560 0.257743 +v 0.015701 0.070670 0.258190 +v 0.025665 0.070314 0.260534 +v 0.035656 0.069968 0.262924 +v 0.046474 0.071254 0.264018 +v 0.056451 0.070904 0.266384 +v 0.066861 0.071370 0.268083 +v 0.077284 0.071845 0.269839 +v 0.088127 0.073130 0.270891 +v 0.098104 0.072776 0.273267 +v 0.108070 0.072429 0.275670 +v 0.118490 0.072899 0.277382 +v 0.129300 0.074189 0.278473 +v 0.139744 0.074656 0.280197 +v 0.149706 0.074303 0.282548 +v 0.160084 0.074777 0.284294 +v 0.170928 0.076066 0.285353 +v 0.181337 0.076536 0.287081 +v 0.191746 0.077005 0.288809 +v 0.178431 0.032969 0.325214 +v 0.186639 0.029326 0.330129 +v 0.197507 0.030614 0.331249 +v 0.207487 0.030263 0.333596 +v 0.217427 0.029908 0.335978 +v 0.226550 0.027909 0.339617 +v 0.236968 0.028375 0.341368 +v 0.246914 0.028026 0.343752 +v 0.257342 0.028494 0.345468 +v 0.267288 0.028145 0.347836 +v 0.277694 0.028608 0.349534 +v 0.288110 0.029082 0.351272 +v 0.298965 0.030384 0.352378 +v 0.309396 0.030857 0.354099 +v 0.320252 0.032162 0.355197 +v 0.331049 0.033442 0.356265 +v 0.341911 0.034732 0.357341 +v 0.353204 0.036866 0.357792 +v 0.364516 0.038980 0.358222 +v 0.376209 0.041953 0.358022 +v 0.388357 0.045756 0.356989 +v 0.400868 0.050437 0.355189 +v 0.414445 0.056557 0.352762 +v 0.428703 0.064497 0.348481 +v -0.342942 0.370017 0.274325 +v -0.524875 0.484970 0.242919 +v -0.594337 0.794967 0.311881 +v -0.482582 0.443614 0.251872 +v -0.212739 0.367222 0.304819 +v -0.322067 0.358687 0.271023 +v -0.536784 0.795147 0.360410 +v -0.386647 0.476806 0.332460 +v -0.487671 0.415220 0.222285 +v -0.447842 0.804137 0.391194 +v -0.556588 0.470746 0.178197 +v -0.509493 0.401287 0.159759 +v -0.536726 0.463347 0.206139 +v -0.253039 0.405410 0.316282 +v -0.313985 0.367270 0.282909 +v -0.474810 0.817508 0.410163 +v -0.631021 0.834697 0.343126 +v -0.642542 0.826787 0.257949 +v -0.304699 0.378075 0.293290 +v -0.385975 0.414960 0.296755 +v -0.638159 0.821427 0.298822 +v -0.518433 0.752397 0.237633 +v -0.610430 0.811227 0.223832 +v -0.617073 0.818237 0.216566 +v -0.510826 0.768027 0.280914 +v -0.367058 0.412481 0.303064 +v -0.358371 0.422174 0.313979 +v -0.528796 0.830687 0.387254 +v -0.367323 0.308223 0.164486 +v 0.005086 0.032838 0.428013 +v -0.522601 0.433681 0.181838 +v -0.283041 0.380638 0.295919 +v -0.513905 0.417968 0.179510 +v -0.471645 0.350551 -0.072907 +v -0.465989 0.341708 -0.063121 +v -0.458856 0.337481 -0.060802 +v -0.453142 0.328048 -0.049134 +v -0.446555 0.321547 -0.042402 +v -0.440639 0.313680 -0.034303 +v -0.433543 0.307684 -0.027297 +v -0.427036 0.300855 -0.019806 +v -0.419471 0.295340 -0.014487 +v -0.411359 0.292125 -0.008625 +v -0.402628 0.289242 -0.005176 +v -0.394476 0.285637 0.000648 +v -0.385810 0.282806 0.004908 +v -0.377587 0.279149 0.009859 +v -0.369376 0.275494 0.014801 +v -0.361630 0.271037 0.020346 +v -0.352530 0.269031 0.024007 +v -0.343869 0.266204 0.028291 +v -0.334808 0.264207 0.031957 +v -0.326129 0.261376 0.036264 +v -0.317070 0.259381 0.039916 +v -0.308398 0.256548 0.044187 +v -0.299314 0.254549 0.047841 +v -0.551441 0.839117 0.392665 +v -0.395912 0.032764 0.221366 +v -0.387636 0.029172 0.226221 +v -0.378962 0.026381 0.230445 +v -0.369439 0.025166 0.233554 +v -0.359107 0.025531 0.235399 +v -0.349161 0.025111 0.237899 +v -0.338864 0.025475 0.239748 +v -0.328955 0.025055 0.242253 +v -0.318212 0.026209 0.243512 +v -0.308278 0.025789 0.246006 +v -0.297992 0.026154 0.247873 +v -0.287644 0.026521 0.249723 +v -0.277309 0.026886 0.251624 +v -0.267383 0.026466 0.254077 +v -0.257076 0.026833 0.255990 +v -0.247170 0.026413 0.258464 +v -0.236442 0.027565 0.259762 +v -0.226528 0.027144 0.262225 +v -0.216193 0.027510 0.264098 +v -0.206268 0.027088 0.266550 +v -0.195951 0.027456 0.268446 +v -0.185612 0.027819 0.270319 +v -0.175708 0.027398 0.272800 +v -0.165409 0.027764 0.274663 +v -0.155864 0.026554 0.277738 +v -0.145556 0.026919 0.279608 +v -0.135632 0.026498 0.282086 +v -0.125314 0.026864 0.283937 +v -0.115013 0.027230 0.285823 +v -0.105083 0.026808 0.288311 +v -0.094764 0.027174 0.290176 +v -0.084411 0.027538 0.292048 +v -0.074533 0.027118 0.294544 +v -0.064620 0.026695 0.296998 +v -0.055121 0.025483 0.300052 +v -0.022985 0.067711 0.270601 +v -0.013041 0.067294 0.273094 +v -0.001408 0.070129 0.273075 +v 0.009457 0.071423 0.274165 +v 0.019874 0.071888 0.275850 +v 0.029818 0.071538 0.278232 +v 0.040254 0.072005 0.279960 +v 0.050179 0.071658 0.282364 +v 0.061065 0.072946 0.283424 +v 0.071030 0.072594 0.285784 +v 0.081437 0.073070 0.287547 +v 0.092264 0.074358 0.288622 +v 0.102255 0.074011 0.291008 +v 0.112666 0.074478 0.292738 +v 0.122599 0.074120 0.295067 +v 0.133445 0.075414 0.296152 +v 0.144293 0.076709 0.297240 +v 0.154701 0.077179 0.298970 +v 0.141092 0.032443 0.335792 +v 0.149784 0.029662 0.340048 +v 0.160115 0.030031 0.341888 +v 0.170434 0.030428 0.343715 +v 0.179962 0.029250 0.346730 +v 0.189495 0.028074 0.349775 +v 0.199469 0.027720 0.352116 +v 0.209906 0.028189 0.353880 +v 0.219878 0.027838 0.356228 +v 0.230280 0.028308 0.357971 +v 0.240259 0.027960 0.360331 +v 0.251079 0.029256 0.361426 +v 0.261949 0.030554 0.362512 +v 0.272756 0.031860 0.363621 +v 0.283616 0.033162 0.364704 +v 0.294454 0.034447 0.365777 +v 0.305774 0.036573 0.366220 +v 0.317045 0.038671 0.366654 +v 0.328334 0.040823 0.367098 +v 0.340031 0.043780 0.366901 +v 0.352593 0.048472 0.365013 +v 0.366470 0.055563 0.361253 +v 0.380884 0.063364 0.357520 +v -0.549731 0.465055 0.184458 +v -0.542438 0.459663 0.190590 +v -0.553189 0.447068 0.128815 +v -0.484017 0.397509 0.203317 +v -0.438667 0.796077 0.363950 +v -0.548405 0.785937 0.329506 +v -0.345002 0.335768 0.233352 +v -0.375510 0.403181 0.291604 +v -0.450944 0.792497 0.364251 +v -0.439879 1.154977 -0.367812 +v -0.624263 0.809917 0.257571 +v -0.608795 0.814507 0.167546 +v -0.357421 0.307745 0.166973 +v -0.354967 0.391232 0.288677 +v -0.539092 0.759347 0.209833 +v -0.529783 0.776687 0.305468 +v -0.513908 0.832778 0.406520 +v -0.595640 0.800347 0.235930 +v -0.603436 0.804987 0.230503 +v -0.501230 0.767127 0.283879 +v -0.451624 0.810347 0.403319 +v -0.302661 0.357050 0.276617 +v -0.629433 0.820627 0.139585 +v -0.500835 0.779697 0.345122 +v -0.347914 0.306490 0.170010 +v -0.518770 0.817397 0.382499 +v -0.264419 0.415409 0.322871 +v -0.496709 0.840387 0.422349 +v -0.477443 0.351731 -0.056614 +v -0.471377 0.344065 -0.048468 +v -0.465399 0.336301 -0.040348 +v -0.459149 0.329110 -0.032966 +v -0.452938 0.321888 -0.025554 +v -0.446827 0.314583 -0.018187 +v -0.440272 0.307704 -0.010665 +v -0.433357 0.301587 -0.003805 +v -0.425377 0.297361 0.001827 +v -0.417166 0.293707 0.006781 +v -0.409376 0.289229 0.012385 +v -0.400729 0.286401 0.016645 +v -0.392956 0.281931 0.022215 +v -0.384331 0.279108 0.026543 +v -0.376124 0.275461 0.031471 +v -0.367473 0.272636 0.035746 +v -0.358358 0.270623 0.039396 +v -0.350145 0.266976 0.044334 +v -0.341031 0.264970 0.048006 +v -0.331945 0.262971 0.051649 +v -0.322423 0.261791 0.054669 +v -0.313328 0.259784 0.058318 +v -0.304706 0.256967 0.062585 +v -0.331962 0.359204 0.268420 +v -0.400214 0.036838 0.234390 +v -0.392780 0.031665 0.240357 +v -0.384085 0.028864 0.244622 +v -0.374968 0.026859 0.248289 +v -0.365470 0.025655 0.251352 +v -0.355145 0.026020 0.253228 +v -0.345227 0.025599 0.255674 +v -0.335316 0.025181 0.258157 +v -0.324998 0.025551 0.260059 +v -0.314650 0.025921 0.261923 +v -0.304324 0.026291 0.263835 +v -0.294010 0.026658 0.265687 +v -0.284120 0.026239 0.268154 +v -0.273773 0.026610 0.270034 +v -0.263448 0.026982 0.271928 +v -0.252735 0.028139 0.273214 +v -0.242810 0.027717 0.275727 +v -0.232892 0.027299 0.278195 +v -0.222583 0.027668 0.280055 +v -0.212255 0.028036 0.281925 +v -0.202314 0.027621 0.284427 +v -0.191610 0.028775 0.285728 +v -0.181701 0.028355 0.288176 +v -0.172178 0.027146 0.291249 +v -0.161853 0.027515 0.293146 +v -0.151933 0.027101 0.295616 +v -0.141187 0.028249 0.296903 +v -0.131720 0.027045 0.299953 +v -0.121400 0.027413 0.301830 +v -0.111482 0.026995 0.304336 +v -0.101153 0.027366 0.306223 +v -0.090827 0.027733 0.308095 +v -0.080914 0.027312 0.310548 +v -0.070589 0.027682 0.312439 +v -0.060247 0.028049 0.314343 +v -0.050760 0.026844 0.317395 +v -0.040440 0.027213 0.319291 +v -0.030539 0.026790 0.321716 +v 0.002408 0.070655 0.291147 +v 0.013144 0.071816 0.292440 +v 0.023596 0.072291 0.294182 +v 0.034399 0.073582 0.295262 +v 0.044368 0.073228 0.297634 +v 0.054776 0.073698 0.299365 +v 0.065184 0.074169 0.301096 +v 0.075592 0.074640 0.302827 +v 0.086000 0.075110 0.304558 +v 0.096456 0.075585 0.306295 +v 0.107255 0.076876 0.307380 +v 0.117663 0.077346 0.309112 +v 0.102885 0.030015 0.347376 +v 0.112810 0.029594 0.349890 +v 0.123132 0.029963 0.351752 +v 0.133035 0.029544 0.354228 +v 0.143362 0.029913 0.356085 +v 0.153261 0.029493 0.358556 +v 0.163171 0.029073 0.361033 +v 0.173083 0.028653 0.363551 +v 0.183015 0.028236 0.366019 +v 0.193324 0.028605 0.367887 +v 0.203654 0.028980 0.369778 +v 0.214028 0.029418 0.371554 +v 0.224871 0.030717 0.372651 +v 0.235725 0.032016 0.373737 +v 0.246577 0.033317 0.374824 +v 0.257865 0.035456 0.375290 +v 0.269570 0.038407 0.375084 +v 0.280830 0.040590 0.375236 +v 0.292891 0.044523 0.373924 +v 0.305499 0.049071 0.372389 +v 0.318900 0.055289 0.368937 +v 0.332896 0.062238 0.365860 +v 0.346494 0.068426 0.364038 +v 0.359572 0.073827 0.362141 +v -0.510280 0.814067 0.386893 +v -0.571216 0.793757 0.335834 +v -0.570596 0.814427 0.372994 +v -0.491095 0.459502 0.254202 +v -0.409079 0.379038 0.252537 +v -0.421540 1.171877 -0.457072 +v -0.507421 0.466992 0.244328 +v -0.489683 0.436274 0.238868 +v -0.338315 0.305389 0.173036 +v -0.636345 0.819337 0.265093 +v -0.270867 0.347278 0.274284 +v -0.555360 0.455206 0.139017 +v -0.333381 0.368930 0.277263 +v -0.637418 0.825027 0.134072 +v -0.428925 0.361904 0.210573 +v -0.562461 0.785017 0.309235 +v -0.589602 0.816777 0.366760 +v -0.566163 0.792557 0.213033 +v -0.446748 0.781417 0.320462 +v -0.528955 0.458818 0.211637 +v -0.587833 0.795767 0.241340 +v -0.323511 0.368415 0.279901 +v -0.400060 0.346641 0.212268 +v -0.414092 0.364043 0.229319 +v -0.427020 0.383563 0.244845 +v -0.502672 0.425170 0.210651 +v -0.328830 0.304230 0.176023 +v -0.479224 0.345739 -0.026925 +v -0.494153 0.786567 0.359123 +v -0.488943 0.361808 -0.050045 +v -0.483666 0.352496 -0.040616 +v -0.477252 0.345171 -0.032352 +v -0.470548 0.339327 -0.026368 +v -0.464920 0.330764 -0.017568 +v -0.459016 0.322882 -0.009493 +v -0.452600 0.315877 -0.002016 +v -0.445706 0.310171 0.004128 +v -0.438929 0.303859 0.010990 +v -0.431539 0.298551 0.017244 +v -0.423732 0.294094 0.022866 +v -0.415913 0.289604 0.028376 +v -0.407459 0.286357 0.033310 +v -0.398801 0.283526 0.037623 +v -0.390603 0.279883 0.042546 +v -0.381937 0.277053 0.046840 +v -0.372829 0.275041 0.050470 +v -0.364203 0.272228 0.054798 +v -0.355108 0.270227 0.058459 +v -0.345979 0.268208 0.062086 +v -0.336912 0.266216 0.065755 +v -0.327814 0.264209 0.069394 +v -0.318715 0.262205 0.073052 +v -0.309656 0.260208 0.076680 +v -0.634181 0.816377 0.285882 +v -0.492258 0.809827 0.394428 +v -0.396902 0.035805 0.253336 +v -0.390345 0.030305 0.259364 +v -0.380538 0.028544 0.263007 +v -0.371426 0.026544 0.266646 +v -0.361108 0.026912 0.268555 +v -0.351593 0.025704 0.271616 +v -0.341720 0.025286 0.274068 +v -0.331366 0.025661 0.275982 +v -0.321027 0.026034 0.277846 +v -0.310718 0.026403 0.279738 +v -0.300800 0.025984 0.282221 +v -0.290876 0.025573 0.284691 +v -0.280181 0.026732 0.285976 +v -0.270253 0.026314 0.288469 +v -0.259945 0.026687 0.290367 +v -0.249182 0.027849 0.291671 +v -0.239257 0.027434 0.294111 +v -0.228929 0.027803 0.296035 +v -0.219021 0.027389 0.298514 +v -0.208733 0.027759 0.300364 +v -0.198795 0.027342 0.302842 +v -0.188475 0.027713 0.304726 +v -0.178577 0.027295 0.307186 +v -0.168229 0.027669 0.309076 +v -0.157895 0.028050 0.310989 +v -0.147179 0.029214 0.312301 +v -0.137261 0.028795 0.314764 +v -0.126963 0.029170 0.316661 +v -0.117430 0.027956 0.319709 +v -0.107135 0.028328 0.321604 +v -0.096815 0.028695 0.323459 +v -0.086899 0.028276 0.325931 +v -0.076564 0.028648 0.327821 +v -0.066646 0.028231 0.330292 +v -0.056305 0.028604 0.332185 +v -0.045985 0.028975 0.334079 +v -0.036095 0.028557 0.336541 +v -0.025747 0.028932 0.338476 +v -0.015842 0.028514 0.340927 +v -0.005519 0.028885 0.342834 +v 0.004368 0.028467 0.345264 +v 0.015522 0.030423 0.345977 +v 0.026267 0.031584 0.347279 +v 0.035756 0.030376 0.350337 +v 0.045711 0.029955 0.352824 +v 0.055623 0.029541 0.355325 +v 0.065944 0.029913 0.357187 +v 0.076226 0.030286 0.359057 +v 0.086145 0.029865 0.361535 +v 0.096060 0.029446 0.364051 +v 0.106389 0.029818 0.365894 +v 0.115888 0.028611 0.368986 +v 0.126224 0.028983 0.370885 +v 0.136147 0.028565 0.373320 +v 0.146465 0.028940 0.375249 +v 0.156364 0.028526 0.377720 +v 0.166715 0.028900 0.379598 +v 0.177019 0.029277 0.381487 +v 0.187752 0.030440 0.382773 +v 0.198506 0.031605 0.384063 +v 0.209656 0.033581 0.384790 +v 0.220845 0.035605 0.385400 +v 0.232137 0.037727 0.385834 +v 0.244305 0.041494 0.384988 +v 0.255759 0.044420 0.384007 +v 0.269794 0.052866 0.378380 +v -0.561720 0.825307 0.384085 +v -0.249123 0.375135 0.290379 +v -0.487350 0.852127 0.432628 +v -0.624681 0.830017 0.187246 +v -0.439210 0.775067 0.289114 +v -0.590051 0.805397 0.197006 +v -0.515381 0.427154 0.188866 +v -0.440382 0.353954 0.179972 +v -0.404930 0.442612 0.304290 +v -0.384950 0.349194 0.230788 +v -0.506711 0.763037 0.267928 +v -0.376550 0.413676 0.299999 +v -0.514369 0.460804 0.230651 +v -0.347318 0.343699 0.243527 +v -0.230011 0.373007 0.296149 +v -0.376864 0.450979 0.321391 +v -0.319687 0.302371 0.179623 +v -0.492287 0.383260 0.161319 +v -0.357719 0.344761 0.240113 +v -0.471730 0.407027 0.232683 +v -0.249314 0.362415 0.283308 +v -0.454849 0.370475 0.197746 +v -0.238901 0.387908 0.299248 +v -0.532642 0.427760 0.149678 +v -0.421521 1.166567 -0.432891 +v -0.251227 0.395957 0.307423 +v -0.512758 0.451209 0.221569 +v -0.268634 0.338984 0.264365 +v -0.593367 0.805087 0.178725 +v -0.546721 0.458028 0.173573 +v -0.293898 0.379288 0.294694 +v -0.441752 0.424492 0.276626 +v -0.310516 0.301780 0.181734 +v -0.425063 0.374831 0.235236 +v -0.407209 0.370179 0.243033 +v -0.546328 0.440821 0.135613 +v -0.473271 0.416601 0.241648 +v -0.481176 0.421012 0.236262 +v -0.368687 0.353988 0.247616 +v -0.483318 0.346430 -0.017147 +v -0.476776 0.340092 -0.010363 +v -0.470402 0.333093 -0.002887 +v -0.463879 0.326210 0.004586 +v -0.457614 0.318685 0.012726 +v -0.450512 0.313529 0.018279 +v -0.443242 0.308545 0.023848 +v -0.435992 0.302775 0.030712 +v -0.428944 0.296783 0.037571 +v -0.421312 0.292481 0.042608 +v -0.413019 0.288475 0.048089 +v -0.404198 0.285948 0.052345 +v -0.395793 0.282610 0.056770 +v -0.387028 0.279902 0.060955 +v -0.377795 0.278290 0.064589 +v -0.369112 0.275458 0.068870 +v -0.359616 0.274291 0.071913 +v -0.350518 0.272290 0.075567 +v -0.341400 0.270277 0.079215 +v -0.332336 0.268285 0.082863 +v -0.323250 0.266284 0.086516 +v -0.313697 0.265099 0.089525 +v -0.304197 0.263919 0.092503 +v -0.485660 0.370889 0.138423 +v -0.398957 0.042563 0.264406 +v -0.393871 0.035243 0.271783 +v -0.385685 0.031016 0.277148 +v -0.376612 0.029013 0.280805 +v -0.367065 0.027788 0.283826 +v -0.357556 0.026580 0.286893 +v -0.347672 0.026165 0.289368 +v -0.337327 0.026540 0.291285 +v -0.327438 0.026125 0.293774 +v -0.317100 0.026500 0.295651 +v -0.307173 0.026082 0.298119 +v -0.297251 0.025672 0.300605 +v -0.286509 0.026834 0.301914 +v -0.276632 0.026419 0.304379 +v -0.266281 0.026797 0.306291 +v -0.255974 0.027172 0.308136 +v -0.245657 0.027546 0.310031 +v -0.235736 0.027131 0.312514 +v -0.225396 0.027508 0.314442 +v -0.215110 0.027882 0.316286 +v -0.204781 0.028258 0.318183 +v -0.194851 0.027847 0.320674 +v -0.184120 0.029016 0.321996 +v -0.174217 0.028608 0.324474 +v -0.163489 0.029768 0.325746 +v -0.152322 0.031746 0.326491 +v -0.141574 0.032908 0.327776 +v -0.131257 0.033285 0.329673 +v -0.121957 0.032873 0.332609 +v -0.111443 0.032440 0.334625 +v -0.101946 0.031234 0.337706 +v -0.092864 0.029230 0.341355 +v -0.082936 0.028809 0.343802 +v -0.072202 0.029974 0.345107 +v -0.062285 0.029560 0.347588 +v -0.051952 0.029933 0.349506 +v -0.042052 0.029518 0.351941 +v -0.031709 0.029896 0.353872 +v -0.021403 0.030268 0.355746 +v -0.011479 0.029852 0.358234 +v -0.001579 0.029437 0.360685 +v 0.008765 0.029813 0.362579 +v 0.019067 0.030186 0.364468 +v 0.028995 0.029771 0.366964 +v 0.039279 0.030146 0.368857 +v 0.049628 0.030520 0.370732 +v 0.059516 0.030105 0.373200 +v 0.069439 0.029688 0.375660 +v 0.079375 0.029271 0.378163 +v 0.089279 0.028859 0.380659 +v 0.099604 0.029230 0.382505 +v 0.109517 0.028819 0.384993 +v 0.120251 0.029988 0.386332 +v 0.130159 0.029579 0.388801 +v 0.140908 0.030752 0.390121 +v 0.151210 0.031117 0.391965 +v 0.161936 0.032288 0.393267 +v 0.173084 0.034251 0.393982 +v 0.183824 0.035430 0.395289 +v 0.195392 0.038176 0.395405 +v 0.206542 0.040177 0.396126 +v 0.218396 0.043928 0.395059 +v 0.230673 0.048786 0.392563 +v -0.528056 0.393638 0.091952 +v -0.520960 0.388131 0.098176 +v -0.513440 0.382997 0.104285 +v -0.405363 0.467015 0.318791 +v -0.480942 0.753967 0.280934 +v -0.382884 0.383522 0.271695 +v -0.373352 0.382348 0.274740 +v -0.423724 0.457985 0.304783 +v -0.430709 0.401347 0.263790 +v -0.433949 1.169297 -0.455964 +v -0.363760 0.381412 0.277521 +v -0.505687 0.378542 0.109801 +v -0.624390 0.840487 0.357559 +v -0.576132 0.784977 0.288402 +v -0.486597 0.794818 0.372082 +v -0.497758 0.374220 0.115338 +v -0.504491 0.785667 0.357465 +v -0.638723 0.809027 0.074273 +v -0.362473 0.371372 0.268997 +v -0.523431 0.413516 0.146278 +v -0.354495 0.336906 0.230354 +v -0.370537 0.362839 0.257092 +v -0.550045 0.440665 0.117407 +v -0.646681 0.819757 0.100139 +v -0.489924 0.369702 0.120852 +v -0.261464 0.358674 0.283846 +v -0.482068 0.365654 0.125866 +v -0.474345 0.360775 0.131899 +v -0.578016 0.459448 0.059959 +v -0.615003 0.801227 0.284366 +v -0.627305 0.805177 0.098147 +v -0.258561 0.339050 0.266376 +v -0.466452 0.356345 0.137359 +v -0.458711 0.352171 0.142464 +v -0.450411 0.427294 0.272413 +v -0.450623 0.348041 0.147848 +v -0.442600 0.344165 0.152816 +v -0.434240 0.340689 0.157634 +v -0.426131 0.336896 0.162577 +v -0.417910 0.333207 0.167495 +v -0.409364 0.330284 0.171801 +v -0.400392 0.328087 0.175574 +v -0.487846 0.350511 -0.003729 +v -0.404512 0.430956 0.296945 +v -0.474989 0.337122 0.010545 +v -0.468174 0.330463 0.018007 +v -0.461333 0.324695 0.024243 +v -0.454061 0.318947 0.031085 +v -0.447188 0.312811 0.037939 +v -0.440535 0.306410 0.044797 +v -0.433166 0.301495 0.050361 +v -0.425478 0.296839 0.055966 +v -0.417266 0.293082 0.060953 +v -0.409396 0.288720 0.066486 +v -0.400409 0.286467 0.070205 +v -0.391492 0.284087 0.074466 +v -0.382408 0.282058 0.078100 +v -0.373189 0.280345 0.081684 +v -0.364129 0.278351 0.085331 +v -0.355015 0.276348 0.088996 +v -0.345494 0.275163 0.091986 +v -0.336403 0.273163 0.095640 +v -0.326884 0.271985 0.098648 +v -0.317791 0.269990 0.102321 +v -0.308266 0.268806 0.105308 +v -0.619494 0.805397 0.297931 +v -0.391431 0.325864 0.179349 +v -0.396048 0.041974 0.282782 +v -0.389809 0.035758 0.289573 +v -0.381329 0.032261 0.294319 +v -0.372634 0.029449 0.298552 +v -0.363121 0.028233 0.301592 +v -0.353623 0.027029 0.304702 +v -0.343690 0.026612 0.307149 +v -0.333354 0.026988 0.309041 +v -0.323446 0.026576 0.311507 +v -0.313130 0.026953 0.313411 +v -0.303214 0.026541 0.315892 +v -0.292920 0.026919 0.317783 +v -0.282578 0.027297 0.319668 +v -0.272681 0.026883 0.322185 +v -0.262343 0.027261 0.324056 +v -0.252448 0.026848 0.326533 +v -0.241677 0.028018 0.327850 +v -0.231768 0.027609 0.330337 +v -0.221462 0.027988 0.332222 +v -0.211141 0.028374 0.334123 +v -0.200409 0.029544 0.335413 +v -0.189694 0.030730 0.336749 +v -0.178962 0.031886 0.338015 +v -0.167805 0.033879 0.338766 +v -0.156056 0.036494 0.339212 +v -0.145170 0.038701 0.339319 +v -0.133441 0.041855 0.338396 +v -0.122392 0.043139 0.339540 +v -0.114025 0.039817 0.345128 +v -0.105632 0.036804 0.349715 +v -0.096789 0.034151 0.353787 +v -0.087702 0.032140 0.357443 +v -0.078615 0.030129 0.361082 +v -0.068271 0.030495 0.362976 +v -0.057945 0.030872 0.364838 +v -0.048027 0.030460 0.367327 +v -0.037686 0.030835 0.369206 +v -0.027814 0.030425 0.371727 +v -0.017479 0.030800 0.373618 +v -0.007567 0.030389 0.376086 +v 0.002745 0.030766 0.377965 +v 0.012655 0.030352 0.380450 +v 0.022976 0.030730 0.382327 +v 0.032513 0.029523 0.385415 +v 0.042843 0.029899 0.387297 +v 0.052751 0.029489 0.389798 +v 0.063045 0.029865 0.391686 +v 0.072953 0.029451 0.394174 +v 0.083292 0.029831 0.396052 +v 0.093640 0.030214 0.397973 +v 0.103543 0.029808 0.400438 +v 0.114289 0.030986 0.401741 +v 0.124986 0.032166 0.403061 +v 0.136293 0.033676 0.404439 +v 0.146876 0.035321 0.405082 +v 0.158444 0.038075 0.405196 +v 0.169986 0.040839 0.405319 +v 0.181527 0.043599 0.405431 +v 0.193808 0.049118 0.402062 +v 0.206625 0.055277 0.398010 +v -0.382639 0.323341 0.183485 +v -0.373475 0.321482 0.187077 +v -0.571720 0.851947 0.396095 +v -0.364471 0.319287 0.190805 +v -0.383931 0.393950 0.280079 +v -0.395966 0.465713 0.322121 +v -0.546673 0.434371 0.105894 +v -0.411693 0.356172 0.219160 +v -0.453094 0.391659 0.232381 +v -0.421049 0.797797 0.348664 +v -0.460904 0.753517 0.284945 +v -0.354991 0.318012 0.193865 +v -0.496684 0.853317 0.429441 +v -0.608097 0.833447 0.367139 +v -0.623367 0.830037 0.348565 +v -0.589771 0.791037 0.298266 +v -0.571004 0.452965 0.067512 +v -0.564279 0.446494 0.074151 +v -0.345490 0.316800 0.196919 +v -0.532161 0.447207 0.185832 +v -0.336007 0.315532 0.200011 +v -0.584335 0.788687 0.283564 +v -0.444604 0.388630 0.236771 +v -0.531876 0.478779 0.229243 +v -0.326849 0.313677 0.203581 +v -0.408238 0.803857 0.346949 +v -0.317325 0.312499 0.206605 +v -0.280877 0.347511 0.271951 +v -0.533640 0.788117 0.348896 +v -0.307404 0.312074 0.209048 +v -0.489537 0.756747 0.276922 +v -0.330182 0.350136 0.259127 +v -0.318171 0.409164 0.316546 +v -0.297466 0.311594 0.211503 +v -0.564255 0.789387 0.233883 +v -0.386314 0.439440 0.311001 +v -0.287881 0.310681 0.214422 +v -0.535435 0.408297 -0.047264 +v -0.529773 0.399302 -0.037660 +v -0.523606 0.391670 -0.029495 +v -0.517065 0.385159 -0.022801 +v -0.510544 0.378290 -0.015288 +v -0.503428 0.371778 -0.007699 +v -0.277982 0.310165 0.216917 +v -0.328515 0.408722 0.314593 +v -0.485164 0.349103 0.015847 +v -0.478942 0.341973 0.023312 +v -0.472089 0.335810 0.030145 +v -0.464329 0.331317 0.035727 +v -0.456750 0.326244 0.041928 +v -0.450788 0.318027 0.050676 +v -0.444820 0.310548 0.058238 +v -0.437278 0.305859 0.063742 +v -0.429407 0.301749 0.068690 +v -0.421532 0.297387 0.074253 +v -0.413082 0.294237 0.078610 +v -0.404484 0.291289 0.082953 +v -0.395664 0.288641 0.087186 +v -0.386361 0.287080 0.090770 +v -0.377362 0.284779 0.094501 +v -0.368277 0.282769 0.098136 +v -0.359155 0.280837 0.101793 +v -0.349582 0.279895 0.104709 +v -0.340450 0.277892 0.108389 +v -0.330951 0.276713 0.111377 +v -0.321393 0.275545 0.114432 +v -0.311902 0.274361 0.117401 +v -0.611297 0.801567 0.302769 +v -0.267986 0.309897 0.219276 +v -0.580218 0.797797 0.223602 +v -0.390922 0.043880 0.299035 +v -0.384740 0.037698 0.305902 +v -0.376934 0.033286 0.311347 +v -0.368268 0.030487 0.315586 +v -0.359168 0.028470 0.319217 +v -0.349226 0.028051 0.321712 +v -0.339736 0.026847 0.324783 +v -0.329394 0.027224 0.326674 +v -0.319494 0.026812 0.329154 +v -0.309554 0.026399 0.331620 +v -0.299249 0.026780 0.333527 +v -0.288940 0.027163 0.335456 +v -0.278597 0.027539 0.337314 +v -0.268699 0.027136 0.339826 +v -0.258366 0.027513 0.341717 +v -0.248469 0.027112 0.344212 +v -0.237724 0.028279 0.345490 +v -0.227019 0.029462 0.346819 +v -0.216277 0.030638 0.348118 +v -0.205122 0.032617 0.348849 +v -0.193590 0.035370 0.348976 +v -0.182418 0.037342 0.349696 +v -0.171256 0.039287 0.350534 +v -0.158633 0.044603 0.348412 +v -0.148226 0.048453 0.345056 +v -0.549348 0.816707 0.375928 +v -0.479723 0.411330 0.227357 +v -0.607591 0.801887 0.321154 +v -0.106139 0.047309 0.357399 +v -0.098642 0.042176 0.363411 +v -0.090715 0.038429 0.368507 +v -0.082591 0.035427 0.373103 +v -0.073420 0.032782 0.376997 +v -0.064333 0.030778 0.380649 +v -0.053987 0.031156 0.382560 +v -0.044077 0.030743 0.385058 +v -0.033765 0.031122 0.386955 +v -0.023458 0.031504 0.388811 +v -0.013929 0.030299 0.391894 +v -0.003206 0.031471 0.393196 +v 0.006733 0.031056 0.395684 +v 0.016636 0.030643 0.398166 +v 0.026545 0.030230 0.400656 +v 0.036428 0.029820 0.403152 +v 0.046790 0.030200 0.405014 +v 0.057107 0.030581 0.406937 +v 0.067010 0.030169 0.409407 +v 0.076921 0.029765 0.411890 +v 0.087663 0.030937 0.413181 +v 0.098817 0.032925 0.413933 +v 0.110121 0.034521 0.415199 +v 0.121533 0.037521 0.414956 +v 0.132540 0.039766 0.415241 +v 0.144309 0.043554 0.414189 +v 0.156556 0.047942 0.412705 +v 0.169804 0.054598 0.408530 +v -0.543076 0.789487 0.345651 +v -0.472106 0.790427 0.361051 +v -0.431949 1.161357 -0.410948 +v -0.520315 0.406539 0.135367 +v -0.413517 0.805977 0.361792 +v -0.561776 0.851827 0.398175 +v -0.557159 0.446716 0.110650 +v -0.550230 0.783557 0.223828 +v -0.446282 0.367507 0.202094 +v -0.553619 0.440567 0.099147 +v -0.560975 0.445908 0.093019 +v -0.437641 0.364690 0.206357 +v -0.505124 0.830507 0.410562 +v -0.238506 0.376125 0.292180 +v -0.534654 0.454628 0.196517 +v -0.534456 0.436700 0.159199 +v -0.374422 0.392777 0.283143 +v -0.308455 0.340434 0.254592 +v -0.504945 0.446686 0.227044 +v -0.465029 0.412962 0.246517 +v -0.344034 0.380320 0.282851 +v -0.443406 1.169627 -0.459058 +v -0.443298 0.360883 0.190838 +v -0.478266 0.402106 0.218137 +v -0.524895 0.405228 0.117855 +v -0.386168 0.452725 0.318151 +v -0.605091 0.808657 0.154961 +v -0.461549 0.395021 0.227704 +v -0.352555 0.370936 0.271526 +v -0.609657 0.806507 0.137455 +v -0.300743 0.348316 0.267005 +v -0.518074 0.398495 0.125168 +v -0.610094 0.818807 0.199680 +v -0.278953 0.338738 0.262344 +v -0.401540 0.386554 0.265167 +v -0.417565 0.351862 0.204133 +v -0.479208 0.783197 0.347408 +v -0.538896 0.778687 0.301819 +v -0.395504 0.441305 0.307558 +v -0.381494 0.373687 0.262967 +v -0.477959 0.366322 0.143966 +v -0.623572 0.810287 0.310856 +v -0.529504 0.393092 -0.014213 +v -0.523202 0.385951 -0.006790 +v -0.516191 0.380129 0.000039 +v -0.508675 0.374752 0.006297 +v -0.502041 0.368358 0.013045 +v -0.495648 0.360976 0.021143 +v -0.488966 0.354105 0.028659 +v -0.482481 0.347660 0.035444 +v -0.475789 0.341306 0.042283 +v -0.468414 0.336220 0.048372 +v -0.461787 0.328760 0.056710 +v -0.456158 0.320673 0.064865 +v -0.449555 0.314342 0.071508 +v -0.441746 0.309835 0.077080 +v -0.433986 0.305360 0.082621 +v -0.425617 0.302088 0.087010 +v -0.417049 0.299098 0.091326 +v -0.408279 0.296446 0.095597 +v -0.399104 0.294632 0.099186 +v -0.390441 0.291792 0.103454 +v -0.381451 0.289535 0.107208 +v -0.372322 0.287614 0.110849 +v -0.362718 0.286607 0.113777 +v -0.353724 0.284459 0.117512 +v -0.344209 0.283047 0.120584 +v -0.334682 0.281807 0.123641 +v -0.325060 0.281102 0.126520 +v -0.315688 0.279309 0.129742 +v -0.439540 0.403662 0.259828 +v -0.603422 0.797047 0.308193 +v -0.511204 0.392832 0.131461 +v -0.491741 0.470879 0.261997 +v -0.383906 0.048805 0.312690 +v -0.378600 0.041229 0.320880 +v -0.371691 0.035896 0.327191 +v -0.363032 0.033093 0.331438 +v -0.353535 0.031890 0.334517 +v -0.344440 0.029884 0.338185 +v -0.334919 0.028667 0.341238 +v -0.325047 0.028258 0.343718 +v -0.315125 0.027842 0.346192 +v -0.305209 0.027424 0.348656 +v -0.294856 0.027809 0.350563 +v -0.284537 0.028201 0.352474 +v -0.273817 0.029377 0.353785 +v -0.263069 0.030545 0.355083 +v -0.252748 0.030954 0.357018 +v -0.241838 0.031390 0.359205 +v -0.455425 0.796167 0.377974 +v -0.622392 0.806687 0.278332 +v -0.208198 0.038837 0.359903 +v -0.332751 0.327293 0.225704 +v -0.538899 0.784807 0.332577 +v -0.283336 0.367845 0.289031 +v -0.423917 0.470234 0.311981 +v -0.552551 0.790747 0.342538 +v -0.338099 0.409794 0.311628 +v -0.505770 0.737967 0.252313 +v -0.240165 0.397372 0.308258 +v -0.379951 0.364197 0.253911 +v -0.421579 0.399425 0.267348 +v -0.470073 0.362307 0.148966 +v -0.083974 0.043625 0.382455 +v -0.076126 0.039810 0.387559 +v -0.068099 0.036061 0.392553 +v -0.058709 0.034232 0.396016 +v -0.049613 0.032219 0.399644 +v -0.040122 0.031023 0.402729 +v -0.030209 0.030609 0.405211 +v -0.019888 0.030990 0.407140 +v -0.009960 0.030582 0.409588 +v 0.000749 0.031751 0.410893 +v 0.010234 0.030554 0.414000 +v 0.020555 0.030932 0.415869 +v 0.030496 0.030521 0.418350 +v 0.040786 0.030910 0.420265 +v 0.051522 0.032094 0.421594 +v 0.061838 0.032473 0.423471 +v 0.072587 0.033652 0.424773 +v 0.083851 0.035380 0.425807 +v 0.095338 0.038334 0.425796 +v -0.092357 1.192647 -0.109731 +v -0.199363 1.161747 -0.121449 +v -0.424790 1.178177 -0.491582 +v -0.215956 1.142067 -0.101210 +v -0.344184 1.354147 -0.682200 +v 0.108698 1.291737 -0.220360 +v -0.420477 1.184627 -0.513754 +v 0.026270 1.254908 -0.180040 +v -0.417463 1.102547 -0.187756 +v -0.388665 1.238587 -0.601480 +v -0.166050 1.190177 -0.146061 +v -0.372946 1.173407 -0.359417 +v -0.111906 1.190698 -0.135143 +v 0.018201 1.255727 -0.185888 +v -0.364560 1.158357 -0.253491 +v -0.011429 1.284497 -0.226412 +v -0.363090 1.187357 -0.355413 +v 0.167899 1.439677 -0.381545 +v -0.363699 1.130947 -0.190667 +v -0.385266 1.236887 -0.557268 +v -0.263690 1.064297 -0.097128 +v -0.043386 1.223407 -0.156821 +v -0.368569 1.118428 -0.184883 +v -0.383222 1.170107 -0.379646 +v -0.249787 1.081167 -0.079530 +v 0.018601 1.266057 -0.202063 +v -0.355636 1.075217 -0.157448 +v -0.012021 1.231977 -0.147470 +v 0.098426 1.283687 -0.207216 +v -0.233871 1.134477 -0.094627 +v -0.379868 1.116037 -0.203481 +v 0.171116 1.397347 -0.360217 +v -0.365822 1.137767 -0.220609 +v -0.182332 1.209247 -0.154645 +v -0.411233 1.159537 -0.393362 +v -0.029916 1.224518 -0.140931 +v 0.027115 1.275578 -0.212403 +v 0.087820 1.276587 -0.193407 +v -0.243237 1.136457 -0.098544 +v -0.384798 1.186557 -0.426700 +v -0.360595 1.301927 -0.665787 +v -0.396352 1.085227 -0.168530 +v -0.373779 1.143417 -0.259384 +v -0.436100 1.122617 -0.244244 +v 0.148930 1.335147 -0.286749 +v -0.347102 1.351447 -0.694004 +v -0.399031 1.125057 -0.244151 +v -0.373973 1.189417 -0.407371 +v -0.209391 1.128037 -0.045939 +v -0.378264 1.125617 -0.221657 +v -0.376045 1.216617 -0.469697 +v 0.119124 1.310537 -0.248892 +v 0.126056 1.300157 -0.225671 +v -0.372659 1.278687 -0.652039 +v -0.397006 1.203927 -0.526823 +v -0.387275 1.116318 -0.210285 +v -0.189682 1.198658 -0.146005 +v -0.051491 1.224277 -0.162673 +v -0.382659 1.245397 -0.576499 +v -0.371115 1.228787 -0.475373 +v -0.413435 1.210447 -0.571027 +v 0.099954 1.304067 -0.240606 +v -0.189366 1.158897 -0.118744 +v -0.119978 1.191368 -0.141156 +v -0.394638 1.132147 -0.266283 +v -0.428526 1.185427 -0.519574 +v -0.148130 1.197377 -0.153029 +v -0.004142 1.295167 -0.234626 +v -0.070642 1.207577 -0.138410 +v -0.440662 1.130237 -0.271486 +v -0.076828 1.217088 -0.162840 +v -0.423021 1.172217 -0.460809 +v -0.114926 1.225467 -0.177825 +v -0.403991 1.208227 -0.566438 +v -0.391250 1.215517 -0.533423 +v -0.159173 1.158187 -0.091914 +v 0.158503 1.353997 -0.314437 +v -0.369561 1.191747 -0.395879 +v -0.398765 1.190697 -0.474978 +v -0.100287 1.246697 -0.194910 +v -0.225981 1.144567 -0.104240 +v 0.128828 1.330007 -0.276356 +v 0.086031 1.331937 -0.268627 +v -0.131154 1.173827 -0.110990 +v 0.027330 1.264657 -0.197178 +v -0.147840 1.165147 -0.106320 +v -0.137507 1.194468 -0.150840 +v -0.412556 1.179697 -0.474186 +v 0.041654 1.254177 -0.165832 +v 0.045001 1.282917 -0.218927 +v -0.384578 1.125107 -0.230287 +v -0.398410 1.209387 -0.557645 +v -0.406568 1.180767 -0.465443 +v -0.034231 1.232397 -0.168068 +v -0.241597 1.096337 -0.072116 +v -0.068764 1.216247 -0.156942 +v -0.350612 1.326777 -0.676169 +v 0.145160 1.370827 -0.326961 +v -0.163424 1.176907 -0.134611 +v 0.061412 1.269947 -0.192305 +v -0.111407 1.200948 -0.151652 +v -0.054007 1.216177 -0.143069 +v -0.191778 1.139807 -0.083461 +v -0.387843 1.233127 -0.570730 +v -0.112237 1.212507 -0.166029 +v -0.189218 1.148147 -0.103047 +v 0.137252 1.349897 -0.302386 +v -0.159480 1.200827 -0.154403 +v 0.118668 1.299977 -0.232864 +v -0.179378 1.156727 -0.115425 +v 0.036033 1.263247 -0.192260 +v -0.242877 1.080807 -0.072265 +v -0.233043 1.111797 -0.065194 +v 0.138607 1.338297 -0.288713 +v -0.271276 1.080937 -0.101647 +v -0.104955 1.222707 -0.175062 +v -0.356798 1.310387 -0.637784 +v -0.393459 1.192297 -0.465215 +v -0.382624 1.249917 -0.608965 +v -0.385659 1.082357 -0.166528 +v -0.341559 1.379837 -0.698169 +v -0.215664 1.180947 -0.129787 +v -0.354552 1.345797 -0.694565 +v -0.418741 1.193737 -0.531921 +v -0.387205 1.203517 -0.472771 +v -0.360383 1.354287 -0.697310 +v -0.126212 1.229057 -0.179044 +v 0.124870 1.354787 -0.301622 +v -0.231717 1.100107 -0.050893 +v 0.099238 1.315827 -0.254803 +v -0.154646 1.164847 -0.114074 +v 0.121878 1.368807 -0.311804 +v 0.179951 1.397887 -0.352444 +v -0.077884 1.207197 -0.145519 +v -0.137967 1.173537 -0.118788 +v -0.130170 1.204817 -0.159684 +v -0.367559 1.301927 -0.672679 +v -0.356025 1.325487 -0.685268 +v 0.151548 1.392917 -0.349472 +v 0.128911 1.318947 -0.261185 +v -0.427500 1.195437 -0.536600 +v -0.372341 1.208677 -0.441689 +v -0.025144 1.251917 -0.195055 +v -0.349056 1.126437 -0.141777 +v -0.426462 1.212597 -0.572209 +v 0.088631 1.318747 -0.257049 +v -0.411284 1.138927 -0.310741 +v -0.381766 1.148887 -0.298936 +v -0.427572 1.094208 -0.174053 +v -0.379394 1.188047 -0.417028 +v -0.366056 1.078247 -0.160137 +v -0.186272 1.141177 -0.073815 +v 0.050939 1.305387 -0.241251 +v -0.415944 1.202077 -0.551934 +v -0.390928 1.124257 -0.238286 +v -0.007775 1.249057 -0.185213 +v 0.097267 1.328457 -0.267217 +v 0.138748 1.327348 -0.273425 +v -0.042459 1.243867 -0.189520 +v -0.120173 1.202497 -0.156445 +v -0.226660 1.123177 -0.072365 +v -0.206606 1.140108 -0.097243 +v -0.071130 1.250688 -0.200137 +v -0.184668 1.183077 -0.138623 +v -0.210628 1.165358 -0.122620 +v 0.115025 1.346557 -0.289260 +v 0.058941 1.315697 -0.250517 +v -0.413684 1.145677 -0.340630 +v -0.417072 1.090827 -0.172700 +v -0.171964 1.156707 -0.108433 +v -0.370963 1.167127 -0.328681 +v -0.387971 1.269927 -0.648623 +v -0.364629 1.093647 -0.159344 +v -0.450074 1.142537 -0.303076 +v -0.284369 1.062577 -0.120444 +v 0.135474 1.362717 -0.314541 +v -0.008779 1.271467 -0.214866 +v -0.390251 1.139217 -0.288425 +v 0.081572 1.286328 -0.217684 +v -0.382180 1.096257 -0.168905 +v 0.116372 1.291657 -0.212132 +v -0.387824 1.132437 -0.258504 +v 0.017783 1.277487 -0.216418 +v 0.154538 1.379277 -0.338977 +v -0.109723 1.184227 -0.107468 +v -0.370788 1.315977 -0.682125 +v 0.156983 1.366257 -0.327515 +v -0.140843 1.207907 -0.161788 +v -0.397026 1.138937 -0.296152 +v 0.078169 1.322307 -0.258630 +v -0.358907 1.215707 -0.408186 +v -0.361671 1.181937 -0.322862 +v 0.161572 1.401137 -0.361456 +v -0.097016 1.232908 -0.184429 +v -0.422892 1.213067 -0.574518 +v -0.094950 1.220298 -0.171884 +v -0.079091 1.240387 -0.190914 +v 0.166787 1.363067 -0.325607 +v -0.045931 1.268557 -0.215320 +v -0.418192 1.159747 -0.400947 +v -0.356179 1.353257 -0.697626 +v -0.026264 1.231927 -0.162050 +v -0.270323 1.096987 -0.100851 +v -0.355450 1.108297 -0.152862 +v -0.376429 1.150377 -0.289221 +v -0.026000 1.263387 -0.209409 +v -0.384041 1.155457 -0.328802 +v 0.119021 1.321657 -0.264066 +v -0.436181 1.172647 -0.475964 +v 0.009906 1.267527 -0.206976 +v -0.395599 1.183557 -0.446123 +v -0.373319 1.268847 -0.635716 +v 0.159686 1.332227 -0.281930 +v -0.452558 1.134327 -0.271638 +v -0.424371 1.133227 -0.293502 +v -0.257025 1.080878 -0.087034 +v 0.008927 1.247357 -0.174159 +v 0.172782 1.423717 -0.375008 +v 0.033043 1.297867 -0.234754 +v -0.102870 1.210427 -0.162146 +v -0.444084 1.174667 -0.480511 +v -0.192012 1.172467 -0.129965 +v -0.434591 1.151727 -0.356061 +v 0.045154 1.272127 -0.203610 +v 0.164849 1.387327 -0.351264 +v -0.373650 1.245817 -0.520668 +v 0.091409 1.294747 -0.230009 +v -0.344059 1.365477 -0.696342 +v 0.028712 1.248857 -0.149944 +v -0.418608 1.178627 -0.482970 +v -0.374946 1.226067 -0.487011 +v -0.142438 1.166827 -0.096627 +v -0.377868 1.171637 -0.369959 +v -0.377851 1.243257 -0.532255 +v -0.171395 1.166737 -0.125129 +v 0.025697 1.287477 -0.225839 +v -0.451717 1.177957 -0.483703 +v 0.072846 1.287807 -0.222547 +v -0.400964 1.201167 -0.538411 +v -0.094131 1.209078 -0.157222 +v -0.376147 1.134637 -0.240847 +v -0.381734 1.133307 -0.249811 +v 0.090660 1.306237 -0.244407 +v -0.162692 1.165397 -0.120108 +v 0.051499 1.262457 -0.179460 +v -0.386571 1.227827 -0.539053 +v -0.389792 1.107527 -0.190974 +v -0.059615 1.225297 -0.168304 +v -0.164624 1.156747 -0.101540 +v -0.001412 1.238827 -0.161353 +v 0.066946 1.325867 -0.259869 +v -0.365278 1.193907 -0.385212 +v 0.018628 1.315477 -0.246273 +v -0.347109 1.340217 -0.679746 +v 0.063028 1.279397 -0.210153 +v -0.085585 1.218527 -0.167732 +v 0.167809 1.411857 -0.368657 +v -0.396776 1.218457 -0.575837 +v -0.387205 1.147417 -0.308596 +v -0.397698 1.174717 -0.427014 +v -0.018807 1.231678 -0.155249 +v 0.069416 1.269027 -0.186520 +v -0.360967 1.313037 -0.680062 +v -0.376116 1.080547 -0.163017 +v -0.077022 1.228057 -0.178170 +v -0.033944 1.253448 -0.199865 +v -0.391379 1.160207 -0.369279 +v -0.361260 1.176887 -0.290142 +v -0.379759 1.253367 -0.596543 +v -0.365791 1.284907 -0.628050 +v 0.174383 1.432087 -0.376251 +v -0.089053 1.243098 -0.193737 +v -0.364479 1.120808 -0.173179 +v -0.355127 1.313957 -0.671619 +v -0.384980 1.212007 -0.491930 +v -0.000893 1.235567 -0.137194 +v -0.375286 1.164757 -0.340218 +v -0.415621 1.131877 -0.288599 +v 0.100133 1.293197 -0.225163 +v -0.343125 1.127177 -0.132917 +v -0.380696 1.178487 -0.398922 +v 0.072103 1.299407 -0.236872 +v 0.109946 1.301567 -0.237512 +v -0.393684 1.212617 -0.547016 +v 0.108498 1.324887 -0.266036 +v 0.070146 1.312138 -0.249240 +v -0.270720 1.063938 -0.104672 +v -0.368578 1.175707 -0.348744 +v -0.351069 1.338077 -0.690243 +v -0.406827 1.165727 -0.415586 +v -0.114525 1.182597 -0.115682 +v -0.213857 1.124587 -0.055268 +v -0.361143 1.297357 -0.633771 +v -0.007352 1.259537 -0.201388 +v -0.430637 1.127777 -0.268497 +v -0.402781 1.117398 -0.222941 +v -0.435093 1.145377 -0.328468 +v -0.385580 1.241997 -0.588965 +v -0.175871 1.149437 -0.087208 +v -0.436068 1.107327 -0.194403 +v 0.149523 1.345508 -0.302852 +v -0.416212 1.172327 -0.453104 +v -0.392661 1.145977 -0.318298 +v -0.371725 1.152377 -0.278564 +v 0.035028 1.285167 -0.222194 +v -0.264345 1.081197 -0.094035 +v 0.015734 1.289837 -0.229043 +v 0.005797 1.292417 -0.231970 +v -0.379168 1.141917 -0.269083 +v -0.246523 1.150307 -0.108858 +v -0.408821 1.186917 -0.495361 +v -0.374326 1.265257 -0.602328 +v -0.224620 1.132777 -0.090414 +v 0.080093 1.309347 -0.246522 +v -0.008918 1.235387 -0.128025 +v -0.016380 1.239817 -0.174709 +v -0.145296 1.173417 -0.125816 +v 0.117695 1.333617 -0.277499 +v -0.410640 1.192787 -0.526144 +v -0.011780 1.234037 -0.129136 +v -0.445845 1.127198 -0.245587 +v -0.043895 1.255817 -0.203015 +v -0.386928 1.247497 -0.619671 +v -0.016658 1.261387 -0.205444 +v -0.233643 1.123497 -0.079446 +v 0.090278 1.284817 -0.212844 +v -0.371467 1.268897 -0.588930 +v -0.369597 1.161267 -0.297801 +v -0.021803 1.230537 -0.118054 +v -0.382272 1.205427 -0.462154 +v -0.405264 1.194447 -0.516410 +v -0.407843 1.200967 -0.546113 +v -0.360446 1.123028 -0.161272 +v 0.001399 1.258027 -0.196574 +v -0.358243 1.305717 -0.652782 +v -0.426101 1.139467 -0.324330 +v 0.158986 1.342987 -0.299177 +v -0.402743 1.228207 -0.600433 +v 0.161314 1.427068 -0.376229 +v -0.102707 1.199738 -0.146612 +v -0.051193 1.245447 -0.194287 +v -0.368375 1.201157 -0.413959 +v -0.377451 1.207417 -0.451519 +v -0.388560 1.168557 -0.389381 +v -0.390219 1.210307 -0.502534 +v -0.423314 1.111887 -0.212485 +v -0.406458 1.087737 -0.170970 +v -0.429107 1.171787 -0.469430 +v -0.447590 1.183267 -0.506960 +v -0.361127 1.161037 -0.241824 +v -0.389567 1.154087 -0.338492 +v 0.155300 1.416907 -0.368112 +v -0.355134 1.124977 -0.151083 +v -0.431503 1.178387 -0.499138 +v -0.389707 1.184657 -0.437292 +v -0.202304 1.131907 -0.070055 +v -0.155466 1.186847 -0.144323 +v 0.053576 1.292367 -0.229463 +v 0.165254 1.375108 -0.338725 +v -0.375933 1.107747 -0.175967 +v -0.170006 1.151157 -0.076102 +v -0.401383 1.197307 -0.504769 +v -0.412188 1.231077 -0.603059 +v 0.071767 1.277888 -0.205282 +v 0.054307 1.281028 -0.214904 +v 0.126799 1.342147 -0.289207 +v -0.406433 1.125337 -0.250955 +v 0.015709 1.247647 -0.166388 +v 0.131712 1.377027 -0.324140 +v -0.128747 1.192918 -0.146069 +v -0.380097 1.162757 -0.350863 +v 0.029166 1.312138 -0.244576 +v -0.247958 1.095547 -0.080665 +v 0.012521 1.303677 -0.239577 +v -0.443300 1.116777 -0.218461 +v -0.235236 1.146837 -0.107802 +v -0.177969 1.194177 -0.146372 +v -0.278377 1.081367 -0.108854 +v -0.173401 1.179467 -0.137561 +v -0.416075 1.153747 -0.370142 +v -0.154052 1.174898 -0.130701 +v -0.256187 1.064048 -0.090325 +v -0.444474 1.148047 -0.329775 +v -0.076446 1.202167 -0.114335 +v -0.366597 1.184587 -0.367028 +v -0.217326 1.154187 -0.114725 +v 0.176753 1.412138 -0.366641 +v -0.399258 1.098948 -0.178830 +v -0.457590 1.127737 -0.248497 +v -0.388320 1.193907 -0.455505 +v -0.025633 1.241557 -0.178719 +v -0.394631 1.237487 -0.610280 +v -0.379793 1.257877 -0.628174 +v -0.390595 1.229707 -0.583292 +v -0.025727 1.225747 -0.125529 +v -0.383326 1.108177 -0.182822 +v -0.035998 1.265937 -0.212415 +v -0.384739 1.140577 -0.278724 +v -0.371730 1.219007 -0.458182 +v -0.227296 1.113137 -0.055626 +v -0.368073 1.280827 -0.642127 +v -0.371937 1.126238 -0.213032 +v -0.216485 1.131627 -0.084756 +v -0.121374 1.182407 -0.123387 +v -0.021036 1.227597 -0.125053 +v 0.036462 1.273607 -0.208461 +v -0.378086 1.156457 -0.320052 +v -0.424110 1.154817 -0.376038 +v -0.379703 1.224037 -0.497679 +v -0.373756 1.290697 -0.665645 +v -0.013735 1.232897 -0.123879 +v -0.203867 1.176697 -0.129957 +v -0.381675 1.240147 -0.544735 +v -0.087008 1.230357 -0.181430 +v -0.419541 1.119577 -0.233706 +v -0.420427 1.147077 -0.347993 +v -0.429706 1.150307 -0.351667 +v -0.408203 1.131607 -0.281809 +v -0.444729 1.191897 -0.526479 +v -0.065088 1.208987 -0.128746 +v -0.122247 1.214887 -0.169223 +v -0.394315 1.207797 -0.514093 +v -0.418045 1.138657 -0.318480 +v -0.362975 1.213187 -0.419761 +v -0.238853 1.110877 -0.073972 +v 0.008484 1.279417 -0.220384 +v -0.036250 1.223567 -0.114213 +v -0.008662 1.239187 -0.168132 +v -0.361443 1.196767 -0.372787 +v -0.388222 1.218947 -0.520844 +v -0.403694 1.173647 -0.435803 +v -0.410687 1.074257 -0.168209 +v -0.236249 1.097717 -0.062374 +v 0.010060 1.256647 -0.191615 +v -0.359878 1.170817 -0.259237 +v 0.170445 1.454047 -0.384082 +v -0.394726 1.116588 -0.217107 +v -0.379085 1.233847 -0.514875 +v -0.383066 1.195577 -0.445694 +v -0.362485 1.108627 -0.160042 +v -0.366150 1.289887 -0.659531 +v -0.208471 1.131067 -0.078770 +v 0.000316 1.248097 -0.179445 +v -0.457634 1.117857 -0.193638 +v -0.404568 1.159637 -0.385606 +v -0.370277 1.238667 -0.491799 +v -0.036099 1.223647 -0.149615 +v -0.068274 1.226517 -0.173358 +v -0.106944 1.235777 -0.187003 +v -0.359757 1.190707 -0.342049 +v 0.053273 1.271018 -0.197882 +v -0.367483 1.170207 -0.316151 +v 0.138027 1.317047 -0.256341 +v -0.432693 1.113787 -0.216420 +v -0.196400 1.187477 -0.138288 +v -0.368903 1.276867 -0.609011 +v -0.454170 1.145207 -0.336185 +v -0.421926 1.126427 -0.263613 +v -0.345756 1.395037 -0.706813 +v 0.005275 1.239987 -0.153057 +v -0.399458 1.145687 -0.326036 +v -0.364730 1.178447 -0.336319 +v -0.403817 1.138667 -0.303928 +v -0.365167 1.148008 -0.237063 +v -0.369308 1.145577 -0.248636 +v 0.063827 1.264217 -0.162063 +v -0.379674 1.248757 -0.563976 +v 0.043638 1.294907 -0.232499 +v -0.347426 1.380287 -0.704857 +v -0.370361 1.135717 -0.231270 +v 0.105839 1.337757 -0.277825 +v -0.016471 1.250477 -0.190127 +v -0.355888 1.092337 -0.154459 +v -0.408460 1.100857 -0.182996 +v 0.079750 1.277397 -0.199252 +v -0.362954 1.167637 -0.271840 +v -0.169941 1.204427 -0.155700 +v 0.023140 1.247407 -0.159597 +v 0.112722 1.360107 -0.300312 +v -0.094793 1.199327 -0.140527 +v -0.373436 1.094957 -0.164040 +v -0.245604 1.110577 -0.081752 +v 0.061508 1.302377 -0.239094 +v -0.181369 1.143118 -0.063162 +v -0.414645 1.110517 -0.207578 +v -0.366257 1.164317 -0.285239 +v -0.369143 1.107917 -0.168254 +v -0.366794 1.127767 -0.203309 +v -0.396845 1.199497 -0.494115 +v -0.367512 1.211087 -0.430433 +v -0.420695 1.166177 -0.430845 +v -0.001485 1.281907 -0.223500 +v -0.382847 1.230967 -0.526569 +v 0.175167 1.373297 -0.333692 +v -0.252960 1.110827 -0.088633 +v -0.047837 1.217037 -0.134360 +v -0.219991 1.123987 -0.064259 +v -0.028705 1.276428 -0.221024 +v -0.152190 1.211427 -0.163094 +v -0.387112 1.258237 -0.634816 +v -0.239735 1.161537 -0.116534 +v -0.384425 1.221867 -0.509191 +v -0.439503 1.180247 -0.503726 +v -0.086002 1.208147 -0.151444 +v -0.198037 1.149657 -0.107837 +v 0.043503 1.262787 -0.185647 +v 0.062897 1.290188 -0.225693 +v -0.373157 1.199237 -0.424551 +v -0.376096 1.180657 -0.388218 +v 0.174647 1.384787 -0.347955 +v -0.353808 1.318537 -0.657449 +v -0.104614 1.190877 -0.128134 +v -0.136610 1.182757 -0.136419 +v 0.081465 1.297107 -0.233197 +v -0.413850 1.125607 -0.257733 +v -0.446508 1.125448 -0.241317 +v -0.368039 1.155297 -0.266048 +v -0.363081 1.293347 -0.647028 +v -0.413706 1.165917 -0.423244 +v -0.262591 1.096097 -0.094516 +v -0.128635 1.182157 -0.130452 +v -0.198553 1.139548 -0.091259 +v -0.344233 1.144868 -0.129031 +v 0.109152 1.313067 -0.251955 +v -0.059731 1.235967 -0.183860 +v -0.061439 1.216438 -0.149900 +v -0.389916 1.224627 -0.551599 +v -0.403663 1.188807 -0.485566 +v -0.401015 1.182067 -0.455791 +v -0.398071 1.159657 -0.377125 +v -0.081918 1.200727 -0.123954 +v -0.207337 1.151637 -0.111824 +v 0.058302 1.262767 -0.171685 +v -0.373794 1.116927 -0.194720 +v -0.361338 1.150637 -0.225409 +v -0.402945 1.217557 -0.584515 +v -0.255103 1.095797 -0.087739 +v -0.069102 1.237927 -0.187851 +v -0.397849 1.108357 -0.196841 +v 0.023075 1.300587 -0.237519 +v -0.379199 1.267807 -0.644477 +v -0.414300 1.185487 -0.505042 +v -0.370996 1.272897 -0.622320 +v -0.402057 1.152797 -0.355789 +v -0.386149 1.177057 -0.408586 +v -0.385366 1.161207 -0.360513 +v -0.146048 1.184728 -0.140454 +v -0.033749 1.242537 -0.184534 +v -0.082405 1.253977 -0.201675 +v -0.392523 1.220847 -0.565053 +v -0.391043 1.097708 -0.173487 +v -0.391874 1.201427 -0.483463 +v -0.291207 1.062277 -0.128137 +v -0.088017 1.199738 -0.132754 +v -0.376794 1.261407 -0.615648 +v -0.380740 1.214517 -0.480366 +v -0.377214 1.257327 -0.582241 +v -0.391824 1.175897 -0.418168 +v -0.371379 1.182637 -0.377632 +v 0.169348 1.351487 -0.309930 +v -0.446582 1.112977 -0.193747 +v -0.018716 1.273817 -0.218082 +v -0.377962 1.197337 -0.435144 +v -0.374421 1.236197 -0.503330 +v -0.261362 1.112147 -0.094030 +v -0.394501 1.167407 -0.398161 +v -0.051037 1.234637 -0.178859 +v -0.424246 1.203717 -0.556590 +v -0.409475 1.153157 -0.362597 +v -0.059322 1.209928 -0.118970 +v -0.340237 1.394647 -0.698637 +v -0.452784 1.178577 -0.485408 +v -0.373361 1.158487 -0.309419 +v -0.400222 1.166387 -0.407721 +v -0.061181 1.247797 -0.197465 +v -0.395108 1.152687 -0.348156 +v -0.400788 1.131337 -0.275015 +v 0.040390 1.308707 -0.243103 +v -0.181851 1.148267 -0.095943 +v -0.181418 1.169277 -0.128111 +v -0.125782 1.175478 -0.101353 +v -0.007095 1.233968 -0.136869 +v -0.455222 1.120837 -0.218562 +v -0.241532 1.124097 -0.085442 +v -0.359964 1.206037 -0.390939 +v -0.436237 1.197807 -0.540220 +v -0.394438 1.226837 -0.594978 +v 0.147658 1.357788 -0.315414 +v -0.376348 1.252287 -0.550521 +v 0.033577 1.255057 -0.172942 +v -0.362428 1.140738 -0.208088 +v -0.380838 1.280147 -0.657210 +v -0.364070 1.203567 -0.402452 +v -0.410819 1.118227 -0.228805 +v -0.409859 1.172727 -0.444506 +v 0.046031 1.256147 -0.154181 +v -0.436945 1.187737 -0.524056 +v -0.042663 1.219167 -0.124932 +v -0.132843 1.218087 -0.171140 +vn -0.876522 0.469649 -0.105319 +vn -0.908292 0.414502 -0.056337 +vn -0.910398 0.379681 -0.164342 +vn -0.752342 -0.619861 0.222907 +vn -0.591784 -0.785394 0.181402 +vn -0.737144 -0.667989 0.101810 +vn -0.913999 0.401990 0.054506 +vn -0.925352 0.373516 0.064394 +vn -0.917997 0.394208 -0.043123 +vn -0.921140 0.388531 -0.022919 +vn -0.775567 0.532060 -0.339610 +vn -0.808588 0.504746 -0.302286 +vn -0.911191 0.029023 -0.410901 +vn -0.887722 0.031037 -0.459273 +vn -0.804010 -0.069308 -0.590533 +vn -0.832911 -0.259377 -0.488815 +vn -0.090793 0.209937 -0.973479 +vn 0.108982 0.269204 -0.956877 +vn -0.142979 0.353343 -0.924467 +vn -0.119633 0.142094 -0.982574 +vn -0.088076 0.150151 -0.984710 +vn -0.121799 0.189001 -0.974364 +vn -0.955351 -0.268441 -0.123203 +vn -0.984405 -0.159764 -0.073397 +vn -0.973968 0.223701 -0.036103 +vn -0.896878 0.405255 -0.177099 +vn -0.923795 0.360271 -0.129521 +vn -0.892544 0.396771 -0.214240 +vn -0.745872 0.183721 -0.640217 +vn -0.791742 0.111087 -0.600635 +vn -0.733299 -0.028871 -0.679281 +vn -0.703848 0.070498 -0.706809 +vn -0.237922 0.952818 -0.188452 +vn -0.256142 0.951567 -0.169958 +vn -0.257729 0.945982 -0.196631 +vn -0.246467 0.951659 -0.183203 +vn -0.251686 0.936552 -0.243904 +vn -0.230628 0.965056 -0.124241 +vn -0.259713 0.957640 -0.124119 +vn -0.236061 0.970092 -0.056276 +vn -0.247291 0.966918 -0.062471 +vn -0.235725 0.968596 -0.078738 +vn -0.251350 0.965361 -0.069674 +vn -0.258644 0.965789 -0.017487 +vn -0.247963 0.968719 -0.008728 +vn -0.223518 0.972472 -0.065615 +vn -0.211921 0.974334 -0.075625 +vn -0.224250 0.970641 -0.086795 +vn -0.244087 0.968261 -0.053682 +vn -0.241249 0.966613 -0.086245 +vn -0.272958 0.958953 -0.076388 +vn -0.207617 0.974425 -0.085665 +vn -0.242958 0.968505 -0.054323 +vn -0.259316 0.963652 -0.064058 +vn -0.243141 0.968200 -0.058626 +vn -0.262978 0.963439 -0.050874 +vn -0.231269 0.970428 -0.068636 +vn -0.238472 0.969909 -0.048585 +vn -0.253273 0.967376 0.003723 +vn -0.243019 0.969970 -0.007752 +vn -0.277932 0.957091 0.081729 +vn -0.294504 0.954222 0.052004 +vn -0.226173 0.947935 -0.224158 +vn -0.190588 0.957854 -0.214820 +vn -0.191412 0.959349 -0.207221 +vn -0.229499 0.955443 -0.185430 +vn -0.227393 0.964354 -0.135166 +vn -0.198981 0.965819 -0.165929 +vn 0.469832 0.857051 0.211310 +vn 0.429701 0.868557 0.246834 +vn 0.527268 0.817560 0.231330 +vn -0.308481 0.942198 0.130680 +vn -0.311380 0.934996 0.169713 +vn -0.321543 0.933470 0.158757 +vn 0.571093 0.794519 0.206305 +vn 0.500809 0.840419 0.206946 +vn 0.825098 0.528275 0.200232 +vn 0.851588 0.508591 0.126835 +vn 0.856899 0.485824 0.172124 +vn 0.505081 0.822535 0.261299 +vn -0.221747 0.969695 -0.102329 +vn -0.204932 0.978240 -0.032075 +vn -0.252266 0.966735 0.041658 +vn -0.149449 0.987548 0.048830 +vn -0.210456 0.971374 -0.109928 +vn -0.302042 0.943754 0.134251 +vn -0.334819 0.936613 0.103183 +vn -0.893613 -0.373638 -0.248634 +vn -0.957701 -0.187445 -0.218207 +vn -0.927335 -0.197302 -0.317911 +vn -0.314920 0.933195 0.173040 +vn -0.343394 0.924131 0.167394 +vn -0.308420 0.925504 0.219672 +vn -0.334544 0.916501 0.219214 +vn -0.307413 0.906491 0.289315 +vn -0.355937 0.894894 0.269143 +vn -0.259743 0.904202 0.338969 +vn -0.343822 0.870632 0.351817 +vn -0.261025 0.892514 0.367779 +vn -0.243049 0.897580 0.367718 +vn -0.271737 0.896268 0.350444 +vn -0.266396 0.903378 0.335978 +vn -0.913785 0.227851 0.336253 +vn -0.888516 0.296701 0.349956 +vn -0.906522 0.291971 0.304849 +vn -0.490371 -0.067598 -0.868862 +vn -0.465896 -0.140629 -0.873562 +vn -0.326914 0.049348 -0.943754 +vn -0.162114 0.979430 -0.119907 +vn -0.179510 0.980071 -0.084719 +vn -0.116459 0.987335 -0.107486 +vn 0.393750 0.879604 0.266793 +vn 0.478378 0.846034 0.235237 +vn 0.221473 0.001495 0.975158 +vn 0.159429 0.025056 0.986877 +vn 0.099246 0.010651 0.994995 +vn 0.062807 0.998016 -0.002045 +vn 0.115360 0.991974 -0.051302 +vn 0.189398 0.981872 0.001343 +vn -0.120853 0.971435 -0.204077 +vn -0.103214 0.975158 -0.195898 +vn -0.095096 0.963866 -0.248756 +vn -0.858394 -0.496048 0.130497 +vn -0.835810 -0.547838 0.035585 +vn -0.844172 -0.534898 -0.034852 +vn -0.920896 -0.382031 -0.077181 +vn -0.955382 -0.295267 -0.006439 +vn -0.879788 -0.464888 0.098941 +vn 0.433546 0.395947 -0.809442 +vn 0.410413 0.387066 -0.825648 +vn 0.439650 0.379345 -0.814081 +vn -0.570116 0.432112 0.698691 +vn -0.430494 0.414350 0.801843 +vn -0.543413 0.601886 0.585131 +vn -0.990204 -0.107456 -0.088839 +vn -0.994751 -0.074160 -0.070315 +vn -0.986816 -0.125767 -0.101688 +vn -0.224616 0.970031 0.092380 +vn -0.241920 0.968322 0.061373 +vn -0.204993 0.975280 0.082247 +vn 0.851192 0.504166 0.145817 +vn 0.853023 0.503433 0.137364 +vn 0.910001 0.378826 0.168310 +vn 0.902707 0.428358 -0.039644 +vn 0.906888 0.412305 -0.086795 +vn 0.824335 0.563128 -0.057833 +vn 0.356334 0.809015 0.467422 +vn 0.428114 0.769524 0.473830 +vn 0.438673 0.739494 0.510575 +vn -0.876583 -0.363781 -0.314920 +vn -0.165380 0.978149 -0.125767 +vn -0.122196 0.985504 -0.117466 +vn -0.306406 0.879421 0.364238 +vn -0.287301 0.898618 0.331553 +vn -0.711020 -0.703116 0.006165 +vn -0.818201 -0.572802 -0.049257 +vn -0.827479 -0.554399 -0.088656 +vn -0.198035 0.903439 0.380139 +vn -0.345164 0.857784 0.380840 +vn 0.001617 0.925474 0.378735 +vn -0.221168 0.899289 0.377270 +vn 0.024995 0.887936 0.459243 +vn -0.120212 0.901517 0.415662 +vn -0.791925 -0.604511 0.086062 +vn -0.794153 -0.607501 0.015015 +vn -0.735588 -0.677389 -0.001923 +vn -0.226356 0.750084 0.621357 +vn -0.299570 0.797052 0.524308 +vn -0.169042 0.720847 0.672109 +vn -0.842952 0.517228 -0.147893 +vn -0.824671 0.532212 -0.191351 +vn -0.861904 0.473861 -0.180273 +vn -0.206793 0.951994 -0.225593 +vn -0.971221 -0.237831 0.010376 +vn -0.981964 -0.188482 -0.014252 +vn -0.955107 -0.286508 0.075350 +vn 0.044771 0.858272 0.511216 +vn -0.080447 0.862575 0.499435 +vn -0.376904 0.846217 0.376598 +vn -0.284371 0.897397 0.337260 +vn -0.352245 0.872951 0.337382 +vn 0.093539 -0.936125 -0.338969 +vn 0.163121 -0.932554 -0.322001 +vn 0.233070 -0.903745 -0.359020 +vn 0.013916 0.798029 0.602435 +vn -0.559954 -0.818476 -0.128483 +vn -0.321665 -0.942442 -0.091006 +vn -0.629200 -0.759117 -0.166753 +vn -0.002106 -0.751305 -0.659932 +vn 0.038362 -0.787683 -0.614856 +vn 0.080844 -0.820093 -0.566454 +vn 0.537339 0.837489 0.099124 +vn 0.438002 0.898648 0.023591 +vn 0.527238 0.847468 0.061525 +vn -0.925352 0.112613 -0.361950 +vn -0.912748 0.118107 -0.391034 +vn -0.866268 0.284249 -0.410779 +vn 0.617939 -0.736473 -0.275185 +vn 0.612354 -0.754570 -0.235755 +vn 0.723991 -0.633198 -0.273629 +vn -0.393963 0.579485 0.713401 +vn -0.284860 0.781732 0.554704 +vn -0.399243 0.776971 0.486679 +vn 0.229682 0.966674 0.112918 +vn 0.261605 0.964660 0.031343 +vn 0.360149 0.927091 0.103854 +vn -0.987793 0.010529 -0.155248 +vn -0.982665 0.057833 -0.175970 +vn -0.981719 -0.153294 -0.112674 +vn -0.935209 0.208167 0.286416 +vn 0.737541 0.521165 0.429334 +vn 0.689688 0.498825 0.524827 +vn 0.729331 0.502640 0.464095 +vn -0.258461 0.945830 0.196387 +vn -0.305124 0.923368 0.232948 +vn -0.287118 0.934019 0.212348 +vn -0.996979 -0.059358 0.049867 +vn -0.995941 -0.064364 -0.062532 +vn -0.999329 0.027192 -0.023865 +vn -0.850307 -0.344188 0.398083 +vn -0.898190 -0.232551 0.372997 +vn -0.899960 -0.332041 0.282479 +vn -0.876064 0.368603 0.310770 +vn -0.872494 0.376354 0.311533 +vn -0.097720 0.988983 0.111148 +vn -0.160741 0.982818 0.090335 +vn -0.136113 0.981170 0.136814 +vn -0.941343 0.018586 -0.336894 +vn -0.955535 -0.083682 -0.282693 +vn -0.946989 -0.126102 -0.295389 +vn 0.865108 0.472243 0.169012 +vn 0.733482 0.661031 0.158238 +vn 0.824732 0.513810 0.236122 +vn 0.677725 0.708670 0.196051 +vn 0.630116 0.736473 0.246071 +vn 0.812037 0.493789 0.311014 +vn 0.271218 0.931516 0.242225 +vn 0.248024 0.925016 0.287759 +vn 0.335002 0.865780 0.371715 +vn -0.866390 0.144536 -0.477950 +vn -0.810175 0.009705 -0.586077 +vn -0.771630 -0.083499 -0.630512 +vn 0.304910 0.927915 0.214362 +vn 0.381878 0.887143 0.259041 +vn -0.765740 -0.642720 0.022401 +vn -0.844325 -0.532975 -0.054994 +vn -0.690481 -0.227668 -0.686544 +vn -0.683157 -0.119022 -0.720481 +vn -0.689901 -0.137211 -0.710746 +vn 0.141606 -0.722312 0.676870 +vn 0.070620 -0.620716 0.780816 +vn 0.204871 -0.622486 0.755303 +vn -0.739036 -0.649190 -0.179785 +vn 0.869472 0.426466 0.249153 +vn 0.374432 0.903287 -0.209357 +vn 0.868465 0.346019 0.354930 +vn -0.831935 -0.497543 0.245521 +vn -0.855800 -0.481948 0.187841 +vn -0.770989 -0.613636 0.170293 +vn -0.755608 -0.270577 0.596484 +vn -0.754814 -0.369121 0.542192 +vn -0.753014 -0.236274 0.614093 +vn -0.423597 0.862880 -0.275582 +vn -0.398816 0.894681 -0.201117 +vn -0.422651 0.857265 -0.293985 +vn -0.844813 0.444533 0.297647 +vn -0.845729 0.438581 0.303842 +vn 0.848140 0.472304 0.239937 +vn 0.794183 0.530869 0.295633 +vn 0.796533 0.554033 0.241951 +vn 0.004303 0.537675 0.843104 +vn -0.107059 0.587603 0.802026 +vn -0.144780 0.633747 0.759850 +vn 0.764092 0.474929 0.436506 +vn 0.812647 0.427534 0.395947 +vn 0.823908 0.393353 0.407910 +vn -0.062838 0.993164 -0.098148 +vn -0.069613 0.993622 -0.088595 +vn 0.010529 0.997528 -0.069369 +vn -0.062105 0.939360 0.337230 +vn -0.284066 0.890378 0.355663 +vn -0.060091 0.934263 0.351421 +vn 0.033876 0.891415 0.451918 +vn -0.232154 0.853633 0.466201 +vn -0.026643 0.896695 0.441786 +vn 0.115024 0.903287 0.413312 +vn -0.636464 -0.759239 -0.135746 +vn -0.713065 -0.673696 -0.194006 +vn -0.689932 -0.680960 -0.245369 +vn -0.428632 0.826197 0.365520 +vn -0.492080 0.801599 0.339488 +vn -0.387371 0.857936 0.337382 +vn 0.679403 0.639332 0.359966 +vn 0.658986 0.667196 0.347209 +vn 0.691061 0.641987 0.331980 +vn 0.652669 0.646290 0.395337 +vn 0.666799 0.624226 0.407025 +vn 0.664113 0.649800 0.369671 +vn -0.406934 0.833888 0.372784 +vn -0.482040 0.791345 0.375988 +vn -0.380749 0.839259 0.388073 +vn -0.189917 0.905698 0.378948 +vn 0.232459 0.919431 0.317118 +vn 0.110904 0.942534 0.315073 +vn 0.158788 0.916990 0.365886 +vn -0.373424 0.758721 0.533708 +vn -0.481216 0.769524 0.419752 +vn -0.373730 0.750908 0.544450 +vn -0.170324 0.983337 -0.063326 +vn -0.177923 0.983886 -0.016877 +vn -0.137913 0.990417 -0.000214 +vn -0.223487 0.899686 0.374920 +vn 0.031159 0.921445 0.387188 +vn -0.052858 0.703421 0.708762 +vn -0.076144 0.730094 0.679067 +vn -0.059450 0.725455 0.685659 +vn -0.151463 0.988067 -0.027375 +vn -0.420545 0.815485 0.397595 +vn -0.418744 0.810358 0.409803 +vn -0.383435 0.820948 0.423048 +vn -0.391705 0.831385 0.394147 +vn -0.338054 0.855708 0.391675 +vn -0.243477 0.896023 0.371258 +vn -0.318461 0.885891 0.337291 +vn -0.510086 0.762749 0.397473 +vn -0.139470 0.964843 -0.222694 +vn -0.060060 0.965239 -0.254250 +vn -0.011322 0.985198 -0.170995 +vn 0.405621 -0.865383 -0.294198 +vn 0.149785 -0.894894 -0.420331 +vn 0.599231 -0.762658 -0.243355 +vn -0.256081 0.960387 0.109775 +vn -0.216529 0.974609 -0.056642 +vn -0.142888 0.989166 -0.033448 +vn -0.999451 -0.030213 -0.012452 +vn -0.185247 0.977660 -0.099216 +vn -0.161077 0.983093 -0.086856 +vn -0.124485 0.990173 -0.063295 +vn -0.963012 -0.268807 -0.017365 +vn -0.962218 -0.272164 0.002716 +vn -0.947142 -0.290689 -0.135533 +vn -0.946104 -0.269906 -0.178930 +vn -0.466384 0.870113 -0.159276 +vn -0.599780 0.749657 -0.279702 +vn -0.592578 0.780541 -0.198889 +vn -0.529160 0.839503 0.123234 +vn -0.532731 0.845058 0.044740 +vn -0.495560 0.834498 0.240822 +vn -0.848781 0.440077 0.293039 +vn -0.846889 0.429792 0.313089 +vn 0.185247 0.950530 -0.249275 +vn 0.322825 0.935301 0.144688 +vn 0.426099 0.895779 0.126377 +vn -0.913266 -0.297342 0.278390 +vn -0.944762 -0.194952 0.263405 +vn 0.783105 0.523362 0.335826 +vn 0.778741 0.430158 0.456557 +vn 0.852107 0.324259 0.410749 +vn -0.196936 0.162999 -0.966765 +vn -0.178167 0.348552 -0.920164 +vn -0.077029 0.347240 -0.934568 +vn -0.140202 0.087374 -0.986236 +vn -0.203040 0.077578 -0.976074 +vn -0.102176 0.177618 -0.978759 +vn -0.977935 0.200079 0.059816 +vn -0.977447 0.199316 -0.069277 +vn -0.787988 -0.198004 -0.582965 +vn -0.892788 -0.236427 -0.383374 +vn -0.865627 -0.352000 -0.355968 +vn -0.981719 0.072329 -0.176031 +vn -0.977691 0.108097 -0.179968 +vn -0.973113 0.071139 -0.219031 +vn -0.094241 0.230384 -0.968505 +vn -0.093112 0.222266 -0.970519 +vn -0.065493 0.252235 -0.965423 +vn -0.087130 0.185492 -0.978759 +vn -0.899838 0.398419 -0.177526 +vn -0.913633 0.343150 -0.217902 +vn -0.753502 0.375408 -0.539689 +vn -0.793542 0.327921 -0.512528 +vn 0.346507 0.925230 0.154363 +vn 0.263955 0.957213 0.118320 +vn 0.311655 0.949889 0.022645 +vn -0.514054 0.854060 0.079165 +vn -0.533128 0.843684 -0.062746 +vn -0.456923 0.869137 0.189154 +vn -0.335337 0.899075 0.281411 +vn -0.330393 0.900754 0.281838 +vn -0.271004 0.943907 0.188543 +vn -0.178808 0.957671 0.225532 +vn -0.217078 0.951506 0.217902 +vn -0.190161 0.939573 0.284616 +vn -0.159368 0.981628 0.104770 +vn -0.156560 0.975707 0.153172 +vn -0.126560 0.977538 0.168462 +vn -0.832484 -0.546342 -0.091800 +vn -0.830958 -0.548418 -0.093356 +vn -0.770318 -0.611103 0.182043 +vn -0.807947 -0.588702 0.024323 +vn -0.351299 0.835536 0.422376 +vn -0.448836 0.798395 0.401318 +vn -0.304819 0.852809 0.423963 +vn -0.901120 0.295358 0.317362 +vn -0.892972 0.296762 0.338359 +vn -0.381603 0.919187 0.097140 +vn -0.348766 0.904019 0.247169 +vn -0.189367 0.908170 0.373302 +vn 0.243385 0.900967 0.359081 +vn 0.072207 0.927458 0.366832 +vn 0.088626 0.908658 0.407941 +vn -0.124058 0.938810 0.321299 +vn 0.767632 0.554399 0.321421 +vn 0.753166 0.552629 0.356792 +vn 0.820307 0.485275 0.302591 +vn 0.738945 0.564714 0.367443 +vn 0.715629 0.619098 0.323283 +vn 0.747032 0.566454 0.347880 +vn -0.881466 0.443281 -0.162725 +vn -0.868191 0.485244 -0.103641 +vn -0.884243 0.433485 -0.173620 +vn -0.129582 0.941984 0.309580 +vn -0.131321 0.938444 0.319468 +vn -0.144780 0.930876 0.335398 +vn -0.166295 0.981201 -0.097629 +vn -0.115482 0.989380 -0.087893 +vn -0.884579 0.466079 0.015107 +vn -0.975158 0.221351 0.007691 +vn -0.961547 0.265358 -0.070315 +vn -0.142949 0.985839 -0.087497 +vn 0.739250 0.608142 0.289163 +vn 0.727653 0.632588 0.265206 +vn 0.760460 0.599139 0.250313 +vn -0.605274 0.763817 -0.223975 +vn -0.554643 0.831172 0.038331 +vn -0.596118 0.802881 -0.001190 +vn 0.759697 -0.605884 -0.236030 +vn 0.744041 -0.634938 -0.207862 +vn 0.804224 -0.558794 -0.202307 +vn -0.264046 0.762596 0.590472 +vn -0.240608 0.716300 0.654958 +vn -0.119999 0.656026 0.745109 +vn -0.231788 0.359661 -0.903806 +vn -0.674032 -0.551653 -0.491226 +vn -0.142827 -0.709403 -0.690146 +vn 0.318491 0.787378 0.527757 +vn 0.376720 0.766564 0.520035 +vn 0.380108 0.762413 0.523637 +vn 0.843410 -0.021943 0.536760 +vn 0.762841 0.317423 0.563250 +vn 0.713034 0.461715 0.527573 +vn 0.015076 -0.999115 -0.039155 +vn 0.031678 -0.998291 -0.048616 +vn -0.027070 -0.999512 -0.014161 +vn 0.808527 0.456404 0.371441 +vn 0.827326 0.442701 0.345714 +vn 0.846980 0.412793 0.334910 +vn -0.270486 0.934111 -0.232856 +vn -0.269967 0.930937 -0.245857 +vn -0.958892 -0.281198 -0.037843 +vn -0.973266 -0.215644 -0.078738 +vn -0.870357 -0.479263 0.112918 +vn -0.246040 0.959319 -0.138279 +vn -0.222053 0.943663 -0.245247 +vn -0.238838 0.965880 -0.099826 +vn 0.757256 0.613910 0.222785 +vn 0.712577 0.678945 0.176672 +vn 0.702780 0.704031 0.102054 +vn -0.200018 0.979339 0.029328 +vn -0.152501 0.987823 0.030335 +vn -0.303201 0.859462 0.411512 +vn -0.316202 0.837214 0.446120 +vn -0.941343 0.037996 -0.335215 +vn -0.436689 -0.430311 0.790002 +vn -0.389508 -0.441755 0.808130 +vn -0.445631 -0.449232 0.774316 +vn -0.246529 0.967223 -0.060579 +vn -0.832881 0.525925 -0.172185 +vn -0.711142 0.689108 -0.139225 +vn -0.826960 0.494827 -0.266854 +vn -0.151799 0.987274 -0.047334 +vn -0.159856 0.987060 -0.010376 +vn -0.165105 0.986206 -0.008576 +vn -0.357982 0.859493 0.364788 +vn -0.351695 0.865291 0.357097 +vn 0.204169 0.959777 0.192572 +vn 0.085910 0.988220 0.126438 +vn 0.291055 0.909787 0.295846 +vn 0.411451 0.864345 0.289102 +vn 0.347606 0.875759 0.334941 +vn -0.938047 -0.333171 -0.095004 +vn -0.934263 -0.335337 -0.121128 +vn -0.984832 -0.129643 -0.115055 +vn 0.273629 0.887234 0.371349 +vn -0.474532 0.848720 0.233314 +vn -0.368999 0.828791 0.420545 +vn -0.396222 0.843379 0.362835 +vn -0.973022 0.130436 -0.190130 +vn -0.986175 0.047029 -0.158757 +vn -0.964232 0.156407 -0.213874 +vn 0.227149 0.953673 0.197180 +vn 0.178014 0.962523 0.204535 +vn 0.140355 0.961760 0.235054 +vn -0.730918 -0.643117 0.228309 +vn -0.777459 -0.559618 0.286935 +vn -0.776696 -0.591876 0.215400 +vn -0.304270 0.897824 0.318278 +vn -0.443770 0.837184 0.319590 +vn -0.438459 0.834223 0.334330 +vn 0.857204 0.500473 0.121128 +vn 0.895688 0.420392 0.144841 +vn 0.337901 0.936125 0.097324 +vn 0.370800 0.920438 0.123569 +vn 0.321268 0.945799 0.046907 +vn 0.474044 0.837153 0.272744 +vn 0.875393 0.380657 0.297861 +vn 0.846706 0.434187 0.307505 +vn 0.835810 0.440413 0.327708 +vn 0.118046 0.958831 0.258248 +vn -0.407910 0.795740 0.447615 +vn -0.226173 0.863277 0.451155 +vn 0.328867 0.944304 -0.009735 +vn 0.358287 0.933103 0.029939 +vn 0.284341 0.958647 0.011536 +vn -0.241798 0.968749 -0.055177 +vn -0.241615 0.967772 -0.070711 +vn -0.259926 0.965514 -0.012299 +vn 0.955992 0.210364 0.204382 +vn 0.922666 0.298441 0.244087 +vn 0.923246 0.323038 0.207953 +vn -0.366558 0.837214 0.405805 +vn -0.314371 0.873501 0.371685 +vn 0.624958 0.763451 0.162938 +vn 0.589068 0.787042 0.183050 +vn 0.599658 0.780755 0.175451 +vn 0.535356 0.825343 0.179266 +vn -0.226234 0.939726 0.256355 +vn -0.208380 0.917600 0.338481 +vn -0.269692 0.904569 0.330119 +vn -0.066073 0.976684 -0.204230 +vn -0.032594 0.977508 -0.208289 +vn -0.017792 0.975799 -0.217811 +vn -0.880215 -0.473464 0.031678 +vn 0.390393 0.820399 0.417737 +vn 0.297830 0.843593 0.446730 +vn 0.530839 0.724998 0.438765 +vn 0.490860 0.814447 0.309336 +vn 0.513474 0.822779 0.243538 +vn -0.134129 0.900021 0.414624 +vn -0.099948 0.893613 0.437544 +vn -0.044740 0.996490 -0.070406 +vn -0.012696 0.997284 -0.072329 +vn 0.004608 0.997131 -0.075228 +vn 0.714164 0.594623 0.369274 +vn 0.694388 0.638966 0.330943 +vn 0.639454 0.761437 0.106174 +vn 0.484237 0.869381 0.098239 +vn 0.569597 0.809503 0.142216 +vn -0.387066 0.863460 0.323344 +vn -0.237526 0.878780 0.413862 +vn 0.018281 0.463576 0.885830 +vn -0.212714 0.658071 0.722251 +vn -0.065615 0.556505 0.828211 +vn -0.973235 0.218848 -0.070009 +vn -0.970397 0.235542 -0.053255 +vn -0.978332 0.196692 -0.064577 +vn 0.008484 0.960723 0.277352 +vn -0.944487 0.048402 0.324931 +vn -0.943968 0.066469 0.323222 +vn -0.996429 0.083193 -0.012726 +vn -0.975799 0.211219 -0.056185 +vn -0.991211 0.113681 -0.067598 +vn -0.917905 -0.396649 0.008576 +vn -0.938322 -0.345653 -0.004852 +vn -0.934538 -0.349345 -0.067232 +vn -0.280313 0.766289 0.578082 +vn -0.362743 0.755547 0.545457 +vn -0.322581 0.792444 0.517624 +vn -0.929319 -0.369091 -0.009064 +vn -0.940916 -0.247414 0.231086 +vn -0.347758 -0.894131 -0.281991 +vn -0.955229 -0.250221 -0.157720 +vn -0.944426 -0.255409 -0.206854 +vn -0.953459 -0.227271 -0.198065 +vn -0.856075 -0.498032 0.138096 +vn -0.875240 -0.435560 0.210211 +vn -0.798608 -0.540910 0.263802 +vn -0.950865 0.280709 -0.130497 +vn -0.939421 0.286264 -0.188452 +vn -0.956053 0.205786 -0.208777 +vn -0.974578 0.194494 -0.111026 +vn -0.169561 0.977050 -0.128819 +vn -0.159948 0.983856 -0.079928 +vn -0.162297 0.981872 -0.097690 +vn -0.985412 -0.156957 -0.065310 +vn -0.884243 -0.464583 -0.047670 +vn -0.884671 -0.449293 -0.124363 +vn -0.925169 -0.228339 0.303140 +vn -0.925138 -0.218635 0.310282 +vn -0.179113 0.980285 -0.083163 +vn -0.180334 0.979553 -0.088839 +vn -0.163244 0.982116 -0.093539 +vn -0.227638 0.295511 -0.927793 +vn -0.222633 0.251625 -0.941862 +vn -0.208014 0.219245 -0.953215 +vn 0.623585 0.657277 0.423170 +vn 0.666921 0.637196 0.386212 +vn 0.221290 -0.949278 -0.223334 +vn -0.084017 -0.964934 -0.248573 +vn 0.158879 -0.961547 -0.223884 +vn 0.209906 0.744499 0.633717 +vn 0.134312 0.746605 0.651540 +vn 0.145207 0.692038 0.707083 +vn -0.192480 0.980255 0.045015 +vn -0.186041 0.980682 0.059999 +vn -0.155065 0.968535 -0.194586 +vn -0.136906 0.975127 -0.174230 +vn -0.138707 0.966674 -0.215094 +vn -0.989288 -0.114109 -0.090793 +vn -0.982025 -0.151494 -0.112552 +vn -0.135594 0.990600 0.016511 +vn -0.154454 0.986908 0.046327 +vn -0.092196 0.994079 0.057436 +vn -0.126316 0.979156 -0.158971 +vn -0.132389 0.984954 -0.110904 +vn -0.121372 0.981292 -0.149419 +vn 0.776452 -0.316294 0.545000 +vn 0.738975 -0.300088 0.603168 +vn 0.855037 -0.232307 0.463576 +vn -0.282846 0.956206 0.074892 +vn -0.271889 0.951506 0.143712 +vn -0.291849 0.937986 0.186926 +vn -0.168401 0.849605 0.499741 +vn -0.118748 0.782769 0.610859 +vn 0.189795 0.980010 0.059145 +vn 0.284890 0.956328 0.065249 +vn 0.285470 0.956420 0.061190 +vn -0.326487 -0.812647 -0.482650 +vn -0.078372 -0.902860 -0.422712 +vn 0.008545 -0.892483 -0.450942 +vn -0.405347 0.805567 0.432112 +vn -0.400800 0.809168 0.429579 +vn -0.825617 -0.557634 0.085696 +vn -0.444472 -0.849940 -0.282876 +vn -0.736290 -0.645375 -0.203253 +vn -0.509262 -0.814295 -0.278420 +vn 0.765648 0.527421 0.368175 +vn 0.050966 0.962523 0.266335 +vn 0.178320 0.907010 0.381451 +vn 0.326090 0.791955 0.516160 +vn 0.343608 0.829676 0.439894 +vn -0.177404 0.963073 -0.202460 +vn -0.147099 0.962493 -0.227821 +vn -0.162847 0.986572 -0.011200 +vn -0.149907 0.988556 0.015015 +vn -0.963836 0.156011 -0.216010 +vn -0.127140 0.956908 -0.261055 +vn -0.218360 0.344707 -0.912931 +vn -0.307901 0.410565 -0.858241 +vn -0.261696 0.367718 -0.892331 +vn -0.863369 0.484542 -0.140568 +vn -0.180486 0.969634 -0.164892 +vn -0.162694 0.975860 -0.145604 +vn -0.284219 0.948057 0.142582 +vn -0.275521 0.944762 0.177496 +vn -0.271706 0.943480 0.189611 +vn 0.724754 0.666677 0.173894 +vn -0.223548 0.963927 0.144444 +vn -0.830744 -0.341990 -0.439131 +vn -0.823634 0.193854 -0.532914 +vn -0.842250 0.176031 -0.509507 +vn -0.559923 0.809259 -0.177618 +vn -0.598834 0.793878 -0.105441 +vn -0.282815 0.933195 0.221595 +vn -0.239723 0.927122 0.287942 +vn -0.211768 0.911985 0.351299 +vn -0.233528 0.887326 0.397595 +vn 0.243202 0.670949 0.700461 +vn 0.227454 0.739280 0.633778 +vn 0.203223 0.686209 0.698386 +vn 0.921628 0.347056 0.173467 +vn -0.304575 0.865078 0.398572 +vn 0.405835 0.908109 -0.102969 +vn 0.411969 0.908139 -0.074496 +vn 0.435102 0.896664 -0.081393 +vn -0.104373 0.253975 -0.961547 +vn -0.082186 0.264870 -0.960753 +vn -0.173101 0.257607 -0.950591 +vn -0.292276 0.863399 0.411176 +vn -0.282052 0.865383 0.414167 +vn 0.422285 0.894894 -0.144230 +vn 0.426313 0.898129 -0.107608 +vn 0.433576 0.891415 -0.131779 +vn -0.915983 -0.328959 -0.229560 +vn -0.957640 -0.181341 -0.223609 +vn -0.946074 -0.216590 -0.240852 +vn 0.396954 0.916440 -0.050295 +vn 0.416517 0.908597 -0.030641 +vn 0.429334 0.900784 -0.065035 +vn -0.083254 0.995849 -0.036164 +vn -0.822077 -0.484878 0.298349 +vn -0.022767 0.995911 -0.087313 +vn -0.029969 0.998749 -0.039399 +vn -0.069979 0.997497 -0.006928 +vn -0.068026 0.997620 -0.008301 +vn -0.277413 0.778649 0.562761 +vn -0.262490 0.823725 0.502518 +vn -0.344188 0.772393 0.533799 +vn 0.412275 0.901639 0.130558 +vn 0.085421 0.927976 0.362682 +vn -0.207984 0.839076 0.502640 +vn -0.214942 0.857967 0.466506 +vn -0.202155 0.826899 0.524705 +vn -0.183966 0.924772 0.333018 +vn -0.245338 0.893704 0.375591 +vn -0.164434 0.906125 0.389691 +vn 0.065981 0.995483 -0.068178 +vn 0.032044 0.995178 -0.092654 +vn 0.075900 0.991424 -0.106113 +vn 0.806177 0.546678 0.226234 +vn 0.034730 0.999359 0.006348 +vn -0.039552 0.999146 -0.009522 +vn -0.014771 0.997681 0.066256 +vn 0.850124 0.488998 0.195196 +vn -0.383892 0.880673 0.277474 +vn -0.412152 0.863430 0.290780 +vn -0.419691 0.847407 0.325114 +vn -0.095859 -0.620289 -0.778466 +vn -0.129002 -0.609058 -0.782525 +vn -0.059969 -0.667989 -0.741722 +vn 0.252052 0.801202 0.542680 +vn 0.253273 0.712607 0.654225 +vn 0.319437 0.727561 0.607105 +vn 0.393200 -0.879513 -0.267953 +vn 0.531358 -0.781945 -0.325846 +vn 0.783624 -0.616016 -0.080081 +vn -0.147313 0.984100 -0.099094 +vn -0.141758 0.988220 -0.057100 +vn -0.170965 0.982452 -0.074190 +vn 0.288858 0.586322 0.756798 +vn 0.247505 0.596118 0.763787 +vn -0.138981 0.988342 -0.061678 +vn -0.151402 0.984191 -0.091708 +vn 0.333567 0.611805 0.717185 +vn 0.262795 0.572771 0.776421 +vn 0.257820 0.691519 0.674734 +vn -0.176031 0.982421 -0.061953 +vn -0.179601 0.982025 -0.057985 +vn -0.172002 0.984039 -0.045412 +vn -0.144047 0.981475 -0.126102 +vn -0.179327 0.982543 -0.049135 +vn -0.222816 0.971740 0.077792 +vn -0.178045 0.980377 0.084231 +vn -0.976562 0.189764 -0.101535 +vn -0.976440 0.209662 -0.050661 +vn -0.985839 0.159032 -0.052980 +vn -0.858760 -0.511338 0.032014 +vn -0.081759 0.980041 -0.181066 +vn -0.049745 0.986633 -0.155156 +vn -0.102115 0.994690 0.010285 +vn -0.121006 0.992492 -0.016541 +vn -0.089480 0.994995 0.043825 +vn 0.850642 0.507309 -0.137913 +vn 0.922025 0.368358 -0.118870 +vn 0.893185 0.442122 -0.081881 +vn 0.985687 -0.047273 0.161718 +vn 0.988159 0.025178 0.151189 +vn 0.987030 0.035035 0.156499 +vn -0.157231 0.901364 0.403485 +vn -0.325632 0.868343 0.374004 +vn -0.322916 0.857051 0.401440 +vn -0.125126 0.882015 0.454237 +vn -0.195532 0.731712 0.652943 +vn -0.115848 0.664510 0.738212 +vn 0.009400 0.555132 0.831690 +vn -0.251137 0.960875 0.116550 +vn -0.805139 -0.532762 0.260506 +vn -0.796930 -0.536271 0.277932 +vn -0.982879 0.143864 -0.114902 +vn -0.974090 0.156194 -0.163457 +vn -0.978545 0.117679 -0.168950 +vn -0.255470 0.113102 -0.960143 +vn -0.247261 0.112461 -0.962371 +vn -0.270913 0.077517 -0.959441 +vn -0.985870 0.114994 -0.121616 +vn -0.319193 0.920865 -0.223823 +vn -0.282479 0.875149 -0.392773 +vn -0.245064 0.898160 -0.364940 +vn -0.144444 0.989044 0.029908 +vn -0.162389 0.986206 -0.031648 +vn 0.215766 0.862056 0.458541 +vn 0.342784 0.795038 0.500351 +vn -0.165502 0.985168 -0.044832 +vn -0.948454 -0.297861 -0.107913 +vn -0.968596 -0.208228 -0.135594 +vn 0.427229 0.898404 0.101596 +vn -0.130558 0.984924 0.113193 +vn -0.141362 0.979034 0.146550 +vn -0.135899 0.977416 0.161779 +vn -0.262520 0.909421 0.322459 +vn 0.108127 0.908536 0.403546 +vn 0.182531 0.891476 0.414594 +vn -0.258858 0.908170 0.328867 +vn -0.181585 0.978484 -0.097598 +vn -0.161107 0.982330 -0.094974 +vn 0.829157 0.425611 0.362316 +vn 0.826441 0.448408 0.340403 +vn 0.821741 0.434339 0.368816 +vn 0.796655 0.527970 0.294168 +vn 0.824549 0.480819 0.298166 +vn 0.810785 0.532273 0.243477 +vn 0.851314 0.515488 0.097507 +vn 0.811212 0.572314 0.119755 +vn 0.833094 0.539232 0.123112 +vn 0.877132 0.067537 0.475448 +vn 0.875668 -0.039583 0.481216 +vn 0.874355 0.047304 0.482955 +vn 0.317118 0.921445 0.224372 +vn 0.299783 0.932432 0.201636 +vn 0.323008 0.904660 0.277902 +vn 0.406842 0.874233 -0.264901 +vn 0.420515 0.889401 -0.179113 +vn 0.437391 0.869167 -0.230628 +vn 0.777276 0.614795 0.133457 +vn 0.790429 0.594806 0.146184 +vn 0.136998 0.979949 -0.144536 +vn -0.020508 0.981903 -0.188116 +vn -0.999023 -0.043855 -0.000122 +vn -0.997436 -0.071169 0.005249 +vn -0.997986 -0.060762 -0.017792 +vn 0.759575 0.630818 0.158391 +vn 0.745109 0.647908 0.158055 +vn 0.772271 0.619007 0.142735 +vn -0.993225 0.087252 -0.076388 +vn -0.991760 -0.111026 -0.063845 +vn -0.088839 0.995941 -0.012024 +vn -0.066256 0.997772 -0.006287 +vn -0.060915 0.998016 0.014801 +vn -0.076998 0.997009 -0.002197 +vn -0.242347 0.832179 0.498703 +vn -0.203589 0.825434 0.526444 +vn -0.096530 0.994537 0.039552 +vn -0.066347 0.995575 0.066134 +vn -0.971801 0.202490 -0.120548 +vn -0.972930 0.187994 -0.134251 +vn -0.976623 0.124607 -0.175054 +vn -0.203406 0.878506 0.432203 +vn -0.267098 0.831477 0.487075 +vn 0.345714 -0.937407 -0.041536 +vn 0.115177 -0.992950 -0.027711 +vn 0.336406 -0.941557 0.015534 +vn -0.615314 -0.780114 -0.112918 +vn -0.610401 -0.791681 -0.024506 +vn -0.726371 -0.674032 -0.134220 +vn -0.353160 0.328440 -0.875973 +vn -0.313883 0.214026 -0.925016 +vn -0.181860 0.086001 -0.979522 +vn -0.984985 0.086032 -0.149632 +vn -0.980010 0.150243 -0.130345 +vn -0.972655 0.099612 -0.209693 +vn -0.937651 0.346751 0.023713 +vn -0.944700 0.323099 -0.055971 +vn -0.919279 0.130924 -0.371166 +vn -0.922513 0.083560 -0.376720 +vn -0.920499 0.176885 -0.348369 +vn -0.886074 0.086673 -0.455336 +vn -0.904111 0.122227 -0.409406 +vn -0.899564 0.121738 -0.419446 +vn -0.930387 -0.364849 0.035035 +vn -0.911313 -0.406720 0.063356 +vn -0.104221 0.992431 -0.064821 +vn -0.101779 0.990844 -0.088534 +vn -0.085910 0.994232 -0.063753 +vn -0.932279 -0.361339 0.015259 +vn -0.149113 0.984191 -0.095340 +vn -0.106601 0.991272 -0.077364 +vn -0.985931 -0.018403 -0.166082 +vn -0.977508 0.014557 -0.210273 +vn -0.971984 0.179876 -0.151128 +vn -0.968078 0.162664 -0.190527 +vn -0.095737 0.963744 -0.248970 +vn -0.945006 -0.296213 -0.138432 +vn -0.609638 0.688589 0.392590 +vn -0.477309 0.791955 0.380688 +vn -0.498733 0.791436 0.353343 +vn -0.109226 0.991638 0.068545 +vn 0.907895 0.387432 -0.160009 +vn 0.871181 0.461104 -0.168523 +vn 0.883785 0.451704 -0.121769 +vn 0.034577 -0.997497 0.061342 +vn 0.074129 -0.995880 0.051881 +vn 0.139225 -0.987121 0.078707 +vn 0.132908 0.854518 0.502060 +vn 0.143773 0.842006 0.519913 +vn -0.226203 0.882962 0.411267 +vn 0.169988 0.634236 0.754204 +vn 0.215217 0.668508 0.711844 +vn 0.205298 0.738670 0.642018 +vn -0.506180 0.787957 0.350475 +vn -0.461776 0.832209 0.306864 +vn -0.549944 0.764916 0.335276 +vn 0.454390 -0.879147 -0.143468 +vn 0.384198 -0.882656 -0.270699 +vn 0.376324 -0.899319 -0.222663 +vn -0.988281 0.134068 0.072604 +vn -0.974517 0.206549 0.087161 +vn -0.981933 0.177496 0.065127 +vn -0.102176 0.970244 0.219367 +vn 0.015473 0.971557 -0.236244 +vn -0.090915 0.977233 0.191656 +vn -0.088809 0.985565 0.144047 +vn -0.117893 0.989624 0.081790 +vn -0.095920 0.986908 0.129429 +vn -0.049715 0.992309 0.113193 +vn -0.821986 -0.564379 0.075808 +vn -0.851192 -0.518509 -0.080996 +vn -0.099155 0.969176 -0.225471 +vn -0.050020 0.960540 -0.273537 +vn 0.594958 -0.610340 -0.522935 +vn 0.990600 -0.053133 0.125797 +vn 0.862789 -0.428755 -0.267800 +vn -0.092563 0.978240 -0.185614 +vn -0.112430 0.982238 -0.150090 +vn -0.073550 0.992004 -0.102390 +vn 0.728507 0.666463 0.158208 +vn 0.678396 0.710471 0.186987 +vn 0.686789 0.711295 0.149449 +vn 0.624805 0.757530 0.189062 +vn 0.573534 0.806726 0.142155 +vn 0.475356 0.867397 0.147130 +vn 0.456313 0.889370 0.027467 +vn -0.346599 0.862606 0.368419 +vn 0.883053 -0.452437 -0.124485 +vn 0.902402 -0.412122 -0.125553 +vn 0.903989 -0.399548 -0.152135 +vn -0.655080 -0.516312 0.551592 +vn -0.822504 -0.237281 0.516861 +vn -0.668691 -0.390515 0.632679 +vn -0.271279 0.798730 0.537004 +vn -0.196081 0.718894 0.666860 +vn -0.129276 0.752098 0.646199 +vn 0.583941 0.546739 0.600055 +vn 0.609516 0.561144 0.559984 +vn 0.581133 0.561449 0.589099 +vn -0.405652 0.851131 0.333140 +vn -0.994232 -0.080020 -0.071291 +vn -0.989837 0.006104 -0.141942 +vn -0.980926 0.060305 -0.184759 +vn 0.196814 0.910001 0.364879 +vn 0.826136 0.454695 0.332743 +vn 0.827876 0.466506 0.311350 +vn -0.258614 0.963164 0.073458 +vn 0.305338 0.905362 0.294992 +vn 0.282540 0.910825 0.300851 +vn 0.288583 0.908811 0.301218 +vn 0.438490 0.884457 -0.159490 +vn 0.311808 0.915677 0.253456 +vn 0.366558 0.917600 0.153569 +vn 0.340281 0.930631 0.134526 +vn 0.340129 0.920530 0.192083 +vn 0.279611 0.911252 0.302347 +vn -0.264351 0.780328 0.566729 +vn -0.221015 0.760155 0.610950 +vn 0.155248 0.696738 0.700308 +vn 0.247597 0.645680 0.722312 +vn 0.334544 0.577624 0.744560 +vn -0.663259 -0.691702 0.285592 +vn -0.728599 -0.638966 0.246590 +vn -0.626698 -0.730918 0.270119 +vn -0.131077 0.790918 0.597674 +vn -0.179052 0.793176 0.582049 +vn -0.138707 0.806970 0.574023 +vn -0.965972 0.233345 -0.111332 +vn -0.955290 0.273690 -0.111759 +vn -0.963805 0.233802 -0.127873 +vn -0.989624 -0.138676 -0.036958 +vn -0.985595 -0.166814 -0.026734 +vn 0.317026 -0.871151 -0.374859 +vn 0.405042 -0.893765 -0.192633 +vn -0.193854 0.106143 -0.975249 +vn 0.670980 0.266823 -0.691763 +vn 0.748589 0.330576 -0.574694 +vn 0.663869 0.396222 -0.634205 +vn -0.248451 0.165319 -0.954405 +vn -0.266701 0.176336 -0.947478 +vn -0.042207 0.991699 0.121220 +vn 0.740684 0.641774 0.198645 +vn 0.761315 0.632221 0.143681 +vn -0.123783 0.988922 0.081729 +vn -0.108493 0.985626 0.129246 +vn -0.058290 0.985961 0.156316 +vn -0.270516 0.852443 0.447340 +vn -0.205725 0.912839 0.352641 +vn -0.192358 0.938353 0.287149 +vn -0.095065 0.995422 0.005982 +vn -0.116672 0.992157 0.044252 +vn -0.111515 0.989074 -0.096316 +vn -0.103793 0.993561 -0.045015 +vn -0.109043 0.990661 -0.081454 +vn -0.091006 0.995758 -0.012513 +vn -0.124027 0.992187 -0.012238 +vn -0.095767 0.995178 -0.020722 +vn -0.149602 0.987579 0.047365 +vn -0.086154 0.991821 0.094089 +vn -0.151860 0.986267 0.064547 +vn -0.048250 0.995270 -0.084140 +vn 0.975860 -0.040925 -0.214393 +vn 0.980560 -0.027467 -0.194189 +vn 0.973113 0.000977 -0.230323 +vn 0.703146 0.218940 -0.676473 +vn 0.802332 0.185919 -0.567125 +vn 0.115024 0.859401 0.498154 +vn -0.014161 0.886593 0.462294 +vn 0.188635 0.864895 0.465133 +vn 0.833766 0.453139 0.315378 +vn 0.227973 0.967986 0.104892 +vn 0.221717 0.963408 0.150456 +vn 0.206214 0.965148 0.160985 +vn -0.282205 0.906674 0.313395 +vn 0.615619 0.287057 0.733879 +vn 0.042512 0.759392 0.649220 +vn 0.141392 0.980651 -0.135136 +vn 0.183081 0.977844 -0.101474 +vn 0.004120 0.991272 -0.131626 +vn -0.985809 -0.001984 -0.167699 +vn -0.246742 0.872555 0.421552 +vn -0.069918 0.900266 0.429670 +vn -0.134709 0.871914 0.470717 +vn -0.107669 0.881375 0.459975 +vn -0.992981 -0.026185 -0.115177 +vn -0.063356 0.955351 0.288522 +vn -0.070956 0.965423 0.250771 +vn -0.067202 0.935820 0.345988 +vn -0.028077 0.944456 0.327342 +vn -0.091769 0.906400 0.412275 +vn -0.107822 0.992950 0.049165 +vn -0.311106 0.830927 0.461226 +vn 0.947295 -0.306955 -0.091617 +vn 0.779778 -0.455000 -0.429975 +vn 0.851009 0.498306 0.165716 +vn -0.353465 0.904324 0.239235 +vn -0.348796 0.910398 0.222419 +vn 0.047395 0.875668 0.480514 +vn 0.776086 0.464675 0.426313 +vn 0.740806 0.510697 0.436262 +vn 0.798669 0.431074 0.419782 +vn -0.224097 0.676107 0.701865 +vn -0.126102 0.646535 0.752373 +vn 0.794092 0.446730 0.412091 +vn -0.340007 0.922178 0.184240 +vn 0.084811 0.775933 0.625050 +vn 0.057833 0.792352 0.607288 +vn 0.003754 0.715110 0.698965 +vn -0.152593 0.973327 0.171178 +vn -0.114994 0.977416 0.177190 +vn 0.195593 0.897427 0.395398 +vn 0.244423 0.886410 0.393078 +vn 0.103336 0.976409 0.189520 +vn 0.203772 0.970336 0.129856 +vn 0.226325 0.936247 0.268654 +vn 0.163518 0.859035 0.485061 +vn 0.172033 0.850459 0.497055 +vn 0.103641 0.813746 0.571886 +vn 0.048219 0.824213 0.564165 +vn 0.083834 0.806635 0.585040 +vn 0.057466 0.828059 0.557665 +vn -0.009217 0.712729 0.701346 +vn -0.992553 -0.112980 -0.044984 +vn -0.389904 0.883023 0.261177 +vn 0.966918 -0.042787 0.251381 +vn 0.964141 0.178808 0.196020 +vn 0.974670 0.123264 0.186560 +vn -0.844783 0.359386 0.396405 +vn -0.818384 0.374004 0.436262 +vn -0.808466 0.341472 0.479293 +vn -0.700888 -0.638813 -0.317209 +vn -0.784143 0.098575 -0.612690 +vn -0.107547 -0.630665 -0.768548 +vn -0.122288 -0.600696 -0.790033 +vn 0.612507 0.600269 0.514237 +vn 0.646962 0.541795 0.536515 +vn 0.672384 0.567186 0.475539 +vn 0.717338 0.651387 0.247108 +vn 0.709799 0.688162 0.150334 +vn 0.776086 0.609760 0.160741 +vn 0.717338 0.658132 0.228553 +vn 0.763573 0.592578 0.256447 +vn 0.708457 0.692251 0.137242 +vn -0.376904 0.897916 0.227271 +vn -0.342143 0.937529 0.062655 +vn 0.791192 0.588092 0.167669 +vn -0.104678 0.987182 -0.120426 +vn -0.114139 0.976562 -0.182379 +vn 0.827265 0.530656 0.184393 +vn 0.779626 0.588946 0.212775 +vn 0.742088 0.656636 0.134434 +vn -0.062655 0.985717 0.156163 +vn -0.044191 0.986724 0.156102 +vn -0.043245 0.983856 0.173589 +vn -0.151646 0.925352 0.347362 +vn -0.287301 0.910154 0.298410 +vn -0.093966 0.951323 0.293435 +vn -0.120792 0.974364 0.189764 +vn -0.058535 0.978790 0.196295 +vn -0.042329 0.981109 0.188635 +vn -0.085055 0.969329 0.230445 +vn -0.061434 0.971465 0.229011 +vn -0.081393 0.996643 0.006989 +vn -0.103488 0.994598 -0.007752 +vn -0.073916 0.995666 -0.055849 +vn -0.087130 0.992706 -0.082949 +vn -0.087863 0.991394 -0.096774 +vn 0.669088 0.640339 0.377178 +vn 0.952086 0.267312 -0.148473 +vn 0.937773 0.277749 -0.208289 +vn 0.927366 0.327616 -0.180578 +vn 0.903806 0.348460 -0.248299 +vn 0.868709 0.410932 -0.276467 +vn 0.894711 0.395337 -0.207678 +vn 0.728629 -0.650014 0.215735 +vn 0.511399 -0.827509 0.231635 +vn 0.559679 -0.806116 0.192053 +vn 0.917600 0.396558 -0.026795 +vn 0.900052 0.435102 -0.023865 +vn 0.903104 0.429334 0.006104 +vn 0.026460 0.641438 0.766686 +vn 0.085269 0.677969 0.730094 +vn -0.019745 0.653157 0.756920 +vn -0.278268 0.954253 0.109256 +vn 0.258400 0.847224 0.464125 +vn 0.268075 0.855708 0.442549 +vn 0.328715 0.834742 0.441725 +vn -0.152409 0.986480 -0.059755 +vn -0.187384 0.978332 -0.087863 +vn -0.136937 0.990417 -0.016938 +vn -0.137333 0.990509 0.003357 +vn 0.480575 0.855892 -0.190863 +vn 0.495285 0.824213 -0.274453 +vn 0.613971 0.783929 -0.091800 +vn -0.407605 -0.433760 -0.803522 +vn 0.147252 -0.628529 -0.763695 +vn -0.186621 -0.567949 -0.801599 +vn -0.827845 -0.558885 -0.047792 +vn -0.842555 -0.538347 -0.016266 +vn -0.926572 -0.376049 -0.004730 +vn -0.275033 0.855312 0.439039 +vn 0.448195 0.839869 0.306040 +vn -0.777123 -0.619312 0.111789 +vn 0.664846 -0.731315 0.152074 +vn 0.425855 -0.892758 0.146947 +vn -0.947325 -0.246620 -0.204169 +vn -0.963866 -0.260262 -0.056642 +vn -0.975280 -0.122349 -0.183996 +vn -0.991729 -0.113712 -0.059114 +vn -0.993133 -0.046052 -0.107334 +vn 0.109012 0.674245 0.730399 +vn 0.163549 0.680166 0.714560 +vn 0.166906 0.687063 0.707114 +vn -0.182592 0.927580 0.325907 +vn -0.218421 0.920652 0.323466 +vn -0.240303 0.911557 0.333567 +vn -0.147069 0.841304 0.520127 +vn -0.196600 0.830683 0.520829 +vn -0.203772 0.799615 0.564837 +vn 0.784326 -0.573565 -0.236213 +vn 0.832545 -0.487228 -0.263497 +vn 0.848506 -0.476760 -0.229591 +vn -0.375072 0.516129 0.769982 +vn -0.399579 0.455000 0.795770 +vn -0.506119 0.455702 0.732200 +vn -0.199927 0.807886 0.554338 +vn 0.524674 0.690603 0.497726 +vn 0.746788 0.356334 0.561510 +vn 0.785913 0.378094 0.489242 +vn 0.325602 0.945219 -0.021882 +vn 0.381024 0.915708 -0.127476 +vn 0.549150 0.721519 0.421644 +vn 0.589984 0.750023 0.298929 +vn 0.796472 0.479690 0.368084 +vn 0.930021 -0.132878 -0.342570 +vn 0.994507 -0.007233 0.104343 +vn 0.990204 0.061190 0.125401 +vn 0.812128 0.509934 0.283486 +vn -0.395184 0.824824 0.404279 +vn -0.376324 0.824366 0.422773 +vn -0.223548 0.973601 0.045839 +vn -0.243843 0.969787 0.005188 +vn -0.251350 0.083865 -0.964232 +vn 0.827418 0.540330 0.152867 +vn 0.880581 0.459304 0.116459 +vn 0.841304 0.522294 0.139286 +vn 0.340709 0.827570 0.446120 +vn 0.345256 0.821406 0.453963 +vn -0.144078 0.987701 -0.060549 +vn -0.157140 0.987121 -0.029450 +vn -0.230842 0.972442 -0.032380 +vn -0.976165 -0.213691 -0.037202 +vn -0.905484 -0.422193 0.042360 +vn 0.819178 0.503372 0.274850 +vn 0.840754 0.522172 0.142979 +vn 0.832575 0.533219 0.149754 +vn 0.825495 0.528001 0.199255 +vn 0.313059 0.929807 0.193457 +vn 0.157109 0.828303 0.537767 +vn 0.112308 0.836726 0.535966 +vn -0.038728 0.631703 0.774224 +vn -0.056551 0.585284 0.808832 +vn -0.044313 0.642384 0.765069 +vn -0.905393 -0.401166 -0.138798 +vn -0.852504 -0.520707 0.045228 +vn -0.870327 -0.084719 0.485092 +vn -0.772698 -0.472060 0.424360 +vn -0.923887 -0.100803 0.369121 +vn 0.235511 0.880520 0.411298 +vn 0.204413 0.878842 0.431074 +vn 0.185766 0.868374 0.459761 +vn 0.733848 0.553362 0.393963 +vn 0.706076 0.573138 0.415876 +vn -0.112430 0.831355 0.544206 +vn -0.161687 0.766869 0.621052 +vn -0.108219 0.747429 0.655446 +vn -0.230903 0.237892 -0.943419 +vn -0.030305 0.762932 0.645741 +vn -0.059755 0.775414 0.628559 +vn -0.023103 0.791528 0.610645 +vn -0.083712 0.795709 0.599841 +vn -0.093600 0.822230 0.561388 +vn -0.026063 0.814173 0.580004 +vn 0.016694 0.814264 0.580218 +vn -0.042055 0.817743 0.574023 +vn 0.061037 0.849208 0.524491 +vn 0.047670 0.861232 0.505936 +vn 0.000214 0.852565 0.522568 +vn -0.003998 0.873226 0.487259 +vn -0.206397 0.941710 0.265603 +vn 0.840602 0.507431 0.189428 +vn -0.268929 0.955351 -0.122227 +vn -0.264687 0.955992 -0.126469 +vn 0.011078 0.994903 -0.100131 +vn 0.215705 0.896268 0.387463 +vn -0.040986 0.906369 0.420454 +vn -0.003388 0.942839 0.333171 +vn -0.019288 0.993286 -0.114048 +vn 0.023804 0.987579 -0.155278 +vn 0.017762 0.991424 -0.129398 +vn 0.054964 0.980224 -0.189978 +vn 0.645985 -0.748253 0.150853 +vn 0.317515 -0.945280 0.074831 +vn 0.054811 0.982940 -0.175420 +vn -0.946348 0.288125 -0.146184 +vn -0.928251 0.336375 -0.158574 +vn -0.935514 0.282907 -0.211554 +vn 0.774163 0.585498 0.240455 +vn 0.709769 0.574725 0.407239 +vn 0.550462 0.799524 0.240150 +vn 0.593158 0.773736 0.222358 +vn 0.652211 0.606952 0.454085 +vn 0.576373 0.713553 0.398206 +vn 0.612903 0.787317 0.066469 +vn 0.616108 0.784936 0.065401 +vn 0.749687 0.655477 0.090823 +vn 0.110904 0.887967 0.446272 +vn -0.627522 -0.764641 -0.146702 +vn -0.645527 -0.750786 -0.139866 +vn -0.665700 -0.714866 -0.213935 +vn 0.656331 0.748436 0.094913 +vn 0.787317 0.606677 0.109622 +vn 0.972900 0.113437 -0.201331 +vn 0.952239 0.158574 -0.260903 +vn 0.948241 0.155156 -0.277017 +vn 0.294839 0.313211 0.902737 +vn 0.224433 0.347301 0.910489 +vn 0.284494 0.253517 0.924528 +vn 0.154118 -0.791101 -0.591937 +vn 0.120426 -0.760094 -0.638508 +vn 0.219703 -0.826258 -0.518632 +vn 0.156041 0.882687 0.443220 +vn 0.218696 0.890469 0.398968 +vn -0.248268 0.967589 -0.045839 +vn -0.250771 0.966826 -0.048036 +vn -0.262551 0.964293 -0.034181 +vn -0.126713 0.991211 -0.037324 +vn -0.169164 0.885891 0.431898 +vn -0.247383 0.895108 0.370861 +vn 0.007843 -0.646748 -0.762658 +vn -0.011170 -0.621509 -0.783319 +vn 0.093966 -0.705039 -0.702872 +vn -0.163854 -0.404157 -0.899869 +vn -0.339427 -0.327555 -0.881741 +vn 0.218818 -0.276681 -0.935697 +vn -0.349681 0.905026 0.242042 +vn -0.366680 0.895444 0.252388 +vn -0.931364 0.279092 -0.233680 +vn -0.910215 0.361553 -0.201849 +vn 0.341868 0.876980 0.337596 +vn 0.641713 0.740287 0.200323 +vn -0.876247 -0.450362 0.171331 +vn -0.895657 -0.420576 0.144566 +vn -0.809564 -0.548814 0.208258 +vn -0.856807 0.258980 -0.445845 +vn -0.848384 0.314676 -0.425672 +vn -0.814173 0.489456 -0.312265 +vn -0.737968 -0.668142 -0.094577 +vn -0.813868 -0.567064 -0.126499 +vn -0.866298 0.411847 -0.282601 +vn -0.874996 0.288278 -0.388867 +vn -0.802820 0.456069 -0.383953 +vn -0.818415 0.289743 -0.496170 +vn 0.071993 0.977233 -0.199500 +vn 0.135868 0.456648 -0.879177 +vn 0.332499 0.665120 -0.668599 +vn 0.246712 0.743187 -0.621906 +vn -0.899533 -0.310923 0.306742 +vn -0.896084 -0.225715 0.382153 +vn -0.930113 -0.204321 0.305155 +vn 0.060976 0.975402 -0.211798 +vn 0.354656 0.830317 0.429792 +vn -0.880673 0.424177 -0.210761 +vn 0.637562 0.668386 0.383068 +vn 0.591906 0.709738 0.381939 +vn 0.514908 0.836573 0.186926 +vn 0.334544 0.928556 0.160772 +vn 0.427931 0.877102 0.217994 +vn 0.241890 0.901181 0.359600 +vn 0.239875 0.853847 0.461867 +vn 0.318522 0.789850 0.524033 +vn 0.449049 0.729484 0.515915 +vn 0.404401 0.758843 0.510453 +vn 0.493606 0.700949 0.514725 +vn -0.285836 0.932066 0.222510 +vn -0.276345 0.914548 0.295236 +vn -0.279366 0.904294 0.322764 +vn -0.262459 0.933744 0.243263 +vn -0.245186 0.967162 -0.066500 +vn 0.863857 0.487808 0.125523 +vn 0.845485 0.519486 0.123539 +vn 0.855312 0.494766 0.153630 +vn 0.732597 0.588214 0.342387 +vn 0.265877 -0.911802 -0.312845 +vn 0.257241 -0.893979 -0.366832 +vn 0.187719 -0.890622 -0.414167 +vn 0.054048 0.972198 -0.227790 +vn -0.000214 -0.999756 0.021180 +vn -0.040345 -0.999146 0.007141 +vn 0.003479 -0.999969 -0.000549 +vn 0.631581 0.609485 0.479171 +vn 0.687216 0.557726 0.465407 +vn 0.729606 0.518448 0.445906 +vn 0.590320 0.657704 0.467818 +vn 0.520829 0.730491 0.441664 +vn 0.625629 0.654866 0.423902 +vn 0.964934 -0.034425 0.260201 +vn 0.907315 0.146825 0.393902 +vn 0.972747 0.035035 0.229163 +vn 0.167394 0.202460 0.964843 +vn -0.020966 0.112644 0.993408 +vn 0.054994 0.211463 0.975829 +vn -0.628590 0.727531 -0.274819 +vn -0.471480 0.873531 0.120853 +vn -0.279489 0.953978 0.108554 +vn -0.911985 0.282357 -0.297525 +vn -0.917570 0.105594 -0.383251 +vn 0.461562 0.860073 0.217231 +vn 0.377331 0.900601 0.215674 +vn 0.409467 0.882199 0.232459 +vn -0.389050 -0.461501 0.797266 +vn -0.501694 -0.255165 0.826533 +vn -0.477828 -0.451552 0.753471 +vn 0.455916 0.794153 0.401746 +vn -0.338725 -0.537736 0.772057 +vn -0.224799 -0.456221 0.860958 +vn 0.818018 -0.524430 -0.236213 +vn -0.274728 -0.274575 0.921445 +vn -0.406537 -0.231056 0.883908 +vn -0.430067 -0.087680 0.898495 +vn -0.328349 -0.106601 0.938505 +vn -0.438154 0.071841 0.895993 +vn -0.513993 0.038911 0.856899 +vn 0.885647 -0.400647 -0.234657 +vn 0.948119 -0.281503 -0.147649 +vn 0.913114 -0.351512 -0.206397 +vn 0.680441 -0.695975 -0.229255 +vn 0.650655 -0.732841 -0.198920 +vn -0.420759 0.347728 0.837855 +vn -0.511063 0.388806 0.766533 +vn -0.465133 0.312906 0.828059 +vn -0.438520 0.236091 0.867122 +vn -0.342601 0.344523 0.874020 +vn -0.426099 0.432295 0.794671 +vn -0.436567 0.401074 0.805292 +vn -0.353893 0.406232 0.842433 +vn -0.349528 0.444746 0.824610 +vn -0.269692 0.499466 0.823267 +vn -0.375958 0.494400 0.783685 +vn -0.041047 0.964782 0.259743 +vn -0.053133 0.946348 0.318735 +vn -0.036958 0.932554 0.359081 +vn -0.067934 0.952879 0.295633 +vn -0.061068 0.912839 0.403668 +vn -0.018067 0.894162 0.447340 +vn 0.011719 0.892331 0.451216 +vn -0.046815 0.871670 0.487838 +vn -0.990661 -0.091708 -0.100803 +vn -0.122257 -0.382916 -0.915647 +vn -0.157476 -0.347270 -0.924436 +vn -0.140812 -0.393750 -0.908353 +vn -0.805933 0.499496 -0.317698 +vn -0.663808 0.662374 -0.347209 +vn -0.768334 0.523240 -0.368542 +vn -0.911832 0.404981 -0.067080 +vn -0.881466 0.459792 -0.107486 +vn -0.872189 0.334239 -0.357128 +vn -0.735099 -0.674337 -0.069460 +vn -0.868679 -0.487350 -0.088473 +vn -0.858180 -0.493271 -0.142033 +vn -0.985504 -0.154485 -0.069857 +vn -0.414106 0.168035 -0.894559 +vn -0.448195 0.338145 -0.827509 +vn -0.373180 0.310678 -0.874142 +vn -0.962920 -0.263344 0.058504 +vn -0.962096 -0.265084 -0.063906 +vn 0.341990 0.425825 0.837672 +vn 0.249611 0.474013 0.844356 +vn 0.222785 0.475967 0.850765 +vn 0.532884 0.134007 -0.835475 +vn 0.695364 -0.016175 -0.718436 +vn 0.624989 0.024751 -0.780206 +vn 0.940977 0.156377 -0.300088 +vn 0.976531 -0.014008 -0.214850 +vn 0.961180 0.015595 -0.275399 +vn 0.952666 0.231697 -0.196692 +vn 0.944700 0.269662 -0.186499 +vn -0.777703 -0.588885 0.219855 +vn -0.933500 0.045900 -0.355571 +vn -0.921659 0.067354 -0.382061 +vn -0.939665 -0.028138 -0.340861 +vn -0.309458 0.841945 0.441969 +vn 0.347118 -0.612903 -0.709769 +vn 0.428785 -0.589312 -0.684713 +vn 0.851314 -0.467849 -0.237403 +vn -0.473647 0.803491 0.360576 +vn -0.078341 0.962828 0.258370 +vn -0.117496 0.940580 0.318491 +vn -0.085757 0.946806 0.310129 +vn -0.144200 0.682119 0.716849 +vn -0.169530 0.746818 0.642994 +vn -0.234321 0.694998 0.679739 +vn -0.399731 0.791253 0.462691 +vn 0.484939 0.802881 0.346629 +vn 0.464949 0.811823 0.353160 +vn 0.497024 0.807276 0.318155 +vn 0.213965 0.973540 0.080111 +vn 0.155736 0.987762 0.007996 +vn -0.330912 0.820307 0.466445 +vn -0.934446 -0.328776 0.136723 +vn -0.951415 -0.296579 0.082308 +vn 0.672201 0.716849 0.184973 +vn -0.508682 0.763573 -0.397687 +vn -0.514237 0.851588 -0.101688 +vn -0.597339 0.800378 -0.050417 +vn -0.000275 0.665273 0.746544 +vn -0.026276 0.713187 0.700430 +vn 0.013184 0.744469 0.667501 +vn -0.041200 0.981201 0.188513 +vn -0.122837 0.947813 0.294168 +vn -0.348491 0.814417 -0.463942 +vn -0.440352 0.775597 -0.452223 +vn -0.363170 0.769097 -0.525895 +vn -0.098117 0.833796 0.543260 +vn 0.225898 0.972991 -0.047426 +vn 0.354747 0.407697 0.841365 +vn 0.133244 0.575152 0.807092 +vn 0.426038 0.545122 0.721976 +vn -0.987457 0.150456 -0.047761 +vn -0.980895 0.182134 -0.067934 +vn -0.984558 0.135166 -0.111026 +vn -0.884701 0.410047 -0.221564 +vn 0.498947 0.743584 0.445082 +vn 0.002411 0.995666 -0.092837 +vn 0.031709 0.996368 -0.078890 +vn 0.040529 0.994049 -0.100986 +vn 0.055269 0.992676 -0.107150 +vn 0.042543 0.993988 -0.100772 +vn 0.081332 0.991424 -0.102084 +vn -0.249702 0.952300 0.175268 +vn -0.276040 0.943968 0.180822 +vn -0.232795 0.953368 0.192022 +vn -0.237403 0.957640 0.162786 +vn -0.965300 -0.243995 0.092837 +vn -0.973327 -0.224219 0.048128 +vn -0.246406 0.959105 -0.139195 +vn 0.178899 0.982421 0.053163 +vn 0.170598 0.984954 0.027192 +vn 0.261727 0.962676 0.068636 +vn -0.984527 -0.161748 0.066958 +vn -0.986969 -0.154363 0.045198 +vn -0.135441 -0.372875 0.917936 +vn -0.381390 -0.237403 0.893368 +vn -0.449538 -0.107639 0.886746 +vn 0.023316 -0.264168 -0.964171 +vn 0.096896 -0.195868 -0.975799 +vn -0.062990 -0.388043 -0.919462 +vn -0.239479 0.950926 -0.195837 +vn -0.243171 0.944304 -0.221625 +vn 0.347087 0.394879 -0.850612 +vn 0.245460 0.432783 -0.867397 +vn 0.189428 0.243538 -0.951201 +vn 0.849239 0.511704 0.129948 +vn 0.921262 0.355266 -0.158116 +vn 0.859828 0.486557 -0.154607 +vn 0.871731 0.472823 -0.128269 +vn 0.295175 0.866176 0.403150 +vn 0.273690 0.872036 0.405713 +vn 0.298013 0.854060 0.426313 +vn 0.886807 0.447737 0.114353 +vn 0.794671 0.596149 0.114261 +vn -0.722343 -0.691397 -0.010834 +vn -0.728782 -0.682394 -0.056551 +vn 0.827540 0.549333 -0.115452 +vn 0.828394 0.534898 -0.166143 +vn 0.818995 0.564806 -0.101016 +vn -0.967132 0.216224 -0.133671 +vn -0.954314 0.223304 -0.198523 +vn -0.587664 -0.257668 0.766930 +vn -0.327372 -0.400769 0.855678 +vn -0.303018 0.315683 -0.899167 +vn -0.289529 0.354381 -0.889126 +vn -0.310068 0.492996 -0.812860 +vn -0.140934 -0.438337 0.887661 +vn -0.173956 -0.315165 0.932920 +vn -0.192358 -0.110569 0.975066 +vn -0.188177 0.083041 0.978607 +vn -0.314859 0.073824 0.946257 +vn -0.970702 0.173681 0.166021 +vn -0.931181 0.295144 0.213874 +vn -0.949736 0.249336 0.189123 +vn -0.182867 0.218238 0.958586 +vn -0.221046 0.331736 0.917081 +vn -0.320353 0.228187 0.919370 +vn -0.252785 0.406537 0.877957 +vn -0.260201 0.457839 0.850063 +vn 0.234931 -0.874996 -0.423261 +vn 0.230628 -0.810999 -0.537614 +vn 0.297098 -0.852901 -0.429273 +vn -0.779595 0.355327 -0.515671 +vn -0.740501 0.500931 -0.447951 +vn -0.892636 0.302988 -0.333689 +vn -0.048952 -0.637440 -0.768914 +vn 0.025880 -0.733451 -0.679189 +vn 0.131443 -0.796289 -0.590442 +vn 0.229652 0.341746 -0.911283 +vn 0.178991 0.349101 -0.919828 +vn 0.244728 0.261299 -0.933714 +vn -0.290750 0.197363 -0.936186 +vn -0.294778 0.209479 -0.932279 +vn -0.400189 0.197455 -0.894894 +vn -0.343608 0.609027 0.714835 +vn -0.370983 0.598102 0.710349 +vn -0.255806 0.610828 0.749260 +vn 0.988647 0.137272 -0.060915 +vn 0.997131 0.059145 -0.047212 +vn 0.983947 0.178381 0.001099 +vn -0.036256 0.969268 0.243294 +vn -0.081057 0.971618 0.222175 +vn -0.996582 -0.034974 0.074801 +vn -0.997375 -0.053041 0.048891 +vn 0.391644 0.822260 0.412885 +vn 0.331126 0.848720 0.412275 +vn 0.353465 0.858516 0.371441 +vn -0.252998 -0.466536 -0.847530 +vn -0.178930 -0.489212 -0.853603 +vn -0.262703 -0.436598 -0.860408 +vn 0.780847 0.526292 0.336528 +vn 0.745750 0.556169 0.366741 +vn 0.743492 0.590350 0.314097 +vn 0.732749 0.503830 0.457350 +vn 0.696310 0.505966 0.509018 +vn 0.704886 0.529588 0.471816 +vn -0.967834 0.220069 -0.121677 +vn -0.936918 0.259316 -0.234352 +vn -0.947111 0.253273 -0.196936 +vn -0.459426 0.800714 -0.384411 +vn -0.993072 -0.056795 -0.102695 +vn -0.980621 0.144810 -0.131901 +vn -0.136876 0.990234 0.026032 +vn -0.361003 0.792596 0.491317 +vn -0.376659 0.757225 0.533555 +vn -0.325663 0.792627 0.515366 +vn 0.980346 -0.106082 -0.166204 +vn 0.979003 -0.064333 -0.193304 +vn 0.927702 0.275430 -0.251900 +vn 0.917936 0.311380 -0.245766 +vn -0.993225 0.061769 0.098148 +vn -0.995025 0.082888 0.055086 +vn -0.986694 0.147069 -0.069247 +vn -0.964812 0.161016 -0.207739 +vn -0.978912 0.098025 -0.179113 +vn 0.948027 -0.317698 -0.016572 +vn 0.942869 -0.333079 -0.007263 +vn 0.972869 -0.229011 0.031953 +vn -0.853969 -0.520249 -0.004059 +vn -0.740043 -0.669729 0.061312 +vn -0.225013 0.968657 -0.105075 +vn -0.655660 -0.640400 -0.399915 +vn -0.632374 -0.668142 -0.391919 +vn -0.711966 -0.552660 -0.433180 +vn -0.374584 0.830470 0.412244 +vn -0.019593 0.901395 0.432478 +vn -0.269112 0.861751 0.430067 +vn -0.202185 0.871548 0.446638 +vn -0.094394 -0.529038 -0.843318 +vn 0.056673 -0.720908 -0.690695 +vn -0.013581 0.576037 0.817286 +vn -0.037080 0.624897 0.779809 +vn -0.138890 0.648457 0.748466 +vn -0.054537 0.836909 0.544572 +vn -0.132054 0.880764 0.454726 +vn -0.295724 0.853542 0.428877 +vn -0.305368 0.826075 0.473586 +vn -0.297494 0.830378 0.471084 +vn -0.247658 0.774407 0.582171 +vn 0.010041 0.993744 0.111087 +vn 0.002503 0.994415 0.105258 +vn -0.026612 0.988922 0.145909 +vn 0.002594 0.998505 0.054567 +vn -0.029695 0.988128 0.150670 +vn -0.054964 0.987793 0.145604 +vn -0.021180 0.990020 0.139225 +vn -0.021821 0.876888 0.480117 +vn 0.072268 0.995056 -0.067812 +vn 0.100955 0.992248 -0.072268 +vn 0.130955 0.987182 -0.091037 +vn 0.089877 0.991577 -0.092959 +vn -0.994324 0.095645 -0.046052 +vn -0.977416 0.155065 -0.143345 +vn 0.510025 0.485916 0.709708 +vn 0.447035 0.390088 0.804956 +vn 0.573260 0.697043 0.430647 +vn 0.009247 0.981323 -0.192083 +vn -0.189581 0.910886 -0.366466 +vn -0.194342 0.879971 -0.433393 +vn -0.161443 0.889798 -0.426771 +vn 0.702384 0.706565 0.085849 +vn 0.539598 0.837153 0.089084 +vn 0.852992 0.445875 0.271249 +vn 0.889828 0.389843 0.237007 +vn 0.842830 0.453993 0.288888 +vn 0.071200 0.991485 -0.108951 +vn -0.928495 -0.364116 0.072665 +vn -0.578661 0.815546 0.002167 +vn -0.628590 0.765557 -0.137028 +vn -0.439589 0.864834 -0.242470 +vn -0.959624 0.250191 -0.128483 +vn 0.442274 -0.878201 0.181982 +vn 0.198401 -0.974364 0.105777 +vn 0.217627 -0.968719 0.119083 +vn -0.973083 0.145451 -0.178625 +vn -0.966979 0.123112 -0.223060 +vn -0.963652 0.105197 -0.245460 +vn -0.375713 0.396527 0.837581 +vn -0.307077 0.358196 0.881680 +vn -0.339793 0.406751 0.847987 +vn 0.165258 -0.471297 -0.866329 +vn 0.181555 -0.514695 -0.837886 +vn 0.180486 -0.584155 -0.791284 +vn -0.466140 0.085116 -0.880581 +vn -0.525193 0.031678 -0.850368 +vn -0.428022 0.192480 -0.883023 +vn 0.017579 0.090457 -0.995727 +vn 0.065004 0.066713 -0.995636 +vn 0.091220 -0.044832 -0.994812 +vn 0.015748 -0.999542 -0.025086 +vn 0.047151 -0.998657 -0.021088 +vn 0.042146 -0.998627 -0.030763 +vn 0.788873 0.417035 0.451369 +vn 0.282205 0.950407 -0.130497 +vn 0.245155 0.967650 -0.059420 +vn 0.182409 0.978057 -0.100497 +vn -0.678182 0.628254 -0.381207 +vn -0.741447 0.642079 -0.194769 +vn -0.602863 0.773003 -0.197363 +vn 0.582049 0.730766 0.356578 +vn -0.398755 -0.628803 -0.667501 +vn -0.405438 -0.516434 -0.754234 +vn -0.417707 -0.612232 -0.671316 +vn -0.991546 0.070986 0.108341 +vn -0.995697 0.057039 0.072573 +vn 0.586871 0.768731 0.254097 +vn 0.616169 0.763939 0.191534 +vn 0.657277 0.699759 0.279794 +vn -0.212531 -0.298837 -0.930326 +vn -0.190771 -0.315775 -0.929441 +vn -0.179205 -0.373272 -0.910215 +vn -0.671773 -0.056978 0.738548 +vn -0.673757 -0.100101 0.732109 +vn -0.707266 -0.069948 0.703452 +vn -0.563829 -0.140263 0.813868 +vn -0.552110 -0.126804 0.824030 +vn -0.665700 -0.139409 0.733055 +vn -0.088717 0.967376 0.237281 +vn -0.527543 0.840236 -0.124973 +vn -0.036042 0.917692 0.395611 +vn -0.048006 -0.319010 0.946501 +vn -0.070009 -0.107852 0.991668 +vn -0.091250 0.077181 0.992828 +vn -0.104953 0.211005 0.971801 +vn -0.113926 0.316507 0.941710 +vn -0.116581 0.397687 0.910062 +vn -0.135685 0.460280 0.877316 +vn -0.149968 0.501999 0.851741 +vn -0.148198 0.531724 0.833827 +vn -0.295114 0.523270 0.799402 +vn -0.163610 0.558885 0.812922 +vn -0.314310 0.554765 0.770318 +vn -0.214118 0.582018 0.784448 +vn -0.317484 0.583728 0.747276 +vn -0.427259 0.616535 0.661275 +vn -0.275002 0.639576 0.717826 +vn -0.800897 -0.370037 0.470748 +vn -0.809961 -0.362163 0.461257 +vn -0.840693 -0.329295 0.429823 +vn -0.058412 0.977477 0.202704 +vn -0.069155 0.979095 0.191260 +vn -0.288125 0.670797 0.683340 +vn -0.296213 0.683676 0.666921 +vn -0.372662 0.642048 0.669973 +vn -0.049989 0.985473 0.162236 +vn -0.055971 0.984649 0.165136 +vn -0.293527 0.769036 0.567797 +vn -0.354137 0.760338 0.544450 +vn -0.362804 0.723106 0.587725 +vn 0.996796 0.045808 0.065310 +vn 0.997284 0.051698 0.052187 +vn 0.995819 0.069826 0.058412 +vn 0.973876 0.199927 -0.107639 +vn 0.952300 0.285745 -0.107028 +vn 0.958617 0.280923 -0.046022 +vn 0.987579 -0.048830 -0.149297 +vn 0.989105 -0.035798 -0.142674 +vn 0.908292 0.304361 -0.286935 +vn 0.921567 0.297128 -0.249733 +vn -0.984497 -0.102115 -0.142399 +vn -0.991638 -0.128452 0.010102 +vn -0.993530 -0.106876 0.037690 +vn -0.998413 -0.042360 0.036622 +vn -0.995972 -0.087588 -0.017823 +vn -0.086825 0.224281 -0.970641 +vn -0.667623 0.663930 -0.336772 +vn -0.726981 0.206244 -0.654927 +vn -0.501816 -0.024659 -0.864620 +vn -0.513230 0.185705 -0.837886 +vn -0.327372 0.873440 0.360393 +vn -0.268532 0.883816 0.383007 +vn -0.301889 0.853389 0.424940 +vn 0.336344 0.842524 0.420667 +vn 0.679159 0.709555 0.187780 +vn 0.742790 0.648061 0.167974 +vn -0.690573 -0.716849 -0.095920 +vn -0.726402 -0.685232 -0.052492 +vn -0.437849 0.804468 0.401318 +vn 0.716880 0.679861 0.154393 +vn -0.110965 -0.492752 -0.863033 +vn -0.002014 -0.641865 -0.766778 +vn -0.101077 -0.561846 -0.821009 +vn -0.139683 0.738670 0.659413 +vn 0.052339 0.998566 -0.008118 +vn 0.090823 0.995819 0.007996 +vn 0.087771 0.995605 -0.032197 +vn -0.297525 0.877834 0.375286 +vn -0.363842 0.854976 0.369549 +vn -0.371197 0.824061 0.427900 +vn 0.036805 0.998901 0.028138 +vn 0.035585 0.997497 0.060762 +vn 0.040986 0.998718 0.029511 +vn 0.457930 0.832301 0.312235 +vn -0.985443 0.125797 0.114322 +vn -0.990692 0.125278 0.053102 +vn 0.503128 0.810144 0.300790 +vn 0.140996 0.983764 -0.110782 +vn 0.114414 0.985900 -0.121921 +vn -0.933073 -0.357524 0.038881 +vn 0.930937 -0.337168 -0.140080 +vn 0.978942 -0.189611 -0.075442 +vn 0.959319 -0.266213 -0.093783 +vn 0.116184 0.867519 0.483596 +vn -0.350414 0.425489 0.834346 +vn -0.458419 0.459090 0.760949 +vn -0.330332 0.523576 0.785302 +vn -0.009339 0.991852 -0.127018 +vn 0.228187 0.726188 0.648457 +vn 0.149998 0.756737 0.636250 +vn 0.149083 0.675619 0.722007 +vn 0.065706 0.987762 -0.141423 +vn 0.078494 0.989074 -0.124668 +vn 0.070772 0.987182 -0.142888 +vn 0.472793 0.644642 0.600726 +vn 0.358806 0.625660 0.692648 +vn 0.433943 0.622456 0.651295 +vn -0.170995 0.981201 0.089114 +vn -0.174139 0.980255 0.093478 +vn -0.189673 0.976257 0.104343 +vn -0.193487 0.972930 0.126164 +vn -0.940214 -0.327311 -0.093966 +vn -0.916166 0.356761 -0.182470 +vn -0.929685 0.302835 -0.209662 +vn -0.831111 -0.536821 -0.145054 +vn -0.823298 -0.547563 -0.149449 +vn -0.898495 -0.399060 -0.182806 +vn -0.450636 0.003143 -0.892666 +vn -0.428907 0.059511 -0.901364 +vn -0.383129 0.034669 -0.923032 +vn 0.723685 -0.340709 0.600116 +vn 0.704184 -0.334727 0.626118 +vn 0.725913 -0.269234 0.632862 +vn -0.504807 0.022217 -0.862911 +vn -0.517563 0.074343 -0.852382 +vn -0.554796 0.071657 -0.828883 +vn 0.169958 -0.574602 -0.800562 +vn 0.099063 -0.540147 -0.835688 +vn 0.110202 -0.543901 -0.831843 +vn 0.240486 0.062624 -0.968596 +vn 0.263344 0.082888 -0.961119 +vn 0.209632 0.160497 -0.964507 +vn 0.041627 0.164617 -0.985473 +vn -0.618641 0.701315 -0.354137 +vn -0.370190 -0.079104 -0.925565 +vn -0.451674 0.008118 -0.892117 +vn -0.259590 -0.139866 -0.955504 +vn 0.042848 0.998871 0.019807 +vn 0.045595 0.998901 0.008332 +vn 0.259255 0.931425 0.255348 +vn 0.199408 0.916501 0.346751 +vn 0.266915 0.890805 0.367656 +vn -0.934111 -0.356609 0.014283 +vn -0.197028 -0.223029 0.954680 +vn 0.016877 -0.278573 0.960234 +vn 0.033418 -0.131199 0.990783 +vn 0.025758 0.056764 0.998047 +vn 0.021973 0.212561 0.976897 +vn 0.013794 0.315012 0.948973 +vn -0.011780 0.397229 0.917631 +vn -0.029481 0.448378 0.893338 +vn -0.050417 0.498459 0.865413 +vn -0.062227 0.532975 0.843806 +vn -0.075472 0.554460 0.828761 +vn -0.094821 0.567156 0.818110 +vn -0.140355 0.606006 0.782952 +vn -0.175359 0.645466 0.743370 +vn -0.199591 0.669942 0.715049 +vn -0.986663 0.074953 0.144261 +vn -0.948332 0.211493 0.236427 +vn -0.986663 0.055239 0.153050 +vn -0.242378 0.699850 0.671865 +vn 0.536393 0.796411 0.279275 +vn -0.020569 -0.629261 -0.776879 +vn -0.063143 -0.598346 -0.798730 +vn 0.025269 -0.692221 -0.721213 +vn -0.401013 0.126499 -0.907285 +vn -0.439894 0.150365 -0.885342 +vn -0.426466 0.114780 -0.897183 +vn -0.239143 0.963103 -0.123325 +vn 0.936583 -0.346080 0.054781 +vn 0.938292 -0.345439 0.014985 +vn 0.940794 -0.334483 0.054506 +vn 0.896847 0.305460 -0.319834 +vn 0.898343 0.319590 -0.301309 +vn 0.905423 0.282540 -0.316782 +vn 0.984954 0.049257 -0.165502 +vn 0.988922 0.042695 -0.142064 +vn 0.980529 0.115879 -0.158391 +vn 0.972930 0.138096 -0.185156 +vn 0.963378 0.183538 -0.195471 +vn 0.949065 0.239601 -0.204535 +vn 0.923215 0.282907 -0.259987 +vn 0.944243 0.250954 -0.213111 +vn 0.963958 0.209235 -0.164159 +vn -0.996246 -0.071108 -0.049196 +vn -0.996094 -0.075747 -0.045320 +vn -0.675192 0.603992 -0.423353 +vn -0.694021 0.595630 -0.404340 +vn -0.861843 -0.506882 0.015473 +vn -0.258309 0.949461 -0.178137 +vn -0.245216 0.941160 -0.232429 +vn -0.227790 0.940031 -0.253853 +vn -0.228706 0.933744 -0.275307 +vn -0.254250 0.959929 -0.117740 +vn -0.277078 0.958037 -0.073031 +vn 0.933348 0.355602 0.048372 +vn 0.889645 0.451674 0.066927 +vn 0.873531 0.476424 0.099612 +vn -0.256203 0.963713 -0.074831 +vn -0.267312 0.961425 -0.064699 +vn -0.149266 0.984222 0.094821 +vn -0.989044 -0.142613 -0.037507 +vn -0.905454 -0.417829 0.074221 +vn -0.276315 0.960784 -0.022767 +vn -0.973510 0.200995 0.108798 +vn -0.977416 0.205267 0.050172 +vn -0.970367 -0.240974 0.016297 +vn -0.966613 -0.253548 -0.036500 +vn -0.898312 0.204443 0.388867 +vn -0.892422 0.259621 0.368999 +vn -0.863643 -0.494766 0.096500 +vn 0.311106 0.929380 0.198492 +vn 0.392010 0.889920 0.233100 +vn -0.748070 0.663533 -0.009095 +vn -0.736442 0.670156 0.092196 +vn -0.584155 0.808527 -0.070772 +vn 0.744438 0.552293 0.375134 +vn -0.262612 0.961425 -0.081668 +vn -0.890500 -0.454634 -0.016144 +vn 0.062960 0.996948 -0.045900 +vn -0.999268 0.034669 -0.015564 +vn -0.997223 0.063204 0.038881 +vn -0.993133 0.116214 0.012726 +vn -0.971740 -0.230354 0.051485 +vn -0.977111 -0.210608 -0.029328 +vn -0.930235 -0.366222 -0.022828 +vn -0.987121 0.065157 -0.146001 +vn -0.986389 -0.061434 -0.152409 +vn -0.774132 -0.630360 -0.057497 +vn -0.798944 -0.599658 -0.045259 +vn -0.916379 -0.398633 0.036225 +vn 0.428724 -0.881771 -0.196448 +vn 0.452681 -0.889248 -0.065493 +vn 0.409955 -0.890164 -0.198706 +vn -0.010132 0.516037 -0.856471 +vn 0.135472 0.528733 -0.837886 +vn 0.147221 0.257515 -0.954985 +vn -0.015290 -0.512009 -0.858821 +vn -0.424574 -0.306955 -0.851741 +vn -0.091464 -0.464034 -0.881069 +vn -0.927335 0.113041 -0.356670 +vn -0.929136 0.182073 -0.321726 +vn -0.889279 0.105472 -0.444990 +vn -0.984924 0.035737 -0.169225 +vn -0.954375 0.043306 -0.295389 +vn -0.950865 0.152623 -0.269356 +vn 0.133061 0.979583 -0.150517 +vn 0.124149 0.981414 -0.146245 +vn -0.703909 -0.541673 0.459365 +vn -0.787500 -0.115055 0.605457 +vn -0.666463 0.033052 -0.744774 +vn -0.772607 0.421827 -0.474441 +vn -0.115574 0.839290 0.531205 +vn 0.739219 -0.136631 -0.659444 +vn 0.670919 -0.283334 -0.685232 +vn 0.837794 -0.135319 -0.528886 +vn -0.028687 0.994537 -0.100070 +vn 0.153417 -0.901852 -0.403821 +vn 0.333018 -0.866207 -0.372448 +vn 0.448927 -0.820856 -0.353038 +vn -0.201514 0.679037 0.705893 +vn -0.188696 0.680319 0.708182 +vn 0.853481 -0.463546 -0.237983 +vn 0.828394 -0.503189 -0.246010 +vn -0.955992 0.273995 0.104617 +vn -0.961821 0.269326 0.048311 +vn -0.157476 0.985656 0.060488 +vn -0.158940 0.985260 0.062777 +vn -0.177953 0.965697 -0.188971 +vn -0.172582 0.973296 -0.151341 +vn -0.910184 0.388104 -0.144627 +vn -0.938963 0.301340 -0.165899 +vn -0.272744 0.961241 0.039705 +vn -0.466475 0.151616 -0.871426 +vn -0.490341 0.090426 -0.866817 +vn -0.930631 -0.359996 0.065340 +vn -0.944121 -0.329264 0.014039 +vn -0.805261 -0.591052 0.046571 +vn 0.054506 0.144169 -0.988037 +vn 0.014496 0.129734 -0.991424 +vn 0.085757 0.067293 -0.994018 +vn -0.468337 -0.075411 -0.880306 +vn -0.303476 -0.222999 -0.926359 +vn -0.304025 -0.162969 -0.938597 +vn -0.302164 -0.222602 -0.926878 +vn -0.386608 -0.042238 0.921262 +vn -0.528703 0.027009 0.848354 +vn -0.501785 -0.039003 0.864071 +vn -0.375225 -0.446791 0.812098 +vn -0.388867 -0.437300 0.810877 +vn -0.372387 -0.480239 0.794153 +vn -0.390851 -0.251839 -0.885311 +vn -0.415937 -0.211737 -0.884365 +vn -0.439772 -0.302011 -0.845759 +vn 0.779626 0.518754 0.350749 +vn 0.818476 0.478286 0.318247 +vn -0.425947 0.806848 0.409284 +vn -0.414167 0.830073 0.373302 +vn -0.921964 0.383435 0.054231 +vn -0.932401 0.360302 0.028260 +vn -0.965148 0.261574 -0.003937 +vn -0.403394 -0.459181 0.791436 +vn -0.317270 -0.441603 0.839229 +vn -0.291269 -0.426984 0.856044 +vn -0.987396 0.132328 -0.086581 +vn -0.993591 0.080325 -0.079226 +vn -0.396252 0.012665 0.918027 +vn -0.265358 -0.064791 0.961943 +vn -0.028108 -0.147771 0.988617 +vn 0.121830 -0.118168 0.985473 +vn 0.146825 0.070376 0.986633 +vn 0.150975 0.201666 0.967742 +vn 0.111484 0.290475 0.950346 +vn 0.085513 0.377850 0.921903 +vn 0.079989 0.442396 0.893216 +vn 0.062227 0.490799 0.869015 +vn 0.047212 0.519761 0.852962 +vn 0.015595 0.551897 0.833735 +vn -0.014985 0.554155 0.832240 +vn -0.048708 0.586810 0.808222 +vn -0.086856 0.636555 0.766320 +vn -0.118625 0.664632 0.737663 +vn -0.152623 0.695242 0.702353 +vn -0.174535 0.738273 0.651509 +vn -0.256417 0.736229 0.626209 +vn -0.126988 0.788995 0.601093 +vn -0.177831 0.784967 0.593432 +vn 0.984161 0.147282 0.098605 +vn 0.986785 0.133335 0.091952 +vn 0.990265 0.101993 0.094455 +vn 0.944426 -0.328471 0.012726 +vn 0.965361 0.185614 -0.183203 +vn 0.956725 0.216895 -0.193915 +vn 0.978057 0.135411 -0.158238 +vn 0.971374 0.175817 -0.159612 +vn -0.813501 0.374523 0.444868 +vn -0.925108 0.287149 0.248329 +vn -0.895505 0.223640 0.384747 +vn -0.286355 0.949736 0.126438 +vn 0.262215 0.928953 0.261299 +vn 0.183416 0.936583 0.298593 +vn -0.371197 -0.284524 -0.883847 +vn -0.190252 -0.238868 -0.952208 +vn -0.650746 -0.137364 -0.746757 +vn -0.873470 0.441389 -0.205329 +vn -0.871059 0.444807 -0.208228 +vn -0.927122 -0.242622 -0.285562 +vn -0.917234 -0.244484 -0.314463 +vn -0.489761 -0.397687 -0.775842 +vn -0.663259 -0.080966 -0.743980 +vn -0.511582 -0.501785 -0.697470 +vn -0.266793 0.947844 0.174322 +vn 0.248634 -0.961180 0.119510 +vn 0.239998 -0.960173 0.142857 +vn 0.048463 -0.996918 0.061617 +vn 0.712729 0.539354 0.448408 +vn -0.915494 0.179937 -0.359752 +vn -0.887478 0.189154 -0.420179 +vn 0.985382 0.070101 -0.155156 +vn -0.932798 0.341990 0.113529 +vn -0.942595 0.327342 0.065889 +vn -0.217170 0.954711 0.203253 +vn 0.018494 0.666738 0.745018 +vn -0.098788 0.660939 0.743858 +vn -0.076357 0.601550 0.795160 +vn -0.188360 0.977233 -0.097537 +vn -0.151646 0.987884 0.032197 +vn -0.150243 0.988311 0.025483 +vn -0.170385 0.871090 0.460585 +vn -0.207984 0.827357 0.521714 +vn -0.999786 0.019776 -0.002686 +vn -0.998077 0.061678 -0.000977 +vn -0.052767 0.934263 0.352611 +vn -0.768212 -0.611957 -0.187872 +vn -0.732047 -0.658254 -0.175329 +vn -0.654347 -0.716727 -0.240974 +vn -0.084567 0.183477 -0.979369 +vn -0.127812 0.120151 -0.984466 +vn -0.182684 0.099704 -0.978088 +vn -0.910215 0.348582 -0.223426 +vn -0.914426 -0.079134 -0.396893 +vn -0.939207 -0.107761 -0.325907 +vn -0.914426 -0.114292 -0.388226 +vn -0.029756 0.754265 0.655873 +vn 0.031678 0.769524 0.637806 +vn -0.679189 -0.674734 -0.288827 +vn -0.809900 -0.517350 -0.276345 +vn 0.190344 0.608936 0.770012 +vn 0.131504 0.623798 0.770409 +vn -0.208716 0.968444 -0.135990 +vn -0.211127 0.967803 -0.136998 +vn 0.177709 0.979614 -0.093478 +vn 0.172826 0.980956 -0.088534 +vn 0.237159 0.968413 -0.076785 +vn -0.153661 0.985504 -0.071505 +vn -0.152440 0.985412 -0.075228 +vn -0.143010 0.989380 -0.024903 +vn -0.166845 -0.649007 -0.742241 +vn -0.203009 -0.669057 -0.714896 +vn -0.127293 -0.682760 -0.719443 +vn -0.973754 0.135289 -0.182867 +vn -0.978851 0.061678 -0.195013 +vn 0.008423 0.088656 -0.996002 +vn 0.083987 0.081942 -0.993072 +vn 0.115024 0.962615 -0.245155 +vn 0.118259 0.977569 -0.174108 +vn 0.152806 0.964019 -0.217475 +vn 0.147496 0.976287 -0.158300 +vn -0.824702 -0.517991 -0.226905 +vn -0.704428 -0.689444 -0.168462 +vn -0.654134 -0.735862 -0.174841 +vn -0.652516 -0.716086 -0.247780 +vn -0.124180 0.874477 0.468856 +vn -0.047273 0.994781 -0.090152 +vn -0.173101 0.824549 0.538621 +vn -0.193030 0.815088 0.546190 +vn -0.518448 0.294076 -0.802911 +vn -0.484970 0.374279 -0.790368 +vn -0.465957 0.397351 -0.790521 +vn -0.897366 0.419935 0.135411 +vn -0.913724 0.396680 0.087710 +vn -0.247414 0.029786 -0.968444 +vn -0.139592 0.083071 -0.986694 +vn -0.145451 0.114292 -0.982727 +vn -0.683157 0.161809 -0.712088 +vn -0.631031 0.259926 -0.730888 +vn -0.616413 0.236122 -0.751152 +vn -0.207495 0.124027 -0.970306 +vn -0.245613 0.159948 -0.956053 +vn -0.267220 0.187292 -0.945250 +vn -0.416669 0.086856 -0.904874 +vn -0.385418 0.090030 -0.918332 +vn -0.526658 0.321055 -0.787103 +vn -0.538377 0.338664 -0.771630 +vn -0.488662 0.345195 -0.801233 +vn -0.292123 0.202399 -0.934690 +vn -0.309549 0.126560 -0.942412 +vn -0.268197 0.140049 -0.953124 +vn 0.200079 0.130100 -0.971099 +vn 0.183142 0.187750 -0.964965 +vn 0.204474 0.103824 -0.973327 +vn -0.362072 -0.517747 -0.775109 +vn -0.417585 -0.403912 -0.813898 +vn -0.414380 -0.331400 -0.847591 +vn -0.411878 0.421033 -0.808100 +vn -0.511307 0.452528 -0.730552 +vn -0.484481 0.382000 -0.786950 +vn -0.411573 0.365734 -0.834742 +vn -0.420240 0.372295 -0.827479 +vn -0.397046 0.365307 -0.841945 +vn -0.423444 -0.117008 -0.898312 +vn -0.362987 -0.130131 -0.922636 +vn -0.379894 -0.090365 -0.920591 +vn -0.368114 -0.114811 -0.922636 +vn -0.401135 -0.106174 -0.909818 +vn -0.279427 -0.313913 0.907376 +vn -0.251076 -0.196295 0.947844 +vn -0.478713 -0.185217 0.858180 +vn 0.591327 -0.734062 -0.333842 +vn 0.259651 -0.800226 -0.540513 +vn 0.172155 -0.758538 -0.628437 +vn -0.316538 -0.124638 0.940336 +vn -0.486221 -0.105777 0.867397 +vn -0.042329 -0.639943 -0.767235 +vn -0.041688 -0.694357 -0.718375 +vn 0.053255 -0.734367 -0.676626 +vn 0.003845 -0.684408 -0.729057 +vn 0.074587 -0.777123 -0.624866 +vn -0.567461 0.637593 -0.520981 +vn -0.453780 0.802454 -0.387432 +vn -0.568560 0.603809 -0.558672 +vn -0.287027 -0.014710 0.957793 +vn -0.279305 0.046388 0.959044 +vn -0.274117 0.253761 0.927580 +vn -0.171453 0.390118 0.904630 +vn -0.409223 0.359722 0.838496 +vn -0.238594 0.057497 0.969390 +vn -0.062044 -0.019105 0.997864 +vn 0.155614 -0.027131 0.987426 +vn 0.252388 0.089785 0.963439 +vn 0.268319 0.185827 0.945219 +vn 0.248512 0.272805 0.929380 +vn 0.235267 0.368908 0.899167 +vn 0.214576 0.425245 0.879238 +vn 0.166112 0.466079 0.868984 +vn 0.135655 0.507523 0.850887 +vn 0.102084 0.523576 0.845820 +vn 0.046724 0.533372 0.844569 +vn 0.014435 0.570971 0.820795 +vn -0.027039 0.626362 0.779015 +vn -0.054964 0.655324 0.753319 +vn -0.080203 0.690023 0.719291 +vn -0.100436 0.736442 0.668966 +vn -0.095584 0.784967 0.612079 +vn -0.108646 0.820643 0.560991 +vn 0.941282 0.021546 -0.336894 +vn 0.929044 0.055727 -0.365703 +vn 0.921110 -0.012085 -0.389080 +vn 0.938597 0.307505 0.156255 +vn 0.924863 0.318705 0.207373 +vn 0.906491 0.373455 0.196905 +vn 0.957457 0.225013 -0.180517 +vn 0.991211 -0.039491 -0.126011 +vn -0.074313 0.683554 -0.726096 +vn -0.142857 0.703970 -0.695700 +vn -0.149327 0.805811 -0.572985 +vn -0.602893 0.434004 -0.669424 +vn -0.879391 0.123997 -0.459609 +vn -0.809900 0.088260 -0.579821 +vn 0.870907 -0.436628 -0.225410 +vn 0.940764 -0.311533 -0.133702 +vn 0.940580 -0.294687 -0.168676 +vn -0.151830 0.950926 0.269570 +vn -0.146153 0.911832 0.383618 +vn -0.056459 0.896969 0.438429 +vn 0.030091 0.884518 0.465499 +vn 0.148534 0.859828 0.488449 +vn 0.645680 0.655629 0.391430 +vn 0.142064 0.281594 -0.948943 +vn 0.299387 0.408124 -0.862392 +vn 0.153600 0.137700 -0.978484 +vn -0.609363 0.679586 0.408399 +vn 0.123630 -0.152898 -0.980468 +vn 0.166784 -0.319590 -0.932737 +vn 0.134434 -0.071383 -0.988342 +vn 0.232368 -0.090976 -0.968352 +vn -0.408979 -0.551408 -0.727073 +vn -0.439985 -0.519028 -0.732780 +vn -0.452834 -0.552110 -0.700064 +vn 0.986541 -0.119388 -0.111667 +vn 0.941710 0.093997 -0.322977 +vn 0.977172 -0.087039 -0.193732 +vn 0.529679 -0.827540 0.185919 +vn 0.481460 -0.876156 -0.022675 +vn 0.554796 -0.740532 0.379162 +vn 0.475234 -0.851558 0.221198 +vn 0.496719 -0.762413 0.414655 +vn 0.508927 -0.650410 0.563829 +vn 0.280831 0.865688 0.414319 +vn -0.310312 0.812769 0.493027 +vn -0.279733 0.810755 0.514176 +vn -0.195654 0.798639 0.569079 +vn -0.209998 0.766198 0.607288 +vn -0.192816 0.977752 -0.082339 +vn -0.198218 0.976806 -0.080721 +vn -0.138585 0.990326 0.002045 +vn -0.967009 0.233222 -0.102359 +vn 0.831721 0.508774 0.222205 +vn 0.800256 0.535173 0.270455 +vn -0.156529 0.905332 0.394757 +vn -0.060244 0.997406 -0.039094 +vn -0.055452 0.998413 -0.009766 +vn -0.897916 -0.420087 -0.131291 +vn -0.061708 0.978515 0.196600 +vn -0.063417 0.965880 0.251045 +vn -0.059236 0.950560 0.304819 +vn 0.094821 0.966979 -0.236518 +vn 0.129215 0.945158 -0.299875 +vn -0.922910 0.280984 -0.263192 +vn -0.920927 0.218818 -0.322428 +vn -0.905301 0.139805 -0.401013 +vn 0.181310 0.975585 -0.123783 +vn 0.017823 0.815088 0.579058 +vn -0.849940 0.511277 0.127110 +vn -0.850368 0.512955 0.117008 +vn -0.936888 0.316782 0.147771 +vn -0.938078 0.326395 0.115909 +vn -0.914426 0.379650 0.140110 +vn -0.031159 -0.568590 -0.822016 +vn 0.023804 -0.623218 -0.781671 +vn 0.011963 -0.546495 -0.837336 +vn -0.934507 0.195135 0.297586 +vn -0.983093 0.045076 0.177404 +vn -0.945036 0.030183 0.325480 +vn 0.721305 0.076113 -0.688375 +vn 0.598102 0.081057 -0.797266 +vn 0.618641 0.024476 -0.785272 +vn -0.465529 0.134953 -0.874660 +vn -0.527696 0.221870 -0.819910 +vn -0.499191 0.161443 -0.851283 +vn 0.596088 -0.779900 0.190771 +vn 0.618702 -0.755974 0.213782 +vn 0.612842 -0.744346 0.265206 +vn 0.421522 0.804071 0.419233 +vn 0.342296 -0.916105 0.208716 +vn 0.295328 -0.929929 0.219031 +vn 0.304086 -0.935728 0.178564 +vn -0.895840 0.314768 -0.313608 +vn -0.886166 0.380322 -0.264595 +vn -0.898099 0.377209 -0.226051 +vn 0.163488 0.943052 -0.289651 +vn 0.202429 0.915952 -0.346446 +vn 0.180364 0.919980 -0.347942 +vn -0.063417 0.996338 -0.057009 +vn -0.255440 0.710013 0.656209 +vn -0.149632 0.696341 0.701895 +vn -0.120945 0.646474 0.753258 +vn -0.426130 0.489792 -0.760552 +vn -0.366649 0.569903 -0.735343 +vn -0.415204 0.523911 -0.743706 +vn 0.524796 0.742729 0.415815 +vn 0.541581 0.722709 0.429365 +vn 0.574053 0.707144 0.412702 +vn 0.157231 -0.154576 -0.975372 +vn 0.143895 -0.144261 -0.979003 +vn 0.100620 -0.179357 -0.978607 +vn 0.151494 -0.153539 -0.976440 +vn 0.017426 -0.998993 -0.040864 +vn 0.009644 -0.999451 -0.031648 +vn 0.040254 -0.998810 -0.026551 +vn 0.056917 -0.992157 0.111118 +vn 0.033631 -0.997742 0.058077 +vn -0.015198 -0.999634 0.021027 +vn -0.230903 0.742912 -0.628285 +vn 0.088198 0.371563 -0.924192 +vn -0.038331 0.472365 -0.880551 +vn -0.363079 0.082339 -0.928098 +vn -0.403729 0.113834 -0.907743 +vn -0.239540 0.132756 -0.961730 +vn 0.074557 -0.441267 -0.894253 +vn 0.132572 -0.441145 -0.887570 +vn 0.128819 -0.446699 -0.885342 +vn -0.332591 -0.065493 -0.940764 +vn -0.322886 -0.172308 -0.930601 +vn -0.178747 0.177007 -0.967834 +vn -0.272469 0.173833 -0.946318 +vn 0.873928 -0.451033 -0.181036 +vn 0.887753 -0.435896 -0.147771 +vn 0.871059 -0.455336 -0.184118 +vn -0.397168 -0.089816 -0.913327 +vn -0.145238 -0.322886 0.935209 +vn -0.178198 -0.226814 0.957488 +vn -0.236488 -0.137700 0.961821 +vn -0.211676 0.007569 0.977294 +vn -0.194647 0.051454 0.979492 +vn -0.141942 0.128819 0.981445 +vn -0.037507 0.103702 0.993896 +vn 0.206519 0.125370 0.970367 +vn 0.334422 0.142552 0.931547 +vn 0.186316 0.234809 0.953978 +vn 0.321665 0.228889 0.918760 +vn 0.391766 0.195013 0.899136 +vn 0.093234 -0.715506 -0.692312 +vn 0.041261 -0.690786 -0.721854 +vn 0.151555 -0.767785 -0.622517 +vn 0.435926 0.202246 0.876919 +vn 0.417646 0.258003 0.871181 +vn 0.386914 0.327372 0.862026 +vn 0.297006 0.388775 0.872127 +vn 0.251473 0.437971 0.863094 +vn 0.196081 0.480819 0.854579 +vn 0.151646 0.496109 0.854885 +vn 0.140996 0.519913 0.842494 +vn 0.107913 0.543352 0.832514 +vn 0.040834 0.604602 0.795434 +vn 0.009796 0.643605 0.765282 +vn -0.017823 0.681539 0.731529 +vn -0.054018 0.720542 0.691275 +vn -0.030335 0.763421 0.645131 +vn 0.009033 0.704398 0.709738 +vn 0.051790 0.667318 0.742943 +vn 0.919156 0.388409 -0.064974 +vn 0.904691 0.424024 -0.041505 +vn 0.938841 0.276009 -0.205756 +vn 0.949522 0.279977 -0.141270 +vn 0.975127 -0.006439 -0.221412 +vn 0.962310 0.069735 -0.262764 +vn 0.979003 -0.006500 -0.203711 +vn 0.923002 0.207923 -0.323679 +vn 0.855800 -0.097720 0.507920 +vn 0.912992 -0.012665 0.407727 +vn 0.875454 -0.028565 0.482437 +vn -0.449293 -0.859462 -0.243812 +vn -0.391675 -0.897153 -0.204077 +vn -0.160253 -0.967895 -0.193548 +vn -0.209021 0.818781 -0.534654 +vn -0.913907 0.240516 -0.326945 +vn -0.934538 0.176336 -0.309030 +vn -0.900327 0.208075 -0.382214 +vn 0.978668 -0.037751 -0.201788 +vn 0.238044 0.866268 0.439161 +vn 0.326273 0.913816 0.241798 +vn -0.489731 0.780755 0.387982 +vn -0.350505 0.849025 0.395276 +vn 0.966796 -0.083743 -0.241371 +vn 0.974273 -0.028352 -0.223548 +vn 0.944823 -0.029969 -0.326151 +vn 0.939604 -0.110874 -0.323740 +vn 0.966887 -0.241432 -0.082369 +vn 0.987701 -0.155248 -0.017273 +vn 0.978393 -0.199957 -0.052278 +vn 0.867458 0.477767 0.138676 +vn 0.848231 0.499985 0.174566 +vn 0.921598 0.367260 0.125462 +vn -0.004181 -0.999939 -0.009156 +vn 0.299631 -0.953520 0.031190 +vn 0.466079 -0.880398 0.087374 +vn 0.523728 -0.830012 0.191687 +vn 0.675741 -0.686209 0.269143 +vn 0.677694 -0.689505 0.255501 +vn 0.808954 0.200690 -0.552507 +vn 0.791101 0.292215 -0.537339 +vn 0.842830 0.195959 -0.501206 +vn 0.716666 -0.611438 -0.335337 +vn 0.835627 -0.445235 -0.321635 +vn 0.453261 -0.832759 -0.317850 +vn 0.928159 0.311228 -0.203986 +vn 0.906980 -0.051119 -0.418012 +vn 0.383709 -0.905942 0.178838 +vn 0.705679 -0.662923 0.250008 +vn 0.918729 -0.372600 -0.130711 +vn 0.931669 -0.346751 -0.108188 +vn 0.987457 -0.148381 -0.053529 +vn 0.217322 0.816279 0.535173 +vn -0.337840 0.837642 0.429182 +vn -0.193609 0.979400 -0.057131 +vn -0.898343 0.438795 -0.019288 +vn -0.094546 0.949858 0.297983 +vn -0.094180 0.995544 0.001068 +vn 0.151891 0.930143 -0.334239 +vn -0.974853 -0.220618 -0.030976 +vn -0.987671 -0.143162 0.063143 +vn -0.945616 -0.279366 0.166540 +vn 0.058931 0.975188 -0.213324 +vn -0.979034 -0.142613 -0.145329 +vn -0.001495 0.850765 0.525498 +vn -0.949614 -0.086520 -0.301218 +vn -0.034242 0.748863 0.661824 +vn -0.903378 0.106418 -0.415357 +vn -0.957457 0.158940 0.240822 +vn -0.970977 0.136906 0.196081 +vn -0.951750 0.228004 0.205329 +vn -0.016816 0.810938 0.584857 +vn -0.885250 -0.454848 0.096927 +vn -0.926756 -0.366283 0.083163 +vn -0.935545 -0.338878 0.099551 +vn 0.001740 0.997803 -0.066195 +vn -0.005463 0.997955 -0.063509 +vn 0.034303 0.997406 -0.063021 +vn -0.850948 -0.074282 -0.519913 +vn -0.889615 -0.015412 -0.456435 +vn -0.860988 0.080935 -0.502121 +vn -0.974761 -0.178350 -0.134220 +vn -0.791650 -0.096713 -0.603229 +vn -0.766350 -0.105472 -0.633656 +vn -0.821345 -0.082186 -0.564409 +vn -0.055635 0.910581 0.409528 +vn 0.961211 0.005188 -0.275674 +vn 0.986328 0.134373 0.095126 +vn 0.326212 0.220557 0.919187 +vn 0.234413 0.258766 0.937040 +vn 0.292276 0.341014 0.893429 +vn -0.574816 0.329966 -0.748772 +vn -0.549730 0.278695 -0.787439 +vn -0.558794 0.329600 -0.760979 +vn 0.803369 -0.520280 -0.289621 +vn 0.834040 -0.473434 -0.283212 +vn 0.861232 -0.444533 -0.246284 +vn 0.209143 -0.954588 -0.212073 +vn 0.063906 -0.982391 -0.175451 +vn 0.288644 -0.935179 -0.205084 +vn 0.122135 0.130467 -0.983886 +vn 0.113681 0.067202 -0.991211 +vn 0.174566 0.096622 -0.979888 +vn 0.124119 0.088931 -0.988250 +vn 0.111698 0.129917 -0.985198 +vn 0.111423 -0.056795 -0.992126 +vn 0.183172 -0.084933 -0.979400 +vn -0.622333 0.373241 -0.687979 +vn -0.623615 0.365642 -0.690909 +vn -0.644612 0.425092 -0.635395 +vn -0.330882 -0.185430 -0.925230 +vn -0.354472 0.020112 -0.934843 +vn -0.333232 0.001160 -0.942839 +vn -0.322336 -0.074068 -0.943693 +vn -0.458052 0.135899 -0.878445 +vn -0.482253 0.142216 -0.864376 +vn -0.444502 0.127812 -0.886593 +vn -0.627247 -0.126041 -0.768517 +vn -0.757591 -0.339457 -0.557482 +vn -0.669759 -0.337657 -0.661336 +vn -0.677267 -0.692129 -0.249458 +vn -0.459243 -0.853664 -0.245643 +vn -0.680258 -0.696707 -0.227607 +vn 0.287240 0.157109 -0.944853 +vn 0.306833 0.109867 -0.945372 +vn 0.327586 0.214301 -0.920164 +vn -0.125797 -0.371258 0.919950 +vn -0.219886 -0.270913 0.937132 +vn -0.129398 -0.103854 0.986114 +vn -0.140049 0.011292 0.990051 +vn -0.074190 0.099948 0.992218 +vn -0.005432 0.168615 0.985656 +vn 0.059236 0.217566 0.974212 +vn 0.193060 0.308329 0.931455 +vn 0.322672 0.326029 0.888577 +vn 0.283547 -0.187811 0.940367 +vn 0.456771 -0.142247 0.878109 +vn 0.437239 -0.308939 0.844600 +vn 0.228553 -0.193182 0.954161 +vn 0.332377 -0.301096 0.893765 +vn 0.332926 -0.069124 0.940397 +vn 0.121647 -0.158147 0.979888 +vn 0.195593 -0.110660 0.974395 +vn 0.220252 0.210425 0.952452 +vn 0.262551 0.171575 0.949522 +vn 0.153417 0.111087 0.981872 +vn 0.112430 -0.083468 0.990143 +vn 0.092135 -0.019959 0.995544 +vn 0.384075 0.319010 0.866421 +vn 0.390118 0.318369 0.863948 +vn 0.110538 -0.972259 -0.206030 +vn 0.083224 -0.955535 -0.282846 +vn 0.328379 -0.906400 -0.265694 +vn 0.331339 0.404340 0.852443 +vn 0.274300 0.435377 0.857418 +vn 0.180273 0.507004 0.842860 +vn 0.165227 0.525071 0.834834 +vn 0.129185 0.577990 0.805719 +vn 0.083682 0.628986 0.772851 +vn 0.049654 0.741447 0.669149 +vn 0.094180 0.689413 0.718192 +vn 0.974883 0.218543 -0.042482 +vn 0.983612 0.171545 -0.055483 +vn 0.983551 0.166265 0.070162 +vn 0.901608 0.425306 0.078585 +vn 0.881832 0.466842 0.066317 +vn 0.904843 0.417432 0.083468 +vn 0.887265 0.460921 -0.016480 +vn 0.882931 0.469283 -0.013062 +vn 0.827387 0.525956 -0.196814 +vn 0.795312 0.540239 -0.274941 +vn 0.809931 0.540971 -0.226478 +vn -0.999115 -0.031709 0.027223 +vn -0.995575 -0.087069 0.034974 +vn -0.978576 -0.123081 -0.164861 +vn -0.897794 0.373333 -0.233589 +vn -0.125370 -0.497696 0.858211 +vn -0.024506 -0.469985 0.882321 +vn -0.131962 -0.427656 -0.894223 +vn -0.093142 -0.458785 -0.883633 +vn 0.978851 0.027253 -0.202704 +vn 0.914609 0.326487 -0.238441 +vn -0.481246 0.776330 0.407025 +vn -0.527970 0.755547 0.387707 +vn 0.723991 0.483657 0.491806 +vn 0.759941 0.491623 0.425123 +vn 0.745811 0.522904 0.412641 +vn -0.393689 0.811518 0.431745 +vn -0.951903 -0.285073 -0.112094 +vn -0.841334 -0.540391 0.009583 +vn -0.893765 -0.447676 0.026399 +vn -0.878536 -0.470962 -0.079440 +vn -0.961455 0.251564 0.110752 +vn -0.676931 0.644673 0.355083 +vn -0.846706 0.488052 0.211798 +vn 0.158391 -0.820124 -0.549791 +vn 0.211859 -0.827845 -0.519364 +vn 0.179601 -0.859554 -0.478378 +vn 0.929624 0.368145 -0.015137 +vn 0.920408 0.390301 -0.022004 +vn 0.927366 0.374126 0.000702 +vn 0.531510 -0.846583 0.027467 +vn 0.581805 -0.804559 0.118839 +vn 0.519486 -0.853023 -0.049654 +vn 0.995178 -0.074038 -0.063967 +vn 0.984008 0.163366 0.070589 +vn 0.980987 0.178625 0.075533 +vn 0.998901 0.045076 0.011231 +vn -0.842372 -0.251808 -0.476363 +vn -0.824244 -0.240791 -0.512436 +vn -0.868709 0.063265 -0.491226 +vn 0.437391 -0.014222 -0.899136 +vn 0.780969 0.332133 -0.528916 +vn 0.106296 -0.993866 0.030183 +vn 0.351787 0.099948 -0.930692 +vn 0.276986 0.120670 -0.953246 +vn 0.295114 0.181951 -0.937956 +vn 0.346355 0.036592 0.937376 +vn 0.282174 0.075472 0.956359 +vn 0.305765 -0.151097 0.940031 +vn -0.154210 -0.479110 -0.864071 +vn 0.263924 0.800958 0.537370 +vn 0.268166 0.774957 0.572283 +vn 0.175817 0.806482 0.564470 +vn -0.366100 0.833766 0.413190 +vn -0.394726 0.855983 0.333811 +vn -0.306131 0.786737 0.535997 +vn -0.206458 0.975921 -0.070101 +vn -0.974487 0.216712 -0.058229 +vn -0.044496 0.971068 0.234504 +vn -0.090152 0.995819 -0.014161 +vn -0.054933 0.983673 0.171270 +vn -0.094821 0.977813 0.186743 +vn 0.071291 0.980529 -0.182836 +vn -0.467238 0.834864 -0.290902 +vn -0.429975 0.874142 -0.225745 +vn -0.473006 0.826991 -0.303842 +vn 0.152837 0.986450 -0.059481 +vn 0.015931 0.845393 0.533860 +vn -0.937681 -0.111209 -0.329173 +vn -0.922941 0.110385 -0.368725 +vn 0.038362 0.848567 0.527665 +vn -0.008484 0.854366 0.519578 +vn 0.255623 0.941404 0.219947 +vn 0.425794 0.853450 0.300516 +vn 0.374065 0.864254 0.336314 +vn 0.375744 0.881497 0.285897 +vn 0.982788 -0.170446 -0.070925 +vn 0.974364 -0.208960 -0.083041 +vn 0.859462 0.450514 0.241493 +vn 0.796228 0.593554 0.116977 +vn -0.824793 -0.549364 0.133732 +vn -0.923338 -0.374706 0.083743 +vn -0.838679 -0.543992 -0.025513 +vn 0.027894 0.771264 0.635853 +vn 0.394299 0.786035 0.476089 +vn 0.399213 0.861629 0.313303 +vn 0.577441 0.656362 0.485519 +vn -0.969390 0.188177 0.157598 +vn -0.935209 0.281777 0.214331 +vn -0.931242 0.229347 0.283059 +vn 0.066439 -0.449141 -0.890957 +vn -0.274667 -0.261208 -0.925352 +vn -0.027833 -0.338420 -0.940550 +vn 0.182440 0.962310 -0.201544 +vn 0.203192 0.937742 -0.281625 +vn 0.950163 -0.293161 -0.105747 +vn 0.952879 -0.286691 -0.099094 +vn 0.905057 -0.406262 -0.125614 +vn 0.228614 -0.736015 -0.637165 +vn 0.221473 -0.741874 -0.632862 +vn 0.274453 -0.774468 -0.569903 +vn -0.031587 -0.488754 -0.871822 +vn -0.121525 -0.463576 -0.877651 +vn -0.778680 -0.619892 -0.096591 +vn -0.770318 -0.608997 -0.188910 +vn -0.292917 0.198370 0.935301 +vn -0.386090 0.125462 0.913877 +vn -0.446669 0.214454 0.868587 +vn -0.408765 0.295297 0.863521 +vn 0.442335 -0.896786 -0.008667 +vn 0.456740 -0.889462 0.014679 +vn 0.480270 -0.877102 0.001495 +vn -0.199805 0.091372 0.975555 +vn -0.191168 -0.411115 -0.891293 +vn -0.145146 -0.445082 -0.883633 +vn -0.120792 -0.469375 -0.874660 +vn -0.256478 -0.417280 -0.871792 +vn 0.107578 -0.141514 -0.984039 +vn 0.084445 -0.145909 -0.985656 +vn -0.392712 -0.289804 -0.872768 +vn -0.369610 -0.458876 -0.807947 +vn -0.261544 -0.157964 -0.952147 +vn 0.112339 0.419385 -0.900815 +vn -0.236274 0.559343 -0.794519 +vn -0.399853 -0.063143 -0.914365 +vn -0.270180 -0.683676 -0.677877 +vn -0.043336 -0.705283 -0.707572 +vn -0.303598 -0.632374 -0.712668 +vn -0.046632 -0.492019 0.869320 +vn -0.084750 -0.419111 0.903928 +vn -0.134129 -0.520463 -0.843257 +vn -0.054598 -0.577410 -0.814600 +vn -0.082278 -0.567614 -0.819147 +vn -0.074160 -0.234352 0.969298 +vn 0.015503 -0.063662 0.997833 +vn 0.021119 0.026490 0.999420 +vn 0.058199 0.135746 0.989013 +vn 0.080386 0.203864 0.975677 +vn 0.115970 0.264565 0.957335 +vn -0.581866 0.290201 -0.759697 +vn -0.587512 0.206397 -0.782434 +vn -0.618580 0.324839 -0.715384 +vn -0.137364 -0.385937 0.912229 +vn -0.035157 -0.196356 0.979888 +vn 0.256264 -0.274514 0.926786 +vn 0.978759 -0.167425 -0.118229 +vn 0.889096 -0.457564 0.008332 +vn 0.991974 -0.108158 -0.065096 +vn 0.885769 0.311502 -0.344035 +vn 0.869350 0.306162 -0.387860 +vn 0.900174 0.268685 -0.342723 +vn 0.135319 -0.421735 0.896542 +vn 0.161657 -0.237861 0.957732 +vn 0.180822 -0.284005 0.941588 +vn 0.234657 0.137974 0.962218 +vn 0.297372 0.125156 0.946501 +vn 0.214942 0.066103 0.974364 +vn 0.186560 0.383251 0.904569 +vn 0.208533 0.474288 0.855281 +vn 0.146031 0.447432 0.882290 +vn 0.196356 0.366283 0.909513 +vn 0.191107 0.308756 0.931730 +vn 0.118015 0.376782 0.918729 +vn 0.005371 -0.108310 0.994079 +vn 0.112033 -0.067995 0.991363 +vn 0.168615 -0.098605 0.980712 +vn 0.277291 -0.150884 0.948851 +vn -0.247108 -0.947844 -0.201239 +vn -0.099521 -0.978759 -0.179144 +vn -0.192694 -0.952971 -0.233894 +vn -0.101077 0.145482 0.984161 +vn -0.156682 0.152318 0.975799 +vn -0.126896 0.120182 0.984588 +vn -0.721488 -0.224769 0.654897 +vn -0.761101 0.012055 0.648488 +vn -0.732902 -0.142918 0.665120 +vn 0.420698 0.337626 0.842006 +vn 0.415723 0.362926 0.833918 +vn 0.221839 0.511704 0.830012 +vn 0.187262 0.556352 0.809534 +vn 0.141606 0.609180 0.780236 +vn 0.124027 0.652669 0.747398 +vn 0.895505 -0.435347 -0.092166 +vn 0.884579 -0.457533 -0.090213 +vn 0.884884 -0.461684 -0.061525 +vn 0.968047 0.239448 -0.074252 +vn 0.968169 0.215522 -0.127171 +vn 0.987274 0.056337 0.148564 +vn 0.981414 0.133854 0.137364 +vn -0.778680 -0.561205 -0.280496 +vn 0.856441 0.516007 -0.014069 +vn 0.852351 0.470351 -0.228584 +vn -0.977416 0.210730 -0.014740 +vn -0.959441 0.280831 0.024049 +vn -0.922117 0.381390 0.064760 +vn -0.082980 -0.994140 0.069216 +vn -0.037873 -0.997650 0.056612 +vn -0.026093 -0.996948 0.073489 +vn 0.201910 0.018555 0.979217 +vn 0.220283 0.006775 0.975402 +vn 0.200537 0.123295 0.971892 +vn 0.969451 -0.227241 0.092318 +vn 0.988372 -0.126926 0.083529 +vn 0.982147 -0.148839 0.114841 +vn 0.904324 0.398938 -0.151646 +vn 0.921018 0.062532 -0.384381 +vn 0.516770 0.033692 -0.855434 +vn -0.928739 -0.304117 0.211951 +vn -0.974273 -0.146245 0.171392 +vn -0.945677 -0.297800 0.130131 +vn -0.805322 -0.404981 -0.432905 +vn -0.769585 -0.369427 -0.520798 +vn 0.943510 0.304910 -0.129490 +vn -0.208808 0.865627 0.455031 +vn -0.399609 0.808252 0.432447 +vn -0.489517 0.769494 0.410138 +vn 0.864772 0.487716 0.119419 +vn 0.886349 0.443800 0.131748 +vn 0.757195 0.230384 -0.611164 +vn 0.690023 0.148869 -0.708274 +vn 0.755028 0.105930 -0.647053 +vn -0.869076 0.058351 -0.491165 +vn 0.124393 0.712241 -0.690786 +vn 0.130253 0.734947 -0.665456 +vn 0.187445 0.809168 -0.556810 +vn 0.160985 0.851894 -0.498276 +vn 0.877743 -0.460799 -0.131108 +vn 0.935881 -0.348369 -0.052126 +vn 0.925962 -0.364696 -0.097751 +vn 0.493027 -0.770562 -0.403851 +vn -0.052339 -0.838435 -0.542436 +vn 0.591998 -0.451796 -0.667348 +vn 0.633045 -0.484542 -0.603687 +vn 0.593890 -0.587756 -0.549364 +vn 0.632740 0.071535 0.771020 +vn 0.753960 -0.015595 0.656697 +vn 0.582873 0.150914 0.798395 +vn -0.042085 -0.953368 -0.298746 +vn 0.214301 -0.942015 -0.258156 +vn 0.263100 -0.923521 -0.279031 +vn 0.991760 -0.122868 -0.035890 +vn 0.999908 -0.005219 -0.011414 +vn 0.998077 -0.001343 0.061556 +vn 0.731437 0.518693 -0.442610 +vn 0.802545 0.462905 -0.376263 +vn 0.790124 0.414411 -0.451552 +vn 0.189123 0.781396 0.594653 +vn 0.286386 0.777856 0.559374 +vn 0.217872 0.854366 0.471755 +vn 0.182379 -0.799646 -0.572069 +vn 0.180242 -0.835658 -0.518815 +vn 0.806818 0.558061 0.193884 +vn 0.817530 0.519211 0.249001 +vn -0.613025 0.778375 0.135166 +vn -0.619465 0.743461 0.251991 +vn -0.853298 0.477279 0.209876 +vn 0.791009 0.568926 0.224952 +vn 0.800409 0.549608 0.239204 +vn 0.798181 0.536760 0.273415 +vn -0.428144 0.874630 0.227241 +vn -0.211951 0.976684 -0.033815 +vn -0.069277 0.970397 0.231300 +vn -0.130528 0.990387 0.045351 +vn 0.078982 0.989044 -0.124485 +vn 0.131046 0.991302 -0.010254 +vn 0.010651 0.852229 0.522996 +vn -0.985321 0.030854 -0.167821 +vn -0.270821 -0.428816 -0.861812 +vn -0.277352 -0.447554 -0.850124 +vn -0.447340 -0.402387 -0.798700 +vn -0.416456 0.018952 0.908933 +vn -0.231819 -0.027009 0.972350 +vn -0.255684 -0.010834 0.966674 +vn 0.322489 0.012726 -0.946471 +vn 0.409925 -0.289804 -0.864834 +vn 0.646779 -0.708029 -0.283425 +vn 0.818628 -0.530992 -0.218787 +vn 0.393841 -0.891690 -0.222999 +vn 0.557604 -0.794092 -0.241798 +vn 0.643269 -0.741966 -0.188788 +vn 0.965239 -0.260506 -0.021027 +vn 0.926328 -0.368786 -0.076571 +vn 0.922941 -0.374340 -0.089358 +vn -0.116184 -0.500412 0.857936 +vn -0.123783 -0.521195 0.844386 +vn -0.142003 -0.656941 0.740440 +vn -0.977142 0.106265 0.184027 +vn -0.870754 0.436476 0.226356 +vn -0.856014 0.444777 0.263405 +vn -0.863369 0.436689 0.252663 +vn -0.956328 0.113865 -0.269143 +vn -0.939787 0.086489 -0.330546 +vn -0.930387 -0.007324 -0.366466 +vn 0.021058 -0.828516 -0.559526 +vn 0.192175 -0.871303 -0.451521 +vn 0.124699 -0.851497 -0.509262 +vn 0.017243 0.785333 0.618793 +vn 0.182257 0.973052 -0.141179 +vn -0.790521 -0.567492 -0.230140 +vn -0.226936 0.246071 -0.942289 +vn -0.138981 0.158238 -0.977538 +vn -0.496811 0.368389 0.785760 +vn -0.470290 0.362468 0.804590 +vn -0.487533 0.315683 0.813990 +vn -0.843532 0.037019 -0.535752 +vn -0.272958 0.306681 0.911832 +vn -0.380474 0.354686 0.854030 +vn -0.099979 0.196142 0.975433 +vn 0.024201 0.044649 0.998688 +vn 0.011048 -0.119755 0.992737 +vn 0.423750 -0.904660 0.044313 +vn 0.463332 -0.878903 0.113102 +vn 0.538133 -0.731590 0.418470 +vn -0.476028 0.044130 -0.878292 +vn -0.518418 0.122227 -0.846309 +vn -0.526505 0.071352 -0.847163 +vn 0.072573 -0.609607 -0.789361 +vn -0.061159 -0.584185 -0.809290 +vn 0.032319 -0.682302 -0.730338 +vn 0.034761 -0.183721 -0.982360 +vn 0.545701 0.107547 -0.831019 +vn 0.591571 0.075014 -0.802728 +vn 0.554949 0.029054 -0.831355 +vn -0.090152 0.371960 0.923826 +vn -0.132054 0.402081 0.906003 +vn -0.061953 0.375622 0.924680 +vn -0.125340 0.177465 -0.976104 +vn -0.124363 0.205634 -0.970672 +vn -0.065493 0.188910 -0.979797 +vn -0.377544 0.093295 -0.921262 +vn 0.053652 -0.377331 -0.924497 +vn -0.028809 -0.377911 -0.925382 +vn 0.037629 -0.411084 -0.910794 +vn 0.045289 -0.629414 -0.775719 +vn -0.017029 -0.625141 -0.780297 +vn -0.021424 -0.497269 0.867306 +vn 0.077334 -0.397015 0.914518 +vn 0.126560 -0.197546 0.972076 +vn 0.122471 -0.049776 0.991211 +vn 0.144169 0.036683 0.988861 +vn 0.086367 0.127293 0.988067 +vn 0.099887 0.221351 0.970061 +vn 0.167394 0.306345 0.937071 +vn 0.234718 0.385510 0.892331 +vn -0.115329 0.267983 0.956481 +vn -0.098453 0.258339 0.960997 +vn -0.194555 0.235389 0.952208 +vn 0.299112 0.407941 0.862606 +vn 0.322245 0.335459 0.885220 +vn 0.361553 -0.681082 0.636677 +vn 0.289438 -0.269387 0.918485 +vn 0.523057 -0.564348 0.638661 +vn 0.200629 0.250679 0.947020 +vn 0.192083 0.247353 0.949675 +vn 0.169073 0.230659 0.958220 +vn 0.122257 0.229469 0.965575 +vn 0.139622 0.348399 0.926878 +vn 0.319254 0.057833 0.945891 +vn 0.089206 -0.475326 0.875240 +vn -0.104648 -0.499374 0.860012 +vn 0.308603 -0.364788 0.878445 +vn 0.419263 -0.426496 0.801416 +vn 0.348094 -0.434248 0.830775 +vn 0.320658 -0.052828 0.945708 +vn 0.230323 -0.042665 0.972167 +vn 0.243965 0.553789 0.796075 +vn 0.196600 0.526994 0.826777 +vn -0.088687 -0.336619 0.937437 +vn 0.111515 0.021729 0.993500 +vn 0.244026 0.851436 -0.464217 +vn 0.262581 0.855281 -0.446669 +vn -0.089877 0.050050 0.994690 +vn 0.177496 -0.082156 0.980682 +vn 0.221320 -0.162847 0.961486 +vn 0.552385 0.022340 0.833277 +vn 0.388714 0.135655 0.911313 +vn 0.452406 -0.047029 0.890561 +vn -0.081179 0.036500 0.996002 +vn 0.046022 0.129826 0.990448 +vn -0.039216 0.040040 0.998413 +vn 0.332347 0.439589 0.834437 +vn 0.512101 -0.662008 -0.547258 +vn 0.549150 -0.568224 -0.612781 +vn 0.550066 -0.632740 -0.545000 +vn 0.282083 0.483383 0.828669 +vn 0.253304 0.533219 0.807123 +vn 0.220405 0.592120 0.775079 +vn 0.177038 0.632801 0.753777 +vn 0.821741 -0.557939 -0.115726 +vn 0.886654 -0.460646 -0.040193 +vn 0.950560 0.263527 -0.164098 +vn 0.995697 0.091800 -0.010071 +vn 0.959593 -0.237526 -0.150639 +vn 0.981201 -0.134098 -0.138676 +vn 0.967956 -0.229255 -0.102176 +vn 0.991333 0.017548 -0.129978 +vn 0.997894 -0.024354 -0.059999 +vn 0.993011 -0.111332 -0.039064 +vn 0.788446 0.533982 -0.305246 +vn 0.970000 0.241768 -0.025056 +vn 0.971007 0.234718 0.044862 +vn 0.976318 0.210120 0.051180 +vn 0.984344 0.098727 -0.145817 +vn 0.991180 0.075808 -0.108554 +vn 0.996948 0.026765 -0.072909 +vn 0.993347 0.038942 -0.108371 +vn 0.900052 0.104678 0.422987 +vn 0.896390 0.106082 0.430372 +vn 0.903623 0.115574 0.412366 +vn 0.323588 -0.877712 -0.353374 +vn 0.037355 -0.999176 0.015290 +vn -0.005341 -0.999908 0.011475 +vn -0.115390 -0.992462 0.040834 +vn 0.665944 -0.164403 -0.727622 +vn 0.629780 -0.070040 -0.773583 +vn 0.740898 0.030274 -0.670919 +vn 0.587054 -0.360881 -0.724631 +vn 0.692557 -0.371715 -0.618183 +vn 0.630482 -0.451613 -0.631275 +vn -0.993713 0.096072 0.057039 +vn -0.976348 0.167730 0.136296 +vn -0.322733 -0.945769 0.036683 +vn -0.065554 -0.996155 0.057924 +vn -0.437666 -0.899106 0.000000 +vn 0.232826 -0.852199 -0.468520 +vn 0.162481 -0.833033 -0.528794 +vn 0.265542 -0.892819 -0.363720 +vn 0.916410 0.391125 -0.084658 +vn 0.797998 0.500259 0.336039 +vn 0.178411 0.753716 0.632496 +vn 0.813715 -0.090457 -0.574114 +vn 0.814722 -0.148289 -0.560533 +vn 0.723197 0.074526 -0.686575 +vn -0.892850 -0.138646 -0.428449 +vn -0.683493 -0.322062 -0.655019 +vn -0.923185 -0.235267 -0.303903 +vn 0.625965 -0.270089 -0.731529 +vn 0.737388 -0.256203 -0.624958 +vn 0.720023 0.406873 -0.562090 +vn 0.978607 -0.203833 0.027375 +vn 0.992126 -0.121891 0.028504 +vn -0.021546 0.341227 0.939726 +vn -0.348155 0.589709 0.728690 +vn -0.294870 0.683432 0.667776 +vn -0.379101 0.619617 0.687246 +vn -0.216834 0.129887 0.967498 +vn -0.236091 0.164495 0.957701 +vn -0.234840 0.131687 0.963042 +vn -0.238044 0.240089 0.941099 +vn -0.060579 0.129215 0.989746 +vn -0.211798 0.159307 0.964232 +vn 0.215674 -0.133580 0.967254 +vn 0.305185 -0.132756 0.942991 +vn 0.302988 -0.034944 0.952330 +vn -0.014740 0.278024 0.960448 +vn -0.049715 0.128239 0.990478 +vn 0.706351 -0.157170 -0.690176 +vn 0.721061 0.457564 0.520218 +vn 0.761895 0.472671 0.442793 +vn -0.424177 0.848140 0.317270 +vn -0.513810 0.856258 0.052767 +vn -0.340739 0.806269 0.483505 +vn 0.899899 -0.425306 -0.096286 +vn 0.878842 0.251595 0.405347 +vn -0.109745 0.991791 0.065371 +vn 0.253975 0.848506 0.464187 +vn 0.217811 0.975890 0.011963 +vn 0.280099 0.959593 0.026154 +vn -0.216590 0.748344 0.626911 +vn -0.220923 0.975280 0.003418 +vn -0.233406 0.971587 0.038331 +vn -0.134861 0.987854 -0.077059 +vn -0.868709 0.227454 -0.439955 +vn -0.031556 -0.315714 -0.948302 +vn 0.057192 -0.323191 -0.944578 +vn -0.059297 0.985565 0.158452 +vn -0.113163 0.991760 0.059877 +vn -0.011658 0.988006 0.153905 +vn 0.055177 0.994568 -0.088015 +vn -0.853694 -0.520493 0.015717 +vn 0.093539 0.995239 -0.027223 +vn 0.032441 0.896634 0.441542 +vn -0.036836 0.918668 0.393262 +vn 0.616565 0.378216 -0.690451 +vn 0.678152 0.257179 -0.688406 +vn -0.278909 -0.248787 -0.927519 +vn -0.210517 -0.280618 -0.936430 +vn -0.173467 -0.364483 -0.914884 +vn -0.319254 0.011200 0.947600 +vn -0.253945 -0.007965 0.967162 +vn -0.070803 -0.471541 -0.878994 +vn 0.006287 -0.571642 -0.820460 +vn -0.192877 -0.024232 0.980895 +vn -0.217322 -0.049165 0.974853 +vn -0.331462 0.011444 0.943388 +vn -0.773888 0.007385 0.633259 +vn -0.019227 -0.941954 -0.335093 +vn -0.104251 -0.911069 -0.398816 +vn 0.975066 -0.201880 -0.091952 +vn 0.939055 -0.310312 -0.147801 +vn -0.561937 0.723411 0.401074 +vn -0.428144 0.779992 0.456343 +vn -0.362896 -0.098178 0.926633 +vn -0.435896 -0.054781 0.898312 +vn -0.319926 0.206702 0.924589 +vn -0.322459 0.301309 0.897336 +vn -0.435926 0.212500 0.874508 +vn -0.443983 -0.536302 -0.717795 +vn -0.398419 -0.578692 -0.711570 +vn -0.302408 -0.645558 -0.701254 +vn -0.910245 0.044313 -0.411634 +vn -0.900510 0.058046 -0.430891 +vn -0.894864 0.039735 -0.444533 +vn -0.322733 -0.778588 0.538133 +vn -0.676199 -0.567675 0.469497 +vn -0.772668 -0.446974 0.450728 +vn -0.886776 -0.038240 -0.460585 +vn -0.316630 0.387310 0.865841 +vn -0.365154 0.416822 0.832392 +vn -0.213507 0.294992 0.931333 +vn -0.091830 0.122562 0.988189 +vn 0.050325 -0.256996 0.965087 +vn 0.187353 -0.314615 0.930509 +vn 0.881314 -0.462752 -0.095340 +vn 0.901578 -0.408063 -0.143468 +vn 0.883419 -0.441725 -0.156255 +vn -0.219642 0.685903 0.693716 +vn 0.129429 0.566332 0.813929 +vn -0.057253 0.398785 0.915220 +vn -0.075930 0.495895 0.865017 +vn -0.496841 0.140416 -0.856380 +vn -0.529893 0.053591 -0.846339 +vn -0.513108 0.055483 -0.856502 +vn -0.093234 -0.677358 0.729698 +vn -0.110599 -0.691794 0.713523 +vn -0.226905 -0.633869 0.739372 +vn -0.025941 -0.379772 -0.924680 +vn -0.128086 -0.452467 -0.882504 +vn -0.601978 -0.588183 -0.540025 +vn -0.851527 -0.222663 -0.474654 +vn -0.888943 -0.273049 -0.367626 +vn 0.176794 -0.355022 0.917966 +vn -0.015229 -0.598285 0.801111 +vn 0.099399 -0.598163 0.795160 +vn 0.201972 -0.195105 0.959746 +vn 0.181768 -0.063295 0.981292 +vn 0.151311 0.004791 0.988464 +vn 0.161657 0.124882 0.978912 +vn 0.238685 0.275246 0.931242 +vn 0.243049 0.585253 0.773553 +vn 0.224250 0.628224 0.744987 +vn 0.218665 0.636769 0.739372 +vn 0.427931 0.352367 0.832270 +vn 0.436537 0.411389 0.800104 +vn 0.171911 0.573870 0.800684 +vn 0.184912 0.575243 0.796777 +vn 0.188818 0.610401 0.769219 +vn 0.479781 -0.707419 0.518937 +vn 0.548509 -0.579058 0.603137 +vn -0.372265 -0.469375 -0.800653 +vn -0.409955 -0.414777 -0.812311 +vn -0.072054 0.484909 0.871578 +vn -0.183233 0.622730 0.760643 +vn 0.262978 0.326853 0.907712 +vn 0.402570 0.137425 0.904996 +vn 0.306040 0.179174 0.934965 +vn 0.142582 0.453719 0.879635 +vn 0.131993 0.470962 0.872189 +vn 0.068758 0.479537 0.874783 +vn 0.015748 0.316843 0.948332 +vn 0.088900 0.359691 0.928800 +vn 0.058077 0.436140 0.897977 +vn 0.336161 -0.238289 0.911130 +vn 0.232704 -0.252144 0.939268 +vn 0.263314 0.606952 0.749809 +vn 0.228645 0.608997 0.759484 +vn -0.074404 -0.522294 0.849483 +vn 0.684622 -0.193365 -0.702719 +vn 0.592029 -0.184423 -0.784509 +vn 0.601154 -0.577166 -0.552660 +vn 0.541887 -0.314890 -0.779199 +vn 0.554491 -0.251015 -0.793390 +vn 0.094852 0.569414 0.816523 +vn 0.153752 0.534745 0.830866 +vn 0.995453 0.003967 -0.095157 +vn 0.994781 0.033357 -0.096194 +vn 0.039216 -0.491958 -0.869716 +vn -0.178350 -0.414838 -0.892209 +vn 0.306162 0.634449 0.709708 +vn 0.398358 0.493637 0.773034 +vn 0.331584 0.610431 0.719291 +vn 0.503983 -0.086062 -0.859371 +vn -0.144841 -0.045747 -0.988372 +vn 0.323801 0.509293 0.797327 +vn 0.417280 0.394360 0.818720 +vn 0.554826 -0.831172 -0.036012 +vn 0.499924 -0.866024 0.001770 +vn 0.552995 -0.829371 -0.079440 +vn 0.440657 -0.729484 -0.523087 +vn 0.601917 -0.642384 -0.474319 +vn 0.868557 -0.465224 -0.170660 +vn 0.958068 0.272591 -0.088046 +vn 0.151708 0.685202 0.712333 +vn 0.279885 0.634846 0.720115 +vn 0.965484 0.259926 -0.014618 +vn 0.967254 0.252571 0.024323 +vn -0.016297 -0.999573 0.023621 +vn -0.000946 -0.999756 0.022004 +vn -0.006165 -0.999908 0.011872 +vn 0.977844 0.208747 -0.014771 +vn 0.975433 0.157598 -0.153722 +vn 0.979369 0.155980 -0.128361 +vn -0.267251 0.642384 -0.718223 +vn -0.227577 0.630665 -0.741905 +vn -0.240852 0.638325 -0.731071 +vn 0.641713 0.453780 -0.618275 +vn -0.811090 0.412091 -0.415021 +vn -0.814936 0.304666 -0.492965 +vn -0.731193 0.361187 -0.578661 +vn -0.020295 0.763665 -0.645253 +vn -0.008393 0.731071 -0.682211 +vn -0.053682 0.733085 -0.677999 +vn 0.810968 -0.249763 -0.529038 +vn 0.818567 -0.269814 -0.507035 +vn 0.783044 -0.005158 -0.621906 +vn 0.831538 0.490890 -0.259835 +vn 0.820399 0.519242 -0.239357 +vn 0.832606 0.518204 -0.195410 +vn 0.823756 0.521439 -0.222449 +vn 0.939146 0.340953 -0.041475 +vn 0.921415 0.383435 -0.062746 +vn 0.997314 0.068911 -0.024354 +vn 0.994842 0.053041 -0.086276 +vn 0.998169 0.059542 -0.009125 +vn 0.940672 0.339183 -0.008698 +vn 0.977081 0.090854 -0.192419 +vn 0.986328 0.087222 -0.139592 +vn 0.991424 0.039277 -0.124454 +vn 0.495743 -0.665548 -0.557878 +vn 0.432203 -0.751091 -0.499039 +vn 0.349925 -0.760125 -0.547472 +vn -0.087222 0.140660 -0.986175 +vn -0.114872 0.105502 -0.987732 +vn -0.030976 0.169683 -0.984985 +vn 0.587451 -0.639882 -0.495376 +vn 0.551592 -0.594653 -0.584918 +vn 0.650075 -0.569903 -0.502548 +vn -0.771874 0.586016 0.246498 +vn -0.179113 0.407575 0.895413 +vn -0.214423 0.536149 0.816401 +vn -0.192846 0.453993 0.869869 +vn -0.238044 0.668905 0.704184 +vn -0.255257 0.690725 0.676534 +vn -0.241707 0.683248 0.688986 +vn -0.110416 0.305551 0.945738 +vn 0.327525 0.008911 0.944792 +vn -0.377514 0.918149 -0.120029 +vn -0.512009 0.827784 -0.229225 +vn 0.906247 -0.412275 -0.093387 +vn 0.890316 -0.446364 -0.089816 +vn 0.327433 0.406934 0.852718 +vn 0.226325 0.275094 0.934385 +vn 0.312357 0.389386 0.866482 +vn 0.752495 0.584185 0.304025 +vn -0.496323 0.847713 0.187139 +vn -0.232276 0.839717 0.490799 +vn -0.336467 0.843440 0.418775 +vn -0.288003 0.849910 0.441206 +vn -0.089816 0.957518 0.273965 +vn 0.145116 0.987793 0.056154 +vn -0.920835 -0.203833 -0.332347 +vn -0.919858 0.255989 -0.297098 +vn 0.285836 0.800256 0.527116 +vn 0.330363 0.777917 0.534471 +vn 0.298441 0.937223 0.180273 +vn 0.343852 0.925810 0.156865 +vn -0.256447 0.893979 0.367443 +vn -0.135044 0.987060 -0.086306 +vn -0.111118 0.986297 0.121738 +vn -0.105136 0.989380 0.100314 +vn -0.030335 0.994629 0.098849 +vn -0.036287 0.986877 0.157262 +vn 0.034700 0.995849 -0.083773 +vn -0.192755 0.177190 -0.965087 +vn 0.065767 0.997803 0.001373 +vn -0.005646 0.948149 0.317698 +vn 0.012116 0.933103 0.359386 +vn 0.282540 0.891995 -0.352824 +vn 0.233955 0.914365 -0.330393 +vn 0.271462 0.914335 -0.300424 +vn -0.784967 -0.619098 -0.021760 +vn -0.765007 -0.620594 -0.172033 +vn 0.030061 0.841731 0.539018 +vn 0.010651 0.917936 0.396496 +vn 0.027131 0.881558 0.471236 +vn -0.524918 0.075350 0.847774 +vn 0.103366 0.979614 0.172124 +vn 0.060060 0.983581 0.170110 +vn 0.067202 0.975951 0.207312 +vn -0.406934 0.112125 0.906522 +vn -0.228034 0.010743 0.973571 +vn -0.155644 -0.039247 0.987030 +vn -0.135777 0.035218 0.990081 +vn -0.282907 0.066103 0.956847 +vn -0.173009 0.196112 0.965178 +vn -0.210791 0.293039 0.932554 +vn -0.266793 0.336711 0.902982 +vn -0.299631 0.353832 0.885983 +vn -0.548570 -0.162297 -0.820185 +vn -0.470382 -0.097049 0.877102 +vn -0.551866 -0.116092 0.825800 +vn -0.483200 -0.155309 0.861599 +vn 0.825556 -0.505295 -0.251228 +vn 0.891873 -0.386425 -0.234993 +vn -0.368633 0.407117 0.835658 +vn -0.365703 0.421796 0.829646 +vn -0.334178 0.345836 0.876736 +vn -0.258553 0.228187 0.938627 +vn -0.128361 -0.201636 0.971007 +vn 0.093051 -0.965941 -0.241340 +vn 0.303903 -0.910459 -0.280496 +vn 0.491501 -0.849696 -0.190710 +vn 0.171880 -0.803980 0.569231 +vn -0.224647 0.561785 0.796167 +vn -0.206061 0.001923 0.978515 +vn -0.178350 -0.036439 0.983276 +vn -0.236030 0.080050 0.968413 +vn -0.302805 0.711997 0.633503 +vn -0.106510 -0.301157 -0.947569 +vn -0.222175 -0.437910 -0.871090 +vn -0.355785 -0.367016 -0.859462 +vn -0.227424 0.065554 0.971557 +vn 0.292917 -0.356456 0.887173 +vn 0.163060 -0.491592 0.855403 +vn 0.022126 -0.271981 -0.962035 +vn 0.786004 -0.273812 -0.554216 +vn 0.106632 -0.326304 -0.939207 +vn 0.287210 -0.201178 0.936491 +vn -0.253670 -0.544145 -0.799676 +vn -0.188360 -0.207068 -0.959990 +vn -0.195654 -0.184790 -0.963103 +vn 0.288034 -0.068667 0.955138 +vn 0.302744 0.005921 0.953032 +vn 0.322672 0.186193 0.927976 +vn 0.830897 -0.026093 0.555773 +vn 0.872860 -0.096316 0.478347 +vn 0.698264 0.013886 0.715659 +vn 0.117801 0.213599 0.969787 +vn 0.151402 0.206061 0.966735 +vn 0.092502 0.362285 0.927458 +vn -0.070040 -0.809961 0.582263 +vn -0.012238 -0.436354 0.899686 +vn -0.131993 -0.406842 0.903897 +vn -0.161382 0.425062 0.890622 +vn -0.153935 0.442427 0.883480 +vn -0.142827 0.431501 0.890713 +vn 0.259774 0.493698 0.829890 +vn 0.143742 0.501572 0.853053 +vn -0.217353 -0.664663 0.714805 +vn -0.195196 -0.686972 0.699942 +vn -0.251839 -0.497299 0.830195 +vn 0.158300 0.228156 0.960662 +vn 0.162420 0.266884 0.949919 +vn 0.151524 0.279305 0.948149 +vn -0.281503 0.729026 0.623890 +vn -0.235939 0.721671 0.650746 +vn 0.071932 0.023988 0.997101 +vn 0.060244 -0.037172 0.997467 +vn 0.017487 -0.045778 0.998779 +vn 0.326395 -0.429060 0.842219 +vn 0.198767 -0.436537 0.877407 +vn 0.217017 0.628040 0.747276 +vn 0.205695 0.646626 0.734519 +vn -0.055177 -0.723563 0.688009 +vn -0.065401 -0.710654 0.700461 +vn -0.040162 -0.606281 0.794214 +vn -0.121403 -0.782159 0.611103 +vn -0.093387 -0.781884 0.616382 +vn -0.001221 -0.613697 0.789514 +vn 0.044649 -0.426954 0.903134 +vn -0.005219 -0.475295 0.879788 +vn 0.130863 0.025575 0.991058 +vn 0.168157 0.063723 0.983673 +vn 0.184759 0.098727 0.977783 +vn 0.155919 0.095737 0.983093 +vn 0.471969 0.107578 -0.874996 +vn 0.525040 -0.011170 -0.850978 +vn -0.551744 -0.833674 -0.023011 +vn -0.210669 -0.952269 -0.220832 +vn -0.078219 -0.897519 -0.433943 +vn 0.293710 0.570757 0.766747 +vn 0.259529 0.624378 0.736717 +vn 0.172124 0.642781 0.746422 +vn 0.405377 0.301645 0.862911 +vn 0.996918 0.077792 0.008118 +vn 0.951628 0.304147 -0.043214 +vn 0.956816 0.290567 0.004059 +vn 0.511093 -0.763054 -0.395581 +vn 0.530015 -0.773736 -0.346965 +vn 0.502884 -0.805689 -0.312967 +vn 0.891232 0.279672 -0.356975 +vn 0.919767 0.163823 -0.356548 +vn 0.927335 0.197028 -0.318094 +vn 0.818201 -0.288217 -0.497421 +vn 0.824122 -0.284494 -0.489731 +vn 0.826258 -0.272622 -0.492904 +vn 0.818018 -0.286111 -0.498947 +vn 0.815729 -0.297311 -0.496139 +vn 0.822535 -0.285989 -0.491531 +vn 0.948241 0.111972 -0.297098 +vn 0.924406 0.148778 -0.351146 +vn 0.918424 0.220191 -0.328623 +vn -0.199072 -0.979400 -0.033235 +vn -0.535539 -0.834010 -0.132572 +vn -0.724143 0.212561 0.656026 +vn -0.748772 0.135960 0.648701 +vn -0.748192 0.187384 0.636433 +vn -0.117924 0.392407 -0.912168 +vn -0.152501 0.420881 -0.894192 +vn -0.144230 0.450301 -0.881130 +vn 0.484603 -0.746391 -0.456099 +vn 0.441511 -0.687796 -0.576128 +vn 0.473464 -0.771416 -0.425123 +vn 0.449202 -0.744743 -0.493484 +vn 0.447432 -0.764061 -0.464705 +vn 0.858760 -0.469100 -0.205969 +vn 0.887600 -0.427503 -0.171392 +vn 0.992523 0.052034 -0.110294 +vn 0.996765 0.060488 -0.052492 +vn 0.996338 0.049257 -0.069826 +vn 0.998474 0.048585 0.025391 +vn 0.996643 0.062441 0.052705 +vn 0.968078 0.124821 -0.217292 +vn 0.979003 0.106937 -0.173406 +vn -0.291971 0.750481 0.592853 +vn -0.068941 0.661763 0.746513 +vn -0.308908 0.717460 0.624348 +vn 0.202979 0.190954 0.960356 +vn 0.356334 0.189367 0.914945 +vn 0.323801 0.121799 0.938231 +vn 0.372814 -0.330302 0.867092 +vn 0.455672 -0.209510 0.865108 +vn 0.570727 -0.210639 0.793634 +vn -0.018433 0.488907 0.872127 +vn 0.360332 0.391034 0.846889 +vn 0.360149 0.445936 0.819391 +vn 0.396161 0.438429 0.806696 +vn -0.201056 -0.194494 0.960051 +vn -0.093326 -0.230232 0.968627 +vn 0.202948 0.393323 0.896695 +vn 0.189978 0.428938 0.883114 +vn 0.171972 0.411542 0.894986 +vn 0.772546 -0.384442 -0.505295 +vn 0.790094 -0.360820 -0.495529 +vn -0.832545 -0.459456 0.309427 +vn -0.785455 -0.598315 0.158208 +vn -0.816340 -0.536515 0.213721 +vn -0.965117 -0.006287 -0.261666 +vn -0.969451 -0.101901 -0.223029 +vn -0.961821 -0.159673 -0.222144 +vn -0.833552 0.538255 0.124119 +vn -0.843196 0.525498 0.113285 +vn -0.443281 0.454024 -0.772851 +vn -0.424024 0.455000 -0.783013 +vn -0.412030 0.455702 -0.788995 +vn 0.265206 0.762230 0.590442 +vn 0.212775 0.803766 0.555559 +vn -0.948607 0.310770 0.059175 +vn -0.246620 0.914090 0.321879 +vn -0.283303 0.954558 0.092257 +vn -0.284219 0.950560 0.125065 +vn -0.101962 0.985443 0.135838 +vn -0.058260 0.928922 -0.365612 +vn -0.084353 0.953673 -0.288705 +vn -0.938658 0.308359 0.154302 +vn -0.937986 0.290475 0.189062 +vn 0.028871 0.997742 -0.060427 +vn 0.052400 0.997375 0.049318 +vn -0.997467 -0.009247 -0.070193 +vn -0.010010 0.949614 0.313181 +vn -0.020936 0.959288 0.281625 +vn -0.998199 -0.015137 -0.057711 +vn -0.996918 0.034150 0.070193 +vn -0.992309 -0.049623 0.113254 +vn 0.254097 0.952574 -0.167241 +vn 0.261238 0.930570 -0.256417 +vn 0.047212 0.977386 0.206061 +vn 0.066469 0.977172 0.201666 +vn 0.062502 0.974090 0.217322 +vn -0.385784 0.144414 0.911191 +vn -0.186651 0.020386 0.982208 +vn -0.049806 0.060152 0.996918 +vn -0.053011 0.159307 0.985778 +vn -0.134159 0.247078 0.959655 +vn -0.236396 0.295969 0.925443 +vn -0.296304 0.326426 0.897549 +vn -0.346721 0.366192 0.863521 +vn -0.398053 0.402936 0.824091 +vn -0.398724 0.405988 0.822291 +vn -0.385510 0.377667 0.841853 +vn -0.321299 0.297983 0.898831 +vn -0.147526 -0.040071 0.988220 +vn -0.864162 -0.479446 -0.152745 +vn -0.764000 -0.602588 -0.230537 +vn -0.773247 -0.607044 -0.183203 +vn 0.208747 0.527238 0.823664 +vn 0.261757 0.543382 0.797601 +vn 0.197333 0.477493 0.856166 +vn 0.365825 0.425184 0.827845 +vn 0.354320 0.459304 0.814508 +vn 0.339793 0.471999 0.813440 +vn -0.224830 0.230506 0.946715 +vn 0.908383 -0.397626 -0.129185 +vn 0.048982 -0.254677 0.965758 +vn -0.019532 -0.228706 0.973266 +vn 0.099368 0.421888 0.901181 +vn 0.062532 0.352916 0.933561 +vn 0.209235 0.381664 0.900296 +vn 0.101840 -0.019318 0.994598 +vn 0.139927 -0.048494 0.988952 +vn 0.072390 0.161199 0.984252 +vn 0.063356 0.004730 0.997955 +vn 0.066317 0.163732 0.984252 +vn 0.992065 0.064425 0.107791 +vn 0.865261 -0.302164 -0.399945 +vn 0.924741 -0.166601 -0.342112 +vn 0.071108 0.180792 0.980926 +vn 0.196020 0.110752 0.974303 +vn 0.200842 0.036531 0.978912 +vn 0.201819 -0.866787 -0.456008 +vn 0.114872 -0.856227 -0.503647 +vn 0.688314 0.210944 -0.694021 +vn 0.689383 0.121982 -0.714011 +vn 0.710410 0.217872 -0.669179 +vn 0.924009 -0.372478 0.086306 +vn 0.738975 -0.636677 0.220252 +vn 0.780999 -0.550707 0.294504 +vn 0.341868 0.489792 0.801965 +vn -0.225379 0.389569 0.892972 +vn -0.268319 0.422987 0.865474 +vn -0.205847 0.315744 0.926237 +vn 0.953429 -0.290841 0.079775 +vn -0.247841 0.056246 0.967162 +vn -0.214179 0.040498 0.975921 +vn -0.283151 0.192846 0.939482 +vn 0.976165 0.213019 0.040834 +vn -0.039277 -0.733268 0.678793 +vn -0.052614 -0.716666 0.695395 +vn 0.035524 -0.450545 0.892026 +vn 0.080905 -0.357189 0.930509 +vn 0.261635 0.421552 0.868221 +vn 0.165258 0.444227 0.880520 +vn -0.027589 0.257637 0.965819 +vn 0.060640 0.238289 0.969268 +vn 0.069491 0.184667 0.980316 +vn 0.243294 0.603351 0.759423 +vn -0.264565 0.697806 0.665578 +vn 0.029939 -0.072329 0.996918 +vn -0.018403 0.038301 0.999084 +vn -0.006287 0.046297 0.998901 +vn 0.116642 0.208106 0.971099 +vn 0.128208 0.204993 0.970306 +vn 0.117191 0.197974 0.973144 +vn 0.924924 -0.379406 -0.023347 +vn 0.093142 0.602832 0.792383 +vn 0.175054 0.662587 0.728202 +vn 0.924253 0.348552 -0.155614 +vn 0.923338 0.363445 -0.123722 +vn 0.913633 0.390942 -0.111332 +vn 0.046358 0.620106 0.783105 +vn 0.603351 -0.586108 -0.540727 +vn 0.632954 -0.597827 -0.491836 +vn 0.602557 -0.641011 -0.475387 +vn 0.990905 -0.032716 0.130406 +vn 0.987243 -0.043916 0.153020 +vn 0.982513 0.062502 0.175329 +vn 0.989227 0.108890 0.097629 +vn 0.992981 0.081942 0.084964 +vn 0.682821 -0.711020 0.167791 +vn 0.352458 -0.901395 -0.251442 +vn 0.505325 -0.844997 -0.174871 +vn 0.563524 -0.789636 -0.242653 +vn -0.971679 0.102298 -0.212836 +vn -0.997497 0.065767 0.025727 +vn -0.998230 -0.051973 0.028535 +vn -0.404645 -0.893277 -0.195654 +vn 0.154454 -0.743675 -0.650441 +vn 0.049501 -0.726768 -0.685080 +vn 0.175298 -0.804437 -0.567553 +vn 0.388165 0.528642 0.754845 +vn 0.311289 0.578082 0.754234 +vn 0.366955 -0.871517 -0.325175 +vn 0.363689 -0.874264 -0.321451 +vn -0.115970 -0.578173 -0.807611 +vn 0.418775 0.508927 0.752037 +vn 0.994293 0.089602 0.057375 +vn 0.994995 0.083865 0.054170 +vn 0.993591 0.088107 0.070559 +vn 0.949767 -0.312906 -0.001617 +vn 0.710440 -0.499496 -0.495682 +vn 0.729667 -0.494552 -0.472182 +vn -0.989746 0.142308 -0.011017 +vn -0.986541 -0.158391 0.039766 +vn 0.038179 -0.997131 0.065310 +vn 0.070681 -0.997436 0.008515 +vn 0.033326 -0.997955 0.054415 +vn 0.915128 -0.092105 -0.392438 +vn 0.907987 -0.081362 -0.410962 +vn 0.928129 -0.146855 -0.341960 +vn 0.673177 -0.600818 -0.431043 +vn -0.816980 -0.466628 0.338786 +vn -0.869106 -0.376354 0.320902 +vn -0.837764 -0.291055 0.461928 +vn 0.967956 0.246925 0.045106 +vn 0.964721 0.260384 0.038362 +vn 0.960143 0.271889 0.064486 +vn 0.233589 0.845851 -0.479476 +vn 0.270425 0.826991 -0.492874 +vn 0.990936 0.076479 0.110385 +vn 0.983306 0.092013 0.156896 +vn -0.194220 0.145909 0.970031 +vn 0.816095 0.493057 -0.301431 +vn -0.173742 0.053468 0.983306 +vn -0.190313 0.131260 0.972900 +vn -0.117038 -0.078372 0.990020 +vn -0.019623 -0.285928 0.958037 +vn 0.627613 -0.735984 -0.253761 +vn 0.817286 -0.530992 -0.223670 +vn 0.987487 0.152715 0.038759 +vn -0.980071 0.197943 -0.015076 +vn 0.792535 0.574206 -0.205298 +vn 0.163945 0.781091 0.602496 +vn 0.246681 0.638478 0.728996 +vn 0.618824 -0.663747 -0.420087 +vn 0.945341 -0.199255 -0.258065 +vn 0.947081 -0.163305 -0.276254 +vn 0.933561 -0.191687 -0.302744 +vn -0.915342 -0.377422 -0.140324 +vn -0.973174 -0.184790 -0.136876 +vn -0.968780 -0.183569 -0.166478 +vn -0.302774 0.887387 0.347606 +vn -0.414563 0.819819 0.394940 +vn -0.350261 0.902554 0.250282 +vn -0.364330 0.872463 0.325632 +vn -0.555895 0.776360 -0.296976 +vn -0.600452 0.688223 -0.407147 +vn -0.537278 0.830500 -0.146794 +vn 0.913816 -0.338786 -0.223853 +vn 0.884823 -0.383953 -0.263802 +vn 0.902676 -0.362133 -0.232398 +vn -0.900021 -0.431104 0.063631 +vn 0.360454 0.641499 0.677114 +vn 0.261086 0.734886 0.625904 +vn 0.672689 0.322489 0.665883 +vn -0.244453 0.950743 -0.190435 +vn -0.360485 0.908170 0.212714 +vn -0.240730 0.958586 0.151952 +vn -0.013306 0.999451 0.029450 +vn -0.005310 0.999115 0.041078 +vn 0.021271 0.999512 -0.022034 +vn -0.068636 0.896756 0.437117 +vn 0.043336 0.993866 0.101505 +vn 0.050508 0.996002 0.073336 +vn 0.024476 0.983642 0.178289 +vn 0.058351 0.968108 0.243538 +vn -0.038179 0.970916 0.236213 +vn 0.236579 0.963530 -0.125004 +vn 0.069796 0.964843 0.253273 +vn 0.029176 0.944762 0.326365 +vn 0.198431 0.978027 -0.063692 +vn 0.166295 0.985717 -0.026460 +vn 0.247749 0.967284 -0.054231 +vn 0.004486 -0.159978 -0.987091 +vn -0.701529 -0.692801 -0.166753 +vn -0.320048 0.185858 0.928983 +vn -0.494430 0.262764 0.828516 +vn -0.076754 0.159734 0.984161 +vn -0.011109 0.124699 0.992126 +vn -0.056276 0.188116 0.980529 +vn -0.147099 0.218451 0.964690 +vn -0.266579 0.280313 0.922117 +vn -0.339640 0.326579 0.882015 +vn -0.372356 0.389325 0.842463 +vn -0.351970 0.422620 0.835139 +vn -0.333201 0.409894 0.849055 +vn -0.303476 0.357555 0.883175 +vn -0.252113 0.159795 0.954405 +vn 0.062838 -0.993957 0.089694 +vn 0.062502 -0.994110 0.088321 +vn 0.005799 -0.997375 0.071932 +vn 0.010102 -0.995880 0.089999 +vn 0.063326 -0.984191 0.165319 +vn 0.122745 -0.992218 0.019684 +vn 0.150487 -0.782128 -0.604633 +vn 0.594165 -0.693167 -0.407941 +vn 0.309519 -0.863582 -0.397931 +vn 0.329264 0.359722 -0.873012 +vn 0.341777 0.282144 -0.896390 +vn 0.307993 0.262032 -0.914579 +vn 0.815821 -0.357372 -0.454604 +vn -0.097751 0.180548 0.978668 +vn -0.137455 0.196875 0.970733 +vn -0.138340 0.147130 0.979369 +vn 0.203253 0.483139 0.851588 +vn 0.187017 0.572314 0.798395 +vn 0.109745 0.096835 0.989227 +vn 0.244789 -0.075838 0.966582 +vn 0.214454 -0.091067 0.972472 +vn 0.976806 0.011383 -0.213752 +vn 0.959532 0.018799 -0.280862 +vn 0.959136 0.149968 -0.239784 +vn 0.960967 0.242622 -0.132756 +vn 0.959075 0.246376 -0.139409 +vn 0.974090 0.186499 -0.127720 +vn 0.308939 -0.908261 -0.282083 +vn 0.259590 -0.907865 -0.329142 +vn 0.020905 -0.135197 0.990570 +vn 0.174261 -0.229896 0.957457 +vn -0.065462 0.002747 0.997833 +vn 0.042299 0.290872 0.955809 +vn -0.063509 0.270974 0.960479 +vn -0.039583 0.199957 0.978973 +vn 0.054720 0.273080 0.960418 +vn 0.002869 0.074984 0.997162 +vn -0.275094 -0.495437 0.823908 +vn -0.214789 -0.284219 0.934355 +vn -0.304666 -0.360515 0.881558 +vn -0.377392 -0.520920 0.765618 +vn -0.118809 0.551561 0.825617 +vn -0.189642 0.520768 0.832331 +vn -0.196753 0.471541 0.859584 +vn -0.093875 0.594928 0.798242 +vn -0.121067 0.604327 0.787469 +vn -0.060610 0.611225 0.789087 +vn 0.444319 -0.870022 0.213599 +vn 0.455763 -0.873135 0.172796 +vn 0.519303 -0.854549 -0.006195 +vn 0.240089 0.345714 0.907071 +vn 0.294290 0.290384 0.910520 +vn 0.296793 0.234382 0.925718 +vn 0.226539 0.554247 0.800897 +vn 0.228431 0.409619 0.883175 +vn 0.130009 0.442305 0.887356 +vn 0.422407 -0.496078 0.758568 +vn 0.291910 -0.476608 0.829188 +vn 0.348949 -0.461989 0.815332 +vn -0.264168 0.570513 0.777612 +vn 0.691031 -0.719321 0.070681 +vn 0.501755 -0.856563 -0.120304 +vn 0.589801 -0.807428 0.012360 +vn 0.287667 0.098361 0.952635 +vn 0.339702 -0.103458 0.934812 +vn 0.167302 -0.350230 0.921567 +vn 0.279458 -0.535051 0.797235 +vn 0.166295 -0.405164 0.898984 +vn 0.170324 -0.559648 0.810999 +vn 0.158727 -0.572405 0.804437 +vn 0.262520 -0.529893 0.806391 +vn 0.118168 -0.602283 0.789453 +vn 0.126499 -0.639821 0.758019 +vn 0.029359 -0.673635 0.738456 +vn 0.310953 -0.322092 0.894162 +vn 0.088748 -0.320902 0.942930 +vn 0.125309 -0.546129 0.828242 +vn -0.064913 -0.779412 0.623127 +vn 0.034059 -0.765770 0.642201 +vn 0.086215 -0.546007 0.833308 +vn 0.031526 -0.574450 0.817896 +vn 0.093142 -0.029054 0.995209 +vn 0.091891 -0.033631 0.995178 +vn 0.126286 -0.006195 0.991943 +vn 0.144047 0.084078 0.985961 +vn 0.140873 -0.016968 0.989868 +vn 0.129521 0.069369 0.989135 +vn 0.509812 0.456282 0.729270 +vn 0.633168 -0.736442 -0.238105 +vn 0.789575 -0.588519 -0.173589 +vn 0.858333 -0.490402 -0.150670 +vn 0.890835 -0.421216 -0.170171 +vn 0.996368 0.065249 -0.054659 +vn 0.997131 0.074526 0.012818 +vn 0.992706 0.099521 0.067660 +vn 0.992126 0.090518 0.086245 +vn 0.976562 0.116672 -0.180700 +vn 0.959044 0.177404 -0.220771 +vn 0.972472 0.161718 -0.167699 +vn 0.944151 0.184393 -0.273019 +vn 0.920804 0.280099 -0.271279 +vn 0.918516 0.262154 -0.295969 +vn 0.559191 -0.691855 -0.456710 +vn 0.592425 -0.703269 -0.392956 +vn 0.955596 -0.150060 -0.253487 +vn 0.957121 -0.163091 -0.239326 +vn 0.941038 -0.131413 -0.311624 +vn 0.942534 -0.192389 -0.273110 +vn 0.912076 -0.124546 -0.390606 +vn 0.923429 -0.179937 -0.338939 +vn -0.162389 0.619129 0.768273 +vn -0.251137 0.641621 0.724693 +vn 0.089999 0.630116 0.771233 +vn 0.909909 -0.408246 -0.073366 +vn 0.672262 -0.618061 -0.407453 +vn 0.931791 -0.361950 -0.027131 +vn -0.124516 0.173009 0.976989 +vn -0.151769 0.120487 0.981017 +vn 0.078188 -0.500687 0.862056 +vn 0.444746 -0.440077 0.780053 +vn 0.201147 -0.585711 0.785150 +vn 0.211829 0.254799 0.943480 +vn 0.323130 0.199927 0.924986 +vn 0.157750 0.210669 0.964721 +vn 0.048738 0.585284 0.809351 +vn 0.030702 0.676046 0.736198 +vn -0.002625 0.686422 0.727165 +vn 0.073519 0.191107 0.978790 +vn -0.038820 0.183477 0.982238 +vn 0.013001 0.216163 0.976257 +vn 0.925260 0.371532 -0.076327 +vn 0.882992 0.469283 -0.006317 +vn 0.861019 0.508255 -0.017273 +vn 0.924802 0.376110 -0.057009 +vn 0.912473 0.408032 -0.028932 +vn 0.991363 0.123569 -0.043672 +vn 0.829218 -0.300455 -0.471267 +vn 0.829432 -0.287057 -0.479141 +vn 0.861599 -0.312479 -0.399915 +vn 0.922300 -0.362346 -0.134190 +vn 0.933592 -0.344829 -0.097232 +vn 0.929258 -0.367260 -0.039705 +vn 0.968657 0.023682 -0.247200 +vn 0.950407 0.029664 -0.309519 +vn 0.893002 -0.100681 -0.438612 +vn 0.925687 -0.106265 -0.362987 +vn -0.264199 0.956114 -0.126621 +vn -0.260903 0.961150 -0.089846 +vn -0.298654 0.941343 0.156865 +vn -0.264290 0.961241 -0.078097 +vn -0.246681 0.964354 0.095614 +vn -0.257454 0.963683 -0.070772 +vn -0.261086 0.964751 -0.032411 +vn -0.277566 0.960234 0.029603 +vn -0.253090 0.943175 0.215217 +vn -0.302622 0.939299 0.161473 +vn -0.203864 0.926420 0.316446 +vn 0.007080 0.999939 0.006775 +vn -0.967711 0.012787 0.251656 +vn -0.972930 -0.025330 0.229682 +vn -0.616016 -0.731620 -0.291910 +vn -0.935270 -0.214728 -0.281320 +vn -0.474960 -0.805628 -0.353984 +vn 0.242958 0.964812 -0.100284 +vn -0.450148 -0.021973 0.892666 +vn -0.506882 0.113346 0.854488 +vn -0.478011 -0.016388 0.878170 +vn -0.398663 0.087466 0.912900 +vn -0.415326 0.211951 0.884610 +vn -0.499008 0.195868 0.844142 +vn -0.510239 0.211341 0.833644 +vn -0.483291 0.106479 0.868923 +vn 0.282357 0.931364 -0.229774 +vn 0.269021 -0.189428 -0.944304 +vn 0.259865 -0.169195 -0.950682 +vn 0.268136 -0.214118 -0.939268 +vn 0.275613 0.947264 -0.163366 +vn -0.410016 0.323252 0.852870 +vn -0.758415 -0.146825 0.634999 +vn -0.772393 -0.088870 0.628864 +vn -0.815790 -0.091067 0.571093 +vn -0.292215 0.252480 0.922391 +vn -0.154515 0.173315 0.972655 +vn -0.102481 0.155797 0.982452 +vn -0.176702 0.141789 0.973968 +vn -0.293985 0.200323 0.934568 +vn -0.359722 0.296487 0.884671 +vn -0.333628 0.389050 0.858669 +vn -0.313059 0.449293 0.836695 +vn -0.282052 0.433729 0.855739 +vn -0.247871 0.387097 0.888058 +vn -0.176733 0.270974 0.946196 +vn 0.088900 -0.944670 -0.315653 +vn 0.218574 -0.925169 -0.310251 +vn 0.318613 -0.893887 -0.315287 +vn 0.162938 0.850215 0.500565 +vn 0.039796 0.871670 0.488449 +vn 0.095065 0.845241 0.525803 +vn 0.179632 0.222022 0.958342 +vn -0.001343 0.072481 0.997345 +vn 0.167699 0.043641 0.984863 +vn 0.389935 -0.033418 0.920225 +vn 0.165838 0.481735 0.860469 +vn 0.227210 0.526048 0.819514 +vn 0.287301 0.552568 0.782342 +vn 0.346263 -0.055330 0.936491 +vn 0.537584 -0.083132 0.839076 +vn -0.034394 0.776299 0.629383 +vn -0.055208 0.698599 0.713370 +vn 0.051698 -0.133213 0.989715 +vn -0.071200 -0.429548 0.900204 +vn -0.195532 -0.459365 0.866421 +vn 0.322581 0.615558 0.719016 +vn 0.300638 0.656636 0.691671 +vn 0.234107 0.672445 0.702109 +vn 0.210211 0.183264 0.960295 +vn 0.220038 0.229011 0.948210 +vn 0.254402 0.225318 0.940458 +vn 0.245186 0.298929 0.922208 +vn 0.238227 0.238868 0.941343 +vn 0.167516 0.402234 0.900052 +vn 0.280129 -0.172704 0.944273 +vn 0.233955 -0.225196 0.945769 +vn 0.247749 -0.006928 0.968780 +vn 0.241585 0.085391 0.966582 +vn 0.199042 0.005158 0.979949 +vn 0.628163 -0.099094 0.771722 +vn 0.270577 0.295602 0.916166 +vn 0.193182 0.271889 0.942717 +vn 0.077731 0.128849 0.988586 +vn 0.133518 0.127781 0.982757 +vn 0.027223 0.224952 0.973968 +vn -0.005554 0.208991 0.977874 +vn 0.032899 0.238960 0.970458 +vn 0.058779 0.207556 0.976440 +vn -0.010346 0.195593 0.980621 +vn -0.020356 0.078066 0.996734 +vn 0.302347 0.287729 0.908719 +vn 0.229865 0.017426 0.973052 +vn 0.252937 0.154118 0.955107 +vn -0.285318 -0.205298 0.936155 +vn -0.302438 0.058626 0.951353 +vn -0.264107 0.045717 0.963378 +vn -0.117862 -0.322520 0.939177 +vn -0.098331 -0.298227 0.949400 +vn -0.056307 -0.489151 0.870357 +vn -0.183538 0.145512 0.972167 +vn -0.020783 0.060640 0.997925 +vn -0.177129 -0.037019 0.983459 +vn 0.483016 -0.492752 0.723777 +vn 0.375072 -0.380963 0.845058 +vn 0.359386 -0.499344 0.788324 +vn 0.871639 0.207984 0.443770 +vn 0.863216 0.228370 0.450179 +vn 0.876949 0.177129 0.446699 +vn -0.222541 0.510880 0.830317 +vn -0.223212 0.592914 0.773675 +vn 0.272011 0.156285 0.949492 +vn 0.226600 0.116886 0.966918 +vn 0.165899 -0.066958 0.983856 +vn 0.146764 -0.067598 0.986847 +vn 0.135929 0.046205 0.989624 +vn 0.229163 0.027467 0.972991 +vn 0.304025 -0.079867 0.949278 +vn 0.114689 -0.058290 0.991668 +vn 0.440321 -0.420606 0.793207 +vn 0.354656 -0.456374 0.816034 +vn 0.196142 0.116153 0.973662 +vn 0.325571 -0.841945 -0.430219 +vn 0.236488 -0.813898 -0.530625 +vn 0.311655 -0.856929 -0.410504 +vn 0.395428 -0.304727 0.866451 +vn 0.725333 -0.290384 -0.624104 +vn 0.982940 -0.181982 -0.026215 +vn 0.012207 -0.668691 -0.743400 +vn 0.052492 -0.715262 -0.696829 +vn 0.100681 -0.737480 -0.667806 +vn 0.580462 0.370617 0.725028 +vn 0.520371 0.439283 0.732231 +vn 0.621448 0.349040 0.701376 +vn 0.448500 0.091830 0.889035 +vn 0.397015 0.221168 0.890744 +vn 0.395642 0.140049 0.907651 +vn 0.917234 0.380596 0.117374 +vn 0.903928 0.400861 0.148900 +vn 0.904080 0.400067 0.150090 +vn 0.954314 -0.122105 -0.272652 +vn 0.967162 -0.051576 -0.248787 +vn 0.968291 0.249763 -0.001495 +vn 0.962188 0.264748 0.063906 +vn 0.951323 0.302744 0.057100 +vn 0.723319 0.004059 -0.690481 +vn 0.818690 0.014283 -0.574023 +vn 0.897519 -0.036927 -0.439406 +vn 0.927305 -0.041414 -0.371929 +vn 0.893826 0.045320 -0.446089 +vn 0.917753 0.048555 -0.394147 +vn 0.913083 0.085482 -0.398663 +vn 0.907437 0.150273 -0.392376 +vn 0.951720 0.015107 -0.306558 +vn 0.947478 0.097903 -0.304392 +vn -0.997375 0.071749 -0.006928 +vn -0.089175 -0.855312 0.510330 +vn -0.102512 -0.594836 0.797235 +vn -0.150548 -0.626637 0.764611 +vn -0.001709 -0.998688 0.051027 +vn -0.032991 -0.984039 0.174718 +vn -0.004944 -0.997223 0.074190 +vn 0.967040 -0.094119 -0.236549 +vn 0.980499 -0.069704 -0.183599 +vn 0.914426 0.251198 -0.317270 +vn 0.894162 0.291147 -0.340129 +vn 0.921751 0.274728 -0.273629 +vn 0.997406 0.063387 -0.033937 +vn 0.998596 0.020936 -0.048616 +vn 0.846400 0.511734 -0.147221 +vn 0.818751 0.546831 -0.174841 +vn 0.948363 0.306040 -0.083254 +vn 0.959227 -0.144627 -0.242775 +vn 0.965941 -0.176092 -0.189459 +vn 0.878414 0.475326 -0.049287 +vn 0.835871 -0.278695 -0.472884 +vn 0.828852 -0.294504 -0.475600 +vn 0.860927 -0.291971 -0.416547 +vn 0.840693 -0.186682 -0.508286 +vn 0.888638 -0.193976 -0.415509 +vn 0.853908 -0.308420 -0.419111 +vn 0.863430 0.310343 0.397656 +vn 0.845515 0.318186 0.428724 +vn 0.852046 0.329051 0.407056 +vn 0.918668 0.193487 -0.344310 +vn 0.285714 -0.157750 0.945219 +vn 0.172826 0.093905 0.980438 +vn 0.292459 -0.067049 0.953917 +vn -0.260933 0.959563 0.105564 +vn -0.195502 0.968596 0.153539 +vn -0.137791 0.973266 0.183721 +vn -0.253151 0.965392 -0.062624 +vn -0.264901 0.963744 -0.031495 +vn -0.236976 0.970153 -0.051149 +vn -0.089663 0.963775 0.251137 +vn -0.041231 0.926939 0.372936 +vn 0.132084 0.891751 0.432783 +vn -0.234077 0.958098 -0.165044 +vn -0.237251 0.970092 -0.051027 +vn -0.393536 0.844722 0.362682 +vn -0.398480 0.813562 0.423414 +vn -0.312387 0.911710 0.266762 +vn -0.085818 0.942076 -0.324198 +vn -0.088046 0.946837 -0.309366 +vn -0.130528 0.985992 -0.103763 +vn 0.428144 0.896084 -0.116947 +vn -0.950926 0.157414 -0.266305 +vn -0.933531 0.160863 -0.320292 +vn -0.951720 0.121006 -0.282052 +vn 0.958953 0.244026 0.144383 +vn -0.755272 0.550951 0.354869 +vn -0.645711 0.716117 0.264901 +vn -0.650777 0.735893 0.186926 +vn -0.336650 -0.417249 0.844111 +vn -0.333262 -0.363475 0.869930 +vn -0.388836 -0.363628 0.846492 +vn -0.402478 -0.284127 0.870205 +vn -0.408856 -0.350414 0.842616 +vn -0.291787 -0.268532 0.917997 +vn -0.489639 -0.476302 -0.730308 +vn -0.508957 -0.393658 -0.765496 +vn -0.251137 -0.189093 0.949278 +vn -0.383221 -0.215644 0.898129 +vn -0.635609 -0.050172 0.770348 +vn -0.705069 -0.024476 0.708701 +vn -0.670614 -0.006897 0.741752 +vn -0.232978 -0.146184 0.961394 +vn -0.358654 -0.148412 0.921567 +vn -0.258980 -0.061251 0.963927 +vn -0.375408 -0.045198 0.925748 +vn -0.305582 0.065889 0.949858 +vn 0.529923 0.475295 -0.702292 +vn -0.334208 0.207587 0.919340 +vn -0.256844 0.181921 0.949156 +vn -0.418622 0.245735 0.874264 +vn -0.353832 -0.165441 0.920530 +vn -0.344493 0.277810 0.896725 +vn -0.401135 0.330668 0.854213 +vn -0.431867 0.298929 0.850917 +vn -0.398328 0.315378 0.861293 +vn -0.320566 0.257057 0.911649 +vn -0.219855 0.150517 0.963836 +vn -0.244026 0.074435 0.966887 +vn -0.305185 0.135075 0.942625 +vn -0.314158 0.295602 0.902158 +vn -0.273415 0.416608 0.866970 +vn -0.255928 0.463271 0.848445 +vn -0.249611 0.462539 0.850703 +vn -0.213477 0.422163 0.881008 +vn -0.161016 0.366039 0.916532 +vn -0.003082 0.289224 0.957244 +vn 0.003998 0.151677 0.988403 +vn 0.007141 -0.132145 0.991180 +vn 0.097110 -0.106723 0.989532 +vn 0.285623 0.276986 0.917417 +vn 0.270394 0.390332 0.880032 +vn 0.304331 0.294961 0.905728 +vn 0.219886 0.215796 0.951353 +vn 0.222785 0.222236 0.949187 +vn 0.370922 0.210273 0.904508 +vn 0.340495 -0.173498 0.924070 +vn 0.492447 -0.049348 0.868923 +vn -0.028291 -0.475600 0.879177 +vn -0.013489 -0.461440 0.887051 +vn -0.201758 0.410108 0.889401 +vn 0.279122 0.155095 0.947630 +vn 0.252144 0.413404 0.874905 +vn 0.222571 0.399274 0.889370 +vn -0.034822 -0.461806 0.886258 +vn -0.043611 -0.248848 0.967528 +vn -0.032991 -0.244545 0.969054 +vn 0.299020 0.439314 0.847072 +vn 0.215979 0.486435 0.846583 +vn 0.347423 0.498001 0.794519 +vn -0.026337 -0.490310 -0.871120 +vn 0.468215 -0.875088 -0.122196 +vn 0.456130 -0.875301 -0.160436 +vn 0.496597 -0.846400 -0.192236 +vn 0.172918 0.497208 0.850185 +vn 0.948668 -0.059938 -0.310465 +vn 0.388134 -0.167791 0.906186 +vn 0.345164 -0.270974 0.898556 +vn 0.166112 -0.410535 0.896573 +vn 0.152989 -0.563128 0.812067 +vn 0.122806 0.154973 0.980224 +vn 0.134342 0.200690 0.970367 +vn -0.142338 -0.049257 0.988586 +vn -0.141057 -0.032167 0.989471 +vn 0.000000 0.641407 0.767174 +vn -0.061098 0.600208 0.797479 +vn -0.082186 0.598437 0.796930 +vn -0.067232 0.596210 0.799982 +vn -0.213843 -0.322947 0.921903 +vn -0.024415 -0.528672 0.848445 +vn -0.072115 -0.022370 0.997131 +vn 0.058840 -0.288278 0.955718 +vn -0.034791 -0.382611 0.923246 +vn 0.052248 -0.388256 0.920042 +vn -0.081881 -0.194159 0.977538 +vn 0.029145 -0.213874 0.976409 +vn -0.009217 -0.047243 0.998810 +vn -0.104465 -0.027100 0.994140 +vn 0.445174 -0.526109 0.724540 +vn 0.172033 -0.081790 0.981658 +vn 0.078372 -0.058046 0.995209 +vn 0.076418 -0.231849 0.969726 +vn -0.031678 0.586413 0.809351 +vn 0.076052 0.694235 0.715659 +vn 0.230506 -0.012696 0.972961 +vn 0.142918 -0.051668 0.988372 +vn 0.096042 0.227424 0.969024 +vn 0.184088 0.007752 0.982849 +vn 0.103458 0.202612 0.973754 +vn 0.070193 0.188879 0.979461 +vn 0.169408 0.117985 0.978423 +vn 0.050691 0.229865 0.971892 +vn 0.195471 -0.015778 0.980560 +vn 0.073397 0.142735 0.987030 +vn 0.091769 -0.132511 0.986908 +vn 0.075747 -0.203101 0.976196 +vn 0.079165 -0.000549 0.996857 +vn 0.126682 -0.197516 0.972045 +vn 0.165319 -0.222144 0.960875 +vn 0.091891 -0.162969 0.982330 +vn 0.204230 -0.186468 0.960967 +vn 0.054109 -0.248238 0.967162 +vn 0.141575 0.494369 0.857631 +vn 0.299142 0.457747 0.837214 +vn 0.193396 0.440321 0.876736 +vn 0.257912 0.427869 0.866237 +vn -0.151158 -0.863674 -0.480819 +vn 0.793451 -0.562029 -0.233467 +vn 0.078402 0.237495 0.968200 +vn 0.065035 0.062838 0.995880 +vn 0.966186 0.218329 0.136937 +vn 0.953154 0.243202 0.179785 +vn 0.942473 0.305643 0.135350 +vn 0.946196 -0.061830 0.317576 +vn 0.966338 0.176000 0.187567 +vn 0.948607 -0.062136 -0.310282 +vn 0.967193 -0.100101 -0.233467 +vn 0.929350 0.050325 -0.365703 +vn 0.960601 -0.000153 -0.277871 +vn 0.898923 0.141270 -0.414655 +vn 0.932646 0.091891 -0.348796 +vn 0.500351 0.330393 0.800287 +vn 0.502548 0.306619 0.808313 +vn 0.437056 0.454878 0.775903 +vn 0.551530 0.182745 0.813868 +vn 0.575121 0.146397 0.804834 +vn 0.611530 0.060121 0.788903 +vn 0.649129 0.005524 0.760643 +vn 0.843959 0.535203 -0.034852 +vn 0.692373 0.108371 -0.713340 +vn 0.690268 0.135868 -0.710654 +vn 0.646352 0.157506 -0.746574 +vn 0.860347 -0.301737 -0.410749 +vn 0.959471 0.269570 -0.081759 +vn 0.745598 -0.151708 -0.648854 +vn 0.724509 -0.188177 -0.663045 +vn 0.741172 -0.197333 -0.641621 +vn 0.195532 0.855342 0.479659 +vn 0.294198 0.820215 0.490585 +vn -0.256935 0.964171 0.065676 +vn -0.271981 0.961730 0.032563 +vn 0.293924 0.842952 0.450545 +vn 0.274789 0.851772 0.446059 +vn -0.236396 0.967162 -0.093020 +vn 0.295236 0.801996 0.519211 +vn 0.318613 0.778130 0.541246 +vn 0.276620 0.765221 0.581286 +vn 0.246162 -0.852016 -0.462020 +vn 0.220985 -0.829127 -0.513474 +vn 0.268654 -0.886196 -0.377392 +vn 0.210700 0.722007 0.658986 +vn -0.231849 0.966186 -0.112766 +vn -0.359081 0.853267 0.378063 +vn -0.758538 -0.646046 -0.085055 +vn -0.948271 0.315256 0.036622 +vn -0.946532 0.322123 0.016694 +vn -0.936125 0.350932 0.021821 +vn -0.134434 0.987152 -0.086062 +vn -0.655690 -0.074465 -0.751305 +vn -0.805200 -0.035340 -0.591906 +vn -0.817255 -0.065615 -0.572497 +vn 0.858089 0.483200 0.173589 +vn 0.873775 0.474715 0.105472 +vn -0.626881 -0.778405 -0.032899 +vn -0.729667 -0.683737 -0.005127 +vn -0.516037 -0.855892 0.033113 +vn -0.057711 -0.916776 0.395154 +vn -0.037812 -0.913663 0.404645 +vn -0.228706 -0.428877 0.873897 +vn -0.204016 -0.342265 0.917173 +vn -0.365581 -0.442763 0.818690 +vn -0.381542 -0.399670 0.833461 +vn -0.144749 -0.235694 0.960967 +vn -0.095889 -0.174413 0.979980 +vn -0.125858 -0.172735 0.976867 +vn -0.201147 -0.102969 0.974120 +vn -0.276498 0.023591 0.960723 +vn -0.331553 0.180822 0.925932 +vn -0.361827 0.254616 0.896786 +vn -0.388440 0.296518 0.872433 +vn -0.398236 0.335978 0.853511 +vn -0.334941 0.327342 0.883511 +vn -0.235084 0.198157 0.951537 +vn -0.142277 0.087802 0.985900 +vn -0.149602 0.119388 0.981506 +vn -0.179144 0.305643 0.935118 +vn -0.187506 0.428175 0.883999 +vn -0.214972 0.470077 0.856014 +vn -0.207526 0.475570 0.854823 +vn -0.176214 0.457045 0.871792 +vn -0.096286 0.418683 0.902982 +vn -0.123661 -0.657277 0.743400 +vn 0.991272 0.069552 -0.111728 +vn 0.994537 0.070406 -0.076968 +vn 0.986419 0.128300 -0.102512 +vn 0.041292 0.252663 0.966643 +vn 0.039399 0.184149 0.982086 +vn 0.105869 0.208808 0.972198 +vn 0.290017 0.254707 0.922483 +vn 0.169897 0.254707 0.951964 +vn 0.907834 0.417280 0.040895 +vn 0.915738 0.398694 0.049532 +vn 0.177557 0.464675 0.867489 +vn 0.091739 0.641072 0.761956 +vn 0.076785 0.658345 0.748772 +vn 0.114078 0.196417 0.973846 +vn 0.087100 0.292001 0.952422 +vn 0.355144 0.514237 0.780633 +vn 0.176000 0.378918 0.908505 +vn 0.782647 -0.617664 -0.076815 +vn -0.218543 -0.975768 0.008423 +vn -0.240089 -0.962493 -0.126164 +vn -0.080264 -0.995483 0.050569 +vn 0.255440 0.096561 0.961974 +vn 0.282571 0.056551 0.957549 +vn 0.205329 0.264779 0.942167 +vn -0.336863 0.329539 -0.881985 +vn -0.319865 0.250923 -0.913602 +vn -0.324686 0.259438 -0.909513 +vn 0.447737 -0.515458 -0.730613 +vn 0.565477 -0.578509 -0.587786 +vn 0.565172 -0.611988 -0.553148 +vn -0.128178 -0.667165 0.733757 +vn -0.016572 -0.626667 0.779077 +vn 0.932371 0.344127 -0.110660 +vn -0.056825 0.564348 0.823542 +vn -0.038331 -0.625233 -0.779473 +vn 0.240455 -0.384625 0.891171 +vn 0.021577 0.058412 0.998047 +vn 0.118748 0.147801 0.981842 +vn 0.085604 0.161046 0.983215 +vn 0.143498 0.135807 0.980255 +vn 0.345378 -0.056581 0.936735 +vn 0.351482 -0.266396 0.897458 +vn 0.240730 0.068422 0.968169 +vn 0.173711 -0.000092 0.984771 +vn 0.317392 0.775750 0.545396 +vn 0.224586 0.736320 0.638234 +vn 0.186834 -0.745781 0.639424 +vn 0.129826 -0.029664 0.991089 +vn 0.317972 -0.466903 0.825129 +vn 0.323862 -0.208472 0.922819 +vn -0.104892 -0.439924 0.891873 +vn 0.345622 -0.434034 0.831935 +vn -0.151280 -0.244911 0.957640 +vn -0.057222 -0.172643 0.983306 +vn 0.140873 -0.333567 0.932127 +vn -0.084078 0.593707 0.800256 +vn 0.007538 -0.455580 0.890133 +vn 0.163366 0.476333 0.863918 +vn 0.889553 0.188299 -0.416150 +vn 0.895199 0.197729 -0.399365 +vn 0.124424 0.501785 0.855953 +vn 0.158238 0.536790 0.828730 +vn 0.254463 0.617176 0.744499 +vn -0.891629 -0.433851 0.129398 +vn -0.658467 -0.740287 0.135319 +vn -0.736412 -0.675832 -0.029939 +vn 0.167272 -0.133091 0.976867 +vn -0.047365 0.603717 0.795770 +vn -0.053346 0.568590 0.820856 +vn -0.030000 0.571795 0.819819 +vn 0.148625 -0.353740 0.923429 +vn 0.149266 0.046022 0.987701 +vn 0.148503 0.026154 0.988556 +vn 0.051180 0.031007 0.998199 +vn 0.972503 0.230110 0.035646 +vn 0.973296 0.225745 0.041169 +vn 0.977813 0.204077 0.047029 +vn 0.263466 0.784967 -0.560656 +vn 0.264595 0.801233 -0.536607 +vn 0.241493 0.220130 -0.945097 +vn 0.167608 0.171422 -0.970824 +vn 0.175542 0.104343 -0.978912 +vn -0.888699 -0.318644 0.329600 +vn 0.887448 0.235054 -0.396374 +vn 0.888730 0.250832 -0.383679 +vn 0.681295 -0.096957 0.725516 +vn 0.719840 -0.189398 0.667745 +vn 0.755181 -0.271859 0.596454 +vn 0.772759 -0.334758 0.539201 +vn 0.781549 -0.332926 0.527512 +vn 0.775018 -0.334971 0.535813 +vn 0.856227 -0.494125 -0.150578 +vn 0.666677 -0.691549 -0.277963 +vn 0.896969 -0.432722 -0.090396 +vn -0.768303 -0.219855 0.601093 +vn -0.789453 -0.419141 0.448347 +vn -0.784204 -0.335459 0.521958 +vn -0.340922 0.769982 0.539323 +vn -0.315622 0.826838 0.465468 +vn -0.320505 0.835810 0.445723 +vn -0.188086 0.946928 -0.260567 +vn -0.245491 0.938078 -0.244301 +vn 0.837184 0.503128 0.214331 +vn 0.824763 0.496506 0.270547 +vn 0.858516 0.488784 0.154881 +vn 0.792108 0.486038 0.369182 +vn 0.819727 0.450789 0.353221 +vn 0.730888 -0.659780 0.174413 +vn 0.687216 -0.710624 0.150700 +vn 0.012909 0.998352 -0.055696 +vn -0.295511 0.800562 0.521287 +vn -0.354411 0.816553 0.455611 +vn 0.187536 -0.834712 -0.517747 +vn 0.120334 -0.817621 -0.562975 +vn -0.012970 0.999878 -0.005860 +vn -0.042909 0.999054 0.005676 +vn -0.052004 0.998596 0.007691 +vn 0.303507 0.823237 0.479690 +vn -0.324961 0.879665 0.347179 +vn -0.323466 0.869900 0.372265 +vn 0.378094 0.201117 -0.903623 +vn 0.457900 0.189917 -0.868465 +vn 0.366466 0.018128 -0.930235 +vn 0.072420 0.046236 -0.996277 +vn 0.123966 0.007996 -0.992248 +vn 0.103244 0.070467 -0.992126 +vn -0.356853 -0.037141 -0.933409 +vn -0.300821 -0.047426 -0.952483 +vn -0.298196 -0.032167 -0.953948 +vn -0.465957 -0.192999 -0.863491 +vn -0.474258 -0.272317 -0.837184 +vn -0.247261 -0.911771 0.327830 +vn -0.345042 -0.856777 0.383190 +vn -0.172704 -0.971038 0.165075 +vn -0.255379 -0.938871 0.230781 +vn -0.327494 -0.876125 0.353679 +vn -0.045991 -0.995209 0.086001 +vn -0.490005 0.077761 -0.868221 +vn -0.249092 -0.400800 0.881619 +vn -0.121830 -0.444563 0.887387 +vn -0.239540 -0.473220 0.847713 +vn -0.310617 -0.460952 0.831263 +vn -0.065828 -0.422712 0.903836 +vn -0.164251 -0.292459 0.942045 +vn -0.054750 -0.170202 0.983856 +vn 0.121830 -0.248939 0.960814 +vn -0.047243 -0.317667 0.947020 +vn -0.012543 -0.204382 0.978790 +vn -0.005463 -0.173681 0.984771 +vn -0.053011 -0.220527 0.973937 +vn -0.138127 -0.167119 0.976196 +vn -0.223914 -0.023621 0.974303 +vn -0.253365 0.141820 0.956908 +vn -0.325083 0.224921 0.918546 +vn -0.379131 0.280068 0.881924 +vn -0.388195 0.356487 0.849788 +vn -0.325419 0.398724 0.857356 +vn -0.198645 0.299234 0.933256 +vn -0.081271 0.124638 0.988861 +vn -0.049471 0.099399 0.993805 +vn -0.082156 0.272469 0.958647 +vn -0.132817 0.407849 0.903317 +vn -0.173345 0.459212 0.871212 +vn -0.173650 0.486923 0.855983 +vn -0.151494 0.497085 0.854335 +vn -0.073489 0.476485 0.876064 +vn -0.053224 0.504227 0.861904 +vn -0.002686 0.401563 0.915799 +vn -0.171026 -0.275582 -0.945921 +vn -0.027985 -0.013153 0.999512 +vn 0.311380 0.264779 0.912625 +vn 0.047914 0.526597 0.848750 +vn 0.068697 0.502823 0.861629 +vn 0.004486 0.634602 0.772790 +vn 0.307749 0.203314 0.929472 +vn 0.261696 0.153447 0.952849 +vn 0.250343 0.202704 0.946684 +vn 0.988495 0.004578 -0.151036 +vn 0.990356 -0.020203 -0.137028 +vn 0.994446 0.016877 -0.103824 +vn 0.176580 -0.144444 0.973601 +vn 0.384106 -0.383801 0.839717 +vn 0.295144 -0.255226 0.920713 +vn 0.224342 0.267739 0.936979 +vn -0.488815 -0.497848 -0.716330 +vn -0.129704 -0.420789 0.897824 +vn -0.184606 -0.287912 0.939665 +vn -0.116764 -0.291513 0.949400 +vn -0.059206 -0.488845 0.870327 +vn -0.108615 -0.407270 0.906796 +vn 0.049318 -0.433973 0.899564 +vn -0.001495 0.296152 0.955107 +vn -0.024171 0.205237 0.978393 +vn 0.337504 0.467299 0.817103 +vn 0.286355 0.569720 0.770318 +vn 0.106449 0.503952 0.857112 +vn 0.058565 0.622150 0.780694 +vn 0.301614 0.285379 0.909696 +vn 0.277993 0.332133 0.901303 +vn -0.029115 0.149113 0.988372 +vn -0.026063 0.222633 0.974548 +vn 0.047304 0.130955 0.990234 +vn 0.114902 0.384014 0.916135 +vn 0.101657 0.353862 0.929716 +vn 0.008606 -0.498123 0.867031 +vn -0.066713 -0.115665 0.991028 +vn -0.036653 -0.035981 0.998657 +vn -0.053438 -0.093600 0.994171 +vn 0.044649 0.012116 0.998901 +vn 0.108005 -0.112857 0.987701 +vn 0.462081 -0.848903 -0.256508 +vn 0.607379 -0.764397 -0.216254 +vn 0.704062 -0.677969 -0.211280 +vn 0.364452 0.628773 0.686850 +vn 0.359264 0.660756 0.659017 +vn 0.206397 -0.628193 0.750145 +vn 0.131748 -0.564318 0.814936 +vn 0.229652 -0.538621 0.810602 +vn -0.129215 0.199866 0.971252 +vn -0.127628 -0.004608 0.991791 +vn -0.128239 0.056490 0.990112 +vn -0.207709 0.003052 0.978179 +vn 0.498123 -0.860439 0.106998 +vn -0.186621 0.055147 0.980865 +vn 0.369976 -0.521287 0.768975 +vn 0.476150 -0.514695 0.712973 +vn 0.346873 -0.649129 0.676962 +vn 0.143132 0.221351 0.964629 +vn 0.091739 0.283364 0.954588 +vn 0.378491 0.806726 0.453749 +vn 0.229926 0.402295 0.886135 +vn 0.204779 0.328257 0.922117 +vn 0.237587 0.357524 0.903165 +vn 0.264046 0.220222 0.939024 +vn 0.186712 0.188757 0.964080 +vn 0.230750 0.216956 0.948485 +vn 0.263741 0.292642 0.919126 +vn 0.339091 0.235908 0.910672 +vn 0.098117 0.189398 0.976959 +vn 0.045351 0.432966 0.900235 +vn -0.077914 0.408551 0.909391 +vn -0.112674 0.443800 0.888974 +vn 0.067019 0.286813 0.955626 +vn 0.109470 0.227149 0.967681 +vn 0.783288 -0.526383 -0.330638 +vn 0.787378 -0.300821 0.538041 +vn 0.763482 -0.271310 0.586047 +vn 0.685903 -0.622822 -0.376293 +vn 0.905759 0.420942 -0.048860 +vn 0.860622 0.500137 -0.095676 +vn -0.954924 -0.043336 0.293558 +vn -0.979156 -0.051332 0.196478 +vn 0.870632 0.297128 -0.392041 +vn 0.879635 0.288858 -0.377819 +vn 0.751244 -0.207801 0.626453 +vn 0.756523 -0.116123 0.643513 +vn 0.225501 0.966124 0.125340 +vn -0.099948 -0.347514 -0.932310 +vn -0.488845 -0.375927 -0.787194 +vn -0.501907 -0.131474 -0.854854 +vn -0.359691 0.888516 0.284799 +vn -0.265908 -0.164281 -0.949858 +vn -0.249733 -0.239662 -0.938169 +vn 0.792993 0.530198 0.299966 +vn -0.133061 0.969207 -0.207099 +vn 0.257607 0.965667 -0.033143 +vn 0.104587 0.993744 -0.038484 +vn 0.681661 -0.662954 -0.309458 +vn 0.789361 0.512925 0.337321 +vn 0.796442 0.473922 0.375561 +vn 0.365307 -0.896542 -0.250404 +vn 0.454237 -0.849483 -0.268349 +vn 0.765984 0.561327 0.313273 +vn 0.728111 0.609394 0.313761 +vn -0.843867 -0.474319 0.250710 +vn 0.721458 0.612049 0.323740 +vn -0.893735 0.442763 -0.071780 +vn 0.311014 0.192511 -0.930692 +vn 0.339976 0.159764 -0.926756 +vn 0.314859 0.225532 -0.921934 +vn -0.016266 -0.838710 -0.544298 +vn -0.384808 -0.064486 -0.920713 +vn 0.066683 -0.026246 -0.997406 +vn 0.038240 0.016511 -0.999115 +vn 0.048494 0.009339 -0.998749 +vn -0.315470 -0.376537 0.870998 +vn -0.341624 -0.411420 0.844966 +vn -0.273934 -0.356090 0.893368 +vn -0.198309 -0.333842 0.921506 +vn -0.033326 -0.365764 0.930082 +vn 0.085055 -0.404889 0.910367 +vn 0.101077 -0.308054 0.945982 +vn 0.107334 -0.210273 0.971709 +vn 0.051912 -0.209052 0.976501 +vn -0.019227 -0.256233 0.966399 +vn -0.086459 -0.224219 0.970672 +vn -0.125340 -0.046785 0.990997 +vn -0.154515 0.116611 0.981048 +vn -0.203803 0.171484 0.963866 +vn -0.259713 0.240272 0.935301 +vn -0.295755 0.369579 0.880856 +vn -0.263009 0.443129 0.856990 +vn -0.242836 0.365825 0.898434 +vn -0.219672 0.169897 0.960631 +vn -0.151738 0.145451 0.977630 +vn -0.088076 0.251137 0.963927 +vn -0.110752 0.387249 0.915281 +vn -0.120884 0.450972 0.884304 +vn -0.114017 0.501663 0.857479 +vn -0.077517 0.514756 0.853816 +vn 0.535417 -0.015748 0.844417 +vn 0.520371 0.024232 0.853572 +vn 0.651265 -0.025025 0.758415 +vn -0.169836 -0.200415 0.964843 +vn -0.008454 -0.270119 0.962767 +vn -0.069735 -0.110782 0.991363 +vn 0.275948 -0.312387 0.908963 +vn 0.387616 0.199469 0.899960 +vn 0.191809 -0.306803 0.932218 +vn -0.063173 -0.076296 0.995056 +vn 0.917539 0.396802 0.025300 +vn -0.146428 -0.640675 -0.753716 +vn -0.179479 -0.590777 -0.786584 +vn -0.166967 -0.607807 -0.776299 +vn 0.083865 0.010651 0.996399 +vn 0.188788 -0.089236 0.977935 +vn -0.039949 0.107089 0.993439 +vn 0.685293 -0.716544 -0.129978 +vn 0.677541 -0.723411 -0.132420 +vn 0.641499 -0.754997 -0.135624 +vn 0.023865 0.195654 0.980377 +vn 0.259438 0.221778 0.939940 +vn 0.217139 -0.086428 0.972289 +vn 0.301584 0.209784 0.930052 +vn 0.040223 0.161840 0.985992 +vn 0.138859 0.135319 0.981017 +vn 0.046113 0.238014 0.970153 +vn -0.253365 0.189550 0.948607 +vn 0.140202 0.344310 0.928312 +vn 0.042970 -0.134404 0.989990 +vn -0.041688 -0.141545 0.989044 +vn -0.005402 -0.002625 0.999969 +vn 0.045747 0.574969 0.816858 +vn 0.143803 0.240089 0.960021 +vn 0.004334 0.114139 0.993439 +vn 0.840785 -0.524888 -0.132267 +vn -0.174383 0.480300 0.859554 +vn -0.101627 0.465438 0.879208 +vn -0.061007 0.504471 0.861232 +vn -0.190619 0.456648 0.868954 +vn 0.488449 -0.853511 -0.181310 +vn -0.992828 -0.087344 0.081332 +vn -0.995819 -0.049471 0.076449 +vn -0.989563 -0.110477 0.092196 +vn 0.109348 0.435926 0.893277 +vn 0.117771 0.508438 0.852992 +vn -0.064791 -0.065279 0.995758 +vn -0.037416 0.040864 0.998444 +vn -0.164464 0.023621 0.986084 +vn -0.161870 -0.052126 0.985412 +vn -0.047243 0.307138 0.950468 +vn -0.083590 0.335337 0.938353 +vn 0.003784 0.285745 0.958281 +vn 0.001648 -0.514298 -0.857601 +vn -0.022919 -0.535813 -0.843989 +vn -0.022401 -0.528123 -0.848842 +vn 0.451735 -0.233772 0.860958 +vn 0.310526 -0.345256 0.885617 +vn 0.987182 0.134373 -0.085788 +vn 0.840358 -0.365886 -0.399884 +vn 0.867244 -0.371166 -0.331767 +vn 0.796075 -0.517167 -0.314249 +vn 0.997314 0.030702 -0.066378 +vn 0.997070 0.062624 -0.043794 +vn 0.398999 0.102939 0.911130 +vn 0.857326 -0.494064 -0.144414 +vn 0.851833 -0.501022 -0.152654 +vn 0.855556 -0.490738 -0.164800 +vn 0.017762 0.423200 0.905820 +vn 0.090884 0.479629 0.872738 +vn 0.094760 0.490402 0.866298 +vn 0.072420 0.451399 0.889370 +vn 0.016205 0.594073 0.804224 +vn 0.017121 0.450789 0.892453 +vn 0.110080 0.708731 0.696799 +vn -0.107395 0.736839 0.667440 +vn -0.140355 0.749260 0.647206 +vn -0.692373 -0.660878 0.289499 +vn -0.701224 -0.637013 0.320078 +vn -0.540605 -0.799219 0.262581 +vn -0.087436 0.939207 0.332011 +vn -0.089084 0.928129 0.361370 +vn -0.068880 0.930052 0.360881 +vn 0.022340 -0.999512 -0.020417 +vn 0.043428 -0.999023 -0.005524 +vn 0.003327 -0.999481 -0.031251 +vn 0.865078 0.301218 -0.401074 +vn -0.951262 -0.062624 0.301920 +vn -0.958007 -0.133000 0.254006 +vn -0.945555 -0.049623 -0.321574 +vn -0.961943 -0.085025 -0.259621 +vn 0.667470 0.698569 0.257698 +vn 0.625568 0.750420 0.213202 +vn -0.209113 0.976653 -0.048921 +vn -0.980102 0.079287 -0.181799 +vn -0.983459 -0.083285 -0.160802 +vn -0.981017 -0.139286 -0.134831 +vn -0.908048 0.385296 0.164190 +vn -0.889767 0.393170 0.231697 +vn -0.925260 0.330943 0.185308 +vn -0.812006 0.466964 -0.350047 +vn -0.977233 -0.211890 -0.010437 +vn -0.970794 -0.186071 0.151402 +vn -0.944700 -0.322794 0.057253 +vn -0.808893 0.503739 -0.303110 +vn -0.972930 -0.028626 -0.229225 +vn -0.916715 -0.244789 -0.315683 +vn -0.974120 0.203650 -0.097812 +vn -0.320750 0.937010 0.138066 +vn -0.608600 0.792261 0.043550 +vn -0.882473 0.460982 0.093326 +vn -0.892087 -0.245766 0.379101 +vn -0.905637 -0.261483 0.333781 +vn -0.267922 0.829157 0.490555 +vn -0.276955 0.774468 0.568712 +vn -0.267373 0.753258 0.600879 +vn 0.536729 -0.805567 -0.250893 +vn 0.703360 -0.659017 -0.266335 +vn -0.155950 -0.333140 -0.929868 +vn -0.183203 -0.387188 -0.903592 +vn -0.113559 -0.378857 -0.918424 +vn 0.130284 -0.740196 -0.659627 +vn 0.032624 0.038209 -0.998718 +vn 0.079958 0.058718 -0.995056 +vn -0.421430 -0.014863 -0.906705 +vn -0.449965 0.129185 -0.883633 +vn -0.329386 0.103305 -0.938505 +vn 0.490707 -0.866390 -0.092441 +vn 0.826167 -0.534165 -0.179083 +vn 0.823450 -0.540025 -0.173986 +vn -0.248329 -0.793573 -0.555467 +vn -0.192602 -0.919523 -0.342540 +vn -0.259285 -0.925871 -0.274819 +vn -0.252266 0.500381 -0.828211 +vn -0.304117 0.457137 -0.835749 +vn -0.282083 0.504990 -0.815699 +vn -0.269845 -0.319926 0.908170 +vn -0.234046 -0.262276 0.936155 +vn -0.151921 -0.277810 0.948515 +vn 0.002258 -0.348552 0.937254 +vn 0.145482 -0.276833 0.949828 +vn 0.174474 -0.226630 0.958220 +vn 0.121433 -0.263192 0.957060 +vn 0.031617 -0.303629 0.952239 +vn -0.000763 -0.235511 0.971862 +vn 0.027863 -0.056948 0.997986 +vn -0.013306 0.071261 0.997345 +vn -0.119205 0.145848 0.982086 +vn -0.149693 0.223457 0.963134 +vn -0.155217 0.372723 0.914853 +vn -0.141545 0.463912 0.874477 +vn -0.148991 0.377850 0.913785 +vn -0.146947 0.189154 0.970885 +vn -0.135929 0.169378 0.976104 +vn -0.113498 0.282510 0.952513 +vn -0.111728 0.382000 0.917356 +vn -0.097507 0.458357 0.883389 +vn -0.066622 0.510056 0.857540 +vn -0.059755 0.533280 0.843806 +vn -0.037477 0.517350 0.854915 +vn -0.183416 0.171148 -0.968017 +vn -0.146764 0.183813 -0.971923 +vn -0.043123 0.141636 -0.988952 +vn 0.312876 0.337382 0.887814 +vn 0.449263 0.295755 0.842982 +vn 0.042695 -0.020051 0.998871 +vn 0.335856 0.546556 0.767083 +vn -0.138127 0.416425 0.898587 +vn -0.159093 0.625355 0.763939 +vn -0.879818 -0.469497 0.074007 +vn -0.865719 -0.494705 0.075686 +vn -0.731498 -0.681478 -0.021760 +vn -0.068728 0.134617 0.988495 +vn -0.081484 -0.051485 0.995331 +vn -0.254707 0.353465 0.900082 +vn -0.138371 -0.735099 0.663656 +vn -0.127659 -0.754784 0.643422 +vn -0.110843 -0.749138 0.653035 +vn 0.287912 0.610828 0.737510 +vn 0.393475 0.381115 0.836573 +vn 0.254860 0.509262 0.821986 +vn 0.296976 0.419507 0.857784 +vn 0.153752 0.601276 0.784082 +vn 0.176000 0.651357 0.738060 +vn -0.262154 0.613361 0.744987 +vn -0.027619 0.506790 0.861599 +vn -0.091128 0.539994 0.836695 +vn 0.273507 0.178472 0.945158 +vn 0.246193 0.096774 0.964354 +vn -0.927091 0.340068 0.157445 +vn 0.233070 -0.369182 0.899625 +vn 0.244728 -0.425642 0.871151 +vn 0.506912 -0.145116 0.849666 +vn 0.080996 0.297189 0.951353 +vn 0.025483 0.348399 0.936979 +vn 0.043153 0.325266 0.944609 +vn 0.054292 0.250526 0.966552 +vn 0.070070 0.178655 0.981384 +vn 0.114811 0.161870 0.980102 +vn 0.278878 0.211066 0.936827 +vn 0.223182 0.373272 0.900449 +vn -0.060305 -0.741050 0.668691 +vn -0.054353 -0.726493 0.684988 +vn -0.267129 -0.487533 0.831202 +vn -0.290780 -0.222327 0.930570 +vn -0.260628 -0.260720 0.929533 +vn -0.602527 -0.508652 0.614978 +vn -0.603565 -0.481613 0.635395 +vn -0.575457 -0.505722 0.642689 +vn -0.982574 -0.072146 -0.171148 +vn -0.991699 0.047151 -0.119572 +vn -0.992309 -0.014618 -0.122684 +vn -0.061373 -0.215735 0.974517 +vn -0.928953 -0.213324 0.302499 +vn -0.943968 -0.135868 0.300668 +vn 0.363414 -0.123630 0.923368 +vn 0.337962 -0.143498 0.930143 +vn 0.304056 -0.151921 0.940428 +vn -0.020875 0.374615 0.926908 +vn 0.327464 0.280770 0.902158 +vn 0.325480 -0.438154 0.837886 +vn 0.295419 -0.522843 0.799554 +vn 0.185827 0.230049 0.955260 +vn 0.114322 0.269723 0.956114 +vn 0.051271 0.407727 0.911649 +vn 0.123630 0.432813 0.892941 +vn 0.139470 0.390637 0.909879 +vn 0.162481 0.425092 0.890408 +vn 0.209784 0.464522 0.860317 +vn 0.188910 0.436110 0.879818 +vn 0.147069 0.259743 0.954405 +vn 0.096408 0.412305 0.905911 +vn 0.133213 -0.745506 -0.653035 +vn 0.172216 0.050417 0.983734 +vn 0.125553 0.165380 0.978179 +vn 0.037904 0.177740 0.983337 +vn 0.110050 0.322062 0.940275 +vn 0.029145 0.470748 0.881771 +vn 0.331248 0.269967 0.904080 +vn 0.309030 0.449385 0.838160 +vn 0.350230 0.276223 0.894986 +vn 0.955473 0.200934 0.215918 +vn 0.912015 0.296152 0.283670 +vn -0.115696 -0.588946 -0.799829 +vn -0.064730 -0.590594 -0.804346 +vn -0.102451 -0.569933 -0.815241 +vn 0.869930 -0.441084 -0.220466 +vn 0.910092 -0.386944 -0.148259 +vn -0.096255 -0.858730 0.503250 +vn 0.003723 -0.985107 0.171880 +vn 0.905881 0.218055 -0.363048 +vn 0.897061 0.240913 -0.370403 +vn 0.692190 0.670156 0.267861 +vn 0.706809 0.670766 0.224555 +vn 0.606250 0.689932 0.395520 +vn 0.284158 0.864925 0.413678 +vn 0.105716 0.901822 0.418928 +vn 0.181860 0.889828 0.418409 +vn -0.167241 0.981964 0.087985 +vn -0.996277 -0.043062 -0.074587 +vn -0.995849 0.076968 -0.047975 +vn -0.994263 0.060549 -0.087893 +vn -0.950896 0.306253 -0.044160 +vn -0.966247 0.255623 -0.031556 +vn -0.965514 0.245949 -0.085086 +vn -0.880612 -0.467666 0.075900 +vn -0.829279 -0.543931 0.128056 +vn -0.877132 -0.459639 0.139042 +vn -0.000153 -0.998138 -0.060488 +vn 0.074526 -0.995422 -0.059694 +vn 0.039521 -0.998505 -0.037690 +vn -0.230689 0.955382 -0.184332 +vn -0.230384 0.948698 -0.216498 +vn -0.232521 0.937071 -0.260323 +vn -0.251930 0.959166 -0.128391 +vn -0.381054 0.275796 -0.882443 +vn -0.248512 0.208045 -0.946013 +vn -0.283578 0.262429 -0.922300 +vn 0.031007 -0.999207 0.024323 +vn -0.027192 -0.998962 0.035951 +vn -0.005585 -0.999908 0.010743 +vn -0.325999 -0.164129 -0.930998 +vn -0.297952 -0.219306 -0.929014 +vn -0.243538 -0.331706 -0.911374 +vn -0.555559 0.331614 -0.762444 +vn -0.592029 0.344035 -0.728782 +vn -0.578478 0.340190 -0.741356 +vn -0.085635 0.450270 -0.888760 +vn -0.044801 0.408032 -0.911832 +vn -0.079592 0.448897 -0.890011 +vn -0.150304 -0.406751 -0.901059 +vn -0.408643 -0.498642 -0.764397 +vn 0.409680 -0.897427 -0.163579 +vn 0.429945 -0.875301 -0.221259 +vn -0.420087 -0.111820 -0.900540 +vn -0.276620 -0.100467 -0.955687 +vn -0.271767 -0.431745 0.860042 +vn -0.294961 -0.313883 0.902463 +vn -0.278664 -0.448408 0.849269 +vn -0.308817 -0.473708 0.824732 +vn -0.319071 -0.235542 0.917966 +vn -0.275460 -0.215949 0.936705 +vn -0.123844 -0.221015 0.967345 +vn 0.054811 -0.203040 0.977630 +vn 0.118595 -0.213843 0.969634 +vn 0.152074 -0.296945 0.942686 +vn 0.110172 -0.335704 0.935484 +vn 0.118198 -0.209052 0.970702 +vn 0.178198 -0.064486 0.981872 +vn 0.107181 0.019959 0.994018 +vn -0.041200 0.059999 0.997345 +vn -0.090213 0.212561 0.972961 +vn -0.091800 0.370220 0.924375 +vn -0.094424 0.479415 0.872463 +vn -0.054201 0.390393 0.919034 +vn -0.043794 0.200262 0.978759 +vn -0.080538 0.164800 0.983001 +vn -0.110569 0.272195 0.955840 +vn -0.121616 0.375195 0.918912 +vn -0.111423 0.472640 0.874142 +vn -0.078402 0.514450 0.853908 +vn -0.085482 0.537797 0.838710 +vn -0.049898 0.539903 0.840236 +vn -0.011689 0.532975 0.846034 +vn 0.016388 0.505570 0.862606 +vn 0.952452 -0.116947 -0.281259 +vn 0.153569 0.352855 0.922971 +vn 0.089175 0.448714 0.889187 +vn 0.339396 0.040986 0.939726 +vn 0.906095 0.205878 -0.369579 +vn 0.909268 0.203925 -0.362774 +vn 0.059908 -0.736717 -0.673513 +vn 0.124912 -0.802393 -0.583544 +vn -0.149937 -0.074770 0.985839 +vn -0.166448 -0.081027 0.982696 +vn -0.161260 0.011872 0.986816 +vn -0.093966 -0.715018 0.692709 +vn 0.142460 -0.677908 0.721183 +vn -0.104892 -0.500320 0.859432 +vn 0.155156 -0.098025 0.983001 +vn 0.050752 0.013398 0.998596 +vn -0.033692 -0.125095 0.991546 +vn 0.262612 0.397412 0.879238 +vn 0.184698 0.497330 0.847652 +vn 0.067598 0.553545 0.830042 +vn 0.185461 0.535173 0.824091 +vn 0.215217 0.333262 0.917905 +vn 0.322001 0.081912 0.943175 +vn 0.264870 0.055025 0.962706 +vn 0.241707 0.233436 -0.941832 +vn 0.231208 0.056459 -0.971252 +vn 0.240272 0.080325 -0.967345 +vn 0.185858 0.543107 0.818812 +vn 0.219367 0.542039 0.811182 +vn -0.159673 0.467635 0.869350 +vn 0.096713 -0.224860 0.969573 +vn -0.153264 -0.715842 0.681204 +vn 0.259590 0.177831 0.949187 +vn 0.238258 0.228309 0.943968 +vn 0.207770 0.247108 0.946410 +vn 0.039918 0.204138 0.978118 +vn 0.037996 0.403241 0.914274 +vn -0.090365 0.651418 0.753288 +vn -0.124668 0.615894 0.777856 +vn 0.029420 -0.327677 0.944304 +vn 0.151891 0.122868 0.980712 +vn 0.165349 0.154210 0.974090 +vn 0.037233 0.096744 0.994598 +vn 0.274850 0.480850 0.832575 +vn -0.109775 -0.061129 0.992065 +vn -0.121708 -0.866909 0.483352 +vn 0.029145 -0.914640 0.403180 +vn -0.050661 -0.981414 0.184912 +vn 0.936827 0.345195 -0.056398 +vn 0.922819 0.377514 -0.076449 +vn 0.472152 -0.430982 0.768944 +vn 0.162816 -0.353923 0.920988 +vn 0.385144 -0.405103 0.829157 +vn 0.893185 -0.301462 -0.333598 +vn 0.887661 -0.300058 -0.349254 +vn 0.940214 -0.148015 -0.306681 +vn 0.932127 -0.121036 -0.341258 +vn 0.778680 -0.575457 -0.249916 +vn 0.169652 0.359081 0.917753 +vn 0.218451 0.297281 0.929441 +vn 0.113376 0.347575 0.930754 +vn 0.069216 0.078188 -0.994507 +vn -0.015473 -0.070742 -0.997345 +vn 0.081515 0.285806 0.954802 +vn -0.009430 0.312357 0.949889 +vn 0.005158 0.357341 0.933927 +vn -0.038514 0.257241 0.965575 +vn -0.032929 0.280435 0.959288 +vn -0.070498 0.191260 0.978973 +vn -0.062899 0.191046 0.979553 +vn -0.101382 -0.740135 0.664754 +vn -0.110263 -0.740196 0.663259 +vn -0.232643 0.208319 0.949950 +vn -0.015198 -0.999054 0.040071 +vn -0.004883 -0.963469 0.267708 +vn 0.031007 -0.998413 0.046968 +vn 0.000519 -0.598437 0.801141 +vn 0.196722 0.227638 0.953642 +vn 0.310770 0.182867 0.932707 +vn 0.201575 0.151585 0.967650 +vn 0.169683 0.879727 0.444136 +vn 0.194342 0.870479 0.452162 +vn -0.028748 0.838435 0.544176 +vn -0.119602 0.161931 0.979522 +vn -0.033937 0.028779 0.998993 +vn -0.010102 0.736442 0.676382 +vn -0.070254 -0.736991 0.672201 +vn 0.170629 -0.164464 0.971496 +vn -0.184240 -0.001038 0.982879 +vn -0.303537 -0.404859 0.862484 +vn 0.629505 -0.499619 -0.595019 +vn 0.901120 0.247475 -0.355907 +vn 0.892270 0.270486 -0.361400 +vn -0.313883 0.873714 0.371563 +vn -0.158452 0.985412 0.061800 +vn -0.172643 0.984954 0.007202 +vn -0.157964 0.987182 0.022126 +vn 0.482406 0.854366 0.193121 +vn -0.259194 0.961425 -0.091891 +vn -0.250465 0.964721 -0.080966 +vn -0.243904 0.967254 -0.070101 +vn -0.540147 0.172887 -0.823603 +vn -0.546922 0.212775 -0.809656 +vn -0.568133 0.275216 -0.775536 +vn -0.492752 -0.591113 -0.638539 +vn -0.486679 -0.665914 -0.565386 +vn -0.488418 -0.621876 -0.612079 +vn -0.786554 -0.123112 -0.605090 +vn -0.807001 -0.091983 -0.583300 +vn -0.849605 -0.129521 -0.511216 +vn 0.178991 0.240974 -0.953856 +vn 0.089206 0.121189 -0.988586 +vn 0.171239 0.244118 -0.954497 +vn 0.105350 -0.284341 -0.952879 +vn 0.082522 -0.265694 -0.960509 +vn 0.097018 -0.307230 -0.946654 +vn -0.215033 -0.368480 -0.904386 +vn -0.293069 -0.268105 -0.917692 +vn -0.372417 0.206336 -0.904813 +vn -0.667013 -0.144444 -0.730888 +vn -0.225227 -0.448775 0.864772 +vn -0.272958 -0.332286 0.902799 +vn -0.270913 -0.545152 0.793329 +vn -0.306009 -0.232765 0.923124 +vn -0.310373 -0.157903 0.937376 +vn -0.261116 -0.121342 0.957640 +vn -0.148564 -0.130680 0.980224 +vn -0.052095 -0.152562 0.986908 +vn 0.040895 -0.267251 0.962737 +vn 0.146184 -0.306528 0.940550 +vn 0.241401 -0.166540 0.955992 +vn 0.252907 -0.112644 0.960875 +vn 0.020386 -0.079226 0.996643 +vn -0.075198 -0.000061 0.997162 +vn -0.080691 0.218421 0.972503 +vn -0.059572 0.373058 0.925871 +vn -0.043306 0.491470 0.869778 +vn -0.011078 0.402570 0.915311 +vn -0.047975 0.165502 0.985015 +vn -0.126988 0.120579 0.984527 +vn -0.153264 0.265969 0.951689 +vn -0.129673 0.378552 0.916440 +vn -0.118809 0.473983 0.872463 +vn -0.116733 0.524857 0.843135 +vn -0.092349 0.541185 0.835780 +vn -0.068392 0.562853 0.823695 +vn -0.024018 0.558519 0.829127 +vn 0.038850 0.496872 0.866939 +vn 0.097201 0.176275 0.979522 +vn 0.195715 0.132328 0.971679 +vn 0.020631 0.035401 0.999146 +vn -0.030976 -0.009613 0.999451 +vn 0.459944 -0.887845 -0.013001 +vn 0.503677 -0.291574 0.813166 +vn 0.235847 -0.244087 0.940611 +vn 0.263833 -0.481338 0.835841 +vn 0.946013 0.155004 -0.284585 +vn -0.299997 0.645924 0.701956 +vn -0.182104 0.681295 0.708945 +vn 0.745506 0.493912 -0.447432 +vn -0.062288 0.490951 -0.868923 +vn 0.259865 0.748589 -0.609973 +vn 0.260323 -0.402936 0.877407 +vn 0.235359 -0.469375 0.851039 +vn 0.159429 0.018403 0.987030 +vn 0.543840 -0.796411 -0.264382 +vn 0.474502 -0.843074 -0.253029 +vn 0.659444 -0.702658 -0.267098 +vn 0.303873 0.400922 0.864223 +vn 0.307260 0.534227 0.787500 +vn -0.126957 -0.007752 0.991852 +vn 0.080264 0.177587 0.980804 +vn -0.124363 -0.720267 0.682424 +vn 0.027039 0.559069 0.828639 +vn 0.107669 0.552965 0.826197 +vn 0.035035 0.611103 0.790735 +vn 0.227424 0.415357 0.880734 +vn 0.184820 0.433515 0.881954 +vn 0.224891 0.191473 0.955382 +vn 0.026795 0.708975 0.704703 +vn -0.037690 0.681478 0.730857 +vn 0.871059 0.330424 -0.363353 +vn 0.890164 0.318369 -0.325907 +vn -0.023957 0.192267 0.981017 +vn 0.225837 0.484909 0.844874 +vn 0.297067 -0.092868 0.950316 +vn 0.300943 0.035554 0.952940 +vn 0.660237 -0.734458 -0.156896 +vn 0.680990 -0.723167 -0.115055 +vn 0.645161 -0.749413 -0.148625 +vn -0.086245 0.032167 0.995727 +vn -0.166326 -0.706046 0.688345 +vn -0.885006 -0.300394 -0.355693 +vn -0.975921 0.119633 -0.182195 +vn -0.659169 -0.740501 -0.130894 +vn 0.777551 -0.511460 -0.365703 +vn -0.270791 0.490677 0.828150 +vn -0.243324 0.527055 0.814234 +vn -0.183813 0.448408 0.874691 +vn 0.083590 0.388501 0.917631 +vn 0.423200 0.282571 0.860805 +vn 0.969573 0.240303 0.046236 +vn 0.971892 0.229408 0.052583 +vn 0.088046 0.204352 0.974914 +vn -0.116367 0.645070 0.755181 +vn -0.311045 0.650349 0.692984 +vn -0.352000 -0.636280 -0.686422 +vn -0.202368 -0.702353 -0.682424 +vn -0.261483 -0.694754 -0.670003 +vn 0.992706 -0.017914 -0.118961 +vn -0.127659 -0.721458 0.680532 +vn 0.507614 -0.826350 -0.243843 +vn 0.520371 -0.830226 -0.199713 +vn -0.041597 0.086306 0.995392 +vn 0.497696 -0.176885 0.849086 +vn 0.353374 -0.273812 0.894498 +vn 0.378246 0.120518 0.917783 +vn 0.436750 0.070681 0.896756 +vn 0.450026 0.047487 0.891720 +vn -0.075259 0.604694 0.792871 +vn 0.501816 -0.836451 -0.220161 +vn 0.508072 0.219001 0.832972 +vn 0.582080 0.230262 0.779839 +vn 0.666860 0.130894 0.733573 +vn 0.030000 -0.052705 0.998138 +vn -0.053346 0.064913 0.996460 +vn 0.110446 -0.004273 0.993866 +vn 0.134800 -0.013306 0.990753 +vn 0.111270 0.062075 0.991821 +vn -0.273354 0.961211 0.036195 +vn -0.147069 0.988586 0.032594 +vn -0.496170 0.857326 0.136906 +vn 0.988067 -0.146764 0.046022 +vn 0.083254 -0.553972 -0.828333 +vn 0.542375 -0.652089 -0.529679 +vn 0.491317 0.775323 0.396802 +vn 0.360271 0.880734 0.307352 +vn -0.212531 0.976959 0.018220 +vn -0.184454 0.980071 0.073550 +vn -0.123020 0.985168 0.119358 +vn 0.069552 0.953856 0.292001 +vn -0.050905 0.986053 0.158300 +vn 0.011628 0.971862 0.235145 +vn -0.292795 0.192450 -0.936583 +vn -0.290201 0.110874 -0.950499 +vn -0.219001 0.103763 -0.970183 +vn -0.554735 0.386425 0.736808 +vn -0.600208 0.055269 0.797906 +vn -0.320444 0.047487 0.946074 +vn -0.463240 0.299203 -0.834162 +vn -0.665181 0.344584 -0.662374 +vn -0.530015 0.435926 -0.727317 +vn -0.422193 -0.618519 -0.662679 +vn -0.346507 -0.166601 -0.923124 +vn -0.552568 0.281472 -0.784448 +vn -0.572405 0.323954 -0.753227 +vn -0.535203 0.324259 -0.779992 +vn -0.316752 0.281594 -0.905728 +vn -0.373241 0.309366 -0.874599 +vn -0.403882 0.286691 -0.868709 +vn 0.165716 0.274911 -0.947050 +vn 0.192450 0.313150 -0.929991 +vn 0.128941 0.436567 -0.890347 +vn -0.456923 0.026124 -0.889096 +vn -0.455733 -0.039705 -0.889218 +vn -0.375530 -0.147588 -0.914945 +vn -0.366283 -0.091128 -0.925993 +vn -0.214698 -0.542100 0.812403 +vn -0.292276 -0.028291 -0.955901 +vn -0.105777 -0.468276 0.877194 +vn -0.169225 -0.367321 0.914548 +vn -0.217017 -0.258034 0.941435 +vn -0.318217 -0.183386 0.930082 +vn -0.349986 -0.082553 0.933103 +vn -0.315348 -0.063234 0.946837 +vn -0.235847 -0.088717 0.967711 +vn -0.129185 -0.185797 0.974029 +vn 0.023957 -0.207984 0.977813 +vn 0.205908 -0.130985 0.969756 +vn 0.166631 -0.185797 0.968322 +vn -0.001221 -0.207221 0.978271 +vn -0.011475 -0.007569 0.999878 +vn -0.009278 0.217414 0.976012 +vn -0.009003 0.388073 0.921567 +vn 0.044465 0.508774 0.859706 +vn 0.031709 0.360393 0.932249 +vn -0.092349 0.127628 0.987487 +vn -0.126255 0.093356 0.987579 +vn -0.119510 0.273415 0.954405 +vn -0.088260 0.389416 0.916807 +vn -0.087649 0.465835 0.880490 +vn -0.120090 0.533738 0.837062 +vn -0.087313 0.548906 0.831294 +vn -0.084262 0.583300 0.807825 +vn -0.020661 0.583941 0.811518 +vn 0.019562 0.522813 0.852199 +vn 0.087863 0.217841 0.972015 +vn 0.169225 -0.299509 0.938932 +vn 0.169439 -0.345988 0.922788 +vn -0.141972 0.022736 0.989593 +vn -0.165532 -0.053896 0.984710 +vn 0.165777 -0.743614 -0.647694 +vn 0.235908 0.261940 0.935789 +vn 0.233558 0.378124 0.895779 +vn 0.019135 0.165593 0.985992 +vn 0.166173 0.047212 0.984954 +vn 0.214606 0.124332 0.968749 +vn 0.290109 -0.041444 0.956084 +vn 0.039277 -0.781304 -0.622883 +vn 0.139164 -0.150853 0.978698 +vn -0.129215 0.769341 0.625599 +vn 0.148595 0.629749 0.762413 +vn 0.888455 0.458266 0.024171 +vn -0.250832 -0.152104 0.955992 +vn 0.121342 0.616230 0.778130 +vn 0.109592 0.706809 0.698813 +vn 0.073824 0.712455 0.697806 +vn 0.457533 -0.010834 0.889096 +vn 0.522629 -0.013153 0.852443 +vn 0.086093 -0.076479 0.993316 +vn 0.154942 -0.037996 0.987182 +vn 0.154576 -0.246803 0.956633 +vn 0.836238 0.400342 -0.374706 +vn 0.851436 0.375927 -0.365673 +vn -0.063204 -0.247261 0.966857 +vn -0.006256 -0.053377 0.998535 +vn -0.315256 -0.491195 0.811975 +vn -0.320841 -0.288217 0.902188 +vn -0.249092 -0.490432 0.835109 +vn 0.156926 0.076144 0.984649 +vn 0.192907 0.644002 0.740257 +vn 0.347423 -0.722434 0.597766 +vn 0.334452 -0.737114 0.587146 +vn 0.042268 -0.116428 0.992279 +vn 0.279305 -0.107700 0.954131 +vn 0.223609 -0.122135 0.966979 +vn 0.455611 -0.884762 -0.097842 +vn 0.453902 -0.881100 -0.132694 +vn 0.457564 -0.888394 -0.036592 +vn 0.119358 0.809717 0.574511 +vn 0.042329 0.177007 0.983276 +vn 0.043306 0.337687 0.940245 +vn -0.040071 0.553209 0.832057 +vn 0.170476 0.298105 0.939146 +vn 0.130375 0.418287 0.898892 +vn 0.089450 0.415937 0.904965 +vn 0.218177 -0.288461 0.932279 +vn 0.998840 -0.025819 -0.040345 +vn -0.023591 0.139988 0.989868 +vn -0.114444 0.180242 0.976928 +vn 0.206214 0.034791 0.977874 +vn 0.237403 0.013825 0.971282 +vn 0.232612 0.042909 0.971618 +vn -0.505417 0.672262 0.540880 +vn -0.441298 0.766747 0.466170 +vn -0.550615 0.715842 0.429334 +vn -0.279092 0.956633 0.083041 +vn -0.279916 0.867458 0.411237 +vn -0.334330 0.841823 0.423658 +vn -0.129093 0.987457 -0.090579 +vn -0.340281 0.831416 0.439222 +vn -0.373394 0.801752 0.466597 +vn -0.556475 -0.236854 0.796350 +vn -0.627705 -0.142491 0.765282 +vn -0.591540 -0.108066 0.798975 +vn -0.496567 -0.237129 0.834956 +vn -0.348552 0.574480 0.740562 +vn -0.247383 0.684652 0.685568 +vn -0.209174 0.783959 0.584460 +vn 0.211707 0.931852 0.294565 +vn 0.531602 0.751915 0.389843 +vn 0.094516 0.941282 0.324076 +vn 0.222968 0.894925 0.386486 +vn -0.051851 0.971831 0.229835 +vn 0.279366 0.847560 0.451155 +vn -0.101840 -0.547716 -0.830409 +vn -0.139805 -0.498367 -0.855586 +vn 0.018464 -0.817255 -0.575945 +vn 0.194983 -0.884060 -0.424696 +vn -0.310862 0.172491 -0.934629 +vn -0.268197 0.154851 -0.950804 +vn -0.415662 0.162908 -0.894772 +vn -0.525956 -0.584246 -0.618030 +vn -0.489029 0.348949 -0.799402 +vn -0.549242 0.352611 -0.757591 +vn -0.516282 0.365886 -0.774285 +vn -0.400006 0.154088 -0.903439 +vn -0.298990 0.375774 -0.877132 +vn -0.296731 0.382092 -0.875149 +vn -0.286508 0.471938 -0.833766 +vn 0.080081 0.074068 -0.994018 +vn 0.207434 0.061678 -0.976287 +vn 0.167302 0.095920 -0.981201 +vn -0.486190 0.202734 -0.850002 +vn -0.512925 0.295206 -0.806055 +vn -0.589435 0.192846 -0.784417 +vn -0.373699 -0.404828 -0.834498 +vn -0.341014 -0.396527 -0.852290 +vn -0.468764 -0.244881 -0.848689 +vn -0.362194 -0.046846 -0.930906 +vn -0.356334 0.159673 -0.920591 +vn -0.340220 0.172491 -0.924375 +vn -0.521683 0.106632 -0.846431 +vn -0.505448 0.145756 -0.850429 +vn 0.018647 -0.572314 0.819819 +vn 0.009949 -0.493423 0.869716 +vn -0.130253 -0.600482 0.788934 +vn -0.052736 -0.398907 0.915433 +vn -0.141942 -0.330515 0.933042 +vn -0.287484 -0.243660 0.926267 +vn -0.367107 -0.099368 0.924833 +vn -0.419782 -0.051485 0.906156 +vn -0.388775 -0.026887 0.920927 +vn -0.301614 -0.085971 0.949522 +vn -0.128544 -0.084750 0.988067 +vn 0.012574 -0.081149 0.996612 +vn -0.053163 -0.246712 0.967620 +vn -0.025330 -0.226539 0.973662 +vn 0.013977 0.022034 0.999634 +vn 0.062227 0.227577 0.971740 +vn 0.052217 0.399365 0.915281 +vn 0.088260 0.523606 0.847346 +vn 0.029633 0.307016 0.951231 +vn -0.105564 0.048341 0.993225 +vn -0.117283 0.108341 0.987152 +vn -0.056307 0.285440 0.956725 +vn 0.008240 0.414655 0.909909 +vn -0.018830 0.439436 0.898068 +vn -0.079623 0.528306 0.845271 +vn -0.060427 0.559282 0.826746 +vn -0.062197 0.588610 0.805994 +vn -0.037996 0.614368 0.788079 +vn 0.015137 0.542802 0.839717 +vn 0.076540 0.277047 0.957793 +vn 0.206854 -0.207038 0.956206 +vn 0.336924 -0.920530 -0.197668 +vn 0.333323 0.073458 0.939909 +vn 0.336009 0.215094 0.916929 +vn 0.336619 0.069277 0.939055 +vn 0.320231 0.163549 0.933103 +vn 0.325968 0.291116 0.899411 +vn 0.303537 0.120243 0.945189 +vn -0.017823 -0.208319 0.977874 +vn 0.203162 0.364635 0.908689 +vn 0.074068 0.400464 0.913297 +vn 0.243568 0.184759 0.952086 +vn -0.246071 0.093295 0.964721 +vn 0.201086 0.219764 0.954588 +vn 0.241859 0.058687 0.968505 +vn 0.339793 -0.227210 0.912625 +vn 0.284768 -0.218451 0.933348 +vn 0.305399 -0.220496 0.926328 +vn 0.123539 0.600665 0.789880 +vn 0.079134 0.057619 0.995178 +vn 0.004425 0.002930 0.999969 +vn 0.926664 0.096042 -0.363323 +vn 0.831111 0.128452 -0.541032 +vn 0.864620 0.025941 -0.501694 +vn 0.264931 -0.374645 0.888485 +vn 0.207587 -0.359325 0.909818 +vn 0.078738 0.704978 0.704794 +vn 0.037599 0.699515 0.713584 +vn -0.003143 0.713645 0.700461 +vn -0.023682 -0.020386 0.999481 +vn 0.223212 -0.791864 -0.568407 +vn 0.194922 -0.771569 -0.605518 +vn -0.243324 -0.455916 -0.856105 +vn -0.253365 -0.466750 -0.847285 +vn -0.263253 -0.425825 -0.865627 +vn -0.017426 0.131870 0.991089 +vn 0.929197 0.201758 -0.309610 +vn -0.122654 -0.216895 0.968444 +vn -0.980682 0.186682 -0.058107 +vn -0.983306 0.161077 -0.084384 +vn 0.454146 -0.771783 0.445051 +vn 0.325938 -0.924375 0.198096 +vn 0.361675 -0.932096 -0.018250 +vn 0.286325 -0.073397 0.955290 +vn 0.378979 0.429273 0.819788 +vn 0.053041 0.510544 0.858180 +vn 0.112735 0.498062 0.859767 +vn -0.076968 -0.020173 0.996826 +vn -0.148289 -0.340251 0.928556 +vn 0.054933 0.722983 0.688650 +vn -0.056246 0.745048 0.664602 +vn 0.055788 0.486496 0.871883 +vn 0.337870 0.189337 0.921934 +vn 0.247963 0.245491 0.937132 +vn 0.373119 0.034883 0.927091 +vn 0.274758 0.378063 0.884030 +vn 0.760247 0.520127 -0.389141 +vn 0.818323 0.454695 -0.351512 +vn 0.739189 0.590625 -0.323618 +vn 0.310678 0.446333 0.839167 +vn 0.299142 0.445296 0.843898 +vn 0.787896 0.473556 -0.393597 +vn -0.948180 -0.310800 0.065676 +vn -0.741203 -0.645741 -0.183264 +vn -0.085238 -0.426740 -0.900327 +vn -0.030335 -0.470107 -0.882077 +vn 0.058840 0.041261 0.997406 +vn -0.074252 0.170812 0.982482 +vn -0.138005 0.212043 0.967437 +vn -0.254250 0.961821 0.100986 +vn -0.342021 -0.810785 -0.474960 +vn -0.672994 -0.549944 -0.494552 +vn -0.572680 -0.115360 -0.811609 +vn -0.543199 -0.084841 -0.835261 +vn -0.558824 -0.195929 -0.805780 +vn 0.558763 -0.803980 -0.203375 +vn -0.201361 0.613758 0.763359 +vn -0.341929 0.549150 0.762535 +vn -0.195624 0.503067 0.841792 +vn -0.096011 0.707144 0.700491 +vn -0.426801 0.854732 0.295358 +vn -0.167211 0.906247 0.388226 +vn -0.147008 0.840480 0.521470 +vn 0.302622 0.820978 0.484115 +vn 0.318766 0.827082 0.462874 +vn -0.047090 0.716025 0.696463 +vn -0.339640 -0.578906 -0.741264 +vn -0.330973 -0.647816 -0.686117 +vn 0.338115 0.786828 0.516282 +vn 0.313974 0.773949 0.549913 +vn 0.246132 0.782342 0.572100 +vn -0.182440 0.103366 -0.977752 +vn -0.172185 0.129978 -0.976440 +vn -0.252998 0.144993 -0.956511 +vn 0.136174 -0.089816 -0.986572 +vn 0.117527 -0.130284 -0.984466 +vn 0.190069 -0.178198 -0.965453 +vn 0.308939 -0.915159 -0.258889 +vn 0.354564 -0.914884 -0.192969 +vn 0.193915 -0.896115 -0.399182 +vn -0.221534 0.191260 -0.956175 +vn -0.790857 0.433332 -0.432081 +vn -0.450850 0.412244 -0.791681 +vn -0.821375 0.458388 -0.339366 +vn -0.259713 0.050233 -0.964354 +vn -0.265511 0.040498 -0.963225 +vn -0.287851 -0.109531 -0.951353 +vn -0.600085 0.256661 -0.757622 +vn -0.640034 0.242439 -0.729057 +vn -0.644154 0.175878 -0.744346 +vn -0.348735 -0.043428 -0.936186 +vn -0.161962 0.579943 -0.798364 +vn 0.093448 0.534837 -0.839747 +vn 0.075930 -0.513932 0.854427 +vn 0.078829 -0.561083 0.823969 +vn 0.028108 -0.445845 0.894650 +vn -0.069277 -0.405316 0.911527 +vn -0.159673 -0.312540 0.936369 +vn -0.306375 -0.181585 0.934416 +vn -0.383740 -0.069124 0.920835 +vn -0.395764 0.003449 0.918332 +vn -0.363292 0.005585 0.931639 +vn -0.255226 0.013215 0.966765 +vn -0.199561 -0.059938 0.978027 +vn -0.109378 -0.223884 0.968444 +vn 0.041383 -0.169347 0.984680 +vn 0.078707 0.043336 0.995941 +vn 0.124973 0.237770 0.963225 +vn 0.143284 0.407331 0.901944 +vn 0.126591 0.498795 0.857387 +vn -0.044343 0.220466 0.974364 +vn -0.138218 -0.000702 0.990387 +vn -0.050844 0.166845 0.984649 +vn 0.041749 0.344157 0.937956 +vn 0.070467 0.414228 0.907407 +vn 0.043336 0.409833 0.911100 +vn 0.006378 0.500595 0.865627 +vn -0.048952 0.568011 0.821528 +vn -0.038514 0.583697 0.811029 +vn -0.033815 0.629902 0.775903 +vn 0.012696 0.576342 0.817103 +vn 0.067995 0.320811 0.944670 +vn 0.257942 -0.066469 0.963836 +vn 0.306833 -0.069308 0.949217 +vn 0.588366 -0.126957 0.798547 +vn 0.295724 0.118320 0.947905 +vn 0.051332 0.400555 0.914792 +vn 0.142125 0.410138 0.900876 +vn 0.577349 -0.042055 0.815394 +vn 0.554003 -0.074740 0.829127 +vn 0.533097 -0.060579 0.843867 +vn 0.981750 0.050539 -0.183264 +vn 0.273354 0.009796 0.961852 +vn 0.346965 -0.163335 0.923521 +vn 0.116733 0.276437 0.953887 +vn 0.087374 0.407849 0.908841 +vn -0.073916 -0.468368 0.880398 +vn 0.141911 0.295938 0.944578 +vn -0.135441 0.633229 0.761986 +vn -0.150029 0.647175 0.747398 +vn -0.108463 0.619129 0.777734 +vn 0.112674 -0.142491 0.983337 +vn 0.036409 0.544816 0.837733 +vn 0.061220 0.430006 0.900723 +vn 0.695669 0.576678 -0.428327 +vn 0.704428 0.587420 -0.398328 +vn 0.828944 0.435041 -0.351512 +vn -0.160039 -0.771935 0.615192 +vn 0.998352 -0.005097 0.056703 +vn 0.996704 0.069124 0.041688 +vn 0.988983 0.075838 0.127018 +vn -0.164068 0.031098 0.985931 +vn 0.028993 0.722373 0.690878 +vn 0.043031 0.728538 0.683615 +vn 0.241401 0.389477 0.888821 +vn 0.226142 0.416791 0.880398 +vn 0.147618 0.442671 0.884426 +vn 0.089236 0.512101 0.854244 +vn 0.304178 0.557085 0.772729 +vn -0.936155 -0.014740 -0.351238 +vn 0.209052 0.486007 0.848567 +vn 0.290933 0.447005 0.845882 +vn -0.050203 -0.216010 -0.975066 +vn -0.286630 -0.214331 -0.933744 +vn -0.442824 0.291849 -0.847774 +vn -0.543321 0.292856 -0.786767 +vn -0.470534 0.302622 -0.828852 +vn 0.016999 0.511277 0.859218 +vn 0.613117 0.197882 0.764763 +vn 0.881344 -0.331095 -0.336985 +vn 0.088626 0.173284 0.980865 +vn 0.050569 0.564409 0.823908 +vn 0.349651 0.175481 0.920286 +vn 0.246864 0.196356 0.948943 +vn -0.218787 -0.010132 0.975707 +vn 0.429792 -0.486526 0.760613 +vn 0.305063 -0.485122 0.819483 +vn 0.549638 -0.491897 0.675192 +vn 0.662343 0.330973 -0.672109 +vn 0.658284 0.344584 -0.669240 +vn 0.519791 0.400983 -0.754326 +vn 0.853816 0.420148 -0.307291 +vn 0.856380 0.386578 -0.342204 +vn 0.866176 0.368877 -0.337077 +vn 0.834864 0.442915 -0.326731 +vn 0.823267 0.455153 -0.339152 +vn 0.834071 0.475204 -0.280160 +vn 0.814173 0.502579 -0.290628 +vn -0.155828 0.297250 0.941984 +vn -0.218360 0.346934 0.912107 +vn -0.250954 0.959197 0.130192 +vn 0.292734 0.369366 0.881954 +vn -0.059938 0.386151 0.920469 +vn -0.136540 0.229133 0.963744 +vn -0.046510 0.217353 0.974975 +vn -0.065371 0.492996 0.867550 +vn -0.064272 0.626545 0.776727 +vn -0.014039 0.731132 0.682058 +vn -0.039979 0.819758 0.571276 +vn -0.364360 0.468612 0.804743 +vn 0.202612 0.729179 0.653615 +vn 0.246956 0.135777 -0.959441 +vn 0.168798 0.092746 -0.981262 +vn -0.365368 -0.622578 -0.692007 +vn -0.250618 0.709464 0.658620 +vn 0.245705 0.889950 0.384136 +vn -0.087985 -0.553148 -0.828394 +vn -0.018281 -0.642628 -0.765923 +vn 0.539750 -0.798303 -0.267037 +vn -0.453780 0.191931 -0.870174 +vn -0.368572 0.296030 -0.881161 +vn -0.120579 0.199286 -0.972472 +vn 0.374248 -0.924986 -0.065493 +vn 0.830012 -0.548845 -0.098910 +vn 0.798883 -0.574175 -0.179022 +vn -0.613025 0.295144 -0.732810 +vn -0.566973 0.311350 -0.762596 +vn -0.505875 0.131962 -0.852412 +vn -0.245674 0.192480 -0.950041 +vn -0.403790 0.322916 -0.855953 +vn 0.008515 -0.998535 -0.053285 +vn -0.027589 -0.998962 -0.035707 +vn -0.019501 -0.636677 0.770867 +vn 0.000000 -0.611713 0.791040 +vn 0.214972 -0.714316 0.665944 +vn 0.114200 -0.946623 0.301370 +vn 0.062136 -0.515366 0.854701 +vn 0.046236 -0.555376 0.830287 +vn 0.088595 -0.471114 0.877590 +vn 0.079134 -0.444349 0.892331 +vn 0.001556 -0.400678 0.916196 +vn -0.156652 -0.254494 0.954283 +vn -0.233711 -0.108402 0.966216 +vn -0.265084 -0.006623 0.964171 +vn -0.284707 0.037751 0.957854 +vn -0.282785 0.051729 0.957762 +vn -0.206000 0.032868 0.977966 +vn 0.002472 -0.112766 0.993591 +vn 0.157231 -0.103061 0.982147 +vn 0.242836 0.073092 0.967284 +vn 0.280526 0.259011 0.924223 +vn 0.274087 0.400159 0.874477 +vn 0.113956 0.395856 0.911191 +vn -0.048097 0.129582 0.990387 +vn 0.078249 0.074038 0.994171 +vn 0.182684 0.217780 0.958739 +vn 0.158055 0.354167 0.921720 +vn 0.118809 0.399487 0.908994 +vn 0.131230 0.415113 0.900235 +vn 0.105960 0.459456 0.881832 +vn -0.006165 0.529588 0.848201 +vn -0.059847 0.606098 0.793085 +vn 0.019807 0.637654 0.770043 +vn 0.013062 0.581072 0.813715 +vn 0.507248 -0.364757 0.780755 +vn 0.054903 -0.542467 0.838252 +vn 0.335521 -0.371532 0.865658 +vn 0.982879 0.146580 0.111393 +vn 0.244881 -0.295938 0.923276 +vn 0.997009 -0.001617 -0.077120 +vn -0.050935 0.667959 0.742424 +vn 0.152135 -0.218574 0.963866 +vn 0.020936 0.583575 0.811762 +vn 0.168798 0.387860 0.906095 +vn 0.851833 0.378948 -0.361522 +vn 0.212226 0.755516 0.619739 +vn 0.007843 0.380779 0.924619 +vn -0.009766 0.489914 0.871700 +vn 0.302164 -0.168889 0.938139 +vn 0.229896 -0.389019 0.892056 +vn 0.380444 -0.190954 0.904843 +vn 0.143559 0.652394 0.744133 +vn 0.880276 -0.417005 -0.226203 +vn 0.862148 -0.460829 -0.210425 +vn 0.212867 0.466170 0.858669 +vn 0.138096 -0.030519 0.989929 +vn -0.015870 0.129948 0.991363 +vn 0.589496 0.401532 -0.700858 +vn 0.763665 0.142582 -0.629627 +vn 0.768426 0.276254 -0.577197 +vn 0.180609 0.212806 0.960234 +vn 0.260842 0.315775 0.912259 +vn 0.136418 0.169866 0.975951 +vn 0.138371 0.201727 0.969604 +vn 0.158971 0.157994 0.974548 +vn 0.084201 0.167241 0.982299 +vn 0.245613 0.327799 0.912229 +vn 0.735099 -0.358837 -0.575152 +vn 0.776025 -0.289804 -0.560106 +vn 0.756828 -0.312418 -0.574053 +vn 0.238075 0.122044 0.963530 +vn -0.016572 0.131169 0.991211 +vn 0.204474 0.140690 0.968688 +vn -0.127262 -0.445143 -0.886349 +vn -0.040254 -0.449141 -0.892544 +vn -0.407636 0.905515 0.117649 +vn -0.327280 0.944700 -0.020173 +vn 0.113254 -0.769250 -0.628803 +vn 0.994690 0.076662 0.068331 +vn -0.942717 -0.333537 -0.001373 +vn -0.954924 -0.294687 0.035463 +vn 0.989715 -0.109104 0.092441 +vn 0.992981 -0.073641 0.092380 +vn 0.984375 -0.077151 0.158177 +vn -0.974395 -0.152928 0.164708 +vn -0.975127 -0.040101 0.217933 +vn 0.927946 0.349223 0.130100 +vn 0.908750 0.375256 0.182562 +vn 0.914426 0.382214 0.133061 +vn -0.213141 0.445631 0.869442 +vn -0.250862 0.456191 0.853755 +vn 0.033845 0.154332 0.987426 +vn 0.060091 0.376690 0.924375 +vn 0.006897 0.484451 0.874783 +vn 0.027223 0.640126 0.767754 +vn 0.588946 -0.805475 0.065859 +vn 0.592181 -0.802545 0.072085 +vn 0.542253 -0.837825 0.062899 +vn 0.446638 -0.894681 0.004425 +vn 0.457259 -0.882839 0.107150 +vn 0.395672 -0.917966 -0.027253 +vn 0.666982 -0.670339 -0.325175 +vn 0.528733 -0.785943 -0.320414 +vn 0.733726 -0.617756 -0.282815 +vn 0.835261 -0.507309 -0.211921 +vn 0.816614 0.510361 -0.269509 +vn 0.821009 0.514573 -0.247200 +vn 0.256264 0.936277 0.240181 +vn 0.192816 0.940672 0.279122 +vn 0.186743 0.949339 0.252632 +vn 0.127628 0.952422 0.276742 +vn 0.015534 0.954161 0.298868 +vn 0.111698 0.955351 0.273476 +vn -0.320627 0.830317 0.455733 +vn -0.295846 0.857173 0.421522 +vn 0.872250 0.476211 0.111057 +vn 0.850185 0.517441 0.097049 +vn -0.477157 -0.722495 -0.500259 +vn -0.462874 -0.691946 -0.553972 +vn -0.375286 0.435163 -0.818384 +vn -0.491989 0.087588 -0.866146 +vn -0.428785 -0.697226 -0.574419 +vn -0.446577 -0.681783 -0.579363 +vn -0.452773 -0.719748 -0.526200 +vn 0.437300 0.088809 -0.894894 +vn 0.473464 0.116001 -0.873135 +vn 0.419996 0.001617 -0.907498 +vn -0.498550 0.134861 -0.856288 +vn -0.492386 0.237037 -0.837458 +vn -0.434065 0.219642 -0.873653 +vn -0.351024 0.368236 -0.860897 +vn -0.346660 0.359447 -0.866359 +vn -0.389782 0.318430 -0.864071 +vn -0.466109 0.217475 -0.857540 +vn -0.111515 -0.439436 -0.891293 +vn -0.035188 -0.474166 -0.879696 +vn 0.168645 0.057192 -0.984008 +vn 0.114536 0.229835 -0.966460 +vn 0.124027 0.196631 -0.972564 +vn 0.813288 -0.575243 -0.087100 +vn 0.868007 -0.483596 -0.112461 +vn 0.036500 0.444563 -0.894986 +vn 0.134220 0.028474 -0.990509 +vn -0.041475 -0.547166 0.835963 +vn -0.063906 -0.509293 0.858211 +vn -0.348643 -0.917783 -0.189947 +vn -0.402509 -0.915342 -0.009125 +vn 0.042482 -0.423353 0.904935 +vn 0.143071 -0.441145 0.885922 +vn 0.151067 -0.455733 0.877194 +vn 0.066591 -0.328654 0.942076 +vn -0.004639 -0.131870 0.991241 +vn -0.015625 -0.048341 0.998688 +vn -0.148137 0.013031 0.988861 +vn -0.222175 0.044282 0.973998 +vn -0.207190 0.124851 0.970275 +vn -0.045106 0.050295 0.997711 +vn 0.184820 -0.018464 0.982574 +vn 0.330973 0.143742 0.932615 +vn 0.351939 0.252754 0.901212 +vn 0.266366 0.323557 0.907926 +vn 0.041963 0.273537 0.960936 +vn 0.032929 0.193426 0.980529 +vn 0.233345 0.189886 0.953642 +vn 0.296335 0.210425 0.931578 +vn 0.282479 0.318796 0.904721 +vn 0.269539 0.385601 0.882382 +vn 0.236335 0.386975 0.891263 +vn 0.171880 0.424268 0.889035 +vn 0.066164 0.459548 0.885647 +vn 0.007752 0.608478 0.793512 +vn 0.009156 0.647175 0.762261 +vn -0.004212 0.582659 0.812677 +vn 0.046693 0.474654 0.878903 +vn 0.244881 0.327464 0.912564 +vn -0.024049 0.518052 0.855007 +vn 0.097781 0.485549 0.868679 +vn -0.133000 0.087466 0.987243 +vn 0.375622 0.485061 0.789666 +vn 0.272774 0.285714 0.918668 +vn 0.270119 0.341716 0.900113 +vn 0.300211 0.585650 0.752861 +vn 0.313639 0.542772 0.779107 +vn -0.073550 0.155095 0.985137 +vn -0.071596 0.214026 0.974181 +vn -0.228217 -0.354564 -0.906735 +vn -0.193091 -0.395276 -0.898007 +vn 0.064669 0.086856 0.994110 +vn -0.678243 -0.340800 -0.650960 +vn -0.768548 -0.357982 -0.530198 +vn -0.818171 -0.355998 -0.451491 +vn 0.190680 -0.130222 0.972961 +vn -0.024415 0.441176 0.897061 +vn 0.560198 -0.452162 0.694021 +vn 0.601093 -0.419691 0.680074 +vn 0.139531 0.450789 0.881649 +vn -0.053133 0.163427 0.985107 +vn -0.036378 -0.120884 0.991974 +vn 0.388836 0.325114 0.862026 +vn 0.245338 0.385571 0.889431 +vn -0.158391 0.522965 0.837489 +vn 0.387097 -0.135777 0.911954 +vn 0.178381 0.701407 0.690054 +vn 0.231086 0.699362 0.676351 +vn 0.237007 0.588733 0.772759 +vn 0.303293 0.260018 0.916715 +vn 0.275185 0.163427 0.947386 +vn 0.618305 0.208319 0.757805 +vn -0.075655 0.434980 0.897214 +vn 0.024049 0.487045 0.873043 +vn 0.037629 0.423627 0.905026 +vn 0.329051 0.344523 0.879208 +vn 0.340526 0.320414 0.883938 +vn 0.707266 0.244087 0.663411 +vn -0.230018 0.522172 0.821223 +vn -0.286264 0.540391 0.791192 +vn -0.281869 0.576800 0.766656 +vn -0.297464 0.581317 0.757317 +vn -0.297189 0.561388 0.772301 +vn -0.250130 0.585986 0.770714 +vn 0.098117 0.469649 0.877377 +vn -0.021546 0.565203 0.824641 +vn 0.391919 0.325694 0.860378 +vn 0.878689 0.324168 -0.350383 +vn 0.365642 0.483596 0.795221 +vn 0.620136 0.201025 0.758263 +vn 0.925962 0.331584 0.180517 +vn -0.287790 0.740013 0.607868 +vn 0.703269 -0.693381 -0.156896 +vn 0.876186 0.353221 -0.327860 +vn 0.872127 0.346233 -0.345653 +vn 0.851070 0.417371 -0.318491 +vn 0.984252 -0.162328 -0.069582 +vn 0.985961 -0.166631 -0.008179 +vn 0.979339 -0.188116 -0.074038 +vn 0.708975 -0.672079 -0.213630 +vn 0.819056 -0.519272 -0.243873 +vn 0.712790 -0.683035 -0.159154 +vn 0.888577 -0.378155 -0.259621 +vn 0.896847 -0.389843 -0.208899 +vn 0.834620 -0.522904 -0.173009 +vn 0.848109 0.482040 0.219794 +vn 0.851558 0.490310 0.185522 +vn 0.835780 0.515213 0.189703 +vn 0.301340 0.463851 0.833064 +vn 0.349925 0.513749 0.783319 +vn 0.269692 0.569781 0.776269 +vn 0.194952 0.356395 0.913755 +vn 0.054292 0.223060 0.973266 +vn 0.161626 0.269906 0.949217 +vn 0.109989 0.458785 0.881680 +vn 0.076846 0.641163 0.763512 +vn 0.133580 -0.735313 -0.664388 +vn 0.189520 -0.798090 -0.571886 +vn -0.417524 0.854335 -0.309397 +vn -0.458174 0.723899 -0.515763 +vn -0.526688 0.595447 -0.606616 +vn -0.034181 0.848445 0.528123 +vn 0.001862 0.766564 0.642140 +vn 0.042085 0.810968 0.583544 +vn -0.030305 0.897946 0.438978 +vn 0.637104 0.404675 0.655965 +vn -0.089175 -0.427107 -0.899777 +vn -0.027161 -0.428205 -0.903256 +vn 0.773614 0.492843 0.398206 +vn 0.794610 0.465896 0.389203 +vn -0.012299 0.997192 -0.073702 +vn 0.412671 0.869381 0.271676 +vn 0.501755 0.773919 0.386303 +vn 0.082858 0.413739 -0.906583 +vn 0.236488 0.459151 -0.856288 +vn 0.143223 0.487289 -0.861385 +vn -0.046693 0.998718 -0.018708 +vn 0.397992 0.749748 0.528611 +vn -0.326884 -0.468734 0.820582 +vn -0.409162 -0.335978 0.848323 +vn -0.397473 -0.472549 0.786554 +vn 0.216620 0.975524 0.036988 +vn -0.695151 -0.015046 0.718680 +vn -0.571581 -0.200140 0.795740 +vn -0.565600 -0.305582 0.765954 +vn -0.622272 -0.034669 0.782006 +vn 0.082705 -0.994263 0.067476 +vn 0.219764 -0.969451 0.108707 +vn 0.199469 -0.971496 0.127995 +vn 0.111972 -0.992950 -0.038240 +vn -0.032991 -0.950011 0.310404 +vn 0.086550 -0.996185 -0.008423 +vn 0.346873 0.227668 -0.909848 +vn 0.324595 0.192938 -0.925962 +vn 0.318278 0.182287 -0.930265 +vn -0.458968 0.165380 -0.872921 +vn -0.464766 0.212073 -0.859615 +vn -0.475814 -0.374401 -0.795831 +vn -0.471023 -0.395917 -0.788263 +vn -0.414747 -0.493515 -0.764458 +vn -0.375988 0.029756 -0.926115 +vn -0.506058 -0.303049 -0.807489 +vn -0.525925 -0.293649 -0.798212 +vn 0.314371 -0.882809 -0.348949 +vn -0.049989 -0.579211 0.813623 +vn -0.181402 -0.573656 0.798730 +vn -0.186956 -0.464980 0.865322 +vn -0.084109 -0.345775 0.934507 +vn 0.023652 -0.391186 0.919980 +vn 0.149693 -0.424451 0.892972 +vn 0.231330 -0.360851 0.903439 +vn 0.212714 -0.149998 0.965514 +vn 0.143956 -0.120029 0.982269 +vn -0.044618 -0.096683 0.994293 +vn -0.150395 0.017182 0.988464 +vn -0.143315 0.153844 0.977630 +vn -0.103000 0.194220 0.975524 +vn 0.121403 0.129124 0.984161 +vn 0.310221 0.229652 0.922483 +vn 0.282327 0.212012 0.935575 +vn 0.107395 0.185278 0.976775 +vn -0.034150 0.210578 0.976959 +vn -0.022034 0.268807 0.962920 +vn 0.052187 0.293435 0.954527 +vn 0.192236 0.254555 0.947722 +vn 0.287790 0.348369 0.892056 +vn 0.271371 0.359722 0.892697 +vn 0.237953 0.350658 0.905728 +vn 0.151067 0.356609 0.921934 +vn 0.068209 0.430555 0.899960 +vn 0.089816 0.594745 0.798853 +vn -0.008087 0.618488 0.785730 +vn -0.073885 0.592792 0.801935 +vn 0.359020 0.085818 0.929350 +vn 0.568499 -0.058077 0.820612 +vn 0.074435 0.085726 0.993530 +vn 0.073946 0.071902 0.994659 +vn -0.043367 0.077425 0.996033 +vn -0.083560 -0.016419 0.996338 +vn 0.254860 0.161138 0.953429 +vn 0.289346 -0.626484 0.723685 +vn -0.103458 -0.121738 0.987121 +vn -0.067598 0.504868 0.860500 +vn 0.018708 0.497085 0.867489 +vn 0.159276 -0.383984 0.909482 +vn 0.945677 0.224616 0.234993 +vn 0.934111 0.265297 0.238807 +vn 0.945250 0.263039 0.193060 +vn -0.153142 0.515793 0.842891 +vn 0.978057 0.069460 -0.196326 +vn 0.928007 -0.362712 -0.084719 +vn 0.948027 -0.303385 -0.095767 +vn 0.935118 -0.353343 -0.025147 +vn 0.211615 0.476302 0.853420 +vn 0.043611 -0.070742 0.996521 +vn 0.015656 0.202002 0.979247 +vn 0.342021 0.071017 0.936979 +vn 0.006439 -0.225623 0.974181 +vn 0.428846 -0.077639 0.899991 +vn 0.219550 0.588122 0.778375 +vn 0.142216 0.667440 0.730918 +vn 0.194464 0.568529 0.799341 +vn 0.163732 0.442183 0.881832 +vn 0.249580 0.446211 0.859401 +vn 0.998383 0.052431 -0.020936 +vn 0.986724 0.155095 -0.047548 +vn 0.906369 0.262886 -0.330638 +vn 0.870357 0.131718 0.474441 +vn 0.477035 0.602466 0.639851 +vn 0.220557 -0.891171 -0.396374 +vn 0.396191 -0.894925 -0.205115 +vn 0.179540 0.675100 0.715506 +vn -0.017121 -0.009339 0.999786 +vn 0.729270 -0.336680 -0.595599 +vn 0.621235 -0.230415 -0.748955 +vn 0.601032 -0.130406 -0.788476 +vn 0.592456 -0.780602 -0.199011 +vn 0.624073 -0.762810 -0.169164 +vn 0.727134 -0.223395 -0.649098 +vn 0.761315 -0.277352 -0.586016 +vn 0.708670 -0.204230 -0.675314 +vn 0.983856 -0.178137 0.016388 +vn 0.996918 -0.009827 0.077578 +vn 0.997467 -0.026978 0.065706 +vn 0.856990 0.293374 -0.423627 +vn 0.868099 0.245094 -0.431623 +vn 0.856105 0.363811 -0.366955 +vn 0.566759 -0.736930 0.368328 +vn 0.602557 -0.595569 0.531205 +vn -0.955229 -0.259468 -0.142033 +vn 0.347819 0.364788 0.863643 +vn -0.018799 0.734458 0.678365 +vn -0.066866 0.720084 0.690603 +vn 0.190619 0.180670 0.964873 +vn 0.980621 -0.181433 0.073672 +vn 0.975158 -0.201849 0.090884 +vn 0.989105 -0.114170 0.092837 +vn 0.131962 0.404431 0.904965 +vn 0.228950 0.377606 0.897183 +vn 0.308573 0.470412 0.826716 +vn 0.237251 0.434248 0.868954 +vn -0.271981 -0.539750 -0.796655 +vn 0.084536 0.819605 0.566607 +vn 0.049074 0.920194 0.388318 +vn 0.175542 0.970702 0.163884 +vn 0.216590 0.959716 0.178869 +vn 0.846400 0.506699 0.163823 +vn -0.274545 0.958403 0.077792 +vn -0.309519 0.942381 0.126743 +vn -0.291299 -0.770165 0.567400 +vn -0.390973 -0.670614 0.630390 +vn -0.316568 -0.482284 0.816767 +vn -0.133702 -0.414350 -0.900235 +vn 0.169286 0.053133 -0.984130 +vn 0.191565 0.065798 -0.979247 +vn -0.411908 -0.007691 -0.911161 +vn -0.321146 0.007385 -0.946989 +vn -0.373119 -0.107486 -0.921506 +vn -0.310251 -0.132267 -0.941374 +vn -0.446730 -0.021577 -0.894375 +vn -0.489853 0.168920 -0.855251 +vn -0.387249 0.177526 -0.904691 +vn -0.000397 -0.999756 0.021302 +vn -0.015809 -0.999603 0.022614 +vn -0.184606 0.198248 -0.962584 +vn -0.104953 0.196387 -0.974883 +vn -0.171728 0.228797 -0.958190 +vn -0.531571 0.148503 -0.833857 +vn -0.589038 0.197943 -0.783471 +vn -0.557878 0.087039 -0.825312 +vn 0.065218 -0.997192 -0.035920 +vn 0.011475 -0.999115 -0.039705 +vn -0.222755 -0.419599 0.879910 +vn -0.193274 -0.293374 0.936247 +vn -0.130314 -0.320383 0.938261 +vn 0.035920 -0.315897 0.948088 +vn 0.250618 -0.308847 0.917478 +vn 0.316477 -0.225013 0.921506 +vn 0.136479 -0.213477 0.967345 +vn -0.012055 -0.192480 0.981201 +vn -0.078646 -0.014069 0.996796 +vn -0.113559 0.153569 0.981567 +vn -0.104434 0.249428 0.962737 +vn 0.035707 0.283486 0.958281 +vn 0.131413 0.259713 0.956664 +vn 0.038820 0.126316 0.991211 +vn -0.119297 0.067049 0.990570 +vn -0.184851 0.184729 0.965239 +vn -0.224403 0.257851 0.939726 +vn -0.237098 0.333842 0.912290 +vn -0.105106 0.365947 0.924650 +vn 0.044069 0.407971 0.911924 +vn 0.075320 0.354289 0.932066 +vn 0.139958 0.346599 0.927488 +vn 0.140385 0.320231 0.936857 +vn 0.178350 0.445174 0.877468 +vn 0.152287 0.565935 0.810236 +vn 0.027100 0.562975 0.825983 +vn -0.070925 0.582110 0.809992 +vn -0.033052 0.571856 0.819666 +vn 0.089694 0.553423 0.828028 +vn 0.995636 0.074587 -0.055635 +vn 0.997070 0.021821 -0.073092 +vn 0.187933 -0.242775 0.951689 +vn -0.094668 -0.181799 0.978759 +vn 0.010498 -0.030671 -0.999451 +vn -0.001709 -0.195502 -0.980682 +vn -0.135472 -0.072115 -0.988128 +vn -0.035646 0.487442 0.872402 +vn 0.095950 0.472152 0.876247 +vn 0.148473 0.661611 0.734947 +vn 0.250435 0.242073 0.937376 +vn 0.074740 -0.000092 0.997192 +vn 0.191992 0.452834 0.870663 +vn 0.548845 -0.788263 0.278176 +vn 0.439680 -0.897549 0.031953 +vn 0.155522 0.445936 0.881436 +vn 0.121830 0.690603 0.712882 +vn 0.192969 0.612751 0.766320 +vn 0.098697 0.691977 0.715110 +vn 0.113987 0.693503 0.711356 +vn 0.113102 0.221992 0.968444 +vn 0.186529 0.258492 0.947813 +vn 0.250221 0.540147 0.803491 +vn 0.266243 0.543840 0.795831 +vn 0.214881 0.485183 0.847560 +vn 0.407178 -0.155492 0.899991 +vn 0.447981 -0.150670 0.881222 +vn 0.927030 0.374126 0.024232 +vn 0.927885 0.367473 0.063143 +vn 0.945524 0.318064 0.068941 +vn 0.553026 -0.670888 -0.493973 +vn 0.538896 -0.678060 -0.499771 +vn 0.496963 -0.741325 -0.451003 +vn 0.138401 0.694784 0.705741 +vn 0.216102 0.647145 0.731071 +vn -0.267556 -0.312540 -0.911405 +vn -0.020173 -0.996185 0.084536 +vn 0.044313 -0.998077 0.042726 +vn 0.042360 -0.995300 0.086917 +vn 0.082553 -0.250923 0.964446 +vn -0.030091 -0.667623 0.743858 +vn 0.833827 -0.534349 -0.138401 +vn 0.896908 -0.416913 -0.147404 +vn 0.837153 -0.536210 -0.107700 +vn 0.236030 -0.228858 0.944395 +vn 0.236976 -0.151738 0.959563 +vn 0.364849 -0.078433 0.927732 +vn 0.168432 -0.192724 0.966674 +vn -0.006806 0.150273 0.988586 +vn 0.007752 0.105014 0.994415 +vn 0.982177 -0.179357 -0.055757 +vn 0.976165 0.140996 0.164769 +vn 0.899960 0.287759 0.327494 +vn 0.931883 0.240242 0.271706 +vn 0.902463 0.420942 0.091342 +vn 0.897488 0.412732 0.155217 +vn 0.964263 0.148778 0.219184 +vn -0.609180 0.726157 -0.318644 +vn -0.550890 0.760063 -0.344646 +vn -0.006714 0.366253 -0.930479 +vn 0.067476 0.400647 -0.913724 +vn 0.096347 0.388440 -0.916410 +vn 0.938353 0.115940 -0.325571 +vn 0.953063 0.086825 -0.289956 +vn 0.937651 0.194739 -0.287881 +vn 0.586444 -0.702170 0.403699 +vn -0.076968 0.616962 -0.783197 +vn -0.056215 0.670614 -0.739647 +vn -0.324168 0.441054 -0.836848 +vn 0.221870 0.423170 0.878445 +vn -0.117466 0.566393 0.815699 +vn -0.182897 0.777978 0.601032 +vn 0.072420 0.301462 0.950713 +vn 0.040132 0.365673 0.929868 +vn 0.144780 0.369945 0.917692 +vn 0.183508 0.254311 0.949522 +vn 0.730247 0.535325 -0.424390 +vn 0.679861 0.599231 -0.422651 +vn 0.094394 0.724509 0.682730 +vn 0.044374 0.749565 0.660421 +vn 0.403638 0.471206 0.784204 +vn 0.270608 0.264992 0.925474 +vn 0.392163 0.415418 0.820704 +vn 0.227027 0.693930 0.683279 +vn 0.184942 0.815424 0.548479 +vn 0.213141 0.436689 0.873959 +vn 0.008850 0.828822 0.559404 +vn -0.036378 0.737877 0.673940 +vn 0.679373 0.670034 0.299142 +vn 0.632893 0.720786 0.282571 +vn 0.583636 0.766381 0.268258 +vn 0.560594 0.789758 0.248848 +vn -0.917692 -0.239479 0.316935 +vn -0.991241 -0.124485 0.043367 +vn -0.995422 -0.056703 0.076754 +vn -0.348796 0.914090 0.206763 +vn 0.453200 0.621845 0.638661 +vn 0.465346 0.548845 0.694388 +vn 0.503677 0.542833 0.672018 +vn -0.998932 -0.038026 0.025819 +vn -0.999268 -0.035493 0.013611 +vn -0.472915 -0.528581 0.704917 +vn -0.054323 -0.997436 0.046480 +vn -0.077853 -0.996521 0.028840 +vn -0.049348 -0.994140 0.096042 +vn -0.505936 -0.247810 -0.826167 +vn -0.476211 -0.280679 -0.833308 +vn -0.074404 0.227180 -0.970977 +vn -0.316843 0.065462 -0.946196 +vn -0.384198 0.072756 -0.920347 +vn -0.767510 0.048891 -0.639119 +vn -0.631825 0.059084 -0.772820 +vn -0.612903 -0.044038 -0.788903 +vn 0.277017 0.285379 -0.917478 +vn 0.322733 0.297128 -0.898618 +vn 0.238411 0.350444 -0.905698 +vn -0.215247 0.185522 -0.958739 +vn -0.101840 0.186468 -0.977142 +vn 0.493057 -0.869930 -0.007324 +vn 0.480392 -0.862331 0.159856 +vn 0.245155 0.142552 -0.958922 +vn 0.206793 0.094852 -0.973754 +vn 0.293283 0.140843 -0.945555 +vn 0.589740 0.176763 -0.787957 +vn 0.565813 0.095737 -0.818934 +vn 0.696585 0.003967 -0.717429 +vn 0.018983 -0.998810 -0.044404 +vn 0.018586 -0.998871 -0.043428 +vn -0.358196 -0.374767 -0.855098 +vn -0.391278 -0.269021 -0.880032 +vn -0.276254 -0.405164 -0.871487 +vn -0.168096 -0.408856 0.896969 +vn -0.201636 -0.286538 0.936583 +vn -0.239204 -0.275033 0.931181 +vn -0.144993 -0.192938 0.970428 +vn 0.063814 -0.176702 0.982177 +vn 0.212745 -0.247230 0.945280 +vn 0.092227 -0.327891 0.940184 +vn 0.000397 -0.252693 0.967528 +vn -0.022401 -0.046724 0.998627 +vn -0.070406 0.139348 0.987732 +vn -0.068514 0.278634 0.957915 +vn 0.002319 0.359386 0.933164 +vn -0.027772 0.220130 0.975066 +vn -0.160802 0.023041 0.986694 +vn -0.295999 0.001038 0.955168 +vn -0.312601 0.147679 0.938322 +vn -0.302988 0.241951 0.921751 +vn -0.270119 0.339854 0.900815 +vn -0.241340 0.431776 0.869076 +vn -0.169103 0.464095 0.869472 +vn -0.005524 0.421613 0.906735 +vn 0.135533 0.394971 0.908628 +vn 0.270669 0.370159 0.888638 +vn 0.287606 0.436689 0.852382 +vn 0.117435 0.479110 0.869839 +vn -0.045137 0.525040 0.849849 +vn -0.036897 0.576800 0.816034 +vn 0.029054 0.607624 0.793664 +vn 0.069735 0.594378 0.801141 +vn -0.407147 0.886380 0.220283 +vn -0.254036 -0.667257 -0.700125 +vn -0.143223 -0.152989 0.977783 +vn 0.148228 -0.032136 0.988403 +vn 0.595508 -0.555193 0.580584 +vn 0.127079 0.062014 0.989929 +vn 0.091281 0.085452 0.992126 +vn 0.139714 0.074679 0.987365 +vn 0.285958 0.382946 0.878353 +vn 0.296640 0.440565 0.847255 +vn 0.135075 0.580676 0.802820 +vn -0.154118 0.264534 0.951964 +vn 0.717856 -0.627552 -0.301309 +vn 0.783685 -0.564196 -0.259713 +vn 0.819269 -0.518082 -0.245643 +vn -0.013245 -0.666280 -0.745567 +vn 0.182958 -0.825556 -0.533799 +vn 0.134892 0.448500 0.883511 +vn 0.117466 0.496780 0.859859 +vn 0.213599 0.456252 0.863826 +vn 0.250099 0.420759 0.872005 +vn 0.277535 -0.022858 0.960418 +vn 0.158666 0.335887 0.928404 +vn -0.140294 -0.161565 0.976806 +vn 0.065249 0.890164 0.450911 +vn -0.081027 0.646290 0.758751 +vn 0.009308 0.582324 0.812860 +vn 0.233161 0.633961 0.737358 +vn 0.325755 0.660756 0.676199 +vn 0.269173 0.273324 0.923460 +vn 0.296487 0.239509 0.924497 +vn 0.246101 0.170629 0.954070 +vn 0.108371 0.227882 0.967620 +vn 0.179388 0.398968 0.899228 +vn 0.076266 0.261361 0.962188 +vn 0.295144 0.224006 0.928800 +vn -0.065615 0.650044 0.757012 +vn 0.040132 0.570482 0.820307 +vn 0.973815 0.025086 -0.225898 +vn 0.214637 0.453261 0.865108 +vn -0.159581 0.684347 0.711447 +vn 0.985961 -0.005585 -0.166784 +vn -0.362804 -0.843043 -0.396985 +vn -0.312662 -0.898068 -0.309275 +vn 0.623707 -0.728996 0.281899 +vn 0.447157 -0.892514 -0.058260 +vn 0.988372 0.077273 0.130741 +vn 0.975127 0.159551 0.153783 +vn 0.411451 0.120518 0.903409 +vn 0.352123 -0.144444 0.924711 +vn 0.085818 0.037202 0.995605 +vn 0.278146 0.570879 0.772454 +vn 0.274697 0.697104 0.662221 +vn 0.296396 0.569567 0.766594 +vn 0.197333 0.789270 0.581408 +vn 0.883023 0.116520 0.454604 +vn 0.913175 0.070193 0.401471 +vn 0.852626 0.223395 0.472304 +vn 0.117893 0.254402 0.959868 +vn 0.020600 0.275002 0.961211 +vn -0.441481 0.266610 0.856716 +vn -0.400433 0.794519 0.456435 +vn 0.028321 0.881100 0.472060 +vn -0.539140 -0.688589 -0.484878 +vn -0.416486 -0.795862 -0.439406 +vn 0.324473 0.532151 0.781976 +vn 0.427564 0.434950 0.792444 +vn 0.419141 0.368755 0.829646 +vn -0.281350 0.957457 0.063692 +vn -0.418531 0.823573 0.382763 +vn -0.350627 0.883297 0.311106 +vn -0.364116 0.889950 0.274514 +vn 0.413251 -0.899106 -0.144230 +vn 0.376659 -0.900113 -0.218757 +vn 0.385266 -0.894314 -0.227393 +vn -0.399426 0.077975 -0.913419 +vn -0.462203 0.175024 -0.869320 +vn -0.436995 0.109287 -0.892788 +vn -0.629261 -0.478622 -0.612293 +vn -0.545976 -0.373943 -0.749687 +vn -0.463546 -0.349315 -0.814295 +vn 0.118748 0.026917 -0.992553 +vn 0.126102 0.187231 -0.974181 +vn -0.792169 -0.465285 -0.394879 +vn -0.712119 -0.512833 -0.479385 +vn -0.539903 -0.439741 -0.717704 +vn -0.096561 0.288614 -0.952544 +vn -0.057894 0.207312 -0.976531 +vn 0.157781 -0.061830 -0.985534 +vn 0.152501 0.040376 -0.987457 +vn 0.178411 0.031465 -0.983428 +vn 0.034272 0.360454 -0.932127 +vn 0.114719 0.375134 -0.919828 +vn 0.061892 0.254524 -0.965056 +vn -0.382397 -0.313273 -0.869228 +vn -0.417249 -0.199957 -0.886502 +vn -0.314737 -0.351939 -0.881497 +vn -0.013398 -0.625141 0.780358 +vn -0.047975 -0.442732 0.895352 +vn -0.005951 -0.999908 0.011383 +vn -0.015687 -0.999603 0.023316 +vn -0.017060 -0.999542 0.024873 +vn -0.140172 -0.330088 0.933470 +vn -0.175298 -0.258370 0.949980 +vn -0.116764 -0.122440 0.985565 +vn 0.011017 -0.056673 0.998321 +vn 0.066439 -0.218177 0.973632 +vn 0.048982 -0.383496 0.922208 +vn 0.034883 -0.264321 0.963775 +vn 0.012299 -0.063906 0.997864 +vn 0.005432 0.126164 0.991974 +vn 0.033326 0.297647 0.954070 +vn 0.018036 0.349040 0.936918 +vn -0.047487 0.151646 0.987274 +vn -0.221503 -0.109684 0.968963 +vn -0.286019 -0.014008 0.958098 +vn -0.231819 0.184454 0.955107 +vn -0.162053 0.281747 0.945677 +vn -0.129368 0.358531 0.924497 +vn -0.151708 0.447645 0.881222 +vn -0.130894 0.516312 0.846309 +vn 0.030335 0.527146 0.849208 +vn 0.138127 0.462142 0.875973 +vn 0.131443 0.409070 0.902982 +vn 0.027741 0.373272 0.927274 +vn -0.080508 0.391247 0.916745 +vn -0.095584 0.504227 0.858241 +vn -0.045869 0.599261 0.799219 +vn 0.046754 0.638661 0.768059 +vn 0.031922 0.600452 0.799005 +vn 0.111057 0.646840 0.754448 +vn 0.179144 0.642140 0.745323 +vn 0.083102 0.543992 0.834925 +vn 0.067446 -0.879665 -0.470748 +vn 0.231971 0.383770 0.893796 +vn 0.240333 0.177221 0.954344 +vn 0.052400 0.027741 0.998230 +vn -0.127476 0.074587 0.989013 +vn 0.124638 0.919797 0.371990 +vn 0.739219 -0.628895 -0.240822 +vn 0.057558 0.310068 0.948943 +vn 0.005432 0.332499 0.943052 +vn 0.001251 0.322398 0.946593 +vn 0.137547 0.274056 0.951811 +vn 0.432569 -0.796533 -0.422315 +vn 0.760857 -0.598407 -0.250923 +vn 0.090335 0.307962 0.947081 +vn 0.978057 0.180364 0.104068 +vn -0.161016 0.115696 0.980132 +vn -0.070711 0.523240 0.849239 +vn -0.083377 0.766686 0.636555 +vn 0.192206 0.114872 0.974578 +vn 0.092898 0.137913 0.986053 +vn -0.227515 -0.014771 0.973632 +vn -0.180273 0.081545 0.980224 +vn 0.091403 0.440687 0.892972 +vn 0.005982 0.326762 0.945067 +vn -0.001923 0.435438 0.900204 +vn 0.240211 -0.052858 0.969268 +vn 0.098575 0.076022 0.992218 +vn 0.340556 -0.205084 0.917570 +vn 0.018342 0.138707 0.990143 +vn 0.006226 0.255440 0.966796 +vn -0.085971 0.397443 0.913572 +vn 0.256539 0.439497 0.860805 +vn 0.242225 0.429701 0.869839 +vn 0.308664 0.437819 0.844386 +vn 0.251839 -0.273141 0.928404 +vn 0.288766 0.325480 0.900357 +vn 0.233375 0.329051 0.915006 +vn 0.336833 0.332316 0.880947 +vn 0.260689 0.399915 0.878658 +vn 0.232246 -0.808924 -0.540056 +vn 0.517777 -0.523698 -0.676473 +vn 0.221290 -0.697531 -0.681509 +vn 0.144139 0.482284 0.864040 +vn 0.464827 0.556291 0.688772 +vn 0.057711 0.719199 0.692373 +vn 0.127201 0.690817 0.711722 +vn 0.230323 -0.791894 -0.565508 +vn 0.955321 0.038301 -0.293008 +vn 0.873074 0.325266 -0.363140 +vn 0.830714 0.365947 -0.419416 +vn 0.868252 0.285318 -0.405835 +vn -0.166448 0.503006 0.848079 +vn -0.233222 -0.171300 0.957183 +vn 0.294290 0.091128 0.951353 +vn 0.986511 0.151219 0.062349 +vn 0.973693 0.177892 0.142277 +vn -0.439253 -0.351146 0.826868 +vn -0.464705 -0.410932 0.784295 +vn -0.407239 -0.422834 0.809534 +vn 0.246132 0.585131 0.772668 +vn 0.194250 0.700980 0.686178 +vn 0.306497 0.487594 0.817469 +vn 0.286416 0.483505 0.827143 +vn 0.168828 0.767785 0.618000 +vn 0.042207 0.774987 0.630543 +vn -0.091739 -0.359203 -0.928709 +vn -0.040193 -0.358959 -0.932463 +vn -0.255776 0.718955 0.646260 +vn -0.451949 0.592120 0.667135 +vn -0.273934 0.960997 0.037233 +vn -0.687460 0.455336 0.565691 +vn -0.733909 0.228645 0.639576 +vn -0.784356 0.228889 0.576495 +vn 0.120609 0.990204 -0.070193 +vn 0.193213 0.979766 -0.052065 +vn -0.052217 0.996704 -0.061617 +vn 0.593768 -0.780236 -0.196509 +vn 0.731986 -0.665792 -0.144322 +vn 0.732688 -0.645802 -0.214698 +vn -0.082553 0.970794 0.225196 +vn -0.091800 0.971801 0.217048 +vn -0.239540 0.865261 0.440321 +vn -0.085452 0.993255 0.078036 +vn -0.079806 0.992584 0.091403 +vn 0.525559 -0.831751 -0.178716 +vn 0.748222 -0.643330 -0.162084 +vn -0.993042 0.106113 -0.050874 +vn -0.998810 0.047273 -0.010529 +vn 0.736503 0.631184 0.243141 +vn -0.680837 -0.287729 0.673513 +vn 0.006958 -0.997467 0.070376 +vn 0.049776 -0.996643 0.064852 +vn 0.024262 -0.998413 0.050722 +vn 0.043703 -0.997772 0.050386 +vn 0.023286 -0.998962 0.038667 +vn -0.004639 -0.998840 0.047426 +vn -0.575030 -0.437483 0.691305 +vn -0.473983 -0.407086 -0.780755 +vn -0.323283 0.582324 -0.745872 +vn -0.316080 0.503586 -0.804010 +vn -0.320933 0.616993 -0.718528 +vn 0.040498 -0.531175 -0.846278 +vn -0.079867 -0.539781 -0.837977 +vn 0.049898 -0.530747 -0.846034 +vn 0.396619 -0.442244 -0.804407 +vn 0.114933 -0.641621 -0.758324 +vn 0.439314 -0.555650 -0.705832 +vn -0.199286 0.201056 -0.959075 +vn -0.200232 0.150822 -0.968047 +vn -0.196905 0.184759 -0.962828 +vn 0.491287 0.082186 -0.867092 +vn -0.640004 -0.437788 -0.631397 +vn -0.738426 -0.372326 -0.562181 +vn -0.146001 0.116703 -0.982360 +vn 0.105411 -0.491134 0.864650 +vn -0.945067 -0.313761 0.091556 +vn -0.992889 0.073885 -0.093234 +vn -0.892239 -0.431349 -0.133488 +vn 0.019929 -0.371746 0.928098 +vn 0.005646 -0.241829 0.970275 +vn 0.032624 -0.080233 0.996216 +vn 0.032258 -0.022492 0.999207 +vn 0.025086 -0.203101 0.978820 +vn 0.090548 -0.373882 0.923032 +vn 0.111057 -0.282144 0.952910 +vn 0.076815 -0.072909 0.994354 +vn 0.083102 0.147008 0.985626 +vn 0.102634 0.301462 0.947905 +vn 0.067019 0.323222 0.943937 +vn 0.083529 0.094882 0.991974 +vn 0.014893 -0.199683 0.979736 +vn -0.038484 0.010498 0.999176 +vn -0.038820 0.222358 0.974181 +vn -0.005829 0.313761 0.949461 +vn -0.002228 0.354076 0.935179 +vn 0.007111 0.449629 0.893155 +vn 0.072909 0.557451 0.826991 +vn 0.076357 0.546770 0.833766 +vn -0.061190 0.437971 0.896878 +vn -0.195013 0.337138 0.921018 +vn -0.249977 0.311411 0.916776 +vn -0.227699 0.399670 0.887906 +vn -0.124088 0.529862 0.838923 +vn -0.027070 0.634632 0.772301 +vn 0.023438 0.643147 0.765374 +vn 0.018433 0.598559 0.800836 +vn 0.939207 -0.192755 -0.284097 +vn 0.943419 -0.157445 -0.291787 +vn -0.293130 0.828883 0.476424 +vn -0.289315 0.768975 0.570025 +vn 0.263985 0.524552 0.809381 +vn 0.166936 0.499954 0.849788 +vn 0.190985 0.450697 0.871975 +vn 0.416242 0.396100 0.818415 +vn 0.933561 -0.252846 -0.253945 +vn 0.950072 -0.238319 -0.201270 +vn 0.919065 -0.320353 -0.229438 +vn 0.093295 -0.648457 0.755486 +vn -0.100436 -0.490097 0.865841 +vn -0.024476 -0.600269 0.799402 +vn 0.138737 0.066195 0.988098 +vn -0.221503 0.548997 0.805902 +vn -0.083102 -0.381268 0.920682 +vn -0.286508 0.565386 0.773431 +vn -0.276345 0.589770 0.758782 +vn 0.015931 -0.539933 0.841517 +vn -0.151372 -0.319559 0.935362 +vn -0.264718 0.660756 0.702322 +vn 0.201636 -0.344554 -0.916837 +vn -0.169195 -0.294931 -0.940397 +vn -0.166692 0.514176 0.841304 +vn -0.186895 0.667165 0.721030 +vn -0.090121 0.482223 0.871364 +vn -0.124027 0.421888 0.898099 +vn -0.920286 -0.362987 0.145878 +vn -0.870815 -0.476791 0.119541 +vn 0.319956 0.492996 0.809046 +vn 0.264443 0.405255 0.875088 +vn 0.397168 0.275430 0.875423 +vn 0.335124 0.296396 0.894314 +vn 0.419568 0.335582 0.843379 +vn 0.271920 0.348979 0.896786 +vn 0.172246 0.432081 0.885220 +vn 0.078341 0.506363 0.858730 +vn 0.041108 0.543596 0.838313 +vn 0.551347 -0.832728 -0.050264 +vn 0.837184 -0.526688 -0.147313 +vn 0.993286 0.089785 0.072665 +vn 0.993927 0.065249 0.088290 +vn 0.820276 0.294351 -0.490341 +vn 0.887112 0.156194 -0.434248 +vn 0.490158 -0.848964 0.197394 +vn 0.967406 0.248756 0.047334 +vn -0.593280 0.602374 0.533952 +vn -0.732444 0.585315 0.347728 +vn 0.268075 0.418775 0.867580 +vn 0.264687 0.318644 0.910123 +vn 0.190558 0.500168 0.844691 +vn 0.916288 0.397870 0.045351 +vn 0.139958 0.680685 0.719047 +vn 0.328593 -0.180334 0.927061 +vn 0.363720 -0.175756 0.914762 +vn 0.312906 0.027467 0.949370 +vn 0.193548 -0.761376 -0.618732 +vn 0.245705 0.557939 0.792657 +vn 0.165777 0.690298 0.704245 +vn 0.092837 0.738701 0.667592 +vn -0.074465 0.714530 0.695608 +vn -0.296915 0.627644 0.719626 +vn -0.461287 0.454176 0.762169 +vn -0.637074 0.347850 0.687796 +vn -0.187353 0.909177 0.371838 +vn -0.569475 0.623737 0.535325 +vn -0.547929 0.668111 0.503311 +vn 0.133854 -0.735832 -0.663778 +vn 0.257790 -0.816523 -0.516526 +vn -0.971923 0.203375 0.118107 +vn -0.990814 0.111576 0.076327 +vn 0.294595 -0.914640 -0.276803 +vn 0.269539 -0.885403 -0.378613 +vn 0.332011 -0.905454 -0.264382 +vn -0.981140 0.147282 0.125095 +vn -0.987243 0.155614 0.032929 +vn -0.971129 0.205390 0.121189 +vn 0.267983 0.895840 0.354381 +vn 0.367962 0.848415 0.380474 +vn -0.607532 -0.090274 -0.789117 +vn -0.478713 -0.092471 -0.873043 +vn -0.504959 -0.190680 -0.841792 +vn 0.074404 -0.613269 0.786340 +vn -0.610920 0.016938 -0.791498 +vn 0.160070 -0.474349 0.865627 +vn -0.029542 -0.504807 0.862697 +vn 0.215155 -0.386029 0.897031 +vn 0.225105 -0.240272 0.944212 +vn 0.199683 -0.090854 0.975616 +vn 0.142644 -0.056185 0.988159 +vn 0.108005 -0.191534 0.975494 +vn 0.127110 -0.341227 0.931333 +vn 0.156652 -0.272347 0.949339 +vn 0.220008 -0.080538 0.972137 +vn 0.204901 0.139683 0.968749 +vn 0.193152 0.285958 0.938566 +vn 0.203925 0.329386 0.921873 +vn 0.219642 0.114628 0.968810 +vn 0.318308 -0.185369 0.929655 +vn 0.300882 -0.040498 0.952788 +vn 0.229255 0.197241 0.953154 +vn 0.202185 0.309275 0.929197 +vn 0.196326 0.362133 0.911191 +vn 0.229743 0.468978 0.852779 +vn 0.163091 0.526048 0.834651 +vn -0.062716 0.448347 0.891629 +vn -0.248268 0.337779 0.907865 +vn -0.324198 0.281899 0.902982 +vn -0.294717 0.329325 0.897031 +vn -0.193487 0.446150 0.873745 +vn -0.105930 0.578875 0.808466 +vn -0.039827 0.663411 0.747154 +vn -0.010254 0.657613 0.753258 +vn 0.069796 0.633961 0.770196 +vn 0.172887 0.691244 0.701621 +vn 0.190100 0.565905 0.802240 +vn 0.275948 0.558000 0.782586 +vn 0.575854 -0.643208 -0.504593 +vn 0.420087 0.577288 0.700156 +vn 0.246437 -0.588885 0.769707 +vn 0.266732 -0.617664 0.739799 +vn -0.861446 0.460524 0.213935 +vn -0.893643 0.409223 0.184088 +vn 0.186560 0.361858 0.913358 +vn 0.278909 0.295877 0.913572 +vn 0.074190 -0.717765 -0.692312 +vn 0.153325 -0.785516 -0.599506 +vn 0.903836 0.422101 0.069796 +vn 0.148839 0.577044 0.803003 +vn 0.995819 -0.039521 0.082034 +vn 0.989471 0.031770 0.141026 +vn 0.708487 0.265664 0.653768 +vn 0.808985 0.481155 -0.337596 +vn 0.842708 0.462569 -0.275369 +vn 0.319254 0.085574 0.943785 +vn -0.095889 0.339610 0.935636 +vn 0.959868 0.277993 0.036439 +vn 0.944151 0.329447 0.002533 +vn 0.202490 0.121952 0.971648 +vn 0.263039 -0.189764 0.945921 +vn -0.171758 -0.008240 0.985076 +vn 0.938322 0.233314 -0.255074 +vn 0.324076 0.291604 0.899930 +vn 0.230018 0.371502 0.899472 +vn 0.147008 0.465621 0.872677 +vn -0.282327 -0.946593 0.155492 +vn -0.460311 -0.884060 0.080721 +vn -0.063845 0.608325 0.791070 +vn 0.956175 -0.289071 0.046419 +vn -0.724662 0.647114 0.236732 +vn -0.740013 0.637959 0.212928 +vn 0.966643 -0.251106 0.050020 +vn 0.832636 0.374615 0.407849 +vn 0.879360 0.325846 0.347148 +vn 0.302255 0.440382 0.845393 +vn 0.200690 0.390942 0.898251 +vn 0.176611 0.547624 0.817835 +vn 0.280160 0.385083 0.879299 +vn 0.174322 0.683889 0.708396 +vn 0.064211 0.679189 0.731101 +vn -0.063875 0.646107 0.760521 +vn -0.271432 0.556810 0.784997 +vn -0.399976 0.382611 0.832820 +vn -0.508621 0.245643 0.825190 +vn -0.639943 0.159459 0.751671 +vn -0.719260 0.072481 0.690939 +vn -0.759087 0.094852 0.644002 +vn 0.830256 0.553606 -0.064516 +vn 0.481887 -0.849086 -0.216285 +vn 0.395245 -0.895444 -0.204749 +vn 0.912625 -0.385205 -0.136692 +vn 0.757653 -0.637623 -0.139103 +vn 0.914243 -0.402448 -0.046449 +vn 0.232246 -0.846950 -0.478225 +vn 0.367351 0.857662 0.359722 +vn -0.000122 0.989441 0.144841 +vn -0.268593 0.043641 -0.962249 +vn 0.087954 0.989135 0.117618 +vn -0.367779 -0.387616 0.845241 +vn -0.118656 -0.354076 0.927641 +vn -0.112430 -0.652364 -0.749504 +vn -0.033998 -0.709403 -0.703940 +vn 0.142613 -0.344737 0.927763 +vn 0.352245 -0.336039 0.873470 +vn 0.410199 -0.246834 0.877926 +vn 0.359600 -0.131809 0.923734 +vn 0.288552 -0.092196 0.953001 +vn 0.227577 -0.218146 0.948973 +vn 0.159276 -0.320566 0.933714 +vn 0.238105 -0.227790 0.944121 +vn 0.321909 -0.047670 0.945555 +vn 0.330332 0.128422 0.935057 +vn 0.316111 0.278085 0.907010 +vn 0.350627 0.319620 0.880245 +vn 0.289926 0.111515 0.950499 +vn 0.313913 -0.084719 0.945647 +vn 0.411939 -0.066927 0.908719 +vn 0.410932 0.159032 0.897671 +vn 0.384747 0.276040 0.880764 +vn 0.348094 0.346141 0.871181 +vn 0.266152 0.433180 0.861110 +vn 0.030122 0.361888 0.931730 +vn -0.239082 0.346263 0.907132 +vn -0.318949 0.282723 0.904599 +vn -0.271035 0.303964 0.913297 +vn -0.181219 0.386761 0.904172 +vn -0.095553 0.498459 0.861599 +vn -0.051912 0.600208 0.798120 +vn -0.022462 0.675436 0.737053 +vn 0.003784 0.681753 0.731559 +vn 0.073519 0.667745 0.740715 +vn 0.061739 0.704794 0.706687 +vn 0.098148 0.658376 0.746239 +vn 0.944304 -0.308542 -0.114261 +vn 0.538072 0.142491 -0.830744 +vn 0.447981 0.065889 -0.891598 +vn 0.542161 0.102298 -0.834010 +vn -0.998657 -0.025513 -0.044954 +vn -0.994110 -0.001221 -0.108066 +vn 0.107486 0.445082 0.889004 +vn 0.021424 0.192541 0.981048 +vn 0.201178 -0.203650 -0.958129 +vn 0.171026 -0.236549 -0.956420 +vn 0.126926 -0.281472 -0.951109 +vn 0.060671 0.264138 -0.962554 +vn 0.110355 0.332011 -0.936766 +vn 0.011597 0.160161 -0.986999 +vn -0.060701 0.139439 -0.988342 +vn -0.095462 0.224921 -0.969665 +vn 0.004456 0.209998 -0.977660 +vn 0.110111 0.306284 0.945524 +vn 0.009888 -0.982086 0.188086 +vn -0.049898 -0.847163 0.528947 +vn 0.010224 -0.982177 0.187658 +vn 0.261391 0.544145 0.797204 +vn 0.276162 0.580248 0.766167 +vn 0.219672 0.526292 0.821406 +vn -0.197913 -0.306558 0.931028 +vn -0.220527 -0.166845 0.960967 +vn 0.282876 0.515397 0.808893 +vn 0.208350 0.298837 0.931272 +vn 0.169073 -0.071413 0.983001 +vn 0.994018 0.095157 0.053011 +vn -0.995911 0.067141 -0.060183 +vn 0.466109 0.222083 0.856380 +vn 0.391003 0.277871 0.877407 +vn 0.247627 0.400433 0.882199 +vn 0.154668 0.487106 0.859523 +vn 0.919187 -0.393780 0.000214 +vn 0.898312 -0.438704 -0.022767 +vn -0.333201 0.684194 0.648671 +vn -0.182195 0.586383 0.789239 +vn 0.945921 -0.001221 -0.324320 +vn 0.961180 -0.269997 0.056673 +vn 0.038484 0.018525 -0.999084 +vn 0.895779 0.310800 -0.317667 +vn 0.987396 -0.130497 0.089267 +vn -0.158483 -0.570177 -0.806085 +vn -0.203681 -0.530778 -0.822657 +vn 0.218482 0.278176 0.935331 +vn 0.345561 0.299356 0.889340 +vn 0.126865 0.375286 0.918149 +vn 0.082675 0.548082 0.832301 +vn 0.032991 0.680441 0.732047 +vn -0.002136 0.656514 0.754265 +vn -0.026093 0.581896 0.812830 +vn -0.194006 0.471023 0.860500 +vn -0.351238 0.331339 0.875668 +vn -0.426344 0.183538 0.885739 +vn -0.510147 0.060335 0.857936 +vn -0.475753 0.013794 0.879452 +vn -0.161473 -0.437300 -0.884671 +vn 0.014557 0.985778 0.167364 +vn 0.264748 0.882321 0.389050 +vn -0.513443 -0.080508 0.854335 +vn 0.241585 0.967864 -0.069491 +vn -0.353740 -0.262581 0.897702 +vn -0.186407 -0.211707 0.959380 +vn 0.030457 -0.169591 0.985015 +vn 0.286874 -0.190771 0.938749 +vn 0.480880 -0.216651 0.849574 +vn 0.509690 -0.172826 0.842799 +vn 0.451949 -0.151494 0.879055 +vn 0.367138 -0.256844 0.893979 +vn 0.298959 -0.301859 0.905240 +vn 0.371410 -0.161901 0.914212 +vn 0.429182 -0.020539 0.902951 +vn 0.418531 0.113285 0.901089 +vn 0.417463 0.287118 0.862117 +vn 0.417615 0.283395 0.863277 +vn 0.308054 0.019929 0.951140 +vn 0.219794 -0.047334 0.974395 +vn 0.317240 -0.012238 0.948241 +vn 0.370861 0.175115 0.912015 +vn 0.305002 0.244636 0.920377 +vn 0.217414 0.304239 0.927427 +vn 0.054201 0.303385 0.951292 +vn -0.131840 0.221076 0.966277 +vn -0.243141 0.255470 0.935728 +vn -0.262154 0.300363 0.917081 +vn -0.192572 0.375835 0.906430 +vn -0.088015 0.434339 0.896420 +vn -0.045381 0.527909 0.848079 +vn -0.007141 0.616565 0.787255 +vn 0.018891 0.689810 0.723716 +vn 0.038362 0.694876 0.718101 +vn 0.040193 0.668020 0.743004 +vn -0.034059 0.691336 0.721702 +vn -0.024110 0.713218 0.700522 +vn 0.915708 0.099216 0.389386 +vn 0.954772 -0.007630 0.297189 +vn 0.926145 -0.061495 0.372082 +vn 0.757073 0.626789 -0.184179 +vn 0.639515 0.350780 -0.684072 +vn 0.246651 0.474563 -0.844935 +vn 0.345042 -0.938261 0.023408 +vn 0.377514 -0.922086 -0.084719 +vn 0.369945 -0.915952 -0.155400 +vn 0.306070 0.621265 0.721305 +vn 0.182775 0.691916 0.698416 +vn -0.069308 -0.624561 -0.777886 +vn -0.091189 -0.598559 -0.795831 +vn 0.021210 -0.691092 -0.722434 +vn -0.138890 -0.448347 0.882962 +vn -0.147008 -0.671133 -0.726585 +vn -0.024018 -0.734336 -0.678304 +vn 0.074648 0.078341 -0.994110 +vn 0.890622 0.148228 0.429853 +vn 0.932615 0.230323 0.277749 +vn -0.904813 0.214270 -0.367962 +vn -0.855647 0.264565 -0.444746 +vn -0.923765 -0.056063 -0.378796 +vn 0.444960 -0.850124 -0.281533 +vn -0.052492 -0.849391 -0.525101 +vn 0.130833 0.297617 0.945677 +vn -0.121891 -0.134892 0.983306 +vn -0.056337 -0.050569 0.997101 +vn -0.105167 0.416608 0.902951 +vn 0.114780 0.244179 0.962889 +vn 0.205908 0.381390 0.901151 +vn 0.166295 0.454817 0.874905 +vn 0.014344 -0.996063 0.087313 +vn 0.046815 -0.995239 0.085330 +vn 0.027039 -0.995911 0.085940 +vn 0.913053 -0.340159 -0.224860 +vn 0.922513 -0.309580 -0.230445 +vn 0.915067 -0.343791 -0.210822 +vn 0.388073 0.308634 0.868374 +vn 0.254341 0.405744 0.877865 +vn 0.113865 0.472732 0.873806 +vn -0.050722 0.499924 0.864559 +vn 0.878811 0.359722 -0.313456 +vn 0.875057 0.363903 -0.319102 +vn 0.925626 0.303323 -0.226203 +vn 0.877377 0.398358 -0.267342 +vn -0.967040 -0.252632 0.031220 +vn -0.945769 -0.305155 0.111057 +vn -0.774407 0.303903 -0.554888 +vn -0.857967 0.027100 -0.512925 +vn -0.630451 -0.776086 0.014588 +vn -0.693869 -0.711356 0.111667 +vn 0.181860 0.283303 0.941618 +vn 0.166662 0.338939 0.925901 +vn 0.096194 0.512345 0.853359 +vn -0.013886 0.642628 0.766015 +vn -0.078188 0.654988 0.751549 +vn -0.126865 0.540666 0.831599 +vn -0.227363 0.378155 0.897366 +vn -0.340495 0.246956 0.907193 +vn -0.104373 0.442671 -0.890561 +vn -0.116977 0.483322 -0.867550 +vn -0.430860 0.137486 0.891842 +vn 0.118564 0.892300 0.435530 +vn -0.391034 -0.372356 0.841670 +vn -0.339030 -0.411206 0.846126 +vn -0.376995 -0.400098 0.835322 +vn 0.014313 -0.996063 0.087313 +vn 0.007416 -0.997497 0.069979 +vn -0.009888 -0.997375 0.071352 +vn -0.451857 -0.453566 -0.768151 +vn -0.620930 -0.233406 -0.748283 +vn 0.672842 -0.126011 -0.728935 +vn 0.527787 -0.000366 -0.849361 +vn 0.510941 -0.084750 -0.855403 +vn 0.163213 -0.445082 0.880459 +vn 0.062899 -0.776055 0.627491 +vn 0.157933 -0.555132 0.816614 +vn -0.355296 -0.343516 0.869320 +vn -0.311960 -0.186132 0.931669 +vn 0.707602 -0.241981 -0.663839 +vn 0.626545 -0.262154 -0.733940 +vn -0.261910 -0.105441 0.959288 +vn -0.162786 -0.062624 0.984649 +vn -0.040712 -0.011628 0.999084 +vn 0.140080 -0.097598 0.985290 +vn 0.374462 -0.098209 0.921995 +vn 0.491592 -0.189428 0.849940 +vn 0.478622 -0.275735 0.833583 +vn 0.479690 -0.291391 0.827631 +vn 0.484451 -0.160710 0.859890 +vn 0.428358 -0.009888 0.903531 +vn 0.449660 0.108158 0.886593 +vn 0.469344 0.292337 0.833186 +vn 0.365246 0.167821 0.915647 +vn 0.206549 -0.040407 0.977569 +vn 0.217444 -0.051729 0.974670 +vn 0.305673 0.066347 0.949797 +vn 0.291879 0.127873 0.947844 +vn 0.153264 0.189093 0.969909 +vn 0.049806 0.222144 0.973724 +vn -0.053987 0.219489 0.974090 +vn -0.066408 0.191229 0.979278 +vn -0.104068 0.214728 0.971099 +vn -0.135929 0.321360 0.937132 +vn -0.099857 0.418744 0.902554 +vn -0.039979 0.477554 0.877682 +vn 0.010895 0.546983 0.837031 +vn 0.033113 0.628193 0.777306 +vn 0.029084 0.690390 0.722831 +vn -0.011475 0.682424 0.730857 +vn -0.068209 0.657002 0.750786 +vn -0.069857 0.671102 0.738029 +vn -0.113163 0.707358 0.697684 +vn -0.120243 0.728080 0.674856 +vn 0.333872 0.552507 0.763695 +vn 0.730369 -0.482009 0.483902 +vn 0.720878 -0.520005 0.458113 +vn 0.728477 -0.545030 0.415021 +vn 0.171880 0.697073 0.696066 +vn -0.092288 -0.506821 0.857082 +vn -0.075686 -0.541948 0.836970 +vn 0.075900 -0.230689 0.970031 +vn 0.053346 -0.456069 0.888333 +vn 0.149236 0.419874 0.895199 +vn 0.168493 -0.439192 0.882412 +vn -0.054384 0.565539 0.822901 +vn -0.192694 -0.711142 -0.676107 +vn -0.129856 -0.726432 -0.674825 +vn 0.785058 -0.579882 -0.217627 +vn 0.228004 -0.849879 -0.475082 +vn -0.166967 -0.058382 0.984222 +vn 0.291604 -0.084536 0.952788 +vn 0.037843 0.602161 0.797449 +vn 0.376232 0.360240 0.853603 +vn 0.403729 0.447127 0.798151 +vn 0.325266 0.377026 0.867183 +vn -0.448103 -0.591357 -0.670431 +vn -0.374554 -0.600696 -0.706290 +vn 0.146275 0.517869 0.842830 +vn 0.648305 0.014710 0.761223 +vn 0.460494 0.197211 0.865444 +vn 0.538865 0.152165 0.828516 +vn 0.305979 0.312876 0.899136 +vn 0.193487 0.393750 0.898587 +vn 0.026429 0.422071 0.906156 +vn 0.906949 -0.310526 -0.284524 +vn 0.891720 -0.345561 -0.292215 +vn 0.913327 -0.318796 -0.253304 +vn -0.732749 0.509781 -0.450728 +vn -0.712912 0.484634 -0.506821 +vn 0.439833 -0.877407 -0.191412 +vn -0.871822 -0.218024 -0.438612 +vn 0.239753 0.104648 0.965148 +vn 0.210547 0.584521 0.783532 +vn 0.442549 0.032502 0.896146 +vn 0.284280 0.085910 0.954863 +vn 0.184881 0.676168 0.713126 +vn 0.259957 0.234260 0.936766 +vn -0.016633 -0.966857 -0.254677 +vn 0.129398 -0.966643 -0.220893 +vn 0.181036 -0.951079 -0.250282 +vn 0.295633 0.281869 0.912748 +vn 0.231269 0.474197 0.849483 +vn 0.167089 0.579394 0.797723 +vn 0.047945 0.616230 0.786096 +vn -0.150487 0.484420 0.861751 +vn -0.262001 0.329142 0.907193 +vn -0.314158 0.194678 0.929167 +vn -0.365551 0.086856 0.926695 +vn -0.313150 -0.063509 0.947569 +vn -0.432264 -0.100162 0.896146 +vn -0.427778 -0.033876 0.903226 +vn 0.057985 -0.784173 -0.617786 +vn 0.349925 0.663472 0.661275 +vn 0.382061 0.594928 0.707144 +vn 0.288827 0.676656 0.677267 +vn -0.742058 0.435377 -0.509659 +vn 0.116153 0.978607 -0.169652 +vn 0.156743 0.976074 -0.150548 +vn 0.118595 0.982238 -0.145177 +vn 0.945311 -0.320322 -0.061068 +vn 0.865688 -0.485702 -0.121006 +vn -0.424390 -0.390576 0.816889 +vn 0.702170 -0.665151 -0.253914 +vn 0.767418 -0.590197 -0.250404 +vn -0.466903 -0.321329 0.823847 +vn -0.503739 -0.321696 0.801691 +vn -0.542039 -0.240608 0.805139 +vn -0.299936 -0.396619 0.867580 +vn -0.241310 -0.317331 0.917081 +vn -0.203345 -0.164739 0.965117 +vn -0.217139 -0.087161 0.972228 +vn -0.231117 -0.021393 0.972686 +vn -0.250313 0.015625 0.968017 +vn -0.210486 0.048921 0.976348 +vn -0.029206 0.076357 0.996643 +vn 0.188879 -0.097262 0.977142 +vn 0.349437 -0.251900 0.902432 +vn 0.416150 -0.297555 0.859218 +vn 0.422132 -0.191992 0.885952 +vn 0.444655 -0.044771 0.894559 +vn 0.498123 0.160588 0.852077 +vn 0.471053 0.244514 0.847499 +vn 0.289407 0.016236 0.957060 +vn 0.191656 -0.039369 0.980651 +vn 0.313608 -0.002899 0.949522 +vn 0.327311 0.075228 0.941893 +vn 0.253029 0.052797 0.966002 +vn 0.194525 0.108341 0.974883 +vn 0.110630 0.152226 0.982116 +vn 0.061403 0.203101 0.977203 +vn 0.015351 0.183630 0.982849 +vn 0.055544 0.201239 0.977935 +vn 0.029237 0.311411 0.949797 +vn -0.000855 0.432234 0.901730 +vn 0.010804 0.506485 0.862148 +vn 0.053102 0.566729 0.822169 +vn 0.051820 0.628681 0.775903 +vn 0.013001 0.677114 0.735740 +vn -0.015015 0.661092 0.750145 +vn -0.053957 0.648762 0.759026 +vn -0.065920 0.657369 0.750664 +vn -0.122379 0.694937 0.708548 +vn -0.116398 0.718070 0.686117 +vn 0.091311 -0.817499 -0.568621 +vn 0.230232 -0.739158 -0.632923 +vn 0.891171 -0.229682 0.391186 +vn -0.174932 0.822047 0.541856 +vn 0.541215 -0.823695 -0.169103 +vn 0.557909 -0.825312 -0.086856 +vn 0.644276 -0.752892 -0.134251 +vn 0.251106 0.399609 0.881619 +vn 0.557970 -0.512345 0.652791 +vn 0.413587 -0.632923 0.654439 +vn 0.182714 0.208380 0.960814 +vn 0.058870 0.327738 0.942900 +vn -0.046449 0.461379 0.885952 +vn -0.113956 0.519974 0.846522 +vn 0.248482 0.455428 0.854854 +vn 0.079958 0.266152 0.960570 +vn -0.023774 0.644429 0.764275 +vn 0.444807 0.202155 0.872494 +vn 0.282876 0.290567 0.914060 +vn 0.144719 0.359630 0.921781 +vn 0.847987 0.146916 0.509201 +vn 0.797784 0.150334 0.583880 +vn -0.141484 0.624592 0.767998 +vn -0.999268 0.033570 -0.016816 +vn -0.996979 0.002106 -0.077456 +vn -0.943236 -0.329966 0.037263 +vn -0.977264 -0.202734 0.061586 +vn -0.935881 -0.351726 -0.018738 +vn -0.821314 -0.570421 -0.002014 +vn -0.181524 0.551286 0.814295 +vn -0.072848 -0.055208 0.995788 +vn -0.026887 -0.047700 0.998474 +vn -0.979034 -0.080111 0.187231 +vn 0.815760 0.298868 0.495132 +vn 0.562120 0.486587 0.668722 +vn 0.354472 0.466964 0.810083 +vn 0.265786 0.525773 0.808008 +vn 0.343425 0.363689 0.865871 +vn 0.125858 0.517899 0.846095 +vn -0.079165 0.374767 0.923704 +vn -0.175390 0.289315 0.941008 +vn -0.237129 0.170568 0.956359 +vn -0.284249 0.036500 0.958037 +vn -0.328257 -0.111820 0.937925 +vn -0.471633 -0.089877 0.877163 +vn -0.521561 -0.090060 0.848415 +vn -0.354625 -0.132511 0.925535 +vn -0.227821 -0.161718 0.960143 +vn -0.389111 -0.113285 0.914182 +vn -0.340403 -0.266427 0.901700 +vn -0.222999 -0.351177 0.909330 +vn -0.526017 -0.192877 0.828272 +vn -0.464980 -0.224860 0.856258 +vn -0.067629 -0.257851 0.963805 +vn -0.025727 -0.176702 0.983917 +vn -0.076174 -0.107547 0.991272 +vn -0.162633 -0.073305 0.983947 +vn -0.265389 -0.031373 0.963622 +vn -0.317057 0.070864 0.945738 +vn -0.291787 0.181829 0.939024 +vn -0.097720 0.056887 0.993561 +vn 0.153478 -0.112552 0.981689 +vn 0.332896 -0.283303 0.899380 +vn 0.357189 -0.155492 0.920957 +vn 0.459639 0.016388 0.887936 +vn 0.498337 0.170904 0.849940 +vn 0.316294 0.076693 0.945524 +vn 0.118961 -0.041231 0.992035 +vn 0.184088 -0.008667 0.982849 +vn 0.269478 0.068056 0.960570 +vn 0.296518 0.034425 0.954405 +vn 0.262520 0.036897 0.964202 +vn 0.265572 0.075014 0.961150 +vn 0.220893 0.121311 0.967711 +vn 0.172399 0.152043 0.973205 +vn 0.171331 0.192053 0.966308 +vn 0.218848 0.219916 0.950621 +vn 0.249733 0.284982 0.925413 +vn 0.183966 0.397809 0.898831 +vn 0.128788 0.502304 0.855037 +vn 0.125736 0.568133 0.813257 +vn 0.067202 0.608325 0.790796 +vn 0.057039 0.668020 0.741935 +vn 0.029633 0.652943 0.756798 +vn -0.019288 0.623371 0.781671 +vn -0.086550 0.645924 0.758446 +vn -0.118198 0.677755 0.725669 +vn -0.141026 0.720084 0.679373 +vn -0.127232 0.748131 0.651204 +vn -0.199072 0.747887 0.633229 +vn -0.141972 0.769616 0.622486 +vn 0.998321 0.047365 -0.032777 +vn 0.995972 0.045564 -0.076876 +vn 0.995483 0.078524 -0.053011 +vn 0.992584 0.085849 -0.085849 +vn 0.992248 0.081881 -0.093356 +vn 0.996033 0.068941 -0.056063 +vn 0.930601 -0.243385 -0.273354 +vn 0.948973 -0.125553 -0.289193 +vn 0.098392 -0.964385 -0.245491 +vn 0.281625 -0.926267 -0.250313 +vn 0.360057 -0.893887 -0.266976 +vn 0.994568 0.086123 0.058016 +vn 0.996643 0.080325 0.014618 +vn 0.993652 0.095401 0.059358 +vn -0.212867 0.585528 0.782189 +vn -0.254341 0.660421 0.706473 +vn 0.429334 -0.871090 -0.238319 +vn 0.154302 0.421735 0.893460 +vn 0.129826 0.438978 0.889035 +vn 0.138127 0.490982 0.860134 +vn -0.271279 0.764733 0.584399 +vn 0.180517 0.205206 0.961913 +vn 0.673818 -0.047700 0.737327 +vn 0.579394 0.010926 0.814936 +vn 0.377148 0.173467 0.909726 +vn 0.249916 0.280007 0.926878 +vn 0.154668 0.387799 0.908658 +vn -0.095187 0.630268 0.770501 +vn 0.070864 0.465346 0.882260 +vn 0.019929 0.568743 0.822230 +vn -0.229774 -0.494186 0.838404 +vn -0.153081 -0.366771 0.917600 +vn -0.395093 -0.443251 0.804590 +vn 0.997436 0.066744 0.025666 +vn 0.994537 0.086978 0.057161 +vn -0.758538 0.512619 0.402234 +vn 0.921415 0.001190 0.388531 +vn 0.874538 -0.059694 0.481216 +vn 0.917508 -0.028382 0.396649 +vn -0.984283 0.155095 0.084048 +vn -0.937315 0.109745 0.330699 +vn 0.758965 -0.616779 -0.208625 +vn 0.754143 -0.485061 0.442640 +vn 0.716727 -0.496811 0.489334 +vn 0.698447 -0.573901 0.427534 +vn 0.185980 0.508591 0.840663 +vn 0.214911 0.409619 0.886563 +vn 0.453749 0.123264 0.882534 +vn 0.262154 0.128971 0.956359 +vn 0.399396 -0.092013 0.912137 +vn 0.951384 -0.305032 0.042055 +vn 0.321360 -0.901791 -0.288858 +vn 0.248207 0.332408 0.909848 +vn 0.161138 0.441298 0.882748 +vn 0.073946 0.476638 0.875973 +vn -0.033662 0.442701 0.896023 +vn -0.029725 0.323801 0.945647 +vn -0.056276 0.250923 0.966338 +vn -0.096408 0.138524 0.985626 +vn -0.143529 0.012452 0.989563 +vn -0.163060 -0.079348 0.983398 +vn -0.202368 -0.147099 0.968169 +vn -0.242286 -0.130711 0.961333 +vn 0.408429 0.299264 0.862300 +vn 0.288827 0.513382 0.808069 +vn -0.235115 -0.122288 0.964232 +vn -0.416150 -0.105960 0.903073 +vn -0.443648 -0.134068 0.886105 +vn -0.301248 -0.197729 0.932798 +vn 0.478378 -0.563738 -0.673269 +vn -0.352733 -0.178014 0.918607 +vn -0.336497 -0.079501 0.938292 +vn -0.448775 -0.048311 0.892331 +vn -0.320780 -0.033753 0.946532 +vn -0.411634 -0.108615 0.904843 +vn -0.506455 -0.104831 0.855861 +vn -0.335612 -0.098941 0.936766 +vn -0.403577 -0.267403 0.874966 +vn -0.292123 -0.207892 0.933500 +vn -0.112247 -0.240974 0.963988 +vn 0.056398 -0.181097 0.981842 +vn 0.103610 -0.186773 0.976897 +vn 0.047182 -0.176885 0.983093 +vn -0.065249 -0.142277 0.987671 +vn -0.137242 -0.081057 0.987182 +vn -0.204230 0.041749 0.977996 +vn -0.251381 0.222510 0.941954 +vn -0.170202 0.198126 0.965270 +vn -0.052126 0.026521 0.998260 +vn 0.028565 -0.202155 0.978912 +vn 0.216071 -0.115848 0.969451 +vn 0.286203 0.055025 0.956572 +vn 0.210669 0.092776 0.973113 +vn 0.066775 -0.069582 0.995331 +vn 0.065493 -0.013794 0.997742 +vn 0.185919 0.033418 0.981994 +vn 0.199438 0.103427 0.974425 +vn 0.239021 0.060457 0.969115 +vn 0.251137 0.025330 0.967589 +vn 0.240120 0.056032 0.969115 +vn 0.261574 0.101260 0.959838 +vn 0.311411 0.162664 0.936216 +vn 0.366771 0.217505 0.904508 +vn 0.388287 0.238777 0.890042 +vn 0.410108 0.264412 0.872829 +vn 0.363567 0.341563 0.866665 +vn 0.314493 0.463332 0.828486 +vn 0.249153 0.521500 0.816034 +vn 0.173284 0.579058 0.796625 +vn 0.143529 0.655965 0.740989 +vn 0.042085 0.620808 0.782800 +vn -0.009400 0.588855 0.808161 +vn -0.086428 0.629719 0.771966 +vn -0.090396 0.654042 0.751030 +vn -0.170415 0.710868 0.682333 +vn -0.165380 0.743889 0.647481 +vn -0.254860 0.780023 0.571459 +vn -0.133824 0.788141 0.600726 +vn 0.997986 0.026032 -0.057711 +vn 0.997497 0.019532 -0.067782 +vn 0.009613 -0.999420 -0.031983 +vn 0.048616 -0.998108 -0.037446 +vn 0.005188 -0.999908 -0.010346 +vn -0.992615 0.048982 0.110904 +vn -0.993469 0.110019 0.029450 +vn -0.977630 0.094668 0.187719 +vn 0.783258 -0.101138 -0.613392 +vn 0.712699 0.040376 -0.700278 +vn 0.713095 -0.189001 -0.675100 +vn 0.803491 -0.080599 -0.589770 +vn 0.806604 -0.075472 -0.586200 +vn 0.806421 -0.222938 -0.547685 +vn 0.818934 0.438002 -0.370739 +vn 0.809717 0.539537 -0.230750 +vn 0.867641 0.457991 -0.193365 +vn 0.812189 0.543229 -0.212683 +vn -0.859493 0.353710 -0.368908 +vn 0.247505 0.458235 0.853633 +vn 0.271706 0.453108 0.848994 +vn 0.961364 -0.274575 0.018433 +vn 0.942564 0.262307 -0.206732 +vn 0.989166 0.086825 -0.118107 +vn -0.970031 -0.111362 0.215857 +vn 0.031892 -0.585925 -0.809717 +vn -0.034028 -0.546770 -0.836573 +vn 0.012665 -0.636372 -0.771233 +vn -0.321909 0.203558 -0.924589 +vn -0.407208 0.233222 -0.883023 +vn -0.404370 0.319590 -0.856899 +vn 0.713401 -0.142216 0.686117 +vn 0.718162 -0.129582 0.683676 +vn 0.306589 -0.260109 -0.915586 +vn 0.600146 -0.166204 -0.782403 +vn 0.380779 0.162847 0.910184 +vn 0.229865 0.325999 0.916959 +vn 0.993713 0.087283 0.070009 +vn 0.993164 0.094089 0.068972 +vn 0.993225 0.092441 0.070406 +vn -0.001679 0.561968 0.827143 +vn -0.885342 0.123722 -0.448164 +vn -0.868801 0.179205 -0.461531 +vn -0.897732 0.232063 -0.374401 +vn 0.548296 -0.678030 0.489486 +vn -0.432997 0.597186 -0.675161 +vn -0.406323 0.664541 -0.627064 +vn -0.369274 0.575274 -0.729820 +vn 0.487747 -0.094119 -0.867885 +vn 0.364452 0.185827 0.912473 +vn 0.166204 0.202094 0.965148 +vn 0.365184 0.154332 0.918027 +vn 0.246742 -0.692496 0.677877 +vn 0.316263 -0.468398 0.824946 +vn 0.346477 0.180578 0.920499 +vn 0.273263 0.207984 0.939177 +vn 0.309885 0.263802 0.913419 +vn 0.138188 0.357952 0.923429 +vn -0.025727 0.406842 0.913114 +vn -0.083010 0.446211 0.891049 +vn -0.001099 0.367901 0.929838 +vn 0.036317 0.247047 0.968291 +vn 0.013184 0.099765 0.994903 +vn -0.046541 -0.011170 0.998840 +vn -0.062502 -0.102603 0.992737 +vn -0.055940 -0.157323 0.985931 +vn -0.079226 -0.178533 0.980712 +vn -0.107883 -0.137455 0.984588 +vn -0.129002 -0.158177 0.978912 +vn -0.194403 -0.251473 0.948119 +vn -0.217963 -0.185644 0.958129 +vn -0.217017 -0.073550 0.973388 +vn -0.246834 -0.055391 0.967437 +vn -0.272622 -0.103305 0.956542 +vn -0.203681 -0.120762 0.971526 +vn -0.019532 -0.104587 0.994293 +vn 0.101932 -0.128758 0.986419 +vn 0.138615 -0.173559 0.975005 +vn 0.142491 -0.225349 0.963775 +vn 0.077090 -0.206061 0.975494 +vn -0.011505 -0.126621 0.991852 +vn -0.075991 -0.006836 0.997070 +vn -0.151158 0.183691 0.971282 +vn -0.202460 0.232582 0.951262 +vn -0.338084 -0.009796 0.941038 +vn -0.355358 -0.113712 0.927763 +vn -0.249886 -0.013977 0.968139 +vn -0.207587 0.056063 0.976592 +vn -0.224158 0.015381 0.974425 +vn -0.158391 -0.009796 0.987304 +vn 0.000824 0.040101 0.999176 +vn 0.018830 0.063448 0.997803 +vn 0.003388 0.113285 0.993530 +vn 0.028108 0.079531 0.996429 +vn 0.059267 0.034028 0.997650 +vn 0.129887 0.096744 0.986785 +vn 0.231452 0.171789 0.957549 +vn 0.310465 0.219794 0.924802 +vn 0.359111 0.244728 0.900601 +vn 0.401257 0.257790 0.878903 +vn 0.423994 0.254677 0.869076 +vn 0.463149 0.334117 0.820856 +vn 0.443678 0.416700 0.793390 +vn 0.352489 0.453017 0.818812 +vn 0.272256 0.548051 0.790857 +vn 0.152470 0.605121 0.781365 +vn 0.037751 0.582049 0.812250 +vn -0.009552 0.565661 0.824549 +vn -0.032350 0.616535 0.786645 +vn -0.035676 0.640522 0.767083 +vn -0.094577 0.687582 0.719901 +vn -0.148900 0.729514 0.667501 +vn -0.280129 0.763085 0.582385 +vn -0.247322 0.703574 0.666158 +vn -0.227088 0.755089 0.615009 +vn -0.241066 0.726829 0.643086 +vn 0.900693 0.406446 0.153356 +vn 0.627369 -0.095218 -0.772851 +vn 0.738762 -0.159246 -0.654836 +vn 0.686178 -0.414197 -0.597949 +vn 0.988098 -0.132450 0.077914 +vn 0.996490 -0.061861 0.055910 +vn 0.979553 0.163030 -0.117679 +vn 0.977905 0.143376 -0.152043 +vn 0.994232 0.036012 -0.100833 +vn -0.663594 0.745323 0.063997 +vn -0.473739 0.880306 0.024689 +vn 0.789850 -0.215644 -0.574114 +vn 0.224097 0.184393 -0.956938 +vn 0.969756 0.192236 -0.150182 +vn 0.449355 -0.891201 -0.061769 +vn -0.971435 -0.189093 -0.143284 +vn 0.810236 0.438185 -0.389172 +vn 0.883877 0.276040 -0.377514 +vn 0.818354 0.335948 -0.466231 +vn -0.601245 0.684927 -0.411481 +vn -0.713309 0.434065 -0.550218 +vn -0.605152 0.693991 -0.390027 +vn -0.003845 0.172643 0.984954 +vn 0.262612 -0.182287 0.947508 +vn -0.191717 -0.212378 0.958190 +vn 0.265175 0.191321 0.945006 +vn 0.272469 0.414716 0.868191 +vn 0.286172 0.447462 0.847255 +vn 0.519303 0.027192 0.854122 +vn 0.334483 0.215979 0.917295 +vn 0.574328 0.051515 0.816980 +vn 0.663198 -0.111759 0.740013 +vn 0.151189 0.359783 0.920682 +vn -0.750786 0.630696 0.196142 +vn -0.690451 0.667776 0.277993 +vn -0.860103 0.381329 0.338755 +vn 0.103885 -0.747826 -0.655690 +vn 0.251747 -0.844142 -0.473281 +vn -0.867000 -0.357921 0.346599 +vn -0.830836 -0.421827 0.362926 +vn -0.839015 -0.364422 0.404004 +vn -0.921659 -0.387616 0.016541 +vn -0.739952 0.290231 -0.606769 +vn -0.737510 0.206366 -0.642994 +vn -0.715262 0.242866 -0.655263 +vn 0.418348 0.847713 -0.326029 +vn -0.841670 0.287667 -0.456954 +vn 0.406903 0.186132 0.894284 +vn 0.331156 0.223640 0.916654 +vn 0.175298 0.320475 0.930876 +vn 0.151799 0.440901 0.884610 +vn 0.129521 0.389904 0.911679 +vn 0.074679 0.230750 0.970122 +vn 0.042299 0.067934 0.996765 +vn 0.027467 -0.022523 0.999359 +vn 0.047395 -0.098636 0.993988 +vn 0.036927 -0.169836 0.984771 +vn -0.005646 -0.200964 0.979553 +vn -0.021241 -0.168004 0.985534 +vn -0.096591 -0.187078 0.977569 +vn -0.143956 -0.280038 0.949126 +vn -0.129643 -0.180364 0.975005 +vn -0.140507 -0.091311 0.985839 +vn -0.174963 -0.082797 0.981079 +vn -0.172887 -0.083712 0.981353 +vn -0.084780 -0.025697 0.996063 +vn -0.005219 -0.023377 0.999695 +vn 0.035920 -0.091617 0.995117 +vn 0.076601 -0.149419 0.985778 +vn 0.132084 -0.202063 0.970397 +vn 0.193579 -0.240730 0.951079 +vn 0.156102 -0.183142 0.970580 +vn 0.078860 -0.042299 0.995972 +vn 0.012574 0.108036 0.994049 +vn -0.174017 0.131962 0.975829 +vn -0.414441 -0.145451 0.898373 +vn -0.436689 -0.080569 0.895962 +vn -0.425703 0.008271 0.904813 +vn -0.416181 0.080599 0.905667 +vn -0.370769 0.070070 0.926054 +vn -0.298532 0.093173 0.949828 +vn -0.267098 0.060305 0.961760 +vn -0.250435 0.059633 0.966277 +vn -0.255715 0.109439 0.960509 +vn -0.239814 0.112949 0.964202 +vn -0.130436 0.093478 0.987030 +vn -0.025208 0.170232 0.985076 +vn 0.047578 0.224250 0.973357 +vn 0.091342 0.273751 0.957427 +vn 0.132542 0.301828 0.944090 +vn 0.236732 0.325816 0.915281 +vn 0.367412 0.333872 0.868038 +vn 0.445448 0.369762 0.815363 +vn 0.417676 0.373730 0.828150 +vn 0.361675 0.405988 0.839229 +vn 0.265603 0.495437 0.827021 +vn 0.143529 0.545335 0.825800 +vn 0.060671 0.544389 0.836604 +vn 0.030366 0.561327 0.827021 +vn 0.055208 0.615680 0.786035 +vn 0.010681 0.632191 0.774712 +vn 0.004913 0.670644 0.741752 +vn -0.098727 0.687796 0.719108 +vn -0.189215 0.676626 0.711570 +vn 0.996948 -0.005402 -0.077670 +vn 0.998993 -0.001556 -0.044679 +vn 0.940458 0.326731 0.093448 +vn 0.930052 0.344951 0.126438 +vn 0.994934 0.087313 0.049715 +vn 0.994140 0.089969 0.059572 +vn 0.993378 0.098788 0.058596 +vn 0.953154 0.297494 -0.054231 +vn 0.635456 -0.076052 -0.768364 +vn 0.702780 0.042238 -0.710135 +vn -0.036805 0.129063 -0.990936 +vn 0.370891 0.164312 0.913999 +vn 0.402753 0.087771 0.911069 +vn 0.229377 -0.910306 -0.344493 +vn 0.286355 -0.901608 -0.324107 +vn -0.716330 -0.697470 -0.019288 +vn -0.676809 -0.733268 -0.064882 +vn -0.726646 -0.682241 -0.080386 +vn 0.333048 -0.914121 -0.231147 +vn 0.143468 -0.410382 0.900540 +vn 0.326090 0.193701 0.925260 +vn -0.043367 0.347270 0.936735 +vn -0.023286 0.353832 0.934996 +vn -0.081790 -0.978637 0.188452 +vn 0.478072 0.034974 0.877590 +vn 0.253059 0.284921 0.924528 +vn 0.101962 0.469741 0.876858 +vn 0.921445 0.380902 -0.076327 +vn 0.946593 0.321177 -0.027772 +vn 0.946471 0.320444 0.038301 +vn 0.446272 -0.818293 -0.362194 +vn 0.451857 -0.891964 0.012238 +vn 0.464339 -0.852199 0.241066 +vn -0.528367 0.739494 -0.417066 +vn 0.007691 0.715445 0.698599 +vn -0.012848 0.623707 0.781549 +vn -0.917173 -0.113773 0.381848 +vn -0.922513 -0.080172 0.377483 +vn -0.933866 -0.099673 0.343394 +vn -0.278848 0.876675 0.391980 +vn 0.019013 0.196448 0.980316 +vn 0.261208 0.276681 0.924741 +vn 0.355815 0.272561 0.893887 +vn 0.274728 0.386029 0.880581 +vn 0.121921 0.312235 0.942137 +vn 0.051363 0.190558 0.980316 +vn 0.037751 0.076266 0.996368 +vn 0.102420 -0.002045 0.994720 +vn 0.142216 -0.098605 0.984893 +vn 0.098056 -0.188360 0.977172 +vn 0.089389 -0.201941 0.975280 +vn 0.092318 -0.209784 0.973357 +vn -0.021668 -0.248177 0.968444 +vn -0.053438 -0.281289 0.958129 +vn -0.030580 -0.169103 0.985107 +vn -0.043001 -0.109745 0.993011 +vn -0.052370 -0.095492 0.994049 +vn -0.055452 -0.041383 0.997589 +vn 0.003693 0.008911 0.999939 +vn -0.029756 -0.017426 0.999390 +vn -0.037202 -0.079043 0.996155 +vn 0.006073 -0.102176 0.994720 +vn 0.116123 -0.132603 0.984313 +vn 0.242683 -0.189673 0.951353 +vn 0.286508 -0.219886 0.932493 +vn 0.205969 -0.089297 0.974456 +vn 0.118686 -0.009796 0.992859 +vn -0.187475 -0.062655 0.980255 +vn -0.315622 -0.208838 0.925596 +vn -0.295511 -0.064394 0.953154 +vn -0.293344 0.008667 0.955962 +vn -0.324839 0.067446 0.943327 +vn -0.358867 0.105655 0.927366 +vn -0.350414 0.072787 0.933744 +vn -0.365734 0.070833 0.928007 +vn -0.376080 0.064425 0.924314 +vn -0.403272 0.088168 0.910794 +vn -0.401929 0.158971 0.901730 +vn -0.304910 0.178747 0.935423 +vn -0.209235 0.222449 0.952208 +vn -0.137150 0.257790 0.956389 +vn -0.111209 0.293252 0.949522 +vn -0.051912 0.356273 0.932920 +vn 0.047731 0.420637 0.905942 +vn 0.200232 0.442091 0.874325 +vn 0.293313 0.414289 0.861568 +vn 0.304239 0.371746 0.877041 +vn 0.259346 0.377850 0.888760 +vn 0.210486 0.450270 0.867702 +vn 0.134739 0.501907 0.854335 +vn 0.108646 0.528764 0.841762 +vn 0.121342 0.569536 0.812952 +vn 0.144688 0.604938 0.783013 +vn 0.130284 0.619190 0.774346 +vn 0.053346 0.631031 0.773888 +vn -0.099460 0.636250 0.765007 +vn -0.112522 0.767876 0.630573 +vn -0.428968 0.902585 0.035524 +vn -0.462996 0.885922 -0.026917 +vn -0.486160 0.873379 0.028871 +vn 0.474258 -0.877834 -0.066622 +vn 0.949980 -0.312204 -0.004181 +vn 0.987823 -0.100375 0.118656 +vn 0.841151 -0.391247 0.373302 +vn 0.785668 -0.382855 0.485916 +vn 0.651723 -0.748527 -0.122166 +vn 0.212714 0.605548 0.766808 +vn -0.182562 0.745842 0.640584 +vn -0.170141 0.745415 0.644459 +vn 0.375347 -0.113437 0.919889 +vn 0.276223 -0.088656 0.956969 +vn 0.262795 -0.454207 0.851222 +vn 0.291696 0.257546 0.921171 +vn 0.278909 0.279092 0.918851 +vn 0.254982 0.336863 0.906339 +vn 0.212073 -0.115207 0.970428 +vn 0.309763 -0.870693 -0.381970 +vn 0.233985 -0.863460 -0.446822 +vn 0.087283 0.335887 0.937834 +vn 0.187994 0.281808 0.940855 +vn 0.625568 -0.075716 0.776452 +vn 0.472610 0.129185 0.871731 +vn 0.235206 0.348521 0.907285 +vn 0.917142 0.397443 0.029176 +vn 0.914243 0.401135 0.056581 +vn -0.072817 0.666524 0.741874 +vn 0.902066 0.117038 0.415357 +vn 0.951079 -0.020020 0.308267 +vn 0.455611 -0.724693 0.516923 +vn 0.522233 -0.499313 0.691305 +vn 0.463301 -0.688772 0.557604 +vn 0.065065 0.721122 0.689718 +vn -0.988006 -0.068911 0.138127 +vn -0.975799 -0.034852 0.215796 +vn -0.955260 -0.109531 0.274606 +vn -0.833644 -0.539445 -0.118168 +vn 0.068728 -0.457839 -0.886349 +vn -0.055300 0.630482 0.774224 +vn 0.097995 0.341411 0.934782 +vn 0.170446 0.301523 0.938078 +vn 0.079653 0.252693 0.964232 +vn 0.084719 0.183386 0.979369 +vn 0.078921 0.097568 0.992065 +vn 0.160009 0.047151 0.985961 +vn 0.165899 -0.077853 0.983062 +vn 0.184210 -0.205359 0.961180 +vn 0.182195 -0.199255 0.962828 +vn 0.174810 -0.231239 0.957030 +vn 0.114353 -0.295511 0.948454 +vn 0.089755 -0.280801 0.955535 +vn 0.063845 -0.177526 0.982025 +vn 0.051668 -0.119144 0.991516 +vn 0.013611 -0.105838 0.994263 +vn 0.031831 -0.023041 0.999207 +vn 0.035463 0.003388 0.999359 +vn -0.017609 -0.054353 0.998352 +vn -0.051607 -0.077151 0.995666 +vn -0.062349 -0.054353 0.996551 +vn 0.040315 -0.027833 0.998779 +vn 0.188788 -0.117313 0.974975 +vn 0.246376 -0.205695 0.947081 +vn 0.271554 -0.166143 0.947966 +vn 0.143406 -0.160619 0.976531 +vn -0.142094 -0.228248 0.963164 +vn -0.133946 -0.195288 0.971526 +vn -0.132603 -0.059969 0.989349 +vn -0.169805 -0.008484 0.985412 +vn -0.175787 0.048647 0.983215 +vn -0.154088 0.095828 0.983367 +vn -0.123844 0.070925 0.989746 +vn -0.214942 0.051668 0.975249 +vn -0.329722 0.003021 0.944060 +vn -0.417432 0.062075 0.906552 +vn -0.415632 0.189550 0.889553 +vn -0.351482 0.249214 0.902402 +vn -0.281014 0.252205 0.925932 +vn -0.281899 0.280587 0.917478 +vn -0.235633 0.326243 0.915433 +vn -0.118656 0.401410 0.908139 +vn -0.035676 0.478164 0.877529 +vn 0.050752 0.507981 0.859859 +vn 0.075259 0.452467 0.888577 +vn 0.089175 0.385693 0.918271 +vn 0.100162 0.369884 0.923643 +vn 0.120243 0.445723 0.887020 +vn 0.138432 0.495071 0.857723 +vn 0.172735 0.534379 0.827387 +vn 0.212592 0.579333 0.786828 +vn 0.258309 0.601489 0.755943 +vn 0.214179 0.583056 0.783654 +vn 0.064058 0.540574 0.838832 +vn 0.009827 0.764580 0.644398 +vn 0.997497 0.026765 -0.065096 +vn 0.953703 0.288675 0.084231 +vn 0.950133 0.292611 0.107669 +vn 0.950133 0.028809 -0.310465 +vn 0.960021 -0.128422 -0.248634 +vn 0.564043 -0.816218 -0.124973 +vn -0.088046 0.720756 0.687551 +vn 0.024018 0.975402 0.219031 +vn 0.031770 0.981475 0.188818 +vn 0.461623 -0.772332 0.436323 +vn 0.422101 -0.867275 0.263894 +vn 0.482955 -0.827021 0.287606 +vn 0.035493 -0.998962 -0.028169 +vn 0.016694 -0.999390 -0.030244 +vn 0.011505 -0.999054 -0.041200 +vn 0.280496 0.337748 0.898434 +vn 0.005158 0.498062 0.867092 +vn 0.153356 0.348552 0.924650 +vn 0.831660 -0.529679 -0.166570 +vn 0.659291 -0.722648 -0.207526 +vn 0.223823 0.419080 0.879910 +vn 0.193426 -0.799768 -0.568255 +vn 0.241585 -0.834590 -0.495010 +vn 0.634327 -0.080905 0.768792 +vn 0.426191 0.211402 0.879543 +vn 0.171300 0.432844 0.885006 +vn 0.056734 0.554582 0.830164 +vn 0.994415 0.066652 0.081668 +vn 0.996033 0.067385 0.057802 +vn 0.994049 0.092746 0.057009 +vn 0.927641 0.327799 0.178869 +vn 0.994751 -0.102206 -0.002045 +vn 0.974059 -0.208716 0.087283 +vn 0.487350 -0.872616 -0.031465 +vn -0.596637 0.562243 -0.572588 +vn -0.574816 0.554186 -0.602008 +vn -0.332347 0.919614 0.209387 +vn -0.332682 0.921079 0.202185 +vn 0.702017 0.546800 0.456191 +vn 0.667959 0.578875 0.467635 +vn 0.082461 -0.732414 -0.675802 +vn 0.148656 -0.784997 -0.601367 +vn -0.049837 0.710013 0.702384 +vn -0.257424 0.723136 0.640919 +vn -0.153783 0.734245 0.661184 +vn -0.023896 0.346324 0.937803 +vn 0.095187 0.273659 0.957091 +vn 0.165258 0.198218 0.966094 +vn 0.238868 0.139988 0.960875 +vn 0.264077 0.048433 0.963256 +vn 0.221839 -0.079165 0.971831 +vn 0.242500 -0.185644 0.952208 +vn 0.247536 -0.196539 0.948729 +vn 0.253365 -0.226020 0.940580 +vn 0.253487 -0.320383 0.912717 +vn 0.201758 -0.295907 0.933653 +vn 0.167669 -0.195105 0.966338 +vn 0.140629 -0.147526 0.979003 +vn 0.107608 -0.093417 0.989776 +vn 0.162725 -0.028321 0.986236 +vn 0.084475 -0.031190 0.995911 +vn 0.010681 -0.085665 0.996246 +vn -0.014985 -0.097598 0.995086 +vn -0.027528 -0.046968 0.998505 +vn -0.004944 0.042665 0.999054 +vn 0.056856 -0.045015 0.997345 +vn 0.154698 -0.146458 0.977020 +vn 0.248360 -0.192541 0.949309 +vn 0.141026 -0.259529 0.955351 +vn 0.054262 -0.305582 0.950591 +vn 0.076937 -0.188788 0.978973 +vn 0.033509 -0.086032 0.995697 +vn 0.020142 -0.018921 0.999603 +vn 0.078280 0.091861 0.992676 +vn 0.245155 0.179632 0.952666 +vn 0.195502 -0.023133 0.980407 +vn -0.073122 -0.073275 0.994598 +vn -0.277688 -0.111667 0.954131 +vn -0.358379 0.030061 0.933073 +vn -0.345897 0.205634 0.915433 +vn -0.333018 0.295511 0.895383 +vn -0.298990 0.258248 0.918607 +vn -0.322275 0.276986 0.905179 +vn -0.271401 0.380139 0.884182 +vn -0.160039 0.461592 0.872494 +vn -0.112186 0.512650 0.851222 +vn -0.108371 0.510636 0.852901 +vn -0.118503 0.454390 0.882870 +vn -0.090518 0.397168 0.913236 +vn -0.049593 0.402570 0.914029 +vn 0.001526 0.478561 0.878018 +vn 0.089084 0.529374 0.843684 +vn 0.167486 0.570238 0.804193 +vn 0.228126 0.607196 0.761071 +vn 0.220710 0.591266 0.775658 +vn 0.120396 0.511490 0.850795 +vn 0.004303 0.493789 0.869564 +vn -0.014069 0.570879 0.820887 +vn 0.982391 0.068880 -0.173528 +vn 0.985504 0.085726 -0.146367 +vn 0.985626 0.093600 -0.140599 +vn 0.972289 0.218482 0.083071 +vn 0.978545 0.173254 0.111301 +vn 0.848994 -0.491379 -0.194220 +vn 0.777917 -0.185278 -0.600391 +vn 0.308481 0.195746 0.930845 +vn 0.989715 -0.072939 0.122806 +vn 0.421369 0.453261 0.785455 +vn 0.376293 0.443831 0.813257 +vn 0.134465 0.388928 0.911374 +vn 0.116550 0.722617 0.681295 +vn 0.073336 0.768151 0.636036 +vn 0.103122 0.304300 0.946959 +vn 0.342631 -0.177038 0.922605 +vn 0.326243 -0.118748 0.937773 +vn 0.261727 -0.269753 0.926664 +vn 0.774926 -0.299387 0.556566 +vn 0.763665 -0.253517 0.593707 +vn 0.774346 -0.167028 0.610279 +vn 0.436445 0.113529 0.892514 +vn 0.240120 0.225013 0.944273 +vn 0.229621 0.389752 0.891812 +vn 0.218940 0.426527 0.877560 +vn -0.024567 0.541581 0.840266 +vn -0.023835 0.594317 0.803858 +vn 0.632740 -0.015381 0.774163 +vn 0.334880 0.297647 0.893979 +vn -0.076052 0.612232 0.786981 +vn 0.924223 0.370830 0.090884 +vn 0.927091 0.366436 0.078768 +vn 0.940123 0.332041 0.076724 +vn 0.250771 -0.946379 -0.203528 +vn 0.904447 -0.375195 -0.202948 +vn -0.623280 0.447188 -0.641469 +vn -0.606677 0.358745 -0.709372 +vn -0.583361 0.494461 -0.644307 +vn -0.966247 -0.028352 0.256020 +vn -0.370983 0.510697 0.775567 +vn -0.026765 0.413892 0.909909 +vn -0.196936 0.938261 -0.284371 +vn -0.213599 0.949431 -0.230018 +vn 0.208625 0.276315 0.938139 +vn 0.291971 0.161504 0.942656 +vn 0.291086 0.047823 0.955473 +vn 0.320292 -0.068209 0.944853 +vn 0.345439 -0.176244 0.921720 +vn 0.327860 -0.199255 0.923460 +vn 0.301981 -0.208869 0.930113 +vn 0.308420 -0.313578 0.898038 +vn 0.303446 -0.312662 0.900052 +vn 0.294809 -0.226356 0.928343 +vn 0.242744 -0.152318 0.958037 +vn 0.258431 -0.087313 0.962066 +vn 0.242836 -0.049562 0.968780 +vn 0.158757 -0.088534 0.983306 +vn 0.108890 -0.124180 0.986236 +vn 0.081820 -0.100101 0.991577 +vn 0.092959 -0.051576 0.994324 +vn 0.032258 0.020814 0.999237 +vn 0.006897 0.019318 0.999786 +vn 0.130375 -0.063570 0.989410 +vn 0.230842 -0.185980 0.955016 +vn 0.193304 -0.283273 0.939329 +vn 0.250069 -0.300699 0.920347 +vn 0.248695 -0.183599 0.951018 +vn 0.265297 -0.103793 0.958556 +vn 0.264138 0.023316 0.964171 +vn 0.358623 0.183813 0.915189 +vn 0.295877 0.122105 0.947356 +vn 0.073855 -0.172460 0.982238 +vn -0.096774 -0.246956 0.964171 +vn -0.278848 -0.198523 0.939573 +vn -0.284921 0.039552 0.957701 +vn -0.268014 0.218818 0.938200 +vn -0.262703 0.302286 0.916288 +vn -0.252724 0.284677 0.924680 +vn -0.193060 0.296701 0.935240 +vn -0.134068 0.422437 0.896390 +vn -0.119846 0.485977 0.865688 +vn -0.159825 0.498886 0.851772 +vn -0.203131 0.508164 0.836940 +vn -0.167791 0.469497 0.866817 +vn -0.133641 0.411267 0.901639 +vn -0.128483 0.422376 0.897244 +vn -0.081851 0.511948 0.855068 +vn -0.002960 0.571673 0.820460 +vn 0.071535 0.610920 0.788446 +vn 0.077914 0.627186 0.774926 +vn 0.057131 0.574786 0.816279 +vn 0.034455 0.462844 0.885739 +vn 0.007111 0.484603 0.874691 +vn 0.054964 0.588336 0.806726 +vn 0.112308 0.637257 0.762383 +vn 0.996368 0.028718 -0.079989 +vn 0.970885 0.197211 -0.135868 +vn 0.960875 0.232215 -0.150884 +vn 0.951903 0.236915 -0.194250 +vn 0.946410 0.279519 -0.161718 +vn 0.931059 0.345439 0.117313 +vn -0.418653 0.595294 -0.685781 +vn -0.345897 0.576647 -0.740135 +vn -0.401105 0.655660 -0.639668 +vn 0.831111 0.457869 -0.315470 +vn 0.826075 0.452651 -0.335673 +vn 0.785211 0.538163 -0.306253 +vn 0.982849 0.009980 0.184118 +vn 0.039705 0.694968 0.717917 +vn 0.655202 0.135472 0.743187 +vn 0.475997 0.143101 0.867702 +vn 0.156652 0.932798 0.324503 +vn 0.210852 0.918210 0.335215 +vn 0.797357 0.571398 -0.194128 +vn 0.811274 0.558977 -0.171239 +vn 0.795251 0.583239 -0.165410 +vn 0.039399 0.791986 0.609241 +vn 0.611347 0.033387 0.790643 +vn 0.752617 -0.291574 0.590350 +vn 0.675893 -0.174322 0.716056 +vn 0.251869 0.412976 0.875210 +vn 0.229713 0.516648 0.824763 +vn 0.788232 0.526597 -0.318339 +vn -0.465987 -0.049440 0.883389 +vn 0.205023 -0.857601 -0.471633 +vn 0.315226 -0.850612 -0.420759 +vn 0.577685 0.513443 0.634480 +vn -0.377209 0.769982 0.514573 +vn -0.159520 0.955351 -0.248634 +vn 0.405866 0.426069 0.808527 +vn 0.386486 0.300882 0.871822 +vn -0.170507 0.981109 0.091189 +vn 0.766564 0.634083 0.101260 +vn -0.242317 0.647328 0.722648 +vn 0.024964 0.431043 0.901975 +vn 0.246193 0.192572 0.949889 +vn 0.305979 0.077242 0.948882 +vn 0.333018 -0.046632 0.941740 +vn 0.357585 -0.131535 0.924558 +vn 0.411695 -0.213111 0.886013 +vn 0.368175 -0.237159 0.898984 +vn 0.330180 -0.282144 0.900723 +vn 0.400006 -0.291696 0.868831 +vn 0.426527 -0.237129 0.872799 +vn 0.390423 -0.156499 0.907224 +vn 0.402112 -0.091311 0.911008 +vn 0.337535 -0.114658 0.934263 +vn 0.197333 -0.135899 0.970855 +vn 0.169683 -0.129765 0.976897 +vn 0.195807 -0.092868 0.976226 +vn 0.216712 -0.069460 0.973754 +vn 0.169927 -0.033265 0.984893 +vn 0.092257 0.027192 0.995361 +vn 0.133000 0.017090 0.990966 +vn 0.235511 -0.116337 0.964873 +vn 0.331156 -0.236030 0.913541 +vn 0.421674 -0.265358 0.867031 +vn 0.423780 -0.162633 0.891018 +vn 0.469069 -0.090762 0.878445 +vn 0.459700 0.029786 0.887570 +vn 0.384045 0.110599 0.916654 +vn 0.116703 -0.024537 0.992859 +vn -0.091861 -0.273141 0.957549 +vn -0.254250 -0.355602 0.899350 +vn -0.257057 -0.188421 0.947813 +vn -0.173437 0.057649 0.983123 +vn -0.221595 0.207648 0.952757 +vn -0.268899 0.296457 0.916379 +vn -0.277810 0.325846 0.903653 +vn -0.179601 0.348308 0.919980 +vn -0.125004 0.430830 0.893704 +vn -0.162603 0.474258 0.865230 +vn -0.171178 0.465712 0.868191 +vn -0.200720 0.512864 0.834651 +vn -0.157414 0.474929 0.865810 +vn -0.200873 0.415967 0.886898 +vn -0.180029 0.430403 0.884487 +vn -0.119053 0.540025 0.833155 +vn -0.051668 0.602832 0.796167 +vn -0.020020 0.618488 0.785485 +vn -0.033479 0.618824 0.784783 +vn -0.045076 0.572741 0.818476 +vn -0.025239 0.480361 0.876675 +vn 0.027100 0.497299 0.867122 +vn 0.832453 -0.534135 -0.147191 +vn 0.892056 -0.413373 -0.182501 +vn 0.036073 0.554216 0.831568 +vn 0.148595 0.682913 0.715201 +vn 0.991211 0.055208 -0.120151 +vn 0.956725 0.218207 -0.192450 +vn 0.948943 0.262825 -0.174383 +vn 0.932371 0.311960 -0.182470 +vn 0.940092 0.309549 -0.142735 +vn -0.943419 0.262001 0.203162 +vn -0.937376 0.266640 0.224067 +vn -0.968230 0.113956 0.222449 +vn 0.974975 -0.025666 -0.220740 +vn 0.956298 0.048494 -0.288308 +vn 0.971587 0.048158 -0.231605 +vn 0.202795 -0.172521 0.963866 +vn 0.110599 0.487289 0.866176 +vn -0.112552 0.579302 0.807276 +vn 0.940275 -0.330271 0.082308 +vn -0.029695 0.420759 0.906674 +vn 0.242256 0.486343 0.839503 +vn 0.212897 0.501724 0.838374 +vn 0.337016 0.304849 0.890744 +vn 0.074709 0.600848 0.795831 +vn 0.404065 0.296182 0.865413 +vn 0.328806 0.296457 0.896634 +vn 0.564745 0.158696 0.809839 +vn 0.649770 -0.043275 0.758873 +vn 0.778832 -0.279092 0.561663 +vn 0.761589 -0.243080 0.600696 +vn -0.981170 -0.092288 -0.169622 +vn -0.885250 0.117130 -0.450117 +vn 0.066195 0.790582 0.608722 +vn 0.840449 0.532731 0.099063 +vn -0.221137 0.962828 0.154881 +vn -0.958770 0.254616 0.126041 +vn -0.968017 0.218726 0.122806 +vn -0.981842 0.185034 0.041536 +vn -0.961943 0.264321 0.068911 +vn -0.933317 0.345286 0.098117 +vn -0.549211 0.639241 0.538194 +vn -0.442457 -0.241981 0.863491 +vn -0.486221 -0.245399 0.838649 +vn -0.473464 -0.240608 0.847285 +vn 0.093661 0.317911 0.943449 +vn 0.269082 0.152135 0.951018 +vn 0.359111 -0.030091 0.932798 +vn 0.358806 -0.103549 0.927610 +vn 0.384960 -0.182623 0.904660 +vn 0.393414 -0.259835 0.881863 +vn 0.395611 -0.241859 0.885983 +vn 0.491562 -0.235939 0.838252 +vn 0.518906 -0.214301 0.827509 +vn 0.530686 -0.174627 0.829371 +vn 0.488815 -0.126591 0.863124 +vn 0.399792 -0.171880 0.900327 +vn 0.342601 -0.205969 0.916593 +vn 0.294320 -0.119175 0.948241 +vn 0.319865 -0.077059 0.944304 +vn 0.309793 -0.061647 0.948790 +vn 0.303812 -0.071108 0.950072 +vn 0.247078 -0.023438 0.968688 +vn 0.181433 0.052431 0.981994 +vn 0.229926 -0.028108 0.972777 +vn 0.342265 -0.144749 0.928343 +vn 0.443281 -0.208228 0.871822 +vn 0.491775 -0.137394 0.859798 +vn 0.529099 -0.078799 0.844874 +vn 0.485214 -0.035005 0.873653 +vn 0.326884 -0.092257 0.940519 +vn -0.027955 -0.183508 0.982604 +vn -0.277169 -0.408429 0.869655 +vn -0.267251 -0.332682 0.904355 +vn -0.087649 -0.083987 0.992584 +vn -0.034059 0.048036 0.998260 +vn -0.151006 0.139012 0.978698 +vn -0.277779 0.240852 0.929929 +vn -0.358470 0.318217 0.877621 +vn -0.339702 0.373638 0.863094 +vn -0.298013 0.426984 0.853694 +vn -0.266549 0.453871 0.850246 +vn -0.254738 0.468093 0.846126 +vn -0.225288 0.507797 0.831477 +vn -0.218360 0.461959 0.859584 +vn -0.251747 0.407025 0.878018 +vn -0.201453 0.450392 0.869778 +vn -0.169469 0.563921 0.808222 +vn -0.120426 0.626911 0.769707 +vn -0.079104 0.616749 0.783135 +vn -0.097720 0.612232 0.784600 +vn -0.096194 0.574480 0.812799 +vn -0.084933 0.502304 0.860469 +vn 0.887600 -0.384198 -0.253975 +vn 0.732597 -0.667562 -0.132664 +vn 0.745781 -0.655293 -0.119785 +vn 0.988495 -0.031007 0.147954 +vn 0.672140 -0.725944 -0.145634 +vn 0.638447 -0.748527 -0.179022 +vn 0.650227 -0.736808 -0.185156 +vn 0.990509 0.043092 -0.130345 +vn 0.572436 0.389111 0.721702 +vn 0.750694 0.004456 0.660573 +vn 0.788903 -0.129643 0.600665 +vn 0.176397 -0.884610 -0.431623 +vn 0.311472 -0.091342 0.945830 +vn 0.337809 0.024293 0.940886 +vn 0.458449 -0.258034 0.850398 +vn 0.550523 -0.114322 0.826930 +vn 0.468734 0.004364 0.883297 +vn 0.012207 0.321543 0.946806 +vn -0.021455 0.600543 0.799280 +vn -0.111759 -0.124851 0.985839 +vn -0.020386 -0.998718 0.046022 +vn -0.046175 -0.996643 0.067141 +vn 0.144505 -0.018159 0.989319 +vn 0.121403 -0.037599 0.991882 +vn 0.728050 -0.081881 0.680563 +vn 0.462325 0.247444 0.851466 +vn 0.284310 0.462996 0.839503 +vn 0.000519 -0.980163 0.198126 +vn -0.087832 -0.822687 0.561602 +vn -0.043062 -0.980560 0.191382 +vn -0.876064 0.262062 -0.404706 +vn -0.791284 -0.511948 -0.334300 +vn -0.688742 -0.639576 -0.341350 +vn -0.720725 -0.606372 -0.335887 +vn 0.610218 0.474105 0.634663 +vn 0.796747 0.343455 0.497147 +vn 0.852687 0.213660 0.476669 +vn 0.210486 0.718741 0.662618 +vn 0.889737 0.270608 0.367534 +vn -0.249397 0.946165 0.206244 +vn 0.126682 0.949797 -0.286019 +vn 0.149724 -0.988556 -0.017396 +vn 0.133213 -0.991058 0.004486 +vn 0.212867 -0.975188 -0.060274 +vn 0.414411 -0.903012 -0.113041 +vn -0.063021 0.586932 0.807154 +vn 0.354900 0.012329 0.934812 +vn 0.328562 0.219520 0.918607 +vn 0.367718 -0.104740 0.924009 +vn 0.366070 -0.172369 0.914457 +vn 0.376812 -0.247261 0.892666 +vn 0.404736 -0.211646 0.889584 +vn 0.459456 -0.160283 0.873592 +vn 0.527390 -0.197913 0.826228 +vn 0.530168 -0.187323 0.826899 +vn 0.509690 -0.188299 0.839473 +vn 0.460768 -0.205908 0.863277 +vn 0.464217 -0.205206 0.861599 +vn 0.469222 -0.128636 0.873623 +vn 0.454512 -0.085269 0.886624 +vn 0.418867 -0.074679 0.904935 +vn 0.408826 -0.079897 0.909085 +vn 0.367260 -0.089724 0.925748 +vn 0.254494 0.016907 0.966918 +vn 0.223395 0.001404 0.974700 +vn 0.252815 -0.079226 0.964232 +vn 0.287332 -0.137272 0.947905 +vn 0.381664 -0.128697 0.915281 +vn 0.375622 -0.072756 0.923887 +vn 0.348308 -0.150273 0.925230 +vn 0.169012 -0.244057 0.954894 +vn -0.185980 -0.424543 0.886074 +vn -0.200079 -0.381512 0.902432 +vn 0.006958 -0.215217 0.976531 +vn 0.111179 -0.036683 0.993103 +vn 0.039705 0.010437 0.999146 +vn -0.051119 0.042238 0.997772 +vn -0.222144 0.138371 0.965117 +vn -0.308420 0.272011 0.911527 +vn -0.343028 0.372417 0.862300 +vn -0.330454 0.451155 0.828974 +vn -0.276925 0.465072 0.840815 +vn -0.279092 0.471450 0.836543 +vn -0.274819 0.497757 0.822596 +vn -0.310190 0.466231 0.828455 +vn -0.270638 0.428266 0.862148 +vn -0.178838 0.480697 0.858425 +vn -0.137638 0.565172 0.813379 +vn -0.137394 0.633656 0.761284 +vn -0.150029 0.614734 0.774285 +vn -0.159764 0.600909 0.783135 +vn -0.145634 0.588672 0.795129 +vn -0.056856 0.542436 0.838160 +vn 0.105808 0.632252 0.767479 +vn 0.399792 0.005982 0.916562 +vn 0.336039 0.051607 0.940428 +vn -0.091525 -0.504227 0.858669 +vn -0.091952 -0.366955 0.925657 +vn 0.217048 -0.821039 -0.527970 +vn 0.248878 -0.838710 -0.484329 +vn 0.292520 0.075137 0.953276 +vn 0.191626 0.256691 0.947295 +vn 0.077731 0.395459 0.915159 +vn 0.419813 -0.041902 0.906613 +vn 0.342082 0.097812 0.934538 +vn 0.406446 0.036195 0.912931 +vn 0.262459 0.000458 0.964934 +vn 0.103763 -0.921140 -0.375072 +vn 0.348369 -0.847102 -0.401257 +vn 0.230934 0.553148 0.800409 +vn 0.097568 0.706137 0.701285 +vn 0.424268 -0.865383 -0.266610 +vn -0.144383 0.694021 0.705283 +vn -0.858455 0.434278 -0.272805 +vn 0.084323 -0.452284 -0.887845 +vn -0.223853 0.778039 0.586901 +vn 0.557939 0.828730 0.043123 +vn 0.701163 0.658467 0.273415 +vn 0.855678 0.231483 0.462783 +vn 0.739280 0.042940 -0.671987 +vn -0.239021 0.939848 0.243965 +vn -0.113956 -0.236549 -0.964904 +vn -0.145238 -0.674032 -0.724235 +vn -0.050417 -0.556658 -0.829188 +vn 0.124210 0.414167 0.901669 +vn 0.306101 0.018006 0.951811 +vn 0.316141 -0.089053 0.944487 +vn 0.357158 -0.158147 0.920530 +vn 0.380932 -0.223823 0.897061 +vn 0.413526 -0.209479 0.886044 +vn 0.396313 -0.128025 0.909116 +vn 0.422163 -0.159246 0.892392 +vn 0.463240 -0.202704 0.862728 +vn 0.458052 -0.201880 0.865658 +vn 0.463271 -0.209143 0.861171 +vn 0.481124 -0.192480 0.855220 +vn 0.487564 -0.150060 0.860073 +vn 0.448653 -0.114292 0.886349 +vn 0.413404 -0.093814 0.905698 +vn 0.393139 -0.097964 0.914212 +vn 0.355083 -0.145238 0.923460 +vn 0.284005 -0.079989 0.955443 +vn 0.161748 0.002228 0.986816 +vn 0.190680 -0.085147 0.977935 +vn 0.142613 -0.127781 0.981475 +vn 0.143559 -0.117405 0.982635 +vn 0.097476 -0.087436 0.991363 +vn 0.014924 -0.238319 0.971038 +vn -0.120396 -0.381481 0.916471 +vn -0.228187 -0.481307 0.846309 +vn -0.028932 -0.248848 0.968078 +vn 0.082522 -0.129521 0.988128 +vn 0.127720 -0.070711 0.989257 +vn 0.025636 -0.052126 0.998291 +vn -0.072970 -0.052187 0.995941 +vn -0.202307 0.058321 0.977569 +vn -0.202490 0.248054 0.947325 +vn -0.227943 0.369091 0.900998 +vn -0.238868 0.464003 0.852992 +vn -0.261361 0.477828 0.838649 +vn -0.282601 0.462264 0.840480 +vn -0.291940 0.481887 0.826136 +vn -0.313700 0.476302 0.821406 +vn -0.244911 0.472671 0.846492 +vn -0.171178 0.524644 0.833918 +vn -0.115360 0.578814 0.807245 +vn -0.106937 0.625996 0.772454 +vn -0.142277 0.606647 0.782098 +vn -0.169439 0.597736 0.783563 +vn -0.158849 0.623280 0.765679 +vn -0.033357 0.616321 0.786767 +vn 0.113132 0.691733 0.713218 +vn 0.905118 0.421674 -0.053926 +vn 0.926023 0.376598 -0.024445 +vn 0.996765 0.074831 0.028352 +vn 0.996612 0.075961 0.031007 +vn 0.620930 0.165899 -0.766076 +vn 0.723624 0.162053 -0.670858 +vn 0.633625 0.145299 -0.759850 +vn 0.653462 -0.682669 -0.326945 +vn 0.671773 -0.698050 -0.247780 +vn 0.752342 -0.502579 -0.425855 +vn 0.699210 -0.643605 -0.311167 +vn 0.968017 -0.181158 -0.173467 +vn 0.966857 -0.161779 -0.197455 +vn -0.033876 0.483444 0.874691 +vn 0.292795 -0.424055 0.856960 +vn 0.294443 -0.372936 0.879879 +vn 0.331217 -0.329508 0.884121 +vn 0.300394 -0.035737 0.953124 +vn 0.304086 0.321726 0.896664 +vn 0.196600 -0.099002 0.975463 +vn 0.272652 0.864772 0.421644 +vn 0.321940 0.770043 0.550768 +vn -0.153569 0.694662 0.702719 +vn -0.037843 -0.627338 -0.777795 +vn 0.771203 -0.212409 0.600085 +vn 0.605396 0.177068 0.775933 +vn -0.031770 0.563768 0.825312 +vn -0.167669 0.773247 0.611499 +vn 0.967834 -0.045930 0.247291 +vn 0.943632 -0.047426 0.327525 +vn -0.764061 -0.473403 -0.438215 +vn 0.040376 0.660634 0.749596 +vn -0.277261 0.901761 0.331553 +vn -0.671072 -0.740043 0.043825 +vn -0.482711 -0.871731 0.083956 +vn -0.272561 -0.961974 -0.016083 +vn -0.132847 -0.581835 -0.802362 +vn -0.129368 -0.589526 -0.797296 +vn -0.159490 -0.550127 -0.819697 +vn 0.109928 -0.924833 -0.364116 +vn 0.337809 -0.056093 0.939512 +vn 0.216041 0.109165 0.970244 +vn 0.372875 -0.134953 0.917997 +vn 0.357280 -0.200140 0.912290 +vn 0.389203 -0.199744 0.899197 +vn 0.382122 -0.172185 0.907895 +vn 0.320872 -0.140080 0.936674 +vn 0.375408 -0.179113 0.909360 +vn 0.402600 -0.209296 0.891110 +vn 0.405042 -0.205145 0.890957 +vn 0.423994 -0.197272 0.883908 +vn 0.405774 -0.172185 0.897580 +vn 0.375866 -0.155797 0.913450 +vn 0.335856 -0.139225 0.931547 +vn 0.255287 -0.137730 0.956999 +vn 0.188360 -0.163121 0.968444 +vn 0.186102 -0.161077 0.969207 +vn 0.077792 -0.051332 0.995636 +vn -0.109836 -0.118931 0.986785 +vn -0.209418 -0.179815 0.961119 +vn -0.230262 -0.128086 0.964629 +vn -0.311991 -0.162389 0.936064 +vn -0.396313 -0.256569 0.881527 +vn -0.364574 -0.405621 0.838160 +vn -0.178655 -0.352458 0.918577 +vn 0.060854 -0.148350 0.987030 +vn 0.110416 -0.114628 0.987243 +vn 0.092715 -0.078280 0.992584 +vn 0.060976 -0.116276 0.991333 +vn -0.131504 -0.158238 0.978576 +vn -0.168920 0.059084 0.983825 +vn -0.119266 0.253670 0.959899 +vn -0.056246 0.373699 0.925810 +vn -0.093295 0.447035 0.889615 +vn -0.149297 0.474532 0.867458 +vn -0.159093 0.455763 0.875729 +vn -0.195288 0.490585 0.849208 +vn -0.194403 0.504044 0.841487 +vn -0.161107 0.512253 0.843562 +vn -0.147191 0.558489 0.816309 +vn -0.086337 0.588122 0.804102 +vn -0.098239 0.627949 0.771996 +vn -0.092135 0.590136 0.802026 +vn -0.134831 0.597461 0.790460 +vn -0.101596 0.646260 0.756310 +vn -0.017365 0.680532 0.732475 +vn 0.148717 -0.785363 -0.600848 +vn 0.125401 -0.735466 -0.665792 +vn 0.173650 -0.814722 -0.553209 +vn 0.739891 -0.265114 -0.618244 +vn 0.684469 -0.308847 -0.660329 +vn 0.690207 -0.277810 -0.668111 +vn 0.147862 0.508286 0.848384 +vn 0.189489 0.437147 0.879177 +vn 0.974914 0.217078 0.048585 +vn 0.123386 -0.861141 -0.493118 +vn 0.133641 -0.888180 -0.439558 +vn 0.994781 0.090548 0.046419 +vn 0.987548 0.151524 0.041536 +vn 0.920896 0.344890 -0.181524 +vn 0.924589 0.352794 -0.143590 +vn 0.934019 0.277047 0.225410 +vn 0.371654 -0.189123 0.908872 +vn 0.440077 -0.178350 0.880032 +vn 0.416364 -0.144139 0.897671 +vn -0.092380 0.528092 0.844111 +vn -0.138249 0.570513 0.809534 +vn 0.522904 -0.680441 0.513352 +vn -0.041719 -0.999115 -0.003784 +vn -0.499710 0.685812 -0.529038 +vn -0.487594 0.661824 -0.569353 +vn -0.362804 -0.413312 -0.835170 +vn -0.773125 0.504227 -0.384686 +vn -0.096744 -0.598468 -0.795251 +vn 0.024689 -0.675893 -0.736564 +vn 0.752861 -0.093997 0.651387 +vn 0.485733 0.249336 0.837764 +vn 0.362102 0.365947 0.857265 +vn -0.179479 0.758721 0.626148 +vn 0.986389 0.087191 0.139348 +vn 0.498184 -0.802026 -0.329447 +vn 0.504318 -0.809412 -0.300790 +vn -0.303629 0.928220 0.214942 +vn -0.350291 0.894955 0.276223 +vn 0.376659 0.790857 -0.482284 +vn 0.400494 0.815119 -0.418500 +vn 0.477859 0.744743 -0.465804 +vn 0.316202 0.004334 0.948668 +vn -0.152745 -0.195257 -0.968780 +vn 0.418104 -0.247871 -0.873897 +vn 0.317454 -0.128788 0.939451 +vn 0.326609 -0.195654 0.924650 +vn 0.372021 -0.201727 0.906003 +vn 0.331217 -0.202094 0.921628 +vn 0.292856 -0.153966 0.943663 +vn 0.320231 -0.145024 0.936155 +vn 0.326121 -0.213141 0.920957 +vn 0.292550 -0.213904 0.932005 +vn 0.277200 -0.205115 0.938627 +vn 0.266854 -0.212226 0.940062 +vn 0.215186 -0.191076 0.957671 +vn 0.174078 -0.188269 0.966552 +vn 0.054903 -0.217902 0.974395 +vn -0.029267 -0.223060 0.974334 +vn -0.130192 -0.186590 0.973754 +vn -0.358684 -0.223579 0.906278 +vn -0.601611 -0.234504 0.763543 +vn -0.701285 -0.168645 0.692618 +vn -0.688040 -0.102786 0.718314 +vn -0.733268 -0.151921 0.662709 +vn -0.715201 -0.165868 0.678915 +vn -0.623768 -0.256996 0.738121 +vn -0.349345 -0.127384 0.928251 +vn -0.155217 -0.075594 0.984954 +vn -0.002716 -0.070101 0.997528 +vn 0.059969 -0.076479 0.995239 +vn 0.011780 -0.216742 0.976135 +vn -0.184912 -0.236671 0.953795 +vn -0.106449 0.114750 0.987671 +vn -0.007874 0.320597 0.947172 +vn 0.140904 0.410108 0.901059 +vn 0.087893 0.400494 0.912046 +vn -0.007385 0.451796 0.892056 +vn -0.041231 0.455550 0.889248 +vn -0.056856 0.478805 0.876064 +vn -0.090945 0.508255 0.856349 +vn -0.099948 0.519242 0.848720 +vn -0.101901 0.567675 0.816889 +vn -0.064333 0.607471 0.791711 +vn -0.058382 0.623676 0.779473 +vn -0.075228 0.586016 0.806757 +vn -0.100040 0.592608 0.799219 +vn -0.081057 0.663564 0.743675 +vn 0.010620 0.733238 0.679861 +vn -0.162481 0.772362 0.614002 +vn 0.981262 0.178991 0.070894 +vn 0.998383 0.004059 0.056429 +vn 0.999176 0.033235 0.022492 +vn 0.997284 0.071322 0.017426 +vn 0.665487 -0.412580 0.621998 +vn 0.688864 -0.490585 0.533616 +vn 0.662465 -0.577715 0.476791 +vn 0.922422 0.385937 0.012268 +vn 0.881252 0.128483 -0.454817 +vn 0.827601 0.080538 -0.555467 +vn 0.906186 0.127873 -0.403027 +vn 0.864132 0.479415 -0.152989 +vn 0.339335 0.700613 -0.627644 +vn 0.344249 0.732322 -0.587481 +vn -0.194739 0.637226 0.745659 +vn 0.310068 0.217170 0.925565 +vn 0.273659 0.436750 0.856929 +vn 0.022584 -0.004303 0.999725 +vn 0.048585 0.032807 0.998260 +vn -0.364879 0.735099 0.571337 +vn 0.907407 0.378491 0.182531 +vn 0.879208 0.445418 0.168981 +vn -0.092807 0.126011 0.987671 +vn -0.048677 0.183996 0.981689 +vn 0.476180 -0.628437 0.615040 +vn 0.630390 -0.020600 0.775964 +vn 0.517869 -0.839167 -0.165960 +vn 0.723045 -0.670888 -0.164525 +vn 0.357006 0.627979 -0.691458 +vn 0.392041 0.659047 -0.641804 +vn -0.375896 0.878719 0.294107 +vn -0.662404 -0.742149 -0.101871 +vn -0.587115 -0.802362 -0.107059 +vn 0.097812 0.991028 0.090854 +vn 0.157994 0.987365 -0.011872 +vn -0.062685 0.571337 0.818293 +vn 0.099765 0.297281 0.949553 +vn 0.121799 -0.116276 0.985717 +vn 0.113681 0.035218 0.992859 +vn 0.188055 -0.161229 0.968810 +vn 0.249367 -0.186682 0.950224 +vn 0.255776 -0.230293 0.938902 +vn 0.265999 -0.179235 0.947142 +vn 0.218635 -0.149968 0.964202 +vn 0.155248 -0.233345 0.959899 +vn 0.135594 -0.260842 0.955779 +vn 0.076815 -0.224586 0.971404 +vn 0.011841 -0.255013 0.966857 +vn -0.045808 -0.236213 0.970611 +vn -0.139592 -0.254036 0.957030 +vn -0.270669 -0.273263 0.923063 +vn -0.333354 -0.280160 0.900204 +vn -0.531205 -0.334605 0.778344 +vn -0.330088 -0.620045 -0.711722 +vn -0.033570 -0.783319 -0.620685 +vn 0.261574 -0.769921 -0.582018 +vn -0.174627 0.826899 0.534532 +vn -0.124302 0.774224 0.620563 +vn -0.084780 -0.781396 -0.618244 +vn -0.113346 -0.774987 -0.621723 +vn 0.354198 0.925962 -0.130711 +vn 0.370830 0.918821 -0.134892 +vn 0.384869 0.909330 -0.157933 +vn -0.864376 -0.196356 0.462844 +vn -0.804804 -0.260689 0.533219 +vn 0.523942 0.791314 0.315073 +vn -0.885861 -0.126621 0.446303 +vn -0.891018 -0.039766 0.452162 +vn 0.236518 0.967406 0.090335 +vn 0.301950 0.946165 0.116489 +vn 0.311350 0.947996 0.065798 +vn -0.858455 0.037660 0.511460 +vn -0.774132 0.012848 0.632862 +vn -0.492019 0.048006 0.869228 +vn -0.551866 0.071230 0.830866 +vn -0.697623 0.041383 0.715232 +vn -0.292734 0.080172 0.952818 +vn -0.130863 -0.072146 0.988739 +vn -0.111789 -0.275704 0.954711 +vn -0.108219 -0.205084 0.972716 +vn 0.058168 0.205084 0.976989 +vn 0.218268 0.414350 0.883541 +vn 0.259560 0.391217 0.882900 +vn 0.105686 0.315104 0.943144 +vn -0.052919 0.388531 0.919889 +vn -0.138798 0.445967 0.884182 +vn -0.109867 0.477096 0.871944 +vn -0.083499 0.495315 0.864681 +vn -0.089511 0.514573 0.852718 +vn -0.104038 0.569567 0.815302 +vn -0.119083 0.614215 0.780084 +vn -0.110324 0.619922 0.776849 +vn -0.111515 0.585040 0.803278 +vn -0.079958 0.588061 0.804834 +vn -0.066286 0.665944 0.743034 +vn 0.939512 0.156346 0.304636 +vn 0.946318 0.072817 0.314829 +vn 0.910215 -0.060701 0.409619 +vn 0.789880 -0.303201 -0.533036 +vn 0.810572 -0.275369 -0.516800 +vn 0.924161 0.366070 0.109134 +vn 0.738884 0.555376 -0.381542 +vn 0.812342 0.565203 -0.143590 +vn 0.858730 0.108951 -0.500656 +vn 0.892453 0.193579 -0.407453 +vn 0.823664 0.239601 -0.513932 +vn -0.999542 -0.028321 0.007294 +vn -0.543168 -0.105014 -0.833003 +vn -0.332041 -0.131932 -0.933958 +vn -0.502396 -0.130375 -0.854732 +vn -0.073092 -0.374523 -0.924314 +vn -0.152867 -0.406812 -0.900601 +vn 0.322855 0.299417 0.897824 +vn 0.323038 0.362865 0.874020 +vn 0.266182 0.368175 0.890805 +vn -0.766900 -0.289926 0.572527 +vn 0.312754 0.264229 0.912320 +vn 0.355296 -0.853786 -0.380474 +vn 0.726829 -0.150822 0.670034 +vn 0.755028 -0.233589 0.612659 +vn 0.579058 0.164281 0.798517 +vn -0.996460 0.003937 0.083804 +vn -0.780541 -0.361187 0.510147 +vn 0.863308 0.499313 0.073336 +vn 0.861324 0.505600 0.049684 +vn 0.839900 0.539415 0.059511 +vn -0.504562 0.664632 0.551042 +vn -0.373821 0.535997 0.756920 +vn -0.369915 0.458571 0.807978 +vn -0.497391 0.565386 0.657949 +vn -0.390820 0.625965 0.674795 +vn -0.493484 0.726371 -0.478317 +vn -0.462355 0.692709 -0.553453 +vn 0.117893 0.991089 0.061892 +vn 0.157872 0.986572 0.041414 +vn -0.282846 -0.916898 0.281533 +vn -0.576861 -0.622578 0.528764 +vn -0.410260 -0.826685 0.384991 +vn -0.206366 -0.126804 0.970214 +vn -0.253883 -0.079165 0.963958 +vn -0.178350 -0.156835 0.971374 +vn -0.117283 -0.202918 0.972137 +vn -0.040864 -0.185766 0.981719 +vn -0.080447 -0.214759 0.973327 +vn -0.169652 -0.267434 0.948515 +vn -0.166295 -0.263131 0.950285 +vn -0.203619 -0.281381 0.937712 +vn -0.308725 -0.289895 0.905881 +vn -0.371258 -0.266671 0.889401 +vn -0.460616 -0.309519 0.831843 +vn -0.619892 -0.331675 0.711112 +vn -0.720206 -0.331614 0.609302 +vn 0.302622 0.911557 -0.278298 +vn 0.307291 0.929289 -0.204810 +vn 0.348552 0.905118 -0.243385 +vn 0.973449 -0.227485 -0.024720 +vn 0.811426 0.451827 0.370647 +vn 0.023377 0.713920 0.699820 +vn 0.034333 0.755608 0.654073 +vn 0.062014 0.735923 0.674184 +vn 0.041200 0.699606 0.713309 +vn 0.329875 0.937681 -0.108951 +vn 0.358409 0.927213 -0.108554 +vn 0.361217 0.917356 -0.167028 +vn 0.253365 -0.616382 0.745537 +vn 0.207068 -0.407483 0.889401 +vn -0.845576 -0.500778 0.184881 +vn -0.271737 0.953734 0.128422 +vn -0.316080 0.930815 0.183325 +vn 0.266213 0.962798 0.046052 +vn 0.332896 0.942564 0.026978 +vn 0.315073 0.948332 0.036561 +vn 0.349345 0.936857 0.014313 +vn 0.341838 0.935606 -0.087954 +vn 0.317057 0.946104 -0.065523 +vn 0.396649 0.914762 -0.076296 +vn 0.368969 0.928343 -0.044740 +vn -0.356456 0.602649 0.713920 +vn -0.392621 0.572619 0.719657 +vn -0.443312 0.500687 0.743461 +vn -0.985870 0.034120 -0.163854 +vn -0.665822 0.270486 0.695334 +vn -0.489883 -0.452986 0.744804 +vn -0.555193 -0.429456 0.712241 +vn -0.585742 -0.450575 0.673666 +vn -0.409680 0.044740 0.911100 +vn -0.217414 -0.209723 0.953276 +vn -0.023286 -0.092288 0.995453 +vn 0.274453 0.354076 0.894009 +vn 0.374004 0.433790 0.819697 +vn 0.085116 0.237526 0.967620 +vn -0.116916 0.197302 0.973327 +vn -0.220008 0.320536 0.921323 +vn -0.211005 0.427351 0.879086 +vn -0.144871 0.490341 0.859371 +vn -0.152196 0.508255 0.847621 +vn -0.139500 0.507157 0.850459 +vn -0.147374 0.547899 0.823420 +vn -0.170141 0.596454 0.784387 +vn -0.184027 0.620258 0.762474 +vn -0.156224 0.599658 0.784845 +vn -0.088992 0.611316 0.786340 +vn -0.034394 0.672506 0.739250 +vn 0.944792 0.019745 0.326975 +vn 0.771142 0.395032 0.499222 +vn 0.857112 0.242866 0.454268 +vn -0.140568 0.688925 0.711051 +vn -0.228462 0.642323 0.731559 +vn -0.472274 0.729698 -0.494400 +vn -0.486007 0.703604 -0.518357 +vn 0.914640 0.054170 -0.400555 +vn 0.927885 0.050630 -0.369396 +vn 0.939024 -0.101230 -0.328562 +vn 0.920530 -0.083926 -0.381481 +vn -0.179724 0.283181 -0.942045 +vn 0.926572 0.326823 -0.185949 +vn 0.956328 0.233863 -0.175207 +vn 0.954161 0.243995 -0.173162 +vn 0.905789 0.335734 0.258400 +vn 0.850948 0.469069 0.236183 +vn 0.984191 -0.163152 0.068453 +vn -0.863033 0.434523 0.257546 +vn 0.639515 -0.765007 -0.075838 +vn 0.628376 -0.776116 -0.052644 +vn -0.275063 -0.599414 -0.751671 +vn -0.351360 -0.512864 -0.783227 +vn -0.261116 -0.629139 -0.732078 +vn 0.168584 0.178014 0.969451 +vn 0.211737 0.262001 0.941527 +vn 0.299570 0.445357 0.843715 +vn 0.241890 0.466872 0.850581 +vn 0.139286 0.053285 0.988800 +vn 0.161229 -0.017640 0.986755 +vn 0.199103 -0.011048 0.979888 +vn -0.101444 0.640065 0.761559 +vn 0.341563 0.507370 0.791101 +vn -0.277444 0.867733 0.412336 +vn -0.410169 0.803735 0.430952 +vn 0.575274 0.002564 -0.817927 +vn 0.652425 -0.023499 -0.757469 +vn 0.523728 -0.093600 -0.846706 +vn 0.971099 -0.130131 -0.200018 +vn 0.516098 -0.394452 -0.760247 +vn 0.538560 -0.356151 -0.763573 +vn 0.830866 0.480117 0.281259 +vn 0.909726 -0.367260 -0.193579 +vn 0.992279 0.000763 0.123844 +vn 0.998444 0.039796 0.038270 +vn 0.994079 0.041841 0.100101 +vn 0.061403 -0.696799 -0.714591 +vn -0.085665 -0.693564 -0.715232 +vn -0.039399 -0.739433 -0.672018 +vn 0.638966 -0.718436 -0.274850 +vn 0.767876 -0.585559 -0.259682 +vn -0.232704 0.411176 0.881344 +vn -0.191748 0.408795 0.892209 +vn -0.219031 0.443709 0.868954 +vn -0.272103 0.884487 0.378918 +vn -0.490097 0.783959 0.380963 +vn -0.428053 -0.879543 0.207617 +vn -0.150914 -0.944365 -0.292215 +vn 0.655812 0.726157 0.206305 +vn -0.227363 0.967925 -0.106815 +vn -0.617756 -0.050050 0.784753 +vn -0.616565 -0.087588 0.782403 +vn -0.592273 -0.096683 0.799890 +vn -0.567797 -0.134068 0.812159 +vn -0.543046 -0.136448 0.828516 +vn -0.540513 -0.210700 0.814478 +vn -0.536882 -0.232063 0.811090 +vn -0.519456 -0.236976 0.820948 +vn -0.572771 -0.291726 0.766015 +vn -0.645253 -0.273782 0.713187 +vn -0.699637 -0.268563 0.662069 +vn -0.738151 0.598804 0.310709 +vn -0.635853 0.688345 0.349010 +vn -0.553484 0.718131 0.421796 +vn -0.836634 -0.269692 0.476699 +vn -0.841334 -0.256386 0.475784 +vn -0.818720 -0.273507 0.504807 +vn -0.743797 -0.341136 0.574786 +vn 0.255165 0.963347 0.082492 +vn 0.201392 0.978027 0.053468 +vn 0.219642 0.971404 0.089969 +vn -0.854457 -0.038423 -0.518082 +vn -0.837733 -0.008759 -0.545946 +vn 0.150822 0.896176 0.417249 +vn 0.084841 0.954161 0.286935 +vn 0.107150 0.940123 0.323527 +vn 0.106204 0.935270 0.337535 +vn 0.094974 0.945433 0.311624 +vn 0.279763 0.959777 0.022279 +vn 0.269875 0.962584 0.023774 +vn -0.976165 0.170751 -0.133915 +vn -0.982208 0.087863 -0.165868 +vn -0.885861 0.463271 -0.024354 +vn 0.389996 0.842036 0.372631 +vn 0.257698 0.872829 0.414411 +vn 0.023927 0.825404 0.563982 +vn -0.007233 0.825465 0.564379 +vn 0.011750 0.843532 0.536912 +vn -0.012391 0.851833 0.523637 +vn 0.327494 0.944762 0.012329 +vn 0.332316 0.942808 -0.025361 +vn 0.353252 0.935484 -0.005341 +vn -0.940306 0.318064 -0.121006 +vn -0.365368 0.905850 0.214240 +vn 0.027802 -0.883053 -0.468398 +vn 0.627094 0.767449 0.133244 +vn -0.597705 0.264779 0.756676 +vn -0.248817 0.007721 0.968505 +vn 0.242500 0.083651 0.966521 +vn 0.411634 0.456191 0.788903 +vn 0.143223 0.235176 0.961333 +vn -0.246345 0.005310 0.969146 +vn -0.331187 0.152776 0.931089 +vn -0.265755 0.309275 0.913053 +vn -0.194861 0.465346 0.863399 +vn -0.151250 0.499435 0.853023 +vn -0.202643 0.472243 0.857845 +vn -0.277779 0.489944 0.826289 +vn -0.270577 0.542344 0.795343 +vn -0.216498 0.590045 0.777764 +vn -0.187475 0.625690 0.757195 +vn -0.143986 0.624622 0.767510 +vn -0.088168 0.636494 0.766198 +vn -0.008759 0.683309 0.730033 +vn -0.062197 0.657582 0.750786 +vn -0.267586 0.599597 0.754234 +vn 0.704062 -0.179937 -0.686911 +vn 0.706931 0.006134 -0.707205 +vn 0.742759 -0.185217 -0.643391 +vn 0.910581 0.142674 -0.387860 +vn 0.917447 0.153539 -0.367016 +vn 0.807001 -0.267342 -0.526536 +vn 0.956999 0.195105 -0.214515 +vn 0.969878 0.187078 -0.155919 +vn 0.942351 -0.328898 -0.061434 +vn -0.202429 0.706290 -0.678335 +vn -0.243660 0.667592 -0.703482 +vn -0.171606 0.633686 -0.754295 +vn -0.026246 0.454207 -0.890500 +vn 0.043886 0.385327 -0.921720 +vn 0.036622 0.301065 -0.952879 +vn -0.174078 0.743614 -0.645527 +vn -0.297342 0.688375 -0.661550 +vn -0.054628 0.475692 -0.877895 +vn -0.011933 0.522843 -0.852321 +vn -0.084384 0.590960 -0.802240 +vn 0.138340 0.071657 0.987762 +vn 0.148961 0.168706 -0.974334 +vn 0.217475 0.114566 -0.969298 +vn 0.210608 0.277902 0.937223 +vn 0.130741 0.276101 0.952178 +vn 0.240089 0.252571 0.937284 +vn 0.222968 0.446303 0.866634 +vn 0.167333 0.524918 0.834498 +vn 0.430067 -0.297617 0.852290 +vn 0.031800 0.534104 -0.844813 +vn 0.055055 0.529923 -0.846248 +vn 0.017792 0.578967 -0.815119 +vn 0.972655 -0.222266 -0.067019 +vn 0.585253 0.499680 0.638539 +vn 0.728843 0.433637 0.529801 +vn 0.646718 0.452315 0.614093 +vn 0.470382 -0.151006 0.869411 +vn 0.184881 0.703726 0.685934 +vn -0.432783 0.539079 0.722526 +vn -0.434828 0.638630 0.634846 +vn -0.300821 0.392224 0.869259 +vn -0.302957 0.573321 0.761223 +vn -0.318857 0.784875 0.531266 +vn -0.248604 -0.475051 -0.844081 +vn -0.191229 -0.529130 -0.826685 +vn -0.151769 -0.539109 -0.828425 +vn -0.389477 0.809992 0.438368 +vn -0.194128 0.936064 0.293405 +vn 0.587298 0.768029 0.255226 +vn 0.611194 0.755852 0.234718 +vn -0.225959 0.970336 -0.085788 +vn 0.220801 0.975219 -0.013520 +vn 0.233955 0.971770 0.029725 +vn -0.729179 -0.062960 0.681387 +vn -0.769036 -0.097446 0.631703 +vn 0.393536 -0.908841 0.138188 +vn 0.327006 -0.944945 -0.010346 +vn 0.455947 -0.882778 0.113071 +vn -0.776940 -0.091952 0.622791 +vn -0.807733 -0.078829 0.584185 +vn 0.363231 -0.905148 -0.220832 +vn 0.285928 -0.934111 -0.213569 +vn 0.025513 -0.974120 -0.224555 +vn -0.766381 -0.243324 0.594470 +vn -0.841151 -0.245918 0.481613 +vn -0.017975 0.999481 -0.026551 +vn 0.207495 0.833766 0.511612 +vn 0.216559 0.788812 0.575182 +vn 0.290231 0.778924 0.555864 +vn 0.856746 -0.474197 -0.202704 +vn 0.894009 -0.411389 -0.177404 +vn 0.940336 -0.316568 -0.124607 +vn 0.039888 0.844691 0.533738 +vn 0.072695 0.838740 0.539628 +vn 0.064760 0.845058 0.530717 +vn 0.063295 0.846736 0.528184 +vn -0.005768 0.792261 0.610126 +vn 0.035554 0.774071 0.632069 +vn 0.174749 0.979522 0.099826 +vn 0.176305 0.973388 0.146245 +vn 0.130131 0.981658 0.139286 +vn -0.971282 -0.096683 0.217261 +vn -0.993378 -0.057558 0.099216 +vn -0.970122 -0.206519 0.127049 +vn -0.818903 -0.074404 -0.569048 +vn -0.884274 -0.048402 -0.464431 +vn -0.848384 0.034303 -0.528214 +vn -0.586505 0.653279 -0.478744 +vn -0.706290 0.573382 -0.415143 +vn 0.076510 0.901761 0.425367 +vn 0.019990 0.909543 0.415113 +vn 0.345225 0.937132 0.050935 +vn 0.303018 0.951903 0.044923 +vn -0.780145 -0.606128 0.154759 +vn -0.883816 -0.450697 0.125309 +vn -0.968688 0.172216 0.178777 +vn 0.564898 0.820856 0.083865 +vn 0.514603 0.856777 -0.032777 +vn -0.086795 0.992615 -0.084445 +vn 0.012024 0.736076 0.676748 +vn 0.010376 0.756890 0.653432 +vn 0.018128 0.846095 0.532670 +vn 0.019593 0.825129 0.564592 +vn 0.028230 0.843715 0.536027 +vn 0.346446 0.937956 0.014008 +vn 0.358989 0.932829 0.030152 +vn -0.605762 0.654469 -0.452437 +vn -0.601428 0.708029 -0.370006 +vn -0.502670 0.788232 -0.354930 +vn 0.672933 -0.060854 0.737144 +vn 0.670247 -0.112094 0.733604 +vn 0.662130 0.715812 0.221747 +vn 0.589587 0.756890 0.281838 +vn 0.621326 0.743431 0.247414 +vn 0.936155 -0.025422 0.350627 +vn 0.941008 -0.036622 0.336344 +vn 0.935759 -0.069002 0.345775 +vn 0.535234 0.735984 0.414502 +vn 0.301523 0.945799 0.120334 +vn 0.351482 0.933897 0.065523 +vn 0.162114 0.362560 0.917722 +vn -0.400464 0.399518 0.824610 +vn 0.136418 0.359783 0.923002 +vn -0.242653 -0.073305 0.967315 +vn -0.381054 -0.060030 0.922575 +vn -0.319132 0.188116 0.928831 +vn -0.208625 0.369030 0.905667 +vn -0.218604 0.453200 0.864162 +vn -0.305826 0.487777 0.817621 +vn -0.286355 0.436933 0.852657 +vn -0.306131 0.443800 0.842189 +vn -0.354198 0.527116 0.772423 +vn -0.337138 0.591113 0.732719 +vn -0.285653 0.631886 0.720481 +vn -0.224616 0.645955 0.729545 +vn -0.132420 0.664357 0.735557 +vn -0.080996 0.671682 0.736381 +vn -0.189154 0.602680 0.775231 +vn -0.041993 -0.636677 -0.769951 +vn 0.085086 -0.711264 -0.697714 +vn -0.842982 0.407147 -0.351482 +vn -0.857814 0.358715 -0.367962 +vn -0.209540 -0.932554 -0.293893 +vn -0.249245 -0.943419 -0.218604 +vn 0.546953 -0.350444 0.760247 +vn 0.097385 0.577929 -0.810236 +vn 0.036775 0.476669 -0.878292 +vn 0.194067 0.238746 -0.951476 +vn -0.036683 0.517624 -0.854793 +vn -0.022767 0.485000 0.874203 +vn -0.049501 0.522752 0.851009 +vn 0.247780 0.360973 0.899045 +vn -0.248604 0.524125 -0.814508 +vn -0.300699 0.535539 -0.789117 +vn -0.316507 0.567553 -0.760033 +vn -0.422498 -0.021729 -0.906064 +vn -0.476241 0.086642 -0.874996 +vn -0.376812 -0.063906 -0.924070 +vn 0.788354 -0.539171 -0.296213 +vn -0.207282 0.872097 0.443220 +vn -0.357982 0.911039 0.204443 +vn 0.375500 0.533006 0.758202 +vn 0.257027 0.957030 -0.134098 +vn 0.162725 0.979095 -0.121769 +vn 0.171667 0.957518 -0.231666 +vn -0.431288 0.609516 0.665151 +vn -0.458785 0.555712 0.693289 +vn -0.358745 0.459639 0.812372 +vn -0.447615 0.466567 0.762841 +vn -0.504257 0.578143 0.641438 +vn -0.323191 0.564562 0.759453 +vn -0.213691 0.802271 0.557360 +vn -0.122013 0.913480 0.388104 +vn -0.102634 0.927976 0.358135 +vn 0.564898 0.272134 0.778954 +vn 0.436506 0.500565 0.747551 +vn -0.246406 0.359142 0.900143 +vn -0.349559 0.518693 0.780206 +vn 0.209357 0.977020 0.039613 +vn -0.268624 -0.304575 -0.913816 +vn -0.490249 -0.350658 -0.797906 +vn -0.414197 -0.403333 -0.815912 +vn 0.747459 0.089969 -0.658162 +vn 0.740440 0.082064 -0.667074 +vn 0.724204 0.079287 -0.684988 +vn -0.963408 -0.003204 -0.267922 +vn -0.074862 -0.382946 -0.920713 +vn -0.265206 -0.413404 -0.871059 +vn -0.811609 0.578021 0.084567 +vn -0.597766 0.795923 0.095584 +vn -0.830042 0.556597 0.033967 +vn -0.213569 -0.271187 -0.938505 +vn -0.219550 -0.304849 -0.926725 +vn 0.001343 0.764946 0.644063 +vn 0.000610 0.914518 0.404492 +vn -0.005585 0.871670 0.490036 +vn 0.028291 0.828913 0.558611 +vn 0.080844 0.968352 0.236030 +vn 0.135716 0.973113 0.186010 +vn 0.115360 0.969787 0.214942 +vn -0.246376 0.803461 0.541917 +vn -0.840907 -0.536271 -0.072176 +vn -0.938810 -0.100314 -0.329478 +vn -0.606067 -0.783837 0.135044 +vn -0.858516 -0.458693 0.229072 +vn -0.820521 -0.473983 0.319437 +vn -0.221778 0.973296 -0.058809 +vn -0.234504 0.971587 -0.030946 +vn -0.248268 0.720267 0.647725 +vn -0.000855 0.858150 0.513352 +vn -0.007294 0.821558 0.570025 +vn 0.088900 0.960295 0.264382 +vn 0.139775 0.970489 0.196417 +vn -0.629658 0.307566 -0.713370 +vn -0.653859 0.326334 -0.682577 +vn -0.678030 0.312601 -0.665212 +vn -0.961455 0.118320 -0.248146 +vn -0.939756 0.122868 -0.318979 +vn 0.829524 0.527512 0.183294 +vn 0.901608 0.407971 0.143559 +vn 0.291787 0.955840 -0.034425 +vn 0.283334 0.956938 -0.062838 +vn -0.548357 0.832301 -0.080844 +vn -0.798700 -0.599658 -0.049379 +vn -0.905667 -0.419233 0.062929 +vn 0.405805 0.844813 0.348674 +vn -0.039857 0.751732 0.658223 +vn -0.071627 0.774804 0.628101 +vn -0.025513 0.808191 0.588305 +vn 0.050356 0.836299 0.545915 +vn 0.361309 0.931028 0.051302 +vn -0.909085 0.259072 -0.326212 +vn -0.916379 0.220099 -0.334330 +vn 0.550218 0.785760 0.282479 +vn -0.083529 0.996155 0.025849 +vn -0.133427 0.990204 0.040376 +vn -0.122898 0.990204 0.066164 +vn 0.176061 0.968566 0.175604 +vn 0.144475 0.967742 0.206336 +vn 0.193976 0.956298 0.218726 +vn 0.282693 0.944823 0.165349 +vn 0.305094 0.933317 0.189184 +vn -0.486557 0.551195 0.677755 +vn -0.710044 0.470016 0.524308 +vn 0.383435 0.922880 0.035218 +vn -0.514206 0.214484 0.830378 +vn -0.312143 -0.015442 0.949889 +vn -0.205695 0.250832 0.945891 +vn -0.204260 0.373669 0.904752 +vn -0.269082 0.395611 0.878079 +vn -0.329051 0.444227 0.833277 +vn -0.348247 0.468978 0.811609 +vn -0.281381 0.441572 0.851924 +vn -0.285195 0.488540 0.824580 +vn -0.377026 0.570269 0.729789 +vn -0.406018 0.609302 0.681082 +vn -0.391949 0.643300 0.657643 +vn -0.321055 0.653432 0.685476 +vn -0.358837 0.616565 0.700736 +vn -0.399426 0.546678 0.735893 +vn -0.358745 0.576800 0.733879 +vn 0.736351 -0.024018 -0.676138 +vn 0.714408 -0.110813 0.690848 +vn 0.573016 0.278298 0.770806 +vn 0.934904 0.194098 -0.297067 +vn 0.925230 0.202216 -0.320933 +vn 0.912625 0.260720 -0.314798 +vn 0.911496 0.263619 -0.315653 +vn 0.841456 0.430189 -0.326914 +vn 0.852473 0.424421 -0.305094 +vn -0.966338 -0.238746 0.095767 +vn 0.381542 0.189734 0.904660 +vn 0.980193 -0.163549 0.111606 +vn 0.869442 0.417585 0.263955 +vn 0.852626 0.445021 0.273751 +vn 0.831233 0.477371 0.284799 +vn 0.618976 -0.703726 0.348674 +vn 0.629597 -0.726341 0.275643 +vn 0.944487 0.310709 -0.106540 +vn 0.993011 0.096194 0.067904 +vn 0.992279 0.097598 0.076266 +vn 0.993347 0.094607 0.065584 +vn 0.708335 -0.030976 0.705161 +vn 0.090213 0.711325 0.697043 +vn 0.419263 0.121494 0.899686 +vn 0.023560 0.679067 0.733665 +vn -0.154576 0.892636 0.423383 +vn -0.433363 0.838191 0.331034 +vn -0.516129 0.834529 0.192755 +vn -0.471450 0.832789 0.290109 +vn -0.400708 0.534501 0.744102 +vn -0.454756 0.550981 0.699698 +vn -0.297464 0.637440 0.710746 +vn -0.114109 0.818232 0.563433 +vn -0.067385 0.927946 0.366497 +vn -0.105045 0.869228 0.483047 +vn -0.567217 0.563036 0.601001 +vn -0.701315 0.338847 0.627125 +vn -0.818903 -0.069643 0.569659 +vn -0.796503 0.041688 0.603168 +vn -0.214667 0.970702 -0.107700 +vn 0.217292 0.970306 0.106204 +vn 0.181219 0.978912 0.094211 +vn 0.167974 0.983917 0.060274 +vn 0.249916 0.964171 -0.088778 +vn -0.867824 -0.495895 0.030335 +vn -0.137944 -0.370006 -0.918699 +vn 0.077364 0.955412 0.284890 +vn -0.781945 -0.615864 0.096042 +vn 0.054292 0.945097 0.322214 +vn 0.414899 0.517106 -0.748619 +vn 0.478835 0.530717 -0.699271 +vn -0.826044 -0.560076 -0.062685 +vn -0.903592 0.062014 -0.423811 +vn -0.899258 0.138310 -0.414930 +vn -0.899808 0.152898 -0.408551 +vn -0.902707 0.118412 -0.413587 +vn -0.880947 0.098270 -0.462844 +vn 0.120823 0.972442 0.199286 +vn -0.997131 0.063387 0.040620 +vn -0.999237 -0.036103 -0.012787 +vn 0.311777 0.946348 -0.084811 +vn -0.872677 0.385998 -0.298929 +vn -0.096072 0.122806 -0.987762 +vn 0.470077 0.800104 0.372600 +vn 0.100558 0.888546 0.447584 +vn 0.261544 0.945189 0.195410 +vn 0.184332 0.966643 0.177709 +vn 0.222053 0.943327 0.246529 +vn -0.684713 -0.690603 0.232765 +vn -0.828547 -0.246040 0.502914 +vn -0.835292 -0.279366 0.473495 +vn -0.214240 -0.320475 -0.922697 +vn -0.107334 -0.429121 -0.896817 +vn 0.239082 0.967742 -0.079379 +vn 0.279977 0.958159 -0.059175 +vn 0.303537 0.931425 0.200629 +vn 0.410016 0.904752 -0.115055 +vn 0.382458 0.923704 0.020661 +vn -0.837275 -0.504715 -0.210181 +vn -0.292184 0.534440 0.793085 +vn 0.653066 0.235755 -0.719626 +vn 0.733512 0.152287 -0.662374 +vn -0.112369 0.271126 0.955931 +vn -0.187078 0.057619 0.980651 +vn -0.178777 0.348125 0.920225 +vn -0.193945 0.382427 0.903378 +vn -0.189367 0.430708 0.882382 +vn -0.240394 0.472030 0.848140 +vn -0.265877 0.483840 0.833766 +vn -0.214576 0.471145 0.855525 +vn -0.280801 0.518235 0.807794 +vn -0.396863 0.574297 0.715995 +vn -0.456832 0.624378 0.633564 +vn -0.448164 0.615955 0.647847 +vn -0.505631 0.564440 0.652455 +vn -0.505936 0.535661 0.676046 +vn -0.422315 0.598651 0.680593 +vn -0.324534 0.712088 0.622547 +vn 0.743065 -0.604022 -0.288064 +vn 0.811274 -0.564898 -0.150609 +vn 0.882107 -0.467452 -0.057863 +vn -0.999115 -0.041383 0.001556 +vn -0.996673 0.081362 -0.003143 +vn -0.949309 0.154057 -0.273873 +vn -0.950713 0.116886 -0.287118 +vn 0.887387 0.132450 0.441572 +vn 0.923093 0.131718 0.361217 +vn 0.884335 0.193670 0.424726 +vn 0.073031 0.152409 0.985595 +vn 0.170629 0.631306 0.756493 +vn 0.188849 0.520096 0.832942 +vn 0.199866 0.608539 0.767907 +vn -0.969298 0.063540 -0.237495 +vn -0.959197 0.070559 -0.273721 +vn 0.929624 0.368023 -0.017457 +vn 0.173284 0.694815 0.697958 +vn 0.950682 0.183660 -0.249886 +vn 0.462050 -0.859127 -0.219947 +vn 0.763237 -0.281716 0.581408 +vn -0.157781 -0.204871 -0.965972 +vn -0.301248 -0.222388 -0.927213 +vn -0.210150 -0.393658 -0.894894 +vn -0.148656 0.461165 0.874752 +vn -0.220710 0.424329 0.878170 +vn -0.243110 0.603809 0.759117 +vn -0.156682 0.724876 0.670797 +vn 0.005188 0.854427 0.519486 +vn 0.019532 0.919675 0.392132 +vn -0.316172 0.775384 0.546617 +vn 0.183203 0.409955 0.893490 +vn -0.047517 0.484512 0.873470 +vn -0.082095 0.460799 0.883663 +vn 0.113346 0.956023 0.270486 +vn 0.070925 0.961730 0.264565 +vn 0.088229 0.943175 0.320292 +vn 0.246681 0.866329 0.434217 +vn 0.134556 0.985626 0.102084 +vn 0.271767 0.657186 0.702994 +vn 0.290170 0.680807 0.672475 +vn 0.250984 0.965636 -0.067232 +vn 0.250038 0.667989 0.700888 +vn 0.223212 0.575793 0.786493 +vn -0.878170 -0.474502 0.060244 +vn 0.886319 0.431776 0.167302 +vn 0.889889 0.412946 0.193732 +vn 0.001831 0.731284 0.682028 +vn 0.456038 0.773339 0.440382 +vn 0.417463 0.808710 0.414319 +vn 0.508988 0.751122 0.420331 +vn 0.248238 0.968688 0.002838 +vn 0.261757 0.962310 -0.073336 +vn 0.895596 -0.435530 -0.090548 +vn -0.026368 0.998505 -0.047823 +vn -0.051943 0.998474 -0.017243 +vn -0.020753 0.999603 -0.018494 +vn -0.977722 0.020692 -0.208747 +vn -0.956389 0.022126 -0.291177 +vn 0.455550 -0.876003 -0.158269 +vn 0.512925 -0.783227 -0.351329 +vn 0.628925 -0.743736 -0.226386 +vn -0.953490 -0.120701 0.276162 +vn 0.095401 0.968963 0.227943 +vn -0.155828 0.981201 -0.113804 +vn -0.201147 0.975158 -0.092441 +vn 0.347453 0.856716 -0.381146 +vn 0.327677 0.877468 -0.350230 +vn 0.352580 0.852077 -0.386792 +vn 0.322611 -0.878231 -0.352977 +vn 0.289834 0.954650 -0.067904 +vn -0.850459 -0.493027 -0.183294 +vn -0.897061 -0.376202 -0.231727 +vn 0.923734 0.056185 0.378826 +vn -0.910245 0.340251 -0.235817 +vn 0.063173 -0.663381 -0.745567 +vn 0.104312 -0.697073 -0.709342 +vn 0.518143 0.778802 0.353465 +vn -0.073489 0.997040 0.021332 +vn -0.091220 0.995483 0.025452 +vn 0.135746 0.967895 0.211493 +vn 0.164159 0.953795 0.251534 +vn 0.207160 0.937803 0.278573 +vn 0.217139 0.964263 0.151708 +vn -0.798090 0.488571 -0.352550 +vn -0.093417 0.995270 0.025666 +vn 0.412427 0.756432 0.507614 +vn 0.453566 0.725425 0.517685 +vn 0.862300 0.424024 0.276772 +vn -0.992889 0.107761 0.050050 +vn 0.264840 0.932920 0.243843 +vn 0.356548 0.933256 0.042940 +vn -0.937315 0.264931 -0.226295 +vn -0.939482 -0.232246 -0.251808 +vn 0.330973 0.806360 0.490097 +vn 0.249794 0.845241 0.472365 +vn 0.738823 0.478317 0.474685 +vn 0.354198 -0.888974 -0.290262 +vn 0.407788 -0.841304 -0.354747 +vn 0.408734 -0.863979 -0.293954 +vn -0.026551 0.142247 0.989471 +vn -0.022340 0.252510 0.967315 +vn -0.119572 0.319407 0.940031 +vn -0.137730 0.382672 0.913541 +vn -0.152562 0.428022 0.890774 +vn -0.165929 0.444136 0.880428 +vn -0.208808 0.478317 0.852962 +vn -0.225105 0.484512 0.845302 +vn -0.229682 0.479263 0.847072 +vn -0.303842 0.525925 0.794397 +vn -0.400220 0.600146 0.692526 +vn -0.464125 0.615040 0.637379 +vn -0.483840 0.562944 0.670034 +vn -0.476424 0.558794 0.678762 +vn -0.428541 0.630757 0.646870 +vn -0.345714 0.708548 0.615131 +vn 0.692373 -0.674337 0.256630 +vn 0.644978 -0.726249 0.237678 +vn 0.651265 -0.685415 0.325571 +vn -0.339000 0.793420 0.505478 +vn -0.237251 -0.713645 -0.659078 +vn -0.179601 -0.781396 -0.597583 +vn 0.686087 0.189581 -0.702353 +vn 0.040956 0.890622 0.452834 +vn 0.008484 0.891781 0.452315 +vn 0.857967 0.468459 0.210730 +vn 0.515549 -0.528764 0.674215 +vn 0.517258 -0.663961 0.539964 +vn 0.512650 -0.394726 0.762444 +vn -0.649922 -0.436201 0.622333 +vn -0.651692 -0.568163 0.502426 +vn -0.609272 -0.506333 0.610187 +vn 0.591266 -0.426710 0.684286 +vn 0.542650 0.087008 0.835414 +vn 0.216987 -0.075045 0.973266 +vn 0.990448 0.020234 -0.136357 +vn 0.366741 0.262795 0.892392 +vn 0.159001 0.321909 -0.933317 +vn 0.175146 0.322123 -0.930326 +vn -0.003662 0.566027 -0.824366 +vn 0.188391 -0.921293 -0.340098 +vn 0.318644 -0.939543 -0.125340 +vn -0.222419 0.259072 -0.939879 +vn -0.232429 0.331248 -0.914457 +vn -0.303232 0.397748 -0.865902 +vn -0.028291 0.544115 0.838527 +vn 0.085208 0.288247 0.953734 +vn 0.018891 0.425184 0.904904 +vn -0.148198 0.334056 0.930815 +vn -0.055116 0.363445 0.929960 +vn -0.028504 0.602588 0.797510 +vn 0.022340 0.766320 0.642018 +vn 0.075198 0.871242 0.485000 +vn 0.031404 0.894253 0.446425 +vn -0.446913 0.627827 0.637226 +vn -0.752922 0.107303 0.649251 +vn -0.804346 -0.143864 0.576403 +vn -0.762352 -0.187506 0.619373 +vn -0.805139 -0.056673 0.590320 +vn -0.807092 -0.070803 0.586108 +vn 0.495041 0.711783 0.498245 +vn -0.974395 0.014985 -0.224250 +vn 0.116855 0.984283 0.132267 +vn -0.051057 0.998444 -0.021546 +vn 0.258797 0.961913 -0.087741 +vn -0.992981 0.088504 -0.078188 +vn -0.995636 0.038484 -0.084964 +vn -0.989471 -0.021332 -0.142949 +vn -0.598468 0.799982 0.042726 +vn -0.996002 -0.030702 -0.083560 +vn 0.991302 0.116520 0.060701 +vn -0.237648 0.474258 -0.847652 +vn -0.445418 0.687429 -0.573595 +vn -0.365032 0.368175 -0.855068 +vn -0.987884 0.110813 -0.108493 +vn -0.924497 0.355693 0.136967 +vn -0.754326 0.581591 0.304453 +vn 0.273049 0.961028 -0.042634 +vn 0.262093 0.962798 -0.065310 +vn 0.228462 0.973388 0.016724 +vn 0.259102 0.964873 0.042940 +vn 0.643666 0.764733 0.028565 +vn 0.976623 -0.211249 -0.039186 +vn 0.839473 0.507065 0.195196 +vn 0.808222 0.533464 0.249306 +vn 0.781732 0.590655 0.199927 +vn -0.624561 0.292734 -0.724021 +vn 0.094821 -0.709006 -0.698752 +vn 0.121555 -0.755150 -0.644124 +vn -0.872921 0.459700 0.163213 +vn -0.932676 0.353679 0.070681 +vn -0.953124 0.301523 -0.023804 +vn 0.947417 0.252815 -0.196112 +vn 0.927061 0.254189 -0.275460 +vn 0.891934 0.404584 -0.201819 +vn -0.209815 0.935911 0.282876 +vn -0.248207 0.910825 0.329783 +vn -0.246925 0.914640 0.320048 +vn -0.246467 0.923124 0.295022 +vn -0.307688 0.904324 0.295755 +vn -0.313883 0.893063 0.322275 +vn 0.397961 0.911740 -0.101596 +vn -0.540910 0.840877 0.016968 +vn -0.811212 0.573351 0.114597 +vn -0.989166 -0.037111 -0.141820 +vn 0.741111 0.099948 -0.663839 +vn 0.435865 0.438551 0.785913 +vn 0.239998 0.929838 0.278817 +vn 0.356578 0.933744 0.030488 +vn -0.389294 -0.046968 -0.919889 +vn -0.818781 -0.071932 0.569536 +vn -0.726188 -0.522080 0.447218 +vn 0.034028 0.961791 0.271584 +vn -0.126072 0.949156 0.288400 +vn -0.083102 0.953551 0.289438 +vn 0.839747 0.533708 0.099704 +vn 0.584002 0.480789 0.654012 +vn 0.107822 0.202124 0.973388 +vn -0.004791 0.182012 0.983276 +vn -0.099399 -0.423414 -0.900449 +vn -0.075045 0.268075 0.960448 +vn -0.066103 0.383587 0.921110 +vn -0.081576 0.407544 0.909513 +vn -0.151982 0.435530 0.887234 +vn -0.181402 0.458785 0.869808 +vn -0.218451 0.476699 0.851466 +vn -0.230354 0.470962 0.851497 +vn -0.244270 0.490310 0.836604 +vn -0.292245 0.570208 0.767724 +vn -0.357555 0.620502 0.697928 +vn -0.410169 0.590350 0.695120 +vn -0.410932 0.585681 0.698630 +vn -0.385449 0.647664 0.657186 +vn -0.357646 0.712882 0.603198 +vn -0.336436 0.774712 0.535325 +vn -0.331980 0.844050 0.421094 +vn 0.948302 0.170568 -0.267586 +vn -0.984771 0.030641 0.170965 +vn -0.997742 0.014466 0.065310 +vn 0.639424 0.218085 -0.737236 +vn 0.556719 -0.660237 0.504074 +vn 0.761681 0.507614 0.402661 +vn 0.842738 0.455550 -0.286752 +vn 0.811304 0.480972 -0.332286 +vn 0.839869 0.421705 -0.341624 +vn 0.460128 0.288675 0.839595 +vn -0.043733 -0.033082 0.998474 +vn 0.228889 0.426527 0.874996 +vn 0.802637 0.321757 -0.502213 +vn 0.823634 0.345775 -0.449446 +vn 0.496719 0.054720 0.866176 +vn 0.590899 -0.019684 0.806482 +vn 0.309854 -0.949004 0.057741 +vn 0.230201 -0.863765 -0.448164 +vn 0.177404 -0.836329 -0.518693 +vn 0.187902 0.816248 0.546251 +vn 0.071505 0.592761 0.802179 +vn 0.082980 0.784722 0.614215 +vn 0.075564 0.869198 0.488601 +vn -0.009095 0.839900 0.542650 +vn -0.556658 0.473281 0.682699 +vn -0.740776 -0.084872 0.666341 +vn -0.788232 -0.106052 0.606159 +vn 0.017853 0.999023 -0.039735 +vn 0.261147 0.959044 -0.109531 +vn -0.180609 0.968200 -0.173070 +vn -0.194372 0.959746 -0.202673 +vn -0.853206 0.367626 0.369945 +vn -0.890225 0.251595 0.379681 +vn -0.900296 0.303751 0.311655 +vn 0.273721 0.957335 -0.092441 +vn -0.498733 -0.500687 -0.707450 +vn -0.133457 0.990509 -0.032441 +vn -0.953887 0.298959 0.026704 +vn -0.047884 0.998779 -0.009217 +vn -0.155889 0.987640 0.014618 +vn 0.000183 0.999420 -0.033753 +vn 0.006439 -0.999847 -0.014740 +vn 0.001984 -0.999969 0.005310 +vn 0.038545 -0.999176 -0.011170 +vn 0.709738 0.675863 0.198553 +vn 0.170171 0.938383 0.300699 +vn 0.106296 0.927824 0.357524 +vn 0.402020 0.901425 -0.160558 +vn -0.933653 0.322489 -0.155644 +vn -0.904965 0.392560 -0.163945 +vn 0.359539 0.705100 0.611164 +vn 0.807154 0.499374 0.314768 +vn 0.014496 0.808832 0.587817 +vn 0.212531 0.930418 0.298532 +vn 0.390027 0.920591 0.018097 +vn -0.975555 0.199164 -0.092624 +vn 0.989776 -0.040376 0.136631 +vn 0.083895 0.306131 0.948271 +vn 0.135441 0.392529 0.909696 +vn 0.049715 0.356609 0.932920 +vn -0.044374 0.382977 0.922666 +vn -0.129734 0.431837 0.892544 +vn -0.184149 0.464827 0.865993 +vn -0.196417 0.469893 0.860561 +vn -0.202979 0.487075 0.849422 +vn -0.202551 0.551073 0.809473 +vn -0.253365 0.603504 0.756005 +vn -0.338572 0.588702 0.734001 +vn -0.374065 0.595691 0.710746 +vn -0.356426 0.646321 0.674673 +vn -0.370159 0.706290 0.603412 +vn 0.777490 -0.291421 -0.557237 +vn 0.632679 -0.049471 -0.772820 +vn 0.968657 0.060274 -0.240913 +vn 0.028077 -0.999573 -0.006378 +vn -0.073428 -0.995788 0.054445 +vn -0.001221 -0.999939 -0.009278 +vn 0.944517 -0.207465 -0.254524 +vn 0.917356 -0.143040 -0.371380 +vn 0.290933 0.169805 0.941527 +vn 0.336070 -0.110324 0.935331 +vn 0.283395 0.049623 0.957701 +vn -0.952849 -0.107120 -0.283883 +vn -0.965575 -0.127018 -0.226966 +vn -0.952788 -0.151799 -0.262856 +vn 0.168004 0.320750 0.932127 +vn 0.932066 -0.212378 -0.293405 +vn 0.067660 0.424024 0.903104 +vn 0.219153 0.355052 0.908780 +vn 0.191626 0.586383 0.787011 +vn 0.227760 0.825007 0.517136 +vn 0.137822 0.775292 0.616352 +vn 0.133305 0.866878 0.480300 +vn -0.039338 0.661489 0.748894 +vn -0.590350 0.262673 0.763176 +vn -0.721580 -0.212989 0.658711 +vn -0.760277 -0.142186 0.633808 +vn -0.742027 -0.206763 0.637654 +vn -0.741935 -0.161901 0.650594 +vn 0.143559 0.773553 0.617237 +vn 0.189886 0.698111 0.690298 +vn -0.713584 0.196509 0.672414 +vn -0.764275 0.096164 0.637654 +vn 0.295633 0.949309 -0.106723 +vn -0.966399 0.256447 -0.016602 +vn -0.941008 -0.325510 0.092135 +vn -0.082766 0.991577 0.099551 +vn -0.078280 0.980834 0.178320 +vn 0.318339 0.937864 -0.137913 +vn 0.762871 0.591876 0.260079 +vn -0.910398 0.308420 -0.275674 +vn -0.884426 0.328990 -0.330882 +vn -0.959624 0.181097 -0.215094 +vn 0.396313 0.896207 -0.199286 +vn 0.420270 0.887356 -0.189581 +vn 0.414808 0.865139 -0.281808 +vn 0.395459 0.860683 -0.320627 +vn -0.353526 0.912717 -0.204718 +vn -0.646687 -0.752190 -0.126377 +vn -0.568072 -0.817835 -0.091800 +vn -0.902737 0.394116 -0.172277 +vn 0.244545 0.935331 0.255531 +vn 0.151158 0.911832 0.381695 +vn 0.138981 0.871883 0.469527 +vn 0.063143 0.836940 0.543596 +vn -0.834803 0.469893 -0.286752 +vn 0.995972 -0.085086 0.027497 +vn 0.978576 -0.205725 0.004028 +vn 0.452254 -0.890683 -0.046266 +vn 0.603809 -0.742210 -0.290719 +vn 0.265236 0.352763 0.897305 +vn 0.129734 0.311411 0.941343 +vn -0.000885 0.300333 0.953825 +vn -0.039827 0.335002 0.941343 +vn -0.097018 0.396863 0.912717 +vn -0.125248 0.439680 0.889370 +vn -0.169408 0.459731 0.871731 +vn -0.201300 0.483566 0.851833 +vn -0.209021 0.537553 0.816889 +vn -0.256020 0.573412 0.778191 +vn -0.298013 0.559618 0.773278 +vn -0.336863 0.588031 0.735313 +vn -0.350780 0.638203 0.685263 +vn -0.369762 0.690786 0.621326 +vn -0.353740 0.764489 0.538865 +vn 0.243751 -0.567278 -0.786584 +vn -0.800592 0.030915 0.598376 +vn -0.746422 0.066347 0.662130 +vn -0.761864 -0.027558 0.647114 +vn -0.946165 0.306955 -0.102420 +vn -0.959166 0.260018 -0.111270 +vn 0.969817 -0.024781 -0.242470 +vn 0.938414 -0.204840 -0.278146 +vn 0.008850 0.502426 0.864559 +vn -0.486190 0.374340 -0.789605 +vn -0.491470 0.766228 0.413892 +vn -0.670705 0.672353 0.313150 +vn 0.822474 0.044954 -0.567003 +vn 0.709616 0.022797 -0.704184 +vn 0.946165 -0.126652 -0.297800 +vn 0.272347 0.400708 0.874783 +vn -0.043672 0.547014 0.835963 +vn 0.221503 -0.446028 0.867153 +vn 0.285531 0.560747 0.777154 +vn 0.209998 0.761193 0.613575 +vn 0.164922 0.852199 0.496475 +vn -0.152409 0.528214 0.835292 +vn -0.565935 -0.080782 0.820460 +vn -0.688162 -0.296731 0.662069 +vn -0.718528 -0.211768 0.662435 +vn -0.685965 -0.219764 0.693625 +vn -0.715232 -0.179266 0.675466 +vn -0.127323 -0.440321 -0.888730 +vn -0.114719 0.993347 0.008332 +vn -0.099216 0.994293 0.038423 +vn 0.873318 0.433912 0.221290 +vn 0.833338 0.475814 0.281259 +vn -0.363781 0.073244 -0.928587 +vn -0.343303 0.119083 -0.931608 +vn -0.220496 0.146458 -0.964293 +vn -0.961455 0.174078 -0.212683 +vn -0.981628 0.104282 -0.159734 +vn -0.268288 0.961303 0.062441 +vn -0.276894 0.957579 0.079745 +vn 0.265023 0.958678 0.103092 +vn 0.250740 0.958556 0.135228 +vn 0.273415 0.952178 0.136174 +vn 0.391675 -0.114963 -0.912870 +vn -0.361003 -0.390362 0.846889 +vn -0.295480 -0.406751 0.864406 +vn -0.346049 -0.406201 0.845698 +vn -0.352977 -0.337748 0.872524 +vn -0.387249 -0.296335 0.873043 +vn 0.209510 -0.866695 -0.452681 +vn -0.891140 -0.228919 0.391736 +vn -0.943480 -0.152257 0.294290 +vn -0.659536 -0.695303 0.285501 +vn -0.451277 -0.147893 0.880032 +vn -0.383312 -0.169958 0.907804 +vn -0.443373 0.143559 0.884762 +vn -0.473678 -0.009186 0.880612 +vn -0.347880 0.154454 0.924711 +vn 0.322703 0.496536 -0.805750 +vn 0.393750 0.432722 -0.810968 +vn 0.297037 0.503739 -0.811151 +vn -0.397473 0.246101 0.883969 +vn -0.356578 0.283547 0.890164 +vn -0.375317 0.010895 0.926817 +vn 0.283029 0.159490 0.945738 +vn 0.314798 0.317118 0.894589 +vn -0.034059 0.246132 0.968627 +vn -0.312845 0.342631 0.885830 +vn -0.335459 0.371014 0.865902 +vn -0.384289 0.349010 0.854671 +vn -0.410352 0.399670 0.819636 +vn 0.297067 0.952757 -0.063082 +vn 0.043336 0.838862 0.542589 +vn 0.034822 0.825556 0.563189 +vn 0.002533 0.999878 0.013611 +vn 0.018494 0.999481 -0.026307 +vn 0.998199 -0.037080 0.047029 +vn -0.203955 -0.504318 -0.839045 +vn -0.094333 -0.577837 -0.810663 +vn -0.383618 0.842799 0.377422 +vn -0.321970 0.876675 0.357402 +vn -0.326518 0.884945 0.331950 +vn -0.274392 0.892056 0.359050 +vn -0.332835 0.881588 0.334605 +vn -0.658315 -0.695212 0.288552 +vn 0.139378 0.248970 0.958403 +vn -0.050844 0.217780 0.974639 +vn -0.083041 0.270882 0.959014 +vn -0.102359 0.318827 0.942259 +vn -0.107974 0.370922 0.922330 +vn -0.143895 0.423750 0.894253 +vn -0.166417 0.442854 0.880978 +vn -0.168157 0.461257 0.871151 +vn -0.206793 0.512925 0.833125 +vn -0.253945 0.557787 0.790155 +vn -0.259529 0.558092 0.788110 +vn -0.248390 0.592181 0.766533 +vn -0.255196 0.627369 0.735679 +vn -0.321848 0.693869 0.644124 +vn 0.314066 0.162664 -0.935331 +vn -0.968230 0.222968 -0.113102 +vn -0.950133 -0.250832 -0.185095 +vn 0.932615 -0.082553 -0.351268 +vn -0.080325 0.609485 0.788690 +vn -0.315439 -0.223731 -0.922178 +vn 0.390820 0.210303 0.896084 +vn 0.382885 0.362407 0.849727 +vn 0.595630 0.352519 0.721732 +vn 0.284982 -0.265816 0.920927 +vn -0.401563 0.313028 0.860653 +vn -0.392560 0.387646 0.834010 +vn 0.342174 0.216742 0.914274 +vn 0.664571 0.120457 -0.737419 +vn 0.650441 0.275948 -0.707602 +vn 0.719016 0.089694 -0.689138 +vn 0.825282 -0.079287 0.559099 +vn 0.784570 0.027467 0.619373 +vn 0.032533 0.822413 0.567919 +vn 0.373730 0.820063 0.433302 +vn 0.064119 0.960570 0.270516 +vn 0.223121 0.965087 0.137120 +vn -0.405713 0.903348 -0.139073 +vn 0.152379 0.931516 0.330180 +vn 0.909116 -0.079287 -0.408918 +vn 0.000610 -0.999908 0.012299 +vn 0.041627 -0.998993 -0.015351 +vn 0.009949 -0.999939 0.001251 +vn 0.332865 0.548967 0.766656 +vn 0.275613 0.750267 0.600909 +vn 0.185064 0.803735 0.565416 +vn -0.224067 0.301584 0.926725 +vn -0.534837 -0.375164 0.757073 +vn -0.634144 -0.356731 0.685965 +vn -0.604968 -0.243843 0.757958 +vn -0.668111 -0.190527 0.719230 +vn -0.254097 0.966735 0.028809 +vn -0.350749 0.739402 0.574633 +vn -0.362133 0.783258 0.505295 +vn -0.442701 0.802301 0.400372 +vn -0.988861 -0.139927 -0.050142 +vn -0.997772 -0.031983 -0.058473 +vn -0.996185 -0.019654 -0.084872 +vn 0.704917 0.635395 -0.315165 +vn 0.666250 0.665029 -0.337291 +vn 0.529984 0.762627 -0.370769 +vn 0.303415 -0.864498 0.400678 +vn 0.288278 -0.932920 -0.215674 +vn 0.053438 -0.608844 -0.791467 +vn 0.099185 -0.698843 -0.708335 +vn -0.145634 0.987243 0.064058 +vn 0.854488 0.490188 0.171819 +vn 0.836177 0.523942 0.161962 +vn 0.845759 0.501144 0.182958 +vn 0.885891 0.444197 0.133580 +vn -0.975524 0.086734 -0.201941 +vn -0.959197 0.097354 -0.265358 +vn -0.384136 -0.265053 0.884396 +vn -0.278848 -0.341380 0.897580 +vn -0.259529 -0.423200 0.868038 +vn -0.257820 -0.344035 0.902860 +vn -0.221503 -0.155065 0.962737 +vn -0.203314 0.031739 0.978576 +vn -0.201483 0.165746 0.965361 +vn -0.206244 0.285348 0.935942 +vn -0.215033 0.352580 0.910733 +vn -0.268563 0.335643 0.902860 +vn -0.329020 0.320383 0.888272 +vn -0.368236 0.367077 0.854183 +vn -0.428022 0.413892 0.803400 +vn 0.096194 0.299264 0.949278 +vn -0.071688 0.134007 0.988372 +vn -0.356853 -0.475478 0.804071 +vn -0.373791 -0.482101 0.792352 +vn -0.384442 -0.463210 0.798486 +vn -0.115238 0.190008 0.974975 +vn -0.067385 0.259835 0.963286 +vn 0.014466 0.350291 0.936521 +vn 0.032991 0.350871 0.935820 +vn -0.070894 0.377453 0.923307 +vn -0.169622 0.437605 0.882992 +vn -0.161077 0.473434 0.865932 +vn -0.123234 0.500443 0.856929 +vn -0.159368 0.538224 0.827570 +vn -0.214606 0.573351 0.790674 +vn -0.173711 0.605914 0.776299 +vn -0.184057 0.604968 0.774651 +vn -0.276162 0.676565 0.682577 +vn -0.242042 0.781304 0.575243 +vn 0.670156 -0.072787 -0.738609 +vn 0.547227 -0.131840 -0.826502 +vn 0.598498 -0.027253 -0.800623 +vn 0.943358 0.187139 -0.273843 +vn 0.923856 0.192480 -0.330760 +vn 0.892453 -0.072939 -0.445174 +vn 0.243324 0.111698 0.963469 +vn 0.304270 0.076724 0.949461 +vn -0.833827 -0.505997 0.220557 +vn -0.860408 -0.439985 0.257088 +vn -0.853908 -0.485275 0.187933 +vn 0.301828 -0.224464 0.926542 +vn 0.221747 -0.213141 0.951506 +vn -0.567980 0.822840 0.016388 +vn -0.982910 -0.155339 -0.098697 +vn -0.989196 -0.050569 -0.137364 +vn 0.879788 -0.027833 -0.474502 +vn 0.934172 0.230842 -0.272042 +vn -0.236183 -0.317148 -0.918485 +vn 0.368755 0.552904 0.747185 +vn 0.279305 0.733360 0.619770 +vn 0.127506 0.688681 0.713736 +vn -0.320688 0.060030 0.945250 +vn -0.452315 -0.510727 0.731101 +vn -0.542100 -0.415967 0.730125 +vn -0.401837 -0.317820 0.858760 +vn -0.342601 -0.463088 0.817377 +vn -0.933256 0.344676 0.100955 +vn -0.952269 0.295663 0.075686 +vn -0.945372 0.324992 0.024293 +vn 0.678732 0.633229 0.371868 +vn -0.297739 0.945372 -0.132572 +vn 0.109378 0.985412 0.130192 +vn -0.355785 0.854549 -0.378307 +vn -0.297159 0.850093 0.434736 +vn -0.374004 0.806757 0.457381 +vn 0.033204 -0.311777 -0.949553 +vn 0.024903 0.998474 -0.048769 +vn -0.352489 -0.206030 0.912839 +vn -0.317698 -0.192083 0.928526 +vn 0.697531 -0.669759 -0.254646 +vn -0.258400 -0.212134 0.942442 +vn -0.208075 -0.327189 0.921751 +vn -0.151219 -0.405194 0.901608 +vn -0.032380 -0.314768 0.948607 +vn 0.015595 -0.110477 0.993744 +vn 0.095401 0.020508 0.995209 +vn 0.075716 0.171484 0.982269 +vn 0.037507 0.270150 0.962066 +vn -0.079562 0.302011 0.949950 +vn -0.212531 0.288858 0.933470 +vn -0.288003 0.274789 0.917325 +vn -0.439100 0.478072 0.760643 +vn -0.316294 0.478957 0.818842 +vn 0.993622 0.097171 0.057009 +vn -0.060274 0.211341 0.975524 +vn 0.132939 0.370617 0.919218 +vn 0.174535 0.351787 0.919645 +vn 0.014618 0.284127 0.958647 +vn -0.086581 0.303415 0.948882 +vn -0.160497 0.388012 0.907559 +vn -0.199866 0.486221 0.850642 +vn -0.145665 0.514542 0.844966 +vn -0.127689 0.520371 0.844325 +vn -0.134861 0.567736 0.812067 +vn -0.137486 0.595904 0.791162 +vn -0.263680 0.568468 0.779290 +vn -0.296121 0.640553 0.708487 +vn 0.053591 -0.955931 -0.288614 +vn -0.275979 0.872311 0.403546 +vn -0.285165 0.896298 0.339579 +vn 0.981780 -0.128727 0.139531 +vn 0.874935 0.026276 -0.483474 +vn 0.900937 0.024415 -0.433210 +vn 0.098910 0.153356 0.983184 +vn 0.087344 0.155309 0.983978 +vn 0.220313 -0.251015 0.942564 +vn 0.983764 0.103000 -0.146916 +vn 0.009033 -0.737785 -0.674947 +vn 0.218207 -0.073275 0.973144 +vn 0.080416 -0.057436 0.995086 +vn 0.412580 -0.417982 0.809320 +vn 0.316050 0.405683 0.857601 +vn 0.316691 0.560289 0.765343 +vn 0.119541 -0.856166 -0.502640 +vn 0.255806 0.718833 0.646382 +vn 0.125828 0.501816 0.855739 +vn -0.310617 -0.184576 0.932432 +vn -0.360424 -0.562639 0.743950 +vn -0.424116 -0.243446 0.872250 +vn -0.602649 -0.223487 0.766045 +vn -0.504898 -0.100955 0.857234 +vn 0.313181 -0.433729 -0.844844 +vn 0.139439 -0.608020 -0.781549 +vn 0.235572 0.617939 0.750053 +vn -0.442152 -0.241005 0.863918 +vn -0.481094 -0.274545 0.832545 +vn 0.061830 -0.494125 0.867153 +vn 0.018769 -0.203406 0.978881 +vn 0.012421 -0.585040 0.810877 +vn -0.355358 -0.243660 0.902402 +vn -0.304514 -0.211829 0.928648 +vn 0.005860 -0.656941 -0.753899 +vn -0.208411 -0.191321 0.959136 +vn -0.396466 -0.235176 0.887387 +vn 0.889096 -0.047853 0.455153 +vn 0.858974 0.009857 0.511887 +vn 0.870754 -0.048585 0.489303 +vn -0.134495 -0.184423 0.973571 +vn -0.193274 -0.194983 0.961547 +vn -0.239998 -0.203650 0.949156 +vn -0.204138 -0.299814 0.931883 +vn -0.027741 -0.300150 0.953459 +vn 0.161870 -0.257759 0.952544 +vn 0.238166 -0.062624 0.969176 +vn 0.312326 0.072604 0.947172 +vn 0.311747 0.107547 0.944029 +vn 0.161962 0.189886 0.968322 +vn -0.038087 0.175146 0.983795 +vn -0.180609 0.202612 0.962432 +vn -0.273019 0.235511 0.932707 +vn -0.283486 0.318033 0.904691 +vn -0.310831 0.665639 0.678426 +vn -0.165685 0.607685 0.776666 +vn 0.896481 -0.007508 -0.442976 +vn 0.902768 -0.169530 -0.395276 +vn -0.215003 0.465133 0.858699 +vn -0.029572 0.425062 0.904660 +vn 0.123386 0.348674 0.929044 +vn 0.044740 -0.981201 0.187567 +vn -0.054720 -0.834193 0.548723 +vn 0.102176 0.356670 0.928617 +vn -0.134892 0.239967 0.961333 +vn -0.242988 0.191504 0.950926 +vn -0.268532 0.279885 0.921690 +vn -0.248604 0.355968 0.900784 +vn -0.240242 0.476211 0.845851 +vn -0.222877 0.525986 0.820734 +vn -0.202979 0.532914 0.821436 +vn -0.158116 0.567064 0.808344 +vn -0.190130 0.536821 0.821955 +vn -0.346324 0.502976 0.791833 +vn -0.347026 0.612964 0.709799 +vn -0.294839 0.746330 0.596667 +vn 0.646931 0.208106 -0.733573 +vn 0.504807 -0.823725 -0.258095 +vn 0.935331 -0.039277 -0.351512 +vn 0.609760 -0.478469 0.631825 +vn 0.466597 -0.419111 0.778832 +vn 0.328104 0.570360 0.752983 +vn 0.708731 0.365734 0.603229 +vn 0.647389 0.402844 0.646931 +vn 0.841121 0.181799 0.509323 +vn 0.333781 0.398846 0.854091 +vn 0.305063 0.566027 0.765831 +vn 0.559832 -0.804621 0.197729 +vn 0.311228 0.697592 0.645344 +vn -0.117405 0.292306 0.949065 +vn -0.441542 -0.406110 0.800043 +vn -0.342692 -0.521683 0.781243 +vn -0.179174 -0.456679 0.871395 +vn -0.125462 -0.337565 0.932890 +vn -0.116977 -0.229225 0.966308 +vn -0.116581 -0.969298 -0.216346 +vn -0.118259 -0.212653 0.969909 +vn -0.373638 -0.208686 0.903775 +vn -0.362651 -0.270547 0.891751 +vn -0.570940 -0.229957 0.788110 +vn -0.174352 -0.339152 0.924406 +vn -0.321787 -0.401257 0.857540 +vn -0.437635 -0.300699 0.847346 +vn -0.419080 -0.266793 0.867855 +vn -0.551897 -0.193121 0.811212 +vn -0.585376 -0.149052 0.796930 +vn -0.407483 -0.088534 0.908902 +vn -0.188513 -0.164861 0.968108 +vn -0.511399 -0.215094 0.831965 +vn -0.554216 -0.292795 0.779138 +vn -0.632191 -0.199164 0.748741 +vn -0.107944 -0.270455 0.956633 +vn -0.415296 -0.279031 0.865810 +vn -0.388043 -0.300516 0.871242 +vn -0.105441 -0.311594 0.944334 +vn -0.493057 -0.329844 0.805017 +vn -0.080111 -0.203986 0.975677 +vn 0.018159 -0.160619 0.986816 +vn 0.033021 -0.170629 0.984771 +vn -0.055757 -0.211493 0.975768 +vn -0.237770 -0.282571 0.929289 +vn -0.299966 -0.209571 0.930601 +vn -0.182958 -0.198675 0.962828 +vn 0.023255 -0.172796 0.984680 +vn 0.150334 -0.146275 0.977752 +vn 0.264016 -0.026002 0.964141 +vn 0.185583 0.061434 0.980682 +vn 0.122898 0.041078 0.991546 +vn 0.003082 0.049593 0.998749 +vn -0.111087 0.076754 0.990814 +vn -0.172430 0.133366 0.975921 +vn -0.226814 0.208411 0.951353 +vn -0.215918 0.338176 0.915952 +vn -0.153478 0.474319 0.866848 +vn 0.278176 -0.884945 -0.373424 +vn -0.289376 0.769311 0.569536 +vn -0.247749 0.830042 0.499588 +vn -0.292917 0.838984 0.458510 +vn -0.654592 0.668996 0.352000 +vn -0.554399 0.759911 0.339274 +vn -0.712241 0.627094 0.315256 +vn 0.361003 0.930998 0.053804 +vn 0.052370 0.332377 0.941679 +vn 0.071871 0.341960 0.936949 +vn 0.220985 -0.975066 -0.018738 +vn 0.137242 -0.990478 -0.007416 +vn 0.174261 -0.984649 -0.005432 +vn -0.235603 0.191748 0.952727 +vn -0.353557 0.143681 0.924284 +vn -0.360302 0.182043 0.914884 +vn -0.322153 0.279824 0.904355 +vn -0.278573 0.374828 0.884213 +vn -0.243233 0.465590 0.850887 +vn -0.259102 0.531236 0.806604 +vn -0.244697 0.526414 0.814234 +vn -0.286752 0.538713 0.792169 +vn -0.359264 0.485580 0.796930 +vn -0.383892 0.462020 0.799432 +vn -0.323923 0.610034 0.723106 +vn -0.329051 0.729667 0.599384 +vn 0.575427 -0.774865 -0.261544 +vn 0.947813 -0.111270 -0.298715 +vn 0.239662 0.465529 0.851955 +vn 0.326670 -0.939268 -0.105014 +vn 0.926725 -0.296182 -0.231117 +vn 0.333781 0.395184 0.855800 +vn 0.336222 0.581866 0.740501 +vn 0.297769 0.591357 0.749382 +vn -0.242073 -0.069460 0.967742 +vn -0.498123 -0.462935 0.733146 +vn -0.435041 -0.402081 0.805628 +vn -0.221046 -0.353160 0.909055 +vn -0.067873 -0.303873 0.950285 +vn -0.047914 -0.239265 0.969756 +vn -0.189825 -0.282846 0.940184 +vn -0.301401 -0.404767 0.863277 +vn 0.161504 -0.767998 -0.619709 +vn -0.761315 0.582018 0.285653 +vn 0.646687 -0.435163 -0.626423 +vn -0.003571 -0.166234 0.986053 +vn -0.252327 -0.039308 0.966826 +vn 0.228095 -0.295755 0.927610 +vn 0.235664 -0.175329 0.955870 +vn 0.240028 -0.134159 0.961425 +vn 0.169378 -0.216926 0.961364 +vn -0.125858 -0.373882 0.918882 +vn -0.277749 -0.329478 0.902371 +vn -0.273324 -0.159185 0.948637 +vn -0.209174 -0.086093 0.974059 +vn -0.114505 -0.105899 0.987732 +vn -0.053133 -0.081362 0.995239 +vn -0.096896 -0.060457 0.993439 +vn -0.163244 -0.004212 0.986572 +vn -0.182897 0.003357 0.983123 +vn -0.163335 0.011933 0.986480 +vn -0.133122 0.084994 0.987426 +vn -0.141087 0.101627 0.984741 +vn -0.164892 0.185675 0.968657 +vn -0.189489 0.353435 0.916044 +vn -0.152806 0.516221 0.842677 +vn -0.068850 0.606220 0.792291 +vn -0.045900 0.707022 0.705649 +vn -0.201025 0.734001 0.648671 +vn 0.644795 -0.749748 -0.148564 +vn -0.313486 0.886624 0.339976 +vn -0.239387 0.559648 0.793390 +vn -0.270699 0.772912 0.573840 +vn -0.271645 0.104434 0.956694 +vn -0.251167 0.118259 0.960662 +vn -0.225471 0.209998 0.951323 +vn -0.235511 0.310831 0.920804 +vn -0.230110 0.401746 0.886349 +vn -0.204382 0.467299 0.860134 +vn -0.235511 0.522568 0.819391 +vn -0.247475 0.518601 0.818384 +vn -0.285348 0.487594 0.825098 +vn -0.378368 0.465194 0.800226 +vn -0.356212 0.492996 0.793756 +vn -0.272591 0.620380 0.735374 +vn -0.307505 0.716453 0.626179 +vn -0.345073 0.728477 0.591784 +vn 0.640217 -0.721000 -0.265023 +vn 0.672750 -0.718741 -0.175420 +vn 0.932035 -0.210547 -0.294870 +vn 0.939177 -0.107761 -0.326060 +vn 0.924375 -0.024232 -0.380688 +vn 0.898495 -0.435835 -0.051912 +vn 0.906827 -0.417951 -0.053987 +vn -0.001373 -0.966826 -0.255409 +vn 0.266427 -0.941710 -0.205359 +vn 0.301187 0.216163 0.928709 +vn 0.230476 0.421827 0.876888 +vn 0.309305 0.447371 0.839137 +vn 0.816126 0.068819 0.573717 +vn 0.156041 0.382366 0.910703 +vn 0.320841 0.421796 0.847987 +vn 0.376659 0.216742 0.900601 +vn 0.329936 0.230018 0.915525 +vn 0.329417 0.608020 0.722312 +vn 0.162603 0.370098 0.914640 +vn -0.321482 -0.380810 0.866939 +vn -0.489059 -0.472854 0.732933 +vn -0.502182 -0.281930 0.817499 +vn -0.418836 -0.223304 0.880154 +vn -0.318400 -0.223273 0.921262 +vn -0.284768 -0.268990 0.920042 +vn 0.486160 -0.773919 -0.405744 +vn 0.451308 -0.676046 -0.582415 +vn 0.822901 -0.053652 0.565600 +vn 0.862056 -0.322733 0.390728 +vn 0.481735 0.472915 0.737724 +vn 0.122013 -0.755882 -0.643208 +vn -0.023896 -0.999451 -0.022309 +vn 0.007904 -0.999786 -0.017640 +vn -0.007172 -0.999786 0.018189 +vn -0.982757 0.184545 0.009247 +vn -0.415326 0.170232 0.893582 +vn -0.247322 0.040620 0.968078 +vn 0.008240 -0.155126 0.987854 +vn 0.123630 -0.191839 0.973601 +vn -0.010163 -0.227912 0.973601 +vn -0.145756 -0.346080 0.926786 +vn -0.254585 -0.445540 0.858272 +vn -0.200934 -0.321116 0.925443 +vn -0.227851 -0.160131 0.960418 +vn -0.285989 -0.071078 0.955565 +vn -0.276620 -0.063540 0.958861 +vn -0.300272 -0.110233 0.947447 +vn -0.314829 -0.076632 0.946043 +vn -0.246376 0.035371 0.968505 +vn -0.190893 0.040864 0.980743 +vn -0.082736 0.044740 0.995544 +vn -0.044618 0.097140 0.994263 +vn 0.010376 0.111240 0.993713 +vn -0.009033 0.149571 0.988678 +vn -0.118381 0.313334 0.942198 +vn -0.219367 0.510819 0.831202 +vn -0.181707 0.651845 0.736229 +vn -0.201209 0.765893 0.610614 +vn 0.205512 -0.837184 -0.506790 +vn 0.969543 0.231330 -0.080142 +vn 0.974242 0.201880 -0.100192 +vn 0.398846 0.916318 0.035371 +vn 0.382244 0.920682 0.078585 +vn 0.398389 0.917203 -0.001038 +vn 0.378185 0.925260 0.028962 +vn -0.044862 0.158177 0.986358 +vn -0.066317 0.203528 0.976806 +vn -0.128910 0.285684 0.949583 +vn -0.167058 0.390637 0.905240 +vn -0.187933 0.471389 0.861629 +vn -0.188574 0.503708 0.843013 +vn -0.228553 0.519913 0.823054 +vn -0.236244 0.470748 0.850032 +vn -0.275857 0.458632 0.844691 +vn -0.261879 0.522050 0.811670 +vn -0.237526 0.631367 0.738182 +vn -0.262917 0.702078 0.661733 +vn -0.288797 0.733757 0.614948 +vn -0.223304 0.790826 0.569811 +vn 0.674612 -0.716636 -0.176824 +vn 0.916318 0.078677 -0.392621 +vn 0.103641 0.470168 0.876431 +vn -0.110233 0.556536 0.823450 +vn -0.054476 0.574297 0.816797 +vn 0.496780 -0.838038 -0.225501 +vn 0.438765 -0.867092 -0.235755 +vn 0.389782 0.152837 0.908109 +vn 0.055879 0.525498 0.848933 +vn 0.029633 0.596637 0.801935 +vn 0.319590 0.445357 0.836360 +vn 0.356365 0.077120 0.931150 +vn 0.266579 0.580767 0.769158 +vn 0.068087 0.115879 0.990905 +vn -0.270547 -0.585315 0.764306 +vn -0.308481 -0.502213 0.807825 +vn -0.397717 -0.296487 0.868252 +vn -0.445479 -0.188177 0.875271 +vn -0.452345 -0.181402 0.873165 +vn -0.464278 -0.272805 0.842586 +vn -0.973083 -0.224525 0.051759 +vn 0.695791 0.050203 0.716483 +vn -0.054415 -0.548235 -0.834529 +vn -0.180853 -0.446577 -0.876247 +vn -0.450789 -0.040468 0.891690 +vn -0.521317 -0.218787 0.824824 +vn -0.334574 -0.215705 0.917325 +vn -0.566210 0.563768 -0.601276 +vn -0.460341 0.160833 0.873043 +vn -0.420301 0.118656 0.899564 +vn -0.322794 -0.035218 0.945799 +vn -0.331828 -0.222571 0.916684 +vn -0.427686 -0.298929 0.853053 +vn -0.401044 -0.358776 0.842860 +vn -0.218207 -0.360332 0.906919 +vn -0.121952 -0.308115 0.943480 +vn -0.164922 -0.210791 0.963500 +vn -0.252388 -0.110477 0.961272 +vn -0.330943 -0.101352 0.938169 +vn -0.335856 -0.107730 0.935697 +vn -0.258400 -0.011811 0.965941 +vn -0.190832 0.076205 0.978637 +vn -0.145207 0.108768 0.983398 +vn -0.050630 0.110538 0.992553 +vn 0.122379 0.176031 0.976745 +vn 0.222877 0.133854 0.965606 +vn 0.185400 0.078768 0.979492 +vn 0.056581 0.221564 0.973479 +vn -0.108646 0.414106 0.903714 +vn -0.262947 0.635639 0.725791 +vn -0.295053 0.734428 0.611164 +vn 0.381848 0.924070 0.016022 +vn 0.021027 0.157201 0.987335 +vn -0.039949 0.137211 0.989715 +vn -0.104373 0.130619 0.985900 +vn -0.085299 0.173528 0.981109 +vn -0.084841 0.254738 0.963256 +vn -0.121433 0.362835 0.923887 +vn -0.187323 0.457015 0.869472 +vn -0.210150 0.490860 0.845485 +vn -0.237861 0.507797 0.827967 +vn -0.225593 0.478439 0.848628 +vn -0.194861 0.456069 0.868343 +vn -0.184637 0.523148 0.831965 +vn -0.202979 0.624287 0.754326 +vn -0.219489 0.695273 0.684378 +vn -0.226234 0.736839 0.637043 +vn -0.187384 0.790857 0.582568 +vn 0.693289 -0.670247 -0.264718 +vn 0.889431 -0.048494 -0.454421 +vn 0.904752 -0.136906 -0.403272 +vn 0.918638 0.138462 -0.370037 +vn 0.463027 -0.658925 0.592761 +vn 0.525651 -0.598559 0.604450 +vn 0.475051 -0.667898 0.572893 +vn 0.145695 -0.109073 0.983276 +vn 0.144200 -0.081484 0.986175 +vn 0.126743 -0.066012 0.989715 +vn -0.207739 0.789422 0.577593 +vn -0.166326 0.825251 0.539659 +vn -0.912717 0.392956 -0.111911 +vn -0.843959 -0.529008 -0.088443 +vn 0.775719 -0.587390 -0.230659 +vn 0.743156 -0.635884 -0.208228 +vn 0.829920 -0.524247 -0.190680 +vn 0.183752 0.153966 -0.970824 +vn 0.330271 0.220527 0.917722 +vn 0.303812 0.434462 0.847865 +vn 0.253670 0.528733 0.809961 +vn 0.090579 -0.061586 0.993957 +vn -0.140385 -0.645833 0.750450 +vn -0.137150 -0.543626 0.828028 +vn -0.192206 -0.357494 0.913907 +vn -0.265236 -0.240394 0.933714 +vn -0.357952 -0.237922 0.902890 +vn -0.362529 -0.414289 0.834803 +vn -0.478774 -0.404492 0.779168 +vn -0.422956 -0.340678 0.839656 +vn -0.365734 -0.369579 0.854152 +vn -0.362438 -0.364025 0.857936 +vn -0.499985 -0.474380 0.724540 +vn -0.535356 -0.414228 0.736045 +vn -0.379162 -0.207495 0.901761 +vn -0.346141 -0.016144 0.938017 +vn -0.415967 0.023957 0.909055 +vn -0.484573 0.157689 0.860408 +vn -0.437483 0.157750 0.885250 +vn -0.468703 0.190008 0.862667 +vn -0.387890 0.148350 0.909665 +vn 0.019349 0.579272 -0.814875 +vn -0.432966 -0.043397 0.900357 +vn -0.380169 -0.243538 0.892270 +vn -0.251198 -0.228645 -0.940519 +vn -0.363170 -0.259987 -0.894681 +vn -0.372234 -0.309671 0.874935 +vn -0.372295 -0.288919 0.881954 +vn -0.255593 -0.262978 0.930296 +vn -0.094272 -0.270547 0.958068 +vn -0.097781 -0.253609 0.962340 +vn -0.214545 -0.183721 0.959258 +vn -0.287606 -0.132725 0.948485 +vn -0.241890 -0.058748 0.968505 +vn -0.195715 0.037019 0.979949 +vn -0.144993 0.118625 0.982269 +vn -0.089999 0.139958 0.986053 +vn -0.029603 0.206336 0.978027 +vn 0.019166 0.260903 0.965148 +vn 0.000000 0.144353 0.989502 +vn 0.011811 0.053255 0.998505 +vn 0.020936 0.133824 0.990753 +vn -0.019837 0.330363 0.943632 +vn -0.124577 0.556139 0.821680 +vn -0.274819 0.702811 0.656117 +vn -0.264138 0.761284 0.592120 +vn -0.255379 0.735405 0.627644 +vn -0.220099 0.776757 0.590045 +vn 0.942106 0.224433 0.249031 +vn 0.014313 0.194830 0.980712 +vn -0.081301 0.145421 0.986023 +vn -0.140690 0.345347 0.927854 +vn -0.119694 0.084658 0.989166 +vn -0.053133 0.114444 0.992004 +vn -0.088137 0.115482 0.989380 +vn -0.077914 0.172796 0.981842 +vn -0.089236 0.250191 0.964049 +vn -0.134709 0.330790 0.934019 +vn -0.163823 0.420026 0.892575 +vn -0.190924 0.471480 0.860927 +vn -0.228797 0.493973 0.838801 +vn -0.248756 0.501114 0.828822 +vn -0.195532 0.485397 0.852138 +vn -0.144627 0.524918 0.838740 +vn -0.157476 0.606067 0.779626 +vn -0.197851 0.689444 0.696768 +vn -0.198187 0.737724 0.645314 +vn 0.914335 0.189673 -0.357707 +vn 0.109897 0.204291 -0.972716 +vn 0.119694 -0.039674 -0.992004 +vn 0.641499 -0.726005 -0.247719 +vn 0.782891 -0.272744 -0.559130 +vn 0.746239 -0.350230 -0.566057 +vn 0.896207 0.242897 -0.371197 +vn 0.999298 0.031343 -0.020356 +vn 0.082522 -0.699484 -0.709830 +vn 0.659474 -0.442427 -0.607715 +vn 0.880001 0.301065 -0.367321 +vn 0.864956 0.501755 0.004425 +vn 0.293374 0.238380 0.925779 +vn 0.304849 0.435316 0.847072 +vn 0.264321 0.464614 0.845119 +vn 0.048372 -0.196722 0.979247 +vn -0.159001 -0.668874 0.726157 +vn -0.147588 -0.537980 0.829890 +vn -0.152776 -0.379223 0.912595 +vn -0.221992 -0.304178 0.926359 +vn -0.295572 -0.303629 0.905759 +vn -0.286691 -0.354869 0.889859 +vn -0.270119 -0.419324 0.866695 +vn -0.468886 0.827326 0.309214 +vn -0.356731 0.837123 0.414624 +vn -0.572710 0.749535 0.331858 +vn 0.910550 0.366497 0.191137 +vn 0.894101 0.382977 0.232154 +vn -0.370006 -0.151463 0.916562 +vn -0.415082 0.786126 0.457869 +vn -0.297250 0.031587 0.954253 +vn -0.280374 0.104373 0.954192 +vn -0.341563 0.135655 0.929991 +vn -0.343852 -0.011383 0.938932 +vn -0.261116 -0.229774 0.937529 +vn -0.314158 -0.351848 0.881741 +vn -0.392285 -0.269662 0.879391 +vn -0.343699 -0.153661 0.926389 +vn -0.167760 -0.186804 0.967956 +vn -0.066622 -0.277169 0.958495 +vn -0.112339 -0.246956 0.962462 +vn -0.153356 -0.130284 0.979522 +vn -0.131016 -0.030915 0.990875 +vn -0.101413 0.063967 0.992767 +vn -0.077517 0.150029 0.985626 +vn -0.051088 0.167150 0.984588 +vn -0.079287 0.204291 0.975677 +vn -0.190313 0.186804 0.963775 +vn -0.289499 0.113315 0.950438 +vn -0.255776 0.124241 0.958708 +vn -0.110385 0.185125 0.976470 +vn -0.012299 0.339274 0.940580 +vn -0.020661 0.503220 0.863887 +vn -0.127415 0.657338 0.742698 +vn -0.011719 0.501541 0.865017 +vn -0.215644 0.819605 0.530717 +vn -0.224158 0.887600 0.402295 +vn 0.023652 0.165960 0.985839 +vn -0.078799 0.080264 0.993622 +vn -0.101169 0.105350 0.989257 +vn -0.145970 0.158971 0.976409 +vn -0.189123 0.220038 0.956969 +vn -0.191351 0.308420 0.931791 +vn -0.173132 0.412427 0.894375 +vn -0.181066 0.465041 0.866543 +vn -0.187231 0.472945 0.860927 +vn -0.229286 0.497665 0.836482 +vn -0.210608 0.522752 0.826044 +vn -0.117740 0.541215 0.832575 +vn -0.107181 0.596759 0.795190 +vn -0.138005 0.664907 0.734031 +vn -0.211280 0.727928 0.652272 +vn -0.231605 -0.327830 -0.915891 +vn -0.211707 -0.382153 -0.899503 +vn -0.123295 -0.445143 -0.886898 +vn 0.884304 -0.310099 -0.348979 +vn -0.951292 0.248299 0.182623 +vn 0.896298 0.279519 -0.344188 +vn 0.781091 -0.351329 0.516129 +vn 0.736137 -0.502579 0.453261 +vn 0.784539 -0.523026 0.333048 +vn 0.072848 -0.491287 0.867916 +vn 0.963561 0.254830 0.081149 +vn 0.959838 0.260567 0.103824 +vn 0.963836 -0.143864 -0.224219 +vn 0.731834 0.308206 -0.607776 +vn 0.718925 0.260964 -0.644185 +vn 0.681417 0.279275 -0.676504 +vn 0.319742 0.277078 0.906064 +vn 0.319071 0.432325 0.843349 +vn 0.310984 0.093295 0.945799 +vn 0.267006 0.098331 0.958647 +vn 0.264840 0.360851 0.894192 +vn 0.055483 -0.350902 0.934751 +vn -0.206671 -0.687582 0.696036 +vn -0.203070 -0.507981 0.837062 +vn -0.250130 -0.399640 0.881863 +vn -0.293954 -0.327494 0.897946 +vn -0.259316 -0.292123 0.920530 +vn -0.207007 -0.347972 0.914335 +vn -0.323618 -0.496048 0.805689 +vn -0.221625 -0.294412 0.929594 +vn -0.177282 0.979675 0.093722 +vn -0.233985 -0.125889 0.964049 +vn -0.263833 0.047334 0.963378 +vn -0.254341 0.109561 0.960875 +vn -0.244118 0.115390 0.962828 +vn -0.260994 0.012696 0.965239 +vn -0.263039 -0.242042 0.933897 +vn -0.331675 -0.406110 0.851466 +vn -0.423658 -0.272378 0.863887 +vn -0.418989 -0.062044 0.905850 +vn -0.338359 -0.085147 0.937132 +vn -0.124790 -0.197485 0.972320 +vn -0.009980 -0.243263 0.969878 +vn 0.002503 -0.142430 0.989776 +vn -0.001282 -0.012299 0.999908 +vn 0.030976 0.083438 0.996002 +vn 0.024628 0.151006 0.988220 +vn 0.013947 0.141728 0.989776 +vn -0.067293 0.147496 0.986755 +vn -0.125614 0.125584 0.984069 +vn -0.182806 0.091189 0.978881 +vn -0.179998 0.168584 0.969085 +vn -0.129124 0.270791 0.953917 +vn -0.051241 0.377972 0.924375 +vn 0.002411 0.497177 0.867611 +vn -0.014130 0.616871 0.786920 +vn -0.100101 0.709799 0.697226 +vn 0.891751 -0.061953 -0.448195 +vn 0.919095 -0.201178 -0.338725 +vn 0.796777 0.534196 -0.282388 +vn 0.887448 0.050996 -0.458052 +vn -0.065157 0.596973 0.799585 +vn -0.037416 0.129917 0.990814 +vn -0.098972 0.021729 0.994842 +vn -0.157781 0.069887 0.984985 +vn -0.238502 0.110660 0.964782 +vn -0.227058 0.223395 0.947905 +vn -0.164220 0.335704 0.927519 +vn -0.123386 0.421644 0.898312 +vn -0.127018 0.453871 0.881954 +vn -0.164281 0.468490 0.868038 +vn -0.170232 0.497024 0.850856 +vn -0.138585 0.554888 0.820276 +vn -0.081118 0.567553 0.819300 +vn -0.099704 0.593768 0.798395 +vn -0.104404 0.649770 0.752892 +vn -0.160161 0.698294 0.697623 +vn -0.230171 0.786279 0.573351 +vn -0.184759 -0.517594 -0.835414 +vn 0.006165 0.962584 -0.270821 +vn -0.028901 0.929868 -0.366680 +vn -0.998444 -0.027467 0.048311 +vn -0.977935 -0.207587 0.022431 +vn -0.813135 -0.256874 -0.522263 +vn -0.896207 -0.294565 -0.331706 +vn -0.841884 -0.100955 -0.530076 +vn 0.909085 0.222205 -0.352306 +vn 0.304209 0.305521 0.902249 +vn 0.304422 0.422803 0.853542 +vn 0.214393 0.227180 0.949950 +vn -0.033052 -0.400586 0.915647 +vn -0.180792 -0.677419 0.713004 +vn -0.194311 -0.508133 0.839045 +vn -0.238441 -0.419630 0.875790 +vn -0.250587 -0.313334 0.915952 +vn -0.212622 -0.253456 0.943663 +vn -0.221625 -0.392590 0.892575 +vn -0.227668 -0.525864 0.819514 +vn -0.074526 -0.401410 0.912839 +vn -0.071963 -0.303140 0.950194 +vn -0.146275 -0.169958 0.974517 +vn -0.206030 0.022370 0.978271 +vn -0.208014 0.129276 0.969543 +vn -0.187536 0.115238 0.975463 +vn -0.231605 -0.017029 0.972655 +vn -0.248665 -0.290048 0.924100 +vn -0.283181 -0.458419 0.842372 +vn -0.347056 -0.286935 0.892850 +vn -0.404584 -0.058351 0.912625 +vn -0.406049 0.014496 0.913724 +vn -0.272103 -0.062990 0.960173 +vn -0.013306 -0.122837 0.992309 +vn 0.138859 -0.134892 0.981048 +vn 0.134098 -0.010590 0.990905 +vn 0.130467 0.081545 0.988067 +vn 0.159948 0.155034 0.974853 +vn 0.157048 0.114994 0.980865 +vn 0.110538 0.110569 0.987671 +vn 0.045869 0.079897 0.995727 +vn -0.020356 0.062868 0.997803 +vn -0.058962 0.168889 0.983856 +vn -0.059999 0.288308 0.955626 +vn -0.066836 0.400128 0.913999 +vn -0.064730 0.510849 0.857204 +vn -0.058840 0.620014 0.782342 +vn -0.034669 0.690420 0.722556 +vn -0.072512 0.767907 0.636402 +vn -0.048097 0.815241 0.577105 +vn -0.611194 0.277413 -0.741234 +vn -0.589984 0.437086 -0.678854 +vn -0.173833 -0.096835 -0.979980 +vn -0.103854 -0.032502 -0.994049 +vn -0.170232 -0.162755 -0.971862 +vn -0.470840 0.096072 -0.876949 +vn -0.019227 0.664907 0.746635 +vn -0.000031 0.109500 0.993957 +vn 0.832453 0.310800 0.458663 +vn 0.887631 0.272805 0.371014 +vn 0.869411 0.264870 0.417005 +vn -0.205847 -0.008057 0.978545 +vn -0.225837 0.119510 0.966796 +vn -0.145024 0.269997 0.951842 +vn -0.086947 0.369884 0.924986 +vn -0.054140 0.446211 0.893246 +vn -0.005646 0.444014 0.895993 +vn -0.054750 0.445204 0.893735 +vn -0.096591 0.514420 0.852046 +vn -0.048311 0.569323 0.820673 +vn -0.073489 0.561876 0.823939 +vn -0.126347 0.576067 0.807550 +vn -0.101138 0.645863 0.756676 +vn -0.128452 0.678121 0.723624 +vn 0.910489 0.170385 -0.376782 +vn -0.048952 0.310160 -0.949400 +vn -0.082553 0.272866 -0.958495 +vn -0.058229 0.219001 -0.973968 +vn -0.507645 0.854823 -0.107425 +vn 0.898465 0.214515 -0.383007 +vn 0.869594 0.262612 -0.418104 +vn 0.419813 -0.089541 0.903165 +vn 0.418897 0.012299 0.907926 +vn 0.914975 -0.179144 -0.361461 +vn 0.882656 0.463210 0.079501 +vn 0.301492 0.125340 0.945189 +vn 0.215094 0.089480 0.972472 +vn -0.117405 -0.557268 0.821955 +vn -0.082492 -0.680227 0.728294 +vn -0.128574 -0.523515 0.842219 +vn -0.199286 -0.440870 0.875149 +vn -0.262215 -0.311930 0.913175 +vn -0.283334 -0.254189 0.924711 +vn -0.245674 -0.397961 0.883877 +vn -0.042543 -0.448103 0.892941 +vn 0.033570 -0.404187 0.914029 +vn -0.085055 -0.342387 0.935667 +vn -0.082247 -0.190435 0.978240 +vn -0.088321 0.008850 0.996033 +vn -0.149144 0.113346 0.982269 +vn -0.196692 0.101505 0.975188 +vn -0.203345 -0.033570 0.978515 +vn -0.198309 -0.313150 0.928739 +vn -0.236641 -0.493179 0.837092 +vn -0.279885 -0.323099 0.904019 +vn -0.364116 -0.102878 0.925626 +vn -0.374371 0.039399 0.926420 +vn -0.335307 0.064119 0.939909 +vn -0.124149 0.067873 0.989929 +vn 0.081973 -0.052675 0.995239 +vn 0.194952 -0.017151 0.980651 +vn 0.284555 0.122288 0.950804 +vn 0.324168 0.157964 0.932676 +vn 0.290475 0.082827 0.953276 +vn 0.212104 0.046480 0.976135 +vn 0.085757 0.029603 0.995849 +vn 0.064425 0.031068 0.997406 +vn 0.039521 0.144719 0.988678 +vn -0.016724 0.267861 0.963286 +vn -0.053072 0.388134 0.920042 +vn -0.065706 0.496353 0.865596 +vn -0.094485 0.609241 0.787317 +vn -0.077242 0.704581 0.705374 +vn 0.555712 0.131626 0.820856 +vn 0.734947 -0.221503 -0.640889 +vn 0.321696 -0.088260 -0.942686 +vn 0.844630 0.330821 -0.420820 +vn -0.022919 0.683370 0.729698 +vn 0.837916 -0.525712 -0.146611 +vn 0.782373 -0.607562 -0.136845 +vn 0.904813 -0.417646 -0.082766 +vn -0.158574 -0.047121 0.986206 +vn -0.117252 0.161779 0.979827 +vn -0.073794 0.303812 0.949858 +vn -0.037721 0.393262 0.918638 +vn 0.036775 0.477523 0.877834 +vn 0.043306 0.448256 0.892819 +vn 0.040437 0.417371 0.907804 +vn 0.034242 0.512558 0.857936 +vn 0.001373 0.555528 0.831477 +vn -0.091922 0.538957 0.837275 +vn -0.114750 0.582080 0.804956 +vn -0.054750 0.634693 0.770806 +vn -0.144047 0.671041 0.727256 +vn 0.790063 0.154729 -0.593158 +vn -0.125736 0.758507 0.639363 +vn 0.919614 0.177435 -0.350352 +vn 0.702261 0.362896 -0.612445 +vn 0.775536 -0.255623 -0.577197 +vn 0.850185 0.376537 -0.367962 +vn -0.871975 -0.489273 0.015595 +vn 0.299326 0.143742 0.943236 +vn 0.296670 0.135838 0.945250 +vn 0.120579 -0.066256 0.990478 +vn -0.167547 -0.693747 0.700430 +vn -0.020020 -0.683126 0.730003 +vn -0.135960 -0.575121 0.806665 +vn -0.300027 -0.485946 0.820856 +vn -0.362560 -0.314158 0.877377 +vn -0.343028 -0.232734 0.910001 +vn -0.173009 -0.276223 0.945372 +vn 0.084750 -0.379589 0.921232 +vn 0.059572 -0.429579 0.901028 +vn 0.039491 -0.362560 0.931089 +vn 0.047365 -0.185247 0.981536 +vn 0.017365 -0.016144 0.999695 +vn -0.069216 0.048433 0.996399 +vn -0.153508 0.070986 0.985565 +vn -0.186041 -0.036409 0.981842 +vn -0.190924 -0.332163 0.923673 +vn -0.184179 -0.504868 0.843287 +vn -0.212500 -0.351878 0.911588 +vn -0.247475 -0.111087 0.962493 +vn -0.287362 0.035951 0.957121 +vn -0.322825 0.113193 0.939634 +vn -0.304636 0.154576 0.939817 +vn -0.136418 0.117313 0.983673 +vn 0.100925 0.102603 0.989563 +vn 0.198248 0.188147 0.961913 +vn 0.193030 0.140568 0.971038 +vn 0.153935 0.048463 0.986877 +vn -0.043001 -0.998077 0.044374 +vn -0.014283 -0.999786 -0.013672 +vn -0.034516 -0.997253 -0.065371 +vn 0.461776 -0.747917 0.476791 +vn -0.888730 -0.439833 -0.129124 +vn -0.909330 -0.371868 -0.186468 +vn -0.835688 -0.526597 -0.155828 +vn -0.019562 0.143406 0.989441 +vn -0.072787 -0.075411 0.994476 +vn -0.032563 0.852870 0.521073 +vn -0.116245 -0.500961 0.857601 +vn -0.116337 -0.500839 0.857662 +vn 0.406323 -0.615497 -0.675283 +vn 0.531510 -0.629017 -0.567248 +vn 0.007996 -0.999603 -0.026215 +vn -0.013947 -0.998932 -0.043458 +vn -0.037538 -0.998688 -0.034242 +vn 0.986114 -0.012299 -0.165471 +vn 0.332438 0.126102 0.934629 +vn 0.114261 0.051790 0.992096 +vn 0.094058 0.073153 0.992859 +vn -0.799951 -0.589862 -0.110019 +vn 0.500351 -0.066164 0.863277 +vn 0.904324 0.414441 0.101779 +vn 0.945402 0.318155 0.070345 +vn 0.889889 0.427534 0.158940 +vn 0.848262 0.429731 -0.309397 +vn 0.856227 0.393567 -0.334574 +vn -0.182623 0.166570 -0.968963 +vn -0.261452 -0.478866 -0.838008 +vn 0.911710 0.267586 0.311655 +vn 0.858180 0.370006 0.355815 +vn 0.841395 0.390240 0.373791 +vn 0.879269 -0.410474 -0.241585 +vn 0.388348 -0.911802 -0.133274 +vn 0.424696 0.446089 0.787774 +vn 0.438826 0.420728 0.793970 +vn 0.384289 0.514939 0.766228 +vn 0.315470 -0.033296 0.948332 +vn 0.426008 -0.135502 0.894498 +vn 0.613880 -0.006592 0.789331 +vn 0.699576 -0.077792 0.710288 +vn 0.588458 0.160680 0.792383 +vn 0.624836 -0.205329 0.753227 +vn 0.466018 -0.186804 0.864803 +vn 0.474807 -0.287759 0.831690 +vn 0.444380 -0.302469 0.843196 +vn 0.464217 -0.340587 0.817591 +vn 0.319285 0.489547 0.811396 +vn 0.013001 0.821650 0.569842 +vn 0.124912 0.820582 0.557695 +vn 0.087344 0.262856 0.960845 +vn 0.137455 0.187292 0.972625 +vn 0.086734 0.219977 0.971618 +vn 0.674001 -0.220954 0.704886 +vn 0.718162 -0.306619 0.624622 +vn 0.661458 -0.133335 0.737999 +vn 0.423566 -0.076998 0.902554 +vn 0.404462 0.055910 0.912839 +vn 0.606159 0.101627 0.788812 +vn 0.665944 -0.040590 0.744865 +vn 0.606952 0.047945 0.793268 +vn 0.399274 -0.183142 0.898343 +vn 0.343516 -0.084414 0.935331 +vn 0.709861 0.295083 0.639515 +vn 0.740715 0.288583 0.606616 +vn 0.694266 0.337535 0.635639 +vn 0.616962 -0.296823 0.728843 +vn 0.576312 -0.268319 0.771874 +vn 0.606647 -0.393170 0.690909 +vn 0.328867 -0.197028 0.923551 +vn 0.294137 0.404614 0.865871 +vn 0.296365 0.474105 0.829066 +vn 0.312174 -0.195227 0.929716 +vn 0.384350 -0.386670 0.838282 +vn 0.419568 -0.261788 0.869106 +vn 0.240089 -0.259011 0.935545 +vn 0.313425 0.555254 0.770318 +vn 0.782250 -0.228614 0.579455 +vn 0.765221 -0.299692 0.569720 +vn 0.230537 0.190710 0.954161 +vn 0.269967 0.328745 0.904996 +vn 0.238441 0.342967 0.908567 +vn 0.270730 0.225806 0.935789 +vn 0.173498 -0.037690 0.984100 +vn 0.273843 0.007965 0.961730 +vn 0.325571 -0.120609 0.937773 +vn 0.688406 -0.109653 0.716971 +vn 0.804193 0.323588 0.498520 +vn 0.835749 0.306864 0.455306 +vn 0.796411 0.351329 0.492203 +vn 0.353252 0.205267 0.912717 +vn -0.400067 0.825251 0.398572 +vn 0.816248 0.347087 0.461745 +vn 0.814234 0.340526 0.470138 +vn 0.805261 0.348003 0.479995 +vn 0.252876 0.738456 0.625050 +vn 0.257973 0.734214 0.627979 +vn 0.218909 0.817164 0.533158 +vn 0.528520 -0.425398 0.734611 +vn 0.416211 -0.383129 0.824580 +vn 0.353191 0.561022 0.748619 +vn 0.470229 0.397748 0.787805 +vn 0.362102 0.523698 0.771081 +vn 0.512711 0.386303 0.766717 +vn 0.481582 0.496353 0.722251 +vn 0.387188 0.384289 0.838069 +vn 0.625538 -0.260475 0.735374 +vn 0.585040 -0.242195 0.773980 +vn 0.612507 -0.230720 0.756005 +vn 0.524369 0.015900 0.851314 +vn 0.403241 0.137150 0.904721 +vn 0.574908 -0.111179 0.810602 +vn 0.369854 0.549577 0.749077 +vn 0.425001 0.464187 0.777062 +vn 0.375683 0.532823 0.758232 +vn 0.469527 -0.362163 0.805200 +vn 0.493088 -0.273873 0.825709 +vn 0.494491 -0.287301 0.820307 +vn 0.281472 0.566881 0.774194 +vn 0.228950 0.642476 0.731284 +vn 0.421613 -0.150578 0.894162 +vn 0.514603 0.480422 0.710166 +vn 0.415571 0.535447 0.735221 +vn 0.412305 0.489669 0.768242 +vn 0.481094 0.381481 0.789300 +vn 0.513077 0.260079 0.817957 +vn 0.319803 0.592669 0.739189 +vn 0.489181 -0.261635 0.831996 +vn 0.538987 -0.229102 0.810511 +vn 0.522568 -0.185064 0.832240 +vn -0.116031 0.105258 -0.987640 +vn -0.080721 0.133763 -0.987701 +vn 0.200201 0.710959 0.674093 +vn 0.333262 0.564776 0.754906 +vn 0.399640 0.519059 0.755516 +vn 0.250435 0.681814 0.687277 +vn 0.395581 0.362499 0.843837 +vn -0.297647 -0.318400 -0.899991 +vn 0.585101 -0.382916 0.714835 +vn 0.185614 0.810114 0.556047 +vn 0.957244 0.273141 0.094943 +vn 0.888791 0.440046 0.127964 +vn 0.927702 0.309824 0.208197 +vn 0.481246 -0.385754 0.787103 +vn 0.356883 0.409314 0.839656 +vn 0.522111 -0.098636 0.847133 +vn 0.465896 0.014649 0.884701 +vn 0.453078 0.034272 0.890774 +vn 0.820612 0.074862 0.566515 +vn 0.815119 0.077883 0.574023 +vn 0.837092 0.083651 0.540605 +vn 0.525590 -0.069155 0.847896 +vn 0.464217 -0.084292 0.881680 +vn 0.164495 -0.805506 0.569231 +vn 0.224769 -0.671743 0.705832 +vn 0.262886 -0.337931 0.903684 +vn 0.452589 0.399670 0.797113 +vn 0.385815 0.317911 0.866054 +vn 0.607654 0.473769 0.637379 +vn 0.479110 0.498978 0.722098 +vn 0.102329 0.200049 0.974395 +vn 0.384686 -0.470016 -0.794397 +vn 0.072054 0.889889 0.450392 +vn 0.368572 0.530198 0.763512 +vn 0.328135 0.500290 0.801233 +vn 0.304514 0.557085 0.772576 +vn 0.511124 -0.227302 0.828883 +vn 0.482559 -0.295846 0.824335 +vn 0.457137 -0.340617 0.821558 +vn 0.947417 -0.073794 0.311258 +vn 0.901639 -0.091433 0.422681 +vn 0.889553 -0.149419 0.431654 +vn 0.307566 -0.510758 0.802789 +vn 0.211676 -0.394971 0.893948 +vn 0.936186 -0.124027 0.328837 +vn 0.858638 0.247932 0.448592 +vn 0.866421 0.193274 0.460311 +vn 0.430860 0.525101 0.733879 +vn 0.496170 0.515763 0.698386 +vn 0.416608 0.403577 0.814570 +vn 0.654195 0.148442 0.741569 +vn 0.738914 0.000732 0.673757 +vn 0.501419 0.405072 -0.764489 +vn 0.301401 0.592212 0.747246 +vn 0.350932 0.559221 0.751030 +vn 0.257820 0.651479 0.713462 +vn 0.797967 -0.336497 0.499985 +vn 0.786798 -0.311624 0.532701 +vn 0.793573 -0.350200 0.497574 +vn -0.247383 -0.331462 -0.910428 +vn 0.778619 -0.283761 0.559648 +vn 0.747185 -0.212561 0.629688 +vn 0.913694 0.394238 0.098392 +vn 0.913846 0.376049 0.152989 +vn 0.215430 0.623554 0.751488 +vn 0.422926 0.042421 0.905148 +vn 0.567064 -0.049898 0.822138 +vn 0.505539 -0.118198 0.854640 +vn 0.274575 0.011078 0.961486 +vn 0.267159 -0.064211 0.961486 +vn 0.507767 0.097690 0.855922 +vn 0.457778 0.159764 0.874569 +vn 0.508225 0.131657 0.851070 +vn 0.508377 0.068636 0.858364 +vn 0.567949 0.052492 0.821375 +vn 0.463393 0.190252 0.865474 +vn 0.590533 -0.120975 0.797876 +vn 0.557482 -0.046052 0.828883 +vn 0.543626 -0.215247 0.811243 +vn 0.531693 -0.017518 0.846736 +vn 0.599597 -0.044954 0.799005 +vn 0.436018 0.300058 0.848415 +vn 0.377209 0.343455 0.860042 +vn 0.529710 0.142277 0.836116 +vn 0.620197 -0.183630 0.762627 +vn 0.436323 -0.335948 0.834712 +vn 0.533464 -0.265969 0.802881 +vn 0.369945 0.022767 0.928739 +vn 0.318033 0.195288 0.927732 +vn 0.240577 -0.057711 0.968902 +vn 0.643330 -0.112430 0.757256 +vn 0.555071 -0.078738 0.828028 +vn 0.357433 -0.079196 0.930570 +vn 0.261361 0.055208 0.963652 +vn 0.124424 0.111576 0.985931 +vn 0.930204 -0.362346 0.058016 +vn 0.927274 -0.372875 0.033296 +vn 0.720023 0.106479 0.685690 +vn 0.765831 0.009919 0.642933 +vn 0.777734 -0.045564 0.626911 +vn 0.681387 0.036653 0.730979 +vn 0.670247 0.067263 0.739067 +vn 0.745262 -0.065310 0.663533 +vn 0.812128 -0.175848 0.556322 +vn 0.898007 -0.198340 0.392682 +vn 0.837642 -0.292367 0.461318 +vn 0.868709 -0.259072 0.422101 +vn 0.219306 0.758660 0.613453 +vn 0.251869 0.697989 0.670309 +vn 0.216895 0.769311 0.600879 +vn 0.793573 -0.220405 0.567095 +vn 0.559771 -0.578906 0.592853 +vn 0.586596 -0.601825 0.541887 +vn 0.531175 -0.616016 0.581683 +vn 0.474685 0.204382 0.856075 +vn 0.555956 0.251991 0.792077 +vn 0.554430 0.215369 0.803858 +vn 0.187719 0.050935 0.980895 +vn 0.461196 -0.427656 0.777398 +vn -0.099460 0.201636 -0.974395 +vn -0.174932 0.259407 -0.949767 +vn -0.150334 0.223792 -0.962951 +vn 0.432478 -0.604205 0.669210 +vn 0.515702 -0.609241 0.602344 +vn 0.962798 -0.264962 -0.052797 +vn -0.278420 -0.427839 -0.859890 +vn -0.236213 -0.428816 -0.871914 +vn -0.206671 -0.506790 -0.836909 +vn 0.657247 -0.586657 0.473098 +vn 0.654317 -0.555040 0.513565 +vn 0.653310 -0.630665 0.418836 +vn 0.559435 -0.178381 0.809442 +vn 0.641774 -0.656331 0.396619 +vn 0.639607 -0.555376 0.531449 +vn 0.628925 -0.545701 0.553697 +vn 0.661367 -0.505905 0.553697 +vn 0.662435 -0.518387 0.540757 +vn 0.623096 -0.547166 0.558855 +vn 0.596301 -0.513718 0.616840 +vn 0.605396 -0.524766 0.598376 +vn 0.175024 0.332499 0.926695 +vn 0.159703 0.291421 0.943144 +vn 0.098422 0.243385 0.964904 +vn 0.801355 -0.091647 0.591083 +vn 0.820856 -0.115940 0.559191 +vn 0.984832 -0.031465 -0.170537 +vn 0.978057 -0.139286 -0.154729 +vn 0.487716 -0.818110 -0.304605 +vn 0.576006 0.102481 0.810968 +vn 0.602863 0.157537 0.782098 +vn 0.639912 0.071657 0.765069 +vn 0.935820 -0.307688 -0.171880 +vn 0.728751 -0.150945 -0.667898 +vn 0.455580 -0.861660 -0.223426 +vn -0.272164 0.404431 -0.873104 +vn -0.253151 0.488113 -0.835231 +vn 0.618213 -0.379467 0.688314 +vn 0.698355 -0.248085 0.671346 +vn 0.806635 0.044282 0.589343 +vn 0.810999 -0.181097 0.556291 +vn -0.160527 -0.429395 -0.888699 +vn 0.728294 0.359783 0.583178 +vn 0.701956 0.386090 0.598437 +vn 0.653737 0.415357 0.632496 +vn 0.665395 -0.200781 0.718955 +vn 0.722892 -0.449080 0.525071 +vn 0.706504 -0.383557 0.594714 +vn 0.750389 -0.364177 0.551592 +vn 0.726249 -0.388806 0.566881 +vn 0.726157 -0.404889 0.555620 +vn 0.644704 -0.531754 0.549120 +vn 0.635762 -0.522935 0.567705 +vn 0.780145 -0.276376 0.561205 +vn 0.760460 -0.286050 0.582934 +vn 0.810602 -0.185675 0.555345 +vn 0.788263 -0.206458 0.579608 +vn 0.823664 -0.162511 0.543229 +vn 0.791589 -0.160253 0.589618 +vn 0.808802 -0.177892 0.560503 +vn 0.773125 -0.129398 0.620869 +vn 0.624958 -0.405042 0.667318 +vn 0.572069 -0.399091 0.716514 +vn 0.564379 -0.498306 0.658101 +vn 0.767418 -0.108280 0.631916 +vn 0.721610 -0.048372 0.690573 +vn 0.356426 0.201239 0.912381 +vn 0.538163 -0.190344 0.821039 +vn 0.587786 -0.082705 0.804743 +vn 0.566576 -0.227149 0.792047 +vn 0.516190 -0.535936 0.668020 +vn 0.504837 -0.554460 0.661580 +vn 0.533097 -0.531205 0.658467 +vn 0.657308 0.107547 0.745872 +vn 0.673269 0.157994 0.722312 +vn 0.713157 0.054048 0.698874 +vn -0.023103 -0.999390 -0.025056 +vn 0.801904 0.327067 0.499924 +vn 0.846858 0.322886 0.422529 +vn 0.812189 0.333232 0.478774 +vn 0.514634 -0.534684 0.670217 +vn -0.160894 -0.337870 -0.927305 +vn 0.561693 -0.501450 0.658040 +vn 0.560472 -0.508408 0.653706 +vn 0.851466 0.391339 0.349010 +vn 0.831996 0.389752 0.394787 +vn 0.830378 0.415876 0.370769 +vn 0.588702 -0.438490 0.679037 +vn 0.597858 -0.443373 0.667776 +vn 0.594623 -0.117100 0.795404 +vn 0.564287 -0.015992 0.825373 +vn 0.453475 0.033082 0.890622 +vn 0.827509 -0.160375 0.538041 +vn 0.790490 -0.179907 0.585406 +vn 0.506607 -0.103549 0.855922 +vn 0.284097 0.679342 0.676565 +vn 0.262673 0.663869 0.700186 +vn 0.689413 -0.299081 0.659719 +vn 0.587115 -0.189764 0.786920 +vn 0.374279 -0.129154 0.918241 +vn 0.731773 0.020081 0.681234 +vn 0.671499 0.071169 0.737541 +vn 0.681234 0.143498 0.717826 +vn 0.631489 0.176153 0.755058 +vn 0.634236 0.255287 0.729759 +vn 0.546587 0.312662 0.776818 +vn 0.612140 -0.594073 0.521805 +vn 0.576373 0.383038 0.721824 +vn 0.472518 0.407910 0.781213 +vn 0.659139 -0.310434 0.684896 +vn 0.567003 -0.298502 0.767693 +vn 0.607898 -0.591083 0.530137 +vn -0.033876 -0.999237 0.018189 +vn 0.003021 -0.999969 0.000977 +vn -0.168187 -0.478408 -0.861843 +vn -0.116398 0.199896 -0.972869 +vn -0.119907 0.225837 -0.966735 +vn 0.607166 -0.098422 0.788446 +vn 0.582293 -0.452742 0.675222 +vn 0.525742 -0.017579 0.850429 +vn 0.503250 0.043641 0.863002 +vn 0.591144 -0.009644 0.806482 +vn 0.793756 -0.019654 0.607898 +vn 0.803735 -0.048341 0.593005 +vn 0.811212 -0.015107 0.584490 +vn 0.914335 0.179815 -0.362835 +vn 0.923246 0.182226 -0.338145 +vn 0.651936 -0.498306 -0.571490 +vn 0.722709 -0.398206 -0.564867 +vn -0.201483 -0.427717 -0.881130 +vn -0.414106 -0.573168 -0.707053 +vn -0.531266 0.133183 -0.836634 +vn -0.573107 0.122959 -0.810175 +vn 0.593341 -0.380474 0.709342 +vn 0.628437 -0.369945 0.684225 +vn 0.611469 -0.542467 0.576006 +vn 0.196142 0.817042 0.542161 +vn 0.207312 0.822260 0.529984 +vn 0.289560 0.713279 0.638203 +vn 0.780877 -0.123692 0.612293 +vn -0.206305 0.377514 -0.902707 +vn 0.840663 0.425275 -0.335246 +vn 0.201239 0.129337 -0.970946 +vn -0.418958 0.281014 -0.863399 +vn -0.482681 0.186895 -0.855586 +vn -0.387799 0.164800 -0.906857 +vn -0.313974 -0.466597 -0.826838 +vn -0.639180 -0.320353 -0.699118 +vn -0.673635 0.392438 -0.626240 +vn -0.594134 0.408216 -0.693045 +vn -0.749413 0.547746 -0.371868 +vn 0.475661 0.592059 0.650502 +vn 0.391186 -0.902890 0.178137 +vn 0.396069 -0.918058 -0.014863 +vn 0.646687 -0.604297 0.465407 +vn 0.567309 -0.573870 0.590564 +vn 0.572558 -0.528794 0.626514 +vn 0.496780 -0.307138 0.811701 +vn -0.452895 -0.518113 -0.725516 +vn -0.432722 -0.460585 -0.774957 +vn 0.590075 -0.300607 0.749260 +vn 0.635273 -0.293863 0.714133 +vn 0.055055 -0.826594 -0.560045 +vn 0.011719 0.029511 -0.999481 +vn 0.479293 -0.362041 0.799463 +vn 0.571490 -0.303812 0.762261 +vn 0.273934 0.718467 0.639302 +vn 0.783258 0.353740 0.511216 +vn 0.842524 0.342204 0.415906 +vn 0.625111 -0.064669 0.777825 +vn 0.594195 0.006714 0.804254 +vn 0.543443 0.030580 0.838862 +vn 0.394787 0.264626 0.879818 +vn -0.154241 0.267647 -0.951079 +vn -0.245796 0.498550 -0.831263 +vn -0.175329 0.508957 -0.842738 +vn -0.563768 -0.118412 0.817377 +vn 0.946074 0.180639 -0.268777 +vn 0.621021 -0.537675 0.570238 +vn 0.394787 -0.716880 -0.574602 +vn 0.859096 0.337413 0.384747 +vn 0.869503 0.326914 0.370190 +vn 0.993896 0.075686 0.080203 +vn 0.993316 0.092502 0.068911 +vn 0.583117 -0.227912 0.779717 +vn 0.653066 -0.182073 0.735038 +vn -0.410810 -0.321482 -0.853145 +vn -0.241737 -0.163274 -0.956481 +vn 0.440535 -0.548204 0.710868 +vn 0.471511 -0.573748 0.669668 +vn 0.457076 -0.449019 0.767724 +vn 0.356365 -0.372204 0.856990 +vn 0.441633 -0.385693 0.810022 +vn 0.372784 -0.423292 0.825739 +vn 0.276955 -0.545946 0.790704 +vn 0.218818 -0.592334 0.775384 +vn 0.195441 -0.485214 0.852229 +vn 0.296884 0.621204 0.725211 +vn 0.361705 0.531968 0.765587 +vn 0.315714 0.607776 0.728599 +vn 0.172002 -0.524186 0.834010 +vn 0.507279 -0.096835 0.856288 +vn 0.587298 0.013306 0.809229 +vn 0.374737 0.182958 0.908872 +vn 0.461409 0.069430 0.884457 +vn 0.290078 0.281320 0.914701 +vn 0.464614 -0.680288 0.566820 +vn 0.450850 -0.639393 0.622761 +vn 0.403760 -0.694662 0.595264 +vn -0.278268 0.178716 -0.943693 +vn -0.249550 0.129856 -0.959593 +vn -0.413404 -0.025575 -0.910154 +vn -0.363170 0.168126 -0.916410 +vn -0.392529 0.115574 -0.912412 +vn 0.571123 -0.455397 0.682913 +vn 0.398633 -0.098910 0.911740 +vn 0.480270 -0.017304 0.876919 +vn 0.079684 -0.561571 -0.823573 +vn 0.049104 -0.514054 -0.856319 +vn -0.493210 0.007782 -0.869869 +vn -0.371502 0.023225 -0.928129 +vn -0.372845 -0.509507 -0.775445 +vn 0.130680 0.184332 -0.974120 +vn 0.076052 0.230506 -0.970061 +vn 0.121647 0.252907 -0.959777 +vn -0.224952 -0.023286 -0.974059 +vn -0.208594 -0.035188 -0.977355 +vn 0.803247 -0.069582 0.591540 +vn 0.769768 -0.065859 0.634907 +vn 0.786706 0.019013 0.617023 +vn 0.385662 0.311258 0.868526 +vn 0.465133 0.240516 0.851894 +vn -0.125370 0.879635 0.458754 +vn 0.820673 0.467116 -0.329020 +vn 0.375958 -0.228004 0.898129 +vn 0.913053 0.403424 0.059603 +vn 0.911130 0.404981 0.076083 +vn 0.921812 0.381024 0.070772 +vn 0.630177 -0.462386 0.623707 +vn 0.532792 0.354411 0.768426 +vn 0.644765 -0.373394 0.666951 +vn 0.549150 -0.771905 -0.320231 +vn 0.540330 -0.783837 -0.305918 +vn 0.702597 -0.661763 -0.261422 +vn 0.341136 -0.217597 0.914457 +vn 0.387768 -0.193762 0.901151 +vn 0.232459 -0.208045 0.950072 +vn 0.447035 -0.185614 0.875027 +vn 0.229316 -0.129307 0.964690 +vn 0.370006 0.131596 0.919645 +vn 0.433515 0.158086 0.887143 +vn 0.461776 0.214667 0.860591 +vn 0.537980 -0.525712 0.658895 +vn 0.472060 -0.498978 0.726707 +vn 0.634571 -0.469131 0.614154 +vn 0.289956 -0.229865 0.929014 +vn 0.387188 -0.092349 0.917325 +vn 0.341441 -0.151860 0.927519 +vn 0.592486 -0.038850 0.804621 +vn 0.655690 -0.102756 0.747978 +vn -0.300394 -0.163396 -0.939695 +vn -0.479293 -0.316263 -0.818659 +vn 0.349590 0.276193 0.895230 +vn 0.983642 -0.017457 -0.179235 +vn -0.356059 -0.583453 0.729881 +vn 0.384442 -0.318217 0.866543 +vn -0.863674 0.131108 -0.486648 +vn 0.239601 -0.299417 0.923521 +vn 0.604480 -0.388379 0.695486 +vn 0.636158 -0.300272 0.710715 +vn 0.546983 -0.388501 0.741478 +vn 0.638661 -0.112705 0.761162 +vn 0.539262 -0.095004 0.836726 +vn 0.530442 -0.289773 0.796625 +vn -0.281533 0.494888 -0.822047 +vn -0.175909 0.346538 -0.921354 +vn -0.247597 0.438643 -0.863857 +vn 0.329997 0.418104 0.846309 +vn 0.422376 0.261727 0.867794 +vn 0.446120 0.258400 0.856838 +vn 0.454085 0.273843 0.847804 +vn 0.432752 0.281961 0.856258 +vn -0.000488 0.505783 -0.862636 +vn -0.264016 0.140934 -0.954131 +vn -0.470992 0.055300 -0.880367 +vn 0.261513 0.643086 0.719718 +vn 0.758171 -0.242561 0.605213 +vn 0.756767 -0.282998 0.589221 +vn 0.723380 -0.207801 0.658406 +vn -0.742180 0.248085 0.622547 +vn -0.794580 0.106082 0.597766 +vn -0.749016 0.286508 0.597369 +vn -0.185125 -0.508988 -0.840602 +vn -0.269509 -0.452803 -0.849879 +vn -0.118046 -0.532090 -0.838374 +vn 0.707053 0.390240 0.589709 +vn 0.674581 0.393231 0.624683 +vn 0.660695 0.417188 0.624012 +vn 0.497360 0.109928 0.860530 +vn 0.378460 0.030824 0.925077 +vn 0.293558 0.869350 0.397504 +vn 0.402264 -0.041536 0.914548 +vn 0.250893 -0.066744 0.965697 +vn 0.330393 -0.055757 0.942167 +vn 0.476791 -0.479415 0.736717 +vn 0.574358 -0.418958 0.703238 +vn 0.485672 -0.433943 0.758812 +vn 0.981933 0.077609 0.172430 +vn 0.978179 0.020997 0.206641 +vn 0.453047 -0.086581 0.887234 +vn 0.254891 -0.171758 0.951567 +vn 0.358837 -0.051363 0.931974 +vn 0.341533 0.050111 0.938505 +vn 0.403729 0.093081 0.910092 +vn 0.529832 0.108737 0.841060 +vn 0.482345 0.045686 0.874752 +vn 0.425794 0.133366 0.894925 +vn 0.116581 0.121403 0.985717 +vn 0.189642 0.181005 0.964995 +vn 0.332163 0.098910 0.937986 +vn 0.170049 -0.099155 0.980407 +vn 0.133793 0.021241 0.990753 +vn 0.320658 0.027924 0.946745 +vn 0.316202 0.625080 0.713614 +vn 0.313761 0.611744 0.726127 +vn 0.223792 0.790887 0.569506 +vn 0.195532 0.801599 0.564928 +vn 0.471236 0.206977 0.857356 +vn 0.714133 -0.416150 0.562853 +vn 0.692373 -0.435896 0.574938 +vn 0.670919 -0.445845 0.592486 +vn 0.681570 -0.425916 0.594989 +vn 0.657643 -0.451766 0.602802 +vn 0.905087 -0.198370 -0.376049 +vn 0.976531 0.185369 -0.109470 +vn 0.997101 0.072451 0.022797 +vn 0.994171 0.088809 0.060976 +vn 0.987518 0.147893 0.053835 +vn 0.994385 0.082919 0.065584 +vn 0.464248 -0.325846 0.823573 +vn 0.797510 0.532517 -0.283456 +vn 0.589892 -0.210700 0.779504 +vn 0.334025 0.555132 -0.761711 +vn 0.426618 0.499985 -0.753624 +vn 0.444502 0.544237 -0.711478 +vn -0.489059 0.678976 0.547502 +vn -0.460433 0.695639 0.551378 +vn -0.703207 0.549272 -0.451369 +vn 0.431227 0.295114 0.852565 +vn 0.410962 0.330760 0.849513 +vn 0.478622 0.269784 0.835536 +vn 0.456252 0.281747 0.844020 +vn 0.776788 -0.292856 0.557482 +vn 0.777612 -0.301553 0.551653 +vn 0.036317 -0.778954 -0.625965 +vn 0.079989 -0.820399 -0.566118 +vn -0.287606 -0.466506 -0.836421 +vn 0.626789 -0.457595 0.630604 +vn 0.987823 0.142674 0.061525 +vn 0.682028 -0.042756 0.730033 +vn 0.533891 -0.091128 0.840602 +vn 0.373028 -0.234931 0.897549 +vn 0.367748 -0.183996 0.911496 +vn 0.673086 0.326029 0.663778 +vn 0.813929 0.107822 0.570849 +vn 0.781549 0.182012 0.596667 +vn 0.758171 0.200781 0.620350 +vn 0.794885 0.055208 0.604205 +vn 0.825556 0.057711 0.561327 +vn 0.800867 0.139622 0.582293 +vn -0.946593 -0.316752 -0.060152 +vn -0.956999 -0.271584 -0.101779 +vn 0.292978 0.405896 0.865658 +vn 0.364910 0.401440 0.840022 +vn 0.260598 0.366863 0.893002 +vn 0.627644 -0.013062 0.778375 +vn 0.661397 -0.060152 0.747612 +vn 0.608386 0.062502 0.791162 +vn 0.511826 -0.464583 -0.722587 +vn 0.583422 -0.392132 -0.711203 +vn 0.962981 -0.253792 -0.090854 +vn 0.962188 -0.247810 -0.112918 +vn 0.418073 -0.547410 0.724937 +vn 0.433790 -0.412580 0.800989 +vn 0.414686 0.438673 0.797204 +vn 0.363109 0.405286 0.838954 +vn 0.475692 0.349010 0.807367 +vn 0.526811 0.319285 0.787713 +vn 0.531571 0.264962 0.804468 +vn 0.493423 0.261055 0.829646 +vn 0.466781 0.312113 0.827448 +vn 0.908322 -0.088046 0.408887 +vn -0.181433 -0.427808 -0.885464 +vn -0.529435 -0.460799 -0.712241 +vn 0.543931 -0.838832 0.021699 +vn 0.616993 -0.785455 -0.048311 +vn 0.880398 -0.150243 0.449782 +vn 0.830500 -0.116367 0.544664 +vn 0.559923 0.313242 0.767022 +vn 0.582629 0.321909 0.746239 +vn 0.549211 0.334513 0.765770 +vn 0.777490 0.092654 0.621998 +vn 0.761345 0.139470 0.633137 +vn 0.339793 0.625721 0.702109 +vn 0.670156 0.330851 0.664357 +vn 0.332102 0.147832 0.931578 +vn 0.787988 -0.218543 0.575549 +vn 0.744743 -0.139103 0.652669 +vn 0.387219 0.636158 0.667318 +vn 0.320627 0.633778 0.703879 +vn 0.293252 0.673635 0.678335 +vn -0.444014 -0.424635 -0.788995 +vn -0.516892 -0.341777 -0.784845 +vn -0.089541 -0.776696 -0.623463 +vn -0.502396 0.329173 -0.799493 +vn 0.045991 -0.617969 -0.784845 +vn -0.036317 -0.572466 -0.819086 +vn 0.467269 0.664632 0.582995 +vn -0.296274 0.217994 -0.929868 +vn 0.019990 -0.798547 0.601581 +vn -0.977691 -0.094424 -0.187536 +vn 0.563036 0.093417 0.821100 +vn 0.439833 -0.240211 0.865322 +vn 0.457564 -0.063692 0.886868 +vn -0.825312 0.469497 0.313639 +vn -0.899716 0.315531 0.301553 +vn -0.904141 0.355296 0.237190 +vn 0.516678 0.045503 0.854946 +vn 0.566118 0.149449 0.810633 +vn 0.416913 0.132328 0.899228 +vn 0.183111 0.274270 0.944029 +vn 0.208747 0.267891 0.940550 +vn 0.523759 0.295999 0.798761 +vn 0.516953 0.380657 0.766686 +vn 0.531449 0.408704 0.741935 +vn 0.513718 0.445448 0.733207 +vn 0.552507 0.391644 0.735740 +vn 0.603687 0.329173 0.726035 +vn 0.594928 0.244545 0.765648 +vn 0.586291 0.237648 0.774438 +vn 0.532792 0.296670 0.792505 +vn 0.497238 0.326823 0.803674 +vn 0.412854 0.379681 0.827876 +vn 0.680715 -0.134068 -0.720145 +vn 0.706900 -0.305521 -0.637898 +vn 0.741447 -0.603107 -0.294046 +vn 0.731040 -0.414014 0.542314 +vn 0.710318 -0.437422 0.551439 +vn 0.711600 -0.242958 0.659200 +vn 0.686270 -0.246132 0.684408 +vn 0.675192 -0.293680 0.676626 +vn 0.567675 -0.185369 0.802087 +vn 0.487899 -0.200629 0.849513 +vn 0.517472 -0.152135 0.842036 +vn 0.612629 -0.154942 0.774987 +vn 0.627705 -0.163366 0.761101 +vn 0.631550 -0.306650 0.712088 +vn 0.559069 -0.045534 0.827845 +vn 0.550249 0.051088 0.833399 +vn 0.769646 0.519578 -0.371044 +vn 0.830744 0.465651 -0.304910 +vn 0.302255 -0.261788 0.916562 +vn 0.237587 -0.131016 0.962462 +vn 0.474990 -0.515946 0.712821 +vn 0.659841 -0.716514 -0.226203 +vn -0.371899 -0.281716 -0.884457 +vn -0.315226 -0.118442 -0.941588 +vn 0.516861 -0.053774 0.854366 +vn 0.502823 -0.081210 0.860561 +vn 0.412641 -0.115696 0.903500 +vn 0.504440 -0.001343 0.863430 +vn -0.215308 -0.037416 -0.975799 +vn -0.156011 0.052736 -0.986328 +vn -0.040590 -0.960936 0.273690 +vn 0.472365 -0.682516 0.557665 +vn 0.549791 -0.547197 0.631092 +vn 0.038179 -0.999207 -0.010620 +vn -0.003235 -0.999969 -0.001953 +vn 0.010804 -0.999329 -0.034944 +vn 0.552507 -0.443556 0.705649 +vn 0.544420 -0.252083 0.800012 +vn 0.560350 -0.041597 0.827204 +vn 0.563799 0.088168 0.821162 +vn 0.590991 0.156682 0.791284 +vn 0.587024 0.297647 0.752831 +vn 0.588397 0.391919 0.707205 +vn 0.573382 0.416761 0.705344 +vn 0.584948 0.448012 0.676077 +vn 0.604785 0.408155 0.683798 +vn 0.637837 0.324168 0.698599 +vn 0.659291 0.238563 0.713004 +vn 0.672018 0.221107 0.706717 +vn 0.636250 0.258583 0.726829 +vn 0.565600 0.284402 0.774041 +vn 0.503220 0.319010 0.803095 +vn -0.929746 0.251747 0.268563 +vn -0.955657 0.114505 0.271249 +vn -0.965178 0.117954 0.233436 +vn 0.606372 -0.164800 0.777886 +vn 0.349467 0.417158 0.838923 +vn 0.279946 0.377850 0.882504 +vn 0.757805 -0.419050 0.500046 +vn 0.716544 -0.436262 0.544267 +vn 0.574816 0.421308 0.701437 +vn 0.558000 0.407941 0.722617 +vn 0.533006 0.416791 0.736290 +vn 0.783074 -0.274972 0.557817 +vn 0.762902 -0.215125 0.609607 +vn 0.393994 0.583514 0.710105 +vn 0.439070 0.524461 0.729453 +vn 0.766900 0.306406 0.563860 +vn 0.822230 0.265603 0.503342 +vn 0.735038 0.328410 0.593158 +vn 0.070772 -0.912748 -0.402326 +vn 0.349101 0.555650 0.754540 +vn 0.111240 -0.395917 0.911496 +vn 0.118137 -0.252998 0.960204 +vn 0.183477 -0.263833 0.946928 +vn 0.558031 0.227332 0.798059 +vn 0.737968 -0.082705 0.669698 +vn 0.299264 0.251839 0.920316 +vn 0.189825 0.819514 0.540666 +vn 0.273659 0.658345 0.701193 +vn 0.190558 0.825892 0.530625 +vn 0.388714 -0.197211 0.899991 +vn 0.550523 -0.155950 0.820093 +vn 0.530747 -0.059938 0.845363 +vn 0.393170 -0.618244 0.680532 +vn 0.061739 -0.260811 0.963408 +vn 0.533097 0.298471 0.791620 +vn 0.175085 -0.165136 0.970580 +vn 0.126438 -0.135868 0.982604 +vn 0.217322 -0.114536 0.969329 +vn 0.756462 -0.307199 0.577349 +vn 0.746055 -0.270913 0.608234 +vn 0.525437 0.235511 0.817560 +vn -0.829066 0.313059 0.463271 +vn -0.844844 0.240944 0.477615 +vn -0.853969 0.279275 0.438978 +vn 0.638081 -0.066195 0.767083 +vn 0.644765 -0.526872 0.553758 +vn 0.716178 0.369701 0.591906 +vn 0.756951 0.363262 0.543168 +vn 0.711386 0.396374 0.580309 +vn 0.578173 -0.208716 0.788751 +vn 0.501206 -0.263588 0.824183 +vn 0.450789 -0.238441 0.860164 +vn 0.588336 -0.129124 0.798212 +vn 0.597156 -0.475906 0.645650 +vn 0.639271 -0.493027 0.590106 +vn 0.578784 -0.449324 0.680502 +vn 0.578875 0.257271 0.773736 +vn 0.609272 0.203406 0.766381 +vn 0.620624 0.171026 0.765191 +vn -0.138340 0.082278 -0.986938 +vn -0.137944 0.086856 -0.986602 +vn -0.666311 -0.730094 -0.151372 +vn -0.563372 -0.792383 -0.233833 +vn 0.346416 -0.838130 0.421277 +vn 0.546464 -0.692862 0.470382 +vn 0.358287 -0.788659 0.499557 +vn 0.611621 -0.551164 0.567522 +vn 0.654866 -0.455061 0.603351 +vn 0.667592 -0.278695 0.690390 +vn 0.657338 -0.058199 0.751305 +vn 0.625965 0.091494 0.774438 +vn 0.656209 0.193670 0.729270 +vn 0.658345 0.316630 0.682852 +vn 0.623524 0.376934 0.684896 +vn 0.606708 0.419385 0.675253 +vn 0.603931 0.454054 0.655019 +vn 0.630085 0.418256 0.654225 +vn 0.685354 0.338267 0.644826 +vn 0.720176 0.253456 0.645802 +vn 0.731468 0.213599 0.647511 +vn 0.694296 0.203345 0.690329 +vn 0.624653 0.236518 0.744194 +vn 0.581866 0.272683 0.766167 +vn 0.501816 0.341044 0.794885 +vn 0.637501 0.052217 -0.768639 +vn -0.013062 -0.999176 0.038240 +vn -0.001953 -0.998077 0.061525 +vn 0.014283 -0.990753 -0.134770 +vn 0.605762 0.460311 0.648915 +vn 0.996277 0.055788 0.065584 +vn 0.994201 0.084201 0.066713 +vn 0.994263 0.063387 0.085788 +vn 0.781487 -0.381512 0.493637 +vn 0.722556 -0.380535 0.577105 +vn 0.786126 0.063173 0.614765 +vn 0.772668 0.015595 0.634571 +vn 0.735191 -0.002441 0.677847 +vn 0.858730 0.195410 0.473617 +vn 0.818476 0.258766 0.512925 +vn 0.786187 0.022858 0.617512 +vn 0.845302 0.062532 0.530564 +vn 0.865200 0.033906 0.500229 +vn 0.801874 0.048158 0.595508 +vn 0.811518 0.066805 0.580432 +vn 0.486496 0.362743 0.794794 +vn 0.568712 0.151646 0.808405 +vn 0.680135 0.071047 0.729606 +vn 0.583392 0.058901 0.810022 +vn 0.475631 -0.105228 0.873318 +vn 0.445021 0.431745 -0.784539 +vn 0.480148 0.428846 -0.765191 +vn 0.991394 0.100589 0.083651 +vn 0.993286 0.091830 0.070315 +vn 0.348491 -0.373669 0.859554 +vn 0.447157 0.458541 0.767968 +vn 0.539476 0.553789 0.634236 +vn 0.504532 0.534074 0.678335 +vn 0.528642 0.511399 0.677480 +vn 0.602710 -0.361126 0.711539 +vn 0.633778 0.122959 0.763634 +vn 0.567553 0.050783 0.821741 +vn 0.573504 0.104984 0.812433 +vn 0.175909 -0.221839 0.959075 +vn 0.800623 -0.328990 0.500748 +vn 0.784509 -0.238197 0.572527 +vn 0.312357 0.621235 0.718650 +vn 0.046480 -0.998688 -0.020173 +vn 0.562914 -0.209204 0.799585 +vn 0.354350 0.067995 0.932615 +vn 0.402173 -0.096469 0.910428 +vn 0.473342 -0.165654 0.865139 +vn 0.478713 -0.211188 0.852168 +vn 0.448866 -0.152684 0.880428 +vn 0.520707 -0.103244 0.847438 +vn 0.585986 0.013550 0.810205 +vn 0.564196 -0.031617 0.825007 +vn 0.545549 -0.116703 0.829890 +vn 0.603015 -0.080294 0.793664 +vn -0.131108 0.136296 -0.981933 +vn -0.133030 0.155828 -0.978759 +vn 0.589160 -0.697714 0.407453 +vn 0.449843 -0.816157 0.362590 +vn 0.273721 -0.861629 0.427320 +vn 0.359172 -0.872585 0.330943 +vn 0.667867 -0.552599 0.498520 +vn 0.709677 -0.449232 0.542680 +vn 0.757134 -0.294565 0.583026 +vn 0.782678 -0.089389 0.615925 +vn 0.765221 0.090793 0.637287 +vn 0.759117 0.204810 0.617878 +vn 0.719138 0.290719 0.631092 +vn 0.677267 0.360881 0.641133 +vn 0.656606 0.419080 0.627064 +vn 0.643666 0.455824 0.614704 +vn 0.676504 0.439619 0.590808 +vn 0.723838 0.347148 0.596271 +vn 0.751061 0.250557 0.610797 +vn 0.747246 0.183203 0.638752 +vn 0.735130 0.162267 0.658193 +vn 0.702506 0.198035 0.683554 +vn 0.649068 0.233955 0.723808 +vn 0.612079 0.293649 0.734214 +vn 0.511826 0.373882 0.773431 +vn 0.911740 -0.373363 -0.171087 +vn 0.861415 -0.472457 -0.186224 +vn -0.221473 0.380322 -0.897916 +vn -0.698538 -0.438856 0.565142 +vn 0.777612 0.003540 0.628712 +vn 0.851894 0.119816 0.509751 +vn 0.883297 0.102084 0.457503 +vn 0.875759 0.046541 0.480483 +vn 0.882900 0.107303 0.457106 +vn 0.897671 0.137486 0.418653 +vn 0.870022 0.120762 0.477950 +vn 0.716849 -0.114566 0.687704 +vn 0.783654 -0.260140 0.564043 +vn -0.030396 -0.780725 -0.624104 +vn 0.935667 0.346202 0.068087 +vn 0.653859 -0.566485 0.501511 +vn 0.216529 0.347148 0.912442 +vn 0.800836 0.519211 0.298349 +vn 0.757134 0.581713 0.297189 +vn 0.781030 0.551958 0.292032 +vn 0.886288 -0.050691 0.460311 +vn 0.867336 0.022431 0.497147 +vn 0.872127 -0.019776 0.488845 +vn 0.763115 0.120640 0.634846 +vn 0.708426 0.201483 0.676382 +vn 0.893277 0.152623 0.422773 +vn 0.862728 0.032838 0.504562 +vn 0.885861 0.013092 0.463729 +vn 0.363292 -0.492813 0.790643 +vn 0.719016 0.367077 0.590106 +vn 0.727531 0.386822 0.566576 +vn 0.829981 -0.071352 0.553178 +vn 0.851192 -0.127201 0.509171 +vn 0.890255 -0.080844 0.448195 +vn 0.879574 -0.079684 0.468978 +vn 0.873379 -0.136113 0.467605 +vn 0.860164 -0.116276 0.496506 +vn 0.860225 -0.151830 0.486740 +vn 0.883145 -0.113163 0.455214 +vn 0.864345 0.036958 0.501511 +vn 0.297922 0.516831 0.802545 +vn 0.689627 0.266305 0.673391 +vn 0.742241 0.253670 0.620228 +vn 0.671865 0.319651 0.668111 +vn 0.920499 0.198675 0.336436 +vn 0.996918 0.070406 0.034364 +vn 0.686483 -0.498154 0.529649 +vn 0.729637 -0.376110 0.571093 +vn 0.768029 -0.254769 0.587512 +vn 0.518845 0.632252 0.575304 +vn -0.151006 0.233192 -0.960601 +vn 0.606586 -0.693319 0.388958 +vn 0.473586 -0.810205 0.345286 +vn 0.689718 -0.554704 0.465346 +vn 0.745598 -0.440962 0.499588 +vn 0.799432 -0.293619 0.524064 +vn 0.821406 -0.093448 0.562609 +vn 0.818537 0.082461 0.568468 +vn 0.795801 0.178808 0.578509 +vn 0.765496 0.259285 0.588855 +vn 0.732719 0.342967 0.587756 +vn 0.687765 0.402387 0.604144 +vn 0.678335 0.468673 0.565844 +vn 0.707480 0.450240 0.544694 +vn 0.736808 0.350322 0.578234 +vn 0.773217 0.252113 0.581835 +vn 0.795251 0.180792 0.578661 +vn 0.799585 0.144627 0.582812 +vn 0.770409 0.154118 0.618610 +vn 0.743522 0.205237 0.636402 +vn 0.678549 0.235694 0.695700 +vn 0.586596 0.310862 0.747826 +vn 0.504349 0.398328 0.766106 +vn 0.381787 0.514908 0.767510 +vn 0.313700 0.551500 0.772912 +vn -0.160710 0.377972 -0.911740 +vn -0.242073 0.359172 -0.901303 +vn -0.237281 0.546464 -0.803156 +vn 0.770745 0.072848 0.632923 +vn 0.352092 -0.349803 0.868129 +vn 0.528642 -0.250740 0.810938 +vn 0.791955 0.065065 0.607044 +vn 0.825312 0.053407 0.562090 +vn 0.791375 0.081698 0.605823 +vn 0.806452 0.072176 0.586840 +vn 0.807703 0.087039 0.583087 +vn 0.791070 0.080325 0.606403 +vn 0.858394 0.180517 0.480117 +vn 0.873043 0.159886 0.460616 +vn 0.891140 0.111942 0.439650 +vn 0.470138 0.033601 -0.881924 +vn 0.419568 -0.024812 -0.907376 +vn 0.804498 -0.173925 0.567888 +vn 0.810144 -0.169866 0.561022 +vn 0.864864 0.080630 0.495437 +vn 0.876095 0.166753 0.452315 +vn 0.878567 0.154302 0.451949 +vn 0.862819 0.186316 0.469863 +vn 0.994232 0.088046 0.060976 +vn 0.995788 0.084750 0.034761 +vn 0.996765 0.053865 0.059114 +vn 0.732688 0.421339 0.534410 +vn 0.753533 0.437239 0.490890 +vn 0.087100 0.737022 0.670186 +vn 0.729789 0.417280 0.541490 +vn 0.733024 0.398633 0.551103 +vn 0.734672 0.376537 0.564287 +vn 0.737907 0.342296 0.581622 +vn 0.879818 -0.052126 0.472427 +vn 0.905026 -0.047212 0.422681 +vn 0.900540 -0.025758 0.433943 +vn 0.781121 0.339122 0.524216 +vn 0.863247 0.004761 0.504746 +vn 0.872280 -0.081942 0.482070 +vn 0.891812 -0.055483 0.448958 +vn 0.877255 -0.017457 0.479659 +vn 0.973937 -0.028138 0.224952 +vn 0.313974 -0.145634 0.938169 +vn 0.162267 -0.104099 0.981231 +vn 0.202368 -0.118686 0.972076 +vn 0.172063 -0.093234 0.980651 +vn -0.183721 0.280679 -0.942045 +vn 0.668325 -0.666799 0.329600 +vn 0.455977 -0.816309 0.354534 +vn 0.579608 -0.670827 0.462600 +vn 0.523301 -0.716392 0.461379 +vn 0.532060 -0.753471 0.386181 +vn 0.735893 -0.545915 0.400494 +vn 0.793939 -0.415998 0.443342 +vn 0.843837 -0.294412 0.448531 +vn 0.862728 -0.111942 0.493088 +vn 0.857295 0.065462 0.510636 +vn 0.835749 0.157689 0.525925 +vn 0.812464 0.243538 0.529649 +vn 0.770562 0.304666 0.559771 +vn 0.729057 0.390576 0.562029 +vn 0.707694 0.479537 0.518815 +vn 0.729514 0.447340 0.517350 +vn 0.764367 0.351421 0.540544 +vn 0.812860 0.270241 0.515915 +vn 0.835170 0.180364 0.519547 +vn 0.835994 0.121006 0.535173 +vn 0.815638 0.127110 0.564348 +vn 0.785577 0.152837 0.599536 +vn 0.723502 0.161168 0.671194 +vn 0.663411 0.265755 0.699423 +vn 0.593585 0.344127 0.727470 +vn 0.491775 0.450392 0.745170 +vn -0.876278 0.398206 0.271157 +vn -0.920927 0.310495 0.235450 +vn -0.874416 0.408094 0.262276 +vn 0.838313 -0.014466 0.544969 +vn 0.789727 0.010468 0.613330 +vn 0.881710 0.105686 0.459761 +vn 0.878628 0.144200 0.455184 +vn 0.472884 -0.169988 0.864559 +vn 0.445509 -0.161840 0.880490 +vn 0.591144 -0.178625 0.786493 +vn 0.942564 -0.064791 0.327616 +vn 0.907315 -0.021088 0.419904 +vn 0.787835 -0.294656 0.540757 +vn 0.787683 -0.323099 0.524522 +vn 0.790857 -0.201544 0.577807 +vn 0.784356 -0.155461 0.600452 +vn 0.768639 -0.017640 0.639393 +vn -0.365490 0.880825 -0.300851 +vn -0.252205 0.677572 -0.690848 +vn 0.887295 0.183477 0.423048 +vn 0.848811 0.078066 0.522843 +vn 0.879421 0.101047 0.465163 +vn 0.782250 -0.321085 0.533799 +vn 0.743950 -0.314920 0.589312 +vn 0.771874 -0.246651 0.585955 +vn 0.748894 -0.243995 0.616108 +vn 0.782464 -0.121158 0.610767 +vn 0.734611 -0.091128 0.672323 +vn 0.754845 -0.178014 0.631245 +vn 0.780206 -0.206091 0.590564 +vn 0.757683 -0.212531 0.616993 +vn 0.784326 -0.189428 0.590686 +vn 0.770562 -0.022797 0.636952 +vn 0.726707 -0.005127 0.686911 +vn 0.750786 0.054903 0.658223 +vn 0.699789 0.085421 0.709189 +vn 0.678732 0.100070 0.727500 +vn 0.725211 0.090732 0.682485 +vn 0.758293 0.370037 0.536668 +vn 0.726829 0.044649 0.685324 +vn 0.693899 0.014008 0.719932 +vn 0.803735 0.330729 0.494583 +vn 0.770287 0.348369 0.534074 +vn 0.770867 0.350078 0.532151 +vn 0.750969 0.347484 0.561449 +vn 0.838496 -0.055757 0.542009 +vn 0.822321 -0.039491 0.567614 +vn 0.689138 0.032258 0.723869 +vn 0.723502 0.136967 0.676565 +vn 0.752647 0.110477 0.649068 +vn -0.148137 0.213813 -0.965575 +vn -0.194159 0.229469 -0.953734 +vn 0.697317 -0.657247 0.285928 +vn 0.537156 -0.791162 0.292398 +vn 0.772607 -0.541459 0.331462 +vn 0.829615 -0.407300 0.381817 +vn 0.864162 -0.291879 0.409894 +vn 0.885678 -0.128819 0.446028 +vn 0.886380 0.044496 0.460768 +vn 0.868770 0.132969 0.477004 +vn 0.842647 0.207160 0.496963 +vn 0.799188 0.270821 0.536576 +vn 0.769707 0.391919 0.503891 +vn 0.732780 0.473586 0.488601 +vn 0.744560 0.445112 0.497421 +vn 0.788446 0.373150 0.488937 +vn 0.831690 0.279305 0.479843 +vn 0.854274 0.174291 0.489669 +vn 0.850032 0.095798 0.517869 +vn 0.838801 0.100864 0.534959 +vn 0.808527 0.100131 0.579821 +vn 0.789727 0.123905 0.600787 +vn 0.728813 0.207129 0.652608 +vn 0.648366 0.305277 0.697409 +vn 0.591479 0.386883 0.707419 +vn 0.733848 0.247414 0.632649 +vn 0.995941 0.071841 0.053743 +vn 0.993378 0.093326 0.066744 +vn 0.806452 -0.022034 0.590869 +vn 0.820093 -0.049593 0.570025 +vn 0.796136 -0.023072 0.604633 +vn 0.660176 -0.695151 0.284433 +vn 0.659047 0.003479 0.752068 +vn 0.695425 -0.074740 0.714682 +vn 0.666280 -0.031831 0.744987 +vn 0.913633 -0.051607 0.403211 +vn 0.715567 0.231239 0.659139 +vn 0.673849 0.352245 0.649464 +vn 0.298135 0.389325 0.871487 +vn 0.316935 -0.345592 0.883236 +vn 0.855464 0.192022 0.480911 +vn 0.858882 0.241371 0.451674 +vn 0.887845 0.135319 0.439772 +vn 0.184851 0.643300 0.742943 +vn 0.727653 0.030854 0.685202 +vn 0.859188 0.129551 0.494949 +vn 0.633259 0.424787 0.646931 +vn 0.602100 0.425367 0.675619 +vn 0.636860 0.443983 0.630268 +vn -0.985748 0.164281 -0.035737 +vn -0.986053 0.159642 -0.046754 +vn 0.591723 0.436537 0.677694 +vn 0.949980 0.271249 0.154607 +vn 0.909604 0.243812 0.336375 +vn 0.916776 0.325938 0.230781 +vn 0.554643 0.481216 0.678793 +vn 0.618366 0.473952 0.626850 +vn 0.503067 0.572863 0.647084 +vn 0.971404 0.227485 0.067690 +vn 0.967467 0.246223 0.057680 +vn 0.970977 0.227027 0.075167 +vn 0.593127 0.449446 0.667928 +vn 0.646901 0.413770 0.640522 +vn 0.633473 0.453505 0.626911 +vn 0.681509 0.432966 0.589953 +vn 0.590136 0.558245 0.583148 +vn 0.659932 0.417707 0.624470 +vn 0.683615 0.420057 0.596820 +vn 0.666890 0.342174 0.661916 +vn 0.683493 0.370281 0.629048 +vn 0.823084 -0.168035 0.542436 +vn 0.742149 -0.176733 0.646504 +vn 0.734489 -0.156865 0.660207 +vn 0.572100 0.316080 0.756798 +vn 0.593158 0.340190 0.729637 +vn 0.635884 0.285989 0.716788 +vn 0.777429 -0.085360 0.623127 +vn 0.813593 -0.120518 0.568773 +vn 0.727744 -0.096225 0.679006 +vn 0.789087 -0.053194 0.611927 +vn 0.719871 -0.037721 0.693045 +vn 0.844874 -0.077578 0.529252 +vn 0.845820 -0.064882 0.529466 +vn 0.837825 -0.080630 0.539933 +vn 0.837855 -0.050417 0.543535 +vn 0.332621 0.553453 0.763543 +vn 0.594623 0.445570 0.669210 +vn -0.129246 0.150304 -0.980132 +vn -0.181371 0.153691 -0.971313 +vn 0.695547 -0.651295 0.303293 +vn 0.576006 -0.767693 0.280740 +vn 0.463240 -0.846126 0.263436 +vn 0.772546 -0.548112 0.320475 +vn 0.849208 -0.399579 0.345134 +vn 0.894070 -0.293100 0.338694 +vn 0.910916 -0.153050 0.383099 +vn 0.902219 0.030519 0.430189 +vn 0.886319 0.112400 0.449171 +vn 0.865444 0.168767 0.471694 +vn 0.831782 0.250893 0.495102 +vn 0.796533 0.383068 0.467696 +vn 0.758171 0.460189 0.461898 +vn 0.757408 0.448408 0.474563 +vn 0.787164 0.389904 0.477798 +vn 0.838496 0.296915 0.456832 +vn 0.870632 0.161992 0.464431 +vn 0.866054 0.079806 0.493484 +vn 0.858119 0.075533 0.507828 +vn 0.842799 0.077944 0.532548 +vn 0.829585 0.082430 0.552232 +vn 0.797601 0.144719 0.585498 +vn 0.738639 0.257393 0.622974 +vn 0.293863 0.603992 0.740806 +vn 0.812677 -0.017945 0.582415 +vn 0.815119 -0.029237 0.578509 +vn 0.798883 -0.013855 0.601306 +vn 0.420698 0.169958 0.891110 +vn 0.303079 0.191748 0.933470 +vn 0.604938 -0.027619 0.795770 +vn 0.699515 0.000244 0.714591 +vn 0.707694 -0.062075 0.703757 +vn 0.483444 -0.082186 0.871487 +vn 0.464858 -0.177038 0.867489 +vn 0.317637 0.279885 0.905942 +vn 0.387494 0.664266 0.639149 +vn 0.997284 0.053072 0.050600 +vn 0.998993 0.044252 0.001495 +vn -0.175359 -0.396344 -0.901181 +vn 0.827845 0.108188 0.550371 +vn 0.808557 0.069185 0.584277 +vn 0.390454 0.469893 0.791650 +vn 0.286874 0.590075 0.754631 +vn 0.279733 0.496353 0.821802 +vn 0.720969 0.039216 0.691824 +vn 0.788476 0.019868 0.614704 +vn 0.631764 0.395856 0.666433 +vn 0.623341 0.387677 0.679037 +vn 0.496292 0.507218 0.704550 +vn 0.543840 0.449568 0.708579 +vn 0.627857 0.486007 0.607868 +vn 0.506577 0.543077 0.669607 +vn 0.591296 0.465468 0.658559 +vn 0.618702 0.415479 0.666738 +vn 0.593921 0.401502 0.697165 +vn 0.634175 0.371166 0.678243 +vn 0.636372 0.385601 0.668050 +vn 0.670125 0.323923 0.667776 +vn 0.669698 0.335734 0.662374 +vn 0.699850 0.287210 0.653951 +vn 0.684744 0.270363 0.676748 +vn 0.734794 0.254860 0.628559 +vn 0.709616 0.217963 0.670003 +vn 0.793268 0.297372 0.531297 +vn 0.758782 0.198675 0.620289 +vn 0.216773 -0.956328 -0.195990 +vn 0.650594 0.335490 0.681265 +vn 0.849513 0.282968 0.445174 +vn 0.533403 0.380718 0.755303 +vn 0.580554 0.396405 0.711173 +vn 0.795984 -0.039064 0.604022 +vn 0.770409 0.063082 0.634388 +vn 0.787652 -0.024537 0.615589 +vn 0.741203 0.138646 0.656758 +vn 0.733207 0.168737 0.658711 +vn 0.838038 -0.063082 0.541917 +vn 0.842097 -0.010102 0.539201 +vn 0.829035 -0.067721 0.555040 +vn 0.828883 0.077975 0.553911 +vn 0.794610 0.146733 0.589099 +vn 0.822443 -0.051668 0.566454 +vn 0.838221 -0.089206 0.537919 +vn 0.415113 -0.512497 0.751640 +vn 0.454604 -0.207312 0.866207 +vn 0.429029 -0.488907 0.759514 +vn 0.485916 0.003418 0.873989 +vn -0.165624 0.215705 -0.962279 +vn -0.170110 0.190222 -0.966857 +vn 0.656697 -0.062410 0.751549 +vn -0.170202 0.342753 -0.923856 +vn -0.191656 0.332804 -0.923307 +vn 0.706137 -0.644337 0.293466 +vn 0.602100 -0.755699 0.257607 +vn 0.504776 -0.831629 0.231330 +vn 0.786279 -0.538560 0.302744 +vn 0.865474 -0.381695 0.324351 +vn 0.900266 -0.282632 0.331065 +vn 0.921110 -0.187750 0.340953 +vn 0.923338 -0.034028 0.382397 +vn 0.889462 0.088382 0.448347 +vn 0.867458 0.139622 0.477432 +vn 0.848506 0.246651 0.468123 +vn 0.802667 0.368572 0.468856 +vn 0.760918 0.449873 0.467513 +vn 0.747185 0.446577 0.492203 +vn 0.764855 0.418714 0.489486 +vn 0.815363 0.320658 0.481979 +vn 0.871609 0.165624 0.461318 +vn 0.881741 0.064180 0.467299 +vn 0.868435 0.057009 0.492477 +vn 0.864467 0.065828 0.498337 +vn 0.845271 0.061007 0.530808 +vn 0.831782 0.118992 0.542161 +vn 0.799860 0.206427 0.563524 +vn 0.740989 0.187689 0.644704 +vn 0.684500 0.267434 0.678152 +vn 0.741295 -0.530320 0.411298 +vn 0.704581 -0.384320 0.596484 +vn 0.477584 0.308451 0.822626 +vn 0.547624 0.164892 0.820307 +vn 0.524644 0.271004 0.807001 +vn 0.254463 0.688375 0.679220 +vn 0.179601 0.770562 0.611469 +vn 0.531022 -0.461684 0.710501 +vn 0.487014 -0.272652 0.829707 +vn 0.379803 -0.169836 0.909330 +vn 0.690329 -0.718802 -0.081973 +vn 0.649922 -0.754967 -0.086947 +vn 0.511338 -0.372845 0.774255 +vn 0.651418 -0.306742 0.693930 +vn 0.007569 0.246620 -0.969054 +vn 0.149052 0.272195 -0.950621 +vn 0.018616 0.246284 -0.968993 +vn 0.843257 -0.030549 0.536607 +vn 0.808466 0.002625 0.588488 +vn 0.752159 0.006073 0.658925 +vn 0.635029 0.359203 0.683828 +vn 0.650655 0.353221 0.672201 +vn 0.501938 0.466231 0.728446 +vn 0.425214 0.572588 0.700888 +vn 0.464095 0.506027 0.726981 +vn 0.503647 0.426008 0.751549 +vn 0.484207 0.407636 0.774163 +vn 0.398541 0.009491 0.917081 +vn 0.548997 0.371197 0.748833 +vn 0.523392 0.349925 0.776879 +vn 0.500626 0.154698 0.851711 +vn 0.663839 0.126286 0.737114 +vn 0.358592 0.161107 0.919462 +vn 0.778375 0.060732 0.624805 +vn 0.990936 0.076510 -0.110324 +vn 0.732566 0.109745 0.671743 +vn 0.724540 0.138615 0.675100 +vn 0.692557 0.185614 0.697043 +vn 0.701468 0.207251 0.681845 +vn 0.894864 0.305277 0.325510 +vn 0.661580 0.246681 0.708090 +vn 0.676260 0.267647 0.686270 +vn 0.563128 0.309122 0.766350 +vn 0.599933 0.344005 0.722282 +vn 0.620960 0.278726 0.732566 +vn 0.664602 -0.363536 0.652760 +vn 0.707389 -0.399640 0.582965 +vn 0.821863 0.374279 0.429426 +vn 0.771966 0.376385 0.512223 +vn 0.285195 0.308634 0.907407 +vn -0.159886 0.262551 -0.951567 +vn -0.202155 0.299783 -0.932310 +vn 0.763634 0.087710 0.639637 +vn 0.700247 0.247017 0.669790 +vn 0.826350 0.001038 0.563097 +vn 0.892514 0.126835 0.432752 +vn 0.442396 -0.152074 0.883816 +vn 0.191870 -0.024262 0.981109 +vn 0.785943 0.161443 0.596820 +vn 0.747032 0.119083 0.653981 +vn 0.727012 0.043092 0.685232 +vn -0.310312 -0.413678 -0.855892 +vn 0.867489 0.381573 0.319102 +vn 0.589251 -0.766594 0.255013 +vn 0.464370 -0.824824 0.322459 +vn 0.592059 -0.756523 0.277627 +vn 0.461013 -0.851436 0.249916 +vn 0.695029 -0.644154 0.319285 +vn 0.790551 -0.531449 0.304178 +vn 0.857021 -0.398724 0.326334 +vn 0.885189 -0.303781 0.352275 +vn 0.900174 -0.199927 0.386883 +vn 0.907620 -0.078433 0.412366 +vn 0.880917 0.034791 0.471938 +vn 0.848231 0.125431 0.514512 +vn 0.833338 0.243446 0.496231 +vn 0.799219 0.353496 0.486007 +vn 0.761254 0.434889 0.480941 +vn 0.750084 0.442457 0.491501 +vn 0.743584 0.429609 0.512314 +vn 0.766564 0.359661 0.531938 +vn 0.849452 0.206946 0.485336 +vn 0.885525 0.059969 0.460646 +vn 0.886319 0.047182 0.460585 +vn 0.869259 0.035066 0.493057 +vn 0.852443 0.034608 0.521653 +vn 0.827082 0.101016 0.552904 +vn 0.799249 0.159703 0.579333 +vn 0.331584 -0.143071 0.932493 +vn 0.375652 0.390484 0.840449 +vn 0.258797 0.661519 0.703818 +vn 0.447920 -0.098483 0.888607 +vn 0.348582 0.068361 0.934751 +vn 0.556047 -0.171667 0.813196 +vn 0.629658 0.062319 0.774316 +vn 0.654988 -0.142338 0.742088 +vn 0.591723 -0.497147 0.634541 +vn 0.495041 0.139683 0.857540 +vn 0.580432 0.074252 0.810877 +vn 0.643483 -0.031220 0.764794 +vn 0.808893 -0.059358 0.584918 +vn 0.675008 -0.188665 0.713248 +vn 0.713675 -0.142033 0.685903 +vn 0.723869 -0.227271 0.651418 +vn 0.710715 -0.307108 0.632862 +vn 0.695944 -0.246406 0.674459 +vn 0.725364 -0.288980 0.624714 +vn 0.613422 -0.506302 0.606067 +vn 0.893277 0.352672 0.278634 +vn 0.489212 0.361431 0.793725 +vn 0.822871 0.013428 0.568041 +vn 0.875454 -0.033479 0.482101 +vn 0.779412 -0.029786 0.625782 +vn 0.794305 -0.113254 0.596851 +vn 0.782861 -0.127354 0.608997 +vn 0.804712 -0.049318 0.591571 +vn 0.824274 -0.085391 0.559679 +vn 0.426099 0.498215 0.755089 +vn 0.388318 0.566668 0.726676 +vn 0.497909 0.083132 0.863216 +vn 0.618091 0.077883 0.782220 +vn 0.527665 0.094546 0.844142 +vn 0.569933 0.037507 0.820826 +vn 0.564104 0.172704 0.807428 +vn 0.618824 0.082278 0.781182 +vn 0.652669 0.053529 0.755699 +vn 0.604266 0.028047 0.796258 +vn 0.544053 0.318278 0.776299 +vn 0.581286 0.303659 0.754875 +vn 0.575549 0.163732 0.801202 +vn 0.517075 0.409375 0.751640 +vn 0.604419 0.384991 0.697439 +vn 0.628346 0.415143 0.657888 +vn 0.502945 0.415571 0.757836 +vn 0.622974 0.415571 0.662679 +vn 0.496048 0.392102 0.774712 +vn 0.467147 0.364238 0.805628 +vn 0.590899 0.388256 0.707144 +vn 0.466628 0.408124 0.784631 +vn 0.565844 0.382885 0.730186 +vn 0.512192 0.505051 0.694632 +vn 0.558367 0.463149 0.688223 +vn 0.647053 0.309183 0.696890 +vn 0.739128 0.080081 -0.668752 +vn 0.434767 -0.324473 0.840022 +vn 0.454390 -0.371349 0.809687 +vn 0.361522 -0.437635 0.823237 +vn 0.630146 -0.512772 0.583056 +vn 0.575732 -0.699026 0.424116 +vn 0.618641 -0.565081 0.545793 +vn 0.498489 -0.259011 0.827265 +vn 0.556047 -0.323862 0.765435 +vn 0.641957 0.278237 0.714438 +vn 0.277383 -0.347118 0.895840 +vn 0.556780 -0.708792 0.433088 +vn 0.688192 -0.648671 0.324931 +vn 0.774194 -0.529893 0.346080 +vn 0.832881 -0.422376 0.357585 +vn 0.852962 -0.322581 0.410260 +vn 0.875851 -0.235847 0.420972 +vn 0.878079 -0.124210 0.462081 +vn 0.856838 -0.020142 0.515152 +vn 0.834223 0.118809 0.538408 +vn 0.806787 0.248207 0.536149 +vn 0.765007 0.358501 0.534959 +vn 0.730308 0.434828 0.526811 +vn 0.731712 0.437666 0.522477 +vn 0.717307 0.416211 0.558763 +vn 0.703513 0.395337 0.590503 +vn 0.790582 0.274148 0.547533 +vn 0.874874 0.104526 0.472915 +vn 0.896451 0.030946 0.442000 +vn 0.880795 0.011963 0.473312 +vn 0.872890 0.006378 0.487838 +vn 0.841456 0.066958 0.536119 +vn 0.800104 0.104617 0.590625 +vn 0.755089 0.142216 0.639973 +vn 0.691702 0.211341 0.690512 +vn 0.620014 0.468978 0.628956 +vn 0.924345 -0.326151 -0.197851 +vn 0.924192 -0.320963 -0.206854 +vn 0.929350 -0.335917 -0.152989 +vn 0.531877 -0.458083 0.712180 +vn 0.393292 -0.493301 0.775842 +vn 0.466628 -0.409742 0.783776 +vn 0.599567 -0.587359 0.543596 +vn 0.754936 -0.038057 0.654653 +vn 0.686697 -0.062655 0.724204 +vn -0.983245 0.108951 -0.145940 +vn -0.131565 0.217200 -0.967193 +vn -0.043977 0.176977 -0.983215 +vn 0.687429 -0.130467 0.714408 +vn -0.809809 -0.408490 0.421094 +vn -0.794671 -0.470840 0.383099 +vn -0.833888 -0.413770 0.365154 +vn 0.519303 0.267678 0.811548 +vn 0.547136 0.205237 0.811457 +vn 0.432966 0.427015 0.793817 +vn -0.301126 -0.641865 0.705191 +vn -0.287790 -0.664693 0.689413 +vn -0.312357 -0.546098 0.777276 +vn 0.403485 0.475723 0.781549 +vn 0.290078 0.612598 0.735221 +vn -0.153233 0.199500 -0.967834 +vn 0.510575 0.070162 0.856929 +vn 0.525224 0.057802 0.848964 +vn 0.569140 0.029115 0.821711 +vn 0.847011 0.010834 0.531449 +vn 0.627766 0.076144 0.774621 +vn 0.541032 0.144780 0.828425 +vn 0.766228 0.219489 0.603870 +vn 0.755608 0.231300 0.612781 +vn 0.608783 0.112064 0.785363 +vn 0.579943 -0.024964 0.814264 +vn 0.569659 0.009919 0.821802 +vn 0.707633 -0.430403 0.560320 +vn 0.487289 0.247871 0.837275 +vn 0.533219 0.206061 0.820460 +vn 0.461196 0.340831 0.819208 +vn 0.445906 0.561815 0.696768 +vn 0.583575 0.221168 0.781335 +vn 0.268319 0.671438 0.690756 +vn 0.999084 0.012757 -0.040345 +vn 0.328745 0.643757 0.690970 +vn 0.432905 0.553972 0.711112 +vn 0.645589 0.413251 0.642201 +vn 0.811212 0.571612 -0.123142 +vn 0.846461 0.528367 -0.065340 +vn 0.703726 0.029695 -0.709799 +vn 0.878262 -0.099734 -0.467635 +vn 0.897275 -0.099429 -0.430097 +vn 0.736717 -0.402539 -0.543260 +vn 0.763237 -0.489822 -0.421308 +vn 0.897427 -0.418806 -0.138493 +vn 0.837672 -0.041932 -0.544542 +vn -0.582049 -0.166448 -0.795923 +vn -0.493759 -0.083041 -0.865596 +vn 0.553240 0.622181 0.553850 +vn 0.456374 0.612445 0.645436 +vn 0.492935 0.618702 0.611682 +vn 0.596759 -0.054903 0.800501 +vn 0.571062 -0.076479 0.817316 +vn 0.460402 -0.227088 0.858150 +vn -0.994873 0.079409 0.062380 +vn 0.537858 0.033937 0.842311 +vn 0.584429 0.056978 0.809412 +vn 0.417920 -0.438215 0.795770 +vn 0.813623 0.334025 0.475814 +vn 0.886990 0.189032 0.421308 +vn 0.642750 -0.338511 0.687185 +vn 0.583728 -0.261727 0.768578 +vn 0.631275 0.318705 0.707022 +vn 0.553697 -0.523850 0.647267 +vn 0.663106 -0.647023 0.376354 +vn 0.749321 -0.541154 0.381603 +vn 0.780114 -0.458998 0.425092 +vn 0.796930 -0.373302 0.474868 +vn 0.800684 -0.268715 0.535386 +vn 0.786065 -0.163518 0.596088 +vn 0.771691 -0.052156 0.633808 +vn 0.761162 0.103702 0.640156 +vn 0.719352 0.229926 0.655446 +vn 0.669820 0.353496 0.652943 +vn 0.620197 0.451155 0.641682 +vn 0.636097 0.449446 0.627155 +vn 0.647725 0.403546 0.646199 +vn 0.624378 0.418744 0.659352 +vn 0.682089 0.355449 0.639027 +vn 0.830409 0.204230 0.518326 +vn 0.899899 0.054109 0.432661 +vn 0.903226 -0.015809 0.428846 +vn 0.880886 -0.026307 0.472549 +vn 0.839930 -0.006531 0.542589 +vn 0.758476 0.053804 0.649464 +vn 0.706198 0.092288 0.701956 +vn 0.629658 0.128208 0.766198 +vn 0.549058 0.185583 0.814875 +vn 0.894986 -0.415174 -0.162999 +vn 0.956175 -0.277352 -0.093478 +vn 0.470748 0.150792 0.869259 +vn 0.899503 0.432264 0.063143 +vn 0.877957 0.475539 0.054659 +vn 0.781793 -0.355907 0.511917 +vn 0.780725 -0.314463 0.539933 +vn 0.788232 -0.351329 0.505173 +vn 0.398206 0.463332 0.791650 +vn 0.408032 0.437696 0.801172 +vn 0.250191 0.373638 0.893185 +vn 0.247444 0.369457 0.895657 +vn -0.135380 0.383160 -0.913694 +vn -0.202673 0.404920 -0.891598 +vn 0.093234 0.817896 0.567705 +vn 0.181005 0.791192 0.584124 +vn 0.007752 0.828028 0.560594 +vn 0.276498 0.637379 0.719199 +vn 0.184423 0.751518 0.633381 +vn 0.795892 0.169408 -0.581195 +vn 0.598071 0.670339 -0.439222 +vn 0.474929 0.520432 0.709616 +vn 0.461959 0.590564 0.661641 +vn 0.385327 0.332469 0.860775 +vn 0.193884 -0.951598 -0.238380 +vn 0.414747 0.260170 0.871914 +vn 0.462203 -0.428877 0.776147 +vn 0.587817 -0.082156 0.804773 +vn 0.466231 -0.053224 0.883023 +vn 0.726890 -0.319285 0.607959 +vn 0.671224 -0.278787 0.686819 +vn 0.526078 0.266549 0.807550 +vn 0.619526 0.094150 0.779290 +vn 0.633534 0.034730 0.772912 +vn 0.706137 0.372814 0.601947 +vn 0.719413 0.385784 0.577563 +vn 0.721549 0.383404 0.576495 +vn 0.833827 -0.116855 0.539445 +vn 0.899594 -0.003937 0.436689 +vn 0.843410 -0.030183 0.536363 +vn 0.761864 0.298013 0.575091 +vn 0.737175 0.332743 0.588061 +vn 0.738548 0.030457 0.673482 +vn 0.766472 -0.103580 0.633839 +vn 0.397626 -0.483993 0.779473 +vn 0.472182 -0.444624 0.761101 +vn 0.389691 0.802820 0.451186 +vn 0.760857 0.361278 0.538987 +vn 0.626789 -0.177007 0.758782 +vn 0.552507 -0.078219 0.829798 +vn 0.643971 -0.190558 0.740898 +vn 0.555895 0.011567 0.831172 +vn 0.552904 0.023743 0.832881 +vn 0.567186 0.159062 0.808069 +vn 0.564714 0.157292 0.810144 +vn 0.530839 0.216834 0.819239 +vn 0.557024 0.184301 0.809748 +vn 0.479080 -0.297433 0.825800 +vn 0.476913 -0.500259 0.722678 +vn 0.497055 -0.550127 0.671010 +vn 0.531175 0.054384 0.845485 +vn 0.464644 0.090793 0.880795 +vn 0.458937 -0.321726 0.828120 +vn 0.586810 -0.540117 0.603229 +vn 0.966918 0.194891 -0.164495 +vn 0.665639 -0.450545 0.594897 +vn 0.661489 -0.469039 0.585162 +vn 0.933531 0.302744 0.191900 +vn 0.921873 0.317972 0.221351 +vn -0.001099 0.452742 0.891629 +vn 0.448256 0.458419 0.767388 +vn 0.394116 0.560656 0.728202 +vn 0.369488 -0.183142 0.910977 +vn 0.321207 -0.157842 0.933744 +vn 0.248421 -0.126408 0.960356 +vn 0.921049 -0.353313 -0.163610 +vn 0.429060 0.405469 0.807123 +vn 0.421308 0.425733 0.800745 +vn 0.282571 0.356029 0.890683 +vn 0.271889 0.324229 0.906034 +vn 0.700949 -0.395001 0.593799 +vn 0.659047 -0.327708 0.676901 +vn 0.470016 -0.711142 -0.522782 +vn 0.480941 -0.748863 -0.455916 +vn 0.560167 -0.636860 -0.529679 +vn 0.173956 0.001984 0.984741 +vn 0.223182 0.017396 0.974609 +vn 0.517960 -0.313364 0.795923 +vn 0.642750 -0.595111 0.482345 +vn 0.692953 -0.580096 0.428083 +vn 0.689535 -0.511521 0.512680 +vn 0.674551 -0.429029 0.600726 +vn 0.679128 -0.335490 0.652821 +vn 0.646016 -0.216163 0.732047 +vn 0.629780 -0.071596 0.773431 +vn 0.621662 0.095523 0.777429 +vn 0.606067 0.221625 0.763878 +vn 0.570086 0.337260 0.749138 +vn 0.501694 0.445784 0.741325 +vn 0.516678 0.466872 0.717673 +vn 0.541124 0.405316 0.736778 +vn 0.539079 0.428388 0.725150 +vn 0.565203 0.446333 0.693747 +vn 0.730766 0.325541 0.599963 +vn 0.856502 0.131413 0.499069 +vn 0.897153 -0.026307 0.440870 +vn 0.865749 -0.087710 0.492691 +vn 0.799554 -0.106845 0.590991 +vn 0.703818 -0.046052 0.708853 +vn 0.611560 0.035157 0.790399 +vn 0.524003 0.054628 0.849940 +vn -0.322062 0.333354 -0.886074 +vn 0.340159 0.556780 0.757775 +vn 0.356792 0.548967 0.755821 +vn 0.300424 0.644642 0.702933 +vn 0.434736 0.031068 0.899991 +vn 0.536851 -0.003693 0.843654 +vn 0.406690 0.087649 0.909330 +vn 0.575701 -0.242683 0.780786 +vn 0.505264 -0.276589 0.817408 +vn 0.679525 -0.245979 0.691153 +vn 0.615772 0.141606 0.775048 +vn 0.437147 0.356395 0.825739 +vn 0.250649 -0.910916 -0.327647 +vn 0.522965 0.276284 0.806299 +vn -0.405164 0.426679 -0.808527 +vn -0.201117 -0.427503 -0.881344 +vn -0.064730 0.254891 -0.964782 +vn 0.888607 -0.408032 -0.209418 +vn 0.263955 0.677175 0.686789 +vn 0.621845 0.101993 0.776421 +vn 0.667013 0.019196 0.744774 +vn 0.406323 -0.539293 0.737571 +vn 0.555650 -0.077578 0.827754 +vn 0.623463 -0.157994 0.765679 +vn 0.536302 -0.001221 0.844020 +vn 0.529832 -0.215888 0.820124 +vn 0.447523 -0.024751 0.893918 +vn 0.439558 -0.026429 0.897794 +vn 0.460891 -0.013276 0.887326 +vn 0.817438 -0.151555 0.555681 +vn 0.823756 -0.250404 0.508591 +vn 0.771661 -0.267373 0.577044 +vn 0.761895 0.333506 0.555193 +vn 0.776421 0.354259 0.521195 +vn 0.520402 -0.422468 0.742058 +vn 0.458144 -0.422193 0.782189 +vn 0.839137 -0.505753 -0.200018 +vn 0.466201 0.654286 0.595416 +vn 0.523026 0.693106 0.495987 +vn 0.617756 -0.712607 -0.332438 +vn 0.763909 -0.268166 0.586901 +vn 0.783746 -0.308054 0.539232 +vn 0.740349 -0.321238 0.590442 +vn -0.237770 0.774743 0.585803 +vn 0.716361 -0.256111 0.649007 +vn 0.677664 -0.015564 0.735191 +vn 0.627735 0.023103 0.778069 +vn 0.599963 0.074831 0.796503 +vn 0.478164 0.294534 0.827387 +vn 0.521958 0.198248 0.829585 +vn 0.489486 0.268624 0.829585 +vn 0.562639 0.165136 0.809992 +vn 0.455275 0.372082 0.808863 +vn 0.450301 0.357341 0.818232 +vn 0.389050 0.468398 0.793207 +vn 0.402692 0.448592 0.797845 +vn 0.669240 -0.389203 0.632923 +vn 0.284829 0.638722 0.714743 +vn 0.628254 -0.346294 0.696646 +vn 0.714011 -0.367962 0.595599 +vn 0.571673 -0.291910 0.766747 +vn 0.535417 -0.245582 0.808069 +vn -0.341899 -0.204321 -0.917234 +vn -0.420820 -0.076632 -0.903867 +vn -0.281106 -0.254555 -0.925291 +vn 0.897214 -0.327036 0.296640 +vn 0.891232 0.015503 0.453261 +vn 0.762963 -0.613483 0.203589 +vn 0.420515 0.394879 0.816828 +vn 0.411725 0.400372 0.818628 +vn 0.365123 0.276711 0.888852 +vn 0.174017 0.200262 0.964141 +vn 0.438612 -0.099429 0.893124 +vn 0.609027 -0.518571 0.600085 +vn 0.609516 -0.601764 0.516068 +vn 0.563829 -0.582812 0.585131 +vn 0.514939 -0.473006 0.714896 +vn 0.521287 -0.368877 0.769494 +vn 0.541948 -0.238990 0.805689 +vn 0.535539 -0.088717 0.839808 +vn 0.519791 0.097537 0.848689 +vn 0.530259 0.212897 0.820643 +vn 0.483230 0.303751 0.821070 +vn 0.406049 0.445692 0.797754 +vn 0.417066 0.466903 0.779748 +vn 0.430433 0.407880 0.805170 +vn 0.447645 0.446669 0.774621 +vn 0.479446 0.515641 0.710074 +vn 0.606464 0.430464 0.668477 +vn 0.780023 0.240181 0.577776 +vn 0.871090 -0.002747 0.491104 +vn 0.821039 -0.188177 0.538896 +vn 0.706900 -0.207007 0.676290 +vn 0.629871 -0.136509 0.764580 +vn 0.536912 -0.054689 0.841853 +vn 0.435224 -0.005585 0.900296 +vn 0.387432 0.137242 0.911588 +vn 0.656758 -0.734489 -0.170721 +vn 0.828944 -0.312693 0.463729 +vn 0.448408 0.231361 0.863338 +vn 0.387402 0.109867 0.915311 +vn 0.772179 -0.306681 0.556475 +vn 0.783319 -0.347667 0.515275 +vn 0.327830 -0.012787 0.944639 +vn 0.453169 0.022614 0.891110 +vn 0.456526 -0.023743 0.889370 +vn 0.331126 0.205054 0.921018 +vn 0.756188 0.409589 0.510269 +vn 0.767388 0.435743 0.470321 +vn 0.522141 0.114689 0.845088 +vn -0.062105 -0.003296 0.998047 +vn -0.036927 -0.181677 0.982635 +vn 0.030946 0.014039 0.999420 +vn -0.208075 -0.080538 0.974761 +vn -0.213935 0.109287 0.970702 +vn -0.029542 0.091525 -0.995361 +vn 0.676443 0.374035 0.634388 +vn 0.670217 -0.482315 0.564043 +vn 0.346477 -0.149236 0.926084 +vn 0.517533 0.350597 0.780511 +vn 0.182104 -0.072665 0.980560 +vn 0.568743 -0.789056 -0.232093 +vn 0.693075 -0.684347 -0.226417 +vn 0.504654 0.108585 0.856441 +vn -0.046785 -0.998840 0.010559 +vn -0.027039 -0.999603 0.001923 +vn -0.008332 -0.999634 0.025056 +vn -0.975829 0.023499 -0.217170 +vn -0.968383 0.096591 -0.229987 +vn -0.629505 -0.376171 -0.679830 +vn -0.596026 -0.473891 -0.648152 +vn -0.558550 -0.407270 -0.722556 +vn 0.827357 -0.288278 0.482009 +vn 0.770348 0.354442 0.529984 +vn 0.733024 0.085299 0.674795 +vn 0.496963 -0.362651 0.788324 +vn 0.998688 0.046937 0.020112 +vn 0.416425 0.544877 0.727775 +vn 0.505661 0.578265 0.640187 +vn 0.807123 -0.233009 0.542405 +vn 0.795190 -0.245674 0.554338 +vn 0.730583 -0.527635 0.433332 +vn 0.421644 0.482925 0.767418 +vn 0.401074 0.460433 0.791894 +vn 0.426099 0.512894 0.745201 +vn 0.393017 0.514206 0.762291 +vn 0.363720 0.249184 0.897549 +vn 0.414045 0.246590 0.876186 +vn 0.388806 0.545305 0.742576 +vn 0.369030 0.562548 0.739799 +vn 0.331889 0.597339 0.730064 +vn 0.483596 -0.533128 0.694174 +vn 0.369518 -0.590625 0.717338 +vn 0.478683 -0.533769 0.697073 +vn 0.360149 0.550615 0.753044 +vn 0.229102 0.699454 0.676901 +vn 0.254463 0.700705 0.666494 +vn 0.613117 -0.095096 0.784234 +vn 0.968749 0.237007 0.072756 +vn 0.977996 0.191931 0.081423 +vn 0.586383 -0.042543 0.808893 +vn 0.502243 0.009705 0.864650 +vn 0.904416 0.103488 0.413831 +vn 0.690725 0.386364 0.611194 +vn 0.542070 0.506729 0.670339 +vn 0.369854 0.551103 0.747948 +vn 0.748070 0.227912 0.623218 +vn 0.762963 -0.526566 0.374889 +vn 0.729209 -0.560564 0.392407 +vn 0.914304 0.404859 0.008423 +vn 0.884213 0.466994 0.005341 +vn 0.420759 -0.622639 0.659749 +vn 0.487259 -0.429395 0.760369 +vn 0.385357 -0.625568 0.678304 +vn 0.397504 -0.496384 0.771691 +vn 0.476333 -0.343242 0.809473 +vn 0.512558 -0.244881 0.822962 +vn 0.473769 -0.118503 0.872616 +vn 0.442732 0.100192 0.891018 +vn 0.448012 0.223792 0.865535 +vn 0.455977 0.265999 0.849269 +vn 0.395093 0.419202 0.817377 +vn 0.361705 0.472518 0.803644 +vn 0.380322 0.412610 0.827693 +vn 0.387036 0.463393 0.797143 +vn 0.383557 0.548753 0.742759 +vn 0.457472 0.523392 0.718863 +vn 0.625935 0.350780 0.696493 +vn 0.771386 0.050264 0.634358 +vn 0.737999 -0.286477 0.610950 +vn 0.629170 -0.305032 0.714896 +vn 0.557176 -0.208045 0.803888 +vn 0.478591 -0.142582 0.866359 +vn 0.436567 -0.047426 0.898404 +vn 0.763970 -0.232154 0.601978 +vn -0.187078 0.814264 0.549486 +vn -0.081576 0.149052 -0.985443 +vn -0.094974 0.147618 -0.984466 +vn -0.359294 0.056398 -0.931486 +vn 0.447005 -0.249031 0.859157 +vn -0.304392 -0.952178 -0.025819 +vn -0.047731 -0.320597 0.945982 +vn -0.350261 0.725516 0.592364 +vn -0.279214 0.710776 0.645589 +vn 0.100620 -0.182684 0.977996 +vn 0.173925 0.063051 0.982727 +vn 0.796075 0.283639 0.534562 +vn 0.509690 -0.688375 -0.516037 +vn 0.799432 0.013245 0.600574 +vn -0.519181 0.199133 -0.831111 +vn -0.453658 0.202033 -0.867946 +vn 0.565691 0.016572 0.824427 +vn 0.598956 0.013245 0.800653 +vn 0.515763 -0.091189 0.851833 +vn 0.552110 -0.043397 0.832606 +vn 0.628040 -0.062990 0.775597 +vn 0.444380 0.349040 0.825007 +vn -0.472488 -0.396496 -0.787072 +vn -0.807398 -0.314097 -0.499405 +vn 0.782586 -0.241951 0.573565 +vn 0.673452 0.394971 0.624836 +vn 0.736106 0.363781 0.570757 +vn 0.742119 0.050905 0.668294 +vn 0.504562 -0.288614 0.813685 +vn 0.892697 0.446577 0.060213 +vn 0.866695 0.496323 0.049715 +vn 0.897214 0.375500 0.232307 +vn 0.872799 0.405591 0.271462 +vn 0.994842 0.069674 0.073458 +vn 0.448988 0.465499 0.762658 +vn 0.513779 0.448408 0.731376 +vn 0.805963 -0.281472 0.520707 +vn 0.777825 -0.277688 0.563799 +vn 0.248756 -0.130222 0.959746 +vn 0.874355 0.399670 -0.275124 +vn 0.396527 0.483108 0.780572 +vn 0.313944 0.577807 0.753349 +vn 0.770989 -0.223548 0.596301 +vn 0.759789 0.028382 0.649495 +vn 0.979736 -0.010743 -0.199957 +vn 0.577960 -0.628742 -0.520188 +vn 0.228767 0.104984 0.967772 +vn 0.920072 0.340983 -0.192724 +vn 0.933866 0.326426 -0.145909 +vn 0.119907 -0.980743 -0.154118 +vn 0.599628 0.110324 0.792596 +vn 0.482803 0.110294 0.868740 +vn 0.609485 -0.548631 0.572283 +vn 0.446913 0.077517 0.891201 +vn 0.450270 0.091586 0.888150 +vn 0.413678 0.423139 0.806085 +vn 0.318430 0.216254 0.922910 +vn 0.420972 0.585498 0.692770 +vn 0.508011 0.539018 0.671804 +vn -0.683523 -0.719810 0.120914 +vn -0.685476 -0.705252 0.180914 +vn 0.301218 -0.385205 0.872250 +vn 0.277840 -0.612079 0.740349 +vn 0.386364 -0.455336 0.802087 +vn 0.437086 -0.322306 0.839656 +vn 0.454665 -0.261849 0.851283 +vn 0.473281 -0.134312 0.870571 +vn 0.450270 0.075594 0.889645 +vn 0.413038 0.236274 0.879513 +vn 0.438887 0.286447 0.851619 +vn 0.446760 0.401196 0.799615 +vn 0.391339 0.466140 0.793420 +vn 0.399853 0.417432 0.815973 +vn 0.387555 0.465621 0.795556 +vn 0.345042 0.548631 0.761498 +vn 0.341960 0.571825 0.745689 +vn 0.479537 0.434828 0.762169 +vn 0.644520 0.135258 0.752495 +vn 0.696829 -0.318918 0.642415 +vn 0.620563 -0.371776 0.690390 +vn 0.587970 -0.260170 0.765862 +vn 0.579394 -0.169225 0.797266 +vn 0.572710 -0.068484 0.816858 +vn 0.515671 0.068270 0.854030 +vn -0.515000 0.480483 -0.709830 +vn -0.489059 0.390240 -0.780053 +vn -0.578082 0.395184 -0.713858 +vn 0.239357 0.272073 0.932005 +vn -0.991272 0.112613 0.068148 +vn -0.974761 0.159124 0.156560 +vn -0.978881 0.153050 0.135380 +vn -0.630757 -0.761834 -0.147313 +vn -0.090060 0.315317 -0.944700 +vn -0.086550 0.321268 -0.942991 +vn 0.177282 -0.135655 0.974761 +vn 0.290017 0.101566 0.951598 +vn 0.376385 0.368084 0.850185 +vn -0.222724 -0.278207 -0.934324 +vn 0.923551 -0.213080 -0.318735 +vn 0.953032 -0.224525 -0.203101 +vn 0.963103 0.016480 -0.268502 +vn 0.952727 0.123325 0.277566 +vn 0.655049 -0.628986 0.418622 +vn 0.242317 0.758171 0.605335 +vn 0.538072 0.161870 0.827174 +vn 0.787133 -0.575060 -0.222907 +vn 0.754845 -0.381970 0.533158 +vn -0.494186 0.064577 -0.866939 +vn -0.583483 0.100284 -0.805902 +vn -0.536546 0.042817 -0.842769 +vn 0.519028 -0.479354 0.707663 +vn 0.358501 0.334513 0.871517 +vn 0.682150 -0.218207 0.697867 +vn 0.660512 0.397320 0.637013 +vn 0.706717 0.379986 0.596759 +vn 0.730461 -0.106388 0.674581 +vn 0.784753 -0.034883 0.618793 +vn 0.739616 -0.146336 0.656880 +vn 0.747612 -0.052492 0.662038 +vn 0.482711 -0.202857 0.851955 +vn 0.441145 -0.236457 0.865688 +vn 0.470595 0.482040 0.739006 +vn 0.529984 0.491073 0.691305 +vn 0.994293 0.088870 0.058962 +vn 0.557939 0.410535 0.721213 +vn 0.494125 0.441328 0.749016 +vn 0.771233 -0.312021 0.554796 +vn 0.736869 -0.269234 0.620075 +vn 0.777551 -0.309976 0.547044 +vn 0.489517 -0.219001 0.844020 +vn 0.733665 -0.165654 0.658986 +vn 0.684744 -0.136753 0.715781 +vn 0.732017 -0.142430 0.666219 +vn 0.688131 -0.093326 0.719535 +vn 0.752922 -0.221076 0.619831 +vn 0.781182 -0.267464 0.564074 +vn 0.785058 -0.301645 0.540971 +vn 0.859981 0.409864 0.304025 +vn 0.270791 -0.173437 0.946867 +vn 0.457228 -0.427686 0.779717 +vn 0.458419 -0.315928 0.830653 +vn 0.409986 -0.526719 0.744591 +vn 0.794946 -0.283761 0.536210 +vn 0.787439 -0.260781 0.558458 +vn 0.300272 0.581500 0.756066 +vn 0.916593 -0.347728 -0.197211 +vn 0.747642 -0.655141 -0.108646 +vn 0.277474 0.654408 0.703360 +vn 0.328318 0.591784 0.736167 +vn 0.287790 0.648213 0.704947 +vn -0.713157 -0.699515 0.044923 +vn -0.696707 -0.716941 0.023164 +vn -0.957030 -0.285134 0.052431 +vn 0.425886 -0.044252 0.903684 +vn 0.021821 0.258705 0.965697 +vn 0.588763 0.281503 0.757683 +vn 0.449995 0.272866 0.850276 +vn 0.411298 0.433302 0.801874 +vn 0.287118 -0.580462 0.761956 +vn 0.395672 -0.430219 0.811365 +vn 0.435316 -0.309946 0.845210 +vn 0.483200 -0.233985 0.843623 +vn 0.496689 -0.140355 0.856471 +vn 0.498703 0.065554 0.864284 +vn 0.486160 0.237403 0.840968 +vn 0.479995 0.311380 0.820124 +vn 0.483718 0.401685 0.777581 +vn 0.421766 0.453963 0.784845 +vn 0.426557 0.418928 0.801569 +vn 0.414624 0.455214 0.787927 +vn 0.365368 0.535447 0.761406 +vn 0.329630 0.586383 0.739891 +vn 0.412763 0.508499 0.755638 +vn 0.568621 0.210303 0.795221 +vn 0.707022 -0.222633 0.671224 +vn 0.732963 -0.398236 0.551500 +vn 0.751701 -0.261757 0.605304 +vn 0.773919 -0.171514 0.609577 +vn 0.753258 -0.110965 0.648244 +vn 0.697592 0.034516 0.715629 +vn 0.627888 0.168645 0.759758 +vn 0.482162 0.364879 0.796442 +vn 0.494064 -0.821802 -0.283700 +vn 0.809412 0.307779 0.500076 +vn -0.275552 -0.687399 0.671957 +vn -0.058687 0.418867 -0.906125 +vn -0.037935 0.457839 -0.888211 +vn 0.272530 -0.038362 0.961364 +vn 0.365429 0.149388 0.918760 +vn 0.334025 0.216712 0.917295 +vn -0.541307 -0.088412 0.836146 +vn -0.485000 0.307138 -0.818781 +vn -0.484573 0.298746 -0.822138 +vn -0.519578 0.387127 -0.761681 +vn 0.806940 0.104251 0.581286 +vn 0.261849 0.714499 0.648762 +vn 0.561785 0.767266 -0.309275 +vn 0.563768 0.745170 -0.356120 +vn 0.552599 0.735832 -0.391339 +vn 0.824854 0.423048 -0.374981 +vn 0.351604 0.894436 -0.276254 +vn 0.393078 0.872036 -0.291482 +vn 0.285440 0.910855 -0.298044 +vn 0.643239 -0.641316 0.418226 +vn 0.780419 -0.250557 0.572832 +vn 0.785089 -0.168889 0.595874 +vn 0.491409 -0.595660 0.635334 +vn 0.320719 0.602374 0.730918 +vn 0.269143 0.673330 0.688559 +vn 0.510544 -0.355510 0.782891 +vn 0.696921 0.408521 0.589373 +vn 0.655843 0.411298 0.632984 +vn 0.394848 -0.199988 0.896695 +vn 0.243477 -0.864254 -0.440199 +vn 0.211554 -0.750328 -0.626240 +vn -0.505478 0.197119 0.839991 +vn 0.422742 -0.350597 0.835658 +vn 0.401349 -0.339671 0.850581 +vn 0.475784 -0.336100 0.812799 +vn 0.748589 -0.226630 0.623066 +vn 0.742943 -0.205603 0.636952 +vn 0.491317 -0.224097 0.841639 +vn 0.451735 0.348918 0.821039 +vn 0.507004 0.229225 0.830866 +vn 0.489486 0.314402 0.813318 +vn 0.172857 0.769890 0.614277 +vn 0.155034 0.802850 0.575640 +vn 0.772729 -0.272988 0.572954 +vn 0.478500 -0.050050 0.876644 +vn 0.539537 -0.502762 0.675314 +vn 0.492172 -0.542955 0.680380 +vn 0.465255 -0.153508 0.871731 +vn 0.583728 -0.248756 0.772851 +vn 0.637287 -0.149083 0.756035 +vn 0.563158 -0.204871 0.800531 +vn 0.555681 -0.296762 0.776574 +vn 0.466811 -0.291879 0.834773 +vn 0.526139 0.010132 0.850307 +vn 0.479141 -0.031220 0.877163 +vn 0.436567 0.038636 0.898801 +vn 0.520676 -0.069765 0.850887 +vn 0.512589 -0.073428 0.855464 +vn 0.433699 0.376751 0.818506 +vn 0.431745 0.364299 0.825129 +vn 0.417158 -0.015442 0.908689 +vn 0.613666 -0.124851 0.779626 +vn 0.530717 -0.132847 0.837062 +vn 0.604541 -0.068758 0.793573 +vn -0.424482 0.267434 -0.865017 +vn -0.986450 0.163732 -0.009919 +vn -0.979308 0.198401 0.039155 +vn 0.425977 0.295511 0.855098 +vn 0.363689 0.232398 0.902036 +vn -0.242683 -0.865871 0.437391 +vn -0.477035 -0.837397 0.266762 +vn -0.444960 -0.812128 0.377361 +vn 0.997528 0.050264 0.048830 +vn 0.994934 0.080844 0.059358 +vn 0.244026 0.742729 0.623524 +vn -0.987396 -0.114444 0.109104 +vn 0.428419 0.025788 0.903195 +vn -0.606006 0.149968 -0.781152 +vn -0.619221 0.301767 -0.724876 +vn -0.520585 0.262093 -0.812555 +vn 0.482162 -0.131260 0.866176 +vn 0.928587 0.364605 0.068819 +vn 0.941557 0.328166 0.075777 +vn 0.252083 -0.552751 0.794275 +vn 0.379101 -0.540757 0.750877 +vn 0.484664 -0.391827 0.782006 +vn 0.576434 -0.287790 0.764763 +vn 0.584979 -0.236549 0.775750 +vn 0.587939 -0.139378 0.796777 +vn 0.612415 0.084719 0.785943 +vn 0.603778 0.236549 0.761223 +vn 0.582965 0.316141 0.748436 +vn 0.564287 0.391919 0.726585 +vn 0.506851 0.426801 0.748924 +vn 0.473251 0.414167 0.777459 +vn 0.455031 0.446760 0.770257 +vn 0.403607 0.528855 0.746574 +vn 0.383465 0.581927 0.717124 +vn 0.389141 0.549242 0.739494 +vn 0.486190 0.280801 0.827479 +vn 0.609210 -0.052950 0.791192 +vn 0.796014 -0.323099 0.511765 +vn 0.873501 -0.241279 0.422773 +vn 0.897610 -0.148137 0.415082 +vn 0.899411 -0.140141 0.413953 +vn 0.858821 -0.059755 0.508713 +vn 0.769921 0.095370 0.630940 +vn 0.656911 0.266457 0.705283 +vn -0.501572 -0.067202 0.862484 +vn -0.265847 -0.918332 0.293161 +vn 0.074252 -0.997223 -0.004120 +vn 0.369427 0.189673 0.909665 +vn 0.294290 0.054964 0.954100 +vn 0.432478 0.179266 0.883633 +vn 0.334391 0.362224 0.870022 +vn 0.962554 -0.269723 0.026124 +vn 0.560869 -0.092929 0.822657 +vn 0.773766 -0.166784 0.611072 +vn 0.441023 -0.250404 0.861812 +vn 0.818537 -0.190527 0.541887 +vn 0.668142 0.410291 0.620624 +vn 0.689047 0.419568 0.590869 +vn 0.719871 -0.205390 0.662984 +vn 0.656972 -0.142644 0.740257 +vn 0.400800 -0.129612 0.906919 +vn 0.522202 0.479110 0.705496 +vn 0.445784 0.445753 0.776238 +vn -0.335398 0.005890 0.942045 +vn 0.700125 0.210425 -0.682272 +vn 0.532426 0.447371 0.718558 +vn 0.599414 0.423048 0.679464 +vn -0.511917 -0.290170 -0.808496 +vn -0.850581 -0.122990 -0.511185 +vn 0.746025 -0.115543 0.655782 +vn 0.734642 -0.104617 0.670339 +vn 0.416669 -0.158177 0.895169 +vn 0.376415 -0.034913 0.925779 +vn 0.219977 -0.024964 0.975158 +vn 0.244636 0.012635 0.969512 +vn 0.303476 0.179357 0.935789 +vn 0.560625 -0.684072 0.466567 +vn -0.376110 -0.043641 0.925535 +vn 0.476485 -0.681326 0.555620 +vn 0.370342 -0.686789 0.625385 +vn 0.444411 -0.307749 0.841273 +vn 0.590747 -0.316446 0.742180 +vn 0.358104 0.500717 0.788049 +vn 0.554888 0.169652 0.814417 +vn 0.550859 0.117466 0.826258 +vn 0.484909 0.278512 0.829005 +vn 0.605152 0.033113 0.795404 +vn 0.600238 0.066836 0.796991 +vn 0.646626 -0.116367 0.753838 +vn 0.640065 -0.115116 0.759606 +vn 0.339732 -0.275124 0.899350 +vn 0.349590 -0.321451 0.880001 +vn 0.308390 -0.359203 0.880825 +vn 0.436689 0.214118 0.873714 +vn 0.343852 0.223060 0.912107 +vn 0.517777 -0.102329 0.849361 +vn 0.303354 0.307382 0.901914 +vn 0.200873 0.750328 0.629780 +vn 0.618519 -0.063601 0.783166 +vn -0.765923 -0.640156 -0.059481 +vn 0.948759 0.290963 0.123142 +vn 0.192267 -0.802332 -0.565020 +vn 0.355419 -0.489975 0.795953 +vn 0.504624 -0.495254 0.707114 +vn 0.563402 -0.350200 0.748253 +vn 0.640248 -0.249336 0.726554 +vn 0.669362 -0.235481 0.704581 +vn 0.680227 -0.130467 0.721274 +vn 0.684439 0.087283 0.723808 +vn 0.691183 0.240120 0.681570 +vn 0.678426 0.305155 0.668264 +vn 0.643513 0.369579 0.670247 +vn 0.571154 0.379162 0.727989 +vn 0.530320 0.399792 0.747581 +vn 0.511032 0.431989 0.743095 +vn 0.480758 0.522385 0.704215 +vn 0.439131 0.585345 0.681539 +vn 0.452132 0.527421 0.719260 +vn 0.442152 0.286874 0.849788 +vn 0.435926 0.056887 0.898160 +vn 0.701346 -0.072085 0.709159 +vn 0.848476 -0.170568 0.500961 +vn 0.891598 -0.131626 0.433241 +vn 0.916440 -0.126194 0.379681 +vn 0.924589 -0.147923 0.351024 +vn 0.880337 -0.037049 0.472854 +vn 0.759575 0.155583 0.631519 +vn 0.711081 0.345408 0.612354 +vn 0.506363 0.621113 0.598132 +vn 0.705679 -0.121433 -0.698019 +vn -0.090609 -0.708914 0.699423 +vn -0.075900 -0.742058 0.665975 +vn -0.189947 -0.602405 0.775231 +vn -0.353954 0.270638 -0.895230 +vn 0.225562 -0.388531 0.893368 +vn 0.322184 0.156652 0.933592 +vn -0.564928 -0.825068 0.009919 +vn -0.770837 -0.562304 0.299234 +vn 0.344523 0.227729 0.910703 +vn 0.405591 0.218299 0.887570 +vn 0.413800 0.316202 0.853664 +vn 0.460402 -0.885006 -0.068758 +vn 0.479446 -0.531022 0.698630 +vn 0.455458 -0.575457 0.679220 +vn 0.434553 -0.531571 0.727012 +vn 0.784173 -0.208045 0.584582 +vn 0.802576 -0.164495 0.573382 +vn -0.038301 -0.635487 -0.771142 +vn -0.051210 -0.604968 -0.794580 +vn 0.724906 0.006623 0.688803 +vn 0.701895 0.403974 0.586596 +vn 0.700430 0.415662 0.580126 +vn 0.532060 -0.076479 0.843226 +vn 0.557604 -0.052461 0.828425 +vn 0.649312 -0.178045 0.739341 +vn 0.433088 -0.053133 0.899777 +vn 0.443831 0.455947 0.771416 +vn 0.342112 0.456679 0.821192 +vn -0.893704 -0.101535 -0.436964 +vn -0.916532 0.045747 -0.397259 +vn -0.954955 -0.156102 -0.252327 +vn 0.612964 0.423292 0.667104 +vn 0.556413 0.430799 0.710440 +vn 0.758324 -0.032624 0.651021 +vn 0.742485 -0.023743 0.669424 +vn 0.458602 -0.838618 0.293863 +vn 0.551530 -0.618152 0.560045 +vn 0.399335 -0.627033 0.668813 +vn 0.590869 -0.473678 0.653005 +vn 0.498398 -0.480789 0.721397 +vn 0.649464 -0.240089 0.721458 +vn 0.588885 -0.224189 0.776452 +vn 0.571001 0.791925 0.216315 +vn 0.635243 -0.015809 0.772118 +vn 0.654653 -0.060610 0.753471 +vn 0.435011 -0.290048 0.852412 +vn 0.459273 0.105197 0.882015 +vn 0.372387 0.096744 0.923002 +vn 0.405408 0.271828 0.872768 +vn 0.385266 0.323954 0.864040 +vn 0.324686 0.285775 0.901578 +vn 0.700583 0.104160 0.705893 +vn 0.313669 0.694510 0.647481 +vn 0.567949 0.420820 0.707297 +vn 0.413251 0.432325 0.801416 +vn -0.980499 0.151067 0.125645 +vn -0.994690 0.098910 0.027375 +vn 0.592975 -0.416486 -0.689108 +vn 0.959929 -0.259682 -0.105014 +vn 0.906644 -0.341441 -0.247719 +vn -0.909635 -0.169042 0.379376 +vn -0.956664 -0.171697 0.235084 +vn -0.943632 -0.135014 0.302133 +vn 0.596912 -0.452834 0.662252 +vn 0.658345 -0.341380 0.670797 +vn 0.679647 -0.219428 0.699911 +vn 0.678732 -0.232734 0.696493 +vn 0.686392 -0.121555 0.716971 +vn 0.719871 0.104068 0.686239 +vn 0.721335 0.254341 0.644154 +vn 0.719443 0.297433 0.627613 +vn 0.676840 0.315134 0.665212 +vn 0.604785 0.329814 0.724876 +vn 0.579882 0.389935 0.715262 +vn 0.555956 0.436750 0.707175 +vn 0.549821 0.520127 0.653523 +vn 0.481491 0.558824 0.675130 +vn 0.449934 0.509140 0.733696 +vn 0.493881 0.261940 0.829096 +vn 0.534410 0.115696 0.837245 +vn 0.649342 0.091098 0.754997 +vn 0.686911 -0.088107 0.721366 +vn 0.707389 -0.112064 0.697836 +vn 0.739616 -0.076662 0.668599 +vn 0.857540 -0.088015 0.506790 +vn 0.902554 -0.144108 0.405713 +vn 0.868221 0.006134 0.496109 +vn 0.507950 -0.510697 -0.693625 +vn 0.801019 0.213294 0.559282 +vn 0.857814 0.092257 0.505570 +vn 0.316202 -0.564348 0.762566 +vn -0.995880 0.052400 0.073794 +vn -0.992218 0.122532 0.021424 +vn -0.991333 0.131169 -0.002411 +vn 0.182348 -0.887387 0.423353 +vn 0.268075 -0.367260 0.890622 +vn 0.105686 -0.899197 0.424512 +vn 0.239570 0.162053 0.957244 +vn 0.258522 0.259896 0.930357 +vn 0.318796 0.247536 0.914914 +vn 0.435865 0.308573 0.845424 +vn 0.919553 -0.133396 -0.369579 +vn 0.081851 -0.986663 -0.140568 +vn 0.398816 0.258309 0.879879 +vn -0.024812 0.416059 -0.908963 +vn 0.293039 0.651173 0.700034 +vn 0.810907 -0.033540 0.584155 +vn 0.193091 -0.105991 0.975433 +vn 0.140324 0.016633 0.989959 +vn 0.695883 -0.053194 -0.716147 +vn 0.768212 -0.074801 -0.635762 +vn 0.746757 -0.134953 -0.651234 +vn 0.801782 0.096133 0.589770 +vn -0.994049 0.098697 0.045686 +vn 0.614673 0.131382 0.777734 +vn 0.344523 0.577105 0.740410 +vn 0.713858 0.402844 0.572771 +vn 0.569567 -0.103854 0.815332 +vn 0.459944 -0.030488 0.887387 +vn 0.579058 -0.089541 0.810327 +vn 0.435316 0.395917 0.808527 +vn 0.556841 0.380139 0.738487 +vn 0.613117 0.393475 0.684988 +vn -0.987793 -0.047273 -0.148320 +vn -0.983215 0.072695 -0.167180 +vn 0.745323 0.018189 0.666433 +vn 0.717185 0.080782 0.692160 +vn 0.641407 -0.371105 0.671438 +vn 0.548723 -0.384075 0.742515 +vn 0.639149 -0.273019 0.718955 +vn 0.575121 -0.057558 0.816034 +vn -0.550645 0.222755 -0.804437 +vn -0.567309 0.205054 -0.797540 +vn 0.990326 0.123112 -0.063601 +vn 0.367656 0.157353 0.916532 +vn 0.437941 -0.183630 0.880032 +vn 0.300150 -0.057558 0.952116 +vn 0.436842 -0.051149 0.898068 +vn 0.399792 0.118137 0.908933 +vn 0.294046 0.142644 0.945067 +vn 0.317698 0.289621 0.902860 +vn 0.212439 0.312235 0.925932 +vn 0.507675 -0.084170 0.857418 +vn 0.476089 0.141301 -0.867946 +vn 0.482742 0.184454 -0.856075 +vn -0.745720 -0.663717 0.057894 +vn -0.863430 -0.496292 0.089999 +vn -0.851802 -0.523301 -0.022919 +vn 0.642476 -0.409619 0.647603 +vn 0.572924 -0.197119 0.795526 +vn 0.713675 -0.334635 0.615314 +vn 0.703909 -0.244148 0.666982 +vn 0.661336 -0.245705 0.708670 +vn 0.670980 -0.115757 0.732353 +vn 0.723869 0.144902 0.674520 +vn 0.704550 0.256142 0.661763 +vn 0.700186 0.285867 0.654195 +vn 0.669332 0.266579 0.693442 +vn 0.633869 0.313059 0.707205 +vn 0.612049 0.381329 0.692770 +vn 0.598773 0.445326 0.665670 +vn 0.586963 0.504837 0.632893 +vn 0.539933 0.519242 0.662435 +vn 0.497330 0.504501 0.705741 +vn 0.562975 0.272317 0.780267 +vn 0.585742 0.170568 0.792322 +vn 0.659536 0.106235 0.744102 +vn 0.614093 -0.117038 0.780480 +vn 0.542192 -0.117069 0.832057 +vn 0.603900 0.015168 0.796899 +vn 0.707694 0.057039 0.704184 +vn 0.851924 -0.076418 0.517991 +vn 0.874233 -0.065493 0.481063 +vn -0.049898 -0.997284 -0.054109 +vn 0.009644 -0.999664 -0.022828 +vn -0.021393 -0.997955 -0.059969 +vn 0.074862 -0.982452 0.170690 +vn 0.258095 -0.368542 0.893033 +vn 0.214087 0.137181 0.967101 +vn 0.188726 0.273751 0.943083 +vn 0.218970 -0.826136 -0.519120 +vn 0.585559 0.071627 0.807428 +vn 0.580248 0.117740 0.805841 +vn 0.623798 0.025849 0.781121 +vn 0.723624 0.375256 0.579241 +vn 0.737449 0.397565 0.545946 +vn 0.724937 0.385266 0.570971 +vn 0.606220 -0.048402 0.793786 +vn 0.615406 -0.023377 0.787835 +vn 0.585162 -0.176153 0.791528 +vn 0.558855 -0.036775 0.828425 +vn 0.768090 0.204627 0.606739 +vn 0.601825 -0.382275 0.701163 +vn 0.526109 -0.284982 0.801233 +vn 0.482803 -0.277627 0.830531 +vn 0.528062 -0.428816 0.732963 +vn 0.450606 -0.440016 0.776727 +vn 0.531510 -0.364971 0.764367 +vn 0.725486 0.366253 0.582659 +vn 0.718863 0.414441 0.558061 +vn 0.734245 0.402264 0.546800 +vn 0.648335 -0.145573 0.747276 +vn 0.501968 -0.078249 0.861324 +vn 0.570544 -0.059542 0.819086 +vn 0.488113 -0.046297 0.871517 +vn 0.537156 -0.038423 0.842586 +vn 0.564989 -0.050996 0.823511 +vn 0.331339 0.583422 0.741478 +vn 0.299539 0.554430 0.776421 +vn -0.863338 0.498917 -0.075228 +vn -0.842769 0.520859 -0.135624 +vn -0.904080 0.418867 -0.084353 +vn 0.590686 0.347514 0.728202 +vn 0.541093 0.328043 0.774316 +vn 0.659505 0.060152 0.749260 +vn 0.680258 0.154576 0.716453 +vn 0.661458 -0.275124 0.697653 +vn 0.570940 -0.258339 0.779260 +vn 0.592242 -0.144230 0.792718 +vn 0.891720 0.005188 0.452528 +vn 0.904630 -0.036683 0.424604 +vn -0.383740 -0.253792 -0.887845 +vn -0.351146 -0.238411 -0.905423 +vn -0.330058 -0.231727 -0.915036 +vn -0.384716 0.387280 -0.837825 +vn 0.626392 -0.762078 0.163823 +vn 0.623218 -0.765801 0.158422 +vn 0.731986 -0.639729 0.234260 +vn 0.524216 -0.207465 0.825892 +vn -0.140751 -0.560320 -0.816218 +vn -0.119877 -0.549272 -0.826960 +vn 0.488723 0.113376 0.865017 +vn 0.449019 0.139348 0.882565 +vn 0.433668 0.017457 0.900876 +vn 0.311319 0.172826 0.934416 +vn 0.420484 0.168310 0.891537 +vn 0.553392 -0.084292 0.828608 +vn 0.470687 0.068453 0.879604 +vn 0.344859 0.090335 0.934263 +vn 0.564470 -0.183752 0.804712 +vn 0.514969 -0.189306 0.836024 +vn 0.261910 0.570055 0.778710 +vn 0.010224 -0.516526 -0.856197 +vn -0.923215 0.383587 -0.023072 +vn -0.308237 0.369366 -0.876644 +vn 0.660726 -0.353648 0.662069 +vn 0.693472 -0.329112 0.640858 +vn 0.684133 -0.291787 0.668416 +vn 0.663869 -0.249306 0.705039 +vn 0.732871 -0.096530 0.673452 +vn 0.742943 0.157292 0.650563 +vn 0.699179 0.242195 0.672628 +vn 0.658315 0.262398 0.705496 +vn 0.649648 0.250923 0.717582 +vn 0.636799 0.307230 0.707144 +vn 0.632405 0.388562 0.670125 +vn 0.635670 0.456587 0.622395 +vn 0.590808 0.476211 0.651234 +vn 0.559801 0.504776 0.657094 +vn 0.564989 0.486465 0.666402 +vn 0.588397 0.256050 0.766930 +vn 0.613392 0.208350 0.761773 +vn 0.674917 0.119541 0.728111 +vn 0.648457 -0.166845 0.742698 +vn 0.633137 -0.121097 0.764458 +vn 0.662069 0.080325 0.745109 +vn 0.704031 0.152806 0.693472 +vn 0.828639 0.061068 0.556413 +vn 0.868679 -0.075381 0.489547 +vn 0.975616 0.105777 0.192206 +vn 0.972564 0.132664 0.190924 +vn 0.933531 0.319865 0.161687 +vn 0.281106 -0.415052 0.865261 +vn 0.294290 0.127689 0.947142 +vn 0.233161 0.258553 0.937407 +vn 0.448439 -0.082156 0.890011 +vn 0.710837 0.398999 0.579180 +vn 0.733360 0.412000 0.540727 +vn 0.587268 0.048799 0.807886 +vn 0.602100 0.119755 0.789361 +vn 0.689108 0.044343 0.723258 +vn 0.691458 0.074374 0.718558 +vn 0.699423 0.098270 0.707907 +vn 0.639332 -0.257057 0.724662 +vn 0.721763 -0.251778 0.644704 +vn 0.737938 0.282968 0.612659 +vn 0.379040 0.437788 0.815241 +vn 0.283670 0.557909 0.779870 +vn 0.724479 0.315104 0.613025 +vn 0.993316 0.095950 0.063692 +vn 0.707633 -0.476760 0.521470 +vn 0.700797 -0.451491 0.552263 +vn 0.754234 -0.452528 0.475723 +vn 0.647175 0.034242 0.761559 +vn 0.700613 0.463424 0.542497 +vn 0.726066 0.473922 0.498184 +vn 0.548723 0.115452 0.827967 +vn 0.537797 0.054170 0.841304 +vn 0.638173 -0.100070 0.763329 +vn 0.630451 -0.027192 0.775719 +vn 0.525407 -0.145970 0.838221 +vn 0.518571 -0.314615 0.795007 +vn 0.530839 -0.211676 0.820582 +vn 0.569903 -0.161138 0.805719 +vn 0.676351 -0.214087 0.704733 +vn 0.546831 0.001801 0.837214 +vn 0.622578 0.070589 0.779351 +vn 0.550218 -0.140660 0.823054 +vn 0.539323 0.178625 0.822901 +vn 0.522843 0.244453 0.816614 +vn 0.470809 0.206091 0.857814 +vn 0.591327 0.127384 0.796289 +vn 0.633442 0.020692 0.773492 +vn 0.660237 -0.028138 0.750481 +vn 0.725059 0.422651 0.543687 +vn 0.478988 0.522141 0.705618 +vn 0.336589 0.555559 0.760277 +vn 0.609485 0.100894 0.786309 +vn 0.539964 -0.773431 0.331980 +vn 0.239387 -0.210730 0.947752 +vn 0.362987 -0.198553 0.910367 +vn 0.356059 -0.158879 0.920835 +vn 0.304697 -0.446333 0.841365 +vn 0.826319 -0.016877 0.562914 +vn 0.838282 -0.038240 0.543840 +vn 0.439863 -0.332896 0.834040 +vn 0.307901 0.637410 0.706290 +vn 0.313364 0.333445 0.889126 +vn 0.519883 0.315317 0.793908 +vn 0.704856 0.137150 0.695914 +vn 0.477065 -0.228645 0.848567 +vn 0.476119 0.193243 0.857875 +vn 0.527635 0.121067 0.840785 +vn 0.536058 0.030671 0.843593 +vn 0.652669 -0.326884 0.683462 +vn 0.674306 -0.145116 0.724021 +vn 0.160253 -0.008332 0.987030 +vn 0.645009 -0.156682 0.747887 +vn -0.893155 0.057466 -0.446028 +vn -0.899472 0.036958 -0.435347 +vn -0.817316 -0.044191 -0.574450 +vn 0.454512 0.074984 0.887539 +vn 0.495071 -0.271584 0.825282 +vn -0.108615 -0.571764 -0.813166 +vn 0.608264 -0.232521 0.758873 +vn 0.679067 -0.330638 0.655354 +vn 0.680654 -0.301248 0.667776 +vn 0.708426 -0.213630 0.672628 +vn 0.778649 -0.038148 0.626240 +vn 0.763115 0.127079 0.633595 +vn 0.717856 0.198004 0.667409 +vn 0.656362 0.231147 0.718131 +vn 0.643483 0.253395 0.722251 +vn 0.641102 0.321787 0.696677 +vn 0.638325 0.409833 0.651570 +vn 0.640278 0.445387 0.625782 +vn 0.587298 0.445326 0.675802 +vn 0.571368 0.510239 0.642750 +vn 0.596210 0.473952 0.647938 +vn 0.648793 0.262551 0.714194 +vn 0.675893 0.244942 0.695059 +vn 0.705130 0.117313 0.699271 +vn 0.685995 -0.170324 0.707358 +vn 0.693869 -0.106906 0.712088 +vn 0.724693 0.102176 0.681417 +vn 0.740074 0.220313 0.635365 +vn 0.820338 0.149052 0.552080 +vn -0.142705 0.744926 0.651692 +vn 0.496841 -0.537675 0.681173 +vn 0.297800 -0.381512 0.875057 +vn 0.318125 0.128117 0.939329 +vn 0.321360 0.222083 0.920530 +vn -0.666646 0.217444 -0.712912 +vn -0.617725 0.101230 -0.779809 +vn -0.609912 0.169134 -0.774163 +vn 0.708396 -0.357860 0.608325 +vn 0.682607 -0.445784 0.579028 +vn 0.665731 -0.446669 0.597705 +vn 0.684042 -0.439192 0.582354 +vn 0.684500 0.409650 0.602954 +vn -0.392376 -0.472304 -0.789239 +vn 0.625111 0.512101 0.589038 +vn 0.464034 0.541093 0.701315 +vn 0.322184 -0.360668 0.875271 +vn -0.918119 0.369854 -0.142216 +vn -0.922391 0.376751 -0.084964 +vn 0.658101 -0.482406 0.578051 +vn 0.685049 -0.466597 0.559404 +vn 0.721671 -0.488937 0.489975 +vn 0.700400 -0.447707 0.555864 +vn 0.721519 -0.426099 0.545732 +vn 0.735069 -0.429334 0.524674 +vn -0.993927 0.104556 0.033601 +vn 0.838038 -0.541032 -0.070132 +vn 0.896329 -0.433180 -0.094424 +vn 0.892758 -0.449416 -0.031220 +vn 0.993225 -0.092074 0.070467 +vn 0.997192 -0.047182 0.057741 +vn 0.481216 0.073824 0.873470 +vn 0.546037 0.074374 0.834437 +vn 0.633656 0.056948 0.771508 +vn 0.710196 -0.379376 0.593005 +vn 0.710654 -0.300363 0.636158 +vn 0.667013 -0.360546 0.651967 +vn 0.510117 0.439039 0.739586 +vn 0.393597 0.433699 0.810511 +vn 0.452223 0.241859 0.858455 +vn 0.856044 -0.045320 0.514908 +vn 0.871395 -0.016266 0.490280 +vn 0.527665 0.176885 0.830805 +vn 0.343394 0.319285 0.883236 +vn 0.322977 0.419050 0.848537 +vn 0.343852 0.310068 0.886319 +vn 0.864071 0.026612 0.502609 +vn 0.402295 0.086428 0.911405 +vn 0.758660 -0.305826 0.575182 +vn 0.716941 -0.197150 0.668630 +vn 0.209326 0.111423 0.971465 +vn 0.422803 0.282327 0.861110 +vn 0.573443 -0.083865 0.814905 +vn -0.969634 0.120792 -0.212592 +vn -0.628163 -0.767968 -0.124790 +vn 0.661245 -0.185675 0.726798 +vn 0.454970 -0.547441 0.702292 +vn 0.417982 0.154668 0.895169 +vn 0.533525 0.262917 0.803858 +vn 0.535478 0.223090 0.814508 +vn 0.449904 -0.078524 0.889584 +vn 0.483566 0.022370 0.874996 +vn 0.531480 0.126133 0.837611 +vn 0.810602 -0.269082 -0.520066 +vn 0.780663 -0.245460 -0.574664 +vn 0.738121 -0.069094 -0.671072 +vn 0.600238 -0.055818 0.797845 +vn 0.670125 -0.302164 0.677908 +vn 0.678243 -0.295114 0.672933 +vn 0.717490 -0.184942 0.671529 +vn 0.769890 -0.024873 0.637654 +vn 0.747795 0.095401 0.657002 +vn 0.730247 0.158757 0.664449 +vn 0.682241 0.197302 0.703970 +vn 0.660848 0.249886 0.707663 +vn 0.658528 0.334178 0.674245 +vn 0.629871 0.419477 0.653645 +vn 0.625690 0.427015 0.652760 +vn 0.623280 0.440474 0.646107 +vn 0.601459 0.513474 0.611988 +vn 0.626362 0.472091 0.620289 +vn 0.714042 0.275826 0.643422 +vn 0.715720 0.242897 0.654744 +vn 0.729637 0.135380 0.670247 +vn 0.777947 -0.170598 0.604694 +vn 0.790216 -0.088992 0.606311 +vn 0.798944 0.124271 0.588366 +vn 0.807092 0.274239 0.522843 +vn 0.874172 0.186895 0.448195 +vn 0.888089 -0.015381 0.459365 +vn 0.878597 0.093783 0.468245 +vn -0.059999 0.331309 -0.941588 +vn -0.041658 0.358654 -0.932524 +vn 0.667959 0.042512 -0.742943 +vn 0.738823 -0.036653 -0.672842 +vn 0.502579 -0.581103 0.640065 +vn 0.542253 -0.523667 0.657033 +vn 0.301004 -0.314280 0.900327 +vn 0.280160 0.269967 0.921171 +vn 0.322825 0.229682 0.918149 +vn 0.871761 0.485061 0.068422 +vn 0.424726 0.432936 0.795038 +vn 0.412549 0.414686 0.811029 +vn 0.837092 0.534410 0.116733 +vn 0.857997 0.498764 0.122593 +vn 0.882839 0.455489 0.114322 +vn 0.678243 -0.440870 0.587848 +vn 0.685873 -0.451735 0.570513 +vn 0.708182 -0.434309 0.556627 +vn 0.548662 0.485031 0.680929 +vn 0.788202 -0.328379 0.520463 +vn 0.805658 -0.352855 0.475784 +vn 0.751030 -0.472365 0.461257 +vn 0.187689 0.042421 0.981292 +vn 0.755028 -0.652821 -0.060762 +vn 0.761254 -0.648091 -0.020386 +vn 0.833522 -0.552202 -0.016419 +vn 0.600299 -0.046571 0.798395 +vn 0.487625 -0.006745 0.873012 +vn 0.457198 0.028565 0.888882 +vn 0.513291 -0.031190 0.857631 +vn 0.405683 0.091189 0.909421 +vn 0.549394 0.021790 0.835261 +vn 0.773278 -0.321757 0.546312 +vn 0.394787 0.085177 0.914792 +vn 0.357311 0.086276 0.929960 +vn -0.774926 -0.022797 -0.631581 +vn -0.737724 0.287729 -0.610675 +vn -0.733604 0.054231 -0.677389 +vn 0.447554 -0.359569 0.818751 +vn 0.436293 0.407422 0.802240 +vn 0.542222 0.224677 0.809626 +vn 0.467849 0.364849 0.804956 +vn 0.362255 0.525773 0.769585 +vn 0.315012 -0.653340 0.688375 +vn -0.291574 -0.707755 -0.643422 +vn -0.141514 -0.785760 -0.602100 +vn 0.784997 0.568499 0.246040 +vn 0.779565 0.585498 0.222297 +vn 0.798730 0.553056 0.236885 +vn 0.491775 -0.843898 0.214393 +vn 0.657888 -0.115116 0.744224 +vn 0.822230 -0.180242 0.539842 +vn 0.796258 -0.266732 0.542924 +vn 0.752190 -0.207160 0.625477 +vn 0.773125 0.153447 0.615375 +vn -0.281411 0.304086 -0.910092 +vn -0.309000 0.410932 -0.857692 +vn -0.241340 0.375164 -0.894955 +vn 0.553209 0.240394 0.797571 +vn 0.736320 0.038667 -0.675497 +vn 0.700369 -0.700919 0.134831 +vn 0.509934 0.084689 0.856014 +vn 0.202612 0.444929 0.872311 +vn 0.663686 -0.258187 0.701987 +vn 0.661336 -0.289590 0.691885 +vn 0.712333 -0.152684 0.684988 +vn 0.760247 -0.006836 0.649586 +vn 0.764702 0.087985 0.638295 +vn 0.762200 0.136143 0.632832 +vn 0.708396 0.163152 0.686666 +vn 0.680349 0.256539 0.686514 +vn 0.664602 0.332194 0.669240 +vn 0.639302 0.413099 0.648549 +vn 0.621540 0.427839 0.656178 +vn 0.649281 0.458876 0.606494 +vn 0.633045 0.511124 0.581317 +vn 0.648579 0.488083 0.583972 +vn 0.749443 0.289529 0.595355 +vn 0.762017 0.223457 0.607715 +vn 0.752861 0.168310 0.636250 +vn 0.841212 -0.068422 0.536302 +vn 0.891507 -0.070833 0.447401 +vn 0.897000 0.133122 0.421461 +vn 0.954375 0.094729 0.283090 +vn 0.885281 0.307962 0.348460 +vn 0.867428 -0.034944 0.496292 +vn 0.873959 -0.028016 0.485153 +vn 0.904843 0.397259 0.153050 +vn 0.093814 -0.964965 -0.244911 +vn 0.026276 -0.998749 0.042268 +vn 0.031678 -0.998047 0.053713 +vn 0.085513 -0.950377 -0.299020 +vn 0.044404 -0.947905 -0.315348 +vn 0.323466 0.262429 0.909085 +vn 0.270119 0.220222 0.937284 +vn 0.300790 0.223487 0.927122 +vn -0.970000 0.162175 -0.181036 +vn 0.674062 -0.516556 0.527970 +vn 0.693381 -0.541520 0.475295 +vn 0.983184 0.182195 -0.010529 +vn 0.996582 0.066622 0.048616 +vn 0.763695 -0.462233 0.450606 +vn 0.744804 -0.504501 0.436689 +vn 0.397443 0.569750 0.719291 +vn 0.334849 0.548479 0.766167 +vn 0.358623 0.590258 0.723136 +vn 0.934141 0.148442 -0.324534 +vn -0.090823 -0.566729 -0.818842 +vn -0.124241 -0.539872 -0.832514 +vn -0.153996 -0.509476 -0.846553 +vn 0.717948 0.044374 0.694632 +vn 0.765038 -0.033723 0.643086 +vn 0.427778 -0.894467 0.129948 +vn 0.387036 -0.909299 0.152745 +vn 0.379620 -0.906583 0.184271 +vn 0.854793 -0.052980 0.516221 +vn 0.104923 -0.399945 -0.910489 +vn 0.159001 -0.411176 -0.897549 +vn 0.697531 -0.714652 -0.051759 +vn 0.633320 -0.123844 0.763878 +vn 0.890713 0.448073 0.076449 +vn 0.902341 0.425672 0.067263 +vn 0.433576 0.025422 0.900754 +vn 0.320017 0.449904 0.833735 +vn 0.299844 0.553117 0.777245 +vn 0.677633 0.372448 0.634083 +vn 0.578265 0.474685 0.663503 +vn 0.553911 0.203711 0.807245 +vn 0.236488 -0.360881 0.902097 +vn 0.297220 -0.335521 0.893887 +vn 0.427351 0.054445 0.902432 +vn -0.972503 0.035829 -0.229987 +vn -0.951231 0.076846 -0.298715 +vn 0.536363 -0.009278 0.843898 +vn 0.485519 0.013306 0.874111 +vn 0.736869 0.320231 0.595325 +vn 0.537065 0.180761 0.823908 +vn 0.226325 -0.626637 0.745689 +vn 0.618610 -0.009522 0.785607 +vn 0.645619 -0.232398 0.727409 +vn 0.474837 0.457442 0.751823 +vn 0.464644 0.490371 0.737266 +vn 0.427473 0.326090 0.843135 +vn 0.353130 0.077029 0.932371 +vn 0.446760 0.229499 0.864681 +vn 0.452864 0.216773 0.864803 +vn 0.464797 0.108646 0.878689 +vn 0.467849 0.182867 0.864650 +vn 0.455489 0.187628 0.870205 +vn -0.807215 0.006958 -0.590197 +vn 0.615650 -0.149205 0.773736 +vn 0.651967 -0.273934 0.707022 +vn 0.712638 -0.108768 0.693014 +vn 0.757469 0.021363 0.652486 +vn 0.795831 0.109409 0.595508 +vn 0.762261 0.077212 0.642628 +vn 0.709006 0.126164 0.693777 +vn 0.696585 0.253334 0.671224 +vn 0.704367 0.338328 0.623981 +vn 0.662160 0.393231 0.637867 +vn 0.630970 0.440107 0.638874 +vn 0.658681 0.478530 0.580584 +vn 0.664724 0.514298 0.541826 +vn 0.788049 0.297189 0.539079 +vn 0.829493 0.222510 0.512223 +vn 0.823359 0.185064 0.536454 +vn 0.893735 0.057680 0.444807 +vn 0.948241 -0.014039 0.317209 +vn 0.941404 0.103305 0.320963 +vn 0.863826 0.225837 0.450301 +vn 0.450301 0.197180 0.870815 +vn 0.486801 0.271798 0.830134 +vn 0.375591 0.126041 0.918149 +vn 0.721397 -0.005005 0.692465 +vn 0.686026 -0.007965 0.727500 +vn -0.968169 0.239875 -0.071108 +vn 0.297372 0.135258 0.945097 +vn 0.847346 0.055391 0.528123 +vn 0.632710 0.099826 0.767907 +vn 0.449995 0.858058 0.247444 +vn 0.362529 0.895657 0.257485 +vn 0.515824 0.829310 0.214789 +vn 0.459914 0.659444 0.594592 +vn 0.367016 0.713981 0.596210 +vn 0.068972 -0.653401 -0.753838 +vn 0.699973 -0.393170 0.596149 +vn 0.734184 -0.390667 0.555254 +vn -0.870357 -0.346812 0.349467 +vn -0.816187 -0.329814 0.474349 +vn 0.749504 -0.420362 0.511338 +vn 0.145970 0.334117 0.931150 +vn 0.263924 0.359172 -0.895169 +vn 0.375195 0.249977 -0.892575 +vn 0.339305 0.363842 -0.867428 +vn 0.702963 -0.076724 0.707053 +vn 0.571703 -0.385937 0.723991 +vn 0.556993 -0.263863 0.787469 +vn 0.061251 -0.705069 -0.706442 +vn 0.065706 -0.658498 -0.749687 +vn -0.137181 -0.759117 -0.636311 +vn 0.963256 -0.184515 0.195044 +vn 0.834132 0.189245 0.518052 +vn 0.840480 -0.538224 0.062319 +vn 0.600635 0.343272 0.722068 +vn 0.791498 0.020753 0.610797 +vn 0.456008 -0.030732 0.889431 +vn 0.950743 -0.070406 0.301828 +vn 0.581042 -0.176977 0.794366 +vn 0.894620 -0.087436 0.438124 +vn 0.991546 0.105075 0.075991 +vn 0.991577 0.107700 0.071780 +vn 0.656911 -0.186041 0.730613 +vn 0.528214 -0.099124 0.843287 +vn 0.920133 -0.355968 -0.163030 +vn 0.385113 -0.036836 0.922117 +vn 0.371166 0.262276 0.890744 +vn 0.366436 0.617267 0.696158 +vn 0.770257 0.257820 0.583239 +vn 0.452071 0.573260 0.683340 +vn 0.421400 0.478286 0.770470 +vn 0.469314 0.387799 0.793268 +vn 0.519669 0.325602 0.789850 +vn 0.523087 0.289254 0.801660 +vn 0.473067 0.368023 0.800439 +vn -0.148839 -0.403485 -0.902768 +vn 0.549272 -0.215705 0.807276 +vn 0.532884 0.194800 0.823420 +vn 0.580737 0.174932 0.795038 +vn 0.520432 0.262612 0.812464 +vn 0.583392 0.278176 0.763054 +vn 0.588305 0.148320 0.794885 +vn 0.620838 0.105869 0.776727 +vn 0.593860 0.103030 0.797906 +vn 0.502426 0.036988 0.863796 +vn 0.635792 0.174017 0.751946 +vn 0.588885 0.126865 0.798151 +vn 0.373821 0.594104 0.712210 +vn 0.402631 0.528062 0.747642 +vn 0.228034 -0.805719 -0.546617 +vn 0.251930 -0.835536 -0.488235 +vn 0.503952 0.465041 0.727836 +vn 0.507431 0.426221 0.748863 +vn 0.410962 0.529557 0.742027 +vn 0.431776 0.484848 0.760552 +vn 0.474624 0.469069 0.744743 +vn 0.429395 0.603076 0.672201 +vn -0.604266 0.413129 -0.681295 +vn -0.319285 0.573473 -0.754418 +vn -0.734367 -0.108829 -0.669942 +vn 0.601184 -0.051943 0.797388 +vn 0.674123 -0.237800 0.699271 +vn 0.740043 -0.071505 0.668691 +vn 0.788934 0.084506 0.608600 +vn 0.811884 0.091708 0.576556 +vn 0.735160 0.024384 0.677419 +vn 0.745201 0.134465 0.653096 +vn 0.751396 0.281350 0.596820 +vn 0.754906 0.323374 0.570513 +vn 0.700583 0.347972 0.622944 +vn 0.673421 0.455489 0.582232 +vn 0.727378 0.552934 0.406384 +vn 0.821650 0.327342 0.466597 +vn 0.874691 0.215155 0.434248 +vn 0.843562 0.222571 0.488723 +vn 0.436171 -0.586688 0.682302 +vn 0.431654 -0.548173 0.716330 +vn 0.605029 0.110782 0.788446 +vn 0.636433 -0.244301 0.731590 +vn 0.628071 -0.060396 0.775780 +vn 0.746269 -0.014985 0.665456 +vn 0.566393 0.219611 0.794305 +vn 0.811640 -0.098605 0.575732 +vn 0.843196 -0.528550 -0.098178 +vn 0.763268 -0.571917 -0.300455 +vn 0.537553 -0.838374 -0.090243 +vn 0.611927 -0.369152 0.699423 +vn 0.412458 0.337199 0.846248 +vn 0.498825 0.244636 0.831446 +vn 0.887112 0.400555 0.229225 +vn 0.878842 0.319529 0.354259 +vn 0.758049 0.332743 0.560900 +vn 0.758538 0.355510 0.546037 +vn 0.726920 0.317942 0.608661 +vn 0.604633 -0.353618 0.713675 +vn 0.703787 0.341014 0.623157 +vn 0.721488 -0.410718 0.557421 +vn -0.903134 0.417280 0.100833 +vn 0.818079 0.225379 -0.529038 +vn 0.844081 0.214026 -0.491592 +vn 0.842341 0.259224 -0.472457 +vn 0.905393 -0.081118 0.416700 +vn 0.957701 -0.048311 0.283608 +vn 0.663137 0.371471 0.649770 +vn 0.281503 0.867122 0.410871 +vn 0.780175 -0.343730 0.522599 +vn 0.758324 -0.304605 0.576312 +vn -0.896603 0.257607 0.360118 +vn -0.918607 0.244240 0.310587 +vn 0.640645 -0.596515 0.483383 +vn 0.641957 -0.531907 0.552202 +vn -0.154393 -0.795831 -0.585437 +vn 0.125492 0.030976 0.991607 +vn 0.409589 -0.893490 -0.183966 +vn 0.842738 -0.528550 -0.101840 +vn 0.731346 -0.210517 0.648640 +vn 0.893399 -0.001984 0.449202 +vn 0.905820 -0.071902 0.417493 +vn 0.917539 -0.358226 -0.172582 +vn 0.730644 -0.188696 0.656117 +vn 0.564714 -0.146062 0.812220 +vn 0.593890 -0.220313 0.773766 +vn 0.916440 0.252937 0.310038 +vn 0.923399 0.236641 0.302103 +vn 0.512833 -0.161596 0.843104 +vn 0.532121 -0.287484 0.796319 +vn 0.397137 0.231697 0.887997 +vn 0.356395 0.233070 0.904782 +vn 0.369121 0.564287 0.738426 +vn 0.560625 0.276498 0.780511 +vn 0.379528 0.372021 0.847072 +vn 0.410474 0.478561 0.776177 +vn 0.377209 0.363170 0.851924 +vn 0.406842 0.431837 0.804956 +vn 0.432936 0.535905 0.724784 +vn 0.429121 0.547472 0.718375 +vn 0.442396 0.364208 0.819483 +vn 0.391247 0.400311 0.828608 +vn 0.411603 0.548875 0.727500 +vn 0.501968 0.330027 0.799402 +vn 0.441145 0.375286 0.815180 +vn 0.588366 0.098117 0.802606 +vn 0.549821 0.270547 0.790216 +vn 0.520249 0.293527 0.801965 +vn 0.483993 0.429365 0.762444 +vn 0.612476 0.239143 0.753410 +vn 0.654073 0.223762 0.722526 +vn 0.655019 0.192938 0.730552 +vn 0.691855 0.161382 0.703726 +vn 0.686056 0.130100 0.715781 +vn 0.666890 0.101657 0.738151 +vn 0.644093 0.146489 0.750755 +vn 0.580279 0.173315 0.795740 +vn 0.656087 0.161290 0.737205 +vn 0.550676 0.172155 0.816736 +vn 0.225349 0.616413 0.754448 +vn 0.587359 0.184729 0.787927 +vn 0.127506 0.294992 0.946928 +vn 0.465773 -0.490097 0.736778 +vn 0.847041 0.317789 0.426008 +vn 0.852229 0.308817 0.422254 +vn 0.679159 -0.033753 0.733177 +vn 0.699850 -0.021668 0.713950 +vn 0.652974 -0.118595 0.748009 +vn 0.626545 -0.257118 0.735710 +vn 0.636250 -0.317637 0.703024 +vn 0.607227 -0.371624 0.702231 +vn 0.683309 -0.215979 0.697409 +vn 0.924284 0.093509 0.370067 +vn 0.896023 0.195105 0.398785 +vn 0.778405 -0.136418 0.612720 +vn 0.865108 -0.020234 0.501114 +vn 0.886196 0.123112 0.446638 +vn 0.844935 0.002533 0.534837 +vn 0.791620 0.000092 0.610981 +vn 0.803674 0.164464 0.571825 +vn 0.784539 0.289346 0.548387 +vn 0.777245 0.295297 0.555559 +vn 0.753136 0.336741 0.565081 +vn 0.736137 0.469192 0.487777 +vn 0.642384 -0.763451 0.066408 +vn 0.640584 -0.763634 0.080447 +vn 0.759850 0.493088 0.423627 +vn 0.559832 -0.824274 0.084384 +vn 0.471328 -0.874203 0.116398 +vn 0.860378 0.366283 0.354350 +vn 0.269662 -0.930509 -0.247719 +vn 0.522904 -0.485244 0.700766 +vn 0.812708 0.574511 -0.097049 +vn 0.841884 0.531266 -0.094424 +vn 0.835261 0.528764 -0.150700 +vn 0.346141 0.518845 0.781610 +vn 0.462020 -0.008972 0.886807 +vn 0.362468 0.061617 0.929929 +vn 0.674917 -0.149236 0.722617 +vn 0.627094 -0.069918 0.775750 +vn 0.513718 0.264565 0.816126 +vn 0.395764 0.547472 0.737297 +vn 0.598254 0.395917 0.696616 +vn 0.573321 0.499374 0.649525 +vn 0.425520 0.110782 0.898129 +vn -0.869839 0.321024 -0.374523 +vn -0.938780 0.125614 -0.320780 +vn 0.327280 -0.914274 -0.238594 +vn 0.699911 -0.183538 0.690207 +vn 0.616108 -0.246864 0.747948 +vn 0.550645 -0.023804 0.834376 +vn 0.428571 -0.132450 0.893735 +vn 0.363445 -0.232307 0.902158 +vn -0.856899 0.209021 0.471145 +vn -0.930143 0.125828 0.344859 +vn -0.905606 0.239204 0.350139 +vn 0.620960 0.405683 0.670644 +vn 0.617634 0.409314 0.671499 +vn 0.435255 0.088260 0.895932 +vn 0.408338 0.092593 0.908109 +vn 0.590075 0.152470 0.792779 +vn 0.861263 0.150761 0.485244 +vn 0.886380 0.019410 0.462508 +vn 0.870998 -0.008606 0.491195 +vn -0.820887 -0.556688 -0.127293 +vn -0.829676 -0.555681 -0.053011 +vn -0.915342 -0.336680 -0.220832 +vn 0.407880 -0.081362 0.909391 +vn 0.517655 -0.176550 0.837153 +vn 0.597491 -0.302561 0.742576 +vn 0.632862 -0.339213 0.695975 +vn 0.328898 0.443037 0.833979 +vn 0.542772 0.187445 0.818659 +vn 0.505509 0.056429 0.860958 +vn 0.545427 -0.036500 0.837336 +vn 0.601489 0.111759 0.791009 +vn 0.389538 0.068239 0.918455 +vn 0.528764 -0.131077 0.838557 +vn 0.315744 -0.074282 0.945921 +vn 0.340312 -0.105777 0.934324 +vn 0.597339 0.004913 0.801935 +vn 0.555406 -0.113468 0.823756 +vn 0.390545 -0.074526 0.917539 +vn 0.459609 0.063936 0.885800 +vn 0.591144 0.218238 0.776452 +vn 0.559832 0.291360 0.775658 +vn 0.570177 0.308237 0.761467 +vn 0.534959 0.284463 0.795526 +vn 0.589984 0.299936 0.749596 +vn 0.572253 0.284158 0.769250 +vn 0.664846 -0.016541 0.746757 +vn 0.408643 -0.052644 0.911161 +vn 0.590197 0.009919 0.807154 +vn 0.711722 0.026826 0.701926 +vn 0.540269 -0.010712 0.841395 +vn 0.699362 0.141392 0.700613 +vn 0.588183 0.195410 0.784753 +vn 0.733696 0.071810 0.675619 +vn 0.714438 0.184667 0.674825 +vn 0.698325 0.152959 0.699210 +vn 0.517838 0.201300 0.831446 +vn 0.444502 0.501419 0.742271 +vn 0.180486 -0.793054 -0.581744 +vn 0.228187 -0.366649 0.901914 +vn 0.485427 -0.519028 0.703513 +vn 0.517350 -0.193548 0.833583 +vn 0.804559 -0.269509 0.529130 +vn 0.778771 -0.180425 0.600757 +vn 0.580920 -0.031343 0.813318 +vn 0.474624 -0.102268 0.874203 +vn 0.454878 -0.047426 0.889248 +vn 0.722068 -0.129582 0.679556 +vn 0.661275 0.034333 0.749321 +vn 0.419660 -0.169073 0.891781 +vn 0.375958 -0.344066 0.860378 +vn 0.507157 -0.335307 0.793939 +vn 0.531297 0.069185 0.844325 +vn 0.374767 -0.495865 0.783319 +vn 0.459120 -0.503708 0.731742 +vn 0.448653 -0.171972 0.876980 +vn 0.538285 -0.425428 0.727439 +vn 0.420789 -0.500381 0.756645 +vn 0.817591 0.095187 0.567827 +vn 0.495071 0.341533 0.798883 +vn 0.925779 0.076815 0.370159 +vn 0.900388 0.014069 0.434828 +vn 0.810785 -0.070223 0.581072 +vn 0.829096 0.005188 0.559038 +vn 0.846156 0.179632 0.501724 +vn 0.821650 0.269570 0.502152 +vn 0.801172 0.271981 0.533006 +vn 0.801508 0.353404 0.482345 +vn 0.779107 0.471999 0.412488 +vn 0.959593 0.273873 0.064302 +vn 0.944731 0.319559 0.073000 +vn 0.956603 0.283029 0.068911 +vn 0.919218 0.387585 0.068911 +vn 0.965911 0.250496 0.064882 +vn 0.566698 -0.430525 0.702445 +vn -0.374401 -0.454360 -0.808283 +vn 0.626972 0.033937 0.778283 +vn 0.832667 0.053926 0.551103 +vn 0.150395 -0.092990 0.984222 +vn 0.629414 0.419568 0.654012 +vn 0.570391 0.125156 0.811762 +vn 0.501694 -0.009613 0.864956 +vn 0.385296 -0.052583 0.921262 +vn 0.393231 0.045045 0.918302 +vn 0.785607 0.044679 -0.617084 +vn 0.706381 -0.296762 0.642598 +vn 0.367870 -0.126682 0.921201 +vn 0.430372 -0.159093 0.888485 +vn 0.634053 -0.549455 0.544084 +vn 0.507584 -0.339976 0.791681 +vn 0.471969 -0.232826 0.850276 +vn 0.260720 -0.077486 0.962279 +vn 0.744591 0.375530 0.551866 +vn 0.506882 -0.222571 0.832759 +vn 0.857875 0.511063 0.052950 +vn 0.855403 0.516190 0.042512 +vn 0.830164 0.554918 0.053346 +vn 0.860653 -0.019684 0.508774 +vn 0.879910 -0.075991 0.468978 +vn 0.885617 0.055574 0.461043 +vn 0.910550 0.159062 0.381542 +vn 0.901761 0.179571 0.393109 +vn 0.734336 0.399579 0.548692 +vn 0.670156 -0.440321 0.597430 +vn 0.633076 -0.444441 0.633717 +vn 0.676931 -0.291940 0.675649 +vn 0.472365 -0.012879 0.881283 +vn 0.594378 0.331767 0.732536 +vn 0.606861 0.350627 0.713248 +vn 0.594409 0.336253 0.730461 +vn -0.520280 0.312510 -0.794733 +vn -0.431410 0.428297 -0.793970 +vn -0.597949 -0.458663 0.657277 +vn -0.581042 -0.514817 0.630329 +vn -0.578936 -0.469497 0.666616 +vn 0.639576 -0.562700 0.523698 +vn -0.186895 0.327006 -0.926328 +vn 0.229530 -0.421583 -0.877224 +vn 0.188513 -0.446791 -0.874538 +vn 0.252388 -0.348704 -0.902585 +vn -0.641072 0.119694 -0.758049 +vn 0.895199 0.311869 -0.318278 +vn -0.130009 0.507035 -0.852046 +vn -0.126164 0.409803 -0.903378 +vn -0.869686 -0.485153 -0.090640 +vn 0.555040 0.560808 0.614307 +vn 0.601215 0.552263 0.577471 +vn 0.579211 0.491714 0.650105 +vn 0.630818 0.498489 0.594592 +vn 0.566301 0.444014 0.694327 +vn 0.551561 0.276833 0.786828 +vn 0.559496 0.326853 0.761620 +vn 0.537767 0.148350 0.829920 +vn 0.558946 0.169225 0.811731 +vn 0.767937 0.012543 0.640339 +vn 0.471847 0.222999 0.852992 +vn 0.486740 0.354259 0.798456 +vn 0.186254 0.823237 0.536241 +vn 0.430464 0.596576 0.677297 +vn 0.264443 0.724570 0.636402 +vn 0.431745 -0.323099 0.842128 +vn 0.510819 -0.211585 0.833216 +vn 0.508194 -0.219123 0.832881 +vn 0.517014 -0.148534 0.842952 +vn 0.520646 -0.161016 0.838435 +vn 0.474471 -0.235511 0.848140 +vn 0.544145 -0.353648 0.760765 +vn 0.431928 -0.326273 0.840785 +vn 0.478988 -0.383892 0.789392 +vn 0.569414 -0.309122 0.761681 +vn 0.569781 -0.054201 0.819971 +vn 0.525468 0.151616 0.837153 +vn 0.412885 0.168249 0.895077 +vn 0.901944 -0.006165 0.431776 +vn -0.085940 0.406293 -0.909665 +vn -0.030335 0.507523 -0.861080 +vn 0.896420 0.109775 0.429365 +vn 0.852565 -0.106052 0.511734 +vn 0.829432 -0.072085 0.553911 +vn 0.866634 0.045930 0.496780 +vn 0.873562 0.187719 0.448988 +vn 0.846004 0.233375 0.479324 +vn 0.830164 0.282083 0.480850 +vn 0.825037 0.387951 0.410779 +vn 0.336192 0.436628 0.834437 +vn 0.899533 -0.435865 0.028993 +vn 0.933134 -0.353984 0.062593 +vn 0.867763 -0.061953 0.493088 +vn 0.863094 0.238227 0.445296 +vn 0.175726 -0.008789 0.984375 +vn 0.883206 0.125340 0.451918 +vn 0.884945 0.170904 0.433149 +vn 0.514817 0.833003 0.202521 +vn 0.858516 0.154180 0.488998 +vn 0.880673 -0.000366 0.473708 +vn 0.935545 -0.000641 0.353191 +vn 0.930540 0.060854 0.361034 +vn 0.497269 -0.039521 0.866665 +vn 0.515427 -0.067080 0.854274 +vn 0.598865 0.103793 0.794061 +vn 0.749107 0.362835 0.554186 +vn 0.568743 0.172063 0.804285 +vn 0.993896 0.095737 0.054262 +vn -0.444105 -0.084841 -0.891934 +vn -0.413221 -0.148839 -0.898343 +vn -0.317087 0.118229 -0.940977 +vn 0.994629 0.094913 0.040620 +vn 0.716147 0.422407 0.555528 +vn 0.715995 0.449629 0.534013 +vn 0.728294 0.395215 0.559771 +vn 0.719687 0.365947 0.589984 +vn 0.718101 0.375805 0.585711 +vn -0.306253 0.206030 -0.929350 +vn 0.587512 -0.348949 0.730094 +vn 0.605731 -0.424085 0.673208 +vn 0.685751 -0.170049 0.707663 +vn 0.636464 0.360637 0.681753 +vn 0.651448 0.404370 0.641926 +vn 0.750938 0.322550 0.576159 +vn 0.816340 -0.350475 0.459059 +vn 0.771111 -0.375835 0.513901 +vn 0.810724 -0.368786 0.454634 +vn 0.798517 -0.285318 0.530015 +vn 0.782891 -0.200659 0.588885 +vn 0.793847 -0.189856 0.577685 +vn 0.796869 -0.131321 0.589679 +vn 0.791498 -0.043794 0.609546 +vn 0.221900 -0.813349 -0.537736 +vn 0.492935 -0.070986 0.867153 +vn 0.258095 0.756157 0.601306 +vn 0.441481 -0.288919 0.849452 +vn 0.573840 -0.204901 0.792901 +vn -0.650624 -0.741966 -0.161534 +vn -0.681478 -0.707694 -0.186316 +vn -0.672750 -0.723533 -0.154424 +vn 0.872005 0.155187 0.464217 +vn 0.542558 0.049989 0.838496 +vn 0.601825 0.273934 0.750145 +vn 0.813501 0.006165 0.581500 +vn 0.540361 -0.072726 0.838252 +vn 0.481796 0.300516 0.823115 +vn 0.606861 0.246101 0.755730 +vn 0.622028 0.187353 0.760216 +vn 0.477371 0.113376 0.871334 +vn 0.430921 -0.021638 0.902097 +vn 0.104465 0.196539 0.974883 +vn 0.526658 -0.277169 0.803583 +vn 0.366314 -0.248756 0.896603 +vn 0.984497 -0.139256 0.106571 +vn 0.713370 -0.184698 0.675985 +vn 0.441115 0.603931 0.663778 +vn 0.363750 0.618305 0.696677 +vn 0.911924 -0.321665 -0.254707 +vn 0.398175 0.663656 0.633229 +vn 0.600604 0.058077 -0.797418 +vn 0.683279 0.035218 -0.729270 +vn 0.814966 0.022706 0.579028 +vn 0.809595 0.516129 -0.279550 +vn 0.781762 0.546068 -0.301004 +vn 0.908750 -0.347209 -0.231544 +vn 0.786370 0.172979 0.593005 +vn 0.854183 -0.118686 0.506180 +vn 0.868221 -0.062502 0.492172 +vn 0.883969 0.099551 0.456801 +vn 0.877377 0.169683 0.448744 +vn 0.873226 0.218451 0.435560 +vn 0.850185 0.286386 0.441755 +vn 0.817286 0.416700 0.397931 +vn 0.877865 0.475448 0.057222 +vn 0.869869 0.275521 0.409131 +vn 0.840571 0.421522 0.340190 +vn 0.893887 0.443617 0.064089 +vn 0.850368 0.523423 0.053529 +vn 0.860805 0.344279 -0.374737 +vn 0.868252 0.264626 -0.419568 +vn 0.269417 -0.118259 0.955718 +vn 0.302011 0.066225 0.950987 +vn 0.240608 0.093417 0.966094 +vn 0.237495 0.188635 0.952879 +vn 0.997497 0.038636 0.058809 +vn 0.721458 0.348857 0.598132 +vn 0.763939 0.376110 0.524277 +vn 0.401318 0.111362 0.909116 +vn 0.896939 -0.019471 0.441694 +vn -0.452284 0.822626 -0.344432 +vn -0.401013 0.775414 -0.487747 +vn -0.485916 0.741813 -0.462111 +vn 0.972137 0.070681 -0.223365 +vn -0.708365 -0.701590 -0.077120 +vn -0.683370 -0.725852 -0.078036 +vn -0.674215 -0.123447 0.728111 +vn 0.705741 -0.310221 0.636891 +vn 0.781732 -0.326670 0.531144 +vn 0.598163 -0.498337 0.627552 +vn 0.543626 -0.422193 0.725394 +vn 0.592059 -0.464431 0.658559 +vn 0.902249 0.272652 -0.334056 +vn 0.795312 0.306681 0.522874 +vn -0.394635 0.844447 0.362102 +vn -0.469222 0.159398 -0.868557 +vn -0.369793 0.297678 -0.880093 +vn 0.483657 0.119388 0.867061 +vn 0.457595 0.836818 -0.300516 +vn 0.901547 0.005921 0.432600 +vn 0.712943 0.396008 0.578631 +vn 0.693442 -0.437422 0.572497 +vn 0.429731 -0.888363 -0.161596 +vn 0.696799 -0.417859 0.582934 +vn 0.742576 -0.180090 0.645039 +vn 0.673116 -0.083804 0.734733 +vn 0.526505 -0.464400 0.712088 +vn 0.516648 -0.471847 0.714438 +vn 0.476730 -0.372845 0.796045 +vn 0.735252 0.053255 0.675649 +vn 0.753105 0.004089 0.657857 +vn 0.184240 0.082247 0.979430 +vn 0.103061 0.223823 0.969146 +vn 0.817377 -0.110233 0.565416 +vn 0.824610 0.204321 0.527482 +vn 0.843867 0.124912 0.521775 +vn 0.842372 0.070711 0.534165 +vn 0.828211 0.046876 0.558428 +vn 0.810114 0.032228 0.585345 +vn 0.780450 0.057527 0.622547 +vn 0.770196 0.025575 0.637287 +vn 0.748314 0.073000 0.659291 +vn 0.802637 -0.008179 0.596362 +vn 0.825495 -0.092196 0.556780 +vn 0.778680 0.029756 0.626698 +vn 0.715873 0.018983 0.697958 +vn -0.925504 -0.094180 -0.366771 +vn -0.948790 0.035493 -0.313852 +vn 0.368511 0.561998 0.740471 +vn 0.664968 0.162358 0.728965 +vn 0.168828 0.162908 0.972076 +vn 0.550157 -0.097324 0.829341 +vn 0.849879 -0.064943 0.522935 +vn 0.220069 -0.967009 0.128117 +vn 0.065645 -0.994598 0.080111 +vn 0.087436 -0.993408 0.073702 +vn 0.321574 -0.615680 -0.719352 +vn 0.043550 -0.040651 -0.998199 +vn 0.001862 -0.050935 -0.998688 +vn 0.006317 -0.021393 -0.999725 +vn 0.458022 0.216865 0.862056 +vn 0.994232 0.065065 0.085116 +vn 0.995483 0.064058 0.070009 +vn 0.615955 0.373791 0.693411 +vn -0.513504 0.329295 -0.792352 +vn -0.601123 0.331095 -0.727287 +vn -0.536088 0.385327 -0.751061 +vn -0.706381 -0.650990 -0.277840 +vn -0.803217 -0.537095 -0.257485 +vn -0.783715 -0.578478 -0.226020 +vn 0.811274 0.009033 0.584552 +vn 0.910886 -0.044099 0.410230 +vn 0.913266 0.099063 0.395062 +vn 0.893948 0.170354 0.414502 +vn 0.891385 0.214118 0.399396 +vn 0.820582 0.454482 0.346477 +vn 0.798975 0.324656 -0.506149 +vn 0.845363 0.237434 -0.478469 +vn 0.827937 0.322184 0.458998 +vn 0.187201 -0.954009 -0.234046 +vn 0.221686 -0.935484 -0.275124 +vn 0.482315 0.310648 -0.819025 +vn 0.451430 0.322642 -0.831904 +vn -0.119907 -0.532884 -0.837611 +vn 0.230964 0.071993 -0.970275 +vn -0.213172 0.126041 -0.968841 +vn -0.240486 0.107089 -0.964690 +vn 0.760613 -0.252205 0.598193 +vn 0.783959 -0.283120 0.552446 +vn 0.646748 0.011383 0.762596 +vn 0.717429 -0.365123 0.593249 +vn -0.149052 -0.945891 -0.288217 +vn 0.217414 -0.859157 -0.463179 +vn 0.905637 -0.041200 0.421979 +vn 0.900235 -0.021546 0.434797 +vn 0.920835 -0.027284 0.388958 +vn 0.232917 0.602527 0.763329 +vn 0.583148 -0.055452 0.810450 +vn 0.574969 -0.569750 0.587146 +vn 0.615589 -0.128239 0.777520 +vn 0.679250 -0.107242 0.726005 +vn 0.510422 -0.709616 0.485672 +vn 0.557543 -0.664235 0.497909 +vn 0.519944 -0.651143 0.552812 +vn 0.476028 0.558123 0.679586 +vn 0.435560 0.392346 0.810114 +vn 0.762749 0.068911 0.642964 +vn 0.737877 0.049043 0.673147 +vn 0.730033 0.033357 0.682577 +vn 0.770806 0.005707 0.636982 +vn 0.803644 -0.066530 0.591357 +vn 0.793542 -0.042177 0.607013 +vn 0.764763 0.332408 0.551897 +vn 0.658589 -0.425733 0.620441 +vn 0.678732 -0.423139 0.600208 +vn 0.648610 -0.023011 0.760765 +vn 0.633686 0.059297 0.771294 +vn 0.588488 -0.387646 0.709464 +vn 0.564409 0.071444 0.822382 +vn -0.965514 0.240761 -0.098910 +vn -0.978118 0.196539 -0.067934 +vn 0.839320 -0.155889 0.520798 +vn 0.826106 -0.085604 0.556932 +vn 0.789026 -0.060427 0.611316 +vn 0.831874 -0.084933 0.548418 +vn 0.225593 0.329051 0.916959 +vn 0.550462 -0.103000 0.828455 +vn 0.303507 -0.930692 -0.204108 +vn 0.768487 0.013642 0.639699 +vn 0.778405 0.027375 0.627125 +vn 0.760308 -0.007538 0.649495 +vn 0.791833 0.026460 0.610126 +vn 0.711875 0.032563 0.701529 +vn -0.937010 0.241340 0.252419 +vn 0.741447 0.011597 0.670858 +vn 0.780725 -0.007233 0.624805 +vn 0.384442 0.529679 0.756066 +vn 0.642079 -0.058260 0.764397 +vn 0.694601 -0.139927 0.705618 +vn 0.722068 -0.236793 0.650014 +vn 0.223182 -0.036897 0.974059 +vn 0.577593 0.068758 0.813379 +vn 0.667928 0.084964 0.739311 +vn 0.444899 -0.570147 0.690603 +vn 0.541704 0.061220 0.838313 +vn 0.504776 0.165654 0.847163 +vn 0.536790 0.589770 0.603320 +vn 0.986602 0.159429 0.034242 +vn 0.963866 0.266335 0.004822 +vn -0.441481 0.209815 -0.872372 +vn -0.448073 0.350475 -0.822413 +vn -0.472823 0.359081 -0.804621 +vn 0.807062 -0.019562 0.590075 +vn 0.831874 -0.010071 0.554826 +vn 0.827723 0.052828 0.558611 +vn 0.815302 0.119480 0.566515 +vn 0.787896 0.303079 0.536027 +vn 0.802637 0.218207 0.555071 +vn 0.980956 0.033113 -0.191321 +vn 0.887356 0.086367 0.452895 +vn 0.910489 0.081362 0.405408 +vn 0.898282 0.160100 0.409192 +vn 0.899808 0.214393 0.379894 +vn 0.890957 0.291543 0.348064 +vn 0.841609 0.418317 0.341594 +vn 0.953795 0.288034 0.085299 +vn 0.966033 0.248115 0.071780 +vn 0.893948 -0.448042 0.007477 +vn 0.534379 0.020844 0.844966 +vn -0.364635 0.240272 -0.899594 +vn 0.785943 0.291849 0.545030 +vn 0.281899 0.206671 0.936918 +vn 0.354839 0.217383 0.909299 +vn 0.387402 0.076907 0.918668 +vn 0.396374 0.159490 0.904111 +vn -0.097049 -0.853359 0.512162 +vn 0.358379 0.584399 0.727989 +vn 0.718772 -0.212897 0.661794 +vn 0.458785 0.426435 0.779504 +vn 0.183111 0.819422 0.543138 +vn 0.171148 0.817835 0.549364 +vn 0.848140 0.451643 0.276803 +vn 0.814661 0.463210 0.348888 +vn 0.792322 0.502609 0.345775 +vn 0.863948 0.492172 0.106388 +vn -0.161321 0.476669 0.864132 +vn 0.749596 0.596606 0.286508 +vn 0.144414 -0.004212 0.989502 +vn 0.247230 -0.261544 0.932981 +vn -0.186346 0.171300 -0.967406 +vn 0.075900 -0.547685 -0.833216 +vn 0.073763 -0.537400 -0.840083 +vn 0.070132 -0.535325 -0.841700 +vn 0.547410 0.213202 0.809229 +vn 0.902158 -0.037233 0.429731 +vn 0.302835 -0.932768 -0.195379 +vn 0.628407 0.077548 0.773980 +vn 0.535295 0.102786 0.838374 +vn 0.280251 -0.149358 0.948210 +vn 0.479659 -0.170080 0.860805 +vn 0.899503 -0.434065 -0.049348 +vn 0.640461 -0.329142 0.693838 +vn 0.517899 0.385174 0.763787 +vn 0.544725 0.280129 0.790399 +vn 0.594470 0.495041 0.633625 +vn 0.609455 0.226081 0.759850 +vn 0.787713 0.358470 0.500931 +vn 0.813715 0.360973 0.455550 +vn -0.331858 -0.237709 -0.912870 +vn -0.702261 -0.444685 0.555895 +vn -0.795068 -0.175390 0.580554 +vn -0.584368 -0.669515 0.458480 +vn 0.159307 -0.866421 -0.473159 +vn 0.628620 0.393048 0.671041 +vn -0.160680 0.308512 -0.937529 +vn 0.249458 0.716392 0.651540 +vn 0.269173 0.697012 0.664571 +vn -0.215247 0.199438 -0.955962 +vn -0.206427 0.401105 -0.892453 +vn 0.653890 0.028657 0.756035 +vn 0.510697 -0.596545 0.619098 +vn 0.471267 -0.670400 0.573077 +vn 0.541856 -0.492080 0.681326 +vn 0.818812 -0.194006 0.540239 +vn 0.845515 -0.290414 0.448042 +vn 0.818201 -0.157445 0.552904 +vn 0.837794 -0.311045 0.448622 +vn 0.630543 0.431288 0.645253 +vn 0.564104 0.492141 0.662954 +vn 0.506943 0.482955 0.713950 +vn 0.698843 -0.282235 0.657216 +vn 0.530473 -0.058565 0.845668 +vn 0.646443 -0.030000 0.762352 +vn 0.726096 -0.223548 0.650197 +vn 0.680105 -0.240089 0.692648 +vn 0.672414 -0.185522 0.716514 +vn 0.628498 -0.257851 0.733787 +vn 0.565477 -0.226997 0.792871 +vn 0.628407 -0.194067 0.753258 +vn 0.403333 -0.170873 0.898923 +vn 0.515122 0.119877 0.848659 +vn 0.473006 0.121403 0.872646 +vn 0.492599 0.078341 0.866695 +vn 0.078463 0.793542 -0.603381 +vn 0.026246 0.846461 -0.531754 +vn 0.028047 0.833216 -0.552171 +vn 0.811914 -0.302713 0.499100 +vn 0.765648 -0.298532 0.569720 +vn -0.469955 -0.386914 0.793359 +vn -0.444685 -0.403577 0.799585 +vn -0.483566 -0.399976 0.778558 +vn 0.977020 0.203650 0.062471 +vn 0.944548 0.315775 0.089846 +vn 0.980712 0.195227 0.005097 +vn 0.934996 0.183020 0.303690 +vn 0.899594 0.089724 0.427381 +vn 0.908719 0.193701 0.369671 +vn 0.904355 0.223365 0.363567 +vn 0.893277 0.290139 0.343242 +vn 0.963591 0.200385 -0.176885 +vn 0.915189 0.380566 -0.132450 +vn 0.856441 0.499161 -0.131413 +vn 0.952025 0.270791 -0.142399 +vn 0.915220 0.354289 -0.191900 +vn 0.448164 0.440565 -0.777825 +vn 0.895291 0.444288 0.031831 +vn 0.445906 -0.616932 0.648457 +vn 0.118839 -0.755364 -0.644398 +vn 0.840999 0.102695 0.531175 +vn 0.808710 -0.269875 0.522599 +vn 0.795099 -0.203558 0.571245 +vn 0.856929 -0.065828 0.511185 +vn 0.767449 -0.165593 0.619343 +vn 0.790063 -0.172369 0.588244 +vn 0.826655 -0.134922 0.546251 +vn 0.032533 -0.999451 -0.005493 +vn 0.014985 -0.999634 -0.022401 +vn 0.013123 -0.998505 -0.052492 +vn 0.414899 -0.859584 0.298166 +vn 0.798273 -0.019440 0.601947 +vn 0.594195 -0.017426 0.804102 +vn 0.599536 -0.067995 0.797418 +vn 0.150090 -0.098361 0.983734 +vn 0.716300 0.404828 0.568316 +vn 0.567675 0.181158 0.803064 +vn 0.814814 0.308664 0.490646 +vn 0.187567 0.221107 -0.957030 +vn 0.185583 0.206305 -0.960723 +vn 0.172246 0.190069 -0.966521 +vn 0.265511 -0.024506 0.963775 +vn -0.126316 -0.941496 -0.312357 +vn 0.853053 -0.038697 0.520341 +vn 0.842524 0.066927 0.534440 +vn 0.817469 0.174596 0.548814 +vn 0.775719 0.292001 0.559404 +vn 0.733146 0.388562 0.558061 +vn 0.870846 -0.384564 -0.306101 +vn 0.751335 -0.168737 -0.637959 +vn 0.555559 -0.393811 0.732261 +vn 0.890042 0.165166 0.424848 +vn 0.835017 -0.036287 0.548997 +vn 0.839290 -0.054903 0.540880 +vn 0.735618 0.396802 0.548967 +vn 0.688742 -0.080050 0.720542 +vn 0.656789 0.318613 0.683432 +vn -0.046724 -0.653981 -0.755028 +vn 0.642994 0.059511 0.763512 +vn 0.686392 -0.055055 0.725120 +vn 0.702414 -0.207404 0.680868 +vn 0.559343 0.171178 0.811029 +vn 0.567583 -0.442518 0.694235 +vn 0.489639 -0.406171 0.771508 +vn 0.447554 -0.336222 0.828608 +vn 0.572253 0.030152 0.819483 +vn 0.474624 -0.868954 -0.140049 +vn 0.818445 0.092837 0.567003 +vn -0.430830 0.832362 -0.348582 +vn -0.631764 -0.759545 -0.154698 +vn -0.581805 -0.759789 -0.290078 +vn -0.439192 -0.808771 -0.391064 +vn -0.510056 -0.839442 -0.187445 +vn 0.908322 0.203925 0.365123 +vn 0.909635 0.231697 0.344737 +vn 0.949278 0.219337 -0.225227 +vn 0.922910 0.231239 0.307779 +vn 0.928617 0.249397 0.274575 +vn 0.524033 -0.189856 0.830226 +vn 0.496139 -0.170019 0.851405 +vn 0.491531 -0.656117 0.572558 +vn 0.390332 -0.063814 0.918455 +vn 0.451796 -0.145024 0.880215 +vn 0.873989 0.470931 0.119816 +vn 0.374676 0.189032 0.907651 +vn -0.926298 0.095614 0.364391 +vn -0.921598 0.160558 0.353313 +vn -0.890286 0.219916 0.398694 +vn 0.194220 0.238319 0.951537 +vn -0.773186 0.560656 0.296335 +vn -0.769677 0.573016 0.281381 +vn -0.573351 0.742576 0.346110 +vn -0.523759 -0.846950 0.091281 +vn -0.519364 -0.578997 -0.628468 +vn -0.567034 -0.590350 -0.574358 +vn -0.542711 -0.612079 -0.575121 +vn -0.050050 0.150975 0.987243 +vn 0.561998 -0.201636 0.802149 +vn 0.545732 -0.291238 0.785668 +vn -0.006317 -0.994201 0.107181 +vn 0.539109 -0.194617 0.819422 +vn 0.123020 0.043764 0.991424 +vn 0.419080 -0.262490 0.869167 +vn 0.500656 -0.361370 0.786584 +vn -0.737297 -0.673879 0.047304 +vn 0.543535 -0.036927 0.838557 +vn -0.919218 -0.341838 -0.195257 +vn 0.222175 -0.399457 0.889401 +vn 0.352947 -0.283639 0.891598 +vn 0.918973 -0.056703 0.390118 +vn 0.367840 0.441176 0.818537 +vn 0.481704 -0.187750 0.855953 +vn 0.899228 -0.018952 0.437025 +vn 0.351604 -0.108219 0.929838 +vn -0.852260 -0.484085 0.198126 +vn 0.408765 -0.738548 -0.536119 +vn 0.380016 -0.785882 -0.487777 +vn 0.351482 -0.761864 -0.544023 +vn 0.898953 0.437849 0.012543 +vn 0.724296 0.414380 0.551012 +vn 0.719535 0.414777 0.556932 +vn 0.232490 0.692679 0.682730 +vn 0.696219 0.345897 0.628956 +vn 0.659108 0.393719 0.640736 +vn 0.687918 0.426191 0.587420 +vn 0.666066 0.493606 0.559160 +vn 0.899899 0.114689 0.420667 +vn 0.512070 0.156774 0.844478 +vn 0.997620 0.068300 0.008576 +vn 0.996704 0.078768 0.017975 +vn 0.996399 0.075869 0.037019 +vn -0.908383 0.265999 -0.322550 +vn 0.148259 -0.953246 0.263283 +vn 0.329081 -0.200690 0.922697 +vn 0.414686 -0.261025 0.871700 +vn 0.847072 0.505539 -0.163854 +vn 0.727653 0.632282 -0.265877 +vn 0.371807 0.132084 0.918851 +vn -0.232490 -0.480361 -0.845668 +vn 0.777306 -0.323405 0.539598 +vn 0.776421 -0.237403 0.583758 +vn 0.716697 -0.594501 0.364483 +vn 0.779565 -0.354656 0.516190 +vn 0.011383 0.528489 -0.848842 +vn -0.003235 0.578204 -0.815882 +vn -0.212287 0.944029 -0.252419 +vn 0.753716 -0.277322 0.595782 +vn 0.783929 -0.332774 0.524094 +vn 0.957152 -0.285440 -0.048433 +vn 0.045442 -0.998810 -0.017090 +vn 0.053652 -0.998169 -0.027497 +vn 0.009735 -0.999420 -0.031892 +vn -0.139897 -0.031373 0.989654 +vn -0.025330 -0.025330 0.999329 +vn 0.081515 0.046937 0.995544 +vn 0.013001 0.055300 0.998383 +vn -0.063875 0.085238 0.994293 +vn 0.103580 0.001434 0.994598 +vn 0.084048 0.128483 0.988128 +vn 0.752586 -0.638173 -0.162236 +vn 0.699271 -0.687582 -0.195471 +vn 0.861751 -0.490158 -0.130680 +vn 0.500534 0.339579 0.796319 +vn 0.960784 0.011353 0.276986 +vn 0.939238 -0.056276 0.338572 +vn 0.615772 0.165929 0.770226 +vn 0.734153 -0.143620 0.663564 +vn 0.694754 -0.040529 0.718070 +vn 0.934324 -0.087222 0.345561 +vn -0.502884 0.752800 0.424635 +vn -0.460768 0.821436 0.335917 +vn 0.547319 0.085788 0.832484 +vn 0.485702 -0.246010 0.838771 +vn 0.476424 -0.218665 0.851558 +vn 0.480117 -0.519425 0.706839 +vn 0.925810 -0.067385 0.371868 +vn -0.068026 -0.863765 -0.499222 +vn 0.067934 -0.654592 -0.752892 +vn 0.864986 -0.018616 0.501389 +vn 0.892605 0.149236 0.425367 +vn 0.598865 0.039369 0.799860 +vn 0.782739 -0.333720 0.525285 +vn 0.878170 0.115390 0.464187 +vn 0.871426 0.110324 0.477920 +vn 0.197302 -0.120457 0.972900 +vn 0.941710 0.061678 0.330668 +vn 0.950377 0.055727 0.305948 +vn 0.926237 0.024598 0.376080 +vn 0.921018 -0.022889 0.388775 +vn 0.687551 0.400800 0.605457 +vn 0.689444 0.407849 0.598590 +vn 0.943815 0.014161 0.330088 +vn 0.939726 0.060549 0.336497 +vn 0.722251 0.303476 0.621448 +vn 0.750999 0.302103 0.587115 +vn 0.863002 -0.491928 -0.114750 +vn 0.712516 0.397259 0.578326 +vn 0.728477 0.425733 0.536668 +vn -0.418012 0.561357 0.714194 +vn -0.454085 0.526719 0.718558 +vn 0.892727 -0.078677 0.443617 +vn -0.797327 -0.551073 -0.246040 +vn -0.743980 -0.616962 -0.256539 +vn -0.688864 -0.699637 -0.189520 +vn 0.019501 -0.998993 0.040010 +vn 0.015717 -0.997894 0.062532 +vn 0.015381 -0.999603 0.022706 +vn 0.524705 -0.803919 -0.279885 +vn 0.964263 -0.263070 0.030549 +vn 0.975280 0.204352 0.084017 +vn 0.767174 -0.639760 0.045808 +vn 0.767876 -0.640492 -0.009369 +vn 0.834620 -0.549455 0.038301 +vn 0.835109 -0.550035 -0.001740 +vn 0.934141 -0.312479 -0.172308 +vn 0.903897 -0.042451 0.425581 +vn -0.909970 0.340983 0.235939 +vn 0.012024 -0.992615 0.120548 +vn 0.026399 -0.996185 0.082919 +vn 0.006012 -0.999969 -0.003113 +vn 0.709037 0.464248 0.530747 +vn 0.601245 0.346568 0.719962 +vn 0.923338 0.262825 -0.279855 +vn 0.980163 0.040925 -0.193762 +vn 0.982940 -0.102329 0.152684 +vn -0.985900 -0.108951 0.126835 +vn -0.350230 -0.010834 -0.936583 +vn 0.760002 0.622639 0.186193 +vn 0.820521 0.570971 0.026490 +vn 0.327647 0.676809 0.659200 +vn -0.888607 -0.267251 -0.372723 +vn -0.579974 -0.648762 -0.492630 +vn 0.568041 0.246590 0.785180 +vn 0.096103 -0.995117 0.021424 +vn 0.179876 -0.981109 0.070864 +vn -0.225929 -0.362468 -0.904172 +vn 0.240364 0.005127 0.970641 +vn 0.036378 -0.087069 0.995514 +vn -0.152898 -0.538377 -0.828700 +vn 0.490768 -0.857784 -0.152654 +vn -0.351054 0.477248 -0.805567 +vn -0.423078 0.385266 -0.820093 +vn -0.439436 0.346904 -0.828547 +vn 0.771630 -0.010285 0.635945 +vn 0.643605 0.149205 -0.750633 +vn 0.629170 0.140812 -0.764397 +vn 0.685598 -0.010620 -0.727866 +vn 0.940855 0.004303 0.338755 +vn 0.455947 -0.178961 0.871822 +vn 0.705344 0.372997 0.602741 +vn 0.469893 -0.484115 0.738121 +vn 0.726920 0.401074 0.557390 +vn 0.435194 -0.882473 -0.178320 +vn 0.407666 -0.080508 0.909543 +vn 0.450819 -0.122959 0.884091 +vn 0.847499 -0.229072 0.478805 +vn 0.848781 -0.286966 0.444075 +vn 0.834895 -0.182348 0.519272 +vn 0.828150 -0.132176 0.544633 +vn 0.560717 0.257393 0.786950 +vn 0.342143 -0.337504 0.876919 +vn 0.871059 0.047639 0.488815 +vn 0.602283 -0.495560 0.625813 +vn 0.528428 -0.293283 0.796686 +vn 0.574786 -0.376354 0.726585 +vn 0.609333 -0.432478 0.664541 +vn 0.682485 0.055971 0.728721 +vn 0.678091 0.077090 0.730888 +vn 0.825770 -0.476363 0.301859 +vn 0.890072 -0.372051 0.263253 +vn 0.602710 0.309854 0.735313 +vn 0.604511 0.314341 0.731925 +vn 0.611896 0.343760 0.712302 +vn 0.791803 -0.215674 0.571398 +vn 0.705374 0.423963 0.568011 +vn 0.726279 0.455061 0.515152 +vn 0.557482 -0.570544 0.603015 +vn 0.856502 0.148198 0.494339 +vn 0.815577 0.252663 0.520524 +vn 0.247719 0.862728 -0.440779 +vn 0.640553 -0.748436 -0.171697 +vn 0.994934 0.079592 0.061251 +vn 0.994354 0.089938 0.056215 +vn 0.997833 -0.028993 0.058962 +vn 0.792840 0.609394 0.000305 +vn 0.548784 -0.172521 0.817957 +vn 0.722037 -0.143132 0.676840 +vn 0.698080 -0.087924 0.710562 +vn 0.833613 0.338389 0.436506 +vn 0.857112 0.102206 0.504837 +vn 0.772729 0.268929 0.574908 +vn 0.777154 0.521348 0.352367 +vn 0.872311 0.355083 0.336039 +vn -0.353008 0.926572 0.129521 +vn -0.664205 0.667989 0.335521 +vn 0.983062 0.104740 0.150212 +vn 0.474776 -0.645863 0.597827 +vn 0.464553 -0.684439 0.561846 +vn 0.771050 0.364299 0.522233 +vn 0.762017 0.543870 -0.351390 +vn -0.017975 -0.999725 -0.014557 +vn -0.032167 -0.999359 -0.014801 +vn -0.042756 -0.999054 -0.002777 +vn -0.071535 0.214942 -0.973998 +vn 0.004486 0.242409 -0.970153 +vn 0.323649 0.017243 0.945982 +vn 0.303873 0.063540 0.950560 +vn -0.057894 0.176214 0.982635 +vn 0.687704 0.393231 0.610218 +vn 0.021760 -0.997528 0.066347 +vn 0.494736 0.692953 0.524400 +vn 0.438520 0.661275 0.608570 +vn -0.191595 -0.465438 -0.864071 +vn -0.142827 -0.517319 -0.843745 +vn -0.555956 0.750145 0.357952 +vn 0.901395 -0.065310 0.427961 +vn 0.943785 -0.036592 0.328501 +vn -0.132939 0.239326 -0.961760 +vn -0.147923 0.284127 -0.947295 +vn 0.960173 0.190527 0.204260 +vn 0.778802 0.291971 0.555132 +vn 0.767968 0.359447 0.530045 +vn 0.777398 0.388775 0.494400 +vn 0.791864 0.305094 0.529008 +vn 0.900571 0.290963 -0.322916 +vn 0.488968 -0.198920 0.849300 +vn 0.795740 -0.363720 0.484237 +vn -0.471969 -0.507859 -0.720603 +vn 0.994598 -0.022736 0.101230 +vn 0.992096 -0.090518 0.086856 +vn 0.336650 0.216956 0.916288 +vn 0.810755 0.014557 0.585162 +vn 0.830042 0.129154 0.542497 +vn 0.680837 -0.033998 0.731620 +vn 0.593646 -0.402051 0.697073 +vn -0.911954 0.387341 0.135166 +vn -0.925199 0.366863 0.096835 +vn -0.975585 0.176092 0.131169 +vn -0.943114 -0.314768 -0.106784 +vn -0.949095 -0.309610 -0.057680 +vn -0.981994 -0.159185 -0.101657 +vn -0.243507 -0.427900 -0.870388 +vn 0.678243 -0.579669 0.451582 +vn 0.709372 -0.580920 0.399091 +vn 0.657369 -0.646138 0.387707 +vn 0.633503 0.274239 0.723472 +vn 0.707389 0.423505 0.565874 +vn 0.824458 0.346141 0.447645 +vn 0.726341 0.408765 0.552538 +vn 0.683462 0.421003 0.596332 +vn 0.998108 0.038514 -0.047609 +vn 0.999634 0.001434 -0.025910 +vn 0.998932 0.026154 -0.037355 +vn 0.998199 0.059542 -0.004486 +vn 0.842402 0.538835 -0.000671 +vn 0.782342 0.052217 0.620624 +vn 0.675985 0.135624 0.724296 +vn 0.514969 0.237098 0.823756 +vn 0.779015 -0.622059 0.078372 +vn 0.669942 -0.728751 0.141667 +vn 0.866115 -0.481918 -0.132511 +vn 0.844356 -0.510453 -0.162664 +vn 0.290353 0.055300 0.955290 +vn 0.326945 0.027436 0.944639 +vn 0.308634 0.047700 0.949950 +vn -0.173650 0.229255 0.957732 +vn -0.161596 0.466384 0.869655 +vn -0.366008 0.383679 0.847804 +vn 0.778954 0.302713 0.549120 +vn 0.270821 0.625874 0.731346 +vn 0.187231 -0.164281 0.968444 +vn 0.850154 0.274331 0.449385 +vn 0.856716 0.285958 0.429243 +vn 0.566790 -0.495437 0.658223 +vn 0.586657 -0.400250 0.703970 +vn 0.600665 -0.328715 0.728751 +vn 0.919248 0.375774 0.117161 +vn -0.709891 -0.157598 -0.686422 +vn -0.747429 -0.175512 -0.640675 +vn -0.641255 -0.192755 -0.742698 +vn 0.871303 -0.142247 0.469619 +vn 0.885464 -0.134617 0.444716 +vn 0.879818 -0.099918 0.464644 +vn 0.395398 0.486984 0.778741 +vn 0.861904 -0.129795 0.490127 +vn 0.454817 0.396191 0.797571 +vn 0.927274 -0.040895 0.372051 +vn 0.907315 0.005188 0.420392 +vn 0.458144 -0.490402 0.741295 +vn 0.816645 -0.113041 0.565935 +vn 0.461623 0.565996 0.683004 +vn 0.342479 0.572283 0.745109 +vn 0.906003 -0.028718 0.422254 +vn 0.799432 -0.335948 0.498001 +vn 0.726310 -0.234352 0.646138 +vn 0.785791 0.007965 0.618427 +vn -0.596667 0.124577 -0.792718 +vn -0.626820 0.189032 -0.755852 +vn -0.615009 0.127720 -0.778069 +vn 0.711417 -0.120060 0.692404 +vn 0.656880 -0.388012 0.646443 +vn 0.549333 -0.043092 0.834468 +vn 0.465468 -0.035676 0.884335 +vn 0.570818 -0.427839 0.700766 +vn 0.477187 -0.064241 0.876431 +vn 0.606494 -0.203925 0.768456 +vn 0.727531 -0.272622 0.629536 +vn 0.741569 -0.197699 0.641072 +vn 0.900662 0.427839 0.075503 +vn 0.805506 -0.311258 0.504196 +vn -0.356548 -0.280862 -0.891018 +vn 0.913144 -0.300119 -0.275765 +vn 0.933103 -0.216742 -0.286905 +vn 0.913083 -0.303812 -0.271950 +vn -0.676901 -0.138737 -0.722831 +vn -0.600665 -0.161046 -0.783105 +vn -0.625690 -0.000519 -0.780023 +vn -0.698782 -0.681936 0.215949 +vn -0.819697 -0.306650 -0.483779 +vn 0.487259 -0.467086 0.737785 +vn 0.449660 -0.637715 0.625385 +vn 0.703116 -0.045351 0.709586 +vn 0.612903 0.037751 0.789209 +vn 0.509964 0.156041 0.845912 +vn -0.042848 -0.998535 0.032350 +vn 0.750298 0.384106 0.538011 +vn 0.048372 -0.593860 -0.803095 +vn 0.098819 -0.585467 -0.804621 +vn 0.035585 -0.998627 0.037996 +vn 0.005249 -0.999359 0.035218 +vn 0.908414 -0.124943 -0.398907 +vn 0.917386 -0.081179 -0.389599 +vn 0.928312 -0.119327 -0.352092 +vn 0.705344 -0.092532 -0.702750 +vn 0.225898 -0.495743 0.838557 +vn -0.525346 0.850734 0.015259 +vn -0.605182 0.791833 -0.081820 +vn 0.310099 0.018738 0.950499 +vn 0.298196 0.039583 0.953673 +vn 0.307443 0.166112 0.936918 +vn -0.454573 -0.152715 -0.877499 +vn -0.889065 0.382275 -0.251717 +vn -0.818720 0.557115 -0.138920 +vn 0.768029 0.026337 0.639851 +vn 0.741752 0.042573 0.669271 +vn 0.887356 0.135197 0.440779 +vn 0.377209 -0.632679 0.676290 +vn 0.807245 0.045167 0.588458 +vn 0.724540 0.034059 0.688375 +vn 0.714164 0.038972 0.698874 +vn 0.695303 0.055116 0.716575 +vn 0.458724 -0.121403 0.880215 +vn 0.827906 0.051363 0.558458 +vn 0.926481 -0.081301 0.367382 +vn 0.912320 0.005066 0.409406 +vn 0.918607 -0.047945 0.392193 +vn 0.578417 -0.419996 0.699271 +vn 0.577074 -0.432325 0.692831 +vn 0.708609 -0.388348 0.589068 +vn 0.738609 -0.442824 0.508225 +vn 0.732353 -0.508896 0.452376 +vn 0.709372 -0.556291 0.432722 +vn 0.671834 0.191382 0.715506 +vn 0.851680 0.522446 0.040590 +vn 0.709525 -0.010773 0.704581 +vn 0.722495 0.034822 0.690451 +vn 0.726432 0.038270 0.686148 +vn 0.327189 0.345683 0.879421 +vn 0.301859 0.376843 0.875698 +vn 0.758721 -0.259804 0.597308 +vn 0.683035 -0.253578 0.684927 +vn 0.699820 -0.156865 0.696860 +vn 0.610065 -0.024323 0.791955 +vn 0.527421 0.078768 0.845912 +vn 0.423505 0.220435 0.878628 +vn 0.951506 0.269753 0.147832 +vn 0.769585 0.356761 0.529527 +vn 0.935697 -0.063478 0.347026 +vn 0.710227 -0.612995 0.346049 +vn 0.901303 0.304178 -0.308390 +vn -0.543107 0.232582 -0.806787 +vn -0.551592 0.153661 -0.819819 +vn -0.015503 0.447737 -0.894009 +vn 0.024323 0.385449 -0.922391 +vn 0.004975 0.395886 -0.918271 +vn -0.512223 -0.054964 -0.857051 +vn -0.003754 -0.491714 -0.870724 +vn -0.072237 -0.433393 -0.898282 +vn 0.326121 -0.011292 0.945250 +vn 0.859340 0.452467 -0.238227 +vn 0.331492 0.055849 0.941771 +vn 0.340037 0.188055 0.921384 +vn 0.728690 0.037538 0.683798 +vn 0.450850 -0.692373 0.563311 +vn 0.921628 0.022217 0.387402 +vn 0.888089 -0.136143 0.439009 +vn -0.745140 -0.666829 -0.008240 +vn -0.749809 -0.659505 0.052767 +vn -0.563616 0.170476 -0.808222 +vn 0.234474 0.082797 -0.968566 +vn 0.977783 0.069948 -0.197485 +vn -0.001740 0.279733 0.960051 +vn 0.698996 0.391064 0.598682 +vn 0.999481 0.004730 0.030946 +vn 0.779290 0.316935 0.540544 +vn 0.750816 0.365398 0.550188 +vn 0.453963 0.507187 0.732536 +vn 0.418897 0.577532 0.700644 +vn 0.815119 0.216803 0.537126 +vn 0.568804 -0.227943 0.790246 +vn 0.803339 -0.123905 0.582446 +vn 0.750359 -0.037141 0.659963 +vn 0.495895 0.344829 0.796960 +vn 0.071749 -0.968505 0.238380 +vn 0.182745 -0.803369 0.566698 +vn 0.040284 -0.989715 0.137242 +vn 0.776849 -0.000702 0.629658 +vn 0.798029 -0.071932 0.598285 +vn 0.733909 0.022370 0.678854 +vn 0.758904 0.048585 0.649373 +vn 0.832026 -0.110996 0.543474 +vn 0.738670 0.045167 0.672506 +vn 0.823878 -0.050050 0.564531 +vn 0.784875 -0.026185 0.619037 +vn -0.022370 -0.999695 0.007477 +vn 0.032594 -0.999451 0.004486 +vn -0.005371 -0.999908 0.012085 +vn 0.694906 0.118625 0.709220 +vn 0.060549 0.050661 -0.996857 +vn 0.160131 0.200812 -0.966430 +vn 0.847438 -0.052675 0.528214 +vn 0.262459 0.218726 -0.939817 +vn 0.924772 0.147679 0.350597 +vn 0.766533 -0.356700 -0.533982 +vn 0.750908 -0.376720 -0.542375 +vn 0.679342 -0.402203 0.613727 +vn -0.285012 -0.176885 -0.942045 +vn 0.251228 -0.765343 0.592547 +vn 0.281259 -0.929197 0.239723 +vn 0.136326 -0.529496 -0.837275 +vn 0.093478 -0.519456 -0.849330 +vn 0.170415 0.801904 0.572588 +vn 0.676168 -0.334727 0.656270 +vn 0.683737 -0.204962 0.700339 +vn 0.653584 -0.109836 0.748833 +vn 0.567888 0.019471 0.822840 +vn 0.493210 0.166295 0.853847 +vn -0.054079 -0.997528 0.044588 +vn -0.005036 -0.998871 0.046693 +vn 0.023927 -0.999664 0.009400 +vn -0.549608 -0.814966 0.183599 +vn -0.331980 -0.943144 0.014985 +vn -0.495773 0.035981 -0.867672 +vn -0.782495 -0.609607 -0.126560 +vn -0.706076 -0.679098 -0.200507 +vn -0.646535 -0.745872 -0.160009 +vn -0.539537 -0.160863 -0.826441 +vn -0.455489 -0.084475 -0.886196 +vn -0.508652 -0.289682 -0.810724 +vn -0.041810 0.353618 -0.934446 +vn -0.047456 0.422529 -0.905087 +vn 0.391949 -0.050905 0.918546 +vn 0.369182 -0.023835 0.929044 +vn 0.348064 0.054781 0.935850 +vn 0.458785 -0.735801 -0.498062 +vn 0.621540 0.578356 0.528336 +vn 0.507492 -0.244423 0.826228 +vn 0.557543 -0.184637 0.809320 +vn 0.870479 -0.079409 0.485733 +vn 0.887082 0.165471 0.430921 +vn 0.445784 -0.076876 0.891812 +vn 0.225776 -0.047121 0.973022 +vn 0.176122 -0.044649 0.983337 +vn 0.016755 -0.999390 -0.030335 +vn 0.043336 -0.998321 -0.037873 +vn -0.832759 0.525712 0.173467 +vn -0.900113 0.426923 0.086642 +vn -0.918607 0.380810 0.105411 +vn -0.509568 0.093570 -0.855281 +vn 0.951994 0.174627 0.251289 +vn 0.970061 -0.003418 0.242744 +vn 0.737480 0.406110 0.539598 +vn 0.723258 0.480972 0.495499 +vn 0.718802 0.512894 0.469283 +vn 0.733299 0.475204 0.486221 +vn 0.513810 0.539689 0.666829 +vn 0.583239 0.450240 0.676077 +vn 0.448897 0.519089 0.727317 +vn 0.829646 -0.406018 0.383129 +vn 0.447951 -0.214545 0.867916 +vn 0.472427 -0.117985 0.873409 +vn 0.424787 -0.061739 0.903165 +vn 0.818476 -0.344676 0.459639 +vn 0.819910 -0.151463 0.552080 +vn 0.811365 -0.173925 0.558000 +vn 0.921781 -0.042848 0.385296 +vn 0.783227 0.466750 -0.410657 +vn 0.839961 0.417859 -0.346171 +vn 0.835536 -0.029572 0.548601 +vn 0.835994 -0.323740 0.443007 +vn 0.906003 0.029359 0.422163 +vn 0.512864 -0.326853 0.793786 +vn 0.468368 -0.284555 0.836421 +vn 0.541795 -0.387341 0.745903 +vn 0.656575 0.471847 0.588427 +vn 0.744621 -0.011170 0.667348 +vn 0.686758 0.390759 0.612873 +vn 0.686209 -0.595691 -0.417432 +vn 0.902005 -0.015687 0.431410 +vn 0.563311 -0.163427 0.809900 +vn 0.449446 -0.705924 -0.547349 +vn 0.596789 -0.682546 -0.421796 +vn 0.435286 0.308786 -0.845668 +vn 0.048708 -0.998077 -0.037568 +vn 0.040956 -0.998749 -0.028230 +vn 0.038728 -0.998840 -0.028199 +vn 0.564196 -0.459548 0.685903 +vn 0.699789 -0.150456 0.698294 +vn -0.594348 -0.771691 -0.226203 +vn 0.662069 -0.226905 0.714255 +vn 0.637654 -0.152013 0.755150 +vn 0.594256 -0.046388 0.802911 +vn 0.528459 0.154118 0.834834 +vn 0.249550 0.028718 -0.967925 +vn 0.066317 -0.995758 0.063601 +vn 0.027284 -0.995880 0.086123 +vn 0.034059 -0.997467 0.062166 +vn 0.605914 -0.341075 0.718680 +vn 0.587603 -0.257241 0.767144 +vn -0.826350 0.126743 -0.548662 +vn -0.804865 0.150304 -0.574053 +vn -0.806604 0.138615 -0.574572 +vn -0.193152 0.708487 -0.678732 +vn -0.228675 0.752556 -0.617512 +vn -0.270058 0.674001 -0.687582 +vn 0.152959 0.860103 -0.486587 +vn 0.192175 0.866909 -0.459853 +vn 0.105777 0.846919 -0.521073 +vn -0.535844 0.166417 -0.827723 +vn 0.664510 -0.709433 0.234687 +vn 0.009461 -0.999939 0.001404 +vn 0.352245 -0.062532 0.933805 +vn 0.363628 -0.029328 0.931059 +vn 0.351268 0.048677 0.934996 +vn -0.198279 0.850826 -0.486557 +vn -0.186102 0.856716 -0.481002 +vn -0.219794 0.815424 -0.535478 +vn 0.992492 0.087649 0.084933 +vn 0.758568 -0.347484 0.551164 +vn 0.719504 -0.357830 0.595172 +vn 0.611011 -0.412183 0.675802 +vn 0.233070 0.366375 0.900784 +vn 0.920927 -0.025697 0.388806 +vn 0.625111 0.372875 0.685690 +vn 0.575793 -0.057039 0.815577 +vn 0.788934 -0.337870 0.513199 +vn 0.822169 -0.229438 0.520920 +vn 0.936644 -0.057588 0.345408 +vn -0.079318 -0.921934 0.379101 +vn -0.093326 -0.641346 0.761528 +vn -0.447981 -0.093417 -0.889126 +vn -0.453078 -0.116672 -0.883785 +vn -0.404248 -0.226051 -0.886258 +vn -0.808740 -0.587817 0.018494 +vn -0.887234 -0.460341 -0.029817 +vn -0.811518 -0.584002 -0.019044 +vn 0.833705 -0.025636 0.551561 +vn -0.179052 0.220344 -0.958831 +vn 0.227577 0.281411 0.932188 +vn -0.064547 0.435377 0.897916 +vn 0.384289 0.660756 0.644734 +vn 0.292215 0.684133 0.668233 +vn 0.870663 0.477065 0.119449 +vn 0.233436 0.785211 -0.573504 +vn 0.175939 0.858303 -0.481979 +vn 0.152074 0.846492 -0.510147 +vn 0.469375 0.637318 -0.611133 +vn 0.542528 0.583056 -0.604694 +vn 0.586535 0.575030 -0.570330 +vn 0.468062 0.257088 -0.845454 +vn 0.386883 0.357067 -0.850154 +vn 0.381512 0.241188 -0.892331 +vn 0.765282 0.530686 -0.364238 +vn -0.083865 0.873897 -0.478744 +vn 0.691794 0.080691 0.717521 +vn 0.647145 -0.266182 0.714347 +vn 0.611011 -0.175695 0.771844 +vn 0.604358 -0.088015 0.791803 +vn 0.545000 0.151830 0.824549 +vn 0.601215 0.278176 0.749077 +vn 0.911527 -0.015015 0.410932 +vn 0.222785 0.849940 -0.477432 +vn 0.061556 0.897305 -0.437025 +vn 0.126194 0.840663 -0.526627 +vn -0.935240 -0.047273 0.350780 +vn -0.941588 -0.119449 0.314768 +vn -0.559404 0.284005 -0.778710 +vn 0.160710 -0.163488 -0.973357 +vn 0.198645 -0.211432 -0.956969 +vn 0.162481 -0.224464 -0.960814 +vn -0.485763 -0.664357 0.567980 +vn -0.491775 -0.681478 0.541948 +vn -0.501907 -0.621906 0.601062 +vn 0.013092 -0.999847 -0.009644 +vn 0.036439 -0.999298 0.004578 +vn 0.052950 -0.998474 -0.015320 +vn 0.290017 -0.025575 0.956664 +vn 0.307871 -0.048860 0.950163 +vn 0.375774 -0.306589 0.874508 +vn 0.331431 -0.025361 0.943114 +vn 0.883023 0.144017 0.446638 +vn 0.868404 0.119449 0.481185 +vn 0.492141 -0.006012 0.870479 +vn 0.403333 -0.097812 0.909787 +vn 0.534959 -0.581591 0.612781 +vn -0.004547 0.171148 -0.985229 +vn 0.636860 -0.497269 0.589129 +vn 0.606616 -0.545244 0.578509 +vn 0.456771 -0.886380 -0.075228 +vn 0.873775 0.482620 0.059328 +vn 0.706046 -0.126591 0.696738 +vn 0.697592 -0.128697 0.704794 +vn 0.381481 -0.256722 0.887997 +vn 0.654347 -0.017762 0.755974 +vn 0.553850 -0.009766 0.832545 +vn -0.131413 0.090884 -0.987121 +vn -0.119480 0.172338 -0.977752 +vn 0.491867 -0.446730 0.747307 +vn 0.177892 0.692862 0.698721 +vn -0.940672 0.036317 0.337321 +vn -0.962767 0.074801 0.259713 +vn -0.950072 -0.036592 0.309824 +vn 0.734581 -0.214393 -0.643727 +vn 0.675558 0.038392 -0.736290 +vn -0.875973 -0.378185 0.299356 +vn -0.857448 -0.469405 0.210730 +vn 0.586047 -0.718101 0.375256 +vn -0.888577 -0.324381 0.324290 +vn -0.907620 -0.321940 0.269295 +vn -0.875668 -0.403699 0.264901 +vn -0.368419 -0.110996 -0.923002 +vn -0.707236 -0.072573 -0.703207 +vn 0.319803 0.316599 -0.893002 +vn 0.240822 0.194037 -0.950957 +vn 0.249367 0.355937 -0.900601 +vn -0.160833 0.755272 -0.635334 +vn 0.610981 -0.313395 0.726951 +vn 0.647908 -0.473159 0.596881 +vn 0.583392 -0.205390 0.785760 +vn 0.559526 -0.118839 0.820215 +vn 0.501541 0.126682 0.855800 +vn 0.481277 0.394574 0.782708 +vn 0.733787 0.107364 0.670827 +vn -0.311502 0.482864 -0.818384 +vn -0.329691 0.377239 -0.865413 +vn -0.835505 -0.046785 -0.547441 +vn -0.213172 0.633320 -0.743919 +vn -0.737999 0.529008 -0.418897 +vn -0.682455 0.498978 -0.534074 +vn -0.721427 0.493088 -0.486190 +vn -0.966613 0.253029 0.039583 +vn -0.939482 0.334452 0.073977 +vn -0.916257 0.376934 0.135533 +vn -0.528092 0.361095 -0.768548 +vn -0.525895 0.330821 -0.783532 +vn -0.031831 -0.997070 0.069277 +vn 0.314524 -0.841456 -0.439283 +vn 0.269570 0.001160 0.962951 +vn 0.292123 -0.030549 0.955870 +vn 0.353801 -0.061922 0.933256 +vn 0.334574 0.007538 0.942320 +vn -0.736656 -0.625019 0.258217 +vn -0.799799 -0.523911 0.292886 +vn -0.788293 -0.582171 0.199011 +vn -0.450148 0.119022 -0.884945 +vn -0.548265 0.186895 -0.815119 +vn -0.507370 0.199591 -0.838282 +vn 0.853084 0.286264 0.436140 +vn 0.832484 0.330912 0.444288 +vn 0.869442 0.150700 0.470473 +vn 0.766381 0.313303 0.560747 +vn 0.589862 -0.499924 0.634083 +vn 0.468520 0.756737 -0.455824 +vn 0.452162 0.746849 -0.487594 +vn 0.473739 0.792199 -0.384655 +vn 0.276925 -0.799280 -0.533280 +vn 0.327097 -0.891812 -0.312479 +vn 0.943846 0.022126 0.329630 +vn 0.931852 -0.049806 0.359355 +vn -0.633168 -0.773949 0.004761 +vn -0.722312 -0.691519 0.003357 +vn 0.704886 -0.008423 0.709220 +vn 0.902554 -0.121952 -0.412915 +vn -0.984069 0.074068 -0.161473 +vn -0.890713 0.148381 -0.429609 +vn -0.914762 0.333995 -0.227210 +vn 0.028932 -0.998321 0.050142 +vn 0.874325 0.178991 0.451064 +vn 0.925474 -0.249855 -0.284677 +vn 0.909909 -0.133122 -0.392834 +vn 0.572466 -0.298410 0.763665 +vn 0.718497 0.504440 0.478774 +vn 0.703360 -0.710654 -0.015168 +vn 0.869655 0.221961 0.440870 +vn 0.923704 0.002075 0.383068 +vn 0.186438 0.806482 0.561052 +vn 0.900266 0.038789 0.433576 +vn 0.865566 -0.497116 -0.060274 +vn -0.558672 -0.393017 -0.730338 +vn -0.783349 -0.528367 0.327342 +vn -0.766045 -0.586322 0.263405 +vn 0.983856 0.110660 0.140507 +vn 0.981231 0.100253 0.164525 +vn 0.980407 0.095859 0.171911 +vn 0.933226 0.080386 0.350108 +vn 0.565844 -0.824305 0.017396 +vn 0.101169 0.161779 -0.981597 +vn 0.173284 0.206549 -0.962951 +vn 0.121647 0.173132 -0.977325 +vn 0.946379 -0.214667 -0.241310 +vn 0.625568 -0.370281 0.686666 +vn 0.598102 -0.243202 0.763573 +vn 0.554735 -0.145116 0.819269 +vn 0.479171 0.036897 0.876919 +vn 0.263161 0.452589 0.851985 +vn 0.561846 0.228492 0.795038 +vn 0.690909 -0.097720 0.716269 +vn -0.000641 -0.094150 -0.995544 +vn -0.012024 -0.139134 -0.990173 +vn 0.065706 -0.018830 -0.997650 +vn 0.905881 0.216712 0.363811 +vn 0.946684 -0.181677 -0.265938 +vn -0.227424 0.064150 -0.971648 +vn -0.236579 0.074648 -0.968719 +vn -0.219947 0.187933 -0.957213 +vn -0.486831 0.180029 -0.854732 +vn -0.470931 0.274117 -0.838466 +vn -0.574633 0.256417 -0.777184 +vn -0.054842 -0.998444 0.007691 +vn 0.298898 0.028962 0.953825 +vn 0.304147 -0.101596 0.947172 +vn 0.333567 -0.004547 0.942686 +vn 0.333048 0.023743 0.942595 +vn -0.641713 0.283853 -0.712455 +vn -0.636677 0.264443 -0.724326 +vn -0.688070 0.273995 -0.671896 +vn -0.984893 -0.145116 0.094272 +vn 0.466567 0.247169 0.849239 +vn 0.935301 -0.346812 0.069826 +vn 0.834529 0.271401 0.479415 +vn -0.979858 0.136570 -0.145482 +vn 0.946684 -0.104038 -0.304819 +vn 0.039735 -0.999054 -0.016938 +vn 0.012909 -0.999847 -0.009400 +vn 0.039796 -0.999054 -0.016663 +vn 0.822413 0.358287 0.441816 +vn 0.844752 0.331370 0.420179 +vn 0.983581 0.077883 -0.162633 +vn 0.708060 -0.657247 0.258126 +vn 0.607471 -0.562334 0.560961 +vn 0.628468 -0.396161 0.669362 +vn 0.630757 -0.292276 0.718772 +vn 0.570055 -0.205603 0.795434 +vn 0.506455 -0.055910 0.860439 +vn 0.316691 0.381573 0.868374 +vn 0.351085 0.377453 0.856868 +vn 0.669210 0.003510 0.743034 +vn 0.271615 0.177068 -0.945952 +vn 0.512833 0.021180 0.858211 +vn 0.453780 0.103549 0.885067 +vn 0.933348 -0.028901 -0.357768 +vn -0.234535 0.189947 -0.953337 +vn 0.259346 -0.884823 0.387005 +vn 0.244118 -0.850642 0.465560 +vn 0.276925 -0.880825 0.383984 +vn -0.514969 -0.855556 0.052492 +vn -0.781518 -0.617756 -0.087008 +vn -0.537736 -0.790155 0.294015 +vn -0.539293 -0.795282 0.276894 +vn -0.563372 -0.775384 0.285226 +vn -0.066866 -0.587725 -0.806269 +vn 0.363750 0.007660 0.931455 +vn 0.321390 0.004608 0.946928 +vn 0.900815 -0.032075 -0.432966 +vn 0.833277 0.285318 0.473495 +vn 0.384106 0.278451 0.880276 +vn 0.342479 0.373363 0.862117 +vn 0.478988 0.032838 0.877194 +vn 0.417035 -0.004883 0.908841 +vn -0.037873 0.699606 -0.713492 +vn 0.299600 -0.185186 0.935911 +vn 0.807520 0.406507 0.427320 +vn 0.810877 0.432936 0.393750 +vn 0.876278 -0.046876 -0.479476 +vn 0.611194 -0.430433 0.664144 +vn 0.603870 -0.311380 0.733726 +vn 0.593646 -0.270821 0.757744 +vn 0.532487 -0.119938 0.837886 +vn 0.300607 0.220771 0.927824 +vn 0.202734 0.525895 0.826014 +vn 0.687918 0.145940 0.710959 +vn 0.867092 -0.009857 -0.498032 +vn 0.188788 0.245491 -0.950804 +vn 0.109958 0.230476 -0.966826 +vn 0.134434 0.335246 -0.932463 +vn 0.021973 0.134709 -0.990631 +vn -0.192480 0.474960 -0.858669 +vn -0.164647 0.508225 -0.845332 +vn -0.175207 0.480117 -0.859493 +vn 0.337382 0.060457 0.939421 +vn 0.351573 -0.004028 0.936125 +vn 0.322001 -0.006348 0.946715 +vn 0.321055 -0.002777 0.947020 +vn 0.576312 0.758080 -0.305185 +vn -0.398144 0.911618 0.101901 +vn 0.880337 0.168645 0.443312 +vn 0.632099 -0.105625 0.767602 +vn 0.682730 -0.122623 0.720298 +vn -0.856044 -0.470717 0.213507 +vn -0.802515 -0.494736 0.333445 +vn 0.577013 -0.477187 0.662801 +vn 0.819819 0.517014 -0.246040 +vn -0.968352 0.056032 -0.243171 +vn -0.967711 -0.011139 -0.251747 +vn 0.584674 -0.511307 0.629810 +vn -0.324931 0.461989 -0.825190 +vn -0.134220 0.150151 -0.979492 +vn -0.195685 0.278878 -0.940153 +vn -0.219611 0.280496 -0.934385 +vn 0.872524 -0.006470 -0.488479 +vn -0.124119 -0.521500 0.844142 +vn 0.599384 -0.324564 0.731681 +vn 0.602130 -0.290872 0.743492 +vn 0.548601 -0.249489 0.797967 +vn 0.351329 0.007172 0.936216 +vn 0.035859 0.569689 0.821039 +vn 0.472304 0.325358 0.819147 +vn 0.720969 -0.085513 0.687643 +vn 0.078127 -0.077090 -0.993957 +vn -0.096744 0.016602 -0.995148 +vn -0.110202 -0.022553 -0.993622 +vn 0.338878 0.656911 -0.673452 +vn 0.082736 0.412366 -0.907224 +vn -0.554521 0.423688 -0.716208 +vn 0.272896 -0.223243 0.935759 +vn 0.294504 0.097720 0.950621 +vn 0.294473 -0.017457 0.955473 +vn 0.284707 -0.019288 0.958403 +vn -0.394910 -0.848537 -0.352123 +vn 0.880917 0.109134 0.460463 +vn 0.894375 0.004883 0.447249 +vn 0.883297 0.040590 0.467025 +vn 0.533738 0.254006 0.806574 +vn 0.881619 0.170629 0.439985 +vn 0.519944 -0.109745 0.847102 +vn 0.634419 -0.203009 0.745842 +vn 0.703024 -0.211524 0.678945 +vn 0.639851 0.105380 0.761193 +vn 0.992828 0.092044 0.076022 +vn -0.816553 -0.094668 -0.569414 +vn -0.484329 0.246986 -0.839259 +vn -0.743950 -0.624836 0.236763 +vn 0.230049 -0.650746 0.723563 +vn 0.820795 0.363903 0.440260 +vn 0.932310 -0.313883 0.179571 +vn -0.211921 0.260414 -0.941923 +vn -0.743736 0.374920 -0.553392 +vn -0.395856 0.175481 -0.901364 +vn 0.089206 0.791253 0.604907 +vn 0.908689 -0.030000 -0.416333 +vn 0.715903 -0.362072 0.596973 +vn 0.641102 -0.381451 0.665914 +vn 0.589404 -0.300058 0.750023 +vn 0.566179 -0.324961 0.757500 +vn 0.515183 -0.127049 0.847591 +vn 0.244270 0.470870 0.847682 +vn 0.351604 0.547258 0.759484 +vn 0.732292 0.043764 0.679525 +vn 0.755211 -0.193457 0.626240 +vn -0.350688 -0.255226 -0.900998 +vn -0.305979 -0.234901 -0.922575 +vn -0.612964 0.082308 -0.785791 +vn -0.017304 0.351421 -0.936033 +vn 0.201849 0.333506 -0.920865 +vn -0.365184 0.112674 -0.924070 +vn -0.105197 -0.592914 0.798334 +vn -0.142613 -0.603992 0.784112 +vn 0.277017 -0.035981 0.960173 +vn 0.300760 -0.011505 0.953612 +vn 0.920804 -0.388714 -0.030732 +vn 0.494644 0.327799 0.804865 +vn -0.069399 0.206427 -0.975982 +vn 0.887204 -0.029023 0.460433 +vn 0.894406 -0.001556 0.447188 +vn 0.880886 -0.048982 0.470748 +vn 0.822810 -0.401898 0.401807 +vn 0.743309 -0.362346 0.562243 +vn -0.486831 0.790216 -0.372143 +vn 0.698935 -0.260231 0.666128 +vn 0.750328 -0.299478 0.589312 +vn 0.457869 0.223670 0.860408 +vn 0.686239 -0.358501 0.632862 +vn 0.700461 -0.277902 0.657338 +vn 0.543016 0.221839 0.809839 +vn -0.415052 0.253731 -0.873684 +vn -0.903043 -0.413312 0.116886 +vn -0.979553 0.166417 -0.112857 +vn -0.845393 0.520707 -0.118870 +vn -0.963042 0.185766 -0.194983 +vn 0.922788 -0.083712 -0.376080 +vn -0.341716 0.791742 -0.506302 +vn -0.196814 0.781365 -0.592181 +vn -0.314859 0.502243 -0.805353 +vn -0.386822 0.444716 -0.807794 +vn -0.410413 -0.862209 -0.296854 +vn -0.221076 -0.812494 -0.539384 +vn -0.357433 -0.881985 -0.307108 +vn 0.932585 -0.070894 -0.353893 +vn 0.578845 -0.351817 0.735588 +vn 0.614948 -0.424177 0.664724 +vn 0.542558 -0.341044 0.767632 +vn 0.526261 -0.215583 0.822504 +vn 0.275063 0.293954 0.915372 +vn 0.022797 0.691275 0.722221 +vn 0.584460 0.224219 0.779809 +vn 0.749840 -0.180334 0.636525 +vn 0.722556 -0.223823 0.654042 +vn -0.640980 -0.297647 -0.707450 +vn -0.696646 -0.330851 -0.636525 +vn -0.609180 -0.373119 -0.699759 +vn 0.029756 -0.022462 -0.999298 +vn 0.042604 -0.065096 -0.996948 +vn -0.888852 0.095004 0.448164 +vn -0.775201 -0.393902 0.493820 +vn -0.737480 0.186102 0.649190 +vn -0.481429 0.288705 -0.827540 +vn 0.299081 -0.012940 0.954131 +vn 0.315622 -0.006561 0.948851 +vn 0.918332 -0.074374 0.388745 +vn 0.901303 -0.106693 0.419782 +vn 0.918241 -0.109470 0.380535 +vn 0.871975 -0.024567 0.488876 +vn 0.874752 -0.030000 0.483627 +vn 0.880062 -0.048189 0.472365 +vn 0.471389 0.636006 0.610920 +vn 0.417066 0.620869 0.663717 +vn 0.573016 0.100528 0.813318 +vn 0.547166 -0.660115 0.514573 +vn 0.610279 -0.608203 0.507584 +vn 0.524064 -0.413221 0.744682 +vn 0.438459 0.032472 0.898160 +vn 0.371990 0.323710 0.869930 +vn 0.653066 -0.478988 0.586535 +vn 0.613422 -0.636860 0.466964 +vn 0.863399 -0.030091 0.503586 +vn 0.865261 -0.075411 0.495590 +vn 0.294137 -0.903165 -0.312601 +vn 0.320872 -0.843196 -0.431288 +vn 0.883999 -0.116520 0.452681 +vn 0.543413 -0.376995 0.750023 +vn 0.545366 -0.353191 0.760125 +vn 0.527268 -0.297769 0.795801 +vn 0.398114 0.062777 0.915159 +vn -0.044771 0.681051 0.730827 +vn 0.342723 0.450850 0.824152 +vn 0.706778 -0.024049 0.706992 +vn 0.772454 -0.266030 0.576617 +vn -0.009552 0.006409 -0.999908 +vn 0.861049 -0.099033 0.498764 +vn -0.055147 -0.424848 -0.903562 +vn -0.137211 -0.468703 -0.872616 +vn 0.295633 0.021638 0.955046 +vn 0.241401 0.056856 0.968749 +vn 0.293619 -0.013276 0.955809 +vn 0.103671 0.772820 0.626087 +vn -0.679067 0.077059 -0.730003 +vn -0.726585 0.283608 -0.625782 +vn -0.669027 0.262551 -0.695303 +vn -0.396619 0.234535 -0.887478 +vn -0.389935 0.251778 -0.885708 +vn -0.376690 0.220954 -0.899594 +vn -0.131382 0.635884 -0.760491 +vn 0.060366 0.277413 -0.958831 +vn 0.491684 -0.088717 0.866237 +vn 0.611499 -0.146214 0.777581 +vn 0.977966 0.198859 0.063204 +vn 0.985382 0.142155 0.093722 +vn 0.652455 -0.755882 -0.053987 +vn 0.869625 0.461715 0.174718 +vn 0.724265 -0.548875 0.417280 +vn 0.567095 -0.402844 0.718375 +vn 0.547563 -0.350139 0.759941 +vn 0.548082 -0.354198 0.757683 +vn 0.492386 -0.097324 0.864895 +vn 0.181066 0.555956 0.811212 +vn 0.287027 0.640339 0.712424 +vn 0.638600 0.180548 0.748039 +vn 0.792108 -0.231117 0.564898 +vn 0.774621 -0.302805 0.555193 +vn -0.575518 0.737571 0.353160 +vn -0.656087 0.666219 0.354472 +vn -0.794549 0.529710 0.296701 +vn 0.308725 0.125065 0.942869 +vn 0.262246 0.004181 0.964965 +vn 0.288491 0.014649 0.957335 +vn -0.295938 0.474105 -0.829218 +vn -0.338511 0.467422 -0.816614 +vn 0.982513 0.174780 -0.063662 +vn 0.501419 0.307016 0.808893 +vn 0.937162 0.259011 0.233650 +vn 0.126072 0.956084 -0.264473 +vn 0.157506 0.940580 -0.300729 +vn 0.152074 0.947081 -0.282632 +vn -0.995727 0.090091 0.018952 +vn 0.527940 -0.482101 0.699118 +vn 0.595416 0.102206 -0.796869 +vn -0.708243 -0.095187 -0.699484 +vn -0.753227 -0.090213 0.651540 +vn 0.586627 -0.456710 0.668752 +vn 0.549883 -0.355052 0.756005 +vn 0.550645 -0.385235 0.740501 +vn 0.463149 -0.198309 0.863796 +vn 0.231788 0.464888 0.854457 +vn 0.154332 0.721732 0.674734 +vn 0.436232 0.323893 0.839503 +vn 0.727989 -0.042970 0.684194 +vn 0.794702 -0.328806 0.510178 +vn 0.988281 0.016938 0.151524 +vn 0.975890 0.113285 0.186468 +vn 0.977569 0.139714 -0.157414 +vn 0.302927 0.086764 0.949034 +vn 0.266915 -0.016144 0.963561 +vn 0.286721 0.052889 0.956542 +vn -0.064089 -0.003754 -0.997925 +vn -0.023225 -0.011719 -0.999634 +vn -0.048341 0.035066 -0.998199 +vn -0.463759 0.354595 -0.811853 +vn 0.722983 0.431104 -0.539811 +vn 0.760277 0.400311 -0.511551 +vn 0.794946 0.383709 -0.469863 +vn 0.756066 -0.459853 0.465712 +vn 0.569231 -0.612507 0.548418 +vn 0.546525 -0.387371 0.742424 +vn 0.566240 -0.495804 0.658406 +vn 0.491409 -0.407178 0.769860 +vn 0.458052 -0.313120 0.831935 +vn 0.293741 0.323954 0.899289 +vn -0.014191 0.751518 0.659505 +vn 0.382061 0.457625 0.802850 +vn 0.665273 0.164403 0.728233 +vn 0.778405 -0.272774 0.565355 +vn 0.783502 -0.346385 0.515854 +vn -0.506577 0.787561 0.350810 +vn -0.603748 0.719565 0.343028 +vn 0.123966 0.088992 -0.988281 +vn 0.262551 0.104099 0.959258 +vn 0.295724 -0.004486 0.955229 +vn 0.304819 0.058412 0.950591 +vn 0.214087 0.753807 0.621204 +vn -0.085788 0.839259 0.536882 +vn -0.877865 0.417615 0.234352 +vn 0.850642 0.352702 -0.389813 +vn 0.777459 0.528977 -0.340129 +vn 0.817988 -0.467605 0.334941 +vn 0.809656 0.155217 -0.565996 +vn 0.523362 -0.426466 0.737693 +vn 0.562517 -0.546648 0.620258 +vn 0.485977 -0.430433 0.760582 +vn 0.496475 -0.358165 0.790674 +vn 0.355113 0.193579 0.914518 +vn -0.087832 0.765465 0.637440 +vn 0.254616 0.638844 0.725974 +vn 0.559069 0.256752 0.788324 +vn 0.741661 -0.131291 0.657765 +vn 0.795556 -0.347942 0.495956 +vn 0.064760 -0.995605 -0.067568 +vn 0.864864 0.339976 0.369335 +vn -0.556810 0.202551 -0.805536 +vn -0.580035 0.279061 -0.765282 +vn -0.997192 0.074740 -0.003571 +vn -0.903836 -0.328349 -0.274300 +vn -0.917234 -0.239570 -0.318217 +vn -0.087558 0.098209 -0.991302 +vn 0.300882 0.103641 0.947996 +vn 0.302042 0.013306 0.953185 +vn -0.417982 0.801294 0.427961 +vn 0.295755 0.064302 0.953093 +vn -0.717551 -0.666555 -0.202002 +vn -0.528916 -0.319468 0.786218 +vn -0.377178 0.345225 -0.859371 +vn -0.492325 0.476852 -0.728141 +vn 0.700980 0.712424 0.031892 +vn 0.101291 0.900876 -0.422010 +vn 0.820734 -0.168767 0.545762 +vn 0.001892 0.325266 -0.945585 +vn 0.543352 -0.471603 0.694479 +vn 0.509262 -0.433607 0.743370 +vn 0.480117 -0.412061 0.774377 +vn 0.402661 0.015137 0.915220 +vn 0.074465 0.713309 0.696829 +vn 0.181463 0.760643 0.623249 +vn 0.475326 0.382611 0.792230 +vn 0.722556 0.047517 0.689627 +vn 0.797845 -0.306314 0.519181 +vn 0.795679 -0.329478 0.508225 +vn -0.849452 -0.147862 -0.506485 +vn -0.493210 -0.575854 -0.651997 +vn -0.920042 -0.056063 -0.387707 +vn 0.181341 -0.083499 -0.979858 +vn 0.317545 0.073794 0.945341 +vn 0.296091 -0.009888 0.955107 +vn 0.293893 0.081668 0.952330 +vn -0.156774 0.208716 -0.965300 +vn 0.521195 0.049684 -0.851985 +vn 0.293222 0.228980 -0.928190 +vn -0.004639 0.391888 -0.919980 +vn 0.224403 -0.762810 -0.606403 +vn -0.464614 0.725211 0.508103 +vn -0.526261 -0.015534 -0.850154 +vn -0.554094 0.023835 -0.832087 +vn -0.500870 -0.067171 -0.862880 +vn 0.794397 0.555620 0.245338 +vn 0.766839 0.573870 0.287362 +vn 0.834559 0.478408 0.273110 +vn 0.851619 0.439528 -0.285440 +vn 0.560747 -0.619709 0.549058 +vn 0.507797 -0.462142 0.726981 +vn 0.464980 -0.454482 0.759728 +vn 0.440077 -0.087161 0.893704 +vn 0.213599 0.666433 0.714286 +vn 0.169164 0.804346 0.569506 +vn 0.398724 0.510605 0.761742 +vn 0.618213 0.147649 0.771996 +vn 0.774895 -0.180853 0.605640 +vn 0.813898 -0.342448 0.469283 +vn 0.797418 -0.292459 0.527757 +vn 0.762535 0.562853 -0.318918 +vn -0.047212 -0.012665 -0.998779 +vn 0.057955 -0.090701 -0.994171 +vn 0.264351 0.072848 0.961638 +vn 0.301737 0.002625 0.953368 +vn 0.283578 -0.096561 0.954070 +vn -0.365673 -0.404614 0.838160 +vn -0.376659 -0.431776 0.819544 +vn 0.354656 -0.929167 -0.104068 +vn -0.346416 0.479171 -0.806421 +vn 0.492965 -0.646474 -0.582232 +vn 0.180517 -0.127140 -0.975311 +vn -0.858974 0.404187 0.314219 +vn -0.865688 0.397748 0.303812 +vn -0.922178 0.297647 0.246956 +vn 0.893429 -0.410962 -0.181188 +vn 0.079501 -0.077731 -0.993774 +vn -0.772118 -0.619404 0.141850 +vn -0.739006 -0.642048 0.203955 +vn 0.002533 -0.999969 0.002625 +vn -0.023865 -0.999634 0.011231 +vn 0.021302 -0.123600 -0.992096 +vn 0.990020 0.140660 -0.003906 +vn 0.992309 0.122898 0.014283 +vn 0.949797 0.307291 0.058535 +vn 0.895688 0.431684 0.106479 +vn 0.960448 0.272713 0.056093 +vn 0.038423 -0.996582 0.073000 +vn 0.024232 -0.998383 0.051088 +vn -0.010163 -0.997314 0.072207 +vn -0.152257 -0.566088 -0.810144 +vn -0.985198 -0.109897 -0.131504 +vn -0.988037 -0.124821 -0.090457 +vn -0.986297 -0.018586 -0.163732 +vn -0.959471 0.277383 -0.049135 +vn -0.949278 -0.311258 0.044404 +vn -0.895199 -0.394635 0.207007 +vn -0.788598 -0.502548 0.354259 +vn -0.874020 -0.303507 0.379376 +vn -0.560045 0.817530 0.134037 +vn -0.617267 0.781152 -0.093570 +vn -0.905057 -0.071474 0.419233 +vn -0.923948 -0.006500 0.382397 +vn -0.918912 0.394055 -0.016938 +vn -0.865108 0.501175 -0.018891 +vn -0.971984 -0.231574 -0.039674 +vn -0.864040 -0.496841 -0.080844 +vn -0.920927 -0.386212 -0.051698 +vn -0.979553 0.194372 0.051424 +vn -0.972411 0.230476 0.035829 +vn -0.946928 0.309397 0.086917 +vn -0.916898 0.388958 0.089419 +vn -0.888180 0.441389 0.127506 +vn 0.984222 -0.167089 -0.057741 +vn 0.979553 -0.198523 -0.031800 +vn -0.999817 -0.003143 0.017243 +vn 0.995849 -0.069338 -0.058443 +vn 0.971831 0.226295 0.065554 +vn -0.996551 0.051912 0.064638 +vn -0.996826 -0.033448 0.072207 +vn -0.990631 -0.097476 0.095553 +vn -0.975402 0.205206 -0.080416 +vn -0.995270 0.073733 -0.063204 +vn -0.985351 0.154668 -0.071444 +vn -0.482833 0.829524 -0.280587 +vn -0.518326 0.791711 -0.323222 +vn -0.077486 0.086642 -0.993194 +vn -0.907071 0.244606 0.342601 +vn -0.885281 0.253761 0.389660 +vn -0.873714 0.260475 0.410779 +vn 0.994934 0.100375 -0.003723 +vn -0.246162 -0.772637 0.585131 +vn -0.126835 -0.814905 0.565508 +vn 0.017609 -0.994934 0.098910 +vn 0.047182 -0.945250 0.322855 +vn -0.005097 -0.999878 0.012970 +vn -0.030335 -0.999420 -0.015259 +vn -0.030183 -0.998413 -0.047487 +vn -0.005585 -0.998199 0.059267 +vn 0.016755 -0.998138 0.058321 +vn 0.964629 -0.227424 -0.133183 +vn 0.978393 -0.192541 -0.074862 +vn 0.983551 -0.163793 -0.075838 +vn 0.988464 -0.143803 -0.047090 +vn 0.014374 -0.273965 -0.961608 +vn 0.997803 -0.056093 -0.035005 +vn 0.999695 -0.021760 -0.010590 +vn 0.993103 0.104740 0.052522 +vn -0.993194 0.115574 0.012604 +vn -0.952025 -0.305582 -0.014985 +vn -0.395917 0.790887 0.466567 +vn -0.496567 0.659963 0.563768 +vn -0.467269 0.697104 0.543748 +vn -0.965697 0.241157 0.095981 +vn -0.916623 0.297586 0.266823 +vn -0.908322 0.313059 0.277291 +vn -0.954466 0.022919 0.297342 +vn 0.949919 -0.305673 -0.064425 +vn 0.964904 0.261879 0.018891 +vn -0.588519 -0.796289 0.139744 +vn -0.583728 -0.807764 0.081973 +vn -0.583636 -0.797571 0.152348 +vn 0.912381 0.403180 0.070376 +vn -0.949065 0.169347 0.265664 +vn 0.925596 -0.130589 0.355235 +vn 0.381298 0.479080 -0.790613 +vn 0.269021 0.514359 -0.814264 +vn 0.248177 0.545488 -0.800501 +vn -0.928587 0.053591 0.367168 +vn -0.948943 0.094089 0.301065 +vn -0.990265 0.077578 -0.115360 +vn -0.937834 -0.314859 -0.145909 +vn -0.974822 -0.164220 -0.150761 +vn -0.873135 0.441939 -0.205542 +vn -0.860622 0.488510 -0.143620 +vn 0.934416 -0.352855 -0.048402 +vn 0.932554 -0.360607 -0.016846 +vn -0.922697 0.050203 0.382214 +vn -0.933500 0.025788 0.357616 +vn -0.923154 -0.157750 0.350505 +vn -0.029511 -0.999542 0.002625 +vn -0.997192 -0.051210 -0.054415 +vn -0.896146 0.297006 0.329661 +vn -0.865871 0.293435 0.405133 +vn -0.792413 -0.444838 0.417341 +vn -0.815729 -0.385540 0.431166 +vn -0.473464 0.825343 -0.307566 +vn -0.279733 -0.955596 -0.092288 +vn 0.809168 -0.550645 -0.204932 +vn -0.634510 -0.272439 0.723289 +vn -0.520127 -0.418867 0.744285 +vn -0.533891 -0.290567 0.794031 +vn -0.989441 -0.136082 -0.049348 +vn -0.979492 -0.201422 -0.000366 +vn -0.963561 -0.264473 0.039613 +vn -0.893857 -0.437941 0.095981 +vn -0.939634 -0.339274 0.044038 +vn -0.781945 -0.592761 0.192785 +vn -0.879910 0.432813 -0.195929 +vn -0.904660 0.395611 -0.158208 +vn -0.916990 0.327982 -0.226997 +vn -0.859523 0.491531 -0.139836 +vn -0.908017 0.359386 -0.215155 +vn -0.867550 0.484756 -0.110935 +vn -0.583605 0.766472 -0.268136 +vn 0.403088 -0.912015 0.075472 +vn 0.450728 -0.888882 0.081851 +vn -0.736869 -0.594958 0.320902 +vn -0.580279 -0.778649 0.238594 +vn 0.245766 -0.853267 -0.459914 +vn 0.215003 -0.750298 -0.625141 +vn -0.871181 0.316233 0.375530 +vn -0.897122 -0.272835 0.347392 +vn -0.923093 -0.292032 0.250130 +vn -0.028291 -0.999573 -0.007080 +vn -0.074648 -0.997162 -0.008454 +vn -0.016053 -0.999786 -0.011109 +vn -0.945067 0.065920 0.320139 +vn -0.666829 0.124912 0.734642 +vn -0.707541 0.145726 0.691458 +vn -0.669179 -0.012787 0.742973 +vn -0.968535 -0.097812 0.228797 +vn -0.959838 -0.205329 0.191137 +vn -0.984344 -0.122227 0.126743 +vn -0.563738 0.781518 0.267159 +vn -0.446150 0.864864 0.230049 +vn -0.447462 0.877834 0.170721 +vn -0.564257 -0.136204 0.814264 +vn -0.264718 -0.576373 0.773095 +vn -0.329783 -0.169713 0.928648 +vn -0.843165 0.430982 0.321329 +vn -0.857234 0.431532 0.280831 +vn -0.573077 0.363079 -0.734642 +vn 0.047731 -0.998505 0.025941 +vn 0.029420 -0.999237 0.025483 +vn 0.032838 -0.999115 0.026093 +vn -0.987396 -0.035493 -0.154088 +vn 0.035707 -0.998657 0.036897 +vn 0.074313 -0.995880 0.051668 +vn -0.473403 -0.822687 -0.314676 +vn -0.356578 -0.885952 -0.296457 +vn -0.985137 0.079196 -0.152348 +vn -0.983459 0.075930 -0.164312 +vn -0.984985 0.085513 -0.149754 +vn -0.009644 -0.999115 0.040437 +vn 0.008484 -0.999817 0.016602 +vn -0.010559 -0.998077 -0.060579 +vn -0.981933 0.066317 -0.177099 +vn -0.894284 0.431806 -0.117405 +vn -0.972228 0.164251 -0.166540 +vn -0.963103 0.241371 -0.118992 +vn -0.973144 0.141697 -0.181249 +vn -0.979766 0.096164 -0.175420 +vn -0.947111 -0.316752 0.051119 +vn -0.570788 -0.683828 -0.454482 +vn -0.639180 -0.601642 -0.478988 +vn -0.466872 -0.802637 -0.371136 +vn -0.017975 -0.999695 -0.016358 +vn 0.004486 -0.999420 -0.032868 +vn 0.952025 -0.253822 -0.170904 +vn -0.959349 -0.214820 0.182928 +vn -0.988800 -0.073428 0.129856 +vn -0.976806 -0.192114 0.094180 +vn 0.972991 -0.186163 -0.136387 +vn -0.994568 -0.052400 0.089755 +vn 0.986938 -0.109134 -0.118412 +vn 0.997223 0.071596 -0.019868 +vn -0.893735 0.364208 0.261818 +vn -0.804956 -0.466231 0.366924 +vn -0.733634 -0.487625 -0.473251 +vn -0.072970 0.785730 -0.614215 +vn 0.961364 0.274789 0.014557 +vn 0.276650 0.432356 -0.858180 +vn 0.308786 0.396313 -0.864620 +vn 0.324320 0.426923 -0.844111 +vn 0.933195 0.356609 0.043916 +vn -0.361370 0.407941 -0.838404 +vn -0.609699 0.784936 -0.110050 +vn 0.989074 -0.137394 0.053133 +vn -0.009461 0.856258 -0.516404 +vn -0.059084 0.836238 -0.545122 +vn 0.000214 0.815516 -0.578692 +vn -0.916379 0.295328 0.270119 +vn 0.041536 0.842982 -0.536271 +vn -0.203040 0.763787 -0.612659 +vn -0.216742 0.652699 -0.725913 +vn -0.268258 0.663442 -0.698447 +vn 0.178411 0.786340 -0.591449 +vn 0.063387 0.819605 -0.569384 +vn 0.112369 0.761834 -0.637928 +vn -0.948668 0.062716 0.309915 +vn -0.919553 -0.232673 0.316599 +vn -0.807062 -0.522446 0.275033 +vn -0.215583 -0.539506 -0.813868 +vn -0.253548 0.154729 -0.954833 +vn -0.256661 0.112003 -0.959960 +vn -0.186651 0.315256 -0.930448 +vn -0.079134 0.419233 -0.904386 +vn 0.063448 0.371990 -0.926023 +vn -0.132847 0.401502 -0.906156 +vn -0.228217 0.609546 -0.759148 +vn -0.147404 0.496506 -0.855403 +vn -0.242195 0.495010 -0.834407 +vn -0.222999 0.401685 -0.888180 +vn -0.176458 0.190710 -0.965636 +vn -0.008362 0.127842 -0.991729 +vn -0.800165 -0.595660 -0.069796 +vn -0.711905 -0.698264 -0.074435 +vn -0.914518 -0.363689 0.177007 +vn -0.854976 -0.467422 0.224677 +vn -0.955199 -0.262734 0.136052 +vn -0.058260 0.930784 -0.360851 +vn -0.987793 0.154424 -0.019837 +vn -0.975799 -0.159398 0.149510 +vn -0.985443 -0.018311 0.169012 +vn -0.982238 0.076510 0.171209 +vn -0.312357 0.912961 0.262490 +vn -0.686911 0.474380 -0.550493 +vn -0.738212 -0.674093 -0.024812 +vn 0.425825 0.320566 -0.846095 +vn 0.449416 0.238838 -0.860775 +vn 0.470290 0.201086 -0.859279 +vn 0.737663 -0.366832 -0.566759 +vn -0.978545 0.123844 0.164617 +vn -0.966521 0.198706 0.162175 +vn -0.947050 0.275124 0.165471 +vn -0.995086 0.054872 -0.082369 +vn -0.932585 -0.256478 -0.253853 +vn 0.806879 0.561449 0.183477 +vn 0.812738 0.551103 0.188910 +vn 0.754021 -0.287423 -0.590564 +vn 0.739402 -0.284890 -0.609973 +vn 0.536454 0.125614 -0.834498 +vn 0.410108 0.092715 -0.907285 +vn -0.925382 0.344584 0.157811 +vn -0.903043 0.412336 0.120243 +vn -0.846614 0.515763 0.131077 +vn -0.002777 -0.999329 0.036317 +vn -0.172552 -0.968932 0.177068 +vn -0.008545 -0.997650 0.067782 +vn -0.026582 -0.999023 -0.034700 +vn 0.064089 -0.989471 0.129734 +vn 0.035249 -0.984069 0.174169 +vn -0.009735 -0.993591 0.112339 +vn 0.738121 0.248299 -0.627277 +vn 0.773309 0.080325 -0.628864 +vn 0.745659 0.232948 -0.624226 +vn 0.060488 -0.995911 0.066622 +vn 0.087008 -0.993744 0.069979 +vn -0.335429 0.902737 -0.269234 +vn -0.442335 0.848811 -0.289499 +vn 0.359264 0.675985 -0.643361 +vn 0.474075 0.685995 -0.551927 +vn 0.389355 0.706015 -0.591510 +vn -0.476180 0.694693 -0.539079 +vn 0.925535 0.273110 0.262215 +vn 0.876949 0.320444 0.358104 +vn 0.971831 -0.199622 -0.125217 +vn 0.848506 -0.356914 0.390667 +vn 0.984954 -0.118442 -0.125736 +vn 0.993439 0.022858 -0.111942 +vn 0.975707 0.219031 0.001282 +vn 0.938963 0.338847 0.058901 +vn -0.841609 0.531327 0.096744 +vn 0.829524 0.529313 0.178045 +vn 0.884274 0.439192 0.158513 +vn 0.990448 0.117130 0.072298 +vn 0.958861 0.267342 0.095218 +vn 0.998779 -0.022248 0.043397 +vn 0.984069 -0.172033 -0.044496 +vn 0.747093 -0.044435 -0.663198 +vn 0.679525 0.133488 -0.721397 +vn 0.710654 -0.259682 -0.653798 +vn -0.925413 0.358592 0.122471 +vn 0.547410 0.038057 -0.835963 +vn 0.902493 -0.356456 -0.241676 +vn 0.865810 -0.353313 -0.354289 +vn 0.890835 -0.392590 -0.228553 +vn 0.703543 -0.328501 -0.630146 +vn 0.846644 -0.110843 -0.520432 +vn 0.809320 -0.086581 -0.580920 +vn 0.807031 0.006714 -0.590442 +vn -0.993011 0.117496 -0.009247 +vn 0.712088 -0.276101 -0.645466 +vn -0.974944 0.031220 0.220191 +vn -0.980987 0.032807 0.191168 +vn -0.984436 -0.049409 0.168615 +vn -0.972137 0.161260 0.170110 +vn -0.315134 0.927793 -0.199622 +vn -0.297006 0.935087 -0.193213 +vn -0.345470 0.921018 -0.179754 +vn -0.988037 0.143773 0.055300 +vn -0.988800 0.024781 0.147038 +vn -0.994903 0.078280 0.063448 +vn -0.590197 -0.269662 -0.760857 +vn -0.568346 -0.299753 -0.766228 +vn -0.587115 -0.269997 -0.763115 +vn -0.941923 -0.335704 -0.008606 +vn -0.944334 -0.321024 -0.071780 +vn -0.854488 0.458693 0.243690 +vn -0.751457 0.578997 0.316263 +vn -0.953185 0.104129 0.283853 +vn -0.936552 -0.056764 0.345836 +vn -0.963927 -0.073336 0.255745 +vn -0.951720 -0.231483 0.201453 +vn -0.368908 0.899899 -0.232429 +vn -0.459700 0.853816 -0.244148 +vn -0.936308 -0.320933 0.142308 +vn 0.734611 -0.163335 -0.658498 +vn 0.928190 0.241127 0.283334 +vn -0.970153 -0.241554 0.019654 +vn -0.991363 -0.130680 0.009247 +vn -0.995880 0.008881 0.090030 +vn -0.945769 0.281289 0.162297 +vn 0.061342 -0.994537 0.084292 +vn 0.004028 -0.999939 -0.008545 +vn 0.020417 -0.995483 0.092410 +vn -0.926725 0.224616 -0.301157 +vn 0.024293 -0.996887 0.074587 +vn 0.188574 -0.766625 0.613727 +vn 0.256600 -0.780358 0.570208 +vn 0.222480 -0.824610 0.520096 +vn 0.054689 -0.997009 0.054506 +vn 0.930754 -0.314188 -0.186956 +vn -0.660115 -0.671102 -0.337382 +vn -0.771447 -0.520035 -0.366558 +vn -0.828181 0.509690 0.232978 +vn 0.964446 -0.209082 -0.161412 +vn -0.781304 -0.518357 -0.347606 +vn -0.841914 -0.358165 -0.403546 +vn -0.849055 -0.329936 -0.412580 +vn 0.983551 -0.128910 -0.126408 +vn 0.997559 -0.007202 -0.069338 +vn 0.986480 0.163823 -0.000702 +vn 0.950133 0.308725 0.043550 +vn 0.903867 0.418439 0.088931 +vn -0.747490 0.645314 -0.157476 +vn -0.697958 0.676992 -0.233497 +vn -0.933561 0.250343 -0.256417 +vn 0.659078 0.178045 -0.730674 +vn 0.628285 0.172246 -0.758660 +vn -0.950346 -0.306772 -0.051759 +vn -0.288797 0.906552 -0.307718 +vn -0.299509 0.929777 -0.213996 +vn -0.324625 0.896634 -0.301065 +vn 0.663930 0.001007 -0.747765 +vn 0.690909 -0.048006 -0.721305 +vn 0.724113 -0.092532 -0.683401 +vn 0.009522 -0.999939 0.004852 +vn 0.980743 -0.193670 -0.024659 +vn 0.269356 -0.878140 -0.395276 +vn 0.845790 0.514512 0.140996 +vn -0.681143 0.669454 0.296396 +vn -0.891629 -0.028687 -0.451796 +vn -0.888119 0.045289 -0.457350 +vn -0.899960 -0.073428 -0.429670 +vn -0.859798 0.022462 -0.510086 +vn -0.904111 0.072207 -0.421094 +vn -0.926725 0.071291 -0.368877 +vn 0.996918 0.044679 0.064364 +vn 0.978668 0.137303 0.152654 +vn 0.992584 0.084445 0.087191 +vn 0.769463 -0.531602 -0.353893 +vn -0.962066 -0.052614 -0.267647 +vn -0.974944 -0.023713 -0.221137 +vn -0.964599 0.155034 0.213294 +vn -0.188055 0.859401 -0.475448 +vn -0.023804 0.870266 -0.491989 +vn -0.015229 0.820490 -0.571398 +vn -0.056520 0.834559 -0.547960 +vn -0.582354 0.780419 0.227515 +vn -0.562944 -0.184820 -0.805536 +vn -0.951903 -0.204596 0.227973 +vn -0.072115 -0.383404 -0.920743 +vn -0.969420 0.166509 0.180212 +vn -0.949065 0.198309 0.244758 +vn -0.905148 0.038270 0.423322 +vn -0.910855 0.092715 0.402112 +vn -0.896054 0.372173 0.241981 +vn -0.874874 0.379986 0.300272 +vn -0.693381 0.435194 -0.574236 +vn -0.762383 0.196997 -0.616352 +vn -0.472854 0.845851 -0.246712 +vn -0.945494 -0.092380 0.312204 +vn -0.924955 -0.306192 0.225043 +vn -0.922849 0.385052 -0.005097 +vn -0.945708 0.319071 -0.061769 +vn 0.540727 -0.667287 -0.512162 +vn 0.642872 -0.643635 -0.415235 +vn 0.703513 -0.528398 -0.475204 +vn 0.771691 -0.496109 -0.397900 +vn -0.861476 -0.215613 -0.459700 +vn 0.841029 -0.500748 -0.204596 +vn 0.927305 -0.320200 -0.193793 +vn -0.950407 0.187841 -0.247841 +vn -0.459853 -0.877316 -0.137150 +vn -0.988037 -0.135685 -0.073183 +vn -0.600391 0.563585 -0.567339 +vn -0.528672 0.676809 -0.512223 +vn -0.465285 0.745903 -0.476547 +vn -0.919767 0.146702 -0.363903 +vn -0.935453 0.130680 -0.328349 +vn -0.738090 0.294290 -0.607074 +vn -0.501480 0.762780 -0.408216 +vn 0.235755 -0.836451 0.494705 +vn 0.252022 -0.879879 0.402783 +vn 0.241890 -0.864895 -0.439772 +vn -0.238685 0.919736 -0.311563 +vn -0.235878 0.926878 -0.291910 +vn -0.275033 0.899380 -0.339763 +vn 0.982452 -0.186316 0.003143 +vn 0.990204 -0.139348 0.004151 +vn 0.971068 -0.238685 0.001770 +vn -0.881619 -0.440657 0.168920 +vn -0.924558 -0.332286 0.186407 +vn -0.888119 -0.446089 0.110538 +vn -0.926176 -0.364940 0.094607 +vn -0.532914 0.738182 -0.413587 +vn -0.807886 0.521256 -0.274880 +vn 0.965880 -0.258889 -0.006348 +vn -0.911771 0.303446 -0.276650 +vn -0.898526 0.239296 -0.367931 +vn 0.390210 -0.401013 -0.828761 +vn 0.918729 0.306223 0.249184 +vn 0.898373 0.356822 0.256081 +vn 0.960021 0.202887 0.192816 +vn -0.913846 0.228645 -0.335490 +vn -0.936033 0.137822 -0.323710 +vn -0.917203 0.209479 -0.338816 +vn 0.986908 0.140934 0.078249 +vn 0.845027 -0.155004 -0.511704 +vn 0.851314 0.523911 0.027345 +vn 0.297647 -0.298227 0.906857 +vn 0.209937 -0.645772 0.734062 +vn 0.110538 -0.857112 0.503098 +vn -0.892544 0.405316 -0.197638 +vn 0.159154 -0.808740 0.566149 +vn 0.020417 -0.998993 0.039857 +vn 0.951994 -0.230171 -0.201727 +vn 0.970367 -0.165319 -0.176183 +vn 0.990905 -0.069521 -0.115116 +vn 0.991729 0.128178 -0.003601 +vn -0.083346 0.444960 -0.891629 +vn -0.042543 0.446242 -0.893887 +vn -0.166356 0.456862 -0.873806 +vn 0.229347 0.179357 -0.956664 +vn 0.331034 0.315897 -0.889126 +vn 0.958098 0.127201 0.256508 +vn 0.967986 -0.169652 0.184942 +vn -0.778497 0.512650 -0.362011 +vn -0.142705 -0.518693 0.842952 +vn -0.114658 -0.654500 0.747276 +vn 0.998383 0.021088 0.052278 +vn 0.998596 -0.051149 -0.013123 +vn 0.986084 -0.136387 -0.094913 +vn 0.817011 -0.516434 -0.256386 +vn 0.987182 -0.150334 -0.053041 +vn 0.749748 -0.534135 -0.390576 +vn 0.764183 -0.552904 -0.332102 +vn 0.799738 -0.526719 -0.288003 +vn -0.851253 -0.225593 -0.473739 +vn -0.811670 0.279733 -0.512711 +vn -0.790185 0.285531 -0.542253 +vn -0.820307 -0.008393 -0.571856 +vn -0.811701 0.036866 -0.582873 +vn -0.936216 -0.341044 0.084536 +vn -0.950224 -0.284555 -0.126713 +vn -0.938932 0.273202 -0.209113 +vn 0.953124 0.295328 0.065462 +vn 0.666341 0.018952 -0.745354 +vn 0.570482 0.133457 -0.810358 +vn 0.913388 0.399060 0.080142 +vn -0.919523 0.291818 -0.263192 +vn 0.853908 0.509995 0.103397 +vn -0.174352 0.948180 -0.265511 +vn -0.184057 0.944731 -0.271218 +vn -0.176763 0.935850 -0.304819 +vn -0.121158 0.909146 -0.398419 +vn -0.128574 0.891293 -0.434767 +vn -0.097995 0.874447 -0.475051 +vn -0.849574 -0.513047 0.122288 +vn -0.842830 -0.529069 0.098239 +vn -0.956084 0.199500 -0.214637 +vn -0.981353 0.097079 -0.165777 +vn -0.991272 0.059297 -0.117557 +vn -0.952544 0.251289 0.171606 +vn -0.941649 0.254036 0.220710 +vn -0.927213 0.331187 0.174841 +vn -0.995025 -0.016266 -0.098239 +vn -0.101444 -0.460677 -0.881741 +vn 0.968932 -0.242561 -0.047884 +vn 0.554399 -0.653401 0.515427 +vn -0.091067 -0.545671 -0.833003 +vn -0.072817 -0.537156 -0.840297 +vn -0.974914 0.097659 -0.199927 +vn -0.858791 0.496475 -0.126164 +vn -0.887631 0.412336 -0.205084 +vn 0.997253 -0.048280 0.055879 +vn 0.986267 0.114628 0.118839 +vn 0.999695 -0.006897 0.022736 +vn -0.951537 -0.079989 -0.296854 +vn -0.924039 -0.190252 0.331492 +vn 0.695944 -0.348552 -0.627796 +vn 0.761559 -0.265847 -0.591021 +vn -0.085299 0.859401 -0.504074 +vn -0.043001 0.840815 -0.539598 +vn -0.938108 0.262307 -0.226112 +vn -0.948820 0.251167 -0.191321 +vn -0.934141 0.241890 -0.262368 +vn -0.975616 0.052309 -0.213080 +vn -0.812677 0.448225 0.372265 +vn -0.896023 0.344127 0.280496 +vn 0.834834 0.349132 0.425581 +vn -0.659474 -0.681692 -0.316752 +vn 0.031220 -0.999481 -0.006439 +vn -0.991363 -0.117038 -0.058657 +vn -0.955412 -0.146611 -0.256233 +vn -0.900204 -0.426344 -0.088504 +vn -0.987213 -0.154180 -0.039949 +vn 0.018891 0.921567 -0.387677 +vn 0.022584 0.884030 -0.466811 +vn 0.039766 0.881314 -0.470809 +vn -0.845790 0.380016 0.374432 +vn -0.836665 0.412519 0.360210 +vn 0.003479 -0.999481 -0.031434 +vn -0.023286 -0.999390 -0.024903 +vn -0.991394 0.130741 0.001373 +vn -0.987396 0.156957 0.019654 +vn -0.988372 0.131687 0.075777 +vn -0.990112 -0.020142 -0.138798 +vn 0.089267 -0.953185 0.288797 +vn 0.098331 -0.973815 0.204901 +vn 0.012116 -0.998840 0.046236 +vn -0.182195 -0.757286 0.627125 +vn -0.065188 -0.986816 0.148045 +vn -0.031831 -0.984405 0.172948 +vn 0.013581 -0.999176 0.037812 +vn -0.003510 -0.995849 0.090823 +vn 0.005310 -0.999359 -0.034577 +vn 0.030580 -0.997528 0.062899 +vn 0.654195 -0.589831 -0.473373 +vn 0.694998 -0.590014 -0.410871 +vn 0.881375 0.278970 0.381176 +vn 0.069002 -0.101169 -0.992462 +vn 0.659902 -0.397320 -0.637684 +vn 0.684591 -0.452071 -0.571795 +vn 0.755364 -0.392529 -0.524705 +vn 0.780114 -0.265023 -0.566698 +vn -0.902188 0.351695 -0.249641 +vn -0.925321 0.288766 -0.245674 +vn -0.890591 0.308176 -0.334361 +vn -0.671224 0.291513 -0.681478 +vn 0.980163 0.139103 0.141118 +vn 0.808344 -0.538224 -0.238441 +vn 0.741478 -0.593860 -0.312235 +vn 0.983001 0.132298 0.127140 +vn -0.938597 -0.327921 0.107120 +vn 0.195593 0.873714 -0.445357 +vn 0.167058 0.866115 -0.471084 +vn 0.204627 0.909604 -0.361522 +vn 0.953581 -0.249641 -0.168279 +vn 0.974273 -0.174963 -0.141911 +vn 0.986053 -0.107852 -0.126591 +vn 0.950102 0.199805 0.239479 +vn 0.880306 0.309427 0.359539 +vn 0.995483 0.054720 -0.077334 +vn 0.970153 0.241676 0.019379 +vn -0.932951 0.357524 0.041841 +vn -0.167821 0.276009 -0.946379 +vn -0.134770 0.087863 -0.986969 +vn 0.052217 0.318522 -0.946440 +vn 0.018647 -0.999023 0.039460 +vn -0.141057 -0.942259 0.303659 +vn -0.001862 -0.998444 0.055361 +vn -0.931242 0.169469 0.322520 +vn -0.905026 0.151921 0.397259 +vn -0.937864 0.302255 0.170324 +vn -0.889706 0.385754 0.244087 +vn -0.916776 0.333415 0.219794 +vn -0.969665 -0.128910 -0.207617 +vn -0.983032 -0.012604 -0.182958 +vn 0.994018 0.079653 0.074618 +vn 0.956694 0.247810 0.152532 +vn 0.994812 -0.084353 0.056612 +vn 0.986938 0.020539 0.159581 +vn 0.628315 -0.571368 -0.527940 +vn -0.082522 -0.444044 -0.892178 +vn 0.713584 -0.057253 -0.698202 +vn 0.674825 -0.004547 -0.737938 +vn 0.764946 -0.125278 -0.631764 +vn 0.634724 0.012116 -0.772607 +vn 0.730674 -0.059938 -0.680044 +vn 0.799158 -0.192511 -0.569445 +vn -0.611621 0.787683 -0.073916 +vn -0.583178 0.811914 0.025117 +vn 0.841456 -0.253883 -0.476913 +vn 0.860073 -0.166417 -0.482223 +vn 0.872524 -0.245827 -0.422163 +vn 0.806116 -0.025208 -0.591205 +vn 0.826960 -0.045015 -0.560442 +vn 0.841487 -0.125584 -0.525437 +vn 0.869350 -0.073519 -0.488662 +vn 0.900998 -0.076632 -0.426984 +vn 0.890469 -0.165075 -0.423963 +vn 0.736656 -0.312632 -0.599628 +vn 0.794244 -0.135258 -0.592334 +vn 0.801416 -0.280374 -0.528275 +vn 0.805170 -0.134648 -0.577532 +vn 0.842647 -0.157689 -0.514786 +vn 0.815027 -0.005951 -0.579363 +vn -0.892087 -0.409864 -0.190130 +vn -0.880306 -0.432203 -0.195471 +vn -0.557482 -0.812677 -0.169561 +vn 0.706137 -0.150304 -0.691885 +vn 0.718467 -0.158910 -0.677145 +vn -0.878414 0.301859 0.370434 +vn 0.667348 -0.528977 -0.524186 +vn 0.695883 -0.483779 -0.530717 +vn 0.636799 -0.507981 -0.580004 +vn -0.100711 0.864834 -0.491806 +vn -0.128483 0.786279 -0.604327 +vn -0.071261 0.700247 -0.710288 +vn -0.131382 0.729179 -0.671560 +vn 0.597217 0.409192 -0.689810 +vn 0.582171 0.459487 -0.670766 +vn 0.511795 0.332041 -0.792322 +vn -0.037049 -0.706290 0.706900 +vn -0.307382 -0.532334 0.788720 +vn 0.403546 0.511704 -0.758476 +vn 0.411451 0.401776 -0.818079 +vn 0.370251 0.448103 -0.813685 +vn 0.914029 0.394208 0.095584 +vn -0.000763 0.695975 -0.718040 +vn -0.134770 0.753685 -0.643239 +vn -0.054750 0.680258 -0.730888 +vn 0.544206 -0.789117 -0.284738 +vn 0.562975 -0.792413 -0.234657 +vn 0.981719 -0.108829 0.156011 +vn 0.896786 -0.045259 -0.440107 +vn 0.891781 -0.105899 -0.439894 +vn 0.903928 -0.216010 -0.369030 +vn -0.848903 0.528245 -0.016938 +vn -0.612293 0.790460 -0.015198 +vn 0.665517 -0.424299 -0.614032 +vn 0.720725 -0.391034 -0.572375 +vn -0.838923 0.196204 -0.507614 +vn 0.900754 -0.014130 -0.434065 +vn 0.866787 0.026887 -0.497940 +vn 0.913358 -0.053194 -0.403638 +vn 0.517045 -0.543565 -0.661184 +vn 0.483718 -0.687033 -0.542192 +vn 0.991241 0.093387 0.093265 +vn 0.636128 -0.771416 -0.014405 +vn -0.158605 -0.766289 -0.622578 +vn -0.420118 -0.670064 -0.611957 +vn 0.943632 -0.014527 0.330607 +vn -0.012726 -0.998688 0.049165 +vn 0.036561 -0.998688 0.035768 +vn -0.919095 -0.383740 -0.089419 +vn -0.969085 -0.178014 -0.170782 +vn -0.946410 -0.135502 -0.293130 +vn -0.607715 0.767449 0.204108 +vn -0.573382 0.789453 0.218970 +vn -0.565661 0.785302 0.251595 +vn -0.427442 0.903226 -0.037904 +vn -0.348674 0.169652 -0.921720 +vn -0.411054 0.117374 -0.903989 +vn -0.487167 0.064760 -0.870876 +vn 0.871242 0.466903 0.151341 +vn 0.939848 0.320902 0.116947 +vn -0.971831 -0.041414 0.231971 +vn -0.990265 -0.050874 0.129460 +vn -0.991760 0.015259 0.127018 +vn -0.502335 0.189489 -0.843623 +vn -0.884060 0.352336 0.307016 +vn -0.969878 0.161931 0.181860 +vn -0.098453 0.235878 -0.966765 +vn -0.070009 0.291940 -0.953856 +vn -0.173956 0.181249 -0.967895 +vn 0.993316 0.113437 0.020173 +vn -0.696463 -0.268746 -0.665334 +vn -0.665822 -0.262398 -0.698416 +vn -0.637043 -0.160985 -0.753777 +vn -0.463729 -0.881863 -0.085086 +vn -0.632954 -0.773888 -0.020051 +vn -0.656026 -0.745201 -0.119480 +vn 0.430219 -0.638356 -0.638234 +vn 0.353954 -0.849727 -0.390667 +vn 0.184667 -0.789178 -0.585681 +vn 0.173894 -0.458663 -0.871395 +vn 0.188665 -0.551622 -0.812464 +vn 0.963408 -0.264840 -0.040925 +vn 0.010559 -0.998657 0.050264 +vn 0.942656 0.275887 0.187689 +vn 0.995514 -0.072329 0.060488 +vn 0.882443 0.425764 0.199866 +vn 0.145512 -0.709769 0.689200 +vn 0.030549 -0.621387 0.782861 +vn -0.042909 -0.581042 0.812708 +vn -0.184179 -0.810633 0.555803 +vn -0.526658 -0.668752 0.524766 +vn 0.937193 0.290719 0.192633 +vn -0.960509 0.277352 -0.021607 +vn -0.954314 0.281716 -0.099429 +vn -0.972777 0.010926 -0.231422 +vn -0.929319 0.197913 -0.311716 +vn -0.946013 0.044343 -0.320994 +vn -0.918119 0.224677 -0.326395 +vn -0.899899 0.245857 -0.360118 +vn -0.938414 0.114444 -0.325968 +vn -0.806452 -0.120396 0.578875 +vn -0.809381 -0.002564 0.587237 +vn -0.867397 -0.139531 -0.477615 +vn 0.844050 -0.312296 -0.435865 +vn 0.810175 -0.334117 -0.481582 +vn 0.729179 0.071413 -0.680532 +vn 0.698630 0.018860 -0.715232 +vn 0.751152 0.127079 -0.647755 +vn 0.796411 0.049898 -0.602649 +vn 0.817682 0.033174 -0.574664 +vn 0.793146 0.001801 -0.608997 +vn 0.776971 0.098392 -0.621784 +vn 0.742821 0.085482 -0.663961 +vn 0.785974 0.057314 -0.615589 +vn 0.774132 -0.096133 -0.625629 +vn 0.333689 0.552873 -0.763482 +vn -0.283181 0.550554 -0.785272 +vn -0.458296 0.789178 -0.408795 +vn 0.815027 -0.285989 -0.503861 +vn 0.718040 -0.172369 -0.674306 +vn 0.698386 -0.227302 -0.678640 +vn 0.087283 0.413251 -0.906400 +vn 0.192022 0.419752 -0.887051 +vn 0.113224 0.471206 -0.874722 +vn 0.675680 -0.005615 -0.737144 +vn 0.746300 -0.319437 -0.583880 +vn -0.159276 -0.983612 -0.084170 +vn 0.023682 -0.998199 0.054933 +vn -0.287576 -0.925443 -0.246529 +vn -0.006317 0.642354 -0.766350 +vn 0.361492 0.880917 -0.305338 +vn 0.849696 0.018708 -0.526872 +vn 0.829432 -0.087954 -0.551622 +vn -0.179876 0.491531 -0.852046 +vn -0.216376 0.359905 -0.907529 +vn -0.282327 0.474105 -0.833949 +vn -0.348064 -0.373821 -0.859676 +vn 0.045228 -0.767327 -0.639607 +vn 0.132664 -0.810053 -0.571093 +vn 0.069002 -0.979614 -0.188574 +vn -0.415082 -0.063601 -0.907529 +vn -0.382092 -0.160375 -0.910062 +vn -0.318796 -0.272134 -0.907895 +vn 0.126835 0.077151 -0.988891 +vn 0.145634 0.082553 -0.985870 +vn -0.000977 0.607807 -0.794061 +vn -0.831202 -0.547197 0.098117 +vn -0.805689 -0.504837 0.309732 +vn -0.892056 -0.451491 0.018586 +vn -0.952178 -0.304453 0.024384 +vn 0.989593 -0.134251 -0.051180 +vn 0.999664 0.019379 0.015564 +vn 0.207282 0.881924 -0.423322 +vn 0.170354 0.895108 -0.411969 +vn 0.015198 -0.999603 -0.023316 +vn 0.042421 -0.997772 -0.051454 +vn 0.039308 -0.999115 -0.014618 +vn 0.732810 -0.034059 -0.679525 +vn -0.930479 -0.028535 -0.365154 +vn -0.939177 0.122013 -0.320933 +vn -0.714469 0.259011 -0.649922 +vn -0.714743 0.088321 -0.693747 +vn -0.958159 0.129460 -0.255226 +vn -0.923460 0.191290 -0.332530 +vn 0.094699 0.312113 -0.945280 +vn 0.080142 0.193243 -0.977844 +vn 0.053560 0.330760 -0.942167 +vn 0.826838 0.091098 -0.554979 +vn 0.883084 0.048280 -0.466689 +vn 0.899777 -0.011689 -0.436140 +vn 0.815455 0.494003 -0.301614 +vn 0.827509 0.456099 -0.327342 +vn 0.996033 0.053713 0.070650 +vn 0.999420 -0.020295 0.027284 +vn 0.997650 -0.065310 0.020569 +vn 0.986663 -0.147435 -0.068545 +vn -0.726463 0.685537 0.047090 +vn -0.637562 0.762841 0.107364 +vn -0.686483 0.724143 -0.065676 +vn 0.799829 -0.126682 -0.586688 +vn 0.711722 -0.351848 -0.607959 +vn 0.761010 -0.200537 -0.616932 +vn -0.967803 -0.242500 0.067202 +vn 0.978027 -0.197180 -0.067598 +vn -0.842219 -0.431532 0.323099 +vn 0.198859 -0.977416 0.071230 +vn 0.487228 -0.854854 0.178289 +vn 0.719321 -0.643971 0.260414 +vn -0.597919 -0.679739 0.424726 +vn -0.536180 -0.820673 0.197302 +vn -0.366039 -0.888302 0.277291 +vn 0.401288 -0.901761 0.160497 +vn 0.703543 -0.670614 0.235084 +vn -0.573412 -0.463607 0.675436 +vn 0.050722 -0.981506 0.184423 +vn 0.012970 -0.991180 0.131779 +vn 0.603473 -0.454878 -0.654866 +vn 0.665212 -0.444319 -0.599994 +vn 0.641102 -0.444411 -0.625629 +vn -0.776543 -0.571703 -0.264748 +vn 0.582476 -0.432051 -0.688467 +vn 0.696341 -0.119999 -0.707572 +vn 0.741691 -0.403394 -0.535813 +vn -0.741295 -0.124546 -0.659474 +vn -0.808252 -0.023652 -0.588336 +vn 0.912198 -0.196173 0.359661 +vn 0.950346 0.224891 0.215003 +vn 0.872402 0.433912 0.224952 +vn 0.987854 -0.144536 -0.056581 +vn 0.877102 -0.373119 -0.302377 +vn 0.854854 -0.423475 -0.299753 +vn 0.838832 -0.506485 -0.199438 +vn 0.840815 -0.487594 -0.235023 +vn -0.813501 -0.055849 -0.578845 +vn -0.919340 -0.020844 -0.392865 +vn 0.050783 -0.998291 -0.028291 +vn 0.012268 -0.999878 -0.006653 +vn 0.007874 -0.999725 -0.020692 +vn 0.030793 -0.999512 -0.003632 +vn 0.785150 0.097751 -0.611530 +vn 0.836879 0.113224 -0.535508 +vn 0.820917 0.115452 -0.559191 +vn -0.032746 -0.999359 -0.014039 +vn 0.007752 -0.999725 -0.020844 +vn -0.027955 -0.999603 -0.002655 +vn 0.815394 -0.288888 -0.501633 +vn -0.103519 0.135838 -0.985290 +vn -0.067141 0.108097 -0.991852 +vn -0.043001 0.145909 -0.988342 +vn 0.685263 -0.030763 -0.727622 +vn 0.707602 -0.040956 -0.705405 +vn 0.639088 -0.161229 -0.752037 +vn 0.613056 -0.249275 -0.749626 +vn 0.503098 -0.195379 -0.841823 +vn 0.107578 -0.806238 -0.581683 +vn 0.831599 -0.251991 -0.494888 +vn -0.364757 -0.889279 0.275826 +vn -0.410749 -0.881314 0.233467 +vn -0.363384 -0.879360 0.307596 +vn 0.140690 -0.752495 -0.643361 +vn 0.038148 -0.987091 -0.155370 +vn -0.203253 -0.454787 -0.867061 +vn -0.170873 -0.012818 -0.985198 +vn -0.066439 -0.068087 -0.995453 +vn -0.449477 0.891781 0.051668 +vn -0.990631 -0.031648 -0.132633 +vn -0.896176 -0.145085 0.419233 +vn 0.731132 -0.133976 -0.668905 +vn 0.638325 0.030427 -0.769127 +vn 0.823542 0.055208 -0.564531 +vn 0.824915 -0.069247 -0.560961 +vn 0.823664 0.148473 -0.547288 +vn 0.977874 0.093478 0.187078 +vn -0.104740 0.943388 -0.314615 +vn -0.664388 0.680685 0.308512 +vn -0.845607 0.465285 0.261605 +vn -0.791803 0.549120 0.267373 +vn -0.120487 -0.948851 0.291696 +vn 0.935362 -0.290841 -0.201147 +vn -0.805475 0.484359 -0.341380 +vn 0.597400 -0.641285 -0.481460 +vn 0.671499 -0.690817 -0.267953 +vn 0.572039 -0.677114 -0.462844 +vn -0.889523 0.258400 0.376690 +vn -0.854701 0.307321 0.418287 +vn -0.910092 0.225318 0.347758 +vn -0.271340 0.740593 -0.614673 +vn -0.914335 0.373516 0.156285 +vn 0.710990 -0.294809 -0.638356 +vn 0.629749 -0.583178 -0.513108 +vn -0.884671 -0.133946 -0.446547 +vn -0.958617 -0.074984 -0.274575 +vn 0.700156 -0.646901 -0.302133 +vn -0.920103 0.280709 0.273110 +vn -0.932401 0.297830 0.204627 +vn -0.721885 -0.138585 -0.677969 +vn -0.794733 -0.178411 -0.580126 +vn -0.154057 -0.508408 0.847194 +vn -0.166631 -0.499496 0.850093 +vn -0.113346 -0.657460 0.744896 +vn 0.830897 -0.009339 -0.556291 +vn 0.849391 -0.021546 -0.527268 +vn 0.873104 0.000214 -0.487472 +vn 0.856410 -0.506058 -0.102115 +vn 0.859890 0.160924 -0.484390 +vn 0.769463 0.200049 -0.606525 +vn 0.789758 0.339457 -0.510849 +vn 0.761834 -0.621387 -0.182867 +vn 0.762719 -0.612079 -0.208747 +vn 0.711753 -0.675130 -0.193823 +vn -0.621815 -0.767266 -0.156804 +vn 0.677877 0.360607 -0.640614 +vn 0.695242 0.348735 -0.628468 +vn -0.818567 -0.524338 -0.234474 +vn -0.811914 -0.539781 -0.222205 +vn -0.690085 -0.677938 -0.253243 +vn -0.909177 -0.138310 -0.392743 +vn -0.918210 -0.151860 -0.365764 +vn -0.898190 -0.291940 -0.328593 +vn -0.902219 0.426618 0.062807 +vn -0.863582 0.501968 0.046907 +vn -0.964446 0.239509 0.111454 +vn 0.532090 -0.842402 0.084658 +vn 0.508103 -0.858821 0.064852 +vn -0.897916 0.270150 -0.347453 +vn -0.901395 0.264107 -0.343028 +vn -0.875179 0.279092 -0.395123 +vn -0.946959 0.320109 -0.027924 +vn -0.928892 0.367809 0.042604 +vn 0.761162 -0.303751 -0.572985 +vn 0.779778 -0.259346 -0.569781 +vn -0.055177 0.358806 -0.931761 +vn -0.139164 0.309153 -0.940764 +vn 0.032105 0.174474 -0.984130 +vn -0.835200 -0.441145 -0.328257 +vn -0.831355 -0.403577 -0.381970 +vn 0.968719 -0.202918 -0.142796 +vn -0.381481 0.796747 0.468612 +vn -0.346568 0.881893 0.319529 +vn 0.988983 -0.120975 -0.084964 +vn 0.998138 0.021393 -0.056642 +vn 0.978576 0.205390 0.012909 +vn -0.793817 0.535661 0.287881 +vn -0.525742 0.349467 -0.775506 +vn -0.568255 -0.409619 -0.713614 +vn -0.222327 0.024689 -0.974639 +vn -0.659536 0.652364 0.373333 +vn -0.576098 0.753105 0.317667 +vn -0.644734 0.681448 0.346233 +vn -0.271920 0.755028 -0.596606 +vn -0.271462 0.669912 -0.691000 +vn -0.361888 0.647206 -0.670888 +vn 0.815058 -0.521165 -0.252998 +vn 0.832423 -0.508194 -0.220801 +vn 0.873379 -0.459151 -0.162236 +vn -0.979003 0.202002 -0.026734 +vn -0.971618 0.233222 -0.039247 +vn 0.781365 -0.575884 -0.240364 +vn 0.849208 -0.502853 -0.161016 +vn 0.857753 -0.495865 -0.135380 +vn 0.857143 -0.494003 -0.145573 +vn 0.609516 -0.754967 -0.241768 +vn 0.734825 -0.639271 -0.226569 +vn 0.619526 -0.750481 -0.230018 +vn 0.756676 -0.620960 -0.204413 +vn 0.857997 -0.491256 -0.149907 +vn 0.870846 -0.463668 -0.163152 +vn 0.856838 -0.495804 -0.141362 +vn 0.617389 -0.730949 -0.290658 +vn 0.799280 -0.567400 -0.197943 +vn -0.959014 0.176275 -0.221809 +vn -0.918180 0.261147 -0.297830 +vn 0.864284 -0.324046 -0.384655 +vn 0.856471 -0.373486 -0.356273 +vn -0.935514 -0.196295 -0.293710 +vn -0.978271 -0.052583 -0.200415 +vn -0.024415 0.192602 -0.980956 +vn -0.251534 -0.368786 -0.894803 +vn -0.279458 -0.303812 -0.910794 +vn -0.904263 -0.236518 -0.355419 +vn -0.975646 -0.195074 -0.100070 +vn 0.966887 -0.229408 -0.111576 +vn 0.930845 -0.307810 -0.196814 +vn 0.753319 0.231910 -0.615375 +vn 0.777856 0.189886 -0.599017 +vn 0.743614 0.152501 -0.650929 +vn 0.750145 -0.351604 -0.560015 +vn 0.776788 -0.124790 -0.617237 +vn 0.765038 0.168615 -0.621479 +vn 0.805078 0.153264 -0.572985 +vn 0.804193 -0.166540 -0.570513 +vn -0.947142 0.153264 -0.281777 +vn -0.918607 0.154088 -0.363842 +vn -0.418531 0.834529 -0.358287 +vn -0.252205 -0.459090 -0.851802 +vn -0.277291 -0.405621 -0.870937 +vn -0.468123 0.695425 0.545122 +vn -0.523301 0.680135 0.513352 +vn -0.575060 0.584124 0.572741 +vn -0.803766 -0.531571 -0.267159 +vn -0.888272 -0.363659 -0.280465 +vn 0.789788 -0.150609 -0.594562 +vn 0.816431 -0.167028 -0.552721 +vn -0.065645 0.520737 -0.851161 +vn -0.146519 0.535142 -0.831935 +vn -0.195990 0.598132 -0.777032 +vn -0.965117 -0.061892 -0.254372 +vn 0.790002 -0.169500 -0.589190 +vn -0.979583 -0.195379 -0.047029 +vn -0.944792 0.130711 -0.300394 +vn -0.860408 0.077334 -0.503647 +vn -0.963927 0.265938 0.009339 +vn -0.944517 0.296182 0.141820 +vn -0.933042 0.353252 0.067843 +vn 0.039735 -0.999054 -0.016907 +vn 0.017335 -0.999329 -0.031526 +vn 0.007752 -0.999756 -0.020478 +vn 0.918546 0.363170 -0.156041 +vn 0.074557 -0.996063 -0.047517 +vn 0.035768 -0.999023 -0.025300 +vn 0.052339 -0.996887 -0.058535 +vn 0.848018 0.419446 -0.323862 +vn -0.951811 0.264168 0.155705 +vn -0.962615 0.158696 0.219398 +vn -0.984924 0.122929 0.121494 +vn 0.113315 0.950865 -0.288003 +vn 0.257912 0.897366 -0.357982 +vn 0.180334 0.908902 -0.375958 +vn -0.869991 0.440107 0.222205 +vn -0.842158 0.509140 0.177374 +vn -0.165929 -0.316538 -0.933927 +vn -0.247536 -0.251137 -0.935728 +vn -0.729698 0.676778 -0.097293 +vn -0.956511 -0.003479 0.291635 +vn -0.937346 -0.084689 0.337901 +vn 0.626881 0.057619 -0.776971 +vn -0.768029 0.404096 0.496811 +vn -0.606708 0.563524 0.560594 +vn -0.673513 0.535417 0.509568 +vn -0.939421 0.310831 -0.144444 +vn -0.664571 0.600208 -0.444990 +vn -0.606647 0.632588 -0.481399 +vn 0.708335 -0.689077 -0.152959 +vn -0.014893 -0.754814 -0.655721 +vn 0.012085 -0.980316 -0.196936 +vn 0.706198 -0.535752 -0.462813 +vn 0.731498 -0.475631 -0.488510 +vn 0.690085 -0.517014 -0.506394 +vn 0.812403 -0.557817 -0.169652 +vn 0.780053 -0.576525 -0.243080 +vn 0.776574 -0.415479 -0.473525 +vn 0.760552 -0.451491 -0.466536 +vn 0.753227 -0.434004 -0.494186 +vn 0.770562 -0.366070 -0.521744 +vn 0.796136 -0.368480 -0.479965 +vn -0.964690 -0.174474 -0.197241 +vn -0.977691 -0.097110 -0.186193 +vn 0.786462 -0.244789 -0.567034 +vn 0.846370 -0.239845 -0.475478 +vn -0.633320 -0.524461 -0.569018 +vn -0.618976 -0.573565 -0.536515 +vn -0.674337 -0.425062 -0.603809 +vn 0.851772 -0.141240 -0.504440 +vn 0.816126 -0.212165 -0.537461 +vn 0.794855 -0.153172 -0.587115 +vn 0.635853 -0.719871 -0.278268 +vn 0.841884 -0.492508 -0.220466 +vn 0.738853 -0.254219 -0.624043 +vn 0.196753 0.641316 -0.741569 +vn 0.104587 0.660146 -0.743767 +vn 0.132145 0.655416 -0.743584 +vn 0.452132 -0.491562 -0.744224 +vn 0.480880 -0.335765 -0.809931 +vn 0.047609 -0.997101 -0.059114 +vn -0.008332 -0.999634 -0.025544 +vn 0.011780 -0.999054 -0.041841 +vn 0.042879 -0.998260 -0.040345 +vn 0.003845 -0.999451 -0.032472 +vn -0.881954 -0.428785 -0.195624 +vn -0.907895 -0.369488 -0.197913 +vn -0.735984 -0.675069 0.050600 +vn 0.455428 -0.627613 0.631367 +vn 0.308878 -0.611805 0.728172 +vn 0.495834 -0.504868 0.706565 +vn -0.435865 0.897122 -0.071718 +vn -0.008972 -0.998535 -0.052980 +vn -0.385296 0.888028 -0.250771 +vn 0.105838 -0.987701 0.114994 +vn -0.894436 -0.210974 -0.394238 +vn -0.885403 -0.020692 -0.464339 +vn 0.925199 -0.318674 -0.206000 +vn -0.121830 0.814173 -0.567644 +vn -0.134861 0.818293 -0.558733 +vn 0.135655 0.653249 -0.744865 +vn 0.142521 0.654744 -0.742271 +vn 0.062868 0.686636 -0.724235 +vn -0.362621 0.900327 0.240608 +vn -0.831965 -0.508286 -0.222327 +vn 0.696310 -0.182562 -0.694113 +vn -0.941343 -0.044740 -0.334422 +vn -0.965178 0.067660 -0.252571 +vn -0.946532 -0.131260 -0.294595 +vn -0.965636 -0.125675 -0.227424 +vn -0.966369 -0.195257 -0.167211 +vn -0.955443 -0.200995 -0.216041 +vn -0.962798 -0.151128 -0.223945 +vn -0.842830 -0.503128 -0.190863 +vn -0.968810 -0.188360 -0.160955 +vn -0.928800 -0.317637 -0.190802 +vn -0.955168 0.120640 -0.270302 +vn 0.855678 0.196631 -0.478652 +vn -0.133244 -0.374554 -0.917570 +vn -0.942198 0.239723 0.234046 +vn -0.893155 0.273019 0.357341 +vn -0.857295 0.354564 0.373241 +vn 0.992615 -0.103305 -0.063478 +vn 0.998779 -0.042634 -0.024293 +vn 0.809412 -0.196356 -0.553392 +vn 0.860439 -0.202948 -0.467360 +vn 0.827418 -0.283212 -0.484878 +vn 0.750114 -0.160436 -0.641530 +vn -0.917478 0.226020 -0.327280 +vn 0.852168 -0.196844 -0.484787 +vn 0.611072 -0.462233 -0.642537 +vn 0.671377 0.082217 -0.736503 +vn 0.631886 0.180364 -0.753746 +vn 0.425092 0.829829 -0.361461 +vn 0.291513 -0.928465 -0.230110 +vn 0.955199 -0.238624 -0.174932 +vn 0.979919 -0.147282 -0.134281 +vn 0.993133 -0.025605 -0.114109 +vn -0.887539 -0.067171 -0.455794 +vn 0.802026 -0.161016 -0.575152 +vn 0.813349 -0.160558 -0.559130 +vn 0.856563 -0.336619 -0.391095 +vn 0.834101 -0.275124 -0.478072 +vn -0.806146 -0.574877 -0.139988 +vn -0.910611 -0.383618 0.153539 +vn 0.821589 -0.510758 -0.253121 +vn 0.770470 -0.585040 -0.253029 +vn -0.931516 -0.316141 -0.179724 +vn -0.261422 0.482589 -0.835871 +vn -0.292520 0.474197 -0.830378 +vn -0.293405 0.544603 -0.785668 +vn 0.984344 0.174841 -0.021455 +vn 0.941893 0.335795 -0.003998 +vn -0.222083 0.635639 -0.739311 +vn -0.264595 0.561266 -0.784173 +vn -0.266427 0.598621 -0.755394 +vn -0.051943 0.854671 -0.516526 +vn -0.090701 0.852931 -0.514023 +vn 0.002899 0.849086 -0.528214 +vn -0.659719 -0.742973 0.112888 +vn -0.591479 -0.792047 0.150853 +vn -0.952513 -0.192724 0.235664 +vn -0.911161 -0.201178 0.359539 +vn -0.829463 0.348766 0.436232 +vn -0.620502 0.769219 -0.152470 +vn -0.864742 -0.230415 0.446150 +vn -0.881802 -0.233772 0.409528 +vn 0.714469 -0.125645 -0.688284 +vn -0.854671 0.399731 0.331217 +vn 0.636280 -0.138066 -0.758965 +vn 0.690512 -0.304239 -0.656178 +vn -0.059481 -0.358715 -0.931547 +vn 0.994781 -0.093600 -0.040345 +vn 0.834864 -0.150395 -0.529466 +vn -0.082308 0.197394 -0.976836 +vn -0.866115 0.295175 -0.403333 +vn 0.049074 -0.699576 -0.712821 +vn 0.128788 -0.719474 -0.682424 +vn 0.039033 -0.975341 -0.217170 +vn 0.989227 -0.146184 0.005493 +vn -0.593707 -0.018677 -0.804437 +vn -0.624836 -0.095248 -0.774895 +vn -0.731986 -0.147588 -0.665120 +vn -0.005402 -0.997192 0.074496 +vn -0.021546 -0.996887 0.075777 +vn 0.048067 -0.958434 -0.281167 +vn 0.846339 0.374126 -0.379070 +vn 0.825800 0.441359 -0.351024 +vn 0.623646 -0.751061 -0.216620 +vn 0.838527 -0.481155 -0.255593 +vn -0.958953 0.250771 -0.132145 +vn -0.569536 0.801202 0.183508 +vn 0.589007 -0.265816 -0.763115 +vn 0.673391 -0.055483 -0.737175 +vn 0.040529 0.417798 -0.907620 +vn 0.454634 -0.866054 0.207862 +vn 0.071474 -0.994568 0.075503 +vn -0.941801 0.335734 0.016236 +vn -0.681112 0.223243 -0.697287 +vn -0.590869 -0.066775 -0.803980 +vn 0.135014 0.641957 -0.754723 +vn 0.086154 0.588275 -0.804041 +vn 0.078310 0.616749 -0.783227 +vn -0.059114 0.589923 -0.805261 +vn -0.450575 0.730827 -0.512650 +vn -0.386822 0.750450 -0.535844 +vn -0.910001 0.383801 -0.156682 +vn -0.943815 0.294870 0.149113 +vn 0.250984 0.550371 -0.796258 +vn 0.165319 0.734733 -0.657857 +vn 0.123844 0.668966 -0.732871 +vn 0.013428 0.835109 -0.549883 +vn 0.752525 0.163823 -0.637837 +vn 0.787378 0.127018 -0.603198 +vn -0.649342 -0.716269 -0.255531 +vn -0.945860 0.283670 -0.157628 +vn -0.780480 -0.354839 -0.514695 +vn -0.793786 -0.280068 -0.539811 +vn -0.719291 -0.584582 -0.375286 +vn -0.842128 -0.060884 -0.535813 +vn -0.814997 -0.054445 -0.576861 +vn -0.822810 0.566332 0.047060 +vn -0.844234 0.521378 -0.123966 +vn -0.832820 0.529954 0.159764 +vn -0.424207 -0.905393 -0.016358 +vn -0.897092 -0.015412 -0.441542 +vn -0.868465 -0.120975 -0.480728 +vn -0.921293 0.094119 0.377239 +vn 0.998321 0.042787 0.038301 +vn 0.993713 0.096042 0.056978 +vn 0.780206 -0.294229 -0.551958 +vn 0.808100 -0.252205 -0.532273 +vn 0.891476 -0.258400 -0.372082 +vn -0.272256 0.917417 -0.290139 +vn -0.897885 -0.234077 0.372784 +vn -0.063875 0.932798 -0.354595 +vn -0.035432 0.909513 -0.414106 +vn -0.082858 0.913511 -0.398206 +vn 0.148015 0.955260 -0.255959 +vn 0.220099 0.951750 -0.213691 +vn 0.221534 0.930418 -0.291879 +vn 0.776543 -0.251198 -0.577807 +vn 0.787378 -0.220527 -0.575610 +vn -0.707389 -0.552873 -0.440321 +vn -0.725974 -0.497269 -0.474990 +vn -0.922086 0.208228 -0.326121 +vn 0.684896 0.057344 -0.726341 +vn 0.749748 0.103977 -0.653462 +vn 0.770287 0.150945 -0.619526 +vn 0.657521 0.161565 -0.735893 +vn 0.806513 -0.146184 -0.572832 +vn -0.406140 0.764306 0.500870 +vn -0.439833 0.710166 0.549669 +vn -0.373394 0.778008 0.505173 +vn 0.818598 -0.180853 -0.545091 +vn -0.859890 0.476974 -0.181829 +vn -0.953490 0.168645 -0.249763 +vn 0.394330 -0.879849 -0.265175 +vn 0.326579 -0.870632 -0.367870 +vn -0.803034 -0.523667 0.284402 +vn -0.667714 -0.703665 0.242897 +vn -0.677541 -0.703726 0.213630 +vn -0.628498 -0.752678 0.196020 +vn 0.869869 0.305063 -0.387585 +vn 0.953734 0.065035 -0.293435 +vn 0.124088 -0.702384 -0.700858 +vn 0.045228 -0.972015 -0.230506 +vn 0.341258 -0.510636 0.789148 +vn -0.012299 -0.987304 0.158208 +vn -0.090335 -0.978668 0.184484 +vn -0.009980 -0.999359 0.033601 +vn 0.371960 0.751610 -0.544694 +vn 0.814966 0.410901 -0.408612 +vn 0.794549 0.356365 -0.491562 +vn -0.024079 -0.982604 0.184118 +vn -0.049471 -0.847652 0.528214 +vn 0.077303 0.823573 -0.561876 +vn -0.024323 0.839106 -0.543382 +vn 0.034425 0.782250 -0.621967 +vn 0.231147 0.755242 -0.613300 +vn 0.182684 0.845790 -0.501236 +vn 0.200171 0.780877 -0.591723 +vn 0.149113 0.790796 -0.593585 +vn -0.733299 -0.341716 -0.587756 +vn -0.733360 -0.345958 -0.585192 +vn -0.688192 -0.338389 -0.641743 +vn 0.997681 0.002136 0.067629 +vn -0.806574 0.022156 -0.590686 +vn 0.757927 0.561296 -0.332347 +vn 0.746940 0.576983 -0.330363 +vn 0.711112 0.603839 -0.360088 +vn 0.654012 -0.756462 -0.001556 +vn 0.816370 -0.159551 -0.555040 +vn -0.383343 0.489120 -0.783410 +vn -0.410871 0.481277 -0.774285 +vn -0.397015 0.551134 -0.733909 +vn -0.901791 0.053774 -0.428785 +vn 0.803491 0.204749 -0.558946 +vn 0.133580 0.356273 -0.924772 +vn 0.168981 0.395337 -0.902829 +vn 0.149968 0.685476 -0.712424 +vn 0.590838 -0.780236 -0.205176 +vn 0.124790 -0.674581 -0.727531 +vn 0.024873 -0.970489 -0.239753 +vn 0.836512 -0.522446 -0.165136 +vn -0.985473 -0.060976 -0.158422 +vn 0.610004 0.518845 -0.598865 +vn 0.591662 0.539811 -0.598743 +vn 0.593219 0.492325 -0.636891 +vn 0.354411 0.155217 -0.922086 +vn 0.333537 0.187689 -0.923856 +vn 0.626270 -0.659169 0.416211 +vn -0.356517 0.923795 -0.139439 +vn -0.360759 0.932340 -0.023133 +vn 0.783532 -0.487960 0.384594 +vn 0.695669 -0.319987 -0.643117 +vn -0.889889 0.271950 0.366161 +vn 0.516465 -0.234870 -0.823420 +vn 0.609180 -0.283517 -0.740593 +vn 0.692404 -0.368633 -0.620197 +vn 0.742119 -0.178777 -0.645924 +vn 0.497177 -0.217444 -0.839930 +vn 0.863186 0.051668 -0.502213 +vn 0.839137 0.140629 -0.525376 +vn 0.850429 0.092044 -0.517930 +vn -0.316904 0.196356 -0.927885 +vn -0.342784 -0.018342 -0.939207 +vn -0.995361 -0.058962 -0.075686 +vn -0.236946 0.288430 -0.927702 +vn 0.976562 0.185888 0.108341 +vn 0.989776 0.133488 0.049776 +vn -0.886868 -0.383923 0.256966 +vn 0.999756 0.016449 -0.014252 +vn -0.911313 -0.345134 0.224342 +vn -0.878689 -0.352794 0.321574 +vn -0.917753 -0.224433 0.327586 +vn 0.938566 0.313089 0.145054 +vn -0.316965 -0.141240 -0.937834 +vn -0.771722 0.619190 0.145054 +vn -0.791955 0.563768 0.234321 +vn -0.359355 0.537126 -0.763085 +vn -0.302774 0.492721 -0.815790 +vn -0.331614 0.522141 -0.785730 +vn 0.977844 -0.161565 -0.133000 +vn 0.379650 -0.912839 0.150090 +vn 0.206732 -0.975768 0.071261 +vn 0.146123 -0.989227 0.005158 +vn 0.424940 -0.888455 0.173315 +vn 0.403058 -0.908231 0.112369 +vn 0.219123 -0.971099 0.094394 +vn -0.793023 -0.552507 0.256508 +vn 0.145756 -0.986145 0.079073 +vn 0.101657 -0.992737 0.064089 +vn -0.932249 -0.270119 0.240608 +vn -0.961669 0.221961 -0.160924 +vn 0.754204 -0.267830 -0.599506 +vn 0.809473 -0.174566 -0.560533 +vn -0.810022 -0.130924 -0.571581 +vn -0.975555 0.026734 -0.218024 +vn 0.884732 -0.342631 -0.315897 +vn 0.860134 -0.353465 -0.367687 +vn 0.813807 -0.491256 -0.310373 +vn 0.051820 0.883816 -0.464919 +vn 0.103336 0.882260 -0.459243 +vn 0.054659 0.875698 -0.479720 +vn 0.535447 0.069094 -0.841700 +vn 0.404706 0.087771 -0.910215 +vn 0.564928 0.196722 -0.801294 +vn 0.070132 0.757286 -0.649281 +vn 0.132664 0.754112 -0.643178 +vn 0.101444 0.737999 -0.667074 +vn 0.125767 0.944365 -0.303842 +vn 0.009735 0.956664 -0.290994 +vn -0.987579 0.144169 0.062044 +vn -0.937925 -0.284036 -0.199011 +vn -0.752037 -0.656850 0.054170 +vn -0.901395 -0.408551 -0.143193 +vn 0.543138 -0.221168 -0.809961 +vn 0.712973 -0.368786 -0.596332 +vn -0.956664 -0.085391 0.278359 +vn -0.954558 -0.160253 0.251167 +vn -0.693716 -0.575335 -0.433210 +vn 0.785730 0.119327 -0.606891 +vn 0.693045 0.133335 -0.708426 +vn -0.613941 0.571673 -0.544267 +vn -0.495743 0.660695 -0.563616 +vn -0.495254 0.593402 -0.634480 +vn 0.706381 0.263924 -0.656728 +vn 0.710257 0.111423 -0.695029 +vn -0.963958 -0.135655 0.228797 +vn -0.998474 0.053926 -0.011322 +vn 0.983551 0.072024 0.165471 +vn -0.223395 -0.304239 0.925993 +vn -0.139592 -0.611164 0.779077 +vn 0.954863 -0.256722 -0.149236 +vn 0.977752 -0.160222 -0.135197 +vn 0.991546 -0.046999 -0.120792 +vn 0.991882 0.120304 -0.040437 +vn 0.033631 -0.658528 -0.751762 +vn 0.072817 -0.965331 -0.250557 +vn 0.997467 -0.033418 0.062410 +vn -0.957671 0.284433 0.044038 +vn -0.930692 0.360149 0.063936 +vn 0.944731 0.246437 0.216132 +vn -0.938444 0.340098 0.060060 +vn -0.014557 -0.618702 -0.785455 +vn 0.082400 -0.960173 -0.266884 +vn 0.935667 -0.011567 -0.352611 +vn 0.943602 0.068789 -0.323832 +vn 0.231056 0.368023 -0.900632 +vn -0.966735 -0.013123 0.255348 +vn -0.026856 0.655873 -0.754357 +vn 0.836390 -0.107303 -0.537492 +vn 0.655660 -0.666616 0.354503 +vn 0.547288 -0.716758 0.432051 +vn 0.549303 -0.331828 -0.766869 +vn 0.726249 0.114444 -0.677816 +vn -0.963683 0.263161 -0.044801 +vn 0.705832 -0.007599 -0.708304 +vn 0.719443 -0.281411 -0.634938 +vn 0.727500 -0.303873 -0.615131 +vn 0.696768 -0.382153 -0.606983 +vn 0.734764 -0.401746 -0.546495 +vn 0.101260 -0.991852 0.077120 +vn 0.889859 0.027528 -0.455367 +vn 0.096103 -0.932279 -0.348643 +vn 0.119297 -0.961760 -0.246437 +vn 0.033906 -0.999176 -0.021393 +vn 0.019318 -0.999725 -0.012940 +vn 0.143406 -0.978790 -0.146184 +vn 0.401624 -0.875301 -0.269295 +vn -0.564745 0.243751 -0.788415 +vn -0.256935 0.238197 -0.936583 +vn -0.644551 0.243263 -0.724784 +vn -0.641102 0.298898 -0.706839 +vn -0.666341 0.287912 -0.687765 +vn 0.976470 0.140996 0.163121 +vn 0.985046 0.086032 0.149113 +vn 0.916593 0.328806 0.227424 +vn 0.968932 0.161504 0.187292 +vn 0.865688 -0.492477 -0.089602 +vn 0.844264 -0.506027 -0.176336 +vn 0.787530 -0.577715 -0.214423 +vn 0.775384 -0.597247 -0.205023 +vn 0.830042 -0.475753 -0.290902 +vn 0.821497 -0.495834 -0.281503 +vn 0.790796 -0.529313 -0.307260 +vn 0.747398 -0.567278 -0.345744 +vn 0.868129 -0.194281 -0.456710 +vn 0.885311 -0.198675 -0.420392 +vn 0.879421 -0.230232 -0.416608 +vn 0.864742 -0.213111 -0.454695 +vn 0.869411 -0.148564 -0.471206 +vn 0.879299 -0.157964 -0.449263 +vn 0.706839 -0.684408 0.178655 +vn 0.623920 -0.754753 0.202460 +vn 0.123905 0.936796 -0.327097 +vn -0.265633 -0.936918 0.227149 +vn -0.202704 -0.967254 0.152623 +vn -0.521744 -0.743278 0.418683 +vn -0.905240 0.285531 -0.314554 +vn 0.817469 -0.550310 -0.169866 +vn -0.958800 -0.270943 0.085177 +vn 0.972930 -0.230964 -0.002319 +vn 0.773095 -0.314646 -0.550676 +vn 0.742637 -0.220344 -0.632374 +vn 0.740989 -0.187384 -0.644795 +vn -0.978729 -0.204901 0.008362 +vn 0.828150 -0.519974 -0.209174 +vn -0.937620 0.181494 -0.296457 +vn 0.882290 -0.427808 -0.196173 +vn 0.724021 -0.635029 -0.269204 +vn -0.851222 -0.311167 -0.422559 +vn -0.983520 0.002228 0.180670 +vn -0.934049 0.164983 0.316630 +vn -0.980926 0.097659 0.167943 +vn 0.801752 0.074099 -0.593005 +vn 0.728935 0.098514 -0.677419 +vn -0.053133 -0.998444 0.015717 +vn 0.036256 -0.999115 0.020844 +vn -0.088076 0.918882 -0.384533 +vn -0.060457 0.892880 -0.446181 +vn -0.118168 0.895047 -0.429975 +vn -0.380139 0.788202 -0.483932 +vn 0.127567 -0.823786 -0.552293 +vn 0.174963 -0.946287 -0.271798 +vn 0.091281 -0.972533 -0.213996 +vn -0.639760 0.447981 0.624500 +vn -0.837397 -0.012024 0.546434 +vn -0.725516 0.474776 0.498154 +vn -0.681204 -0.453505 0.574694 +vn -0.684957 -0.604022 0.407331 +vn -0.764092 -0.044679 0.643544 +vn 0.815729 -0.382946 -0.433454 +vn 0.877163 -0.219977 -0.426771 +vn -0.291879 0.783166 -0.548997 +vn -0.288491 0.879116 -0.379284 +vn -0.382305 0.877346 -0.289956 +vn 0.967254 -0.250954 -0.037782 +vn 0.977660 -0.210089 -0.003113 +vn -0.153142 -0.876980 -0.455397 +vn 0.914884 0.372356 0.155828 +vn 0.975555 0.194708 0.101749 +vn 0.834254 0.551103 0.015473 +vn -0.958983 0.244209 0.143742 +vn 0.339152 -0.489059 -0.803583 +vn 0.329325 -0.242225 -0.912595 +vn 0.249336 -0.728050 -0.638539 +vn -0.951018 -0.309030 -0.002686 +vn 0.922300 0.234199 0.307352 +vn 0.934080 0.180334 -0.308115 +vn -0.917173 0.083621 -0.389538 +vn 0.768914 0.043550 -0.637837 +vn 0.815363 -0.057405 -0.576067 +vn -0.797754 -0.569292 0.198645 +vn 0.380322 0.790277 -0.480422 +vn 0.324686 0.808679 -0.490493 +vn 0.355235 0.791314 -0.497604 +vn 0.136387 -0.987182 -0.082797 +vn -0.057527 -0.927274 0.369854 +vn -0.065889 -0.921720 0.382153 +vn 0.026948 -0.998474 0.047761 +vn -0.187139 -0.909513 0.371136 +vn -0.204352 -0.821192 0.532762 +vn 0.658284 -0.699667 0.277657 +vn 0.559893 -0.785638 0.263161 +vn -0.408307 0.745567 0.526627 +vn -0.398450 0.733757 0.550249 +vn 0.809229 0.189184 -0.556139 +vn 0.805444 0.149144 -0.573565 +vn -0.809351 -0.557817 -0.183721 +vn 0.772607 -0.218329 -0.596118 +vn 0.218268 0.304666 -0.927091 +vn 0.333262 0.336802 -0.880612 +vn 0.230415 0.390271 -0.891385 +vn 0.049409 0.325297 -0.944304 +vn -0.365093 0.216803 -0.905332 +vn -0.039369 -0.407453 -0.912351 +vn 0.591296 -0.736717 -0.327982 +vn 0.585467 -0.731712 -0.348918 +vn 0.876980 -0.234931 -0.419141 +vn 0.858608 -0.230781 -0.457717 +vn 0.893704 -0.284616 -0.346782 +vn 0.641469 -0.719993 -0.264779 +vn 0.881710 -0.261788 -0.392438 +vn 0.043916 -0.998260 -0.038514 +vn 0.003723 -0.999481 -0.031739 +vn 0.017396 -0.999329 -0.031770 +vn -0.859218 0.063631 -0.507614 +vn -0.974670 -0.090976 -0.204138 +vn 0.757317 -0.415357 -0.503891 +vn 0.721427 -0.499466 -0.479598 +vn 0.771081 -0.493088 -0.402753 +vn 0.743706 -0.519486 -0.420698 +vn 0.744133 -0.508469 -0.433241 +vn -0.917051 -0.317667 0.240974 +vn 0.845607 -0.497360 -0.193793 +vn -0.891140 0.394055 0.224860 +vn -0.690481 -0.154027 -0.706748 +vn -0.909482 -0.018464 -0.415265 +vn -0.778619 -0.146214 -0.610187 +vn -0.711966 -0.309885 -0.630116 +vn -0.951720 0.115848 -0.284249 +vn -0.750786 -0.660451 -0.006561 +vn -0.800287 -0.596332 0.062563 +vn 0.979919 0.156560 0.123264 +vn 0.918912 -0.098849 -0.381817 +vn 0.917234 -0.101566 -0.385144 +vn 0.905087 -0.154912 -0.395978 +vn 0.908841 -0.167547 -0.381939 +vn 0.820704 -0.497757 -0.280435 +vn 0.780633 -0.538957 -0.316385 +vn 0.234321 -0.916166 -0.325114 +vn 0.243294 -0.701590 0.669698 +vn 0.368023 -0.727073 0.579516 +vn 0.940428 -0.296335 -0.166509 +vn 0.974578 -0.170446 -0.145299 +vn 0.989105 -0.084384 -0.120518 +vn 0.998444 0.046297 -0.030885 +vn 0.966033 0.244789 0.082522 +vn 0.904172 0.271371 0.329844 +vn 0.855586 0.495346 0.150090 +vn 0.829432 0.531358 0.172155 +vn -0.962157 -0.266671 0.055879 +vn -0.882138 0.255226 -0.395734 +vn -0.836299 0.454970 -0.305856 +vn -0.852657 0.319620 -0.413251 +vn -0.968780 0.063997 0.239418 +vn -0.893429 -0.428785 0.133793 +vn -0.911954 -0.399304 0.093997 +vn -0.954375 -0.188940 0.231178 +vn 0.927488 0.013489 -0.373547 +vn 0.885128 0.026887 -0.464522 +vn 0.904508 0.033265 -0.425092 +vn -0.968413 0.117252 0.219947 +vn -0.858486 0.279855 -0.429731 +vn 0.997009 -0.077029 0.002625 +vn -0.577074 -0.787530 -0.216193 +vn -0.490127 -0.810541 -0.320566 +vn -0.239051 -0.934996 -0.261910 +vn 0.304209 -0.552599 -0.775903 +vn 0.648976 -0.727592 0.222236 +vn 0.718619 -0.633961 0.285684 +vn -0.874783 0.422010 0.237892 +vn -0.846950 0.470931 0.246712 +vn -0.973052 0.187841 0.133671 +vn 0.693167 -0.503220 -0.515946 +vn 0.403516 -0.650838 -0.643055 +vn 0.416272 -0.713279 -0.563829 +vn -0.007202 -0.998749 0.049013 +vn -0.012757 -0.999207 0.037294 +vn 0.759575 0.248909 -0.600848 +vn 0.783319 0.234870 -0.575488 +vn 0.758415 0.272439 -0.592059 +vn 0.719260 0.344951 -0.602985 +vn 0.756584 0.295358 -0.583331 +vn -0.420148 0.905148 -0.064272 +vn -0.929807 -0.075533 -0.360149 +vn -0.902799 0.027100 -0.429151 +vn -0.054109 0.154912 -0.986419 +vn -0.879421 -0.464156 -0.105502 +vn -0.868648 0.042238 -0.493576 +vn -0.945769 0.229225 -0.230079 +vn 0.890072 -0.266640 -0.369671 +vn 0.911100 -0.285012 -0.297678 +vn 0.691061 -0.666128 -0.280496 +vn 0.886593 -0.349284 -0.303171 +vn 0.809351 -0.425581 -0.404706 +vn 0.857662 -0.358623 -0.368419 +vn 0.859767 -0.395093 -0.323496 +vn 0.827235 -0.251747 -0.502243 +vn 0.761376 -0.376476 -0.527726 +vn 0.577990 -0.390728 0.716392 +vn -0.962889 -0.205206 0.175207 +vn 0.843837 -0.415448 -0.339610 +vn 0.795892 -0.464278 -0.388501 +vn -0.069552 -0.649037 0.757530 +vn 0.851863 -0.445112 -0.276009 +vn 0.808466 -0.540574 -0.232582 +vn 0.861629 -0.100131 -0.497513 +vn 0.840266 0.001587 -0.542161 +vn 0.957915 0.245125 0.149144 +vn 0.918393 -0.064760 -0.390271 +vn -0.818171 0.251381 0.517075 +vn 0.885617 -0.169530 -0.432325 +vn 0.743309 -0.514328 -0.427686 +vn -0.123295 -0.637928 0.760125 +vn -0.174383 -0.316202 0.932493 +vn 0.997589 0.041871 0.054872 +vn -0.955382 -0.068819 0.287210 +vn -0.818354 -0.006806 0.574633 +vn 0.022462 -0.397687 -0.917203 +vn -0.474349 0.265328 -0.839381 +vn -0.514817 0.270791 -0.813379 +vn -0.557298 0.257149 -0.789453 +vn 0.076174 -0.975005 -0.208625 +vn 0.999786 0.017273 0.009003 +vn 0.995056 -0.098758 -0.010254 +vn 0.983520 0.170507 0.059786 +vn 0.017731 -0.999298 -0.032624 +vn 0.035218 -0.998627 0.038148 +vn -0.000549 -0.999695 0.023530 +vn -0.000549 -0.999695 0.023713 +vn -0.904538 -0.420545 -0.069826 +vn 0.013306 -0.998077 0.060030 +vn -0.163701 -0.971068 0.173803 +vn -0.012421 -0.995697 0.091769 +vn 0.975036 -0.217963 -0.041871 +vn -0.633015 -0.639088 0.436842 +vn -0.661306 -0.621174 0.420423 +vn -0.510330 -0.806360 0.298868 +vn 0.938566 -0.316691 -0.136906 +vn -0.591235 -0.525407 0.611835 +vn -0.956053 0.201147 0.213233 +vn 0.540727 0.292215 -0.788781 +vn 0.515671 0.272195 -0.812372 +vn 0.569933 0.229194 -0.789056 +vn 0.972747 -0.198492 -0.119694 +vn 0.634877 -0.746635 0.198462 +vn 0.714133 -0.646474 0.268410 +vn 0.581500 -0.794977 0.172765 +vn 0.804956 -0.541490 0.242378 +vn -0.969451 0.240547 -0.047731 +vn -0.907102 0.396863 0.140141 +vn -0.373577 0.765099 0.524400 +vn -0.455672 0.745598 0.486221 +vn 0.750298 0.074679 -0.656850 +vn 0.732597 -0.602924 -0.315806 +vn 0.677267 -0.539903 -0.499771 +vn 0.714164 -0.553911 -0.427900 +vn -0.902676 0.325510 -0.281381 +vn -0.901852 0.081179 -0.424268 +vn -0.982849 -0.059145 -0.174627 +vn -0.905515 0.382519 0.183538 +vn -0.883908 0.432020 0.178991 +vn -0.842677 0.141881 -0.519333 +vn -0.846583 0.238105 -0.475997 +vn -0.929502 0.061098 -0.363659 +vn -0.860195 0.071780 -0.504837 +vn -0.977599 0.011750 -0.209998 +vn 0.767266 -0.609851 -0.198370 +vn 0.697836 -0.693258 -0.179846 +vn -0.825739 -0.294046 0.481307 +vn -0.003265 -0.997345 0.072359 +vn -0.021302 -0.996826 0.076540 +vn -0.079745 -0.921690 0.379559 +vn 0.896481 -0.214087 -0.387829 +vn 0.843837 -0.161077 -0.511795 +vn 0.681722 -0.524857 -0.509629 +vn -0.937376 -0.099460 -0.333781 +vn -0.937162 0.112461 -0.330241 +vn 0.098697 -0.666463 0.738945 +vn 0.819056 0.335032 -0.465682 +vn 0.710440 0.290567 -0.640919 +vn 0.992828 -0.115574 -0.030152 +vn 0.998657 0.019715 -0.047304 +vn 0.984375 0.175878 0.008240 +vn 0.032838 -0.972625 -0.229957 +vn -0.940703 0.271279 0.203589 +vn -0.016205 -0.998535 0.051485 +vn -0.067904 -0.982665 0.172399 +vn -0.016388 -0.998535 0.051485 +vn 0.430464 0.399518 -0.809351 +vn 0.475143 0.378185 -0.794458 +vn 0.403546 0.370312 -0.836634 +vn 0.461776 0.566942 -0.682119 +vn 0.570116 0.597400 -0.563952 +vn 0.547533 0.581622 -0.601550 +vn -0.934904 0.317392 0.158696 +vn 0.068026 -0.973693 -0.217414 +vn 0.042116 -0.983947 -0.173254 +vn 0.076754 -0.982482 -0.169713 +vn 0.447615 0.566942 -0.691488 +vn 0.452956 0.660970 -0.598224 +vn 0.496231 0.342936 -0.797571 +vn 0.573779 0.311319 -0.757500 +vn 0.832362 -0.244667 -0.497269 +vn -0.781121 0.083621 -0.618732 +vn -0.277718 0.915830 -0.289926 +vn 0.096011 0.969207 -0.226691 +vn 0.116153 0.971129 -0.208258 +vn -0.109317 -0.987884 0.109989 +vn 0.436323 0.436323 -0.786889 +vn -0.471572 -0.043184 0.880764 +vn -0.445326 -0.157811 0.881314 +vn 0.783227 -0.556566 0.277047 +vn 0.888028 0.386608 0.248787 +vn 0.873501 0.400372 0.276894 +vn 0.954375 0.241462 0.175481 +vn 0.891720 0.169103 0.419782 +vn 0.533158 -0.840663 -0.094821 +vn 0.804865 -0.007599 -0.593371 +vn 0.851924 -0.005249 -0.523606 +vn 0.630818 -0.043886 -0.774651 +vn 0.971984 0.185797 0.143803 +vn -0.906705 0.237953 0.348186 +vn -0.232002 -0.060793 -0.970794 +vn -0.114078 -0.049776 -0.992218 +vn -0.125553 -0.205634 -0.970519 +vn -0.788568 0.596973 -0.147435 +vn -0.744377 0.636647 -0.201300 +vn -0.698660 0.710227 0.086215 +vn 0.737175 -0.481887 -0.473617 +vn 0.661428 -0.158238 -0.733116 +vn 0.633015 -0.233894 -0.737938 +vn 0.774010 -0.440413 -0.454848 +vn 0.769250 -0.453352 -0.450179 +vn -0.387585 0.249031 -0.887539 +vn 0.017518 -0.999329 -0.032014 +vn 0.008606 -0.999725 -0.020386 +vn 0.821467 0.164769 -0.545915 +vn 0.856410 0.111209 -0.504135 +vn 0.310862 -0.871395 -0.379406 +vn 0.928007 -0.017029 -0.372112 +vn 0.919431 0.165716 -0.356548 +vn 0.874630 0.316172 -0.367412 +vn -0.208350 0.191137 -0.959166 +vn 0.059084 0.174596 -0.982849 +vn -0.962615 -0.014466 -0.270455 +vn -0.898587 0.412702 0.148839 +vn 0.858089 -0.241066 -0.453383 +vn 0.809748 -0.109897 -0.576342 +vn 0.409589 0.157476 -0.898556 +vn 0.327250 0.136570 -0.934996 +vn 0.073580 -0.980193 -0.183721 +vn 0.779687 0.596057 0.191748 +vn 0.932737 0.346660 0.099063 +vn -0.900021 0.137700 -0.413495 +vn -0.954741 -0.047884 -0.293497 +vn -0.975524 -0.051210 -0.213813 +vn 0.119846 0.971862 -0.202612 +vn 0.169591 0.955901 -0.239692 +vn 0.139775 0.972381 -0.186743 +vn 0.934477 -0.335307 -0.119358 +vn 0.969024 -0.234260 -0.078158 +vn 0.990661 -0.131687 -0.034608 +vn 0.788018 -0.560808 -0.253883 +vn 0.771569 -0.548662 -0.321909 +vn 0.653279 0.332591 -0.680135 +vn 0.627155 0.445631 -0.638783 +vn 0.644795 0.405072 -0.648152 +vn -0.841700 0.411359 0.349681 +vn 0.644734 0.341166 -0.684011 +vn 0.998901 0.016297 -0.043245 +vn -0.840358 0.393933 -0.372234 +vn -0.885006 0.337870 -0.320261 +vn -0.732933 0.378094 -0.565508 +vn 0.991180 0.129460 0.027650 +vn 0.074557 -0.439222 -0.895260 +vn 0.384960 0.443403 -0.809412 +vn 0.269265 0.483444 -0.832911 +vn 0.212592 0.444533 -0.870144 +vn 0.337016 0.485824 -0.806452 +vn 0.185003 0.416791 -0.889950 +vn -0.980468 -0.159917 -0.114444 +vn -0.887204 0.006775 -0.461257 +vn 0.943480 0.317454 0.095126 +vn 0.720634 -0.656209 0.223731 +vn 0.564409 -0.814264 0.135441 +vn 0.737968 -0.588733 0.329783 +vn -0.985046 -0.120457 -0.123020 +vn -0.181158 0.584277 -0.791040 +vn -0.146886 0.507828 -0.848811 +vn -0.195013 0.599902 -0.775933 +vn 0.274758 0.359416 -0.891781 +vn 0.195105 0.397473 -0.896603 +vn 0.157811 0.529099 -0.833735 +vn 0.216620 0.360454 -0.907254 +vn 0.143437 0.827052 -0.543504 +vn 0.249306 0.814264 -0.524216 +vn 0.151158 0.774316 -0.614460 +vn -0.095737 0.641224 -0.761315 +vn -0.211890 0.643788 -0.735252 +vn -0.888394 -0.455733 -0.055177 +vn 0.734458 0.379223 -0.562761 +vn 0.687857 0.344554 -0.638813 +vn -0.847285 -0.318979 0.424635 +vn -0.965880 0.172338 0.193213 +vn 0.514512 -0.389691 -0.763787 +vn 0.568712 -0.419355 -0.707541 +vn 0.404492 -0.758202 -0.511338 +vn -0.662923 -0.364422 -0.653981 +vn -0.821558 -0.514084 -0.246345 +vn -0.977386 0.041749 -0.207221 +vn -0.980163 -0.020020 -0.197028 +vn 0.823756 -0.235939 -0.515458 +vn 0.837581 -0.188421 -0.512772 +vn 0.034425 0.963469 -0.265511 +vn 0.031709 0.958983 -0.281655 +vn 0.533067 -0.344523 -0.772698 +vn 0.130589 0.280190 -0.950987 +vn 0.102786 0.277535 -0.955168 +vn 0.135624 0.351665 -0.926237 +vn 0.330638 0.421857 -0.844172 +vn 0.347209 0.364147 -0.864162 +vn 0.323954 0.314158 -0.892361 +vn -0.876461 0.106967 -0.469375 +vn 0.374615 0.869839 -0.320963 +vn 0.383709 0.873989 -0.298135 +vn 0.354442 0.901639 -0.247719 +vn 0.924497 0.048219 -0.378094 +vn -0.079409 -0.527818 -0.845607 +vn -0.851436 0.505875 0.138279 +vn -0.853633 -0.425367 0.300577 +vn -0.852870 0.516160 0.078188 +vn -0.889950 0.429212 0.153996 +vn -0.945463 0.185003 0.268014 +vn 0.906674 -0.102603 -0.409101 +vn 0.906583 -0.126682 -0.402478 +vn 0.827815 -0.171880 -0.533952 +vn -0.936613 -0.073366 0.342509 +vn 0.792779 0.004089 -0.609485 +vn 0.042940 -0.898221 0.437391 +vn -0.393384 -0.174200 -0.902676 +vn -0.476638 -0.070956 -0.876186 +vn -0.402326 -0.240303 -0.883389 +vn 0.668661 -0.292917 -0.683401 +vn 0.236244 -0.758507 -0.607318 +vn -0.638325 -0.383892 0.667165 +vn 0.423414 -0.355510 -0.833247 +vn 0.449019 -0.480575 -0.753258 +vn -0.456191 -0.361522 0.813105 +vn 0.866298 0.468032 0.174383 +vn 0.836238 0.528886 -0.144780 +vn 0.838160 0.537156 -0.094424 +vn 0.829035 0.548906 -0.106418 +vn -0.915708 0.387921 -0.104678 +vn -0.204566 0.309183 -0.928709 +vn -0.147588 0.371502 -0.916593 +vn -0.207404 0.069857 -0.975738 +vn 0.101505 -0.736564 -0.668661 +vn 0.571154 0.230140 -0.787896 +vn 0.098819 0.564074 -0.819758 +vn 0.146886 0.572497 -0.806604 +vn 0.048128 0.611133 -0.790033 +vn -0.950255 0.256233 0.176916 +vn -0.940825 0.290078 0.175176 +vn -0.911893 0.368511 0.180639 +vn 0.709067 0.159337 -0.686880 +vn 0.728538 0.057833 -0.682546 +vn 0.645833 0.103366 -0.756432 +vn 0.203162 0.619861 -0.757927 +vn 0.213233 0.505905 -0.835780 +vn 0.139225 0.637013 -0.758141 +vn 0.017548 -0.999329 -0.031922 +vn 0.425642 -0.904080 0.037843 +vn 0.440901 -0.893490 0.084994 +vn 0.445051 -0.893887 0.053346 +vn -0.855495 -0.226173 -0.465773 +vn 0.971954 -0.216102 -0.092593 +vn 0.588122 0.204169 -0.782556 +vn 0.600696 0.019532 -0.799219 +vn 0.595080 0.145482 -0.790368 +vn 0.911008 -0.270608 -0.311106 +vn 0.917447 -0.252968 -0.306986 +vn 0.889920 -0.295236 -0.347606 +vn 0.995239 -0.094394 0.023865 +vn -0.383648 0.215155 -0.898038 +vn -0.120853 -0.991394 -0.049867 +vn 0.036195 -0.399091 -0.916166 +vn 0.037202 -0.961303 -0.272896 +vn 0.741539 -0.162908 -0.650777 +vn 0.765282 -0.217536 -0.605762 +vn 0.801630 -0.292001 -0.521622 +vn 0.739036 -0.284280 -0.610706 +vn 0.811914 0.348643 0.468184 +vn 0.920652 -0.361553 -0.147130 +vn -0.200598 0.819056 -0.537461 +vn 0.960875 -0.252480 -0.113681 +vn 0.986602 -0.137120 -0.088229 +vn 0.998138 -0.030183 -0.052705 +vn 0.996155 0.084201 0.023011 +vn 0.952940 0.279122 0.118259 +vn 0.729026 -0.129154 -0.672140 +vn 0.048647 0.503891 -0.862362 +vn -0.012329 0.761650 -0.647816 +vn -0.100040 0.763970 -0.637440 +vn -0.036225 0.730918 -0.681478 +vn 0.823145 -0.025422 -0.567248 +vn 0.784448 0.067660 -0.616474 +vn 0.784112 -0.107883 -0.611133 +vn -0.719199 -0.683950 -0.122074 +vn 0.829707 0.027741 -0.557482 +vn 0.804163 0.124699 -0.581133 +vn 0.799799 0.097201 -0.592303 +vn 0.801843 0.141484 -0.580523 +vn 0.856044 -0.242164 -0.456618 +vn 0.881558 -0.198737 -0.428175 +vn 0.562029 -0.640614 -0.523148 +vn 0.555712 0.594073 -0.581561 +vn 0.528977 0.558306 -0.639088 +vn 0.467513 0.621967 -0.628132 +vn 0.197028 0.348064 -0.916501 +vn 0.203070 0.211219 -0.956084 +vn 0.197577 0.337321 -0.920408 +vn 0.835292 0.393689 0.383740 +vn -0.031709 -0.984558 0.172033 +vn -0.148350 -0.622730 0.768212 +vn -0.102817 -0.594653 0.797357 +vn -0.713370 0.700125 0.030152 +vn -0.197729 -0.868465 0.454573 +vn -0.178503 -0.873684 0.452528 +vn -0.182440 -0.882168 0.434126 +vn 0.836238 0.163182 -0.523453 +vn 0.863399 0.201605 -0.462447 +vn 0.882809 -0.095614 -0.459883 +vn 0.874050 -0.020875 -0.485366 +vn 0.909421 -0.116642 -0.399152 +vn 0.850978 0.046907 -0.523057 +vn 0.895352 -0.054628 -0.441969 +vn 0.839869 -0.083621 -0.536302 +vn 0.832331 0.084841 -0.547716 +vn 0.871334 0.065706 -0.486221 +vn 0.800684 0.078768 -0.593860 +vn 0.858455 0.046846 -0.510697 +vn 0.857173 -0.107273 -0.503708 +vn 0.888058 -0.112705 -0.445631 +vn 0.925932 -0.038362 -0.375713 +vn -0.962127 -0.169103 0.213721 +vn 0.808954 -0.020875 -0.587481 +vn 0.784082 0.103214 -0.611957 +vn -0.942869 -0.332591 -0.019227 +vn -0.944823 0.234321 0.228858 +vn -0.975005 0.206458 0.081820 +vn 0.785455 -0.232002 -0.573748 +vn -0.485336 -0.731437 0.478957 +vn 0.001709 -0.995331 0.096377 +vn 0.095614 -0.989898 0.104434 +vn 0.070315 -0.994537 0.077120 +vn -0.230476 -0.942534 0.241768 +vn 0.244179 0.729209 -0.639210 +vn 0.268502 0.703207 -0.658315 +vn 0.263863 0.704123 -0.659200 +vn 0.536790 0.770012 -0.344829 +vn 0.522599 0.738365 -0.426252 +vn -0.853908 -0.291177 -0.431257 +vn -0.960570 0.082492 0.265481 +vn -0.966521 0.060579 0.249275 +vn -0.011872 0.656972 -0.753807 +vn 0.000702 0.588214 -0.808679 +vn -0.024659 0.678396 -0.734245 +vn 0.726249 0.230140 -0.647725 +vn -0.981506 0.166845 -0.093692 +vn 0.987915 0.038514 0.150029 +vn -0.932096 -0.354656 -0.073366 +vn -0.690817 -0.232795 -0.684500 +vn 0.036592 -0.997833 -0.054262 +vn -0.024689 -0.273293 -0.961608 +vn 0.561174 0.058107 -0.825617 +vn 0.889737 -0.137547 -0.435194 +vn 0.906339 -0.216620 -0.362712 +vn 0.878811 -0.353038 -0.320963 +vn 0.050569 0.681265 -0.730277 +vn 0.037751 0.709494 -0.703696 +vn -0.007477 0.677175 -0.735771 +vn 0.563677 -0.526353 -0.636555 +vn -0.527848 -0.814020 -0.242286 +vn -0.507675 -0.834895 -0.212500 +vn -0.456374 -0.870327 -0.184973 +vn 0.945250 -0.278573 -0.169958 +vn 0.980377 -0.162877 -0.110935 +vn -0.092227 -0.660543 0.745079 +vn 0.997650 0.053346 0.042726 +vn 0.994385 0.028718 0.101779 +vn 0.779687 -0.288125 -0.555895 +vn 0.641346 -0.073580 -0.763695 +vn 0.739647 -0.126194 -0.661031 +vn 0.661977 -0.152867 -0.733726 +vn -0.750359 -0.655538 -0.084780 +vn 0.866451 -0.053407 -0.496384 +vn 0.886227 -0.127689 -0.445235 +vn 0.829920 0.087588 -0.550920 +vn 0.866909 -0.089114 -0.490402 +vn 0.698904 -0.528916 -0.481368 +vn 0.725455 -0.571429 -0.383557 +vn 0.587481 -0.504654 -0.632557 +vn 0.615558 -0.512864 -0.598346 +vn 0.010743 -0.999298 -0.035401 +vn 0.018830 -0.998810 -0.044862 +vn 0.009186 -0.999390 -0.033265 +vn 0.171667 -0.982818 0.067537 +vn 0.911252 0.285928 -0.296365 +vn -0.890530 0.271859 -0.364696 +vn -0.923978 0.210120 -0.319437 +vn 0.794855 0.462783 -0.392407 +vn 0.887051 -0.337596 -0.314829 +vn 0.866848 -0.278970 -0.413160 +vn 0.793664 -0.283151 -0.538377 +vn 0.901975 -0.298593 -0.311869 +vn 0.888791 -0.287301 -0.356975 +vn 0.225867 -0.182958 -0.956816 +vn 0.274728 -0.131809 -0.952422 +vn 0.551378 -0.146702 -0.821223 +vn 0.754906 -0.545640 -0.363781 +vn 0.916074 -0.186407 -0.354991 +vn 0.752068 -0.620991 -0.220740 +vn 0.923246 -0.223853 -0.312143 +vn 0.918210 -0.242042 -0.313425 +vn 0.892392 -0.309305 -0.328501 +vn 0.588427 -0.453932 -0.669057 +vn -0.035920 0.913846 -0.404462 +vn 0.056185 0.907926 -0.415296 +vn 0.028687 0.874599 -0.483932 +vn -0.988495 -0.027161 -0.148686 +vn -0.986175 -0.026765 -0.163335 +vn -0.971099 -0.235908 -0.035646 +vn 0.014313 -0.999664 -0.020234 +vn -0.285226 0.880886 0.377697 +vn -0.746666 0.632954 0.204443 +vn -0.889462 0.456252 0.025697 +vn 0.995697 -0.064638 -0.065981 +vn 0.999359 0.032716 -0.012177 +vn 0.974792 0.206366 0.084597 +vn 0.454207 0.783563 -0.423933 +vn 0.438124 0.784051 -0.439589 +vn 0.422926 0.785943 -0.451003 +vn 0.633198 -0.502213 -0.588916 +vn 0.686758 -0.526048 -0.501572 +vn -0.604144 0.661946 0.443617 +vn -0.161870 0.816157 -0.554643 +vn -0.015442 0.092898 -0.995544 +vn -0.010529 0.311563 -0.950133 +vn 0.090030 0.315653 -0.944578 +vn 0.740257 0.449202 -0.500168 +vn 0.668722 0.432661 -0.604602 +vn -0.705466 -0.676626 -0.210822 +vn -0.654714 -0.651173 -0.383770 +vn -0.737022 -0.600604 -0.309854 +vn 0.686575 -0.560808 -0.462661 +vn 0.761467 -0.541124 -0.356761 +vn 0.702872 -0.561113 -0.437117 +vn 0.826716 -0.374157 -0.420118 +vn 0.507981 0.254616 -0.822840 +vn 0.389843 0.322336 -0.862575 +vn -0.034364 -0.224067 -0.973937 +vn 0.568590 -0.165929 -0.805689 +vn -0.042024 -0.302469 -0.952208 +vn -0.010010 -0.999390 0.032899 +vn -0.036927 -0.995727 0.084292 +vn -0.773705 -0.456130 -0.439589 +vn -0.332041 -0.763085 -0.554460 +vn 0.121433 -0.904599 0.408521 +vn 0.072970 -0.947966 0.309854 +vn 0.951323 -0.292428 -0.096927 +vn 0.975829 -0.201239 -0.084994 +vn 0.995788 -0.084475 -0.034883 +vn 0.999573 -0.011994 -0.025605 +vn 0.829554 -0.066225 -0.554430 +vn 0.848048 -0.087344 -0.522629 +vn 0.814997 -0.108737 -0.569140 +vn 0.751335 -0.083163 -0.654622 +vn -0.994324 -0.097324 0.042940 +vn 0.860439 0.003265 -0.509507 +vn -0.941984 0.208411 -0.262978 +vn -0.941221 0.143986 -0.305521 +vn 0.974578 -0.040590 -0.220222 +vn 0.855770 0.369152 -0.362407 +vn -0.285989 0.921079 -0.264168 +vn -0.354900 0.889309 -0.288339 +vn -0.279031 0.930082 -0.238838 +vn 0.655660 -0.611286 -0.443190 +vn 0.596698 -0.694968 -0.401166 +vn -0.037080 0.533128 -0.845180 +vn 0.023835 0.509049 -0.860378 +vn 0.023011 0.528947 -0.848323 +vn -0.861538 -0.505173 -0.050233 +vn -0.396283 0.889035 -0.229133 +vn -0.260445 0.935850 -0.237342 +vn -0.347514 0.851802 -0.391919 +vn 0.197150 -0.958037 -0.208014 +vn 0.093539 -0.981048 -0.169591 +vn 0.165685 0.305155 -0.937773 +vn 0.129887 0.225715 -0.965484 +vn 0.121952 0.250526 -0.960387 +vn 0.013001 0.880795 -0.473281 +vn 0.003754 0.885159 -0.465224 +vn 0.033876 0.888546 -0.457503 +vn -0.903684 0.331828 0.270547 +vn -0.549791 0.025117 -0.834895 +vn -0.587481 0.118564 -0.800470 +vn -0.565020 0.091617 -0.819941 +vn 0.793603 0.128574 -0.594684 +vn 0.897610 0.349834 0.268014 +vn 0.960479 0.178930 0.213111 +vn -0.013520 -0.999237 -0.036225 +vn 0.670522 -0.363903 -0.646474 +vn 0.987884 0.137486 0.071810 +vn 0.915983 0.358898 0.179235 +vn 0.847560 0.482070 0.221839 +vn 0.644032 -0.558458 -0.522752 +vn -0.585986 -0.074892 -0.806848 +vn -0.553972 0.211646 -0.805170 +vn -0.402814 0.366436 -0.838710 +vn -0.813807 0.123112 0.567919 +vn -0.782128 0.540178 0.310526 +vn -0.692648 0.649373 0.313852 +vn -0.749321 0.591418 0.297800 +vn 0.910611 -0.093509 -0.402478 +vn -0.722648 -0.672781 -0.158513 +vn -0.773553 0.546648 0.320536 +vn -0.652882 0.685415 0.322306 +vn 0.579272 -0.555681 -0.596301 +vn 0.429426 -0.498611 -0.752922 +vn 0.027711 -0.983947 -0.176244 +vn 0.018860 -0.995697 0.090548 +vn 0.038362 -0.997070 0.065767 +vn 0.005921 -0.999359 0.034700 +vn 0.000153 -0.999695 0.023865 +vn 0.040437 -0.996429 0.074068 +vn 0.328593 -0.925504 0.188147 +vn 0.314066 -0.932829 0.176458 +vn 0.710929 -0.018281 -0.702994 +vn -0.631886 -0.695242 0.342540 +vn -0.239509 -0.942961 0.231117 +vn 0.708274 -0.176336 -0.683523 +vn -0.139256 0.937895 -0.317637 +vn -0.124271 0.926115 -0.356151 +vn -0.160131 0.925871 -0.342174 +vn 0.942167 -0.224952 -0.248299 +vn 0.937223 -0.217109 -0.272835 +vn 0.902646 0.378704 -0.204321 +vn 0.943876 0.329936 0.015381 +vn 0.909848 0.412763 -0.042085 +vn 0.826777 -0.534776 -0.174413 +vn 0.732109 -0.595172 -0.331278 +vn 0.056612 -0.997253 -0.047121 +vn 0.935881 -0.158177 -0.314737 +vn 0.996063 0.067843 -0.056612 +vn 0.966369 0.164312 -0.197668 +vn -0.088229 -0.349315 -0.932829 +vn 0.022309 -0.999298 -0.029908 +vn 0.195502 0.603656 -0.772881 +vn 0.158116 0.511399 -0.844630 +vn 0.064028 0.627644 -0.775842 +vn 0.070009 -0.982482 -0.172552 +vn 0.745872 0.343059 -0.570910 +vn -0.018921 0.584857 -0.810907 +vn -0.012513 0.526261 -0.850215 +vn -0.017884 0.610889 -0.791498 +vn -0.600238 0.431013 -0.673727 +vn -0.741997 0.184667 -0.644429 +vn 0.569292 -0.283547 -0.771661 +vn 0.124271 -0.950926 -0.283273 +vn -0.214179 -0.847011 -0.486435 +vn -0.254860 -0.811243 -0.526200 +vn -0.199408 -0.927335 -0.316630 +vn 0.943480 -0.321970 -0.078494 +vn 0.976470 -0.211310 -0.042879 +vn 0.995727 -0.090732 -0.016694 +vn -0.599658 0.543382 -0.587451 +vn 0.998779 -0.048067 -0.010315 +vn 0.616352 0.104617 -0.780450 +vn 0.614612 0.110019 -0.781091 +vn 0.890500 -0.239235 -0.386975 +vn 0.905759 -0.165685 -0.390027 +vn 0.746086 0.288736 -0.599963 +vn -0.941435 -0.199103 0.272073 +vn 0.577715 -0.089541 -0.811274 +vn 0.044343 -0.998260 -0.038545 +vn 0.995727 0.080996 0.044008 +vn 0.946623 0.289163 0.142277 +vn 0.748466 -0.351756 -0.562181 +vn 0.329325 0.801019 -0.499832 +vn 0.396405 0.239784 -0.886196 +vn 0.278603 0.396283 -0.874813 +vn 0.403485 0.237678 -0.883541 +vn 0.755791 -0.417585 -0.504318 +vn 0.834284 -0.205695 -0.511521 +vn -0.612812 -0.773827 -0.160070 +vn 0.545396 0.014679 -0.838038 +vn 0.575304 0.015320 -0.817774 +vn 0.935667 -0.074801 -0.344798 +vn 0.766686 0.346446 -0.540452 +vn -0.525285 0.686148 -0.503189 +vn -0.610767 0.163030 -0.774834 +vn -0.660848 0.223273 -0.716514 +vn -0.639271 0.223762 -0.735679 +vn -0.456710 0.765160 -0.453780 +vn 0.908567 -0.091311 -0.407575 +vn 0.901303 -0.072359 -0.427045 +vn 0.935545 -0.245888 -0.253487 +vn -0.948820 -0.145238 -0.280343 +vn -0.472701 0.791620 -0.387127 +vn -0.540025 0.769707 -0.340403 +vn -0.130833 -0.363384 -0.922391 +vn -0.341594 0.153111 -0.927274 +vn -0.400159 0.360851 -0.842372 +vn -0.604450 0.414716 -0.680135 +vn -0.731162 -0.610920 0.303598 +vn -0.802789 -0.512192 0.305185 +vn -0.710318 0.624653 -0.324351 +vn -0.910428 0.370434 -0.183966 +vn 0.867244 -0.358318 -0.345592 +vn 0.836543 -0.372265 -0.401959 +vn -0.830744 -0.345164 -0.436659 +vn 0.810266 -0.428541 -0.399701 +vn 0.745384 0.453108 -0.488907 +vn 0.818567 -0.070742 -0.569994 +vn 0.746635 -0.392163 -0.537309 +vn 0.754051 -0.260445 -0.602924 +vn -0.934446 0.206397 0.290139 +vn 0.689138 0.023743 -0.724204 +vn 0.144230 -0.948393 -0.282327 +vn 0.303934 -0.909543 0.283425 +vn 0.143834 -0.699454 0.700034 +vn 0.359050 -0.868954 0.340526 +vn 0.253151 -0.462844 -0.849513 +vn 0.420118 -0.548357 -0.723014 +vn -0.815332 -0.040376 0.577532 +vn 0.030244 -0.997497 0.063478 +vn -0.436201 -0.725059 0.532884 +vn -0.371899 -0.577960 0.726371 +vn -0.963286 0.243660 -0.112583 +vn 0.581378 0.102359 -0.807154 +vn 0.864681 -0.290323 -0.409894 +vn 0.082247 -0.996277 -0.025056 +vn 0.010865 -0.999359 -0.033967 +vn 0.046602 -0.998138 -0.038789 +vn -0.599322 -0.533677 0.596637 +vn -0.990509 0.125767 -0.054964 +vn -0.447218 -0.619495 -0.645131 +vn -0.386029 0.216407 -0.896725 +vn -0.435774 -0.435316 -0.787744 +vn 0.454482 0.333415 -0.825983 +vn 0.516343 0.333323 -0.788812 +vn 0.520615 0.367351 -0.770714 +vn -0.974425 0.123112 0.187872 +vn -0.977203 0.101566 0.186316 +vn 0.068148 -0.996796 0.041841 +vn 0.038057 -0.998505 0.038911 +vn 0.004791 -0.999329 0.035768 +vn -0.191656 -0.979736 0.057741 +vn -0.587176 -0.809351 -0.010987 +vn 0.931303 -0.349132 -0.103519 +vn 0.554064 -0.006470 -0.832423 +vn 0.755333 -0.103702 -0.647053 +vn -0.996643 0.071657 -0.039064 +vn -0.973754 0.212958 -0.079928 +vn -0.999817 0.004791 -0.017121 +vn 0.968841 -0.240944 -0.056948 +vn 0.993439 -0.114353 -0.001373 +vn 0.998688 -0.043245 0.027009 +vn 0.168249 -0.211707 -0.962706 +vn 0.843928 -0.443068 -0.302377 +vn 0.870907 -0.386395 -0.303629 +vn 0.874935 -0.048616 -0.481765 +vn 0.827845 -0.420270 -0.371471 +vn 0.931120 -0.010895 -0.364452 +vn -0.911008 0.408551 0.055849 +vn -0.909848 0.400189 0.109348 +vn 0.865535 -0.074343 -0.495224 +vn -0.970855 0.180425 -0.157689 +vn -0.924161 -0.379833 0.040345 +vn 0.615345 0.527329 -0.585833 +vn 0.614734 0.453505 -0.645253 +vn 0.591479 0.480972 -0.647114 +vn 0.734519 -0.167425 -0.657552 +vn 0.806207 -0.536485 -0.249306 +vn 0.586352 0.069338 -0.807062 +vn -0.971099 0.002869 0.238594 +vn -0.964324 0.202460 0.170385 +vn -0.997589 0.024659 -0.064760 +vn -0.994415 -0.028352 -0.101596 +vn 0.999207 0.037172 0.014222 +vn 0.969817 0.209937 0.123753 +vn -0.405042 0.763329 0.503189 +vn 0.853908 -0.226356 -0.468581 +vn -0.971191 0.225318 -0.077242 +vn -0.937162 0.179815 0.298929 +vn -0.962188 0.087039 0.258034 +vn -0.977050 -0.181341 -0.111728 +vn -0.722800 0.632099 -0.279214 +vn 0.876247 0.268441 0.400128 +vn 0.531327 0.143681 -0.834864 +vn -0.930662 0.356670 -0.081179 +vn -0.914640 0.289529 -0.282052 +vn -0.933866 0.347850 -0.082919 +vn -0.993469 -0.089846 -0.070162 +vn -1.000000 0.000153 0.000031 +vn -0.956633 0.106296 0.271187 +vn -0.963866 0.125645 0.234840 +vn 0.179693 -0.589679 -0.787378 +vn 0.148045 -0.549821 -0.822016 +vn -0.976653 0.147130 0.156316 +vn -0.574847 0.731254 0.367107 +vn -0.139531 0.513657 -0.846553 +vn 0.414502 -0.900571 -0.130833 +vn -0.045289 -0.998962 -0.004334 +vn -0.066286 -0.997650 0.015992 +vn -0.252632 0.609455 -0.751457 +vn -0.263436 0.631123 -0.729514 +vn -0.324320 0.322092 -0.889401 +vn 0.674673 0.648854 -0.351726 +vn 0.699942 0.620441 -0.353710 +vn 0.651845 0.675161 -0.345225 +vn -0.145054 0.503128 -0.851924 +vn -0.155248 0.620746 -0.768456 +vn -0.947813 0.089999 0.305795 +vn -0.840785 -0.501022 -0.204901 +vn 0.655171 -0.721244 -0.224708 +vn 0.904447 0.120151 0.409284 +vn 0.538957 -0.481491 -0.691092 +vn 0.937407 -0.022217 0.347514 +vn 0.748100 0.271676 -0.605365 +vn 0.856136 0.275582 0.437086 +vn 0.957671 0.074923 0.277902 +vn -0.921445 0.360881 -0.143803 +vn -0.866726 0.477584 -0.143742 +vn -0.904996 0.285043 -0.315744 +vn 0.034211 -0.517411 -0.855037 +vn 0.776116 -0.601154 -0.190344 +vn 0.586200 0.462203 -0.665365 +vn 0.542131 0.394940 -0.741661 +vn 0.499191 0.403516 -0.766778 +vn 0.365642 0.559923 -0.743461 +vn 0.301187 0.583972 -0.753807 +vn 0.325968 0.531602 -0.781732 +vn 0.417341 -0.880367 -0.225288 +vn 0.961333 -0.272073 -0.041932 +vn 0.157628 -0.829157 0.536302 +vn 0.182592 -0.886563 0.425031 +vn 0.112857 -0.963256 0.243660 +vn 0.459639 -0.639332 -0.616382 +vn 0.489975 -0.661306 -0.567919 +vn 0.974883 0.103030 0.197424 +vn 0.961272 0.173864 0.213721 +vn -0.212683 0.122471 -0.969390 +vn 0.598315 0.743950 -0.297464 +vn 0.599719 0.715476 -0.358348 +vn 0.583087 0.729850 -0.356761 +vn 0.989959 -0.141148 -0.002441 +vn 0.999115 -0.040010 0.011841 +vn -0.626118 0.775811 0.077731 +vn -0.740318 0.657826 0.138371 +vn -0.939726 0.251778 0.231300 +vn -0.945219 0.230964 0.230567 +vn -0.466109 -0.084964 -0.880612 +vn -0.053774 -0.756340 -0.651936 +vn -0.944365 -0.328623 0.012482 +vn 0.998077 -0.004456 0.061434 +vn 0.980132 0.142216 0.138127 +vn 0.874416 -0.459059 -0.156835 +vn 0.033967 -0.999390 -0.005646 +vn 0.946867 0.001617 0.321512 +vn -0.130375 -0.384655 -0.913785 +vn -0.487991 -0.137028 -0.861995 +vn 0.906522 0.089999 0.412366 +vn 0.852260 0.282510 0.440199 +vn 0.845363 0.328440 0.421247 +vn 0.854762 0.345103 0.387585 +vn 0.872158 0.322459 0.367840 +vn 0.890255 0.270516 0.366375 +vn 0.892941 -0.292245 0.342357 +vn -0.990295 0.131687 -0.044099 +vn 0.912687 0.204779 0.353587 +vn 0.113224 -0.991913 -0.057222 +vn 0.121891 -0.990448 -0.064333 +vn 0.007141 -0.999786 -0.017792 +vn 0.913358 0.342845 0.219550 +vn 0.762413 0.524491 0.378887 +vn -0.475570 0.846675 -0.238563 +vn -0.221534 -0.443556 -0.868404 +vn 0.993072 0.092349 0.072420 +vn 0.993255 0.108280 0.040681 +vn 0.915616 0.213721 0.340495 +vn 0.972198 0.144597 0.184057 +vn 0.973571 0.125095 0.190985 +vn -0.348460 -0.432325 -0.831629 +vn 0.841914 0.385510 0.377514 +vn -0.648732 -0.060640 -0.758568 +vn -0.639027 -0.099582 -0.762658 +vn -0.595904 -0.067751 -0.800165 +vn 0.970092 0.088839 0.225776 +vn -0.448897 -0.083193 -0.889676 +vn 0.003540 0.360240 -0.932829 +vn -0.091891 0.381603 -0.919736 +vn -0.104312 0.531663 -0.840480 +vn 0.728446 -0.470962 -0.497482 +vn -0.400281 -0.281686 -0.872005 +vn 0.167455 -0.537919 -0.826167 +vn -0.387646 -0.405316 0.827876 +vn -0.420698 -0.368938 0.828761 +vn -0.421430 -0.906339 0.030061 +vn -0.285867 -0.957640 0.034364 +vn -0.538530 -0.836116 0.104312 +vn -0.412366 -0.706320 0.575335 +vn -0.100681 -0.981017 0.165624 +vn -0.320383 -0.917478 0.235664 +vn 0.059023 -0.998047 -0.019440 +vn -0.794946 -0.564745 0.221503 +vn 0.694205 -0.713950 0.091311 +vn -0.895230 0.024628 -0.444838 +vn 0.927458 0.108554 0.357768 +vn 0.908567 0.168157 0.382366 +vn 0.913999 0.124363 0.386151 +vn 0.918119 0.087649 0.386425 +vn 0.913511 0.119022 0.388958 +vn 0.896908 0.204352 0.392102 +vn 0.873257 0.287576 0.393262 +vn 0.853664 0.348033 0.387402 +vn 0.855342 0.369579 0.362987 +vn 0.873897 0.339427 0.347942 +vn 0.898740 0.281137 0.336406 +vn 0.904294 0.279550 0.322581 +vn 0.885128 0.342479 0.314982 +vn 0.871578 0.391095 0.295572 +vn 0.844691 0.447310 0.293863 +vn 0.833308 0.473647 0.284982 +vn 0.961150 -0.274789 -0.025758 +vn 0.987426 -0.157659 -0.008362 +vn 0.994507 -0.080844 0.066042 +vn 0.897732 -0.435774 0.064486 +vn 0.042146 -0.672231 -0.739097 +vn 0.958403 0.162450 0.234626 +vn 0.920774 0.260475 0.290323 +vn 0.959563 0.199286 0.198645 +vn 0.976165 0.097293 0.193915 +vn 0.947600 -0.072085 0.311167 +vn 0.945219 -0.067934 0.319193 +vn 0.823695 0.565539 0.040681 +vn 0.996216 -0.020478 0.084231 +vn 0.927976 -0.369030 -0.051485 +vn 0.210791 0.504654 -0.837153 +vn 0.154546 0.533280 -0.831660 +vn 0.149785 0.669362 -0.727622 +vn 0.719993 -0.494308 -0.487045 +vn -0.821436 0.134190 0.554277 +vn -0.817133 0.317057 0.481368 +vn -0.769768 0.344188 0.537522 +vn 0.865993 -0.245918 -0.435347 +vn 0.631764 0.048494 -0.773614 +vn 0.832850 -0.261971 -0.487533 +vn -0.992523 0.112461 0.046968 +vn 0.991577 0.086276 0.096377 +vn 0.935057 0.284402 0.211493 +vn -0.541429 0.595996 0.592944 +vn -0.992279 0.103916 0.067507 +vn -0.994507 0.085849 -0.059358 +vn -0.997192 -0.038575 -0.063875 +vn -0.917966 0.232429 0.321360 +vn 0.948241 0.033631 0.315714 +vn 0.949187 0.010620 0.314463 +vn 0.950041 0.052522 0.307596 +vn 0.943876 0.093783 0.316630 +vn 0.929014 0.152898 0.336924 +vn 0.922178 0.177099 0.343822 +vn 0.930174 0.126682 0.344462 +vn 0.934904 0.089724 0.343303 +vn 0.933317 0.120701 0.338054 +vn 0.921323 0.209845 0.327219 +vn 0.904477 0.288461 0.314127 +vn 0.875088 0.358226 0.325358 +vn 0.863979 0.387738 0.321207 +vn 0.881008 0.357768 0.309488 +vn 0.909513 0.300912 0.286660 +vn 0.918729 0.294107 0.263466 +vn 0.900327 0.356883 0.249001 +vn 0.883877 0.405866 0.232337 +vn 0.859645 0.457167 0.227912 +vn 0.701132 -0.712058 0.036500 +vn 0.762413 -0.639363 0.099429 +vn 0.914335 0.391919 0.101688 +vn -0.277718 -0.131932 -0.951537 +vn 0.859188 0.412702 0.302408 +vn 0.825190 0.434584 0.360729 +vn -0.159703 -0.984771 -0.068209 +vn -0.021180 -0.990143 -0.138310 +vn 0.823786 -0.559648 0.090152 +vn 0.871181 0.404462 0.278237 +vn -0.020478 0.987518 -0.156102 +vn -0.523545 0.443709 -0.727317 +vn 0.958403 0.210364 0.192846 +vn 0.977264 0.137638 0.161107 +vn 0.942900 0.237465 0.233436 +vn 0.936094 0.222907 0.272011 +vn 0.947233 0.047121 0.316965 +vn 0.919614 -0.110080 0.377026 +vn 0.952635 -0.015534 0.303629 +vn 0.018830 -0.999817 0.000793 +vn 0.069857 -0.997436 -0.013947 +vn 0.045412 -0.998932 -0.006439 +vn 0.805109 -0.133274 -0.577929 +vn 0.377026 0.201483 -0.903989 +vn -0.641743 -0.314432 0.699484 +vn -0.559374 -0.441420 0.701559 +vn -0.601306 -0.292154 0.743675 +vn -0.217170 -0.206885 -0.953948 +vn 0.405988 0.454970 -0.792566 +vn 0.232521 0.357433 -0.904508 +vn -0.466414 0.688803 0.554918 +vn -0.418409 0.722831 0.549913 +vn -0.563616 -0.018433 -0.825800 +vn -0.698416 0.003998 -0.715629 +vn -0.727592 0.053041 -0.683920 +vn -0.019349 -0.999573 -0.021088 +vn 0.014527 -0.999786 -0.012604 +vn 0.006958 -0.998108 -0.060762 +vn -0.297983 0.707175 0.641133 +vn 0.749718 -0.146336 -0.645344 +vn 0.495773 -0.432966 -0.752800 +vn -0.074923 -0.609058 0.789575 +vn -0.097415 -0.625813 0.773827 +vn -0.242164 -0.915433 0.321451 +vn -0.956572 -0.265725 0.119602 +vn -0.978118 -0.171941 0.116916 +vn 0.908444 -0.194769 -0.369762 +vn 0.852168 -0.159948 -0.498154 +vn 0.962584 0.031831 0.269082 +vn 0.963927 0.051515 0.261116 +vn 0.960112 0.092593 0.263710 +vn 0.954985 0.135014 0.264107 +vn 0.939756 0.173681 0.294382 +vn 0.947050 0.128361 0.294229 +vn 0.952269 0.096255 0.289651 +vn 0.952147 0.134770 0.274300 +vn 0.942167 0.218726 0.253853 +vn 0.918516 0.300882 0.256417 +vn 0.904691 0.354930 0.235633 +vn 0.886166 0.392743 0.245735 +vn 0.885769 0.384655 0.259590 +vn 0.918119 0.328257 0.221900 +vn 0.929350 0.312876 0.195898 +vn 0.914762 0.359569 0.184088 +vn 0.889431 0.412610 0.196448 +vn 0.870602 0.457015 0.181982 +vn 0.965667 -0.031190 0.257790 +vn 0.973449 -0.072146 0.217139 +vn 0.908170 0.404950 0.105960 +vn 0.902646 0.420087 0.093417 +vn 0.572924 -0.768334 0.285318 +vn 0.010346 -0.999390 -0.033113 +vn 0.075137 -0.997040 -0.015320 +vn 0.959899 -0.279916 -0.014496 +vn 0.981048 -0.193518 0.007538 +vn 0.503739 0.769127 -0.393200 +vn 0.479385 0.772301 -0.416761 +vn 0.441603 0.782647 -0.438673 +vn 0.829890 0.451155 0.328166 +vn 0.939390 0.274667 0.205054 +vn 0.984191 0.138615 0.110141 +vn 0.975555 0.171789 0.136998 +vn 0.946989 0.189398 0.259377 +vn 0.954070 0.010315 0.299387 +vn 0.948271 -0.085208 0.305765 +vn 0.966094 0.047182 0.253761 +vn 0.953307 0.246071 0.174993 +vn 0.936125 -0.191412 -0.294900 +vn -0.405713 0.760704 0.506607 +vn 0.993805 -0.098972 0.050172 +vn 0.998230 -0.014405 0.057222 +vn -0.875057 0.483505 0.020569 +vn 0.187231 -0.697562 0.691580 +vn -0.183630 0.049074 -0.981750 +vn 0.024232 -0.042604 -0.998779 +vn 0.039521 -0.843257 -0.536027 +vn -0.969390 0.238472 0.058016 +vn 0.996277 0.050661 0.069704 +vn 0.967467 0.190527 0.166417 +vn -0.809137 -0.579821 0.095035 +vn -0.886746 -0.451674 0.098239 +vn 0.834559 0.549974 0.031526 +vn 0.811579 0.583789 0.021577 +vn -0.198645 -0.066286 -0.977813 +vn 0.962676 0.072542 0.260659 +vn 0.972289 0.047975 0.228736 +vn 0.975188 0.055757 0.214118 +vn 0.970275 0.092776 0.223426 +vn 0.966735 0.129337 0.220618 +vn 0.957244 0.166387 0.236579 +vn 0.961608 0.137089 0.237648 +vn 0.967711 0.110141 0.226691 +vn 0.968383 0.152745 0.197119 +vn 0.959288 0.218970 0.178259 +vn 0.933348 0.298196 0.199774 +vn 0.906644 0.369793 0.202948 +vn 0.900143 0.390484 0.192846 +vn 0.900571 0.386883 0.198157 +vn 0.913114 0.358226 0.194555 +vn 0.932340 0.322825 0.162755 +vn 0.919340 0.356761 0.165746 +vn 0.895474 0.408277 0.177252 +vn 0.983093 -0.013428 0.182470 +vn -0.334727 -0.383099 -0.860897 +vn 0.892605 -0.108951 -0.437422 +vn -0.918729 0.389050 0.067141 +vn 0.877957 0.358898 0.316813 +vn 0.816919 0.446974 0.364452 +vn 0.848872 0.420423 0.320353 +vn -0.152501 -0.978057 -0.141881 +vn -0.054598 -0.976684 -0.207556 +vn 0.811792 0.456832 0.363659 +vn 0.790063 0.536912 0.295724 +vn 0.875179 0.368206 0.313791 +vn 0.968047 0.194372 0.158208 +vn 0.986633 0.134098 0.092441 +vn 0.975311 0.140965 0.169958 +vn 0.978668 -0.002319 0.205420 +vn 0.974120 -0.077364 0.212256 +vn 0.978790 0.076052 0.190130 +vn -0.433332 0.032624 -0.900632 +vn -0.419843 0.073305 -0.904599 +vn -0.946715 -0.299936 0.117069 +vn -0.976196 -0.197607 0.088992 +vn 0.760338 0.599017 0.251076 +vn 0.696585 0.571795 -0.433332 +vn -0.751671 0.530412 0.391949 +vn -0.745201 0.528336 0.406781 +vn -0.682058 0.640065 0.353618 +vn 0.250465 -0.939207 -0.234809 +vn 0.993164 0.096469 0.065493 +vn -0.069216 0.278268 -0.957976 +vn 0.333995 -0.197333 0.921659 +vn 0.019166 -0.998932 0.041414 +vn 0.034425 -0.999390 0.003540 +vn -0.023194 -0.999420 -0.024842 +vn -0.932066 -0.284768 0.223914 +vn 0.593616 0.697592 -0.401135 +vn 0.973510 0.100528 0.205206 +vn 0.980987 0.077944 0.177557 +vn 0.990265 0.051302 0.129307 +vn 0.985290 0.091098 0.144505 +vn 0.982879 0.121982 0.137913 +vn 0.972137 0.151585 0.178686 +vn 0.968017 0.145512 0.204260 +vn 0.976409 0.128605 0.173345 +vn 0.975249 0.166265 0.145665 +vn 0.962493 0.226295 0.149449 +vn 0.947935 0.284310 0.143406 +vn 0.918332 0.357921 0.168859 +vn 0.895535 0.398724 0.197485 +vn 0.903897 0.389538 0.176580 +vn 0.912015 0.372600 0.171392 +vn 0.932218 0.331400 0.145299 +vn 0.923460 0.352489 0.151494 +vn 0.902341 0.403974 0.150273 +vn 0.877041 0.453475 0.158422 +vn 0.963073 0.179357 0.200751 +vn -0.324473 -0.372845 -0.869289 +vn 0.604877 -0.796045 0.019471 +vn 0.169439 -0.945860 -0.276742 +vn 0.049806 -0.996612 0.065157 +vn 0.001465 -0.995300 0.096744 +vn 0.005371 -0.997345 0.072390 +vn 0.954161 -0.299081 0.008515 +vn 0.978820 -0.203986 0.015534 +vn -0.679312 0.724143 0.118717 +vn -0.779473 0.626270 -0.013337 +vn -0.665578 0.746025 -0.019623 +vn -0.787042 -0.257851 0.560381 +vn 0.884152 0.352672 0.306314 +vn 0.958495 0.180670 -0.220466 +vn 0.812708 0.425336 0.398175 +vn 0.829859 0.428602 0.357189 +vn 0.916959 0.296487 0.266945 +vn 0.980682 0.154057 0.120273 +vn 0.986084 0.094760 0.136479 +vn 0.976653 -0.016266 0.214179 +vn 0.972991 -0.070315 0.219825 +vn 0.993561 -0.111393 0.020539 +vn 0.997375 -0.036409 0.062349 +vn -0.118351 -0.463668 -0.878048 +vn 0.636097 -0.702506 0.319071 +vn 0.677847 -0.651906 0.339854 +vn 0.765343 -0.565477 0.307291 +vn 0.919492 -0.304483 0.248604 +vn 0.981750 0.109409 0.155370 +vn 0.938078 -0.248573 0.241127 +vn 0.897641 -0.247627 0.364544 +vn 0.935087 -0.213813 0.282571 +vn 0.956023 -0.112064 0.270974 +vn 0.962462 -0.043764 0.267830 +vn 0.948363 -0.050417 0.313120 +vn 0.070772 -0.931059 -0.357891 +vn 0.000763 -0.929319 -0.369243 +vn 0.193854 -0.372173 -0.907682 +vn 0.993622 0.020600 0.110660 +vn 0.976165 0.110355 0.186804 +vn 0.986206 0.095431 0.135136 +vn 0.991150 0.077425 0.107669 +vn 0.991760 0.093448 0.087252 +vn 0.989837 0.113010 0.086093 +vn 0.986053 0.120243 0.114994 +vn 0.979827 0.143315 0.139134 +vn 0.979339 0.153569 0.131474 +vn 0.978393 0.171758 0.114994 +vn 0.967254 0.221442 0.123936 +vn 0.950011 0.286142 0.124668 +vn 0.932371 0.339335 0.124454 +vn 0.908322 0.388470 0.154881 +vn 0.900723 0.403027 0.161901 +vn 0.913205 0.377758 0.152654 +vn 0.925230 0.347270 0.152745 +vn 0.928098 0.348613 0.130680 +vn 0.904355 0.405133 0.134007 +vn -0.098117 0.931455 -0.350291 +vn -0.087039 0.908780 -0.408002 +vn -0.716697 0.150487 0.680929 +vn -0.804071 -0.153386 0.574389 +vn -0.173833 0.954558 -0.242012 +vn -0.151555 0.950835 -0.269997 +vn -0.185095 0.940397 -0.285257 +vn -0.081942 -0.049898 -0.995361 +vn 0.910215 0.290719 0.294870 +vn -0.153478 0.621784 -0.767968 +vn -0.119816 0.571459 -0.811792 +vn -0.242683 0.628834 -0.738670 +vn 0.815912 0.489883 0.307016 +vn 0.854793 0.400464 0.330058 +vn 0.838374 0.468520 0.278512 +vn 0.817927 0.422926 0.389996 +vn 0.845668 0.404157 0.348491 +vn 0.961455 0.219611 0.165288 +vn 0.992065 0.059175 0.110691 +vn 0.978423 -0.061434 0.197150 +vn 0.971282 -0.060945 0.229865 +vn 0.951811 0.250130 0.177313 +vn -0.251961 -0.124943 -0.959624 +vn -0.579241 0.147404 -0.801691 +vn -0.628986 0.224921 -0.744133 +vn 0.649251 -0.720084 0.244728 +vn 0.717185 -0.652425 0.244758 +vn 0.798334 -0.565081 0.208075 +vn 0.860469 -0.464797 0.208625 +vn 0.918363 -0.352916 0.179022 +vn 0.941496 -0.296457 0.160222 +vn 0.945067 -0.276131 0.174780 +vn 0.950652 -0.224189 0.214331 +vn 0.969970 -0.105289 0.219123 +vn 0.966613 -0.072542 0.245674 +vn 0.963897 -0.069613 0.256905 +vn 0.957762 -0.032289 0.285714 +vn 0.949950 0.068514 0.304788 +vn 0.924497 0.216895 0.313425 +vn -0.049379 -0.997711 0.045839 +vn -0.039430 -0.998627 0.034089 +vn -0.637715 0.769890 0.022828 +vn -0.601520 0.797418 0.047456 +vn 0.800501 0.454482 0.390637 +vn -0.022614 -0.924192 0.381176 +vn 0.991302 0.108066 0.074984 +vn 0.988159 0.120731 0.094363 +vn 0.992096 0.089816 0.087344 +vn 0.992859 0.094394 0.072634 +vn 0.989868 0.102542 0.098056 +vn 0.987426 0.117038 0.106204 +vn 0.986480 0.133976 0.094211 +vn 0.981811 0.153233 0.111911 +vn 0.977874 0.174627 0.114963 +vn 0.969970 0.215918 0.111789 +vn 0.951811 0.281594 0.121464 +vn 0.931822 0.335917 0.137181 +vn 0.916074 0.375652 0.140202 +vn 0.903195 0.402112 0.149968 +vn 0.913480 0.378521 0.149113 +vn 0.924802 0.350566 0.147710 +vn 0.922422 0.360363 0.138646 +vn 0.906796 0.401349 0.128819 +vn 0.047823 -0.998535 -0.024354 +vn -0.182806 0.798029 -0.574175 +vn -0.187567 0.833979 -0.518906 +vn 0.024689 -0.997559 0.064974 +vn 0.040071 -0.999023 -0.017487 +vn 0.064760 -0.994049 -0.087313 +vn 0.799280 0.545579 0.251930 +vn 0.781426 0.582202 0.224433 +vn 0.880490 0.379467 0.284097 +vn 0.857540 0.457442 0.235237 +vn 0.856533 0.395703 0.331217 +vn 0.812891 0.442671 0.378399 +vn 0.897122 0.320627 0.303812 +vn 0.980895 0.065920 0.182928 +vn 0.968566 -0.107852 0.224128 +vn -0.800623 -0.300882 0.518082 +vn 0.615375 -0.769280 0.171697 +vn 0.679891 -0.722678 0.124119 +vn 0.746971 -0.650472 0.137394 +vn 0.812006 -0.565111 0.145787 +vn 0.883206 -0.453230 0.120365 +vn 0.929228 -0.349345 0.120273 +vn 0.943541 -0.303812 0.131779 +vn 0.936552 -0.302713 0.176580 +vn 0.956023 -0.231178 0.180334 +vn 0.969634 -0.124638 0.210273 +vn 0.969604 -0.076388 0.232368 +vn 0.968230 -0.079073 0.237098 +vn 0.968413 -0.044191 0.245308 +vn 0.966887 0.057222 0.248573 +vn 0.940642 0.216834 0.260994 +vn 0.901517 0.352275 0.251228 +vn -0.319132 0.249397 -0.914274 +vn 0.803980 0.572527 0.160649 +vn 0.993316 0.106388 0.044282 +vn 0.992004 0.107456 0.066073 +vn 0.994537 0.084933 0.060396 +vn 0.992981 0.089694 0.076754 +vn 0.993133 0.094485 0.068880 +vn 0.991180 0.109745 0.074068 +vn 0.985168 0.139927 0.099216 +vn 0.985961 0.139195 0.091952 +vn 0.977386 0.177526 0.114841 +vn 0.970306 0.217200 0.106388 +vn 0.957793 0.267830 0.104190 +vn 0.939207 0.318674 0.127720 +vn 0.914548 0.372662 0.157170 +vn 0.902676 0.400464 0.157292 +vn 0.908689 0.390973 0.146245 +vn 0.927549 0.354045 0.119510 +vn 0.923795 0.360973 0.127628 +vn 0.904538 0.405621 0.131382 +vn 0.888302 0.443373 0.119480 +vn 0.957915 -0.272713 0.089389 +vn -0.019745 0.716697 0.697073 +vn 0.906034 0.364940 0.214148 +vn 0.860927 0.462203 0.212439 +vn 0.900571 0.354106 0.252113 +vn 0.831904 0.417768 0.365184 +vn 0.833583 0.393994 0.387097 +vn 0.956511 0.107212 0.271249 +vn 0.952391 -0.127720 0.276803 +vn 0.969176 -0.018830 0.245521 +vn 0.956908 0.196661 0.213507 +vn -0.180822 0.042116 -0.982604 +vn -0.123142 -0.457625 -0.880551 +vn -0.630757 0.770806 -0.089206 +vn -0.720054 0.631672 -0.287179 +vn -0.712699 0.604327 -0.356059 +vn -0.773736 -0.616535 0.145573 +vn -0.853023 -0.487838 0.185278 +vn -0.730888 -0.632099 0.257271 +vn 0.639210 -0.763421 0.092318 +vn 0.686453 -0.723808 0.069826 +vn 0.753441 -0.654683 0.060762 +vn 0.825434 -0.559801 0.072237 +vn 0.889492 -0.450484 0.076235 +vn 0.930082 -0.355724 0.091464 +vn 0.937986 -0.328715 0.109928 +vn 0.942320 -0.310099 0.125736 +vn 0.959410 -0.241096 0.146092 +vn 0.972777 -0.146306 0.179601 +vn 0.969573 -0.096622 0.224891 +vn 0.970702 -0.078707 0.226997 +vn 0.975616 -0.038850 0.215918 +vn 0.976379 0.063082 0.206580 +vn 0.959166 0.200720 0.199103 +vn 0.906308 0.347423 0.240577 +vn 0.853847 0.459212 0.245033 +vn 0.991302 0.107181 0.076022 +vn 0.991699 0.107150 0.070803 +vn 0.994201 0.083346 0.067476 +vn 0.993683 0.091067 0.065096 +vn 0.992889 0.104099 0.057466 +vn 0.994079 0.091556 0.058229 +vn 0.987182 0.126316 0.097415 +vn 0.984710 0.144353 0.097201 +vn 0.983184 0.160649 0.086612 +vn 0.968963 0.221381 0.109958 +vn 0.957762 0.265664 0.109928 +vn 0.945921 0.301523 0.119388 +vn 0.924375 0.355327 0.138737 +vn 0.902585 0.403211 0.150731 +vn 0.902493 0.406384 0.142552 +vn 0.925108 0.360698 0.118442 +vn 0.925565 0.358654 0.120914 +vn 0.908139 0.405896 0.102573 +vn 0.888577 0.449782 0.089969 +vn 0.981353 -0.173864 0.081637 +vn 0.185797 -0.094821 0.977966 +vn 0.832209 0.525834 0.175726 +vn 0.904050 0.369427 0.214942 +vn 0.924955 0.317789 0.208411 +vn 0.891446 0.354289 0.282388 +vn 0.827906 0.425428 0.365459 +vn 0.942595 0.169378 0.287759 +vn 0.968139 -0.113193 0.223334 +vn 0.982177 -0.002319 0.187780 +vn -0.143101 0.151189 -0.978057 +vn 0.586657 -0.803766 0.098605 +vn 0.646138 -0.760216 0.067415 +vn 0.586444 -0.802759 0.107639 +vn 0.683554 -0.722221 0.105472 +vn 0.758110 -0.648579 0.067568 +vn 0.822932 -0.564196 0.066713 +vn 0.884762 -0.457472 0.088839 +vn 0.934446 -0.350963 0.060152 +vn 0.937468 -0.339152 0.077975 +vn 0.942900 -0.321268 0.087649 +vn 0.957305 -0.265603 0.113804 +vn 0.973907 -0.174718 0.144719 +vn -0.842158 0.456435 -0.286996 +vn 0.725578 0.481277 0.491775 +vn -0.141331 0.245155 -0.959105 +vn 0.172399 0.713706 0.678854 +vn -0.105960 0.257118 -0.960540 +vn -0.174078 -0.878292 0.445235 +vn -0.207678 -0.893643 0.397809 +vn -0.321085 -0.859218 0.398236 +vn -0.519517 0.822901 0.229957 +vn -0.539079 0.832453 0.127812 +vn -0.482772 0.874569 -0.045076 +vn -0.397626 0.902799 -0.163640 +vn -0.369335 0.915830 -0.157537 +vn -0.336894 0.926298 -0.168615 +vn -0.300821 0.932463 -0.199988 +vn -0.265603 0.945738 -0.187048 +vn -0.256600 0.954833 -0.149724 +vn -0.004273 0.999969 0.001740 +vn -0.026643 0.999512 0.015229 +vn 0.022797 0.998657 -0.046449 +vn 0.056337 0.996582 -0.059999 +vn 0.048982 0.997650 -0.047273 +vn -0.050142 0.995849 0.075594 +vn -0.255837 0.959410 -0.118564 +vn 0.055300 0.994659 -0.086978 +vn 0.046907 0.991821 -0.118625 +vn -0.241768 0.961577 -0.129826 +vn -0.235817 0.965667 -0.108921 +vn -0.221503 0.972289 -0.074587 +vn -0.247383 0.968596 -0.024445 +vn 0.066408 0.988861 -0.132969 +vn 0.001740 0.999329 0.036348 +vn 0.053652 0.992584 -0.108951 +vn 0.058321 0.990265 -0.126255 +vn -0.016755 0.999847 0.000458 +vn 0.011902 0.999268 -0.035981 +vn -0.004913 0.999725 -0.022126 +vn 0.029878 0.998810 -0.038514 +vn 0.027955 0.999512 -0.013550 +vn 0.236488 0.969207 0.068209 +vn 0.190191 0.976928 0.096896 +vn 0.138615 0.978545 0.152257 +vn 0.050172 0.994629 -0.090487 +vn -0.283700 0.958647 0.022034 +vn -0.320994 0.927671 -0.190619 +vn -0.323069 0.918455 -0.228004 +vn -0.322367 0.916898 -0.235206 +vn -0.289102 0.956145 0.046754 +vn -0.004273 0.990234 -0.139134 +vn 0.046663 0.989624 -0.135868 +vn 0.163366 0.976135 0.142949 +vn 0.123600 0.973998 0.189764 +vn 0.112980 0.962401 0.246925 +vn 0.107822 0.960967 0.254677 +vn 0.126988 0.963652 0.234901 +vn 0.092898 0.952483 0.290017 +vn 0.043672 0.942259 0.332011 +vn 0.036775 0.949736 0.310770 +vn 0.003784 0.933317 0.358989 +vn 0.644490 0.636128 0.424146 +vn 0.621937 0.607105 0.494522 +vn 0.721366 0.536454 0.437910 +vn 0.020783 0.931913 0.362072 +vn 0.010620 0.921995 0.386975 +vn 0.013031 0.917020 0.398602 +vn -0.732566 0.306131 -0.607929 +vn -0.799493 0.092654 -0.593463 +vn -0.264657 0.961913 0.068026 +vn -0.322611 0.936399 0.137852 +vn -0.822901 0.008454 -0.568072 +vn -0.900784 0.043123 -0.432051 +vn -0.011567 0.897153 0.441481 +vn 0.010987 0.865352 0.501022 +vn 0.035279 0.837581 0.545122 +vn 0.022309 0.881222 0.472152 +vn 0.563128 0.675314 0.476241 +vn 0.604785 0.626911 0.491104 +vn 0.627277 0.623371 0.466781 +vn -0.002716 0.830622 0.556810 +vn 0.058657 0.801080 0.595630 +vn 0.590625 0.619709 0.516770 +vn 0.747948 0.595599 0.292886 +vn 0.725913 0.640034 0.251717 +vn 0.466903 0.733238 0.494247 +vn 0.507553 0.711142 0.486435 +vn 0.794855 0.514786 0.321177 +vn 0.529710 0.696036 0.484634 +vn 0.483322 0.714194 0.506241 +vn 0.573412 0.657491 0.488723 +vn 0.678304 0.551988 0.484909 +vn 0.525132 0.690542 0.497299 +vn 0.041169 0.763543 0.644429 +vn 0.679373 0.651143 0.338237 +vn 0.770898 0.522843 0.363750 +vn 0.001007 0.797601 0.603168 +vn 0.020783 0.775964 0.630421 +vn 0.077334 0.741111 0.666890 +vn -0.373699 0.908505 0.186926 +vn -0.887570 0.019349 -0.460219 +vn -0.383862 0.899380 0.209021 +vn 0.358684 -0.923093 0.138585 +vn 0.669973 0.736137 0.095920 +vn 0.820307 0.538987 0.191137 +vn 0.553209 0.669820 0.495193 +vn 0.581561 0.655721 0.481429 +vn 0.194525 0.917508 0.346873 +vn 0.052309 0.933103 0.355724 +vn 0.144353 0.940580 0.307321 +vn -0.374493 0.835200 0.402661 +vn -0.323252 0.832881 0.449202 +vn 0.196539 0.930784 0.308206 +vn -0.415754 0.853908 0.312967 +vn -0.202612 -0.511887 -0.834803 +vn -0.403577 0.806116 0.432722 +vn 0.284005 0.905087 0.316416 +vn -0.984741 0.163335 -0.059816 +vn 0.283883 0.938841 0.194861 +vn 0.267434 0.942320 0.201239 +vn 0.267129 0.875088 0.403516 +vn -0.013215 0.906186 0.422651 +vn -0.564806 0.741600 0.361919 +vn -0.375317 0.887783 0.266335 +vn -0.616016 0.723533 0.311441 +vn 0.022797 0.759087 0.650563 +vn 0.070040 0.726920 0.683126 +vn -0.459151 0.845485 0.272530 +vn 0.168859 -0.863582 0.475051 +vn 0.146031 0.848964 0.507859 +vn 0.223273 0.809351 0.543199 +vn 0.775994 0.484054 0.404340 +vn 0.028169 0.846797 0.531114 +vn -0.084933 0.865749 0.493179 +vn -0.839015 0.118351 -0.531053 +vn -0.914151 0.104434 -0.391614 +vn -0.896939 0.119083 -0.425764 +vn 0.109348 0.707511 0.698141 +vn 0.582415 0.811762 -0.042055 +vn 0.859951 0.436354 0.264626 +vn -0.772576 0.404279 0.489547 +vn -0.808100 0.389843 0.441542 +vn 0.129460 0.989746 0.060213 +vn 0.346446 0.935728 0.065828 +vn 0.331553 0.941221 0.064272 +vn 0.445998 0.894742 0.022156 +vn -0.276986 0.840907 0.464888 +vn -0.230537 0.843471 0.485122 +vn 0.162297 0.670766 0.723655 +vn -0.559221 0.757530 0.336711 +vn -0.601978 0.731803 0.319407 +vn 0.780633 0.544939 0.305918 +vn 0.604999 0.746574 0.276650 +vn -0.420331 0.777276 0.468093 +vn 0.695090 0.495560 0.520798 +vn 0.719108 0.694632 0.017762 +vn 0.689962 0.712882 -0.125340 +vn -0.266030 0.846980 0.460219 +vn 0.857723 0.497696 0.128758 +vn 0.791772 0.596118 0.133000 +vn 0.862606 0.504654 0.034333 +vn 0.082308 0.986084 -0.144383 +vn 0.057863 0.984466 -0.165593 +vn 0.097751 0.980651 -0.169530 +vn 0.008240 0.973785 -0.227210 +vn 0.894681 0.422163 0.145940 +vn 0.911832 0.400922 0.088321 +vn -0.924528 0.302622 0.231544 +vn -0.943510 0.284036 0.170537 +vn -0.915036 0.354411 0.192572 +vn 0.524552 0.681112 0.510758 +vn 0.476852 0.720389 0.503586 +vn 0.037416 0.892300 0.449812 +vn -0.443831 -0.114414 0.888760 +vn 0.297891 0.809320 0.506149 +vn -0.858089 0.110141 0.501511 +vn -0.825404 0.022950 0.564043 +vn -0.313273 0.898007 0.308847 +vn -0.450453 0.823298 0.345286 +vn 0.718680 0.602100 0.347728 +vn -0.890347 -0.454634 -0.023225 +vn -0.903165 -0.392468 -0.173925 +vn 0.662435 0.606708 0.439375 +vn 0.718009 0.521744 0.460616 +vn 0.615467 0.604022 0.506272 +vn 0.709311 0.596637 0.375317 +vn 0.554796 0.622364 0.552110 +vn -0.014344 0.996612 0.080630 +vn -0.129337 0.991455 -0.016083 +vn -0.115940 0.993225 0.006317 +vn -0.149510 0.932493 0.328715 +vn -0.331584 0.886044 0.323893 +vn 0.122166 -0.992492 -0.004334 +vn 0.108921 0.987182 -0.116428 +vn -0.705222 0.568163 0.424024 +vn -0.745170 0.541215 0.389569 +vn 0.372021 0.847804 0.377850 +vn 0.935514 0.017731 -0.352763 +vn 0.779015 0.549181 -0.302408 +vn 0.783074 0.558946 -0.272683 +vn 0.683096 0.679983 0.266305 +vn 0.646321 0.685415 0.335307 +vn 0.602985 0.667104 0.437391 +vn 0.544725 0.662435 0.514206 +vn 0.469985 0.674337 0.569475 +vn 0.081454 0.835719 0.543046 +vn 0.124912 0.775170 0.619251 +vn 0.033998 0.925779 0.376507 +vn -0.818140 0.132145 0.559618 +vn 0.142674 0.989624 -0.016419 +vn 0.358959 0.928983 0.090060 +vn 0.394299 0.915860 0.075381 +vn 0.709494 0.658132 -0.251839 +vn 0.670064 0.706656 -0.227180 +vn 0.771966 0.597644 -0.216437 +vn 0.728965 0.671102 -0.134800 +vn -0.814661 0.196539 0.545579 +vn -0.858730 0.201392 0.471145 +vn 0.773705 0.617481 -0.141545 +vn 0.732170 0.677389 -0.070803 +vn 0.051088 0.468215 -0.882107 +vn -0.055452 0.528398 -0.847163 +vn 0.686514 0.727012 -0.010346 +vn 0.652089 0.752708 0.090274 +vn 0.636830 0.746666 0.192114 +vn 0.596637 0.758049 0.263344 +vn 0.565813 0.762108 0.314585 +vn 0.509415 0.759972 0.403546 +vn 0.449568 0.738304 0.502731 +vn 0.373058 0.730552 0.571917 +vn 0.278451 0.716544 0.639515 +vn -0.992004 -0.049104 0.116062 +vn -0.989868 -0.012391 0.141301 +vn 0.196173 0.732810 0.651509 +vn 0.438795 0.721885 0.535081 +vn 0.471236 0.719047 0.510758 +vn -0.154912 0.960387 0.231574 +vn 0.801569 0.552812 0.227699 +vn 0.760063 0.586413 0.279946 +vn 0.746269 0.596088 0.296213 +vn 0.782067 0.543504 0.304849 +vn 0.732109 0.592700 0.335673 +vn 0.761528 0.551927 0.339671 +vn -0.284585 0.819025 0.498154 +vn -0.314493 0.811243 0.492843 +vn -0.518082 0.839625 0.163030 +vn -0.546190 0.820399 0.168981 +vn -0.490799 0.561510 0.666158 +vn 0.669454 0.725425 -0.159795 +vn 0.632832 0.769463 -0.086123 +vn 0.583392 0.811609 -0.029603 +vn 0.550493 0.833583 0.045473 +vn 0.523087 0.838893 0.150365 +vn 0.511307 0.831690 0.216285 +vn 0.482467 0.821955 0.302591 +vn 0.419843 0.820185 0.388562 +vn 0.343913 0.803308 0.486190 +vn 0.253059 0.791131 0.556810 +vn 0.178533 0.759453 0.625538 +vn 0.087069 -0.979461 -0.181829 +vn 0.454909 -0.680837 -0.573992 +vn -0.834376 0.095218 0.542894 +vn -0.880795 0.100558 0.462661 +vn -0.884579 0.244850 0.396893 +vn 0.710746 0.597888 0.370586 +vn 0.736961 0.570727 0.362133 +vn 0.688620 0.626423 0.365154 +vn 0.731010 0.571947 0.372051 +vn -0.157323 0.871670 0.464095 +vn -0.208106 0.841029 0.499313 +vn 0.661458 0.640126 0.390698 +vn 0.719962 0.580645 0.380108 +vn 0.593402 0.723167 0.353404 +vn 0.625904 0.718863 0.302377 +vn 0.661611 0.690848 0.291452 +vn 0.825770 0.544298 0.147649 +vn 0.609363 0.746147 -0.268105 +vn 0.576373 0.796533 -0.182440 +vn 0.519364 0.849544 -0.092074 +vn 0.459426 0.886837 -0.049104 +vn 0.419416 0.907712 -0.010743 +vn 0.425123 0.900174 0.094516 +vn 0.430311 0.882809 0.188269 +vn 0.354961 0.896237 0.265969 +vn 0.257424 0.897519 0.357982 +vn 0.171392 0.878414 0.446059 +vn 0.107334 0.852901 0.510880 +vn 0.059786 0.813166 0.578906 +vn -0.211341 -0.353252 0.911313 +vn -0.543382 -0.112064 0.831935 +vn 0.047609 0.762596 0.645070 +vn 0.500595 0.820246 -0.276620 +vn 0.665151 0.686056 0.294687 +vn -0.853633 0.022584 0.520341 +vn -0.881497 0.036805 0.470717 +vn 0.617969 0.662282 0.423627 +vn 0.679891 0.613849 0.401074 +vn 0.575793 0.698630 0.424665 +vn 0.640675 0.646718 0.413831 +vn -0.152593 0.901517 0.404920 +vn 0.642872 0.594256 -0.483261 +vn 0.480911 0.728111 -0.488388 +vn 0.528550 0.801904 -0.278420 +vn 0.466628 0.864437 -0.186956 +vn 0.434645 0.894772 -0.102084 +vn 0.396771 0.917386 -0.030915 +vn 0.343547 0.938810 -0.023408 +vn 0.313852 0.949400 0.009705 +vn 0.302103 0.942473 0.143071 +vn 0.202643 0.943266 0.263009 +vn 0.114505 0.931120 0.346233 +vn 0.061129 0.909879 0.410321 +vn 0.016785 0.882870 0.469283 +vn -0.015015 0.843959 0.536180 +vn -0.073550 0.800378 0.594928 +vn -0.536058 0.460067 -0.707755 +vn -0.524583 0.424238 -0.738090 +vn -0.588458 0.545366 -0.596881 +vn 0.773034 0.384808 0.504227 +vn 0.521897 0.730796 0.439894 +vn 0.606830 0.675680 0.418500 +vn -0.134068 0.929533 0.343425 +vn 0.443983 0.771203 0.456160 +vn 0.537004 0.731529 0.420057 +vn 0.352947 0.817164 0.455672 +vn 0.472457 0.778985 0.412214 +vn -0.457808 -0.793756 0.400372 +vn -0.830500 -0.049409 0.554796 +vn 0.394910 0.862575 -0.316141 +vn -0.714042 -0.684439 -0.147160 +vn -0.722861 -0.635487 -0.271218 +vn 0.374767 0.904141 -0.204962 +vn 0.334880 0.932859 -0.132542 +vn 0.315073 0.947783 -0.048708 +vn 0.277352 0.960723 -0.004151 +vn 0.215613 0.976470 -0.003235 +vn 0.153233 0.983856 0.092349 +vn 0.080538 0.969604 0.230964 +vn 0.028230 0.947935 0.317118 +vn 0.013031 0.920499 0.390454 +vn -0.095157 0.892453 0.440962 +vn -0.146397 0.868954 0.472701 +vn -0.203375 0.825495 0.526444 +vn -0.294687 0.867580 0.400494 +vn -0.111820 0.947600 0.299173 +vn -0.106326 0.948454 0.298441 +vn 0.209143 0.847713 0.487442 +vn 0.367595 0.791986 0.487442 +vn 0.045564 0.867428 0.495437 +vn 0.241249 0.857112 0.455092 +vn -0.180639 0.868801 0.460982 +vn 0.064272 0.884976 0.461135 +vn -0.111423 0.890255 0.441572 +vn 0.847285 0.524461 0.083773 +vn 0.861629 0.504318 0.056795 +vn 0.866970 0.491104 0.084323 +vn -0.868068 0.486343 0.099490 +vn -0.320048 0.926389 -0.198340 +vn 0.233467 0.939879 -0.249153 +vn 0.211005 0.963469 -0.164769 +vn 0.190161 0.977813 -0.087710 +vn 0.153661 0.988037 -0.012238 +vn 0.090609 0.995880 -0.001373 +vn 0.015107 0.998169 0.058504 +vn -0.065096 0.980865 0.183355 +vn -0.073092 0.966033 0.247749 +vn -0.168035 0.924894 0.340983 +vn -0.249031 0.892361 0.376324 +vn -0.263436 0.871761 0.413038 +vn -0.275948 0.836573 0.473220 +vn -0.267678 0.883785 0.383679 +vn -0.100345 0.957732 0.269509 +vn -0.546648 0.789758 0.278237 +vn -0.671499 0.698508 0.247200 +vn -0.357128 0.883480 0.303079 +vn -0.631031 0.733665 0.251961 +vn 0.173833 0.870602 0.460219 +vn 0.171087 0.853938 0.491409 +vn -0.931028 0.102054 -0.350291 +vn 0.022706 -0.999176 -0.032929 +vn -0.873196 0.477615 -0.096713 +vn -0.879269 0.420087 -0.224372 +vn -0.669118 -0.279550 -0.688528 +vn -0.957701 0.222419 0.182409 +vn -0.931303 0.298379 0.208777 +vn -0.963439 0.198126 0.180303 +vn 0.091525 0.976287 -0.196112 +vn 0.052919 0.989929 -0.131108 +vn 0.024751 0.998535 -0.048006 +vn -0.004547 0.999878 0.014222 +vn -0.071108 0.995270 0.065767 +vn -0.098697 0.982910 0.155309 +vn -0.207801 0.949187 0.236305 +vn -0.282571 0.908322 0.308329 +vn -0.274575 0.896023 0.348827 +vn -0.282815 0.876339 0.389843 +vn -0.144383 0.861354 0.487014 +vn 0.012452 0.794763 0.606769 +vn 0.404645 0.901395 0.154057 +vn -0.118900 0.206915 -0.971068 +vn 0.058046 0.374737 -0.925291 +vn 0.108646 0.128178 -0.985778 +vn -0.469253 0.850246 -0.238380 +vn -0.143864 0.820154 0.553728 +vn -0.632832 -0.144383 0.760674 +vn -0.836695 0.525071 -0.155522 +vn -0.644398 -0.764153 -0.027772 +vn -0.909207 -0.412763 -0.054231 +vn -0.913785 -0.397504 -0.083316 +vn -0.029633 0.973754 -0.225562 +vn -0.054506 0.986236 -0.155980 +vn -0.068148 0.994598 -0.078066 +vn -0.090030 0.995605 -0.025758 +vn -0.099429 0.993439 0.055940 +vn -0.184301 0.967986 0.170232 +vn -0.296060 0.921201 0.252358 +vn -0.255196 0.921476 0.292734 +vn -0.116428 0.917447 0.380383 +vn 0.079806 0.861354 0.501663 +vn 0.268197 0.830683 0.487838 +vn -0.172033 0.967101 0.187323 +vn -0.192328 0.947478 0.255440 +vn -0.220496 0.946287 0.236396 +vn 0.851497 0.524155 0.014252 +vn 0.869076 0.491134 0.058809 +vn 0.857723 0.508621 0.074648 +vn -0.647237 0.408399 -0.643635 +vn -0.711936 0.333415 -0.618000 +vn -0.094150 0.976379 0.194433 +vn -0.069094 0.969054 0.236885 +vn -0.052553 0.976287 0.209906 +vn -0.636097 0.716544 -0.286172 +vn -0.554216 0.812799 -0.179357 +vn -0.691794 0.658284 -0.296731 +vn -0.417982 0.873867 -0.248207 +vn -0.548448 0.746727 -0.376232 +vn -0.358013 0.905087 -0.229286 +vn -0.318918 0.919584 -0.229347 +vn -0.302011 0.929014 -0.213752 +vn -0.298318 0.935789 -0.187750 +vn -0.283792 0.946348 -0.154485 +vn -0.277535 0.949126 -0.148656 +vn -0.960570 0.056764 0.272103 +vn -0.961180 -0.033815 -0.273751 +vn -0.962737 -0.155980 -0.220801 +vn -0.975707 0.219001 0.005005 +vn -0.089084 0.968413 -0.232765 +vn 0.016602 0.955901 -0.293130 +vn 0.106601 0.922849 -0.370037 +vn 0.010376 0.929106 -0.369610 +vn -0.097110 0.978088 -0.184057 +vn -0.098697 0.988067 -0.118015 +vn -0.075350 0.996857 -0.023530 +vn -0.112339 0.991333 0.067629 +vn -0.101016 0.960906 0.257668 +vn 0.094455 0.932829 0.347636 +vn 0.298441 0.848903 0.436171 +vn 0.536637 0.717521 0.443953 +vn 0.636006 0.537736 0.553453 +vn 0.821894 0.303323 0.482131 +vn 0.155980 0.950804 0.267617 +vn -0.289224 0.726829 0.622913 +vn -0.378338 0.747490 0.545946 +vn 0.854030 0.518204 0.045625 +vn -0.067537 0.990387 0.120640 +vn -0.021882 0.989441 0.143193 +vn -0.014618 0.996063 0.087344 +vn -0.042116 0.997742 0.051820 +vn 0.034150 0.999146 -0.022889 +vn 0.001343 0.999939 0.010651 +vn -0.273904 0.951659 -0.138920 +vn 0.024720 0.999420 -0.022462 +vn -0.283670 0.953825 -0.098422 +vn -0.314158 0.948851 -0.031129 +vn -0.336558 0.941649 0.002930 +vn -0.315012 0.949065 0.003174 +vn -0.947752 -0.212500 0.237800 +vn -0.906278 -0.389355 0.164464 +vn -0.565325 -0.290750 -0.771905 +vn -0.704520 0.094363 -0.703360 +vn -0.555498 -0.084384 -0.827204 +vn -0.071322 0.951170 -0.300302 +vn -0.072298 0.930509 -0.358989 +vn -0.744774 -0.563158 0.357891 +vn -0.806238 -0.432325 0.403760 +vn -0.065065 0.980407 -0.185766 +vn -0.094150 0.959441 -0.265603 +vn -0.041261 0.987274 -0.153539 +vn 0.043214 0.996918 -0.065096 +vn 0.139622 0.984191 0.108829 +vn 0.390759 0.882351 0.262154 +vn 0.637379 0.693411 0.335978 +vn 0.788659 0.493088 0.367199 +vn 0.871609 0.316233 0.374462 +vn -0.159368 0.893979 0.418744 +vn 0.069491 0.893216 0.444197 +vn -0.024262 0.691000 0.722434 +vn -0.148534 0.952818 -0.264657 +vn 0.869381 0.493179 -0.030152 +vn 0.429212 0.881619 0.196204 +vn -0.351421 0.740074 0.573351 +vn -0.327677 0.805780 0.493271 +vn -0.206732 0.917020 0.341014 +vn -0.078066 0.977783 0.194494 +vn 0.012818 0.999146 -0.038606 +vn -0.323710 0.944762 0.051149 +vn -0.378155 0.915036 0.140263 +vn -0.383007 0.906980 0.175176 +vn -0.547624 0.764580 -0.339824 +vn -0.065065 0.371441 -0.926145 +vn -0.100192 0.389752 -0.915433 +vn -0.024171 0.333659 -0.942381 +vn -0.591845 -0.805170 0.037324 +vn 0.170873 0.961760 -0.213965 +vn -0.081759 0.942106 -0.325144 +vn 0.245155 0.960509 -0.131474 +vn 0.350475 0.930784 -0.103793 +vn 0.545030 0.838008 0.024964 +vn 0.773217 0.619404 0.135685 +vn 0.899503 0.373211 0.227119 +vn 0.956603 0.180090 0.229041 +vn 0.793023 0.481948 0.372539 +vn 0.041139 0.998352 0.039308 +vn -0.992431 0.122501 0.007416 +vn 0.239540 0.685446 0.687582 +vn 0.817042 0.568926 -0.093448 +vn 0.825404 0.562212 -0.050813 +vn 0.819666 0.572008 -0.030183 +vn 0.911069 0.359325 0.201910 +vn 0.053255 0.995544 0.077609 +vn 0.017457 0.997803 -0.063540 +vn 0.008911 0.997803 -0.065371 +vn 0.008209 0.996673 -0.080935 +vn 0.006806 0.993469 -0.113712 +vn 0.040040 -0.973174 -0.226508 +vn 0.044435 -0.975463 -0.215552 +vn 0.137883 -0.601611 -0.786767 +vn -0.963744 -0.016022 0.266305 +vn -0.982086 0.055635 0.179937 +vn 0.118107 0.292703 -0.948851 +vn 0.263100 0.257179 -0.929838 +vn 0.437208 0.420454 -0.795007 +vn 0.363414 0.277322 -0.889370 +vn 0.521409 0.173772 -0.835383 +vn 0.549272 0.158055 -0.820521 +vn 0.468947 0.041169 -0.882260 +vn 0.356243 0.206946 -0.911161 +vn 0.472884 0.309763 -0.824854 +vn 0.449873 0.161351 -0.878353 +vn 0.747948 -0.197333 -0.633717 +vn -0.054811 -0.997620 -0.041383 +vn 0.051759 0.037416 -0.997955 +vn -0.431349 0.812983 0.391064 +vn 0.089053 0.962279 -0.256935 +vn 0.682607 0.726371 -0.080050 +vn 0.570269 0.804621 -0.165380 +vn 0.823298 0.566729 -0.031098 +vn 0.910062 0.414136 0.015870 +vn 0.955473 0.287881 0.064638 +vn 0.987701 0.129215 0.087954 +vn 0.166631 0.912748 0.372967 +vn 0.185156 0.860042 0.475387 +vn -0.671346 -0.443251 -0.593951 +vn -0.744041 -0.383160 -0.547288 +vn -0.647298 -0.487106 -0.586261 +vn -0.686697 -0.233711 -0.688314 +vn -0.516404 -0.159429 -0.841334 +vn -0.567034 -0.223914 -0.792627 +vn -0.640278 0.693503 0.330241 +vn -0.678487 0.643910 0.353526 +vn 0.283639 0.917570 -0.278481 +vn 0.046999 -0.998321 -0.033631 +vn 0.052583 -0.998566 -0.008637 +vn 0.268868 0.943114 -0.195471 +vn 0.275948 0.924375 -0.263344 +vn 0.241035 0.919248 0.311167 +vn 0.258034 0.904202 0.340251 +vn -0.978271 0.206427 -0.017609 +vn -0.018403 0.999725 0.013703 +vn -0.036073 0.998962 -0.027009 +vn 0.018128 0.948912 0.314920 +vn -0.193335 0.917844 0.346629 +vn 0.825587 0.347209 0.444746 +vn 0.103030 0.994537 0.016511 +vn 0.001892 0.990997 -0.133763 +vn -0.020051 0.986145 -0.164647 +vn 0.323038 0.909787 -0.260475 +vn 0.144322 0.932035 -0.332347 +vn 0.034455 -0.997467 0.061922 +vn 0.005005 -0.999359 0.035096 +vn 0.019837 -0.999023 0.039399 +vn -0.846126 -0.003784 0.532945 +vn -0.887204 -0.005982 0.461287 +vn 0.556993 0.795465 0.238685 +vn 0.298288 0.920621 0.251930 +vn -0.497696 0.822535 0.275094 +vn -0.625050 0.717643 0.306986 +vn -0.582507 0.687551 0.433515 +vn -0.760430 0.511826 0.399670 +vn -0.040529 0.007263 -0.999146 +vn -0.873745 0.311472 0.373547 +vn -0.129215 -0.148778 -0.980377 +vn -0.203528 -0.180395 -0.962279 +vn -0.091830 -0.204474 -0.974548 +vn -0.976562 0.209906 -0.047304 +vn -0.988678 -0.045503 -0.142888 +vn -0.879147 -0.400372 0.258431 +vn -0.421216 0.898618 -0.122410 +vn 0.873318 0.477859 -0.094577 +vn 0.945524 0.320017 -0.059267 +vn 0.539140 0.816309 -0.207190 +vn 0.166570 0.985961 -0.010651 +vn 0.213080 0.976806 0.019929 +vn 0.231056 0.972228 -0.037141 +vn -0.085726 0.991699 -0.095492 +vn -0.100101 0.988647 -0.111881 +vn -0.307566 0.885159 0.349101 +vn 0.124210 0.955199 0.268593 +vn -0.573717 0.656819 -0.489273 +vn -0.875759 0.110446 0.469924 +vn -0.835414 -0.517838 0.184057 +vn 0.233131 0.924528 -0.301401 +vn 0.668508 0.637226 0.383404 +vn -0.966765 0.255257 -0.012818 +vn 0.208563 0.965941 -0.152959 +vn 0.253731 0.954588 -0.155950 +vn -0.640767 0.188696 -0.744163 +vn -0.659566 0.326548 -0.676992 +vn -0.648305 0.288583 -0.704520 +vn 0.279061 0.953063 0.117191 +vn 0.139256 0.984619 0.105289 +vn 0.754143 0.561296 0.340770 +vn 0.749870 0.539567 0.382794 +vn -0.004791 0.989441 -0.144780 +vn 0.129917 0.991455 0.011383 +vn -0.727470 -0.675161 0.122074 +vn -0.959777 -0.278695 0.033784 +vn 0.801843 0.564501 0.195898 +vn 0.746605 0.616688 0.249489 +vn 0.719748 0.634053 0.282601 +vn -0.932524 0.314188 0.177862 +vn -0.992706 0.072207 0.096408 +vn 0.720267 0.629749 0.290811 +vn -0.856807 -0.254707 0.448286 +vn 0.765893 0.529496 -0.364696 +vn -0.006378 0.723197 0.690603 +vn 0.994537 0.051332 0.090793 +vn 0.650746 0.647053 0.397259 +vn 0.567186 0.749168 0.342082 +vn 0.674398 0.666463 0.317728 +vn 0.184637 0.982055 -0.037751 +vn 0.250404 0.966521 -0.055788 +vn 0.183081 0.977386 -0.105564 +vn 0.225745 0.941343 0.250740 +vn 0.447829 0.856899 0.255135 +vn 0.375988 0.899350 0.223090 +vn 0.449263 0.872951 0.189856 +vn -0.968963 0.243934 -0.039521 +vn -0.775292 -0.549547 0.311197 +vn 0.652699 0.672506 0.348796 +vn 0.225349 0.938719 0.260689 +vn -0.992553 0.121525 0.005127 +vn -0.421827 -0.386547 -0.820124 +vn -0.339030 -0.326304 -0.882351 +vn -0.221381 0.947020 -0.232643 +vn -0.192480 0.944762 -0.265175 +vn -0.208563 0.943846 -0.256142 +vn 0.835475 0.548845 -0.027192 +vn 0.848842 0.528611 0.001709 +vn -0.192450 0.976714 0.094729 +vn -0.194922 0.974975 0.106632 +vn -0.171392 0.977172 0.125492 +vn 0.129795 0.991302 0.020753 +vn 0.686239 0.650227 0.325968 +vn -0.570238 -0.800562 0.184149 +vn 0.636128 0.674367 0.374889 +vn 0.595691 0.706198 0.382611 +vn -0.148503 -0.622333 0.768517 +vn -0.174169 -0.518937 0.836848 +vn 0.102878 -0.020325 -0.994476 +vn 0.558855 0.742759 0.368725 +vn -0.603534 -0.778069 0.174108 +vn -0.627461 -0.761406 0.162908 +vn 0.528214 0.734642 0.425703 +vn 0.515152 0.613941 0.598010 +vn -0.439711 0.862850 -0.249153 +vn 0.215186 0.949431 -0.228584 +vn 0.393200 0.891873 -0.223426 +vn 0.204871 0.962279 -0.178838 +vn 0.733848 0.591205 0.334483 +vn 0.127079 0.963652 0.234962 +vn 0.315348 0.948973 0.000366 +vn 0.219733 0.975524 0.001465 +vn 0.196142 0.980468 -0.012665 +vn 0.194922 0.975463 -0.102329 +vn 0.515244 0.797357 0.314219 +vn 0.647420 0.693533 0.315958 +vn 0.615650 0.713004 0.335490 +vn 0.229255 0.962432 -0.145360 +vn 0.194861 0.972716 -0.125797 +vn 0.456435 0.863735 0.213507 +vn -0.106357 0.988250 -0.109531 +vn -0.121891 0.992218 0.024079 +vn -0.109867 0.992859 0.046419 +vn 0.508988 0.804865 0.305094 +vn 0.158849 0.971892 -0.173681 +vn -0.318491 0.810663 0.491256 +vn 0.277474 0.948607 0.152135 +vn -0.039674 0.993530 -0.106204 +vn 0.017945 0.993866 -0.108921 +vn -0.293527 -0.223518 -0.929441 +vn 0.147008 0.988983 0.015656 +vn 0.144444 0.989471 0.007385 +vn 0.469253 0.757775 0.453352 +vn 0.385968 0.808893 0.443464 +vn 0.312693 0.828913 0.463790 +vn 0.197638 0.855190 0.479080 +vn 0.016266 0.863521 0.504044 +vn -0.244392 0.836573 0.490249 +vn -0.431257 0.802210 0.412824 +vn -0.137974 0.164647 -0.976623 +vn -0.675405 0.646413 0.354869 +vn -0.522965 0.746452 0.411389 +vn 0.832881 0.552355 -0.034700 +vn 0.129887 0.991424 -0.013062 +vn 0.092441 0.995239 0.029908 +vn 0.171422 0.984741 0.028962 +vn 0.109653 0.991150 0.074526 +vn -0.494736 0.814661 0.302469 +vn 0.060366 0.994751 -0.082369 +vn 0.277902 0.943693 -0.179296 +vn 0.317759 0.901975 0.292306 +vn 0.164129 0.982543 -0.087436 +vn 0.178899 0.981567 -0.067110 +vn 0.178869 0.981597 -0.066408 +vn 0.168462 0.981933 -0.085849 +vn 0.149693 0.983917 -0.097110 +vn 0.174749 0.980560 -0.088931 +vn 0.519852 0.782525 0.342601 +vn 0.566485 0.753471 0.333689 +vn 0.304300 0.935240 -0.180792 +vn 0.272195 0.949492 -0.155919 +vn 0.327677 0.924070 -0.196631 +vn 0.260445 0.961119 -0.091403 +vn 0.286050 0.952300 -0.106021 +vn 0.293252 0.943693 -0.153020 +vn 0.247322 0.965911 0.076113 +vn 0.203436 0.975433 0.084109 +vn 0.264718 0.963530 0.039033 +vn 0.173498 0.976928 0.124454 +vn 0.189489 0.974029 0.123722 +vn 0.406140 0.847011 -0.342875 +vn 0.453230 0.837886 -0.304086 +vn -0.938047 0.321909 0.128117 +vn 0.078799 0.993866 0.077303 +vn 0.150273 0.981048 -0.122257 +vn 0.173467 0.978607 -0.110508 +vn 0.302377 0.542558 -0.783685 +vn 0.786462 0.567553 -0.243538 +vn 0.832728 0.488845 0.259835 +vn -0.599414 0.696493 0.394360 +vn -0.018281 0.958708 0.283700 +vn -0.314005 0.839106 0.444136 +vn -0.083010 0.877987 0.471358 +vn -0.186407 0.832820 0.521195 +vn -0.267281 0.801752 0.534501 +vn -0.902463 0.406995 0.141026 +vn -0.209571 0.937864 0.276498 +vn -0.853420 -0.048708 0.518906 +vn -0.885952 -0.047761 0.461226 +vn -0.830683 -0.093295 0.548845 +vn -0.870846 -0.126743 0.474868 +vn -0.513169 0.827235 0.228736 +vn -0.775170 0.598956 0.200751 +vn -0.159825 0.844142 0.511704 +vn -0.507614 0.726859 0.462539 +vn -0.636677 0.713920 0.291421 +vn 0.133366 0.983825 0.119358 +vn -0.554888 0.756005 0.347148 +vn -0.577044 0.730522 0.365093 +vn -0.259499 0.964751 -0.043550 +vn 0.595325 0.771661 -0.223853 +vn 0.374920 0.914090 -0.154363 +vn -0.178106 0.967437 0.179724 +vn -0.250191 0.953551 0.167669 +vn -0.224860 0.941832 0.249672 +vn 0.741997 0.534928 0.404065 +vn 0.521012 0.799127 0.299844 +vn 0.528306 0.800653 0.282540 +vn 0.356914 0.932432 -0.056001 +vn 0.385784 0.920988 -0.053743 +vn 0.394024 0.915830 -0.077242 +vn 0.116337 0.977752 0.174444 +vn 0.100803 0.972808 0.208472 +vn 0.174230 0.963683 0.202246 +vn 0.215491 0.974578 0.060884 +vn -0.409040 0.370098 -0.834071 +vn -0.394818 0.407727 -0.823298 +vn -0.725822 0.343211 -0.596088 +vn -0.718253 0.491165 -0.492752 +vn 0.324747 0.913083 -0.246498 +vn -0.790307 -0.038697 -0.611438 +vn 0.290384 0.915067 0.279763 +vn 0.095737 0.190405 -0.977020 +vn 0.177618 0.296915 -0.938231 +vn 0.077761 0.226661 -0.970855 +vn 0.067446 0.790490 0.608722 +vn -0.268715 0.665426 0.696371 +vn -0.357768 0.892788 -0.273629 +vn -0.392712 0.866207 -0.308908 +vn -0.335734 0.906217 -0.256935 +vn -0.323008 0.921964 -0.213569 +vn -0.118473 0.866176 0.485458 +vn -0.094821 0.892331 0.441237 +vn -0.081149 0.923063 0.375988 +vn -0.074984 0.942442 0.325785 +vn -0.323710 0.927152 -0.188482 +vn -0.309610 0.936613 -0.163915 +vn -0.297861 0.942595 -0.150761 +vn -0.102237 0.943236 0.315928 +vn 0.174444 0.982940 -0.058168 +vn -0.070528 -0.824244 -0.561754 +vn -0.124729 -0.810877 -0.571734 +vn -0.177160 -0.779870 -0.600330 +vn -0.882107 0.434553 0.181646 +vn 0.856075 0.502579 0.120396 +vn 0.851680 0.513138 0.106143 +vn -0.132206 0.987762 -0.082614 +vn 0.722983 0.665273 0.186193 +vn 0.824824 0.550188 0.129978 +vn 0.696005 0.689596 0.199957 +vn 0.174627 0.979186 0.103366 +vn 0.169774 0.980346 0.100284 +vn 0.157018 0.973662 0.165227 +vn -0.067782 0.871456 0.485702 +vn 0.229591 0.861080 0.453658 +vn -0.119419 0.864162 0.488815 +vn -0.148167 0.881619 0.448012 +vn 0.294565 0.953429 -0.064516 +vn 0.343120 0.937437 -0.058901 +vn 0.384442 0.917447 -0.102268 +vn 0.370312 0.907956 -0.196081 +vn 0.367290 0.905057 -0.214301 +vn 0.157079 0.968291 0.194128 +vn -0.006531 0.961058 0.276254 +vn 0.062624 0.964476 0.256539 +vn -0.987945 0.039979 0.149541 +vn -0.987365 -0.082614 0.135136 +vn 0.129887 0.944151 0.302774 +vn -0.580309 0.329051 -0.744926 +vn -0.534379 0.327128 -0.779351 +vn 0.672292 0.613392 0.414380 +vn 0.374706 0.927091 0.007050 +vn 0.276925 0.960570 0.024445 +vn -0.287088 0.930692 0.226661 +vn -0.313730 0.912931 0.260933 +vn -0.261452 0.927488 0.267159 +vn -0.837550 -0.402051 0.369884 +vn -0.234291 0.934538 0.267739 +vn 0.130497 0.980621 0.145940 +vn 0.084811 0.971892 0.219581 +vn 0.084262 0.969665 0.229408 +vn -0.005890 0.961974 0.273019 +vn -0.010041 0.974700 0.223151 +vn -0.027589 0.964110 0.263985 +vn -0.019349 0.986541 0.162206 +vn -0.324625 0.939726 -0.107273 +vn -0.354167 0.934263 -0.041139 +vn -0.338176 0.940794 -0.022706 +vn -0.334605 0.942228 -0.015351 +vn -0.367595 0.928465 0.052583 +vn -0.401593 0.906766 0.128239 +vn 0.006561 0.993774 0.110965 +vn 0.085604 0.977599 0.192236 +vn -0.785241 -0.177984 0.593036 +vn 0.857051 0.503494 0.109043 +vn 0.834315 0.529649 0.152806 +vn 0.570177 0.788018 0.232154 +vn 0.146886 0.949400 0.277505 +vn 0.176458 0.939024 0.295022 +vn 0.096591 0.938810 0.330515 +vn 0.188757 0.969054 0.159001 +vn 0.189795 0.954833 0.228584 +vn 0.147282 0.962279 0.228614 +vn -0.042970 0.893277 0.447401 +vn -0.094760 0.908567 0.406812 +vn 0.271706 0.961730 -0.035035 +vn 0.298227 0.952635 -0.059297 +vn 0.329447 0.943449 -0.036531 +vn 0.390606 0.894620 -0.216865 +vn 0.400739 0.898099 -0.180975 +vn 0.531419 0.831568 0.161382 +vn 0.320383 0.946959 0.024598 +vn 0.274361 0.961516 0.013367 +vn 0.404065 0.889157 -0.214667 +vn 0.411512 0.882168 -0.228828 +vn 0.432691 0.855098 -0.285562 +vn 0.693289 0.593219 0.409131 +vn 0.434523 0.899655 0.042085 +vn 0.362621 0.922544 0.131870 +vn 0.839137 0.184667 0.511582 +vn 0.203650 0.855800 0.475448 +vn 0.057802 0.957427 0.282754 +vn 0.010498 0.997620 0.067873 +vn 0.075503 0.997040 0.013276 +vn -0.585650 0.789117 0.185034 +vn 0.032014 0.999390 0.012146 +vn -0.808924 -0.324992 0.489883 +vn -0.809992 -0.289865 0.509720 +vn -0.831874 -0.299661 0.467055 +vn -0.916807 0.337016 0.214057 +vn -0.674703 0.297586 -0.675405 +vn -0.636738 0.307840 -0.706931 +vn -0.683279 0.227058 -0.693899 +vn -0.008484 0.904599 0.426160 +vn -0.009125 0.877895 0.478713 +vn -0.041169 0.844722 0.533586 +vn 0.237342 0.890683 0.387707 +vn -0.192785 0.941710 0.275582 +vn 0.759056 0.580676 0.294290 +vn 0.761925 0.628712 -0.155431 +vn 0.785028 0.617054 -0.054201 +vn 0.896603 0.276681 0.345714 +vn 0.883206 0.406476 0.233863 +vn 0.907987 0.219794 0.356670 +vn -0.447218 0.765465 0.462630 +vn 0.299936 0.896054 0.327250 +vn 0.148991 0.907163 0.393475 +vn 0.460891 0.800348 0.383374 +vn -0.017304 0.932432 0.360851 +vn -0.005036 0.944304 0.328959 +vn 0.221625 0.975097 -0.002655 +vn 0.428083 0.881954 -0.197180 +vn -0.161657 0.983795 0.077364 +vn 0.353954 0.930967 -0.089450 +vn 0.341166 0.938963 -0.043703 +vn 0.395550 0.863308 -0.313303 +vn 0.372021 0.888333 -0.269143 +vn 0.304117 0.907804 -0.288736 +vn 0.381817 0.907193 -0.176550 +vn 0.171850 0.983795 0.051027 +vn 0.207068 0.975005 0.080416 +vn 0.576556 0.805078 0.139256 +vn 0.457747 0.854457 0.245643 +vn -0.262062 -0.915067 -0.306467 +vn 0.095035 0.980163 0.173864 +vn -0.890957 -0.288369 0.350688 +vn 0.627461 0.013611 -0.778497 +vn -0.017151 0.944639 0.327647 +vn 0.041231 0.998962 -0.018769 +vn 0.019013 0.999786 -0.007324 +vn -0.665365 0.707968 -0.236732 +vn -0.683126 0.612110 -0.398267 +vn 0.013367 0.998840 -0.046175 +vn -0.006653 0.998016 -0.062532 +vn 0.737419 0.637928 0.221870 +vn -0.013398 0.992279 -0.123112 +vn 0.019929 0.995209 -0.095614 +vn -0.042817 0.990631 -0.129551 +vn 0.002686 0.995056 -0.099185 +vn -0.032075 0.822138 0.568346 +vn -0.109500 0.992706 0.050325 +vn 0.357952 0.854793 0.375683 +vn 0.623676 0.620197 0.475723 +vn 0.639119 0.639912 0.426618 +vn 0.485855 0.810602 0.326853 +vn 0.527818 0.827113 -0.192969 +vn 0.735740 0.644520 -0.207892 +vn 0.875454 0.453352 0.167394 +vn 0.890957 0.379925 0.248634 +vn 0.578845 0.721183 0.380535 +vn 0.599048 0.596973 0.533586 +vn 0.210700 0.796167 0.567186 +vn 0.060183 0.957060 0.283456 +vn 0.035890 0.962127 0.270119 +vn 0.201483 0.978423 0.045534 +vn 0.230079 0.662038 -0.713248 +vn 0.241951 0.605701 -0.757988 +vn 0.358440 0.316019 -0.878414 +vn 0.353099 0.916105 -0.189734 +vn 0.551317 0.656941 0.514206 +vn 0.122562 0.822199 0.555803 +vn 0.768364 0.587451 0.253822 +vn 0.798364 0.560686 0.219520 +vn 0.810266 0.535447 0.238136 +vn -0.010590 0.939634 0.341990 +vn -0.084017 0.986114 -0.143040 +vn 0.694205 0.670888 0.260659 +vn -0.136235 0.973846 -0.181707 +vn 0.693411 0.673177 0.256813 +vn 0.662648 0.686544 0.299173 +vn 0.582293 0.738456 0.339946 +vn 0.536302 0.758873 0.369366 +vn 0.521867 0.753288 0.400220 +vn 0.472335 0.795831 0.378826 +vn 0.407788 0.824183 0.392926 +vn -0.468429 0.709464 -0.526505 +vn 0.323710 0.827967 0.457839 +vn 0.826685 -0.524613 -0.203253 +vn 0.261635 0.854152 0.449355 +vn -0.503372 0.698019 -0.509262 +vn -0.036134 0.802728 0.595203 +vn 0.156957 0.946562 0.281686 +vn 0.116092 0.935026 0.335002 +vn -0.072848 0.995270 -0.063845 +vn -0.120029 0.987518 -0.101810 +vn -0.060488 0.991577 -0.114383 +vn 0.868557 0.391461 0.303842 +vn 0.816218 0.560167 0.141270 +vn 0.718040 0.468337 0.514817 +vn 0.332347 0.780114 0.530045 +vn 0.071139 0.965209 0.251503 +vn 0.034639 0.973327 0.226661 +vn 0.215400 0.971435 0.099277 +vn 0.238716 0.915067 -0.325022 +vn 0.219642 0.941191 -0.256630 +vn 0.176946 0.937040 -0.301035 +vn -0.418928 0.888150 -0.188726 +vn 0.277078 0.930235 -0.240516 +vn 0.145207 0.910428 0.387280 +vn 0.037080 0.929106 0.367931 +vn 0.083560 0.903470 0.420362 +vn -0.013428 0.909604 0.415174 +vn -0.148412 0.880581 0.450026 +vn -0.016480 0.894345 0.447035 +vn -0.936186 -0.149022 0.318278 +vn 0.310160 0.937681 -0.156621 +vn 0.868007 0.481155 0.122562 +vn 0.883724 0.435286 0.171758 +vn -0.954497 -0.012543 0.297891 +vn 0.908536 0.341319 0.240852 +vn -0.958922 0.048830 0.279397 +vn -0.586016 0.605396 -0.538530 +vn 0.150060 0.869900 0.469832 +vn -0.042207 0.878475 0.475875 +vn 0.001831 0.926267 0.376782 +vn -0.621601 -0.538499 0.568834 +vn -0.584979 -0.511734 0.629200 +vn -0.639790 -0.450728 0.622486 +vn -0.283639 0.831141 0.478256 +vn -0.456191 0.768303 0.448988 +vn -0.725181 -0.232124 0.648244 +vn -0.818201 0.518174 0.248970 +vn -0.759789 0.557665 0.334208 +vn -0.900052 0.383801 0.206336 +vn -0.399792 0.862545 -0.310038 +vn -0.598865 0.799463 -0.046510 +vn -0.897153 0.440962 -0.024873 +vn 0.165105 0.738609 0.653554 +vn -0.014222 0.789758 0.613208 +vn 0.149968 0.697470 0.700705 +vn 0.147038 0.899167 0.412122 +vn 0.109012 0.904721 0.411756 +vn 0.161321 0.790948 0.590197 +vn 0.510392 0.845363 -0.157445 +vn 0.387402 0.918210 -0.082156 +vn 0.303446 0.945372 -0.119053 +vn 0.208289 0.968108 -0.139073 +vn 0.141942 0.982543 -0.119999 +vn 0.856960 0.415509 0.304819 +vn 0.661061 0.657796 0.360851 +vn 0.148869 0.976897 0.153294 +vn 0.123692 0.978973 0.162114 +vn 0.108554 0.977050 0.183264 +vn 0.107883 0.971526 0.210791 +vn 0.316691 0.919095 -0.234382 +vn 0.085452 0.936827 0.339152 +vn 0.227088 0.913572 0.337321 +vn -0.908414 0.193365 -0.370647 +vn -0.872799 0.319651 -0.368786 +vn 0.270547 0.959929 0.072726 +vn 0.235237 0.969909 0.062685 +vn 0.253029 0.953978 0.160894 +vn 0.241554 0.969848 0.031587 +vn 0.875118 0.364666 0.317972 +vn 0.914945 0.249397 0.317240 +vn -0.152593 0.981842 0.112400 +vn -0.161290 0.981689 0.101108 +vn -0.144932 0.979919 0.136876 +vn -0.865169 0.500443 0.031770 +vn -0.428877 0.777123 0.460524 +vn -0.378948 0.900204 -0.214515 +vn -0.369549 0.903256 -0.217994 +vn -0.776788 0.606983 0.167730 +vn -0.590716 0.790094 0.163549 +vn -0.358562 0.914731 -0.186132 +vn -0.369884 0.923124 -0.104862 +vn -0.368694 0.926695 -0.072695 +vn -0.354259 0.933836 -0.048921 +vn -0.389233 0.920896 -0.020203 +vn 0.333171 -0.874722 -0.351878 +vn -0.475326 0.873135 0.108066 +vn -0.935209 0.340007 0.098544 +vn 0.127750 0.986816 -0.099246 +vn -0.606220 0.748314 -0.269204 +vn -0.558550 0.817927 -0.137730 +vn -0.498032 0.865749 0.049135 +vn 0.092013 0.847133 0.523331 +vn -0.438673 0.841823 -0.314402 +vn -0.420423 0.852840 -0.309580 +vn -0.463301 0.823695 -0.326853 +vn 0.691092 0.717612 -0.085940 +vn 0.539537 0.841853 -0.011780 +vn 0.745384 0.666585 -0.005066 +vn 0.797479 0.603198 0.012421 +vn 0.733512 0.677328 0.055971 +vn 0.762505 0.524918 0.378155 +vn 0.165227 0.982543 0.085116 +vn -0.997131 0.003388 0.075411 +vn 0.218360 0.941221 0.257637 +vn 0.273049 0.921537 -0.275948 +vn 0.224250 0.889004 0.399152 +vn 0.188482 0.880490 0.434919 +vn 0.327097 0.944945 -0.004273 +vn 0.279183 0.960112 0.014252 +vn 0.320719 0.946501 -0.035371 +vn 0.306345 0.951872 0.005768 +vn -0.963286 0.244026 0.111820 +vn 0.368572 0.929228 -0.025788 +vn 0.357707 0.929960 -0.084597 +vn -0.162236 0.888516 0.429182 +vn 0.285653 0.954070 -0.089999 +vn 0.287606 0.956908 -0.039247 +vn 0.266732 0.963286 -0.029939 +vn 0.904904 0.205115 0.372875 +vn 0.698569 0.612995 0.369030 +vn 0.028199 0.996063 -0.083743 +vn -0.145299 0.833735 0.532640 +vn -0.786859 -0.109592 0.607288 +vn -0.755791 -0.137516 0.640187 +vn -0.806574 -0.161901 0.568499 +vn -0.452437 0.634053 0.627064 +vn -0.240333 0.889279 0.389050 +vn -0.117130 0.846400 0.519456 +vn 0.138340 0.864345 0.483444 +vn 0.048006 0.845180 0.532273 +vn 0.138524 0.828608 0.542375 +vn -0.779382 0.534043 0.327616 +vn -0.224464 0.930998 0.287759 +vn 0.034425 0.921628 0.386517 +vn -0.938780 -0.275491 0.206732 +vn 0.628346 0.777581 0.022187 +vn 0.197790 0.979125 0.046297 +vn 0.169958 0.959685 0.223792 +vn 0.213263 0.930815 0.296701 +vn 0.336406 0.929441 -0.151494 +vn 0.123173 0.878872 0.460860 +vn 0.216102 0.966155 0.140843 +vn 0.342906 0.938139 -0.047609 +vn -0.069308 0.927488 0.367321 +vn -0.163549 0.859249 0.484664 +vn 0.272469 0.946928 -0.170476 +vn -0.962951 0.101962 0.249550 +vn 0.331736 0.924192 0.189093 +vn -0.027406 0.995911 0.085788 +vn 0.023499 0.991821 0.125187 +vn 0.309091 0.888821 -0.338267 +vn -0.082583 0.864711 0.495407 +vn -0.856227 -0.271645 0.439314 +vn -0.956511 0.190069 0.221229 +vn 0.577837 0.678884 0.452925 +vn -0.001007 0.947600 0.319437 +vn -0.041139 0.957640 0.284982 +vn -0.431684 0.793634 0.428632 +vn 0.679922 0.559801 0.473556 +vn -0.948210 0.248634 0.197638 +vn -0.978240 0.171361 0.116825 +vn 0.196539 0.960448 0.197089 +vn 0.184698 0.951018 0.247841 +vn 0.365978 0.927610 -0.074648 +vn -0.134983 0.879910 0.455519 +vn 0.032228 0.876766 0.479781 +vn 0.342998 0.937620 -0.056307 +vn -0.145512 0.847926 0.509690 +vn 0.358226 0.924680 -0.128819 +vn 0.879879 0.236915 0.411878 +vn -0.196722 0.953917 -0.226539 +vn -0.059816 0.931303 0.359233 +vn -0.049318 0.916074 0.397931 +vn 0.772912 0.595599 0.218604 +vn -0.075594 0.884274 0.460768 +vn -0.600543 0.699118 0.387982 +vn -0.269112 0.874905 0.402570 +vn -0.667562 0.244545 0.703238 +vn -0.651143 0.316782 0.689627 +vn -0.696860 0.286355 0.657552 +vn -0.423719 0.832087 0.357799 +vn -0.228645 0.943449 0.240028 +vn -0.019318 0.986633 0.161687 +vn -0.034822 0.973083 0.227729 +vn -0.053896 0.965423 0.254952 +vn 0.742210 0.631306 0.224738 +vn 0.711112 0.659993 0.242256 +vn 0.679189 0.680013 0.276070 +vn 0.631367 0.726859 0.270211 +vn -0.442885 0.868892 0.220954 +vn -0.265389 0.884182 0.384381 +vn 0.014985 0.949828 0.312387 +vn 0.241768 0.949705 0.198950 +vn 0.350200 0.932127 -0.091891 +vn -0.229469 0.840663 0.490463 +vn -0.097110 0.846492 0.523423 +vn -0.799402 -0.600696 0.008942 +vn -0.918912 0.381878 0.098575 +vn -0.898923 0.409253 0.156133 +vn 0.303018 0.947600 -0.101138 +vn 0.196142 0.928098 -0.316385 +vn 0.370739 0.910672 -0.182134 +vn 0.817499 0.489547 0.303323 +vn 0.026765 -0.998444 0.048555 +vn 0.024842 -0.996857 0.074923 +vn 0.005219 -0.999390 0.034364 +vn -0.440046 0.876980 0.192907 +vn -0.072695 0.991516 0.107700 +vn 0.052431 0.998474 0.015534 +vn 0.547441 0.776421 0.312143 +vn 0.486435 0.800195 0.350780 +vn 0.461928 0.817713 0.343364 +vn 0.002014 0.999786 0.019868 +vn 0.052553 0.996857 0.059084 +vn 0.005463 0.993713 0.111759 +vn 0.096408 0.995300 0.004639 +vn 0.096438 0.995209 0.015809 +vn 0.416700 0.839198 0.349345 +vn 0.306192 0.911039 -0.276009 +vn 0.667867 0.680135 -0.302164 +vn 0.253273 0.937254 0.239479 +vn 0.350993 0.899319 0.260689 +vn -0.223548 0.965453 -0.133702 +vn -0.594256 0.713614 -0.370891 +vn 0.210486 0.959716 0.185980 +vn 0.203375 0.956938 -0.207068 +vn -0.928373 0.313364 0.199744 +vn -0.480941 0.152745 -0.863308 +vn 0.252358 0.945921 0.203681 +vn 0.549211 0.662404 0.509476 +vn 0.560289 0.637226 0.529160 +vn 0.291116 0.952452 -0.089846 +vn 0.358562 0.901028 -0.243995 +vn 0.674459 0.678732 0.290475 +vn -0.759392 0.507187 -0.407453 +vn 0.290963 -0.940062 0.177801 +vn -0.861995 0.504135 0.052675 +vn -0.952330 0.268960 0.143864 +vn -0.143284 0.641987 0.753197 +vn -0.302896 0.788202 0.535630 +vn -0.470748 0.746147 0.470748 +vn -0.389294 0.838527 0.381176 +vn -0.430067 0.774132 0.464461 +vn -0.419965 0.807642 0.413892 +vn 0.078341 0.996826 0.012604 +vn 0.077181 0.997009 -0.001617 +vn 0.128666 0.991180 0.031556 +vn 0.072787 0.992004 0.103030 +vn 0.445936 0.811304 0.378002 +vn 0.395672 0.819361 0.414777 +vn 0.282235 0.863277 0.418378 +vn 0.023255 0.999695 0.005524 +vn 0.071810 0.997345 -0.009491 +vn 0.807184 0.583605 0.088595 +vn -0.432691 0.828700 0.354930 +vn 0.258827 0.953246 0.155828 +vn 0.415509 0.855525 -0.308786 +vn 0.404248 0.843135 -0.354503 +vn 0.238899 0.956267 0.168554 +vn 0.265481 0.957060 -0.116214 +vn 0.196783 0.924497 0.326426 +vn 0.235084 0.888913 0.393078 +vn 0.233863 0.903562 0.358959 +vn -0.378613 0.861110 0.339244 +vn -0.327738 0.899441 0.289041 +vn 0.258950 0.955840 0.138920 +vn -0.000519 0.986541 0.163457 +vn -0.080752 0.990600 0.110141 +vn 0.511612 0.817530 0.264321 +vn -0.605274 0.214484 -0.766533 +vn -0.070803 0.995605 0.061159 +vn 0.095462 0.995361 -0.011505 +vn 0.064577 0.997833 -0.011963 +vn 0.072207 0.997375 -0.001862 +vn 0.054170 0.998505 -0.003021 +vn 0.105472 0.986358 0.126194 +vn 0.088473 0.977905 0.189245 +vn 0.049043 0.996521 -0.067141 +vn 0.046449 0.998352 -0.033570 +vn 0.194128 0.876522 0.440443 +vn 0.105106 0.886044 0.451491 +vn -0.304178 0.833583 0.461074 +vn 0.009156 0.995727 -0.091678 +vn -0.557787 0.824152 -0.098117 +vn 0.215522 0.973296 0.078921 +vn -0.964354 -0.203467 0.169073 +vn -0.890408 0.412580 0.192053 +vn 0.240913 0.938383 0.247749 +vn -0.974822 -0.114017 0.191504 +vn -0.930387 -0.346263 0.120304 +vn -0.669759 -0.742271 -0.020020 +vn -0.917966 0.393475 0.049776 +vn 0.059725 0.970550 0.233314 +vn -0.013672 0.996307 -0.084536 +vn -0.476028 0.759850 0.442701 +vn -0.468490 0.762108 0.446852 +vn -0.580493 0.702384 0.411878 +vn -0.108188 0.989166 -0.098972 +vn -0.054231 0.993866 -0.096255 +vn -0.005005 0.955351 0.295389 +vn -0.063753 0.885433 0.460341 +vn -0.075198 0.861385 0.502304 +vn 0.066439 0.972655 0.222510 +vn -0.997467 0.042817 -0.056642 +vn -0.588305 0.684103 0.431074 +vn 0.109256 0.729911 -0.674734 +vn 0.144047 0.293313 -0.945067 +vn 0.049379 0.775292 -0.629627 +vn -0.210425 0.970672 -0.116123 +vn -0.499191 0.866482 0.001251 +vn -0.464797 0.877987 0.114170 +vn -0.595691 0.702902 -0.388623 +vn -0.579943 0.781762 -0.229072 +vn 0.169195 0.985260 0.023896 +vn -0.344707 -0.084536 -0.934874 +vn -0.196265 0.832087 0.518723 +vn 0.563707 0.641194 0.520646 +vn -0.866970 0.476638 0.145390 +vn 0.138951 0.959014 -0.246925 +vn -0.777184 0.531877 0.336192 +vn -0.613147 0.668081 0.421522 +vn -0.843959 0.523301 0.117588 +vn 0.164342 0.979003 -0.120487 +vn 0.166784 0.984008 -0.062441 +vn 0.158483 0.987213 -0.016236 +vn 0.037996 0.942656 0.331523 +vn 0.008606 0.924802 0.380261 +vn -0.012360 0.909604 0.415235 +vn -0.200079 0.965209 -0.168218 +vn -0.346019 0.934935 -0.078188 +vn -0.517502 0.770379 -0.372356 +vn 0.047853 0.934385 0.352977 +vn -0.081240 0.839717 0.536882 +vn -0.865841 0.472518 0.164342 +vn -0.578143 0.756401 0.305887 +vn -0.632160 0.730857 -0.257210 +vn -0.935453 0.240059 0.259377 +vn -0.448744 0.856441 -0.255135 +vn -0.424665 0.889584 -0.168126 +vn -0.951170 -0.123844 0.282632 +vn -0.081301 0.824519 0.559923 +vn -0.004852 0.969451 0.245216 +vn -0.914182 0.102420 -0.392071 +vn -0.899625 0.063204 -0.432020 +vn -0.906827 0.086032 -0.412580 +vn -0.265511 0.907315 -0.325938 +vn -0.526688 0.837275 -0.146733 +vn -0.198920 0.850948 0.486068 +vn -0.181005 0.858760 0.479293 +vn -0.537339 0.843318 0.008423 +vn 0.833918 0.549699 0.048616 +vn -0.944365 -0.320261 0.074709 +vn 0.111301 0.959929 -0.257149 +vn 0.004028 0.948241 0.317454 +vn -0.906247 -0.412915 -0.090426 +vn 0.195379 0.978515 -0.065737 +vn -0.062929 0.814112 0.577258 +vn -0.949370 -0.310282 -0.048921 +vn -0.982696 -0.181982 0.034059 +vn -0.020264 -0.998779 0.044710 +vn -0.191687 -0.968230 0.160497 +vn -0.516037 -0.445204 -0.731742 +vn -0.933683 0.192175 0.302133 +vn -0.897153 0.320170 0.304178 +vn -0.965850 0.167852 0.197272 +vn 0.877102 -0.460891 -0.135014 +vn 0.192022 -0.788690 0.584002 +vn 0.747429 0.395581 0.533708 +vn -0.164647 0.748161 -0.642720 +vn -0.102786 0.900266 0.422987 +vn 0.399884 0.906796 -0.133427 +vn -0.013153 0.936949 0.349162 +vn 0.522233 0.808893 0.270089 +vn 0.502365 0.824213 0.261238 +vn 0.471969 0.838374 0.272652 +vn -0.136113 0.222480 -0.965361 +vn 0.228187 0.969359 -0.090762 +vn -0.133610 0.819819 0.556749 +vn 0.281411 0.950957 0.128239 +vn -0.283944 -0.950194 -0.128239 +vn -0.163945 -0.979034 -0.120670 +vn -0.397931 -0.869564 -0.292337 +vn -0.949431 0.312265 0.031983 +vn -0.364971 0.927122 0.085025 +vn -0.233741 0.863002 0.447798 +vn -0.262215 0.834498 0.484603 +vn -0.843287 0.482742 0.236183 +vn 0.814783 0.520371 0.255501 +vn -0.429518 -0.374126 0.821894 +vn -0.101718 0.831202 0.546556 +vn 0.769494 0.606464 0.200171 +vn 0.750786 0.620777 0.225623 +vn -0.049440 0.881863 0.468856 +vn -0.076846 0.860561 0.503494 +vn -0.079501 0.842311 0.533036 +vn -0.037935 0.907041 0.419263 +vn 0.282510 0.877621 0.387249 +vn 0.417829 -0.908505 -0.002411 +vn 0.419996 0.856197 0.300821 +vn 0.843043 0.531297 0.083438 +vn 0.840114 0.529527 0.117283 +vn 0.830256 0.537217 0.148350 +vn 0.839412 0.521500 0.152928 +vn 0.821131 0.537858 0.190802 +vn 0.814753 0.523911 0.248238 +vn 0.791833 0.518662 0.322398 +vn 0.132817 0.958861 0.250771 +vn 0.083346 0.777520 0.623280 +vn -0.036714 0.940275 0.338328 +vn -0.022248 0.930570 0.365398 +vn 0.718314 0.648061 0.252968 +vn 0.653340 0.710746 0.260689 +vn -0.061037 0.952300 0.298959 +vn 0.485488 0.764397 0.424177 +vn -0.542436 -0.047945 0.838710 +vn 0.616993 0.734092 0.283547 +vn 0.569048 0.755699 0.324137 +vn 0.498703 0.800165 0.333110 +vn 0.009919 0.966674 0.255715 +vn 0.459731 0.810022 0.363964 +vn 0.012848 0.967559 0.252297 +vn -0.406415 0.890866 0.202765 +vn -0.333842 0.942595 0.000153 +vn -0.852504 -0.395032 0.342235 +vn 0.052217 0.332011 -0.941801 +vn 0.063784 0.262246 -0.962859 +vn 0.002503 0.288736 -0.957396 +vn -0.389752 0.918973 -0.059358 +vn 0.802484 0.596637 0.005249 +vn 0.831263 0.555315 -0.024354 +vn 0.817377 0.574602 0.040681 +vn 0.833979 0.550340 0.039888 +vn 0.831874 0.550279 0.071627 +vn 0.823664 0.555528 0.113559 +vn 0.824702 0.549730 0.132786 +vn 0.831080 0.536058 0.147984 +vn 0.829615 0.527787 0.182043 +vn 0.819086 0.522752 0.236183 +vn 0.791253 0.522324 0.317850 +vn -0.361064 0.038484 -0.931730 +vn -0.317637 -0.039491 -0.947356 +vn -0.231727 0.953551 -0.192389 +vn 0.314890 0.909726 0.270608 +vn -0.149205 0.956816 -0.249428 +vn -0.185400 0.960173 -0.208960 +vn -0.601367 0.737449 0.307382 +vn -0.570940 0.765160 0.297525 +vn 0.438704 0.817286 0.373577 +vn 0.066683 0.979888 0.187964 +vn 0.372112 0.851772 0.368725 +vn 0.066958 0.988983 0.131932 +vn 0.057741 0.998291 -0.008728 +vn 0.054384 0.998413 -0.012452 +vn 0.059999 0.998138 -0.008240 +vn 0.277047 0.862209 0.423994 +vn 0.189215 0.875729 0.444136 +vn 0.067782 0.997681 0.005371 +vn 0.075808 0.997040 -0.012177 +vn -0.222541 0.966552 0.127293 +vn -0.061129 0.997742 0.027528 +vn -0.537034 0.671957 0.509903 +vn -0.966552 0.193365 -0.168401 +vn -0.844844 0.302774 0.441054 +vn -0.864376 0.016694 -0.502518 +vn 0.824213 0.561815 -0.070650 +vn 0.819117 0.571795 -0.045442 +vn 0.817499 0.574969 -0.032655 +vn 0.812220 0.582080 0.037843 +vn 0.828974 0.558214 0.033967 +vn 0.813959 0.580248 0.027039 +vn 0.807825 0.588885 0.023804 +vn 0.813440 0.579180 0.053255 +vn 0.809198 0.579180 0.098422 +vn 0.825922 0.553331 0.107883 +vn 0.827113 0.545885 0.133457 +vn 0.833338 0.525803 0.170415 +vn 0.812006 0.533128 0.237373 +vn 0.767144 0.547838 0.333628 +vn 0.725730 0.568957 0.386731 +vn 0.725394 0.510605 0.461562 +vn 0.574694 -0.738792 -0.351939 +vn -0.123722 0.064913 0.990173 +vn 0.054994 0.997620 0.041383 +vn 0.067019 0.997497 -0.022248 +vn 0.067232 0.997589 -0.016877 +vn -0.684500 0.602619 0.410230 +vn -0.901425 0.383862 0.200171 +vn -0.925199 0.312387 0.215308 +vn 0.054048 0.997711 -0.040315 +vn 0.046907 0.998718 0.018189 +vn 0.098178 0.992767 0.068911 +vn -0.793970 0.516068 0.321268 +vn -0.579180 0.678060 0.452467 +vn 0.827784 0.557970 -0.058168 +vn 0.817316 0.574725 -0.040834 +vn 0.800836 0.598285 -0.026612 +vn 0.799646 0.600391 -0.008332 +vn 0.812616 0.582751 0.004425 +vn 0.798975 0.600269 0.035585 +vn 0.808802 0.587420 0.026643 +vn 0.805475 0.592242 0.020325 +vn 0.814631 0.578509 0.040376 +vn 0.812220 0.577563 0.081698 +vn 0.821772 0.562395 0.091403 +vn 0.813105 0.571123 0.112308 +vn 0.815638 0.558946 0.149266 +vn 0.795801 0.558092 0.234901 +vn 0.750420 0.561998 0.347819 +vn 0.726585 0.570421 0.382977 +vn 0.730949 0.539842 0.417402 +vn -0.324961 0.910428 0.255898 +vn 0.528672 0.774529 -0.347240 +vn 0.496567 0.774743 -0.391369 +vn 0.529527 0.771691 -0.352184 +vn 0.038209 0.994354 0.098697 +vn 0.016419 0.999481 -0.027467 +vn 0.044038 0.998444 -0.033815 +vn 0.076693 0.996979 -0.010437 +vn 0.716575 0.371349 -0.590381 +vn 0.008209 0.998535 -0.053224 +vn 0.025025 0.998169 -0.054903 +vn 0.075564 0.990722 0.112766 +vn 0.049898 0.983734 0.172399 +vn -0.068636 -0.326029 -0.942839 +vn -0.029206 -0.275826 -0.960753 +vn 0.819544 0.571612 -0.039705 +vn 0.805017 0.592486 -0.029084 +vn 0.797174 0.603320 -0.022401 +vn 0.803247 0.595294 -0.019105 +vn 0.807031 0.590411 0.007660 +vn 0.805719 0.591418 0.031129 +vn 0.813471 0.581072 0.024506 +vn 0.813288 0.581561 0.017335 +vn 0.808679 0.587115 0.036164 +vn 0.809351 0.583544 0.066256 +vn 0.804804 0.586566 0.090335 +vn 0.793695 0.599811 0.101169 +vn 0.792016 0.597522 0.125095 +vn 0.765465 0.602741 0.225227 +vn 0.726096 0.602863 0.330576 +vn 0.727195 0.574572 0.375530 +vn 0.722221 0.568346 0.394116 +vn 0.692282 0.555467 0.460585 +vn 0.766198 0.397137 0.505142 +vn -0.262490 0.890652 0.371227 +vn -0.224830 0.899319 0.375011 +vn 0.050233 0.998566 -0.017212 +vn 0.084658 0.996338 0.010895 +vn 0.432875 0.832911 0.344737 +vn 0.106937 0.972167 0.208411 +vn 0.068789 0.963561 0.258431 +vn -0.041292 0.998077 -0.046022 +vn -0.877224 0.230659 0.420972 +vn -0.754967 0.536882 0.376507 +vn -0.913511 -0.066927 0.401227 +vn -0.894223 -0.170660 0.413770 +vn -0.895688 -0.193548 0.400311 +vn -0.658650 0.160283 -0.735130 +vn -0.626240 0.092196 -0.774132 +vn -0.640950 0.111789 -0.759362 +vn 0.506607 0.810083 0.295053 +vn 0.802393 0.595691 -0.035981 +vn 0.799921 0.599597 -0.023865 +vn 0.801263 0.597736 -0.025330 +vn 0.809351 0.586535 -0.029664 +vn 0.810022 0.586352 0.001526 +vn 0.813685 0.580554 0.028382 +vn 0.807459 0.589190 0.029298 +vn 0.808863 0.587725 0.016999 +vn 0.804010 0.593738 0.031526 +vn 0.799188 0.598193 0.058504 +vn 0.786065 0.611347 0.091342 +vn 0.783074 0.614307 0.096957 +vn 0.769768 0.627155 0.118656 +vn 0.748863 0.627888 0.211951 +vn 0.737266 0.600818 0.308908 +vn 0.725669 0.584552 0.362896 +vn 0.711753 0.580706 0.395123 +vn 0.668111 0.583605 0.461501 +vn 0.642415 0.596912 0.480575 +vn -0.854152 -0.506394 0.117985 +vn -0.893735 0.385998 0.228462 +vn -0.820338 0.507614 0.263253 +vn 0.862514 0.501694 0.065737 +vn -0.699911 0.347209 -0.624104 +vn -0.709861 0.294809 -0.639637 +vn -0.684286 0.325877 -0.652303 +vn 0.453139 0.800714 0.391766 +vn 0.060701 0.953581 0.294870 +vn -0.359996 0.932737 0.018525 +vn -0.176855 0.984191 -0.007263 +vn 0.190497 0.854946 0.482437 +vn -0.563219 0.823328 0.069613 +vn 0.094852 0.938841 0.330973 +vn 0.004761 0.928007 0.372478 +vn -0.015046 0.925687 0.377911 +vn 0.560472 0.239570 -0.792718 +vn 0.222144 0.964446 0.143040 +vn 0.788781 0.604114 -0.113254 +vn 0.800684 0.597217 -0.046785 +vn 0.808405 0.588092 -0.024232 +vn 0.817316 0.575671 -0.023408 +vn 0.810175 0.585681 -0.023774 +vn 0.803247 0.595569 -0.007324 +vn 0.806421 0.590930 0.021149 +vn 0.809442 0.586474 0.028565 +vn 0.804834 0.593066 0.021516 +vn 0.789239 0.613208 0.032044 +vn 0.776513 0.627552 0.056001 +vn 0.765954 0.637165 0.085391 +vn 0.762230 0.640431 0.093783 +vn 0.752037 0.649831 0.110233 +vn 0.742882 0.644093 0.182165 +vn 0.724601 0.630146 0.278970 +vn 0.717978 0.599597 0.353465 +vn 0.692740 0.602252 0.396680 +vn 0.640950 0.606983 0.469771 +vn 0.616962 0.614704 0.491379 +vn 0.589679 0.620106 0.517411 +vn 0.169286 -0.162450 -0.972076 +vn 0.151250 -0.244819 -0.957671 +vn 0.255257 0.880856 -0.398602 +vn 0.219153 0.902249 -0.371258 +vn 0.247627 0.882656 -0.399426 +vn -0.423750 0.875423 0.232490 +vn 0.032960 0.993042 -0.112949 +vn -0.566546 0.779778 0.266274 +vn -0.636769 0.742302 0.208472 +vn -0.036927 0.906552 0.420423 +vn 0.169195 0.970458 0.171850 +vn 0.777001 0.592822 -0.211585 +vn 0.796808 0.589282 -0.133305 +vn 0.808069 0.585986 -0.060152 +vn 0.811670 0.583026 -0.035157 +vn 0.814356 0.579852 -0.023530 +vn 0.813288 0.581652 -0.014801 +vn 0.807489 0.589801 -0.005585 +vn 0.796197 0.604846 0.013642 +vn 0.793176 0.608539 0.022950 +vn 0.781549 0.623096 0.029267 +vn 0.766839 0.640797 0.035768 +vn 0.756615 0.651692 0.052583 +vn 0.750938 0.655690 0.078372 +vn 0.743889 0.661794 0.092776 +vn 0.740654 0.663991 0.102512 +vn 0.717399 0.675649 0.169683 +vn 0.701346 0.671499 0.239082 +vn 0.693686 0.640431 0.329600 +vn 0.660146 0.638752 0.395154 +vn 0.616016 0.626057 0.478072 +vn 0.591601 0.636830 0.494400 +vn -0.487350 0.666951 0.563555 +vn -0.195166 0.947508 -0.253212 +vn -0.144719 0.342448 -0.928312 +vn -0.918241 0.003204 -0.395978 +vn -0.780938 -0.586077 -0.215888 +vn -0.992126 -0.101718 -0.072970 +vn 0.807092 0.531480 -0.257088 +vn 0.819086 0.538591 -0.197424 +vn 0.822810 0.554125 -0.126011 +vn 0.817988 0.572466 -0.056154 +vn 0.816218 0.576647 -0.034791 +vn 0.804071 0.593921 -0.025849 +vn 0.804590 0.593493 -0.019776 +vn 0.798212 0.602313 0.004639 +vn 0.781732 0.623310 0.018525 +vn 0.770257 0.637410 0.020081 +vn 0.768029 0.639699 0.029695 +vn 0.759819 0.648732 0.042055 +vn 0.747734 0.661824 0.053194 +vn 0.730308 0.678884 0.075777 +vn 0.733543 0.674245 0.085208 +vn 0.727226 0.678701 0.102329 +vn 0.712180 0.682760 0.163121 +vn 0.700095 0.676809 0.227546 +vn 0.666433 0.675558 0.315317 +vn 0.622822 0.684957 0.377972 +vn 0.592639 0.654836 0.468978 +vn 0.554064 0.654195 0.514756 +vn 0.154088 0.728080 0.667928 +vn -0.682424 0.545854 -0.486099 +vn 0.028657 0.998383 -0.048891 +vn -0.857051 0.227760 -0.462081 +vn 0.802820 0.576861 0.150487 +vn -0.089969 0.833949 0.544420 +vn -0.089206 0.842799 0.530717 +vn 0.773583 0.608722 0.176031 +vn 0.738273 0.640461 0.211493 +vn 0.700461 0.673330 0.236579 +vn -0.067263 0.883053 0.464400 +vn -0.071963 0.863063 0.499863 +vn 0.817072 0.509964 -0.268838 +vn 0.828425 0.501480 -0.249306 +vn 0.825007 0.533586 -0.185949 +vn 0.814539 0.567125 -0.121830 +vn 0.804498 0.590716 -0.061464 +vn 0.799127 0.600299 -0.031709 +vn 0.795221 0.605823 -0.023560 +vn 0.797266 0.603046 -0.026032 +vn 0.770470 0.637379 0.007965 +vn 0.770287 0.637318 0.021180 +vn 0.761467 0.647725 0.023743 +vn 0.756523 0.653371 0.027161 +vn 0.741172 0.669698 0.046358 +vn 0.729759 0.680929 0.060976 +vn 0.717826 0.692404 0.072420 +vn 0.718375 0.691488 0.075808 +vn 0.700888 0.706870 0.095187 +vn 0.693777 0.705771 0.143315 +vn 0.685903 0.693411 0.220588 +vn 0.632618 0.706290 0.317667 +vn 0.583361 0.718345 0.378948 +vn 0.543504 0.716819 0.436750 +vn 0.511460 0.679586 0.525864 +vn 0.476974 0.688894 0.545793 +vn 0.641713 0.709922 0.290109 +vn 0.595111 0.747673 0.294565 +vn 0.543321 0.790002 0.284005 +vn 0.493027 0.804315 0.331584 +vn 0.442427 0.830134 0.339244 +vn 0.443678 0.818384 0.365154 +vn -0.526139 0.681600 -0.508469 +vn -0.963805 0.206214 -0.168889 +vn 0.798425 0.536546 -0.273110 +vn 0.813318 0.507492 -0.284433 +vn 0.814905 0.521592 -0.252602 +vn 0.801202 0.568560 -0.186468 +vn 0.776849 0.616810 -0.126499 +vn 0.768426 0.634693 -0.081484 +vn 0.768395 0.637562 -0.055330 +vn 0.781884 0.621937 -0.042329 +vn 0.752251 0.658681 -0.014191 +vn 0.739586 0.672994 -0.003662 +vn 0.746147 0.665700 0.006714 +vn 0.745140 0.666555 0.020692 +vn 0.723899 0.689169 0.031190 +vn 0.707480 0.705649 0.038759 +vn 0.705435 0.706748 0.053163 +vn 0.698569 0.712241 0.068117 +vn 0.681845 0.727256 0.078249 +vn 0.674825 0.732994 0.085543 +vn 0.669698 0.733634 0.114933 +vn 0.659505 0.722709 0.206610 +vn 0.605121 0.726829 0.324809 +vn 0.567248 0.721091 0.397748 +vn 0.530992 0.731101 0.428358 +vn 0.517045 0.690390 0.505936 +vn 0.529099 0.651662 0.543443 +vn 0.366894 0.843898 0.391369 +vn 0.297678 0.866298 0.401105 +vn 0.166906 0.883236 0.438185 +vn -0.662557 0.643849 -0.382641 +vn -0.484695 0.758751 0.435102 +vn 0.056581 -0.997681 -0.037568 +vn 0.039857 -0.999054 -0.017243 +vn 0.767998 0.581133 -0.269112 +vn 0.350658 0.223945 -0.909330 +vn 0.380871 0.181646 -0.906583 +vn 0.758995 0.623646 -0.186926 +vn 0.747948 0.650319 -0.132603 +vn 0.736167 0.670217 -0.093844 +vn 0.745628 0.661153 -0.082766 +vn 0.730796 0.680776 -0.049440 +vn 0.721976 0.691549 -0.022004 +vn 0.726920 0.686483 -0.016938 +vn 0.724937 0.688742 -0.006470 +vn 0.705863 0.708060 0.019227 +vn 0.699789 0.713492 0.034852 +vn 0.700125 0.712943 0.038636 +vn 0.685049 0.726737 0.050172 +vn 0.672872 0.736778 0.065920 +vn 0.666860 0.741295 0.075838 +vn 0.666951 0.740440 0.082949 +vn 0.650899 0.751885 0.104587 +vn 0.616443 0.765374 0.184790 +vn 0.582354 0.752312 0.307993 +vn 0.566179 0.724204 0.393567 +vn 0.560198 0.709128 0.428083 +vn 0.569811 0.666402 0.480819 +vn 0.592822 0.619953 0.513962 +vn -0.757866 -0.166875 0.630696 +vn -0.667501 0.615741 0.418592 +vn -0.524033 0.743858 0.414777 +vn 0.517228 -0.742149 0.426191 +vn 0.565020 -0.670309 0.481002 +vn 0.713553 0.628986 -0.308481 +vn 0.719993 0.660756 -0.212012 +vn 0.706076 0.693594 -0.142735 +vn 0.708213 0.696432 -0.115543 +vn 0.717948 0.689261 -0.097140 +vn 0.704428 0.707663 -0.054353 +vn 0.707968 0.705313 -0.035615 +vn 0.704611 0.709067 -0.026826 +vn 0.703665 0.710440 -0.007355 +vn 0.692526 0.721122 0.017823 +vn 0.706259 0.707480 0.024384 +vn 0.682333 0.729453 0.047792 +vn 0.676717 0.734031 0.056703 +vn 0.667562 0.741203 0.070254 +vn 0.661794 0.746086 0.073275 +vn 0.653371 0.752129 0.085788 +vn 0.632923 0.765801 0.113742 +vn 0.578143 0.795801 0.179998 +vn 0.558428 0.784631 0.269143 +vn 0.570971 0.737938 0.359722 +vn 0.583300 0.696341 0.418134 +vn 0.588794 0.683798 0.430921 +vn 0.622822 0.615528 0.482894 +vn -0.984619 0.125309 0.121647 +vn -0.966399 0.220954 0.131077 +vn 0.711020 0.611866 -0.346477 +vn -0.447432 0.748344 -0.489639 +vn -0.537492 -0.793329 -0.285836 +vn -0.176305 -0.073031 -0.981597 +vn -0.206977 -0.263619 -0.942137 +vn -0.226356 -0.057466 -0.972320 +vn -0.821558 -0.136845 0.553423 +vn -0.820490 -0.160253 0.548723 +vn -0.838221 -0.202033 0.506485 +vn -0.786004 -0.371288 0.494278 +vn -0.762566 -0.382427 0.521714 +vn -0.787683 -0.392254 0.474990 +vn -0.783776 -0.108280 0.611499 +vn -0.799341 -0.209693 0.563066 +vn -0.793298 -0.176305 0.582720 +vn -0.818110 -0.049196 0.572924 +vn -0.806391 -0.068575 0.587329 +vn -0.786340 -0.080935 0.612415 +vn -0.933378 0.173009 -0.314402 +vn -0.913572 0.248268 -0.322031 +vn 0.684744 0.665212 -0.297647 +vn 0.671163 0.705008 -0.228980 +vn 0.651967 0.739708 -0.166478 +vn 0.686331 0.711478 -0.150731 +vn 0.669240 0.734794 -0.110385 +vn 0.673513 0.734947 -0.078494 +vn 0.686728 0.725150 -0.050233 +vn 0.688345 0.724326 -0.038728 +vn 0.690542 0.723045 -0.017609 +vn 0.696463 0.717521 0.007324 +vn 0.682638 0.730003 0.032594 +vn 0.663167 0.746910 0.047639 +vn 0.671712 0.739097 0.049776 +vn 0.657643 0.749504 0.075411 +vn 0.652120 0.754295 0.075564 +vn 0.644887 0.759026 0.089206 +vn 0.607685 0.782556 0.135136 +vn 0.576342 0.794671 0.190405 +vn 0.570910 0.785791 0.237800 +vn 0.585376 0.749962 0.308023 +vn 0.590472 0.704337 0.393963 +vn 0.590472 0.690573 0.417646 +vn 0.594836 0.679495 0.429395 +vn 0.564928 0.649373 0.509049 +vn -0.283608 0.785485 -0.550066 +vn -0.986969 -0.075320 -0.142094 +vn -0.476119 0.778405 0.409101 +vn -0.894620 -0.130894 0.427137 +vn -0.887143 0.039247 0.459761 +vn -0.889584 -0.015656 0.456465 +vn 0.426466 0.711386 -0.558580 +vn 0.381848 0.679067 -0.626911 +vn -0.482376 -0.872799 0.074129 +vn -0.861324 0.335063 -0.381878 +vn 0.644185 0.701193 -0.305429 +vn 0.634999 0.735893 -0.234993 +vn 0.631764 0.750481 -0.193915 +vn 0.633625 0.754387 -0.171270 +vn 0.636616 0.760125 -0.129978 +vn 0.661946 0.741813 -0.107273 +vn 0.670522 0.738731 -0.067873 +vn 0.677541 0.733818 -0.048982 +vn 0.670827 0.740989 -0.030274 +vn 0.675680 0.737144 -0.006409 +vn 0.667745 0.743522 0.035340 +vn 0.662862 0.747246 0.046876 +vn 0.643910 0.763512 0.049043 +vn 0.651448 0.755577 0.068453 +vn 0.654317 0.752190 0.077670 +vn 0.628803 0.770592 0.103519 +vn 0.613422 0.776605 0.143468 +vn 0.593677 0.782037 0.189550 +vn 0.608753 0.759270 0.229987 +vn 0.597491 0.748100 0.288644 +vn 0.570727 0.738823 0.358257 +vn 0.564684 0.719230 0.404736 +vn 0.554826 0.715812 0.423963 +vn 0.511216 0.712363 0.480789 +vn 0.487930 0.668233 0.561571 +vn -0.504532 0.264260 -0.821925 +vn -0.557543 0.280435 -0.781304 +vn -0.164586 -0.038453 0.985595 +vn -0.150731 0.062716 -0.986572 +vn 0.261208 -0.919431 0.293893 +vn 0.276711 -0.915922 0.290628 +vn 0.271767 -0.934965 0.227882 +vn -0.251625 -0.561571 -0.788202 +vn -0.425825 0.793878 -0.434034 +vn 0.416486 0.783502 -0.461074 +vn 0.439528 0.789850 -0.427717 +vn -0.981872 0.189398 0.006989 +vn -0.079836 0.332499 -0.939695 +vn 0.639180 0.705313 -0.306436 +vn 0.605792 0.759484 -0.236976 +vn 0.607868 0.766533 -0.207099 +vn 0.605853 0.772576 -0.189734 +vn 0.645833 0.746391 -0.160588 +vn 0.653157 0.747276 -0.122044 +vn 0.643574 0.760521 -0.085879 +vn 0.659627 0.748772 -0.064577 +vn 0.662831 0.747673 -0.039766 +vn 0.655324 0.755150 -0.016144 +vn 0.637471 0.770043 0.024659 +vn 0.633656 0.772240 0.045747 +vn 0.637867 0.769036 0.040956 +vn 0.642537 0.764306 0.054140 +vn 0.629841 0.772637 0.079348 +vn 0.628376 0.770898 0.104007 +vn 0.610981 0.777245 0.150151 +vn 0.627338 0.758293 0.177221 +vn 0.632649 0.741813 0.222266 +vn 0.584979 0.755120 0.295907 +vn 0.531938 0.770379 0.351421 +vn 0.497696 0.776757 0.385846 +vn 0.474532 0.787866 0.392468 +vn 0.463942 0.757561 0.459151 +vn 0.433271 0.716178 0.547105 +vn -0.011170 -0.985015 -0.171941 +vn -0.490219 0.779382 -0.390149 +vn 0.762535 0.565142 -0.314798 +vn -0.820429 -0.381420 0.425916 +vn 0.258400 -0.875332 -0.408612 +vn 0.806879 0.571062 0.150945 +vn 0.219947 0.852046 0.474990 +vn -0.621387 -0.244240 -0.744438 +vn -0.512406 -0.103854 -0.852412 +vn 0.022217 0.051607 -0.998413 +vn 0.049745 -0.214087 -0.975524 +vn -0.225532 -0.384991 -0.894925 +vn 0.606983 0.736045 -0.299600 +vn 0.593005 0.766686 -0.245918 +vn 0.627033 0.749474 -0.212256 +vn 0.634480 0.746971 -0.198553 +vn 0.633595 0.753319 -0.176153 +vn 0.632313 0.763665 -0.130253 +vn 0.659780 0.744713 -0.100253 +vn 0.665242 0.743034 -0.072848 +vn 0.658773 0.751213 -0.040376 +vn 0.636372 0.771294 -0.008637 +vn 0.612964 0.789850 0.018921 +vn 0.630451 0.775628 0.029206 +vn 0.633503 0.772912 0.035432 +vn 0.627827 0.776482 0.053438 +vn 0.631611 0.771996 0.071047 +vn 0.618641 0.779138 0.100894 +vn 0.625996 0.768822 0.130406 +vn 0.635365 0.755425 0.159978 +vn 0.581347 0.781762 0.225440 +vn 0.542650 0.782647 0.304880 +vn 0.488205 0.794427 0.361217 +vn 0.453383 0.798120 0.396680 +vn 0.425977 0.819361 0.383587 +vn 0.407849 0.811579 0.418317 +vn 0.357128 0.778985 0.515336 +vn 0.282235 0.752190 0.595416 +vn 0.099002 0.965331 -0.241462 +vn -0.645009 0.684194 -0.340281 +vn -0.049989 -0.991333 0.121311 +vn 0.231422 0.758599 0.609058 +vn -0.397992 -0.449934 0.799432 +vn -0.433271 -0.421644 0.796503 +vn 0.046876 -0.988708 0.142155 +vn 0.209387 -0.959380 0.189001 +vn 0.016327 -0.998993 0.041536 +vn -0.856838 0.475753 -0.198614 +vn -0.018403 0.610279 -0.791955 +vn 0.188055 0.914151 0.359020 +vn 0.136204 0.892941 0.429029 +vn 0.108982 0.845332 0.522965 +vn 0.646077 -0.046693 -0.761803 +vn -0.204718 -0.970550 0.126743 +vn -0.071963 -0.996979 0.028932 +vn 0.800043 0.576617 0.165624 +vn -0.657857 -0.459578 0.596606 +vn -0.763756 -0.056948 0.642964 +vn -0.909818 -0.212104 -0.356700 +vn 0.609333 0.748131 -0.262642 +vn 0.614063 0.755852 -0.226997 +vn 0.623249 0.755120 -0.203253 +vn 0.619922 0.763421 -0.181097 +vn 0.634999 0.756005 -0.158605 +vn 0.651936 0.748680 -0.119938 +vn 0.634846 0.768700 -0.077670 +vn 0.608234 0.792352 -0.046663 +vn 0.616047 0.787591 -0.011811 +vn 0.602191 0.798212 0.012574 +vn 0.622913 0.782159 0.013092 +vn 0.605640 0.795190 0.028565 +vn 0.619556 0.784082 0.036073 +vn 0.613208 0.786798 0.069948 +vn 0.613361 0.784417 0.091647 +vn 0.612720 0.782159 0.113010 +vn 0.564867 0.808069 0.167028 +vn 0.536668 0.816706 0.212012 +vn 0.505112 0.809870 0.298196 +vn 0.453291 0.809229 0.373669 +vn 0.404492 0.827815 0.388653 +vn 0.395886 0.832820 0.386853 +vn 0.346721 0.840114 0.417035 +vn 0.251259 0.831904 0.494736 +vn 0.169530 0.799463 0.576250 +vn -0.284188 0.944945 -0.162084 +vn -0.005768 0.764244 -0.644887 +vn 0.097385 0.711325 -0.696066 +vn 0.768303 0.614399 0.179357 +vn 0.098270 0.936155 0.337504 +vn 0.112003 0.904904 0.410565 +vn 0.024537 0.868526 0.495010 +vn -0.614277 -0.224952 0.756310 +vn 0.723350 0.661733 0.196997 +vn 0.675039 0.701987 0.226875 +vn 0.039491 -0.998718 -0.031251 +vn -0.183935 0.235389 -0.954314 +vn -0.249001 0.245582 -0.936827 +vn 0.592151 0.744743 -0.307688 +vn 0.568133 0.777245 -0.270272 +vn 0.572131 0.779504 -0.254982 +vn 0.584613 0.778191 -0.229347 +vn 0.581957 0.787683 -0.202063 +vn 0.601093 0.776971 -0.186956 +vn 0.583270 0.800134 -0.139714 +vn 0.589160 0.802881 -0.090762 +vn 0.585040 0.808466 -0.064028 +vn 0.590930 0.806238 -0.027589 +vn 0.600299 0.799738 -0.004242 +vn 0.600177 0.799768 0.010651 +vn 0.589801 0.807276 0.020631 +vn 0.572588 0.819636 0.017762 +vn 0.569414 0.821009 0.041231 +vn 0.568987 0.819483 0.068331 +vn 0.534532 0.838191 0.108188 +vn 0.539720 0.827204 0.156072 +vn 0.511093 0.831904 0.216010 +vn 0.457930 0.844417 0.277871 +vn 0.398144 0.832514 0.385144 +vn 0.356243 0.845027 0.398724 +vn 0.330180 0.859127 0.390973 +vn 0.253273 0.873104 0.416547 +vn 0.178747 0.852412 0.491317 +vn 0.087222 0.816706 0.570360 +vn 0.108005 0.794824 0.597125 +vn -0.050081 0.794549 0.605090 +vn 0.046266 -0.997467 0.053621 +vn -0.637715 0.750114 -0.174871 +vn -0.401257 0.182623 0.897549 +vn -0.201788 0.109958 0.973205 +vn -0.442213 0.359813 0.821558 +vn 0.618793 0.742180 0.257332 +vn 0.576525 0.769982 0.273354 +vn 0.008881 0.946532 0.322459 +vn 0.418836 0.841914 -0.340159 +vn 0.417219 0.821009 -0.389630 +vn 0.023408 0.924406 0.380657 +vn -0.057527 0.875820 0.479141 +vn -0.046602 0.813227 0.580035 +vn -0.442579 -0.310587 0.841212 +vn -0.548479 -0.159703 0.820734 +vn 0.563158 0.757530 0.330058 +vn 0.509507 0.797906 0.322031 +vn -0.600726 0.676565 -0.425855 +vn -0.718406 0.621754 -0.311899 +vn -0.631306 0.719230 -0.289956 +vn -0.631153 0.721061 -0.285775 +vn 0.555864 0.770440 -0.312052 +vn 0.559130 0.780969 -0.278207 +vn 0.557695 0.786889 -0.264046 +vn 0.545183 0.803217 -0.239967 +vn 0.576281 0.784906 -0.227577 +vn 0.586566 0.786309 -0.193884 +vn 0.583300 0.798212 -0.150212 +vn 0.586047 0.803919 -0.101260 +vn 0.591296 0.803308 -0.070956 +vn 0.602496 0.797204 -0.037751 +vn 0.603687 0.797113 -0.009888 +vn 0.568102 0.822840 0.012268 +vn 0.569994 0.821284 0.023652 +vn 0.551592 0.833705 0.025666 +vn 0.542283 0.839595 0.031098 +vn 0.502976 0.862056 0.062014 +vn 0.519089 0.851039 0.078860 +vn 0.515091 0.846858 0.132084 +vn 0.468459 0.853389 0.228523 +vn 0.398389 0.870876 0.287759 +vn 0.312998 0.876583 0.365520 +vn 0.301675 0.868007 0.394330 +vn 0.308237 0.859798 0.407086 +vn 0.259041 0.856044 0.447279 +vn 0.185705 0.833277 0.520676 +vn 0.172185 0.793115 0.584185 +vn 0.291482 0.747398 0.596973 +vn -0.287881 -0.956633 -0.044008 +vn -0.663503 0.703818 -0.253670 +vn 0.115085 0.960051 -0.254952 +vn 0.444441 0.826594 0.345225 +vn 0.426954 0.836024 0.344554 +vn 0.032899 0.960234 0.277200 +vn -0.028687 0.928404 0.370403 +vn -0.013092 0.881832 0.471358 +vn 0.019074 0.827204 0.561510 +vn 0.353313 0.856899 0.375317 +vn 0.250160 0.881710 0.399915 +vn 0.576250 0.769097 -0.276406 +vn 0.575335 0.777856 -0.252724 +vn 0.582018 0.775475 -0.244606 +vn 0.612171 0.755608 -0.232917 +vn 0.595630 0.781060 -0.187323 +vn 0.597797 0.787317 -0.150853 +vn 0.564165 0.818842 -0.105808 +vn 0.578295 0.809961 -0.097507 +vn 0.577380 0.814722 -0.053316 +vn 0.571306 0.820704 -0.002441 +vn 0.558946 0.829096 0.012177 +vn 0.572710 0.819483 0.019715 +vn 0.547075 0.836329 0.035218 +vn 0.520768 0.852229 0.049318 +vn 0.513535 0.855800 0.062166 +vn 0.501602 0.861812 0.075137 +vn 0.433790 0.892697 0.121860 +vn 0.373699 0.903378 0.210334 +vn 0.281716 0.913511 0.293405 +vn 0.263833 0.900235 0.346263 +vn 0.315134 0.874599 0.368358 +vn 0.354900 0.843654 0.402783 +vn 0.339671 0.804926 0.486496 +vn 0.304178 0.765374 0.567125 +vn 0.350261 0.743156 0.570086 +vn 0.446730 0.663381 0.600269 +vn -0.741661 0.499435 -0.447707 +vn -0.787530 0.568926 -0.236793 +vn 0.024171 0.204169 -0.978607 +vn 0.174627 0.890683 0.419721 +vn -0.126774 -0.915860 0.380871 +vn -0.024598 -0.995972 0.086093 +vn -0.010407 0.966521 0.256325 +vn -0.033509 0.964049 0.263558 +vn -0.023591 0.941343 0.336528 +vn -0.012665 0.902463 0.430555 +vn -0.957091 0.284371 -0.055391 +vn -0.828333 -0.004913 -0.560198 +vn -0.835902 -0.062136 -0.545335 +vn 0.332957 0.255318 -0.907682 +vn 0.326884 0.468368 -0.820795 +vn 0.583209 0.761711 -0.282174 +vn 0.602863 0.757622 -0.250099 +vn 0.629505 0.737541 -0.244331 +vn 0.612934 0.758293 -0.221931 +vn 0.581988 0.791314 -0.187323 +vn 0.559923 0.815424 -0.146702 +vn 0.562700 0.819300 -0.110019 +vn 0.569475 0.815363 -0.104007 +vn 0.543657 0.836238 -0.071596 +vn 0.546525 0.837062 -0.023957 +vn 0.537034 0.843532 0.002777 +vn 0.513871 0.857814 0.009003 +vn 0.499741 0.865261 0.039430 +vn 0.499222 0.865505 0.040223 +vn 0.503739 0.861934 0.057588 +vn 0.455977 0.883694 0.105502 +vn 0.403485 0.903165 0.146367 +vn 0.308206 0.922361 0.232795 +vn 0.253609 0.923795 0.286782 +vn 0.350291 0.887570 0.299081 +vn 0.417951 0.832972 0.362529 +vn 0.437178 0.808130 0.394665 +vn 0.443831 0.748619 0.492477 +vn 0.431410 0.702902 0.565477 +vn 0.488205 0.657430 0.573931 +vn 0.527177 0.634388 0.565325 +vn 0.484970 0.613819 0.622852 +vn -0.249977 0.652425 -0.715415 +vn 0.078738 0.942381 -0.325053 +vn -0.819819 0.118839 -0.560137 +vn 0.636280 0.767113 0.081515 +vn -0.036744 0.963408 0.265389 +vn -0.037416 0.952666 0.301584 +vn -0.011292 0.914640 0.404096 +vn -0.877651 0.021943 -0.478774 +vn 0.560137 0.766869 -0.313211 +vn 0.595813 0.751518 -0.283120 +vn 0.619221 0.744224 -0.250282 +vn 0.595141 0.777581 -0.202734 +vn 0.586352 0.791223 -0.173559 +vn 0.562639 0.813257 -0.148320 +vn 0.555162 0.822657 -0.122410 +vn 0.539109 0.835597 -0.105472 +vn 0.523148 0.849513 -0.067690 +vn 0.507157 0.861110 -0.035340 +vn 0.496506 0.868007 0.002197 +vn 0.474105 0.880428 0.003113 +vn 0.481918 0.875942 0.020539 +vn 0.481460 0.875698 0.036012 +vn 0.442610 0.895260 0.050417 +vn 0.415357 0.904263 0.098636 +vn 0.367412 0.913694 0.173528 +vn 0.304025 0.915067 0.264901 +vn 0.329447 0.903653 0.273537 +vn 0.412580 0.879757 0.236213 +vn 0.475814 0.819849 0.318400 +vn 0.513474 0.766594 0.385510 +vn 0.502762 0.722983 0.473769 +vn 0.480209 0.686056 0.546495 +vn 0.513321 0.657002 0.552080 +vn 0.499283 0.656301 0.565630 +vn 0.403974 0.660878 0.632466 +vn -0.362102 0.822077 0.439344 +vn -0.000366 0.954466 0.298257 +vn 0.028321 0.955748 0.292734 +vn -0.016083 0.921506 0.387951 +vn -0.017029 0.871822 0.489517 +vn 0.560503 0.765435 -0.316080 +vn 0.567797 0.776543 -0.273080 +vn 0.584765 0.781182 -0.218543 +vn 0.577044 0.800073 -0.163945 +vn 0.541093 0.830195 -0.133946 +vn 0.524186 0.843501 -0.117008 +vn 0.527818 0.842006 -0.111270 +vn 0.494675 0.866024 -0.072634 +vn 0.482162 0.874691 -0.049135 +vn 0.486373 0.873745 0.001068 +vn 0.481521 0.876309 0.012726 +vn 0.476485 0.879025 0.014832 +vn 0.457930 0.888089 0.039613 +vn 0.437757 0.895749 0.077120 +vn 0.414319 0.903684 0.107974 +vn 0.378216 0.906339 0.188208 +vn 0.348674 0.902982 0.251045 +vn 0.428297 0.863552 0.266060 +vn 0.487991 0.844264 0.221503 +vn 0.510239 0.820582 0.257363 +vn 0.515061 0.782708 0.349315 +vn 0.480087 0.760491 0.437208 +vn 0.466079 0.708609 0.529679 +vn 0.452986 0.703360 0.547746 +vn 0.380047 0.739769 0.555193 +vn 0.267464 0.717978 0.642567 +vn -0.147099 0.836940 0.527085 +vn -0.097049 0.893002 0.439406 +vn -0.960906 -0.194372 0.197119 +vn -0.654286 0.719016 -0.234260 +vn -0.637806 0.679495 -0.362560 +vn -0.847255 -0.490738 -0.203162 +vn -0.284280 -0.943358 -0.170904 +vn -0.405103 -0.908383 -0.103305 +vn 0.490677 0.778710 -0.390912 +vn 0.547929 0.783166 -0.293924 +vn 0.551805 0.801508 -0.230323 +vn 0.518937 0.835780 -0.179205 +vn 0.528489 0.838069 -0.135319 +vn 0.526505 0.841517 -0.120731 +vn 0.506088 0.856166 -0.104068 +vn 0.474013 0.878903 -0.053041 +vn 0.471480 0.879879 -0.059145 +vn 0.465957 0.884365 -0.026765 +vn 0.480117 0.877102 0.012726 +vn 0.469253 0.882534 0.029908 +vn 0.437605 0.898495 0.033723 +vn 0.447798 0.891049 0.074007 +vn 0.426649 0.897061 0.114963 +vn 0.402570 0.893460 0.199072 +vn 0.414960 0.876919 0.242439 +vn 0.483352 0.845698 0.226142 +vn 0.499649 0.841273 0.206244 +vn 0.485763 0.840388 0.240303 +vn 0.438643 0.840419 0.318155 +vn 0.375439 0.838191 0.395520 +vn 0.390820 0.791528 0.469771 +vn 0.365581 0.753655 0.546190 +vn 0.282418 0.771325 0.570299 +vn 0.205084 0.738456 0.642323 +vn 0.222571 0.711722 0.666250 +vn -0.165349 0.890866 0.423048 +vn -0.195166 0.838374 0.508927 +vn 0.063051 0.113742 -0.991485 +vn 0.067965 0.871456 -0.485702 +vn 0.121891 0.858272 -0.498459 +vn 0.118686 0.873257 -0.472518 +vn 0.053438 -0.997101 0.053926 +vn 0.509476 0.842555 -0.174688 +vn 0.537767 0.812220 -0.225929 +vn 0.499527 0.851192 -0.160894 +vn 0.497848 0.859401 -0.116428 +vn 0.462325 0.880978 -0.100345 +vn 0.460738 0.884274 -0.075655 +vn 0.475570 0.878323 -0.048524 +vn 0.465499 0.884671 -0.025544 +vn 0.453902 0.890988 -0.006867 +vn 0.438093 0.898495 0.027528 +vn 0.428816 0.902707 0.034547 +vn 0.437544 0.897183 0.059725 +vn 0.422529 0.897397 0.126957 +vn 0.429731 0.886624 0.170812 +vn 0.462325 0.860225 0.215033 +vn 0.482070 0.848842 0.216834 +vn 0.462539 0.857570 0.224982 +vn 0.412214 0.882565 0.226142 +vn 0.331614 0.892056 0.306925 +vn 0.320811 0.878292 0.354442 +vn 0.344127 0.840175 0.419050 +vn 0.261635 0.811335 0.522721 +vn 0.199805 0.797510 0.569231 +vn 0.157933 0.777276 0.608966 +vn 0.223151 0.728904 0.647206 +vn -0.268593 0.859737 0.434339 +vn -0.486770 -0.049959 0.872066 +vn -0.401532 -0.363720 0.840510 +vn -0.228675 0.894162 0.384869 +vn -0.237190 0.841243 0.485824 +vn -0.694296 0.631703 0.344737 +vn -0.830744 -0.371441 0.414563 +vn -0.812952 -0.383770 0.437910 +vn -0.820978 -0.420637 0.385998 +vn -0.398175 0.846980 0.352153 +vn -0.335734 0.865352 0.372021 +vn -0.294198 0.864437 0.407605 +vn 0.499161 0.827998 -0.255409 +vn 0.518235 0.841334 -0.153386 +vn 0.485397 0.861232 -0.150395 +vn 0.460280 0.876827 -0.138798 +vn 0.471450 0.878140 -0.080996 +vn 0.459883 0.884548 -0.077517 +vn 0.446486 0.891842 -0.072268 +vn 0.438185 0.898099 -0.037446 +vn 0.423597 0.905820 -0.006073 +vn 0.410565 0.911618 0.018738 +vn 0.414289 0.909421 0.035951 +vn 0.396008 0.917875 0.024628 +vn 0.415632 0.905393 0.086550 +vn 0.431288 0.888058 0.159001 +vn 0.433271 0.880795 0.190832 +vn 0.433210 0.882077 0.185095 +vn 0.407666 0.883267 0.231544 +vn 0.349101 0.902280 0.252937 +vn 0.286355 0.909482 0.301279 +vn 0.324717 0.891690 0.315287 +vn 0.282418 0.870724 0.402509 +vn 0.193487 0.832362 0.519303 +vn 0.173803 0.806787 0.564653 +vn 0.173406 0.782403 0.598102 +vn 0.195990 0.768334 0.609272 +vn -0.986999 0.160649 -0.002075 +vn -0.262581 0.854854 0.447493 +vn 0.196295 0.409040 -0.891140 +vn -0.234809 0.866115 0.441176 +vn -0.456557 0.776391 0.434462 +vn -0.912748 0.324992 0.247505 +vn 0.533189 0.255715 -0.806391 +vn 0.581011 0.390057 -0.714316 +vn 0.542772 0.139103 -0.828242 +vn 0.470107 0.861110 -0.193457 +vn 0.459059 0.841792 -0.283944 +vn 0.479232 0.868007 -0.129704 +vn 0.462691 0.876583 -0.132115 +vn 0.451399 0.886135 -0.104617 +vn 0.449690 0.889950 -0.075503 +vn 0.451277 0.890530 -0.056917 +vn 0.442976 0.895932 -0.031953 +vn 0.419660 0.907651 0.003052 +vn 0.387799 0.921690 0.008301 +vn 0.372600 0.927671 0.023835 +vn 0.363475 0.931425 0.017426 +vn 0.379864 0.923826 0.046999 +vn 0.386761 0.915525 0.110294 +vn 0.420789 0.890774 0.171453 +vn 0.374676 0.906552 0.194281 +vn 0.347911 0.910581 0.223029 +vn 0.296030 0.916379 0.269417 +vn 0.287820 0.914518 0.284188 +vn 0.290994 0.908872 0.298685 +vn 0.232856 0.882626 0.408307 +vn 0.191015 0.839167 0.509171 +vn 0.187628 0.810968 0.554125 +vn 0.172918 0.790063 0.588092 +vn 0.141575 0.784204 0.604083 +vn -0.704642 -0.195776 0.681997 +vn -0.776940 -0.161229 0.608539 +vn -0.793603 -0.093936 0.601093 +vn -0.500076 0.221015 0.837275 +vn -0.419660 0.112735 0.900632 +vn -0.530961 0.445631 0.720725 +vn -0.462996 0.430067 0.774987 +vn -0.526078 0.499344 0.688375 +vn -0.285501 0.871548 0.398572 +vn -0.006226 0.192450 -0.981262 +vn -0.627705 0.539354 -0.561296 +vn -0.627674 0.500626 -0.596118 +vn -0.630329 0.583209 -0.512345 +vn 0.466048 0.860836 -0.204230 +vn 0.452345 0.877316 -0.160100 +vn 0.462447 0.878964 -0.116337 +vn 0.442305 0.890286 -0.108249 +vn 0.449110 0.890683 -0.070254 +vn 0.431166 0.898343 -0.083804 +vn 0.430311 0.902097 -0.031648 +vn 0.407880 0.913022 0.002258 +vn 0.413556 0.908353 0.061678 +vn 0.357067 0.933226 0.039308 +vn 0.344920 0.938597 -0.000183 +vn 0.365795 0.930540 0.016633 +vn 0.367229 0.927824 0.065004 +vn -0.764336 -0.186651 0.617206 +vn -0.684988 -0.097873 0.721915 +vn -0.711112 -0.151952 0.686453 +vn -0.083834 0.331431 -0.939726 +vn -0.852077 -0.453169 -0.261849 +vn 0.649617 -0.003113 -0.760216 +vn 0.459517 0.815912 -0.350841 +vn -0.249489 0.935118 0.251564 +vn -0.193091 0.923612 0.331126 +vn -0.808222 -0.069857 0.584704 +vn -0.805109 -0.131352 0.578356 +vn -0.850063 0.031190 0.525712 +vn -0.828394 0.261879 0.495102 +vn -0.777642 0.391186 0.492141 +vn -0.839534 0.260140 0.476943 +vn -0.829585 0.123630 0.544481 +vn -0.834071 0.169134 0.525040 +vn -0.842311 0.113254 0.526933 +vn -0.791040 0.335337 0.511612 +vn -0.637165 0.288614 0.714621 +vn -0.786737 0.232337 0.571856 +vn -0.811212 -0.284310 0.510941 +vn -0.830622 -0.273629 0.484909 +vn -0.917447 0.378582 -0.122166 +vn -0.774163 -0.319773 -0.546251 +vn -0.818690 -0.050386 0.571978 +vn -0.843410 -0.056642 0.534227 +vn -0.822779 -0.016541 0.568072 +vn 0.018921 -0.998840 -0.043886 +vn 0.018983 -0.998840 -0.043977 +vn 0.046937 -0.998718 -0.018555 +vn -0.515488 0.463942 0.720389 +vn -0.507096 0.650899 0.564928 +vn -0.819575 -0.328745 0.469192 +vn -0.490219 0.786126 0.376354 +vn -0.355602 0.876888 0.323313 +vn -0.517899 0.768731 0.375195 +vn -0.517197 -0.242012 0.820917 +vn -0.825037 -0.258827 0.502274 +vn -0.825098 -0.273537 0.494308 +vn -0.814844 -0.340800 0.468856 +vn -0.568011 -0.274209 0.775964 +vn -0.644368 0.350871 0.679434 +vn -0.597064 0.383099 0.704764 +vn -0.621387 0.394452 0.676931 +vn -0.652120 0.591784 0.473800 +vn -0.608600 0.586657 0.534227 +vn -0.665914 0.481460 0.569811 +vn -0.475082 0.801996 0.361980 +vn -0.450789 0.772546 0.447127 +vn -0.523576 0.744682 0.413831 +vn -0.951689 0.057131 -0.301645 +vn -0.836482 -0.355388 -0.417096 +vn -0.952330 0.291818 0.088717 +vn -0.731132 0.479965 0.484787 +vn -0.690909 0.480361 0.540239 +vn -0.734031 0.426527 0.528428 +vn -0.805841 -0.334452 0.488571 +vn -0.817255 -0.283731 0.501511 +vn -0.824122 -0.290567 0.486129 +vn -0.804651 -0.314737 0.503403 +vn -0.808466 -0.333750 0.484695 +vn -0.811182 -0.334788 0.479415 +vn -0.750420 0.549944 0.366619 +vn -0.707633 0.557054 0.434614 +vn -0.749870 0.475997 0.459426 +vn -0.427381 0.426832 0.796930 +vn -0.410260 0.481368 0.774560 +vn -0.822565 -0.248726 0.511338 +vn -0.821802 -0.244606 0.514542 +vn -0.807306 -0.294107 0.511582 +vn -0.739860 0.427015 0.519822 +vn -0.721793 0.535478 0.438398 +vn -0.764458 0.450880 0.460707 +vn -0.839351 -0.077059 0.538072 +vn -0.818415 -0.104587 0.564989 +vn -0.848048 -0.111332 0.518052 +vn -0.725028 -0.047121 0.687094 +vn -0.751518 -0.035066 0.658742 +vn -0.827815 -0.318094 0.462081 +vn -0.800714 -0.332987 0.497940 +vn -0.579760 -0.066286 0.812067 +vn -0.621693 -0.082949 0.778832 +vn -0.655751 -0.035340 0.754112 +vn -0.759728 0.227454 0.609119 +vn -0.842677 0.284219 0.457198 +vn -0.802850 0.194891 0.563402 +vn -0.850429 0.255440 0.459853 +vn -0.840510 0.055574 0.538896 +vn -0.158086 0.906095 0.392407 +vn -0.451369 0.728813 0.514786 +vn -0.776971 0.469069 0.419813 +vn -0.811060 0.436933 0.388897 +vn -0.747124 -0.015778 0.664449 +vn -0.778802 -0.278268 0.562120 +vn -0.799097 -0.272835 0.535691 +vn -0.820673 -0.291665 0.491287 +vn -0.838374 -0.278237 0.468673 +vn -0.613605 0.009857 0.789514 +vn -0.834132 -0.022919 0.551042 +vn -0.832942 -0.051729 0.550890 +vn -0.847804 -0.018403 0.529954 +vn -0.608112 0.700949 0.372539 +vn -0.842891 -0.251473 0.475661 +vn -0.823298 -0.240516 0.514084 +vn -0.276711 0.275887 0.920469 +vn -0.257515 -0.870113 0.420179 +vn -0.019868 -0.985076 0.170812 +vn -0.262703 -0.804315 0.532945 +vn -0.722251 0.418928 0.550249 +vn -0.734306 0.450026 0.508133 +vn -0.788598 0.304605 0.534135 +vn 0.019990 -0.999023 0.039247 +vn -0.058077 -0.997192 0.046907 +vn -0.100528 0.413251 -0.905026 +vn -0.845485 0.382427 0.372600 +vn -0.797693 0.381603 0.466933 +vn -0.864772 0.303201 0.400220 +vn -0.786798 0.273507 0.553240 +vn -0.726096 0.501694 0.470168 +vn -0.725639 0.494613 0.478286 +vn -0.327555 0.871761 0.364238 +vn -0.313273 0.874538 0.370159 +vn -0.298013 0.876919 0.377056 +vn -0.288308 0.494736 0.819788 +vn -0.493027 0.268777 0.827418 +vn -0.460585 0.676412 0.574725 +vn -0.598956 0.677175 0.427320 +vn -0.600879 0.624195 0.499313 +vn -0.854915 -0.266671 0.444960 +vn -0.840846 -0.300668 0.450026 +vn -0.824458 -0.308359 0.474502 +vn -0.552995 -0.069033 0.830287 +vn -0.604724 -0.102481 0.789788 +vn -0.785150 0.109409 0.609516 +vn -0.717246 0.067080 0.693564 +vn -0.799341 0.073672 0.596332 +vn -0.783074 0.216956 0.582812 +vn -0.787591 0.096927 0.608478 +vn -0.809198 -0.323283 0.490555 +vn -0.810938 -0.330851 0.482559 +vn -0.828516 -0.305185 0.469436 +vn -0.284463 0.897427 0.337138 +vn -0.230659 0.900998 0.367351 +vn -0.333232 0.793512 0.509140 +vn -0.351756 0.103946 -0.930265 +vn -0.069552 0.359905 -0.930387 +vn 0.025513 0.260445 -0.965117 +vn -0.160924 0.171331 0.971954 +vn -0.538987 -0.328990 0.775353 +vn -0.641530 -0.178289 0.746055 +vn -0.266060 0.377178 0.887082 +vn -0.144871 0.763726 0.629017 +vn 0.013459 0.646290 -0.762932 +vn -0.664449 0.316752 0.676870 +vn -0.742729 0.046968 0.667898 +vn -0.816004 -0.011109 0.577899 +vn -0.834315 -0.028474 0.550493 +vn -0.693442 -0.188055 0.695517 +vn -0.738365 -0.159856 0.655141 +vn -0.910367 -0.005432 0.413709 +vn -0.922483 0.073916 0.378826 +vn -0.895169 0.076815 0.439039 +vn -0.187750 0.039827 -0.981384 +vn -0.221564 0.211097 -0.951994 +vn -0.844997 0.193091 0.498611 +vn -0.898648 0.090182 0.429273 +vn -0.462111 0.087374 0.882473 +vn -0.427961 0.211097 0.878780 +vn -0.602344 0.022614 -0.797876 +vn -0.585772 -0.017304 -0.810266 +vn -0.533036 -0.128544 -0.836238 +vn -0.662282 0.197546 0.722709 +vn -0.591144 0.366375 0.718528 +vn -0.432417 0.287851 0.854457 +vn -0.351360 0.368755 0.860530 +vn -0.550462 0.732109 0.401227 +vn -0.757530 0.620594 0.202399 +vn -0.659871 0.424116 0.620197 +vn -0.595477 0.540086 0.594684 +vn -0.830103 0.302988 0.468062 +vn -0.845790 0.091952 0.525498 +vn -0.883267 0.027772 0.468001 +vn -0.596088 0.533494 0.599994 +vn -0.749931 0.468368 0.467086 +vn -0.797937 0.328074 0.505539 +vn -0.826380 -0.043672 0.561388 +vn -0.817652 -0.121128 0.562761 +vn -0.450545 0.062380 0.890530 +vn -0.571764 0.122745 0.811151 +vn -0.416944 0.231361 0.878964 +vn -0.866024 0.182714 0.465407 +vn -0.865627 0.139439 0.480819 +vn -0.892117 0.119694 0.435621 +vn -0.847194 -0.035005 0.530076 +vn -0.825983 -0.044374 0.561907 +vn -0.834986 -0.041108 0.548662 +vn -0.618519 0.068148 -0.782769 +vn -0.585864 0.742637 0.324351 +vn -0.486740 0.089877 0.868892 +vn -0.484085 0.205573 0.850490 +vn -0.826258 -0.348643 0.442366 +vn -0.802850 -0.353587 0.479934 +vn -0.368175 0.664235 0.650502 +vn -0.595691 -0.049226 0.801691 +vn -0.359691 -0.923276 -0.134800 +vn -0.514969 0.065096 -0.854701 +vn -0.390118 0.068514 -0.918180 +vn -0.001434 -0.999939 -0.008484 +vn 0.010926 -0.999908 -0.007691 +vn -0.433119 -0.736473 0.519547 +vn -0.867306 -0.404797 0.289560 +vn -0.611530 -0.648122 0.453810 +vn -0.724113 0.326579 0.607410 +vn -0.709464 -0.218574 0.669942 +vn -0.683096 -0.225929 0.694449 +vn -0.622089 0.455519 0.636738 +vn -0.444716 -0.728904 0.520463 +vn -0.461715 -0.642506 0.611530 +vn -0.465651 -0.715354 0.520951 +vn -0.825648 -0.309824 0.471419 +vn -0.843623 -0.327708 0.425275 +vn -0.845424 -0.291513 0.447462 +vn -0.200354 0.034730 0.979095 +vn -0.461379 0.648396 0.605518 +vn -0.321512 0.637013 0.700552 +vn -0.624897 0.671865 0.397534 +vn -0.830988 -0.035768 0.555101 +vn -0.828730 -0.060488 0.556352 +vn -0.108921 -0.480361 0.870266 +vn -0.815790 -0.401959 0.415723 +vn -0.788141 -0.393139 0.473556 +vn -0.503983 0.590136 0.630634 +vn -0.936247 0.209113 0.282296 +vn -0.944639 0.226600 0.237220 +vn -0.825892 0.003937 0.563768 +vn -0.843349 -0.049745 0.535020 +vn -0.452071 -0.148534 0.879513 +vn -0.458449 0.707877 0.537309 +vn -0.422346 0.801599 0.423139 +vn -0.431623 0.799951 0.416791 +vn -0.850917 -0.293649 0.435530 +vn -0.851375 -0.307627 0.424848 +vn -0.841304 -0.367046 0.396802 +vn -0.909482 -0.064577 0.410627 +vn -0.908719 -0.061281 0.412793 +vn -0.912656 -0.019013 0.408277 +vn -0.660634 0.642170 0.388745 +vn -0.539048 0.688498 0.485122 +vn -0.567766 0.588305 0.575762 +vn -0.666524 0.135868 0.732963 +vn -0.772118 0.138829 0.620106 +vn -0.775201 0.004395 0.631672 +vn -0.553087 0.692068 0.463790 +vn -0.804346 0.434156 0.405591 +vn -0.822291 0.468795 0.322550 +vn -0.831782 0.388348 0.396558 +vn -0.857753 0.130650 0.497147 +vn -0.527879 -0.056551 -0.847407 +vn -0.567553 -0.006226 -0.823298 +vn -0.506912 -0.075594 -0.858638 +vn -0.428510 -0.035829 -0.902799 +vn -0.124851 -0.624531 0.770928 +vn -0.729026 -0.393109 0.560320 +vn -0.768731 -0.278756 0.575579 +vn -0.838923 -0.271065 0.471877 +vn -0.815729 -0.115665 0.566698 +vn -0.869350 -0.112430 0.481185 +vn -0.804773 -0.577502 0.136937 +vn -0.701926 -0.709891 -0.057436 +vn -0.865078 -0.500259 -0.036958 +vn 0.575762 0.143773 -0.804834 +vn 0.468490 0.063295 -0.881191 +vn -0.828028 -0.389508 0.403211 +vn -0.811151 -0.375774 0.448042 +vn -0.410108 0.165319 -0.896908 +vn -0.911405 -0.373791 -0.171972 +vn -0.974395 0.168889 -0.148228 +vn -0.582537 0.058596 -0.810663 +vn -0.609424 -0.081698 -0.788598 +vn -0.646260 0.047517 -0.761589 +vn -0.478866 0.721946 0.499405 +vn -0.638844 0.428175 0.639149 +vn -0.561449 0.412641 0.717246 +vn -0.596912 0.553911 0.580370 +vn -0.872097 -0.304422 0.383038 +vn -0.870479 -0.307260 0.384472 +vn -0.896756 -0.168432 0.409162 +vn -0.804315 -0.383099 0.454176 +vn -0.828608 -0.334178 0.449110 +vn -0.173040 0.289987 -0.941221 +vn -0.424757 0.112980 -0.898221 +vn -0.541337 0.073153 -0.837581 +vn -0.352947 0.679403 0.643269 +vn -0.321970 0.773522 0.545854 +vn -0.811029 -0.037049 0.583789 +vn -0.821375 -0.025300 0.569781 +vn -0.828791 -0.006745 0.559465 +vn -0.826441 -0.089755 0.555773 +vn -0.823206 -0.085147 0.561266 +vn -0.809107 0.374615 0.452712 +vn 0.021271 -0.997009 0.073885 +vn 0.050081 -0.996826 0.061464 +vn -0.614002 0.122288 0.779748 +vn -0.636799 0.274697 0.720389 +vn -0.649831 0.260140 0.714133 +vn -0.659536 0.148442 0.736839 +vn -0.599780 0.348857 0.720084 +vn -0.560869 0.294443 0.773736 +vn -0.299997 0.666738 0.682211 +vn -0.828700 -0.319376 0.459578 +vn -0.849940 -0.271920 0.451247 +vn -0.976104 0.091800 -0.196905 +vn -0.507706 0.400372 0.762810 +vn -0.495956 0.322947 0.806024 +vn -0.791467 -0.426069 0.438154 +vn -0.705008 -0.443922 0.553026 +vn -0.817438 -0.394665 0.419507 +vn -0.533097 0.547166 0.645253 +vn -0.555406 0.607105 0.568224 +vn -0.560350 0.650685 0.512406 +vn -0.822932 0.305063 0.479263 +vn -0.844691 0.316782 0.431410 +vn -0.706046 0.607196 0.364391 +vn -0.637928 0.669027 0.381298 +vn -0.674673 0.603442 0.425001 +vn -0.391461 0.559954 0.730155 +vn -0.411786 0.689657 0.595630 +vn -0.783746 -0.105625 0.612018 +vn -0.441511 0.403180 0.801538 +vn -0.853694 -0.105655 0.509903 +vn -0.839167 -0.186712 0.510788 +vn -0.835658 -0.178808 0.519272 +vn 0.058473 -0.408918 -0.910672 +vn 0.117222 -0.432783 -0.893826 +vn -0.992279 -0.122440 -0.018616 +vn -0.986328 0.137272 0.090945 +vn -0.279366 -0.447523 -0.849483 +vn -0.806391 -0.090640 0.584338 +vn -0.219428 -0.857845 0.464644 +vn -0.795129 0.222266 0.564196 +vn -0.194494 -0.719565 -0.666616 +vn -0.639210 -0.222785 0.736015 +vn -0.572527 0.366070 -0.733573 +vn -0.594836 0.476363 -0.647450 +vn -0.516648 -0.045900 -0.854946 +vn -0.582507 -0.147496 -0.799310 +vn -0.338206 0.855068 0.392987 +vn -0.967254 0.203345 0.151769 +vn -0.161321 -0.762810 -0.626118 +vn -0.193793 -0.733757 -0.651143 +vn -0.126804 -0.781549 -0.610797 +vn -0.186377 -0.725669 -0.662282 +vn 0.684286 0.343089 -0.643391 +vn -0.555223 0.084933 -0.827326 +vn -0.534410 0.148412 -0.832057 +vn -0.647175 -0.187170 0.738975 +vn -0.878628 0.186651 0.439436 +vn -0.568072 0.615802 0.545915 +vn -0.760949 0.438887 0.477798 +vn -0.670186 0.658681 0.341960 +vn -0.804712 0.207678 0.556108 +vn -0.505142 -0.301798 0.808527 +vn -0.606342 -0.312998 0.730979 +vn -0.536393 -0.136876 0.832759 +vn -0.910245 0.336711 0.240852 +vn -0.769524 0.571123 0.285684 +vn -0.854457 -0.269326 0.444227 +vn -0.810053 0.073580 0.581652 +vn -0.465041 -0.445814 0.764824 +vn -0.826319 -0.307474 0.471816 +vn -0.481735 -0.518754 0.706229 +vn -0.822138 -0.024781 0.568743 +vn -0.835231 -0.029939 0.549058 +vn -0.826960 -0.081545 0.556291 +vn -0.728599 -0.305216 0.613147 +vn -0.611835 -0.292795 0.734764 +vn -0.732597 -0.250191 0.632984 +vn -0.819880 0.025666 0.571947 +vn -0.625568 -0.215094 0.749901 +vn -0.711173 -0.233955 0.662923 +vn -0.816340 -0.003876 0.577502 +vn -0.817866 -0.039888 0.573992 +vn -0.535844 0.447768 0.715781 +vn -0.536576 0.508011 0.673788 +vn -0.798242 0.135411 0.586871 +vn -0.827540 -0.008026 0.561327 +vn -0.699484 -0.251473 0.668874 +vn -0.706870 -0.171636 0.686178 +vn -0.517869 -0.210456 0.829127 +vn -0.566332 -0.269478 0.778863 +vn 0.273904 -0.019135 0.961547 +vn -0.374798 0.792138 0.481613 +vn -0.455763 -0.087649 0.885739 +vn -0.841517 -0.260842 0.473037 +vn -0.795221 -0.053926 0.603870 +vn -0.770135 0.403394 0.494095 +vn -0.761071 0.373577 0.530259 +vn -0.833064 0.237007 0.499771 +vn -0.807276 -0.542344 0.232673 +vn -0.866909 0.043519 0.496506 +vn -0.884732 0.116703 0.451216 +vn -0.472732 0.321970 0.820246 +vn -0.462569 0.395032 0.793664 +vn 0.105258 0.293100 -0.950255 +vn 0.002411 0.252144 -0.967681 +vn 0.006134 0.159429 -0.987182 +vn -0.472610 -0.358348 0.805109 +vn -0.237373 0.326579 -0.914853 +vn -0.512986 -0.214515 0.831141 +vn -0.553545 -0.222419 0.802545 +vn -0.767113 -0.143681 0.625202 +vn 0.104587 0.226417 -0.968383 +vn -0.727317 -0.296976 0.618671 +vn -0.134251 -0.085299 -0.987243 +vn -0.081362 0.010010 -0.996612 +vn -0.065828 -0.050325 -0.996551 +vn -0.838588 0.456679 0.296915 +vn 0.127812 0.105136 -0.986175 +vn -0.021973 -0.924375 0.380779 +vn -0.807215 -0.436323 0.397443 +vn -0.820978 -0.408155 0.399182 +vn -0.827509 -0.408368 0.385266 +vn -0.839595 -0.132237 0.526841 +vn -0.814783 -0.241798 0.526902 +vn -0.812860 -0.237495 0.531785 +vn -0.649861 0.606433 0.458113 +vn -0.681753 0.466445 0.563585 +vn -0.392254 -0.448866 0.802881 +vn -0.423414 -0.379528 0.822596 +vn -0.902310 -0.107974 0.417310 +vn -0.898495 -0.086642 0.430280 +vn -0.894375 -0.006470 0.447249 +vn -0.596698 0.708396 0.376873 +vn -0.441328 -0.580004 0.684683 +vn -0.423292 -0.690725 0.586200 +vn -0.444868 -0.891659 0.083651 +vn -0.776025 -0.121830 0.618793 +vn -0.675710 0.285318 -0.679678 +vn -0.708823 0.327982 -0.624470 +vn -0.664174 0.291086 -0.688528 +vn 0.555315 0.206519 -0.805567 +vn 0.506485 0.099490 -0.856471 +vn 0.593036 0.073519 -0.801782 +vn -0.585345 0.689230 0.426954 +vn -0.517808 0.318125 0.794122 +vn -0.939726 -0.044465 0.338969 +vn -0.935606 -0.119938 0.331980 +vn -0.841853 -0.046113 0.537706 +vn -0.822352 -0.047090 0.567003 +vn -0.846034 -0.045930 0.531114 +vn -0.925657 -0.359020 -0.119327 +vn -0.491653 -0.133976 -0.860408 +vn -0.754631 -0.044008 0.654653 +vn -0.716239 -0.033479 0.697012 +vn -0.750359 -0.083956 0.655660 +vn -0.598529 0.387005 0.701376 +vn -0.681417 0.303690 0.665883 +vn -0.739921 0.313242 0.595294 +vn -0.172308 0.311777 -0.934385 +vn -0.496048 -0.141942 0.856594 +vn -0.466933 -0.173223 0.867122 +vn -0.741386 -0.577410 -0.341929 +vn -0.707236 -0.606555 -0.363170 +vn 0.239326 0.072756 -0.968200 +vn -0.374035 0.420362 0.826655 +vn -0.563829 0.726676 0.392407 +vn -0.558275 -0.060793 0.827387 +vn -0.560137 -0.048341 0.826960 +vn -0.370556 0.235145 -0.898526 +vn -0.336680 0.243110 -0.909665 +vn -0.845546 -0.382275 0.372662 +vn -0.839381 -0.365001 0.402722 +vn -0.874020 0.410810 0.259438 +vn -0.765099 0.537248 0.354869 +vn -0.445906 0.044069 -0.893979 +vn 0.431959 -0.736686 0.520280 +vn 0.369213 -0.754387 0.542741 +vn 0.400616 -0.775079 0.488571 +vn -0.601886 0.249153 -0.758690 +vn -0.576312 0.286081 -0.765496 +vn 0.129276 0.268593 -0.954527 +vn 0.245949 0.191961 -0.950072 +vn 0.203009 0.292581 -0.934416 +vn -0.253426 -0.297342 -0.920499 +vn -0.528642 -0.318461 -0.786798 +vn -0.817988 -0.225013 0.529374 +vn -0.820368 -0.071841 0.567248 +vn -0.790155 -0.368389 0.489792 +vn -0.851436 0.451521 0.266701 +vn -0.898312 0.361156 0.250069 +vn -0.716086 0.441389 0.540696 +vn -0.792261 0.353862 0.497055 +vn -0.876309 0.077029 0.475509 +vn 0.418683 -0.905026 -0.074801 +vn 0.381756 -0.918516 -0.102634 +vn -0.444288 -0.231117 0.865535 +vn -0.418073 -0.133946 0.898465 +vn -0.412793 -0.393475 0.821406 +vn -0.432386 -0.370739 0.821925 +vn -0.454695 -0.335490 0.825007 +vn -0.496048 -0.279122 0.822199 +vn -0.479415 -0.310648 0.820734 +vn -0.520676 -0.269509 0.810083 +vn -0.737266 0.615650 -0.278146 +vn -0.894528 0.362957 0.260842 +vn -0.938719 0.295328 0.177648 +vn -0.898251 0.152776 0.412030 +vn -0.418531 0.683828 0.597613 +vn -0.405713 0.774377 0.485458 +vn -0.379101 0.781274 0.495804 +vn -0.844874 0.102268 0.525071 +vn -0.824000 0.196265 0.531480 +vn -0.472182 -0.138707 0.870479 +vn -0.826807 0.475204 0.300821 +vn -0.894803 0.011719 0.446242 +vn -0.411481 0.370952 0.832484 +vn -0.468764 -0.015870 -0.883175 +vn -0.538713 -0.007172 -0.842433 +vn -0.499374 0.059206 -0.864345 +vn -0.466628 -0.029389 0.883938 +vn -0.546770 -0.012207 0.837184 +vn -0.516648 -0.150548 0.842830 +vn -0.732597 -0.167394 -0.659719 +vn -0.689291 -0.157292 -0.707175 +vn -0.661885 -0.119022 -0.740074 +vn -0.553484 -0.001007 0.832850 +vn -0.563494 0.000275 0.826075 +vn -0.565630 -0.122379 0.815485 +vn -0.586261 0.233161 0.775811 +vn -0.560533 0.321757 0.763024 +vn -0.440413 0.497024 0.747642 +vn -0.837916 -0.412610 0.357158 +vn -0.425398 -0.301950 0.853114 +vn 0.001953 -0.999969 0.005097 +vn -0.001373 -0.999969 -0.007660 +vn -0.019990 -0.999756 -0.007996 +vn -0.503037 0.345866 -0.792016 +vn -0.828974 -0.040895 0.557726 +vn -0.485916 -0.073824 -0.870846 +vn -0.310160 -0.007965 -0.950621 +vn -0.458907 0.411420 0.787469 +vn -0.533677 -0.129551 0.835688 +vn -0.552538 -0.219672 0.803980 +vn -0.556963 0.121616 0.821558 +vn -0.617603 0.219306 0.755272 +vn -0.677572 0.161473 0.717490 +vn -0.638691 -0.049989 0.767815 +vn -0.540483 0.418256 0.730003 +vn -0.817194 0.241401 0.523331 +vn -0.786309 0.170843 0.593677 +vn -0.569842 -0.509507 0.644704 +vn -0.649983 -0.118961 0.750542 +vn -0.685629 -0.078524 0.723655 +vn -0.224586 0.130100 -0.965697 +vn -0.591296 0.218421 -0.776299 +vn -0.632771 0.354198 -0.688528 +vn -0.603290 0.303140 -0.737632 +vn -0.700705 0.618488 0.355571 +vn -0.106876 0.189093 0.976104 +vn -0.819117 -0.051759 0.571245 +vn -0.838343 -0.151524 0.523606 +vn -0.842128 -0.128391 0.523728 +vn -0.726493 -0.164403 -0.667165 +vn -0.609851 -0.198584 -0.767205 +vn -0.501541 -0.232765 0.833186 +vn -0.805048 -0.331553 0.491836 +vn -0.797449 -0.338054 0.499741 +vn -0.810327 -0.348033 0.471389 +vn -0.643055 -0.233345 0.729392 +vn -0.560991 -0.342112 0.753777 +vn -0.662404 -0.271218 0.698294 +vn -0.827601 -0.293649 0.478317 +vn -0.849696 -0.264901 0.455855 +vn -0.869533 -0.244758 0.428938 +vn 0.038697 -0.999207 0.005188 +vn -0.055666 -0.426344 -0.902829 +vn -0.799921 -0.264382 0.538682 +vn -0.110569 -0.843837 0.525040 +vn -0.156957 -0.863216 0.479781 +vn -0.263985 -0.605914 0.750420 +vn -0.986389 -0.155889 0.051943 +vn 0.084841 0.127842 -0.988128 +vn -0.749657 -0.057497 0.659322 +vn -0.890408 -0.187231 0.414777 +vn -0.882870 -0.210181 0.419935 +vn -0.903562 -0.119510 0.411389 +vn -0.728477 0.425123 0.537156 +vn -0.805231 0.412427 0.426008 +vn -0.846095 0.234535 0.478591 +vn -0.734245 0.236579 0.636280 +vn -0.858089 -0.267983 0.438002 +vn -0.823023 -0.057863 0.564989 +vn -0.187231 -0.901395 0.390362 +vn -0.218574 -0.876156 0.429579 +vn -0.292215 -0.862819 0.412458 +vn -0.784783 -0.127110 0.606555 +vn -0.853572 -0.275857 0.441908 +vn -0.839869 -0.045228 0.540849 +vn -0.801904 -0.335215 0.494522 +vn -0.629963 0.676778 0.380932 +vn -0.664052 0.629231 0.403790 +vn 0.271920 -0.906247 0.323679 +vn -0.830836 0.489944 0.263863 +vn -0.880154 0.409192 0.240547 +vn -0.927305 0.321177 0.192145 +vn -0.577258 0.460280 -0.674459 +vn -0.409864 0.276528 -0.869198 +vn -0.494888 0.270974 -0.825587 +vn -0.409162 0.324503 -0.852779 +vn -0.842952 0.158910 0.513932 +vn -0.864162 0.252541 0.435224 +vn -0.748527 0.023194 0.662648 +vn -0.815973 0.282113 0.504532 +vn -0.823725 -0.316477 0.470412 +vn -0.843257 -0.299051 0.446577 +vn -0.520524 0.681265 0.514664 +vn -0.584735 0.220740 0.780572 +vn -0.584002 0.322550 0.744896 +vn -0.573901 -0.216376 0.789788 +vn -0.773034 0.573260 0.271523 +vn -0.839412 -0.048524 0.541307 +vn -0.858180 -0.274911 0.433454 +vn -0.600513 0.436354 0.670034 +vn -0.874325 -0.289590 0.389416 +vn -0.466231 0.026093 -0.884243 +vn -0.497024 -0.043428 -0.866634 +vn -0.882839 -0.229347 0.409833 +vn -0.144414 0.288614 -0.946471 +vn -0.189306 0.283242 -0.940153 +vn -0.180639 0.270028 -0.945738 +vn -0.889218 0.388775 0.241005 +vn -0.679739 0.642689 0.353374 +vn -0.831965 0.479019 0.279824 +vn -0.527635 0.535661 0.659261 +vn -0.895230 -0.159398 0.416059 +vn -0.715476 -0.100192 0.691397 +vn -0.852290 0.520554 0.050752 +vn -0.717978 -0.125767 0.684561 +vn -0.808008 -0.292825 0.511216 +vn -0.802545 0.301309 0.514878 +vn -0.752861 0.399365 0.523148 +vn -0.824366 0.265633 0.499832 +vn -0.527482 -0.213172 0.822352 +vn -0.479232 -0.223884 0.848628 +vn -0.481552 -0.234352 0.844478 +vn -0.610828 0.789697 0.056825 +vn -0.524735 0.825678 0.207038 +vn -0.894375 0.375164 0.243477 +vn -0.769280 0.561846 0.304086 +vn -0.668996 -0.417493 0.614887 +vn -0.619037 -0.460341 0.636250 +vn -0.645497 -0.420606 0.637471 +vn -0.447890 0.725364 0.522660 +vn -0.434034 0.795831 0.422163 +vn -0.568499 0.723411 0.391675 +vn -0.709983 -0.448347 0.542985 +vn -0.825831 -0.284310 0.486953 +vn -0.603046 0.209845 0.769585 +vn -0.866604 0.157781 0.473373 +vn -0.867428 0.108646 0.485488 +vn -0.747581 -0.039094 0.662984 +vn -0.525346 -0.725883 0.443922 +vn -0.720298 -0.629170 0.292032 +vn -0.287881 -0.890591 0.352031 +vn 0.825007 0.528764 -0.199316 +vn 0.065981 -0.997803 -0.001404 +vn -0.469039 -0.351085 0.810358 +vn -0.506149 -0.240211 0.828303 +vn -0.861873 0.434523 0.261391 +vn -0.002594 -0.999969 0.000793 +vn -0.893613 -0.218177 0.392193 +vn -0.767571 -0.381146 0.515275 +vn -0.700034 -0.388073 0.599414 +vn -0.777947 -0.367046 0.509934 +vn -0.904141 -0.071474 0.421155 +vn -0.567797 0.618397 0.543260 +vn -0.651357 0.606250 0.456221 +vn -0.262185 0.224219 0.938597 +vn -0.452681 0.615925 0.644734 +vn -0.855037 0.232368 0.463576 +vn -0.741356 0.530778 0.410627 +vn -0.701224 0.498489 0.509659 +vn -0.801782 0.395276 0.448164 +vn -0.398816 0.574786 0.714499 +vn -0.513993 0.515397 0.685659 +vn -0.857540 -0.278237 0.432600 +vn -0.540513 0.264779 0.798547 +vn -0.887112 -0.337962 -0.314249 +vn -0.480972 -0.690878 -0.539689 +vn -0.547288 0.545183 0.634968 +vn -0.794000 -0.359325 0.490310 +vn -0.730552 0.514786 0.448592 +vn -0.646779 0.598834 0.472243 +vn -0.349284 0.776482 0.524430 +vn -0.487503 0.086032 0.868862 +vn -0.549394 0.238929 0.800653 +vn -0.732841 0.404462 0.547075 +vn -0.716819 0.488174 0.497787 +vn -0.015931 -0.998596 0.050050 +vn -0.034150 -0.998321 0.046419 +vn 0.035585 -0.980041 -0.195441 +vn -0.208930 -0.467483 -0.858913 +vn -0.491348 -0.269601 0.828150 +vn -0.471145 -0.280221 0.836329 +vn -0.969787 -0.210974 0.122227 +vn -0.903989 0.418165 -0.088839 +vn -0.961119 -0.029878 -0.274453 +vn -0.607837 0.793481 0.029481 +vn -0.671377 0.737114 -0.076724 +vn -0.961333 -0.272835 -0.036531 +vn -0.885952 -0.462935 -0.027284 +vn -0.571062 0.005585 0.820856 +vn -0.604572 0.039430 0.795526 +vn -0.578875 -0.042726 0.814264 +vn -0.009766 -0.999329 0.034852 +vn 0.010437 -0.998840 0.046571 +vn 0.035340 -0.998657 0.037660 +vn -0.566668 0.362285 0.739982 +vn 0.054781 0.956603 0.286172 +vn -0.545305 0.402875 0.735038 +vn -0.585192 0.706351 0.398175 +vn -0.530290 0.732322 0.427168 +vn -0.833064 0.186987 0.520585 +vn -0.874874 0.098910 0.474075 +vn -0.780389 -0.444838 0.439436 +vn -0.887600 0.083804 0.452895 +vn -0.468215 -0.462264 0.753014 +vn -0.576037 0.127873 -0.807337 +vn -0.416395 0.322367 0.850093 +vn -0.787439 0.082400 0.610828 +vn -0.777795 0.028077 0.627857 +vn -0.785760 -0.012452 0.618366 +vn -0.427473 0.702628 0.568804 +vn -0.346263 0.697439 0.627369 +vn -0.563982 0.070101 0.822779 +vn -0.717917 0.066683 0.692892 +vn -0.744346 -0.110416 0.658589 +vn -0.634083 -0.339152 0.694876 +vn -0.809015 -0.336619 0.481765 +vn -0.480972 -0.244301 0.841975 +vn -0.495804 -0.283273 0.820887 +vn -0.493912 -0.353252 0.794488 +vn -0.694143 -0.306131 0.651479 +vn -0.841243 0.438124 0.316691 +vn -0.933287 0.279305 0.225623 +vn -0.825007 -0.115879 0.553087 +vn -0.786950 -0.024567 0.616474 +vn -0.787530 -0.045747 0.614521 +vn -0.772210 -0.107913 0.626087 +vn -0.708518 0.234931 0.665395 +vn -0.831813 -0.037019 0.553758 +vn -0.583117 -0.350108 0.733055 +vn -0.986908 -0.130497 0.094699 +vn -0.576434 0.268227 -0.771844 +vn -0.536882 0.303873 -0.786981 +vn -0.211463 0.054994 -0.975829 +vn -0.136631 0.140660 -0.980560 +vn -0.618824 -0.498123 0.607349 +vn -0.555956 -0.156438 0.816309 +vn -0.653829 -0.158513 0.739799 +vn -0.365673 -0.158330 -0.917142 +vn -0.342509 -0.156255 -0.926420 +vn -0.806330 -0.356029 0.472243 +vn -0.869900 -0.320261 0.375042 +vn -0.416333 -0.884854 -0.208930 +vn -0.676840 -0.714682 -0.176244 +vn -0.617206 -0.758568 -0.208808 +vn -0.492538 -0.469283 0.732871 +vn -0.471175 -0.509323 0.720084 +vn -0.839351 -0.265023 0.474563 +vn -0.853725 -0.257698 0.452437 +vn -0.825159 -0.087893 0.557970 +vn -0.815607 -0.092105 0.571215 +vn -0.839290 -0.248939 0.483291 +vn -0.809870 -0.084078 0.580523 +vn -0.552538 0.730461 0.401318 +vn -0.507401 0.799615 0.321055 +vn -0.459029 0.831568 0.312601 +vn -0.571978 -0.462264 0.677572 +vn -0.371044 -0.167669 -0.913327 +vn -0.319346 -0.001007 -0.947630 +vn -0.992889 0.021729 0.116825 +vn -0.974944 0.143712 0.169713 +vn -0.994598 0.007385 0.103366 +vn -0.961119 0.210852 0.178137 +vn -0.898007 0.355998 0.258400 +vn -0.869045 0.422895 0.256600 +vn -0.431532 0.495987 0.753471 +vn -0.616260 0.658101 0.432478 +vn -0.562426 0.726981 0.393872 +vn -0.801965 0.147832 0.578753 +vn -0.799341 0.196722 0.567705 +vn -0.980499 -0.196356 0.001251 +vn -0.828181 -0.404614 0.387738 +vn -0.565172 0.739952 0.364696 +vn -0.566301 0.708335 0.421339 +vn -0.527238 0.729911 0.434950 +vn 0.027558 -0.999481 0.015229 +vn -0.923673 -0.366741 0.110843 +vn -0.837428 -0.533128 0.120182 +vn -0.018159 0.355144 -0.934629 +vn 0.105045 0.462172 -0.880520 +vn -0.915830 -0.264748 -0.301859 +vn -0.968993 0.014374 -0.246590 +vn -0.868343 -0.449202 -0.210150 +vn -0.676443 -0.104343 -0.729026 +vn -0.704367 0.016083 -0.709616 +vn -0.761742 0.039064 -0.646687 +vn -0.164403 0.252968 -0.953368 +vn -0.404279 0.144017 -0.903195 +vn -0.330760 0.138188 -0.933531 +vn 0.076876 -0.346904 -0.934721 +vn 0.052400 -0.364269 -0.929777 +vn -0.078707 -0.401318 -0.912534 +vn -0.077334 -0.262612 -0.961760 +vn -0.772271 -0.069460 -0.631458 +vn -0.099673 0.197394 -0.975219 +vn -0.169774 0.280038 -0.944823 +vn -0.113620 0.212165 -0.970580 +vn -0.420820 0.162236 0.892483 +vn -0.724845 -0.188757 -0.662496 +vn -0.456526 -0.131382 0.879940 +vn 0.168035 0.367382 -0.914731 +vn 0.052644 0.373943 -0.925932 +vn -0.567827 0.723472 0.392560 +vn -0.845027 -0.289071 0.449812 +vn -0.447096 0.829432 0.334788 +vn 0.021638 -0.980224 -0.196631 +vn -0.506607 0.732292 0.455031 +vn -0.695059 0.466567 0.546953 +vn -0.636799 0.602557 0.481033 +vn -0.682485 0.349528 0.641896 +vn -0.829554 0.369793 0.418378 +vn -0.803430 0.422010 0.419965 +vn -0.664785 0.245247 0.705588 +vn -0.989319 0.102786 0.103336 +vn -0.989563 -0.137272 0.043306 +vn -0.821467 -0.004486 0.570208 +vn -0.834956 0.449934 0.316782 +vn -0.924619 0.316111 0.212439 +vn -0.672994 -0.697806 0.245186 +vn -0.423444 0.794366 0.435499 +vn -0.557787 0.110599 0.822565 +vn -0.691519 -0.654225 0.306162 +vn -0.369488 -0.822504 0.432356 +vn -0.049287 -0.847255 0.528855 +vn 0.578997 0.194708 -0.791711 +vn 0.570452 0.119663 -0.812525 +vn 0.596423 0.120212 -0.793603 +vn -0.284036 0.246834 -0.926481 +vn -0.344981 0.247200 -0.905454 +vn -0.354015 0.311686 -0.881741 +vn -0.166143 0.233009 -0.958159 +vn -0.277200 -0.265053 -0.923490 +vn -0.258431 -0.280282 -0.924467 +vn -0.193335 -0.267006 -0.944090 +vn -0.447981 -0.043977 -0.892941 +vn -0.350169 0.193518 -0.916440 +vn -0.181951 0.229713 -0.956084 +vn -0.052522 0.159429 -0.985778 +vn -0.390667 0.046693 -0.919340 +vn -0.375103 0.049196 -0.925657 +vn -0.656331 0.130619 -0.743034 +vn -0.717277 0.252235 -0.649495 +vn -0.287210 -0.123569 -0.949828 +vn -0.194342 -0.071047 -0.978332 +vn -0.277596 -0.293161 -0.914853 +vn -0.713981 -0.377392 0.589740 +vn -0.589831 -0.376324 0.714438 +vn -0.685293 0.258644 0.680746 +vn -0.559862 0.410901 0.719474 +vn -0.504013 0.040559 -0.862728 +vn -0.655202 0.200110 0.728416 +vn -0.687613 0.341350 0.640797 +vn -0.754173 0.232368 0.614154 +vn -0.841365 -0.040193 0.538926 +vn -0.649525 0.148686 -0.745628 +vn -0.823023 -0.297800 0.483657 +vn -0.912137 -0.007324 0.409803 +vn -0.926817 0.105625 0.360271 +vn -0.922849 0.018342 0.384655 +vn -0.906278 0.199011 0.372814 +vn -0.774468 -0.334391 0.536973 +vn -0.788903 -0.411359 0.456435 +vn -0.594195 0.698569 0.398602 +vn -0.502396 0.746849 0.435621 +vn -0.806635 -0.073397 0.586444 +vn -0.798822 -0.310160 0.515427 +vn -0.814997 -0.279366 0.507645 +vn -0.519425 0.111087 -0.847224 +vn -0.826136 -0.353313 0.438887 +vn -0.326456 0.852260 0.408673 +vn -0.967834 0.196387 0.157109 +vn -0.866512 -0.447462 0.221107 +vn 0.654378 0.159337 -0.739158 +vn -0.643818 -0.007477 0.765130 +vn -0.635090 -0.148198 0.758049 +vn -0.833674 -0.014344 0.552019 +vn -0.491836 -0.223457 0.841487 +vn -0.503769 0.549638 0.666372 +vn -0.464461 0.589435 0.660909 +vn -0.789026 -0.014039 0.614185 +vn -0.845058 -0.038667 0.533250 +vn -0.844142 -0.041047 0.534501 +vn -0.900540 -0.189215 0.391400 +vn -0.802301 0.018921 0.596576 +vn -0.844295 0.024781 0.535295 +vn -0.814966 -0.282418 0.505997 +vn -0.624622 -0.234138 0.744957 +vn 0.055422 -0.956877 -0.285104 +vn 0.098117 -0.954253 -0.282357 +vn 0.112125 -0.606128 -0.787408 +vn -0.720969 -0.692892 -0.006684 +vn -0.885006 -0.144475 0.442518 +vn -0.903714 -0.054537 0.424604 +vn -0.796503 -0.252937 0.549150 +vn 0.628224 -0.015503 -0.777825 +vn -0.616077 -0.231605 0.752831 +vn -0.674184 -0.271584 0.686789 +vn -0.326670 0.893582 0.307840 +vn -0.499680 0.760521 0.414563 +vn -0.436140 -0.432264 0.789239 +vn -0.948210 -0.058016 -0.312235 +vn -0.961180 0.128330 -0.244240 +vn -0.103641 -0.808588 0.579150 +vn 0.076510 -0.038057 -0.996338 +vn -0.944731 0.289651 0.153386 +vn -0.674337 0.615345 0.408124 +vn -0.326548 -0.013825 0.945067 +vn -0.836116 -0.177801 0.518876 +vn -0.590991 -0.216468 -0.777062 +vn -0.568987 -0.264657 -0.778558 +vn -0.669271 -0.162694 0.724967 +vn -0.492416 -0.200995 0.846797 +vn -0.527207 0.495926 0.689962 +vn -0.492752 0.493545 0.716636 +vn -0.528550 0.519547 0.671316 +vn -0.288217 0.002625 -0.957549 +vn 0.045320 -0.998810 -0.016236 +vn 0.045717 -0.998779 -0.017090 +vn 0.009674 -0.999451 -0.031007 +vn 0.005554 -0.997375 0.071963 +vn 0.024476 -0.996918 0.074221 +vn -0.004028 -0.996460 0.083926 +vn -0.896023 -0.286966 0.338755 +vn -0.521287 -0.390790 0.758629 +vn -0.620716 -0.423139 0.660024 +vn -0.951201 0.308329 -0.010987 +vn -0.938231 0.332804 -0.094394 +vn -0.901151 0.423261 -0.093509 +vn -0.937407 0.322092 -0.132145 +vn -0.986206 0.135655 0.094790 +vn -0.976775 0.205542 0.060305 +vn -0.906339 0.394513 -0.151219 +vn 0.163030 -0.905911 0.390759 +vn 0.211951 -0.782220 0.585803 +vn -0.944548 -0.294626 0.144932 +vn -0.525864 -0.846614 0.081606 +vn -0.962279 -0.260964 0.076785 +vn -0.189123 -0.312082 0.931028 +vn -0.377422 -0.472060 0.796655 +vn -0.128117 -0.115604 0.984985 +vn -0.535264 -0.410779 0.738029 +vn -0.549394 -0.356243 0.755791 +vn -0.401166 -0.271889 0.874691 +vn -0.813013 -0.025422 0.581652 +vn -0.799219 -0.053682 0.598590 +vn -0.791864 0.175573 0.584887 +vn -0.749199 -0.348979 -0.562914 +vn -0.693930 -0.314341 -0.647786 +vn -0.648579 -0.329936 -0.685903 +vn -0.736473 -0.421613 0.528977 +vn -0.742729 -0.140843 0.654561 +vn -0.342174 0.669851 0.658895 +vn -0.739067 0.224036 0.635243 +vn -0.817011 -0.317392 0.481338 +vn -0.801904 -0.358165 0.478133 +vn 0.040132 -0.999023 -0.017426 +vn 0.013428 -0.999847 -0.010071 +vn 0.045198 -0.998932 -0.006348 +vn -0.884365 0.023316 0.466140 +vn -0.857173 0.319987 0.403485 +vn -0.856227 0.308847 0.414075 +vn 0.022309 -0.982421 -0.185186 +vn -0.638966 0.007416 0.769189 +vn -0.370342 -0.570879 0.732719 +vn 0.021271 -0.998383 -0.052553 +vn 0.036683 -0.998749 -0.033601 +vn 0.003601 -0.998871 -0.047121 +vn -0.581103 0.307260 -0.753563 +vn -0.684561 0.540941 0.488571 +vn -0.175787 0.253609 0.951170 +vn -0.578173 -0.106174 0.808954 +vn -0.614490 -0.099277 0.782617 +vn -0.604602 -0.228675 0.762963 +vn -0.861080 -0.240394 0.447981 +vn -0.502091 0.362682 0.785058 +vn -0.459944 0.373180 0.805689 +vn -0.475021 0.386700 0.790429 +vn -0.197333 0.500900 -0.842677 +vn -0.246376 0.473647 -0.845515 +vn -0.608509 0.442763 0.658498 +vn -0.592242 0.438948 0.675680 +vn -0.592608 0.461013 0.660482 +vn -0.395001 -0.138676 -0.908139 +vn 0.201880 -0.623157 -0.755547 +vn 0.172338 -0.629414 -0.757683 +vn -0.558031 0.478530 0.677908 +vn -0.514145 0.528153 0.675771 +vn -0.549821 0.515336 0.657308 +vn -0.382824 0.689596 0.614673 +vn -0.522996 0.546525 0.654012 +vn -0.501785 0.586383 0.635853 +vn -0.513443 0.580340 0.632099 +vn -0.525681 0.552721 0.646596 +vn -0.491501 0.603717 0.627613 +vn -0.488784 0.600146 0.633137 +vn -0.477279 0.613941 0.628681 +vn -0.451582 0.623432 0.638264 +vn -0.458876 0.642537 0.613605 +vn -0.381573 0.663076 0.643971 +vn -0.439711 -0.284097 0.851985 +vn -0.647877 -0.179327 0.740318 +vn -0.704642 -0.064180 0.706626 +vn -0.533738 -0.077517 0.842067 +vn -0.101627 -0.126957 0.986663 +vn -0.025025 -0.029572 0.999237 +vn -0.472762 0.168340 -0.864925 +vn -0.469314 -0.194403 0.861354 +vn -0.403851 0.096255 -0.909726 +vn -0.768548 -0.067965 0.636128 +vn 0.554003 0.713492 -0.428877 +vn -0.632038 0.548326 -0.547594 +vn -0.569292 0.467666 -0.676107 +vn -0.793023 0.594897 0.130955 +vn -0.759941 0.029878 0.649281 +vn -0.766564 -0.021607 0.641743 +vn -0.766961 -0.030793 0.640919 +vn -0.773400 -0.046571 0.632191 +vn -0.761528 -0.087558 0.642170 +vn -0.734001 -0.198492 0.649464 +vn -0.920621 0.389721 0.023713 +vn -0.426313 0.705527 0.566057 +vn -0.592578 0.041902 0.804407 +vn -0.631642 0.041169 0.774132 +vn -0.553148 -0.240699 0.797510 +vn -0.491409 0.312479 0.812922 +vn -0.508652 0.316630 0.800592 +vn -0.507370 -0.224403 0.831965 +vn -0.496261 -0.219428 0.839961 +vn -0.510147 -0.241951 0.825312 +vn -0.494247 -0.227241 0.839076 +vn -0.633992 0.281411 0.720298 +vn -0.606037 0.304819 0.734672 +vn -0.581378 0.283853 0.762505 +vn -0.643117 0.245155 0.725425 +vn -0.607410 0.269723 0.747154 +vn -0.646260 0.233833 0.726371 +vn -0.647847 0.092288 0.756127 +vn -0.608844 0.060945 0.790918 +vn -0.668813 0.100131 0.736625 +vn -0.628529 0.092380 0.772240 +vn -0.637928 0.139683 0.757317 +vn -0.689932 0.152196 0.707663 +vn -0.631428 0.211310 0.746055 +vn -0.684103 0.207373 0.699271 +vn 0.335368 -0.938414 0.082949 +vn -0.456557 -0.017609 -0.889492 +vn 0.189611 -0.271065 -0.943663 +vn -0.535844 0.305002 0.787286 +vn -0.563433 0.248268 0.787927 +vn -0.517777 0.191443 0.833796 +vn -0.510147 -0.249001 0.823237 +vn -0.311716 0.006439 0.950133 +vn -0.335551 -0.121952 0.934080 +vn 0.046785 -0.314493 -0.948088 +vn 0.009796 -0.097476 0.995178 +vn -0.593249 -0.336558 0.731254 +vn -0.399121 0.513657 0.759484 +vn -0.512162 -0.432875 -0.741783 +vn -0.416700 -0.139134 0.898312 +vn -0.455428 -0.176550 0.872555 +vn -0.600055 -0.369579 -0.709433 +vn -0.674917 -0.400006 -0.620014 +vn -0.637043 -0.365795 -0.678457 +vn -0.617939 -0.378948 -0.688833 +vn -0.788415 0.239387 0.566637 +vn -0.513291 0.138493 0.846950 +vn -0.490524 -0.405621 0.771233 +vn -0.436689 0.391858 0.809748 +vn -0.814844 0.031068 0.578814 +vn -0.831538 0.085360 0.548814 +vn -0.421644 0.842097 0.336222 +vn -0.504746 -0.408551 0.760430 +vn -0.605701 0.712699 0.353771 +vn -0.352184 0.774102 0.525986 +vn -0.613453 -0.082125 -0.785424 +vn -0.561388 -0.076235 -0.824000 +vn -0.570299 0.194403 0.798059 +vn -0.613178 0.181982 0.768639 +vn -0.496567 -0.179876 0.849117 +vn -0.513932 -0.168462 0.841121 +vn -0.500778 -0.226783 0.835292 +vn -0.514206 -0.267434 0.814875 +vn -0.526383 0.571276 0.629719 +vn -0.494064 0.600085 0.629078 +vn -0.490097 0.598682 0.633473 +vn 0.186468 0.296213 -0.936735 +vn -0.887082 0.460677 0.029115 +vn -0.899991 0.425031 -0.096591 +vn -0.908383 0.414106 -0.057588 +vn -0.499222 -0.359691 0.788263 +vn -0.871334 0.490524 0.011170 +vn -0.966948 0.218635 -0.131138 +vn -0.968444 0.245277 0.043641 +vn -0.936216 -0.314890 -0.155919 +vn -0.626392 -0.772515 -0.103916 +vn -0.604938 -0.793786 -0.062380 +vn -0.488845 0.081149 -0.868557 +vn -0.602710 0.080569 -0.793847 +vn 0.179846 -0.982696 -0.043733 +vn 0.015259 -0.999054 0.040132 +vn 0.114231 -0.992645 -0.039460 +vn -0.145634 -0.011139 0.989257 +vn -0.192480 0.035371 0.980651 +vn -0.305704 -0.040284 0.951262 +vn 0.167974 0.151952 -0.973998 +vn -0.292276 0.307047 -0.905667 +vn -0.033479 -0.277474 -0.960143 +vn -0.096500 -0.333934 -0.937620 +vn 0.010529 -0.341899 -0.939665 +vn 0.132878 -0.466109 -0.874660 +vn -0.451674 0.575762 0.681509 +vn -0.883724 -0.315836 0.345317 +vn -0.389447 0.047060 -0.919828 +vn -0.388470 0.857997 0.335948 +vn -0.522782 0.454665 0.721061 +vn -0.557848 0.447249 0.699088 +vn -0.537889 0.430891 0.724540 +vn -0.569597 0.424787 0.703604 +vn -0.598895 0.291116 0.746025 +vn -0.593310 0.290689 0.750633 +vn -0.586047 0.374828 0.718314 +vn -0.562883 0.381054 0.733421 +vn -0.620441 0.177831 0.763787 +vn -0.631367 0.042604 0.774285 +vn -0.630055 -0.100894 0.769921 +vn -0.610431 -0.230476 0.757744 +vn -0.538255 0.257118 0.802576 +vn -0.549486 0.298105 0.780480 +vn -0.649129 -0.089084 0.755425 +vn -0.500504 0.060976 0.863552 +vn -0.500320 0.121677 0.857234 +vn -0.599445 -0.384106 0.702200 +vn -0.544511 0.150121 0.825190 +vn -0.547990 -0.076998 0.832911 +vn -0.563341 -0.046999 0.824854 +vn -0.524186 -0.107578 0.844752 +vn -0.548509 -0.073458 0.832881 +vn -0.541948 -0.290689 0.788507 +vn -0.539659 -0.251503 0.803400 +vn -0.564104 -0.303781 0.767754 +vn -0.547349 -0.276467 0.789880 +vn -0.507828 0.610462 0.607776 +vn -0.807245 -0.036531 0.589038 +vn -0.769646 -0.084078 0.632862 +vn -0.837489 0.015870 0.546190 +vn -0.636586 0.469955 0.611408 +vn -0.585742 0.501114 0.636982 +vn -0.578814 0.527268 0.622028 +vn -0.541185 0.549821 0.636219 +vn -0.524216 0.562212 0.639607 +vn -0.939055 -0.255348 -0.230018 +vn -0.633015 -0.386273 -0.670858 +vn -0.637867 -0.345042 -0.688498 +vn 0.050722 -0.998688 0.003876 +vn 0.038545 -0.999115 0.016022 +vn 0.061678 -0.998077 -0.004913 +vn -0.591296 -0.404431 0.697684 +vn -0.608844 -0.415326 0.675832 +vn -0.633931 -0.419080 0.649983 +vn -0.605029 -0.401685 0.687399 +vn -0.599048 -0.423963 0.679220 +vn -0.540300 -0.298318 0.786798 +vn -0.545762 -0.305612 0.780175 +vn -0.548906 -0.350261 0.758934 +vn -0.582934 -0.374401 0.721061 +vn -0.575793 -0.405347 0.710013 +vn -0.558672 -0.325510 0.762810 +vn -0.530442 -0.286264 0.797906 +vn -0.564806 -0.278695 0.776696 +vn -0.516221 -0.290719 0.805567 +vn -0.302499 0.080905 0.949675 +vn -0.340373 -0.165227 0.925626 +vn -0.496506 -0.183538 0.848384 +vn -0.442091 -0.324992 0.835994 +vn -0.222083 -0.781701 0.582751 +vn -0.174566 0.345531 -0.921995 +vn -0.040284 0.132206 -0.990387 +vn -0.145878 0.214576 -0.965728 +vn -0.302255 0.402997 -0.863826 +vn -0.193426 0.136265 -0.971587 +vn -0.408948 -0.481368 -0.775262 +vn -0.500717 0.312265 -0.807306 +vn -0.632221 -0.405408 0.660207 +vn -0.494217 -0.207404 -0.844203 +vn -0.559191 -0.085574 -0.824580 +vn -0.446059 -0.270302 -0.853175 +vn -0.497940 -0.040834 0.866237 +vn -0.420118 -0.386547 0.820978 +vn -0.437574 -0.788903 0.431410 +vn -0.346080 -0.849696 0.397748 +vn -0.198706 0.413648 -0.888455 +vn -0.241096 0.407453 -0.880795 +vn -0.182348 0.373241 -0.909635 +vn -0.500778 -0.324107 -0.802576 +vn -0.226600 0.195898 -0.954070 +vn -0.059847 0.044282 -0.997192 +vn -0.141087 0.061769 -0.988037 +vn -0.092227 0.026612 -0.995361 +vn -0.567888 0.204810 0.797174 +vn -0.432203 -0.836726 0.336192 +vn -0.043550 0.459761 -0.886959 +vn -0.050783 0.262520 -0.963561 +vn -0.150639 0.454543 -0.877865 +vn 0.692099 0.267830 -0.670247 +vn -0.760643 -0.187078 -0.621570 +vn -0.784936 -0.258553 0.563005 +vn -0.909635 0.412122 -0.051485 +vn -0.916410 0.333048 -0.221870 +vn -0.789178 -0.534410 -0.302622 +vn -0.767815 -0.551378 -0.326212 +vn -0.965758 -0.062716 0.251717 +vn -0.911740 0.136448 0.387371 +vn -0.936888 0.099216 0.335215 +vn -0.886593 0.422712 -0.187719 +vn 0.129917 -0.450545 -0.883206 +vn 0.196753 -0.445357 -0.873440 +vn -0.891110 0.391552 -0.229255 +vn -0.782769 0.489273 -0.384472 +vn -0.633992 -0.392712 -0.666158 +vn -0.103641 -0.719779 -0.686392 +vn 0.157140 -0.601337 0.783380 +vn -0.311441 0.502640 -0.806421 +vn -0.207526 0.075564 -0.975280 +vn -0.372173 0.085208 -0.924223 +vn -0.525193 -0.351695 0.774865 +vn -0.567614 -0.359874 0.740440 +vn 0.211371 -0.641987 -0.736961 +vn -0.476302 0.640431 0.602435 +vn -0.695059 0.403424 0.595080 +vn -0.640584 0.441237 0.628407 +vn -0.617542 0.178442 0.766015 +vn -0.602039 0.167852 0.780602 +vn -0.633320 0.195135 0.748863 +vn -0.605304 0.136906 0.784112 +vn -0.633900 0.026368 0.772942 +vn -0.666189 0.134342 0.733543 +vn -0.713309 0.146031 0.685415 +vn -0.479995 0.015107 -0.877102 +vn -0.396954 -0.824610 0.402997 +vn -0.476760 0.658345 0.582415 +vn -0.500107 0.652486 0.569323 +vn -0.500473 0.632099 0.591540 +vn -0.499313 0.638386 0.585742 +vn -0.499435 0.619709 0.605365 +vn -0.492080 0.629048 0.601733 +vn -0.545335 -0.222602 0.808100 +vn -0.570360 -0.127506 0.811396 +vn -0.617084 -0.125828 0.776727 +vn -0.594714 -0.212592 0.775262 +vn -0.331980 -0.362377 0.870876 +vn -0.509415 -0.043764 0.859371 +vn -0.275277 -0.418378 0.865535 +vn -0.604327 0.406537 -0.685202 +vn -0.656941 -0.402936 -0.637196 +vn -0.596973 -0.406079 -0.691855 +vn -0.645466 -0.370769 -0.667714 +vn -0.001892 -0.998627 0.052187 +vn -0.005158 -0.997131 0.075472 +vn -0.501877 -0.402234 0.765709 +vn -0.484787 -0.353587 0.799951 +vn -0.513077 -0.385266 0.766991 +vn -0.642903 0.404187 0.650563 +vn -0.579241 0.431074 0.691794 +vn -0.698172 0.350322 0.624348 +vn -0.623035 0.368908 0.689688 +vn -0.724784 0.264565 0.636128 +vn -0.646565 0.284005 0.707968 +vn -0.761681 0.146672 0.631123 +vn -0.686636 0.166204 0.707694 +vn -0.779717 0.020692 0.625751 +vn -0.707694 -0.101566 0.699149 +vn -0.701071 0.031465 0.712363 +vn -0.575701 -0.015534 0.817499 +vn -0.581957 -0.000946 0.813196 +vn -0.577899 0.057283 0.814051 +vn -0.499100 0.435133 0.749352 +vn -0.745018 -0.316538 0.587115 +vn -0.283944 0.803705 0.522843 +vn -0.673391 -0.391247 0.627247 +vn -0.915586 0.383984 -0.119205 +vn -0.973388 0.223914 0.048738 +vn -0.906461 0.419568 0.047365 +vn -0.893551 0.448805 0.008698 +vn 0.646870 -0.004334 -0.762566 +vn 0.596545 0.121769 -0.793268 +vn -0.994446 -0.070864 0.077792 +vn -0.839900 -0.320261 0.438093 +vn -0.569018 -0.393536 0.722007 +vn -0.524522 0.371685 -0.765954 +vn -0.451125 0.667196 0.592700 +vn -0.685080 0.417402 0.596973 +vn -0.716697 0.386273 0.580584 +vn -0.626484 0.125278 0.769280 +vn -0.590808 0.119999 0.797815 +vn -0.565722 -0.371868 0.735954 +vn -0.766533 0.047395 0.640431 +vn -0.581530 -0.432997 0.688681 +vn -0.578478 -0.260811 0.772851 +vn -0.549516 -0.310190 0.775750 +vn -0.616230 -0.195502 0.762871 +vn -0.650410 -0.024018 0.759148 +vn -0.724540 0.004303 0.689169 +vn -0.675069 -0.087100 0.732566 +vn -0.675619 0.072237 0.733665 +vn -0.736015 0.078524 0.672353 +vn -0.618305 -0.451247 0.643422 +vn -0.532731 0.588458 0.608173 +vn -0.086673 0.550066 -0.830592 +vn 0.059908 0.218116 -0.974059 +vn -0.190649 -0.103458 0.976165 +vn -0.504349 0.043489 0.862392 +vn 0.091220 0.159398 -0.982971 +vn -0.008118 -0.998108 0.060793 +vn -0.620624 -0.147404 -0.770104 +vn -0.651173 -0.111698 -0.750633 +vn 0.012940 -0.241859 0.970214 +vn -0.633412 -0.282418 0.720420 +vn -0.496933 -0.293619 0.816584 +vn -0.253365 0.277596 -0.926664 +vn -0.229652 0.232612 -0.945036 +vn -0.509842 -0.242988 0.825220 +vn -0.202246 0.460768 -0.864132 +vn 0.346080 0.262490 -0.900723 +vn 0.396100 0.163945 -0.903409 +vn 0.308481 0.201147 -0.929685 +vn -0.301737 0.935972 0.181280 +vn -0.262459 0.886074 -0.382061 +vn 0.004975 -0.999359 0.034883 +vn 0.013794 -0.999603 0.024171 +vn -0.596088 0.139714 0.790643 +vn -0.571703 0.017975 0.820246 +vn -0.588733 0.026429 0.807855 +vn -0.470290 0.467879 0.748222 +vn -0.691610 -0.105502 -0.714469 +vn 0.138768 -0.843287 -0.519211 +vn 0.054109 -0.840693 0.538743 +vn 0.103946 -0.535691 0.837977 +vn 0.075594 -0.855647 0.511948 +vn -0.024293 0.220191 -0.975127 +vn 0.124027 0.028504 -0.991852 +vn -0.949919 0.293466 -0.107273 +vn -0.997925 0.034608 -0.053835 +vn -0.770592 -0.634785 0.056490 +vn -0.886471 0.461226 -0.037111 +vn -0.872890 0.485458 0.048158 +vn -0.824671 0.565203 0.020936 +vn -0.789514 -0.360759 0.496445 +vn -0.863216 -0.269997 0.426496 +vn -0.094089 0.027039 -0.995178 +vn -0.033723 0.057863 -0.997742 +vn -0.083254 0.034486 -0.995911 +vn -0.453261 -0.048738 -0.890011 +vn -0.282418 0.428816 -0.858089 +vn -0.575030 -0.396313 0.715720 +vn -0.713553 0.373730 0.592547 +vn -0.774926 0.354930 0.522935 +vn -0.584796 0.040742 0.810144 +vn -0.614917 0.044038 0.787347 +vn -0.618885 -0.057497 0.783349 +vn 0.121189 -0.086764 -0.988800 +vn -0.555162 0.185034 0.810877 +vn -0.649403 0.181371 0.738487 +vn -0.476455 0.603687 0.639149 +vn -0.588855 0.233802 0.773644 +vn -0.900204 0.339671 -0.272408 +vn 0.457076 0.136631 -0.878842 +vn 0.404279 0.224281 -0.886685 +vn -0.966765 0.007996 -0.255470 +vn -0.929502 -0.048585 -0.365551 +vn -0.861995 -0.472488 -0.183508 +vn -0.447554 -0.888974 -0.096896 +vn -0.671316 -0.718680 -0.181097 +vn -0.457167 -0.222205 0.861141 +vn 0.249794 -0.258553 -0.933103 +vn -0.882839 -0.444044 -0.152898 +vn -0.837947 -0.031434 0.544786 +vn -0.580889 0.532914 0.615253 +vn -0.656972 0.490982 0.572069 +vn -0.488876 0.093356 0.867306 +vn -0.030610 -0.072359 -0.996887 +vn -0.085696 -0.066256 -0.994110 +vn -0.097537 0.121525 -0.987762 +vn -0.636738 -0.464858 0.615162 +vn -0.657613 -0.440992 0.610736 +vn -0.647786 0.275918 0.710044 +vn -0.690146 0.248726 0.679556 +vn -0.700034 0.150517 0.698019 +vn -0.748253 0.035188 0.662465 +vn -0.725578 -0.123539 0.676931 +vn -0.162877 0.540483 -0.825404 +vn -0.694388 0.202490 -0.690512 +vn -0.662679 0.299570 -0.686361 +vn -0.760613 0.234870 -0.605182 +vn -0.826716 0.124210 0.548723 +vn -0.839076 0.057405 0.540941 +vn 0.105197 -0.085726 -0.990722 +vn -0.802484 0.249062 0.542131 +vn -0.861263 0.213538 0.461074 +vn -0.873623 0.130741 0.468642 +vn -0.923246 0.355937 0.144505 +vn -0.623249 0.076968 0.778191 +vn 0.239082 0.164983 -0.956847 +vn 0.308695 0.281991 -0.908383 +vn 0.143132 0.148656 -0.978454 +vn -0.707633 0.400983 -0.581744 +vn -0.572985 0.428358 -0.698691 +vn -0.706168 0.494949 -0.506272 +vn -0.146306 0.209540 -0.966765 +vn -0.126499 0.119266 -0.984741 +vn -0.143956 0.194891 -0.970183 +vn 0.217139 0.036805 -0.975433 +vn 0.129368 -0.991272 0.024232 +vn 0.147954 -0.986602 0.068514 +vn 0.168187 -0.982208 0.083377 +vn -0.946257 0.251015 0.203772 +vn -0.973907 0.080813 0.211951 +vn -0.890896 0.452132 -0.043245 +vn -0.836024 0.504288 -0.216102 +vn -0.702719 0.195502 -0.684042 +vn -0.677053 -0.098605 -0.729270 +vn -0.544145 -0.429884 0.720450 +vn -0.523606 -0.431135 0.734764 +vn -0.643055 -0.303903 -0.702902 +vn -0.629078 -0.359447 -0.689200 +vn -0.755242 0.318155 0.572985 +vn -0.811335 0.267373 0.519822 +vn 0.098178 -0.056948 -0.993530 +vn -0.592212 -0.050142 0.804193 +vn 0.267556 0.124577 -0.955443 +vn -0.725211 0.386334 0.569872 +vn -0.781457 0.354595 0.513352 +vn -0.824061 0.296854 0.482467 +vn -0.850459 0.234046 0.471023 +vn -0.821650 0.308237 0.479415 +vn -0.870357 0.238716 0.430616 +vn -0.770165 0.338694 0.540452 +vn -0.849696 0.266091 0.455184 +vn -0.698172 0.446883 0.559313 +vn -0.736442 0.427137 0.524552 +vn -0.857082 0.197577 0.475723 +vn 0.095370 0.383679 -0.918516 +vn -0.733848 -0.327738 0.594989 +vn 0.184240 0.185247 -0.965239 +vn -0.611713 0.092929 0.785577 +vn -0.399182 0.119053 -0.909085 +vn 0.038270 -0.998505 0.038392 +vn 0.005127 -0.999359 0.035096 +vn 0.032746 -0.999084 0.026673 +vn -0.452071 0.759545 0.467605 +vn -0.545854 0.348796 0.761803 +vn -0.618275 0.138920 0.773553 +vn 0.186438 0.241279 -0.952361 +vn 0.032167 -0.999329 -0.017365 +vn 0.013977 -0.999664 -0.021424 +vn 0.004120 -0.999939 -0.009735 +vn 0.604968 0.134953 -0.784692 +vn -0.817774 -0.315714 -0.481155 +vn -0.876553 -0.202216 -0.436720 +vn -0.324198 -0.028932 0.945524 +vn -0.809137 -0.473647 0.347728 +vn -0.825953 0.299173 0.477798 +vn -0.818598 0.423566 0.387860 +vn -0.803491 0.564104 0.190100 +vn -0.774621 0.621143 -0.118870 +vn -0.850368 -0.363994 0.379925 +vn -0.187658 -0.323313 0.927458 +vn -0.150700 0.478591 -0.864986 +vn -0.848231 0.155858 -0.506149 +vn 0.084414 -0.336985 -0.937681 +vn -0.723228 0.135807 0.677084 +vn -0.675283 0.122745 0.727256 +vn -0.617023 0.091556 0.781549 +vn -0.502548 0.655110 0.564135 +vn -0.620167 0.168462 0.766137 +vn -0.625538 0.165441 0.762413 +vn 0.033326 -0.447920 -0.893429 +vn -0.674520 0.206824 0.708670 +vn -0.705832 0.061007 0.705710 +vn -0.873531 0.187292 0.449263 +vn -0.835139 0.225471 0.501663 +vn 0.199194 -0.219123 -0.955138 +vn 0.152593 -0.308329 -0.938932 +vn 0.079867 -0.369701 -0.925687 +vn 0.161931 -0.400983 -0.901639 +vn -0.046419 0.022004 -0.998657 +vn -0.061647 -0.017670 -0.997925 +vn 0.033235 -0.092807 -0.995117 +vn -0.694143 0.719718 -0.011017 +vn -0.733726 0.037172 0.678396 +vn -0.549699 -0.300027 -0.779595 +vn -0.631825 -0.509903 -0.583728 +vn -0.007111 -0.443861 -0.896054 +vn -0.672231 0.417188 -0.611560 +vn -0.944029 0.008118 -0.329722 +vn -0.563921 -0.809473 0.163335 +vn -0.723441 -0.646626 0.241798 +vn -0.688894 0.116611 0.715384 +vn -0.589892 0.299692 0.749779 +vn -0.619831 0.196570 0.759667 +vn -0.782403 0.241066 0.574175 +vn -0.508591 0.783563 0.356792 +vn -0.693411 0.316782 0.647145 +vn -0.652394 0.421735 0.629658 +vn -0.671987 0.498856 0.547288 +vn -0.722739 0.623859 0.297250 +vn 0.038667 -0.398236 -0.916440 +vn 0.137913 -0.420606 -0.896664 +vn 0.081515 0.156346 -0.984313 +vn -0.732139 0.138462 0.666890 +vn -0.579028 -0.179724 0.795221 +vn -0.611072 -0.179815 0.770837 +vn -0.666005 0.075594 0.742088 +vn -0.738334 0.141209 0.659474 +vn -0.676015 -0.146977 0.722037 +vn -0.613361 -0.241523 0.751915 +vn -0.730766 -0.042390 0.681265 +vn 0.200262 -0.377789 0.903958 +vn -0.951292 -0.001221 0.308237 +vn -0.860347 0.174993 0.478652 +vn 0.596423 -0.083010 -0.798334 +vn -0.636799 -0.212470 -0.741142 +vn -0.437483 0.724235 0.532975 +vn 0.254494 -0.483016 0.837764 +vn 0.110202 -0.556597 0.823420 +vn -0.541063 -0.739433 0.400555 +vn -0.522874 -0.830287 0.192816 +vn -0.849483 0.316385 0.422163 +vn 0.153478 -0.422834 -0.893094 +vn -0.541704 -0.814142 -0.208991 +vn -0.677602 0.176641 0.713858 +vn -0.598651 0.227607 0.767968 +vn -0.618275 0.240822 0.748131 +vn 0.185919 -0.431715 -0.882626 +vn -0.532121 -0.144230 0.834254 +vn -0.710410 -0.693197 0.121494 +vn -0.962706 -0.192907 0.189520 +vn 0.143590 -0.363445 -0.920469 +vn -0.697775 0.232612 0.677450 +vn -0.628773 0.356578 0.691000 +vn -0.593005 0.409894 0.693014 +vn -0.636311 0.453444 0.624043 +vn -0.630573 0.564806 0.532273 +vn -0.742363 -0.327860 0.584277 +vn -0.755638 -0.107578 0.646046 +vn -0.558428 -0.716239 0.418500 +vn -0.153844 0.462874 -0.872951 +vn -0.184667 0.443129 -0.877194 +vn -0.104556 0.454848 -0.884396 +vn -0.631184 0.440321 0.638508 +vn -0.597919 0.436872 0.672018 +vn -0.714286 0.050844 0.697989 +vn 0.140751 -0.272896 -0.951659 +vn -0.748589 0.131932 0.649739 +vn -0.746269 0.148686 0.648762 +vn -0.762535 0.128636 0.633992 +vn -0.743004 0.169530 0.647420 +vn -0.874996 -0.142064 0.462813 +vn -0.879391 -0.067873 0.471175 +vn -0.878658 0.001190 0.477401 +vn -0.905515 -0.003479 0.424238 +vn -0.882565 0.034761 0.468825 +vn -0.878414 0.094882 0.468337 +vn -0.870754 0.157262 0.465835 +vn -0.872250 0.188849 0.451064 +vn -0.659871 0.319193 -0.680166 +vn -0.637898 -0.766564 0.073519 +vn -0.478286 0.797662 0.367290 +vn -0.933409 0.356273 -0.041963 +vn -0.368358 -0.252968 -0.894589 +vn -0.875423 0.345744 0.337687 +vn -0.538041 0.260140 0.801752 +vn 0.152867 -0.232734 -0.960418 +vn -0.728416 0.172918 0.662923 +vn -0.841639 0.369213 0.394055 +vn -0.516312 -0.344005 0.784234 +vn 0.129368 -0.529008 0.838679 +vn -0.723106 -0.338206 0.602252 +vn -0.683950 0.286996 0.670675 +vn -0.607898 0.391888 0.690542 +vn -0.599292 0.389904 0.699118 +vn -0.601856 0.418104 0.680349 +vn -0.629261 0.516739 0.580493 +vn -0.867946 0.383984 0.314951 +vn -0.543046 -0.302866 0.783166 +vn -0.685171 0.534288 -0.494980 +vn -0.758782 0.145451 0.634877 +vn -0.833338 -0.308847 0.458357 +vn -0.844905 -0.220618 0.487259 +vn -0.852901 -0.133824 0.504593 +vn -0.857265 -0.059908 0.511307 +vn -0.858669 -0.000763 0.512467 +vn -0.867641 0.030244 0.496261 +vn -0.862575 0.102786 0.495346 +vn -0.863857 0.160039 0.477584 +vn -0.853145 0.174200 0.491684 +vn -0.853572 0.229835 0.467513 +vn -0.431318 0.720786 0.542558 +vn -0.862606 -0.361461 0.353862 +vn -0.816523 0.345958 0.462142 +vn -0.760002 -0.636128 0.133030 +vn -0.739341 -0.656545 0.149297 +vn -0.738823 0.166875 0.652882 +vn -0.868129 0.263070 0.420850 +vn -0.903043 0.220985 0.368297 +vn -0.978607 -0.081088 0.188940 +vn -0.814539 0.391858 0.427686 +vn -0.707999 0.328104 0.625324 +vn -0.635762 0.409711 0.654134 +vn -0.603412 0.401502 0.688925 +vn -0.608051 0.401929 0.684591 +vn -0.604297 0.473006 0.641102 +vn -0.099734 -0.657888 0.746452 +vn 0.031739 -0.988769 0.145909 +vn -0.639882 -0.390728 -0.661702 +vn -0.619068 -0.482040 -0.619953 +vn -0.633198 -0.485672 -0.602619 +vn -0.567248 0.350932 -0.745018 +vn -0.654347 0.046297 0.754753 +vn -0.656270 -0.060854 0.752037 +vn -0.262947 -0.438490 -0.859401 +vn -0.827296 -0.354411 0.435804 +vn -0.826655 -0.288003 0.483383 +vn -0.824793 -0.201270 0.528336 +vn -0.835841 -0.133946 0.532334 +vn -0.840297 -0.056490 0.539140 +vn -0.846431 -0.010468 0.532334 +vn -0.850246 0.030274 0.525468 +vn -0.849788 0.085879 0.520035 +vn -0.851558 0.162175 0.498489 +vn -0.841334 0.193609 0.504593 +vn -0.830256 0.225898 0.509507 +vn -0.823573 0.284707 0.490555 +vn -0.076632 -0.384991 -0.919706 +vn -0.078310 0.045015 -0.995880 +vn -0.718955 0.134678 0.681845 +vn -0.891293 0.176397 0.417676 +vn -0.841151 0.295907 0.452620 +vn -0.796503 0.402539 0.451125 +vn 0.291696 -0.854885 -0.428968 +vn -0.327219 -0.906034 0.268349 +vn -0.747765 0.458388 0.480270 +vn -0.694998 0.427625 0.577990 +vn -0.640492 0.412488 0.647755 +vn -0.579211 0.473495 0.663533 +vn -0.674551 -0.443373 0.590197 +vn -0.680410 -0.415418 0.603656 +vn 0.582049 -0.790735 0.189520 +vn -0.749992 -0.505020 -0.427076 +vn -0.294717 -0.331889 -0.896084 +vn 0.526719 0.787072 -0.320963 +vn -0.733055 0.237129 0.637471 +vn -0.741264 0.114109 0.661397 +vn 0.111911 0.031068 -0.993225 +vn -0.649373 -0.193609 0.735374 +vn -0.767754 0.095798 0.633534 +vn -0.897519 -0.287088 0.334666 +vn -0.832789 -0.293130 0.469558 +vn -0.807337 -0.257698 0.530808 +vn -0.802515 -0.191961 0.564867 +vn -0.808252 -0.129948 0.574267 +vn -0.816828 -0.058077 0.573931 +vn -0.823756 -0.017335 0.566637 +vn -0.831263 0.031922 0.554949 +vn -0.820246 0.095859 0.563891 +vn -0.809900 0.156529 0.565264 +vn -0.812769 0.204199 0.545610 +vn -0.801141 0.225043 0.554491 +vn -0.800104 0.277596 0.531724 +vn -0.804163 0.316691 0.503006 +vn -0.806543 -0.279855 0.520676 +vn -0.517930 0.668783 0.533341 +vn 0.264321 -0.963958 -0.030152 +vn -0.052919 -0.997009 0.055971 +vn -0.038057 -0.999237 -0.005982 +vn -0.526536 0.239631 0.815668 +vn -0.839259 0.327372 0.434034 +vn -0.795160 0.409253 0.447401 +vn -0.738578 0.527635 0.419568 +vn -0.849117 0.439222 0.293344 +vn 0.003357 -0.982604 0.185553 +vn -0.810144 0.478927 0.337962 +vn -0.823176 0.242378 0.513413 +vn -0.780663 0.480422 0.399609 +vn -0.726920 0.478072 0.492935 +vn -0.621815 0.521226 0.584460 +vn -0.264077 -0.410138 -0.872921 +vn -0.612415 -0.331736 -0.717551 +vn -0.237495 -0.183416 -0.953887 +vn -0.120945 -0.985229 0.121067 +vn -0.132511 -0.989074 0.064394 +vn -0.154363 -0.979308 0.130711 +vn -0.757073 0.019349 0.653035 +vn -0.344890 -0.115024 -0.931547 +vn -0.415906 0.014740 -0.909268 +vn -0.842341 -0.220618 0.491684 +vn -0.788690 -0.213813 0.576403 +vn -0.779229 -0.183386 0.599292 +vn -0.783258 -0.130131 0.607898 +vn -0.792657 -0.064180 0.606250 +vn -0.805902 -0.027985 0.591357 +vn -0.808496 0.034700 0.587451 +vn -0.803613 0.108097 0.585223 +vn -0.792688 0.153813 0.589862 +vn -0.794855 0.201453 0.572344 +vn -0.786340 0.239051 0.569628 +vn -0.772912 0.263161 0.577319 +vn -0.788232 0.288858 0.543290 +vn -0.178869 -0.001679 -0.983856 +vn -0.807184 0.163701 0.567095 +vn -0.849605 0.351848 0.392804 +vn -0.801721 0.430006 0.415052 +vn -0.730399 0.536851 0.422193 +vn -0.638142 0.663778 0.389996 +vn -0.690970 -0.279275 0.666707 +vn -0.741661 0.182073 0.645558 +vn -0.719504 0.445570 0.532670 +vn -0.721091 0.507187 0.471938 +vn -0.722312 0.535295 0.437819 +vn -0.633625 0.580126 0.511795 +vn -0.782739 -0.544359 0.301553 +vn -0.764428 -0.602741 0.228736 +vn -0.771325 -0.588672 0.241859 +vn -0.778039 -0.018647 0.627918 +vn -0.697623 -0.655507 -0.289102 +vn -0.640248 -0.357067 -0.680105 +vn -0.454176 0.103305 -0.884884 +vn -0.458907 0.173650 -0.871334 +vn -0.630787 -0.422773 0.650624 +vn -0.910001 -0.115085 0.398236 +vn -0.905545 -0.101749 0.411817 +vn -0.870693 -0.146733 0.469405 +vn -0.821131 -0.168615 0.545244 +vn -0.791864 -0.167638 0.587176 +vn -0.762810 -0.116886 0.635914 +vn -0.771874 -0.077731 0.630970 +vn -0.790033 -0.036714 0.611927 +vn -0.794855 0.032258 0.605914 +vn -0.798761 0.110752 0.591327 +vn -0.788476 0.161229 0.593524 +vn -0.776879 0.196905 0.598010 +vn -0.768517 0.243446 0.591662 +vn -0.762261 0.269051 0.588672 +vn -0.761956 0.265389 0.590716 +vn -0.766289 0.314615 0.560167 +vn -0.811975 0.189032 0.552202 +vn -0.744621 -0.653859 0.133946 +vn -0.682638 -0.241554 -0.689657 +vn -0.564409 -0.287851 -0.773644 +vn 0.175390 -0.018036 -0.984313 +vn 0.208167 -0.120182 -0.970672 +vn 0.296243 -0.301157 -0.906369 +vn -0.689413 0.432875 0.580767 +vn 0.417829 -0.738914 -0.528581 +vn -0.127415 0.123051 -0.984161 +vn -0.597339 0.223395 0.770226 +vn -0.571764 0.246315 0.782525 +vn -0.801080 0.459487 0.383526 +vn -0.720969 0.557543 0.411481 +vn -0.627247 0.677602 0.383892 +vn -0.657491 -0.330912 0.676870 +vn -0.692343 0.201575 0.692831 +vn 0.287820 -0.539720 0.791070 +vn -0.645619 0.431227 0.630207 +vn -0.649190 0.479354 0.590533 +vn -0.621754 0.557695 0.549852 +vn -0.517563 0.644398 0.562883 +vn -0.403150 0.725455 0.557787 +vn -0.359691 0.792261 0.492843 +vn -0.275216 0.878292 0.390942 +vn -0.097873 0.544969 -0.832698 +vn -0.125431 0.316874 -0.940123 +vn -0.730186 -0.213996 -0.648823 +vn -0.777062 -0.264748 -0.570971 +vn -0.698294 0.620106 0.357494 +vn -0.843349 0.357738 0.400891 +vn -0.445753 -0.611408 -0.653798 +vn -0.236427 -0.670858 -0.702872 +vn -0.398480 -0.744163 -0.536088 +vn -0.074862 0.222480 -0.972045 +vn -0.840144 -0.317881 0.439375 +vn -0.872799 -0.332194 0.357524 +vn -0.857845 -0.222236 0.463301 +vn -0.876309 -0.123264 0.465651 +vn -0.897214 -0.098666 0.430372 +vn -0.884182 -0.096591 0.456984 +vn -0.844997 -0.111881 0.522874 +vn -0.785089 -0.099124 0.611347 +vn -0.748527 -0.098209 0.655751 +vn -0.756127 -0.095309 0.647420 +vn -0.776208 -0.049501 0.628468 +vn -0.784143 0.024567 0.620045 +vn -0.781945 0.111270 0.613300 +vn -0.771447 0.170507 0.612964 +vn -0.758354 0.213294 0.615925 +vn -0.738212 0.244209 0.628773 +vn -0.741264 0.271584 0.613788 +vn -0.737815 0.271798 0.617817 +vn -0.729850 0.305185 0.611652 +vn -0.748741 0.325571 0.577349 +vn 0.002838 -0.999908 -0.010987 +vn -0.059999 -0.995666 -0.070589 +vn -0.048036 0.263375 -0.963469 +vn -0.094028 0.459609 -0.883114 +vn 0.012726 0.420087 -0.907376 +vn 0.069338 0.399213 -0.914212 +vn -0.650258 0.126682 0.749046 +vn -0.849727 0.410504 0.330729 +vn -0.785607 0.492416 0.374554 +vn -0.700522 0.586993 0.405774 +vn -0.644124 0.193213 0.740104 +vn -0.479080 -0.757439 0.443556 +vn -0.611377 0.413495 0.674673 +vn -0.590442 0.494919 0.637501 +vn -0.511948 0.580340 0.633290 +vn -0.450392 0.675497 0.583758 +vn -0.388348 0.731651 0.560198 +vn -0.327525 0.797876 0.506027 +vn -0.523057 0.603534 0.601733 +vn -0.815668 -0.486557 0.312906 +vn -0.755760 -0.576281 0.310892 +vn 0.520280 -0.611805 0.595782 +vn 0.535783 -0.696463 0.477309 +vn -0.432539 -0.689200 -0.581286 +vn -0.666768 -0.182806 -0.722465 +vn -0.869655 0.402966 0.285073 +vn -0.026460 0.041139 -0.998779 +vn -0.051363 0.040437 -0.997833 +vn -0.003021 0.038270 -0.999237 +vn 0.219520 0.104984 -0.969909 +vn 0.202002 0.187384 -0.961272 +vn 0.196112 0.125553 -0.972472 +vn -0.132878 -0.501846 -0.854671 +vn -0.092410 -0.657949 0.747337 +vn -0.849910 -0.439039 0.291360 +vn -0.773400 -0.431043 0.464766 +vn -0.813440 -0.312601 0.490432 +vn -0.830958 -0.216559 0.512406 +vn -0.850307 -0.149541 0.504562 +vn -0.861812 -0.098666 0.497513 +vn -0.851039 -0.056032 0.522080 +vn -0.816401 -0.043184 0.575823 +vn -0.774224 -0.047823 0.631062 +vn -0.753746 -0.090762 0.650838 +vn -0.755638 -0.108432 0.645924 +vn -0.764702 -0.058260 0.641713 +vn -0.758446 0.032685 0.650899 +vn -0.753349 0.112857 0.647816 +vn -0.745170 0.178716 0.642445 +vn -0.726920 0.227454 0.647938 +vn -0.708609 0.250954 0.659413 +vn -0.719382 0.266549 0.641407 +vn -0.715323 0.276772 0.641621 +vn -0.713431 0.287820 0.638844 +vn -0.603046 0.773217 -0.196081 +vn 0.083010 0.964538 0.250496 +vn -0.763970 0.635243 0.113041 +vn -0.769677 0.638234 -0.014618 +vn 0.086795 -0.995788 0.028657 +vn -0.644734 0.181127 0.742607 +vn -0.674581 0.450880 0.584460 +vn -0.638783 0.508408 0.577410 +vn -0.586108 0.568743 0.577013 +vn -0.523179 0.616627 0.588214 +vn -0.487991 0.645589 0.587420 +vn -0.811182 0.466872 0.352062 +vn -0.894467 0.360393 0.264626 +vn -0.747398 0.527848 0.403394 +vn -0.677328 0.620533 0.395154 +vn -0.066378 -0.294839 -0.953215 +vn -0.034181 0.311808 -0.949492 +vn -0.696097 -0.206030 0.687735 +vn -0.623981 0.242012 0.742973 +vn 0.568926 0.038789 -0.821436 +vn -0.544572 0.419721 0.726096 +vn -0.504013 0.504318 0.701132 +vn -0.474654 0.579424 0.662496 +vn -0.448592 0.677602 0.582751 +vn -0.397992 0.741386 0.540269 +vn -0.330821 0.797693 0.504166 +vn -0.276711 0.854885 0.438856 +vn -0.450148 0.790155 0.415906 +vn -0.679586 -0.285806 0.675588 +vn 0.065981 0.287515 -0.955473 +vn -0.201422 -0.913816 -0.352611 +vn 0.668508 0.077181 -0.739677 +vn 0.600604 0.030122 -0.798944 +vn 0.627033 0.090152 -0.773736 +vn -0.085299 -0.622150 -0.778222 +vn -0.309549 -0.306192 -0.900204 +vn -0.329325 -0.344218 -0.879208 +vn -0.275857 -0.415265 -0.866848 +vn 0.301492 0.387066 -0.871334 +vn -0.399701 0.119510 -0.908811 +vn 0.135990 0.243385 -0.960326 +vn 0.184088 0.241768 -0.952696 +vn 0.393536 0.196112 -0.898129 +vn 0.344890 0.300058 -0.889370 +vn 0.334117 0.204718 -0.920011 +vn 0.111301 0.053102 -0.992340 +vn -0.211158 0.113804 -0.970794 +vn -0.711264 -0.579913 0.397168 +vn -0.747581 -0.418592 0.515580 +vn -0.783563 -0.312784 0.536790 +vn -0.807184 -0.220862 0.547380 +vn -0.829432 -0.157750 0.535844 +vn -0.827845 -0.080081 0.555162 +vn -0.825526 -0.030763 0.563494 +vn -0.811274 -0.004852 0.584613 +vn -0.787194 -0.020692 0.616321 +vn -0.771722 -0.086734 0.629994 +vn -0.749168 -0.100894 0.654622 +vn -0.750023 -0.049867 0.659505 +vn -0.754295 0.033692 0.655660 +vn -0.752464 0.116367 0.648244 +vn -0.729728 0.195502 0.655141 +vn -0.695517 0.241798 0.676565 +vn -0.694418 0.250740 0.674429 +vn -0.695151 0.254341 0.672323 +vn -0.697165 0.285806 0.657460 +vn -0.696280 0.267129 0.666158 +vn -0.294015 0.936369 -0.191595 +vn -0.336039 0.917234 -0.213782 +vn -0.459487 -0.796228 -0.393475 +vn -0.295969 -0.908658 0.294443 +vn 0.093295 0.170232 -0.980956 +vn 0.084048 0.123081 -0.988800 +vn -0.656514 0.220771 0.721244 +vn -0.674001 -0.173284 0.718070 +vn -0.691580 0.035218 0.721397 +vn -0.661580 0.244484 0.708853 +vn -0.655019 0.241432 0.715995 +vn -0.645985 0.231422 0.727409 +vn -0.856441 0.412702 0.310068 +vn -0.809717 0.468612 0.353160 +vn -0.760888 0.511551 0.399152 +vn -0.706748 0.562914 0.428480 +vn -0.647877 0.630543 0.427320 +vn -0.682760 -0.192175 0.704886 +vn -0.597674 0.302957 0.742271 +vn -0.488571 0.451155 0.746818 +vn -0.491775 0.499435 0.713187 +vn -0.484481 0.568712 0.664663 +vn -0.425916 0.675741 0.601611 +vn -0.374920 0.747337 0.548509 +vn -0.305856 0.805750 0.507126 +vn -0.329478 0.836604 0.437605 +vn -0.501053 0.748589 0.434156 +vn -0.713340 0.553270 0.430067 +vn -0.824488 0.245430 0.509842 +vn -0.650990 -0.564013 0.507981 +vn -0.697165 -0.572314 0.431684 +vn -0.656758 -0.625324 0.421430 +vn -0.592120 -0.088565 -0.800928 +vn 0.295694 -0.543840 -0.785333 +vn 0.153203 -0.672475 -0.724082 +vn 0.437086 0.193762 -0.878262 +vn 0.438734 0.082461 -0.894803 +vn -0.577960 0.279977 -0.766503 +vn -0.583789 0.340922 -0.736839 +vn -0.276345 0.184210 -0.943205 +vn -0.249825 0.200140 -0.947356 +vn 0.106265 0.336253 -0.935728 +vn 0.077975 0.225532 -0.971099 +vn -0.691488 0.659871 -0.293893 +vn -0.729637 0.622974 -0.281961 +vn -0.284310 0.238075 -0.928678 +vn 0.002258 -0.183966 -0.982910 +vn -0.785150 -0.337443 -0.519242 +vn -0.718711 -0.350017 -0.600726 +vn -0.748131 -0.379040 -0.544603 +vn 0.216590 0.218543 -0.951476 +vn 0.289315 0.240974 -0.926389 +vn 0.254677 -0.703207 0.663778 +vn 0.025117 -0.693411 0.720084 +vn 0.483535 -0.872280 0.072817 +vn -0.711386 -0.416456 0.566088 +vn -0.756127 -0.319163 0.571306 +vn -0.790094 -0.238289 0.564714 +vn -0.805353 -0.153111 0.572619 +vn -0.808069 -0.075014 0.584246 +vn -0.813288 -0.024873 0.581317 +vn -0.810999 0.013123 0.584887 +vn -0.812098 -0.009644 0.583392 +vn -0.790796 -0.055879 0.609485 +vn -0.751915 -0.080416 0.654317 +vn -0.753044 -0.058901 0.655293 +vn -0.752464 0.030793 0.657888 +vn -0.748283 0.122929 0.651845 +vn -0.726188 0.222816 0.650349 +vn -0.695791 0.258797 0.669942 +vn -0.681143 0.255470 0.686117 +vn -0.674612 0.257942 0.691610 +vn -0.664602 0.284280 0.690970 +vn -0.693533 0.242775 0.678243 +vn -0.293588 -0.499527 0.814997 +vn -0.274148 -0.411725 0.869045 +vn -0.451003 -0.457930 0.766045 +vn 0.018983 -0.293741 -0.955687 +vn 0.052522 -0.326518 -0.943724 +vn -0.657582 0.239784 -0.714164 +vn -0.003052 -0.996521 0.083010 +vn 0.021088 -0.995636 0.090579 +vn -0.002930 -0.996521 0.083071 +vn 0.509171 0.330821 -0.794519 +vn 0.451888 0.254402 -0.855007 +vn 0.507340 0.308847 -0.804468 +vn -0.427442 -0.467696 0.773614 +vn -0.477004 -0.448256 0.755974 +vn -0.912809 0.331523 0.238441 +vn -0.715262 0.242714 0.655324 +vn -0.592212 -0.310129 0.743675 +vn -0.577136 -0.398389 0.712851 +vn -0.754692 0.029176 0.655385 +vn -0.768944 0.516984 0.376019 +vn -0.844844 0.443159 0.299661 +vn -0.902463 0.353648 0.245827 +vn -0.718375 0.543657 0.433943 +vn -0.669881 0.596576 0.441969 +vn -0.581774 0.664205 0.469405 +vn -0.458266 0.759239 0.462050 +vn -0.018830 0.352733 -0.935514 +vn -0.741386 -0.157353 0.652333 +vn -0.646077 0.360729 0.672597 +vn -0.593036 0.460829 0.660207 +vn -0.558733 0.493118 0.666799 +vn -0.463759 0.586505 0.663991 +vn -0.382275 0.684347 0.620899 +vn -0.350536 0.749657 0.561296 +vn -0.345744 0.798334 0.493027 +vn -0.378155 0.816370 0.436445 +vn -0.531999 0.700797 0.475173 +vn -0.716056 0.511155 0.475356 +vn -0.795160 0.331370 0.507797 +vn -0.798669 0.160466 0.579913 +vn -0.066042 -0.897946 -0.435102 +vn -0.171026 -0.947569 -0.269814 +vn -0.144536 -0.886135 -0.440260 +vn -0.314707 0.033296 -0.948576 +vn 0.330271 -0.569140 -0.752983 +vn 0.151769 -0.398785 -0.904386 +vn 0.157170 -0.366894 -0.916868 +vn -0.619922 0.274422 -0.735069 +vn -0.684774 0.231941 -0.690817 +vn -0.652821 -0.501450 0.567736 +vn -0.604327 -0.590777 0.534532 +vn 0.298746 0.210150 -0.930876 +vn 0.278024 0.209754 -0.937376 +vn 0.332987 0.180425 -0.925474 +vn 0.674856 0.092715 -0.732078 +vn 0.706168 0.089816 -0.702292 +vn 0.394391 -0.896939 -0.199774 +vn -0.689383 -0.441176 0.574511 +vn -0.737693 -0.335490 0.585833 +vn -0.777642 -0.244057 0.579363 +vn -0.796411 -0.145543 0.586932 +vn -0.806604 -0.078005 0.585894 +vn -0.803858 -0.022675 0.594348 +vn -0.816218 -0.001282 0.577715 +vn -0.814875 -0.000671 0.579608 +vn -0.787072 -0.013764 0.616688 +vn -0.755791 -0.057405 0.652272 +vn -0.739494 -0.045320 0.671621 +vn -0.724723 0.039766 0.687857 +vn -0.715445 0.128758 0.686666 +vn -0.688803 0.237648 0.684866 +vn -0.675527 0.273141 0.684835 +vn -0.682546 0.264351 0.681326 +vn -0.668325 0.258614 0.697439 +vn -0.689474 0.271706 0.671377 +vn 0.129978 0.309305 -0.942015 +vn 0.082736 0.328532 -0.940825 +vn -0.846767 -0.474075 0.241249 +vn -0.694876 -0.703330 0.149846 +vn -0.835017 -0.360729 0.415418 +vn -0.872951 -0.238411 0.425489 +vn -0.941099 -0.120975 0.315683 +vn -0.888607 -0.113437 0.444349 +vn -0.883755 0.036225 0.466506 +vn -0.892819 0.176305 0.414411 +vn -0.860775 0.367718 0.351848 +vn -0.640095 -0.722434 0.261361 +vn -0.914914 0.309976 0.258492 +vn -0.890500 0.294931 0.346416 +vn -0.040132 0.072329 -0.996551 +vn 0.010529 0.057649 -0.998260 +vn 0.055879 0.122501 -0.990875 +vn -0.526109 0.052858 -0.848750 +vn -0.404126 0.110141 -0.908017 +vn -0.791803 0.246681 0.558733 +vn -0.804315 0.477645 0.353374 +vn -0.767449 0.513077 0.384350 +vn -0.717612 0.552049 0.424543 +vn -0.673757 0.579180 0.458876 +vn -0.623646 0.625568 0.468673 +vn -0.524277 0.699728 0.485244 +vn -0.568651 0.794855 -0.211676 +vn -0.512558 0.799676 0.312693 +vn -0.628132 0.772515 0.092898 +vn -0.549730 0.813929 0.187780 +vn -0.461287 -0.782311 0.418500 +vn -0.678030 0.415723 0.606128 +vn -0.802911 -0.093509 0.588672 +vn -0.637196 0.479385 0.603442 +vn -0.552049 0.563036 0.614948 +vn -0.476058 0.614338 0.629200 +vn -0.408979 0.693808 0.592730 +vn -0.351482 0.748070 0.562883 +vn -0.354411 0.781487 0.513443 +vn -0.370403 0.798120 0.475143 +vn -0.547044 0.667348 0.505295 +vn -0.673055 0.483352 0.559740 +vn -0.727928 0.334635 0.598407 +vn -0.767541 0.231697 0.597644 +vn -0.758599 0.107212 0.642628 +vn -0.724326 -0.289468 -0.625721 +vn -0.699728 -0.306375 -0.645344 +vn -0.680990 -0.296670 -0.669454 +vn 0.126255 0.283364 -0.950652 +vn 0.111301 0.274789 -0.955016 +vn -0.501907 -0.621876 0.601093 +vn -0.397076 -0.835688 0.379376 +vn -0.367412 -0.271004 -0.889676 +vn -0.389141 -0.152959 -0.908383 +vn -0.322062 -0.297586 -0.898709 +vn -0.102695 -0.594928 0.797174 +vn -0.717032 0.566240 -0.406446 +vn -0.505356 0.296945 -0.810175 +vn -0.791803 0.502304 -0.347392 +vn -0.761528 0.434584 -0.480758 +vn 0.019654 -0.999725 -0.012329 +vn 0.041719 -0.998657 -0.030610 +vn 0.032899 -0.999237 -0.019562 +vn 0.037294 -0.002991 -0.999298 +vn 0.040986 -0.023927 -0.998871 +vn -0.660726 0.059603 -0.748222 +vn -0.698294 0.136723 -0.702597 +vn -0.661367 0.016297 -0.749870 +vn -0.731590 -0.036561 -0.680715 +vn -0.734458 0.045869 -0.677084 +vn -0.675314 -0.443709 0.589099 +vn -0.716392 -0.350932 0.602985 +vn -0.764916 -0.263131 0.587878 +vn -0.798578 -0.154027 0.581805 +vn -0.811426 -0.071718 0.580004 +vn -0.811365 -0.026337 0.583880 +vn -0.800470 0.005097 0.599322 +vn -0.782434 0.028565 0.622028 +vn -0.748589 0.029176 0.662374 +vn -0.708426 -0.033631 0.704978 +vn -0.697073 -0.035615 0.716086 +vn -0.702414 0.053285 0.709738 +vn -0.697531 0.138310 0.703055 +vn -0.678732 0.247383 0.691427 +vn -0.674856 0.264931 0.688711 +vn -0.681906 0.271096 0.679312 +vn -0.666280 0.252937 0.701468 +vn -0.686819 0.242286 0.685202 +vn 0.022858 -0.999512 -0.021119 +vn -0.177892 -0.704794 -0.686728 +vn -0.786370 -0.364422 0.498795 +vn -0.812159 -0.234443 0.534227 +vn -0.820643 -0.092929 0.563768 +vn -0.827784 0.026765 0.560350 +vn -0.840236 0.131046 0.526109 +vn -0.860134 0.242286 0.448775 +vn -0.847591 0.322306 0.421522 +vn -0.833766 0.361156 0.417524 +vn -0.854305 0.354259 0.380261 +vn -0.769677 -0.547227 0.328806 +vn -0.757836 -0.489059 0.431806 +vn -0.792444 -0.483383 0.371929 +vn -0.904172 0.258095 0.340281 +vn -0.905759 0.252480 0.340281 +vn 0.033296 -0.998474 -0.043458 +vn 0.373302 -0.917234 -0.138859 +vn -0.803949 0.392712 0.446547 +vn -0.748314 0.482925 0.454695 +vn -0.698264 0.540483 0.469314 +vn -0.661672 0.588061 0.465133 +vn -0.635090 0.599170 0.487442 +vn -0.563524 0.654805 0.503616 +vn -0.487503 0.721946 0.491012 +vn -0.434553 0.769951 0.467177 +vn -0.482955 0.722007 0.495407 +vn 0.424238 -0.905179 -0.025300 +vn -0.629139 0.482192 0.609638 +vn -0.539018 0.586840 0.604175 +vn -0.493271 0.632466 0.597186 +vn -0.431532 0.712149 0.553667 +vn -0.350780 0.756218 0.552293 +vn -0.353069 0.773431 0.526383 +vn -0.397992 0.766411 0.504135 +vn -0.556108 0.648823 0.519364 +vn -0.646352 0.468184 0.602496 +vn -0.705039 0.318003 0.633839 +vn -0.708884 0.220466 0.669942 +vn 0.341838 0.348582 -0.872707 +vn 0.363018 0.205542 -0.908811 +vn 0.313334 0.258522 -0.913755 +vn -0.401746 -0.678182 -0.615314 +vn -0.663137 -0.349132 -0.662038 +vn -0.080081 0.357616 -0.930418 +vn -0.158605 0.422437 -0.892392 +vn 0.061220 -0.052065 -0.996734 +vn -0.001953 0.042848 -0.999054 +vn -0.573046 -0.285867 -0.768029 +vn -0.655324 -0.264748 -0.707419 +vn -0.685537 -0.366314 0.629139 +vn -0.725272 -0.285318 0.626514 +vn -0.773888 -0.160833 0.612537 +vn -0.792505 -0.076937 0.604968 +vn -0.798608 -0.010926 0.601703 +vn -0.774682 0.031526 0.631519 +vn -0.758507 0.055727 0.649251 +vn -0.734947 0.078158 0.673574 +vn -0.686392 0.005982 0.727165 +vn -0.642048 -0.036561 0.765770 +vn -0.666860 0.029786 0.744560 +vn -0.686728 0.136601 0.713920 +vn -0.673513 0.246345 0.696860 +vn -0.673177 0.265481 0.690146 +vn -0.666402 0.275582 0.692740 +vn -0.680074 0.259041 0.685812 +vn -0.673025 0.230171 0.702872 +vn -0.511216 0.110080 -0.852351 +vn 0.335765 -0.690420 0.640736 +vn -0.142247 -0.656819 0.740471 +vn -0.765923 -0.340709 0.545213 +vn -0.784570 -0.221442 0.579089 +vn -0.798425 -0.093051 0.594806 +vn -0.798578 0.022309 0.601459 +vn -0.795679 0.111026 0.595416 +vn -0.795404 0.217017 0.565874 +vn -0.786767 0.314341 0.531144 +vn -0.797815 0.366619 0.478561 +vn -0.813501 0.328349 0.479934 +vn -0.855495 0.291452 0.427931 +vn -0.863643 0.271493 0.424696 +vn -0.865719 0.269326 0.421857 +vn -0.901425 0.258034 0.347606 +vn -0.877285 0.241218 0.414869 +vn -0.808039 0.361614 0.465041 +vn -0.853267 0.298593 0.427473 +vn -0.751976 0.421247 0.507004 +vn -0.709189 0.512406 0.484176 +vn -0.652852 0.562975 0.506729 +vn -0.627430 0.594501 0.502853 +vn -0.578875 0.633259 0.513657 +vn -0.490829 0.680410 0.544115 +vn -0.467513 0.724509 0.506424 +vn -0.502213 0.781091 0.371014 +vn -0.551653 0.759728 0.344157 +vn -0.522477 -0.515397 0.679220 +vn 0.048647 0.152562 -0.987091 +vn -0.056612 0.105899 -0.992737 +vn 0.060732 0.208747 -0.976074 +vn -0.649129 0.529313 0.546220 +vn -0.538896 0.612079 0.578692 +vn -0.492355 0.641865 0.587817 +vn -0.390301 0.758110 0.522385 +vn -0.356059 0.771783 0.526780 +vn -0.413221 0.734672 0.538011 +vn -0.523515 0.638936 0.563616 +vn -0.623157 0.457045 0.634602 +vn -0.690176 0.324381 0.646809 +vn -0.710959 0.222358 0.667135 +vn 0.145207 0.009064 0.989349 +vn 0.224067 -0.169591 0.959685 +vn -0.146062 0.482467 -0.863613 +vn -0.129215 0.593890 -0.794092 +vn -0.114383 0.447066 -0.887143 +vn -0.310312 0.878536 -0.363048 +vn -0.164129 0.057375 -0.984741 +vn -0.284402 0.582446 -0.761467 +vn 0.623981 0.141697 -0.768456 +vn 0.653951 0.118442 -0.747185 +vn 0.552416 0.073946 -0.830256 +vn 0.123112 -0.423688 -0.897366 +vn 0.169256 -0.074404 -0.982727 +vn 0.116733 0.093112 -0.988769 +vn 0.147374 0.041017 -0.988220 +vn -0.644032 -0.379986 0.663900 +vn -0.670339 -0.308359 0.674917 +vn -0.726615 -0.189154 0.660482 +vn -0.759453 -0.091494 0.644063 +vn -0.775048 -0.002533 0.631855 +vn -0.774712 0.046449 0.630573 +vn -0.765557 0.070559 0.639454 +vn -0.753868 0.101901 0.649037 +vn -0.708945 0.078249 0.700888 +vn -0.632130 -0.009339 0.774773 +vn -0.623096 0.007355 0.782098 +vn -0.633564 0.124882 0.763512 +vn -0.645039 0.238502 0.725944 +vn -0.659261 0.263222 0.704276 +vn -0.664083 0.266366 0.698569 +vn -0.680471 0.256752 0.686270 +vn -0.685903 0.216712 0.694632 +vn -0.711844 0.126835 0.690756 +vn -0.537248 -0.821100 -0.192633 +vn -0.336314 -0.888546 -0.311991 +vn -0.308451 0.143406 -0.940336 +vn -0.328959 0.007385 -0.944304 +vn -0.161534 -0.048280 -0.985656 +vn -0.149052 0.467238 -0.871456 +vn -0.182714 0.494369 -0.849818 +vn -0.209967 0.496963 -0.841945 +vn -0.759117 -0.215705 0.614154 +vn -0.762810 -0.076540 0.642018 +vn -0.761711 0.034181 0.646992 +vn -0.751427 0.110233 0.650502 +vn -0.747612 0.210700 0.629780 +vn -0.748680 0.299600 0.591296 +vn -0.765343 0.345836 0.542802 +vn -0.793085 0.315500 0.520981 +vn -0.823115 0.259224 0.505203 +vn -0.840999 0.267525 0.470229 +vn -0.854396 0.258156 0.450880 +vn -0.869625 0.239235 0.431837 +vn -0.858943 0.260659 0.440718 +vn -0.838771 0.299051 0.454970 +vn -0.805109 0.324839 0.496200 +vn -0.765221 0.404187 0.501022 +vn -0.705039 0.458602 0.540880 +vn -0.652120 0.517472 0.554003 +vn -0.627827 0.581500 0.517319 +vn -0.581805 0.615894 0.531144 +vn -0.513535 0.666280 0.540666 +vn -0.493545 0.682150 0.539506 +vn -0.412763 0.755120 0.509262 +vn -0.507797 0.761254 0.403211 +vn -0.525254 0.799493 0.291299 +vn -0.589892 0.787774 0.177221 +vn -0.632527 0.750542 0.191137 +vn -0.626453 0.742119 0.238258 +vn -0.742332 -0.593890 0.310129 +vn -0.798730 -0.356761 0.484481 +vn -0.516800 0.577349 0.632099 +vn -0.781152 0.617389 0.092776 +vn -0.506699 0.612873 0.606311 +vn -0.597583 0.440657 0.669820 +vn -0.647237 0.300760 0.700430 +vn -0.718284 0.185278 0.670583 +vn -0.740349 0.058412 0.669668 +vn -0.638234 0.026063 -0.769372 +vn -0.751762 0.045595 -0.657826 +vn -0.087680 0.045473 -0.995086 +vn 0.071474 -0.996765 -0.036561 +vn -0.022095 -0.998108 -0.057314 +vn 0.455580 0.401685 -0.794397 +vn 0.341227 0.304300 -0.889340 +vn 0.388348 0.224097 -0.893826 +vn 0.364879 0.137883 -0.920774 +vn 0.383709 0.113834 -0.916379 +vn -0.130619 0.481887 -0.866421 +vn -0.242531 0.487228 -0.838893 +vn -0.079623 0.276070 -0.957823 +vn 0.048769 -0.998383 -0.028779 +vn 0.132878 -0.191168 -0.972503 +vn 0.124607 -0.218757 -0.967772 +vn -0.720054 0.113010 -0.684622 +vn 0.267067 -0.904904 0.331309 +vn -0.624958 -0.391766 0.675192 +vn -0.658620 -0.311838 0.684774 +vn -0.680380 -0.222602 0.698202 +vn -0.732902 -0.102573 0.672536 +vn -0.753502 -0.017396 0.657186 +vn -0.775262 0.040162 0.630329 +vn -0.769127 0.085879 0.633259 +vn -0.742454 0.121189 0.658803 +vn -0.737419 0.138035 0.661153 +vn -0.671560 0.057558 0.738670 +vn -0.601398 0.018464 0.798730 +vn -0.584826 0.104587 0.804346 +vn -0.636586 0.197882 0.745354 +vn -0.653615 0.251930 0.713614 +vn -0.666799 0.253945 0.700583 +vn -0.678915 0.254463 0.688681 +vn -0.691977 0.206763 0.691641 +vn -0.650258 -0.758049 -0.049745 +vn -0.545427 0.002289 -0.838130 +vn 0.218604 -0.634449 -0.741386 +vn -0.604938 0.091159 -0.791009 +vn 0.171239 0.248634 -0.953337 +vn 0.172430 0.157506 -0.972320 +vn 0.163671 0.325602 -0.931211 +vn -0.683432 -0.329447 0.651418 +vn -0.700736 -0.201636 0.684286 +vn -0.708457 -0.070498 0.702170 +vn -0.707877 0.036470 0.705374 +vn -0.696860 0.121952 0.706717 +vn -0.685324 0.189734 0.703055 +vn -0.722312 0.265694 0.638478 +vn -0.753838 0.308786 0.579943 +vn -0.800989 0.296091 0.520310 +vn -0.824549 0.244392 0.510269 +vn -0.839381 0.234504 0.490310 +vn -0.862606 0.249306 0.440168 +vn -0.854335 0.238777 0.461592 +vn -0.840510 0.275033 0.466750 +vn -0.816553 0.331431 0.472610 +vn -0.766106 0.369060 0.526139 +vn -0.710044 0.423566 0.562487 +vn -0.677450 0.501358 0.538194 +vn -0.618946 0.534745 0.575274 +vn -0.564989 0.593463 0.573168 +vn -0.512223 0.639393 0.573382 +vn -0.491623 0.669607 0.556658 +vn -0.611469 0.624561 -0.485794 +vn -0.819758 0.527238 -0.223609 +vn 0.740318 -0.348582 -0.574786 +vn 0.369030 0.111820 -0.922636 +vn -0.406384 -0.064638 -0.911374 +vn -0.285745 -0.054323 -0.956755 +vn -0.307718 -0.149846 -0.939573 +vn -0.162236 0.429823 -0.888180 +vn -0.018250 0.296701 -0.954772 +vn -0.914670 -0.046022 -0.401502 +vn -0.987518 -0.013367 -0.156835 +vn -0.219062 0.050691 -0.974364 +vn -0.080172 0.075716 -0.993896 +vn -0.290628 0.236518 -0.927122 +vn 0.453017 0.162725 -0.876492 +vn 0.544816 0.230232 -0.806299 +vn -0.022889 -0.323923 0.945799 +vn -0.202155 -0.400189 0.893826 +vn -0.736686 -0.019623 0.675924 +vn -0.700613 0.120273 0.703269 +vn 0.042055 -0.998627 -0.030641 +vn -0.876400 -0.005188 -0.481491 +vn -0.903653 -0.020936 -0.427717 +vn -0.411695 -0.180425 -0.893246 +vn 0.066958 0.747856 -0.660451 +vn 0.139348 0.729087 -0.670034 +vn 0.083895 0.739708 -0.667653 +vn 0.365093 0.359081 -0.858913 +vn 0.326090 0.309030 -0.893368 +vn -0.021149 0.561480 -0.827204 +vn -0.139927 0.538438 -0.830927 +vn -0.509720 -0.080477 -0.856533 +vn -0.357433 -0.066225 -0.931578 +vn 0.049135 0.904202 -0.424207 +vn 0.111179 0.872738 -0.475326 +vn 0.017060 0.896969 -0.441725 +vn -0.024201 0.636982 -0.770470 +vn -0.012055 0.518693 -0.854854 +vn -0.030641 0.540910 -0.840510 +vn -0.001038 0.906125 -0.422956 +vn 0.084109 0.870418 -0.485031 +vn -0.004791 0.878323 -0.478011 +vn 0.331706 0.773736 -0.539689 +vn 0.235298 0.774529 -0.587115 +vn -0.615497 0.358470 -0.701895 +vn -0.592090 0.337352 -0.731834 +vn -0.627583 0.407971 -0.663045 +vn 0.067202 0.747673 -0.660604 +vn 0.105625 0.740562 -0.663625 +vn 0.040864 0.649495 -0.759239 +vn -0.672964 -0.720145 0.168706 +vn -0.590411 -0.776086 0.221503 +vn 0.026246 0.609790 -0.792108 +vn -0.046419 0.592761 -0.804010 +vn -0.053621 0.709372 -0.702780 +vn -0.080447 0.779077 -0.621693 +vn -0.116398 0.806818 -0.579180 +vn -0.157811 0.782556 -0.602222 +vn -0.725425 -0.610462 -0.317881 +vn -0.699728 -0.676260 -0.230262 +vn -0.731437 -0.636464 -0.244636 +vn 0.071657 0.644826 -0.760949 +vn 0.016327 0.783135 -0.621601 +vn -0.107517 0.636555 -0.763665 +vn -0.001862 0.646687 -0.762719 +vn -0.006378 0.916044 -0.401013 +vn -0.044130 0.913785 -0.403729 +vn -0.019105 0.913266 -0.406842 +vn 0.269723 -0.171758 -0.947478 +vn -0.037873 0.922025 -0.385266 +vn 0.666524 0.490585 -0.561266 +vn 0.090793 0.900266 -0.425733 +vn 0.123905 0.219428 -0.967711 +vn 0.199652 0.898923 -0.389874 +vn 0.188025 0.900723 -0.391552 +vn 0.059969 0.566393 -0.821925 +vn 0.026521 0.588275 -0.808191 +vn -0.246712 0.620380 -0.744469 +vn -0.094577 0.481979 -0.871029 +vn 0.079379 0.662221 -0.745048 +vn -0.022797 0.661672 -0.749443 +vn -0.697623 0.662954 -0.271645 +vn 0.102237 0.221015 -0.969878 +vn 0.089053 0.234260 -0.968078 +vn -0.054933 0.893613 -0.445418 +vn -0.180212 0.743767 -0.643635 +vn 0.225654 0.762871 -0.605853 +vn 0.369091 0.730094 -0.575060 +vn 0.268715 0.663686 -0.698050 +vn -0.638356 0.333903 -0.693503 +vn 0.401624 0.609546 -0.683432 +vn 0.263344 0.842921 -0.469131 +vn 0.638874 0.119907 -0.759880 +vn 0.686117 0.052767 -0.725547 +vn 0.678701 0.095401 -0.728141 +vn 0.232429 0.868709 -0.437361 +vn 0.204230 0.884335 -0.419782 +vn 0.030152 0.904477 -0.425398 +vn 0.245979 0.857204 -0.452376 +vn 0.253975 0.855464 -0.451277 +vn 0.193762 0.703757 -0.683462 +vn 0.153386 0.860958 -0.484970 +vn 0.261025 0.830714 -0.491623 +vn 0.258126 0.831050 -0.492630 +vn 0.064913 0.413495 -0.908170 +vn 0.015229 0.301920 -0.953185 +vn -0.005554 0.414747 -0.909909 +vn 0.517655 0.382611 -0.765221 +vn 0.553453 0.386792 -0.737602 +vn 0.418348 0.305979 -0.855159 +vn 0.797937 0.540819 -0.266060 +vn 0.786035 0.572985 -0.231880 +vn -0.554277 -0.218696 -0.803064 +vn -0.872372 -0.031861 -0.487777 +vn -0.868282 -0.066256 -0.491592 +vn -0.811212 -0.174718 -0.558000 +vn -0.154820 0.128666 -0.979522 +vn 0.568987 0.260506 -0.779962 +vn 0.430036 0.829676 -0.355876 +vn 0.455458 0.802087 -0.386212 +vn 0.480239 0.815851 -0.322001 +vn -0.110660 0.931822 -0.345592 +vn -0.059908 0.930540 -0.361156 +vn 0.520188 0.620563 -0.586749 +vn 0.592029 0.592029 -0.546739 +vn 0.542772 0.641713 -0.541795 +vn 0.191656 0.892636 -0.407971 +vn 0.284738 0.780877 -0.555956 +vn 0.262001 0.798883 -0.541398 +vn -0.994598 0.089480 0.052492 +vn 0.276376 0.764672 -0.582080 +vn 0.294137 0.746849 -0.596362 +vn -0.083499 0.569262 -0.817866 +vn 0.017975 0.644398 -0.764428 +vn -0.169744 0.732047 -0.659719 +vn -0.197058 0.736351 -0.647237 +vn -0.161199 0.750938 -0.640370 +vn -0.904050 -0.040742 -0.425428 +vn -0.792016 -0.042573 -0.608966 +vn -0.874020 -0.096438 -0.476150 +vn -0.846400 -0.161657 -0.507370 +vn -0.829341 -0.199957 -0.521683 +vn -0.801386 -0.240364 -0.547685 +vn -0.792474 -0.216224 -0.570269 +vn -0.739006 -0.312326 -0.596881 +vn -0.226539 0.472732 -0.851558 +vn -0.275033 0.556749 -0.783807 +vn -0.279092 0.563555 -0.777459 +vn -0.677114 -0.354900 -0.644581 +vn -0.625019 -0.318491 -0.712668 +vn -0.025361 -0.999054 0.034944 +vn -0.623737 -0.118870 -0.772515 +vn -0.618000 -0.063967 -0.783563 +vn 0.550981 0.222571 -0.804254 +vn -0.612873 0.362468 -0.702109 +vn -0.997986 0.025056 0.058199 +vn 0.231727 0.526170 -0.818171 +vn 0.201392 0.819819 -0.535966 +vn -0.625935 0.303903 -0.718192 +vn -0.635578 0.232826 -0.736076 +vn -0.934172 0.044221 -0.353984 +vn -0.926847 0.000885 -0.375408 +vn -0.924375 0.034425 -0.379864 +vn -0.922971 -0.014710 -0.384533 +vn -0.911710 -0.071017 -0.404614 +vn -0.876858 -0.147191 -0.457625 +vn -0.848720 -0.188269 -0.494156 +vn -0.827540 -0.226753 -0.513504 +vn -0.769433 -0.298593 -0.564623 +vn -0.714438 -0.363628 -0.597736 +vn -0.643178 -0.421003 -0.639546 +vn -0.611530 -0.371288 -0.698660 +vn -0.661367 -0.094363 -0.744072 +vn -0.620441 0.554918 -0.554155 +vn 0.168523 0.863277 -0.475723 +vn -0.841273 -0.032136 -0.539628 +vn 0.179418 0.473098 -0.862514 +vn -0.941160 0.052004 -0.333903 +vn -0.936735 0.070803 -0.342723 +vn -0.939543 0.024079 -0.341563 +vn -0.923582 0.019257 -0.382885 +vn -0.916074 -0.031312 -0.399731 +vn -0.887051 -0.112308 -0.447768 +vn -0.867702 -0.175207 -0.465163 +vn -0.841762 -0.215522 -0.494888 +vn -0.803949 -0.268899 -0.530381 +vn -0.756401 -0.339457 -0.559099 +vn -0.684561 -0.416456 -0.598254 +vn -0.611896 -0.466567 -0.638630 +vn -0.586230 -0.415113 -0.695669 +vn -0.636372 -0.056154 -0.769311 +vn 0.044923 -0.998871 -0.015259 +vn 0.009308 -0.999481 -0.030061 +vn -0.708823 -0.272591 -0.650533 +vn -0.691488 -0.362682 -0.624714 +vn -0.596484 -0.386425 -0.703452 +vn 0.336253 -0.608417 -0.718833 +vn 0.480758 0.791528 -0.377209 +vn -0.948729 0.062166 -0.309854 +vn -0.857784 -0.161809 -0.487808 +vn -0.948820 -0.010376 -0.315561 +vn -0.940184 0.048219 -0.337168 +vn -0.938932 -0.001190 -0.344066 +vn -0.925748 -0.009095 -0.378002 +vn -0.903256 -0.070742 -0.423200 +vn -0.890225 -0.131565 -0.436048 +vn -0.867763 -0.199561 -0.455061 +vn -0.826868 -0.254921 -0.501236 +vn -0.775872 -0.308298 -0.550371 +vn -0.721793 -0.379376 -0.578814 +vn -0.637135 -0.466842 -0.613239 +vn -0.586993 -0.501511 -0.635487 +vn -0.545274 -0.429823 -0.719626 +vn 0.194739 0.835597 -0.513596 +vn -0.102329 0.739921 -0.664815 +vn -0.081301 0.730918 -0.677572 +vn 0.044862 0.751183 -0.658528 +vn -0.954650 0.049226 -0.293558 +vn -0.958190 0.033784 -0.284036 +vn -0.942442 0.030152 -0.332926 +vn -0.937864 -0.004517 -0.346934 +vn -0.923490 -0.047456 -0.380627 +vn -0.904965 -0.090152 -0.415754 +vn -0.889889 -0.145909 -0.432142 +vn -0.856105 -0.238807 -0.458266 +vn -0.807184 -0.311014 -0.501663 +vn -0.767937 -0.351299 -0.535569 +vn -0.692923 -0.435835 -0.574358 +vn -0.627613 -0.507706 -0.590167 +vn -0.508652 -0.550798 -0.661702 +vn -0.595813 -0.272164 -0.755577 +vn 0.209357 0.776574 -0.594165 +vn -0.858272 -0.238868 -0.454176 +vn -0.963042 0.023591 -0.268227 +vn 0.305643 0.253365 -0.917783 +vn -0.948576 0.078036 -0.306742 +vn -0.958983 0.021180 -0.282601 +vn -0.949156 0.001160 -0.314737 +vn -0.940275 -0.028687 -0.339152 +vn -0.925565 -0.081515 -0.369610 +vn -0.910550 -0.118351 -0.396039 +vn -0.874233 -0.178777 -0.451369 +vn -0.832179 -0.263802 -0.487655 +vn -0.804926 -0.332316 -0.491531 +vn -0.745964 -0.403668 -0.529649 +vn -0.668599 -0.478866 -0.568834 +vn -0.552660 -0.568682 -0.609210 +vn -0.438246 -0.574358 -0.691366 +vn -0.712607 -0.026429 -0.701041 +vn -0.658071 -0.428541 -0.619068 +vn -0.950102 0.001099 -0.311838 +vn -0.970702 0.036012 -0.237556 +vn -0.963652 0.056978 -0.260964 +vn -0.961913 0.026185 -0.272073 +vn -0.959655 -0.014924 -0.280740 +vn -0.946715 -0.052522 -0.317667 +vn -0.936033 -0.096896 -0.338237 +vn -0.917386 -0.161321 -0.363811 +vn -0.879391 -0.239357 -0.411481 +vn -0.827937 -0.302896 -0.471969 +vn -0.792261 -0.360515 -0.492264 +vn -0.708731 -0.458083 -0.536454 +vn -0.639607 -0.527879 -0.558733 +vn -0.449202 -0.646382 -0.616718 +vn -0.541093 -0.487869 -0.684957 +vn -0.805078 0.202033 -0.557634 +vn -0.899258 -0.125065 -0.419141 +vn -0.966033 0.105747 -0.235694 +vn -0.978637 0.047395 -0.199988 +vn -0.983428 0.042634 -0.176122 +vn -0.966582 0.004120 -0.256203 +vn -0.959532 -0.039674 -0.278726 +vn -0.942076 -0.083926 -0.324686 +vn -0.932279 -0.112125 -0.343822 +vn -0.895444 -0.193884 -0.400678 +vn -0.863979 -0.276376 -0.420850 +vn -0.833613 -0.336680 -0.437788 +vn -0.763329 -0.419477 -0.491226 +vn -0.698264 -0.494003 -0.517991 +vn -0.564714 -0.603870 -0.562487 +vn -0.402356 -0.683828 -0.608631 +vn -0.960997 0.130833 -0.243599 +vn -0.969146 0.080081 -0.233009 +vn -0.969512 0.012299 -0.244697 +vn -0.959593 -0.033753 -0.279244 +vn -0.959532 -0.054292 -0.276223 +vn -0.940580 -0.110446 -0.321055 +vn -0.909177 -0.166417 -0.381695 +vn -0.880337 -0.226600 -0.416639 +vn -0.857021 -0.284219 -0.429762 +vn -0.817347 -0.369457 -0.442030 +vn -0.740135 -0.467818 -0.482986 +vn -0.650746 -0.546251 -0.527360 +vn -0.448775 -0.682852 -0.576434 +vn -0.564531 -0.601154 -0.565569 +vn -0.983703 0.179479 -0.009796 +vn 0.246773 0.703085 -0.666890 +vn 0.205908 0.730277 -0.651357 +vn 0.217780 0.740074 -0.636250 +vn 0.228370 0.690939 -0.685873 +vn -0.971221 0.133671 -0.197058 +vn -0.963988 0.001831 -0.265908 +vn -0.974364 0.015870 -0.224403 +vn -0.976592 0.063387 -0.205420 +vn -0.977386 -0.001251 -0.211371 +vn -0.973266 -0.029298 -0.227760 +vn -0.955138 -0.090884 -0.281777 +vn -0.938749 -0.152593 -0.308878 +vn -0.922208 -0.198279 -0.331919 +vn -0.896908 -0.251686 -0.363506 +vn -0.850673 -0.319681 -0.417249 +vn -0.787347 -0.412610 -0.458022 +vn -0.711753 -0.506638 -0.486496 +vn -0.538041 -0.624470 -0.566118 +vn -0.414350 -0.686209 -0.597797 +vn 0.094913 0.266152 -0.959227 +vn 0.018738 0.209784 -0.977538 +vn 0.187506 0.465621 -0.864864 +vn 0.354045 0.301431 -0.885311 +vn 0.369854 0.188482 -0.909757 +vn 0.261727 0.698569 -0.665944 +vn -0.964385 0.144627 -0.221320 +vn -0.973540 0.074435 -0.215979 +vn -0.979034 -0.010590 -0.203314 +vn -0.967040 -0.073305 -0.243782 +vn -0.953459 -0.112949 -0.279489 +vn -0.944731 -0.159062 -0.286630 +vn -0.923765 -0.226417 -0.308817 +vn -0.883572 -0.302591 -0.357311 +vn -0.838099 -0.367412 -0.403150 +vn -0.763695 -0.458235 -0.454665 +vn -0.646168 -0.575793 -0.500900 +vn -0.409253 -0.700797 -0.584277 +vn -0.603381 -0.586047 -0.540788 +vn -0.995117 0.077456 -0.061068 +vn -0.994110 0.096255 -0.049257 +vn -0.637959 0.317667 -0.701468 +vn -0.644063 0.345866 -0.682302 +vn -0.714133 -0.531388 0.455641 +vn 0.788141 0.521378 -0.327006 +vn 0.763451 0.551378 -0.336253 +vn 0.753807 0.576647 -0.314982 +vn -0.970611 0.139714 -0.195837 +vn -0.973540 0.038728 -0.225074 +vn -0.968535 0.148564 -0.199622 +vn -0.981140 0.064364 -0.182195 +vn -0.974151 -0.016694 -0.225227 +vn -0.966186 -0.094638 -0.239814 +vn -0.947783 -0.140385 -0.286325 +vn -0.930692 -0.179205 -0.318796 +vn -0.903775 -0.251869 -0.346019 +vn -0.872524 -0.329203 -0.360912 +vn -0.816858 -0.416303 -0.399213 +vn -0.730216 -0.510941 -0.453536 +vn -0.536821 -0.650472 -0.537278 +vn -0.420454 -0.693350 -0.585192 +vn -0.914029 -0.262276 -0.309366 +vn -0.656423 0.168187 -0.735374 +vn -0.640797 0.164312 -0.749870 +vn -0.666860 0.039888 -0.744072 +vn -0.425001 0.870174 -0.249245 +vn -0.970336 0.099155 -0.220344 +vn -0.685202 -0.548784 -0.478835 +vn -0.969817 0.159215 -0.184637 +vn -0.970489 0.156133 -0.183691 +vn -0.979156 0.057009 -0.194922 +vn -0.965636 -0.056764 -0.253548 +vn -0.949339 -0.122349 -0.289346 +vn -0.944395 -0.157628 -0.288491 +vn -0.925565 -0.208899 -0.315622 +vn -0.894986 -0.276193 -0.350261 +vn -0.862362 -0.354228 -0.361675 +vn -0.781976 -0.463881 -0.416272 +vn -0.635701 -0.585833 -0.502640 +vn -0.394055 -0.712973 -0.579943 +vn -0.663411 -0.557512 -0.499008 +vn -0.991791 0.084201 0.096103 +vn -0.866665 -0.273354 -0.417280 +vn -0.675130 0.631275 -0.381634 +vn -0.611560 0.739677 -0.280770 +vn -0.999176 0.018983 -0.035127 +vn -0.955382 0.275582 0.106052 +vn -0.968261 0.160436 -0.191504 +vn -0.960082 -0.104770 -0.259255 +vn -0.976287 0.158940 -0.146764 +vn -0.973144 0.128239 -0.191137 +vn -0.969359 0.023957 -0.244392 +vn -0.966247 -0.080844 -0.244575 +vn -0.956420 -0.125095 -0.263771 +vn -0.945585 -0.167302 -0.279000 +vn -0.926695 -0.234809 -0.293344 +vn -0.896573 -0.300180 -0.325541 +vn -0.838923 -0.399426 -0.369579 +vn -0.719413 -0.534593 -0.443373 +vn -0.505661 -0.669515 -0.544053 +vn -0.455580 -0.691977 -0.559984 +vn 0.278359 0.485916 -0.828455 +vn -0.965972 0.194891 -0.169927 +vn -0.977935 -0.007569 -0.208625 +vn -0.977996 0.154485 -0.139988 +vn -0.979888 0.097018 -0.174230 +vn -0.981445 0.023743 -0.190130 +vn -0.976318 -0.089633 -0.196783 +vn -0.957396 -0.156255 -0.242775 +vn -0.944517 -0.184851 -0.271401 +vn -0.925230 -0.252754 -0.282907 +vn -0.878414 -0.342082 -0.333598 +vn -0.789697 -0.459059 -0.406934 +vn -0.627796 -0.616291 -0.475417 +vn -0.410199 -0.742271 -0.529832 +vn -0.702506 -0.556688 -0.443312 +vn -0.826228 0.081729 -0.557329 +vn -0.988159 0.125828 0.087741 +vn -0.995453 0.082095 -0.048097 +vn -0.970885 0.159886 -0.178198 +vn -0.973724 0.187719 -0.128819 +vn -0.972411 0.189734 -0.135594 +vn -0.971740 0.201819 -0.122196 +vn -0.972900 0.164220 -0.162603 +vn -0.983184 0.078829 -0.164586 +vn -0.982025 0.005646 -0.188635 +vn -0.965850 -0.121586 -0.228736 +vn -0.957488 -0.170232 -0.232765 +vn -0.938383 -0.207831 -0.276040 +vn -0.903806 -0.287118 -0.317209 +vn -0.843837 -0.395520 -0.362560 +vn -0.728050 -0.526109 -0.439467 +vn -0.522629 -0.688101 -0.503311 +vn -0.458388 -0.722495 -0.517533 +vn -0.927366 -0.266366 -0.262642 +vn 0.170843 0.937071 -0.304392 +vn -0.210883 -0.334758 -0.918363 +vn -0.579608 -0.271889 -0.768151 +vn -0.034608 0.005493 -0.999359 +vn -0.982696 0.148015 -0.111179 +vn -0.989959 0.074862 -0.119663 +vn -0.979705 -0.033845 -0.197424 +vn -0.964721 -0.129643 -0.229102 +vn -0.951811 -0.193213 -0.238105 +vn -0.927854 -0.246162 -0.280099 +vn -0.887753 -0.324564 -0.326365 +vn -0.804712 -0.454482 -0.381848 +vn -0.639943 -0.609668 -0.467696 +vn -0.429334 -0.729392 -0.532548 +vn -0.678060 -0.583514 -0.446852 +vn -0.895474 0.242347 -0.373302 +vn -0.965209 0.223273 -0.135838 +vn -0.979186 0.157506 -0.127842 +vn -0.989593 0.031434 -0.140263 +vn -0.973083 -0.087191 -0.213294 +vn -0.964415 -0.136723 -0.226234 +vn -0.940458 -0.217383 -0.261208 +vn -0.926603 -0.269601 -0.262093 +vn -0.864711 -0.382092 -0.325907 +vn -0.752892 -0.523820 -0.398419 +vn -0.537645 -0.690542 -0.483749 +vn -0.463759 -0.736686 -0.492111 +vn -0.922452 -0.323038 -0.211310 +vn -0.964690 0.214270 -0.153111 +vn -0.976684 0.148473 -0.154942 +vn -0.985046 0.007843 -0.171941 +vn -0.978881 -0.097201 -0.179815 +vn -0.959075 -0.171514 -0.225135 +vn -0.936705 -0.229225 -0.264504 +vn -0.913816 -0.295175 -0.278878 +vn -0.824305 -0.441572 -0.354228 +vn -0.670644 -0.598773 -0.437788 +vn -0.462081 -0.732688 -0.499588 +vn -0.649892 -0.633564 -0.419752 +vn -0.998016 -0.060732 -0.016114 +vn -0.471358 0.817316 -0.331278 +vn 0.265419 0.660970 -0.701865 +vn 0.245216 0.668905 -0.701712 +vn 0.237770 0.595355 -0.767449 +vn 0.277505 0.572832 -0.771233 +vn 0.230323 0.632466 -0.739494 +vn 0.009308 0.833583 -0.552293 +vn 0.007263 0.747459 -0.664235 +vn -0.067141 0.732414 -0.677511 +vn -0.043580 0.821192 -0.568957 +vn 0.117344 -0.810633 0.573626 +vn 0.350749 0.788842 -0.504624 +vn 0.293130 0.822382 -0.487564 +vn 0.551836 0.216132 -0.805444 +vn 0.596088 0.144444 -0.789788 +vn 0.597858 0.181890 -0.780663 +vn 0.401257 0.646657 -0.648701 +vn 0.396680 0.632069 -0.665670 +vn 0.535417 0.582781 -0.611255 +vn 0.111087 0.843654 -0.525224 +vn -0.311777 0.900479 -0.303140 +vn -0.347270 0.857051 -0.380566 +vn -0.248909 0.871029 -0.423444 +vn -0.123264 0.730857 -0.671285 +vn -0.083743 0.695761 -0.713340 +vn -0.128452 0.732994 -0.667959 +vn -0.330363 0.711661 -0.619983 +vn -0.350047 0.673574 -0.650929 +vn -0.891720 -0.452528 -0.003540 +vn -0.774499 -0.557054 0.299692 +vn -0.977294 -0.147954 -0.151646 +vn -0.920988 -0.319163 0.223334 +vn -0.941038 -0.224708 0.252785 +vn -0.971007 0.205023 -0.122776 +vn -0.966399 0.228126 -0.118168 +vn -0.980895 0.143468 -0.131291 +vn -0.985321 -0.000122 -0.170537 +vn -0.975524 -0.121311 -0.183325 +vn -0.953307 -0.207282 -0.219550 +vn -0.938749 -0.249092 -0.238075 +vn -0.884304 -0.354900 -0.303323 +vn -0.772637 -0.513627 -0.373028 +vn -0.576617 -0.677816 -0.456099 +vn -0.464766 -0.737815 -0.489456 +vn -0.884030 -0.401349 -0.239540 +vn -0.909421 0.364330 0.200385 +vn -0.885067 0.431562 0.174352 +vn 0.275277 0.609882 -0.743095 +vn 0.205115 0.599994 -0.773247 +vn 0.229163 0.505295 -0.831935 +vn 0.108951 0.462691 -0.879788 +vn 0.118442 0.366497 -0.922819 +vn 0.179968 0.410504 -0.893918 +vn 0.261361 0.426221 -0.866024 +vn 0.208441 0.427747 -0.879513 +vn 0.329051 0.482406 -0.811762 +vn 0.293619 0.525224 -0.798669 +vn 0.339946 0.515427 -0.786584 +vn 0.241920 0.536424 -0.808496 +vn 0.354839 0.573382 -0.738426 +vn 0.539262 0.704184 -0.461837 +vn 0.527879 0.648549 -0.548357 +vn 0.534410 0.693045 -0.483779 +vn 0.476760 0.275643 -0.834651 +vn 0.373943 0.181799 -0.909421 +vn 0.251381 -0.165380 -0.953642 +vn -0.094119 0.837733 -0.537858 +vn 0.578661 0.264565 -0.771416 +vn -0.065554 -0.995300 0.071139 +vn 0.011597 -0.998718 0.048677 +vn -0.072604 -0.994171 0.079440 +vn -0.013611 0.870907 -0.491195 +vn -0.024598 0.835963 -0.548204 +vn -0.327128 0.777551 -0.536973 +vn -0.352245 0.705832 -0.614551 +vn -0.367138 0.748650 -0.551958 +vn 0.052980 0.832270 -0.551775 +vn 0.666982 0.544725 -0.508255 +vn 0.658345 0.496170 -0.565996 +vn -0.280496 0.683859 -0.673482 +vn 0.308664 0.405530 -0.860347 +vn -0.954131 0.074618 0.289895 +vn -0.154393 0.790643 -0.592456 +vn -0.165258 0.782617 -0.600146 +vn -0.125126 0.747398 -0.652425 +vn -0.852107 0.432752 0.294259 +vn -0.900327 0.313791 0.301523 +vn 0.079226 0.439314 -0.894803 +vn 0.119266 0.372600 -0.920255 +vn 0.142552 0.439680 -0.886746 +vn -0.976135 0.100131 -0.192633 +vn -0.958159 0.250374 -0.138646 +vn -0.969024 0.223762 -0.104404 +vn -0.988830 0.108585 -0.101993 +vn -0.986999 -0.031098 -0.157659 +vn -0.968902 -0.143162 -0.201788 +vn -0.950041 -0.218299 -0.222938 +vn -0.930631 -0.282174 -0.232887 +vn -0.854152 -0.418500 -0.308573 +vn -0.713736 -0.590533 -0.376568 +vn -0.500168 -0.736900 -0.454726 +vn -0.645711 -0.659902 -0.384106 +vn -0.628864 0.743889 -0.226112 +vn -0.985412 0.151677 -0.077059 +vn 0.318033 0.562761 -0.762963 +vn 0.326029 0.556383 -0.764275 +vn 0.030366 0.820002 -0.571520 +vn -0.004547 0.761467 -0.648152 +vn -0.070040 0.757836 -0.648640 +vn 0.063295 0.808863 -0.584552 +vn 0.059572 0.841609 -0.536729 +vn 0.161290 0.228095 -0.960173 +vn 0.153050 0.917508 -0.366985 +vn -0.153630 0.768822 -0.620716 +vn -0.164281 0.762352 -0.625935 +vn -0.202094 0.741539 -0.639699 +vn -0.280831 0.776971 -0.563372 +vn -0.356212 0.739860 -0.570696 +vn -0.242439 0.723533 -0.646290 +vn 0.507126 0.564806 -0.650960 +vn 0.658803 0.517808 -0.545701 +vn -0.140385 0.746818 -0.650014 +vn -0.116703 0.727500 -0.676077 +vn -0.094119 0.726951 -0.680166 +vn -0.148991 0.721030 -0.676687 +vn -0.037782 0.592669 -0.804529 +vn -0.206671 0.645344 -0.735374 +vn -0.012085 0.485458 -0.874142 +vn -0.139683 0.945891 -0.292825 +vn 0.012879 0.779229 -0.626576 +vn -0.377117 0.885586 -0.271035 +vn -0.208014 0.720389 -0.661611 +vn -0.176244 0.709861 -0.681906 +vn -0.170385 0.749687 -0.639454 +vn -0.211035 0.663839 -0.717460 +vn 0.003540 0.612445 -0.790490 +vn -0.068484 0.599902 -0.797113 +vn -0.056551 0.687490 -0.723960 +vn 0.211768 0.491989 -0.844417 +vn 0.084536 0.462935 -0.882321 +vn 0.137455 0.615223 -0.776238 +vn 0.026429 0.255043 -0.966552 +vn 0.125126 0.293008 -0.947874 +vn -0.156804 0.733970 -0.660787 +vn -0.190619 0.860530 -0.472304 +vn -0.168523 0.855068 -0.490310 +vn 0.368145 0.623707 -0.689505 +vn 0.441176 0.580248 -0.684561 +vn 0.422224 0.519883 -0.742576 +vn 0.215155 0.747887 -0.627979 +vn 0.203986 0.700827 -0.683493 +vn 0.203619 0.695791 -0.688742 +vn -0.856197 -0.491562 0.158849 +vn -0.880490 -0.422803 0.214270 +vn -0.854915 0.435499 0.281808 +vn 0.244545 0.711295 -0.658956 +vn 0.105533 0.380932 -0.918546 +vn 0.152226 0.334697 -0.929929 +vn -0.539567 -0.820002 0.190802 +vn -0.234291 -0.970458 0.057192 +vn -0.409009 -0.908719 0.082858 +vn -0.660634 -0.730491 0.172887 +vn -0.869808 -0.463271 -0.169591 +vn -0.983306 0.112186 -0.143040 +vn -0.952116 0.264779 -0.152715 +vn -0.962676 0.237861 -0.128910 +vn -0.984100 0.115207 -0.134983 +vn -0.981658 -0.076418 -0.174535 +vn -0.968047 -0.164342 -0.189276 +vn -0.957213 -0.224067 -0.183020 +vn -0.908750 -0.334147 -0.249916 +vn -0.811945 -0.479080 -0.333445 +vn -0.633900 -0.657888 -0.406598 +vn -0.473251 -0.752678 -0.457656 +vn -0.867733 -0.457076 -0.195105 +vn 0.292184 0.585437 -0.756188 +vn 0.291208 0.553575 -0.780206 +vn 0.273080 0.363353 -0.890713 +vn 0.234107 0.359050 -0.903470 +vn -0.505295 -0.860775 -0.060732 +vn -0.254372 -0.965606 -0.053346 +vn -0.498550 -0.837428 -0.223823 +vn 0.065767 0.346507 -0.935728 +vn 0.161046 0.360363 -0.918790 +vn 0.511917 0.335398 -0.790826 +vn 0.495865 0.329722 -0.803339 +vn -0.016419 0.905972 -0.422956 +vn -0.062014 0.913907 -0.401135 +vn -0.220466 0.812037 -0.540330 +vn -0.169866 0.751885 -0.637013 +vn -0.227790 0.761773 -0.606433 +vn 0.491470 0.707114 -0.508347 +vn 0.537675 0.679098 -0.499680 +vn 0.470016 0.728965 -0.497635 +vn 0.565142 0.632435 -0.529710 +vn 0.458296 0.676717 -0.576159 +vn 0.452101 0.716941 -0.530625 +vn 0.196051 0.529710 -0.825190 +vn 0.192785 0.524674 -0.829157 +vn 0.223518 0.422651 -0.878262 +vn -0.090060 0.124210 -0.988128 +vn -0.008850 0.838984 -0.544023 +vn -0.093692 0.937498 -0.335063 +vn -0.026795 0.926817 -0.374523 +vn -0.055605 0.940001 -0.336589 +vn -0.694571 -0.643452 0.321726 +vn 0.013703 0.501999 -0.864742 +vn -0.014252 0.553301 -0.832850 +vn 0.398602 0.441481 -0.803827 +vn 0.395764 0.430555 -0.811121 +vn 0.413953 0.326243 -0.849788 +vn -0.059023 0.644734 -0.762078 +vn 0.000427 0.795709 -0.605640 +vn 0.035798 0.774957 -0.630970 +vn 0.074984 0.740684 -0.667592 +vn -0.815912 0.072909 -0.573504 +vn -0.825587 0.122745 -0.550707 +vn -0.676473 0.223823 -0.701590 +vn -0.808954 0.204169 -0.551225 +vn -0.039003 0.824488 -0.564501 +vn -0.090304 0.792047 -0.603717 +vn -0.044862 0.789209 -0.612445 +vn -0.659352 0.492721 -0.567827 +vn -0.587207 0.443525 -0.677053 +vn 0.398755 0.243171 -0.884213 +vn 0.345744 0.169561 -0.922849 +vn -0.285134 0.809076 -0.513871 +vn -0.245949 0.820276 -0.516343 +vn -0.077944 0.399823 -0.913236 +vn 0.158452 0.198492 -0.967193 +vn 0.265938 0.161138 -0.950407 +vn -0.873836 -0.456465 -0.167333 +vn -0.977081 0.127964 -0.170049 +vn -0.952879 0.272347 -0.133366 +vn -0.962493 0.242592 -0.121220 +vn -0.987121 0.079287 -0.138798 +vn -0.979858 -0.091586 -0.177282 +vn -0.972045 -0.154271 -0.176855 +vn -0.939940 -0.263222 -0.217139 +vn -0.876003 -0.398144 -0.272164 +vn -0.760063 -0.552385 -0.342204 +vn -0.539415 -0.722587 -0.432234 +vn -0.590228 -0.695853 -0.409131 +vn -0.971465 -0.207099 -0.115360 +vn -0.934446 0.305887 0.182226 +vn -0.837367 0.537858 0.097446 +vn 0.236183 0.354289 -0.904782 +vn 0.296121 0.500595 -0.813440 +vn -0.297128 0.596301 -0.745720 +vn -0.010346 0.797418 -0.603290 +vn -0.501663 0.731315 -0.462050 +vn -0.418836 0.773431 -0.475723 +vn -0.502884 0.653706 -0.565447 +vn 0.352702 0.351115 -0.867336 +vn 0.037812 0.818049 -0.573840 +vn 0.112796 0.564196 -0.817866 +vn 0.201697 0.582018 -0.787744 +vn 0.146092 0.590564 -0.793634 +vn -0.087374 0.866604 -0.491256 +vn -0.109745 0.854915 -0.506974 +vn -0.001312 -0.999725 0.022797 +vn -0.253822 0.913755 -0.317118 +vn -0.281533 0.888791 -0.361553 +vn -0.179296 0.622120 -0.762078 +vn -0.079775 0.685812 -0.723380 +vn -0.257149 0.935667 -0.241615 +vn -0.257637 0.926359 -0.274697 +vn -0.735038 -0.344066 -0.584185 +vn -0.691153 -0.339518 -0.637928 +vn -0.768487 -0.347606 -0.537156 +vn -0.689413 -0.236976 -0.684469 +vn -0.754204 -0.305704 -0.581072 +vn -0.763421 -0.171209 -0.622761 +vn -0.756157 -0.030335 -0.653645 +vn -0.779778 0.088229 -0.619800 +vn -0.797693 0.105167 -0.593768 +vn -0.820429 0.129429 -0.556841 +vn -0.841090 0.176519 -0.511216 +vn -0.871059 0.198614 -0.449171 +vn -0.834986 0.272195 -0.478164 +vn -0.728782 0.406537 -0.550951 +vn -0.708762 0.329478 -0.623737 +vn -0.683981 0.219733 -0.695608 +vn -0.706717 0.238533 -0.666036 +vn -0.601001 0.510788 -0.614673 +vn -0.589129 0.572436 -0.570238 +vn -0.033448 0.625538 -0.779443 +vn -0.097507 0.614734 -0.782647 +vn -0.879971 0.372814 0.294290 +vn -0.516404 -0.841090 -0.160802 +vn -0.967162 0.146489 -0.207587 +vn -0.945585 0.282235 -0.161718 +vn -0.956786 0.238624 -0.166082 +vn -0.979430 0.070498 -0.189001 +vn -0.982727 -0.095401 -0.158483 +vn -0.965941 -0.188604 -0.177068 +vn -0.922605 -0.303781 -0.237678 +vn -0.853175 -0.437788 -0.283578 +vn -0.671590 -0.632832 -0.385296 +vn -0.493240 -0.751854 -0.437452 +vn -0.783502 -0.554186 -0.280953 +vn -0.998779 -0.003021 0.048708 +vn -0.871822 -0.460891 0.165807 +vn 0.137333 0.690909 -0.709738 +vn 0.316843 0.269936 -0.909238 +vn 0.472365 0.517808 -0.713218 +vn 0.501541 0.458449 -0.733665 +vn 0.434156 0.503311 -0.747093 +vn 0.470717 0.487655 -0.735221 +vn 0.383923 0.535813 -0.751946 +vn 0.408948 0.494736 -0.766778 +vn 0.285409 0.537767 -0.793268 +vn 0.612171 0.446974 -0.652242 +vn -0.046846 0.893490 -0.446608 +vn -0.016205 0.887814 -0.459883 +vn -0.019074 0.860988 -0.508225 +vn -0.044527 0.869778 -0.491409 +vn -0.123508 0.837581 -0.532151 +vn -0.661000 -0.423017 -0.619739 +vn -0.700125 -0.386212 -0.600513 +vn -0.286111 0.872219 -0.396649 +vn -0.284127 0.842433 -0.457747 +vn -0.349681 0.812494 -0.466384 +vn -0.720023 -0.432295 -0.542802 +vn -0.740440 -0.402173 -0.538469 +vn -0.771874 -0.336589 -0.539293 +vn -0.783197 -0.334727 -0.523942 +vn -0.785607 -0.361431 -0.502121 +vn -0.799432 -0.328532 -0.502914 +vn -0.830409 -0.204962 -0.518052 +vn -0.824915 -0.038850 -0.563891 +vn -0.802637 0.097415 -0.588427 +vn -0.811365 0.158574 -0.562548 +vn -0.859554 0.169012 -0.482223 +vn -0.867306 0.199408 -0.456038 +vn -0.852657 0.246040 -0.460860 +vn -0.877194 0.240761 -0.415357 +vn -0.804529 0.364788 -0.468642 +vn -0.707572 0.496231 -0.503037 +vn -0.486526 0.576739 -0.656209 +vn -0.643269 0.578295 -0.501724 +vn -0.570147 0.649403 -0.503128 +vn -0.611225 0.667440 -0.425275 +vn -0.974792 0.149297 -0.165777 +vn -0.935881 0.315073 -0.157476 +vn -0.969359 0.221473 -0.106204 +vn -0.985076 0.078738 -0.153020 +vn -0.989319 -0.076876 -0.123630 +vn -0.960387 -0.228523 -0.159368 +vn -0.901059 -0.360515 -0.240944 +vn -0.784326 -0.514908 -0.345927 +vn -0.583789 -0.690054 -0.427747 +vn -0.564531 -0.725425 -0.393689 +vn -0.927824 -0.357799 -0.105380 +vn -0.972350 0.165410 0.164739 +vn 0.713218 0.446211 -0.540513 +vn 0.675741 0.376354 -0.633808 +vn 0.576983 0.399548 -0.712333 +vn 0.290963 0.555589 -0.778863 +vn 0.298685 0.502823 -0.811121 +vn 0.331431 0.538285 -0.774834 +vn 0.310831 0.538835 -0.782922 +vn -0.120151 0.815210 -0.566515 +vn -0.105136 0.810327 -0.576403 +vn 0.170629 0.078036 -0.982208 +vn 0.203070 0.153600 -0.967009 +vn 0.391003 0.484909 -0.782250 +vn -0.314188 0.856319 -0.409864 +vn 0.041902 0.866573 -0.497238 +vn 0.021210 0.877163 -0.479690 +vn -0.621113 -0.225623 -0.750511 +vn -0.094760 0.937529 -0.334727 +vn -0.097415 0.931852 -0.349467 +vn -0.657949 -0.235725 -0.715171 +vn -0.695578 -0.185247 -0.694143 +vn -0.673208 -0.282479 -0.683340 +vn -0.712821 -0.231697 -0.661946 +vn -0.629688 -0.263955 -0.730613 +vn -0.744743 -0.337779 -0.575518 +vn -0.778954 -0.425459 -0.460616 +vn -0.778741 -0.423414 -0.462844 +vn -0.811487 -0.338908 -0.475997 +vn -0.802545 -0.339610 -0.490432 +vn -0.831294 -0.350658 -0.431196 +vn -0.853572 -0.332438 -0.401044 +vn -0.870205 -0.234382 -0.433302 +vn -0.879604 -0.064455 -0.471267 +vn -0.871883 0.083651 -0.482498 +vn -0.829402 0.175604 -0.530259 +vn -0.800378 0.236641 -0.550768 +vn -0.860195 0.217261 -0.461287 +vn -0.876553 0.254860 -0.408185 +vn -0.886044 0.259682 -0.384014 +vn -0.861782 0.323893 -0.390393 +vn -0.758721 0.482040 -0.438063 +vn -0.677084 0.588855 -0.441298 +vn -0.919309 0.277902 0.278603 +vn -0.002991 -0.999969 -0.002411 +vn -0.929716 0.330821 -0.161626 +vn -0.963866 0.237129 -0.121220 +vn -0.992096 0.062716 -0.108554 +vn -0.981964 -0.106052 -0.156438 +vn -0.945097 -0.270852 -0.182684 +vn -0.870602 -0.428541 -0.241523 +vn -0.723441 -0.603626 -0.335002 +vn -0.538255 -0.731407 -0.418653 +vn -0.714743 -0.629658 -0.304331 +vn -0.989349 -0.137455 0.047456 +vn -0.936705 0.269234 0.223701 +vn 0.407636 0.167119 -0.897702 +vn 0.372845 0.363598 -0.853664 +vn 0.222144 0.493210 -0.841029 +vn 0.200629 0.535874 -0.820093 +vn 0.134159 0.545335 -0.827387 +vn -0.219184 0.407300 -0.886563 +vn -0.098239 0.769402 -0.631123 +vn -0.135777 0.768120 -0.625690 +vn -0.125095 0.767205 -0.629048 +vn -0.092868 0.756035 -0.647877 +vn -0.114231 0.766076 -0.632466 +vn -0.529344 -0.405133 -0.745384 +vn -0.539964 -0.371502 -0.755242 +vn -0.546709 -0.340556 -0.764916 +vn -0.654073 -0.358379 -0.666097 +vn -0.703970 -0.284097 -0.650899 +vn -0.591723 -0.304453 -0.746391 +vn -0.736412 -0.217902 -0.640461 +vn -0.738395 -0.195868 -0.645253 +vn -0.730277 -0.198737 -0.653584 +vn -0.759087 -0.254006 -0.599353 +vn -0.795648 -0.369182 -0.480239 +vn -0.823145 -0.403485 -0.399457 +vn -0.844203 -0.362743 -0.394543 +vn -0.875057 -0.320383 -0.362743 +vn -0.894345 -0.328257 -0.303873 +vn -0.907468 -0.341655 -0.244392 +vn -0.919248 -0.270943 -0.285501 +vn -0.965331 -0.054994 -0.255104 +vn -0.955351 0.063906 -0.288400 +vn -0.909574 0.066805 -0.410108 +vn -0.819941 0.185583 -0.541490 +vn -0.764306 0.298593 -0.571520 +vn -0.833277 0.314676 -0.454543 +vn -0.881283 0.289499 -0.373455 +vn -0.892148 0.309793 -0.328745 +vn -0.818812 0.459792 -0.343638 +vn -0.720847 0.591754 -0.360790 +vn -0.643300 0.667776 -0.374462 +vn -0.514969 0.765099 -0.386486 +vn -0.555040 0.746696 -0.366497 +vn -0.925718 -0.304086 0.224860 +vn -0.937162 0.316080 -0.147496 +vn -0.951262 0.267129 -0.153966 +vn -0.988556 0.055757 -0.140049 +vn -0.978698 -0.128056 -0.160405 +vn -0.937773 -0.295755 -0.181799 +vn -0.832881 -0.490280 -0.256722 +vn -0.658193 -0.668569 -0.346049 +vn -0.564165 -0.728843 -0.387829 +vn -0.865719 -0.463210 -0.189520 +vn -0.994018 0.039796 0.101596 +vn -0.949034 0.166265 0.267708 +vn -0.343516 0.240852 -0.907712 +vn 0.011505 0.649251 -0.760460 +vn 0.116123 0.491226 -0.863247 +vn 0.125736 0.784417 -0.607318 +vn -0.071871 0.713279 -0.697165 +vn -0.138493 0.734123 -0.664724 +vn -0.177709 0.713187 -0.678030 +vn -0.572832 -0.450301 -0.684866 +vn -0.024293 0.897885 -0.439528 +vn 0.009430 0.915769 -0.401563 +vn -0.677297 -0.381573 -0.628956 +vn -0.744865 -0.349803 -0.568102 +vn -0.769250 -0.290994 -0.568773 +vn -0.767754 -0.236152 -0.595599 +vn -0.759209 -0.217048 -0.613544 +vn -0.740013 -0.206214 -0.640156 +vn -0.740196 -0.205329 -0.640248 +vn -0.774407 -0.290170 -0.562181 +vn -0.823695 -0.346690 -0.448622 +vn -0.835139 -0.339763 -0.432478 +vn -0.882778 -0.279000 -0.377880 +vn -0.889187 -0.288369 -0.355174 +vn -0.902737 -0.324076 -0.282785 +vn -0.924467 -0.258522 -0.280160 +vn -0.980773 -0.039918 -0.190863 +vn -0.965239 -0.031953 -0.259285 +vn -0.941862 -0.004517 -0.335917 +vn -0.924039 0.105380 -0.367443 +vn -0.831355 0.297678 -0.469253 +vn -0.790551 0.384808 -0.476333 +vn -0.835780 0.350627 -0.422437 +vn -0.878353 0.346965 -0.328715 +vn -0.853053 0.434980 -0.288125 +vn -0.742332 0.577410 -0.339885 +vn -0.672964 0.648427 -0.355846 +vn -0.582476 0.744224 -0.326792 +vn -0.936918 0.246895 0.247291 +vn -0.979522 0.067110 0.189795 +vn -0.987213 0.089084 0.132054 +vn -0.891873 -0.306436 0.332530 +vn -0.931333 0.362987 -0.028474 +vn -0.935911 0.330027 -0.122837 +vn -0.957884 0.264992 -0.110508 +vn -0.990966 0.049165 -0.124607 +vn -0.979064 -0.148534 -0.139073 +vn -0.904630 -0.360302 -0.227515 +vn -0.777764 -0.555101 -0.294778 +vn -0.584185 -0.719016 -0.376385 +vn -0.670278 -0.667653 -0.323893 +vn -0.961669 -0.265114 -0.069735 +vn -0.968383 0.184942 0.167241 +vn 0.445540 0.206793 -0.871029 +vn 0.472304 0.245338 -0.846583 +vn -0.531816 -0.234993 -0.813593 +vn -0.987793 0.112400 0.107730 +vn -0.882473 -0.384045 0.271462 +vn -0.949278 0.179449 0.258065 +vn -0.985260 0.137272 0.101901 +vn 0.648000 0.147893 -0.747093 +vn 0.194891 0.843349 -0.500717 +vn 0.091403 0.562487 -0.821711 +vn -0.083590 0.741630 -0.665548 +vn -0.142125 0.731315 -0.667043 +vn -0.588153 -0.410993 -0.696493 +vn -0.540452 -0.425062 -0.726066 +vn -0.113956 0.782373 -0.612262 +vn -0.777062 -0.331492 -0.534989 +vn -0.820978 -0.340098 -0.458571 +vn -0.845058 -0.321665 -0.427045 +vn -0.826228 -0.290902 -0.482376 +vn -0.821741 -0.261849 -0.506088 +vn -0.773766 -0.248085 -0.582812 +vn -0.794458 -0.174383 -0.581713 +vn -0.829554 -0.226051 -0.510575 +vn -0.856777 -0.320475 -0.403974 +vn -0.860500 -0.315226 -0.400159 +vn -0.860469 -0.264748 -0.435286 +vn -0.884732 -0.236183 -0.401776 +vn -0.823817 -0.320841 -0.467269 +vn -0.888333 -0.137211 -0.438185 +vn -0.944578 -0.020600 -0.327555 +vn -0.969176 -0.031129 -0.244270 +vn -0.982971 0.006134 -0.183569 +vn -0.966216 0.057680 -0.251137 +vn -0.929716 0.236183 -0.282479 +vn -0.839320 0.401593 -0.366314 +vn -0.836482 0.398572 -0.376049 +vn -0.853175 0.401257 -0.333201 +vn -0.859584 0.435530 -0.267129 +vn -0.804132 0.526688 -0.275582 +vn -0.685324 0.635914 -0.354839 +vn -0.594806 0.731742 -0.332713 +vn -0.981079 0.131657 0.141758 +vn -0.982147 0.002808 0.187933 +vn -0.913053 0.321329 0.251106 +vn -0.930692 0.345012 -0.121372 +vn -0.957060 0.266152 -0.114566 +vn -0.991852 0.042787 -0.119877 +vn -0.963500 -0.202429 -0.174993 +vn -0.869808 -0.419324 -0.259926 +vn -0.731651 -0.616779 -0.290201 +vn -0.570025 -0.742637 -0.351421 +vn -0.793756 -0.560045 -0.237129 +vn -0.996246 -0.068819 0.052095 +vn -0.928404 0.285714 0.237465 +vn -0.253609 -0.934965 0.247902 +vn -0.010315 -0.997284 0.072756 +vn -0.997223 0.074160 0.002899 +vn 0.432173 0.126102 -0.892911 +vn 0.511185 0.141301 -0.847743 +vn 0.507309 0.189215 -0.840724 +vn -0.920652 0.307016 0.241005 +vn -0.962798 -0.117222 0.243355 +vn -0.225593 0.911069 -0.344981 +vn -0.145207 0.744438 -0.651662 +vn 0.037782 0.854762 -0.517563 +vn 0.060671 0.814112 -0.577502 +vn 0.033815 0.830226 -0.556352 +vn -0.177984 0.723045 -0.667470 +vn 0.168950 0.875759 -0.452162 +vn 0.180548 0.879971 -0.439314 +vn 0.177190 0.841609 -0.510147 +vn 0.039735 0.888180 -0.457686 +vn -0.798791 -0.279397 -0.532731 +vn 0.049074 -0.998077 -0.037233 +vn -0.865444 -0.272805 -0.420179 +vn -0.875393 -0.316813 -0.365062 +vn -0.879208 -0.342448 -0.331126 +vn -0.910977 -0.313639 -0.267739 +vn -0.877224 -0.351726 -0.326640 +vn -0.870327 -0.294320 -0.394787 +vn -0.912229 -0.133488 -0.387280 +vn -0.914274 -0.183813 -0.360973 +vn -0.907743 -0.304331 -0.288675 +vn -0.886410 -0.355235 -0.296701 +vn -0.893551 -0.275918 -0.354137 +vn -0.852412 -0.298959 -0.428938 +vn -0.834651 -0.320811 -0.447676 +vn -0.893887 -0.053438 -0.445051 +vn -0.884030 0.071657 -0.461867 +vn -0.943999 0.050996 -0.325907 +vn -0.961241 -0.016358 -0.275124 +vn -0.949461 0.039064 -0.311350 +vn -0.929289 0.236976 -0.283242 +vn -0.886196 0.363292 -0.287454 +vn -0.850917 0.416150 -0.320444 +vn -0.861812 0.421033 -0.282815 +vn -0.838466 0.462142 -0.288675 +vn -0.823573 0.505722 -0.256813 +vn -0.726798 0.605152 -0.324809 +vn -0.039460 0.433119 -0.900449 +vn -0.009278 0.549699 -0.835292 +vn 0.045778 0.565691 -0.823328 +vn -0.903806 -0.423353 0.062258 +vn -0.981658 -0.190558 0.003235 +vn -0.921781 -0.373119 -0.105289 +vn -0.481918 -0.642140 -0.596149 +vn -0.969665 0.190619 -0.152898 +vn -0.920957 0.368633 -0.126072 +vn -0.957823 0.259224 -0.123753 +vn -0.984954 0.013916 -0.172216 +vn -0.938658 -0.263833 -0.221931 +vn -0.854030 -0.457442 -0.247627 +vn -0.676290 -0.662923 -0.321085 +vn -0.597919 -0.722953 -0.346049 +vn -0.911008 -0.396161 -0.114444 +vn -0.981658 0.103397 0.160131 +vn -0.590686 0.282998 -0.755608 +vn -0.566729 0.353526 -0.744163 +vn -0.989868 0.041749 -0.135533 +vn -0.965941 0.202643 0.160833 +vn 0.252968 0.827296 -0.501541 +vn -0.325816 0.550829 -0.768364 +vn -0.314432 0.502701 -0.805200 +vn -0.346629 0.496017 -0.796075 +vn -0.775170 0.238472 -0.584948 +vn -0.683981 0.373455 -0.626637 +vn -0.481429 0.522141 -0.703970 +vn -0.115085 0.692892 -0.711753 +vn -0.140294 0.722983 -0.676443 +vn -0.618549 0.490951 -0.613422 +vn -0.562395 0.291513 -0.773736 +vn 0.076205 0.633992 -0.769555 +vn 0.076662 0.652974 -0.753471 +vn -0.001434 0.760308 -0.649525 +vn -0.002228 -0.999695 0.024567 +vn 0.144383 0.696219 -0.703116 +vn 0.142003 0.671468 -0.727287 +vn 0.175512 0.434034 -0.883602 +vn -0.047914 0.773858 -0.631519 +vn 0.003052 0.716361 -0.697684 +vn -0.100986 0.731529 -0.674276 +vn -0.092349 0.756920 -0.646931 +vn -0.796289 -0.189245 -0.574511 +vn -0.874844 -0.185614 -0.447401 +vn -0.891812 -0.240516 -0.383099 +vn -0.865322 -0.306497 -0.396558 +vn -0.906644 -0.278298 -0.316996 +vn -0.935209 -0.293985 -0.197211 +vn -0.895138 -0.404340 -0.187658 +vn -0.929136 -0.311808 -0.198614 +vn -0.941252 -0.169195 -0.292215 +vn -0.923460 -0.181188 -0.338176 +vn -0.899380 -0.297342 -0.320353 +vn -0.894223 -0.359478 -0.266671 +vn -0.903470 -0.329875 -0.273568 +vn -0.860958 -0.366619 -0.352611 +vn -0.900021 -0.303842 -0.312387 +vn -0.939482 -0.124363 -0.319193 +vn -0.901669 0.053255 -0.429060 +vn -0.880398 0.135807 -0.454329 +vn -0.933256 0.021973 -0.358501 +vn -0.963286 0.052522 -0.263253 +vn -0.916745 0.206061 -0.342143 +vn -0.864162 0.340617 -0.370373 +vn -0.826197 0.354930 -0.437483 +vn -0.624622 0.687033 -0.371227 +vn 0.041658 -0.969512 -0.241432 +vn -0.976806 0.184545 -0.108463 +vn -0.916959 0.386670 -0.098056 +vn -0.968200 0.241707 -0.064302 +vn -0.993988 -0.027680 -0.105899 +vn -0.940855 -0.297739 -0.161565 +vn -0.805292 -0.528703 -0.268197 +vn -0.591266 -0.705649 -0.390393 +vn -0.719077 -0.624653 -0.304422 +vn -0.984527 -0.175176 -0.000061 +vn -0.958861 0.207495 0.193609 +vn 0.287851 0.758843 -0.584155 +vn 0.348369 0.689627 -0.634816 +vn 0.329630 0.626881 -0.705893 +vn 0.121921 0.854488 -0.504898 +vn 0.499039 0.486068 -0.717399 +vn -0.878750 0.000092 -0.477279 +vn -0.907224 0.260750 -0.329997 +vn -0.826136 -0.368053 -0.426588 +vn -0.749901 -0.570574 -0.334788 +vn -0.840358 0.406659 -0.358287 +vn -0.741752 0.541490 -0.395642 +vn -0.654439 0.631153 -0.416303 +vn -0.675619 0.629078 -0.384411 +vn -0.699301 0.581683 -0.415418 +vn 0.164495 0.735832 -0.656850 +vn 0.152959 0.680044 -0.717002 +vn -0.805536 -0.146611 -0.574084 +vn -0.832453 -0.136235 -0.537034 +vn -0.865963 -0.107089 -0.488479 +vn -0.906949 -0.115696 -0.404950 +vn -0.889035 -0.256020 -0.379498 +vn -0.890469 -0.280526 -0.358226 +vn -0.949095 -0.191076 -0.250343 +vn -0.938658 -0.273080 -0.210486 +vn -0.906583 -0.387371 -0.167364 +vn -0.910337 -0.358501 -0.206702 +vn -0.921842 -0.224097 -0.316111 +vn -0.922483 -0.187292 -0.337474 +vn -0.915311 -0.272408 -0.296518 +vn -0.904721 -0.338359 -0.258705 +vn -0.897214 -0.363903 -0.250099 +vn -0.877682 -0.378826 -0.293497 +vn -0.921537 -0.275491 -0.273537 +vn -0.963713 -0.133885 -0.230873 +vn -0.978271 0.003815 -0.207190 +vn -0.929807 0.108432 -0.351634 +vn -0.916898 0.090213 -0.388714 +vn -0.929807 0.055849 -0.363750 +vn -0.877132 0.113895 -0.466506 +vn -0.723075 0.221503 -0.654256 +vn -0.740349 0.138127 -0.657857 +vn 0.110080 0.739555 -0.663991 +vn 0.092288 0.772485 -0.628254 +vn 0.028047 -0.998291 0.051057 +vn 0.038362 -0.998535 0.037751 +vn 0.038484 -0.998535 0.037843 +vn 0.180181 0.611988 -0.770012 +vn 0.209998 0.650044 -0.730277 +vn 0.373699 0.422529 -0.825709 +vn 0.319254 0.524155 -0.789483 +vn -0.215247 0.581011 -0.784875 +vn -0.084933 0.618580 -0.781091 +vn -0.796686 -0.283639 0.533677 +vn -0.714438 -0.599811 0.360240 +vn -0.892056 -0.448469 -0.055452 +vn -0.517014 0.824702 -0.229225 +vn -0.314951 0.925962 -0.208167 +vn -0.978332 0.180395 -0.101382 +vn -0.915403 0.395459 -0.074801 +vn -0.964904 0.246529 -0.090243 +vn -0.989196 -0.066805 -0.130345 +vn -0.906796 -0.371990 -0.198279 +vn -0.710166 -0.623402 -0.327067 +vn -0.581866 -0.712149 -0.392712 +vn -0.845973 -0.481002 -0.230079 +vn -0.996307 0.013123 0.084536 +vn -0.935331 0.279489 0.216742 +vn 0.401257 0.385479 -0.830866 +vn -0.053194 0.795953 -0.602985 +vn -0.012696 0.761223 -0.648305 +vn -0.096286 0.762749 -0.639454 +vn 0.017212 0.687399 -0.726066 +vn 0.023530 0.609882 -0.792108 +vn 0.118259 0.701559 -0.702689 +vn 0.589251 0.489822 -0.642506 +vn 0.626514 0.456618 -0.631611 +vn 0.608112 0.408643 -0.680563 +vn -0.257973 0.794855 -0.549181 +vn -0.283120 0.836512 -0.469069 +vn -0.203986 0.841884 -0.499588 +vn 0.028382 0.514359 -0.857082 +vn 0.059084 0.500259 -0.863826 +vn -0.037385 0.465590 -0.884182 +vn 0.139683 0.427473 -0.893155 +vn -0.918332 0.263131 -0.295633 +vn -0.867550 0.401074 -0.293985 +vn -0.794855 0.521500 -0.310129 +vn -0.697043 0.613086 -0.371715 +vn -0.655629 0.608722 -0.446730 +vn -0.676321 0.561418 -0.476791 +vn -0.662709 0.598712 -0.449782 +vn -0.675069 -0.712790 0.190130 +vn -0.631001 -0.754204 0.181524 +vn -0.850429 -0.339885 -0.401502 +vn -0.861202 -0.323069 -0.392346 +vn -0.841548 -0.118839 -0.526902 +vn -0.887326 -0.097476 -0.450667 +vn -0.906400 -0.069521 -0.416639 +vn -0.904508 -0.103763 -0.413587 +vn -0.897000 -0.235237 -0.374187 +vn -0.935820 -0.207862 -0.284585 +vn -0.943937 -0.174383 -0.280251 +vn -0.904477 -0.271157 -0.329173 +vn -0.899258 -0.364605 -0.241554 +vn -0.916684 -0.375530 -0.136387 +vn -0.945738 -0.261452 -0.192846 +vn -0.946959 -0.191565 -0.257881 +vn -0.911344 -0.271218 -0.309610 +vn -0.897885 -0.326456 -0.295297 +vn -0.886227 -0.375408 -0.271340 +vn -0.912931 -0.355998 -0.199408 +vn -0.961913 -0.242103 -0.126743 +vn -0.978881 -0.126194 -0.160710 +vn -0.982208 -0.017273 -0.186865 +vn -0.957823 0.010895 -0.287088 +vn -0.912198 0.048921 -0.406751 +vn -0.851527 -0.039918 -0.522782 +vn -0.774499 -0.085971 -0.626667 +vn -0.698782 0.350230 -0.623707 +vn 0.347667 0.484024 -0.803003 +vn -0.117527 0.815149 -0.567156 +vn -0.049928 0.803888 -0.592639 +vn 0.232337 0.355541 -0.905301 +vn 0.193793 0.352184 -0.915616 +vn 0.212470 0.477859 -0.852321 +vn 0.015320 -0.023347 -0.999603 +vn -0.654714 0.361431 -0.663839 +vn -0.900540 0.430830 0.058107 +vn 0.058779 0.301767 -0.951537 +vn -0.978515 0.166692 -0.121158 +vn -0.915098 0.395795 -0.076907 +vn -0.970397 0.212683 -0.114170 +vn -0.978698 -0.113987 -0.170598 +vn -0.864650 -0.444380 -0.234199 +vn -0.624683 -0.684225 -0.376232 +vn -0.660329 -0.661245 -0.355876 +vn -0.958098 -0.278970 -0.064516 +vn -0.971435 0.151158 0.182806 +vn -0.957244 0.224311 0.182562 +vn -0.619953 0.782067 0.063112 +vn 0.149724 0.517167 -0.842647 +vn 0.114078 0.535752 -0.836604 +vn 0.095096 0.620228 -0.778588 +vn -0.006806 0.193518 -0.981048 +vn -0.146580 0.276467 -0.949767 +vn 0.092990 0.819178 -0.565905 +vn 0.211402 0.634510 -0.743400 +vn 0.260689 0.595630 -0.759758 +vn -0.001312 0.647206 -0.762291 +vn -0.071993 0.617969 -0.782861 +vn -0.038850 0.714316 -0.698721 +vn -0.100040 0.658223 -0.746117 +vn 0.007111 0.735710 -0.677236 +vn 0.243751 0.426801 -0.870846 +vn 0.282235 0.355907 -0.890866 +vn 0.208411 0.464248 -0.860805 +vn 0.372845 0.299264 -0.878292 +vn 0.341441 0.261391 -0.902799 +vn -0.816004 -0.229438 -0.530503 +vn -0.726035 -0.236030 -0.645863 +vn -0.786737 -0.238258 -0.569414 +vn -0.734519 0.312387 -0.602344 +vn -0.703970 0.415693 -0.575854 +vn -0.637471 0.469069 -0.611225 +vn -0.568163 0.466414 -0.677938 +vn -0.534867 0.458663 -0.709555 +vn -0.608539 0.513474 -0.604938 +vn -0.119449 0.139866 -0.982910 +vn -0.084872 0.250130 -0.964476 +vn -0.024903 0.259224 -0.965484 +vn 0.689810 0.433454 -0.579852 +vn 0.651479 0.460952 -0.602527 +vn 0.669088 0.428175 -0.607379 +vn -0.852138 -0.042970 -0.521531 +vn -0.881924 -0.049379 -0.468734 +vn -0.902097 -0.059542 -0.427320 +vn -0.879177 -0.115207 -0.462325 +vn -0.938108 -0.150731 -0.311777 +vn -0.945769 -0.207343 -0.249947 +vn -0.898831 -0.242958 -0.364757 +vn -0.902127 -0.223914 -0.368755 +vn -0.925993 -0.269906 -0.263955 +vn -0.929685 -0.344981 -0.128880 +vn -0.935179 -0.313639 -0.164312 +vn -0.932829 -0.264962 -0.244087 +vn -0.904843 -0.296030 -0.305887 +vn -0.904904 -0.304849 -0.296915 +vn -0.904141 -0.334819 -0.265267 +vn -0.928098 -0.304209 -0.214637 +vn -0.962310 -0.232917 -0.140141 +vn -0.967620 -0.165807 -0.190252 +vn -0.979430 -0.065493 -0.190680 +vn -0.894284 -0.115635 -0.432295 +vn -0.861965 -0.286782 -0.418012 +vn -0.839259 -0.053377 -0.541063 +vn -0.803766 -0.093936 -0.587420 +vn -0.813959 -0.144261 -0.562700 +vn -0.155004 0.939879 -0.304239 +vn 0.155156 0.750023 -0.642903 +vn 0.950957 0.268838 -0.152776 +vn 0.082369 -0.934049 -0.347423 +vn 0.140507 -0.367687 -0.919248 +vn -0.831538 -0.409680 0.375072 +vn -0.783532 -0.521714 0.337382 +vn -0.037172 -0.988372 0.147252 +vn 0.034364 -0.997467 0.062105 +vn 0.018860 -0.994568 0.102268 +vn -0.682699 -0.726371 -0.079196 +vn -0.882473 -0.461440 -0.090976 +vn 0.085513 0.383435 -0.919584 +vn -0.979369 0.164586 -0.117038 +vn -0.909330 0.403943 -0.099551 +vn -0.973937 0.197424 -0.111454 +vn -0.969543 -0.171209 -0.175024 +vn -0.785516 -0.542253 -0.298135 +vn -0.571764 -0.709342 -0.412152 +vn -0.814997 -0.521805 -0.251930 +vn -0.995239 -0.061708 0.075350 +vn -0.960204 0.214179 0.179235 +vn 0.040345 0.905393 -0.422620 +vn 0.080874 0.903287 -0.421277 +vn 0.083041 0.875759 -0.475478 +vn 0.041261 0.922788 -0.383038 +vn 0.082400 0.921201 -0.380200 +vn -0.027345 0.181707 -0.982940 +vn -0.188208 0.911130 -0.366588 +vn -0.171209 0.928343 -0.329905 +vn 0.189001 0.812311 -0.551714 +vn 0.239540 0.801569 -0.547777 +vn 0.163671 0.770074 -0.616596 +vn 0.236488 0.759606 -0.605853 +vn -0.003998 0.642323 -0.766381 +vn -0.078555 0.638813 -0.765313 +vn 0.145360 0.426038 -0.892911 +vn 0.236671 0.522507 -0.819086 +vn 0.146031 0.490158 -0.859310 +vn 0.094028 0.561144 -0.822321 +vn -0.870266 -0.303751 0.387738 +vn -0.820978 0.203314 -0.533464 +vn -0.741935 0.350963 -0.571215 +vn -0.671041 0.431654 -0.602771 +vn -0.658711 0.454909 -0.599231 +vn -0.622089 0.493393 -0.607898 +vn -0.524186 -0.427778 0.736320 +vn -0.652211 0.623646 -0.430860 +vn -0.217078 0.856746 -0.467788 +vn -0.903165 -0.016266 -0.428968 +vn -0.867641 -0.041475 -0.495437 +vn -0.868923 -0.062075 -0.490982 +vn -0.911710 -0.026734 -0.409894 +vn -0.949248 -0.041108 -0.311777 +vn -0.921964 -0.250649 -0.295114 +vn -0.905240 -0.276650 -0.322398 +vn -0.913663 -0.208625 -0.348766 +vn -0.899747 -0.224647 -0.374065 +vn -0.893094 -0.310129 -0.325846 +vn -0.935392 -0.288919 -0.203772 +vn -0.928312 -0.302438 -0.216193 +vn -0.919523 -0.313639 -0.236793 +vn -0.905301 -0.322214 -0.276711 +vn -0.889584 -0.329905 -0.315897 +vn -0.909879 -0.257271 -0.325388 +vn -0.933958 -0.211035 -0.288308 +vn -0.974151 -0.117496 -0.192785 +vn -0.969481 -0.174718 -0.171880 +vn -0.354534 0.674337 -0.647694 +vn 0.401288 0.289651 -0.868923 +vn 0.382763 0.238197 -0.892575 +vn 0.319834 0.279946 -0.905148 +vn -0.182287 0.801599 -0.569353 +vn 0.657735 0.158635 -0.736320 +vn -0.372631 0.721366 -0.583728 +vn -0.258858 0.762261 -0.593188 +vn -0.294351 0.804743 -0.515427 +vn -0.328959 0.762535 -0.557024 +vn -0.326609 0.773370 -0.543290 +vn -0.382519 0.739616 -0.553728 +vn -0.904660 -0.181646 0.385388 +vn -0.938994 -0.040345 0.341533 +vn -0.677938 -0.564440 -0.470931 +vn -0.697867 -0.584765 -0.413465 +vn -0.656392 -0.623707 -0.424390 +vn -0.692923 -0.711661 -0.115665 +vn -0.882565 -0.458052 -0.105991 +vn -0.978545 0.166478 -0.121189 +vn -0.907712 0.407025 -0.101810 +vn -0.978484 0.164556 -0.124210 +vn -0.932249 -0.275460 -0.234443 +vn -0.659474 -0.636799 -0.399396 +vn -0.651448 -0.654683 -0.383343 +vn -0.933683 -0.319895 -0.160710 +vn -0.992615 0.073458 0.096316 +vn -0.949797 0.255226 0.180792 +vn -0.505783 -0.805536 -0.308573 +vn -0.503342 -0.768883 -0.394208 +vn 0.453505 -0.890957 -0.022675 +vn 0.418928 -0.907712 0.023316 +vn 0.425611 -0.904843 -0.007752 +vn -0.365703 0.667684 -0.648396 +vn -0.399731 0.653371 -0.642872 +vn 0.007965 0.581347 -0.813593 +vn -0.055422 0.587817 -0.807062 +vn 0.227638 0.471084 -0.852168 +vn -0.187933 0.903928 -0.384167 +vn -0.194830 0.884243 -0.424390 +vn -0.126957 0.858028 -0.497604 +vn -0.712668 0.237892 -0.659902 +vn -0.704764 0.207648 -0.678335 +vn -0.683950 0.093081 -0.723533 +vn -0.704672 0.352580 -0.615680 +vn -0.619739 0.574755 -0.534349 +vn -0.679159 0.435438 -0.590808 +vn -0.952361 0.022797 0.304056 +vn 0.054964 -0.965758 -0.253456 +vn 0.112186 -0.508316 -0.853816 +vn -0.902463 0.253517 -0.348216 +vn -0.858303 0.394787 -0.327769 +vn -0.814722 0.481582 -0.322855 +vn -0.767174 0.549455 -0.330943 +vn -0.762719 0.581072 -0.283853 +vn -0.670675 0.678915 -0.298746 +vn 0.472793 0.489883 -0.732383 +vn 0.335856 0.394055 -0.855495 +vn -0.383129 0.871364 -0.306406 +vn -0.293954 0.918485 -0.264504 +vn -0.590960 0.728202 -0.347056 +vn -0.905026 0.192602 -0.379162 +vn -0.944395 -0.062014 -0.322855 +vn -0.916257 -0.093448 -0.389447 +vn -0.931455 0.004028 -0.363750 +vn -0.950072 0.018281 -0.311472 +vn -0.908383 -0.080172 -0.410352 +vn -0.907620 -0.222022 -0.356243 +vn -0.915189 -0.272561 -0.296823 +vn -0.919462 -0.243721 -0.308451 +vn -0.888607 -0.246254 -0.386883 +vn -0.905240 -0.232521 -0.355571 +vn -0.929472 -0.245216 -0.275552 +vn -0.891537 -0.316904 -0.323588 +vn -0.905942 -0.309610 -0.288736 +vn -0.886258 -0.347270 -0.306497 +vn -0.886654 -0.339366 -0.314035 +vn -0.890316 -0.258827 -0.374554 +vn -0.916257 -0.150456 -0.371197 +vn -0.960051 0.078890 0.268349 +vn -0.956145 0.172491 0.236610 +vn -0.937315 0.256203 0.236152 +vn -0.920957 0.314249 0.230354 +vn -0.897427 0.389966 0.206183 +vn -0.870663 0.456923 0.181951 +vn -0.841762 0.519181 0.147771 +vn -0.852809 0.499771 0.151311 +vn -0.566637 -0.704764 -0.426832 +vn -0.713889 -0.688864 -0.125675 +vn -0.891934 -0.445082 -0.079531 +vn -0.980316 0.158849 -0.116977 +vn -0.909665 0.411695 -0.054262 +vn -0.984466 0.115970 -0.131718 +vn -0.859798 -0.426344 -0.280953 +vn -0.567980 -0.698355 -0.435469 +vn -0.783898 -0.547594 -0.292550 +vn -0.992248 -0.123997 -0.007019 +vn -0.977020 0.166051 0.133549 +vn -0.929197 0.305368 0.208075 +vn -0.902615 0.060549 -0.426160 +vn -0.898465 0.114902 -0.423688 +vn 0.090335 0.881954 -0.462539 +vn -0.052309 0.723685 -0.688101 +vn -0.071139 0.688253 -0.721946 +vn 0.039033 0.753105 -0.656697 +vn 0.065950 0.734825 -0.675008 +vn 0.056856 0.715567 -0.696188 +vn 0.384350 -0.325938 -0.863704 +vn 0.613819 -0.517808 -0.595874 +vn -0.703360 0.192633 -0.684225 +vn -0.718894 0.279061 -0.636616 +vn -0.688192 0.524705 -0.501022 +vn -0.713340 0.400372 -0.575152 +vn -0.952574 0.255348 0.165471 +vn -0.965087 0.137028 -0.223151 +vn -0.939665 0.272927 -0.206183 +vn -0.882077 0.415296 -0.222388 +vn -0.854091 0.483627 -0.191351 +vn -0.787469 0.557024 -0.263771 +vn -0.750877 0.604053 -0.266884 +vn -0.697256 0.677236 -0.234870 +vn -0.469680 0.857753 -0.208747 +vn -0.394177 0.883724 -0.252205 +vn -0.753136 -0.656423 -0.042817 +vn -0.543718 0.742332 -0.391430 +vn -0.931211 0.309061 -0.193152 +vn -0.982513 -0.068392 -0.173070 +vn -0.968932 -0.106784 -0.222968 +vn -0.964690 -0.000793 -0.263283 +vn -0.920621 -0.058107 -0.386029 +vn -0.912503 -0.082430 -0.400586 +vn -0.926969 -0.160070 -0.339244 +vn -0.922849 -0.252663 -0.290597 +vn -0.897610 -0.288064 -0.333567 +vn -0.901303 -0.256478 -0.349010 +vn -0.920743 -0.215064 -0.325480 +vn -0.878567 -0.286294 -0.382214 +vn -0.911893 -0.272225 -0.307138 +vn -0.875820 -0.322214 -0.359264 +vn -0.833094 -0.346202 -0.431318 +vn -0.034211 0.795923 -0.604419 +vn -0.083193 0.821070 -0.564684 +vn -0.012299 0.632069 -0.774773 +vn 0.126347 0.675405 -0.726524 +vn -0.100803 0.667409 -0.737815 +vn 0.067171 0.830103 -0.553514 +vn 0.077975 0.834071 -0.546098 +vn 0.007447 0.774224 -0.632862 +vn -0.974700 -0.178869 0.133793 +vn -0.904294 -0.424360 0.045900 +vn -0.906644 -0.420972 0.027436 +vn -0.963469 -0.265694 0.033448 +vn -0.923124 0.362560 0.127934 +vn 0.183203 -0.266579 -0.946226 +vn 0.066652 -0.870632 -0.487350 +vn 0.156804 -0.180731 -0.970946 +vn -0.740257 -0.657155 -0.141942 +vn -0.875881 -0.464614 -0.130100 +vn -0.974731 0.187719 -0.120792 +vn -0.918943 0.393139 -0.031007 +vn -0.986236 0.006928 -0.165136 +vn -0.745201 -0.562243 -0.358470 +vn -0.620899 -0.674947 -0.398602 +vn -0.916318 -0.364330 -0.166112 +vn -0.995117 0.013031 0.097720 +vn -0.966582 0.205817 0.152684 +vn -0.788385 -0.524308 0.321726 +vn -0.421461 0.786096 -0.452071 +vn -0.676931 -0.078646 -0.731803 +vn -0.690909 0.261940 -0.673788 +vn 0.798425 0.094150 -0.594653 +vn 0.881832 -0.052370 -0.468612 +vn -0.736290 0.328593 -0.591510 +vn -0.726310 0.431135 -0.535325 +vn -0.689932 0.589373 -0.420270 +vn -0.484390 0.782922 -0.390332 +vn -0.754479 0.575488 -0.315470 +vn -0.974395 0.156774 -0.161077 +vn -0.948027 0.295999 -0.116550 +vn -0.908322 0.411634 -0.073733 +vn -0.864559 0.491989 -0.102145 +vn -0.843562 0.528062 -0.097415 +vn -0.789941 0.589557 -0.168401 +vn -0.703269 0.668386 -0.242073 +vn 0.864711 -0.005860 -0.502213 +vn -0.456801 0.815088 -0.356304 +vn -0.888363 0.395184 -0.233680 +vn -0.973449 -0.105960 -0.202734 +vn -0.974914 -0.124882 -0.184057 +vn -0.966277 -0.082736 -0.243751 +vn -0.952818 -0.090396 -0.289651 +vn -0.940825 -0.067171 -0.332133 +vn -0.924741 -0.161412 -0.344554 +vn -0.888272 -0.279733 -0.364269 +vn -0.882077 -0.287851 -0.372906 +vn -0.912717 -0.219520 -0.344523 +vn -0.891140 -0.243233 -0.382946 +vn -0.913511 -0.238655 -0.329356 +vn -0.904965 -0.292154 -0.309275 +vn -0.831294 -0.393475 -0.392560 +vn -0.067751 0.844874 -0.530595 +vn -0.308329 0.235694 -0.921598 +vn -0.347697 0.249001 -0.903928 +vn -0.372784 0.327219 -0.868282 +vn -0.171178 0.069582 -0.982757 +vn -0.425947 -0.004822 -0.904721 +vn -0.007935 0.630970 -0.775719 +vn -0.031526 0.615345 -0.787591 +vn -0.023286 0.543107 -0.839320 +vn -0.573229 0.749260 -0.331645 +vn -0.789148 0.591754 -0.164403 +vn -0.974853 0.212317 0.067537 +vn -0.770714 -0.620502 -0.144688 +vn -0.727317 -0.662343 -0.179540 +vn -0.896634 -0.421430 -0.135594 +vn -0.967284 0.232276 -0.101810 +vn -0.928343 0.363781 -0.076296 +vn -0.959563 -0.162725 -0.229652 +vn -0.608539 -0.664327 -0.433912 +vn -0.778863 -0.563524 -0.275277 +vn -0.984954 -0.171911 -0.016602 +vn -0.988495 0.093326 0.118809 +vn 0.053682 0.568316 -0.821039 +vn 0.109043 0.482192 -0.869228 +vn 0.062716 0.589496 -0.805322 +vn -0.218543 0.238166 -0.946287 +vn -0.190619 0.241462 -0.951476 +vn -0.199561 0.398053 -0.895383 +vn -0.705771 0.317820 -0.633137 +vn -0.731742 0.372753 -0.570574 +vn -0.725761 0.485519 -0.487320 +vn -0.702109 0.588885 -0.400250 +vn -0.350780 0.910306 -0.219703 +vn -0.574847 0.815851 -0.062319 +vn -0.950713 0.175848 -0.255318 +vn -0.910215 0.343608 -0.231117 +vn -0.898618 0.422376 -0.118442 +vn -0.867946 0.482437 -0.117832 +vn -0.838374 0.531449 -0.121036 +vn -0.818903 0.562181 -0.115360 +vn -0.751793 0.642781 -0.146916 +vn -0.553697 0.812677 -0.181555 +vn -0.062471 -0.836634 0.544145 +vn -0.523728 0.845210 -0.106296 +vn -0.800226 0.496445 -0.336344 +vn -0.970855 -0.059206 -0.232154 +vn -0.983276 -0.111759 -0.143742 +vn -0.970122 -0.127415 -0.206427 +vn -0.967071 -0.123417 -0.222419 +vn -0.931150 -0.130009 -0.340587 +vn -0.901395 -0.183020 -0.392376 +vn -0.876370 -0.282479 -0.390057 +vn -0.880215 -0.275185 -0.386578 +vn -0.893277 -0.242317 -0.378582 +vn -0.873653 -0.237159 -0.424757 +vn -0.903226 -0.195532 -0.381970 +vn -0.806543 -0.342845 -0.481521 +vn 0.011780 0.550401 -0.834803 +vn -0.952178 -0.305429 -0.000610 +vn -0.043336 -0.998535 0.031861 +vn 0.021210 -0.999725 0.006745 +vn -0.962340 0.268532 0.041536 +vn 0.558672 -0.743492 0.367504 +vn -0.777947 -0.601947 -0.180090 +vn -0.734092 -0.653249 -0.185247 +vn -0.912076 -0.391064 -0.123142 +vn -0.962401 0.265175 -0.058657 +vn -0.941923 0.335093 -0.021821 +vn -0.921751 -0.327494 -0.207587 +vn -0.644795 -0.684835 -0.339427 +vn -0.898862 -0.416120 -0.137242 +vn -0.996124 -0.055361 0.068178 +vn -0.982116 0.137272 0.128666 +vn -0.455184 0.839595 -0.296365 +vn -0.982727 0.176061 -0.056520 +vn 0.013276 0.869106 -0.494400 +vn 0.095462 0.841029 -0.532487 +vn 0.089541 0.800470 -0.592578 +vn -0.731742 0.414624 -0.540910 +vn -0.697562 0.388897 -0.601733 +vn -0.723991 0.490158 -0.485305 +vn -0.738823 0.525437 -0.421888 +vn -0.928281 0.155889 -0.337535 +vn -0.933164 0.136631 -0.332408 +vn -0.978301 0.053896 -0.200018 +vn -0.870754 0.330851 -0.363659 +vn -0.812738 0.455947 -0.362651 +vn -0.842280 0.457472 -0.285043 +vn -0.807398 0.511948 -0.293222 +vn -0.786920 0.563555 -0.251259 +vn -0.752770 0.624958 -0.206702 +vn -0.687582 0.221961 -0.691336 +vn -0.681448 0.288339 -0.672628 +vn -0.723930 0.281930 -0.629597 +vn -0.815790 0.527665 -0.236702 +vn -0.965331 0.040986 -0.257729 +vn -0.983215 -0.107974 -0.147038 +vn -0.981201 -0.140538 -0.132054 +vn -0.969573 -0.182348 -0.163274 +vn -0.940794 -0.203711 -0.270821 +vn -0.920865 -0.217841 -0.323252 +vn -0.908628 -0.286477 -0.303781 +vn -0.918271 -0.261971 -0.296793 +vn -0.913602 -0.269997 -0.303995 +vn -0.866207 -0.267159 -0.422193 +vn -0.838557 -0.263558 -0.476760 +vn -0.065767 0.777795 -0.625019 +vn 0.649007 0.159429 -0.743858 +vn 0.572344 0.153813 -0.805444 +vn 0.575335 0.153844 -0.803278 +vn 0.604663 0.243721 -0.758263 +vn 0.522935 0.570208 -0.633503 +vn 0.241432 0.040040 -0.969573 +vn 0.138524 0.553056 -0.821497 +vn 0.220923 0.519974 -0.825098 +vn 0.213569 0.594806 -0.774957 +vn 0.202063 0.090274 -0.975188 +vn -0.008087 -0.998657 0.050996 +vn -0.867489 0.480667 0.128086 +vn -0.838710 0.517014 0.171026 +vn -0.975616 0.214301 0.046876 +vn 0.156835 -0.014588 -0.987487 +vn 0.136082 -0.028901 -0.990265 +vn 0.191076 0.070009 -0.979064 +vn 0.362468 0.189093 -0.912595 +vn -0.894436 0.383770 0.229408 +vn -0.339824 0.914609 -0.219031 +vn -0.882809 0.436415 0.173711 +vn -0.773980 -0.592914 -0.222175 +vn -0.756462 -0.627430 -0.184515 +vn -0.942595 -0.315195 -0.110050 +vn -0.952361 0.304941 0.000183 +vn -0.960265 0.275460 -0.044099 +vn -0.812830 -0.510178 -0.280984 +vn -0.735923 -0.632771 -0.240852 +vn -0.957945 -0.276223 -0.077334 +vn -0.995300 0.032472 0.091098 +vn -0.975280 0.166753 0.144871 +vn -0.246864 0.120060 -0.961547 +vn -0.061525 0.285073 -0.956511 +vn -0.659352 0.352428 -0.664083 +vn -0.698202 0.451857 -0.555223 +vn -0.730461 0.471206 -0.494308 +vn -0.679037 0.643025 -0.354076 +vn 0.506577 0.803827 -0.311747 +vn -0.926450 0.160741 -0.340312 +vn -0.935911 0.182134 -0.301401 +vn -0.918210 0.272164 -0.287637 +vn -0.831050 0.430708 -0.351848 +vn -0.793970 0.480697 -0.372143 +vn -0.800775 0.496231 -0.335398 +vn -0.750359 0.557115 -0.355724 +vn -0.712882 0.614307 -0.338145 +vn -0.841578 0.493851 -0.218696 +vn -0.982879 0.084567 -0.163579 +vn -0.984344 -0.074801 -0.159490 +vn -0.990112 -0.114994 -0.080233 +vn -0.956847 -0.250343 -0.147496 +vn -0.943510 -0.250740 -0.216559 +vn -0.951506 -0.216926 -0.218024 +vn -0.935179 -0.290078 -0.203101 +vn -0.935148 -0.280404 -0.216468 +vn -0.852992 -0.367077 -0.370952 +vn 0.100558 0.789544 -0.605365 +vn 0.171087 0.754692 -0.633351 +vn 0.120945 0.917570 -0.378643 +vn 0.018006 0.887417 -0.460555 +vn -0.014313 0.871242 -0.490616 +vn 0.061373 0.864254 -0.499252 +vn -0.082522 0.711722 -0.697562 +vn -0.010102 0.722892 -0.690848 +vn 0.085391 0.793664 -0.602283 +vn 0.602252 0.236488 -0.762444 +vn 0.137608 0.394971 -0.908322 +vn 0.031526 0.432112 -0.901242 +vn 0.182043 0.431471 -0.883541 +vn 0.047151 0.892117 -0.449263 +vn 0.135624 0.881771 -0.451704 +vn 0.081881 0.833247 -0.546770 +vn -0.011963 0.412458 -0.910886 +vn -0.023591 0.459853 -0.887661 +vn -0.066500 0.409803 -0.909726 +vn -0.086612 0.307382 -0.947630 +vn 0.031465 0.169134 -0.985076 +vn 0.535997 0.477401 -0.696249 +vn 0.535447 0.367229 -0.760521 +vn 0.483200 0.404096 -0.776635 +vn 0.018342 -0.983764 0.178381 +vn 0.084323 -0.939055 0.333232 +vn -0.576373 -0.605670 -0.548540 +vn -0.653951 0.283486 -0.701376 +vn -0.049196 0.493759 -0.868191 +vn -0.064669 0.311563 -0.947996 +vn -0.556871 -0.789666 0.257485 +vn 0.072848 -0.072420 -0.994690 +vn 0.231513 0.070406 -0.970275 +vn 0.122318 -0.106784 -0.986724 +vn -0.028321 -0.998871 0.037721 +vn -0.788903 -0.583636 -0.192175 +vn -0.782098 -0.603961 -0.153264 +vn -0.966674 -0.240547 -0.087497 +vn -0.939695 0.341563 0.016236 +vn -0.993164 0.106784 -0.047060 +vn -0.695334 -0.629048 -0.347514 +vn -0.826289 -0.534043 -0.178961 +vn -0.988769 -0.147649 0.021607 +vn -0.989776 0.089602 0.110904 +vn 0.467940 0.329753 -0.819910 +vn -0.769341 0.589251 -0.246712 +vn -0.654836 0.435408 -0.617695 +vn -0.625843 0.339854 -0.701956 +vn -0.628376 0.250221 -0.736534 +vn -0.681478 0.505692 -0.528947 +vn -0.651540 0.483566 -0.584460 +vn -0.720115 0.538774 -0.437147 +vn -0.939543 0.181616 -0.290201 +vn -0.944456 0.192602 -0.266182 +vn -0.920774 0.295785 -0.254219 +vn -0.883328 0.402753 -0.239753 +vn -0.814020 0.497818 -0.299203 +vn -0.820795 0.502365 -0.271828 +vn -0.789300 0.539872 -0.292428 +vn -0.759178 0.586871 -0.281350 +vn -0.964476 0.112674 -0.238899 +vn -0.944365 -0.082400 -0.318369 +vn -0.937101 -0.121158 -0.327250 +vn -0.931059 -0.250404 -0.265297 +vn -0.952971 -0.239448 -0.185705 +vn -0.935392 -0.236305 -0.262978 +vn -0.834162 -0.321390 -0.448164 +vn -0.901639 -0.282113 -0.327738 +vn 0.025910 0.697623 -0.715964 +vn 0.033692 0.654042 -0.755699 +vn 0.066561 0.696951 -0.714011 +vn -0.602741 0.559862 -0.568499 +vn 0.047304 0.755028 -0.653981 +vn -0.011475 0.808039 -0.589007 +vn 0.205084 0.862453 -0.462691 +vn 0.179998 0.851924 -0.491714 +vn -0.111911 0.354991 -0.928129 +vn -0.314524 0.645497 -0.695944 +vn -0.116733 0.700522 -0.703970 +vn -0.046236 0.685141 -0.726920 +vn -0.006256 0.663839 -0.747826 +vn -0.043733 0.659413 -0.750481 +vn -0.006806 0.584460 -0.811365 +vn -0.114719 0.674490 -0.729270 +vn 0.048097 0.495926 -0.867000 +vn -0.061159 0.502823 -0.862209 +vn -0.080630 0.609699 -0.788476 +vn -0.288430 0.903470 -0.316965 +vn -0.297098 0.877194 -0.377117 +vn -0.307871 0.875820 -0.371624 +vn 0.014100 0.802850 -0.595996 +vn 0.074374 0.749443 -0.657826 +vn 0.007263 0.823603 -0.567095 +vn 0.148839 0.772820 -0.616871 +vn 0.080630 -0.678793 0.729850 +vn 0.185583 -0.745842 0.639699 +vn -0.790002 -0.597339 -0.137944 +vn -0.795434 -0.582873 -0.165777 +vn -0.981811 -0.174078 -0.075503 +vn -0.911344 0.400311 0.095553 +vn -0.989013 -0.097232 -0.111148 +vn -0.700003 -0.657033 -0.279763 +vn -0.920316 -0.384594 -0.071200 +vn -0.991699 -0.075442 0.103977 +vn -0.690359 -0.665029 0.284738 +vn -0.588366 0.369335 -0.719291 +vn -0.660817 0.530076 -0.531297 +vn -0.640950 0.418683 -0.643300 +vn -0.670339 0.577624 -0.465773 +vn -0.943144 0.249702 -0.219245 +vn -0.974548 0.152318 -0.164281 +vn -0.918058 0.318064 -0.236579 +vn -0.898953 0.380016 -0.217719 +vn -0.841365 0.457747 -0.287210 +vn -0.787561 0.524064 -0.324107 +vn -0.798669 0.543046 -0.259194 +vn -0.746910 0.612201 -0.259407 +vn -0.670858 0.690542 -0.270272 +vn -0.774590 0.579608 -0.252998 +vn -0.919675 0.068941 -0.386547 +vn -0.910001 -0.118900 -0.397137 +vn -0.918973 -0.081118 -0.385815 +vn -0.949889 -0.146855 -0.275887 +vn -0.944823 -0.253365 -0.207495 +vn -0.876919 -0.393353 -0.276162 +vn -0.949126 -0.113559 -0.293619 +vn 0.613178 0.354808 -0.705741 +vn 0.565905 0.196204 -0.800775 +vn -0.016297 0.875240 -0.483352 +vn 0.232704 0.536271 -0.811304 +vn 0.171880 0.447462 -0.877621 +vn 0.135624 0.679922 -0.720603 +vn 0.004944 0.493698 -0.869594 +vn 0.252449 0.510605 -0.821894 +vn 0.629536 0.147923 -0.762719 +vn -0.020173 0.729514 -0.683645 +vn 0.446974 0.560350 -0.697256 +vn 0.365246 0.609333 -0.703726 +vn -0.204291 0.931486 -0.300882 +vn -0.313578 0.563189 -0.764489 +vn -0.328166 0.568377 -0.754448 +vn 0.357952 0.764428 -0.536149 +vn 0.354076 0.775811 -0.522202 +vn 0.285592 0.841060 -0.459395 +vn 0.089084 0.550645 -0.829951 +vn -0.009369 0.725059 -0.688620 +vn 0.074160 0.731346 -0.677908 +vn 0.086001 0.717368 -0.691336 +vn -0.020417 0.896878 -0.441786 +vn -0.036500 0.889248 -0.455885 +vn -0.195410 0.655812 -0.729179 +vn 0.009033 0.965239 -0.261086 +vn 0.094821 0.958373 -0.269204 +vn -0.397778 0.585192 -0.706595 +vn -0.370891 0.485733 -0.791498 +vn 0.047456 0.391705 -0.918851 +vn 0.049135 0.156713 -0.986389 +vn 0.425581 0.469161 -0.773766 +vn 0.395367 0.498306 -0.771569 +vn 0.369854 0.479263 -0.795892 +vn 0.475387 0.416395 -0.774957 +vn 0.099887 0.150426 -0.983551 +vn 0.037751 0.448897 -0.892758 +vn 0.012848 -0.999847 -0.009491 +vn -0.756645 -0.630421 -0.173315 +vn -0.826228 -0.540086 -0.160100 +vn -0.998810 -0.038057 -0.029695 +vn -0.928739 0.363475 0.072573 +vn -0.938566 -0.247810 -0.240059 +vn -0.776513 -0.601123 -0.188788 +vn -0.967834 -0.249916 -0.028504 +vn -0.994995 -0.027497 0.095981 +vn 0.008484 -0.690603 0.723136 +vn -0.631519 0.594440 -0.497787 +vn -0.626667 0.489151 -0.606616 +vn -0.672262 0.640278 -0.371593 +vn -0.994812 0.091769 0.043794 +vn -0.951231 0.245460 -0.186712 +vn -0.877865 0.375439 -0.297281 +vn -0.889096 0.398114 -0.225715 +vn -0.800745 0.503128 -0.324961 +vn -0.765160 0.551103 -0.332804 +vn -0.744774 0.595019 -0.301981 +vn -0.945280 -0.062960 -0.320078 +vn 0.263741 0.523453 -0.810175 +vn 0.260231 0.494583 -0.829218 +vn 0.211737 0.518418 -0.828455 +vn -0.063631 0.959441 -0.274514 +vn -0.135533 0.944975 -0.297647 +vn -0.052675 0.957884 -0.282235 +vn -0.195685 0.641255 -0.741935 +vn -0.029939 0.545244 -0.837703 +vn -0.218055 0.891903 -0.396100 +vn -0.191473 0.838313 -0.510392 +vn 0.403729 0.735099 -0.544633 +vn 0.148350 0.861232 -0.486007 +vn 0.204566 0.846187 -0.492019 +vn 0.149724 0.900723 -0.407727 +vn 0.489914 0.054140 -0.870083 +vn 0.460067 0.011963 -0.887783 +vn 0.574633 0.078249 -0.814631 +vn 0.491775 0.073977 -0.867550 +vn 0.533860 0.023652 -0.845210 +vn 0.037416 0.721152 -0.691733 +vn 0.011902 0.847621 -0.530442 +vn 0.093844 0.436659 -0.894681 +vn 0.129826 0.656728 -0.742821 +vn 0.000031 0.593005 -0.805170 +vn -0.142338 0.642079 -0.753258 +vn -0.066378 0.514512 -0.854885 +vn 0.105991 -0.044130 -0.993378 +vn 0.114536 0.039644 -0.992615 +vn 0.204199 -0.978912 -0.005005 +vn 0.053011 -0.998474 -0.014618 +vn -0.712210 -0.411328 -0.568804 +vn -0.738334 -0.276742 -0.615009 +vn -0.661519 -0.215369 -0.718314 +vn 0.130680 -0.990783 -0.035279 +vn 0.156468 -0.987335 0.025452 +vn 0.117222 -0.993072 -0.003845 +vn -0.663625 0.008881 -0.747978 +vn -0.714743 -0.036164 -0.698416 +vn -0.701590 0.005921 -0.712546 +vn -0.203681 0.792169 -0.575274 +vn -0.159398 0.796411 -0.583331 +vn -0.198096 0.695853 -0.690298 +vn 0.001556 0.711447 -0.702719 +vn -0.190832 0.910001 -0.367992 +vn -0.158635 0.703421 -0.692801 +vn -0.175420 0.582141 -0.793908 +vn -0.232643 0.915250 -0.328898 +vn -0.187719 0.921537 -0.339854 +vn -0.220191 0.906247 -0.360790 +vn 0.183599 0.707083 -0.682852 +vn 0.247047 0.614856 -0.748924 +vn 0.098086 0.738182 -0.667379 +vn 0.199133 0.585803 -0.785577 +vn 0.138371 0.654866 -0.742943 +vn 0.468886 0.142277 -0.871700 +vn 0.403302 0.267556 -0.875057 +vn -0.831477 -0.513627 0.211585 +vn -0.767937 -0.599231 -0.226203 +vn -0.766808 -0.623127 -0.153813 +vn -0.859828 -0.496170 -0.120273 +vn -0.997711 0.065249 -0.016541 +vn -0.958373 0.269845 0.093234 +vn -0.916715 -0.332560 -0.221412 +vn -0.859828 -0.503037 -0.087222 +vn -0.979217 -0.184271 0.084628 +vn -0.992706 0.039979 0.113468 +vn -0.626118 0.644429 -0.438887 +vn -0.141362 0.359569 -0.922330 +vn -0.056887 0.279977 -0.958312 +vn 0.001312 0.302133 -0.953246 +vn -0.864101 0.444746 -0.235511 +vn -0.788049 0.537370 -0.300241 +vn 0.024720 -0.988708 0.147618 +vn -0.730094 0.592242 -0.340831 +vn 0.045015 -0.998840 -0.015534 +vn 0.325175 0.699118 -0.636769 +vn 0.289407 0.657308 -0.695791 +vn 0.023347 0.711722 -0.702048 +vn -0.065188 0.724723 -0.685934 +vn 0.021302 0.744011 -0.667806 +vn 0.604938 0.213172 -0.767174 +vn 0.014252 0.915891 -0.401135 +vn 0.294717 0.684530 -0.666707 +vn 0.148350 0.878140 -0.454756 +vn 0.184881 0.878018 -0.441450 +vn -0.134739 0.244697 -0.960173 +vn -0.180486 0.243782 -0.952879 +vn 0.086673 0.541124 -0.836421 +vn 0.087497 0.551286 -0.829707 +vn 0.360057 0.564501 -0.742729 +vn 0.322306 0.595019 -0.736229 +vn 0.348491 0.518052 -0.781091 +vn -0.718101 -0.408277 -0.563555 +vn -0.683615 -0.424696 -0.593493 +vn -0.714805 -0.413007 -0.564318 +vn -0.735954 -0.300027 -0.606891 +vn -0.755455 -0.172063 -0.632160 +vn -0.756371 -0.067049 -0.650655 +vn -0.735069 -0.024873 -0.677480 +vn -0.696554 -0.000610 -0.717460 +vn -0.744163 -0.000366 -0.667959 +vn -0.697104 -0.022004 -0.716605 +vn -0.622547 -0.009766 -0.782495 +vn -0.732261 -0.028840 -0.680380 +vn -0.663381 0.020692 -0.747948 +vn -0.727439 -0.004761 -0.686117 +vn -0.575701 0.115696 -0.809412 +vn -0.699240 0.058779 -0.712424 +vn -0.590381 -0.417859 -0.690512 +vn -0.012757 -0.997772 0.065401 +vn 0.004089 -0.999939 -0.009949 +vn -0.001923 -0.997284 0.073580 +vn -0.647175 0.193426 -0.737358 +vn 0.522965 0.670766 -0.525864 +vn 0.380902 0.846492 -0.371868 +vn 0.381512 0.824976 -0.416913 +vn 0.001251 0.928983 -0.370037 +vn 0.021149 0.929868 -0.367260 +vn -0.016785 0.890591 -0.454451 +vn 0.145543 0.368023 -0.918332 +vn -0.031007 0.803522 -0.594440 +vn -0.208106 0.557573 -0.803583 +vn -0.210059 0.589007 -0.780297 +vn 0.185064 0.597064 -0.780541 +vn 0.143010 0.463515 -0.874447 +vn 0.111270 0.622395 -0.774712 +vn -0.716971 -0.672597 0.183081 +vn -0.753136 -0.634785 0.172643 +vn -0.811426 -0.540422 -0.222449 +vn -0.777703 -0.602557 -0.178991 +vn -0.887997 -0.437757 -0.140690 +vn -0.987823 0.155400 -0.003784 +vn -0.989990 0.140690 -0.009033 +vn -0.818659 -0.520249 -0.243080 +vn -0.919004 -0.388073 -0.068972 +vn 0.709861 0.384686 -0.589984 +vn -0.615741 0.525010 -0.587512 +vn -0.047639 0.987030 -0.153233 +vn -0.629871 0.693808 -0.349101 +vn -0.609516 0.633259 -0.476882 +vn -0.571886 0.487686 -0.659566 +vn 0.189276 0.494919 -0.848048 +vn 0.213538 0.385937 -0.897458 +vn -0.128788 0.716788 -0.685263 +vn -0.070101 0.673177 -0.736106 +vn -0.084628 0.716941 -0.691946 +vn -0.095920 0.699606 -0.708029 +vn -0.535112 -0.699454 -0.473647 +vn -0.443922 -0.627033 -0.640095 +vn -0.157262 -0.982299 -0.101505 +vn 0.315592 0.644765 -0.696127 +vn 0.339061 0.653340 -0.676870 +vn 0.275765 0.670095 -0.689108 +vn 0.539048 0.693564 -0.477859 +vn 0.481796 0.411664 -0.773522 +vn 0.525681 0.458602 -0.716453 +vn 0.192755 0.831538 -0.520890 +vn 0.209845 0.771599 -0.600452 +vn 0.185614 0.784967 -0.591021 +vn 0.628529 0.481216 -0.611011 +vn 0.208380 0.738029 -0.641774 +vn 0.150121 0.717399 -0.680258 +vn 0.429670 0.777795 -0.458663 +vn 0.435286 0.777001 -0.454665 +vn -0.097110 0.674856 -0.731498 +vn -0.097934 0.670034 -0.735801 +vn -0.101688 0.947661 -0.302622 +vn -0.027070 0.944487 -0.327342 +vn 0.186651 0.900815 -0.391980 +vn 0.134312 0.910886 -0.390118 +vn 0.186560 0.380566 -0.905698 +vn 0.150761 0.373699 -0.915189 +vn 0.242866 0.346934 -0.905881 +vn -0.512528 0.307535 -0.801691 +vn 0.342936 0.213294 -0.914792 +vn 0.377972 0.201056 -0.903684 +vn 0.387707 0.210120 -0.897488 +vn -0.589801 0.335124 -0.734672 +vn 0.099521 0.405560 -0.908597 +vn -0.679128 -0.428419 -0.595965 +vn -0.658376 -0.396527 -0.639729 +vn -0.697958 -0.267006 -0.664479 +vn -0.735893 -0.149968 -0.660268 +vn -0.760796 -0.068026 -0.645375 +vn -0.803430 0.008179 -0.595294 +vn -0.826441 -0.000946 -0.562975 +vn -0.820215 -0.043367 -0.570360 +vn -0.765496 -0.047548 -0.641652 +vn -0.734916 0.021302 -0.677786 +vn -0.712485 0.175726 -0.679281 +vn -0.674276 0.304544 -0.672719 +vn 0.049074 0.699820 -0.712607 +vn 0.069277 0.694479 -0.716117 +vn 0.074252 0.669820 -0.738762 +vn 0.107639 0.637287 -0.763024 +vn -0.068850 0.911222 -0.406049 +vn -0.030000 0.882992 -0.468398 +vn -0.115116 0.882687 -0.455611 +vn -0.254769 0.838954 -0.480850 +vn -0.241035 0.825556 -0.510208 +vn -0.211249 0.810297 -0.546556 +vn -0.197577 0.624439 -0.755638 +vn -0.234840 0.652486 -0.720450 +vn 0.074435 0.689413 -0.720511 +vn 0.112674 0.601276 -0.791040 +vn 0.071108 0.705832 -0.704764 +vn -0.796503 -0.545762 -0.260079 +vn -0.789666 -0.573595 -0.217658 +vn -0.928373 -0.352641 -0.117069 +vn -0.972991 0.228370 0.033113 +vn -0.999878 0.011963 0.009339 +vn -0.836421 -0.536393 -0.112247 +vn -0.953063 -0.301981 -0.020417 +vn 0.406293 0.062655 -0.911557 +vn -0.606983 0.526292 -0.595416 +vn -0.600330 0.534043 -0.595294 +vn -0.593066 0.583789 -0.554460 +vn 0.274972 0.559862 -0.781610 +vn -0.650960 0.272988 -0.708274 +vn -0.665242 0.353130 -0.657826 +vn -0.686850 0.299417 -0.662221 +vn 0.152074 0.890988 -0.427747 +vn 0.324992 0.264290 -0.908017 +vn 0.335704 0.176305 -0.925291 +vn 0.175665 0.893460 -0.413312 +vn 0.240028 0.888150 -0.391858 +vn 0.194861 0.724448 -0.661184 +vn 0.203436 0.657857 -0.725120 +vn 0.253029 0.860744 -0.441633 +vn 0.142247 0.852290 -0.503281 +vn 0.146611 0.796197 -0.586993 +vn 0.453413 0.234321 -0.859920 +vn 0.105075 0.415662 -0.903409 +vn 0.082400 0.283517 -0.955412 +vn -0.679312 -0.404187 -0.612476 +vn -0.607105 -0.452376 -0.653249 +vn -0.590289 -0.441511 -0.675710 +vn -0.630482 -0.357036 -0.689169 +vn -0.706290 -0.218299 -0.673391 +vn -0.752159 -0.109165 -0.649861 +vn -0.791589 0.008972 -0.610950 +vn -0.834681 0.067385 -0.546556 +vn -0.836451 0.000732 -0.547990 +vn -0.810144 -0.111789 -0.575427 +vn -0.742790 -0.116092 -0.659352 +vn -0.734184 0.026978 -0.678365 +vn -0.732383 0.175756 -0.657796 +vn -0.694998 0.308267 -0.649525 +vn -0.707755 0.269387 -0.653035 +vn 0.279244 0.815088 -0.507553 +vn 0.369701 0.775048 -0.512406 +vn 0.330576 0.765343 -0.552202 +vn -0.144383 0.574694 -0.805506 +vn -0.213904 0.783410 -0.583483 +vn -0.134342 0.494278 -0.858852 +vn 0.501175 0.486251 -0.715781 +vn 0.571551 0.419172 -0.705405 +vn 0.524003 0.398083 -0.752922 +vn -0.967406 -0.129185 -0.217689 +vn -0.273782 -0.433729 -0.858425 +vn 0.274758 0.843013 -0.462355 +vn -0.820948 0.533067 0.204566 +vn -0.797449 -0.549303 -0.249580 +vn -0.803858 -0.539628 -0.250160 +vn -0.963591 -0.221747 -0.149236 +vn -0.968200 0.247841 0.033204 +vn -0.993255 -0.086856 -0.076418 +vn -0.839412 -0.531571 -0.112980 +vn -0.974090 -0.224982 0.022309 +vn 0.635853 0.149358 -0.757195 +vn 0.633717 0.072176 -0.770165 +vn 0.573412 0.118534 -0.810602 +vn -0.027100 0.959960 -0.278756 +vn -0.574572 0.546403 -0.609302 +vn -0.571856 0.420759 -0.704215 +vn -0.593280 0.340007 -0.729637 +vn -0.601520 0.444838 -0.663503 +vn -0.588672 0.614429 -0.525254 +vn 0.230445 -0.357952 0.904843 +vn 0.312021 0.810266 -0.496048 +vn 0.304941 0.783654 -0.541185 +vn 0.311136 0.292398 -0.904263 +vn 0.282754 0.315500 -0.905789 +vn -0.383648 0.142521 -0.912412 +vn -0.522813 0.013672 -0.852321 +vn -0.009095 0.736106 -0.676778 +vn -0.057253 0.737236 -0.673177 +vn -0.111820 0.836879 -0.535783 +vn -0.061373 0.821619 -0.566698 +vn -0.078310 0.835963 -0.543107 +vn 0.269967 0.790429 -0.549821 +vn 0.237281 0.827906 -0.508164 +vn -0.234504 0.680960 -0.693716 +vn 0.166509 0.761040 -0.626942 +vn 0.213080 0.572497 -0.791711 +vn 0.191565 0.760430 -0.620472 +vn -0.074984 0.246071 -0.966338 +vn -0.054018 0.888424 -0.455794 +vn 0.611682 0.522874 -0.593616 +vn 0.568773 0.569872 -0.593036 +vn 0.541887 0.626789 -0.559893 +vn -0.329600 0.704886 -0.628071 +vn -0.306711 0.788141 -0.533586 +vn -0.254677 0.577502 -0.775597 +vn -0.235237 0.580584 -0.779443 +vn -0.289895 0.635090 -0.715934 +vn -0.215613 0.585894 -0.781152 +vn -0.163030 0.559038 -0.812922 +vn -0.179083 0.915525 -0.360088 +vn -0.149480 0.906888 -0.393872 +vn 0.071352 0.271279 -0.959838 +vn -0.448347 0.832636 -0.325022 +vn -0.390149 0.849361 -0.355419 +vn -0.378430 0.843318 -0.381481 +vn 0.543870 0.038881 -0.838221 +vn 0.431806 0.139988 -0.891018 +vn 0.526475 0.409314 -0.745140 +vn 0.497299 0.335429 -0.800073 +vn -0.721915 -0.327982 -0.609272 +vn -0.788598 -0.179022 -0.588244 +vn -0.807550 -0.086550 -0.583392 +vn -0.805414 0.040284 -0.591296 +vn -0.794427 0.072970 -0.602924 +vn -0.776238 -0.038850 -0.629231 +vn -0.714194 -0.176519 -0.677297 +vn -0.694601 -0.133641 -0.706839 +vn -0.704642 0.036561 -0.708609 +vn -0.712302 0.190497 -0.675497 +vn -0.689169 0.310526 -0.654653 +vn -0.708670 0.261330 -0.655324 +vn -0.720695 0.141331 -0.678640 +vn 0.389904 0.414502 -0.822260 +vn 0.331431 0.360057 -0.872036 +vn 0.385540 0.748466 -0.539537 +vn 0.155828 0.443098 -0.882809 +vn 0.023682 0.654927 -0.755303 +vn -0.022217 0.604663 -0.796136 +vn 0.043123 0.951964 -0.303140 +vn 0.089145 0.933714 -0.346690 +vn 0.079775 0.647725 -0.757653 +vn 0.045259 0.658223 -0.751457 +vn 0.003601 0.918729 -0.394818 +vn -0.972533 -0.030732 -0.230689 +vn -0.976684 0.040712 -0.210669 +vn -0.999512 -0.018403 0.025086 +vn -0.778344 -0.551530 -0.299936 +vn -0.812281 -0.503098 -0.295022 +vn -0.976135 -0.079440 -0.202094 +vn -0.964629 0.263497 0.004151 +vn -0.978820 -0.105045 -0.175665 +vn -0.874874 -0.461318 -0.147465 +vn 0.038118 -0.998505 0.038514 +vn 0.038087 -0.998505 0.038423 +vn 0.038118 -0.998505 0.038575 +vn -0.096713 -0.632282 0.768639 +vn -0.615040 0.367168 -0.697745 +vn -0.636525 0.495560 -0.590960 +vn -0.597339 0.614887 -0.514847 +vn 0.239235 0.888394 -0.391797 +vn 0.230689 0.852443 -0.469131 +vn 0.261483 0.815577 -0.516160 +vn 0.298898 0.753410 -0.585620 +vn 0.444380 0.786828 -0.428266 +vn 0.413556 0.799402 -0.435743 +vn 0.519333 0.370006 -0.770287 +vn 0.101810 0.137883 -0.985168 +vn 0.617298 0.539201 -0.572832 +vn 0.605976 0.594775 -0.528184 +vn 0.189245 0.286569 -0.939177 +vn 0.335521 0.290475 -0.896084 +vn 0.251747 -0.603717 -0.756371 +vn 0.297830 0.682821 -0.667104 +vn 0.104404 0.314707 -0.943419 +vn 0.287667 0.653218 -0.700369 +vn 0.279122 0.439772 -0.853603 +vn 0.285745 0.472793 -0.833522 +vn 0.241310 0.607074 -0.757103 +vn 0.719626 0.533708 -0.444105 +vn -0.204535 0.914151 -0.349895 +vn -0.232490 0.888821 -0.394848 +vn -0.216559 0.886532 -0.408765 +vn 0.130253 0.860012 -0.493332 +vn -0.049898 0.901639 -0.429579 +vn -0.153020 0.931272 -0.330576 +vn -0.191351 0.930784 -0.311441 +vn -0.178991 0.927915 -0.326975 +vn -0.296396 0.509598 -0.807703 +vn 0.403882 0.722404 -0.561205 +vn -0.188910 0.921415 -0.339457 +vn -0.599628 -0.427137 -0.676717 +vn 0.440535 0.375774 -0.815271 +vn 0.497208 0.295572 -0.815699 +vn -0.748833 -0.396130 -0.531266 +vn -0.833979 -0.300516 -0.462752 +vn 0.304544 -0.171026 -0.936979 +vn -0.867031 -0.185583 -0.462325 +vn -0.871273 -0.096042 -0.481246 +vn -0.853847 0.002899 -0.520463 +vn -0.784204 0.009308 -0.620411 +vn -0.721702 -0.121860 -0.681356 +vn -0.654012 -0.216346 -0.724845 +vn -0.694418 -0.084262 -0.714591 +vn -0.740013 0.092837 -0.666097 +vn -0.738548 0.214881 -0.638997 +vn -0.715293 0.295328 -0.633320 +vn -0.687674 0.263588 -0.676443 +vn -0.719779 0.140172 -0.679861 +vn -0.724235 0.127842 -0.677572 +vn -0.193579 0.907529 -0.372662 +vn 0.177862 0.190527 -0.965423 +vn 0.226783 0.092654 -0.969512 +vn 0.224067 0.528855 -0.818567 +vn 0.289071 0.617756 -0.731284 +vn 0.159978 0.572619 -0.804010 +vn 0.049318 0.632984 -0.772576 +vn 0.386242 0.621845 -0.681234 +vn 0.384899 0.551256 -0.740226 +vn 0.392590 0.515549 -0.761620 +vn 0.110630 0.598132 -0.793695 +vn -0.087466 0.230995 -0.968993 +vn 0.108493 0.598315 -0.793847 +vn -0.342998 0.320780 -0.882839 +vn -0.297372 0.190924 -0.935453 +vn -0.207312 0.187353 -0.960143 +vn -0.555803 -0.587909 0.587695 +vn -0.748741 -0.586657 -0.308542 +vn -0.779077 -0.549181 -0.302347 +vn -0.852199 -0.444929 -0.275216 +vn -0.991119 0.052705 -0.121982 +vn -0.965697 0.258705 0.021271 +vn -0.934080 -0.244972 -0.259682 +vn -0.919736 -0.354778 -0.167882 +vn -0.613514 -0.733634 0.292154 +vn -0.626057 0.411573 -0.662282 +vn 0.174749 -0.717521 -0.674215 +vn -0.653035 0.483291 -0.583026 +vn -0.656453 0.571062 -0.492874 +vn -0.617481 0.676321 -0.401532 +vn 0.046449 -0.995544 -0.081820 +vn -0.122654 0.696066 -0.707389 +vn 0.202795 0.665609 -0.718192 +vn 0.427107 0.346721 -0.835078 +vn 0.361278 0.410535 -0.837184 +vn -0.315317 0.844935 -0.431989 +vn -0.301157 0.850154 -0.431867 +vn 0.471206 0.273019 -0.838679 +vn 0.635395 0.194586 -0.747215 +vn 0.618763 0.166601 -0.767693 +vn 0.189398 0.806299 -0.560320 +vn 0.096622 0.696097 -0.711386 +vn -0.079928 0.582690 -0.808710 +vn 0.434126 0.360851 -0.825404 +vn 0.470504 0.296335 -0.831111 +vn 0.474746 0.324503 -0.818079 +vn 0.426588 0.801172 -0.419599 +vn 0.391919 0.816492 -0.423872 +vn 0.378765 0.813623 -0.441023 +vn 0.317911 0.587512 -0.744102 +vn 0.306711 0.534196 -0.787713 +vn 0.303842 0.372143 -0.877010 +vn 0.467299 0.768120 -0.437696 +vn -0.199042 0.925169 -0.323130 +vn -0.206885 0.727775 -0.653829 +vn -0.068880 0.778893 -0.623310 +vn 0.081606 -0.958373 0.273598 +vn -0.075503 0.629200 -0.773553 +vn -0.075594 0.534440 -0.841792 +vn -0.111850 0.630360 -0.768151 +vn -0.746910 -0.349620 -0.565539 +vn -0.802149 -0.332469 -0.495987 +vn -0.835292 -0.274545 -0.476302 +vn -0.851527 -0.193213 -0.487381 +vn -0.839259 -0.130070 -0.527909 +vn -0.794824 -0.087436 -0.600482 +vn -0.714927 -0.100223 -0.691946 +vn -0.655904 -0.188208 -0.730949 +vn -0.656728 -0.178442 -0.732688 +vn -0.746208 0.014924 -0.665487 +vn -0.782403 0.131138 -0.608753 +vn -0.772820 0.235176 -0.589404 +vn -0.758538 0.257790 -0.598437 +vn -0.693747 0.213446 -0.687826 +vn -0.673421 0.153539 -0.723106 +vn -0.702963 0.137455 -0.697775 +vn -0.713920 0.204566 -0.669637 +vn 0.044679 0.686300 -0.725913 +vn 0.098727 0.628681 -0.771355 +vn -0.030305 0.699240 -0.714225 +vn 0.010987 -0.999298 -0.035615 +vn -0.009278 0.660421 -0.750816 +vn 0.114200 0.592395 -0.797479 +vn 0.400861 0.448164 -0.799005 +vn 0.411695 0.460768 -0.786218 +vn -0.011780 0.963164 -0.268593 +vn 0.553056 0.292245 -0.780175 +vn 0.628132 0.276193 -0.727409 +vn 0.464888 0.205603 -0.861141 +vn 0.285989 0.378430 -0.880306 +vn 0.312540 0.194372 -0.929777 +vn -0.210822 0.937803 -0.275765 +vn -0.218909 0.938047 -0.268471 +vn -0.181768 0.868954 -0.460250 +vn -0.161077 0.844539 -0.510666 +vn -0.171422 0.841121 -0.512894 +vn -0.169622 0.814600 -0.554613 +vn -0.108188 0.754601 -0.647145 +vn -0.195227 0.918668 -0.343364 +vn -0.160192 0.918180 -0.362255 +vn -0.045259 0.533158 -0.844783 +vn -0.047670 0.608264 -0.792261 +vn 0.544237 0.358440 -0.758476 +vn 0.556352 0.284066 -0.780847 +vn 0.582049 0.298776 -0.756218 +vn 0.245949 0.394208 -0.885464 +vn 0.798334 0.378460 -0.468368 +vn -0.028779 0.482986 -0.875118 +vn -0.096713 0.735832 -0.670186 +vn -0.042085 0.437880 -0.898007 +vn 0.205451 0.409162 -0.889004 +vn 0.145665 0.375744 -0.915189 +vn 0.236976 0.558611 -0.794824 +vn 0.008759 -0.999420 -0.032289 +vn -0.653279 -0.485702 -0.580737 +vn -0.767327 -0.521897 -0.372539 +vn -0.804254 -0.526719 -0.275124 +vn -0.892392 -0.378185 -0.246101 +vn -0.967772 0.115635 -0.223670 +vn -0.948119 0.151708 -0.279305 +vn -0.863033 -0.323771 -0.387677 +vn -0.981842 -0.155156 -0.108921 +vn -0.633106 0.773614 0.025575 +vn -0.651387 0.344127 -0.676168 +vn -0.663472 0.450148 -0.597583 +vn -0.672964 0.377880 -0.635823 +vn -0.639485 0.561235 -0.525376 +vn -0.651082 0.656392 -0.381054 +vn -0.038026 -0.997528 0.058962 +vn -0.252174 -0.914701 0.315714 +vn -0.051943 -0.991821 0.116337 +vn -0.058351 0.180914 -0.981750 +vn 0.671712 0.566118 -0.477767 +vn 0.671499 0.493728 -0.552507 +vn 0.604816 0.599048 -0.524674 +vn 0.135533 0.675130 -0.725089 +vn 0.210059 0.636555 -0.742058 +vn 0.196051 0.847804 -0.492660 +vn 0.214484 0.825495 -0.522019 +vn 0.195013 0.837489 -0.510453 +vn 0.158849 -0.024476 0.986969 +vn -0.750084 -0.213874 -0.625751 +vn -0.668752 -0.257057 -0.697592 +vn -0.851680 -0.228004 -0.471786 +vn -0.896054 -0.235633 -0.376141 +vn -0.798608 -0.187231 -0.571947 +vn -0.130436 0.509232 -0.850673 +vn -0.189123 0.502487 -0.843623 +vn -0.256264 0.704398 -0.661885 +vn -0.180059 0.699149 -0.691916 +vn 0.239570 0.284402 -0.928281 +vn 0.268990 0.567339 -0.778283 +vn 0.142125 0.563463 -0.813807 +vn 0.307016 0.329691 -0.892758 +vn -0.238716 0.750328 -0.616413 +vn 0.460677 0.389233 -0.797632 +vn 0.430555 0.286935 -0.855708 +vn -0.520798 -0.541765 -0.659688 +vn -0.379650 -0.601764 -0.702658 +vn -0.618000 -0.449324 -0.645100 +vn -0.680227 -0.385784 -0.623218 +vn -0.720786 -0.301828 -0.623951 +vn -0.321604 0.534288 -0.781701 +vn -0.760216 -0.289071 -0.581774 +vn -0.742668 -0.307321 -0.594928 +vn -0.758812 -0.242805 -0.604327 +vn -0.730552 -0.195868 -0.654134 +vn -0.734214 -0.143773 -0.663503 +vn -0.722922 -0.159612 -0.672201 +vn -0.681570 -0.198584 -0.704276 +vn -0.660512 -0.212378 -0.720115 +vn -0.723533 -0.073946 -0.686300 +vn -0.768456 0.103885 -0.631367 +vn -0.790765 0.159703 -0.590869 +vn -0.777825 0.241401 -0.580218 +vn -0.770684 0.198096 -0.605609 +vn -0.718650 0.105686 -0.687246 +vn -0.663320 0.127781 -0.737297 +vn -0.663015 0.192206 -0.723472 +vn -0.699454 0.241340 -0.672689 +vn -0.712607 0.281777 -0.642445 +vn -0.677450 0.318461 -0.663045 +vn -0.667562 0.332530 -0.666128 +vn 0.017487 -0.999329 -0.031892 +vn 0.587207 -0.394482 -0.706748 +vn -0.694906 0.400037 -0.597522 +vn -0.142521 0.797571 -0.586108 +vn -0.073153 0.740928 -0.667531 +vn -0.118351 0.781915 -0.612018 +vn -0.541154 0.204443 -0.815668 +vn -0.579882 0.398114 -0.710746 +vn 0.323801 0.589496 -0.739982 +vn 0.267251 0.629444 -0.729606 +vn 0.401654 0.271950 -0.874447 +vn 0.387036 0.283151 -0.877499 +vn -0.081332 0.817164 -0.570574 +vn -0.176427 0.522843 -0.833949 +vn -0.233558 0.562822 -0.792871 +vn -0.154027 0.705100 -0.692160 +vn -0.166936 0.572527 -0.802698 +vn -0.228584 0.691733 -0.684988 +vn -0.218635 0.765893 -0.604633 +vn -0.161992 0.765496 -0.622669 +vn -0.124546 0.767724 -0.628529 +vn 0.525163 0.693869 -0.492660 +vn -0.241127 0.785974 -0.569262 +vn -0.225074 0.784570 -0.577715 +vn -0.204169 0.791803 -0.575610 +vn 0.490005 0.586322 -0.645039 +vn 0.526139 0.521714 -0.671529 +vn 0.497421 0.559526 -0.662923 +vn -0.241554 0.881832 -0.404920 +vn 0.019105 0.191900 -0.981201 +vn -0.004975 0.487289 -0.873196 +vn -0.003998 0.178472 -0.983917 +vn -0.143468 0.071535 -0.987060 +vn -0.200415 0.294626 -0.934324 +vn 0.378979 0.793451 -0.476180 +vn 0.452376 0.701987 -0.550035 +vn 0.475967 0.717399 -0.508682 +vn -0.178106 0.945463 -0.272652 +vn -0.200537 0.908200 -0.367290 +vn 0.484848 0.341441 -0.805170 +vn 0.420087 0.418592 -0.805139 +vn 0.480209 0.328074 -0.813471 +vn 0.134495 0.510575 -0.849239 +vn 0.492447 0.311533 -0.812647 +vn 0.530931 0.307627 -0.789575 +vn 0.732170 0.267281 -0.626453 +vn 0.576189 0.299326 -0.760521 +vn 0.011505 -0.999054 -0.041444 +vn 0.072848 -0.996704 -0.035615 +vn 0.022706 0.937803 -0.346355 +vn -0.691549 -0.209265 -0.691336 +vn 0.139164 -0.605762 -0.783349 +vn 0.238624 -0.171514 -0.955809 +vn 0.223029 -0.150761 -0.963073 +vn -0.774621 -0.373272 -0.510483 +vn -0.828150 -0.460158 -0.319926 +vn -0.904050 -0.352886 -0.241096 +vn -0.947478 0.026368 -0.318644 +vn -0.886715 0.072604 -0.456496 +vn -0.898740 -0.206366 -0.386822 +vn -0.990875 0.033357 -0.130558 +vn -0.988464 0.150060 0.019776 +vn -0.656331 0.749474 0.086367 +vn -0.664876 0.436567 -0.606037 +vn -0.699759 0.514115 -0.495956 +vn -0.666311 0.636433 -0.388501 +vn -0.627338 0.729270 -0.273080 +vn 0.216407 -0.134190 -0.967009 +vn 0.267220 0.587207 -0.764031 +vn 0.204108 0.525742 -0.825770 +vn 0.280923 0.463515 -0.840358 +vn -0.547685 0.297525 -0.781976 +vn -0.698355 0.217414 -0.681906 +vn 0.044984 0.935453 -0.350505 +vn 0.048036 0.912992 -0.405072 +vn 0.005310 0.907895 -0.419141 +vn 0.207312 0.093020 -0.973815 +vn -0.741997 0.039583 -0.669179 +vn 0.635670 0.688131 -0.349834 +vn 0.620563 0.678304 -0.393353 +vn 0.597797 0.682516 -0.420423 +vn -0.824671 -0.121769 -0.552293 +vn -0.846522 -0.195196 -0.495224 +vn -0.854396 -0.227241 -0.467238 +vn -0.120304 0.632282 -0.765313 +vn 0.022584 0.692831 -0.720725 +vn -0.353496 0.876125 -0.327708 +vn -0.347972 0.790124 -0.504562 +vn -0.511338 0.726829 -0.458480 +vn -0.068148 0.804315 -0.590258 +vn 0.078585 0.773949 -0.628346 +vn -0.002045 0.487320 -0.873196 +vn 0.151616 0.649983 -0.744652 +vn -0.191046 0.557634 -0.807764 +vn -0.014588 0.364910 -0.930906 +vn -0.611408 -0.627277 -0.482315 +vn -0.655904 -0.508164 -0.558092 +vn -0.729392 -0.373058 -0.573351 +vn -0.756493 -0.312540 -0.574450 +vn -0.776605 -0.286294 -0.561144 +vn -0.784570 -0.300790 -0.542161 +vn -0.760125 -0.329295 -0.560106 +vn -0.709830 -0.296182 -0.639027 +vn -0.709006 -0.193579 -0.678091 +vn -0.720878 -0.115390 -0.683370 +vn -0.722129 -0.160192 -0.672903 +vn -0.731742 -0.233314 -0.640370 +vn -0.757591 -0.205176 -0.619617 +vn -0.789178 -0.020722 -0.613788 +vn -0.784204 0.133518 -0.605914 +vn -0.778497 0.181005 -0.600940 +vn -0.771935 0.210273 -0.599872 +vn -0.755516 0.127934 -0.642476 +vn -0.733146 0.031678 -0.679281 +vn -0.710746 0.114200 -0.694082 +vn -0.697745 0.233497 -0.677175 +vn -0.695029 0.289682 -0.658010 +vn -0.706992 0.288461 -0.645680 +vn -0.696738 0.293466 -0.654500 +vn -0.674734 0.329905 -0.660207 +vn -0.660817 0.365978 -0.655232 +vn -0.646535 0.371502 -0.666280 +vn -0.624928 0.453902 -0.635121 +vn -0.666463 0.466140 -0.581805 +vn -0.785058 0.296457 -0.543840 +vn -0.695334 0.341563 -0.632313 +vn 0.358745 0.456557 -0.814142 +vn -0.177862 0.854305 -0.488357 +vn -0.128056 0.850826 -0.509537 +vn 0.011872 0.626362 -0.779412 +vn -0.005280 0.782525 -0.622578 +vn 0.021180 0.776238 -0.630055 +vn 0.102451 0.721488 -0.684774 +vn -0.239235 0.583789 -0.775811 +vn -0.253426 0.676717 -0.691214 +vn -0.227271 0.699423 -0.677572 +vn -0.073397 0.225837 -0.971374 +vn -0.174017 0.654469 -0.735771 +vn -0.238899 0.910459 -0.337504 +vn -0.227210 0.921354 -0.315378 +vn -0.262276 0.914365 -0.308390 +vn 0.391308 0.685690 -0.613727 +vn 0.426191 0.610004 -0.667989 +vn 0.523331 0.650349 -0.550584 +vn 0.574450 0.360942 -0.734642 +vn 0.554338 0.329386 -0.764306 +vn 0.100833 0.506577 -0.856258 +vn 0.109531 0.616291 -0.779839 +vn 0.114566 0.560320 -0.820307 +vn 0.594531 0.192175 -0.780725 +vn -0.030702 0.535752 -0.843776 +vn 0.564592 0.232307 -0.791986 +vn 0.588519 0.195288 -0.784509 +vn 0.222907 0.303201 -0.926450 +vn 0.578234 0.360698 -0.731773 +vn 0.308298 0.340129 -0.888363 +vn 0.348430 0.299478 -0.888180 +vn 0.343181 0.320566 -0.882839 +vn -0.100253 0.943693 -0.315165 +vn 0.292734 0.860591 -0.416700 +vn -0.079745 0.628315 -0.773827 +vn 0.109867 0.577532 -0.808924 +vn -0.599475 0.039918 -0.799371 +vn -0.783715 -0.185675 -0.592669 +vn -0.834010 -0.338450 -0.435743 +vn -0.907590 -0.307840 -0.285440 +vn -0.953429 -0.079470 -0.290902 +vn -0.885433 0.031892 -0.463607 +vn -0.952269 0.005402 -0.305185 +vn -0.987701 0.138951 -0.071444 +vn -0.248787 0.641469 -0.725639 +vn -0.709494 0.391888 -0.585650 +vn -0.714042 0.486526 -0.503403 +vn -0.241310 0.928465 -0.282327 +vn 0.007202 -0.999908 -0.009461 +vn -0.037690 -0.999268 -0.000977 +vn 0.030915 -0.999451 -0.009430 +vn -0.565752 0.554979 -0.609821 +vn -0.535600 0.679830 -0.500870 +vn 0.524979 0.062868 -0.848750 +vn -0.519059 0.631214 -0.576281 +vn -0.672140 0.440565 -0.595019 +vn -0.647175 0.362712 -0.670492 +vn -0.529374 0.526414 -0.665273 +vn -0.762322 0.272530 -0.586963 +vn 0.649464 -0.004700 -0.760369 +vn 0.549852 0.127537 -0.825434 +vn 0.669851 0.110202 -0.734245 +vn -0.816645 0.142094 -0.559343 +vn -0.816126 0.049532 -0.575732 +vn -0.729118 0.121677 -0.673452 +vn -0.834223 -0.017548 -0.551103 +vn -0.878201 -0.057802 -0.474715 +vn -0.903531 -0.167119 -0.394543 +vn -0.906308 -0.239998 -0.347758 +vn -0.919034 -0.256142 -0.299509 +vn 0.474075 0.261238 -0.840785 +vn 0.469985 0.302042 -0.829341 +vn 0.482772 0.344371 -0.805170 +vn 0.085910 0.933531 -0.347942 +vn 0.077151 0.916379 -0.392743 +vn -0.140507 -0.115543 -0.983306 +vn 0.040101 0.362926 -0.930937 +vn -0.461715 -0.676778 -0.573382 +vn -0.530778 -0.664602 -0.525834 +vn -0.506363 -0.645711 -0.571520 +vn 0.169317 0.526688 -0.833003 +vn -0.535630 -0.678579 -0.502548 +vn -0.413099 -0.754875 -0.509354 +vn -0.317423 -0.763329 -0.562609 +vn -0.541002 -0.805139 -0.242958 +vn -0.598498 -0.677236 -0.427900 +vn -0.701834 -0.498367 -0.508957 +vn -0.784356 -0.356548 -0.507553 +vn -0.808222 -0.309793 -0.500748 +vn -0.857936 -0.269875 -0.437117 +vn -0.854915 -0.337352 -0.394024 +vn -0.774316 -0.426527 -0.467391 +vn -0.729850 -0.364574 -0.578204 +vn -0.751610 -0.211005 -0.624897 +vn -0.737815 -0.141118 -0.660054 +vn -0.761376 -0.122166 -0.636647 +vn -0.797967 -0.193762 -0.570666 +vn -0.830195 -0.192877 -0.522996 +vn -0.859676 -0.010041 -0.510697 +vn -0.833247 0.109134 -0.541978 +vn -0.802271 0.184973 -0.567522 +vn -0.800439 0.190100 -0.568407 +vn -0.789850 0.119694 -0.601459 +vn -0.809259 0.024293 -0.586932 +vn -0.785882 0.104526 -0.609424 +vn -0.738914 0.262825 -0.620411 +vn -0.738304 0.302011 -0.603015 +vn -0.728660 0.296060 -0.617512 +vn -0.728507 0.288583 -0.621235 +vn -0.705802 0.331248 -0.626148 +vn -0.679586 0.371380 -0.632588 +vn -0.644002 0.456465 -0.613880 +vn -0.617878 0.495132 -0.610736 +vn -0.733451 0.268288 -0.624500 +vn 0.017762 -0.998932 -0.042116 +vn -0.222022 0.900937 -0.372784 +vn -0.166784 0.930296 -0.326670 +vn -0.193274 0.863765 -0.465285 +vn -0.151891 0.868343 -0.472091 +vn 0.307840 -0.934843 0.176824 +vn 0.301462 -0.929167 0.213813 +vn 0.213660 0.585620 -0.781884 +vn 0.259072 0.616260 -0.743675 +vn 0.210059 0.608997 -0.764824 +vn -0.235176 0.919309 -0.315470 +vn -0.222602 0.915586 -0.334849 +vn 0.312998 0.356243 -0.880398 +vn 0.362987 0.363262 -0.858058 +vn -0.166631 0.597125 -0.784631 +vn 0.783929 0.409650 -0.466475 +vn -0.257881 0.911863 -0.319285 +vn -0.225318 0.921995 -0.314859 +vn -0.230415 0.910916 -0.342235 +vn -0.191382 0.921384 -0.338176 +vn 0.281350 -0.043794 -0.958586 +vn 0.007965 -0.999725 -0.020783 +vn -0.237007 0.911679 -0.335612 +vn 0.402203 0.729270 -0.553484 +vn 0.008179 0.786309 -0.617756 +vn -0.375927 0.516587 -0.769250 +vn -0.034700 0.664022 -0.746879 +vn -0.073031 0.626850 -0.775689 +vn -0.113742 0.683462 -0.721061 +vn -0.262123 0.923490 -0.280038 +vn -0.297372 0.896817 -0.327525 +vn 0.019929 0.874264 -0.485000 +vn -0.681112 0.054750 -0.730094 +vn -0.536027 0.246467 -0.807367 +vn -0.824305 -0.201666 -0.528947 +vn -0.909421 -0.207831 -0.360118 +vn -0.957396 -0.107639 -0.267861 +vn -0.959563 0.030427 -0.279794 +vn -0.965758 0.173101 -0.193182 +vn -0.972869 0.228706 -0.034425 +vn 0.791314 0.470840 -0.389996 +vn 0.803217 0.434095 -0.407880 +vn -0.699423 0.396008 -0.594897 +vn -0.687246 0.481765 -0.543657 +vn -0.718070 0.581805 -0.381909 +vn -0.692129 0.685842 -0.224830 +vn -0.223457 0.602741 -0.765984 +vn -0.773217 -0.628681 -0.082797 +vn -0.154912 0.863399 -0.480117 +vn 0.261727 0.851955 -0.453444 +vn -0.187414 -0.974487 0.123295 +vn -0.470229 0.766625 -0.437208 +vn -0.554308 0.698599 -0.452406 +vn -0.698416 0.501389 -0.510666 +vn -0.774834 0.310465 -0.550645 +vn -0.831721 0.172277 -0.527726 +vn -0.870937 0.047395 -0.489029 +vn -0.896756 0.042879 -0.440413 +vn -0.918058 0.003082 -0.396405 +vn -0.936125 -0.116764 -0.331675 +vn -0.928587 -0.243507 -0.279946 +vn -0.242653 0.452773 -0.857936 +vn 0.089084 0.623127 -0.777001 +vn -0.589587 -0.604907 -0.535173 +vn -0.606464 -0.685049 -0.403577 +vn -0.527879 -0.809503 -0.256905 +vn -0.506272 -0.822962 -0.257607 +vn -0.646138 -0.693533 -0.318522 +vn -0.790368 -0.512925 -0.334910 +vn -0.823023 -0.386059 -0.416578 +vn -0.859066 -0.269662 -0.434980 +vn -0.888363 -0.223762 -0.400891 +vn -0.850673 -0.366619 -0.376690 +vn -0.756645 -0.510971 -0.407849 +vn -0.766533 -0.418012 -0.487503 +vn -0.785638 -0.253822 -0.564165 +vn -0.815546 -0.128758 -0.564135 +vn -0.838038 -0.079653 -0.539750 +vn -0.861873 -0.150884 -0.484146 +vn -0.905209 -0.151189 -0.397107 +vn -0.917112 -0.032868 -0.397259 +vn -0.894772 0.082369 -0.438826 +vn -0.870205 0.167150 -0.463454 +vn -0.829402 0.189703 -0.525407 +vn -0.833613 0.133946 -0.535844 +vn -0.862636 0.023164 -0.505234 +vn -0.877499 0.074190 -0.473739 +vn -0.799127 0.238289 -0.551897 +vn -0.742119 0.312815 -0.592730 +vn -0.750420 0.300729 -0.588549 +vn -0.755394 0.301920 -0.581500 +vn -0.746818 0.323160 -0.581164 +vn -0.710501 0.366894 -0.600421 +vn -0.664296 0.453047 -0.594501 +vn -0.631916 0.495376 -0.596026 +vn -0.704489 0.212226 -0.677236 +vn -0.011475 0.684469 -0.728935 +vn -0.022309 0.717521 -0.696158 +vn 0.620624 0.643788 -0.447554 +vn 0.555071 0.662587 -0.502823 +vn 0.172674 0.891140 -0.419538 +vn 0.309153 0.277505 -0.909604 +vn 0.158208 0.447829 -0.880001 +vn 0.275155 0.220985 -0.935636 +vn 0.445601 0.465468 -0.764672 +vn 0.030091 0.346324 -0.937620 +vn 0.034455 0.340159 -0.939726 +vn 0.021332 0.265084 -0.963958 +vn -0.115513 0.829341 -0.546648 +vn 0.561144 0.178716 -0.808161 +vn 0.456130 0.302988 -0.836726 +vn 0.473952 0.208502 -0.855495 +vn 0.362651 0.676626 -0.640797 +vn 0.392193 0.656514 -0.644307 +vn 0.389752 0.628407 -0.673147 +vn 0.212256 0.062990 -0.975158 +vn 0.270302 0.594195 -0.757530 +vn 0.137730 0.687918 -0.712577 +vn 0.711417 0.449812 -0.539903 +vn 0.675130 0.465743 -0.572039 +vn -0.137486 0.665334 -0.733757 +vn -0.152532 0.686575 -0.710868 +vn 0.075716 0.343120 -0.936216 +vn -0.525864 0.230079 -0.818812 +vn -0.699576 0.169500 -0.694143 +vn -0.671865 0.254219 -0.695639 +vn -0.568102 0.160131 -0.807184 +vn -0.623188 0.281442 -0.729637 +vn -0.602527 0.239631 -0.761254 +vn -0.742363 0.045106 -0.668447 +vn -0.907285 -0.053682 -0.417005 +vn -0.961211 -0.048585 -0.271401 +vn -0.982757 0.083407 -0.164892 +vn -0.977233 0.201331 -0.066713 +vn -0.950682 0.309854 -0.013672 +vn -0.029450 0.500900 -0.864986 +vn -0.003601 -0.996460 0.083712 +vn -0.759697 0.466079 -0.453383 +vn -0.715964 0.406873 -0.567248 +vn -0.738945 0.573290 -0.353862 +vn -0.695395 0.680685 -0.230293 +vn -0.201178 0.345744 -0.916501 +vn 0.147252 0.735557 -0.661214 +vn 0.529191 0.414930 -0.740104 +vn -0.600024 0.737449 -0.309946 +vn -0.394757 0.824305 -0.405744 +vn -0.547746 0.743828 -0.382916 +vn -0.735862 0.537919 -0.411206 +vn -0.839045 0.316477 -0.442518 +vn -0.854213 0.218421 -0.471755 +vn -0.888058 0.114444 -0.445235 +vn -0.914487 0.075350 -0.397473 +vn -0.917936 0.020356 -0.396161 +vn -0.919828 -0.093539 -0.380963 +vn -0.918393 -0.226234 -0.324534 +vn 0.192846 0.824946 -0.531266 +vn -0.567431 -0.690970 -0.447829 +vn -0.605365 -0.615162 -0.505020 +vn -0.627186 -0.588092 -0.510636 +vn -0.614673 -0.636830 -0.465346 +vn -0.504746 -0.765221 -0.399518 +vn -0.552721 -0.804132 -0.218696 +vn -0.716178 -0.689138 -0.110233 +vn -0.818171 -0.562181 -0.120304 +vn -0.863063 -0.446364 -0.236274 +vn -0.890286 -0.299997 -0.342570 +vn -0.885678 -0.232185 -0.402051 +vn -0.842677 -0.381695 -0.379650 +vn -0.791192 -0.537370 -0.291910 +vn -0.809320 -0.478835 -0.340129 +vn -0.867336 -0.278542 -0.412458 +vn -0.890683 -0.120151 -0.438368 +vn -0.895444 -0.052644 -0.441969 +vn -0.911863 -0.089785 -0.400525 +vn -0.944426 -0.115787 -0.307566 +vn -0.958678 -0.052828 -0.279519 +vn -0.939512 0.052492 -0.338450 +vn -0.912717 0.127964 -0.387982 +vn -0.893216 0.137547 -0.428022 +vn -0.868221 0.159124 -0.469955 +vn -0.903928 0.112339 -0.412610 +vn -0.956969 0.089358 -0.276009 +vn -0.937407 0.144627 -0.316721 +vn -0.846889 0.282968 -0.450148 +vn -0.789880 0.325358 -0.519791 +vn -0.795221 0.323588 -0.512680 +vn -0.792840 0.331553 -0.511307 +vn -0.774590 0.352123 -0.525315 +vn -0.702597 0.444929 -0.555284 +vn -0.654683 0.483871 -0.580706 +vn -0.676412 0.140873 -0.722892 +vn -0.195257 0.860256 -0.470962 +vn 0.504410 0.000549 -0.863430 +vn -0.237922 0.358409 -0.902707 +vn -0.013977 0.639271 -0.768822 +vn 0.019349 0.656240 -0.754265 +vn 0.346782 0.354839 -0.868191 +vn 0.399152 0.340892 -0.851131 +vn 0.359874 0.831751 -0.422651 +vn 0.317667 0.835475 -0.448347 +vn 0.315012 0.874935 -0.367718 +vn 0.505081 0.655904 -0.560900 +vn 0.508194 0.643971 -0.571825 +vn 0.527451 0.658711 -0.536485 +vn 0.563555 0.387494 -0.729514 +vn 0.622272 0.366955 -0.691427 +vn 0.530320 0.275887 -0.801630 +vn -0.068880 0.542070 -0.837458 +vn 0.018525 0.538408 -0.842433 +vn 0.426923 0.674612 -0.602130 +vn 0.381542 0.672658 -0.633992 +vn 0.432936 0.672750 -0.599933 +vn -0.241737 0.929746 -0.277688 +vn 0.631916 0.398755 -0.664541 +vn 0.649556 0.347911 -0.676015 +vn 0.646962 0.376354 -0.663137 +vn -0.124393 0.780877 -0.612140 +vn 0.545396 0.555773 -0.627369 +vn 0.630177 0.529405 -0.567949 +vn -0.813257 0.166326 -0.557573 +vn -0.764428 0.260537 -0.589709 +vn -0.737846 0.255745 -0.624592 +vn -0.680044 0.223212 -0.698325 +vn -0.652730 0.211463 -0.727470 +vn -0.751396 0.140355 -0.644704 +vn -0.888760 0.090243 -0.449355 +vn -0.941710 0.167455 -0.291696 +vn -0.945250 0.280221 -0.167180 +vn -0.936003 0.349406 -0.041780 +vn -0.807520 -0.468490 -0.358318 +vn -0.695212 0.294198 -0.655812 +vn -0.735252 0.388989 -0.555010 +vn -0.739891 0.493271 -0.457350 +vn -0.752251 0.562944 -0.342296 +vn -0.734367 0.645619 -0.209387 +vn -0.674367 0.732017 -0.096591 +vn -0.481033 -0.869900 -0.108737 +vn -0.271310 0.820307 -0.503403 +vn -0.621937 -0.432203 -0.652913 +vn 0.261483 0.809809 -0.525132 +vn 0.276437 0.741020 -0.611927 +vn -0.564501 0.714743 -0.412793 +vn -0.487716 -0.749199 0.448073 +vn -0.435072 0.811579 -0.389904 +vn -0.512284 0.792688 -0.330454 +vn 0.599994 0.055116 -0.798090 +vn -0.746666 0.571581 -0.340190 +vn -0.862728 0.338237 -0.375835 +vn -0.910428 0.198950 -0.362651 +vn -0.901608 0.135624 -0.410688 +vn -0.915708 0.075045 -0.394757 +vn -0.918699 0.024628 -0.394116 +vn -0.924772 -0.056764 -0.376232 +vn -0.925352 -0.191839 -0.326884 +vn -0.782006 -0.523820 -0.337626 +vn -0.461684 -0.839503 -0.286386 +vn -0.573840 -0.726463 -0.378033 +vn -0.622364 -0.639576 -0.451155 +vn -0.625782 -0.594836 -0.504471 +vn -0.562181 -0.637196 -0.527177 +vn -0.538377 -0.742637 -0.398236 +vn -0.639271 -0.761773 -0.104831 +vn -0.738365 -0.674001 0.022279 +vn -0.807947 -0.589038 0.013489 +vn -0.836268 -0.529283 -0.143010 +vn -0.886044 -0.366527 -0.283761 +vn -0.899258 -0.258705 -0.352611 +vn -0.873531 -0.362133 -0.325205 +vn -0.828730 -0.529405 -0.181371 +vn -0.839595 -0.517350 -0.165380 +vn -0.901883 -0.330210 -0.278451 +vn -0.920530 -0.149144 -0.361034 +vn -0.925993 -0.045381 -0.374767 +vn -0.932157 -0.037965 -0.359966 +vn -0.970641 -0.040040 -0.237037 +vn -0.982788 -0.058962 -0.174902 +vn -0.976623 -0.008972 -0.214759 +vn -0.944914 0.085360 -0.315897 +vn -0.912320 0.124790 -0.389935 +vn -0.900540 0.152348 -0.407178 +vn -0.897366 0.187841 -0.399274 +vn -0.930204 0.160100 -0.330241 +vn -0.957732 0.124851 -0.259041 +vn -0.940214 0.198981 -0.276345 +vn -0.873867 0.294595 -0.386670 +vn -0.827265 0.338328 -0.448469 +vn -0.824976 0.365764 -0.430769 +vn -0.857723 0.318247 -0.403729 +vn -0.756157 0.399548 -0.518204 +vn -0.681661 0.422254 -0.597491 +vn 0.014161 -0.996033 0.087527 +vn 0.030366 -0.995758 0.086764 +vn 0.054353 0.799646 -0.597980 +vn 0.038087 0.810236 -0.584857 +vn 0.159673 0.853298 -0.496353 +vn 0.481216 0.619221 -0.620441 +vn 0.378216 0.619739 -0.687613 +vn 0.420789 0.705741 -0.569933 +vn -0.229316 0.712943 -0.662618 +vn 0.744407 0.228126 -0.627522 +vn -0.463088 -0.300943 -0.833644 +vn -0.556658 -0.219581 -0.801172 +vn -0.465957 -0.114353 -0.877346 +vn 0.328135 0.325205 -0.886868 +vn -0.709220 -0.195318 -0.677358 +vn -0.765191 -0.001801 -0.643757 +vn -0.614154 0.031526 -0.788507 +vn -0.756523 0.120731 -0.642689 +vn -0.242195 0.929289 -0.278756 +vn -0.203681 0.920042 -0.334666 +vn -0.256874 0.909665 -0.326304 +vn -0.267861 0.919156 -0.288736 +vn 0.223365 0.419507 -0.879818 +vn -0.859340 0.128544 -0.494949 +vn -0.781213 0.111148 -0.614246 +vn -0.870968 0.151830 -0.467238 +vn -0.839045 0.226386 -0.494644 +vn -0.794458 0.215155 -0.567888 +vn -0.745109 0.150395 -0.649709 +vn -0.680929 0.203009 -0.703604 +vn -0.688253 0.256447 -0.678579 +vn -0.766228 0.233039 -0.598804 +vn -0.842769 0.259316 -0.471633 +vn -0.884701 0.332560 -0.326579 +vn -0.866634 0.455519 -0.203406 +vn -0.720786 0.493484 -0.486679 +vn -0.725425 0.359966 -0.586627 +vn -0.746361 0.583544 -0.319926 +vn -0.748131 0.639088 -0.178472 +vn -0.719748 0.689779 -0.078280 +vn -0.606525 0.541124 -0.582446 +vn 0.417463 0.737419 -0.530931 +vn -0.684072 0.476089 -0.552599 +vn -0.598102 0.301309 -0.742576 +vn -0.598437 0.583972 -0.548448 +vn -0.515976 0.705741 -0.485427 +vn -0.421430 0.808527 -0.410657 +vn -0.455031 0.820826 -0.345134 +vn -0.383923 0.846492 -0.368816 +vn -0.749443 0.593249 -0.293863 +vn -0.881954 0.340922 -0.325419 +vn -0.915922 0.217200 -0.337474 +vn -0.945402 0.121128 -0.302469 +vn -0.943480 0.095126 -0.317454 +vn -0.948943 0.029389 -0.313974 +vn -0.948180 -0.052675 -0.313273 +vn -0.912992 -0.223579 -0.341166 +vn -0.372570 -0.922239 -0.103030 +vn -0.589343 -0.741325 -0.321055 +vn -0.614612 -0.674032 -0.409742 +vn -0.587115 -0.630818 -0.507248 +vn -0.596515 -0.634754 -0.491134 +vn -0.638356 -0.697745 -0.324961 +vn -0.698447 -0.702872 -0.134434 +vn -0.759026 -0.650807 0.016938 +vn -0.753594 -0.650472 -0.094577 +vn -0.784143 -0.576922 -0.228584 +vn -0.867183 -0.400678 -0.295633 +vn -0.903256 -0.270943 -0.332682 +vn -0.913297 -0.307169 -0.267342 +vn -0.850307 -0.498062 -0.169866 +vn -0.822596 -0.548784 -0.148717 +vn -0.876431 -0.391552 -0.280160 +vn -0.912137 -0.175451 -0.370373 +vn -0.907590 -0.054048 -0.416333 +vn -0.937376 0.062197 -0.342692 +vn -0.976714 0.036714 -0.211280 +vn -0.995331 -0.025697 -0.092959 +vn -0.997253 -0.030366 -0.067141 +vn -0.983459 -0.032105 -0.178106 +vn -0.943663 0.053224 -0.326548 +vn -0.907132 0.127415 -0.401044 +vn -0.869716 0.178777 -0.460005 +vn -0.858211 0.186682 -0.478103 +vn -0.881100 0.160314 -0.444899 +vn -0.901395 0.182592 -0.392560 +vn -0.893613 0.238044 -0.380474 +vn -0.869594 0.289956 -0.399579 +vn -0.803888 0.395947 -0.443770 +vn -0.869381 0.301767 -0.391247 +vn -0.844142 0.266213 -0.465316 +vn -0.704367 0.319407 -0.633869 +vn -0.010285 0.817469 -0.575823 +vn -0.042970 0.784356 -0.618763 +vn -0.004761 0.770562 -0.637287 +vn 0.384259 -0.914243 0.128269 +vn -0.076052 0.686941 -0.722678 +vn 0.004883 0.705832 -0.708335 +vn -0.019013 0.822169 -0.568896 +vn -0.193426 0.878475 -0.436842 +vn -0.132969 0.811487 -0.569018 +vn -0.057955 0.760430 -0.646779 +vn -0.042940 0.638142 -0.768670 +vn -0.235054 0.629414 -0.740654 +vn -0.157384 0.687704 -0.708670 +vn -0.575396 -0.404950 -0.710562 +vn -0.723228 -0.348247 -0.596332 +vn -0.821253 -0.134281 -0.554491 +vn -0.853511 0.032472 -0.520035 +vn -0.860195 0.044160 -0.507981 +vn -0.839534 0.028840 -0.542467 +vn -0.827082 0.135655 -0.545396 +vn -0.807825 0.280007 -0.518632 +vn -0.745232 0.353282 -0.565477 +vn -0.750725 0.287790 -0.594592 +vn -0.727165 0.292062 -0.621204 +vn -0.239204 0.928587 -0.283639 +vn -0.771905 0.227577 -0.593585 +vn -0.641163 0.324168 -0.695547 +vn -0.862972 0.177831 -0.472884 +vn -0.875057 0.179540 -0.449416 +vn -0.825434 0.146062 -0.545244 +vn -0.791498 0.056246 -0.608539 +vn -0.746696 0.163549 -0.644704 +vn -0.697989 0.317209 -0.641987 +vn -0.744804 0.284555 -0.603504 +vn -0.737785 0.311838 -0.598651 +vn -0.769127 0.417615 -0.483718 +vn -0.780297 0.554491 -0.289163 +vn -0.680471 0.234779 -0.694113 +vn -0.713523 0.267647 -0.647450 +vn -0.746666 0.445265 -0.494156 +vn -0.729087 0.327128 -0.601123 +vn -0.723716 0.588061 -0.361095 +vn -0.722068 0.663533 -0.195715 +vn -0.710898 0.701865 -0.044496 +vn -0.681478 0.726615 0.087069 +vn -0.669759 0.601550 -0.435286 +vn -0.530320 0.728813 -0.433058 +vn -0.444472 0.828059 -0.341594 +vn -0.382794 0.838160 -0.388470 +vn -0.767296 -0.640034 0.039644 +vn -0.774529 -0.632344 0.014222 +vn -0.417707 0.854457 -0.308847 +vn -0.394726 0.851192 -0.345866 +vn -0.708823 0.656514 -0.257942 +vn -0.910245 0.345500 -0.228187 +vn -0.941862 0.238319 -0.236824 +vn -0.965270 0.151891 -0.212531 +vn -0.978942 0.084506 -0.185766 +vn -0.982421 0.029450 -0.184210 +vn -0.963469 -0.093051 -0.251045 +vn -0.930479 -0.265847 -0.251991 +vn -0.587268 -0.759392 -0.279946 +vn -0.576464 -0.714988 -0.395550 +vn -0.578051 -0.642476 -0.503006 +vn -0.697317 -0.599322 -0.393078 +vn -0.714042 -0.656178 -0.243965 +vn -0.710318 -0.659200 -0.246651 +vn -0.714713 -0.638173 -0.286081 +vn -0.667867 -0.648274 -0.365581 +vn -0.742180 -0.548265 -0.385418 +vn -0.834071 -0.382641 -0.397320 +vn -0.904660 -0.226661 -0.360820 +vn -0.921049 -0.258583 -0.291147 +vn -0.849330 -0.477462 -0.225043 +vn -0.788965 -0.571917 -0.224494 +vn -0.847407 -0.433210 -0.306864 +vn -0.883114 -0.226814 -0.410627 +vn -0.890103 -0.042207 -0.453749 +vn -0.891324 0.139073 -0.431440 +vn -0.928465 0.156682 -0.336741 +vn -0.983490 0.035890 -0.177282 +vn -0.993835 -0.057222 -0.094821 +vn -0.969390 -0.121860 -0.213050 +vn -0.956084 -0.020234 -0.292367 +vn -0.929258 0.060823 -0.364360 +vn -0.906888 0.117374 -0.404645 +vn -0.879177 0.171300 -0.444594 +vn -0.867977 0.194342 -0.456923 +vn -0.877743 0.196997 -0.436720 +vn -0.859279 0.265023 -0.437452 +vn -0.878079 0.273263 -0.392804 +vn -0.825739 0.353496 -0.439467 +vn -0.809626 0.347942 -0.472640 +vn -0.893338 0.174749 -0.413923 +vn -0.801050 0.157323 -0.577502 +vn -0.682272 -0.135868 -0.718345 +vn -0.665517 -0.500504 -0.553636 +vn -0.615497 -0.305338 -0.726554 +vn -0.676382 -0.399762 -0.618580 +vn -0.652303 -0.433027 -0.622028 +vn -0.698599 -0.442488 -0.562212 +vn -0.557024 -0.469985 -0.684683 +vn -0.812281 -0.295694 -0.502731 +vn -0.885800 -0.086367 -0.455916 +vn -0.908505 0.054048 -0.414289 +vn -0.902219 0.032960 -0.429975 +vn -0.906461 0.015595 -0.421949 +vn -0.892483 0.145451 -0.426923 +vn -0.850581 0.271462 -0.450270 +vn -0.795984 0.320353 -0.513565 +vn -0.773247 0.259224 -0.578661 +vn -0.731346 0.254372 -0.632771 +vn -0.706229 0.276589 -0.651662 +vn -0.691031 0.256569 -0.675741 +vn -0.582110 0.285134 -0.761437 +vn -0.621204 0.335826 -0.707999 +vn 0.453291 0.579485 -0.677236 +vn -0.589129 0.338298 -0.733787 +vn -0.603442 0.304666 -0.736869 +vn -0.745109 0.282052 -0.604358 +vn -0.850551 0.163366 -0.499863 +vn -0.859188 0.075289 -0.506027 +vn -0.822535 0.031129 -0.567797 +vn -0.812281 0.150700 -0.563402 +vn -0.759514 0.329753 -0.560686 +vn -0.747917 0.314310 -0.584643 +vn -0.756828 0.322703 -0.568346 +vn -0.724601 0.499985 -0.474258 +vn -0.767296 0.411389 -0.491928 +vn -0.763359 0.552080 -0.335307 +vn -0.721000 0.666951 -0.187811 +vn -0.682455 0.728813 -0.055422 +vn -0.651112 0.749107 0.121830 +vn -0.596942 0.728690 -0.335521 +vn -0.380047 0.883480 -0.273812 +vn -0.382977 0.856349 -0.346324 +vn -0.694357 0.704215 -0.147984 +vn -0.907346 0.381603 -0.176214 +vn -0.957640 0.241371 -0.156957 +vn -0.973479 0.183477 -0.136601 +vn -0.990722 0.113651 -0.074282 +vn -0.997864 -0.000153 -0.065035 +vn -0.988952 -0.114811 -0.093478 +vn -0.920682 -0.358409 -0.154393 +vn -0.691977 -0.650868 -0.312204 +vn 0.338969 -0.298379 -0.892209 +vn -0.531022 -0.768822 -0.356182 +vn -0.583178 -0.741020 -0.332774 +vn -0.695822 -0.586596 -0.414319 +vn -0.726646 -0.642018 -0.244423 +vn -0.662618 -0.674825 -0.324839 +vn -0.605640 -0.641865 -0.470260 +vn -0.641499 -0.593738 -0.485702 +vn -0.752007 -0.485336 -0.445967 +vn -0.841060 -0.325938 -0.431684 +vn -0.899899 -0.164220 -0.403943 +vn -0.906064 -0.215644 -0.364025 +vn -0.857906 -0.446822 -0.253609 +vn -0.796472 -0.580706 -0.168371 +vn -0.816065 -0.490341 -0.305918 +vn -0.890255 -0.252846 -0.378735 +vn -0.898953 -0.064211 -0.433241 +vn -0.870418 0.115085 -0.478622 +vn -0.843440 0.243660 -0.478744 +vn -0.920072 0.158513 -0.358165 +vn -0.976989 -0.053865 -0.206305 +vn -0.933622 -0.192999 -0.301737 +vn -0.912442 -0.084628 -0.400281 +vn -0.889401 0.048708 -0.454451 +vn -0.912168 0.148137 -0.382031 +vn -0.935423 0.160863 -0.314737 +vn -0.921323 0.200323 -0.333140 +vn -0.922086 0.201300 -0.330424 +vn -0.897061 0.259682 -0.357494 +vn -0.882717 0.283242 -0.374889 +vn -0.870052 0.302255 -0.389386 +vn -0.812037 0.344462 -0.471053 +vn -0.853420 0.206519 -0.478500 +vn -0.888028 -0.000153 -0.459731 +vn -0.732871 -0.257729 -0.629627 +vn -0.649892 -0.475600 -0.592792 +vn -0.664144 -0.496933 -0.558489 +vn -0.693564 -0.426679 -0.580370 +vn -0.685263 -0.431471 -0.586688 +vn -0.737419 -0.381756 -0.557146 +vn -0.832759 -0.221870 -0.507218 +vn -0.920072 -0.006256 -0.391614 +vn -0.940764 0.062868 -0.333171 +vn -0.939909 0.035340 -0.339488 +vn -0.947508 0.038575 -0.317301 +vn -0.943541 0.116977 -0.309824 +vn -0.901791 0.211249 -0.376995 +vn -0.829493 0.237648 -0.505387 +vn -0.768792 0.176061 -0.614734 +vn -0.715171 0.182470 -0.674673 +vn -0.682577 0.272927 -0.677908 +vn -0.709433 0.240883 -0.662282 +vn -0.707907 0.180456 -0.682821 +vn -0.662770 0.232521 -0.711753 +vn -0.580035 0.364177 -0.728629 +vn -0.601154 0.403882 -0.689535 +vn -0.764672 0.263314 -0.588092 +vn -0.859951 0.065432 -0.506088 +vn -0.850368 0.001953 -0.526170 +vn -0.850429 0.160833 -0.500839 +vn -0.808740 0.301767 -0.504807 +vn -0.754234 0.275918 -0.595782 +vn -0.700369 0.339305 -0.627918 +vn -0.670705 0.559984 -0.486343 +vn -0.825068 0.450392 -0.341105 +vn -0.746239 0.354045 -0.563677 +vn -0.738212 0.650655 -0.177862 +vn -0.696768 0.716910 -0.023072 +vn -0.626118 0.776940 0.065432 +vn -0.707450 0.703513 -0.067354 +vn -0.481216 0.845668 -0.230781 +vn -0.380718 0.893948 -0.236366 +vn -0.378582 0.871395 -0.311930 +vn -0.365703 0.911588 -0.187689 +vn -0.670675 0.734733 -0.101505 +vn -0.929685 0.365764 -0.043184 +vn -0.960936 0.273019 -0.044801 +vn -0.974975 0.222205 0.004700 +vn -0.989105 0.141484 0.040498 +vn -0.999542 -0.003845 0.029359 +vn -0.990112 -0.138279 0.023103 +vn -0.877773 -0.465987 -0.110996 +vn -0.821925 -0.550554 -0.145878 +vn 0.001099 -0.980163 0.198065 +vn -0.623157 -0.692862 -0.362682 +vn -0.708640 -0.653279 -0.266457 +vn -0.622791 -0.722007 -0.301309 +vn -0.614734 -0.680624 -0.398511 +vn -0.728019 -0.578478 -0.367870 +vn -0.812403 -0.474654 -0.338572 +vn -0.876156 -0.314890 -0.364849 +vn -0.901364 -0.160131 -0.402326 +vn -0.900418 -0.169713 -0.400464 +vn -0.881100 -0.377758 -0.284494 +vn -0.785852 -0.588427 -0.190100 +vn -0.804010 -0.512742 -0.301004 +vn -0.890316 -0.275155 -0.362774 +vn -0.911222 -0.094089 -0.400952 +vn -0.893765 0.079501 -0.441420 +vn -0.845546 0.243507 -0.475051 +vn -0.843745 0.239784 -0.480178 +vn -0.889645 -0.047914 -0.454085 +vn -0.862606 -0.230415 -0.450301 +vn -0.873043 -0.116214 -0.473556 +vn -0.882290 0.077364 -0.464248 +vn -0.883297 0.224097 -0.411756 +vn -0.927213 0.210089 -0.309946 +vn -0.943937 0.204505 -0.259072 +vn -0.946654 0.200964 -0.251900 +vn -0.929991 0.229621 -0.286935 +vn -0.897336 0.280251 -0.340861 +vn -0.895932 0.288827 -0.337443 +vn -0.883023 0.286782 -0.371502 +vn -0.856410 0.210334 -0.471480 +vn -0.843776 -0.066591 -0.532487 +vn -0.686605 -0.388867 -0.614246 +vn -0.636982 -0.462264 -0.616871 +vn -0.677755 -0.464553 -0.569903 +vn -0.673696 -0.444075 -0.590655 +vn -0.679891 -0.408948 -0.608661 +vn -0.758995 -0.296030 -0.579852 +vn -0.867611 -0.084384 -0.490005 +vn -0.913999 0.076266 -0.398419 +vn -0.933012 0.084262 -0.349742 +vn -0.945402 0.036073 -0.323832 +vn -0.948485 0.045747 -0.313456 +vn -0.944639 0.115116 -0.307169 +vn -0.934172 0.142766 -0.326975 +vn -0.900784 0.117344 -0.418073 +vn -0.808222 0.062655 -0.585528 +vn -0.746025 0.140294 -0.650929 +vn -0.700766 0.296670 -0.648732 +vn -0.732810 0.289499 -0.615741 +vn -0.783807 0.215796 -0.582263 +vn -0.805506 0.226447 -0.547563 +vn -0.719321 0.358135 -0.595203 +vn -0.608356 0.486251 -0.627216 +vn -0.699118 0.396527 -0.594928 +vn -0.845515 0.107578 -0.522935 +vn -0.870388 0.018921 -0.491958 +vn -0.858638 0.176427 -0.481216 +vn -0.833522 0.215461 -0.508713 +vn -0.739128 0.175939 -0.650136 +vn -0.683981 0.291543 -0.668691 +vn -0.585253 0.585009 -0.561418 +vn 0.438734 0.110141 -0.891812 +vn -0.705863 0.704886 -0.069521 +vn 0.007843 0.245705 -0.969298 +vn -0.561541 0.821406 -0.099612 +vn -0.384136 0.904233 -0.186377 +vn -0.352153 0.931089 -0.095065 +vn -0.595996 0.801416 -0.050050 +vn -0.905698 0.423353 0.021485 +vn -0.948912 0.296060 0.108982 +vn -0.956786 0.243782 0.158422 +vn -0.978545 0.127171 0.162053 +vn -0.993378 -0.025575 0.111789 +vn -0.978271 -0.202826 0.042817 +vn -0.533311 -0.816431 -0.221259 +vn -0.263619 -0.378216 -0.887356 +vn -0.599322 -0.748589 -0.283547 +vn -0.617573 -0.734306 -0.281625 +vn -0.681814 -0.691122 -0.239723 +vn -0.784356 -0.581286 -0.216437 +vn -0.823939 -0.495437 -0.274972 +vn -0.882290 -0.338786 -0.326731 +vn -0.900082 -0.188116 -0.392956 +vn -0.903165 -0.138798 -0.406171 +vn -0.876522 -0.333232 -0.347331 +vn -0.770959 -0.596698 -0.222571 +vn -0.817713 -0.531144 -0.221839 +vn -0.894864 -0.304575 -0.326212 +vn -0.932340 -0.108402 -0.344890 +vn -0.922575 0.049654 -0.382519 +vn -0.890622 0.221595 -0.397046 +vn -0.871242 0.211859 -0.442701 +vn -0.870693 -0.052248 -0.488968 +vn -0.939543 -0.171575 -0.296274 +vn -0.963591 -0.117649 -0.240059 +vn -0.936583 0.052034 -0.346507 +vn -0.877590 0.274941 -0.392682 +vn -0.901059 0.291269 -0.321238 +vn -0.946471 0.224464 -0.231849 +vn -0.947966 0.194769 -0.251747 +vn -0.943480 0.173986 -0.282083 +vn -0.895016 0.256417 -0.364849 +vn -0.889920 0.282998 -0.357616 +vn -0.888516 0.277322 -0.365520 +vn -0.920499 0.136876 -0.365886 +vn -0.858547 -0.183935 -0.478561 +vn -0.685141 -0.486465 -0.542100 +vn -0.682974 -0.462783 -0.565081 +vn -0.680349 -0.467147 -0.564653 +vn -0.651357 -0.455153 -0.607044 +vn -0.710166 -0.364483 -0.602313 +vn -0.823359 -0.203803 -0.529618 +vn -0.888150 -0.006836 -0.459456 +vn 0.478866 0.000793 -0.877865 +vn 0.517594 0.114933 -0.847835 +vn 0.299722 0.373180 -0.877987 +vn -0.075472 0.472701 -0.877957 +vn -0.115207 0.484939 -0.866909 +vn -0.594409 -0.770409 -0.230415 +vn -0.487594 0.373577 -0.789087 +vn -0.493912 0.356578 -0.792993 +vn -0.331980 -0.931608 -0.147923 +vn 0.633747 0.576495 -0.515732 +vn 0.551012 0.635945 -0.540300 +vn 0.530839 0.683493 -0.500992 +vn 0.303568 0.688894 -0.658193 +vn 0.177160 0.227271 -0.957549 +vn 0.476150 0.782891 -0.400372 +vn 0.285195 0.847285 -0.448012 +vn 0.509140 0.750542 -0.421186 +vn 0.269967 0.366253 -0.890469 +vn 0.388073 0.286935 -0.875790 +vn 0.334391 0.496017 -0.801324 +vn 0.308145 0.324747 -0.894162 +vn 0.332194 0.488754 -0.806665 +vn 0.287790 0.511124 -0.809870 +vn 0.292093 0.818384 -0.494888 +vn 0.059664 0.586322 -0.807855 +vn -0.159337 0.776757 -0.609302 +vn -0.226814 0.808374 -0.543168 +vn -0.206610 0.912290 -0.353526 +vn 0.475570 0.182012 -0.860622 +vn 0.505966 0.162175 -0.847163 +vn -0.129185 0.436476 -0.890347 +vn 0.436537 0.269875 -0.858241 +vn 0.593066 0.475570 -0.649678 +vn -0.177740 0.934385 -0.308725 +vn 0.099124 0.616657 -0.780938 +vn -0.145940 0.914609 -0.377026 +vn 0.082827 0.738853 -0.668722 +vn 0.370434 0.762017 -0.531053 +vn 0.372326 0.702689 -0.606250 +vn 0.362987 0.618244 -0.697104 +vn 0.627979 0.180853 -0.756890 +vn 0.632679 0.164861 -0.756615 +vn 0.325297 0.508530 -0.797204 +vn 0.241401 0.721580 -0.648823 +vn 0.205481 0.573840 -0.792749 +vn 0.174139 0.730125 -0.660726 +vn 0.467391 0.572344 -0.673757 +vn 0.428663 0.596118 -0.678854 +vn 0.156987 0.842433 -0.515397 +vn 0.766320 0.426099 -0.480758 +vn 0.790338 0.429151 -0.437239 +vn 0.741661 0.445082 -0.501785 +vn 0.424940 0.442244 -0.789819 +vn 0.623402 0.168920 -0.763421 +vn 0.421247 0.795709 -0.435133 +vn 0.491409 0.606830 -0.624653 +vn 0.507584 0.543962 -0.668142 +vn 0.428388 0.596118 -0.679006 +vn 0.538377 0.468947 -0.700125 +vn 0.142003 0.182867 -0.972808 +vn 0.109165 0.383007 -0.917264 +vn -0.142308 0.481887 -0.864559 +vn -0.123875 0.420820 -0.898618 +vn -0.142582 0.409680 -0.900998 +vn 0.410596 0.635884 -0.653462 +vn 0.527604 0.709433 -0.467208 +vn 0.577044 0.654317 -0.488723 +vn 0.640400 0.533341 -0.552599 +vn 0.436171 0.375835 -0.817591 +vn 0.466659 0.289926 -0.835536 +vn 0.345073 0.370464 -0.862362 +vn 0.383190 0.344615 -0.856929 +vn 0.087527 0.764306 -0.638844 +vn 0.316202 0.378399 -0.869930 +vn 0.202521 0.640370 -0.740867 +vn -0.095798 0.811182 -0.576861 +vn -0.480575 0.361644 -0.798883 +vn 0.322825 0.885922 -0.332987 +vn 0.576891 0.623066 -0.528123 +vn -0.061525 0.791070 -0.608600 +vn -0.033723 0.712058 -0.701285 +vn -0.036561 0.546037 -0.836940 +vn -0.007355 0.587634 -0.809076 +vn 0.450606 0.458419 -0.766015 +vn 0.374950 0.548875 -0.747063 +vn 0.356456 0.582049 -0.730827 +vn 0.417158 0.543168 -0.728629 +vn 0.438520 0.527421 -0.727622 +vn 0.413800 0.471541 -0.778710 +vn 0.443403 0.447340 -0.776666 +vn 0.480422 0.275155 -0.832728 +vn 0.342051 0.259865 -0.903012 +vn 0.513382 0.108860 -0.851192 +vn 0.357952 0.182745 -0.915677 +vn 0.372753 0.269692 -0.887845 +vn 0.414228 -0.909696 0.028382 +vn 0.292734 0.344676 -0.891873 +vn 0.209723 0.662038 -0.719504 +vn 0.318369 0.313242 -0.894711 +vn 0.200598 0.503983 -0.840052 +vn 0.183966 0.474685 -0.860683 +vn -0.002960 -0.999969 0.004456 +vn 0.026704 -0.997986 0.057375 +vn 0.048219 0.669362 -0.741325 +vn 0.613422 0.415326 -0.671682 +vn 0.625690 0.446944 -0.639302 +vn 0.544084 0.506546 -0.668844 +vn 0.517624 0.562761 -0.644459 +vn 0.250740 0.556139 -0.792322 +vn 0.398694 0.673147 -0.622791 +vn 0.382336 0.670095 -0.636189 +vn 0.380963 0.705283 -0.597827 +vn 0.153630 0.818232 -0.553911 +vn 0.012574 0.672353 -0.740104 +vn 0.787896 0.477798 -0.388470 +vn 0.796716 -0.001099 -0.604297 +vn 0.497696 0.285623 -0.818934 +vn 0.405225 0.506211 -0.761254 +vn 0.345134 0.704825 -0.619709 +vn 0.380016 0.718436 -0.582537 +vn 0.341655 0.711142 -0.614429 +vn 0.376202 0.690085 -0.618244 +vn -0.711234 -0.625813 -0.320109 +vn -0.707205 -0.593646 -0.383892 +vn -0.346202 0.805170 -0.481460 +vn -0.287912 0.822626 -0.490280 +vn 0.024323 0.661367 -0.749657 +vn -0.098514 0.601489 -0.792749 +vn 0.106662 0.874935 -0.472304 +vn 0.547472 0.178991 -0.817438 +vn 0.223792 0.411939 -0.883267 +vn 0.039583 -0.991272 -0.125523 +vn 0.121067 -0.695822 0.707907 +vn -0.020386 0.705435 -0.708457 +vn -0.025758 0.148412 -0.988556 +vn -0.155156 0.062746 -0.985870 +vn -0.056764 0.097781 -0.993561 +vn 0.394482 0.433424 -0.810236 +vn 0.331126 0.409040 -0.850307 +vn -0.055757 0.479110 -0.875973 +vn 0.391644 0.701102 -0.595813 +vn 0.376690 0.640980 -0.668722 +vn 0.410657 0.653066 -0.636280 +vn 0.477065 0.678243 -0.558885 +vn 0.489578 0.673238 -0.554064 +vn 0.464248 0.658589 -0.592181 +vn 0.402997 0.803156 -0.438734 +vn 0.354625 0.807398 -0.471480 +vn 0.320658 0.846706 -0.424543 +vn -0.002106 0.456496 -0.889706 +vn -0.099826 0.574999 -0.812006 +vn -0.365215 0.876461 -0.313669 +vn 0.564806 0.670553 -0.480911 +vn 0.253639 0.428785 -0.867031 +vn 0.222327 0.464766 -0.857051 +vn 0.175878 0.410474 -0.894742 +vn 0.362621 0.709555 -0.604144 +vn 0.393902 0.704398 -0.590442 +vn 0.462539 0.705588 -0.536790 +vn 0.400403 0.646626 -0.649220 +vn 0.382763 0.631062 -0.674703 +vn 0.434156 0.684469 -0.585589 +vn 0.419782 0.539903 -0.729545 +vn 0.387402 0.482589 -0.785485 +vn 0.438154 0.759026 -0.481491 +vn 0.394879 0.711814 -0.580828 +vn 0.062838 0.749992 -0.658437 +vn 0.656148 0.445784 -0.608844 +vn 0.520707 0.471664 -0.711570 +vn 0.529099 0.326548 -0.783166 +vn -0.062716 0.820032 -0.568834 +vn 0.682607 0.528977 -0.504135 +vn 0.004639 0.630482 -0.776147 +vn -0.077670 0.797937 -0.597705 +vn 0.514786 0.673299 -0.530656 +vn 0.493210 0.681356 -0.540788 +vn 0.315409 0.487716 -0.813990 +vn -0.064180 0.789361 -0.610523 +vn 0.258400 0.395886 -0.881161 +vn -0.026490 0.886135 -0.462600 +vn -0.057497 0.816034 -0.575121 +vn 0.059175 0.003693 -0.998230 +vn 0.124882 0.147771 -0.981079 +vn 0.354747 0.454604 -0.816980 +vn 0.347026 0.468307 -0.812555 +vn 0.289865 0.507096 -0.811670 +vn 0.551195 0.300516 -0.778344 +vn 0.571734 0.398480 -0.717124 +vn 0.508713 0.425184 -0.748589 +vn 0.490280 0.250465 -0.834773 +vn 0.458144 0.522416 -0.719108 +vn -0.205054 0.936552 -0.284188 +vn -0.190252 0.932798 -0.306009 +vn 0.382275 0.286111 -0.878597 +vn 0.372936 0.259102 -0.890927 +vn -0.406018 0.854366 -0.324290 +vn -0.231361 0.334178 -0.913663 +vn -0.187719 0.440809 -0.877743 +vn 0.023316 -0.998993 0.037965 +vn 0.015595 -0.999603 0.022492 +vn 0.376171 0.533372 -0.757591 +vn 0.370159 0.615070 -0.696127 +vn 0.303323 0.488266 -0.818232 +vn -0.120762 0.761650 -0.636586 +vn -0.139042 0.800684 -0.582659 +vn 0.457503 0.780267 -0.426405 +vn 0.463424 0.786004 -0.409131 +vn 0.572619 0.402509 -0.714164 +vn 0.453322 0.763482 -0.459914 +vn 0.477920 0.754265 -0.450148 +vn 0.454115 0.777764 -0.434523 +vn 0.027863 -0.996582 0.077578 +vn 0.022553 -0.997559 0.065828 +vn -0.534928 0.180486 -0.825373 +vn 0.335948 0.267556 -0.903043 +vn 0.350597 0.831599 -0.430647 +vn 0.363109 0.802087 -0.474105 +vn 0.013398 0.746269 -0.665487 +vn -0.132298 0.813471 -0.566332 +vn 0.039552 0.752342 -0.657552 +vn 0.409955 0.227424 -0.883267 +vn 0.489486 0.253182 -0.834407 +vn 0.392163 0.306406 -0.867336 +vn 0.362255 0.273934 -0.890896 +vn 0.447707 0.345653 -0.824641 +vn 0.386425 0.507035 -0.770409 +vn 0.400861 0.483779 -0.777978 +vn 0.413495 0.467849 -0.781091 +vn 0.333689 0.818476 -0.467635 +vn -0.092318 0.473312 -0.876003 +vn 0.056764 0.407971 -0.911222 +vn 0.374554 0.621937 -0.687643 +vn 0.337168 0.604205 -0.721946 +vn 0.344523 0.556597 -0.755943 +vn 0.382733 0.578906 -0.719962 +vn 0.514237 0.392102 -0.762719 +vn 0.568957 0.293100 -0.768334 +vn 0.287790 0.347911 -0.892239 +vn 0.298868 0.360881 -0.883419 +vn -0.020234 0.817469 -0.575579 +vn 0.052370 0.773492 -0.631611 +vn 0.114200 -0.347056 -0.930845 +vn -0.160527 0.517594 -0.840419 +vn 0.090976 0.678243 -0.729148 +vn 0.418470 0.375286 -0.827052 +vn 0.629688 0.437849 -0.641652 +vn -0.144169 0.737297 -0.659963 +vn -0.126957 0.753716 -0.644795 +vn 0.030488 -0.909238 -0.415113 +vn 0.364605 0.210578 -0.907010 +vn -0.041322 0.529801 -0.847102 +vn 0.127659 0.501450 -0.855678 +vn 0.434645 0.479141 -0.762535 +vn 0.767174 0.306619 -0.563372 +vn 0.653035 0.455855 -0.604724 +vn 0.099734 0.712394 -0.694632 +vn 0.263283 0.446791 -0.855007 +vn 0.323954 0.442915 -0.835963 +vn 0.348155 0.475997 -0.807581 +vn 0.464675 0.389782 -0.795038 +vn 0.413221 0.482376 -0.772332 +vn 0.561754 0.195807 -0.803766 +vn 0.545305 0.435591 -0.716147 +vn 0.130772 0.511063 -0.849513 +vn 0.383923 0.485519 -0.785394 +vn -0.245369 0.886593 -0.392041 +vn -0.140446 0.648854 -0.747795 +vn 0.548112 0.666128 -0.505783 +vn -0.016511 0.709189 -0.704794 +vn -0.403333 0.655477 -0.638447 +vn 0.492874 0.249611 -0.833491 +vn 0.516129 0.318552 -0.795038 +vn 0.402051 0.841273 -0.361339 +vn 0.307077 0.878414 -0.366100 +vn 0.443983 0.454421 -0.772210 +vn 0.401196 0.476028 -0.782556 +vn -0.270333 0.903806 -0.331675 +vn 0.596820 0.235481 -0.767022 +vn 0.659017 0.212439 -0.721458 +vn 0.582598 0.172735 -0.794153 +vn -0.208594 0.703818 -0.679037 +vn 0.007630 -0.999542 -0.029237 +vn 0.396161 0.531724 -0.748527 +vn 0.760033 0.475784 -0.442610 +vn -0.608844 0.627552 -0.485214 +vn -0.244636 0.817774 -0.520890 +vn -0.235755 0.866298 -0.440382 +vn 0.701407 0.464339 -0.540696 +vn 0.695151 0.443739 -0.565508 +vn 0.590472 0.209143 -0.779443 +vn 0.432752 0.366283 -0.823725 +vn 0.425306 0.759575 -0.492050 +vn 0.437819 0.749321 -0.496780 +vn 0.110416 -0.014710 -0.993774 +vn 0.465957 0.274087 -0.841243 +vn 0.375439 0.827082 -0.418226 +vn 0.358745 0.802057 -0.477432 +vn 0.359264 0.801263 -0.478378 +vn 0.031190 0.745598 -0.665639 +vn 0.104068 0.270394 -0.957091 +vn 0.485763 0.656301 -0.577288 +vn 0.444075 0.683340 -0.579455 +vn 0.332377 0.707022 -0.624165 +vn 0.380474 0.622120 -0.684225 +vn 0.376476 0.642293 -0.667592 +vn 0.490249 0.628498 -0.603809 +vn 0.651784 0.449080 -0.611133 +vn 0.810724 0.497391 -0.308664 +vn 0.488021 0.277413 -0.827540 +vn 0.475661 0.234535 -0.847743 +vn 0.532029 0.223060 -0.816797 +vn 0.679159 0.396619 -0.617573 +vn 0.161962 0.900143 -0.404279 +vn 0.631977 0.283822 -0.721091 +vn 0.415174 0.359447 -0.835688 +vn 0.148534 0.467391 -0.871456 +vn 0.033906 0.505112 -0.862362 +vn 0.106296 0.797510 -0.593829 +vn 0.474105 0.731773 -0.489608 +vn 0.455306 0.749413 -0.480667 +vn 0.745567 0.345470 -0.569872 +vn 0.616169 0.257118 -0.744438 +vn 0.728355 0.426252 -0.536424 +vn 0.708274 0.189550 -0.679983 +vn 0.575732 0.385083 -0.721244 +vn 0.496139 0.339000 -0.799310 +vn -0.154515 -0.976226 -0.151952 +vn 0.589770 0.172491 -0.788903 +vn 0.103610 0.537156 -0.837092 +vn 0.323954 0.872158 -0.366527 +vn 0.312571 0.520707 -0.794427 +vn 0.498154 0.278848 -0.821009 +vn -0.112125 0.350780 -0.929685 +vn 0.236854 0.921354 -0.308206 +vn 0.205359 0.522294 -0.827631 +vn 0.348613 0.516007 -0.782403 +vn 0.330271 0.556963 -0.762017 +vn 0.319254 0.144993 -0.936491 +vn 0.311716 0.305185 -0.899808 +vn -0.276498 0.824580 -0.493545 +vn -0.221107 0.947661 -0.230262 +vn 0.177984 0.562029 -0.807703 +vn 0.194220 0.551561 -0.811182 +vn -0.247902 0.803217 -0.541612 +vn -0.249580 0.776940 -0.577960 +vn 0.514878 0.285073 -0.808435 +vn -0.080477 0.752556 -0.653554 +vn 0.706717 0.238350 -0.666128 +vn 0.329264 0.276650 -0.902768 +vn 0.597858 0.402905 -0.692953 +vn 0.119388 0.597644 -0.792779 +vn 0.415723 0.803858 -0.425336 +vn 0.590930 0.293924 -0.751213 +vn 0.499893 -0.060945 -0.863918 +vn 0.793237 0.540696 -0.279946 +vn 0.153417 0.493240 -0.856227 +vn 0.123386 0.554308 -0.823084 +vn 0.686514 0.408399 -0.601550 +vn 0.677908 0.443861 -0.585986 +vn 0.682699 0.450942 -0.574908 +vn 0.382214 0.422681 -0.821711 +vn 0.026734 0.378613 -0.925138 +vn 0.226539 0.479202 -0.847957 +vn 0.132817 0.382733 -0.914243 +vn 0.335521 0.612568 -0.715629 +vn 0.300211 0.622059 -0.723106 +vn 0.412305 0.803491 -0.429395 +vn 0.413800 0.815424 -0.404767 +vn 0.186895 0.753929 -0.629780 +vn 0.401410 0.425184 -0.811182 +vn 0.313944 0.501175 -0.806360 +vn 0.576189 0.472854 -0.666616 +vn 0.736137 0.246162 -0.630421 +vn 0.622547 0.371349 -0.688833 +vn 0.583026 0.375927 -0.720206 +vn 0.589373 0.185339 -0.786279 +vn 0.411054 0.802301 -0.432752 +vn 0.020508 0.687613 -0.725761 +vn 0.612201 0.654103 -0.444197 +vn -0.543443 0.531297 -0.649892 +vn -0.215583 0.900540 -0.377514 +vn -0.264840 0.869991 -0.415876 +vn 0.437269 0.731040 -0.523759 +vn 0.012879 0.664327 -0.747276 +vn 0.431074 0.729240 -0.531327 +vn 0.703696 0.377148 -0.602100 +vn 0.319407 0.720939 -0.614948 +vn 0.475448 0.367962 -0.799066 +vn -0.651112 0.291879 -0.700583 +vn 0.627308 0.367840 -0.686392 +vn 0.583911 0.270882 -0.765252 +vn 0.527329 0.192297 -0.827570 +vn 0.726676 0.174230 -0.664479 +vn 0.684561 0.119327 -0.719077 +vn -0.574908 -0.026978 -0.817743 +vn 0.462630 0.284127 -0.839747 +vn 0.368023 0.404828 -0.837031 +vn 0.290811 0.382916 -0.876797 +vn -0.242470 0.869320 -0.430647 +vn -0.172887 0.866848 -0.467574 +vn 0.583880 0.488815 -0.648122 +vn 0.556688 0.392895 -0.731895 +vn 0.454360 0.288400 -0.842799 +vn -0.139988 0.283090 -0.948790 +vn 0.331614 0.819330 -0.467605 +vn 0.151311 0.840388 -0.520402 +vn 0.537980 0.465560 -0.702689 +vn 0.528489 0.427045 -0.733665 +vn 0.442640 0.557512 -0.702261 +vn 0.434065 0.791253 -0.430616 +vn -0.342723 0.719260 -0.604297 +vn 0.550554 0.457747 -0.698080 +vn 0.547380 0.315012 -0.775292 +vn 0.710288 0.468703 -0.525101 +vn 0.706931 0.539506 -0.457289 +vn 0.774041 0.499130 -0.389447 +vn 0.710440 0.428449 -0.558275 +vn 0.649739 0.498795 -0.573595 +vn 0.613086 0.311045 -0.726188 +vn 0.550737 0.265236 -0.791375 +vn 0.638264 0.538743 -0.549852 +vn 0.586840 0.548692 -0.595416 +vn 0.401318 0.540147 -0.739677 +vn 0.424909 0.458449 -0.780541 +vn 0.379437 0.253700 -0.889737 +vn 0.443098 0.252968 -0.860012 +vn 0.432508 0.280435 -0.856868 +vn 0.412702 0.636494 -0.651509 +vn 0.617725 0.400861 -0.676504 +vn 0.547441 0.346141 -0.761864 +vn 0.555010 0.439406 -0.706290 +vn 0.582934 0.655660 -0.479843 +vn 0.402783 0.461562 -0.790368 +vn -0.268471 -0.876797 0.398846 +vn 0.324137 0.348857 -0.879299 +vn 0.492996 0.374950 -0.785058 +vn 0.292734 0.448408 -0.844508 +vn 0.396466 0.194433 -0.897183 +vn 0.391583 0.316935 -0.863826 +vn 0.504074 0.328074 -0.798914 +vn 0.723136 0.606677 -0.330088 +vn 0.716575 0.589770 -0.372326 +vn 0.720511 0.605609 -0.337687 +vn 0.232307 0.815027 -0.530778 +vn 0.366283 0.804651 -0.467238 +vn 0.410901 0.571673 -0.710135 +vn 0.327128 0.508438 -0.796503 +vn -0.271706 0.574389 -0.772118 +vn -0.005310 0.897671 -0.440626 +vn -0.046449 0.885311 -0.462600 +vn -0.092746 0.716056 -0.691824 +vn 0.365062 0.469710 -0.803766 +vn 0.842463 -0.021058 -0.538285 +vn 0.774285 0.137638 -0.617634 +vn 0.585284 0.321665 -0.744285 +vn 0.296854 0.448714 -0.842921 +vn 0.165746 0.573687 -0.802087 +vn 0.057711 0.537736 -0.841090 +vn 0.374035 0.720359 -0.584063 +vn 0.675771 0.067232 -0.734001 +vn 0.467025 0.394208 -0.791498 +vn 0.622608 0.487594 -0.612018 +vn -0.063662 0.525101 -0.848628 +vn -0.075198 0.559130 -0.825648 +vn -0.115452 0.527085 -0.841914 +vn -0.267281 0.895291 -0.356334 +vn 0.660604 0.255348 -0.705954 +vn -0.088778 0.650472 -0.754295 +vn -0.069216 0.379437 -0.922605 +vn -0.118870 0.468978 -0.875149 +vn -0.100742 0.448042 -0.888302 +vn 0.324473 0.489853 -0.809137 +vn 0.063753 0.702628 -0.708670 +vn -0.007294 0.697287 -0.716727 +vn -0.018952 0.701193 -0.712668 +vn 0.513260 0.263955 -0.816614 +vn 0.510147 0.242195 -0.825251 +vn 0.028962 -0.998321 0.050050 +vn 0.049715 0.726096 -0.685781 +vn 0.075991 0.435804 -0.896817 +vn 0.375256 0.702841 -0.604266 +vn 0.387524 0.544267 -0.744011 +vn 0.567248 0.271218 -0.777581 +vn 0.569842 0.180303 -0.801721 +vn -0.016053 0.902188 -0.431013 +vn 0.413251 0.544969 -0.729514 +vn 0.486496 0.558733 -0.671621 +vn 0.275918 0.622974 -0.731925 +vn 0.558824 0.181127 -0.809259 +vn 0.548631 0.146764 -0.823054 +vn -0.301767 0.008698 -0.953307 +vn -0.452498 -0.037141 -0.890957 +vn 0.395306 -0.899777 0.184667 +vn 0.674886 0.628407 -0.386761 +vn 0.663106 0.620655 -0.418317 +vn 0.640675 0.638783 -0.425947 +vn -0.437727 0.814173 -0.381420 +vn 0.556993 0.158696 -0.815180 +vn 0.768273 0.358989 -0.529923 +vn -0.036164 0.757958 -0.651265 +vn -0.004059 0.714225 -0.699881 +vn 0.676015 0.441084 -0.590228 +vn 0.198370 0.101108 -0.974883 +vn 0.142766 0.174810 -0.974181 +vn 0.036531 0.667531 -0.743645 +vn 0.453658 0.173894 -0.874020 +vn 0.041627 0.672872 -0.738548 +vn -0.431043 0.837428 -0.335978 +vn -0.220740 0.913785 -0.340953 +vn -0.261238 0.894436 -0.362896 +vn -0.284829 0.921873 -0.262581 +vn 0.081240 0.619587 -0.780694 +vn 0.760338 0.561846 -0.325877 +vn 0.667318 0.498672 -0.553117 +vn 0.681112 0.544786 -0.489151 +vn 0.423658 0.440107 -0.791711 +vn 0.488937 0.290811 -0.822382 +vn 0.462752 0.328562 -0.823328 +vn 0.509598 0.380688 -0.771569 +vn -0.240455 0.852168 -0.464705 +vn 0.614490 0.177282 -0.768700 +vn 0.495651 0.231758 -0.837001 +vn 0.460280 0.017396 -0.887570 +vn 0.454512 0.057131 -0.888882 +vn 0.423414 0.269478 -0.864895 +vn 0.340220 0.702200 -0.625385 +vn 0.665242 0.494491 -0.559343 +vn 0.666372 0.451277 -0.593493 +vn 0.268197 0.547105 -0.792901 +vn -0.096683 0.841365 -0.531724 +vn -0.113529 0.855129 -0.505783 +vn -0.157781 0.825068 -0.542528 +vn 0.198218 0.014863 -0.980041 +vn 0.243812 0.080538 -0.966460 +vn 0.890530 0.046419 -0.452528 +vn 0.703482 0.620380 -0.346690 +vn 0.663381 0.634327 -0.396863 +vn 0.676351 0.647267 -0.351482 +vn 0.788568 0.064272 -0.611560 +vn -0.006195 0.101138 -0.994842 +vn 0.547990 0.363781 -0.753227 +vn 0.273721 0.509751 -0.815577 +vn 0.098788 0.617603 -0.780236 +vn -0.058077 0.584002 -0.809656 +vn 0.704520 0.400830 -0.585589 +vn 0.747246 0.319651 -0.582598 +vn -0.020966 0.778832 -0.626820 +vn -0.007416 0.734245 -0.678823 +vn 0.656026 0.356273 -0.665334 +vn 0.576403 0.490463 -0.653554 +vn 0.601398 0.486435 -0.633747 +vn 0.606098 0.521836 -0.600238 +vn 0.349284 0.542131 -0.764244 +vn 0.030091 -0.997803 0.058535 +vn 0.797754 0.474990 -0.371380 +vn 0.022309 0.834315 -0.550768 +vn -0.097446 0.843837 -0.527635 +vn -0.067354 0.604602 -0.793634 +vn -0.089114 0.599261 -0.795556 +vn 0.158086 0.806207 -0.570086 +vn 0.143437 0.763329 -0.629871 +vn 0.024567 0.786126 -0.617542 +vn -0.146123 0.949400 -0.277871 +vn -0.100803 0.950865 -0.292703 +vn 0.039399 0.827998 -0.559313 +vn -0.075320 0.559435 -0.825404 +vn -0.008606 0.819880 -0.572436 +vn -0.083682 0.777551 -0.623188 +vn -0.029511 0.752159 -0.658284 +vn -0.232978 0.486343 -0.842097 +vn -0.159032 0.529984 -0.832942 +vn 0.508164 0.013703 -0.861141 +vn 0.398022 0.844905 -0.357280 +vn 0.298044 0.847407 -0.439314 +vn -0.140690 0.564623 -0.813227 +vn 0.175542 0.916990 -0.358196 +vn -0.440687 0.508072 -0.740013 +vn 0.666768 0.442885 -0.599353 +vn -0.168218 0.544786 -0.821497 +vn 0.097659 -0.995178 -0.006989 +vn 0.130100 -0.991455 -0.008240 +vn -0.136570 0.519150 -0.843684 +vn 0.552568 0.550310 -0.625904 +vn -0.062532 0.426710 -0.902188 +vn -0.018677 0.720756 -0.692923 +vn 0.594989 0.411908 -0.690115 +vn 0.593524 0.519059 -0.615040 +vn -0.171941 0.414869 -0.893460 +vn -0.152074 0.468184 -0.870418 +vn -0.144017 0.427778 -0.892300 +vn 0.337321 0.270974 -0.901517 +vn 0.337962 0.784112 -0.520493 +vn 0.298837 0.827235 -0.475723 +vn 0.090793 0.780602 -0.618336 +vn 0.108798 0.738365 -0.665517 +vn -0.083712 0.944700 -0.316996 +vn -0.060060 0.923856 -0.377972 +vn -0.614154 -0.002441 -0.789148 +vn -0.602008 0.036439 -0.797632 +vn 0.102298 0.861354 -0.497574 +vn -0.240150 0.307138 -0.920835 +vn 0.271035 -0.762719 0.587146 +vn 0.569933 0.024659 -0.821284 +vn 0.233955 -0.157994 -0.959288 +vn 0.000000 -0.999908 -0.011231 +vn -0.185949 -0.982391 0.017975 +vn -0.000031 -0.999695 0.024140 +vn 0.751793 0.303110 -0.585559 +vn 0.358745 0.238044 -0.902554 +vn -0.128452 0.660939 -0.739341 +vn 0.493942 0.412061 -0.765618 +vn 0.558245 0.543565 -0.626759 +vn -0.218451 0.925352 -0.309793 +vn -0.215735 0.929991 -0.297555 +vn 0.216559 0.872646 -0.437696 +vn 0.020417 0.930906 -0.364635 +vn 0.158513 0.846675 -0.507889 +vn 0.132328 0.707724 -0.693960 +vn -0.199042 0.919584 -0.338664 +vn -0.023286 0.799249 -0.600513 +vn -0.048555 -0.850703 0.523331 +vn -0.109287 0.954375 -0.277810 +vn 0.309885 0.829463 -0.464675 +vn -0.007477 0.953887 -0.300027 +vn -0.008179 -0.998657 0.050783 +vn 0.669851 0.339091 -0.660512 +vn 0.613208 0.487503 -0.621509 +vn 0.374401 0.494156 -0.784600 +vn 0.725516 0.354503 -0.589831 +vn 0.414106 0.503586 -0.758202 +vn 0.322153 0.803949 -0.499832 +vn 0.337413 0.788690 -0.513840 +vn 0.135685 0.867275 -0.478927 +vn 0.157140 0.909299 -0.385296 +vn -0.074679 0.877804 -0.473098 +vn 0.094607 0.882534 -0.460585 +vn -0.244209 0.916288 -0.317362 +vn 0.123569 0.448347 -0.885250 +vn -0.005860 -0.998810 0.048097 +vn 0.351573 0.249123 -0.902371 +vn 0.310831 0.274911 -0.909818 +vn 0.085849 0.665700 -0.741234 +vn -0.012909 0.663137 -0.748344 +vn -0.317423 0.696097 -0.643910 +vn -0.202185 0.505051 -0.839045 +vn 0.442732 -0.881619 0.163366 +vn 0.195074 0.070193 -0.978240 +vn -0.335765 0.271737 -0.901883 +vn -0.000549 0.962859 -0.269906 +vn 0.066988 0.900906 -0.428785 +vn 0.216163 0.857326 -0.467147 +vn 0.373699 0.797449 -0.473647 +vn 0.613269 0.697195 -0.371197 +vn 0.315928 0.321238 -0.892727 +vn -0.079836 0.644185 -0.760674 +vn -0.117161 0.620563 -0.775353 +vn 0.293680 0.793664 -0.532762 +vn -0.016388 0.729728 -0.683523 +vn -0.100223 0.863704 -0.493912 +vn -0.103854 0.836970 -0.537278 +vn 0.024415 0.840327 -0.541490 +vn -0.122440 0.401929 -0.907437 +vn -0.027131 0.580920 -0.813501 +vn 0.108798 0.663839 -0.739891 +vn -0.064699 0.878719 -0.472884 +vn -0.144139 0.587970 -0.795923 +vn 0.102298 0.613636 -0.782891 +vn -0.062593 0.811975 -0.580309 +vn 0.348796 0.723716 -0.595416 +vn 0.247291 0.833766 -0.493606 +vn -0.151799 0.589465 -0.793359 +vn 0.098636 0.441908 -0.891598 +vn -0.134220 0.591540 -0.794977 +vn -0.122349 0.575823 -0.808344 +vn 0.303537 0.462050 -0.833277 +vn 0.253578 0.841578 -0.476882 +vn -0.707419 -0.681082 -0.188788 +vn -0.009217 0.870998 -0.491165 +vn 0.075106 0.822474 -0.563768 +vn 0.199774 0.757561 -0.621387 +vn 0.453047 0.624256 -0.636402 +vn 0.670034 0.522233 -0.527512 +vn 0.792413 0.499710 -0.349712 +vn -0.102054 0.555132 -0.825434 +vn -0.099063 0.496323 -0.862423 +vn -0.057711 0.803278 -0.592761 +vn 0.000763 0.757164 -0.653188 +vn -0.056917 0.928709 -0.366405 +vn -0.030305 0.912931 -0.406934 +vn 0.021271 0.905698 -0.423353 +vn -0.019440 0.550951 -0.834284 +vn 0.292764 -0.877712 0.379315 +vn 0.260292 -0.856807 0.445051 +vn -0.259255 0.546953 -0.795984 +vn 0.380627 0.680898 -0.625660 +vn 0.085818 0.964232 -0.250679 +vn -0.471114 0.221381 -0.853816 +vn -0.620136 0.281777 -0.732109 +vn 0.313028 0.784783 -0.534837 +vn 0.020936 0.396588 -0.917753 +vn -0.236824 0.811762 -0.533738 +vn 0.354289 0.735771 -0.577136 +vn 0.344310 0.687155 -0.639699 +vn -0.542924 0.743370 -0.390637 +vn -0.205664 0.812098 -0.546068 +vn -0.135350 0.764641 -0.630055 +vn 0.103214 0.634480 -0.765984 +vn 0.358043 0.518265 -0.776635 +vn 0.528672 0.521104 -0.670003 +vn 0.588946 0.548448 -0.593554 +vn 0.722282 0.472671 -0.504807 +vn 0.670888 0.450911 -0.588672 +vn 0.678060 0.421247 -0.602283 +vn 0.689291 0.408521 -0.598285 +vn 0.147496 0.737144 -0.659413 +vn 0.064821 0.652150 -0.755272 +vn -0.001953 0.661214 -0.750175 +vn -0.047212 0.478042 -0.877041 +vn 0.218207 0.035096 -0.975249 +vn -0.038270 0.509262 -0.859737 +vn -0.112705 0.889157 -0.443464 +vn -0.058809 0.724815 -0.686392 +vn -0.287271 0.899838 -0.328227 +vn -0.331004 0.867855 -0.370464 +vn -0.341350 0.850032 -0.401105 +vn -0.304910 0.866787 -0.394543 +vn -0.347789 0.802698 -0.484451 +vn -0.381054 -0.172094 -0.908383 +vn 0.390118 0.181402 -0.902676 +vn 0.336985 0.635701 -0.694479 +vn -0.189673 0.932279 -0.307993 +vn -0.201514 0.683554 -0.701498 +vn -0.197028 0.926603 -0.320231 +vn 0.314585 0.431166 -0.845637 +vn -0.209876 0.874477 -0.437239 +vn -0.192450 0.831751 -0.520676 +vn -0.447981 0.665456 -0.597003 +vn -0.349101 0.616413 -0.705771 +vn -0.175665 0.499496 -0.848292 +vn 0.000549 0.439772 -0.898099 +vn 0.226783 0.483535 -0.845393 +vn 0.458876 0.558123 -0.691275 +vn 0.565325 0.475784 -0.673757 +vn 0.344310 0.576434 -0.741020 +vn 0.079623 0.890042 -0.448836 +vn 0.075991 0.516709 -0.852748 +vn 0.009461 0.541093 -0.840877 +vn -0.217719 0.842647 -0.492447 +vn -0.072665 0.631977 -0.771538 +vn -0.556566 -0.787133 0.265664 +vn -0.598651 -0.767052 0.230659 +vn -0.559252 -0.786584 0.261635 +vn -0.141026 0.907804 -0.394910 +vn -0.078127 0.590930 -0.802911 +vn 0.345744 0.743492 -0.572375 +vn -0.318613 0.739921 -0.592395 +vn -0.127445 0.211341 -0.969054 +vn 0.233375 0.845363 -0.480453 +vn -0.406476 0.821223 -0.400372 +vn -0.422590 0.684439 -0.594073 +vn 0.206915 0.543321 -0.813593 +vn 0.630238 0.059633 -0.774071 +vn -0.053438 -0.996094 0.069948 +vn -0.593310 0.488662 -0.639637 +vn -0.487716 0.434980 -0.756890 +vn -0.360851 0.383404 -0.850124 +vn -0.216498 0.338694 -0.915616 +vn -0.079623 0.356273 -0.930967 +vn 0.211707 0.460494 -0.862026 +vn 0.434248 0.410688 -0.801691 +vn 0.621815 0.203742 -0.756157 +vn 0.379650 -0.537278 0.753105 +vn -0.309336 0.447279 -0.839167 +vn -0.294839 0.393567 -0.870693 +vn 0.455336 0.406751 -0.791955 +vn -0.110630 0.515702 -0.849574 +vn -0.083316 0.396527 -0.914212 +vn -0.159551 0.436781 -0.885281 +vn 0.047517 0.668447 -0.742210 +vn 0.008942 0.831660 -0.555193 +vn 0.118503 0.353832 -0.927763 +vn 0.301920 0.385723 -0.871792 +vn -0.186895 0.818140 -0.543748 +vn 0.092593 0.307871 -0.946898 +vn -0.201453 0.914243 -0.351451 +vn 0.352489 0.486526 -0.799371 +vn 0.409833 0.406842 -0.816370 +vn 0.351451 0.233314 -0.906644 +vn -0.141789 0.707053 -0.692770 +vn -0.016175 0.677236 -0.735557 +vn 0.416791 -0.866482 0.274667 +vn 0.412305 -0.853572 0.318430 +vn 0.375439 -0.884518 0.276833 +vn -0.213141 0.919492 -0.330241 +vn 0.348674 0.112613 -0.930418 +vn 0.587786 0.198767 -0.784204 +vn 0.681692 0.132603 -0.719504 +vn -0.696463 0.408826 -0.589709 +vn -0.563952 0.318125 -0.762047 +vn -0.225074 0.260384 -0.938871 +vn -0.049867 0.302927 -0.951689 +vn 0.228797 0.275216 -0.933744 +vn 0.450636 0.134953 -0.882412 +vn 0.517136 0.226844 -0.825282 +vn 0.710929 0.134739 -0.690207 +vn 0.461013 0.472457 -0.751122 +vn 0.370251 0.557909 -0.742698 +vn 0.299875 0.487167 -0.820185 +vn 0.291879 0.390454 -0.873104 +vn 0.434156 -0.614551 -0.658620 +vn 0.447920 -0.441115 -0.777642 +vn -0.003204 0.831172 -0.555986 +vn -0.085940 0.609455 -0.788141 +vn -0.149144 0.739311 -0.656606 +vn -0.663900 -0.344340 -0.663808 +vn -0.194739 0.763573 -0.615619 +vn -0.093417 0.457839 -0.884091 +vn 0.169774 0.324198 -0.930601 +vn -0.172918 0.573992 -0.800378 +vn 0.099734 -0.140721 -0.984985 +vn 0.557329 0.179601 -0.810602 +vn -0.641285 0.186438 -0.744285 +vn -0.024903 0.288095 -0.957244 +vn -0.137791 0.257271 -0.956450 +vn 0.377758 -0.713095 -0.590564 +vn 0.268044 0.114109 -0.956603 +vn 0.351482 0.533250 -0.769463 +vn 0.330363 0.595599 -0.732200 +vn 0.329600 0.487533 -0.808466 +vn 0.437086 0.295267 -0.849544 +vn -0.150975 0.760826 -0.631123 +vn -0.135319 0.663808 -0.735527 +vn -0.379009 0.438917 -0.814661 +vn -0.489608 0.253151 -0.834346 +vn 0.287210 0.482772 -0.827265 +vn -0.161901 0.717521 -0.677419 +vn -0.220862 0.906461 -0.359844 +vn 0.033143 0.225288 -0.973724 +vn -0.660756 -0.283914 0.694784 +vn -0.683096 -0.447371 0.577227 +vn 0.599078 0.662313 -0.449843 +vn 0.330912 0.696127 -0.637074 +vn 0.073794 0.745506 -0.662374 +vn -0.037507 0.526902 -0.849086 +vn 0.654134 0.473434 -0.589831 +vn 0.408765 0.557054 -0.722892 +vn 0.347087 0.523942 -0.777795 +vn 0.441084 0.435682 -0.784570 +vn 0.499863 0.077944 -0.862575 +vn -0.373913 0.664632 -0.646840 +vn 0.022736 0.935667 -0.352062 +vn -0.401318 0.574969 -0.712943 +vn -0.410688 0.564776 -0.715751 +vn -0.383465 0.544542 -0.745933 +vn 0.471999 0.019135 -0.881375 +vn -0.393017 0.539232 -0.744774 +vn -0.365123 0.437208 -0.821863 +vn 0.065310 0.775933 -0.627400 +vn -0.027039 0.767632 -0.640278 +vn -0.026856 0.467208 -0.883694 +vn -0.018433 0.694784 -0.718955 +vn -0.040956 0.676901 -0.734886 +vn -0.023438 0.522629 -0.852229 +vn -0.042817 0.671590 -0.739647 +vn -0.092166 0.642048 -0.761101 +vn 0.050386 0.127995 -0.990478 +vn 0.345378 0.483261 -0.804437 +vn 0.476577 0.477523 -0.738090 +vn 0.519150 0.394269 -0.758293 +vn -0.130528 0.443220 -0.886837 +vn -0.028016 0.412824 -0.910367 +vn -0.089297 0.465896 -0.880306 +vn -0.014801 0.695944 -0.717917 +vn -0.016602 0.205481 -0.978515 +vn -0.044313 0.615131 -0.787164 +vn -0.390118 0.584796 -0.711173 +vn -0.337931 0.483108 -0.807672 +vn -0.321940 0.527757 -0.785974 +vn -0.345500 0.575640 -0.741111 +vn -0.363262 0.593860 -0.717856 +vn -0.340953 0.542650 -0.767602 +vn -0.039338 0.843013 -0.536393 +vn -0.103671 0.609577 -0.785882 +vn -0.123783 0.593982 -0.794885 +vn -0.141301 0.561266 -0.815455 +vn -0.100040 0.526902 -0.843989 +vn 0.138188 0.962157 -0.234718 +vn 0.133976 0.962279 -0.236671 +vn -0.070467 0.111148 -0.991272 +vn 0.300882 0.553972 -0.776238 +vn 0.221992 0.460524 -0.859401 +vn -0.376843 0.414716 -0.828211 +vn -0.092898 -0.760369 -0.642781 +vn -0.057344 -0.994140 -0.091586 +vn 0.559343 0.374401 -0.739525 +vn 0.051973 0.702445 -0.709799 +vn -0.289712 0.882199 -0.371105 +vn -0.260842 0.893277 -0.366039 +vn -0.347301 0.618030 -0.705252 +vn -0.238105 0.545915 -0.803247 +vn -0.272896 0.585009 -0.763695 +vn -0.284433 0.645131 -0.709128 +vn -0.296213 0.611774 -0.733421 +vn -0.317362 0.579485 -0.750633 +vn 0.026215 0.261818 -0.964751 +vn 0.025239 0.262612 -0.964538 +vn 0.040010 0.846706 -0.530503 +vn -0.090060 0.892758 -0.441420 +vn 0.215735 -0.129643 -0.967772 +vn -0.032197 0.477432 -0.878048 +vn 0.114566 0.222633 -0.968139 +vn 0.041444 0.284036 -0.957884 +vn -0.302133 0.302194 -0.904080 +vn 0.370891 0.530503 -0.762200 +vn 0.318155 0.450911 -0.833918 +vn 0.208686 0.373791 -0.903714 +vn 0.229408 0.526719 -0.818476 +vn 0.390515 0.198798 -0.898862 +vn 0.488693 0.333232 -0.806269 +vn 0.405988 0.351360 -0.843623 +vn 0.351817 0.368511 -0.860469 +vn 0.349101 0.228217 -0.908841 +vn 0.415479 0.221046 -0.882321 +vn -0.252052 0.803888 -0.538713 +vn 0.288278 -0.650929 0.702231 +vn 0.005310 0.440230 -0.897855 +vn 0.142582 0.438520 -0.887326 +vn 0.267006 0.212317 -0.940001 +vn -0.144200 0.620746 -0.770592 +vn -0.194342 0.533708 -0.823023 +vn -0.011475 0.567553 -0.823237 +vn -0.257118 0.633534 -0.729698 +vn -0.286691 0.636097 -0.716330 +vn -0.300760 0.632038 -0.714164 +vn -0.300333 0.590594 -0.748955 +vn -0.284829 0.557909 -0.779473 +vn 0.648396 0.454237 -0.610889 +vn 0.665578 0.451735 -0.594043 +vn -0.118748 0.892850 -0.434339 +vn -0.004517 0.540361 -0.841395 +vn -0.093570 0.568316 -0.817438 +vn 0.288705 0.532945 -0.795343 +vn 0.081698 0.907620 -0.411695 +vn 0.173070 0.026307 -0.984527 +vn -0.580950 0.144871 -0.800928 +vn 0.136174 0.230384 -0.963500 +vn -0.495773 0.440016 -0.748680 +vn -0.535386 0.510758 -0.672628 +vn 0.513108 0.378491 -0.770348 +vn 0.379040 0.458449 -0.803797 +vn 0.357921 0.354900 -0.863643 +vn 0.001953 0.551927 -0.833888 +vn 0.283181 0.283486 -0.916196 +vn -0.096133 0.629841 -0.770745 +vn -0.191870 0.675344 -0.712088 +vn -0.254707 0.680898 -0.686636 +vn -0.305521 0.655873 -0.690237 +vn -0.310892 0.620685 -0.719779 +vn -0.281961 0.574450 -0.768395 +vn -0.250526 0.550005 -0.796655 +vn -0.242866 0.527573 -0.814020 +vn -0.177801 0.912076 -0.369427 +vn -0.201758 0.926023 -0.318949 +vn 0.010224 0.472365 -0.881314 +vn 0.056093 -0.998291 0.015595 +vn 0.077578 -0.996918 0.009644 +vn 0.067293 -0.997711 -0.000702 +vn 0.096103 0.297678 -0.949797 +vn 0.398083 0.498215 -0.770226 +vn 0.355144 0.484542 -0.799402 +vn 0.120487 0.373302 -0.919828 +vn 0.038240 0.503433 -0.863155 +vn -0.097018 0.603870 -0.791131 +vn -0.171026 0.680319 -0.712638 +vn -0.241279 0.714347 -0.656850 +vn -0.278115 0.698843 -0.658956 +vn -0.273507 0.667928 -0.692099 +vn -0.270882 0.616077 -0.739616 +vn -0.256020 0.557421 -0.789758 +vn -0.213233 0.539567 -0.814447 +vn -0.201361 0.525620 -0.826502 +vn -0.077242 0.970916 -0.226539 +vn -0.106662 0.671041 -0.733665 +vn -0.606677 0.419996 -0.674886 +vn -0.583850 0.295297 -0.756218 +vn -0.221259 0.344127 -0.912442 +vn 0.135136 0.694418 -0.706748 +vn 0.039491 -0.997986 -0.049593 +vn 0.474319 0.509568 -0.717856 +vn 0.474013 0.440321 -0.762474 +vn -0.904569 -0.351787 0.240761 +vn -0.529160 -0.787835 0.315043 +vn 0.086489 0.511368 -0.854976 +vn -0.610126 0.390179 -0.689535 +vn 0.206641 0.358501 -0.910337 +vn -0.065188 0.622364 -0.779962 +vn -0.190466 0.659688 -0.726981 +vn -0.253761 0.703391 -0.663930 +vn -0.269845 0.723258 -0.635639 +vn -0.255501 0.697409 -0.669546 +vn -0.248115 0.669698 -0.699911 +vn -0.236213 0.623188 -0.745506 +vn -0.228034 0.542558 -0.808435 +vn -0.205969 0.509751 -0.835261 +vn -0.169683 0.521867 -0.835963 +vn -0.222785 0.363903 -0.904386 +vn -0.113041 0.750023 -0.651662 +vn -0.149846 0.295114 -0.943602 +vn -0.212073 0.477706 -0.852504 +vn -0.165960 -0.498428 0.850887 +vn -0.155126 -0.510788 0.845546 +vn -0.148350 -0.677480 0.720389 +vn 0.650807 0.083499 -0.754601 +vn 0.144108 0.691946 -0.707389 +vn -0.071810 0.349986 -0.933988 +vn 0.217780 0.788202 -0.575549 +vn 0.295144 0.787011 -0.541704 +vn 0.018860 0.951140 -0.308084 +vn 0.384960 0.868068 -0.313364 +vn 0.628681 0.446791 -0.636464 +vn 0.645863 0.353343 -0.676717 +vn 0.625904 0.253212 -0.737602 +vn 0.574694 0.134342 -0.807245 +vn 0.508377 0.094241 -0.855922 +vn 0.411847 0.089846 -0.906766 +vn 0.368206 0.335490 -0.867061 +vn 0.352245 0.166845 -0.920896 +vn 0.363689 0.126530 -0.922880 +vn 0.111332 0.502457 -0.857387 +vn -0.084384 0.602649 -0.793481 +vn -0.211097 0.688437 -0.693869 +vn -0.260353 0.691702 -0.673574 +vn -0.289254 0.707480 -0.644795 +vn -0.287149 0.709311 -0.643727 +vn -0.249397 0.677725 -0.691671 +vn -0.203681 0.673727 -0.710318 +vn -0.181066 0.607288 -0.773522 +vn -0.182379 0.558977 -0.808863 +vn -0.142308 0.505448 -0.851009 +vn 0.427290 0.223579 -0.876003 +vn 0.386761 -0.842677 0.374523 +vn 0.368908 -0.873074 0.318735 +vn 0.274483 0.292611 -0.915952 +vn 0.248970 0.877285 -0.410321 +vn 0.085086 0.832209 -0.547868 +vn -0.012940 0.778680 -0.627247 +vn -0.556383 0.245827 -0.793695 +vn 0.300882 0.739891 -0.601672 +vn 0.335002 0.646138 -0.685720 +vn -0.034822 0.717856 -0.695273 +vn 0.026948 -0.996460 0.079318 +vn 0.699789 0.321024 -0.638112 +vn 0.690817 0.230293 -0.685354 +vn 0.642567 0.145665 -0.752220 +vn 0.487045 0.273202 -0.829524 +vn 0.183813 0.513504 -0.838160 +vn 0.038118 0.631977 -0.774010 +vn -0.127659 0.705405 -0.697195 +vn -0.212500 0.721519 -0.658925 +vn -0.255196 0.714225 -0.651692 +vn -0.306681 0.718192 -0.624561 +vn -0.298379 0.693716 -0.655477 +vn -0.267617 0.643483 -0.717124 +vn -0.220801 0.635487 -0.739830 +vn -0.191321 0.605152 -0.772759 +vn -0.153142 0.557787 -0.815699 +vn -0.123936 0.517624 -0.846553 +vn -0.102817 0.485488 -0.868160 +vn 0.383007 0.604755 -0.698233 +vn -0.068880 0.694449 -0.716208 +vn -0.096774 0.674703 -0.731681 +vn 0.327280 0.534104 -0.779473 +vn -0.093326 0.659566 -0.745781 +vn 0.719291 0.382031 -0.580187 +vn 0.681753 0.335795 -0.649953 +vn 0.688833 0.219825 -0.690756 +vn 0.623341 0.240669 -0.743950 +vn 0.454634 0.483871 -0.747734 +vn 0.175695 0.653401 -0.736290 +vn -0.030580 0.720664 -0.692587 +vn -0.169469 0.763298 -0.623402 +vn -0.211554 0.744804 -0.632801 +vn -0.265572 0.750420 -0.605213 +vn -0.272408 0.728141 -0.628925 +vn -0.255440 0.675863 -0.691305 +vn -0.222114 0.644429 -0.731681 +vn -0.232826 0.615772 -0.752708 +vn -0.184027 0.572954 -0.798639 +vn -0.123936 0.509781 -0.851314 +vn -0.056978 0.502548 -0.862636 +vn -0.056825 0.479354 -0.875759 +vn -0.082339 0.486862 -0.869564 +vn -0.019044 0.445326 -0.895138 +vn -0.096988 0.440840 -0.892300 +vn 0.271828 0.236000 -0.932920 +vn -0.019715 0.773461 -0.633503 +vn -0.034455 0.731681 -0.680746 +vn -0.106082 0.604694 -0.789331 +vn -0.076144 0.597980 -0.797876 +vn 0.780145 0.362865 -0.509537 +vn 0.747246 0.300119 -0.592883 +vn 0.702109 0.259682 -0.662984 +vn 0.552660 0.448378 -0.702475 +vn 0.289285 0.637501 -0.714042 +vn 0.071261 0.781426 -0.619861 +vn -0.099704 0.802911 -0.587664 +vn -0.168493 0.790918 -0.588244 +vn -0.207495 0.768944 -0.604663 +vn -0.196478 0.764275 -0.614185 +vn -0.168767 0.740226 -0.650807 +vn -0.191351 0.684561 -0.703360 +vn -0.186773 0.637867 -0.747124 +vn -0.158666 0.613025 -0.773949 +vn -0.130192 0.536119 -0.834040 +vn -0.068606 0.466445 -0.881863 +vn 0.008301 0.468307 -0.883511 +vn 0.040681 0.478622 -0.877071 +vn 0.024323 0.481094 -0.876309 +vn 0.005005 0.489883 -0.871761 +vn -0.113437 0.325907 -0.938536 +vn 0.050813 0.218940 -0.974395 +vn -0.053255 0.569964 -0.819910 +vn -0.050356 0.495254 -0.867275 +vn 0.811121 0.353648 -0.465773 +vn 0.781701 0.314402 -0.538560 +vn 0.650533 0.433363 -0.623676 +vn 0.517289 0.603565 -0.606708 +vn 0.208136 0.800317 -0.562243 +vn 0.029054 0.852046 -0.522629 +vn -0.082980 0.845790 -0.526994 +vn -0.121769 0.812250 -0.570391 +vn -0.157353 0.782800 -0.602008 +vn -0.156926 0.756859 -0.634419 +vn -0.134678 0.742851 -0.655751 +vn -0.103610 0.697104 -0.709403 +vn -0.114292 0.636677 -0.762566 +vn -0.110141 0.598254 -0.793664 +vn -0.094882 0.531785 -0.841517 +vn -0.109195 0.427931 -0.897153 +vn -0.032655 0.408307 -0.912229 +vn 0.095248 0.456282 -0.884701 +vn 0.127476 0.477309 -0.869411 +vn 0.115085 0.497848 -0.859554 +vn 0.061403 0.453475 -0.889126 +vn -0.196295 0.934996 -0.295297 +vn -0.160283 0.938444 -0.305918 +vn 0.363292 0.211341 -0.907376 +vn 0.356670 0.170782 -0.918455 +vn 0.008972 0.409314 -0.912320 +vn -0.523209 0.402112 -0.751335 +vn -0.642048 0.148625 -0.752068 +vn -0.663778 0.182409 -0.725333 +vn 0.037904 0.931516 -0.361705 +vn 0.115329 0.343059 -0.932188 +vn 0.789544 0.409619 -0.456954 +vn 0.731162 0.441908 -0.519669 +vn 0.604236 0.600146 -0.524094 +vn 0.305094 0.747246 -0.590320 +vn 0.086154 0.889523 -0.448683 +vn -0.004028 0.885800 -0.464034 +vn -0.074953 0.867885 -0.491012 +vn -0.108005 0.832881 -0.542772 +vn -0.123112 0.796899 -0.591418 +vn -0.147893 0.757073 -0.636311 +vn -0.104129 0.715934 -0.690329 +vn -0.041719 0.680715 -0.731346 +vn -0.042116 0.656545 -0.753105 +vn -0.073336 0.600818 -0.795984 +vn -0.080172 0.536515 -0.840052 +vn -0.111759 0.454237 -0.883816 +vn -0.144017 0.346049 -0.927061 +vn 0.002594 0.373699 -0.927519 +vn 0.142796 0.454604 -0.879147 +vn 0.177709 0.509720 -0.841762 +vn 0.148595 0.472274 -0.868801 +vn -0.521683 0.528581 -0.669637 +vn -0.040773 0.600513 -0.798547 +vn -0.003021 0.715842 -0.698202 +vn -0.045930 0.739647 -0.671407 +vn -0.184179 0.749870 -0.635395 +vn -0.018525 -0.995270 0.095309 +vn 0.021821 -0.997009 0.074038 +vn -0.137364 0.401898 -0.905301 +vn 0.780908 0.513413 -0.355724 +vn 0.747002 0.485458 -0.454207 +vn 0.694174 0.538285 -0.477828 +vn 0.538560 0.730369 -0.420057 +vn 0.271889 0.882870 -0.382824 +vn 0.077395 0.926084 -0.369213 +vn -0.046815 0.910733 -0.410321 +vn -0.090548 0.874538 -0.476394 +vn -0.103488 0.834468 -0.541215 +vn -0.108219 0.806574 -0.581103 +vn -0.044527 0.745323 -0.665181 +vn -0.047761 0.700125 -0.712394 +vn -0.027314 0.668935 -0.742790 +vn -0.037324 0.658650 -0.751488 +vn -0.027467 0.616932 -0.786493 +vn -0.051119 0.546190 -0.836055 +vn -0.074282 0.488418 -0.869411 +vn -0.133610 0.351665 -0.926511 +vn -0.096561 0.275033 -0.956542 +vn 0.070162 0.394116 -0.916349 +vn 0.152257 0.490890 -0.857784 +vn 0.182928 0.474868 -0.860805 +vn 0.055422 -0.997253 0.048799 +vn -0.049440 0.859249 -0.509110 +vn -0.668966 0.058168 -0.740989 +vn -0.677908 0.078524 -0.730918 +vn -0.673452 0.175207 -0.718131 +vn 0.104770 -0.994446 -0.007111 +vn 0.030488 -0.999359 0.018128 +vn -0.340129 -0.887204 0.311655 +vn -0.598590 -0.650044 0.468062 +vn 0.776238 0.540910 -0.323740 +vn 0.733665 0.546800 -0.403333 +vn 0.595080 0.674093 -0.437513 +vn 0.360424 0.852260 -0.379101 +vn 0.246620 0.931608 -0.266915 +vn 0.169103 0.945524 -0.278115 +vn 0.088778 0.934812 -0.343822 +vn 0.046999 0.893399 -0.446760 +vn -0.004181 0.851039 -0.525010 +vn -0.036470 0.793847 -0.606983 +vn -0.020569 0.737846 -0.674612 +vn -0.007721 0.698355 -0.715659 +vn -0.017335 0.677938 -0.734886 +vn -0.020112 0.655812 -0.754631 +vn -0.012604 0.609760 -0.792444 +vn -0.003265 0.550249 -0.834986 +vn 0.008972 0.504990 -0.863033 +vn -0.023072 0.391736 -0.919767 +vn -0.076998 0.233345 -0.969329 +vn -0.002167 0.314097 -0.949370 +vn 0.077548 0.479629 -0.874020 +vn 0.057680 0.484695 -0.872768 +vn 0.104709 -0.893857 -0.435896 +vn 0.773400 0.429487 -0.466170 +vn -0.032350 0.914029 -0.404279 +vn -0.068087 0.857326 -0.510208 +vn -0.074740 0.778558 -0.623096 +vn 0.452101 0.814478 -0.363567 +vn 0.259377 0.920835 -0.291116 +vn 0.181707 0.950804 -0.250801 +vn 0.162786 0.954070 -0.251442 +vn 0.130894 0.942625 -0.307077 +vn 0.125950 0.905911 -0.404248 +vn 0.033143 0.883175 -0.467849 +vn 0.014069 0.805139 -0.592883 +vn 0.008911 0.731925 -0.681295 +vn 0.026399 0.687826 -0.725364 +vn -0.003723 0.682821 -0.730552 +vn 0.028443 0.647511 -0.761498 +vn 0.043275 0.610065 -0.791162 +vn 0.040803 0.531266 -0.846187 +vn 0.082400 0.483535 -0.871426 +vn 0.105869 0.398175 -0.911161 +vn 0.050844 0.247414 -0.967559 +vn -0.004151 0.268807 -0.963164 +vn 0.038423 0.486190 -0.872982 +vn 0.086062 -0.976165 0.199133 +vn -0.087161 0.073672 -0.993439 +vn 0.022706 -0.999512 -0.020936 +vn -0.074679 0.728019 -0.681448 +vn -0.085452 0.704856 -0.704154 +vn -0.081240 0.671499 -0.736503 +vn -0.051668 0.659444 -0.749931 +vn 0.116398 0.962249 -0.245979 +vn 0.095676 0.945433 -0.311350 +vn 0.079073 0.921567 -0.380016 +vn 0.100223 0.880001 -0.464248 +vn 0.104068 0.804407 -0.584857 +vn 0.079348 0.737022 -0.671163 +vn 0.039094 0.711081 -0.702017 +vn 0.028047 0.677480 -0.734977 +vn 0.037446 0.623493 -0.780908 +vn 0.095004 0.589129 -0.802423 +vn 0.128086 0.518204 -0.845576 +vn 0.138371 0.444990 -0.884762 +vn 0.174718 0.383129 -0.906980 +vn 0.126804 0.283761 -0.950468 +vn 0.006409 0.287301 -0.957793 +vn -0.006775 0.487381 -0.873135 +vn -0.024628 0.569475 -0.821589 +vn -0.147313 0.911069 -0.384991 +vn -0.310221 0.264779 -0.913022 +vn 0.114017 0.113926 -0.986908 +vn 0.072115 -0.006714 -0.997345 +vn -0.053255 0.599994 -0.798212 +vn -0.019532 0.568316 -0.822565 +vn 0.030519 0.542467 -0.839503 +vn 0.131993 0.964446 -0.228858 +vn 0.151738 0.942808 -0.296701 +vn 0.156926 0.913999 -0.374096 +vn 0.145787 0.880123 -0.451766 +vn 0.103763 0.819758 -0.563189 +vn 0.098209 0.747368 -0.657094 +vn 0.062502 0.722800 -0.688192 +vn 0.072054 0.673849 -0.735313 +vn 0.089328 0.604663 -0.791436 +vn 0.131962 0.548479 -0.825648 +vn 0.174413 0.501755 -0.847224 +vn 0.155004 0.426496 -0.891079 +vn 0.176794 0.387432 -0.904752 +vn 0.096652 0.359386 -0.928159 +vn -0.056764 0.359905 -0.931242 +vn -0.120670 0.489303 -0.863704 +vn -0.111209 0.574755 -0.810694 +vn -0.149937 0.880367 -0.449904 +vn -0.074740 0.866268 -0.493912 +vn 0.152654 0.045442 -0.987213 +vn 0.080538 0.473281 -0.877194 +vn -0.597125 0.460433 -0.656819 +vn -0.269204 0.312601 -0.910916 +vn -0.258492 0.301248 -0.917814 +vn -0.244728 0.339824 -0.908048 +vn -0.343059 0.714499 -0.609729 +vn -0.594012 -0.246590 -0.765709 +vn -0.621509 -0.233985 -0.747612 +vn 0.107425 0.353801 -0.929106 +vn 0.229987 0.297220 -0.926664 +vn 0.219794 0.231819 -0.947569 +vn 0.246437 0.145573 -0.958159 +vn 0.141972 0.433882 -0.889676 +vn 0.144719 0.957244 -0.250435 +vn 0.212104 0.930357 -0.298959 +vn 0.160772 0.925443 -0.343028 +vn 0.154698 0.888485 -0.431989 +vn 0.155644 0.818079 -0.553606 +vn 0.143040 0.758538 -0.635701 +vn 0.085879 0.729514 -0.678518 +vn 0.120609 0.649495 -0.750694 +vn 0.153325 0.582842 -0.797937 +vn 0.181951 0.516282 -0.836848 +vn 0.209082 0.492813 -0.844600 +vn 0.181005 0.440992 -0.879055 +vn 0.127567 0.415540 -0.900571 +vn 0.038728 0.450819 -0.891751 +vn -0.091525 0.454176 -0.886166 +vn -0.175787 0.501907 -0.846828 +vn -0.161077 0.554857 -0.816157 +vn -0.358837 0.696158 -0.621754 +vn -0.316111 0.344615 -0.883877 +vn -0.313578 0.438826 -0.842067 +vn -0.282601 0.451674 -0.846217 +vn 0.075503 0.650868 -0.755394 +vn -0.502640 0.593097 -0.628925 +vn 0.180334 0.937559 -0.297342 +vn 0.180853 0.923795 -0.337382 +vn 0.213111 0.878262 -0.427992 +vn 0.210456 0.817469 -0.536119 +vn 0.157079 0.786676 -0.597003 +vn 0.140019 0.726188 -0.673025 +vn 0.159581 0.622486 -0.766167 +vn 0.208625 0.548387 -0.809748 +vn 0.251595 0.491256 -0.833857 +vn 0.258736 0.472884 -0.842250 +vn 0.235572 0.483413 -0.843074 +vn 0.079623 0.488327 -0.869015 +vn -0.044282 0.508682 -0.859798 +vn -0.092807 0.516190 -0.851405 +vn -0.153142 0.521500 -0.839351 +vn -0.151708 0.538926 -0.828547 +vn 0.025697 0.266610 -0.963439 +vn 0.059603 0.367595 -0.928037 +vn -0.018555 0.134861 -0.990661 +vn 0.012574 0.098514 -0.995025 +vn -0.363475 0.710074 -0.603015 +vn -0.333781 0.678976 -0.653890 +vn -0.295877 0.575793 -0.762139 +vn -0.274789 0.377789 -0.884152 +vn -0.234504 -0.009674 -0.972045 +vn 0.317026 0.187475 -0.929685 +vn 0.166601 0.937437 -0.305673 +vn 0.197302 0.916166 -0.348827 +vn 0.213080 0.878628 -0.427290 +vn 0.252663 0.819239 -0.514725 +vn 0.230537 0.788781 -0.569750 +vn 0.266518 0.695517 -0.667196 +vn 0.233711 0.606922 -0.759575 +vn 0.259651 0.508744 -0.820795 +vn 0.293069 0.470016 -0.832575 +vn 0.241585 0.504318 -0.829005 +vn 0.135166 0.558397 -0.818445 +vn 0.012024 0.592242 -0.805628 +vn -0.094729 0.561541 -0.821986 +vn -0.131016 0.542100 -0.830012 +vn -0.169012 0.535691 -0.827296 +vn -0.149205 0.519761 -0.841151 +vn -0.337046 -0.927244 -0.163060 +vn -0.313303 0.654622 -0.687948 +vn -0.425245 0.013031 -0.904965 +vn -0.294351 -0.367260 -0.882290 +vn -0.250252 -0.414777 -0.874813 +vn 0.164281 0.936125 -0.310862 +vn 0.206397 0.907926 -0.364757 +vn 0.254585 0.856441 -0.449080 +vn 0.328837 0.788446 -0.519761 +vn 0.384106 0.747154 -0.542375 +vn 0.376873 0.690390 -0.617450 +vn 0.326121 0.592273 -0.736747 +vn 0.300760 0.499313 -0.812525 +vn 0.247871 0.489395 -0.836055 +vn 0.200446 0.591906 -0.780663 +vn 0.064608 0.624775 -0.778100 +vn -0.030427 0.653066 -0.756676 +vn -0.095920 0.594501 -0.798334 +vn -0.107120 0.558061 -0.822840 +vn -0.104709 0.549028 -0.829188 +vn -0.104587 0.505539 -0.856410 +vn -0.049104 0.463637 -0.884640 +vn -0.579485 0.098666 -0.808954 +vn -0.312754 0.622547 -0.717338 +vn -0.625660 0.388897 -0.676199 +vn -0.304270 -0.689962 -0.656758 +vn -0.272195 0.198370 -0.941557 +vn -0.356182 0.258217 -0.898007 +vn 0.484390 0.081240 -0.871059 +vn 0.262398 0.890072 -0.372631 +vn 0.270516 0.841884 -0.466933 +vn 0.334300 0.746208 -0.575610 +vn 0.459853 0.700858 -0.545244 +vn 0.490585 0.664541 -0.563585 +vn 0.468581 0.577380 -0.668569 +vn 0.350963 0.548082 -0.759209 +vn 0.245949 0.531236 -0.810694 +vn 0.204016 0.621479 -0.756371 +vn 0.110233 0.690970 -0.714377 +vn -0.003357 0.696066 -0.717948 +vn -0.025819 0.625141 -0.780053 +vn -0.070803 0.543229 -0.836573 +vn -0.027985 0.535844 -0.843837 +vn -0.016022 0.514267 -0.857448 +vn -0.009278 0.485244 -0.874294 +vn -0.015137 0.354350 -0.934965 +vn -0.448347 0.509659 -0.734275 +vn -0.316813 0.536454 -0.782159 +vn -0.321635 0.165654 -0.932249 +vn -0.194525 0.212226 -0.957640 +vn 0.562670 0.007111 -0.826624 +vn 0.512711 0.020051 -0.858303 +vn 0.325541 0.831904 -0.449324 +vn 0.325175 0.704825 -0.630421 +vn 0.392102 0.660939 -0.639821 +vn 0.505966 0.653066 -0.563433 +vn 0.481063 0.624012 -0.615741 +vn 0.398480 0.591632 -0.700797 +vn 0.311960 0.572375 -0.758293 +vn 0.238319 0.648366 -0.723045 +vn 0.207678 0.734642 -0.645863 +vn 0.162725 0.705191 -0.690054 +vn 0.068789 0.658559 -0.749352 +vn -0.003662 0.558885 -0.829218 +vn -0.012391 0.517533 -0.855556 +vn -0.005127 0.513077 -0.858303 +vn -0.548296 -0.410260 -0.728721 +vn 0.585284 0.087771 -0.806024 +vn -0.351604 0.542100 -0.763176 +vn -0.440260 0.431562 -0.787317 +vn -0.243049 -0.430830 -0.869076 +vn 0.168615 -0.976867 0.131382 +vn 0.510575 -0.828822 0.228767 +vn 0.418561 0.804987 -0.420454 +vn 0.371685 0.733207 -0.569414 +vn 0.269326 0.650929 -0.709738 +vn 0.329478 0.667409 -0.667806 +vn 0.376568 0.673727 -0.635823 +vn 0.366771 0.630848 -0.683706 +vn 0.283029 0.632649 -0.720847 +vn 0.201605 0.676534 -0.708243 +vn 0.213080 0.732597 -0.646443 +vn 0.188299 0.746971 -0.637593 +vn 0.130253 0.702048 -0.700095 +vn 0.082766 0.584246 -0.807337 +vn 0.040864 0.509354 -0.859554 +vn 0.073031 0.505417 -0.859767 +vn 0.071657 0.495987 -0.865322 +vn -0.501022 -0.812159 -0.298898 +vn -0.561663 -0.762566 -0.320872 +vn -0.553301 -0.765221 -0.328990 +vn 0.037568 0.174047 -0.984008 +vn -0.166662 0.320627 -0.932401 +vn -0.165838 0.298471 -0.939879 +vn 0.304209 0.103030 -0.946989 +vn -0.551195 -0.008637 -0.834315 +vn -0.596515 0.192694 -0.779107 +vn -0.257210 -0.017457 -0.966186 +vn -0.385388 0.260048 -0.885342 +vn -0.280923 0.221686 -0.933744 +vn -0.242164 -0.039064 -0.969420 +vn -0.232917 -0.002289 -0.972472 +vn -0.187048 -0.039033 -0.981567 +vn -0.151494 0.200873 -0.967803 +vn -0.081210 0.174261 -0.981323 +vn -0.141148 -0.090091 -0.985870 +vn -0.182684 -0.064669 -0.981017 +vn -0.213507 -0.083193 -0.973388 +vn -0.185614 -0.126957 -0.974364 +vn -0.171789 -0.064882 -0.982971 +vn -0.397259 0.023804 -0.917386 +vn -0.478195 -0.000916 -0.878231 +vn -0.277840 -0.028382 -0.960204 +vn -0.315165 -0.216681 -0.923948 +vn -0.290963 -0.106388 -0.950774 +vn -0.449568 0.114872 -0.885800 +vn -0.413282 0.029725 -0.910092 +vn -0.185614 0.005799 -0.982574 +vn -0.212989 0.089236 -0.972961 +vn -0.409070 0.111606 -0.905637 +vn -0.129826 -0.109134 -0.985504 +vn -0.198370 0.067995 -0.977752 +vn -0.535051 0.345408 -0.770959 +vn -0.501480 0.003662 -0.865139 +vn 0.004944 -0.020661 -0.999756 +vn 0.340861 0.176244 -0.923429 +vn -0.226234 -0.219764 -0.948943 +vn -0.176733 -0.179785 -0.967681 +vn -0.434339 0.362712 -0.824488 +vn -0.209296 0.270150 -0.939787 +vn -0.506882 -0.451247 -0.734428 +vn -0.405225 0.109195 -0.907651 +vn -0.192694 0.188299 -0.963012 +vn -0.328593 0.214148 -0.919858 +vn -0.478042 0.352306 -0.804559 +vn -0.289346 0.228584 -0.929502 +vn -0.491134 0.395978 -0.775842 +vn 0.068972 0.049196 -0.996399 +vn -0.485580 0.356151 -0.798334 +vn -0.476669 0.393139 -0.786248 +vn -0.218329 -0.123600 -0.967986 +vn -0.178045 -0.134220 -0.974792 +vn -0.432600 0.246529 -0.867214 +vn -0.437178 0.347056 -0.829676 +vn -0.428083 0.363750 -0.827265 +vn -0.421827 0.366985 -0.829066 +vn -0.023896 0.200323 -0.979430 +vn -0.324442 0.262398 -0.908750 +vn -0.343791 0.393170 -0.852748 +vn -0.304086 0.369304 -0.878140 +vn 0.247719 0.188635 -0.950285 +vn -0.283731 0.239051 -0.928587 +vn -0.543321 -0.419935 -0.726920 +vn -0.428266 0.348369 -0.833766 +vn -0.416791 0.347056 -0.840114 +vn -0.426130 0.336680 -0.839656 +vn -0.485183 0.347789 -0.802240 +vn -0.473373 0.355663 -0.805841 +vn -0.454726 0.338389 -0.823817 +vn -0.590869 -0.805506 -0.044771 +vn -0.388165 -0.393170 -0.833491 +vn -0.471847 0.351970 -0.808344 +vn -0.379986 0.164556 -0.910215 +vn -0.144505 0.090426 -0.985351 +vn -0.092746 0.187506 -0.977844 +vn -0.413678 0.099521 -0.904935 +vn -0.557726 0.022767 -0.829676 +vn -0.547075 -0.024903 -0.836695 +vn -0.497757 -0.083193 -0.863277 +vn -0.376934 0.107150 -0.920011 +vn -0.401502 0.116153 -0.908444 +vn -0.276955 -0.327158 -0.903439 +vn -0.248787 -0.301920 -0.920286 +vn -0.377300 -0.237434 -0.895108 +vn -0.423536 -0.146916 -0.893857 +vn -0.076327 0.030824 -0.996582 +vn -0.029908 0.013550 -0.999451 +vn -0.428297 0.338389 -0.837855 +vn -0.429212 0.397290 -0.811090 +vn -0.425581 0.388684 -0.817164 +vn -0.432875 0.449782 -0.781182 +vn -0.444746 0.359111 -0.820490 +vn -0.435255 0.363842 -0.823481 +vn -0.432539 -0.363475 -0.825068 +vn -0.491714 -0.281320 -0.824030 +vn -0.429884 0.367534 -0.824671 +vn 0.115238 0.239479 -0.964019 +vn 0.154607 0.197851 -0.967925 +vn 0.157781 0.233619 -0.959410 +vn -0.228950 -0.268319 -0.935697 +vn -0.223548 -0.279458 -0.933744 +vn -0.273537 -0.056764 -0.960173 +vn -0.288186 -0.262185 -0.920957 +vn -0.290841 -0.321451 -0.901120 +vn -0.441542 -0.045686 -0.896054 +vn -0.468459 0.008637 -0.883419 +vn -0.409253 -0.001892 -0.912381 +vn 0.013276 -0.998596 -0.050844 +vn -0.063448 -0.996185 -0.059420 +vn -0.371319 0.364910 -0.853755 +vn -0.410443 0.360790 -0.837428 +vn -0.443403 0.379284 -0.812098 +vn -0.464461 -0.179022 -0.867275 +vn -0.450087 -0.062014 -0.890805 +vn -0.460585 -0.048860 -0.886227 +vn -0.402570 0.319285 -0.857875 +vn -0.265816 0.117466 -0.956816 +vn 0.442915 -0.022706 -0.896268 +vn -0.151494 -0.716727 -0.680654 +vn -0.192572 -0.757347 -0.623920 +vn -0.189245 -0.093448 -0.977447 +vn -0.242592 0.026185 -0.969756 +vn -0.113468 0.023957 -0.993225 +vn -0.589740 0.199561 -0.782495 +vn 0.027100 -0.447554 -0.893826 +vn 0.079226 -0.432264 -0.898251 +vn 0.001801 -0.581042 -0.813868 +vn -0.489212 0.037294 -0.871364 +vn 0.043275 -0.977783 -0.205054 +vn -0.169805 -0.403577 0.899045 +vn -0.088015 -0.127812 -0.987854 +vn -0.404431 0.287118 -0.868313 +vn -0.457411 -0.074007 -0.886166 +vn -0.417798 0.306101 -0.855403 +vn -0.421827 0.303812 -0.854244 +vn -0.511338 -0.065950 -0.856838 +vn -0.278848 0.194006 -0.940519 +vn -0.185675 -0.071810 -0.979949 +vn 0.564074 -0.109378 -0.818415 +vn -0.502792 -0.022523 -0.864101 +vn -0.005524 -0.278603 -0.960387 +vn 0.102512 -0.305887 -0.946501 +vn -0.629139 0.111911 -0.769189 +vn -0.584704 0.038118 -0.810327 +vn 0.348369 0.080050 -0.933897 +vn 0.367443 0.160802 -0.916013 +vn 0.340037 0.090060 -0.936064 +vn -0.547258 0.059420 -0.834803 +vn 0.053163 -0.968047 -0.245033 +vn -0.052583 -0.055116 -0.997070 +vn -0.407331 0.198614 -0.891385 +vn -0.415052 0.202246 -0.886990 +vn -0.408856 0.285592 -0.866726 +vn -0.407788 0.289163 -0.866054 +vn -0.551408 -0.000366 -0.834223 +vn -0.568377 0.128422 -0.812647 +vn -0.407208 0.108585 -0.906827 +vn -0.071322 0.024262 -0.997131 +vn -0.064943 0.014679 -0.997772 +vn 0.537584 -0.164892 -0.826899 +vn 0.487991 -0.055147 -0.871090 +vn 0.398389 0.079104 -0.913785 +vn -0.290719 -0.763787 -0.576250 +vn -0.177343 -0.777947 -0.602771 +vn -0.132084 0.314829 -0.939879 +vn -0.194433 0.297983 -0.934538 +vn -0.123173 0.153264 -0.980468 +vn -0.184912 0.143071 -0.972259 +vn -0.176794 0.172185 -0.969054 +vn -0.112705 0.171789 -0.978637 +vn 0.344432 0.144200 -0.927641 +vn -0.584643 0.091708 -0.806055 +vn -0.545122 0.048830 -0.836909 +vn -0.562792 0.097049 -0.820856 +vn -0.620838 0.076968 -0.780114 +vn -0.039949 -0.742424 -0.668691 +vn -0.037812 -0.596210 -0.801904 +vn 0.015168 -0.718894 -0.694937 +vn -0.384198 0.092288 -0.918607 +vn -0.553301 0.205847 -0.807123 +vn -0.560228 0.163915 -0.811945 +vn -0.015961 -0.014618 -0.999756 +vn 0.528550 -0.232643 -0.816370 +vn 0.497574 -0.113376 -0.859951 +vn 0.410749 0.042299 -0.910764 +vn 0.314982 0.146825 -0.937651 +vn 0.067507 -0.040193 -0.996887 +vn 0.070498 -0.586932 -0.806543 +vn -0.430616 -0.288797 -0.855068 +vn -0.426679 -0.299478 -0.853359 +vn -0.366955 0.093661 -0.925504 +vn -0.383526 0.114658 -0.916349 +vn -0.549791 0.116916 -0.827052 +vn -0.477706 0.190924 -0.857479 +vn -0.344584 0.050844 -0.937346 +vn -0.375774 0.062227 -0.924589 +vn 0.462386 -0.309702 -0.830805 +vn 0.484451 -0.286050 -0.826716 +vn 0.442152 -0.207038 -0.872677 +vn 0.383435 -0.054933 -0.921903 +vn 0.346263 0.112369 -0.931364 +vn -0.628803 0.069643 -0.774407 +vn -0.493545 0.118381 -0.861599 +vn 0.235206 -0.269906 -0.933683 +vn 0.150212 -0.391705 -0.907712 +vn 0.262429 -0.409833 -0.873562 +vn 0.170324 0.211493 -0.962401 +vn 0.165319 0.288552 -0.943052 +vn 0.043092 -0.097385 -0.994293 +vn -0.341990 0.066134 -0.937346 +vn -0.438520 0.153203 -0.885556 +vn 0.003327 -0.984863 0.173193 +vn 0.039674 -0.978973 0.199988 +vn -0.464400 -0.007080 -0.885586 +vn -0.320750 -0.731559 -0.601581 +vn 0.399487 -0.719901 0.567553 +vn 0.327464 -0.668691 0.667501 +vn 0.417127 -0.249428 -0.873928 +vn 0.365154 -0.161260 -0.916837 +vn 0.305246 -0.013703 -0.952147 +vn 0.235359 0.168493 -0.957183 +vn -0.210791 0.424909 -0.880337 +vn -0.238441 0.438765 -0.866359 +vn -0.174535 0.453475 -0.873989 +vn -0.161992 0.432905 -0.886746 +vn -0.543199 0.014466 -0.839442 +vn -0.644704 -0.003845 -0.764397 +vn -0.461959 -0.315012 -0.829035 +vn 0.037416 -0.025147 -0.998962 +vn -0.417219 -0.015687 -0.908658 +vn -0.405835 0.016480 -0.913785 +vn -0.450453 -0.035554 -0.892056 +vn -0.614734 -0.196722 -0.763756 +vn 0.465163 -0.335429 -0.819178 +vn 0.409925 -0.279275 -0.868282 +vn 0.387646 -0.218543 -0.895505 +vn 0.320688 -0.105228 -0.941282 +vn 0.226203 0.060549 -0.972167 +vn 0.126988 -0.232215 -0.964324 +vn 0.102359 -0.217597 -0.970641 +vn -0.352519 0.505783 -0.787317 +vn -0.147099 0.341014 -0.928465 +vn -0.219123 0.357250 -0.907926 +vn -0.350505 0.404126 -0.844874 +vn -0.613514 0.030274 -0.789056 +vn -0.606067 0.061800 -0.792993 +vn 0.000855 0.122196 -0.992492 +vn -0.437513 -0.068209 -0.896603 +vn -0.370708 0.062624 -0.926603 +vn -0.463057 0.093692 -0.881344 +vn -0.618519 -0.785577 -0.015778 +vn 0.412763 -0.286294 -0.864650 +vn 0.400006 -0.261299 -0.878445 +vn 0.359081 -0.169195 -0.917814 +vn 0.236366 -0.026551 -0.971282 +vn 0.142613 0.139470 -0.979888 +vn 0.035188 0.054323 -0.997894 +vn 0.105441 0.189520 -0.976165 +vn -0.249001 -0.503494 -0.827326 +vn -0.354381 -0.397870 -0.846217 +vn -0.481368 -0.367901 -0.795526 +vn -0.059328 -0.525742 -0.848537 +vn -0.165532 -0.409986 -0.896908 +vn -0.538163 -0.133335 -0.832209 +vn -0.520737 -0.321879 -0.790674 +vn -0.521836 -0.147649 -0.840144 +vn -0.530564 0.200751 -0.823511 +vn -0.603870 0.150151 -0.782800 +vn -0.474410 0.329325 -0.816340 +vn -0.449049 -0.481979 -0.752342 +vn -0.565966 -0.343181 -0.749565 +vn -0.458357 0.169378 -0.872463 +vn -0.234382 0.046144 -0.971038 +vn -0.063143 0.181707 -0.981292 +vn -0.037812 0.114200 -0.992706 +vn 0.355876 -0.394604 -0.847102 +vn 0.369823 -0.293283 -0.881558 +vn 0.381512 -0.244026 -0.891537 +vn 0.294198 -0.069002 -0.953246 +vn 0.160619 0.079104 -0.983825 +vn 0.029603 0.180425 -0.983123 +vn -0.043947 0.342845 -0.938353 +vn 0.118442 -0.425398 -0.897183 +vn 0.002472 -0.392560 -0.919706 +vn -0.225623 -0.292337 -0.929289 +vn -0.325205 0.325022 -0.887997 +vn -0.341288 0.341990 -0.875515 +vn -0.368938 0.330912 -0.868526 +vn -0.142521 0.055483 -0.988220 +vn -0.130558 0.105594 -0.985778 +vn -0.301675 0.273202 -0.913388 +vn 0.277566 0.092532 -0.956236 +vn 0.256661 0.182684 -0.949065 +vn 0.267953 0.085574 -0.959593 +vn -0.068545 0.075747 -0.994751 +vn -0.071780 0.078188 -0.994324 +vn -0.431654 -0.231880 -0.871700 +vn -0.492325 -0.400006 -0.773034 +vn -0.573290 0.023957 -0.818964 +vn -0.496353 0.077975 -0.864589 +vn -0.068026 -0.521287 -0.850642 +vn -0.020478 -0.928465 0.370830 +vn -0.066347 -0.931944 0.356426 +vn 0.343974 -0.747795 -0.567797 +vn 0.322550 -0.571245 -0.754723 +vn 0.303537 -0.378521 -0.874386 +vn 0.379040 -0.318033 -0.868984 +vn 0.349132 -0.192328 -0.917112 +vn 0.243782 0.019074 -0.969634 +vn 0.159642 0.164739 -0.973327 +vn 0.017701 0.263344 -0.964507 +vn -0.229438 -0.950072 -0.211341 +vn -0.363811 0.366314 -0.856380 +vn -0.001617 -0.058412 -0.998260 +vn -0.017304 0.042817 -0.998932 +vn -0.053377 0.009430 -0.998505 +vn 0.117527 0.082186 -0.989654 +vn 0.178533 0.140904 -0.973785 +vn 0.107273 0.097720 -0.989410 +vn -0.340129 0.359600 -0.868862 +vn -0.023438 0.020325 -0.999512 +vn 0.066866 0.043062 -0.996826 +vn 0.004028 0.095157 -0.995453 +vn -0.122227 0.099429 -0.987487 +vn -0.111423 0.174963 -0.978240 +vn 0.044527 -0.977416 -0.206519 +vn 0.023927 -0.983947 -0.176824 +vn -0.533464 0.300363 -0.790674 +vn -0.536332 0.406568 -0.739586 +vn -0.097812 0.157842 -0.982604 +vn -0.521134 -0.368572 -0.769768 +vn -0.549364 -0.381420 -0.743431 +vn -0.488876 -0.646016 -0.586169 +vn -0.460005 -0.155522 -0.874172 +vn -0.188116 0.194769 -0.962615 +vn -0.214759 -0.216559 -0.952330 +vn -0.122196 -0.278298 -0.952666 +vn -0.527635 -0.492050 -0.692434 +vn -0.538713 -0.537248 -0.648915 +vn 0.344371 -0.713523 -0.610126 +vn 0.240852 -0.538408 -0.807489 +vn 0.274422 -0.421644 -0.864223 +vn 0.351665 -0.324107 -0.878201 +vn 0.247475 -0.099582 -0.963744 +vn 0.177984 0.082064 -0.980590 +vn 0.101230 0.232643 -0.967254 +vn 0.000000 0.329875 -0.943999 +vn -0.080844 0.415082 -0.906156 +vn -0.329905 0.213874 -0.919431 +vn -0.144475 0.228492 -0.962737 +vn -0.373119 -0.056581 -0.926054 +vn -0.182379 -0.123051 -0.975494 +vn -0.219123 -0.281564 -0.934172 +vn -0.362743 -0.675863 -0.641560 +vn -0.318705 -0.708274 -0.629871 +vn -0.486282 -0.657125 -0.575915 +vn -0.415052 -0.664296 -0.621601 +vn -0.440779 -0.694143 -0.569079 +vn -0.349132 -0.698019 -0.625141 +vn -0.432417 -0.061617 -0.899533 +vn -0.391430 -0.147282 -0.908322 +vn 0.139775 0.175207 -0.974548 +vn 0.015442 -0.465590 -0.884854 +vn 0.201086 -0.346812 -0.916105 +vn -0.625263 -0.544023 -0.559496 +vn -0.576464 -0.557726 -0.597156 +vn -0.564837 -0.638997 -0.522111 +vn -0.458480 -0.659810 -0.595325 +vn 0.116611 0.257210 -0.959258 +vn 0.026368 -0.338633 -0.940519 +vn 0.167333 -0.232185 -0.958159 +vn -0.026612 -0.044771 -0.998627 +vn -0.330302 -0.154790 -0.931089 +vn -0.277383 -0.214759 -0.936430 +vn 0.204596 -0.224677 -0.952696 +vn -0.123295 0.024934 -0.992035 +vn -0.267769 -0.057894 -0.961730 +vn 0.101138 -0.086276 -0.991119 +vn -0.511368 -0.709342 -0.485061 +vn -0.447249 -0.674398 -0.587451 +vn -0.408246 -0.710837 -0.572710 +vn -0.733543 0.246834 -0.633168 +vn -0.255104 -0.570513 -0.780633 +vn -0.231391 -0.434675 -0.870327 +vn -0.199957 -0.534989 -0.820826 +vn -0.357463 -0.046113 -0.932768 +vn -0.460982 0.315287 -0.829493 +vn 0.044893 0.219459 -0.974578 +vn 0.481185 -0.702811 -0.523911 +vn 0.290414 -0.645741 -0.706137 +vn 0.169042 -0.512131 -0.842067 +vn 0.226386 -0.467269 -0.854610 +vn 0.176672 -0.268197 -0.946989 +vn 0.098148 -0.043428 -0.994201 +vn 0.076449 0.104068 -0.991607 +vn 0.022980 0.286905 -0.957671 +vn -0.041169 0.392529 -0.918790 +vn -0.112522 0.458998 -0.881252 +vn -0.462416 -0.732231 -0.499924 +vn 0.088321 -0.508469 -0.856502 +vn -0.104312 -0.452223 -0.885769 +vn -0.156102 -0.302988 -0.940092 +vn -0.002441 -0.475570 -0.879665 +vn -0.184637 -0.301859 -0.935270 +vn -0.151585 -0.354350 -0.922727 +vn -0.098605 -0.348186 -0.932188 +vn -0.265389 -0.233345 -0.935453 +vn -0.195288 0.455580 -0.868496 +vn 0.354625 0.065035 -0.932737 +vn 0.348155 0.064791 -0.935179 +vn -0.175726 -0.775140 -0.606800 +vn -0.126804 -0.717826 -0.684530 +vn -0.101993 0.152043 -0.983093 +vn -0.564470 -0.483902 -0.668691 +vn 0.065981 0.180761 -0.981292 +vn -0.134007 0.155248 -0.978729 +vn -0.227393 0.199774 -0.953063 +vn -0.447005 -0.085910 -0.890378 +vn -0.345225 0.297067 -0.890225 +vn -0.251930 0.282815 -0.925474 +vn -0.505600 0.036470 -0.861995 +vn -0.446028 0.126316 -0.886044 +vn -0.275216 0.294565 -0.915128 +vn -0.382000 0.279183 -0.880947 +vn -0.343608 0.345897 -0.873074 +vn -0.225532 0.058657 -0.972442 +vn 0.463942 -0.648274 -0.603717 +vn 0.237892 -0.557573 -0.795282 +vn 0.139042 -0.508225 -0.849910 +vn 0.134129 -0.452406 -0.881649 +vn 0.027039 -0.211402 -0.977020 +vn 0.004028 -0.025971 -0.999634 +vn -0.039735 0.128330 -0.990905 +vn -0.061068 0.306711 -0.949828 +vn -0.078494 0.420606 -0.903806 +vn -0.062288 0.446455 -0.892605 +vn -0.175420 0.202216 -0.963469 +vn -0.152043 0.186224 -0.970641 +vn -0.182348 0.119449 -0.975921 +vn -0.433119 0.327982 -0.839503 +vn -0.241676 0.382122 -0.891934 +vn 0.347728 0.080966 -0.934080 +vn -0.102420 -0.098605 -0.989837 +vn -0.815088 -0.577899 0.040223 +vn -0.211432 -0.108493 -0.971343 +vn -0.234596 -0.054476 -0.970550 +vn -0.217689 -0.129276 -0.967406 +vn 0.008423 0.345958 -0.938200 +vn 0.004791 0.095126 -0.995422 +vn 0.000793 0.014252 -0.999878 +vn 0.062258 0.125370 -0.990143 +vn 0.007172 -0.597674 -0.801660 +vn -0.350139 0.383282 -0.854640 +vn -0.251350 0.395947 -0.883175 +vn -0.442335 -0.171056 -0.880367 +vn -0.347545 -0.921690 0.172216 +vn -0.087222 0.400830 -0.911985 +vn -0.256478 0.156377 -0.953795 +vn -0.153844 0.065157 -0.985931 +vn -0.244575 0.158666 -0.956542 +vn 0.401563 -0.565996 -0.719932 +vn 0.253456 -0.467910 -0.846614 +vn 0.195563 -0.483963 -0.852931 +vn 0.089053 -0.389386 -0.916745 +vn -0.009461 -0.177953 -0.983978 +vn -0.023560 -0.007050 -0.999695 +vn -0.059145 0.150395 -0.986847 +vn -0.106754 0.321512 -0.940855 +vn -0.093295 0.406903 -0.908689 +vn -0.164892 -0.045473 -0.985229 +vn 0.012635 0.144078 -0.989471 +vn 0.012909 0.194098 -0.980865 +vn -0.054201 0.270150 -0.961272 +vn -0.141453 -0.042207 -0.989013 +vn -0.172277 0.007172 -0.985015 +vn 0.057131 0.217414 -0.974395 +vn -0.103824 0.007538 -0.994537 +vn -0.094272 -0.099551 -0.990539 +vn 0.141514 -0.546251 -0.825556 +vn 0.178838 -0.394055 -0.901486 +vn 0.135655 -0.413617 -0.900266 +vn -0.269936 0.080111 -0.959502 +vn -0.232612 -0.062532 -0.970550 +vn 0.111881 -0.509903 -0.852901 +vn 0.101596 -0.511002 -0.853511 +vn 0.139897 -0.385784 -0.911893 +vn -0.202155 -0.099765 -0.974242 +vn -0.196081 -0.085208 -0.976867 +vn 0.242897 0.055452 -0.968444 +vn 0.265847 0.049532 -0.962706 +vn 0.238594 0.101474 -0.965789 +vn 0.254494 0.091647 -0.962706 +vn -0.319803 0.182409 -0.929716 +vn -0.131718 -0.017273 -0.991119 +vn 0.259102 0.189123 -0.947142 +vn -0.477981 -0.050142 -0.876919 +vn -0.752617 -0.638722 0.159825 +vn 0.121189 -0.249275 -0.960784 +vn 0.129246 -0.367870 -0.920835 +vn -0.861873 0.288766 -0.416822 +vn -0.715659 -0.051820 -0.696493 +vn -0.300211 0.296274 -0.906674 +vn -0.483566 -0.416395 -0.769890 +vn -0.513016 -0.310526 -0.800195 +vn -0.565081 -0.252449 -0.785424 +vn 0.314097 -0.502029 -0.805780 +vn 0.292032 -0.437941 -0.850215 +vn 0.235389 -0.434614 -0.869289 +vn 0.074679 -0.312387 -0.946989 +vn -0.045534 -0.136418 -0.989593 +vn -0.071413 0.001068 -0.997436 +vn -0.100314 0.187811 -0.977050 +vn -0.121372 0.322947 -0.938566 +vn -0.000336 0.325541 -0.945494 +vn -0.562426 -0.208563 -0.800073 +vn -0.518448 -0.087924 -0.850551 +vn -0.480361 -0.020936 -0.876797 +vn -0.519761 -0.054140 -0.852565 +vn -0.228553 -0.029298 -0.973083 +vn -0.138524 -0.143101 -0.979949 +vn -0.135105 -0.148015 -0.979705 +vn -0.456679 -0.707724 -0.539018 +vn -0.452162 -0.657826 -0.602283 +vn -0.101352 0.126011 -0.986816 +vn -0.123936 0.033174 -0.991729 +vn -0.248817 0.409833 -0.877529 +vn -0.235389 0.327158 -0.915159 +vn 0.240272 0.188208 -0.952269 +vn 0.242225 0.093387 -0.965697 +vn 0.215674 0.153966 -0.964232 +vn 0.208289 0.128117 -0.969634 +vn -0.033387 -0.983795 0.176000 +vn -0.102359 -0.848903 0.518509 +vn 0.137272 -0.464522 -0.874813 +vn 0.000763 0.089785 -0.995941 +vn 0.032533 -0.035981 -0.998810 +vn 0.044343 -0.030610 -0.998535 +vn 0.117191 -0.379681 -0.917631 +vn 0.089602 -0.228675 -0.969359 +vn 0.098270 -0.256630 -0.961486 +vn 0.049623 -0.997986 -0.038789 +vn -0.735282 0.363842 -0.571764 +vn -0.797266 0.429823 -0.423750 +vn -0.247902 0.142399 -0.958251 +vn -0.339763 0.403180 -0.849696 +vn -0.270577 -0.125828 -0.954405 +vn -0.243294 -0.023988 -0.969634 +vn -0.528825 -0.052065 -0.847102 +vn -0.411756 0.393292 -0.822047 +vn -0.351543 0.221198 -0.909635 +vn 0.314005 -0.590960 -0.743034 +vn 0.257881 -0.484725 -0.835749 +vn 0.262581 -0.427412 -0.865047 +vn 0.187414 -0.364360 -0.912168 +vn 0.019562 -0.212317 -0.976989 +vn -0.051454 -0.100314 -0.993622 +vn -0.068972 0.014527 -0.997497 +vn -0.087374 0.194128 -0.977050 +vn 0.009674 0.251137 -0.967895 +vn 0.266335 0.172643 -0.948271 +vn 0.641957 -0.114811 -0.758049 +vn 0.111026 0.019562 -0.993622 +vn -0.508072 0.032655 -0.860653 +vn -0.424635 0.361431 -0.830042 +vn -0.436110 0.366436 -0.821894 +vn -0.485000 0.132939 -0.864345 +vn -0.538499 -0.562761 -0.627094 +vn -0.551927 -0.432936 -0.712668 +vn -0.505570 -0.534318 -0.677358 +vn -0.486679 -0.392804 -0.780267 +vn -0.141545 0.053835 -0.988433 +vn -0.398663 -0.113651 -0.910001 +vn -0.071230 0.116611 -0.990600 +vn -0.342784 0.435713 -0.832240 +vn -0.322306 0.439283 -0.838496 +vn -0.113254 0.112430 -0.987152 +vn -0.126408 0.221686 -0.966887 +vn -0.183264 0.328410 -0.926572 +vn -0.253578 0.321055 -0.912442 +vn 0.067904 -0.331126 -0.941130 +vn -0.386761 0.379284 -0.840541 +vn -0.392895 0.337107 -0.855525 +vn -0.403363 0.320475 -0.857051 +vn -0.387494 0.367321 -0.845485 +vn 0.288919 0.178381 -0.940550 +vn 0.307199 0.135746 -0.941893 +vn -0.208289 -0.011353 -0.977996 +vn -0.126652 0.028962 -0.991516 +vn -0.497574 -0.329783 -0.802271 +vn -0.183264 0.070956 -0.980468 +vn -0.534135 -0.335978 -0.775750 +vn -0.531754 0.223029 -0.816980 +vn 0.279336 -0.681600 -0.676260 +vn 0.214820 -0.564837 -0.796716 +vn 0.187353 -0.483383 -0.855098 +vn 0.246345 -0.421674 -0.872616 +vn 0.150304 -0.270272 -0.950957 +vn 0.010346 -0.143223 -0.989624 +vn -0.003235 -0.095767 -0.995392 +vn -0.022614 0.028291 -0.999329 +vn 0.056215 0.122623 -0.990844 +vn 0.314066 0.111087 -0.942869 +vn -0.516343 0.149144 -0.843257 +vn -0.549333 0.095279 -0.830134 +vn -0.420057 0.337535 -0.842372 +vn -0.414258 -0.298471 -0.859798 +vn -0.363292 -0.157537 -0.918241 +vn -0.364238 -0.029481 -0.930815 +vn -0.386334 -0.041902 -0.921384 +vn -0.273629 0.053346 -0.960326 +vn -0.300974 0.033418 -0.953032 +vn -0.744713 -0.663259 -0.073580 +vn -0.737571 -0.658437 -0.149693 +vn -0.556871 -0.170019 -0.812983 +vn -0.513382 -0.152715 -0.844447 +vn 0.044771 -0.204840 -0.977752 +vn -0.029908 -0.124577 -0.991729 +vn 0.048006 -0.160588 -0.985839 +vn 0.148412 -0.380749 -0.912656 +vn 0.120457 -0.342692 -0.931669 +vn 0.094424 -0.248695 -0.963958 +vn -0.084017 -0.030763 -0.995972 +vn -0.023316 -0.076479 -0.996796 +vn -0.124454 -0.027833 -0.991821 +vn -0.063082 -0.027589 -0.997620 +vn 0.273659 0.186529 -0.943541 +vn 0.334086 0.068667 -0.940031 +vn 0.328471 0.073061 -0.941649 +vn 0.349406 0.063753 -0.934782 +vn 0.310831 0.165685 -0.935881 +vn 0.372509 0.166356 -0.912992 +vn 0.296579 0.177557 -0.938322 +vn 0.391034 0.178411 -0.902890 +vn 0.300668 0.117435 -0.946440 +vn 0.400494 0.112644 -0.909330 +vn -0.223640 -0.325785 -0.918577 +vn -0.159185 -0.131077 -0.978484 +vn -0.179449 -0.238472 -0.954405 +vn -0.386547 0.020264 -0.922025 +vn -0.167241 0.117100 -0.978912 +vn -0.431135 0.366894 -0.824305 +vn -0.524155 0.141514 -0.839747 +vn -0.425855 0.350230 -0.834223 +vn 0.224281 -0.657888 -0.718925 +vn 0.163457 -0.545274 -0.822138 +vn 0.207038 -0.510544 -0.834529 +vn 0.212043 -0.381970 -0.899503 +vn 0.080294 -0.174352 -0.981384 +vn 0.064058 -0.126865 -0.989837 +vn 0.052919 -0.074343 -0.995819 +vn 0.039644 0.001160 -0.999207 +vn 0.230934 -0.067019 -0.970641 +vn -0.437544 0.403974 -0.803308 +vn -0.430525 0.345500 -0.833796 +vn -0.264473 0.119480 -0.956938 +vn -0.217444 0.125278 -0.967986 +vn -0.111911 0.028169 -0.993316 +vn -0.280465 0.003357 -0.959838 +vn -0.458602 -0.390698 -0.798120 +vn -0.388409 -0.267464 -0.881802 +vn 0.243080 -0.259041 -0.934751 +vn -0.163854 0.076754 -0.983490 +vn -0.239662 0.045045 -0.969787 +vn -0.296640 0.469405 -0.831629 +vn -0.321787 0.522721 -0.789422 +vn -0.608295 0.236579 -0.757591 +vn -0.190985 0.399030 -0.896817 +vn -0.210181 0.286416 -0.934751 +vn -0.204657 0.168035 -0.964293 +vn -0.159093 0.202521 -0.966247 +vn -0.166326 0.123020 -0.978332 +vn -0.265236 0.287332 -0.920347 +vn -0.395001 0.307443 -0.865688 +vn -0.501694 0.309854 -0.807611 +vn -0.503555 0.267495 -0.821467 +vn -0.279305 0.233070 -0.931455 +vn -0.411115 0.255806 -0.874935 +vn -0.267647 0.171453 -0.948119 +vn -0.174108 0.154118 -0.972564 +vn -0.301645 0.091464 -0.949004 +vn -0.190344 0.098331 -0.976775 +vn -0.349712 0.059999 -0.934904 +vn -0.148259 0.106143 -0.983215 +vn 0.309305 0.133183 -0.941557 +vn -0.130192 -0.303537 -0.943846 +vn -0.201605 0.060183 -0.977599 +vn -0.183111 0.078097 -0.979980 +vn -0.430952 0.310221 -0.847346 +vn -0.506607 0.145665 -0.849757 +vn -0.524186 0.009186 -0.851527 +vn 0.197394 -0.623859 -0.756157 +vn 0.166478 -0.542558 -0.823328 +vn 0.169713 -0.512589 -0.841670 +vn 0.062410 -0.313364 -0.947569 +vn 0.025971 -0.161260 -0.986541 +vn 0.052522 -0.126591 -0.990539 +vn 0.022248 -0.098178 -0.994903 +vn 0.168187 -0.072756 -0.983062 +vn -0.358562 0.103610 -0.927702 +vn -0.206305 -0.057436 -0.976775 +vn -0.307535 0.250282 -0.917997 +vn -0.197089 0.214362 -0.956633 +vn 0.167730 -0.451979 -0.876095 +vn 0.102542 -0.497330 -0.861446 +vn 0.097079 -0.491104 -0.865658 +vn 0.097598 -0.340465 -0.935148 +vn 0.102725 -0.369945 -0.923338 +vn -0.141667 0.143773 -0.979400 +vn -0.183569 0.258034 -0.948515 +vn -0.122013 0.228492 -0.965850 +vn -0.367473 0.290414 -0.883511 +vn -0.593219 0.071383 -0.801843 +vn -0.543413 -0.803400 -0.243263 +vn -0.569262 -0.796014 -0.205542 +vn -0.781793 -0.132786 -0.609180 +vn -0.683035 -0.341777 -0.645436 +vn -0.490280 -0.559832 -0.667959 +vn 0.068911 -0.475661 -0.876888 +vn -0.198584 0.094974 -0.975463 +vn -0.119480 -0.389996 -0.913022 +vn 0.629322 0.090915 -0.771752 +vn 0.167577 -0.602649 -0.780206 +vn 0.148625 -0.539781 -0.828547 +vn 0.097018 -0.473525 -0.875393 +vn -0.012268 -0.273904 -0.961669 +vn -0.037935 -0.172430 -0.984283 +vn -0.001221 -0.136052 -0.990692 +vn 0.094058 -0.125584 -0.987610 +vn -0.360057 0.231452 -0.903745 +vn -0.428022 0.276559 -0.860378 +vn -0.433088 0.349467 -0.830805 +vn -0.431562 0.361492 -0.826472 +vn -0.418836 -0.634388 -0.649678 +vn -0.389233 -0.608631 -0.691397 +vn -0.349620 -0.713614 -0.607013 +vn -0.388165 -0.687582 -0.613605 +vn -0.370403 -0.294198 -0.881008 +vn -0.356548 -0.363781 -0.860530 +vn 0.088809 0.133488 -0.987030 +vn 0.089175 0.096957 -0.991272 +vn 0.098605 0.091861 -0.990844 +vn 0.122532 -0.591937 -0.796594 +vn 0.131474 -0.550279 -0.824549 +vn 0.163579 -0.391522 -0.905484 +vn -0.011231 -0.123508 -0.992248 +vn -0.053591 -0.171178 -0.983764 +vn -0.056948 0.122196 -0.990844 +vn -0.150853 0.009247 -0.988495 +vn -0.041658 0.022279 -0.998871 +vn -0.317728 0.485397 -0.814478 +vn -0.154759 -0.125462 -0.979919 +vn -0.052156 -0.148228 -0.987548 +vn -0.234870 0.124424 -0.964019 +vn 0.084353 0.068911 -0.994018 +vn 0.051668 -0.071261 -0.996094 +vn 0.129063 -0.068667 -0.989227 +vn 0.106937 -0.166936 -0.980132 +vn 0.037019 -0.149052 -0.988128 +vn 0.169408 -0.140599 -0.975433 +vn -0.051607 -0.031220 -0.998169 +vn -0.023804 0.020692 -0.999481 +vn -0.055727 -0.006073 -0.998413 +vn 0.025788 -0.165014 -0.985931 +vn 0.009156 -0.094943 -0.995422 +vn 0.102298 -0.503708 -0.857753 +vn 0.062990 -0.290811 -0.954680 +vn 0.136876 0.374523 -0.917020 +vn -0.155370 -0.421766 -0.893277 +vn -0.231788 0.207129 -0.950438 +vn -0.159276 -0.497543 -0.852657 +vn -0.379559 0.279031 -0.882046 +vn 0.495499 0.111972 -0.861354 +vn 0.123081 -0.581622 -0.804071 +vn 0.126499 -0.529160 -0.839015 +vn 0.092715 -0.425123 -0.900357 +vn 0.034913 -0.234138 -0.971557 +vn -0.001099 -0.168615 -0.985656 +vn 0.055910 -0.223090 -0.973174 +vn 0.361644 -0.322794 -0.874630 +vn 0.134587 0.133305 -0.981872 +vn 0.127049 0.013062 -0.991791 +vn -0.338084 0.076022 -0.938017 +vn -0.340922 0.285226 -0.895749 +vn -0.352489 0.201788 -0.913785 +vn -0.350932 0.097995 -0.931242 +vn -0.434919 0.359691 -0.825465 +vn -0.233345 -0.805353 -0.544908 +vn -0.372936 -0.772240 -0.514298 +vn 0.132237 -0.446181 -0.885098 +vn 0.021119 -0.467238 -0.883877 +vn -0.054231 -0.295755 -0.953703 +vn 0.024201 -0.241188 -0.970153 +vn -0.001190 -0.999298 -0.036988 +vn 0.006684 0.014618 -0.999847 +vn 0.001251 0.095737 -0.995392 +vn 0.026460 0.098697 -0.994751 +vn 0.012391 0.020325 -0.999695 +vn -0.028352 0.202429 -0.978881 +vn 0.014649 0.179449 -0.983642 +vn -0.078310 0.318949 -0.944517 +vn -0.026948 0.278512 -0.960051 +vn 0.122745 0.185003 -0.975005 +vn 0.367138 0.015687 -0.930021 +vn 0.356212 0.052248 -0.932920 +vn 0.123295 -0.381909 -0.915922 +vn -0.118961 0.425336 -0.897153 +vn -0.129368 0.462996 -0.876827 +vn -0.095614 0.464400 -0.880428 +vn 0.285257 -0.906278 -0.311838 +vn -0.080691 0.408948 -0.908963 +vn 0.005799 -0.153264 -0.988159 +vn -0.006134 -0.128086 -0.991729 +vn -0.103854 0.334452 -0.936644 +vn -0.090487 0.355449 -0.930296 +vn -0.093875 0.162877 -0.982147 +vn -0.057039 0.182287 -0.981567 +vn -0.059267 0.184576 -0.981017 +vn -0.030274 0.210547 -0.977111 +vn -0.038179 0.322886 -0.945647 +vn 0.141697 -0.436048 -0.888668 +vn 0.336619 0.204535 -0.919126 +vn -0.214331 -0.416608 -0.883419 +vn -0.237953 0.299417 -0.923948 +vn -0.257363 -0.551347 -0.793542 +vn -0.347850 0.309610 -0.884945 +vn -0.295053 -0.157201 -0.942442 +vn 0.143651 -0.680349 -0.718650 +vn 0.100772 -0.575610 -0.811457 +vn 0.134983 -0.529832 -0.837245 +vn 0.135502 -0.404340 -0.904477 +vn 0.138127 -0.206885 -0.968535 +vn 0.205664 -0.207190 -0.956420 +vn 0.363079 -0.318308 -0.875668 +vn -0.298532 0.103000 -0.948790 +vn -0.218451 -0.290262 -0.931669 +vn -0.406201 0.166112 -0.898526 +vn -0.431837 0.105564 -0.895718 +vn -0.286447 0.098819 -0.952971 +vn -0.435713 0.365917 -0.822321 +vn -0.199713 -0.779443 -0.593768 +vn -0.299844 -0.737388 -0.605213 +vn 0.299692 0.181616 -0.936583 +vn 0.035188 -0.036744 -0.998688 +vn 0.028504 -0.197455 -0.979888 +vn -0.061403 -0.124943 -0.990234 +vn -0.355205 -0.566271 -0.743706 +vn 0.007782 -0.207495 -0.978179 +vn -0.016297 -0.186651 -0.982269 +vn -0.028993 -0.201880 -0.978973 +vn -0.081423 0.329691 -0.940550 +vn 0.066256 0.035096 -0.997162 +vn 0.069582 0.097324 -0.992798 +vn -0.576220 -0.239723 -0.781335 +vn -0.506577 -0.246773 -0.826106 +vn -0.505600 -0.274483 -0.817927 +vn -0.566973 -0.231910 -0.790399 +vn -0.564623 -0.263924 -0.781976 +vn -0.497269 -0.248207 -0.831294 +vn 0.050874 0.159398 -0.985900 +vn -0.535020 -0.284738 -0.795373 +vn 0.372814 0.052370 -0.926389 +vn 0.303598 0.041932 -0.951842 +vn 0.341868 0.006897 -0.939695 +vn -0.002960 -0.999329 0.036409 +vn -0.018128 -0.999329 0.031129 +vn -0.017975 -0.999146 0.036683 +vn -0.024445 0.200171 -0.979430 +vn -0.129154 0.388989 -0.912137 +vn -0.113804 0.451308 -0.885037 +vn -0.061129 0.378704 -0.923460 +vn -0.565355 -0.236915 -0.790063 +vn 0.068972 -0.460097 -0.885159 +vn -0.544237 -0.061586 -0.836634 +vn -0.466201 -0.153294 -0.871273 +vn -0.052217 -0.045717 -0.997559 +vn -0.302652 -0.614673 -0.728385 +vn -0.269173 0.287210 -0.919248 +vn 0.046358 -0.073183 -0.996216 +vn 0.175909 -0.637623 -0.749962 +vn 0.163488 -0.572924 -0.803095 +vn 0.185888 -0.524705 -0.830714 +vn 0.164220 -0.393262 -0.904630 +vn 0.444594 -0.317087 -0.837703 +vn -0.110355 0.107608 -0.988037 +vn 0.141728 -0.049654 -0.988647 +vn 0.243202 0.136662 -0.960295 +vn -0.349223 0.075747 -0.933958 +vn -0.311106 0.082736 -0.946745 +vn -0.431806 0.344920 -0.833369 +vn -0.217505 -0.740837 -0.635456 +vn -0.262978 -0.725394 -0.636067 +vn -0.300058 -0.327708 -0.895840 +vn -0.398846 -0.789727 0.466018 +vn -0.488845 -0.646382 0.585803 +vn -0.106754 -0.099307 -0.989288 +vn -0.411908 -0.092441 -0.906491 +vn -0.065737 -0.126347 -0.989776 +vn 0.017426 -0.086184 -0.996124 +vn 0.138615 -0.164556 -0.976562 +vn -0.064333 -0.219428 -0.973479 +vn 0.005829 0.250923 -0.967956 +vn -0.402600 0.495102 -0.769921 +vn -0.334727 0.419904 -0.843562 +vn -0.313639 -0.248451 -0.916440 +vn -0.210761 0.002136 -0.977508 +vn -0.073031 0.000305 -0.997314 +vn 0.383618 0.045289 -0.922361 +vn 0.427320 -0.049348 -0.902737 +vn 0.452498 -0.055544 -0.890011 +vn 0.472335 0.056825 -0.879543 +vn -0.567339 -0.366131 -0.737602 +vn -0.171911 0.210028 -0.962432 +vn -0.080020 -0.584002 -0.807794 +vn -0.229652 -0.112094 -0.966765 +vn -0.310099 -0.299264 -0.902341 +vn -0.266243 -0.251991 -0.930357 +vn 0.030183 -0.102542 -0.994263 +vn -0.577960 0.006195 -0.816004 +vn -0.077395 -0.601764 -0.794885 +vn -0.030457 -0.203650 -0.978545 +vn -0.246529 -0.776391 -0.580004 +vn -0.179968 -0.784722 -0.593097 +vn -0.379650 0.063295 -0.922941 +vn 0.199774 -0.567583 -0.798700 +vn 0.192633 -0.512955 -0.836512 +vn -0.374187 0.041688 -0.926389 +vn -0.384808 -0.039216 -0.922147 +vn -0.432630 0.341502 -0.834346 +vn 0.113071 0.043794 -0.992615 +vn 0.079928 0.057466 -0.995117 +vn -0.266640 -0.693106 -0.669668 +vn -0.660085 0.014832 -0.751030 +vn -0.701590 0.530076 -0.476180 +vn -0.192389 -0.882260 0.429579 +vn -0.354350 0.574816 -0.737541 +vn -0.622089 0.227607 -0.749107 +vn -0.710257 0.123234 -0.693045 +vn 0.535173 -0.059999 -0.842586 +vn 0.518509 -0.045198 -0.853847 +vn -0.013215 -0.477493 -0.878506 +vn 0.122593 -0.423475 -0.897549 +vn -0.062166 -0.440504 -0.895566 +vn 0.179876 -0.407422 -0.895321 +vn 0.201941 -0.410627 -0.889126 +vn 0.108310 -0.333689 -0.936430 +vn 0.043367 -0.452345 -0.890774 +vn -0.059358 -0.462844 -0.884426 +vn -0.102908 -0.385479 -0.916929 +vn 0.052583 -0.432447 -0.900113 +vn -0.117618 -0.461531 -0.879269 +vn -0.264504 -0.330515 -0.905942 +vn -0.311533 -0.404889 -0.859645 +vn -0.424238 -0.325419 -0.845027 +vn -0.386486 -0.247414 -0.888455 +vn -0.418104 -0.238502 -0.876492 +vn -0.402753 -0.272561 -0.873745 +vn -0.580706 -0.755638 0.302927 +vn -0.407910 -0.334361 -0.849574 +vn -0.335704 -0.382916 -0.860591 +vn -0.208960 -0.364177 -0.907559 +vn -0.041597 -0.171422 -0.984313 +vn 0.110843 -0.993500 0.024720 +vn -0.113041 0.032777 -0.993042 +vn -0.093509 0.012696 -0.995514 +vn -0.152074 -0.594470 -0.789575 +vn -0.559618 0.301675 -0.771844 +vn -0.536607 -0.277566 -0.796838 +vn -0.551714 0.187109 -0.812769 +vn -0.516617 0.377667 -0.768395 +vn -0.422895 0.407239 -0.809503 +vn -0.401502 0.427900 -0.809717 +vn -0.418043 -0.204474 -0.885098 +vn 0.222449 -0.572436 -0.789178 +vn 0.158544 -0.464644 -0.871151 +vn 0.488662 0.166936 -0.856319 +vn 0.032777 -0.999451 0.004547 +vn 0.010071 -0.999878 0.011017 +vn 0.036836 -0.999298 0.003601 +vn -0.603778 0.087374 -0.792322 +vn -0.323038 0.091220 -0.941954 +vn -0.333171 0.066439 -0.940489 +vn -0.164983 -0.488907 -0.856563 +vn -0.347789 -0.270608 -0.897641 +vn -0.437757 -0.271401 -0.857112 +vn -0.412214 -0.268258 -0.870693 +vn 0.359447 -0.443648 -0.820917 +vn 0.618549 -0.029267 -0.785180 +vn -0.367901 0.075625 -0.926756 +vn -0.376293 0.020692 -0.926237 +vn -0.326731 0.126957 -0.936521 +vn 0.075869 -0.314493 -0.946196 +vn 0.105045 -0.292215 -0.950560 +vn 0.071688 -0.207099 -0.975677 +vn -0.225715 -0.303964 -0.925535 +vn -0.217109 -0.327464 -0.919553 +vn -0.216132 -0.298929 -0.929441 +vn -0.274300 0.244087 -0.930113 +vn -0.215461 -0.244118 -0.945494 +vn -0.252632 -0.253243 -0.933805 +vn -0.130619 -0.245338 -0.960570 +vn -0.123692 -0.267159 -0.955657 +vn -0.115329 -0.261544 -0.958251 +vn -0.313089 -0.265145 -0.911924 +vn -0.274636 -0.183294 -0.943907 +vn -0.396496 -0.120518 -0.910062 +vn -0.413434 -0.163274 -0.895749 +vn -0.212378 -0.252388 -0.943999 +vn -0.205359 -0.331278 -0.920896 +vn -0.334544 -0.336375 -0.880276 +vn -0.165960 -0.323099 -0.931669 +vn -0.266030 -0.325053 -0.907498 +vn -0.111545 -0.286019 -0.951689 +vn -0.274300 -0.238441 -0.931608 +vn -0.412061 -0.358440 -0.837672 +vn -0.356945 -0.345439 -0.867885 +vn 0.104312 -0.994537 0.002136 +vn -0.323557 -0.415357 -0.850124 +vn -0.047334 -0.074190 -0.996094 +vn -0.077517 -0.025391 -0.996643 +vn -0.563372 -0.275033 -0.779046 +vn -0.100497 0.091128 -0.990722 +vn -0.290048 0.098819 -0.951872 +vn -0.166204 -0.024354 -0.985778 +vn -0.452986 -0.483657 -0.748894 +vn -0.271096 -0.678274 -0.682943 +vn -0.250465 0.042055 -0.967193 +vn -0.149236 -0.114078 -0.982177 +vn -0.463759 -0.353343 -0.812433 +vn 0.222907 -0.546922 -0.806940 +vn 0.136113 -0.436323 -0.889401 +vn -0.194739 -0.789544 -0.581927 +vn -0.530534 -0.356975 -0.768822 +vn -0.503952 -0.353771 -0.787927 +vn -0.343608 0.298441 -0.890408 +vn -0.153752 -0.031465 -0.987579 +vn -0.005799 0.076022 -0.997070 +vn -0.103916 0.018952 -0.994385 +vn 0.020203 -0.449934 -0.892819 +vn 0.040071 -0.463424 -0.885220 +vn -0.232124 -0.429914 -0.872494 +vn 0.594012 0.085116 -0.799921 +vn 0.144139 0.190313 -0.971068 +vn -0.289132 -0.140873 -0.946837 +vn -0.307291 -0.273507 -0.911435 +vn -0.333872 -0.350322 -0.875057 +vn 0.606983 0.053011 -0.792932 +vn 0.560961 0.033662 -0.827143 +vn -0.243629 0.334025 -0.910520 +vn 0.046052 -0.189123 -0.980865 +vn 0.022706 -0.109775 -0.993683 +vn 0.073855 -0.112980 -0.990844 +vn -0.264260 0.268929 -0.926176 +vn -0.307535 0.163152 -0.937407 +vn -0.099155 -0.842341 -0.529710 +vn -0.134770 -0.766137 -0.628346 +vn -0.236396 -0.054903 -0.970092 +vn -0.295541 0.287484 -0.911008 +vn -0.346904 0.262947 -0.900266 +vn -0.258431 -0.031526 -0.965484 +vn -0.152165 -0.564898 -0.810999 +vn -0.029237 -0.744316 -0.667165 +vn -0.279672 -0.420911 -0.862880 +vn -0.397565 -0.333842 -0.854671 +vn -0.370190 -0.379986 -0.847682 +vn -0.305918 -0.445448 -0.841395 +vn -0.522263 -0.190191 -0.831294 +vn -0.424085 0.178838 -0.887783 +vn -0.310587 0.155217 -0.937773 +vn -0.583026 -0.243049 -0.775201 +vn -0.278146 -0.004822 -0.960509 +vn -0.739647 -0.337138 -0.582385 +vn -0.557298 -0.078310 -0.826563 +vn -0.126682 -0.153325 -0.980010 +vn -0.400708 -0.645253 -0.650410 +vn -0.337046 -0.661550 -0.669851 +vn 0.267708 -0.626667 -0.731834 +vn 0.209632 -0.505966 -0.836665 +vn 0.233406 -0.461379 -0.855922 +vn -0.484848 -0.726859 -0.486343 +vn -0.521073 -0.466262 -0.714866 +vn -0.471908 -0.337687 -0.814386 +vn -0.503098 -0.145299 -0.851894 +vn -0.071444 0.117771 -0.990448 +vn 0.021668 0.131138 -0.991119 +vn -0.382672 -0.678396 -0.627125 +vn -0.331614 -0.594317 -0.732627 +vn -0.012177 0.060457 -0.998077 +vn -0.037141 -0.057527 -0.997650 +vn 0.633168 0.074618 -0.770379 +vn 0.623829 0.091250 -0.776177 +vn 0.556017 0.023530 -0.830805 +vn 0.032868 -0.393597 -0.918668 +vn 0.144597 -0.415723 -0.897916 +vn 0.082308 -0.045137 -0.995575 +vn 0.003540 -0.039766 -0.999176 +vn -0.078799 -0.038789 -0.996124 +vn 0.095676 -0.357158 -0.929106 +vn -0.160497 0.069369 -0.984588 +vn -0.241066 -0.006806 -0.970458 +vn -0.015870 0.063295 -0.997864 +vn -0.166814 -0.022645 -0.985717 +vn -0.279916 0.018708 -0.959807 +vn 0.005158 0.008637 -0.999939 +vn -0.109958 0.083438 -0.990417 +vn -0.181799 0.014771 -0.983215 +vn -0.070437 -0.028871 -0.997070 +vn 0.033723 -0.167241 -0.985321 +vn -0.335978 -0.305918 -0.890774 +vn -0.218146 -0.198370 -0.955535 +vn -0.486709 -0.188299 -0.852992 +vn -0.442335 -0.235603 -0.865322 +vn 0.043336 -0.143406 -0.988708 +vn -0.587237 -0.238960 -0.773309 +vn -0.432356 0.239082 -0.869411 +vn -0.302286 0.262764 -0.916257 +vn -0.330485 0.237617 -0.913388 +vn -0.150639 -0.059999 -0.986755 +vn -0.501877 -0.572619 -0.648213 +vn 0.297830 -0.596759 -0.745079 +vn 0.288491 -0.487838 -0.823847 +vn 0.416150 -0.526353 -0.741417 +vn 0.410291 0.078921 -0.908505 +vn -0.051363 0.121494 -0.991241 +vn -0.435316 -0.723380 -0.535874 +vn -0.402448 -0.668203 -0.625690 +vn -0.437880 -0.697684 -0.566942 +vn -0.274300 -0.222510 -0.935514 +vn -0.262093 -0.224708 -0.938505 +vn 0.511643 -0.204321 -0.834529 +vn 0.529954 -0.206824 -0.822382 +vn 0.549791 -0.166997 -0.818415 +vn 0.569781 -0.069979 -0.818781 +vn 0.579485 0.050447 -0.813379 +vn 0.593829 0.093295 -0.799158 +vn 0.609851 0.085604 -0.787866 +vn -0.692648 -0.663320 0.283212 +vn 0.550096 0.069643 -0.832179 +vn -0.055727 -0.317423 -0.946623 +vn -0.053987 -0.222449 -0.973418 +vn -0.024476 -0.264382 -0.964080 +vn -0.073122 -0.332682 -0.940184 +vn -0.105472 -0.372753 -0.921903 +vn -0.212683 -0.380352 -0.900021 +vn -0.270455 -0.299722 -0.914853 +vn -0.170965 -0.443312 -0.879879 +vn -0.325480 -0.244545 -0.913358 +vn -0.368511 -0.166753 -0.914518 +vn -0.396283 -0.228278 -0.889279 +vn 0.073641 0.082156 -0.993866 +vn -0.000275 0.151402 -0.988464 +vn -0.413678 -0.272011 -0.868801 +vn -0.280160 -0.335368 -0.899441 +vn -0.248207 -0.270852 -0.930052 +vn -0.540147 -0.053499 -0.839839 +vn -0.527146 -0.096103 -0.844295 +vn 0.158727 -0.394940 -0.904874 +vn 0.113742 -0.300272 -0.947020 +vn -0.581195 -0.224738 -0.782067 +vn -0.427015 0.350505 -0.833522 +vn -0.303995 0.366436 -0.879360 +vn 0.658284 -0.136662 -0.740226 +vn -0.136814 0.024232 -0.990295 +vn -0.481674 -0.736259 -0.475234 +vn -0.479690 -0.646260 -0.593432 +vn 0.480300 0.053468 -0.875454 +vn 0.577410 -0.246162 -0.778405 +vn 0.634846 -0.213569 -0.742485 +vn 0.619739 -0.177831 -0.764367 +vn 0.580126 -0.135929 -0.803095 +vn 0.524613 -0.043641 -0.850215 +vn 0.500229 0.063326 -0.863552 +vn 0.480605 0.092349 -0.872036 +vn 0.463820 0.069155 -0.883206 +vn -0.133549 -0.158086 -0.978332 +vn -0.068087 -0.200720 -0.977264 +vn -0.169225 -0.127079 -0.977325 +vn 0.000458 0.261330 -0.965239 +vn -0.052889 0.303964 -0.951201 +vn -0.083346 0.322367 -0.942900 +vn -0.299966 -0.341411 -0.890744 +vn -0.317087 -0.382855 -0.867672 +vn 0.120396 0.099063 -0.987762 +vn 0.090884 0.097903 -0.991028 +vn -0.398846 -0.227638 -0.888302 +vn -0.468459 -0.294504 -0.832942 +vn -0.575091 0.025910 -0.817652 +vn -0.553331 0.008057 -0.832911 +vn -0.245705 -0.287942 -0.925565 +vn 0.131138 -0.483474 -0.865444 +vn -0.382183 0.388379 -0.838496 +vn -0.307291 0.423719 -0.852046 +vn -0.574450 -0.168981 -0.800867 +vn -0.114444 -0.011933 -0.993347 +vn 0.226753 0.065615 -0.971709 +vn 0.176305 0.226142 -0.957976 +vn 0.238563 0.203528 -0.949553 +vn 0.277535 0.185034 -0.942717 +vn 0.017762 -0.998077 0.059114 +vn -0.014405 -0.998321 0.056063 +vn 0.521714 -0.423597 -0.740501 +vn 0.598926 -0.186773 -0.778680 +vn 0.355022 0.209784 -0.910977 +vn 0.592730 -0.019196 -0.805139 +vn 0.048494 -0.244758 -0.968352 +vn 0.100467 -0.266335 -0.958617 +vn 0.695425 -0.035279 -0.717704 +vn 0.698294 -0.208930 -0.684622 +vn 0.719718 -0.229194 -0.655324 +vn 0.678091 -0.172369 -0.714438 +vn 0.624287 -0.117649 -0.772240 +vn 0.560320 -0.062105 -0.825922 +vn 0.505844 0.006775 -0.862575 +vn 0.452498 0.077242 -0.888394 +vn 0.453383 0.123844 -0.882656 +vn 0.433485 0.091708 -0.896451 +vn 0.416242 0.050172 -0.907834 +vn 0.406140 0.041261 -0.912870 +vn 0.006317 -0.999329 0.035676 +vn 0.032929 -0.998718 0.038026 +vn 0.019379 -0.289102 -0.957091 +vn 0.088900 -0.233222 -0.968322 +vn 0.040437 -0.243202 -0.969115 +vn -0.035768 -0.259133 -0.965148 +vn 0.074709 0.034822 -0.996582 +vn 0.033265 0.081362 -0.996124 +vn 0.036073 0.055635 -0.997772 +vn -0.148900 0.373943 -0.915403 +vn -0.121891 0.210059 -0.970031 +vn -0.022797 0.155614 -0.987548 +vn 0.024079 0.177099 -0.983886 +vn -0.003327 0.186285 -0.982482 +vn -0.479904 -0.265847 -0.836055 +vn -0.409986 -0.223579 -0.884243 +vn -0.371746 -0.269539 -0.888333 +vn 0.084048 0.066561 -0.994232 +vn -0.428236 -0.338389 -0.837886 +vn -0.569811 0.075350 -0.818293 +vn -0.257790 -0.291971 -0.921018 +vn 0.023743 -0.474441 -0.879940 +vn -0.303110 0.359966 -0.882321 +vn -0.276986 0.399213 -0.873989 +vn -0.045228 -0.064943 -0.996857 +vn 0.378338 0.089633 -0.921293 +vn 0.391949 -0.636647 -0.664083 +vn 0.485305 -0.447859 -0.750908 +vn 0.640187 -0.323862 -0.696554 +vn 0.780419 -0.156926 -0.605182 +vn 0.115207 -0.987671 -0.105777 +vn 0.176275 -0.979705 -0.095096 +vn 0.096957 -0.993225 -0.063570 +vn 0.772240 -0.165624 -0.613330 +vn 0.725455 -0.094699 -0.681692 +vn 0.651295 -0.076205 -0.754967 +vn 0.571734 -0.042695 -0.819300 +vn 0.519913 -0.015625 -0.854060 +vn 0.460372 0.073794 -0.884640 +vn 0.397504 0.109195 -0.911039 +vn 0.410901 0.103824 -0.905728 +vn 0.489029 0.071413 -0.869320 +vn 0.498367 0.083590 -0.862911 +vn 0.455916 0.030915 -0.889462 +vn 0.067568 -0.302438 -0.950743 +vn -0.228492 -0.232978 -0.945219 +vn -0.359294 0.033204 -0.932615 +vn -0.303385 0.087161 -0.948851 +vn -0.211371 0.145329 -0.966521 +vn 0.035279 -0.998962 -0.027711 +vn 0.012848 -0.999847 -0.009461 +vn -0.101840 -0.316660 -0.943022 +vn 0.044588 0.030396 -0.998535 +vn -0.067873 -0.312204 -0.947569 +vn -0.011780 -0.301981 -0.953215 +vn 0.018708 -0.321909 -0.946562 +vn -0.146458 0.190558 -0.970672 +vn -0.493454 -0.074099 -0.866573 +vn -0.442946 -0.123447 -0.887997 +vn 0.047914 0.108158 -0.992950 +vn -0.335368 -0.354778 -0.872707 +vn -0.573229 0.075533 -0.815882 +vn -0.217658 0.235694 -0.947111 +vn -0.258675 0.282144 -0.923826 +vn -0.547410 0.071322 -0.833796 +vn -0.001740 -0.106906 -0.994263 +vn 0.409345 0.187414 -0.892911 +vn 0.342479 -0.650746 -0.677633 +vn 0.446974 -0.526566 -0.723106 +vn 0.601794 -0.469955 -0.645711 +vn 0.633229 -0.390667 -0.668081 +vn 0.590564 -0.202277 -0.781213 +vn 0.533708 -0.059084 -0.843562 +vn 0.479690 0.052553 -0.875851 +vn 0.425642 0.104923 -0.898770 +vn 0.634724 -0.164495 -0.754997 +vn 0.444136 -0.003784 -0.895932 +vn 0.661397 -0.228706 -0.714286 +vn 0.638112 -0.145512 -0.756035 +vn 0.646352 -0.044649 -0.761711 +vn 0.617756 0.014100 -0.786218 +vn 0.526078 0.044588 -0.849239 +vn 0.439497 0.041231 -0.897275 +vn 0.365062 0.118778 -0.923368 +vn 0.351238 0.128391 -0.927427 +vn 0.350932 0.053560 -0.934843 +vn 0.392590 0.012635 -0.919614 +vn 0.462050 0.075014 -0.883663 +vn 0.467635 0.070193 -0.881100 +vn -0.299600 -0.090243 -0.949767 +vn -0.047731 -0.256966 -0.965209 +vn -0.047792 -0.427412 -0.902768 +vn -0.186651 -0.207373 -0.960265 +vn -0.099429 -0.243995 -0.964660 +vn -0.199438 -0.484848 -0.851527 +vn -0.043550 -0.470809 -0.881130 +vn -0.107730 -0.370403 -0.922575 +vn -0.533433 0.023408 -0.845485 +vn -0.505448 -0.020997 -0.862575 +vn -0.197546 -0.373424 -0.906369 +vn -0.019501 0.228706 -0.973266 +vn -0.564043 0.056398 -0.823786 +vn -0.329997 -0.161290 -0.930082 +vn -0.321512 -0.321879 -0.890469 +vn 0.088229 -0.470351 -0.878018 +vn 0.086062 -0.433851 -0.896847 +vn -0.546464 0.131687 -0.827021 +vn -0.195807 0.106204 -0.974853 +vn -0.220496 0.125431 -0.967254 +vn -0.033052 -0.005615 -0.999420 +vn -0.626667 -0.375134 -0.683035 +vn -0.123630 0.453047 -0.882839 +vn 0.038057 -0.324137 -0.945219 +vn 0.457869 -0.559130 -0.691153 +vn 0.327250 -0.650685 -0.685171 +vn 0.410840 -0.604022 -0.682882 +vn 0.478011 -0.540422 -0.692404 +vn 0.472579 -0.382153 -0.794092 +vn 0.480758 -0.169530 -0.860286 +vn 0.437025 -0.003754 -0.899411 +vn 0.379589 0.092227 -0.920530 +vn 0.367809 0.123814 -0.921598 +vn 0.394116 0.072024 -0.916227 +vn 0.501816 -0.114536 -0.857326 +vn 0.546587 -0.229041 -0.805444 +vn 0.515488 -0.234199 -0.824244 +vn 0.514725 -0.166967 -0.840907 +vn 0.559282 -0.069002 -0.826075 +vn 0.583392 0.048128 -0.810755 +vn 0.556658 0.124760 -0.821284 +vn 0.467513 0.131626 -0.874111 +vn 0.388806 0.141942 -0.910306 +vn 0.366619 0.146062 -0.918821 +vn 0.347667 0.059114 -0.935728 +vn 0.340068 -0.016114 -0.940245 +vn 0.393109 0.024964 -0.919126 +vn 0.428297 0.065218 -0.901273 +vn 0.455733 -0.012848 -0.890011 +vn 0.443587 0.072176 -0.893307 +vn -0.420850 -0.334452 0.843196 +vn -0.140172 -0.182409 -0.973174 +vn -0.284982 -0.151341 -0.946471 +vn -0.030061 -0.234016 -0.971740 +vn -0.038026 -0.294839 -0.954772 +vn -0.544725 0.037935 -0.837733 +vn -0.132603 -0.420240 -0.897641 +vn -0.448622 -0.140385 -0.882595 +vn -0.526109 -0.030671 -0.849849 +vn -0.203894 0.152715 -0.966979 +vn -0.193854 0.160588 -0.967772 +vn -0.508469 0.211982 -0.834559 +vn -0.197729 -0.797449 -0.570025 +vn -0.061556 0.159612 -0.985229 +vn -0.593646 0.468368 -0.654347 +vn 0.277871 -0.650014 -0.707236 +vn 0.310129 -0.654805 -0.689200 +vn 0.349528 -0.563768 -0.748314 +vn 0.420606 -0.393963 -0.817225 +vn 0.434645 -0.133213 -0.890652 +vn 0.376751 0.059084 -0.924406 +vn 0.342967 0.106021 -0.933317 +vn 0.332133 0.114200 -0.936277 +vn 0.404706 -0.018860 -0.914243 +vn 0.478713 -0.184362 -0.858364 +vn 0.476089 -0.219825 -0.851466 +vn 0.461379 -0.226966 -0.857662 +vn 0.439894 -0.185522 -0.878658 +vn 0.446547 -0.095614 -0.889615 +vn 0.465682 0.037996 -0.884121 +vn 0.503891 0.139348 -0.852412 +vn 0.504013 0.195746 -0.841212 +vn 0.457900 0.182653 -0.870022 +vn 0.431318 0.146611 -0.890194 +vn 0.435163 0.062532 -0.898160 +vn 0.432234 -0.025208 -0.901395 +vn 0.424512 0.014527 -0.905271 +vn 0.445631 0.033265 -0.894589 +vn 0.461318 -0.015992 -0.887082 +vn 0.455733 0.074496 -0.886959 +vn 0.070864 -0.109348 -0.991455 +vn -0.192389 0.164647 -0.967376 +vn -0.127873 -0.334605 -0.933622 +vn -0.322153 0.024689 -0.946348 +vn -0.424604 -0.001312 -0.905362 +vn -0.136967 -0.444197 -0.885372 +vn -0.065401 -0.557115 -0.827815 +vn -0.466414 0.316538 -0.825953 +vn -0.202307 0.289041 -0.935667 +vn 0.026582 -0.447035 -0.894101 +vn -0.193426 -0.736412 -0.648244 +vn -0.107852 0.192755 -0.975280 +vn -0.693167 0.284890 -0.662038 +vn 0.508896 -0.318125 -0.799860 +vn 0.275460 -0.617939 -0.736381 +vn 0.259713 -0.675100 -0.690481 +vn 0.297433 -0.586261 -0.753502 +vn 0.344218 -0.395276 -0.851588 +vn 0.360027 -0.098209 -0.927732 +vn 0.368969 0.081759 -0.925810 +vn 0.332743 0.126011 -0.934538 +vn 0.326212 0.096347 -0.940336 +vn 0.365032 -0.089114 -0.926695 +vn 0.390149 -0.218513 -0.894406 +vn 0.420454 -0.236793 -0.875851 +vn 0.368725 -0.194403 -0.908963 +vn 0.303598 -0.161626 -0.938963 +vn 0.298135 -0.108982 -0.948271 +vn 0.348827 -0.002655 -0.937162 +vn 0.424268 0.089022 -0.901120 +vn 0.468245 0.199866 -0.860653 +vn 0.468062 0.198981 -0.860988 +vn 0.466109 0.155766 -0.870876 +vn 0.455306 0.062288 -0.888119 +vn 0.469802 -0.024445 -0.882412 +vn 0.487777 0.012299 -0.872860 +vn 0.507736 0.013764 -0.861385 +vn 0.472671 0.004486 -0.881191 +vn 0.464187 0.068819 -0.883053 +vn 0.154912 -0.126682 -0.979766 +vn 0.181402 0.161138 -0.970092 +vn 0.034791 0.127842 -0.991180 +vn -0.617603 0.385510 -0.685507 +vn -0.123569 -0.315744 -0.940733 +vn -0.049837 -0.330638 -0.942412 +vn -0.259102 0.092471 -0.961394 +vn -0.659047 0.446059 -0.605487 +vn -0.187872 0.405835 -0.894406 +vn -0.410962 0.414258 -0.812067 +vn -0.174535 -0.786035 -0.593005 +vn -0.120548 0.124393 -0.984863 +vn -0.437696 0.465835 -0.769005 +vn -0.357585 0.226234 -0.906034 +vn -0.748802 0.316446 -0.582324 +vn 0.554796 -0.241859 -0.796014 +vn 0.376782 -0.563402 -0.735221 +vn 0.233589 -0.659719 -0.714255 +vn 0.206519 -0.595599 -0.776269 +vn 0.242531 -0.413343 -0.877651 +vn 0.305765 -0.126835 -0.943602 +vn 0.371715 0.077151 -0.925108 +vn 0.339122 0.162175 -0.926633 +vn 0.301645 0.087985 -0.949339 +vn 0.313822 -0.111972 -0.942839 +vn 0.352550 -0.252724 -0.900998 +vn 0.379406 -0.225196 -0.897397 +vn 0.336558 -0.142918 -0.930723 +vn 0.281075 -0.138066 -0.949675 +vn 0.284860 -0.134373 -0.949095 +vn 0.337168 -0.057222 -0.939665 +vn 0.370281 0.052217 -0.927427 +vn 0.396649 0.180853 -0.899960 +vn 0.404645 0.208014 -0.890469 +vn 0.403912 0.164251 -0.899899 +vn 0.415265 0.057253 -0.907865 +vn 0.455214 -0.059481 -0.888363 +vn 0.503525 -0.020417 -0.863704 +vn 0.502091 0.042879 -0.863735 +vn 0.444349 0.037477 -0.895047 +vn 0.434370 0.049928 -0.899319 +vn -0.115482 -0.791040 -0.600726 +vn -0.145177 -0.089908 -0.985290 +vn -0.190619 -0.030030 -0.981201 +vn -0.000916 -0.298044 -0.954527 +vn 0.091372 -0.170721 -0.981048 +vn 0.014435 0.245918 -0.969146 +vn -0.196570 -0.222053 -0.954985 +vn -0.447005 0.320780 -0.835017 +vn -0.458419 0.376415 -0.805048 +vn -0.476302 0.361614 -0.801447 +vn 0.187811 -0.287332 -0.939207 +vn -0.178869 -0.311197 -0.933348 +vn -0.347880 0.458052 -0.817988 +vn -0.355663 0.377331 -0.855037 +vn -0.105075 -0.826930 -0.552385 +vn -0.099338 -0.833979 -0.542741 +vn -0.110721 0.073336 -0.991119 +vn 0.392468 -0.337291 -0.855647 +vn 0.424055 -0.142521 -0.894314 +vn 0.517716 -0.069765 -0.852687 +vn 0.532884 -0.229957 -0.814325 +vn 0.422987 -0.509995 -0.748955 +vn 0.252510 -0.613453 -0.748253 +vn 0.149846 -0.583728 -0.797967 +vn 0.150945 -0.430616 -0.889798 +vn 0.207160 -0.173711 -0.962737 +vn 0.308481 0.033082 -0.950621 +vn 0.352428 0.188788 -0.916562 +vn 0.336161 0.098666 -0.936583 +vn 0.344646 -0.140812 -0.928098 +vn 0.379376 -0.285226 -0.880154 +vn 0.394757 -0.211982 -0.893979 +vn 0.390606 -0.105533 -0.914457 +vn 0.362438 -0.113102 -0.925108 +vn 0.375835 -0.148137 -0.914762 +vn 0.402326 -0.070681 -0.912748 +vn 0.375805 0.056581 -0.924955 +vn 0.398663 0.160558 -0.902921 +vn 0.404492 0.215918 -0.888668 +vn 0.399823 0.146184 -0.904843 +vn 0.455641 0.029115 -0.889676 +vn 0.498245 -0.099673 -0.861263 +vn 0.495926 -0.025239 -0.867977 +vn 0.469039 0.081271 -0.879421 +vn 0.436659 0.063173 -0.897366 +vn 0.430250 0.020081 -0.902463 +vn -0.235969 0.082461 -0.968230 +vn -0.047487 -0.436567 -0.898404 +vn 0.117191 -0.101077 -0.987945 +vn 0.045503 0.161779 -0.985748 +vn 0.049715 -0.997955 -0.039460 +vn -0.204169 -0.170751 -0.963927 +vn -0.196692 0.064119 -0.978362 +vn -0.292947 0.121372 -0.948363 +vn -0.032777 -0.984008 0.174993 +vn -0.031739 -0.984649 0.171545 +vn -0.418104 -0.310343 -0.853725 +vn -0.300241 -0.312815 -0.901089 +vn -0.260170 0.405774 -0.876125 +vn -0.282601 -0.740867 -0.609272 +vn -0.138554 -0.730216 -0.668996 +vn -0.124607 0.096530 -0.987487 +vn 0.372723 -0.445326 -0.814081 +vn 0.363475 -0.328349 -0.871792 +vn 0.377697 -0.182226 -0.907773 +vn 0.424116 -0.119083 -0.897732 +vn 0.481277 -0.253883 -0.838984 +vn 0.528520 -0.477126 -0.702109 +vn 0.408918 -0.503677 -0.760949 +vn 0.190680 -0.518876 -0.833277 +vn 0.095004 -0.430433 -0.897580 +vn 0.165654 -0.238624 -0.956847 +vn 0.240059 -0.027528 -0.970336 +vn 0.307627 0.155431 -0.938719 +vn 0.347758 0.092929 -0.932951 +vn 0.373699 -0.168737 -0.912046 +vn 0.385571 -0.292398 -0.875088 +vn 0.369732 -0.202612 -0.906735 +vn 0.371044 -0.101352 -0.923063 +vn 0.391003 -0.128697 -0.911313 +vn 0.413373 -0.164312 -0.895596 +vn 0.467147 -0.065889 -0.881710 +vn 0.451735 0.063204 -0.889889 +vn 0.442640 0.145940 -0.884701 +vn 0.433576 0.213507 -0.875423 +vn 0.438765 0.120914 -0.890408 +vn 0.515458 -0.042848 -0.855831 +vn 0.536485 -0.090579 -0.839015 +vn 0.495010 0.024415 -0.868526 +vn 0.458022 0.102695 -0.882962 +vn 0.439070 0.077486 -0.895077 +vn 0.445265 0.005219 -0.895383 +vn -0.238197 -0.350078 -0.905911 +vn -0.200659 -0.441969 -0.874264 +vn -0.195990 -0.202368 -0.959471 +vn -0.098331 -0.438917 -0.893094 +vn -0.214423 0.342998 -0.914518 +vn -0.551775 -0.254280 -0.794244 +vn -0.519761 -0.241981 -0.819300 +vn -0.139897 0.302042 -0.942961 +vn -0.276528 -0.571520 -0.772546 +vn -0.460128 -0.258156 -0.849452 +vn -0.204962 0.172887 -0.963347 +vn 0.513413 0.093265 -0.853023 +vn 0.156896 -0.200873 -0.966948 +vn 0.322977 -0.438734 -0.838527 +vn 0.323374 -0.322214 -0.889706 +vn 0.365429 -0.204321 -0.908109 +vn 0.379589 -0.167425 -0.909848 +vn 0.486740 -0.374462 -0.789178 +vn 0.552385 -0.456832 -0.697226 +vn 0.451643 -0.352000 -0.819788 +vn 0.252510 -0.411786 -0.875576 +vn 0.150334 -0.419446 -0.895230 +vn 0.182257 -0.266793 -0.946348 +vn 0.186132 -0.048036 -0.981323 +vn 0.225227 0.113712 -0.967620 +vn 0.280038 0.059328 -0.958129 +vn 0.314646 -0.205695 -0.926633 +vn 0.334788 -0.296213 -0.894498 +vn 0.333598 -0.190527 -0.923246 +vn 0.308390 -0.103793 -0.945555 +vn 0.338206 -0.159307 -0.927458 +vn 0.388256 -0.216315 -0.895779 +vn 0.449721 -0.084201 -0.889157 +vn 0.468673 0.075655 -0.880093 +vn 0.437544 0.181799 -0.880612 +vn 0.402326 0.215644 -0.889706 +vn 0.418317 0.086795 -0.904141 +vn 0.453658 -0.095157 -0.886074 +vn 0.483718 -0.084201 -0.871151 +vn 0.478500 0.055574 -0.876309 +vn 0.450209 0.129032 -0.883541 +vn 0.432264 0.082614 -0.897916 +vn 0.440474 0.007996 -0.897702 +vn 0.501724 0.012116 -0.864925 +vn -0.699820 -0.712394 -0.052126 +vn 0.101596 0.090396 -0.990692 +vn -0.262856 0.186804 -0.946562 +vn -0.251289 0.338084 -0.906919 +vn -0.287637 0.316446 -0.903928 +vn -0.455306 -0.312998 -0.833461 +vn -0.223090 -0.508744 -0.831477 +vn -0.503250 -0.424451 -0.752678 +vn 0.300241 -0.410840 -0.860836 +vn 0.270882 -0.433363 -0.859523 +vn 0.292459 -0.342112 -0.892972 +vn 0.323496 -0.209082 -0.922819 +vn 0.317515 -0.218665 -0.922666 +vn 0.422956 -0.485458 -0.765130 +vn 0.441939 -0.428449 -0.788079 +vn 0.390454 -0.247291 -0.886746 +vn 0.302652 -0.344798 -0.888516 +vn 0.245705 -0.396832 -0.884365 +vn 0.260109 -0.260994 -0.929624 +vn 0.203833 -0.028443 -0.978576 +vn 0.201819 0.082736 -0.975890 +vn 0.241798 0.026734 -0.969939 +vn 0.218909 -0.223792 -0.949705 +vn 0.219581 -0.311686 -0.924436 +vn 0.232734 -0.178198 -0.956053 +vn 0.227699 -0.109836 -0.967498 +vn 0.264260 -0.202979 -0.942839 +vn 0.332438 -0.268288 -0.904141 +vn 0.337168 -0.101352 -0.935942 +vn 0.396283 0.065371 -0.915769 +vn 0.384472 0.194983 -0.902280 +vn 0.378826 0.247627 -0.891690 +vn 0.358470 0.074923 -0.930509 +vn 0.343455 -0.122440 -0.931120 +vn 0.394452 -0.111972 -0.912046 +vn 0.439650 0.057772 -0.896298 +vn 0.429334 0.157628 -0.889248 +vn 0.392804 0.082888 -0.915860 +vn 0.379711 -0.011170 -0.925016 +vn 0.428755 -0.025941 -0.903043 +vn 0.204169 -0.432722 -0.878079 +vn -0.368572 0.241890 -0.897549 +vn -0.263009 -0.952910 -0.150914 +vn -0.134770 -0.988189 -0.072817 +vn -0.166570 -0.972900 -0.160192 +vn -0.281564 0.265786 -0.921964 +vn -0.312449 0.263649 -0.912595 +vn -0.487655 -0.354411 -0.797845 +vn -0.022309 -0.924375 0.380779 +vn -0.091830 -0.657918 0.747459 +vn -0.551256 -0.201239 -0.809656 +vn -0.153996 -0.462172 -0.873287 +vn -0.298471 -0.276864 -0.913358 +vn -0.541185 -0.283120 -0.791772 +vn 0.428175 -0.347880 -0.834010 +vn 0.327250 -0.270363 -0.905423 +vn 0.247414 -0.388562 -0.887570 +vn 0.221015 -0.435286 -0.872707 +vn 0.223579 -0.350047 -0.909635 +vn 0.222999 -0.201880 -0.953673 +vn 0.251900 -0.297281 -0.920927 +vn 0.353191 -0.559160 -0.750023 +vn 0.322947 -0.396863 -0.859157 +vn 0.335429 -0.223304 -0.915189 +vn 0.363231 -0.331797 -0.870602 +vn 0.343150 -0.377514 -0.860042 +vn 0.289987 -0.190893 -0.937773 +vn 0.270028 -0.000763 -0.962828 +vn 0.243843 0.081881 -0.966338 +vn 0.239204 0.031129 -0.970458 +vn 0.189245 -0.202826 -0.960723 +vn 0.183508 -0.322642 -0.928526 +vn 0.238258 -0.194311 -0.951537 +vn 0.245277 -0.122990 -0.961608 +vn 0.189245 -0.224494 -0.955901 +vn 0.141942 -0.271004 -0.952025 +vn 0.194128 -0.152806 -0.968993 +vn 0.296579 0.038667 -0.954192 +vn 0.295144 0.202185 -0.933805 +vn 0.327708 0.248054 -0.911618 +vn 0.344493 0.100650 -0.933348 +vn 0.310831 -0.132481 -0.941160 +vn 0.371197 -0.163121 -0.914090 +vn 0.421583 0.032929 -0.906186 +vn 0.410718 0.190771 -0.891568 +vn 0.347514 0.141026 -0.926969 +vn 0.274117 -0.022858 -0.961394 +vn 0.285226 -0.083377 -0.954802 +vn 0.317026 -0.010376 -0.948332 +vn -0.450117 0.464400 -0.762658 +vn -0.424329 0.343028 -0.838008 +vn -0.481094 0.298837 -0.824122 +vn 0.163762 0.045778 -0.985412 +vn 0.249458 0.204443 -0.946532 +vn 0.287698 0.196142 -0.937407 +vn 0.245796 0.081851 -0.965850 +vn -0.284585 0.165899 -0.944151 +vn -0.454268 -0.257332 -0.852870 +vn -0.311655 -0.156255 -0.937254 +vn -0.350902 0.374859 -0.858058 +vn -0.178350 -0.397778 -0.899960 +vn -0.563219 -0.228401 -0.794092 +vn 0.278451 -0.217658 -0.935453 +vn 0.175359 -0.362316 -0.915372 +vn 0.118229 -0.432905 -0.893613 +vn 0.148015 -0.360820 -0.920804 +vn 0.170263 -0.214209 -0.961821 +vn 0.172887 -0.367351 -0.913846 +vn 0.278359 -0.592792 -0.755669 +vn 0.258309 -0.388592 -0.884426 +vn 0.322367 -0.272347 -0.906552 +vn 0.375286 -0.354503 -0.856410 +vn 0.346751 -0.332438 -0.877041 +vn 0.245155 -0.152959 -0.957335 +vn 0.273812 -0.014710 -0.961638 +vn 0.277444 0.112796 -0.954070 +vn 0.271096 0.041078 -0.961669 +vn 0.255806 -0.195959 -0.946623 +vn 0.283853 -0.344768 -0.894711 +vn 0.342479 -0.196661 -0.918699 +vn 0.272683 -0.053377 -0.960601 +vn 0.096286 -0.136631 -0.985900 +vn -0.065432 -0.269478 -0.960753 +vn 0.081576 -0.233070 -0.968993 +vn 0.238075 -0.019990 -0.971038 +vn 0.279702 0.190497 -0.940977 +vn 0.329600 0.200446 -0.922575 +vn 0.406201 0.098392 -0.908444 +vn 0.424970 -0.151860 -0.892361 +vn 0.413648 -0.169378 -0.894528 +vn 0.390149 0.036256 -0.920011 +vn 0.408307 0.203894 -0.889737 +vn 0.388440 0.203436 -0.898709 +vn 0.312540 0.016083 -0.949736 +vn 0.220801 -0.066042 -0.973052 +vn 0.198706 -0.027863 -0.979644 +vn 0.245643 0.071688 -0.966674 +vn -0.274636 0.126255 -0.953185 +vn -0.315806 -0.274850 -0.908109 +vn -0.245766 -0.345744 -0.905545 +vn 0.047609 0.303293 -0.951689 +vn -0.560594 -0.239113 -0.792779 +vn 0.234291 -0.152104 -0.960173 +vn 0.112125 -0.309854 -0.944121 +vn 0.053835 -0.434614 -0.898984 +vn 0.092044 -0.380963 -0.919980 +vn 0.084201 -0.203436 -0.975433 +vn 0.122929 -0.413709 -0.902036 +vn 0.217292 -0.604175 -0.766625 +vn 0.262337 -0.405408 -0.875668 +vn 0.327952 -0.315744 -0.890347 +vn 0.322581 -0.359600 -0.875546 +vn 0.309793 -0.284555 -0.907193 +vn 0.264168 -0.126652 -0.956114 +vn 0.180822 -0.008942 -0.983459 +vn 0.226630 0.080569 -0.970641 +vn 0.270821 0.036012 -0.961943 +vn 0.285928 -0.218024 -0.933103 +vn 0.339640 -0.373058 -0.863369 +vn 0.359111 -0.155705 -0.920194 +vn 0.309793 0.053285 -0.949278 +vn 0.172979 -0.001251 -0.984893 +vn -0.011200 -0.232307 -0.972564 +vn 0.052553 -0.343547 -0.937651 +vn 0.278542 -0.121494 -0.952696 +vn 0.353069 0.170080 -0.919980 +vn 0.478988 0.097232 -0.872402 +vn 0.573748 0.029084 -0.818476 +vn 0.576189 -0.129124 -0.807031 +vn 0.458449 -0.081362 -0.884976 +vn 0.378185 0.045320 -0.924589 +vn 0.396924 0.163549 -0.903134 +vn 0.453108 0.212531 -0.865719 +vn 0.434553 0.082644 -0.896817 +vn 0.356670 -0.011444 -0.934141 +vn 0.301645 -0.020203 -0.953185 +vn 0.292795 0.078951 -0.952879 +vn -0.312754 -0.097507 -0.944792 +vn -0.288797 -0.031281 -0.956877 +vn -0.312601 0.023316 -0.949583 +vn -0.364086 0.094516 -0.926542 +vn 0.232215 0.211035 -0.949461 +vn -0.290597 0.055025 -0.955229 +vn -0.357067 -0.231941 -0.904813 +vn -0.219306 -0.298318 -0.928892 +vn -0.683615 0.633412 -0.362529 +vn -0.528214 -0.152867 -0.835200 +vn 0.236427 -0.169927 -0.956664 +vn 0.162511 -0.078097 -0.983581 +vn 0.057894 -0.258675 -0.964202 +vn 0.007660 -0.426160 -0.904599 +vn -0.006561 -0.383160 -0.923643 +vn 0.013916 -0.224708 -0.974303 +vn 0.147557 -0.482009 -0.863643 +vn 0.134587 -0.611988 -0.779290 +vn 0.206519 -0.436506 -0.875637 +vn 0.286294 -0.338359 -0.896390 +vn 0.307291 -0.359630 -0.881008 +vn 0.294046 -0.257759 -0.920347 +vn 0.276955 -0.071871 -0.958190 +vn 0.232368 0.024842 -0.972289 +vn 0.216590 0.049318 -0.975005 +vn 0.245827 0.006897 -0.969268 +vn 0.295053 -0.262520 -0.918668 +vn 0.306986 -0.382763 -0.871334 +vn 0.323893 -0.150700 -0.933988 +vn 0.381268 0.078005 -0.921140 +vn 0.326884 0.102115 -0.939512 +vn 0.215705 -0.176305 -0.960387 +vn 0.176244 -0.405652 -0.896847 +vn 0.287545 -0.198981 -0.936857 +vn 0.451949 0.024812 -0.891690 +vn 0.601337 -0.032502 -0.798303 +vn 0.670431 -0.021363 -0.741630 +vn 0.615711 0.001617 -0.787927 +vn 0.472304 0.024567 -0.881069 +vn 0.414686 0.074648 -0.906888 +vn 0.410047 0.131291 -0.902554 +vn 0.458937 0.164892 -0.873012 +vn 0.485580 0.118137 -0.866146 +vn 0.433424 0.039125 -0.900327 +vn 0.404553 0.005249 -0.914487 +vn 0.204993 0.236366 -0.949767 +vn 0.191839 0.131169 -0.972594 +vn 0.191626 -0.978942 0.070101 +vn -0.327830 -0.140996 -0.934141 +vn -0.407544 -0.298379 -0.863033 +vn -0.416089 -0.234107 -0.878658 +vn -0.187750 -0.220985 -0.956999 +vn -0.476791 -0.048921 -0.877621 +vn -0.459517 -0.036042 -0.887417 +vn 0.185430 -0.149083 -0.971252 +vn 0.119968 -0.014039 -0.992676 +vn 0.056887 -0.219214 -0.973998 +vn -0.008087 -0.403027 -0.915128 +vn -0.055086 -0.383831 -0.921720 +vn -0.000366 -0.309458 -0.950896 +vn 0.134434 -0.540788 -0.830317 +vn 0.072939 -0.619190 -0.781793 +vn 0.081912 -0.478774 -0.874081 +vn 0.193335 -0.395184 -0.898007 +vn 0.236366 -0.366710 -0.899777 +vn 0.233161 -0.247993 -0.940245 +vn 0.260964 -0.070894 -0.962706 +vn 0.281289 0.033540 -0.959014 +vn 0.226753 0.080264 -0.970611 +vn 0.191046 -0.023560 -0.981292 +vn 0.261361 -0.298746 -0.917814 +vn 0.221534 -0.381726 -0.897305 +vn 0.282815 -0.196966 -0.938719 +vn 0.366344 0.052034 -0.929014 +vn 0.366436 0.147801 -0.918607 +vn 0.343486 -0.148961 -0.927244 +vn 0.266518 -0.406934 -0.873684 +vn 0.357830 -0.269570 -0.894009 +vn 0.475600 -0.115299 -0.872036 +vn 0.542802 -0.126499 -0.830256 +vn 0.575091 -0.035798 -0.817286 +vn 0.594134 0.092990 -0.798944 +vn 0.581896 0.101718 -0.806848 +vn 0.521195 0.106662 -0.846706 +vn 0.459029 0.126682 -0.879299 +vn 0.438063 0.141270 -0.887753 +vn 0.434675 0.126743 -0.891598 +vn 0.435987 0.066836 -0.897427 +vn 0.458174 -0.009156 -0.888791 +vn -0.818232 -0.477981 0.319346 +vn 0.175817 0.241859 -0.954222 +vn 0.191107 0.141301 -0.971343 +vn -0.345958 -0.312601 -0.884610 +vn -0.362560 -0.251839 -0.897275 +vn -0.399976 -0.299417 -0.866207 +vn -0.504715 -0.121769 -0.854640 +vn -0.585376 -0.036958 -0.809900 +vn -0.615162 0.057497 -0.786279 +vn -0.261391 -0.172338 -0.949705 +vn -0.440168 -0.080874 -0.894253 +vn 0.162114 -0.117405 -0.979736 +vn 0.170049 0.011078 -0.985351 +vn 0.124729 -0.175756 -0.976470 +vn -0.026124 -0.352855 -0.935301 +vn -0.048311 -0.389416 -0.919767 +vn 0.015351 -0.375958 -0.926481 +vn 0.095309 -0.558367 -0.824091 +vn 0.067507 -0.606647 -0.792077 +vn 0.011689 -0.499313 -0.866329 +vn 0.091372 -0.444411 -0.891140 +vn 0.141911 -0.385876 -0.911557 +vn 0.166478 -0.262062 -0.950560 +vn 0.182592 -0.087039 -0.979308 +vn 0.194403 0.043672 -0.979919 +vn 0.204657 0.104984 -0.973174 +vn 0.184332 -0.030457 -0.982360 +vn 0.203467 -0.318430 -0.925840 +vn 0.158422 -0.390698 -0.906766 +vn 0.227393 -0.253456 -0.940214 +vn 0.305734 0.013672 -0.951994 +vn 0.350780 0.143345 -0.925382 +vn 0.385113 -0.135289 -0.912870 +vn 0.342112 -0.396893 -0.851680 +vn 0.348491 -0.295175 -0.889584 +vn 0.421705 -0.166448 -0.891293 +vn 0.418348 -0.157292 -0.894528 +vn 0.391705 -0.053407 -0.918516 +vn 0.423231 0.041475 -0.905057 +vn 0.457167 0.100467 -0.883663 +vn 0.480361 0.153294 -0.863552 +vn 0.481613 0.197150 -0.853908 +vn 0.428205 0.183905 -0.884762 +vn 0.371593 0.137211 -0.918180 +vn 0.369152 0.042268 -0.928373 +vn 0.378765 0.000214 -0.925474 +vn -0.027680 0.102664 -0.994324 +vn 0.224494 0.110263 -0.968200 +vn 0.247078 0.071505 -0.966338 +vn 0.183447 0.248787 -0.951018 +vn 0.158300 0.231117 -0.959929 +vn 0.199805 0.128025 -0.971404 +vn -0.355266 -0.300027 -0.885281 +vn -0.366039 -0.119938 -0.922819 +vn -0.384686 -0.011505 -0.922941 +vn 0.162267 -0.549211 -0.819758 +vn 0.190405 -0.126774 -0.973479 +vn 0.230842 0.004059 -0.972961 +vn 0.120365 -0.085147 -0.989044 +vn 0.027528 -0.298990 -0.953825 +vn -0.020234 -0.398144 -0.917081 +vn 0.079684 -0.434675 -0.897031 +vn 0.188391 -0.570360 -0.799463 +vn 0.171850 -0.576891 -0.798517 +vn 0.075167 -0.489395 -0.868801 +vn 0.071963 -0.466079 -0.881802 +vn 0.083224 -0.395581 -0.914640 +vn 0.049593 -0.257454 -0.964995 +vn 0.054720 -0.096042 -0.993866 +vn 0.109592 0.023743 -0.993683 +vn 0.136113 0.090426 -0.986541 +vn 0.190374 -0.053926 -0.980224 +vn 0.184759 -0.304666 -0.934355 +vn 0.149846 -0.396527 -0.905698 +vn 0.199255 -0.291452 -0.935575 +vn 0.245949 -0.031617 -0.968749 +vn 0.314920 0.087924 -0.945006 +vn 0.396405 -0.174963 -0.901212 +vn 0.384564 -0.387982 -0.837581 +vn 0.312174 -0.304056 -0.900021 +vn 0.346599 -0.187384 -0.919065 +vn 0.324625 -0.124271 -0.937620 +vn 0.253304 -0.032624 -0.966826 +vn 0.198675 0.053682 -0.978576 +vn 0.190802 0.094150 -0.977081 +vn 0.186621 0.124180 -0.974548 +vn 0.300851 0.160222 -0.940092 +vn 0.404797 0.214393 -0.888882 +vn 0.376659 0.181463 -0.908383 +vn 0.331584 0.049715 -0.942106 +vn 0.315348 -0.019257 -0.948759 +vn -0.404492 -0.015687 -0.914396 +vn 0.173498 0.105411 -0.979156 +vn 0.139225 0.282754 -0.949004 +vn 0.107120 0.235176 -0.966002 +vn 0.127445 0.088351 -0.987884 +vn -0.412214 -0.030702 -0.910550 +vn 0.283883 0.116520 -0.951720 +vn 0.086612 -0.995636 -0.034516 +vn -0.355174 -0.694235 -0.625965 +vn -0.356273 0.166631 -0.919370 +vn 0.217780 -0.141758 -0.965636 +vn 0.210120 0.048616 -0.976440 +vn 0.145665 -0.023347 -0.989044 +vn 0.095981 -0.277291 -0.955962 +vn 0.044832 -0.406476 -0.912534 +vn 0.178655 -0.515458 -0.838069 +vn 0.331400 -0.590930 -0.735466 +vn 0.362438 -0.511277 -0.779229 +vn 0.233406 -0.413129 -0.880215 +vn 0.044252 -0.417371 -0.907651 +vn -0.068148 -0.371929 -0.925748 +vn -0.102298 -0.256508 -0.961089 +vn -0.049379 -0.133000 -0.989868 +vn 0.027253 -0.031831 -0.999115 +vn 0.129795 0.060091 -0.989715 +vn 0.239723 -0.101260 -0.965514 +vn 0.274270 -0.296762 -0.914670 +vn 0.265481 -0.393536 -0.880123 +vn 0.278878 -0.296945 -0.913236 +vn 0.282144 -0.035127 -0.958708 +vn 0.282540 0.024323 -0.958922 +vn 0.283059 -0.214484 -0.934782 +vn 0.315775 -0.384747 -0.867306 +vn 0.287454 -0.291421 -0.912351 +vn 0.261330 -0.178899 -0.948515 +vn 0.238502 -0.088778 -0.967071 +vn 0.204047 0.016907 -0.978790 +vn 0.157292 0.092380 -0.983215 +vn 0.105075 0.105960 -0.988769 +vn 0.089633 0.109592 -0.989898 +vn 0.120426 0.068331 -0.990356 +vn 0.295419 0.132786 -0.946074 +vn 0.370678 0.216590 -0.903134 +vn 0.309000 0.088565 -0.946928 +vn 0.275521 -0.023041 -0.960997 +vn -0.110019 -0.532365 -0.839320 +vn -0.095004 -0.899808 -0.425794 +vn 0.145146 0.168187 -0.974975 +vn 0.047792 0.303079 -0.951750 +vn 0.034608 0.235572 -0.971221 +vn 0.070467 0.044191 -0.996521 +vn 0.143834 0.050295 -0.988311 +vn -0.513291 0.036927 -0.857418 +vn -0.512131 0.106388 -0.852260 +vn -0.576708 0.090732 -0.811884 +vn -0.440382 0.024110 -0.897458 +vn 0.256905 0.107425 -0.960418 +vn -0.373699 0.253761 -0.892117 +vn 0.183416 -0.136631 -0.973479 +vn 0.176763 0.065188 -0.982086 +vn 0.188208 -0.003784 -0.982116 +vn 0.101749 -0.226386 -0.968688 +vn 0.083987 -0.437574 -0.895230 +vn 0.204291 -0.593890 -0.778161 +vn 0.357921 -0.622059 -0.696341 +vn 0.394818 -0.421705 -0.816218 +vn 0.329600 -0.287088 -0.899380 +vn 0.113956 -0.286355 -0.951292 +vn -0.067324 -0.306345 -0.949522 +vn -0.131046 -0.281564 -0.950530 +vn -0.067141 -0.173193 -0.982574 +vn 0.066775 -0.125156 -0.989868 +vn 0.289285 -0.073214 -0.954405 +vn 0.410932 -0.160985 -0.897305 +vn 0.408124 -0.293435 -0.864467 +vn 0.382763 -0.372143 -0.845546 +vn 0.385449 -0.272103 -0.881680 +vn 0.327647 0.017762 -0.944609 +vn 0.255593 0.052431 -0.965331 +vn 0.186651 -0.216468 -0.958251 +vn 0.180425 -0.395306 -0.900632 +vn 0.189673 -0.276589 -0.942076 +vn 0.175207 -0.158361 -0.971679 +vn 0.194494 -0.089022 -0.976836 +vn 0.240730 0.011780 -0.970489 +vn 0.242958 0.122837 -0.962218 +vn 0.193121 0.141026 -0.970977 +vn 0.165288 0.109714 -0.980102 +vn 0.180578 0.024598 -0.983245 +vn 0.217383 0.037904 -0.975341 +vn 0.309610 0.195013 -0.930631 +vn 0.291757 0.150792 -0.944517 +vn 0.193518 -0.006653 -0.981048 +vn 0.164556 0.059938 -0.984527 +vn -0.148564 -0.623218 0.767785 +vn -0.123875 -0.522019 0.843867 +vn -0.162145 -0.529893 0.832392 +vn -0.206244 -0.968383 0.140202 +vn -0.000916 0.233283 -0.972381 +vn 0.007111 0.015198 -0.999847 +vn -0.365032 -0.219581 -0.904721 +vn -0.422773 0.003540 -0.906217 +vn -0.443251 0.084017 -0.892422 +vn -0.442396 0.098575 -0.891354 +vn -0.415418 0.074679 -0.906522 +vn 0.253304 0.189581 -0.948607 +vn -0.443129 0.203253 -0.873074 +vn 0.185400 -0.126041 -0.974517 +vn 0.181677 0.070803 -0.980804 +vn 0.120823 0.015442 -0.992523 +vn 0.062471 -0.198767 -0.978027 +vn 0.083193 -0.479080 -0.873806 +vn 0.139134 -0.655934 -0.741844 +vn 0.296335 -0.661397 -0.688986 +vn 0.359813 -0.416517 -0.834864 +vn 0.417005 -0.204535 -0.885556 +vn 0.281198 -0.164800 -0.945372 +vn 0.104404 -0.206519 -0.972839 +vn 0.081637 -0.290689 -0.953307 +vn 0.194891 -0.276620 -0.940977 +vn 0.397992 -0.250710 -0.882443 +vn 0.517441 -0.172796 -0.838069 +vn 0.540056 -0.155919 -0.827052 +vn 0.478469 -0.252754 -0.840907 +vn 0.425428 -0.353465 -0.833094 +vn 0.380383 -0.207617 -0.901212 +vn 0.308847 0.086703 -0.947142 +vn 0.245094 0.100101 -0.964293 +vn 0.162145 -0.192358 -0.967803 +vn 0.070803 -0.388195 -0.918821 +vn 0.107517 -0.293008 -0.950011 +vn 0.175359 -0.187078 -0.966552 +vn 0.220618 -0.119297 -0.968017 +vn 0.255867 -0.007904 -0.966643 +vn 0.293497 0.115238 -0.948973 +vn 0.291360 0.160131 -0.943083 +vn 0.276803 0.107791 -0.954833 +vn 0.287362 0.024262 -0.957488 +vn 0.247414 0.035920 -0.968230 +vn 0.271615 0.141240 -0.951964 +vn 0.301340 0.212104 -0.929594 +vn 0.203375 0.054964 -0.977538 +vn 0.159948 0.071261 -0.984527 +vn 0.146092 0.207434 -0.967254 +vn 0.233955 -0.128361 -0.963713 +vn 0.241585 -0.135716 -0.960814 +vn 0.034333 -0.969085 -0.244209 +vn -0.162084 -0.568194 -0.806757 +vn 0.217780 -0.809259 0.545549 +vn 0.172002 -0.781335 0.599872 +vn -0.018220 0.003265 -0.999817 +vn -0.008393 -0.045869 -0.998901 +vn 0.262581 0.180456 -0.947874 +vn 0.051363 -0.791131 -0.609424 +vn -0.529862 0.129215 -0.838160 +vn 0.174902 -0.462508 -0.869167 +vn 0.173132 -0.123264 -0.977142 +vn 0.213782 0.088809 -0.972808 +vn 0.192907 0.078433 -0.978057 +vn 0.100589 -0.176427 -0.979156 +vn 0.080142 -0.498123 -0.863369 +vn 0.105472 -0.684133 -0.721671 +vn 0.233497 -0.679098 -0.695883 +vn 0.280984 -0.436018 -0.854915 +vn 0.367382 -0.187658 -0.910916 +vn 0.350322 -0.065554 -0.934324 +vn 0.214942 -0.143681 -0.965972 +vn 0.245521 -0.326579 -0.912687 +vn 0.349712 -0.367901 -0.861568 +vn 0.410474 -0.314829 -0.855770 +vn 0.426252 -0.211737 -0.879452 +vn 0.481002 -0.151433 -0.863521 +vn 0.487197 -0.217017 -0.845882 +vn 0.410596 -0.303232 -0.859890 +vn 0.354839 -0.159795 -0.921140 +vn 0.327677 0.122227 -0.936827 +vn 0.268197 0.167913 -0.948607 +vn 0.182714 -0.136509 -0.973632 +vn 0.061800 -0.366222 -0.928465 +vn 0.090152 -0.332621 -0.938719 +vn 0.176275 -0.229194 -0.957274 +vn 0.197943 -0.136906 -0.970580 +vn 0.241401 -0.040529 -0.969573 +vn 0.276376 0.082369 -0.957488 +vn 0.318979 0.174841 -0.931486 +vn 0.287484 0.105167 -0.951964 +vn 0.331889 0.023072 -0.943022 +vn 0.350597 0.042146 -0.935575 +vn 0.326701 0.143284 -0.934172 +vn 0.323466 0.208838 -0.922880 +vn 0.298471 0.101413 -0.949004 +vn 0.258126 0.089755 -0.961913 +vn 0.257027 0.203345 -0.944762 +vn 0.057649 0.039521 -0.997528 +vn -0.057131 -0.039186 -0.997589 +vn -0.302622 -0.062410 -0.951048 +vn -0.167150 -0.179022 -0.969512 +vn 0.290780 0.084872 -0.953001 +vn -0.576342 0.140049 -0.805078 +vn 0.147313 -0.431562 -0.889950 +vn 0.129246 -0.125126 -0.983673 +vn 0.172582 0.041200 -0.984100 +vn 0.196966 0.102298 -0.975036 +vn 0.168157 -0.138188 -0.976012 +vn 0.070711 -0.499222 -0.863552 +vn 0.112644 -0.722098 -0.682516 +vn 0.122227 -0.692160 -0.711295 +vn 0.177862 -0.484512 -0.856502 +vn 0.260140 -0.218787 -0.940428 +vn 0.266488 0.001160 -0.963836 +vn 0.165380 -0.128727 -0.977783 +vn 0.141575 -0.372570 -0.917112 +vn 0.219764 -0.425214 -0.877987 +vn 0.228889 -0.327342 -0.916745 +vn 0.234901 -0.258339 -0.937040 +vn 0.317270 -0.223518 -0.921598 +vn 0.384716 -0.236915 -0.892087 +vn 0.378002 -0.264718 -0.887143 +vn 0.348308 -0.120396 -0.929594 +vn 0.338054 0.139012 -0.930784 +vn 0.309549 0.212409 -0.926847 +vn 0.238929 -0.066897 -0.968719 +vn 0.146977 -0.330882 -0.932127 +vn 0.182043 -0.370769 -0.910672 +vn 0.190649 -0.239509 -0.951964 +vn 0.193823 -0.154485 -0.968780 +vn 0.183813 -0.045473 -0.981872 +vn 0.199194 0.046724 -0.978820 +vn 0.269234 0.138554 -0.953032 +vn 0.332224 0.097415 -0.938139 +vn 0.383648 -0.026093 -0.923093 +vn 0.440230 0.018830 -0.897671 +vn 0.452467 0.154241 -0.878323 +vn 0.425214 0.215552 -0.879025 +vn 0.384198 0.145177 -0.911740 +vn 0.300638 0.101901 -0.948271 +vn 0.306009 0.170965 -0.936521 +vn -0.065065 0.014069 -0.997772 +vn 0.022065 -0.997009 0.073977 +vn 0.027406 -0.995911 0.085940 +vn -0.001862 -0.165471 -0.986206 +vn -0.354625 0.039094 -0.934172 +vn -0.583575 0.129460 -0.801630 +vn 0.106540 -0.407819 -0.906796 +vn 0.142521 -0.148839 -0.978515 +vn 0.163793 0.038759 -0.985717 +vn 0.169439 0.109500 -0.979430 +vn 0.139622 -0.105899 -0.984497 +vn 0.044984 -0.462294 -0.885556 +vn 0.063387 -0.731986 -0.678335 +vn 0.109928 -0.706870 -0.698721 +vn 0.188696 -0.506424 -0.841365 +vn 0.235328 -0.234443 -0.943205 +vn 0.220954 0.049135 -0.974029 +vn 0.167730 -0.076754 -0.982818 +vn 0.041749 -0.359081 -0.932340 +vn 0.029664 -0.465224 -0.884671 +vn 0.092074 -0.335521 -0.937498 +vn 0.139622 -0.297708 -0.944365 +vn 0.177770 -0.278329 -0.943876 +vn 0.236457 -0.280679 -0.930204 +vn 0.252846 -0.270486 -0.928892 +vn 0.192236 -0.103580 -0.975860 +vn 0.253059 0.117405 -0.960295 +vn 0.292947 0.246223 -0.923856 +vn 0.269051 -0.023011 -0.962828 +vn 0.251503 -0.339518 -0.906339 +vn 0.243355 -0.352489 -0.903592 +vn 0.225532 -0.218848 -0.949309 +vn 0.214270 -0.138768 -0.966857 +vn 0.195471 -0.045656 -0.979614 +vn 0.222755 0.029511 -0.974395 +vn 0.224067 0.086428 -0.970702 +vn 0.338694 0.027955 -0.940458 +vn 0.442244 -0.078921 -0.893399 +vn 0.494369 -0.009095 -0.869198 +vn 0.514573 0.141697 -0.845637 +vn 0.485641 0.232643 -0.842616 +vn 0.443587 0.195532 -0.874599 +vn 0.393139 0.150426 -0.907071 +vn 0.031770 -0.999451 -0.007202 +vn 0.004822 -0.999969 0.000092 +vn 0.045381 -0.998932 -0.006561 +vn -0.166051 0.330638 -0.929014 +vn -0.307352 0.065706 -0.949309 +vn 0.278878 0.052736 -0.958861 +vn 0.268593 0.131108 -0.954253 +vn 0.111637 -0.425550 -0.898007 +vn 0.114170 -0.153172 -0.981567 +vn 0.114872 0.019471 -0.993164 +vn 0.181494 0.097659 -0.978515 +vn 0.183294 -0.066469 -0.980804 +vn 0.073794 -0.449019 -0.890439 +vn 0.052675 -0.739280 -0.671285 +vn 0.114322 -0.714408 -0.690298 +vn 0.159795 -0.512955 -0.843379 +vn 0.154942 -0.209632 -0.965392 +vn 0.165410 0.047670 -0.985046 +vn 0.210669 -0.034639 -0.976928 +vn 0.152409 -0.298837 -0.942045 +vn 0.046724 -0.458571 -0.887417 +vn 0.033265 -0.372784 -0.927305 +vn 0.083987 -0.329142 -0.940519 +vn 0.118503 -0.307443 -0.944151 +vn 0.156072 -0.298654 -0.941496 +vn 0.064974 -0.211982 -0.975097 +vn -0.017426 -0.116092 -0.993072 +vn 0.047761 0.035432 -0.998199 +vn 0.204840 0.218482 -0.954070 +vn 0.241432 -0.018097 -0.970244 +vn 0.192724 -0.337107 -0.921506 +vn 0.175695 -0.347362 -0.921110 +vn 0.195410 -0.218665 -0.956023 +vn 0.199225 -0.128025 -0.971526 +vn 0.202216 -0.051759 -0.977966 +vn 0.193609 0.030854 -0.980590 +vn 0.236641 0.043214 -0.970611 +vn 0.353160 -0.086245 -0.931547 +vn 0.464217 -0.152440 -0.872463 +vn 0.509781 -0.037721 -0.859462 +vn 0.524583 0.142735 -0.839290 +vn 0.487625 0.288827 -0.823878 +vn 0.403363 0.245003 -0.881588 +vn 0.197058 0.275399 -0.940886 +vn 0.010132 -0.999878 -0.010193 +vn -0.033357 -0.997986 -0.053774 +vn 0.040651 -0.998779 -0.027009 +vn 0.009095 -0.999481 -0.030152 +vn 0.277108 0.042970 -0.959868 +vn 0.131199 -0.122501 -0.983734 +vn -0.261757 0.122654 -0.957274 +vn 0.226936 0.163610 -0.960051 +vn 0.085696 -0.393506 -0.915281 +vn 0.095798 -0.151433 -0.983795 +vn 0.137577 -0.007813 -0.990448 +vn 0.186865 0.061739 -0.980438 +vn 0.165014 -0.018647 -0.986114 +vn 0.080782 -0.390393 -0.917081 +vn 0.138524 -0.745964 -0.651387 +vn 0.078860 -0.711966 -0.697745 +vn 0.042421 -0.503983 -0.862636 +vn 0.053285 -0.224586 -0.972991 +vn 0.171300 -0.016297 -0.985076 +vn 0.264687 -0.061922 -0.962340 +vn 0.300882 -0.291299 -0.908048 +vn 0.241310 -0.387890 -0.889523 +vn 0.125217 -0.352824 -0.927244 +vn 0.101047 -0.340800 -0.934660 +vn 0.182989 -0.346751 -0.919919 +vn 0.215400 -0.271828 -0.937895 +vn 0.195532 -0.154637 -0.968413 +vn 0.099307 -0.085513 -0.991363 +vn -0.008759 -0.005737 -0.999939 +vn 0.107608 0.106174 -0.988495 +vn 0.229194 -0.012116 -0.973296 +vn 0.199591 -0.315958 -0.927519 +vn 0.129337 -0.338328 -0.932066 +vn 0.134617 -0.230323 -0.963744 +vn 0.134251 -0.130589 -0.982299 +vn 0.138066 -0.049135 -0.989196 +vn 0.167882 0.010163 -0.985748 +vn 0.217750 -0.023774 -0.975707 +vn 0.278359 -0.174169 -0.944517 +vn 0.284371 -0.194311 -0.938780 +vn 0.320200 -0.063631 -0.945189 +vn 0.376263 0.121342 -0.918516 +vn 0.427595 0.323679 -0.843989 +vn 0.395703 0.316752 -0.861995 +vn -0.357677 -0.294961 -0.886013 +vn -0.368023 0.115970 -0.922544 +vn -0.471725 0.129734 -0.872127 +vn 0.220923 0.172704 -0.959868 +vn 0.044496 -0.407819 -0.911954 +vn 0.087985 -0.174963 -0.980621 +vn 0.147191 -0.049226 -0.987854 +vn 0.190161 0.054018 -0.980255 +vn 0.192511 0.009430 -0.981231 +vn 0.216285 -0.432966 -0.875057 +vn 0.232398 -0.750847 -0.618213 +vn 0.096530 -0.676168 -0.730369 +vn 0.022706 -0.491409 -0.870602 +vn 0.061159 -0.284433 -0.956725 +vn 0.146489 -0.091922 -0.984924 +vn 0.282449 -0.143437 -0.948485 +vn 0.377239 -0.309854 -0.872707 +vn 0.344554 -0.316691 -0.883724 +vn 0.217231 -0.284097 -0.933836 +vn 0.199011 -0.361400 -0.910916 +vn 0.230140 -0.369030 -0.900449 +vn 0.281137 -0.280343 -0.917783 +vn 0.336589 -0.125370 -0.933256 +vn 0.246193 0.045869 -0.968108 +vn 0.095248 0.036073 -0.994781 +vn 0.088107 0.023255 -0.995819 +vn 0.256661 -0.092776 -0.962004 +vn 0.310678 -0.292886 -0.904233 +vn 0.176702 -0.283761 -0.942442 +vn 0.083346 -0.209265 -0.974273 +vn 0.079287 -0.135136 -0.987640 +vn 0.157506 -0.084964 -0.983825 +vn 0.254006 -0.032258 -0.966643 +vn 0.290078 -0.047761 -0.955779 +vn 0.248146 -0.156011 -0.956053 +vn 0.189856 -0.196051 -0.962004 +vn 0.246986 -0.115757 -0.962066 +vn 0.312418 0.066469 -0.947600 +vn 0.339305 0.301126 -0.891140 +vn 0.346629 0.358318 -0.866848 +vn -0.302377 -0.453993 -0.838099 +vn -0.289010 -0.301981 -0.908414 +vn -0.420148 -0.663350 -0.619160 +vn -0.400647 -0.724204 -0.561235 +vn -0.435469 -0.734611 -0.520249 +vn 0.355785 -0.817103 0.453566 +vn 0.303659 -0.833369 0.461745 +vn 0.329844 -0.856075 0.397839 +vn -0.390942 0.004486 -0.920377 +vn 0.068453 0.171545 -0.982788 +vn 0.154912 0.149663 -0.976501 +vn 0.165685 -0.307688 -0.936918 +vn 0.091586 -0.420637 -0.902554 +vn 0.089938 -0.202765 -0.975066 +vn 0.128819 -0.078402 -0.988556 +vn 0.147984 0.033753 -0.988403 +vn 0.184301 -0.032838 -0.982299 +vn 0.233039 -0.506699 -0.830012 +vn 0.246010 -0.735160 -0.631642 +vn 0.196326 -0.633686 -0.748222 +vn 0.072939 -0.456221 -0.886837 +vn 0.047670 -0.320688 -0.945982 +vn 0.138829 -0.163274 -0.976745 +vn 0.288217 -0.257790 -0.922178 +vn 0.350780 -0.331370 -0.875851 +vn 0.278024 -0.241218 -0.929777 +vn 0.231056 -0.254555 -0.939024 +vn 0.219428 -0.364788 -0.904843 +vn 0.182867 -0.376537 -0.908139 +vn 0.222205 -0.324320 -0.919462 +vn 0.248756 -0.121464 -0.960906 +vn 0.275918 0.113102 -0.954497 +vn 0.183050 0.094089 -0.978576 +vn 0.157994 -0.018525 -0.987243 +vn 0.316355 -0.214515 -0.924039 +vn 0.363659 -0.248726 -0.897671 +vn 0.242042 -0.177709 -0.953825 +vn 0.087466 -0.155583 -0.983917 +vn 0.136509 -0.191717 -0.971892 +vn 0.257179 -0.170324 -0.951201 +vn 0.366832 -0.091830 -0.925718 +vn 0.409772 -0.041444 -0.911222 +vn 0.362407 -0.100528 -0.926542 +vn 0.304483 -0.183386 -0.934660 +vn 0.305918 -0.144200 -0.941038 +vn 0.299264 0.068758 -0.951659 +vn 0.271920 0.301950 -0.913694 +vn 0.265145 0.380993 -0.885708 +vn 0.243355 0.268258 -0.932066 +vn 0.206244 0.098209 -0.973540 +vn 0.119724 0.153233 -0.980895 +vn -0.228462 -0.033235 -0.972961 +vn 0.077944 -0.381298 -0.921140 +vn 0.059847 -0.205878 -0.976714 +vn 0.113895 -0.102939 -0.988128 +vn 0.141820 0.026795 -0.989502 +vn 0.150670 -0.071627 -0.985961 +vn 0.162328 -0.532945 -0.830409 +vn 0.207434 -0.736534 -0.643757 +vn 0.188726 -0.573656 -0.797021 +vn 0.095248 -0.395428 -0.913511 +vn -0.004334 -0.327586 -0.944792 +vn 0.120334 -0.274026 -0.954131 +vn 0.239174 -0.327525 -0.914029 +vn 0.221229 -0.309549 -0.924772 +vn 0.176580 -0.213233 -0.960875 +vn 0.179388 -0.263314 -0.947874 +vn 0.230354 -0.364879 -0.902066 +vn 0.262001 -0.378857 -0.887570 +vn 0.230140 -0.315409 -0.920621 +vn 0.172460 -0.122135 -0.977386 +vn 0.184240 0.105930 -0.977142 +vn 0.192236 0.140568 -0.971221 +vn 0.228980 -0.093905 -0.968871 +vn 0.358654 -0.292611 -0.886410 +vn 0.333171 -0.193304 -0.922819 +vn 0.255257 -0.078555 -0.963652 +vn 0.167028 -0.125553 -0.977905 +vn 0.209571 -0.248848 -0.945585 +vn 0.291147 -0.239845 -0.926115 +vn 0.375774 -0.147313 -0.914914 +vn 0.402875 -0.039003 -0.914396 +vn 0.370434 -0.056948 -0.927091 +vn 0.267281 -0.139561 -0.953429 +vn 0.236641 -0.128636 -0.963012 +vn 0.206641 0.098514 -0.973418 +vn 0.168310 0.303385 -0.937864 +vn 0.188726 0.389966 -0.901242 +vn 0.183752 0.291635 -0.938688 +vn 0.131046 0.255043 -0.957976 +vn 0.070284 0.134922 -0.988342 +vn -0.258858 0.369671 -0.892361 +vn -0.327036 0.359752 -0.873836 +vn 0.057131 -0.378521 -0.923826 +vn 0.072604 -0.228675 -0.970763 +vn 0.118503 -0.131901 -0.984130 +vn 0.151891 0.020936 -0.988159 +vn 0.126804 -0.076357 -0.988952 +vn 0.120609 -0.547410 -0.828120 +vn 0.167241 -0.738304 -0.653371 +vn 0.105197 -0.525285 -0.844356 +vn 0.065737 -0.353221 -0.933195 +vn 0.012055 -0.319742 -0.947417 +vn 0.134342 -0.361827 -0.922483 +vn 0.242683 -0.353496 -0.903378 +vn 0.185003 -0.269112 -0.945158 +vn 0.107883 -0.198218 -0.974181 +vn 0.141118 -0.306223 -0.941404 +vn 0.243355 -0.414747 -0.876766 +vn 0.267953 -0.368297 -0.890225 +vn 0.220038 -0.254433 -0.941710 +vn 0.182836 -0.092166 -0.978790 +vn 0.170049 0.096164 -0.980712 +vn 0.196509 0.105136 -0.974822 +vn 0.285684 -0.180242 -0.941191 +vn 0.314066 -0.294595 -0.902524 +vn 0.245125 -0.135929 -0.959899 +vn 0.204443 -0.033113 -0.978301 +vn 0.213813 -0.137394 -0.967132 +vn 0.230811 -0.280160 -0.931761 +vn 0.256081 -0.282693 -0.924375 +vn 0.286019 -0.171209 -0.942778 +vn 0.320597 -0.036531 -0.946501 +vn 0.272866 0.017823 -0.961882 +vn 0.165807 -0.102054 -0.980834 +vn 0.137547 -0.118351 -0.983367 +vn 0.162297 0.107395 -0.980865 +vn 0.135960 0.320322 -0.937468 +vn 0.141484 0.379955 -0.914090 +vn 0.158361 0.299417 -0.940886 +vn 0.131657 0.208014 -0.969207 +vn -0.356426 0.373913 -0.856227 +vn -0.335185 0.342540 -0.877651 +vn 0.042695 0.262185 -0.964049 +vn 0.110813 0.131016 -0.985137 +vn -0.180853 0.253945 -0.950133 +vn 0.073733 -0.361431 -0.929441 +vn 0.089938 -0.249123 -0.964263 +vn 0.080966 -0.145604 -0.985992 +vn 0.113498 0.014954 -0.993408 +vn 0.119083 -0.068087 -0.990539 +vn 0.101413 -0.567766 -0.816889 +vn 0.096927 -0.722953 -0.684042 +vn 0.038453 -0.505356 -0.862026 +vn 0.051576 -0.339061 -0.939329 +vn 0.044801 -0.348338 -0.936277 +vn 0.136570 -0.437086 -0.888974 +vn 0.250801 -0.360759 -0.898282 +vn 0.197974 -0.196905 -0.960204 +vn 0.135655 -0.178808 -0.974456 +vn 0.081637 -0.336253 -0.938200 +vn 0.065493 -0.447005 -0.892117 +vn 0.085360 -0.364208 -0.927366 +vn 0.109317 -0.254769 -0.960784 +vn 0.135044 -0.096225 -0.986145 +vn 0.170232 0.094272 -0.980865 +vn 0.198370 0.071993 -0.977447 +vn 0.235359 -0.225929 -0.945250 +vn 0.195349 -0.265786 -0.943999 +vn 0.137730 -0.098727 -0.985534 +vn 0.137547 -0.041566 -0.989593 +vn 0.223609 -0.176214 -0.958586 +vn 0.247871 -0.288736 -0.924741 +vn 0.176000 -0.272469 -0.945921 +vn 0.140873 -0.192145 -0.971191 +vn 0.209418 -0.053133 -0.976379 +vn 0.230079 0.073305 -0.970397 +vn 0.170721 -0.057344 -0.983642 +vn 0.055666 -0.104343 -0.992950 +vn 0.095523 0.077059 -0.992431 +vn 0.137181 0.331706 -0.933348 +vn 0.115940 0.363201 -0.924436 +vn 0.156438 0.307505 -0.938566 +vn -0.345866 0.336467 -0.875851 +vn -0.140873 0.117038 -0.983062 +vn -0.146886 0.010529 -0.989074 +vn 0.122166 0.094821 -0.987945 +vn 0.111057 0.045259 -0.992767 +vn -0.046022 0.090487 -0.994812 +vn 0.095920 -0.161718 -0.982147 +vn 0.075503 0.006073 -0.997101 +vn 0.071108 -0.074221 -0.994690 +vn 0.043977 -0.570330 -0.820215 +vn 0.038820 -0.725547 -0.687033 +vn 0.099551 -0.521989 -0.847102 +vn 0.047853 -0.324351 -0.944700 +vn 0.071078 -0.363628 -0.928800 +vn 0.119846 -0.487747 -0.864681 +vn 0.229133 -0.375256 -0.898129 +vn 0.244240 -0.165929 -0.955382 +vn 0.228095 -0.134434 -0.964293 +vn 0.101535 -0.264260 -0.959075 +vn -0.044374 -0.426710 -0.903287 +vn -0.039125 -0.393445 -0.918485 +vn 0.019349 -0.274667 -0.961333 +vn 0.072542 -0.129460 -0.988922 +vn 0.118870 0.056154 -0.991302 +vn 0.158727 0.038179 -0.986572 +vn 0.146702 -0.221107 -0.964141 +vn 0.109684 -0.233619 -0.966094 +vn 0.111728 -0.094668 -0.989196 +vn 0.217933 -0.112430 -0.969451 +vn 0.346751 -0.229682 -0.909391 +vn 0.330088 -0.240211 -0.912870 +vn 0.197699 -0.199866 -0.959655 +vn 0.092563 -0.193365 -0.976714 +vn 0.099246 -0.087710 -0.991180 +vn 0.179479 0.042512 -0.982818 +vn 0.175207 0.024751 -0.984191 +vn 0.040040 -0.063295 -0.997162 +vn 0.048280 0.033082 -0.998260 +vn 0.124363 0.309305 -0.942778 +vn 0.142308 0.361339 -0.921506 +vn 0.173650 0.291147 -0.940764 +vn 0.203619 -0.975524 -0.082797 +vn 0.044130 0.095035 -0.994476 +vn -0.003113 0.062746 -0.998016 +vn 0.452071 -0.890561 0.050020 +vn -0.002503 -0.995849 0.090701 +vn -0.020386 -0.996399 0.082247 +vn -0.041627 -0.993805 0.102847 +vn 0.115329 -0.158147 -0.980651 +vn 0.095981 0.039888 -0.994568 +vn 0.048738 -0.063356 -0.996796 +vn 0.017640 -0.583117 -0.812159 +vn 0.011017 -0.728019 -0.685415 +vn 0.026826 -0.502884 -0.863918 +vn 0.022126 -0.300150 -0.953612 +vn 0.064211 -0.403333 -0.912778 +vn 0.105045 -0.525864 -0.844020 +vn 0.226051 -0.394543 -0.890591 +vn 0.260292 -0.170049 -0.950407 +vn 0.245827 -0.086886 -0.965392 +vn 0.197089 -0.192145 -0.961364 +vn 0.014985 -0.345683 -0.938231 +vn -0.068606 -0.405835 -0.911344 +vn -0.027558 -0.327616 -0.944395 +vn 0.072298 -0.161046 -0.984283 +vn 0.083346 0.041414 -0.995636 +vn 0.119633 0.034211 -0.992218 +vn 0.086642 -0.201331 -0.975646 +vn 0.081912 -0.240394 -0.967193 +vn 0.159459 -0.167272 -0.972900 +vn 0.360942 -0.238929 -0.901425 +vn 0.430982 -0.241737 -0.869350 +vn 0.340129 -0.141911 -0.929594 +vn 0.258919 -0.111301 -0.959441 +vn 0.115604 -0.126804 -0.985137 +vn -0.014008 -0.092105 -0.995636 +vn 0.046358 -0.013123 -0.998810 +vn 0.113773 0.066500 -0.991272 +vn 0.087954 -0.026673 -0.995758 +vn 0.076113 0.007935 -0.997040 +vn 0.128208 0.271310 -0.953887 +vn 0.136937 0.347880 -0.927458 +vn 0.152135 0.267342 -0.951506 +vn -0.018708 0.121250 -0.992431 +vn -0.070986 0.106449 -0.991760 +vn -0.123508 0.082186 -0.988922 +vn 0.078616 -0.151036 -0.985382 +vn 0.115940 0.044740 -0.992218 +vn 0.079134 -0.027161 -0.996490 +vn 0.030732 -0.530412 -0.847163 +vn -0.095950 -0.718955 -0.688345 +vn -0.123295 -0.525346 -0.841884 +vn 0.000549 -0.358562 -0.933470 +vn 0.078890 -0.421033 -0.903592 +vn 0.096683 -0.559832 -0.822901 +vn 0.158513 -0.422315 -0.892453 +vn 0.213874 -0.176824 -0.960692 +vn 0.204108 -0.076998 -0.975890 +vn 0.209967 -0.139348 -0.967711 +vn 0.099307 -0.270363 -0.957610 +vn 0.003693 -0.369701 -0.929136 +vn 0.005097 -0.374767 -0.927091 +vn 0.050813 -0.190161 -0.980407 +vn 0.113498 0.001831 -0.993530 +vn 0.172704 0.025666 -0.984619 +vn 0.184759 -0.189520 -0.964324 +vn 0.106937 -0.239601 -0.964934 +vn 0.183203 -0.284097 -0.941099 +vn 0.248024 -0.319285 -0.914609 +vn 0.242500 -0.203742 -0.948485 +vn 0.242653 -0.109012 -0.963958 +vn 0.231880 -0.046449 -0.971618 +vn 0.116977 -0.008209 -0.993072 +vn -0.054537 -0.039949 -0.997681 +vn -0.055666 -0.062624 -0.996460 +vn 0.019990 0.023408 -0.999512 +vn 0.116489 -0.050172 -0.991913 +vn 0.144078 -0.003235 -0.989532 +vn 0.098392 0.256569 -0.961486 +vn -0.112003 0.171667 -0.978759 +vn 0.116184 -0.163884 -0.979583 +vn 0.110172 0.044557 -0.992889 +vn 0.131993 -0.005676 -0.991211 +vn 0.039796 -0.500870 -0.864589 +vn -0.114414 -0.730064 -0.673727 +vn -0.090609 -0.556108 -0.826136 +vn -0.056917 -0.427534 -0.902188 +vn 0.041139 -0.464736 -0.884457 +vn 0.071505 -0.573992 -0.815699 +vn 0.097659 -0.448897 -0.888211 +vn 0.129704 -0.185186 -0.974090 +vn 0.148808 -0.089908 -0.984741 +vn 0.156682 -0.109958 -0.981475 +vn 0.167760 -0.237770 -0.956694 +vn 0.161809 -0.358135 -0.919523 +vn 0.195441 -0.372295 -0.907285 +vn 0.170263 -0.212287 -0.962249 +vn 0.227973 -0.041475 -0.972777 +vn 0.302408 -0.023347 -0.952879 +vn 0.291116 -0.148503 -0.945067 +vn 0.205847 -0.214698 -0.954711 +vn 0.257942 -0.313608 -0.913816 +vn 0.194769 -0.298898 -0.934172 +vn 0.128147 -0.206915 -0.969909 +vn 0.138127 -0.130345 -0.981780 +vn 0.157537 -0.019684 -0.987304 +vn 0.142521 0.073702 -0.987030 +vn 0.063814 0.006073 -0.997925 +vn 0.044282 -0.066347 -0.996796 +vn 0.131352 -0.058626 -0.989593 +vn 0.228523 -0.096652 -0.968719 +vn 0.228095 -0.019013 -0.973449 +vn -0.154942 0.247902 -0.956298 +vn -0.864742 -0.294992 -0.406384 +vn 0.116337 -0.148137 -0.982086 +vn 0.079592 0.034791 -0.996216 +vn 0.124943 0.004212 -0.992126 +vn 0.033753 -0.435072 -0.899747 +vn -0.042299 -0.721824 -0.690756 +vn -0.018555 -0.568590 -0.822382 +vn -0.024506 -0.439741 -0.897763 +vn -0.021027 -0.493179 -0.869655 +vn -0.013611 -0.581896 -0.813135 +vn -0.001648 -0.454848 -0.890561 +vn 0.020264 -0.193274 -0.980926 +vn 0.067721 -0.115940 -0.990936 +vn 0.150517 -0.150792 -0.977020 +vn 0.248909 -0.272347 -0.929411 +vn 0.293680 -0.368999 -0.881802 +vn 0.314341 -0.346110 -0.883938 +vn 0.281137 -0.202979 -0.937925 +vn 0.321909 -0.083438 -0.943052 +vn 0.338664 -0.040986 -0.940001 +vn 0.282296 -0.100864 -0.953978 +vn 0.351177 -0.260537 -0.899319 +vn 0.449660 -0.305307 -0.839351 +vn 0.406873 -0.199408 -0.891415 +vn 0.233467 -0.131016 -0.963469 +vn 0.147313 -0.123478 -0.981323 +vn 0.140355 -0.035859 -0.989441 +vn 0.140049 0.087130 -0.986297 +vn 0.140629 0.028138 -0.989654 +vn 0.188482 -0.114658 -0.975341 +vn 0.291269 -0.130619 -0.947661 +vn 0.297342 -0.091220 -0.950377 +vn 0.232429 0.002869 -0.972594 +vn -0.078494 -0.875942 -0.475936 +vn -0.947478 -0.300729 0.108646 +vn 0.109775 -0.118992 -0.986785 +vn 0.144536 0.019562 -0.989288 +vn 0.146794 0.015931 -0.989013 +vn 0.070101 -0.405927 -0.911191 +vn -0.048677 -0.718772 -0.693533 +vn -0.001068 -0.571764 -0.820399 +vn -0.012513 -0.430952 -0.902249 +vn -0.007477 -0.484085 -0.874966 +vn -0.112705 -0.547380 -0.829218 +vn -0.180670 -0.483505 -0.856471 +vn -0.070009 -0.247200 -0.966399 +vn 0.036073 -0.167425 -0.985198 +vn 0.180273 -0.244423 -0.952757 +vn 0.299875 -0.331675 -0.894436 +vn 0.354259 -0.388043 -0.850795 +vn 0.322794 -0.310129 -0.894192 +vn 0.309458 -0.200690 -0.929472 +vn 0.272500 -0.073305 -0.959349 +vn 0.245277 -0.006867 -0.969420 +vn 0.330119 -0.158483 -0.930509 +vn 0.450423 -0.348613 -0.821925 +vn 0.381207 -0.266823 -0.885128 +vn 0.321085 -0.089084 -0.942839 +vn 0.283731 -0.045778 -0.957793 +vn 0.208777 -0.068911 -0.975524 +vn 0.129887 0.002716 -0.991516 +vn 0.086612 0.084048 -0.992676 +vn 0.191168 -0.027528 -0.981140 +vn 0.288278 -0.180242 -0.940397 +vn 0.314097 -0.139531 -0.939055 +vn 0.259194 -0.038850 -0.965026 +vn 0.169530 0.036317 -0.984832 +vn 0.037904 -0.999115 -0.017335 +vn -0.174810 -0.556078 -0.812494 +vn -0.104312 -0.864742 0.491195 +vn 0.100406 -0.994934 0.001465 +vn 0.197333 -0.188788 -0.961974 +vn 0.194647 -0.129551 -0.972259 +vn 0.247200 -0.002686 -0.968932 +vn 0.234657 0.049409 -0.970794 +vn 0.168554 -0.351848 -0.920743 +vn -0.005005 -0.708579 -0.705588 +vn -0.018708 -0.577349 -0.816248 +vn 0.009857 -0.447432 -0.894223 +vn 0.055086 -0.462813 -0.884701 +vn -0.087710 -0.458205 -0.884487 +vn -0.237739 -0.503616 -0.830531 +vn -0.167638 -0.356120 -0.919248 +vn 0.009735 -0.262093 -0.964965 +vn 0.166234 -0.344127 -0.924070 +vn 0.288522 -0.397656 -0.870968 +vn 0.287027 -0.378246 -0.880062 +vn 0.230110 -0.285897 -0.930204 +vn 0.222449 -0.179937 -0.958159 +vn 0.223395 -0.057833 -0.972991 +vn 0.310862 -0.077059 -0.947295 +vn 0.406018 -0.254585 -0.877682 +vn 0.290048 -0.310007 -0.905393 +vn 0.095157 -0.201544 -0.974822 +vn 0.089022 -0.101932 -0.990783 +vn 0.218024 -0.069124 -0.973479 +vn 0.213904 -0.023133 -0.976562 +vn 0.156865 0.053102 -0.986175 +vn 0.125401 0.047792 -0.990936 +vn 0.209052 -0.113529 -0.971282 +vn 0.293771 -0.217475 -0.930784 +vn 0.274331 -0.102847 -0.956084 +vn 0.196020 0.038087 -0.979827 +vn 0.111301 0.066713 -0.991516 +vn 0.075686 0.129032 -0.988739 +vn 0.050478 0.312082 -0.948698 +vn -0.566546 -0.303110 -0.766228 +vn -0.583880 -0.226234 -0.779656 +vn -0.002564 -0.999573 0.028291 +vn -0.038667 -0.999237 0.000061 +vn -0.152532 -0.987335 0.043092 +vn 0.225929 -0.177892 -0.957732 +vn 0.255165 -0.152409 -0.954772 +vn 0.252907 -0.008423 -0.967437 +vn 0.267129 0.062563 -0.961608 +vn 0.219947 -0.325785 -0.919462 +vn 0.027985 -0.661519 -0.749382 +vn -0.040315 -0.586993 -0.808557 +vn 0.015076 -0.477401 -0.878536 +vn 0.030976 -0.431593 -0.901517 +vn 0.017762 -0.411908 -0.911039 +vn -0.076571 -0.469314 -0.879665 +vn -0.098331 -0.427259 -0.898740 +vn 0.001007 -0.370617 -0.928770 +vn 0.128636 -0.424329 -0.896298 +vn 0.172094 -0.423261 -0.889492 +vn 0.070650 -0.330210 -0.941252 +vn 0.006897 -0.301920 -0.953276 +vn 0.097385 -0.198950 -0.975127 +vn 0.259102 -0.147862 -0.954436 +vn 0.365734 -0.150426 -0.918455 +vn 0.294931 -0.201636 -0.933958 +vn 0.163976 -0.197272 -0.966521 +vn 0.103580 -0.165563 -0.980712 +vn 0.129917 -0.167302 -0.977294 +vn 0.192694 -0.109104 -0.975158 +vn 0.187231 -0.007691 -0.982269 +vn 0.153203 0.096377 -0.983459 +vn 0.082797 0.045503 -0.995514 +vn 0.134037 -0.176061 -0.975188 +vn 0.208380 -0.240486 -0.947996 +vn 0.182318 -0.062014 -0.981262 +vn 0.141881 0.089206 -0.985839 +vn 0.099185 0.118107 -0.988006 +vn 0.025605 0.145177 -0.989044 +vn 0.011414 -0.998840 0.046571 +vn 0.028993 -0.998352 0.049409 +vn -0.043489 -0.988830 -0.142399 +vn -0.029939 -0.999451 -0.012787 +vn 0.135166 -0.990448 -0.026460 +vn 0.070345 -0.997436 0.012207 +vn -0.514847 -0.429273 -0.742027 +vn -0.544603 -0.377941 -0.748680 +vn -0.580737 -0.307566 -0.753746 +vn -0.587085 -0.232978 -0.775231 +vn -0.585162 -0.149236 -0.797021 +vn 0.272500 -0.011689 -0.962066 +vn 0.258766 0.062563 -0.963897 +vn 0.220527 -0.284463 -0.932951 +vn -0.005982 -0.592792 -0.805292 +vn -0.122318 -0.595141 -0.794244 +vn -0.105716 -0.492996 -0.863552 +vn -0.075076 -0.447859 -0.890927 +vn 0.011292 -0.423322 -0.905881 +vn 0.004639 -0.441023 -0.897458 +vn -0.015351 -0.427534 -0.903836 +vn -0.001556 -0.425794 -0.904782 +vn 0.031831 -0.451064 -0.891903 +vn -0.005188 -0.386486 -0.922269 +vn -0.072604 -0.262581 -0.962157 +vn -0.150487 -0.304147 -0.940642 +vn -0.076693 -0.323923 -0.942930 +vn 0.128208 -0.268288 -0.954741 +vn 0.228339 -0.146397 -0.962493 +vn 0.211310 -0.152287 -0.965453 +vn 0.172796 -0.165685 -0.970916 +vn 0.170812 -0.169256 -0.970641 +vn 0.178045 -0.178228 -0.967711 +vn 0.135594 -0.087497 -0.986877 +vn 0.149113 -0.000580 -0.988800 +vn 0.110874 0.131840 -0.985046 +vn 0.091708 0.055483 -0.994232 +vn 0.059358 -0.202185 -0.977538 +vn 0.010987 -0.254036 -0.967101 +vn 0.102695 -0.049287 -0.993469 +vn 0.106693 0.094546 -0.989776 +vn 0.121433 0.148625 -0.981384 +vn 0.079318 0.180853 -0.980285 +vn 0.107120 -0.994232 0.004578 +vn 0.046022 -0.998749 -0.017884 +vn 0.075381 -0.997040 -0.014740 +vn 0.119602 -0.974059 0.191992 +vn 0.372662 -0.880398 0.293191 +vn 0.108554 -0.992431 0.056978 +vn -0.351726 -0.847285 0.397900 +vn -0.497360 -0.651967 0.572283 +vn 0.332957 -0.792566 0.510819 +vn 0.251320 -0.801172 0.543077 +vn -0.520890 -0.428846 -0.738060 +vn -0.551592 -0.355998 -0.754295 +vn -0.592853 -0.290719 -0.750969 +vn -0.616810 -0.230811 -0.752495 +vn -0.621113 -0.133335 -0.772271 +vn -0.645192 -0.058962 -0.761711 +vn 0.299173 -0.021516 -0.953948 +vn 0.277688 0.091250 -0.956298 +vn 0.207343 -0.224311 -0.952178 +vn -0.042695 -0.504013 -0.862606 +vn -0.181921 -0.570391 -0.800958 +vn -0.210334 -0.494583 -0.843257 +vn -0.204901 -0.481948 -0.851894 +vn -0.134404 -0.448897 -0.883389 +vn -0.109622 -0.434126 -0.894131 +vn -0.129856 -0.421857 -0.897275 +vn -0.115909 -0.432997 -0.893887 +vn -0.112674 -0.445204 -0.888272 +vn -0.103030 -0.371075 -0.922849 +vn -0.102084 -0.245949 -0.963866 +vn -0.145512 -0.242073 -0.959258 +vn -0.236091 -0.380810 -0.893979 +vn -0.140110 -0.369457 -0.918607 +vn 0.039125 -0.200690 -0.978851 +vn 0.108860 -0.155828 -0.981750 +vn 0.083529 -0.149052 -0.985260 +vn 0.046052 -0.176641 -0.983184 +vn 0.054476 -0.163518 -0.985015 +vn 0.069582 -0.100131 -0.992523 +vn 0.096286 0.002472 -0.995331 +vn 0.102512 0.138707 -0.984985 +vn 0.111240 0.080721 -0.990478 +vn -0.014649 -0.123142 -0.992279 +vn -0.114383 -0.267830 -0.956633 +vn -0.017701 -0.133671 -0.990844 +vn 0.081606 0.079043 -0.993500 +vn 0.085635 0.142277 -0.986084 +vn 0.085421 0.211737 -0.973571 +vn -0.621265 -0.222877 -0.751213 +vn -0.908414 -0.347118 -0.232978 +vn 0.000244 -0.998444 0.055727 +vn 0.087832 -0.981597 0.169408 +vn -0.010132 -0.999298 0.035493 +vn 0.047426 -0.998505 0.026917 +vn -0.000671 -0.999695 0.023927 +vn -0.461531 -0.489608 -0.739738 +vn -0.489608 -0.424970 -0.761345 +vn -0.531480 -0.338755 -0.776360 +vn -0.575365 -0.267891 -0.772759 +vn -0.613117 -0.208777 -0.761864 +vn -0.647145 -0.136448 -0.750023 +vn -0.648457 -0.047884 -0.759728 +vn 0.236885 -0.023377 -0.971252 +vn 0.265633 0.108890 -0.957884 +vn 0.196997 -0.118748 -0.973174 +vn -0.062655 -0.386334 -0.920194 +vn -0.180609 -0.544725 -0.818934 +vn -0.200049 -0.487167 -0.850063 +vn -0.226783 -0.484115 -0.845088 +vn -0.231849 -0.454268 -0.860134 +vn -0.261544 -0.421125 -0.868435 +vn -0.265236 -0.411908 -0.871761 +vn -0.254952 -0.427168 -0.867458 +vn -0.247291 -0.443190 -0.861629 +vn -0.225379 -0.386608 -0.894253 +vn -0.170690 -0.258370 -0.950835 +vn -0.137394 -0.189428 -0.972198 +vn -0.218299 -0.319559 -0.922056 +vn -0.261055 -0.438337 -0.860042 +vn -0.110752 -0.308298 -0.944792 +vn 0.008576 -0.162358 -0.986663 +vn -0.018342 -0.126743 -0.991760 +vn -0.061769 -0.152867 -0.986297 +vn -0.013733 -0.192724 -0.981140 +vn 0.002258 -0.109958 -0.993927 +vn -0.007752 -0.024323 -0.999664 +vn 0.066408 0.105655 -0.992157 +vn 0.103671 0.120884 -0.987213 +vn 0.055757 -0.061037 -0.996551 +vn -0.008911 -0.230567 -0.972991 +vn -0.101627 -0.175512 -0.979186 +vn -0.084628 0.041169 -0.995544 +vn -0.064608 0.144658 -0.987365 +vn -0.060396 0.203070 -0.977294 +vn -0.034272 0.317606 -0.947569 +vn -0.534288 -0.482406 -0.694082 +vn 0.054170 -0.998352 -0.017701 +vn 0.040468 -0.998993 -0.018220 +vn 0.040284 -0.999023 -0.018006 +vn 0.024506 -0.996918 0.074129 +vn -0.048616 -0.994354 0.094180 +vn 0.019288 -0.994659 0.101169 +vn 0.034730 -0.997528 0.061007 +vn -0.401959 -0.478195 -0.780847 +vn -0.463790 -0.418775 -0.780694 +vn -0.512406 -0.334574 -0.790857 +vn -0.526322 -0.248909 -0.813013 +vn -0.575579 -0.175085 -0.798730 +vn -0.634114 -0.119694 -0.763909 +vn -0.647511 -0.037324 -0.761101 +vn 0.249245 -0.151097 -0.956572 +vn 0.251289 -0.030335 -0.967406 +vn 0.266213 0.105136 -0.958129 +vn 0.215278 -0.005982 -0.976531 +vn -0.043336 -0.259224 -0.964812 +vn -0.178106 -0.517716 -0.836787 +vn -0.196142 -0.480239 -0.854885 +vn -0.234626 -0.458205 -0.857295 +vn -0.295022 -0.434980 -0.850703 +vn -0.325968 -0.394726 -0.859004 +vn -0.341472 -0.406659 -0.847346 +vn -0.323069 -0.421827 -0.847133 +vn -0.323130 -0.427045 -0.844508 +vn -0.341624 -0.410230 -0.845546 +vn -0.272683 -0.310892 -0.910459 +vn -0.180090 -0.222510 -0.958129 +vn -0.130589 -0.258400 -0.957152 +vn -0.226020 -0.431288 -0.873409 +vn -0.205512 -0.400189 -0.893063 +vn -0.102542 -0.210425 -0.972198 +vn -0.047700 -0.101138 -0.993713 +vn -0.065188 -0.160924 -0.984802 +vn -0.076540 -0.225959 -0.971099 +vn -0.014405 -0.094882 -0.995361 +vn -0.025269 -0.033662 -0.999084 +vn 0.022248 0.045686 -0.998688 +vn 0.094729 0.100955 -0.990356 +vn 0.123966 -0.040803 -0.991424 +vn 0.024476 -0.147679 -0.988708 +vn -0.103092 -0.119694 -0.987426 +vn -0.156560 0.035035 -0.987030 +vn -0.187994 0.141331 -0.971923 +vn -0.200201 0.192907 -0.960570 +vn -0.172430 0.286172 -0.942503 +vn -0.125980 0.392499 -0.911069 +vn -0.713706 -0.613269 -0.338298 +vn -0.855861 -0.258919 -0.447676 +vn -0.865932 0.460982 0.193884 +vn 0.040040 -0.999023 -0.017609 +vn 0.040193 -0.999023 -0.017609 +vn 0.040468 -0.998810 -0.026704 +vn -0.331919 -0.496170 -0.802240 +vn -0.358257 -0.474715 -0.803888 +vn -0.377575 -0.468368 -0.798761 +vn -0.430708 -0.386425 -0.815546 +vn -0.501907 -0.316538 -0.804865 +vn -0.543107 -0.232093 -0.806940 +vn -0.587146 -0.126286 -0.799554 +vn -0.632710 -0.064486 -0.771661 +vn -0.669668 -0.020112 -0.742363 +vn 0.248177 -0.143773 -0.957976 +vn 0.231513 -0.146977 -0.961638 +vn 0.249214 -0.038057 -0.967681 +vn 0.267861 0.115146 -0.956542 +vn 0.181005 0.138646 -0.973632 +vn -0.066713 -0.116611 -0.990905 +vn -0.214240 -0.485031 -0.847835 +vn -0.221534 -0.464370 -0.857448 +vn -0.279519 -0.416486 -0.865078 +vn -0.352886 -0.405744 -0.843074 +vn -0.372662 -0.376934 -0.847926 +vn -0.376934 -0.404126 -0.833399 +vn -0.351909 -0.422193 -0.835383 +vn -0.353374 -0.419935 -0.835902 +vn -0.351726 -0.410657 -0.841182 +vn -0.339335 -0.364177 -0.867275 +vn -0.273080 -0.290109 -0.917173 +vn -0.176672 -0.269997 -0.946501 +vn -0.182287 -0.377728 -0.907773 +vn -0.243934 -0.421369 -0.873440 +vn -0.209784 -0.282693 -0.935972 +vn -0.097720 -0.148198 -0.984100 +vn -0.003601 -0.126102 -0.992004 +vn -0.045412 -0.238502 -0.970061 +vn -0.006287 -0.138279 -0.990356 +vn 0.049440 -0.050142 -0.997497 +vn 0.049226 0.021271 -0.998535 +vn 0.093600 0.057314 -0.993927 +vn 0.150609 -0.028443 -0.988159 +vn 0.092318 -0.078707 -0.992584 +vn -0.020478 -0.049440 -0.998566 +vn -0.100223 0.081698 -0.991577 +vn -0.178716 0.180364 -0.967193 +vn -0.225867 0.198279 -0.953734 +vn -0.258919 0.271828 -0.926847 +vn 0.095614 0.337687 -0.936369 +vn 0.053377 -0.996796 -0.059175 +vn -0.006623 -0.999237 -0.038087 +vn 0.002197 -0.998444 -0.055208 +vn -0.549821 0.002930 -0.835261 +vn -0.329508 -0.892331 0.308390 +vn 0.225501 -0.791040 0.568651 +vn 0.160100 -0.757164 0.633290 +vn -0.266243 -0.478011 -0.837001 +vn -0.314768 -0.460616 -0.829890 +vn -0.371166 -0.453719 -0.810144 +vn -0.419843 -0.362102 -0.832179 +vn -0.469558 -0.280892 -0.837001 +vn -0.533494 -0.187017 -0.824824 +vn -0.599597 -0.088443 -0.795373 +vn -0.627552 -0.038636 -0.777581 +vn 0.226264 -0.148747 -0.962615 +vn 0.227546 -0.055849 -0.972137 +vn 0.237281 0.120731 -0.963897 +vn 0.209387 0.246590 -0.946196 +vn 0.077273 0.035981 -0.996338 +vn -0.216742 -0.404645 -0.888394 +vn -0.286569 -0.446791 -0.847468 +vn -0.331339 -0.373180 -0.866543 +vn -0.387555 -0.368938 -0.844783 +vn -0.418989 -0.358562 -0.834162 +vn -0.436872 -0.391736 -0.809717 +vn -0.410199 -0.424879 -0.806940 +vn -0.397748 -0.413373 -0.819056 +vn -0.392712 -0.409742 -0.823298 +vn -0.388470 -0.374554 -0.841853 +vn -0.369671 -0.325816 -0.870144 +vn -0.316019 -0.314035 -0.895230 +vn -0.254646 -0.349895 -0.901486 +vn -0.301157 -0.406415 -0.862606 +vn -0.271340 -0.332438 -0.903226 +vn -0.172552 -0.242775 -0.954588 +vn -0.047304 -0.189642 -0.980682 +vn -0.011017 -0.222022 -0.974975 +vn -0.020386 -0.173406 -0.984619 +vn 0.035035 -0.057924 -0.997681 +vn 0.035554 0.012055 -0.999268 +vn 0.078433 0.010743 -0.996857 +vn 0.104343 -0.026795 -0.994171 +vn 0.054811 -0.029237 -0.998047 +vn -0.021241 0.023774 -0.999481 +vn -0.085116 0.129246 -0.987945 +vn -0.121616 0.221412 -0.967559 +vn -0.146886 0.242439 -0.958953 +vn -0.223304 0.296335 -0.928587 +vn 0.004852 -0.999939 -0.009033 +vn -0.161565 -0.928617 -0.333964 +vn -0.846217 -0.391339 -0.361553 +vn 0.010132 -0.999420 -0.032411 +vn 0.039766 -0.999054 -0.016846 +vn 0.102420 -0.991424 0.080966 +vn 0.008728 -0.994324 0.105838 +vn 0.060579 -0.986114 0.154424 +vn -0.221992 -0.464095 -0.857479 +vn -0.246376 -0.432325 -0.867367 +vn -0.335459 -0.421308 -0.842555 +vn -0.413770 -0.348003 -0.841212 +vn -0.452101 -0.239845 -0.859096 +vn -0.531114 -0.142338 -0.835231 +vn -0.579302 -0.045656 -0.813807 +vn 0.232887 -0.130558 -0.963683 +vn 0.219245 -0.137516 -0.965911 +vn 0.184393 -0.038942 -0.982055 +vn 0.157170 0.130497 -0.978881 +vn 0.147465 0.253426 -0.956023 +vn 0.155950 0.154973 -0.975524 +vn -0.146580 -0.201209 -0.968505 +vn -0.359539 -0.412183 -0.837123 +vn -0.398236 -0.342509 -0.850917 +vn -0.438826 -0.319865 -0.839686 +vn -0.485519 -0.331462 -0.808924 +vn -0.481796 -0.365490 -0.796381 +vn -0.473312 -0.429151 -0.769280 +vn -0.442671 -0.414014 -0.795373 +vn -0.438490 -0.401685 -0.803949 +vn -0.448866 -0.371014 -0.812922 +vn -0.450423 -0.337016 -0.826746 +vn -0.416150 -0.342387 -0.842341 +vn -0.366161 -0.342723 -0.865108 +vn -0.384259 -0.387066 -0.838130 +vn -0.359416 -0.376141 -0.853999 +vn -0.265847 -0.309793 -0.912870 +vn -0.166875 -0.240364 -0.956206 +vn -0.128574 -0.212043 -0.968749 +vn -0.154149 -0.198157 -0.967956 +vn -0.115604 -0.082339 -0.989868 +vn -0.090121 -0.008393 -0.995880 +vn -0.072481 -0.003845 -0.997345 +vn -0.069765 -0.004791 -0.997528 +vn -0.103275 -0.011719 -0.994568 +vn -0.089022 0.054659 -0.994507 +vn -0.122379 0.155889 -0.980132 +vn -0.132603 0.221625 -0.966063 +vn -0.108249 0.266366 -0.957762 +vn -0.153508 0.337291 -0.928770 +vn -0.055788 0.237007 -0.969878 +vn 0.018738 -0.997833 0.062655 +vn -0.004486 -0.996338 0.085147 +vn 0.068514 -0.996796 0.041139 +vn 0.033570 -0.997406 0.063387 +vn 0.466506 -0.884304 0.018097 +vn -0.381542 -0.866970 -0.320566 +vn -0.261299 -0.937956 -0.227821 +vn -0.539384 -0.734519 -0.411725 +vn -0.159886 -0.520493 -0.838740 +vn -0.182714 -0.469008 -0.864071 +vn -0.194647 -0.413160 -0.889584 +vn -0.270791 -0.366283 -0.890194 +vn -0.394330 -0.299631 -0.868740 +vn -0.478774 -0.207434 -0.853053 +vn -0.528947 -0.084841 -0.844386 +vn -0.571551 -0.019105 -0.820307 +vn 0.199896 -0.112491 -0.973327 +vn 0.154607 -0.115696 -0.981170 +vn 0.137608 -0.024201 -0.990173 +vn 0.123417 0.149541 -0.981017 +vn 0.103671 0.257302 -0.960723 +vn 0.056124 0.251381 -0.966247 +vn -0.193396 0.002411 -0.981109 +vn -0.386883 -0.329417 -0.861263 +vn -0.447523 -0.324595 -0.833247 +vn -0.473739 -0.273415 -0.837123 +vn -0.516831 -0.302591 -0.800806 +vn -0.505539 -0.365368 -0.781579 +vn -0.484054 -0.427473 -0.763482 +vn -0.472518 -0.433607 -0.767235 +vn -0.452528 -0.398450 -0.797754 +vn -0.463668 -0.365764 -0.806940 +vn -0.474685 -0.330912 -0.815546 +vn -0.491287 -0.343425 -0.800409 +vn -0.466842 -0.343211 -0.814997 +vn -0.443098 -0.362957 -0.819697 +vn -0.425550 -0.389111 -0.816980 +vn -0.401166 -0.359661 -0.842402 +vn -0.331187 -0.298959 -0.894925 +vn -0.248970 -0.223701 -0.942289 +vn -0.234687 -0.184118 -0.954436 +vn -0.235908 -0.100497 -0.966552 +vn -0.234474 -0.018525 -0.971923 +vn -0.236763 -0.009766 -0.971496 +vn -0.237373 -0.004456 -0.971374 +vn -0.232917 0.003632 -0.972472 +vn -0.249641 0.041047 -0.967437 +vn -0.240455 0.162358 -0.956969 +vn -0.215186 0.198553 -0.956145 +vn -0.190069 0.262978 -0.945860 +vn -0.146397 0.353038 -0.924070 +vn -0.351177 -0.439039 0.826960 +vn 0.120396 0.301614 -0.945769 +vn 0.134739 0.374279 -0.917447 +vn 0.068545 -0.996765 0.041261 +vn 0.010132 -0.995483 -0.094363 +vn -0.634297 -0.607776 -0.477737 +vn -0.165258 -0.522446 -0.836482 +vn -0.177831 -0.445875 -0.877224 +vn -0.244881 -0.398541 -0.883816 +vn -0.275002 -0.317057 -0.907620 +vn -0.343303 -0.221107 -0.912809 +vn -0.448714 -0.147710 -0.881375 +vn -0.523148 -0.059420 -0.850154 +vn -0.568285 0.027528 -0.822352 +vn 0.088351 -0.994568 0.054842 +vn 0.110813 -0.993835 0.001038 +vn 0.126926 -0.990265 0.056612 +vn 0.214240 -0.155370 -0.964324 +vn 0.160100 -0.070009 -0.984588 +vn 0.122318 -0.095035 -0.987915 +vn 0.108798 -0.015320 -0.993927 +vn 0.094028 0.152196 -0.983856 +vn 0.088229 0.270699 -0.958586 +vn 0.055330 0.330790 -0.942076 +vn -0.105991 0.182989 -0.977355 +vn -0.387555 -0.199957 -0.899869 +vn -0.478408 -0.294565 -0.827235 +vn -0.502365 -0.255837 -0.825922 +vn -0.518235 -0.272042 -0.810785 +vn -0.522111 -0.361888 -0.772271 +vn -0.510788 -0.420148 -0.750023 +vn -0.507614 -0.432752 -0.744987 +vn -0.502426 -0.396222 -0.768456 +vn -0.515183 -0.354198 -0.780450 +vn -0.520463 -0.315012 -0.793634 +vn -0.540635 -0.298715 -0.786401 +vn -0.567614 -0.348216 -0.745994 +vn -0.517014 -0.373547 -0.770135 +vn -0.490493 -0.392834 -0.777856 +vn -0.475417 -0.357524 -0.803827 +vn -0.466994 -0.333995 -0.818751 +vn -0.409803 -0.265908 -0.872524 +vn -0.362194 -0.196631 -0.911100 +vn -0.331950 -0.115329 -0.936186 +vn -0.291543 -0.017457 -0.956389 +vn -0.301920 0.018067 -0.953154 +vn -0.356151 -0.010865 -0.934355 +vn -0.330821 0.002380 -0.943663 +vn -0.337046 0.050539 -0.940123 +vn -0.321268 0.135533 -0.937223 +vn -0.268441 0.168096 -0.948485 +vn -0.243507 0.231056 -0.941954 +vn -0.200568 0.333293 -0.921232 +vn 0.049104 0.256111 -0.965392 +vn 0.008454 -0.999756 -0.019715 +vn 0.039766 -0.999054 -0.016633 +vn 0.015595 -0.999542 -0.025727 +vn -0.165410 -0.505966 -0.846522 +vn -0.213111 -0.431135 -0.876736 +vn -0.247078 -0.357067 -0.900784 +vn -0.327799 -0.302896 -0.894864 +vn -0.365673 -0.179724 -0.913205 +vn -0.423750 -0.080752 -0.902158 +vn -0.497421 0.001190 -0.867489 +vn -0.536943 0.073000 -0.840419 +vn 0.170537 -0.038911 -0.984558 +vn 0.136540 -0.080874 -0.987304 +vn 0.083987 0.007355 -0.996429 +vn 0.062807 0.156774 -0.985626 +vn 0.049867 0.287027 -0.956603 +vn -0.000336 0.373699 -0.927519 +vn -0.126225 0.318522 -0.939451 +vn -0.358440 -0.004242 -0.933531 +vn -0.492355 -0.245643 -0.834986 +vn -0.513321 -0.248146 -0.821528 +vn -0.524094 -0.243385 -0.816126 +vn -0.551897 -0.330821 -0.765465 +vn -0.601550 -0.319071 -0.732292 +vn -0.582324 -0.391247 -0.712577 +vn -0.549547 -0.386639 -0.740593 +vn -0.533525 -0.366558 -0.762200 +vn -0.514603 -0.333476 -0.789880 +vn -0.514420 -0.293588 -0.805689 +vn -0.491867 -0.216437 -0.843318 +vn -0.467544 -0.151158 -0.870937 +vn -0.426283 -0.040895 -0.903653 +vn -0.416333 0.012513 -0.909116 +vn -0.372143 0.018952 -0.927976 +vn -0.381695 -0.014527 -0.924161 +vn -0.359447 0.027985 -0.932707 +vn -0.307657 0.104282 -0.945738 +vn -0.294687 0.149785 -0.943754 +vn -0.299112 0.218635 -0.928800 +vn -0.321574 0.332041 -0.886746 +vn -0.038362 0.226844 -0.973144 +vn -0.024506 -0.918058 0.395642 +vn -0.140446 -0.538591 -0.830744 +vn -0.164098 -0.480605 -0.861415 +vn -0.221778 -0.417005 -0.881405 +vn -0.243233 -0.333262 -0.910886 +vn -0.300607 -0.246162 -0.921415 +vn -0.409833 -0.134312 -0.902188 +vn -0.484420 -0.040376 -0.873867 +vn -0.513901 0.033692 -0.857143 +vn -0.552599 0.136082 -0.822260 +vn -0.027528 -0.588824 0.807764 +vn 0.109378 -0.426679 0.897732 +vn -0.201147 -0.911649 0.358318 +vn -0.190802 -0.914304 0.357158 +vn 0.131474 0.003174 -0.991302 +vn 0.083804 -0.042055 -0.995575 +vn 0.072085 0.025178 -0.997070 +vn 0.063295 0.172460 -0.982971 +vn 0.020692 0.310739 -0.950255 +vn -0.048036 0.428419 -0.902280 +vn -0.199316 0.410352 -0.889859 +vn -0.413739 0.152989 -0.897427 +vn -0.513596 -0.175207 -0.839930 +vn -0.546342 -0.236946 -0.803308 +vn -0.574267 -0.379681 -0.725242 +vn -0.543626 -0.342662 -0.766167 +vn -0.544359 -0.287545 -0.787988 +vn -0.555132 -0.242744 -0.795526 +vn -0.530656 -0.160436 -0.832240 +vn -0.544511 -0.042909 -0.837642 +vn -0.547105 -0.044252 -0.835871 +vn -0.423414 -0.046937 -0.904691 +vn -0.351512 -0.008637 -0.936125 +vn -0.369640 -0.002564 -0.929136 +vn -0.340342 0.084475 -0.936460 +vn -0.350322 0.160100 -0.922819 +vn -0.360179 0.234748 -0.902829 +vn -0.350352 0.323435 -0.878994 +vn -0.058931 0.214026 -0.975036 +vn 0.009766 -0.999878 0.011475 +vn 0.006470 -0.998901 -0.045961 +vn 0.027375 -0.998169 -0.053835 +vn -0.023957 -0.999481 -0.021455 +vn 0.007019 -0.999817 -0.017518 +vn -0.172918 -0.468032 -0.866604 +vn -0.218207 -0.386700 -0.895993 +vn -0.283212 -0.314402 -0.906034 +vn -0.343394 -0.190405 -0.919645 +vn -0.432752 -0.057833 -0.899625 +vn -0.492630 0.004852 -0.870205 +vn -0.558824 0.076662 -0.825709 +vn -0.596393 0.189520 -0.779962 +vn 0.108432 0.184698 -0.976775 +vn 0.075564 0.350352 -0.933531 +vn -0.014985 0.489303 -0.871944 +vn -0.113407 0.514481 -0.849940 +vn -0.384869 0.297555 -0.873653 +vn -0.567553 -0.065340 -0.820704 +vn 0.038118 -0.999115 -0.017335 +vn -0.569292 -0.298685 -0.765923 +vn -0.554826 -0.246803 -0.794488 +vn -0.558123 -0.175481 -0.810938 +vn -0.550371 -0.036378 -0.834101 +vn -0.527726 -0.076113 -0.845973 +vn -0.477462 -0.156865 -0.864498 +vn -0.382916 -0.041719 -0.922819 +vn -0.373333 0.018891 -0.927488 +vn -0.405621 0.075625 -0.910886 +vn -0.387860 0.155705 -0.908444 +vn -0.404004 0.235939 -0.883785 +vn -0.428663 0.335002 -0.839045 +vn 0.216346 -0.734153 0.643544 +vn 0.083712 -0.917325 0.389141 +vn 0.003723 -0.989868 0.141850 +vn -0.387432 -0.831965 0.397076 +vn -0.825800 -0.488632 0.281564 +vn 0.072024 -0.997223 0.018159 +vn 0.047639 -0.998474 0.026856 +vn 0.047426 -0.998505 0.026948 +vn 0.072176 -0.997223 0.017762 +vn 0.050874 -0.998688 0.004212 +vn 0.042024 -0.998993 0.015168 +vn 0.070376 -0.997406 -0.014557 +vn 0.052675 -0.998413 -0.018738 +vn 0.057680 -0.998291 -0.007752 +vn 0.005341 -0.999695 -0.023041 +vn 0.080386 -0.996734 0.006836 +vn 0.000977 -0.999908 -0.011322 +vn 0.048128 -0.998474 0.026002 +vn 0.037385 -0.999268 0.003021 +vn 0.078280 -0.996490 0.028626 +vn 0.051363 -0.998657 0.003388 +vn 0.110019 -0.989502 0.093692 +vn 0.004028 -0.998688 0.050935 +vn 0.138585 -0.957244 0.253822 +vn 0.040071 -0.980468 0.192511 +vn 0.148503 -0.868496 0.472915 +vn 0.116459 -0.914487 0.387402 +vn 0.189154 -0.491531 0.850032 +vn 0.183782 -0.631062 0.753624 +vn -0.109378 -0.974090 -0.197882 +vn 0.068270 -0.996765 0.042299 +vn 0.025147 -0.998444 -0.049287 +vn 0.141728 -0.755242 0.639882 +vn 0.127384 -0.341258 0.931272 +vn -0.265755 -0.846461 -0.461348 +vn -0.125675 -0.990143 0.061525 +vn 0.049379 -0.996765 0.063112 +vn 0.033753 -0.997314 0.064608 +vn 0.442610 -0.865749 0.233558 +vn 0.426740 -0.861995 0.273476 +vn 0.421461 -0.874599 0.239540 +vn 0.065706 -0.862362 0.501999 +vn 0.020173 -0.994781 0.099826 +vn -0.385784 -0.838496 -0.384777 +vn -0.586138 -0.659810 0.470168 +vn -0.364116 -0.839686 0.402875 +vn -0.559008 -0.725272 0.401807 +vn 0.170843 -0.865322 0.471114 +vn 0.056368 -0.984222 0.167577 +vn 0.035035 -0.915769 0.400098 +vn -0.029054 -0.991546 0.126286 +vn -0.010315 -0.999573 0.026521 +vn 0.018250 -0.753166 0.657552 +vn -0.022919 -0.938231 0.345195 +vn -0.009857 -0.999939 0.002350 +vn 0.040407 -0.996399 0.074282 +vn 0.034577 -0.997467 0.062014 +vn 0.043916 -0.997772 0.050050 +vn 0.102939 -0.970580 0.217536 +vn 0.026460 -0.996002 0.085025 +vn -0.452040 -0.866085 -0.213385 +vn -0.256020 -0.905759 -0.337657 +vn -0.485336 -0.709433 0.510971 +vn -0.478713 -0.647237 0.593188 +vn -0.204047 -0.924619 0.321574 +vn 0.068545 -0.996796 0.041139 +vn 0.014435 -0.998871 -0.044679 +vn 0.003754 -0.994873 0.101047 +vn -0.057375 -0.996399 -0.062319 +vn -0.085543 -0.995422 -0.041841 +vn 0.423170 -0.850551 0.312204 +vn 0.431227 -0.845454 0.315012 +vn 0.431318 -0.859218 0.275033 +vn -0.356792 -0.914914 -0.188604 +vn 0.434370 -0.885403 0.165380 +vn 0.445051 -0.876949 0.181280 +vn 0.056764 -0.992798 0.105319 +vn -0.133763 -0.670736 0.729514 +vn -0.000427 -0.999725 0.023377 +vn 0.086856 -0.953612 0.288125 +vn -0.006561 -0.999146 0.040376 +vn 0.489761 -0.869259 0.067049 +vn -0.555986 -0.816950 -0.153172 +vn -0.002472 -0.999969 0.003265 +vn -0.025208 -0.996918 -0.073946 +vn -0.008576 -0.999268 0.037019 +vn 0.028657 -0.974151 0.223975 +vn -0.035035 -0.999115 -0.022919 +vn -0.499832 -0.623615 0.601032 +vn -0.494247 -0.669485 0.554491 +vn 0.009278 -0.999451 -0.031312 +vn -0.634297 -0.643025 0.429060 +vn -0.626484 -0.683798 0.374035 +vn -0.282540 -0.941832 0.181860 +vn -0.400830 -0.894986 0.195746 +vn -0.261269 -0.962798 0.068697 +vn 0.068117 -0.996796 0.041780 +vn 0.029206 -0.998718 0.040803 +vn 0.015687 -0.985198 0.170629 +vn -0.013153 -0.999786 0.014863 +vn -0.014008 -0.999268 -0.035340 +vn 0.003388 -0.999481 -0.031220 +vn 0.008301 -0.999756 -0.019959 +vn -0.151952 -0.986145 0.066164 +vn 0.189642 -0.616169 0.764397 +vn 0.278756 0.060366 0.958434 +vn 0.121830 -0.840846 0.527329 +vn 0.139805 -0.888119 0.437788 +vn 0.049867 -0.974181 0.220099 +vn -0.043611 -0.992706 -0.112125 +vn 0.009217 -0.994934 -0.099979 +vn -0.539781 -0.600513 0.589892 +vn 0.086398 -0.886380 0.454817 +vn 0.098056 -0.925230 0.366497 +vn 0.021088 -0.988617 0.148747 +vn 0.180212 -0.765252 0.617969 +vn -0.111484 -0.838069 0.534013 +vn -0.156407 -0.564470 0.810480 +vn -0.095462 -0.576617 0.811396 +vn -0.026063 -0.999634 -0.005066 +vn -0.010437 -0.999939 0.000488 +vn -0.004212 -0.996429 0.084231 +vn 0.034730 -0.997497 0.061251 +vn 0.055330 -0.995483 0.076754 +vn 0.038209 -0.998505 0.038362 +vn 0.001526 -0.998291 0.057955 +vn 0.030305 -0.995758 0.086520 +vn -0.009278 -0.997345 0.071993 +vn -0.010163 -0.997345 0.071871 +vn -0.010102 -0.997345 0.071902 +vn -0.088839 -0.855495 0.510086 +vn -0.102786 -0.595416 0.796777 +vn -0.150273 -0.626240 0.764977 +vn 0.013764 -0.998901 -0.044618 +vn -0.003693 -0.999451 -0.032777 +vn 0.043092 -0.997803 -0.049806 +vn -0.031312 -0.998993 -0.032014 +vn 0.011048 -0.999359 -0.033479 +vn 0.442732 -0.886593 0.133885 +vn 0.408063 -0.890011 0.203284 +vn 0.406690 -0.900815 0.151921 +vn -0.531022 -0.791375 0.302835 +vn -0.001709 -0.999115 -0.041658 +vn 0.010163 -0.999573 -0.026460 +vn -0.493179 -0.615986 0.614215 +vn -0.001190 -0.999542 0.029908 +vn 0.007904 -0.999725 -0.020783 +vn 0.008118 -0.999725 -0.020814 +vn 0.017365 -0.999329 -0.031465 +vn 0.017212 -0.999023 -0.040254 +vn 0.012421 -0.999756 -0.017518 +vn 0.050295 -0.998718 0.004547 +vn 0.042360 -0.999054 -0.007172 +vn 0.004639 -0.999969 0.000488 +vn -0.454817 -0.853755 0.253365 +vn -0.564867 -0.737297 0.370525 +vn -0.605396 -0.780297 0.156835 +vn -0.563128 -0.818934 0.110508 +vn -0.604511 -0.788965 -0.109836 +vn -0.069796 -0.930601 0.359264 +vn 0.043611 -0.997742 0.050905 +vn 0.033998 -0.997436 0.062899 +vn -0.001007 -0.999939 -0.010407 +vn -0.203772 -0.978912 0.013428 +vn 0.037202 -0.999115 -0.018342 +vn -0.014557 -0.998321 0.055910 +vn -0.043214 -0.996704 0.068209 +vn 0.021363 -0.997009 0.073855 +vn 0.042238 -0.995300 0.087069 +vn -0.031312 -0.570208 0.820887 +vn 0.033326 -0.632313 0.773949 +vn -0.162633 -0.979644 0.117557 +vn 0.420454 -0.878842 0.225440 +vn 0.396619 -0.892056 0.216529 +vn 0.401624 -0.893216 0.201972 +vn 0.026856 -0.995849 0.086764 +vn 0.074831 -0.995788 0.052644 +vn 0.038392 -0.998535 0.037996 +vn 0.030213 -0.997497 0.063417 +vn 0.032868 -0.999084 0.026337 +vn -0.183599 -0.982208 -0.039155 +vn 0.427442 -0.895047 0.127079 +vn 0.425367 -0.890744 0.160070 +vn 0.418775 -0.880337 0.222633 +vn 0.251686 -0.921171 -0.296762 +vn 0.232856 -0.933012 -0.274239 +vn 0.034181 -0.939360 0.341197 +vn 0.178747 -0.971618 -0.154912 +vn 0.131077 -0.982696 -0.130741 +vn 0.112918 -0.473952 0.873257 +vn 0.145726 0.022462 0.989044 +vn 0.039094 -0.998932 -0.023927 +vn -0.012757 -0.999481 0.029084 +vn -0.511582 -0.858852 0.024445 +vn -0.044832 -0.911679 0.408399 +vn -0.021821 -0.996582 0.079470 +vn -0.028901 -0.913541 0.405683 +vn 0.036866 -0.999298 0.003754 +vn 0.041963 -0.998993 0.014801 +vn 0.013642 -0.999847 -0.010498 +vn 0.006806 -0.997284 0.073092 +vn -0.009217 -0.997650 0.067415 +vn -0.016449 -0.998138 0.058290 +vn -0.462844 -0.765038 0.447707 +vn 0.004852 -0.999969 -0.000153 +vn 0.199255 -0.748009 0.633045 +vn 0.115482 -0.931944 0.343638 +vn 0.009888 -0.987793 0.155370 +vn 0.109928 -0.993835 -0.012024 +vn -0.014466 -0.999878 0.001007 +vn 0.031220 -0.999451 0.009156 +vn 0.064577 -0.995697 0.066347 +vn 0.065706 -0.995758 0.064089 +vn 0.434278 -0.830103 0.349681 +vn 0.105136 -0.992218 -0.066561 +vn 0.089908 -0.992798 -0.079134 +vn 0.131779 -0.990753 -0.031739 +vn 0.006439 -0.999786 0.019318 +vn -0.137364 -0.988739 0.058870 +vn -0.357860 -0.923093 0.140599 +vn -0.291635 -0.945006 0.147893 +vn -0.485916 -0.867580 0.105655 +vn 0.048616 -0.966948 0.250191 +vn 0.079134 -0.839656 0.537278 +vn -0.014740 -0.981903 0.188757 +vn 0.064486 -0.893582 0.444197 +vn -0.015564 -0.998077 0.059938 +vn 0.002655 -0.995239 0.097385 +vn -0.020661 -0.996338 0.082888 +vn -0.006531 -0.999756 -0.019959 +vn 0.013703 -0.999847 -0.010285 +vn 0.008698 -0.999725 -0.020508 +vn -0.535936 -0.839625 -0.088015 +vn -0.006592 -0.996124 0.087466 +vn 0.017640 -0.990570 0.135655 +vn -0.030763 -0.995239 -0.092288 +vn -0.017090 -0.998810 -0.045167 +vn 0.416456 -0.906552 0.068453 +vn 0.046907 -0.995239 0.085360 +vn 0.026276 -0.993316 0.112125 +vn 0.070406 -0.994507 0.077059 +vn -0.013337 -0.999237 -0.035981 +vn -0.056887 -0.997925 -0.029664 +vn 0.005829 -0.999939 -0.006867 +vn 0.030396 -0.999512 -0.005463 +vn -0.135350 -0.511612 0.848476 +vn -0.116337 -0.501114 0.857509 +vn -0.142003 -0.656911 0.740440 +vn 0.042604 -0.999054 -0.007294 +vn 0.045503 -0.998932 -0.007050 +vn 0.042817 -0.999054 -0.007294 +vn 0.071200 -0.997253 0.018769 +vn -0.042268 -0.999023 0.011689 +vn 0.014313 -0.997162 -0.073702 +vn 0.008972 -0.999695 -0.022584 +vn -0.447005 -0.894467 0.006775 +vn -0.525346 -0.828272 -0.194769 +vn -0.491867 -0.824854 -0.278695 +vn -0.259041 -0.934935 -0.242439 +vn -0.347514 -0.863430 -0.365612 +vn -0.070620 -0.986053 -0.150670 +vn -0.053865 -0.994598 -0.088626 +vn -0.539933 -0.797327 -0.269601 +vn -0.316477 -0.945280 -0.078951 +vn -0.524583 -0.847926 -0.076083 +vn 0.047548 -0.998505 -0.026093 +vn 0.042695 -0.998932 -0.016846 +vn -0.020905 -0.999084 -0.037019 +vn 0.017731 -0.998962 -0.041475 +vn 0.045747 -0.998260 -0.036897 +vn 0.428510 -0.705741 0.564135 +vn 0.567827 -0.257515 0.781793 +vn 0.042268 -0.998627 -0.030549 +vn 0.042360 -0.998627 -0.030610 +vn 0.010926 -0.999359 -0.033845 +vn -0.089419 -0.993744 -0.066591 +vn -0.065645 -0.996521 -0.050813 +vn 0.043672 -0.997681 0.052065 +vn -0.379498 -0.915342 0.134465 +vn 0.109500 -0.991852 0.064913 +vn -0.468764 -0.527787 0.708274 +vn 0.104404 -0.992920 0.056276 +vn 0.079958 -0.994598 0.065828 +vn 0.034181 -0.997406 0.062929 +vn 0.071352 -0.994446 0.077181 +vn 0.106815 -0.993683 0.033815 +vn 0.076388 -0.996582 0.031159 +vn -0.085788 -0.993378 0.076113 +vn 0.023164 -0.998962 0.038881 +vn -0.000946 -0.999695 0.023927 +vn 0.004700 -0.999329 0.035646 +vn -0.000305 -0.999725 0.023225 +vn 0.012909 -0.998993 -0.042390 +vn 0.044893 -0.998962 -0.006195 +vn 0.052004 -0.993439 0.101596 +vn 0.014466 -0.996002 0.087863 +vn 0.004852 -0.999969 -0.000305 +vn 0.013398 -0.999847 -0.011078 +vn 0.099368 -0.994842 0.019501 +vn 0.016511 -0.999451 -0.027711 +vn 0.025513 -0.993164 0.113651 +vn -0.009400 -0.997253 0.073336 +vn 0.076144 -0.996612 0.031007 +vn 0.091342 -0.995514 -0.024140 +vn -0.024659 -0.999359 -0.024812 +vn 0.029786 -0.999512 -0.006989 +vn 0.000183 -0.999939 -0.010041 +vn 0.035890 -0.999207 -0.015442 +vn 0.037782 -0.999146 0.015412 +vn 0.082766 -0.995636 0.042421 +vn 0.105258 -0.992920 0.054781 +vn 0.113376 -0.984619 0.132908 +vn -0.536454 -0.766198 0.353710 +vn -0.613483 -0.747368 0.254982 +vn 0.021027 -0.999207 -0.033631 +vn -0.579241 -0.786431 0.214423 +vn -0.373455 -0.903348 0.210822 +vn 0.165258 -0.936491 0.309244 +vn 0.101108 -0.965789 -0.238685 +vn -0.387280 -0.913968 0.121067 +vn 0.005982 -0.999390 0.034303 +vn 0.102847 -0.994690 -0.002472 +vn 0.122135 -0.992492 -0.006317 +vn 0.206580 -0.825220 0.525620 +vn -0.599628 -0.796411 0.078249 +vn 0.426069 -0.865688 0.262642 +vn 0.445448 -0.891201 0.085452 +vn 0.101321 -0.982665 -0.155095 +vn 0.430342 -0.892636 0.133976 +vn 0.001373 -0.998169 0.060396 +vn 0.065127 -0.990204 0.123356 +vn 0.011139 -0.998810 0.047334 +vn 0.419233 -0.857234 0.298929 +vn -0.307871 -0.568896 0.762566 +vn -0.005524 -0.584185 0.811579 +vn 0.014649 -0.574114 0.818628 +vn -0.038270 -0.990966 0.128452 +vn 0.024140 -0.998383 0.050966 +vn 0.011139 -0.995209 -0.097018 +vn -0.005707 -0.998810 0.048250 +vn 0.094485 -0.995270 -0.021363 +vn 0.401410 -0.831172 0.384686 +vn 0.431349 -0.816095 0.384564 +vn -0.146977 -0.977691 -0.149907 +vn -0.492782 -0.868160 -0.058321 +vn 0.033418 -0.999054 0.026978 +vn 0.038423 -0.998505 0.038209 +vn 0.034455 -0.997467 0.062044 +vn 0.417371 -0.790094 0.448897 +vn 0.442274 -0.787133 0.429823 +vn 0.004730 -0.999329 0.035554 +vn 0.023255 -0.998962 0.038453 +vn 0.004944 -0.999359 0.035432 +vn 0.046785 -0.998505 0.027528 +vn 0.005097 -0.997345 0.072573 +vn -0.194800 -0.956816 -0.215613 +vn -0.077761 -0.988433 -0.130131 +vn -0.144566 -0.976928 -0.156987 +vn -0.288430 -0.957030 -0.029359 +vn 0.004334 -0.999969 0.001190 +vn 0.443220 -0.757347 0.479476 +vn 0.441267 -0.762841 0.472579 +vn 0.183325 -0.922147 -0.340587 +vn 0.163762 -0.964934 -0.205023 +vn 0.115848 -0.990204 -0.077548 +vn 0.102847 -0.993866 -0.040284 +vn 0.082156 -0.996521 0.011628 +vn -0.113468 -0.989654 0.087619 +vn -0.225684 -0.973357 -0.039766 +vn -0.262154 -0.959258 -0.105167 +vn -0.081057 -0.992157 -0.094974 +vn -0.170507 -0.981567 -0.086032 +vn 0.148503 -0.008637 0.988861 +vn 0.182379 0.000824 0.983215 +vn -0.136509 -0.988403 -0.066439 +vn 0.036348 -0.998505 0.040376 +vn 0.055605 -0.995300 0.079257 +vn 0.075381 -0.992920 0.091525 +vn 0.145085 -0.985992 0.082125 +vn 0.131108 -0.988037 0.081149 +vn 0.083010 -0.995575 0.043550 +vn 0.002930 -0.999207 -0.039521 +vn 0.008881 -0.999512 -0.029237 +vn 0.115970 -0.992981 0.022248 +vn -0.009033 -0.997345 0.072115 +vn -0.007691 -0.993896 0.110019 +vn 0.018830 -0.997833 0.062929 +vn 0.028932 -0.998321 0.049745 +vn -0.032380 -0.997925 0.055330 +vn -0.105533 -0.993744 -0.035951 +vn 0.201819 -0.570116 0.796381 +vn -0.145482 -0.969878 -0.195196 +vn 0.083132 -0.996460 -0.010132 +vn -0.073061 -0.997284 0.007721 +vn -0.090701 -0.992309 -0.084078 +vn 0.078066 -0.996490 0.029572 +vn -0.265236 -0.942320 -0.204047 +vn 0.082644 -0.996490 -0.013031 +vn 0.120090 -0.992523 -0.020722 +vn 0.049837 -0.997955 0.039460 +vn 0.091037 -0.994324 0.054720 +vn 0.080691 -0.994598 0.065065 +vn 0.012970 -0.999847 -0.009827 +vn 0.008087 -0.999725 -0.020966 +vn 0.317423 -0.852412 0.415448 +vn 0.277474 -0.859798 0.428602 +vn 0.310495 -0.882900 0.352184 +vn -0.069796 -0.505020 0.860256 +vn -0.090732 -0.484237 0.870205 +vn -0.055055 -0.663930 0.745720 +vn 0.356120 -0.891598 0.279641 +vn 0.336314 -0.880093 0.335093 +vn 0.351268 -0.889279 0.292825 +vn -0.049318 -0.846889 0.529405 +vn -0.024873 -0.982177 0.186224 +vn -0.072176 -0.980895 0.180517 +vn 0.119083 -0.977172 0.175878 +vn 0.186468 -0.911985 0.365337 +vn 0.216468 -0.768822 0.601672 +vn -0.033753 -0.995758 0.085482 +vn -0.016327 -0.998169 0.057985 +vn -0.133671 -0.988983 0.063295 +vn -0.138554 -0.989013 0.051332 +vn 0.114566 -0.990356 0.077609 +vn 0.026460 -0.987884 0.152837 +vn 0.166509 -0.979400 -0.114170 +vn 0.165960 -0.986023 -0.013855 +vn 0.147069 -0.989105 0.000000 +vn 0.068422 -0.997589 -0.010620 +vn 0.008881 -0.999939 0.006165 +vn 0.023133 -0.998932 0.039613 +vn 0.446608 -0.725578 0.523453 +vn 0.008789 -0.999512 -0.029176 +vn 0.043367 -0.998932 -0.015168 +vn 0.018677 -0.997192 0.072481 +vn 0.452345 -0.716544 0.530931 +vn -0.181890 -0.944304 -0.274148 +vn -0.053377 -0.995972 -0.071627 +vn -0.008332 -0.956298 0.292215 +vn 0.021607 -0.999756 0.002350 +vn -0.021668 -0.999084 0.036256 +vn 0.003876 -0.999969 -0.006073 +vn 0.008393 -0.999542 -0.028016 +vn 0.003845 -0.999939 -0.006989 +vn 0.003296 -0.999237 -0.038179 +vn 0.456893 -0.568407 0.684194 +vn 0.203894 -0.785821 0.583819 +vn -0.151555 -0.960479 0.233406 +vn -0.120518 -0.470779 0.873959 +vn 0.123142 -0.598193 0.791803 +vn -0.110019 -0.614582 0.781121 +vn 0.084841 -0.926023 0.367748 +vn -0.099399 -0.993652 -0.052065 +vn 0.028077 -0.998260 0.051424 +vn -0.120762 -0.985748 -0.116916 +vn -0.385632 -0.844905 0.370617 +vn -0.507920 -0.767418 0.391186 +vn -0.366863 -0.904569 0.217017 +vn -0.710837 -0.559435 -0.426252 +vn 0.018738 -0.997803 0.063082 +vn -0.000092 -0.998138 0.060945 +vn 0.033601 -0.997406 0.063356 +vn 0.064394 -0.995697 0.066561 +vn 0.038362 -0.998505 0.038270 +vn 0.005097 -0.999359 0.035005 +vn -0.513077 -0.730247 0.451033 +vn -0.543596 -0.636097 0.547594 +vn -0.566179 -0.685842 0.457167 +vn -0.515793 -0.688925 0.509232 +vn -0.531877 -0.722373 0.441847 +vn -0.588641 -0.617969 0.521104 +vn -0.726981 -0.661885 -0.182592 +vn -0.010102 -0.997345 0.072024 +vn -0.417951 -0.841212 0.342967 +vn -0.061098 -0.998077 -0.009278 +vn -0.021912 -0.996002 -0.086428 +vn 0.003540 -0.999207 -0.039064 +vn 0.001038 -0.998352 0.056856 +vn -0.004608 -0.937284 0.348491 +vn 0.012360 -0.996796 -0.078890 +vn 0.021424 -0.998993 0.038820 +vn -0.019501 -0.999725 -0.012787 +vn -0.014557 -0.995117 0.097598 +vn 0.065340 -0.990265 0.122684 +vn 0.040773 -0.996429 0.073550 +vn 0.064272 -0.989471 0.129612 +vn 0.035340 -0.984069 0.174078 +vn -0.187262 -0.981567 0.037843 +vn -0.324015 -0.945769 0.022401 +vn -0.084506 -0.995117 0.050813 +vn -0.004212 -0.996429 0.084262 +vn -0.061830 -0.996887 0.048647 +vn -0.424238 -0.898251 -0.114536 +vn -0.058962 -0.986969 0.149571 +vn -0.156438 -0.982116 0.104617 +vn -0.183874 -0.975555 0.120243 +vn -0.183020 -0.963042 0.197577 +vn -0.633503 -0.768242 0.091830 +vn 0.008728 -0.999725 -0.020753 +vn 0.039552 -0.996368 0.075381 +vn 0.039644 -0.996338 0.075503 +vn -0.480667 -0.844325 0.236732 +vn 0.068392 -0.996826 0.040681 +vn 0.044008 -0.997772 0.049654 +vn 0.030274 -0.995697 0.087313 +vn 0.065157 -0.990234 0.123020 +vn 0.007324 -0.997436 0.070833 +vn 0.058504 -0.991241 0.118107 +vn 0.078188 -0.983856 0.160863 +vn -0.291787 -0.872494 0.391888 +vn -0.204382 -0.947569 0.245521 +vn -0.014893 -0.998047 0.060335 +vn -0.215400 -0.958007 0.189215 +vn -0.021455 -0.995148 0.095706 +vn -0.037843 -0.990997 0.128391 +vn 0.038240 -0.998505 0.038423 +vn -0.000580 -0.999695 0.023469 +vn -0.010132 -0.999359 0.033845 +vn -0.693442 -0.720450 -0.006317 +vn -0.754265 -0.652120 -0.076205 +vn -0.548173 -0.729148 -0.409650 +vn -0.692984 -0.560930 -0.452864 +vn -0.719138 -0.679922 0.143223 +vn 0.030061 -0.995758 0.086856 +vn 0.032105 -0.997620 0.060762 +vn 0.246559 -0.459609 0.853175 +vn 0.037721 -0.998505 0.038820 +vn 0.024384 -0.996887 0.074953 +vn 0.024384 -0.995422 0.092349 +vn 0.011139 -0.999329 -0.034455 +vn -0.040437 -0.998138 -0.045442 +vn 0.035920 -0.993194 -0.110630 +vn -0.056398 -0.993896 -0.094729 +vn -0.003296 -0.994018 -0.109134 +vn 0.003327 -0.989746 0.142674 +vn -0.075594 -0.993225 0.088168 +vn -0.405164 -0.897275 0.175115 +vn 0.040864 -0.962951 0.266457 +vn -0.010865 -0.996551 0.082125 +vn -0.530290 -0.782311 0.326640 +vn 0.081423 -0.955351 0.283975 +vn 0.019715 -0.994964 0.098117 +vn 0.107822 -0.844264 0.524918 +vn -0.598865 -0.760460 0.251015 +vn -0.154088 -0.982482 0.104495 +vn -0.453383 -0.514542 0.727775 +vn -0.318918 -0.522843 0.790490 +vn -0.450880 -0.496811 0.741478 +vn -0.506974 -0.861904 0.007508 +vn -0.437208 -0.899075 0.021638 +vn -0.270669 -0.958953 -0.084445 +vn -0.307260 -0.947813 -0.084933 +vn 0.005890 -0.999878 0.012238 +vn -0.761803 -0.609638 0.219062 +vn -0.066347 -0.991577 0.110965 +vn 0.205084 -0.669790 0.713614 +vn -0.193701 -0.868984 0.455275 +vn -0.260201 -0.637471 0.725181 +vn -0.242103 -0.629627 0.738182 +vn -0.010102 -0.999298 0.035401 +vn -0.400647 -0.829615 0.388836 +vn -0.058718 -0.991516 0.115909 +vn 0.115635 -0.989013 -0.091769 +vn -0.046632 -0.998871 -0.005676 +vn -0.249184 -0.967254 -0.047914 +vn 0.144871 -0.966887 -0.210028 +vn 0.058779 -0.991211 0.118473 +vn -0.037629 -0.996277 -0.077181 +vn 0.031465 -0.998627 -0.041810 +vn 0.046327 -0.998199 -0.037843 +vn 0.226142 -0.388745 0.893124 +vn -0.391583 -0.810480 0.435621 +vn -0.190405 -0.955107 0.226875 +vn -0.488052 -0.449568 0.748100 +vn -0.494369 -0.554094 0.669729 +vn -0.529496 -0.550829 0.645100 +vn -0.705588 -0.705893 -0.061739 +vn -0.748955 -0.258644 0.610034 +vn -0.701315 -0.657674 0.274880 +vn -0.312021 -0.545946 0.777520 +vn -0.252968 -0.532395 0.807794 +vn 0.004700 -0.999329 0.035707 +vn 0.048402 -0.998444 -0.027131 +vn 0.012726 -0.999847 -0.009339 +vn 0.076815 -0.996826 -0.020508 +vn -0.000549 -0.999023 -0.043489 +vn 0.118473 -0.986908 -0.109195 +vn 0.064821 -0.996979 -0.042360 +vn 0.105625 -0.994324 -0.010743 +vn 0.036561 -0.997559 0.059206 +vn 0.010010 -0.998657 0.050417 +vn 0.062044 -0.996918 0.047945 +vn 0.078188 -0.983825 0.161046 +vn 0.061739 -0.993927 0.090732 +vn 0.108707 -0.989746 0.092563 +vn 0.143468 -0.983978 0.105625 +vn 0.109745 -0.985473 0.129551 +vn 0.185339 -0.970214 0.155797 +vn 0.289499 -0.946898 0.139775 +vn 0.279733 -0.953703 0.110385 +vn 0.271554 -0.959990 0.068056 +vn 0.216651 -0.973662 0.070925 +vn 0.300821 -0.721244 0.623920 +vn 0.009064 -0.999695 -0.021821 +vn -0.051698 -0.660512 0.749016 +vn -0.547472 -0.795709 0.259041 +vn -0.566271 -0.767479 0.300455 +vn -0.594958 -0.747520 0.295267 +vn -0.634327 -0.719565 0.282510 +vn 0.048860 -0.998138 -0.036470 +vn -0.300424 -0.710044 0.636830 +vn -0.240242 -0.708274 0.663747 +vn -0.737602 -0.667348 0.102786 +vn -0.469863 -0.864193 0.179937 +vn 0.040651 -0.998657 -0.031251 +vn 0.188604 -0.981933 0.013733 +vn 0.066347 -0.997742 0.007172 +vn 0.152165 -0.988250 0.013916 +vn 0.172033 -0.983215 0.060579 +vn 0.036348 -0.999329 0.004303 +vn 0.045320 -0.998932 -0.006165 +vn 0.152745 -0.983917 0.092257 +vn 0.162145 -0.979888 0.116092 +vn 0.208808 -0.943632 0.256722 +vn 0.251778 -0.865566 0.432844 +vn -0.827967 -0.464431 0.314158 +vn -0.618366 -0.654195 0.435408 +vn 0.049684 -0.990295 0.129673 +vn 0.112552 -0.940642 0.320109 +vn -0.231269 -0.892453 0.387249 +vn -0.229621 -0.916196 0.328349 +vn -0.040651 -0.999115 0.008301 +vn 0.050356 -0.998718 0.004547 +vn -0.548845 -0.782342 0.294382 +vn -0.572558 -0.770074 0.281228 +vn -0.591815 -0.759575 0.269723 +vn -0.650838 -0.714652 0.256172 +vn 0.003540 -0.999481 -0.031922 +vn 0.028626 -0.998383 -0.048738 +vn -0.271035 -0.906796 0.322855 +vn -0.160894 -0.925260 0.343486 +vn -0.723777 -0.658437 0.206366 +vn 0.016022 -0.987671 0.155644 +vn 0.018769 -0.997833 0.062868 +vn 0.005341 -0.997345 0.072237 +vn 0.053102 -0.993774 0.097903 +vn 0.276345 -0.959532 -0.053835 +vn 0.053346 -0.998016 0.032563 +vn 0.130528 -0.851405 0.507981 +vn -0.033662 -0.999298 -0.014740 +vn -0.033662 -0.999298 -0.014893 +vn 0.064150 -0.995788 0.065065 +vn 0.032411 -0.998627 -0.040895 +vn -0.191046 -0.980712 0.040498 +vn -0.052553 -0.997101 -0.054811 +vn 0.100314 -0.989898 0.099948 +vn -0.728843 -0.664602 0.164495 +vn 0.247780 -0.815241 0.523362 +vn -0.679525 -0.731651 0.053499 +vn -0.744835 -0.665456 0.048616 +vn -0.754021 -0.626392 -0.197668 +vn -0.763909 -0.523545 -0.377178 +vn 0.038026 -0.999237 -0.008667 +vn -0.665426 -0.746086 0.023041 +vn -0.529618 -0.794977 0.295755 +vn -0.553667 -0.786248 0.274270 +vn -0.557848 -0.788263 0.259651 +vn -0.607959 -0.762017 0.222938 +vn -0.151982 -0.982665 0.106113 +vn -0.735801 -0.668538 0.107669 +vn -0.644978 -0.750023 0.146428 +vn -0.106235 -0.971648 0.211097 +vn -0.282601 -0.849422 0.445601 +vn 0.026551 -0.990570 0.134342 +vn 0.040986 -0.996216 0.076357 +vn 0.276650 -0.938444 -0.206763 +vn -0.659871 -0.704459 0.261238 +vn 0.136143 -0.985656 -0.099399 +vn 0.008087 -0.999878 -0.011750 +vn -0.496414 -0.778436 0.384167 +vn -0.271798 -0.896207 0.350536 +vn 0.140110 -0.989532 -0.033784 +vn 0.115635 -0.993225 0.010865 +vn 0.112003 -0.992340 0.051637 +vn 0.076876 -0.992920 0.090426 +vn -0.035432 -0.993835 0.104801 +vn 0.130284 -0.988067 0.081973 +vn -0.004608 -0.998840 0.047548 +vn 0.432508 -0.790582 0.433454 +vn 0.433607 -0.821558 0.370098 +vn -0.084201 -0.702261 0.706900 +vn 0.120853 -0.985748 0.116916 +vn 0.141057 -0.981262 0.131169 +vn -0.026643 -0.998901 -0.037873 +vn 0.191168 -0.967040 0.168126 +vn 0.282693 -0.938353 0.198798 +vn 0.312967 -0.911344 0.267342 +vn 0.390973 -0.880093 0.269356 +vn -0.122959 -0.989410 0.076846 +vn 0.471023 -0.856014 0.212928 +vn 0.007874 -0.999146 0.039949 +vn 0.499893 -0.853389 0.147710 +vn 0.437452 -0.890927 0.121860 +vn 0.429731 -0.895077 0.118931 +vn -0.363018 -0.811945 0.457076 +vn -0.471847 -0.726035 0.500168 +vn 0.181890 -0.482742 0.856624 +vn -0.577471 -0.786340 0.219367 +vn -0.605976 -0.781304 0.149449 +vn -0.186682 -0.838221 0.512375 +vn -0.681478 -0.707236 -0.188086 +vn -0.736015 -0.675954 0.036805 +vn -0.148717 -0.622852 0.768059 +vn -0.142674 -0.604236 0.783898 +vn -0.005066 -0.999756 -0.021180 +vn 0.145482 -0.986175 0.079073 +vn 0.378124 -0.922422 0.078127 +vn 0.332530 -0.936064 0.114872 +vn 0.298959 -0.942320 0.150487 +vn 0.123295 -0.989502 -0.075076 +vn -0.220405 -0.950713 0.218055 +vn 0.310739 -0.929411 0.199011 +vn 0.351299 -0.881161 0.316416 +vn 0.372600 -0.790551 0.485977 +vn -0.637623 -0.726157 -0.257057 +vn -0.625477 -0.755821 -0.193609 +vn 0.111698 -0.992828 0.042177 +vn 0.141667 -0.988891 0.044893 +vn 0.044954 -0.998962 -0.005707 +vn 0.121555 -0.732475 0.669820 +vn 0.023682 -0.992950 0.115970 +vn 0.038575 -0.949797 0.310404 +vn 0.010743 -0.999817 0.013947 +vn 0.035646 -0.998657 0.037080 +vn 0.018952 -0.997833 0.062685 +vn 0.011292 -0.998840 0.046480 +vn 0.026673 -0.998413 0.048952 +vn -0.004212 -0.998901 0.046510 +vn -0.004212 -0.998901 0.046571 +vn 0.428205 -0.877041 0.217689 +vn -0.022370 -0.917081 0.398022 +vn -0.611347 -0.775231 0.158940 +vn -0.590991 -0.798151 0.116794 +vn -0.591968 -0.804468 -0.048921 +vn -0.599109 -0.759941 -0.252052 +vn -0.637410 -0.716819 -0.282540 +vn -0.621265 -0.290475 0.727744 +vn -0.706778 -0.707327 -0.011292 +vn -0.590197 -0.807154 0.012055 +vn -0.649037 -0.760430 -0.021149 +vn -0.495071 -0.868831 -0.004547 +vn -0.574541 -0.642567 0.506912 +vn 0.013428 -0.999847 -0.010346 +vn 0.013306 -0.999847 -0.010376 +vn 0.004242 -0.999481 -0.031648 +vn -0.025269 -0.999359 -0.024781 +vn 0.044801 -0.998962 -0.005676 +vn 0.036897 -0.999298 0.003845 +vn 0.017670 -0.999054 -0.039399 +vn 0.016907 -0.999054 -0.039613 +vn -0.000763 -0.998535 0.053529 +vn 0.007080 -0.997650 0.067873 +vn 0.050569 -0.998688 0.004364 +vn 0.426984 -0.861446 0.274850 +vn -0.655843 -0.678610 -0.330607 +vn -0.658376 -0.748131 -0.082400 +vn 0.074007 -0.997223 -0.002716 +vn -0.030641 -0.998871 -0.035920 +vn -0.005402 -0.998199 0.059297 +vn -0.091006 -0.987121 -0.131352 +vn 0.441572 -0.851070 0.283975 +vn 0.413312 -0.832911 0.367931 +vn 0.042665 -0.999054 -0.007141 +vn 0.045228 -0.998596 -0.026978 +vn 0.277139 -0.822138 0.497238 +vn 0.046724 -0.998108 -0.039247 +vn -0.012268 -0.996857 0.078127 +vn -0.069857 -0.987732 0.139561 +vn 0.109287 -0.993011 0.044435 +vn 0.009583 -0.999359 -0.034211 +vn -0.283456 -0.574053 0.768151 +vn -0.574114 -0.813044 0.096622 +vn -0.542833 -0.832423 -0.111332 +vn -0.530076 -0.795282 -0.294076 +vn -0.565935 -0.779809 -0.267525 +vn -0.703421 -0.710593 0.015442 +vn -0.437361 -0.897214 -0.060640 +vn 0.452559 -0.890347 -0.049440 +vn 0.076266 -0.987274 0.139439 +vn -0.396191 -0.917905 -0.021241 +vn 0.363842 -0.907529 -0.209723 +vn -0.646535 -0.594348 -0.478225 +vn -0.586901 -0.803308 -0.101138 +vn -0.053133 -0.998444 0.015961 +vn 0.016449 -0.998138 0.058473 +vn 0.044069 -0.997589 0.053194 +vn -0.006165 -0.998199 0.059511 +vn -0.406446 -0.765252 0.499130 +vn -0.015137 -0.995819 0.089785 +vn -0.073489 -0.989410 0.125126 +vn -0.074984 -0.983093 0.166967 +vn 0.016358 -0.998810 0.045564 +vn 0.371654 -0.799768 0.471389 +vn 0.391858 -0.763634 0.513077 +vn 0.430250 -0.728050 0.533647 +vn 0.068728 -0.967925 0.241523 +vn 0.023225 -0.996948 0.074282 +vn 0.304178 -0.923093 -0.235237 +vn 0.149327 -0.988708 0.009980 +vn -0.688833 -0.657613 0.305002 +vn -0.685934 -0.720054 0.104801 +vn -0.553453 -0.817743 -0.157994 +vn -0.352733 -0.932035 -0.082675 +vn -0.526292 -0.835109 -0.159856 +vn -0.322642 -0.942351 -0.088382 +vn -0.549425 -0.787103 -0.280313 +vn -0.298013 -0.948363 -0.108493 +vn -0.592608 -0.700705 -0.397259 +vn -0.358806 -0.903104 -0.235847 +vn -0.649373 -0.601520 -0.465194 +vn -0.444777 -0.836665 -0.319559 +vn -0.666463 -0.554125 -0.498703 +vn 0.200262 -0.979675 0.010437 +vn -0.583453 -0.739280 0.336192 +vn 0.078616 -0.996734 -0.016938 +vn 0.011963 -0.999786 -0.016236 +vn 0.043123 -0.998016 -0.045228 +vn 0.008301 -0.999878 0.012329 +vn 0.066897 -0.997711 0.006012 +vn -0.013489 -0.998901 -0.044191 +vn -0.032014 -0.999359 -0.014252 +vn 0.218207 -0.969359 -0.112552 +vn -0.025544 -0.997223 -0.069674 +vn 0.177007 -0.983703 -0.030549 +vn -0.097812 -0.990234 0.099216 +vn 0.065371 -0.995758 0.064272 +vn 0.030030 -0.995666 0.087771 +vn -0.592700 -0.803674 0.052858 +vn -0.526322 -0.831751 -0.176397 +vn -0.488540 -0.819941 -0.298318 +vn -0.511155 -0.826594 -0.235420 +vn -0.570299 -0.811090 -0.129917 +vn -0.642872 -0.764489 -0.047456 +vn -0.313578 -0.927152 -0.204962 +vn -0.000427 -0.999908 -0.011048 +vn 0.008881 -0.999725 -0.020905 +vn 0.021912 -0.806696 0.590533 +vn 0.034913 -0.997436 0.062227 +vn -0.633747 -0.773522 -0.003143 +vn -0.622272 -0.763359 -0.173254 +vn -0.086978 -0.993805 -0.068972 +vn 0.128361 -0.991638 0.013001 +vn 0.139164 -0.988800 0.053713 +vn -0.669851 -0.703818 0.236396 +vn 0.108066 -0.989807 0.092654 +vn 0.114689 -0.987854 0.104801 +vn 0.140782 -0.981292 0.131291 +vn -0.631764 -0.653951 0.416150 +vn 0.124027 -0.990081 0.065645 +vn 0.182897 -0.966277 0.181219 +vn 0.235908 -0.940519 0.244392 +vn 0.314798 -0.900815 0.299020 +vn 0.398236 -0.856044 0.329478 +vn 0.435194 -0.837825 0.329569 +vn 0.081423 -0.813654 0.575579 +vn 0.129246 -0.699667 0.702658 +vn -0.147832 -0.986908 0.064241 +vn -0.103793 -0.994568 -0.004913 +vn -0.021638 -0.995392 -0.093081 +vn -0.115848 -0.987213 -0.109256 +vn -0.157018 -0.978942 -0.130222 +vn -0.228492 -0.954497 -0.191534 +vn -0.311930 -0.928281 -0.202338 +vn -0.066713 -0.993378 -0.093326 +vn -0.059877 -0.995422 -0.074068 +vn -0.346263 -0.916868 -0.198553 +vn -0.590014 -0.646901 0.483077 +vn -0.377941 -0.908505 -0.178106 +vn 0.180151 -0.983520 -0.014649 +vn -0.120792 -0.987335 0.102542 +vn -0.348857 -0.866573 0.356853 +vn -0.119938 -0.976043 0.181494 +vn 0.479659 -0.830073 0.284402 +vn -0.395886 -0.823359 0.406568 +vn -0.520310 -0.704611 0.482437 +vn 0.516007 -0.837825 0.178198 +vn 0.046388 -0.995025 0.088107 +vn 0.059084 -0.990356 0.125187 +vn -0.563738 -0.824976 0.039644 +vn -0.465438 -0.863155 -0.195715 +vn -0.415571 -0.870693 -0.262978 +vn -0.439436 -0.877682 -0.191046 +vn -0.496231 -0.861660 -0.106204 +vn -0.576342 -0.816034 -0.043092 +vn -0.629597 -0.774041 0.066713 +vn -0.671102 -0.723808 0.160253 +vn -0.709677 -0.650899 0.269539 +vn -0.738517 -0.574541 0.352702 +vn 0.008698 -0.999725 -0.020722 +vn 0.045045 -0.998627 -0.025849 +vn 0.008637 -0.999725 -0.020600 +vn 0.034608 -0.997497 0.061464 +vn 0.035401 -0.998657 0.037599 +vn -0.128025 -0.978515 0.161443 +vn 0.527757 -0.839839 0.126957 +vn 0.526139 -0.830988 0.180548 +vn -0.150822 -0.986816 -0.058473 +vn -0.004761 -0.998840 0.047639 +vn -0.004456 -0.999786 -0.019135 +vn 0.553117 -0.820795 0.142582 +vn 0.535539 -0.831874 0.145482 +vn 0.476058 -0.860591 0.180914 +vn -0.395062 -0.773705 0.495224 +vn 0.451918 -0.857356 0.246254 +vn -0.345714 -0.897916 -0.272347 +vn -0.473769 -0.812037 -0.340709 +vn 0.151158 -0.309153 0.938902 +vn -0.479354 -0.646107 0.593890 +vn -0.049593 -0.977325 0.205756 +vn -0.341441 -0.929868 -0.136753 +vn -0.283303 -0.954314 -0.094760 +vn -0.313364 -0.545427 0.777337 +vn -0.295541 -0.540391 0.787774 +vn 0.021729 -0.999329 -0.029145 +vn -0.200171 -0.539445 0.817866 +vn 0.041261 -0.999054 -0.013337 +vn 0.032441 -0.999298 0.018097 +vn -0.062441 -0.991333 0.115482 +vn -0.176550 -0.922880 0.342143 +vn -0.172765 -0.917753 0.357524 +vn -0.237587 -0.707785 0.665212 +vn -0.246559 -0.725547 0.642445 +vn 0.004364 -0.984008 0.178045 +vn -0.137059 -0.990356 -0.019410 +vn -0.023408 -0.999390 -0.024842 +vn 0.009430 -0.999237 0.037416 +vn 0.067568 -0.997314 -0.027528 +vn 0.034272 -0.999390 -0.000061 +vn -0.385479 -0.805658 0.449721 +vn 0.070620 -0.995727 -0.059297 +vn 0.055971 -0.997101 -0.051057 +vn -0.003723 -0.996429 0.084017 +vn 0.034364 -0.997406 0.063051 +vn 0.156072 -0.732688 0.662374 +vn -0.289956 -0.907346 0.304361 +vn 0.463088 -0.802789 0.375530 +vn 0.484115 -0.685110 0.544237 +vn 0.045961 -0.998871 -0.009919 +vn -0.086215 -0.991150 -0.100803 +vn -0.511582 -0.858455 0.036256 +vn -0.408490 -0.895932 -0.174322 +vn -0.366039 -0.899991 -0.236641 +vn -0.376965 -0.912900 -0.156468 +vn -0.443678 -0.888485 -0.116916 +vn -0.500351 -0.865810 0.000427 +vn -0.536424 -0.835414 0.119388 +vn -0.616565 -0.768731 0.169897 +vn -0.663930 -0.685690 0.298257 +vn -0.693991 -0.610279 0.381909 +vn 0.043977 -0.997772 0.049593 +vn -0.004181 -0.996429 0.084262 +vn 0.494095 -0.413373 0.764824 +vn 0.061769 -0.993866 -0.091586 +vn 0.448042 -0.712394 0.540086 +vn -0.147435 -0.971587 0.185064 +vn -0.289346 -0.908414 0.301737 +vn -0.470656 -0.760186 0.447859 +vn -0.497543 -0.651967 0.572100 +vn -0.342174 -0.792871 0.504196 +vn -0.556871 -0.820185 0.130833 +vn -0.123753 -0.661122 0.739982 +vn -0.101718 -0.820338 0.562700 +vn -0.107730 -0.907559 0.405805 +vn -0.032075 -0.901547 0.431410 +vn 0.032350 -0.999298 0.018006 +vn 0.036470 -0.999298 -0.004761 +vn -0.018677 -0.999603 -0.020753 +vn 0.032563 -0.998566 0.042024 +vn 0.038148 -0.998505 0.038820 +vn 0.038972 -0.999207 -0.007324 +vn 0.048555 -0.998169 -0.035859 +vn 0.040651 -0.998810 -0.026673 +vn 0.008484 -0.999481 -0.030183 +vn 0.014222 -0.999664 -0.021119 +vn 0.000885 -0.999756 -0.021729 +vn 0.014374 -0.998474 -0.052797 +vn 0.019410 -0.998840 -0.043977 +vn -0.023591 -0.999390 -0.024934 +vn -0.024659 -0.999359 -0.025086 +vn -0.033631 -0.999298 -0.014832 +vn -0.044771 -0.998993 -0.002411 +vn -0.005707 -0.999878 0.012299 +vn 0.050539 -0.998688 0.004456 +vn 0.009033 -0.999481 -0.030549 +vn -0.540452 -0.612690 0.576586 +vn -0.010407 -0.997314 0.072451 +vn -0.100589 -0.988891 -0.109195 +vn -0.027284 -0.999603 -0.003937 +vn 0.037141 -0.999298 0.003235 +vn -0.465194 -0.884915 0.021699 +vn -0.375683 -0.912107 -0.164037 +vn -0.335368 -0.919309 -0.205786 +vn -0.343242 -0.927671 -0.146886 +vn -0.396954 -0.912259 -0.100742 +vn -0.435408 -0.898526 0.054903 +vn -0.502976 -0.859615 0.089846 +vn -0.557451 -0.806482 0.196966 +vn -0.596362 -0.725333 0.343822 +vn -0.620716 -0.661184 0.421339 +vn -0.638081 -0.758934 0.129765 +vn -0.603412 -0.794549 0.067110 +vn -0.107669 -0.830470 0.546525 +vn -0.096896 -0.815699 0.570269 +vn -0.111728 -0.526536 0.842769 +vn 0.060091 -0.996826 0.052004 +vn 0.024415 -0.996887 0.074557 +vn 0.010285 -0.999756 -0.018921 +vn 0.049684 -0.997986 0.038881 +vn -0.009552 -0.999359 0.034455 +vn 0.327555 -0.888485 0.321360 +vn 0.089206 -0.928007 0.361675 +vn 0.435011 -0.896237 0.086642 +vn 0.092837 -0.992950 -0.073458 +vn 0.040559 -0.996429 0.073702 +vn 0.024354 -0.996887 0.074618 +vn 0.034516 -0.997497 0.061464 +vn 0.028016 -0.998260 0.051363 +vn 0.030183 -0.997528 0.063417 +vn 0.011231 -0.998810 0.047182 +vn -0.049837 -0.846919 0.529344 +vn 0.009766 -0.982025 0.188452 +vn 0.036866 -0.997101 0.066378 +vn 0.017457 -0.998047 0.059816 +vn 0.012940 -0.999725 -0.018494 +vn -0.037782 -0.903439 0.426984 +vn -0.093722 -0.654469 0.750206 +vn -0.087832 -0.513474 0.853572 +vn -0.142399 -0.604297 0.783898 +vn 0.047639 -0.998566 -0.023530 +vn 0.034516 -0.999115 -0.023682 +vn 0.267220 -0.905057 0.330760 +vn 0.356609 -0.899045 0.253975 +vn 0.304300 -0.912046 0.274850 +vn -0.001831 -0.999329 0.036042 +vn -0.015656 -0.999847 0.005158 +vn -0.022950 -0.999390 0.026032 +vn 0.028260 -0.997131 0.070070 +vn -0.013611 -0.990417 0.137394 +vn 0.013215 -0.999847 -0.010102 +vn 0.055727 -0.995483 0.076479 +vn 0.395550 -0.898068 0.192328 +vn -0.178289 -0.983825 -0.017182 +vn 0.379650 -0.893338 0.240364 +vn 0.356456 -0.899014 0.254341 +vn -0.533891 -0.817225 0.216987 +vn -0.363933 -0.916807 -0.164190 +vn -0.295511 -0.941496 -0.161962 +vn -0.321635 -0.933561 -0.158025 +vn -0.339732 -0.939055 -0.052095 +vn -0.391369 -0.918912 0.048982 +vn -0.414899 -0.900174 0.132267 +vn -0.423658 -0.859554 0.285714 +vn -0.510910 -0.773705 0.374554 +vn -0.548357 -0.701529 0.455061 +vn -0.581408 -0.611957 0.536088 +vn -0.179876 -0.738273 0.650044 +vn -0.109500 -0.927580 0.357158 +vn -0.129734 -0.739341 0.660695 +vn 0.008332 -0.999725 -0.021790 +vn 0.013123 -0.998596 0.050874 +vn 0.010987 -0.998810 0.046937 +vn 0.015412 -0.999603 0.022431 +vn 0.040803 -0.996460 0.073397 +vn 0.043092 -0.998688 0.026948 +vn 0.031190 -0.988433 0.148259 +vn -0.641255 -0.765801 -0.047975 +vn 0.038209 -0.999115 0.016022 +vn 0.045045 -0.998627 -0.026429 +vn -0.122593 -0.980224 0.155187 +vn 0.003784 -0.989807 0.142155 +vn 0.032594 -0.999084 0.026704 +vn 0.004883 -0.999359 0.035157 +vn 0.042177 -0.998993 0.014679 +vn 0.042238 -0.998993 0.014618 +vn -0.049654 -0.995239 0.083834 +vn -0.054750 -0.995727 0.074007 +vn -0.119358 -0.920072 0.373058 +vn 0.013367 -0.999847 -0.010285 +vn 0.379131 -0.877926 0.292367 +vn -0.073946 -0.904935 0.419050 +vn 0.000763 -0.998627 0.052065 +vn -0.049196 -0.907071 0.418073 +vn -0.014100 -0.996063 0.087191 +vn 0.041963 -0.998352 -0.038789 +vn 0.041871 -0.998993 0.015381 +vn 0.022187 -0.999542 -0.020142 +vn -0.024934 -0.999359 -0.024659 +vn 0.009491 -0.999725 -0.020905 +vn 0.022645 -0.999512 -0.020325 +vn 0.003540 -0.999481 -0.031220 +vn 0.048219 -0.986267 0.157903 +vn 0.047395 -0.993896 0.099338 +vn 0.040254 -0.999023 -0.017731 +vn 0.025483 -0.998779 -0.041810 +vn 0.027161 -0.995880 0.086459 +vn -0.003845 -0.996429 0.084201 +vn 0.377728 -0.904996 0.195654 +vn -0.379650 -0.913755 -0.144566 +vn -0.296213 -0.943541 -0.148045 +vn -0.293893 -0.946623 -0.132328 +vn -0.327280 -0.944029 -0.040986 +vn -0.316294 -0.942015 0.112003 +vn -0.328929 -0.924833 0.190954 +vn -0.372662 -0.886532 0.274148 +vn -0.461440 -0.809595 0.362774 +vn -0.513718 -0.717948 0.469649 +vn -0.516037 -0.643788 0.564989 +vn 0.008789 -0.999847 0.013367 +vn -0.135350 -0.513016 0.847621 +vn 0.120365 -0.964690 0.234138 +vn 0.004303 -0.996155 0.087191 +vn -0.030580 -0.900754 0.433210 +vn 0.013855 -0.769463 0.638508 +vn 0.038148 -0.998505 0.038606 +vn 0.035157 -0.998657 0.037294 +vn 0.008850 -0.999939 0.002472 +vn 0.010010 -0.999390 -0.032563 +vn 0.172796 -0.833979 0.524003 +vn -0.220130 -0.879513 0.421857 +vn 0.111637 -0.691092 0.714042 +vn 0.068239 -0.345927 0.935759 +vn 0.102969 -0.898282 0.427137 +vn -0.421155 -0.776879 0.468001 +vn -0.112491 -0.984222 -0.136387 +vn -0.182714 -0.971404 -0.151433 +vn 0.087924 -0.918790 0.384808 +vn 0.030763 -0.961943 0.271401 +vn -0.030122 -0.999512 0.003204 +vn 0.008515 -0.999756 -0.019623 +vn -0.747765 -0.615619 0.248634 +vn 0.034120 -0.999359 -0.010529 +vn 0.002655 -0.999969 0.002808 +vn 0.058046 -0.997070 -0.049623 +vn 0.018647 -0.998871 -0.043367 +vn 0.046113 -0.998749 -0.018586 +vn 0.010285 -0.999390 -0.033113 +vn 0.045747 -0.998779 -0.017640 +vn 0.032685 -0.999115 0.026429 +vn 0.045412 -0.998932 0.006928 +vn 0.049745 -0.998596 -0.017029 +vn -0.000427 -0.999725 0.023072 +vn -0.030854 -0.999390 -0.016114 +vn 0.000824 -0.999359 -0.035524 +vn -0.566729 -0.823145 0.034761 +vn -0.381359 -0.920896 -0.080599 +vn -0.296823 -0.945647 -0.132725 +vn -0.236824 -0.968047 -0.082125 +vn -0.257668 -0.966124 0.013916 +vn -0.282632 -0.946043 0.158269 +vn -0.327677 -0.928861 0.172674 +vn -0.365642 -0.894253 0.258003 +vn -0.403302 -0.835292 0.373638 +vn -0.474380 -0.740989 0.475204 +vn -0.510636 -0.629505 0.585620 +vn 0.468612 -0.883358 0.005554 +vn 0.362102 -0.906095 0.218665 +vn -0.038087 -0.998932 -0.025605 +vn -0.004547 -0.999908 0.011414 +vn -0.146764 -0.989166 -0.001892 +vn 0.279397 -0.905454 -0.319468 +vn 0.045503 -0.998657 -0.024445 +vn 0.002716 -0.999603 -0.027253 +vn 0.005707 -0.999054 -0.042817 +vn -0.232582 -0.972259 0.024140 +vn -0.100314 -0.994934 -0.004547 +vn 0.035279 -0.998993 -0.027497 +vn 0.030152 -0.999420 -0.014557 +vn 0.022004 -0.999329 -0.028687 +vn 0.003571 -0.998169 0.060091 +vn -0.346782 -0.486221 0.802026 +vn 0.000671 -0.999756 -0.021455 +vn 0.043916 -0.997803 0.049287 +vn 0.044252 -0.998901 -0.014801 +vn 0.036348 -0.998962 -0.026368 +vn -0.089724 -0.843349 0.529771 +vn -0.054323 -0.829279 0.556139 +vn -0.525956 -0.455855 0.718009 +vn -0.576647 -0.308420 0.756493 +vn -0.467910 -0.728355 0.500473 +vn -0.309519 -0.828669 0.466292 +vn 0.046083 -0.997925 0.044618 +vn -0.014466 -0.998260 0.056612 +vn -0.018769 -0.998260 0.055452 +vn -0.000092 -0.999908 -0.011231 +vn 0.014069 -0.999695 -0.019318 +vn -0.004486 -0.998871 0.046724 +vn 0.038301 -0.998535 0.038057 +vn -0.012665 -0.999786 0.014496 +vn -0.005737 -0.998840 0.047365 +vn 0.050020 -0.992065 0.115146 +vn -0.591357 -0.794794 0.136296 +vn -0.405499 -0.913266 -0.037935 +vn -0.283731 -0.956328 -0.069979 +vn -0.206458 -0.978149 -0.023347 +vn -0.152867 -0.986877 0.051912 +vn -0.248726 -0.956938 0.149510 +vn -0.232917 -0.950591 0.205206 +vn -0.278695 -0.917203 0.284646 +vn -0.336711 -0.855708 0.392834 +vn -0.372723 -0.786645 0.492172 +vn -0.407239 -0.662465 0.628681 +vn -0.451247 -0.562700 0.692618 +vn -0.420331 -0.507340 0.752251 +vn 0.024415 -0.996918 0.074129 +vn -0.020478 -0.999359 -0.029328 +vn -0.092196 -0.657491 0.747765 +vn 0.309366 -0.922330 -0.231452 +vn 0.278298 -0.948210 -0.153020 +vn 0.158940 -0.985473 -0.059450 +vn 0.005036 -0.999969 0.000153 +vn -0.004761 -0.999908 0.011811 +vn -0.102512 -0.848415 0.519272 +vn -0.097293 -0.850551 0.516770 +vn -0.002869 -0.999329 0.036287 +vn -0.102786 -0.595141 0.796991 +vn -0.154515 -0.509049 0.846706 +vn -0.709342 -0.680837 0.182348 +vn 0.013215 -0.999847 -0.010437 +vn -0.031312 -0.999329 0.017762 +vn -0.062960 -0.836451 0.544389 +vn -0.030366 -0.979980 0.196692 +vn 0.031587 -0.997955 0.055177 +vn 0.071749 -0.994568 0.075320 +vn 0.032716 -0.999115 0.026307 +vn -0.011017 -0.996704 0.080233 +vn 0.015137 -0.999237 -0.035493 +vn 0.077029 -0.996704 -0.024232 +vn -0.774957 -0.457228 0.436262 +vn -0.380352 -0.422101 0.822871 +vn -0.622913 -0.758324 0.191992 +vn -0.453017 -0.891415 0.011048 +vn -0.389935 -0.917753 -0.075014 +vn -0.292703 -0.956145 0.008881 +vn -0.196661 -0.978545 0.061342 +vn -0.216376 -0.965606 0.144078 +vn -0.246467 -0.944609 0.216590 +vn -0.242042 -0.922971 0.299142 +vn -0.232612 -0.883633 0.406262 +vn -0.284707 -0.789727 0.543321 +vn -0.305094 -0.695181 0.650838 +vn -0.349071 -0.587329 0.730186 +vn -0.289682 -0.463301 0.837489 +vn 0.393872 -0.903043 0.171331 +vn 0.035707 -0.998657 -0.036836 +vn 0.053865 -0.998199 -0.025697 +vn 0.048433 -0.998169 -0.035646 +vn 0.036531 -0.999298 -0.003113 +vn 0.033235 -0.999420 -0.004975 +vn 0.068972 -0.997406 -0.020478 +vn 0.040193 -0.999023 -0.017701 +vn 0.122196 -0.992492 0.004517 +vn 0.145817 -0.987213 0.063936 +vn 0.164739 -0.979064 0.119297 +vn 0.014985 -0.999451 -0.029267 +vn 0.053346 -0.997436 -0.047212 +vn 0.038759 -0.998810 -0.029084 +vn 0.061495 -0.994110 0.089084 +vn -0.009522 -0.993622 0.112125 +vn 0.040773 -0.996460 0.073397 +vn -0.084506 -0.993683 -0.073763 +vn 0.296670 -0.694082 0.655873 +vn 0.013398 -0.998932 -0.044008 +vn -0.015900 -0.918943 0.393994 +vn -0.135746 -0.648549 0.748924 +vn -0.698508 -0.713248 -0.057588 +vn -0.674032 -0.731864 -0.100070 +vn 0.037385 -0.999207 -0.013642 +vn 0.010498 -0.999359 -0.033326 +vn 0.068758 -0.996796 0.040498 +vn 0.362590 -0.920896 0.143071 +vn -0.133396 -0.986847 0.091067 +vn 0.041810 -0.976623 0.210791 +vn -0.115787 -0.493454 0.861995 +vn -0.211951 -0.528977 0.821711 +vn -0.658376 -0.716269 0.231269 +vn -0.534898 -0.844874 -0.007447 +vn -0.448225 -0.893704 -0.018586 +vn -0.340800 -0.937132 0.074801 +vn -0.262093 -0.959685 0.101321 +vn -0.214515 -0.966216 0.142766 +vn -0.226905 -0.949492 0.216559 +vn -0.267922 -0.901395 0.340068 +vn -0.201209 -0.867855 0.454207 +vn -0.171026 -0.808374 0.563250 +vn -0.194647 -0.713767 0.672750 +vn -0.201788 -0.582842 0.787103 +vn -0.225043 -0.455153 0.861476 +vn -0.357463 -0.931547 0.066561 +vn -0.072390 -0.987487 0.140049 +vn 0.035432 -0.990448 0.133061 +vn 0.204047 -0.966613 0.154942 +vn 0.231849 -0.956145 0.178838 +vn 0.228187 -0.945372 0.232765 +vn 0.020020 -0.994751 0.100162 +vn -0.767296 -0.562670 0.307566 +vn -0.588366 -0.802667 -0.097415 +vn -0.589099 -0.799005 -0.120457 +vn -0.627827 -0.776147 -0.058168 +vn -0.668264 -0.743767 0.013581 +vn 0.020600 -0.999725 0.009217 +vn -0.124393 -0.976684 0.174841 +vn -0.763573 -0.602313 0.232643 +vn -0.819971 -0.541459 0.185492 +vn 0.035463 -0.998657 0.037263 +vn 0.050569 -0.998688 0.005676 +vn 0.047731 -0.998505 0.025971 +vn -0.110202 -0.614887 0.780847 +vn -0.138188 -0.636647 0.758629 +vn -0.147282 -0.625477 0.766167 +vn -0.047029 -0.997436 0.053438 +vn -0.026063 -0.993286 0.112552 +vn -0.016327 -0.998199 -0.057619 +vn 0.007935 -0.999542 -0.028993 +vn -0.493484 -0.867824 0.057405 +vn -0.345836 -0.928800 0.132939 +vn -0.339763 -0.934446 0.106510 +vn -0.267464 -0.952635 0.144597 +vn -0.224952 -0.958495 0.174993 +vn -0.201422 -0.950285 0.237403 +vn -0.228095 -0.905850 0.356853 +vn -0.250954 -0.832423 0.494003 +vn -0.125431 -0.767449 0.628681 +vn -0.041108 -0.692129 0.720573 +vn -0.054689 -0.595172 0.801721 +vn -0.109775 -0.477493 0.871731 +vn 0.261605 -0.919309 0.293954 +vn 0.299173 -0.891537 0.339976 +vn 0.321085 -0.874203 0.364177 +vn 0.037843 -0.999115 -0.017029 +vn -0.023225 -0.999420 -0.024781 +vn -0.000336 -0.998199 0.059755 +vn -0.695151 -0.693014 0.190924 +vn -0.752434 -0.603626 0.263497 +vn -0.604633 -0.790246 -0.099399 +vn -0.585253 -0.810694 -0.014588 +vn -0.775994 -0.610950 0.156713 +vn -0.787225 -0.565477 0.245857 +vn -0.778436 -0.553423 0.296121 +vn -0.584704 -0.471236 0.660329 +vn -0.745170 -0.662252 -0.078249 +vn -0.390728 -0.880551 0.268166 +vn -0.247963 -0.951781 0.180456 +vn -0.259774 -0.953337 0.153752 +vn -0.240516 -0.951384 0.192297 +vn -0.240761 -0.951384 0.192022 +vn -0.237281 -0.941221 0.240272 +vn -0.242256 -0.902097 0.357006 +vn -0.250130 -0.797479 0.549028 +vn -0.150304 -0.684103 0.713706 +vn 0.039766 -0.624805 0.779717 +vn 0.099094 -0.581957 0.807123 +vn 0.370830 -0.910062 0.185003 +vn 0.030519 -0.997497 0.063265 +vn -0.327464 -0.731773 0.597674 +vn 0.353404 -0.868831 0.346690 +vn 0.376965 -0.870693 0.315806 +vn 0.431898 -0.865108 0.254982 +vn 0.551408 -0.818567 0.160863 +vn -0.644429 -0.741386 -0.187109 +vn -0.584063 -0.811609 0.010895 +vn -0.532975 -0.844874 0.045839 +vn -0.540880 -0.834742 0.103061 +vn -0.588366 -0.797327 0.134281 +vn -0.644124 -0.740654 0.190954 +vn -0.707144 -0.657643 0.259651 +vn -0.799463 -0.581347 0.151250 +vn -0.805383 -0.535752 0.253578 +vn -0.791467 -0.523331 0.315683 +vn -0.743187 -0.612537 0.269143 +vn -0.706809 -0.660787 0.252541 +vn 0.037294 -0.999115 -0.018891 +vn -0.030000 -0.993774 0.107150 +vn -0.085421 -0.991211 0.100894 +vn -0.388714 -0.835749 0.387738 +vn -0.217719 -0.948119 0.231544 +vn -0.186956 -0.964782 0.184881 +vn -0.219794 -0.957213 0.188208 +vn -0.222083 -0.957823 0.182226 +vn -0.267159 -0.929594 0.253883 +vn -0.251717 -0.892758 0.373608 +vn -0.283456 -0.761895 0.582324 +vn -0.226325 -0.576189 0.785302 +vn -0.017243 -0.523057 0.852077 +vn 0.083987 -0.873775 0.478957 +vn 0.061251 -0.994140 0.088839 +vn 0.578631 -0.792199 0.193762 +vn 0.039735 -0.980499 0.192328 +vn 0.003998 -0.998718 0.050295 +vn -0.657125 -0.732902 -0.176061 +vn -0.733970 -0.319834 0.599109 +vn -0.717643 -0.694754 0.047761 +vn -0.633168 -0.771111 0.066897 +vn -0.585681 -0.809473 0.040986 +vn -0.558641 -0.823908 0.095035 +vn -0.573473 -0.810266 0.120701 +vn -0.593432 -0.776940 0.210211 +vn -0.646962 -0.713981 0.267647 +vn -0.710196 -0.636647 0.300455 +vn -0.776513 -0.555559 0.297250 +vn -0.799829 -0.569506 0.189428 +vn -0.788873 -0.583514 0.192633 +vn -0.791559 -0.536088 0.293252 +vn -0.795434 -0.500381 0.341807 +vn -0.756401 -0.582080 0.298288 +vn -0.698233 -0.650868 0.297922 +vn -0.661885 -0.648000 0.376782 +vn -0.000427 -0.999725 0.023103 +vn 0.043184 -0.998962 -0.012146 +vn 0.021729 -0.998047 -0.058321 +vn 0.018311 -0.999817 0.000519 +vn 0.001679 -0.998779 0.048982 +vn 0.085025 -0.995453 0.042573 +vn -0.727561 -0.253365 0.637501 +vn -0.310099 -0.950682 -0.005554 +vn -0.520432 -0.725181 0.450758 +vn -0.228065 -0.915281 0.332011 +vn -0.120365 -0.975860 0.182134 +vn -0.179724 -0.964690 0.192419 +vn -0.188574 -0.962249 0.196234 +vn -0.220527 -0.936644 0.272103 +vn -0.232490 -0.885098 0.403150 +vn -0.249123 -0.752007 0.610218 +vn -0.294839 -0.511856 0.806848 +vn -0.353618 -0.507065 0.786004 +vn -0.434828 -0.628681 0.644704 +vn 0.049898 -0.996826 0.061953 +vn -0.550615 -0.768181 -0.326640 +vn -0.614307 -0.723960 -0.313761 +vn 0.014496 -0.998901 -0.043977 +vn 0.551134 -0.586413 0.593554 +vn -0.114933 -0.648091 0.752831 +vn -0.052492 -0.994201 -0.093661 +vn -0.609363 -0.753685 -0.246071 +vn -0.654561 -0.735435 -0.174993 +vn -0.707755 -0.705832 0.028626 +vn -0.738945 -0.671133 0.059145 +vn -0.735099 -0.672658 0.084292 +vn -0.721610 -0.691885 0.023164 +vn -0.683676 -0.728202 0.047243 +vn -0.619373 -0.777703 0.107212 +vn -0.560106 -0.811121 0.168310 +vn -0.560900 -0.798608 0.218055 +vn -0.608203 -0.755943 0.242073 +vn -0.677602 -0.681143 0.277230 +vn -0.742485 -0.618397 0.257393 +vn -0.761620 -0.612018 0.212836 +vn -0.759911 -0.603229 0.242134 +vn -0.775475 -0.552049 0.306345 +vn -0.793664 -0.499802 0.346782 +vn -0.770440 -0.535844 0.345347 +vn -0.688437 -0.619434 0.377270 +vn -0.630634 -0.650777 0.422803 +vn -0.624531 -0.630238 0.461226 +vn -0.253578 -0.966124 -0.047365 +vn 0.041810 -0.998993 0.014954 +vn 0.009278 -0.999878 0.011841 +vn 0.058412 -0.996857 0.053468 +vn 0.028901 -0.998321 0.050111 +vn 0.047487 -0.998505 0.026521 +vn 0.035127 -0.998627 0.038148 +vn -0.010498 -0.999298 0.035768 +vn -0.048799 -0.993011 0.107395 +vn -0.538163 -0.583544 0.608112 +vn -0.218329 -0.849055 0.481002 +vn -0.043703 -0.972533 0.228492 +vn -0.037446 -0.979614 0.197272 +vn -0.120334 -0.971099 0.206061 +vn -0.158452 -0.942686 0.293558 +vn -0.181768 -0.876370 0.445936 +vn -0.189856 -0.751701 0.631550 +vn -0.283731 -0.584399 0.760216 +vn -0.518754 -0.546648 0.657277 +vn -0.597949 -0.609027 0.521043 +vn 0.019440 -0.999023 0.039552 +vn 0.007538 -0.980468 0.196387 +vn 0.031800 -0.997620 0.061037 +vn -0.071627 -0.992370 -0.100162 +vn -0.606555 -0.763176 -0.222755 +vn -0.644246 -0.737480 -0.202521 +vn -0.675161 -0.723411 -0.144200 +vn -0.710501 -0.701712 -0.052431 +vn -0.711173 -0.700919 0.053835 +vn -0.672201 -0.727256 0.138524 +vn -0.676107 -0.731925 0.084445 +vn -0.717734 -0.696188 0.011567 +vn -0.740562 -0.667348 0.078402 +vn -0.688833 -0.707205 0.159185 +vn -0.619556 -0.764550 0.177648 +vn -0.600238 -0.777062 0.189398 +vn -0.600971 -0.767235 0.223884 +vn -0.647237 -0.724540 0.236824 +vn -0.705496 -0.668142 0.236305 +vn -0.726524 -0.644063 0.239387 +vn -0.735771 -0.623737 0.263741 +vn -0.762505 -0.572222 0.301828 +vn -0.787469 -0.508072 0.348888 +vn -0.783959 -0.491348 0.379376 +vn -0.737266 -0.537767 0.408856 +vn -0.661275 -0.604389 0.444288 +vn -0.606861 -0.623249 0.493210 +vn -0.596088 -0.595691 0.538316 +vn 0.014618 -0.999786 0.014313 +vn 0.062655 -0.997589 0.029054 +vn 0.159185 -0.987121 0.014344 +vn 0.185278 -0.982391 -0.023408 +vn 0.171911 -0.984100 -0.044221 +vn -0.380261 -0.473037 0.794733 +vn -0.115390 -0.778649 0.616718 +vn 0.032105 -0.960631 0.275857 +vn 0.027100 -0.977477 0.209174 +vn 0.022736 -0.974517 0.223029 +vn -0.014588 -0.943083 0.332224 +vn -0.073519 -0.870388 0.486801 +vn -0.109684 -0.752342 0.649525 +vn -0.185736 -0.680563 0.708731 +vn -0.456160 -0.675039 0.579821 +vn -0.522019 -0.660726 0.539323 +vn -0.354991 -0.934812 0.008454 +vn -0.480605 -0.872158 0.091098 +vn -0.186621 -0.981109 -0.050478 +vn -0.496078 -0.825709 -0.268441 +vn -0.565264 -0.793756 -0.224525 +vn -0.611835 -0.767632 -0.190619 +vn -0.640004 -0.761406 -0.103061 +vn -0.676199 -0.736320 0.023347 +vn -0.689322 -0.706931 0.158177 +vn -0.636158 -0.747032 0.192846 +vn -0.651540 -0.758568 0.004151 +vn -0.727775 -0.684225 -0.046205 +vn -0.776238 -0.621204 0.107212 +vn -0.754295 -0.632160 0.177068 +vn -0.679312 -0.706473 0.198462 +vn -0.613269 -0.758843 0.219153 +vn -0.586810 -0.776482 0.229560 +vn -0.617115 -0.757653 0.212287 +vn -0.659444 -0.711722 0.241951 +vn -0.700552 -0.671682 0.240913 +vn -0.712516 -0.645955 0.273904 +vn -0.725394 -0.611621 0.315744 +vn -0.756920 -0.540300 0.367565 +vn -0.776482 -0.488784 0.397626 +vn -0.767754 -0.469436 0.436018 +vn -0.703299 -0.527940 0.475997 +vn -0.637593 -0.582995 0.503494 +vn -0.611805 -0.580157 0.537645 +vn -0.590716 -0.556810 0.583911 +vn 0.020875 -0.999573 -0.019257 +vn 0.006195 -0.999390 0.034150 +vn -0.584368 -0.749046 0.312082 +vn -0.533189 -0.647908 0.543931 +vn -0.591601 -0.635334 0.496292 +vn 0.049409 -0.998474 -0.023957 +vn 0.071871 -0.943632 0.323069 +vn 0.099826 -0.969481 0.223853 +vn 0.093539 -0.960295 0.262795 +vn 0.110111 -0.932279 0.344523 +vn 0.038087 -0.877499 0.477981 +vn -0.068606 -0.777886 0.624622 +vn -0.247017 -0.773339 0.583850 +vn -0.407514 -0.762230 0.502884 +vn -0.428968 -0.688559 0.584643 +vn 0.422559 -0.704550 0.570055 +vn -0.414136 -0.770867 0.483993 +vn -0.005737 -0.999725 0.021485 +vn -0.458022 -0.834834 -0.305307 +vn -0.455947 -0.852779 -0.254616 +vn -0.523759 -0.818140 -0.237220 +vn -0.585711 -0.794092 -0.162175 +vn -0.613514 -0.786706 -0.068087 +vn -0.633198 -0.769768 0.080294 +vn -0.704703 -0.690786 0.161657 +vn -0.721946 -0.687887 0.074648 +vn -0.710746 -0.690451 -0.134526 +vn -0.749992 -0.661122 -0.019318 +vn -0.777490 -0.606677 0.165593 +vn -0.770714 -0.595019 0.227882 +vn -0.707083 -0.655599 0.264870 +vn -0.632130 -0.731193 0.256386 +vn -0.599414 -0.771722 0.212378 +vn -0.606769 -0.770196 0.196448 +vn -0.632252 -0.740715 0.227058 +vn -0.658071 -0.706229 0.261055 +vn -0.659444 -0.677602 0.325480 +vn -0.663320 -0.654592 0.362560 +vn -0.694479 -0.605853 0.388073 +vn -0.729118 -0.536393 0.425001 +vn -0.746605 -0.472793 0.467940 +vn -0.737846 -0.458571 0.495224 +vn -0.686392 -0.517716 0.510666 +vn -0.633595 -0.545854 0.548204 +vn -0.604846 -0.511307 0.610462 +vn -0.210669 -0.944182 0.253212 +vn -0.028047 -0.996704 0.075961 +vn 0.147923 -0.932035 0.330729 +vn 0.176824 -0.950682 0.254738 +vn 0.165654 -0.949522 0.266274 +vn 0.106479 -0.927061 0.359386 +vn 0.097201 -0.898526 0.427992 +vn -0.089328 -0.854060 0.512375 +vn -0.269448 -0.830866 0.486831 +vn -0.310251 -0.796258 0.519272 +vn -0.344584 -0.718894 0.603626 +vn -0.381603 -0.586627 0.714286 +vn 0.043153 -0.998047 -0.045137 +vn -0.058321 -0.990417 -0.125126 +vn 0.007996 -0.999023 -0.043062 +vn -0.009980 -0.999939 -0.000092 +vn -0.381695 -0.899258 -0.213599 +vn -0.388409 -0.879849 -0.273751 +vn -0.449141 -0.847163 -0.283822 +vn -0.507767 -0.829981 -0.230750 +vn -0.522507 -0.847072 -0.097110 +vn -0.589129 -0.807337 -0.033143 +vn -0.636738 -0.767846 0.070437 +vn -0.721976 -0.689627 0.055849 +vn -0.750389 -0.657460 -0.067690 +vn -0.702170 -0.705802 -0.093570 +vn -0.706931 -0.702048 0.085421 +vn -0.748833 -0.631367 0.201422 +vn -0.750938 -0.590320 0.295877 +vn -0.716910 -0.625050 0.308725 +vn -0.655690 -0.701834 0.278298 +vn -0.609882 -0.763909 0.210791 +vn -0.584185 -0.781549 0.218757 +vn -0.599872 -0.763054 0.240577 +vn -0.615619 -0.728172 0.301218 +vn -0.625416 -0.696554 0.351543 +vn -0.643696 -0.676229 0.358196 +vn -0.663106 -0.634022 0.397839 +vn -0.683462 -0.577563 0.446364 +vn -0.713187 -0.506974 0.484024 +vn -0.734336 -0.451277 0.506974 +vn -0.716117 -0.455641 0.528703 +vn -0.653249 -0.497818 0.570421 +vn 0.068361 -0.997620 0.007813 +vn -0.354869 -0.852718 0.383282 +vn -0.435286 -0.794916 0.422620 +vn 0.510361 -0.837581 0.194800 +vn 0.202338 -0.936277 0.287027 +vn 0.180761 -0.942320 0.281594 +vn 0.208625 -0.946226 0.247200 +vn 0.126560 -0.934935 0.331431 +vn 0.052034 -0.927396 0.370403 +vn -0.067385 -0.919584 0.387036 +vn -0.181860 -0.864162 0.469131 +vn -0.215400 -0.809168 0.546648 +vn -0.195013 -0.726981 0.658345 +vn -0.248299 -0.624500 0.740471 +vn 0.460097 -0.844630 0.273629 +vn -0.730338 -0.677969 0.083254 +vn 0.458693 -0.831751 0.312601 +vn 0.311045 -0.923093 -0.226020 +vn -0.323344 -0.939817 -0.110263 +vn -0.378033 -0.883602 -0.276193 +vn -0.387982 -0.872555 -0.296762 +vn -0.403455 -0.874233 -0.269997 +vn -0.396588 -0.907132 -0.140629 +vn -0.414136 -0.908353 -0.057619 +vn -0.521348 -0.852840 -0.028169 +vn -0.630940 -0.775780 0.005860 +vn -0.662160 -0.748772 0.028413 +vn -0.648152 -0.761467 -0.004700 +vn -0.611225 -0.790307 0.041871 +vn -0.628712 -0.762566 0.152318 +vn -0.665914 -0.693136 0.275826 +vn -0.694601 -0.622150 0.361126 +vn -0.691610 -0.623829 0.363964 +vn -0.648000 -0.695090 0.311258 +vn -0.592914 -0.765374 0.250252 +vn -0.544450 -0.800043 0.251930 +vn -0.557360 -0.790063 0.255135 +vn -0.591235 -0.742363 0.315073 +vn -0.616077 -0.705985 0.349223 +vn -0.617725 -0.690329 0.376568 +vn -0.616565 -0.661885 0.426283 +vn -0.645283 -0.612507 0.456496 +vn -0.668142 -0.557207 0.492996 +vn -0.706259 -0.478378 0.521805 +vn -0.709922 -0.432112 0.556078 +vn 0.000214 -0.999695 0.024018 +vn 0.108707 -0.989837 -0.091556 +vn -0.076632 -0.992523 0.094913 +vn 0.325327 -0.929075 -0.175878 +vn 0.221137 -0.972015 -0.078982 +vn 0.179785 -0.983428 0.022523 +vn 0.206641 -0.938902 0.275155 +vn 0.181371 -0.951476 0.248543 +vn 0.170751 -0.948851 0.265481 +vn 0.064760 -0.947325 0.313547 +vn -0.007965 -0.933409 0.358684 +vn -0.046937 -0.869137 0.492294 +vn -0.058016 -0.793725 0.605487 +vn -0.083041 -0.736961 0.670797 +vn -0.140355 -0.652791 0.744407 +vn -0.518876 -0.699149 0.491836 +vn 0.183508 -0.976592 0.111942 +vn -0.390179 -0.843623 0.368786 +vn -0.375164 -0.920591 -0.108219 +vn -0.437727 -0.879269 -0.187780 +vn -0.398511 -0.916532 -0.033479 +vn -0.588244 -0.808618 0.005402 +vn 0.209296 -0.966857 0.146062 +vn -0.439650 -0.862697 -0.249794 +vn -0.437788 -0.841975 -0.315256 +vn -0.387066 -0.881649 -0.269906 +vn -0.286599 -0.945677 -0.153325 +vn -0.301584 -0.950255 -0.077517 +vn -0.387249 -0.916196 -0.102756 +vn -0.475265 -0.876980 -0.070437 +vn -0.568499 -0.822382 0.020569 +vn -0.575793 -0.812494 0.090915 +vn -0.542039 -0.835414 0.090609 +vn -0.543229 -0.834223 0.094577 +vn -0.577319 -0.793725 0.191504 +vn -0.611896 -0.728599 0.307749 +vn -0.638813 -0.664296 0.388012 +vn -0.655324 -0.644429 0.393963 +vn -0.639973 -0.691061 0.335887 +vn -0.587237 -0.751640 0.300241 +vn -0.527879 -0.801691 0.280343 +vn -0.520524 -0.812006 0.263924 +vn -0.552660 -0.768761 0.321787 +vn -0.580920 -0.726157 0.367656 +vn -0.575671 -0.701804 0.419568 +vn -0.582690 -0.686453 0.434980 +vn -0.617298 -0.635731 0.463424 +vn -0.635304 -0.586596 0.502243 +vn -0.663167 -0.521928 0.536424 +vn -0.681356 -0.448531 0.578356 +vn 0.047151 -0.998688 -0.018952 +vn 0.028748 -0.998321 0.050203 +vn 0.192633 -0.961852 0.194128 +vn 0.238441 -0.952147 0.191107 +vn 0.300241 -0.920499 0.250038 +vn 0.258614 -0.932066 0.253578 +vn 0.243599 -0.933958 0.261422 +vn 0.188635 -0.934660 0.301309 +vn 0.145543 -0.916868 0.371685 +vn 0.069002 -0.864101 0.498520 +vn -0.023011 -0.799493 0.600177 +vn -0.061892 -0.754357 0.653493 +vn -0.067202 -0.629048 0.774407 +vn 0.253243 -0.936918 0.240852 +vn -0.153264 -0.986145 -0.063356 +vn -0.176733 -0.979553 -0.096103 +vn -0.207251 -0.978057 -0.019745 +vn -0.214698 -0.976379 -0.023103 +vn -0.304697 -0.951598 0.039338 +vn -0.467666 -0.881008 0.070986 +vn 0.275185 -0.907224 0.318094 +vn 0.282876 -0.894986 0.344890 +vn 0.267006 -0.891018 0.367107 +vn -0.401624 -0.876003 -0.266915 +vn -0.328776 -0.915616 -0.231361 +vn -0.232948 -0.965453 -0.116611 +vn -0.252358 -0.957518 -0.139409 +vn -0.303751 -0.943297 -0.133793 +vn -0.346934 -0.930326 -0.118778 +vn -0.393872 -0.917447 -0.055971 +vn -0.487320 -0.871395 0.056063 +vn -0.525590 -0.840510 0.131321 +vn -0.519700 -0.848018 0.103427 +vn -0.500565 -0.856136 0.128117 +vn -0.521989 -0.821772 0.228431 +vn -0.555681 -0.755303 0.347362 +vn -0.581957 -0.696005 0.420545 +vn -0.608997 -0.678823 0.410260 +vn -0.602130 -0.705161 0.374340 +vn -0.577319 -0.743400 0.337687 +vn -0.535966 -0.791223 0.294351 +vn -0.515976 -0.813715 0.267525 +vn -0.528764 -0.782250 0.329325 +vn -0.553850 -0.737846 0.385662 +vn -0.560533 -0.708975 0.427900 +vn -0.565477 -0.696249 0.442061 +vn -0.562517 -0.677541 0.473769 +vn -0.605426 -0.611164 0.509751 +vn -0.625751 -0.551622 0.551439 +vn -0.640645 -0.484268 0.595813 +vn -0.006531 -0.999146 0.040132 +vn 0.281503 -0.890530 0.357280 +vn 0.328318 -0.888943 0.319285 +vn 0.361553 -0.901364 0.238289 +vn 0.333628 -0.905362 0.262581 +vn 0.322398 -0.907559 0.268929 +vn 0.293344 -0.911283 0.288919 +vn 0.253487 -0.899014 0.357036 +vn 0.191504 -0.871212 0.451979 +vn 0.073031 -0.819178 0.568834 +vn 0.007843 -0.742058 0.670247 +vn 0.359691 -0.875454 0.322733 +vn -0.060518 -0.996185 -0.062471 +vn -0.056612 -0.996429 -0.062166 +vn -0.067354 -0.996582 -0.047395 +vn -0.113926 -0.993469 -0.005188 +vn -0.101444 -0.994446 0.027985 +vn -0.113773 -0.992676 0.039949 +vn -0.272835 -0.960692 0.050691 +vn -0.343028 -0.934751 0.092288 +vn 0.515824 -0.813105 0.269723 +vn 0.607135 -0.753227 0.252937 +vn -0.290262 -0.923429 -0.250954 +vn -0.319987 -0.923460 -0.211676 +vn -0.310068 -0.936155 -0.165624 +vn -0.311655 -0.937407 -0.155248 +vn -0.340098 -0.918393 -0.202124 +vn -0.301889 -0.946837 -0.110965 +vn -0.325968 -0.937437 -0.122257 +vn -0.339457 -0.939848 -0.037477 +vn -0.397534 -0.913083 0.090609 +vn -0.492141 -0.862667 0.116459 +vn -0.484176 -0.862697 0.145940 +vn -0.429518 -0.881191 0.197424 +vn -0.471480 -0.846583 0.246834 +vn -0.492904 -0.781671 0.382061 +vn -0.548082 -0.730522 0.407270 +vn -0.590289 -0.696768 0.407422 +vn -0.578021 -0.714255 0.394574 +vn -0.554338 -0.749046 0.362743 +vn -0.536332 -0.788934 0.299844 +vn -0.503311 -0.813685 0.290750 +vn -0.481216 -0.798303 0.362041 +vn -0.511093 -0.759178 0.402997 +vn -0.521775 -0.723685 0.451643 +vn -0.531877 -0.705679 0.468062 +vn -0.532548 -0.689291 0.491134 +vn -0.543382 -0.652699 0.527909 +vn -0.568712 -0.589282 0.573809 +vn 0.419019 -0.871364 0.255135 +vn 0.388287 -0.880398 0.272256 +vn 0.224342 -0.815607 0.533311 +vn 0.147954 -0.736229 0.660298 +vn -0.083010 -0.993683 -0.075106 +vn -0.031648 -0.998352 -0.047304 +vn -0.031526 -0.998871 -0.034852 +vn -0.055330 -0.998383 0.011994 +vn -0.063814 -0.997040 0.042482 +vn -0.086673 -0.995880 0.025605 +vn -0.134312 -0.990326 0.033937 +vn -0.221473 -0.970672 0.093173 +vn 0.577136 -0.805872 0.132176 +vn -0.273446 -0.926450 -0.258553 +vn -0.324381 -0.921110 -0.215094 +vn -0.326670 -0.930143 -0.167486 +vn -0.355541 -0.912290 -0.203131 +vn -0.320139 -0.937284 -0.137822 +vn -0.306375 -0.944914 -0.114994 +vn -0.331980 -0.936277 -0.114719 +vn -0.339213 -0.940550 -0.015107 +vn -0.373791 -0.925626 0.058779 +vn -0.420850 -0.894986 0.147862 +vn -0.416974 -0.880398 0.225806 +vn -0.402539 -0.892911 0.201483 +vn -0.424421 -0.859798 0.283822 +vn -0.485397 -0.795953 0.361614 +vn -0.526811 -0.757958 0.384594 +vn -0.554674 -0.716178 0.423505 +vn -0.559252 -0.715629 0.418378 +vn -0.550066 -0.751305 0.364574 +vn -0.532670 -0.785882 0.314005 +vn -0.477126 -0.805170 0.352184 +vn -0.468642 -0.803491 0.367077 +vn -0.477828 -0.772271 0.418592 +vn -0.500717 -0.733726 0.459212 +vn -0.496872 -0.726951 0.473922 +vn -0.520859 -0.692007 0.499802 +vn -0.520249 -0.661306 0.540330 +vn -0.530381 -0.618885 0.579333 +vn -0.565020 -0.548479 0.616352 +vn -0.311563 -0.903439 0.294382 +vn 0.004517 -0.999969 0.000824 +vn 0.036744 -0.999146 -0.017731 +vn 0.001740 -0.999115 -0.041932 +vn -0.090396 -0.992828 -0.077975 +vn -0.339091 -0.721335 0.603839 +vn 0.487045 -0.801874 0.345988 +vn 0.004669 -0.999969 0.000549 +vn -0.118839 -0.991089 -0.059938 +vn -0.031159 -0.996551 -0.076540 +vn -0.066530 -0.997559 -0.019868 +vn 0.003021 -0.999451 -0.032441 +vn -0.038514 -0.999207 0.009430 +vn -0.053499 -0.998077 0.030549 +vn -0.086703 -0.995880 0.025819 +vn -0.062838 -0.997162 0.040864 +vn -0.111881 -0.989837 0.087558 +vn -0.189123 -0.967223 0.169317 +vn 0.461470 -0.774255 0.433027 +vn -0.223151 -0.942534 -0.248573 +vn -0.209784 -0.967498 -0.141148 +vn -0.242927 -0.956145 -0.163549 +vn -0.275277 -0.948088 -0.159001 +vn -0.270516 -0.957213 -0.102573 +vn -0.312235 -0.938597 -0.146611 +vn -0.318491 -0.943052 -0.095920 +vn -0.354564 -0.934904 -0.015320 +vn -0.356334 -0.930631 0.083163 +vn -0.342448 -0.916807 0.205359 +vn -0.389721 -0.893551 0.222785 +vn -0.338755 -0.904782 0.257973 +vn -0.331889 -0.900082 0.282266 +vn -0.473800 -0.815149 0.333171 +vn -0.473037 -0.776421 0.416364 +vn -0.494613 -0.750023 0.439039 +vn -0.541887 -0.737907 0.402234 +vn -0.552995 -0.752373 0.357891 +vn -0.508896 -0.777154 0.370128 +vn -0.472274 -0.800195 0.369610 +vn -0.479415 -0.798853 0.363262 +vn -0.468459 -0.773583 0.426679 +vn -0.487045 -0.739006 0.465407 +vn -0.500992 -0.722068 0.477065 +vn -0.495865 -0.704489 0.507706 +vn -0.504501 -0.666890 0.548357 +vn -0.520432 -0.622974 0.583941 +vn -0.516312 -0.579913 0.630146 +vn -0.533647 -0.492477 0.687490 +vn 0.046846 -0.997009 0.060976 +vn 0.038209 -0.997864 0.052644 +vn 0.003357 -0.999481 -0.031983 +vn -0.159337 -0.982330 -0.098025 +vn -0.125248 -0.991150 -0.043214 +vn -0.127110 -0.988525 -0.081545 +vn -0.069552 -0.995636 -0.062105 +vn -0.067598 -0.997528 -0.017487 +vn -0.033296 -0.999329 -0.014313 +vn -0.006714 -0.999969 0.000366 +vn -0.047975 -0.997986 0.040773 +vn -0.016694 -0.998840 0.044527 +vn -0.020783 -0.997559 0.066378 +vn -0.037263 -0.997009 0.067446 +vn -0.166723 -0.978088 0.124485 +vn 0.409040 -0.741172 0.532243 +vn -0.189489 -0.962096 -0.195959 +vn -0.184912 -0.973205 -0.136509 +vn -0.247047 -0.948302 -0.199072 +vn -0.276193 -0.949797 -0.146794 +vn -0.319407 -0.934874 -0.154698 +vn -0.355235 -0.919187 -0.169927 +vn -0.329264 -0.941527 -0.071352 +vn -0.288827 -0.956145 0.048219 +vn -0.289621 -0.946379 0.142888 +vn -0.314951 -0.926847 0.204230 +vn -0.324046 -0.903653 0.279946 +vn -0.340373 -0.896817 0.282540 +vn -0.303659 -0.913877 0.269448 +vn -0.324381 -0.881161 0.343913 +vn -0.451003 -0.784234 0.426038 +vn -0.439344 -0.780572 0.444594 +vn -0.472518 -0.781915 0.406537 +vn -0.500778 -0.769402 0.396466 +vn -0.476882 -0.772271 0.419630 +vn -0.480667 -0.801233 0.356273 +vn -0.460524 -0.794824 0.395123 +vn -0.459822 -0.774255 0.434797 +vn -0.461074 -0.756890 0.463118 +vn -0.482070 -0.728965 0.485977 +vn -0.463820 -0.707541 0.533097 +vn -0.477798 -0.678335 0.558153 +vn -0.483779 -0.634663 0.602588 +vn -0.471023 -0.585131 0.660054 +vn -0.453993 -0.514145 0.727653 +vn -0.433668 -0.442427 0.784967 +vn 0.040742 -0.996460 0.073153 +vn 0.000336 -0.982788 0.184729 +vn -0.035951 -0.981628 0.187262 +vn -0.043947 -0.997375 -0.057039 +vn -0.017182 -0.997864 -0.062685 +vn -0.033631 -0.999298 -0.015564 +vn -0.010041 -0.999939 0.001068 +vn -0.037812 -0.999237 0.007996 +vn 0.002228 -0.999969 0.005615 +vn -0.015473 -0.998993 0.041505 +vn -0.026673 -0.998047 0.056124 +vn -0.025666 -0.998108 0.055422 +vn -0.045198 -0.997711 0.049928 +vn -0.069613 -0.994476 0.078158 +vn -0.250435 -0.946684 0.202551 +vn -0.395276 -0.835383 0.381909 +vn 0.310343 -0.925199 -0.218268 +vn -0.250221 -0.965880 -0.066591 +vn -0.346843 -0.913968 -0.210517 +vn -0.273659 -0.940672 -0.200415 +vn -0.284921 -0.943449 -0.169408 +vn -0.308939 -0.934874 -0.174627 +vn -0.294412 -0.950621 -0.098025 +vn -0.262368 -0.964721 0.021455 +vn -0.279031 -0.957518 0.072542 +vn -0.300546 -0.943358 0.140477 +vn -0.288827 -0.929716 0.228339 +vn -0.308542 -0.913846 0.263955 +vn -0.365734 -0.899136 0.240272 +vn -0.367138 -0.875790 0.313303 +vn -0.283059 -0.898740 0.334788 +vn -0.378460 -0.827845 0.414014 +vn -0.417310 -0.790857 0.447584 +vn -0.439467 -0.807154 0.394116 +vn -0.439253 -0.788263 0.430860 +vn -0.463820 -0.789453 0.401990 +vn -0.475234 -0.799829 0.366527 +vn -0.456374 -0.786706 0.415662 +vn -0.469375 -0.770714 0.430830 +vn -0.465255 -0.751366 0.467910 +vn -0.442946 -0.726981 0.524644 +vn -0.433546 -0.718375 0.543992 +vn -0.419874 -0.689138 0.590533 +vn -0.421461 -0.648000 0.634388 +vn -0.431135 -0.576800 0.693808 +vn -0.373486 -0.502152 0.779931 +vn -0.361400 -0.458785 0.811701 +vn 0.053377 -0.997833 0.037660 +vn 0.331950 -0.927061 -0.174139 +vn 0.308878 -0.944548 -0.111209 +vn 0.202612 -0.636586 0.744072 +vn 0.224158 -0.973815 0.037843 +vn 0.075381 -0.919401 0.385937 +vn 0.249062 -0.954924 0.161351 +vn 0.300241 -0.939177 0.166692 +vn 0.233680 -0.954955 0.182775 +vn 0.207129 -0.956389 0.205847 +vn 0.217872 -0.943358 0.250160 +vn 0.214698 -0.919523 0.329142 +vn 0.246895 -0.904569 0.347514 +vn -0.022065 -0.998810 -0.043031 +vn -0.042787 -0.997223 -0.060579 +vn 0.030763 -0.998779 -0.038270 +vn 0.009217 -0.999878 0.010987 +vn 0.041658 -0.999023 0.014618 +vn 0.009583 -0.999878 0.010804 +vn -0.001923 -0.999664 0.025697 +vn 0.016877 -0.999023 0.040620 +vn -0.017090 -0.998871 0.044252 +vn -0.047945 -0.998047 0.039918 +vn -0.066927 -0.996887 0.041292 +vn -0.071444 -0.995392 0.063478 +vn -0.129948 -0.980926 0.144444 +vn -0.339946 -0.881314 0.328104 +vn 0.273202 -0.894772 0.353160 +vn -0.380352 -0.908383 -0.173528 +vn -0.259987 -0.955718 -0.137669 +vn -0.212714 -0.970611 -0.112461 +vn -0.232978 -0.971068 -0.052065 +vn -0.301523 -0.953307 -0.015687 +vn -0.301859 -0.949889 0.080996 +vn -0.273049 -0.946745 0.170568 +vn -0.292673 -0.923154 0.249092 +vn -0.312937 -0.921476 0.230049 +vn -0.318339 -0.908200 0.271615 +vn -0.315470 -0.884793 0.342845 +vn -0.316843 -0.880184 0.353313 +vn -0.298776 -0.872616 0.386303 +vn -0.410993 -0.807092 0.423841 +vn -0.405957 -0.810633 0.421918 +vn -0.394482 -0.802149 0.448225 +vn -0.435896 -0.814875 0.382031 +vn -0.423353 -0.808771 0.408185 +vn -0.431501 -0.797693 0.421216 +vn -0.433210 -0.779168 0.452986 +vn -0.430738 -0.752403 0.498306 +vn -0.426588 -0.724052 0.541948 +vn -0.414655 -0.701285 0.579852 +vn -0.379223 -0.687368 0.619404 +vn -0.365642 -0.662831 0.653401 +vn -0.366802 -0.572192 0.733482 +vn -0.346141 -0.486526 0.802149 +vn -0.373089 -0.474380 0.797327 +vn -0.373974 -0.470016 0.799493 +vn -0.132420 -0.903989 0.406476 +vn -0.217658 -0.897122 0.384411 +vn 0.032136 -0.990387 0.134495 +vn -0.040407 -0.999146 0.006348 +vn 0.280160 -0.876156 0.392163 +vn 0.337748 -0.865291 0.370373 +vn -0.028626 -0.998077 -0.054689 +vn 0.392438 -0.831263 0.393628 +vn 0.469436 -0.788232 0.397839 +vn -0.018983 -0.993927 -0.108249 +vn -0.315531 -0.938841 0.137730 +vn -0.164678 -0.985076 0.049623 +vn -0.056154 -0.996582 -0.060457 +vn -0.032258 -0.998444 -0.045076 +vn 0.012421 -0.999847 -0.010254 +vn 0.031526 -0.999481 0.004608 +vn -0.000824 -0.999725 0.023164 +vn 0.041566 -0.999023 0.014405 +vn 0.032319 -0.999115 0.026063 +vn -0.009095 -0.999359 0.034577 +vn -0.006836 -0.999451 0.032167 +vn -0.016907 -0.998901 0.043428 +vn -0.016419 -0.998932 0.042543 +vn -0.056734 -0.996368 0.063204 +vn -0.086764 -0.990875 0.103000 +vn -0.262856 -0.935911 0.234382 +vn -0.123569 -0.989654 0.072817 +vn -0.272225 -0.958434 -0.085055 +vn -0.248390 -0.960356 -0.126499 +vn -0.252541 -0.964660 -0.074862 +vn -0.291665 -0.956481 0.005737 +vn -0.272744 -0.948882 0.158696 +vn -0.242561 -0.950499 0.194098 +vn -0.283212 -0.933287 0.220649 +vn -0.289041 -0.922422 0.255989 +vn -0.250862 -0.917173 0.309519 +vn -0.268380 -0.896573 0.352275 +vn -0.314463 -0.865413 0.390027 +vn -0.235481 -0.892605 0.384411 +vn -0.340648 -0.847072 0.407880 +vn -0.361675 -0.818049 0.447127 +vn -0.398053 -0.820673 0.409864 +vn -0.420057 -0.819666 0.389386 +vn -0.411084 -0.808740 0.420576 +vn -0.419782 -0.801263 0.426252 +vn -0.402417 -0.779015 0.480789 +vn -0.415540 -0.752007 0.511612 +vn -0.405652 -0.726402 0.554735 +vn -0.403638 -0.691977 0.598468 +vn -0.380657 -0.670522 0.636738 +vn -0.345683 -0.645619 0.680898 +vn -0.332896 -0.568560 0.752251 +vn -0.348186 -0.501572 0.791894 +vn -0.344951 -0.479263 0.807001 +vn -0.358257 -0.470779 0.806207 +vn -0.502182 -0.621845 0.600879 +vn -0.472701 -0.795465 0.379131 +vn -0.497787 -0.652089 0.571795 +vn -0.427900 -0.718802 0.547868 +vn -0.111362 -0.986297 0.121464 +vn -0.046693 -0.996399 -0.070315 +vn -0.023499 -0.999420 -0.023743 +vn -0.011078 -0.999908 0.001007 +vn -0.003052 -0.999969 0.000244 +vn 0.007660 -0.999878 0.012421 +vn -0.005860 -0.999908 0.011658 +vn 0.009369 -0.999878 0.010681 +vn 0.006317 -0.999786 0.019471 +vn -0.020661 -0.999237 0.032197 +vn -0.021455 -0.999207 0.032624 +vn -0.047456 -0.998077 0.039277 +vn -0.025575 -0.998230 0.053652 +vn -0.063448 -0.995178 0.074740 +vn -0.175695 -0.972350 0.153661 +vn -0.306955 -0.949492 -0.065065 +vn -0.248207 -0.962554 -0.108860 +vn -0.231697 -0.971313 -0.052980 +vn -0.243019 -0.968535 0.053499 +vn -0.272713 -0.948912 0.158574 +vn -0.277322 -0.939085 0.202857 +vn -0.240303 -0.942717 0.231239 +vn -0.258766 -0.923032 0.284585 +vn -0.283090 -0.902493 0.324503 +vn -0.270577 -0.897763 0.347545 +vn -0.247688 -0.884915 0.394391 +vn -0.291635 -0.877865 0.379772 +vn -0.299997 -0.875668 0.378368 +vn -0.356029 -0.828303 0.432569 +vn -0.373302 -0.838618 0.396619 +vn -0.370220 -0.834132 0.408826 +vn -0.397320 -0.813837 0.423963 +vn -0.408063 -0.798303 0.442915 +vn -0.417646 -0.777612 0.469955 +vn -0.425398 -0.744621 0.514328 +vn -0.401898 -0.713370 0.574053 +vn -0.384167 -0.682272 0.621998 +vn -0.350505 -0.654775 0.669607 +vn -0.335917 -0.633778 0.696738 +vn -0.326945 -0.562517 0.759362 +vn -0.354961 -0.501511 0.788965 +vn -0.352184 -0.482589 0.801874 +vn -0.365032 -0.480361 0.797479 +vn -0.365398 -0.479598 0.797754 +vn -0.063753 -0.991455 0.113651 +vn -0.220923 -0.916532 0.333354 +vn -0.264931 -0.964110 -0.016175 +vn -0.327372 -0.944700 0.018067 +vn -0.214454 -0.962310 -0.167180 +vn 0.024079 -0.999054 -0.036012 +vn 0.091067 -0.992462 -0.081606 +vn -0.413282 -0.769677 0.486587 +vn -0.294870 -0.811914 0.503800 +vn 0.003021 -0.991699 -0.128361 +vn -0.011658 -0.997589 -0.068056 +vn -0.015992 -0.999817 -0.008698 +vn -0.036439 -0.999237 -0.012726 +vn -0.063509 -0.997955 -0.006561 +vn -0.010987 -0.999939 0.000549 +vn -0.022645 -0.999695 0.007263 +vn -0.005646 -0.999908 0.011597 +vn -0.002808 -0.999603 0.027406 +vn 0.026307 -0.999176 0.030793 +vn -0.006500 -0.999481 0.031404 +vn -0.020997 -0.999268 0.031770 +vn -0.057588 -0.997040 0.050691 +vn -0.052156 -0.996734 0.061434 +vn -0.087008 -0.989196 0.117679 +vn 0.537919 -0.812250 0.225532 +vn -0.203589 -0.976714 -0.067293 +vn -0.228278 -0.972808 -0.038728 +vn -0.204749 -0.975677 0.077853 +vn -0.272744 -0.948882 0.158666 +vn -0.293771 -0.929777 0.221656 +vn -0.261544 -0.930998 0.254585 +vn -0.236702 -0.933226 0.270211 +vn -0.271523 -0.913480 0.302927 +vn -0.313669 -0.874264 0.370434 +vn -0.260018 -0.878475 0.400769 +vn -0.258156 -0.887326 0.382061 +vn -0.224860 -0.899045 0.375652 +vn -0.334941 -0.846034 0.414716 +vn -0.350719 -0.840297 0.413373 +vn -0.332224 -0.843989 0.421033 +vn -0.359355 -0.834223 0.418226 +vn -0.368603 -0.807245 0.460891 +vn -0.354442 -0.791894 0.497208 +vn -0.345042 -0.748070 0.566820 +vn -0.364940 -0.714103 0.597339 +vn -0.352611 -0.668783 0.654500 +vn -0.340220 -0.644887 0.684347 +vn -0.316813 -0.624958 0.713462 +vn -0.327555 -0.578204 0.747215 +vn -0.385052 -0.511979 0.767815 +vn -0.387341 -0.472640 0.791528 +vn -0.370830 -0.470901 0.800439 +vn -0.354289 -0.479446 0.802850 +vn -0.042787 -0.607807 0.792901 +vn 0.476760 -0.819178 0.318735 +vn 0.485458 -0.786126 0.382488 +vn -0.077395 -0.978088 0.193213 +vn 0.151830 -0.985290 -0.078036 +vn 0.065615 -0.995361 -0.070040 +vn -0.044465 -0.991150 -0.125065 +vn 0.003388 -0.998230 -0.059297 +vn 0.012177 -0.999878 -0.009003 +vn -0.015839 -0.999847 -0.002777 +vn 0.019745 -0.999786 0.004181 +vn -0.033082 -0.999237 0.019623 +vn 0.000000 -0.999695 0.023743 +vn 0.032411 -0.999115 0.026185 +vn -0.006684 -0.999878 0.013428 +vn -0.052187 -0.998413 0.020783 +vn -0.011414 -0.999695 0.020600 +vn -0.006195 -0.999512 0.030580 +vn -0.016114 -0.998962 0.041902 +vn -0.068514 -0.995636 0.063326 +vn -0.080660 -0.993835 0.075686 +vn -0.213996 -0.959502 0.183020 +vn -0.596210 -0.298898 0.745079 +vn -0.263649 -0.964476 -0.016083 +vn -0.214850 -0.973235 0.081179 +vn -0.258095 -0.955535 0.142399 +vn -0.287576 -0.928220 0.235878 +vn -0.254860 -0.928922 0.268471 +vn -0.260018 -0.922849 0.284097 +vn -0.239174 -0.915830 0.322489 +vn -0.232887 -0.892697 0.385723 +vn -0.271004 -0.866085 0.420026 +vn -0.242439 -0.879543 0.409345 +vn -0.197729 -0.908567 0.367901 +vn -0.277200 -0.883419 0.377728 +vn -0.319895 -0.851619 0.415204 +vn -0.346843 -0.838343 0.420515 +vn -0.345012 -0.836818 0.425031 +vn -0.315348 -0.811579 0.491775 +vn -0.325541 -0.783715 0.528916 +vn -0.340373 -0.760277 0.553240 +vn -0.345744 -0.713920 0.608905 +vn -0.333628 -0.663259 0.669881 +vn -0.331858 -0.635273 0.697317 +vn -0.310343 -0.615375 0.724540 +vn -0.323435 -0.601428 0.730491 +vn -0.363842 -0.534165 0.763054 +vn -0.399579 -0.473281 0.785028 +vn -0.402936 -0.454390 0.794427 +vn -0.361522 -0.462874 0.809320 +vn 0.334880 -0.918180 -0.211615 +vn 0.363781 -0.919187 -0.150670 +vn 0.378368 -0.919431 -0.107089 +vn 0.087344 -0.995972 -0.020142 +vn 0.203192 -0.977905 -0.048891 +vn 0.302286 -0.952574 0.034913 +vn -0.037355 -0.993561 -0.106784 +vn 0.011353 -0.999207 -0.037751 +vn -0.001282 -0.999939 -0.009552 +vn -0.005432 -0.999878 0.012452 +vn 0.042421 -0.998688 0.027619 +vn 0.042634 -0.998688 0.027467 +vn 0.028413 -0.998321 0.050020 +vn 0.032807 -0.999084 0.026795 +vn 0.017884 -0.999817 0.000366 +vn -0.010529 -0.999847 0.011994 +vn -0.057405 -0.998169 0.018494 +vn -0.052461 -0.998199 0.028718 +vn -0.020875 -0.999298 0.031068 +vn -0.046815 -0.998169 0.037751 +vn -0.090762 -0.994812 0.045351 +vn 0.264473 -0.944121 0.196509 +vn 0.293863 -0.934172 0.202368 +vn -0.153691 -0.875546 0.457991 +vn -0.273354 -0.961364 0.031770 +vn -0.283639 -0.955901 0.075961 +vn -0.268441 -0.951537 0.149846 +vn -0.264077 -0.928495 0.260964 +vn -0.265481 -0.915433 0.302469 +vn -0.206458 -0.929014 0.307047 +vn -0.203192 -0.918546 0.339061 +vn -0.232673 -0.890439 0.391125 +vn -0.237251 -0.874935 0.422071 +vn -0.242164 -0.876064 0.416944 +vn -0.223609 -0.905759 0.359966 +vn -0.234779 -0.900082 0.367016 +vn -0.252358 -0.870479 0.422529 +vn -0.286966 -0.859920 0.422101 +vn -0.315043 -0.829615 0.460891 +vn -0.313517 -0.805506 0.502792 +vn -0.311197 -0.793542 0.522874 +vn -0.319559 -0.759758 0.566210 +vn -0.302377 -0.703299 0.643330 +vn -0.297922 -0.663930 0.685873 +vn -0.289895 -0.630970 0.719565 +vn -0.297708 -0.620258 0.725669 +vn -0.303629 -0.615162 0.727561 +vn -0.332530 -0.561357 0.757805 +vn -0.391308 -0.498795 0.773339 +vn -0.405805 -0.441633 0.800165 +vn 0.327677 -0.928281 0.175665 +vn 0.297281 -0.930387 0.214454 +vn 0.270577 -0.928892 0.252815 +vn 0.144536 -0.987793 -0.057924 +vn 0.239509 -0.919889 0.310465 +vn 0.186224 -0.913419 0.361888 +vn -0.115909 -0.988800 -0.093692 +vn -0.015076 -0.997009 -0.075411 +vn 0.025575 -0.999542 -0.015564 +vn 0.017090 -0.999847 0.002258 +vn 0.037172 -0.999146 0.017243 +vn -0.010407 -0.999298 0.035127 +vn 0.029023 -0.999207 0.026124 +vn 0.037629 -0.998566 0.038057 +vn 0.008423 -0.999878 0.012879 +vn 0.002960 -0.999969 0.000855 +vn 0.028199 -0.999512 0.011353 +vn 0.003876 -0.999786 0.018983 +vn -0.021119 -0.999237 0.032136 +vn -0.052034 -0.998230 0.027833 +vn -0.051607 -0.998291 0.026826 +vn -0.056917 -0.997162 0.049196 +vn -0.080416 -0.993805 0.076571 +vn 0.220740 -0.897732 0.381207 +vn 0.273965 -0.857753 0.434950 +vn 0.345531 -0.837764 0.422742 +vn -0.254067 -0.965575 0.055635 +vn -0.314768 -0.947691 0.052705 +vn -0.271340 -0.939695 0.208045 +vn -0.213935 -0.936766 0.276894 +vn -0.258431 -0.912534 0.316935 +vn -0.235084 -0.915036 0.327738 +vn -0.243721 -0.874935 0.418348 +vn -0.244362 -0.875607 0.416578 +vn -0.225257 -0.903562 0.364391 +vn -0.223945 -0.903867 0.364422 +vn -0.248146 -0.873104 0.419630 +vn -0.252602 -0.869106 0.425214 +vn -0.258889 -0.847987 0.462447 +vn -0.298441 -0.802576 0.516465 +vn -0.284555 -0.790551 0.542222 +vn -0.274026 -0.756401 0.593890 +vn -0.274239 -0.699789 0.659597 +vn -0.249916 -0.657125 0.711081 +vn -0.249855 -0.638356 0.728019 +vn -0.258950 -0.628956 0.732994 +vn -0.262398 -0.626637 0.733787 +vn -0.289682 -0.593219 0.751091 +vn -0.350169 -0.531419 0.771325 +vn 0.001221 -0.998291 0.058351 +vn 0.387158 -0.809351 0.441572 +vn 0.444594 -0.754631 0.482528 +vn -0.087130 -0.992218 -0.088717 +vn -0.014863 -0.999146 -0.038148 +vn 0.011963 -0.999878 -0.007721 +vn 0.002197 -0.999969 0.003357 +vn 0.023621 -0.999573 0.015839 +vn 0.009888 -0.999878 0.011872 +vn -0.033082 -0.999237 0.019684 +vn -0.005860 -0.999908 0.011872 +vn -0.027497 -0.999603 -0.004059 +vn -0.000427 -0.999908 -0.011963 +vn -0.029481 -0.999542 0.000763 +vn -0.009247 -0.999817 0.015656 +vn 0.020325 -0.999512 0.023316 +vn -0.041597 -0.998993 0.015595 +vn -0.051576 -0.998291 0.027009 +vn -0.061678 -0.997345 0.038118 +vn -0.090609 -0.994873 0.044588 +vn -0.207129 -0.934141 0.290628 +vn -0.215033 -0.922636 0.320109 +vn -0.244484 -0.879818 0.407544 +vn -0.263802 -0.895047 0.359569 +vn -0.239601 -0.906339 0.347972 +vn -0.280740 -0.865413 0.414930 +vn -0.244881 -0.869564 0.428785 +vn -0.256630 -0.846889 0.465682 +vn -0.270852 -0.808466 0.522446 +vn -0.273171 -0.782769 0.559099 +vn -0.267556 -0.751457 0.603046 +vn -0.246132 -0.682455 0.688192 +vn -0.238807 -0.651265 0.720267 +vn -0.236427 -0.640584 0.730552 +vn -0.230506 -0.631092 0.740623 +vn -0.242225 -0.638508 0.730461 +vn -0.258309 -0.621235 0.739799 +vn 0.030457 -0.995758 0.086642 +vn -0.072268 -0.991180 -0.110874 +vn 0.048555 -0.996246 -0.071322 +vn 0.011567 -0.999908 -0.006745 +vn 0.008881 -0.999847 0.014405 +vn 0.065615 -0.997803 0.008484 +vn 0.008881 -0.999878 0.012268 +vn 0.009980 -0.999847 0.012116 +vn 0.030122 -0.999176 0.026612 +vn 0.000000 -0.999725 0.022736 +vn 0.004700 -0.999969 -0.000458 +vn -0.000183 -0.999908 -0.011933 +vn -0.029115 -0.999542 -0.002411 +vn -0.019227 -0.999481 0.025361 +vn -0.012513 -0.999664 0.021638 +vn -0.001587 -0.999939 0.008271 +vn -0.020295 -0.999329 0.030396 +vn -0.051149 -0.998321 0.026093 +vn -0.096896 -0.994659 0.035127 +vn -0.125919 -0.988311 0.085726 +vn -0.337626 -0.931516 0.134983 +vn -0.504288 -0.863521 -0.001740 +vn -0.396588 -0.901212 -0.174657 +vn -0.227729 -0.905606 0.357707 +vn -0.232673 -0.908261 0.347667 +vn -0.281472 -0.861721 0.422071 +vn -0.254067 -0.858394 0.445601 +vn -0.256844 -0.848872 0.461928 +vn -0.270486 -0.809198 0.521531 +vn -0.279397 -0.777642 0.563189 +vn -0.247200 -0.730583 0.636494 +vn -0.249947 -0.676809 0.692373 +vn -0.275277 -0.650746 0.707602 +vn -0.269906 -0.629078 0.728935 +vn -0.275857 -0.631764 0.724357 +vn -0.286966 -0.638600 0.713981 +vn -0.286966 -0.627674 0.723624 +vn 0.062471 -0.993042 0.099704 +vn -0.290231 -0.942106 -0.167821 +vn -0.271676 -0.943266 -0.190802 +vn -0.249916 -0.963988 -0.090640 +vn -0.356487 -0.927183 -0.114841 +vn -0.466048 -0.877194 -0.115238 +vn -0.389447 -0.899930 -0.195929 +vn -0.259102 -0.953917 -0.151250 +vn -0.132267 -0.988708 -0.070162 +vn -0.091556 -0.992004 -0.086642 +vn -0.003082 -0.999268 -0.037690 +vn 0.043428 -0.999023 -0.002899 +vn 0.031068 -0.999084 0.029298 +vn 0.036775 -0.999146 0.018372 +vn 0.049654 -0.998749 0.005524 +vn 0.032044 -0.999115 0.027070 +vn 0.029939 -0.999176 0.026643 +vn 0.014924 -0.999603 0.022645 +vn 0.036561 -0.999298 0.003143 +vn 0.009095 -0.999695 -0.021912 +vn -0.028291 -0.999573 -0.003235 +vn -0.018464 -0.999756 0.011658 +vn -0.074953 -0.997101 0.012726 +vn -0.010773 -0.999756 0.019257 +vn 0.020905 -0.999542 0.021485 +vn -0.036012 -0.999023 0.024781 +vn -0.014313 -0.999084 0.040010 +vn -0.070589 -0.995636 0.060671 +vn -0.199072 -0.978362 0.056093 +vn -0.290445 -0.956816 0.009156 +vn -0.326579 -0.940611 -0.092380 +vn -0.250191 -0.963469 -0.095401 +vn -0.179785 -0.983520 -0.018250 +vn -0.254921 -0.965453 -0.053865 +vn -0.379559 -0.924986 0.016938 +vn -0.756371 -0.652211 0.049501 +vn -0.202277 -0.881130 0.427381 +vn -0.247078 -0.855007 0.455916 +vn -0.244636 -0.846126 0.473464 +vn -0.223060 -0.811701 0.539750 +vn -0.222663 -0.769738 0.598224 +vn -0.235176 -0.726646 0.645497 +vn -0.253517 -0.689016 0.678945 +vn -0.259163 -0.653645 0.711020 +vn -0.290658 -0.636464 0.714408 +vn -0.314310 -0.635823 0.704886 +vn -0.304209 -0.632527 0.712272 +vn -0.303171 -0.619037 0.724448 +vn -0.052736 -0.990905 -0.123630 +vn -0.134739 -0.983459 -0.120792 +vn -0.059603 -0.996948 -0.049867 +vn -0.033570 -0.999115 -0.024842 +vn -0.003937 -0.999969 -0.000763 +vn -0.044465 -0.998871 0.016480 +vn -0.041383 -0.998993 0.015961 +vn 0.000946 -0.999664 -0.025056 +vn -0.087313 -0.994842 -0.050996 +vn -0.006409 -0.998901 -0.046022 +vn -0.029847 -0.999542 0.001068 +vn 0.034883 -0.999359 0.007630 +vn 0.035188 -0.999329 0.006714 +vn -0.023835 -0.999664 0.009705 +vn 0.036012 -0.999329 0.005158 +vn 0.041505 -0.998993 0.015381 +vn 0.004334 -0.999969 -0.000031 +vn -0.038026 -0.999237 0.008301 +vn 0.002838 -0.999969 0.001190 +vn 0.017914 -0.999268 -0.033418 +vn -0.001312 -0.999939 -0.009857 +vn -0.031190 -0.999481 0.005737 +vn -0.049135 -0.998749 0.006348 +vn -0.067324 -0.997284 0.029298 +vn -0.049501 -0.998749 0.005554 +vn -0.046480 -0.998901 0.003906 +vn -0.063082 -0.997314 0.036653 +vn -0.051973 -0.998321 0.024751 +vn -0.112217 -0.993316 0.026399 +vn -0.129002 -0.991272 0.026154 +vn -0.131962 -0.991119 0.014801 +vn -0.090274 -0.995880 -0.005676 +vn -0.090854 -0.995819 -0.006256 +vn -0.130467 -0.991363 0.011841 +vn -0.122593 -0.992370 -0.012421 +vn -0.114719 -0.992706 -0.036744 +vn -0.217322 -0.975951 0.016846 +vn -0.311808 -0.949095 0.043886 +vn -0.485702 -0.869594 0.088748 +vn -0.158910 -0.884365 0.438856 +vn -0.189642 -0.870754 0.453627 +vn -0.215155 -0.840815 0.496689 +vn -0.222785 -0.797357 0.560839 +vn -0.200659 -0.771874 0.603259 +vn -0.225501 -0.735008 0.639424 +vn -0.245399 -0.686789 0.684133 +vn -0.266274 -0.666890 0.695944 +vn -0.274453 -0.653371 0.705496 +vn -0.229133 -0.632160 0.740135 +vn -0.196356 -0.637532 0.744957 +vn -0.203375 -0.618763 0.758751 +vn -0.403119 -0.915036 -0.013276 +vn 0.002472 -0.999542 0.029176 +vn -0.261818 -0.935636 0.236610 +vn -0.093417 -0.990753 -0.098239 +vn -0.019044 -0.997650 -0.065676 +vn -0.004822 -0.999969 0.000916 +vn 0.031953 -0.999359 0.014496 +vn 0.037385 -0.998993 0.024689 +vn 0.037751 -0.998993 0.023896 +vn -0.009217 -0.999756 0.019959 +vn -0.031434 -0.999359 -0.015290 +vn 0.013733 -0.999603 -0.023591 +vn 0.048128 -0.998779 0.010346 +vn 0.056642 -0.998291 0.011994 +vn -0.007355 -0.999817 0.016022 +vn 0.011750 -0.999878 -0.007233 +vn 0.001923 -0.999969 0.003967 +vn -0.001343 -0.999664 0.024751 +vn 0.041322 -0.999023 0.015412 +vn 0.040376 -0.999023 -0.017518 +vn -0.028474 -0.999573 -0.002625 +vn -0.038057 -0.999237 0.008087 +vn 0.008332 -0.999695 -0.022431 +vn 0.045412 -0.998932 -0.007630 +vn 0.007538 -0.999817 0.016358 +vn 0.017029 -0.999786 0.008881 +vn -0.041688 -0.998993 0.016205 +vn -0.078280 -0.996918 0.000000 +vn -0.054231 -0.998352 -0.017975 +vn -0.121769 -0.992523 0.006226 +vn -0.117069 -0.992981 0.016266 +vn -0.063814 -0.997223 0.038087 +vn -0.066683 -0.995972 0.059542 +vn -0.054933 -0.997467 0.045106 +vn -0.048647 -0.998596 0.020661 +vn -0.042207 -0.999084 -0.003967 +vn -0.081454 -0.996551 0.014801 +vn -0.079958 -0.996704 0.013276 +vn -0.041780 -0.999084 -0.007477 +vn -0.065767 -0.997650 0.018494 +vn -0.180517 -0.982727 0.040437 +vn -0.253487 -0.964141 0.078402 +vn -0.148625 -0.878201 0.454543 +vn -0.156590 -0.848415 0.505570 +vn -0.174749 -0.802118 0.570971 +vn -0.212989 -0.764794 0.608020 +vn -0.207312 -0.743614 0.635609 +vn -0.249672 -0.704703 0.664083 +vn -0.266121 -0.664754 0.698019 +vn -0.179754 -0.611988 0.770135 +vn -0.098575 -0.602619 0.791894 +vn -0.087466 -0.641163 0.762383 +vn -0.098483 -0.993072 -0.064058 +vn -0.009552 -0.999176 -0.039216 +vn 0.004242 -0.999725 0.022797 +vn 0.036927 -0.998962 0.025697 +vn 0.037324 -0.998993 0.024812 +vn 0.037660 -0.998993 0.024018 +vn 0.046571 -0.998810 0.012696 +vn 0.005371 -0.999969 -0.004242 +vn 0.029359 -0.999542 -0.000183 +vn 0.029969 -0.999023 0.032258 +vn 0.069033 -0.997497 0.014863 +vn 0.052400 -0.998596 -0.001282 +vn 0.003296 -0.999969 0.003327 +vn 0.035585 -0.999329 0.006165 +vn -0.001373 -0.999664 0.024751 +vn -0.005829 -0.999878 0.012574 +vn 0.021058 -0.999542 -0.020264 +vn 0.029542 -0.999207 -0.026704 +vn -0.068148 -0.997559 0.015198 +vn -0.000244 -0.999908 -0.011628 +vn 0.010102 -0.999878 0.011231 +vn 0.089022 -0.994507 0.054750 +vn 0.120945 -0.992370 0.022614 +vn 0.037965 -0.998657 0.034364 +vn 0.046724 -0.998627 0.022950 +vn -0.004700 -0.999969 -0.004639 +vn -0.042909 -0.998932 0.015381 +vn -0.074801 -0.995941 0.049776 +vn -0.070101 -0.995697 0.060121 +vn -0.050203 -0.997040 0.057802 +vn -0.054903 -0.997436 0.045228 +vn -0.043855 -0.998505 0.031831 +vn -0.006104 -0.999908 0.010529 +vn -0.011048 -0.999359 0.033570 +vn -0.025849 -0.999115 0.032991 +vn -0.049287 -0.998627 0.016144 +vn 0.000366 -0.999817 0.017548 +vn -0.038514 -0.998566 0.037019 +vn -0.115818 -0.991241 0.062929 +vn -0.245613 -0.962981 0.110843 +vn -0.471877 -0.858608 0.200232 +vn -0.397809 -0.750938 -0.527024 +vn -0.188604 -0.862362 0.469771 +vn -0.162023 -0.843318 0.512345 +vn -0.169866 -0.806360 0.566485 +vn -0.186834 -0.778710 0.598895 +vn -0.191198 -0.745079 0.638936 +vn -0.203375 -0.716788 0.666921 +vn -0.189978 -0.635151 0.748619 +vn -0.085543 -0.550554 0.830378 +vn -0.067293 -0.599963 0.797143 +vn -0.015900 -0.997436 -0.069460 +vn 0.006836 -0.999542 -0.028962 +vn 0.003052 -0.999939 -0.008148 +vn -0.005188 -0.999359 0.035371 +vn 0.027711 -0.998901 0.037294 +vn 0.032289 -0.999359 0.013886 +vn 0.005432 -0.999756 0.020508 +vn 0.038118 -0.998993 0.023408 +vn 0.076113 -0.996979 0.015259 +vn 0.082156 -0.996277 0.025788 +vn 0.069216 -0.997314 0.023652 +vn 0.007477 -0.999817 0.016327 +vn 0.067293 -0.997650 -0.010224 +vn 0.048860 -0.998749 0.007752 +vn 0.035676 -0.999329 0.006317 +vn 0.008759 -0.999847 0.012940 +vn 0.009156 -0.999878 0.011872 +vn -0.000397 -0.999908 -0.011261 +vn 0.039888 -0.998444 -0.038606 +vn -0.030457 -0.999420 0.013153 +vn -0.007996 -0.999847 0.014801 +vn 0.025086 -0.996582 0.078677 +vn 0.208930 -0.954985 0.210425 +vn 0.314005 -0.949034 0.026521 +vn 0.038148 -0.999268 0.000763 +vn 0.010743 -0.999847 -0.012116 +vn -0.079379 -0.996338 -0.031434 +vn 0.021149 -0.999542 0.021210 +vn -0.013825 -0.999115 0.039583 +vn -0.086337 -0.994629 0.056551 +vn -0.066744 -0.995972 0.059816 +vn -0.054994 -0.997436 0.045351 +vn -0.049348 -0.997192 0.056063 +vn 0.014954 -0.999542 0.026154 +vn -0.010834 -0.999390 0.032868 +vn -0.001587 -0.999756 0.021699 +vn -0.034791 -0.999237 0.016907 +vn -0.024751 -0.999176 0.031220 +vn -0.024628 -0.999237 0.030122 +vn -0.052705 -0.997894 0.037111 +vn -0.126957 -0.990356 0.054872 +vn -0.285989 -0.951048 0.117008 +vn -0.521226 -0.799097 0.299509 +vn -0.565294 -0.781213 0.264779 +vn -0.236457 -0.849971 0.470717 +vn -0.176031 -0.852626 0.491928 +vn -0.134434 -0.842036 0.522385 +vn -0.173711 -0.807886 0.563128 +vn -0.193274 -0.773522 0.603534 +vn -0.189489 -0.744194 0.640492 +vn -0.177770 -0.704245 0.687307 +vn -0.104648 -0.572588 0.813105 +vn -0.045686 -0.531327 0.845912 +vn -0.514450 -0.656392 0.551744 +vn -0.007172 -0.998383 -0.056307 +vn -0.035890 -0.999084 -0.022828 +vn 0.003265 -0.999939 -0.008942 +vn -0.005066 -0.999390 0.034486 +vn -0.000061 -0.998932 0.045778 +vn 0.045747 -0.998840 0.014771 +vn 0.040223 -0.998474 0.037812 +vn 0.065706 -0.996612 0.049043 +vn 0.069155 -0.997253 0.025788 +vn 0.069582 -0.997253 0.024812 +vn 0.082797 -0.996246 0.025178 +vn 0.077639 -0.996887 0.012848 +vn 0.043703 -0.999023 -0.002167 +vn 0.044038 -0.999023 -0.003082 +vn 0.049196 -0.998749 0.007050 +vn 0.037233 -0.999115 0.018311 +vn 0.032167 -0.999084 0.027314 +vn 0.040468 -0.999023 -0.017518 +vn -0.008759 -0.999603 -0.025880 +vn 0.060213 -0.998169 -0.002594 +vn -0.009735 -0.997559 0.068728 +vn 0.132450 -0.971526 0.196387 +vn 0.228736 -0.885800 0.403729 +vn 0.323008 -0.936918 0.133518 +vn 0.069277 -0.993530 -0.089785 +vn -0.088351 -0.993194 -0.075564 +vn -0.313974 -0.947874 -0.054018 +vn -0.314188 -0.947935 -0.051790 +vn -0.067904 -0.994507 0.079318 +vn 0.004730 -0.998474 0.054994 +vn -0.061525 -0.995514 0.071688 +vn -0.054872 -0.997436 0.045534 +vn -0.060579 -0.995697 0.069948 +vn -0.014130 -0.999176 0.037782 +vn -0.002136 -0.999725 0.023041 +vn -0.005066 -0.999023 0.043580 +vn 0.045778 -0.998596 0.025819 +vn -0.009644 -0.999451 0.030824 +vn -0.035279 -0.999359 0.002228 +vn -0.079318 -0.996796 0.010071 +vn -0.102176 -0.994110 0.035676 +vn -0.155797 -0.985565 0.066195 +vn -0.368908 -0.902188 0.223457 +vn -0.645955 -0.621967 0.442549 +vn -0.135380 -0.828059 0.544023 +vn -0.116855 -0.822810 0.556108 +vn -0.138890 -0.780847 0.609058 +vn -0.170598 -0.742302 0.647969 +vn -0.139378 -0.657430 0.740501 +vn -0.040223 -0.506668 0.861171 +vn -0.020966 -0.533372 0.845576 +vn -0.005402 -0.999847 -0.015229 +vn 0.005921 -0.999817 -0.017457 +vn -0.005127 -0.999969 0.002197 +vn -0.005158 -0.999329 0.035585 +vn -0.009064 -0.998291 0.057466 +vn 0.033845 -0.998230 0.048585 +vn 0.108036 -0.991119 0.077303 +vn 0.155309 -0.981414 0.112491 +vn 0.219672 -0.971404 0.089755 +vn 0.214209 -0.974609 0.064974 +vn 0.163762 -0.984527 0.062105 +vn 0.166082 -0.985626 0.030305 +vn 0.119114 -0.992737 0.015076 +vn 0.100162 -0.994964 0.002564 +vn 0.040681 -0.998993 0.017640 +vn 0.070864 -0.997284 0.019715 +vn 0.041658 -0.998993 0.016083 +vn 0.029237 -0.999207 -0.026582 +vn -0.003021 -0.999969 0.000824 +vn 0.028962 -0.985931 0.164464 +vn 0.262734 -0.901334 0.344279 +vn 0.394147 -0.785760 0.476608 +vn 0.395764 -0.842433 0.365520 +vn -0.494736 -0.866726 0.063265 +vn -0.264290 -0.921598 0.284219 +vn 0.076846 -0.995941 0.046602 +vn -0.034639 -0.997742 0.057161 +vn -0.011658 -0.997314 0.072176 +vn 0.002014 -0.997162 0.075167 +vn -0.049593 -0.997162 0.056551 +vn 0.015381 -0.999542 0.025544 +vn -0.015625 -0.998260 0.056429 +vn 0.032167 -0.998871 0.034822 +vn 0.037721 -0.999237 0.009491 +vn -0.003876 -0.999969 0.005707 +vn -0.008911 -0.999512 0.028932 +vn -0.019013 -0.999023 0.039857 +vn -0.090487 -0.994507 0.052370 +vn -0.195624 -0.965056 0.174230 +vn -0.389569 -0.805933 0.445692 +vn -0.168798 -0.810358 0.561052 +vn -0.128910 -0.781610 0.610279 +vn -0.099643 -0.728843 0.677358 +vn -0.035035 -0.588427 0.807764 +vn 0.033998 -0.471541 0.881161 +vn -0.002991 -0.555193 0.831690 +vn -0.028047 -0.582324 0.812433 +vn 0.363781 -0.920865 -0.140141 +vn 0.381115 -0.918455 -0.105533 +vn 0.389294 -0.921018 -0.011353 +vn -0.038331 -0.999237 0.000244 +vn -0.002899 -0.999939 -0.008942 +vn 0.044374 -0.998840 0.017304 +vn 0.032838 -0.998199 0.050142 +vn 0.035585 -0.995727 0.084841 +vn 0.080660 -0.990509 0.110996 +vn 0.172369 -0.973418 0.150731 +vn 0.252480 -0.942656 0.218207 +vn 0.381481 -0.896603 0.224830 +vn 0.464003 -0.870113 0.166021 +vn 0.451949 -0.878506 0.154729 +vn 0.390210 -0.918088 0.069338 +vn 0.246132 -0.969085 0.016541 +vn 0.149388 -0.988769 -0.002258 +vn 0.080203 -0.996704 -0.009980 +vn 0.003937 -0.999969 0.002106 +vn 0.012848 -0.999847 -0.009674 +vn 0.003052 -0.999451 -0.032624 +vn 0.005982 -0.999023 -0.043123 +vn -0.005982 -0.999634 0.025330 +vn 0.092044 -0.943083 0.319529 +vn 0.295480 -0.789911 0.537309 +vn 0.411115 -0.661184 0.627491 +vn 0.473464 -0.600513 0.644337 +vn -0.602191 -0.751762 0.268593 +vn -0.285195 -0.955748 0.072024 +vn -0.075137 -0.995941 0.049074 +vn -0.028474 -0.993378 0.111209 +vn 0.049471 -0.995697 0.078005 +vn -0.001648 -0.998321 0.057802 +vn 0.020386 -0.999115 0.036744 +vn -0.005951 -0.998993 0.044374 +vn -0.020600 -0.998810 0.043947 +vn 0.022340 -0.999664 0.011383 +vn 0.041047 -0.999084 0.009125 +vn 0.022736 -0.999237 0.031556 +vn -0.003754 -0.999207 0.039247 +vn -0.019044 -0.999207 0.034608 +vn -0.130497 -0.982208 0.134831 +vn -0.282327 -0.875088 0.393017 +vn 0.319163 -0.928739 0.188452 +vn 0.301340 -0.929167 0.213996 +vn -0.105930 -0.732627 0.672292 +vn 0.004730 -0.662648 0.748894 +vn 0.096072 -0.514817 0.851894 +vn 0.101993 -0.501633 0.859004 +vn 0.045076 -0.594470 0.802850 +vn 0.000214 -0.602435 0.798151 +vn 0.293985 -0.939177 0.177465 +vn 0.298135 -0.935606 0.188971 +vn 0.276467 -0.929899 0.242470 +vn 0.261269 -0.919431 0.293832 +vn 0.018464 -0.999451 -0.026460 +vn -0.042116 -0.999084 0.000641 +vn -0.016053 -0.999756 0.013794 +vn 0.000366 -0.998871 0.047121 +vn 0.039003 -0.991577 0.123356 +vn 0.150212 -0.965026 0.214698 +vn 0.305032 -0.912259 0.273324 +vn 0.406110 -0.843837 0.350688 +vn 0.509842 -0.776391 0.370403 +vn 0.605060 -0.731468 0.314341 +vn 0.648000 -0.721458 0.244087 +vn 0.677145 -0.707907 0.200751 +vn 0.596881 -0.795251 0.106265 +vn 0.267129 -0.963469 0.018159 +vn 0.140751 -0.989044 -0.044374 +vn 0.020417 -0.999603 -0.017792 +vn -0.000732 -0.999939 -0.010254 +vn 0.007355 -0.998596 -0.051881 +vn -0.047304 -0.998077 -0.039369 +vn 0.012635 -0.998230 0.057588 +vn 0.002869 -0.906247 0.422681 +vn 0.127842 -0.711631 0.690817 +vn 0.261727 -0.672628 0.692129 +vn -0.355358 -0.933836 0.039949 +vn -0.105136 -0.985443 0.133488 +vn -0.040498 -0.991150 0.126316 +vn -0.025330 -0.995727 0.088626 +vn 0.025300 -0.998444 0.049562 +vn 0.031129 -0.997711 0.059908 +vn 0.050172 -0.997986 0.038423 +vn -0.005524 -0.999023 0.043458 +vn 0.000305 -0.999817 0.018250 +vn 0.026978 -0.999573 0.009369 +vn 0.032380 -0.999268 0.019410 +vn -0.009156 -0.999542 0.027741 +vn -0.007538 -0.999725 0.021149 +vn -0.069460 -0.994140 0.082553 +vn -0.289712 -0.913022 0.287088 +vn 0.238929 -0.913144 0.330210 +vn 0.189917 -0.894192 0.405316 +vn 0.235298 -0.845546 0.479171 +vn -0.148595 -0.657002 0.739067 +vn -0.065493 -0.571001 0.818293 +vn -0.012940 -0.475661 0.879513 +vn -0.000610 -0.535722 0.844386 +vn 0.060671 -0.607959 0.791620 +vn 0.022797 -0.660817 0.750175 +vn 0.306436 -0.813288 0.494583 +vn 0.403790 -0.776177 0.484207 +vn 0.440382 -0.704672 0.556261 +vn -0.013215 -0.999878 -0.005432 +vn 0.039033 -0.999207 0.007477 +vn 0.003754 -0.999664 0.024476 +vn 0.002930 -0.996155 0.087466 +vn 0.100253 -0.970428 0.219459 +vn 0.220435 -0.912809 0.343699 +vn 0.358806 -0.825922 0.434828 +vn 0.496597 -0.726371 0.475112 +vn 0.574175 -0.664479 0.478256 +vn 0.613514 -0.649007 0.449812 +vn 0.661122 -0.648396 0.377422 +vn 0.703818 -0.651570 0.282937 +vn 0.728904 -0.645802 0.227149 +vn 0.766930 -0.609577 0.200415 +vn 0.173559 -0.983306 -0.054537 +vn 0.089206 -0.995331 -0.036500 +vn 0.040193 -0.999023 -0.016602 +vn -0.009308 -0.998321 -0.057100 +vn 0.002411 -0.999573 -0.028413 +vn -0.003357 -0.996246 0.086459 +vn -0.017609 -0.876492 0.481063 +vn -0.022492 -0.661519 0.749535 +vn 0.000916 -0.671804 0.740684 +vn -0.207465 -0.967223 0.146336 +vn -0.168310 -0.976867 0.131779 +vn -0.044527 -0.993316 0.106357 +vn 0.045747 -0.996887 0.063906 +vn 0.016022 -0.998016 0.060732 +vn 0.031617 -0.998810 0.036317 +vn 0.031922 -0.998840 0.035249 +vn 0.021790 -0.999176 0.033906 +vn 0.026887 -0.999573 0.009400 +vn -0.003815 -0.999969 0.005036 +vn 0.001495 -0.999878 0.015259 +vn -0.007294 -0.999725 0.020936 +vn -0.021271 -0.998383 0.052492 +vn -0.140599 -0.962981 0.229865 +vn -0.341075 -0.780541 0.523820 +vn -0.344249 -0.428327 0.835444 +vn -0.295511 -0.472091 0.830500 +vn -0.128788 -0.578845 0.805170 +vn -0.050813 -0.707327 0.705039 +vn -0.044130 -0.998749 0.022980 +vn -0.006287 -0.999969 0.003082 +vn 0.003540 -0.999664 0.024598 +vn 0.026826 -0.989013 0.145207 +vn 0.129887 -0.930235 0.343150 +vn 0.291330 -0.844905 0.448592 +vn 0.365947 -0.746055 0.556261 +vn 0.451399 -0.664296 0.595721 +vn 0.501450 -0.655110 0.565111 +vn 0.530686 -0.713828 0.456893 +vn 0.456862 -0.805994 0.376324 +vn 0.347697 -0.905362 0.243660 +vn 0.417280 -0.893307 0.166784 +vn 0.394513 -0.907498 0.144139 +vn 0.246498 -0.948546 0.198706 +vn 0.183142 -0.979369 -0.085360 +vn -0.010041 -0.998383 -0.055513 +vn -0.009278 -0.998321 -0.057009 +vn 0.040468 -0.999023 -0.017335 +vn -0.019623 -0.994110 0.106296 +vn -0.069155 -0.872372 0.483902 +vn -0.102206 -0.667623 0.737419 +vn -0.064486 -0.658559 0.749718 +vn -0.241829 -0.951567 0.189764 +vn -0.106937 -0.977081 0.183905 +vn 0.038850 -0.994934 0.092441 +vn 0.035432 -0.998688 0.036348 +vn -0.011536 -0.999359 0.033204 +vn 0.018006 -0.999207 0.034822 +vn 0.031831 -0.999237 0.022279 +vn 0.000427 -0.999878 -0.015259 +vn -0.029633 -0.999329 -0.020539 +vn -0.045106 -0.998871 0.013642 +vn -0.012268 -0.999847 0.010163 +vn -0.043306 -0.998352 0.037324 +vn -0.097507 -0.977844 0.185125 +vn -0.248177 -0.862636 0.440687 +vn -0.497879 -0.413831 0.762108 +vn -0.501907 -0.341685 0.794549 +vn -0.361644 -0.479812 0.799341 +vn -0.194250 -0.664907 0.721183 +vn -0.001434 -0.999878 0.014191 +vn -0.005799 -0.999268 0.037172 +vn 0.021119 -0.979400 0.200720 +vn 0.102298 -0.885128 0.453902 +vn 0.242592 -0.776696 0.581256 +vn 0.372478 -0.695608 0.614307 +vn 0.399274 -0.656484 0.639973 +vn 0.422101 -0.692251 0.585284 +vn 0.360240 -0.839900 0.405866 +vn 0.251656 -0.945555 0.206305 +vn 0.100864 -0.991089 0.086917 +vn 0.064547 -0.997803 0.014252 +vn 0.027192 -0.999420 -0.020417 +vn -0.011261 -0.999786 -0.016511 +vn 0.071841 -0.992004 -0.103580 +vn 0.301553 -0.939726 -0.161077 +vn -0.000458 -0.999084 -0.042512 +vn 0.004242 -0.999969 0.000214 +vn 0.029023 -0.995300 0.092105 +vn -0.077578 -0.861324 0.502091 +vn -0.167730 -0.642323 0.747826 +vn -0.162114 -0.614032 0.772423 +vn -0.125217 -0.967772 0.218329 +vn -0.061434 -0.973540 0.219947 +vn -0.031739 -0.992584 0.117222 +vn 0.024934 -0.999573 0.014130 +vn -0.000702 -0.999756 0.020875 +vn -0.011048 -0.999390 0.032380 +vn -0.006256 -0.999908 0.009156 +vn 0.014679 -0.999756 -0.016022 +vn 0.035310 -0.999359 -0.001953 +vn 0.020966 -0.999268 0.031220 +vn -0.006348 -0.999756 0.020814 +vn -0.016755 -0.999420 0.029267 +vn -0.075442 -0.980956 0.178808 +vn -0.138401 -0.893735 0.426679 +vn -0.003723 -0.999329 0.035768 +vn -0.507248 -0.332286 0.795129 +vn -0.492721 -0.351512 0.795984 +vn 0.034852 -0.999298 -0.013489 +vn -0.011475 -0.999573 0.026215 +vn -0.000244 -0.998840 0.048128 +vn 0.008148 -0.964110 0.265328 +vn 0.084201 -0.843043 0.531144 +vn 0.142888 -0.717826 0.681356 +vn 0.220832 -0.683950 0.695273 +vn 0.334300 -0.625874 0.704611 +vn 0.346263 -0.769768 0.536210 +vn 0.259743 -0.929441 0.262001 +vn 0.129032 -0.987640 0.088656 +vn 0.112247 -0.993194 0.030366 +vn 0.085574 -0.996307 0.004669 +vn 0.049623 -0.998688 -0.011261 +vn 0.089389 -0.995972 0.006378 +vn 0.001190 -0.998444 0.055269 +vn 0.148289 -0.978088 -0.146001 +vn 0.034394 -0.998047 -0.051668 +vn 0.002777 -0.999969 0.001679 +vn -0.020936 -0.995880 0.088015 +vn -0.105564 -0.889981 0.443587 +vn -0.246101 -0.671224 0.699149 +vn -0.282723 -0.623310 0.729057 +vn -0.158635 -0.958831 0.235450 +vn -0.088412 -0.985565 0.144292 +vn -0.002960 -0.999695 0.023469 +vn 0.026887 -0.999298 0.025880 +vn 0.021210 -0.999115 0.035463 +vn 0.000214 -0.999817 0.018952 +vn 0.022004 -0.999756 -0.001038 +vn 0.025636 -0.999634 0.008057 +vn 0.035951 -0.998901 0.029633 +vn 0.039766 -0.998901 0.023621 +vn 0.031526 -0.999054 0.029389 +vn -0.038270 -0.978820 0.201056 +vn -0.062288 -0.889218 0.453169 +vn -0.478256 -0.322581 0.816797 +vn 0.065340 -0.861446 0.503586 +vn -0.005799 -0.999268 0.037049 +vn -0.004120 -0.997101 0.075655 +vn 0.025452 -0.949644 0.312265 +vn 0.028169 -0.809381 0.586596 +vn 0.085055 -0.695334 0.713614 +vn 0.174780 -0.611316 0.771813 +vn 0.227729 -0.648427 0.726371 +vn 0.159093 -0.884396 0.438734 +vn 0.069216 -0.986358 0.149205 +vn 0.077548 -0.996826 0.016846 +vn 0.040651 -0.999146 0.002350 +vn 0.044710 -0.998779 -0.020814 +vn 0.049440 -0.998688 -0.011078 +vn 0.081210 -0.996643 -0.007813 +vn 0.032105 -0.999451 -0.002991 +vn 0.029237 -0.996887 -0.073092 +vn 0.113071 -0.981903 -0.151708 +vn 0.036622 -0.999298 0.003784 +vn -0.013062 -0.996948 0.076571 +vn -0.140080 -0.905057 0.401532 +vn -0.252907 -0.691183 0.676962 +vn -0.298105 -0.664754 0.684957 +vn -0.109500 -0.977722 0.179052 +vn -0.121403 -0.962432 0.242805 +vn 0.008393 -0.998749 0.049257 +vn 0.017762 -0.999176 0.036287 +vn 0.031312 -0.999207 0.023804 +vn 0.005249 -0.999512 0.030702 +vn 0.065127 -0.997864 0.001740 +vn 0.005371 -0.999969 -0.005371 +vn -0.014039 -0.999725 0.017365 +vn -0.007721 -0.999725 0.021729 +vn 0.031343 -0.999054 0.029725 +vn 0.007385 -0.976470 0.215461 +vn -0.016144 -0.886135 0.463118 +vn -0.005951 -0.999237 0.038087 +vn -0.009186 -0.994873 0.100436 +vn 0.032594 -0.936918 0.347972 +vn 0.042756 -0.783746 0.619556 +vn 0.098910 -0.620258 0.778100 +vn 0.113987 -0.584094 0.803613 +vn 0.152226 -0.709922 0.687613 +vn 0.116428 -0.928098 0.353648 +vn 0.013520 -0.997467 0.069735 +vn 0.032319 -0.999298 -0.018494 +vn -0.021241 -0.999023 -0.038057 +vn -0.020844 -0.999023 -0.038820 +vn 0.001495 -0.999664 -0.024903 +vn 0.006317 -0.999847 -0.015198 +vn 0.042634 -0.998505 -0.033357 +vn -0.003388 -0.998993 -0.044343 +vn 0.050630 -0.997864 -0.040956 +vn 0.041536 -0.999023 0.014954 +vn 0.021973 -0.998932 0.039888 +vn -0.157811 -0.924924 0.345744 +vn -0.277779 -0.717795 0.638417 +vn -0.298196 -0.664785 0.684927 +vn -0.095767 -0.973571 0.207221 +vn -0.048616 -0.973357 0.223975 +vn -0.004639 -0.996338 0.085086 +vn 0.002716 -0.999390 0.034425 +vn 0.030244 -0.999237 0.024628 +vn 0.016053 -0.999146 0.038057 +vn 0.024140 -0.999329 0.027223 +vn 0.072359 -0.997314 -0.008728 +vn 0.032868 -0.999268 0.019288 +vn -0.007538 -0.999725 0.021638 +vn -0.004913 -0.998657 0.051546 +vn 0.023377 -0.970824 0.238563 +vn -0.006348 -0.880123 0.474624 +vn 0.052675 -0.993225 -0.103519 +vn 0.075625 -0.996521 -0.034181 +vn 0.003357 -0.999634 0.025910 +vn -0.028687 -0.993866 0.106540 +vn -0.070315 -0.920255 0.384899 +vn -0.022340 -0.750450 0.660512 +vn 0.019227 -0.601459 0.798639 +vn 0.043458 -0.570452 0.820154 +vn 0.101138 -0.737053 0.668172 +vn 0.061800 -0.961608 0.267281 +vn 0.038453 -0.998901 0.026063 +vn 0.009156 -0.999481 -0.030274 +vn -0.016907 -0.998138 -0.058077 +vn -0.030305 -0.999146 -0.028047 +vn 0.005799 -0.999878 -0.014222 +vn 0.006256 -0.999847 -0.015137 +vn 0.010010 -0.999298 -0.035981 +vn 0.028657 -0.998871 -0.037629 +vn 0.004425 -0.999969 0.000031 +vn 0.020203 -0.999756 0.006348 +vn 0.004547 -0.999969 0.000305 +vn -0.164281 -0.943937 0.286233 +vn -0.339732 -0.717185 0.608448 +vn -0.317606 -0.647969 0.692251 +vn -0.004120 -0.978057 0.208228 +vn -0.042207 -0.967834 0.247963 +vn -0.016083 -0.994873 0.099551 +vn 0.020997 -0.999054 0.037599 +vn 0.021455 -0.999084 0.036500 +vn 0.024445 -0.999634 0.010743 +vn -0.030580 -0.999390 0.015320 +vn 0.028413 -0.999481 -0.013123 +vn 0.036805 -0.999298 -0.002899 +vn 0.003021 -0.999939 0.009369 +vn -0.005829 -0.995453 0.094790 +vn 0.057527 -0.964934 0.255989 +vn -0.001984 -0.871548 0.490249 +vn 0.026490 -0.998779 0.041169 +vn 0.023835 -0.994232 0.104312 +vn -0.062227 -0.905087 0.420606 +vn -0.037324 -0.699240 0.713889 +vn -0.035981 -0.580523 0.813410 +vn 0.041017 -0.532579 0.845363 +vn 0.026582 -0.799890 0.599536 +vn -0.025727 -0.980468 0.194922 +vn 0.004883 -0.999908 -0.009949 +vn -0.012940 -0.998810 -0.046480 +vn 0.009217 -0.997925 -0.063509 +vn -0.030244 -0.999146 -0.027924 +vn -0.034974 -0.999359 -0.007477 +vn 0.001740 -0.999664 -0.025605 +vn -0.015259 -0.999390 -0.030763 +vn 0.030061 -0.998871 -0.036134 +vn -0.067171 -0.997345 -0.027894 +vn -0.002075 -0.999969 -0.002625 +vn -0.000519 -0.999939 -0.011017 +vn -0.105838 -0.973876 0.200873 +vn -0.356151 -0.733024 0.579455 +vn -0.365795 -0.632923 0.682302 +vn -0.445021 -0.636402 0.629994 +vn -0.053377 -0.972961 0.224677 +vn -0.075808 -0.962889 0.258980 +vn 0.015717 -0.994598 0.102573 +vn 0.020417 -0.999084 0.037080 +vn -0.001740 -0.999725 0.022584 +vn 0.004120 -0.999969 -0.002594 +vn -0.004273 -0.999939 0.007294 +vn -0.008881 -0.999939 -0.004883 +vn 0.005463 -0.999939 -0.006073 +vn 0.024934 -0.999664 0.002564 +vn -0.026490 -0.991943 0.123630 +vn 0.034577 -0.950285 0.309366 +vn -0.001404 -0.998749 0.049623 +vn 0.030702 -0.992584 0.117405 +vn 0.009339 -0.891079 0.453719 +vn -0.011292 -0.678610 0.734367 +vn -0.011048 -0.546709 0.837245 +vn 0.025330 -0.536088 0.843776 +vn 0.005829 -0.846034 0.533067 +vn -0.010773 -0.991485 0.129704 +vn -0.026978 -0.999512 -0.014527 +vn 0.005127 -0.999054 -0.043092 +vn 0.009186 -0.997925 -0.063448 +vn -0.021699 -0.999054 -0.037507 +vn -0.034974 -0.999359 -0.007385 +vn -0.025208 -0.999481 -0.019013 +vn 0.007019 -0.999847 -0.015290 +vn 0.047182 -0.998566 -0.024415 +vn 0.020081 -0.998688 -0.047060 +vn 0.050264 -0.998718 0.004151 +vn 0.041566 -0.999023 0.014863 +vn -0.015503 -0.992035 0.124973 +vn -0.374767 -0.782830 0.496628 +vn -0.500626 -0.621632 0.602405 +vn -0.522904 -0.653157 0.547624 +vn -0.011963 -0.971587 0.236305 +vn 0.009674 -0.977111 0.212500 +vn -0.001343 -0.994140 0.107883 +vn -0.001190 -0.999756 0.021699 +vn -0.005646 -0.999908 0.009674 +vn -0.005127 -0.999939 0.008667 +vn 0.026734 -0.999573 0.010804 +vn 0.005127 -0.999969 -0.004700 +vn -0.005005 -0.999939 0.006897 +vn 0.029511 -0.999451 0.014313 +vn 0.011139 -0.990661 0.135716 +vn -0.035798 -0.923154 0.382702 +vn -0.016083 -0.998627 0.049593 +vn -0.024476 -0.989532 0.142094 +vn 0.003418 -0.884915 0.465682 +vn -0.030854 -0.660543 0.750145 +vn 0.003662 -0.513047 0.858333 +vn -0.018769 -0.586352 0.809809 +vn -0.038453 -0.876675 0.479507 +vn -0.012055 -0.994171 0.107089 +vn 0.004486 -0.999908 -0.010437 +vn 0.008087 -0.999451 -0.031281 +vn 0.021912 -0.997742 -0.063051 +vn 0.004852 -0.999054 -0.043031 +vn -0.034822 -0.999359 -0.007263 +vn -0.038942 -0.999054 -0.018830 +vn -0.040284 -0.998962 -0.020600 +vn -0.021912 -0.999664 -0.011811 +vn 0.071291 -0.996521 -0.042482 +vn 0.004425 -0.999969 -0.000061 +vn 0.020112 -0.999756 0.006256 +vn 0.016541 -0.999481 0.026490 +vn -0.301187 -0.879543 0.368267 +vn -0.546587 -0.660482 0.514725 +vn -0.583819 -0.645009 0.492996 +vn 0.028291 -0.999176 0.028840 +vn 0.003723 -0.986297 0.164922 +vn 0.016419 -0.973662 0.227271 +vn -0.002899 -0.994751 0.102268 +vn 0.021027 -0.999634 0.015229 +vn -0.006836 -0.999908 0.011322 +vn -0.006378 -0.999908 0.010224 +vn -0.005921 -0.999939 0.009186 +vn 0.005188 -0.999969 -0.004425 +vn 0.027741 -0.999573 0.008972 +vn 0.003876 -0.998901 0.046266 +vn 0.026765 -0.998749 0.042146 +vn -0.057436 -0.985534 0.159276 +vn -0.051027 -0.873959 0.483261 +vn -0.085421 -0.634968 0.767785 +vn -0.069582 -0.501938 0.862056 +vn -0.072146 -0.629078 0.773949 +vn -0.077792 -0.893735 0.441786 +vn -0.007813 -0.995086 0.098514 +vn 0.031739 -0.999329 -0.017029 +vn -0.025697 -0.998566 -0.046663 +vn -0.019654 -0.998108 -0.058229 +vn 0.049287 -0.997986 -0.039491 +vn 0.005860 -0.999878 -0.013886 +vn -0.025178 -0.999481 -0.018830 +vn -0.026551 -0.999451 -0.019593 +vn -0.045625 -0.998932 0.000366 +vn -0.003021 -0.999237 -0.038911 +vn 0.005890 -0.996033 -0.088595 +vn 0.020325 -0.999756 -0.006867 +vn -0.000488 -0.999908 -0.011261 +vn -0.249519 -0.943999 0.215827 +vn -0.563738 -0.694815 0.446516 +vn -0.539018 -0.663350 0.518998 +vn -0.553026 -0.678762 0.483108 +vn 0.068667 -0.981140 0.180548 +vn -0.044160 -0.994079 0.099124 +vn 0.023347 -0.979308 0.200964 +vn -0.059603 -0.995666 0.071047 +vn -0.008026 -0.999695 0.022584 +vn 0.036866 -0.999237 0.012635 +vn 0.031526 -0.999207 0.023682 +vn 0.024659 -0.999634 0.010346 +vn -0.004089 -0.999939 0.006714 +vn 0.032716 -0.999237 0.020325 +vn 0.031556 -0.996612 0.075930 +vn -0.008728 -0.999084 0.041719 +vn -0.026704 -0.984313 0.174352 +vn -0.056520 -0.857631 0.511124 +vn -0.097690 -0.625935 0.773705 +vn -0.116245 -0.500229 0.858028 +vn -0.053468 -0.646931 0.760643 +vn -0.035310 -0.908200 0.416974 +vn -0.027314 -0.994140 0.104282 +vn 0.012543 -0.999725 -0.019013 +vn 0.026063 -0.998321 -0.051515 +vn -0.000763 -0.999054 -0.043031 +vn -0.003479 -0.999390 -0.034150 +vn 0.010743 -0.999298 -0.035066 +vn -0.020325 -0.999756 -0.007477 +vn 0.035157 -0.999329 0.009919 +vn 0.035859 -0.999329 0.007050 +vn -0.009796 -0.999664 -0.023621 +vn 0.066958 -0.995758 -0.062807 +vn 0.059084 -0.998199 -0.006653 +vn 0.096438 -0.995270 -0.009033 +vn -0.019166 -0.997620 0.066073 +vn -0.523331 -0.754570 0.395886 +vn -0.642689 -0.635151 0.428388 +vn -0.697439 -0.642201 0.318003 +vn 0.055422 -0.974242 0.218543 +vn -0.027284 -0.969817 0.242225 +vn 0.018738 -0.987030 0.159246 +vn 0.003418 -0.999359 0.034761 +vn -0.057161 -0.997314 0.045564 +vn 0.005646 -0.999817 0.017426 +vn -0.000275 -0.999756 0.020783 +vn 0.031159 -0.999481 0.003510 +vn 0.002716 -0.999969 -0.001709 +vn -0.004089 -0.999115 0.041505 +vn 0.063753 -0.990814 0.119236 +vn 0.323679 0.220191 -0.920164 +usemtl None +s 1 +f 21217//1 21216//2 20400//3 +f 9187//4 9281//5 14839//6 +f 16021//7 13434//8 5188//9 +f 16022//10 16021//7 5188//9 +f 20920//11 20921//12 21004//13 +f 23419//14 15240//15 23128//16 +f 30553//17 27378//18 30502//19 +f 7292//20 7294//21 21465//22 +f 12804//23 12715//24 13084//25 +f 12778//26 4683//27 16929//28 +f 22067//29 22937//30 21049//31 +f 21135//32 22067//29 21049//31 +f 3222//33 3360//34 119//35 +f 4810//36 25593//37 119//35 +f 1657//38 1540//39 3360//34 +f 2762//40 15568//41 15619//42 +f 3222//33 1657//38 3360//34 +f 4377//43 9529//44 2529//45 +f 5208//46 2762//40 15619//42 +f 2942//47 2943//48 5208//46 +f 1029//49 4377//43 2529//45 +f 1657//38 5344//50 6261//51 +f 2943//48 2942//47 3489//52 +f 1540//39 1657//38 6261//51 +f 5344//50 5741//53 1532//54 +f 6261//51 5344//50 1532//54 +f 5741//53 5595//55 3026//56 +f 1532//54 5741//53 3026//56 +f 5595//55 2261//57 820//58 +f 3026//56 5595//55 820//58 +f 2261//57 2983//59 2577//60 +f 820//58 2261//57 2577//60 +f 2983//59 15185//61 15172//62 +f 17248//63 4194//64 17247//65 +f 2577//60 2983//59 15172//62 +f 4377//43 1029//49 15619//42 +f 1567//66 4811//67 1683//68 +f 15920//69 16062//70 15919//71 +f 15568//41 4377//43 15619//42 +f 16482//72 1564//73 1661//74 +f 15780//75 15781//76 15919//71 +f 11800//77 15971//78 11620//79 +f 16062//70 16061//80 15919//71 +f 3490//81 2943//48 3489//52 +f 15161//82 3619//83 15144//84 +f 4811//67 3490//81 3489//52 +f 2943//48 2762//40 5208//46 +f 4811//67 4946//85 1683//68 +f 4946//85 4811//67 3489//52 +f 15185//61 16831//86 16828//87 +f 15735//88 16169//89 1151//90 +f 15172//62 15185//61 16828//87 +f 16831//86 14706//91 14683//92 +f 16828//87 16831//86 14683//92 +f 14706//91 16626//93 17116//94 +f 14683//92 14706//91 17116//94 +f 16626//93 14876//95 16637//96 +f 17116//94 16626//93 16637//96 +f 14876//95 5063//97 17025//98 +f 16637//96 14876//95 17025//98 +f 5063//97 5357//99 5492//100 +f 17025//98 5063//97 5492//100 +f 5357//99 6019//101 6020//102 +f 5492//100 5357//99 6020//102 +f 15601//103 15675//104 15676//105 +f 23267//106 30828//107 30827//108 +f 16672//109 15522//110 16830//111 +f 16205//112 16204//113 16061//80 +f 7014//114 7013//115 6914//116 +f 16105//117 15965//118 14750//119 +f 17079//120 17078//121 16915//122 +f 22220//123 22219//124 22123//125 +f 23104//126 23103//127 23005//128 +f 23509//129 24842//130 23859//131 +f 17712//132 17713//133 17808//134 +f 15457//135 15590//136 15071//137 +f 1449//138 14622//139 15287//140 +f 16028//141 14349//142 15895//143 +f 13137//144 13138//145 15663//146 +f 14777//147 14776//148 14670//149 +f 20413//150 15735//88 1151//90 +f 16393//151 16672//109 17179//152 +f 6019//101 16805//153 14469//154 +f 22417//155 22515//156 22514//157 +f 6020//102 6019//101 14469//154 +f 16805//153 15760//158 3352//159 +f 14469//154 16805//153 3352//159 +f 15760//158 15687//160 15553//161 +f 3352//159 15760//158 15553//161 +f 15687//160 3746//162 14601//163 +f 15553//161 15687//160 14601//163 +f 22319//164 22320//165 22416//166 +f 223//167 97//168 707//169 +f 21148//170 21147//171 14946//172 +f 4193//173 1567//66 4194//64 +f 23306//174 23305//175 23207//176 +f 1567//66 1683//68 4194//64 +f 3746//162 16491//177 15241//178 +f 2281//179 1423//180 16070//181 +f 14601//163 3746//162 15241//178 +f 35832//182 35643//183 35784//184 +f 15241//178 16491//177 15680//185 +f 21502//186 35730//187 20536//188 +f 35590//189 35409//190 35574//191 +f 66//192 15682//193 14656//194 +f 112//195 2905//196 10120//197 +f 35558//198 35876//199 35737//200 +f 17809//201 17905//202 17904//203 +f 5059//204 6015//205 15304//206 +f 15864//207 15456//208 12568//209 +f 15737//210 15601//103 15676//105 +f 14657//211 7110//212 7109//213 +f 498//214 15414//215 16944//216 +f 5961//217 11711//218 21284//219 +f 22622//220 22721//221 22621//222 +f 15675//104 9863//223 5557//224 +f 15034//225 15050//226 16665//227 +f 20874//228 20954//229 20953//230 +f 6016//231 15830//232 1771//233 +f 14487//234 17154//235 1771//233 +f 17154//235 16826//236 1771//233 +f 15290//237 16193//238 16050//239 +f 13368//240 15065//241 23228//242 +f 4137//243 15290//237 1426//244 +f 22415//245 22416//166 22513//246 +f 21867//247 13330//248 12868//249 +f 31726//250 31826//251 31825//252 +f 12715//24 12804//23 11206//253 +f 14989//254 14990//255 15111//256 +f 22037//257 22036//258 33671//259 +f 21115//260 21114//261 18736//262 +f 16672//109 16830//111 17179//152 +f 15676//105 15675//104 5557//224 +f 20557//263 20639//264 20556//265 +f 9863//223 16307//266 16453//267 +f 14661//268 14662//269 14767//270 +f 6791//271 2888//272 14564//273 +f 14399//274 14398//275 14381//276 +f 14532//277 16622//278 15488//279 +f 16506//280 16662//281 16661//282 +f 15260//283 15388//284 15387//285 +f 15259//286 15260//283 15387//285 +f 12738//287 13761//288 13859//289 +f 15789//290 15928//291 15927//292 +f 390//293 2938//294 280//295 +f 589//296 2401//297 466//298 +f 16984//299 17150//300 17149//301 +f 16983//302 16984//299 17149//301 +f 16504//303 16505//304 16660//305 +f 4936//306 17559//307 15486//308 +f 14632//309 1738//310 1026//311 +f 16661//282 16820//312 16819//313 +f 3158//314 1300//315 3303//316 +f 2308//317 14632//309 1026//311 +f 5349//318 2281//179 16070//181 +f 15690//319 15556//320 3348//321 +f 15556//320 3481//322 3348//321 +f 1423//180 16178//323 247//324 +f 17149//301 17150//300 3362//325 +f 2020//326 2148//327 503//328 +f 35666//329 35471//330 35586//331 +f 14765//332 16390//333 16391//334 +f 5557//224 9863//223 16453//267 +f 23306//174 23403//335 23305//175 +f 1422//336 15931//337 15614//338 +f 20323//339 2478//340 16014//341 +f 15032//342 20323//339 16014//341 +f 16954//343 21314//344 21226//345 +f 16961//346 16962//347 17127//348 +f 16307//266 15474//349 16927//350 +f 14359//351 14373//352 14358//353 +f 22721//221 22820//354 22720//355 +f 16366//356 9293//357 9185//358 +f 30075//359 19909//360 19910//361 +f 28356//362 28357//363 30071//364 +f 13660//365 13562//366 5188//9 +f 13434//8 13660//365 5188//9 +f 22433//367 21484//368 21483//369 +f 22859//370 16918//371 22760//372 +f 20432//373 11514//374 19003//375 +f 21466//376 11514//374 20432//373 +f 16928//377 12778//26 16929//28 +f 16928//377 16929//28 6890//378 +f 22066//379 21971//380 22937//30 +f 15908//381 4271//382 15683//383 +f 1576//384 2054//385 4284//386 +f 15414//215 2575//387 2844//388 +f 16948//389 498//214 16944//216 +f 15781//76 15920//69 15919//71 +f 16453//267 16307//266 16927//350 +f 16947//390 3667//391 4540//392 +f 16670//393 1535//394 1419//395 +f 22218//396 22219//124 22314//397 +f 22316//398 22315//399 22219//124 +f 4250//400 3401//401 3400//402 +f 15474//349 15154//403 15281//404 +f 14584//405 14676//406 14675//407 +f 16981//408 16982//409 17147//410 +f 1426//244 15290//237 16050//239 +f 14583//411 14584//405 14675//407 +f 2621//412 3127//413 2765//414 +f 859//415 1613//416 1210//417 +f 21134//418 22075//419 21133//420 +f 5745//421 1534//422 14463//423 +f 4245//424 16393//151 14338//425 +f 22156//426 13526//427 15600//428 +f 15522//110 3209//429 16830//111 +f 16062//70 16205//112 16061//80 +f 14768//430 14881//431 14880//432 +f 16393//151 17179//152 14338//425 +f 20664//433 16799//434 16642//435 +f 14767//270 14768//430 14880//432 +f 35472//436 35899//437 35903//438 +f 14662//269 14768//430 14767//270 +f 826//439 14481//440 14476//441 +f 23520//442 31408//443 31479//444 +f 14581//445 14580//446 14501//447 +f 10620//448 7474//449 7362//450 +f 31503//451 31502//452 31430//453 +f 467//454 2937//455 177//456 +f 22067//29 22066//379 22937//30 +f 16927//350 15474//349 15281//404 +f 3601//457 119//35 25592//458 +f 22807//459 22808//460 22906//461 +f 1774//462 1657//38 3222//33 +f 3223//463 1774//462 3222//33 +f 1774//462 5478//464 5344//50 +f 1657//38 1774//462 5344//50 +f 16660//305 16661//282 16819//313 +f 14535//465 15678//466 15662//467 +f 1738//310 2260//468 819//469 +f 1026//311 1738//310 819//469 +f 3481//322 16636//470 14682//471 +f 20874//228 20875//472 20954//229 +f 18080//473 19540//474 19026//475 +f 3348//321 3481//322 14682//471 +f 1413//476 5741//53 5344//50 +f 5478//464 1413//476 5344//50 +f 22453//477 2939//478 22355//479 +f 3218//480 6129//481 5331//482 +f 2575//387 17014//483 17015//484 +f 14700//485 905//486 4271//382 +f 16205//112 16351//487 16350//488 +f 16204//113 16205//112 16350//488 +f 16350//488 16351//487 16503//489 +f 16351//487 16504//303 16503//489 +f 22612//490 22613//491 22711//492 +f 16504//303 16660//305 16659//493 +f 3488//494 362//495 3356//496 +f 14763//497 21028//498 23398//499 +f 15969//500 14610//501 15039//502 +f 12372//503 34194//504 33923//505 +f 16210//506 16211//507 16356//508 +f 14349//142 14710//509 14820//510 +f 16032//511 15752//512 15550//513 +f 14373//352 14372//514 14358//353 +f 14068//515 5756//516 176//517 +f 14610//501 15164//518 15039//502 +f 15388//284 15519//519 15518//520 +f 16968//521 15834//522 16959//523 +f 1413//476 1506//524 5595//55 +f 15387//285 15388//284 15518//520 +f 5741//53 1413//476 5595//55 +f 2395//525 2261//57 5595//55 +f 1506//524 2395//525 5595//55 +f 2395//525 1660//526 2983//59 +f 2261//57 2395//525 2983//59 +f 13096//527 13519//528 3076//529 +f 16661//282 16662//281 16820//312 +f 15557//530 6404//531 3481//322 +f 16944//216 15414//215 2844//388 +f 15508//532 15509//533 15643//534 +f 15644//535 15781//76 15780//75 +f 4540//392 1537//536 17026//537 +f 1537//536 17027//538 17026//537 +f 16913//539 16912//540 16754//541 +f 22124//542 22220//123 22123//125 +f 14589//543 15773//544 14568//545 +f 16350//488 16349//546 16203//547 +f 17148//548 4250//400 4603//549 +f 1454//550 1569//551 4333//552 +f 5752//553 5753//554 1613//416 +f 17147//410 17148//548 4603//549 +f 3210//555 5856//556 2483//557 +f 16982//409 17148//548 17147//410 +f 14676//406 14782//558 14781//559 +f 403//560 15561//561 1410//562 +f 14963//563 13430//564 15083//565 +f 16100//566 905//486 14700//485 +f 15154//403 7530//567 1031//568 +f 8126//569 16159//570 1389//571 +f 23156//572 16461//573 3622//574 +f 1621//575 1603//576 1602//577 +f 15281//404 15154//403 1031//568 +f 9547//578 23156//572 3622//574 +f 22820//354 22819//579 22720//355 +f 35730//187 35644//580 20536//188 +f 15033//581 12717//582 12628//583 +f 23110//584 23109//585 23011//586 +f 20366//587 20364//588 11359//589 +f 14686//590 20366//587 11359//589 +f 1917//591 5215//592 1918//593 +f 22811//594 22910//595 22909//596 +f 3799//597 3584//598 1031//568 +f 3617//599 5759//600 5350//601 +f 16820//312 16984//299 16983//302 +f 17571//602 6899//603 23244//604 +f 4003//605 3869//606 2401//297 +f 16819//313 16820//312 16983//302 +f 35494//607 35562//608 35770//609 +f 16505//304 16661//282 16660//305 +f 1212//610 4815//611 6250//612 +f 2938//294 589//296 466//298 +f 2260//468 16494//613 16384//614 +f 819//469 2260//468 16384//614 +f 17245//615 17244//616 17080//617 +f 22711//492 22712//618 22810//619 +f 5335//620 577//621 1494//622 +f 17243//623 4332//624 17242//625 +f 9880//626 8526//627 9765//628 +f 1660//526 15186//629 15185//61 +f 2983//59 1660//526 15185//61 +f 15186//629 16845//630 16831//86 +f 15185//61 15186//629 16831//86 +f 16845//630 14732//631 14706//91 +f 1769//632 15241//178 15816//633 +f 16831//86 16845//630 14706//91 +f 2844//388 2575//387 17015//484 +f 2670//634 16492//635 15935//636 +f 35933//637 35915//638 35488//639 +f 17014//483 3122//640 4279//641 +f 21217//1 22156//426 21216//2 +f 20091//642 23156//572 9547//578 +f 22835//643 20538//644 35521//645 +f 3127//413 3404//646 2765//414 +f 14426//647 14452//648 14451//649 +f 14425//650 14426//647 14451//649 +f 17246//651 17245//615 17081//652 +f 303//653 2308//317 5863//654 +f 23399//655 14763//497 23398//499 +f 17080//617 16917//656 17081//652 +f 26922//657 27040//658 27039//659 +f 15731//660 21148//170 14946//172 +f 4328//661 4327//662 17245//615 +f 17246//651 4328//661 17245//615 +f 1917//591 1918//593 4327//662 +f 4328//661 1917//591 4327//662 +f 16710//663 14415//664 14392//665 +f 5215//592 5350//601 1918//593 +f 14534//666 14535//465 15662//467 +f 16703//667 16710//663 14392//665 +f 32357//668 26610//669 26513//670 +f 2054//385 6118//671 20485//672 +f 14732//631 1605//673 16626//93 +f 14706//91 14732//631 16626//93 +f 1605//673 15432//674 14876//95 +f 16626//93 1605//673 14876//95 +f 15432//674 3887//675 5063//97 +f 14876//95 15432//674 5063//97 +f 15241//178 15680//185 15816//633 +f 3887//675 2982//676 5357//99 +f 15556//320 15557//530 3481//322 +f 5299//677 16790//678 5298//679 +f 15061//680 16028//141 15895//143 +f 6404//531 16488//681 16636//470 +f 16740//682 16898//683 16739//684 +f 15643//534 15644//535 15780//75 +f 20348//685 20135//686 19194//687 +f 17027//538 17019//688 16857//689 +f 16433//690 16585//691 16432//692 +f 14335//693 11509//694 12736//695 +f 16204//113 16350//488 16203//547 +f 17061//696 17060//697 16897//698 +f 1454//550 3600//699 1569//551 +f 22622//220 22621//222 22522//700 +f 4330//701 1454//550 4333//552 +f 3600//699 1034//702 1569//551 +f 3600//699 3747//703 3878//704 +f 1034//702 3600//699 3878//704 +f 2231//705 16544//706 2102//707 +f 5856//556 14616//708 2483//557 +f 16102//709 16100//566 14700//485 +f 16245//710 16246//711 16396//712 +f 15224//713 14627//714 14607//715 +f 141//716 14509//717 6652//718 +f 14767//270 14880//432 14879//719 +f 4809//720 16704//721 15267//722 +f 14661//268 14767//270 14766//723 +f 7530//567 3799//597 1031//568 +f 16399//724 26//725 16792//726 +f 29542//727 35598//728 35633//729 +f 1773//730 15363//731 1656//732 +f 13579//733 35560//734 13608//735 +f 1737//736 2130//737 4230//738 +f 1622//739 15363//731 933//740 +f 5759//600 5624//741 5351//742 +f 9564//743 6120//744 9680//745 +f 3081//746 4804//747 4939//748 +f 4327//662 1918//593 4326//749 +f 5215//592 3617//599 5350//601 +f 3080//750 3081//746 4939//748 +f 3617//599 3081//746 3080//750 +f 5759//600 3617//599 3080//750 +f 14632//309 2308//317 4939//748 +f 4804//747 14632//309 4939//748 +f 16494//613 15110//751 15097//752 +f 16384//614 16494//613 15097//752 +f 15110//751 16710//663 16703//667 +f 15097//752 15110//751 16703//667 +f 20242//753 13856//754 20072//755 +f 20679//756 20091//642 9547//578 +f 17076//757 17075//758 16912//540 +f 932//759 1503//760 3965//761 +f 13877//762 12933//763 17185//764 +f 13098//765 12639//766 12549//767 +f 5063//97 3887//675 5357//99 +f 2982//676 16691//768 6019//101 +f 5357//99 2982//676 6019//101 +f 5211//769 3352//159 15423//770 +f 16691//768 5410//771 16805//153 +f 17015//484 17014//483 4279//641 +f 110//772 6254//773 561//774 +f 16638//775 16482//72 1661//74 +f 3122//640 15557//530 15556//320 +f 16665//227 16670//393 1419//395 +f 16613//776 11386//777 3584//598 +f 3799//597 16613//776 3584//598 +f 1535//394 3667//391 16947//390 +f 15739//778 16450//779 13146//780 +f 27052//781 27053//782 28358//783 +f 13557//784 15739//778 13146//780 +f 24633//785 24304//786 24303//787 +f 1026//311 819//469 138//788 +f 13330//248 21135//32 21049//31 +f 4929//789 4939//748 303//653 +f 14452//648 14503//790 14502//791 +f 3219//792 3080//750 4929//789 +f 2308//317 1026//311 5863//654 +f 5624//741 5759//600 3219//792 +f 4939//748 2308//317 303//653 +f 5350//601 5759//600 5351//742 +f 3080//750 4939//748 4929//789 +f 20243//793 15033//581 12872//794 +f 5759//600 3080//750 3219//792 +f 14415//664 498//214 16948//389 +f 15682//193 15793//795 14656//194 +f 15967//796 3214//797 15292//798 +f 14392//665 14415//664 16948//389 +f 1562//799 14469//154 5211//769 +f 3352//159 15553//161 15423//770 +f 6019//101 16691//768 16805//153 +f 5410//771 15060//800 15760//158 +f 16805//153 5410//771 15760//158 +f 15060//800 15823//801 15687//160 +f 2926//802 6020//102 1562//799 +f 14469//154 3352//159 5211//769 +f 15522//110 14549//803 2005//804 +f 3481//322 6404//531 16636//470 +f 16987//805 15160//806 16515//807 +f 17136//808 11409//809 16970//810 +f 15246//811 15247//812 15374//813 +f 16898//683 17061//696 16897//698 +f 11223//814 9393//815 11224//816 +f 21465//22 21466//376 20432//373 +f 6399//817 4138//818 2525//819 +f 16145//820 16288//821 16144//822 +f 15374//813 15375//823 15505//824 +f 1037//825 1405//826 503//328 +f 9569//827 4410//828 15732//829 +f 15506//830 15641//831 15640//832 +f 27052//781 28358//783 28357//363 +f 15456//208 15327//833 13866//834 +f 3747//703 5888//835 5887//836 +f 3878//704 3747//703 5887//836 +f 5887//836 5888//835 2611//837 +f 5888//835 4905//838 2611//837 +f 3851//839 16544//706 16698//840 +f 4905//838 2214//841 3456//842 +f 16246//711 3851//839 16396//712 +f 16396//712 3851//839 16698//840 +f 15199//843 3340//844 16449//845 +f 16700//846 16857//689 143//847 +f 34278//848 34277//849 34139//850 +f 7458//851 11252//852 13663//853 +f 26904//854 26905//855 26594//856 +f 23155//857 9784//858 23252//859 +f 13430//564 20266//860 20434//861 +f 15468//862 12632//863 15339//864 +f 23317//865 10706//866 22936//867 +f 22223//868 22319//164 22222//869 +f 1453//870 1919//871 4067//872 +f 22127//873 22223//868 22222//869 +f 5350//601 5351//742 1800//874 +f 4200//875 1453//870 4067//872 +f 17245//615 4327//662 17244//616 +f 1918//593 5350//601 1800//874 +f 17081//652 17245//615 17080//617 +f 1918//593 1800//874 4326//749 +f 23302//876 23399//655 23301//877 +f 4327//662 4326//749 17244//616 +f 14237//878 14686//590 4197//879 +f 16917//656 17080//617 16916//880 +f 14686//590 11359//589 4197//879 +f 23399//655 23398//499 23301//877 +f 20158//881 20243//793 12872//794 +f 22613//491 22712//618 22711//492 +f 19824//882 461//883 19761//884 +f 1494//622 577//621 2259//885 +f 13892//886 9661//887 6768//888 +f 33612//889 33739//890 33611//891 +f 15760//158 15060//800 15687//160 +f 15823//801 16824//892 3746//162 +f 15687//160 15823//801 3746//162 +f 16824//892 15757//893 16491//177 +f 15553//161 14601//163 14602//894 +f 3746//162 16824//892 16491//177 +f 5296//895 5297//896 5431//897 +f 15423//770 15553//161 14602//894 +f 19019//898 15490//899 19121//900 +f 35646//901 35926//902 35596//903 +f 1419//395 1535//394 16947//390 +f 15509//533 15644//535 15643//534 +f 21498//904 16011//905 11280//906 +f 3667//391 1537//536 4540//392 +f 1419//395 16947//390 16785//907 +f 16753//908 16754//541 16912//540 +f 16665//227 1419//395 1069//909 +f 16648//910 16665//227 1069//909 +f 699//911 2259//885 15661//912 +f 14996//913 15034//225 16648//910 +f 22220//123 22316//398 22219//124 +f 22413//914 22412//915 22315//399 +f 16914//916 16913//539 16755//917 +f 35841//918 9452//919 11778//920 +f 17077//921 17076//757 16913//539 +f 17077//921 17241//922 17076//757 +f 16914//916 17077//921 16913//539 +f 17241//922 17240//923 17076//757 +f 4200//875 4067//872 17240//923 +f 17241//922 4200//875 17240//923 +f 15249//924 15250//925 15377//926 +f 15378//927 15509//533 15508//532 +f 15144//84 3619//83 1449//138 +f 15377//926 15378//927 15508//532 +f 4279//641 3122//640 15556//320 +f 14797//928 17112//929 17113//930 +f 5492//100 6020//102 2926//802 +f 5628//931 5492//100 2926//802 +f 35936//932 12040//933 11960//934 +f 2145//935 19052//936 2146//937 +f 14490//938 296//939 15566//940 +f 8118//941 14830//942 10455//943 +f 17025//98 5492//100 5628//931 +f 17024//944 17025//98 5628//931 +f 14158//945 3055//946 12254//947 +f 16659//493 16660//305 16818//948 +f 16363//949 16515//807 15415//950 +f 14622//139 14805//951 15287//140 +f 14588//952 14729//953 14903//954 +f 16288//821 16287//955 16144//822 +f 2796//956 14729//953 14588//952 +f 2525//819 2796//956 14588//952 +f 2135//957 14491//958 6669//959 +f 14729//953 14904//960 14903//954 +f 1185//961 110//772 3350//962 +f 15679//963 3030//964 792//965 +f 13790//966 12573//967 24997//968 +f 16242//969 16243//970 15183//971 +f 8224//972 20365//973 13279//974 +f 11970//975 13787//976 14158//945 +f 35596//903 35478//977 35433//978 +f 27047//979 27052//781 28357//363 +f 35729//980 13211//981 13591//982 +f 28886//983 29940//984 27052//781 +f 3456//842 2214//841 6010//985 +f 15122//986 15249//924 15248//987 +f 2611//837 4905//838 3456//842 +f 918//988 2662//989 2527//990 +f 2668//991 16246//711 16245//710 +f 2214//841 918//988 6010//985 +f 17192//992 17026//537 16700//846 +f 143//847 2668//991 16245//710 +f 15305//993 4540//392 17192//992 +f 16857//689 2668//991 143//847 +f 16785//907 16947//390 15305//993 +f 17026//537 16857//689 16700//846 +f 1069//909 1419//395 16785//907 +f 4540//392 17026//537 17192//992 +f 1735//994 932//759 6516//995 +f 16947//390 4540//392 15305//993 +f 5468//996 5621//997 6258//998 +f 3354//999 932//759 1735//994 +f 5468//996 6258//998 1919//871 +f 5621//997 3355//1000 3354//999 +f 1453//870 5468//996 1919//871 +f 5621//997 5620//1001 6258//998 +f 5620//1001 5621//997 3354//999 +f 3355//1000 1503//760 932//759 +f 3354//999 3355//1000 932//759 +f 1503//760 5335//620 3965//761 +f 3965//761 5335//620 1494//622 +f 577//621 2393//1002 2259//885 +f 2259//885 2393//1002 15769//1003 +f 15800//1004 15050//226 15034//225 +f 17240//923 17239//1005 17075//758 +f 16913//539 17076//757 16912//540 +f 13824//1006 13823//1007 13725//1008 +f 11624//1009 6139//1010 13211//981 +f 14892//1011 15012//1012 15011//1013 +f 16637//96 17025//98 17024//944 +f 2765//414 3404//646 5562//1014 +f 14601//163 15241//178 1769//632 +f 6020//102 14469//154 1562//799 +f 4784//1015 2613//1016 3663//1017 +f 14602//894 14601//163 1769//632 +f 3206//1018 938//1019 1647//1020 +f 7009//1021 5733//1022 6911//1023 +f 17026//537 17027//538 16857//689 +f 3619//83 14622//139 1449//138 +f 13557//784 13146//780 15462//1024 +f 17019//688 2669//1025 2668//991 +f 2283//1026 4675//1027 2847//1028 +f 15463//1029 13557//784 15462//1024 +f 16628//1030 16627//1031 15306//1032 +f 15307//1033 2283//1026 1154//1034 +f 1154//1034 2283//1026 2847//1028 +f 15306//1032 15307//1033 1154//1034 +f 15769//1003 15034//225 14996//913 +f 15661//912 15769//1003 14996//913 +f 1406//1035 1494//622 699//911 +f 15034//225 16665//227 16648//910 +f 6516//995 3965//761 1406//1035 +f 2259//885 15769//1003 15661//912 +f 3965//761 1494//622 1406//1035 +f 1494//622 2259//885 699//911 +f 859//415 5752//553 1613//416 +f 4603//549 4250//400 3400//402 +f 3851//839 3875//1036 16544//706 +f 3986//1037 35841//918 11402//1038 +f 15250//925 15378//927 15377//926 +f 15287//140 14805//951 16638//775 +f 4245//424 14338//425 15614//338 +f 17808//134 17809//201 17904//203 +f 3209//429 15522//110 2005//804 +f 17012//1039 16028//141 15061//680 +f 17116//94 16637//96 14723//1040 +f 17114//1041 17116//94 14723//1040 +f 15011//1013 15012//1012 15134//1042 +f 14368//1043 14383//1044 14367//1045 +f 14592//1046 14552//1047 14564//273 +f 14383//1044 14382//1048 14367//1045 +f 14683//92 17116//94 17114//1041 +f 14654//1049 14683//92 17114//1041 +f 81//1050 80//1051 15972//1052 +f 3214//797 617//1053 1062//1054 +f 14904//960 16468//1055 16467//1056 +f 14641//1057 14741//1058 5140//1059 +f 14903//954 14904//960 16467//1056 +f 16468//1055 246//1060 51//1061 +f 4944//1062 14789//1063 2177//1064 +f 5143//1065 80//1051 81//1050 +f 2177//1064 5143//1065 81//1050 +f 80//1051 16946//1066 15972//1052 +f 23207//176 23305//175 23304//1067 +f 14788//1068 15490//899 26//725 +f 11875//1069 11974//1070 12750//1071 +f 19770//1072 18489//1073 19640//1074 +f 32357//668 32462//1075 26611//1076 +f 35514//1077 27756//1078 29542//727 +f 6908//1079 6990//1080 9681//1081 +f 4928//1082 14430//1083 2898//1084 +f 16080//1085 13229//1086 15939//1087 +f 2442//1088 14783//1089 14765//332 +f 15121//1090 15122//986 15248//987 +f 6911//1023 6912//1091 2388//1092 +f 14998//1093 14999//1094 15121//1090 +f 15249//924 15377//926 15376//1095 +f 15569//1096 14987//1097 14986//1098 +f 3205//1099 16115//1100 14803//1101 +f 6010//985 918//988 2527//990 +f 15542//1102 15569//1096 14986//1098 +f 2662//989 15569//1096 15542//1102 +f 2527//990 2662//989 15542//1102 +f 14987//1097 16641//1103 16640//1104 +f 14986//1098 14987//1097 16640//1104 +f 16641//1103 827//1105 4//1106 +f 16640//1104 16641//1103 4//1106 +f 827//1105 16627//1031 16628//1030 +f 4//1106 827//1105 16628//1030 +f 5890//1107 3354//999 1735//994 +f 16627//1031 15307//1033 15306//1032 +f 5620//1001 3354//999 5890//1107 +f 932//759 3965//761 6516//995 +f 6258//998 5620//1001 5619//1108 +f 5619//1108 5620//1001 5890//1107 +f 6258//998 1270//1109 2043//1110 +f 1270//1109 6258//998 5619//1108 +f 1919//871 2043//1110 3933//1111 +f 1919//871 6258//998 2043//1110 +f 17076//757 17240//923 17075//758 +f 4067//872 1919//871 3933//1111 +f 389//1112 390//293 5753//554 +f 4067//872 3933//1111 17239//1005 +f 3450//1113 2210//1114 2002//1115 +f 6520//1116 13792//1117 13239//1118 +f 33489//1119 33488//1120 33375//1121 +f 2915//1122 3044//1123 5876//1124 +f 2783//1125 5413//1126 2782//1127 +f 16823//1128 16828//87 14654//1049 +f 14337//1129 2940//1130 15481//1131 +f 16660//305 16819//313 16818//948 +f 14723//1040 16637//96 17024//944 +f 15794//1132 5952//1133 15225//1134 +f 15656//1135 15161//82 15144//84 +f 14714//1136 24177//1137 4813//1138 +f 16503//489 16504//303 16659//493 +f 16857//689 17019//688 2668//991 +f 27375//1139 35939//1140 30420//1141 +f 22030//1142 22031//1143 22126//1144 +f 2669//1025 16104//1145 16246//711 +f 16503//489 16502//1146 16349//546 +f 22319//164 22318//1147 22222//869 +f 34140//1148 34139//850 34003//1149 +f 16350//488 16503//489 16349//546 +f 22609//1150 22610//1151 22708//1152 +f 14254//1153 1024//1154 3055//946 +f 2228//1155 2099//1156 17111//1157 +f 3221//1158 5690//1159 14707//1160 +f 15546//1161 2265//1162 1653//1163 +f 35622//1164 35756//1165 35578//1166 +f 4675//1027 2265//1162 15546//1161 +f 364//1167 17714//1168 17620//1169 +f 2847//1028 4675//1027 15546//1161 +f 2265//1162 1770//1170 1653//1163 +f 3213//1171 14902//1172 15770//1173 +f 17113//930 2133//1174 15616//1175 +f 4002//1176 4003//605 589//296 +f 14809//1177 4548//1178 16826//236 +f 35468//1179 13026//1180 12203//1181 +f 11409//809 17136//808 13296//1182 +f 15690//319 3348//321 580//1183 +f 15826//1184 15690//319 580//1183 +f 16819//313 16983//302 16982//409 +f 15931//337 4245//424 15614//338 +f 15163//1185 15172//62 16823//1128 +f 16828//87 14683//92 14654//1049 +f 3403//1186 2577//60 15163//1185 +f 15172//62 16828//87 16823//1128 +f 27053//782 28359//1187 28358//783 +f 11445//1188 13984//1189 11877//1190 +f 15481//1131 16031//1191 15820//1192 +f 940//1193 6144//1194 4233//1195 +f 23103//127 23102//1196 23004//1197 +f 820//58 2577//60 3403//1186 +f 14823//1198 16363//949 15415//950 +f 5481//1199 5545//1200 250//1201 +f 5466//1202 4138//818 6399//817 +f 6669//959 5466//1202 6399//817 +f 16054//1203 16094//1204 4944//1062 +f 14789//1063 5143//1065 2177//1064 +f 15505//824 15506//830 15640//832 +f 3594//1205 1484//1206 3461//1207 +f 22806//1208 22807//459 22905//1209 +f 21025//1210 21111//1211 21024//1212 +f 15819//1213 14721//1214 15115//1215 +f 582//1216 708//1217 467//454 +f 15174//1218 2766//1219 4925//1220 +f 19035//1221 29940//984 28886//983 +f 3480//1222 3479//1223 4148//1224 +f 15182//1225 15175//1226 16696//1227 +f 15833//1228 2120//1229 3480//1222 +f 3479//1223 15182//1225 4148//1224 +f 2798//1230 276//1231 15833//1228 +f 2120//1229 3479//1223 3480//1222 +f 23244//604 19035//1221 28886//983 +f 17188//1232 17190//1233 2798//1230 +f 4017//1234 2442//1088 14765//332 +f 14879//719 14999//1094 14998//1093 +f 14878//1235 14879//719 14998//1093 +f 14766//723 14879//719 14878//1235 +f 3353//1236 14981//1237 1422//336 +f 14999//1094 15122//986 15121//1090 +f 4330//701 4333//552 17236//1238 +f 14982//1239 14984//1240 4144//1241 +f 17237//1242 17236//1238 17072//1243 +f 14981//1237 15931//337 1422//336 +f 17073//1244 17072//1243 16909//1245 +f 17073//1244 17237//1242 17072//1243 +f 33266//1246 33375//1121 33265//1247 +f 16910//1248 17073//1244 16909//1245 +f 14984//1240 3205//1099 4144//1241 +f 3596//1249 2501//1250 8683//1251 +f 4928//1082 14515//1252 15555//1253 +f 16061//80 16060//1254 15918//1255 +f 15689//1256 4928//1082 15555//1253 +f 14589//543 14568//545 948//1257 +f 15919//71 16061//80 15918//1255 +f 16204//113 16203//547 16060//1254 +f 5752//553 389//1112 5753//554 +f 16061//80 16204//113 16060//1254 +f 1500//1258 3623//1259 3082//1260 +f 2684//1261 14984//1240 14982//1239 +f 34756//1262 29811//1263 34755//1264 +f 14430//1083 4935//1265 15974//1266 +f 2002//1115 6520//1116 13239//1118 +f 14117//1267 14118//1268 14213//1269 +f 10652//1270 4241//1271 10529//1272 +f 2210//1114 6520//1116 2002//1115 +f 35603//1273 35612//1274 35418//1275 +f 15133//1276 15260//283 15259//286 +f 15132//1277 15133//1276 15259//286 +f 29940//984 27053//782 27052//781 +f 14492//1278 1532//54 3317//1279 +f 3026//56 820//58 139//1280 +f 1306//1281 1422//336 15614//338 +f 17905//202 17998//1282 17997//1283 +f 26940//1284 35546//1285 35669//1286 +f 35686//1287 30076//1288 35365//1289 +f 2668//991 2669//1025 16246//711 +f 14586//1290 14680//1291 16399//724 +f 21205//1292 15468//862 21204//1293 +f 16104//1145 3875//1036 3851//839 +f 16503//489 16659//493 16658//1294 +f 12632//863 22936//867 15339//864 +f 15779//1295 15780//75 15918//1255 +f 16502//1146 16503//489 16658//1294 +f 15182//1225 15183//971 15175//1226 +f 15221//1296 15348//1297 16775//1298 +f 23324//1299 23421//1300 22928//1301 +f 22027//1302 22123//125 22122//1303 +f 23027//1304 23324//1299 22928//1301 +f 21949//1305 15197//1306 21880//1307 +f 16910//1248 16909//1245 16751//1308 +f 24417//1309 25661//1310 25660//1311 +f 22728//1312 18045//1313 22827//1314 +f 16752//1315 16910//1248 16751//1308 +f 14515//1252 4928//1082 2898//1084 +f 4280//1316 2684//1261 14982//1239 +f 23027//1304 22928//1301 21213//1317 +f 22123//125 22219//124 22218//396 +f 583//1318 2400//1319 2938//294 +f 14507//1320 16174//1321 16827//1322 +f 15438//1323 14873//1324 14655//1325 +f 14424//1326 14450//1327 14423//1328 +f 16782//1329 5141//1330 17187//1331 +f 16625//1332 16782//1329 17187//1331 +f 16818//948 16819//313 16982//409 +f 15456//208 13866//834 12568//209 +f 2626//1333 6261//51 14492//1278 +f 1532//54 3026//56 3317//1279 +f 3591//1334 17194//1335 5041//1336 +f 5753//554 390//293 5754//1337 +f 2938//294 466//298 280//295 +f 35592//1338 35853//1339 35447//1340 +f 6261//51 1532//54 14492//1278 +f 504//1341 1037//825 503//328 +f 139//1280 820//58 3403//1186 +f 2577//60 15172//62 15163//1185 +f 34548//1342 34547//1343 34410//1344 +f 16983//302 17149//301 17148//548 +f 14445//1345 14444//1346 14418//1347 +f 14575//1348 14667//1349 14574//1350 +f 9857//1351 17006//1352 16844//1353 +f 5679//1354 5678//1355 5543//1356 +f 14455//1357 14505//1358 14454//1359 +f 21979//1360 21949//1305 21122//1361 +f 15240//15 22433//367 23128//16 +f 15782//1362 15783//1363 15921//1364 +f 3040//1365 18498//1366 17914//1367 +f 15765//1368 15773//544 4280//1316 +f 3966//1369 3181//1370 3040//1365 +f 35472//436 35903//438 35398//1371 +f 3181//1370 1368//1372 1493//1373 +f 6798//1374 1493//1373 1368//1372 +f 1368//1372 5070//1375 6798//1374 +f 6798//1374 1379//1376 19365//1377 +f 11442//1378 10362//1379 11412//1380 +f 35426//1381 35875//1382 35899//437 +f 276//1231 2120//1229 15833//1228 +f 15247//812 15375//823 15374//813 +f 5069//1383 18865//1384 18004//1385 +f 5069//1383 3045//1386 559//1387 +f 18358//1388 1757//1389 1756//1390 +f 559//1387 1756//1390 5069//1383 +f 16115//1100 2442//1088 4017//1234 +f 1269//1391 6765//1392 17366//1393 +f 6988//1394 16471//1395 16320//1396 +f 14803//1101 16115//1100 4017//1234 +f 6649//1397 6988//1394 16320//1396 +f 16471//1395 6018//1398 16402//1399 +f 16320//1396 16471//1395 16402//1399 +f 2907//1400 3744//1401 276//1231 +f 6018//1398 2907//1400 17190//1233 +f 16402//1399 6018//1398 17190//1233 +f 22610//1151 22709//1402 22708//1152 +f 17190//1233 2907//1400 276//1231 +f 6788//1403 27411//1404 29564//1405 +f 20215//1406 20301//1407 20214//1408 +f 9624//1409 21205//1292 16157//1410 +f 15065//241 13368//240 23418//1411 +f 12902//1412 9401//1413 23430//1414 +f 15071//137 15072//1415 15462//1024 +f 14158//945 14254//1153 3055//946 +f 30366//1416 7400//1417 19466//1418 +f 13660//365 14909//1419 14908//1420 +f 21205//1292 21204//1293 16157//1410 +f 9333//1421 2361//1422 3467//1423 +f 24751//1424 8581//1425 9403//1426 +f 14214//1427 14312//1428 14311//1429 +f 14213//1269 14214//1427 14311//1429 +f 13871//1430 2210//1114 3450//1113 +f 13482//1431 13871//1430 3450//1113 +f 14737//1432 15221//1296 16775//1298 +f 20791//1433 20792//1434 20873//1435 +f 14781//559 14782//558 14894//1436 +f 35484//1437 35610//1438 35621//1439 +f 14782//558 14895//1440 14894//1436 +f 15266//1441 14785//1442 14786//1443 +f 119//35 3360//34 4810//36 +f 2781//1444 2917//1445 2311//1446 +f 17149//301 3362//325 4250//400 +f 3317//1279 3026//56 139//1280 +f 3348//321 14682//471 15171//1447 +f 17148//548 17149//301 4250//400 +f 16246//711 16104//1145 3851//839 +f 15006//1448 15129//1449 15005//1450 +f 15550//513 15549//1451 16956//1452 +f 3875//1036 5273//1453 16544//706 +f 14991//1454 12647//1455 15348//1297 +f 11252//852 12902//1412 13663//853 +f 15642//1456 15643//534 15779//1295 +f 20293//1457 20292//1458 20206//1459 +f 1534//422 15224//713 14463//423 +f 15221//1296 14991//1454 15348//1297 +f 5292//1460 16328//1461 588//1462 +f 14453//1463 14454//1359 14504//1464 +f 15183//971 15174//1218 15175//1226 +f 20354//1465 20438//1466 24053//1467 +f 16242//969 15183//971 15182//1225 +f 3479//1223 16242//969 15182//1225 +f 276//1231 3744//1401 2120//1229 +f 17183//1468 16242//969 3479//1223 +f 3744//1401 17183//1468 2120//1229 +f 2120//1229 17183//1468 3479//1223 +f 6015//205 16549//1469 2133//1174 +f 560//1470 6002//1471 16795//1472 +f 9772//1473 20327//1474 14324//1475 +f 21051//1476 23027//1304 21213//1317 +f 4002//1176 1298//1477 4003//605 +f 2400//1319 589//296 2938//294 +f 14927//1478 15046//1479 15761//1480 +f 15109//1481 14329//1482 14985//1483 +f 6989//1484 3797//1485 1445//1486 +f 1890//1487 6989//1484 1445//1486 +f 1968//1488 1969//1489 12647//1455 +f 21134//418 21133//420 20364//588 +f 12868//249 13330//248 21049//31 +f 3360//34 3359//1490 4810//36 +f 15685//1491 3484//1492 15684//1493 +f 14991//1454 1968//1488 12647//1455 +f 3463//1494 5418//1495 1969//1489 +f 3460//1496 4267//1497 4393//1498 +f 28198//1499 28199//1500 28315//1501 +f 1452//1502 1797//1503 4810//36 +f 25012//1504 25146//1505 30533//1506 +f 15120//1507 15247//812 15246//811 +f 11529//1508 13975//1509 12126//1510 +f 16982//409 16983//302 17148//548 +f 14413//1511 14930//1512 14728//1513 +f 14805//951 16482//72 16638//775 +f 14504//1464 14505//1358 14583//411 +f 15168//1514 14995//1515 6016//231 +f 14909//1419 4517//1516 7904//1517 +f 1968//1488 3463//1494 1969//1489 +f 4365//1518 15565//1519 15699//1520 +f 15210//1521 3596//1249 3669//1522 +f 3861//1523 1758//1524 3966//1369 +f 20176//1525 19906//1526 30290//1527 +f 1758//1524 3321//1528 3181//1370 +f 3966//1369 1758//1524 3181//1370 +f 3321//1528 1369//1529 1368//1372 +f 3181//1370 3321//1528 1368//1372 +f 1369//1529 6138//1530 5070//1375 +f 1368//1372 1369//1529 5070//1375 +f 6138//1530 1261//1531 1378//1532 +f 5070//1375 6138//1530 1378//1532 +f 22161//1533 19424//1534 19436//1535 +f 1261//1531 3597//1536 1378//1532 +f 5203//1537 559//1387 3464//1538 +f 3597//1536 5203//1537 3464//1538 +f 1638//1539 1756//1390 559//1387 +f 5203//1537 1638//1539 559//1387 +f 1268//1540 1269//1391 1756//1390 +f 1638//1539 1268//1540 1756//1390 +f 31557//1541 26613//1542 34062//1543 +f 1268//1540 6765//1392 1269//1391 +f 20021//1544 23818//1545 20022//1546 +f 35349//1547 35410//1548 35852//1549 +f 25766//1550 25765//1551 19477//1552 +f 26603//1553 24163//1554 23255//1555 +f 16402//1399 17190//1233 17188//1232 +f 1173//1556 18909//1557 1508//1558 +f 15953//1559 13717//1560 16093//1561 +f 16555//1562 16634//1563 6649//1397 +f 3463//1494 11564//1564 2365//1565 +f 14765//332 14783//1089 16390//333 +f 15008//1566 15009//1567 15131//1568 +f 35802//1569 35759//1570 7083//1571 +f 14557//1572 14556//1573 14865//1574 +f 10618//1575 8458//1576 9575//1577 +f 3353//1236 1422//336 16390//333 +f 12827//1578 3725//1579 3926//1580 +f 14428//1581 14454//1359 14453//1463 +f 15596//1582 15732//829 11258//1583 +f 14427//1584 14428//1581 14453//1463 +f 3732//1585 18319//1586 5757//1587 +f 14076//1588 12036//1589 14311//1429 +f 14312//1428 14076//1588 14311//1429 +f 9975//1590 13871//1430 13482//1431 +f 9976//1591 9975//1590 13482//1431 +f 20781//1592 20703//1593 20702//1594 +f 20702//1594 20701//1595 20783//1596 +f 22721//221 22720//355 22621//222 +f 10489//1597 35640//1598 10005//1599 +f 15049//1600 34343//1601 20679//756 +f 34343//1601 20091//642 20679//756 +f 1540//39 1425//1602 3359//1490 +f 12872//794 15033//581 12628//583 +f 4102//1603 8883//1604 17083//1605 +f 3360//34 1540//39 3359//1490 +f 1183//1606 15690//319 15826//1184 +f 4250//400 3362//325 3401//401 +f 17154//235 14809//1177 16826//236 +f 580//1183 3348//321 15171//1447 +f 4281//1607 4414//1608 90//1609 +f 35512//1610 35349//1547 35879//1611 +f 5418//1495 3463//1494 2365//1565 +f 321//1612 690//1613 6265//1614 +f 15508//532 15643//534 15642//1456 +f 23155//857 23252//859 3055//946 +f 15696//1615 15693//1616 16102//709 +f 15780//75 15919//71 15918//1255 +f 14694//1617 2710//1618 14764//1619 +f 16855//1620 15693//1616 15696//1615 +f 2612//1621 5462//1622 6270//1623 +f 5327//1624 5462//1622 2612//1621 +f 6141//1625 2258//1626 698//1627 +f 6270//1623 6141//1625 698//1627 +f 821//1628 16402//1399 17188//1232 +f 17190//1233 276//1231 2798//1230 +f 4467//1629 4460//1630 17233//1631 +f 17234//1632 4467//1629 17233//1631 +f 5567//1633 15327//833 9080//1634 +f 15327//833 9569//827 13866//834 +f 16955//1635 7418//1636 560//1470 +f 15909//1637 3213//1171 15770//1173 +f 16911//1638 16910//1248 16752//1315 +f 22759//1639 20823//1640 15051//1641 +f 15502//1642 15636//1643 3210//555 +f 1298//1477 948//1257 4003//605 +f 11703//1644 11621//1645 14569//1646 +f 14329//1482 16466//1647 14985//1483 +f 3797//1485 16782//1329 16625//1332 +f 1445//1486 3797//1485 16625//1332 +f 23208//1648 23207//176 23109//585 +f 20720//1649 20719//1650 20638//1651 +f 12990//1652 13084//25 4683//27 +f 33868//1653 33867//1654 33733//1655 +f 13663//853 12902//1412 23430//1414 +f 2624//1656 13086//1657 16919//1658 +f 19312//1659 5630//1660 5764//1661 +f 16918//371 2624//1656 16919//1658 +f 29514//1662 29515//1663 29652//1664 +f 11390//1665 6662//1666 22054//1667 +f 17321//1668 29013//1669 19036//1670 +f 32000//1671 31999//1672 31898//1673 +f 15909//1637 15770//1173 15359//1674 +f 15412//1675 15411//1676 14353//1677 +f 20462//1678 20461//1679 20377//1680 +f 2711//1681 15359//1674 4548//1178 +f 29666//1682 29799//1683 29665//1684 +f 11564//1564 9063//1685 13496//1686 +f 4679//1687 4814//1688 15698//1689 +f 30633//1690 28997//1691 29547//1692 +f 19059//1693 19161//1694 19058//1695 +f 15773//544 15765//1368 14568//545 +f 17297//1696 2257//1697 18337//1698 +f 953//1699 8117//1700 17767//1701 +f 4267//1497 3460//1496 3321//1528 +f 1758//1524 4267//1497 3321//1528 +f 3460//1496 1370//1702 1369//1529 +f 3321//1528 3460//1496 1369//1529 +f 1370//1702 1625//1703 6138//1530 +f 1369//1529 1370//1702 6138//1530 +f 1625//1703 1260//1704 1261//1531 +f 6138//1530 1625//1703 1261//1531 +f 3727//1705 3597//1536 1261//1531 +f 1260//1704 3727//1705 1261//1531 +f 5337//1706 5203//1537 3597//1536 +f 3727//1705 5337//1706 3597//1536 +f 1637//1707 1638//1539 5203//1537 +f 5337//1706 1637//1707 5203//1537 +f 1267//1708 1268//1540 1638//1539 +f 1637//1707 1267//1708 1638//1539 +f 31//1709 6765//1392 1268//1540 +f 1267//1708 31//1709 1268//1540 +f 4922//1710 5057//1711 6765//1392 +f 31//1709 4922//1710 6765//1392 +f 5065//1712 5199//1713 5057//1711 +f 4922//1710 5065//1712 5057//1711 +f 1974//1714 2100//1715 5199//1713 +f 5065//1712 1974//1714 5199//1713 +f 18616//1716 1173//1556 6395//1717 +f 1974//1714 1508//1558 2100//1715 +f 18265//1718 19945//1719 19946//1720 +f 1508//1558 6395//1717 1173//1556 +f 14954//1721 14955//1722 16555//1562 +f 3189//1723 17818//1724 17953//1725 +f 15310//1726 15373//1727 14954//1721 +f 16634//1563 6988//1394 6649//1397 +f 698//1627 2258//1626 15310//1726 +f 14955//1722 16634//1563 16555//1562 +f 556//1728 555//1729 18246//1730 +f 15373//1727 14955//1722 14954//1721 +f 13812//1731 13813//1732 13910//1733 +f 12950//1734 13044//1735 13043//1736 +f 13112//1737 13220//1738 12036//1589 +f 14076//1588 13112//1737 12036//1589 +f 2106//1739 9975//1590 9976//1591 +f 13769//1740 2106//1739 9976//1591 +f 16155//1741 9064//1742 20783//1596 +f 22715//1743 22814//1744 22813//1745 +f 11514//374 18934//1746 19003//375 +f 23128//16 22433//367 21483//369 +f 20921//12 27613//1747 27730//1748 +f 1540//39 6261//51 2626//1333 +f 12778//26 12990//1652 4683//27 +f 28676//1749 30367//1750 30366//1416 +f 1425//1602 1540//39 2626//1333 +f 5141//1330 17016//1751 17017//1752 +f 2365//1565 11564//1564 13496//1686 +f 15830//232 14487//234 1771//233 +f 591//1753 1183//1606 15826//1184 +f 16050//239 16193//238 14815//1754 +f 15641//831 15778//1755 15777//1756 +f 22030//1142 21935//1757 21936//1758 +f 3400//402 3401//401 4413//1759 +f 15377//926 15508//532 15507//1760 +f 29558//1761 35723//1762 35657//1763 +f 16854//1764 16855//1620 15696//1615 +f 15773//544 2684//1261 4280//1316 +f 4812//1765 4677//1766 2044//1767 +f 14727//1768 4149//1769 7091//1770 +f 3486//1771 5327//1624 3589//1772 +f 3485//1773 3486//1771 3589//1772 +f 3589//1772 5327//1624 2612//1621 +f 5462//1622 6141//1625 6270//1623 +f 16502//1146 16658//1294 16657//1774 +f 9063//1685 16616//1775 15539//1776 +f 16501//1777 16502//1146 16657//1774 +f 13496//1686 9063//1685 15539//1776 +f 17234//1632 17233//1631 17069//1778 +f 17070//1779 17234//1632 17069//1778 +f 22127//873 22128//1780 22223//868 +f 35938//1781 1017//1782 12556//1783 +f 834//1784 953//1699 17767//1701 +f 17835//1785 17740//1786 393//1787 +f 17074//1788 17073//1244 16910//1248 +f 16911//1638 17074//1788 16910//1248 +f 10992//1789 28//1790 10024//1791 +f 15636//1643 5856//556 3210//555 +f 3609//1792 6528//1793 6403//1794 +f 15433//1795 2017//1796 10213//1797 +f 15063//1798 15064//1799 16692//1800 +f 16697//1801 6989//1484 1890//1487 +f 22712//618 22811//594 22810//619 +f 22515//156 22614//1802 22613//491 +f 20266//860 16021//7 16022//10 +f 22053//1803 15731//660 22045//1804 +f 2501//1250 16928//377 6890//378 +f 23007//1805 23008//1806 23105//1807 +f 6856//1808 13467//1809 7404//1810 +f 9249//1811 9248//1812 9139//1813 +f 29122//1814 19039//1815 2408//1816 +f 29653//1817 29786//1818 29785//1819 +f 28810//1820 28943//1821 28189//1822 +f 29013//1669 17321//1668 30758//1823 +f 1024//1154 23155//857 3055//946 +f 14809//1177 2711//1681 4548//1178 +f 20207//1824 20293//1457 20206//1459 +f 19631//1825 21943//1826 18263//1827 +f 4144//1241 3205//1099 14803//1101 +f 15468//862 15339//864 21204//1293 +f 15693//1616 16100//566 16102//709 +f 15507//1760 15508//532 15642//1456 +f 4812//1765 4112//1828 4501//1829 +f 16255//1830 273//1831 2016//1832 +f 22224//1833 22320//165 22319//164 +f 4677//1766 4812//1765 4501//1829 +f 4393//1498 3593//1834 3460//1496 +f 2257//1697 4267//1497 1758//1524 +f 3593//1834 1371//1835 1370//1702 +f 3460//1496 3593//1834 1370//1702 +f 3865//1836 1625//1703 1370//1702 +f 1371//1835 3865//1836 1370//1702 +f 3865//1836 2477//1837 1260//1704 +f 1625//1703 3865//1836 1260//1704 +f 3859//1838 3727//1705 1260//1704 +f 2477//1837 3859//1838 1260//1704 +f 931//1839 5337//1706 3727//1705 +f 3859//1838 931//1839 3727//1705 +f 931//1839 1636//1840 1637//1707 +f 5337//1706 931//1839 1637//1707 +f 1636//1840 1266//1841 1267//1708 +f 1637//1707 1636//1840 1267//1708 +f 195//1842 31//1709 1267//1708 +f 1266//1841 195//1842 1267//1708 +f 781//1843 4922//1710 31//1709 +f 195//1842 781//1843 31//1709 +f 4930//1844 5065//1712 4922//1710 +f 781//1843 4930//1844 4922//1710 +f 4640//1845 1974//1714 5065//1712 +f 4930//1844 4640//1845 5065//1712 +f 5469//1846 1508//1558 1974//1714 +f 4640//1845 5469//1846 1974//1714 +f 798//1847 6395//1717 1508//1558 +f 5469//1846 798//1847 1508//1558 +f 3048//1848 3189//1723 6395//1717 +f 798//1847 3048//1848 6395//1717 +f 18431//1849 18403//1850 3590//1851 +f 3048//1848 1032//1852 3189//1723 +f 16349//546 16502//1146 16348//1853 +f 35510//1854 26498//1855 35922//1856 +f 19858//1857 19656//1858 2403//1859 +f 4245//424 15173//1860 16393//151 +f 12234//1861 12235//1862 12319//1863 +f 161//1864 11786//1865 10958//1866 +f 10709//1867 8672//1868 13220//1738 +f 10688//1869 10702//1870 7446//1871 +f 9676//1872 14282//1873 10040//1874 +f 6510//1875 9676//1872 10040//1874 +f 22714//1876 22715//1743 22813//1745 +f 22712//618 22713//1877 22811//594 +f 21404//1878 21495//1879 21971//380 +f 22066//379 21404//1878 21971//380 +f 23006//1880 23005//128 22906//461 +f 22708//1152 22709//1402 22807//459 +f 1894//1881 1774//462 3223//463 +f 1659//1882 25590//1883 25731//1884 +f 1894//1881 5613//1885 5478//464 +f 1774//462 1894//1881 5478//464 +f 5613//1885 4521//1886 1413//476 +f 13122//1887 14160//1888 14064//1889 +f 5478//464 5613//1885 1413//476 +f 4521//1886 6759//1890 1506//524 +f 1413//476 4521//1886 1506//524 +f 6759//1890 2530//1891 2395//525 +f 1506//524 6759//1890 2395//525 +f 14754//1892 14765//332 16391//334 +f 22713//1877 22812//1893 22811//594 +f 22812//1893 22911//1894 22910//595 +f 22811//594 22812//1893 22910//595 +f 2530//1891 2280//1895 1660//526 +f 16616//1775 15341//1896 1565//1897 +f 2395//525 2530//1891 1660//526 +f 16014//341 2478//340 16155//1741 +f 20434//861 20266//860 16022//10 +f 16461//573 14740//1898 16534//1899 +f 15601//103 19700//1900 17797//1901 +f 17187//1331 5141//1330 17017//1752 +f 23012//1902 23110//584 23011//586 +f 14815//1754 15438//1323 14655//1325 +f 17016//1751 1183//1606 591//1753 +f 16217//1903 4137//243 3262//1904 +f 20391//1905 20392//1906 20475//1907 +f 2501//1250 6890//378 8683//1251 +f 3127//413 1328//1908 3404//646 +f 14783//1089 16389//1909 16390//333 +f 22511//1910 22610//1151 22609//1150 +f 15539//1776 16616//1775 1565//1897 +f 15376//1095 15377//926 15507//1760 +f 1801//1911 2044//1767 4460//1630 +f 12919//1912 12559//1913 20132//1914 +f 23206//1915 23205//1916 23107//1917 +f 1801//1911 4812//1765 2044//1767 +f 21283//1918 21284//219 13616//1919 +f 22322//1920 22321//1921 22225//1922 +f 35638//1923 13305//1924 35431//1925 +f 23403//335 5567//1633 9080//1634 +f 24794//1926 24111//1927 24267//1928 +f 28888//1929 30480//1930 35533//1931 +f 16602//1932 20316//1933 12601//1934 +f 21029//1935 15631//1936 23396//1937 +f 17070//1779 17069//1778 16906//1938 +f 16907//1939 17070//1779 16906//1938 +f 21114//261 21113//1940 21027//1941 +f 13951//1942 8258//1943 14455//1357 +f 15792//1944 15546//1161 16243//970 +f 35720//1945 35829//1946 35442//1947 +f 17238//1948 17237//1242 17073//1244 +f 17074//1788 17238//1948 17073//1244 +f 35886//1949 35403//1950 35378//1951 +f 6393//1952 6265//1614 15755//1953 +f 35771//1954 35837//1955 11442//1378 +f 15341//1896 12897//1956 22461//1957 +f 16221//1958 16257//1959 15063//1798 +f 15064//1799 16697//1801 16692//1800 +f 14763//497 15590//136 15457//135 +f 4329//1960 1799//1961 4328//661 +f 20403//1962 20400//3 13369//1963 +f 20365//973 20403//1962 13369//1963 +f 2280//1895 15223//1964 15186//629 +f 1660//526 2280//1895 15186//629 +f 2403//1859 19468//1965 19454//1966 +f 22616//1967 22615//1968 22516//1969 +f 19554//1970 2821//1971 19575//1972 +f 18436//1973 29122//1814 2408//1816 +f 7904//1517 4517//1516 7458//851 +f 30324//1974 30457//1975 30323//1976 +f 4684//1977 18486//1978 18248//1979 +f 9784//858 16449//845 23252//859 +f 17859//1980 18596//1981 34975//1982 +f 28733//1983 28729//1984 29077//1985 +f 2402//1986 709//1987 2937//455 +f 15643//534 15780//75 15779//1295 +f 4112//1828 3486//1771 3485//1773 +f 461//883 1525//1988 14983//1989 +f 20564//1990 20575//1991 21385//1992 +f 4501//1829 4112//1828 3485//1773 +f 1693//1993 18894//1994 1694//1995 +f 14324//1475 14433//1996 13767//1997 +f 908//1998 3723//1999 3593//1834 +f 4393//1498 908//1998 3593//1834 +f 3723//1999 1142//2000 1371//1835 +f 3593//1834 3723//1999 1371//1835 +f 1142//2000 101//2001 3865//1836 +f 1371//1835 1142//2000 3865//1836 +f 1143//2002 2477//1837 3865//1836 +f 101//2001 1143//2002 3865//1836 +f 1143//2002 3991//2003 3859//1838 +f 2477//1837 1143//2002 3859//1838 +f 3991//2003 5472//2004 931//1839 +f 3859//1838 3991//2003 931//1839 +f 5472//2004 3187//2005 1636//1840 +f 931//1839 5472//2004 1636//1840 +f 3187//2005 1149//2006 1266//1841 +f 1636//1840 3187//2005 1266//1841 +f 1149//2006 4265//2007 195//1842 +f 1266//1841 1149//2006 195//1842 +f 4265//2007 780//2008 781//1843 +f 195//1842 4265//2007 781//1843 +f 1519//2009 4930//1844 781//1843 +f 780//2008 1519//2009 781//1843 +f 4647//2010 4640//1845 4930//1844 +f 1519//2009 4647//2010 4930//1844 +f 108//2011 5469//1846 4640//1845 +f 4647//2010 108//2011 4640//1845 +f 3587//2012 798//1847 5469//1846 +f 108//2011 3587//2012 5469//1846 +f 2774//2013 3048//1848 798//1847 +f 3587//2012 2774//2013 798//1847 +f 912//2014 1032//1852 3048//1848 +f 2774//2013 912//2014 3048//1848 +f 109//2015 43//2016 1032//1852 +f 912//2014 109//2015 1032//1852 +f 5458//2017 672//2018 109//2015 +f 109//2015 672//2018 43//2016 +f 9446//2019 11136//2020 9642//2021 +f 12235//1862 12320//2022 12319//1863 +f 8580//2023 6510//1875 10592//2024 +f 7446//1871 8580//2023 10592//2024 +f 10702//1870 3733//2025 8580//2023 +f 10818//2026 9676//1872 6510//1875 +f 22616//1967 22715//1743 22615//1968 +f 3733//2025 10818//2026 8580//2023 +f 20705//2027 20706//2028 20787//2029 +f 15223//1964 16852//2030 16845//630 +f 16206//2031 16352//2032 16351//487 +f 15186//629 15223//1964 16845//630 +f 29769//2033 29898//2034 29768//2035 +f 16205//112 16206//2031 16351//487 +f 13656//2036 2787//2037 21147//171 +f 21484//368 17085//2038 22831//2039 +f 14056//2040 16611//2041 30772//2042 +f 16852//2030 14791//2043 14732//631 +f 33374//2044 33487//2045 33373//2046 +f 13026//1180 35468//1179 35918//2047 +f 1565//1897 15341//1896 22461//1957 +f 14282//1873 2106//1739 13769//1740 +f 10709//1867 10702//1870 10688//1869 +f 8580//2023 10818//2026 6510//1875 +f 10040//1874 14282//1873 13769//1740 +f 20709//2048 20710//2049 20791//1433 +f 10709//1867 10833//2050 10702//1870 +f 16845//630 16852//2030 14732//631 +f 12897//1956 20704//2051 18809//2052 +f 14791//2043 17117//2053 1605//673 +f 14732//631 14791//2043 1605//673 +f 6121//2054 5990//2055 2896//2056 +f 589//296 4003//605 2401//297 +f 5215//592 5081//2057 3617//599 +f 1799//1961 1917//591 4328//661 +f 5863//654 138//788 2663//2058 +f 5729//2059 5863//654 2663//2058 +f 1328//1908 1210//417 3404//646 +f 17017//1752 17016//1751 591//1753 +f 16546//2060 16700//846 1895//2061 +f 14502//791 14581//445 14501//447 +f 21605//2062 21674//2063 12559//1913 +f 3262//1904 4137//243 1426//244 +f 16628//1030 15306//1032 6527//2064 +f 22121//2065 22120//2066 35136//2067 +f 30534//2068 27055//2069 27054//2070 +f 15248//987 15249//924 15376//1095 +f 13656//2036 22462//2071 2787//2037 +f 21284//219 11711//218 13616//1919 +f 11694//2072 9774//2073 13668//2074 +f 4467//1629 1801//1911 4460//1630 +f 2664//2075 3480//1222 15303//2076 +f 13957//2077 13859//289 15158//2078 +f 2785//2079 5413//1126 2784//2080 +f 22461//1957 12897//1956 18809//2052 +f 15059//2081 14693//2082 16393//151 +f 17068//2083 17232//2084 17067//2085 +f 5622//2086 5623//2087 3217//2088 +f 28745//2089 35818//2090 35504//2091 +f 23397//2092 23396//1937 23299//2093 +f 30773//2094 30217//2095 19575//1972 +f 16594//2096 16749//2097 16593//2098 +f 16907//1939 16906//1938 16748//2099 +f 13859//289 15156//2100 15158//2078 +f 12143//2101 11562//2102 11563//2103 +f 2847//1028 15546//1161 15792//1944 +f 32//2104 2847//1028 15792//1944 +f 4331//2105 4330//701 17237//1242 +f 17238//1948 4331//2105 17237//1242 +f 16245//710 16396//712 16847//2106 +f 16244//2107 16245//710 16847//2106 +f 29561//2108 28353//2109 28879//2110 +f 20704//2051 20451//2111 20410//2112 +f 138//788 16257//1959 16221//1958 +f 2663//2058 138//788 16221//1958 +f 5081//2057 5215//592 1917//591 +f 1799//1961 5081//2057 1917//591 +f 17817//2113 2675//2114 2674//2115 +f 16018//2116 12688//2117 15878//2118 +f 27407//2119 26797//2120 26930//2121 +f 13467//1809 19689//2122 19578//2123 +f 29273//2124 26907//2125 19577//2126 +f 19040//2127 28622//2128 30734//2129 +f 30083//2130 6532//2131 28019//2132 +f 29800//2133 29929//2134 29799//1683 +f 27759//2135 28733//1983 29077//1985 +f 13562//366 13660//365 14908//1420 +f 26848//2136 26852//2137 29014//2138 +f 29138//2139 17252//2140 29143//2141 +f 30559//2142 19030//2143 19094//2144 +f 30771//2145 6875//2146 28729//1984 +f 4367//2147 3172//2148 3846//2149 +f 35670//2150 14084//2151 29006//2152 +f 3172//2148 5321//2153 5456//2154 +f 35500//2155 35830//2156 35705//2157 +f 35815//2158 35705//2157 35437//2159 +f 22345//2160 21570//2161 22443//2162 +f 4513//2163 336//2164 908//1998 +f 149//2165 255//2166 17527//2167 +f 3855//2168 3723//1999 908//1998 +f 336//2164 3855//2168 908//1998 +f 3855//2168 6795//2169 1142//2000 +f 3723//1999 3855//2168 1142//2000 +f 72//2170 101//2001 1142//2000 +f 6795//2169 72//2170 1142//2000 +f 1140//2171 1143//2002 101//2001 +f 72//2170 1140//2171 101//2001 +f 1140//2171 4125//2172 3991//2003 +f 1143//2002 1140//2171 3991//2003 +f 4125//2172 326//2173 5472//2004 +f 3991//2003 4125//2172 5472//2004 +f 326//2173 3046//2174 3187//2005 +f 5472//2004 326//2173 3187//2005 +f 3046//2174 1148//2175 1149//2006 +f 3187//2005 3046//2174 1149//2006 +f 1148//2175 4916//2176 4265//2007 +f 1149//2006 1148//2175 4265//2007 +f 4916//2176 786//2177 780//2008 +f 4265//2007 4916//2176 780//2008 +f 786//2177 3466//2178 1519//2009 +f 780//2008 786//2177 1519//2009 +f 3466//2178 2085//2179 4647//2010 +f 1519//2009 3466//2178 4647//2010 +f 2085//2179 123//2180 108//2011 +f 4647//2010 2085//2179 108//2011 +f 123//2180 2211//2181 3587//2012 +f 108//2011 123//2180 3587//2012 +f 2910//2182 2774//2013 3587//2012 +f 2211//2181 2910//2182 3587//2012 +f 911//2183 912//2014 2774//2013 +f 2910//2182 911//2183 2774//2013 +f 155//2184 109//2015 912//2014 +f 911//2183 155//2184 912//2014 +f 5458//2017 5323//2185 471//2186 +f 155//2184 5458//2017 109//2015 +f 11807//2187 13604//2188 13521//2189 +f 3595//2190 13778//2191 13310//2192 +f 6510//1875 10040//1874 12295//2193 +f 10592//2024 6510//1875 12295//2193 +f 13411//2194 10833//2050 13112//1737 +f 10833//2050 3733//2025 10702//1870 +f 24434//2195 23751//2196 23990//2197 +f 18809//2052 20704//2051 20410//2112 +f 20830//2198 20911//2199 20910//2200 +f 35811//2201 35697//2202 9750//2203 +f 17117//2053 14531//2204 15432//674 +f 1605//673 17117//2053 15432//674 +f 14531//2204 1036//2205 3887//675 +f 15432//674 14531//2204 3887//675 +f 1036//2205 14647//2206 2982//676 +f 3887//675 1036//2205 2982//676 +f 14647//2206 16690//2207 16691//768 +f 2982//676 14647//2206 16691//768 +f 16690//2207 15558//2208 5410//771 +f 16691//768 16690//2207 5410//771 +f 16352//2032 16505//304 16504//303 +f 948//1257 829//2209 3869//606 +f 30671//2210 24902//2211 30536//2212 +f 3362//325 17150//300 1640//2213 +f 30487//2214 35389//2215 26686//2216 +f 35389//2215 35467//2217 26686//2216 +f 13411//2194 13112//1737 14076//1588 +f 35479//2218 28428//2219 28308//2220 +f 8672//1868 10709//1867 10688//1869 +f 7073//2221 13411//2194 14076//1588 +f 13112//1737 10709//1867 13220//1738 +f 10702//1870 8580//2023 7446//1871 +f 14215//2222 14313//2223 14214//1427 +f 7073//2221 14076//1588 14312//1428 +f 11890//2224 12842//2225 11725//2226 +f 12039//2227 13484//2228 13388//2229 +f 15558//2208 15228//2230 15060//800 +f 5410//771 15558//2208 15060//800 +f 1742//2231 3358//2232 3220//2233 +f 1611//2234 1742//2231 3220//2233 +f 3618//2235 2941//2236 3617//599 +f 2941//2236 3081//746 3617//599 +f 6129//481 4929//789 406//2237 +f 303//653 5863//654 5729//2059 +f 16159//570 14963//563 16303//2238 +f 13385//2239 16971//2240 16970//810 +f 17192//992 16700//846 16546//2060 +f 1925//2241 17192//992 16546//2060 +f 3853//2242 3748//2243 3747//703 +f 22510//2244 22511//1910 22609//1150 +f 16639//2245 16640//1104 2266//2246 +f 4//1106 16628//1030 16470//2247 +f 16595//2248 16594//2096 16442//2249 +f 20365//973 13369//1963 13279//974 +f 21125//2250 21124//2251 20311//2252 +f 11563//2103 11562//2102 13957//2077 +f 16906//1938 17069//1778 16905//2253 +f 20316//1933 20311//2252 12601//1934 +f 15833//1228 3480//1222 2664//2075 +f 15831//2254 15833//1228 2664//2075 +f 20451//2111 21221//2255 21220//2256 +f 20049//2257 20050//2258 20535//2259 +f 19247//2260 35363//2261 27027//2262 +f 18379//2263 18176//2264 19516//2265 +f 35462//2266 27286//2267 35550//2268 +f 26412//2269 29132//2270 19569//2271 +f 32801//2272 11729//2273 32914//2274 +f 14425//650 14424//1326 14405//2275 +f 16749//2097 16907//1939 16748//2099 +f 32555//2276 32554//2277 32447//2278 +f 14872//2279 20058//2280 169//2281 +f 16441//2282 25616//2283 25615//2284 +f 15546//1161 1653//1163 16243//970 +f 22462//2071 14872//2279 169//2281 +f 2042//2285 1454//550 4330//701 +f 1154//1034 2847//1028 32//2104 +f 15754//2286 5465//2287 5598//2288 +f 4331//2105 2042//2285 4330//701 +f 9784//858 15199//843 16449//845 +f 143//847 16245//710 16244//2107 +f 16257//1959 15064//1799 15063//1798 +f 17258//2289 12423//2290 25914//2291 +f 5081//2057 3618//2235 3617//599 +f 14773//2292 14772//2293 14666//2294 +f 27964//2295 27965//2296 28081//2297 +f 28082//2298 28199//1500 28198//1499 +f 31602//2299 31601//2300 31514//2301 +f 34804//2302 34803//2303 34675//2304 +f 27500//2305 27618//2306 27617//2307 +f 19526//2308 6153//2309 19858//1857 +f 17299//2310 17817//2113 2674//2115 +f 28691//2311 28692//2312 28823//2313 +f 30457//1975 30591//2314 30456//2315 +f 17299//2310 2674//2115 2673//2316 +f 18281//2317 17299//2310 2673//2316 +f 35581//2318 35760//2319 12214//2320 +f 26504//2321 30559//2142 19094//2144 +f 4101//2322 3031//2323 3172//2148 +f 4367//2147 4101//2322 3172//2148 +f 3031//2323 5187//2324 5321//2153 +f 3172//2148 3031//2323 5321//2153 +f 5187//2324 5606//2325 4513//2163 +f 5321//2153 5187//2324 4513//2163 +f 5606//2325 904//2326 336//2164 +f 4513//2163 5606//2325 336//2164 +f 3987//2327 3855//2168 336//2164 +f 904//2326 3987//2327 336//2164 +f 6132//2328 6795//2169 3855//2168 +f 3987//2327 6132//2328 3855//2168 +f 6132//2328 1763//2329 72//2170 +f 6795//2169 6132//2328 72//2170 +f 1763//2329 1022//2330 1140//2171 +f 72//2170 1763//2329 1140//2171 +f 2881//2331 1135//2332 1022//2330 +f 1140//2171 1022//2330 4125//2172 +f 10867//2333 4125//2172 1022//2330 +f 35452//2334 35463//2335 35567//2336 +f 326//2173 10976//2337 1254//2338 +f 326//2173 1254//2338 3046//2174 +f 1254//2338 3327//2339 3046//2174 +f 3046//2174 3327//2339 1148//2175 +f 1147//2340 2773//2341 4916//2176 +f 1148//2175 1147//2340 4916//2176 +f 2773//2341 787//2342 786//2177 +f 4916//2176 2773//2341 786//2177 +f 787//2342 3599//2343 3466//2178 +f 786//2177 787//2342 3466//2178 +f 3599//2343 2229//2344 2085//2179 +f 3466//2178 3599//2343 2085//2179 +f 2229//2344 1391//2345 123//2180 +f 2085//2179 2229//2344 123//2180 +f 1848//2346 2211//2181 123//2180 +f 1391//2345 1848//2346 123//2180 +f 2909//2347 2910//2182 2211//2181 +f 1848//2346 2909//2347 2211//2181 +f 910//2348 911//2183 2910//2182 +f 2909//2347 910//2348 2910//2182 +f 1054//2349 155//2184 911//2183 +f 910//2348 1054//2349 911//2183 +f 5323//2185 1054//2349 17184//2350 +f 189//2351 1054//2349 909//2352 +f 13791//2353 3968//2354 3044//1123 +f 2915//1122 13791//2353 3044//1123 +f 10040//1874 13769//1740 10122//2355 +f 13482//1431 3450//1113 1156//2356 +f 13923//2357 14021//2358 13922//2359 +f 14021//2358 14119//2360 14118//1268 +f 11725//2226 12039//2227 13388//2229 +f 8647//2361 8755//2362 8754//2363 +f 29828//2364 18907//2365 35568//2366 +f 27499//2367 27500//2305 27617//2307 +f 14847//2368 103//2369 8011//2370 +f 10833//2050 10709//1867 13112//1737 +f 13825//2371 13923//2357 13824//1006 +f 15228//2230 15822//2372 15823//801 +f 12295//2193 10040//1874 10122//2355 +f 16063//2373 16206//2031 16205//112 +f 16351//487 16352//2032 16504//303 +f 4413//1759 4134//2374 1881//2375 +f 16062//70 16063//2373 16205//112 +f 13727//2376 13726//2377 13628//2378 +f 13629//2379 13727//2376 13628//2378 +f 12572//2380 12727//2381 13380//2382 +f 11724//2383 14083//2384 12368//2385 +f 33377//2386 33490//2387 33376//2388 +f 33870//2389 33869//2390 33735//2391 +f 564//2392 13092//2393 563//2394 +f 11416//2395 11415//2396 31407//2397 +f 9976//1591 13482//1431 2367//2398 +f 13530//2399 13629//2379 13628//2378 +f 14313//2223 7073//2221 14312//1428 +f 33609//2400 33608//2401 33489//1119 +f 12819//2402 12572//2380 11250//2403 +f 12727//2381 9219//2404 13380//2382 +f 15060//800 15228//2230 15823//801 +f 15822//2372 15037//2405 16824//892 +f 4416//2406 1742//2231 1611//2234 +f 15823//801 15822//2372 16824//892 +f 2941//2236 5074//2407 4804//747 +f 3358//2232 14490//938 15566//940 +f 4929//789 303//653 406//2237 +f 3081//746 2941//2236 4804//747 +f 22156//426 22151//2408 21216//2 +f 406//2237 303//653 5729//2059 +f 15180//2409 15305//993 1925//2241 +f 12632//863 23317//865 22936//867 +f 3600//699 3853//2242 3747//703 +f 16700//846 143//847 1895//2061 +f 16640//1104 4//1106 2266//2246 +f 3748//2243 5889//2410 5888//835 +f 25614//2411 16442//2249 25615//2284 +f 2266//2246 4//1106 16470//2247 +f 13471//2412 8574//2413 13567//2414 +f 16750//2415 16749//2097 16594//2096 +f 17233//1631 17232//2084 17068//2083 +f 23103//127 23104//126 23201//2416 +f 16395//2417 2798//1230 15831//2254 +f 17069//1778 17233//1631 17068//2083 +f 9774//2073 13667//2418 13668//2074 +f 3480//1222 4148//1224 15303//2076 +f 15831//2254 2664//2075 468//2419 +f 16602//1932 12601//1934 21091//2420 +f 13291//2421 11107//2422 13961//2423 +f 15832//2424 15831//2254 468//2419 +f 22226//2425 22225//1922 22129//2426 +f 22130//2427 22226//2425 22129//2426 +f 14425//650 14451//649 14424//1326 +f 23206//1915 23304//1067 23205//1916 +f 33488//1120 33487//2045 33374//2044 +f 15426//2428 14926//2429 15492//2430 +f 16749//2097 16748//2099 16593//2098 +f 20281//2431 20289//2432 21121//2433 +f 23201//2416 23202//2434 23299//2093 +f 12869//2435 20966//2436 22245//2437 +f 1171//2438 1154//1034 32//2104 +f 23006//1880 23104//126 23005//128 +f 3853//2242 3600//699 1454//550 +f 16470//2247 16628//1030 6527//2064 +f 1895//2061 143//847 16244//2107 +f 2042//2285 3853//2242 1454//550 +f 24802//2439 13665//2440 13026//1180 +f 7551//2441 6380//2442 6251//2443 +f 23901//2444 27531//2445 29818//2446 +f 35489//2447 12289//2448 11704//2449 +f 34870//2450 33337//2451 34730//2452 +f 6900//2453 28944//2454 19559//2455 +f 27735//2456 27734//2457 27617//2307 +f 27618//2306 27735//2456 27617//2307 +f 27735//2456 27850//2458 27849//2459 +f 10602//2460 6007//2461 12482//2462 +f 29122//1814 18436//1973 27295//2463 +f 30725//2464 30724//2465 30590//2466 +f 21288//2467 11450//2468 11404//2469 +f 23169//2470 23170//2471 30694//2472 +f 20645//2473 35561//2474 10980//2475 +f 30688//2476 35498//2477 35374//2478 +f 4774//2479 2891//2480 3031//2323 +f 4101//2322 4774//2479 3031//2323 +f 2891//2480 5053//2481 5187//2324 +f 3031//2323 2891//2480 5187//2324 +f 3993//2482 5606//2325 5187//2324 +f 5053//2481 3993//2482 5187//2324 +f 3993//2482 5064//2483 904//2326 +f 5606//2325 3993//2482 904//2326 +f 4121//2484 3987//2327 904//2326 +f 5064//2483 4121//2484 904//2326 +f 4121//2484 6383//2485 6132//2328 +f 3987//2327 4121//2484 6132//2328 +f 6383//2485 2881//2331 1763//2329 +f 6132//2328 6383//2485 1763//2329 +f 1135//2332 222//2486 1136//2487 +f 1763//2329 2881//2331 1022//2330 +f 1248//2488 1247//2489 1131//2490 +f 1248//2488 1364//2491 1247//2489 +f 1132//2492 1248//2488 1131//2490 +f 1364//2491 1363//2493 1247//2489 +f 1480//2494 1479//2495 1363//2493 +f 1364//2491 1480//2494 1363//2493 +f 2333//2496 2334//2497 2467//2498 +f 2603//2499 2602//2500 2467//2498 +f 1147//2340 1146//2501 2773//2341 +f 3327//2339 7898//2502 1147//2340 +f 35547//2503 34347//2504 35637//2505 +f 2773//2341 578//2506 787//2342 +f 788//2507 3467//1423 3599//2343 +f 787//2342 788//2507 3599//2343 +f 3467//1423 3720//2508 2229//2344 +f 3599//2343 3467//1423 2229//2344 +f 3720//2508 5868//2509 1391//2345 +f 2229//2344 3720//2508 1391//2345 +f 5868//2509 3188//2510 1848//2346 +f 1391//2345 5868//2509 1848//2346 +f 3188//2510 4931//2511 2909//2347 +f 1848//2346 3188//2510 2909//2347 +f 4931//2511 909//2352 910//2348 +f 2909//2347 4931//2511 910//2348 +f 16693//2512 189//2351 135//2513 +f 910//2348 909//2352 1054//2349 +f 13199//2514 13200//2515 11135//2516 +f 187//2517 6521//2518 8579//2519 +f 3968//2354 7705//2520 10969//2521 +f 3044//1123 3968//2354 10969//2521 +f 2367//2398 13482//1431 1156//2356 +f 10934//2522 1617//2523 4396//2524 +f 8046//2525 4543//2526 4410//828 +f 9569//827 8046//2525 4410//828 +f 21028//498 15457//135 15458//2527 +f 20058//2280 21051//1476 14485//2528 +f 11790//2529 190//2530 4101//2322 +f 29515//1663 29653//1817 29652//1664 +f 27027//2262 28307//2531 30824//2532 +f 14021//2358 14020//2533 13922//2359 +f 13825//2371 13824//1006 13726//2377 +f 13769//1740 9976//1591 9860//2534 +f 10122//2355 13769//1740 9860//2534 +f 6256//2535 1881//2375 17396//2536 +f 10459//2537 5725//2538 6012//2539 +f 1881//2375 157//2540 90//1609 +f 157//2540 1881//2375 6256//2535 +f 15033//581 15885//2541 12717//582 +f 23015//2542 23113//2543 23112//2544 +f 20134//2545 18527//2546 19435//2547 +f 35819//2548 35503//2549 35663//2550 +f 13703//2551 4120//2552 795//2553 +f 12050//2554 12132//2555 35708//2556 +f 9219//2404 12727//2381 12134//2557 +f 12641//2558 12913//2559 14165//2560 +f 23030//2561 22931//2562 23322//2563 +f 27734//2457 27735//2456 27849//2459 +f 24683//2564 24517//2565 24802//2439 +f 33265//1247 33374//2044 33264//2566 +f 17304//2567 17265//2568 12904//2569 +f 2205//2570 2204//2571 2075//2572 +f 29420//2573 29558//1761 35657//1763 +f 15037//2405 4802//2574 15757//893 +f 16824//892 15037//2405 15757//893 +f 4802//2574 15688//2575 15554//2576 +f 15757//893 4802//2574 15554//2576 +f 3537//2577 3405//2578 4415//2579 +f 3405//2578 4416//2406 4415//2579 +f 5074//2407 15615//2580 4804//747 +f 15615//2580 14632//309 4804//747 +f 5624//741 3219//792 5623//2087 +f 3219//792 4929//789 6129//481 +f 22126//1144 22127//873 22222//869 +f 13430//564 11500//2581 15083//565 +f 16785//907 15305//993 15180//2409 +f 16786//2582 16785//907 15180//2409 +f 4770//2583 4905//838 5888//835 +f 3747//703 3748//2243 5888//835 +f 15496//2584 15542//1102 14956//2585 +f 14986//1098 16640//1104 16639//2245 +f 16908//2586 16907//1939 16749//2097 +f 16595//2248 16750//2415 16594//2096 +f 20473//2587 20558//2588 20472//2589 +f 22128//1780 22224//1833 22223//868 +f 17233//1631 4460//1630 17232//2084 +f 4460//1630 4461//2590 17232//2084 +f 17188//1232 2798//1230 16395//2417 +f 5142//2591 17188//1232 16395//2417 +f 15631//1936 21029//1935 15865//2592 +f 11947//2593 16602//1932 21091//2420 +f 5145//2594 5142//2591 16254//2595 +f 16395//2417 15831//2254 15832//2424 +f 14741//1058 17186//2596 5140//1059 +f 15382//2597 15383//2598 15513//2599 +f 9750//2203 12136//2600 12121//2601 +f 13229//1086 13134//2602 13230//2603 +f 23010//2604 23108//2605 23009//2606 +f 468//2419 2664//2075 15302//2607 +f 15963//2608 14523//2609 15825//2610 +f 929//2611 22932//2612 23422//2613 +f 21949//1305 21880//1307 21121//2433 +f 30346//2614 27780//2615 27868//2616 +f 16594//2096 16593//2098 16441//2282 +f 16593//2098 16592//2617 16440//2618 +f 4119//2619 35782//2620 35823//2621 +f 26619//2622 26618//2623 26516//2624 +f 15306//1032 1154//1034 1171//2438 +f 29564//1405 26586//2625 13392//2626 +f 21741//2627 21740//2628 29811//1263 +f 6527//2064 15306//1032 1171//2438 +f 6025//2629 6024//2630 5892//2631 +f 5893//2632 6025//2629 5892//2631 +f 32047//2633 32144//2634 32046//2635 +f 6025//2629 6155//2636 6024//2630 +f 17668//2637 26521//2638 28874//2639 +f 29082//2640 30480//1930 28888//1929 +f 27850//2458 27966//2641 27965//2296 +f 27849//2459 27850//2458 27965//2296 +f 27966//2641 28083//2642 28082//2298 +f 27434//2643 21463//2644 29823//2645 +f 27965//2296 27966//2641 28082//2298 +f 30502//19 27266//2646 22943//2647 +f 29550//2648 29122//1814 27295//2463 +f 28969//2649 29104//2650 28968//2651 +f 30827//108 17299//2310 18281//2317 +f 6394//2652 4773//2653 4774//2479 +f 27638//2654 27148//2655 26480//2656 +f 4773//2653 5050//2657 2891//2480 +f 4774//2479 4773//2653 2891//2480 +f 5050//2657 2895//2658 5053//2481 +f 2891//2480 5050//2657 5053//2481 +f 2895//2658 3028//2659 3993//2482 +f 5053//2481 2895//2658 3993//2482 +f 899//2660 5064//2483 3993//2482 +f 3028//2659 899//2660 3993//2482 +f 899//2660 4254//2661 4121//2484 +f 5064//2483 899//2660 4121//2484 +f 4254//2661 18//2662 6383//2485 +f 4121//2484 4254//2661 6383//2485 +f 18//2662 222//2486 2881//2331 +f 6383//2485 18//2662 2881//2331 +f 11712//2663 17263//2664 16465//2665 +f 2881//2331 222//2486 1135//2332 +f 1127//2666 1243//2667 1242//2668 +f 14080//2669 7998//2670 13982//2671 +f 13227//2672 13228//2673 1137//2674 +f 1126//2675 1127//2666 1242//2668 +f 1480//2494 1596//2676 1479//2495 +f 1596//2676 1595//2677 1479//2495 +f 2201//2678 2202//2679 2333//2496 +f 2334//2497 2468//2680 2467//2498 +f 1258//2681 2750//2682 3575//2683 +f 952//2684 1152//2685 1374//2686 +f 1243//2667 1244//2687 1359//2688 +f 1476//2689 1475//2690 1359//2688 +f 35570//2691 33233//2692 35764//2693 +f 5682//2694 18921//2695 5816//2696 +f 35197//2697 17452//2698 17373//2699 +f 11203//2700 9896//2701 788//2507 +f 2361//1422 120//2702 5868//2509 +f 3720//2508 2361//1422 5868//2509 +f 120//2702 3852//2703 3188//2510 +f 5868//2509 120//2702 3188//2510 +f 3852//2703 5066//2704 4931//2511 +f 3188//2510 3852//2703 4931//2511 +f 5066//2704 790//2705 909//2352 +f 4931//2511 5066//2704 909//2352 +f 35406//2706 35645//2707 35904//2708 +f 909//2352 790//2705 189//2351 +f 12821//2709 13404//2710 13199//2514 +f 11966//2711 12047//2712 11135//2516 +f 20674//2713 18907//2365 29828//2364 +f 10969//2521 7705//2520 21//2714 +f 9545//2715 1617//2523 10934//2522 +f 9661//887 9545//2715 10934//2522 +f 14961//2716 13336//2717 14963//563 +f 13336//2717 16166//2718 20266//860 +f 33770//2719 33769//2720 33642//2721 +f 7037//2722 7038//2723 313//2724 +f 11130//2725 13869//2726 13770//2727 +f 11704//2449 11442//1378 35837//1955 +f 11645//2728 11501//2729 13318//2730 +f 22619//2731 22718//2732 22618//2733 +f 23030//2561 21490//2734 23025//2735 +f 13727//2376 13825//2371 13726//2377 +f 13923//2357 13922//2359 13824//1006 +f 3450//1113 2002//1115 4000//2736 +f 1156//2356 3450//1113 4000//2736 +f 5600//2737 157//2540 3063//2738 +f 3063//2738 157//2540 1412//2739 +f 7466//2740 3591//1334 6127//2741 +f 5600//2737 90//1609 157//2540 +f 25067//2742 12687//2743 12597//2744 +f 23224//2745 23030//2561 23322//2563 +f 23881//2746 24427//2747 24111//1927 +f 24794//1926 23881//2746 24111//1927 +f 23881//2746 24333//2748 24328//2749 +f 24427//2747 23881//2746 24328//2749 +f 35833//2750 35615//2751 8671//2752 +f 5561//2753 35560//734 35392//2754 +f 12005//2755 12004//2756 11920//2757 +f 2640//2758 9167//2759 9059//2760 +f 35763//2761 35916//2762 35891//2763 +f 11799//2764 12144//2765 2389//2766 +f 14313//2223 14312//1428 14214//1427 +f 2361//1422 3720//2508 3467//1423 +f 25218//2767 4786//2768 26260//2769 +f 5435//2770 5436//2771 5275//2772 +f 35490//2773 35819//2548 35738//2774 +f 250//1201 16044//2775 15020//2776 +f 20614//2777 20615//2778 20695//2779 +f 14528//2780 16553//2781 14823//1198 +f 15020//2776 14528//2780 14823//1198 +f 16553//2781 14351//2782 16363//949 +f 3714//2783 3405//2578 3537//2577 +f 14823//1198 16553//2781 16363//949 +f 15615//2580 1739//2784 1738//310 +f 4415//2579 4416//2406 1611//2234 +f 3219//792 3218//480 5623//2087 +f 14632//309 15615//2580 1738//310 +f 27411//1404 30633//1690 29547//1692 +f 3218//480 3219//792 6129//481 +f 1766//2785 1069//909 16786//2582 +f 15210//1521 3669//1522 16450//779 +f 5889//2410 4770//2583 5888//835 +f 15305//993 17192//992 1925//2241 +f 15542//1102 14986//1098 14956//2585 +f 4770//2583 2658//2786 2214//841 +f 16750//2415 16908//2586 16749//2097 +f 14956//2585 14986//1098 16639//2245 +f 15327//833 15456//208 9080//1634 +f 17071//2787 17070//1779 16907//1939 +f 2044//1767 1920//2788 4461//2590 +f 11562//2102 13859//289 13957//2077 +f 1541//2789 821//1628 5142//2591 +f 4460//1630 2044//1767 4461//2590 +f 23300//2790 23397//2092 23299//2093 +f 2798//1230 15833//1228 15831//2254 +f 5142//2591 16395//2417 16254//2595 +f 29224//2791 29361//2792 29223//2793 +f 4819//2794 18486//1978 4684//1977 +f 16254//2595 16395//2417 15832//2424 +f 4685//2795 4820//2796 4819//2794 +f 35611//2797 35467//2217 35828//2798 +f 35588//2799 35812//2800 35811//2201 +f 35923//2801 35893//2802 35718//2803 +f 12456//2804 1972//2805 35797//2806 +f 31168//2807 31169//2808 31232//2809 +f 15733//2810 929//2611 23422//2613 +f 2664//2075 15303//2076 15302//2607 +f 17090//2811 17089//2812 16766//2813 +f 22562//2814 20195//2815 3730//2816 +f 35487//2817 35800//2818 26803//2819 +f 4148//1224 16696//1227 16695//2820 +f 21122//1361 21949//1305 21121//2433 +f 16748//2099 16747//2821 16592//2617 +f 21740//2628 21741//2627 21835//2822 +f 2541//2823 2673//2316 21654//2824 +f 17560//2825 5761//2826 5760//2827 +f 23324//1299 23130//2828 23421//1300 +f 6026//2829 6025//2629 5893//2632 +f 5894//2830 6026//2829 5893//2632 +f 6156//2831 6155//2636 6025//2629 +f 6026//2829 6156//2831 6025//2629 +f 6156//2831 6285//2832 6284//2833 +f 11365//2834 35943//2835 9901//2836 +f 26802//2837 685//2838 27758//2839 +f 28346//2840 35896//2841 35544//2842 +f 28083//2642 28200//2843 28199//1500 +f 28082//2298 28083//2642 28199//1500 +f 24138//2844 24571//2845 30765//2846 +f 462//2847 458//2848 6730//2849 +f 28136//2850 27058//2851 27057//2852 +f 30826//2853 30827//108 18281//2317 +f 29916//2854 29917//2855 30047//2856 +f 29104//2650 29241//2857 29240//2858 +f 6544//2859 4772//2860 4773//2653 +f 6394//2652 4774//2479 190//2530 +f 4772//2860 5720//2861 5050//2657 +f 4773//2653 4772//2860 5050//2657 +f 5720//2861 3034//2862 2895//2658 +f 5050//2657 5720//2861 2895//2658 +f 134//2863 3028//2659 2895//2658 +f 3034//2862 134//2863 2895//2658 +f 134//2863 5198//2864 899//2660 +f 3028//2659 134//2863 899//2660 +f 5198//2864 4387//2865 4254//2661 +f 899//2660 5198//2864 4254//2661 +f 4387//2865 338//2866 18//2662 +f 4254//2661 4387//2865 18//2662 +f 338//2866 6799//2867 222//2486 +f 18//2662 338//2866 222//2486 +f 3556//2868 3686//2869 3555//2870 +f 10598//2871 338//2866 6796//2872 +f 660//2873 7368//2874 7480//2875 +f 4758//2876 4759//2877 4893//2878 +f 6363//2879 6364//2880 6490//2881 +f 1008//2882 1009//2883 1126//2675 +f 1596//2676 1713//2884 1595//2677 +f 1713//2884 8588//2885 8587//2886 +f 2073//2887 2202//2679 2072//2888 +f 2202//2679 2334//2497 2333//2496 +f 2750//2682 4243//2889 3582//2890 +f 1374//2686 1258//2681 3575//2683 +f 1127//2666 1128//2891 1243//2667 +f 1244//2687 1360//2892 1359//2688 +f 24333//2748 25620//2893 25619//2894 +f 1277//2895 1393//2896 1276//2897 +f 3429//2898 3428//2899 3289//2900 +f 4217//2901 4350//2902 4349//2903 +f 2361//1422 460//2904 120//2702 +f 27297//2905 11921//2906 11833//2907 +f 69//2908 3984//2909 3852//2703 +f 120//2702 69//2908 3852//2703 +f 3984//2909 5200//2910 5066//2704 +f 3852//2703 3984//2909 5066//2704 +f 5200//2910 789//2911 790//2705 +f 5066//2704 5200//2910 790//2705 +f 35615//2751 35675//2912 11977//2913 +f 790//2705 789//2911 135//2513 +f 12055//2914 13404//2710 12821//2709 +f 13200//2515 5419//2915 11135//2516 +f 12498//2916 12588//2917 12497//2918 +f 12678//2919 12677//2920 12587//2921 +f 1617//2523 3713//2922 4396//2524 +f 12210//2923 3060//2924 11061//2925 +f 11137//2926 12278//2927 10501//2928 +f 449//2929 11137//2926 10501//2928 +f 13977//2930 11310//2931 11085//2932 +f 35926//902 35517//2933 35596//903 +f 11921//2906 12005//2755 11920//2757 +f 32838//2934 32946//2935 32837//2936 +f 28109//2937 28226//2938 24923//2939 +f 12168//2940 12167//2941 12085//2942 +f 13018//2943 20486//2944 21498//904 +f 33157//2945 33158//2946 33262//2947 +f 2002//1115 13239//1118 13892//886 +f 13892//886 13239//1118 9661//887 +f 4000//2736 2002//1115 13892//886 +f 13239//1118 9545//2715 9661//887 +f 35361//2948 35432//2949 35355//2950 +f 1295//2951 13791//2353 2915//1122 +f 15353//2952 16987//805 16363//949 +f 5457//2953 15554//2576 15688//2575 +f 12507//2954 12597//2744 12506//2955 +f 12597//2744 12687//2743 12686//2956 +f 21265//2957 28195//2958 21354//2959 +f 12251//2960 12250//2961 12167//2941 +f 13591//982 13211//981 12753//2962 +f 13226//2963 10005//1599 13611//2964 +f 6731//2965 462//2847 6730//2849 +f 5840//2966 5972//2967 5839//2968 +f 1396//2969 1512//2970 1395//2971 +f 1628//2972 1627//2973 1511//2974 +f 3015//2975 3016//2976 3157//2977 +f 3687//2978 3819//2979 3686//2869 +f 23713//2980 28109//2937 24923//2939 +f 14351//2782 15353//2952 16363//949 +f 5725//2538 11197//2981 9690//2982 +f 4118//2983 3714//2783 3537//2577 +f 2054//385 4285//2984 4284//386 +f 1186//2985 97//168 223//167 +f 35760//2319 35367//2986 35936//932 +f 14989//254 15111//256 7877//2987 +f 16704//721 3492//2988 15267//722 +f 15010//2989 15133//1276 15132//1277 +f 15009//1567 15010//2989 15132//1277 +f 2845//2990 14410//2991 15683//383 +f 14410//2991 2845//2990 15935//636 +f 15973//2992 15816//633 1300//315 +f 20410//2112 20451//2111 21220//2256 +f 2394//2993 16807//2994 16494//613 +f 1739//2784 2394//2993 2260//468 +f 5351//742 5624//741 5623//2087 +f 261//2995 5351//742 5623//2087 +f 20948//2996 15065//241 23418//1411 +f 28200//2843 28317//2997 28316//2998 +f 16647//2999 16648//910 1766//2785 +f 1069//909 16785//907 16786//2582 +f 2658//2786 919//3000 918//988 +f 4905//838 4770//2583 2214//841 +f 2527//990 15542//1102 15496//2584 +f 2392//3001 2527//990 15496//2584 +f 17235//3002 17234//1632 17070//1779 +f 16908//2586 17071//2787 16907//1939 +f 13526//427 21284//219 15600//428 +f 22031//1143 22032//3003 22127//873 +f 2044//1767 4677//1766 1920//2788 +f 4677//1766 4678//3004 1920//2788 +f 16336//3005 17123//3006 1541//2789 +f 821//1628 17188//1232 5142//2591 +f 25131//3007 35368//3008 35729//980 +f 29549//3009 27294//3010 6991//3011 +f 16898//683 16897//698 16739//684 +f 1541//2789 5142//2591 5145//2594 +f 4552//3012 4686//3013 4685//2795 +f 19247//2260 21376//3014 35415//3015 +f 4686//3013 4821//3016 4820//2796 +f 4685//2795 4686//3013 4820//2796 +f 4821//3016 4956//3017 4955//3018 +f 4820//2796 4821//3016 4955//3018 +f 17451//3019 17373//2699 17452//2698 +f 35693//3020 35832//182 30214//3021 +f 9922//3022 35882//3023 12121//2601 +f 18527//2546 15263//3024 15136//3025 +f 19432//3026 19552//3027 4685//2795 +f 5225//3028 5360//3029 5224//3030 +f 15303//2076 4148//1224 16695//2820 +f 29495//3031 35486//3032 35531//3033 +f 16593//2098 16748//2099 16592//2617 +f 22933//3034 23032//3035 12546//3036 +f 23202//2434 23300//2790 23299//2093 +f 16906//1938 16905//2253 16747//2821 +f 2143//3037 19048//3038 19049//3039 +f 23032//3035 23130//2828 13008//3040 +f 6027//3041 6026//2829 5894//2830 +f 5895//3042 6027//3041 5894//2830 +f 6157//3043 6156//2831 6026//2829 +f 6027//3041 6157//3043 6026//2829 +f 6286//3044 6285//2832 6156//2831 +f 6157//3043 6286//3044 6156//2831 +f 6286//3044 6413//3045 6412//3046 +f 6285//2832 6286//3044 6412//3046 +f 28199//1500 28200//2843 28316//2998 +f 35422//3047 35593//3048 35840//3049 +f 5840//2966 5839//2968 5705//3050 +f 5440//3051 5574//3052 5573//3053 +f 12544//3054 11649//3055 7415//3056 +f 882//3057 883//3058 1001//3059 +f 30048//3060 30180//3061 30047//2856 +f 28578//3062 28455//3063 21363//3064 +f 4771//3065 4772//2860 6544//2859 +f 13217//3066 25153//3067 6394//2652 +f 5853//3068 5720//2861 4772//2860 +f 4771//3065 5853//3068 4772//2860 +f 3175//3069 3034//2862 5720//2861 +f 5853//3068 3175//3069 5720//2861 +f 1056//3070 134//2863 3034//2862 +f 3175//3069 1056//3070 3034//2862 +f 1056//3070 2771//3071 5198//2864 +f 134//2863 1056//3070 5198//2864 +f 2771//3071 4655//3072 4387//2865 +f 5198//2864 2771//3071 4387//2865 +f 4655//3072 6796//2872 338//2866 +f 4387//2865 4655//3072 338//2866 +f 5038//3073 5173//3074 5172//3075 +f 11228//3076 10970//3077 6796//2872 +f 5037//3078 5038//3073 5172//3075 +f 5173//3074 5307//3079 5306//3080 +f 7479//3081 779//3082 660//2873 +f 35686//1287 35699//3083 27755//3084 +f 6234//3085 6235//3086 6363//2879 +f 6492//3087 7649//3088 6491//3089 +f 218//3090 3167//3091 5591//3092 +f 697//3093 903//3094 4920//3095 +f 1948//3096 2073//2887 1947//3097 +f 2202//2679 2201//2678 2072//2888 +f 4243//2889 2620//3098 2756//3099 +f 3575//2683 2750//2682 3582//2890 +f 1009//2883 1010//3100 1127//2666 +f 1128//2891 1244//2687 1243//2667 +f 12336//3101 12251//2960 27993//3102 +f 11920//2757 11919//3103 11833//2907 +f 12168//2940 27762//3104 27877//3105 +f 2648//3106 2649//3107 2783//1125 +f 13714//3108 10501//2928 13996//3109 +f 26686//2216 35467//2217 28944//2454 +f 28992//3110 30216//3111 35657//1763 +f 9309//3112 10723//3113 9197//3114 +f 35806//3115 23960//3116 24683//2564 +f 3984//2909 2084//3117 5200//2910 +f 460//2904 8129//3118 69//2908 +f 120//2702 460//2904 69//2908 +f 11582//3119 32249//3120 11583//3121 +f 35888//3122 35401//3123 35748//3124 +f 12206//3125 12055//2914 12821//2709 +f 2921//3126 2785//2079 17160//3127 +f 12210//2923 4124//3128 4390//3129 +f 13404//2710 13200//2515 13199//2514 +f 34414//3130 34413//3131 34275//3132 +f 11101//3133 12210//2923 11061//2925 +f 11137//2926 6958//3134 13028//3135 +f 12278//2927 11137//2926 13028//3135 +f 9636//3136 24843//3137 24483//3138 +f 25270//3139 13591//982 12753//2962 +f 20663//3140 20648//3141 372//3142 +f 24233//3143 24681//3144 13805//3145 +f 12418//3146 12507//2954 12417//3147 +f 12597//2744 12596//3148 12506//2955 +f 6663//3149 5205//3150 3583//3151 +f 3713//2922 6663//3149 9336//3152 +f 13773//3153 8086//3154 13703//2551 +f 13998//3155 13997//3156 8571//3157 +f 13675//3158 13773//3153 13703//2551 +f 4120//2552 1295//2951 2915//1122 +f 14116//3159 14115//3160 14017//3161 +f 4396//2524 3713//2922 9336//3152 +f 11595//3162 11527//3163 26831//3164 +f 12596//3148 12597//2744 12686//2956 +f 24328//2749 24333//2748 25619//2894 +f 30555//3165 30601//3166 27379//3167 +f 27317//3168 12103//3169 12102//3170 +f 20207//1824 20206//1459 17601//3171 +f 5709//3172 5843//3173 5708//3174 +f 1512//2970 1511//2974 1395//2971 +f 5975//3175 6107//3176 5974//3177 +f 1745//3178 1744//3179 1627//2973 +f 1512//2970 1628//2972 1511//2974 +f 20475//1907 20560//3180 20474//3181 +f 1628//2972 1745//3178 1627//2973 +f 35904//2708 12122//3182 35814//3183 +f 11312//3184 5584//3185 7178//3186 +f 1613//416 5753//554 1612//3187 +f 390//293 280//295 5754//1337 +f 674//3188 3488//494 3356//496 +f 14808//3189 1769//632 15973//2992 +f 15296//3190 15423//770 16037//3191 +f 14602//894 1769//632 14808//3189 +f 3077//3192 15266//1441 14786//1443 +f 977//3193 15685//1491 15684//1493 +f 4271//382 977//3193 15684//1493 +f 22510//2244 22609//1150 22608//3194 +f 3484//1492 2845//2990 15684//1493 +f 9633//3195 112//195 10120//197 +f 14673//3196 14672//3197 14580//446 +f 16032//511 15930//3198 15791//3199 +f 5211//769 15423//770 15296//3190 +f 5485//3200 5211//769 15296//3190 +f 16494//613 16807//2994 15110//751 +f 2260//468 2394//2993 16494//613 +f 4326//749 1800//874 4332//624 +f 5351//742 261//2995 1684//3201 +f 22316//398 22413//914 22315//399 +f 12804//23 12143//2101 11206//253 +f 14996//913 16648//910 16647//2999 +f 14988//3202 14996//913 16647//2999 +f 919//3000 242//3203 2662//989 +f 2214//841 2658//2786 918//988 +f 3168//3204 3456//842 4535//3205 +f 6010//985 2527//990 2392//3001 +f 4466//3206 4467//1629 17234//1632 +f 17071//2787 17235//3002 17070//1779 +f 21284//219 21283//1918 15600//428 +f 19194//687 20135//686 30602//3207 +f 4677//1766 4501//1829 4678//3004 +f 4501//1829 4143//3208 4678//3004 +f 5611//3209 17123//3006 16336//3005 +f 5476//3210 5611//3209 16336//3005 +f 16150//3211 25617//3212 16293//3213 +f 21742//3214 21836//3215 21741//2627 +f 15548//3216 1541//2789 5145//2594 +f 6773//3217 5476//3210 15159//3218 +f 18046//3219 4552//3012 19552//3027 +f 4639//3220 4536//3221 2526//3222 +f 4687//3223 4822//3224 4821//3016 +f 4686//3013 4687//3223 4821//3016 +f 4822//3224 4957//3225 4956//3017 +f 4821//3016 4822//3224 4956//3017 +f 4957//3225 5092//3226 5091//3227 +f 4956//3017 4957//3225 5091//3227 +f 5226//3228 5225//3028 5091//3227 +f 5092//3226 5226//3228 5091//3227 +f 5361//3229 5360//3029 5225//3028 +f 5226//3228 5361//3229 5225//3028 +f 5495//3230 5494//3231 5360//3029 +f 5361//3229 5495//3230 5360//3029 +f 19701//3232 27780//2615 30480//1930 +f 5495//3230 5630//1660 5494//3231 +f 16748//2099 16906//1938 16747//2821 +f 2153//3233 19164//3234 2024//3235 +f 12289//2448 9634//3236 13307//3237 +f 17069//1778 17068//2083 16905//2253 +f 6028//3238 6027//3041 5895//3042 +f 5896//3239 6028//3238 5895//3042 +f 6158//3240 6157//3043 6027//3041 +f 6028//3238 6158//3240 6027//3041 +f 6287//3241 6286//3044 6157//3043 +f 6158//3240 6287//3241 6157//3043 +f 6414//3242 6413//3045 6286//3044 +f 6287//3241 6414//3242 6286//3044 +f 35701//3243 35354//3244 35889//3245 +f 6413//3045 6414//3242 6539//3246 +f 5843//3173 5842//3247 5708//3174 +f 1163//3248 1164//3249 1279//3250 +f 6107//3176 6106//3251 5974//3177 +f 28197//3252 28314//3253 28196//3254 +f 1280//3255 1396//2969 1395//2971 +f 4100//3256 4771//3065 1168//3257 +f 21489//3258 35575//3259 35548//3260 +f 5984//3261 5853//3068 4771//3065 +f 27550//3262 30219//3263 30086//3264 +f 3315//3265 3175//3069 5853//3068 +f 5984//3261 3315//3265 5853//3068 +f 5872//3266 1056//3070 3175//3069 +f 3315//3265 5872//3266 3175//3069 +f 5872//3266 2636//3267 2771//3071 +f 1056//3070 5872//3266 2771//3071 +f 2369//3268 8842//3269 2237//3270 +f 2771//3071 2636//3267 4655//3072 +f 4751//3271 4752//3272 4886//3273 +f 28591//3274 22237//3275 17389//3276 +f 6260//3277 785//3278 451//3279 +f 458//2848 6260//3277 451//3279 +f 4903//3280 5038//3073 5037//3078 +f 4902//3281 4903//3280 5037//3078 +f 1002//3282 1003//3283 1120//3284 +f 4757//3285 4892//3286 4891//3287 +f 6105//3288 6235//3086 6104//3289 +f 6235//3086 6364//2880 6363//2879 +f 4920//3095 218//3090 5591//3092 +f 3822//3290 3823//3291 3954//3292 +f 1828//3293 1948//3096 1827//3294 +f 2073//2887 2072//2888 1947//3097 +f 2620//3098 2218//3295 2217//3296 +f 3582//2890 4243//2889 2756//3099 +f 771//3297 772//3298 890//3299 +f 1010//3100 1128//2891 1127//2666 +f 653//3300 654//3301 771//3297 +f 891//3302 1010//3100 1009//2883 +f 538//3303 539//3304 653//3300 +f 772//3298 891//3302 890//3299 +f 425//3305 539//3304 424//3306 +f 654//3301 772//3298 771//3297 +f 314//3307 315//3308 424//3306 +f 539//3304 654//3301 653//3300 +f 35550//2268 30072//3309 30423//3310 +f 539//3304 538//3303 424//3306 +f 35736//3311 35417//3312 35668//3313 +f 315//3308 425//3305 424//3306 +f 4649//3314 6635//3315 3992//3316 +f 11228//3076 4655//3072 9573//3317 +f 5419//2915 11966//2711 11135//2516 +f 16093//1561 13717//1560 13716//3318 +f 3060//2924 12210//2923 4390//3129 +f 4124//3128 4927//3319 4792//3320 +f 11666//3321 11665//3322 11590//3323 +f 13021//3324 7468//3325 7811//3326 +f 12164//3327 12247//3328 12163//3329 +f 12332//3330 12331//3331 12246//3332 +f 14022//3333 14023//3334 14120//3335 +f 33262//2947 33263//3336 33371//3337 +f 18917//3338 19168//3339 19115//3340 +f 21748//3341 21839//3342 17257//3343 +f 11525//3344 11592//3345 11524//3346 +f 11667//3347 11666//3321 11591//3348 +f 35785//3349 35581//2318 12385//3350 +f 9336//3152 6663//3149 3583//3151 +f 10468//3351 13997//3156 10565//3352 +f 13997//3156 10119//3353 8571//3157 +f 8086//3154 1295//2951 4120//2552 +f 13703//2551 8086//3154 4120//2552 +f 13813//1732 13814//3354 13911//3355 +f 14116//3159 14212//3356 14211//3357 +f 6107//3176 6237//3358 6106//3251 +f 14115//3160 14116//3159 14211//3357 +f 6237//3358 6366//3359 6236//3360 +f 6237//3358 6236//3360 6106//3251 +f 6745//3361 1643//3362 6744//3363 +f 9814//3364 9813//3365 9698//3366 +f 6366//3359 6365//3367 6236//3360 +f 4897//3368 4898//3369 5032//3370 +f 1045//3371 1046//3372 1163//3248 +f 1164//3249 1280//3255 1279//3250 +f 12507//2954 12506//2955 12417//3147 +f 4495//3373 4629//3374 4628//3375 +f 12082//3376 12164//3327 12081//3377 +f 12332//3330 12418//3146 12331//3331 +f 22135//3378 22232//3379 22231//3380 +f 20956//3381 21039//3382 21038//3383 +f 21221//2255 22252//3384 22238//3385 +f 21220//2256 21221//2255 22238//3385 +f 19139//3386 7290//3387 27867//3388 +f 14612//3389 2021//3390 5431//897 +f 1769//632 15816//633 15973//2992 +f 16037//3191 14602//894 14808//3189 +f 1738//310 1739//2784 2260//468 +f 20564//1990 21385//1992 21384//3391 +f 16666//3392 1562//799 5485//3200 +f 14740//1898 13787//976 16534//1899 +f 13787//976 14254//1153 14158//945 +f 9401//1413 20243//793 20158//881 +f 13866//834 9569//827 15732//829 +f 14237//878 4197//879 13086//1657 +f 1562//799 5211//769 5485//3200 +f 2624//1656 14237//878 13086//1657 +f 15117//3393 16781//3394 16710//663 +f 15423//770 14602//894 16037//3191 +f 1800//874 1684//3201 4332//624 +f 15110//751 15117//3393 16710//663 +f 15065//241 21867//247 23228//242 +f 1800//874 5351//742 1684//3201 +f 15629//3395 15661//912 14988//3202 +f 25607//3396 16756//3397 16755//917 +f 918//988 919//3000 2662//989 +f 16648//910 1069//909 1766//2785 +f 3456//842 6010//985 4535//3205 +f 242//3203 15629//3395 15569//1096 +f 17235//3002 4466//3206 17234//1632 +f 4535//3205 6010//985 2392//3001 +f 22252//3384 10963//3398 99//3399 +f 1685//3400 1801//1911 4467//1629 +f 4501//1829 3485//1773 3614//3401 +f 23402//3402 23403//335 9080//1634 +f 16517//3403 16551//3404 5476//3210 +f 4143//3208 4501//1829 3614//3401 +f 21863//3405 15730//3406 1035//3407 +f 17123//3006 821//1628 1541//2789 +f 5476//3210 16336//3005 15159//3218 +f 16592//2617 16591//3408 16439//3409 +f 16336//3005 1541//2789 15548//3216 +f 15159//3218 16336//3005 15548//3216 +f 2661//3410 15054//3411 15023//3412 +f 2526//3222 2661//3410 15023//3412 +f 4823//3413 4822//3224 4687//3223 +f 18046//3219 4686//3013 4552//3012 +f 4823//3413 4958//3414 4957//3225 +f 4822//3224 4823//3413 4957//3225 +f 4958//3414 5093//3415 5092//3226 +f 4957//3225 4958//3414 5092//3226 +f 5227//3416 5226//3228 5092//3226 +f 5093//3415 5227//3416 5092//3226 +f 5362//3417 5361//3229 5226//3228 +f 5227//3416 5362//3417 5226//3228 +f 5496//3418 5495//3230 5361//3229 +f 5362//3417 5496//3418 5361//3229 +f 5631//3419 5630//1660 5495//3230 +f 5496//3418 5631//3419 5495//3230 +f 5765//3420 5764//1661 5630//1660 +f 5631//3419 5765//3420 5630//1660 +f 5897//3421 5896//3239 5764//1661 +f 5765//3420 5897//3421 5764//1661 +f 6029//3422 6028//3238 5896//3239 +f 5897//3421 6029//3422 5896//3239 +f 6159//3423 6158//3240 6028//3238 +f 6029//3422 6159//3423 6028//3238 +f 6288//3424 6287//3241 6158//3240 +f 6159//3423 6288//3424 6158//3240 +f 6415//3425 6414//3242 6287//3241 +f 6288//3424 6415//3425 6287//3241 +f 620//3426 33347//3427 23273//3428 +f 6632//3429 9548//3430 6756//3431 +f 5033//3432 5168//3433 5167//3434 +f 1629//3435 1628//2972 1512//2970 +f 1279//3250 1280//3255 1395//2971 +f 35593//3048 35874//3436 35760//2319 +f 1249//3437 1365//3438 1248//2488 +f 3572//3439 2748//3440 2749//3441 +f 4091//3442 4092//3443 4224//3444 +f 2602//2500 2601//3445 2466//3446 +f 14272//3447 35480//3448 12215//3449 +f 2330//3450 2464//3451 2463//3452 +f 35798//3453 35602//3454 35447//1340 +f 24995//3455 35725//3456 35634//3457 +f 14171//3458 11004//3459 14166//3460 +f 6251//2443 9510//3461 7551//2441 +f 1865//3462 1864//3463 1747//3464 +f 13982//2671 14171//3458 12124//3465 +f 1587//3466 1586//3467 1470//3468 +f 11061//2925 3060//2924 7764//3469 +f 765//3470 884//3471 883//3058 +f 647//3472 765//3470 646//3473 +f 4768//3474 4903//3280 4902//3281 +f 4767//3475 4768//3474 4902//3281 +f 4354//3476 4488//3477 4487//3478 +f 5173//3074 5174//3479 5307//3079 +f 5973//3480 6105//3288 5972//2967 +f 6235//3086 6234//3085 6104//3289 +f 3955//3481 4089//3482 4088//3483 +f 4622//3484 4756//3485 4755//3486 +f 35617//3487 35748//3124 35640//1598 +f 1948//3096 1947//3097 1827//3294 +f 2218//3295 5861//3488 5992//3489 +f 2756//3099 2620//3098 2217//3296 +f 5061//3490 9629//3491 10773//3492 +f 890//3299 891//3302 1009//2883 +f 1484//1206 3594//1205 1485//3493 +f 11918//3494 11917//3495 11831//3496 +f 12636//3497 13004//3498 12459//3499 +f 9642//2021 12630//3500 7933//3501 +f 7998//2670 13896//3502 11004//3459 +f 14171//3458 7998//2670 11004//3459 +f 35808//3503 35698//3504 35554//3505 +f 23252//859 16449//845 23350//3506 +f 22238//3385 22252//3384 99//3399 +f 13496//1686 12285//3507 12840//3508 +f 33233//2692 35570//2691 33930//3509 +f 35377//3510 35428//3511 35660//3512 +f 671//3513 68//3514 6635//3315 +f 35431//1925 35482//3515 35751//3516 +f 35349//1547 35569//3517 35410//1548 +f 3030//964 219//3518 792//965 +f 4390//3129 4124//3128 4792//3320 +f 4927//3319 13773//3153 13675//3158 +f 14202//3519 14300//3520 14299//3521 +f 10005//1599 13226//2963 11858//3522 +f 12001//3523 12082//3376 12000//3524 +f 12247//3328 12332//3330 12246//3332 +f 13496//1686 15539//1776 3067//3525 +f 12082//3376 12081//3377 12000//3524 +f 2365//1565 13496//1686 12840//3508 +f 2365//1565 12840//3508 7438//3526 +f 31367//3527 31434//3528 31366//3529 +f 13246//3530 13152//3531 13247//3532 +f 11917//3495 12001//3523 11916//3533 +f 11592//3345 11667//3347 11591//3348 +f 22822//3534 22821//3535 22722//3536 +f 7325//3537 3058//3538 3202//3539 +f 25620//2893 24537//3540 23596//3541 +f 11787//3542 12733//3543 12639//766 +f 1513//3544 1629//3435 1512//2970 +f 9545//2715 2903//3545 1617//2523 +f 1281//3546 1397//3547 1280//3255 +f 1513//3544 1512//2970 1396//2969 +f 1164//3249 1165//3548 1280//3255 +f 1397//3547 1513//3544 1396//2969 +f 1046//3372 1047//3549 1164//3249 +f 35881//3550 35378//1951 35835//3551 +f 22810//619 22811//594 22909//596 +f 1397//3547 1396//2969 1280//3255 +f 11101//3133 11061//2925 13585//3552 +f 16304//3553 14961//2716 14963//563 +f 3583//3151 5205//3150 9453//3554 +f 5435//2770 5434//3555 5300//3556 +f 11831//3496 11917//3495 11830//3557 +f 12247//3328 12246//3332 12163//3329 +f 13344//3558 13343//3559 13247//3532 +f 13248//3560 13344//3558 13247//3532 +f 22319//164 22416//166 22318//1147 +f 23106//3561 23204//3562 23203//3563 +f 680//3564 2926//802 16666//3392 +f 23105//1807 23106//3561 23203//3563 +f 5628//931 2926//802 680//3564 +f 4542//3565 5628//931 680//3564 +f 16807//2994 15117//3393 15110//751 +f 2926//802 1562//799 16666//3392 +f 16033//3566 14723//1040 1501//3567 +f 17024//944 5628//931 4542//3565 +f 20981//3568 13423//3569 17130//3570 +f 12393//3571 35793//3572 11628//3573 +f 22808//460 22907//3574 22906//461 +f 8240//3575 10013//3576 9554//3577 +f 2018//3578 1894//1881 1659//1882 +f 25619//2894 25620//2893 23596//3541 +f 17114//1041 14723//1040 16033//3566 +f 17115//3579 17114//1041 16033//3566 +f 16710//663 16781//3394 14415//664 +f 16781//3394 14437//3580 14415//664 +f 17080//617 17244//616 17079//120 +f 4326//749 4332//624 17243//623 +f 17078//121 17077//921 16914//916 +f 22907//3574 23006//1880 22906//461 +f 699//911 15661//912 15629//3395 +f 242//3203 699//911 15629//3395 +f 15629//3395 14988//3202 14987//1097 +f 2662//989 242//3203 15569//1096 +f 5886//3581 5887//836 2347//3582 +f 2611//837 3456//842 3168//3204 +f 225//3583 4812//1765 1801//1911 +f 4466//3206 1685//3400 4467//1629 +f 16389//1909 3353//1236 16390//333 +f 3399//3584 3400//402 4414//1608 +f 3589//1772 2612//1621 1736//3585 +f 3485//1773 3589//1772 906//3586 +f 15054//3411 15058//3587 14947//3588 +f 14953//3589 16551//3404 16517//3403 +f 16747//2821 16746//3590 16591//3408 +f 16440//2618 16592//2617 16439//3409 +f 14945//3591 14947//3588 16512//3592 +f 16517//3403 5476//3210 6773//3217 +f 15054//3411 14947//3588 14945//3591 +f 4462//3593 2172//3594 4463//3595 +f 15023//3412 15054//3411 14945//3591 +f 14947//3588 16517//3403 16512//3592 +f 23960//3116 35806//3115 11726//3596 +f 22026//3597 22122//1303 22121//2065 +f 4959//3598 4958//3414 4823//3413 +f 4824//3599 4959//3598 4823//3413 +f 4959//3598 5094//3600 5093//3415 +f 4958//3414 4959//3598 5093//3415 +f 5094//3600 5228//3601 5227//3416 +f 5093//3415 5094//3600 5227//3416 +f 5363//3602 5362//3417 5227//3416 +f 5228//3601 5363//3602 5227//3416 +f 5497//3603 5496//3418 5362//3417 +f 5363//3602 5497//3603 5362//3417 +f 5632//3604 5631//3419 5496//3418 +f 5497//3603 5632//3604 5496//3418 +f 5766//3605 5765//3420 5631//3419 +f 5632//3604 5766//3605 5631//3419 +f 5898//3606 5897//3421 5765//3420 +f 5766//3605 5898//3606 5765//3420 +f 6030//3607 6029//3422 5897//3421 +f 5898//3606 6030//3607 5897//3421 +f 6160//3608 6159//3423 6029//3422 +f 6030//3607 6160//3608 6029//3422 +f 6289//3609 6288//3424 6159//3423 +f 6160//3608 6289//3609 6159//3423 +f 6416//3610 6415//3425 6288//3424 +f 6289//3609 6416//3610 6288//3424 +f 34292//3611 34430//3612 34291//3613 +f 33862//3614 33861//3615 33727//3616 +f 1165//3548 1281//3546 1280//3255 +f 35685//3617 35934//3618 35883//3619 +f 1047//3549 1165//3548 1164//3249 +f 1046//3372 1164//3249 1163//3248 +f 25052//3620 19917//3621 19916//3622 +f 12081//3377 12163//3329 12080//3623 +f 1631//3624 1630//3625 1514//3626 +f 2467//2498 2602//2500 2466//3446 +f 3160//3627 4110//3628 4243//2889 +f 2329//3629 2330//3450 2463//3452 +f 2599//3630 2598//3631 2463//3452 +f 12679//3632 12680//3633 12768//3634 +f 12056//3635 12137//3636 12828//3637 +f 35715//3638 35355//2950 35937//3639 +f 1166//3640 1167//3641 1282//3642 +f 3558//3643 3557//3644 3424//3645 +f 3688//3646 3820//3647 3819//2979 +f 1821//3648 1941//3649 1940//3650 +f 1820//3651 1821//3648 1940//3650 +f 5186//3652 2758//3653 3581//3654 +f 2097//3655 2096//3656 1957//3657 +f 11363//3658 35396//3659 14286//3660 +f 4633//3661 11015//3662 11016//3663 +f 5308//3664 5443//3665 5442//3666 +f 1016//3667 1134//3668 1015//3669 +f 5841//3670 5973//3480 5840//2966 +f 6105//3288 6104//3289 5972//2967 +f 35831//3671 35499//3672 13101//3673 +f 2204//2571 2203//3674 2074//3675 +f 1594//3676 1711//3677 1593//3678 +f 1828//3293 1827//3294 1710//3679 +f 5861//3488 1484//1206 1485//3493 +f 2217//3296 2218//3295 5992//3489 +f 893//3680 1012//3681 892//3682 +f 16946//1066 3594//1205 3461//1207 +f 774//3683 893//3680 773//3684 +f 1130//3685 1129//3686 1011//3687 +f 655//3688 656//3689 773//3684 +f 1012//3681 1011//3687 892//3682 +f 541//3690 656//3689 540//3691 +f 893//3680 892//3682 773//3684 +f 427//3692 541//3690 426//3693 +f 656//3689 774//3683 773//3684 +f 7041//3694 316//3695 7040//3696 +f 656//3689 655//3688 540//3691 +f 317//3697 427//3692 426//3693 +f 541//3690 540//3691 426//3693 +f 670//3698 219//3518 68//3514 +f 35656//3699 35651//3700 35864//3701 +f 35812//2800 35362//3702 35697//2202 +f 68//3514 219//3518 3030//964 +f 12364//3703 12376//3704 8571//3157 +f 14299//3521 6512//3705 14298//3706 +f 12767//3707 12859//3708 12858//3709 +f 13800//3710 5724//3711 2092//3712 +f 11747//3713 11831//3496 11746//3714 +f 12164//3327 12163//3329 12081//3377 +f 13439//3715 13438//3716 13343//3559 +f 13344//3558 13439//3715 13343//3559 +f 13535//3717 13534//3718 13438//3716 +f 13439//3715 13535//3717 13438//3716 +f 13633//3719 13632//3720 13534//3718 +f 13535//3717 13633//3719 13534//3718 +f 11747//3713 11746//3714 11666//3321 +f 11831//3496 11830//3557 11746//3714 +f 13975//1509 11529//1508 12933//763 +f 11667//3347 11747//3713 11666//3321 +f 2778//3721 2779//3722 2443//3723 +f 35865//3724 35788//3725 35682//3726 +f 1515//3727 1514//3626 1398//3728 +f 928//3729 1047//3549 1046//3372 +f 1126//2675 1125//3730 1007//3731 +f 3560//3732 3561//3733 3690//3734 +f 5157//3735 5291//3736 5290//3737 +f 6609//3738 6734//3739 6733//3740 +f 4000//2736 13892//886 13240//3741 +f 1623//3742 10969//2521 4105//3743 +f 12224//3744 11504//3745 3968//2354 +f 13791//2353 12224//3744 3968//2354 +f 10119//3353 12364//3703 8571//3157 +f 14181//3746 11101//3133 13585//3552 +f 12330//3747 12416//3748 12329//3749 +f 12154//3750 12237//3751 12153//3752 +f 13924//3753 13925//3754 14022//3333 +f 12001//3523 12000//3524 11916//3533 +f 13731//3755 13730//3756 13632//3720 +f 13633//3719 13731//3755 13632//3720 +f 5747//3757 5613//1885 1894//1881 +f 2018//3578 5747//3757 1894//1881 +f 5747//3757 5//3758 4521//1886 +f 14654//1049 17114//1041 17115//3579 +f 5613//1885 5747//3757 4521//1886 +f 1501//3567 17024//944 4542//3565 +f 14653//3759 14654//1049 17115//3579 +f 5//3758 5867//3760 6759//1890 +f 16806//3761 16823//1128 14653//3759 +f 4521//1886 5//3758 6759//1890 +f 5867//3760 355//3762 2530//1891 +f 6759//1890 5867//3760 2530//1891 +f 355//3762 4276//3763 2280//1895 +f 2530//1891 355//3762 2280//1895 +f 16823//1128 14654//1049 14653//3759 +f 4276//3763 15236//3764 15223//1964 +f 14437//3580 3268//3765 498//214 +f 14723//1040 17024//944 1501//3567 +f 17244//616 17243//623 17079//120 +f 14415//664 14437//3580 498//214 +f 16915//122 17078//121 16914//916 +f 17244//616 4326//749 17243//623 +f 919//3000 1406//1035 242//3203 +f 17242//625 17241//922 17077//921 +f 15569//1096 15629//3395 14987//1097 +f 15661//912 14996//913 14988//3202 +f 5887//836 2611//837 2347//3582 +f 14988//3202 16647//2999 16641//1103 +f 1685//3400 225//3583 1801//1911 +f 2347//3582 2611//837 3168//3204 +f 8117//1700 20724//3766 17723//3767 +f 225//3583 4011//3768 4112//1828 +f 3614//3401 3485//1773 906//3586 +f 10963//3398 21296//3769 21287//3770 +f 14947//3588 14953//3589 16517//3403 +f 906//3586 3589//1772 1736//3585 +f 16592//2617 16747//2821 16591//3408 +f 16551//3404 5611//3209 5476//3210 +f 19104//3771 19538//3772 35696//3773 +f 16905//2253 16904//3774 16746//3590 +f 4421//3775 18595//3776 18717//3777 +f 16512//3592 16517//3403 6773//3217 +f 4556//3778 4690//3779 19229//3780 +f 16171//3781 4555//3782 19229//3780 +f 16439//3409 16438//3783 16293//3213 +f 16439//3409 16591//3408 16438//3783 +f 23927//3784 26555//3785 26253//3786 +f 16591//3408 16590//3787 16438//3783 +f 4960//3788 4959//3598 4824//3599 +f 2170//3789 2041//3790 19176//3791 +f 5095//3792 5094//3600 4959//3598 +f 4960//3788 5095//3792 4959//3598 +f 5229//3793 5228//3601 5094//3600 +f 5095//3792 5229//3793 5094//3600 +f 5229//3793 5364//3794 5363//3602 +f 5228//3601 5229//3793 5363//3602 +f 5364//3794 5498//3795 5497//3603 +f 5363//3602 5364//3794 5497//3603 +f 5633//3796 5632//3604 5497//3603 +f 5498//3795 5633//3796 5497//3603 +f 5767//3797 5766//3605 5632//3604 +f 5633//3796 5767//3797 5632//3604 +f 5899//3798 5898//3606 5766//3605 +f 5767//3797 5899//3798 5766//3605 +f 6031//3799 6030//3607 5898//3606 +f 5899//3798 6031//3799 5898//3606 +f 6161//3800 6160//3608 6030//3607 +f 6031//3799 6161//3800 6030//3607 +f 6290//3801 6289//3609 6160//3608 +f 6161//3800 6290//3801 6160//3608 +f 6417//3802 6416//3610 6289//3609 +f 6290//3801 6417//3802 6289//3609 +f 35941//3803 35394//3804 35502//3805 +f 835//3806 836//3807 8007//3808 +f 4759//2877 4894//3809 4893//2878 +f 3292//3810 3431//3811 3291//3812 +f 2491//3813 6249//3814 9449//3815 +f 3431//3811 3564//3816 3430//3817 +f 5290//3737 5425//3818 5289//3819 +f 1589//3820 1706//3821 1705//3822 +f 8907//3823 6247//3824 6246//3825 +f 5581//3826 5716//3827 5715//3828 +f 1152//2685 1496//3829 1258//2681 +f 4361//3830 4495//3373 4494//3831 +f 2734//3832 2733//3833 2598//3631 +f 2599//3630 2734//3832 2598//3631 +f 6487//3834 6613//3835 6486//3836 +f 3430//3817 3429//2898 3290//3837 +f 6613//3835 6738//3838 6737//3839 +f 3291//3812 3430//3817 3290//3837 +f 4616//3840 4617//3841 4750//3842 +f 4617//3841 4751//3271 4750//3842 +f 4220//3843 4353//3844 4352//3845 +f 4220//3843 4219//3846 4086//3847 +f 419//3848 533//3849 532//3850 +f 1238//3851 1354//3852 1353//3853 +f 2593//3854 2594//3855 2728//3856 +f 1469//3857 1468//3858 1352//3859 +f 7937//3860 1251//3861 7936//3862 +f 4395//3863 4262//3864 10564//3865 +f 5707//3866 5841//3670 5706//3867 +f 5973//3480 5972//2967 5840//2966 +f 2203//3674 2204//2571 2335//3868 +f 2204//2571 2336//3869 2335//3868 +f 1478//3870 1477//3871 1361//3872 +f 1362//3873 1478//3870 1361//3872 +f 1246//3874 1245//3875 1129//3686 +f 5992//3489 5861//3488 1485//3493 +f 1595//2677 1594//3676 1478//3870 +f 1012//3681 1130//3685 1011//3687 +f 1247//2489 1363//2493 1246//3874 +f 1479//2495 1595//2677 1478//3870 +f 1479//2495 1478//3870 1362//3873 +f 1363//2493 1479//2495 1362//3873 +f 8586//3876 1712//3877 8587//2886 +f 1595//2677 1712//3877 1594//3676 +f 3691//3878 3823//3291 3822//3290 +f 3690//3734 3691//3878 3822//3290 +f 35868//3879 35411//3880 35360//3881 +f 3823//3291 3955//3481 3954//3292 +f 2074//3675 2073//2887 1948//3096 +f 1949//3882 1828//3293 8586//3876 +f 35393//3883 35575//3259 35352//3884 +f 35541//3885 35761//3886 35543//3887 +f 10486//3888 517//3889 4918//3890 +f 219//3518 517//3889 792//965 +f 8638//3891 8745//3892 2119//3893 +f 13889//3894 288//3895 13494//3896 +f 13728//3897 13826//3898 13727//2376 +f 12661//3899 3341//3900 12660//3901 +f 35372//3902 35720//1945 35459//3903 +f 11917//3495 11916//3533 11830//3557 +f 13829//3904 13828//3905 13730//3756 +f 13731//3755 13829//3904 13730//3756 +f 13927//3906 13926//3907 13828//3905 +f 13829//3904 13927//3906 13828//3905 +f 13927//3906 14025//3908 14024//3909 +f 13926//3907 13927//3906 14024//3909 +f 14025//3908 14123//3910 14122//3911 +f 14024//3909 14025//3908 14122//3911 +f 9064//1742 20782//3912 20783//1596 +f 31049//3913 31111//3914 31110//3915 +f 30930//3916 30988//3917 30929//3918 +f 14219//3919 14218//3920 14122//3911 +f 10722//3921 13885//3922 9790//3923 +f 13717//1560 13718//3924 13816//3925 +f 14123//3910 14219//3919 14122//3911 +f 7682//3926 10934//2522 4246//3927 +f 220//3928 4000//2736 13240//3741 +f 14317//3929 14316//3930 14218//3920 +f 11504//3745 9742//3931 7705//2520 +f 14181//3746 13585//3552 12376//3704 +f 12364//3703 14181//3746 12376//3704 +f 12162//3932 12245//3933 12161//3934 +f 12505//3935 12504//3936 12415//3937 +f 12225//3938 9640//3939 9744//3940 +f 14023//3334 14121//3941 14120//3335 +f 3830//3942 3698//3943 3831//3944 +f 2280//1895 4276//3763 15223//1964 +f 15236//3764 16860//3945 16852//2030 +f 15223//1964 15236//3764 16852//2030 +f 16860//3945 14807//3946 14791//2043 +f 16852//2030 16860//3945 14791//2043 +f 14807//3946 3798//3947 17117//2053 +f 1830//3948 3317//1279 244//3949 +f 14791//2043 14807//3946 17117//2053 +f 678//3950 14492//1278 1830//3948 +f 3317//1279 139//1280 244//3949 +f 3798//3947 14941//3951 14531//2204 +f 17117//2053 3798//3947 14531//2204 +f 14941//3951 3886//3952 1036//2205 +f 14531//2204 14941//3951 1036//2205 +f 3886//3952 5408//3953 14647//2206 +f 4676//3954 4811//67 1567//66 +f 1036//2205 3886//3952 14647//2206 +f 224//3955 2626//1333 678//3950 +f 14492//1278 3317//1279 1830//3948 +f 17177//3956 5483//3957 3122//640 +f 3268//3765 3351//3958 15414//215 +f 17080//617 17079//120 16916//880 +f 16915//122 25605//3959 25604//3960 +f 4199//3961 4200//875 17241//922 +f 17078//121 17242//625 17077//921 +f 2658//2786 6516//995 919//3000 +f 1406//1035 699//911 242//3203 +f 16647//2999 1766//2785 827//1105 +f 14987//1097 14988//3202 16641//1103 +f 16740//682 16739//684 16584//3962 +f 3878//704 5887//836 5886//3581 +f 20094//3963 15025//3964 17102//3965 +f 14680//1291 14788//1068 26//725 +f 4793//3966 11501//2729 11645//2728 +f 17803//3967 17900//3968 20479//3969 +f 3757//3970 3889//3971 3888//3972 +f 4022//3973 19126//3974 3888//3972 +f 3889//3971 4023//3975 4022//3973 +f 27149//3976 27870//3977 35699//3083 +f 4023//3975 4156//3978 4155//3979 +f 18760//3980 18759//3981 18661//3982 +f 4156//3978 4289//3983 4288//3984 +f 4155//3979 4156//3978 4288//3984 +f 4289//3983 4423//3985 4422//3986 +f 4288//3984 4289//3983 4422//3986 +f 4423//3985 4557//3987 4556//3778 +f 4422//3986 4423//3985 4556//3778 +f 25131//3007 13591//982 25269//3988 +f 4557//3987 4691//3989 4556//3778 +f 5270//3990 18207//3991 5405//3992 +f 4691//3989 4826//3993 4690//3779 +f 4961//3994 4960//3788 4825//3995 +f 4826//3993 4961//3994 4825//3995 +f 5096//3996 5095//3792 4960//3788 +f 4961//3994 5096//3996 4960//3788 +f 5230//3997 5229//3793 5095//3792 +f 5096//3996 5230//3997 5095//3792 +f 5365//3998 5364//3794 5229//3793 +f 5230//3997 5365//3998 5229//3793 +f 5499//3999 5498//3795 5364//3794 +f 5365//3998 5499//3999 5364//3794 +f 5634//4000 5633//3796 5498//3795 +f 5499//3999 5634//4000 5498//3795 +f 5768//4001 5767//3797 5633//3796 +f 5634//4000 5768//4001 5633//3796 +f 5900//4002 5899//3798 5767//3797 +f 5768//4001 5900//4002 5767//3797 +f 6032//4003 6031//3799 5899//3798 +f 5900//4002 6032//4003 5899//3798 +f 6162//4004 6161//3800 6031//3799 +f 6032//4003 6162//4004 6031//3799 +f 6291//4005 6290//3801 6161//3800 +f 6162//4004 6291//4005 6161//3800 +f 6418//4006 6545//4007 8012//4008 +f 6291//4005 6418//4006 6290//3801 +f 2737//4009 2736//4010 2601//3445 +f 416//4011 529//4012 415//4013 +f 3431//3811 3430//3817 3291//3812 +f 4914//4014 4779//4015 11283//4016 +f 3564//3816 3694//4017 3563//4018 +f 3564//3816 3563//4018 3430//3817 +f 1706//3821 1707//4019 1823//4020 +f 1863//4021 1862//4022 1745//3178 +f 5716//3827 5850//4023 5849//4024 +f 1824//4025 1944//4026 1943//4027 +f 5034//4028 5035//4029 5169//4030 +f 30180//3061 30179//4031 30047//2856 +f 11457//4032 11458//4033 11521//4034 +f 4900//4035 5035//4029 5034//4028 +f 13828//3905 13926//3907 13827//4036 +f 2870//4037 2869//4038 2733//3833 +f 1593//3678 1710//3679 1592//4039 +f 1710//3679 1709//4040 1592//4039 +f 4619//4041 4753//4042 4752//3272 +f 2458//4043 2459//4044 2593//3854 +f 2098//4045 2227//4046 1955//4047 +f 1954//4048 2098//4045 1955//4047 +f 1703//4049 1820//3651 1819//4050 +f 1585//4051 1586//3467 1702//4052 +f 2864//4053 2865//4054 3003//4055 +f 3004//4056 3145//4057 3144//4058 +f 1016//3667 7821//4059 7936//3862 +f 1483//4060 1482//4061 1366//4062 +f 5572//4063 5707//3866 5571//4064 +f 5841//3670 5840//2966 5706//3867 +f 2335//3868 2336//3869 2469//4065 +f 2336//3869 2470//4066 2469//4065 +f 1478//3870 1594//3676 1477//3871 +f 1594//3676 1593//3678 1477//3871 +f 1247//2489 1246//3874 1130//3685 +f 1130//3685 1246//3874 1129//3686 +f 3568//4067 3698//3943 3697//4068 +f 1131//2490 1247//2489 1130//3685 +f 3435//4069 3568//4067 3567//4070 +f 3567//4070 3568//4067 3697//4068 +f 3296//4071 3435//4069 3434//4072 +f 3434//4072 3435//4069 3567//4070 +f 3156//4073 3296//4071 3295//4074 +f 3295//4074 3296//4071 3434//4072 +f 3015//2975 3014//4075 2875//4076 +f 3155//4077 3156//4073 3295//4074 +f 2605//4078 2740//4079 2604//4080 +f 2876//4081 3015//2975 2875//4076 +f 2876//4081 2875//4076 2739//4082 +f 2740//4079 2876//4081 2739//4082 +f 3156//4073 3155//4077 3014//4075 +f 3015//2975 3156//4073 3014//4075 +f 191//4083 3572//3439 3963//4084 +f 4629//3374 4630//4085 4763//4086 +f 35542//4087 35915//638 29221//4088 +f 3689//4089 3821//4090 3820//3647 +f 11131//4091 30//4092 12663//4093 +f 12047//2712 13776//4094 12129//4095 +f 99//3399 10963//3398 21287//3770 +f 11592//3345 11591//3348 11524//3346 +f 14219//3919 14317//3929 14218//3920 +f 10729//4096 9314//4097 14316//3930 +f 14317//3929 10729//4096 14316//3930 +f 12941//4098 11838//4099 9314//4097 +f 10729//4096 12941//4098 9314//4097 +f 12941//4098 9658//4100 11263//4101 +f 11838//4099 12941//4098 11263//4101 +f 11211//4102 10118//4103 10461//4104 +f 10723//3113 11211//4102 10461//4104 +f 11211//4102 7700//4105 8442//4106 +f 10118//4103 11211//4102 8442//4106 +f 7700//4105 7575//4107 8775//4108 +f 10969//2521 21//2714 4105//3743 +f 7705//2520 7879//4109 21//2714 +f 13354//4110 13355//4111 13449//4112 +f 12245//3933 12330//3747 12244//4113 +f 4124//3128 3990//4114 4927//3319 +f 13553//4115 13552//4116 13456//4117 +f 5408//3953 16537//4118 16690//2207 +f 14647//2206 5408//3953 16690//2207 +f 16537//4118 15559//4119 15558//2208 +f 3403//1186 15163//1185 15145//4120 +f 3266//4121 3403//1186 15145//4120 +f 16690//2207 16537//4118 15558//2208 +f 139//1280 3403//1186 3266//4121 +f 15559//4119 14718//4122 15228//2230 +f 15558//2208 15559//4119 15228//2230 +f 14718//4122 15821//4123 15822//2372 +f 15228//2230 14718//4122 15822//2372 +f 1425//1602 2626//1333 253//4124 +f 14915//4125 15037//2405 15822//2372 +f 15821//4123 14915//4125 15822//2372 +f 5067//4126 4802//2574 15037//2405 +f 14915//4125 5067//4126 15037//2405 +f 16477//4127 15688//2575 4802//2574 +f 5067//4126 16477//4127 4802//2574 +f 35405//4128 28993//4129 35369//4130 +f 16477//4127 1214//4131 15688//2575 +f 3491//4132 3359//1490 253//4124 +f 2626//1333 224//3955 253//4124 +f 5483//3957 14736//4133 15557//530 +f 17014//483 17177//3956 3122//640 +f 22027//1302 22028//4134 22123//125 +f 21765//4135 13426//4136 20066//4137 +f 1568//4138 1453//870 4200//875 +f 17242//625 4199//3961 17241//922 +f 4770//2583 1735//994 2658//2786 +f 6516//995 1406//1035 919//3000 +f 1766//2785 16786//2582 16627//1031 +f 16641//1103 16647//2999 827//1105 +f 16585//691 16584//3962 16432//692 +f 4011//3768 3878//704 5886//3581 +f 6281//4139 21329//4140 21859//4141 +f 14997//4142 15120//1507 15119//4143 +f 32528//4144 32529//4145 32637//4146 +f 31300//4147 31367//3527 31299//4148 +f 3758//4149 3890//4150 3889//3971 +f 5332//4151 3757//3970 3756//4152 +f 3890//4150 4024//4153 4023//3975 +f 3889//3971 3890//4150 4023//3975 +f 4024//4153 4157//4154 4156//3978 +f 4023//3975 4024//4153 4156//3978 +f 4157//4154 4290//4155 4289//3983 +f 4156//3978 4157//4154 4289//3983 +f 4290//4155 4424//4156 4423//3985 +f 4289//3983 4290//4155 4423//3985 +f 4424//4156 4558//4157 4557//3987 +f 4423//3985 4424//4156 4557//3987 +f 4692//4158 4691//3989 4557//3987 +f 4558//4157 4692//4158 4557//3987 +f 4827//4159 4826//3993 4691//3989 +f 4692//4158 4827//4159 4691//3989 +f 4962//4160 4961//3994 4826//3993 +f 4827//4159 4962//4160 4826//3993 +f 5097//4161 5096//3996 4961//3994 +f 4962//4160 5097//4161 4961//3994 +f 5231//4162 5230//3997 5096//3996 +f 5097//4161 5231//4162 5096//3996 +f 5366//4163 5365//3998 5230//3997 +f 5231//4162 5366//4163 5230//3997 +f 5500//4164 5499//3999 5365//3998 +f 5366//4163 5500//4164 5365//3998 +f 5500//4164 5635//4165 5634//4000 +f 5499//3999 5500//4164 5634//4000 +f 5769//4166 5768//4001 5634//4000 +f 5635//4165 5769//4166 5634//4000 +f 5901//4167 5900//4002 5768//4001 +f 5769//4166 5901//4167 5768//4001 +f 6033//4168 6032//4003 5900//4002 +f 5901//4167 6033//4168 5900//4002 +f 6163//4169 6162//4004 6032//4003 +f 6033//4168 6163//4169 6032//4003 +f 6292//4170 6291//4005 6162//4004 +f 6163//4169 6292//4170 6162//4004 +f 6419//4171 6418//4006 6291//4005 +f 6292//4170 6419//4171 6291//4005 +f 31169//2808 31233//4172 31232//2809 +f 13722//4173 13721//4174 13623//4175 +f 4778//4176 4779//4015 4913//4177 +f 5048//4178 5049//4179 5183//4180 +f 5876//1124 9432//4181 13989//4182 +f 5847//4183 5979//4184 5978//4185 +f 4754//4186 4755//3486 4889//4187 +f 5166//4188 5300//3556 5299//677 +f 1823//4020 1824//4025 1943//4027 +f 2749//3441 2748//3440 2076//4189 +f 35402//4190 35586//331 35422//3047 +f 31458//4191 31530//4192 31457//4193 +f 4227//4194 4228//4195 4360//4196 +f 26701//4197 26596//4198 22778//4199 +f 26847//4200 11674//4201 11755//4202 +f 888//4203 889//4204 1007//3731 +f 13772//4205 5061//3490 10773//3492 +f 1609//4206 3461//1207 1484//1206 +f 28346//2840 35544//2842 35619//4207 +f 1134//3668 1133//4208 1015//3669 +f 3954//3292 4088//3483 4087//4209 +f 3690//3734 3822//3290 3821//4090 +f 1586//3467 1585//4051 1469//3857 +f 1354//3852 1470//3468 1353//3853 +f 2865//4054 3004//4056 3003//4055 +f 4484//4210 4485//4211 4618//4212 +f 8270//4213 1483//4060 8162//4214 +f 1599//4215 1598//4216 1482//4061 +f 5437//4217 5438//4218 5571//4064 +f 5707//3866 5706//3867 5571//4064 +f 657//4219 656//3689 541//3690 +f 427//3692 428//4220 541//3690 +f 1362//3873 1361//3872 1245//3875 +f 1711//3677 1710//3679 1593//3678 +f 1013//4221 1131//2490 1012//3681 +f 1363//2493 1362//3873 1246//3874 +f 3831//3944 10396//4222 3830//3942 +f 3698//3943 3830//3942 3697//4068 +f 1819//4050 1939//4223 1818//4224 +f 2064//4225 2063//4226 1938//4227 +f 1957//3657 1958//4228 2758//3653 +f 2594//3855 2729//4229 2728//3856 +f 4633//3661 4767//3475 4766//4230 +f 9658//4100 7773//4231 11321//4232 +f 4767//3475 4902//3281 4901//4233 +f 4766//4230 4767//3475 4901//4233 +f 4902//3281 5037//3078 5036//4234 +f 5037//3078 5172//3075 5171//4235 +f 21108//4236 21197//4237 21196//4238 +f 4901//4233 4902//3281 5036//4234 +f 1585//4051 1584//4239 1468//3858 +f 2227//4046 2097//3655 1956//4240 +f 4353//3844 4354//3476 4487//3478 +f 5455//4241 1955//4047 5320//4242 +f 7936//3862 1250//4243 1134//3668 +f 2328//4244 2462//4245 2327//4246 +f 3061//4247 3062//4248 15//4249 +f 24537//3540 26073//4250 25941//4251 +f 24432//4252 29535//4253 29492//4254 +f 22723//4255 22822//3534 22722//3536 +f 11263//4101 9658//4100 11321//4232 +f 7773//4231 10379//4256 9688//4257 +f 8442//4106 7700//4105 8775//4108 +f 7366//4258 11111//4259 8775//4108 +f 7575//4107 7366//4258 8775//4108 +f 7365//4260 8025//4261 11111//4259 +f 7366//4258 7365//4260 11111//4259 +f 8552//4262 8444//4263 8025//4261 +f 35897//4264 35605//4265 35451//4266 +f 7365//4260 8552//4262 8025//4261 +f 18641//4267 21117//4268 21116//4269 +f 1838//4270 1844//4271 1845//4272 +f 2626//1333 14492//1278 678//3950 +f 4810//36 3359//1490 4676//3954 +f 15163//1185 16823//1128 16806//3761 +f 15145//4120 15163//1185 16806//3761 +f 244//3949 139//1280 3266//4121 +f 498//214 3268//3765 15414//215 +f 4193//173 25596//4273 25595//4274 +f 3359//1490 3491//4132 4676//3954 +f 16632//4275 250//1201 15294//4276 +f 15020//2776 14823//1198 15415//950 +f 5488//4277 5481//1199 16632//4275 +f 250//1201 15020//2776 15294//4276 +f 14835//4278 14725//4279 16987//805 +f 4810//36 4676//3954 1452//1502 +f 35831//3671 13196//4280 14283//4281 +f 16239//4282 141//716 15965//118 +f 3212//4283 6149//4284 1185//961 +f 35571//4285 35712//4286 35798//3453 +f 16073//4287 15933//4288 14511//4289 +f 14777//147 14890//4290 14776//148 +f 12990//1652 12804//23 13084//25 +f 21125//2250 22053//1803 21124//2251 +f 16192//4291 2712//4292 16488//681 +f 3122//640 5483//3957 15557//530 +f 23228//242 21867//247 12868//249 +f 15590//136 15072//1415 15071//137 +f 23523//4293 23985//4294 30785//4295 +f 4199//3961 1568//4138 4200//875 +f 28469//4296 17314//4297 29121//4298 +f 26828//4299 19792//4300 27374//4301 +f 28729//1984 28730//4302 30668//4303 +f 32984//4304 32983//4305 32875//4306 +f 35333//4307 35332//4308 35203//4309 +f 26802//2837 28486//4310 685//2838 +f 3497//4311 3627//4312 3626//4313 +f 3626//4313 3758//4149 34473//4314 +f 3627//4312 3759//4315 3758//4149 +f 18377//4316 18305//4317 17364//4318 +f 3759//4315 3891//4319 3890//4150 +f 3758//4149 3759//4315 3890//4150 +f 3891//4319 4025//4320 4024//4153 +f 3890//4150 3891//4319 4024//4153 +f 4025//4320 4158//4321 4157//4154 +f 4024//4153 4025//4320 4157//4154 +f 4158//4321 4291//4322 4290//4155 +f 4157//4154 4158//4321 4290//4155 +f 4291//4322 4425//4323 4424//4156 +f 4290//4155 4291//4322 4424//4156 +f 4425//4323 4559//4324 4558//4157 +f 4424//4156 4425//4323 4558//4157 +f 4693//4325 4692//4158 4558//4157 +f 4559//4324 4693//4325 4558//4157 +f 4828//4326 4827//4159 4692//4158 +f 4693//4325 4828//4326 4692//4158 +f 4963//4327 4962//4160 4827//4159 +f 4828//4326 4963//4327 4827//4159 +f 5098//4328 5097//4161 4962//4160 +f 4963//4327 5098//4328 4962//4160 +f 5232//4329 5231//4162 5097//4161 +f 5098//4328 5232//4329 5097//4161 +f 5367//4330 5366//4163 5231//4162 +f 5232//4329 5367//4330 5231//4162 +f 5367//4330 5501//4331 5500//4164 +f 5366//4163 5367//4330 5500//4164 +f 5636//4332 5635//4165 5500//4164 +f 5501//4331 5636//4332 5500//4164 +f 5770//4333 5769//4166 5635//4165 +f 5636//4332 5770//4333 5635//4165 +f 5902//4334 5901//4167 5769//4166 +f 5770//4333 5902//4334 5769//4166 +f 6034//4335 6033//4168 5901//4167 +f 5902//4334 6034//4335 5901//4167 +f 6164//4336 6163//4169 6033//4168 +f 6034//4335 6164//4336 6033//4168 +f 6293//4337 6292//4170 6163//4169 +f 6164//4336 6293//4337 6163//4169 +f 6420//4338 6421//4339 10693//4340 +f 6293//4337 6420//4338 6292//4170 +f 11321//4232 7773//4231 9688//4257 +f 30180//3061 30313//4341 30179//4031 +f 1943//4027 1944//4026 2068//4342 +f 5049//4179 5184//4343 5183//4180 +f 5160//4344 5161//4345 5294//4346 +f 296//939 14490//938 3350//962 +f 6228//4347 6357//4348 6356//4349 +f 13821//4350 13919//4351 13820//4352 +f 1284//4353 7744//4354 7859//4355 +f 5183//4180 5184//4343 5317//4356 +f 28428//2219 30026//4357 28308//2220 +f 804//4358 923//4359 922//4360 +f 33548//4361 803//4362 802//4363 +f 4355//4364 4354//3476 4221//4365 +f 3319//4366 5039//4367 5038//3073 +f 5161//4345 5162//4368 5295//4369 +f 6098//4370 6099//4371 6228//4347 +f 3294//4372 3295//4074 3433//4373 +f 3434//4072 3567//4070 3566//4374 +f 6106//3251 6236//3360 6105//3288 +f 6236//3360 6365//3367 6235//3086 +f 5026//4375 5027//4376 5161//4345 +f 5162//4368 5296//895 5295//4369 +f 1470//3468 1586//3467 1469//3857 +f 533//3849 648//4377 532//3850 +f 8150//4378 6093//4379 6092//4380 +f 4091//3442 4090//4381 3956//4382 +f 8270//4213 1599//4215 1483//4060 +f 35525//4383 35495//4384 35552//4385 +f 5302//4386 5303//4387 5437//4217 +f 5438//4218 5572//4063 5571//4064 +f 775//4388 774//3683 656//3689 +f 542//4389 657//4219 541//3690 +f 894//4390 1013//4221 893//3680 +f 1246//3874 1362//3873 1245//3875 +f 3424//3645 3557//3644 3423//4391 +f 1131//2490 1130//3685 1012//3681 +f 3951//4392 4085//4393 4084//4394 +f 3557//3644 3556//2868 3423//4391 +f 11890//2224 12209//4395 13305//1924 +f 3950//4396 3951//4392 4084//4394 +f 1016//3667 1015//3669 896//4397 +f 897//4398 896//4397 777//4399 +f 5307//3079 5308//3664 5442//3666 +f 5443//3665 5577//4400 5576//4401 +f 15010//2989 15009//1567 14889//4402 +f 2121//4403 433//4404 1402//4405 +f 5313//4406 5448//4407 5447//4408 +f 5312//4409 5313//4406 5447//4408 +f 4087//4209 4088//3483 4220//3843 +f 6098//4370 6228//4347 6227//4410 +f 4354//3476 4355//4364 4488//3477 +f 4487//3478 4488//3477 4621//4411 +f 6749//4412 6748//4413 6623//4414 +f 4489//4415 4623//4416 4622//3484 +f 35788//3725 35388//4417 35682//3726 +f 10987//4418 10250//4419 8444//4263 +f 11916//3533 12000//3524 11915//4420 +f 5336//4421 125//4422 9742//3931 +f 12163//3329 12162//3932 12080//3623 +f 12894//4423 16162//4424 21287//3770 +f 10379//4256 12931//4425 13873//4426 +f 9688//4257 10379//4256 13873//4426 +f 8552//4262 10987//4418 8444//4263 +f 9669//4427 9322//4428 10250//4419 +f 10987//4418 9669//4427 10250//4419 +f 15684//1493 2845//2990 15683//383 +f 15626//4429 4784//1015 3663//1017 +f 3359//1490 1425//1602 253//4124 +f 30029//4430 30028//4431 29897//4432 +f 3351//3958 3329//4433 2575//387 +f 2575//387 3329//4433 17014//483 +f 15414//215 3351//3958 2575//387 +f 3329//4433 17177//3956 17014//483 +f 22911//1894 23010//2604 22910//595 +f 30027//4434 6876//4435 28997//1691 +f 1613//416 1612//3187 1211//4436 +f 1210//417 1613//416 1211//4436 +f 1405//826 2388//1092 502//4437 +f 15270//4438 16959//523 15269//4439 +f 35670//2150 29006//2152 35740//4440 +f 11500//2581 13430//564 20434//861 +f 22515//156 22516//1969 22614//1802 +f 4941//4441 9690//2982 2249//4442 +f 35916//2762 35877//4443 35614//4444 +f 14571//4445 14663//4446 14662//269 +f 22522//700 22521//4447 33923//505 +f 20403//1962 21217//1 20400//3 +f 14769//4448 14768//430 14662//269 +f 6404//531 16192//4291 16488//681 +f 15731//660 14946//172 22045//1804 +f 22075//419 22069//4449 21133//420 +f 16488//681 1844//4271 16636//470 +f 30602//3207 27054//2070 27053//782 +f 11562//2102 12738//287 13859//289 +f 28017//4450 29697//4451 28016//4452 +f 35800//2818 35505//4453 13579//733 +f 30498//4454 26828//4299 27374//4301 +f 19467//4455 30489//4456 28467//4457 +f 3364//4458 3497//4311 34861//4459 +f 29077//1985 28729//1984 30668//4303 +f 3365//4460 3498//4461 3497//4311 +f 3364//4458 3365//4460 3497//4311 +f 3498//4461 3628//4462 3627//4312 +f 3497//4311 3498//4461 3627//4312 +f 3628//4462 3760//4463 3759//4315 +f 3627//4312 3628//4462 3759//4315 +f 3892//4464 3891//4319 3759//4315 +f 3760//4463 3892//4464 3759//4315 +f 4026//4465 4025//4320 3891//4319 +f 3892//4464 4026//4465 3891//4319 +f 4159//4466 4158//4321 4025//4320 +f 4026//4465 4159//4466 4025//4320 +f 4159//4466 4292//4467 4291//4322 +f 4158//4321 4159//4466 4291//4322 +f 4292//4467 4426//4468 4425//4323 +f 4291//4322 4292//4467 4425//4323 +f 4426//4468 4560//4469 4559//4324 +f 4425//4323 4426//4468 4559//4324 +f 4694//4470 4693//4325 4559//4324 +f 4560//4469 4694//4470 4559//4324 +f 4829//4471 4828//4326 4693//4325 +f 4694//4470 4829//4471 4693//4325 +f 4964//4472 4963//4327 4828//4326 +f 4829//4471 4964//4472 4828//4326 +f 5099//4473 5098//4328 4963//4327 +f 4964//4472 5099//4473 4963//4327 +f 5233//4474 5232//4329 5098//4328 +f 5099//4473 5233//4474 5098//4328 +f 5368//4475 5367//4330 5232//4329 +f 5233//4474 5368//4475 5232//4329 +f 5502//4476 5501//4331 5367//4330 +f 5368//4475 5502//4476 5367//4330 +f 5502//4476 5637//4477 5636//4332 +f 5501//4331 5502//4476 5636//4332 +f 5771//4478 5770//4333 5636//4332 +f 5637//4477 5771//4478 5636//4332 +f 5903//4479 5902//4334 5770//4333 +f 5771//4478 5903//4479 5770//4333 +f 6035//4480 6034//4335 5902//4334 +f 5903//4479 6035//4480 5902//4334 +f 6165//4481 6164//4336 6034//4335 +f 6035//4480 6165//4481 6034//4335 +f 6294//4482 6293//4337 6164//4336 +f 6165//4481 6294//4482 6164//4336 +f 10895//4483 11021//4484 10894//4485 +f 6294//4482 6421//4339 6293//4337 +f 923//4359 1042//4486 1041//4487 +f 13925//3754 14023//3334 14022//3333 +f 1042//4486 1160//4488 1159//4489 +f 922//4360 923//4359 1041//4487 +f 11283//4016 4779//4015 11157//4490 +f 1041//4487 1042//4486 1159//4489 +f 1584//4239 1583//4491 1467//4492 +f 13693//4493 5876//1124 13989//4182 +f 35430//4494 29145//4495 29008//4496 +f 1400//4497 1401//4498 1516//4499 +f 11742//4500 11741//4501 11661//4502 +f 6734//3739 6735//4503 697//3093 +f 421//4504 534//4505 7246//4506 +f 1160//4488 1276//2897 1159//4489 +f 2199//4507 2200//4508 2331//4509 +f 3423//4391 3556//2868 3422//4510 +f 889//4204 1008//2882 1007//3731 +f 5967//4511 6099//4371 6098//4370 +f 1365//3438 1366//4062 1481//4512 +f 6236//3360 6235//3086 6105//3288 +f 3155//4077 3295//4074 3294//4372 +f 3013//4513 3014//4075 3154//4514 +f 5834//4515 5966//4516 5965//4517 +f 35605//4265 35741//4518 35451//4266 +f 5320//4242 5186//3652 2882//4519 +f 3300//4520 2883//4521 3442//4522 +f 11521//4034 11520//4523 11457//4032 +f 22816//4524 22815//4525 22716//4526 +f 3025//4527 3575//2683 3449//4528 +f 3575//2683 3582//2890 3449//4528 +f 5168//3433 5169//4030 5302//4386 +f 5303//4387 5438//4218 5437//4217 +f 894//4390 893//3680 774//3683 +f 657//4219 775//4388 656//3689 +f 3687//2978 3686//2869 3556//2868 +f 1013//4221 1012//3681 893//3680 +f 6093//4379 6094//4529 6223//4530 +f 2325//4531 2459//4044 2458//4043 +f 4084//4394 4217//2901 4216//4532 +f 679//4533 665//4534 6732//4535 +f 3433//4373 3434//4072 3566//4374 +f 6364//2880 6365//3367 6491//3089 +f 28427//4536 35721//4537 35600//4538 +f 2869//4038 3008//4539 2868//4540 +f 12278//2927 13028//3135 12301//4541 +f 35725//3456 35462//2266 35634//3457 +f 12079//4542 12078//4543 11997//4544 +f 8692//4545 10501//2928 12279//4546 +f 3563//4018 3562//4547 3429//2898 +f 11538//4548 11605//4549 11537//4550 +f 6748//4413 6749//4412 1887//4551 +f 2003//4552 3866//4553 191//4083 +f 6749//4412 2003//4552 1887//4551 +f 1887//4551 2003//4552 191//4083 +f 5022//4554 5157//3735 5156//4555 +f 6624//4556 6749//4412 6623//4414 +f 2226//4557 3850//4558 3588//4559 +f 32867//4560 32868//4561 32975//4562 +f 11504//3745 5336//4421 9742//3931 +f 5691//4563 14608//4564 1650//4565 +f 32200//4566 32301//4567 32199//4568 +f 21296//3769 12894//4423 21287//3770 +f 12931//4425 9520//4569 13228//2673 +f 13873//4426 12931//4425 13228//2673 +f 12894//4423 21392//4570 16459//4571 +f 16162//4424 12894//4423 16459//4571 +f 14739//4572 2254//4573 11694//2072 +f 15124//4574 15251//4575 15250//925 +f 14736//4133 16192//4291 6404//531 +f 15557//530 14736//4133 6404//531 +f 5489//4576 15161//82 15656//1135 +f 21028//498 14763//497 15457//135 +f 21485//4577 13955//4578 14151//4579 +f 15225//1134 5489//4576 15656//1135 +f 20193//4580 20309//4581 20106//4582 +f 20462//1678 20547//4583 20461//1679 +f 20404//4584 3197//4585 17008//4586 +f 22151//2408 22156//426 15600//428 +f 20547//4583 20546//4587 20461//1679 +f 13986//4588 13616//1919 8156//4589 +f 4410//828 8126//569 1389//571 +f 15732//829 4410//828 1389//571 +f 9624//1409 16157//1410 22069//4449 +f 16303//2238 15877//4590 11258//1583 +f 20532//4591 20614//2777 20613//4592 +f 20614//2777 20695//2779 20694//4593 +f 23//4594 23219//4595 16459//4571 +f 21392//4570 23//4594 16459//4571 +f 5952//1133 5489//4576 15225//1134 +f 6022//4596 6248//4597 2488//4598 +f 29940//984 30602//3207 27053//782 +f 22514//157 22613//491 22612//490 +f 35876//199 35440//4599 35465//4600 +f 27665//4601 26576//4602 29546//4603 +f 26620//4604 26619//2622 26516//2624 +f 30340//4605 27667//4606 28467//4457 +f 28616//4607 18011//4608 30736//4609 +f 31207//4610 11421//4611 11420//4612 +f 28714//4613 28584//4614 28585//4615 +f 24455//4616 29293//4617 30776//4618 +f 3366//4619 3499//4620 3498//4461 +f 3365//4460 3366//4619 3498//4461 +f 3499//4620 3629//4621 3628//4462 +f 3498//4461 3499//4620 3628//4462 +f 3761//4622 3760//4463 3628//4462 +f 3629//4621 3761//4622 3628//4462 +f 3893//4623 3892//4464 3760//4463 +f 3761//4622 3893//4623 3760//4463 +f 4027//4624 4026//4465 3892//4464 +f 3893//4623 4027//4624 3892//4464 +f 4160//4625 4159//4466 4026//4465 +f 4027//4624 4160//4625 4026//4465 +f 4293//4626 4292//4467 4159//4466 +f 4160//4625 4293//4626 4159//4466 +f 4293//4626 4427//4627 4426//4468 +f 4292//4467 4293//4626 4426//4468 +f 4427//4627 4561//4628 4560//4469 +f 4426//4468 4427//4627 4560//4469 +f 4695//4629 4694//4470 4560//4469 +f 4561//4628 4695//4629 4560//4469 +f 4830//4630 4829//4471 4694//4470 +f 4695//4629 4830//4630 4694//4470 +f 4965//4631 4964//4472 4829//4471 +f 4830//4630 4965//4631 4829//4471 +f 5100//4632 5099//4473 4964//4472 +f 4965//4631 5100//4632 4964//4472 +f 5234//4633 5233//4474 5099//4473 +f 5100//4632 5234//4633 5099//4473 +f 5369//4634 5368//4475 5233//4474 +f 5234//4633 5369//4634 5233//4474 +f 5503//4635 5502//4476 5368//4475 +f 5369//4634 5503//4635 5368//4475 +f 5638//4636 5637//4477 5502//4476 +f 5503//4635 5638//4636 5502//4476 +f 5772//4637 5771//4478 5637//4477 +f 5638//4636 5772//4637 5637//4477 +f 5904//4638 5903//4479 5771//4478 +f 5772//4637 5904//4638 5771//4478 +f 6036//4639 6035//4480 5903//4479 +f 5904//4638 6036//4639 5903//4479 +f 6166//4640 6165//4481 6035//4480 +f 6036//4639 6166//4640 6035//4480 +f 6295//4641 6294//4482 6165//4481 +f 6166//4640 6295//4641 6165//4481 +f 6295//4641 6422//4642 6421//4339 +f 6294//4482 6295//4641 6421//4339 +f 20495//4643 26573//4644 24970//4645 +f 4768//3474 11144//4646 11145//4647 +f 3954//3292 3953//4648 3821//4090 +f 5040//4649 5039//4367 3319//4366 +f 6623//4414 6622//4650 6496//4651 +f 22227//4652 22228//4653 22323//4654 +f 3293//4655 3292//3810 3152//4656 +f 1011//3687 1129//3686 1010//3100 +f 1747//3464 1746//4657 1629//3435 +f 651//4658 769//4659 768//4660 +f 5301//4661 5302//4386 5436//2771 +f 2516//4662 2650//4663 2515//4664 +f 6117//4665 2756//3099 2216//4666 +f 4220//3843 4221//4365 4353//3844 +f 4087//4209 4220//3843 4086//3847 +f 5970//4667 6102//4668 5969//4669 +f 6229//4670 6358//4671 6357//4348 +f 5966//4516 5967//4511 6098//4370 +f 5974//3177 5973//3480 5841//3670 +f 2883//4521 2882//4519 3442//4522 +f 20694//4593 20695//2779 20776//4672 +f 1818//4224 1817//4673 1700//4674 +f 2734//3832 2870//4037 2733//3833 +f 3009//4675 3008//4539 2869//4038 +f 6480//4676 6606//4677 6479//4678 +f 6353//4679 6480//4676 6479//4678 +f 4219//3846 4352//3845 4351//4680 +f 1957//3657 2096//3656 1958//4228 +f 2330//3450 2331//4509 2464//3451 +f 2331//4509 2465//4681 2464//3451 +f 5033//3432 5034//4028 5168//3433 +f 5169//4030 5303//4387 5302//4386 +f 4362//4682 4496//4683 4495//3373 +f 775//4388 894//4390 774//3683 +f 766//4684 885//4685 884//3471 +f 1121//4686 1237//4687 1236//4688 +f 1245//3875 1361//3872 1244//2687 +f 23490//4689 17965//4690 19807//4691 +f 13764//4692 13669//4693 13571//4694 +f 2874//4695 2875//4076 3013//4513 +f 15278//4696 13785//4697 23219//4595 +f 4900//4035 4901//4233 5035//4029 +f 9346//4698 2742//4699 2607//4700 +f 6731//2965 6730//2849 6605//4701 +f 8745//3892 2248//4702 2119//3893 +f 13824//1006 13922//2359 13823//1007 +f 1015//3669 1014//4703 895//4704 +f 6483//4705 6609//3738 6608//4706 +f 3702//4707 3701//4708 2746//4709 +f 2745//4710 2340//4711 2339//4712 +f 6356//4349 6483//4705 6482//4713 +f 2746//4709 2745//4710 2339//4712 +f 2748//3440 2206//4714 2076//4189 +f 26940//1284 35669//1286 35688//4715 +f 3287//4716 3426//4717 3425//4718 +f 4887//4719 5022//4554 5021//4720 +f 917//4721 1407//4722 916//4723 +f 12053//4724 6016//231 1891//4725 +f 29543//4726 35925//4727 27642//4728 +f 11628//3573 35911//4729 12474//4730 +f 35883//3619 35934//3618 35741//4518 +f 31049//3913 31048//4731 30987//4732 +f 9520//4569 11072//4733 13878//4734 +f 13228//2673 9520//4569 13878//4734 +f 15001//4735 15124//4574 15123//4736 +f 23204//3562 23302//876 23301//877 +f 15123//4736 15124//4574 15250//925 +f 14568//545 15765//1368 14558//4737 +f 15385//4738 15386//4739 15516//4740 +f 15834//522 15550//513 16959//523 +f 22513//246 22514//157 22612//490 +f 16221//1958 15063//1798 15062//4741 +f 5952//1133 15794//1132 2005//804 +f 23430//1414 9401//1413 20158//881 +f 14156//4742 11122//4743 11235//4744 +f 14549//803 5952//1133 2005//804 +f 23203//3563 23204//3562 23301//877 +f 15920//69 15921//1364 16062//70 +f 2791//4745 22957//4746 15638//4747 +f 79//4748 1615//4749 587//4750 +f 22028//4134 22124//542 22123//125 +f 32396//4751 32395//4752 32292//4753 +f 499//4754 2018//3578 1542//4755 +f 25730//4756 1542//4755 1659//1882 +f 5879//4757 5747//3757 2018//3578 +f 15782//1362 15921//1364 15781//76 +f 15921//1364 16063//2373 16062//70 +f 7411//4758 7410//4759 6781//4760 +f 3217//2088 3218//480 5331//482 +f 34550//4761 34549//4762 34412//4763 +f 7193//4764 30807//4765 27839//4766 +f 29354//4767 29413//4768 11405//4769 +f 21608//4770 29767//4771 30156//4772 +f 26576//4602 27839//4766 2947//4773 +f 28428//2219 35479//2218 6877//4774 +f 35703//4775 35450//4776 35499//3672 +f 18800//4777 28616//4607 19703//4778 +f 3228//4779 3367//4780 3366//4619 +f 3227//4781 3365//4460 3226//4782 +f 3367//4780 3500//4783 3499//4620 +f 3366//4619 3367//4780 3499//4620 +f 3500//4783 3630//4784 3629//4621 +f 3499//4620 3500//4783 3629//4621 +f 3630//4784 3762//4785 3761//4622 +f 3629//4621 3630//4784 3761//4622 +f 3762//4785 3894//4786 3893//4623 +f 3761//4622 3762//4785 3893//4623 +f 4028//4787 4027//4624 3893//4623 +f 3894//4786 4028//4787 3893//4623 +f 4161//4788 4160//4625 4027//4624 +f 4028//4787 4161//4788 4027//4624 +f 4294//4789 4293//4626 4160//4625 +f 4161//4788 4294//4789 4160//4625 +f 4428//4790 4427//4627 4293//4626 +f 4294//4789 4428//4790 4293//4626 +f 4562//4791 4561//4628 4427//4627 +f 4428//4790 4562//4791 4427//4627 +f 4562//4791 4696//4792 4695//4629 +f 4561//4628 4562//4791 4695//4629 +f 4831//4793 4830//4630 4695//4629 +f 4696//4792 4831//4793 4695//4629 +f 4966//4794 4965//4631 4830//4630 +f 4831//4793 4966//4794 4830//4630 +f 5101//4795 5100//4632 4965//4631 +f 4966//4794 5101//4795 4965//4631 +f 5235//4796 5234//4633 5100//4632 +f 5101//4795 5235//4796 5100//4632 +f 5370//4797 5369//4634 5234//4633 +f 5235//4796 5370//4797 5234//4633 +f 5504//4798 5503//4635 5369//4634 +f 5370//4797 5504//4798 5369//4634 +f 5639//4799 5638//4636 5503//4635 +f 5504//4798 5639//4799 5503//4635 +f 5773//4800 5772//4637 5638//4636 +f 5639//4799 5773//4800 5638//4636 +f 5905//4801 5904//4638 5772//4637 +f 5773//4800 5905//4801 5772//4637 +f 6037//4802 6036//4639 5904//4638 +f 5905//4801 6037//4802 5904//4638 +f 6167//4803 6166//4640 6036//4639 +f 6037//4802 6167//4803 6036//4639 +f 6296//4804 6295//4641 6166//4640 +f 6167//4803 6296//4804 6166//4640 +f 6423//4805 6422//4642 6295//4641 +f 6296//4804 6423//4805 6295//4641 +f 6423//4805 6549//4806 6548//4807 +f 6422//4642 6423//4805 6548//4807 +f 13729//4808 13827//4036 13728//3897 +f 6673//4809 6674//4810 6800//4811 +f 11072//4733 12843//4812 9978//4813 +f 35652//4814 35437//2159 35753//4815 +f 2192//4816 2193//4817 2324//4818 +f 1005//4819 1006//4820 1123//4821 +f 2462//4245 2597//4822 2461//4823 +f 2193//4817 2325//4531 2324//4818 +f 5962//4824 6094//4529 8150//4378 +f 1955//4047 1956//4240 5320//4242 +f 3976//4825 2617//4826 2618//4827 +f 3712//4828 3976//4825 2618//4827 +f 6232//4829 6361//4830 6360//4831 +f 24520//4832 29432//4833 29422//4834 +f 6099//4371 6229//4670 6228//4347 +f 5163//4835 5164//4836 5297//896 +f 1366//4062 1482//4061 1481//4512 +f 3687//2978 3688//3646 3819//2979 +f 2882//4519 3581//3654 3302//4837 +f 1477//3871 1476//2689 1360//2892 +f 7041//3694 317//3697 316//3695 +f 645//4838 646//3473 763//4839 +f 5579//4840 5714//4841 5713//4842 +f 6352//4843 6353//4679 6479//4678 +f 6479//4678 6605//4701 6604//4844 +f 2096//3656 1153//4845 2095//4846 +f 538//3303 537//4847 423//4848 +f 6484//4849 6610//4850 6609//3738 +f 4898//3369 4899//4851 5033//3432 +f 5034//4028 5169//4030 5168//3433 +f 2324//4818 2325//4531 2458//4043 +f 4361//3830 4362//4682 4495//3373 +f 2193//4817 2194//4852 2325//4531 +f 34936//4853 34935//4854 34806//4855 +f 1128//2891 1129//3686 1244//2687 +f 3449//4528 3582//2890 6117//4665 +f 9629//3491 217//4856 2794//4857 +f 7620//4858 921//4859 1040//4860 +f 12244//4113 12243//4861 12160//4862 +f 13437//4863 13342//4864 13438//3716 +f 5186//3652 1957//3657 2758//3653 +f 35737//200 35465//4600 35677//4865 +f 4374//4866 4375//4867 4508//4868 +f 30487//2214 29079//4869 35779//4870 +f 4509//4871 4643//4872 4508//4868 +f 4643//4872 4642//4873 4508//4868 +f 4643//4872 4777//4874 4642//4873 +f 4777//4874 4776//4875 4642//4873 +f 4777//4874 4912//4876 4776//4875 +f 4912//4876 4911//4877 4776//4875 +f 767//4878 886//4879 885//4685 +f 1471//4880 1470//3468 1354//3852 +f 35338//4881 12653//4882 35337//4883 +f 648//4377 649//4884 766//4684 +f 3569//4885 3570//4886 3699//4887 +f 5568//4888 5569//4889 5703//4890 +f 5831//4891 8977//4892 9412//4893 +f 653//3300 771//3297 770//4894 +f 421//4504 535//4895 534//4505 +f 1587//3466 1588//4896 1704//4897 +f 13878//4734 11072//4733 9978//4813 +f 11919//3103 12003//4898 11918//3494 +f 22053//1803 22045//1804 21124//2251 +f 12843//4812 6761//4899 129//4900 +f 1029//49 2529//45 2394//2993 +f 15619//42 1029//49 15615//2580 +f 247//324 5193//4901 2712//4292 +f 16192//4291 247//324 2712//4292 +f 15835//4902 16221//1958 15062//4741 +f 3204//4903 406//2237 2250//4904 +f 13787//976 11970//975 16534//1899 +f 20366//587 21134//418 20364//588 +f 35550//2268 27286//2267 30072//3309 +f 14502//791 14501//447 14450//1327 +f 15644//535 15645//4905 15781//76 +f 15921//1364 15920//69 15781//76 +f 499//4754 5879//4757 2018//3578 +f 5879//4757 54//4906 5//3758 +f 5747//3757 5879//4757 5//3758 +f 54//4906 5827//4907 5867//3760 +f 5//3758 54//4906 5867//3760 +f 5827//4907 469//4908 355//3762 +f 5867//3760 5827//4907 355//3762 +f 469//4908 4233//1195 4276//3763 +f 14568//545 14558//4737 829//2209 +f 15645//4905 15782//1362 15781//76 +f 26942//4909 19133//4910 30556//4911 +f 28982//4912 29117//4913 28981//4914 +f 21142//4915 20053//4916 21581//4917 +f 19236//4918 21559//4919 24246//4920 +f 34413//3131 34550//4761 34412//4763 +f 29902//4921 29903//4922 30033//4923 +f 27839//4766 30807//4765 26426//4924 +f 30807//4765 30351//4925 26426//4924 +f 30736//4609 18011//4608 6915//4926 +f 30479//4927 30480//1930 29082//2640 +f 3229//4928 3368//4929 3367//4780 +f 3227//4781 33687//4930 3228//4779 +f 3368//4929 3501//4931 3500//4783 +f 3367//4780 3368//4929 3500//4783 +f 3501//4931 3631//4932 3630//4784 +f 3500//4783 3501//4931 3630//4784 +f 3631//4932 3763//4933 3762//4785 +f 3630//4784 3631//4932 3762//4785 +f 3763//4933 3895//4934 3894//4786 +f 3762//4785 3763//4933 3894//4786 +f 3895//4934 4029//4935 4028//4787 +f 3894//4786 3895//4934 4028//4787 +f 4162//4936 4161//4788 4028//4787 +f 4029//4935 4162//4936 4028//4787 +f 4295//4937 4294//4789 4161//4788 +f 4162//4936 4295//4937 4161//4788 +f 4429//4938 4428//4790 4294//4789 +f 4295//4937 4429//4938 4294//4789 +f 4563//4939 4562//4791 4428//4790 +f 4429//4938 4563//4939 4428//4790 +f 4697//4940 4696//4792 4562//4791 +f 4563//4939 4697//4940 4562//4791 +f 4697//4940 4832//4941 4831//4793 +f 4696//4792 4697//4940 4831//4793 +f 4967//4942 4966//4794 4831//4793 +f 4832//4941 4967//4942 4831//4793 +f 4967//4942 5102//4943 5101//4795 +f 4966//4794 4967//4942 5101//4795 +f 5236//4944 5235//4796 5101//4795 +f 5102//4943 5236//4944 5101//4795 +f 5371//4945 5370//4797 5235//4796 +f 5236//4944 5371//4945 5235//4796 +f 5371//4945 5505//4946 5504//4798 +f 5370//4797 5371//4945 5504//4798 +f 5640//4947 5639//4799 5504//4798 +f 5505//4946 5640//4947 5504//4798 +f 5774//4948 5773//4800 5639//4799 +f 5640//4947 5774//4948 5639//4799 +f 5906//4949 5905//4801 5773//4800 +f 5774//4948 5906//4949 5773//4800 +f 6038//4950 6037//4802 5905//4801 +f 5906//4949 6038//4950 5905//4801 +f 6168//4951 6167//4803 6037//4802 +f 6038//4950 6168//4951 6037//4802 +f 6297//4952 6296//4804 6167//4803 +f 6168//4951 6297//4952 6167//4803 +f 6424//4953 6423//4805 6296//4804 +f 6297//4952 6424//4953 6296//4804 +f 6550//4954 6549//4806 6423//4805 +f 6424//4953 6550//4954 6423//4805 +f 6550//4954 6675//4955 6674//4810 +f 6549//4806 6550//4954 6674//4810 +f 6675//4955 6802//4956 6801//4957 +f 6674//4810 6675//4955 6801//4957 +f 6092//4380 6222//4958 6221//4959 +f 35731//4960 11725//2226 12842//2225 +f 1241//4961 1240//4962 1124//4963 +f 12680//3633 12769//4964 12768//3634 +f 5838//4965 5837//4966 5703//4890 +f 1125//3730 1241//4961 1124//4963 +f 4901//4233 5036//4234 5035//4029 +f 24033//4967 24032//4968 30624//4969 +f 544//4970 543//4971 429//4972 +f 35607//4973 35778//4974 35702//4975 +f 5030//4976 5165//4977 5164//4836 +f 3153//4978 3293//4655 3152//4656 +f 4485//4211 4486//4979 4619//4041 +f 768//4660 887//4980 886//4879 +f 5722//4981 5855//4982 1953//4983 +f 6737//3839 6738//3838 935//4984 +f 2604//4080 2603//2499 2468//2680 +f 9978//4813 12843//4812 129//4900 +f 5714//4841 5848//4985 5847//4183 +f 5578//4986 5579//4840 5713//4842 +f 2227//4046 4251//4987 4131//4988 +f 6761//4899 6390//4989 4516//4990 +f 6483//4705 6484//4849 6609//3738 +f 4222//4991 4355//4364 4221//4365 +f 4763//4086 4764//4992 4898//3369 +f 4899//4851 5034//4028 5033//3432 +f 4228//4195 10637//4993 4229//4994 +f 11823//4995 11822//4996 11738//4997 +f 2194//4852 2326//4998 2325//4531 +f 1003//3283 1004//4999 1121//4686 +f 12161//3934 12244//4113 12160//4862 +f 1361//3872 1360//2892 1244//2687 +f 18902//5000 20779//5001 17816//5002 +f 11998//5003 12079//4542 11997//4544 +f 1985//5004 2110//5005 1984//5006 +f 5708//3174 5707//3866 5572//4063 +f 886//4879 1005//4819 1004//4999 +f 4375//4867 4509//4871 4508//4868 +f 2109//5007 2238//5008 2237//3270 +f 4390//3129 4257//5009 9517//5010 +f 903//3094 218//3090 4920//3095 +f 1984//5006 1983//5011 1863//4021 +f 6104//3289 6103//5012 5971//5013 +f 35445//5014 35534//5015 35935//5016 +f 13614//5017 449//2929 13714//3108 +f 2227//4046 2098//4045 4251//4987 +f 765//3470 764//5018 646//3473 +f 11588//5019 11587//5020 11520//4523 +f 6224//5021 6353//4679 6352//4843 +f 5972//2967 6104//3289 5971//5013 +f 3008//4539 3149//5022 3007//5023 +f 3437//5024 3298//5025 9924//5026 +f 6497//5027 6623//4414 6496//4651 +f 11522//5028 11521//4034 11458//4033 +f 796//5029 9990//5030 7668//5031 +f 1283//5032 1399//5033 1398//3728 +f 129//4900 6761//4899 4516//4990 +f 7042//5034 7043//5035 318//5036 +f 20316//1933 21125//2250 20311//2252 +f 355//3762 469//4908 4276//3763 +f 2529//45 5001//5037 16807//2994 +f 1739//2784 1029//49 2394//2993 +f 5729//2059 2663//2058 2528//5038 +f 2528//5038 2663//2058 15835//4902 +f 2250//4904 5729//2059 2528//5038 +f 2663//2058 16221//1958 15835//4902 +f 35634//3457 35462//2266 35368//3008 +f 14963//563 15083//565 16303//2238 +f 16962//347 17128//5039 17127//348 +f 11955//5040 13281//5041 35857//5042 +f 4412//5043 4280//1316 14943//5044 +f 4003//605 948//1257 3869//606 +f 4233//1195 15244//5045 15236//3764 +f 4276//3763 4233//1195 15236//3764 +f 15244//5045 16867//5046 16860//3945 +f 15236//3764 15244//5045 16860//3945 +f 16867//5046 14817//5047 14807//3946 +f 4144//1241 14803//1101 15181//5048 +f 16860//3945 16867//5046 14807//3946 +f 14817//5047 1447//5049 3798//3947 +f 14807//3946 14817//5047 3798//3947 +f 1447//5049 15753//5050 14941//3951 +f 17311//5051 29698//5052 28476//5053 +f 18577//5054 18674//5055 1444//5056 +f 26711//5057 26712//5058 26823//5059 +f 28982//4912 28981//4914 28848//5060 +f 30498//4454 27374//4301 30612//5061 +f 30488//5062 21644//5063 11385//5064 +f 30350//5065 29692//5066 29001//5067 +f 25351//5068 25352//5069 24698//5070 +f 27778//5071 27261//5072 27493//5073 +f 27843//5074 27493//5073 30351//4925 +f 3229//4928 3228//4779 14069//5075 +f 28748//5076 28616//4607 30736//4609 +f 3230//5077 3369//5078 3368//4929 +f 3229//4928 3230//5077 3368//4929 +f 3369//5078 3502//5079 3501//4931 +f 3368//4929 3369//5078 3501//4931 +f 3502//5079 3632//5080 3631//4932 +f 3501//4931 3502//5079 3631//4932 +f 3632//5080 3764//5081 3763//4933 +f 3631//4932 3632//5080 3763//4933 +f 3764//5081 3896//5082 3895//4934 +f 3763//4933 3764//5081 3895//4934 +f 3896//5082 4030//5083 4029//4935 +f 3895//4934 3896//5082 4029//4935 +f 4030//5083 4163//5084 4162//4936 +f 4029//4935 4030//5083 4162//4936 +f 4163//5084 4296//5085 4295//4937 +f 4162//4936 4163//5084 4295//4937 +f 4430//5086 4429//4938 4295//4937 +f 4296//5085 4430//5086 4295//4937 +f 4564//5087 4563//4939 4429//4938 +f 4430//5086 4564//5087 4429//4938 +f 4698//5088 4697//4940 4563//4939 +f 4564//5087 4698//5088 4563//4939 +f 4698//5088 4833//5089 4832//4941 +f 4697//4940 4698//5088 4832//4941 +f 4968//5090 4967//4942 4832//4941 +f 4833//5089 4968//5090 4832//4941 +f 5103//5091 5102//4943 4967//4942 +f 4968//5090 5103//5091 4967//4942 +f 5237//5092 5236//4944 5102//4943 +f 5103//5091 5237//5092 5102//4943 +f 5237//5092 5372//5093 5371//4945 +f 5236//4944 5237//5092 5371//4945 +f 5506//5094 5505//4946 5371//4945 +f 5372//5093 5506//5094 5371//4945 +f 5506//5094 5641//5095 5640//4947 +f 5505//4946 5506//5094 5640//4947 +f 5775//5096 5774//4948 5640//4947 +f 5641//5095 5775//5096 5640//4947 +f 5907//5097 5906//4949 5774//4948 +f 5775//5096 5907//5097 5774//4948 +f 6039//5098 6038//4950 5906//4949 +f 5907//5097 6039//5098 5906//4949 +f 6169//5099 6168//4951 6038//4950 +f 6039//5098 6169//5099 6038//4950 +f 6298//5100 6297//4952 6168//4951 +f 6169//5099 6298//5100 6168//4951 +f 6425//5101 6424//4953 6297//4952 +f 6298//5100 6425//5101 6297//4952 +f 6551//5102 6550//4954 6424//4953 +f 6425//5101 6551//5102 6424//4953 +f 6551//5102 6676//5103 6675//4955 +f 6550//4954 6551//5102 6675//4955 +f 6676//5103 6803//5104 6802//4956 +f 6675//4955 6676//5103 6802//4956 +f 6268//5105 6264//5106 6802//4956 +f 6803//5104 6268//5105 6802//4956 +f 2323//5107 2324//4818 2457//5108 +f 35545//5109 35841//918 11778//920 +f 6228//4347 6229//4670 6357//4348 +f 4894//3809 4895//5110 5029//5111 +f 5164//4836 5298//679 5297//896 +f 4895//5110 5030//4976 5029//5111 +f 3432//5112 3565//5113 3564//3816 +f 6362//5114 6490//2881 6489//5115 +f 35705//2157 35854//5116 35712//4286 +f 5167//3434 5168//3433 5301//4661 +f 3957//5117 4091//3442 3956//4382 +f 5705//3050 5839//2968 5704//5118 +f 1832//5119 2099//1156 2228//1155 +f 3428//2899 3561//3733 3560//3732 +f 5876//1124 1623//3742 2000//5120 +f 1236//4688 1352//3859 1351//5121 +f 5980//5122 6112//5123 6111//5124 +f 5713//4842 5714//4841 5847//4183 +f 2110//5005 2109//5007 1984//5006 +f 1955//4047 2227//4046 1956//4240 +f 4355//4364 4489//4415 4488//3477 +f 9017//5125 2205//2570 8910//5126 +f 4495//3373 4496//4683 4629//3374 +f 4764//4992 4899//4851 4898//3369 +f 3146//5127 3145//4057 3004//4056 +f 4496//4683 4630//4085 4629//3374 +f 2600//5128 2599//3630 2464//3451 +f 3005//5129 3146//5127 3004//4056 +f 2206//4714 2339//4712 2491//3813 +f 2756//3099 2217//3296 2216//4666 +f 6390//4989 38//5130 2793//5131 +f 1942//5132 1943//4027 2067//5133 +f 766//4684 767//4878 885//4685 +f 1119//5134 1120//3284 1235//5135 +f 13925//3754 13924//3753 13826//3898 +f 1005//4819 1123//4821 1122//5136 +f 6613//3835 6612//5137 6486//3836 +f 12416//3748 12505//3935 12415//3937 +f 769//4659 888//4203 887//4980 +f 1832//5119 2087//5138 2099//1156 +f 5704//5118 5838//4965 5703//4890 +f 768//4660 769//4659 887//4980 +f 659//5139 658//5140 543//4971 +f 5838//4965 5970//4667 5837//4966 +f 2872//5141 2871//5142 2735//5143 +f 11456//5144 31950//5145 31949//5146 +f 5437//4217 5571//4064 5570//5147 +f 3568//4067 3569//4885 3698//3943 +f 6351//5148 6352//4843 6478//5149 +f 1704//4897 1705//3822 1821//3648 +f 2618//4827 2617//4826 2220//5150 +f 4359//5151 4493//5152 4492//5153 +f 2733//3833 2732//5154 2597//4822 +f 13884//5155 13982//2671 12124//3465 +f 4516//4990 6390//4989 2793//5131 +f 1633//5156 1632//5157 1516//4499 +f 116//5158 7036//5159 115//5160 +f 740//5161 860//5162 18113//5163 +f 5001//5037 15118//5164 15117//3393 +f 2394//2993 2529//45 16807//2994 +f 590//5165 591//1753 15964//5166 +f 591//1753 15826//1184 15964//5166 +f 1568//4138 3326//5167 5468//996 +f 170//5168 15047//5169 5273//1453 +f 19373//5170 19266//5171 19267//5172 +f 19373//5170 19267//5172 2417//5173 +f 1422//336 1306//1281 16391//334 +f 17810//5174 593//5175 17906//5176 +f 14943//5044 14982//1239 1189//5177 +f 15765//1368 4280//1316 15762//5178 +f 3798//3947 1447//5049 14941//3951 +f 15753//5050 2709//5179 3886//3952 +f 14941//3951 15753//5050 3886//3952 +f 2709//5179 17175//5180 5408//3953 +f 4280//1316 14982//1239 14943//5044 +f 14803//1101 4017//1234 4018//5181 +f 3886//3952 2709//5179 5408//3953 +f 4018//5181 4017//1234 14754//1892 +f 17175//5180 16538//5182 16537//4118 +f 6863//5183 28336//5184 26480//2656 +f 35399//5185 26803//2819 35456//5186 +f 13563//5187 19685//5188 19684//5189 +f 28849//5190 28982//4912 28848//5060 +f 5408//3953 17175//5180 16537//4118 +f 30822//5191 27267//5192 27082//5193 +f 19684//5189 19685//5188 4667//5194 +f 28469//4296 29121//4298 27667//4606 +f 26814//5195 26815//5196 26929//5197 +f 24913//5198 13297//5199 25938//5200 +f 17253//5201 28605//5202 19672//5203 +f 29813//5204 28736//5205 19234//5206 +f 27413//5207 26909//5208 18094//5209 +f 30744//5210 26942//4909 18618//5211 +f 27843//5074 27778//5071 27493//5073 +f 3091//5212 3231//5213 3230//5077 +f 14069//5075 3090//5214 3230//5077 +f 3231//5213 3370//5215 3369//5078 +f 3230//5077 3231//5213 3369//5078 +f 3370//5215 3503//5216 3502//5079 +f 3369//5078 3370//5215 3502//5079 +f 3503//5216 3633//5217 3632//5080 +f 3502//5079 3503//5216 3632//5080 +f 3633//5217 3765//5218 3764//5081 +f 3632//5080 3633//5217 3764//5081 +f 3765//5218 3897//5219 3896//5082 +f 3764//5081 3765//5218 3896//5082 +f 3897//5219 4031//5220 4030//5083 +f 3896//5082 3897//5219 4030//5083 +f 4031//5220 4164//5221 4163//5084 +f 4030//5083 4031//5220 4163//5084 +f 4164//5221 4297//5222 4296//5085 +f 4163//5084 4164//5221 4296//5085 +f 4297//5222 4431//5223 4430//5086 +f 4296//5085 4297//5222 4430//5086 +f 4565//5224 4564//5087 4430//5086 +f 4431//5223 4565//5224 4430//5086 +f 4565//5224 4699//5225 4698//5088 +f 4564//5087 4565//5224 4698//5088 +f 4699//5225 4834//5226 4833//5089 +f 4698//5088 4699//5225 4833//5089 +f 4834//5226 4969//5227 4968//5090 +f 4833//5089 4834//5226 4968//5090 +f 4969//5227 5104//5228 5103//5091 +f 4968//5090 4969//5227 5103//5091 +f 5104//5228 5238//5229 5237//5092 +f 5103//5091 5104//5228 5237//5092 +f 5238//5229 5373//5230 5372//5093 +f 5237//5092 5238//5229 5372//5093 +f 5507//5231 5506//5094 5372//5093 +f 5373//5230 5507//5231 5372//5093 +f 5507//5231 5642//5232 5641//5095 +f 5506//5094 5507//5231 5641//5095 +f 5776//5233 5775//5096 5641//5095 +f 5642//5232 5776//5233 5641//5095 +f 5908//5234 5907//5097 5775//5096 +f 5776//5233 5908//5234 5775//5096 +f 6040//5235 6039//5098 5907//5097 +f 5908//5234 6040//5235 5907//5097 +f 6170//5236 6169//5099 6039//5098 +f 6040//5235 6170//5236 6039//5098 +f 6299//5237 6298//5100 6169//5099 +f 6170//5236 6299//5237 6169//5099 +f 6426//5238 6425//5101 6298//5100 +f 6299//5237 6426//5238 6298//5100 +f 6552//5239 6551//5102 6425//5101 +f 6426//5238 6552//5239 6425//5101 +f 6552//5239 6677//5240 6676//5103 +f 6551//5102 6552//5239 6676//5103 +f 6677//5240 6804//5241 6803//5104 +f 6676//5103 6677//5240 6803//5104 +f 6387//5242 6268//5105 6803//5104 +f 6804//5241 6387//5242 6803//5104 +f 35436//5243 35937//3639 35592//1338 +f 7235//5244 409//5245 7234//5246 +f 7244//5247 418//5248 7243//5249 +f 6606//4677 6731//2965 6605//4701 +f 2738//5250 2739//4082 2874//4695 +f 771//3297 890//3299 889//4204 +f 6100//5251 6101//5252 6230//5253 +f 3423//4391 3422//4510 3283//5254 +f 5570//5147 5705//3050 5704//5118 +f 6231//5255 6360//4831 6359//5256 +f 3961//5257 3829//5258 10395//5259 +f 2620//3098 2619//5260 2218//3295 +f 5026//4375 5161//4345 5160//4344 +f 2067//5133 2196//5261 2195//5262 +f 12732//5263 35491//5264 35700//5265 +f 2868//4540 2867//5266 2731//5267 +f 6242//5268 6371//5269 6370//5270 +f 5979//4184 5980//5122 6111//5124 +f 3953//4648 3952//5271 3820//3647 +f 35860//5272 35717//5273 35868//3879 +f 19681//5274 2409//5275 28245//5276 +f 35465//4600 35426//1381 35472//436 +f 4086//3847 4219//3846 4218//5277 +f 4630//4085 4764//4992 4763//4086 +f 424//3306 538//3303 423//4848 +f 4085//4393 4086//3847 4218//5277 +f 2748//3440 2746//4709 2206//4714 +f 2199//4507 2331//4509 2330//3450 +f 1137//2674 13878//4734 9859//5278 +f 6249//3814 2340//4711 6120//744 +f 885//4685 886//4879 1004//4999 +f 6102//4668 6232//4829 6231//5255 +f 1630//3625 1747//3464 1629//3435 +f 1123//4821 1239//5279 1238//3851 +f 15877//4590 15211//5280 15738//5281 +f 8347//5282 35623//5283 9539//5284 +f 1041//4487 1159//4489 1040//4860 +f 3010//5285 3009//4675 2870//4037 +f 5031//5286 5166//4188 5165//4977 +f 5569//4889 5704//5118 5703//4890 +f 1007//3731 1006//4820 887//4980 +f 888//4203 1007//3731 887//4980 +f 5842//3247 5974//3177 5841//3670 +f 6360//4831 6487//3834 6359//5256 +f 2735//5143 2871//5142 2734//3832 +f 3310//5287 3169//5288 5722//4981 +f 2063//4226 2192//4816 2191//5289 +f 2458//4043 2593//3854 2592//5290 +f 6241//5291 6370//5270 6369//5292 +f 6370//5270 6497//5027 6369//5292 +f 2617//4826 2221//5293 2220//5150 +f 2118//5294 2117//5295 1993//5296 +f 1864//3463 1984//5006 1863//4021 +f 4241//1271 4374//4866 4373//5297 +f 10579//5298 26251//5299 25939//5300 +f 3976//4825 8987//5301 3844//5302 +f 2793//5131 38//5130 13333//5303 +f 21107//5304 21108//4236 21195//5305 +f 28317//2997 28437//5306 28436//5307 +f 1517//5308 1633//5156 1516//4499 +f 1750//5309 1749//5310 1632//5157 +f 15118//5164 16793//5311 16781//3394 +f 23010//2604 23009//2606 22910//595 +f 35652//4814 35815//2158 35437//2159 +f 27896//5312 29687//5313 29221//4088 +f 29627//5314 29626//5315 29488//5316 +f 35656//3699 35745//5317 35651//3700 +f 479//5318 478//5319 364//1167 +f 365//5320 479//5318 364//1167 +f 594//5321 593//5175 478//5319 +f 479//5318 594//5321 478//5319 +f 4284//386 4285//2984 3186//5322 +f 832//5323 17998//1282 712//5324 +f 16538//5182 15560//5325 15559//4119 +f 16537//4118 16538//5182 15559//4119 +f 15560//5325 15099//5326 14718//4122 +f 15559//4119 15560//5325 14718//4122 +f 14982//1239 4144//1241 1189//5177 +f 1300//315 3304//5327 3303//316 +f 1189//5177 4144//1241 15181//5048 +f 35826//5328 35479//2218 35475//5329 +f 15099//5326 15820//1192 15821//4123 +f 17128//5039 3714//2783 4118//2983 +f 14718//4122 15099//5326 15821//4123 +f 15820//1192 16186//5330 14915//4125 +f 15821//4123 15820//1192 14915//4125 +f 16186//5330 14748//5331 5067//4126 +f 14915//4125 16186//5330 5067//4126 +f 14748//5331 14411//5332 16477//4127 +f 28360//5333 28362//5334 30082//5335 +f 28086//5336 28087//5337 28203//5338 +f 35385//5339 9114//5340 35822//5341 +f 30094//5342 19906//1526 20176//1525 +f 23362//5343 22425//5344 23459//5345 +f 27257//5346 27139//5347 19735//5348 +f 21561//5349 17286//5350 19131//5351 +f 30340//4605 28469//4296 27667//4606 +f 28251//5352 27413//5207 18094//5209 +f 24663//5353 22943//2647 23492//5354 +f 27778//5071 30744//5210 28486//4310 +f 26909//5208 29692//5066 30350//5065 +f 3090//5214 3091//5212 3230//5077 +f 28486//4310 30744//5210 18618//5211 +f 3232//5355 3231//5213 3091//5212 +f 3092//5356 3232//5355 3091//5212 +f 3371//5357 3370//5215 3231//5213 +f 3232//5355 3371//5357 3231//5213 +f 3371//5357 3504//5358 3503//5216 +f 3370//5215 3371//5357 3503//5216 +f 3504//5358 3634//5359 3633//5217 +f 3503//5216 3504//5358 3633//5217 +f 3634//5359 3766//5360 3765//5218 +f 3633//5217 3634//5359 3765//5218 +f 3766//5360 3898//5361 3897//5219 +f 3765//5218 3766//5360 3897//5219 +f 3898//5361 4032//5362 4031//5220 +f 3897//5219 3898//5361 4031//5220 +f 4032//5362 4165//5363 4164//5221 +f 4031//5220 4032//5362 4164//5221 +f 4165//5363 4298//5364 4297//5222 +f 4164//5221 4165//5363 4297//5222 +f 4298//5364 4432//5365 4431//5223 +f 4297//5222 4298//5364 4431//5223 +f 4432//5365 4566//5366 4565//5224 +f 4431//5223 4432//5365 4565//5224 +f 4566//5366 4700//5367 4699//5225 +f 4565//5224 4566//5366 4699//5225 +f 4700//5367 4835//5368 4834//5226 +f 4699//5225 4700//5367 4834//5226 +f 4835//5368 4970//5369 4969//5227 +f 4834//5226 4835//5368 4969//5227 +f 4970//5369 5105//5370 5104//5228 +f 4969//5227 4970//5369 5104//5228 +f 5105//5370 5239//5371 5238//5229 +f 5104//5228 5105//5370 5238//5229 +f 5239//5371 5374//5372 5373//5230 +f 5238//5229 5239//5371 5373//5230 +f 5374//5372 5508//5373 5507//5231 +f 5373//5230 5374//5372 5507//5231 +f 5508//5373 5643//5374 5642//5232 +f 5507//5231 5508//5373 5642//5232 +f 5777//5375 5776//5233 5642//5232 +f 5643//5374 5777//5375 5642//5232 +f 5777//5375 5909//5376 5908//5234 +f 5776//5233 5777//5375 5908//5234 +f 5909//5376 6041//5377 6040//5235 +f 5908//5234 5909//5376 6040//5235 +f 6171//5378 6170//5236 6040//5235 +f 6041//5377 6171//5378 6040//5235 +f 6300//5379 6299//5237 6170//5236 +f 6171//5378 6300//5379 6170//5236 +f 6300//5379 6427//5380 6426//5238 +f 6299//5237 6300//5379 6426//5238 +f 6553//5381 6552//5239 6426//5238 +f 6427//5380 6553//5381 6426//5238 +f 6678//5382 6677//5240 6552//5239 +f 6553//5381 6678//5382 6552//5239 +f 6678//5382 6805//5383 6804//5241 +f 6677//5240 6678//5382 6804//5241 +f 6805//5383 6388//5384 6387//5242 +f 6804//5241 6805//5383 6387//5242 +f 3151//5385 3150//5386 3009//4675 +f 6392//5387 6388//5384 6806//5388 +f 1374//2686 3575//2683 3025//4527 +f 3010//5285 3151//5385 3009//4675 +f 952//2684 1374//2686 1491//5389 +f 935//4984 952//2684 1491//5389 +f 9935//5390 9936//5391 10052//5392 +f 13723//5393 13821//4350 13820//4352 +f 3289//2900 3288//5394 3148//5395 +f 4890//5396 4891//3287 5025//5397 +f 1822//5398 1942//5132 1941//3649 +f 13925//3754 13926//3907 14023//3334 +f 14024//3909 14122//3911 14121//3941 +f 3426//4717 3559//5399 3558//3643 +f 2335//3868 2469//4065 2468//2680 +f 4527//5400 1028//5401 2094//5402 +f 6624//4556 6623//4414 6497//5027 +f 6241//5291 6242//5268 6370//5270 +f 2597//4822 2596//5403 2461//4823 +f 5025//5397 5160//4344 5159//5404 +f 2462//4245 2461//4823 2327//4246 +f 4890//5396 5025//5397 5024//5405 +f 6735//4503 6734//3739 6609//3738 +f 20433//5406 24607//5407 331//5408 +f 3702//4707 2746//4709 2748//3440 +f 538//3303 653//3300 652//5409 +f 12762//5410 12854//5411 12853//5412 +f 3572//3439 3702//4707 2748//3440 +f 1239//5279 1355//5413 1354//3852 +f 3150//5386 3149//5022 3008//4539 +f 3954//3292 3955//3481 4088//3483 +f 1004//4999 1005//4819 1122//5136 +f 6110//5414 6111//5124 6240//5415 +f 6623//4414 6748//4413 6622//4650 +f 2346//5416 2354//5417 2353//5418 +f 2457//5108 2458//4043 2592//5290 +f 2353//5418 2354//5417 5325//5419 +f 5036//4234 5171//4235 5170//5420 +f 30028//4431 22581//5421 29897//4432 +f 5191//5422 2354//5417 9626//5423 +f 28080//5424 28197//3252 28079//5425 +f 26493//5426 26494//5427 27414//5428 +f 2238//5008 2239//5429 2370//5430 +f 12329//3749 12328//5431 12243//4861 +f 1351//5121 1352//3859 1467//4492 +f 4486//4979 4620//5432 4619//4041 +f 6093//4379 6223//4530 6222//4958 +f 5024//5405 5159//5404 5158//5433 +f 3570//4886 10159//5434 3700//5435 +f 6240//5415 6241//5291 6369//5292 +f 3143//5436 3144//4058 3283//5254 +f 5035//4029 5036//4234 5170//5420 +f 682//5437 801//5438 7393//5439 +f 25065//5440 25111//5441 23720//5442 +f 28198//1499 28315//1501 28197//3252 +f 28316//2998 28317//2997 28436//5307 +f 5865//5443 1977//5444 4130//5445 +f 331//5408 5865//5443 4130//5445 +f 1977//5444 3476//5446 3477//5447 +f 4130//5445 1977//5444 3477//5447 +f 3476//5446 2479//5448 4650//5449 +f 1633//5156 1750//5309 1632//5157 +f 1867//5450 1866//5451 1749//5310 +f 16793//5311 14457//5452 14437//3580 +f 4240//5453 4241//1271 4373//5297 +f 256//5454 255//2166 150//5455 +f 151//5456 256//5454 150//5455 +f 366//5457 365//5320 255//2166 +f 256//5454 366//5457 255//2166 +f 480//5458 479//5318 365//5320 +f 366//5457 480//5458 365//5320 +f 595//5459 594//5321 479//5318 +f 480//5458 595//5459 479//5318 +f 713//5460 712//5324 594//5321 +f 595//5459 713//5460 594//5321 +f 5067//4126 14748//5331 16477//4127 +f 713//5460 832//5323 712//5324 +f 17621//5461 255//2166 365//5320 +f 1213//5462 1214//4131 16477//4127 +f 35611//2797 17256//5463 29126//5464 +f 14411//5332 1213//5462 16477//4127 +f 23//4594 15278//4696 23219//4595 +f 35523//5465 35445//5014 35935//5016 +f 17127//348 17128//5039 4118//2983 +f 16390//333 1422//336 16391//334 +f 5331//482 6129//481 3204//4903 +f 4017//1234 14765//332 14754//1892 +f 6022//4596 14808//3189 15968//5466 +f 15132//1277 15259//286 15258//5467 +f 29553//5468 35733//5469 35428//3511 +f 35502//3805 35394//3804 35589//5470 +f 26606//5471 26711//5057 26710//5472 +f 7292//20 21465//22 21380//5473 +f 31272//5474 11419//5475 11418//5476 +f 28850//5477 15878//2118 30486//5478 +f 30744//5210 28244//5479 26942//4909 +f 27167//5480 17311//5051 28476//5053 +f 18094//5209 26909//5208 30350//5065 +f 19672//5203 21561//5349 19131//5351 +f 30807//4765 27843//5074 30351//4925 +f 29692//5066 29000//5481 29001//5067 +f 32397//5482 32396//4751 32293//5483 +f 27261//5072 27778//5071 28486//4310 +f 34203//5484 2951//5485 3092//5356 +f 34935//4854 35064//5486 34934//5487 +f 3233//5488 3232//5355 3092//5356 +f 3093//5489 3233//5488 3092//5356 +f 3372//5490 3371//5357 3232//5355 +f 3233//5488 3372//5490 3232//5355 +f 3505//5491 3504//5358 3371//5357 +f 3372//5490 3505//5491 3371//5357 +f 3505//5491 3635//5492 3634//5359 +f 3504//5358 3505//5491 3634//5359 +f 3635//5492 3767//5493 3766//5360 +f 3634//5359 3635//5492 3766//5360 +f 3767//5493 3899//5494 3898//5361 +f 3766//5360 3767//5493 3898//5361 +f 3899//5494 4033//5495 4032//5362 +f 3898//5361 3899//5494 4032//5362 +f 4033//5495 4166//5496 4165//5363 +f 4032//5362 4033//5495 4165//5363 +f 4299//5497 4298//5364 4165//5363 +f 4166//5496 4299//5497 4165//5363 +f 4299//5497 4433//5498 4432//5365 +f 4298//5364 4299//5497 4432//5365 +f 4433//5498 4567//5499 4566//5366 +f 4432//5365 4433//5498 4566//5366 +f 4567//5499 4701//5500 4700//5367 +f 4566//5366 4567//5499 4700//5367 +f 4836//5501 4835//5368 4700//5367 +f 4701//5500 4836//5501 4700//5367 +f 4836//5501 4971//5502 4970//5369 +f 4835//5368 4836//5501 4970//5369 +f 4971//5502 5106//5503 5105//5370 +f 4970//5369 4971//5502 5105//5370 +f 5106//5503 5240//5504 5239//5371 +f 5105//5370 5106//5503 5239//5371 +f 5240//5504 5375//5505 5374//5372 +f 5239//5371 5240//5504 5374//5372 +f 5375//5505 5509//5506 5508//5373 +f 5374//5372 5375//5505 5508//5373 +f 5509//5506 5644//5507 5643//5374 +f 5508//5373 5509//5506 5643//5374 +f 5644//5507 5778//5508 5777//5375 +f 5643//5374 5644//5507 5777//5375 +f 5778//5508 5910//5509 5909//5376 +f 5777//5375 5778//5508 5909//5376 +f 5910//5509 6042//5510 6041//5377 +f 5909//5376 5910//5509 6041//5377 +f 6042//5510 6172//5511 6171//5378 +f 6041//5377 6042//5510 6171//5378 +f 6301//5512 6300//5379 6171//5378 +f 6172//5511 6301//5512 6171//5378 +f 6428//5513 6427//5380 6300//5379 +f 6301//5512 6428//5513 6300//5379 +f 6428//5513 6554//5514 6553//5381 +f 6427//5380 6428//5513 6553//5381 +f 6554//5514 6679//5515 6678//5382 +f 6553//5381 6554//5514 6678//5382 +f 6679//5515 6806//5388 6805//5383 +f 6678//5382 6679//5515 6805//5383 +f 11027//5516 6388//5384 6392//5387 +f 6805//5383 6806//5388 6388//5384 +f 1707//4019 1708//5517 1824//4025 +f 1702//4052 1819//4050 1701//5518 +f 11136//2020 12930//5519 12630//3500 +f 1708//5517 1707//4019 1590//5520 +f 655//3688 773//3684 772//3298 +f 13919//4351 13918//5521 13820//4352 +f 2202//2679 2203//3674 2334//2497 +f 654//3301 655//3688 772//3298 +f 5978//4185 6110//5414 5977//5522 +f 1938//4227 1937//5523 1817//4673 +f 2597//4822 2732//5154 2596//5403 +f 5174//3479 5308//3664 5307//3079 +f 4217//2901 4218//5277 4350//2902 +f 1353//3853 1469//3857 1352//3859 +f 6371//5269 6498//5524 6497//5027 +f 1402//4405 433//4404 3571//5525 +f 4755//3486 4890//5396 4889//4187 +f 6498//5524 6624//4556 6497//5027 +f 3558//3643 3559//5399 3688//3646 +f 3688//3646 3689//4089 3820//3647 +f 331//5408 4130//5445 3452//5526 +f 4889//4187 4890//5396 5024//5405 +f 5434//3555 5433//5527 5299//677 +f 6357//4348 6484//4849 6483//4705 +f 3866//4553 3702//4707 3572//3439 +f 2746//4709 2339//4712 2206//4714 +f 3701//4708 2745//4710 2746//4709 +f 4885//5528 4886//3273 5020//5529 +f 1355//5413 1471//4880 1354//3852 +f 1238//3851 1239//5279 1354//3852 +f 2877//5530 2876//4081 2740//4079 +f 1864//3463 1863//4021 1746//4657 +f 4488//3477 4489//4415 4622//3484 +f 1591//5531 1708//5517 1590//5520 +f 3572//3439 2749//3441 3963//4084 +f 1242//2668 1358//5532 1241//4961 +f 5439//5533 5440//3051 5573//3053 +f 5709//3172 5708//3174 5573//3053 +f 1616//5534 35407//5535 35578//1166 +f 2514//5536 2649//3107 2648//3106 +f 2463//3452 2598//3631 2462//4245 +f 1356//5537 1472//5538 1355//5413 +f 24989//5539 1023//5540 1530//5541 +f 5583//5542 5584//3185 5718//5543 +f 5449//5544 5450//5545 5583//5542 +f 5314//5546 5315//5547 5449//5544 +f 1588//4896 1587//3466 1471//4880 +f 5315//5547 5450//5545 5449//5544 +f 2118//5294 2119//3893 2247//5548 +f 5450//5545 5584//3185 5583//5542 +f 12619//5549 12709//5550 12618//5551 +f 5839//2968 5838//4965 5704//5118 +f 5045//5552 5046//5553 5180//5554 +f 28437//5306 28559//5555 28558//5556 +f 3477//5447 3476//5446 4650//5449 +f 20447//5557 20532//4591 20531//5558 +f 35384//5559 35652//4814 35753//4815 +f 13414//5560 9642//2021 7933//3501 +f 31048//4731 31049//3913 31110//3915 +f 22915//5561 22914//5562 22815//4525 +f 12583//5563 12673//5564 12672//5565 +f 15608//5566 23024//5567 13785//4697 +f 13214//5568 13213//5569 13301//5570 +f 1750//5309 1867//5450 1749//5310 +f 1987//5571 1986//5572 1866//5451 +f 5046//5553 5181//5573 5180//5554 +f 5180//5554 5181//5573 5314//5546 +f 257//5574 256//5454 151//5456 +f 150//5455 255//2166 149//2165 +f 367//5575 366//5457 256//5454 +f 257//5574 367//5575 256//5454 +f 367//5575 481//5576 480//5458 +f 366//5457 367//5575 480//5458 +f 11654//5577 11653//5578 11578//5579 +f 32044//5580 32141//5581 32043//5582 +f 35378//1951 35403//1950 35749//5583 +f 35397//5584 35817//5585 35380//5586 +f 4650//5449 9282//5587 15187//5588 +f 1867//5450 1987//5571 1866//5451 +f 15784//5589 15785//5590 15923//5591 +f 15924//5592 16066//5593 16065//5594 +f 3325//5595 16037//3191 6022//4596 +f 14808//3189 15973//2992 15968//5466 +f 16035//5596 15296//3190 3325//5595 +f 16037//3191 14808//3189 6022//4596 +f 5485//3200 15296//3190 16035//5596 +f 16178//323 5485//3200 16035//5596 +f 1423//180 16666//3392 16178//323 +f 15296//3190 16037//3191 3325//5595 +f 17904//203 17905//202 17997//1283 +f 16788//5597 3125//5598 5488//4277 +f 4422//3986 4421//3775 4288//3984 +f 29117//4913 29254//5599 29116//5600 +f 26710//5472 26711//5057 26822//5601 +f 13488//5602 28244//5479 30744//5210 +f 29391//5603 29390//5604 29253//5605 +f 29000//5481 28605//5202 17253//5201 +f 25105//5606 25106//5607 30508//5608 +f 27316//5609 17310//5610 27729//5611 +f 29136//5612 29137//5613 29148//5614 +f 18011//4608 30753//5615 6915//4926 +f 29146//5616 28874//2639 29545//5617 +f 26673//5618 26785//5619 26784//5620 +f 35769//5621 35402//4190 35777//5622 +f 26785//5619 24465//5623 26784//5620 +f 26672//5624 26673//5618 26784//5620 +f 3094//5625 3234//5626 3233//5488 +f 33825//5627 33824//5628 28585//4615 +f 3373//5629 3372//5490 3233//5488 +f 3234//5626 3373//5629 3233//5488 +f 3506//5630 3505//5491 3372//5490 +f 3373//5629 3506//5630 3372//5490 +f 3636//5631 3635//5492 3505//5491 +f 3506//5630 3636//5631 3505//5491 +f 3768//5632 3767//5493 3635//5492 +f 3636//5631 3768//5632 3635//5492 +f 3768//5632 3900//5633 3899//5494 +f 3767//5493 3768//5632 3899//5494 +f 3900//5633 4034//5634 4033//5495 +f 3899//5494 3900//5633 4033//5495 +f 4034//5634 4167//5635 4166//5496 +f 4033//5495 4034//5634 4166//5496 +f 4167//5635 4300//5636 4299//5497 +f 4166//5496 4167//5635 4299//5497 +f 4434//5637 4433//5498 4299//5497 +f 4300//5636 4434//5637 4299//5497 +f 4568//5638 4567//5499 4433//5498 +f 4434//5637 4568//5638 4433//5498 +f 4702//5639 4701//5500 4567//5499 +f 4568//5638 4702//5639 4567//5499 +f 4837//5640 4836//5501 4701//5500 +f 4702//5639 4837//5640 4701//5500 +f 4837//5640 4972//5641 4971//5502 +f 4836//5501 4837//5640 4971//5502 +f 4972//5641 5107//5642 5106//5503 +f 4971//5502 4972//5641 5106//5503 +f 5107//5642 5241//5643 5240//5504 +f 5106//5503 5107//5642 5240//5504 +f 5241//5643 5376//5644 5375//5505 +f 5240//5504 5241//5643 5375//5505 +f 5376//5644 5510//5645 5509//5506 +f 5375//5505 5376//5644 5509//5506 +f 5510//5645 5645//5646 5644//5507 +f 5509//5506 5510//5645 5644//5507 +f 5645//5646 5779//5647 5778//5508 +f 5644//5507 5645//5646 5778//5508 +f 5779//5647 5911//5648 5910//5509 +f 5778//5508 5779//5647 5910//5509 +f 5911//5648 6043//5649 6042//5510 +f 5910//5509 5911//5648 6042//5510 +f 6043//5649 6173//5650 6172//5511 +f 6042//5510 6043//5649 6172//5511 +f 6173//5650 6302//5651 6301//5512 +f 6172//5511 6173//5650 6301//5512 +f 6429//5652 6428//5513 6301//5512 +f 6302//5651 6429//5652 6301//5512 +f 6555//5653 6554//5514 6428//5513 +f 6429//5652 6555//5653 6428//5513 +f 6555//5653 6680//5654 6679//5515 +f 6554//5514 6555//5653 6679//5515 +f 6680//5654 6807//5655 6806//5388 +f 6679//5515 6680//5654 6806//5388 +f 6396//5656 6808//5657 6513//5658 +f 6806//5388 6807//5655 6392//5387 +f 1939//4223 1938//4227 1818//4224 +f 1237//4687 1353//3853 1352//3859 +f 6606//4677 6605//4701 6479//4678 +f 1120//3284 1121//4686 1236//4688 +f 3424//3645 3423//4391 3284//5659 +f 3144//4058 3145//4057 3284//5659 +f 5310//5660 5445//5661 5444//5662 +f 10962//5663 5309//5664 5308//3664 +f 5445//5661 5579//4840 5578//4986 +f 5444//5662 5445//5661 5578//4986 +f 5848//4985 5980//5122 5979//4184 +f 5847//4183 5848//4985 5979//4184 +f 6112//5123 6242//5268 6241//5291 +f 6111//5124 6112//5123 6241//5291 +f 3686//2869 3818//5665 3685//5666 +f 6370//5270 6371//5269 6497//5027 +f 17318//5667 27406//5668 28336//5184 +f 6610//4850 6611//5669 6735//4503 +f 29222//5670 29359//5671 22097//5672 +f 1165//3548 1166//3640 1281//3546 +f 1598//4216 1597//5673 1481//4512 +f 451//3279 785//3278 450//5674 +f 1158//5675 1159//4489 7850//5676 +f 19656//1858 19468//1965 2403//1859 +f 4264//5677 3701//4708 3702//4707 +f 191//4083 3866//4553 3572//3439 +f 5047//5678 5046//5553 4911//4877 +f 3866//4553 4264//5677 3702//4707 +f 2109//5007 2110//5005 2238//5008 +f 1122//5136 1123//4821 1238//3851 +f 2872//5141 3011//5679 2871//5142 +f 8952//5680 2371//5681 2372//5682 +f 3016//2976 2877//5530 9576//5683 +f 5979//4184 6111//5124 6110//5414 +f 6374//5684 6375//5685 6501//5686 +f 3156//4073 3157//2977 3296//4071 +f 11279//5687 4910//5688 229//5689 +f 6729//5690 6728//5691 6603//5692 +f 4641//5693 4775//5694 11152//5695 +f 4911//4877 5046//5553 5045//5552 +f 2112//5696 2111//5697 1986//5572 +f 1987//5571 2112//5696 1986//5572 +f 2241//5698 2240//5699 2111//5697 +f 2112//5696 2241//5698 2111//5697 +f 2373//5700 2372//5682 2240//5699 +f 2241//5698 2373//5700 2240//5699 +f 2507//5701 2506//5702 2372//5682 +f 2373//5700 2507//5701 2372//5682 +f 4776//4875 4911//4877 4910//5688 +f 2642//5703 2641//5704 2506//5702 +f 129//4900 4516//4990 194//5705 +f 9167//2759 2640//2758 2641//5704 +f 2507//5701 2642//5703 2506//5702 +f 4508//4868 4642//4873 4641//5693 +f 2642//5703 2777//5706 2776//5707 +f 13214//5568 12466//5708 13213//5569 +f 43//2016 672//2018 18805//5709 +f 35698//3504 35718//2803 35624//5710 +f 23596//3541 24537//3540 25941//4251 +f 1856//5711 39//5712 13334//5713 +f 3043//5714 13409//5715 11720//5716 +f 11912//5717 11996//5718 11911//5719 +f 12077//5720 12076//5721 11995//5722 +f 2641//5704 2642//5703 2776//5707 +f 694//5723 4637//5724 1975//5725 +f 5852//5726 10964//5727 5983//5728 +f 4218//5277 4351//4680 4350//2902 +f 28436//5307 28437//5306 28558//5556 +f 6101//5252 6102//4668 6231//5255 +f 258//5729 367//5575 257//5574 +f 152//5730 7314//5731 257//5574 +f 368//5732 482//5733 481//5576 +f 367//5575 368//5732 481//5576 +f 35530//5734 35384//5559 35373//5735 +f 20587//5736 14912//5737 20504//5738 +f 5181//5573 5315//5547 5314//5546 +f 15493//5739 5425//3818 5206//5740 +f 715//5741 834//1784 833//5742 +f 2913//5743 2777//5706 2443//3723 +f 28559//5555 28688//5744 28687//5745 +f 5481//1199 250//1201 16632//4275 +f 15353//2952 14835//4278 16987//805 +f 1898//5746 16400//5747 14725//4279 +f 15897//5748 14509//717 141//716 +f 14388//5749 14405//2275 14387//5750 +f 23581//5751 24141//5752 24830//5753 +f 1875//5754 15933//4288 16073//4287 +f 14671//5755 14777//147 14670//149 +f 14890//4290 15010//2989 14889//4402 +f 1696//5756 1812//5757 1695//5758 +f 2845//2990 14818//5759 15935//636 +f 17463//5760 17384//5761 17386//5762 +f 17464//5763 17463//5760 17386//5762 +f 27778//5071 13488//5602 30744//5210 +f 29254//5599 29391//5603 29253//5605 +f 34281//5764 34280//5765 34142//5766 +f 28244//5479 19133//4910 26942//4909 +f 31545//5767 31632//5768 31544//5769 +f 25499//5770 27518//5771 28426//5772 +f 17310//5610 28241//5773 28240//5774 +f 27839//4766 26426//4924 2947//4773 +f 26595//5775 28878//5776 30803//5777 +f 28240//5774 28241//5773 21842//5778 +f 30772//2042 26595//5775 30803//5777 +f 3752//5779 21652//5780 28878//5776 +f 30071//364 30075//359 19910//361 +f 35873//5781 35405//4128 35369//4130 +f 34329//5782 3095//5783 3094//5625 +f 3233//5488 3093//5489 3094//5625 +f 3235//5784 3374//5785 3373//5629 +f 3234//5626 3235//5784 3373//5629 +f 3507//5786 3506//5630 3373//5629 +f 3374//5785 3507//5786 3373//5629 +f 3637//5787 3636//5631 3506//5630 +f 3507//5786 3637//5787 3506//5630 +f 3769//5788 3768//5632 3636//5631 +f 3637//5787 3769//5788 3636//5631 +f 3901//5789 3900//5633 3768//5632 +f 3769//5788 3901//5789 3768//5632 +f 4035//5790 4034//5634 3900//5633 +f 3901//5789 4035//5790 3900//5633 +f 4168//5791 4167//5635 4034//5634 +f 4035//5790 4168//5791 4034//5634 +f 4168//5791 4301//5792 4300//5636 +f 4167//5635 4168//5791 4300//5636 +f 4435//5793 4434//5637 4300//5636 +f 4301//5792 4435//5793 4300//5636 +f 4569//5794 4568//5638 4434//5637 +f 4435//5793 4569//5794 4434//5637 +f 4703//5795 4702//5639 4568//5638 +f 4569//5794 4703//5795 4568//5638 +f 4703//5795 4838//5796 4837//5640 +f 4702//5639 4703//5795 4837//5640 +f 4838//5796 4973//5797 4972//5641 +f 4837//5640 4838//5796 4972//5641 +f 4973//5797 5108//5798 5107//5642 +f 4972//5641 4973//5797 5107//5642 +f 5108//5798 5242//5799 5241//5643 +f 5107//5642 5108//5798 5241//5643 +f 5242//5799 5377//5800 5376//5644 +f 5241//5643 5242//5799 5376//5644 +f 5377//5800 5511//5801 5510//5645 +f 5376//5644 5377//5800 5510//5645 +f 5511//5801 5646//5802 5645//5646 +f 5510//5645 5511//5801 5645//5646 +f 5646//5802 5780//5803 5779//5647 +f 5645//5646 5646//5802 5779//5647 +f 5780//5803 5912//5804 5911//5648 +f 5779//5647 5780//5803 5911//5648 +f 5912//5804 6044//5805 6043//5649 +f 5911//5648 5912//5804 6043//5649 +f 6044//5805 6174//5806 6173//5650 +f 6043//5649 6044//5805 6173//5650 +f 6174//5806 6303//5807 6302//5651 +f 6173//5650 6174//5806 6302//5651 +f 6303//5807 6430//5808 6429//5652 +f 6302//5651 6303//5807 6429//5652 +f 6430//5808 6556//5809 6555//5653 +f 6429//5652 6430//5808 6555//5653 +f 6556//5809 6681//5810 6680//5654 +f 6555//5653 6556//5809 6680//5654 +f 6681//5810 6808//5657 6807//5655 +f 6680//5654 6681//5810 6807//5655 +f 9770//5811 11281//5812 6396//5656 +f 6807//5655 6808//5657 6396//5656 +f 885//4685 1004//4999 1003//3283 +f 4349//2903 4350//2902 4483//5813 +f 765//3470 766//4684 884//3471 +f 884//3471 885//4685 1003//3283 +f 3146//5127 3286//5814 3285//5815 +f 2326//4998 2460//5816 2459//4044 +f 1166//3640 1282//3642 1281//3546 +f 4766//4230 4901//4233 4900//4035 +f 3556//2868 3555//2870 3422//4510 +f 3289//2900 3428//2899 3427//5817 +f 6094//4529 6224//5021 6223//4530 +f 658//5140 776//5818 657//4219 +f 6091//5819 6092//4380 6221//4959 +f 4618//4212 4752//3272 4751//3271 +f 3581//3654 3711//5820 3705//5821 +f 2866//5822 3005//5129 2865//4054 +f 12212//5823 12297//5824 41//5825 +f 2758//3653 1958//4228 2757//5826 +f 13681//5827 14080//2669 13982//2671 +f 5292//1460 5291//3736 5158//5433 +f 12322//5828 12408//5829 12321//5830 +f 1129//3686 1245//3875 1244//2687 +f 2004//5831 4264//5677 3866//4553 +f 2062//5832 2063//4226 2191//5289 +f 5182//5833 5181//5573 5046//5553 +f 2003//4552 2004//5831 3866//4553 +f 4229//4994 10762//5834 4362//4682 +f 4912//4876 5047//5678 4911//4877 +f 1008//2882 1126//2675 1007//3731 +f 2460//5816 2595//5835 2594//3855 +f 3016//2976 9692//5836 3157//2977 +f 2617//4826 3976//4825 3844//5302 +f 5982//5837 5983//5728 6114//5838 +f 5706//3867 5705//3050 5570//5147 +f 1702//4052 1701//5518 1584//4239 +f 6502//5839 6628//5840 6627//5841 +f 13719//5842 13718//3924 15814//5843 +f 9859//5278 9978//4813 7672//5844 +f 2846//5845 2913//5743 5411//5846 +f 5975//3175 5974//3177 5842//3247 +f 35353//5847 35456//5186 35400//5848 +f 6122//5849 2099//1156 2087//5138 +f 5843//3173 5975//3175 5842//3247 +f 1590//5520 1707//4019 1589//3820 +f 1944//4026 2069//5850 2068//4342 +f 2464//3451 2599//3630 2463//3452 +f 4914//4014 5049//4179 5048//4178 +f 2329//3629 2328//4244 2196//5261 +f 13266//5851 13265//5852 13170//5853 +f 11663//5854 11662//5855 11587//5020 +f 13171//5856 13266//5851 13170//5853 +f 13362//5857 13361//5858 13265//5852 +f 12282//5859 12374//5860 12642//5861 +f 15565//1519 4365//1518 4246//3927 +f 5736//5862 1740//5863 3994//5864 +f 12032//5865 12132//2555 12937//5866 +f 15885//2541 11207//5867 12717//582 +f 5310//5660 5311//5868 5445//5661 +f 883//3058 884//3471 1002//3282 +f 4085//4393 4218//5277 4084//4394 +f 1469//3857 1585//4051 1468//3858 +f 6240//5415 6239//5869 6109//5870 +f 313//2724 423//4848 422//5871 +f 12494//5872 12495//5873 12584//5874 +f 6103//5012 6233//5875 6232//4829 +f 7428//5876 7542//5877 369//5878 +f 368//5732 369//5878 482//5733 +f 6352//4843 6479//4678 6478//5149 +f 27149//3976 35540//5879 35486//3032 +f 35749//5583 35397//5584 35380//5586 +f 4910//5688 4911//4877 5045//5552 +f 716//5880 835//3806 834//1784 +f 715//5741 716//5880 834//1784 +f 954//5881 953//1699 834//1784 +f 835//3806 954//5881 834//1784 +f 2613//1016 16514//5882 15934//5883 +f 4637//5724 2842//5884 1975//5725 +f 16797//5885 16806//3761 14475//5886 +f 5753//554 5754//1337 1612//3187 +f 2276//5887 2145//935 2277//5888 +f 34473//4314 13308//5889 3626//4313 +f 29546//4603 27527//5890 21376//3014 +f 17314//4297 28477//5891 19037//5892 +f 30824//2532 29546//4603 21376//3014 +f 26576//4602 2947//4773 27527//5890 +f 30155//5893 29631//5894 21842//5778 +f 28616//4607 28748//5076 19703//4778 +f 27873//5895 18800//4777 7069//5896 +f 28241//5773 29150//5897 21842//5778 +f 30753//5615 28249//5898 29893//5899 +f 34552//5900 34551//5901 34414//3130 +f 26694//5902 26695//5903 26806//5904 +f 27515//5905 27516//5906 27633//5907 +f 6544//2859 25153//3067 1168//3257 +f 31591//5908 31590//5909 31503//451 +f 3236//5910 3375//5911 3374//5785 +f 3235//5784 3236//5910 3374//5785 +f 3375//5911 3508//5912 3507//5786 +f 3374//5785 3375//5911 3507//5786 +f 3508//5912 3638//5913 3637//5787 +f 3507//5786 3508//5912 3637//5787 +f 3770//5914 3769//5788 3637//5787 +f 3638//5913 3770//5914 3637//5787 +f 3902//5915 3901//5789 3769//5788 +f 3770//5914 3902//5915 3769//5788 +f 4036//5916 4035//5790 3901//5789 +f 3902//5915 4036//5916 3901//5789 +f 4169//5917 4168//5791 4035//5790 +f 4036//5916 4169//5917 4035//5790 +f 4169//5917 4302//5918 4301//5792 +f 4168//5791 4169//5917 4301//5792 +f 4436//5919 4435//5793 4301//5792 +f 4302//5918 4436//5919 4301//5792 +f 4570//5920 4569//5794 4435//5793 +f 4436//5919 4570//5920 4435//5793 +f 4704//5921 4703//5795 4569//5794 +f 4570//5920 4704//5921 4569//5794 +f 4704//5921 4839//5922 4838//5796 +f 4703//5795 4704//5921 4838//5796 +f 4839//5922 4974//5923 4973//5797 +f 4838//5796 4839//5922 4973//5797 +f 4974//5923 5109//5924 5108//5798 +f 4973//5797 4974//5923 5108//5798 +f 5243//5925 5242//5799 5108//5798 +f 5109//5924 5243//5925 5108//5798 +f 5378//5926 5377//5800 5242//5799 +f 5243//5925 5378//5926 5242//5799 +f 5512//5927 5511//5801 5377//5800 +f 5378//5926 5512//5927 5377//5800 +f 5647//5928 5646//5802 5511//5801 +f 5512//5927 5647//5928 5511//5801 +f 5647//5928 5781//5929 5780//5803 +f 5646//5802 5647//5928 5780//5803 +f 5781//5929 5913//5930 5912//5804 +f 5780//5803 5781//5929 5912//5804 +f 5913//5930 6045//5931 6044//5805 +f 5912//5804 5913//5930 6044//5805 +f 6045//5931 6175//5932 6174//5806 +f 6044//5805 6045//5931 6174//5806 +f 6175//5932 6304//5933 6303//5807 +f 6174//5806 6175//5932 6303//5807 +f 6304//5933 6431//5934 6430//5808 +f 6303//5807 6304//5933 6430//5808 +f 6431//5934 6557//5935 6556//5809 +f 6430//5808 6431//5934 6556//5809 +f 6682//5936 6681//5810 6556//5809 +f 6557//5935 6682//5936 6556//5809 +f 6809//5937 6808//5657 6681//5810 +f 6682//5936 6809//5937 6681//5810 +f 6809//5937 6514//5938 6513//5658 +f 6808//5657 6809//5937 6513//5658 +f 313//2724 314//3307 423//4848 +f 28558//5556 28559//5555 28687//5745 +f 13720//5939 13721//4174 13818//5940 +f 3582//2890 2756//3099 6117//4665 +f 1947//3097 2072//2888 1946//5941 +f 2872//5141 2873//5942 3011//5679 +f 5165//4977 5166//4188 5299//677 +f 27847//5943 27963//5944 27846//5945 +f 5845//5946 5846//5947 5977//5522 +f 6110//5414 6109//5870 5977//5522 +f 1011//3687 1010//3100 891//3302 +f 5992//3489 1485//3493 1486//5948 +f 5446//5949 5311//5868 5312//4409 +f 2070//5950 2199//4507 2069//5850 +f 6750//5951 2004//5831 2003//4552 +f 13287//5952 12050//2554 8340//5953 +f 6625//5954 6750//5951 6749//4412 +f 6749//4412 6750//5951 2003//4552 +f 6112//5123 6113//5955 6242//5268 +f 6624//4556 6625//5954 6749//4412 +f 5980//5122 5981//5956 6112//5123 +f 6243//5957 6372//5958 6371//5269 +f 5316//5959 5451//5960 5450//5545 +f 6113//5955 6243//5957 6242//5268 +f 6630//5961 6631//5962 6755//5963 +f 5047//5678 5182//5833 5046//5553 +f 1358//5532 1474//5964 1357//5965 +f 6385//5966 13988//5967 11005//5968 +f 6233//5875 6362//5114 6361//4830 +f 2466//3446 2601//3445 2465//4681 +f 26948//5969 11593//5970 11526//5971 +f 5571//4064 5706//3867 5570//5147 +f 6114//5838 6244//5972 6243//5957 +f 6114//5838 6115//5973 6244//5972 +f 17668//2637 17270//5974 26521//2638 +f 5715//3828 5716//3827 5849//4024 +f 34284//5975 34422//5976 34283//5977 +f 536//5978 651//4658 650//5979 +f 535//4895 536//5978 650//5979 +f 11993//5980 12074//5981 11992//5982 +f 4092//3443 4091//3442 3957//5117 +f 3826//5983 3825//5984 3693//5985 +f 3958//5986 3957//5117 3825//5984 +f 3694//4017 3693//5985 3563//4018 +f 2198//5987 2330//3450 2329//3629 +f 1707//4019 1824//4025 1823//4020 +f 2068//4342 2069//5850 2197//5988 +f 5981//5956 5982//5837 6113//5955 +f 2197//5988 2198//5987 2329//3629 +f 13620//5989 12727//2381 12572//2380 +f 3177//5990 13613//5991 2880//5992 +f 35749//5583 35380//5586 35938//1781 +f 10384//5993 13301//5570 13020//5994 +f 12549//767 12754//5995 12459//3499 +f 20388//5996 20472//2589 20387//5997 +f 18179//5998 18931//5999 19912//6000 +f 12394//6001 12373//6002 6257//6003 +f 12821//2709 13199//2514 3341//3900 +f 12132//2555 13603//6004 12937//5866 +f 27133//6005 27134//6006 27252//6007 +f 3152//4656 3292//3810 3291//3812 +f 1126//2675 1242//2668 1125//3730 +f 6356//4349 6227//4410 6228//4347 +f 5982//5837 6114//5838 6113//5955 +f 2481//6008 2353//5418 2221//5293 +f 6496//4651 6495//6009 6368//6010 +f 4358//6011 4492//5153 4491//6012 +f 4626//6013 4760//6014 4759//2877 +f 1004//4999 1122//5136 1121//4686 +f 2610//6015 22441//6016 20433//5406 +f 598//6017 716//5880 7772//6018 +f 7546//6019 6379//6020 6378//6021 +f 599//6022 717//6023 716//5880 +f 598//6017 599//6022 716//5880 +f 717//6023 836//3807 835//3806 +f 716//5880 717//6023 835//3806 +f 2076//4189 2206//4714 2357//6024 +f 8007//3808 837//6025 956//6026 +f 954//5881 835//3806 8007//3808 +f 14663//4446 14769//4448 14662//269 +f 14769//4448 14882//6027 14881//431 +f 14768//430 14769//4448 14881//431 +f 14882//6027 15002//6028 15001//4735 +f 14881//431 14882//6027 15001//4735 +f 15002//6028 15125//6029 15124//4574 +f 15001//4735 15002//6028 15124//4574 +f 15252//6030 15251//4575 15124//4574 +f 15125//6029 15252//6030 15124//4574 +f 15278//4696 15608//5566 13785//4697 +f 3584//598 11386//777 3929//6031 +f 22338//6032 22339//6033 23024//5567 +f 21283//1918 13616//1919 13986//4588 +f 15608//5566 22338//6032 23024//5567 +f 14653//3759 17115//3579 16949//6034 +f 1892//6035 9436//6036 11102//6037 +f 22338//6032 15193//6038 23230//6039 +f 14475//5886 14653//3759 16949//6034 +f 2277//5888 2146//937 2278//6040 +f 33997//6041 34133//6042 33996//6043 +f 26595//5775 3752//5779 28878//5776 +f 29546//4603 26576//4602 27527//5890 +f 29077//1985 30668//4303 30804//6044 +f 26415//6045 30804//6044 21652//5780 +f 22647//6046 29414//6047 23239//6048 +f 16778//6049 14375//6050 11233//6051 +f 6903//6052 25952//6053 7082//6054 +f 27729//5611 17310//5610 28240//5774 +f 26589//6055 24724//6056 26694//5902 +f 35385//5339 13475//6057 8761//6058 +f 19570//6059 30634//6060 24230//6061 +f 25362//6062 25323//6063 28498//6064 +f 31898//1673 31897//6065 31791//6066 +f 19129//6067 27869//6068 29277//6069 +f 3237//6070 3376//6071 3375//5911 +f 3236//5910 3237//6070 3375//5911 +f 3376//6071 3509//6072 3508//5912 +f 3375//5911 3376//6071 3508//5912 +f 3509//6072 3639//6073 3638//5913 +f 3508//5912 3509//6072 3638//5913 +f 3771//6074 3770//5914 3638//5913 +f 3639//6073 3771//6074 3638//5913 +f 3903//6075 3902//5915 3770//5914 +f 3771//6074 3903//6075 3770//5914 +f 4037//6076 4036//5916 3902//5915 +f 3903//6075 4037//6076 3902//5915 +f 4170//6077 4169//5917 4036//5916 +f 4037//6076 4170//6077 4036//5916 +f 4170//6077 4303//6078 4302//5918 +f 4169//5917 4170//6077 4302//5918 +f 4437//6079 4436//5919 4302//5918 +f 4303//6078 4437//6079 4302//5918 +f 4571//6080 4570//5920 4436//5919 +f 4437//6079 4571//6080 4436//5919 +f 4705//6081 4704//5921 4570//5920 +f 4571//6080 4705//6081 4570//5920 +f 4705//6081 4840//6082 4839//5922 +f 4704//5921 4705//6081 4839//5922 +f 4975//6083 4974//5923 4839//5922 +f 4840//6082 4975//6083 4839//5922 +f 4975//6083 5110//6084 5109//5924 +f 4974//5923 4975//6083 5109//5924 +f 5244//6085 5243//5925 5109//5924 +f 5110//6084 5244//6085 5109//5924 +f 5379//6086 5378//5926 5243//5925 +f 5244//6085 5379//6086 5243//5925 +f 5513//6087 5512//5927 5378//5926 +f 5379//6086 5513//6087 5378//5926 +f 5648//6088 5647//5928 5512//5927 +f 5513//6087 5648//6088 5512//5927 +f 5782//6089 5781//5929 5647//5928 +f 5648//6088 5782//6089 5647//5928 +f 5914//6090 5913//5930 5781//5929 +f 5782//6089 5914//6090 5781//5929 +f 5914//6090 6046//6091 6045//5931 +f 5913//5930 5914//6090 6045//5931 +f 6046//6091 6176//6092 6175//5932 +f 6045//5931 6046//6091 6175//5932 +f 6176//6092 6305//6093 6304//5933 +f 6175//5932 6176//6092 6304//5933 +f 6305//6093 6432//6094 6431//5934 +f 6304//5933 6305//6093 6431//5934 +f 6432//6094 6558//6095 6557//5935 +f 6431//5934 6432//6094 6557//5935 +f 6558//6095 6683//6096 6682//5936 +f 6557//5935 6558//6095 6682//5936 +f 6683//6096 6810//6097 6809//5937 +f 6682//5936 6683//6096 6809//5937 +f 6810//6097 6515//6098 6514//5938 +f 6809//5937 6810//6097 6514//5938 +f 8117//1700 953//1699 19122//6099 +f 35826//5328 35475//5329 35513//6100 +f 3002//6101 3003//4055 3143//5436 +f 2072//2888 2071//6102 1946//5941 +f 2604//4080 2739//4082 2738//5250 +f 2334//2497 2335//3868 2468//2680 +f 13287//5952 10827//6103 13603//6004 +f 540//3691 655//3688 654//3301 +f 320//6104 7149//6105 430//6106 +f 9341//6107 9655//6108 2749//3441 +f 6242//5268 6243//5957 6371//5269 +f 6372//5958 6499//6109 6498//5524 +f 6499//6109 6625//5954 6624//4556 +f 6371//5269 6372//5958 6498//5524 +f 1631//3624 1748//6110 1630//3625 +f 6498//5524 6499//6109 6624//4556 +f 5450//5545 5451//5960 5584//3185 +f 1472//5538 1471//4880 1355//5413 +f 1239//5279 1240//4962 1355//5413 +f 35497//6111 35855//6112 35689//6113 +f 35410//1548 35927//6114 35457//6115 +f 3166//6116 3170//6117 3169//5288 +f 6504//6118 6505//6119 6630//5961 +f 5315//5547 5316//5959 5450//5545 +f 1473//6120 1472//5538 1356//5537 +f 6631//5962 6756//3431 6755//5963 +f 4491//6012 4492//5153 4625//6121 +f 2873//5942 3012//6122 3011//5679 +f 12079//4542 12161//3934 12078//4543 +f 5702//6123 5836//6124 5835//6125 +f 4892//3286 5027//4376 5026//4375 +f 2875//4076 3014//4075 3013//4513 +f 4756//3485 4757//3285 4891//3287 +f 890//3299 1009//2883 1008//2882 +f 3151//5385 3152//4656 3291//3812 +f 2864//4053 3003//4055 3002//6101 +f 5171//4235 5305//6126 5304//6127 +f 4360//4196 4361//3830 4494//3831 +f 4642//4873 4776//4875 4775//5694 +f 6739//6128 6740//6129 1152//2685 +f 3436//6130 3569//4885 3568//4067 +f 6736//6131 930//6132 903//3094 +f 6745//3361 6746//6133 1883//6134 +f 5850//4023 5982//5837 5981//5956 +f 292//6135 6002//1471 3604//6136 +f 13725//1008 13823//1007 13724//6137 +f 5465//2287 292//6135 5598//2288 +f 676//6138 3604//6136 6002//1471 +f 5465//2287 15754//2286 16550//6139 +f 3604//6136 5598//2288 292//6135 +f 13724//6137 13822//6140 13723//5393 +f 30214//3021 21575//6141 35647//6142 +f 13101//3673 12132//2555 12032//5865 +f 9991//6143 11237//6144 14283//4281 +f 1382//6145 13215//6146 12642//5861 +f 12246//3332 12245//3933 12162//3932 +f 3570//4886 3437//5024 10041//6147 +f 4488//3477 4622//3484 4621//4411 +f 1627//2973 1626//6148 1510//6149 +f 1511//2974 1627//2973 1510//6149 +f 665//4534 462//2847 6731//2965 +f 777//4399 896//4397 776//5818 +f 35502//3805 35589//5470 35588//2799 +f 13722//4173 13723//5393 13820//4352 +f 1129//3686 1128//2891 1010//3100 +f 537//4847 538//3303 652//5409 +f 485//6150 600//6151 599//6022 +f 598//6017 484//6152 599//6022 +f 600//6151 718//6153 717//6023 +f 599//6022 600//6151 717//6023 +f 5849//4024 5850//4023 5981//5956 +f 6649//1397 16320//1396 17123//3006 +f 8969//6154 8970//6155 9076//6156 +f 5577//4400 5712//6157 5711//6158 +f 5360//3029 17766//6159 5224//3030 +f 956//6026 1074//6160 955//6161 +f 21575//6141 20866//6162 20865//6163 +f 1288//6164 913//6165 914//6166 +f 16806//3761 14653//3759 14475//5886 +f 3266//4121 15145//4120 15140//6167 +f 680//3564 16666//3392 1423//180 +f 16666//3392 5485//3200 16178//323 +f 17176//6168 4542//3565 2281//179 +f 2281//179 680//3564 1423//180 +f 4115//6169 1501//3567 17176//6168 +f 4542//3565 680//3564 2281//179 +f 16849//6170 16033//3566 4115//6169 +f 1501//3567 4542//3565 17176//6168 +f 17115//3579 16033//3566 16849//6170 +f 16949//6034 17115//3579 16849//6170 +f 35878//6171 35901//6172 35416//6173 +f 16033//3566 1501//3567 4115//6169 +f 14680//1291 26//725 16399//724 +f 22339//6033 22338//6032 23230//6039 +f 2145//935 2146//937 2277//5888 +f 35891//2763 35916//2762 35614//4444 +f 27990//6174 28680//6175 28363//6176 +f 3752//5779 26415//6045 21652//5780 +f 21032//6177 2676//6178 30772//2042 +f 6915//4926 30753//5615 29893//5899 +f 28969//2649 28968//2651 28835//6179 +f 26671//6180 26672//5624 26783//6181 +f 21719//6182 28684//6183 28817//6184 +f 35486//3032 29495//3031 27149//3976 +f 25664//6185 26082//6186 24724//6056 +f 19784//6187 19455//6188 19456//6189 +f 23577//6190 23578//6191 29018//6192 +f 27985//6193 29630//6194 28102//6195 +f 3098//6196 3238//6197 3237//6070 +f 34271//6198 34270//6199 34132//6200 +f 3238//6197 3377//6201 3376//6071 +f 3237//6070 3238//6197 3376//6071 +f 3377//6201 3510//6202 3509//6072 +f 3376//6071 3377//6201 3509//6072 +f 3510//6202 3640//6203 3639//6073 +f 3509//6072 3510//6202 3639//6073 +f 3640//6203 3772//6204 3771//6074 +f 3639//6073 3640//6203 3771//6074 +f 3772//6204 3904//6205 3903//6075 +f 3771//6074 3772//6204 3903//6075 +f 4038//6206 4037//6076 3903//6075 +f 3904//6205 4038//6206 3903//6075 +f 4038//6206 4171//6207 4170//6077 +f 4037//6076 4038//6206 4170//6077 +f 4304//6208 4303//6078 4170//6077 +f 4171//6207 4304//6208 4170//6077 +f 4438//6209 4437//6079 4303//6078 +f 4304//6208 4438//6209 4303//6078 +f 4438//6209 4572//6210 4571//6080 +f 4437//6079 4438//6209 4571//6080 +f 4572//6210 4706//6211 4705//6081 +f 4571//6080 4572//6210 4705//6081 +f 4706//6211 4841//6212 4840//6082 +f 4705//6081 4706//6211 4840//6082 +f 4841//6212 4976//6213 4975//6083 +f 4840//6082 4841//6212 4975//6083 +f 4976//6213 5111//6214 5110//6084 +f 4975//6083 4976//6213 5110//6084 +f 5245//6215 5244//6085 5110//6084 +f 5111//6214 5245//6215 5110//6084 +f 5380//6216 5379//6086 5244//6085 +f 5245//6215 5380//6216 5244//6085 +f 5514//6217 5513//6087 5379//6086 +f 5380//6216 5514//6217 5379//6086 +f 5649//6218 5648//6088 5513//6087 +f 5514//6217 5649//6218 5513//6087 +f 5783//6219 5782//6089 5648//6088 +f 5649//6218 5783//6219 5648//6088 +f 5915//6220 5914//6090 5782//6089 +f 5783//6219 5915//6220 5782//6089 +f 5915//6220 6047//6221 6046//6091 +f 5914//6090 5915//6220 6046//6091 +f 6047//6221 6177//6222 6176//6092 +f 6046//6091 6047//6221 6176//6092 +f 6177//6222 6306//6223 6305//6093 +f 6176//6092 6177//6222 6305//6093 +f 6306//6223 6433//6224 6432//6094 +f 6305//6093 6306//6223 6432//6094 +f 6559//6225 6558//6095 6432//6094 +f 6433//6224 6559//6225 6432//6094 +f 6684//6226 6683//6096 6558//6095 +f 6559//6225 6684//6226 6558//6095 +f 6811//6227 6810//6097 6683//6096 +f 6684//6226 6811//6227 6683//6096 +f 6811//6227 6522//6228 6515//6098 +f 6810//6097 6811//6227 6515//6098 +f 1372//6229 9540//6230 4504//6231 +f 30214//3021 35832//182 35356//6232 +f 6375//5685 6502//5839 6501//5686 +f 1701//5518 1818//4224 1700//4674 +f 1257//6233 3160//3627 2750//2682 +f 318//5036 428//4220 427//3692 +f 5579//4840 5580//6234 5714//4841 +f 5715//3828 5849//4024 5848//4985 +f 5849//4024 5981//5956 5980//5122 +f 5714//4841 5715//3828 5848//4985 +f 5981//5956 6113//5955 6112//5123 +f 5848//4985 5849//4024 5980//5122 +f 8311//6235 9865//6236 5965//4517 +f 5568//4888 5703//4890 16042//6237 +f 35812//2800 35390//6238 35362//3702 +f 2329//3629 2463//3452 2328//4244 +f 4491//6012 4490//6239 4356//6240 +f 4357//6241 4491//6012 4356//6240 +f 1282//3642 1283//5032 1398//3728 +f 4490//6239 4491//6012 4624//6242 +f 4491//6012 4625//6121 4624//6242 +f 903//3094 930//6132 218//3090 +f 767//4878 768//4660 886//4879 +f 6505//6119 6631//5962 6630//5961 +f 35743//6243 35881//3550 35370//6244 +f 1357//5965 1473//6120 1356//5537 +f 6606//4677 6607//6245 6731//2965 +f 11136//2020 12476//6246 12930//5519 +f 1511//2974 1510//6149 1394//6247 +f 1630//3625 1629//3435 1513//3544 +f 2883//4521 2884//6248 5320//4242 +f 1395//2971 1511//2974 1394//6247 +f 5194//6249 16696//1227 15175//1226 +f 4226//6250 4225//6251 4092//3443 +f 1162//6252 1163//3248 1278//6253 +f 1278//6253 1279//3250 1394//6247 +f 5022//4554 5023//6254 5157//3735 +f 1279//3250 1395//2971 1394//6247 +f 1491//5389 1374//2686 3025//4527 +f 5971//5013 5970//4667 5838//4965 +f 35833//2750 35675//2912 35615//2751 +f 6477//6255 6478//5149 6603//5692 +f 785//3278 668//6256 450//5674 +f 1518//6257 1634//6258 1633//5156 +f 7976//6259 1518//6257 1401//4498 +f 1634//6258 1751//6260 1750//5309 +f 1633//5156 1634//6258 1750//5309 +f 1868//6261 1867//5450 1750//5309 +f 1751//6260 1868//6261 1750//5309 +f 1988//6262 1987//5571 1867//5450 +f 9655//6108 8773//6263 4499//6264 +f 1868//6261 1988//6262 1867//5450 +f 4109//6265 9655//6108 4499//6264 +f 5032//3370 5033//3432 5167//3434 +f 3827//6266 3826//5983 3694//4017 +f 4499//6264 213//6267 2001//6268 +f 5043//6269 121//6270 676//6138 +f 31476//6271 11413//6272 26518//6273 +f 121//6270 154//6274 3604//6136 +f 676//6138 121//6270 3604//6136 +f 321//1612 5598//2288 3604//6136 +f 154//6274 321//1612 3604//6136 +f 14299//3521 14300//3520 6512//3705 +f 690//1613 14552//1047 6265//1614 +f 11216//6275 2752//6276 3982//6277 +f 26613//1542 31557//1541 26614//6278 +f 13726//2377 13725//1008 13627//6279 +f 12060//6280 12059//6281 13115//6282 +f 2113//6283 2112//5696 1987//5571 +f 1988//6262 2113//6283 1987//5571 +f 1045//3371 1163//3248 1162//6252 +f 1044//6284 1045//3371 1162//6252 +f 6738//3838 6739//6128 952//2684 +f 6613//3835 6614//6285 6738//3838 +f 12947//6286 12946//6287 12853//5412 +f 17933//6288 17531//6289 18506//6290 +f 5312//4409 5447//4408 5446//5949 +f 7546//6019 6380//2442 6379//6020 +f 486//6291 601//6292 600//6151 +f 7543//6293 7544//6294 485//6150 +f 601//6292 719//6295 718//6153 +f 600//6151 601//6292 718//6153 +f 719//6295 838//6296 837//6025 +f 28688//5744 28820//6297 28819//6298 +f 957//6299 956//6026 837//6025 +f 838//6296 957//6299 837//6025 +f 1075//6300 1074//6160 956//6026 +f 957//6299 1075//6300 956//6026 +f 5007//6301 3266//4121 15140//6167 +f 1191//6302 1308//6303 18465//6304 +f 15145//4120 16806//3761 16797//5885 +f 15140//6167 15145//4120 16797//5885 +f 2396//6305 1273//6306 2262//6307 +f 35658//6308 35709//6309 35836//6310 +f 14675//407 14676//406 14781//559 +f 616//6311 14555//6312 3077//3192 +f 14786//1443 14785//1442 5745//421 +f 14463//423 15224//713 14607//715 +f 14627//714 14694//1617 6146//6313 +f 905//486 977//3193 4271//382 +f 11711//218 20323//339 15032//342 +f 3492//2988 15479//6314 14489//6315 +f 35495//4384 35606//6316 35920//6317 +f 11948//6318 11777//6319 13571//4694 +f 3355//1000 3217//2088 1503//760 +f 15000//6320 15123//4736 15122//986 +f 2043//1110 2042//2285 4331//2105 +f 2250//4904 2528//5038 2393//1002 +f 19156//6321 2278//6040 2146//937 +f 33882//6322 34017//6323 33881//6324 +f 33292//6325 33291//6326 33186//6327 +f 2279//6328 2278//6040 19156//6321 +f 28836//6329 28969//2649 28835//6179 +f 24705//6330 26934//6331 24826//6332 +f 29518//6333 29519//6334 29656//6335 +f 29685//6336 35386//6337 35931//6338 +f 18994//6339 28342//6340 19032//6341 +f 24648//6342 25323//6063 25362//6062 +f 29085//6343 29222//5670 22002//6344 +f 28342//6340 27047//979 27046//6345 +f 3239//6346 3238//6197 3098//6196 +f 32919//6347 17400//6348 32806//6349 +f 3378//6350 3377//6201 3238//6197 +f 3239//6346 3378//6350 3238//6197 +f 3378//6350 3511//6351 3510//6202 +f 3377//6201 3378//6350 3510//6202 +f 3511//6351 3641//6352 3640//6203 +f 3510//6202 3511//6351 3640//6203 +f 3641//6352 3773//6353 3772//6204 +f 3640//6203 3641//6352 3772//6204 +f 3905//6354 3904//6205 3772//6204 +f 3773//6353 3905//6354 3772//6204 +f 4039//6355 4038//6206 3904//6205 +f 3905//6354 4039//6355 3904//6205 +f 4172//6356 4171//6207 4038//6206 +f 4039//6355 4172//6356 4038//6206 +f 4172//6356 4305//6357 4304//6208 +f 4171//6207 4172//6356 4304//6208 +f 4305//6357 4439//6358 4438//6209 +f 4304//6208 4305//6357 4438//6209 +f 4439//6358 4573//6359 4572//6210 +f 4438//6209 4439//6358 4572//6210 +f 4573//6359 4707//6360 4706//6211 +f 4572//6210 4573//6359 4706//6211 +f 4707//6360 4842//6361 4841//6212 +f 4706//6211 4707//6360 4841//6212 +f 4842//6361 4977//6362 4976//6213 +f 4841//6212 4842//6361 4976//6213 +f 4977//6362 5112//6363 5111//6214 +f 4976//6213 4977//6362 5111//6214 +f 5246//6364 5245//6215 5111//6214 +f 5112//6363 5246//6364 5111//6214 +f 5381//6365 5380//6216 5245//6215 +f 5246//6364 5381//6365 5245//6215 +f 5381//6365 5515//6366 5514//6217 +f 5380//6216 5381//6365 5514//6217 +f 5650//6367 5649//6218 5514//6217 +f 5515//6366 5650//6367 5514//6217 +f 5784//6368 5783//6219 5649//6218 +f 5650//6367 5784//6368 5649//6218 +f 5784//6368 5916//6369 5915//6220 +f 5783//6219 5784//6368 5915//6220 +f 5916//6369 6048//6370 6047//6221 +f 5915//6220 5916//6369 6047//6221 +f 6178//6371 6177//6222 6047//6221 +f 6048//6370 6178//6371 6047//6221 +f 6307//6372 6306//6223 6177//6222 +f 6178//6371 6307//6372 6177//6222 +f 6434//6373 6433//6224 6306//6223 +f 6307//6372 6434//6373 6306//6223 +f 6560//6374 6559//6225 6433//6224 +f 6434//6373 6560//6374 6433//6224 +f 6685//6375 6684//6226 6559//6225 +f 6560//6374 6685//6375 6559//6225 +f 6685//6375 6812//6376 6811//6227 +f 6684//6226 6685//6375 6811//6227 +f 6812//6376 6536//6377 6522//6228 +f 6811//6227 6812//6376 6522//6228 +f 13631//6378 13729//4808 13630//6379 +f 6536//6377 1372//6229 6522//6228 +f 1726//6380 1614//6381 1602//577 +f 1468//3858 1584//4239 1467//4492 +f 772//3298 773//3684 891//3302 +f 539//3304 540//3691 654//3301 +f 5445//5661 5446//5949 5579//4840 +f 5580//6234 5715//3828 5714//4841 +f 6630//5961 6755//5963 6754//6382 +f 6629//6383 6630//5961 6754//6382 +f 9750//2203 35697//2202 12136//2600 +f 1390//6384 3166//6116 3167//3091 +f 803//4362 922//4360 921//4859 +f 2598//3631 2597//4822 2462//4245 +f 930//6132 1390//6384 218//3090 +f 2463//3452 2462//4245 2328//4244 +f 5024//5405 5025//5397 5159//5404 +f 2728//3856 2729//4229 2864//4053 +f 4768//3474 11145//4647 4769//6385 +f 2729//4229 2865//4054 2864//4053 +f 3558//3643 3688//3646 3687//2978 +f 1471//4880 1587//3466 1470//3468 +f 12500//6386 12499//6387 12410//6388 +f 13926//3907 13925//3754 13827//4036 +f 536//5978 537//4847 651//4658 +f 12854//5411 12947//6286 12853//5412 +f 33552//6389 806//6390 33551//6391 +f 6358//4671 6485//6392 6484//4849 +f 2242//6393 2241//5698 2112//5696 +f 926//6394 1045//3371 1044//6284 +f 2113//6283 2242//6393 2112//5696 +f 2374//6395 2373//5700 2241//5698 +f 2242//6393 2374//6395 2241//5698 +f 2508//6396 2507//5701 2373//5700 +f 807//6397 926//6394 925//6398 +f 2374//6395 2508//6396 2373//5700 +f 2643//6399 2642//5703 2507//5701 +f 2508//6396 2643//6399 2507//5701 +f 2778//3721 2777//5706 2642//5703 +f 1163//3248 1279//3250 1278//6253 +f 1167//3641 1283//5032 1282//3642 +f 19136//6400 7081//6401 35548//3260 +f 5845//5946 5977//5522 5844//6402 +f 1352//3859 1468//3858 1467//4492 +f 5977//5522 5976//6403 5844//6402 +f 5168//3433 5302//4386 5301//4661 +f 426//3693 540//3691 425//3305 +f 3439//6404 3300//4520 3839//6405 +f 22036//258 22132//6406 22035//6407 +f 4357//6241 4358//6011 4491//6012 +f 5577//4400 5578//4986 5712//6157 +f 6756//3431 2476//6408 2129//6409 +f 5971//5013 6103//5012 5970//4667 +f 11120//6410 3977//6411 5043//6269 +f 5043//6269 560//1470 8991//6412 +f 6125//6413 293//6414 154//6274 +f 121//6270 6125//6413 154//6274 +f 293//6414 5732//6415 321//1612 +f 154//6274 293//6414 321//1612 +f 14552//1047 690//1613 6135//6416 +f 5732//6415 690//1613 321//1612 +f 31143//6417 11422//6418 31207//4610 +f 8227//6419 13417//6420 13414//5560 +f 13115//6282 13116//6421 11550//6422 +f 33608//2401 33607//6423 33488//1120 +f 8116//6424 7325//3537 3202//3539 +f 2643//6399 2778//3721 2642//5703 +f 17601//3171 17600//6425 17507//6426 +f 4913//4177 4914//4014 5048//4178 +f 415//4013 528//6427 414//6428 +f 4765//6429 4900//4035 4899//4851 +f 651//4658 652//5409 769//4659 +f 13989//4182 9432//4181 14086//6430 +f 15357//6431 17111//1157 1486//5948 +f 9929//6432 9930//6433 10046//6434 +f 26614//6278 31557//1541 26615//6435 +f 487//6436 602//6437 601//6292 +f 486//6291 487//6436 601//6292 +f 602//6437 720//6438 719//6295 +f 601//6292 602//6437 719//6295 +f 720//6438 839//6439 838//6296 +f 719//6295 720//6438 838//6296 +f 958//6440 957//6299 838//6296 +f 839//6439 958//6440 838//6296 +f 1076//6441 1075//6300 957//6299 +f 958//6440 1076//6441 957//6299 +f 1192//6442 1191//6302 1075//6300 +f 1076//6441 1192//6442 1075//6300 +f 23110//584 23208//1648 23109//585 +f 18390//6443 1215//6444 18484//6445 +f 13616//1919 11711//218 15032//342 +f 22223//868 22224//1833 22319//164 +f 35457//6115 35582//6446 35591//6447 +f 14873//1324 1773//730 1656//732 +f 22047//6448 23148//6449 23230//6039 +f 3622//574 16461//573 16534//1899 +f 15193//6038 22047//6448 23230//6039 +f 20873//1435 20874//228 20953//230 +f 14999//1094 15000//6320 15122//986 +f 15123//4736 15250//925 15249//924 +f 5331//482 3204//4903 5335//620 +f 15122//986 15123//4736 15249//924 +f 3933//1111 2043//1110 4331//2105 +f 1503//760 5331//482 5335//620 +f 35608//6450 35775//6451 35597//6452 +f 1270//1109 3853//2242 2042//2285 +f 16909//1245 16908//2586 16750//2415 +f 15092//6453 17100//6454 13960//6455 +f 15373//1727 15496//2584 14955//1722 +f 16751//1308 16909//1245 16750//2415 +f 15173//1860 15059//2081 16393//151 +f 14955//1722 14956//2585 16634//1563 +f 14953//3589 14954//1721 16551//3404 +f 16658//1294 16817//6456 16816//6457 +f 30020//6458 30019//6459 29888//6460 +f 19032//6341 28342//6340 27046//6345 +f 3239//6346 3098//6196 3099//6461 +f 30020//6458 30152//6462 30019//6459 +f 3240//6463 3239//6346 3099//6461 +f 3100//6464 3240//6463 3099//6461 +f 3379//6465 3378//6350 3239//6346 +f 3240//6463 3379//6465 3239//6346 +f 3512//6466 3511//6351 3378//6350 +f 3379//6465 3512//6466 3378//6350 +f 3642//6467 3641//6352 3511//6351 +f 3512//6466 3642//6467 3511//6351 +f 3774//6468 3773//6353 3641//6352 +f 3642//6467 3774//6468 3641//6352 +f 3774//6468 3906//6469 3905//6354 +f 3773//6353 3774//6468 3905//6354 +f 4040//6470 4039//6355 3905//6354 +f 3906//6469 4040//6470 3905//6354 +f 4173//6471 4172//6356 4039//6355 +f 4040//6470 4173//6471 4039//6355 +f 4306//6472 4305//6357 4172//6356 +f 4173//6471 4306//6472 4172//6356 +f 4440//6473 4439//6358 4305//6357 +f 4306//6472 4440//6473 4305//6357 +f 4440//6473 4574//6474 4573//6359 +f 4439//6358 4440//6473 4573//6359 +f 4574//6474 4708//6475 4707//6360 +f 4573//6359 4574//6474 4707//6360 +f 4708//6475 4843//6476 4842//6361 +f 4707//6360 4708//6475 4842//6361 +f 4978//6477 4977//6362 4842//6361 +f 4843//6476 4978//6477 4842//6361 +f 5113//6478 5112//6363 4977//6362 +f 4978//6477 5113//6478 4977//6362 +f 5113//6478 5247//6479 5246//6364 +f 5112//6363 5113//6478 5246//6364 +f 5247//6479 5382//6480 5381//6365 +f 5246//6364 5247//6479 5381//6365 +f 5382//6480 5516//6481 5515//6366 +f 5381//6365 5382//6480 5515//6366 +f 5516//6481 5651//6482 5650//6367 +f 5515//6366 5516//6481 5650//6367 +f 5651//6482 5785//6483 5784//6368 +f 5650//6367 5651//6482 5784//6368 +f 5785//6483 5917//6484 5916//6369 +f 5784//6368 5785//6483 5916//6369 +f 6049//6485 6048//6370 5916//6369 +f 5917//6484 6049//6485 5916//6369 +f 6179//6486 6178//6371 6048//6370 +f 6049//6485 6179//6486 6048//6370 +f 6308//6487 6307//6372 6178//6371 +f 6179//6486 6308//6487 6178//6371 +f 6435//6488 6434//6373 6307//6372 +f 6308//6487 6435//6488 6307//6372 +f 6561//6489 6560//6374 6434//6373 +f 6435//6488 6561//6489 6434//6373 +f 6686//6490 6685//6375 6560//6374 +f 6561//6489 6686//6490 6560//6374 +f 6686//6490 6813//6491 6812//6376 +f 6685//6375 6686//6490 6812//6376 +f 6813//6491 6639//6492 6536//6377 +f 6812//6376 6813//6491 6536//6377 +f 6639//6492 664//6493 1372//6229 +f 6536//6377 6639//6492 1372//6229 +f 664//6493 4369//6494 4103//6495 +f 35707//6496 35743//6243 35370//6244 +f 9084//6497 5310//5660 5309//5664 +f 6264//5106 8635//6498 7882//6499 +f 22047//6448 23344//6500 23050//6501 +f 5446//5949 5580//6234 5579//4840 +f 5048//4178 5183//4180 5182//5833 +f 6755//5963 2129//6409 2126//6502 +f 5182//5833 5183//4180 5316//5959 +f 5047//5678 5048//4178 5182//5833 +f 5317//4356 5452//6503 5451//5960 +f 5316//5959 5317//4356 5451//5960 +f 35446//6504 35728//6505 35591//6447 +f 6610//4850 6735//4503 6609//3738 +f 9432//4181 3335//6506 14086//6430 +f 4617//3841 4618//4212 4751//3271 +f 3170//6117 3449//4528 5986//6507 +f 6117//4665 2216//4666 2087//5138 +f 930//6132 935//4984 1390//6384 +f 3449//4528 6117//4665 5986//6507 +f 935//4984 1491//5389 1390//6384 +f 1491//5389 3025//4527 3166//6116 +f 537//4847 652//5409 651//4658 +f 3286//5814 3287//4716 3425//4718 +f 5970//4667 5969//4669 5837//4966 +f 925//6398 926//6394 1044//6284 +f 2648//3106 2783//1125 2782//1127 +f 13676//6508 12728//6509 12639//766 +f 23148//6449 22047//6448 23050//6501 +f 4775//5694 11279//5687 11278//6510 +f 1386//6511 2385//6512 6663//3149 +f 6356//4349 6357//4348 6483//4705 +f 10278//6513 3699//4887 3700//5435 +f 534//4505 649//4884 533//3849 +f 5576//4401 5711//6158 5710//6514 +f 1707//4019 1706//3821 1589//3820 +f 3288//5394 3289//2900 3427//5817 +f 1242//2668 1241//4961 1125//3730 +f 1590//5520 1589//3820 1473//6120 +f 1385//6515 4792//3320 6263//6516 +f 1166//3640 1165//3548 1047//3549 +f 5578//4986 5713//4842 5712//6157 +f 312//6517 422//5871 421//4504 +f 4492//5153 4626//6013 4625//6121 +f 6607//6245 6732//4535 6731//2965 +f 2311//1446 2443//3723 2779//3722 +f 3695//6518 3827//6266 3694//4017 +f 6755//5963 6756//3431 2129//6409 +f 4083//6519 4084//4394 4216//4532 +f 5182//5833 5316//5959 5315//5547 +f 9859//5278 7672//5844 3041//6520 +f 4795//6521 294//6522 293//6414 +f 121//6270 3977//6411 6125//6413 +f 294//6522 322//6523 5732//6415 +f 293//6414 294//6522 5732//6415 +f 322//6523 6135//6416 690//1613 +f 5732//6415 322//6523 690//1613 +f 31391//6524 31392//6525 31458//4191 +f 14564//273 3343//6526 6791//271 +f 33489//1119 33608//2401 33488//1120 +f 12406//6527 12495//5873 12494//5872 +f 23344//6500 22850//6528 22750//6529 +f 11130//2725 13609//6530 13869//2726 +f 20782//3912 20781//1592 20702//1594 +f 6730//2849 458//2848 6729//5690 +f 2880//5992 13861//6531 440//6532 +f 1474//5964 1590//5520 1473//6120 +f 2736//4010 2872//5141 2735//5143 +f 4221//4365 4354//3476 4353//3844 +f 35918//2047 35806//3115 24802//2439 +f 7545//6533 487//6436 486//6291 +f 5986//6507 6117//4665 2087//5138 +f 374//6534 488//6535 487//6436 +f 373//6536 374//6534 487//6436 +f 488//6535 603//6537 602//6437 +f 487//6436 488//6535 602//6437 +f 603//6537 721//6538 720//6438 +f 602//6437 603//6537 720//6438 +f 840//6539 839//6439 720//6438 +f 721//6538 840//6539 720//6438 +f 959//6540 958//6440 839//6439 +f 840//6539 959//6540 839//6439 +f 1077//6541 1076//6441 958//6440 +f 959//6540 1077//6541 958//6440 +f 1193//6542 1192//6442 1076//6441 +f 1077//6541 1193//6542 1076//6441 +f 1309//6543 18563//6544 18562//6545 +f 1193//6542 1309//6543 1192//6442 +f 7879//4109 15836//6546 21//2714 +f 35435//6547 35577//6548 35875//1382 +f 1453//870 1568//4138 5468//996 +f 35370//6244 35881//3550 35366//6549 +f 3326//5167 5622//2086 5468//996 +f 5622//2086 5621//997 5468//996 +f 5621//997 5622//2086 3355//1000 +f 5622//2086 3217//2088 3355//1000 +f 3204//4903 2250//4904 577//621 +f 3217//2088 5331//482 1503//760 +f 2043//1110 1270//1109 2042//2285 +f 5335//620 3204//4903 577//621 +f 2283//1026 1925//2241 4675//1027 +f 5619//1108 3748//2243 3853//2242 +f 17072//1243 17071//2787 16908//2586 +f 11806//6550 13030//6551 35684//6552 +f 2258//1626 2392//3001 15373//1727 +f 16909//1245 17072//1243 16908//2586 +f 16657//1774 16658//1294 16816//6457 +f 14956//2585 16639//2245 16634//1563 +f 15058//3587 15310//1726 14953//3589 +f 16817//6456 16981//408 16980//6553 +f 1736//3585 4400//6554 4536//3221 +f 16555//1562 6649//1397 5611//3209 +f 27257//5346 19735//5348 21382//6555 +f 4096//6556 1736//3585 4536//3221 +f 2960//6557 3101//6558 3100//6464 +f 35633//729 35537//6559 35661//6560 +f 3241//6561 3240//6463 3100//6464 +f 3101//6558 3241//6561 3100//6464 +f 3380//6562 3379//6465 3240//6463 +f 3241//6561 3380//6562 3240//6463 +f 3513//6563 3512//6466 3379//6465 +f 3380//6562 3513//6563 3379//6465 +f 3643//6564 3642//6467 3512//6466 +f 3513//6563 3643//6564 3512//6466 +f 3775//6565 3774//6468 3642//6467 +f 3643//6564 3775//6565 3642//6467 +f 3907//6566 3906//6469 3774//6468 +f 3775//6565 3907//6566 3774//6468 +f 4041//6567 4040//6470 3906//6469 +f 3907//6566 4041//6567 3906//6469 +f 4174//6568 4173//6471 4040//6470 +f 4041//6567 4174//6568 4040//6470 +f 4307//6569 4306//6472 4173//6471 +f 4174//6568 4307//6569 4173//6471 +f 4441//6570 4440//6473 4306//6472 +f 4307//6569 4441//6570 4306//6472 +f 4441//6570 4575//6571 4574//6474 +f 4440//6473 4441//6570 4574//6474 +f 4575//6571 4709//6572 4708//6475 +f 4574//6474 4575//6571 4708//6475 +f 4709//6572 4844//6573 4843//6476 +f 4708//6475 4709//6572 4843//6476 +f 4979//6574 4978//6477 4843//6476 +f 4844//6573 4979//6574 4843//6476 +f 5114//6575 5113//6478 4978//6477 +f 4979//6574 5114//6575 4978//6477 +f 5114//6575 5248//6576 5247//6479 +f 5113//6478 5114//6575 5247//6479 +f 5248//6576 5383//6577 5382//6480 +f 5247//6479 5248//6576 5382//6480 +f 5383//6577 5517//6578 5516//6481 +f 5382//6480 5383//6577 5516//6481 +f 5517//6578 5652//6579 5651//6482 +f 5516//6481 5517//6578 5651//6482 +f 5652//6579 5786//6580 5785//6483 +f 5651//6482 5652//6579 5785//6483 +f 5918//6581 5917//6484 5785//6483 +f 5786//6580 5918//6581 5785//6483 +f 6050//6582 6049//6485 5917//6484 +f 5918//6581 6050//6582 5917//6484 +f 6180//6583 6179//6486 6049//6485 +f 6050//6582 6180//6583 6049//6485 +f 6309//6584 6308//6487 6179//6486 +f 6180//6583 6309//6584 6179//6486 +f 6436//6585 6435//6488 6308//6487 +f 6309//6584 6436//6585 6308//6487 +f 6562//6586 6561//6489 6435//6488 +f 6436//6585 6562//6586 6435//6488 +f 6687//6587 6686//6490 6561//6489 +f 6562//6586 6687//6587 6561//6489 +f 6814//6588 6813//6491 6686//6490 +f 6687//6587 6814//6588 6686//6490 +f 6665//6589 6639//6492 6813//6491 +f 6814//6588 6665//6589 6813//6491 +f 6665//6589 1840//6590 664//6493 +f 6639//6492 6665//6589 664//6493 +f 1840//6590 4236//6591 4369//6494 +f 664//6493 1840//6590 4369//6494 +f 13597//6592 35823//2621 8671//2752 +f 25381//6593 25438//6594 24715//6595 +f 6754//6382 6755//5963 2126//6502 +f 23034//6596 22935//6597 20702//1594 +f 4912//4876 4913//4177 5047//5678 +f 5183//4180 5317//4356 5316//5959 +f 5969//4669 5968//6598 5836//6124 +f 4090//4381 4091//3442 4223//6599 +f 5303//4387 5304//6127 5438//4218 +f 5170//5420 5304//6127 5303//4387 +f 1390//6384 1491//5389 3166//6116 +f 314//3307 424//3306 423//4848 +f 29640//6600 29773//6601 29772//6602 +f 3025//4527 3449//4528 3170//6117 +f 24451//6603 24445//6604 30632//6605 +f 26572//6606 26677//6607 26676//6608 +f 4753//4042 4888//6609 4887//4719 +f 30990//6610 31051//6611 30989//6612 +f 8478//6613 9662//6614 6633//6615 +f 924//6616 1043//6617 1042//4486 +f 3010//5285 3011//5679 3151//5385 +f 4899//4851 4900//4035 5034//4028 +f 4358//6011 4359//5151 4492//5153 +f 2121//4403 2126//6502 433//4404 +f 6629//6383 6754//6382 6753//6618 +f 6260//3277 3442//4522 785//3278 +f 4760//6014 4761//6619 4895//5110 +f 6754//6382 2126//6502 2121//4403 +f 3957//5117 3956//4382 3824//6620 +f 2069//5850 2198//5987 2197//5988 +f 14201//6621 14202//3519 14299//3521 +f 649//4884 650//5979 767//4878 +f 21863//3405 22267//6622 15730//3406 +f 2087//5138 2216//4666 6122//5849 +f 3166//6116 3025//4527 3170//6117 +f 4625//6121 4626//6013 4759//2877 +f 6102//4668 6103//5012 6232//4829 +f 896//4397 1015//3669 895//4704 +f 659//5139 777//4399 658//5140 +f 2197//5988 2329//3629 2196//5261 +f 1748//6110 1747//3464 1630//3625 +f 3167//3091 3166//6116 3169//5288 +f 5181//5573 5182//5833 5315//5547 +f 796//5029 4795//6521 9989//6623 +f 4795//6521 293//6414 6125//6413 +f 1522//6624 294//6522 796//5029 +f 294//6522 1522//6624 322//6523 +f 5866//6625 809//6626 6135//6416 +f 322//6523 5866//6625 6135//6416 +f 809//6626 6791//271 3343//6526 +f 6135//6416 809//6626 3343//6526 +f 8798//6627 35890//6628 35617//3487 +f 15561//561 19862//6629 2985//6630 +f 7468//3325 11550//6422 13974//6631 +f 12405//6632 12406//6527 12494//5872 +f 28469//4296 29157//6633 17314//4297 +f 12846//6634 12060//6280 13021//3324 +f 20782//3912 20702//1594 20783//1596 +f 5021//4720 5022//4554 5156//4555 +f 6739//6128 1152//2685 952//2684 +f 13884//5155 12124//3465 11882//6635 +f 3430//3817 3563//4018 3429//2898 +f 1132//2492 1131//2490 1013//4221 +f 29145//4495 29282//6636 26520//6637 +f 264//6638 373//6536 7431//6639 +f 6486//3836 6612//5137 6485//6392 +f 375//6640 489//6641 488//6535 +f 374//6534 375//6640 488//6535 +f 489//6641 604//6642 603//6537 +f 488//6535 489//6641 603//6537 +f 604//6642 722//6643 721//6538 +f 603//6537 604//6642 721//6538 +f 722//6643 841//6644 840//6539 +f 721//6538 722//6643 840//6539 +f 960//6645 959//6540 840//6539 +f 841//6644 960//6645 840//6539 +f 1078//6646 1077//6541 959//6540 +f 960//6645 1078//6646 959//6540 +f 1194//6647 1193//6542 1077//6541 +f 1078//6646 1194//6647 1077//6541 +f 1310//6648 1194//6647 18469//6649 +f 28687//5745 28819//6298 28818//6650 +f 577//621 2250//4904 2393//1002 +f 2528//5038 15835//4902 15800//1004 +f 16752//1315 16753//908 16911//1638 +f 2393//1002 2528//5038 15800//1004 +f 1735//994 6516//995 2658//2786 +f 17075//758 17074//1788 16911//1638 +f 1735//994 4770//2583 5889//2410 +f 5890//1107 1735//994 5889//2410 +f 1270//1109 5619//1108 3853//2242 +f 5619//1108 5890//1107 5889//2410 +f 16546//2060 1895//2061 2265//1162 +f 3748//2243 5619//1108 5889//2410 +f 17236//1238 17235//3002 17071//2787 +f 4675//1027 16546//2060 2265//1162 +f 6141//1625 4535//3205 2258//1626 +f 17072//1243 17236//1238 17071//2787 +f 16816//6457 16817//6456 16980//6553 +f 15496//2584 14956//2585 14955//1722 +f 241//6651 698//1627 15058//3587 +f 16981//408 17147//410 17146//6652 +f 4400//6554 241//6651 2661//3410 +f 14954//1721 16555//1562 16551//3404 +f 16905//2253 17068//2083 16904//3774 +f 4536//3221 4400//6554 2661//3410 +f 17297//1696 19096//6653 2257//1697 +f 17232//2084 17231//6654 17067//2085 +f 2961//6655 3102//6656 3101//6558 +f 2960//6557 2961//6655 3101//6558 +f 3102//6656 3242//6657 3241//6561 +f 3101//6558 3102//6656 3241//6561 +f 3381//6658 3380//6562 3241//6561 +f 3242//6657 3381//6658 3241//6561 +f 3514//6659 3513//6563 3380//6562 +f 3381//6658 3514//6659 3380//6562 +f 3644//6660 3643//6564 3513//6563 +f 3514//6659 3644//6660 3513//6563 +f 3776//6661 3775//6565 3643//6564 +f 3644//6660 3776//6661 3643//6564 +f 3908//6662 3907//6566 3775//6565 +f 3776//6661 3908//6662 3775//6565 +f 4042//6663 4041//6567 3907//6566 +f 3908//6662 4042//6663 3907//6566 +f 4175//6664 4174//6568 4041//6567 +f 4042//6663 4175//6664 4041//6567 +f 4308//6665 4307//6569 4174//6568 +f 4175//6664 4308//6665 4174//6568 +f 4442//6666 4441//6570 4307//6569 +f 4308//6665 4442//6666 4307//6569 +f 4442//6666 4576//6667 4575//6571 +f 4441//6570 4442//6666 4575//6571 +f 4576//6667 4710//6668 4709//6572 +f 4575//6571 4576//6667 4709//6572 +f 4710//6668 4845//6669 4844//6573 +f 4709//6572 4710//6668 4844//6573 +f 4980//6670 4979//6574 4844//6573 +f 4845//6669 4980//6670 4844//6573 +f 5115//6671 5114//6575 4979//6574 +f 4980//6670 5115//6671 4979//6574 +f 5115//6671 5249//6672 5248//6576 +f 5114//6575 5115//6671 5248//6576 +f 5249//6672 5384//6673 5383//6577 +f 5248//6576 5249//6672 5383//6577 +f 5384//6673 5518//6674 5517//6578 +f 5383//6577 5384//6673 5517//6578 +f 5518//6674 5653//6675 5652//6579 +f 5517//6578 5518//6674 5652//6579 +f 5653//6675 5787//6676 5786//6580 +f 5652//6579 5653//6675 5786//6580 +f 5919//6677 5918//6581 5786//6580 +f 5787//6676 5919//6677 5786//6580 +f 6051//6678 6050//6582 5918//6581 +f 5919//6677 6051//6678 5918//6581 +f 6181//6679 6180//6583 6050//6582 +f 6051//6678 6181//6679 6050//6582 +f 6310//6680 6309//6584 6180//6583 +f 6181//6679 6310//6680 6180//6583 +f 6437//6681 6436//6585 6309//6584 +f 6310//6680 6437//6681 6309//6584 +f 6563//6682 6562//6586 6436//6585 +f 6437//6681 6563//6682 6436//6585 +f 6563//6682 6688//6683 6687//6587 +f 6562//6586 6563//6682 6687//6587 +f 6688//6683 6815//6684 6814//6588 +f 6687//6587 6688//6683 6814//6588 +f 6815//6684 6666//6685 6665//6589 +f 6814//6588 6815//6684 6665//6589 +f 4653//6686 1840//6590 6665//6589 +f 6666//6685 4653//6686 6665//6589 +f 4653//6686 4370//6687 4236//6591 +f 1840//6590 4653//6686 4236//6591 +f 12142//6688 12204//6689 11975//6690 +f 14483//6691 13696//6692 24093//6693 +f 35945//6694 35843//6695 35383//6696 +f 35927//6114 35582//6446 35457//6115 +f 6115//5973 6116//6697 6245//6698 +f 35535//6699 35946//6700 35483//6701 +f 5703//4890 5837//4966 5702//6123 +f 4091//3442 4224//3444 4223//6599 +f 6229//4670 6230//5253 6358//4671 +f 6230//5253 6359//5256 6358//4671 +f 805//6702 924//6616 923//4359 +f 6359//5256 6486//3836 6358//4671 +f 35531//3033 35572//6703 35706//6704 +f 26571//6705 26572//6606 26676//6608 +f 5029//5111 5030//4976 5164//4836 +f 12142//6688 7548//6706 11791//6707 +f 15204//6708 10483//6709 12961//6710 +f 2602//2500 2737//4009 2601//3445 +f 35784//184 35643//183 35438//6711 +f 29417//6712 35685//3617 35883//3619 +f 6480//4676 6481//6713 6606//4677 +f 5029//5111 5164//4836 5163//4835 +f 769//4659 770//4894 888//4203 +f 4625//6121 4759//2877 4758//2876 +f 2514//5536 2515//4664 2649//3107 +f 3825//5984 3957//5117 3824//6620 +f 6090//6714 8132//6715 6091//5819 +f 3971//6716 3839//6405 462//2847 +f 6612//5137 6737//3839 6736//6131 +f 923//4359 924//6616 1042//4486 +f 2331//4509 2332//6717 2465//4681 +f 6736//6131 6737//3839 930//6132 +f 2459//4044 2594//3855 2593//3854 +f 6231//5255 6232//4829 6360//4831 +f 3571//5525 4384//6718 2744//6719 +f 1240//4962 1356//5537 1355//5413 +f 218//3090 1390//6384 3167//3091 +f 34695//6720 34694//6721 34566//6722 +f 1236//4688 1237//4687 1352//3859 +f 5311//5868 5446//5949 5445//5661 +f 12325//6723 12411//6724 12324//6725 +f 5569//4889 5568//4888 5275//2772 +f 323//6726 6004//6727 809//6626 +f 1401//4498 1518//6257 1517//5308 +f 6004//6727 4636//6728 6791//271 +f 809//6626 6004//6727 6791//271 +f 4636//6728 3981//6729 2888//272 +f 6791//271 4636//6728 2888//272 +f 2092//3712 5724//3711 161//1864 +f 35533//1931 35610//1438 35484//1437 +f 11880//6730 12060//6280 12846//6634 +f 11793//6731 7800//6732 11794//6733 +f 22814//1744 22913//6734 22912//6735 +f 10483//6709 14832//6736 22837//6737 +f 5574//3052 5709//3172 5573//3053 +f 3699//4887 3831//3944 3698//3943 +f 665//4534 3971//6716 462//2847 +f 3439//6404 2884//6248 3300//4520 +f 35116//6738 22323//4654 22325//6739 +f 5170//5420 5171//4235 5304//6127 +f 265//6740 375//6640 374//6534 +f 6100//5251 6230//5253 6229//4670 +f 376//6741 490//6742 489//6641 +f 375//6640 376//6741 489//6641 +f 605//6743 604//6642 489//6641 +f 490//6742 605//6743 489//6641 +f 723//6744 722//6643 604//6642 +f 605//6743 723//6744 604//6642 +f 723//6744 842//6745 841//6644 +f 722//6643 723//6744 841//6644 +f 961//6746 960//6645 841//6644 +f 842//6745 961//6746 841//6644 +f 1079//6747 1078//6646 960//6645 +f 961//6746 1079//6747 960//6645 +f 19795//6748 21608//4770 26242//6749 +f 1079//6747 1195//6750 1078//6646 +f 3933//1111 4331//2105 17238//1948 +f 17239//1005 3933//1111 17238//1948 +f 16912//540 17075//758 16911//1638 +f 17239//1005 17238//1948 17074//1788 +f 15180//2409 1925//2241 2283//1026 +f 17075//758 17239//1005 17074//1788 +f 827//1105 1766//2785 16627//1031 +f 16786//2582 15180//2409 15307//1033 +f 15307//1033 15180//2409 2283//1026 +f 16627//1031 16786//2582 15307//1033 +f 1895//2061 16244//2107 1770//1170 +f 1925//2241 16546//2060 4675//1027 +f 4333//552 4466//3206 17235//3002 +f 2265//1162 1895//2061 1770//1170 +f 2347//3582 3168//3204 5462//1622 +f 17236//1238 4333//552 17235//3002 +f 16980//6553 16981//408 17146//6652 +f 2392//3001 15496//2584 15373//1727 +f 4400//6554 6270//1623 241//6651 +f 17147//410 4603//549 5493//6751 +f 2552//6752 2687//6753 2686//6754 +f 15310//1726 14954//1721 14953//3589 +f 34429//6755 34428//6756 34290//6757 +f 14056//2040 17480//6758 14055//6759 +f 14041//6760 30092//6761 30224//6762 +f 6994//6763 13981//6764 13980//6765 +f 2823//6766 2962//6767 2961//6655 +f 14040//6768 30224//6762 14138//6769 +f 2962//6767 3103//6770 3102//6656 +f 2961//6655 2962//6767 3102//6656 +f 3103//6770 3243//6771 3242//6657 +f 3102//6656 3103//6770 3242//6657 +f 3243//6771 3382//6772 3381//6658 +f 3242//6657 3243//6771 3381//6658 +f 3515//6773 3514//6659 3381//6658 +f 3382//6772 3515//6773 3381//6658 +f 3645//6774 3644//6660 3514//6659 +f 3515//6773 3645//6774 3514//6659 +f 3777//6775 3776//6661 3644//6660 +f 3645//6774 3777//6775 3644//6660 +f 3909//6776 3908//6662 3776//6661 +f 3777//6775 3909//6776 3776//6661 +f 4043//6777 4042//6663 3908//6662 +f 3909//6776 4043//6777 3908//6662 +f 4176//6778 4175//6664 4042//6663 +f 4043//6777 4176//6778 4042//6663 +f 4309//6779 4308//6665 4175//6664 +f 4176//6778 4309//6779 4175//6664 +f 4443//6780 4442//6666 4308//6665 +f 4309//6779 4443//6780 4308//6665 +f 4443//6780 4577//6781 4576//6667 +f 4442//6666 4443//6780 4576//6667 +f 4577//6781 4711//6782 4710//6668 +f 4576//6667 4577//6781 4710//6668 +f 4711//6782 4846//6783 4845//6669 +f 4710//6668 4711//6782 4845//6669 +f 4981//6784 4980//6670 4845//6669 +f 4846//6783 4981//6784 4845//6669 +f 5116//6785 5115//6671 4980//6670 +f 4981//6784 5116//6785 4980//6670 +f 5116//6785 5250//6786 5249//6672 +f 5115//6671 5116//6785 5249//6672 +f 5250//6786 5385//6787 5384//6673 +f 5249//6672 5250//6786 5384//6673 +f 5385//6787 5519//6788 5518//6674 +f 5384//6673 5385//6787 5518//6674 +f 5519//6788 5654//6789 5653//6675 +f 5518//6674 5519//6788 5653//6675 +f 5788//6790 5787//6676 5653//6675 +f 5654//6789 5788//6790 5653//6675 +f 5920//6791 5919//6677 5787//6676 +f 5788//6790 5920//6791 5787//6676 +f 6052//6792 6051//6678 5919//6677 +f 5920//6791 6052//6792 5919//6677 +f 6182//6793 6181//6679 6051//6678 +f 6052//6792 6182//6793 6051//6678 +f 6311//6794 6310//6680 6181//6679 +f 6182//6793 6311//6794 6181//6679 +f 6311//6794 6438//6795 6437//6681 +f 6310//6680 6311//6794 6437//6681 +f 6438//6795 6564//6796 6563//6682 +f 6437//6681 6438//6795 6563//6682 +f 6564//6796 6689//6797 6688//6683 +f 6563//6682 6564//6796 6688//6683 +f 6689//6797 6816//6798 6815//6684 +f 6688//6683 6689//6797 6815//6684 +f 6816//6798 6763//6799 6666//6685 +f 6815//6684 6816//6798 6666//6685 +f 1839//6800 4653//6686 6666//6685 +f 6763//6799 1839//6800 6666//6685 +f 4371//6801 4370//6687 4653//6686 +f 1839//6800 4371//6801 4653//6686 +f 2753//6802 2752//6276 4370//6687 +f 4371//6801 2753//6802 4370//6687 +f 3850//4558 3982//6277 2752//6276 +f 2753//6802 3850//4558 2752//6276 +f 3850//4558 2226//4557 2225//6803 +f 3982//6277 3850//4558 2225//6803 +f 7388//6804 7276//6805 7277//6806 +f 35552//4385 35675//2912 35833//2750 +f 35941//3803 35643//183 35832//182 +f 6486//3836 6485//6392 6358//4671 +f 6244//5972 6373//6807 6372//5958 +f 33549//6808 33550//6809 804//4358 +f 1946//5941 1945//6810 1825//6811 +f 2884//6248 2883//4521 3300//4520 +f 6366//3359 6493//6812 6492//3087 +f 7998//2670 14171//3458 13982//2671 +f 1826//6813 1946//5941 1825//6811 +f 5588//6814 5455//4241 2884//6248 +f 5304//6127 5439//5533 5438//4218 +f 35818//2090 35665//6815 35632//6816 +f 35622//1164 35692//6817 35756//1165 +f 35663//2550 35503//2549 35790//6818 +f 1518//6257 1633//5156 1517//5308 +f 5165//4977 5299//677 5298//679 +f 6113//5955 6114//5838 6243//5957 +f 1043//6617 1161//6819 1160//4488 +f 1042//4486 1043//6617 1160//4488 +f 6737//3839 935//4984 930//6132 +f 6612//5137 6611//5669 6485//6392 +f 4228//4195 4227//4194 4094//6820 +f 2619//5260 2219//6821 2218//3295 +f 7464//6822 10479//6823 5586//6824 +f 35445//5014 26404//6825 27024//6826 +f 6503//6827 6504//6118 6629//6383 +f 6504//6118 6630//5961 6629//6383 +f 3285//5815 3424//3645 3284//5659 +f 1820//3651 1940//3650 1939//4223 +f 1585//4051 1702//4052 1584//4239 +f 1819//4050 1818//4224 1701//5518 +f 8349//6828 5997//6829 323//6726 +f 10757//6830 323//6726 5866//6625 +f 5873//6831 6546//6832 4636//6728 +f 6004//6727 5873//6831 4636//6728 +f 6546//6832 162//6833 3981//6729 +f 4636//6728 6546//6832 3981//6729 +f 1881//2375 90//1609 4413//1759 +f 162//6833 1410//562 3981//6729 +f 12060//6280 13115//6282 13021//3324 +f 12242//6834 12327//6835 12241//6836 +f 11957//6837 22939//6838 14832//6736 +f 35528//6839 35353//5847 35400//5848 +f 22638//6840 22831//2039 22837//6737 +f 3300//4520 3442//4522 6260//3277 +f 1752//6841 1751//6260 1634//6258 +f 6243//5957 6244//5972 6372//5958 +f 6499//6109 6500//6842 6625//5954 +f 3157//2977 9807//6843 3297//6844 +f 2217//3296 5992//3489 5991//6845 +f 375//6640 265//6740 266//6846 +f 6099//4371 6100//5251 6229//4670 +f 14563//6847 35862//6848 35714//6849 +f 376//6741 377//6850 490//6742 +f 491//6851 606//6852 605//6743 +f 490//6742 491//6851 605//6743 +f 724//6853 723//6744 605//6743 +f 606//6852 724//6853 605//6743 +f 843//6854 842//6745 723//6744 +f 724//6853 843//6854 723//6744 +f 962//6855 961//6746 842//6745 +f 843//6854 962//6855 842//6745 +f 1080//6856 1079//6747 961//6746 +f 962//6855 1080//6856 961//6746 +f 1196//6857 1195//6750 1079//6747 +f 1080//6856 1196//6857 1079//6747 +f 1313//6858 1428//6859 1312//6860 +f 35428//3511 35351//6861 35660//3512 +f 2711//1681 15909//1637 15359//1674 +f 7511//6862 6377//6863 6376//6864 +f 15197//1306 10217//6865 21880//1307 +f 5470//6866 2132//6867 3178//6868 +f 225//3583 1034//702 4011//3768 +f 16751//1308 16750//2415 16595//2248 +f 1569//551 1034//702 1685//3400 +f 1034//702 3878//704 4011//3768 +f 1569//551 1685//3400 4466//3206 +f 4333//552 1569//551 4466//3206 +f 5327//1624 2347//3582 5462//1622 +f 1034//702 225//3583 1685//3400 +f 17146//6652 17147//410 5493//6751 +f 3168//3204 4535//3205 6141//1625 +f 2612//1621 6270//1623 4400//6554 +f 4603//549 3400//402 3399//3584 +f 241//6651 15058//3587 15054//3411 +f 698//1627 15310//1726 15058//3587 +f 13525//6869 35809//6870 1972//2805 +f 19482//6871 2417//5173 2552//6752 +f 35387//6872 35702//4975 35910//6873 +f 3269//6874 18712//6875 19859//6876 +f 2688//6877 2824//6878 2823//6766 +f 2687//6753 2688//6877 2823//6766 +f 2824//6878 2963//6879 2962//6767 +f 2823//6766 2824//6878 2962//6767 +f 2963//6879 3104//6880 3103//6770 +f 2962//6767 2963//6879 3103//6770 +f 3104//6880 3244//6881 3243//6771 +f 3103//6770 3104//6880 3243//6771 +f 3244//6881 3383//6882 3382//6772 +f 3243//6771 3244//6881 3382//6772 +f 3383//6882 3516//6883 3515//6773 +f 3382//6772 3383//6882 3515//6773 +f 3516//6883 3646//6884 3645//6774 +f 3515//6773 3516//6883 3645//6774 +f 3778//6885 3777//6775 3645//6774 +f 3646//6884 3778//6885 3645//6774 +f 3910//6886 3909//6776 3777//6775 +f 3778//6885 3910//6886 3777//6775 +f 4044//6887 4043//6777 3909//6776 +f 3910//6886 4044//6887 3909//6776 +f 4177//6888 4176//6778 4043//6777 +f 4044//6887 4177//6888 4043//6777 +f 4310//6889 4309//6779 4176//6778 +f 4177//6888 4310//6889 4176//6778 +f 4444//6890 4443//6780 4309//6779 +f 4310//6889 4444//6890 4309//6779 +f 4444//6890 4578//6891 4577//6781 +f 4443//6780 4444//6890 4577//6781 +f 4578//6891 4712//6892 4711//6782 +f 4577//6781 4578//6891 4711//6782 +f 4847//6893 4846//6783 4711//6782 +f 4712//6892 4847//6893 4711//6782 +f 4982//6894 4981//6784 4846//6783 +f 4847//6893 4982//6894 4846//6783 +f 4982//6894 5117//6895 5116//6785 +f 4981//6784 4982//6894 5116//6785 +f 5117//6895 5251//6896 5250//6786 +f 5116//6785 5117//6895 5250//6786 +f 5386//6897 5385//6787 5250//6786 +f 5251//6896 5386//6897 5250//6786 +f 5386//6897 5520//6898 5519//6788 +f 5385//6787 5386//6897 5519//6788 +f 5655//6899 5654//6789 5519//6788 +f 5520//6898 5655//6899 5519//6788 +f 5789//6900 5788//6790 5654//6789 +f 5655//6899 5789//6900 5654//6789 +f 5789//6900 5921//6901 5920//6791 +f 5788//6790 5789//6900 5920//6791 +f 6053//6902 6052//6792 5920//6791 +f 5921//6901 6053//6902 5920//6791 +f 6183//6903 6182//6793 6052//6792 +f 6053//6902 6183//6903 6052//6792 +f 6183//6903 6312//6904 6311//6794 +f 6182//6793 6183//6903 6311//6794 +f 6312//6904 6439//6905 6438//6795 +f 6311//6794 6312//6904 6438//6795 +f 6439//6905 6565//6906 6564//6796 +f 6438//6795 6439//6905 6564//6796 +f 6565//6906 6690//6907 6689//6797 +f 6564//6796 6565//6906 6689//6797 +f 6690//6907 6817//6908 6816//6798 +f 6689//6797 6690//6907 6816//6798 +f 6772//6909 6763//6799 6816//6798 +f 6817//6908 6772//6909 6816//6798 +f 1375//6910 1839//6800 6763//6799 +f 6772//6909 1375//6910 6763//6799 +f 4237//6911 4371//6801 1839//6800 +f 1375//6910 4237//6911 1839//6800 +f 2754//6912 2753//6802 4371//6801 +f 4237//6911 2754//6912 4371//6801 +f 3588//4559 3850//4558 2753//6802 +f 2754//6912 3588//4559 2753//6802 +f 34755//1264 29811//1263 21740//2628 +f 35821//6913 35886//1949 35735//6914 +f 11966//2711 4923//6915 13776//4094 +f 16396//712 16698//840 2232//6916 +f 11662//5855 11661//4502 11586//6917 +f 11584//6918 11659//6919 11583//3121 +f 2879//6920 9655//6108 9341//6107 +f 898//6921 778//6922 779//3082 +f 1752//6841 1869//6923 1868//6261 +f 1751//6260 1752//6841 1868//6261 +f 1869//6923 1989//6924 1988//6262 +f 1868//6261 1869//6923 1988//6262 +f 2114//6925 2113//6283 1988//6262 +f 1989//6924 2114//6925 1988//6262 +f 2243//6926 2242//6393 2113//6283 +f 6373//6807 6500//6842 6499//6109 +f 6500//6842 6626//6927 6625//5954 +f 1161//6819 1277//2895 1276//2897 +f 1160//4488 1161//6819 1276//2897 +f 6611//5669 6612//5137 6736//6131 +f 5835//6125 5836//6124 5967//4511 +f 2750//2682 3160//3627 4243//2889 +f 2200//4508 2201//2678 2332//6717 +f 4643//4872 4644//6928 4777//4874 +f 4913//4177 5048//4178 5047//5678 +f 4778//4176 4913//4177 4912//4876 +f 4777//4874 4778//4176 4912//4876 +f 5292//1460 5293//6929 16328//1461 +f 1592//4039 1591//5531 1475//2690 +f 884//3471 1003//3283 1002//3282 +f 4218//5277 4217//2901 4084//4394 +f 1708//5517 1825//6811 1824//4025 +f 1824//4025 1825//6811 1944//4026 +f 5739//6930 4502//6931 6546//6832 +f 6004//6727 5997//6829 5873//6831 +f 4502//6931 4500//6932 162//6833 +f 6546//6832 4502//6931 162//6833 +f 4500//6932 403//560 1410//562 +f 162//6833 4500//6932 1410//562 +f 7585//6933 10967//6934 7877//2987 +f 1878//6935 14476//441 14481//440 +f 23034//6596 22145//6936 23246//6937 +f 23211//6938 23309//6939 23210//6940 +f 12961//6710 10483//6709 22837//6737 +f 22517//6941 22616//1967 22516//1969 +f 2114//6925 2243//6926 2113//6283 +f 2375//6942 2374//6395 2242//6393 +f 6625//5954 6626//6927 6750//5951 +f 6372//5958 6373//6807 6499//6109 +f 9807//6843 3298//5025 3297//6844 +f 5963//6943 6095//6944 6094//4529 +f 5968//6598 6100//5251 6099//4371 +f 5967//4511 5968//6598 6099//4371 +f 21108//4236 21107//5304 21021//6945 +f 11140//6946 11216//6275 11268//6947 +f 492//6948 607//6949 606//6852 +f 7550//6950 491//6851 377//6850 +f 607//6949 725//6951 724//6853 +f 606//6852 607//6949 724//6853 +f 725//6951 844//6952 843//6854 +f 724//6853 725//6951 843//6854 +f 963//6953 962//6855 843//6854 +f 844//6952 963//6953 843//6854 +f 1081//6954 1080//6856 962//6855 +f 963//6953 1081//6954 962//6855 +f 1081//6954 1197//6955 1196//6857 +f 1080//6856 1081//6954 1196//6857 +f 1197//6955 1313//6858 1312//6860 +f 1196//6857 1197//6955 1312//6860 +f 1313//6858 1429//6956 1428//6859 +f 18566//6957 1428//6859 18663//6958 +f 1545//6959 1546//6960 1662//6961 +f 12474//4730 35911//4729 12385//3350 +f 4812//1765 225//3583 4112//1828 +f 4011//3768 5886//3581 3486//1771 +f 5886//3581 2347//3582 5327//1624 +f 4112//1828 4011//3768 3486//1771 +f 5462//1622 3168//3204 6141//1625 +f 3486//1771 5886//3581 5327//1624 +f 5493//6751 4603//549 3399//3584 +f 4535//3205 2392//3001 2258//1626 +f 1736//3585 2612//1621 4400//6554 +f 3400//402 4413//1759 4414//1608 +f 2661//3410 241//6651 15054//3411 +f 6270//1623 698//1627 241//6651 +f 16747//2821 16905//2253 16746//3590 +f 15058//3587 14953//3589 14947//3588 +f 28687//5745 28688//5744 28819//6298 +f 17068//2083 17067//2085 16904//3774 +f 2554//6962 2689//6963 2688//6877 +f 17890//6964 3130//6965 19859//6876 +f 2689//6963 2825//6966 2824//6878 +f 2688//6877 2689//6963 2824//6878 +f 2825//6966 2964//6967 2963//6879 +f 2824//6878 2825//6966 2963//6879 +f 2964//6967 3105//6968 3104//6880 +f 2963//6879 2964//6967 3104//6880 +f 3105//6968 3245//6969 3244//6881 +f 3104//6880 3105//6968 3244//6881 +f 3245//6969 3384//6970 3383//6882 +f 3244//6881 3245//6969 3383//6882 +f 3384//6970 3517//6971 3516//6883 +f 3383//6882 3384//6970 3516//6883 +f 3647//6972 3646//6884 3516//6883 +f 3517//6971 3647//6972 3516//6883 +f 3779//6973 3778//6885 3646//6884 +f 3647//6972 3779//6973 3646//6884 +f 3911//6974 3910//6886 3778//6885 +f 3779//6973 3911//6974 3778//6885 +f 4045//6975 4044//6887 3910//6886 +f 3911//6974 4045//6975 3910//6886 +f 4178//6976 4177//6888 4044//6887 +f 4045//6975 4178//6976 4044//6887 +f 4311//6977 4310//6889 4177//6888 +f 4178//6976 4311//6977 4177//6888 +f 4311//6977 4445//6978 4444//6890 +f 4310//6889 4311//6977 4444//6890 +f 4445//6978 4579//6979 4578//6891 +f 4444//6890 4445//6978 4578//6891 +f 4579//6979 4713//6980 4712//6892 +f 4578//6891 4579//6979 4712//6892 +f 4848//6981 4847//6893 4712//6892 +f 4713//6980 4848//6981 4712//6892 +f 4983//6982 4982//6894 4847//6893 +f 4848//6981 4983//6982 4847//6893 +f 4983//6982 5118//6983 5117//6895 +f 4982//6894 4983//6982 5117//6895 +f 5252//6984 5251//6896 5117//6895 +f 5118//6983 5252//6984 5117//6895 +f 5387//6985 5386//6897 5251//6896 +f 5252//6984 5387//6985 5251//6896 +f 5387//6985 5521//6986 5520//6898 +f 5386//6897 5387//6985 5520//6898 +f 5521//6986 5656//6987 5655//6899 +f 5520//6898 5521//6986 5655//6899 +f 5656//6987 5790//6988 5789//6900 +f 5655//6899 5656//6987 5789//6900 +f 5790//6988 5922//6989 5921//6901 +f 5789//6900 5790//6988 5921//6901 +f 5922//6989 6054//6990 6053//6902 +f 5921//6901 5922//6989 6053//6902 +f 6054//6990 6184//6991 6183//6903 +f 6053//6902 6054//6990 6183//6903 +f 6184//6991 6313//6992 6312//6904 +f 6183//6903 6184//6991 6312//6904 +f 6313//6992 6440//6993 6439//6905 +f 6312//6904 6313//6992 6439//6905 +f 6440//6993 6566//6994 6565//6906 +f 6439//6905 6440//6993 6565//6906 +f 6566//6994 6691//6995 6690//6907 +f 6565//6906 6566//6994 6690//6907 +f 6691//6995 6818//6996 6817//6908 +f 6690//6907 6691//6995 6817//6908 +f 6818//6996 6797//6997 6772//6909 +f 6817//6908 6818//6996 6772//6909 +f 1259//6998 1375//6910 6772//6909 +f 6797//6997 1259//6998 6772//6909 +f 3577//6999 4237//6911 1375//6910 +f 1259//6998 3577//6999 1375//6910 +f 2755//7000 2754//6912 4237//6911 +f 3577//6999 2755//7000 4237//6911 +f 3455//7001 3588//4559 2754//6912 +f 2755//7000 3455//7001 2754//6912 +f 3455//7001 5592//7002 5459//7003 +f 3455//7001 5459//7003 3588//4559 +f 14112//7004 14113//7005 14208//7006 +f 14209//7007 14307//7008 14306//7009 +f 12501//7010 12591//7011 12500//6386 +f 14208//7006 14209//7007 14306//7009 +f 35625//7012 35810//7013 35536//7014 +f 14109//7015 14110//7016 14205//7017 +f 1001//3059 1002//3282 1119//5134 +f 2243//6926 2375//6942 2242//6393 +f 2509//7018 2508//6396 2374//6395 +f 2375//6942 2509//7018 2374//6395 +f 2644//7019 2643//6399 2508//6396 +f 2509//7018 2644//7019 2508//6396 +f 35650//7020 35808//3503 35554//3505 +f 3969//7021 2747//7022 2745//4710 +f 2644//7019 2779//3722 2643//6399 +f 3286//5814 3425//4718 3424//3645 +f 3701//4708 3969//7021 2745//4710 +f 4224//3444 4357//6241 4223//6599 +f 2096//3656 2095//4846 1958//4228 +f 2201//2678 2333//2496 2332//6717 +f 4357//6241 4356//6240 4223//6599 +f 5834//4515 5835//6125 5966//4516 +f 4415//2579 5190//7023 42//7024 +f 4509//4871 4510//7025 4643//4872 +f 4644//6928 4778//4176 4777//4874 +f 3060//2924 4390//3129 9517//5010 +f 4898//3369 5033//3432 5032//3370 +f 1956//4240 2097//3655 1957//3657 +f 1124//4963 1240//4962 1239//5279 +f 4131//4988 1153//4845 2096//3656 +f 22715//1743 22714//1876 22615//1968 +f 9801//7026 810//7027 5739//6930 +f 5873//6831 5739//6930 6546//6832 +f 4503//7028 163//7029 4500//6932 +f 4502//6931 4503//7028 4500//6932 +f 163//7029 402//7030 403//560 +f 4500//6932 163//7029 403//560 +f 3333//7031 14476//441 2251//7032 +f 402//7030 95//7033 403//560 +f 30823//7034 17388//7035 19521//7036 +f 13911//3355 13912//7037 14009//7038 +f 20625//7039 20706//2028 20705//2027 +f 14066//7040 8343//7041 10386//7042 +f 20787//2029 20788//7043 18450//7044 +f 35718//2803 35893//2802 35359//7045 +f 7991//7046 7990//7047 11981//7048 +f 2747//7022 2341//7049 2340//4711 +f 4800//7050 3969//7021 3701//4708 +f 7106//7051 7105//7052 17370//7053 +f 3819//2979 3818//5665 3686//2869 +f 35388//4417 35621//1439 35858//7054 +f 35703//4775 35789//7055 35450//4776 +f 379//7056 493//7057 492//6948 +f 491//6851 492//6948 606//6852 +f 493//7057 608//7058 607//6949 +f 492//6948 493//7057 607//6949 +f 608//7058 726//7059 725//6951 +f 607//6949 608//7058 725//6951 +f 726//7059 845//7060 844//6952 +f 725//6951 726//7059 844//6952 +f 964//7061 963//6953 844//6952 +f 845//7060 964//7061 844//6952 +f 1082//7062 1081//6954 963//6953 +f 964//7061 1082//7062 963//6953 +f 1082//7062 1198//7063 1197//6955 +f 1081//6954 1082//7062 1197//6955 +f 1198//7063 1314//7064 1313//6858 +f 1197//6955 1198//7063 1313//6858 +f 1314//7064 1430//7065 1429//6956 +f 1313//6858 1314//7064 1429//6956 +f 1430//7065 1546//6960 1545//6959 +f 1429//6956 1430//7065 1545//6959 +f 1546//6960 1663//7066 1662//6961 +f 915//7067 14539//7068 914//6166 +f 1663//7066 1780//7069 1779//7070 +f 1779//7070 1780//7069 1899//7071 +f 1780//7069 1900//7072 1899//7071 +f 26847//4200 11598//7073 11674//4201 +f 1900//7072 2025//7074 2024//3235 +f 2025//7074 2153//3233 2024//3235 +f 2025//7074 2154//7075 2153//3233 +f 2285//7076 2153//3233 2154//7075 +f 2154//7075 2286//7077 2285//7076 +f 2285//7076 2419//7078 19375//7079 +f 2286//7077 2420//7080 2419//7078 +f 2419//7078 19484//7081 19375//7079 +f 2420//7080 2555//7082 2554//6962 +f 2419//7078 2420//7080 2554//6962 +f 2555//7082 2690//7083 2689//6963 +f 2554//6962 2555//7082 2689//6963 +f 2690//7083 2826//7084 2825//6966 +f 2689//6963 2690//7083 2825//6966 +f 2965//7085 2964//6967 2825//6966 +f 2826//7084 2965//7085 2825//6966 +f 3106//7086 3105//6968 2964//6967 +f 2965//7085 3106//7086 2964//6967 +f 3106//7086 3246//7087 3245//6969 +f 3105//6968 3106//7086 3245//6969 +f 3246//7087 3385//7088 3384//6970 +f 3245//6969 3246//7087 3384//6970 +f 3385//7088 3518//7089 3517//6971 +f 3384//6970 3385//7088 3517//6971 +f 3648//7090 3647//6972 3517//6971 +f 3518//7089 3648//7090 3517//6971 +f 3780//7091 3779//6973 3647//6972 +f 3648//7090 3780//7091 3647//6972 +f 3780//7091 3912//7092 3911//6974 +f 3779//6973 3780//7091 3911//6974 +f 4046//7093 4045//6975 3911//6974 +f 3912//7092 4046//7093 3911//6974 +f 4179//7094 4178//6976 4045//6975 +f 4046//7093 4179//7094 4045//6975 +f 4312//7095 4311//6977 4178//6976 +f 4179//7094 4312//7095 4178//6976 +f 4312//7095 4446//7096 4445//6978 +f 4311//6977 4312//7095 4445//6978 +f 4446//7096 4580//7097 4579//6979 +f 4445//6978 4446//7096 4579//6979 +f 4714//7098 4713//6980 4579//6979 +f 4580//7097 4714//7098 4579//6979 +f 4849//7099 4848//6981 4713//6980 +f 4714//7098 4849//7099 4713//6980 +f 4849//7099 4984//7100 4983//6982 +f 4848//6981 4849//7099 4983//6982 +f 4984//7100 5119//7101 5118//6983 +f 4983//6982 4984//7100 5118//6983 +f 5253//7102 5252//6984 5118//6983 +f 5119//7101 5253//7102 5118//6983 +f 5388//7103 5387//6985 5252//6984 +f 5253//7102 5388//7103 5252//6984 +f 5388//7103 5522//7104 5521//6986 +f 5387//6985 5388//7103 5521//6986 +f 5522//7104 5657//7105 5656//6987 +f 5521//6986 5522//7104 5656//6987 +f 5657//7105 5791//7106 5790//6988 +f 5656//6987 5657//7105 5790//6988 +f 5791//7106 5923//7107 5922//6989 +f 5790//6988 5791//7106 5922//6989 +f 5923//7107 6055//7108 6054//6990 +f 5922//6989 5923//7107 6054//6990 +f 6055//7108 6185//7109 6184//6991 +f 6054//6990 6055//7108 6184//6991 +f 6185//7109 6314//7110 6313//6992 +f 6184//6991 6185//7109 6313//6992 +f 6314//7110 6441//7111 6440//6993 +f 6313//6992 6314//7110 6440//6993 +f 6441//7111 6567//7112 6566//6994 +f 6440//6993 6441//7111 6566//6994 +f 6567//7112 6692//7113 6691//6995 +f 6566//6994 6567//7112 6691//6995 +f 6692//7113 6819//7114 6818//6996 +f 6691//6995 6692//7113 6818//6996 +f 6819//7114 3996//7115 6797//6997 +f 6818//6996 6819//7114 6797//6997 +f 1376//7116 1259//6998 6797//6997 +f 3996//7115 1376//7116 6797//6997 +f 4238//7117 3577//6999 1259//6998 +f 1376//7116 4238//7117 1259//6998 +f 2892//7118 2755//7000 3577//6999 +f 4238//7117 2892//7118 3577//6999 +f 3718//7119 3455//7001 2755//7000 +f 2892//7118 3718//7119 2755//7000 +f 15659//7120 17155//7121 5459//7003 +f 3718//7119 5592//7002 3455//7001 +f 14014//7122 14015//7123 14112//7004 +f 14113//7005 14209//7007 14208//7006 +f 31598//7124 31597//7125 31510//7126 +f 11858//3522 35617//3487 10489//1597 +f 15464//7127 20156//7128 1624//7129 +f 12798//7130 12890//7131 12797//7132 +f 3144//4058 3284//5659 3283//5254 +f 12509//7133 12508//7134 12419//7135 +f 2793//5131 13333//5303 13891//7136 +f 9978//4813 129//4900 7672//5844 +f 2253//7137 12045//7138 11881//7139 +f 4516//4990 2793//5131 39//5712 +f 39//5712 2793//5131 13891//7136 +f 20710//2049 20709//2048 20628//7140 +f 6626//6927 6751//7141 6750//5951 +f 2011//7142 4800//7050 4264//5677 +f 35865//3724 35682//3726 35464//7143 +f 24525//7144 13624//7145 13623//4175 +f 5836//6124 5968//6598 5967//4511 +f 5837//4966 5836//6124 5702//6123 +f 5835//6125 5967//4511 5966//4516 +f 21022//7146 21108//4236 21021//6945 +f 2460//5816 2461//4823 2595//5835 +f 4510//7025 4644//6928 4643//4872 +f 35887//7147 35719//7148 35566//7149 +f 24959//7150 26577//7151 26681//7152 +f 462//2847 3839//6405 458//2848 +f 2465//4681 2600//5128 2464//3451 +f 20792//1434 20874//228 20873//1435 +f 2883//4521 5320//4242 2882//4519 +f 889//4204 890//3299 1008//2882 +f 1009//2883 1127//2666 1126//2675 +f 7804//7153 810//7027 10750//7154 +f 28071//7155 35842//7156 30423//3310 +f 6001//7157 1055//7158 402//7030 +f 163//7029 6001//7157 402//7030 +f 1055//7158 2251//7032 95//7033 +f 402//7030 1055//7158 95//7033 +f 14108//7159 14204//7160 14203//7161 +f 3333//7031 813//7162 707//169 +f 16015//7163 23413//7164 21874//7165 +f 11890//2224 11725//2226 9234//7166 +f 23050//6501 23344//6500 22750//6529 +f 26937//7167 20181//7168 24827//7169 +f 35498//2477 35611//2797 35520//7170 +f 4092//3443 4225//6251 4224//3444 +f 6751//7141 2011//7142 2004//5831 +f 6750//5951 6751//7141 2004//5831 +f 7214//7171 17449//7172 165//7173 +f 35191//7174 35192//7175 17370//7053 +f 270//7176 269//7177 165//7173 +f 269//7177 270//7176 379//7056 +f 380//7178 494//7179 493//7057 +f 379//7056 380//7178 493//7057 +f 609//7180 608//7058 493//7057 +f 494//7179 609//7180 493//7057 +f 727//7181 726//7059 608//7058 +f 609//7180 727//7181 608//7058 +f 846//7182 845//7060 726//7059 +f 727//7181 846//7182 726//7059 +f 846//7182 965//7183 964//7061 +f 845//7060 846//7182 964//7061 +f 965//7183 1083//7184 1082//7062 +f 964//7061 965//7183 1082//7062 +f 1083//7184 1199//7185 1198//7063 +f 1082//7062 1083//7184 1198//7063 +f 1199//7185 1315//7186 1314//7064 +f 1198//7063 1199//7185 1314//7064 +f 1315//7186 1431//7187 1430//7065 +f 1314//7064 1315//7186 1430//7065 +f 1431//7187 1547//7188 1546//6960 +f 1430//7065 1431//7187 1546//6960 +f 1547//7188 1664//7189 1663//7066 +f 1546//6960 1547//7188 1663//7066 +f 1664//7189 1781//7190 1780//7069 +f 1663//7066 1664//7189 1780//7069 +f 1781//7190 1901//7191 1900//7072 +f 1780//7069 1781//7190 1900//7072 +f 1901//7191 2026//7192 2025//7074 +f 1900//7072 1901//7191 2025//7074 +f 2026//7192 2155//7193 2154//7075 +f 2025//7074 2026//7192 2154//7075 +f 2155//7193 2287//7194 2286//7077 +f 2154//7075 2155//7193 2286//7077 +f 2287//7194 2421//7195 2420//7080 +f 2286//7077 2287//7194 2420//7080 +f 2421//7195 2556//7196 2555//7082 +f 2420//7080 2421//7195 2555//7082 +f 2556//7196 2691//7197 2690//7083 +f 2555//7082 2556//7196 2690//7083 +f 2691//7197 2827//7198 2826//7084 +f 2690//7083 2691//7197 2826//7084 +f 2966//7199 2965//7085 2826//7084 +f 2827//7198 2966//7199 2826//7084 +f 3107//7200 3106//7086 2965//7085 +f 2966//7199 3107//7200 2965//7085 +f 3247//7201 3246//7087 3106//7086 +f 3107//7200 3247//7201 3106//7086 +f 3247//7201 3386//7202 3385//7088 +f 3246//7087 3247//7201 3385//7088 +f 3386//7202 3519//7203 3518//7089 +f 3385//7088 3386//7202 3518//7089 +f 3649//7204 3648//7090 3518//7089 +f 3519//7203 3649//7204 3518//7089 +f 3781//7205 3780//7091 3648//7090 +f 3649//7204 3781//7205 3648//7090 +f 3913//7206 3912//7092 3780//7091 +f 3781//7205 3913//7206 3780//7091 +f 3913//7206 4047//7207 4046//7093 +f 3912//7092 3913//7206 4046//7093 +f 4047//7207 4180//7208 4179//7094 +f 4046//7093 4047//7207 4179//7094 +f 4313//7209 4312//7095 4179//7094 +f 4180//7208 4313//7209 4179//7094 +f 4313//7209 4447//7210 4446//7096 +f 4312//7095 4313//7209 4446//7096 +f 4447//7210 4581//7211 4580//7097 +f 4446//7096 4447//7210 4580//7097 +f 4581//7211 4715//7212 4714//7098 +f 4580//7097 4581//7211 4714//7098 +f 4850//7213 4849//7099 4714//7098 +f 4715//7212 4850//7213 4714//7098 +f 4850//7213 4985//7214 4984//7100 +f 4849//7099 4850//7213 4984//7100 +f 4985//7214 5120//7215 5119//7101 +f 4984//7100 4985//7214 5119//7101 +f 5254//7216 5253//7102 5119//7101 +f 5120//7215 5254//7216 5119//7101 +f 5389//7217 5388//7103 5253//7102 +f 5254//7216 5389//7217 5253//7102 +f 5389//7217 5523//7218 5522//7104 +f 5388//7103 5389//7217 5522//7104 +f 5523//7218 5658//7219 5657//7105 +f 5522//7104 5523//7218 5657//7105 +f 5658//7219 5792//7220 5791//7106 +f 5657//7105 5658//7219 5791//7106 +f 5792//7220 5924//7221 5923//7107 +f 5791//7106 5792//7220 5923//7107 +f 5924//7221 6056//7222 6055//7108 +f 5923//7107 5924//7221 6055//7108 +f 6056//7222 6186//7223 6185//7109 +f 6055//7108 6056//7222 6185//7109 +f 6186//7223 6315//7224 6314//7110 +f 6185//7109 6186//7223 6314//7110 +f 6315//7224 6442//7225 6441//7111 +f 6314//7110 6315//7224 6441//7111 +f 6442//7225 6568//7226 6567//7112 +f 6441//7111 6442//7225 6567//7112 +f 6568//7226 6693//7227 6692//7113 +f 6567//7112 6568//7226 6692//7113 +f 6693//7227 6820//7228 6819//7114 +f 6692//7113 6693//7227 6819//7114 +f 6820//7228 6134//7229 3996//7115 +f 6819//7114 6820//7228 3996//7115 +f 4780//7230 1376//7116 3996//7115 +f 6134//7229 4780//7230 3996//7115 +f 3708//7231 4238//7117 1376//7116 +f 4780//7230 3708//7231 1376//7116 +f 3032//7232 2892//7118 4238//7117 +f 3708//7231 3032//7232 4238//7117 +f 3316//7233 3718//7119 2892//7118 +f 3032//7232 3316//7233 2892//7118 +f 5550//7234 5860//7235 15525//7236 +f 3316//7233 5726//7237 3718//7119 +f 14015//7123 14113//7005 14112//7004 +f 288//3895 4787//7238 13494//3896 +f 12269//7239 12268//7240 12185//7241 +f 13611//2964 8333//7242 13574//7243 +f 13295//7244 13390//7245 13883//7246 +f 20478//7247 20479//3969 20563//7248 +f 12420//7249 12509//7133 12419//7135 +f 24517//2565 22680//7250 11980//7251 +f 35423//7252 8340//5953 12050//2554 +f 18647//7253 21038//3383 21039//3382 +f 4224//3444 4225//6251 4357//6241 +f 3694//4017 3826//5983 3693//5985 +f 26228//7254 13051//7255 13052//7256 +f 4225//6251 4358//6011 4357//6241 +f 6607//6245 6608//4706 6732//4535 +f 4264//5677 4800//7050 3701//4708 +f 2333//2496 2467//2498 2466//3446 +f 14931//7257 22163//7258 16953//7259 +f 10579//5298 13333//5303 38//5130 +f 2332//6717 2333//2496 2466//3446 +f 6351//5148 6350//7260 6221//4959 +f 13115//6282 11550//6422 7468//3325 +f 2326//4998 2327//4246 2460//5816 +f 764//5018 883//3058 882//3057 +f 3818//5665 3819//2979 3950//4396 +f 2741//7261 2877//5530 2740//4079 +f 1122//5136 1238//3851 1237//4687 +f 2065//7262 2194//4852 2193//4817 +f 6098//4370 6227//4410 6097//7263 +f 6496//4651 6622//4650 6495//6009 +f 8773//6263 2879//6920 2886//7264 +f 8880//7265 2886//7264 3844//5302 +f 260//7266 3717//7267 1055//7158 +f 6671//7268 10475//7269 6001//7157 +f 3717//7267 2517//7270 2251//7032 +f 1055//7158 3717//7267 2251//7032 +f 813//7162 3333//7031 2251//7032 +f 2517//7270 813//7162 2251//7032 +f 20803//7271 18273//7272 18366//7273 +f 35728//6505 35894//7274 35664//7275 +f 23119//7276 23021//7277 19541//7278 +f 22916//7279 22915//5561 22816//4524 +f 20044//7280 20125//7281 20124//7282 +f 3826//5983 3958//5986 3825//5984 +f 16145//820 16144//822 16003//7283 +f 16094//1204 14789//1063 4944//1062 +f 2004//5831 2011//7142 4264//5677 +f 14437//3580 14457//5452 3268//3765 +f 23032//3035 22933//3034 16300//7284 +f 15119//4143 15120//1507 15246//811 +f 16585//691 16740//682 16584//3962 +f 381//7285 495//7286 494//7179 +f 380//7178 381//7285 494//7179 +f 495//7286 610//7287 609//7180 +f 494//7179 495//7286 609//7180 +f 610//7287 728//7288 727//7181 +f 609//7180 610//7287 727//7181 +f 728//7288 847//7289 846//7182 +f 727//7181 728//7288 846//7182 +f 847//7289 966//7290 965//7183 +f 846//7182 847//7289 965//7183 +f 966//7290 1084//7291 1083//7184 +f 965//7183 966//7290 1083//7184 +f 1200//7292 1199//7185 1083//7184 +f 1084//7291 1200//7292 1083//7184 +f 1200//7292 1316//7293 1315//7186 +f 1199//7185 1200//7292 1315//7186 +f 1316//7293 1432//7294 1431//7187 +f 1315//7186 1316//7293 1431//7187 +f 1432//7294 1548//7295 1547//7188 +f 1431//7187 1432//7294 1547//7188 +f 1548//7295 1665//7296 1664//7189 +f 1547//7188 1548//7295 1664//7189 +f 1665//7296 1782//7297 1781//7190 +f 1664//7189 1665//7296 1781//7190 +f 1782//7297 1902//7298 1901//7191 +f 1781//7190 1782//7297 1901//7191 +f 1902//7298 2027//7299 2026//7192 +f 1901//7191 1902//7298 2026//7192 +f 2027//7299 2156//7300 2155//7193 +f 2026//7192 2027//7299 2155//7193 +f 2156//7300 2288//7301 2287//7194 +f 2155//7193 2156//7300 2287//7194 +f 2288//7301 2422//7302 2421//7195 +f 2287//7194 2288//7301 2421//7195 +f 2422//7302 2557//7303 2556//7196 +f 2421//7195 2422//7302 2556//7196 +f 2557//7303 2692//7304 2691//7197 +f 2556//7196 2557//7303 2691//7197 +f 2828//7305 2827//7198 2691//7197 +f 2692//7304 2828//7305 2691//7197 +f 2967//7306 2966//7199 2827//7198 +f 2828//7305 2967//7306 2827//7198 +f 3108//7307 3107//7200 2966//7199 +f 2967//7306 3108//7307 2966//7199 +f 3248//7308 3247//7201 3107//7200 +f 3108//7307 3248//7308 3107//7200 +f 3387//7309 3386//7202 3247//7201 +f 3248//7308 3387//7309 3247//7201 +f 3387//7309 3520//7310 3519//7203 +f 3386//7202 3387//7309 3519//7203 +f 3520//7310 3650//7311 3649//7204 +f 3519//7203 3520//7310 3649//7204 +f 3782//7312 3781//7205 3649//7204 +f 3650//7311 3782//7312 3649//7204 +f 3782//7312 3914//7313 3913//7206 +f 3781//7205 3782//7312 3913//7206 +f 3914//7313 4048//7314 4047//7207 +f 3913//7206 3914//7313 4047//7207 +f 4048//7314 4181//7315 4180//7208 +f 4047//7207 4048//7314 4180//7208 +f 4181//7315 4314//7316 4313//7209 +f 4180//7208 4181//7315 4313//7209 +f 4448//7317 4447//7210 4313//7209 +f 4314//7316 4448//7317 4313//7209 +f 4448//7317 4582//7318 4581//7211 +f 4447//7210 4448//7317 4581//7211 +f 4716//7319 4715//7212 4581//7211 +f 4582//7318 4716//7319 4581//7211 +f 4716//7319 4851//7320 4850//7213 +f 4715//7212 4716//7319 4850//7213 +f 4986//7321 4985//7214 4850//7213 +f 4851//7320 4986//7321 4850//7213 +f 5121//7322 5120//7215 4985//7214 +f 4986//7321 5121//7322 4985//7214 +f 5121//7322 5255//7323 5254//7216 +f 5120//7215 5121//7322 5254//7216 +f 5255//7323 5390//7324 5389//7217 +f 5254//7216 5255//7323 5389//7217 +f 5390//7324 5524//7325 5523//7218 +f 5389//7217 5390//7324 5523//7218 +f 5524//7325 5659//7326 5658//7219 +f 5523//7218 5524//7325 5658//7219 +f 5659//7326 5793//7327 5792//7220 +f 5658//7219 5659//7326 5792//7220 +f 5793//7327 5925//7328 5924//7221 +f 5792//7220 5793//7327 5924//7221 +f 5925//7328 6057//7329 6056//7222 +f 5924//7221 5925//7328 6056//7222 +f 6057//7329 6187//7330 6186//7223 +f 6056//7222 6057//7329 6186//7223 +f 6187//7330 6316//7331 6315//7224 +f 6186//7223 6187//7330 6315//7224 +f 6316//7331 6443//7332 6442//7225 +f 6315//7224 6316//7331 6442//7225 +f 6443//7332 6569//7333 6568//7226 +f 6442//7225 6443//7332 6568//7226 +f 6569//7333 6694//7334 6693//7227 +f 6568//7226 6569//7333 6693//7227 +f 6694//7334 6821//7335 6820//7228 +f 6693//7227 6694//7334 6820//7228 +f 6821//7335 6137//7336 6134//7229 +f 6820//7228 6821//7335 6134//7229 +f 6137//7336 4385//7337 4780//7230 +f 6134//7229 6137//7336 4780//7230 +f 4385//7337 3972//7338 3708//7231 +f 4780//7230 4385//7337 3708//7231 +f 3972//7338 2893//7339 3032//7232 +f 3708//7231 3972//7338 3032//7232 +f 3176//7340 3316//7233 3032//7232 +f 2893//7339 3176//7340 3032//7232 +f 3176//7340 5859//7341 5860//7235 +f 3176//7340 5860//7235 3316//7233 +f 13917//7342 14015//7123 13916//7343 +f 11320//7344 13889//3894 936//7345 +f 14206//7346 14304//7347 14303//7348 +f 14205//7017 14206//7346 14303//7348 +f 12043//7349 12206//3125 12661//3899 +f 13199//2514 11135//2516 3341//3900 +f 35550//2268 35867//7350 35653//7351 +f 29079//4869 29217//7352 35779//4870 +f 6744//3363 9097//7353 6743//7354 +f 6735//4503 6736//6131 903//3094 +f 13917//7342 13916//7343 13818//5940 +f 31645//7355 31557//1541 31646//7356 +f 22418//7357 7406//7358 35000//7359 +f 922//4360 1041//4487 921//4859 +f 3169//5288 3170//6117 5855//4982 +f 5837//4966 5969//4669 5836//6124 +f 4110//3628 2619//5260 2620//3098 +f 35843//6695 35794//7360 35383//6696 +f 13021//3324 13115//6282 7468//3325 +f 2461//4823 2596//5403 2595//5835 +f 2731//5267 2867//5266 2730//7361 +f 313//2724 422//5871 312//6517 +f 6740//6129 6739//6128 8461//7362 +f 1939//4223 1940//3650 2064//4225 +f 2866//5822 2865//4054 2729//4229 +f 6747//7363 6746//6133 6621//7364 +f 2730//7361 2866//5822 2729//4229 +f 34807//7365 34936//4853 34806//4855 +f 6622//4650 6747//7363 6621//7364 +f 10475//7269 260//7266 6001//7157 +f 6240//5415 6369//5292 6239//5869 +f 74//7366 60//7367 2517//7270 +f 3717//7267 74//7366 2517//7270 +f 60//7367 4133//7368 813//7162 +f 2517//7270 60//7367 813//7162 +f 1185//961 223//167 6254//773 +f 4133//7368 6254//773 813//7162 +f 13959//7369 12043//7349 13210//7370 +f 3058//3538 13192//7371 3202//3539 +f 11778//920 13315//7372 35545//5109 +f 11895//7373 13582//7374 13484//2228 +f 20378//7375 20462//1678 20377//1680 +f 3594//1205 3128//7376 3724//7377 +f 23208//1648 23306//174 23207//176 +f 17983//7378 19492//7379 23411//7380 +f 15158//2078 15156//2100 20413//150 +f 4194//64 4329//1960 17247//65 +f 23011//586 23109//585 23010//2604 +f 17018//7381 17017//1752 590//5165 +f 382//7382 496//7383 495//7286 +f 381//7285 382//7382 495//7286 +f 496//7383 611//7384 610//7287 +f 495//7286 496//7383 610//7287 +f 611//7384 729//7385 728//7288 +f 610//7287 611//7384 728//7288 +f 729//7385 848//7386 847//7289 +f 728//7288 729//7385 847//7289 +f 848//7386 967//7387 966//7290 +f 847//7289 848//7386 966//7290 +f 967//7387 1085//7388 1084//7291 +f 966//7290 967//7387 1084//7291 +f 1085//7388 1201//7389 1200//7292 +f 1084//7291 1085//7388 1200//7292 +f 1317//7390 1316//7293 1200//7292 +f 1201//7389 1317//7390 1200//7292 +f 1433//7391 1432//7294 1316//7293 +f 1317//7390 1433//7391 1316//7293 +f 1549//7392 1548//7295 1432//7294 +f 1433//7391 1549//7392 1432//7294 +f 1666//7393 1665//7296 1548//7295 +f 1549//7392 1666//7393 1548//7295 +f 1783//7394 1782//7297 1665//7296 +f 1666//7393 1783//7394 1665//7296 +f 1783//7394 1903//7395 1902//7298 +f 1782//7297 1783//7394 1902//7298 +f 1903//7395 2028//7396 2027//7299 +f 1902//7298 1903//7395 2027//7299 +f 2028//7396 2157//7397 2156//7300 +f 2027//7299 2028//7396 2156//7300 +f 2157//7397 2289//7398 2288//7301 +f 2156//7300 2157//7397 2288//7301 +f 2289//7398 2423//7399 2422//7302 +f 2288//7301 2289//7398 2422//7302 +f 2423//7399 2558//7400 2557//7303 +f 2422//7302 2423//7399 2557//7303 +f 2558//7400 2693//7401 2692//7304 +f 2557//7303 2558//7400 2692//7304 +f 2693//7401 2829//7402 2828//7305 +f 2692//7304 2693//7401 2828//7305 +f 2829//7402 2968//7403 2967//7306 +f 2828//7305 2829//7402 2967//7306 +f 2968//7403 3109//7404 3108//7307 +f 2967//7306 2968//7403 3108//7307 +f 3249//7405 3248//7308 3108//7307 +f 3109//7404 3249//7405 3108//7307 +f 3388//7406 3387//7309 3248//7308 +f 3249//7405 3388//7406 3248//7308 +f 3521//7407 3520//7310 3387//7309 +f 3388//7406 3521//7407 3387//7309 +f 3651//7408 3650//7311 3520//7310 +f 3521//7407 3651//7408 3520//7310 +f 3783//7409 3782//7312 3650//7311 +f 3651//7408 3783//7409 3650//7311 +f 3783//7409 3915//7410 3914//7313 +f 3782//7312 3783//7409 3914//7313 +f 3915//7410 4049//7411 4048//7314 +f 3914//7313 3915//7410 4048//7314 +f 4049//7411 4182//7412 4181//7315 +f 4048//7314 4049//7411 4181//7315 +f 4182//7412 4315//7413 4314//7316 +f 4181//7315 4182//7412 4314//7316 +f 4449//7414 4448//7317 4314//7316 +f 4315//7413 4449//7414 4314//7316 +f 4583//7415 4582//7318 4448//7317 +f 4449//7414 4583//7415 4448//7317 +f 4717//7416 4716//7319 4582//7318 +f 4583//7415 4717//7416 4582//7318 +f 4717//7416 4852//7417 4851//7320 +f 4716//7319 4717//7416 4851//7320 +f 4987//7418 4986//7321 4851//7320 +f 4852//7417 4987//7418 4851//7320 +f 5122//7419 5121//7322 4986//7321 +f 4987//7418 5122//7419 4986//7321 +f 5256//7420 5255//7323 5121//7322 +f 5122//7419 5256//7420 5121//7322 +f 5391//7421 5390//7324 5255//7323 +f 5256//7420 5391//7421 5255//7323 +f 5525//7422 5524//7325 5390//7324 +f 5391//7421 5525//7422 5390//7324 +f 5525//7422 5660//7423 5659//7326 +f 5524//7325 5525//7422 5659//7326 +f 5794//7424 5793//7327 5659//7326 +f 5660//7423 5794//7424 5659//7326 +f 5794//7424 5926//7425 5925//7328 +f 5793//7327 5794//7424 5925//7328 +f 5926//7425 6058//7426 6057//7329 +f 5925//7328 5926//7425 6057//7329 +f 6058//7426 6188//7427 6187//7330 +f 6057//7329 6058//7426 6187//7330 +f 6188//7427 6317//7428 6316//7331 +f 6187//7330 6188//7427 6316//7331 +f 6317//7428 6444//7429 6443//7332 +f 6316//7331 6317//7428 6443//7332 +f 6444//7429 6570//7430 6569//7333 +f 6443//7332 6444//7429 6569//7333 +f 6570//7430 6695//7431 6694//7334 +f 6569//7333 6570//7430 6694//7334 +f 6695//7431 6822//7432 6821//7335 +f 6694//7334 6695//7431 6821//7335 +f 6822//7432 1842//7433 6137//7336 +f 6821//7335 6822//7432 6137//7336 +f 1842//7433 1049//7434 4385//7337 +f 6137//7336 1842//7433 4385//7337 +f 1049//7434 3438//7435 3972//7338 +f 4385//7337 1049//7434 3972//7338 +f 3438//7435 5985//7436 2893//7339 +f 3972//7338 3438//7435 2893//7339 +f 5985//7436 3035//7437 3176//7340 +f 2893//7339 5985//7436 3176//7340 +f 5990//2055 3263//7438 5859//7341 +f 3035//7437 5859//7341 3176//7340 +f 14015//7123 14014//7122 13916//7343 +f 13889//3894 13494//3896 936//7345 +f 15697//7439 14620//7440 16038//7441 +f 11517//7442 11584//6918 11583//3121 +f 12408//5829 12497//2918 12407//7443 +f 8333//7242 13672//7444 13574//7243 +f 12039//2227 11725//2226 35731//4960 +f 7991//7046 8107//7445 8106//7446 +f 6365//3367 6366//3359 6492//3087 +f 35678//7447 35666//329 35402//4190 +f 2745//4710 2747//7022 2340//4711 +f 9680//745 6120//744 5989//7448 +f 6368//6010 6367//7449 6238//7450 +f 6239//5869 6368//6010 6238//7450 +f 1258//2681 1257//6233 2750//2682 +f 4228//4195 4361//3830 4360//4196 +f 11805//7451 6917//7452 6849//7453 +f 5163//4835 5297//896 5296//895 +f 417//7454 531//7455 530//7456 +f 3147//7457 3287//4716 3146//5127 +f 35869//7458 35453//7459 35926//902 +f 531//7455 646//3473 645//4838 +f 1003//3283 1121//4686 1120//3284 +f 2369//3268 2237//3270 2238//5008 +f 1586//3467 1703//4049 1702//4052 +f 2594//3855 2595//5835 2729//4229 +f 6747//7363 1886//7460 1884//7461 +f 6746//6133 6747//7363 1884//7461 +f 2732//5154 2868//4540 2731//5267 +f 6481//6713 6482//4713 6607//6245 +f 13790//966 14737//1432 16775//1298 +f 11243//7462 3717//7267 260//7266 +f 575//7463 4132//7464 4133//7368 +f 60//7367 575//7463 4133//7368 +f 4132//7464 561//774 6254//773 +f 4133//7368 4132//7464 6254//773 +f 6385//5966 1857//7465 64//7466 +f 3350//962 110//772 201//7467 +f 8903//7468 11647//7469 10386//7042 +f 12408//5829 12407//7443 12321//5830 +f 8346//7470 8328//7471 8345//7472 +f 2098//4045 4128//7473 4251//4987 +f 22416//166 22417//155 22514//157 +f 23005//128 23004//1197 22905//1209 +f 23403//335 23402//3402 23305//175 +f 244//3949 3266//4121 5007//6301 +f 14879//719 14880//432 14999//1094 +f 11863//7474 15734//7475 12539//7476 +f 13619//7477 35561//2474 35736//3311 +f 35699//3083 35604//7478 35540//5879 +f 497//7479 612//7480 611//7384 +f 496//7383 497//7479 611//7384 +f 612//7480 730//7481 729//7385 +f 611//7384 612//7480 729//7385 +f 730//7481 849//7482 848//7386 +f 729//7385 730//7481 848//7386 +f 849//7482 968//7483 967//7387 +f 848//7386 849//7482 967//7387 +f 968//7483 1086//7484 1085//7388 +f 967//7387 968//7483 1085//7388 +f 1202//7485 1201//7389 1085//7388 +f 1086//7484 1202//7485 1085//7388 +f 1318//7486 1317//7390 1201//7389 +f 1202//7485 1318//7486 1201//7389 +f 1434//7487 1433//7391 1317//7390 +f 1318//7486 1434//7487 1317//7390 +f 1550//7488 1549//7392 1433//7391 +f 1434//7487 1550//7488 1433//7391 +f 1667//7489 1666//7393 1549//7392 +f 1550//7488 1667//7489 1549//7392 +f 1784//7490 1783//7394 1666//7393 +f 1667//7489 1784//7490 1666//7393 +f 1904//7491 1903//7395 1783//7394 +f 1784//7490 1904//7491 1783//7394 +f 2029//7492 2028//7396 1903//7395 +f 1904//7491 2029//7492 1903//7395 +f 2029//7492 2158//7493 2157//7397 +f 2028//7396 2029//7492 2157//7397 +f 2290//7494 2289//7398 2157//7397 +f 2158//7493 2290//7494 2157//7397 +f 2424//7495 2423//7399 2289//7398 +f 2290//7494 2424//7495 2289//7398 +f 2559//7496 2558//7400 2423//7399 +f 2424//7495 2559//7496 2423//7399 +f 2694//7497 2693//7401 2558//7400 +f 2559//7496 2694//7497 2558//7400 +f 2694//7497 2830//7498 2829//7402 +f 2693//7401 2694//7497 2829//7402 +f 2830//7498 2969//7499 2968//7403 +f 2829//7402 2830//7498 2968//7403 +f 3110//7500 3109//7404 2968//7403 +f 2969//7499 3110//7500 2968//7403 +f 3250//7501 3249//7405 3109//7404 +f 3110//7500 3250//7501 3109//7404 +f 3389//7502 3388//7406 3249//7405 +f 3250//7501 3389//7502 3249//7405 +f 3522//7503 3521//7407 3388//7406 +f 3389//7502 3522//7503 3388//7406 +f 3652//7504 3651//7408 3521//7407 +f 3522//7503 3652//7504 3521//7407 +f 3784//7505 3783//7409 3651//7408 +f 3652//7504 3784//7505 3651//7408 +f 3784//7505 3916//7506 3915//7410 +f 3783//7409 3784//7505 3915//7410 +f 3916//7506 4050//7507 4049//7411 +f 3915//7410 3916//7506 4049//7411 +f 4050//7507 4183//7508 4182//7412 +f 4049//7411 4050//7507 4182//7412 +f 4183//7508 4316//7509 4315//7413 +f 4182//7412 4183//7508 4315//7413 +f 4450//7510 4449//7414 4315//7413 +f 4316//7509 4450//7510 4315//7413 +f 4584//7511 4583//7415 4449//7414 +f 4450//7510 4584//7511 4449//7414 +f 4584//7511 4718//7512 4717//7416 +f 4583//7415 4584//7511 4717//7416 +f 4718//7512 4853//7513 4852//7417 +f 4717//7416 4718//7512 4852//7417 +f 4853//7513 4988//7514 4987//7418 +f 4852//7417 4853//7513 4987//7418 +f 5123//7515 5122//7419 4987//7418 +f 4988//7514 5123//7515 4987//7418 +f 5257//7516 5256//7420 5122//7419 +f 5123//7515 5257//7516 5122//7419 +f 5392//7517 5391//7421 5256//7420 +f 5257//7516 5392//7517 5256//7420 +f 5526//7518 5525//7422 5391//7421 +f 5392//7517 5526//7518 5391//7421 +f 5661//7519 5660//7423 5525//7422 +f 5526//7518 5661//7519 5525//7422 +f 5795//7520 5794//7424 5660//7423 +f 5661//7519 5795//7520 5660//7423 +f 5927//7521 5926//7425 5794//7424 +f 5795//7520 5927//7521 5794//7424 +f 5927//7521 6059//7522 6058//7426 +f 5926//7425 5927//7521 6058//7426 +f 6059//7522 6189//7523 6188//7427 +f 6058//7426 6059//7522 6188//7427 +f 6189//7523 6318//7524 6317//7428 +f 6188//7427 6189//7523 6317//7428 +f 6318//7524 6445//7525 6444//7429 +f 6317//7428 6318//7524 6444//7429 +f 6445//7525 6571//7526 6570//7430 +f 6444//7429 6445//7525 6570//7430 +f 6571//7526 6696//7527 6695//7431 +f 6570//7430 6571//7526 6695//7431 +f 6696//7527 6823//7528 6822//7432 +f 6695//7431 6696//7527 6822//7432 +f 6823//7528 1841//7529 1842//7433 +f 6822//7432 6823//7528 1842//7433 +f 1841//7529 4252//7530 1049//7434 +f 1842//7433 1841//7529 1049//7434 +f 4252//7530 3443//7531 3438//7435 +f 1049//7434 4252//7530 3438//7435 +f 3443//7531 5854//7532 5985//7436 +f 3438//7435 3443//7531 5985//7436 +f 2896//2056 3035//7437 5985//7436 +f 5854//7532 2896//2056 5985//7436 +f 5990//2055 6121//2054 15395//7533 +f 2896//2056 5990//2055 3035//7437 +f 13819//7534 13917//7342 13818//5940 +f 2499//7535 11320//7344 2498//7536 +f 12681//7537 12680//3633 12590//7538 +f 12591//7011 12681//7537 12590//7538 +f 11586//6917 11661//4502 11585//7539 +f 8871//7540 16668//7541 16825//7542 +f 14186//7543 3179//7544 3736//7545 +f 32508//7546 32507//7547 32402//7548 +f 2071//6102 2070//5950 1945//6810 +f 4496//4683 4497//7549 4630//4085 +f 1826//6813 1825//6811 1708//5517 +f 6368//6010 6495//6009 6367//7449 +f 648//4377 647//3472 532//3850 +f 5169//4030 5170//5420 5303//4387 +f 6495//6009 6494//7550 6367//7449 +f 5162//4368 5163//4835 5296//895 +f 5035//4029 5170//5420 5169//4030 +f 451//3279 450//5674 6728//5691 +f 5028//7551 5163//4835 5162//4368 +f 2867//5266 2866//5822 2730//7361 +f 4622//3484 4623//4416 4756//3485 +f 895//4704 894//4390 775//4388 +f 35631//7552 35439//7553 35874//3436 +f 1940//3650 2065//7262 2064//4225 +f 1237//4687 1238//3851 1353//3853 +f 1886//7460 192//7554 2001//6268 +f 1884//7461 1886//7460 2001//6268 +f 3844//5302 2481//6008 2617//4826 +f 6367//7449 6494//7550 6366//3359 +f 35448//7555 35567//2336 35687//7556 +f 5036//4234 5037//3078 5171//4235 +f 576//7557 3999//7558 4132//7464 +f 575//7463 576//7557 4132//7464 +f 3999//7558 446//7559 561//774 +f 4132//7464 3999//7558 561//774 +f 201//7467 200//7560 3350//962 +f 446//7559 201//7467 561//774 +f 14259//7561 13520//7562 11262//7563 +f 12466//5708 13416//7564 13213//5569 +f 12727//2381 12052//7565 12134//2557 +f 13321//7566 11130//2725 13770//2727 +f 35928//7567 13305//1924 12209//4395 +f 20210//7568 20209//7569 20124//7282 +f 9529//44 244//3949 5007//6301 +f 15568//41 678//3950 4377//43 +f 22320//165 22417//155 22416//166 +f 15156//2100 15735//88 20413//150 +f 14655//1325 14873//1324 1656//732 +f 1564//73 7114//7570 15018//7571 +f 35836//6310 35709//6309 35692//6817 +f 14400//7572 14419//7573 14399//274 +f 35885//7574 35922//1856 35872//7575 +f 5148//7576 5149//7577 5283//7578 +f 731//7579 850//7580 849//7482 +f 730//7481 731//7579 849//7482 +f 850//7580 969//7581 968//7483 +f 849//7482 850//7580 968//7483 +f 1087//7582 1086//7484 968//7483 +f 969//7581 1087//7582 968//7483 +f 1087//7582 1203//7583 1202//7485 +f 1086//7484 1087//7582 1202//7485 +f 1319//7584 1318//7486 1202//7485 +f 1203//7583 1319//7584 1202//7485 +f 1435//7585 1434//7487 1318//7486 +f 1319//7584 1435//7585 1318//7486 +f 1551//7586 1550//7488 1434//7487 +f 1435//7585 1551//7586 1434//7487 +f 1668//7587 1667//7489 1550//7488 +f 1551//7586 1668//7587 1550//7488 +f 1785//7588 1784//7490 1667//7489 +f 1668//7587 1785//7588 1667//7489 +f 1905//7589 1904//7491 1784//7490 +f 1785//7588 1905//7589 1784//7490 +f 2030//7590 2029//7492 1904//7491 +f 1905//7589 2030//7590 1904//7491 +f 2159//7591 2158//7493 2029//7492 +f 2030//7590 2159//7591 2029//7492 +f 2291//7592 2290//7494 2158//7493 +f 2159//7591 2291//7592 2158//7493 +f 2291//7592 2425//7593 2424//7495 +f 2290//7494 2291//7592 2424//7495 +f 2560//7594 2559//7496 2424//7495 +f 2425//7593 2560//7594 2424//7495 +f 2560//7594 2695//7595 2694//7497 +f 2559//7496 2560//7594 2694//7497 +f 2695//7595 2831//7596 2830//7498 +f 2694//7497 2695//7595 2830//7498 +f 2831//7596 2970//7597 2969//7499 +f 2830//7498 2831//7596 2969//7499 +f 2970//7597 3111//7598 3110//7500 +f 2969//7499 2970//7597 3110//7500 +f 3251//7599 3250//7501 3110//7500 +f 3111//7598 3251//7599 3110//7500 +f 3390//7600 3389//7502 3250//7501 +f 3251//7599 3390//7600 3250//7501 +f 3523//7601 3522//7503 3389//7502 +f 3390//7600 3523//7601 3389//7502 +f 3653//7602 3652//7504 3522//7503 +f 3523//7601 3653//7602 3522//7503 +f 3785//7603 3784//7505 3652//7504 +f 3653//7602 3785//7603 3652//7504 +f 3785//7603 3917//7604 3916//7506 +f 3784//7505 3785//7603 3916//7506 +f 3917//7604 4051//7605 4050//7507 +f 3916//7506 3917//7604 4050//7507 +f 4051//7605 4184//7606 4183//7508 +f 4050//7507 4051//7605 4183//7508 +f 4184//7606 4317//7607 4316//7509 +f 4183//7508 4184//7606 4316//7509 +f 4451//7608 4450//7510 4316//7509 +f 4317//7607 4451//7608 4316//7509 +f 4451//7608 4585//7609 4584//7511 +f 4450//7510 4451//7608 4584//7511 +f 4719//7610 4718//7512 4584//7511 +f 4585//7609 4719//7610 4584//7511 +f 4719//7610 4854//7611 4853//7513 +f 4718//7512 4719//7610 4853//7513 +f 4854//7611 4989//7612 4988//7514 +f 4853//7513 4854//7611 4988//7514 +f 5124//7613 5123//7515 4988//7514 +f 4989//7612 5124//7613 4988//7514 +f 5258//7614 5257//7516 5123//7515 +f 5124//7613 5258//7614 5123//7515 +f 5393//7615 5392//7517 5257//7516 +f 5258//7614 5393//7615 5257//7516 +f 5527//7616 5526//7518 5392//7517 +f 5393//7615 5527//7616 5392//7517 +f 5662//7617 5661//7519 5526//7518 +f 5527//7616 5662//7617 5526//7518 +f 5796//7618 5795//7520 5661//7519 +f 5662//7617 5796//7618 5661//7519 +f 5928//7619 5927//7521 5795//7520 +f 5796//7618 5928//7619 5795//7520 +f 5928//7619 6060//7620 6059//7522 +f 5927//7521 5928//7619 6059//7522 +f 6190//7621 6189//7523 6059//7522 +f 6060//7620 6190//7621 6059//7522 +f 6319//7622 6318//7524 6189//7523 +f 6190//7621 6319//7622 6189//7523 +f 6446//7623 6445//7525 6318//7524 +f 6319//7622 6446//7623 6318//7524 +f 6446//7623 6572//7624 6571//7526 +f 6445//7525 6446//7623 6571//7526 +f 6572//7624 6697//7625 6696//7527 +f 6571//7526 6572//7624 6696//7527 +f 6697//7625 6824//7626 6823//7528 +f 6696//7527 6697//7625 6823//7528 +f 6824//7626 1724//7627 1841//7529 +f 6823//7528 6824//7626 1841//7529 +f 1724//7627 1492//7628 4252//7530 +f 1841//7529 1724//7627 4252//7530 +f 1492//7628 3444//7629 3443//7531 +f 4252//7530 1492//7628 3443//7531 +f 3444//7629 5721//7630 5854//7532 +f 3443//7531 3444//7629 5854//7532 +f 2760//7631 2896//2056 5854//7532 +f 5721//7630 2760//7631 5854//7532 +f 6121//2054 6250//612 4815//611 +f 2760//7631 6121//2054 2896//2056 +f 14309//7632 14308//7633 14210//7634 +f 12476//6246 13097//7635 14088//7636 +f 11605//4549 11604//7637 11537//4550 +f 23108//2605 23107//1917 23009//2606 +f 12330//3747 12329//3749 12244//4113 +f 13362//5857 13457//7638 13361//5858 +f 7245//7639 7246//4506 419//3848 +f 13869//2726 13774//7640 13676//6508 +f 3829//5258 3830//3942 10395//5259 +f 9107//7641 2084//3117 180//7642 +f 4493//5152 4627//7643 4626//6013 +f 547//7644 15177//7645 4128//7473 +f 6620//7646 6621//7364 6745//3361 +f 6495//6009 6621//7364 6620//7646 +f 10514//7647 4095//7648 4094//6820 +f 4088//3483 4089//3482 4221//4365 +f 4489//4415 4490//6239 4623//4416 +f 5027//4376 5028//7551 5162//4368 +f 2867//5266 3006//7649 2866//5822 +f 3006//7649 3147//7457 3005//5129 +f 10760//7650 8030//7651 6771//7652 +f 3819//2979 3951//4392 3950//4396 +f 1470//3468 1469//3857 1353//3853 +f 1153//4845 4527//5400 2095//4846 +f 2071//6102 2200//4508 2070//5950 +f 1753//7653 1869//6923 1752//6841 +f 6494//7550 6620//7646 6619//7654 +f 6611//5669 6736//6131 6735//4503 +f 5172//3075 5306//3080 5305//6126 +f 6493//6812 6494//7550 6619//7654 +f 11015//3662 4632//7655 4631//7656 +f 5460//7657 5325//5419 1728//7658 +f 3867//7659 1743//7660 446//7559 +f 3999//7558 3867//7659 446//7559 +f 1743//7660 200//7560 201//7467 +f 446//7559 1743//7660 201//7467 +f 12466//5708 41//5825 13416//7564 +f 296//939 6643//7661 15566//940 +f 13770//2727 13869//2726 13676//6508 +f 13987//7662 13890//7663 8978//7664 +f 11413//6272 31475//7665 11414//7666 +f 35373//5735 35432//2949 35361//2948 +f 678//3950 1830//3948 4377//43 +f 6255//7667 23898//7668 171//7669 +f 1830//3948 244//3949 9529//44 +f 4377//43 1830//3948 9529//44 +f 15734//7475 15598//7670 12539//7476 +f 22462//2071 169//2281 2787//2037 +f 1661//74 1564//73 15018//7571 +f 15018//7571 7114//7570 14586//1290 +f 15835//4902 15062//4741 15050//226 +f 15800//1004 15835//4902 15050//226 +f 16288//821 16433//690 16287//955 +f 22219//124 22315//399 22314//397 +f 732//7671 851//7672 850//7580 +f 25871//7673 1776//7674 25730//4756 +f 851//7672 970//7675 969//7581 +f 850//7580 851//7672 969//7581 +f 970//7675 1088//7676 1087//7582 +f 969//7581 970//7675 1087//7582 +f 1088//7676 1204//7677 1203//7583 +f 1087//7582 1088//7676 1203//7583 +f 1320//7678 1319//7584 1203//7583 +f 1204//7677 1320//7678 1203//7583 +f 1436//7679 1435//7585 1319//7584 +f 1320//7678 1436//7679 1319//7584 +f 1552//7680 1551//7586 1435//7585 +f 1436//7679 1552//7680 1435//7585 +f 1669//7681 1668//7587 1551//7586 +f 1552//7680 1669//7681 1551//7586 +f 1786//7682 1785//7588 1668//7587 +f 1669//7681 1786//7682 1668//7587 +f 1906//7683 1905//7589 1785//7588 +f 1786//7682 1906//7683 1785//7588 +f 2031//7684 2030//7590 1905//7589 +f 1906//7683 2031//7684 1905//7589 +f 2160//7685 2159//7591 2030//7590 +f 2031//7684 2160//7685 2030//7590 +f 2292//7686 2291//7592 2159//7591 +f 2160//7685 2292//7686 2159//7591 +f 2426//7687 2425//7593 2291//7592 +f 2292//7686 2426//7687 2291//7592 +f 2561//7688 2560//7594 2425//7593 +f 2426//7687 2561//7688 2425//7593 +f 2696//7689 2695//7595 2560//7594 +f 2561//7688 2696//7689 2560//7594 +f 2696//7689 2832//7690 2831//7596 +f 2695//7595 2696//7689 2831//7596 +f 2832//7690 2971//7691 2970//7597 +f 2831//7596 2832//7690 2970//7597 +f 2971//7691 3112//7692 3111//7598 +f 2970//7597 2971//7691 3111//7598 +f 3112//7692 3252//7693 3251//7599 +f 3111//7598 3112//7692 3251//7599 +f 3391//7694 3390//7600 3251//7599 +f 3252//7693 3391//7694 3251//7599 +f 3524//7695 3523//7601 3390//7600 +f 3391//7694 3524//7695 3390//7600 +f 3654//7696 3653//7602 3523//7601 +f 3524//7695 3654//7696 3523//7601 +f 3786//7697 3785//7603 3653//7602 +f 3654//7696 3786//7697 3653//7602 +f 3918//7698 3917//7604 3785//7603 +f 3786//7697 3918//7698 3785//7603 +f 4052//7699 4051//7605 3917//7604 +f 3918//7698 4052//7699 3917//7604 +f 4185//7700 4184//7606 4051//7605 +f 4052//7699 4185//7700 4051//7605 +f 4318//7701 4317//7607 4184//7606 +f 4185//7700 4318//7701 4184//7606 +f 4318//7701 4452//7702 4451//7608 +f 4317//7607 4318//7701 4451//7608 +f 4452//7702 4586//7703 4585//7609 +f 4451//7608 4452//7702 4585//7609 +f 4720//7704 4719//7610 4585//7609 +f 4586//7703 4720//7704 4585//7609 +f 4720//7704 4855//7705 4854//7611 +f 4719//7610 4720//7704 4854//7611 +f 4855//7705 4990//7706 4989//7612 +f 4854//7611 4855//7705 4989//7612 +f 5125//7707 5124//7613 4989//7612 +f 4990//7706 5125//7707 4989//7612 +f 5259//7708 5258//7614 5124//7613 +f 5125//7707 5259//7708 5124//7613 +f 5394//7709 5393//7615 5258//7614 +f 5259//7708 5394//7709 5258//7614 +f 5528//7710 5527//7616 5393//7615 +f 5394//7709 5528//7710 5393//7615 +f 5663//7711 5662//7617 5527//7616 +f 5528//7710 5663//7711 5527//7616 +f 5797//7712 5796//7618 5662//7617 +f 5663//7711 5797//7712 5662//7617 +f 5929//7713 5928//7619 5796//7618 +f 5797//7712 5929//7713 5796//7618 +f 6061//7714 6060//7620 5928//7619 +f 5929//7713 6061//7714 5928//7619 +f 6191//7715 6190//7621 6060//7620 +f 6061//7714 6191//7715 6060//7620 +f 6320//7716 6319//7622 6190//7621 +f 6191//7715 6320//7716 6190//7621 +f 6447//7717 6446//7623 6319//7622 +f 6320//7716 6447//7717 6319//7622 +f 6573//7718 6572//7624 6446//7623 +f 6447//7717 6573//7718 6446//7623 +f 6698//7719 6697//7625 6572//7624 +f 6573//7718 6698//7719 6572//7624 +f 6698//7719 6825//7720 6824//7626 +f 6697//7625 6698//7719 6824//7626 +f 6825//7720 1723//7721 1724//7627 +f 6824//7626 6825//7720 1724//7627 +f 1723//7721 3840//7722 1492//7628 +f 1724//7627 1723//7721 1492//7628 +f 3840//7722 3445//7723 3444//7629 +f 1492//7628 3840//7722 3444//7629 +f 5587//7724 5721//7630 3444//7629 +f 3445//7723 5587//7724 3444//7629 +f 2625//7725 2760//7631 5721//7630 +f 5587//7724 2625//7725 5721//7630 +f 2490//7726 6250//612 2625//7725 +f 2760//7631 2625//7725 6121//2054 +f 14017//3161 14115//3160 14016//7727 +f 14211//3357 14309//7632 14210//7634 +f 13028//3135 6958//3134 11129//7728 +f 13783//7729 12899//7730 1755//7731 +f 2389//2766 12641//2558 14165//2560 +f 11950//7732 12368//2385 12913//2559 +f 23991//7733 24890//7734 20436//7735 +f 5696//7736 8844//7737 5334//7738 +f 13774//7640 12820//7739 12728//6509 +f 3182//7740 15972//1052 3461//1207 +f 3953//4648 4087//4209 3952//5271 +f 3821//4090 3953//4648 3820//3647 +f 1473//6120 1589//3820 1472//5538 +f 6494//7550 6495//6009 6620//7646 +f 6746//6133 1884//7461 1883//6134 +f 6735//4503 903//3094 697//3093 +f 6730//2849 6729//5690 6604//4844 +f 4624//6242 4758//2876 4757//3285 +f 4758//2876 4893//2878 4892//3286 +f 3287//4716 3286//5814 3146//5127 +f 3147//7457 3146//5127 3005//5129 +f 2371//5681 8951//7741 2370//5430 +f 1984//5006 2109//5007 2108//7742 +f 16794//7743 15902//7744 5702//6123 +f 531//7455 532//3850 646//3473 +f 14474//7745 12057//7746 16319//7747 +f 5293//6929 5292//1460 5158//5433 +f 2197//5988 2196//5261 2067//5133 +f 4128//7473 15177//7645 15176//7748 +f 6620//7646 6745//3361 6744//3363 +f 6501//5686 6502//5839 6627//5841 +f 2221//5293 2353//5418 5460//7657 +f 6619//7654 6620//7646 6744//3363 +f 335//7749 1743//7660 3867//7659 +f 10734//7750 576//7557 10859//7751 +f 335//7749 199//7752 200//7560 +f 1743//7660 335//7749 200//7560 +f 15566//940 6643//7661 937//7753 +f 200//7560 199//7752 296//939 +f 8844//7737 3477//5447 4392//7754 +f 908//1998 19102//7755 4513//2163 +f 12132//2555 13101//3673 35708//2556 +f 31552//7756 31551//7757 26516//2624 +f 7197//7758 8118//941 10455//943 +f 2943//48 253//4124 2762//40 +f 5273//1453 15047//5169 2103//7759 +f 17247//65 17246//651 17082//7760 +f 224//3955 678//3950 15568//41 +f 1683//68 1799//1961 4329//1960 +f 4194//64 1683//68 4329//1960 +f 14880//432 15000//6320 14999//1094 +f 9916//7761 9305//7762 9540//6230 +f 15062//4741 16688//7763 16670//393 +f 15050//226 15062//4741 16670//393 +f 16912//540 16911//1638 16753//908 +f 22412//915 22413//914 22510//2244 +f 850//7580 731//7579 732//7671 +f 4935//1265 1500//1258 14436//7764 +f 852//7765 971//7766 970//7675 +f 851//7672 852//7765 970//7675 +f 971//7766 1089//7767 1088//7676 +f 970//7675 971//7766 1088//7676 +f 1089//7767 1205//7768 1204//7677 +f 1088//7676 1089//7767 1204//7677 +f 1321//7769 1320//7678 1204//7677 +f 1205//7768 1321//7769 1204//7677 +f 1437//7770 1436//7679 1320//7678 +f 1321//7769 1437//7770 1320//7678 +f 1553//7771 1552//7680 1436//7679 +f 1437//7770 1553//7771 1436//7679 +f 1670//7772 1669//7681 1552//7680 +f 1553//7771 1670//7772 1552//7680 +f 1787//7773 1786//7682 1669//7681 +f 1670//7772 1787//7773 1669//7681 +f 1907//7774 1906//7683 1786//7682 +f 1787//7773 1907//7774 1786//7682 +f 2032//7775 2031//7684 1906//7683 +f 1907//7774 2032//7775 1906//7683 +f 2161//7776 2160//7685 2031//7684 +f 2032//7775 2161//7776 2031//7684 +f 2293//7777 2292//7686 2160//7685 +f 2161//7776 2293//7777 2160//7685 +f 2427//7778 2426//7687 2292//7686 +f 2293//7777 2427//7778 2292//7686 +f 2562//7779 2561//7688 2426//7687 +f 2427//7778 2562//7779 2426//7687 +f 2697//7780 2696//7689 2561//7688 +f 2562//7779 2697//7780 2561//7688 +f 2833//7781 2832//7690 2696//7689 +f 2697//7780 2833//7781 2696//7689 +f 2972//7782 2971//7691 2832//7690 +f 2833//7781 2972//7782 2832//7690 +f 3113//7783 3112//7692 2971//7691 +f 2972//7782 3113//7783 2971//7691 +f 3253//7784 3252//7693 3112//7692 +f 3113//7783 3253//7784 3112//7692 +f 3392//7785 3391//7694 3252//7693 +f 3253//7784 3392//7785 3252//7693 +f 3525//7786 3524//7695 3391//7694 +f 3392//7785 3525//7786 3391//7694 +f 3655//7787 3654//7696 3524//7695 +f 3525//7786 3655//7787 3524//7695 +f 3787//7788 3786//7697 3654//7696 +f 3655//7787 3787//7788 3654//7696 +f 3919//7789 3918//7698 3786//7697 +f 3787//7788 3919//7789 3786//7697 +f 4053//7790 4052//7699 3918//7698 +f 3919//7789 4053//7790 3918//7698 +f 4186//7791 4185//7700 4052//7699 +f 4053//7790 4186//7791 4052//7699 +f 4186//7791 4319//7792 4318//7701 +f 4185//7700 4186//7791 4318//7701 +f 4319//7792 4453//7793 4452//7702 +f 4318//7701 4319//7792 4452//7702 +f 4587//7794 4586//7703 4452//7702 +f 4453//7793 4587//7794 4452//7702 +f 4587//7794 4721//7795 4720//7704 +f 4586//7703 4587//7794 4720//7704 +f 4721//7795 4856//7796 4855//7705 +f 4720//7704 4721//7795 4855//7705 +f 4856//7796 4991//7797 4990//7706 +f 4855//7705 4856//7796 4990//7706 +f 5126//7798 5125//7707 4990//7706 +f 4991//7797 5126//7798 4990//7706 +f 5260//7799 5259//7708 5125//7707 +f 5126//7798 5260//7799 5125//7707 +f 5395//7800 5394//7709 5259//7708 +f 5260//7799 5395//7800 5259//7708 +f 5529//7801 5528//7710 5394//7709 +f 5395//7800 5529//7801 5394//7709 +f 5664//7802 5663//7711 5528//7710 +f 5529//7801 5664//7802 5528//7710 +f 5798//7803 5797//7712 5663//7711 +f 5664//7802 5798//7803 5663//7711 +f 5930//7804 5929//7713 5797//7712 +f 5798//7803 5930//7804 5797//7712 +f 6062//7805 6061//7714 5929//7713 +f 5930//7804 6062//7805 5929//7713 +f 6192//7806 6191//7715 6061//7714 +f 6062//7805 6192//7806 6061//7714 +f 6321//7807 6320//7716 6191//7715 +f 6192//7806 6321//7807 6191//7715 +f 6448//7808 6447//7717 6320//7716 +f 6321//7807 6448//7808 6320//7716 +f 6574//7809 6573//7718 6447//7717 +f 6448//7808 6574//7809 6447//7717 +f 6699//7810 6698//7719 6573//7718 +f 6574//7809 6699//7810 6573//7718 +f 6699//7810 6826//7811 6825//7720 +f 6698//7719 6699//7810 6825//7720 +f 1607//7812 1723//7721 6825//7720 +f 6826//7811 1607//7812 6825//7720 +f 661//7813 3840//7722 1723//7721 +f 1607//7812 661//7813 1723//7721 +f 661//7813 3578//7814 3445//7723 +f 3840//7722 661//7813 3445//7723 +f 3578//7814 5454//7815 5587//7724 +f 3445//7723 3578//7814 5587//7724 +f 5454//7815 2490//7726 2625//7725 +f 5587//7724 5454//7815 2625//7725 +f 11994//7816 12075//7817 11993//5980 +f 5319//7818 2489//7819 2490//7726 +f 14115//3160 14211//3357 14210//7634 +f 14114//7820 14115//3160 14210//7634 +f 901//7821 12899//7730 13783//7729 +f 11129//7728 901//7821 13783//7729 +f 10241//7822 4658//7823 5062//7824 +f 12899//7730 10241//7822 1755//7731 +f 14286//3660 9991//6143 11363//3658 +f 20858//7825 20859//7826 20938//7827 +f 14121//3941 14217//7828 14216//7829 +f 14212//3356 14310//7830 14211//3357 +f 5966//4516 6098//4370 6097//7263 +f 2606//7831 2741//7261 2605//4078 +f 5306//3080 5307//3079 5441//7832 +f 2650//4663 2785//2079 2784//2080 +f 3003//4055 3004//4056 3144//4058 +f 6621//7364 6746//6133 6745//3361 +f 4623//4416 4624//6242 4757//3285 +f 3145//4057 3285//5815 3284//5659 +f 2203//3674 2335//3868 2334//2497 +f 1958//4228 1959//7833 2757//5826 +f 776//5818 775//4388 657//4219 +f 2596//5403 2731//5267 2595//5835 +f 776//5818 895//4704 775//4388 +f 12234//1861 12319//1863 12318//7834 +f 679//4533 3970//7835 665//4534 +f 535//4895 650//5979 534//4505 +f 4218//5277 4219//3846 4351//4680 +f 3060//2924 9517//5010 7764//3469 +f 12161//3934 12160//4862 12078//4543 +f 11271//7836 2357//6024 11270//7837 +f 213//6267 1883//6134 1884//7461 +f 1643//3362 1883//6134 8351//7838 +f 5325//5419 1729//7839 1728//7658 +f 5305//6126 5306//3080 5440//3051 +f 4251//4987 15176//7748 4131//4988 +f 9306//7840 10816//7841 5184//4343 +f 198//7842 937//7753 6643//7661 +f 199//7752 198//7842 6643//7661 +f 5321//2153 4513//2163 5456//2154 +f 6794//7843 7475//7844 7820//7845 +f 15457//135 15071//137 15070//7846 +f 3477//5447 4650//5449 4392//7754 +f 3183//7847 20948//2996 14872//2279 +f 9529//44 5007//6301 5001//5037 +f 16695//2820 4131//4988 4656//7848 +f 2762//40 224//3955 15568//41 +f 3491//4132 253//4124 3490//81 +f 4946//85 5081//2057 1799//1961 +f 1683//68 4946//85 1799//1961 +f 14766//723 14767//270 14879//719 +f 15371//7849 14995//1515 15168//1514 +f 16688//7763 1071//7850 1535//394 +f 16670//393 16688//7763 1535//394 +f 20618//7851 21416//7852 21415//7853 +f 20812//7854 20051//7855 20050//2258 +f 15974//1266 4935//1265 14436//7764 +f 2400//1319 4002//1176 589//296 +f 18103//7856 852//7765 851//7672 +f 23130//2828 23032//3035 23421//1300 +f 2715//7857 19846//7858 19733//7859 +f 35733//5469 35512//1610 35879//1611 +f 1090//7860 1206//7861 1205//7768 +f 1089//7767 1090//7860 1205//7768 +f 1322//7862 1321//7769 1205//7768 +f 1206//7861 1322//7862 1205//7768 +f 1438//7863 1437//7770 1321//7769 +f 1322//7862 1438//7863 1321//7769 +f 1554//7864 1553//7771 1437//7770 +f 1438//7863 1554//7864 1437//7770 +f 1671//7865 1670//7772 1553//7771 +f 1554//7864 1671//7865 1553//7771 +f 1788//7866 1787//7773 1670//7772 +f 1671//7865 1788//7866 1670//7772 +f 1908//7867 1907//7774 1787//7773 +f 1788//7866 1908//7867 1787//7773 +f 2033//7868 2032//7775 1907//7774 +f 1908//7867 2033//7868 1907//7774 +f 2162//7869 2161//7776 2032//7775 +f 2033//7868 2162//7869 2032//7775 +f 2294//7870 2293//7777 2161//7776 +f 2162//7869 2294//7870 2161//7776 +f 2428//7871 2427//7778 2293//7777 +f 2294//7870 2428//7871 2293//7777 +f 2563//7872 2562//7779 2427//7778 +f 2428//7871 2563//7872 2427//7778 +f 2698//7873 2697//7780 2562//7779 +f 2563//7872 2698//7873 2562//7779 +f 2834//7874 2833//7781 2697//7780 +f 2698//7873 2834//7874 2697//7780 +f 2973//7875 2972//7782 2833//7781 +f 2834//7874 2973//7875 2833//7781 +f 3114//7876 3113//7783 2972//7782 +f 2973//7875 3114//7876 2972//7782 +f 3254//7877 3253//7784 3113//7783 +f 3114//7876 3254//7877 3113//7783 +f 3393//7878 3392//7785 3253//7784 +f 3254//7877 3393//7878 3253//7784 +f 3526//7879 3525//7786 3392//7785 +f 3393//7878 3526//7879 3392//7785 +f 3656//7880 3655//7787 3525//7786 +f 3526//7879 3656//7880 3525//7786 +f 3788//7881 3787//7788 3655//7787 +f 3656//7880 3788//7881 3655//7787 +f 3920//7882 3919//7789 3787//7788 +f 3788//7881 3920//7882 3787//7788 +f 4054//7883 4053//7790 3919//7789 +f 3920//7882 4054//7883 3919//7789 +f 4187//7884 4186//7791 4053//7790 +f 4054//7883 4187//7884 4053//7790 +f 4187//7884 4320//7885 4319//7792 +f 4186//7791 4187//7884 4319//7792 +f 4454//7886 4453//7793 4319//7792 +f 4320//7885 4454//7886 4319//7792 +f 4454//7886 4588//7887 4587//7794 +f 4453//7793 4454//7886 4587//7794 +f 4588//7887 4722//7888 4721//7795 +f 4587//7794 4588//7887 4721//7795 +f 4722//7888 4857//7889 4856//7796 +f 4721//7795 4722//7888 4856//7796 +f 4857//7889 4992//7890 4991//7797 +f 4856//7796 4857//7889 4991//7797 +f 5127//7891 5126//7798 4991//7797 +f 4992//7890 5127//7891 4991//7797 +f 5261//7892 5260//7799 5126//7798 +f 5127//7891 5261//7892 5126//7798 +f 5396//7893 5395//7800 5260//7799 +f 5261//7892 5396//7893 5260//7799 +f 5530//7894 5529//7801 5395//7800 +f 5396//7893 5530//7894 5395//7800 +f 5665//7895 5664//7802 5529//7801 +f 5530//7894 5665//7895 5529//7801 +f 5799//7896 5798//7803 5664//7802 +f 5665//7895 5799//7896 5664//7802 +f 5931//7897 5930//7804 5798//7803 +f 5799//7896 5931//7897 5798//7803 +f 6063//7898 6062//7805 5930//7804 +f 5931//7897 6063//7898 5930//7804 +f 6193//7899 6192//7806 6062//7805 +f 6063//7898 6193//7899 6062//7805 +f 6322//7900 6321//7807 6192//7806 +f 6193//7899 6322//7900 6192//7806 +f 6449//7901 6448//7808 6321//7807 +f 6322//7900 6449//7901 6321//7807 +f 6575//7902 6574//7809 6448//7808 +f 6449//7901 6575//7902 6448//7808 +f 6700//7903 6699//7810 6574//7809 +f 6575//7902 6700//7903 6574//7809 +f 6700//7903 6827//7904 6826//7811 +f 6699//7810 6700//7903 6826//7811 +f 6827//7904 1606//7905 1607//7812 +f 6826//7811 6827//7904 1607//7812 +f 663//7906 661//7813 1607//7812 +f 1606//7905 663//7906 1607//7812 +f 3579//7907 3578//7814 661//7813 +f 663//7906 3579//7907 661//7813 +f 5319//7818 5454//7815 3578//7814 +f 3579//7907 5319//7818 3578//7814 +f 3180//7908 35352//3884 35575//3259 +f 5454//7815 5319//7818 2490//7726 +f 11910//7909 11994//7816 11909//7910 +f 12761//7911 12762//5410 12853//5412 +f 11740//7912 11824//7913 11739//7914 +f 14308//7633 14309//7632 8049//7915 +f 11994//7816 11993//5980 11909//7910 +f 12078//4543 12077//5720 11996//5718 +f 773//3684 892//3682 891//3302 +f 9418//7916 7809//7917 7925//7918 +f 35447//1340 35711//7919 35822//5341 +f 1121//4686 1122//5136 1237//4687 +f 1715//7920 1716//7921 8590//7922 +f 8205//7923 8313//7924 1753//7653 +f 2649//3107 2650//4663 2784//2080 +f 1944//4026 1945//6810 2069//5850 +f 5441//7832 5442//3666 5575//7925 +f 5442//3666 5576//4401 5575//7925 +f 416//4011 417//7454 530//7456 +f 1940//3650 1941//3649 2065//7262 +f 5155//7926 5156//4555 5289//3819 +f 4893//2878 5028//7551 5027//4376 +f 2066//7927 2195//5262 2194//4852 +f 34679//7928 34807//7365 34678//7929 +f 2065//7262 2066//7927 2194//4852 +f 2194//4852 2195//5262 2326//4998 +f 650//5979 649//4884 534//4505 +f 433//4404 4384//6718 3571//5525 +f 6222//4958 6223//4530 6351//5148 +f 4352//3845 4486//4979 4485//4211 +f 6115//5973 6245//6698 6244//5972 +f 6110//5414 6240//5415 6109//5870 +f 320//6104 7044//7930 7045//7931 +f 2203//3674 2202//2679 2073//2887 +f 5441//7832 5575//7925 5574//3052 +f 5171//4235 5172//3075 5305//6126 +f 4656//7848 15302//2607 15303//2076 +f 2470//4066 2605//4078 2469//4065 +f 107//7932 6667//7933 937//7753 +f 198//7842 107//7932 937//7753 +f 1611//2234 3220//2233 2123//7934 +f 30983//7935 31044//7936 30982//7937 +f 4130//5445 3477//5447 8844//7737 +f 3452//5526 4130//5445 8844//7737 +f 11103//7938 14847//2368 8011//2370 +f 1759//7939 11709//7940 12201//7941 +f 17109//7942 15288//7943 8896//7944 +f 5322//7945 1214//4131 2489//7819 +f 253//4124 224//3955 2762//40 +f 3491//4132 3490//81 4811//67 +f 4946//85 3489//52 3618//2235 +f 5081//2057 4946//85 3618//2235 +f 7114//7570 14680//1291 14586//1290 +f 15288//7943 14613//7946 8896//7944 +f 1071//7850 1446//7947 3667//391 +f 1535//394 1071//7850 3667//391 +f 22122//1303 22123//125 22218//396 +f 3596//1249 8683//1251 3669//1522 +f 1298//1477 14589//543 948//1257 +f 16659//493 16818//948 16817//6456 +f 16443//7948 16442//2249 25614//2411 +f 31078//7949 31077//7950 31016//7951 +f 478//5319 593//5175 17810//5174 +f 16639//2245 2266//2246 6988//1394 +f 35731//4960 35878//6171 35767//7952 +f 1090//7860 1091//7953 1206//7861 +f 1323//7954 1322//7862 1206//7861 +f 1207//7955 1323//7954 1206//7861 +f 1439//7956 1438//7863 1322//7862 +f 1323//7954 1439//7956 1322//7862 +f 1555//7957 1554//7864 1438//7863 +f 1439//7956 1555//7957 1438//7863 +f 1672//7958 1671//7865 1554//7864 +f 1555//7957 1672//7958 1554//7864 +f 1789//7959 1788//7866 1671//7865 +f 1672//7958 1789//7959 1671//7865 +f 1909//7960 1908//7867 1788//7866 +f 1789//7959 1909//7960 1788//7866 +f 2034//7961 2033//7868 1908//7867 +f 1909//7960 2034//7961 1908//7867 +f 2163//7962 2162//7869 2033//7868 +f 2034//7961 2163//7962 2033//7868 +f 2295//7963 2294//7870 2162//7869 +f 2163//7962 2295//7963 2162//7869 +f 2429//7964 2428//7871 2294//7870 +f 2295//7963 2429//7964 2294//7870 +f 2564//7965 2563//7872 2428//7871 +f 2429//7964 2564//7965 2428//7871 +f 2699//7966 2698//7873 2563//7872 +f 2564//7965 2699//7966 2563//7872 +f 2835//7967 2834//7874 2698//7873 +f 2699//7966 2835//7967 2698//7873 +f 2974//7968 2973//7875 2834//7874 +f 2835//7967 2974//7968 2834//7874 +f 3115//7969 3114//7876 2973//7875 +f 2974//7968 3115//7969 2973//7875 +f 3255//7970 3254//7877 3114//7876 +f 3115//7969 3255//7970 3114//7876 +f 3394//7971 3393//7878 3254//7877 +f 3255//7970 3394//7971 3254//7877 +f 3394//7971 3527//7972 3526//7879 +f 3393//7878 3394//7971 3526//7879 +f 3657//7973 3656//7880 3526//7879 +f 3527//7972 3657//7973 3526//7879 +f 3789//7974 3788//7881 3656//7880 +f 3657//7973 3789//7974 3656//7880 +f 3921//7975 3920//7882 3788//7881 +f 3789//7974 3921//7975 3788//7881 +f 4055//7976 4054//7883 3920//7882 +f 3921//7975 4055//7976 3920//7882 +f 4188//7977 4187//7884 4054//7883 +f 4055//7976 4188//7977 4054//7883 +f 4321//7978 4320//7885 4187//7884 +f 4188//7977 4321//7978 4187//7884 +f 4455//7979 4454//7886 4320//7885 +f 4321//7978 4455//7979 4320//7885 +f 4455//7979 4589//7980 4588//7887 +f 4454//7886 4455//7979 4588//7887 +f 4589//7980 4723//7981 4722//7888 +f 4588//7887 4589//7980 4722//7888 +f 4723//7981 4858//7982 4857//7889 +f 4722//7888 4723//7981 4857//7889 +f 4993//7983 4992//7890 4857//7889 +f 4858//7982 4993//7983 4857//7889 +f 5128//7984 5127//7891 4992//7890 +f 4993//7983 5128//7984 4992//7890 +f 5262//7985 5261//7892 5127//7891 +f 5128//7984 5262//7985 5127//7891 +f 5397//7986 5396//7893 5261//7892 +f 5262//7985 5397//7986 5261//7892 +f 5531//7987 5530//7894 5396//7893 +f 5397//7986 5531//7987 5396//7893 +f 5666//7988 5665//7895 5530//7894 +f 5531//7987 5666//7988 5530//7894 +f 5800//7989 5799//7896 5665//7895 +f 5666//7988 5800//7989 5665//7895 +f 5932//7990 5931//7897 5799//7896 +f 5800//7989 5932//7990 5799//7896 +f 6064//7991 6063//7898 5931//7897 +f 5932//7990 6064//7991 5931//7897 +f 6194//7992 6193//7899 6063//7898 +f 6064//7991 6194//7992 6063//7898 +f 6323//7993 6322//7900 6193//7899 +f 6194//7992 6323//7993 6193//7899 +f 6450//7994 6449//7901 6322//7900 +f 6323//7993 6450//7994 6322//7900 +f 6576//7995 6575//7902 6449//7901 +f 6450//7994 6576//7995 6449//7901 +f 6701//7996 6700//7903 6575//7902 +f 6576//7995 6701//7996 6575//7902 +f 6828//7997 6827//7904 6700//7903 +f 6701//7996 6828//7997 6700//7903 +f 1490//7998 1606//7905 6827//7904 +f 6828//7997 1490//7998 6827//7904 +f 662//7999 663//7906 1606//7905 +f 1490//7998 662//7999 1606//7905 +f 3306//8000 3579//7907 663//7906 +f 662//7999 3306//8000 663//7906 +f 3306//8000 5185//8001 5319//7818 +f 3579//7907 3306//8000 5319//7818 +f 11805//7451 7018//8002 7017//8003 +f 5319//7818 5185//8001 2489//7819 +f 5156//4555 5290//3737 5289//3819 +f 11521//4034 11588//5019 11520//4523 +f 2733//3833 2869//4038 2732//5154 +f 2727//8004 2728//3856 2863//8005 +f 10501//2928 12278//2927 12279//4546 +f 28993//4129 35895//8006 35441//8007 +f 6604//4844 6729//5690 6603//5692 +f 4353//3844 4487//3478 4486//4979 +f 1870//8008 1990//8009 1989//6924 +f 1869//6923 1870//8008 1989//6924 +f 1990//8009 2115//8010 2114//6925 +f 8421//8011 1992//8012 1871//8013 +f 892//3682 1011//3687 891//3302 +f 3594//1205 3724//7377 1485//3493 +f 3302//4837 3581//3654 3705//5821 +f 1007//3731 1125//3730 1006//4820 +f 2196//5261 2328//4244 2195//5262 +f 886//4879 887//4980 1005//4819 +f 4490//6239 4624//6242 4623//4416 +f 4757//3285 4758//2876 4892//3286 +f 3562//4547 3692//8014 3691//3878 +f 4223//6599 4222//4991 4089//3482 +f 2731//5267 2730//7361 2595//5835 +f 2195//5262 2327//4246 2326//4998 +f 5569//4889 5570//5147 5704//5118 +f 3951//4392 3952//5271 4085//4393 +f 532//3850 647//3472 646//3473 +f 458//2848 451//3279 6729//5690 +f 35501//8015 35421//8016 35439//7553 +f 6369//5292 6368//6010 6239//5869 +f 6238//7450 6367//7449 6237//3358 +f 5844//6402 5976//6403 5843//3173 +f 5306//3080 5441//7832 5440//3051 +f 6494//7550 6493//6812 6366//3359 +f 2740//4079 2739//4082 2604//4080 +f 5325//5419 11395//8017 1729//7839 +f 15302//2607 4656//7848 15176//7748 +f 2605//4078 2604//4080 2469//4065 +f 6794//7843 2123//7934 6767//8018 +f 6667//7933 6794//7843 6767//8018 +f 35394//3804 35714//6849 35529//8019 +f 5190//7023 4415//2579 1377//8020 +f 2787//2037 169//2281 7065//8021 +f 13008//3040 12869//2435 22245//2437 +f 35821//6913 35735//6914 35694//8022 +f 20125//7281 20210//7568 20124//7282 +f 2917//1445 14645//8023 2311//1446 +f 4676//3954 3491//4132 4811//67 +f 253//4124 2943//48 3490//81 +f 2942//47 2941//2236 3618//2235 +f 3489//52 2942//47 3618//2235 +f 15112//8024 15238//8025 15237//8026 +f 35700//5265 1023//5540 35551//8027 +f 1446//7947 17173//8028 1537//536 +f 3667//391 1446//7947 1537//536 +f 22413//914 22511//1910 22510//2244 +f 22031//1143 22127//873 22126//1144 +f 16658//1294 16659//493 16817//6456 +f 583//1318 2938//294 390//293 +f 23130//2828 12869//2435 13008//3040 +f 22709//1402 22808//460 22807//459 +f 16634//1563 16639//2245 6988//1394 +f 2266//2246 16470//2247 16471//1395 +f 30220//8029 35496//8030 35516//8031 +f 15173//1860 4245//424 15931//337 +f 1208//8032 1324//8033 1323//7954 +f 1207//7955 1208//8032 1323//7954 +f 1440//8034 1439//7956 1323//7954 +f 1324//8033 1440//8034 1323//7954 +f 1556//8035 1555//7957 1439//7956 +f 1440//8034 1556//8035 1439//7956 +f 1673//8036 1672//7958 1555//7957 +f 1556//8035 1673//8036 1555//7957 +f 1790//8037 1789//7959 1672//7958 +f 1673//8036 1790//8037 1672//7958 +f 1910//8038 1909//7960 1789//7959 +f 1790//8037 1910//8038 1789//7959 +f 2035//8039 2034//7961 1909//7960 +f 1910//8038 2035//8039 1909//7960 +f 2164//8040 2163//7962 2034//7961 +f 2035//8039 2164//8040 2034//7961 +f 2296//8041 2295//7963 2163//7962 +f 2164//8040 2296//8041 2163//7962 +f 2430//8042 2429//7964 2295//7963 +f 2296//8041 2430//8042 2295//7963 +f 2565//8043 2564//7965 2429//7964 +f 2430//8042 2565//8043 2429//7964 +f 2700//8044 2699//7966 2564//7965 +f 2565//8043 2700//8044 2564//7965 +f 2836//8045 2835//7967 2699//7966 +f 2700//8044 2836//8045 2699//7966 +f 2975//8046 2974//7968 2835//7967 +f 2836//8045 2975//8046 2835//7967 +f 3116//8047 3115//7969 2974//7968 +f 2975//8046 3116//8047 2974//7968 +f 3256//8048 3255//7970 3115//7969 +f 3116//8047 3256//8048 3115//7969 +f 3395//8049 3394//7971 3255//7970 +f 3256//8048 3395//8049 3255//7970 +f 3395//8049 3528//8050 3527//7972 +f 3394//7971 3395//8049 3527//7972 +f 3658//8051 3657//7973 3527//7972 +f 3528//8050 3658//8051 3527//7972 +f 3790//8052 3789//7974 3657//7973 +f 3658//8051 3790//8052 3657//7973 +f 3922//8053 3921//7975 3789//7974 +f 3790//8052 3922//8053 3789//7974 +f 4056//8054 4055//7976 3921//7975 +f 3922//8053 4056//8054 3921//7975 +f 4189//8055 4188//7977 4055//7976 +f 4056//8054 4189//8055 4055//7976 +f 4322//8056 4321//7978 4188//7977 +f 4189//8055 4322//8056 4188//7977 +f 4322//8056 4456//8057 4455//7979 +f 4321//7978 4322//8056 4455//7979 +f 4456//8057 4590//8058 4589//7980 +f 4455//7979 4456//8057 4589//7980 +f 4724//8059 4723//7981 4589//7980 +f 4590//8058 4724//8059 4589//7980 +f 4859//8060 4858//7982 4723//7981 +f 4724//8059 4859//8060 4723//7981 +f 4994//8061 4993//7983 4858//7982 +f 4859//8060 4994//8061 4858//7982 +f 4994//8061 5129//8062 5128//7984 +f 4993//7983 4994//8061 5128//7984 +f 5129//8062 5263//8063 5262//7985 +f 5128//7984 5129//8062 5262//7985 +f 5398//8064 5397//7986 5262//7985 +f 5263//8063 5398//8064 5262//7985 +f 5532//8065 5531//7987 5397//7986 +f 5398//8064 5532//8065 5397//7986 +f 5667//8066 5666//7988 5531//7987 +f 5532//8065 5667//8066 5531//7987 +f 5801//8067 5800//7989 5666//7988 +f 5667//8066 5801//8067 5666//7988 +f 5933//8068 5932//7990 5800//7989 +f 5801//8067 5933//8068 5800//7989 +f 6065//8069 6064//7991 5932//7990 +f 5933//8068 6065//8069 5932//7990 +f 6195//8070 6194//7992 6064//7991 +f 6065//8069 6195//8070 6064//7991 +f 6324//8071 6323//7993 6194//7992 +f 6195//8070 6324//8071 6194//7992 +f 6451//8072 6450//7994 6323//7993 +f 6324//8071 6451//8072 6323//7993 +f 6577//8073 6576//7995 6450//7994 +f 6451//8072 6577//8073 6450//7994 +f 6702//8074 6701//7996 6576//7995 +f 6577//8073 6702//8074 6576//7995 +f 6829//8075 6828//7997 6701//7996 +f 6702//8074 6829//8075 6701//7996 +f 3574//8076 1490//7998 6828//7997 +f 6829//8075 3574//8076 6828//7997 +f 782//8077 662//7999 1490//7998 +f 3574//8076 782//8077 1490//7998 +f 3305//8078 3306//8000 662//7999 +f 782//8077 3305//8078 662//7999 +f 3305//8078 5051//8079 5185//8001 +f 3306//8000 3305//8078 5185//8001 +f 8155//8080 13959//7369 11498//8081 +f 5185//8001 5051//8079 5322//7945 +f 4892//3286 4893//2878 5027//4376 +f 4356//6240 4490//6239 4489//4415 +f 14094//8082 13998//3155 9684//8083 +f 4750//3842 4751//3271 4885//5528 +f 13545//8084 13546//8085 13643//8086 +f 11829//8087 11915//4420 11828//8088 +f 11999//8089 11998//5003 11914//8090 +f 14315//8091 14314//8092 14216//7829 +f 1989//6924 1990//8009 2114//6925 +f 2244//8093 2243//6926 2114//6925 +f 8807//8094 8914//8095 8913//8096 +f 1825//6811 1945//6810 1944//4026 +f 2115//8010 2244//8093 2114//6925 +f 1366//4062 1365//3438 1249//3437 +f 770//4894 771//3297 889//4204 +f 6488//8097 6487//3834 6360//4831 +f 4896//8098 5031//5286 5030//4976 +f 6102//4668 6101//5252 5969//4669 +f 1357//5965 1356//5537 1240//4962 +f 4355//4364 4356//6240 4489//4415 +f 4090//4381 4223//6599 4089//3482 +f 3006//7649 3005//5129 2866//5822 +f 2327//4246 2461//4823 2460//5816 +f 3697//4068 3829//5258 3696//8099 +f 649//4884 648//4377 533//3849 +f 4487//3478 4621//4411 4486//4979 +f 1941//3649 2066//7927 2065//7262 +f 4765//6429 4766//4230 4900//4035 +f 2603//2499 2604//4080 2738//5250 +f 1597//5673 1596//2676 1480//2494 +f 15766//8100 15905//8101 7362//450 +f 6238//7450 6237//3358 6107//3176 +f 6111//5124 6241//5291 6240//5415 +f 1728//7658 1729//7839 3182//7740 +f 6108//8102 6238//7450 6107//3176 +f 2353//5418 5325//5419 5460//7657 +f 5030//4976 5031//5286 5165//4977 +f 35927//6114 35726//8103 35582//6446 +f 6794//7843 6667//7933 7578//8104 +f 16//8105 5190//7023 1377//8020 +f 2123//7934 16//8105 1377//8020 +f 12052//7565 2389//2766 14165//2560 +f 3537//2577 6770//8106 3665//8107 +f 12134//2557 12052//7565 14165//2560 +f 9973//8108 9856//8109 9857//1351 +f 35696//3773 19538//3772 20902//8110 +f 5074//2407 5208//46 15615//2580 +f 2478//340 9064//1742 16155//1741 +f 2942//47 5208//46 5074//2407 +f 1029//49 1739//2784 15615//2580 +f 2941//2236 2942//47 5074//2407 +f 5208//46 15619//42 15615//2580 +f 3724//7377 3856//8111 1485//3493 +f 580//1183 15171//1447 15047//5169 +f 17173//8028 17028//8112 17027//538 +f 1537//536 17173//8028 17027//538 +f 14433//1996 20072//755 11948//6318 +f 23317//865 15240//15 10706//866 +f 16818//948 16982//409 16981//408 +f 14436//7764 1500//1258 3082//1260 +f 32638//8113 32752//8114 32751//8115 +f 14872//2279 20948//2996 20058//2280 +f 6988//1394 2266//2246 16471//1395 +f 16470//2247 6527//2064 6018//1398 +f 6410//8116 35846//8117 19144//8118 +f 14981//1237 15173//1860 15931//337 +f 13026//1180 35918//2047 24802//2439 +f 12133//8119 35832//182 35784//184 +f 1441//8120 1440//8034 1324//8033 +f 1325//8121 1441//8120 1324//8033 +f 1557//8122 1556//8035 1440//8034 +f 1441//8120 1557//8122 1440//8034 +f 1674//8123 1673//8036 1556//8035 +f 1557//8122 1674//8123 1556//8035 +f 1791//8124 1790//8037 1673//8036 +f 1674//8123 1791//8124 1673//8036 +f 1911//8125 1910//8038 1790//8037 +f 1791//8124 1911//8125 1790//8037 +f 2036//8126 2035//8039 1910//8038 +f 1911//8125 2036//8126 1910//8038 +f 2165//8127 2164//8040 2035//8039 +f 2036//8126 2165//8127 2035//8039 +f 2297//8128 2296//8041 2164//8040 +f 2165//8127 2297//8128 2164//8040 +f 2431//8129 2430//8042 2296//8041 +f 2297//8128 2431//8129 2296//8041 +f 2566//8130 2565//8043 2430//8042 +f 2431//8129 2566//8130 2430//8042 +f 2701//8131 2700//8044 2565//8043 +f 2566//8130 2701//8131 2565//8043 +f 2837//8132 2836//8045 2700//8044 +f 2701//8131 2837//8132 2700//8044 +f 2976//8133 2975//8046 2836//8045 +f 2837//8132 2976//8133 2836//8045 +f 3117//8134 3116//8047 2975//8046 +f 2976//8133 3117//8134 2975//8046 +f 3257//8135 3256//8048 3116//8047 +f 3117//8134 3257//8135 3116//8047 +f 3396//8136 3395//8049 3256//8048 +f 3257//8135 3396//8136 3256//8048 +f 3529//8137 3528//8050 3395//8049 +f 3396//8136 3529//8137 3395//8049 +f 3659//8138 3658//8051 3528//8050 +f 3529//8137 3659//8138 3528//8050 +f 3791//8139 3790//8052 3658//8051 +f 3659//8138 3791//8139 3658//8051 +f 3923//8140 3922//8053 3790//8052 +f 3791//8139 3923//8140 3790//8052 +f 4057//8141 4056//8054 3922//8053 +f 3923//8140 4057//8141 3922//8053 +f 4057//8141 4190//8142 4189//8055 +f 4056//8054 4057//8141 4189//8055 +f 4190//8142 4323//8143 4322//8056 +f 4189//8055 4190//8142 4322//8056 +f 4323//8143 4457//8144 4456//8057 +f 4322//8056 4323//8143 4456//8057 +f 4457//8144 4591//8145 4590//8058 +f 4456//8057 4457//8144 4590//8058 +f 4725//8146 4724//8059 4590//8058 +f 4591//8145 4725//8146 4590//8058 +f 4860//8147 4859//8060 4724//8059 +f 4725//8146 4860//8147 4724//8059 +f 4995//8148 4994//8061 4859//8060 +f 4860//8147 4995//8148 4859//8060 +f 4995//8148 5130//8149 5129//8062 +f 4994//8061 4995//8148 5129//8062 +f 5130//8149 5264//8150 5263//8063 +f 5129//8062 5130//8149 5263//8063 +f 5399//8151 5398//8064 5263//8063 +f 5264//8150 5399//8151 5263//8063 +f 5533//8152 5532//8065 5398//8064 +f 5399//8151 5533//8152 5398//8064 +f 5668//8153 5667//8066 5532//8065 +f 5533//8152 5668//8153 5532//8065 +f 5802//8154 5801//8067 5667//8066 +f 5668//8153 5802//8154 5667//8066 +f 5934//8155 5933//8068 5801//8067 +f 5802//8154 5934//8155 5801//8067 +f 6066//8156 6065//8069 5933//8068 +f 5934//8155 6066//8156 5933//8068 +f 6196//8157 6195//8070 6065//8069 +f 6066//8156 6196//8157 6065//8069 +f 6325//8158 6324//8071 6195//8070 +f 6196//8157 6325//8158 6195//8070 +f 6452//8159 6451//8072 6324//8071 +f 6325//8158 6452//8159 6324//8071 +f 6578//8160 6577//8073 6451//8072 +f 6452//8159 6578//8160 6451//8072 +f 6703//8161 6702//8074 6577//8073 +f 6578//8160 6703//8161 6577//8073 +f 6830//8162 6829//8075 6702//8074 +f 6703//8161 6830//8162 6702//8074 +f 3704//8163 3574//8076 6829//8075 +f 6830//8162 3704//8163 6829//8075 +f 1600//8164 782//8077 3574//8076 +f 3704//8163 1600//8164 3574//8076 +f 3446//8165 3305//8078 782//8077 +f 1600//8164 3446//8165 782//8077 +f 35641//8166 23856//8167 35681//8168 +f 3305//8078 3446//8165 5051//8079 +f 12976//8169 13070//8170 12975//8171 +f 2514//5536 2513//8172 2379//8173 +f 1495//8174 7764//3469 3061//4247 +f 35526//8175 35574//191 35673//8176 +f 9684//8083 8571//3157 12455//8177 +f 13585//3552 12721//8178 12455//8177 +f 12045//7138 12114//8179 11723//8180 +f 1382//6145 11971//8181 13215//6146 +f 6239//5869 6238//7450 6108//8102 +f 9351//8182 9352//8183 9466//8184 +f 2376//8185 2375//6942 2243//6926 +f 2244//8093 2376//8185 2243//6926 +f 2510//8186 2509//7018 2375//6942 +f 2376//8185 2510//8186 2375//6942 +f 3856//8111 1486//5948 1485//3493 +f 6109//5870 6108//8102 5976//6403 +f 9992//8187 35396//3659 11363//3658 +f 34412//4763 34549//4762 34411//8188 +f 1241//4961 1357//5965 1240//4962 +f 544//4970 659//5139 543//4971 +f 3956//4382 4090//4381 3955//3481 +f 4223//6599 4356//6240 4355//4364 +f 20296//8189 20295//8190 20209//7569 +f 12572//2380 13380//2382 11250//2403 +f 4754//4186 4889//4187 4888//6609 +f 5438//4218 5439//5533 5572//4063 +f 11950//7732 11724//2383 12368//2385 +f 1703//4049 1704//4897 1820//3651 +f 2592//5290 2593//3854 2727//8004 +f 4891//3287 4892//3286 5026//4375 +f 2728//3856 2864//4053 2863//8005 +f 13676//6508 13774//7640 12728//6509 +f 1482//4061 1598//4216 1481//4512 +f 28314//3253 28313//8191 28196//3254 +f 6367//7449 6366//3359 6237//3358 +f 6108//8102 6107//3176 5975//3175 +f 15204//6708 22259//8192 10483//6709 +f 4889//4187 5024//5405 5023//6254 +f 35358//8193 35704//8194 35446//6504 +f 2617//4826 2481//6008 2221//5293 +f 5830//8195 4394//8196 5190//7023 +f 16//8105 5830//8195 5190//7023 +f 3665//8107 1388//8197 132//8198 +f 5190//7023 4394//8196 42//7024 +f 11873//8199 11787//3542 12728//6509 +f 11415//2396 11465//8200 11464//8201 +f 2191//5289 2192//4816 2323//5107 +f 434//8202 14565//8203 3351//3958 +f 3268//3765 434//8202 3351//3958 +f 17017//1752 591//1753 590//5165 +f 17187//1331 17017//1752 17018//7381 +f 15826//1184 580//1183 170//5168 +f 15964//5166 15826//1184 170//5168 +f 170//5168 580//1183 15047//5169 +f 25000//8204 15274//8205 25002//8206 +f 17028//8112 17018//7381 17019//688 +f 17027//538 17028//8112 17019//688 +f 15739//778 15210//1521 16450//779 +f 4517//1516 11252//852 7458//851 +f 389//1112 583//1318 390//293 +f 16193//238 15438//1323 14815//1754 +f 23104//126 23202//2434 23201//2416 +f 15072//1415 15463//1029 15462//1024 +f 16471//1395 16470//2247 6018//1398 +f 6527//2064 1171//2438 2907//1400 +f 11414//7666 11415//2396 11464//8201 +f 906//3586 1736//3585 4096//6556 +f 16551//3404 16555//1562 5611//3209 +f 1442//8207 1441//8120 1325//8121 +f 21306//8208 35816//8209 21489//3258 +f 1558//8210 1557//8122 1441//8120 +f 1442//8207 1558//8210 1441//8120 +f 1675//8211 1674//8123 1557//8122 +f 1558//8210 1675//8211 1557//8122 +f 1792//8212 1791//8124 1674//8123 +f 1675//8211 1792//8212 1674//8123 +f 1912//8213 1911//8125 1791//8124 +f 1792//8212 1912//8213 1791//8124 +f 2037//8214 2036//8126 1911//8125 +f 1912//8213 2037//8214 1911//8125 +f 2166//8215 2165//8127 2036//8126 +f 2037//8214 2166//8215 2036//8126 +f 2298//8216 2297//8128 2165//8127 +f 2166//8215 2298//8216 2165//8127 +f 2432//8217 2431//8129 2297//8128 +f 2298//8216 2432//8217 2297//8128 +f 2567//8218 2566//8130 2431//8129 +f 2432//8217 2567//8218 2431//8129 +f 2702//8219 2701//8131 2566//8130 +f 2567//8218 2702//8219 2566//8130 +f 2838//8220 2837//8132 2701//8131 +f 2702//8219 2838//8220 2701//8131 +f 2977//8221 2976//8133 2837//8132 +f 2838//8220 2977//8221 2837//8132 +f 3118//8222 3117//8134 2976//8133 +f 2977//8221 3118//8222 2976//8133 +f 3258//8223 3257//8135 3117//8134 +f 3118//8222 3258//8223 3117//8134 +f 3397//8224 3396//8136 3257//8135 +f 3258//8223 3397//8224 3257//8135 +f 3530//8225 3529//8137 3396//8136 +f 3397//8224 3530//8225 3396//8136 +f 3530//8225 3660//8226 3659//8138 +f 3529//8137 3530//8225 3659//8138 +f 3660//8226 3792//8227 3791//8139 +f 3659//8138 3660//8226 3791//8139 +f 3792//8227 3924//8228 3923//8140 +f 3791//8139 3792//8227 3923//8140 +f 3924//8228 4058//8229 4057//8141 +f 3923//8140 3924//8228 4057//8141 +f 4058//8229 4191//8230 4190//8142 +f 4057//8141 4058//8229 4190//8142 +f 4191//8230 4324//8231 4323//8143 +f 4190//8142 4191//8230 4323//8143 +f 4324//8231 4458//8232 4457//8144 +f 4323//8143 4324//8231 4457//8144 +f 4458//8232 4592//8233 4591//8145 +f 4457//8144 4458//8232 4591//8145 +f 4726//8234 4725//8146 4591//8145 +f 4592//8233 4726//8234 4591//8145 +f 4861//8235 4860//8147 4725//8146 +f 4726//8234 4861//8235 4725//8146 +f 4996//8236 4995//8148 4860//8147 +f 4861//8235 4996//8236 4860//8147 +f 4996//8236 5131//8237 5130//8149 +f 4995//8148 4996//8236 5130//8149 +f 5131//8237 5265//8238 5264//8150 +f 5130//8149 5131//8237 5264//8150 +f 5400//8239 5399//8151 5264//8150 +f 5265//8238 5400//8239 5264//8150 +f 5400//8239 5534//8240 5533//8152 +f 5399//8151 5400//8239 5533//8152 +f 5534//8240 5669//8241 5668//8153 +f 5533//8152 5534//8240 5668//8153 +f 5803//8242 5802//8154 5668//8153 +f 5669//8241 5803//8242 5668//8153 +f 5935//8243 5934//8155 5802//8154 +f 5803//8242 5935//8243 5802//8154 +f 6067//8244 6066//8156 5934//8155 +f 5935//8243 6067//8244 5934//8155 +f 6197//8245 6196//8157 6066//8156 +f 6067//8244 6197//8245 6066//8156 +f 6326//8246 6325//8158 6196//8157 +f 6197//8245 6326//8246 6196//8157 +f 6453//8247 6452//8159 6325//8158 +f 6326//8246 6453//8247 6325//8158 +f 6579//8248 6578//8160 6452//8159 +f 6453//8247 6579//8248 6452//8159 +f 6579//8248 6704//8249 6703//8161 +f 6578//8160 6579//8248 6703//8161 +f 6831//8250 6830//8162 6703//8161 +f 6704//8249 6831//8250 6703//8161 +f 3703//8251 3704//8163 6830//8162 +f 6831//8250 3703//8251 6830//8162 +f 1608//8252 1600//8164 3704//8163 +f 3703//8251 1608//8252 3704//8163 +f 3304//5327 3446//8165 1600//8164 +f 1608//8252 3304//5327 1600//8164 +f 3313//8253 1300//315 15816//633 +f 9865//6236 8871//7540 16219//8254 +f 9517//5010 4257//5009 3061//4247 +f 9446//2019 12387//8255 11136//2020 +f 12764//8256 12765//8257 12856//8258 +f 4257//5009 7325//3537 3061//4247 +f 9400//8259 9878//8260 9994//8261 +f 2915//1122 13693//4493 6006//8262 +f 12773//8263 12774//8264 12865//8265 +f 11881//7139 12045//7138 12208//8266 +f 6109//5870 6239//5869 6108//8102 +f 13192//7371 11005//5968 3202//3539 +f 26073//4250 21360//8267 23748//8268 +f 2645//8269 2644//7019 2509//7018 +f 2510//8186 2645//8269 2509//7018 +f 408//8270 7234//5246 409//5245 +f 5977//5522 6109//5870 5976//6403 +f 1159//4489 1158//5675 1040//4860 +f 5850//4023 5851//8271 5982//5837 +f 2095//4846 4527//5400 2094//5402 +f 777//4399 776//5818 658//5140 +f 430//6106 544//4970 429//4972 +f 3290//3837 3429//2898 3289//2900 +f 4222//4991 4223//6599 4355//4364 +f 2095//4846 2094//5402 1959//7833 +f 1705//3822 1822//5398 1821//3648 +f 10598//2871 6796//2872 10970//3077 +f 668//6256 785//3278 3705//5821 +f 4349//2903 4483//5813 4348//8272 +f 3581//3654 2758//3653 3711//5820 +f 4482//8273 4483//5813 4616//3840 +f 4483//5813 4617//3841 4616//3840 +f 5027//4376 5162//4368 5161//4345 +f 4088//3483 4221//4365 4220//3843 +f 4253//8274 2103//7759 1603//576 +f 3005//5129 3004//4056 2865//4054 +f 5976//6403 6108//8102 5975//3175 +f 5976//6403 5975//3175 5843//3173 +f 13020//5994 12569//8275 12926//8276 +f 3170//6117 5986//6507 5855//4982 +f 419//3848 534//4505 533//3849 +f 3950//4396 3949//8277 3817//8278 +f 7820//7845 5830//8195 16//8105 +f 13388//2229 13484//2228 8009//8279 +f 5058//8280 1388//8197 6770//8106 +f 4394//8196 5058//8280 6770//8106 +f 25941//4251 26073//4250 23748//8268 +f 13677//8281 12726//8282 35800//2818 +f 21360//8267 24790//8283 24841//8284 +f 3351//3958 14565//8203 3329//4433 +f 14565//8203 2152//8285 3329//4433 +f 17028//8112 17187//1331 17018//7381 +f 16625//1332 17187//1331 17028//8112 +f 2669//1025 590//5165 16104//1145 +f 16104//1145 15964//5166 3875//1036 +f 17018//7381 590//5165 2669//1025 +f 15964//5166 170//5168 3875//1036 +f 17019//688 17018//7381 2669//1025 +f 590//5165 15964//5166 16104//1145 +f 21934//8286 10264//8287 21935//1757 +f 15199//843 8224//972 3340//844 +f 3623//1259 15636//1643 15502//1642 +f 1328//1908 859//415 1210//417 +f 20948//2996 23418//1411 20058//2280 +f 22416//166 22415//245 22318//1147 +f 6018//1398 6527//2064 2907//1400 +f 1171//2438 32//2104 3744//1401 +f 230//8288 906//3586 4096//6556 +f 4678//3004 4143//3208 5589//8289 +f 18479//8290 1326//8291 1325//8121 +f 15376//1095 15507//1760 15506//830 +f 1559//8292 1558//8210 1442//8207 +f 1443//8293 1559//8292 1442//8207 +f 1676//8294 1675//8211 1558//8210 +f 1559//8292 1676//8294 1558//8210 +f 1793//8295 1792//8212 1675//8211 +f 1676//8294 1793//8295 1675//8211 +f 1913//8296 1912//8213 1792//8212 +f 1793//8295 1913//8296 1792//8212 +f 2038//8297 2037//8214 1912//8213 +f 1913//8296 2038//8297 1912//8213 +f 2167//8298 2166//8215 2037//8214 +f 2038//8297 2167//8298 2037//8214 +f 2299//8299 2298//8216 2166//8215 +f 2167//8298 2299//8299 2166//8215 +f 2433//8300 2432//8217 2298//8216 +f 2299//8299 2433//8300 2298//8216 +f 2568//8301 2567//8218 2432//8217 +f 2433//8300 2568//8301 2432//8217 +f 2703//8302 2702//8219 2567//8218 +f 2568//8301 2703//8302 2567//8218 +f 2839//8303 2838//8220 2702//8219 +f 2703//8302 2839//8303 2702//8219 +f 2978//8304 2977//8221 2838//8220 +f 2839//8303 2978//8304 2838//8220 +f 2978//8304 3119//8305 3118//8222 +f 2977//8221 2978//8304 3118//8222 +f 3119//8305 3259//8306 3258//8223 +f 3118//8222 3119//8305 3258//8223 +f 3398//8307 3397//8224 3258//8223 +f 3259//8306 3398//8307 3258//8223 +f 27612//8308 21474//8309 35847//8310 +f 3397//8224 3398//8307 3530//8225 +f 5283//7578 14596//8311 14631//8312 +f 35555//8313 35429//8314 35487//2817 +f 16588//8315 16587//8316 16435//8317 +f 30771//2145 26504//2321 6875//2146 +f 3792//8227 3793//8318 3924//8228 +f 3660//8226 3661//8319 3792//8227 +f 16657//1774 16816//6457 16656//8320 +f 3793//8318 3925//8321 3924//8228 +f 3925//8321 4059//8322 4058//8229 +f 35516//8031 35694//8022 35779//4870 +f 2179//8323 3124//8324 5883//8325 +f 4059//8322 4192//8326 4191//8230 +f 4192//8326 4325//8327 4324//8231 +f 4819//2794 19148//8328 18486//1978 +f 4593//8329 4592//8233 4458//8232 +f 4459//8330 4593//8329 4458//8232 +f 4593//8329 4727//8331 4726//8234 +f 4592//8233 4593//8329 4726//8234 +f 4727//8331 4862//8332 4861//8235 +f 4726//8234 4727//8331 4861//8235 +f 4862//8332 4997//8333 4996//8236 +f 4861//8235 4862//8332 4996//8236 +f 4997//8333 5132//8334 5131//8237 +f 4996//8236 4997//8333 5131//8237 +f 5132//8334 5266//8335 5265//8238 +f 5131//8237 5132//8334 5265//8238 +f 5266//8335 5401//8336 5400//8239 +f 5265//8238 5266//8335 5400//8239 +f 5401//8336 5535//8337 5534//8240 +f 5400//8239 5401//8336 5534//8240 +f 5535//8337 5670//8338 5669//8241 +f 5534//8240 5535//8337 5669//8241 +f 5670//8338 5804//8339 5803//8242 +f 5669//8241 5670//8338 5803//8242 +f 5936//8340 5935//8243 5803//8242 +f 5804//8339 5936//8340 5803//8242 +f 6068//8341 6067//8244 5935//8243 +f 5936//8340 6068//8341 5935//8243 +f 6198//8342 6197//8245 6067//8244 +f 6068//8341 6198//8342 6067//8244 +f 6327//8343 6326//8246 6197//8245 +f 6198//8342 6327//8343 6197//8245 +f 6454//8344 6453//8247 6326//8246 +f 6327//8343 6454//8344 6326//8246 +f 6580//8345 6579//8248 6453//8247 +f 6454//8344 6580//8345 6453//8247 +f 6705//8346 6704//8249 6579//8248 +f 6580//8345 6705//8346 6579//8248 +f 6832//8347 6831//8250 6704//8249 +f 6705//8346 6832//8347 6704//8249 +f 3573//8348 3703//8251 6831//8250 +f 6832//8347 3573//8348 6831//8250 +f 3729//8349 1608//8252 3703//8251 +f 3573//8348 3729//8349 3703//8251 +f 3303//316 3304//5327 1608//8252 +f 3729//8349 3303//316 1608//8252 +f 2492//8350 2494//8351 7777//8352 +f 2123//7934 1377//8020 1611//2234 +f 20210//7568 20296//8189 20209//7569 +f 1385//6515 3058//3538 7325//3537 +f 12165//8353 12248//8354 12164//3327 +f 187//2517 8579//2519 7769//8355 +f 4519//8356 1386//6511 3713//2922 +f 16319//7747 12057//7746 16469//8357 +f 12865//8265 12866//8358 12958//8359 +f 12866//8358 12959//8360 12958//8359 +f 23403//335 23404//8361 5567//1633 +f 28365//8362 29021//8363 5556//8364 +f 35582//6446 35446//6504 35591//6447 +f 28820//6297 28953//8365 28952//8366 +f 8152//8367 548//8368 1141//8369 +f 3660//8226 3530//8225 19881//8370 +f 3952//5271 4086//3847 4085//4393 +f 1141//8369 1497//8371 8152//8367 +f 6375//5685 6376//6864 6502//5839 +f 1818//4224 1938//4227 1817//4673 +f 3561//3733 3562//4547 3691//3878 +f 896//4397 895//4704 776//5818 +f 3149//5022 3289//2900 3148//5395 +f 3429//2898 3562//4547 3561//3733 +f 11526//5971 11525//3344 11462//8372 +f 3149//5022 3148//5395 3007//5023 +f 12411//6724 12500//6386 12410//6388 +f 1953//4983 1832//5119 2228//1155 +f 5023//6254 5158//5433 5157//3735 +f 6222//4958 6351//5148 6221//4959 +f 1954//4048 1955//4047 5455//4241 +f 3822//3290 3954//3292 3821//4090 +f 5159//5404 5293//6929 5158//5433 +f 2247//5548 2248//4702 2379//8173 +f 6369//5292 6496//4651 6368//6010 +f 4351//4680 4352//3845 4485//4211 +f 5440//3051 5441//7832 5574//3052 +f 6622//4650 6621//7364 6495//6009 +f 5575//7925 5710//6514 5574//3052 +f 5710//6514 5709//3172 5574//3052 +f 5710//6514 5844//6402 5709//3172 +f 5844//6402 5843//3173 5709//3172 +f 35926//902 35453//7459 35517//2933 +f 9307//8373 5058//8280 10221//8374 +f 35394//3804 35529//8019 35589//5470 +f 1388//8197 2127//8375 132//8198 +f 23748//8268 21360//8267 24841//8284 +f 14662//269 14661//268 14569//1646 +f 21285//8376 5961//217 21284//219 +f 19434//8377 19881//8370 3530//8225 +f 17173//8028 16625//1332 17028//8112 +f 1445//1486 16625//1332 17173//8028 +f 3875//1036 170//5168 5273//1453 +f 4098//8378 3998//8379 16868//8380 +f 14908//1420 14909//1419 7904//1517 +f 20293//1457 20378//7375 20292//1458 +f 740//5161 18023//8381 622//8382 +f 17835//1785 506//8383 17930//8384 +f 15240//15 23419//14 10706//866 +f 860//5162 740//5161 741//8385 +f 3082//1260 3623//1259 15502//1642 +f 16817//6456 16818//948 16981//408 +f 11206//253 12143//2101 11563//2103 +f 22032//3003 22128//1780 22127//873 +f 2907//1400 1171//2438 3744//1401 +f 32//2104 15792//1944 17183//1468 +f 20381//8386 20380//8387 20295//8190 +f 4143//3208 3614//3401 5885//8388 +f 17123//3006 16320//1396 821//1628 +f 15375//823 15376//1095 15506//830 +f 4275//8389 4143//3208 5885//8388 +f 1443//8293 1444//5056 1559//8292 +f 33247//8390 33356//8391 33246//8392 +f 1677//8393 1676//8294 1559//8292 +f 1560//8394 1677//8393 1559//8292 +f 1794//8395 1793//8295 1676//8294 +f 1677//8393 1794//8395 1676//8294 +f 1914//8396 1913//8296 1793//8295 +f 1794//8395 1914//8396 1793//8295 +f 2039//8397 2038//8297 1913//8296 +f 1914//8396 2039//8397 1913//8296 +f 2168//8398 2167//8298 2038//8297 +f 2039//8397 2168//8398 2038//8297 +f 2300//8399 2299//8299 2167//8298 +f 2168//8398 2300//8399 2167//8298 +f 2300//8399 2434//8400 2433//8300 +f 2299//8299 2300//8399 2433//8300 +f 2434//8400 2569//8401 2568//8301 +f 2433//8300 2434//8400 2568//8301 +f 2569//8401 2704//8402 2703//8302 +f 2568//8301 2569//8401 2703//8302 +f 2704//8402 2840//8403 2839//8303 +f 2703//8302 2704//8402 2839//8303 +f 2840//8403 2979//8404 2978//8304 +f 2839//8303 2840//8403 2978//8304 +f 2979//8404 3120//8405 3119//8305 +f 2978//8304 2979//8404 3119//8305 +f 3120//8405 3260//8406 3259//8306 +f 3119//8305 3120//8405 3259//8306 +f 16292//8407 16437//8408 16291//8409 +f 13597//6592 8671//2752 13507//8410 +f 11567//8411 14368//1043 14367//1045 +f 3399//3584 4414//1608 4281//1607 +f 16240//8412 15300//8413 2576//8414 +f 16383//8415 16240//8412 2576//8414 +f 16743//8416 16742//8417 16587//8316 +f 16436//8418 16588//8315 16435//8317 +f 7513//8419 7627//8420 928//3729 +f 16775//1298 16774//8421 12573//967 +f 16536//8422 14643//8423 1564//73 +f 16482//72 16536//8422 1564//73 +f 35482//3515 35664//7275 35868//3879 +f 16847//2106 16396//712 2232//6916 +f 5884//8424 2179//8323 5883//8325 +f 5217//8425 3731//8426 5218//8427 +f 16900//8428 17063//8429 16899//8430 +f 17063//8429 17062//8431 16899//8430 +f 5010//8432 19223//8433 4874//8434 +f 23305//175 23402//3402 23401//8435 +f 4728//8436 4727//8331 4593//8329 +f 18075//8437 19780//8438 19624//8439 +f 4863//8440 4862//8332 4727//8331 +f 4728//8436 4863//8440 4727//8331 +f 4863//8440 4998//8441 4997//8333 +f 4862//8332 4863//8440 4997//8333 +f 4998//8441 5133//8442 5132//8334 +f 4997//8333 4998//8441 5132//8334 +f 5133//8442 5267//8443 5266//8335 +f 5132//8334 5133//8442 5266//8335 +f 5267//8443 5402//8444 5401//8336 +f 5266//8335 5267//8443 5401//8336 +f 5402//8444 5536//8445 5535//8337 +f 5401//8336 5402//8444 5535//8337 +f 5536//8445 5671//8446 5670//8338 +f 5535//8337 5536//8445 5670//8338 +f 5805//8447 5804//8339 5670//8338 +f 5671//8446 5805//8447 5670//8338 +f 5937//8448 5936//8340 5804//8339 +f 5805//8447 5937//8448 5804//8339 +f 6069//8449 6068//8341 5936//8340 +f 5937//8448 6069//8449 5936//8340 +f 6199//8450 6198//8342 6068//8341 +f 6069//8449 6199//8450 6068//8341 +f 6328//8451 6327//8343 6198//8342 +f 6199//8450 6328//8451 6198//8342 +f 6455//8452 6454//8344 6327//8343 +f 6328//8451 6455//8452 6327//8343 +f 6581//8453 6580//8345 6454//8344 +f 6455//8452 6581//8453 6454//8344 +f 6706//8454 6705//8346 6580//8345 +f 6581//8453 6706//8454 6580//8345 +f 6833//8455 6832//8347 6705//8346 +f 6706//8454 6833//8455 6705//8346 +f 3441//8456 3573//8348 6832//8347 +f 6833//8455 3441//8456 6832//8347 +f 6758//8457 3729//8349 3573//8348 +f 3441//8456 6758//8457 3573//8348 +f 6758//8457 3158//314 3303//316 +f 3729//8349 6758//8457 3303//316 +f 2914//8458 9981//8459 10391//8460 +f 3979//8461 4113//8462 15973//2992 +f 20296//8189 20381//8386 20295//8190 +f 20465//8463 20464//8464 20380//8387 +f 12683//8465 12682//8466 12592//8467 +f 12593//8468 12683//8465 12592//8467 +f 31475//7665 11413//6272 31476//6271 +f 1617//2523 4519//8356 3713//2922 +f 28//1790 3182//7740 10024//1791 +f 19799//8469 30601//3166 30555//3165 +f 12197//8470 12220//8471 12138//8472 +f 11409//809 5563//8473 1019//8474 +f 8333//7242 13610//8475 13672//7444 +f 14218//3920 14316//3930 14217//7828 +f 418//5248 532//3850 531//7455 +f 3296//4071 3297//6844 3435//4069 +f 2063//4226 2062//5832 1937//5523 +f 1938//4227 2063//4226 1937//5523 +f 13827//4036 13925//3754 13826//3898 +f 2601//3445 2736//4010 2600//5128 +f 13098//765 13676//6508 12639//766 +f 6729//5690 451//3279 6728//5691 +f 3692//8014 3824//6620 3691//3878 +f 17089//2812 16925//8476 16766//2813 +f 5025//5397 5026//4375 5160//4344 +f 11658//8477 11657//8478 11582//3119 +f 6351//5148 6478//5149 6477//6255 +f 764//5018 765//3470 883//3058 +f 4621//4411 4620//5432 4486//4979 +f 5588//6814 1954//4048 5455//4241 +f 2882//4519 5186//3652 3581//3654 +f 26735//8479 18937//8480 26624//8481 +f 2515//4664 2650//4663 2649//3107 +f 4895//5110 4896//8098 5030//4976 +f 5582//8482 5717//8483 5716//3827 +f 5581//3826 5582//8482 5716//3827 +f 6753//6618 2121//4403 2012//8484 +f 6752//8485 6753//6618 2012//8484 +f 6627//5841 6628//5840 6752//8485 +f 3949//8277 3950//4396 4083//6519 +f 3818//5665 3817//8278 3685//5666 +f 3950//4396 4084//4394 4083//6519 +f 6941//8486 210//8487 7039//8488 +f 29687//5313 35542//4087 29221//4088 +f 4520//8489 347//8490 16960//8491 +f 16960//8491 4364//8492 4520//8489 +f 27088//8493 27087//8494 26971//8495 +f 9314//4097 10854//8496 14315//8091 +f 12005//2755 27532//8497 12087//8498 +f 14662//269 12287//8499 14571//4445 +f 3329//4433 2152//8285 17177//3956 +f 13609//6530 35858//7054 35444//8500 +f 10091//8501 10210//8502 10209//8503 +f 35519//8504 35888//3122 35847//8310 +f 35493//8505 35477//8506 35590//189 +f 35892//8507 35497//6111 35395//8508 +f 623//8509 622//8382 507//8510 +f 508//8511 623//8509 507//8510 +f 741//8385 740//5161 622//8382 +f 623//8509 741//8385 622//8382 +f 17237//1242 4330//701 17236//1238 +f 980//8512 18206//8513 860//5162 +f 22075//419 9624//1409 22069//4449 +f 21113//1940 21114//261 19911//8514 +f 3744//1401 32//2104 17183//1468 +f 15792//1944 16243//970 16242//969 +f 35683//8515 35770//609 35562//608 +f 15918//1255 16060//1254 15917//8516 +f 16796//8517 15522//110 16672//109 +f 3614//3401 906//3586 230//8288 +f 5885//8388 3614//3401 230//8288 +f 15507//1760 15642//1456 15641//831 +f 15506//830 15507//1760 15641//831 +f 1561//8518 1560//8394 18674//5055 +f 1560//8394 1559//8292 1444//5056 +f 1561//8518 1678//8519 1677//8393 +f 1677//8393 1678//8519 1794//8395 +f 1795//8520 1915//8521 1914//8396 +f 1794//8395 1795//8520 1914//8396 +f 1915//8521 2040//8522 2039//8397 +f 1914//8396 1915//8521 2039//8397 +f 2040//8522 2169//8523 2168//8398 +f 2039//8397 2040//8522 2168//8398 +f 2169//8523 2301//8524 2300//8399 +f 2168//8398 2169//8523 2300//8399 +f 2301//8524 2435//8525 2434//8400 +f 2300//8399 2301//8524 2434//8400 +f 2435//8525 2570//8526 2569//8401 +f 2434//8400 2435//8525 2569//8401 +f 2570//8526 2705//8527 2704//8402 +f 2569//8401 2570//8526 2704//8402 +f 2705//8527 2841//8528 2840//8403 +f 2704//8402 2705//8527 2840//8403 +f 19012//8529 19113//8530 1527//8531 +f 2840//8403 2841//8528 2979//8404 +f 19498//8532 19608//8533 2571//8534 +f 2979//8404 2980//8535 3120//8405 +f 1488//8536 3876//8537 14617//8538 +f 35451//4266 35406//2706 35814//3183 +f 61//8539 1059//8540 20281//2431 +f 16437//8408 16436//8418 16291//8409 +f 506//8383 17835//1785 507//8510 +f 2848//8541 3399//3584 4281//1607 +f 14929//8542 16510//8543 16493//8544 +f 14921//8545 14929//8542 16493//8544 +f 5216//8546 4117//8547 5217//8425 +f 16588//8315 16743//8416 16587//8316 +f 3340//844 22857//8548 7856//8549 +f 22151//2408 15600//428 22149//8550 +f 17145//8551 17146//6652 166//8552 +f 5493//6751 3399//3584 2848//8541 +f 1658//8553 5056//8554 5144//8555 +f 5056//8554 2416//8556 5144//8555 +f 5884//8424 5883//8325 1852//8557 +f 3731//8426 5884//8424 1852//8557 +f 17227//8558 17226//8559 17062//8431 +f 17063//8429 17227//8558 17062//8431 +f 19136//6400 35548//3260 35393//3883 +f 15600//428 9280//8560 22149//8550 +f 14643//8423 15763//8561 7114//7570 +f 1564//73 14643//8423 7114//7570 +f 35542//4087 29417//6712 35408//8562 +f 15698//1689 4814//1688 5083//8563 +f 4864//8564 4999//8565 4998//8441 +f 4863//8440 4864//8564 4998//8441 +f 4999//8565 5134//8566 5133//8442 +f 4998//8441 4999//8565 5133//8442 +f 5134//8566 5268//8567 5267//8443 +f 5133//8442 5134//8566 5267//8443 +f 5268//8567 5403//8568 5402//8444 +f 5267//8443 5268//8567 5402//8444 +f 5403//8568 5537//8569 5536//8445 +f 5402//8444 5403//8568 5536//8445 +f 5672//8570 5671//8446 5536//8445 +f 5537//8569 5672//8570 5536//8445 +f 5806//8571 5805//8447 5671//8446 +f 5672//8570 5806//8571 5671//8446 +f 5938//8572 5937//8448 5805//8447 +f 5806//8571 5938//8572 5805//8447 +f 6070//8573 6069//8449 5937//8448 +f 5938//8572 6070//8573 5937//8448 +f 6200//8574 6199//8450 6069//8449 +f 6070//8573 6200//8574 6069//8449 +f 6329//8575 6328//8451 6199//8450 +f 6200//8574 6329//8575 6199//8450 +f 6456//8576 6455//8452 6328//8451 +f 6329//8575 6456//8576 6328//8451 +f 6582//8577 6581//8453 6455//8452 +f 6456//8576 6582//8577 6455//8452 +f 6707//8578 6706//8454 6581//8453 +f 6582//8577 6707//8578 6581//8453 +f 6834//8579 6833//8455 6706//8454 +f 6707//8578 6834//8579 6706//8454 +f 3440//8580 3441//8456 6833//8455 +f 6834//8579 3440//8580 6833//8455 +f 306//8581 6758//8457 3441//8456 +f 3440//8580 306//8581 3441//8456 +f 3841//8582 3158//314 6758//8457 +f 306//8581 3841//8582 6758//8457 +f 15968//5466 4113//8462 3715//8583 +f 3841//8582 4113//8462 3158//314 +f 20381//8386 20465//8463 20380//8387 +f 13164//8584 13259//8585 13163//8586 +f 12683//8465 12772//8587 12771//8588 +f 12248//8354 12333//8589 12247//3328 +f 12114//8179 12197//8470 12138//8472 +f 12220//8471 11485//8590 12118//8591 +f 11588//5019 11663//5854 11587//5020 +f 12236//8592 12237//3751 12321//5830 +f 25973//8593 11839//8594 23733//8595 +f 23727//8596 24747//8597 24768//8598 +f 23989//8599 23990//2197 23984//8600 +f 25216//8601 23760//8602 25368//8603 +f 717//6023 718//6153 836//3807 +f 3557//3644 3687//2978 3556//2868 +f 3297//6844 3436//6130 3435//4069 +f 5717//8483 5851//8271 5850//4023 +f 5851//8271 5983//5728 5982//5837 +f 7044//7930 320//6104 319//8604 +f 1474//5964 1473//6120 1357//5965 +f 1358//5532 1357//5965 1241//4961 +f 6503//6827 6629//6383 6628//5840 +f 3824//6620 3823//3291 3691//3878 +f 3824//6620 3956//4382 3823//3291 +f 1821//3648 1822//5398 1941//3649 +f 5161//4345 5295//4369 5294//4346 +f 4887//4719 4888//6609 5022//4554 +f 3557//3644 3558//3643 3687//2978 +f 2324//4818 2458//4043 2457//5108 +f 4483//5813 4482//8273 4348//8272 +f 1002//3282 1120//3284 1119//5134 +f 1587//3466 1704//4897 1703//4049 +f 5464//8605 30332//8606 6532//2131 +f 35467//2217 29126//5464 28944//2454 +f 1148//2175 3327//2339 1147//2340 +f 1945//6810 2070//5950 2069//5850 +f 5039//4367 5174//3479 5173//3074 +f 1359//2688 1358//5532 1242//2668 +f 1015//3669 1133//4208 1014//4703 +f 1709//4040 1708//5517 1591//5531 +f 6355//8607 6354//8608 8521//8609 +f 1123//4821 1124//4963 1239//5279 +f 2744//6719 2743//8610 2342//8611 +f 12641//2558 11950//7732 12913//2559 +f 7860//8612 7976//6259 1401//4498 +f 35730//187 35764//2693 35644//580 +f 25528//8613 12253//8614 25369//8615 +f 13506//8616 4119//2619 13597//6592 +f 8557//8617 11785//8618 10828//8619 +f 649//4884 767//4878 766//4684 +f 785//3278 3302//4837 3705//5821 +f 1627//2973 8304//8620 1626//6148 +f 4484//4210 4618//4212 4617//3841 +f 6223//4530 6224//5021 6352//4843 +f 15363//731 5758//8621 933//740 +f 16688//7763 16692//1800 1071//7850 +f 509//8622 508//8511 394//8623 +f 393//1787 394//8623 508//8511 +f 624//8624 623//8509 508//8511 +f 509//8622 624//8624 508//8511 +f 742//8625 741//8385 623//8509 +f 624//8624 742//8625 623//8509 +f 861//8626 860//5162 741//8385 +f 742//8625 861//8626 741//8385 +f 35404//8627 35724//8628 35511//8629 +f 861//8626 980//8512 860//5162 +f 17183//1468 15792//1944 16242//969 +f 18390//6443 18298//8630 1098//8631 +f 4148//1224 15182//1225 16696//1227 +f 16203//547 16349//546 16202//8632 +f 16203//547 16202//8632 16059//8633 +f 4678//3004 5589//8289 2172//3594 +f 1920//2788 4678//3004 2172//3594 +f 15641//831 15642//1456 15778//1755 +f 15642//1456 15779//1295 15778//1755 +f 5952//1133 15657//8634 5489//4576 +f 15247//812 15248//987 15375//823 +f 2172//3594 5589//8289 2171//8635 +f 5589//8289 4544//8636 2171//8635 +f 18872//8637 1796//8638 1795//8520 +f 18872//8637 1795//8520 1678//8519 +f 405//8639 35576//8640 11364//8641 +f 1915//8521 1916//8642 2040//8522 +f 19074//8643 2041//3790 1916//8642 +f 2040//8522 2041//3790 2169//8523 +f 2041//3790 2170//3789 2169//8523 +f 2169//8523 2170//3789 2301//8524 +f 35445//5014 35531//3033 35534//5015 +f 35412//8644 35924//8645 35745//5317 +f 35805//8646 35862//6848 14563//6847 +f 2435//8525 2436//8647 2570//8526 +f 19497//8648 2571//8534 2436//8647 +f 2570//8526 2571//8534 2705//8527 +f 5744//8649 16704//721 4809//720 +f 19497//8648 19498//8532 2571//8534 +f 1888//8650 16053//8651 15501//8652 +f 35940//8653 35538//8654 5426//8655 +f 17191//8656 17189//8657 16251//8658 +f 16253//8659 2150//8660 17181//8661 +f 14617//8538 5201//8662 401//8663 +f 5201//8662 1504//8664 401//8663 +f 7455//8665 7364//8666 13276//8667 +f 12255//8668 13304//8669 8796//8670 +f 20550//8671 20549//8672 20464//8464 +f 15140//6167 16797//5885 16793//5311 +f 16493//8544 16510//8543 700//8673 +f 16510//8543 2934//8674 700//8673 +f 5216//8546 5217//8425 1570//8675 +f 1686//8676 5216//8546 1570//8675 +f 22318//1147 22317//8677 22221//8678 +f 17562//8679 18176//2264 18379//2263 +f 5083//8563 14784//8680 14760//8681 +f 2396//6305 2262//6307 4260//8682 +f 6013//8683 14642//8684 3856//8111 +f 2416//8556 16252//8685 3068//8686 +f 3731//8426 1852//8557 5218//8427 +f 2149//8687 5056//8554 1658//8553 +f 4601//8688 4600//8689 17226//8559 +f 17227//8558 4601//8688 17226//8559 +f 23044//8690 21403//8691 15482//8692 +f 1862//4022 8627//8693 8519//8694 +f 16059//8633 16202//8632 16058//8695 +f 16348//1853 16347//8696 16201//8697 +f 9739//8698 9740//8699 9855//8700 +f 14773//2292 14886//8701 14772//2293 +f 29417//6712 35883//3619 35408//8562 +f 3124//8324 15567//8702 4009//8703 +f 5135//8704 5134//8566 4999//8565 +f 5000//8705 5135//8704 4999//8565 +f 5135//8704 5269//8706 5268//8567 +f 5134//8566 5135//8704 5268//8567 +f 5269//8706 5404//8707 5403//8568 +f 5268//8567 5269//8706 5403//8568 +f 5404//8707 5538//8708 5537//8569 +f 5403//8568 5404//8707 5537//8569 +f 5538//8708 5673//8709 5672//8570 +f 5537//8569 5538//8708 5672//8570 +f 5807//8710 5806//8571 5672//8570 +f 5673//8709 5807//8710 5672//8570 +f 5939//8711 5938//8572 5806//8571 +f 5807//8710 5939//8711 5806//8571 +f 6071//8712 6070//8573 5938//8572 +f 5939//8711 6071//8712 5938//8572 +f 6201//8713 6200//8574 6070//8573 +f 6071//8712 6201//8713 6070//8573 +f 6330//8714 6329//8575 6200//8574 +f 6201//8713 6330//8714 6200//8574 +f 6457//8715 6456//8576 6329//8575 +f 6330//8714 6457//8715 6329//8575 +f 6583//8716 6582//8577 6456//8576 +f 6457//8715 6583//8716 6456//8576 +f 6708//8717 6707//8578 6582//8577 +f 6583//8716 6708//8717 6582//8577 +f 6835//8718 6834//8579 6707//8578 +f 6708//8717 6835//8718 6707//8578 +f 3301//8719 3440//8580 6834//8579 +f 6835//8718 3301//8719 6834//8579 +f 3301//8719 1285//8720 306//8581 +f 3440//8580 3301//8719 306//8581 +f 3709//8721 3841//8582 306//8581 +f 1285//8720 3709//8721 306//8581 +f 3715//8583 4113//8462 3841//8582 +f 3709//8721 3715//8583 3841//8582 +f 13259//8585 13355//4111 13354//4110 +f 35414//8722 35434//8723 35894//7274 +f 20465//8463 20550//8671 20464//8464 +f 20632//8724 20631//8725 20549//8672 +f 12138//8472 12220//8471 12118//8591 +f 35391//8726 14563//6847 35722//8727 +f 13192//7371 6385//5966 11005//5968 +f 1715//7920 8590//7922 8589//8728 +f 26288//8729 26229//8730 23707//8731 +f 24489//8732 25528//8613 25369//8615 +f 1277//2895 1278//6253 1393//2896 +f 3958//5986 4092//3443 3957//5117 +f 5851//8271 5718//5543 5852//5726 +f 1844//4271 1726//6380 16636//470 +f 2216//4666 2217//3296 5991//6845 +f 652//5409 653//3300 770//4894 +f 3299//8733 2885//8734 3439//6404 +f 3970//7835 3971//6716 665//4534 +f 3428//2899 3429//2898 3561//3733 +f 3956//4382 3955//3481 3823//3291 +f 6612//5137 6613//3835 6737//3839 +f 3151//5385 3291//3812 3150//5386 +f 6738//3838 952//2684 935//4984 +f 3291//3812 3290//3837 3150//5386 +f 2593//3854 2728//3856 2727//8004 +f 1359//2688 1475//2690 1358//5532 +f 4351//4680 4485//4211 4484//4210 +f 2459//4044 2460//5816 2594//3855 +f 28819//6298 28820//6297 28952//8366 +f 6350//7260 6351//5148 6477//6255 +f 5576//4401 5577//4400 5711//6158 +f 5712//6157 5846//5947 5845//5946 +f 35815//2158 35500//2155 35705//2157 +f 4762//8735 4763//4086 4897//3368 +f 4621//4411 4622//3484 4755//3486 +f 3561//3733 3691//3878 3690//3734 +f 3427//5817 3428//2899 3560//3732 +f 3169//5288 5855//4982 5722//4981 +f 2513//8172 2514//5536 2648//3106 +f 20926//8736 20846//8737 25956//8738 +f 5591//3092 3167//3091 3310//5287 +f 28549//8739 30774//8740 29144//8741 +f 11720//5716 35782//2620 3043//5714 +f 35489//2447 35690//8742 12289//2448 +f 816//8743 3737//8744 695//8745 +f 4624//6242 4625//6121 4758//2876 +f 6377//6863 6378//6021 6504//6118 +f 1043//6617 1044//6284 1161//6819 +f 1278//6253 1394//6247 1393//2896 +f 5716//3827 5717//8483 5850//4023 +f 1162//6252 1278//6253 1277//2895 +f 5137//8746 16702//8747 14396//8748 +f 1890//1487 1445//1486 1446//7947 +f 395//8749 17742//8750 17743//8751 +f 20550//8671 20632//8724 20549//8672 +f 625//8752 624//8624 509//8622 +f 510//8753 625//8752 509//8622 +f 743//8754 742//8625 624//8624 +f 625//8752 743//8754 624//8624 +f 862//8755 861//8626 742//8625 +f 743//8754 862//8755 742//8625 +f 981//8756 980//8512 861//8626 +f 862//8755 981//8756 861//8626 +f 1099//8757 1098//8631 980//8512 +f 981//8756 1099//8757 980//8512 +f 7901//8758 913//6165 793//8759 +f 17744//8760 396//8761 395//8749 +f 16060//1254 16203//547 16059//8633 +f 16349//546 16348//1853 16202//8632 +f 4143//3208 4275//8389 5589//8289 +f 4461//2590 4462//3593 17231//6654 +f 14693//2082 16796//8517 16672//109 +f 15779//1295 15918//1255 15917//8516 +f 14410//2991 15793//795 15682//193 +f 15522//110 16796//8517 14549//803 +f 5589//8289 4275//8389 4544//8636 +f 4275//8389 4408//8762 4544//8636 +f 29498//8763 29497//8764 29360//8765 +f 1262//8766 5196//8767 8028//8768 +f 13667//2418 12306//8769 3730//2816 +f 29088//8770 29087//8771 28952//8366 +f 13580//8772 22344//8773 22651//8774 +f 30690//8775 30691//8776 30216//3111 +f 35759//1570 35569//3517 35349//1547 +f 15301//8777 15302//2607 15176//7748 +f 5877//8778 6773//3217 14518//8779 +f 15159//3218 15548//3216 16783//8780 +f 2526//3222 15023//3412 15022//8781 +f 4403//8782 4639//3220 2391//8783 +f 2443//3723 2311//1446 592//8784 +f 22218//396 22314//397 22313//8785 +f 15458//2527 15070//7846 14949//8786 +f 21198//8787 21109//8788 21110//8789 +f 14704//8790 16036//8791 15161//82 +f 2935//8792 16855//1620 16854//1764 +f 2934//8674 5877//8778 2484//8793 +f 14518//8779 16783//8780 1502//8794 +f 15022//8781 14937//8795 14929//8542 +f 1504//8664 4403//8782 4270//8796 +f 21771//8797 20897//8798 21776//8799 +f 13848//8800 4522//8801 20195//2815 +f 2130//737 940//1193 4230//738 +f 14083//2384 13674//8802 13384//8803 +f 17191//8656 16251//8658 16252//8685 +f 2934//8674 2484//8793 2149//8687 +f 4464//8804 4601//8688 17227//8558 +f 17228//8805 4464//8804 17227//8558 +f 16799//434 20664//433 16800//8806 +f 22029//8807 22030//1142 22125//8808 +f 16979//8809 16980//6553 17145//8551 +f 5423//8810 5424//8811 16049//8812 +f 3128//7376 6013//8683 3856//8111 +f 16383//8415 2576//8414 15357//6431 +f 5278//8813 2149//8687 1658//8553 +f 700//8673 2149//8687 5278//8813 +f 1570//8675 1455//8814 4600//8689 +f 4601//8688 1570//8675 4600//8689 +f 1054//2349 5323//2185 155//2184 +f 20713//8815 20712//8816 20631//8725 +f 16202//8632 16348//1853 16201//8697 +f 16501//1777 16500//8817 16347//8696 +f 15143//8818 3621//8819 14623//8820 +f 14709//8821 15040//8822 14920//8823 +f 5883//8325 3124//8324 4009//8703 +f 3124//8324 1998//8824 2359//8825 +f 17869//8826 5000//8705 19420//8827 +f 1852//8557 5883//8325 2522//8828 +f 5270//3990 5269//8706 5135//8704 +f 16171//3781 4824//3599 4688//8829 +f 5270//3990 5405//3992 5404//8707 +f 5269//8706 5270//3990 5404//8707 +f 5405//3992 5539//8830 5538//8708 +f 5404//8707 5405//3992 5538//8708 +f 5674//8831 5673//8709 5538//8708 +f 5539//8830 5674//8831 5538//8708 +f 5808//8832 5807//8710 5673//8709 +f 5674//8831 5808//8832 5673//8709 +f 5940//8833 5939//8711 5807//8710 +f 5808//8832 5940//8833 5807//8710 +f 6072//8834 6071//8712 5939//8711 +f 5940//8833 6072//8834 5939//8711 +f 6202//8835 6201//8713 6071//8712 +f 6072//8834 6202//8835 6071//8712 +f 6331//8836 6330//8714 6201//8713 +f 6202//8835 6331//8836 6201//8713 +f 6458//8837 6457//8715 6330//8714 +f 6331//8836 6458//8837 6330//8714 +f 6584//8838 6583//8716 6457//8715 +f 6458//8837 6584//8838 6457//8715 +f 6709//8839 6708//8717 6583//8716 +f 6584//8838 6709//8839 6583//8716 +f 10//8840 6835//8718 6708//8717 +f 6709//8839 10//8840 6708//8717 +f 438//8841 3301//8719 6835//8718 +f 10//8840 438//8841 6835//8718 +f 307//8842 1285//8720 3301//8719 +f 438//8841 307//8842 3301//8719 +f 3447//8843 3709//8721 1285//8720 +f 307//8842 3447//8843 1285//8720 +f 3585//8844 3715//8583 3709//8721 +f 3447//8843 3585//8844 3709//8721 +f 2488//4598 6248//4597 3715//8583 +f 3585//8844 2488//4598 3715//8583 +f 13258//8845 13259//8585 13354//4110 +f 8030//7651 7813//8846 4266//8847 +f 12954//8848 12955//8849 13048//8850 +f 13049//8851 13143//8852 13142//8853 +f 22268//8854 20323//339 11711//218 +f 13878//4734 9978//4813 9859//5278 +f 5961//217 22268//8854 11711//218 +f 6493//6812 6619//7654 6618//8855 +f 13868//8856 13869//2726 13609//6530 +f 1394//6247 1510//6149 1393//2896 +f 924//6616 925//6398 1043//6617 +f 3294//4372 3293//4655 3153//4978 +f 6491//3089 6490//2881 6364//2880 +f 6753//6618 6754//6382 2121//4403 +f 5157//3735 5158//5433 5291//3736 +f 11526//5971 11593//5970 11525//3344 +f 4090//4381 4089//3482 3955//3481 +f 12478//8857 1329//8858 2627//8859 +f 33022//8860 32914//2274 7528//8861 +f 5555//8862 5062//7824 13772//4205 +f 1593//3678 1592//4039 1476//2689 +f 1475//2690 1591//5531 1474//5964 +f 1591//5531 1590//5520 1474//5964 +f 6614//6285 6613//3835 6487//3834 +f 5855//4982 1832//5119 1953//4983 +f 20632//8724 20713//8815 20631//8725 +f 6748//4413 6747//7363 6622//4650 +f 660//2873 778//6922 659//5139 +f 660//2873 659//5139 544//4970 +f 2601//3445 2600//5128 2465//4681 +f 35541//3885 35619//4207 35761//3886 +f 2066//7927 2067//5133 2195//5262 +f 4756//3485 4891//3287 4890//5396 +f 6106//3251 6105//3288 5973//3480 +f 1250//4243 1366//4062 1249//3437 +f 5974//3177 6106//3251 5973//3480 +f 3154//4514 3155//4077 3294//4372 +f 3295//4074 3434//4072 3433//4373 +f 8562//8863 9686//8864 8201//8865 +f 348//8866 695//8745 5474//8867 +f 9065//8868 7649//3088 6618//8855 +f 817//8869 16484//8870 816//8743 +f 5474//8867 695//8745 3737//8744 +f 1709//4040 1826//6813 1708//5517 +f 1476//2689 1592//4039 1475//2690 +f 2218//3295 2219//6821 5861//3488 +f 1161//6819 1162//6252 1277//2895 +f 806//6390 925//6398 924//6616 +f 14995//1515 15830//232 6016//231 +f 6363//2879 6490//2881 6362//5114 +f 251//8871 17626//8872 17849//8873 +f 510//8753 396//8761 511//8874 +f 626//8875 625//8752 510//8753 +f 511//8874 626//8875 510//8753 +f 744//8876 743//8754 625//8752 +f 626//8875 744//8876 625//8752 +f 863//8877 862//8755 743//8754 +f 744//8876 863//8877 743//8754 +f 982//8878 981//8756 862//8755 +f 863//8877 982//8878 862//8755 +f 982//8878 1100//8879 1099//8757 +f 981//8756 982//8878 1099//8757 +f 1216//8880 1215//6444 1099//8757 +f 1100//8879 1216//8880 1099//8757 +f 16502//1146 16501//1777 16348//1853 +f 1217//8881 18583//8882 1332//8883 +f 1920//2788 2172//3594 4462//3593 +f 17232//2084 4461//2590 17231//6654 +f 15778//1755 15779//1295 15917//8516 +f 16796//8517 14548//8884 14549//803 +f 16492//635 2670//634 16095//8885 +f 16513//8886 4784//1015 15626//4429 +f 4408//8762 4275//8389 3745//8887 +f 4275//8389 5885//8388 3745//8887 +f 4462//3593 4463//3595 17230//8888 +f 17231//6654 4462//3593 17230//8888 +f 22130//2427 22129//2426 22033//8889 +f 29547//1692 27410//8890 28307//2531 +f 16353//8891 16506//280 16505//304 +f 22415//245 22414//8892 22317//8677 +f 16550//6139 2935//8792 16854//1764 +f 517//3889 793//8759 792//965 +f 16512//3592 6773//3217 5877//8778 +f 16511//8893 16512//3592 5877//8778 +f 15023//3412 14945//3591 14937//8795 +f 2391//8783 2526//3222 15022//8781 +f 24790//8283 25338//8894 25337//8895 +f 22122//1303 22218//396 22217//8896 +f 21137//8897 23463//8898 8796//8670 +f 13700//8899 23468//8900 23366//8901 +f 15176//7748 4251//4987 4128//7473 +f 5489//4576 14704//8790 15161//82 +f 16783//8780 17189//8657 17191//8656 +f 2484//8793 14518//8779 1502//8794 +f 401//8663 1504//8664 4270//8796 +f 4403//8782 2391//8783 579//8902 +f 22121//2065 22122//1303 22217//8896 +f 23463//8898 23366//8901 8796//8670 +f 23148//6449 22048//8903 23132//8904 +f 695//8745 348//8866 6771//7652 +f 17181//8661 16240//8412 16383//8415 +f 2416//8556 17191//8656 16252//8685 +f 16901//8905 16900//8428 16742//8417 +f 16743//8416 16901//8905 16742//8417 +f 7065//8021 14485//2528 4689//8906 +f 21654//2824 21653//8907 7292//20 +f 16980//6553 16979//8809 16815//8908 +f 16816//6457 16980//6553 16815//8908 +f 14642//8684 16383//8415 3856//8111 +f 2576//8414 547//7644 15357//6431 +f 701//8909 700//8673 5278//8813 +f 6398//8910 6271//8911 349//8912 +f 5217//8425 5218//8427 1455//8814 +f 1570//8675 5217//8425 1455//8814 +f 20894//8913 15434//8914 18899//8915 +f 7401//8916 6991//3011 6537//8917 +f 50//8918 1061//8919 2396//6305 +f 16968//521 16959//523 15270//4438 +f 14419//7573 14418//1347 14399//274 +f 4131//4988 16695//2820 1153//4845 +f 15567//8702 3124//8324 2359//8825 +f 1998//8824 6398//8910 6776//8920 +f 16586//8921 16585//691 16433//690 +f 5218//8427 1852//8557 5219//8922 +f 23206//1915 23207//176 23304//1067 +f 13761//288 20011//8923 15156//2100 +f 35802//1569 35511//8629 35569//3517 +f 5136//8924 5270//3990 5135//8704 +f 35433//978 35478//977 35482//3515 +f 25130//8925 25129//8926 35634//3457 +f 5675//8927 5674//8831 5539//8830 +f 5540//8928 5675//8927 5539//8830 +f 5809//8929 5808//8832 5674//8831 +f 5675//8927 5809//8929 5674//8831 +f 5941//8930 5940//8833 5808//8832 +f 5809//8929 5941//8930 5808//8832 +f 6073//8931 6072//8834 5940//8833 +f 5941//8930 6073//8931 5940//8833 +f 6203//8932 6202//8835 6072//8834 +f 6073//8931 6203//8932 6072//8834 +f 6332//8933 6331//8836 6202//8835 +f 6203//8932 6332//8933 6202//8835 +f 6459//8934 6458//8837 6331//8836 +f 6332//8933 6459//8934 6331//8836 +f 6585//8935 6584//8838 6458//8837 +f 6459//8934 6585//8935 6458//8837 +f 6710//8936 6709//8839 6584//8838 +f 6585//8935 6710//8936 6584//8838 +f 11//8937 10//8840 6709//8839 +f 6710//8936 11//8937 6709//8839 +f 552//8938 438//8841 10//8840 +f 11//8937 552//8938 10//8840 +f 3838//8939 307//8842 438//8841 +f 552//8938 3838//8939 438//8841 +f 3580//8940 3447//8843 307//8842 +f 3838//8939 3580//8940 307//8842 +f 2345//8941 3585//8844 3447//8843 +f 3580//8940 2345//8941 3447//8843 +f 2487//8942 2488//4598 3585//8844 +f 2345//8941 2487//8942 3585//8844 +f 35357//8943 35466//8944 35616//8945 +f 35719//7148 27642//4728 35925//4727 +f 13048//8850 13049//8851 13142//8853 +f 14252//8946 7364//8666 3860//8947 +f 13885//3922 13873//4426 13227//2672 +f 13228//2673 13878//4734 1137//2674 +f 20795//8948 20794//8949 20712//8816 +f 20713//8815 20795//8948 20712//8816 +f 4243//2889 4110//3628 2620//3098 +f 2885//8734 2884//6248 3439//6404 +f 1044//6284 1162//6252 1161//6819 +f 33550//6809 805//6702 804//4358 +f 6233//5875 6234//3085 6362//5114 +f 6234//3085 6363//2879 6362//5114 +f 1710//3679 1827//3294 1709//4040 +f 2736//4010 2735//5143 2600//5128 +f 10807//8950 10808//8951 10932//8952 +f 650//5979 651//4658 768//4660 +f 3693//5985 3692//8014 3562//4547 +f 4760//6014 4895//5110 4894//3809 +f 1361//3872 1477//3871 1360//2892 +f 1477//3871 1593//3678 1476//2689 +f 6095//6944 6225//8953 6224//5021 +f 6224//5021 6225//8953 6353//4679 +f 26686//2216 28944//2454 29079//4869 +f 6094//4529 6095//6944 6224//5021 +f 5858//8954 2343//8955 7417//8956 +f 2341//7049 2342//8611 5989//7448 +f 316//3695 426//3693 425//3305 +f 20795//8948 20877//8957 20876//8958 +f 428//4220 542//4389 541//3690 +f 2481//6008 2346//5416 2353//5418 +f 5160//4344 5294//4346 5293//6929 +f 2328//4244 2327//4246 2195//5262 +f 1250//4243 1249//3437 1133//4208 +f 4752//3272 4753//4042 4887//4719 +f 13694//8959 13240//3741 5336//4421 +f 3008//4539 3007//5023 2868//4540 +f 14429//8960 6122//5849 5991//6845 +f 12768//3634 12769//4964 12860//8961 +f 35456//5186 26803//2819 11781//8962 +f 9783//8963 10760//7650 348//8866 +f 35802//1569 35404//8627 35511//8629 +f 695//8745 4266//8847 816//8743 +f 3970//7835 3299//8733 3439//6404 +f 6478//5149 6479//4678 6604//4844 +f 1125//3730 1124//4963 1006//4820 +f 30565//8964 30564//8965 30430//8966 +f 5291//3736 5206//5740 5290//3737 +f 6104//3289 6234//3085 6103//5012 +f 512//8967 511//8874 397//8968 +f 8224//972 13279//974 3340//844 +f 627//8969 626//8875 511//8874 +f 512//8967 627//8969 511//8874 +f 745//8970 744//8876 626//8875 +f 627//8969 745//8970 626//8875 +f 864//8971 863//8877 744//8876 +f 745//8970 864//8971 744//8876 +f 983//8972 982//8878 863//8877 +f 864//8971 983//8972 863//8877 +f 1101//8973 1100//8879 982//8878 +f 983//8972 1101//8973 982//8878 +f 1217//8881 1216//8880 1100//8879 +f 1101//8973 1217//8881 1100//8879 +f 5819//8974 5685//8975 19024//8976 +f 1216//8880 1217//8881 1332//8883 +f 16060//1254 16059//8633 15917//8516 +f 4461//2590 1920//2788 4462//3593 +f 3873//8977 16958//8978 3493//8979 +f 3070//8980 14930//1512 14413//1511 +f 5885//8388 230//8288 20//8981 +f 10992//1789 10141//8982 3483//8983 +f 17231//6654 17230//8888 17066//8984 +f 3745//8887 5885//8388 20//8981 +f 23108//2605 23206//1915 23107//1917 +f 2172//3594 2171//8635 4463//3595 +f 15889//8985 9177//8986 2017//1796 +f 22034//8987 22130//2427 22033//8889 +f 7892//8988 11698//8989 14766//723 +f 14998//1093 15121//1090 15120//1507 +f 16241//8990 468//2419 15301//8777 +f 14775//8991 14888//8992 14774//8993 +f 2171//8635 4544//8636 1802//8994 +f 6773//3217 15159//3218 14518//8779 +f 20289//2432 21122//1361 21121//2433 +f 17230//8888 4463//3595 17229//8995 +f 35615//2751 11977//2913 11315//8996 +f 16438//3783 16437//8408 16292//8407 +f 3532//8997 16216//8998 6147//8999 +f 15070//7846 15332//9000 15461//9001 +f 1502//8794 16783//8780 17191//8656 +f 31017//9002 30958//9003 11428//9004 +f 4270//8796 4403//8782 579//8902 +f 17189//8657 16253//8659 16251//8658 +f 21110//8789 21109//8788 21023//9005 +f 2391//8783 15022//8781 14979//9006 +f 53//9007 1737//736 6//9008 +f 25762//9009 16148//9010 25763//9011 +f 16251//8658 17181//8661 14642//8684 +f 35679//9012 35501//8015 35439//7553 +f 17064//9013 17063//8429 16900//8428 +f 14642//8684 17181//8661 16383//8415 +f 22411//9014 22412//915 22509//9015 +f 16901//8905 17064//9013 16900//8428 +f 17170//9016 17006//1352 9856//8109 +f 21051//1476 21213//1317 17107//9017 +f 35363//2261 35839//9018 35524//9019 +f 16980//6553 17146//6652 17145//8551 +f 15006//1448 15005//1450 14885//9020 +f 14363//9021 14350//9022 15143//8818 +f 463//9023 14978//9024 14952//9025 +f 2179//8323 1741//9026 1998//8824 +f 7065//8021 4689//8906 20728//9027 +f 22412//915 22510//2244 22509//9015 +f 15933//4288 14713//9028 14511//4289 +f 14579//9029 14671//5755 14578//9030 +f 4414//1608 4413//1759 90//1609 +f 2627//8859 12837//9031 12478//8857 +f 22267//6622 13341//9032 15730//3406 +f 2099//1156 6122//5849 14429//8960 +f 2359//8825 1998//8824 6776//8920 +f 6398//8910 349//8912 240//9033 +f 5883//8325 4009//8703 2522//8828 +f 1455//8814 5218//8427 2303//9034 +f 12896//9035 12963//9036 12990//1652 +f 35494//607 35770//609 35808//3503 +f 16202//8632 16201//8697 16058//8695 +f 14514//9037 15756//9038 15501//8652 +f 15365//9039 15237//8026 15238//8025 +f 31651//9040 33340//9041 11460//9042 +f 5541//9043 5676//9044 5675//8927 +f 5540//8928 5541//9043 5675//8927 +f 5810//9045 5809//8929 5675//8927 +f 5676//9044 5810//9045 5675//8927 +f 5942//9046 5941//8930 5809//8929 +f 5810//9045 5942//9046 5809//8929 +f 6074//9047 6073//8931 5941//8930 +f 5942//9046 6074//9047 5941//8930 +f 6204//9048 6203//8932 6073//8931 +f 6074//9047 6204//9048 6073//8931 +f 6333//9049 6332//8933 6203//8932 +f 6204//9048 6333//9049 6203//8932 +f 6460//9050 6459//8934 6332//8933 +f 6333//9049 6460//9050 6332//8933 +f 6586//9051 6585//8935 6459//8934 +f 6460//9050 6586//9051 6459//8934 +f 6711//9052 6710//8936 6585//8935 +f 6586//9051 6711//9052 6585//8935 +f 34//9053 11//8937 6710//8936 +f 6711//9052 34//9053 6710//8936 +f 551//9054 552//8938 11//8937 +f 34//9053 551//9054 11//8937 +f 3835//9055 3838//8939 552//8938 +f 551//9054 3835//9055 552//8938 +f 3710//9056 3580//8940 3838//8939 +f 3835//9055 3710//9056 3838//8939 +f 4782//9057 2345//8941 3580//8940 +f 3710//9056 4782//9057 3580//8940 +f 2486//9058 2487//8942 2345//8941 +f 4782//9057 2486//9058 2345//8941 +f 11495//9059 33541//9060 33542//9061 +f 2486//9058 1836//9062 2487//8942 +f 12955//8849 13049//8851 13048//8850 +f 35713//9063 35461//9064 35429//8314 +f 13450//9065 13546//8085 13545//8084 +f 10722//3921 9688//4257 13885//3922 +f 13873//4426 13228//2673 13227//2672 +f 4274//9066 89//9067 5600//2737 +f 12833//9068 11800//77 11620//79 +f 8457//9069 300//9070 1860//9071 +f 18998//9072 35113//9073 34212//9074 +f 925//6398 1044//6284 1043//6617 +f 1860//9071 3721//9075 10493//9076 +f 6234//3085 6233//5875 6103//5012 +f 2471//9077 2606//7831 2470//4066 +f 6748//4413 1887//4551 6747//7363 +f 1886//7460 1887//4551 192//7554 +f 2871//5142 2870//4037 2734//3832 +f 1515//3727 1631//3624 1514//3626 +f 3693//5985 3825//5984 3692//8014 +f 3825//5984 3824//6620 3692//8014 +f 13614//5017 13714//3108 9802//9078 +f 5708//3174 5842//3247 5707//3866 +f 6125//6413 8147//9079 4795//6521 +f 1598//4216 1715//7920 1597//5673 +f 6851//9080 12447//9081 25349//9082 +f 35383//6696 35794//7360 35608//6450 +f 3571//5525 2744//6719 2747//7022 +f 2747//7022 2744//6719 2341//7049 +f 3969//7021 3571//5525 2747//7022 +f 2744//6719 2342//8611 2341//7049 +f 2600//5128 2735//5143 2599//3630 +f 2200//4508 2332//6717 2331//4509 +f 3425//4718 3426//4717 3558//3643 +f 5159//5404 5160//4344 5293//6929 +f 6487//3834 6486//3836 6359//5256 +f 3563//4018 3693//5985 3562//4547 +f 2598//3631 2733//3833 2597//4822 +f 14023//3334 14024//3909 14121//3941 +f 5978//4185 5979//4184 6110//5414 +f 2871//5142 3010//5285 2870//4037 +f 1827//3294 1826//6813 1709//4040 +f 883//3058 1002//3282 1001//3059 +f 35592//1338 35447//1340 35609//9083 +f 35943//2835 35436//5243 35880//9084 +f 20794//8949 20795//8948 20876//8958 +f 2075//2572 2204//2571 2074//3675 +f 647//3472 648//4377 765//3470 +f 2064//4225 2065//7262 2193//4817 +f 30095//9085 30096//9086 19907//9087 +f 2219//6821 5727//9088 5861//3488 +f 2741//7261 2740//4079 2605//4078 +f 35741//4518 35645//2707 35406//2706 +f 399//9089 513//9090 512//8967 +f 7334//9091 398//9092 397//8968 +f 628//9093 627//8969 512//8967 +f 513//9090 628//9093 512//8967 +f 746//9094 745//8970 627//8969 +f 628//9093 746//9094 627//8969 +f 746//9094 865//9095 864//8971 +f 745//8970 746//9094 864//8971 +f 865//9095 984//9096 983//8972 +f 864//8971 865//9095 983//8972 +f 1102//9097 1101//8973 983//8972 +f 984//9096 1102//9097 983//8972 +f 1218//9098 1217//8881 1101//8973 +f 1102//9097 1218//9098 1101//8973 +f 1334//9099 1335//9100 18684//9101 +f 1217//8881 1218//9098 1333//9102 +f 14405//2275 14404//9103 14387//5750 +f 20877//8957 20957//9104 20956//3381 +f 230//8288 4096//6556 3598//9105 +f 5744//8649 15019//9106 16704//721 +f 17067//2085 17066//8984 16903//9107 +f 20//8981 230//8288 3598//9105 +f 11861//9108 12895//9109 21579//9110 +f 17067//2085 17231//6654 17066//8984 +f 22344//8773 3862//9111 22651//8774 +f 23304//1067 23303//9112 23205//1916 +f 13716//3318 16236//9113 16093//1561 +f 23852//9114 24657//9115 6654//9116 +f 21408//9117 18838//9118 18588//9119 +f 35511//8629 35724//8628 35726//8103 +f 2171//8635 1802//8994 4465//9120 +f 15022//8781 15023//3412 14937//8795 +f 17230//8888 17229//8995 17065//9121 +f 4408//8762 4541//9122 4411//9123 +f 20876//8958 20877//8957 20956//3381 +f 17066//8984 17230//8888 17065//9121 +f 5084//9124 5083//8563 14760//8681 +f 4119//2619 13506//8616 13505//9125 +f 15301//8777 15176//7748 15177//7645 +f 4532//9126 4402//9127 947//9128 +f 1686//8676 1802//8994 5216//8546 +f 5877//8778 14518//8779 2484//8793 +f 15865//2592 15458//2527 14949//8786 +f 579//8902 2391//8783 14979//9006 +f 17263//2664 23952//9129 16465//2665 +f 14485//2528 21051//1476 17107//9017 +f 700//8673 2934//8674 2149//8687 +f 35553//9130 35671//9131 35490//2773 +f 17228//8805 17227//8558 17063//8429 +f 16252//8685 16251//8658 14642//8684 +f 22432//9132 22630//9133 20179//9134 +f 17064//9013 17228//8805 17063//8429 +f 14700//485 4271//382 15908//381 +f 28953//8365 29088//8770 28952//8366 +f 2576//8414 15300//8413 547//7644 +f 13046//9135 13047//9136 13140//9137 +f 14591//9138 14614//9139 15960//9140 +f 14691//9141 14801//9142 6021//9143 +f 3124//8324 2179//8323 1998//8824 +f 6271//8911 463//9023 349//8912 +f 1741//9026 6271//8911 6398//8910 +f 1998//8824 1741//9026 6398//8910 +f 16742//8417 16741//9144 16586//8921 +f 16587//8316 16742//8417 16586//8921 +f 20721//9145 20803//7271 20802//9146 +f 22126//1144 22222//869 22125//8808 +f 20957//9104 21040//9147 21039//3382 +f 24995//3455 25129//8926 35522//9148 +f 5991//6845 1486//5948 14429//8960 +f 817//8869 7588//9149 16484//8870 +f 6776//8920 6398//8910 240//9033 +f 349//8912 14952//9025 14792//9150 +f 1852//8557 2522//8828 5219//8922 +f 4600//8689 1455//8814 4468//9151 +f 30027//4434 30352//9152 6876//4435 +f 21026//9153 21112//9154 21025//1210 +f 16208//9155 16209//9156 16354//9157 +f 15917//8516 16059//8633 16058//8695 +f 3591//1334 7466//2740 17030//9158 +f 7418//1636 16955//1635 7351//9159 +f 5542//9160 5677//9161 5676//9044 +f 29225//9162 29224//2791 29087//8771 +f 5811//9163 5810//9045 5676//9044 +f 5677//9161 5811//9163 5676//9044 +f 5943//9164 5942//9046 5810//9045 +f 5811//9163 5943//9164 5810//9045 +f 6075//9165 6074//9047 5942//9046 +f 5943//9164 6075//9165 5942//9046 +f 6205//9166 6204//9048 6074//9047 +f 6075//9165 6205//9166 6074//9047 +f 6334//9167 6333//9049 6204//9048 +f 6205//9166 6334//9167 6204//9048 +f 6461//9168 6460//9050 6333//9049 +f 6334//9167 6461//9168 6333//9049 +f 6587//9169 6586//9051 6460//9050 +f 6461//9168 6587//9169 6460//9050 +f 6712//9170 6711//9052 6586//9051 +f 6587//9169 6712//9170 6586//9051 +f 45//9171 34//9053 6711//9052 +f 6712//9170 45//9171 6711//9052 +f 1264//9172 551//9054 34//9053 +f 45//9171 1264//9172 34//9053 +f 3834//9173 3835//9055 551//9054 +f 1264//9172 3834//9173 551//9054 +f 3842//9174 3710//9056 3835//9055 +f 3834//9173 3842//9174 3835//9055 +f 4917//9175 4782//9057 3710//9056 +f 3842//9174 4917//9175 3710//9056 +f 2351//9176 2486//9058 4782//9057 +f 4917//9175 2351//9176 4782//9057 +f 1837//9177 1836//9062 2486//9058 +f 2351//9176 1837//9177 2486//9058 +f 1845//4272 2712//4292 1846//9178 +f 1837//9177 1846//9178 1836//9062 +f 13449//4112 13450//9065 13545//8084 +f 3404//646 1210//417 5562//1014 +f 13289//9179 11321//4232 10722//3921 +f 9688//4257 13873//4426 13885//3922 +f 20956//3381 20957//9104 21039//3382 +f 23023//9180 23024//5567 22437//9181 +f 24989//5539 11382//9182 1023//5540 +f 8992//9183 3721//9075 300//9070 +f 14557//1572 8044//9184 14556//1573 +f 2886//7264 2346//5416 2481//6008 +f 3011//5679 3010//5285 2871//5142 +f 1887//4551 1886//7460 6747//7363 +f 4620//5432 4621//4411 4754//4186 +f 2097//3655 4131//4988 2096//3656 +f 3569//4885 3699//4887 3698//3943 +f 3970//7835 4920//3095 3299//8733 +f 1253//9185 6386//9186 4111//9187 +f 6006//8262 13693//4493 1857//7465 +f 9432//4181 5876//1124 2000//5120 +f 5186//3652 5320//4242 1957//3657 +f 3839//6405 3300//4520 6260//3277 +f 4373//5297 4372//9188 4240//5453 +f 8132//6715 6090//6714 6089//9189 +f 1819//4050 1820//3651 1939//4223 +f 2595//5835 2730//7361 2729//4229 +f 1402//4405 3571//5525 3969//7021 +f 4800//7050 1402//4405 3969//7021 +f 35712//4286 35602//3454 35798//3453 +f 6506//9190 6632//3429 6631//5962 +f 6605//4701 6730//2849 6604//4844 +f 2110//5005 2239//5429 2238//5008 +f 1827//3294 1947//3097 1826//6813 +f 6230//5253 6231//5255 6359//5256 +f 23024//5567 22339//6033 22437//9181 +f 697//3093 4920//3095 3970//7835 +f 2199//4507 2198//5987 2069//5850 +f 763//4839 764//5018 882//3057 +f 5320//4242 1956//4240 1957//3657 +f 333//9191 4397//9192 563//2394 +f 5580//6234 5581//3826 5715//3828 +f 1942//5132 2067//5133 2066//7927 +f 10770//9193 10895//4483 10769//9194 +f 35491//5264 1530//5541 1023//5540 +f 4352//3845 4353//3844 4486//4979 +f 1586//3467 1587//3466 1703//4049 +f 2012//8484 2121//4403 1402//4405 +f 35929//9195 9539//5284 35623//5283 +f 3011//5679 3152//4656 3151//5385 +f 530//7456 531//7455 645//4838 +f 3325//5595 1836//9062 1846//9178 +f 2064//4225 2193//4817 2192//4816 +f 14931//7257 21404//1878 22066//379 +f 35750//9196 35509//9197 35869//7458 +f 35855//6112 35910//6873 35837//1955 +f 16029//9198 5275//2772 5568//4888 +f 629//9199 747//9200 746//9094 +f 628//9093 629//9199 746//9094 +f 747//9200 866//9201 865//9095 +f 746//9094 747//9200 865//9095 +f 985//9202 984//9096 865//9095 +f 866//9201 985//9202 865//9095 +f 1103//9203 1102//9097 984//9096 +f 985//9202 1103//9203 984//9096 +f 1219//9204 1218//9098 1102//9097 +f 1103//9203 1219//9204 1102//9097 +f 18685//9205 18684//9101 1335//9100 +f 1218//9098 1219//9204 1334//9099 +f 4096//6556 4536//3221 4639//3220 +f 1307//9206 14926//2429 15426//2428 +f 16746//3590 16745//9207 16590//3787 +f 3598//9105 4096//6556 4639//3220 +f 23463//8898 13700//8899 23366//8901 +f 16904//3774 17067//2085 16903//9107 +f 2388//1092 1179//9208 501//9209 +f 13668//2074 13667//2418 3730//2816 +f 2016//1832 3070//8980 2940//1130 +f 18396//9210 19379//9211 19772//9212 +f 14945//3591 16512//3592 16511//8893 +f 14350//9022 3621//8819 15143//8818 +f 4463//3595 2171//8635 4465//9120 +f 14937//8795 14945//3591 16511//8893 +f 17066//8984 17065//9121 16902//9213 +f 4544//8636 4411//9123 1802//8994 +f 29766//9214 26404//6825 28308//2220 +f 4463//3595 4465//9120 17229//8995 +f 2130//737 6143//9215 6144//1194 +f 22049//9216 13580//8772 22651//8774 +f 16251//8658 16253//8659 17181//8661 +f 6143//9215 15268//9217 15245//9218 +f 4541//9122 4117//8547 5216//8546 +f 15300//8413 15301//8777 15177//7645 +f 21024//1212 21110//8789 21023//9005 +f 4411//9123 4541//9122 5216//8546 +f 3532//8997 14322//9219 14926//2429 +f 15197//1306 20728//9027 10217//6865 +f 2484//8793 1502//8794 5056//8554 +f 15161//82 16036//8791 3619//83 +f 1686//8676 1570//8675 4601//8688 +f 2149//8687 2484//8793 5056//8554 +f 31996//9220 32096//9221 31995//9222 +f 4464//8804 1686//8676 4601//8688 +f 15777//1756 15778//1755 15916//9223 +f 11947//2593 21091//2420 23468//8900 +f 5144//8555 2416//8556 3068//8686 +f 4527//5400 5194//6249 1028//5401 +f 14914//9224 14921//8545 16483//9225 +f 16044//2775 14528//2780 15020//2776 +f 349//8912 463//9023 14952//9025 +f 14978//9024 14921//8545 14914//9224 +f 14952//9025 14978//9024 14914//9224 +f 14921//8545 16493//8544 16483//9225 +f 16435//8317 16587//8316 16434//9226 +f 20728//9027 4689//8906 20663//3140 +f 16900//8428 16899//8430 16741//9144 +f 16742//8417 16900//8428 16741//9144 +f 29361//2792 29498//8763 29360//8765 +f 20350//9227 16930//9228 2501//1250 +f 16348//1853 16501//1777 16347//8696 +f 2022//9229 10213//1797 9564//743 +f 2627//8859 5755//9230 12837//9031 +f 27//9231 3068//8686 3128//7376 +f 14952//9025 14914//9224 14905//9232 +f 14792//9150 14952//9025 14905//9232 +f 5218//8427 5219//8922 2303//9034 +f 17226//8559 4600//8689 17225//9233 +f 22630//9133 5276//9234 20179//9134 +f 15916//9223 15917//8516 16058//8695 +f 35719//7148 35925//4727 35566//7149 +f 14383//1044 14400//7572 14382//1048 +f 9974//9235 10091//8501 9973//8108 +f 5543//1356 5678//1355 5677//9161 +f 5542//9160 5543//1356 5677//9161 +f 5812//9236 5811//9163 5677//9161 +f 5678//1355 5812//9236 5677//9161 +f 5812//9236 5944//9237 5943//9164 +f 5811//9163 5812//9236 5943//9164 +f 5944//9237 6076//9238 6075//9165 +f 5943//9164 5944//9237 6075//9165 +f 6206//9239 6205//9166 6075//9165 +f 6076//9238 6206//9239 6075//9165 +f 6335//9240 6334//9167 6205//9166 +f 6206//9239 6335//9240 6205//9166 +f 6462//9241 6461//9168 6334//9167 +f 6335//9240 6462//9241 6334//9167 +f 6588//9242 6587//9169 6461//9168 +f 6462//9241 6588//9242 6461//9168 +f 6713//9243 6712//9170 6587//9169 +f 6588//9242 6713//9243 6587//9169 +f 48//9244 45//9171 6712//9170 +f 6713//9243 48//9244 6712//9170 +f 211//9245 1264//9172 45//9171 +f 48//9244 211//9245 45//9171 +f 308//9246 3834//9173 1264//9172 +f 211//9245 308//9246 1264//9172 +f 3974//9247 3842//9174 3834//9173 +f 308//9246 3974//9247 3834//9173 +f 5052//9248 4917//9175 3842//9174 +f 3974//9247 5052//9248 3842//9174 +f 2352//9249 2351//9176 4917//9175 +f 5052//9248 2352//9249 4917//9175 +f 1838//4270 1837//9177 2351//9176 +f 2352//9249 1838//4270 2351//9176 +f 16488//681 1845//4272 1844//4271 +f 1838//4270 1845//4272 1837//9177 +f 12709//5550 12798//7130 12708//9250 +f 12890//7131 12889//9251 12797//7132 +f 10740//9252 11263//4101 13289//9179 +f 11321//4232 9688//4257 10722//3921 +f 32725//9253 32724//9254 32610//9255 +f 13249//9256 13248//3560 13153//9257 +f 1871//8013 1991//9258 1990//8009 +f 788//2507 787//2342 578//2506 +f 2472//9259 2471//9077 2337//9260 +f 5028//7551 5029//5111 5163//4835 +f 5448//4407 5582//8482 5581//3826 +f 4891//3287 5026//4375 5025//5397 +f 3565//5113 3695//6518 3564//3816 +f 5436//2771 5437//4217 5570//5147 +f 6232//4829 6233//5875 6361//4830 +f 3293//4655 3432//5112 3431//3811 +f 1954//4048 1953//4983 2098//4045 +f 1953//4983 2228//1155 2098//4045 +f 2342//8611 2743//8610 2343//8955 +f 3839//6405 6260//3277 458//2848 +f 4620//5432 4754//4186 4753//4042 +f 5023//6254 5024//5405 5158//5433 +f 648//4377 766//4684 765//3470 +f 23425//9261 22146//9262 22147//9263 +f 2012//8484 1402//4405 4800//7050 +f 2011//7142 2012//8484 4800//7050 +f 2732//5154 2731//5267 2596//5403 +f 2068//4342 2197//5988 2067//5133 +f 449//2929 10501//2928 13714//3108 +f 3442//4522 2882//4519 3302//4837 +f 1609//4206 1484//1206 5861//3488 +f 1947//3097 1946//5941 1826//6813 +f 6733//3740 6734//3739 679//4533 +f 4920//3095 5591//3092 3299//8733 +f 2198//5987 2199//4507 2330//3450 +f 3436//6130 3437//5024 3569//4885 +f 35895//8006 35738//2774 35441//8007 +f 12124//3465 14171//3458 14166//3460 +f 5156//4555 5157//3735 5290//3737 +f 1399//5033 1515//3727 1398//3728 +f 1991//9258 2116//9264 2115//8010 +f 1990//8009 1991//9258 2115//8010 +f 13154//9265 13249//9256 13153//9257 +f 2116//9264 2245//9266 2244//8093 +f 2115//8010 2116//9264 2244//8093 +f 770//4894 889//4204 888//4203 +f 1514//3626 1630//3625 1513//3544 +f 778//6922 897//4398 777//4399 +f 778//6922 777//4399 659//5139 +f 1939//4223 2064//4225 1938//4227 +f 1887//4551 191//4083 192//7554 +f 2758//3653 2757//5826 3711//5820 +f 35784//184 35438//6711 35397//5584 +f 515//9267 630//9268 629//9199 +f 16048//9269 16029//9198 5568//4888 +f 630//9268 748//9270 747//9200 +f 629//9199 630//9268 747//9200 +f 748//9270 867//9271 866//9201 +f 747//9200 748//9270 866//9201 +f 867//9271 986//9272 985//9202 +f 866//9201 867//9271 985//9202 +f 1104//9273 1103//9203 985//9202 +f 986//9272 1104//9273 985//9202 +f 1104//9273 1220//9274 1219//9204 +f 1103//9203 1104//9273 1219//9204 +f 18686//9275 1336//9276 18687//9277 +f 1219//9204 1220//9274 1335//9100 +f 16591//3408 16746//3590 16590//3787 +f 4536//3221 2661//3410 2526//3222 +f 23397//2092 21029//1935 23396//1937 +f 16904//3774 16903//9107 16745//9207 +f 15120//1507 15121//1090 15247//812 +f 13700//8899 11947//2593 23468//8900 +f 14456//9278 1421//9279 5758//8621 +f 19150//9280 18056//9281 18917//3338 +f 15832//2424 468//2419 16241//8990 +f 1307//9206 3532//8997 14926//2429 +f 4544//8636 4408//8762 4411//9123 +f 468//2419 15302//2607 15301//8777 +f 16903//9107 16902//9213 16744//9282 +f 3745//8887 3876//8537 4541//9122 +f 21953//9283 22049//9216 22651//8774 +f 16903//9107 17066//8984 16902//9213 +f 940//1193 2130//737 6144//1194 +f 22132//6406 22131//9284 22035//6407 +f 2150//8660 16241//8990 16240//8412 +f 15162//9285 15292//798 15623//9286 +f 3876//8537 1488//8536 4117//8547 +f 17181//8661 2150//8660 16240//8412 +f 16589//9287 16588//8315 16436//8418 +f 4541//9122 3876//8537 4117//8547 +f 1181//9288 14535//465 14534//666 +f 16744//9282 16902//9213 16743//8416 +f 1502//8794 17191//8656 2416//8556 +f 4402//9127 1181//9288 947//9128 +f 17107//9017 9631//9289 9406//9290 +f 5056//8554 1502//8794 2416//8556 +f 15456//208 15864//207 15436//9291 +f 4117//8547 3731//8426 5217//8425 +f 17111//1157 547//7644 2228//1155 +f 23304//1067 23305//175 23401//8435 +f 16252//8685 14642//8684 6013//8683 +f 17146//6652 5493//6751 166//8552 +f 16493//8544 700//8673 701//8909 +f 3068//8686 16252//8685 6013//8683 +f 4689//8906 9406//9290 20663//3140 +f 16483//9225 16493//8544 701//8909 +f 16290//9292 16435//8317 16289//9293 +f 14485//2528 17107//9017 4689//8906 +f 16290//9292 16289//9293 16146//9294 +f 16587//8316 16586//8921 16434//9226 +f 16147//9295 16290//9292 16146//9294 +f 16435//8317 16434//9226 16289//9293 +f 23402//3402 9080//1634 23401//8435 +f 20640//9296 20721//9145 20639//264 +f 21933//9297 35269//9298 21934//8286 +f 12870//9299 12778//26 16928//377 +f 16657//1774 16656//8320 16500//8817 +f 16501//1777 16657//1774 16500//8817 +f 12287//8499 14569//1646 11621//1645 +f 16102//709 14700//485 2850//9300 +f 14914//9224 16483//9225 16478//9301 +f 2665//9302 701//8909 5547//9303 +f 15196//9304 15197//1306 21949//1305 +f 16899//8430 16898//683 16740//682 +f 12587//2921 12586//9305 12496//9306 +f 22812//1893 22813//1745 22911//1894 +f 15763//8561 14788//1068 14680//1291 +f 14886//8701 14885//9020 14772//2293 +f 14667//1349 14773//2292 14666//2294 +f 35423//7252 35433//978 35579//9307 +f 35905//9308 35387//6872 35497//6111 +f 5679//1354 5813//9309 5812//9236 +f 5678//1355 5679//1354 5812//9236 +f 5813//9309 5945//9310 5944//9237 +f 5812//9236 5813//9309 5944//9237 +f 5945//9310 6077//9311 6076//9238 +f 5944//9237 5945//9310 6076//9238 +f 6077//9311 6207//9312 6206//9239 +f 6076//9238 6077//9311 6206//9239 +f 6336//9313 6335//9240 6206//9239 +f 6207//9312 6336//9313 6206//9239 +f 6463//9314 6462//9241 6335//9240 +f 6336//9313 6463//9314 6335//9240 +f 6589//9315 6588//9242 6462//9241 +f 6463//9314 6589//9315 6462//9241 +f 6714//9316 6713//9243 6588//9242 +f 6589//9315 6714//9316 6588//9242 +f 98//9317 48//9244 6713//9243 +f 6714//9316 98//9317 6713//9243 +f 2222//9318 211//9245 48//9244 +f 98//9317 2222//9318 48//9244 +f 309//9319 308//9246 211//9245 +f 2222//9318 309//9319 211//9245 +f 3017//9320 3974//9247 308//9246 +f 309//9319 3017//9320 308//9246 +f 4514//9321 5052//9248 3974//9247 +f 3017//9320 4514//9321 3974//9247 +f 2350//9322 2352//9249 5052//9248 +f 4514//9321 2350//9322 5052//9248 +f 6742//9323 1838//4270 2352//9249 +f 2350//9322 6742//9323 2352//9249 +f 35540//5879 35604//7478 35379//9324 +f 6742//9323 1844//4271 1838//4270 +f 18636//9325 18540//9326 18637//9327 +f 20265//9328 20350//9227 9677//9329 +f 11838//4099 11263//4101 12815//9330 +f 11263//4101 11321//4232 13289//9179 +f 13345//9331 13344//3558 13248//3560 +f 13249//9256 13345//9331 13248//3560 +f 2377//9332 2376//8185 2244//8093 +f 2245//9266 2377//9332 2244//8093 +f 4792//3320 13675//3158 6263//6516 +f 6357//4348 6358//4671 6484//4849 +f 1249//3437 1248//2488 1132//2492 +f 5447//4408 5448//4407 5581//3826 +f 29088//8770 29225//9162 29087//8771 +f 26577//7151 26682//9333 26681//7152 +f 4759//2877 4760//6014 4894//3809 +f 3431//3811 3432//5112 3564//3816 +f 3310//5287 5722//4981 5588//6814 +f 1527//8531 15520//9334 18914//9335 +f 2098//4045 2228//1155 4128//7473 +f 3148//5395 3147//7457 3006//7649 +f 12685//9336 12686//2956 12774//8264 +f 6482//4713 6483//4705 6608//4706 +f 1865//3462 1985//5004 1864//3463 +f 12686//2956 12775//9337 12774//8264 +f 6501//5686 6627//5841 6626//6927 +f 6752//8485 2012//8484 2011//7142 +f 6500//6842 6501//5686 6626//6927 +f 6627//5841 6752//8485 6751//7141 +f 4888//6609 4889//4187 5023//6254 +f 2884//6248 5455//4241 5320//4242 +f 5573//3053 5708//3174 5572//4063 +f 3566//4374 3567//4070 3696//8099 +f 679//4533 697//3093 3970//7835 +f 3007//5023 3006//7649 2867//5266 +f 6497//5027 6496//4651 6369//5292 +f 3288//5394 3287//4716 3147//7457 +f 4626//6013 4627//7643 4760//6014 +f 3695//6518 3694//4017 3564//3816 +f 13440//9338 13439//3715 13344//3558 +f 4219//3846 4220//3843 4352//3845 +f 9626//5423 2354//5417 11097//9339 +f 7043//5035 319//8604 318//5036 +f 13345//9331 13440//9338 13344//3558 +f 7809//7917 9418//7916 1647//1020 +f 2511//9340 2510//8186 2376//8185 +f 6732//4535 665//4534 6731//2965 +f 2377//9332 2511//9340 2376//8185 +f 4761//6619 4896//8098 4895//5110 +f 1747//3464 1864//3463 1746//4657 +f 13926//3907 14024//3909 14023//3334 +f 35065//9341 35064//5486 34935//4854 +f 3435//4069 3436//6130 3568//4067 +f 5302//4386 5437//4217 5436//2771 +f 27027//2262 26586//2625 28307//2531 +f 5568//4888 16042//6237 16048//9269 +f 631//9342 749//9343 748//9270 +f 630//9268 631//9342 748//9270 +f 749//9343 868//9344 867//9271 +f 748//9270 749//9343 867//9271 +f 868//9344 987//9345 986//9272 +f 867//9271 868//9344 986//9272 +f 1105//9346 1104//9273 986//9272 +f 987//9345 1105//9346 986//9272 +f 1105//9346 1221//9347 1220//9274 +f 1104//9273 1105//9346 1220//9274 +f 1337//9348 1338//9349 18688//9350 +f 1220//9274 1221//9347 1336//9276 +f 29362//9351 29361//2792 29224//2791 +f 16746//3590 16904//3774 16745//9207 +f 14997//4142 14998//1093 15120//1507 +f 21029//1935 15458//2527 15865//2592 +f 2482//9352 15142//9353 3492//2988 +f 15248//987 15376//1095 15375//823 +f 16254//2595 15832//2424 2150//8660 +f 710//9354 1065//9355 4532//9126 +f 4408//8762 3745//8887 4541//9122 +f 2150//8660 15832//2424 16241//8990 +f 16745//9207 16744//9282 16589//9287 +f 3745//8887 20//8981 5201//8662 +f 16767//9356 8154//9357 7185//9358 +f 16745//9207 16903//9107 16744//9282 +f 14607//715 14627//714 6146//6313 +f 15436//9291 172//9359 23400//9360 +f 16241//8990 15301//8777 15300//8413 +f 6144//1194 6143//9215 15245//9218 +f 4465//9120 1802//8994 4464//8804 +f 16240//8412 16241//8990 15300//8413 +f 16437//8408 16589//9287 16436//8418 +f 3876//8537 5201//8662 14617//8538 +f 14622//139 3406//9361 14805//951 +f 16744//9282 16743//8416 16588//8315 +f 15300//8413 15177//7645 547//7644 +f 14994//9362 16536//8422 16482//72 +f 20728//9027 20663//3140 10217//6865 +f 16249//9363 5869//9364 15055//9365 +f 16930//9228 12870//9299 16928//377 +f 16291//8409 16290//9292 16147//9295 +f 29262//9366 13318//2730 11501//2729 +f 12896//9035 12990//1652 12778//26 +f 3408//9367 3541//9368 3540//9369 +f 35356//6232 12133//8119 35821//6913 +f 3541//9368 3671//9370 3670//9371 +f 35432//2949 35753//4815 35458//9372 +f 35169//9373 17281//9374 35040//9375 +f 3802//9376 3671//9370 3803//9377 +f 4068//9378 3934//9379 4069//9380 +f 23865//9381 25686//9382 21510//9383 +f 4201//9384 4068//9378 4202//9385 +f 3935//9386 4069//9380 3934//9379 +f 7338//9387 7451//9388 515//9267 +f 4069//9380 4202//9385 4068//9378 +f 8132//6715 10223//9389 6091//5819 +f 4202//9385 4335//9390 4201//9384 +f 22314//397 22315//399 22411//9014 +f 4469//9391 18452//9392 17950//9393 +f 15778//1755 15917//8516 15916//9223 +f 1061//8919 15271//9394 1273//6306 +f 16816//6457 16815//8908 16656//8320 +f 2850//9300 14700//485 15908//381 +f 1658//8553 5144//8555 2049//9395 +f 15547//9396 1658//8553 2049//9395 +f 5278//8813 1658//8553 15547//9396 +f 5547//9303 5278//8813 15547//9396 +f 1875//5754 4547//9397 16943//9398 +f 16434//9226 16586//8921 16433//690 +f 12497//2918 12587//2921 12496//9306 +f 12587//2921 12677//2920 12676//9399 +f 2138//9400 35846//8117 35455//9401 +f 1525//1988 15900//9402 14983//1989 +f 14648//9403 1070//9404 16851//9405 +f 240//9033 14792//9150 14729//953 +f 14470//9406 15900//9402 4149//1769 +f 32756//9407 32868//4561 32867//4560 +f 19247//2260 30824//2532 21376//3014 +f 5814//9408 5946//9409 5945//9310 +f 5813//9309 5814//9408 5945//9310 +f 5946//9409 6078//9410 6077//9311 +f 5945//9310 5946//9409 6077//9311 +f 6078//9410 6208//9411 6207//9312 +f 6077//9311 6078//9410 6207//9312 +f 6337//9412 6336//9313 6207//9312 +f 6208//9411 6337//9412 6207//9312 +f 6464//9413 6463//9314 6336//9313 +f 6337//9412 6464//9413 6336//9313 +f 6590//9414 6589//9315 6463//9314 +f 6464//9413 6590//9414 6463//9314 +f 6715//9415 6714//9316 6589//9315 +f 6590//9414 6715//9415 6589//9315 +f 102//9416 98//9317 6714//9316 +f 6715//9415 102//9416 6714//9316 +f 3344//9417 2222//9318 98//9317 +f 102//9416 3344//9417 98//9317 +f 553//9418 309//9319 2222//9318 +f 3344//9417 553//9418 2222//9318 +f 3159//9419 3017//9320 309//9319 +f 553//9418 3159//9419 309//9319 +f 4648//9420 4514//9321 3017//9320 +f 3159//9419 4648//9420 3017//9320 +f 2349//9421 2350//9322 4514//9321 +f 4648//9420 2349//9421 4514//9321 +f 1614//6381 6742//9323 2350//9322 +f 2349//9421 1614//6381 2350//9322 +f 35374//2478 29430//9422 30688//2476 +f 1614//6381 1726//6380 6742//9323 +f 13466//9423 12896//9035 12870//9299 +f 12871//9424 12963//9036 12896//9035 +f 11838//4099 12815//9330 10854//8496 +f 9314//4097 11838//4099 10854//8496 +f 13536//9425 13535//3717 13439//3715 +f 13440//9338 13536//9425 13439//3715 +f 2646//9426 2645//8269 2510//8186 +f 3971//6716 3439//6404 3839//6405 +f 2511//9340 2646//9426 2510//8186 +f 1589//3820 1588//4896 1472//5538 +f 1481//4512 1597//5673 1480//2494 +f 28080//5424 28079//5425 27962//9427 +f 26930//2121 19040//2127 30734//2129 +f 2863//8005 2864//4053 3002//6101 +f 2192//4816 2324//4818 2323//5107 +f 3003//4055 3144//4058 3143//5436 +f 1235//5135 1236//4688 1351//5121 +f 3287//4716 3288//5394 3426//4717 +f 2868//4540 3007//5023 2867//5266 +f 1365//3438 1364//2491 1248//2488 +f 1133//4208 1132//2492 1014//4703 +f 5179//9428 10566//9429 11189//9430 +f 4350//2902 4351//4680 4484//4210 +f 11312//3184 5852//5726 5718//5543 +f 5717//8483 5718//5543 5851//8271 +f 6751//7141 6752//8485 2011//7142 +f 6626//6927 6627//5841 6751//7141 +f 6481//6713 6607//6245 6606//4677 +f 6225//8953 6354//8608 6353//4679 +f 3829//5258 3828//9431 3696//8099 +f 18725//9432 4335//9390 1523//9433 +f 5986//6507 2087//5138 1832//5119 +f 8628//9434 2108//7742 8627//8693 +f 3427//5817 3560//3732 3559//5399 +f 3148//5395 3288//5394 3147//7457 +f 3284//5659 3423//4391 3283//5254 +f 3696//8099 3695//6518 3565//5113 +f 4755//3486 4756//3485 4890//5396 +f 25265//9435 25127//9436 35900//9437 +f 9276//9438 9167//2759 9277//9439 +f 6246//3825 6116//6697 8907//3823 +f 9526//9440 7999//9441 975//9442 +f 35895//8006 35490//2773 35738//2774 +f 19434//8377 3530//8225 3398//8307 +f 2646//9426 2781//1444 2645//8269 +f 23638//9443 23637//9444 2223//9445 +f 13634//9446 13633//3719 13535//3717 +f 35641//8166 35681//8168 35503//2549 +f 6482//4713 6608//4706 6607//6245 +f 3433//4373 3432//5112 3293//4655 +f 31437//9447 31509//9448 31436//9449 +f 5722//4981 1953//4983 1954//4048 +f 2885//8734 3310//5287 5588//6814 +f 632//9450 750//9451 749//9343 +f 35711//7919 35526//8175 35822//5341 +f 750//9451 869//9452 868//9344 +f 749//9343 750//9451 868//9344 +f 869//9452 988//9453 987//9345 +f 868//9344 869//9452 987//9345 +f 988//9453 1106//9454 1105//9346 +f 987//9345 988//9453 1105//9346 +f 1106//9454 1222//9455 1221//9347 +f 1105//9346 1106//9454 1221//9347 +f 1338//9349 1339//9456 18690//9457 +f 1221//9347 1222//9455 1337//9348 +f 15121//1090 15248//987 15247//812 +f 29564//1405 28307//2531 26586//2625 +f 947//9128 1181//9288 14534//666 +f 15657//8634 5952//1133 14549//803 +f 5145//2594 16254//2595 16253//8659 +f 3619//83 3750//9458 14622//139 +f 3876//8537 3745//8887 5201//8662 +f 16253//8659 16254//2595 2150//8660 +f 16590//3787 16589//9287 16437//8408 +f 20//8981 3598//9105 1504//8664 +f 23304//1067 23401//8435 23400//9360 +f 16590//3787 16745//9207 16589//9287 +f 18139//9459 19108//9460 19007//9461 +f 12994//9462 14155//9463 13763//9464 +f 13237//9465 13238//9466 15273//9467 +f 3179//7544 35758//9468 10624//9469 +f 17229//8995 4465//9120 17228//8805 +f 35839//9018 35655//9470 35773//9471 +f 16589//9287 16744//9282 16588//8315 +f 1802//8994 4411//9123 5216//8546 +f 3621//8819 15139//9472 14623//8820 +f 16902//9213 16901//8905 16743//8416 +f 305//9473 5006//9474 2441//9475 +f 166//8552 5493//6751 2848//8541 +f 16147//9295 16146//9294 25763//9011 +f 5041//1336 111//9476 3591//1334 +f 21283//1918 21282//9477 9280//8560 +f 16436//8418 16435//8317 16290//9292 +f 4271//382 15684//1493 15683//383 +f 12363//9478 20094//3963 17102//3965 +f 3270//9479 3409//9480 3408//9367 +f 3269//6874 18080//473 18712//6875 +f 3409//9480 3542//9481 3541//9368 +f 3408//9367 3409//9480 3541//9368 +f 3542//9481 3672//9482 3671//9370 +f 3541//9368 3542//9481 3671//9370 +f 3672//9482 3804//9483 3803//9377 +f 3671//9370 3672//9482 3803//9377 +f 3804//9483 3936//9484 3935//9386 +f 3803//9377 3804//9483 3935//9386 +f 4070//9485 4069//9380 3935//9386 +f 3936//9484 4070//9485 3935//9386 +f 4203//9486 4202//9385 4069//9380 +f 4070//9485 4203//9486 4069//9380 +f 4336//9487 4335//9390 4202//9385 +f 4203//9486 4336//9487 4202//9385 +f 4470//9488 4469//9391 4335//9390 +f 4336//9487 4470//9488 4335//9390 +f 16433//690 16432//692 16287//955 +f 4604//9489 4739//9490 19629//9491 +f 5144//8555 3068//8686 27//9231 +f 35874//3436 35367//2986 35760//2319 +f 2049//9395 5144//8555 27//9231 +f 3068//8686 6013//8683 3128//7376 +f 701//8909 5278//8813 5547//9303 +f 14905//9232 14914//9224 16478//9301 +f 16741//9144 16740//682 16585//691 +f 16586//8921 16741//9144 16585//691 +f 12586//9305 12587//2921 12676//9399 +f 16146//9294 16289//9293 16145//820 +f 4824//3599 19229//3780 4825//3995 +f 5592//7002 5726//7237 5550//7234 +f 2665//9302 5547//9303 16094//1204 +f 2796//956 240//9033 14729//953 +f 5681//9492 5815//9493 5814//9408 +f 34214//9494 32683//9495 34979//9496 +f 5947//9497 5946//9409 5814//9408 +f 5815//9493 5947//9497 5814//9408 +f 6079//9498 6078//9410 5946//9409 +f 5947//9497 6079//9498 5946//9409 +f 6209//9499 6208//9411 6078//9410 +f 6079//9498 6209//9499 6078//9410 +f 6338//9500 6337//9412 6208//9411 +f 6209//9499 6338//9500 6208//9411 +f 6465//9501 6464//9413 6337//9412 +f 6338//9500 6465//9501 6337//9412 +f 6591//9502 6590//9414 6464//9413 +f 6465//9501 6591//9502 6464//9413 +f 6716//9503 6715//9415 6590//9414 +f 6591//9502 6716//9503 6590//9414 +f 153//9504 102//9416 6715//9415 +f 6716//9503 153//9504 6715//9415 +f 6126//9505 3344//9417 102//9416 +f 153//9504 6126//9505 102//9416 +f 3161//9506 553//9418 3344//9417 +f 6126//9505 3161//9506 3344//9417 +f 3163//9507 3159//9419 553//9418 +f 3161//9506 3163//9507 553//9418 +f 4380//9508 4648//9420 3159//9419 +f 3163//9507 4380//9508 3159//9419 +f 2348//9509 2349//9421 4648//9420 +f 4380//9508 2348//9509 4648//9420 +f 4528//9510 1614//6381 2349//9421 +f 2348//9509 4528//9510 2349//9421 +f 1972//2805 35809//6870 35797//2806 +f 13555//9511 29297//9512 29434//9513 +f 35434//8723 35717//5273 35860//5272 +f 12861//9514 12862//9515 12954//8848 +f 11263//4101 10740//9252 12815//9330 +f 11858//3522 10489//1597 10005//1599 +f 13536//9425 13634//9446 13535//3717 +f 14316//3930 14315//8091 14217//7828 +f 13732//9516 13731//3755 13633//3719 +f 29225//9162 29362//9351 29224//2791 +f 6022//4596 1836//9062 3325//5595 +f 13634//9446 13732//9516 13633//3719 +f 5021//4720 5156//4555 5155//7926 +f 311//9517 7246//4506 7139//9518 +f 27963//5944 28080//5424 27962//9427 +f 22921//9519 23020//9520 22920//9521 +f 5842//3247 5841//3670 5707//3866 +f 3960//9522 4094//6820 3959//9523 +f 3696//8099 3828//9431 3695//6518 +f 3559//5399 3560//3732 3689//4089 +f 3007//5023 3148//5395 3006//7649 +f 1481//4512 1480//2494 1364//2491 +f 20570//9524 3488//494 674//3188 +f 6614//6285 6739//6128 6738//3838 +f 1514//3626 1513//3544 1397//3547 +f 5449//5544 5583//5542 5582//8482 +f 5448//4407 5449//5544 5582//8482 +f 6374//5684 6501//5686 6500//6842 +f 6373//6807 6374//5684 6500//6842 +f 5962//4824 5963//6943 6094//4529 +f 6354//8608 6481//6713 6480//4676 +f 6353//4679 6354//8608 6480//4676 +f 4753//4042 4754//4186 4888//6609 +f 1152//2685 1258//2681 1374//2686 +f 5855//4982 5986//6507 1832//5119 +f 3288//5394 3427//5817 3426//4717 +f 3426//4717 3427//5817 3559//5399 +f 3566//4374 3696//8099 3565//5113 +f 3828//9431 3827//6266 3695//6518 +f 4483//5813 4484//4210 4617//3841 +f 3014//4075 3155//4077 3154//4514 +f 315//3308 316//3695 425//3305 +f 540//3691 539//3304 425//3305 +f 14316//3930 9314//4097 14315//8091 +f 15073//9525 12568//209 15595//9526 +f 13830//9527 13829//3904 13731//3755 +f 5418//1495 2365//1565 7438//3526 +f 13732//9516 13830//9527 13731//3755 +f 9977//9528 9859//5278 3041//6520 +f 2739//4082 2875//4076 2874//4695 +f 31207//4610 11420//4612 31272//5474 +f 29499//9529 29498//8763 29361//2792 +f 3433//4373 3566//4374 3432//5112 +f 3012//6122 3013//4513 3153//4978 +f 632//9450 749//9343 631//9342 +f 5591//3092 3310//5287 2885//8734 +f 633//9530 751//9531 750//9451 +f 632//9450 633//9530 750//9451 +f 751//9531 870//9532 869//9452 +f 750//9451 751//9531 869//9452 +f 870//9532 989//9533 988//9453 +f 869//9452 870//9532 988//9453 +f 989//9533 1107//9534 1106//9454 +f 988//9453 989//9533 1106//9454 +f 1107//9534 1223//9535 1222//9455 +f 1106//9454 1107//9534 1222//9455 +f 1340//9536 1339//9456 1224//9537 +f 1222//9455 1223//9535 1338//9349 +f 3406//9361 14994//9362 14805//951 +f 14548//8884 15657//8634 14549//803 +f 14518//8779 15159//3218 16783//8780 +f 15657//8634 14704//8790 5489//4576 +f 5201//8662 20//8981 1504//8664 +f 17189//8657 5145//2594 16253//8659 +f 16293//3213 16438//3783 16292//8407 +f 3598//9105 4639//3220 4403//8782 +f 20105//9538 20617//9539 20616//9540 +f 16438//3783 16590//3787 16437//8408 +f 3750//9458 3406//9361 14622//139 +f 22562//2814 13848//8800 20195//2815 +f 708//1217 6775//9541 2402//1986 +f 14408//9542 14407//9543 14391//9544 +f 14937//8795 16511//8893 16510//8543 +f 14605//9545 7091//1770 274//9546 +f 16902//9213 17065//9121 16901//8905 +f 1802//8994 1686//8676 4464//8804 +f 29902//4921 30033//4923 30032//9547 +f 17065//9121 17064//9013 16901//8905 +f 14713//9028 14350//9022 14363//9021 +f 15298//9548 1307//9206 15426//2428 +f 14617//8538 401//8663 1741//9026 +f 2940//1130 3070//8980 14413//1511 +f 35436//5243 35592//1338 35880//9084 +f 16291//8409 16436//8418 16290//9292 +f 2990//9549 3131//9550 3130//6965 +f 35893//2802 35580//9551 35359//7045 +f 3131//9550 3271//9552 3270//9479 +f 3408//9367 3269//6874 3270//9479 +f 3271//9552 3410//9553 3409//9480 +f 3270//9479 3271//9552 3409//9480 +f 3410//9553 3543//9554 3542//9481 +f 3409//9480 3410//9553 3542//9481 +f 3543//9554 3673//9555 3672//9482 +f 3542//9481 3543//9554 3672//9482 +f 3673//9555 3805//9556 3804//9483 +f 3672//9482 3673//9555 3804//9483 +f 3805//9556 3937//9557 3936//9484 +f 3804//9483 3805//9556 3936//9484 +f 4071//9558 4070//9485 3936//9484 +f 3937//9557 4071//9558 3936//9484 +f 4204//9559 4203//9486 4070//9485 +f 4071//9558 4204//9559 4070//9485 +f 4337//9560 4336//9487 4203//9486 +f 4204//9559 4337//9560 4203//9486 +f 4471//9561 4470//9488 4336//9487 +f 4337//9560 4471//9561 4336//9487 +f 4605//9562 4604//9489 4470//9488 +f 4471//9561 4605//9562 4470//9488 +f 4739//9490 4874//8434 19751//9563 +f 4605//9562 4739//9490 4604//9489 +f 240//9033 349//8912 14792//9150 +f 4874//8434 4875//9564 5010//8432 +f 16483//9225 701//8909 2665//9302 +f 16478//9301 16483//9225 2665//9302 +f 17062//8431 17061//696 16898//683 +f 16899//8430 17062//8431 16898//683 +f 16289//9293 16288//821 16145//820 +f 35408//8562 35421//8016 35501//8015 +f 14300//3520 5698//9565 6512//3705 +f 14792//9150 14905//9232 14904//960 +f 7114//7570 15763//8561 14680//1291 +f 14905//9232 16478//9301 16468//1055 +f 14904//960 14905//9232 16468//1055 +f 5816//2696 5815//9493 5681//9492 +f 18506//6290 17531//6289 34979//9496 +f 5816//2696 5948//9566 5947//9497 +f 5815//9493 5816//2696 5947//9497 +f 6080//9567 6079//9498 5947//9497 +f 5948//9566 6080//9567 5947//9497 +f 6080//9567 6210//9568 6209//9499 +f 6079//9498 6080//9567 6209//9499 +f 6210//9568 6339//9569 6338//9500 +f 6209//9499 6210//9568 6338//9500 +f 6339//9569 6466//9570 6465//9501 +f 6338//9500 6339//9569 6465//9501 +f 6592//9571 6591//9502 6465//9501 +f 6466//9570 6592//9571 6465//9501 +f 6717//9572 6716//9503 6591//9502 +f 6592//9571 6717//9572 6591//9502 +f 188//9573 153//9504 6716//9503 +f 6717//9572 188//9573 6716//9503 +f 329//9574 6126//9505 153//9504 +f 188//9573 329//9574 153//9504 +f 3019//9575 3161//9506 6126//9505 +f 329//9574 3019//9575 6126//9505 +f 3164//9576 3163//9507 3161//9506 +f 3019//9575 3164//9576 3161//9506 +f 3980//9577 4380//9508 3163//9507 +f 3164//9576 3980//9577 3163//9507 +f 2215//9578 2348//9509 4380//9508 +f 3980//9577 2215//9578 4380//9508 +f 1621//575 4528//9510 2348//9509 +f 2215//9578 1621//575 2348//9509 +f 35762//9579 35941//3803 35693//3020 +f 15749//9580 16851//9405 5415//9581 +f 13694//8959 5336//4421 11504//3745 +f 12224//3744 13694//8959 11504//3745 +f 13610//8475 13771//9582 13672//7444 +f 7401//8916 29549//3009 6991//3011 +f 14122//3911 14218//3920 14217//7828 +f 14121//3941 14122//3911 14217//7828 +f 13928//9583 13927//3906 13829//3904 +f 13830//9527 13928//9583 13829//3904 +f 13928//9583 14026//9584 14025//3908 +f 6375//5685 6247//3824 6376//6864 +f 5846//5947 5978//4185 5977//5522 +f 431//9585 7257//9586 545//9587 +f 5711//6158 5712//6157 5845//5946 +f 545//9587 544//4970 430//6106 +f 4621//4411 4755//3486 4754//4186 +f 2742//4699 2741//7261 2606//7831 +f 4227//4194 4360//4196 4359//5151 +f 3960//9522 3959//9523 3827//6266 +f 6608//4706 6609//3738 6733//3740 +f 1823//4020 1943//4027 1942//5132 +f 4894//3809 5029//5111 5028//7551 +f 3011//5679 3012//6122 3152//4656 +f 1398//3728 1514//3626 1397//3547 +f 2223//9445 15365//9039 23638//9443 +f 5582//8482 5583//5542 5717//8483 +f 5583//5542 5718//5543 5717//8483 +f 1472//5538 1588//4896 1471//4880 +f 2103//7759 15047//5169 15171//1447 +f 6245//6698 6374//5684 6373//6807 +f 6244//5972 6245//6698 6373//6807 +f 13486//9588 13681//5827 13982//2671 +f 35633//729 35661//6560 35629//9589 +f 1365//3438 1481//4512 1364//2491 +f 1120//3284 1236//4688 1235//5135 +f 3560//3732 3690//3734 3689//4089 +f 6734//3739 697//3093 679//4533 +f 4227//4194 4226//6250 4093//9590 +f 4094//6820 4227//4194 4093//9590 +f 4215//9591 4216//4532 4348//8272 +f 1584//4239 1701//5518 1583//4491 +f 9059//2760 2506//5702 2640//2758 +f 2506//5702 2641//5704 2640//2758 +f 6628//5840 6753//6618 6752//8485 +f 35391//8726 35805//8646 14563//6847 +f 13721//4174 13819//7534 13818//5940 +f 5711//6158 5845//5946 5710//6514 +f 2469//4065 2604//4080 2468//2680 +f 2240//5699 2372//5682 2239//5429 +f 6631//5962 6632//3429 6756//3431 +f 24724//6056 26589//6055 25664//6185 +f 802//4363 7506//9592 801//5438 +f 5299//677 5300//3556 5434//3555 +f 3294//4372 3433//4373 3293//4655 +f 3566//4374 3565//5113 3432//5112 +f 519//9593 634//9594 633//9530 +f 35574//191 35409//190 35626//9595 +f 634//9594 752//9596 751//9531 +f 633//9530 634//9594 751//9531 +f 752//9596 871//9597 870//9532 +f 751//9531 752//9596 870//9532 +f 990//9598 989//9533 870//9532 +f 871//9597 990//9598 870//9532 +f 990//9598 1108//9599 1107//9534 +f 989//9533 990//9598 1107//9534 +f 1108//9599 1224//9537 1223//9535 +f 1107//9534 1108//9599 1223//9535 +f 1456//9600 18691//9601 1340//9536 +f 1223//9535 1224//9537 1339//9456 +f 15548//3216 5145//2594 17189//8657 +f 16036//8791 3750//9458 3619//83 +f 1504//8664 3598//9105 4403//8782 +f 16783//8780 15548//3216 17189//8657 +f 35887//7147 28427//4536 35600//4538 +f 4639//3220 2526//3222 2391//8783 +f 6798//1374 19365//1377 18284//9602 +f 23814//9603 26253//3786 26351//9604 +f 14805//951 14994//9362 16482//72 +f 12306//8769 22562//2814 3730//2816 +f 14511//4289 14713//9028 14363//9021 +f 6146//6313 14694//1617 14764//1619 +f 14929//8542 14937//8795 16510//8543 +f 1421//9279 16709//9605 5758//8621 +f 17229//8995 17228//8805 17064//9013 +f 16511//8893 5877//8778 2934//8674 +f 9080//1634 15436//9291 23401//8435 +f 17065//9121 17229//8995 17064//9013 +f 2580//9606 19733//7859 19622//9607 +f 27145//9608 7095//9609 30755//9610 +f 2581//9611 2716//9612 2715//7857 +f 35946//6700 35768//9613 35483//6701 +f 2716//9612 2852//9614 2851//9615 +f 10441//9616 10560//9617 10440//9618 +f 2852//9614 2991//9619 2990//9549 +f 2851//9615 2852//9614 2990//9549 +f 2991//9619 3132//9620 3131//9550 +f 2990//9549 2991//9619 3131//9550 +f 3132//9620 3272//9621 3271//9552 +f 3131//9550 3132//9620 3271//9552 +f 3272//9621 3411//9622 3410//9553 +f 3271//9552 3272//9621 3410//9553 +f 3411//9622 3544//9623 3543//9554 +f 3410//9553 3411//9622 3543//9554 +f 3674//9624 3673//9555 3543//9554 +f 3544//9623 3674//9624 3543//9554 +f 3806//9625 3805//9556 3673//9555 +f 3674//9624 3806//9625 3673//9555 +f 3938//9626 3937//9557 3805//9556 +f 3806//9625 3938//9626 3805//9556 +f 3938//9626 4072//9627 4071//9558 +f 3937//9557 3938//9626 4071//9558 +f 4072//9627 4205//9628 4204//9559 +f 4071//9558 4072//9627 4204//9559 +f 4205//9628 4338//9629 4337//9560 +f 4204//9559 4205//9628 4337//9560 +f 4472//9630 4471//9561 4337//9560 +f 4338//9629 4472//9630 4337//9560 +f 4606//9631 4605//9562 4471//9561 +f 4472//9630 4606//9631 4471//9561 +f 4740//9632 4739//9490 4605//9562 +f 4606//9631 4740//9632 4605//9562 +f 4875//9564 4874//8434 4739//9490 +f 4740//9632 4875//9564 4739//9490 +f 17226//8559 17225//9233 17061//696 +f 19607//9633 5010//8432 5011//9634 +f 17062//8431 17226//8559 17061//696 +f 4600//8689 4468//9151 17225//9233 +f 13988//5967 6385//5966 64//7466 +f 3128//7376 3856//8111 3724//7377 +f 64//7466 1857//7465 14086//6430 +f 1857//7465 13989//4182 14086//6430 +f 16478//9301 2665//9302 246//1060 +f 13974//6631 14169//9635 35780//9636 +f 16468//1055 16478//9301 246//1060 +f 14729//953 14792//9150 14904//960 +f 19319//9637 5682//2694 19301//9638 +f 19301//9638 5682//2694 5681//9492 +f 5949//9639 5948//9566 5816//2696 +f 30984//9640 31045//9641 30983//7935 +f 5949//9639 6081//9642 6080//9567 +f 5948//9566 5949//9639 6080//9567 +f 6081//9642 6211//9643 6210//9568 +f 6080//9567 6081//9642 6210//9568 +f 6211//9643 6340//9644 6339//9569 +f 6210//9568 6211//9643 6339//9569 +f 6467//9645 6466//9570 6339//9569 +f 6340//9644 6467//9645 6339//9569 +f 6593//9646 6592//9571 6466//9570 +f 6467//9645 6593//9646 6466//9570 +f 6718//9647 6717//9572 6592//9571 +f 6593//9646 6718//9647 6592//9571 +f 196//9648 188//9573 6717//9572 +f 6718//9647 196//9648 6717//9572 +f 287//9649 329//9574 188//9573 +f 196//9648 287//9649 188//9573 +f 3162//9650 3019//9575 329//9574 +f 287//9649 3162//9650 329//9574 +f 3165//9651 3164//9576 3019//9575 +f 3162//9650 3165//9651 3019//9575 +f 4114//9652 3980//9577 3164//9576 +f 3165//9651 4114//9652 3164//9576 +f 2086//9653 2215//9578 3980//9577 +f 4114//9652 2086//9653 3980//9577 +f 1721//9654 1621//575 2215//9578 +f 2086//9653 1721//9654 2215//9578 +f 12709//5550 12708//9250 12618//5551 +f 35522//9148 25129//8926 25267//9655 +f 217//4856 13694//8959 12224//3744 +f 2794//4857 217//4856 12224//3744 +f 13672//7444 13771//9582 13004//3498 +f 11589//9656 11588//5019 11521//4034 +f 13828//3905 13827//4036 13729//4808 +f 13730//3756 13828//3905 13729//4808 +f 13927//3906 13928//9583 14025//3908 +f 14124//9657 14123//3910 14025//3908 +f 5020//5529 5021//4720 5155//7926 +f 1946//5941 2071//6102 1945//6810 +f 1592//4039 1709//4040 1591//5531 +f 2111//5697 2240//5699 2110//5005 +f 2372//5682 2371//5681 2239//5429 +f 4630//4085 4631//7656 4764//4992 +f 35574//191 35626//9595 35673//8176 +f 4896//8098 4897//3368 5031//5286 +f 4627//7643 4628//3375 4761//6619 +f 5167//3434 5301//4661 5300//3556 +f 4761//6619 4762//8735 4896//8098 +f 537//4847 536//5978 422//5871 +f 4893//2878 4894//3809 5028//7551 +f 7619//9658 920//9659 7620//4858 +f 4225//6251 4226//6250 4358//6011 +f 6101//5252 6231//5255 6230//5253 +f 1985//5004 1984//5006 1864//3463 +f 1588//4896 1705//3822 1704//4897 +f 14026//9584 14124//9657 14025//3908 +f 6116//6697 6115//5973 9867//9660 +f 11336//9661 33//9662 10590//9663 +f 4485//4211 4619//4041 4618//4212 +f 5045//5552 5180//5554 5179//9428 +f 1398//3728 1397//3547 1281//3546 +f 1282//3642 1398//3728 1281//3546 +f 1588//4896 1589//3820 1705//3822 +f 1705//3822 1706//3821 1822//5398 +f 4226//6250 4227//4194 4359//5151 +f 4094//6820 4093//9590 3959//9523 +f 12769//4964 12861//9514 12860//8961 +f 2468//2680 2603//2499 2467//2498 +f 2111//5697 2110//5005 1985//5004 +f 1986//5572 2111//5697 1985//5004 +f 2201//2678 2200//4508 2071//6102 +f 2072//2888 2201//2678 2071//6102 +f 3971//6716 3970//7835 3439//6404 +f 6733//3740 679//4533 6732//4535 +f 35717//5273 35411//3880 35868//3879 +f 1986//5572 1985//5004 1865//3462 +f 2870//4037 3009//4675 2869//4038 +f 5444//5662 5578//4986 5577//4400 +f 3828//9431 3960//9522 3827//6266 +f 422//5871 536//5978 535//4895 +f 5588//6814 5722//4981 1954//4048 +f 3154//4514 3294//4372 3153//4978 +f 520//9664 635//9665 634//9594 +f 8869//9666 35385//5339 8761//6058 +f 635//9665 753//9667 752//9596 +f 634//9594 635//9665 752//9596 +f 753//9667 872//9668 871//9597 +f 752//9596 753//9667 871//9597 +f 872//9668 991//9669 990//9598 +f 871//9597 872//9668 990//9598 +f 991//9669 1109//9670 1108//9599 +f 990//9598 991//9669 1108//9599 +f 1109//9670 1225//9671 1224//9537 +f 1108//9599 1109//9670 1224//9537 +f 1225//9671 1341//9672 1340//9536 +f 1224//9537 1225//9671 1340//9536 +f 1341//9672 1457//9673 1456//9600 +f 35417//3312 35562//608 35642//9674 +f 1457//9673 1573//9675 1572//9676 +f 1689//9677 18888//9678 1572//9676 +f 1573//9675 1690//9679 1689//9677 +f 1572//9676 1573//9675 1689//9677 +f 1690//9679 1807//9680 1806//9681 +f 1689//9677 1690//9679 1806//9681 +f 1807//9680 1927//9682 1926//9683 +f 1926//9683 1927//9682 2051//9684 +f 1927//9682 2052//9685 2051//9684 +f 16510//8543 16511//8893 2934//8674 +f 2052//9685 2181//9686 2180//9687 +f 2180//9687 19403//9688 19296//9689 +f 2181//9686 2313//9690 2312//9691 +f 2446//9692 2312//9691 2313//9690 +f 2313//9690 2447//9693 2446//9692 +f 19622//9607 19512//9694 2446//9692 +f 2447//9693 2582//9695 2581//9611 +f 2446//9692 2447//9693 2581//9611 +f 2582//9695 2717//9696 2716//9612 +f 2581//9611 2582//9695 2716//9612 +f 2717//9696 2853//9697 2852//9614 +f 2716//9612 2717//9696 2852//9614 +f 2853//9697 2992//9698 2991//9619 +f 2852//9614 2853//9697 2991//9619 +f 2992//9698 3133//9699 3132//9620 +f 2991//9619 2992//9698 3132//9620 +f 3133//9699 3273//9700 3272//9621 +f 3132//9620 3133//9699 3272//9621 +f 3273//9700 3412//9701 3411//9622 +f 3272//9621 3273//9700 3411//9622 +f 3412//9701 3545//9702 3544//9623 +f 3411//9622 3412//9701 3544//9623 +f 3675//9703 3674//9624 3544//9623 +f 3545//9702 3675//9703 3544//9623 +f 3807//9704 3806//9625 3674//9624 +f 3675//9703 3807//9704 3674//9624 +f 3807//9704 3939//9705 3938//9626 +f 3806//9625 3807//9704 3938//9626 +f 3939//9705 4073//9706 4072//9627 +f 3938//9626 3939//9705 4072//9627 +f 4206//9707 4205//9628 4072//9627 +f 4073//9706 4206//9707 4072//9627 +f 4206//9707 4339//9708 4338//9629 +f 4205//9628 4206//9707 4338//9629 +f 4473//9709 4472//9630 4338//9629 +f 4339//9708 4473//9709 4338//9629 +f 4607//9710 4606//9631 4472//9630 +f 4473//9709 4607//9710 4472//9630 +f 4741//9711 4740//9632 4606//9631 +f 4607//9710 4741//9711 4606//9631 +f 4876//9712 4875//9564 4740//9632 +f 4741//9711 4876//9712 4740//9632 +f 5011//9634 5010//8432 4875//9564 +f 4876//9712 5011//9634 4875//9564 +f 23421//1300 23032//3035 16300//7284 +f 35715//3638 35564//9713 35355//2950 +f 18383//9714 5280//9715 5279//9716 +f 4689//8906 17107//9017 9406//9290 +f 13959//7369 12933//763 12043//7349 +f 12206//3125 12821//2709 12661//3899 +f 27//9231 3128//7376 16946//1066 +f 5143//1065 2049//9395 80//1051 +f 4138//818 6776//8920 2796//956 +f 5547//9303 15547//9396 14789//1063 +f 17792//9717 16822//9718 19543//9719 +f 4009//8703 15567//8702 4141//9720 +f 5818//9721 5950//9722 5949//9639 +f 32727//9723 32839//9724 32726//9725 +f 5950//9722 6082//9726 6081//9642 +f 5949//9639 5950//9722 6081//9642 +f 6212//9727 6211//9643 6081//9642 +f 6082//9726 6212//9727 6081//9642 +f 6341//9728 6340//9644 6211//9643 +f 6212//9727 6341//9728 6211//9643 +f 6468//9729 6467//9645 6340//9644 +f 6341//9728 6468//9729 6340//9644 +f 6594//9730 6593//9646 6467//9645 +f 6468//9729 6594//9730 6467//9645 +f 6719//9731 6718//9647 6593//9646 +f 6594//9730 6719//9731 6593//9646 +f 197//9732 196//9648 6718//9647 +f 6719//9731 197//9732 6718//9647 +f 808//9733 287//9649 196//9648 +f 197//9732 808//9733 196//9648 +f 6646//9734 3162//9650 287//9649 +f 808//9733 6646//9734 287//9649 +f 3022//9735 3165//9651 3162//9650 +f 6646//9734 3022//9735 3162//9650 +f 4247//9736 4114//9652 3165//9651 +f 3022//9735 4247//9736 3165//9651 +f 1831//9737 2086//9653 4114//9652 +f 4247//9736 1831//9737 4114//9652 +f 1720//9738 1721//9654 2086//9653 +f 1831//9737 1720//9738 2086//9653 +f 4253//8274 1603//576 1721//9654 +f 1720//9738 4253//8274 1721//9654 +f 10773//3492 9629//3491 2794//4857 +f 5273//1453 2103//7759 2102//707 +f 11522//5028 11589//9656 11521//4034 +f 11664//9739 11663//5854 11588//5019 +f 13730//3756 13729//4808 13631//6378 +f 13632//3720 13730//3756 13631//6378 +f 14220//9740 14219//3919 14123//3910 +f 14124//9657 14220//9740 14123//3910 +f 3016//2976 3015//2975 2876//4081 +f 2238//5008 2370//5430 2369//3268 +f 1866//5451 1865//3462 1748//6110 +f 1749//5310 1866//5451 1748//6110 +f 2737//4009 2738//5250 2873//5942 +f 4497//7549 4631//7656 4630//4085 +f 1257//6233 1141//8369 3160//3627 +f 1141//8369 3307//9741 3160//3627 +f 4762//8735 4897//3368 4896//8098 +f 4897//3368 5032//3370 5031//5286 +f 5164//4836 5165//4977 5298//679 +f 6484//4849 6485//6392 6610//4850 +f 3012//6122 3153//4978 3152//4656 +f 35543//3887 35761//3886 35603//1273 +f 4751//3271 4886//3273 4885//5528 +f 650//5979 768//4660 767//4878 +f 1014//4703 1132//2492 1013//4221 +f 3820//3647 3952//5271 3951//4392 +f 6245//6698 6246//3825 6374//5684 +f 6246//3825 6375//5685 6374//5684 +f 5180//5554 5314//5546 5313//4406 +f 5179//9428 5180//5554 5313//4406 +f 31272//5474 11418//5476 31338//9742 +f 12412//9743 12501//7010 12411//6724 +f 1822//5398 1823//4020 1942//5132 +f 1706//3821 1823//4020 1822//5398 +f 4359//5151 4360//4196 4493//5152 +f 4360//4196 4494//3831 4493//5152 +f 4628//3375 4629//3374 4762//8735 +f 2738//5250 2874//4695 2873//5942 +f 1749//5310 1748//6110 1631//3624 +f 2240//5699 2239//5429 2110//5005 +f 2325//4531 2326//4998 2459//4044 +f 3285//5815 3286//5814 3424//3645 +f 1704//4897 1821//3648 1820//3651 +f 4257//5009 4390//3129 1385//6515 +f 1866//5451 1986//5572 1865//3462 +f 1632//5157 1631//3624 1515//3727 +f 5443//3665 5444//5662 5577//4400 +f 1748//6110 1865//3462 1747//3464 +f 4493//5152 4494//3831 4627//7643 +f 4628//3375 4762//8735 4761//6619 +f 520//9664 634//9594 519//9593 +f 3299//8733 5591//3092 2885//8734 +f 521//9744 636//9745 635//9665 +f 520//9664 521//9744 635//9665 +f 636//9745 754//9746 753//9667 +f 635//9665 636//9745 753//9667 +f 754//9746 873//9747 872//9668 +f 753//9667 754//9746 872//9668 +f 873//9747 992//9748 991//9669 +f 872//9668 873//9747 991//9669 +f 992//9748 1110//9749 1109//9670 +f 991//9669 992//9748 1109//9670 +f 1110//9749 1226//9750 1225//9671 +f 1109//9670 1110//9749 1225//9671 +f 1226//9750 1342//9751 1341//9672 +f 1225//9671 1226//9750 1341//9672 +f 1458//9752 1457//9673 1341//9672 +f 1342//9751 1458//9752 1341//9672 +f 1458//9752 1574//9753 1573//9675 +f 1457//9673 1458//9752 1573//9675 +f 1574//9753 1691//9754 1690//9679 +f 1573//9675 1574//9753 1690//9679 +f 35773//9471 35530//5734 35557//9755 +f 1690//9679 1691//9754 1807//9680 +f 14979//9006 15022//8781 14929//8542 +f 29362//9351 29499//9529 29361//2792 +f 35864//3701 35823//2621 35782//2620 +f 19006//9756 19543//9719 16822//9718 +f 35706//6704 35857//5042 13281//5041 +f 35828//2798 35834//9757 35520//7170 +f 2314//9758 2313//9690 2181//9686 +f 2182//9759 2314//9758 2181//9686 +f 2448//9760 2447//9693 2313//9690 +f 2314//9758 2448//9760 2313//9690 +f 2583//9761 2582//9695 2447//9693 +f 2448//9760 2583//9761 2447//9693 +f 2718//9762 2717//9696 2582//9695 +f 2583//9761 2718//9762 2582//9695 +f 2854//9763 2853//9697 2717//9696 +f 2718//9762 2854//9763 2717//9696 +f 2993//9764 2992//9698 2853//9697 +f 2854//9763 2993//9764 2853//9697 +f 2993//9764 3134//9765 3133//9699 +f 2992//9698 2993//9764 3133//9699 +f 3134//9765 3274//9766 3273//9700 +f 3133//9699 3134//9765 3273//9700 +f 3274//9766 3413//9767 3412//9701 +f 3273//9700 3274//9766 3412//9701 +f 3413//9767 3546//9768 3545//9702 +f 3412//9701 3413//9767 3545//9702 +f 3546//9768 3676//9769 3675//9703 +f 3545//9702 3546//9768 3675//9703 +f 3808//9770 3807//9704 3675//9703 +f 3676//9769 3808//9770 3675//9703 +f 3808//9770 3940//9771 3939//9705 +f 3807//9704 3808//9770 3939//9705 +f 4074//9772 4073//9706 3939//9705 +f 3940//9771 4074//9772 3939//9705 +f 4074//9772 4207//9773 4206//9707 +f 4073//9706 4074//9772 4206//9707 +f 4207//9773 4340//9774 4339//9708 +f 4206//9707 4207//9773 4339//9708 +f 4474//9775 4473//9709 4339//9708 +f 4340//9774 4474//9775 4339//9708 +f 4608//9776 4607//9710 4473//9709 +f 4474//9775 4608//9776 4473//9709 +f 4742//9777 4741//9711 4607//9710 +f 4608//9776 4742//9777 4607//9710 +f 4877//9778 4876//9712 4741//9711 +f 4742//9777 4877//9778 4741//9711 +f 5012//9779 5011//9634 4876//9712 +f 4877//9778 5012//9779 4876//9712 +f 5147//9780 5146//9781 5011//9634 +f 5012//9779 5147//9780 5011//9634 +f 35373//5735 35384//5559 35432//2949 +f 1542//4755 25730//4756 1776//7674 +f 11660//9782 11659//6919 11584//6918 +f 11585//7539 11660//9782 11584//6918 +f 5415//9581 1070//9404 18585//9783 +f 11740//7912 11739//7914 11659//6919 +f 16094//1204 5547//9303 14789//1063 +f 246//1060 2665//9302 16094//1204 +f 17855//9784 17892//9785 5685//8975 +f 35915//638 35501//8015 35488//639 +f 5685//8975 5819//8974 5818//9721 +f 5818//9721 5819//8974 5950//9722 +f 6083//9786 6082//9726 5950//9722 +f 35658//6308 35889//3245 35709//6309 +f 6213//9787 6212//9727 6082//9726 +f 6083//9786 6213//9787 6082//9726 +f 6342//9788 6341//9728 6212//9727 +f 6213//9787 6342//9788 6212//9727 +f 6469//9789 6468//9729 6341//9728 +f 6342//9788 6469//9789 6341//9728 +f 6595//9790 6594//9730 6468//9729 +f 6469//9789 6595//9790 6468//9729 +f 6720//9791 6719//9731 6594//9730 +f 6595//9790 6720//9791 6594//9730 +f 205//9792 197//9732 6719//9731 +f 6720//9791 205//9792 6719//9731 +f 1730//9793 808//9733 197//9732 +f 205//9792 1730//9793 197//9732 +f 2763//9794 6646//9734 808//9733 +f 1730//9793 2763//9794 808//9733 +f 3023//9795 3022//9735 6646//9734 +f 2763//9794 3023//9795 6646//9734 +f 3453//9796 4247//9736 3022//9735 +f 3023//9795 3453//9796 3022//9735 +f 1952//9797 1831//9737 4247//9736 +f 3453//9796 1952//9797 4247//9736 +f 1719//9798 1720//9738 1831//9737 +f 1952//9797 1719//9798 1831//9737 +f 4788//9799 4253//8274 1720//9738 +f 1719//9798 4788//9799 1720//9738 +f 2102//707 16544//706 5273//1453 +f 4788//9799 2102//707 4253//8274 +f 11589//9656 11664//9739 11588//5019 +f 11744//9800 11743//9801 11663//5854 +f 13632//3720 13631//6378 13533//9802 +f 13534//3718 13632//3720 13533//9802 +f 14318//9803 14317//3929 14219//3919 +f 14220//9740 14318//9803 14219//3919 +f 13522//9804 10729//4096 14317//3929 +f 35651//3700 35552//4385 35833//2750 +f 35616//8945 35659//9805 35674//9806 +f 1516//4499 1515//3727 1399//5033 +f 646//3473 764//5018 763//4839 +f 1400//4497 1399//5033 1283//5032 +f 1243//2667 1359//2688 1242//2668 +f 3009//4675 3150//5386 3008//4539 +f 2873//5942 2872//5141 2736//4010 +f 4627//7643 4761//6619 4760//6014 +f 2737//4009 2873//5942 2736//4010 +f 4492//5153 4493//5152 4626//6013 +f 35556//9807 35350//9808 35577//6548 +f 6380//2442 7546//6019 6251//2443 +f 6380//2442 6381//9809 6507//9810 +f 1134//3668 1250//4243 1133//4208 +f 6633//6615 10502//9811 8478//6613 +f 3686//2869 3685//5666 3555//2870 +f 6223//4530 6352//4843 6351//5148 +f 4888//6609 5023//6254 5022//4554 +f 5314//5546 5449//5544 5448//4407 +f 5313//4406 5314//5546 5448//4407 +f 2735//5143 2734//3832 2599//3630 +f 7471//9812 7585//6933 15237//8026 +f 423//4848 537//4847 422//5871 +f 1943//4027 2068//4342 2067//5133 +f 5031//5286 5032//3370 5166//4188 +f 4494//3831 4628//3375 4627//7643 +f 4763//4086 4898//3369 4897//3368 +f 2738//5250 2737//4009 2602//2500 +f 421//4504 422//5871 535//4895 +f 1632//5157 1749//5310 1631//3624 +f 5307//3079 5442//3666 5441//7832 +f 1992//8012 2117//5295 2116//9264 +f 1991//9258 1992//8012 2116//9264 +f 2117//5295 2246//9813 2245//9266 +f 1516//4499 1632//5157 1515//3727 +f 3292//3810 3293//4655 3431//3811 +f 2603//2499 2738//5250 2602//2500 +f 3013//4513 3154//4514 3153//4978 +f 5436//2771 5570//5147 5569//4889 +f 5166//4188 5167//3434 5300//3556 +f 408//8270 522//9814 521//9744 +f 521//9744 7343//9815 407//9816 +f 522//9814 637//9817 636//9745 +f 521//9744 522//9814 636//9745 +f 637//9817 755//9818 754//9746 +f 636//9745 637//9817 754//9746 +f 755//9818 874//9819 873//9747 +f 754//9746 755//9818 873//9747 +f 874//9819 993//9820 992//9748 +f 873//9747 874//9819 992//9748 +f 993//9820 1111//9821 1110//9749 +f 992//9748 993//9820 1110//9749 +f 1111//9821 1227//9822 1226//9750 +f 1110//9749 1111//9821 1226//9750 +f 1227//9822 1343//9823 1342//9751 +f 1226//9750 1227//9822 1342//9751 +f 1343//9823 1459//9824 1458//9752 +f 1342//9751 1343//9823 1458//9752 +f 35508//9825 35672//9826 35750//9196 +f 1458//9752 1459//9824 1574//9753 +f 3849//9827 156//9828 7675//9829 +f 35483//6701 35768//9613 35507//9830 +f 22222//869 22221//8678 22125//8808 +f 14084//2151 35670//2150 35466//8944 +f 4465//9120 4464//8804 17228//8805 +f 12870//9299 12896//9035 12778//26 +f 16449//845 3340//844 7856//8549 +f 23303//9112 23304//1067 23400//9360 +f 32092//9831 32091//9832 31991//9833 +f 20616//9540 20617//9539 21410//9834 +f 2183//9835 2315//9836 2314//9758 +f 2182//9759 2183//9835 2314//9758 +f 2449//9837 2448//9760 2314//9758 +f 2315//9836 2449//9837 2314//9758 +f 2584//9838 2583//9761 2448//9760 +f 2449//9837 2584//9838 2448//9760 +f 2719//9839 2718//9762 2583//9761 +f 2584//9838 2719//9839 2583//9761 +f 2855//9840 2854//9763 2718//9762 +f 2719//9839 2855//9840 2718//9762 +f 2855//9840 2994//9841 2993//9764 +f 2854//9763 2855//9840 2993//9764 +f 2994//9841 3135//9842 3134//9765 +f 2993//9764 2994//9841 3134//9765 +f 3135//9842 3275//9843 3274//9766 +f 3134//9765 3135//9842 3274//9766 +f 3275//9843 3414//9844 3413//9767 +f 3274//9766 3275//9843 3413//9767 +f 3414//9844 3547//9845 3546//9768 +f 3413//9767 3414//9844 3546//9768 +f 3547//9845 3677//9846 3676//9769 +f 3546//9768 3547//9845 3676//9769 +f 3677//9846 3809//9847 3808//9770 +f 3676//9769 3677//9846 3808//9770 +f 3809//9847 3941//9848 3940//9771 +f 3808//9770 3809//9847 3940//9771 +f 4075//9849 4074//9772 3940//9771 +f 3941//9848 4075//9849 3940//9771 +f 4075//9849 4208//9850 4207//9773 +f 4074//9772 4075//9849 4207//9773 +f 4341//9851 4340//9774 4207//9773 +f 4208//9850 4341//9851 4207//9773 +f 4475//9852 4474//9775 4340//9774 +f 4341//9851 4475//9852 4340//9774 +f 4609//9853 4608//9776 4474//9775 +f 4475//9852 4609//9853 4474//9775 +f 4743//9854 4742//9777 4608//9776 +f 4609//9853 4743//9854 4608//9776 +f 4878//9855 4877//9778 4742//9777 +f 4743//9854 4878//9855 4742//9777 +f 5013//9856 5012//9779 4877//9778 +f 4878//9855 5013//9856 4877//9778 +f 5013//9856 5148//7576 5147//9780 +f 5012//9779 5013//9856 5147//9780 +f 14596//8311 5283//7578 15613//9857 +f 35781//9858 35373//5735 35361//2948 +f 11660//9782 11740//7912 11659//6919 +f 11824//7913 11823//4995 11739//7914 +f 11129//7728 13783//7729 8575//9859 +f 10006//9860 11129//7728 8575//9859 +f 2359//8825 6776//8920 4138//818 +f 15547//9396 2049//9395 5143//1065 +f 5219//8922 2522//8828 5220//9861 +f 15567//8702 2359//8825 5466//1202 +f 5219//8922 5220//9861 2304//9862 +f 2303//9034 5219//8922 2304//9862 +f 17225//9233 4468//9151 17224//9863 +f 2303//9034 2304//9862 4599//9864 +f 6214//9865 6213//9787 6083//9786 +f 22163//7258 14931//7257 22066//379 +f 6343//9866 6342//9788 6213//9787 +f 6214//9865 6343//9866 6213//9787 +f 6470//9867 6469//9789 6342//9788 +f 6343//9866 6470//9867 6342//9788 +f 6596//9868 6595//9790 6469//9789 +f 6470//9867 6596//9868 6469//9789 +f 6721//9869 6720//9791 6595//9790 +f 6596//9868 6721//9869 6595//9790 +f 206//9870 205//9792 6720//9791 +f 6721//9869 206//9870 6720//9791 +f 437//9871 1730//9793 205//9792 +f 206//9870 437//9871 205//9792 +f 3038//9872 2763//9794 1730//9793 +f 437//9871 3038//9872 1730//9793 +f 3018//9873 3023//9795 2763//9794 +f 3038//9872 3018//9873 2763//9794 +f 3314//9874 3453//9796 3023//9795 +f 3018//9873 3314//9874 3023//9795 +f 2078//9875 1952//9797 3453//9796 +f 3314//9874 2078//9875 3453//9796 +f 1718//9876 1719//9798 1952//9797 +f 2078//9875 1718//9876 1952//9797 +f 3020//9877 4788//9799 1719//9798 +f 1718//9876 3020//9877 1719//9798 +f 16698//840 2231//705 2363//9878 +f 3020//9877 2231//705 4788//9799 +f 11664//9739 11744//9800 11663//5854 +f 11828//8088 11827//9879 11743//9801 +f 13534//3718 13533//9802 13437//4863 +f 13438//3716 13534//3718 13437//4863 +f 14318//9803 13522//9804 14317//3929 +f 11810//9880 12941//4098 10729//4096 +f 35708//2556 35646//901 35423//7252 +f 2116//9264 2117//5295 2245//9266 +f 2246//9813 2378//9881 2377//9332 +f 1400//4497 1516//4499 1399//5033 +f 1284//4353 1400//4497 1283//5032 +f 35938//1781 12556//1783 35366//6549 +f 1496//3829 1497//8371 1257//6233 +f 5593//9882 1727//9883 5727//9088 +f 1727//9883 1609//4206 5727//9088 +f 4494//3831 4495//3373 4628//3375 +f 6740//6129 1496//3829 1152//2685 +f 4629//3374 4763//4086 4762//8735 +f 1496//3829 1257//6233 1258//2681 +f 4623//4416 4757//3285 4756//3485 +f 35913//9884 35921//9885 35892//8507 +f 4618//4212 4619//4041 4752//3272 +f 3442//4522 3302//4837 785//3278 +f 6507//9810 6633//6615 6632//3429 +f 4216//4532 4217//2901 4349//2903 +f 6380//2442 6507//9810 6506//9190 +f 6506//9190 6507//9810 6632//3429 +f 6740//6129 8551//9886 1497//8371 +f 6379//6020 6380//2442 6506//9190 +f 5301//4661 5436//2771 5435//2770 +f 6485//6392 6611//5669 6610//4850 +f 4110//3628 3712//4828 2619//5260 +f 5032//3370 5167//3434 5166//4188 +f 1629//3435 1746//4657 1628//2972 +f 2874//4695 3013//4513 3012//6122 +f 2245//9266 2246//9813 2377//9332 +f 260//7266 10475//7269 11243//7462 +f 2378//9881 2512//9887 2511//9340 +f 2377//9332 2378//9881 2511//9340 +f 1746//4657 1745//3178 1628//2972 +f 2512//9887 2647//9888 2646//9426 +f 2873//5942 2874//4695 3012//6122 +f 4226//6250 4359//5151 4358//6011 +f 5300//3556 5301//4661 5435//2770 +f 2618//4827 2220//5150 2619//5260 +f 409//5245 523//9889 522//9814 +f 408//8270 407//9816 7233//9890 +f 523//9889 638//9891 637//9817 +f 522//9814 523//9889 637//9817 +f 638//9891 756//9892 755//9818 +f 637//9817 638//9891 755//9818 +f 756//9892 875//9893 874//9819 +f 755//9818 756//9892 874//9819 +f 875//9893 994//9894 993//9820 +f 874//9819 875//9893 993//9820 +f 994//9894 1112//9895 1111//9821 +f 993//9820 994//9894 1111//9821 +f 1112//9895 1228//9896 1227//9822 +f 1111//9821 1112//9895 1227//9822 +f 1228//9896 1344//9897 1343//9823 +f 1227//9822 1228//9896 1343//9823 +f 1344//9897 1460//9898 1459//9824 +f 1343//9823 1344//9897 1459//9824 +f 463//9023 579//8902 14978//9024 +f 1340//9536 1341//9672 1456//9600 +f 35380//5586 35817//5585 35882//3023 +f 1969//1489 5418//1495 1833//9899 +f 9322//4428 347//8490 1507//9900 +f 35719//7148 29544//9901 27642//4728 +f 28952//8366 29087//8771 28951//9902 +f 19196//9903 1929//9904 1930//9905 +f 1741//9026 401//8663 6271//8911 +f 23246//6937 22145//6936 21953//9283 +f 4270//8796 579//8902 463//9023 +f 6271//8911 4270//8796 463//9023 +f 24657//9115 11976//9906 6654//9116 +f 579//8902 14979//9006 14978//9024 +f 19407//9907 2316//9908 2315//9836 +f 2315//9836 2316//9908 2449//9837 +f 2450//9909 2585//9910 2584//9838 +f 2449//9837 2450//9909 2584//9838 +f 2585//9910 2720//9911 2719//9839 +f 2584//9838 2585//9910 2719//9839 +f 2720//9911 2856//9912 2855//9840 +f 2719//9839 2720//9911 2855//9840 +f 2856//9912 2995//9913 2994//9841 +f 2855//9840 2856//9912 2994//9841 +f 2995//9913 3136//9914 3135//9842 +f 2994//9841 2995//9913 3135//9842 +f 3136//9914 3276//9915 3275//9843 +f 3135//9842 3136//9914 3275//9843 +f 3276//9915 3415//9916 3414//9844 +f 3275//9843 3276//9915 3414//9844 +f 3415//9916 3548//9917 3547//9845 +f 3414//9844 3415//9916 3547//9845 +f 3548//9917 3678//9918 3677//9846 +f 3547//9845 3548//9917 3677//9846 +f 3678//9918 3810//9919 3809//9847 +f 3677//9846 3678//9918 3809//9847 +f 3810//9919 3942//9920 3941//9848 +f 3809//9847 3810//9919 3941//9848 +f 4076//9921 4075//9849 3941//9848 +f 3942//9920 4076//9921 3941//9848 +f 4209//9922 4208//9850 4075//9849 +f 4076//9921 4209//9922 4075//9849 +f 4209//9922 4342//9923 4341//9851 +f 4208//9850 4209//9922 4341//9851 +f 4342//9923 4476//9924 4475//9852 +f 4341//9851 4342//9923 4475//9852 +f 4476//9924 4610//9925 4609//9853 +f 4475//9852 4476//9924 4609//9853 +f 4744//9926 4743//9854 4609//9853 +f 4610//9925 4744//9926 4609//9853 +f 4879//9927 4878//9855 4743//9854 +f 4744//9926 4879//9927 4743//9854 +f 5014//9928 5013//9856 4878//9855 +f 4879//9927 5014//9928 4878//9855 +f 5149//7577 5148//7576 5013//9856 +f 5014//9928 5149//7577 5013//9856 +f 5283//7578 5149//7577 5284//9929 +f 35384//5559 35753//4815 35432//2949 +f 11585//7539 11584//6918 11517//7442 +f 35354//3244 35666//329 35678//7447 +f 12279//4546 12278//2927 12301//4541 +f 13028//3135 11129//7728 10006//9860 +f 14491//958 15567//8702 5466//1202 +f 4009//8703 4141//9720 3029//9930 +f 2522//8828 3029//9930 5220//9861 +f 17225//9233 17224//9863 17060//697 +f 17061//696 17225//9233 17060//697 +f 16029//9198 5435//2770 5275//2772 +f 4468//9151 2303//9034 4599//9864 +f 6085//9931 6215//9932 6214//9865 +f 6084//9933 6085//9931 6214//9865 +f 6344//9934 6343//9866 6214//9865 +f 6215//9932 6344//9934 6214//9865 +f 6471//9935 6470//9867 6343//9866 +f 6344//9934 6471//9935 6343//9866 +f 6597//9936 6596//9868 6470//9867 +f 6471//9935 6597//9936 6470//9867 +f 6722//9937 6721//9869 6596//9868 +f 6597//9936 6722//9937 6596//9868 +f 207//9938 206//9870 6721//9869 +f 6722//9937 207//9938 6721//9869 +f 550//9939 437//9871 206//9870 +f 207//9938 550//9939 206//9870 +f 2899//9940 3038//9872 437//9871 +f 550//9939 2899//9940 437//9871 +f 3024//9941 3018//9873 3038//9872 +f 2899//9940 3024//9941 3038//9872 +f 3586//9942 3314//9874 3018//9873 +f 3024//9941 3586//9942 3018//9873 +f 2079//9943 2078//9875 3314//9874 +f 3586//9942 2079//9943 3314//9874 +f 1717//9944 1718//9876 2078//9875 +f 2079//9943 1717//9944 2078//9875 +f 1252//9945 3020//9877 1718//9876 +f 1717//9944 1252//9945 1718//9876 +f 2363//9878 2497//9946 16698//840 +f 1252//9945 2363//9878 3020//9877 +f 11744//9800 11828//8088 11743//9801 +f 11914//8090 11913//9947 11827//9879 +f 24750//9948 13246//3530 13342//4864 +f 13437//4863 13533//9802 13436//9949 +f 13522//9804 11810//9880 10729//4096 +f 11810//9880 11094//9950 9658//4100 +f 7519//9951 7633//9952 7518//9953 +f 6948//9954 7047//9955 7046//9956 +f 652//5409 770//4894 769//4659 +f 3818//5665 3950//4396 3817//8278 +f 11279//5687 4775//5694 4776//4875 +f 5439//5533 5573//3053 5572//4063 +f 2232//6916 2632//9957 2104//9958 +f 1609//4206 1727//9883 3461//1207 +f 4619//4041 4620//5432 4753//4042 +f 12962//9959 13466//9423 12870//9299 +f 2607//4700 2606//7831 2471//9077 +f 4631//7656 4765//6429 4764//4992 +f 2472//9259 2607//4700 2471//9077 +f 4764//4992 4765//6429 4899//4851 +f 1475//2690 1474//5964 1358//5532 +f 4886//3273 4887//4719 5021//4720 +f 1941//3649 1942//5132 2066//7927 +f 1014//4703 1013//4221 894//4390 +f 3819//2979 3820//3647 3951//4392 +f 11658//8477 11738//4997 11657//8478 +f 22915//5561 23014//9960 22914//5562 +f 6488//8097 6614//6285 6487//3834 +f 5308//3664 5309//5664 5443//3665 +f 4087//4209 4086//3847 3952//5271 +f 3307//9741 3712//4828 4110//3628 +f 3712//4828 2618//4827 2619//5260 +f 1984//5006 8628//9434 1983//5011 +f 5712//6157 5713//4842 5846//5947 +f 2511//9340 2512//9887 2646//9426 +f 2647//9888 2782//1127 2781//1444 +f 2646//9426 2647//9888 2781//1444 +f 35906//9961 35856//9962 35599//9963 +f 1041//4487 1040//4860 921//4859 +f 12904//2569 17265//2568 20759//9964 +f 2220//5150 5593//9882 2219//6821 +f 2220//5150 2219//6821 2619//5260 +f 410//9965 524//9966 523//9889 +f 408//8270 409//5245 522//9814 +f 524//9966 639//9967 638//9891 +f 523//9889 524//9966 638//9891 +f 639//9967 757//9968 756//9892 +f 638//9891 639//9967 756//9892 +f 757//9968 876//9969 875//9893 +f 756//9892 757//9968 875//9893 +f 876//9969 995//9970 994//9894 +f 875//9893 876//9969 994//9894 +f 995//9970 1113//9971 1112//9895 +f 994//9894 995//9970 1112//9895 +f 1113//9971 1229//9972 1228//9896 +f 1112//9895 1113//9971 1228//9896 +f 1229//9972 1345//9973 1344//9897 +f 1228//9896 1229//9972 1344//9897 +f 1577//9974 18794//9975 1461//9976 +f 1344//9897 1345//9973 1460//9898 +f 14979//9006 14929//8542 14921//8545 +f 14978//9024 14979//9006 14921//8545 +f 2179//8323 14617//8538 1741//9026 +f 401//8663 4270//8796 6271//8911 +f 1694//1995 1811//9977 1810//9978 +f 18893//9979 1693//1993 18992//9980 +f 1811//9977 1931//9981 1930//9905 +f 1810//9978 1811//9977 1930//9905 +f 1931//9981 2056//9982 2055//9983 +f 2055//9983 19300//9984 19196//9903 +f 2317//9985 2184//9986 2185//9987 +f 2056//9982 2185//9987 2055//9983 +f 1488//8536 5884//8424 3731//8426 +f 27499//2367 27617//2307 27616//9988 +f 4117//8547 1488//8536 3731//8426 +f 14617//8538 2179//8323 5884//8424 +f 2451//9989 2586//9990 2585//9910 +f 29637//9991 29636//9992 29498//8763 +f 2586//9990 2721//9993 2720//9911 +f 2585//9910 2586//9990 2720//9911 +f 2721//9993 2857//9994 2856//9912 +f 2720//9911 2721//9993 2856//9912 +f 2857//9994 2996//9995 2995//9913 +f 2856//9912 2857//9994 2995//9913 +f 2996//9995 3137//9996 3136//9914 +f 2995//9913 2996//9995 3136//9914 +f 3137//9996 3277//9997 3276//9915 +f 3136//9914 3137//9996 3276//9915 +f 3277//9997 3416//9998 3415//9916 +f 3276//9915 3277//9997 3415//9916 +f 3416//9998 3549//9999 3548//9917 +f 3415//9916 3416//9998 3548//9917 +f 3549//9999 3679//10000 3678//9918 +f 3548//9917 3549//9999 3678//9918 +f 3679//10000 3811//10001 3810//9919 +f 3678//9918 3679//10000 3810//9919 +f 3811//10001 3943//10002 3942//9920 +f 3810//9919 3811//10001 3942//9920 +f 4077//10003 4076//9921 3942//9920 +f 3943//10002 4077//10003 3942//9920 +f 4210//10004 4209//9922 4076//9921 +f 4077//10003 4210//10004 4076//9921 +f 4210//10004 4343//10005 4342//9923 +f 4209//9922 4210//10004 4342//9923 +f 4343//10005 4477//10006 4476//9924 +f 4342//9923 4343//10005 4476//9924 +f 4611//10007 4610//9925 4476//9924 +f 4477//10006 4611//10007 4476//9924 +f 4745//10008 4744//9926 4610//9925 +f 4611//10007 4745//10008 4610//9925 +f 4745//10008 4880//10009 4879//9927 +f 4744//9926 4745//10008 4879//9927 +f 5015//10010 5014//9928 4879//9927 +f 4880//10009 5015//10010 4879//9927 +f 5150//10011 5149//7577 5014//9928 +f 5015//10010 5150//10011 5014//9928 +f 15350//10012 5285//10013 15480//10014 +f 5150//10011 5284//9929 5149//7577 +f 12754//5995 1255//10015 12459//3499 +f 35589//5470 35390//6238 35812//2800 +f 12301//4541 13028//3135 10006//9860 +f 13783//7729 1755//7731 3990//4114 +f 2522//8828 4009//8703 3029//9930 +f 5954//10016 19110//10017 5822//10018 +f 6084//9933 16191//10019 6085//9931 +f 4468//9151 4599//9864 17224//9863 +f 5954//10016 6086//10020 6085//9931 +f 35367//2986 35451//4266 35814//3183 +f 6216//10021 6215//9932 6085//9931 +f 6086//10020 6216//10021 6085//9931 +f 6345//10022 6344//9934 6215//9932 +f 6216//10021 6345//10022 6215//9932 +f 6472//10023 6471//9935 6344//9934 +f 6345//10022 6472//10023 6344//9934 +f 6598//10024 6597//9936 6471//9935 +f 6472//10023 6598//10024 6471//9935 +f 6723//10025 6722//9937 6597//9936 +f 6598//10024 6723//10025 6597//9936 +f 231//10026 207//9938 6722//9937 +f 6723//10025 231//10026 6722//9937 +f 436//10027 550//9939 207//9938 +f 231//10026 436//10027 207//9938 +f 3707//10028 2899//9940 550//9939 +f 436//10027 3707//10028 550//9939 +f 3308//10029 3024//9941 2899//9940 +f 3707//10028 3308//10029 2899//9940 +f 3716//10030 3586//9942 3024//9941 +f 3308//10029 3716//10030 3024//9941 +f 2080//10031 2079//9943 3586//9942 +f 3716//10030 2080//10031 3586//9942 +f 1964//10032 1717//9944 2079//9943 +f 2080//10031 1964//10032 2079//9943 +f 4794//10033 1252//9945 1717//9944 +f 1964//10032 4794//10033 1717//9944 +f 2497//9946 2363//9878 1252//9945 +f 4794//10033 2497//9946 1252//9945 +f 11828//8088 11914//8090 11827//9879 +f 6376//6864 6503//6827 6502//5839 +f 13343//3559 13438//3716 13342//4864 +f 11998//5003 11997//4544 11913//9947 +f 12941//4098 11810//9880 9658//4100 +f 22935//6597 23034//6596 23246//6937 +f 11094//9950 8087//10034 7773//4231 +f 27733//10035 27734//2457 27848//10036 +f 16790//678 5433//5527 14612//3389 +f 13771//9582 13098//765 13004//3498 +f 5304//6127 5305//6126 5439//5533 +f 35580//9551 35371//10037 35906//9961 +f 1133//4208 1249//3437 1132//2492 +f 5713//4842 5847//4183 5846//5947 +f 12250//2961 12249//10038 12166//10039 +f 9658//4100 11094//9950 7773//4231 +f 8087//10034 2091//10040 10379//4256 +f 1958//4228 2095//4846 1959//7833 +f 3689//4089 3690//3734 3821//4090 +f 5309//5664 5444//5662 5443//3665 +f 6365//3367 6364//2880 6235//3086 +f 3167//3091 3169//5288 3310//5287 +f 13816//3925 13815//10041 13717//1560 +f 1701//5518 1700//4674 1583//4491 +f 5727//9088 1609//4206 5861//3488 +f 2869//4038 2868//4540 2732//5154 +f 2885//8734 5588//6814 2884//6248 +f 3567//4070 3697//4068 3696//8099 +f 6505//6119 6506//9190 6631//5962 +f 319//8604 429//4972 428//4220 +f 5305//6126 5440//3051 5439//5533 +f 3160//3627 3307//9741 4110//3628 +f 35583//10042 35652//4814 35384//5559 +f 5846//5947 5847//4183 5978//4185 +f 11920//2757 12004//2756 11919//3103 +f 12085//2942 12084//10043 12003//4898 +f 7773//4231 8087//10034 10379//4256 +f 2091//10040 10467//10044 12931//4425 +f 2000//5120 1623//3742 1172//10045 +f 5845//5946 5844//6402 5710//6514 +f 4886//3273 5021//4720 5020//5529 +f 5593//9882 5727//9088 2219//6821 +f 411//10046 525//10047 524//9966 +f 410//9965 409//5245 7235//5244 +f 525//10047 640//10048 639//9967 +f 524//9966 525//10047 639//9967 +f 640//10048 758//10049 757//9968 +f 639//9967 640//10048 757//9968 +f 758//10049 877//10050 876//9969 +f 757//9968 758//10049 876//9969 +f 877//10050 996//10051 995//9970 +f 876//9969 877//10050 995//9970 +f 996//10051 1114//10052 1113//9971 +f 995//9970 996//10051 1113//9971 +f 1114//10052 1230//10053 1229//9972 +f 1113//9971 1114//10052 1229//9972 +f 1230//10053 1346//10054 1345//9973 +f 1229//9972 1230//10053 1345//9973 +f 1346//10054 1462//10055 1461//9976 +f 1345//9973 1346//10054 1461//9976 +f 1462//10055 1578//10056 1577//9974 +f 18794//9975 1577//9974 18894//1994 +f 1578//10056 1695//5758 1694//1995 +f 15036//10057 978//10058 2631//10059 +f 17012//1039 12461//10060 11009//10061 +f 1488//8536 14617//8538 5884//8424 +f 1812//5757 1932//10062 1931//9981 +f 15519//519 15389//10063 15520//9334 +f 1932//10062 2057//10064 2056//9982 +f 1931//9981 1932//10062 2056//9982 +f 2057//10064 2186//10065 2185//9987 +f 2056//9982 2057//10064 2185//9987 +f 2318//10066 2317//9985 2185//9987 +f 2186//10065 2318//10066 2185//9987 +f 29499//9529 29637//9991 29498//8763 +f 2318//10066 2452//10067 2317//9985 +f 2452//10067 2587//10068 2586//9990 +f 2451//9989 2452//10067 2586//9990 +f 2587//10068 2722//10069 2721//9993 +f 2586//9990 2587//10068 2721//9993 +f 2722//10069 2858//10070 2857//9994 +f 2721//9993 2722//10069 2857//9994 +f 2858//10070 2997//10071 2996//9995 +f 2857//9994 2858//10070 2996//9995 +f 2997//10071 3138//10072 3137//9996 +f 2996//9995 2997//10071 3137//9996 +f 3138//10072 3278//10073 3277//9997 +f 3137//9996 3138//10072 3277//9997 +f 3278//10073 3417//10074 3416//9998 +f 3277//9997 3278//10073 3416//9998 +f 3417//10074 3550//10075 3549//9999 +f 3416//9998 3417//10074 3549//9999 +f 3550//10075 3680//10076 3679//10000 +f 3549//9999 3550//10075 3679//10000 +f 3680//10076 3812//10077 3811//10001 +f 3679//10000 3680//10076 3811//10001 +f 3944//10078 3943//10002 3811//10001 +f 3812//10077 3944//10078 3811//10001 +f 4078//10079 4077//10003 3943//10002 +f 3944//10078 4078//10079 3943//10002 +f 4078//10079 4211//10080 4210//10004 +f 4077//10003 4078//10079 4210//10004 +f 4344//10081 4343//10005 4210//10004 +f 4211//10080 4344//10081 4210//10004 +f 4478//10082 4477//10006 4343//10005 +f 4344//10081 4478//10082 4343//10005 +f 4478//10082 4612//10083 4611//10007 +f 4477//10006 4478//10082 4611//10007 +f 4746//10084 4745//10008 4611//10007 +f 4612//10083 4746//10084 4611//10007 +f 4746//10084 4881//10085 4880//10009 +f 4745//10008 4746//10084 4880//10009 +f 4881//10085 5016//10086 5015//10010 +f 4880//10009 4881//10085 5015//10010 +f 5151//10087 5150//10011 5015//10010 +f 5016//10086 5151//10087 5015//10010 +f 35351//6861 35509//9197 35750//9196 +f 5151//10087 5285//10013 5150//10011 +f 3990//4114 1755//7731 5555//8862 +f 5062//7824 5061//3490 13772//4205 +f 8575//9859 13783//7729 3990//4114 +f 1755//7731 5062//7824 5555//8862 +f 5823//10088 5822//10018 5688//10089 +f 5689//10090 5823//10088 5688//10089 +f 5823//10088 5955//10091 5954//10016 +f 5822//10018 5823//10088 5954//10016 +f 6087//10092 6086//10020 5954//10016 +f 5955//10091 6087//10092 5954//10016 +f 6217//10093 6216//10021 6086//10020 +f 6087//10092 6217//10093 6086//10020 +f 6346//10094 6345//10022 6216//10021 +f 6217//10093 6346//10094 6216//10021 +f 6473//10095 6472//10023 6345//10022 +f 6346//10094 6473//10095 6345//10022 +f 6599//10096 6598//10024 6472//10023 +f 6473//10095 6599//10096 6472//10023 +f 6724//10097 6723//10025 6598//10024 +f 6599//10096 6724//10097 6598//10024 +f 295//10098 231//10026 6723//10025 +f 6724//10097 295//10098 6723//10025 +f 549//10099 436//10027 231//10026 +f 295//10098 549//10099 231//10026 +f 3706//10100 3707//10028 436//10027 +f 549//10099 3706//10100 436//10027 +f 3448//10101 3308//10029 3707//10028 +f 3706//10100 3448//10101 3707//10028 +f 3848//10102 3716//10030 3308//10029 +f 3448//10101 3848//10102 3308//10029 +f 2081//10103 2080//10031 3716//10030 +f 3848//10102 2081//10103 3716//10030 +f 1965//10104 1964//10032 2080//10031 +f 2081//10103 1965//10104 2080//10031 +f 4652//10105 4794//10033 1964//10032 +f 1965//10104 4652//10105 1964//10032 +f 2632//9957 2497//9946 4794//10033 +f 4652//10105 2632//9957 4794//10033 +f 6787//10106 6659//10107 27783//10108 +f 2632//9957 2232//6916 2497//9946 +f 11914//8090 11998//5003 11913//9947 +f 12415//3937 12414//10109 12328//5431 +f 35682//3726 35388//4417 35858//7054 +f 20486//2944 23123//10110 16011//905 +f 10379//4256 2091//10040 12931//4425 +f 10467//10044 14185//10111 9520//4569 +f 6502//5839 6503//6827 6628//5840 +f 1702//4052 1703//4049 1819//4050 +f 6628//5840 6629//6383 6753//6618 +f 7165//10112 11556//10113 11557//10114 +f 33547//10115 802//4363 801//5438 +f 3953//4648 3954//3292 4087//4209 +f 887//4980 1006//4820 1005//4819 +f 429//4972 543//4971 428//4220 +f 5446//5949 5447//4408 5580//6234 +f 3290//3837 3289//2900 3149//5022 +f 4089//3482 4222//4991 4221//4365 +f 2337//9260 2471//9077 2336//3869 +f 2205//2570 2337//9260 2336//3869 +f 2204//2571 2205//2570 2336//3869 +f 4631//7656 4632//7655 4765//6429 +f 318//5036 317//3697 7042//5034 +f 2606//7831 2605//4078 2470//4066 +f 1729//7839 10024//1791 3182//7740 +f 658//5140 657//4219 542//4389 +f 1728//7658 1727//9883 5593//9882 +f 2368//10116 2499//7535 2088//10117 +f 12085//2942 12167//2941 12084//10043 +f 1728//7658 3182//7740 1727//9883 +f 6379//6020 6506//9190 6505//6119 +f 2332//6717 2466//3446 2465//4681 +f 12680//3633 12679//3632 12589//10118 +f 2074//3675 2203//3674 2073//2887 +f 1746//4657 1863//4021 1745//3178 +f 2221//5293 5460//7657 2220//5150 +f 9642//2021 11136//2020 12630//3500 +f 24165//10119 23919//10120 24548//10121 +f 412//10122 526//10123 525//10047 +f 411//10046 7236//10124 7237//10125 +f 526//10123 641//10126 640//10048 +f 525//10047 526//10123 640//10048 +f 641//10126 759//10127 758//10049 +f 640//10048 641//10126 758//10049 +f 759//10127 878//10128 877//10050 +f 758//10049 759//10127 877//10050 +f 878//10128 997//10129 996//10051 +f 877//10050 878//10128 996//10051 +f 997//10129 1115//10130 1114//10052 +f 996//10051 997//10129 1114//10052 +f 1115//10130 1231//10131 1230//10053 +f 1114//10052 1115//10130 1230//10053 +f 1231//10131 1347//10132 1346//10054 +f 1230//10053 1231//10131 1346//10054 +f 1347//10132 1463//10133 1462//10055 +f 1346//10054 1347//10132 1462//10055 +f 1463//10133 1579//10134 1578//10056 +f 1462//10055 1463//10133 1578//10056 +f 1579//10134 1696//5756 1695//5758 +f 1578//10056 1579//10134 1695//5758 +f 1696//5756 1813//10135 1812//5757 +f 20724//3766 951//10136 17723//3767 +f 1813//10135 1933//10137 1932//10062 +f 1812//5757 1813//10135 1932//10062 +f 1933//10137 2058//10138 2057//10064 +f 1932//10062 1933//10137 2057//10064 +f 2187//10139 2186//10065 2057//10064 +f 2058//10138 2187//10139 2057//10064 +f 2187//10139 2319//10140 2318//10066 +f 2186//10065 2187//10139 2318//10066 +f 2453//10141 2452//10067 2318//10066 +f 2319//10140 2453//10141 2318//10066 +f 2453//10141 2588//10142 2587//10068 +f 2452//10067 2453//10141 2587//10068 +f 2588//10142 2723//10143 2722//10069 +f 2587//10068 2588//10142 2722//10069 +f 2723//10143 2859//10144 2858//10070 +f 2722//10069 2723//10143 2858//10070 +f 2859//10144 2998//10145 2997//10071 +f 2858//10070 2859//10144 2997//10071 +f 2998//10145 3139//10146 3138//10072 +f 2997//10071 2998//10145 3138//10072 +f 3139//10146 3279//10147 3278//10073 +f 3138//10072 3139//10146 3278//10073 +f 3279//10147 3418//10148 3417//10074 +f 3278//10073 3279//10147 3417//10074 +f 3418//10148 3551//10149 3550//10075 +f 3417//10074 3418//10148 3550//10075 +f 3551//10149 3681//10150 3680//10076 +f 3550//10075 3551//10149 3680//10076 +f 3681//10150 3813//10151 3812//10077 +f 3680//10076 3681//10150 3812//10077 +f 3813//10151 3945//10152 3944//10078 +f 3812//10077 3813//10151 3944//10078 +f 3945//10152 4079//10153 4078//10079 +f 3944//10078 3945//10152 4078//10079 +f 4212//10154 4211//10080 4078//10079 +f 4079//10153 4212//10154 4078//10079 +f 4345//10155 4344//10081 4211//10080 +f 4212//10154 4345//10155 4211//10080 +f 4479//10156 4478//10082 4344//10081 +f 4345//10155 4479//10156 4344//10081 +f 4479//10156 4613//10157 4612//10083 +f 4478//10082 4479//10156 4612//10083 +f 4747//10158 4746//10084 4612//10083 +f 4613//10157 4747//10158 4612//10083 +f 4882//10159 4881//10085 4746//10084 +f 4747//10158 4882//10159 4746//10084 +f 4882//10159 5017//10160 5016//10086 +f 4881//10085 4882//10159 5016//10086 +f 5152//10161 5151//10087 5016//10086 +f 5017//10160 5152//10161 5016//10086 +f 5286//10162 5285//10013 5151//10087 +f 5152//10161 5286//10162 5151//10087 +f 12594//10163 12593//8468 12503//10164 +f 4650//5449 15187//5588 15312//10165 +f 12684//10166 12683//8465 12593//8468 +f 12504//3936 12594//10163 12503//10164 +f 12594//10163 12684//10166 12593//8468 +f 5824//10167 5823//10088 5689//10090 +f 5690//1159 5824//10167 5689//10090 +f 5824//10167 5956//10168 5955//10091 +f 5823//10088 5824//10167 5955//10091 +f 5956//10168 6088//10169 6087//10092 +f 5955//10091 5956//10168 6087//10092 +f 6218//10170 6217//10093 6087//10092 +f 6088//10169 6218//10170 6087//10092 +f 6347//10171 6346//10094 6217//10093 +f 6218//10170 6347//10171 6217//10093 +f 6474//10172 6473//10095 6346//10094 +f 6347//10171 6474//10172 6346//10094 +f 6600//10173 6599//10096 6473//10095 +f 6474//10172 6600//10173 6473//10095 +f 6725//10174 6724//10097 6599//10096 +f 6600//10173 6725//10174 6599//10096 +f 324//10175 295//10098 6724//10097 +f 6725//10174 324//10175 6724//10097 +f 435//10176 549//10099 295//10098 +f 324//10175 435//10176 295//10098 +f 3836//10177 3706//10100 549//10099 +f 435//10176 3836//10177 549//10099 +f 3309//10178 3448//10101 3706//10100 +f 3836//10177 3309//10178 3706//10100 +f 3174//10179 3848//10102 3448//10101 +f 3309//10178 3174//10179 3448//10101 +f 2082//10180 2081//10103 3848//10102 +f 3174//10179 2082//10180 3848//10102 +f 1966//10181 1965//10104 2081//10103 +f 2082//10180 1966//10181 2081//10103 +f 900//10182 4652//10105 1965//10104 +f 1966//10181 900//10182 1965//10104 +f 2767//10183 2632//9957 4652//10105 +f 900//10182 2767//10183 4652//10105 +f 35824//10184 2138//9400 35455//9401 +f 16755//917 25466//10185 25608//10186 +f 12329//3749 12415//3937 12328//5431 +f 12504//3936 12503//10164 12414//10109 +f 23309//6939 23406//10187 23308//10188 +f 20070//10189 16010//10190 22929//10191 +f 12931//4425 10467//10044 9520//4569 +f 14185//10111 8771//10192 11072//4733 +f 5969//4669 6101//5252 6100//5251 +f 1360//2892 1476//2689 1359//2688 +f 6355//8607 6482//4713 6481//6713 +f 4093//9590 4226//6250 4092//3443 +f 4362//4682 4361//3830 4229//4994 +f 4093//9590 4092//3443 3958//5986 +f 418//5248 419//3848 532//3850 +f 5839//2968 5971//5013 5838//4965 +f 3827//6266 3959//9523 3826//5983 +f 5706//3867 5840//2966 5705//3050 +f 2200//4508 2199//4507 2070//5950 +f 6103//5012 6102//4668 5970//4667 +f 3959//9523 4093//9590 3958//5986 +f 4390//3129 4792//3320 1385//6515 +f 3959//9523 3958//5986 3826//5983 +f 5968//6598 5969//4669 6100//5251 +f 5972//2967 5971//5013 5839//2968 +f 895//4704 1014//4703 894//4390 +f 6354//8608 6355//8607 6481//6713 +f 3145//4057 3146//5127 3285//5815 +f 6608//4706 6733//3740 6732//4535 +f 9520//4569 14185//10111 11072//4733 +f 3425//4718 3558//3643 3424//3645 +f 5460//7657 1728//7658 5593//9882 +f 5460//7657 5593//9882 2220//5150 +f 543//4971 542//4389 428//4220 +f 5447//4408 5581//3826 5580//6234 +f 413//10193 527//10194 526//10123 +f 7237//10125 412//10122 411//10046 +f 527//10194 642//10195 641//10126 +f 526//10123 527//10194 641//10126 +f 642//10195 760//10196 759//10127 +f 641//10126 642//10195 759//10127 +f 760//10196 879//10197 878//10128 +f 759//10127 760//10196 878//10128 +f 879//10197 998//10198 997//10129 +f 878//10128 879//10197 997//10129 +f 998//10198 1116//10199 1115//10130 +f 997//10129 998//10198 1115//10130 +f 1116//10199 1232//10200 1231//10131 +f 1115//10130 1116//10199 1231//10131 +f 1232//10200 1348//10201 1347//10132 +f 1231//10131 1232//10200 1347//10132 +f 1348//10201 1464//10202 1463//10133 +f 1347//10132 1348//10201 1463//10133 +f 1464//10202 1580//10203 1579//10134 +f 1463//10133 1464//10202 1579//10134 +f 1580//10203 1697//10204 1696//5756 +f 1579//10134 1580//10203 1696//5756 +f 1697//10204 1814//10205 1813//10135 +f 1696//5756 1697//10204 1813//10135 +f 1814//10205 1934//10206 1933//10137 +f 1813//10135 1814//10205 1933//10137 +f 1934//10206 2059//10207 2058//10138 +f 1933//10137 1934//10206 2058//10138 +f 2188//10208 2187//10139 2058//10138 +f 2059//10207 2188//10208 2058//10138 +f 2188//10208 2320//10209 2319//10140 +f 2187//10139 2188//10208 2319//10140 +f 2320//10209 2454//10210 2453//10141 +f 2319//10140 2320//10209 2453//10141 +f 2454//10210 2589//10211 2588//10142 +f 2453//10141 2454//10210 2588//10142 +f 2589//10211 2724//10212 2723//10143 +f 2588//10142 2589//10211 2723//10143 +f 2724//10212 2860//10213 2859//10144 +f 2723//10143 2724//10212 2859//10144 +f 2860//10213 2999//10214 2998//10145 +f 2859//10144 2860//10213 2998//10145 +f 2999//10214 3140//10215 3139//10146 +f 2998//10145 2999//10214 3139//10146 +f 3140//10215 3280//10216 3279//10147 +f 3139//10146 3140//10215 3279//10147 +f 3280//10216 3419//10217 3418//10148 +f 3279//10147 3280//10216 3418//10148 +f 3552//10218 3551//10149 3418//10148 +f 3419//10217 3552//10218 3418//10148 +f 3682//10219 3681//10150 3551//10149 +f 3552//10218 3682//10219 3551//10149 +f 3814//10220 3813//10151 3681//10150 +f 3682//10219 3814//10220 3681//10150 +f 3814//10220 3946//10221 3945//10152 +f 3813//10151 3814//10220 3945//10152 +f 3946//10221 4080//10222 4079//10153 +f 3945//10152 3946//10221 4079//10153 +f 4213//10223 4212//10154 4079//10153 +f 4080//10222 4213//10223 4079//10153 +f 4213//10223 4346//10224 4345//10155 +f 4212//10154 4213//10223 4345//10155 +f 4346//10224 4480//10225 4479//10156 +f 4345//10155 4346//10224 4479//10156 +f 4614//10226 4613//10157 4479//10156 +f 4480//10225 4614//10226 4479//10156 +f 4748//10227 4747//10158 4613//10157 +f 4614//10226 4748//10227 4613//10157 +f 4883//10228 4882//10159 4747//10158 +f 4748//10227 4883//10228 4747//10158 +f 5018//10229 5017//10160 4882//10159 +f 4883//10228 5018//10229 4882//10159 +f 5018//10229 5153//10230 5152//10161 +f 5017//10160 5018//10229 5152//10161 +f 5153//10230 5287//10231 5286//10162 +f 5152//10161 5153//10230 5286//10162 +f 5422//10232 5423//8810 14804//10233 +f 5287//10231 5422//10232 5286//10162 +f 21561//5349 11576//10234 17286//5350 +f 29818//2446 23843//10235 23901//2444 +f 30454//10236 30453//10237 30320//10238 +f 28987//10239 26412//2269 19569//2271 +f 5825//10240 5824//10167 5690//1159 +f 5690//1159 5688//10089 14707//1160 +f 5957//10241 5956//10168 5824//10167 +f 5825//10240 5957//10241 5824//10167 +f 10338//10242 3458//10243 7453//10244 +f 5956//10168 5957//10241 6088//10169 +f 6219//10245 6218//10170 6088//10169 +f 6089//9189 6219//10245 6088//10169 +f 6219//10245 6348//10246 6347//10171 +f 6218//10170 6219//10245 6347//10171 +f 6475//10247 6474//10172 6347//10171 +f 6348//10246 6475//10247 6347//10171 +f 6601//10248 6600//10173 6474//10172 +f 6475//10247 6601//10248 6474//10172 +f 6726//10249 6725//10174 6600//10173 +f 6601//10248 6726//10249 6600//10173 +f 325//10250 324//10175 6725//10174 +f 6726//10249 325//10250 6725//10174 +f 5958//10251 435//10176 324//10175 +f 325//10250 5958//10251 324//10175 +f 3967//10252 3836//10177 435//10176 +f 5958//10251 3967//10252 435//10176 +f 3975//10253 3309//10178 3836//10177 +f 3967//10252 3975//10253 3836//10177 +f 3975//10253 3033//10254 3174//10179 +f 3309//10178 3975//10253 3174//10179 +f 6617//10255 2082//10180 3174//10179 +f 3033//10254 6617//10255 3174//10179 +f 1967//10256 1966//10181 2082//10180 +f 6617//10255 1967//10256 2082//10180 +f 92//10257 900//10182 1966//10181 +f 1967//10256 92//10257 1966//10181 +f 2766//1219 2767//10183 900//10182 +f 92//10257 2766//1219 900//10182 +f 10867//2333 10976//2337 4125//2172 +f 2766//1219 2104//9958 2767//10183 +f 12415//3937 12504//3936 12414//10109 +f 12772//8587 12773//8263 12864//10258 +f 21460//10259 21370//10260 26347//10261 +f 692//10262 21226//345 2939//478 +f 8771//10192 7577//10263 12843//4812 +f 11072//4733 8771//10192 12843//4812 +f 5172//3075 5173//3074 5306//3080 +f 2097//3655 2227//4046 4131//4988 +f 7577//10263 6637//10264 6761//4899 +f 8423//10265 8530//10266 1993//5296 +f 2118//5294 2247//5548 2246//9813 +f 2117//5295 2118//5294 2246//9813 +f 2247//5548 2379//8173 2378//9881 +f 2246//9813 2247//5548 2378//9881 +f 2379//8173 2513//8172 2512//9887 +f 2378//9881 2379//8173 2512//9887 +f 2513//8172 2648//3106 2647//9888 +f 2512//9887 2513//8172 2647//9888 +f 2783//1125 2649//3107 2784//2080 +f 2647//9888 2648//3106 2782//1127 +f 10501//2928 8692//4545 13996//3109 +f 13533//9802 13631//6378 13532//10267 +f 6521//2518 1052//10268 8579//2519 +f 2063//4226 2064//4225 2192//4816 +f 1006//4820 1124//4963 1123//4821 +f 543//4971 658//5140 542//4389 +f 3150//5386 3290//3837 3149//5022 +f 414//6428 528//6427 527//10194 +f 7238//10269 413//10193 412//10122 +f 528//6427 643//10270 642//10195 +f 527//10194 528//6427 642//10195 +f 761//10271 760//10196 642//10195 +f 643//10270 761//10271 642//10195 +f 761//10271 880//10272 879//10197 +f 760//10196 761//10271 879//10197 +f 880//10272 999//10273 998//10198 +f 879//10197 880//10272 998//10198 +f 999//10273 1117//10274 1116//10199 +f 998//10198 999//10273 1116//10199 +f 1117//10274 1233//10275 1232//10200 +f 1116//10199 1117//10274 1232//10200 +f 1233//10275 1349//10276 1348//10201 +f 1232//10200 1233//10275 1348//10201 +f 1349//10276 1465//10277 1464//10202 +f 1348//10201 1349//10276 1464//10202 +f 1465//10277 1581//10278 1580//10203 +f 1464//10202 1465//10277 1580//10203 +f 1581//10278 1698//10279 1697//10204 +f 1580//10203 1581//10278 1697//10204 +f 1698//10279 1815//10280 1814//10205 +f 1697//10204 1698//10279 1814//10205 +f 1815//10280 1935//10281 1934//10206 +f 1814//10205 1815//10280 1934//10206 +f 1935//10281 2060//10282 2059//10207 +f 1934//10206 1935//10281 2059//10207 +f 2189//10283 2188//10208 2059//10207 +f 2060//10282 2189//10283 2059//10207 +f 2321//10284 2320//10209 2188//10208 +f 2189//10283 2321//10284 2188//10208 +f 2321//10284 2455//10285 2454//10210 +f 2320//10209 2321//10284 2454//10210 +f 2455//10285 2590//10286 2589//10211 +f 2454//10210 2455//10285 2589//10211 +f 2590//10286 2725//10287 2724//10212 +f 2589//10211 2590//10286 2724//10212 +f 2725//10287 2861//10288 2860//10213 +f 2724//10212 2725//10287 2860//10213 +f 2861//10288 3000//10289 2999//10214 +f 2860//10213 2861//10288 2999//10214 +f 3000//10289 3141//10290 3140//10215 +f 2999//10214 3000//10289 3140//10215 +f 3281//10291 3280//10216 3140//10215 +f 3141//10290 3281//10291 3140//10215 +f 3281//10291 3420//10292 3419//10217 +f 3280//10216 3281//10291 3419//10217 +f 3553//10293 3552//10218 3419//10217 +f 3420//10292 3553//10293 3419//10217 +f 3683//10294 3682//10219 3552//10218 +f 3553//10293 3683//10294 3552//10218 +f 3815//10295 3814//10220 3682//10219 +f 3683//10294 3815//10295 3682//10219 +f 3815//10295 3947//10296 3946//10221 +f 3814//10220 3815//10295 3946//10221 +f 3947//10296 4081//10297 4080//10222 +f 3946//10221 3947//10296 4080//10222 +f 4214//10298 4213//10223 4080//10222 +f 4081//10297 4214//10298 4080//10222 +f 4214//10298 4347//10299 4346//10224 +f 4213//10223 4214//10298 4346//10224 +f 4481//10300 4480//10225 4346//10224 +f 4347//10299 4481//10300 4346//10224 +f 4615//10301 4614//10226 4480//10225 +f 4481//10300 4615//10301 4480//10225 +f 4615//10301 4749//10302 4748//10227 +f 4614//10226 4615//10301 4748//10227 +f 4749//10302 4884//10303 4883//10228 +f 4748//10227 4749//10302 4883//10228 +f 5019//10304 5018//10229 4883//10228 +f 4884//10303 5019//10304 4883//10228 +f 5154//10305 5153//10230 5018//10229 +f 5019//10304 5154//10305 5018//10229 +f 5288//10306 5287//10231 5153//10230 +f 5154//10305 5288//10306 5153//10230 +f 5424//8811 5423//8810 5288//10306 +f 4103//6495 4369//6494 9769//10307 +f 12250//2961 12335//10308 12249//10038 +f 29149//10309 30423//3310 30072//3309 +f 12843//4812 7577//10263 6761//4899 +f 6637//10264 221//10310 6390//4989 +f 5826//10311 5825//10240 5691//4563 +f 6761//4899 6637//10264 6390//4989 +f 11805//7451 7017//8003 6917//7452 +f 35799//10312 35518//10313 35539//10314 +f 6478//5149 6604//4844 6603//5692 +f 3559//5399 3689//4089 3688//3646 +f 6090//6714 6220//10315 6219//10245 +f 5957//10241 8132//6715 6089//9189 +f 6220//10315 6349//10316 6348//10246 +f 6219//10245 6220//10315 6348//10246 +f 6476//10317 6475//10247 6348//10246 +f 6349//10316 6476//10317 6348//10246 +f 6602//10318 6601//10248 6475//10247 +f 6476//10317 6602//10318 6475//10247 +f 6727//10319 6726//10249 6601//10248 +f 6602//10318 6727//10319 6601//10248 +f 334//10320 325//10250 6726//10249 +f 6727//10319 334//10320 6726//10249 +f 334//10320 667//10321 5958//10251 +f 325//10250 334//10320 5958//10251 +f 3576//10322 3967//10252 5958//10251 +f 667//10321 3576//10322 5958//10251 +f 3843//10323 3975//10253 3967//10252 +f 3576//10322 3843//10323 3967//10252 +f 2894//10324 3033//10254 3975//10253 +f 3843//10323 2894//10324 3975//10253 +f 1960//10325 6617//10255 3033//10254 +f 2894//10324 1960//10325 3033//10254 +f 1960//10325 2093//10326 1967//10256 +f 6617//10255 1960//10325 1967//10256 +f 91//10327 92//10257 1967//10256 +f 2093//10326 91//10327 1967//10256 +f 4925//1220 2766//1219 92//10257 +f 91//10327 4925//1220 92//10257 +f 1530//5541 35491//5264 35627//10328 +f 91//10327 5060//10329 4925//1220 +f 12865//8265 12958//8359 12957//10330 +f 13052//7256 12958//8359 23924//10331 +f 12167//2941 12250//2961 12166//10039 +f 12335//10308 12334//10332 12249//10038 +f 221//10310 4531//10333 38//5130 +f 6390//4989 221//10310 38//5130 +f 22512//10334 22511//1910 22413//914 +f 12004//2756 12085//2942 12003//4898 +f 3157//2977 3156//4073 3015//2975 +f 35714//6849 35412//8644 35529//8019 +f 5442//3666 5443//3665 5576//4401 +f 2471//9077 2470//4066 2336//3869 +f 415//4013 529//4012 528//6427 +f 7239//10335 7240//10336 414//6428 +f 529//4012 644//10337 643//10270 +f 528//6427 529//4012 643//10270 +f 644//10337 762//10338 761//10271 +f 643//10270 644//10337 761//10271 +f 762//10338 881//10339 880//10272 +f 761//10271 762//10338 880//10272 +f 1000//10340 999//10273 880//10272 +f 881//10339 1000//10340 880//10272 +f 1000//10340 1118//10341 1117//10274 +f 999//10273 1000//10340 1117//10274 +f 1118//10341 1234//10342 1233//10275 +f 1117//10274 1118//10341 1233//10275 +f 1234//10342 1350//10343 1349//10276 +f 1233//10275 1234//10342 1349//10276 +f 1350//10343 1466//10344 1465//10277 +f 1349//10276 1350//10343 1465//10277 +f 1466//10344 1582//10345 1581//10278 +f 1465//10277 1466//10344 1581//10278 +f 1699//10346 1698//10279 1581//10278 +f 1582//10345 1699//10346 1581//10278 +f 1816//10347 1815//10280 1698//10279 +f 1699//10346 1816//10347 1698//10279 +f 1816//10347 1936//10348 1935//10281 +f 1815//10280 1816//10347 1935//10281 +f 1936//10348 2061//10349 2060//10282 +f 1935//10281 1936//10348 2060//10282 +f 2061//10349 2190//10350 2189//10283 +f 2060//10282 2061//10349 2189//10283 +f 2322//10351 2321//10284 2189//10283 +f 2190//10350 2322//10351 2189//10283 +f 2322//10351 2456//10352 2455//10285 +f 2321//10284 2322//10351 2455//10285 +f 2456//10352 2591//10353 2590//10286 +f 2455//10285 2456//10352 2590//10286 +f 2591//10353 2726//10354 2725//10287 +f 2590//10286 2591//10353 2725//10287 +f 2726//10354 2862//10355 2861//10288 +f 2725//10287 2726//10354 2861//10288 +f 2862//10355 3001//10356 3000//10289 +f 2861//10288 2862//10355 3000//10289 +f 3001//10356 3142//10357 3141//10290 +f 3000//10289 3001//10356 3141//10290 +f 3282//10358 3281//10291 3141//10290 +f 3142//10357 3282//10358 3141//10290 +f 3421//10359 3420//10292 3281//10291 +f 3282//10358 3421//10359 3281//10291 +f 3554//10360 3553//10293 3420//10292 +f 3421//10359 3554//10360 3420//10292 +f 3684//10361 3683//10294 3553//10293 +f 3554//10360 3684//10361 3553//10293 +f 3684//10361 3816//10362 3815//10295 +f 3683//10294 3684//10361 3815//10295 +f 3816//10362 3948//10363 3947//10296 +f 3815//10295 3816//10362 3947//10296 +f 3948//10363 4082//10364 4081//10297 +f 3947//10296 3948//10363 4081//10297 +f 4215//9591 4214//10298 4081//10297 +f 4082//10364 4215//9591 4081//10297 +f 4348//8272 4347//10299 4214//10298 +f 4215//9591 4348//8272 4214//10298 +f 4348//8272 4482//8273 4481//10300 +f 4347//10299 4348//8272 4481//10300 +f 4616//3840 4615//10301 4481//10300 +f 4482//8273 4616//3840 4481//10300 +f 4616//3840 4750//3842 4749//10302 +f 4615//10301 4616//3840 4749//10302 +f 4885//5528 4884//10303 4749//10302 +f 4750//3842 4885//5528 4749//10302 +f 5020//5529 5019//10304 4884//10303 +f 4885//5528 5020//5529 4884//10303 +f 5020//5529 5155//7926 5154//10305 +f 5019//10304 5020//5529 5154//10305 +f 5289//3819 5288//10306 5154//10305 +f 5155//7926 5289//3819 5154//10305 +f 12864//10258 12865//8265 12957//10330 +f 35568//2366 35701//3243 35350//9808 +f 31625//10365 31624//10366 31537//10367 +f 14186//7543 9653//10368 35758//9468 +f 22313//8785 22410//10369 22409//10370 +f 3994//5864 4531//10333 5736//5862 +f 12167//2941 12166//10039 12084//10043 +f 22217//8896 22313//8785 22312//10371 +f 6089//9189 6090//6714 6219//10245 +f 8330//10372 5960//10373 10223//9389 +f 6091//5819 6221//4959 6220//10315 +f 6090//6714 6091//5819 6220//10315 +f 6221//4959 6350//7260 6349//10316 +f 6220//10315 6221//4959 6349//10316 +f 6477//6255 6476//10317 6349//10316 +f 6350//7260 6477//6255 6349//10316 +f 6477//6255 6603//5692 6602//10318 +f 6476//10317 6477//6255 6602//10318 +f 6603//5692 6728//5691 6727//10319 +f 6602//10318 6603//5692 6727//10319 +f 6728//5691 450//5674 334//10320 +f 6727//10319 6728//5691 334//10320 +f 450//5674 668//6256 667//10321 +f 334//10320 450//5674 667//10321 +f 668//6256 3705//5821 3576//10322 +f 667//10321 668//6256 3576//10322 +f 3705//5821 3711//5820 3843//10323 +f 3576//10322 3705//5821 3843//10323 +f 2757//5826 2894//10324 3843//10323 +f 3711//5820 2757//5826 3843//10323 +f 1959//7833 1960//10325 2894//10324 +f 2757//5826 1959//7833 2894//10324 +f 2094//5402 2093//10326 1960//10325 +f 1959//7833 2094//5402 1960//10325 +f 1028//5401 91//10327 2093//10326 +f 2094//5402 1028//5401 2093//10326 +f 1028//5401 5060//10329 91//10327 +f 16049//8812 5425//3818 618//10374 +f 34807//7365 34806//4855 34678//7929 +f 34414//3130 34551//5901 34413//3131 +f 12957//10330 12958//8359 13051//7255 +f 14310//7830 14309//7632 14211//3357 +f 31111//3914 31174//10375 31173//10376 +f 26950//10377 26949//10378 11595//3162 +f 5831//4891 5963//6943 8977//4892 +f 31399//10379 31466//10380 31398//10381 +f 24841//8284 24790//8283 25337//8895 +f 5575//7925 5576//4401 5710//6514 +f 1745//3178 1862//4022 1744//3179 +f 8090//10382 13614//5017 9802//9078 +f 4752//3272 4887//4719 4886//3273 +f 4350//2902 4484//4210 4483//5813 +f 4632//7655 4766//4230 4765//6429 +f 416//4011 530//7456 529//4012 +f 415//4013 7240//10336 7241//10383 +f 530//7456 645//4838 644//10337 +f 529//4012 530//7456 644//10337 +f 645//4838 763//4839 762//10338 +f 644//10337 645//4838 762//10338 +f 763//4839 882//3057 881//10339 +f 762//10338 763//4839 881//10339 +f 882//3057 1001//3059 1000//10340 +f 881//10339 882//3057 1000//10340 +f 1001//3059 1119//5134 1118//10341 +f 1000//10340 1001//3059 1118//10341 +f 1119//5134 1235//5135 1234//10342 +f 1118//10341 1119//5134 1234//10342 +f 1235//5135 1351//5121 1350//10343 +f 1234//10342 1235//5135 1350//10343 +f 1351//5121 1467//4492 1466//10344 +f 1350//10343 1351//5121 1466//10344 +f 1583//4491 1582//10345 1466//10344 +f 1467//4492 1583//4491 1466//10344 +f 1700//4674 1699//10346 1582//10345 +f 1583//4491 1700//4674 1582//10345 +f 1817//4673 1816//10347 1699//10346 +f 1700//4674 1817//4673 1699//10346 +f 1937//5523 1936//10348 1816//10347 +f 1817//4673 1937//5523 1816//10347 +f 2062//5832 2061//10349 1936//10348 +f 1937//5523 2062//5832 1936//10348 +f 2062//5832 2191//5289 2190//10350 +f 2061//10349 2062//5832 2190//10350 +f 2191//5289 2323//5107 2322//10351 +f 2190//10350 2191//5289 2322//10351 +f 2323//5107 2457//5108 2456//10352 +f 2322//10351 2323//5107 2456//10352 +f 2457//5108 2592//5290 2591//10353 +f 2456//10352 2457//5108 2591//10353 +f 2592//5290 2727//8004 2726//10354 +f 2591//10353 2592//5290 2726//10354 +f 2727//8004 2863//8005 2862//10355 +f 2726//10354 2727//8004 2862//10355 +f 2863//8005 3002//6101 3001//10356 +f 2862//10355 2863//8005 3001//10356 +f 3002//6101 3143//5436 3142//10357 +f 3001//10356 3002//6101 3142//10357 +f 3143//5436 3283//5254 3282//10358 +f 3142//10357 3143//5436 3282//10358 +f 3422//4510 3421//10359 3282//10358 +f 3283//5254 3422//4510 3282//10358 +f 3555//2870 3554//10360 3421//10359 +f 3422//4510 3555//2870 3421//10359 +f 3685//5666 3684//10361 3554//10360 +f 3555//2870 3685//5666 3554//10360 +f 3685//5666 3817//8278 3816//10362 +f 3684//10361 3685//5666 3816//10362 +f 3817//8278 3949//8277 3948//10363 +f 3816//10362 3817//8278 3948//10363 +f 4083//6519 4082//10364 3948//10363 +f 3949//8277 4083//6519 3948//10363 +f 4083//6519 4216//4532 4215//9591 +f 4082//10364 4083//6519 4215//9591 +f 4216//4532 4349//2903 4348//8272 +f 7047//9955 7151//10384 7150//10385 +f 22216//10386 22217//8896 22312//10371 +f 7046//9956 7047//9955 7150//10385 +f 13321//7566 35858//7054 11130//2725 +f 8313//7924 8314//10387 1871//8013 +f 14258//10388 13300//10389 14257//10390 +f 5204//10391 3203//10392 1977//5444 +f 35462//2266 35550//2268 35653//7351 +f 31110//3915 31111//3914 31173//10376 +f 35897//4264 35451//4266 35367//2986 +f 7293//10393 7292//20 21380//5473 +f 35824//10184 35381//10394 19681//5274 +f 7345//10395 14529//10396 11251//10397 +f 13430//564 13336//2717 20266//860 +f 5865//5443 5204//10391 1977//5444 +f 35407//5535 14277//10398 35398//1371 +f 14119//2360 14215//2222 14214//1427 +f 35807//10399 35597//6452 35715//3638 +f 7994//10400 11231//10401 7367//10402 +f 1635//10403 1518//6257 8092//10404 +f 7270//10405 7271//10406 7381//10407 +f 8610//10408 8609//10409 8502//10410 +f 11370//10411 9081//10412 10096//10413 +f 10847//10414 8131//10415 10096//10413 +f 7372//10416 7371//10417 7260//10418 +f 9251//10419 9250//10420 9141//10421 +f 10639//10422 10763//10423 10762//5834 +f 6227//4410 6356//4349 8521//8609 +f 9264//10424 9376//10425 9263//10426 +f 10517//10427 10639//10422 10638//10428 +f 10470//10429 10469//10430 9200//10431 +f 9833//10432 9832//10433 9717//10434 +f 10516//10435 10517//10427 10638//10428 +f 11096//10436 8235//10437 11097//9339 +f 10395//5259 10396//4222 10515//10438 +f 8172//10439 8280//10440 8279//10441 +f 11391//10442 11395//8017 9626//5423 +f 6962//10443 7813//8846 8141//10444 +f 10396//4222 10516//10435 10515//10438 +f 8521//8609 7426//10445 6227//4410 +f 10284//10446 10283//10447 10164//10448 +f 8492//10449 8599//10450 8598//10451 +f 9376//10425 9375//10452 9263//10426 +f 10638//10428 10639//10422 10762//5834 +f 151//5456 152//5730 257//5574 +f 8045//10453 8220//10454 11372//10455 +f 10763//10423 10888//10456 10762//5834 +f 1186//2985 6149//4284 18342//10457 +f 11066//10458 10687//10459 11326//10460 +f 10945//10461 10936//10462 7911//10463 +f 15816//633 15680//185 3313//8253 +f 13414//5560 7933//3501 9686//8864 +f 8696//10464 8695//10465 8588//2885 +f 7327//10466 8148//10467 7439//10468 +f 9297//10469 9173//10470 11220//10471 +f 3961//5257 10515//10438 10514//7647 +f 9029//10472 9028//10473 8921//10474 +f 10521//10475 10522//10476 10643//10477 +f 10512//10478 8777//10479 7143//10480 +f 8293//10481 8400//10482 8399//10483 +f 8891//10484 8464//10485 9320//10486 +f 9179//10487 17159//10488 9178//10489 +f 7929//10490 9563//10491 10215//10492 +f 9134//10493 9135//10494 9243//10495 +f 21655//10496 7295//10497 7294//21 +f 10847//10414 9104//10498 8131//10415 +f 10989//10499 11116//10500 8996//10501 +f 9297//10469 11220//10471 10871//10502 +f 29770//10503 29769//2033 29636//9992 +f 9718//10504 9833//10432 9717//10434 +f 1863//4021 1983//5011 1862//4022 +f 7921//10505 10945//10461 7911//10463 +f 13041//10506 13135//10507 13040//10508 +f 9081//10412 7198//10509 8759//10510 +f 8589//8728 8696//10464 8588//2885 +f 10641//10511 10765//10512 10764//10513 +f 10190//10514 10309//10515 10308//10516 +f 10766//10517 10765//10512 10641//10511 +f 10640//10518 10641//10511 10764//10513 +f 35220//10519 35221//10520 26799//10521 +f 8560//10522 7464//6822 5453//10523 +f 22614//1802 22713//1877 22712//618 +f 35762//9579 35714//6849 35941//3803 +f 11190//10524 11189//9430 10446//10525 +f 7258//10526 7257//9586 7150//10385 +f 35828//2798 35527//10527 35834//9757 +f 7151//10384 7258//10526 7150//10385 +f 1424//10528 4274//9066 5600//2737 +f 10617//10529 10495//10530 11227//10531 +f 7727//10532 7842//10533 7841//10534 +f 9055//10535 9054//10536 8947//10537 +f 8061//10538 8172//10439 8171//10539 +f 8948//10540 9055//10535 8947//10537 +f 4262//3864 10741//10541 10444//10542 +f 7648//10543 6894//10544 9672//10545 +f 7929//10490 7786//10546 8565//10547 +f 25268//10548 25130//8925 25131//3007 +f 29637//9991 29770//10503 29636//9992 +f 9339//10549 8149//10550 9175//10551 +f 7361//10552 7587//10553 8585//10554 +f 29899//10555 29898//2034 29769//2033 +f 10378//10556 107//7932 7251//10557 +f 14116//3159 14117//1267 14212//3356 +f 13110//10558 7769//8355 10377//10559 +f 23012//1902 23011//586 22912//6735 +f 1407//4722 933//740 226//10560 +f 10400//10561 10520//10562 10519//10563 +f 30216//3111 29420//2573 35657//1763 +f 7015//10564 7014//114 6916//10565 +f 10302//10566 10422//10567 10301//10568 +f 8639//10569 8640//10570 8746//10571 +f 9131//10572 9130//10573 9022//10574 +f 8532//10575 8533//10576 8639//10569 +f 8854//10577 8853//10578 8746//10571 +f 10141//8982 10992//1789 10024//1791 +f 8640//10570 8747//10579 8746//10571 +f 9023//10580 9022//10574 8915//10581 +f 9023//10580 9131//10572 9022//10574 +f 9814//3364 9930//6433 9929//6432 +f 8916//10582 9023//10580 8915//10581 +f 9813//3365 9814//3364 9929//6432 +f 10047//10583 10165//10584 10046//6434 +f 7369//10585 7368//2874 7257//9586 +f 7258//10526 7369//10585 7257//9586 +f 8426//10586 8533//10576 8532//10575 +f 8425//10587 8426//10586 8532//10575 +f 9928//10588 10045//10589 10044//10590 +f 12151//10591 12152//10592 12234//1861 +f 9506//10593 10627//10594 6961//10595 +f 9323//10596 9437//10597 8031//10598 +f 8734//10599 8841//10600 8733//10601 +f 8948//10540 8947//10537 8840//10602 +f 9897//10603 8338//10604 10491//10605 +f 8734//10599 8733//10601 8626//10606 +f 7951//10607 7950//10608 7834//10609 +f 2776//5707 9277//9439 2641//5704 +f 11292//10610 7770//10611 6966//10612 +f 6940//10613 7039//8488 7038//2723 +f 29770//10503 29899//10555 29769//2033 +f 2357//6024 11096//10436 2076//4189 +f 7369//10585 7481//10614 7480//2875 +f 8747//10579 8854//10577 8746//10571 +f 7368//2874 7369//10585 7480//2875 +f 21378//10615 7192//10616 11507//10617 +f 7595//10618 7594//10619 7480//2875 +f 1880//10620 12456//2804 35797//2806 +f 29792//10621 29791//10622 29658//10623 +f 7757//10624 7756//10625 7641//10626 +f 8426//10586 8425//10587 8318//10627 +f 7642//10628 7757//10624 7641//10626 +f 7872//10629 7871//10630 7756//10625 +f 7757//10624 7872//10629 7756//10625 +f 7988//10631 7987//10632 7871//10630 +f 7869//10633 7985//10634 7868//10635 +f 7872//10629 7988//10631 7871//10630 +f 10282//10636 10281//10637 10162//10638 +f 8533//10576 8640//10570 8639//10569 +f 7695//10639 7580//10640 6961//10595 +f 12815//9330 13001//10641 10363//10642 +f 11591//3348 11590//3323 11523//10643 +f 9780//10644 11010//10645 10370//10646 +f 12409//10647 12408//5829 12322//5828 +f 12619//5549 12618//5551 12528//10648 +f 8627//8693 8734//10599 8626//10606 +f 11523//10643 11459//10649 11460//9042 +f 8627//8693 8626//10606 8519//8694 +f 8841//10600 8840//10602 8733//10601 +f 19797//10650 30502//19 30473//10651 +f 14020//2533 14021//2358 14118//1268 +f 8697//10652 8804//10653 8696//10464 +f 10620//448 11119//10654 10621//10655 +f 35469//10656 27783//10108 6659//10107 +f 8651//10657 11259//10658 8776//10659 +f 8319//10660 8426//10586 8318//10627 +f 7060//10661 7059//10662 11554//10663 +f 8103//10664 8102//10665 7987//10632 +f 7754//10666 7869//10633 7753//10667 +f 7988//10631 8103//10664 7987//10632 +f 8214//10668 8213//10669 8102//10665 +f 8103//10664 8214//10668 8102//10665 +f 8322//10670 8321//10671 8213//10669 +f 8214//10668 8322//10670 8213//10669 +f 8429//10672 8428//10673 8321//10671 +f 8322//10670 8429//10672 8321//10671 +f 8536//10674 8535//10675 8428//10673 +f 8429//10672 8536//10674 8428//10673 +f 8100//10676 8099//10677 7984//10678 +f 8643//10679 8642//10680 8535//10675 +f 9065//8868 9096//10681 8551//9886 +f 7985//10634 8100//10676 7984//10678 +f 9945//10682 10062//10683 9944//10684 +f 7481//10614 7595//10618 7480//2875 +f 7708//10685 7709//10686 7823//10687 +f 9553//10688 9448//10689 8309//10690 +f 32403//10691 32508//7546 32402//7548 +f 7045//7931 7046//9956 7149//6105 +f 2487//8942 1836//9062 6022//4596 +f 8674//10692 8781//10693 7802//10694 +f 7595//10618 7710//10695 7709//10686 +f 30030//10696 30029//4430 29898//2034 +f 12419//7135 12508//7134 12418//3146 +f 7594//10619 7595//10618 7709//10686 +f 7825//10697 7824//10698 7709//10686 +f 7710//10695 7825//10697 7709//10686 +f 12845//10699 11508//10700 3318//10701 +f 7941//10702 7940//10703 7824//10698 +f 10767//10704 10892//10705 10891//10706 +f 9450//10707 10621//10655 7806//10708 +f 8590//7922 8591//10709 8697//10652 +f 9781//10710 7327//10466 9667//10711 +f 7985//10634 7984//10678 7868//10635 +f 8805//10712 8912//10713 8804//10653 +f 8536//10674 8643//10679 8535//10675 +f 17449//7172 7214//7171 35193//10714 +f 8750//10715 8749//10716 8642//10680 +f 8643//10679 8750//10715 8642//10680 +f 8750//10715 8857//10717 8856//10718 +f 8749//10716 8750//10715 8856//10718 +f 8857//10717 8964//10719 8963//10720 +f 8856//10718 8857//10717 8963//10720 +f 7754//10666 7753//10667 7638//10721 +f 8964//10719 9071//10722 9070//10723 +f 8211//10724 8319//10660 8210//10725 +f 7639//10726 7754//10666 7638//10721 +f 8211//10724 8210//10725 8099//10677 +f 8100//10676 8211//10724 8099//10677 +f 34277//849 34415//10727 34276//10728 +f 8319//10660 8318//10627 8210//10725 +f 27754//10729 28336//5184 6863//5183 +f 21467//10730 11361//10731 11514//374 +f 9448//10689 9506//10593 8309//10690 +f 10062//10683 10061//10732 9944//10684 +f 7825//10697 7941//10702 7824//10698 +f 7940//10703 7939//10733 7823//10687 +f 9150//10734 9149//10735 9041//10736 +f 10549//10737 10671//10738 10548//10739 +f 12863//10740 12864//10258 12956//10741 +f 12002//10742 12083//10743 12001//3523 +f 29899//10555 30030//10696 29898//2034 +f 11457//4032 11520//4523 11456//5144 +f 30162//10744 30161//10745 30029//4430 +f 19039//1815 27168//10746 2812//10747 +f 8056//10748 8055//10749 7940//10703 +f 6257//6003 13800//3710 2092//3712 +f 7594//10619 7593//10750 7479//3081 +f 9212//10751 10809//10752 11083//10753 +f 11198//10754 9450//10707 7806//10708 +f 7594//10619 7709//10686 7593//10750 +f 30096//9086 30097//10755 19797//10650 +f 3203//10392 2124//10756 3476//5446 +f 30332//8606 29290//10757 6532//2131 +f 27276//10758 27394//10759 27393//10760 +f 28685//10761 28684//6183 28555//10762 +f 35421//8016 35605//4265 35897//4264 +f 8963//10720 8964//10719 9070//10723 +f 689//10763 6790//10764 8868//10765 +f 9288//10766 17159//10488 9179//10487 +f 9070//10723 9071//10722 9178//10489 +f 10511//10767 7759//10768 9230//10769 +f 9860//2534 9976//1591 2367//2398 +f 30030//10696 30162//10744 30029//4430 +f 6889//10770 11487//10771 6956//10772 +f 30295//10773 30294//10774 30161//10745 +f 7869//10633 7868//10635 7753//10667 +f 7941//10702 8056//10748 7940//10703 +f 8167//10775 8166//10776 8055//10749 +f 28685//10761 28817//6184 28684//6183 +f 30162//10744 30295//10773 30161//10745 +f 35409//190 35630//10777 35626//9595 +f 19901//10778 30340//4605 30489//4456 +f 6249//3814 2491//3813 2339//4712 +f 1135//2332 10867//2333 1022//2330 +f 8292//10779 8399//10483 8398//10780 +f 8309//10690 9506//10593 6961//10595 +f 9212//10751 7796//10781 10809//10752 +f 8056//10748 8167//10775 8055//10749 +f 8674//10692 9782//10782 9898//10783 +f 10066//10784 10184//10785 10183//10786 +f 1135//2332 8547//10787 10867//2333 +f 5858//8954 2342//8611 2343//8955 +f 26795//10788 27982//10789 12008//10790 +f 2024//3235 19164//3234 19061//10791 +f 12861//9514 12954//8848 12953//10792 +f 8882//10793 13896//3502 9992//8187 +f 12860//8961 12861//9514 12953//10792 +f 26516//2624 31551//7757 26517//10794 +f 7918//10795 8781//10693 11503//10796 +f 14304//7347 341//10797 8736//10798 +f 7709//10686 7708//10685 7593//10750 +f 13918//5521 13917//7342 13819//7534 +f 7480//2875 7594//10619 7479//3081 +f 7709//10686 7824//10698 7823//10687 +f 8275//10799 8274//10800 8166//10776 +f 30428//10801 30427//10802 30294//10774 +f 7629//10803 7630//10804 7744//4354 +f 7744//4354 7745//10805 7859//4355 +f 8702//10806 8809//10807 8808//10808 +f 8167//10775 8275//10799 8166//10776 +f 7944//10809 7945//10810 8059//10811 +f 10750//7154 810//7027 9801//7026 +f 6959//10812 7539//10813 7897//10814 +f 8060//10815 8061//10538 8171//10539 +f 8382//10816 8381//10817 8274//10800 +f 8275//10799 8382//10816 8274//10800 +f 10646//10818 10645//10819 10523//10820 +f 1977//5444 3203//10392 3476//5446 +f 33556//10821 7515//10822 33555//10823 +f 27955//10824 26930//2121 17670//10825 +f 10521//10475 10643//10477 10520//10562 +f 7630//10804 7745//10805 7744//4354 +f 28624//10826 30366//1416 30365//10827 +f 27393//10760 27394//10759 27512//10828 +f 19907//9087 19797//10650 30473//10651 +f 801//5438 7505//10829 7393//5439 +f 5453//10523 7464//6822 5452//6503 +f 8382//10816 8489//10830 8488//10831 +f 29241//2857 29378//10832 29377//10833 +f 26510//10834 26509//10835 26423//10836 +f 30295//10773 30428//10801 30294//10774 +f 30625//10837 26792//10838 24886//10839 +f 30562//10840 30561//10841 30427//10802 +f 29377//10833 29378//10832 29514//1662 +f 10670//10842 10669//10843 10547//10844 +f 35511//8629 35726//8103 35927//6114 +f 1136//2487 7673//10845 8547//10787 +f 10976//2337 8576//10846 1254//2338 +f 8576//10846 10976//2337 10867//2333 +f 8547//10787 8576//10846 10867//2333 +f 1424//10528 5600//2737 358//10847 +f 2124//10756 9747//10848 2479//5448 +f 1715//7920 8482//10849 1597//5673 +f 10373//10850 10497//10851 2908//10852 +f 7176//10853 7687//10854 10031//10855 +f 246//1060 16094//1204 16054//1203 +f 13820//4352 13918//5521 13819//7534 +f 14303//7348 14304//7347 8736//10798 +f 11934//10856 11846//10857 11848//10858 +f 12798//7130 12797//7132 12708//9250 +f 30428//10801 30562//10840 30427//10802 +f 7505//10829 7506//9592 7619//9658 +f 7859//4355 7860//8612 1401//4498 +f 8381//10817 8382//10816 8488//10831 +f 8489//10830 8596//10859 8595//10860 +f 1401//4498 1284//4353 7859//4355 +f 3476//5446 2124//10756 2479//5448 +f 9696//10861 9697//10862 9811//10863 +f 13924//3753 14022//3333 13923//2357 +f 779//3082 7593//10750 898//6921 +f 14022//3333 14120//3335 14119//2360 +f 14213//1269 14311//1429 14310//7830 +f 10542//10864 10541//10865 10421//10866 +f 8069//10867 8180//10868 8068//10869 +f 631//9342 515//9267 7451//9388 +f 7745//10805 7860//8612 7859//4355 +f 9127//10870 9236//10871 9235//10872 +f 10644//10873 10768//10874 10643//10477 +f 30696//10875 30695//10876 30561//10841 +f 7551//2441 8953//10877 6381//9809 +f 13822//6140 13920//10878 13821//4350 +f 2278//6040 2279//6328 2412//10879 +f 14016//7727 14015//7123 13917//7342 +f 3699//4887 3570//4886 3700//5435 +f 31407//2397 11414//7666 31475//7665 +f 8488//10831 8489//10830 8595//10860 +f 8596//10859 8703//10880 8702//10806 +f 22933//3034 12546//3036 22439//10881 +f 8913//8096 8914//8095 9020//10882 +f 13729//4808 13728//3897 13630//6379 +f 8053//10883 8164//10884 8052//10885 +f 8272//10886 8271//10887 8163//10888 +f 23817//10889 28253//10890 25097//10891 +f 548//8368 8875//10892 3307//9741 +f 10147//10893 8576//10846 8547//10787 +f 7673//10845 10147//10893 8547//10787 +f 9109//10894 9217//10895 8576//10846 +f 10147//10893 9109//10894 8576//10846 +f 8013//10896 7898//2502 9217//10895 +f 9109//10894 8013//10896 9217//10895 +f 25945//10897 4195//10898 30074//10899 +f 1288//6164 16709//9605 3171//10900 +f 10613//10901 9439//10902 8659//10903 +f 10620//448 7362//450 11119//10654 +f 17762//10904 19328//10905 19298//10906 +f 28856//10907 29763//10908 28590//10909 +f 7556//10910 7557//10911 7884//10912 +f 13259//8585 13258//8845 13163//8586 +f 11292//10610 11291//10913 11165//10914 +f 16048//9269 16042//6237 16645//10915 +f 10041//6147 10159//5434 3570//4886 +f 10912//10916 10913//10917 11038//10918 +f 8181//10919 8289//10920 8288//10921 +f 1693//1993 1810//9978 18992//9980 +f 10327//10922 10208//10923 10209//8503 +f 9694//10924 9695//10925 9809//10926 +f 8793//10927 6490//2881 7742//10928 +f 12773//8263 12865//8265 12864//10258 +f 8595//10860 8596//10859 8702//10806 +f 9255//10929 9254//10930 9145//10931 +f 35789//7055 35869//7458 35450//4776 +f 10043//10932 10161//10933 10042//10934 +f 9810//10935 9926//10936 9925//10937 +f 7534//10938 7143//10480 9754//10939 +f 265//6740 374//6534 264//6638 +f 9925//10937 10042//10934 9924//5026 +f 9460//10940 9919//10941 8250//10942 +f 8081//10943 8080//10944 7965//10945 +f 7850//5676 7966//10946 7849//10947 +f 13113//10948 11717//10949 12119//10950 +f 12540//10951 9110//10952 12545//10953 +f 9065//8868 8551//9886 7742//10928 +f 8703//10880 8810//10954 8809//10807 +f 5334//7738 3196//10955 5696//7736 +f 8702//10806 8703//10880 8809//10807 +f 13610//8475 13321//7566 13771//9582 +f 8810//10954 8917//10956 8916//10582 +f 12165//8353 12164//3327 12082//3376 +f 11135//2516 11131//4091 3341//3900 +f 7236//10124 410//9965 7235//5244 +f 24080//10957 22291//10958 22292//10959 +f 18723//10960 17529//10961 18319//1586 +f 31408//443 23520//442 19977//10962 +f 11317//10963 10147//10893 7673//10845 +f 8453//10964 11317//10963 7673//10845 +f 9001//10965 9109//10894 10147//10893 +f 11317//10963 9001//10965 10147//10893 +f 8014//10966 8013//10896 9109//10894 +f 9001//10965 8014//10966 9109//10894 +f 13597//6592 4119//2619 35823//2621 +f 8014//10966 11203//2700 8013//10896 +f 10165//10584 10284//10446 10164//10448 +f 8453//10964 7673//10845 1136//2487 +f 10474//10967 11069//10968 9439//10902 +f 35629//9589 35861//10969 35585//10970 +f 13355//4111 13450//9065 13449//4112 +f 35404//8627 19341//10971 35381//10394 +f 7850//5676 7849//10947 7734//10972 +f 9110//10952 12202//10973 12545//10953 +f 10893//10974 10892//10705 10767//10704 +f 1517//5308 1516//4499 1401//4498 +f 1147//2340 7898//2502 1146//2501 +f 9018//10975 9019//10976 9126//10977 +f 9809//10926 9810//10935 9925//10937 +f 10971//10978 4918//3890 670//3698 +f 11173//10979 11299//10980 11298//10981 +f 10043//10932 10042//10934 9925//10937 +f 35904//2708 35616//8945 35674//9806 +f 30562//10840 30696//10875 30561//10841 +f 8809//10807 8810//10954 8916//10582 +f 11271//7836 8235//10437 2357//6024 +f 35390//6238 35864//3701 35362//3702 +f 5311//5868 5310//5660 10446//10525 +f 9926//10936 10043//10932 9925//10937 +f 11858//3522 8798//6627 35617//3487 +f 10660//10982 10661//10983 10784//10984 +f 4818//10985 3622//574 12602//10986 +f 4100//3256 5984//3261 4771//3065 +f 7934//10987 213//6267 4499//6264 +f 8995//10988 546//10989 2129//6409 +f 9870//10990 9085//10991 10128//10992 +f 27437//10993 12186//10994 12103//3169 +f 6246//3825 6245//6698 6116//6697 +f 13499//10995 14167//10996 35366//6549 +f 8164//10884 8272//10886 8163//10888 +f 1137//2674 9859//5278 9977//9528 +f 9564//743 6249//3814 6120//744 +f 3976//4825 3712//4828 8987//5301 +f 10156//10997 10273//10998 4100//3256 +f 10637//4993 10638//10428 4229//4994 +f 11266//10999 7441//11000 10598//2871 +f 10970//3077 11266//10999 10598//2871 +f 9921//11001 8453//10964 7441//11000 +f 11266//10999 9921//11001 7441//11000 +f 9921//11001 8474//11002 11317//10963 +f 8453//10964 9921//11001 11317//10963 +f 8474//11002 9328//11003 9001//10965 +f 11317//10963 8474//11002 9001//10965 +f 9093//11004 8014//10966 9001//10965 +f 9328//11003 9093//11004 9001//10965 +f 9209//11005 11203//2700 8014//10966 +f 9093//11004 9209//11005 8014//10966 +f 1136//2487 222//2486 6799//2867 +f 9209//11005 9896//2701 11203//2700 +f 413//10193 526//10123 412//10122 +f 8949//11006 8842//3269 2369//3268 +f 28434//11007 28433//11008 28313//8191 +f 11581//11009 11582//3119 11656//11010 +f 9766//11011 10950//11012 7777//8352 +f 7966//10946 7965//10945 7849//10947 +f 7966//10946 8081//10943 7965//10945 +f 545//9587 660//2873 544//4970 +f 11348//11013 11377//11014 8327//11015 +f 7143//10480 7367//10402 9754//10939 +f 10784//10984 10785//11016 10909//11017 +f 2226//4557 3592//11018 3722//11019 +f 10161//10933 10160//11020 10042//10934 +f 7806//10708 7691//11021 10249//11022 +f 9982//11023 8881//11024 8332//11025 +f 30830//11026 30829//11027 30695//10876 +f 30696//10875 30830//11026 30695//10876 +f 35424//11028 35545//5109 13315//7372 +f 29272//11029 29273//2124 19577//2126 +f 26586//2625 35845//11030 8231//11031 +f 7511//6862 7536//11032 6377//6863 +f 13409//5715 3043//5714 4119//2619 +f 26577//7151 24959//7150 22876//11033 +f 22237//3275 28591//3274 13106//11034 +f 18418//11035 19538//3772 19104//3771 +f 5997//6829 8349//6828 11060//11036 +f 9228//11037 8039//11038 5984//3261 +f 3828//9431 3961//5257 3960//9522 +f 20696//11039 20778//11040 20777//11041 +f 10841//11042 11341//11043 8656//11044 +f 7321//11045 264//6638 7320//11046 +f 8134//11047 9573//3317 8656//11044 +f 11341//11043 8134//11047 8656//11044 +f 7533//11048 11228//3076 9573//3317 +f 8134//11047 7533//11048 9573//3317 +f 10821//11049 10970//3077 11228//3076 +f 7533//11048 10821//11049 11228//3076 +f 10385//11050 11266//10999 10970//3077 +f 10821//11049 10385//11050 10970//3077 +f 11352//11051 9921//11001 11266//10999 +f 10385//11050 11352//11051 11266//10999 +f 11352//11051 8473//11052 8474//11002 +f 9921//11001 11352//11051 8474//11002 +f 8473//11052 9216//11053 9328//11003 +f 8474//11002 8473//11052 9328//11003 +f 9216//11053 9201//11054 9093//11004 +f 9328//11003 9216//11053 9093//11004 +f 10038//11055 9209//11005 9093//11004 +f 9201//11054 10038//11055 9093//11004 +f 9917//11056 9896//2701 9209//11005 +f 10038//11055 9917//11056 9209//11005 +f 9222//11057 9333//1421 9896//2701 +f 9917//11056 9222//11057 9896//2701 +f 6619//7654 6744//3363 6743//7354 +f 35884//11058 35842//7156 35720//1945 +f 13070//8170 13164//8584 13069//11059 +f 35558//198 35737//200 35786//11060 +f 8192//11061 8191//11062 8080//10944 +f 13814//3354 13912//7037 13911//3355 +f 8619//11063 8618//11064 8511//11065 +f 8081//10943 8192//11061 8080//10944 +f 7612//11066 7727//10532 7726//11067 +f 7612//11066 7611//11068 7497//11069 +f 9833//10432 9949//11070 9832//10433 +f 7611//11068 7612//11066 7726//11067 +f 8503//11071 8610//10408 8502//10410 +f 1522//6624 10757//6830 5866//6625 +f 10065//11072 10183//10786 10182//11073 +f 2361//1422 9333//1421 9222//11057 +f 337//11074 6386//9186 2652//11075 +f 7483//11076 7484//11077 7597//11078 +f 11913//9947 11997//4544 11912//5717 +f 35754//11079 35518//10313 35799//10312 +f 18730//11080 17444//11081 30829//11027 +f 9692//5836 9693//11082 9807//6843 +f 9577//11083 9693//11082 9692//5836 +f 9576//5683 9577//11083 9692//5836 +f 3830//3942 3829//5258 3697//4068 +f 9461//11084 9577//11083 9576//5683 +f 9693//11082 9808//11085 9807//6843 +f 30830//11026 18730//11080 30829//11027 +f 22042//11086 22041//11087 17444//11081 +f 28622//2128 27139//5347 27257//5346 +f 34495//11088 12653//4882 35338//4881 +f 8017//11089 10463//11090 10156//10997 +f 31891//11091 31890//11092 31784//11093 +f 10463//11090 9123//11094 10273//10998 +f 10156//10997 10463//11090 10273//10998 +f 9123//11094 9229//11095 9228//11037 +f 10273//10998 9123//11094 9228//11037 +f 9229//11095 9424//11096 8039//11038 +f 9228//11037 9229//11095 8039//11038 +f 9424//11096 10842//11097 10841//11042 +f 8039//11038 9424//11096 10841//11042 +f 11215//11098 11341//11043 10841//11042 +f 10842//11097 11215//11098 10841//11042 +f 11215//11098 11332//11099 8134//11047 +f 11341//11043 11215//11098 8134//11047 +f 11332//11099 7906//11100 7533//11048 +f 8134//11047 11332//11099 7533//11048 +f 7906//11100 10826//11101 10821//11049 +f 7533//11048 7906//11100 10821//11049 +f 10826//11101 10265//11102 10385//11050 +f 10821//11049 10826//11101 10385//11050 +f 10265//11102 11351//11103 11352//11051 +f 10385//11050 10265//11102 11352//11051 +f 11351//11103 8472//11104 8473//11052 +f 11352//11051 11351//11103 8473//11052 +f 8472//11104 8894//11105 9216//11053 +f 8473//11052 8472//11104 9216//11053 +f 8894//11105 9313//11106 9201//11054 +f 9216//11053 8894//11105 9201//11054 +f 9313//11106 7476//11107 10038//11055 +f 9201//11054 9313//11106 10038//11055 +f 7476//11107 8665//11108 9917//11056 +f 10038//11055 7476//11107 9917//11056 +f 8791//11109 9222//11057 9917//11056 +f 8665//11108 8791//11109 9917//11056 +f 35689//6113 35855//6112 35771//1954 +f 8791//11109 8129//3118 9222//11057 +f 20860//11110 20940//11111 20939//11112 +f 9024//11113 9023//10580 8916//10582 +f 11582//3119 11657//8478 11656//11010 +f 9399//11114 2743//8610 8223//11115 +f 8300//11116 8299//11117 8191//11062 +f 10577//11118 106//11119 2788//11120 +f 7423//11121 3867//7659 9988//11122 +f 8192//11061 8300//11116 8191//11062 +f 10615//11123 7356//11124 10617//10529 +f 8972//11125 8649//11126 10573//11127 +f 35413//11128 35471//330 35666//329 +f 10494//11129 10615//11123 10617//10529 +f 8170//11130 8278//11131 8277//11132 +f 7330//11133 8255//11134 7786//10546 +f 7322//11135 265//6740 7321//11045 +f 11529//1508 12055//2914 12206//3125 +f 8108//11136 8890//11137 9895//11138 +f 2075//2572 8802//11139 2205//2570 +f 9949//11070 9948//11140 9832//10433 +f 10064//11141 10065//11072 10182//11073 +f 35534//5015 35706//6704 35545//5109 +f 8012//4008 10600//11142 6542//11143 +f 7330//11133 7670//11144 8255//11134 +f 8384//11145 8385//11146 8491//11147 +f 3437//5024 3436//6130 3298//5025 +f 35705//2157 35830//2156 35854//5116 +f 9439//10902 10863//11148 9196//11149 +f 8855//11150 8854//10577 8747//10579 +f 17430//11151 17351//11152 17352//11153 +f 8912//10713 9019//10976 8911//11154 +f 9693//11082 9694//10924 9808//11085 +f 7986//11155 7985//10634 7869//10633 +f 10938//11156 10567//11157 7665//11158 +f 9809//10926 9925//10937 9924//5026 +f 9245//11159 9246//11160 9357//11161 +f 10642//11162 10766//10517 10641//10511 +f 7954//11163 7953//11164 7837//11165 +f 7795//11166 10861//11167 10736//11168 +f 18730//11080 22042//11086 17444//11081 +f 22042//11086 18010//11169 18472//11170 +f 35267//11171 35139//11172 21933//9297 +f 11264//11173 9061//11174 31853//11175 +f 7910//11176 10463//11090 8017//11089 +f 9061//11174 7910//11176 8017//11089 +f 9232//11177 9123//11094 10463//11090 +f 7910//11176 9232//11177 10463//11090 +f 9120//11178 9229//11095 9123//11094 +f 9232//11177 9120//11178 9123//11094 +f 9120//11178 7353//11179 9424//11096 +f 9229//11095 9120//11178 9424//11096 +f 7353//11179 10719//11180 10842//11097 +f 9424//11096 7353//11179 10842//11097 +f 10719//11180 8417//11181 11215//11098 +f 10842//11097 10719//11180 11215//11098 +f 8417//11181 8334//11182 11332//11099 +f 11215//11098 8417//11181 11332//11099 +f 8334//11182 7420//11183 7906//11100 +f 11332//11099 8334//11182 7906//11100 +f 7420//11183 11063//11184 10826//11101 +f 7906//11100 7420//11183 10826//11101 +f 11063//11184 8160//11185 10265//11102 +f 10826//11101 11063//11184 10265//11102 +f 8160//11185 11210//11186 11351//11103 +f 10265//11102 8160//11185 11351//11103 +f 11210//11186 7890//11187 8472//11104 +f 11351//11103 11210//11186 8472//11104 +f 7890//11187 8787//11188 8894//11105 +f 8472//11104 7890//11187 8894//11105 +f 8787//11188 8985//11189 9313//11106 +f 8894//11105 8787//11188 9313//11106 +f 8985//11189 10960//11190 7476//11107 +f 9313//11106 8985//11189 7476//11107 +f 10960//11190 8765//11191 8665//11108 +f 7476//11107 10960//11190 8665//11108 +f 8765//11191 8795//11192 8791//11109 +f 8665//11108 8765//11191 8791//11109 +f 10832//11193 8129//3118 8791//11109 +f 8795//11192 10832//11193 8791//11109 +f 25407//11194 25265//9435 35900//9437 +f 33864//11195 33863//11196 33729//11197 +f 2123//7934 6794//7843 16//8105 +f 5826//10311 975//9442 7999//9441 +f 6963//11198 10577//11118 2788//11120 +f 5988//11199 10262//11200 13497//11201 +f 8407//11202 8406//11203 8299//11117 +f 10073//11204 10072//11205 9955//11206 +f 10957//11207 8649//11126 8972//11125 +f 7735//11208 10957//11207 8972//11125 +f 8951//7741 8952//5680 9058//11209 +f 10560//9617 10682//11210 10559//11211 +f 10307//11212 10308//10516 10427//11213 +f 7219//11214 8256//11215 10222//11216 +f 8487//11217 8488//10831 8594//11218 +f 25338//8894 24851//11219 23722//11220 +f 8917//10956 9024//11113 8916//10582 +f 14003//11221 10327//10922 10328//11222 +f 8595//10860 8702//10806 8701//11223 +f 15171//1447 14682//471 1602//577 +f 7929//10490 11389//11224 7786//10546 +f 7197//7758 10455//943 10028//11225 +f 10615//11123 10239//11226 9415//11227 +f 8952//5680 9059//2760 9058//11209 +f 22041//11087 22042//11086 18472//11170 +f 8289//10920 8396//11228 8288//10921 +f 8819//11229 8820//11230 8926//11231 +f 8012//4008 6545//4007 10977//11232 +f 8368//11233 8585//10554 10104//11234 +f 8890//11137 11389//11224 8125//11235 +f 31785//11236 31891//11091 31784//11093 +f 11389//11224 7929//10490 8125//11235 +f 11389//11224 7330//11133 7786//10546 +f 8890//11137 8125//11235 9895//11138 +f 8255//11134 10104//11234 7786//10546 +f 9132//11237 9131//10572 9023//10580 +f 9371//11238 9486//11239 9485//11240 +f 9024//11113 9132//11237 9023//10580 +f 9241//11241 9240//11242 9131//10572 +f 9132//11237 9241//11241 9131//10572 +f 9241//11241 9353//11243 9352//8183 +f 9240//11242 9241//11241 9352//8183 +f 7219//11214 7670//11144 11116//10500 +f 9353//11243 9468//11244 9467//11245 +f 9352//8183 9353//11243 9467//11245 +f 9584//11246 9583//11247 9467//11245 +f 9468//11244 9584//11246 9467//11245 +f 8808//10808 8809//10807 8915//10581 +f 8488//10831 8595//10860 8594//11218 +f 7243//5249 418//5248 417//7454 +f 18010//11169 7181//11248 457//11249 +f 18472//11170 18010//11169 457//11249 +f 10478//11250 9061//11174 10738//11251 +f 10738//11251 34197//11252 28341//11253 +f 10356//11254 7910//11176 9061//11174 +f 10478//11250 10356//11254 9061//11174 +f 9343//11255 9232//11177 7910//11176 +f 10356//11254 9343//11255 7910//11176 +f 9012//11256 9120//11178 9232//11177 +f 9343//11255 9012//11256 9232//11177 +f 10881//11257 7353//11179 9120//11178 +f 9012//11256 10881//11257 9120//11178 +f 10720//11258 10719//11180 7353//11179 +f 10881//11257 10720//11258 7353//11179 +f 10720//11258 8416//11259 8417//11181 +f 10719//11180 10720//11258 8417//11181 +f 8416//11259 10972//11260 8334//11182 +f 8417//11181 8416//11259 8334//11182 +f 10972//11260 7997//11261 7420//11183 +f 8334//11182 10972//11260 7420//11183 +f 7997//11261 8465//11262 11063//11184 +f 7420//11183 7997//11261 11063//11184 +f 8465//11262 10882//11263 8160//11185 +f 11063//11184 8465//11262 8160//11185 +f 10882//11263 11226//11264 11210//11186 +f 8160//11185 10882//11263 11210//11186 +f 11226//11264 10034//11265 7890//11187 +f 11210//11186 11226//11264 7890//11187 +f 10034//11265 7286//11266 8787//11188 +f 7890//11187 10034//11265 8787//11188 +f 7286//11266 8878//11267 8985//11189 +f 8787//11188 7286//11266 8985//11189 +f 8878//11267 10835//11268 10960//11190 +f 8985//11189 8878//11267 10960//11190 +f 10835//11268 8477//11269 8765//11191 +f 10960//11190 10835//11268 8765//11191 +f 8477//11269 8689//11270 8795//11192 +f 8765//11191 8477//11269 8795//11192 +f 8689//11270 10708//11271 10832//11193 +f 8795//11192 8689//11270 10832//11193 +f 2372//5682 2506//5702 8952//5680 +f 10708//11271 8877//11272 10832//11193 +f 2084//3117 3984//2909 180//7642 +f 14270//11273 12299//11274 12214//2320 +f 19798//11275 30553//17 30502//19 +f 1856//5711 13334//5713 13792//1117 +f 8171//10539 8279//10441 8278//11131 +f 35113//9073 18998//9072 19100//11276 +f 8649//11126 8045//10453 10573//11127 +f 9956//11277 10073//11204 9955//11206 +f 10806//11278 10805//11279 10681//11280 +f 11179//11281 11305//11282 11304//11283 +f 10480//11284 9300//11285 10222//11216 +f 10682//11210 10806//11278 10681//11280 +f 35871//11286 35555//8313 35399//5185 +f 22613//491 22614//1802 22712//618 +f 12293//11287 13214//5568 13301//5570 +f 7873//11288 7872//10629 7757//10624 +f 258//5729 7314//5731 259//11289 +f 12211//11290 15764//11291 12296//11292 +f 9735//11293 9850//11294 9734//11295 +f 11172//11296 11298//10981 11297//11297 +f 7352//11298 10957//11207 7735//11208 +f 9850//11294 9966//11299 9965//11300 +f 7515//10822 7629//10803 7628//11301 +f 11012//11302 10938//11156 7660//11303 +f 9167//2759 9166//11304 9058//11209 +f 9059//2760 9167//2759 9058//11209 +f 9167//2759 9276//9438 9166//11304 +f 9276//9438 9275//11305 9166//11304 +f 9619//11306 9618//11307 9502//11308 +f 9388//11309 9387//11310 9275//11305 +f 9276//9438 9388//11309 9275//11305 +f 9503//11311 9502//11308 9387//11310 +f 9503//11311 9619//11306 9502//11308 +f 9388//11309 9503//11311 9387//11310 +f 9735//11293 9734//11295 9618//11307 +f 9619//11306 9735//11293 9618//11307 +f 8108//11136 9895//11138 8891//10484 +f 9850//11294 9849//11312 9734//11295 +f 8571//3157 12376//3704 12455//8177 +f 11187//11313 8108//11136 8891//10484 +f 35455//9401 35846//8117 35414//8722 +f 8145//11314 11209//11315 10952//11316 +f 10989//10499 7219//11214 11116//10500 +f 6355//8607 6356//4349 6482//4713 +f 9104//10498 10989//10499 8996//10501 +f 2492//8350 13029//11317 12297//5824 +f 10209//8503 13907//11318 10328//11222 +f 7670//11144 7219//11214 10222//11216 +f 7989//11319 7988//10631 7872//10629 +f 16844//1353 9974//9235 9973//8108 +f 7873//11288 7989//11319 7872//10629 +f 8104//11320 8103//10664 7988//10631 +f 7989//11319 8104//11320 7988//10631 +f 8215//11321 8214//10668 8103//10664 +f 7541//11322 6377//6863 7536//11032 +f 13714//3108 13996//3109 8049//7915 +f 7181//11248 21379//11323 21378//10615 +f 457//11249 7181//11248 21378//10615 +f 10358//11324 10478//11250 7685//11325 +f 22028//4134 35267//11171 21933//9297 +f 7180//11326 10356//11254 10478//11250 +f 10358//11324 7180//11326 10478//11250 +f 9457//11327 9343//11255 10356//11254 +f 7180//11326 9457//11327 10356//11254 +f 10630//11328 9012//11256 9343//11255 +f 9457//11327 10630//11328 9343//11255 +f 11098//11329 10881//11257 9012//11256 +f 10630//11328 11098//11329 9012//11256 +f 10597//11330 10720//11258 10881//11257 +f 11098//11329 10597//11330 10881//11257 +f 10597//11330 8415//11331 8416//11259 +f 10720//11258 10597//11330 8416//11259 +f 8415//11331 7740//11332 10972//11260 +f 8416//11259 8415//11331 10972//11260 +f 7740//11332 7419//11333 7997//11261 +f 10972//11260 7740//11332 7997//11261 +f 7419//11333 7681//11334 8465//11262 +f 7997//11261 7419//11333 8465//11262 +f 7681//11334 10883//11335 10882//11263 +f 8465//11262 7681//11334 10882//11263 +f 10883//11335 8743//11336 11226//11264 +f 10882//11263 10883//11335 11226//11264 +f 8743//11336 9889//11337 10034//11265 +f 11226//11264 8743//11336 10034//11265 +f 9889//11337 7092//11338 7286//11266 +f 10034//11265 9889//11337 7286//11266 +f 7092//11338 9427//11339 8878//11267 +f 7286//11266 7092//11338 8878//11267 +f 9427//11339 8203//11340 10835//11268 +f 8878//11267 9427//11339 10835//11268 +f 8203//11340 8412//11341 8477//11269 +f 10835//11268 8203//11340 8477//11269 +f 8412//11341 8583//11342 8689//11270 +f 8477//11269 8412//11341 8689//11270 +f 8583//11342 10585//11343 10708//11271 +f 8689//11270 8583//11342 10708//11271 +f 10585//11343 8984//11344 8877//11272 +f 10708//11271 10585//11343 8877//11272 +f 8984//11344 11247//11345 9107//7641 +f 8877//11272 8984//11344 9107//7641 +f 8111//11346 8559//11347 9107//7641 +f 11247//11345 8111//11346 9107//7641 +f 24298//11348 24297//11349 25636//11350 +f 12045//7138 12197//8470 12114//8179 +f 10073//11204 10191//11351 10190//10514 +f 9700//11352 9699//11353 9583//11247 +f 10554//11354 10555//11355 10676//11356 +f 10677//11357 10801//11358 10800//11359 +f 10806//11278 10931//11360 10930//11361 +f 11085//2932 11310//2931 11184//11362 +f 30760//11363 25438//6594 30626//11364 +f 22813//1745 22814//1744 22912//6735 +f 8104//11320 8215//11321 8103//10664 +f 8323//11365 8322//10670 8214//10668 +f 8215//11321 8323//11365 8214//10668 +f 8809//10807 8916//10582 8915//10581 +f 8430//11366 8429//10672 8322//10670 +f 10805//11279 10806//11278 10930//11361 +f 9856//8109 17006//1352 9857//1351 +f 11178//11367 11179//11281 11304//11283 +f 10931//11360 11057//11368 11056//11369 +f 8300//11116 8407//11202 8299//11117 +f 10885//11370 7352//11298 7735//11208 +f 13910//1733 14008//11371 14007//11372 +f 219//3518 670//3698 4918//3890 +f 13812//1731 13910//1733 13909//11373 +f 12036//1589 8090//10382 14310//7830 +f 10649//11374 10650//11375 11197//2981 +f 13909//11373 13910//1733 14007//11372 +f 5296//895 5431//897 5277//11376 +f 4120//2552 2915//1122 6006//8262 +f 9100//11377 10650//11375 10649//11374 +f 9090//11378 9100//11377 10649//11374 +f 7665//11158 9100//11377 9090//11378 +f 7660//11303 7665//11158 9090//11378 +f 10101//11379 9984//11380 11012//11302 +f 10938//11156 7665//11158 7660//11303 +f 10201//11381 10200//11382 10082//11383 +f 7589//11384 9984//11380 10101//11379 +f 9849//11312 9850//11294 9965//11300 +f 10083//11385 10201//11381 10082//11383 +f 10083//11385 10082//11383 9965//11300 +f 9966//11299 10083//11385 9965//11300 +f 10320//11386 10319//11387 10200//11382 +f 10201//11381 10320//11386 10200//11382 +f 10440//9618 10439//11388 10319//11387 +f 10320//11386 10440//9618 10319//11387 +f 10560//9617 10559//11211 10439//11388 +f 10440//9618 10560//9617 10439//11388 +f 10209//8503 10208//10923 10090//11389 +f 10682//11210 10681//11280 10559//11211 +f 10091//8501 10090//11389 9973//8108 +f 10091//8501 10209//8503 10090//11389 +f 8384//11145 8491//11147 8490//11390 +f 8007//3808 836//3807 837//6025 +f 8323//11365 8430//11366 8322//10670 +f 6950//11391 6951//11392 7049//11393 +f 21379//11323 17671//11394 7192//10616 +f 21378//10615 21379//11323 7192//10616 +f 8454//11395 10358//11324 11393//11396 +f 7525//11397 33127//11398 33021//11399 +f 10360//11400 7180//11326 10358//11324 +f 8454//11395 10360//11400 10358//11324 +f 9572//11401 9457//11327 7180//11326 +f 10360//11400 9572//11401 7180//11326 +f 10629//11402 10630//11328 9457//11327 +f 9572//11401 10629//11402 9457//11327 +f 9195//11403 11098//11329 10630//11328 +f 10629//11402 9195//11403 10630//11328 +f 8764//11404 10597//11330 11098//11329 +f 9195//11403 8764//11404 11098//11329 +f 8764//11404 8414//11405 8415//11331 +f 10597//11330 8764//11404 8415//11331 +f 8414//11405 7854//11406 7740//11332 +f 8415//11331 8414//11405 7740//11332 +f 7854//11406 11255//11407 7419//11333 +f 7740//11332 7854//11406 7419//11333 +f 11255//11407 11339//11408 7681//11334 +f 7419//11333 11255//11407 7681//11334 +f 11339//11408 11139//11409 10883//11335 +f 7681//11334 11339//11408 10883//11335 +f 11139//11409 9546//11410 8743//11336 +f 10883//11335 11139//11409 8743//11336 +f 9546//11410 9887//11411 9889//11337 +f 8743//11336 9546//11410 9889//11337 +f 9887//11411 9864//11412 7092//11338 +f 9889//11337 9887//11411 7092//11338 +f 9864//11412 9542//11413 9427//11339 +f 7092//11338 9864//11412 9427//11339 +f 9542//11413 11026//11414 8203//11340 +f 9427//11339 9542//11413 8203//11340 +f 11026//11414 8413//11415 8412//11341 +f 8203//11340 11026//11414 8412//11341 +f 8413//11415 7914//11416 8583//11342 +f 8412//11341 8413//11415 8583//11342 +f 7914//11416 10464//11417 10585//11343 +f 8583//11342 7914//11416 10585//11343 +f 10464//11417 7899//11418 8984//11344 +f 10585//11343 10464//11417 8984//11344 +f 7899//11418 8790//11419 11247//11345 +f 8984//11344 7899//11418 11247//11345 +f 8863//11420 8111//11346 11247//11345 +f 8790//11419 8863//11420 11247//11345 +f 35665//6815 35713//9063 35429//8314 +f 210//8487 315//3308 7039//8488 +f 20732//11421 4651//11422 18631//11423 +f 3298//5025 9808//11085 9924//5026 +f 10435//11424 10555//11355 10434//11425 +f 10555//11355 10677//11357 10676//11356 +f 11309//11426 11310//2931 10015//11427 +f 8614//11428 8721//11429 8720//11430 +f 9163//11431 9162//11432 9054//10536 +f 10452//11433 7820//7845 7398//11434 +f 8537//11435 8536//10674 8429//10672 +f 8430//11366 8537//11435 8429//10672 +f 8644//11436 8643//10679 8536//10674 +f 8537//11435 8644//11436 8536//10674 +f 8751//11437 8750//10715 8643//10679 +f 20841//11438 27614//11439 27613//1747 +f 8644//11436 8751//11437 8643//10679 +f 11085//2932 11184//11362 11058//11440 +f 9584//11246 9700//11352 9583//11247 +f 11179//11281 11178//11367 11051//11441 +f 11183//11442 11184//11362 11309//11426 +f 10072//11205 10073//11204 10190//10514 +f 11305//11282 7352//11298 10885//11370 +f 8514//11443 8513//11444 8406//11203 +f 8407//11202 8514//11443 8406//11203 +f 8514//11443 8621//11445 8513//11444 +f 8621//11445 8620//11446 8513//11444 +f 8942//11447 8941//11448 8834//11449 +f 8728//11450 8727//11451 8620//11446 +f 8621//11445 8728//11450 8620//11446 +f 8835//11452 8942//11447 8834//11449 +f 8835//11452 8834//11449 8727//11451 +f 8728//11450 8835//11452 8727//11451 +f 9049//11453 9048//11454 8941//11448 +f 8942//11447 9049//11453 8941//11448 +f 9157//11455 9156//11456 9048//11454 +f 9049//11453 9157//11455 9048//11454 +f 9156//11456 9157//11455 9265//11457 +f 9157//11455 9266//11458 9265//11457 +f 10845//11459 7589//11384 10101//11379 +f 9266//11458 9378//11460 9377//11461 +f 8452//11462 7589//11384 10845//11459 +f 9984//11380 10938//11156 11012//11302 +f 11326//10460 8452//11462 9004//11463 +f 9004//11463 8452//11462 10845//11459 +f 11372//10455 11326//10460 11200//11464 +f 11200//11464 11326//10460 9004//11463 +f 8045//10453 11372//10455 10334//11465 +f 10334//11465 11372//10455 11200//11464 +f 11304//11283 11305//11282 10885//11370 +f 10573//11127 8045//10453 10334//11465 +f 11057//11368 11184//11362 11183//11442 +f 10315//11466 10435//11424 10314//11467 +f 10930//11361 10931//11360 11056//11369 +f 11056//11369 11057//11368 11183//11442 +f 8223//11115 2743//8610 4384//6718 +f 10659//11468 10660//10982 10783//11469 +f 8858//11470 8857//10717 8750//10715 +f 8751//11437 8858//11470 8750//10715 +f 17671//11394 20598//11471 13775//11472 +f 7192//10616 17671//11394 13775//11472 +f 7875//11473 8454//11395 9797//11474 +f 9797//11474 8454//11395 11393//11396 +f 8772//11475 10360//11400 8454//11395 +f 7875//11473 8772//11475 8454//11395 +f 9571//11476 9572//11401 10360//11400 +f 8772//11475 9571//11476 10360//11400 +f 10631//11477 10629//11402 9572//11401 +f 9571//11476 10631//11477 9572//11401 +f 6937//11478 9195//11403 10629//11402 +f 10631//11477 6937//11478 10629//11402 +f 10775//11479 8764//11404 9195//11403 +f 6937//11478 10775//11479 9195//11403 +f 10775//11479 7970//11480 8414//11405 +f 8764//11404 10775//11479 8414//11405 +f 7970//11480 7853//11481 7854//11406 +f 8414//11405 7970//11480 7854//11406 +f 7853//11481 11128//11482 11255//11407 +f 7854//11406 7853//11481 11255//11407 +f 11128//11482 11213//11483 11339//11408 +f 11255//11407 11128//11482 11339//11408 +f 11213//11483 11011//11484 11139//11409 +f 11339//11408 11213//11483 11139//11409 +f 11011//11484 10138//11485 9546//11410 +f 11139//11409 11011//11484 9546//11410 +f 10138//11485 9912//11486 9887//11411 +f 9546//11410 10138//11485 9887//11411 +f 9912//11486 10848//11487 9864//11412 +f 9887//11411 9912//11486 9864//11412 +f 10848//11487 9657//11488 9542//11413 +f 9864//11412 10848//11487 9542//11413 +f 9657//11488 10686//11489 11026//11414 +f 9542//11413 9657//11488 11026//11414 +f 10686//11489 8418//11490 8413//11415 +f 11026//11414 10686//11489 8413//11415 +f 8418//11490 7396//11491 7914//11416 +f 8413//11415 8418//11490 7914//11416 +f 7396//11491 10345//11492 10464//11417 +f 7914//11416 7396//11491 10464//11417 +f 10345//11492 7782//11493 7899//11418 +f 10464//11417 10345//11492 7899//11418 +f 7782//11493 11115//11494 8790//11419 +f 7899//11418 7782//11493 8790//11419 +f 11115//11494 7694//11495 8863//11420 +f 8790//11419 11115//11494 8863//11420 +f 2074//3675 1949//3882 2075//2572 +f 11349//11496 4918//3890 10971//10978 +f 14010//11497 14108//7159 14107//11498 +f 2226//4557 3722//11019 2225//6803 +f 9845//11499 9844//11500 9729//11501 +f 22514//157 22515//156 22613//491 +f 7886//11502 9230//10769 7759//10768 +f 10014//11503 8994//11504 8133//11505 +f 35925//4727 29543//4726 35500//2155 +f 9163//11431 9272//11506 9162//11432 +f 8858//11470 8965//11507 8964//10719 +f 12590//7538 12589//10118 12499//6387 +f 8857//10717 8858//11470 8964//10719 +f 8965//11507 9072//11508 9071//10722 +f 8853//10578 8852//11509 8745//3892 +f 8964//10719 8965//11507 9071//10722 +f 9700//11352 9815//11510 9814//3364 +f 8127//11511 10444//10542 8678//11512 +f 13977//2930 10458//11513 11310//2931 +f 7657//11514 482//5733 369//5878 +f 10676//11356 10677//11357 10800//11359 +f 10015//11427 10458//11513 10444//10542 +f 10191//11351 10310//11515 10309//10515 +f 11052//11516 11179//11281 11051//11441 +f 8450//11517 10701//11518 10456//11519 +f 10190//10514 10191//11351 10309//10515 +f 14347//11520 20412//11521 20327//1474 +f 10456//11519 10576//11522 6963//11198 +f 41//5825 12297//5824 104//11523 +f 13029//11317 13317//11524 12383//11525 +f 8202//11526 7256//11527 8577//11528 +f 7808//11529 6893//11530 10877//11531 +f 10102//11532 10107//11533 8202//11526 +f 21979//1360 15196//9304 21949//1305 +f 7696//11534 10449//11535 10102//11532 +f 7256//11527 9566//11536 8577//11528 +f 10608//11537 10614//11538 7696//11534 +f 10107//11533 7256//11527 8202//11526 +f 9006//11539 9007//11540 10608//11537 +f 10449//11535 10107//11533 10102//11532 +f 9007//11540 10614//11538 10608//11537 +f 10614//11538 10449//11535 7696//11534 +f 9609//11541 9608//11542 9492//11543 +f 10492//11544 10584//11545 7591//11546 +f 9265//11457 9266//11458 9377//11461 +f 9493//11547 9609//11541 9492//11543 +f 9493//11547 9492//11543 9377//11461 +f 9378//11460 9493//11547 9377//11461 +f 9725//11548 9724//11549 9608//11542 +f 9609//11541 9725//11548 9608//11542 +f 9840//11550 9839//11551 9724//11549 +f 9725//11548 9840//11550 9724//11549 +f 9956//11277 9955//11206 9839//11551 +f 9840//11550 9956//11277 9839//11551 +f 10078//11552 10196//11553 10077//11554 +f 10315//11466 10314//11467 10195//11555 +f 10849//11556 10617//10529 11227//10531 +f 10660//10982 10784//10984 10783//11469 +f 8746//10571 8745//3892 8638//3891 +f 8639//10569 8746//10571 8638//3891 +f 9072//11508 9180//11557 9179//10487 +f 9071//10722 9072//11508 9179//10487 +f 20598//11471 24286//11558 20822//11559 +f 13775//11472 20598//11471 20822//11559 +f 10451//11560 7875//11473 10901//11561 +f 35124//11562 10901//11561 9797//11474 +f 10394//11563 8772//11475 7875//11473 +f 10451//11560 10394//11563 7875//11473 +f 10148//11564 9571//11476 8772//11475 +f 10394//11563 10148//11564 8772//11475 +f 10632//11565 10631//11477 9571//11476 +f 10148//11564 10632//11565 9571//11476 +f 9979//11566 6937//11478 10631//11477 +f 10632//11565 9979//11566 10631//11477 +f 10019//11567 10775//11479 6937//11478 +f 9979//11566 10019//11567 6937//11478 +f 10019//11567 7971//11568 7970//11480 +f 10775//11479 10019//11567 7970//11480 +f 7971//11568 8522//11569 7853//11481 +f 7970//11480 7971//11568 7853//11481 +f 8522//11569 11256//11570 11128//11482 +f 7853//11481 8522//11569 11128//11482 +f 11256//11570 8634//11571 11213//11483 +f 11128//11482 11256//11570 11213//11483 +f 8634//11571 10884//11572 11011//11484 +f 11213//11483 8634//11571 11011//11484 +f 10884//11572 10021//11573 10138//11485 +f 11011//11484 10884//11572 10138//11485 +f 10021//11573 11380//11574 9912//11486 +f 10138//11485 10021//11573 9912//11486 +f 11380//11574 443//11575 10848//11487 +f 9912//11486 11380//11574 10848//11487 +f 443//11575 9771//11576 9657//11488 +f 10848//11487 443//11575 9657//11488 +f 9771//11576 10742//11577 10686//11489 +f 9657//11488 9771//11576 10686//11489 +f 10742//11577 8419//11578 8418//11490 +f 10686//11489 10742//11577 8418//11490 +f 8419//11578 7397//11579 7396//11491 +f 8418//11490 8419//11578 7396//11491 +f 7397//11579 10344//11580 10345//11492 +f 7396//11491 7397//11579 10345//11492 +f 10344//11580 10485//11581 7782//11493 +f 10345//11492 10344//11580 7782//11493 +f 10485//11581 9211//11582 11115//11494 +f 7782//11493 10485//11581 11115//11494 +f 9211//11582 10971//10978 7694//11495 +f 11115//11494 9211//11582 7694//11495 +f 35411//3880 35448//7555 35360//3881 +f 35923//2801 35891//2763 35893//2802 +f 14537//11583 792//965 793//8759 +f 7544//6294 486//6291 485//6150 +f 9614//11584 9730//11585 9613//11586 +f 11030//11587 11157//4490 11029//11588 +f 8713//11589 8712//11590 8605//11591 +f 600//6151 485//6150 486//6291 +f 8318//10627 8425//10587 8424//11592 +f 8317//11593 8318//10627 8424//11592 +f 6514//5938 8451//11594 6513//5658 +f 9180//11557 16996//11595 9288//10766 +f 35524//9019 23856//8167 35641//8166 +f 12933//763 11529//1508 12206//3125 +f 14011//11596 14012//11597 14109//7015 +f 8210//10725 8318//10627 8317//11593 +f 19846//7858 2715//7857 2851//9615 +f 11996//5718 11995//5722 11911//5719 +f 8746//10571 8853//10578 8745//3892 +f 9110//10952 12721//8178 1495//8174 +f 6653//11598 6787//10106 27783//10108 +f 10926//11599 10925//11600 10800//11359 +f 10267//11601 7147//11602 10865//11603 +f 10430//11604 10429//11605 10309//10515 +f 10801//11358 10926//11599 10800//11359 +f 9767//11606 7895//11607 8450//11517 +f 10310//11515 10430//11604 10309//10515 +f 8845//11608 8557//8617 7878//11609 +f 10576//11522 10577//11118 6963//11198 +f 11282//11610 8557//8617 8845//11608 +f 8151//11611 11282//11610 8845//11608 +f 7537//11612 11193//11613 7177//11614 +f 8557//8617 7537//11612 7878//11609 +f 7671//11615 8038//11616 8023//11617 +f 7878//11609 7537//11612 7177//11614 +f 11193//11613 8038//11616 7671//11615 +f 9325//11618 8246//11619 8353//11620 +f 7177//11614 11193//11613 7671//11615 +f 8038//11616 9325//11618 8023//11617 +f 8023//11617 9325//11618 8353//11620 +f 8246//11619 11118//11621 8034//11622 +f 8353//11620 8246//11619 8034//11622 +f 11118//11621 10746//11623 8226//11624 +f 8034//11622 11118//11621 8226//11624 +f 35382//11625 35921//9885 35913//9884 +f 7592//11626 9007//11540 9006//11539 +f 8226//11624 10746//11623 7581//11627 +f 9911//11628 8554//11629 10492//11544 +f 7591//11546 7592//11626 9006//11539 +f 2788//11120 106//11119 9911//11628 +f 10584//11545 7592//11626 7591//11546 +f 106//11119 8554//11629 9911//11628 +f 8554//11629 10584//11545 10492//11544 +f 10918//11630 11044//11631 10917//11632 +f 11044//11631 11171//11633 11170//11634 +f 10921//11635 11047//11636 10920//11637 +f 11174//11638 11300//11639 11299//10980 +f 9730//11585 9845//11499 9729//11501 +f 9961//11640 9960//11641 9844//11500 +f 10858//11642 9208//11643 9320//10486 +f 10733//11644 10858//11642 9320//10486 +f 8425//10587 8532//10575 8531//11645 +f 8424//11592 8425//10587 8531//11645 +f 9699//11353 9700//11352 9814//3364 +f 24286//11558 27062//11646 27061//11647 +f 7704//11648 3721//9075 8992//9183 +f 1595//2677 1713//2884 1712//3877 +f 20822//11559 24286//11558 27061//11647 +f 27062//11646 28424//11649 28376//11650 +f 8762//11651 10451//11560 9567//11652 +f 33707//11653 10901//11561 35124//11562 +f 8879//11654 10394//11563 10451//11560 +f 8762//11651 8879//11654 10451//11560 +f 10268//11655 10148//11564 10394//11563 +f 8879//11654 10268//11655 10394//11563 +f 10633//11656 10632//11565 10148//11564 +f 10268//11655 10633//11656 10148//11564 +f 10510//11657 9979//11566 10632//11565 +f 10633//11656 10510//11657 10632//11565 +f 8438//11658 10019//11567 9979//11566 +f 10510//11657 8438//11658 9979//11566 +f 8438//11658 7855//11659 7971//11568 +f 10019//11567 8438//11658 7971//11568 +f 7855//11659 8523//11660 8522//11569 +f 7971//11568 7855//11659 8522//11569 +f 8523//11660 11127//11661 11256//11570 +f 8522//11569 8523//11660 11256//11570 +f 11127//11661 8633//11662 8634//11571 +f 11256//11570 11127//11661 8634//11571 +f 8633//11662 7622//11663 10884//11572 +f 8634//11571 8633//11662 10884//11572 +f 7622//11663 10994//11664 10021//11573 +f 10884//11572 7622//11663 10021//11573 +f 10994//11664 8470//11665 11380//11574 +f 10021//11573 10994//11664 11380//11574 +f 8470//11665 9442//11666 443//11575 +f 11380//11574 8470//11665 443//11575 +f 9442//11666 9886//11667 9771//11576 +f 443//11575 9442//11666 9771//11576 +f 9886//11667 7780//11668 10742//11577 +f 9771//11576 9886//11667 10742//11577 +f 7780//11668 8253//11669 8419//11578 +f 10742//11577 7780//11668 8419//11578 +f 8253//11669 8954//11670 7397//11579 +f 8419//11578 8253//11669 7397//11579 +f 8954//11670 11008//11671 10344//11580 +f 7397//11579 8954//11670 10344//11580 +f 11008//11671 10365//11672 10485//11581 +f 10344//11580 11008//11671 10485//11581 +f 10365//11672 11204//11673 9211//11582 +f 10485//11581 10365//11672 9211//11582 +f 11204//11673 11349//11496 10971//10978 +f 9211//11582 11204//11673 10971//10978 +f 7305//11674 9786//11675 4918//3890 +f 14537//11583 913//6165 1288//6164 +f 11487//10771 11488//11676 228//11677 +f 4644//6928 4510//7025 11029//11588 +f 9730//11585 9729//11501 9613//11586 +f 2515//4664 2514//5536 8853//10578 +f 11002//11678 11225//11679 8037//11680 +f 10491//10605 8445//11681 10371//11682 +f 7984//10678 8099//10677 7983//11683 +f 8099//10677 8210//10725 8209//11684 +f 9815//11510 9931//11685 9930//6433 +f 11822//4996 11821//11686 11737//11687 +f 9814//3364 9815//11510 9930//6433 +f 30//4092 12212//5823 41//5825 +f 8099//10677 8098//11688 7983//11683 +f 8166//10776 8274//10800 8165//11689 +f 24623//11690 21536//11691 22139//11692 +f 8209//11684 8210//10725 8317//11593 +f 9498//11693 9614//11584 9497//11694 +f 8871//7540 5831//4891 9412//4893 +f 10926//11599 11052//11516 11051//11441 +f 10555//11355 10554//11354 10434//11425 +f 10550//11695 10549//10737 10429//11605 +f 10925//11600 10926//11599 11051//11441 +f 11195//11696 10942//11697 9767//11606 +f 10430//11604 10550//11695 10429//11605 +f 9438//11698 9897//10603 10685//11699 +f 10701//11518 10576//11522 10456//11519 +f 8232//11700 9396//11701 10509//11702 +f 319//8604 428//4220 318//5036 +f 9931//11685 10048//11703 10047//10583 +f 9396//11701 9757//11704 7767//11705 +f 9930//6433 9931//11685 10047//10583 +f 11018//11706 11019//11707 11145//4647 +f 10166//11708 10165//10584 10047//10583 +f 10048//11703 10166//11708 10047//10583 +f 6985//11709 10967//6934 7585//6933 +f 12767//3707 12766//11710 12677//2920 +f 7807//11711 8136//11712 6985//11709 +f 3062//4248 3061//4247 8116//6424 +f 8032//11713 7062//11714 7807//11711 +f 8905//11715 7877//2987 7581//11627 +f 7916//11716 8027//11717 8032//11713 +f 8136//11712 10967//6934 6985//11709 +f 8027//11717 7062//11714 8032//11713 +f 7062//11714 8136//11712 7807//11711 +f 13826//3898 13825//2371 13727//2376 +f 7329//11718 7442//11719 11241//11720 +f 8736//10798 341//10797 14259//7561 +f 9977//9528 3041//6520 13871//1430 +f 9878//8260 8449//11721 9879//11722 +f 10098//11723 10746//11623 14867//11724 +f 10285//11725 10284//10446 10165//10584 +f 26806//5904 26807//11726 26921//11727 +f 11043//11728 11044//11631 11170//11634 +f 22915//5561 22916//7279 23014//9960 +f 11173//10979 11174//11638 11299//10980 +f 11171//11633 11297//11297 11296//11729 +f 9845//11499 9961//11640 9844//11500 +f 11174//11638 11173//10979 11046//11730 +f 4395//3863 10564//3865 137//11731 +f 10078//11552 10077//11554 9960//11641 +f 8532//10575 8639//10569 8638//3891 +f 9812//11732 9928//10588 9927//11733 +f 11151//11734 11150//11735 11023//11736 +f 8531//11645 8532//10575 8638//3891 +f 29829//11737 2409//5275 19341//10971 +f 14367//1045 12567//11738 11567//8411 +f 33707//11653 9176//11739 9567//11652 +f 10724//11740 8666//11741 33351//11742 +f 9458//11743 8762//11651 9176//11739 +f 8666//11741 9458//11743 9176//11739 +f 8986//11744 8879//11654 8762//11651 +f 9458//11743 8986//11744 8762//11651 +f 10269//11745 10268//11655 8879//11654 +f 8986//11744 10269//11745 8879//11654 +f 11141//11746 10633//11656 10268//11655 +f 10269//11745 11141//11746 10268//11655 +f 9124//11747 10510//11657 10633//11656 +f 11141//11746 9124//11747 10633//11656 +f 8331//11748 8438//11658 10510//11657 +f 9124//11747 8331//11748 10510//11657 +f 10155//11749 7855//11659 8438//11658 +f 8331//11748 10155//11749 8438//11658 +f 10155//11749 8524//11750 8523//11660 +f 7855//11659 10155//11749 8523//11660 +f 8524//11750 11126//11751 11127//11661 +f 8523//11660 8524//11750 11127//11661 +f 11126//11751 8632//11752 8633//11662 +f 11127//11661 11126//11751 8633//11662 +f 8632//11752 7623//11753 7622//11663 +f 8633//11662 8632//11752 7622//11663 +f 7623//11753 10995//11754 10994//11664 +f 7622//11663 7623//11753 10994//11664 +f 10995//11754 8469//11755 8470//11665 +f 10994//11664 10995//11754 8470//11665 +f 8469//11755 9674//11756 9442//11666 +f 8470//11665 8469//11755 9442//11666 +f 9674//11756 10002//11757 9886//11667 +f 9442//11666 9674//11756 9886//11667 +f 10002//11757 8573//11758 7780//11668 +f 9886//11667 10002//11757 7780//11668 +f 8360//11759 8253//11669 7780//11668 +f 8573//11758 8360//11759 7780//11668 +f 8360//11759 8955//11760 8954//11670 +f 8253//11669 8360//11759 8954//11670 +f 8955//11760 9337//11761 11008//11671 +f 8954//11670 8955//11760 11008//11671 +f 9337//11761 10607//11762 10365//11672 +f 11008//11671 9337//11761 10365//11672 +f 10607//11762 7454//11763 11204//11673 +f 10365//11672 10607//11762 11204//11673 +f 7454//11763 7305//11674 11349//11496 +f 11204//11673 7454//11763 11349//11496 +f 11349//11496 7305//11674 4918//3890 +f 10278//6513 10397//11764 3831//3944 +f 12320//2022 12406//6527 12405//6632 +f 9786//11675 10486//3888 4918//3890 +f 8223//11115 546//10989 7776//11765 +f 11015//3662 4497//7549 10888//10456 +f 7765//11766 9339//10549 9175//10551 +f 296//939 199//7752 6643//7661 +f 8098//11688 8099//10677 8209//11684 +f 8706//11767 8707//11768 8813//11769 +f 8381//10817 8380//11770 8273//11771 +f 7868//10635 7984//10678 7867//11772 +f 9146//11773 9255//10929 9145//10931 +f 6290//3801 6418//4006 6417//3802 +f 9041//10736 9040//11774 8933//11775 +f 27061//11647 27062//11646 28376//11650 +f 10920//11637 11046//11730 10919//11776 +f 8499//11777 8498//11778 8391//11779 +f 8285//11780 8392//11781 8284//11782 +f 7868//10635 7867//11772 7752//11783 +f 7753//10667 7868//10635 7752//11783 +f 11971//8181 12388//11784 13215//6146 +f 6894//10544 9761//11785 9672//10545 +f 9498//11693 9497//11694 9382//11786 +f 9383//11787 9498//11693 9382//11786 +f 10672//11788 10671//10738 10549//10737 +f 10550//11695 10672//11788 10549//10737 +f 10793//11789 10918//11630 10792//11790 +f 10796//11791 10795//11792 10671//10738 +f 9655//6108 4109//6265 3963//4084 +f 7895//11607 10701//11518 8450//11517 +f 8232//11700 10968//11793 7582//11794 +f 8378//11795 8379//11796 8485//11797 +f 11289//11798 696//11799 11288//11800 +f 10968//11793 8232//11700 10509//11702 +f 11289//11798 11288//11800 11162//11801 +f 11163//11802 11289//11798 11162//11801 +f 696//11799 10703//11803 9174//11804 +f 696//11799 9119//11805 11288//11800 +f 10703//11803 9796//11806 9098//11807 +f 9119//11805 696//11799 9174//11804 +f 10991//11808 9779//11809 9556//11810 +f 9174//11804 10703//11803 9098//11807 +f 9796//11806 9779//11809 10991//11808 +f 9092//11811 7167//11812 9298//11813 +f 9098//11807 9796//11806 10991//11808 +f 9779//11809 9092//11811 9556//11810 +f 9556//11810 9092//11811 9298//11813 +f 7167//11812 7763//11814 10700//11815 +f 9298//11813 7167//11812 10700//11815 +f 7763//11814 1619//11816 3191//11817 +f 11367//11818 8027//11717 7916//11716 +f 10700//11815 7763//11814 3191//11817 +f 7767//11705 9757//11704 7329//11718 +f 11241//11720 11367//11818 7916//11716 +f 10509//11702 9396//11701 7767//11705 +f 7442//11719 11367//11818 11241//11720 +f 12867//11819 12866//8358 12774//8264 +f 9757//11704 7442//11719 7329//11718 +f 7843//11820 7844//11821 7959//11822 +f 9425//11823 8003//11824 9648//11825 +f 11170//11634 11171//11633 11296//11729 +f 7728//11826 7729//11827 7843//11820 +f 11047//11636 11174//11638 11046//11730 +f 11297//11297 8145//11314 7416//11828 +f 9961//11640 10078//11552 9960//11641 +f 10796//11791 10921//11635 10795//11792 +f 13192//7371 6263//6516 6385//5966 +f 10196//11553 10195//11555 10077//11554 +f 6420//4338 10693//4340 6419//4171 +f 10854//8496 10363//10642 14314//8092 +f 8012//4008 10851//11829 10600//11142 +f 14307//7008 10468//3351 14306//7009 +f 7284//11830 8666//11741 10600//11142 +f 10851//11829 7284//11830 10600//11142 +f 8139//11831 9458//11743 8666//11741 +f 7284//11830 8139//11831 8666//11741 +f 9094//11832 8986//11744 9458//11743 +f 8139//11831 9094//11832 9458//11743 +f 10389//11833 10269//11745 8986//11744 +f 9094//11832 10389//11833 8986//11744 +f 10634//11834 11141//11746 10269//11745 +f 10389//11833 10634//11834 10269//11745 +f 9638//11835 9124//11747 11141//11746 +f 10634//11834 9638//11835 11141//11746 +f 10622//11836 8331//11748 9124//11747 +f 9638//11835 10622//11836 9124//11747 +f 9095//11837 10155//11749 8331//11748 +f 10622//11836 9095//11837 8331//11748 +f 9095//11837 8525//11838 8524//11750 +f 10155//11749 9095//11837 8524//11750 +f 8525//11838 10999//11839 11126//11751 +f 8524//11750 8525//11838 11126//11751 +f 10999//11839 8631//11840 8632//11752 +f 11126//11751 10999//11839 8632//11752 +f 8631//11840 7624//11841 7623//11753 +f 8632//11752 8631//11840 7623//11753 +f 7624//11841 9301//11842 10995//11754 +f 7623//11753 7624//11841 10995//11754 +f 9301//11842 8468//11843 8469//11755 +f 10995//11754 9301//11842 8469//11755 +f 8468//11843 9788//11844 9674//11756 +f 8469//11755 8468//11843 9674//11756 +f 9788//11844 10001//11845 10002//11757 +f 9674//11756 9788//11844 10002//11757 +f 10001//11845 8862//11846 8573//11758 +f 10002//11757 10001//11845 8573//11758 +f 8359//11847 8360//11759 8573//11758 +f 8862//11846 8359//11847 8573//11758 +f 8359//11847 8956//11848 8955//11760 +f 8360//11759 8359//11847 8955//11760 +f 7969//11849 9337//11761 8955//11760 +f 8956//11848 7969//11849 8955//11760 +f 10246//11850 10607//11762 9337//11761 +f 7969//11849 10246//11850 9337//11761 +f 10246//11850 8679//11851 7454//11763 +f 10607//11762 10246//11850 7454//11763 +f 8679//11851 7196//11852 7305//11674 +f 7454//11763 8679//11851 7305//11674 +f 7196//11852 9902//11853 9786//11675 +f 7305//11674 7196//11852 9786//11675 +f 9902//11853 7901//8758 10486//3888 +f 9786//11675 9902//11853 10486//3888 +f 10486//3888 7901//8758 793//8759 +f 35000//7359 22517//6941 22418//7357 +f 11282//11610 8151//11611 9186//11854 +f 10166//11708 10285//11725 10165//10584 +f 12157//11855 12240//11856 12156//11857 +f 7942//11858 7943//11859 8057//11860 +f 7753//10667 7752//11783 7637//11861 +f 7638//10721 7753//10667 7637//11861 +f 10072//11205 10071//11862 9954//11863 +f 9955//11206 10072//11205 9954//11863 +f 19735//5348 27434//2643 29823//2645 +f 35644//580 35683//8515 35521//645 +f 21391//11864 21485//4577 14151//4579 +f 11216//6275 3982//6277 11268//6947 +f 1978//11865 28136//2850 28187//11866 +f 8659//10903 9196//11149 7216//11867 +f 22524//11868 33237//11869 22525//11870 +f 8335//11871 9284//11872 7669//11873 +f 31131//11874 31132//11875 31194//11876 +f 7554//11877 7669//11873 10252//11878 +f 20822//11559 27061//11647 27060//11879 +f 11485//8590 13681//5827 13486//9588 +f 8927//11880 9034//11881 9033//11882 +f 7984//10678 7983//11683 7867//11772 +f 9383//11787 9382//11786 9270//11883 +f 11020//11884 11021//4484 11147//11885 +f 11300//11639 11265//11886 10033//11887 +f 9614//11584 9613//11586 9497//11694 +f 10918//11630 10917//11632 10792//11790 +f 11299//10980 11300//11639 10033//11887 +f 8486//11888 8593//11889 8592//11890 +f 11044//11631 11043//11728 10917//11632 +f 13004//3498 12549//767 12459//3499 +f 7388//6804 7387//11891 7276//6805 +f 8264//11892 10711//11893 9663//11894 +f 10611//11895 8232//11700 7582//11794 +f 8170//11130 8171//10539 8278//11131 +f 7686//11896 7687//10854 7176//10853 +f 7534//10938 9754//10939 8979//11897 +f 13816//3925 13914//11898 13815//10041 +f 8332//11025 8979//11897 8121//11899 +f 9537//11900 8332//11025 8121//11899 +f 8350//11901 9537//11900 8121//11899 +f 15893//11902 16469//8357 13975//1509 +f 2309//11903 15893//11902 13877//762 +f 35471//330 35679//9012 35586//331 +f 12043//7349 12661//3899 12660//3901 +f 35563//11904 35884//11058 35372//3902 +f 13436//9949 13435//11905 21728//11906 +f 35772//11907 35460//11908 35780//9636 +f 12684//10166 12685//9336 12773//8263 +f 12074//5981 12156//11857 12073//11909 +f 12595//11910 12594//10163 12504//3936 +f 29889//11911 29888//6460 29759//11912 +f 7891//11913 9397//11914 9507//11915 +f 12387//8255 12476//6246 11136//2020 +f 1619//11816 9397//11914 7891//11913 +f 575//7463 60//7367 74//7366 +f 3191//11817 1619//11816 7891//11913 +f 9397//11914 9510//3461 9507//11915 +f 6380//2442 7551//2441 6381//9809 +f 9819//11916 9818//11917 9703//11918 +f 7364//8666 12826//11919 3860//8947 +f 10052//5392 10170//11920 10169//11921 +f 7844//11821 7960//11922 7959//11822 +f 9184//11923 9077//11924 9185//358 +f 11296//11729 11297//11297 7416//11828 +f 7614//11925 7729//11827 7613//11926 +f 11047//11636 11046//11730 10920//11637 +f 8145//11314 10952//11316 10272//11927 +f 10196//11553 10315//11466 10195//11555 +f 10672//11788 10796//11791 10671//10738 +f 258//5729 368//5732 367//5575 +f 10435//11424 10434//11425 10314//11467 +f 10977//11232 10851//11829 8012//4008 +f 13997//3156 13998//3155 10565//3352 +f 10977//11232 9451//11928 7284//11830 +f 10851//11829 10977//11232 7284//11830 +f 9344//11929 8139//11831 7284//11830 +f 9451//11928 9344//11929 7284//11830 +f 9522//11930 9094//11832 8139//11831 +f 9344//11929 9522//11930 8139//11831 +f 10390//11931 10389//11833 9094//11832 +f 9522//11930 10390//11931 9094//11832 +f 7851//11932 10634//11834 10389//11833 +f 10390//11931 7851//11932 10389//11833 +f 10692//11933 9638//11835 10634//11834 +f 7851//11932 10692//11933 10634//11834 +f 10500//11934 10622//11836 9638//11835 +f 10692//11933 10500//11934 9638//11835 +f 10603//11935 9095//11837 10622//11836 +f 10500//11934 10603//11935 10622//11836 +f 11088//11936 8525//11838 9095//11837 +f 10603//11935 11088//11936 9095//11837 +f 11088//11936 10998//11937 10999//11839 +f 8525//11838 11088//11936 10999//11839 +f 10998//11937 8630//11938 8631//11840 +f 10999//11839 10998//11937 8631//11840 +f 8630//11938 8738//11939 7624//11841 +f 8631//11840 8630//11938 7624//11841 +f 8738//11939 9215//11940 9301//11842 +f 7624//11841 8738//11939 9301//11842 +f 9215//11940 9806//11941 8468//11843 +f 9301//11842 9215//11940 8468//11843 +f 9806//11941 9904//11942 9788//11844 +f 8468//11843 9806//11941 9788//11844 +f 9904//11942 10000//11943 10001//11845 +f 9788//11844 9904//11942 10001//11845 +f 10000//11943 8850//11944 8862//11846 +f 10001//11845 10000//11943 8862//11846 +f 8850//11944 8254//11945 8359//11847 +f 8862//11846 8850//11944 8359//11847 +f 8957//11946 8956//11848 8359//11847 +f 8254//11945 8957//11946 8359//11847 +f 10226//11947 7969//11849 8956//11848 +f 8957//11946 10226//11947 8956//11848 +f 10127//11948 10246//11850 7969//11849 +f 10226//11947 10127//11948 7969//11849 +f 10127//11948 8572//11949 8679//11851 +f 10246//11850 10127//11948 8679//11851 +f 8572//11949 11314//11950 7196//11852 +f 8679//11851 8572//11949 7196//11852 +f 11314//11950 9099//11951 9902//11853 +f 7196//11852 11314//11950 9902//11853 +f 9099//11951 7900//11952 7901//8758 +f 9902//11853 9099//11951 7901//8758 +f 12819//2402 6965//11953 14163//11954 +f 7552//11955 915//7067 7900//11952 +f 1752//6841 1634//6258 1635//10403 +f 3345//11956 459//11957 187//2517 +f 10330//11958 8159//11959 10751//11960 +f 10843//11961 9663//11894 7144//11962 +f 10405//11963 10404//11964 10284//10446 +f 28424//11649 30154//11965 30153//11966 +f 9414//11967 7912//11968 7812//11969 +f 9551//11970 10252//11878 8783//11971 +f 12508//7134 12509//7133 12598//11972 +f 15273//9467 13238//9466 25003//11973 +f 8124//11974 4807//11975 1656//732 +f 25337//8895 25338//8894 23722//11220 +f 12076//5721 12075//7817 11994//7816 +f 9414//11967 7812//11969 7799//11976 +f 35765//11977 35625//7012 35536//7014 +f 7912//11968 9551//11970 8783//11971 +f 8357//11978 9414//11967 7799//11976 +f 7912//11968 8783//11971 7812//11969 +f 10755//11979 8357//11978 7799//11976 +f 9551//11970 7554//11877 10252//11878 +f 10285//11725 10405//11963 10284//10446 +f 8610//10408 8717//11980 8716//11981 +f 7198//10509 10755//11979 7799//11976 +f 7164//11982 7271//10406 7163//11983 +f 9695//10925 9696//10861 9810//10935 +f 8594//11218 8595//10860 8701//11223 +f 9795//11984 8655//11985 9524//11986 +f 7621//11987 7625//11988 9011//11989 +f 9054//10536 9162//11432 9053//11990 +f 9271//11991 9270//11883 9161//11992 +f 10469//10430 8308//11993 9885//11994 +f 11265//11886 8308//11993 10469//10430 +f 10547//10844 10669//10843 10546//11995 +f 10793//11789 10792//11790 10668//11996 +f 7959//11822 7960//11922 8074//11997 +f 7960//11922 8075//11998 8074//11997 +f 12333//8589 12332//3330 12247//3328 +f 12331//3331 12330//3747 12245//3933 +f 12321//5830 12407//7443 12406//6527 +f 22228//4653 22325//6739 22323//4654 +f 23591//11999 7474//449 8307//12000 +f 3699//4887 10278//6513 3831//3944 +f 7162//12001 7161//12002 7057//12003 +f 35831//3671 13101//3673 13196//4280 +f 7161//12002 7162//12001 7268//12004 +f 7162//12001 7269//12005 7268//12004 +f 7268//12004 7269//12005 7379//12006 +f 7269//12005 7380//12007 7379//12006 +f 7379//12006 7380//12007 7491//12008 +f 7380//12007 7492//12009 7491//12008 +f 7721//12010 7836//12011 7835//12012 +f 7606//12013 7605//12014 7491//12008 +f 7492//12009 7606//12013 7491//12008 +f 7720//12015 7721//12010 7835//12012 +f 7606//12013 7721//12010 7720//12015 +f 7605//12014 7606//12013 7720//12015 +f 7952//12016 7951//10607 7835//12012 +f 7836//12011 7952//12016 7835//12012 +f 11635//12017 12118//8591 13390//7245 +f 8067//12018 8066//12019 7951//10607 +f 13693//4493 13989//4182 1857//7465 +f 13390//7245 13486//9588 13884//5155 +f 11739//7914 11823//4995 11738//4997 +f 13882//12020 13881//12021 13778//2191 +f 6421//4339 6547//12022 10693//4340 +f 6385//5966 795//2553 1857//7465 +f 8114//12023 8084//12024 10267//11601 +f 6953//12025 7052//12026 7051//12027 +f 12156//11857 12155//12028 12073//11909 +f 10372//12029 10472//12030 10267//11601 +f 7729//11827 7844//11821 7843//11820 +f 10525//12031 10524//12032 10404//11964 +f 7416//11828 8145//11314 10272//11927 +f 7500//12033 7614//11925 7499//12034 +f 10921//11635 10920//11637 10795//11792 +f 10952//11316 10942//11697 11195//11696 +f 12021//12035 11935//12036 11936//12037 +f 10693//4340 7255//12038 6545//4007 +f 10598//2871 6799//2867 338//2866 +f 7038//2723 7037//2722 117//12039 +f 7255//12038 9316//12040 9451//11928 +f 10977//11232 7255//12038 9451//11928 +f 8757//12041 9344//11929 9451//11928 +f 9316//12040 8757//12041 9451//11928 +f 10154//12042 9522//11930 9344//11929 +f 8757//12041 10154//12042 9344//11929 +f 9455//12043 10390//11931 9522//11930 +f 10154//12042 9455//12043 9522//11930 +f 6870//12044 7851//11932 10390//11931 +f 9455//12043 6870//12044 10390//11931 +f 10752//12045 10692//11933 7851//11932 +f 6870//12044 10752//12045 7851//11932 +f 10380//12046 10500//11934 10692//11933 +f 10752//12045 10380//12046 10692//11933 +f 7510//12047 10603//11935 10500//11934 +f 10380//12046 7510//12047 10500//11934 +f 10961//12048 11088//11936 10603//11935 +f 7510//12047 10961//12048 10603//11935 +f 10961//12048 10997//12049 10998//11937 +f 11088//11936 10961//12048 10998//11937 +f 10997//12049 7737//12050 8630//11938 +f 10998//11937 10997//12049 8630//11938 +f 7737//12050 8739//12051 8738//11939 +f 8630//11938 7737//12050 8738//11939 +f 8739//12051 9527//12052 9215//11940 +f 8738//11939 8739//12051 9215//11940 +f 9527//12052 9799//12053 9806//11941 +f 9215//11940 9527//12052 9806//11941 +f 9799//12053 11113//12054 9904//11942 +f 9806//11941 9799//12053 9904//11942 +f 11113//12054 9999//12055 10000//11943 +f 9904//11942 11113//12054 10000//11943 +f 9999//12055 8849//12056 8850//11944 +f 10000//11943 9999//12055 8850//11944 +f 8849//12056 8361//12057 8254//11945 +f 8850//11944 8849//12056 8254//11945 +f 8958//12058 8957//11946 8254//11945 +f 8361//12057 8958//12058 8254//11945 +f 10227//12059 10226//11947 8957//11946 +f 8958//12058 10227//12059 8957//11946 +f 10731//12060 10127//11948 10226//11947 +f 10227//12059 10731//12060 10226//11947 +f 8786//12061 8572//11949 10127//11948 +f 10731//12060 8786//12061 10127//11948 +f 7569//12062 11314//11950 8572//11949 +f 8786//12061 7569//12062 8572//11949 +f 7569//12062 7562//12063 9099//11951 +f 11314//11950 7569//12062 9099//11951 +f 7562//12063 7552//11955 7900//11952 +f 9099//11951 7562//12063 7900//11952 +f 26702//12064 26701//4197 22778//4199 +f 198//7842 199//7752 335//7749 +f 7355//12065 10705//12066 8874//12067 +f 512//8967 398//9092 399//9089 +f 8805//10712 8804//10653 8697//10652 +f 10405//11963 10525//12031 10404//11964 +f 10642//11162 10641//10511 10519//10563 +f 6264//5106 6801//4957 6802//4956 +f 8823//12068 8824//12069 8930//12070 +f 9481//12071 9597//12072 9480//12073 +f 7271//10406 7382//12074 7381//10407 +f 133//12075 4520//8489 4364//8492 +f 35385//5339 35822//5341 35376//12076 +f 8378//11795 8270//4213 8271//10887 +f 20640//9296 20639//264 20557//263 +f 28376//11650 28424//11649 30153//11966 +f 347//8490 9322//4428 3608//12077 +f 17254//12078 26905//855 26904//854 +f 28556//12079 28685//10761 28555//10762 +f 30154//11965 19802//12080 19799//8469 +f 9805//12081 14277//10398 35407//5535 +f 33//9662 11336//9661 16990//12082 +f 28556//12079 28555//10762 28433//11008 +f 8335//11871 4933//12083 10236//12084 +f 8070//12085 8181//10919 8180//10868 +f 9254//10930 9366//12086 9365//12087 +f 9253//12088 9254//10930 9365//12087 +f 8804//10653 8911//11154 8803//12089 +f 9284//11872 8335//11871 10236//12084 +f 9237//12090 9349//12091 9348//12092 +f 8069//10867 8070//12085 8180//10868 +f 8947//10537 8946//12093 8839//12094 +f 11111//4259 8025//4261 9214//12095 +f 10817//12096 8763//12097 8651//10657 +f 9162//11432 9271//11991 9161//11992 +f 10669//10843 10668//11996 10546//11995 +f 9885//11994 10817//12096 8651//10657 +f 8075//11998 8186//12098 8185//12099 +f 10669//10843 10793//11789 10668//11996 +f 12000//3524 11999//8089 11915//4420 +f 8074//11997 8075//11998 8185//12099 +f 35849//12100 35777//5622 35785//3349 +f 35535//6699 35483//6701 35434//8723 +f 9334//12101 9428//12102 7541//11322 +f 11746//3714 11830//3557 11745//12103 +f 9479//12104 9478//12105 9363//12106 +f 30153//11966 30154//11965 19799//8469 +f 672//2018 557//12107 18805//5709 +f 9364//12108 9479//12104 9363//12106 +f 8031//10598 10249//11022 9102//12109 +f 9564//743 10213//1797 9449//3815 +f 10370//10646 9323//10596 9102//12109 +f 10251//12110 10370//10646 9102//12109 +f 9780//10644 10370//10646 10251//12110 +f 7440//12111 9780//10644 10251//12110 +f 11331//12112 7310//12113 11205//12114 +f 9780//10644 7440//12111 9871//12115 +f 10855//12116 11331//12112 7427//12117 +f 7310//12113 9780//10644 9871//12115 +f 7698//12118 10855//12116 8373//12119 +f 7310//12113 9871//12115 11205//12114 +f 10855//12116 7427//12117 8373//12119 +f 11331//12112 11205//12114 7427//12117 +f 8067//12018 8178//12120 8066//12019 +f 9175//10551 8149//10550 10954//12121 +f 7952//12016 8067//12018 7951//10607 +f 8286//12122 8285//11780 8177//12123 +f 8178//12120 8286//12122 8177//12123 +f 8178//12120 8177//12123 8066//12019 +f 8393//12124 8392//11781 8285//11780 +f 8286//12122 8393//12124 8285//11780 +f 35589//5470 35529//8019 35390//6238 +f 8500//12125 8499//11777 8392//11781 +f 8084//12024 7147//11602 10267//11601 +f 26406//12126 26411//12127 19141//12128 +f 11366//12129 7576//12130 13865//12131 +f 10857//12132 10472//12030 7775//12133 +f 7729//11827 7728//11826 7613//11926 +f 10647//12134 10646//10818 10524//12032 +f 10272//11927 10952//11316 11195//11696 +f 7500//12033 7499//12034 7387//11891 +f 10693//4340 6547//12022 7433//12135 +f 10942//11697 7895//11607 9767//11606 +f 7433//12135 7255//12038 10693//4340 +f 576//7557 3867//7659 3999//7558 +f 7433//12135 9431//12136 9316//12040 +f 7255//12038 7433//12135 9316//12040 +f 10357//12137 8757//12041 9316//12040 +f 9431//12136 10357//12137 9316//12040 +f 10270//12138 10154//12042 8757//12041 +f 10357//12137 10270//12138 8757//12041 +f 9456//12139 9455//12043 10154//12042 +f 10270//12138 9456//12139 10154//12042 +f 8792//12140 6870//12044 9455//12043 +f 9456//12139 8792//12140 9455//12043 +f 10214//12141 10752//12045 6870//12044 +f 8792//12140 10214//12141 6870//12044 +f 10261//12142 10380//12046 10752//12045 +f 10214//12141 10261//12142 10752//12045 +f 10261//12142 7736//12143 7510//12047 +f 10380//12046 10261//12142 7510//12047 +f 7736//12143 11214//12144 10961//12048 +f 7510//12047 7736//12143 10961//12048 +f 11214//12144 10996//12145 10997//12049 +f 10961//12048 11214//12144 10997//12049 +f 10996//12145 7738//12146 7737//12050 +f 10997//12049 10996//12145 7737//12050 +f 7738//12146 8740//12147 8739//12051 +f 7737//12050 7738//12146 8739//12051 +f 8740//12147 136//12148 9527//12052 +f 8739//12051 8740//12147 9527//12052 +f 9793//12149 9799//12053 9527//12052 +f 136//12148 9793//12149 9527//12052 +f 9531//12150 11113//12054 9799//12053 +f 9793//12149 9531//12150 9799//12053 +f 9531//12150 7663//12151 9999//12055 +f 11113//12054 9531//12150 9999//12055 +f 7663//12151 8848//12152 8849//12056 +f 9999//12055 7663//12151 8849//12056 +f 8848//12152 8650//12153 8361//12057 +f 8849//12056 8848//12152 8361//12057 +f 8650//12153 10496//12154 8958//12058 +f 8361//12057 8650//12153 8958//12058 +f 7540//12155 10227//12059 8958//12058 +f 10496//12154 7540//12155 8958//12058 +f 10856//12156 10731//12060 10227//12059 +f 7540//12155 10856//12156 10227//12059 +f 8466//12157 8786//12061 10731//12060 +f 10856//12156 8466//12157 10731//12060 +f 8356//12158 7569//12062 8786//12061 +f 8466//12157 8356//12158 8786//12061 +f 8356//12158 9430//12159 7562//12063 +f 7569//12062 8356//12158 7562//12063 +f 7783//12160 7552//11955 7562//12063 +f 9430//12159 7783//12160 7562//12063 +f 11827//9879 11913//9947 11826//12161 +f 7251//10557 198//7842 335//7749 +f 8733//10601 8840//10602 8732//12162 +f 6984//12163 917//4721 9091//12164 +f 8444//4263 9308//12165 10103//12166 +f 10525//12031 10647//12134 10524//12032 +f 10664//12167 10663//12168 10541//10865 +f 10399//12169 10400//10561 10519//10563 +f 10401//12170 10521//10475 10520//10562 +f 7666//12171 9101//12172 9100//11377 +f 8457//9069 10151//12173 8328//7471 +f 7095//9609 7201//12174 7094//12175 +f 4113//8462 15968//5466 15973//2992 +f 7095//9609 7202//12176 7201//12174 +f 17362//12177 7201//12174 17440//12178 +f 2408//1816 19039//1815 2812//10747 +f 19802//12080 30638//12179 30601//3166 +f 19799//8469 19802//12080 30601//3166 +f 7894//12180 8651//10657 8776//10659 +f 8590//7922 8697//10652 8589//8728 +f 8066//12019 8177//12123 8065//12181 +f 8804//10653 8803//12089 8696//10464 +f 9127//10870 9128//12182 9236//10871 +f 10830//12183 9297//10469 10871//10502 +f 10645//10819 10646//10818 10769//9194 +f 10400//10561 10401//12170 10520//10562 +f 6947//12184 7046//9956 7045//7931 +f 35691//12185 35913//9884 35628//12186 +f 10771//12187 10770//9193 10646//10818 +f 35081//12188 35210//12189 35080//12190 +f 10369//12191 22661//12192 12306//8769 +f 13372//12193 9685//12194 27282//12195 +f 9927//11733 9928//10588 10044//10590 +f 8626//10606 8733//10601 8625//12196 +f 8840//10602 8839//12094 8732//12162 +f 8651//10657 8763//12097 11259//10658 +f 8763//12097 10235//12197 11259//10658 +f 10547//10844 10546//11995 10426//12198 +f 10427//11213 10547//10844 10426//12198 +f 8185//12099 8186//12098 8293//10481 +f 8186//12098 8294//12199 8293//10481 +f 12721//8178 7764//3469 1495//8174 +f 13914//11898 13913//12200 13815//10041 +f 9684//8083 12455//8177 12540//10951 +f 11916//3533 11915//4420 11829//8087 +f 8016//12201 7852//12202 9334//12101 +f 9428//12102 7546//6019 7541//11322 +f 9479//12104 9595//12203 9478//12105 +f 9595//12203 9594//12204 9478//12105 +f 35668//3313 35642//9674 35391//8726 +f 7178//3186 5586//6824 10479//6823 +f 1175//12205 8869//9666 8761//6058 +f 27783//10108 35512//1610 35733//5469 +f 10479//6823 11075//12206 7178//3186 +f 11075//12206 11350//12207 7178//3186 +f 11075//12206 8906//12208 11350//12207 +f 8906//12208 9915//12209 11350//12207 +f 5049//4179 7061//12210 10443//12211 +f 10132//12212 9983//12213 9915//12209 +f 8906//12208 10132//12212 9915//12209 +f 2886//7264 2481//6008 3844//5302 +f 9206//12214 8907//3823 9983//12213 +f 10132//12212 9206//12214 9983//12213 +f 4246//3927 4396//2524 15565//1519 +f 7714//12215 7829//12216 7713//12217 +f 7698//12118 8373//12119 7646//12218 +f 10515//10438 10637//4993 4095//7648 +f 8149//10550 7646//12218 10954//12121 +f 8149//10550 7698//12118 7646//12218 +f 8240//3575 9538//12219 10013//3576 +f 9175//10551 10954//12121 9423//12220 +f 6263//6516 795//2553 6385//5966 +f 9538//12219 9175//10551 9423//12220 +f 9252//12221 9364//12108 9251//10419 +f 9516//12222 7808//11529 4248//12223 +f 2476//6408 6756//3431 9548//3430 +f 9142//12224 9143//12225 9251//10419 +f 10472//12030 8114//12023 10267//11601 +f 12248//8354 12247//3328 12164//3327 +f 9535//12226 8867//12227 9302//12228 +f 2476//6408 9548//3430 11354//12229 +f 7388//6804 7500//12033 7387//11891 +f 9536//12230 9535//12226 9302//12228 +f 7276//6805 11633//12231 11634//12232 +f 7614//11925 7613//11926 7499//12034 +f 5691//4563 5825//10240 5690//1159 +f 11995//5722 12076//5721 11994//7816 +f 35738//2774 35819//2548 35663//2550 +f 6547//12022 6548//4807 6673//4809 +f 35494//607 35810//7013 35625//7012 +f 13801//12233 10384//5993 16075//12234 +f 8110//12235 10270//12138 10357//12137 +f 10477//12236 8110//12235 10357//12137 +f 9342//12237 9456//12139 10270//12138 +f 8110//12235 9342//12237 10270//12138 +f 7459//12238 8792//12140 9456//12139 +f 9342//12237 7459//12238 9456//12139 +f 7459//12238 11343//12239 10214//12141 +f 8792//12140 7459//12238 10214//12141 +f 11343//12239 9407//12240 10261//12142 +f 10214//12141 11343//12239 10261//12142 +f 9407//12240 7549//12241 7736//12143 +f 10261//12142 9407//12240 7736//12143 +f 7549//12241 10836//12242 11214//12144 +f 7736//12143 7549//12241 11214//12144 +f 10869//12243 10996//12145 11214//12144 +f 10836//12242 10869//12243 11214//12144 +f 7739//12244 7738//12146 10996//12145 +f 10869//12243 7739//12244 10996//12145 +f 8741//12245 8740//12147 7738//12146 +f 7739//12244 8741//12245 7738//12146 +f 6977//12246 136//12148 8740//12147 +f 8741//12245 6977//12246 8740//12147 +f 11379//12247 9793//12149 136//12148 +f 6977//12246 11379//12247 136//12148 +f 10277//12248 9531//12150 9793//12149 +f 11379//12247 10277//12248 9793//12149 +f 9998//12249 7663//12151 9531//12150 +f 10277//12248 9998//12249 9531//12150 +f 8847//12250 8848//12152 7663//12151 +f 9998//12249 8847//12250 7663//12151 +f 8847//12250 9312//12251 8650//12153 +f 8848//12152 8847//12250 8650//12153 +f 9312//12251 8265//12252 10496//12154 +f 8650//12153 9312//12251 10496//12154 +f 10109//12253 7540//12155 10496//12154 +f 8265//12252 10109//12253 10496//12154 +f 10982//12254 10856//12156 7540//12155 +f 10109//12253 10982//12254 7540//12155 +f 9108//12255 8466//12157 10856//12156 +f 10982//12254 9108//12255 10856//12156 +f 9108//12255 11396//12256 8356//12158 +f 8466//12157 9108//12255 8356//12158 +f 11396//12256 11099//12257 9430//12159 +f 8356//12158 11396//12256 9430//12159 +f 9091//12164 7783//12160 9430//12159 +f 11099//12257 9091//12164 9430//12159 +f 9091//12164 917//4721 7783//12160 +f 7251//10557 335//7749 10966//12258 +f 557//12107 672//2018 16323//12259 +f 9217//10895 7898//2502 3327//2339 +f 30638//12179 27496//12260 27495//12261 +f 28882//12262 27990//6174 28363//6176 +f 28314//3253 28434//11007 28313//8191 +f 7976//6259 7977//12263 1518//6257 +f 32946//2935 32945//12264 32837//2936 +f 10647//12134 10771//12187 10646//10818 +f 7095//9609 7094//12175 17295//12265 +f 18392//12266 18733//12267 14592//1046 +f 7096//12268 7203//12269 7202//12176 +f 7095//9609 7096//12268 7202//12176 +f 7201//12174 152//5730 151//5456 +f 7203//12269 7314//5731 7202//12176 +f 11151//11734 11152//5695 11277//12270 +f 27297//2905 11833//2907 11748//12271 +f 9162//11432 9161//11992 9053//11990 +f 9271//11991 9383//11787 9270//11883 +f 30601//3166 30638//12179 27495//12261 +f 8840//10602 8947//10537 8839//12094 +f 10189//12272 10190//10514 10308//10516 +f 11450//2468 28018//12273 28009//12274 +f 10771//12187 10896//12275 10895//4483 +f 7143//10480 7994//10400 7367//10402 +f 10770//9193 10771//12187 10895//4483 +f 10896//12275 11022//12276 11021//4484 +f 35513//6100 26624//8481 35826//5328 +f 10895//4483 10896//12275 11021//4484 +f 8828//12277 8935//12278 8934//12279 +f 8855//11150 8962//12280 8854//10577 +f 35417//3312 35642//9674 35668//3313 +f 28950//12281 29085//6343 21908//12282 +f 8519//8694 8626//10606 8518//12283 +f 8733//10601 8732//12162 8625//12196 +f 11259//10658 10235//12197 10822//12284 +f 10235//12197 10947//12285 10822//12284 +f 10307//11212 10427//11213 10426//12198 +f 10306//12286 10307//11212 10426//12198 +f 8293//10481 8294//12199 8400//10482 +f 8294//12199 8401//12287 8400//10482 +f 10097//12288 2000//5120 2653//12289 +f 12472//12290 12562//12291 13881//12021 +f 12152//10592 12235//1862 12234//1861 +f 9304//12292 9684//8083 12540//10951 +f 9515//12293 8459//12294 8016//12201 +f 7852//12202 9428//12102 9334//12101 +f 9595//12203 9711//12295 9594//12204 +f 9711//12295 9710//12296 9594//12204 +f 9990//5030 796//5029 9989//6623 +f 8279//10441 8280//10440 8386//12297 +f 13047//9136 13048//8850 13141//12298 +f 12771//8588 12772//8587 12863//10740 +f 7547//12299 10843//11961 10829//12300 +f 7542//5877 7543//6293 484//6152 +f 35609//9083 9114//5340 7759//10768 +f 9117//12301 8899//12302 7886//11502 +f 13922//2359 13921//12303 13823//1007 +f 11832//12304 11831//3496 11747//3713 +f 14311//1429 12036//1589 14310//7830 +f 8600//12305 8707//11768 8599//10450 +f 4926//12306 2639//12307 9629//3491 +f 8707//11768 8706//11767 8599//10450 +f 13919//4351 14017//3161 14016//7727 +f 31406//12308 11416//2395 31407//2397 +f 11022//12276 11149//12309 11148//12310 +f 13918//5521 13919//4351 14016//7727 +f 14310//7830 8090//10382 14309//7632 +f 7829//12216 7945//10810 7944//10809 +f 9230//10769 7909//12311 10511//10767 +f 8060//10815 8171//10539 8170//11130 +f 8279//10441 8386//12297 8385//11146 +f 35724//8628 35824//10184 35358//8193 +f 11830//3557 11916//3533 11829//8087 +f 11021//4484 11022//12276 11148//12310 +f 9364//12108 9363//12106 9251//10419 +f 13911//3355 14009//7038 13910//1733 +f 5039//4367 5173//3074 5038//3073 +f 8928//12312 9035//12313 8927//11880 +f 10857//12132 7775//12133 8889//12314 +f 269//7177 164//12315 165//7173 +f 10611//11895 7582//11794 9398//12316 +f 413//10193 7238//10269 7239//10335 +f 8867//12227 10721//12317 9398//12316 +f 10721//12317 10611//11895 9398//12316 +f 33704//12318 22325//6739 22326//12319 +f 9302//12228 8867//12227 9398//12316 +f 6673//4809 7433//12135 6547//12022 +f 27612//8308 35847//8310 29006//2152 +f 10476//12320 6800//4811 6801//4957 +f 1598//4216 1599//4215 1716//7921 +f 10476//12320 7882//6499 8110//12235 +f 10477//12236 10476//12320 8110//12235 +f 7882//6499 9231//12321 9342//12237 +f 8110//12235 7882//6499 9342//12237 +f 9231//12321 8691//12322 7459//12238 +f 9342//12237 9231//12321 7459//12238 +f 8691//12322 8200//12323 11343//12239 +f 7459//12238 8691//12322 11343//12239 +f 8200//12323 8336//12324 9407//12240 +f 11343//12239 8200//12323 9407//12240 +f 8336//12324 9568//12325 7549//12241 +f 9407//12240 8336//12324 7549//12241 +f 9568//12325 11340//12326 10836//12242 +f 7549//12241 9568//12325 10836//12242 +f 11105//12327 10869//12243 10836//12242 +f 11340//12326 11105//12327 10836//12242 +f 10503//12328 7739//12244 10869//12243 +f 11105//12327 10503//12328 10869//12243 +f 8742//12329 8741//12245 7739//12244 +f 10503//12328 8742//12329 7739//12244 +f 9905//12330 6977//12246 8741//12245 +f 8742//12329 9905//12330 8741//12245 +f 8376//12331 11379//12247 6977//12246 +f 9905//12330 8376//12331 6977//12246 +f 10020//12332 10277//12248 11379//12247 +f 8376//12331 10020//12332 11379//12247 +f 10115//12333 9998//12249 10277//12248 +f 10020//12332 10115//12333 10277//12248 +f 8846//12334 8847//12250 9998//12249 +f 10115//12333 8846//12334 9998//12249 +f 8447//12335 9312//12251 8847//12250 +f 8846//12334 8447//12335 8847//12250 +f 8447//12335 11381//12336 8265//12252 +f 9312//12251 8447//12335 8265//12252 +f 10110//12337 10109//12253 8265//12252 +f 11381//12336 10110//12337 8265//12252 +f 11110//12338 10982//12254 10109//12253 +f 10110//12337 11110//12338 10109//12253 +f 11110//12338 8893//12339 9108//12255 +f 10982//12254 11110//12338 9108//12255 +f 8893//12339 9689//12340 11396//12256 +f 9108//12255 8893//12339 11396//12256 +f 9689//12340 10880//12341 11099//12257 +f 11396//12256 9689//12340 11099//12257 +f 9199//12342 9091//12164 11099//12257 +f 10880//12341 9199//12342 11099//12257 +f 26949//10378 26948//5969 11595//3162 +f 9199//12342 6984//12163 9091//12164 +f 35704//8194 35414//8722 35894//7274 +f 10396//4222 10395//5259 3830//3942 +f 26901//12343 29135//12344 29134//12345 +f 7315//12346 259//11289 7314//5731 +f 10183//10786 10302//10566 10301//10568 +f 21675//12347 21698//12348 13100//12349 +f 10422//10567 10542//10864 10421//10866 +f 15375//823 15506//830 15505//824 +f 21197//4237 33967//12350 21196//4238 +f 27496//12260 13057//12351 30641//12352 +f 7097//12353 7204//12354 7203//12269 +f 7096//12268 7097//12353 7203//12269 +f 7315//12346 7314//5731 7203//12269 +f 7204//12354 7315//12346 7203//12269 +f 11920//2757 11833//2907 11921//2906 +f 259//11289 369//5878 368//5732 +f 10033//11887 11265//11886 10469//10430 +f 518//12355 519//9593 633//9530 +f 9054//10536 9053//11990 8946//12093 +f 8308//11993 10817//12096 9885//11994 +f 29550//2648 27295//2463 21657//12356 +f 8947//10537 9054//10536 8946//12093 +f 14178//12357 14177//12358 13584//12359 +f 1891//4725 11888//12360 12053//4724 +f 11897//12361 7757//10624 7642//10628 +f 10151//12173 9664//12362 10941//12363 +f 7990//7047 7989//11319 7873//11288 +f 35559//12364 35748//3124 35617//3487 +f 8105//12365 8104//11320 7989//11319 +f 7765//11766 9175//10551 9538//12219 +f 19448//12366 19449//12367 21472//12368 +f 7746//12369 7745//10805 7630//10804 +f 7452//12370 518//12355 632//9450 +f 8519//8694 8518//12283 8411//12371 +f 1899//7071 2024//3235 19061//10791 +f 10822//12284 10947//12285 10337//12372 +f 10947//12285 10218//12373 10337//12372 +f 10070//12374 10188//12375 10069//12376 +f 10307//11212 10306//12286 10187//12377 +f 8400//10482 8401//12287 8507//12378 +f 8401//12287 8508//12379 8507//12378 +f 8369//12380 9194//12381 9436//6036 +f 11830//3557 11829//8087 11745//12103 +f 11748//12271 11832//12304 11747//3713 +f 14203//7161 14204//7160 14301//12382 +f 10699//12383 8459//12294 9515//12293 +f 10824//12384 10699//12383 9515//12293 +f 9711//12295 9826//12385 9710//12296 +f 9826//12385 9825//12386 9710//12296 +f 12157//11855 12156//11857 12074//5981 +f 8248//12387 8141//10444 10474//10967 +f 12864//10258 12957//10330 12956//10741 +f 5061//3490 4926//12306 9629//3491 +f 9027//12388 9028//10473 9135//10494 +f 7907//12389 10613//10901 8766//12390 +f 8133//11505 8245//12391 8022//12392 +f 8245//12391 8026//12393 8022//12392 +f 10474//10967 8141//10444 11069//10968 +f 11070//12394 8355//12395 8026//12393 +f 2936//12396 3076//529 13519//528 +f 6950//11391 6883//12397 6951//11392 +f 7598//12398 7599//12399 7713//12217 +f 7829//12216 7828//12400 7713//12217 +f 8245//12391 11070//12394 8026//12393 +f 11070//12394 7790//12401 8355//12395 +f 5062//7824 4658//7823 5061//3490 +f 7790//12401 10623//12402 8355//12395 +f 8222//12403 9177//8986 11270//7837 +f 12325//6723 12324//6725 12239//12404 +f 11270//7837 9177//8986 11271//7836 +f 12240//11856 12325//6723 12239//12404 +f 3963//4084 192//7554 191//4083 +f 11909//7910 11908//12405 11822//4996 +f 12411//6724 12410//6388 12324//6725 +f 8553//12406 9066//12407 8660//12408 +f 12208//8266 12045//7138 11723//8180 +f 795//2553 6006//8262 1857//7465 +f 9035//12313 9143//12225 9142//12224 +f 12114//8179 12138//8472 12137//3636 +f 2500//12409 23275//12410 15030//12411 +f 8713//11589 8714//12412 8820//11230 +f 2084//3117 9107//7641 8559//11347 +f 4384//6718 2743//8610 2744//6719 +f 7649//3088 6492//3087 6618//8855 +f 398//9092 7335//12413 399//9089 +f 11149//12309 11275//12414 11274//12415 +f 7672//5844 129//4900 194//5705 +f 9899//12416 10857//12132 8889//12314 +f 10472//12030 10372//12029 7775//12133 +f 419//3848 7244//5247 7245//7639 +f 27495//12261 27496//12260 30641//12352 +f 10476//12320 6264//5106 7882//6499 +f 13525//6869 1972//2805 12456//2804 +f 8635//6498 9122//12417 9231//12321 +f 7882//6499 8635//6498 9231//12321 +f 9122//12417 10258//12418 8691//12322 +f 9231//12321 9122//12417 8691//12322 +f 10258//12418 8199//12419 8200//12323 +f 8691//12322 10258//12418 8200//12323 +f 8199//12419 7432//12420 8336//12324 +f 8200//12323 8199//12419 8336//12324 +f 7432//12420 10240//12421 9568//12325 +f 8336//12324 7432//12420 9568//12325 +f 10240//12421 9225//12422 11340//12326 +f 9568//12325 10240//12421 11340//12326 +f 8543//12423 11105//12327 11340//12326 +f 9225//12422 8543//12423 11340//12326 +f 10504//12424 10503//12328 11105//12327 +f 8543//12423 10504//12424 11105//12327 +f 7781//12425 8742//12329 10503//12328 +f 10504//12424 7781//12425 10503//12328 +f 9789//12426 9905//12330 8742//12329 +f 7781//12425 9789//12426 8742//12329 +f 8375//12427 8376//12331 9905//12330 +f 9789//12426 8375//12427 9905//12330 +f 10137//12428 10020//12332 8376//12331 +f 8375//12427 10137//12428 8376//12331 +f 10114//12429 10115//12333 10020//12332 +f 10137//12428 10114//12429 10020//12332 +f 7509//12430 8846//12334 10115//12333 +f 10114//12429 7509//12430 10115//12333 +f 8362//12431 8447//12335 8846//12334 +f 7509//12430 8362//12431 8846//12334 +f 8362//12431 9391//12432 11381//12336 +f 8447//12335 8362//12431 11381//12336 +f 10111//12433 10110//12337 11381//12336 +f 9391//12432 10111//12433 11381//12336 +f 11236//12434 11110//12338 10110//12337 +f 10111//12433 11236//12434 10110//12337 +f 9000//12435 8893//12339 11110//12338 +f 11236//12434 9000//12435 11110//12338 +f 9775//12436 9689//12340 8893//12339 +f 9000//12435 9775//12436 8893//12339 +f 9798//12437 10880//12341 9689//12340 +f 9775//12436 9798//12437 9689//12340 +f 9311//12438 9199//12342 10880//12341 +f 9798//12437 9311//12438 10880//12341 +f 9311//12438 11082//12439 6984//12163 +f 9199//12342 9311//12438 6984//12163 +f 7783//12160 917//4721 916//4723 +f 11082//12439 9447//12440 6984//12163 +f 13726//2377 13824//1006 13725//1008 +f 35844//12441 35789//7055 35703//4775 +f 10687//10459 10099//12442 8452//11462 +f 11120//6410 8147//9079 3977//6411 +f 7990//7047 8105//12365 7989//11319 +f 7428//5876 259//11289 7315//12346 +f 30090//12443 2278//6040 2412//10879 +f 13057//12351 28989//12444 27784//12445 +f 7098//12446 7205//12447 7204//12354 +f 7097//12353 7098//12446 7204//12354 +f 7205//12447 7316//12448 7315//12346 +f 7204//12354 7205//12447 7315//12346 +f 18960//12449 1779//7070 1899//7071 +f 7316//12448 7428//5876 7315//12346 +f 26578//12450 24958//12451 26579//12452 +f 35426//1381 35899//437 35472//436 +f 7584//12453 15905//8101 16045//12454 +f 15452//12455 21796//12456 21890//12457 +f 35854//5116 35629//9589 35585//10970 +f 5999//12458 26260//2769 4786//2768 +f 4924//12459 3881//12460 26139//12461 +f 13196//4280 8003//11824 8687//12462 +f 8216//12463 8215//11321 8104//11320 +f 8105//12365 8216//12463 8104//11320 +f 8324//12464 8323//11365 8215//11321 +f 9897//10603 10491//10605 10685//11699 +f 8216//12463 8324//12464 8215//11321 +f 7631//12465 7746//12369 7630//10804 +f 7897//10814 9287//12466 8446//12467 +f 125//4422 7682//3926 4365//1518 +f 7746//12369 7861//12468 7860//8612 +f 10218//12373 8142//12469 1951//12470 +f 8626//10606 8625//12196 8518//12283 +f 10188//12375 10187//12377 10069//12376 +f 10337//12372 10218//12373 1951//12470 +f 8508//12379 8615//12471 8614//11428 +f 10188//12375 10307//11212 10187//12377 +f 9194//12381 11102//6037 9436//6036 +f 8507//12378 8508//12379 8614//11428 +f 26615//6435 31556//12472 26617//12473 +f 3045//1386 19421//12474 1379//1376 +f 9713//12475 9714//12476 9828//12477 +f 35530//5734 35583//10042 35384//5559 +f 9942//12478 9941//12479 9825//12386 +f 8459//12294 7852//12202 8016//12201 +f 7599//12399 7600//12480 7714//12215 +f 9826//12385 9942//12478 9825//12386 +f 2639//12307 220//3928 217//4856 +f 11356//12481 11079//12482 9758//12483 +f 22267//6622 20132//1914 13341//9032 +f 14212//3356 14213//1269 14310//7830 +f 9078//12484 10975//12485 7687//10854 +f 10342//12486 8248//12387 10474//10967 +f 7602//12487 7717//12488 7716//12489 +f 7601//12490 7602//12487 7716//12489 +f 9474//12491 9590//12492 9589//12493 +f 9359//12494 9474//12491 9473//12495 +f 7828//12400 7829//12216 7944//10809 +f 10171//12496 10172//12497 10290//12498 +f 10053//12499 10054//12500 10171//12496 +f 7470//12501 7699//12502 7547//12299 +f 10054//12500 10172//12497 10171//12496 +f 10172//12497 10291//12503 10290//12498 +f 7925//7918 7809//7917 10623//12402 +f 9821//12504 9937//12505 9820//12506 +f 7790//12401 7925//7918 10623//12402 +f 24958//12451 26578//12450 26083//12507 +f 368//5732 258//5729 259//11289 +f 9540//6230 664//6493 4103//6495 +f 13432//12508 126//12509 17100//6454 +f 8385//11146 8386//12297 8492//10449 +f 10653//12510 10777//12511 10652//1270 +f 2009//12512 18938//12513 18300//12514 +f 13908//12515 13909//11373 14006//12516 +f 8553//12406 8660//12408 10862//12517 +f 22829//12518 20781//1592 9064//1742 +f 7037//2722 7036//5159 116//5158 +f 8821//12519 8928//12312 8927//11880 +f 30418//12520 30552//12521 30551//12522 +f 11827//9879 11826//12161 11742//4500 +f 8607//12523 8714//12412 8713//11589 +f 2476//6408 8889//12314 2129//6409 +f 8734//10599 8627//8693 2108//7742 +f 2743//8610 10865//11603 2343//8955 +f 2126//6502 2129//6409 546//10989 +f 13890//7663 9918//12524 9103//12525 +f 7776//11765 9399//11114 8223//11115 +f 9034//11881 9035//12313 9142//12224 +f 35462//2266 35653//7351 35368//3008 +f 317//3697 318//5036 427//3692 +f 11395//8017 5325//5419 5191//5422 +f 10900//12526 10392//12527 9122//12417 +f 8635//6498 10900//12526 9122//12417 +f 10392//12527 10815//12528 10258//12418 +f 9122//12417 10392//12527 10258//12418 +f 10815//12528 8088//12529 8199//12419 +f 10258//12418 10815//12528 8199//12419 +f 8088//12529 10216//12530 7432//12420 +f 8199//12419 8088//12529 7432//12420 +f 10216//12530 7667//12531 10240//12421 +f 7432//12420 10216//12530 10240//12421 +f 7667//12531 7252//12532 9225//12422 +f 10240//12421 7667//12531 9225//12422 +f 7252//12532 10753//12533 8543//12423 +f 9225//12422 7252//12532 8543//12423 +f 10753//12533 10505//12534 10504//12424 +f 8543//12423 10753//12533 10504//12424 +f 10505//12534 10376//12535 7781//12425 +f 10504//12424 10505//12534 7781//12425 +f 9675//12536 9789//12426 7781//12425 +f 10376//12535 9675//12536 7781//12425 +f 7283//12537 8375//12427 9789//12426 +f 9675//12536 7283//12537 9789//12426 +f 10256//12538 10137//12428 8375//12427 +f 7283//12537 10256//12538 8375//12427 +f 10113//12539 10114//12429 10137//12428 +f 10256//12538 10113//12539 10137//12428 +f 7508//12540 7509//12430 10114//12429 +f 10113//12539 7508//12540 10114//12429 +f 8363//12541 8362//12431 7509//12430 +f 7508//12540 8363//12541 7509//12430 +f 8467//12542 9391//12432 8362//12431 +f 8363//12541 8467//12542 8362//12431 +f 8467//12542 10112//12543 10111//12433 +f 9391//12432 8467//12542 10111//12433 +f 11362//12544 11236//12434 10111//12433 +f 10112//12543 11362//12544 10111//12433 +f 11248//12545 9000//12435 11236//12434 +f 11362//12544 11248//12545 11236//12434 +f 9454//12546 9775//12436 9000//12435 +f 11248//12545 9454//12546 9000//12435 +f 10018//12547 9798//12437 9775//12436 +f 9454//12546 10018//12547 9775//12436 +f 8983//12548 9311//12438 9798//12437 +f 10018//12547 8983//12548 9798//12437 +f 8983//12548 8344//12549 11082//12439 +f 9311//12438 8983//12548 11082//12439 +f 8344//12549 7477//12550 9447//12440 +f 11082//12439 8344//12549 9447//12440 +f 12005//2755 11921//2906 27532//8497 +f 7477//12550 8124//11974 9447//12440 +f 8635//6498 6268//5105 10900//12526 +f 12003//4898 12084//10043 12002//10742 +f 407//9816 408//8270 521//9744 +f 1779//7070 18960//12449 18861//12551 +f 30641//12352 13057//12351 27784//12445 +f 32724//9254 32723//12552 32609//12553 +f 7097//12353 6994//6763 7098//12446 +f 7206//12554 7205//12447 7098//12446 +f 7099//12555 7206//12554 7098//12446 +f 7317//12556 7316//12448 7205//12447 +f 7206//12554 7317//12556 7205//12447 +f 7429//12557 7428//5876 7316//12448 +f 7317//12556 7429//12557 7316//12448 +f 7543//6293 7542//5877 7428//5876 +f 7429//12557 7543//6293 7428//5876 +f 7542//5877 484//6152 7657//11514 +f 23637//9444 23591//11999 2223//9445 +f 13692//12558 13321//7566 13610//8475 +f 6799//2867 10598//2871 7441//11000 +f 6671//7268 810//7027 7804//7153 +f 9467//11245 9583//11247 9582//12559 +f 6507//9810 10502//9811 6633//6615 +f 5313//4406 5312//4409 10566//9429 +f 8431//12560 8430//11366 8323//11365 +f 8324//12464 8431//12560 8323//11365 +f 9208//11643 11371//12561 8891//10484 +f 8881//11024 10512//10478 7534//10938 +f 7860//8612 7861//12468 7976//6259 +f 7745//10805 7746//12369 7860//8612 +f 11119//10654 7584//12453 9008//12562 +f 9583//11247 9699//11353 9582//12559 +f 1951//12470 8142//12469 8785//12563 +f 8142//12469 10981//12564 8785//12563 +f 10070//12374 10069//12376 9952//12565 +f 9953//12566 10070//12374 9952//12565 +f 8614//11428 8615//12471 8721//11429 +f 8615//12471 8722//12567 8721//11429 +f 10481//12568 9194//12381 8369//12380 +f 7661//12569 10481//12568 8369//12380 +f 6154//12570 6024//2630 6155//2636 +f 24048//12571 23924//10331 12959//8360 +f 9191//12572 9299//12573 10824//12384 +f 18930//12574 27375//1139 20571//12575 +f 9942//12478 10059//12576 9941//12479 +f 10059//12576 10058//12577 9941//12479 +f 8387//12578 8494//12579 8493//12580 +f 7485//12581 7486//12582 7599//12399 +f 8036//12583 13287//5952 12209//4395 +f 13669//4693 11948//6318 13571//4694 +f 9983//12213 8907//3823 9867//9660 +f 9915//12209 9983//12213 10964//5727 +f 17465//12584 17464//5763 17386//5762 +f 7907//12389 10342//12486 10613//10901 +f 7832//12585 7831//12586 7716//12489 +f 7717//12488 7832//12585 7716//12489 +f 9358//12587 9359//12494 9473//12495 +f 9247//12588 9359//12494 9358//12587 +f 11121//12589 7470//12501 7547//12299 +f 10716//12590 10224//12591 8264//11892 +f 11064//12592 8264//11892 7699//12502 +f 7470//12501 11064//12592 7699//12502 +f 11064//12592 10716//12590 8264//11892 +f 10224//12591 10716//12590 9668//12593 +f 9937//12505 10054//12500 10053//12499 +f 10716//12590 7309//12594 9668//12593 +f 9706//12595 9821//12504 9705//12596 +f 9936//5391 9937//12505 10053//12499 +f 9821//12504 9820//12506 9705//12596 +f 9937//12505 9936//5391 9820//12506 +f 10843//11961 7144//11962 7355//12065 +f 11002//11678 9663//11894 11225//11679 +f 9471//12597 9472//12598 9587//12599 +f 10829//12300 10843//11961 7355//12065 +f 10531//12600 10653//12510 10530//12601 +f 9356//12602 9357//11161 9471//12597 +f 2017//1796 8222//12403 10213//1797 +f 4240//5453 10528//12603 4241//1271 +f 23230//6039 23132//8904 22437//9181 +f 8446//12467 8553//12406 10737//12604 +f 8606//12605 8607//12523 8713//11589 +f 13619//7477 35736//3311 15594//12606 +f 8393//12124 8500//12125 8392//11781 +f 8714//12412 8821//12519 8820//11230 +f 8607//12523 8606//12605 8499//11777 +f 8500//12125 8607//12523 8499//11777 +f 8820//11230 8821//12519 8927//11880 +f 9035//12313 9034//11881 8927//11880 +f 9629//3491 2639//12307 217//4856 +f 9143//12225 9252//12221 9251//10419 +f 15168//1514 12218//12607 15371//7849 +f 35612//1274 35885//7574 35795//12608 +f 11155//12609 10393//12610 10392//12527 +f 10900//12526 11155//12609 10392//12527 +f 10393//12610 9303//12611 10815//12528 +f 10392//12527 10393//12610 10815//12528 +f 8197//12612 8088//12529 10815//12528 +f 9303//12611 8197//12612 10815//12528 +f 7507//12613 10216//12530 8088//12529 +f 8197//12612 7507//12613 8088//12529 +f 7248//12614 7667//12531 10216//12530 +f 7507//12613 7248//12614 10216//12530 +f 11006//12615 7252//12532 7667//12531 +f 7248//12614 11006//12615 7667//12531 +f 11006//12615 7889//12616 10753//12533 +f 7252//12532 11006//12615 10753//12533 +f 7889//12616 10506//12617 10505//12534 +f 10753//12533 7889//12616 10505//12534 +f 10506//12617 10589//12618 10376//12535 +f 10505//12534 10506//12617 10376//12535 +f 10589//12618 11232//12619 9675//12536 +f 10376//12535 10589//12618 9675//12536 +f 11232//12619 10715//12620 7283//12537 +f 9675//12536 11232//12619 7283//12537 +f 10715//12620 10813//12621 10256//12538 +f 7283//12537 10715//12620 10256//12538 +f 10231//12622 10113//12539 10256//12538 +f 10813//12621 10231//12622 10256//12538 +f 6938//12623 7508//12540 10113//12539 +f 10231//12622 6938//12623 10113//12539 +f 6938//12623 9459//12624 8363//12541 +f 7508//12540 6938//12623 8363//12541 +f 7664//12625 8467//12542 8363//12541 +f 9459//12624 7664//12625 8363//12541 +f 9995//12626 10112//12543 8467//12542 +f 7664//12625 9995//12626 8467//12542 +f 8558//12627 11362//12544 10112//12543 +f 9995//12626 8558//12627 10112//12543 +f 11375//12628 11248//12545 11362//12544 +f 8558//12627 11375//12628 11362//12544 +f 8263//12629 9454//12546 11248//12545 +f 11375//12628 8263//12629 11248//12545 +f 10135//12630 10018//12547 9454//12546 +f 8263//12629 10135//12630 9454//12546 +f 8876//12631 8983//12548 10018//12547 +f 10135//12630 8876//12631 10018//12547 +f 5068//12632 8344//12549 8983//12548 +f 8876//12631 5068//12632 8983//12548 +f 5068//12632 7818//12633 7477//12550 +f 8344//12549 5068//12632 7477//12550 +f 4807//11975 10973//12634 1286//12635 +f 7477//12550 7818//12633 8124//11974 +f 13553//4115 13651//12636 13552//4116 +f 22916//7279 23015//2542 23014//9960 +f 35358//8193 35455//9401 35704//8194 +f 3298//5025 9807//6843 9808//11085 +f 34479//12637 33023//12638 3096//12639 +f 27275//12640 27276//10758 27393//10760 +f 6996//12641 7100//12642 7099//12555 +f 32919//6347 32807//12643 17323//12644 +f 7207//12645 7206//12554 7099//12555 +f 7100//12642 7207//12645 7099//12555 +f 7318//12646 7317//12556 7206//12554 +f 7207//12645 7318//12646 7206//12554 +f 7430//12647 7429//12557 7317//12556 +f 7318//12646 7430//12647 7317//12556 +f 7544//6294 7543//6293 7429//12557 +f 7430//12647 7544//6294 7429//12557 +f 11890//2224 13305//1924 35532//12648 +f 7542//5877 7657//11514 369//5878 +f 7861//12468 7977//12263 7976//6259 +f 7977//12263 8092//10404 1518//6257 +f 9652//12649 7893//12650 10858//11642 +f 10984//12651 11371//12561 9208//11643 +f 8538//12652 8537//11435 8430//11366 +f 8431//12560 8538//12652 8430//11366 +f 8645//12653 8644//11436 8537//11435 +f 8538//12652 8645//12653 8537//11435 +f 35420//12654 35796//12655 35463//2335 +f 7893//12650 10984//12651 10858//11642 +f 560//1470 5043//6269 676//6138 +f 8129//3118 460//2904 9222//11057 +f 8439//12656 11198//10754 8031//10598 +f 9437//10597 8439//12656 8031//10598 +f 8785//12563 10981//12564 10707//12657 +f 10981//12564 10718//12658 10707//12657 +f 9721//12659 9722//12660 9836//12661 +f 9953//12566 9952//12565 9836//12661 +f 8721//11429 8722//12567 8828//12277 +f 8722//12567 8829//12662 8828//12277 +f 10495//10530 10259//12663 10460//12664 +f 10259//12663 10481//12568 7661//12569 +f 12420//7249 12419//7135 12333//8589 +f 20698//12665 20699//12666 22738//12667 +f 10276//12668 9299//12573 9191//12572 +f 8760//12669 10276//12668 9191//12572 +f 10059//12576 10177//12670 10058//12577 +f 10177//12670 10176//12671 10058//12577 +f 376//6741 375//6640 266//6846 +f 8907//3823 6116//6697 9867//9660 +f 11148//12310 11149//12309 11274//12415 +f 405//8639 300//9070 67//12672 +f 6522//6228 1372//6229 4504//6231 +f 9915//12209 10964//5727 11312//3184 +f 7948//12673 7947//12674 7831//12586 +f 7948//12673 8063//12675 7947//12674 +f 7832//12585 7948//12673 7831//12586 +f 8063//12675 8062//12676 7947//12674 +f 9246//11160 9247//12588 9358//12587 +f 9029//10472 9030//12677 9137//12678 +f 10623//12402 7809//7917 6962//10443 +f 13116//6421 13211//981 6139//1010 +f 10737//12604 10862//12517 10975//12485 +f 9078//12484 10737//12604 10975//12485 +f 15378//927 15379//12679 15509//533 +f 10342//12486 10474//10967 10613//10901 +f 8980//12680 8022//12392 8873//12681 +f 10737//12604 8553//12406 10862//12517 +f 8980//12680 8873//12681 9668//12593 +f 8026//12393 10342//12486 7907//12389 +f 7309//12594 8980//12680 9668//12593 +f 8022//12392 7907//12389 8873//12681 +f 8022//12392 8026//12393 7907//12389 +f 8355//12395 8248//12387 10342//12486 +f 35554//3505 35698//3504 35624//5710 +f 10623//12402 6962//10443 8248//12387 +f 9472//12598 9588//12682 9587//12599 +f 9473//12495 9474//12491 9589//12493 +f 10411//12683 10531//12600 10410//12684 +f 7376//12685 7488//12686 7375//12687 +f 9287//12466 9066//12407 8553//12406 +f 18960//12449 1899//7071 19061//10791 +f 35621//1439 35444//8500 35858//7054 +f 10368//12688 9079//12689 7686//11896 +f 11275//12414 7655//12690 8015//12691 +f 9538//12219 9423//12220 10013//3576 +f 21415//7853 22926//12692 22846//12693 +f 35636//12694 35601//12695 35444//8500 +f 12326//12696 12325//6723 12240//11856 +f 15371//7849 14820//510 14710//509 +f 9449//3815 8222//12403 11270//7837 +f 17937//12697 22925//12698 18732//12699 +f 16781//3394 16793//5311 14437//3580 +f 1992//8012 8421//8011 1993//5296 +f 11027//5516 10955//12700 10393//12610 +f 11155//12609 11027//5516 10393//12610 +f 8089//12701 9303//12611 10393//12610 +f 10955//12700 8089//12701 10393//12610 +f 7973//12702 8197//12612 9303//12611 +f 8089//12701 7973//12702 9303//12611 +f 8561//12703 7507//12613 8197//12612 +f 7973//12702 8561//12703 8197//12612 +f 8161//12704 7248//12614 7507//12613 +f 8561//12703 8161//12704 7507//12613 +f 7478//12705 11006//12615 7248//12614 +f 8161//12704 7478//12705 7248//12614 +f 7478//12705 6987//12706 7889//12616 +f 11006//12615 7478//12705 7889//12616 +f 6987//12706 10628//12707 10506//12617 +f 7889//12616 6987//12706 10506//12617 +f 10628//12707 10037//12708 10589//12618 +f 10506//12617 10628//12707 10589//12618 +f 10037//12708 9532//12709 11232//12619 +f 10589//12618 10037//12708 11232//12619 +f 9532//12709 7766//12710 10715//12620 +f 11232//12619 9532//12709 10715//12620 +f 7766//12710 9213//12711 10813//12621 +f 10715//12620 7766//12710 10813//12621 +f 9213//12711 10230//12712 10231//12622 +f 10813//12621 9213//12711 10231//12622 +f 10230//12712 9908//12713 6938//12623 +f 10231//12622 10230//12712 6938//12623 +f 9908//12713 10839//12714 9459//12624 +f 6938//12623 9908//12713 9459//12624 +f 8872//12715 7664//12625 9459//12624 +f 10839//12714 8872//12715 9459//12624 +f 9996//12716 9995//12626 7664//12625 +f 8872//12715 9996//12716 7664//12625 +f 9996//12716 10010//12717 8558//12627 +f 9995//12626 9996//12716 8558//12627 +f 11376//12718 11375//12628 8558//12627 +f 10010//12717 11376//12718 8558//12627 +f 9660//12719 8263//12629 11375//12628 +f 11376//12718 9660//12719 11375//12628 +f 10254//12720 10135//12630 8263//12629 +f 9660//12719 10254//12720 8263//12629 +f 8769//12721 8876//12631 10135//12630 +f 10254//12720 8769//12721 10135//12630 +f 10484//12722 5068//12632 8876//12631 +f 8769//12721 10484//12722 8876//12631 +f 7817//12723 7818//12633 5068//12632 +f 10484//12722 7817//12723 5068//12632 +f 35781//9858 35361//2948 35564//9713 +f 27532//8497 11921//2906 27415//12724 +f 11345//12725 9803//12726 14902//1172 +f 27987//12727 11805//7451 6849//7453 +f 31338//9742 11416//2395 31406//12308 +f 9394//12728 14141//12729 14043//12730 +f 6907//12731 6997//12732 6996//12641 +f 13980//6765 6906//12733 6996//12641 +f 6997//12732 7101//12734 7100//12642 +f 6996//12641 6997//12732 7100//12642 +f 7208//12735 7207//12645 7100//12642 +f 7101//12734 7208//12735 7100//12642 +f 7319//12736 7318//12646 7207//12645 +f 7208//12735 7319//12736 7207//12645 +f 7431//6639 7430//12647 7318//12646 +f 7319//12736 7431//6639 7318//12646 +f 7545//6533 7544//6294 7430//12647 +f 7431//6639 7545//6533 7430//12647 +f 11274//12415 8015//12691 11273//12737 +f 35680//12738 35700//5265 35551//8027 +f 33728//12739 33862//3614 33727//3616 +f 10529//1272 10528//12603 10408//12740 +f 18931//5999 18179//5998 24399//12741 +f 10829//12300 7355//12065 8767//12742 +f 8752//12743 8751//11437 8644//11436 +f 7049//11393 7050//12744 7153//12745 +f 13749//12746 13748//12747 13650//12748 +f 8645//12653 8752//12743 8644//11436 +f 10858//11642 10984//12651 9208//11643 +f 8859//12749 8858//11470 8751//11437 +f 14065//12750 9394//12728 14043//12730 +f 11371//12561 11187//11313 8891//10484 +f 10612//12751 10736//11168 9553//10688 +f 7570//12752 8124//11974 1656//732 +f 10718//12658 7626//12753 7625//11988 +f 7806//10708 10621//10655 7691//11021 +f 9606//12754 9722//12660 9721//12659 +f 10707//12657 10718//12658 7625//11988 +f 8829//12662 8936//12755 8935//12278 +f 9837//12756 9953//12566 9836//12661 +f 10259//12663 7858//12757 10460//12664 +f 8828//12277 8829//12662 8935//12278 +f 12334//10332 12420//7249 12333//8589 +f 7858//12757 10259//12663 7661//12569 +f 10572//12758 9665//12759 8760//12669 +f 14060//12760 12254//947 2236//12761 +f 10296//12762 10295//12763 10176//12671 +f 9299//12573 10699//12383 10824//12384 +f 12075//7817 12157//11855 12074//5981 +f 10177//12670 10296//12762 10176//12671 +f 9554//3577 9438//11698 9117//12301 +f 35377//3510 35660//3512 35672//9826 +f 531//7455 417//7454 418//5248 +f 4375//4867 10777//12511 4510//7025 +f 11350//12207 9915//12209 11312//3184 +f 9983//12213 9867//9660 10964//5727 +f 8174//12764 8173//12765 8062//12676 +f 8063//12675 8174//12764 8062//12676 +f 9030//12677 9138//12766 9137//12678 +f 8923//12767 9030//12677 9029//10472 +f 9138//12766 9247//12588 9246//11160 +f 9137//12678 9138//12766 9246//11160 +f 3961//5257 3828//9431 3829//5258 +f 27168//10746 29010//12768 29081//12769 +f 2339//4712 2340//4711 6249//3814 +f 12765//8257 12857//12770 12856//8258 +f 9358//12587 9473//12495 9472//12598 +f 9473//12495 9589//12493 9588//12682 +f 9066//12407 10829//12300 8660//12408 +f 9357//11161 9358//12587 9472//12598 +f 10530//12601 10529//1272 10409//12771 +f 10410//12684 10530//12601 10409//12771 +f 7052//12026 7053//12772 7156//12773 +f 7157//12774 7264//12775 7263//12776 +f 7375//12687 7487//12777 7374//12778 +f 7156//12773 7157//12774 7263//12776 +f 8355//12395 10623//12402 8248//12387 +f 7601//12490 7600//12480 7486//12582 +f 9706//12595 9705//12596 9589//12493 +f 8026//12393 8355//12395 10342//12486 +f 7602//12487 7601//12490 7487//12777 +f 9590//12492 9706//12595 9589//12493 +f 10531//12600 10530//12601 10410//12684 +f 7157//12774 7158//12779 7264//12775 +f 10371//11682 10737//12604 9078//12484 +f 9287//12466 11121//12589 9066//12407 +f 10368//12688 7686//11896 7909//12311 +f 9079//12689 10371//11682 9078//12484 +f 9230//10769 10368//12688 7909//12311 +f 9079//12689 9078//12484 7686//11896 +f 8446//12467 9287//12466 8553//12406 +f 17889//12780 23808//12781 24138//2844 +f 6396//5656 6392//5387 6807//5655 +f 42//7024 6770//8106 3537//2577 +f 1710//3679 1711//3677 1828//3293 +f 22421//12782 22519//12783 22518//12784 +f 8119//12785 10955//12700 11027//5516 +f 11154//12786 8119//12785 11027//5516 +f 11093//12787 8089//12701 10955//12700 +f 8119//12785 11093//12787 10955//12700 +f 10814//12788 7973//12702 8089//12701 +f 11093//12787 10814//12788 8089//12701 +f 9125//12789 8561//12703 7973//12702 +f 10814//12788 9125//12789 7973//12702 +f 7249//12790 8161//12704 8561//12703 +f 9125//12789 7249//12790 8561//12703 +f 10697//12791 7478//12705 8161//12704 +f 7249//12790 10697//12791 8161//12704 +f 10697//12791 11334//12792 6987//12706 +f 7478//12705 10697//12791 6987//12706 +f 11334//12792 8140//12793 10628//12707 +f 6987//12706 11334//12792 10628//12707 +f 8140//12793 7179//12794 10037//12708 +f 10628//12707 8140//12793 10037//12708 +f 7179//12794 9508//12795 9532//12709 +f 10037//12708 7179//12794 9532//12709 +f 9508//12795 11125//12796 7766//12710 +f 9532//12709 9508//12795 7766//12710 +f 11125//12796 10874//12797 9213//12711 +f 7766//12710 11125//12796 9213//12711 +f 10874//12797 10229//12798 10230//12712 +f 9213//12711 10874//12797 10230//12712 +f 10229//12798 9792//12799 9908//12713 +f 10230//12712 10229//12798 9908//12713 +f 8364//12800 10839//12714 9908//12713 +f 9792//12799 8364//12800 9908//12713 +f 11013//12801 8872//12715 10839//12714 +f 8364//12800 11013//12801 10839//12714 +f 11013//12801 9997//12802 9996//12716 +f 8872//12715 11013//12801 9996//12716 +f 9997//12802 9894//12803 10010//12717 +f 9996//12716 9997//12802 10010//12717 +f 7462//12804 11376//12718 10010//12717 +f 9894//12803 7462//12804 10010//12717 +f 7462//12804 7090//12805 9660//12719 +f 11376//12718 7462//12804 9660//12719 +f 7090//12805 9319//12806 10254//12720 +f 9660//12719 7090//12805 10254//12720 +f 9319//12806 8662//12807 8769//12721 +f 10254//12720 9319//12806 8769//12721 +f 9283//12808 10484//12722 8769//12721 +f 8662//12807 9283//12808 8769//12721 +f 7313//12809 7817//12723 10484//12722 +f 9283//12808 7313//12809 10484//12722 +f 11345//12725 10973//12634 7817//12723 +f 7313//12809 11345//12725 7817//12723 +f 6421//4339 6420//4338 6293//4337 +f 34175//12810 34313//12811 34174//12812 +f 229//5689 4910//5688 5045//5552 +f 373//6536 7545//6533 7431//6639 +f 6907//12731 6906//12733 35186//12813 +f 6998//12814 7102//12815 7101//12734 +f 6997//12732 6998//12814 7101//12734 +f 7209//12816 7208//12735 7101//12734 +f 7102//12815 7209//12816 7101//12734 +f 7320//11046 7319//12736 7208//12735 +f 7209//12816 7320//11046 7208//12735 +f 6094//4529 6093//4379 8150//4378 +f 11997//4544 11996//5718 11912//5717 +f 4655//3072 11228//3076 6796//2872 +f 35405//4128 35595//12817 28993//4129 +f 7308//12818 7421//12819 7217//12820 +f 10354//12821 10339//12822 10232//12823 +f 9935//5390 10052//5392 10051//12824 +f 9934//12825 9935//5390 10051//12824 +f 8660//12408 10829//12300 8767//12742 +f 9243//10495 9244//12826 9355//12827 +f 16320//1396 16402//1399 821//1628 +f 10757//6830 1522//6624 7668//5031 +f 11203//2700 788//2507 578//2506 +f 2741//7261 2742//4699 2877//5530 +f 8752//12743 8859//12749 8751//11437 +f 8859//12749 8966//12828 8965//11507 +f 300//9070 405//8639 8992//9183 +f 3316//7233 5860//7235 5726//7237 +f 7838//12829 7837//11165 7722//12830 +f 8332//11025 7534//10938 8979//11897 +f 9828//12477 9829//12831 9944//10684 +f 8183//12832 8184//12833 8291//12834 +f 8652//12835 10354//12821 10232//12823 +f 7626//12753 9016//12836 9015//12837 +f 9490//12838 9606//12754 9605//12839 +f 9489//12840 9490//12838 9605//12839 +f 9043//12841 9151//12842 9150//10734 +f 8936//12755 9043//12841 9042//12843 +f 9753//12844 11227//10531 9662//6614 +f 10495//10530 10460//12664 11353//12845 +f 3984//2909 69//2908 180//7642 +f 22148//12846 22142//12847 21139//12848 +f 11388//12849 9665//12759 10572//12758 +f 11387//12850 11388//12849 10572//12758 +f 10296//12762 10416//12851 10295//12763 +f 10416//12851 10415//12852 10295//12763 +f 8445//11681 8446//12467 10371//11682 +f 11274//12415 11275//12414 8015//12691 +f 9554//3577 10013//3576 9438//11698 +f 10013//3576 9897//10603 9438//11698 +f 9829//12831 9945//10682 9944//10684 +f 35862//6848 35924//8645 35412//8644 +f 8282//12853 8281//12854 8173//12765 +f 13240//3741 6768//888 5336//4421 +f 8174//12764 8282//12853 8173//12765 +f 11278//6510 11279//5687 229//5689 +f 8922//12855 8923//12767 9029//10472 +f 10439//11388 10438//12856 10318//12857 +f 30192//12858 30325//12859 30191//12860 +f 27157//12861 27276//10758 27275//12640 +f 9662//6614 9548//3430 6633//6615 +f 11435//12862 11436//12863 11493//12864 +f 8706//11767 8813//11769 8812//12865 +f 35937//3639 35355//2950 35853//1339 +f 9472//12598 9473//12495 9588//12682 +f 676//6138 6002//1471 560//1470 +f 6862//12866 29543//4726 19680//12867 +f 10530//12601 10652//1270 10529//1272 +f 10290//12498 10410//12684 10409//12771 +f 10289//12868 10290//12498 10409//12771 +f 7375//12687 7374//12778 7263//12776 +f 7264//12775 7375//12687 7263//12776 +f 8816//12869 8815//12870 8708//12871 +f 8709//12872 8816//12869 8708//12871 +f 8495//12873 8602//12874 8601//12875 +f 8494//12579 8495//12873 8601//12875 +f 8281//12854 8388//12876 8387//12578 +f 8280//10440 8281//12854 8387//12578 +f 8173//12765 8281//12854 8280//10440 +f 8172//10439 8173//12765 8280//10440 +f 7376//12685 7375//12687 7264//12775 +f 5997//6829 11060//11036 5873//6831 +f 2239//5429 2371//5681 2370//5430 +f 7054//12877 7158//12779 7157//12774 +f 10371//11682 8446//12467 10737//12604 +f 9177//8986 11394//12878 11271//7836 +f 10653//12510 10652//1270 10530//12601 +f 35844//12441 35508//9825 35789//7055 +f 10291//12503 10411//12683 10410//12684 +f 10290//12498 10291//12503 10410//12684 +f 35721//4537 35655//9470 28191//12879 +f 21209//12880 22148//12846 21139//12848 +f 6392//5387 6396//5656 11154//12786 +f 27156//12881 27157//12861 27275//12640 +f 7473//12882 8119//12785 11154//12786 +f 11281//5812 7473//12882 11154//12786 +f 11218//12883 11093//12787 8119//12785 +f 7473//12882 11218//12883 8119//12785 +f 10257//12884 10814//12788 11093//12787 +f 11218//12883 10257//12884 11093//12787 +f 10142//12885 9125//12789 10814//12788 +f 10257//12884 10142//12885 10814//12788 +f 9170//12886 7249//12790 9125//12789 +f 10142//12885 9170//12886 9125//12789 +f 9170//12886 9410//12887 10697//12791 +f 7249//12790 9170//12886 10697//12791 +f 9410//12887 9678//12888 11334//12792 +f 10697//12791 9410//12887 11334//12792 +f 9678//12888 8146//12889 8140//12793 +f 11334//12792 9678//12888 8140//12793 +f 8146//12889 7076//12890 7179//12794 +f 8140//12793 8146//12889 7179//12794 +f 7076//12890 7995//12891 9508//12795 +f 7179//12794 7076//12890 9508//12795 +f 7995//12891 7307//12892 11125//12796 +f 9508//12795 7995//12891 11125//12796 +f 7307//12892 9777//12893 10874//12797 +f 11125//12796 7307//12892 10874//12797 +f 9777//12893 10228//12894 10229//12798 +f 10874//12797 9777//12893 10229//12798 +f 10228//12894 8898//12895 9792//12799 +f 10229//12798 10228//12894 9792//12799 +f 8898//12895 8365//12896 8364//12800 +f 9792//12799 8898//12895 8364//12800 +f 8365//12896 8566//12897 11013//12801 +f 8364//12800 8365//12896 11013//12801 +f 8566//12897 9881//12898 9997//12802 +f 11013//12801 8566//12897 9997//12802 +f 9881//12898 9778//12899 9894//12803 +f 9997//12802 9881//12898 9894//12803 +f 7579//12900 7462//12804 9894//12803 +f 9778//12899 7579//12900 9894//12803 +f 7195//12901 7090//12805 7462//12804 +f 7579//12900 7195//12901 7462//12804 +f 7195//12901 8455//12902 9319//12806 +f 7090//12805 7195//12901 9319//12806 +f 8455//12902 8555//12903 8662//12807 +f 9319//12806 8455//12902 8662//12807 +f 8555//12903 7645//12904 9283//12808 +f 8662//12807 8555//12903 9283//12808 +f 8244//12905 7313//12809 9283//12808 +f 7645//12904 8244//12905 9283//12808 +f 11223//814 8244//12905 9393//815 +f 13504//12906 13503//12907 12389//12908 +f 35450//4776 35926//902 35646//901 +f 13240//3741 13694//8959 217//4856 +f 2636//3267 9573//3317 4655//3072 +f 802//4363 921//4859 7506//9592 +f 6999//12909 7103//12910 7102//12815 +f 27040//658 27157//12861 27156//12881 +f 7210//12911 7209//12816 7102//12815 +f 7103//12910 7210//12911 7102//12815 +f 7321//11045 7320//11046 7209//12816 +f 7210//12911 7321//11045 7209//12816 +f 8204//12912 8205//7923 1753//7653 +f 27039//659 27040//658 27156//12881 +f 9605//12839 9606//12754 9721//12659 +f 9655//6108 2879//6920 8773//6263 +f 7625//11988 7626//12753 9015//12837 +f 9016//12836 10625//12913 10619//12914 +f 10062//10683 10180//12915 10061//10732 +f 10180//12915 10299//12916 10298//12917 +f 10909//11017 10910//12918 11035//12919 +f 7498//12920 7497//11069 7385//12921 +f 10165//10584 10164//10448 10046//6434 +f 11151//11734 11277//12270 11276//12922 +f 9069//12923 9178//10489 2786//12924 +f 8858//11470 8859//12749 8965//11507 +f 8966//12828 9073//12925 9072//11508 +f 8965//11507 8966//12828 9072//11508 +f 5689//10090 5688//10089 5690//1159 +f 14204//7160 14302//12926 14301//12382 +f 7618//12927 7733//12928 7617//12929 +f 10910//12918 11036//12930 11035//12919 +f 8184//12833 8292//10779 8291//12834 +f 10494//11129 10617//10529 10849//11556 +f 10232//12823 10339//12822 11257//12931 +f 10339//12822 11222//12932 11257//12931 +f 9154//12933 9263//10426 9153//12934 +f 9375//10452 9374//12935 9262//12936 +f 7886//11502 8899//12302 9230//10769 +f 9042//12843 9043//12841 9150//10734 +f 2084//3117 8559//11347 5200//2910 +f 11227//10531 10495//10530 11353//12845 +f 7057//12003 7056//12937 6957//12938 +f 4775//5694 11278//6510 11152//5695 +f 1884//7461 2001//6268 213//6267 +f 9665//12759 10276//12668 8760//12669 +f 8506//12939 8613//12940 8612//12941 +f 10416//12851 10536//12942 10535//12943 +f 9423//12220 8338//10604 9897//10603 +f 9588//12682 9704//12944 9703//11918 +f 7567//12945 8988//12946 7565//12947 +f 10013//3576 9423//12220 9897//10603 +f 10588//12948 11269//12949 10754//12950 +f 9011//11989 9015//12837 10616//12951 +f 11191//12952 9226//12953 8015//12691 +f 7650//12954 10588//12948 10754//12950 +f 10319//11387 10439//11388 10318//12857 +f 7176//10853 10031//10855 9785//12955 +f 9580//12956 9581//12957 9696//10861 +f 9439//10902 11069//10968 10863//11148 +f 8277//11132 8384//11145 8383//12958 +f 7943//11859 7944//10809 8058//12959 +f 8773//6263 7934//10987 4499//6264 +f 10613//10901 10474//10967 9439//10902 +f 5311//5868 10566//9429 5312//4409 +f 10860//12960 9419//12961 7580//10640 +f 8057//11860 8058//12959 8168//12962 +f 8874//12067 10705//12066 8981//12963 +f 10899//12964 11025//12965 11024//12966 +f 163//7029 6671//7268 6001//7157 +f 6954//12967 7053//12772 7052//12026 +f 10014//11503 8133//11505 7217//12820 +f 7487//12777 7486//12582 7374//12778 +f 6953//12025 6954//12967 7052//12026 +f 8709//12872 8708//12871 8601//12875 +f 8602//12874 8709//12872 8601//12875 +f 8817//12968 8816//12869 8709//12872 +f 8710//12969 8817//12968 8709//12872 +f 9139//1813 9138//12766 9030//12677 +f 8924//12970 8923//12767 8816//12869 +f 9360//12971 9359//12494 9247//12588 +f 9031//12972 9139//1813 9030//12677 +f 7153//12745 7154//12973 7260//10418 +f 9248//1812 9360//12971 9247//12588 +f 7053//12772 7054//12877 7157//12774 +f 9591//12974 9590//12492 9474//12491 +f 17104//12975 20318//12976 4785//12977 +f 7158//12779 7265//12978 7264//12775 +f 6955//12979 7054//12877 7053//12772 +f 6954//12967 6955//12979 7053//12772 +f 7265//12978 7376//12685 7264//12775 +f 7488//12686 7487//12777 7375//12687 +f 28991//12980 35796//12655 35420//12654 +f 7488//12686 7602//12487 7487//12777 +f 6396//5656 11281//5812 11154//12786 +f 35920//6317 35799//10312 11315//8996 +f 8779//12981 7473//12882 11281//5812 +f 9770//5811 8779//12981 11281//5812 +f 11092//12982 11218//12883 7473//12882 +f 8779//12981 11092//12982 7473//12882 +f 8690//12983 10257//12884 11218//12883 +f 11092//12982 8690//12983 11218//12883 +f 10025//12984 10142//12885 10257//12884 +f 8690//12983 10025//12984 10257//12884 +f 7253//12985 9170//12886 10142//12885 +f 10025//12984 7253//12985 10142//12885 +f 7253//12985 7644//12986 9410//12887 +f 9170//12886 7253//12985 9410//12887 +f 7644//12986 8249//12987 9678//12888 +f 9410//12887 7644//12986 9678//12888 +f 8249//12987 11142//12988 8146//12889 +f 9678//12888 8249//12987 8146//12889 +f 11142//12988 11086//12989 7076//12890 +f 8146//12889 11142//12988 7076//12890 +f 11086//12989 7993//12990 7995//12891 +f 7076//12890 11086//12989 7995//12891 +f 7993//12990 442//12991 7307//12892 +f 7995//12891 7993//12990 7307//12892 +f 442//12991 10039//12992 9777//12893 +f 7307//12892 442//12991 9777//12893 +f 10039//12992 10347//12993 10228//12894 +f 9777//12893 10039//12992 10228//12894 +f 10347//12993 9005//12994 8898//12895 +f 10228//12894 10347//12993 8898//12895 +f 9005//12994 8366//12995 8365//12896 +f 8898//12895 9005//12994 8365//12896 +f 8366//12995 7437//12996 8566//12897 +f 8365//12896 8366//12995 8566//12897 +f 7437//12996 9882//12997 9881//12898 +f 8566//12897 7437//12996 9881//12898 +f 9882//12997 11316//12998 9778//12899 +f 9881//12898 9882//12997 9778//12899 +f 7350//12999 7579//12900 9778//12899 +f 11316//12998 7350//12999 9778//12899 +f 7194//13000 7195//12901 7579//12900 +f 7350//12999 7194//13000 7579//12900 +f 7145//13001 8455//12902 7195//12901 +f 7194//13000 7145//13001 7195//12901 +f 7145//13001 8448//13002 8555//12903 +f 8455//12902 7145//13001 8555//12903 +f 8448//13002 8113//13003 7645//12904 +f 8555//12903 8448//13002 7645//12904 +f 9393//815 8244//12905 7645//12904 +f 8113//13003 9393//815 7645//12904 +f 6958//3134 901//7821 11129//7728 +f 15770//1173 11224//816 15359//1674 +f 2127//8375 133//12075 299//13004 +f 2117//5295 1992//8012 1993//5296 +f 2341//7049 6120//744 2340//4711 +f 7823//10687 7822//13005 7708//10685 +f 7000//13006 7104//13007 7103//12910 +f 6999//12909 7000//13006 7103//12910 +f 7211//13008 7210//12911 7103//12910 +f 7104//13007 7211//13008 7103//12910 +f 7322//11135 7321//11045 7210//12911 +f 7211//13008 7322//11135 7210//12911 +f 4100//3256 10273//10998 9228//11037 +f 21328//13009 27725//13010 26499//13011 +f 9722//12660 9837//12756 9836//12661 +f 12132//2555 12050//2554 13603//6004 +f 9015//12837 9016//12836 10619//12914 +f 9375//10452 9490//12838 9374//12935 +f 10736//11168 9448//10689 9553//10688 +f 10625//12913 10354//12821 8652//12835 +f 7386//13012 7498//12920 7385//12921 +f 8190//13013 8189//13014 8078//13015 +f 11069//10968 8030//7651 10760//7650 +f 7356//11124 10615//11123 9415//11227 +f 9073//12925 9181//13016 9180//11557 +f 6877//4774 18937//8480 30610//13017 +f 9072//11508 9073//12925 9180//11557 +f 9181//13016 9290//13018 9289//13019 +f 8588//2885 8695//10465 8694//13020 +f 9180//11557 9181//13016 9289//13019 +f 5864//13021 14241//13022 22142//12847 +f 8587//2886 8588//2885 8694//13020 +f 7392//13023 7504//13024 7391//13025 +f 7848//13026 7847//13027 7732//13028 +f 15326//13029 15327//833 5567//1633 +f 4768//3474 4769//6385 4903//3280 +f 11991//13030 12072//13031 12071//13032 +f 12584//5874 12585//13033 12674//13034 +f 9045//13035 9046//13036 9153//12934 +f 9263//10426 9262//12936 9153//12934 +f 7421//12819 7328//13037 7217//12820 +f 10685//11699 10491//10605 9079//12689 +f 8493//12580 8600//12305 8599//10450 +f 8492//10449 8493//12580 8599//10450 +f 430//6106 429//4972 320//6104 +f 8405//13038 8512//13039 8404//13040 +f 10593//13041 10527//13042 8982//13043 +f 913//6165 14537//11583 793//8759 +f 10051//12824 10052//5392 10169//11921 +f 8512//13039 8511//11065 8404//13040 +f 10316//13044 10436//13045 10315//11466 +f 10170//11920 10289//12868 10288//13046 +f 9318//13047 8768//13048 8670//13049 +f 10556//13050 10555//11355 10435//11424 +f 8823//12068 8930//12070 8929//13051 +f 1622//739 7570//12752 15363//731 +f 35606//6316 35754//11079 35920//6317 +f 7835//12012 7951//10607 7834//10609 +f 9318//13047 8670//13049 9097//7353 +f 8768//13048 8875//10892 8670//13049 +f 11269//12949 7216//11867 10754//12950 +f 9196//11149 9088//13052 9986//13053 +f 7335//12413 7225//13054 399//9089 +f 7216//11867 9986//13053 10754//12950 +f 10954//12121 6959//10812 8338//10604 +f 9069//12923 2650//4663 2516//4662 +f 10409//12771 10408//12740 10288//13046 +f 10289//12868 10409//12771 10288//13046 +f 7379//12006 7491//12008 7490//13055 +f 7056//12937 7057//12003 7160//13056 +f 5864//13021 21207//13057 14241//13022 +f 7655//12690 11191//12952 8015//12691 +f 33930//3509 21502//186 33686//13058 +f 8389//13059 8388//12876 8281//12854 +f 7053//12772 7157//12774 7156//12773 +f 8815//12870 8816//12869 8922//12855 +f 8388//12876 8495//12873 8494//12579 +f 8387//12578 8388//12876 8494//12579 +f 8817//12968 8924//12970 8816//12869 +f 9031//12972 9030//12677 8923//12767 +f 8873//12681 8766//12390 9870//10990 +f 7600//12480 7715//13060 7714//12215 +f 7909//12311 7686//11896 7176//10853 +f 8873//12681 7907//12389 8766//12390 +f 7234//5246 408//8270 7233//9890 +f 7686//11896 9078//12484 7687//10854 +f 10778//13061 10777//12511 10653//12510 +f 10654//13062 10778//13061 10653//12510 +f 10654//13062 10653//12510 10531//12600 +f 10532//13063 10654//13062 10531//12600 +f 10173//13064 10292//13065 10291//12503 +f 10172//12497 10173//13064 10291//12503 +f 10291//12503 10292//13065 10411//12683 +f 10292//13065 10412//13066 10411//12683 +f 10412//13066 10532//13063 10411//12683 +f 10532//13063 10531//12600 10411//12683 +f 9461//11084 9576//5683 2877//5530 +f 13840//13067 13839//13068 13741//13069 +f 8451//11594 10275//13070 8779//12981 +f 9770//5811 8451//11594 8779//12981 +f 11344//13071 11092//12982 8779//12981 +f 10275//13070 11344//13071 8779//12981 +f 7456//13072 8690//12983 11092//12982 +f 11344//13071 7456//13072 11092//12982 +f 8000//13073 10025//12984 8690//12983 +f 7456//13072 8000//13073 8690//12983 +f 8475//13074 7253//12985 10025//12984 +f 8000//13073 8475//13074 10025//12984 +f 8475//13074 9218//13075 7644//12986 +f 7253//12985 8475//13074 7644//12986 +f 9218//13075 7332//13076 8249//12987 +f 7644//12986 9218//13075 8249//12987 +f 7332//13076 7395//13077 11142//12988 +f 8249//12987 7332//13076 11142//12988 +f 7395//13077 10959//13078 11086//12989 +f 11142//12988 7395//13077 11086//12989 +f 10959//13078 7394//13079 7993//12990 +f 11086//12989 10959//13078 7993//12990 +f 7394//13079 9749//13080 442//12991 +f 7993//12990 7394//13079 442//12991 +f 9749//13080 8654//13081 10039//12992 +f 442//12991 9749//13080 10039//12992 +f 8654//13081 10346//13082 10347//12993 +f 10039//12992 8654//13081 10347//12993 +f 10346//13082 10879//13083 9005//12994 +f 10347//12993 10346//13082 9005//12994 +f 10879//13083 8546//13084 8366//12995 +f 9005//12994 10879//13083 8366//12995 +f 8546//13084 8686//13085 7437//12996 +f 8366//12995 8546//13084 7437//12996 +f 8686//13085 7662//13086 9882//12997 +f 7437//12996 8686//13085 9882//12997 +f 7662//13086 9223//13087 11316//12998 +f 9882//12997 7662//13086 11316//12998 +f 11347//13088 7350//12999 11316//12998 +f 9223//13087 11347//13088 11316//12998 +f 10353//13089 7194//13000 7350//12999 +f 11347//13088 10353//13089 7350//12999 +f 10353//13089 11240//13090 7145//13001 +f 7194//13000 10353//13089 7145//13001 +f 11240//13090 8341//13091 8448//13002 +f 7145//13001 11240//13090 8448//13002 +f 8341//13091 11325//13092 8113//13003 +f 8448//13002 8341//13091 8113//13003 +f 7435//13093 9393//815 8113//13003 +f 11325//13092 7435//13093 8113//13003 +f 11224//816 15911//13094 15359//1674 +f 7435//13093 11224//816 9393//815 +f 18933//13095 18179//5998 18399//13096 +f 13847//13097 13846//13098 13748//12747 +f 9326//13099 11194//13100 11725//2226 +f 5611//3209 6649//1397 17123//3006 +f 7001//13101 7105//7052 7104//13007 +f 6999//12909 7102//12815 6998//12814 +f 7212//13102 7211//13008 7104//13007 +f 7105//7052 7212//13102 7104//13007 +f 7323//13103 7322//11135 7211//13008 +f 7212//13102 7323//13103 7211//13008 +f 10384//5993 6872//13104 16075//12234 +f 6410//8116 35946//6700 35535//6699 +f 8935//12278 8936//12755 9042//12843 +f 11003//13105 11356//12481 10581//13106 +f 9263//10426 9375//10452 9262//12936 +f 9490//12838 9489//12840 9374//12935 +f 10619//12914 10625//12913 8652//12835 +f 15774//13107 12288//13108 12283//13109 +f 7964//13110 8079//13111 7963//13112 +f 7328//13037 10014//11503 7217//12820 +f 10239//11226 7197//7758 8259//13113 +f 5989//7448 6120//744 2341//7049 +f 10480//11284 7701//13114 9300//11285 +f 409//5245 410//9965 523//9889 +f 13883//7246 11882//6635 5419//2915 +f 8562//8863 13414//5560 9686//8864 +f 11739//7914 11738//4997 11658//8477 +f 12501//7010 12500//6386 12411//6724 +f 13388//2229 9326//13099 11725//2226 +f 12129//4095 12212//5823 30//4092 +f 8256//11215 10480//11284 10222//11216 +f 7701//13114 10751//11960 10744//13115 +f 28197//3252 28196//3254 28079//5425 +f 7618//12927 7617//12929 7503//13116 +f 2812//10747 27168//10746 29081//12769 +f 6940//10613 117//12039 6975//13117 +f 11821//11686 11907//13118 11906//13119 +f 11990//13120 11991//13030 12071//13032 +f 8939//13121 9046//13036 9045//13035 +f 8938//13122 8939//13121 9045//13035 +f 9150//10734 9151//12842 9259//13123 +f 9151//12842 9260//13124 9259//13123 +f 8278//11131 8279//10441 8385//11146 +f 8386//12297 8493//12580 8492//10449 +f 7605//12014 7604//13125 7490//13055 +f 4131//4988 15176//7748 4656//7848 +f 9084//6497 10962//5663 9226//12953 +f 7161//12002 7268//12004 7267//13126 +f 7216//11867 9196//11149 9986//13053 +f 10863//11148 11114//13127 9088//13052 +f 9196//11149 10863//11148 9088//13052 +f 10760//7650 9783//8963 11114//13127 +f 8768//13048 8987//5301 8875//10892 +f 10904//13128 11030//11587 10903//13129 +f 22260//13130 21688//13131 22356//13132 +f 7719//13133 7720//12015 7834//10609 +f 9768//13134 8037//11680 7359//13135 +f 10730//13136 9768//13134 7359//13135 +f 9768//13134 10730//13136 10582//13137 +f 10705//12066 9768//13134 10582//13137 +f 4499//6264 2001//6268 4109//6265 +f 8773//6263 8880//7265 7934//10987 +f 7486//12582 7600//12480 7599//12399 +f 35415//3015 35655//9470 35839//9018 +f 7715//13060 7830//13138 7829//12216 +f 11191//12952 9084//6497 9226//12953 +f 10409//12771 10529//1272 10408//12740 +f 35454//13139 35935//5016 35648//13140 +f 14925//13141 15291//13142 11644//13143 +f 7909//12311 7176//10853 9671//13144 +f 5983//5728 5851//8271 5852//5726 +f 9423//12220 10954//12121 8338//10604 +f 8282//12853 8389//13059 8281//12854 +f 7178//3186 11350//12207 11312//3184 +f 8816//12869 8923//12767 8922//12855 +f 8496//13145 8495//12873 8388//12876 +f 8062//12676 8173//12765 8172//10439 +f 8061//10538 8062//12676 8172//10439 +f 8924//12970 9031//12972 8923//12767 +f 9248//1812 9247//12588 9138//12766 +f 7699//12502 9663//11894 10843//11961 +f 8248//12387 6962//10443 8141//10444 +f 7427//12117 11205//12114 11356//12481 +f 11205//12114 9871//12115 7421//12819 +f 7440//12111 10251//12110 7328//13037 +f 11079//12482 11205//12114 7421//12819 +f 9102//12109 10249//11022 8994//11504 +f 9102//12109 8994//11504 10014//11503 +f 9008//12562 7761//13146 11242//13147 +f 7691//11021 11242//13147 10596//13148 +f 7584//12453 10735//13149 7761//13146 +f 7691//11021 9008//12562 11242//13147 +f 26698//13150 26810//13151 26809//13152 +f 9008//12562 7584//12453 7761//13146 +f 10899//12964 10898//13153 4373//5297 +f 25266//13154 35522//9148 25267//9655 +f 1175//12205 9543//13155 3849//9827 +f 22148//12846 5864//13021 22142//12847 +f 10447//13156 10275//13070 8451//11594 +f 10810//13157 10447//13156 8451//11594 +f 11323//13158 11344//13071 10275//13070 +f 10447//13156 11323//13158 10275//13070 +f 8693//13159 7456//13072 11344//13071 +f 11323//13158 8693//13159 11344//13071 +f 7311//13160 8000//13073 7456//13072 +f 8693//13159 7311//13160 7456//13072 +f 8261//13161 8475//13074 8000//13073 +f 7311//13160 8261//13161 8000//13073 +f 8261//13161 10732//13162 9218//13075 +f 8475//13074 8261//13161 9218//13075 +f 10732//13162 6960//13163 7332//13076 +f 9218//13075 10732//13162 7332//13076 +f 6960//13163 10157//13164 7395//13077 +f 7332//13076 6960//13163 7395//13077 +f 10157//13164 11212//13165 10959//13078 +f 7395//13077 10157//13164 10959//13078 +f 11212//13165 9441//13166 7394//13079 +f 10959//13078 11212//13165 7394//13079 +f 9441//13166 9748//13167 9749//13080 +f 7394//13079 9441//13166 9749//13080 +f 9748//13167 8865//13168 8654//13081 +f 9749//13080 9748//13167 8654//13081 +f 8865//13168 10465//13169 10346//13082 +f 8654//13081 8865//13168 10346//13082 +f 10465//13169 10878//13170 10879//13083 +f 10346//13082 10465//13169 10879//13083 +f 10878//13170 8756//13171 8546//13084 +f 10879//13083 10878//13170 8546//13084 +f 8756//13171 8789//13172 8686//13085 +f 8546//13084 8756//13171 8686//13085 +f 8789//13172 7778//13173 7662//13086 +f 8686//13085 8789//13172 7662//13086 +f 7778//13173 9523//13174 9223//13087 +f 7662//13086 7778//13173 9223//13087 +f 7089//13175 11347//13088 9223//13087 +f 9523//13174 7089//13175 9223//13087 +f 10253//13176 10353//13089 11347//13088 +f 7089//13175 10253//13176 11347//13088 +f 10253//13176 10951//13177 11240//13090 +f 10353//13089 10253//13176 11240//13090 +f 13205//13178 11791//6707 10951//13177 +f 11240//13090 10951//13177 8341//13091 +f 8234//13179 10951//13177 11791//6707 +f 8341//13091 8234//13179 11325//13092 +f 7434//13180 7435//13093 11325//13092 +f 7548//6706 7434//13180 11325//13092 +f 7548//6706 8484//13181 7434//13180 +f 35519//8504 35939//1140 35888//3122 +f 1869//6923 8313//7924 1870//8008 +f 12033//13182 13110//10558 10377//10559 +f 9663//11894 11002//11678 7144//11962 +f 35916//2762 35727//13183 35877//4443 +f 30927//13184 30926//13185 30872//13186 +f 30873//13187 30927//13184 30872//13186 +f 7213//13188 7212//13102 7105//7052 +f 7106//7051 7213//13188 7105//7052 +f 7324//13189 7323//13103 7212//13102 +f 7213//13188 7324//13189 7212//13102 +f 35762//9579 14563//6847 35714//6849 +f 7324//13189 7436//13190 7323//13103 +f 21207//13057 21206//13191 14241//13022 +f 7436//13190 7550//6950 377//6850 +f 7280//13192 7391//13025 7279//13193 +f 1250//4243 7936//3862 1251//3861 +f 12856//8258 12949//13194 12855//13195 +f 7503//13116 7502//13196 7390//13197 +f 9868//13198 10974//13199 9776//13200 +f 12681//7537 12682//8466 12770//13201 +f 7506//9592 7505//10829 801//5438 +f 35427//13202 29821//13203 28076//13204 +f 8040//13205 7810//13206 10627//10594 +f 9449//3815 11270//7837 2491//3813 +f 3856//8111 15357//6431 1486//5948 +f 10751//11960 7398//11434 10744//13115 +f 29652//1664 29653//1817 29785//1819 +f 3307//9741 1141//8369 548//8368 +f 32242//13207 32344//13208 32241//13209 +f 12774//8264 12866//8358 12865//8265 +f 9389//13210 9388//11309 9276//9438 +f 7701//13114 10744//13115 9300//11285 +f 29786//1818 29915//13211 29914//13212 +f 9277//9439 9389//13210 9276//9438 +f 11820//13213 11821//11686 11906//13119 +f 7038//2723 314//3307 313//2724 +f 8832//13214 8939//13121 8938//13122 +f 10097//12288 5042//13215 10106//13216 +f 9260//13124 9372//13217 9371//11238 +f 9046//13036 9154//12933 9153//12934 +f 10513//13218 10774//13219 10502//9811 +f 9259//13123 9260//13124 9371//11238 +f 10774//13219 9753//12844 8478//6613 +f 11227//10531 11353//12845 9662//6614 +f 7576//12130 9421//13220 8120//13221 +f 11527//3163 11595//3162 11526//5971 +f 7421//12819 7308//12818 10953//13222 +f 9586//13223 9587//12599 9702//13224 +f 10779//13225 10778//13061 10654//13062 +f 5474//8867 3608//12077 348//8866 +f 7491//12008 7605//12014 7490//13055 +f 7268//12004 7379//12006 7267//13126 +f 10863//11148 10760//7650 11114//13127 +f 35924//8645 35525//4383 35745//5317 +f 35830//2156 35633//729 35629//9589 +f 17714//1168 364//1167 478//5319 +f 8037//11680 10588//12948 7650//12954 +f 7359//13135 8037//11680 7650//12954 +f 21207//13057 15470//13226 15469//13227 +f 8494//12579 8601//12875 8600//12305 +f 5311//5868 10446//10525 10566//9429 +f 10491//10605 10371//11682 9079//12689 +f 10415//12852 10416//12851 10535//12943 +f 10536//12942 10658//13228 10657//13229 +f 8899//12302 10685//11699 9079//12689 +f 10535//12943 10536//12942 10657//13229 +f 11277//12270 11278//6510 8884//13230 +f 421//4504 7246//4506 311//9517 +f 7809//7917 938//1019 6962//10443 +f 229//5689 11188//13231 11189//9430 +f 7646//12218 7539//10813 6959//10812 +f 534//4505 419//3848 7246//4506 +f 35477//8506 35871//11286 35409//190 +f 10954//12121 7646//12218 6959//10812 +f 8389//13059 8496//13145 8388//12876 +f 8708//12871 8707//11768 8600//12305 +f 7946//13232 7947//12674 8061//10538 +f 8603//13233 8602//12874 8495//12873 +f 9139//1813 9248//1812 9138//12766 +f 9475//13234 9474//12491 9359//12494 +f 117//12039 6940//10613 7038//2723 +f 9066//12407 7547//12299 10829//12300 +f 9871//12115 7440//12111 7328//13037 +f 7421//12819 9871//12115 7328//13037 +f 8560//10522 8112//13235 7464//6822 +f 11074//13236 11075//12206 10479//6823 +f 9306//7840 10570//13237 10816//7841 +f 7233//9890 407//9816 7232//13238 +f 35661//6560 35590//189 35861//10969 +f 7363//13239 10443//12211 7061//12210 +f 7363//13239 7061//12210 11283//4016 +f 11284//13240 7363//13239 11283//4016 +f 10905//13241 11031//13242 10904//13128 +f 11158//13243 11157//4490 11030//11587 +f 11284//13240 11283//4016 11157//4490 +f 11031//13242 11158//13243 11030//11587 +f 220//3928 13240//3741 217//4856 +f 11158//13243 11284//13240 11157//4490 +f 9305//7762 10447//13156 10810//13157 +f 20830//2198 20910//2200 20909//13244 +f 11330//13245 11323//13158 10447//13156 +f 9305//7762 11330//13245 10447//13156 +f 6891//13246 8693//13159 11323//13158 +f 11330//13245 6891//13246 11323//13158 +f 8239//13247 7311//13160 8693//13159 +f 6891//13246 8239//13247 8693//13159 +f 8669//13248 8261//13161 7311//13160 +f 8239//13247 8669//13248 7311//13160 +f 7142//13249 10732//13162 8261//13161 +f 8669//13248 7142//13249 8261//13161 +f 7142//13249 10868//13250 6960//13163 +f 10732//13162 7142//13249 6960//13163 +f 10868//13250 8266//13251 10157//13164 +f 6960//13163 10868//13250 10157//13164 +f 8266//13251 10834//13252 11212//13165 +f 10157//13164 8266//13251 11212//13165 +f 10834//13252 9559//13253 9441//13166 +f 11212//13165 10834//13252 9441//13166 +f 9559//13253 8367//13254 9748//13167 +f 9441//13166 9559//13253 9748//13167 +f 8367//13254 10866//13255 8865//13168 +f 9748//13167 8367//13254 8865//13168 +f 10866//13255 10586//13256 10465//13169 +f 8865//13168 10866//13255 10465//13169 +f 10586//13256 10876//13257 10878//13170 +f 10465//13169 10586//13256 10878//13170 +f 10876//13257 8458//1576 8756//13171 +f 10878//13170 10876//13257 8756//13171 +f 8458//1576 8682//13258 8789//13172 +f 8756//13171 8458//1576 8789//13172 +f 8682//13258 7779//13259 7778//13173 +f 8789//13172 8682//13258 7778//13173 +f 7779//13259 10011//13260 9523//13174 +f 7778//13173 7779//13259 9523//13174 +f 10011//13260 11355//13261 7089//13175 +f 9523//13174 10011//13260 7089//13175 +f 7683//13262 10253//13176 7089//13175 +f 11059//13263 11355//13261 11708//13264 +f 11167//13265 11293//13266 11166//13267 +f 7683//13262 11355//13261 11059//13263 +f 8659//10903 9439//10902 9196//11149 +f 10033//11887 10469//10430 10470//10429 +f 10298//12917 10297//13268 10178//13269 +f 11069//10968 10760//7650 10863//11148 +f 6512//3705 8562//8863 8201//8865 +f 35934//3618 35357//8943 35645//2707 +f 14163//11954 13620//5989 12572//2380 +f 14255//13270 8224//972 15199//843 +f 7242//13271 417//7454 416//4011 +f 10677//11357 10678//13272 10801//11358 +f 10897//13273 4372//9188 10898//13153 +f 12374//5860 1382//6145 12642//5861 +f 14857//13274 614//13275 14802//13276 +f 9910//13277 278//13278 1892//6035 +f 35350//9808 35889//3245 35658//6308 +f 4138//818 2796//956 2525//819 +f 778//6922 898//6921 897//4398 +f 7001//13101 17370//7053 7105//7052 +f 15972//1052 3182//7740 81//1050 +f 9573//3317 2636//3267 8656//11044 +f 4100//3256 1168//3257 10156//10997 +f 35909//13279 35363//2261 35524//9019 +f 1452//1502 4676//3954 1567//66 +f 6545//4007 7255//12038 10977//11232 +f 7391//13025 7503//13116 7390//13197 +f 8082//13280 8193//13281 8081//10943 +f 22624//13282 22623//13283 22524//11868 +f 7617//12929 7616//13284 7502//13196 +f 399//9089 7449//13285 513//9090 +f 11748//12271 11747//3713 11667//3347 +f 26000//13286 18511//13287 23892//13288 +f 11111//4259 9214//12095 8008//13289 +f 9485//11240 9601//13290 9484//13291 +f 29243//13292 29242//13293 29105//13294 +f 8775//4108 11111//4259 8008//13289 +f 13410//13295 11080//13296 4797//13297 +f 8025//4261 10103//12166 9214//12095 +f 8934//12279 9041//10736 8933//11775 +f 10830//12183 10840//13298 9297//10469 +f 11173//10979 11172//11296 11045//13299 +f 9348//12092 9349//12091 9463//13300 +f 9137//12678 9246//11160 9245//11159 +f 9973//8108 9972//13301 9856//8109 +f 9136//13302 9137//12678 9245//11159 +f 9504//13303 9503//11311 9388//11309 +f 9855//8700 9856//8109 9972//13301 +f 11019//11707 11018//11706 10892//10705 +f 9389//13210 9504//13303 9388//11309 +f 3335//6506 10097//12288 10106//13216 +f 14201//6621 14200//13304 14104//13305 +f 8725//13306 8832//13214 8831//13307 +f 12155//12028 12238//13308 12154//3750 +f 9487//13309 9486//11239 9371//11238 +f 8831//13307 8832//13214 8938//13122 +f 8959//13310 10513//13218 8953//10877 +f 9372//13217 9487//13309 9371//11238 +f 8774//13311 8881//11024 9982//11023 +f 9753//12844 9662//6614 8478//6613 +f 8440//13312 9537//11900 8350//11901 +f 9409//13313 8774//13311 9982//11023 +f 9421//13220 9409//13313 9982//11023 +f 8120//13221 9421//13220 9982//11023 +f 9565//13314 11245//13315 8777//10479 +f 10748//13316 9756//13317 8870//13318 +f 11245//13315 8870//13318 8777//10479 +f 27406//5668 21657//12356 27142//13319 +f 9587//12599 9588//12682 9703//11918 +f 9704//12944 9819//11916 9703//11918 +f 8921//10474 9028//10473 8920//13320 +f 9028//10473 9136//13302 9135//10494 +f 9357//11161 9356//12602 9244//12826 +f 9245//11159 9357//11161 9244//12826 +f 9357//11161 9472//12598 9471//12597 +f 7144//11962 11002//11678 9768//13134 +f 8884//13230 229//5689 11189//9430 +f 788//2507 9896//2701 9333//1421 +f 7741//13321 7357//13322 9189//13323 +f 9189//13323 9188//13324 11387//12850 +f 11286//13325 11287//13326 7741//13321 +f 9188//13324 11388//12849 11387//12850 +f 10658//13228 10782//13327 10781//13328 +f 7357//13322 9188//13324 9189//13323 +f 10657//13229 10658//13228 10781//13328 +f 11030//11587 11029//11588 10903//13129 +f 10907//13329 10906//13330 10781//13328 +f 10782//13327 10907//13329 10781//13328 +f 9210//13331 9206//12214 10132//12212 +f 9210//13331 7511//6862 9206//12214 +f 8373//12119 11003//13105 7539//10813 +f 10352//13332 9210//13331 10132//12212 +f 6962//10443 938//1019 7813//8846 +f 7646//12218 8373//12119 7539//10813 +f 8496//13145 8603//13233 8495//12873 +f 8493//12580 8494//12579 8600//12305 +f 9360//12971 9475//13234 9359//12494 +f 8603//13233 8710//12969 8709//12872 +f 35687//7556 35587//13333 35851//13334 +f 10778//13061 10903//13129 10777//12511 +f 10251//12110 10014//11503 7328//13037 +f 10251//12110 9102//12109 10014//11503 +f 10962//5663 5308//3664 5174//3479 +f 8112//13235 10479//6823 7464//6822 +f 8760//12669 9191//12572 9083//13335 +f 8085//13336 8760//12669 9083//13335 +f 8016//12201 9192//13337 10508//13338 +f 9191//12572 10824//12384 10949//13339 +f 8016//12201 9334//12101 9192//13337 +f 9515//12293 8016//12201 10508//13338 +f 9317//13340 9334//12101 7536//11032 +f 9334//12101 7541//11322 7536//11032 +f 5852//5726 11312//3184 10964//5727 +f 9540//6230 1372//6229 664//6493 +f 9916//7761 9540//6230 4103//6495 +f 21206//13191 21207//13057 15469//13227 +f 27371//13341 27372//13342 20830//2198 +f 20909//13244 27489//13343 27371//13341 +f 9916//7761 10691//13344 11330//13245 +f 9305//7762 9916//7761 11330//13245 +f 9106//13345 6891//13246 11330//13245 +f 10691//13344 9106//13345 11330//13245 +f 9632//13346 8239//13247 6891//13246 +f 9106//13345 9632//13346 6891//13246 +f 10153//13347 8669//13248 8239//13247 +f 9632//13346 10153//13347 8239//13247 +f 10153//13347 10712//13348 7142//13249 +f 8669//13248 10153//13347 7142//13249 +f 10712//13348 10743//13349 10868//13250 +f 7142//13249 10712//13348 10868//13250 +f 8372//13350 8266//13251 10868//13250 +f 10743//13349 8372//13350 10868//13250 +f 8372//13350 11338//13351 10834//13252 +f 8266//13251 8372//13350 10834//13252 +f 11338//13351 9443//13352 9559//13253 +f 10834//13252 11338//13351 9559//13253 +f 9443//13352 8371//13353 8367//13254 +f 9559//13253 9443//13352 8367//13254 +f 8371//13353 10375//13354 10866//13255 +f 8367//13254 8371//13353 10866//13255 +f 10375//13354 7110//212 10586//13256 +f 10866//13255 10375//13354 10586//13256 +f 7110//212 9575//1577 10876//13257 +f 10586//13256 7110//212 10876//13257 +f 9575//1577 14657//211 14566//13355 +f 10876//13257 9575//1577 8458//1576 +f 10618//1575 10568//13356 8682//13258 +f 8458//1576 10618//1575 8682//13258 +f 10568//13356 9883//13357 7779//13259 +f 8682//13258 10568//13356 7779//13259 +f 9883//13357 10374//13358 10011//13260 +f 7779//13259 9883//13357 10011//13260 +f 9117//12301 9438//11698 10685//11699 +f 35523//5465 35935//5016 35454//13139 +f 11238//13359 9081//10412 11370//10411 +f 11112//13360 11238//13359 11370//10411 +f 11293//13266 11292//10610 11166//13267 +f 9154//12933 9155//13361 9263//10426 +f 10031//10855 10886//13362 9901//2836 +f 9839//11551 9955//11206 9838//13363 +f 10298//12917 10418//13364 10297//13268 +f 9756//13317 7795//11166 7555//13365 +f 35616//8945 35466//8944 35659//9805 +f 10920//11637 10919//11776 10794//13366 +f 35569//3517 35511//8629 35927//6114 +f 13391//13367 35747//13368 35639//13369 +f 8055//10749 8166//10776 8054//13370 +f 10408//12740 10407//13371 10287//13372 +f 373//6536 264//6638 374//6534 +f 15785//5590 15924//5592 15923//5591 +f 12138//8472 12118//8591 11635//12017 +f 164//12315 269//7177 7324//13189 +f 3608//12077 5474//8867 16960//8491 +f 51//1061 246//1060 16054//1203 +f 16467//1056 16468//1055 51//1061 +f 4793//3966 11570//13373 1383//13374 +f 7322//11135 7323//13103 266//6846 +f 10932//8952 11058//11440 11057//11368 +f 10942//11697 9200//10431 7895//11607 +f 11073//13375 11200//11464 9687//13376 +f 7894//12180 8776//10659 10701//11518 +f 8141//10444 7813//8846 8030//7651 +f 10573//11127 10334//11465 10333//13377 +f 7967//13378 8082//13280 7966//10946 +f 10819//13379 10573//11127 10333//13377 +f 7503//13116 7617//12929 7502//13196 +f 8193//13281 8192//11061 8081//10943 +f 10950//11012 8343//7041 7777//8352 +f 7732//13028 7731//13380 7616//13284 +f 16166//2718 16164//13381 16021//7 +f 9760//13382 10124//13383 128//13384 +f 9620//13385 9619//11306 9503//11311 +f 8655//11985 8442//4106 8008//13289 +f 10090//11389 10208//10923 10089//13386 +f 9504//13303 9620//13385 9503//11311 +f 8785//12563 10707//12657 10595//13387 +f 12319//1863 12320//2022 12405//6632 +f 16538//5182 16689//13388 15560//5325 +f 10726//13389 10340//13390 8159//11959 +f 18379//2263 19882//13391 19883//13392 +f 520//9664 7343//9815 521//9744 +f 10340//13390 9307//8373 10221//8374 +f 7640//13393 7755//13394 7639//10726 +f 955//6161 954//5881 8007//3808 +f 10893//10974 11019//11707 10892//10705 +f 28952//8366 28951//9902 28818//6650 +f 29106//13395 29243//13292 29105//13294 +f 2247//5548 2119//3893 2248//4702 +f 7040//3696 6941//8486 6942//13396 +f 31080//13397 11423//13398 31143//6417 +f 8320//13399 8319//10660 8211//10724 +f 10090//11389 10089//13386 9972//13301 +f 2877//5530 3016//2976 2876//4081 +f 9851//13400 9850//11294 9735//11293 +f 9973//8108 10090//11389 9972//13301 +f 10042//10934 10160//11020 10041//6147 +f 9736//13401 9851//13400 9735//11293 +f 12323//13402 12322//5828 12237//3751 +f 8008//13289 9214//12095 11219//13403 +f 8725//13306 8724//13404 8617//13405 +f 5695//13406 12649//13407 12562//12291 +f 9487//13309 9603//13408 9602//13409 +f 8724//13404 8725//13306 8831//13307 +f 7564//13410 8959//13310 7563//13411 +f 9486//11239 9487//13309 9602//13409 +f 7697//13412 10512//10478 8881//11024 +f 10774//13219 8478//6613 10502//9811 +f 10748//13316 7218//13413 7795//11166 +f 8774//13311 7697//13412 8881//11024 +f 10871//10502 11220//10471 8251//13414 +f 11245//13315 10748//13316 8870//13318 +f 11220//10471 10811//13415 7399//13416 +f 10811//13415 7762//13417 7399//13416 +f 7762//13417 10811//13415 1057//13418 +f 10811//13415 2930//13419 1057//13418 +f 8737//13420 10871//10502 7561//13421 +f 2930//13419 7648//10543 10388//13422 +f 10871//10502 8251//13414 7561//13421 +f 11220//10471 7399//13416 8251//13414 +f 9574//13423 8737//13420 10727//13424 +f 10711//11893 10225//13425 10128//10992 +f 11192//13426 9574//13423 11065//13427 +f 9663//11894 10711//11893 11225//11679 +f 10975//12485 7921//10505 7688//13428 +f 8737//13420 7561//13421 10727//13424 +f 9756//13317 10748//13316 7795//11166 +f 7218//13413 10988//13429 10861//11167 +f 7795//11166 7218//13413 10861//11167 +f 10988//13429 9014//13430 8374//13431 +f 10861//11167 10988//13429 8374//13431 +f 9014//13430 7917//13432 7768//13433 +f 11161//13434 11287//13326 11286//13325 +f 8374//13431 9014//13430 7768//13433 +f 11160//13435 11161//13434 11286//13325 +f 11287//13326 7357//13322 7741//13321 +f 10906//13330 10907//13329 11032//13436 +f 10907//13329 11033//13437 11032//13436 +f 11033//13437 11160//13435 11159//13438 +f 11032//13436 11033//13437 11159//13438 +f 822//13439 11395//8017 11391//10442 +f 10352//13332 10132//12212 8906//12208 +f 7427//12117 11356//12481 11003//13105 +f 10655//13440 10779//13225 10654//13062 +f 7374//12778 7486//12582 7373//13441 +f 11152//5695 11278//6510 11277//12270 +f 8602//12874 8603//13233 8709//12872 +f 6097//7263 8311//6235 5965//4517 +f 35780//9636 35460//11908 14178//12357 +f 7713//12217 7828//12400 7827//13442 +f 10249//11022 10596//13148 8994//11504 +f 10249//11022 7691//11021 10596//13148 +f 35402//4190 35422//3047 35777//5622 +f 9744//3940 11335//13443 1981//13444 +f 9083//13335 9191//12572 10949//13339 +f 9515//12293 10508//13338 10949//13339 +f 10537//13445 10536//12942 10416//12851 +f 10417//13446 10537//13445 10416//12851 +f 10297//13268 10296//12762 10177//12670 +f 10178//13269 10297//13268 10177//12670 +f 10060//13447 10059//12576 9942//12478 +f 9943//13448 10060//13447 9942//12478 +f 9712//13449 9827//13450 9711//12295 +f 9943//13448 9942//12478 9826//12385 +f 9712//13449 9711//12295 9595//12203 +f 9596//13451 9712//13449 9595//12203 +f 8484//13181 11972//13452 16989//13453 +f 9827//13450 9826//12385 9711//12295 +f 9769//10307 10691//13344 9916//7761 +f 9769//10307 9916//7761 4103//6495 +f 10212//13454 9106//13345 10691//13344 +f 9769//10307 10212//13454 10691//13344 +f 8243//13455 9632//13346 9106//13345 +f 10212//13454 8243//13455 9106//13345 +f 8243//13455 10035//13456 10153//13347 +f 9632//13346 8243//13455 10153//13347 +f 10035//13456 10713//13457 10712//13348 +f 10153//13347 10035//13456 10712//13348 +f 9445//13458 10743//13349 10712//13348 +f 10713//13457 9445//13458 10712//13348 +f 9445//13458 8267//13459 8372//13350 +f 10743//13349 9445//13458 8372//13350 +f 8267//13459 7677//13460 11338//13351 +f 8372//13350 8267//13459 11338//13351 +f 7677//13460 9329//13461 9443//13352 +f 11338//13351 7677//13460 9443//13352 +f 9329//13461 9746//13462 8371//13353 +f 9443//13352 9329//13461 8371//13353 +f 9746//13462 9893//13463 10375//13354 +f 8371//13353 9746//13462 10375//13354 +f 9893//13463 7109//213 7110//212 +f 10375//13354 9893//13463 7110//212 +f 11654//5577 11734//13464 11733//13465 +f 14762//13466 7109//213 9893//13463 +f 11578//5579 32565//13467 32564//13468 +f 11653//5578 11654//5577 11733//13465 +f 8044//9184 10575//13469 10568//13356 +f 35671//9131 35641//8166 35819//2548 +f 21648//13470 35923//2801 35698//3504 +f 10568//13356 10575//13469 9883//13357 +f 7826//13471 7827//13442 7942//11858 +f 15703//13472 15702//13473 10149//13474 +f 527//10194 413//10193 414//6428 +f 8225//13475 11121//12589 9287//12466 +f 11238//13359 11112//13360 8009//8279 +f 9081//10412 8759//10510 10096//10413 +f 9369//13476 9370//13477 9484//13291 +f 9607//13478 9723//13479 9606//12754 +f 9085//10991 8659//10903 7216//11867 +f 9785//12955 10031//10855 9901//2836 +f 7651//13480 9756//13317 7555//13365 +f 7688//13428 8143//13481 10886//13362 +f 10671//10738 10670//10842 10548//10739 +f 10671//10738 10795//11792 10670//10842 +f 9296//13482 11327//13483 9173//10470 +f 1070//9404 5415//9581 16851//9405 +f 7940//10703 8055//10749 7939//10733 +f 8274//10800 8273//11771 8165//11689 +f 8930//12070 9037//13484 8929//13051 +f 20706//2028 20788//7043 20787//2029 +f 20629//13485 20710//2049 20628//7140 +f 22912//6735 23011//586 22911//1894 +f 21123//13486 21979//1360 21122//1361 +f 1883//6134 213//6267 8351//7838 +f 6513//5658 9770//5811 6396//5656 +f 35843//6695 35449//13487 35794//7360 +f 8531//11645 8638//3891 8530//10266 +f 8424//11592 8531//11645 8530//10266 +f 9326//13099 13388//2229 9652//12649 +f 9265//11457 9377//11461 9376//10425 +f 8423//10265 8424//11592 8530//10266 +f 11909//7910 11993//5980 11908//12405 +f 9492//11543 9608//11542 9491//13488 +f 10334//11465 11200//11464 11073//13375 +f 8399//10483 8506//12939 8505//13489 +f 20710//2049 20792//1434 20791//1433 +f 10333//13377 10334//11465 11073//13375 +f 7617//12929 7732//13028 7616//13284 +f 8082//13280 8081//10943 7966//10946 +f 11908//12405 11907//13118 11821//11686 +f 12241//6836 12326//12696 12240//11856 +f 9469//13490 9470//13491 9585//13492 +f 9284//11872 8256//11215 7219//11214 +f 9736//13401 9735//11293 9619//11306 +f 9620//13385 9736//13401 9619//11306 +f 18537//13493 20941//13494 20861//13495 +f 7937//3860 8052//10885 1251//3861 +f 10457//13496 10337//12372 6638//13497 +f 7772//6018 7657//11514 598//6017 +f 9145//10931 9144//13498 9036//13499 +f 9828//12477 9944//10684 9943//13448 +f 10412//13066 10413//13500 10532//13063 +f 11371//12561 11370//10411 11187//11313 +f 10271//13501 10015//11427 8127//11511 +f 10444//10542 10741//10541 8678//11512 +f 9055//10535 9163//11431 9054//10536 +f 9272//11506 9271//11991 9162//11432 +f 20629//13485 20628//7140 20546//4587 +f 12238//13308 12237//3751 12154//3750 +f 9967//13502 10084//13503 9966//11299 +f 22903//13504 22904//13505 23002//13506 +f 9851//13400 9967//13502 9966//11299 +f 9850//11294 9851//13400 9966//11299 +f 9236//10871 9348//12092 9347//13507 +f 10084//13503 10083//11385 9966//11299 +f 10493//9076 11083//10753 10151//12173 +f 6956//10772 7055//13508 7054//12877 +f 8618//11064 8617//13405 8510//13509 +f 11992//5982 11991//13030 11907//13118 +f 9719//13510 9718//10504 9602//13409 +f 8618//11064 8725//13306 8617//13405 +f 9672//10545 7564//13410 9528//13511 +f 9603//13408 9719//13510 9602//13409 +f 9565//13314 8777//10479 10512//10478 +f 10513//13218 10502//9811 8953//10877 +f 93//13512 6966//10612 11065//13427 +f 7697//13412 9565//13314 10512//10478 +f 11290//13513 11291//10913 93//13512 +f 9574//13423 10727//13424 11065//13427 +f 10915//13514 11041//13515 11040//13516 +f 6966//10612 11192//13426 11065//13427 +f 10790//13517 10915//13514 10914//13518 +f 10789//13519 10790//13517 10914//13518 +f 10544//13520 10666//13521 10665//13522 +f 10543//13523 10544//13520 10665//13522 +f 10666//13521 10790//13517 10789//13519 +f 10665//13522 10666//13521 10789//13519 +f 11041//13515 11168//13524 11040//13516 +f 11294//13525 11293//13266 11167//13265 +f 11168//13524 11294//13525 11167//13265 +f 11294//13525 8252//13526 10574//13527 +f 8252//13526 7896//13528 8888//13529 +f 11293//13266 11294//13525 10574//13527 +f 10786//13530 10787//13531 10911//13532 +f 10574//13527 8252//13526 8888//13529 +f 10662//13533 10663//12168 10786//13530 +f 10912//10916 11038//10918 11037//13534 +f 10540//13535 10541//10865 10662//13533 +f 10787//13531 10912//10916 10911//13532 +f 10421//10866 10541//10865 10420//13536 +f 10663//12168 10787//13531 10786//13530 +f 7917//13432 7692//13537 8040//13205 +f 10541//10865 10663//12168 10662//13533 +f 10907//13329 10908//13538 11033//13437 +f 7768//13433 7917//13432 8040//13205 +f 11034//13539 11161//13434 11160//13435 +f 11033//13437 11034//13539 11160//13435 +f 11159//13438 11160//13435 11285//13540 +f 11160//13435 11286//13325 11285//13540 +f 11143//13541 10352//13332 8906//12208 +f 11074//13236 11143//13541 11075//12206 +f 11278//6510 229//5689 8884//13230 +f 10779//13225 10904//13128 10903//13129 +f 9626//5423 11395//8017 5191//5422 +f 9587//12599 9703//11918 9702//13224 +f 35506//13542 35895//8006 28993//4129 +f 8058//12959 8059//10811 8169//13543 +f 7712//13544 7713//12217 7827//13442 +f 9356//12602 9471//12597 9470//13491 +f 5184//4343 10816//7841 5317//4356 +f 7944//10809 8059//10811 8058//12959 +f 11972//13452 8484//13181 11975//6690 +f 8812//12865 8813//11769 8919//13545 +f 10824//12384 9515//12293 10949//13339 +f 9334//12101 9317//13340 9192//13337 +f 10417//13446 10416//12851 10296//12762 +f 10297//13268 10417//13446 10296//12762 +f 7273//13546 7272//13547 7165//10112 +f 12573//967 13790//966 16775//1298 +f 7496//13548 7610//13549 7609//13550 +f 7384//13551 7383//13552 7272//13547 +f 7725//13553 7840//13554 7839//13555 +f 7495//13556 7496//13548 7609//13550 +f 7956//13557 8071//13558 8070//12085 +f 7724//13559 7725//13553 7839//13555 +f 8071//13558 8182//13560 8181//10919 +f 7955//13561 7956//13557 8070//12085 +f 12249//10038 12248//8354 12165//8353 +f 3315//3265 5984//3261 8039//11038 +f 11267//13562 10212//13454 9769//10307 +f 8999//13563 11267//13562 9769//10307 +f 8481//13564 8243//13455 10212//13454 +f 11267//13562 8481//13564 10212//13454 +f 8481//13564 8636//13565 10035//13456 +f 8243//13455 8481//13564 10035//13456 +f 8636//13565 8974//13566 10713//13457 +f 10035//13456 8636//13565 10713//13457 +f 9560//13567 9445//13458 10713//13457 +f 8974//13566 9560//13567 10713//13457 +f 9560//13567 8268//13568 8267//13459 +f 9445//13458 9560//13567 8267//13459 +f 8268//13568 9541//13569 7677//13460 +f 8267//13459 8268//13568 7677//13460 +f 9541//13569 9330//13570 9329//13461 +f 7677//13460 9541//13569 9329//13461 +f 9330//13570 8354//13571 9746//13462 +f 9329//13461 9330//13570 9746//13462 +f 8354//13571 9892//13572 9893//13463 +f 9746//13462 8354//13571 9893//13463 +f 3200//13573 7924//13574 3201//13575 +f 1837//9177 1845//4272 1846//9178 +f 13987//7662 444//13576 13890//7663 +f 14205//7017 14303//7348 14204//7160 +f 8736//10798 11262//7563 14302//12926 +f 3202//3539 3200//13573 8443//13577 +f 1158//5675 7850//5676 7734//10972 +f 13770//2727 13676//6508 13098//765 +f 9601//13290 9600//13578 9484//13291 +f 7565//12947 7564//13410 9672//10545 +f 20547//4583 20629//13485 20546//4587 +f 29224//2791 29223//2793 29086//13579 +f 8445//11681 7897//10814 8446//12467 +f 35439//7553 35421//8016 35897//4264 +f 14315//8091 10854//8496 14314//8092 +f 8009//8279 7893//12650 13388//2229 +f 8452//11462 10099//12442 7589//11384 +f 11209//11315 10033//11887 10470//10429 +f 10179//13580 10178//13269 10060//13447 +f 8374//13431 7768//13433 9506//10593 +f 10527//13042 10513//13218 8959//13310 +f 10470//10429 9200//10431 10942//11697 +f 10795//11792 10794//13366 10670//10842 +f 10429//11605 10549//10737 10428//13581 +f 6950//11391 7049//11393 7048//13582 +f 10698//13583 10822//12284 10457//13496 +f 7824//10698 7940//10703 7823//10687 +f 8166//10776 8165//11689 8054//13370 +f 7494//13584 7495//13556 7608//13585 +f 8715//13586 8716//11981 8822//13587 +f 5984//3261 4100//3256 9228//11037 +f 10762//5834 4229//4994 10638//10428 +f 13643//8086 13644//13588 13741//13069 +f 18934//1746 1978//11865 28187//11866 +f 8212//13589 8320//13399 8211//10724 +f 315//3308 210//8487 7040//3696 +f 896//4397 897//4398 1016//3667 +f 9579//13590 9695//10925 9694//10924 +f 8316//13591 8317//11593 8423//10265 +f 7870//13592 7986//11155 7869//10633 +f 8097//13593 8098//11688 8208//13594 +f 8209//11684 8317//11593 8316//13591 +f 10787//13531 10788//13595 10912//10916 +f 8208//13594 8209//11684 8316//13591 +f 11200//11464 9004//11463 9687//13376 +f 8304//8620 1627//2973 1744//3179 +f 7967//13378 7966//10946 7850//5676 +f 9004//11463 10845//11459 5202//13596 +f 7383//13552 7495//13556 7494//13584 +f 7609//13550 7724//13559 7723//13597 +f 2125//13598 160//13599 4801//13600 +f 10042//10934 10041//6147 9924//5026 +f 10202//13601 10201//11381 10083//11385 +f 10084//13503 10202//13601 10083//11385 +f 10202//13601 10321//13602 10201//11381 +f 10321//13602 10320//11386 10201//11381 +f 10321//13602 10441//9616 10320//11386 +f 10441//9616 10440//9618 10320//11386 +f 35628//12186 35892//8507 35395//8508 +f 35531//3033 35706//6704 35534//5015 +f 35438//6711 35502//3805 35588//2799 +f 10683//13603 10682//11210 10560//9617 +f 10682//11210 10683//13603 10806//11278 +f 10683//13603 10807//8950 10806//11278 +f 10806//11278 10807//8950 10931//11360 +f 10807//8950 10932//8952 10931//11360 +f 10931//11360 10932//8952 11057//11368 +f 13588//13604 7461//13605 10808//8951 +f 10845//11459 10101//11379 9637//13606 +f 8613//12940 8614//11428 8720//11430 +f 10643//10477 10642//11162 10520//10562 +f 5202//13596 10845//11459 9637//13606 +f 7382//12074 7383//13552 7494//13584 +f 10642//11162 10643//10477 10766//10517 +f 8189//13014 8297//13607 8188//13608 +f 7495//13556 7609//13550 7608//13585 +f 9834//13609 9833//10432 9718//10504 +f 8511//11065 8618//11064 8510//13509 +f 7648//10543 9672//10545 10388//13422 +f 9719//13510 9834//13609 9718//10504 +f 11164//13610 11165//10914 11290//13513 +f 8959//13310 8953//10877 7563//13411 +f 11037//13534 11038//10918 11164//13610 +f 11291//10913 6966//10612 93//13512 +f 8542//13611 10864//13612 7063//13613 +f 11165//10914 11291//10913 11290//13513 +f 11168//13524 11167//13265 11040//13516 +f 11377//11014 8542//13611 7063//13613 +f 29695//13614 28879//2110 27553//13615 +f 10914//13518 10915//13514 11040//13516 +f 19938//13616 34074//13617 18513//13618 +f 7280//13192 7279//13193 7172//13619 +f 19801//13620 19799//8469 30555//3165 +f 7391//13025 7390//13197 7279//13193 +f 29228//13621 29229//13622 29365//13623 +f 27516//5906 27634//13624 27633//5907 +f 22829//12518 9064//1742 2478//340 +f 13814//3354 13815//10041 13912//7037 +f 3041//6520 7672//5844 2518//13625 +f 21755//13626 21608//4770 21425//13627 +f 12639//766 12733//3543 12549//767 +f 23014//9960 23013//13628 22914//5562 +f 7896//13528 8542//13611 11377//11014 +f 22913//6734 23012//1902 22912//6735 +f 4381//13629 815//13630 9512//13631 +f 8888//13529 7896//13528 11377//11014 +f 11327//13483 11201//13632 4381//13629 +f 9511//13633 10105//13634 10022//13635 +f 9512//13631 9511//13633 10022//13635 +f 815//13630 9511//13633 9512//13631 +f 10301//10568 10421//10866 10300//13636 +f 10105//13634 7568//13637 7567//12945 +f 7692//13537 8797//13638 7810//13206 +f 10541//10865 10540//13535 10420//13536 +f 10783//11469 10782//13327 10658//13228 +f 8040//13205 7692//13537 7810//13206 +f 7741//13321 7146//13639 11285//13540 +f 10659//11468 10783//11469 10658//13228 +f 8112//13235 11074//13236 10479//6823 +f 11387//12850 10572//12758 10571//13640 +f 8373//12119 7427//12117 11003//13105 +f 11143//13541 8906//12208 11075//12206 +f 9355//12827 9356//12602 9470//13491 +f 10778//13061 10779//13225 10903//13129 +f 7911//10463 9324//13641 8033//13642 +f 9471//12597 9587//12599 9586//13223 +f 8143//13481 7911//10463 8033//13642 +f 10936//10462 9679//13643 9324//13641 +f 10936//10462 8874//12067 9679//13643 +f 9598//13644 9714//12476 9713//12475 +f 8920//13320 9027//12388 9026//13645 +f 10705//12066 10582//13137 8981//12963 +f 8059//10811 8170//11130 8169//13543 +f 9026//13645 9027//12388 9134//10493 +f 10178//13269 10177//12670 10059//12576 +f 10060//13447 10178//13269 10059//12576 +f 7273//13546 7384//13551 7272//13547 +f 7496//13548 7495//13556 7383//13552 +f 9831//13646 9947//13647 9946//13648 +f 9830//13649 9831//13646 9946//13648 +f 9600//13578 9716//13650 9715//13651 +f 9599//13652 9600//13578 9715//13651 +f 9369//13476 9484//13291 9483//13653 +f 9368//13654 9369//13476 9483//13653 +f 9369//13476 9368//13654 9256//13655 +f 9257//13656 9369//13476 9256//13655 +f 10441//9616 14189//13657 10560//9617 +f 22196//13658 24399//12741 26245//13659 +f 11216//6275 11140//6946 11267//13562 +f 8999//13563 11216//6275 11267//13562 +f 11140//6946 6983//13660 8481//13564 +f 11267//13562 11140//6946 8481//13564 +f 6983//13660 7448//13661 8636//13565 +f 8481//13564 6983//13660 8636//13565 +f 8312//13662 8974//13566 8636//13565 +f 7448//13661 8312//13662 8636//13565 +f 9444//13663 9560//13567 8974//13566 +f 8312//13662 9444//13663 8974//13566 +f 9444//13663 6986//13664 8268//13568 +f 9560//13567 9444//13663 8268//13568 +f 6986//13664 11313//13665 9541//13569 +f 8268//13568 6986//13664 9541//13569 +f 11313//13665 7333//13666 9330//13570 +f 9541//13569 11313//13665 9330//13570 +f 7333//13666 9745//13667 8354//13571 +f 9330//13570 7333//13666 8354//13571 +f 1622//739 1408//13668 7570//12752 +f 8354//13571 9745//13667 9892//13572 +f 13301//5570 13213//5569 13020//5994 +f 13213//5569 13416//7564 12569//8275 +f 13213//5569 12569//8275 13020//5994 +f 13416//7564 3595//2190 12569//8275 +f 13723//5393 13722//4173 13624//7145 +f 12069//13669 12151//10591 12150//13670 +f 9865//6236 5963//6943 5831//4891 +f 411//10046 410//9965 7236//10124 +f 9370//13477 9371//11238 9485//11240 +f 6951//11392 7050//12744 7049//11393 +f 9058//11209 9166//11304 9057//13671 +f 8649//11126 7643//13672 8045//10453 +f 11225//11679 10711//11893 10128//10992 +f 796//5029 7668//5031 1522//6624 +f 11274//12415 11273//12737 11147//11885 +f 7464//6822 5586//6824 5452//6503 +f 6883//12397 6950//11391 6882//13673 +f 10136//13674 8545//13675 10957//11207 +f 15509//533 15510//13676 15644//535 +f 10061//10732 10179//13580 10060//13447 +f 9042//12843 9150//10734 9041//10736 +f 10919//11776 11045//13299 10918//11630 +f 10794//13366 10793//11789 10669//10843 +f 10549//10737 10548//10739 10428//13581 +f 10927//13677 10926//11599 10801//11358 +f 9849//11312 9965//11300 9848//13678 +f 421//4504 311//9517 312//6517 +f 8055//10749 8054//13370 7939//10733 +f 7608//13585 7609//13550 7723//13597 +f 7724//13559 7839//13555 7838//12829 +f 10562//13679 10684//13680 14189//13657 +f 9347//13507 9348//12092 9462//13681 +f 9578//13682 9579//13590 9694//10924 +f 9463//13300 9579//13590 9578//13682 +f 9462//13681 9463//13300 9578//13682 +f 8317//11593 8424//11592 8423//10265 +f 7983//11683 8098//11688 8097//13593 +f 8748//13683 8855//11150 8747//10579 +f 1860//9071 10493//9076 10151//12173 +f 9687//13376 9004//11463 5202//13596 +f 9426//13684 8972//11125 10819//13379 +f 7723//13597 7724//13559 7838//12829 +f 7955//13561 7954//11163 7838//12829 +f 9366//12086 9481//12071 9365//12087 +f 7381//10407 7382//12074 7493//13685 +f 12679//3632 12768//3634 12678//2919 +f 8841//10600 8948//10540 8840//10602 +f 14106//13686 14202//3519 14201//6621 +f 27314//13687 27296//13688 26474//13689 +f 35841//918 3986//1037 9452//919 +f 14007//11372 14008//11371 14105//13690 +f 10636//13691 10649//11374 11185//13692 +f 10650//11375 2249//4442 9690//2982 +f 9068//13693 9090//11378 10636//13691 +f 10649//11374 11197//2981 11185//13692 +f 7659//13694 7660//11303 9068//13693 +f 9090//11378 10649//11374 10636//13691 +f 10956//13695 11012//11302 7659//13694 +f 7660//11303 9090//11378 9068//13693 +f 10101//11379 11012//11302 10956//13695 +f 9637//13606 10101//11379 10956//13695 +f 7839//13555 7955//13561 7838//12829 +f 11012//11302 7660//11303 7659//13694 +f 7955//13561 8070//12085 8069//10867 +f 26475//13696 27314//13687 26474//13689 +f 8404//13040 8403//13697 8296//13698 +f 11021//4484 11020//11884 10894//4485 +f 9950//13699 9949//11070 9833//10432 +f 8297//13607 8404//13040 8296//13698 +f 9672//10545 9528//13511 10388//13422 +f 9834//13609 9950//13699 9833//10432 +f 10911//13532 10912//10916 11037//13534 +f 7564//13410 7563//13411 9528//13511 +f 9198//13700 9295//13701 9296//13482 +f 11038//10918 11165//10914 11164//13610 +f 7063//13613 10864//13612 10840//13298 +f 10840//13298 9198//13700 9296//13482 +f 20781//1592 20782//3912 9064//1742 +f 10864//13612 9198//13700 10840//13298 +f 8776//10659 11259//10658 10698//13583 +f 9782//10782 8674//10692 8567//13702 +f 8515//13703 8514//11443 8407//11202 +f 7777//8352 14066//7040 13029//11317 +f 8301//13704 8300//11116 8192//11061 +f 8193//13281 8301//13704 8192//11061 +f 8408//13705 8407//11202 8300//11116 +f 8301//13704 8408//13705 8300//11116 +f 8515//13703 8622//13706 8514//11443 +f 8729//13707 8728//11450 8621//11445 +f 8622//13706 8729//13707 8621//11445 +f 8836//13708 8835//11452 8728//11450 +f 8729//13707 8836//13708 8728//11450 +f 8943//13709 8942//11447 8835//11452 +f 8836//13708 8943//13709 8835//11452 +f 9050//13710 9049//11453 8942//11447 +f 14012//11597 14110//7016 14109//7015 +f 35595//12817 35914//13711 28993//4129 +f 9131//10572 9240//11242 9239//13712 +f 9130//10573 9131//10572 9239//13712 +f 14411//5332 15824//13713 1213//5462 +f 8700//13714 8699//13715 8592//11890 +f 34757//13716 34758//13717 21649//13718 +f 10927//13677 11053//13719 11052//11516 +f 10022//13635 10105//13634 7567//12945 +f 7544//6294 7545//6533 486//6291 +f 10064//11141 10182//11073 10181//13720 +f 7568//13637 8989//13721 8988//12946 +f 7471//9812 8157//13722 7810//13206 +f 10063//13723 10064//11141 10181//13720 +f 10537//13445 10659//11468 10658//13228 +f 6365//3367 6492//3087 6491//3089 +f 11368//13724 11387//12850 10571//13640 +f 10536//12942 10537//13445 10658//13228 +f 10533//13725 10534//13726 10655//13440 +f 10572//12758 8760//12669 8085//13336 +f 11205//12114 11079//12482 11356//12481 +f 10656//13727 10780//13728 10779//13225 +f 10524//12032 10646//10818 10523//10820 +f 7154//12973 7261//13729 7260//10418 +f 9481//12071 9482//13730 9597//12072 +f 8914//8095 9021//13731 9020//10882 +f 7951//10607 8066//12019 7950//10608 +f 19454//1966 12544//3054 7415//3056 +f 8505//13489 8506//12939 8612//12941 +f 3180//7908 35575//3259 27753//13732 +f 9135//10494 9244//12826 9243//10495 +f 8720//11430 8719//13733 8612//12941 +f 9827//13450 9943//13448 9826//12385 +f 8491//11147 8492//10449 8598//10451 +f 7384//13551 7496//13548 7383//13552 +f 7610//13549 7725//13553 7724//13559 +f 9716//13650 9831//13646 9830//13649 +f 9715//13651 9716//13650 9830//13649 +f 10359//13734 10239//11226 10615//11123 +f 9207//13735 10359//13734 10615//11123 +f 12158//13736 12157//11855 12075//7817 +f 9207//13735 10238//13737 10359//13734 +f 12354//13738 12353//13739 12268//7240 +f 11666//3321 11746//3714 11665//3322 +f 2370//5430 8950//13740 2369//3268 +f 339//13741 5204//10391 2904//13742 +f 4502//6931 810//7027 4503//7028 +f 12289//2448 14087//13743 11704//2449 +f 11268//6947 10026//13744 6983//13660 +f 11140//6946 11268//6947 6983//13660 +f 8673//13745 7448//13661 6983//13660 +f 10026//13744 8673//13745 6983//13660 +f 11028//13746 8312//13662 7448//13661 +f 8673//13745 11028//13746 7448//13661 +f 9331//13747 9444//13663 8312//13662 +f 11028//13746 9331//13747 8312//13662 +f 9331//13747 9558//13748 6986//13664 +f 9444//13663 9331//13747 6986//13664 +f 9558//13748 8744//13749 11313//13665 +f 6986//13664 9558//13748 11313//13665 +f 8744//13749 8260//13750 7333//13666 +f 11313//13665 8744//13749 7333//13666 +f 8260//13750 7349//13751 9745//13667 +f 7333//13666 8260//13750 9745//13667 +f 1274//13752 459//11957 3345//11956 +f 7349//13751 8262//13753 7348//13754 +f 6509//13755 1274//13752 3345//11956 +f 8901//13756 160//13599 459//11957 +f 10958//1866 9121//13757 10364//13758 +f 1274//13752 8901//13756 459//11957 +f 35097//13759 35098//13760 6930//13761 +f 7449//13285 399//9089 7337//13762 +f 8162//4214 8163//10888 8270//4213 +f 525//10047 411//10046 412//10122 +f 1483//4060 1366//4062 8162//4214 +f 2108//7742 8628//9434 1984//5006 +f 9104//10498 8996//10501 8131//10415 +f 10210//8502 10211//13763 13908//12515 +f 576//7557 575//7463 10859//7751 +f 9870//10990 8766//12390 9085//10991 +f 7908//13764 7556//10910 7787//13765 +f 8701//11223 8702//10806 8808//10808 +f 7934//10987 8768//13048 9318//13047 +f 9935//5390 9934//12825 9818//11917 +f 3960//9522 10514//7647 4094//6820 +f 5280//9715 18383//9714 14631//8312 +f 10952//11316 10470//10429 10942//11697 +f 10309//10515 10429//11605 10428//13581 +f 9149//10735 9150//10734 9258//13766 +f 11045//13299 11044//11631 10918//11630 +f 9965//11300 10082//11383 9964//13767 +f 20470//13768 20469//13769 20385//13770 +f 12842//2225 11890//2224 35532//12648 +f 13626//13771 13627//6279 13724//6137 +f 9097//7353 9096//10681 9065//8868 +f 21650//13772 21649//13718 34887//13773 +f 8670//13049 8152//8367 9096//10681 +f 9097//7353 8670//13049 9096//10681 +f 1134//3668 1016//3667 7936//3862 +f 9695//10925 9810//10935 9809//10926 +f 1712//3877 8586//3876 1711//3677 +f 15510//13676 15645//4905 15644//535 +f 2051//9684 19296//9689 19191//13774 +f 27754//10729 17318//5667 28336//5184 +f 1626//6148 8304//8620 8303//13775 +f 137//11731 10458//11513 13977//2930 +f 9214//12095 10103//12166 7680//13776 +f 7821//4059 7937//3860 7936//3862 +f 8442//4106 8655//11985 9795//11984 +f 9664//12362 9460//10940 10941//12363 +f 7752//11783 7867//11772 7751//13777 +f 11996//5718 12077//5720 11995//5722 +f 12768//3634 12767//3707 12678//2919 +f 7983//11683 7982//13778 7866//13779 +f 7735//11208 8972//11125 9426//13684 +f 12956//10741 12957//10330 13050//13780 +f 9168//13781 7735//11208 9426//13684 +f 8972//11125 10573//11127 10819//13379 +f 2152//8285 17013//13782 17177//3956 +f 3977//6411 8147//9079 6125//6413 +f 793//8759 517//3889 10486//3888 +f 22054//1667 6897//13783 27503//13784 +f 9258//13766 9257//13656 9148//13785 +f 16002//13786 16003//7283 16144//822 +f 10439//11388 10559//11211 10438//12856 +f 9581//12957 9697//10862 9696//10861 +f 10316//13044 10315//11466 10196//11553 +f 10559//11211 10558//13787 10438//12856 +f 10616//12951 10619//12914 10569//13788 +f 8880//7265 8987//5301 8768//13048 +f 8190//13013 8298//13789 8189//13014 +f 9017//5125 9018//10975 9126//10977 +f 8988//12946 10593//13041 8982//13043 +f 11119//10654 15905//8101 7584//12453 +f 20909//13244 27371//13341 20830//2198 +f 35376//12076 35528//6839 11410//13790 +f 7847//13027 7846//13791 7731//13380 +f 1507//9900 133//12075 800//13792 +f 8511//11065 8510//13509 8403//13697 +f 7732//13028 7847//13027 7731//13380 +f 10067//13793 10066//10784 9949//11070 +f 8404//13040 8511//11065 8403//13697 +f 8072//13794 8183//12832 8182//13560 +f 9950//13699 10067//13793 9949//11070 +f 7957//13795 8072//13794 8071//13558 +f 8071//13558 8072//13794 8182//13560 +f 9296//13482 9295//13701 11327//13483 +f 7956//13557 7957//13795 8071//13558 +f 8593//11889 8700//13714 8592//11890 +f 9295//13701 11201//13632 11327//13483 +f 8700//13714 8807//8094 8806//13796 +f 8699//13715 8700//13714 8806//13796 +f 9379//13797 9494//13798 9378//11460 +f 7371//10417 7370//13799 7259//13800 +f 8622//13706 8621//11445 8514//11443 +f 9610//13801 9609//11541 9493//11547 +f 10885//11370 7735//11208 9168//13781 +f 8408//13705 8515//13703 8407//11202 +f 11304//11283 10885//11370 10758//13802 +f 10758//13802 10885//11370 9168//13781 +f 11178//11367 11304//11283 11303//13803 +f 11303//13803 11304//11283 10758//13802 +f 11178//11367 11177//13804 11050//13805 +f 11177//13804 11178//11367 11303//13803 +f 11051//11441 11050//13805 10924//13806 +f 11051//11441 11178//11367 11050//13805 +f 10925//11600 10924//13806 10799//13807 +f 10925//11600 11051//11441 10924//13806 +f 8943//13709 9050//13710 8942//11447 +f 10800//11359 10925//11600 10799//13807 +f 9158//13808 9157//11455 9049//11453 +f 9050//13710 9158//13808 9049//11453 +f 9267//13809 9266//11458 9157//11455 +f 9158//13808 9267//13809 9157//11455 +f 9957//13810 9956//11277 9840//11550 +f 9841//13811 9957//13810 9840//11550 +f 10074//13812 10073//11204 9956//11277 +f 9957//13810 10074//13812 9956//11277 +f 13721//4174 13722//4173 13819//7534 +f 10074//13812 10192//13813 10191//11351 +f 7567//12945 7568//13637 8988//12946 +f 21482//13814 21757//13815 15469//13227 +f 9947//13647 10064//11141 10063//13723 +f 8471//13816 10494//11129 10974//13199 +f 9712//13449 9713//12475 9827//13450 +f 9946//13648 9947//13647 10063//13723 +f 9365//12087 9364//12108 9252//12221 +f 1136//2487 7441//11000 8453//10964 +f 10571//13640 10572//12758 8085//13336 +f 9253//12088 9365//12087 9252//12221 +f 10413//13500 10414//13817 10533//13725 +f 7156//12773 7263//12776 7262//13818 +f 7056//12937 7160//13056 7159//13819 +f 10534//13726 10656//13727 10655//13440 +f 10197//13820 10316//13044 10196//11553 +f 7372//10416 7484//11077 7371//10417 +f 33606//13821 33605//13822 33486//13823 +f 35898//13824 35743//6243 35527//10527 +f 28137//13825 11513//13826 17575//13827 +f 10897//13273 10772//13828 4372//9188 +f 9597//12072 9598//13644 9713//12475 +f 3712//4828 3307//9741 8987//5301 +f 7261//13729 7372//10416 7260//10418 +f 7484//11077 7483//11076 7371//10417 +f 7609//13550 7610//13549 7724//13559 +f 7840//13554 7956//13557 7955//13561 +f 9484//13291 9600//13578 9599//13652 +f 9483//13653 9484//13291 9599//13652 +f 10239//11226 10359//13734 7197//7758 +f 14105//13690 14201//6621 14104//13305 +f 12770//13201 12862//9515 12861//9514 +f 12769//4964 12770//13201 12861//9514 +f 14190//13829 9304//12292 14259//7561 +f 12540//10951 12545//10953 7457//13830 +f 28018//12273 26494//5427 26493//5426 +f 11657//8478 11737//11687 11656//11010 +f 3722//11019 9909//13831 2225//6803 +f 10862//12517 10945//10461 7921//10505 +f 30475//13832 30476//13833 5742//13834 +f 33451//13835 4798//13836 3928//13837 +f 8668//13838 8673//13745 10026//13744 +f 9909//13831 8668//13838 10026//13744 +f 9392//13839 11028//13746 8673//13745 +f 8668//13838 9392//13839 8673//13745 +f 9220//13840 9331//13747 11028//13746 +f 9392//13839 9220//13840 11028//13746 +f 9220//13840 7306//13841 9558//13748 +f 9331//13747 9220//13840 9558//13748 +f 7306//13841 11199//13842 8744//13749 +f 9558//13748 7306//13841 8744//13749 +f 11199//13842 8262//13753 8260//13750 +f 8744//13749 11199//13842 8260//13750 +f 15957//13843 7348//13754 15160//806 +f 8260//13750 8262//13753 7349//13751 +f 1994//13844 9760//13382 7463//13845 +f 11335//13443 9640//3939 10745//13846 +f 11911//5719 11910//7909 11824//7913 +f 31640//13847 31552//7756 31641//13848 +f 12663//4093 12466//5708 13214//5568 +f 24851//11219 25178//13849 25179//13850 +f 8899//12302 10368//12688 9230//10769 +f 4497//7549 11015//3662 4631//7656 +f 8759//10510 10847//10414 10096//10413 +f 817//8869 4266//8847 7813//8846 +f 8586//3876 8587//2886 1949//3882 +f 21502//186 33930//3509 35730//187 +f 28721//13851 27754//10729 6863//5183 +f 28678//13852 28810//1820 29290//10757 +f 35915//638 27896//5312 29221//4088 +f 17670//10825 30734//2129 21382//6555 +f 7498//12920 7612//11066 7497//11069 +f 30204//13853 27407//2119 21754//13854 +f 9308//12165 10131//13855 8337//13856 +f 8641//13857 8640//10570 8533//10576 +f 8177//12123 8285//11780 8176//13858 +f 8392//11781 8391//11779 8284//11782 +f 10794//13366 10919//11776 10793//11789 +f 30204//13853 28476//5053 27407//2119 +f 9150//10734 9259//13123 9258//13766 +f 9761//11785 7565//12947 9672//10545 +f 429//4972 319//8604 320//6104 +f 12937//5866 9648//11825 12032//5865 +f 7150//10385 7257//9586 7149//6105 +f 35801//13859 35762//9579 35693//3020 +f 788//2507 9333//1421 3467//1423 +f 7046//9956 7150//10385 7149//6105 +f 9179//10487 9178//10489 9071//10722 +f 6490//2881 8793//10927 6489//5115 +f 26617//12473 31554//13860 26618//2623 +f 10118//4103 8442//4106 9795//11984 +f 7695//10639 10860//12960 7580//10640 +f 10322//13861 10203//13862 10323//13863 +f 9803//12726 7313//12809 8244//12905 +f 11365//2834 35436//5243 35943//2835 +f 4783//13864 4649//3314 3992//3316 +f 13628//2378 13726//2377 13627//6279 +f 7982//13778 7983//11683 8097//13593 +f 8668//13838 9909//13831 3722//11019 +f 7867//11772 7983//11683 7866//13779 +f 8098//11688 8209//11684 8208//13594 +f 9366//12086 9367//13865 9481//12071 +f 7637//11861 7752//11783 7636//13866 +f 9482//13730 9598//13644 9597//12072 +f 8613//12940 8720//11430 8612//12941 +f 8827//13867 8826//13868 8719//13733 +f 33231//13869 7522//13870 7521//13871 +f 1291//13872 4381//13629 6894//10544 +f 4769//6385 11272//13873 4903//3280 +f 7752//11783 7751//13777 7636//13866 +f 10554//11354 10676//11356 10675//13874 +f 11725//2226 11194//13100 9234//7166 +f 10554//11354 10553//13875 10433//13876 +f 10553//13875 10554//11354 10675//13874 +f 10434//11425 10433//13876 10313//13877 +f 10434//11425 10554//11354 10433//13876 +f 10077//11554 10195//11555 10076//13878 +f 10314//11467 10434//11425 10313//13877 +f 10314//11467 10313//13877 10194//13879 +f 10195//11555 10314//11467 10194//13879 +f 9266//11458 9267//13809 9378//11460 +f 9267//13809 9379//13797 9378//11460 +f 7908//13764 9782//10782 8567//13702 +f 8674//10692 7802//10694 7425//13880 +f 8078//13015 8189//13014 8077//13881 +f 8297//13607 8296//13698 8188//13608 +f 7963//13112 8078//13015 7962//13882 +f 8189//13014 8188//13608 8077//13881 +f 7963//13112 7962//13882 7846//13791 +f 7847//13027 7963//13112 7846//13791 +f 10185//13883 10304//13884 10184//10785 +f 8078//13015 8077//13881 7962//13882 +f 10185//13883 10184//10785 10066//10784 +f 10067//13793 10185//13883 10066//10784 +f 8182//13560 8183//12832 8290//13885 +f 10304//13884 10303//13886 10184//10785 +f 7537//11612 10828//8619 11193//11613 +f 8183//12832 8291//12834 8290//13885 +f 15211//5280 12467//13887 15084//13888 +f 7884//10912 7557//10911 8038//11616 +f 12589//10118 12679//3632 12588//2917 +f 11201//13632 815//13630 4381//13629 +f 12297//5824 13029//11317 12383//11525 +f 11661//4502 11660//9782 11585//7539 +f 9726//13889 9725//11548 9609//11541 +f 9610//13801 9726//13889 9609//11541 +f 9844//11500 9960//11641 9843//13890 +f 9494//13798 9610//13801 9493//11547 +f 9729//11501 9844//11500 9728//13891 +f 10077//11554 10076//13878 9959//13892 +f 13692//12558 35464//7143 35682//3726 +f 9960//11641 9959//13892 9843//13890 +f 9652//12649 10858//11642 10733//11644 +f 10402//13893 10522//10476 10401//12170 +f 3319//4366 5038//3073 4903//3280 +f 7670//11144 7330//11133 11389//11224 +f 8814//13894 8815//12870 8921//10474 +f 31550//13895 31476//6271 26517//10794 +f 10396//4222 10397//11764 10516//10435 +f 11035//12919 11162//11801 11161//13434 +f 778//6922 660//2873 779//3082 +f 10397//11764 10517//10427 10516//10435 +f 10676//11356 10800//11359 10799//13807 +f 8159//11959 10221//8374 10452//11433 +f 9497//11694 9613//11586 9496//13896 +f 10675//13874 10676//11356 10799//13807 +f 9382//11786 9497//11694 9381//13897 +f 9729//11501 9728//13891 9612//13898 +f 9382//11786 9381//13897 9269//13899 +f 9613//11586 9612//13898 9496//13896 +f 9270//11883 9382//11786 9269//13899 +f 9497//11694 9496//13896 9381//13897 +f 10311//13900 10310//11515 10191//11351 +f 10073//11204 10074//13812 10191//11351 +f 13291//2421 13961//2423 21506//13901 +f 10673//13902 10797//13903 10672//11788 +f 10850//13904 8471//13816 10974//13199 +f 12862//9515 12955//8849 12954//8848 +f 8826//13868 8825//13905 8718//13906 +f 9207//13735 10615//11123 10494//11129 +f 10854//8496 12815//9330 10363//10642 +f 8719//13733 8826//13868 8718//13906 +f 9144//13498 9253//12088 9252//12221 +f 8611//13907 8610//10408 8503//11071 +f 7155//13908 7156//12773 7262//13818 +f 9143//12225 9144//13498 9252//12221 +f 10293//13909 10294//13910 10413//13500 +f 8921//10474 8920//13320 8813//11769 +f 7055//13508 7056//12937 7159//13819 +f 10414//13817 10534//13726 10533//13725 +f 7483//11076 7597//11078 7596//13911 +f 7267//13126 7266//13912 7159//13819 +f 7355//12065 7144//11962 10705//12066 +f 11002//11678 8037//11680 9768//13134 +f 11024//12966 11151//11734 11023//11736 +f 12136//2600 35697//2202 11720//5716 +f 7144//11962 9768//13134 10705//12066 +f 8822//13587 8929//13051 8928//12312 +f 7839//13555 7840//13554 7955//13561 +f 8070//12085 8071//13558 8181//10919 +f 9257//13656 9256//13655 9147//13913 +f 9148//13785 9257//13656 9147//13913 +f 8118//941 10359//13734 14829//13914 +f 12948//13915 13042//13916 13041//10506 +f 3061//4247 7325//3537 8116//6424 +f 30425//13917 19345//13918 18376//13919 +f 10922//13920 11048//13921 10921//11635 +f 11175//13922 11174//11638 11047//11636 +f 11300//11639 11301//13923 11265//11886 +f 11048//13921 11175//13922 11047//11636 +f 8308//11993 9549//13924 10817//12096 +f 9787//13925 9549//13924 8308//11993 +f 11382//9182 35551//8027 1023//5540 +f 11024//12966 11023//11736 10897//13273 +f 14018//13926 14017//3161 13919//4351 +f 8129//3118 180//7642 69//2908 +f 8006//13927 9392//13839 8668//13838 +f 9909//13831 10026//13744 2225//6803 +f 8006//13927 9111//13928 9220//13840 +f 9392//13839 8006//13927 9220//13840 +f 9111//13928 8339//13929 7306//13841 +f 9220//13840 9111//13928 7306//13841 +f 8339//13929 10993//13930 11199//13842 +f 7306//13841 8339//13929 11199//13842 +f 10993//13930 7344//13931 8262//13753 +f 11199//13842 10993//13930 8262//13753 +f 11378//13932 11251//10397 16515//807 +f 8262//13753 7344//13931 7348//13754 +f 3201//13575 2634//13933 1754//13934 +f 7924//13574 13987//7662 8978//7664 +f 12071//13032 12153//3752 12152//10592 +f 12070//13935 12071//13032 12152//10592 +f 12766//11710 12767//3707 12858//3709 +f 13210//7370 12660//3901 12293//11287 +f 5193//4901 16035//5596 1846//9178 +f 10515//10438 4095//7648 10514//7647 +f 7608//13585 7607//13936 7493//13685 +f 5310//5660 5444//5662 5309//5664 +f 26578//12450 26226//13937 26083//12507 +f 8587//2886 8694//13020 1949//3882 +f 12418//3146 12417//3147 12331//3331 +f 9126//10977 9127//10870 9235//10872 +f 8576//10846 9217//10895 1254//2338 +f 3297//6844 3296//4071 3157//2977 +f 10099//12442 10749//13938 7589//11384 +f 4641//5693 4642//4873 4775//5694 +f 10401//12170 10400//10561 10280//13939 +f 519//9593 7342//13940 520//9664 +f 10890//13941 11016//3663 10889//13942 +f 10292//13065 10293//13909 10412//13066 +f 484//6152 598//6017 7657//11514 +f 10308//10516 10309//10515 10428//13581 +f 10179//13580 10298//12917 10178//13269 +f 8935//12278 9042//12843 8934//12279 +f 31044//7936 31043//13943 30982//7937 +f 8457//9069 8328//7471 8346//7470 +f 10151//12173 10941//12363 8328//7471 +f 8347//5282 8457//9069 8346//7470 +f 10131//13855 1507//9900 800//13792 +f 9197//3114 10461//4104 9089//13944 +f 10022//13635 9761//11785 6894//10544 +f 8726//13945 8725//13306 8618//11064 +f 15379//12679 15510//13676 15509//533 +f 16797//5885 14475//5886 14457//5452 +f 10118//4103 9795//11984 10714//13946 +f 10335//13947 10355//13948 9460//10940 +f 7637//11861 7636//13866 7522//13870 +f 9664//12362 10335//13947 9460//10940 +f 9519//13949 12294//13950 11077//13951 +f 15251//4575 15379//12679 15378//927 +f 15246//811 15374//813 14159//13952 +f 17013//13782 5349//318 5483//3957 +f 15250//925 15251//4575 15378//927 +f 10566//9429 5179//9428 5313//4406 +f 17177//3956 17013//13782 5483//3957 +f 5833//13953 5965//4517 9865//6236 +f 68//3514 671//3513 670//3698 +f 7867//11772 7866//13779 7751//13777 +f 10941//12363 9460//10940 8250//10942 +f 12296//11292 15764//11291 15226//13954 +f 28434//11007 28556//12079 28433//11008 +f 6882//13673 6881//13955 34463//13956 +f 8106//7446 8105//12365 7990//7047 +f 23532//13957 20822//11559 27060//11879 +f 7991//7046 8106//7446 7990//7047 +f 11083//10753 9664//12362 10151//12173 +f 29654//13958 29655//13959 29787//13960 +f 9019//10976 9020//10882 9127//10870 +f 7670//11144 10222//11216 8255//11134 +f 26797//2120 19040//2127 26930//2121 +f 10875//13961 9795//11984 9524//11986 +f 8619//11063 8726//13945 8618//11064 +f 10082//11383 10081//13962 9964//13767 +f 9960//11641 10077//11554 9959//13892 +f 10195//11555 10194//13879 10076//13878 +f 7050//12744 7154//12973 7153//12745 +f 9494//13798 9493//11547 9378//11460 +f 5174//3479 5040//4649 9226//12953 +f 8567//13702 8674//10692 7425//13880 +f 35825//13963 35937//3639 35436//5243 +f 10304//13884 10424//13964 10423//13965 +f 9245//11159 9244//12826 9135//10494 +f 10303//13886 10304//13884 10423//13965 +f 8814//13894 8921//10474 8813//11769 +f 10544//13520 10543//13523 10423//13965 +f 6952//13966 7051//12027 7050//12744 +f 10424//13964 10544//13520 10423//13965 +f 9818//11917 9934//12825 9817//13967 +f 1057//13418 2930//13419 10388//13422 +f 12122//3182 35904//2708 11876//13968 +f 8398//10780 8397//13969 8290//13885 +f 6895//13970 9911//11628 10146//13971 +f 10828//8619 7884//10912 11193//11613 +f 130//13972 2788//11120 6895//13970 +f 10492//11544 7591//11546 7590//13973 +f 8435//13974 10944//13975 8763//12097 +f 9911//11628 10492//11544 10146//13971 +f 9726//13889 9841//13811 9725//11548 +f 10817//12096 8435//13974 8763//12097 +f 9613//11586 9729//11501 9612//13898 +f 9841//13811 9840//11550 9725//11548 +f 21658//13976 29550//2648 21657//12356 +f 9844//11500 9843//13890 9728//13891 +f 10082//11383 10200//11382 10081//13962 +f 35329//13977 33666//13978 35199//13979 +f 26618//2623 31553//13980 26516//2624 +f 1755//7731 10241//7822 5062//7824 +f 10761//13981 8785//12563 10595//13387 +f 27061//11647 28376//11650 28375//13982 +f 7791//13983 9197//3114 8241//13984 +f 28126//13985 27167//5480 30204//13853 +f 30097//10755 30098//13986 19798//11275 +f 10707//12657 7625//11988 7621//11987 +f 9927//11733 10044//10590 10043//10932 +f 9197//3114 9089//13944 8241//13984 +f 9047//13987 9155//13361 9154//12933 +f 7954//11163 8069//10867 7953//11164 +f 7061//12210 4914//4014 11283//4016 +f 9696//10861 9811//10863 9810//10935 +f 8482//10849 1715//7920 8589//8728 +f 10452//11433 5830//8195 7820//7845 +f 26852//2137 26901//12343 29134//12345 +f 7632//13988 7631//12465 7517//13989 +f 631//9342 7451//9388 7452//12370 +f 7747//13990 7746//12369 7631//12465 +f 8839//12094 8838//13991 8731//13992 +f 8946//12093 8945//13993 8838//13991 +f 8732//12162 8731//13992 8624//13994 +f 8732//12162 8839//12094 8731//13992 +f 10922//13920 10921//11635 10796//11791 +f 8625//12196 8732//12162 8624//13994 +f 10599//13995 10608//11537 7087//13996 +f 10797//13903 10922//13920 10796//11791 +f 8471//13816 9207//13735 10494//11129 +f 7696//11534 10102//11532 9985//13997 +f 8719//13733 8718//13906 8611//13907 +f 10556//13050 10678//13272 10555//11355 +f 8504//13998 8611//13907 8503//11071 +f 8612//12941 8719//13733 8611//13907 +f 9144//13498 9143//12225 9035//12313 +f 8718//13906 8717//11980 8610//10408 +f 7486//12582 7485//12581 7373//13441 +f 9036//13499 9144//13498 9035//12313 +f 10174//13999 10175//14000 10293//13909 +f 433//4404 546//10989 8223//11115 +f 7160//13056 7267//13126 7159//13819 +f 10294//13910 10414//13817 10413//13500 +f 9593//14001 9709//14002 9592//14003 +f 9824//14004 9823//14005 9708//14006 +f 7630//10804 7517//13989 7631//12465 +f 6952//13966 7050//12744 6951//11392 +f 8607//12523 8608//14007 8714//12412 +f 8715//13586 8822//13587 8821//12519 +f 8290//13885 8289//10920 8181//10919 +f 9039//14008 9038//14009 8931//14010 +f 8291//12834 8398//10780 8290//13885 +f 8505//13489 8504//13998 8397//13969 +f 12947//6286 12948//13915 13041//10506 +f 12954//8848 13048//8850 13047//9136 +f 13164//8584 13163//8586 13069//11059 +f 25428//14011 24205//14012 22200//14013 +f 11175//13922 11301//13923 11300//11639 +f 11174//11638 11175//13922 11300//11639 +f 8625//12196 8624//13994 8517//14014 +f 8518//12283 8625//12196 8517//14014 +f 8411//12371 8410//14015 8303//13775 +f 8304//8620 8411//12371 8303//13775 +f 12047//2712 11966//2711 13776//4094 +f 19930//14016 17721//14017 18000//14018 +f 12395//14019 6140//14020 6009//14021 +f 12222//14022 10374//13358 9883//13357 +f 11336//9661 10590//9663 8006//13927 +f 10026//13744 11268//6947 2225//6803 +f 10590//9663 9003//14023 9111//13928 +f 8006//13927 10590//9663 9111//13928 +f 9003//14023 8257//14024 8339//13929 +f 9111//13928 9003//14023 8339//13929 +f 8257//14024 9980//14025 10993//13930 +f 8339//13929 8257//14024 10993//13930 +f 9980//14025 8269//14026 7344//13931 +f 10993//13930 9980//14025 7344//13931 +f 14529//10396 16515//807 11251//10397 +f 7344//13931 8269//14026 11378//13932 +f 12950//1734 12951//14027 13044//1735 +f 11524//3346 11591//3348 11523//10643 +f 13139//14028 13140//9137 15528//14029 +f 13044//1735 13045//14030 13138//145 +f 12951//14027 13045//14030 13044//1735 +f 444//13576 2908//10852 13890//7663 +f 9029//10472 9137//12678 9028//10473 +f 4094//6820 4095//7648 4228//4195 +f 10173//13064 10174//13999 10292//13065 +f 8820//11230 8819//11229 8712//11590 +f 35619//4207 35896//2841 28346//2840 +f 410//9965 411//10046 524//9966 +f 10436//13045 10556//13050 10435//11424 +f 10588//12948 11225//11679 11269//12949 +f 6794//7843 7578//8104 7475//7844 +f 26624//8481 35818//2090 26735//8479 +f 11298//10981 11299//10980 11209//11315 +f 7726//11067 7727//10532 7841//10534 +f 11718//14031 26231//14032 13124//14033 +f 9653//10368 7560//14034 11238//13359 +f 10765//10512 10890//13941 10889//13942 +f 10764//10513 10765//10512 10889//13942 +f 35613//14035 35553//9130 35490//2773 +f 7665//11158 7666//12171 9100//11377 +f 8982//13043 10527//13042 8959//13310 +f 7555//13365 7795//11166 10736//11168 +f 956//6026 955//6161 8007//3808 +f 9246//11160 9358//12587 9357//11161 +f 9089//13944 7327//10466 9781//10710 +f 8241//13984 9089//13944 9781//10710 +f 8025//4261 8444//4263 10103//12166 +f 10250//4419 9322//4428 10131//13855 +f 10678//13272 10802//14036 10801//11358 +f 1446//7947 1445//1486 17173//8028 +f 3990//4114 5555//8862 4927//3319 +f 8217//14037 8216//12463 8105//12365 +f 8106//7446 8217//14037 8105//12365 +f 257//5574 7314//5731 258//5729 +f 10520//10562 10642//11162 10519//10563 +f 8325//14038 8324//12464 8216//12463 +f 8911//11154 8910//5126 8803//12089 +f 8217//14037 8325//14038 8216//12463 +f 22713//1877 22714//1876 22812//1893 +f 35725//3456 27286//2267 35462//2266 +f 4280//1316 4412//5043 15762//5178 +f 948//1257 14568//545 829//2209 +f 16070//181 247//324 16192//4291 +f 5483//3957 5349//318 14736//4133 +f 16692//1800 1890//1487 1071//7850 +f 15063//1798 16692//1800 16688//7763 +f 23309//6939 23308//10188 23210//6940 +f 5049//4179 4914//4014 7061//12210 +f 8499//11777 8606//12605 8498//11778 +f 9618//11307 9734//11295 9617//14039 +f 5058//8280 9307//8373 1388//8197 +f 35488//639 35501//8015 35471//330 +f 8432//14040 8431//12560 8324//12464 +f 8325//14038 8432//14040 8324//12464 +f 8539//14041 8538//12652 8431//12560 +f 8432//14040 8539//14041 8431//12560 +f 10418//13364 10417//13446 10297//13268 +f 8646//14042 8645//12653 8538//12652 +f 8165//11689 8273//11771 8164//10884 +f 1284//4353 1283//5032 1167//3641 +f 31689//14043 31688//14044 31593//14045 +f 26517//10794 31476//6271 26518//6273 +f 35229//14046 11393//11396 7685//11325 +f 7038//2723 7039//8488 314//3307 +f 10619//12914 8652//12835 10569//13788 +f 9161//11992 9270//11883 9160//14047 +f 8351//7838 7934//10987 9318//13047 +f 7827//13442 7828//12400 7943//11859 +f 7599//12399 7714//12215 7713//12217 +f 433//4404 2126//6502 546//10989 +f 7485//12581 7599//12399 7598//12398 +f 7484//11077 7485//12581 7598//12398 +f 7485//12581 7484//11077 7372//10416 +f 7373//13441 7485//12581 7372//10416 +f 7155//13908 7262//13818 7261//13729 +f 7154//12973 7155//13908 7261//13729 +f 9671//13144 7176//10853 9785//12955 +f 7262//13818 7373//13441 7261//13729 +f 10051//12824 10050//14048 9933//14049 +f 9934//12825 10051//12824 9933//14049 +f 10408//12740 10528//12603 10407//13371 +f 9714//12476 9829//12831 9828//12477 +f 6949//14050 6950//11391 7048//13582 +f 10146//13971 10492//11544 7590//13973 +f 8058//12959 8169//13543 8168//12962 +f 7626//12753 7656//14051 9016//12836 +f 8348//14052 7555//13365 10612//12751 +f 10944//13975 10331//14053 10235//12197 +f 10180//12915 10179//13580 10061//10732 +f 11198//10754 7806//10708 8031//10598 +f 25210//14054 2820//14055 2679//14056 +f 7555//13365 10736//11168 10612//12751 +f 9723//13479 9838//13363 9837//12756 +f 35547//2503 35637//2505 35921//9885 +f 10913//10917 10914//13518 11039//14057 +f 10044//10590 10162//10638 10043//10932 +f 8539//14041 8646//14042 8538//12652 +f 35850//14058 35701//3243 35568//2366 +f 8753//14059 8752//12743 8645//12653 +f 8646//14042 8753//14059 8645//12653 +f 8860//14060 8859//12749 8752//12743 +f 8753//14059 8860//14060 8752//12743 +f 8860//14060 8967//14061 8966//12828 +f 8859//12749 8860//14060 8966//12828 +f 8967//14061 9074//14062 9073//12925 +f 8966//12828 8967//14061 9073//12925 +f 9074//14062 9182//14063 9181//13016 +f 9073//12925 9074//14062 9181//13016 +f 10783//11469 10784//10984 10908//13538 +f 10169//11921 10170//11920 10288//13046 +f 10512//10478 7143//10480 7534//10938 +f 35620//14064 35680//12738 35787//14065 +f 9259//13123 9371//11238 9258//13766 +f 10784//10984 10909//11017 10908//13538 +f 7862//14066 7861//12468 7746//12369 +f 7632//13988 7747//13990 7631//12465 +f 35479//2218 35826//5328 6877//4774 +f 9415//11227 10239//11226 8259//13113 +f 8259//13113 7197//7758 10028//11225 +f 7504//13024 7618//12927 7503//13116 +f 10805//11279 10930//11361 10929//14067 +f 8234//13179 7548//6706 11325//13092 +f 11048//13921 11047//11636 10921//11635 +f 9962//14068 10079//14069 9961//11640 +f 9006//11539 10608//11537 10599//13995 +f 8142//12469 1292//14070 10981//12564 +f 8940//14071 8939//13121 8832//13214 +f 8993//14072 9006//11539 10599//13995 +f 8398//10780 8505//13489 8397//13969 +f 6638//13497 1951//12470 10761//13981 +f 8611//13907 8718//13906 8610//10408 +f 8612//12941 8611//13907 8504//13998 +f 8821//12519 8822//13587 8928//12312 +f 8825//13905 8824//12069 8717//11980 +f 29104//2650 29103//14073 28968//2651 +f 8929//13051 9036//13499 9035//12313 +f 8712//11590 8711//14074 8604//14075 +f 11243//7462 10016//14076 74//7366 +f 8819//11229 8818//14077 8711//14074 +f 8605//11591 8712//11590 8604//14075 +f 2842//5884 4637//5724 2441//9475 +f 1385//6515 6263//6516 3058//3538 +f 8179//14078 8287//14079 8178//12120 +f 8287//14079 8394//14080 8393//12124 +f 8932//14081 9039//14008 8931//14010 +f 9146//11773 9147//13913 9255//10929 +f 7611//11068 7726//11067 7725//13553 +f 7610//13549 7611//11068 7725//13553 +f 12953//10792 12954//8848 13047//9136 +f 7734//10972 7619//9658 1040//4860 +f 7591//11546 9006//11539 8993//14072 +f 7590//13973 7591//11546 8993//14072 +f 11301//13923 9787//13925 11265//11886 +f 11265//11886 9787//13925 8308//11993 +f 8518//12283 8517//14014 8410//14015 +f 8411//12371 8518//12283 8410//14015 +f 35467//2217 35527//10527 35828//2798 +f 11907//13118 11991//13030 11990//13120 +f 11336//9661 3722//11019 3592//11018 +f 11586//6917 11585//7539 11518//14082 +f 35581//2318 35785//3349 35840//3049 +f 9390//14083 9389//13210 9277//9439 +f 22345//2160 14629//14084 21570//2161 +f 16045//12454 10735//13149 7584//12453 +f 15879//14085 11565//14086 35722//8727 +f 11565//14086 22535//14087 35722//8727 +f 35791//14088 15879//14085 35722//8727 +f 9003//14023 8896//7944 8257//14024 +f 8896//7944 8138//14089 8257//14024 +f 8257//14024 8138//14089 9980//14025 +f 14613//7946 9649//14090 8138//14089 +f 9980//14025 9649//14090 8269//14026 +f 10818//2026 10499//14091 9676//1872 +f 14824//14092 9649//14090 15970//14093 +f 12070//13935 12152//10592 12151//10591 +f 14203//7161 14202//3519 14106//13686 +f 12676//9399 12677//2920 12765//8257 +f 12858//3709 12951//14027 12950//1734 +f 12660//3901 12663//4093 13214//5568 +f 12766//11710 12858//3709 12857//12770 +f 9705//12596 9820//12506 9819//11916 +f 8606//12605 8713//11589 8605//11591 +f 12240//11856 12239//12404 12156//11857 +f 9028//10473 9027//12388 8920//13320 +f 9823//14005 9939//14094 9938//14095 +f 14115//3160 14114//7820 14016//7727 +f 7604//13125 7605//12014 7719//13133 +f 10678//13272 10677//11357 10555//11355 +f 8171//10539 8172//10439 8279//10441 +f 8707//11768 8814//13894 8813//11769 +f 9491//13488 9607//13478 9490//12838 +f 11326//10460 10687//10459 8452//11462 +f 8010//14096 8009//8279 13484//2228 +f 7560//14034 7198//10509 9081//10412 +f 11016//3663 11015//3662 10889//13942 +f 11238//13359 7560//14034 9081//10412 +f 7361//10552 7475//7844 7587//10553 +f 10398//14097 10399//12169 10518//14098 +f 10382//14099 12926//8276 11620//79 +f 10567//11157 7666//12171 7665//11158 +f 11145//4647 11144//4646 11017//14100 +f 2127//8375 1388//8197 9307//8373 +f 10714//13946 8148//10467 7327//10466 +f 9089//13944 10714//13946 7327//10466 +f 10250//4419 10131//13855 9308//12165 +f 8444//4263 10250//4419 9308//12165 +f 35731//4960 11895//7373 12039//2227 +f 31641//13848 31552//7756 31553//13980 +f 18609//14101 23325//14102 18963//14103 +f 6990//1080 11257//12931 9681//1081 +f 7759//10768 35880//9084 35609//9083 +f 9181//13016 9182//14063 9290//13018 +f 13200//2515 13295//7244 5419//2915 +f 12673//5564 12762//5410 12761//7911 +f 10045//10589 10163//14104 10044//10590 +f 8512//13039 8619//11063 8511//11065 +f 13996//3109 13997//3156 10468//3351 +f 8575//9859 3990//4114 4124//3128 +f 1846//9178 2712//4292 5193//4901 +f 182//14105 19529//14106 181//14107 +f 21112//9154 21200//14108 21111//1211 +f 15765//1368 15762//5178 14558//4737 +f 28983//14109 21638//14110 21730//14111 +f 14736//4133 16070//181 16192//4291 +f 7334//9091 7223//14112 7335//12413 +f 15062//4741 15063//1798 16688//7763 +f 8303//13775 8195//14113 1626//6148 +f 15111//256 15112//8024 15237//8026 +f 1716//7921 8485//11797 8591//10709 +f 13776//4094 2494//8351 12129//4095 +f 13296//1182 2621//412 2765//414 +f 9020//10882 9128//12182 9127//10870 +f 23722//11220 24851//11219 25179//13850 +f 28676//1749 28624//10826 27296//13688 +f 341//10797 14190//13829 14259//7561 +f 35775//6451 35790//6818 35564//9713 +f 2210//1114 2518//13625 6520//1116 +f 13827//4036 13826//3898 13728//3897 +f 33487//2045 33606//13821 33486//13823 +f 11083//10753 10809//10752 9664//12362 +f 9258//13766 9370//13477 9257//13656 +f 11209//11315 10470//10429 10952//11316 +f 7862//14066 7978//14114 7977//12263 +f 34281//5764 34419//14115 34280//5765 +f 7160//13056 7161//12002 7267//13126 +f 35768//9613 35420//12654 35452//2334 +f 8919//13545 9026//13645 9025//14116 +f 7049//11393 7153//12745 7152//14117 +f 35722//8727 14563//6847 35801//13859 +f 7704//11648 10886//13362 8033//13642 +f 8822//13587 8823//12068 8929//13051 +f 8608//14007 8609//10409 8715//13586 +f 8716//11981 8823//12068 8822//13587 +f 8501//14118 8502//10410 8608//14007 +f 8609//10409 8716//11981 8715//13586 +f 8394//14080 8395//14119 8501//14118 +f 21650//13772 34887//13773 21651//14120 +f 8287//14079 8288//10921 8394//14080 +f 9243//10495 9355//12827 9354//14121 +f 20011//8923 20328//14122 15735//88 +f 11025//12965 11152//5695 11151//11734 +f 9701//14123 9702//13224 9816//14124 +f 9214//12095 7680//13776 11219//13403 +f 11024//12966 11025//12965 11151//11734 +f 8551//9886 6740//6129 8461//7362 +f 10898//13153 10899//12964 11024//12966 +f 9621//14125 9620//13385 9504//13303 +f 11273//12737 3192//14126 11272//13873 +f 7978//14114 8093//14127 8092//10404 +f 9505//14128 9621//14125 9504//13303 +f 9955//11206 9954//11863 9838//13363 +f 26695//5903 26807//11726 26806//5904 +f 7791//13983 8241//13984 10335//13947 +f 9371//11238 9370//13477 9258//13766 +f 4098//8378 17030//9158 7466//2740 +f 8008//13289 11219//13403 9524//11986 +f 9236//10871 9237//12090 9348//12092 +f 9097//7353 1643//3362 9318//13047 +f 11148//12310 11274//12415 11147//11885 +f 9349//12091 9464//14129 9463//13300 +f 9352//8183 9467//11245 9466//8184 +f 22520//14130 22619//2731 22519//12783 +f 9145//10931 9254//10930 9144//13498 +f 10066//10784 10065//11072 9948//11140 +f 10646//10818 10770//9193 10769//9194 +f 9574//13423 11348//11013 8737//13420 +f 10830//12183 10871//10502 8737//13420 +f 27180//14131 11668//14132 27063//14133 +f 13042//13916 13043//1736 13136//14134 +f 7733//12928 7732//13028 7617//12929 +f 10322//13861 10321//13602 10202//13601 +f 10203//13862 10322//13861 10202//13601 +f 10079//14069 10078//11552 9961//11640 +f 9579//13590 9580//12956 9695//10925 +f 11328//14135 10831//14136 10718//12658 +f 10981//12564 11328//14135 10718//12658 +f 10608//11537 7696//11534 7087//13996 +f 2788//11120 9911//11628 6895//13970 +f 35609//9083 35447//1340 35822//5341 +f 9083//13335 10949//13339 11074//13236 +f 8505//13489 8612//12941 8504//13998 +f 7840//13554 7841//10534 7956//13557 +f 8718//13906 8825//13905 8717//11980 +f 8932//14081 8931//14010 8824//12069 +f 8928//12312 8929//13051 9035//12313 +f 8714//12412 8715//13586 8821//12519 +f 6614//6285 6488//8097 8793//10927 +f 35621//1439 35610//1438 35444//8500 +f 9754//10939 9339//10549 7765//11766 +f 8121//11899 8979//11897 8230//14137 +f 13414//5560 13417//6420 9642//2021 +f 13813//1732 13911//3355 13910//1733 +f 8068//10869 8179//14078 8067//12018 +f 8287//14079 8286//12122 8178//12120 +f 9256//13655 9368//13654 9367//13865 +f 9598//13644 9599//13652 9714//12476 +f 35862//6848 35805//8646 35924//8645 +f 3016//2976 9576//5683 9692//5836 +f 9981//8459 11785//8618 8557//8617 +f 9325//11618 10130//14138 8246//11619 +f 7819//14139 8450//11517 10336//14140 +f 10456//11519 6963//11198 6964//14141 +f 9549//13924 8435//13974 10817//12096 +f 10718//12658 10831//14136 7626//12753 +f 9040//11774 9041//10736 9148//13785 +f 10804//14142 10805//11279 10929//14067 +f 7379//12006 7378//14143 7267//13126 +f 7605//12014 7720//12015 7719//13133 +f 35460//11908 35508//9825 35844//12441 +f 11079//12482 7421//12819 10953//13222 +f 11377//11014 7063//13613 8327//11015 +f 9486//11239 9602//13409 9601//13290 +f 5179//9428 11188//13231 5045//5552 +f 10859//7751 74//7366 10016//14076 +f 13914//11898 14012//11597 14011//11596 +f 13913//12200 13914//11898 14011//11596 +f 14207//14144 14305//14145 14206//7346 +f 341//10797 4259//14146 14190//13829 +f 4259//14146 341//10797 14304//7347 +f 14305//14145 4259//14146 14304//7347 +f 12033//13182 10377//10559 4787//7238 +f 15339//864 22936//867 14245//14147 +f 23419//14 23224//2745 16015//7163 +f 6521//2518 2125//13598 1052//10268 +f 12236//8592 12321//5830 12235//1862 +f 14107//11498 14203//7161 14106//13686 +f 12858//3709 12859//3708 12951//14027 +f 11993//5980 11992//5982 11908//12405 +f 2492//8350 7777//8352 13029//11317 +f 11823//4995 11909//7910 11822//4996 +f 35187//14148 6907//12731 35186//12813 +f 8597//14149 8598//10451 8704//14150 +f 10515//10438 10516//10435 10637//4993 +f 8169//13543 8170//11130 8277//11132 +f 11112//13360 11370//10411 11371//12561 +f 24359//14151 24279//14152 24525//7144 +f 9652//12649 13388//2229 7893//12650 +f 10984//12651 11112//13360 11371//12561 +f 11356//12481 9758//12483 10581//13106 +f 8280//10440 8387//12578 8386//12297 +f 9723//13479 9722//12660 9606//12754 +f 11299//10980 10033//11887 11209//11315 +f 8396//11228 8503//11071 8395//14119 +f 9947//13647 9948//11140 10064//11141 +f 7198//10509 7799//11976 8759//10510 +f 7799//11976 7812//11969 8759//10510 +f 10278//6513 10279//14153 10398//14097 +f 10399//12169 10519//10563 10518//14098 +f 9838//13363 9954//11863 9837//12756 +f 10071//11862 10070//12374 9953//12566 +f 10766//10517 10767//10704 10891//10706 +f 11018//11706 11145//4647 11017//14100 +f 10714//13946 9795//11984 10875//13961 +f 8148//10467 10714//13946 10875//13961 +f 13457//7638 13456//4117 13361//5858 +f 28722//14154 28856//10907 6410//8116 +f 13921//12303 13920//10878 13822//6140 +f 14186//7543 3736//7545 8345//7472 +f 35939//1140 35401//3123 35888//3122 +f 806//6390 807//6397 925//6398 +f 11360//14155 9422//14156 10340//13390 +f 7060//10661 11490//14157 11556//10113 +f 8544//14158 11360//14155 10726//13389 +f 27016//14159 27017//14160 27133//6005 +f 4194//64 25597//14161 4193//173 +f 9717//10434 9716//13650 9600//13578 +f 10937//14162 8544//14158 9340//14163 +f 11315//8996 35539//10314 11693//14164 +f 9422//14156 9307//8373 10340//13390 +f 31600//14165 31695//14166 31599//14167 +f 17467//14168 17389//3276 17468//14169 +f 6914//116 7013//115 7012//14170 +f 7012//14170 7116//14171 7115//14172 +f 7013//115 7117//14173 7116//14171 +f 7012//14170 7013//115 7116//14171 +f 7117//14173 7224//14174 7223//14112 +f 7116//14171 7117//14173 7223//14112 +f 7334//9091 397//8968 396//8761 +f 7224//14174 7335//12413 7223//14112 +f 7517//13989 7630//10804 7515//10822 +f 11761//14175 11760//14176 11679//14177 +f 11259//10658 10822//12284 10698//13583 +f 9146//11773 9145//10931 9037//13484 +f 10190//10514 10189//12272 10071//11862 +f 10957//11207 8545//13675 8649//11126 +f 8335//11871 10341//14178 4933//12083 +f 10089//13386 10207//14179 10088//14180 +f 11360//14155 10340//13390 10726//13389 +f 4933//12083 9866//14181 10498//14182 +f 9866//14181 7887//14183 10498//14182 +f 7887//14183 10937//14162 10498//14182 +f 10089//13386 10088//14180 9971//14184 +f 9972//13301 10089//13386 9971//14184 +f 20205//14185 20206//1459 20291//14186 +f 7861//12468 7862//14066 7977//12263 +f 10160//11020 10159//5434 10041//6147 +f 10252//11878 7669//11873 10989//10499 +f 10169//11921 10168//14187 10050//14048 +f 10051//12824 10169//11921 10050//14048 +f 9026//13645 9134//10493 9133//14188 +f 9134//10493 9243//10495 9242//14189 +f 10886//13362 7704//11648 8992//9183 +f 10886//13362 8143//13481 8033//13642 +f 9512//13631 10022//13635 6894//10544 +f 9901//2836 10886//13362 8992//9183 +f 7712//13544 7827//13442 7826//13471 +f 7567//12945 7565//12947 9761//11785 +f 9703//11918 9818//11917 9817//13967 +f 7711//14190 7712//13544 7826//13471 +f 8235//10437 11391//10442 9626//5423 +f 9702//13224 9703//11918 9817//13967 +f 1713//2884 8587//2886 1712//3877 +f 7669//11873 7219//11214 10989//10499 +f 8131//10415 8996//10501 8108//11136 +f 7383//13552 7382//12074 7271//10406 +f 9621//14125 9737//14191 9620//13385 +f 27550//3262 20866//6162 14089//14192 +f 9972//13301 9971//14184 9855//8700 +f 9737//14191 9736//13401 9620//13385 +f 7468//3325 13974//6631 13584//12359 +f 35655//9470 35654//14193 35773//9471 +f 10937//14162 9340//14163 10498//14182 +f 13909//11373 14007//11372 14006//12516 +f 7439//10468 10341//14178 7554//11877 +f 8544//14158 10726//13389 9340//14163 +f 9667//10711 7439//10468 9551//11970 +f 10341//14178 9866//14181 4933//12083 +f 11052//11516 11053//13719 11179//11281 +f 10341//14178 8335//11871 7554//11877 +f 10822//12284 10337//12372 10457//13496 +f 9734//11295 9849//11312 9733//14194 +f 8052//10885 8163//10888 8162//4214 +f 11053//13719 11180//14195 11179//11281 +f 8273//11771 8380//11770 8272//10886 +f 6378//6021 6379//6020 6505//6119 +f 379//7056 492//6948 7550//6950 +f 8380//11770 8487//11217 8486//11888 +f 9683//14196 10493//9076 3721//9075 +f 9308//12165 8337//13856 7254//14197 +f 11182//14198 11183//11442 11308//14199 +f 10751//11960 10452//11433 7398//11434 +f 10015//11427 10444//10542 8127//11511 +f 6940//10613 34720//14200 6941//8486 +f 13999//14201 14097//14202 10324//14203 +f 10442//14204 10441//9616 10321//13602 +f 10643//10477 10767//10704 10766//10517 +f 35889//3245 35354//3244 35678//7447 +f 10831//14136 7656//14051 7626//12753 +f 10422//10567 10421//10866 10301//10568 +f 10336//14140 10456//11519 6964//14141 +f 9060//14205 10626//14206 10625//12913 +f 11282//11610 9981//8459 8557//8617 +f 6963//11198 2788//11120 130//13972 +f 7726//11067 7841//10534 7840//13554 +f 11193//11613 7884//10912 8038//11616 +f 8825//13905 8932//14081 8824//12069 +f 7725//13553 7726//11067 7840//13554 +f 9126//10977 9235//10872 2472//9259 +f 9147//13913 9146//11773 9038//14009 +f 8235//10437 11096//10436 2357//6024 +f 33608//2401 33735//2391 33607//6423 +f 520//9664 7342//13940 7343//9815 +f 4910//5688 11279//5687 4776//4875 +f 35397//5584 35438//6711 35817//5585 +f 15050//226 16670//393 16665//227 +f 13988//5967 13987//7662 7924//13574 +f 13266//5851 13362//5857 13265//5852 +f 9715//13651 9830//13649 9829//12831 +f 9714//12476 9715//13651 9829//12831 +f 10684//13680 14191//14207 14289//14208 +f 8485//11797 8486//11888 8592//11890 +f 8460//14209 10978//14210 11118//11621 +f 11605//4549 11680//14211 11604//7637 +f 7720//12015 7835//12012 7834//10609 +f 7378//14143 7379//12006 7490//13055 +f 7656//14051 9060//14205 9016//12836 +f 8233//14212 10349//14213 10339//12822 +f 10542//10864 10664//12167 10541//10865 +f 9808//11085 9809//10926 9924//5026 +f 19736//14214 18006//14215 5199//1713 +f 10442//14204 10562//13679 10441//9616 +f 9384//14216 9383//11787 9271//11991 +f 9272//11506 9384//14216 9271//11991 +f 34754//14217 21737//14218 34627//14219 +f 6249//3814 9564//743 9449//3815 +f 33390//14220 33503//14221 33389//14222 +f 74//7366 10859//7751 575//7463 +f 430//6106 431//9585 545//9587 +f 13401//14223 13315//7372 11697//14224 +f 12081//3377 12080//3623 11999//8089 +f 12000//3524 12081//3377 11999//8089 +f 14094//8082 9684//8083 9304//12292 +f 4259//14146 14094//8082 14190//13829 +f 13097//7635 13670//14225 14088//7636 +f 14190//13829 14094//8082 9304//12292 +f 1754//13934 2368//10116 13097//7635 +f 12947//6286 13041//10506 12946//6287 +f 11904//14226 11905//14227 11988//14228 +f 12069//13669 12070//13935 12151//10591 +f 14107//11498 14106//13686 14008//11371 +f 14301//12382 14300//3520 14202//3519 +f 11989//14229 12070//13935 12069//13669 +f 12676//9399 12765//8257 12764//8256 +f 8131//10415 8108//11136 11187//11313 +f 10516//10435 10638//10428 10637//4993 +f 35538//8654 10604//14230 5426//8655 +f 10096//10413 8131//10415 11187//11313 +f 9085//10991 7216//11867 11269//12949 +f 8009//8279 11112//13360 10984//12651 +f 10200//11382 10319//11387 10199//14231 +f 10595//13387 10707//12657 7621//11987 +f 4651//11422 11346//14232 18631//11423 +f 9901//2836 8992//9183 11364//8641 +f 21466//376 21467//10730 11514//374 +f 34931//14233 34930//14234 34801//14235 +f 8503//11071 8502//10410 8395//14119 +f 9948//11140 10065//11072 10064//11141 +f 8783//11971 9104//10498 10847//10414 +f 7812//11969 8783//11971 10847//10414 +f 10279//14153 10278//6513 10159//5434 +f 10160//11020 10279//14153 10159//5434 +f 10789//13519 10914//13518 10913//10917 +f 10788//13595 10789//13519 10913//10917 +f 10892//10705 11018//11706 11017//14100 +f 10891//10706 10892//10705 11017//14100 +f 7358//14236 11324//14237 7351//9159 +f 16015//7163 23224//2745 23413//7164 +f 12221//14238 13021//3324 7811//3326 +f 13823//1007 13921//12303 13822//6140 +f 14019//14239 14018//13926 13920//10878 +f 12582//14240 12583//5563 12672//5565 +f 22718//2732 22717//14241 22618//2733 +f 28612//14242 28624//10826 30365//10827 +f 35555//8313 35487//2817 35399//5185 +f 30624//4969 14652//14243 14561//14244 +f 9692//5836 9807//6843 3157//2977 +f 8033//13642 8971//14245 9683//14196 +f 7704//11648 8033//13642 9683//14196 +f 10461//4104 10118//4103 10714//13946 +f 21308//14246 35933//637 35766//14247 +f 13608//735 13410//13295 4797//13297 +f 11019//11707 11146//14248 11145//4647 +f 8241//13984 9781//10710 10355//13948 +f 34139//850 34277//849 34138//14249 +f 34139//850 34138//14249 34002//14250 +f 17270//5974 26406//12126 11453//14251 +f 17318//5667 21658//13976 27406//5668 +f 7014//114 7118//14252 7117//14173 +f 7012//14170 6913//14253 6914//116 +f 7118//14252 7225//13054 7224//14174 +f 7117//14173 7118//14252 7224//14174 +f 35508//9825 35750//9196 35789//7055 +f 29821//13203 35796//12655 27956//14254 +f 11520//4523 11587//5020 11519//14255 +f 2337//9260 9017//5125 2472//9259 +f 9324//13641 9212//10751 8971//14245 +f 8033//13642 9324//13641 8971//14245 +f 7747//13990 7862//14066 7746//12369 +f 11116//10500 7670//11144 11389//11224 +f 5310//5660 9084//6497 10446//10525 +f 27160//14256 27279//14257 27278//14258 +f 10335//13947 8241//13984 10355//13948 +f 10538//14259 10537//13445 10417//13446 +f 1656//732 15363//731 7570//12752 +f 12983//14260 25650//14261 13077//14262 +f 10207//14179 10206//14263 10088//14180 +f 9679//13643 7796//10781 9212//10751 +f 9390//14083 9505//14128 9389//13210 +f 9505//14128 9504//13303 9389//13210 +f 7398//11434 7820//7845 7475//7844 +f 9137//12678 9136//13302 9028//10473 +f 9934//12825 9933//14049 9817//13967 +f 9173//10470 10811//13415 11220//10471 +f 3977//6411 121//6270 5043//6269 +f 9133//14188 9134//10493 9242//14189 +f 10514//7647 3960//9522 3961//5257 +f 10413//13500 10533//13725 10532//13063 +f 8705//14264 8706//11767 8812//12865 +f 10532//13063 10533//13725 10654//13062 +f 10956//13695 7659//13694 7658//14265 +f 8813//11769 8920//13320 8919//13545 +f 9651//14266 9652//12649 10733//11644 +f 10887//14267 10956//13695 7658//14265 +f 8996//10501 11116//10500 8890//11137 +f 10788//13595 10913//10917 10912//10916 +f 1828//3293 1949//3882 1948//3096 +f 22836//14268 35901//6172 35878//6171 +f 8422//14269 8423//10265 1993//5296 +f 490//6742 377//6850 491//6851 +f 8316//13591 8423//10265 8422//14269 +f 10581//13106 9758//12483 7470//12501 +f 11046//11730 11173//10979 11045//13299 +f 8315//14270 8316//13591 8422//14269 +f 35398//1371 9634//3236 35677//4865 +f 10519//10563 10641//10511 10640//10518 +f 8326//14271 8325//14038 8217//14037 +f 8217//14037 8106//7446 8218//14272 +f 8433//14273 8432//14040 8325//14038 +f 8326//14271 8433//14273 8325//14038 +f 34887//13773 21649//13718 34758//13717 +f 8540//14274 8539//14041 8432//14040 +f 8235//10437 9626//5423 11097//9339 +f 17468//14169 22237//3275 6913//14253 +f 8627//8693 1983//5011 8628//9434 +f 11192//13426 11318//14275 9574//13423 +f 9943//13448 9944//10684 10060//13447 +f 11297//11297 11298//10981 8145//11314 +f 9324//13641 9679//13643 9212//10751 +f 7482//14276 7483//11076 7596//13911 +f 8433//14273 8540//14274 8432//14040 +f 8981//12963 9309//3112 7796//10781 +f 8647//2361 8646//14042 8539//14041 +f 8540//14274 8647//2361 8539//14041 +f 8754//2363 8753//14059 8646//14042 +f 8647//2361 8754//2363 8646//14042 +f 8861//14277 8860//14060 8753//14059 +f 29685//6336 35931//6338 35829//1946 +f 7751//13777 7866//13779 7750//14278 +f 8097//13593 8096//14279 7981//14280 +f 7982//13778 7981//14280 7865//14281 +f 7866//13779 7982//13778 7865//14281 +f 12244//4113 12329//3749 12243//4861 +f 7202//12176 7314//5731 152//5730 +f 8655//11985 8008//13289 9524//11986 +f 14008//11371 14106//13686 14105//13690 +f 9016//12836 9060//14205 10625//12913 +f 10626//14206 8233//14212 10354//12821 +f 6964//14141 6963//11198 130//13972 +f 10305//14282 10306//12286 10425//14283 +f 7557//10911 10130//14138 9325//11618 +f 8038//11616 7557//10911 9325//11618 +f 7841//10534 7957//13795 7956//13557 +f 9713//12475 9828//12477 9827//13450 +f 9039//14008 9147//13913 9038//14009 +f 9147//13913 9256//13655 9255//10929 +f 11164//13610 11290//13513 11289//11798 +f 11037//13534 11164//13610 11036//12930 +f 11290//13513 93//13512 696//11799 +f 11163//11802 11164//13610 11289//11798 +f 93//13512 11065//13427 10703//11803 +f 11289//11798 11290//13513 696//11799 +f 10727//13424 9796//11806 10703//11803 +f 696//11799 93//13512 10703//11803 +f 9830//13649 9946//13648 9945//10682 +f 9829//12831 9830//13649 9945//10682 +f 10523//10820 10645//10819 10522//10476 +f 10645//10819 10644//10873 10522//10476 +f 12063//14284 12145//14285 8107//7445 +f 9679//13643 8981//12963 7796//10781 +f 9557//14286 7416//11828 8436//14287 +f 10272//11927 11195//11696 11068//14288 +f 10354//12821 8233//14212 10339//12822 +f 9765//628 7883//14289 9766//11011 +f 35721//4537 35887//7147 35654//14193 +f 10453//14290 11185//13692 10350//14291 +f 10321//13602 10322//13861 10442//14204 +f 9300//11285 8368//11233 8255//11134 +f 7636//13866 7751//13777 7635//14292 +f 7866//13779 7865//14281 7750//14278 +f 8861//14277 8968//14293 8967//14061 +f 8860//14060 8861//14277 8967//14061 +f 8968//14293 9075//14294 9074//14062 +f 1401//4498 1400//4497 1284//4353 +f 15274//8205 25000//8204 23784//14295 +f 12412//9743 12411//6724 12325//6723 +f 11826//12161 11825//14296 11741//4501 +f 12326//12696 12412//9743 12325//6723 +f 11587//5020 11662//5855 11586//6917 +f 2499//7535 2498//7536 2088//10117 +f 13097//7635 2368//10116 13670//14225 +f 12856//8258 12857//12770 12949//13194 +f 10093//14297 13520//7562 13497//11201 +f 14009//7038 14107//11498 14008//11371 +f 14301//12382 14302//12926 131//14298 +f 11988//14228 11989//14229 12069//13669 +f 12675//14299 12676//9399 12764//8256 +f 13231//14300 13136//14134 13137//144 +f 14009//7038 14008//11371 13910//1733 +f 9822//14301 9823//14005 9938//14095 +f 8996//10501 8890//11137 8108//11136 +f 9354//14121 9355//12827 9469//13490 +f 9819//11916 9935//5390 9818//11917 +f 35460//11908 35772//11907 35508//9825 +f 9046//13036 9047//13987 9154//12933 +f 35816//8209 35575//3259 21489//3258 +f 10281//10637 10401//12170 10280//13939 +f 2785//2079 2650//4663 2786//12924 +f 8427//14302 8534//14303 8426//10586 +f 9832//10433 9831//13646 9716//13650 +f 9601//13290 9717//10434 9600//13578 +f 2361//1422 9222//11057 460//2904 +f 8716//11981 8717//11980 8823//12068 +f 10252//11878 10989//10499 9104//10498 +f 8482//10849 8589//8728 8588//2885 +f 10279//14153 10399//12169 10398//14097 +f 8783//11971 10252//11878 9104//10498 +f 9118//14304 8903//7468 10383//14305 +f 10383//14305 8903//7468 10386//7042 +f 10383//14305 8900//14306 9118//14304 +f 7469//14307 10846//14308 9118//14304 +f 8900//14306 11324//14237 7358//14236 +f 9118//14304 8900//14306 7358//14236 +f 7418//1636 8991//6412 560//1470 +f 7418//1636 7351//9159 11324//14237 +f 20723//14309 20724//3766 18274//14310 +f 12820//7739 11873//8199 12728//6509 +f 9399//11114 10865//11603 2743//8610 +f 13149//14311 3177//5990 11787//3542 +f 7636//13866 7635//14292 7521//13871 +f 7521//13871 7520//14312 33336//14313 +f 8967//14061 8968//14293 9074//14062 +f 9075//14294 9183//14314 9182//14063 +f 8852//11509 2379//8173 2248//4702 +f 8766//12390 10613//10901 8659//10903 +f 26231//14032 26090//14315 13124//14033 +f 32964//14316 33070//14317 32963//14318 +f 9074//14062 9075//14294 9182//14063 +f 4633//3661 4632//7655 11015//3662 +f 35807//10399 35825//13963 35576//8640 +f 19808//14319 22139//11692 22138//14320 +f 8451//11594 9770//5811 6513//5658 +f 7014//114 7117//14173 7013//115 +f 26406//12126 19141//12128 11453//14251 +f 7015//10564 7119//14321 7118//14252 +f 7014//114 7015//10564 7118//14252 +f 7119//14321 7226//14322 7225//13054 +f 7118//14252 7119//14321 7225//13054 +f 28991//12980 27956//14254 35796//12655 +f 35747//13368 35460//11908 35844//12441 +f 35714//6849 35862//6848 35412//8644 +f 4361//3830 4228//4195 4229//4994 +f 10582//13137 10723//3113 9309//3112 +f 11873//8199 13149//14311 11787//3542 +f 6083//9786 18496//14323 16191//10019 +f 7659//13694 9068//13693 9067//14324 +f 30928//14325 30927//13184 30873//13187 +f 28745//2089 35504//2091 29008//4496 +f 7006//14326 14828//14327 10238//13737 +f 29659//14328 29658//10623 29520//14329 +f 11882//6635 11966//2711 5419//2915 +f 1387//14330 15928//291 15789//290 +f 8671//2752 35823//2621 35833//2750 +f 8755//2362 8648//14331 12577//14332 +f 28371//14333 30096//9086 30095//9085 +f 28371//14333 28374//14334 30096//9086 +f 27060//11879 27061//11647 28375//13982 +f 13897//14335 13613//5991 3177//5990 +f 35362//3702 35782//2620 35697//2202 +f 10819//13379 10333//13377 10332//14336 +f 10695//14337 10819//13379 10332//14336 +f 7168//14338 9426//13684 10695//14337 +f 7713//12217 7712//13544 7597//11078 +f 9169//14339 9168//13781 7168//14338 +f 7484//11077 7598//12398 7597//11078 +f 8913//8096 9020//10882 9019//10976 +f 9426//13684 10819//13379 10695//14337 +f 3319//4366 4903//3280 11272//13873 +f 9128//12182 9237//12090 9236//10871 +f 8981//12963 10582//13137 9309//3112 +f 21658//13976 21657//12356 27406//5668 +f 10730//13136 11211//4102 10723//3113 +f 13775//11472 20822//11559 23532//13957 +f 14308//7633 8049//7915 10468//3351 +f 8180//10868 8181//10919 8288//10921 +f 8049//7915 13996//3109 10468//3351 +f 5060//10329 1028//5401 5194//6249 +f 35464//7143 10005//1599 35640//1598 +f 2107//14340 9977//9528 9975//1590 +f 2518//13625 1856//5711 6520//1116 +f 10582//13137 10730//13136 10723//3113 +f 8327//11015 7063//13613 10830//12183 +f 7359//13135 7700//4105 11211//4102 +f 14021//2358 14022//3333 14119//2360 +f 8207//14341 8208//13594 8315//14270 +f 5040//4649 5174//3479 5039//4367 +f 11786//1865 9121//13757 10958//1866 +f 7977//12263 7978//14114 8092//10404 +f 8092//10404 8093//14127 1635//10403 +f 11163//11802 11162//11801 11035//12919 +f 1518//6257 1635//10403 1634//6258 +f 8093//14127 8204//12912 1635//10403 +f 11036//12930 11163//11802 11035//12919 +f 8162//4214 1366//4062 1251//3861 +f 10730//13136 7359//13135 11211//4102 +f 11723//8180 12114//8179 12137//3636 +f 7386//13012 7385//12921 7274//14342 +f 8208//13594 8316//13591 8315//14270 +f 7596//13911 7597//11078 7711//14190 +f 29495//3031 27024//6826 29633//14343 +f 7982//13778 8097//13593 7981//14280 +f 3180//7908 12112//14344 10710//14345 +f 7342//13940 519//9593 7341//14346 +f 10735//13149 16045//12454 9418//7916 +f 6549//4806 6674//4810 6673//4809 +f 6410//8116 35535//6699 35846//8117 +f 8337//13856 800//13792 9422//14156 +f 9018//10975 9017//5125 8910//5126 +f 213//6267 7934//10987 8351//7838 +f 9300//11285 10744//13115 8368//11233 +f 8940//14071 9047//13987 8939//13121 +f 11050//13805 11177//13804 11049//14347 +f 11034//13539 11035//12919 11161//13434 +f 10625//12913 10626//14206 10354//12821 +f 11177//13804 11303//13803 11302//14348 +f 10187//12377 10306//12286 10186//14349 +f 7359//13135 7650//12954 7575//4107 +f 10130//14138 8460//14209 8246//11619 +f 10306//12286 10426//12198 10425//14283 +f 7582//11794 10968//11793 7697//13412 +f 7845//14350 7844//11821 7729//11827 +f 9398//12316 7582//11794 8774//13311 +f 10968//11793 9565//13314 7697//13412 +f 9409//13313 9302//12228 8774//13311 +f 7582//11794 7697//13412 8774//13311 +f 9421//13220 9536//12230 9409//13313 +f 9302//12228 9398//12316 8774//13311 +f 8440//13312 7576//12130 8120//13221 +f 9536//12230 9302//12228 9409//13313 +f 7700//4105 7359//13135 7575//4107 +f 11366//12129 9536//12230 9421//13220 +f 13339//14351 13340//14352 13758//14353 +f 10499//14091 9790//3923 9676//1872 +f 11400//14354 12558//14355 12900//14356 +f 10015//11427 11310//2931 10458//11513 +f 28219//14357 27754//10729 28721//13851 +f 7171//14358 7170//14359 7066//14360 +f 11296//11729 7416//11828 9557//14286 +f 11295//14361 11296//11729 9557//14286 +f 8128//14362 10012//14363 14287//14364 +f 11498//8081 13210//7370 12293//11287 +f 9067//14324 9068//13693 10635//14365 +f 10636//13691 11185//13692 10453//14290 +f 14309//7632 9802//9078 8049//7915 +f 12957//10330 13051//7255 13050//13780 +f 8054//13370 8165//11689 8053//10883 +f 8159//11959 10452//11433 10751//11960 +f 7254//14197 11360//14155 8544//14158 +f 7680//13776 7254//14197 8544//14158 +f 8150//4378 8977//4892 5962//4824 +f 4785//12977 20571//12575 17104//12975 +f 11659//6919 11658//8477 11583//3121 +f 12591//7011 12590//7538 12500//6386 +f 13720//5939 13818//5940 13817//14366 +f 13818//5940 13916//7343 13817//14366 +f 13719//5842 13720//5939 13817//14366 +f 13916//7343 13915//14367 13817//14366 +f 13916//7343 14014//7122 14013//14368 +f 13915//14367 13916//7343 14013//14368 +f 14112//7004 14111//14369 14013//14368 +f 14014//7122 14112//7004 14013//14368 +f 14208//7006 14207//14144 14111//14369 +f 14112//7004 14208//7006 14111//14369 +f 14208//7006 14306//7009 14305//14145 +f 14207//14144 14208//7006 14305//14145 +f 1172//10045 4105//3743 10986//14370 +f 14113//7005 14114//7820 14209//7007 +f 8888//13529 11377//11014 11348//11013 +f 315//3308 314//3307 7039//8488 +f 8609//10409 8610//10408 8716//11981 +f 10574//13527 8888//13529 7770//10611 +f 9717//10434 9832//10433 9716//13650 +f 9832//10433 9948//11140 9947//13647 +f 9491//13488 9490//12838 9375//10452 +f 11318//14275 8888//13529 11348//11013 +f 9885//11994 8651//10657 7894//12180 +f 9200//10431 9885//11994 7894//12180 +f 8641//13857 8748//13683 8640//10570 +f 11372//10455 11066//10458 11326//10460 +f 5191//5422 5325//5419 2354//5417 +f 8220//10454 11066//10458 11372//10455 +f 10383//14305 10386//7042 8343//7041 +f 8343//7041 14066//7040 7777//8352 +f 8437//14371 10383//14305 8343//7041 +f 10950//11012 8437//14371 8343//7041 +f 8437//14371 9172//14372 8900//14306 +f 10383//14305 8437//14371 8900//14306 +f 9172//14372 11311//14373 11324//14237 +f 8900//14306 9172//14372 11324//14237 +f 8991//6412 7418//1636 11324//14237 +f 11311//14373 8991//6412 11324//14237 +f 2107//14340 1137//2674 9977//9528 +f 11868//14374 156//9828 9533//14375 +f 22339//6033 23230//6039 22437//9181 +f 8385//11146 8492//10449 8491//11147 +f 7751//13777 7750//14278 7635//14292 +f 11225//11679 10588//12948 8037//11680 +f 8337//13856 9422//14156 11360//14155 +f 7260//10418 7259//13800 7152//14117 +f 7254//14197 8337//13856 11360//14155 +f 10971//10978 670//3698 7694//11495 +f 6801//4957 6264//5106 10476//12320 +f 10005//1599 8333//7242 13611//2964 +f 11474//14376 11473//14377 11423//13398 +f 7705//2520 9742//3931 7879//4109 +f 14018//13926 14116//3159 14017//3161 +f 16807//2994 5001//5037 15117//3393 +f 35840//3049 35593//3048 35581//2318 +f 28076//13204 28219//14357 28721//13851 +f 6917//7452 7016//14378 7015//10564 +f 6916//10565 6917//7452 7015//10564 +f 7016//14378 7120//14379 7119//14321 +f 7015//10564 7016//14378 7119//14321 +f 7120//14379 7227//14380 7226//14322 +f 7119//14321 7120//14379 7226//14322 +f 7227//14380 7338//9387 7337//13762 +f 7226//14322 7227//14380 7337//13762 +f 19254//14381 19256//14382 5542//9160 +f 18143//14383 5494//3231 5630//1660 +f 315//3308 7040//3696 316//3695 +f 7343//9815 7232//13238 407//9816 +f 10333//13377 11073//13375 10823//14384 +f 10332//14336 10333//13377 10823//14384 +f 6148//14385 9177//8986 15889//8985 +f 8697//10652 8696//10464 8589//8728 +f 7921//10505 7911//10463 8143//13481 +f 30607//14386 6916//10565 7014//114 +f 1522//6624 5866//6625 322//6523 +f 8015//12691 3192//14126 11273//12737 +f 8313//7924 1869//6923 1753//7653 +f 65//14387 7169//14388 8678//11512 +f 29137//5613 29138//2139 29143//2141 +f 11146//14248 11272//13873 4769//6385 +f 9839//11551 9838//13363 9723//13479 +f 9849//11312 9848//13678 9733//14194 +f 8977//4892 5963//6943 5962//4824 +f 7748//14389 7747//13990 7632//13988 +f 7633//9952 7748//14389 7632//13988 +f 7863//14390 7862//14066 7747//13990 +f 7748//14389 7863//14390 7747//13990 +f 7237//10125 7238//10269 412//10122 +f 7979//14391 7978//14114 7862//14066 +f 9722//12660 9723//13479 9837//12756 +f 14997//4142 14257//10390 3193//14392 +f 10281//10637 10280//13939 10161//10933 +f 9702//13224 9817//13967 9816//14124 +f 20990//14393 21076//14394 27606//14395 +f 9608//11542 9724//11549 9607//13478 +f 9387//11310 9386//14396 9274//14397 +f 6739//6128 6614//6285 8461//7362 +f 7593//10750 7708//10685 898//6921 +f 9166//11304 9275//11305 9165//14398 +f 7583//14399 7698//12118 8149//10550 +f 9618//11307 9617//14039 9501//14400 +f 7583//14399 11337//14401 7698//12118 +f 7352//11298 10136//13674 10957//11207 +f 9852//14402 9968//14403 9851//13400 +f 9810//10935 9811//10863 9926//10936 +f 9852//14402 9851//13400 9736//13401 +f 9737//14191 9852//14402 9736//13401 +f 10974//13199 10849//11556 9776//13200 +f 9968//14403 9967//13502 9851//13400 +f 9270//11883 9269//13899 9160//14047 +f 8072//13794 8073//14404 8183//12832 +f 8946//12093 9053//11990 8945//13993 +f 9161//11992 9160//14047 9052//14405 +f 8839//12094 8946//12093 8838//13991 +f 9053//11990 9161//11992 9052//14405 +f 7771//14406 9868//13198 10844//14407 +f 9053//11990 9052//14405 8945//13993 +f 10203//13862 10202//13601 10084//13503 +f 14163//11954 12572//2380 12819//2402 +f 10085//14408 10084//13503 9967//13502 +f 10085//14408 10203//13862 10084//13503 +f 8097//13593 8208//13594 8207//14341 +f 9968//14403 10085//14408 9967//13502 +f 9811//10863 9927//11733 9926//10936 +f 8096//14279 8097//13593 8207//14341 +f 9502//11308 9618//11307 9501//14400 +f 8585//10554 7587//10553 11089//14409 +f 11318//14275 11348//11013 9574//13423 +f 22125//8808 22221//8678 22124//542 +f 10861//11167 8374//13431 9448//10689 +f 7565//12947 8982//13043 7564//13410 +f 8911//11154 9018//10975 8910//5126 +f 9563//10491 7929//10490 8565//10547 +f 9140//14410 9139//1813 9031//12972 +f 8405//13038 8404//13040 8297//13607 +f 11050//13805 11049//14347 10923//14411 +f 7804//7153 10475//7269 6671//7268 +f 24069//14412 23241//14413 29947//14414 +f 10924//13806 11050//13805 10923//14411 +f 10187//12377 10186//14349 10068//14415 +f 10754//12950 7366//4258 7575//4107 +f 7730//14416 7845//14350 7729//11827 +f 10069//12376 10187//12377 10068//14415 +f 9373//14417 9488//14418 9487//13309 +f 7845//14350 7961//14419 7960//11922 +f 9488//14418 9604//14420 9603//13408 +f 9372//13217 9373//14417 9487//13309 +f 9720//14421 9719//13510 9603//13408 +f 9487//13309 9488//14418 9603//13408 +f 9835//14422 9834//13609 9719//13510 +f 9604//14420 9720//14421 9603//13408 +f 9951//14423 9950//13699 9834//13609 +f 9720//14421 9835//14422 9719//13510 +f 10068//14415 10067//13793 9950//13699 +f 9835//14422 9951//14423 9834//13609 +f 10186//14349 10185//13883 10067//13793 +f 9951//14423 10068//14415 9950//13699 +f 7650//12954 10754//12950 7575//4107 +f 10068//14415 10186//14349 10067//13793 +f 7416//11828 10272//11927 8436//14287 +f 7170//14359 7277//6806 11634//12232 +f 14119//2360 14120//3335 14215//2222 +f 11170//11634 11296//11729 11295//14361 +f 10635//14365 10636//13691 10453//14290 +f 10106//13216 5042//13215 12838//14424 +f 11021//4484 11148//12310 11147//11885 +f 7658//14265 7659//13694 9067//14324 +f 8601//12875 8708//12871 8600//12305 +f 10517//10427 10518//14098 10639//10422 +f 9827//13450 9828//12477 9943//13448 +f 10104//11234 8585//10554 7529//14425 +f 8982//13043 8959//13310 7564//13410 +f 8396//11228 8395//14119 8288//10921 +f 27141//14426 17318//5667 27754//10729 +f 35453//7459 35457//6115 35517//2933 +f 12414//10109 12503//10164 12413//14427 +f 12503//10164 12593//8468 12502//14428 +f 12328//5431 12414//10109 12327//6835 +f 12593//8468 12592//8467 12502//14428 +f 12243//4861 12328//5431 12242//6834 +f 12503//10164 12502//14428 12413//14427 +f 12243//4861 12242//6834 12159//14429 +f 12414//10109 12413//14427 12327//6835 +f 12160//4862 12243//4861 12159//14429 +f 12328//5431 12327//6835 12242//6834 +f 14306//7009 10565//3352 14305//14145 +f 10565//3352 4259//14146 14305//14145 +f 20927//14430 27865//14431 20847//14432 +f 13585//3552 11061//2925 12721//8178 +f 11293//13266 10574//13527 11292//10610 +f 17447//14433 12372//503 33704//12318 +f 1071//7850 1890//1487 1446//7947 +f 9376//10425 9491//13488 9375//10452 +f 21813//14434 28817//6184 28950//12281 +f 3717//7267 11243//7462 74//7366 +f 7755//13394 7754//10666 7639//10726 +f 6618//8855 6619//7654 6743//7354 +f 8653//14435 10755//11979 7676//14436 +f 7560//14034 9653//10368 14186//7543 +f 8653//14435 8250//10942 8357//11978 +f 10755//11979 8653//14435 8357//11978 +f 8951//7741 9058//11209 8950//13740 +f 9058//11209 9057//13671 8950//13740 +f 7883//14289 10950//11012 9766//11011 +f 2494//8351 9766//11011 7777//8352 +f 7928//14437 8437//14371 10950//11012 +f 7883//14289 7928//14437 10950//11012 +f 7928//14437 8019//14438 9172//14372 +f 8437//14371 7928//14437 9172//14372 +f 6974//14439 11311//14373 9172//14372 +f 8019//14438 6974//14439 9172//14372 +f 11120//6410 8991//6412 11311//14373 +f 6974//14439 11120//6410 11311//14373 +f 938//1019 7588//9149 7813//8846 +f 34412//4763 34411//8188 34273//14440 +f 9687//13376 5202//13596 6892//14441 +f 8278//11131 8385//11146 8384//11145 +f 10945//10461 8767//12742 10936//10462 +f 29243//13292 29380//14442 29379//14443 +f 23398//499 21028//498 23397//2092 +f 7786//10546 10104//11234 8565//10547 +f 8380//11770 8379//11796 8272//10886 +f 33401//14444 33400//14445 33291//6326 +f 12661//3899 12821//2709 3341//3900 +f 10468//3351 10565//3352 14306//7009 +f 13390//7245 13884//5155 13883//7246 +f 28219//14357 27141//14426 27754//10729 +f 14222//14446 666//14447 14221//14448 +f 11501//2729 4793//3966 11801//14449 +f 4649//3314 671//3513 6635//3315 +f 6849//7453 6916//10565 29281//14450 +f 35688//4715 35669//1286 35506//13542 +f 6362//5114 6489//5115 6361//4830 +f 21683//14451 3488//494 21590//14452 +f 7017//8003 7121//14453 7120//14379 +f 7016//14378 7017//8003 7120//14379 +f 7121//14453 7228//14454 7227//14380 +f 7120//14379 7121//14453 7227//14380 +f 7228//14454 7339//14455 7338//9387 +f 7227//14380 7228//14454 7338//9387 +f 5630//1660 19312//1659 18143//14383 +f 7339//14455 7451//9388 7338//9387 +f 2137//14456 21658//13976 17318//5667 +f 20628//7140 20627//14457 20545//14458 +f 10675//13874 10799//13807 10798//14459 +f 10674//14460 10675//13874 10798//14459 +f 11180//14195 11306//14461 11305//11282 +f 7633//9952 7632//13988 7518//9953 +f 11003//13105 10581//13106 8225//13475 +f 15458//2527 15457//135 15070//7846 +f 7838//12829 7954//11163 7837//11165 +f 9986//13053 7365//4260 7366//4258 +f 6505//6119 6504//6118 6378//6021 +f 10754//12950 9986//13053 7366//4258 +f 2357//6024 2206//4714 2491//3813 +f 11096//10436 11097//9339 9341//6107 +f 7514//14462 7515//10822 7628//11301 +f 7764//3469 9517//5010 3061//4247 +f 4095//7648 10637//4993 4228//4195 +f 27141//14426 2137//14456 17318//5667 +f 7213//13188 164//12315 7324//13189 +f 10539//14463 10661//10983 10538//14259 +f 9235//10872 9236//10871 9347//13507 +f 10766//10517 10891//10706 10890//13941 +f 9088//13052 8552//4262 7365//4260 +f 10162//10638 10281//10637 10161//10933 +f 9986//13053 9088//13052 7365//4260 +f 11114//13127 10987//4418 8552//4262 +f 9088//13052 11114//13127 8552//4262 +f 9783//8963 9669//4427 10987//4418 +f 6417//3802 6542//11143 6416//3610 +f 11114//13127 9783//8963 10987//4418 +f 10103//12166 9308//12165 7254//14197 +f 8551//9886 8461//7362 8793//10927 +f 975//9442 5826//10311 5691//4563 +f 9387//11310 9502//11308 9386//14396 +f 10809//10752 7791//13983 10335//13947 +f 10104//11234 7529//14425 8565//10547 +f 10522//10476 10644//10873 10643//10477 +f 10461//4104 10714//13946 9089//13944 +f 14201//6621 14299//3521 14200//13304 +f 7676//14436 8345//7472 8653//14435 +f 8073//14404 8184//12833 8183//12832 +f 7382//12074 7494//13584 7493//13685 +f 10431//14464 10551//14465 10550//11695 +f 10299//12916 10419//14466 10298//12917 +f 10192//13813 10311//13900 10191//11351 +f 10431//14464 10430//11604 10310//11515 +f 10311//13900 10431//14464 10310//11515 +f 9816//14124 9817//13967 9932//14467 +f 10430//11604 10431//14464 10550//11695 +f 9027//12388 9135//10494 9134//10493 +f 10673//13902 10672//11788 10550//11695 +f 10551//14465 10673//13902 10550//11695 +f 8079//13111 8078//13015 7963//13112 +f 10797//13903 10796//11791 10672//11788 +f 8442//4106 8775//4108 8008//13289 +f 7848//13026 7964//13110 7847//13027 +f 14110//7016 14206//7346 14205//7017 +f 11176//14468 11177//13804 11302//14348 +f 6377//6863 7541//11322 6378//6021 +f 10533//13725 10655//13440 10654//13062 +f 35566//7149 35925//4727 35815//2158 +f 7608//13585 7723//13597 7722//12830 +f 8379//11796 8380//11770 8486//11888 +f 11046//11730 11045//13299 10919//11776 +f 8871//7540 9865//6236 5831//4891 +f 10518//14098 10519//10563 10640//10518 +f 9971//14184 10088//14180 9970//14469 +f 2506//5702 9059//2760 8952//5680 +f 10206//14263 10205//14470 10087//14471 +f 10088//14180 10206//14263 10087//14471 +f 15071//137 15462//1024 15332//9000 +f 7945//10810 8060//10815 8059//10811 +f 11177//13804 11176//14468 11049//14347 +f 10924//13806 10923//14411 10798//14459 +f 9783//8963 348//8866 9669//4427 +f 9038//14009 9146//11773 9037//13484 +f 10306//12286 10305//14282 10186//14349 +f 10069//12376 10068//14415 9951//14423 +f 7844//11821 7845//14350 7960//11922 +f 7961//14419 8076//14472 8075//11998 +f 8188//13608 8187//14473 8076//14472 +f 8077//13881 8188//13608 8076//14472 +f 7962//13882 7961//14419 7845//14350 +f 7846//13791 7962//13882 7845//14350 +f 7616//13284 7615//14474 7501//14475 +f 7502//13196 7616//13284 7501//14475 +f 7502//13196 7501//14475 7389//14476 +f 7390//13197 7502//13196 7389//14476 +f 7390//13197 7389//14476 7278//14477 +f 7279//13193 7390//13197 7278//14477 +f 7469//14307 9118//14304 7358//14236 +f 7279//13193 7278//14477 7171//14358 +f 10305//14282 10304//13884 10185//13883 +f 7172//13619 7279//13193 7171//14358 +f 22035//6407 33671//259 22036//258 +f 10186//14349 10305//14282 10185//13883 +f 11169//14478 11170//11634 11295//14361 +f 7276//6805 11634//12232 7277//6806 +f 4099//14479 8901//13756 1274//13752 +f 10917//11632 11043//11728 10916//14480 +f 9068//13693 10636//13691 10635//14365 +f 13716//3318 13717//1560 13814//3354 +f 14217//7828 14315//8091 14216//7829 +f 10553//13875 10552//14481 10432//14482 +f 7587//10553 10378//10556 11089//14409 +f 4240//5453 10648//14483 10526//14484 +f 10498//14182 7360//14485 10236//12084 +f 10088//14180 10087//14471 9970//14469 +f 7812//11969 10847//10414 8759//10510 +f 3182//7740 3461//1207 1727//9883 +f 12417//3147 12506//2955 12416//3748 +f 11645//2728 11570//13373 4793//3966 +f 11794//6733 7800//6732 12197//8470 +f 7873//11288 11981//7048 7990//7047 +f 7800//6732 12221//14238 12220//8471 +f 12197//8470 7800//6732 12220//8471 +f 12221//14238 7811//3326 11485//8590 +f 12220//8471 12221//14238 11485//8590 +f 12160//4862 12159//14429 12077//5720 +f 12078//4543 12160//4862 12077//5720 +f 11743//9801 11742//4500 11662//5855 +f 10565//3352 13998//3155 14094//8082 +f 10726//13389 8159//11959 10330//11958 +f 10340//13390 10221//8374 8159//11959 +f 13627//6279 13725//1008 13724//6137 +f 9340//14163 10726//13389 10330//11958 +f 8913//8096 8912//10713 8805//10712 +f 6247//3824 9206//12214 7511//6862 +f 8806//13796 8805//10712 8698//14486 +f 8806//13796 8913//8096 8805//10712 +f 1716//7921 8591//10709 8590//7922 +f 8699//13715 8806//13796 8698//14486 +f 8699//13715 8698//14486 8591//10709 +f 8592//11890 8699//13715 8591//10709 +f 8250//10942 9919//10941 8357//11978 +f 9919//10941 9414//11967 8357//11978 +f 7158//12779 7159//13819 7265//12978 +f 11219//13403 7680//13776 10937//14162 +f 8526//627 7883//14289 9765//628 +f 2494//8351 9765//628 9766//11011 +f 8329//14487 7928//14437 7883//14289 +f 8526//627 8329//14487 7883//14289 +f 7558//14488 8019//14438 7928//14437 +f 8329//14487 7558//14488 7928//14437 +f 7558//14488 9654//14489 6974//14439 +f 8019//14438 7558//14488 6974//14439 +f 10606//14490 11120//6410 6974//14439 +f 9654//14489 10606//14490 6974//14439 +f 7426//10445 8311//6235 6097//7263 +f 10606//14490 8147//9079 11120//6410 +f 8277//11132 8278//11131 8384//11145 +f 11638//14491 11718//14031 13124//14033 +f 2674//2115 21655//10496 21653//8907 +f 11073//13375 9687//13376 9221//14492 +f 8585//10554 11089//14409 7529//14425 +f 2673//2316 2674//2115 21653//8907 +f 7680//13776 8544//14158 10937//14162 +f 9971//14184 9970//14469 9854//14493 +f 11561//14494 7066//14360 7170//14359 +f 9790//3923 13885//3922 9521//14495 +f 10159//5434 10278//6513 3700//5435 +f 15175//1226 5060//10329 5194//6249 +f 13920//10878 13919//4351 13821//4350 +f 13920//10878 14018//13926 13919//4351 +f 2118//5294 1993//5296 8530//10266 +f 2119//3893 8530//10266 8638//3891 +f 18618//5211 26488//14496 28985//14497 +f 25240//14498 25367//14499 25667//14500 +f 27177//14501 29550//2648 21658//13976 +f 26672//5624 26784//5620 26783//6181 +f 28190//14502 29681//14503 29545//5617 +f 7018//8002 7122//14504 7121//14453 +f 25005//14505 11794//6733 12197//8470 +f 7122//14504 7229//14506 7228//14454 +f 7121//14453 7122//14504 7228//14454 +f 7229//14506 7340//14507 7339//14455 +f 7228//14454 7229//14506 7339//14455 +f 7452//12370 7451//9388 7339//14455 +f 7340//14507 7452//12370 7339//14455 +f 8012//4008 6417//3802 6418//4006 +f 16035//5596 3325//5595 1846//9178 +f 10313//13877 10433//13876 10312//14508 +f 7368//2874 660//2873 545//9587 +f 33444//14509 7518//9953 7517//13989 +f 12159//14429 12158//13736 12076//5721 +f 9855//8700 9854//14493 9739//8698 +f 9740//8699 9623//14510 17170//9016 +f 8696//10464 8803//12089 8802//11139 +f 8541//14511 8540//14274 8433//14273 +f 35572//6703 35857//5042 35706//6704 +f 8648//14331 8647//2361 8540//14274 +f 3224//14512 21939//14513 22033//8889 +f 8648//14331 8755//2362 8647//2361 +f 8540//14274 8541//14511 8648//14331 +f 9140//14410 9249//1811 9139//1813 +f 8534//14303 8641//13857 8533//10576 +f 11712//2663 29634//14514 17263//2664 +f 8748//13683 8747//10579 8640//10570 +f 8969//6154 9076//6156 9075//14294 +f 8968//14293 8969//6154 9075//14294 +f 9076//6156 9184//11923 9183//14314 +f 9075//14294 9076//6156 9183//14314 +f 35561//2474 22835//643 35417//3312 +f 29126//5464 17256//5463 21295//14515 +f 11966//2711 11882//6635 4923//6915 +f 8112//13235 9083//13335 11074//13236 +f 14006//12516 14007//11372 14104//13305 +f 13625//14516 13723//5393 13624//7145 +f 9481//12071 9480//12073 9365//12087 +f 18930//12574 20571//12575 4785//12977 +f 5826//10311 7531//14517 5825//10240 +f 9513//14518 8884//13230 11190//10524 +f 14120//3335 14121//3941 14216//7829 +f 21653//8907 21655//10496 7294//21 +f 35559//12364 35888//3122 35748//3124 +f 12674//13034 12675//14299 12763//14519 +f 189//2351 16693//2512 17184//2350 +f 10948//14520 8897//14521 10218//12373 +f 440//6532 12845//10699 1255//10015 +f 8763//12097 10944//13975 10235//12197 +f 10331//14053 10948//14520 10947//12285 +f 8202//11526 8577//11528 10032//14522 +f 10235//12197 10331//14053 10947//12285 +f 9661//887 10934//2522 7682//3926 +f 35597//6452 35775//6451 35564//9713 +f 8766//12390 8659//10903 9085//10991 +f 15070//7846 15071//137 15332//9000 +f 9521//14495 2107//14340 2106//1739 +f 10225//13425 9870//10990 10128//10992 +f 9985//13997 10102//11532 10032//14522 +f 8577//11528 8578//14523 10032//14522 +f 10218//12373 8897//14521 8142//12469 +f 7087//13996 7696//11534 9985//13997 +f 10947//12285 10948//14520 10218//12373 +f 1292//14070 11328//14135 10981//12564 +f 11303//13803 10758//13802 8550//14524 +f 8897//14521 1292//14070 8142//12469 +f 8093//14127 8094//14525 8204//12912 +f 9728//13891 9727//14526 9611//14527 +f 8870//13318 9756//13317 9408//14528 +f 2205//2570 9017//5125 2337//9260 +f 14114//7820 14113//7005 14015//7123 +f 10161//10933 10280//13939 10160//11020 +f 14307//7008 14308//7633 10468//3351 +f 22132//6406 22228//4653 22227//4652 +f 22131//9284 22132//6406 22227//4652 +f 31630//14529 31725//14530 31629//14531 +f 10071//11862 10189//12272 10070//12374 +f 9323//10596 8031//10598 9102//12109 +f 21029//1935 21028//498 15458//2527 +f 4502//6931 5739//6930 810//7027 +f 10799//13807 10924//13806 10798//14459 +f 10433//13876 10553//13875 10432//14482 +f 10840//13298 9296//13482 9297//10469 +f 10559//11211 10681//11280 10558//13787 +f 9952//12565 10069//12376 9951//14423 +f 9952//12565 9951//14423 9835//14422 +f 7960//11922 7961//14419 8075//11998 +f 8187//14473 8186//12098 8075//11998 +f 8077//13881 8076//14472 7961//14419 +f 7962//13882 8077//13881 7961//14419 +f 9159//14532 9158//13808 9050//13710 +f 9051//14533 9159//14532 9050//13710 +f 9495//14534 9494//13798 9379//13797 +f 9268//14535 9267//13809 9158//13808 +f 9842//14536 9841//13811 9726//13889 +f 9380//14537 9495//14534 9379//13797 +f 9958//14538 9957//13810 9841//13811 +f 9727//14526 9842//14536 9726//13889 +f 10075//14539 10074//13812 9957//13810 +f 9842//14536 9958//14538 9841//13811 +f 7830//13138 7831//12586 7946//13232 +f 9958//14538 10075//14539 9957//13810 +f 10305//14282 10425//14283 10424//13964 +f 33173//14540 33172//14541 33067//14542 +f 7171//14358 7278//14477 7170//14359 +f 10304//13884 10305//14282 10424//13964 +f 11043//11728 11170//11634 11169//14478 +f 7389//14476 7388//6804 7277//6806 +f 7597//11078 7712//13544 7711//14190 +f 11042//14543 11043//11728 11169//14478 +f 9496//13896 9612//13898 9495//14534 +f 26790//14544 30623//14545 30625//10837 +f 35585//10970 35526//8175 35711//7919 +f 9615//14546 9614//11584 9498//11693 +f 10308//10516 10307//11212 10188//12375 +f 9041//10736 9149//10735 9148//13785 +f 2106//1739 2107//14340 9975//1590 +f 35518//10313 35809//6870 35539//10314 +f 12077//5720 12159//14429 12076//5721 +f 12497//2918 12496//9306 12407//7443 +f 24349//14547 29432//4833 24520//4832 +f 13685//14548 11647//7469 8903//7468 +f 41//5825 104//11523 13416//7564 +f 14303//7348 8736//10798 14302//12926 +f 11485//8590 7811//3326 13681//5827 +f 7811//3326 13584//12359 13681//5827 +f 11663//5854 11743//9801 11662//5855 +f 11743//9801 11827//9879 11742//4500 +f 9275//11305 9274//14397 9165//14398 +f 13938//14549 13937//14550 13839//13068 +f 35751//3516 35868//3879 35360//3881 +f 7986//11155 8101//14551 7985//10634 +f 28549//8739 29144//8741 28875//14552 +f 8427//14302 8426//10586 8319//10660 +f 1250//4243 1251//3861 1366//4062 +f 6771//7652 8030//7651 4266//8847 +f 660//2873 7480//2875 7479//3081 +f 34354//14553 6539//3246 33692//14554 +f 10391//8460 9981//8459 11282//11610 +f 29516//14555 29517//14556 29654//13958 +f 7823//10687 7939//10733 7822//13005 +f 9433//14557 7912//11968 9414//11967 +f 8485//11797 8592//11890 8591//10709 +f 7897//10814 8225//13475 9287//12466 +f 9919//10941 9433//14557 9414//11967 +f 11091//14558 8526//627 9880//626 +f 13776//4094 9880//626 9765//628 +f 8042//14559 8329//14487 8526//627 +f 11091//14558 8042//14559 8526//627 +f 7573//14560 7558//14488 8329//14487 +f 8042//14559 7573//14560 8329//14487 +f 8048//14561 9654//14489 7558//14488 +f 7573//14560 8048//14561 7558//14488 +f 8556//14562 10606//14490 9654//14489 +f 8048//14561 8556//14562 9654//14489 +f 9989//6623 8147//9079 10606//14490 +f 8556//14562 9989//6623 10606//14490 +f 31553//13980 31552//7756 26516//2624 +f 13885//3922 13227//2672 9521//14495 +f 10823//14384 11073//13375 9221//14492 +f 11150//11735 11151//11734 11276//12922 +f 34555//14563 34554//14564 34417//14565 +f 9612//13898 9611//14527 9495//14534 +f 9855//8700 9971//14184 9854//14493 +f 11462//8372 33340//9041 31651//9040 +f 5833//13953 9865//6236 16219//8254 +f 11183//11442 11309//11426 11308//14199 +f 1626//6148 8195//14113 1510//6149 +f 21199//14566 21200//14108 34244//14567 +f 7900//11952 914//6166 7901//8758 +f 35357//8943 35685//3617 14084//2151 +f 6083//9786 16191//10019 6084//9933 +f 13149//14311 13897//14335 3177//5990 +f 3437//5024 9924//5026 10041//6147 +f 2137//14456 27177//14501 21658//13976 +f 27177//14501 28482//14568 29122//1814 +f 15076//14569 33459//14570 33576//14571 +f 30598//14572 30597//14573 30463//14574 +f 30071//364 19910//361 19378//14575 +f 19378//14575 19910//361 28021//14576 +f 7019//14577 7123//14578 7122//14504 +f 7018//8002 7019//14577 7122//14504 +f 7123//14578 7230//14579 7229//14506 +f 7122//14504 7123//14578 7229//14506 +f 7230//14579 7341//14346 7340//14507 +f 7229//14506 7230//14579 7340//14507 +f 7341//14346 518//12355 7340//14507 +f 518//12355 7452//12370 7340//14507 +f 2610//6015 1386//6511 4519//8356 +f 9206//12214 6247//3824 8907//3823 +f 9381//13897 9380//14537 9268//14535 +f 27297//2905 11748//12271 27179//14580 +f 14831//14581 10455//943 14830//942 +f 8811//14582 8812//12865 8918//14583 +f 9384//14216 9499//14584 9383//11787 +f 11055//14585 11056//11369 11182//14198 +f 9021//13731 9129//14586 9128//12182 +f 4257//5009 1385//6515 7325//3537 +f 9506//10593 7768//13433 10627//10594 +f 11273//12737 11272//13873 11146//14248 +f 11147//11885 11273//12737 11146//14248 +f 10894//4485 11020//11884 10893//10974 +f 11020//11884 11147//11885 11146//14248 +f 485//6150 599//6022 484//6152 +f 10769//9194 10894//4485 10768//10874 +f 35583//10042 35566//7149 35652//4814 +f 2108//7742 2237//3270 8734//10599 +f 6947//12184 34597//14587 34598//14588 +f 7494//13584 7608//13585 7493//13685 +f 9309//3112 9197//3114 7791//13983 +f 32617//14589 32616//14590 32507//7547 +f 29550//2648 27177//14501 29122//1814 +f 20308//14591 17703//14592 17608//14593 +f 9221//14492 9687//13376 6892//14441 +f 28482//14568 29292//14594 19039//1815 +f 13685//14548 13686//14595 13415//14596 +f 5202//13596 9637//13606 7996//14597 +f 3074//14598 3073//14599 7968//14600 +f 13043//1736 13137//144 13136//14134 +f 8436//14287 10272//11927 11068//14288 +f 10339//12822 10349//14213 11222//12932 +f 35410//1548 35457//6115 35453//7459 +f 8450//11517 10456//11519 10336//14140 +f 7771//14406 7112//14601 9868//13198 +f 12297//5824 12383//11525 104//11523 +f 10594//14602 7112//14601 7771//14406 +f 10593//13041 10594//14602 7771//14406 +f 8989//13721 10594//14602 10593//13041 +f 7112//14601 9869//14603 9868//13198 +f 10850//13904 10974//13199 9868//13198 +f 8988//12946 8989//13721 10593//13041 +f 12331//3331 12417//3147 12330//3747 +f 9869//14603 10850//13904 9868//13198 +f 10102//11532 8202//11526 10032//14522 +f 12124//3465 14166//3460 13798//14604 +f 8616//14605 8617//13405 8723//14606 +f 8724//13404 8831//13307 8830//14607 +f 6949//14050 7048//13582 7047//9955 +f 8516//14608 8515//13703 8408//13705 +f 8945//13993 8944//14609 8837//14610 +f 8838//13991 8945//13993 8837//14610 +f 8204//12912 1753//7653 1752//6841 +f 9969//14611 9968//14403 9852//14402 +f 915//7067 914//6166 7900//11952 +f 8051//14612 3452//5526 5192//14613 +f 11019//11707 11020//11884 11146//14248 +f 10769//9194 10768//10874 10644//10873 +f 11020//11884 11019//11707 10893//10974 +f 10645//10819 10769//9194 10644//10873 +f 8705//14264 8812//12865 8811//14582 +f 8314//10387 8315//14270 8421//8011 +f 10364//13758 1994//13844 7463//13845 +f 9846//14614 9845//11499 9730//11585 +f 10675//13874 10674//14460 10552//14481 +f 8624//13994 8623//14615 8516//14608 +f 10681//11280 10680//14616 10558//13787 +f 10197//13820 10196//11553 10078//11552 +f 9836//12661 9952//12565 9835//14422 +f 8402//14617 8403//13697 8509//14618 +f 8076//14472 8187//14473 8075//11998 +f 8295//14619 8294//12199 8186//12098 +f 7846//13791 7845//14350 7730//14416 +f 7731//13380 7846//13791 7730//14416 +f 9159//14532 9268//14535 9158//13808 +f 9268//14535 9380//14537 9379//13797 +f 164//12315 7213//13188 7214//7171 +f 715//5741 7772//6018 716//5880 +f 7964//13110 7963//13112 7847//13027 +f 10974//13199 10494//11129 10849//11556 +f 10232//12823 11257//12931 8196//14620 +f 7733//12928 7848//13026 7732//13028 +f 9962//14068 9961//11640 9845//11499 +f 9846//14614 9962//14068 9845//11499 +f 10193//14621 10192//13813 10074//13812 +f 10220//14622 10232//12823 8196//14620 +f 6948//9954 6949//14050 7047//9955 +f 10075//14539 10193//14621 10074//13812 +f 11882//6635 12124//3465 13798//14604 +f 13897//14335 12567//11738 13613//5991 +f 10802//14036 10927//13677 10801//11358 +f 7048//13582 7152//14117 7151//10384 +f 20723//14309 18274//14310 18273//7272 +f 10865//11603 7417//8956 2343//8955 +f 1482//4061 1483//4060 1599//4215 +f 11466//14623 11465//8200 11415//2396 +f 9499//14584 9615//14546 9498//11693 +f 10086//14624 10085//14408 9968//14403 +f 8207//14341 8315//14270 8314//10387 +f 8206//14625 8207//14341 8314//10387 +f 10894//4485 10893//10974 10768//10874 +f 35619//4207 35544//2842 35761//3886 +f 11416//2395 11466//14623 11415//2396 +f 294//6522 4795//6521 796//5029 +f 11598//7073 11530//14626 11531//14627 +f 25315//14628 23985//4294 25178//13849 +f 5192//14613 3452//5526 5696//7736 +f 8844//7737 4392//7754 5334//7738 +f 35796//12655 35427//13202 35541//3885 +f 14177//12358 14080//2669 13681//5827 +f 8808//10808 8915//10581 8914//8095 +f 31596//14629 31595//14630 31508//14631 +f 8593//11889 8594//11218 8700//13714 +f 8807//8094 8808//10808 8914//8095 +f 8701//11223 8808//10808 8807//8094 +f 8700//13714 8701//11223 8807//8094 +f 7939//10733 7938//14632 7822//13005 +f 8914//8095 8915//10581 9021//13731 +f 8833//14633 8940//14071 8832//13214 +f 6413//3045 34354//14553 6412//3046 +f 9297//10469 9296//13482 9173//10470 +f 11327//13483 4381//13629 1291//13872 +f 10862//12517 8660//12408 10945//10461 +f 8827//13867 8934//12279 8826//13868 +f 8054//13370 8053//10883 7938//14632 +f 7057//12003 7161//12002 7160//13056 +f 29122//1814 28482//14568 19039//1815 +f 7939//10733 8054//13370 7938//14632 +f 7831//12586 7947//12674 7946//13232 +f 21930//14634 21835//2822 21836//3215 +f 8449//11721 11091//14558 9879//11722 +f 4923//6915 9879//11722 9880//626 +f 10263//14635 8042//14559 11091//14558 +f 8449//11721 10263//14635 11091//14558 +f 7574//14636 7573//14560 8042//14559 +f 10263//14635 7574//14636 8042//14559 +f 7814//14637 8048//14561 7573//14560 +f 7574//14636 7814//14637 7573//14560 +f 7814//14637 8476//14638 8556//14562 +f 8048//14561 7814//14637 8556//14562 +f 8476//14638 9990//5030 9989//6623 +f 8556//14562 8476//14638 9989//6623 +f 35875//1382 35836//6310 35899//437 +f 30786//14639 23523//4293 30785//4295 +f 7240//10336 415//4013 414//6428 +f 34010//14640 34146//14641 34009//14642 +f 9496//13896 9495//14534 9380//14537 +f 9381//13897 9496//13896 9380//14537 +f 8379//11796 8378//11795 8271//10887 +f 9969//14611 10086//14624 9968//14403 +f 7980//14643 7981//14280 8095//14644 +f 8096//14279 8207//14341 8206//14625 +f 1845//4272 16488//681 2712//4292 +f 10523//10820 10522//10476 10402//13893 +f 212//14645 20922//14646 1879//14647 +f 35376//12076 35353//5847 35528//6839 +f 13227//2672 1137//2674 2107//14340 +f 9521//14495 13227//2672 2107//14340 +f 24529//14648 24516//14649 24244//14650 +f 25679//14651 25780//14652 24680//14653 +f 29292//14594 47//14654 27168//10746 +f 19039//1815 29292//14594 27168//10746 +f 34004//14655 34140//1148 34003//1149 +f 17762//10904 19115//3340 19328//10905 +f 7121//14453 7017//8003 7018//8002 +f 31434//3528 31433//14656 31366//3529 +f 7020//14657 7124//14658 7123//14578 +f 7019//14577 7020//14657 7123//14578 +f 7124//14658 7231//14659 7230//14579 +f 7123//14578 7124//14658 7230//14579 +f 7231//14659 7342//13940 7341//14346 +f 7230//14579 7231//14659 7341//14346 +f 7898//2502 8013//10896 1146//2501 +f 519//9593 518//12355 7341//14346 +f 24237//14660 25234//14661 21607//14662 +f 7287//14663 9446//2019 9642//2021 +f 8303//13775 8302//14664 8194//14665 +f 9269//13899 9381//13897 9268//14535 +f 8704//14150 8705//14264 8811//14582 +f 4369//6494 4236//6591 8999//13563 +f 7865//14281 7981//14280 7864//14666 +f 7981//14280 8096//14279 8095//14644 +f 10403//14667 10523//10820 10402//13893 +f 7981//14280 7980//14643 7864//14666 +f 10164//10448 10283//10447 10163//14104 +f 10403//14667 10402//13893 10282//10636 +f 10046//6434 10164//10448 10045//10589 +f 10283//10447 10403//14667 10282//10636 +f 9928//10588 9929//6432 10045//10589 +f 10283//10447 10282//10636 10163//14104 +f 9812//11732 9813//3365 9928//10588 +f 10164//10448 10163//14104 10045//10589 +f 6392//5387 11154//12786 11027//5516 +f 10284//10446 10404//11964 10283//10447 +f 2846//5845 9623//14510 9622//14668 +f 12569//8275 3595//2190 13310//2192 +f 8094//14525 8205//7923 8204//12912 +f 12083//10743 12165//8353 12082//3376 +f 7863//14390 7979//14391 7862//14066 +f 8094//14525 8093//14127 7978//14114 +f 11302//14348 11303//13803 8550//14524 +f 7979//14391 8094//14525 7978//14114 +f 8598//10451 8599//10450 8705//14264 +f 10758//13802 9168//13781 9169//14339 +f 6892//14441 5202//13596 7996//14597 +f 9637//13606 10956//13695 10887//14267 +f 13043//1736 13042//13916 12948//13915 +f 7996//14597 9637//13606 10887//14267 +f 12675//14299 12764//8256 12763//14519 +f 14114//7820 14210//7634 14209//7007 +f 11195//11696 9767//11606 10739//14669 +f 12764//8256 12856//8258 12855//13195 +f 12506//2955 12505//3935 12416//3748 +f 11068//14288 11195//11696 10739//14669 +f 11587//5020 11586//6917 11519//14255 +f 12246//3332 12331//3331 12245//3933 +f 9040//11774 9039//14008 8932//14081 +f 12417//3147 12416//3748 12330//3747 +f 10182//11073 10301//10568 10181//13720 +f 8933//11775 9040//11774 8932//14081 +f 10301//10568 10300//13636 10181//13720 +f 10421//10866 10420//13536 10300//13636 +f 8933//11775 8932//14081 8825//13905 +f 8826//13868 8933//11775 8825//13905 +f 10509//11702 11245//13315 9565//13314 +f 10968//11793 10509//11702 9565//13314 +f 7047//9955 7048//13582 7151//10384 +f 9261//14670 9260//13124 9151//12842 +f 8510//13509 8617//13405 8616//14605 +f 8509//14618 8510//13509 8616//14605 +f 8409//14671 8516//14608 8408//13705 +f 8623//14615 8622//13706 8515//13703 +f 8624//13994 8731//13992 8623//14615 +f 8838//13991 8837//14610 8730//14672 +f 9853//14673 9969//14611 9852//14402 +f 31232//2809 31297//14674 31231//14675 +f 27057//2852 27058//2851 28371//14333 +f 19495//14676 19142//14677 17306//14678 +f 9929//6432 10046//6434 10045//10589 +f 10524//12032 10523//10820 10403//14667 +f 10404//11964 10524//12032 10403//14667 +f 10736//11168 10861//11167 9448//10689 +f 35388//4417 35484//1437 35621//1439 +f 13298//14679 4664//14680 15609//14681 +f 9731//14682 9846//14614 9730//11585 +f 21476//14683 13775//11472 23532//13957 +f 8303//13775 8410//14015 8302//14664 +f 11271//7836 11394//12878 8235//10437 +f 10079//14069 10197//13820 10078//11552 +f 8517//14014 8516//14608 8409//14671 +f 8403//13697 8402//14617 8295//14619 +f 8837//14610 8836//13708 8729//13707 +f 8187//14473 8295//14619 8186//12098 +f 8296//13698 8403//13697 8295//14619 +f 7731//13380 7730//14416 7615//14474 +f 7616//13284 7731//13380 7615//14474 +f 9267//13809 9268//14535 9379//13797 +f 9611//14527 9610//13801 9494//13798 +f 10179//13580 10180//12915 10298//12917 +f 10419//14466 10418//13364 10298//12917 +f 7946//13232 8061//10538 8060//10815 +f 19299//14684 5679//1354 17949//14685 +f 12083//10743 12082//3376 12001//3523 +f 10913//10917 11039//14057 11038//10918 +f 67//12672 300//9070 8347//5282 +f 8912//10713 8911//11154 8804//10653 +f 10681//11280 10805//11279 10680//14616 +f 8084//12024 9794//14686 9115//14687 +f 10312//14508 10311//13900 10192//13813 +f 10805//11279 10804//14142 10680//14616 +f 9169//14339 7168//14338 8435//13974 +f 10193//14621 10312//14508 10192//13813 +f 7168//14338 10695//14337 10944//13975 +f 9549//13924 9169//14339 8435//13974 +f 12376//3704 13585//3552 12455//8177 +f 8884//13230 11189//9430 11190//10524 +f 11824//7913 11910//7909 11823//4995 +f 6872//13104 10384//5993 15428//14688 +f 8953//10877 10502//9811 6381//9809 +f 11910//7909 11909//7910 11823//4995 +f 8315//14270 8422//14269 8421//8011 +f 25447//14689 24558//14690 24025//14691 +f 7259//13800 7258//10526 7151//10384 +f 7828//12400 7944//10809 7943//11859 +f 11354//12229 9899//12416 2476//6408 +f 24585//14692 20028//14693 25359//14694 +f 25259//14695 25260//14696 19937//14697 +f 13334//5713 13891//7136 3042//14698 +f 21022//7146 21021//6945 20938//7827 +f 26229//8730 26288//8729 24154//14699 +f 20859//7826 20939//11112 20938//7827 +f 10664//12167 10665//13522 10788//13595 +f 8915//10581 9022//10574 9021//13731 +f 10542//10864 10543//13523 10664//12167 +f 8350//11901 7675//9829 94//14700 +f 10423//13965 10543//13523 10422//10567 +f 10664//12167 10788//13595 10787//13531 +f 10183//10786 10184//10785 10302//10566 +f 10543//13523 10665//13522 10664//12167 +f 7152//14117 7259//13800 7151//10384 +f 10543//13523 10542//10864 10422//10567 +f 7370//13799 7369//10585 7258//10526 +f 7259//13800 7370//13799 7258//10526 +f 7370//13799 7482//14276 7481//10614 +f 7369//10585 7370//13799 7481//10614 +f 10303//13886 10423//13965 10302//10566 +f 7482//14276 7596//13911 7595//10618 +f 8165//11689 8164//10884 8053//10883 +f 10184//10785 10303//13886 10302//10566 +f 27168//10746 47//14654 29010//12768 +f 9022//10574 9130//10573 9129//14586 +f 9400//8259 8449//11721 9878//8260 +f 13798//14604 9878//8260 9879//11722 +f 10029//14701 10263//14635 8449//11721 +f 9400//8259 10029//14701 8449//11721 +f 7689//14702 7574//14636 10263//14635 +f 10029//14701 7689//14702 10263//14635 +f 9673//14703 7814//14637 7574//14636 +f 7689//14702 9673//14703 7574//14636 +f 11196//14704 8476//14638 7814//14637 +f 9673//14703 11196//14704 7814//14637 +f 11196//14704 7424//14705 9990//5030 +f 8476//14638 11196//14704 9990//5030 +f 10357//12137 9431//12136 10477//12236 +f 6673//4809 6800//4811 9431//12136 +f 9431//12136 6800//4811 10477//12236 +f 6673//4809 9431//12136 7433//12135 +f 10221//8374 4394//8196 5830//8195 +f 16955//1635 560//1470 16795//1472 +f 10204//14706 10203//13862 10085//14408 +f 7481//10614 7482//14276 7595//10618 +f 8095//14644 8096//14279 8206//14625 +f 9954//11863 9953//12566 9837//12756 +f 7596//13911 7711//14190 7710//10695 +f 7595//10618 7596//13911 7710//10695 +f 7826//13471 7825//10697 7710//10695 +f 6776//8920 240//9033 2796//956 +f 12683//8465 12684//10166 12772//8587 +f 7257//9586 7368//2874 545//9587 +f 12640//14707 9086//14708 23545//14709 +f 23411//7380 15366//14710 23410//14711 +f 29010//12768 23956//14712 29081//12769 +f 24408//14713 26388//14714 26455//14715 +f 33411//14716 33410//14717 33301//14718 +f 32522//14719 32521//14720 32416//14721 +f 6922//14722 7021//14723 7020//14657 +f 27871//14724 7018//8002 11805//7451 +f 7021//14723 7125//14725 7124//14658 +f 7020//14657 7021//14723 7124//14658 +f 7125//14725 7232//13238 7231//14659 +f 7124//14658 7125//14725 7231//14659 +f 7343//9815 7342//13940 7231//14659 +f 7232//13238 7343//9815 7231//14659 +f 219//3518 4918//3890 517//3889 +f 13998//3155 8571//3157 9684//8083 +f 1711//3677 8586//3876 1828//3293 +f 3192//14126 3319//4366 11272//13873 +f 11181//14726 11307//14727 11306//14461 +f 11180//14195 11181//14726 11306//14461 +f 8720//11430 8721//11429 8827//13867 +f 9589//12493 9705//12596 9704//12944 +f 9238//14728 9239//13712 9350//14729 +f 7711//14190 7826//13471 7710//10695 +f 7942//11858 7941//10702 7825//10697 +f 7826//13471 7942//11858 7825//10697 +f 8057//11860 8056//10748 7941//10702 +f 7742//10928 8551//9886 8793//10927 +f 9697//10862 9698//3366 9812//11732 +f 8594//11218 8593//11889 8486//11888 +f 8487//11217 8594//11218 8486//11888 +f 7643//13672 8220//10454 8045//10453 +f 7635//14292 7634//14730 7520//14312 +f 8212//13589 8211//10724 8100//10676 +f 9499//14584 9498//11693 9383//11787 +f 7520//14312 7519//9951 33336//14313 +f 2494//8351 2492//8350 12212//5823 +f 12129//4095 2494//8351 12212//5823 +f 11583//3121 11658//8477 11582//3119 +f 13813//1732 13716//3318 13814//3354 +f 17321//1668 5734//14731 30758//1823 +f 7281//14732 7280//13192 7173//14733 +f 7281//14732 7392//13023 7280//13192 +f 7504//13024 7503//13116 7391//13025 +f 10313//13877 10312//14508 10193//14621 +f 11518//14082 11517//7442 32049//14734 +f 8550//14524 10758//13802 9169//14339 +f 10553//13875 10675//13874 10552//14481 +f 9464//14129 9580//12956 9579//13590 +f 9168//13781 9426//13684 7168//14338 +f 9586//13223 9702//13224 9701//14123 +f 12327//6835 12326//12696 12241//6836 +f 13912//7037 13913//12200 14010//11497 +f 2653//12289 5870//14735 5042//13215 +f 10668//11996 10792//11790 10667//14736 +f 10097//12288 2653//12289 5042//13215 +f 9767//11606 8450//11517 7819//14139 +f 10917//11632 10916//14480 10791//14737 +f 8246//11619 8460//14209 11118//11621 +f 10739//14669 9767//11606 7819//14139 +f 7385//12921 7384//13551 7273//13546 +f 35636//12694 35393//3883 35601//12695 +f 9148//13785 9147//13913 9039//14008 +f 7496//13548 7497//11069 7610//13549 +f 7942//11858 8057//11860 7941//10702 +f 9040//11774 9148//13785 9039//14008 +f 8057//11860 8168//12962 8167//10775 +f 8056//10748 8057//11860 8167//10775 +f 8797//13638 7471//9812 7810//13206 +f 8168//12962 8276//14738 8275//10799 +f 9032//14739 9140//14410 9031//12972 +f 7471//9812 6985//11709 7585//6933 +f 10509//11702 7767//11705 10748//13316 +f 8397//13969 8504//13998 8396//11228 +f 9152//14740 9261//14670 9151//12842 +f 13546//8085 13644//13588 13643//8086 +f 8617//13405 8724//13404 8723//14606 +f 9261//14670 9373//14417 9372//13217 +f 8516//14608 8623//14615 8515//13703 +f 2675//2114 22041//11087 21656//14741 +f 8731//13992 8838//13991 8730//14672 +f 8730//14672 8729//13707 8622//13706 +f 11394//12878 11391//10442 8235//10437 +f 8517//14014 8624//13994 8516//14608 +f 28370//14742 28371//14333 30095//9085 +f 7055//13508 7159//13819 7158//12779 +f 4933//12083 10498//14182 10236//12084 +f 7822//13005 7938//14632 7937//3860 +f 9340//14163 10330//11958 7360//14485 +f 8328//7471 8653//14435 8345//7472 +f 8320//13399 8427//14302 8319//10660 +f 8695//10465 8696//10464 8802//11139 +f 28374//14334 30097//10755 30096//9086 +f 9433//14557 9667//10711 7912//11968 +f 7947//12674 8062//12676 8061//10538 +f 10581//13106 7470//12501 11121//12589 +f 8410//14015 8517//14014 8409//14671 +f 8195//14113 8303//13775 8194//14665 +f 8730//14672 8837//14610 8729//13707 +f 8944//14609 8943//13709 8836//13708 +f 8403//13697 8510//13509 8509//14618 +f 8296//13698 8295//14619 8187//14473 +f 7908//13764 8567//13702 8460//14209 +f 10130//14138 7908//13764 8460//14209 +f 9495//14534 9611//14527 9494//13798 +f 9727//14526 9726//13889 9610//13801 +f 9868//13198 9776//13200 10844//14407 +f 7958//14743 8073//14404 7957//13795 +f 9037//13484 9036//13499 8929//13051 +f 9811//10863 9812//11732 9927//11733 +f 8101//14551 8100//10676 7985//10634 +f 9926//10936 9927//11733 10043//10932 +f 35899//437 35622//1164 35903//438 +f 7676//14436 10755//11979 7198//10509 +f 10744//13115 7361//10552 8368//11233 +f 7063//13613 10840//13298 10830//12183 +f 10280//13939 10279//14153 10160//11020 +f 9115//14687 9116//14744 7147//11602 +f 12949//13194 12948//13915 12855//13195 +f 7164//11982 7163//11983 7059//10662 +f 13840//13067 13938//14549 13839//13068 +f 12763//14519 12764//8256 12855//13195 +f 10459//2537 11197//2981 5725//2538 +f 11591//3348 11666//3321 11590//3323 +f 9990//5030 7424//14705 7668//5031 +f 13867//14745 11616//14746 4940//14747 +f 11997//4544 12078//4543 11996//5718 +f 12529//14748 12528//10648 12439//14749 +f 914//6166 913//6165 7901//8758 +f 11913//9947 11912//5717 11826//12161 +f 3831//3944 10397//11764 10396//4222 +f 23020//9520 23118//14750 23019//14751 +f 8411//12371 8304//8620 1744//3179 +f 13702//14752 12209//4395 11890//2224 +f 23216//14753 23215//14754 23117//14755 +f 19030//2143 27413//5207 28254//14756 +f 27413//5207 28251//5352 28254//14756 +f 20053//4916 28682//14757 21859//4141 +f 24738//14758 2808//14759 24739//14760 +f 27254//14761 27372//13342 27371//13341 +f 8167//10775 8168//12962 8275//10799 +f 10423//13965 10422//10567 10302//10566 +f 8276//14738 8383//12958 8382//10816 +f 8275//10799 8276//14738 8382//10816 +f 8383//12958 8490//11390 8489//10830 +f 7768//13433 8040//13205 10627//10594 +f 8382//10816 8383//12958 8489//10830 +f 8490//11390 8597//14149 8596//10859 +f 8489//10830 8490//11390 8596//10859 +f 8597//14149 8704//14150 8703//10880 +f 7810//13206 7695//10639 10627//10594 +f 8596//10859 8597//14149 8703//10880 +f 9021//13731 9022//10574 9129//14586 +f 6966//10612 7770//10611 11192//13426 +f 14166//3460 9994//8261 9878//8260 +f 9130//10573 9239//13712 9238//14728 +f 8973//14762 10029//14701 9400//8259 +f 11153//14763 8973//14762 9400//8259 +f 8035//14764 7689//14702 10029//14701 +f 8973//14762 8035//14764 10029//14701 +f 7815//14765 9673//14703 7689//14702 +f 8035//14764 7815//14765 7689//14702 +f 7815//14765 10471//14766 11196//14704 +f 9673//14703 7815//14765 11196//14704 +f 10471//14766 7538//14767 7424//14705 +f 11196//14704 10471//14766 7424//14705 +f 7538//14767 7784//14768 7668//5031 +f 7424//14705 7538//14767 7668//5031 +f 8349//6828 10757//6830 7668//5031 +f 7784//14768 8349//6828 7668//5031 +f 5873//6831 11060//11036 5739//6930 +f 194//5705 39//5712 1856//5711 +f 8704//14150 8811//14582 8810//10954 +f 11277//12270 8884//13230 9513//14518 +f 10324//14203 10204//14706 10205//14470 +f 8891//10484 9895//11138 8464//10485 +f 9322//4428 1507//9900 10131//13855 +f 10278//6513 10398//14097 10397//11764 +f 24637//14769 26813//14770 26814//5195 +f 10436//13045 10435//11424 10315//11466 +f 312//6517 7037//2722 313//2724 +f 12118//8591 11485//8590 13486//9588 +f 61//8539 20281//2431 20280//14771 +f 27253//14772 27254//14761 27371//13341 +f 15279//14773 15467//14774 20646//14775 +f 20623//14776 2207//14777 19278//14778 +f 11404//2469 11450//2468 28009//12274 +f 27646//14779 27782//14780 29272//11029 +f 34549//4762 34677//14781 34548//1342 +f 26831//3164 11527//3163 26719//14782 +f 6923//14783 7022//14784 7021//14723 +f 6921//14785 6922//14722 7020//14657 +f 7022//14784 7126//14786 7125//14725 +f 7021//14723 7022//14784 7125//14725 +f 7126//14786 7233//9890 7232//13238 +f 7125//14725 7126//14786 7232//13238 +f 177//456 2936//12396 13519//528 +f 34599//14787 33796//14788 22529//14789 +f 28681//14790 28946//14791 30600//14792 +f 4510//7025 4509//4871 4375//4867 +f 8219//14793 8549//14794 11066//10458 +f 8220//10454 8219//14793 11066//10458 +f 11307//14727 11084//14795 10136//13674 +f 11306//14461 11307//14727 10136//13674 +f 8988//12946 8982//13043 7565//12947 +f 17370//7053 7001//13101 35191//7174 +f 10749//13938 10219//14796 9984//11380 +f 11370//10411 10096//10413 11187//11313 +f 8177//12123 8176//13858 8065//12181 +f 7539//10813 11003//13105 8225//13475 +f 12084//10043 12166//10039 12083//10743 +f 6418//4006 6419//4171 6545//4007 +f 3020//9877 2363//9878 2231//705 +f 7750//14278 7865//14281 7749//14797 +f 9239//13712 9351//8182 9350//14729 +f 7750//14278 7749//14797 7634//14730 +f 7635//14292 7750//14278 7634//14730 +f 7321//11045 265//6740 264//6638 +f 7865//14281 7864//14666 7749//14797 +f 25714//14798 25817//14799 23645//14800 +f 26720//14801 26719//14782 31650//14802 +f 9622//14668 9621//14125 9505//14128 +f 12476//6246 14088//7636 12930//5519 +f 9853//14673 9852//14402 9737//14191 +f 14095//14803 14191//14207 10442//14204 +f 9738//14804 9737//14191 9621//14125 +f 9738//14804 9853//14673 9737//14191 +f 9612//13898 9728//13891 9611//14527 +f 9622//14668 9738//14804 9621//14125 +f 10809//10752 10335//13947 9664//12362 +f 10194//13879 10313//13877 10193//14621 +f 33949//14805 12995//14806 12902//1412 +f 9461//11084 2742//4699 9346//4698 +f 10546//11995 10545//14807 10425//14283 +f 8991//6412 11120//6410 5043//6269 +f 10546//11995 10668//11996 10545//14807 +f 10426//12198 10546//11995 10425//14283 +f 10792//11790 10917//11632 10791//14737 +f 10792//11790 10791//14737 10667//14736 +f 13630//6379 13629//2379 13531//14808 +f 11043//11728 11042//14543 10916//14480 +f 11118//11621 10978//14210 10746//11623 +f 20789//14809 20788//7043 20706//2028 +f 7274//14342 7385//12921 7273//13546 +f 12327//6835 12413//14427 12326//12696 +f 8504//13998 8503//11071 8396//11228 +f 7497//11069 7496//13548 7384//13551 +f 8182//13560 8290//13885 8181//10919 +f 8397//13969 8396//11228 8289//10920 +f 9480//12073 9479//12104 9364//12108 +f 8290//13885 8397//13969 8289//10920 +f 10783//11469 10908//13538 10907//13329 +f 9365//12087 9480//12073 9364//12108 +f 10782//13327 10783//11469 10907//13329 +f 10908//13538 11034//13539 11033//13437 +f 9419//12961 10620//448 9450//10707 +f 7580//10640 9419//12961 9450//10707 +f 11164//13610 11163//11802 11036//12930 +f 11065//13427 10727//13424 10703//11803 +f 14245//14147 16153//14810 15150//14811 +f 33401//14444 33514//14812 33400//14445 +f 9260//13124 9261//14670 9372//13217 +f 10545//14807 10544//13520 10424//13964 +f 4119//2619 3043//5714 35782//2620 +f 8703//10880 8704//14150 8810//10954 +f 8623//14615 8730//14672 8622//13706 +f 10432//14482 10431//14464 10311//13900 +f 8731//13992 8730//14672 8623//14615 +f 9580//12956 9696//10861 9695//10925 +f 10964//5727 9867//9660 5983//5728 +f 11084//14795 7304//14813 8545//13675 +f 11172//11296 11173//10979 11298//10981 +f 3722//11019 8006//13927 8668//13838 +f 10402//13893 10401//12170 10281//10637 +f 10476//12320 10477//12236 6800//4811 +f 13155//14814 13154//9265 13060//14815 +f 11079//12482 10953//13222 9758//12483 +f 34354//14553 6413//3045 6539//3246 +f 10219//14796 10567//11157 10938//11156 +f 9588//12682 9589//12493 9704//12944 +f 8869//9666 9117//12301 7886//11502 +f 8410//14015 8409//14671 8302//14664 +f 8195//14113 8194//14665 8083//14816 +f 8837//14610 8944//14609 8836//13708 +f 9051//14533 9050//13710 8943//13709 +f 8188//13608 8296//13698 8187//14473 +f 9623//14510 17169//14817 17170//9016 +f 7556//10910 7908//13764 10130//14138 +f 7557//10911 7556//10910 10130//14138 +f 9611//14527 9727//14526 9610//13801 +f 10923//14411 11049//14347 10922//13920 +f 8073//14404 8072//13794 7957//13795 +f 11906//13119 11905//14227 11819//14818 +f 2472//9259 9017//5125 9126//10977 +f 7304//14813 8358//14819 7643//13672 +f 1647//1020 938//1019 7809//7917 +f 9585//13492 9586//13223 9701//14123 +f 809//6626 5866//6625 323//6726 +f 8970//6155 8969//6154 12756//14820 +f 9895//11138 9010//14821 8464//10485 +f 8969//6154 8968//14293 12755//14822 +f 10372//12029 9399//11114 7776//11765 +f 7649//3088 7742//10928 6491//3089 +f 8090//10382 9802//9078 14309//7632 +f 8358//14819 8219//14793 8220//10454 +f 10355//13948 9781//10710 9433//14557 +f 11166//13267 11292//10610 11165//10914 +f 9069//12923 2516//4662 8962//12280 +f 35902//14823 35740//4440 35890//6628 +f 27870//3977 27149//3976 27986//14824 +f 22426//14825 33237//11869 33970//14826 +f 9242//14189 9243//10495 9354//14121 +f 9339//10549 7583//14399 8149//10550 +f 10898//13153 4372//9188 4373//5297 +f 5542//9160 19256//14382 5543//1356 +f 11188//13231 5179//9428 11189//9430 +f 11447//14827 14188//14828 12120//14829 +f 9077//11924 8970//6155 12849//14830 +f 1175//12205 13475//6057 13419//14831 +f 24431//14832 29569//14833 28125//14834 +f 13250//14835 13249//9256 13154//9265 +f 8811//14582 8918//14583 8917//10956 +f 13155//14814 13250//14835 13154//9265 +f 8810//10954 8811//14582 8917//10956 +f 8918//14583 9025//14116 9024//11113 +f 8917//10956 8918//14583 9024//11113 +f 9025//14116 9133//14188 9132//11237 +f 9024//11113 9025//14116 9132//11237 +f 12158//13736 12241//6836 12157//11855 +f 9133//14188 9242//14189 9241//11241 +f 9129//14586 9130//10573 9238//14728 +f 11915//4420 11914//8090 11828//8088 +f 8758//14836 8973//14762 11153//14763 +f 8882//10793 8758//14836 11153//14763 +f 10462//14837 8035//14764 8973//14762 +f 8758//14836 10462//14837 8973//14762 +f 10462//14837 8480//14838 7815//14765 +f 8035//14764 10462//14837 7815//14765 +f 8480//14838 10946//14839 10471//14766 +f 7815//14765 8480//14838 10471//14766 +f 7654//14840 7538//14767 10471//14766 +f 10946//14839 7654//14840 10471//14766 +f 7785//14841 7784//14768 7538//14767 +f 7654//14840 7785//14841 7538//14767 +f 8456//14842 8349//6828 7784//14768 +f 7785//14841 8456//14842 7784//14768 +f 7413//14843 7299//14844 7085//14845 +f 8456//14842 11060//11036 8349//6828 +f 11276//12922 11277//12270 9513//14518 +f 7672//5844 194//5705 2518//13625 +f 9652//12649 9651//14266 9326//13099 +f 9132//11237 9133//14188 9241//11241 +f 10518//14098 10640//10518 10639//10422 +f 426//3693 316//3695 317//3697 +f 9076//6156 9077//11924 9184//11923 +f 8767//12742 7355//12065 8874//12067 +f 9077//11924 12942//14846 9185//358 +f 5174//3479 9226//12953 10962//5663 +f 3849//9827 9533//14375 156//9828 +f 11590//3323 11589//9656 11522//5028 +f 13346//14847 13345//9331 13249//9256 +f 13250//14835 13346//14847 13249//9256 +f 28476//5053 26797//2120 27407//2119 +f 29568//14848 29264//14849 19351//14850 +f 30482//14851 24183//14852 29415//14853 +f 34271//6198 34409//14854 34270//6199 +f 6924//14855 6923//14783 11705//14856 +f 26799//10521 6923//14783 6922//14722 +f 7023//14857 7127//14858 7126//14786 +f 7022//14784 7023//14857 7126//14786 +f 7127//14858 7234//5246 7233//9890 +f 7126//14786 7127//14858 7233//9890 +f 30988//3917 31049//3913 30987//4732 +f 1602//577 14682//471 1726//6380 +f 14007//11372 14105//13690 14104//13305 +f 8383//12958 8384//11145 8490//11390 +f 8549//14794 10745//13846 10687//10459 +f 11066//10458 8549//14794 10687//10459 +f 9208//11643 8891//10484 9320//10486 +f 7587//10553 7578//8104 10378//10556 +f 26497//14859 8975//14860 1451//14861 +f 7775//12133 10372//12029 7776//11765 +f 9184//11923 9185//358 9293//357 +f 7818//12633 7817//12723 10973//12634 +f 20776//4672 20777//11041 20858//7825 +f 11538//4548 11537//4550 11473//14377 +f 14016//7727 14114//7820 14015//7123 +f 9242//14189 9354//14121 9353//11243 +f 10527//13042 10844//14407 10513//13218 +f 22817//14862 22916//7279 22816//4524 +f 9724//11549 9723//13479 9607//13478 +f 8721//11429 8828//12277 8827//13867 +f 6955//12979 6956//10772 7054//12877 +f 10182//11073 10183//10786 10301//10568 +f 9052//14405 9051//14533 8944//14609 +f 7895//11607 7894//12180 10701//11518 +f 10433//13876 10432//14482 10312//14508 +f 8945//13993 9052//14405 8944//14609 +f 10194//13879 10193//14621 10075//14539 +f 10076//13878 10194//13879 10075//14539 +f 10076//13878 10075//14539 9958//14538 +f 9959//13892 10076//13878 9958//14538 +f 9843//13890 9842//14536 9727//14526 +f 9728//13891 9843//13890 9727//14526 +f 9959//13892 9958//14538 9842//14536 +f 9843//13890 9959//13892 9842//14536 +f 10593//13041 7771//14406 10527//13042 +f 7771//14406 10844//14407 10527//13042 +f 9262//12936 9374//12935 9373//14417 +f 9261//14670 9262//12936 9373//14417 +f 7730//14416 7729//11827 7614//11925 +f 10668//11996 10667//14736 10545//14807 +f 7615//14474 7614//11925 7500//12033 +f 7501//14475 7615//14474 7500//12033 +f 7278//14477 7389//14476 7277//6806 +f 7501//14475 7500//12033 7388//6804 +f 9241//11241 9242//14189 9353//11243 +f 7389//14476 7501//14475 7388//6804 +f 7385//12921 7497//11069 7384//13551 +f 9469//13490 9468//11244 9353//11243 +f 9255//10929 9256//13655 9367//13865 +f 7497//11069 7611//11068 7610//13549 +f 8501//14118 8608//14007 8607//12523 +f 9483//13653 9482//13730 9367//13865 +f 9596//13451 9595//12203 9479//12104 +f 8608//14007 8715//13586 8714//12412 +f 11387//12850 11368//13724 10580//14863 +f 9480//12073 9596//13451 9479//12104 +f 9189//13323 10580//14863 7146//13639 +f 9189//13323 11387//12850 10580//14863 +f 11286//13325 7741//13321 11285//13540 +f 7741//13321 9189//13323 7146//13639 +f 9437//10597 9553//10688 8439//12656 +f 6961//10595 11198//10754 8439//12656 +f 7561//13421 9779//11809 9796//11806 +f 8459//12294 3191//11817 7852//12202 +f 12163//3329 12246//3332 12162//3932 +f 13771//9582 13770//2727 13098//765 +f 10425//14283 10545//14807 10424//13964 +f 10667//14736 10666//13521 10544//13520 +f 13728//3897 13727//2376 13629//2379 +f 13630//6379 13728//3897 13629//2379 +f 10312//14508 10432//14482 10311//13900 +f 10552//14481 10551//14465 10431//14464 +f 7272//13547 7271//10406 7164//11982 +f 12151//10591 12234//1861 12233//14864 +f 10136//13674 11084//14795 8545//13675 +f 10749//13938 8658//14865 10219//14796 +f 10151//12173 8457//9069 1860//9071 +f 779//3082 7479//3081 7593//10750 +f 11258//1583 13655//14866 15595//9526 +f 9354//14121 9469//13490 9353//11243 +f 9585//13492 9584//11246 9468//11244 +f 13441//14867 13440//9338 13345//9331 +f 9469//13490 9585//13492 9468//11244 +f 10053//12499 10171//12496 10170//11920 +f 22876//11033 26226//13937 26577//7151 +f 32307//14868 32306//14869 32205//14870 +f 10567//11157 8158//14871 7666//12171 +f 8944//14609 9051//14533 8943//13709 +f 13042//13916 13136//14134 13135//10507 +f 12413//14427 12412//9743 12326//12696 +f 10798//14459 10797//13903 10673//13902 +f 10012//14363 8128//14362 11784//14872 +f 35602//3454 35585//10970 35711//7919 +f 11176//14468 11175//13922 11048//13921 +f 11049//14347 11176//14468 11048//13921 +f 3201//13575 8978//7664 2634//13933 +f 11184//11362 11057//11368 11058//11440 +f 8545//13675 7304//14813 7643//13672 +f 4109//6265 2001//6268 192//7554 +f 7165//10112 7272//13547 7164//11982 +f 8338//10604 6959//10812 8445//11681 +f 9585//13492 9701//14123 9700//11352 +f 9584//11246 9585//13492 9700//11352 +f 9701//14123 9816//14124 9815//11510 +f 9254//10930 9253//12088 9144//13498 +f 9700//11352 9701//14123 9815//11510 +f 7643//13672 8358//14819 8220//10454 +f 9037//13484 9145//10931 9036//13499 +f 9298//11813 10700//11815 10699//12383 +f 11348//11013 8327//11015 8737//13420 +f 7607//13936 7608//13585 7722//12830 +f 10276//12668 9556//11810 9299//12573 +f 9756//13317 7651//13480 9408//14528 +f 10418//13364 10538//14259 10417//13446 +f 9776//13200 9753//12844 10774//13219 +f 10661//10983 10785//11016 10784//10984 +f 10740//9252 10036//14873 13001//10641 +f 8777//10479 8870//13318 7994//10400 +f 7334//9091 7335//12413 398//9092 +f 5317//4356 10816//7841 5453//10523 +f 13346//14847 13441//14867 13345//9331 +f 10255//14874 9994//8261 11004//3459 +f 9816//14124 9932//14467 9931//11685 +f 9815//11510 9816//14124 9931//11685 +f 9992//8187 8629//14875 8882//10793 +f 9944//10684 10061//10732 10060//13447 +f 11137//2926 10688//1869 6958//3134 +f 8866//14876 8758//14836 8882//10793 +f 11153//14763 9400//8259 9994//8261 +f 10852//14877 10462//14837 8758//14836 +f 8866//14876 10852//14877 8758//14836 +f 10873//14878 8480//14838 10462//14837 +f 10852//14877 10873//14878 10462//14837 +f 10873//14878 7447//14879 10946//14839 +f 8480//14838 10873//14878 10946//14839 +f 7653//14880 7654//14840 10946//14839 +f 7447//14879 7653//14880 10946//14839 +f 7902//14881 7785//14841 7654//14840 +f 7653//14880 7902//14881 7654//14840 +f 9666//14882 8456//14842 7785//14841 +f 7902//14881 9666//14882 7785//14841 +f 9801//7026 11060//11036 8456//14842 +f 9666//14882 9801//7026 8456//14842 +f 6534//14883 12447//9081 6851//9080 +f 12733//3543 12754//5995 12549//767 +f 9932//14467 10049//14884 10048//11703 +f 8491//11147 8598//10451 8597//14149 +f 8125//11235 10215//10492 9010//14821 +f 7625//11988 9015//12837 9011//11989 +f 1643//3362 8351//7838 9318//13047 +f 2223//9445 23591//11999 8307//12000 +f 9931//11685 9932//14467 10048//11703 +f 10049//14884 10167//14885 10166//11708 +f 13289//9179 10722//3921 10499//14091 +f 10499//14091 10722//3921 9790//3923 +f 13537//14886 13536//9425 13440//9338 +f 13441//14867 13537//14886 13440//9338 +f 19572//14887 27167//5480 28126//13985 +f 19351//14850 19572//14887 28126//13985 +f 32901//14888 33009//14889 32900//14890 +f 32945//12264 33051//14891 33050//14892 +f 33811//14893 34196//14894 11719//14895 +f 29356//14896 29082//2640 28888//1929 +f 7024//14897 7128//14898 7127//14858 +f 7023//14857 7024//14897 7127//14858 +f 7128//14898 7235//5244 7234//5246 +f 7127//14858 7128//14898 7234//5246 +f 13635//14899 13634//9446 13536//9425 +f 492//6948 491//6851 7550//6950 +f 8233//14212 10453//14290 10349//14213 +f 8168//12962 8169//13543 8276//14738 +f 10745//13846 10100//14900 10099//12442 +f 9019//10976 9127//10870 9126//10977 +f 10684//13680 14289//14208 10808//8951 +f 6421//4339 6422//4642 6547//12022 +f 10048//11703 10049//14884 10166//11708 +f 10286//14901 10285//11725 10166//11708 +f 10167//14885 10286//14901 10166//11708 +f 10406//14902 10405//11963 10285//11725 +f 9970//14469 9969//14611 9853//14673 +f 9582//12559 9698//3366 9697//10862 +f 10687//10459 10745//13846 10099//12442 +f 10844//14407 10774//13219 10513//13218 +f 9160//14047 9269//13899 9159//14532 +f 10100//14900 8658//14865 10749//13938 +f 9160//14047 9159//14532 9051//14533 +f 9052//14405 9160//14047 9051//14533 +f 8298//13789 8297//13607 8189//13014 +f 9269//13899 9268//14535 9159//14532 +f 10569//13788 8652//12835 10220//14622 +f 8652//12835 10232//12823 10220//14622 +f 7958//14743 7957//13795 7841//10534 +f 8079//13111 8190//13013 8078//13015 +f 8734//10599 2237//3270 8842//3269 +f 7842//10533 7958//14743 7841//10534 +f 35459//3903 14169//9635 11550//6422 +f 8083//14816 8082//13280 7967//13378 +f 5965//4517 5966//4516 6097//7263 +f 8194//14665 8193//13281 8082//13280 +f 8083//14816 8194//14665 8082//13280 +f 8302//14664 8301//13704 8193//13281 +f 8938//13122 9045//13035 9044//14903 +f 8937//14904 8938//13122 9044//14903 +f 9044//14903 9152//14740 9151//12842 +f 7615//14474 7730//14416 7614//11925 +f 11245//13315 10509//11702 10748//13316 +f 7767//11705 7329//11718 7218//13413 +f 10286//14901 10406//14902 10285//11725 +f 9448//10689 8374//13431 9506//10593 +f 9483//13653 9599//13652 9482//13730 +f 10526//14484 10525//12031 10405//11963 +f 9368//13654 9483//13653 9367//13865 +f 9599//13652 9715//13651 9714//12476 +f 8286//12122 8287//14079 8393//12124 +f 9599//13652 9598//13644 9482//13730 +f 7263//12776 7374//12778 7262//13818 +f 8500//12125 8501//14118 8607//12523 +f 7374//12778 7373//13441 7262//13818 +f 9136//13302 9245//11159 9135//10494 +f 10655//13440 10656//13727 10779//13225 +f 7051//12027 7052//12026 7155//13908 +f 10780//13728 10905//13241 10904//13128 +f 10779//13225 10780//13728 10904//13128 +f 10657//13229 10781//13328 10780//13728 +f 10656//13727 10657//13229 10780//13728 +f 8309//10690 6961//10595 8439//12656 +f 7580//10640 9450//10707 11198//10754 +f 10727//13424 7561//13421 9796//11806 +f 8251//13414 9092//11811 9779//11809 +f 12540//10951 12455//8177 9110//10952 +f 11647//7469 13685//14548 13415//14596 +f 10545//14807 10667//14736 10544//13520 +f 10791//14737 10790//13517 10666//13521 +f 27135//14905 27254//14761 27253//14772 +f 10667//14736 10791//14737 10666//13521 +f 10432//14482 10552//14481 10431//14464 +f 12733//3543 2880//5992 12754//5995 +f 9463//13300 9464//14129 9579//13590 +f 10674//14460 10673//13902 10551//14465 +f 10338//10242 8158//14871 10567//11157 +f 10887//14267 7658//14265 7656//14051 +f 8870//13318 9408//14528 7994//10400 +f 10219//14796 10338//10242 10567//11157 +f 9581//12957 9582//12559 9697//10862 +f 9739//8698 9854//14493 9738//14804 +f 9466//8184 9582//12559 9581//12957 +f 9465//14906 9466//8184 9581//12957 +f 9351//8182 9466//8184 9465//14906 +f 9622//14668 9505//14128 2846//5845 +f 9854//14493 9853//14673 9738//14804 +f 7734//10972 1040//4860 1158//5675 +f 7666//12171 7674//14907 9101//12172 +f 5870//14735 1274//13752 6509//13755 +f 10626//14206 10635//14365 8233//14212 +f 10674//14460 10798//14459 10673//13902 +f 10923//14411 10922//13920 10797//13903 +f 12728//6509 11787//3542 12639//766 +f 8567//13702 7425//13880 10978//14210 +f 11176//14468 11302//14348 11301//13923 +f 8767//12742 8874//12067 10936//10462 +f 7669//11873 9284//11872 7219//11214 +f 11175//13922 11176//14468 11301//13923 +f 9101//12172 7674//14907 6647//14908 +f 13004//3498 13098//765 12549//767 +f 7945//10810 7946//13232 8060//10815 +f 8163//10888 8271//10887 8270//4213 +f 9350//14729 9351//8182 9465//14906 +f 4510//7025 10777//12511 10903//13129 +f 10406//14902 10526//14484 10405//11963 +f 10648//14483 10647//12134 10525//12031 +f 7051//12027 7155//13908 7154//12973 +f 10526//14484 10648//14483 10525//12031 +f 10930//11361 11056//11369 11055//14585 +f 10929//14067 10930//11361 11055//14585 +f 10772//13828 10771//12187 10647//12134 +f 10648//14483 10772//13828 10647//12134 +f 10897//13273 10896//12275 10771//12187 +f 10772//13828 10897//13273 10771//12187 +f 11023//11736 11022//12276 10896//12275 +f 10897//13273 11023//11736 10896//12275 +f 11915//4420 11999//8089 11914//8090 +f 9615//14546 9731//14682 9614//11584 +f 30097//10755 19798//11275 19797//10650 +f 11919//3103 11918//3494 11832//12304 +f 13537//14886 13635//14899 13536//9425 +f 13733//14909 13732//9516 13634//9446 +f 9991//6143 14286//3660 11237//6144 +f 8687//12462 8629//14875 9991//6143 +f 35678//7447 35402//4190 35769//5621 +f 8153//14910 8866//14876 8629//14875 +f 8687//12462 8153//14910 8629//14875 +f 7857//14911 10852//14877 8866//14876 +f 8153//14910 7857//14911 8866//14876 +f 10872//14912 10873//14878 10852//14877 +f 7857//14911 10872//14912 10852//14877 +f 10872//14912 10233//14913 7447//14879 +f 10873//14878 10872//14912 7447//14879 +f 10233//14913 7460//14914 7653//14880 +f 7447//14879 10233//14913 7653//14880 +f 7331//14915 7902//14881 7653//14880 +f 7460//14914 7331//14915 7653//14880 +f 7331//14915 9550//14916 9666//14882 +f 7902//14881 7331//14915 9666//14882 +f 10750//7154 9801//7026 9666//14882 +f 9550//14916 10750//7154 9666//14882 +f 9930//6433 10047//10583 10046//6434 +f 810//7027 6671//7268 4503//7028 +f 8490//11390 8491//11147 8597//14149 +f 35533//1931 35484//1437 28888//1929 +f 9370//13477 9485//11240 9484//13291 +f 11328//14135 7996//14597 10831//14136 +f 1167//3641 7744//4354 1284//4353 +f 10574//13527 7770//10611 11292//10610 +f 11150//11735 11149//12309 11022//12276 +f 9731//14682 9730//11585 9614//11584 +f 11023//11736 11150//11735 11022//12276 +f 11523//10643 11522//5028 11459//10649 +f 13635//14899 13733//14909 13634//9446 +f 13831//14917 13830//9527 13732//9516 +f 2817//14918 2816//14919 25495//14920 +f 21841//14921 29217//7352 29079//4869 +f 28340//14922 24909//14923 29153//14924 +f 6926//14925 7025//14926 7024//14897 +f 6925//14927 7023//14857 6924//14855 +f 7025//14926 7129//14928 7128//14898 +f 7024//14897 7025//14926 7128//14898 +f 7129//14928 7236//10124 7235//5244 +f 7128//14898 7129//14928 7235//5244 +f 15452//12455 21890//12457 13178//14929 +f 16045//12454 15905//8101 15906//14930 +f 10927//13677 10928//14931 11053//13719 +f 7943//11859 8058//12959 8057//11860 +f 10941//12363 8250//10942 8653//14435 +f 8328//7471 10941//12363 8653//14435 +f 10205//14470 10204//14706 10086//14624 +f 10087//14471 10205//14470 10086//14624 +f 11150//11735 11276//12922 11275//12414 +f 11149//12309 11150//11735 11275//12414 +f 9813//3365 9929//6432 9928//10588 +f 9683//14196 8971//14245 10493//9076 +f 9854//14493 9970//14469 9853//14673 +f 8594//11218 8701//11223 8700//13714 +f 10099//12442 10100//14900 10749//13938 +f 10087//14471 10086//14624 9969//14611 +f 1292//14070 6892//14441 11328//14135 +f 8658//14865 10338//10242 10219//14796 +f 7704//11648 9683//14196 3721//9075 +f 10103//12166 7254//14197 7680//13776 +f 8409//14671 8408//13705 8301//13704 +f 8194//14665 8302//14664 8193//13281 +f 8723//14606 8724//13404 8830//14607 +f 8302//14664 8409//14671 8301//13704 +f 9721//12659 9836//12661 9720//14421 +f 8831//13307 8938//13122 8937//14904 +f 9604//14420 9605//12839 9720//14421 +f 9836//12661 9835//14422 9720//14421 +f 9489//12840 9605//12839 9604//14420 +f 9488//14418 9489//12840 9604//14420 +f 9374//12935 9489//12840 9488//14418 +f 9605//12839 9721//12659 9720//14421 +f 9153//12934 9262//12936 9261//14670 +f 9373//14417 9374//12935 9488//14418 +f 9153//12934 9152//14740 9044//14903 +f 9152//14740 9153//12934 9261//14670 +f 8829//12662 8830//14607 8936//12755 +f 9045//13035 9153//12934 9044//14903 +f 10748//13316 7767//11705 7218//13413 +f 9043//12841 9044//14903 9151//12842 +f 10062//10683 10063//13723 10180//12915 +f 7329//11718 11241//11720 10988//13429 +f 9946//13648 10063//13723 10062//10683 +f 9945//10682 9946//13648 10062//10683 +f 7953//11164 7952//12016 7836//12011 +f 10063//13723 10181//13720 10180//12915 +f 7837//11165 7953//11164 7836//12011 +f 8068//10869 8067//12018 7952//12016 +f 8394//14080 8501//14118 8500//12125 +f 8393//12124 8394//14080 8500//12125 +f 7714//12215 7715//13060 7829//12216 +f 7052//12026 7156//12773 7155//13908 +f 10175//14000 10294//13910 10293//13909 +f 10057//14932 10175//14000 10174//13999 +f 1295//2951 2794//4857 13791//2353 +f 11031//13242 11030//11587 10904//13128 +f 8605//11591 8604//14075 8497//14933 +f 8498//11778 8605//11591 8497//14933 +f 10414//13817 10415//12852 10534//13726 +f 10657//13229 10656//13727 10534//13726 +f 10612//12751 9553//10688 9437//10597 +f 6961//10595 7580//10640 11198//10754 +f 7561//13421 8251//13414 9779//11809 +f 3191//11817 7891//11913 7852//12202 +f 11262//7563 13520//7562 10093//14297 +f 22526//14934 22525//11870 22427//14935 +f 3595//2190 13882//12020 13778//2191 +f 12455//8177 12721//8178 9110//10952 +f 10916//14480 10915//13514 10790//13517 +f 11168//13524 11169//14478 11294//13525 +f 13603//6004 7920//14936 12937//5866 +f 35510//1854 35896//2841 27148//2655 +f 10552//14481 10674//14460 10551//14465 +f 13142//8853 15398//14937 13141//12298 +f 8897//14521 9221//14492 1292//14070 +f 6892//14441 7996//14597 11328//14135 +f 8158//14871 7674//14907 7666//12171 +f 30332//8606 28678//13852 29290//10757 +f 20790//14938 20791//1433 20872//14939 +f 11906//13119 11907//13118 11990//13120 +f 7938//14632 8053//10883 7937//3860 +f 9275//11305 9387//11310 9274//14397 +f 8101//14551 8212//13589 8100//10676 +f 10498//14182 9340//14163 7360//14485 +f 7174//14940 7281//14732 7173//14733 +f 7392//13023 7391//13025 7280//13192 +f 11291//10913 11292//10610 6966//10612 +f 11276//12922 9513//14518 7655//12690 +f 10453//14290 10350//14291 10349//14213 +f 10331//14053 10332//14336 10948//14520 +f 10798//14459 10923//14411 10797//13903 +f 11049//14347 11048//13921 10922//13920 +f 8460//14209 8567//13702 10978//14210 +f 13044//1735 13138//145 13137//144 +f 9047//13987 9046//13036 8939//13121 +f 10791//14737 10916//14480 10790//13517 +f 11302//14348 8550//14524 9787//13925 +f 10428//13581 10548//10739 10427//11213 +f 12050//2554 13287//5952 13603//6004 +f 11301//13923 11302//14348 9787//13925 +f 9597//12072 9596//13451 9480//12073 +f 9060//14205 9067//14324 10626//14206 +f 9739//8698 9738//14804 9622//14668 +f 8368//11233 7361//10552 8585//10554 +f 8591//10709 8698//14486 8697//10652 +f 7050//12744 7051//12027 7154//12973 +f 8534//14303 8533//10576 8426//10586 +f 11306//14461 10136//13674 7352//11298 +f 26813//14770 24637//14769 26927//14941 +f 18472//11170 457//11249 456//14942 +f 9432//4181 2000//5120 3335//6506 +f 2000//5120 1172//10045 2653//12289 +f 11045//13299 11172//11296 11171//11633 +f 8806//13796 8807//8094 8913//8096 +f 9718//10504 9717//10434 9601//13290 +f 192//7554 3963//4084 4109//6265 +f 16169//89 2254//4573 14739//4572 +f 11312//3184 5718//5543 5584//3185 +f 18994//6339 25458//14943 25457//14944 +f 12166//10039 12165//8353 12083//10743 +f 13733//14909 13831//14917 13732//9516 +f 13929//14945 13928//9583 13830//9527 +f 31169//2808 31170//14946 31233//4172 +f 9936//5391 10053//12499 10052//5392 +f 9425//11823 8153//14910 8687//12462 +f 8003//11824 9425//11823 8687//12462 +f 8122//14947 7857//14911 8153//14910 +f 9425//11823 8122//14947 8153//14910 +f 7816//14948 10872//14912 7857//14911 +f 8122//14947 7816//14948 7857//14911 +f 10965//14949 10233//14913 10872//14912 +f 7816//14948 10965//14949 10872//14912 +f 10965//14949 9874//14950 7460//14914 +f 10233//14913 10965//14949 7460//14914 +f 7444//14951 7331//14915 7460//14914 +f 9874//14950 7444//14951 7460//14914 +f 10134//14952 9550//14916 7331//14915 +f 7444//14951 10134//14952 7331//14915 +f 7690//14953 10750//7154 9550//14916 +f 10134//14952 7690//14953 9550//14916 +f 2371//5681 8952//5680 8951//7741 +f 7690//14953 7804//7153 10750//7154 +f 5317//4356 5453//10523 5452//6503 +f 1990//8009 1870//8008 1871//8013 +f 7996//14597 10887//14267 10831//14136 +f 7260//10418 7371//10417 7259//13800 +f 9019//10976 9018//10975 8911//11154 +f 22328//14954 22329//14955 6866//14956 +f 4195//10898 25945//10897 25946//14957 +f 16159//570 16304//3553 14963//563 +f 8327//11015 10830//12183 8737//13420 +f 11044//11631 11045//13299 11171//11633 +f 13831//14917 13929//14945 13830//9527 +f 11275//12414 11276//12922 7655//12690 +f 10131//13855 800//13792 8337//13856 +f 26784//5620 26899//14958 26783//6181 +f 26578//12450 26683//14959 26682//9333 +f 35223//14960 6927//14961 6926//14925 +f 6926//14925 6925//14927 35223//14960 +f 7026//14962 7130//14963 7129//14928 +f 7025//14926 7026//14962 7129//14928 +f 7130//14963 7237//10125 7236//10124 +f 7129//14928 7130//14963 7236//10124 +f 35722//8727 35801//13859 35908//14964 +f 26577//7151 26578//12450 26682//9333 +f 10803//14965 10802//14036 10678//13272 +f 10557//14966 10679//14967 10556//13050 +f 10163//14104 10282//10636 10162//10638 +f 9408//14528 7651//13480 7535//14968 +f 11025//12965 4641//5693 11152//5695 +f 10768//10874 10767//10704 10643//10477 +f 4632//7655 4633//3661 4766//4230 +f 9970//14469 10087//14471 9969//14611 +f 8095//14644 8206//14625 8094//14525 +f 8313//7924 1871//8013 1870//8008 +f 8314//10387 8313//7924 8205//7923 +f 8206//14625 8314//10387 8205//7923 +f 2342//8611 5858//8954 5989//7448 +f 11038//10918 11039//14057 11165//10914 +f 10802//14036 10803//14965 10927//13677 +f 10928//14931 11054//14969 11053//13719 +f 9239//13712 9240//11242 9351//8182 +f 9240//11242 9352//8183 9351//8182 +f 7821//4059 7822//13005 7937//3860 +f 10895//4483 10894//4485 10769//9194 +f 6512//3705 8201//8865 14298//3706 +f 8830//14607 8831//13307 8937//14904 +f 8295//14619 8402//14617 8401//12287 +f 8294//12199 8295//14619 8401//12287 +f 8401//12287 8402//14617 8508//12379 +f 8402//14617 8509//14618 8508//12379 +f 8722//12567 8723//14606 8829//12662 +f 8509//14618 8616//14605 8615//12471 +f 8508//12379 8509//14618 8615//12471 +f 8616//14605 8723//14606 8722//12567 +f 8615//12471 8616//14605 8722//12567 +f 8723//14606 8830//14607 8829//12662 +f 8937//14904 9044//14903 9043//12841 +f 8830//14607 8937//14904 8936//12755 +f 7218//13413 7329//11718 10988//13429 +f 8936//12755 8937//14904 9043//12841 +f 10786//13530 10785//11016 10661//10983 +f 11241//11720 7916//11716 9014//13430 +f 2607//4700 2472//9259 9235//10872 +f 10911//13532 11037//13534 10910//12918 +f 7953//11164 8068//10869 7952//12016 +f 7270//10405 7269//12005 7162//12001 +f 12137//3636 12138//8472 11635//12017 +f 8179//14078 8178//12120 8067//12018 +f 11742//4500 11826//12161 11741//4501 +f 12118//8591 13486//9588 13390//7245 +f 6667//7933 107//7932 7578//8104 +f 6263//6516 13192//7371 3058//3538 +f 9507//11915 6251//2443 7546//6019 +f 12241//6836 12240//11856 12157//11855 +f 10056//14970 10057//14932 10174//13999 +f 9824//14004 9940//14971 9823//14005 +f 6957//12938 7056//12937 7055//13508 +f 6956//10772 6957//12938 7055//13508 +f 8498//11778 8497//14933 8390//14972 +f 8391//11779 8498//11778 8390//14972 +f 10535//12943 10657//13229 10534//13726 +f 10781//13328 10906//13330 10905//13241 +f 10490//14973 10612//12751 9437//10597 +f 9553//10688 8309//10690 8439//12656 +f 7891//11913 9507//11915 9428//12102 +f 7852//12202 7891//11913 9428//12102 +f 9428//12102 9507//11915 7546//6019 +f 8547//10787 1135//2332 1136//2487 +f 10262//11200 8198//14974 13497//11201 +f 9436//6036 1892//6035 9794//14686 +f 11295//14361 9557//14286 8252//13526 +f 11294//13525 11295//14361 8252//13526 +f 12681//7537 12770//13201 12769//4964 +f 12680//3633 12681//7537 12769//4964 +f 15398//14937 13140//9137 13141//12298 +f 21757//13815 21482//13814 23414//14975 +f 10823//14384 9221//14492 8897//14521 +f 10948//14520 10823//14384 8897//14521 +f 27278//14258 27279//14257 27396//14976 +f 13631//6378 13630//6379 13532//10267 +f 8095//14644 8094//14525 7979//14391 +f 7980//14643 8095//14644 7979//14391 +f 9602//13409 9718//10504 9601//13290 +f 33445//14977 22427//14935 22426//14825 +f 2879//6920 9341//6107 2346//5416 +f 7749//14797 7864//14666 7748//14389 +f 398//9092 512//8967 397//8968 +f 928//3729 33673//14978 7513//8419 +f 7980//14643 7979//14391 7863//14390 +f 10695//14337 10332//14336 10331//14053 +f 546//10989 8995//10988 7776//11765 +f 8435//13974 7168//14338 10944//13975 +f 10944//13975 10695//14337 10331//14053 +f 14278//14979 7787//13765 14287//14364 +f 9513//14518 11190//10524 11191//12952 +f 10916//14480 11042//14543 11041//13515 +f 13677//8281 13579//733 11617//14980 +f 10189//12272 10308//10516 10188//12375 +f 10915//13514 10916//14480 11041//13515 +f 8550//14524 9169//14339 9549//13924 +f 10337//12372 1951//12470 6638//13497 +f 10635//14365 10453//14290 8233//14212 +f 9787//13925 8550//14524 9549//13924 +f 7655//12690 9513//14518 11191//12952 +f 7656//14051 7658//14265 9060//14205 +f 7373//13441 7372//10416 7261//13729 +f 20261//14981 20260//14982 23693//14983 +f 11056//11369 11183//11442 11182//14198 +f 8330//10372 9526//9440 9525//14984 +f 11309//11426 10015//11427 10271//13501 +f 11308//14199 11309//11426 10271//13501 +f 7634//14730 7749//14797 7633//9952 +f 7864//14666 7863//14390 7748//14389 +f 7560//14034 7676//14436 7198//10509 +f 8888//13529 11318//14275 7770//10611 +f 8745//3892 8852//11509 2248//4702 +f 8812//12865 8919//13545 8918//14583 +f 11219//13403 10937//14162 7887//14183 +f 8530//10266 2119//3893 2118//5294 +f 12684//10166 12773//8263 12772//8587 +f 14027//14985 14026//9584 13928//9583 +f 13929//14945 14027//14985 13928//9583 +f 7048//13582 7049//11393 7152//14117 +f 9249//1811 9361//14986 9248//1812 +f 7163//11983 7162//12001 7059//10662 +f 9361//14986 9360//12971 9248//1812 +f 7199//14987 8122//14947 9425//11823 +f 9648//11825 7199//14987 9425//11823 +f 9082//14988 7816//14948 8122//14947 +f 7199//14987 9082//14988 8122//14947 +f 10387//14989 10965//14949 7816//14948 +f 9082//14988 10387//14989 7816//14948 +f 9875//14990 9874//14950 10965//14949 +f 10387//14989 9875//14990 10965//14949 +f 8018//14991 7444//14951 9874//14950 +f 9875//14990 8018//14991 9874//14950 +f 10017//14992 10134//14952 7444//14951 +f 8018//14991 10017//14992 7444//14951 +f 10017//14992 7797//14993 7690//14953 +f 10134//14952 10017//14992 7690//14953 +f 7652//14994 7804//7153 7690//14953 +f 7797//14993 7652//14994 7690//14953 +f 30059//14995 30191//12860 30058//14996 +f 7652//14994 10475//7269 7804//7153 +f 7371//10417 7483//11076 7482//14276 +f 7243//5249 417//7454 7242//13271 +f 7514//14462 7628//11301 7627//8420 +f 10803//14965 10928//14931 10927//13677 +f 8044//9184 10618//1575 14566//13355 +f 7513//8419 7514//14462 7627//8420 +f 7439//10468 7554//11877 9551//11970 +f 7749//14797 7748//14389 7633//9952 +f 9238//14728 9350//14729 9349//12091 +f 12815//9330 10740//9252 13001//10641 +f 11190//10524 10446//10525 9084//6497 +f 9355//12827 9470//13491 9469//13490 +f 27252//6007 27253//14772 27370//14997 +f 10004//14998 21628//14999 23581//5751 +f 17261//15000 27316//5609 27729//5611 +f 31106//15001 31107//15002 31169//2808 +f 7027//15003 7131//15004 7130//14963 +f 7025//14926 6927//14961 7026//14962 +f 7131//15004 7238//10269 7237//10125 +f 7130//14963 7131//15004 7237//10125 +f 10443//12211 5184//4343 5049//4179 +f 7810//13206 8157//13722 7695//10639 +f 9991//6143 14283//4281 13196//4280 +f 35890//6628 3320//15005 35659//9805 +f 11319//15006 9408//14528 7535//14968 +f 10539//14463 10538//14259 10418//13364 +f 26807//11726 26922//657 26921//11727 +f 7634//14730 7633//9952 7519//9951 +f 8545//13675 7643//13672 8649//11126 +f 7519//9951 7518//9953 33444//14509 +f 8833//14633 8832//13214 8725//13306 +f 9698//3366 9813//3365 9812//11732 +f 11361//10731 1978//11865 18934//1746 +f 30021//15007 30071//364 19378//14575 +f 10419//14466 10539//14463 10418//13364 +f 14474//7745 11881//7139 12057//7746 +f 10317//15008 10316//13044 10197//13820 +f 10317//15008 10437//15009 10316//13044 +f 10198//15010 10317//15008 10197//13820 +f 10437//15009 10436//13045 10316//13044 +f 8053//10883 8052//10885 7937//3860 +f 7796//10781 7791//13983 10809//10752 +f 11631//15011 7273//13546 7165//10112 +f 12074//5981 12073//11909 11992//5982 +f 6964//14141 130//13972 815//13630 +f 9295//13701 10336//14140 11201//13632 +f 15433//1795 10213//1797 2022//9229 +f 6097//7263 6227//4410 7426//10445 +f 7917//13432 8032//11713 7692//13537 +f 7807//11711 6985//11709 8797//13638 +f 12672//5565 12673//5564 12761//7911 +f 7692//13537 7807//11711 8797//13638 +f 8032//11713 7807//11711 7692//13537 +f 8797//13638 6985//11709 7471//9812 +f 10988//13429 11241//11720 9014//13430 +f 7916//11716 8032//11713 7917//13432 +f 10662//13533 10786//13530 10661//10983 +f 9014//13430 7916//11716 7917//13432 +f 7163//11983 7270//10405 7162//12001 +f 10911//13532 10910//12918 10785//11016 +f 13533//9802 13532//10267 13436//9949 +f 7381//10407 7380//12007 7269//12005 +f 12595//11910 12685//9336 12594//10163 +f 12685//9336 12774//8264 12773//8263 +f 9362//15012 9361//14986 9249//1811 +f 21570//2161 17101//15013 22443//2162 +f 9593//14001 9592//14003 9476//15014 +f 9250//10420 9362//15012 9249//1811 +f 9477//15015 9593//14001 9476//15014 +f 9709//14002 9708//14006 9592//14003 +f 9709//14002 9824//14004 9708//14006 +f 9940//14971 9939//14094 9823//14005 +f 9940//14971 10057//14932 10056//14970 +f 9939//14094 9940//14971 10056//14970 +f 7267//13126 7378//14143 7377//15016 +f 7266//13912 7267//13126 7377//15016 +f 8176//13858 8284//11782 8175//15017 +f 8391//11779 8390//14972 8283//15018 +f 10780//13728 10781//13328 10905//13241 +f 11032//13436 11031//13242 10905//13241 +f 8348//14052 10612//12751 10490//14973 +f 11010//10645 8348//14052 10490//14973 +f 7535//14968 8348//14052 11010//10645 +f 7422//15019 7535//14968 11010//10645 +f 6662//1666 11390//1665 7415//3056 +f 9556//11810 9298//11813 9299//12573 +f 1172//10045 10986//14370 2653//12289 +f 6897//13783 27648//15020 27503//13784 +f 9557//14286 8436//14287 7896//13528 +f 9436//6036 8084//12024 8114//12023 +f 22625//15021 22624//13282 22525//11870 +f 8252//13526 9557//14286 7896//13528 +f 23133//15022 22840//15023 23231//15024 +f 9985//13997 10032//14522 9869//14603 +f 9221//14492 6892//14441 1292//14070 +f 10548//10739 10547//10844 10427//11213 +f 28009//12274 28018//12273 26493//5426 +f 10679//14967 10678//13272 10556//13050 +f 8206//14625 8205//7923 8094//14525 +f 14125//15025 14124//9657 14026//9584 +f 11191//12952 11190//10524 9084//6497 +f 11514//374 11361//10731 18934//1746 +f 260//7266 1055//7158 6001//7157 +f 14027//14985 14125//15025 14026//9584 +f 8066//12019 8065//12181 7950//10608 +f 7864//14666 7980//14643 7863//14390 +f 29242//13293 29243//13292 29379//14443 +f 10621//10655 9008//12562 7691//11021 +f 8031//10598 7806//10708 10249//11022 +f 10332//14336 10823//14384 10948//14520 +f 11054//14969 11181//14726 11180//14195 +f 18179//5998 18933//13095 24399//12741 +f 9244//12826 9356//12602 9355//12827 +f 13574//7243 13672//7444 12636//3497 +f 9304//12292 7457//13830 14259//7561 +f 11042//14543 11169//14478 11168//13524 +f 7896//13528 8436//14287 8542//13611 +f 10200//11382 10199//14231 10081//13962 +f 11041//13515 11042//14543 11168//13524 +f 9110//10952 1495//8174 12202//10973 +f 10548//10739 10670//10842 10547//10844 +f 9067//14324 10635//14365 10626//14206 +f 12238//13308 12323//13402 12237//3751 +f 7295//10497 21467//10730 21466//376 +f 10831//14136 10887//14267 7656//14051 +f 24305//15026 25112//15027 24304//786 +f 7294//21 7295//10497 21466//376 +f 27314//13687 28676//1749 27296//13688 +f 27043//15028 27160//14256 27159//15029 +f 27167//5480 28476//5053 30204//13853 +f 28716//15030 28715//15031 21456//15032 +f 14221//14448 14220//9740 14124//9657 +f 4362//4682 10762//5834 10888//10456 +f 10049//14884 10050//14048 10167//14885 +f 6744//3363 1643//3362 9097//7353 +f 14125//15025 14221//14448 14124//9657 +f 11668//14132 11748//12271 11667//3347 +f 13516//15033 14318//9803 14220//9740 +f 9507//11915 9510//3461 6251//2443 +f 13196//4280 8687//12462 9991//6143 +f 1883//6134 1643//3362 6745//3361 +f 14221//14448 13516//15033 14220//9740 +f 12032//5865 9648//11825 8003//11824 +f 8349//6828 323//6726 10757//6830 +f 8548//15034 9082//14988 7199//14987 +f 10747//15035 8548//15034 7199//14987 +f 11095//15036 10387//14989 9082//14988 +f 8548//15034 11095//15036 9082//14988 +f 11095//15036 7922//15037 9875//14990 +f 10387//14989 11095//15036 9875//14990 +f 7922//15037 7445//15038 8018//14991 +f 9875//14990 7922//15037 8018//14991 +f 11117//15039 10017//14992 8018//14991 +f 7445//15038 11117//15039 8018//14991 +f 8998//15040 7797//14993 10017//14992 +f 11117//15039 8998//15040 10017//14992 +f 9509//15041 7652//14994 7797//14993 +f 8998//15040 9509//15041 7797//14993 +f 9286//15042 10475//7269 7652//14994 +f 9509//15041 9286//15042 7652//14994 +f 12075//7817 12074//5981 11993//5980 +f 9286//15042 11243//7462 10475//7269 +f 10679//14967 10803//14965 10678//13272 +f 152//5730 7201//12174 7202//12176 +f 266//6846 265//6740 7322//11135 +f 10661//10983 10660//10982 10538//14259 +f 7796//10781 9309//3112 7791//13983 +f 13521//2189 13522//9804 14318//9803 +f 7319//12736 7320//11046 264//6638 +f 35529//8019 35412//8644 35656//3699 +f 13516//15033 13521//2189 14318//9803 +f 35818//2090 28745//2089 26735//8479 +f 13651//12636 13749//12746 13650//12748 +f 10898//13153 11024//12966 10897//13273 +f 13604//2188 11810//9880 13522//9804 +f 15171//1447 1602//577 2103//7759 +f 30068//15043 30067//15044 29936//15045 +f 19138//15046 19520//15047 19036//1670 +f 17402//15048 17325//15049 17403//15050 +f 27396//14976 27397//15051 27515//5905 +f 7028//15052 7132//15053 7131//15004 +f 7027//15003 7028//15052 7131//15004 +f 7132//15053 7239//10335 7238//10269 +f 7131//15004 7132//15053 7238//10269 +f 415//4013 7241//10383 416//4011 +f 8519//8694 8411//12371 1744//3179 +f 8949//11006 2369//3268 8950//13740 +f 2370//5430 8951//7741 8950//13740 +f 10723//3113 10461//4104 9197//3114 +f 11145//4647 11146//14248 4769//6385 +f 24886//10839 26790//14544 30625//10837 +f 2237//3270 2108//7742 2109//5007 +f 2742//4699 9461//11084 2877//5530 +f 13521//2189 13604//2188 13522//9804 +f 7822//13005 898//6921 7708//10685 +f 35514//1077 29543//4726 27756//1078 +f 8912//10713 8913//8096 9019//10976 +f 9819//11916 9820//12506 9935//5390 +f 10785//11016 10910//12918 10909//11017 +f 9057//13671 9165//14398 9056//15054 +f 9274//14397 9273//15055 9164//15056 +f 9847//15057 9963//15058 9846//14614 +f 10080//15059 10079//14069 9962//14068 +f 17855//9784 5818//9721 18921//2695 +f 14556//1573 8044//9184 14566//13355 +f 8471//13816 8578//14523 9207//13735 +f 14821//15060 10238//13737 8563//15061 +f 10287//13372 10286//14901 10167//14885 +f 11201//13632 6964//14141 815//13630 +f 10540//13535 10662//13533 10539//14463 +f 11353//12845 11354//12229 9548//3430 +f 10419//14466 10420//13536 10539//14463 +f 10662//13533 10661//10983 10539//14463 +f 10300//13636 10420//13536 10419//14466 +f 10299//12916 10300//13636 10419//14466 +f 10300//13636 10299//12916 10180//12915 +f 10420//13536 10540//13535 10539//14463 +f 10786//13530 10911//13532 10785//11016 +f 10181//13720 10300//13636 10180//12915 +f 7270//10405 7381//10407 7269//12005 +f 11037//13534 11036//12930 10910//12918 +f 9699//11353 9698//3366 9582//12559 +f 7381//10407 7493//13685 7492//12009 +f 8712//11590 8819//11229 8711//14074 +f 8979//11897 7765//11766 8230//14137 +f 9477//15015 9476//15014 9361//14986 +f 8819//11229 8926//11231 8925//15062 +f 7833//15063 7949//15064 7832//12585 +f 9362//15012 9477//15015 9361//14986 +f 7719//13133 7834//10609 7718//15065 +f 7950//10608 7949//15064 7833//15063 +f 7603//15066 7604//13125 7718//15065 +f 7834//10609 7950//10608 7833//15063 +f 7490//13055 7604//13125 7489//15067 +f 7834//10609 7833//15063 7718//15065 +f 7490//13055 7489//15067 7377//15016 +f 7604//13125 7719//13133 7718//15065 +f 7378//14143 7490//13055 7377//15016 +f 7604//13125 7603//15066 7489//15067 +f 8176//13858 8175//15017 8064//15068 +f 8284//11782 8391//11779 8283//15018 +f 10906//13330 11032//13436 10905//13241 +f 11159//13438 11158//13243 11031//13242 +f 11032//13436 11159//13438 11031//13242 +f 11285//13540 11284//13240 11158//13243 +f 10508//13338 11143//13541 11074//13236 +f 10949//13339 10508//13338 11074//13236 +f 10991//11808 9556//11810 10276//12668 +f 9665//12759 10991//11808 10276//12668 +f 13486//9588 13982//2671 13884//5155 +f 12505//3935 12595//11910 12504//3936 +f 8369//12380 9436//6036 8114//12023 +f 12682//8466 12683//8465 12771//8588 +f 8436//14287 11068//14288 8542//13611 +f 8845//11608 7878//11609 9396//11701 +f 7112//14601 7087//13996 9869//14603 +f 10032//14522 10850//13904 9869//14603 +f 10919//11776 10918//11630 10793//11789 +f 33543//15069 7173//14733 7172//13619 +f 9732//15070 9731//14682 9615//14546 +f 9616//15071 9732//15070 9615//14546 +f 10621//10655 11119//10654 9008//12562 +f 9057//13671 9056//15054 8949//11006 +f 9667//10711 9551//11970 7912//11968 +f 11179//11281 11180//14195 11305//11282 +f 2514//5536 8852//11509 8853//10578 +f 13604//2188 12394//6001 11094//9950 +f 8720//11430 8827//13867 8719//13733 +f 11810//9880 13604//2188 11094//9950 +f 10397//11764 10398//14097 10517//10427 +f 9166//11304 9165//14398 9057//13671 +f 12394//6001 6257//6003 8087//10034 +f 8560//10522 5453//10523 10570//13237 +f 11053//13719 11054//14969 11180//14195 +f 10557//14966 10556//13050 10436//13045 +f 35386//6337 35723//1762 35377//3510 +f 13110//10558 187//2517 7769//8355 +f 9304//12292 12540//10951 7457//13830 +f 12076//5721 12158//13736 12075//7817 +f 11068//14288 10739//14669 10864//13612 +f 8542//13611 11068//14288 10864//13612 +f 11169//14478 11295//14361 11294//13525 +f 8369//12380 8114//12023 10472//12030 +f 31650//14802 31649//15072 31561//15073 +f 5960//10373 8150//4378 6092//4380 +f 12323//13402 12409//10647 12322//5828 +f 10599//13995 7087//13996 7112//14601 +f 7658//14265 9067//14324 9060//14205 +f 8971//14245 9212//10751 11083//10753 +f 10198//15010 10197//13820 10079//14069 +f 10080//15059 10198//15010 10079//14069 +f 9165//14398 9274//14397 9164//15056 +f 9386//14396 9385//15074 9273//15055 +f 19559//2455 21295//14515 28810//1820 +f 6004//6727 323//6726 5997//6829 +f 8164//10884 8163//10888 8052//10885 +f 8934//12279 8933//11775 8826//13868 +f 11833//2907 11832//12304 11748//12271 +f 7370//13799 7371//10417 7482//14276 +f 20378//7375 20377//1680 20292//1458 +f 11094//9950 12394//6001 8087//10034 +f 35603//1273 35418//1275 35851//13334 +f 419//3848 418//5248 7244//5247 +f 7545//6533 373//6536 487//6436 +f 898//6921 7822//13005 7821//4059 +f 5336//4421 6768//888 125//4422 +f 10926//11599 10927//13677 11052//11516 +f 7920//14936 7250//15075 8548//15034 +f 10747//15035 9648//11825 12937//5866 +f 7250//15075 8794//15076 11095//15036 +f 8548//15034 7250//15075 11095//15036 +f 8794//15076 7684//15077 7922//15037 +f 11095//15036 8794//15076 7922//15037 +f 7684//15077 8130//15078 7445//15038 +f 7922//15037 7684//15077 7445//15038 +f 11244//15079 11117//15039 7445//15038 +f 8130//15078 11244//15079 7445//15038 +f 8997//15080 8998//15040 11117//15039 +f 11244//15079 8997//15080 11117//15039 +f 8352//15081 9509//15041 8998//15040 +f 8997//15080 8352//15081 8998//15040 +f 8463//15082 9286//15042 9509//15041 +f 8352//15081 8463//15082 9509//15041 +f 10016//14076 11243//7462 9286//15042 +f 8463//15082 10016//14076 9286//15042 +f 12590//7538 12680//3633 12589//10118 +f 2641//5704 9277//9439 9167//2759 +f 1251//3861 8052//10885 8162//4214 +f 9963//15058 10080//15059 9962//14068 +f 28487//15083 19520//15047 19138//15046 +f 9617//14039 9616//15071 9500//15084 +f 9502//11308 9501//14400 9386//14396 +f 10398//14097 10518//14098 10517//10427 +f 9350//14729 9465//14906 9464//14129 +f 12249//10038 12334//10332 12248//8354 +f 26226//13937 26578//12450 26577//7151 +f 6257//6003 2092//3712 2091//10040 +f 5698//9565 8227//6419 8562//8863 +f 8717//11980 8824//12069 8823//12068 +f 4913//4177 4779//4015 4914//4014 +f 29146//5616 17668//2637 28874//2639 +f 28558//5556 28557//15085 28435//15086 +f 6930//13761 7029//15087 7028//15052 +f 6927//14961 6929//15088 7027//15003 +f 7029//15087 7133//15089 7132//15053 +f 7028//15052 7029//15087 7132//15053 +f 7133//15089 7240//10336 7239//10335 +f 7132//15053 7133//15089 7239//10335 +f 81//1050 3182//7740 82//15090 +f 5434//3555 5435//2770 16029//9198 +f 9848//13678 9847//15057 9732//15070 +f 9733//14194 9848//13678 9732//15070 +f 9255//10929 9367//13865 9366//12086 +f 8015//12691 9226//12953 3192//14126 +f 10875//13961 9866//14181 10341//14178 +f 11305//11282 11306//14461 7352//11298 +f 7511//6862 6376//6864 6247//3824 +f 10889//13942 11015//3662 10888//10456 +f 7589//11384 10749//13938 9984//11380 +f 23174//15091 19979//15092 19978//15093 +f 10162//10638 10161//10933 10043//10932 +f 10282//10636 10402//13893 10281//10637 +f 10081//13962 10080//15059 9963//15058 +f 9964//13767 10081//13962 9963//15058 +f 9847//15057 9846//14614 9731//14682 +f 9732//15070 9847//15057 9731//14682 +f 26600//15094 24914//15095 26601//15096 +f 27501//15097 27619//15098 27618//2306 +f 9933//14049 10050//14048 10049//14884 +f 8578//14523 8563//15061 9207//13735 +f 10168//14187 10287//13372 10167//14885 +f 10407//13371 10406//14902 10286//14901 +f 7563//13411 8953//10877 7551//2441 +f 7441//11000 1136//2487 6799//2867 +f 7699//12502 8264//11892 9663//11894 +f 10225//13425 10224//12591 9870//10990 +f 7721//12010 7722//12830 7836//12011 +f 7722//12830 7837//11165 7836//12011 +f 7607//13936 7722//12830 7721//12010 +f 7606//12013 7607//13936 7721//12010 +f 7380//12007 7381//10407 7492//12009 +f 7493//13685 7607//13936 7606//12013 +f 7742//10928 6490//2881 6491//3089 +f 7492//12009 7493//13685 7606//12013 +f 8818//14077 8819//11229 8925//15062 +f 8121//11899 8230//14137 7675//9829 +f 8175//15017 8174//12764 8063//12675 +f 8926//11231 9033//11882 9032//14739 +f 9932//14467 9933//14049 10049//14884 +f 8064//15068 8063//12675 7948//12673 +f 10022//13635 7567//12945 9761//11785 +f 7949//15064 8064//15068 7948//12673 +f 9821//12504 9822//14301 9937//12505 +f 9938//14095 10055//15099 10054//12500 +f 9707//15100 9822//14301 9821//12504 +f 9937//12505 9938//14095 10054//12500 +f 9706//12595 9707//15100 9821//12504 +f 9822//14301 9938//14095 9937//12505 +f 10055//15099 10173//13064 10172//12497 +f 10054//12500 10055//15099 10172//12497 +f 8390//14972 8389//13059 8282//12853 +f 8283//15018 8390//14972 8282//12853 +f 8065//12181 8176//13858 8064//15068 +f 8284//11782 8283//15018 8175//15017 +f 8065//12181 8064//15068 7949//15064 +f 7950//10608 8065//12181 7949//15064 +f 9478//12105 9594//12204 9477//15015 +f 9710//12296 9709//14002 9593//14001 +f 9192//13337 10352//13332 11143//13541 +f 10508//13338 9192//13337 11143//13541 +f 9098//11807 10991//11808 9665//12759 +f 11388//12849 9098//11807 9665//12759 +f 12685//9336 12684//10166 12594//10163 +f 22226//2425 22322//1920 22225//1922 +f 13142//8853 13143//8852 13237//9465 +f 12508//7134 12598//11972 12597//2744 +f 7613//11926 7728//11826 7727//10532 +f 7612//11066 7613//11926 7727//10532 +f 10146//13971 10105//13634 9511//13633 +f 6895//13970 10146//13971 9511//13633 +f 27253//14772 27371//13341 27370//14997 +f 7393//5439 7392//13023 7281//14732 +f 9616//15071 9615//14546 9499//14584 +f 9500//15084 9616//15071 9499//14584 +f 10199//14231 10318//12857 10198//15010 +f 10438//12856 10437//15009 10317//15008 +f 8230//14137 7765//11766 9538//12219 +f 10287//13372 10407//13371 10286//14901 +f 1726//6380 14682//471 16636//470 +f 7360//14485 10330//11958 7701//13114 +f 9939//14094 10056//14970 10055//15099 +f 10236//12084 7360//14485 10480//11284 +f 8824//12069 8931//14010 8930//12070 +f 10222//11216 9300//11285 8255//11134 +f 8950//13740 9057//13671 8949//11006 +f 9165//14398 9164//15056 9056//15054 +f 10437//15009 10557//14966 10436//13045 +f 9500//15084 9499//14584 9384//14216 +f 5603//15101 4248//12223 9112//15102 +f 8971//14245 11083//10753 10493//9076 +f 11826//12161 11912//5717 11825//14296 +f 11737//11687 11736//15103 11656//11010 +f 10739//14669 7819//14139 9198//13700 +f 10864//13612 10739//14669 9198//13700 +f 7661//12569 8369//12380 10472//12030 +f 7661//12569 10472//12030 10857//12132 +f 8670//13049 548//8368 8152//8367 +f 6618//8855 6743//7354 9065//8868 +f 11990//13120 12071//13032 12070//13935 +f 11989//14229 11990//13120 12070//13935 +f 1495//8174 3061//4247 15//4249 +f 7619//9658 7618//12927 7504//13024 +f 9385//15074 9384//14216 9272//11506 +f 9273//15055 9385//15074 9272//11506 +f 9274//14397 9386//14396 9273//15055 +f 9501//14400 9500//15084 9385//15074 +f 11017//14100 11016//3663 10890//13941 +f 10891//10706 11017//14100 10890//13941 +f 10330//11958 10751//11960 7701//13114 +f 10914//13518 11040//13516 11039//14057 +f 9284//11872 10236//12084 10480//11284 +f 35437//2159 35712//4286 35571//4285 +f 7506//9592 921//4859 920//9659 +f 4637//5724 6793//15104 2441//9475 +f 9466//8184 9467//11245 9582//12559 +f 8087//10034 6257//6003 2091//10040 +f 11554//10663 11489//15105 7060//10661 +f 4381//13629 9512//13631 6894//10544 +f 7702//15106 7250//15075 7920//14936 +f 10747//15035 12937//5866 7920//14936 +f 7702//15106 8236//15107 8794//15076 +f 7250//15075 7702//15106 8794//15076 +f 8236//15107 9876//15108 7684//15077 +f 8794//15076 8236//15107 7684//15077 +f 9876//15108 8238//15109 8130//15078 +f 7684//15077 9876//15108 8130//15078 +f 10694//15110 11244//15079 8130//15078 +f 8238//15109 10694//15110 8130//15078 +f 10825//15111 8997//15080 11244//15079 +f 10694//15110 10825//15111 11244//15079 +f 10825//15111 10450//15112 8352//15081 +f 8997//15080 10825//15111 8352//15081 +f 8569//15113 8463//15082 8352//15081 +f 10450//15112 8569//15113 8352//15081 +f 10133//15114 10016//14076 8463//15082 +f 8569//15113 10133//15114 8463//15082 +f 10221//8374 5830//8195 10452//11433 +f 10133//15114 10859//7751 10016//14076 +f 9164//15056 9273//15055 9163//11431 +f 10255//14874 8882//10793 11153//14763 +f 9501//14400 9617//14039 9500//15084 +f 9733//14194 9732//15070 9616//15071 +f 12242//6834 12241//6836 12158//13736 +f 10765//10512 10766//10517 10890//13941 +f 8256//11215 9284//11872 10480//11284 +f 11501//2729 35365//1289 29262//9366 +f 10706//866 23419//14 16015//7163 +f 35642//9674 35625//7012 35805//8646 +f 4795//6521 8147//9079 9989//6623 +f 14022//3333 14021//2358 13923//2357 +f 12495//5873 12585//13033 12584//5874 +f 198//7842 7251//10557 107//7932 +f 4384//6718 433//4404 8223//11115 +f 7360//14485 7701//13114 10480//11284 +f 29681//14503 29146//5616 29545//5617 +f 16664//15115 18054//15116 18422//15117 +f 6931//15118 7030//15119 7029//15087 +f 6930//13761 6929//15088 35097//13759 +f 7030//15119 7134//15120 7133//15089 +f 7029//15087 7030//15119 7133//15089 +f 7134//15120 7241//10383 7240//10336 +f 7133//15089 7134//15120 7240//10336 +f 11054//14969 11055//14585 11181//14726 +f 9825//12386 9824//14004 9709//14002 +f 9964//13767 9963//15058 9847//15057 +f 9848//13678 9964//13767 9847//15057 +f 13609//6530 35444//8500 35601//12695 +f 9954//11863 10071//11862 9953//12566 +f 2491//3813 11270//7837 2357//6024 +f 10764//10513 10889//13942 10763//10423 +f 6916//10565 30607//14386 29281//14450 +f 837//6025 836//3807 718//6153 +f 13882//12020 12472//12290 13881//12021 +f 11490//14157 7060//10661 11489//15105 +f 10875//13961 9524//11986 7887//14183 +f 12004//2756 12003//4898 11919//3103 +f 13724//6137 13723//5393 13625//14516 +f 10081//13962 10199//14231 10080//15059 +f 10199//14231 10198//15010 10080//15059 +f 9963//15058 9962//14068 9846//14614 +f 9056//15054 9164//15056 9055//10535 +f 29378//10832 29515//1663 29514//1662 +f 26810//13151 26925//15121 26924//15122 +f 8578//14523 8471//13816 10850//13904 +f 10032//14522 8578//14523 10850//13904 +f 815//13630 130//13972 9511//13633 +f 130//13972 6895//13970 9511//13633 +f 2127//8375 9307//8373 9422//14156 +f 13623//4175 13622//15123 24359//14151 +f 8875//10892 8987//5301 3307//9741 +f 10224//12591 9668//12593 9870//10990 +f 11231//10401 11319//15006 11337//14401 +f 7535//14968 7422//15019 9413//15124 +f 2092//3712 161//1864 10467//10044 +f 2091//10040 2092//3712 10467//10044 +f 11896//15125 14068//515 13519//528 +f 13623//4175 24359//14151 24525//7144 +f 8925//15062 8926//11231 9032//14739 +f 13975//1509 13877//762 15893//11902 +f 8064//15068 8175//15017 8063//12675 +f 9141//10421 9140//14410 9032//14739 +f 4537//15126 25994//15127 25993//15128 +f 8175//15017 8283//15018 8174//12764 +f 35376//12076 11410//13790 13419//14831 +f 9699//11353 9814//3364 9698//3366 +f 11337//14401 10855//12116 7698//12118 +f 718//6153 719//6295 837//6025 +f 161//1864 10958//1866 14185//10111 +f 10368//12688 8899//12302 9079//12689 +f 10168//14187 10169//11921 10287//13372 +f 9475//13234 9591//12974 9474//12491 +f 10953//13222 7308//12818 7309//12594 +f 9707//15100 9706//12595 9590//12492 +f 7949//15064 7948//12673 7832//12585 +f 10716//12590 10953//13222 7309//12594 +f 8497//14933 8496//13145 8389//13059 +f 7602//12487 7603//15066 7717//12488 +f 8604//14075 8603//13233 8496//13145 +f 8390//14972 8497//14933 8389//13059 +f 9476//15014 9475//13234 9360//12971 +f 9361//14986 9476//15014 9360//12971 +f 9363//12106 9478//12105 9362//15012 +f 9594//12204 9593//14001 9477//15015 +f 9317//13340 9210//13331 10352//13332 +f 9192//13337 9317//13340 10352//13332 +f 9174//11804 9098//11807 11388//12849 +f 9188//13324 9174//11804 11388//12849 +f 23404//8361 277//15129 5567//1633 +f 10467//10044 161//1864 14185//10111 +f 10528//12603 10529//1272 4241//1271 +f 11659//6919 11739//7914 11658//8477 +f 7728//11826 7843//11820 7842//10533 +f 7727//10532 7728//11826 7842//10533 +f 9007//11540 9011//11989 10614//11538 +f 10616//12951 10569//13788 10449//11535 +f 7282//15130 7393//5439 7281//14732 +f 8080//10944 8079//13111 7964//13110 +f 35551//8027 11382//9182 28479//15131 +f 5431//897 5297//896 16790//678 +f 10318//12857 10438//12856 10317//15008 +f 10558//13787 10557//14966 10437//15009 +f 3982//6277 2225//6803 11268//6947 +f 5556//8364 27146//15132 28365//8362 +f 9524//11986 11219//13403 7887//14183 +f 9020//10882 9021//13731 9128//12182 +f 9237//12090 9238//14728 9349//12091 +f 11337//14401 9413//15124 11331//12112 +f 1949//3882 2074//3675 1948//3096 +f 10958//1866 10364//13758 8771//10192 +f 10680//14616 10679//14967 10557//14966 +f 10558//13787 10680//14616 10557//14966 +f 9385//15074 9500//15084 9384//14216 +f 9408//14528 11319//15006 11231//10401 +f 27500//2305 27501//15097 27618//2306 +f 10065//11072 10066//10784 10183//10786 +f 12677//2920 12766//11710 12765//8257 +f 10594//14602 10599//13995 7112//14601 +f 7819//14139 10336//14140 9295//13701 +f 9198//13700 7819//14139 9295//13701 +f 7858//12757 7661//12569 10857//12132 +f 9662//6614 11353//12845 9548//3430 +f 1951//12470 8785//12563 10761//13981 +f 8272//10886 8379//11796 8271//10887 +f 18637//9327 18638//15133 21027//1941 +f 7256//11527 8196//14620 9566//11536 +f 7505//10829 7619//9658 7504//13024 +f 8299//11117 8406//11203 8298//13789 +f 7555//13365 8348//14052 7535//14968 +f 7651//13480 7555//13365 7535//14968 +f 9386//14396 9501//14400 9385//15074 +f 10680//14616 10804//14142 10679//14967 +f 11061//2925 7764//3469 12721//8178 +f 6618//8855 6492//3087 6493//6812 +f 8726//13945 8833//14633 8725//13306 +f 14185//10111 10958//1866 8771//10192 +f 8670//13049 8875//10892 548//8368 +f 1141//8369 1257//6233 1497//8371 +f 10364//13758 7463//13845 7577//10263 +f 8006//13927 3722//11019 11336//9661 +f 11004//3459 13896//3502 10255//14874 +f 9367//13865 9482//13730 9481//12071 +f 6503//6827 6377//6863 6504//6118 +f 7703//15134 7702//15106 10827//6103 +f 7702//15106 7920//14936 10827//6103 +f 9009//15135 8236//15107 7702//15106 +f 7703//15134 9009//15135 7702//15106 +f 9877//15136 9876//15108 8236//15107 +f 9009//15135 9877//15136 8236//15107 +f 10367//15137 8238//15109 9876//15108 +f 9877//15136 10367//15137 9876//15108 +f 10367//15137 8221//15138 10694//15110 +f 8238//15109 10367//15137 10694//15110 +f 10152//15139 10825//15111 10694//15110 +f 8221//15138 10152//15139 10694//15110 +f 8109//15140 10450//15112 10825//15111 +f 10152//15139 8109//15140 10825//15111 +f 8676//15141 8569//15113 10450//15112 +f 8109//15140 8676//15141 10450//15112 +f 9321//15142 10133//15114 8569//15113 +f 8676//15141 9321//15142 8569//15113 +f 10734//7750 10859//7751 10133//15114 +f 9321//15142 10734//7750 10133//15114 +f 8684//15143 11872//15144 12820//7739 +f 9988//11122 576//7557 10734//7750 +f 9617//14039 9733//14194 9616//15071 +f 10803//14965 10804//14142 10928//14931 +f 8606//12605 8605//11591 8498//11778 +f 369//5878 259//11289 7428//5876 +f 10395//5259 10515//10438 3961//5257 +f 6114//5838 5983//5728 6115//5973 +f 16153//14810 16015//7163 21874//7165 +f 8771//10192 10364//13758 7577//10263 +f 8869//9666 1175//12205 9117//12301 +f 12828//3637 11635//12017 13295//7244 +f 12920//15145 10499//14091 10818//2026 +f 11738//4997 11822//4996 11737//11687 +f 1312//6860 18566//6957 18469//6649 +f 6771//7652 4266//8847 695//8745 +f 11025//12965 4508//4868 4641//5693 +f 6292//4170 6420//4338 6419//4171 +f 6930//13761 6931//15118 7029//15087 +f 29087//8771 29086//13579 28951//9902 +f 6932//15146 7031//15147 7030//15119 +f 6931//15118 6932//15146 7030//15119 +f 7031//15147 7135//15148 7134//15120 +f 7030//15119 7031//15147 7134//15120 +f 7135//15148 7242//13271 7241//10383 +f 7134//15120 7135//15148 7241//10383 +f 11182//14198 11308//14199 11307//14727 +f 5349//318 16070//181 14736//4133 +f 35894//7274 35860//5272 35664//7275 +f 10293//13909 10413//13500 10412//13066 +f 9070//10723 9178//10489 9069//12923 +f 11189//9430 10566//9429 10446//10525 +f 18496//14323 6083//9786 5950//9722 +f 347//8490 4520//8489 1507//9900 +f 6378//6021 7541//11322 7546//6019 +f 7463//13845 128//13384 6637//10264 +f 515//9267 631//9342 630//9268 +f 29430//9422 35374//2478 19937//14697 +f 18139//9459 15561//561 14481//440 +f 9070//10723 9069//12923 8962//12280 +f 8963//10720 9070//10723 8962//12280 +f 11308//14199 10271//13501 11084//14795 +f 10318//12857 10317//15008 10198//15010 +f 9273//15055 9272//11506 9163//11431 +f 9056//15054 9055//10535 8948//10540 +f 30714//15149 30713//15150 30579//15151 +f 29562//15152 29695//13614 27553//13615 +f 8993//14072 10599//13995 10594//14602 +f 8989//13721 8993//14072 10594//14602 +f 8232//11700 8845//11608 9396//11701 +f 10611//11895 8151//11611 8232//11700 +f 8992//9183 405//8639 11364//8641 +f 24399//12741 22196//13658 18931//5999 +f 8264//11892 10224//12591 10225//13425 +f 7547//12299 7699//12502 10843//11961 +f 11319//15006 7535//14968 9413//15124 +f 7367//10402 11231//10401 7583//14399 +f 7146//13639 7363//13239 11284//13240 +f 11159//13438 11285//13540 11158//13243 +f 9033//11882 9141//10421 9032//14739 +f 9250//10420 9249//1811 9140//14410 +f 8925//15062 8924//12970 8817//12968 +f 9141//10421 9250//10420 9140//14410 +f 7603//15066 7602//12487 7488//12686 +f 8283//15018 8282//12853 8174//12764 +f 7688//13428 7921//10505 8143//13481 +f 9591//12974 9707//15100 9590//12492 +f 8288//10921 8395//14119 8394//14080 +f 7934//10987 8880//7265 8768//13048 +f 8180//10868 8288//10921 8179//14078 +f 14118//1268 14119//2360 14214//1427 +f 11462//8372 31651//9040 31650//14802 +f 10031//10855 7688//13428 10886//13362 +f 8298//13789 8405//13038 8297//13607 +f 9015//12837 10619//12914 10616//12951 +f 8291//12834 8292//10779 8398//10780 +f 11365//2834 9901//2836 11364//8641 +f 7308//12818 7217//12820 8980//12680 +f 7309//12594 7308//12818 8980//12680 +f 7833//15063 7832//12585 7717//12488 +f 7718//15065 7833//15063 7717//12488 +f 10735//13149 9418//7916 7925//7918 +f 8793//10927 6488//8097 6489//5115 +f 9592//14003 9591//12974 9475//13234 +f 9476//15014 9592//14003 9475//13234 +f 9251//10419 9363//12106 9250//10420 +f 9478//12105 9477//15015 9362//15012 +f 7536//11032 7511//6862 9210//13331 +f 9317//13340 7536//11032 9210//13331 +f 9119//11805 9174//11804 9188//13324 +f 7357//13322 9119//11805 9188//13324 +f 7577//10263 7463//13845 6637//10264 +f 128//13384 5736//5862 221//10310 +f 2000//5120 10097//12288 3335//6506 +f 35378//1951 35749//5583 35835//3551 +f 7843//11820 7959//11822 7958//14743 +f 7842//10533 7843//11820 7958//14743 +f 7592//11626 7621//11987 9007//11540 +f 9011//11989 10616//12951 10614//11538 +f 7965//10945 8080//10944 7964//13110 +f 8727//11451 8834//11449 8726//13945 +f 7422//15019 11010//10645 9780//10644 +f 11331//12112 9413//15124 7310//12113 +f 10438//12856 10558//13787 10437//15009 +f 8678//11512 7169//14388 8219//14793 +f 8963//10720 8962//12280 8855//11150 +f 8856//10718 8963//10720 8855//11150 +f 9173//10470 11327//13483 1291//13872 +f 7723//13597 7838//12829 7722//12830 +f 9349//12091 9350//14729 9464//14129 +f 9465//14906 9581//12957 9580//12956 +f 8749//10716 8856//10718 8855//11150 +f 8748//13683 8749//10716 8855//11150 +f 25272//15153 12140//15154 25273//15155 +f 10804//14142 10803//14965 10679//14967 +f 7994//10400 9408//14528 11231//10401 +f 163//7029 4503//7028 6671//7268 +f 7505//10829 7504//13024 7392//13023 +f 7393//5439 7505//10829 7392//13023 +f 7087//13996 9985//13997 9869//14603 +f 11680//14211 11761//14175 11679//14177 +f 10336//14140 6964//14141 11201//13632 +f 8023//11617 8353//11620 8027//11717 +f 10460//12664 9899//12416 11354//12229 +f 11353//12845 10460//12664 11354//12229 +f 8379//11796 8486//11888 8485//11797 +f 7387//11891 7386//13012 7275//15156 +f 10449//11535 10569//13788 10107//11533 +f 10220//14622 8196//14620 7256//11527 +f 8513//11444 8512//13039 8405//13038 +f 8406//11203 8513//11444 8405//13038 +f 10370//10646 10490//14973 9323//10596 +f 9450//10707 10620//448 10621//10655 +f 10804//14142 10929//14067 10928//14931 +f 8219//14793 7169//14388 8549//14794 +f 8535//10675 8642//10680 8534//14303 +f 8749//10716 8748//13683 8641//13857 +f 8148//10467 10875//13961 10341//14178 +f 9460//10940 10355//13948 9919//10941 +f 10391//8460 11282//11610 9186//11854 +f 13823//1007 13822//6140 13724//6137 +f 194//5705 4516//4990 39//5712 +f 9872//15157 7703//15134 10827//6103 +f 9254//10930 9255//10929 9366//12086 +f 8342//15158 9009//15135 7703//15134 +f 10838//15159 8342//15158 7703//15134 +f 8342//15158 9762//15160 9877//15136 +f 9009//15135 8342//15158 9877//15136 +f 9762//15160 10487//15161 10367//15137 +f 9877//15136 9762//15160 10367//15137 +f 10487//15161 10756//15162 8221//15138 +f 10367//15137 10487//15161 8221//15138 +f 7798//15163 10152//15139 8221//15138 +f 10756//15162 7798//15163 8221//15138 +f 7919//15164 8109//15140 10152//15139 +f 7798//15163 7919//15164 10152//15139 +f 7919//15164 8029//15165 8676//15141 +f 8109//15140 7919//15164 8676//15141 +f 9435//15166 9321//15142 8676//15141 +f 8029//15165 9435//15166 8676//15141 +f 10610//15167 10734//7750 9321//15142 +f 9435//15166 10610//15167 9321//15142 +f 576//7557 9988//11122 3867//7659 +f 10610//15167 9988//11122 10734//7750 +f 10929//14067 11055//14585 11054//14969 +f 12210//2923 8575//9859 4124//3128 +f 7830//13138 7946//13232 7945//10810 +f 10928//14931 10929//14067 11054//14969 +f 897//4398 7821//4059 1016//3667 +f 8642//10680 8641//13857 8534//14303 +f 15117//3393 15118//5164 16781//3394 +f 35519//8504 30420//1141 35939//1140 +f 9336//3152 3583//3151 10149//13474 +f 414//6428 413//10193 7239//10335 +f 9975//1590 9977//9528 13871//1430 +f 8562//8863 8227//6419 13414//5560 +f 12585//13033 12586//9305 12675//14299 +f 35561//2474 35417//3312 35736//3311 +f 17150//300 16985//15168 19595//15169 +f 7620//4858 920//9659 921//4859 +f 6545//4007 6419//4171 10693//4340 +f 35531//3033 35445//5014 27024//6826 +f 27736//15170 27735//2456 27618//2306 +f 6933//15171 7032//15172 7031//15147 +f 6932//15146 6933//15171 7031//15147 +f 7032//15172 7136//15173 7135//15148 +f 7031//15147 7032//15172 7135//15148 +f 7136//15173 7243//5249 7242//13271 +f 7135//15148 7136//15173 7242//13271 +f 11181//14726 11182//14198 11307//14727 +f 1635//10403 8204//12912 1752//6841 +f 8535//10675 8534//14303 8427//14302 +f 8428//10673 8535//10675 8427//14302 +f 10223//9389 5960//10373 6091//5819 +f 6222//4958 6092//4380 6093//4379 +f 9235//10872 9347//13507 9346//4698 +f 9346//4698 9347//13507 9461//11084 +f 9347//13507 9462//13681 9461//11084 +f 9461//11084 9462//13681 9577//11083 +f 8102//10665 8213//10669 8101//14551 +f 9462//13681 9578//13682 9577//11083 +f 11307//14727 11308//14199 11084//14795 +f 6637//10264 128//13384 221//10310 +f 8842//3269 8949//11006 8841//10600 +f 10271//13501 8127//11511 7304//14813 +f 8949//11006 9056//15054 8948//10540 +f 9164//15056 9163//11431 9055//10535 +f 7734//10972 7733//12928 7618//12927 +f 7619//9658 7734//10972 7618//12927 +f 10146//13971 7590//13973 7568//13637 +f 10105//13634 10146//13971 7568//13637 +f 9396//11701 7878//11609 9757//11704 +f 7878//11609 7177//11614 9757//11704 +f 10388//13422 9528//13511 9397//11914 +f 7563//13411 7551//2441 9510//3461 +f 13484//2228 13582//7374 9653//10368 +f 10711//11893 8264//11892 10225//13425 +f 11319//15006 9413//15124 11337//14401 +f 7367//10402 7583//14399 9339//10549 +f 11285//13540 7146//13639 11284//13240 +f 10580//14863 10443//12211 7363//13239 +f 10295//12763 10415//12852 10414//13817 +f 10294//13910 10295//12763 10414//13817 +f 8497//14933 8604//14075 8496//13145 +f 8711//14074 8710//12969 8603//13233 +f 7603//15066 7718//15065 7717//12488 +f 7489//15067 7603//15066 7488//12686 +f 10128//10992 9085//10991 11269//12949 +f 11225//11679 10128//10992 11269//12949 +f 8502//10410 8609//10409 8608//14007 +f 7041//3694 7042//5034 317//3697 +f 8398//10780 8399//10483 8505//13489 +f 7687//10854 7688//13428 10031//10855 +f 8288//10921 8287//14079 8179//14078 +f 7687//10854 10975//12485 7688//13428 +f 13608//735 35560//734 5561//2753 +f 8395//14119 8502//10410 8501//14118 +f 18139//9459 14481//440 19108//9460 +f 8874//12067 8981//12963 9679//13643 +f 8133//11505 8022//12392 8980//12680 +f 14825//15174 16990//12082 14826//15175 +f 7217//12820 8133//11505 8980//12680 +f 19529//14106 182//14105 21063//15176 +f 7761//13146 7925//7918 7790//12401 +f 7761//13146 10735//13149 7925//7918 +f 9708//14006 9707//15100 9591//12974 +f 9592//14003 9708//14006 9591//12974 +f 9142//12224 9251//10419 9141//10421 +f 9363//12106 9362//15012 9250//10420 +f 11060//11036 9801//7026 5739//6930 +f 9096//10681 8152//8367 1497//8371 +f 11288//11800 9119//11805 7357//13322 +f 11287//13326 11288//11800 7357//13322 +f 1526//15177 13793//15178 3994//5864 +f 35566//7149 35815//2158 35652//4814 +f 9415//11227 8259//13113 9194//12381 +f 10481//12568 9415//11227 9194//12381 +f 7959//11822 8074//11997 8073//14404 +f 7958//14743 7959//11822 8073//14404 +f 10584//11545 10595//13387 7592//11626 +f 7621//11987 9011//11989 9007//11540 +f 8941//11448 8940//14071 8833//14633 +f 8834//11449 8941//11448 8833//14633 +f 9413//15124 7422//15019 7310//12113 +f 10627//10594 7695//10639 6961//10595 +f 8358//14819 8678//11512 8219//14793 +f 35666//329 35586//331 35402//4190 +f 7987//10632 8102//10665 7986//11155 +f 8213//10669 8212//13589 8101//14551 +f 10640//10518 10764//10513 10763//10423 +f 9578//13682 9694//10924 9693//11082 +f 10889//13942 10888//10456 10763//10423 +f 5825//10240 7531//14517 5957//10241 +f 35365//1289 11501//2729 11801//14449 +f 6089//9189 6088//10169 5957//10241 +f 22418//7357 22517//6941 22516//1969 +f 8880//7265 3844//5302 8987//5301 +f 8191//11062 8190//13013 8079//13111 +f 7539//10813 8225//13475 7897//10814 +f 8080//10944 8191//11062 8079//13111 +f 8299//11117 8298//13789 8190//13013 +f 1495//8174 15//4249 12202//10973 +f 11821//11686 11820//13213 11736//15103 +f 11367//11818 8023//11617 8027//11717 +f 8353//11620 8034//11622 7062//11714 +f 7858//12757 10857//12132 9899//12416 +f 10460//12664 7858//12757 9899//12416 +f 7275//15156 11632//15179 11633//12231 +f 12772//8587 12864//10258 12863//10740 +f 10107//11533 10220//14622 7256//11527 +f 7499//12034 7498//12920 7386//13012 +f 8620//11446 8619//11063 8512//13039 +f 10614//11538 10616//12951 10449//11535 +f 1254//2338 9217//10895 3327//2339 +f 8513//11444 8620//11446 8512//13039 +f 11859//15180 12598//11972 12509//7133 +f 11010//10645 10490//14973 10370//10646 +f 8642//10680 8749//10716 8641//13857 +f 8549//14794 11335//13443 10745//13846 +f 10639//10422 10640//10518 10763//10423 +f 7871//10630 7987//10632 7870//13592 +f 7755//13394 7870//13592 7754//10666 +f 5818//9721 17855//9784 5685//8975 +f 3721//9075 1860//9071 300//9070 +f 34276//10728 34414//3130 34275//3132 +f 6768//888 7682//3926 125//4422 +f 9644//15181 8342//15158 10838//15159 +f 8420//15182 9644//15181 10838//15159 +f 9644//15181 9763//15183 9762//15160 +f 8342//15158 9644//15181 9762//15160 +f 9763//15183 10609//15184 10487//15161 +f 9762//15160 9763//15183 10487//15161 +f 10609//15184 7793//15185 10756//15162 +f 10487//15161 10609//15184 10756//15162 +f 8677//15186 7798//15163 10756//15162 +f 7793//15185 8677//15186 10756//15162 +f 7803//15187 7919//15164 7798//15163 +f 8677//15186 7803//15187 7798//15163 +f 7803//15187 7913//15188 8029//15165 +f 7919//15164 7803//15187 8029//15165 +f 8242//15189 9435//15166 8029//15165 +f 7913//15188 8242//15189 8029//15165 +f 10488//15190 10610//15167 9435//15166 +f 8242//15189 10488//15190 9435//15166 +f 7423//11121 9988//11122 10610//15167 +f 10488//15190 7423//11121 10610//15167 +f 6356//4349 6355//8607 8521//8609 +f 31549//15191 31476//6271 31550//13895 +f 11055//14585 11182//14198 11181//14726 +f 13186//15192 8158//14871 7453//10244 +f 7871//10630 7870//13592 7755//13394 +f 7756//10625 7871//10630 7755//13394 +f 47//14654 21290//15193 23955//15194 +f 9607//13478 9606//12754 9490//12838 +f 1981//13444 7169//14388 65//14387 +f 4792//3320 4927//3319 13675//3158 +f 10404//11964 10403//14667 10283//10447 +f 221//10310 5736//5862 4531//10333 +f 10853//15195 16304//3553 16159//570 +f 30633//1690 30027//4434 28997//1691 +f 12166//10039 12249//10038 12165//8353 +f 12334//10332 12333//8589 12248//8354 +f 22410//10369 22508//15196 22507//15197 +f 7675//9829 8350//11901 8121//11899 +f 28355//15198 28356//362 30021//15007 +f 27619//15098 27736//15170 27618//2306 +f 6934//15199 7033//15200 7032//15172 +f 15789//290 15653//15201 19113//8530 +f 7033//15200 7137//15202 7136//15173 +f 7032//15172 7033//15200 7136//15173 +f 7137//15202 7244//5247 7243//5249 +f 7136//15173 7137//15202 7243//5249 +f 35401//3123 35788//3725 35865//3724 +f 7169//14388 1981//13444 11335//13443 +f 7756//10625 7755//13394 7640//13393 +f 7641//10626 7756//10625 7640//13393 +f 20537//15203 20536//188 35521//645 +f 8148//10467 10341//14178 7439//10468 +f 9866//14181 10875//13961 7887//14183 +f 9129//14586 9238//14728 9237//12090 +f 9128//12182 9129//14586 9237//12090 +f 8321//10671 8320//13399 8212//13589 +f 10050//14048 10168//14187 10167//14885 +f 11084//14795 10271//13501 7304//14813 +f 8213//10669 8321//10671 8212//13589 +f 8127//11511 8678//11512 8358//14819 +f 7304//14813 8127//11511 8358//14819 +f 9025//14116 9026//13645 9133//14188 +f 8842//3269 8841//10600 8734//10599 +f 10899//12964 4373//5297 4374//4866 +f 17155//7121 16990//12082 3592//11018 +f 7590//13973 8993//14072 8989//13721 +f 7849//10947 7848//13026 7733//12928 +f 7177//11614 7671//11615 7442//11719 +f 7568//13637 7590//13973 8989//13721 +f 7762//13417 1057//13418 7763//11814 +f 9757//11704 7177//11614 7442//11719 +f 2346//5416 2886//7264 2879//6920 +f 9528//13511 7563//13411 9510//3461 +f 10699//12383 10700//11815 8459//12294 +f 10962//5663 9084//6497 5309//5664 +f 9754//10939 7367//10402 9339//10549 +f 11231//10401 11337//14401 7583//14399 +f 7146//13639 10580//14863 7363//13239 +f 11368//13724 9306//7840 10443//12211 +f 10415//12852 10535//12943 10534//13726 +f 10295//12763 10294//13910 10175//14000 +f 8818//14077 8817//12968 8710//12969 +f 8604//14075 8711//14074 8603//13233 +f 7489//15067 7488//12686 7376//12685 +f 7377//15016 7489//15067 7376//12685 +f 8381//10817 8488//10831 8487//11217 +f 1810//9978 19093//15204 18992//9980 +f 10169//11921 10288//13046 10287//13372 +f 10288//13046 10408//12740 10287//13372 +f 7487//12777 7601//12490 7486//12582 +f 8660//12408 8767//12742 10945//10461 +f 10975//12485 10862//12517 7921//10505 +f 7954//11163 7955//13561 8069//10867 +f 8599//10450 8706//11767 8705//14264 +f 8169//13543 8277//11132 8276//14738 +f 7911//10463 10936//10462 9324//13641 +f 8919//13545 8920//13320 9026//13645 +f 11595//3162 26948//5969 11526//5971 +f 24296//15205 26681//7152 24726//15206 +f 4658//7823 4926//12306 5061//3490 +f 14870//15207 14871//15208 14989//254 +f 11242//13147 7790//12401 11070//12394 +f 11242//13147 7761//13146 7790//12401 +f 9823//14005 9822//14301 9707//15100 +f 9708//14006 9823//14005 9707//15100 +f 8926//11231 8927//11880 9033//11882 +f 9034//11881 9142//12224 9141//10421 +f 8815//12870 8922//12855 8921//10474 +f 8059//10811 8060//10815 8170//11130 +f 11288//11800 11287//13326 11161//13434 +f 11162//11801 11288//11800 11161//13434 +f 8440//13312 8120//13221 9537//11900 +f 811//15209 94//14700 11868//14374 +f 7356//11124 9415//11227 10481//12568 +f 10259//12663 7356//11124 10481//12568 +f 8074//11997 8185//12099 8184//12833 +f 8292//10779 8293//10481 8399//10483 +f 10577//11118 10457//13496 106//11119 +f 6638//13497 10761//13981 8554//11629 +f 9048//11454 9047//13987 8940//14071 +f 8941//11448 9048//11454 8940//14071 +f 6548//4807 6549//4806 6673//4809 +f 2606//7831 2607//4700 2742//4699 +f 10338//10242 7453//10244 8158//14871 +f 9704//12944 9705//12596 9819//11916 +f 12080//3623 12079//4542 11998//5003 +f 2354//5417 2346//5416 11097//9339 +f 10855//12116 11337//14401 11331//12112 +f 2886//7264 8880//7265 8773//6263 +f 10223//9389 7531//14517 7999//9441 +f 24886//10839 26792//10838 24241//15210 +f 715//5741 833//5742 713//5460 +f 7531//14517 10223//9389 8132//6715 +f 8191//11062 8299//11117 8190//13013 +f 7241//10383 7242//13271 416//4011 +f 12499//6387 12589//10118 12498//2916 +f 8406//11203 8405//13038 8298//13789 +f 12679//3632 12678//2919 12588//2917 +f 8350//11901 811//15209 8440//13312 +f 11737//11687 11821//11686 11736//15103 +f 11131//4091 12129//4095 30//4092 +f 8027//11717 8353//11620 7062//11714 +f 8034//11622 8226//11624 8136//11712 +f 1057//13418 1619//11816 7763//11814 +f 7762//13417 7763//11814 7167//11812 +f 20791//1433 20873//1435 20872//14939 +f 10205//14470 10206//14263 13999//14201 +f 7387//11891 7499//12034 7386//13012 +f 14454//1359 14505//1358 14504//1464 +f 10569//13788 10220//14622 10107//11533 +f 7613//11926 7612//11066 7498//12920 +f 8727//11451 8726//13945 8619//11063 +f 10595//13387 7621//11987 7592//11626 +f 10490//14973 9437//10597 9323//10596 +f 8620//11446 8727//11451 8619//11063 +f 9640//3939 11335//13443 9744//3940 +f 5184//4343 10443//12211 9306//7840 +f 8102//10665 8101//14551 7986//11155 +f 10745//13846 9640//3939 10100//14900 +f 2786//12924 2650//4663 9069//12923 +f 9697//10862 9812//11732 9811//10863 +f 3319//4366 3192//14126 5040//4649 +f 5040//4649 3192//14126 9226//12953 +f 13519//528 14068//515 177//456 +f 6800//4811 6674//4810 6801//4957 +f 9903//15211 9644//15181 8420//15182 +f 10838//15159 9872//15157 8036//12583 +f 9903//15211 9764//15212 9763//15183 +f 9644//15181 9903//15211 9763//15183 +f 9764//15212 10248//15213 10609//15184 +f 9763//15183 9764//15212 10609//15184 +f 10248//15213 7794//15214 7793//15185 +f 10609//15184 10248//15213 7793//15185 +f 8570//15215 8677//15186 7793//15185 +f 7794//15214 8570//15215 7793//15185 +f 9873//15216 7803//15187 8677//15186 +f 8570//15215 9873//15216 8677//15186 +f 7915//15217 7913//15188 7803//15187 +f 9873//15216 7915//15217 7803//15187 +f 7915//15217 7792//15218 8242//15189 +f 7913//15188 7915//15217 8242//15189 +f 7903//15219 10488//15190 8242//15189 +f 7792//15218 7903//15219 8242//15189 +f 7220//15220 7423//11121 10488//15190 +f 7903//15219 7220//15220 10488//15190 +f 13135//10507 13134//2602 13040//10508 +f 7220//15220 10966//12258 7423//11121 +f 7598//12398 7713//12217 7597//11078 +f 10458//11513 137//11731 10564//3865 +f 7987//10632 7986//11155 7870//13592 +f 484//6152 7543//6293 485//6150 +f 5957//10241 7531//14517 8132//6715 +f 10670//10842 10794//13366 10669//10843 +f 3867//7659 10966//12258 335//7749 +f 8276//14738 8277//11132 8383//12958 +f 11039//14057 11166//13267 11165//10914 +f 23275//12410 4517//1516 14909//1419 +f 5872//3266 8656//11044 2636//3267 +f 8274//10800 8381//10817 8273//11771 +f 1594//3676 1712//3877 1711//3677 +f 2254//4573 9774//2073 11694//2072 +f 22312//10371 22313//8785 22409//10370 +f 15000//6320 15001//4735 15123//4736 +f 21507//15221 13699//15222 21599//15223 +f 27736//15170 27851//15224 27850//2458 +f 6935//15225 7034//15226 7033//15200 +f 6933//15171 6934//15199 7032//15172 +f 7034//15226 7138//15227 7137//15202 +f 7033//15200 7034//15226 7137//15202 +f 7245//7639 7244//5247 7137//15202 +f 7138//15227 7245//7639 7137//15202 +f 8314//10387 8421//8011 1871//8013 +f 12933//763 12206//3125 12043//7349 +f 21468//15228 21378//10615 11507//10617 +f 4773//2653 6394//2652 6544//2859 +f 1408//13668 1407//4722 917//4721 +f 9464//14129 9465//14906 9580//12956 +f 27735//2456 27736//15170 27850//2458 +f 10663//12168 10664//12167 10787//13531 +f 8428//10673 8427//14302 8320//13399 +f 431//9585 430//6106 7149//6105 +f 35727//13183 35916//2762 35763//2761 +f 8321//10671 8428//10673 8320//13399 +f 25354//15229 28239//15230 28122//15231 +f 35634//3457 25131//3007 25130//8925 +f 16790//678 14612//3389 5431//897 +f 7310//12113 7422//15019 9780//10644 +f 8230//14137 9538//12219 8240//3575 +f 8949//11006 8948//10540 8841//10600 +f 9470//13491 9471//12597 9586//13223 +f 7675//9829 8230//14137 8240//3575 +f 7671//11615 8023//11617 11367//11818 +f 8598//10451 8705//14264 8704//14150 +f 10388//13422 9397//11914 1619//11816 +f 7442//11719 7671//11615 11367//11818 +f 8889//12314 8995//10988 2129//6409 +f 1057//13418 10388//13422 1619//11816 +f 9299//12573 9298//11813 10699//12383 +f 7775//12133 7776//11765 8995//10988 +f 11368//13724 10571//13640 9306//7840 +f 8979//11897 9754//10939 7765//11766 +f 8085//13336 8560//10522 10570//13237 +f 10571//13640 8085//13336 10570//13237 +f 10580//14863 11368//13724 10443//12211 +f 10571//13640 10570//13237 9306//7840 +f 10176//12671 10295//12763 10175//14000 +f 9941//12479 10058//12577 9940//14971 +f 8818//14077 8925//15062 8817//12968 +f 8711//14074 8818//14077 8710//12969 +f 7377//15016 7376//12685 7265//12978 +f 7266//13912 7377//15016 7265//12978 +f 22409//10370 22410//10369 22507//15197 +f 6247//3824 6375//5685 6246//3825 +f 9758//12483 10953//13222 10716//12590 +f 11064//12592 9758//12483 10716//12590 +f 7600//12480 7601//12490 7715//13060 +f 7601//12490 7716//12489 7715//13060 +f 10171//12496 10290//12498 10170//11920 +f 10052//5392 10053//12499 10170//11920 +f 7829//12216 7830//13138 7945//10810 +f 8141//10444 8030//7651 11069//10968 +f 8918//14583 8919//13545 9025//14116 +f 4394//8196 10221//8374 5058//8280 +f 9668//12593 8873//12681 9870//10990 +f 3458//10243 10338//10242 8658//14865 +f 26720//14801 31561//15073 26721//15232 +f 5960//10373 8330//10372 8150//4378 +f 10596//13148 11070//12394 8245//12391 +f 10596//13148 11242//13147 11070//12394 +f 9938//14095 9939//14094 10055//15099 +f 10174//13999 10293//13909 10292//13065 +f 8713//11589 8820//11230 8712//11590 +f 9033//11882 9034//11881 9141//10421 +f 8815//12870 8814//13894 8707//11768 +f 18719//15233 18319//1586 3732//1585 +f 10909//11017 11035//12919 11034//13539 +f 10908//13538 10909//11017 11034//13539 +f 9982//11023 8332//11025 9537//11900 +f 8120//13221 9982//11023 9537//11900 +f 7356//11124 10259//12663 10495//10530 +f 10617//10529 7356//11124 10495//10530 +f 8400//10482 8507//12378 8506//12939 +f 8399//10483 8400//10482 8506//12939 +f 10701//11518 8776//10659 10576//11522 +f 10698//13583 10457//13496 10577//11118 +f 9156//11456 9155//13361 9047//13987 +f 9264//10424 9265//11457 9376//10425 +f 28187//11866 28136//2850 27057//2852 +f 27529//15234 26944//15235 454//15236 +f 7475//7844 7578//8104 7587//10553 +f 4510//7025 10903//13129 11029//11588 +f 10308//10516 10428//13581 10427//11213 +f 9949//11070 10066//10784 9948//11140 +f 9965//11300 9964//13767 9848//13678 +f 10522//10476 10521//10475 10401//12170 +f 8330//10372 10223//9389 9526//9440 +f 7999//9441 9526//9440 10223//9389 +f 12084//10043 12083//10743 12002//10742 +f 6091//5819 5960//10373 6092//4380 +f 2103//7759 1602//577 1603//576 +f 11635//12017 13390//7245 13295//7244 +f 15//4249 3062//4248 5603//15101 +f 16079//15237 16222//15238 13132//15239 +f 10098//11723 8905//11715 7581//11627 +f 3341//3900 12663//4093 12660//3901 +f 7062//11714 8034//11622 8136//11712 +f 10967//6934 7581//11627 7877//2987 +f 8226//11624 7581//11627 10967//6934 +f 8136//11712 8226//11624 10967//6934 +f 7399//13416 7762//13417 7167//11812 +f 8151//11611 8845//11608 8232//11700 +f 12846//6634 13021//3324 12221//14238 +f 10267//11601 10865//11603 9399//11114 +f 8259//13113 10028//11225 11102//6037 +f 9194//12381 8259//13113 11102//6037 +f 7499//12034 7613//11926 7498//12920 +f 8073//14404 8074//11997 8184//12833 +f 106//11119 6638//13497 8554//11629 +f 10761//13981 10595//13387 10584//11545 +f 8834//11449 8833//14633 8726//13945 +f 9048//11454 9156//11456 9047//13987 +f 26510//10834 26606//5471 26509//10835 +f 7400//1417 26852//2137 26848//2136 +f 8125//11235 7929//10490 10215//10492 +f 8273//11771 8272//10886 8164//10884 +f 10189//12272 10188//12375 10070//12374 +f 339//13741 2609//15240 5204//10391 +f 1715//7920 1598//4216 1716//7921 +f 7192//10616 13775//11472 21476//14683 +f 7149//6105 7257//9586 431//9585 +f 9065//8868 6743//7354 9097//7353 +f 11194//13100 9903//15211 8483//15241 +f 8483//15241 9903//15211 8420//15182 +f 9650//15242 9764//15212 9903//15211 +f 11194//13100 9650//15242 9903//15211 +f 9650//15242 10129//15243 10248//15213 +f 9764//15212 9650//15242 10248//15213 +f 10129//15243 9434//15244 7794//15214 +f 10248//15213 10129//15243 7794//15214 +f 8784//15245 8570//15215 7794//15214 +f 9434//15244 8784//15245 7794//15214 +f 8441//15246 9873//15216 8570//15215 +f 8784//15245 8441//15246 8570//15215 +f 10361//15247 7915//15217 9873//15216 +f 8441//15246 10361//15247 9873//15216 +f 10361//15247 10990//15248 7792//15218 +f 7915//15217 10361//15247 7792//15218 +f 7443//15249 7903//15219 7792//15218 +f 10990//15248 7443//15249 7792//15218 +f 9987//15250 7220//15220 7903//15219 +f 7443//15249 9987//15250 7903//15219 +f 10837//15251 10966//12258 7220//15220 +f 9987//15250 10837//15251 7220//15220 +f 2904//13742 5865//5443 10759//15252 +f 10837//15251 7251//10557 10966//12258 +f 9895//11138 8125//11235 9010//14821 +f 12003//4898 12002//10742 11918//3494 +f 10400//10561 10399//12169 10279//14153 +f 10665//13522 10789//13519 10788//13595 +f 7554//11877 8335//11871 7669//11873 +f 9348//12092 9463//13300 9462//13681 +f 9149//10735 9258//13766 9148//13785 +f 9370//13477 9369//13476 9257//13656 +f 10795//11792 10920//11637 10794//13366 +f 8069//10867 8068//10869 7953//11164 +f 8380//11770 8381//10817 8487//11217 +f 11833//2907 11919//3103 11832//12304 +f 9470//13491 9586//13223 9585//13492 +f 9899//12416 8889//12314 2476//6408 +f 6920//15253 7408//15254 22328//14954 +f 27295//2463 18436//1973 29549//3009 +f 6936//15255 7035//15256 7034//15226 +f 6934//15199 34971//15257 6935//15225 +f 7035//15256 7139//9518 7138//15227 +f 7034//15226 7035//15256 7138//15227 +f 7246//4506 7245//7639 7138//15227 +f 7139//9518 7246//4506 7138//15227 +f 6542//11143 6417//3802 8012//4008 +f 3452//5526 8844//7737 5696//7736 +f 2686//6754 33927//15258 2551//15259 +f 8255//11134 8368//11233 10104//11234 +f 9100//11377 9101//12172 10650//11375 +f 11507//10617 7192//10616 21476//14683 +f 10072//11205 10190//10514 10071//11862 +f 10280//13939 10400//10561 10279//14153 +f 11040//13516 11167//13265 11039//14057 +f 9984//11380 10219//14796 10938//11156 +f 8698//14486 8805//10712 8697//10652 +f 35929//9195 3179//7544 35375//15260 +f 26924//15122 26925//15121 27042//15261 +f 27058//2851 28374//14334 28371//14333 +f 7734//10972 7849//10947 7733//12928 +f 7965//10945 7964//13110 7848//13026 +f 9200//10431 7894//12180 7895//11607 +f 7849//10947 7965//10945 7848//13026 +f 8827//13867 8828//12277 8934//12279 +f 7827//13442 7943//11859 7942//11858 +f 1291//13872 2930//13419 10811//13415 +f 9173//10470 1291//13872 10811//13415 +f 14105//13690 14106//13686 14201//6621 +f 9528//13511 9510//3461 9397//11914 +f 9597//12072 9713//12475 9712//13449 +f 8889//12314 7775//12133 8995//10988 +f 9083//13335 8112//13235 8560//10522 +f 10700//11815 3191//11817 8459//12294 +f 9594//12204 9710//12296 9593//14001 +f 8085//13336 9083//13335 8560//10522 +f 9710//12296 9825//12386 9709//14002 +f 9941//12479 9940//14971 9824//14004 +f 9825//12386 9941//12479 9824//14004 +f 10058//12577 10057//14932 9940//14971 +f 10176//12671 10175//14000 10057//14932 +f 10058//12577 10176//12671 10057//14932 +f 8924//12970 8925//15062 9031//12972 +f 8925//15062 9032//14739 9031//12972 +f 7054//12877 7055//13508 7158//12779 +f 7159//13819 7266//13912 7265//12978 +f 11121//12589 7547//12299 9066//12407 +f 14826//15175 16990//12082 17155//7121 +f 8225//13475 10581//13106 11121//12589 +f 9758//12483 11064//12592 7470//12501 +f 7715//13060 7716//12489 7830//13138 +f 7716//12489 7831//12586 7830//13138 +f 10290//12498 10289//12868 10170//11920 +f 9820//12506 9936//5391 9935//5390 +f 8899//12302 9117//12301 10685//11699 +f 8338//10604 8445//11681 10491//10605 +f 1507//9900 4520//8489 133//12075 +f 6959//10812 7897//10814 8445//11681 +f 6547//12022 6422//4642 6548//4807 +f 11835//15262 11921//2906 27297//2905 +f 7149//6105 320//6104 7045//7931 +f 7619//9658 7506//9592 920//9659 +f 8994//11504 8245//12391 8133//11505 +f 8994//11504 10596//13148 8245//12391 +f 10056//14970 10174//13999 10173//13064 +f 10055//15099 10056//14970 10173//13064 +f 8392//11781 8499//11777 8391//11779 +f 8820//11230 8927//11880 8926//11231 +f 8386//12297 8387//12578 8493//12580 +f 8922//12855 9029//10472 8921//10474 +f 10660//10982 10659//11468 10537//13445 +f 10538//14259 10660//10982 10537//13445 +f 8881//11024 7534//10938 8332//11025 +f 8777//10479 7994//10400 7143//10480 +f 10849//11556 11227//10531 9753//12844 +f 9776//13200 10849//11556 9753//12844 +f 8507//12378 8614//11428 8613//12940 +f 8506//12939 8507//12378 8613//12940 +f 10576//11522 10698//13583 10577//11118 +f 10457//13496 6638//13497 106//11119 +f 9492//11543 9491//13488 9376//10425 +f 9608//11542 9607//13478 9491//13488 +f 27851//15224 27967//15263 27966//2641 +f 27042//15261 27043//15028 27159//15029 +f 7431//6639 7319//12736 264//6638 +f 7327//10466 7439//10468 9667//10711 +f 11167//13265 11166//13267 11039//14057 +f 10319//11387 10318//12857 10199//14231 +f 9038//14009 9037//13484 8930//12070 +f 8931//14010 9038//14009 8930//12070 +f 8977//4892 8330//10372 9525//14984 +f 9412//4893 8977//4892 9525//14984 +f 12500//6386 12590//7538 12499//6387 +f 8330//10372 8977//4892 8150//4378 +f 8003//11824 13196//4280 12032//5865 +f 2609//15240 4111//9187 3203//10392 +f 5204//10391 2609//15240 3203//10392 +f 1740//5863 1526//15177 3994//5864 +f 35542//4087 35408//8562 35915//638 +f 27850//2458 27851//15224 27966//2641 +f 11080//13296 9186//11854 10721//12317 +f 8867//12227 11080//13296 10721//12317 +f 9186//11854 8151//11611 10611//11895 +f 10721//12317 9186//11854 10611//11895 +f 7399//13416 7167//11812 9092//11811 +f 8251//13414 7399//13416 9092//11811 +f 10372//12029 10267//11601 9399//11114 +f 7147//11602 7417//8956 10865//11603 +f 18492//15264 23225//15265 23221//15266 +f 3436//6130 3297//6844 3298//5025 +f 8185//12099 8293//10481 8292//10779 +f 10844//14407 9776//13200 10774//13219 +f 8554//11629 10761//13981 10584//11545 +f 8184//12833 8185//12099 8292//10779 +f 9156//11456 9265//11457 9264//10424 +f 8776//10659 10698//13583 10576//11522 +f 9596//13451 9597//12072 9712//13449 +f 9155//13361 9156//11456 9264//10424 +f 6965//11953 35932//15267 14163//11954 +f 27967//15263 28084//15268 28083//2642 +f 7770//10611 11318//14275 11192//13426 +f 8285//11780 8284//11782 8176//13858 +f 8180//10868 8179//14078 8068//10869 +f 3437//5024 3570//4886 3569//4885 +f 9346//4698 2607//4700 9235//10872 +f 13419//14831 13475//6057 35376//12076 +f 1992//8012 1991//9258 1871//8013 +f 11194//13100 8483//15241 9234//7166 +f 14457//5452 434//8202 3268//3765 +f 9326//13099 9651//14266 9650//15242 +f 11194//13100 9326//13099 9650//15242 +f 9651//14266 10733//11644 10129//15243 +f 9650//15242 9651//14266 10129//15243 +f 10733//11644 9320//10486 9434//15244 +f 10129//15243 10733//11644 9434//15244 +f 8464//10485 8784//15245 9434//15244 +f 9320//10486 8464//10485 9434//15244 +f 9010//14821 8441//15246 8784//15245 +f 8464//10485 9010//14821 8784//15245 +f 10215//10492 10361//15247 8441//15246 +f 9010//14821 10215//10492 8441//15246 +f 9563//10491 10990//15248 10361//15247 +f 10215//10492 9563//10491 10361//15247 +f 9563//10491 8565//10547 7443//15249 +f 10990//15248 9563//10491 7443//15249 +f 7529//14425 9987//15250 7443//15249 +f 8565//10547 7529//14425 7443//15249 +f 11089//14409 10837//15251 9987//15250 +f 7529//14425 11089//14409 9987//15250 +f 10378//10556 7251//10557 10837//15251 +f 11089//14409 10378//10556 10837//15251 +f 35874//3436 35897//4264 35367//2986 +f 7578//8104 107//7932 10378//10556 +f 6507//9810 6381//9809 10502//9811 +f 10469//10430 9885//11994 9200//10431 +f 9577//11083 9578//13682 9693//11082 +f 8708//12871 8815//12870 8707//11768 +f 7271//10406 7270//10405 7163//11983 +f 13484//2228 9653//10368 8010//14096 +f 9694//10924 9809//10926 9808//11085 +f 9734//11295 9733//14194 9617//14039 +f 7153//12745 7260//10418 7152//14117 +f 7035//15256 6936//15255 115//5160 +f 7870//13592 7869//10633 7754//10666 +f 7035//15256 115//5160 7036//5159 +f 5453//10523 10816//7841 10570//13237 +f 27966//2641 27967//15263 28083//2642 +f 35427//13202 35619//4207 35541//3885 +f 8422//14269 1993//5296 8421//8011 +f 9645//15269 34875//15270 34599//14787 +f 7035//15256 7036//5159 7139//9518 +f 22529//14789 9645//15269 34599//14787 +f 35814//3183 35936//932 35367//2986 +f 10163//14104 10162//10638 10044//10590 +f 10355//13948 9433//14557 9919//10941 +f 9817//13967 9933//14049 9932//14467 +f 7821//4059 897//4398 898//6921 +f 9831//13646 9832//10433 9947//13647 +f 10744//13115 7398//11434 7361//10552 +f 15905//8101 11119//10654 7362//450 +f 9781//10710 9667//10711 9433//14557 +f 11116//10500 11389//11224 8890//11137 +f 7398//11434 7475//7844 7361//10552 +f 7649//3088 9065//8868 7742//10928 +f 9155//13361 9264//10424 9263//10426 +f 10768//10874 10893//10974 10767//10704 +f 7272//13547 7383//13552 7271//10406 +f 9724//11549 9839//11551 9723//13479 +f 9377//11461 9492//11543 9376//10425 +f 11171//11633 11172//11296 11297//11297 +f 11298//10981 11209//11315 8145//11314 +f 9485//11240 9486//11239 9601//13290 +f 9042//12843 9041//10736 8934//12279 +f 1291//13872 6894//10544 2930//13419 +f 6894//10544 7648//10543 2930//13419 +f 8157//13722 10860//12960 7695//10639 +f 2903//3545 4519//8356 1617//2523 +f 32096//9221 32196//15271 32095//15272 +f 28084//15268 28201//15273 28200//2843 +f 13532//10267 13630//6379 13531//14808 +f 10085//14408 10086//14624 10204//14706 +f 10740//9252 13289//9179 12920//15145 +f 28083//2642 28084//15268 28200//2843 +f 12370//15274 12116//15275 11866//15276 +f 12484//15277 13984//1189 11866//15276 +f 11780//15278 12484//15277 11866//15276 +f 12288//13108 11877//1190 12484//15277 +f 12484//15277 11877//1190 13984//1189 +f 33894//15279 33893//15280 33759//15281 +f 29556//15282 35598//728 27756//1078 +f 11665//3322 11745//12103 11664//9739 +f 11829//8087 11828//8088 11744//9800 +f 13375//15283 14057//15284 13962//15285 +f 14255//13270 21030//15286 8224//972 +f 22526//14934 22625//15021 22525//11870 +f 22724//15287 22723//4255 22624//13282 +f 22625//15021 22724//15287 22624//13282 +f 22823//15288 22822//3534 22723//4255 +f 22724//15287 22823//15288 22723//4255 +f 22922//15289 22921//9519 22822//3534 +f 22823//15288 22922//15289 22822//3534 +f 23021//7277 23020//9520 22921//9519 +f 22922//15289 23021//7277 22921//9519 +f 23119//7276 23118//14750 23020//9520 +f 23021//7277 23119//7276 23020//9520 +f 23217//15290 23216//14753 23118//14750 +f 23119//7276 23217//15290 23118//14750 +f 3487//15291 3616//15292 17626//8872 +f 18359//15293 18356//15294 19492//7379 +f 21030//15286 20407//15295 20365//973 +f 21218//15296 21217//1 20403//1962 +f 23210//6940 23308//10188 23307//15297 +f 23111//15298 23112//2544 23209//15299 +f 16017//15300 14842//15301 14961//2716 +f 16304//3553 16017//15300 14961//2716 +f 14961//2716 14842//15301 13336//2717 +f 14842//15301 3039//15302 13336//2717 +f 3039//15302 16310//15303 16166//2718 +f 13336//2717 3039//15302 16166//2718 +f 16310//15303 15881//15304 16164//13381 +f 16166//2718 16310//15303 16164//13381 +f 15881//15304 13340//14352 13339//14351 +f 16164//13381 15881//15304 13339//14351 +f 23209//15299 23210//6940 23307//15297 +f 9219//2404 3338//15305 1762//15306 +f 23308//10188 23405//15307 23404//8361 +f 12134//2557 14165//2560 12217//15308 +f 14165//2560 12913//2559 12730//15309 +f 13413//15310 10853//15195 4543//2526 +f 33869//2390 34004//14655 33868//1653 +f 10009//15311 2792//15312 8046//2525 +f 12907//15313 15199//843 9784//858 +f 10853//15195 13413//15310 16304//3553 +f 23447//15314 6266//15315 23155//857 +f 6266//15315 12907//15313 9784//858 +f 15116//15316 15491//15317 21404//1878 +f 15366//14710 4940//14747 23410//14711 +f 29355//15318 30220//8029 35779//4870 +f 19366//15319 19418//15320 18969//15321 +f 7521//13871 33336//14313 33231//13869 +f 14165//2560 5857//15322 12217//15308 +f 12666//15323 28723//15324 19521//7036 +f 34284//5975 34283//5977 34145//15325 +f 31631//15326 31726//250 31630//14529 +f 28723//15324 30823//7034 19521//7036 +f 34958//15327 34957//15328 34828//15329 +f 34018//15330 34154//15331 34017//6323 +f 1854//15332 11629//15333 5426//8655 +f 35932//15267 5426//8655 14163//11954 +f 13380//2382 9219//2404 1762//15306 +f 1854//15332 2089//15334 12835//15335 +f 35908//14964 35801//13859 35647//6142 +f 12134//2557 12217//15308 3338//15305 +f 11629//15333 1854//15332 12835//15335 +f 28318//15336 28317//2997 28200//2843 +f 2089//15334 12195//15337 12046//15338 +f 12835//15335 2089//15334 12046//15338 +f 12195//15337 11486//15339 12116//15275 +f 12046//15338 12195//15337 12116//15275 +f 13759//15340 14910//15341 13758//14353 +f 17970//15342 17877//15343 17878//15344 +f 2635//15345 20812//7854 20050//2258 +f 13337//15346 15410//15347 13858//15348 +f 13380//2382 1762//15306 14085//15349 +f 11250//2403 13380//2382 14085//15349 +f 13797//15350 11780//15278 12116//15275 +f 19669//15351 13395//15352 902//15353 +f 11486//15339 13797//15350 12116//15275 +f 13126//15354 12484//15277 11780//15278 +f 13797//15350 13126//15354 11780//15278 +f 7886//11502 7759//10768 9114//5340 +f 13126//15354 12288//13108 12484//15277 +f 12529//14748 12619//5549 12528//10648 +f 16768//15355 13291//2421 21506//13901 +f 11745//12103 11829//8087 11744//9800 +f 12596//3148 12686//2956 12595//11910 +f 9453//3554 15703//13472 10149//13474 +f 15911//13094 8484//13181 16989//13453 +f 8541//14511 12487//15356 8648//14331 +f 25063//15357 25062//15358 26211//15359 +f 13867//14745 19934//15360 15869//15361 +f 9772//1473 14324//1475 8528//15362 +f 15048//15363 11400//14354 12808//15364 +f 21204//1293 21203//15365 6519//15366 +f 13599//15367 35674//9806 3194//15368 +f 6266//15315 9784//858 23155//857 +f 18419//15369 18515//15370 23420//15371 +f 31992//15372 31991//9833 31890//11092 +f 1024//1154 12747//15373 23155//857 +f 15028//15374 19770//1072 14907//15375 +f 19213//15376 18652//15377 23021//7277 +f 31561//15073 26720//14801 31650//14802 +f 20472//2589 20557//263 20471//15378 +f 33263//3336 33372//15379 33371//3337 +f 9219//2404 12134//2557 3338//15305 +f 20558//2588 20557//263 20472//2589 +f 26719//14782 11462//8372 31650//14802 +f 35425//15380 35395//8508 35940//8653 +f 15601//103 17797//1901 15675//104 +f 19118//15381 18318//15382 19519//15383 +f 14254//1153 7881//15384 1024//1154 +f 12747//15373 23447//15314 23155//857 +f 8675//15385 7881//15384 14254//1153 +f 13787//976 8675//15385 14254//1153 +f 13204//15386 8675//15385 13787//976 +f 7881//15384 12747//15373 1024//1154 +f 13204//15386 14740//1898 16461//573 +f 14740//1898 13204//15386 13787//976 +f 16773//15387 16462//15388 23156//572 +f 16462//15388 13204//15386 16461//573 +f 20010//15389 16773//15387 20091//642 +f 22064//15390 22056//15391 21126//15392 +f 22064//15390 2654//15393 22056//15391 +f 21127//15394 22064//15390 21126//15392 +f 2654//15393 2761//15395 22056//15391 +f 2500//12409 13395//15352 23275//12410 +f 13340//14352 13759//15340 13758//14353 +f 16462//15388 16461//573 23156//572 +f 17130//3570 13423//3569 17098//15396 +f 35504//2091 35818//2090 35632//6816 +f 32243//15397 32242//13207 32142//15398 +f 11462//8372 26719//14782 11527//3163 +f 16773//15387 23156//572 20091//642 +f 16932//15399 13056//15400 9187//4 +f 26721//15232 31560//15401 26722//15402 +f 35436//5243 11365//2834 35576//8640 +f 15675//104 17797//1901 19699//15403 +f 13338//15404 16932//15399 15282//15405 +f 34674//15406 34673//15407 34545//15408 +f 15877//4590 15738//5281 13655//14866 +f 35483//6701 35507//9830 35717//5273 +f 13886//15409 13338//15404 13858//15348 +f 17356//15410 17355//15411 17287//15412 +f 18749//15413 18847//15414 18748//15415 +f 16932//15399 9187//4 15282//15405 +f 35356//6232 35496//8030 14089//14192 +f 16776//15416 15622//15417 3795//15418 +f 17291//15419 27404//15420 13709//15421 +f 15596//1582 11258//1583 15595//9526 +f 16454//15422 15606//15423 15474//349 +f 23401//8435 15436//9291 23400//9360 +f 30551//12522 30552//12521 30685//15424 +f 33382//15425 33495//15426 33381//15427 +f 15864//207 15726//15428 172//9359 +f 33874//15429 34009//14642 33873//15430 +f 31530//4192 31531//15431 31617//15432 +f 23057//15433 15472//15434 22958//15435 +f 34834//15436 34833//15437 34705//15438 +f 2236//12761 23057//15433 8479//15439 +f 22069//4449 16157//1410 22068//15440 +f 3184//15441 19981//15442 7789//15443 +f 15472//15434 16922//15444 22958//15435 +f 22618//2733 22617//15445 22518//12784 +f 22519//12783 22618//2733 22518//12784 +f 31618//15446 31713//15447 31712//15448 +f 34701//15449 34829//15450 34828//15329 +f 8306//15451 1854//15332 10604//14230 +f 35940//8653 5426//8655 35932//15267 +f 23311//15452 23408//15453 23310//15454 +f 14281//15455 2089//15334 1854//15332 +f 21126//15392 22056//15391 21125//2250 +f 2761//15395 15731//660 22053//1803 +f 8306//15451 14281//15455 1854//15332 +f 23408//15453 23407//15456 23310//15454 +f 7247//15457 12195//15337 2089//15334 +f 14281//15455 7247//15457 2089//15334 +f 11403//15458 11486//15339 12195//15337 +f 7247//15457 11403//15458 12195//15337 +f 5697//15459 17089//2812 17090//2811 +f 22426//14825 33970//14826 33445//14977 +f 22623//13283 22523//15460 22524//11868 +f 22624//13282 22723//4255 22623//13283 +f 30161//10745 30294//10774 30160//15461 +f 22665//15462 24233//3143 13805//3145 +f 11403//15458 11448//15463 13797//15350 +f 22391//15464 25222//15465 23759//15466 +f 11486//15339 11403//15458 13797//15350 +f 11448//15463 13109//15467 13126//15354 +f 13797//15350 11448//15463 13126//15354 +f 26821//15468 26822//5601 26937//7167 +f 35922//1856 35688//4715 35872//7575 +f 692//10262 2939//478 13335//15469 +f 12754//5995 440//6532 1255//10015 +f 12596//3148 12595//11910 12505//3935 +f 12506//2955 12596//3148 12505//3935 +f 13505//9125 12282//5859 13286//15470 +f 11832//12304 11918//3494 11831//3496 +f 14189//13657 10441//9616 10562//13679 +f 3203//10392 4111//9187 2124//10756 +f 12626//15471 22270//15472 23504//15473 +f 16307//266 16454//15422 15474//349 +f 15606//15423 15029//15474 15154//403 +f 21244//15475 12626//15471 23504//15473 +f 23950//15476 24817//15477 24696//15478 +f 15474//349 15606//15423 15154//403 +f 21335//15479 24580//15480 25016//15481 +f 15029//15474 6005//15482 7530//567 +f 15154//403 15029//15474 7530//567 +f 3668//15483 3799//597 7530//567 +f 6005//15482 3668//15483 7530//567 +f 10234//15484 16613//776 3799//597 +f 3668//15483 10234//15484 3799//597 +f 35423//7252 35596//903 35433//978 +f 27376//15485 29008//4496 29145//4495 +f 30077//15486 30078//15487 11552//15488 +f 35702//4975 35786//11060 35910//6873 +f 28129//15489 28884//15490 28751//15491 +f 11885//15492 23522//15493 24095//15494 +f 30078//15487 30077//15486 28358//783 +f 20760//15495 27504//15496 27621//15497 +f 15075//15498 34734//15499 15609//14681 +f 15726//15428 15864//207 15073//9525 +f 15864//207 12568//209 15073//9525 +f 11957//6837 21403//8691 22939//6838 +f 15436//9291 15864//207 172//9359 +f 28359//1187 30078//15487 28358//783 +f 12905//15500 14991//1454 15221//1296 +f 16460//15501 12905//15500 15221//1296 +f 3207//15502 1968//1488 14991//1454 +f 35478//977 35664//7275 35482//3515 +f 12905//15500 3207//15502 14991//1454 +f 16756//3397 25606//15503 25605//3959 +f 3860//8947 12826//11919 14590//15504 +f 31560//15401 26721//15232 31561//15073 +f 20327//1474 20242//753 14324//1475 +f 1963//15505 3463//1494 1968//1488 +f 3207//15502 1963//15505 1968//1488 +f 13338//15404 15282//15405 13858//15348 +f 12339//15506 11564//1564 3463//1494 +f 1963//15505 12339//15506 3463//1494 +f 12339//15506 14951//15507 9063//1685 +f 20533//15508 20615//2778 20614//2777 +f 11564//1564 12339//15506 9063//1685 +f 23038//15509 23044//8690 16953//7259 +f 35000//7359 22420//15510 22517//6941 +f 22465//15511 24124//15512 24125//15513 +f 12620//15514 12619//5549 12529//14748 +f 22717//14241 22716//4526 22617//15445 +f 23044//8690 15482//8692 16953//7259 +f 14951//15507 23075//15515 16616//1775 +f 12368//2385 14083//2384 13384//8803 +f 9063//1685 14951//15507 16616//1775 +f 23075//15515 4417//15516 15341//1896 +f 16616//1775 23075//15515 15341//1896 +f 4417//15516 21393//15517 12897//1956 +f 21407//15518 18838//9118 21317//15519 +f 16197//15520 16342//15521 14083//2384 +f 12530//15522 12620//15514 12529//14748 +f 12197//8470 12045//7138 25005//14505 +f 22723//4255 22722//3536 22623//13283 +f 12710//15523 12709//5550 12619//5549 +f 15341//1896 4417//15516 12897//1956 +f 24648//6342 24647//15524 28257//15525 +f 21393//15517 19991//15526 20704//2051 +f 12897//1956 21393//15517 20704//2051 +f 19991//15526 20453//15527 20451//2111 +f 20704//2051 19991//15526 20451//2111 +f 20453//15527 21232//15528 21221//2255 +f 34146//14641 34145//15325 34009//14642 +f 35073//15529 35202//15530 35072//15531 +f 34706//15532 34834//15436 34705//15438 +f 34303//15533 34441//15534 34302//15535 +f 10466//15536 7992//15537 8681//15538 +f 33867//1654 33866//15539 33732//15540 +f 24305//15026 26080//15541 24650//15542 +f 25017//15543 25022//15544 25313//15545 +f 24306//15546 24305//15026 24650//15542 +f 11258//1583 15877//4590 13655//14866 +f 33733//1655 33867//1654 33732//15540 +f 14183//15547 1383//13374 1645//15548 +f 10362//1379 8306//15451 11412//1380 +f 10604//14230 11412//1380 8306//15451 +f 13035//15549 14281//15455 8306//15451 +f 10362//1379 13035//15549 8306//15451 +f 7676//14436 7560//14034 14186//7543 +f 7576//12130 8440//13312 13477//15550 +f 14273//15551 7247//15457 14281//15455 +f 11462//8372 11527//3163 11526//5971 +f 13035//15549 14273//15551 14281//15455 +f 11369//15552 11403//15458 7247//15457 +f 14273//15551 11369//15552 7247//15457 +f 11076//15553 11448//15463 11403//15458 +f 11369//15552 11076//15553 11403//15458 +f 20451//2111 20453//15527 21221//2255 +f 11156//15554 13109//15467 11448//15463 +f 13675//3158 13703//2551 795//2553 +f 21232//15528 22254//15555 22252//3384 +f 14107//11498 14108//7159 14203//7161 +f 14118//1268 14214//1427 14213//1269 +f 13674//8802 14162//15556 13872//15557 +f 13384//8803 13674//8802 13872//15557 +f 5857//15322 12730//15309 9923//15558 +f 13384//8803 13872//15557 12822//15559 +f 12217//15308 5857//15322 12302//15560 +f 12730//15309 13384//8803 12822//15559 +f 3338//15305 12217//15308 12302//15560 +f 12730//15309 12822//15559 9923//15558 +f 1030//15561 3338//15305 12302//15560 +f 5857//15322 9923//15558 12302//15560 +f 10483//6709 11957//6837 14832//6736 +f 35772//11907 35672//9826 35508//9825 +f 12799//15562 12891//15563 12798//7130 +f 21403//8691 23044//8690 22939//6838 +f 13172//15564 13171//5856 13077//14262 +f 22414//8892 22512//10334 22413//914 +f 1762//15306 3338//15305 1030//15561 +f 21221//2255 21232//15528 22252//3384 +f 11076//15553 11156//15554 11448//15463 +f 8340//5953 35423//7252 35579//9307 +f 11156//15554 12283//13109 13109//15467 +f 22254//15555 15152//15565 10963//3398 +f 11508//10700 440//6532 13861//6531 +f 13171//5856 13076//15566 13077//14262 +f 10217//6865 20663//3140 372//3142 +f 11766//15567 11850//15568 11765//15569 +f 13267//15570 13266//5851 13171//5856 +f 13746//15571 13745//15572 13647//15573 +f 21384//3391 21385//1992 22660//15574 +f 13172//15564 13267//15570 13171//5856 +f 13363//15575 13362//5857 13266//5851 +f 10237//15576 10690//15577 16757//15578 +f 10690//15577 10237//15576 4065//15579 +f 20754//15580 25113//15581 20756//15582 +f 12686//2956 12685//9336 12595//11910 +f 440//6532 11508//10700 12845//10699 +f 12002//10742 12001//3523 11917//3495 +f 11999//8089 12080//3623 11998//5003 +f 35552//4385 35495//4384 35675//2912 +f 8674//10692 9898//10783 8781//10693 +f 14045//15583 16600//15584 14239//15585 +f 16600//15584 10237//15576 16757//15578 +f 28423//15586 28303//15587 21609//15588 +f 15049//1600 13429//15589 20157//15590 +f 13717//1560 13815//10041 13814//3354 +f 16600//15584 16757//15578 14239//15585 +f 22252//3384 22254//15555 10963//3398 +f 18182//15591 19779//15592 18631//11423 +f 15152//15565 21297//15593 21296//3769 +f 10963//3398 15152//15565 21296//3769 +f 12988//15594 12894//4423 21296//3769 +f 21297//15593 12988//15594 21296//3769 +f 12988//15594 20405//15595 21392//4570 +f 12894//4423 12988//15594 21392//4570 +f 6262//15596 23//4594 21392//4570 +f 20432//373 19003//375 20135//686 +f 20405//15595 6262//15596 21392//4570 +f 26080//15541 25305//15597 25080//15598 +f 35363//2261 35415//3015 35839//9018 +f 13267//15570 13363//15575 13266//5851 +f 13950//15599 15278//4696 23//4594 +f 12710//15523 12799//15562 12709//5550 +f 13458//15600 13457//7638 13362//5857 +f 12620//15514 12710//15523 12619//5549 +f 12891//15563 12890//7131 12798//7130 +f 10036//14873 12920//15145 3733//2025 +f 12799//15562 12798//7130 12709//5550 +f 6262//15596 13950//15599 23//4594 +f 14183//15547 1645//15548 13221//15601 +f 15066//15602 15608//5566 15278//4696 +f 13950//15599 15066//15602 15278//4696 +f 22337//15603 22338//6032 15608//5566 +f 15066//15602 22337//15603 15608//5566 +f 15593//15604 15193//6038 22338//6032 +f 22337//15603 15593//15604 22338//6032 +f 15593//15604 20455//15605 22047//6448 +f 15193//6038 15593//15604 22047//6448 +f 3090//5214 34203//5484 3091//5212 +f 31376//15606 31443//15607 31375//15608 +f 20319//15609 20316//1933 16602//1932 +f 34303//15533 34302//15535 34164//15610 +f 33114//15611 33113//15612 33007//15613 +f 34002//14250 34001//15614 33866//15539 +f 33867//1654 34002//14250 33866//15539 +f 13405//15615 10362//1379 11442//1378 +f 8883//1604 14249//15616 20012//15617 +f 35771//1954 11442//1378 11412//1380 +f 20455//15605 22050//15618 23344//6500 +f 14302//12926 11262//7563 131//14298 +f 21127//15394 21126//15392 20319//15609 +f 22047//6448 20455//15605 23344//6500 +f 12655//15619 13035//15549 10362//1379 +f 21592//15620 15736//15621 20499//15622 +f 13405//15615 12655//15619 10362//1379 +f 14174//15623 14273//15551 13035//15549 +f 12655//15619 14174//15623 13035//15549 +f 4126//15624 11369//15552 14273//15551 +f 14174//15623 4126//15624 14273//15551 +f 4126//15624 10158//15625 11076//15553 +f 11369//15552 4126//15624 11076//15553 +f 13508//15626 11156//15554 11076//15553 +f 10158//15625 13508//15626 11076//15553 +f 11640//15627 12283//13109 11156//15554 +f 20390//15628 20474//3181 20389//15629 +f 20322//15630 21127//15394 20319//15609 +f 24406//15631 12891//15563 23730//15632 +f 35628//12186 35395//8508 35425//15380 +f 12507//2954 12508//7134 12597//2744 +f 22512//10334 22611//15633 22610//1151 +f 24234//15634 20669//15635 24401//15636 +f 13653//15637 13652//15638 13554//15639 +f 34416//15640 34415//10727 34277//849 +f 5605//15641 1762//15306 1030//15561 +f 13508//15626 11640//15627 11156//15554 +f 35549//15642 35663//2550 35775//6451 +f 11640//15627 14063//15643 12283//13109 +f 13043//1736 13044//1735 13137//144 +f 22050//15618 20599//15644 22850//6528 +f 11882//6635 13798//14604 4923//6915 +f 13180//15645 11619//15646 13087//15647 +f 23344//6500 22050//15618 22850//6528 +f 25438//6594 30760//11363 24715//6595 +f 13473//15648 13474//15649 71//15650 +f 12307//15651 13377//15652 13190//15653 +f 11936//12037 11935//12036 11849//15654 +f 11717//10949 14183//15547 12119//10950 +f 13766//15655 13765//15656 10369//12191 +f 22936//867 16153//14810 14245//14147 +f 11207//5867 12602//10986 13375//15283 +f 10237//15576 2759//15657 4065//15579 +f 22259//8192 11957//6837 10483//6709 +f 12080//3623 12162//3932 12079//4542 +f 35403//1950 35784//184 35397//5584 +f 14009//7038 14010//11497 14107//11498 +f 11135//2516 12047//2712 11131//4091 +f 12162//3932 12161//3934 12079//4542 +f 24029//15658 25234//14661 24237//14660 +f 24871//15659 24503//15660 23857//15661 +f 20599//15644 16776//15416 12989//15662 +f 30695//10876 30694//2472 30560//15663 +f 22850//6528 20599//15644 12989//15662 +f 28201//15273 28318//15336 28200//2843 +f 13468//15664 7455//8665 13276//8667 +f 28438//15665 28437//5306 28317//2997 +f 13687//15666 21769//15667 21698//12348 +f 19742//15668 17564//15669 19934//15360 +f 35442//1947 14169//9635 35459//3903 +f 20309//4581 18178//15670 17941//15671 +f 20045//15672 20126//15673 20125//7281 +f 20044//7280 20045//15672 20125//7281 +f 14931//7257 16953//7259 14472//15674 +f 13027//15675 23420//15371 17084//15676 +f 13363//15575 13458//15600 13362//5857 +f 13554//15639 13553//4115 13457//7638 +f 21216//2 21214//15677 20396//15678 +f 13458//15600 13554//15639 13457//7638 +f 11850//15568 11936//12037 11849//15654 +f 12020//15679 12019//15680 11935//12036 +f 11850//15568 11849//15654 11765//15569 +f 12101//15681 12100//15682 12019//15680 +f 12171//15683 13180//15645 13087//15647 +f 11766//15567 11765//15569 11684//15684 +f 12119//10950 14183//15547 13221//15601 +f 11619//15646 13473//15648 71//15650 +f 12119//10950 13221//15601 14272//3447 +f 11155//12609 10900//12526 6387//5242 +f 12286//15685 11955//5040 35857//5042 +f 12215//3449 12119//10950 14272//3447 +f 11359//589 20364//588 13089//15686 +f 31458//4191 31459//15687 31530//4192 +f 15410//15347 13886//15409 13858//15348 +f 13955//4578 21756//15688 20404//4584 +f 20211//15689 20210//7568 20125//7281 +f 16925//8476 15410//15347 13337//15346 +f 16766//2813 16925//8476 13337//15346 +f 20126//15673 20211//15689 20125//7281 +f 20297//15690 20296//8189 20210//7568 +f 20211//15689 20297//15690 20210//7568 +f 20382//15691 20381//8386 20296//8189 +f 35789//7055 35750//9196 35869//7458 +f 20297//15690 20382//15691 20296//8189 +f 13554//15639 13652//15638 13553//4115 +f 16937//15692 14692//15693 11947//2593 +f 22939//6838 23038//15509 22732//15694 +f 13652//15638 13651//12636 13553//4115 +f 20466//15695 20465//8463 20381//8386 +f 22939//6838 23044//8690 23038//15509 +f 20382//15691 20466//15695 20381//8386 +f 32900//14890 33008//15696 32899//15697 +f 31556//12472 31555//15698 26617//12473 +f 25879//15699 25880//15700 26021//15701 +f 28997//1691 27665//4601 27410//8890 +f 12916//15702 13009//15703 11572//15704 +f 23115//15705 23213//15706 23114//15707 +f 15348//1297 12647//1455 15747//15708 +f 20551//15709 20550//8671 20465//8463 +f 21147//171 2787//2037 21068//15710 +f 169//2281 14485//2528 7065//8021 +f 14085//15349 1762//15306 5605//15641 +f 1880//10620 14085//15349 5605//15641 +f 35709//6309 35678//7447 35769//5621 +f 12456//2804 12367//15711 13525//6869 +f 6877//4774 35826//5328 18937//8480 +f 35623//5283 3736//7545 35929//9195 +f 17086//15712 13324//15713 22462//2071 +f 35686//1287 35565//15714 35604//7478 +f 20466//15695 20551//15709 20465//8463 +f 21204//1293 15339//864 21203//15365 +f 11727//15715 14187//15716 11952//15717 +f 20532//4591 20533//15508 20614//2777 +f 23394//15718 14911//15719 23393//15720 +f 13377//15652 11727//15715 11952//15717 +f 20615//2778 20696//11039 20695//2779 +f 16775//1298 15348//1297 16774//8421 +f 10262//11200 11956//15721 8198//14974 +f 13746//15571 13844//15722 13745//15572 +f 14141//12729 14045//15583 14239//15585 +f 10986//14370 8137//15723 2653//12289 +f 20474//3181 20473//2587 20389//15629 +f 12602//10986 14057//15284 13375//15283 +f 34844//15724 34843//15725 34715//15726 +f 20390//15628 20389//15629 20304//15727 +f 34716//15728 34844//15724 34715//15726 +f 34138//14249 34137//15729 34001//15614 +f 33606//13821 33733//1655 33605//13822 +f 14087//13743 13405//15615 11704//2449 +f 11442//1378 11704//2449 13405//15615 +f 12565//15730 12655//15619 13405//15615 +f 14087//13743 12565//15730 13405//15615 +f 14173//15731 14174//15623 12655//15619 +f 12565//15730 14173//15731 12655//15619 +f 11374//15732 4126//15624 14174//15623 +f 14173//15731 11374//15732 14174//15623 +f 13293//15733 10158//15625 4126//15624 +f 11374//15732 13293//15733 4126//15624 +f 24136//15734 24378//15735 24137//15736 +f 25179//13850 22011//15737 25180//15738 +f 11697//14224 8002//15739 5055//15740 +f 20633//15741 20632//8724 20550//8671 +f 20551//15709 20633//15741 20550//8671 +f 31170//14946 31171//15742 31234//15743 +f 12307//15651 13190//15653 11893//15744 +f 13377//15652 11952//15717 13190//15653 +f 12936//15745 11893//15744 14280//15746 +f 12936//15745 12307//15651 11893//15744 +f 11685//15747 11766//15567 11684//15684 +f 12928//15748 12936//15745 14280//15746 +f 22314//397 22411//9014 22410//10369 +f 11543//15749 11610//15750 11542//15751 +f 5693//15752 12171//15683 13087//15647 +f 21876//15753 21781//15754 22839//15755 +f 11619//15646 71//15650 13087//15647 +f 22217//8896 22218//396 22313//8785 +f 22313//8785 22314//397 22410//10369 +f 20966//2436 22938//15756 22839//15755 +f 8115//15757 12922//15758 13567//2414 +f 22245//2437 20966//2436 22839//15755 +f 28318//15336 28438//15665 28317//2997 +f 20364//588 20325//15759 13089//15686 +f 13326//15760 13508//15626 10158//15625 +f 24048//12571 24389//15761 23528//15762 +f 13293//15733 13326//15760 10158//15625 +f 13326//15760 13292//15763 11640//15627 +f 13508//15626 13326//15760 11640//15627 +f 20714//15764 20713//8815 20632//8724 +f 13292//15763 14062//15765 11640//15627 +f 12301//4541 10006//9860 11101//3133 +f 14181//3746 12301//4541 11101//3133 +f 11101//3133 10006//9860 12210//2923 +f 26012//15766 26013//15767 26154//15768 +f 26298//15769 26299//15770 24505//15771 +f 21656//14741 18472//11170 456//14942 +f 23017//15772 23115//15705 23016//15773 +f 10006//9860 8575//9859 12210//2923 +f 30//4092 41//5825 12466//5708 +f 12245//3933 12244//4113 12161//3934 +f 13220//1738 8672//1868 13614//5017 +f 20633//15741 20714//15764 20632//8724 +f 20796//15774 20795//8948 20713//8815 +f 20714//15764 20796//15774 20713//8815 +f 20878//15775 20877//8957 20795//8948 +f 20796//15774 20878//15775 20795//8948 +f 20878//15775 20958//15776 20957//9104 +f 20877//8957 20878//15775 20957//9104 +f 12638//15777 11441//15778 4505//15779 +f 20958//15776 21041//15780 21040//9147 +f 2759//15657 11441//15778 12638//15777 +f 35839//9018 35773//9471 23856//8167 +f 28560//15781 28559//5555 28437//5306 +f 13921//12303 14019//14239 13920//10878 +f 11961//15782 12916//15702 11572//15704 +f 7524//15783 7639//10726 7638//10721 +f 27520//15784 26940//1284 27521//15785 +f 13146//780 15024//15786 15332//9000 +f 15462//1024 13146//780 15332//9000 +f 17086//15712 22462//2071 13656//2036 +f 21179//15787 13852//15788 21148//170 +f 13324//15713 14872//2279 22462//2071 +f 13852//15788 17086//15712 13656//2036 +f 20105//9538 20106//4582 20617//9539 +f 13341//9032 929//2611 15733//2810 +f 13299//15789 12836//15790 14082//15791 +f 13788//15792 15204//6708 12961//6710 +f 20957//9104 20958//15776 21040//9147 +f 23411//7380 23314//15793 17983//7378 +f 28438//15665 28560//15781 28437//5306 +f 14040//6768 14039//15794 13941//15795 +f 1040//4860 7619//9658 7620//4858 +f 24505//15771 25492//15796 13659//15797 +f 3927//15798 13490//15799 3931//15800 +f 13371//15801 112//195 9633//3195 +f 19812//15802 18492//15264 18706//15803 +f 13030//6551 11806//6550 2914//8458 +f 7787//13765 13963//15804 9782//10782 +f 11709//7940 13683//15805 8883//1604 +f 28817//6184 21813//14434 21719//6182 +f 35372//3902 35459//3903 6139//1010 +f 32196//15271 32195//15806 32095//15272 +f 28358//783 30077//15486 30075//359 +f 20950//15807 20951//15808 21033//15809 +f 12994//9462 13088//15810 14155//9463 +f 4065//15579 2759//15657 12638//15777 +f 23965//15811 24201//15812 12270//15813 +f 16454//15422 17756//15814 16163//15815 +f 11441//15778 5697//15459 4505//15779 +f 32192//15816 32191//15817 32091//9832 +f 20071//15818 4550//15819 14240//15820 +f 20132//1914 22267//6622 4908//15821 +f 34588//15822 34587//15823 34450//15824 +f 31727//15825 31726//250 31631//15326 +f 31006//15826 31005//15827 30947//15828 +f 34451//15829 34450//15824 34312//15830 +f 33733//1655 33732//15540 33605//13822 +f 34154//15331 34292//3611 34153//15831 +f 13307//3237 14087//13743 12289//2448 +f 35837//1955 35489//2447 11704//2449 +f 11480//15832 11479//15833 30958//9003 +f 11617//14980 4797//13297 11080//13296 +f 11956//15721 9112//15102 8198//14974 +f 11784//14872 11785//8618 4526//15834 +f 9772//1473 14347//11520 20327//1474 +f 27970//15835 28087//5337 28086//5336 +f 12523//15836 12522//15837 12433//15838 +f 12434//15839 12523//15836 12433//15838 +f 15345//15840 15344//15841 16023//15842 +f 21688//13131 21595//15843 22356//13132 +f 12140//15154 13211//981 13116//6421 +f 13191//15844 11896//15125 13096//527 +f 11685//15747 11684//15684 11609//15845 +f 11727//15715 12478//8857 12837//9031 +f 11479//15833 11543//15749 11478//15846 +f 11610//15750 11685//15747 11609//15845 +f 11479//15833 11478//15846 11428//9004 +f 11610//15750 11609//15845 11542//15751 +f 11718//14031 11638//14491 11636//15847 +f 11543//15749 11542//15751 11478//15846 +f 23213//15706 23212//15848 23114//15707 +f 11980//7251 11636//15847 11447//14827 +f 23311//15452 23310//15454 23212//15848 +f 23213//15706 23311//15452 23212//15848 +f 24292//15849 24300//15850 25581//15851 +f 14043//12730 14141//12729 14239//15585 +f 12564//15852 12565//15730 14087//13743 +f 12857//12770 12858//3709 12950//1734 +f 13307//3237 12564//15852 14087//13743 +f 11625//15853 14173//15731 12565//15730 +f 12564//15852 11625//15853 12565//15730 +f 3473//15854 11374//15732 14173//15731 +f 11625//15853 3473//15854 14173//15731 +f 14272//3447 13221//15601 11133//15855 +f 13221//15601 1645//15548 11463//15856 +f 8043//15857 13293//15733 11374//15732 +f 1645//15548 13963//15804 11463//15856 +f 3473//15854 8043//15857 11374//15732 +f 12038//15858 13326//15760 13293//15733 +f 12286//15685 14272//3447 11955//5040 +f 8043//15857 12038//15858 13293//15733 +f 14832//6736 22939//6838 22732//15694 +f 12913//2559 12368//2385 12730//15309 +f 21404//1878 15491//15317 21495//1879 +f 13426//4136 20103//15859 20066//4137 +f 19903//15860 26495//15861 22464//15862 +f 22957//4746 2791//4745 21765//4135 +f 13962//15285 14060//12760 2236//12761 +f 31010//15863 31071//15864 31009//15865 +f 19700//1900 1976//15866 18734//15867 +f 22831//2039 17085//2038 12961//6710 +f 22930//15868 18314//15869 22833//15870 +f 13376//15871 13375//15283 13863//15872 +f 13491//15873 13594//15874 12836//15790 +f 11428//9004 11478//15846 31017//9002 +f 11568//15875 13286//15470 12462//15876 +f 11481//15877 11480//15832 30958//9003 +f 11980//7251 11718//14031 11636//15847 +f 28689//15878 28688//5744 28559//5555 +f 13475//6057 1175//12205 8761//6058 +f 35480//3448 14272//3447 12286//15685 +f 13074//15879 13168//15880 13073//15881 +f 13168//15880 13263//15882 13167//15883 +f 23105//1807 23203//3563 23202//2434 +f 35664//7275 35860//5272 35868//3879 +f 13942//15884 14040//6768 13941//15795 +f 16190//15885 16334//15886 3206//1018 +f 12545//10953 12202//10973 11956//15721 +f 35385//5339 35376//12076 13475//6057 +f 14132//15887 14228//15888 14131//15889 +f 6958//3134 7446//1871 901//7821 +f 11249//15890 7346//15891 14230//15892 +f 11646//15893 1487//15894 14227//15895 +f 14135//15896 14231//15897 14134//15898 +f 14231//15897 11249//15890 14230//15892 +f 13743//15899 13742//15900 13644//13588 +f 13645//15901 13743//15899 13644//13588 +f 30487//2214 35779//4870 35694//8022 +f 18301//15902 21225//15903 17912//15904 +f 14233//15905 8581//1425 14232//15906 +f 35675//2912 11315//8996 11977//2913 +f 4550//15819 13432//12508 17100//6454 +f 19882//13391 17760//15907 19883//13392 +f 12342//15908 12341//15909 12256//15910 +f 2635//15345 20050//2258 20049//2257 +f 12626//15471 15471//15911 22270//15472 +f 12212//5823 2492//8350 12297//5824 +f 26244//15912 23624//15913 23543//15914 +f 23585//15915 23587//15916 24624//15917 +f 13121//15918 33469//15919 3100//6464 +f 23663//15920 26221//15921 23795//15922 +f 12117//15923 13292//15763 13326//15760 +f 23910//15924 25325//15925 25324//15926 +f 12038//15858 12117//15923 13326//15760 +f 14159//13952 14062//15765 13292//15763 +f 12117//15923 14159//13952 13292//15763 +f 12301//4541 14181//3746 12364//3703 +f 12279//4546 12301//4541 12364//3703 +f 11845//15927 11844//15928 11760//14176 +f 11662//5855 11742//4500 11661//4502 +f 12036//1589 13220//1738 8090//10382 +f 14118//1268 14117//1267 14019//14239 +f 8672//1868 449//2929 13614//5017 +f 10710//14345 8684//15143 14262//15929 +f 12351//15930 12350//15931 12265//15932 +f 35431//1925 35751//3516 35638//1923 +f 22041//11087 18472//11170 21656//14741 +f 22551//15933 22651//8774 13559//15934 +f 28376//11650 30153//11966 30098//13986 +f 12613//15935 12612//15936 12522//15837 +f 4818//10985 12602//10986 11207//5867 +f 20966//2436 21049//31 22938//15756 +f 16023//15842 14847//2368 11103//7938 +f 16300//7284 22933//3034 14046//15937 +f 11001//15938 11792//15939 9656//15940 +f 11482//15941 11481//15877 26361//15942 +f 13191//15844 13096//527 11891//15943 +f 13520//7562 14259//7561 5988//11199 +f 11867//15944 13477//15550 811//15209 +f 12810//15945 29417//6712 16314//15946 +f 12156//11857 12239//12404 12155//12028 +f 35528//6839 11868//14374 9533//14375 +f 35764//2693 33233//2692 35727//13183 +f 11570//13373 11503//10796 1383//13374 +f 8970//6155 12757//15947 12849//14830 +f 27054//2070 27055//2069 28360//5333 +f 35080//12190 35079//15948 34950//15949 +f 8002//15739 11784//14872 4526//15834 +f 7290//3387 17254//12078 27867//3388 +f 14820//510 15371//7849 12218//12607 +f 23003//15950 23101//15951 23100//15952 +f 28951//9902 28950//12281 28817//6184 +f 13674//8802 14083//2384 16342//15521 +f 22652//15953 22434//15954 17989//15955 +f 20478//7247 20563//7248 20562//15956 +f 27380//15957 28717//15958 28683//15959 +f 13872//15557 14164//15960 12914//15961 +f 21131//15962 21130//15963 21044//15964 +f 28683//15959 28717//15958 30422//15965 +f 12822//15559 13872//15557 12914//15961 +f 11078//15966 18048//15967 18403//1850 +f 21459//15968 21369//15969 26345//15970 +f 12822//15559 12914//15961 14180//15971 +f 29539//15972 14247//15973 29944//15974 +f 11443//15975 20154//15976 17815//15977 +f 13221//15601 11463//15856 11133//15855 +f 26362//15978 26361//15942 30901//15979 +f 26333//15980 26371//15981 26370//15982 +f 13507//8410 8671//2752 35615//2751 +f 35430//4494 35537//6559 29145//4495 +f 11961//15782 11572//15704 11696//15983 +f 34553//15984 34552//5900 34415//10727 +f 13594//15874 11637//15985 12836//15790 +f 11693//14164 11961//15782 11696//15983 +f 12916//15702 3457//15986 13299//15789 +f 13009//15703 12916//15702 13299//15789 +f 3457//15986 13491//15873 12836//15790 +f 13299//15789 3457//15986 12836//15790 +f 13594//15874 11865//15987 11637//15985 +f 35793//3572 35911//4729 11628//3573 +f 33328//15988 33437//15989 33436//15990 +f 2276//5887 33457//15991 2144//15992 +f 8340//5953 12209//4395 13287//5952 +f 11638//14491 13124//14033 5054//15993 +f 13041//10506 13040//10508 12946//6287 +f 2880//5992 440//6532 12754//5995 +f 20396//15678 20373//15994 3538//15995 +f 11806//6550 5055//15740 2914//8458 +f 23199//15996 23297//15997 23198//15998 +f 16920//15999 16761//16000 15276//16001 +f 33666//13978 13005//16002 17455//16003 +f 5693//15752 13087//15647 12993//16004 +f 14132//15887 14131//15889 14033//16005 +f 11995//5722 11994//7816 11910//7909 +f 35497//6111 35387//6872 35855//6112 +f 14034//16006 14132//15887 14033//16005 +f 13357//16007 13358//16008 13452//16009 +f 9193//16010 10935//16011 7346//15891 +f 13647//15573 13646//16012 13548//16013 +f 13453//16014 13549//16015 13548//16013 +f 13549//16015 13647//15573 13548//16013 +f 13745//15572 13744//16016 13646//16012 +f 24569//16017 23663//15920 23795//15922 +f 35639//13369 35844//12441 35703//4775 +f 22012//16018 24658//16019 24657//9115 +f 12531//16020 12530//15522 12441//16021 +f 12711//16022 12710//15523 12620//15514 +f 23750//16023 24653//16024 24020//16025 +f 12800//16026 12799//15562 12710//15523 +f 12621//16027 12711//16022 12620//15514 +f 33485//16028 33604//16029 33603//16030 +f 12711//16022 12800//16026 12710//15523 +f 13613//5991 13861//6531 2880//5992 +f 11806//6550 13401//14223 5055//15740 +f 12239//12404 12238//13308 12155//12028 +f 14652//14243 23972//16031 23913//16032 +f 5857//15322 14165//2560 12730//15309 +f 8002//15739 4526//15834 5055//15740 +f 12437//16033 12436//16034 12350//15931 +f 12368//2385 13384//8803 12730//15309 +f 14272//3447 11133//15855 11955//5040 +f 25445//16035 25527//16036 25444//16037 +f 11407//16038 29813//5204 19234//5206 +f 26335//16039 26334//16040 30889//16041 +f 19030//2143 28254//14756 28132//16042 +f 29680//16043 30612//5061 28494//16044 +f 26941//16045 28548//16046 30332//8606 +f 27134//6006 27135//14905 27253//14772 +f 27017//14160 27018//16047 27134//6006 +f 22527//16048 22526//14934 22428//16049 +f 35632//6816 35665//6815 35555//8313 +f 22626//16050 22625//15021 22526//14934 +f 22527//16048 22626//16050 22526//14934 +f 22626//16050 22725//16051 22724//15287 +f 1030//15561 12302//15560 12934//16052 +f 9923//15558 14180//15971 12744//16053 +f 23349//16054 22202//16055 25679//14651 +f 29547//1692 28997//1691 27410//8890 +f 31790//16056 31896//16057 31789//16058 +f 8581//1425 10092//16059 14232//15906 +f 15205//16060 15276//16001 15405//16061 +f 22732//15694 23036//16062 21136//16063 +f 23298//16064 23395//16065 23297//15997 +f 12324//6725 12410//6388 12323//13402 +f 24759//16066 25207//16067 25653//16068 +f 10706//866 16015//7163 16153//14810 +f 1997//16069 2928//16070 11774//16071 +f 9013//16072 5467//16073 1253//9185 +f 11892//16074 13191//15844 11891//15943 +f 11792//15939 1997//16069 11774//16071 +f 11892//16074 11891//15943 12304//16075 +f 14187//15716 14068//515 11896//15125 +f 1017//1782 12219//16076 12304//16075 +f 12219//16076 11892//16074 12304//16075 +f 6512//3705 5698//9565 8562//8863 +f 11954//16077 1017//1782 12304//16075 +f 12502//14428 12501//7010 12412//9743 +f 13417//6420 7287//14663 9642//2021 +f 22625//15021 22626//16050 22724//15287 +f 21682//16078 20574//16079 21395//16080 +f 9280//8560 21282//9477 5864//13021 +f 11911//5719 11995//5722 11910//7909 +f 20400//3 21216//2 20396//15678 +f 23036//16062 22067//29 21135//32 +f 13872//15557 14162//15556 14164//15960 +f 12526//16081 12616//16082 12525//16083 +f 22725//16051 22824//16084 22823//15288 +f 5605//15641 1030//15561 12722//16085 +f 22724//15287 22725//16051 22823//15288 +f 22923//16086 22922//15289 22823//15288 +f 22824//16084 22923//16086 22823//15288 +f 19541//7278 23021//7277 18652//15377 +f 33057//16087 33162//16088 33056//16089 +f 31260//16090 31325//16091 31324//16092 +f 34313//12811 34451//15829 34312//15830 +f 33162//16088 33267//16093 33161//16094 +f 34430//3612 34429//6755 34291//3613 +f 19807//4691 17965//4690 18247//16095 +f 34963//16096 34962//16097 34833//15437 +f 12706//16098 12705//16099 12615//16100 +f 9923//15558 12822//15559 14180//15971 +f 15328//16101 13683//15805 11709//7940 +f 11770//16102 11854//16103 11769//16104 +f 5452//6503 5586//6824 5451//5960 +f 23126//16105 22929//10191 22532//16106 +f 22816//4524 22915//5561 22815//4525 +f 12398//16107 8541//14511 8433//14273 +f 13215//6146 12388//11784 10116//16108 +f 11523//10643 11590//3323 11522//5028 +f 13215//6146 10116//16108 12462//15876 +f 12642//5861 13215//6146 12462//15876 +f 5550//7234 15659//7120 5592//7002 +f 12388//11784 12477//16109 10116//16108 +f 13032//16110 13409//5715 11568//15875 +f 9676//1872 9790//3923 14282//1873 +f 13409//5715 13032//16110 11720//5716 +f 13286//15470 12642//5861 12462//15876 +f 35697//2202 35782//2620 11720//5716 +f 13409//5715 13286//15470 11568//15875 +f 12180//16111 12179//16112 12097//16113 +f 12098//16114 12180//16111 12097//16113 +f 8796//8670 23366//8901 16621//16115 +f 1151//90 14739//4572 13183//16116 +f 1017//1782 11954//16077 13499//10995 +f 12556//1783 1017//1782 13499//10995 +f 31598//7124 31693//16117 31597//7125 +f 32098//16118 32198//16119 32097//16120 +f 127//16121 8024//16122 11357//16123 +f 32299//16124 32298//16125 32197//16126 +f 14034//16006 14033//16005 13935//16127 +f 14228//15888 14227//15895 14131//15889 +f 11249//15890 9193//16010 7346//15891 +f 27045//16128 28352//16129 25132//16130 +f 13262//16131 13358//16008 13261//16132 +f 13452//16009 13453//16014 13548//16013 +f 13555//9511 13554//15639 13458//15600 +f 13459//16133 13364//16134 29160//16135 +f 12621//16027 12620//15514 12530//15522 +f 12531//16020 12621//16027 12530//15522 +f 26336//16136 26335//16039 30889//16041 +f 12442//16137 12531//16020 12441//16021 +f 20619//16138 21208//16139 1970//16140 +f 26337//16141 26336//16136 30888//16142 +f 35848//16143 29553//5468 35723//1762 +f 22344//8773 16038//7441 3862//9111 +f 27760//16144 27497//16145 26594//856 +f 20722//16146 18273//7272 20803//7271 +f 13763//9464 8528//15362 13862//16147 +f 17983//7378 23314//15793 19638//16148 +f 13262//16131 13261//16132 13166//16149 +f 12800//16026 12711//16022 12801//16150 +f 13167//15883 13262//16131 13166//16149 +f 13358//16008 13357//16007 13261//16132 +f 10935//16011 9345//16151 8305//16152 +f 23115//15705 23114//15707 23016//15773 +f 35576//8640 35825//13963 35436//5243 +f 9345//16151 10935//16011 9338//16153 +f 7346//15891 10935//16011 8305//16152 +f 35832//182 12133//8119 35356//6232 +f 35706//6704 13281//5041 11402//1038 +f 13211//981 35729//980 11624//1009 +f 14020//2533 14118//1268 14019//14239 +f 3986//1037 11402//1038 11870//16154 +f 12949//13194 12950//1734 13043//1736 +f 8903//7468 9118//14304 13685//14548 +f 12302//15560 9923//15558 12744//16053 +f 16916//880 25603//16155 16917//656 +f 9634//3236 12289//2448 35690//8742 +f 18333//16156 18514//16157 18485//16158 +f 12653//4882 28723//15324 12563//16159 +f 11884//16160 12564//15852 13307//3237 +f 14277//10398 11884//16160 13307//3237 +f 689//10763 8868//10765 9773//16161 +f 27081//16162 11840//16163 27198//16164 +f 19929//16165 19637//16166 18027//16167 +f 24017//16168 23950//15476 24696//15478 +f 16614//16169 18178//15670 20193//4580 +f 12525//16083 12615//16100 12524//16170 +f 11599//16171 11598//7073 11531//14627 +f 12379//16172 15205//16060 15079//16173 +f 11532//16174 11599//16171 11531//14627 +f 19883//13392 17654//16175 13055//16176 +f 10940//16177 22538//16178 21136//16063 +f 31175//16179 31176//16180 31239//16181 +f 13833//16182 13832//16183 13734//16184 +f 11473//14377 11472//16185 11422//6418 +f 3050//16186 3331//16187 9993//16188 +f 12013//16189 12012//16190 11928//16191 +f 1997//16069 3331//16187 3050//16186 +f 35139//11172 21930//14634 35140//16192 +f 2928//16070 1997//16069 3050//16186 +f 4255//16193 3331//16187 24357//16194 +f 21833//16195 21834//16196 21928//16197 +f 22606//16198 22607//16199 22705//16200 +f 20800//16201 20801//16202 20882//16203 +f 11581//11009 11580//16204 32352//16205 +f 4061//16206 14150//16207 13757//16208 +f 7446//1871 10592//2024 901//7821 +f 12523//15836 12613//15935 12522//15837 +f 4263//16209 20121//16210 2791//4745 +f 1759//7939 15328//16101 11709//7940 +f 12703//16211 12702//16212 12612//15936 +f 26002//16213 25947//16214 26219//16215 +f 13371//15801 12465//16216 23469//16217 +f 12302//15560 12744//16053 12934//16052 +f 25207//16067 26002//16213 26219//16215 +f 11551//16218 11625//15853 12564//15852 +f 17970//15342 17971//16219 20449//16220 +f 11884//16160 11551//16218 12564//15852 +f 11551//16218 7559//16221 3473//15854 +f 11625//15853 11551//16218 3473//15854 +f 7559//16221 14067//16222 8043//15857 +f 3473//15854 7559//16221 8043//15857 +f 14067//16222 13804//16223 12038//15858 +f 8043//15857 14067//16222 12038//15858 +f 13122//1887 12117//15923 12038//15858 +f 13804//16223 13122//1887 12038//15858 +f 14160//1888 15246//811 14064//1889 +f 13122//1887 14064//1889 12117//15923 +f 12279//4546 12364//3703 10119//3353 +f 8692//4545 12279//4546 10119//3353 +f 20732//11421 18631//11423 17800//16224 +f 11912//5717 11911//5719 11825//14296 +f 29000//5481 29259//16225 28605//5202 +f 23255//1555 24159//16226 26421//16227 +f 18192//16228 3311//16229 23146//16230 +f 23725//16231 24474//16232 24642//16233 +f 11476//16234 11540//16235 11475//16236 +f 21400//16237 21386//16238 20575//1991 +f 11476//16234 11475//16236 11425//16239 +f 35479//2218 35523//5465 35475//5329 +f 11607//16240 11606//16241 11539//16242 +f 11540//16235 11539//16242 11475//16236 +f 11933//16243 12017//16244 11932//16245 +f 11540//16235 11607//16240 11539//16242 +f 11933//16243 11932//16245 11846//10857 +f 12017//16244 12016//16246 11932//16245 +f 11682//16247 11763//16248 11681//16249 +f 11847//16250 11846//10857 11762//16251 +f 11682//16247 11681//16249 11606//16241 +f 11763//16248 11847//16250 11762//16251 +f 11607//16240 11682//16247 11606//16241 +f 11763//16248 11762//16251 11681//16249 +f 12098//16114 12097//16113 12016//16246 +f 12017//16244 12098//16114 12016//16246 +f 16451//16252 4062//16253 16920//15999 +f 12263//16254 12262//16255 12179//16112 +f 8568//16256 15079//16173 15078//16257 +f 19003//375 18934//1746 25344//16258 +f 6653//11598 30806//16259 29286//16260 +f 22607//16199 22706//16261 22705//16200 +f 7992//15537 127//16121 11357//16123 +f 11342//16262 8568//16256 15078//16257 +f 14167//10996 14266//16263 14176//16264 +f 24259//16265 22//16266 24661//16267 +f 13936//16268 13935//16127 13837//16269 +f 13936//16268 14034//16006 13935//16127 +f 9193//16010 11569//16270 10266//16271 +f 10935//16011 9193//16010 10266//16271 +f 12436//16034 12525//16083 12435//16272 +f 13358//16008 13453//16014 13452//16009 +f 35629//9589 35661//6560 35861//10969 +f 13459//16133 13555//9511 13458//15600 +f 20322//15630 20319//15609 14692//15693 +f 13564//16273 20322//15630 14692//15693 +f 17102//3965 15025//3964 16615//16274 +f 13564//16273 14692//15693 16937//15692 +f 13883//7246 13884//5155 11882//6635 +f 35871//11286 35399//5185 35630//10777 +f 2385//6512 5696//7736 3196//10955 +f 20556//265 20638//1651 20555//16275 +f 29291//16276 28865//16277 28722//14154 +f 14151//4579 20404//4584 17008//4586 +f 13848//8800 17102//3965 4522//8801 +f 18073//16278 18074//16279 18165//16280 +f 3539//16281 14335//693 14973//16282 +f 15025//3964 16937//15692 16615//16274 +f 12979//16283 13073//15881 12978//16284 +f 24476//16285 24144//16286 24314//16287 +f 23425//9261 20965//16288 22146//9262 +f 13167//15883 13166//16149 13072//16289 +f 13088//15810 13181//16290 14156//4742 +f 7856//8549 22857//8548 15472//15434 +f 20700//16291 20699//12666 20785//16292 +f 22857//8548 3184//15441 15472//15434 +f 10444//10542 10458//11513 10564//3865 +f 16612//16293 15201//16294 13085//16295 +f 32304//16296 32303//16297 32202//16298 +f 12126//1510 12208//8266 13327//16299 +f 35880//9084 7759//10768 10511//10767 +f 32005//16300 32004//16301 31903//16302 +f 11880//6730 11793//6731 25137//16303 +f 3968//2354 11504//3745 7705//2520 +f 20883//16304 20963//16305 20962//16306 +f 15535//16307 15403//16308 24164//16309 +f 21301//16310 22432//9132 22365//16311 +f 23036//16062 22163//7258 22067//29 +f 29684//16312 28610//16313 27411//1404 +f 20801//16202 20800//16201 20718//16314 +f 15598//7670 15465//16315 12450//16316 +f 29434//9513 29571//16317 13653//15637 +f 35414//8722 35535//6699 35434//8723 +f 22163//7258 22066//379 22067//29 +f 18261//16318 18166//16319 18167//16320 +f 692//10262 13335//15469 13559//15934 +f 23370//16321 3538//15995 19981//15442 +f 20396//15678 21214//15677 21209//12880 +f 13490//15799 9633//3195 3931//15800 +f 21587//16322 21496//16323 21781//15754 +f 16920//15999 4061//16206 16761//16000 +f 4526//15834 9981//8459 2914//8458 +f 13653//15637 13555//9511 29434//9513 +f 21971//380 21495//1879 21876//15753 +f 3180//7908 10710//14345 35352//3884 +f 12136//2600 12928//15748 12121//2601 +f 11929//16324 12013//16189 11928//16191 +f 26338//16325 26337//16141 30887//16326 +f 12430//16327 12519//16328 12429//16329 +f 12094//16330 12093//16331 12012//16190 +f 12519//16328 12609//16332 12518//16333 +f 12609//16332 12608//16334 12518//16333 +f 12609//16332 12699//16335 12608//16334 +f 12699//16335 12698//16336 12608//16334 +f 12720//16337 13764//4692 13666//16338 +f 12788//16339 12787//16340 12698//16336 +f 8024//16122 127//16121 564//2392 +f 28560//15781 28689//15878 28559//5555 +f 20013//16341 23436//16342 20665//16343 +f 112//195 13371//15801 23469//16217 +f 12884//16344 12977//16345 12883//16346 +f 11760//14176 11759//16347 11678//16348 +f 4062//16253 4061//16206 16920//15999 +f 13071//16349 13070//8170 12976//8169 +f 24798//16350 25077//16351 25141//16352 +f 35486//3032 35540//5879 35572//6703 +f 8156//4589 16010//10190 20070//10189 +f 11770//16102 26739//16353 26853//16354 +f 32731//16355 32843//16356 32730//16357 +f 19213//15376 22922//15289 22923//16086 +f 32843//16356 32951//16358 32842//16359 +f 21034//16360 21035//16361 18742//16362 +f 33323//16363 33324//16364 33432//16365 +f 22012//16018 23852//9114 25457//14944 +f 28375//13982 28376//11650 30098//13986 +f 1880//10620 5605//15641 12456//2804 +f 1030//15561 12934//16052 12722//16085 +f 4012//16366 16954//343 692//10262 +f 11400//14354 12900//14356 12808//15364 +f 32951//16358 33057//16087 32950//16367 +f 15360//16368 15491//15317 15116//15316 +f 34145//15325 34283//5977 34144//16369 +f 34451//15829 34588//15822 34450//15824 +f 1145//16370 13183//16116 13182//16371 +f 11754//16372 11884//16160 14277//10398 +f 34278//848 34416//15640 34277//849 +f 20012//15617 21592//15620 20499//15622 +f 24150//16373 24149//16374 25947//16214 +f 5605//15641 12722//16085 12456//2804 +f 35606//6316 35650//7020 35754//11079 +f 21072//16375 23179//16376 20017//16377 +f 12977//16345 13071//16349 12976//8169 +f 20447//5557 20448//16378 20532//4591 +f 22805//16379 22904//13505 22903//13504 +f 13165//16380 13164//8584 13070//8170 +f 15156//2100 20011//8923 15735//88 +f 14911//15719 16006//16381 21501//16382 +f 13091//16383 13185//16384 13766//15655 +f 14913//16385 12627//16386 8001//16387 +f 13185//16384 13765//15656 13766//15655 +f 4197//879 20094//3963 12363//9478 +f 8001//16387 12627//16386 13091//16383 +f 12627//16386 13185//16384 13091//16383 +f 13644//13588 13742//15900 13741//13069 +f 20011//8923 21685//16388 20328//14122 +f 16168//16389 14913//16385 8001//16387 +f 20073//16390 14913//16385 16168//16389 +f 16919//1658 13086//1657 15277//16391 +f 20328//14122 20073//16390 16168//16389 +f 1145//16370 1151//90 13183//16116 +f 11359//589 13089//15686 20094//3963 +f 13086//1657 4197//879 12363//9478 +f 19797//10650 19798//11275 30502//19 +f 15328//16101 11206//253 13683//15805 +f 14249//15616 13957//2077 21592//15620 +f 12732//5263 12824//16392 35491//5264 +f 13677//8281 35800//2818 13579//733 +f 7893//12650 8009//8279 10984//12651 +f 19645//16393 29684//16312 6788//1403 +f 22450//16394 19329//16395 17860//16396 +f 13590//16397 11622//16398 14266//16263 +f 13162//16399 13161//16400 13067//16401 +f 13838//16402 13936//16268 13837//16269 +f 15079//16173 15405//16061 15538//16403 +f 15078//16257 15079//16173 15538//16403 +f 12350//15931 12436//16034 12349//16404 +f 12615//16100 12614//16405 12524//16170 +f 15865//2592 14949//8786 12379//16172 +f 14946//172 21147//171 15196//9304 +f 23528//15762 26064//16406 26065//16407 +f 25909//16408 16003//7283 16002//13786 +f 35792//16409 35382//11625 35913//9884 +f 13303//16410 11551//16218 11884//16160 +f 11754//16372 13303//16410 11884//16160 +f 9552//16411 7559//16221 11551//16218 +f 13303//16410 9552//16411 11551//16218 +f 13969//16412 14067//16222 7559//16221 +f 15025//3964 13564//16273 16937//15692 +f 35735//6914 35898//13824 35389//2215 +f 14949//8786 15461//9001 15205//16060 +f 15866//16413 15865//2592 12379//16172 +f 13073//15881 13167//15883 13072//16289 +f 12886//16414 12979//16283 12885//16415 +f 12180//16111 12263//16254 12179//16112 +f 12434//15839 12433//15838 12347//16416 +f 12348//16417 12347//16416 12262//16255 +f 12263//16254 12348//16417 12262//16255 +f 22929//10191 20785//16292 22532//16106 +f 12348//16417 12434//15839 12347//16416 +f 13330//248 10940//16177 21135//32 +f 23419//14 23128//16 23224//2745 +f 20801//16202 20883//16304 20882//16203 +f 21490//2734 21483//369 22638//6840 +f 18741//16418 18643//16419 21033//15809 +f 11542//15751 11541//16420 11477//16421 +f 14972//16422 15048//15363 12720//16337 +f 20546//4587 20628//7140 20545//14458 +f 25034//16423 21452//16424 21967//16425 +f 13962//15285 2236//12761 8479//15439 +f 9552//16411 13969//16412 7559//16221 +f 12548//16426 13804//16223 14067//16222 +f 13969//16412 12548//16426 14067//16222 +f 14256//16427 13122//1887 13804//16223 +f 24313//16428 22272//16429 24893//16430 +f 26033//16431 26175//16432 26174//16433 +f 12809//16434 19669//15351 7301//16435 +f 21147//171 21068//15710 15196//9304 +f 14260//16436 12539//7476 11106//16437 +f 18174//16438 16163//15815 17756//15814 +f 12469//16439 20664//433 16642//435 +f 18600//16440 18699//16441 23217//15290 +f 12712//16442 12801//16150 12711//16022 +f 16163//15815 15742//16443 15606//15423 +f 14234//16444 14233//15905 14137//16445 +f 28821//16446 28820//6297 28688//5744 +f 1017//1782 35938//1781 9922//3022 +f 12136//2600 13031//16447 12936//15745 +f 7346//15891 8305//16152 14229//16448 +f 14230//15892 7346//15891 14229//16448 +f 25121//16449 27045//16128 25132//16130 +f 15276//16001 16761//16000 15405//16061 +f 16761//16000 16604//16450 15405//16061 +f 26341//16451 26340//16452 30884//16453 +f 11572//15704 13009//15703 12823//16454 +f 16454//15422 16163//15815 15606//15423 +f 6855//16455 30733//16456 22984//16457 +f 15742//16443 15028//15374 15029//15474 +f 12699//16335 12788//16339 12698//16336 +f 30934//16458 30933//16459 30879//16460 +f 25274//16461 11880//6730 25275//16462 +f 11929//16324 11928//16191 11842//16463 +f 11679//14177 11678//16348 11603//16464 +f 11604//7637 11679//14177 11603//16464 +f 13071//16349 13165//16380 13070//8170 +f 18994//6339 23244//604 28342//6340 +f 12898//16465 23370//16321 19981//15442 +f 20292//1458 20377//1680 20376//16466 +f 13173//16467 13172//15564 13078//16468 +f 15606//15423 15742//16443 15029//15474 +f 26057//16469 26002//16213 25207//16067 +f 1659//1882 25731//1884 25730//4756 +f 12548//16426 14256//16427 13804//16223 +f 15119//4143 14160//1888 14258//10388 +f 33735//2391 33734//16470 33607//6423 +f 22525//11870 22624//13282 22524//11868 +f 14256//16427 14160//1888 13122//1887 +f 34009//14642 34145//15325 34008//16471 +f 20103//15859 20576//16472 20575//1991 +f 35753//4815 35571//4285 35458//9372 +f 12380//16473 452//16474 19234//5206 +f 14562//16475 21072//16375 20017//16377 +f 24132//16476 23878//16477 25302//16478 +f 4197//879 11359//589 20094//3963 +f 20437//16479 23602//16480 20438//1466 +f 14692//15693 16602//1932 11947//2593 +f 22069//4449 22068//15440 21128//16481 +f 20319//15609 21126//15392 20316//1933 +f 21965//16482 18838//9118 21407//15518 +f 23552//16483 24755//16484 25814//16485 +f 23878//16477 14562//16475 20017//16377 +f 13647//15573 13745//15572 13646//16012 +f 12270//15813 21244//15475 21606//16486 +f 13451//16487 13547//16488 13546//8085 +f 20663//3140 9406//9290 20648//3141 +f 21835//2822 21930//14634 21929//16489 +f 13450//9065 13451//16487 13546//8085 +f 13084//25 12827//1578 3930//16490 +f 20583//16491 5693//15752 5694//16492 +f 12465//16216 12201//7941 13684//16493 +f 13473//15648 13570//16494 1018//16495 +f 5988//11199 7457//13830 10262//11200 +f 20189//16496 17772//16497 17773//16498 +f 13668//2074 3730//2816 13304//8669 +f 35677//4865 9634//3236 35690//8742 +f 16615//16274 13700//8899 23463//8898 +f 16615//16274 16937//15692 13700//8899 +f 12255//8668 8796//8670 16621//16115 +f 16937//15692 11947//2593 13700//8899 +f 21113//1940 21201//16499 21112//9154 +f 16929//28 4683//27 15345//15840 +f 20195//2815 21137//8897 13304//8669 +f 4522//8801 16615//16274 23463//8898 +f 11618//16500 11694//2072 13569//16501 +f 3730//2816 20195//2815 13304//8669 +f 13957//2077 15158//2078 21592//15620 +f 15158//2078 20413//150 15736//15621 +f 13210//7370 12043//7349 12660//3901 +f 181//14107 3401//401 3362//325 +f 15028//15374 9641//16502 6005//15482 +f 15029//15474 15028//15374 6005//15482 +f 15237//8026 15365//9039 7471//9812 +f 3583//3151 9453//3554 10149//13474 +f 14167//10996 13590//16397 14266//16263 +f 13590//16397 12305//16503 12391//16504 +f 13068//16505 13067//16401 12973//16506 +f 13068//16505 13162//16399 13067//16401 +f 23006//1880 23007//1805 23104//126 +f 7455//8665 18176//2264 7364//8666 +f 12350//15931 12349//16404 12264//16507 +f 12525//16083 12524//16170 12435//16272 +f 16450//779 3669//1522 16451//16252 +f 2787//2037 7065//8021 21068//15710 +f 25592//458 25593//37 25734//16508 +f 22056//15391 2761//15395 22053//1803 +f 24//16509 3668//15483 6005//15482 +f 25505//16510 24744//16511 25303//16512 +f 8346//7470 8345//7472 3736//7545 +f 11474//14376 11538//4548 11473//14377 +f 23224//2745 23322//2563 23413//7164 +f 5192//14613 5696//7736 2385//6512 +f 11207//5867 13375//15283 13376//15871 +f 1386//6511 5192//14613 2385//6512 +f 23057//15433 22958//15435 8479//15439 +f 12717//582 11207//5867 13376//15871 +f 4670//16513 2344//16514 5075//16515 +f 17102//3965 16615//16274 4522//8801 +f 21024//1212 21023//9005 20940//11111 +f 12379//16172 14949//8786 15205//16060 +f 13073//15881 13072//16289 12978//16284 +f 12794//16516 12886//16414 12793//16517 +f 13586//16518 13684//16493 12390//16519 +f 23394//15718 23393//15720 23296//16520 +f 13740//16521 13838//16402 13739//16522 +f 13641//16523 13642//16524 13739//16522 +f 12884//16344 12883//16346 12791//16525 +f 20457//16526 18072//16527 17981//16528 +f 12613//15935 12703//16211 12612//15936 +f 12792//16529 12884//16344 12791//16525 +f 12792//16529 12791//16525 12702//16212 +f 12703//16211 12792//16529 12702//16212 +f 11478//15846 11542//15751 11477//16421 +f 12977//16345 12976//8169 12883//16346 +f 9641//16502 24//16509 6005//15482 +f 2654//15393 21202//16530 2761//15395 +f 13863//15872 13962//15285 8479//15439 +f 20709//2048 20708//16531 20627//14457 +f 11144//4646 4768//3474 4767//3475 +f 35859//16532 35360//3881 35827//16533 +f 14906//16534 10234//15484 3668//15483 +f 24//16509 14906//16534 3668//15483 +f 13014//16535 6769//16536 27779//16537 +f 11415//2396 11414//7666 31407//2397 +f 23735//16538 23734//16539 24525//7144 +f 26342//16540 26341//16451 30883//16541 +f 33162//16088 33161//16094 33056//16089 +f 25994//15127 4537//15126 4670//16513 +f 33324//16364 33433//16542 33432//16365 +f 34809//16543 34808//16544 34680//16545 +f 23748//8268 24841//8284 24103//16546 +f 5999//12458 13331//16547 22176//16548 +f 30985//16549 31046//16550 30984//9640 +f 26314//16551 26315//16552 20888//16553 +f 35737//200 35677//4865 35690//8742 +f 35699//3083 35686//1287 35604//7478 +f 3989//16554 25447//14689 24025//14691 +f 26216//16555 24882//16556 24881//16557 +f 14906//16534 13014//16535 10234//15484 +f 22490//16558 22589//16559 22588//16560 +f 23408//15453 9394//12728 23407//15456 +f 14057//15284 14060//12760 13962//15285 +f 12928//15748 12136//2600 12936//15745 +f 13031//16447 13888//16561 12307//15651 +f 22342//16562 22260//13130 22356//13132 +f 15315//16563 1150//16564 13860//16565 +f 21202//16530 21179//15787 2761//15395 +f 11820//13213 11819//14818 11735//16566 +f 13942//15884 13941//15795 13843//16567 +f 14138//6769 14137//16445 14039//15794 +f 11694//2072 13668//2074 13569//16501 +f 15150//14811 13852//15788 21179//15787 +f 23323//16568 21973//16569 25319//16570 +f 13087//15647 71//15650 10448//16571 +f 9760//13382 88//16572 10124//13383 +f 24831//16573 26120//16574 25868//16575 +f 11843//16576 11929//16324 11842//16463 +f 26343//16577 26342//16540 30882//16578 +f 11473//14377 11537//4550 11472//16185 +f 11604//7637 11603//16464 11536//16579 +f 28689//15878 28821//16446 28688//5744 +f 5285//10013 5286//10162 15480//10014 +f 22335//16580 23133//15022 22146//9262 +f 13896//3502 8882//10793 10255//14874 +f 19559//2455 29126//5464 21295//14515 +f 13205//13178 10253//13176 7683//13262 +f 24523//16581 25632//16582 23589//16583 +f 19241//16584 29697//4451 28017//4450 +f 12393//3571 11754//16372 9805//12081 +f 30686//16585 28017//4450 28426//5772 +f 14277//10398 9805//12081 11754//16372 +f 11430//16586 11488//11676 11487//10771 +f 6957//12938 11487//10771 228//11677 +f 20641//16587 20642//16588 20722//16146 +f 7057//12003 228//11677 11554//10663 +f 8107//7445 7991//7046 12062//16589 +f 35469//10656 35759//1570 35512//1610 +f 13490//15799 13371//15801 9633//3195 +f 35811//2201 35812//2800 35697//2202 +f 14137//16445 14233//15905 14136//16590 +f 18440//16591 20860//11110 20778//11040 +f 28889//16592 13268//16593 13173//16467 +f 14137//16445 14136//16590 14038//16594 +f 13268//16593 13267//15570 13172//15564 +f 13459//16133 13458//15600 13363//15575 +f 35482//3515 35868//3879 35751//3516 +f 13364//16134 13363//15575 13267//15570 +f 13843//16567 13842//16595 13744//16016 +f 13364//16134 13268//16593 29023//16596 +f 13547//16488 13645//15901 13644//13588 +f 13745//15572 13843//16567 13744//16016 +f 9202//16597 9804//16598 11802//16599 +f 13546//8085 13547//16488 13644//13588 +f 26604//16600 26603//1553 26507//16601 +f 16006//16381 16007//16602 21501//16382 +f 30078//15487 16311//16603 11552//15488 +f 27518//5771 30686//16585 28426//5772 +f 12391//16504 2916//16604 12480//16605 +f 6792//16606 12905//15500 16460//15501 +f 12391//16504 12480//16605 12543//16607 +f 11622//16398 12391//16504 12543//16607 +f 16463//16608 18119//16609 18476//16610 +f 1066//16611 12395//14019 2916//16604 +f 29009//16612 28875//14552 27294//3010 +f 35741//4518 35934//3618 35645//2707 +f 12120//14829 11872//15144 8684//15143 +f 12112//14344 12120//14829 8684//15143 +f 20394//16613 20395//16614 20478//7247 +f 10710//14345 12112//14344 8684//15143 +f 27866//16615 27643//16616 27549//16617 +f 35601//12695 35352//3884 13868//8856 +f 11622//16398 12543//16607 13195//16618 +f 14266//16263 11622//16398 13195//16618 +f 32949//16619 32948//16620 32840//16621 +f 33055//16622 33160//16623 33054//16624 +f 16460//15501 15221//1296 33467//16625 +f 33611//891 33738//16626 33610//16627 +f 20475//1907 20474//3181 20390//15628 +f 448//16628 3207//15502 12905//15500 +f 7457//13830 12545//10953 10262//11200 +f 9013//16072 1253//9185 2609//15240 +f 6792//16606 448//16628 12905//15500 +f 19981//15442 3538//15995 5354//16629 +f 12974//16630 12973//16506 12880//16631 +f 12974//16630 13068//16505 12973//16506 +f 15065//241 23226//16632 21867//247 +f 2919//16633 22760//372 10369//12191 +f 12265//15932 12350//15931 12264//16507 +f 12436//16034 12435//16272 12349//16404 +f 12265//15932 12264//16507 12181//16634 +f 12182//16635 12265//15932 12181//16634 +f 16450//779 16451//16252 15024//15786 +f 12182//16635 12181//16634 12099//16636 +f 26037//16637 26038//16638 26179//16639 +f 13852//15788 13656//2036 21148//170 +f 25167//16640 12921//16641 24342//16642 +f 24629//16643 20825//16644 24438//16645 +f 13375//15283 13962//15285 13863//15872 +f 505//16646 504//1341 26006//16647 +f 15730//3406 13341//9032 15733//2810 +f 12826//11919 14685//16648 14590//15504 +f 20860//11110 20861//13495 20940//11111 +f 22738//12667 23425//9261 22147//9263 +f 20861//13495 20941//13494 20940//11111 +f 18646//16649 18743//16650 18645//16651 +f 20941//13494 21024//1212 20940//11111 +f 28889//16592 13173//16467 28757//16652 +f 12979//16283 12978//16284 12885//16415 +f 12794//16516 12793//16517 12704//16653 +f 18749//15413 18750//16654 18848//16655 +f 13587//16656 23436//16342 20013//16341 +f 13838//16402 13837//16269 13739//16522 +f 13543//16657 13544//16658 13641//16523 +f 20415//16659 23542//16660 24446//16661 +f 8672//1868 10688//1869 11137//2926 +f 7992//15537 10466//15536 1262//8766 +f 5196//8767 10870//16662 12104//16663 +f 13995//16664 1963//15505 3207//15502 +f 20788//7043 20789//14809 20870//16665 +f 7274//14342 11632//15179 7275//15156 +f 12552//16666 13377//15652 12307//15651 +f 13844//15722 13942//15884 13843//16567 +f 13844//15722 13843//16567 13745//15572 +f 448//16628 13995//16664 3207//15502 +f 17293//16667 13709//15421 19252//16668 +f 13101//3673 12032//5865 13196//4280 +f 23307//15297 23308//10188 23404//8361 +f 14161//16669 13303//16410 11754//16372 +f 12393//3571 14161//16669 11754//16372 +f 6642//16670 9552//16411 13303//16410 +f 14161//16669 6642//16670 13303//16410 +f 13480//16671 13969//16412 9552//16411 +f 6642//16670 13480//16671 9552//16411 +f 13596//16672 12548//16426 13969//16412 +f 13480//16671 13596//16672 13969//16412 +f 13596//16672 13300//10389 14256//16427 +f 12548//16426 13596//16672 14256//16427 +f 15119//4143 14258//10388 14257//10390 +f 14256//16427 13300//10389 14160//1888 +f 12955//8849 12956//10741 13049//8851 +f 12321//5830 12320//2022 12235//1862 +f 12867//11819 12774//8264 12775//9337 +f 35753//4815 35437//2159 35571//4285 +f 11366//12129 9421//13220 7576//12130 +f 11554//10663 7162//12001 7057//12003 +f 26344//16673 26343//16577 30881//16674 +f 35400//5848 11781//8962 11867//15944 +f 27753//13732 4122//16675 12112//14344 +f 12936//15745 13031//16447 12307//15651 +f 11787//3542 3177//5990 12733//3543 +f 31107//15002 31170//14946 31169//2808 +f 11868//14374 11867//15944 811//15209 +f 12849//14830 12942//14846 9077//11924 +f 21401//16676 20065//16677 20051//7855 +f 12462//15876 10116//16108 12552//16666 +f 1329//8858 5562//1014 1211//4436 +f 13888//16561 11568//15875 12552//16666 +f 10116//16108 6008//16678 12552//16666 +f 11568//15875 13888//16561 13031//16447 +f 13032//16110 11568//15875 13031//16447 +f 20104//16679 20105//9538 20616//9540 +f 11568//15875 12462//15876 12552//16666 +f 27901//16680 26344//16673 30880//16681 +f 9190//16682 12365//16683 11807//2187 +f 11537//4550 11604//7637 11536//16579 +f 35412//8644 35745//5317 35656//3699 +f 11423//13398 11473//14377 11422//6418 +f 11537//4550 11536//16579 11472//16185 +f 13088//15810 14156//4742 14155//9463 +f 2820//14055 25210//14054 25148//16684 +f 35591//6447 35728//6505 35478//977 +f 8270//4213 8378//11795 1599//4215 +f 12425//16685 12339//15506 1963//15505 +f 15079//16173 15205//16060 15405//16061 +f 25198//16686 23878//16477 20017//16377 +f 13995//16664 12425//16685 1963//15505 +f 13286//15470 12282//5859 12642//5861 +f 11854//16103 11853//16687 11769//16104 +f 10363//10642 13001//10641 7073//2221 +f 11431//16688 11489//15105 11488//11676 +f 6889//10770 34055//16689 11430//16586 +f 5564//16690 13113//10948 12119//10950 +f 11488//11676 11489//15105 11554//10663 +f 13355//4111 13356//16691 13450//9065 +f 20367//16692 20373//15994 21139//12848 +f 13259//8585 13260//16693 13355//4111 +f 13356//16691 13451//16487 13450//9065 +f 13260//16693 13259//8585 13164//8584 +f 13165//16380 13260//16693 13164//8584 +f 14039//15794 14137//16445 14038//16594 +f 13260//16693 13356//16691 13355//4111 +f 13941//15795 14039//15794 13940//16694 +f 14233//15905 14232//15906 14136//16590 +f 13941//15795 13940//16694 13842//16595 +f 13843//16567 13941//15795 13842//16595 +f 13939//16695 14037//16696 13938//14549 +f 14039//15794 14038//16594 13940//16694 +f 14228//15888 11646//15893 14227//15895 +f 14135//15896 14134//15898 14036//16697 +f 33738//16626 33737//16698 33610//16627 +f 10605//16699 9202//16597 11802//16599 +f 23814//9603 30871//16700 30870//16701 +f 31998//16702 32098//16118 31997//16703 +f 30956//16704 30901//15979 30957//16705 +f 29087//8771 29224//2791 29086//13579 +f 30825//16706 30826//2853 17894//16707 +f 15472//15434 3184//15441 16922//15444 +f 23466//16708 20581//16709 23440//16710 +f 14188//14828 13601//16711 11571//16712 +f 5054//15993 11962//16713 13487//16714 +f 11471//16715 11470//16716 11420//4612 +f 11421//4611 11471//16715 11420//4612 +f 11535//16717 11534//16718 11470//16716 +f 11471//16715 11535//16717 11470//16716 +f 11602//16719 11601//16720 11534//16718 +f 11535//16717 11602//16719 11534//16718 +f 11677//16721 11676//16722 11601//16720 +f 13159//16723 13158//16724 13064//16725 +f 11602//16719 11677//16721 11601//16720 +f 13065//16726 13159//16723 13064//16725 +f 13254//16727 13253//16728 13158//16724 +f 34280//5765 34279//16729 34141//16730 +f 13672//7444 13004//3498 12636//3497 +f 25613//16731 16443//7948 25614//2411 +f 21034//16360 18741//16418 21033//15809 +f 33359//16732 33360//16733 17273//16734 +f 10828//8619 7537//11612 8557//8617 +f 1409//16735 14150//16207 4061//16206 +f 35718//2803 35359//7045 35635//16736 +f 22268//8854 4665//16737 20323//339 +f 11696//15983 11572//15704 11505//16738 +f 12700//16739 12789//16740 12699//16335 +f 12881//16741 12974//16630 12880//16631 +f 8528//15362 14324//1475 13767//1997 +f 18178//15670 20309//4581 20193//4580 +f 21209//12880 21214//15677 22148//12846 +f 22760//372 22661//12192 10369//12191 +f 33488//1120 33607//6423 33487//2045 +f 15201//16294 13055//16176 16614//16169 +f 12100//15682 12182//16635 12099//16636 +f 9280//8560 5864//13021 22148//12846 +f 21179//15787 21148//170 15731//660 +f 11935//12036 12019//15680 11934//10856 +f 13276//8667 7364//8666 13373//16742 +f 20616//9540 21410//9834 20576//16472 +f 15339//864 14245//14147 21203//15365 +f 16157//1410 21204//1293 6519//15366 +f 11609//15845 11608//16743 11541//16420 +f 22146//9262 23231//15024 15194//16744 +f 11765//15569 11849//15654 11764//16745 +f 11542//15751 11609//15845 11541//16420 +f 11849//15654 11935//12036 11848//10858 +f 12019//15680 12018//16746 11934//10856 +f 12705//16099 12704//16653 12614//16405 +f 12615//16100 12705//16099 12614//16405 +f 12705//16099 12794//16516 12704//16653 +f 12886//16414 12885//16415 12793//16517 +f 20500//16747 12171//15683 5693//15752 +f 22239//16748 18118//16749 204//16750 +f 13642//16524 13740//16521 13739//16522 +f 13447//16751 13448//16752 13543//16657 +f 35209//16753 35208//16754 35079//15948 +f 11622//16398 13590//16397 12391//16504 +f 24955//16755 23701//16756 19987//16757 +f 35686//1287 35365//1289 11801//14449 +f 11428//9004 30958//9003 11479//15833 +f 12373//6002 13800//3710 6257//6003 +f 13888//16561 12552//16666 12307//15651 +f 20951//15808 21034//16360 21033//15809 +f 13765//15656 2919//16633 10369//12191 +f 6008//16678 11727//15715 13377//15652 +f 34975//1982 18596//1981 32683//9495 +f 35615//2751 11696//15983 13507//8410 +f 11238//13359 8010//14096 9653//10368 +f 9671//13144 10511//10767 7909//12311 +f 13001//10641 10036//14873 10833//2050 +f 23742//16758 15112//8024 14990//255 +f 35852//1549 35453//7459 35869//7458 +f 14155//9463 14156//4742 11235//4744 +f 26332//16759 30896//16760 30895//16761 +f 35841//918 35706//6704 11402//1038 +f 17416//16762 17338//16763 17417//16764 +f 29219//16765 17302//16766 19311//16767 +f 12183//16768 12266//16769 12182//16635 +f 23353//16770 22560//16771 24662//16772 +f 14077//16773 13010//16774 12916//15702 +f 35944//16775 35413//11128 35850//14058 +f 13615//16776 11865//15987 13594//15874 +f 11446//16777 13615//16776 13594//15874 +f 8137//15723 10986//14370 16259//16778 +f 23029//16779 22930//15868 22833//15870 +f 22840//15023 13335//15469 22453//477 +f 25944//16780 26432//16781 24832//16782 +f 10116//16108 12477//16109 6008//16678 +f 13651//12636 13650//12748 13552//4116 +f 35488//639 35471//330 35413//11128 +f 12558//14355 15021//16783 12994//9462 +f 11697//14224 11778//920 8002//15739 +f 14972//16422 12720//16337 11509//694 +f 9452//919 11871//16784 8002//15739 +f 11871//16784 11784//14872 8002//15739 +f 11720//5716 13032//16110 12136//2600 +f 11016//3663 11017//14100 11144//4646 +f 12365//16683 5416//16785 13800//3710 +f 12373//6002 12365//16683 13800//3710 +f 10262//11200 12545//10953 11956//15721 +f 12781//16786 15866//16413 14911//15719 +f 13163//8586 13258//8845 13162//16399 +f 13353//16787 13354//4110 13448//16752 +f 13258//8845 13354//4110 13353//16787 +f 13257//16788 13258//8845 13353//16787 +f 12749//16789 22232//3379 22135//3378 +f 26188//16790 26329//16791 26187//16792 +f 31641//13848 31736//16793 31640//13847 +f 13032//16110 13031//16447 12136//2600 +f 30881//16674 26343//16577 30882//16578 +f 11961//15782 14077//16773 12916//15702 +f 31305//16794 31304//16795 31239//16181 +f 12266//16769 12265//15932 12182//16635 +f 34681//16796 34809//16543 34680//16545 +f 34938//16797 34937//16798 34808//16544 +f 11432//16799 11490//14157 11489//15105 +f 33920//16800 11431//16688 11430//16586 +f 7436//13190 377//6850 7323//13103 +f 266//6846 7323//13103 377//6850 +f 266//6846 377//6850 376//6741 +f 7164//11982 7060//10661 7165//10112 +f 20290//16801 17791//16802 20205//14185 +f 9878//8260 13798//14604 14166//3460 +f 9804//16598 13428//16803 9518//16804 +f 22804//16805 22805//16379 22903//13504 +f 13841//16806 13939//16695 13840//13067 +f 14037//16696 14036//16697 13938//14549 +f 13841//16806 13840//13067 13742//15900 +f 13743//15899 13841//16806 13742//15900 +f 14037//16696 14135//15896 14036//16697 +f 13939//16695 13938//14549 13840//13067 +f 9202//16597 10605//16699 1487//15894 +f 14231//15897 14230//15892 14134//15898 +f 23413//7164 23322//2563 13324//15713 +f 11646//15893 9202//16597 1487//15894 +f 23322//2563 3183//7847 13324//15713 +f 12333//8589 12419//7135 12332//3330 +f 23413//7164 13324//15713 17086//15712 +f 20328//14122 16168//16389 16169//89 +f 21874//7165 17086//15712 13852//15788 +f 21874//7165 23413//7164 17086//15712 +f 25050//16807 25051//16808 21453//16809 +f 15150//14811 21874//7165 13852//15788 +f 27495//12261 30641//12352 29699//16810 +f 21202//16530 15150//14811 21179//15787 +f 15878//2118 12688//2117 30488//5062 +f 26605//16811 26606//5471 26710//5472 +f 20195//2815 4522//8801 21137//8897 +f 28954//16812 28953//8365 28820//6297 +f 4522//8801 23463//8898 21137//8897 +f 28821//16446 28954//16812 28820//6297 +f 4683//27 13084//25 3930//16490 +f 27379//3167 27495//12261 29699//16810 +f 11758//16813 11757//16814 11676//16722 +f 11677//16721 11758//16813 11676//16722 +f 12878//16815 12971//16816 12877//16817 +f 11842//16463 11841//16818 11757//16814 +f 13065//16726 13064//16725 12970//16819 +f 12971//16816 13065//16726 12970//16819 +f 32401//16820 32400//16821 32297//16822 +f 31997//16703 32097//16120 31996//9220 +f 12601//1934 20311//2252 12780//16823 +f 22045//1804 21979//1360 21123//13486 +f 12715//24 13179//16824 12827//1578 +f 4062//16253 1409//16735 4061//16206 +f 13507//8410 11696//15983 11505//16738 +f 20070//10189 22929//10191 23126//16105 +f 12881//16741 12880//16631 12788//16339 +f 12789//16740 12881//16741 12788//16339 +f 12610//16825 12700//16739 12609//16332 +f 12789//16740 12788//16339 12699//16335 +f 12520//16826 12610//16825 12519//16328 +f 12700//16739 12699//16335 12609//16332 +f 12345//16827 12431//16828 12344//16829 +f 12520//16826 12519//16328 12430//16327 +f 22621//222 22620//16830 22521//4447 +f 22520//14130 33923//505 22521//4447 +f 12100//15682 12099//16636 12018//16746 +f 12019//15680 12100//15682 12018//16746 +f 11684//15684 11765//15569 11683//16831 +f 11849//15654 11848//10858 11764//16745 +f 11684//15684 11683//16831 11608//16743 +f 11609//15845 11684//15684 11608//16743 +f 21483//369 21484//368 22831//2039 +f 11765//15569 11764//16745 11683//16831 +f 12898//16465 19981//15442 3184//15441 +f 22857//8548 12898//16465 3184//15441 +f 11346//14232 14149//16832 18182//15591 +f 28078//16833 21178//16834 27961//16835 +f 15205//16060 15461//9001 15276//16001 +f 15745//16836 10940//16177 13330//248 +f 15461//9001 15149//16837 15276//16001 +f 23007//1805 23105//1807 23104//126 +f 4102//1603 17083//1605 23436//16342 +f 13298//14679 11549//16838 16008//16839 +f 13544//16658 13642//16524 13641//16523 +f 13353//16787 13448//16752 13447//16751 +f 1971//16840 2916//16604 12391//16504 +f 12305//16503 1971//16840 12391//16504 +f 2224//16841 5700//16842 14224//16843 +f 14225//16844 2224//16841 14224//16843 +f 12013//16189 12094//16330 12012//16190 +f 12176//16845 12175//16846 12093//16331 +f 11505//16738 11572//15704 12823//16454 +f 13009//15703 13299//15789 14082//15791 +f 12552//16666 6008//16678 13377//15652 +f 12477//16109 1329//8858 12478//8857 +f 13665//2440 11447//14827 12203//1181 +f 12203//1181 4122//16675 35468//1179 +f 34416//15640 34553//15984 34415//10727 +f 12916//15702 13010//16774 3457//15986 +f 26362//15978 30901//15979 30900//16847 +f 9076//6156 8970//6155 9077//11924 +f 35407//5535 1616//5534 9805//12081 +f 33219//16848 33324//16364 33218//16849 +f 9310//16850 14161//16669 12393//3571 +f 11628//3573 9310//16850 12393//3571 +f 14264//16851 6642//16670 14161//16669 +f 9310//16850 14264//16851 14161//16669 +f 13578//16852 13480//16671 6642//16670 +f 14264//16851 13578//16852 6642//16670 +f 14061//16853 13596//16672 13480//16671 +f 13578//16852 14061//16853 13480//16671 +f 14078//16854 13300//10389 13596//16672 +f 14061//16853 14078//16854 13596//16672 +f 11463//15856 14278//14979 12829//16855 +f 11463//15856 13963//15804 14278//14979 +f 11133//15855 11463//15856 12829//16855 +f 7386//13012 7274//14342 7275//15156 +f 14117//1267 14116//3159 14018//13926 +f 13385//2239 13323//16856 16649//16857 +f 12726//8282 13865//12131 11781//8962 +f 12647//1455 11553//16858 15747//15708 +f 9406//9290 9631//9289 23237//16859 +f 1872//16860 20646//14775 5590//16861 +f 12425//16685 15597//16862 14951//15507 +f 22918//16863 23017//15772 22917//16864 +f 22139//11692 19808//14319 24623//11690 +f 30882//16578 26342//16540 30883//16541 +f 11133//15855 12829//16855 11870//16154 +f 11955//5040 11133//15855 11870//16154 +f 30880//16681 26344//16673 30881//16674 +f 11402//1038 11955//5040 11870//16154 +f 11871//16784 10012//14363 11784//14872 +f 14085//15349 1880//10620 35797//2806 +f 12339//15506 12425//16685 14951//15507 +f 12416//3748 12415//3937 12329//3749 +f 22720//355 22719//16865 22620//16830 +f 13538//16866 13539//16867 13636//16868 +f 15597//16862 23074//16869 23075//15515 +f 14951//15507 15597//16862 23075//15515 +f 13449//4112 13545//8084 13544//16658 +f 13354//4110 13449//4112 13448//16752 +f 13757//16208 17095//16870 16604//16450 +f 5055//15740 4526//15834 2914//8458 +f 22621//222 22720//355 22620//16830 +f 22149//8550 9280//8560 22148//12846 +f 13010//16774 11894//16871 3457//15986 +f 11792//15939 11774//16071 9656//15940 +f 21367//16872 33702//16873 33701//16874 +f 26362//15978 24832//16782 26363//16875 +f 23298//16064 23297//15997 23199//15996 +f 14078//16854 14257//10390 13300//10389 +f 11433//16876 11491//16877 11490//14157 +f 33920//16800 11432//16799 11431//16688 +f 11491//16877 11557//10114 11556//10113 +f 11490//14157 11491//16877 11556//10113 +f 19113//8530 21865//16878 17895//16879 +f 21865//16878 21299//16880 17895//16879 +f 11937//16881 27203//16882 12022//16883 +f 9994//8261 14166//3460 11004//3459 +f 11802//16599 9804//16598 9518//16804 +f 34000//16884 33999//16885 33864//11195 +f 22904//13505 23003//15950 23002//13506 +f 9518//16804 13428//16803 11333//16886 +f 12457//16887 24733//16888 23633//16889 +f 5694//16492 5693//15752 12993//16004 +f 13428//16803 12457//16887 3323//16890 +f 23297//15997 23394//15718 23296//16520 +f 20665//16343 20583//16491 5694//16492 +f 13587//16656 4102//1603 23436//16342 +f 620//3426 15048//15363 14972//16422 +f 15149//16837 16920//15999 15276//16001 +f 17083//1605 20500//16747 20583//16491 +f 20446//16891 20447//5557 20531//5558 +f 4061//16206 13757//16208 16761//16000 +f 22937//30 21971//380 22938//15756 +f 14150//16207 11103//7938 13757//16208 +f 23203//3563 23301//877 23300//2790 +f 21971//380 21876//15753 22938//15756 +f 14739//4572 11694//2072 13183//16116 +f 23202//2434 23203//3563 23300//2790 +f 21089//16892 21003//16893 21004//13 +f 11694//2072 11618//16500 13183//16116 +f 22760//372 16919//1658 22661//12192 +f 28187//11866 27057//2852 27056//16894 +f 11122//4743 14347//11520 9772//1473 +f 13086//1657 12363//9478 15277//16391 +f 620//3426 3753//16895 15048//15363 +f 12715//24 11206//253 15328//16101 +f 1018//16495 12255//8668 16621//16115 +f 23469//16217 12465//16216 13684//16493 +f 23366//8901 23270//16896 16621//16115 +f 11758//16813 11842//16463 11757//16814 +f 15344//15841 15343//16897 14847//2368 +f 12786//16898 12878//16815 12785//16899 +f 11928//16191 11927//16900 11841//16818 +f 12786//16898 12785//16899 12696//16901 +f 12971//16816 12970//16819 12877//16817 +f 12607//16902 12697//16903 12606//16904 +f 12697//16903 12786//16898 12696//16901 +f 4683//27 3930//16490 15345//15840 +f 13084//25 12715//24 12827//1578 +f 11103//7938 8011//2370 17095//16870 +f 14134//15898 14133//16905 14035//16906 +f 14134//15898 14230//15892 14133//16905 +f 14036//16697 14134//15898 14035//16906 +f 14230//15892 14229//16448 14133//16905 +f 20699//12666 20698//12665 22532//16106 +f 29695//13614 29561//2108 28879//2110 +f 6956//10772 6887//16907 6889//10770 +f 12431//16828 12520//16826 12430//16327 +f 12610//16825 12609//16332 12519//16328 +f 22819//579 22818//16908 22719//16865 +f 12260//16909 12345//16827 12259//16910 +f 22918//16863 22917//16864 22818//16908 +f 22720//355 22819//579 22719//16865 +f 13369//1963 23370//16321 12898//16465 +f 22819//579 22918//16863 22818//16908 +f 13279//974 12898//16465 22857//8548 +f 34203//5484 34349//16911 2951//5485 +f 11679//14177 11760//14176 11678//16348 +f 13279//974 13369//1963 12898//16465 +f 12177//16912 12260//16909 12176//16845 +f 11844//15928 11843//16576 11759//16347 +f 12177//16912 12176//16845 12094//16330 +f 12345//16827 12344//16829 12259//16910 +f 12095//16913 12177//16912 12094//16330 +f 12260//16909 12259//16910 12176//16845 +f 13257//16788 13256//16914 13161//16400 +f 13162//16399 13257//16788 13161//16400 +f 13353//16787 13352//16915 13256//16914 +f 13257//16788 13353//16787 13256//16914 +f 13352//16915 13353//16787 13447//16751 +f 13448//16752 13544//16658 13543//16657 +f 13096//527 3076//529 12723//16916 +f 1971//16840 12723//16916 2916//16604 +f 9656//15940 11261//16917 5700//16842 +f 20787//2029 18450//7044 18354//16918 +f 12094//16330 12176//16845 12093//16331 +f 14225//16844 14224//16843 14128//16919 +f 3184//15441 7789//15443 16922//15444 +f 12259//16910 12258//16920 12175//16846 +f 6008//16678 12478//8857 11727//15715 +f 21136//16063 23036//16062 21135//32 +f 12765//8257 12766//11710 12857//12770 +f 27781//16921 17294//16922 17293//16667 +f 11894//16871 8685//16923 13491//15873 +f 20788//7043 20870//16665 18450//7044 +f 18546//16924 18545//16925 18450//7044 +f 3457//15986 11894//16871 13491//15873 +f 12771//8588 12863//10740 12862//9515 +f 4926//12306 2367//2398 2639//12307 +f 12150//13670 12151//10591 12233//14864 +f 29089//16926 29088//8770 28953//8365 +f 22618//2733 22717//14241 22617//15445 +f 14314//8092 14313//2223 14215//2222 +f 14216//7829 14314//8092 14215//2222 +f 20950//15807 21033//15809 18546//16924 +f 11406//16927 29398//16928 7288//16929 +f 24832//16782 26362//15978 30900//16847 +f 30894//16930 26332//16759 30895//16761 +f 6924//14855 11705//14856 6925//14927 +f 35877//4443 35792//16409 35691//12185 +f 34809//16543 34938//16797 34808//16544 +f 35579//9307 35928//7567 12209//4395 +f 35910//6873 35786//11060 35489//2447 +f 12744//16053 12745//16931 13876//16932 +f 12745//16931 12744//16053 14184//16933 +f 32730//16357 32842//16359 32729//16934 +f 12934//16052 12744//16053 13876//16932 +f 23350//3506 7856//8549 23057//15433 +f 6263//6516 13675//3158 795//2553 +f 33182//16935 33181//16936 33076//16937 +f 13369//1963 20400//3 23370//16321 +f 22908//16938 23007//1805 23006//1880 +f 34942//16939 35071//16940 34941//16941 +f 11778//920 9452//919 8002//15739 +f 13918//5521 14016//7727 13917//7342 +f 12934//16052 13876//16932 4529//16942 +f 12722//16085 12934//16052 4529//16942 +f 12629//16943 193//16944 33948//16945 +f 12223//16946 9310//16850 11628//3573 +f 12456//2804 12722//16085 4529//16942 +f 12474//4730 12223//16946 11628//3573 +f 39//5712 13891//7136 13334//5713 +f 12367//15711 12456//2804 4529//16942 +f 16913//539 16754//541 16755//917 +f 17373//2699 35067//16947 35197//2697 +f 14232//15906 14231//15897 14135//15896 +f 22411//9014 22509//9015 22508//15196 +f 13940//16694 14038//16594 13939//16695 +f 14136//16590 14232//15906 14135//15896 +f 14136//16590 14135//15896 14037//16696 +f 14038//16594 14136//16590 14037//16696 +f 21282//9477 21207//13057 5864//13021 +f 23074//16869 12664//16948 4417//15516 +f 2794//4857 12224//3744 13791//2353 +f 21872//16949 25635//16950 25578//16951 +f 16932//15399 11719//14895 13056//15400 +f 13525//6869 35539//10314 35809//6870 +f 12912//16952 14264//16851 9310//16850 +f 12223//16946 12912//16952 9310//16850 +f 11434//16953 11492//16954 11491//16877 +f 11433//16876 11432//16799 33786//16955 +f 11492//16954 11558//16956 11557//10114 +f 11491//16877 11492//16954 11557//10114 +f 11558//16956 11632//15179 11631//15011 +f 11557//10114 11558//16956 11631//15011 +f 22041//11087 2675//2114 17817//2113 +f 35567//2336 35543//3887 35587//13333 +f 11235//4744 11122//4743 9772//1473 +f 23075//15515 23074//16869 4417//15516 +f 12885//16415 12978//16284 12884//16344 +f 14911//15719 21501//16382 23393//15720 +f 12793//16517 12885//16415 12792//16529 +f 13072//16289 13071//16349 12977//16345 +f 12614//16405 12704//16653 12613//15935 +f 12978//16284 12977//16345 12884//16344 +f 12524//16170 12614//16405 12523//15836 +f 12793//16517 12792//16529 12703//16211 +f 12435//16272 12524//16170 12434//15839 +f 12704//16653 12703//16211 12613//15935 +f 12349//16404 12435//16272 12348//16417 +f 12614//16405 12613//15935 12523//15836 +f 12264//16507 12349//16404 12263//16254 +f 12524//16170 12523//15836 12434//15839 +f 12181//16634 12264//16507 12180//16111 +f 12435//16272 12434//15839 12348//16417 +f 12099//16636 12181//16634 12098//16114 +f 12349//16404 12348//16417 12263//16254 +f 12018//16746 12099//16636 12017//16244 +f 12264//16507 12263//16254 12180//16111 +f 12018//16746 12017//16244 11933//16243 +f 12181//16634 12180//16111 12098//16114 +f 11934//10856 12018//16746 11933//16243 +f 12099//16636 12098//16114 12017//16244 +f 35764//2693 35727//13183 35763//2761 +f 4949//16957 2791//4745 15638//4747 +f 12900//14356 13763//9464 13862//16147 +f 35527//10527 35707//6496 35834//9757 +f 20050//2258 20051//7855 20541//16958 +f 20374//16959 20458//16960 20457//16526 +f 12201//7941 4102//1603 13587//16656 +f 1262//8766 8028//8768 9900//16961 +f 11842//16463 11928//16191 11841//16818 +f 14150//16207 16023//15842 11103//7938 +f 12012//16190 12011//16962 11927//16900 +f 11928//16191 12012//16190 11927//16900 +f 12258//16920 12257//16963 12174//16964 +f 12175//16846 12258//16920 12174//16964 +f 8683//1251 6890//378 1409//16735 +f 16929//28 15345//15840 16165//16965 +f 20311//2252 20310//16966 12780//16823 +f 6890//378 16165//16965 1409//16735 +f 13424//16967 21863//3405 21756//15688 +f 6890//378 16929//28 16165//16965 +f 20534//16968 20535//2259 21302//16969 +f 21091//2420 12601//1934 21005//16970 +f 19998//16971 19966//16972 19967//16973 +f 34553//15984 34681//16796 34552//5900 +f 20871//16974 20951//15808 20950//15807 +f 35510//1854 35922//1856 35885//7574 +f 12431//16828 12430//16327 12344//16829 +f 19981//15442 5354//16629 7789//15443 +f 12095//16913 12094//16330 12013//16189 +f 12014//16975 12095//16913 12013//16189 +f 12014//16975 12013//16189 11929//16324 +f 11930//16976 12014//16975 11929//16324 +f 11760//14176 11844//15928 11759//16347 +f 11930//16976 11929//16324 11843//16576 +f 11678//16348 11677//16721 11602//16719 +f 11844//15928 11930//16976 11843//16576 +f 11472//16185 11536//16579 11471//16715 +f 11603//16464 11602//16719 11535//16717 +f 11422//6418 11472//16185 11421//4611 +f 11536//16579 11603//16464 11535//16717 +f 10810//13157 4504//6231 9305//7762 +f 11536//16579 11535//16717 11471//16715 +f 5467//16073 2652//11075 1253//9185 +f 35929//9195 35375//15260 35807//10399 +f 13792//1117 13334//5713 2903//3545 +f 13601//16711 5054//15993 13487//16714 +f 18642//16977 18546//16924 18643//16419 +f 20870//16665 20871//16974 20950//15807 +f 31369//16978 31368//16979 31301//16980 +f 7276//6805 7387//11891 7275//15156 +f 4665//16737 22829//12518 2478//340 +f 901//7821 10592//2024 12899//7730 +f 14129//16981 14225//16844 14128//16919 +f 12568//209 15596//1582 15595//9526 +f 12176//16845 12259//16910 12175//16846 +f 14129//16981 14128//16919 14030//16982 +f 11280//906 16011//905 23029//16779 +f 12344//16829 12343//16983 12258//16920 +f 13457//7638 13553//4115 13456//4117 +f 23028//16984 20784//16985 20785//16292 +f 31725//14530 31825//252 31824//16986 +f 12824//16392 24614//16987 35870//16988 +f 11446//16777 13594//15874 13491//15873 +f 34834//15436 34963//16096 34833//15437 +f 10363//10642 7073//2221 14313//2223 +f 8685//16923 11446//16777 13491//15873 +f 13577//16989 13578//16852 14264//16851 +f 2367//2398 1156//2356 2639//12307 +f 12912//16952 13577//16989 14264//16851 +f 14261//16990 14061//16853 13578//16852 +f 13577//16989 14261//16990 13578//16852 +f 14261//16990 12199//16991 14078//16854 +f 14061//16853 14261//16990 14078//16854 +f 26332//16759 30894//16930 30893//16992 +f 3193//14392 14257//10390 14078//16854 +f 12199//16991 3193//14392 14078//16854 +f 12770//13201 12771//8588 12862//9515 +f 15520//9334 1527//8531 15519//519 +f 23014//9960 23112//2544 23111//15298 +f 12863//10740 12956//10741 12955//8849 +f 14314//8092 10363//10642 14313//2223 +f 13171//5856 13170//5853 13076//15566 +f 5870//14735 4099//14479 1274//13752 +f 13001//10641 13411//2194 7073//2221 +f 12744//16053 14180//15971 14184//16933 +f 12664//16948 13697//16993 21393//15517 +f 4120//2552 6006//8262 795//2553 +f 30937//16994 30995//16995 30936//16996 +f 29132//2270 29818//2446 27531//2445 +f 23017//15772 23016//15773 22917//16864 +f 20583//16491 20500//16747 5693//15752 +f 20066//4137 20103//15859 20575//1991 +f 25374//16997 23944//16998 23563//16999 +f 24592//17000 12718//17001 24371//17002 +f 4417//15516 12664//16948 21393//15517 +f 13697//16993 19992//17003 19991//15526 +f 30886//17004 26338//16325 30887//16326 +f 30890//17005 26334//16040 30891//17006 +f 35913//9884 35892//8507 35628//12186 +f 21393//15517 13697//16993 19991//15526 +f 32092//9831 32192//15816 32091//9832 +f 25337//8895 25336//17007 25382//17008 +f 20708//16531 20709//2048 20790//14938 +f 25918//17009 21872//16949 24460//17010 +f 12532//17011 12531//16020 12442//16137 +f 23025//2735 21490//2734 22538//16178 +f 14832//6736 22732//15694 22244//17012 +f 13842//16595 13940//16694 13841//16806 +f 14038//16594 14037//16696 13939//16695 +f 18176//2264 17562//8679 14685//16648 +f 20699//12666 23425//9261 22738//12667 +f 22560//16771 24709//17013 24662//16772 +f 2264//17014 5470//6866 2263//17015 +f 33643//17016 33770//2719 33642//2721 +f 24788//17017 23722//11220 25180//15738 +f 6862//12866 27756//1078 29543//4726 +f 15470//13226 13986//4588 21482//13814 +f 18270//17018 19809//17019 3802//9376 +f 11435//12862 11493//12864 11492//16954 +f 33786//16955 11434//16953 11433//16876 +f 11493//12864 11559//17020 11558//16956 +f 11492//16954 11493//12864 11558//16956 +f 11559//17020 11633//12231 11632//15179 +f 11558//16956 11559//17020 11632//15179 +f 7273//13546 11631//15011 7274//14342 +f 28954//16812 29089//16926 28953//8365 +f 12704//16653 12793//16517 12703//16211 +f 8802//11139 8694//13020 8695//10465 +f 35425//15380 35940//8653 35932//15267 +f 12885//16415 12884//16344 12792//16529 +f 10587//17021 13//17022 11971//8181 +f 35576//8640 405//8639 67//12672 +f 11716//17023 10587//17021 11971//8181 +f 22936//867 10706//866 16153//14810 +f 11144//4646 4767//3475 4633//3661 +f 11016//3663 11144//4646 4633//3661 +f 11085//2932 11058//11440 13780//17024 +f 10209//8503 10328//11222 10327//10922 +f 12616//16082 12615//16100 12525//16083 +f 7920//14936 8548//15034 10747//15035 +f 12351//15930 12437//16033 12350//15931 +f 12526//16081 12525//16083 12436//16034 +f 21953//9283 22651//8774 22551//15933 +f 35385//5339 8869//9666 8041//17025 +f 13550//17026 13648//17027 13549//16015 +f 13359//17028 13358//16008 13262//16131 +f 20373//15994 20396//15678 21209//12880 +f 21207//13057 21282//9477 15470//13226 +f 11637//15985 5563//8473 12929//17029 +f 18869//17030 19366//15319 18969//15321 +f 11764//16745 11763//16248 11682//16247 +f 11848//10858 11847//16250 11763//16248 +f 11541//16420 11608//16743 11540//16235 +f 11683//16831 11764//16745 11682//16247 +f 11683//16831 11682//16247 11607//16240 +f 11608//16743 11683//16831 11607//16240 +f 21216//2 22151//2408 21214//15677 +f 29223//2793 29360//8765 29222//5670 +f 34276//10728 34275//3132 34137//15729 +f 26334//16040 30890//17005 30889//16041 +f 21834//16196 21835//2822 21929//16489 +f 21945//17031 21946//17032 2410//17033 +f 19766//17034 19475//17035 15618//17036 +f 22705//16200 22706//16261 22804//16805 +f 12258//16920 12343//16983 12257//16963 +f 12343//16983 12342//15908 12257//16963 +f 12429//16329 12428//17037 12342//15908 +f 12343//16983 12429//16329 12342//15908 +f 28008//17038 27892//17039 12427//17040 +f 12428//17037 12517//17041 12427//17040 +f 24031//17042 23972//16031 30624//4969 +f 32400//16821 32399//17043 32296//17044 +f 29898//2034 30029//4430 29897//4432 +f 20531//5558 20532//4591 20613//4592 +f 564//2392 127//16121 22//16266 +f 23395//16065 23394//15718 23297//15997 +f 4524//17045 11357//16123 10243//17046 +f 12900//14356 12994//9462 13763//9464 +f 11665//3322 11664//9739 11589//9656 +f 35416//6173 35481//17047 35873//5781 +f 11553//16858 12647//1455 1833//9899 +f 11472//16185 11471//16715 11421//4611 +f 11759//16347 11758//16813 11677//16721 +f 11603//16464 11678//16348 11602//16719 +f 11843//16576 11842//16463 11758//16813 +f 11678//16348 11759//16347 11677//16721 +f 2224//16841 9656//15940 5700//16842 +f 11759//16347 11843//16576 11758//16813 +f 19104//3771 20674//2713 18418//11035 +f 11774//16071 11728//17048 11261//16917 +f 3190//17049 3050//16186 11071//17050 +f 27057//2852 28371//14333 28370//14742 +f 27731//17051 27732//17052 27846//5945 +f 3331//16187 4255//16193 9993//16188 +f 22507//15197 22508//15196 22606//16198 +f 22121//2065 22217//8896 22216//10386 +f 13179//16824 13274//17053 3725//1579 +f 12827//1578 13179//16824 3725//1579 +f 13683//15805 11563//2103 14249//15616 +f 13179//16824 15328//16101 1759//7939 +f 12768//3634 12860//8961 12859//3708 +f 12767//3707 12768//3634 12859//3708 +f 13702//14752 8420//15182 8036//12583 +f 10838//15159 7703//15134 9872//15157 +f 33868//1653 34003//1149 33867//1654 +f 19992//17003 20456//17054 20453//15527 +f 14031//17055 14129//16981 14030//16982 +f 13315//7372 11778//920 11697//14224 +f 12259//16910 12344//16829 12258//16920 +f 14031//17055 14030//16982 13932//17056 +f 20784//16985 20700//16291 20785//16292 +f 12430//16327 12429//16329 12343//16983 +f 17304//2567 24567//17057 24566//17058 +f 10738//11251 9061//11174 11264//11173 +f 35882//3023 9750//2203 12121//2601 +f 11781//8962 13865//12131 13477//15550 +f 7275//15156 11633//12231 7276//6805 +f 30884//16453 26340//16452 30885//17059 +f 16342//15521 16495//17060 14162//15556 +f 12202//10973 15//4249 5603//15101 +f 14164//15960 13323//16856 12915//17061 +f 12237//3751 12322//5828 12321//5830 +f 12914//15961 12915//17061 14184//16933 +f 12914//15961 14164//15960 12915//17061 +f 20000//17062 19969//17063 19970//17064 +f 14180//15971 12914//15961 14184//16933 +f 25708//17065 25706//17066 4244//17067 +f 23231//15024 22453//477 15194//16744 +f 34936//4853 34937//16798 35065//9341 +f 11889//17068 12223//16946 12474//4730 +f 12385//3350 11889//17068 12474//4730 +f 12369//17069 12912//16952 12223//16946 +f 11889//17068 12369//17069 12223//16946 +f 13193//17070 13577//16989 12912//16952 +f 12369//17069 13193//17070 12912//16952 +f 30883//16541 26341//16451 30884//16453 +f 13986//4588 8156//4589 21482//13814 +f 11468//17071 11532//16174 11467//17072 +f 25587//17073 24319//17074 11856//17075 +f 7856//8549 15472//15434 23057//15433 +f 10940//16177 21136//16063 21135//32 +f 20778//11040 20696//11039 18344//17076 +f 13069//11059 13163//8586 13068//16505 +f 24405//17077 25587//17073 11856//17075 +f 35935//5016 35534//5015 35424//11028 +f 19991//15526 19992//17003 20453//15527 +f 12270//15813 24201//15812 21244//15475 +f 13193//17070 10348//17078 14261//16990 +f 17420//17079 17509//17080 17508//17081 +f 13577//16989 13193//17070 14261//16990 +f 10348//17078 13285//17082 12199//16991 +f 14692//15693 20319//15609 16602//1932 +f 14261//16990 10348//17078 12199//16991 +f 3669//1522 4062//16253 16451//16252 +f 35870//16988 35627//10328 12824//16392 +f 22638//6840 22837//6737 22244//17012 +f 22931//2562 23030//2561 23025//2735 +f 13744//16016 13842//16595 13743//15899 +f 13940//16694 13939//16695 13841//16806 +f 20785//16292 20699//12666 22532//16106 +f 16919//1658 15277//16391 22661//12192 +f 29089//16926 29226//17083 29225//9162 +f 23128//16 23030//2561 23224//2745 +f 25063//15357 24514//17084 24850//17085 +f 21454//17086 25626//17087 25728//17088 +f 22808//460 22809//17089 22907//3574 +f 11695//17090 11618//16500 13570//16494 +f 13285//17082 13970//17091 3193//14392 +f 12199//16991 13285//17082 3193//14392 +f 11436//12863 11494//17092 11493//12864 +f 33659//17093 11435//12862 11434//16953 +f 11494//17092 11560//17094 11559//17020 +f 11493//12864 11494//17092 11559//17020 +f 11560//17094 11634//12232 11633//12231 +f 11559//17020 11560//17094 11633//12231 +f 10846//14308 11009//10061 13686//14595 +f 8440//13312 811//15209 13477//15550 +f 8433//14273 8326//14271 12398//16107 +f 11764//16745 11848//10858 11763//16248 +f 22809//17089 22908//16938 22907//3574 +f 3202//3539 11005//5968 3200//13573 +f 22610//1151 22611//15633 22709//1402 +f 13570//16494 13569//16501 12255//8668 +f 22511//1910 22512//10334 22610//1151 +f 22709//1402 22710//17095 22808//460 +f 12444//17096 25307//17097 25998//17098 +f 22710//17095 22809//17089 22808//460 +f 24403//17099 24290//17100 21823//17101 +f 22611//15633 22710//17095 22709//1402 +f 27266//2646 12541//17102 23492//5354 +f 24981//17103 24988//17104 26093//17105 +f 24242//17106 24529//14648 24172//17107 +f 25307//17097 25445//16035 25998//17098 +f 3753//16895 5338//17108 11400//14354 +f 25357//17109 24165//10119 25375//17110 +f 13559//15934 3862//9111 16038//7441 +f 25324//15926 24529//14648 24242//17106 +f 17801//17111 23217//15290 23119//7276 +f 21698//12348 2769//17112 13100//12349 +f 4122//16675 12203//1181 12112//14344 +f 12203//1181 12120//14829 12112//14344 +f 26429//17113 11546//17114 11482//15941 +f 11465//8200 11530//14626 26622//17115 +f 28312//17116 21354//2959 28195//2958 +f 35842//7156 35867//7350 30423//3310 +f 20700//16291 20965//16288 20699//12666 +f 19363//17117 23129//17118 20949//17119 +f 20965//16288 22335//16580 22146//9262 +f 35557//9755 35373//5735 35781//9858 +f 35466//8944 35670//2150 35902//14823 +f 13220//1738 13614//5017 8090//10382 +f 35572//6703 35379//9324 35857//5042 +f 14020//2533 14019//14239 13921//12303 +f 11802//16599 9518//16804 1997//16069 +f 1997//16069 9518//16804 3331//16187 +f 11792//15939 11802//16599 1997//16069 +f 9518//16804 11333//16886 3331//16187 +f 12429//16329 12518//16333 12428//17037 +f 12518//16333 12517//17041 12428//17037 +f 12972//17120 12971//16816 12878//16815 +f 12879//17121 12972//17120 12878//16815 +f 25468//17122 25467//17123 16752//1315 +f 27892//17039 27777//17124 12341//15909 +f 24452//17125 17672//17126 21291//17127 +f 13111//17128 13147//17129 23251//17130 +f 21124//2251 21123//13486 20310//16966 +f 23468//8900 21091//2420 6518//17131 +f 8024//16122 564//2392 563//2394 +f 10243//17046 8024//16122 563//2394 +f 739//17132 1732//17133 285//17134 +f 35748//3124 35401//3123 35865//3724 +f 13784//17135 2928//16070 3190//17049 +f 11357//16123 8024//16122 10243//17046 +f 11774//16071 2928//16070 11728//17048 +f 3050//16186 9993//16188 11071//17050 +f 9656//15940 11774//16071 11261//16917 +f 2928//16070 3050//16186 3190//17049 +f 2639//12307 1156//2356 220//3928 +f 2928//16070 13784//17135 11728//17048 +f 12502//14428 12592//8467 12501//7010 +f 12682//8466 12681//7537 12591//7011 +f 27148//2655 27638//2654 19244//17136 +f 10592//2024 12295//2193 12899//7730 +f 8883//1604 20012//15617 17083//1605 +f 21301//16310 21302//16969 22432//9132 +f 20456//17054 21233//17137 21232//15528 +f 12410//6388 12409//10647 12323//13402 +f 12254//947 23350//3506 2236//12761 +f 18546//16924 18642//16977 18545//16925 +f 30602//3207 30534//2068 27054//2070 +f 22135//3378 22231//3380 22134//17138 +f 20453//15527 20456//17054 21232//15528 +f 21233//17137 22255//17139 22254//15555 +f 21232//15528 21233//17137 22254//15555 +f 22255//17139 15473//17140 15152//15565 +f 22254//15555 22255//17139 15152//15565 +f 15473//17140 21298//17141 21297//15593 +f 15152//15565 15473//17140 21297//15593 +f 5700//16842 9402//17142 14223//17143 +f 13933//17144 14031//17055 13932//17056 +f 13431//17145 12988//15594 21297//15593 +f 12344//16829 12430//16327 12343//16983 +f 13933//17144 13932//17056 13834//17146 +f 9785//12955 9901//2836 35943//2835 +f 12519//16328 12518//16333 12429//16329 +f 7461//13605 13780//17024 11058//11440 +f 12808//15364 12900//14356 13862//16147 +f 13980//6765 35314//17147 6906//12733 +f 21298//17141 13431//17145 21297//15593 +f 12237//3751 12236//8592 12153//3752 +f 29088//8770 29089//16926 29225//9162 +f 12928//15748 14280//15746 9922//3022 +f 12616//16082 12706//16098 12615//16100 +f 12121//2601 12928//15748 9922//3022 +f 27402//17148 19237//17149 29688//17150 +f 12795//17151 12794//16516 12705//16099 +f 26622//17115 11530//14626 26621//17152 +f 18224//17153 18318//15382 19118//15381 +f 26525//17154 11614//17155 11546//17114 +f 14766//723 14878//1235 7892//8988 +f 33469//15919 33937//17156 2960//6557 +f 13970//17091 2929//17157 3193//14392 +f 12862//9515 12863//10740 12955//8849 +f 11741//4501 11740//7912 11660//9782 +f 12962//9959 12870//9299 16930//9228 +f 12956//10741 13050//13780 13049//8851 +f 2386//17158 15701//17159 15700//17160 +f 17094//17161 12962//9959 16930//9228 +f 25803//17162 25715//17163 24470//17164 +f 30886//17004 26339//17165 26338//16325 +f 25578//16951 25106//5607 25721//17166 +f 21182//17167 24811//17168 21268//17169 +f 22907//3574 22908//16938 23006//1880 +f 21685//16388 20073//16390 20328//14122 +f 13258//8845 13257//16788 13162//16399 +f 11608//16743 11607//16240 11540//16235 +f 20060//17170 21326//17171 18170//17172 +f 13545//8084 13643//8086 13642//16524 +f 25336//17007 25337//8895 24788//17017 +f 13887//17173 7148//17174 25539//17175 +f 20364//588 21133//420 20325//15759 +f 23558//17176 21729//17177 25250//17178 +f 30887//16326 26337//16141 30888//16142 +f 21126//15392 21125//2250 20316//1933 +f 32522//14719 32631//17179 32521//14720 +f 32245//17180 32347//17181 32244//17182 +f 34844//15724 115//5160 6936//15255 +f 34734//15499 15075//15498 15076//14569 +f 13569//16501 13304//8669 12255//8668 +f 12089//17183 1145//16370 13182//16371 +f 13506//8616 11643//17184 13505//9125 +f 24874//17185 24493//17186 25953//17187 +f 13260//16693 13261//16132 13356//16691 +f 13357//16007 13452//16009 13451//16487 +f 12592//8467 12682//8466 12591//7011 +f 12324//6725 12323//13402 12238//13308 +f 21867//247 15745//16836 13330//248 +f 12969//17188 12968//17189 12875//17190 +f 12731//17191 12374//5860 12282//5859 +f 11716//17023 11971//8181 1382//6145 +f 13304//8669 21137//8897 8796//8670 +f 13183//16116 11618//16500 13182//16371 +f 33324//16364 33323//16363 33218//16849 +f 26226//13937 24949//17192 26083//12507 +f 34706//15532 34705//15438 34577//17193 +f 29226//17083 29363//17194 29362//9351 +f 33601//17195 33728//12739 33727//3616 +f 11436//12863 11435//12862 33659//17093 +f 11495//9059 11561//14494 11560//17094 +f 11494//17092 11495//9059 11560//17094 +f 13822//6140 13821//4350 13723//5393 +f 11560//17094 11561//14494 11634//12232 +f 12887//17196 12886//16414 12794//16516 +f 5586//6824 5584//3185 5451//5960 +f 12533//17197 12443//17198 27789//17199 +f 14651//17200 14561//14244 14652//14243 +f 14271//17201 11889//17068 12385//3350 +f 25803//17162 24114//17202 25715//17163 +f 35537//6559 35430//4494 35493//8505 +f 12458//17203 12369//17069 11889//17068 +f 14271//17201 12458//17203 11889//17068 +f 13288//17204 13193//17070 12369//17069 +f 12458//17203 13288//17204 12369//17069 +f 5427//17205 10348//17078 13193//17070 +f 13288//17204 5427//17205 13193//17070 +f 5427//17205 12381//17206 13285//17082 +f 10348//17078 5427//17205 13285//17082 +f 9920//17207 13970//17091 13285//17082 +f 12381//17206 9920//17207 13285//17082 +f 8222//12403 2017//1796 9177//8986 +f 9920//17207 7892//8988 13970//17091 +f 11661//4502 11741//4501 11660//9782 +f 12410//6388 12499//6387 12409//10647 +f 13049//8851 13050//13780 13143//8852 +f 12443//17198 12532//17011 12442//16137 +f 12623//17208 12532//17011 12533//17197 +f 24841//8284 25382//17008 24103//16546 +f 23750//16023 24020//16025 23967//17209 +f 21729//17177 24403//17099 21823//17101 +f 24075//17210 24014//17211 26230//17212 +f 14881//431 15001//4735 15000//6320 +f 18741//16418 21034//16360 18742//16362 +f 12352//17213 12353//13739 12438//17214 +f 12528//10648 12527//17215 12438//17214 +f 23025//2735 22538//16178 10940//16177 +f 23030//2561 23128//16 21490//2734 +f 13466//9423 12871//9424 12896//9035 +f 12963//9036 12871//9424 4419//17216 +f 12203//1181 11447//14827 12120//14829 +f 13301//5570 10384//5993 12293//11287 +f 35946//6700 28856//10907 28590//10909 +f 11636//15847 13601//16711 14188//14828 +f 13446//17217 13447//16751 13542//17218 +f 13641//16523 13739//16522 13738//17219 +f 13543//16657 13641//16523 13640//17220 +f 13542//17218 13543//16657 13640//17220 +f 12972//17120 13066//17221 12971//16816 +f 13066//17221 13065//16726 12971//16816 +f 13160//17222 13159//16723 13065//16726 +f 13066//17221 13160//17222 13065//16726 +f 11927//16900 11926//17223 11840//16163 +f 11841//16818 11927//16900 11840//16163 +f 15602//17224 24565//17225 16923//17226 +f 25039//17227 26496//17228 23495//17229 +f 12601//1934 12780//16823 21005//16970 +f 23468//8900 6518//17131 23270//16896 +f 14869//17230 8905//11715 10098//11723 +f 23366//8901 23468//8900 23270//16896 +f 21091//2420 21005//16970 6518//17131 +f 11524//3346 11523//10643 11460//9042 +f 1409//16735 16165//16965 14150//16207 +f 13570//16494 12255//8668 1018//16495 +f 30995//16995 30994//17231 30936//16996 +f 31051//6611 31113//17232 31112//17233 +f 12588//2917 12678//2919 12587//2921 +f 20461//1679 20460//17234 20376//16466 +f 35135//17235 35132//17236 2141//17237 +f 10007//17238 10243//17046 371//17239 +f 13349//17240 13444//17241 13348//17242 +f 13444//17241 13540//17243 13443//17244 +f 13540//17243 13539//16867 13443//17244 +f 12059//6281 13116//6421 13115//6282 +f 13932//17056 13931//17245 13833//16182 +f 13540//17243 13638//17246 13637//17247 +f 13638//17246 13736//17248 13637//17247 +f 13834//17146 13932//17056 13833//16182 +f 13736//17248 13834//17146 13833//16182 +f 13735//17249 13736//17248 13833//16182 +f 14030//16982 14029//17250 13931//17245 +f 13932//17056 14030//16982 13931//17245 +f 14128//16919 14127//17251 14029//17250 +f 14030//16982 14128//16919 14029//17250 +f 14224//16843 14223//17143 14127//17251 +f 14128//16919 14224//16843 14127//17251 +f 14224//16843 5700//16842 14223//17143 +f 11261//16917 12127//17252 9402//17142 +f 13560//17253 20405//15595 12988//15594 +f 88//16572 4524//17045 10007//17238 +f 13835//17254 13933//17144 13834//17146 +f 13431//17145 13560//17253 12988//15594 +f 12880//16631 12879//17121 12787//16340 +f 13737//17255 13835//17254 13834//17146 +f 13519//528 13096//527 11896//15125 +f 12788//16339 12880//16631 12787//16340 +f 23415//17256 6262//15596 20405//15595 +f 32198//16119 32299//16124 32197//16126 +f 1862//4022 8519//8694 1744//3179 +f 13735//17249 13833//16182 13734//16184 +f 13560//17253 23415//17256 20405//15595 +f 26336//16136 30889//16041 30888//16142 +f 20400//3 20396//15678 23370//16321 +f 30601//3166 27495//12261 27379//3167 +f 23469//16217 13684//16493 13586//16518 +f 33490//2387 33609//2400 33489//1119 +f 12251//2960 27877//3105 27993//3102 +f 13684//16493 13587//16656 12390//16519 +f 17562//8679 20497//17257 20498//17258 +f 12622//17259 12621//16027 12531//16020 +f 13295//7244 13883//7246 5419//2915 +f 23722//11220 25179//13850 25180//15738 +f 13051//7255 26228//7254 13050//13780 +f 11525//3344 11593//5970 11592//3345 +f 14910//15341 15030//12411 13758//14353 +f 35717//5273 35507//9830 35411//3880 +f 35068//17260 35067//16947 34938//16797 +f 34436//17261 34573//17262 34435//17263 +f 34939//17264 35068//17260 34938//16797 +f 24269//17265 24195//17266 21721//17267 +f 13178//14929 21890//12457 21909//17268 +f 12706//16098 12795//17151 12705//16099 +f 21890//12457 23807//17269 21909//17268 +f 18742//16362 21035//16361 18645//16651 +f 11561//14494 7170//14359 11634//12232 +f 13544//16658 13545//8084 13642//16524 +f 11541//16420 11540//16235 11476//16234 +f 2905//196 112//195 23371//17270 +f 13643//8086 13741//13069 13740//16521 +f 12532//17011 12622//17259 12531//16020 +f 9193//16010 7148//17174 11569//16270 +f 21133//420 21128//16481 20325//15759 +f 12712//16442 12711//16022 12621//16027 +f 3669//1522 8683//1251 4062//16253 +f 13946//17271 23368//17272 15598//7670 +f 11618//16500 13569//16501 13570//16494 +f 20499//15622 15736//15621 12089//17183 +f 15736//15621 1145//16370 12089//17183 +f 11618//16500 11695//17090 13182//16371 +f 23530//17273 22880//17274 24461//17275 +f 12917//17276 35627//10328 35870//16988 +f 13452//16009 13548//16013 13547//16488 +f 13356//16691 13357//16007 13451//16487 +f 13448//16752 13449//4112 13544//16658 +f 20707//17277 20789//14809 20706//2028 +f 12978//16284 13072//16289 12977//16345 +f 13166//16149 13165//16380 13071//16349 +f 11643//17184 12731//17191 12282//5859 +f 12731//17191 13203//17278 1382//6145 +f 13203//17278 11716//17023 1382//6145 +f 12374//5860 12731//17191 1382//6145 +f 23415//17256 12576//17279 13950//15599 +f 30420//1141 21574//17280 27375//1139 +f 17295//12265 30755//9610 7095//9609 +f 34578//17281 34706//15532 34577//17193 +f 29225//9162 29226//17083 29362//9351 +f 29363//17194 29500//17282 29499//9529 +f 29362//9351 29363//17194 29499//9529 +f 12889//9251 12890//7131 12982//17283 +f 11494//17092 33541//9060 11495//9059 +f 11852//17284 11851//17285 11767//17286 +f 12487//15356 12577//14332 8648//14331 +f 24449//17287 25255//17288 21159//17289 +f 11614//17155 11613//17290 11546//17114 +f 30989//6612 30988//3917 30930//3916 +f 35795//12608 35872//7575 35595//12817 +f 35786//11060 35737//200 35690//8742 +f 34091//17291 21458//17292 34092//17293 +f 12198//17294 12458//17203 14271//17201 +f 14270//11273 12198//17294 14271//17201 +f 13099//17295 13288//17204 12458//17203 +f 12198//17294 13099//17295 12458//17203 +f 12663//4093 30//4092 12466//5708 +f 31240//17296 31305//16794 31239//16181 +f 16533//17297 10210//8502 16687//17298 +f 32299//16124 32402//7548 32298//16125 +f 12618//5551 12617//17299 12527//17215 +f 12439//14749 12528//10648 12438//17214 +f 13361//5858 13456//4117 13360//17300 +f 13552//4116 13551//17301 13455//17302 +f 14249//15616 21592//15620 20012//15617 +f 12871//9424 16607//17303 4419//17216 +f 23226//16632 22931//2562 15745//16836 +f 13179//16824 12715//24 15328//16101 +f 6262//15596 23415//17256 13950//15599 +f 11447//14827 11636//15847 14188//14828 +f 1019//8474 11865//15987 16970//810 +f 4505//15779 5697//15459 17090//2811 +f 13161//16400 13256//16914 13160//17222 +f 13447//16751 13446//17217 13351//17304 +f 13352//16915 13351//17304 13255//17305 +f 13256//16914 13352//16915 13255//17305 +f 13255//17305 13254//16727 13159//16723 +f 13446//17217 13542//17218 13541//17306 +f 13160//17222 13255//17305 13159//16723 +f 13351//17304 13350//17307 13254//16727 +f 12091//17308 12092//17309 27548//17310 +f 12011//16962 12092//17309 12010//17311 +f 31894//17312 31893//17313 31787//17314 +f 33265//1247 33264//2566 33159//17315 +f 3190//17049 11071//17050 3847//17316 +f 5416//16785 3190//17049 3847//17316 +f 13539//16867 13540//17243 13637//17247 +f 13736//17248 13735//17249 13637//17247 +f 13331//16547 5999//12458 5467//16073 +f 5467//16073 5999//12458 2652//11075 +f 3931//15800 4064//17317 16609//17318 +f 20311//2252 21124//2251 20310//16966 +f 13092//2393 333//9191 563//2394 +f 14091//17319 13331//16547 5467//16073 +f 371//17239 563//2394 4397//9192 +f 21109//8788 21108//4236 21022//7146 +f 12695//17320 12694//17321 12604//17322 +f 12784//17323 12783//17324 12694//17321 +f 26253//3786 26458//17325 25365//17326 +f 12186//10994 27437//10993 27555//17327 +f 11600//17328 11599//16171 11532//16174 +f 12487//15356 8541//14511 12398//16107 +f 13253//16728 13349//17240 13252//17329 +f 11533//17330 11600//17328 11532//16174 +f 13158//16724 13253//16728 13157//17331 +f 13444//17241 13443//17244 13348//17242 +f 13064//16725 13158//16724 13063//17332 +f 13349//17240 13348//17242 13252//17329 +f 12970//16819 13064//16725 12969//17188 +f 13253//16728 13252//17329 13157//17331 +f 12877//16817 12970//16819 12876//17333 +f 13158//16724 13157//17331 13063//17332 +f 27431//17334 12010//17311 12092//17309 +f 13064//16725 13063//17332 12969//17188 +f 10243//17046 563//2394 371//17239 +f 25511//17335 25515//17336 24562//17337 +f 22935//6597 23246//6937 23245//17338 +f 35368//3008 35653//7351 35729//980 +f 13736//17248 13737//17255 13834//17146 +f 23328//17339 22935//6597 23245//17338 +f 12973//16506 12972//17120 12879//17121 +f 13540//17243 13541//17306 13638//17246 +f 11954//16077 13590//16397 14167//10996 +f 12880//16631 12973//16506 12879//17121 +f 35773//9471 35654//14193 35530//5734 +f 13499//10995 11954//16077 14167//10996 +f 12576//17279 16295//17340 15066//15602 +f 13163//8586 13162//16399 13068//16505 +f 13950//15599 12576//17279 15066//15602 +f 35857//5042 35480//3448 12286//15685 +f 32402//7548 32401//16820 32298//16125 +f 31511//17341 31598//7124 31510//7126 +f 18062//17342 20533//15508 20449//16220 +f 20544//17343 20626//17344 20625//7039 +f 18073//16278 20457//16526 20458//16960 +f 12528//10648 12618//5551 12527//17215 +f 12829//16855 14278//14979 10012//14363 +f 10036//14873 10740//9252 12920//15145 +f 10482//17345 5427//17205 13288//17204 +f 13099//17295 10482//17345 13288//17204 +f 12470//17346 12381//17206 5427//17205 +f 10482//17345 12470//17346 5427//17205 +f 12814//17347 9920//17207 12381//17206 +f 12470//17346 12814//17347 12381//17206 +f 11698//8989 7892//8988 9920//17207 +f 12814//17347 11698//8989 9920//17207 +f 12589//10118 12588//2917 12498//2916 +f 26058//17348 24536//17349 24344//17350 +f 11870//16154 12829//16855 11871//16784 +f 11545//17351 11544//17352 11480//15832 +f 11481//15877 11545//17351 11480//15832 +f 11477//16421 11541//16420 11476//16234 +f 35896//2841 6863//5183 26480//2656 +f 13642//16524 13643//8086 13740//16521 +f 18074//16279 20458//16960 20543//17353 +f 23371//17270 23469//16217 13586//16518 +f 13839//13068 13838//16402 13740//16521 +f 22538//16178 22638//6840 22244//17012 +f 7148//17174 9193//16010 11249//15890 +f 12622//17259 12532//17011 12623//17208 +f 22837//6737 14832//6736 22244//17012 +f 24114//17202 24108//17354 25715//17163 +f 26471//17355 24718//17356 25341//17357 +f 21490//2734 22638//6840 22538//16178 +f 24998//17358 25357//17109 25501//17359 +f 31328//17360 31395//17361 31394//17362 +f 11643//17184 12282//5859 13505//9125 +f 13166//16149 13261//16132 13165//16380 +f 13451//16487 13452//16009 13547//16488 +f 9202//16597 9345//16151 9804//16598 +f 9345//16151 9338//16153 9804//16598 +f 13072//16289 13166//16149 13071//16349 +f 13261//16132 13260//16693 13165//16380 +f 26333//15980 30891//17006 26334//16040 +f 26339//17165 30885//17059 26340//16452 +f 11687//17363 11686//17364 11611//17365 +f 11687//17363 11768//17366 11686//17364 +f 12299//11274 12385//3350 35581//2318 +f 23720//5442 24921//17367 24920//17368 +f 21114//261 21027//1941 18736//262 +f 12055//2914 12056//3635 13404//2710 +f 29638//17369 29637//9991 29499//9529 +f 456//14942 457//11249 21468//15228 +f 29500//17282 29638//17369 29499//9529 +f 12889//9251 12982//17283 12888//17370 +f 13240//3741 13892//886 6768//888 +f 4122//16675 27753//13732 35468//1179 +f 11768//17366 11852//17284 11767//17286 +f 12828//3637 13295//7244 13200//2515 +f 35911//4729 35785//3349 12385//3350 +f 4927//3319 5555//8862 13773//3153 +f 13772//4205 10773//3492 8086//3154 +f 20265//9328 17094//17161 20350//9227 +f 29771//17371 29770//10503 29637//9991 +f 34682//17372 34810//17373 34681//16796 +f 28578//3062 21364//17374 28579//17375 +f 31324//16092 31325//16091 31391//6524 +f 34939//17264 34938//16797 34809//16543 +f 34963//16096 35092//17376 34962//16097 +f 35221//10520 35220//10519 35091//17377 +f 35586//331 35679//9012 35631//7552 +f 35064//5486 35065//9341 35193//10714 +f 11700//17378 12198//17294 14270//11273 +f 11960//934 11700//17378 14270//11273 +f 12910//17379 13099//17295 12198//17294 +f 11700//17378 12910//17379 12198//17294 +f 13573//17380 10482//17345 13099//17295 +f 12910//17379 13573//17380 13099//17295 +f 13573//17380 12560//17381 12470//17346 +f 10482//17345 13573//17380 12470//17346 +f 11894//16871 13876//16932 8685//16923 +f 12915//17061 13615//16776 11446//16777 +f 14184//16933 11446//16777 8685//16923 +f 12745//16931 14184//16933 8685//16923 +f 13650//12748 13649//17382 13551//17301 +f 13456//4117 13552//4116 13455//17302 +f 13552//4116 13650//12748 13551//17301 +f 13748//12747 13747//17383 13649//17382 +f 13845//17384 13844//15722 13746//15571 +f 13845//17384 13943//17385 13844//15722 +f 13747//17383 13845//17384 13746//15571 +f 13943//17385 13942//15884 13844//15722 +f 16295//17340 22240//17386 22337//15603 +f 11637//15985 1019//8474 5563//8473 +f 11636//15847 11638//14491 13601//16711 +f 11425//16239 11475//16236 11474//14376 +f 13069//11059 13068//16505 12974//16630 +f 13256//16914 13255//17305 13160//17222 +f 12975//8171 13069//11059 12974//16630 +f 13067//16401 13161//16400 13066//17221 +f 13446//17217 13445//17387 13350//17307 +f 13255//17305 13351//17304 13254//16727 +f 12011//16962 12010//17311 11926//17223 +f 11927//16900 12011//16962 11926//17223 +f 103//2369 15216//17388 13013//17389 +f 12732//5263 35700//5265 12643//17390 +f 11786//1865 13316//17391 9121//13757 +f 25370//17392 20750//17393 20667//17394 +f 35767//7952 35843//6695 35945//6694 +f 30872//13186 30926//13185 30871//16700 +f 12467//13887 20265//9328 9677//9329 +f 11675//17395 11756//17396 11674//4201 +f 11675//17395 11674//4201 11599//16171 +f 23601//17397 23942//17398 25279//17399 +f 11600//17328 11675//17395 11599//16171 +f 11756//17396 11755//4202 11674//4201 +f 12695//17320 12784//17323 12694//17321 +f 12427//17040 27892//17039 12341//15909 +f 12784//17323 12876//17333 12783//17324 +f 12969//17188 13063//17332 12968//17189 +f 2609//15240 1253//9185 4111//9187 +f 13184//17400 15049//1600 20157//15590 +f 20840//17401 25716//17402 20758//17403 +f 20625//7039 20626//17344 20706//2028 +f 35695//17404 34730//2452 34981//17405 +f 11571//16712 13487//16714 13149//14311 +f 11962//16713 12567//11738 13897//14335 +f 22538//16178 22244//17012 21136//16063 +f 13487//16714 11962//16713 13897//14335 +f 34730//2452 35695//17404 35435//6547 +f 15211//5280 15084//13888 15738//5281 +f 15066//15602 16295//17340 22337//15603 +f 204//16750 15593//15604 22337//15603 +f 20965//16288 23425//9261 20699//12666 +f 23133//15022 23231//15024 22146//9262 +f 22240//17386 204//16750 22337//15603 +f 25652//17406 25591//17407 24849//17408 +f 30885//17059 26339//17165 30886//17004 +f 4524//17045 10243//17046 10007//17238 +f 23493//17409 25230//17410 25228//17411 +f 204//16750 20454//17412 20455//15605 +f 29816//17413 30472//17414 29563//17415 +f 13639//17416 13737//17255 13736//17248 +f 15593//15604 204//16750 20455//15605 +f 18281//2317 2673//2316 2541//2823 +f 13638//17246 13639//17416 13736//17248 +f 12304//16075 12305//16503 13590//16397 +f 14188//14828 11571//16712 11872//15144 +f 11954//16077 12304//16075 13590//16397 +f 11891//15943 1971//16840 12305//16503 +f 12304//16075 11891//15943 12305//16503 +f 11891//15943 13096//527 1971//16840 +f 13209//17417 1027//17418 12222//14022 +f 13096//527 12723//16916 1971//16840 +f 20543//17353 20544//17343 20625//7039 +f 32507//7547 32506//17419 32401//16820 +f 12708//9250 12707//17420 12617//17299 +f 11206//253 11563//2103 13683//15805 +f 7556//10910 14287//14364 7787//13765 +f 12618//5551 12708//9250 12617//17299 +f 12560//17381 12906//17421 12814//17347 +f 13876//16932 12745//16931 8685//16923 +f 12470//17346 12560//17381 12814//17347 +f 12031//17422 11698//8989 12814//17347 +f 12906//17421 12031//17422 12814//17347 +f 13598//17423 11703//1644 14661//268 +f 12031//17422 13598//17423 11698//8989 +f 13404//2710 12828//3637 13200//2515 +f 14278//14979 14287//14364 10012//14363 +f 13010//16774 4529//16942 11894//16871 +f 11612//17424 11611//17365 11544//17352 +f 11545//17351 11612//17424 11544//17352 +f 27528//17425 24848//17426 19347//17427 +f 23130//2828 23228//242 12869//2435 +f 18449//17428 18354//16918 18450//7044 +f 20026//17429 18144//17430 18145//17431 +f 13741//13069 13839//13068 13740//16521 +f 10605//16699 11001//15938 3988//17432 +f 10092//16059 7148//17174 11249//15890 +f 13937//14550 13936//16268 13838//16402 +f 10092//16059 11249//15890 14231//15897 +f 7148//17174 13887//17173 11569//16270 +f 13646//16012 13744//16016 13645//15901 +f 14232//15906 10092//16059 14231//15897 +f 13548//16013 13646//16012 13645//15901 +f 13842//16595 13841//16806 13743//15899 +f 13547//16488 13548//16013 13645//15901 +f 13744//16016 13743//15899 13645//15901 +f 9345//16151 9202//16597 11646//15893 +f 13261//16132 13357//16007 13356//16691 +f 9804//16598 9338//16153 13428//16803 +f 9338//16153 12457//16887 13428//16803 +f 13761//288 13662//17433 20011//8923 +f 9922//3022 14280//15746 1017//1782 +f 20454//17412 22051//17434 22050//15618 +f 23118//14750 23216//14753 23117//14755 +f 11612//17424 11687//17363 11611//17365 +f 11768//17366 11767//17286 11686//17364 +f 11870//16154 11871//16784 9452//919 +f 3986//1037 11870//16154 9452//919 +f 29638//17369 29771//17371 29637//9991 +f 12829//16855 10012//14363 11871//16784 +f 11741//4501 11825//14296 11740//7912 +f 30098//13986 30153//11966 19801//13620 +f 13324//15713 3183//7847 14872//2279 +f 10255//14874 11153//14763 9994//8261 +f 12047//2712 12129//4095 11131//4091 +f 288//3895 12033//13182 4787//7238 +f 13773//3153 13772//4205 8086//3154 +f 4529//16942 13876//16932 11894//16871 +f 12056//3635 12828//3637 13404//2710 +f 10934//2522 4396//2524 4246//3927 +f 12367//15711 4529//16942 14077//16773 +f 11355//13261 10011//13260 11708//13264 +f 20455//15605 20454//17412 22050//15618 +f 1510//6149 8083//14816 1393//2896 +f 22051//17434 22949//17435 20599//15644 +f 20626//17344 20707//17277 20706//2028 +f 4793//3966 1383//13374 14183//15547 +f 31325//16091 31392//6525 31391//6524 +f 11770//16102 11769//16104 11688//17436 +f 26628//17437 11613//17290 11614//17155 +f 12266//16769 12351//15930 12265//15932 +f 12101//15681 12183//16768 12100//15682 +f 12020//15679 12101//15681 12019//15680 +f 12183//16768 12182//16635 12100//15682 +f 26333//15980 30892//17438 30891//17006 +f 12154//3750 12153//3752 12071//13032 +f 31372//17439 31371//17440 31304//16795 +f 33281//17441 33390//14220 33280//17442 +f 34810//17373 34939//17264 34809//16543 +f 31305//16794 31372//17439 31304//16795 +f 34716//15728 34715//15726 34587//15823 +f 33760//17443 33894//15279 33759//15281 +f 12299//11274 35581//2318 12214//2320 +f 32448//17444 32447//2278 32343//17445 +f 34681//16796 34680//16545 34552//5900 +f 5564//16690 12215//3449 35379//9324 +f 21833//16195 34754//14217 21834//16196 +f 35696//3773 35944//16775 35850//14058 +f 13846//13098 13845//17384 13747//17383 +f 13650//12748 13748//12747 13649//17382 +f 23418//1411 23027//1304 21051//1476 +f 20058//2280 23418//1411 21051//1476 +f 13551//17301 13550//17026 13454//17446 +f 13551//17301 13649//17382 13550//17026 +f 13455//17302 13551//17301 13454//17446 +f 13649//17382 13648//17027 13550//17026 +f 11539//16242 11538//4548 11474//14376 +f 32975//4562 32976//17447 33081//17448 +f 11475//16236 11539//16242 11474//14376 +f 11606//16241 11605//4549 11538//4548 +f 26404//6825 29633//14343 27024//6826 +f 12882//17449 12975//8171 12881//16741 +f 11532//16174 11531//14627 11467//17072 +f 13351//17304 13446//17217 13350//17307 +f 25884//17450 26026//17451 26025//17452 +f 35864//3701 35651//3700 35823//2621 +f 20939//11112 21022//7146 20938//7827 +f 1253//9185 2652//11075 6386//9186 +f 14223//17143 9402//17142 14222//14446 +f 2609//15240 339//13741 9013//16072 +f 13063//17332 13157//17331 13062//17453 +f 13252//17329 13348//17242 13251//17454 +f 3847//17316 13316//17391 11786//1865 +f 5724//3711 3847//17316 11786//1865 +f 20206//1459 20292//1458 20291//14186 +f 8568//16256 12379//16172 15079//16173 +f 22050//15618 22051//17434 20599//15644 +f 24506//17455 2007//17456 24418//17457 +f 11419//5475 11469//17458 11418//5476 +f 11469//17458 11533//17330 11468//17071 +f 11468//17071 11467//17072 11417//17459 +f 11533//17330 11532//16174 11468//17071 +f 35910//6873 35489//2447 35837//1955 +f 20599//15644 22949//17435 16776//15416 +f 13767//1997 14433//1996 13669//4693 +f 31594//17460 31689//14043 31593//14045 +f 13348//17242 13443//17244 13347//17461 +f 35602//3454 35711//7919 35447//1340 +f 20461//1679 20546//4587 20460//17234 +f 11872//15144 11571//16712 11873//8199 +f 6009//14021 12480//16605 12395//14019 +f 11571//16712 13149//14311 11873//8199 +f 12643//17390 11702//17462 14075//17463 +f 35350//9808 35701//3243 35889//3245 +f 12299//11274 14270//11273 14271//17201 +f 12732//5263 12643//17390 14075//17463 +f 29900//17464 29899//10555 29770//10503 +f 31508//14631 31595//14630 31507//17465 +f 11469//17458 11468//17071 11418//5476 +f 126//12509 20812//7854 2635//15345 +f 23538//17466 22295//17467 24583//17468 +f 26332//16759 30897//17469 30896//16760 +f 10245//17470 4524//17045 88//16572 +f 23665//17471 23836//17472 22592//17473 +f 15638//4747 22957//4746 13856//754 +f 3847//17316 11071//17050 13316//17391 +f 13254//16727 13350//17307 13253//16728 +f 20046//17474 20127//17475 20126//15673 +f 12120//14829 14188//14828 11872//15144 +f 13445//17387 13444//17241 13349//17240 +f 12973//16506 13067//16401 12972//17120 +f 13601//16711 13487//16714 11571//16712 +f 13067//16401 13066//17221 12972//17120 +f 13161//16400 13160//17222 13066//17221 +f 1487//15894 10605//16699 3988//17432 +f 11802//16599 11792//15939 11001//15938 +f 14280//15746 12219//16076 1017//1782 +f 20045//15672 20046//17474 20126//15673 +f 3926//1580 3927//15798 15343//16897 +f 23398//499 23397//2092 23300//2790 +f 12797//7132 12796//17476 12707//17420 +f 13748//12747 13846//13098 13747//17383 +f 30897//17469 26332//16759 30898//17477 +f 28581//17478 33580//17479 33700//17480 +f 11701//17481 11700//17378 11960//934 +f 12040//933 11701//17481 11960//934 +f 11701//17481 12817//17482 12910//17379 +f 11700//17378 11701//17481 12910//17379 +f 12817//17482 12839//17483 13573//17380 +f 12910//17379 12817//17482 13573//17380 +f 20212//17484 20211//15689 20126//15673 +f 12650//17485 12560//17381 13573//17380 +f 12708//9250 12797//7132 12707//17420 +f 20127//17475 20212//17484 20126//15673 +f 12201//7941 11709//7940 4102//1603 +f 13945//17486 13847//13097 29831//17487 +f 13662//17433 21685//16388 20011//8923 +f 15344//15841 3926//1580 15343//16897 +f 14131//15889 14227//15895 14130//17488 +f 14040//6768 14138//6769 14039//15794 +f 14133//16905 14132//15887 14034//16006 +f 1487//15894 3988//17432 14226//17489 +f 13839//13068 13937//14550 13838//16402 +f 14035//16906 14133//16905 14034//16006 +f 14035//16906 14034//16006 13936//16268 +f 13937//14550 14035//16906 13936//16268 +f 14229//16448 14228//15888 14132//15887 +f 14133//16905 14229//16448 14132//15887 +f 8305//16152 11646//15893 14228//15888 +f 14229//16448 8305//16152 14228//15888 +f 12569//8275 13310//2192 12926//8276 +f 8305//16152 9345//16151 11646//15893 +f 9900//16961 127//16121 7992//15537 +f 1262//8766 9900//16961 7992//15537 +f 11893//15744 11892//16074 12219//16076 +f 11357//16123 9279//17490 8681//15538 +f 23314//15793 23313//17491 23215//14754 +f 14280//15746 11893//15744 12219//16076 +f 12982//17283 12981//17492 12888//17370 +f 15343//16897 15216//17388 103//2369 +f 12889//9251 12888//17370 12796//17476 +f 12797//7132 12889//9251 12796//17476 +f 22147//9263 22146//9262 15194//16744 +f 20709//2048 20791//1433 20790//14938 +f 35401//3123 35939//1140 35788//3725 +f 31997//16703 31996//9220 31895//17493 +f 6768//888 9661//887 7682//3926 +f 12839//17483 12650//17485 13573//17380 +f 12813//17494 12906//17421 12560//17381 +f 12650//17485 12813//17494 12560//17381 +f 12030//17495 12031//17422 12906//17421 +f 12813//17494 12030//17495 12906//17421 +f 9336//3152 15565//1519 4396//2524 +f 16157//1410 6519//15366 22068//15440 +f 21482//13814 8156//4589 20070//10189 +f 11938//17496 11937//16881 11851//17285 +f 11852//17284 11938//17496 11851//17285 +f 25941//4251 23748//8268 25798//17497 +f 26262//17498 22393//17499 28247//17500 +f 12185//7241 12184//17501 12102//3170 +f 23748//8268 24103//16546 25798//17497 +f 12268//7240 12267//17502 12184//17501 +f 27317//3168 12102//3170 12101//15681 +f 12353//13739 12352//17213 12267//17502 +f 12185//7241 12268//7240 12184//17501 +f 12353//13739 12439//14749 12438//17214 +f 12268//7240 12353//13739 12267//17502 +f 4658//7823 9860//2534 4926//12306 +f 12738//287 12831//17503 13761//288 +f 14184//16933 12915//17061 11446//16777 +f 13323//16856 13385//2239 13615//16776 +f 4529//16942 13010//16774 14077//16773 +f 12915//17061 13323//16856 13615//16776 +f 12030//17495 11703//1644 12031//17422 +f 20389//15629 20473//2587 20388//5996 +f 12508//7134 12507//2954 12418//3146 +f 13719//5842 13817//14366 13816//3925 +f 13975//1509 12933//763 13877//762 +f 13327//16299 12056//3635 12055//2914 +f 2761//15395 21179//15787 15731//660 +f 21133//420 22069//4449 21128//16481 +f 20639//264 20638//1651 20556//265 +f 15734//7475 13946//17271 15598//7670 +f 23228//242 12868//249 12869//2435 +f 21028//498 21029//1935 23397//2092 +f 23322//2563 22931//2562 3183//7847 +f 3183//7847 23226//16632 20948//2996 +f 13168//15880 13169//17504 13263//15882 +f 13455//17302 13454//17446 13359//17028 +f 13360//17300 13359//17028 13263//15882 +f 13264//17505 13360//17300 13263//15882 +f 11681//16249 11680//14211 11605//4549 +f 11539//16242 11606//16241 11538//4548 +f 13443//17244 13539//16867 13442//17506 +f 13735//17249 13734//16184 13636//16868 +f 5594//17507 88//16572 9760//13382 +f 88//16572 10007//17238 10124//13383 +f 29771//17371 29900//17464 29770//10503 +f 20298//17508 20297//15690 20211//15689 +f 24068//17509 24007//17510 24008//17511 +f 20212//17484 20298//17508 20211//15689 +f 11470//16716 11534//16718 11469//17458 +f 1976//15866 15601//103 15737//210 +f 20383//17512 20382//15691 20297//15690 +f 9402//17142 666//14447 14222//14446 +f 5416//16785 3847//17316 5724//3711 +f 13800//3710 5416//16785 5724//3711 +f 14127//17251 14126//17513 14028//17514 +f 13252//17329 13251//17454 13156//17515 +f 20291//14186 20292//1458 20376//16466 +f 14029//17250 14127//17251 14028//17514 +f 13487//16714 13897//14335 13149//14311 +f 20952//17516 20953//230 21035//16361 +f 20298//17508 20383//17512 20297//15690 +f 20467//17517 20466//15695 20382//15691 +f 20383//17512 20467//17517 20382//15691 +f 20552//17518 20551//15709 20466//15695 +f 12592//8467 12591//7011 12501//7010 +f 20546//4587 20545//14458 20460//17234 +f 21314//344 21403//8691 11957//6837 +f 30031//17519 30030//10696 29899//10555 +f 27387//17520 20678//17521 27269//17522 +f 13774//7640 14262//15929 12820//7739 +f 1156//2356 4000//2736 220//3928 +f 22717//14241 22816//4524 22716//4526 +f 13924//3753 13923//2357 13825//2371 +f 13826//3898 13924//3753 13825//2371 +f 20467//17517 20552//17518 20466//15695 +f 20497//17257 17562//8679 19883//13392 +f 14685//16648 17562//8679 20498//17258 +f 33467//16625 32567//17523 15611//17524 +f 16307//266 9863//223 16454//15422 +f 20634//17525 20633//15741 20551//15709 +f 20552//17518 20634//17525 20551//15709 +f 20715//17526 20714//15764 20633//15741 +f 12606//16904 12605//17527 12515//17528 +f 29497//8764 29496//17529 29359//5671 +f 28435//15086 28434//11007 28314//3253 +f 12516//17530 12606//16904 12515//17528 +f 33160//16623 33265//1247 33159//17315 +f 11071//17050 9993//16188 24582//17531 +f 13350//17307 13445//17387 13349//17240 +f 20634//17525 20715//17526 20633//15741 +f 13445//17387 13541//17306 13444//17241 +f 13541//17306 13540//17243 13444//17241 +f 12608//16334 12607//16902 12517//17041 +f 13541//17306 13639//17416 13638//17246 +f 10605//16699 11802//16599 11001//15938 +f 13836//17532 13835//17254 13737//17255 +f 14286//3660 35396//3659 35639//13369 +f 12611//17533 12701//17534 12610//16825 +f 12868//249 21049//31 20966//2436 +f 19329//16395 22450//16394 7108//17535 +f 13944//17536 13943//17385 13845//17384 +f 13360//17300 13455//17302 13359//17028 +f 24832//16782 30900//16847 30899//17537 +f 13846//13098 13944//17536 13845//17384 +f 33820//17538 9327//17539 33026//17540 +f 22056//15391 22053//1803 21125//2250 +f 27079//17541 27080//17542 27198//16164 +f 31531//15431 31618//15446 31617//15432 +f 19168//3339 18520//17543 19115//3340 +f 33503//14221 33502//17544 33389//14222 +f 31260//16090 31259//17545 31195//17546 +f 22032//3003 3224//14512 22033//8889 +f 20797//17547 20796//15774 20714//15764 +f 13146//780 16450//779 15024//15786 +f 20448//16378 20533//15508 20532//4591 +f 29961//17548 13944//17536 13945//17486 +f 11709//7940 8883//1604 4102//1603 +f 13274//17053 13371//15801 13490//15799 +f 13684//16493 12201//7941 13587//16656 +f 23436//16342 17083//1605 20583//16491 +f 14227//15895 1487//15894 14226//17489 +f 14033//16005 14131//15889 14032//17549 +f 23273//3428 33347//3427 33459//14570 +f 31793//17550 31792//17551 31692//17552 +f 33869//2390 33868//1653 33734//16470 +f 32198//16119 32197//16126 32097//16120 +f 10688//1869 7446//1871 6958//3134 +f 19807//4691 34074//13617 34731//17553 +f 13604//2188 11807//2187 12394//6001 +f 33874//15429 33873//15430 33739//890 +f 20715//17526 20797//17547 20714//15764 +f 449//2929 8672//1868 11137//2926 +f 12093//16331 12092//17309 12011//16962 +f 20879//17554 20878//15775 20796//15774 +f 23436//16342 20583//16491 20665//16343 +f 13063//17332 13062//17453 12968//17189 +f 13190//15653 13191//15844 11892//16074 +f 1740//5863 371//17239 1526//15177 +f 30902//17555 21448//17556 30849//17557 +f 24984//17558 20842//17559 22386//17560 +f 14847//2368 15343//16897 103//2369 +f 3725//1579 13274//17053 13490//15799 +f 16010//10190 23028//16984 22929//10191 +f 20797//17547 20879//17554 20796//15774 +f 13849//17561 15869//15361 16601//17562 +f 33008//15696 33114//15611 33007//15613 +f 65//14387 8678//11512 10741//10541 +f 32994//17563 33100//17564 32993//17565 +f 33051//14891 33052//17566 33156//17567 +f 27783//10108 35469//10656 35512//1610 +f 11782//17568 11701//17481 12040//933 +f 15024//15786 16451//16252 15149//16837 +f 12122//3182 11782//17568 12040//933 +f 14946//172 15196//9304 21979//1360 +f 22045//1804 14946//172 21979//1360 +f 23226//16632 15065//241 20948//2996 +f 13368//240 23324//1299 23027//1304 +f 13075//17569 13074//15879 12980//17570 +f 12981//17492 13075//17569 12980//17570 +f 23246//6937 21953//9283 23245//17338 +f 20879//17554 20959//17571 20958//15776 +f 21953//9283 21952//17572 23245//17338 +f 20878//15775 20879//17554 20958//15776 +f 22651//8774 3862//9111 13559//15934 +f 20959//17571 21042//17573 21041//15780 +f 35512//1610 35759//1570 35349//1547 +f 12981//17492 12982//17283 13075//17569 +f 13076//15566 13170//5853 13075//17569 +f 13170//5853 13169//17504 13075//17569 +f 13456//4117 13455//17302 13360//17300 +f 13265//5852 13264//17505 13169//17504 +f 13170//5853 13265//5852 13169//17504 +f 13361//5858 13360//17300 13264//17505 +f 22453//477 22355//479 15194//16744 +f 13265//5852 13361//5858 13264//17505 +f 12909//17574 12817//17482 11701//17481 +f 16451//16252 16920//15999 15149//16837 +f 11782//17568 12909//17574 11701//17481 +f 12909//17574 12200//17575 12839//17483 +f 12817//17482 12909//17574 12839//17483 +f 12200//17575 13711//17576 12650//17485 +f 28087//5337 28204//17577 28203//5338 +f 15332//9000 15024//15786 15461//9001 +f 14949//8786 15070//7846 15461//9001 +f 15024//15786 15149//16837 15461//9001 +f 22931//2562 23025//2735 15745//16836 +f 4419//17216 16607//17303 12738//287 +f 16607//17303 12831//17503 12738//287 +f 22259//8192 21314//344 11957//6837 +f 12707//17420 12706//16098 12616//16082 +f 12707//17420 12796//17476 12706//16098 +f 12617//17299 12707//17420 12616//16082 +f 12796//17476 12795//17151 12706//16098 +f 11846//10857 11845//15927 11761//14175 +f 11681//16249 11762//16251 11680//14211 +f 12178//17578 12261//17579 12177//16912 +f 13931//17245 14029//17250 13930//17580 +f 12346//17581 12345//16827 12260//16909 +f 14029//17250 14028//17514 13930//17580 +f 14226//17489 14225//16844 14129//16981 +f 14032//17549 14130//17488 14031//17055 +f 11470//16716 11469//17458 11419//5475 +f 11420//4612 11470//16716 11419//5475 +f 11467//17072 11466//14623 11416//2395 +f 459//11957 160//13599 2125//13598 +f 11261//16917 11728//17048 12127//17252 +f 5700//16842 11261//16917 9402//17142 +f 13833//16182 13931//17245 13832//16183 +f 12785//16899 12877//16817 12784//17323 +f 13157//17331 13252//17329 13156//17515 +f 15885//2541 4818//10985 11207//5867 +f 13609//6530 11130//2725 35858//7054 +f 13348//17242 13347//17461 13251//17454 +f 12682//8466 12771//8588 12770//13201 +f 14262//15929 8684//15143 12820//7739 +f 20348//685 20432//373 20135//686 +f 12127//17252 9190//16682 9630//17582 +f 20958//15776 20959//17571 21041//15780 +f 20377//1680 20461//1679 20376//16466 +f 22432//9132 20179//9134 20180//17583 +f 20065//16677 20564//1990 20542//17584 +f 12755//14822 12756//14820 8969//6154 +f 9631//9289 1872//16860 5590//16861 +f 35601//12695 13868//8856 13609//6530 +f 17155//7121 2226//4557 5459//7003 +f 12499//6387 12498//2916 12409//10647 +f 11825//14296 11911//5719 11824//7913 +f 13531//14808 26005//17585 13435//11905 +f 11825//14296 11824//7913 11740//7912 +f 11695//17090 13570//16494 11619//15646 +f 12239//12404 12324//6725 12238//13308 +f 22935//6597 23328//17339 20701//1595 +f 29103//14073 29104//2650 29240//2858 +f 29900//17464 30031//17519 29899//10555 +f 20702//1594 22935//6597 20701//1595 +f 23038//15509 22163//7258 23036//16062 +f 32197//16126 32196//15271 32096//9221 +f 12696//16901 12695//17320 12605//17527 +f 14151//4579 13955//4578 20404//4584 +f 22120//2066 22121//2065 22216//10386 +f 12606//16904 12696//16901 12605//17527 +f 15195//17586 19537//17587 20779//5001 +f 12365//16683 13784//17135 5416//16785 +f 20719//1650 20801//16202 20718//16314 +f 26102//17588 23603//17589 23592//17590 +f 11676//16722 11675//17395 11600//17328 +f 11601//16720 11676//16722 11600//17328 +f 13640//17220 13738//17219 13737//17255 +f 13639//17416 13640//17220 13737//17255 +f 12790//17591 12789//16740 12700//16739 +f 12701//17534 12790//17591 12700//16739 +f 16761//16000 13757//16208 16604//16450 +f 12179//16112 12178//17578 12096//17592 +f 12184//17501 12267//17502 12183//16768 +f 12352//17213 12351//15930 12266//16769 +f 13944//17536 14042//17593 13943//17385 +f 16156//17594 23325//14102 18609//14101 +f 2769//17112 22450//16394 20452//17595 +f 13273//17596 21605//2062 21593//17597 +f 12839//17483 12200//17575 12650//17485 +f 13711//17576 13000//17598 12813//17494 +f 12650//17485 13711//17576 12813//17494 +f 12113//17599 12030//17495 12813//17494 +f 13000//17598 12113//17599 12813//17494 +f 11621//1645 11703//1644 12030//17495 +f 12113//17599 11621//1645 12030//17495 +f 8683//1251 1409//16735 4062//16253 +f 21605//2062 12559//1913 12919//1912 +f 13757//16208 11103//7938 17095//16870 +f 20374//16959 20375//17600 20458//16960 +f 12465//16216 1759//7939 12201//7941 +f 13169//17504 13168//15880 13074//15879 +f 9338//16153 10266//16271 12457//16887 +f 22508//15196 22607//16199 22606//16198 +f 14227//15895 14226//17489 14130//17488 +f 13935//16127 14033//16005 13934//17601 +f 3538//15995 12892//17602 5354//16629 +f 23128//16 21483//369 21490//2734 +f 20963//16305 20964//17603 21046//17604 +f 13319//17605 14151//4579 17008//4586 +f 22831//2039 12961//6710 22837//6737 +f 13938//14549 14036//16697 13937//14550 +f 14036//16697 14035//16906 13937//14550 +f 20302//17606 20301//1407 20215//1406 +f 12878//16815 12877//16817 12785//16899 +f 21952//17572 21953//9283 22551//15933 +f 11859//15180 12509//7133 24923//2939 +f 12365//16683 12373//6002 11807//2187 +f 7169//14388 11335//13443 8549//14794 +f 35543//3887 35603//1273 35587//13333 +f 10100//14900 289//17607 8658//14865 +f 3078//17608 13696//6692 11645//2728 +f 3927//15798 3931//15800 15216//17388 +f 11822//4996 11908//12405 11821//11686 +f 13274//17053 1759//7939 12465//16216 +f 13371//15801 13274//17053 12465//16216 +f 20628//7140 20709//2048 20627//14457 +f 13368//240 23228//242 23324//1299 +f 11599//16171 11674//4201 11598//7073 +f 13287//5952 8036//12583 9872//15157 +f 13718//3924 13717//1560 15953//1559 +f 12287//8499 11077//13951 14571//4445 +f 11529//1508 13327//16299 12055//2914 +f 13915//14367 13914//11898 13816//3925 +f 17606//17609 20219//17610 20218//17611 +f 12172//17612 13571//4694 11862//17613 +f 20812//7854 21401//16676 20051//7855 +f 15869//15361 16301//17614 16601//17562 +f 16601//17562 16301//17614 4123//17615 +f 12981//17492 12980//17570 12887//17196 +f 12888//17370 12981//17492 12887//17196 +f 22813//1745 22912//6735 22911//1894 +f 22714//1876 22813//1745 22812//1893 +f 26366//17616 26332//16759 26367//17617 +f 29360//8765 29497//8764 29359//5671 +f 182//14105 19779//15592 18182//15591 +f 19436//1535 20238//17618 22161//1533 +f 22929//10191 23028//16984 20785//16292 +f 16301//17614 1976//15866 4123//17615 +f 23414//14975 20070//10189 23126//16105 +f 20375//17600 20459//17619 20458//16960 +f 21483//369 22831//2039 22638//6840 +f 3538//15995 20373//15994 12892//17602 +f 14041//6760 14040//6768 13942//15884 +f 14041//6760 14042//17593 30092//6761 +f 23418//1411 13368//240 23027//1304 +f 169//2281 20058//2280 14485//2528 +f 21124//2251 22045//1804 21123//13486 +f 23228//242 23130//2828 23324//1299 +f 12983//14260 24406//15631 25650//14261 +f 22196//13658 26245//13659 11946//17620 +f 8258//1943 14505//1358 14455//1357 +f 12907//15313 14255//13270 15199//843 +f 11458//4033 11457//4032 31849//17621 +f 34546//17622 34545//15408 34408//17623 +f 24957//17624 24860//17625 24172//17107 +f 22876//11033 21538//17626 26226//13937 +f 24872//17627 15202//17628 19985//17629 +f 11860//17630 11946//17620 22103//17631 +f 20964//17603 21047//17632 21046//17604 +f 4953//17633 620//3426 14972//16422 +f 26332//16759 26366//17616 30898//17477 +f 11481//15877 30958//9003 30957//16705 +f 12617//17299 12616//16082 12526//16081 +f 12527//17215 12617//17299 12526//16081 +f 11932//16245 11931//17634 11845//15927 +f 11762//16251 11846//10857 11761//14175 +f 12702//16212 12701//17534 12611//17533 +f 12612//15936 12702//16212 12611//17533 +f 12178//17578 12177//16912 12095//16913 +f 12096//17592 12178//17578 12095//16913 +f 3988//17432 2224//16841 14225//16844 +f 14130//17488 14226//17489 14129//16981 +f 12982//17283 12983//14260 13076//15566 +f 11534//16718 11533//17330 11469//17458 +f 11417//17459 11467//17072 11416//2395 +f 13626//13771 13724//6137 13625//14516 +f 11728//17048 9190//16682 12127//17252 +f 9402//17142 12127//17252 666//14447 +f 12970//16819 12969//17188 12876//17333 +f 13539//16867 13538//16866 13442//17506 +f 13429//15589 4818//10985 15885//2541 +f 13443//17244 13442//17506 13347//17461 +f 11315//8996 11693//14164 11696//15983 +f 13780//17024 10144//17635 11085//2932 +f 11531//14627 11530//14626 11466//14623 +f 13520//7562 5988//11199 13497//11201 +f 11467//17072 11531//14627 11466//14623 +f 27868//2616 35636//12694 35485//17636 +f 14089//14192 35496//8030 27550//3262 +f 9535//12226 11617//14980 8867//12227 +f 12756//14820 12757//15947 8970//6155 +f 8755//2362 12667//17637 12755//14822 +f 11859//15180 24923//2939 25430//17638 +f 6384//17639 1981//13444 65//14387 +f 12949//13194 13043//1736 12948//13915 +f 25273//15155 12140//15154 12059//6281 +f 131//14298 11262//7563 10093//14297 +f 10208//10923 10207//14179 10089//13386 +f 21876//15753 21587//16322 21781//15754 +f 13999//14201 10206//14263 14000//17640 +f 17604//17641 20216//17642 20130//17643 +f 13603//6004 10827//6103 7920//14936 +f 12159//14429 12242//6834 12158//13736 +f 22938//15756 21876//15753 22839//15755 +f 29655//13959 29788//17644 29787//13960 +f 27159//15029 27160//14256 27278//14258 +f 19247//2260 27027//2262 30824//2532 +f 31595//14630 31594//17460 31507//17465 +f 23350//3506 23057//15433 2236//12761 +f 20157//15590 13429//15589 15885//2541 +f 12785//16899 12784//17323 12695//17320 +f 12696//16901 12785//16899 12695//17320 +f 13784//17135 12365//16683 9190//16682 +f 11728//17048 13784//17135 9190//16682 +f 13195//16618 12543//16607 12643//17390 +f 12480//16605 2916//16604 12395//14019 +f 11757//16814 11756//17396 11675//17395 +f 11676//16722 11757//16814 11675//17395 +f 13445//17387 13446//17217 13541//17306 +f 13542//17218 13640//17220 13639//17416 +f 12882//17449 12881//16741 12789//16740 +f 12790//17591 12882//17449 12789//16740 +f 12097//16113 12096//17592 12015//17645 +f 12016//16246 12097//16113 12015//17645 +f 12267//17502 12352//17213 12266//16769 +f 12352//17213 12438//17214 12437//16033 +f 12823//16454 14082//15791 13203//17278 +f 12731//17191 12823//16454 13203//17278 +f 25772//17646 13556//17647 25156//17648 +f 26074//17649 24725//17650 23815//17651 +f 30898//17477 24832//16782 30899//17537 +f 35942//17652 35876//199 35558//198 +f 2500//12409 902//15353 13395//15352 +f 35532//12648 13305//1924 35638//1923 +f 35092//17376 35091//17377 34962//16097 +f 13599//15367 11782//17568 12122//3182 +f 11876//13968 13599//15367 12122//3182 +f 12046//15338 12116//15275 12370//15274 +f 13003//17653 12909//17574 11782//17568 +f 8528//15362 13767//1997 13862//16147 +f 12144//2765 12046//15338 12370//15274 +f 13075//17569 13169//17504 13074//15879 +f 17085//2038 13788//15792 12961//6710 +f 35063//17654 35062//17655 34933//17656 +f 10124//13383 10007//17238 1740//5863 +f 14131//15889 14130//17488 14032//17549 +f 20872//14939 20873//1435 20952//17516 +f 12518//16333 12608//16334 12517//17041 +f 14127//17251 14223//17143 14126//17513 +f 12697//16903 12696//16901 12606//16904 +f 13637//17247 13735//17249 13636//16868 +f 13350//17307 13349//17240 13253//16728 +f 9554//3577 9117//12301 1175//12205 +f 13159//16723 13254//16727 13158//16724 +f 26333//15980 30893//16992 30892//17438 +f 12021//12035 27319//17657 27318//17658 +f 3458//10243 13186//15192 7453//10244 +f 11059//13263 8091//17659 13205//13178 +f 10838//15159 8036//12583 8420//15182 +f 11707//17660 11791//6707 13205//13178 +f 8091//17659 11707//17660 13205//13178 +f 24152//17661 24093//6693 13696//6692 +f 11707//17660 12142//6688 11791//6707 +f 3926//1580 3725//1579 3927//15798 +f 11890//2224 9234//7166 8483//15241 +f 3725//1579 13490//15799 3927//15798 +f 15343//16897 3927//15798 15216//17388 +f 12678//2919 12767//3707 12677//2920 +f 15449//17662 15321//17663 15322//17664 +f 13702//14752 8036//12583 12209//4395 +f 7278//14477 7277//6806 7170//14359 +f 13599//15367 13003//17653 11782//17568 +f 14284//17665 12200//17575 12909//17574 +f 13003//17653 14284//17665 12909//17574 +f 14284//17665 13689//17666 13711//17576 +f 12046//15338 12144//2765 11799//2764 +f 12835//15335 12046//15338 11799//2764 +f 20477//17667 20478//7247 20562//15956 +f 20393//17668 20394//16613 20477//17667 +f 12184//17501 12183//16768 12101//15681 +f 12102//3170 12184//17501 12101//15681 +f 12097//16113 12179//16112 12096//17592 +f 11606//16241 11681//16249 11605//4549 +f 11893//15744 13190//15653 11892//16074 +f 11952//15717 11896//15125 13191//15844 +f 14529//10396 7345//10395 14824//14092 +f 13190//15653 11952//15717 13191//15844 +f 11616//14746 13867//14745 13849//17561 +f 11952//15717 14187//15716 11896//15125 +f 14335//693 14972//16422 11509//694 +f 21416//7852 18669//17669 17717//17670 +f 10204//14706 10324//14203 10323//13863 +f 15366//14710 13867//14745 4940//14747 +f 13943//17385 14041//6760 13942//15884 +f 34429//6755 34566//6722 34428//6756 +f 13747//17383 13746//15571 13648//17027 +f 13649//17382 13747//17383 13648//17027 +f 23301//877 23398//499 23300//2790 +f 12888//17370 12887//17196 12795//17151 +f 25631//17671 12090//17672 24949//17192 +f 13276//8667 13373//16742 13393//17673 +f 12200//17575 14284//17665 13711//17576 +f 12835//15335 11799//2764 13620//5989 +f 13689//17666 13095//17674 13000//17598 +f 13711//17576 13689//17666 13000//17598 +f 12196//17675 12113//17599 13000//17598 +f 13095//17674 12196//17675 13000//17598 +f 6965//11953 12819//2402 35776//17676 +f 5426//8655 11629//15333 14163//11954 +f 34292//3611 34291//3613 34153//15831 +f 11629//15333 13620//5989 14163//11954 +f 33375//1121 33266//1246 33489//1119 +f 19521//7036 17465//12584 17386//5762 +f 11544//17352 11611//17365 11543//15749 +f 11767//17286 11766//15567 11685//15747 +f 11686//17364 11685//15747 11610//15750 +f 11611//17365 11686//17364 11610//15750 +f 31436//9449 31508//14631 31435//17677 +f 12791//16525 12790//17591 12701//17534 +f 13867//14745 15869//15361 13849//17561 +f 12261//17579 12260//16909 12177//16912 +f 10323//13863 10203//13862 10204//14706 +f 12295//2193 10122//2355 10241//7822 +f 5566//17678 14066//7040 11647//7469 +f 6956//10772 11487//10771 6957//12938 +f 30163//17679 30162//10744 30030//10696 +f 19237//17149 29538//17680 29688//17150 +f 9802//9078 13714//3108 8049//7915 +f 7274//14342 11631//15011 11632//15179 +f 666//14447 9630//17582 13516//15033 +f 10741//10541 4262//3864 6384//17639 +f 19122//6099 20724//3766 8117//1700 +f 11647//7469 14066//7040 10386//7042 +f 12755//14822 8861//14277 8755//2362 +f 13076//15566 12983//14260 13077//14262 +f 13206//17681 13977//2930 11085//2932 +f 10144//17635 13206//17681 11085//2932 +f 35891//2763 35614//4444 35893//2802 +f 13206//17681 137//11731 13977//2930 +f 4375//4867 4241//1271 10652//1270 +f 4241//1271 4375//4867 4374//4866 +f 9906//17682 6384//17639 4262//3864 +f 4395//3863 9906//17682 4262//3864 +f 1980//17683 1981//13444 6384//17639 +f 9906//17682 1980//17683 6384//17639 +f 12566//17684 9744//3940 1981//13444 +f 1980//17683 12566//17684 1981//13444 +f 12485//17685 12225//3938 9744//3940 +f 12566//17684 12485//17685 9744//3940 +f 1053//17686 289//17607 12225//3938 +f 12485//17685 1053//17686 12225//3938 +f 35562//608 35494//607 35625//7012 +f 1053//17686 3458//10243 289//17607 +f 8107//7445 12227//17687 8218//14272 +f 8326//14271 8217//14037 8218//14272 +f 289//17607 10100//14900 12225//3938 +f 5876//1124 3044//1123 1623//3742 +f 32298//16125 32401//16820 32297//16822 +f 8347//5282 9539//5284 67//12672 +f 17094//17161 16930//9228 20350//9227 +f 8083//14816 1510//6149 8195//14113 +f 12877//16817 12876//17333 12784//17323 +f 11861//9108 21579//9110 6259//17688 +f 13784//17135 3190//17049 5416//16785 +f 10683//13603 14189//13657 10684//13680 +f 35673//8176 35626//9595 35376//12076 +f 11879//17689 11708//13264 10374//13358 +f 11841//16818 11840//16163 11756//17396 +f 12543//16607 11702//17462 12643//17390 +f 13541//17306 13542//17218 13639//17416 +f 11757//16814 11841//16818 11756//17396 +f 12975//8171 12974//16630 12881//16741 +f 30031//17519 30163//17679 30030//10696 +f 11846//10857 11932//16245 11845//15927 +f 12016//16246 12015//17645 11931//17634 +f 12351//15930 12352//17213 12437//16033 +f 12527//17215 12526//16081 12437//16033 +f 31736//16793 31836//17690 31735//17691 +f 11505//16738 11643//17184 13506//8616 +f 32099//17692 32098//16118 31998//16702 +f 32508//7546 32617//14589 32507//7547 +f 11783//17693 11621//1645 12113//17599 +f 12196//17675 11783//17693 12113//17599 +f 9519//13949 12287//8499 11621//1645 +f 11783//17693 9519//13949 11621//1645 +f 13817//14366 13915//14367 13816//3925 +f 14493//17694 11077//13951 12294//13950 +f 12126//1510 13327//16299 11529//1508 +f 14013//14368 14012//11597 13914//11898 +f 12116//15275 11780//15278 11866//15276 +f 30893//16992 26333//15980 26370//15982 +f 14922//17695 21403//8691 21314//344 +f 20373//15994 20367//16692 12892//17602 +f 371//17239 4397//9192 1526//15177 +f 13169//17504 13264//17505 13263//15882 +f 14117//1267 14213//1269 14212//3356 +f 27081//16162 11755//4202 11756//17396 +f 9648//11825 10747//15035 7199//14987 +f 30296//17696 30295//10773 30162//10744 +f 13907//11318 14005//17697 14004//17698 +f 26361//15942 30957//16705 30901//15979 +f 30163//17679 30296//17696 30162//10744 +f 2518//13625 194//5705 1856//5711 +f 10684//13680 10808//8951 10807//8950 +f 10444//10542 10564//3865 4262//3864 +f 62//17699 11059//13263 11708//13264 +f 11879//17689 62//17699 11708//13264 +f 13328//17700 8091//17659 11059//13263 +f 62//17699 13328//17700 11059//13263 +f 13399//17701 11707//17660 8091//17659 +f 13328//17700 13399//17701 8091//17659 +f 12204//6689 12142//6688 11707//17660 +f 13399//17701 12204//6689 11707//17660 +f 30429//17702 30428//10801 30295//10773 +f 35936//932 11960//934 12214//2320 +f 13702//14752 8483//15241 8420//15182 +f 9743//17703 8158//14871 13186//15192 +f 20050//2258 20541//16958 20535//2259 +f 22666//17704 29890//17705 29761//17706 +f 94//14700 156//9828 11868//14374 +f 14000//17640 10207//14179 14001//17707 +f 30487//2214 35694//8022 35389//2215 +f 5042//13215 5870//14735 6509//13755 +f 6875//2146 30339//17708 28730//4302 +f 30957//16705 26361//15942 11481//15877 +f 4263//16209 2791//4745 4949//16957 +f 23118//14750 23117//14755 23019//14751 +f 5563//8473 10587//17021 11716//17023 +f 26899//14958 24465//5623 27017//14160 +f 11851//17285 11937//16881 11850//15568 +f 24219//17709 24299//17710 26077//17711 +f 12179//16112 12262//16255 12178//17578 +f 12262//16255 12261//17579 12178//17578 +f 12611//17533 12610//16825 12520//16826 +f 12521//17712 12611//17533 12520//16826 +f 12390//16519 13587//16656 20013//16341 +f 16007//16602 16006//16381 11342//16262 +f 16006//16381 8568//16256 11342//16262 +f 22706//16261 22805//16379 22804//16805 +f 13739//16522 13837//16269 13738//17219 +f 14033//16005 14032//17549 13934//17601 +f 13683//15805 14249//15616 8883//1604 +f 15745//16836 23025//2735 10940//16177 +f 21049//31 22937//30 22938//15756 +f 12869//2435 12868//249 20966//2436 +f 28372//17713 29680//16043 28494//16044 +f 12836//15790 11637//15985 12929//17029 +f 12796//17476 12888//17370 12795//17151 +f 11638//14491 5054//15993 13601//16711 +f 23411//7380 23410//14711 23313//17491 +f 11937//16881 11936//12037 11850//15568 +f 11629//15333 12835//15335 13620//5989 +f 23216//14753 23314//15793 23215//14754 +f 26332//16759 26370//15982 26369//17714 +f 20458//16960 20459//17619 20543//17353 +f 34057//17715 19038//17716 2686//6754 +f 32427//17717 32428//17718 32532//17719 +f 31132//11875 31133//17720 31195//17546 +f 31934//17721 31933//17722 31835//17723 +f 13413//15310 16017//15300 16304//3553 +f 23314//15793 23411//7380 23313//17491 +f 22429//17724 22527//16048 22428//16049 +f 9554//3577 3849//9827 8240//3575 +f 13030//6551 2914//8458 10391//8460 +f 13410//13295 13030//6551 10391//8460 +f 12876//17333 12969//17188 12875//17190 +f 11611//17365 11610//15750 11543//15749 +f 13582//7374 11895//7373 35945//6694 +f 16006//16381 15866//16413 8568//16256 +f 35682//3726 35858//7054 13692//12558 +f 14019//14239 14117//1267 14018//13926 +f 11733//13465 11734//13464 11817//17725 +f 22834//17726 22933//3034 22439//10881 +f 10323//13863 14095//14803 10442//14204 +f 10322//13861 10323//13863 10442//14204 +f 35887//7147 35566//7149 35583//10042 +f 14191//14207 10562//13679 10442//14204 +f 10932//8952 10808//8951 7461//13605 +f 8962//12280 2516//4662 8854//10577 +f 2657//17727 13588//13604 10808//8951 +f 8854//10577 2516//4662 2515//4664 +f 13779//17728 13780//17024 7461//13605 +f 13588//13604 13779//17728 7461//13605 +f 10145//17729 10144//17635 13780//17024 +f 13779//17728 10145//17729 13780//17024 +f 12811//17730 13206//17681 10144//17635 +f 10145//17729 12811//17730 10144//17635 +f 939//17731 137//11731 13206//17681 +f 12811//17730 939//17731 13206//17681 +f 9530//17732 4395//3863 137//11731 +f 939//17731 9530//17732 137//11731 +f 4660//17733 9906//17682 4395//3863 +f 9530//17732 4660//17733 4395//3863 +f 1979//17734 1980//17683 9906//17682 +f 4660//17733 1979//17734 9906//17682 +f 3997//17735 12566//17684 1980//17683 +f 1979//17734 3997//17735 1980//17683 +f 13329//17736 12485//17685 12566//17684 +f 3997//17735 13329//17736 12566//17684 +f 290//17737 1053//17686 12485//17685 +f 13329//17736 290//17737 12485//17685 +f 14182//17738 3458//10243 1053//17686 +f 290//17737 14182//17738 1053//17686 +f 814//17739 13186//15192 3458//10243 +f 14182//17738 814//17739 3458//10243 +f 9002//17740 9743//17703 13186//15192 +f 814//17739 9002//17740 13186//15192 +f 6128//17741 6647//14908 9743//17703 +f 9002//17740 6128//17741 9743//17703 +f 1853//17742 6128//17741 694//5723 +f 6128//17741 1853//17742 6647//14908 +f 9630//17582 13521//2189 13516//15033 +f 8736//10798 14259//7561 11262//7563 +f 13815//10041 13913//12200 13912//7037 +f 30296//17696 30429//17702 30295//10773 +f 94//14700 811//15209 8350//11901 +f 12152//10592 12153//3752 12235//1862 +f 7576//12130 13477//15550 13865//12131 +f 4365//1518 9742//3931 125//4422 +f 8866//14876 8882//10793 8629//14875 +f 30898//17477 26366//17616 24832//16782 +f 8978//7664 13890//7663 9103//12525 +f 13239//1118 13792//1117 9545//2715 +f 12127//17252 9630//17582 666//14447 +f 29543//4726 35514//1077 35500//2155 +f 12438//17214 12527//17215 12437//16033 +f 11932//16245 12016//16246 11931//17634 +f 13507//8410 11505//16738 13506//8616 +f 11480//15832 11544//17352 11479//15833 +f 32731//16355 32730//16357 32616//14590 +f 12823//16454 12731//17191 11643//17184 +f 8128//14362 10828//8619 11785//8618 +f 20459//17619 20544//17343 20543//17353 +f 34829//15450 34958//15327 34828//15329 +f 3194//15368 12725//17743 13003//17653 +f 13599//15367 3194//15368 13003//17653 +f 12725//17743 13495//17744 14284//17665 +f 13003//17653 12725//17743 14284//17665 +f 13495//17744 13710//17745 13689//17666 +f 31999//1672 32099//17692 31998//16702 +f 2792//15312 13413//15310 4543//2526 +f 20373//15994 21209//12880 21139//12848 +f 20290//16801 20375//17600 20374//16959 +f 10007//17238 371//17239 1740//5863 +f 12267//17502 12266//16769 12183//16768 +f 22822//3534 22921//9519 22821//3535 +f 3177//5990 2880//5992 12733//3543 +f 11418//5476 11468//17071 11417//17459 +f 12068//17746 12069//13669 12150//13670 +f 35775//6451 35663//2550 35790//6818 +f 35409//190 35871//11286 35630//10777 +f 35744//17747 35845//11030 35553//9130 +f 35477//8506 35632//6816 35871//11286 +f 12207//17748 11879//17689 12222//14022 +f 1027//17418 12207//17748 12222//14022 +f 8778//17749 62//17699 11879//17689 +f 12207//17748 8778//17749 11879//17689 +f 7467//17750 13328//17700 62//17699 +f 8778//17749 7467//17750 62//17699 +f 14268//17751 13399//17701 13328//17700 +f 7467//17750 14268//17751 13328//17700 +f 13511//17752 12204//6689 13399//17701 +f 14268//17751 13511//17752 13399//17701 +f 13511//17752 13782//17753 11975//6690 +f 12204//6689 13511//17752 11975//6690 +f 13391//13367 7998//2670 14080//2669 +f 4099//14479 5607//17754 8901//13756 +f 11934//10856 11933//16243 11846//10857 +f 13584//12359 14177//12358 13681//5827 +f 35767//7952 11895//7373 35731//4960 +f 3341//3900 11131//4091 12663//4093 +f 14284//17665 13495//17744 13689//17666 +f 13710//17745 13094//17755 13095//17674 +f 2792//15312 4543//2526 8046//2525 +f 13689//17666 13710//17745 13095//17674 +f 12929//17029 5563//8473 11716//17023 +f 13284//17756 3194//15368 35674//9806 +f 11544//17352 11543//15749 11479//15833 +f 14910//15341 2500//12409 15030//12411 +f 12347//16416 12346//17581 12261//17579 +f 21779//17757 21542//17758 26146//17759 +f 12015//17645 12096//17592 12014//16975 +f 12262//16255 12347//16416 12261//17579 +f 13738//17219 13836//17532 13737//17255 +f 12701//17534 12700//16739 12610//16825 +f 12012//16190 12093//16331 12011//16962 +f 13934//17601 13933//17144 13835//17254 +f 12093//16331 12175//16846 12092//17309 +f 12175//16846 12174//16964 12092//17309 +f 13935//16127 13934//17601 13836//17532 +f 13837//16269 13935//16127 13836//17532 +f 13640//17220 13641//16523 13738//17219 +f 13837//16269 13836//17532 13738//17219 +f 13352//16915 13447//16751 13351//17304 +f 13447//16751 13543//16657 13542//17218 +f 12346//17581 12432//17760 12345//16827 +f 12432//17760 12521//17712 12431//16828 +f 11762//16251 11761//14175 11680//14211 +f 12347//16416 12433//15838 12346//17581 +f 11686//17364 11767//17286 11685//15747 +f 11851//17285 11850//15568 11766//15567 +f 13991//17761 12803//17762 19536//17763 +f 12874//17764 25585//17765 12782//17766 +f 277//15129 21048//17767 15326//13029 +f 10009//15311 8046//2525 15326//13029 +f 13094//17755 12281//17768 12196//17675 +f 13095//17674 13094//17755 12196//17675 +f 11869//17769 11783//17693 12196//17675 +f 12281//17768 11869//17769 12196//17675 +f 21048//17767 277//15129 23404//8361 +f 23405//15307 21048//17767 23404//8361 +f 18164//17770 18073//16278 18165//16280 +f 21048//17767 15325//17771 15326//13029 +f 4526//15834 11785//8618 9981//8459 +f 10951//13177 8234//13179 8341//13091 +f 3860//8947 5417//17772 14251//17773 +f 4665//16737 2478//340 20323//339 +f 21769//15667 21770//17774 7108//17535 +f 21482//13814 20070//10189 23414//14975 +f 11309//11426 11184//11362 11310//2931 +f 4259//14146 10565//3352 14094//8082 +f 10323//13863 10324//14203 14095//14803 +f 7162//12001 11554//10663 7059//10662 +f 14096//17775 14192//17776 14191//14207 +f 14095//14803 14096//17775 14191//14207 +f 14192//17776 14290//17777 14289//14208 +f 14191//14207 14192//17776 14289//14208 +f 2520//17778 2657//17727 14289//14208 +f 14290//17777 2520//17778 14289//14208 +f 13517//17779 13588//13604 2657//17727 +f 2520//17778 13517//17779 2657//17727 +f 13715//17780 13779//17728 13588//13604 +f 13517//17779 13715//17780 13588//13604 +f 10143//17781 10145//17729 13779//17728 +f 13715//17780 10143//17781 13779//17728 +f 3195//17782 12811//17730 10145//17729 +f 10143//17781 3195//17782 10145//17729 +f 11392//17783 939//17731 12811//17730 +f 3195//17782 11392//17783 12811//17730 +f 7788//17784 9530//17732 939//17731 +f 11392//17783 7788//17784 939//17731 +f 11246//17785 4660//17733 9530//17732 +f 7788//17784 11246//17785 9530//17732 +f 4256//17786 1979//17734 4660//17733 +f 11246//17785 4256//17786 4660//17733 +f 8664//17787 3997//17735 1979//17734 +f 4256//17786 8664//17787 1979//17734 +f 13234//17788 13329//17736 3997//17735 +f 8664//17787 13234//17788 3997//17735 +f 185//17789 290//17737 13329//17736 +f 13234//17788 185//17789 13329//17736 +f 9752//17790 14182//17738 290//17737 +f 185//17789 9752//17790 290//17737 +f 13901//17791 814//17739 14182//17738 +f 9752//17790 13901//17791 14182//17738 +f 8895//17792 9002//17740 814//17739 +f 13901//17791 8895//17792 814//17739 +f 6766//17793 6128//17741 9002//17740 +f 8895//17792 6766//17793 9002//17740 +f 35810//7013 35650//7020 35606//6316 +f 6766//17793 694//5723 6128//17741 +f 12660//3901 13214//5568 12293//11287 +f 8116//6424 3202//3539 8443//13577 +f 9630//17582 11807//2187 13521//2189 +f 11807//2187 12373//6002 12394//6001 +f 11355//13261 7683//13262 7089//13175 +f 11818//17794 11904//14226 11903//17795 +f 35861//10969 35574//191 35526//8175 +f 11734//13464 11818//17794 11817//17725 +f 104//11523 13882//12020 3595//2190 +f 13416//7564 104//11523 3595//2190 +f 2908//10852 1644//17796 9918//12524 +f 13890//7663 2908//10852 9918//12524 +f 8345//7472 7676//14436 14186//7543 +f 11736//15103 11820//13213 11735//16566 +f 9190//16682 11807//2187 9630//17582 +f 10210//8502 13908//12515 13907//11318 +f 30893//16992 26370//15982 26332//16759 +f 9991//6143 9992//8187 11363//3658 +f 11505//16738 12823//16454 11643//17184 +f 11937//16881 12022//16883 11936//12037 +f 30563//17797 30562//10840 30428//10801 +f 11280//906 23029//16779 929//2611 +f 1874//17798 9519//13949 11783//17693 +f 11869//17769 1874//17798 11783//17693 +f 12378//17799 12294//13950 1874//17798 +f 1874//17798 12294//13950 9519//13949 +f 13915//14367 14013//14368 13914//11898 +f 14013//14368 14111//14369 14110//7016 +f 15470//13226 21482//13814 15469//13227 +f 4908//15821 22267//6622 21863//3405 +f 12929//17029 11716//17023 13203//17278 +f 14082//15791 12929//17029 13203//17278 +f 13931//17245 13930//17580 13832//16183 +f 30850//17800 12090//17672 30851//17801 +f 15216//17388 16609//17318 13013//17389 +f 12920//15145 13289//9179 10499//14091 +f 12233//14864 12234//1861 12318//7834 +f 11987//17802 11988//14228 12068//17746 +f 12058//17803 13209//17417 12211//11290 +f 14391//9544 14390//17804 25657//17805 +f 9759//17806 1027//17418 13209//17417 +f 12058//17803 9759//17806 13209//17417 +f 12125//17807 12207//17748 1027//17418 +f 9759//17806 12125//17807 1027//17418 +f 13208//17808 8778//17749 12207//17748 +f 12125//17807 13208//17808 12207//17748 +f 1849//17809 7467//17750 8778//17749 +f 13208//17808 1849//17809 8778//17749 +f 2900//17810 14268//17751 7467//17750 +f 1849//17809 2900//17810 7467//17750 +f 2900//17810 11878//17811 13511//17752 +f 14268//17751 2900//17810 13511//17752 +f 11878//17811 12226//17812 13782//17753 +f 13511//17752 11878//17811 13782//17753 +f 35544//2842 35510//1854 35885//7574 +f 35540//5879 35379//9324 35572//6703 +f 32744//17813 32856//17814 32743//17815 +f 13409//5715 13505//9125 13286//15470 +f 20407//15295 20403//1962 20365//973 +f 12693//17816 25585//17765 25292//17817 +f 19172//17818 19015//17819 18533//17820 +f 9880//626 13776//4094 4923//6915 +f 29399//17821 29262//9366 35365//1289 +f 24272//17822 25011//17823 24902//2211 +f 15048//15363 12808//15364 12720//16337 +f 17695//17824 17791//16802 17790//17825 +f 13453//16014 13454//17446 13549//16015 +f 1019//8474 16970//810 11409//809 +f 23104//126 23105//1807 23202//2434 +f 12887//17196 12980//17570 12886//16414 +f 12702//16212 12791//16525 12701//17534 +f 12433//15838 12432//17760 12346//17581 +f 11845//15927 11931//17634 11844//15928 +f 12015//17645 12014//16975 11930//16976 +f 14226//17489 3988//17432 14225//16844 +f 13836//17532 13934//17601 13835//17254 +f 30421//17826 30024//17827 15093//17828 +f 34952//17829 34951//17830 34822//17831 +f 12698//16336 12697//16903 12607//16902 +f 12608//16334 12698//16336 12607//16902 +f 12698//16336 12787//16340 12697//16903 +f 12787//16340 12786//16898 12697//16903 +f 12787//16340 12879//17121 12786//16898 +f 12879//17121 12878//16815 12786//16898 +f 14032//17549 14031//17055 13933//17144 +f 13934//17601 14032//17549 13933//17144 +f 12261//17579 12346//17581 12260//16909 +f 12521//17712 12520//16826 12431//16828 +f 12522//15837 12521//17712 12432//17760 +f 12433//15838 12522//15837 12432//17760 +f 11767//17286 11851//17285 11766//15567 +f 12612//15936 12611//17533 12521//17712 +f 25631//17671 30851//17801 12090//17672 +f 23226//16632 15745//16836 21867//247 +f 15325//17771 10009//15311 15326//13029 +f 5561//2753 13030//6551 13410//13295 +f 14223//17143 14222//14446 14126//17513 +f 18805//5709 18091//17832 43//2016 +f 11939//17833 27087//8494 27205//17834 +f 11517//7442 11518//14082 11585//7539 +f 31043//13943 31105//17835 31104//17836 +f 33410//14717 33411//14716 33523//17837 +f 13424//16967 4908//15821 21863//3405 +f 18847//15414 18846//17838 21215//17839 +f 13359//17028 13454//17446 13358//16008 +f 13454//17446 13550//17026 13549//16015 +f 13168//15880 13167//15883 13073//15881 +f 12980//17570 13074//15879 12979//16283 +f 12831//17503 13662//17433 13761//288 +f 21282//9477 13986//4588 15470//13226 +f 12967//17840 23573//17841 12874//17764 +f 35365//1289 30076//1288 29399//17821 +f 11918//3494 12002//10742 11917//3495 +f 10324//14203 14096//17775 14095//14803 +f 14097//14202 14193//17842 14192//17776 +f 14096//17775 14097//14202 14192//17776 +f 14193//17842 14291//17843 14290//17777 +f 14192//17776 14193//17842 14290//17777 +f 2655//17844 2520//17778 14290//17777 +f 14291//17843 2655//17844 14290//17777 +f 13418//17845 13517//17779 2520//17778 +f 2655//17844 13418//17845 2520//17778 +f 13575//17846 13715//17780 13517//17779 +f 13418//17845 13575//17846 13517//17779 +f 13794//17847 10143//17781 13715//17780 +f 13575//17846 13794//17847 13715//17780 +f 13806//17848 3195//17782 10143//17781 +f 13794//17847 13806//17848 10143//17781 +f 5862//17849 11392//17783 3195//17782 +f 13806//17848 5862//17849 3195//17782 +f 7905//17850 7788//17784 11392//17783 +f 5862//17849 7905//17850 11392//17783 +f 7932//17851 11246//17785 7788//17784 +f 7905//17850 7932//17851 7788//17784 +f 4389//17852 4256//17786 11246//17785 +f 7932//17851 4389//17852 11246//17785 +f 7876//17853 8664//17787 4256//17786 +f 4389//17852 7876//17853 4256//17786 +f 5596//17854 13234//17788 8664//17787 +f 7876//17853 5596//17854 8664//17787 +f 304//17855 185//17789 13234//17788 +f 5596//17854 304//17855 13234//17788 +f 13420//17856 9752//17790 185//17789 +f 304//17855 13420//17856 185//17789 +f 12924//17857 13901//17791 9752//17790 +f 13420//17856 12924//17857 9752//17790 +f 4666//17858 8895//17792 13901//17791 +f 12924//17857 4666//17858 13901//17791 +f 159//17859 6766//17793 8895//17792 +f 4666//17858 159//17859 8895//17792 +f 4637//5724 694//5723 6766//17793 +f 16289//9293 16434//9226 16288//821 +f 28191//12879 35655//9470 35415//3015 +f 6766//17793 159//17859 4637//5724 +f 5695//13406 9659//17860 12649//13407 +f 9659//17860 9420//17861 12649//13407 +f 11817//17725 11818//17794 11903//17795 +f 11904//14226 11988//14228 11987//17802 +f 4248//12223 7808//11529 12387//8255 +f 12153//3752 12236//8592 12235//1862 +f 12383//11525 12472//12290 13882//12020 +f 104//11523 12383//11525 13882//12020 +f 10497//10851 12115//17862 1644//17796 +f 12838//14424 6509//13755 13595//17863 +f 35761//3886 35544//2842 35612//1274 +f 30429//17702 30563//17797 30428//10801 +f 13922//2359 14020//2533 13921//12303 +f 5607//17754 4099//14479 16259//16778 +f 7630//10804 7629//10803 7515//10822 +f 12783//17324 12875//17190 12782//17766 +f 13263//15882 13359//17028 13262//16131 +f 23370//16321 20396//15678 3538//15995 +f 16156//17594 13027//15675 3197//4585 +f 13100//12349 2769//17112 20452//17595 +f 33643//17016 33642//2721 33523//17837 +f 33022//8860 33021//11399 32913//17864 +f 31691//17865 31690//17866 31595//14630 +f 13284//17756 12816//17867 12725//17743 +f 11876//13968 35674//9806 13599//15367 +f 12816//17867 12646//17868 13495//17744 +f 23112//2544 23210//6940 23209//15299 +f 12725//17743 12816//17867 13495//17744 +f 3622//574 16534//1899 12602//10986 +f 23013//13628 23014//9960 23111//15298 +f 26196//17869 12111//17870 26195//17871 +f 12823//16454 13009//15703 14082//15791 +f 9118//14304 10846//14308 13685//14548 +f 21030//15286 20365//973 8224//972 +f 10741//10541 6384//17639 65//14387 +f 11746//3714 11745//12103 11665//3322 +f 11978//17872 12058//17803 12296//11292 +f 8798//6627 3320//15005 35890//6628 +f 13698//17873 9759//17806 12058//17803 +f 11978//17872 13698//17873 12058//17803 +f 14074//17874 12125//17807 9759//17806 +f 13698//17873 14074//17874 9759//17806 +f 14279//17875 13208//17808 12125//17807 +f 14074//17874 14279//17875 12125//17807 +f 11329//17876 1849//17809 13208//17808 +f 14279//17875 11329//17876 13208//17808 +f 2764//17877 2900//17810 1849//17809 +f 11329//17876 2764//17877 1849//17809 +f 2764//17877 7974//17878 11878//17811 +f 2900//17810 2764//17877 11878//17811 +f 7974//17878 13781//17879 12226//17812 +f 11878//17811 7974//17878 12226//17812 +f 12135//17880 12053//4724 12226//17812 +f 13781//17879 12135//17880 12226//17812 +f 13912//7037 14010//11497 14009//7038 +f 14299//3521 14298//3706 14200//13304 +f 12967//17840 13062//17453 13061//17881 +f 13411//2194 13001//10641 10833//2050 +f 12875//17190 12968//17189 12874//17764 +f 20374//16959 17887//17882 20290//16801 +f 12646//17868 13688//17883 13710//17745 +f 13495//17744 12646//17868 13710//17745 +f 13688//17883 13381//17884 13094//17755 +f 21218//15296 22158//17885 22156//426 +f 21217//1 21218//15296 22156//426 +f 12072//13031 12154//3750 12071//13032 +f 13454//17446 13453//16014 13358//16008 +f 8106//7446 8107//7445 8218//14272 +f 13263//15882 13262//16131 13167//15883 +f 12791//16525 12883//16346 12790//17591 +f 12883//16346 12882//17449 12790//17591 +f 12096//17592 12095//16913 12014//16975 +f 11931//17634 12015//17645 11930//16976 +f 3988//17432 11001//15938 2224//16841 +f 11001//15938 9656//15940 2224//16841 +f 8326//14271 8218//14272 12227//17687 +f 33439//17886 33552//6389 33551//6391 +f 9872//15157 10827//6103 13287//5952 +f 27148//2655 26498//1855 35510//1854 +f 12607//16902 12606//16904 12516//17530 +f 12517//17041 12607//16902 12516//17530 +f 11601//16720 11600//17328 11533//17330 +f 11534//16718 11601//16720 11533//17330 +f 25487//17887 11772//17888 30843//17889 +f 14130//17488 14129//16981 14031//17055 +f 7884//10912 10828//8619 8128//14362 +f 12432//17760 12431//16828 12345//16827 +f 11761//14175 11845//15927 11760//14176 +f 11931//17634 11930//16976 11844//15928 +f 12522//15837 12612//15936 12521//17712 +f 12976//8169 12975//8171 12882//17449 +f 12836//15790 12929//17029 14082//15791 +f 21495//1879 21587//16322 21876//15753 +f 35684//6552 13401//14223 11806//6550 +f 12795//17151 12887//17196 12794//16516 +f 13526//427 15540//17890 21284//219 +f 20407//15295 21218//15296 20403//1962 +f 13710//17745 13688//17883 13094//17755 +f 13381//17884 12280//17891 12281//17768 +f 13094//17755 13381//17884 12281//17768 +f 11953//17892 11869//17769 12281//17768 +f 22528//17893 22627//17894 22626//16050 +f 22158//17885 15540//17890 13526//427 +f 15540//17890 21285//8376 21284//219 +f 23020//9520 23019//14751 22920//9521 +f 8629//14875 9992//8187 9991//6143 +f 232//17895 5607//17754 16405//17896 +f 22732//15694 23038//15509 23036//16062 +f 13648//17027 13746//15571 13647//15573 +f 7059//10662 7060//10661 7164//11982 +f 30697//17897 30696//10875 30562//10840 +f 14098//17898 14097//14202 13999//14201 +f 14000//17640 14098//17898 13999//14201 +f 14098//17898 14194//17899 14193//17842 +f 14097//14202 14098//17898 14193//17842 +f 14194//17899 14292//17900 14291//17843 +f 14193//17842 14194//17899 14291//17843 +f 2789//17901 2655//17844 14291//17843 +f 14292//17900 2789//17901 14291//17843 +f 298//17902 13418//17845 2655//17844 +f 2789//17901 298//17902 2655//17844 +f 13515//17903 13575//17846 13418//17845 +f 298//17902 13515//17903 13418//17845 +f 13789//17904 13794//17847 13575//17846 +f 13515//17903 13789//17904 13575//17846 +f 12547//17905 13806//17848 13794//17847 +f 13789//17904 12547//17905 13794//17847 +f 5993//17906 5862//17849 13806//17848 +f 12547//17905 5993//17906 13806//17848 +f 9646//17907 7905//17850 5862//17849 +f 5993//17906 9646//17907 5862//17849 +f 7326//17908 7932//17851 7905//17850 +f 9646//17907 7326//17908 7905//17850 +f 3056//17909 4389//17852 7932//17851 +f 7326//17908 3056//17909 7932//17851 +f 5195//17910 7876//17853 4389//17852 +f 3056//17909 5195//17910 4389//17852 +f 2638//17911 5596//17854 7876//17853 +f 5195//17910 2638//17911 7876//17853 +f 675//17912 304//17855 5596//17854 +f 2638//17911 675//17912 5596//17854 +f 9751//17913 13420//17856 304//17855 +f 675//17912 9751//17913 304//17855 +f 14//17914 12924//17857 13420//17856 +f 9751//17913 14//17914 13420//17856 +f 8788//17915 4666//17858 12924//17857 +f 14//17914 8788//17915 12924//17857 +f 6793//15104 159//17859 4666//17858 +f 8788//17915 6793//15104 4666//17858 +f 11005//5968 13988//5967 7924//13574 +f 6148//14385 11394//12878 9177//8986 +f 2368//10116 2088//10117 13670//14225 +f 9659//17860 13415//14596 10121//17916 +f 12948//13915 12947//6286 12854//5411 +f 7924//13574 8978//7664 3201//13575 +f 11903//17795 11904//14226 11987//17802 +f 11988//14228 12069//13669 12068//17746 +f 5724//3711 11786//1865 161//1864 +f 131//14298 5698//9565 14300//3520 +f 13317//11524 5695//13406 12472//12290 +f 12383//11525 13317//11524 12472//12290 +f 10497//10851 12838//14424 12115//17862 +f 6509//13755 3345//11956 13595//17863 +f 30563//17797 30697//17897 30562//10840 +f 30831//17917 30830//11026 30696//10875 +f 14789//1063 15547//9396 5143//1065 +f 7808//11529 10877//11531 12387//8255 +f 11784//14872 8128//14362 11785//8618 +f 13060//14815 25185//17918 13061//17881 +f 21214//15677 22149//8550 22148//12846 +f 12605//17527 12695//17320 12604//17322 +f 17605//17919 17606//17609 20218//17611 +f 32297//16822 32400//16821 32296//17044 +f 12280//17891 11953//17892 12281//17768 +f 22921//9519 22920//9521 22821//3535 +f 9670//17920 1874//17798 11869//17769 +f 11953//17892 9670//17920 11869//17769 +f 14416//17921 12378//17799 12847//17922 +f 9670//17920 12378//17799 1874//17798 +f 14111//14369 14207//14144 14206//7346 +f 1623//3742 4105//3743 1172//10045 +f 1035//3407 16156//17594 3197//4585 +f 22527//16048 22528//17893 22626//16050 +f 10935//16011 10266//16271 9338//16153 +f 9394//12728 14065//12750 23407//15456 +f 34981//17405 32684//17923 35246//17924 +f 12968//17189 13062//17453 12967//17840 +f 6893//11530 1754//13934 10877//11531 +f 14066//7040 5566//17678 13317//11524 +f 11979//17925 11978//17872 12382//17926 +f 35902//14823 35890//6628 35659//9805 +f 9858//17927 13698//17873 11978//17872 +f 11979//17925 9858//17927 11978//17872 +f 14170//17928 14074//17874 13698//17873 +f 9858//17927 14170//17928 13698//17873 +f 12834//17929 14279//17875 14074//17874 +f 14170//17928 12834//17929 14074//17874 +f 439//17930 11329//17876 14279//17875 +f 12834//17929 439//17930 14279//17875 +f 12290//17931 2764//17877 11329//17876 +f 439//17930 12290//17931 11329//17876 +f 12290//17931 11623//17932 7974//17878 +f 2764//17877 12290//17931 7974//17878 +f 11623//17932 13602//17933 13781//17879 +f 7974//17878 11623//17932 13781//17879 +f 12218//12607 12135//17880 13781//17879 +f 13602//17933 12218//12607 13781//17879 +f 30697//17897 30831//17917 30696//10875 +f 31045//9641 31107//15002 31106//15001 +f 10833//2050 10036//14873 3733//2025 +f 12419//7135 12418//3146 12332//3330 +f 13792//1117 2903//3545 9545//2715 +f 13156//17515 13155//14814 13061//17881 +f 28310//17934 28430//17935 28987//10239 +f 14012//11597 14013//14368 14110//7016 +f 22726//17936 22725//16051 22626//16050 +f 22627//17894 22726//17936 22626//16050 +f 22825//17937 22824//16084 22725//16051 +f 15226//13954 12382//17926 12296//11292 +f 11934//10856 11848//10858 11935//12036 +f 13062//17453 13156//17515 13061//17881 +f 12382//17926 15226//13954 14379//17938 +f 13963//15804 9898//10783 9782//10782 +f 11981//7048 12062//16589 7991//7046 +f 10374//13358 11708//13264 10011//13260 +f 4543//2526 10853//15195 8126//569 +f 11847//16250 11848//10858 11846//10857 +f 11863//7474 12539//7476 14260//16436 +f 7757//10624 11897//12361 7873//11288 +f 7642//10628 33022//8860 7528//8861 +f 24501//17939 13891//7136 13333//5303 +f 18211//17940 19321//17941 18185//17942 +f 33022//8860 7642//10628 7641//10626 +f 35451//4266 35741//4518 35406//2706 +f 35532//12648 35638//1923 22836//14268 +f 14004//17698 10328//11222 13907//11318 +f 34870//2450 35866//17943 33337//2451 +f 8861//14277 12755//14822 8968//14293 +f 12667//17637 12756//14820 12755//14822 +f 16381//17944 13812//1731 10211//13763 +f 9790//3923 9521//14495 14282//1873 +f 31479//444 25321//17945 23520//442 +f 12883//16346 12976//8169 12882//17449 +f 12876//17333 12875//17190 12783//17324 +f 16023//15842 15344//15841 14847//2368 +f 13070//8170 13069//11059 12975//8171 +f 33607//6423 33606//13821 33487//2045 +f 12437//16033 12526//16081 12436//16034 +f 22156//426 22158//17885 13526//427 +f 13074//15879 13073//15881 12979//16283 +f 9659//17860 5566//17678 13415//14596 +f 22726//17936 22825//17937 22725//16051 +f 6952//13966 34465//17946 6953//12025 +f 34001//15614 34000//16884 33865//17947 +f 32404//17948 32403//10691 32300//17949 +f 32301//4567 32404//17948 32300//17949 +f 22924//17950 22923//16086 22824//16084 +f 22825//17937 22924//17950 22824//16084 +f 13720//5939 13622//15123 13721//4174 +f 23651//17951 15322//17664 15321//17663 +f 8009//8279 8010//14096 11238//13359 +f 13869//2726 13868//8856 13774//7640 +f 13251//17454 13250//14835 13155//14814 +f 9765//628 2494//8351 13776//4094 +f 14099//17952 14098//17898 14000//17640 +f 14001//17707 14099//17952 14000//17640 +f 14099//17952 14195//17953 14194//17899 +f 14098//17898 14099//17952 14194//17899 +f 14195//17953 14293//17954 14292//17900 +f 14194//17899 14195//17953 14292//17900 +f 10139//17955 2789//17901 14292//17900 +f 14293//17954 10139//17955 14292//17900 +f 11444//17956 298//17902 2789//17901 +f 10139//17955 11444//17956 2789//17901 +f 13509//17957 13515//17903 298//17902 +f 11444//17956 13509//17957 298//17902 +f 13802//17958 13789//17904 13515//17903 +f 13509//17957 13802//17958 13515//17903 +f 934//17959 12547//17905 13789//17904 +f 13802//17958 934//17959 13789//17904 +f 1873//17960 5993//17906 12547//17905 +f 934//17959 1873//17960 12547//17905 +f 8020//17961 9646//17907 5993//17906 +f 1873//17960 8020//17961 5993//17906 +f 9907//17962 7326//17908 9646//17907 +f 8020//17961 9907//17962 9646//17907 +f 3057//17963 3056//17909 7326//17908 +f 9907//17962 3057//17963 7326//17908 +f 11795//17964 5195//17910 3056//17909 +f 3057//17963 11795//17964 3056//17909 +f 13235//17965 2638//17911 5195//17910 +f 11795//17964 13235//17965 5195//17910 +f 234//17966 675//17912 2638//17911 +f 13235//17965 234//17966 2638//17911 +f 13421//17967 9751//17913 675//17912 +f 234//17966 13421//17967 675//17912 +f 6939//17968 14//17914 9751//17913 +f 13421//17967 6939//17968 9751//17913 +f 5731//17969 8788//17915 14//17914 +f 6939//17968 5731//17969 14//17914 +f 5996//17970 6793//15104 8788//17915 +f 5731//17969 5996//17970 8788//17915 +f 11005//5968 7924//13574 3200//13573 +f 5996//17970 5041//1336 305//9473 +f 9420//17861 9659//17860 10121//17916 +f 13686//14595 11973//17971 10121//17916 +f 12763//14519 12855//13195 12854//5411 +f 12762//5410 12763//14519 12854//5411 +f 9103//12525 11320//7344 2499//7535 +f 2634//13933 9103//12525 2499//7535 +f 12115//17862 12033//13182 288//3895 +f 9918//12524 13889//3894 11320//7344 +f 5566//17678 9659//17860 5695//13406 +f 13317//11524 5566//17678 5695//13406 +f 2908//10852 10497//10851 1644//17796 +f 12838//14424 13595//17863 12115//17862 +f 17471//17972 18730//11080 30830//11026 +f 11581//11009 11656//11010 11655//17973 +f 14120//3335 14216//7829 14215//2222 +f 4119//2619 13505//9125 13409//5715 +f 30831//17917 17471//17972 30830//11026 +f 10124//13383 1740//5863 5736//5862 +f 4923//6915 13798//14604 9879//11722 +f 35763//2761 35515//17974 35683//8515 +f 20789//14809 20871//16974 20870//16665 +f 3062//4248 8116//6424 9516//12222 +f 35765//11977 35536//7014 35525//4383 +f 11872//15144 11873//8199 12820//7739 +f 34029//17975 34165//17976 34028//17977 +f 31437//9447 31436//9449 31369//16978 +f 11779//17978 12816//17867 13284//17756 +f 3320//15005 11779//17978 13284//17756 +f 11779//17978 13691//17979 12646//17868 +f 12816//17867 11779//17978 12646//17868 +f 14744//17980 16297//17981 21569//17982 +f 28610//16313 30633//1690 27411//1404 +f 15434//8914 193//16944 13243//17983 +f 17894//16707 18281//2317 2541//2823 +f 9185//358 12942//14846 13037//17984 +f 13648//17027 13647//15573 13549//16015 +f 13029//11317 14066//7040 13317//11524 +f 12951//14027 12952//17985 13045//14030 +f 26498//1855 27521//15785 26940//1284 +f 35693//3020 35941//3803 35832//182 +f 13713//17986 9858//17927 11979//17925 +f 12939//17987 13713//17986 11979//17925 +f 11963//17988 14170//17928 9858//17927 +f 13713//17986 11963//17988 9858//17927 +f 12927//17989 12834//17929 14170//17928 +f 11963//17988 12927//17989 14170//17928 +f 3054//17990 439//17930 12834//17929 +f 12927//17989 3054//17990 12834//17929 +f 12375//17991 12290//17931 439//17930 +f 3054//17990 12375//17991 439//17930 +f 12375//17991 9755//17992 11623//17932 +f 12290//17931 12375//17991 11623//17932 +f 9755//17992 13504//12906 13602//17933 +f 11623//17932 9755//17992 13602//17933 +f 24093//6693 24032//4968 24033//4967 +f 4508//4868 10899//12964 4374//4866 +f 12899//7730 12295//2193 10241//7822 +f 10899//12964 4508//4868 11025//12965 +f 8116//6424 8443//13577 9516//12222 +f 12952//17985 13046//9135 13045//14030 +f 13156//17515 13251//17454 13155//14814 +f 13347//17461 13346//14847 13250//14835 +f 13691//17979 13612//17993 13688//17883 +f 12646//17868 13691//17979 13688//17883 +f 13612//17993 13476//17994 13381//17884 +f 13688//17883 13612//17993 13381//17884 +f 19645//16393 6788//1403 27143//17995 +f 11554//10663 228//11677 11488//11676 +f 11812//17996 11898//17997 11897//12361 +f 35866//17943 34870//2450 35778//4974 +f 11898//17997 11982//17998 11981//7048 +f 11897//12361 11898//17997 11981//7048 +f 11982//17998 12063//14284 12062//16589 +f 11981//7048 11982//17998 12062//16589 +f 12062//16589 12063//14284 8107//7445 +f 8107//7445 12145//14285 12227//17687 +f 12145//14285 12228//17999 12227//17687 +f 14100//18000 14001//17707 10327//10922 +f 12228//17999 12313//18001 12312//18002 +f 12227//17687 12228//17999 12312//18002 +f 12313//18001 12399//18003 12398//16107 +f 12312//18002 12313//18001 12398//16107 +f 12399//18003 12488//18004 12487//15356 +f 12398//16107 12399//18003 12487//15356 +f 12488//18004 12578//18005 12577//14332 +f 12487//15356 12488//18004 12577//14332 +f 12578//18005 12668//18006 12667//17637 +f 12577//14332 12578//18005 12667//17637 +f 12668//18006 12757//15947 12756//14820 +f 12667//17637 12668//18006 12756//14820 +f 228//11677 7057//12003 6957//12938 +f 13251//17454 13347//17461 13250//14835 +f 13442//17506 13441//14867 13346//14847 +f 13347//17461 13442//17506 13346//14847 +f 22817//14862 22816//4524 22717//14241 +f 11617//14980 11080//13296 8867//12227 +f 11717//10949 4793//3966 14183//15547 +f 13538//16866 13537//14886 13441//14867 +f 12980//17570 12979//16283 12886//16414 +f 11688//17436 11687//17363 11612//17424 +f 30848//18007 30847//18008 23824//18009 +f 14203//7161 14301//12382 14202//3519 +f 13476//17994 12366//18010 12280//17891 +f 13381//17884 13476//17994 12280//17891 +f 12034//18011 11953//17892 12280//17891 +f 12366//18010 12034//18011 12280//17891 +f 29684//16312 27411//1404 6788//1403 +f 13030//6551 5561//2753 35684//6552 +f 12413//14427 12502//14428 12412//9743 +f 11613//17290 11612//17424 11545//17351 +f 8588//2885 1713//2884 8482//10849 +f 35915//638 35408//8562 35501//8015 +f 11738//4997 11737//11687 11657//8478 +f 9782//10782 7908//13764 7787//13765 +f 14100//18000 14099//17952 14001//17707 +f 35890//6628 35559//12364 35617//3487 +f 14100//18000 14196//18012 14195//17953 +f 14099//17952 14100//18000 14195//17953 +f 14294//18013 14293//17954 14195//17953 +f 14196//18012 14294//18013 14195//17953 +f 14294//18013 113//18014 10139//17955 +f 14293//17954 14294//18013 10139//17955 +f 13518//18015 11444//17956 10139//17955 +f 113//18014 13518//18015 10139//17955 +f 13489//18016 13509//17957 11444//17956 +f 13518//18015 13489//18016 11444//17956 +f 2521//18017 13802//17958 13509//17957 +f 13489//18016 2521//18017 13509//17957 +f 11260//18018 934//17959 13802//17958 +f 2521//18017 11260//18018 13802//17958 +f 6124//18019 1873//17960 934//17959 +f 11260//18018 6124//18019 934//17959 +f 4129//18020 8020//17961 1873//17960 +f 6124//18019 4129//18020 1873//17960 +f 8247//18021 9907//17962 8020//17961 +f 4129//18020 8247//18021 8020//17961 +f 4523//18022 3057//17963 9907//17962 +f 8247//18021 4523//18022 9907//17962 +f 12291//18023 11795//17964 3057//17963 +f 4523//18022 12291//18023 3057//17963 +f 13236//18024 13235//17965 11795//17964 +f 12291//18023 13236//18024 11795//17964 +f 340//18025 234//17966 13235//17965 +f 13236//18024 340//18025 13235//17965 +f 9891//18026 13421//17967 234//17966 +f 340//18025 9891//18026 234//17966 +f 9062//18027 6939//17968 13421//17967 +f 9891//18026 9062//18027 13421//17967 +f 1297//18028 5731//17969 6939//17968 +f 9062//18027 1297//18028 6939//17968 +f 111//9476 5996//17970 5731//17969 +f 1297//18028 111//9476 5731//17969 +f 17194//1335 5006//9474 305//9473 +f 111//9476 5041//1336 5996//17970 +f 13415//14596 13686//14595 10121//17916 +f 5756//516 14187//15716 11727//15715 +f 12674//13034 12763//14519 12762//5410 +f 12673//5564 12674//13034 12762//5410 +f 9103//12525 9918//12524 11320//7344 +f 1644//17796 288//3895 13889//3894 +f 11818//17794 11819//14818 11904//14226 +f 11905//14227 11989//14229 11988//14228 +f 5566//17678 11647//7469 13415//14596 +f 13686//14595 13685//14548 10846//14308 +f 6893//11530 3201//13575 1754//13934 +f 8978//7664 9103//12525 2634//13933 +f 11580//16204 11581//11009 11655//17973 +f 11736//15103 11735//16566 11655//17973 +f 10877//11531 1754//13934 13097//7635 +f 2634//13933 2499//7535 2368//10116 +f 13269//18029 23966//18030 23965//15811 +f 128//13384 10124//13383 5736//5862 +f 13041//10506 13042//13916 13135//10507 +f 12387//8255 10877//11531 12476//6246 +f 17653//18031 34487//18032 18056//9281 +f 1754//13934 2634//13933 2368//10116 +f 25599//18033 25600//18034 25741//18035 +f 13696//6692 24212//18036 24152//17661 +f 13002//18037 9670//17920 11953//17892 +f 12034//18011 13002//18037 11953//17892 +f 14416//17921 12847//17922 12845//10699 +f 13002//18037 12847//17922 9670//17920 +f 14305//14145 14304//7347 14206//7346 +f 14110//7016 14111//14369 14206//7346 +f 34003//1149 34002//14250 33867//1654 +f 22102//18038 24369//18039 22197//18040 +f 13442//17506 13538//16866 13441//14867 +f 11546//17114 11545//17351 11481//15877 +f 7463//13845 9760//13382 128//13384 +f 2226//4557 17155//7121 3592//11018 +f 35790//6818 35781//9858 35564//9713 +f 12561//18041 14925//13141 11644//13143 +f 12940//18042 12939//17987 12561//18041 +f 12651//18043 12940//18042 12561//18041 +f 13983//18044 13713//17986 12939//17987 +f 12940//18042 13983//18044 12939//17987 +f 12044//18045 11963//17988 13713//17986 +f 13983//18044 12044//18045 13713//17986 +f 12742//18046 12927//17989 11963//17988 +f 12044//18045 12742//18046 11963//17988 +f 12662//18047 3054//17990 12927//17989 +f 12742//18046 12662//18047 12927//17989 +f 13212//18048 12375//17991 3054//17990 +f 12662//18047 13212//18048 3054//17990 +f 13212//18048 11959//18049 9755//17992 +f 12375//17991 13212//18048 9755//17992 +f 11959//18049 13503//12907 13504//12906 +f 9755//17992 11959//18049 13504//12906 +f 12389//12908 5222//18050 15895//143 +f 12750//1071 13503//12907 11959//18049 +f 10122//2355 9860//2534 4658//7823 +f 10241//7822 10122//2355 4658//7823 +f 13913//12200 14011//11596 14010//11497 +f 3320//15005 8798//6627 11779//17978 +f 13636//16868 13635//14899 13537//14886 +f 10773//3492 2794//4857 1295//2951 +f 22043//18051 22042//11086 18730//11080 +f 10568//13356 10618//1575 8044//9184 +f 2653//12289 8137//15723 5870//14735 +f 30087//18052 29415//14853 24122//18053 +f 11729//2273 11813//18054 11812//17996 +f 13538//16866 13636//16868 13537//14886 +f 11813//18054 11899//18055 11898//17997 +f 11812//17996 11813//18054 11898//17997 +f 11899//18055 11983//18056 11982//17998 +f 11898//17997 11899//18055 11982//17998 +f 11983//18056 12064//18057 12063//14284 +f 11982//17998 11983//18056 12063//14284 +f 12064//18057 12146//18058 12145//14285 +f 12063//14284 12064//18057 12145//14285 +f 12146//18058 12229//18059 12228//17999 +f 12145//14285 12146//18058 12228//17999 +f 12229//18059 12314//18060 12313//18001 +f 12228//17999 12229//18059 12313//18001 +f 12314//18060 12400//18061 12399//18003 +f 12313//18001 12314//18060 12399//18003 +f 12400//18061 12489//18062 12488//18004 +f 12399//18003 12400//18061 12488//18004 +f 12489//18062 12579//18063 12578//18005 +f 12488//18004 12489//18062 12578//18005 +f 12579//18063 12669//18064 12668//18006 +f 12578//18005 12579//18063 12668//18006 +f 12669//18064 12758//18065 12757//15947 +f 12668//18006 12669//18064 12757//15947 +f 12758//18065 12850//18066 12849//14830 +f 12757//15947 12758//18065 12849//14830 +f 12943//18067 12942//14846 12849//14830 +f 12850//18066 12943//18067 12849//14830 +f 27521//15785 26498//1855 19244//17136 +f 12943//18067 13037//17984 12942//14846 +f 31554//13860 31553//13980 26618//2623 +f 35637//2505 35866//17943 35607//4973 +f 11613//17290 11688//17436 11612//17424 +f 11458//4033 11459//10649 11522//5028 +f 8158//14871 9743//17703 7674//14907 +f 30860//18068 30859//18069 30848//18007 +f 13693//4493 2915//1122 5876//1124 +f 3044//1123 10969//2521 1623//3742 +f 20362//18070 20363//18071 20446//16891 +f 1853//17742 2249//4442 5471//18072 +f 11745//12103 11744//9800 11664//9739 +f 7884//10912 8128//14362 14287//14364 +f 11853//16687 11852//17284 11768//17366 +f 11769//16104 11768//17366 11687//17363 +f 20873//1435 20953//230 20952//17516 +f 31302//18073 31369//16978 31301//16980 +f 10209//8503 10210//8502 13907//11318 +f 11556//10113 7165//10112 7060//10661 +f 7148//17174 10092//16059 8581//1425 +f 8581//1425 25539//17175 7148//17174 +f 14197//18074 14196//18012 14100//18000 +f 14101//18075 14197//18074 14100//18000 +f 14295//18076 14294//18013 14196//18012 +f 14197//18074 14295//18076 14196//18012 +f 14295//18076 4235//18077 113//18014 +f 14294//18013 14295//18076 113//18014 +f 9113//18078 13518//18015 113//18014 +f 4235//18077 9113//18078 113//18014 +f 13412//18079 13489//18016 13518//18015 +f 9113//18078 13412//18079 13518//18015 +f 5565//18080 2521//18017 13489//18016 +f 13412//18079 5565//18080 13489//18016 +f 13708//18081 11260//18018 2521//18017 +f 5565//18080 13708//18081 2521//18017 +f 1139//18082 6124//18019 11260//18018 +f 13708//18081 1139//18082 11260//18018 +f 3995//18083 4129//18020 6124//18019 +f 1139//18082 3995//18083 6124//18019 +f 8228//18084 8247//18021 4129//18020 +f 3995//18083 8228//18084 4129//18020 +f 4657//18085 4523//18022 8247//18021 +f 8228//18084 4657//18085 8247//18021 +f 13512//18086 12291//18023 4523//18022 +f 4657//18085 13512//18086 4523//18022 +f 13493//18087 13236//18024 12291//18023 +f 13512//18086 13493//18087 12291//18023 +f 2615//18088 340//18025 13236//18024 +f 13493//18087 2615//18088 13236//18024 +f 10008//18089 9891//18026 340//18025 +f 2615//18088 10008//18089 340//18025 +f 681//18090 9062//18027 9891//18026 +f 10008//18089 681//18090 9891//18026 +f 11014//18091 1297//18028 9062//18027 +f 681//18090 11014//18091 9062//18027 +f 6127//2741 111//9476 1297//18028 +f 11014//18091 6127//2741 1297//18028 +f 13020//5994 15428//14688 10384//5993 +f 6127//2741 3591//1334 111//9476 +f 13686//14595 11009//10061 11973//17971 +f 2125//13598 3998//8379 1052//10268 +f 12584//5874 12674//13034 12673//5564 +f 12583//5563 12584//5874 12673//5564 +f 9918//12524 1644//17796 13889//3894 +f 1644//17796 12115//17862 288//3895 +f 11734//13464 11735//16566 11818//17794 +f 11819//14818 11905//14227 11904//14226 +f 131//14298 10093//14297 5698//9565 +f 13497//11201 13417//6420 8227//6419 +f 8198//14974 9112//15102 7287//14663 +f 10093//14297 13497//11201 8227//6419 +f 11656//11010 11736//15103 11655//17973 +f 11820//13213 11906//13119 11819//14818 +f 10373//10850 10106//13216 10497//10851 +f 5042//13215 6509//13755 12838//14424 +f 11059//13263 13205//13178 7683//13262 +f 22619//2731 22618//2733 22519//12783 +f 12472//12290 5695//13406 12562//12291 +f 12855//13195 12948//13915 12854//5411 +f 11908//12405 11992//5982 11907//13118 +f 12073//11909 12072//13031 11991//13030 +f 8754//2363 8755//2362 8861//14277 +f 13734//16184 13733//14909 13635//14899 +f 32100//18092 32200//4566 32099//17692 +f 22244//17012 22732//15694 21136//16063 +f 26252//18093 26244//15912 23833//18094 +f 31370//18095 31437//9447 31369//16978 +f 32509//18096 32508//7546 32403//10691 +f 12857//12770 12950//1734 12949//13194 +f 34551//5901 34550//4761 34413//3131 +f 31509//9448 31508//14631 31436//9449 +f 30861//18097 30860//18068 30848//18007 +f 12467//13887 9677//9329 15084//13888 +f 30161//10745 30160//15461 30028//4431 +f 11546//17114 11613//17290 11545//17351 +f 7674//14907 9743//17703 6647//14908 +f 8457//9069 8347//5282 300//9070 +f 11566//18098 11644//13143 14597//18099 +f 3062//4248 9516//12222 5603//15101 +f 13406//18100 12940//18042 12651//18043 +f 12740//18101 13406//18100 12651//18043 +f 13875//18102 13983//18044 12940//18042 +f 13406//18100 13875//18102 12940//18042 +f 13976//18103 12044//18045 13983//18044 +f 13875//18102 13976//18103 13983//18044 +f 12741//18104 12742//18046 12044//18045 +f 13976//18103 12741//18104 12044//18045 +f 13309//18105 12662//18047 12742//18046 +f 12741//18104 13309//18105 12742//18046 +f 13309//18105 12848//18106 13212//18048 +f 12662//18047 13309//18105 13212//18048 +f 12848//18106 11875//1069 11959//18049 +f 13212//18048 12848//18106 11959//18049 +f 11974//1070 5222//18050 12750//1071 +f 11875//1069 12750//1071 11959//18049 +f 13997//3156 13996//3109 10119//3353 +f 10093//14297 8227//6419 5698//9565 +f 9860//2534 2367//2398 4926//12306 +f 13321//7566 13770//2727 13771//9582 +f 3713//2922 1386//6511 6663//3149 +f 2385//6512 3196//10955 5205//3150 +f 13963//15804 7787//13765 14278//14979 +f 17471//17972 22043//18051 18730//11080 +f 11879//17689 10374//13358 12222//14022 +f 11091//14558 9880//626 9879//11722 +f 18056//9281 34487//18032 11648//18107 +f 17444//11081 22041//11087 17817//2113 +f 11730//18108 11814//18109 11813//18054 +f 11729//2273 11730//18108 11813//18054 +f 11814//18109 11900//18110 11899//18055 +f 11813//18054 11814//18109 11899//18055 +f 11900//18110 11984//18111 11983//18056 +f 11899//18055 11900//18110 11983//18056 +f 11984//18111 12065//18112 12064//18057 +f 11983//18056 11984//18111 12064//18057 +f 12065//18112 12147//18113 12146//18058 +f 12064//18057 12065//18112 12146//18058 +f 12147//18113 12230//18114 12229//18059 +f 12146//18058 12147//18113 12229//18059 +f 12230//18114 12315//18115 12314//18060 +f 12229//18059 12230//18114 12314//18060 +f 12315//18115 12401//18116 12400//18061 +f 12314//18060 12315//18115 12400//18061 +f 12401//18116 12490//18117 12489//18062 +f 12400//18061 12401//18116 12489//18062 +f 12490//18117 12580//18118 12579//18063 +f 12489//18062 12490//18117 12579//18063 +f 12580//18118 12670//18119 12669//18064 +f 12579//18063 12580//18118 12669//18064 +f 12670//18119 12759//18120 12758//18065 +f 12669//18064 12670//18119 12758//18065 +f 12759//18120 12851//18121 12850//18066 +f 12758//18065 12759//18120 12850//18066 +f 12944//18122 12943//18067 12850//18066 +f 12851//18121 12944//18122 12850//18066 +f 13038//18123 13037//17984 12943//18067 +f 12944//18122 13038//18123 12943//18067 +f 1486//5948 5991//6845 5992//3489 +f 13038//18123 13132//15239 13037//17984 +f 22840//15023 22453//477 23231//15024 +f 12208//8266 11723//8180 13327//16299 +f 13321//7566 13692//12558 35858//7054 +f 8753//14059 8754//2363 8861//14277 +f 8798//6627 11858//3522 11779//17978 +f 13284//17756 35674//9806 35659//9805 +f 11858//3522 13226//2963 13691//17979 +f 11779//17978 11858//3522 13691//17979 +f 11866//15276 13984//1189 11950//7732 +f 26680//18124 26681//7152 24296//15205 +f 16055//18125 11445//1188 11877//1190 +f 13984//1189 11445//1188 11724//2383 +f 31436//9449 31435//17677 31368//16979 +f 11939//17833 11938//17496 11852//17284 +f 14004//17698 14003//11221 10328//11222 +f 8347//5282 8346//7470 3736//7545 +f 14004//17698 14102//18126 14101//18075 +f 14003//11221 14004//17698 14101//18075 +f 14198//18127 14197//18074 14101//18075 +f 14102//18126 14198//18127 14101//18075 +f 14296//18128 14295//18076 14197//18074 +f 14198//18127 14296//18128 14197//18074 +f 9429//18129 4235//18077 14295//18076 +f 14296//18128 9429//18129 14295//18076 +f 10030//18130 9113//18078 4235//18077 +f 9429//18129 10030//18130 4235//18077 +f 13407//18131 13412//18079 9113//18078 +f 10030//18130 13407//18131 9113//18078 +f 12309//18132 5565//18080 13412//18079 +f 13407//18131 12309//18132 13412//18079 +f 3047//18133 13708//18081 5565//18080 +f 12309//18132 3047//18133 5565//18080 +f 1138//18134 1139//18082 13708//18081 +f 3047//18133 1138//18134 13708//18081 +f 14175//18135 3995//18083 1139//18082 +f 1138//18134 14175//18135 1139//18082 +f 1973//18136 8228//18084 3995//18083 +f 14175//18135 1973//18136 3995//18083 +f 4791//18137 4657//18085 8228//18084 +f 1973//18136 4791//18137 8228//18084 +f 63//18138 13512//18086 4657//18085 +f 4791//18137 63//18138 4657//18085 +f 13492//18139 13493//18087 13512//18086 +f 63//18138 13492//18139 13512//18086 +f 297//18140 2615//18088 13493//18087 +f 13492//18139 297//18140 13493//18087 +f 12575//18141 10008//18089 2615//18088 +f 297//18140 12575//18141 2615//18088 +f 10247//18142 681//18090 10008//18089 +f 12575//18141 10247//18142 10008//18089 +f 2770//18143 11014//18091 681//18090 +f 10247//18142 2770//18143 681//18090 +f 1760//18144 6127//2741 11014//18091 +f 2770//18143 1760//18144 11014//18091 +f 16868//8380 17030//9158 4098//8378 +f 1760//18144 7466//2740 6127//2741 +f 12585//13033 12675//14299 12674//13034 +f 11320//7344 936//7345 2498//7536 +f 12319//1863 12405//6632 12404//18145 +f 12318//7834 12319//1863 12404//18145 +f 13595//17863 13110//10558 12033//13182 +f 12115//17862 13595//17863 12033//13182 +f 11654//5577 11655//17973 11734//13464 +f 11735//16566 11819//14818 11818//17794 +f 13497//11201 8198//14974 7287//14663 +f 13417//6420 13497//11201 7287//14663 +f 12495//5873 12496//9306 12585//13033 +f 12586//9305 12676//9399 12675//14299 +f 11906//13119 11990//13120 11989//14229 +f 11905//14227 11906//13119 11989//14229 +f 444//13576 10373//10850 2908//10852 +f 10106//13216 12838//14424 10497//10851 +f 35778//4974 34870//2450 35942//17652 +f 14109//7015 14108//7159 14010//11497 +f 3335//6506 10106//13216 10373//10850 +f 14086//6430 3335//6506 10373//10850 +f 11992//5982 12073//11909 11991//13030 +f 12155//12028 12154//3750 12072//13031 +f 11680//14211 11679//14177 11604//7637 +f 12227//17687 12312//18002 8326//14271 +f 5584//3185 5586//6824 7178//3186 +f 10253//13176 13205//13178 10951//13177 +f 13157//17331 13156//17515 13062//17453 +f 11972//13452 13782//17753 11888//12360 +f 13636//16868 13734//16184 13635//14899 +f 457//11249 21378//10615 21468//15228 +f 15111//256 15237//8026 7585//6933 +f 10877//11531 13097//7635 12476//6246 +f 13226//2963 13611//2964 13612//17993 +f 13691//17979 13226//2963 13612//17993 +f 11590//3323 11665//3322 11589//9656 +f 13984//1189 11724//2383 11950//7732 +f 4123//17615 1976//15866 15737//210 +f 11688//17436 11769//16104 11687//17363 +f 10900//12526 6268//5105 6387//5242 +f 12577//14332 12667//17637 8755//2362 +f 2917//1445 2781//1444 5549//18146 +f 12859//3708 12952//17985 12951//14027 +f 13123//18147 13406//18100 12740//18101 +f 12832//18148 13123//18147 12740//18101 +f 13973//18149 13875//18102 13406//18100 +f 13123//18147 13973//18149 13406//18100 +f 13879//18150 13976//18103 13875//18102 +f 13973//18149 13879//18150 13875//18102 +f 11797//18151 12741//18104 13976//18103 +f 13879//18150 11797//18151 13976//18103 +f 14081//18152 13309//18105 12741//18104 +f 11797//18151 14081//18152 12741//18104 +f 14081//18152 12463//18153 12848//18106 +f 13309//18105 14081//18152 12848//18106 +f 12463//18153 11788//18154 11875//1069 +f 12848//18106 12463//18153 11875//1069 +f 12054//18155 15061//680 11974//1070 +f 11788//18154 11974//1070 11875//1069 +f 13996//3109 8692//4545 10119//3353 +f 21746//18156 18010//11169 22042//11086 +f 28368//18157 19645//16393 27143//17995 +f 10932//8952 7461//13605 11058//11440 +f 6663//3149 2385//6512 5205//3150 +f 16047//18158 12570//18159 21697//18160 +f 13832//16183 13831//14917 13733//14909 +f 13734//16184 13832//16183 13733//14909 +f 22043//18051 21746//18156 22042//11086 +f 13865//12131 12726//8282 11366//12129 +f 12964//18161 15477//18162 13058//18163 +f 30829//11027 17444//11081 30828//107 +f 11731//18164 11815//18165 11814//18109 +f 11730//18108 11731//18164 11814//18109 +f 11815//18165 11901//18166 11900//18110 +f 11814//18109 11815//18165 11900//18110 +f 11901//18166 11985//18167 11984//18111 +f 11900//18110 11901//18166 11984//18111 +f 11985//18167 12066//18168 12065//18112 +f 11984//18111 11985//18167 12065//18112 +f 12066//18168 12148//18169 12147//18113 +f 12065//18112 12066//18168 12147//18113 +f 12148//18169 12231//18170 12230//18114 +f 12147//18113 12148//18169 12230//18114 +f 12231//18170 12316//18171 12315//18115 +f 12230//18114 12231//18170 12315//18115 +f 12316//18171 12402//18172 12401//18116 +f 12315//18115 12316//18171 12401//18116 +f 12402//18172 12491//18173 12490//18117 +f 12401//18116 12402//18172 12490//18117 +f 12491//18173 12581//18174 12580//18118 +f 12490//18117 12491//18173 12580//18118 +f 12581//18174 12671//18175 12670//18119 +f 12580//18118 12581//18174 12670//18119 +f 12671//18175 12760//18176 12759//18120 +f 12670//18119 12671//18175 12759//18120 +f 12760//18176 12852//18177 12851//18121 +f 12759//18120 12760//18176 12851//18121 +f 12852//18177 12945//18178 12944//18122 +f 12851//18121 12852//18177 12944//18122 +f 13039//18179 13038//18123 12944//18122 +f 12945//18178 13039//18179 12944//18122 +f 13134//2602 13229//1086 16079//15237 +f 13039//18179 13133//18180 13038//18123 +f 11723//8180 12137//3636 12056//3635 +f 13327//16299 11723//8180 12056//3635 +f 11956//15721 12202//10973 5603//15101 +f 8126//569 10853//15195 16159//570 +f 13539//16867 13637//17247 13636//16868 +f 1175//12205 13419//14831 9543//13155 +f 13611//2964 13574//7243 13476//17994 +f 13612//17993 13611//2964 13476//17994 +f 13574//7243 12636//3497 12366//18010 +f 13476//17994 13574//7243 12366//18010 +f 11866//15276 11950//7732 12641//2558 +f 12370//15274 11866//15276 12641//2558 +f 13702//14752 11890//2224 8483//15241 +f 13930//17580 13929//14945 13831//14917 +f 954//5881 19122//6099 953//1699 +f 8451//11594 6514//5938 10810//13157 +f 14103//18181 14102//18126 14004//17698 +f 14005//17697 14103//18181 14004//17698 +f 14199//18182 14198//18127 14102//18126 +f 14103//18181 14199//18182 14102//18126 +f 14297//18183 14296//18128 14198//18127 +f 14199//18182 14297//18183 14198//18127 +f 14297//18183 8527//18184 9429//18129 +f 14296//18128 14297//18183 9429//18129 +f 9913//18185 10030//18130 9429//18129 +f 8527//18184 9913//18185 9429//18129 +f 9913//18185 565//18186 13407//18131 +f 10030//18130 9913//18185 13407//18131 +f 12631//18187 12309//18132 13407//18131 +f 565//18186 12631//18187 13407//18131 +f 13803//18188 3047//18133 12309//18132 +f 12631//18187 13803//18188 12309//18132 +f 13581//18189 1138//18134 3047//18133 +f 13803//18188 13581//18189 3047//18133 +f 13671//18190 14175//18135 1138//18134 +f 13581//18189 13671//18190 1138//18134 +f 6123//18191 1973//18136 14175//18135 +f 13671//18190 6123//18191 14175//18135 +f 2633//18192 4791//18137 1973//18136 +f 6123//18191 2633//18192 1973//18136 +f 13572//18193 63//18138 4791//18137 +f 2633//18192 13572//18193 4791//18137 +f 13398//18194 13492//18139 63//18138 +f 13572//18193 13398//18194 63//18138 +f 235//18195 297//18140 13492//18139 +f 13398//18194 235//18195 13492//18139 +f 14092//18196 12575//18141 297//18140 +f 235//18195 14092//18196 297//18140 +f 10366//18197 10247//18142 12575//18141 +f 14092//18196 10366//18197 12575//18141 +f 797//18198 2770//18143 10247//18142 +f 10366//18197 797//18198 10247//18142 +f 291//18199 1760//18144 2770//18143 +f 797//18198 291//18199 2770//18143 +f 4098//8378 7466//2740 1760//18144 +f 291//18199 4098//8378 1760//18144 +f 7800//6732 12846//6634 12221//14238 +f 2785//2079 2786//12924 17160//3127 +f 12405//6632 12494//5872 12493//18200 +f 12404//18145 12405//6632 12493//18200 +f 3345//11956 187//2517 13110//10558 +f 6521//2518 459//11957 2125//13598 +f 11580//16204 11655//17973 11654//5577 +f 17371//18201 35065//9341 34937//16798 +f 9112//15102 9446//2019 7287//14663 +f 4248//12223 12387//8255 9446//2019 +f 12320//2022 12321//5830 12406//6527 +f 12407//7443 12496//9306 12495//5873 +f 5603//15101 9516//12222 4248//12223 +f 8443//13577 6893//11530 7808//11529 +f 9516//12222 8443//13577 7808//11529 +f 8443//13577 3200//13573 3201//13575 +f 14011//11596 14109//7015 14010//11497 +f 14205//7017 14204//7160 14108//7159 +f 14086//6430 10373//10850 444//13576 +f 64//7466 14086//6430 444//13576 +f 12073//11909 12155//12028 12072//13031 +f 12498//2916 12497//2918 12408//5829 +f 12953//10792 13047//9136 13046//9135 +f 12952//17985 12953//10792 13046//9135 +f 13742//15900 13840//13067 13741//13069 +f 11971//8181 13//17022 12388//11784 +f 8086//3154 10773//3492 1295//2951 +f 22718//2732 22817//14862 22717//14241 +f 14282//1873 9521//14495 2106//1739 +f 13832//16183 13930//17580 13831//14917 +f 11717//10949 11801//14449 4793//3966 +f 14097//14202 14096//17775 10324//14203 +f 12459//3499 12034//18011 12366//18010 +f 12144//2765 12370//15274 12641//2558 +f 12636//3497 12459//3499 12366//18010 +f 11769//16104 11853//16687 11768//17366 +f 2389//2766 12144//2765 12641//2558 +f 2851//9615 2715//7857 2716//9612 +f 24212//18036 13696//6692 3078//17608 +f 3220//2233 3358//2232 15566//940 +f 15971//78 11800//77 17157//18202 +f 13311//18203 13123//18147 12832//18148 +f 12833//9068 13311//18203 12832//18148 +f 13972//18204 13973//18149 13123//18147 +f 13311//18203 13972//18204 13123//18147 +f 13880//18205 13879//18150 13973//18149 +f 13972//18204 13880//18205 13973//18149 +f 12652//18206 11797//18151 13879//18150 +f 13880//18205 12652//18206 13879//18150 +f 13108//18207 14081//18152 11797//18151 +f 12652//18206 13108//18207 11797//18151 +f 13108//18207 13712//18208 12463//18153 +f 14081//18152 13108//18207 12463//18153 +f 13712//18208 1618//18209 11788//18154 +f 12463//18153 13712//18208 11788//18154 +f 12054//18155 11974//1070 11788//18154 +f 1618//18209 12054//18155 11788//18154 +f 14210//7634 14308//7633 14307//7008 +f 14693//2082 16672//109 16393//151 +f 8854//10577 2515//4664 8853//10578 +f 5555//8862 13772//4205 13773//3153 +f 6520//1116 1856//5711 13792//1117 +f 13334//5713 3042//14698 2903//3545 +f 14028//17514 14027//14985 13929//14945 +f 13930//17580 14028//17514 13929//14945 +f 21746//18156 7182//18210 7181//11248 +f 30695//10876 30829//11027 30694//2472 +f 18010//11169 21746//18156 7181//11248 +f 11652//18211 11732//18212 11731//18164 +f 32801//2272 11651//18213 11730//18108 +f 11732//18212 11816//18214 11815//18165 +f 11731//18164 11732//18212 11815//18165 +f 11816//18214 11902//18215 11901//18166 +f 11815//18165 11816//18214 11901//18166 +f 11902//18215 11986//18216 11985//18167 +f 11901//18166 11902//18215 11985//18167 +f 11986//18216 12067//18217 12066//18168 +f 11985//18167 11986//18216 12066//18168 +f 12067//18217 12149//18218 12148//18169 +f 12066//18168 12067//18217 12148//18169 +f 12149//18218 12232//18219 12231//18170 +f 12148//18169 12149//18218 12231//18170 +f 12232//18219 12317//18220 12316//18171 +f 12231//18170 12232//18219 12316//18171 +f 12317//18220 12403//18221 12402//18172 +f 12316//18171 12317//18220 12402//18172 +f 12403//18221 12492//18222 12491//18173 +f 12402//18172 12403//18221 12491//18173 +f 12492//18222 12582//14240 12581//18174 +f 12491//18173 12492//18222 12581//18174 +f 12582//14240 12672//5565 12671//18175 +f 12581//18174 12582//14240 12671//18175 +f 12672//5565 12761//7911 12760//18176 +f 12671//18175 12672//5565 12760//18176 +f 12761//7911 12853//5412 12852//18177 +f 12760//18176 12761//7911 12852//18177 +f 12946//6287 12945//18178 12852//18177 +f 12853//5412 12946//6287 12852//18177 +f 13040//10508 13039//18179 12945//18178 +f 12946//6287 13040//10508 12945//18178 +f 13134//2602 13133//18180 13039//18179 +f 13040//10508 13134//2602 13039//18179 +f 12137//3636 11635//12017 12828//3637 +f 5569//4889 5275//2772 5436//2771 +f 7811//3326 7468//3325 13584//12359 +f 14178//12357 13584//12359 13974//6631 +f 14126//17513 14125//15025 14027//14985 +f 34844//15724 6935//15225 34971//15257 +f 6647//14908 5471//18072 9101//12172 +f 10211//13763 13909//11373 13908//12515 +f 1255//10015 13002//18037 12034//18011 +f 12459//3499 1255//10015 12034//18011 +f 17601//3171 17507//6426 20122//18223 +f 12052//7565 11799//2764 2389//2766 +f 35429//8314 35505//4453 35487//2817 +f 35842//7156 28071//7155 29685//6336 +f 13908//12515 14006//12516 14005//17697 +f 13907//11318 13908//12515 14005//17697 +f 14104//13305 14103//18181 14005//17697 +f 14006//12516 14104//13305 14005//17697 +f 14200//13304 14199//18182 14103//18181 +f 14104//13305 14200//13304 14103//18181 +f 14298//3706 14297//18183 14199//18182 +f 14200//13304 14298//3706 14199//18182 +f 14298//3706 8201//8865 8527//18184 +f 14297//18183 14298//3706 8527//18184 +f 9686//8864 9913//18185 8527//18184 +f 8201//8865 9686//8864 8527//18184 +f 7933//3501 565//18186 9913//18185 +f 9686//8864 7933//3501 9913//18185 +f 12630//3500 12631//18187 565//18186 +f 7933//3501 12630//3500 565//18186 +f 12930//5519 13803//18188 12631//18187 +f 12630//3500 12930//5519 12631//18187 +f 14088//7636 13581//18189 13803//18188 +f 12930//5519 14088//7636 13803//18188 +f 13670//14225 13671//18190 13581//18189 +f 14088//7636 13670//14225 13581//18189 +f 2088//10117 6123//18191 13671//18190 +f 13670//14225 2088//10117 13671//18190 +f 2498//7536 2633//18192 6123//18191 +f 2088//10117 2498//7536 6123//18191 +f 936//7345 13572//18193 2633//18192 +f 2498//7536 936//7345 2633//18192 +f 13494//3896 13398//18194 13572//18193 +f 936//7345 13494//3896 13572//18193 +f 4787//7238 235//18195 13398//18194 +f 13494//3896 4787//7238 13398//18194 +f 10377//10559 14092//18196 235//18195 +f 4787//7238 10377//10559 235//18195 +f 7769//8355 10366//18197 14092//18196 +f 10377//10559 7769//8355 14092//18196 +f 8579//2519 797//18198 10366//18197 +f 7769//8355 8579//2519 10366//18197 +f 1052//10268 291//18199 797//18198 +f 8579//2519 1052//10268 797//18198 +f 3998//8379 4098//8378 291//18199 +f 1052//10268 3998//8379 291//18199 +f 3733//2025 12920//15145 10818//2026 +f 58//18224 10350//14291 11185//13692 +f 12494//5872 12584//5874 12583//5563 +f 12493//18200 12494//5872 12583//5563 +f 13595//17863 3345//11956 13110//10558 +f 459//11957 6521//2518 187//2517 +f 7182//18210 15476//18225 21379//11323 +f 11655//17973 11735//16566 11734//13464 +f 14301//12382 131//14298 14300//3520 +f 9112//15102 4248//12223 9446//2019 +f 12406//6527 12407//7443 12495//5873 +f 12496//9306 12586//9305 12585//13033 +f 6893//11530 8443//13577 3201//13575 +f 11956//15721 5603//15101 9112//15102 +f 14259//7561 7457//13830 5988//11199 +f 13801//12233 11498//8081 12293//11287 +f 14109//7015 14205//7017 14108//7159 +f 14303//7348 14302//12926 14204//7160 +f 64//7466 444//13576 13987//7662 +f 13988//5967 64//7466 13987//7662 +f 12409//10647 12498//2916 12408//5829 +f 12588//2917 12587//2921 12497//2918 +f 12860//8961 12953//10792 12952//17985 +f 12859//3708 12860//8961 12952//17985 +f 13579//733 4797//13297 11617//14980 +f 20557//263 20556//265 20471//15378 +f 15889//8985 142//18226 6148//14385 +f 13722//4173 13820//4352 13819//7534 +f 4410//828 4543//2526 8126//569 +f 14028//17514 14126//17513 14027//14985 +f 10624//9469 35945//6694 35383//6696 +f 12845//10699 12847//17922 13002//18037 +f 1255//10015 12845//10699 13002//18037 +f 13620//5989 11799//2764 12052//7565 +f 12727//2381 13620//5989 12052//7565 +f 12926//8276 10382//14099 13020//5994 +f 11853//16687 11939//17833 11852//17284 +f 12926//8276 12833//9068 11620//79 +f 14222//14446 14221//14448 14125//15025 +f 13310//2192 13311//18203 12833//9068 +f 12926//8276 13310//2192 12833//9068 +f 13778//2191 13972//18204 13311//18203 +f 13310//2192 13778//2191 13311//18203 +f 13881//12021 13880//18205 13972//18204 +f 13778//2191 13881//12021 13972//18204 +f 12562//12291 12652//18206 13880//18205 +f 13881//12021 12562//12291 13880//18205 +f 12649//13407 13108//18207 12652//18206 +f 12562//12291 12649//13407 12652//18206 +f 9420//17861 13712//18208 13108//18207 +f 12649//13407 9420//17861 13108//18207 +f 9420//17861 10121//17916 1618//18209 +f 13712//18208 9420//17861 1618//18209 +f 11973//17971 12054//18155 1618//18209 +f 10121//17916 11973//17971 1618//18209 +f 14209//7007 14210//7634 14307//7008 +f 11009//10061 12461//10060 11973//17971 +f 10807//8950 10683//13603 10684//13680 +f 11793//6731 12846//6634 7800//6732 +f 3041//6520 2518//13625 2210//1114 +f 13871//1430 3041//6520 2210//1114 +f 14126//17513 14222//14446 14125//15025 +f 666//14447 13516//15033 14221//14448 +f 7181//11248 7182//18210 21379//11323 +f 15476//18225 7084//18227 17671//11394 +f 2140//18228 33934//18229 19045//18230 +f 17444//11081 17817//2113 30828//107 +f 11653//5578 11733//13465 11732//18212 +f 11652//18211 11653//5578 11732//18212 +f 11733//13465 11817//17725 11816//18214 +f 11732//18212 11733//13465 11816//18214 +f 11817//17725 11903//17795 11902//18215 +f 11816//18214 11817//17725 11902//18215 +f 11903//17795 11987//17802 11986//18216 +f 11902//18215 11903//17795 11986//18216 +f 11987//17802 12068//17746 12067//18217 +f 11986//18216 11987//17802 12067//18217 +f 12068//17746 12150//13670 12149//18218 +f 12067//18217 12068//17746 12149//18218 +f 12150//13670 12233//14864 12232//18219 +f 12149//18218 12150//13670 12232//18219 +f 12233//14864 12318//7834 12317//18220 +f 12232//18219 12233//14864 12317//18220 +f 12318//7834 12404//18145 12403//18221 +f 12317//18220 12318//7834 12403//18221 +f 12404//18145 12493//18200 12492//18222 +f 12403//18221 12404//18145 12492//18222 +f 12493//18200 12583//5563 12582//14240 +f 12492//18222 12493//18200 12582//14240 +f 11550//6422 14169//9635 13974//6631 +f 16115//1100 5473//18231 2442//1088 +f 16859//18232 4951//18233 14783//1089 +f 2442//1088 16859//18232 14783//1089 +f 4951//18233 16388//18234 16389//1909 +f 14783//1089 4951//18233 16389//1909 +f 16388//18234 5212//18235 3353//1236 +f 16389//1909 16388//18234 3353//1236 +f 14862//18236 14981//1237 3353//1236 +f 5212//18235 14862//18236 3353//1236 +f 16318//18237 15173//1860 14981//1237 +f 14862//18236 16318//18237 14981//1237 +f 15178//18238 15059//2081 15173//1860 +f 16318//18237 15178//18238 15173//1860 +f 16848//18239 14693//2082 15059//2081 +f 15178//18238 16848//18239 15059//2081 +f 15771//18240 4809//720 4909//18241 +f 15492//2430 25//18242 14810//18243 +f 25//18242 3267//18244 14810//18243 +f 15267//722 14489//6315 15105//18245 +f 14932//18246 16796//8517 14693//2082 +f 16466//1647 15295//18247 4534//18248 +f 16848//18239 14932//18246 14693//2082 +f 14932//18246 3535//18249 14548//8884 +f 16796//8517 14932//18246 14548//8884 +f 2445//18250 15657//8634 14548//8884 +f 3535//18249 2445//18250 14548//8884 +f 2445//18250 14726//18251 14704//8790 +f 15657//8634 2445//18250 14704//8790 +f 14726//18251 4668//18252 16036//8791 +f 6403//1794 6528//1793 7005//18253 +f 14704//8790 14726//18251 16036//8791 +f 4909//18241 4809//720 4950//18254 +f 14985//1483 15107//18255 16097//18256 +f 14742//18257 15771//18240 4909//18241 +f 4809//720 15267//722 4950//18254 +f 14336//18258 14599//18259 14319//18260 +f 14599//18259 15771//18240 14742//18257 +f 14336//18258 14319//18260 3267//18244 +f 2381//18261 14599//18259 14742//18257 +f 25//18242 14336//18258 3267//18244 +f 14599//18259 2381//18261 14319//18260 +f 2050//18262 328//18263 4784//1015 +f 328//18263 14814//18264 2613//1016 +f 15492//2430 14810//18243 15422//18265 +f 16513//8886 2050//18262 4784//1015 +f 6528//1793 16097//18256 7005//18253 +f 15295//18247 15492//2430 15422//18265 +f 4668//18252 1851//18266 3750//9458 +f 20670//18267 20671//18268 24593//18269 +f 16036//8791 4668//18252 3750//9458 +f 1851//18266 15562//18270 3406//9361 +f 22716//4526 22815//4525 22715//1743 +f 3750//9458 1851//18266 3406//9361 +f 15295//18247 15422//18265 4534//18248 +f 7005//18253 16109//18271 275//18272 +f 6528//1793 14985//1483 16097//18256 +f 16466//1647 4534//18248 15107//18255 +f 16669//18273 14611//18274 14610//501 +f 14985//1483 16466//1647 15107//18255 +f 4784//1015 328//18263 2613//1016 +f 14814//18264 16669//18273 16514//5882 +f 16514//5882 16669//18273 14610//501 +f 2613//1016 14814//18264 16514//5882 +f 14611//18274 15424//18275 15164//518 +f 14610//501 14611//18274 15164//518 +f 15424//18275 16967//18276 16804//18277 +f 16804//18277 16967//18276 16958//8978 +f 15164//518 15424//18275 16804//18277 +f 16967//18276 4006//18278 16958//8978 +f 4006//18278 3123//18279 15242//18280 +f 16958//8978 4006//18278 15242//18280 +f 15242//18280 3123//18279 476//18281 +f 14370//18282 14385//18283 14369//18284 +f 3123//18279 144//18285 476//18281 +f 144//18285 14917//18286 14799//18287 +f 21880//1307 21853//18288 21120//18289 +f 22815//4525 22814//1744 22715//1743 +f 15562//18270 16624//18290 14994//9362 +f 3406//9361 15562//18270 14994//9362 +f 16624//18290 17132//18291 16536//8422 +f 13895//18292 1879//14647 14053//18293 +f 14994//9362 16624//18290 16536//8422 +f 15527//18294 15887//18295 14540//18296 +f 9406//9290 23237//16859 20648//3141 +f 476//18281 144//18285 14799//18287 +f 14917//18286 15527//18294 15413//18297 +f 15413//18297 15527//18294 14540//18296 +f 14799//18287 14917//18286 15413//18297 +f 14421//18298 14420//18299 14401//18300 +f 15887//18295 14598//18301 3//18302 +f 2937//455 709//1987 2936//12396 +f 14402//18303 14421//18298 14401//18300 +f 2008//18304 14550//18305 14535//465 +f 1065//9355 709//1987 4402//9127 +f 14669//18306 14775//8991 14668//18307 +f 6269//18308 2008//18304 1181//9288 +f 14775//8991 14774//8993 14668//18307 +f 4402//9127 6269//18308 1181//9288 +f 14669//18306 14668//18307 14576//18309 +f 1181//9288 2008//18304 14535//465 +f 14577//18310 14576//18309 14497//18311 +f 14577//18310 14669//18306 14576//18309 +f 14402//18303 14401//18300 14384//18312 +f 14498//18313 14577//18310 14497//18311 +f 3//18302 14598//18301 823//18314 +f 14356//18315 14370//18282 14355//18316 +f 10217//6865 372//3142 21853//18288 +f 17119//18317 14593//18318 15625//18319 +f 17132//18291 5546//18320 14643//8423 +f 2889//18321 61//8539 20280//14771 +f 16536//8422 17132//18291 14643//8423 +f 5546//18320 4942//18322 15763//8561 +f 32141//5581 32140//18323 32043//5582 +f 14643//8423 5546//18320 15763//8561 +f 14540//18296 15887//18295 3//18302 +f 22617//15445 22716//4526 22616//1967 +f 14343//18324 14356//18315 14342//18325 +f 14598//18301 17119//18317 823//18314 +f 14447//18326 14498//18313 14446//18327 +f 14385//18283 14402//18303 14384//18312 +f 14447//18326 14446//18327 14420//18299 +f 14421//18298 14447//18326 14420//18299 +f 15650//18328 15787//18329 15786//18330 +f 14498//18313 14497//18311 14446//18327 +f 10382//14099 15971//78 15428//14688 +f 14888//8992 14889//4402 15008//1566 +f 1381//18331 3357//18332 3358//2232 +f 14322//9219 3532//8997 6147//8999 +f 15649//18333 15650//18328 15786//18330 +f 4416//2406 4283//18334 1742//2231 +f 27956//14254 28991//12980 27401//18335 +f 4149//1769 15900//9402 15660//18336 +f 15383//2598 15514//18337 15513//2599 +f 21372//18338 21391//11864 13319//17605 +f 15791//3199 17023//18339 5139//18340 +f 14930//1512 16051//18341 15819//1213 +f 16174//1321 16217//1903 16827//1322 +f 15387//285 15518//520 15517//18342 +f 14385//18283 14384//18312 14369//18284 +f 17902//18343 17995//18344 17901//18345 +f 823//18314 17119//18317 15625//18319 +f 14550//18305 15698//1689 15678//466 +f 22716//4526 22715//1743 22616//1967 +f 14593//18318 16993//18346 16220//18347 +f 4942//18322 2803//18348 14788//1068 +f 7000//13006 6999//12909 35189//18349 +f 15763//8561 4942//18322 14788//1068 +f 35901//6172 35481//17047 35416//6173 +f 14788//1068 2803//18348 15490//899 +f 14673//3196 14674//18350 14779//18351 +f 3318//10701 14417//18352 14416//17921 +f 14780//18353 14893//18354 14892//1011 +f 20761//18355 20175//18356 16305//18357 +f 14779//18351 14780//18353 14892//1011 +f 15625//18319 14593//18318 16220//18347 +f 22518//12784 22617//15445 22616//1967 +f 16492//635 16095//8885 16249//9363 +f 16993//18346 16693//2512 1414//18358 +f 14332//18359 14342//18325 14341//18360 +f 14370//18282 14369//18284 14355//18316 +f 18368//18361 18367//18362 18274//14310 +f 14752//18363 14750//119 6015//205 +f 15771//18240 5744//8649 4809//720 +f 5059//204 14752//18363 6015//205 +f 15416//18364 16052//18365 14513//18366 +f 13133//18180 13132//15239 13038//18123 +f 13132//15239 13133//18180 16079//15237 +f 15134//1042 15135//18367 15261//18368 +f 1408//13668 1622//739 933//740 +f 35647//6142 35693//3020 30214//3021 +f 5284//9929 5285//10013 15350//10012 +f 5600//2737 3063//2738 358//10847 +f 5756//516 5755//9230 176//517 +f 11781//8962 13477//15550 11867//15944 +f 6017//18369 1414//18358 3992//3316 +f 15416//18364 14513//18366 14656//194 +f 18144//17430 16509//18370 16357//18371 +f 5755//9230 175//18372 176//517 +f 14523//2609 14459//18373 15825//2610 +f 15135//18367 15262//18374 15261//18368 +f 1407//4722 1408//13668 933//740 +f 1771//233 16826//236 1891//4725 +f 14535//465 14550//18305 15678//466 +f 14342//18325 14355//18316 14341//18360 +f 16673//18375 9183//14314 9293//357 +f 14578//9030 14577//18310 14498//18313 +f 15655//18376 4813//1138 24250//18377 +f 35521//645 20536//188 35644//580 +f 14893//18354 15013//18378 15012//1012 +f 828//18379 14524//18380 14522//18381 +f 14892//1011 14893//18354 15012//1012 +f 14760//8681 15616//1175 14714//1136 +f 15013//18378 15136//3025 15135//18367 +f 3610//18382 6403//1794 581//18383 +f 14396//8748 16548//18384 23996//18385 +f 6774//18386 828//18379 2268//18387 +f 6140//14020 6774//18386 2268//18387 +f 20041//18388 20047//18389 20491//18390 +f 22517//6941 22518//12784 22616//1967 +f 14448//18391 14499//18392 14447//18326 +f 14355//18316 14369//18284 11567//8411 +f 35922//1856 26940//1284 35688//4715 +f 476//18281 14799//18287 14800//18393 +f 1429//6956 1545//6959 1544//18394 +f 14672//3197 14673//3196 14778//18395 +f 13229//1086 16080//1085 16079//15237 +f 6129//481 406//2237 3204//4903 +f 21025//1210 20942//18396 18635//18397 +f 14926//2429 25//18242 15492//2430 +f 15555//1253 7358//14236 7351//9159 +f 16355//18398 16356//508 16508//18399 +f 16222//15238 16367//18400 13132//15239 +f 35518//10313 35624//5710 35809//6870 +f 15478//18401 14974//18402 8115//15757 +f 16367//18400 16366//356 13132//15239 +f 16519//18403 16518//18404 16366//356 +f 16367//18400 16519//18403 16366//356 +f 16674//18405 16673//18375 16518//18404 +f 16519//18403 16674//18405 16518//18404 +f 14572//18406 14571//4445 11077//13951 +f 16674//18405 16832//18407 16673//18375 +f 14752//18363 14753//18408 16105//117 +f 13758//14353 15030//12411 13660//365 +f 17160//3127 9288//10766 16996//11595 +f 4513//2163 19102//7755 5456//2154 +f 35556//9807 35568//2366 35350//9808 +f 15398//14937 13142//8853 13237//9465 +f 14355//18316 11567//8411 14341//18360 +f 14369//18284 14384//18312 14368//1043 +f 17153//18409 16324//18410 14713//9028 +f 8124//11974 7570//12752 9447//12440 +f 7351//9159 15689//1256 15555//1253 +f 16067//18411 16068//18412 16210//506 +f 1066//16611 6774//18386 6140//14020 +f 34822//17831 34951//17830 34821//18413 +f 17887//17882 17791//16802 20290//16801 +f 3208//18414 3610//18382 581//18383 +f 27143//17995 6788//1403 13392//2626 +f 17806//18415 17902//18343 17805//18416 +f 22317//8677 22316//398 22220//123 +f 15292//798 1062//1054 14555//6312 +f 15257//18417 15258//5467 15385//4738 +f 13529//18418 13627//6279 23734//16539 +f 15699//1520 15836//6546 7879//4109 +f 13961//2423 20047//18389 20041//18388 +f 13139//14028 13138//145 13045//14030 +f 14384//18312 14383//1044 14368//1043 +f 3196//10955 15311//18419 15439//18420 +f 11185//13692 11197//2981 10459//2537 +f 13138//145 13139//14028 15528//14029 +f 58//18224 11185//13692 10459//2537 +f 9183//14314 9184//11923 9293//357 +f 9207//13735 8563//15061 10238//13737 +f 90//1609 5600//2737 89//9067 +f 17160//3127 17159//10488 9288//10766 +f 16080//1085 16223//18421 16222//15238 +f 16079//15237 16080//1085 16222//15238 +f 16368//18422 16367//18400 16222//15238 +f 16223//18421 16368//18422 16222//15238 +f 16520//18423 16519//18403 16367//18400 +f 16368//18422 16520//18423 16367//18400 +f 16675//18424 16674//18405 16519//18403 +f 16520//18423 16675//18424 16519//18403 +f 16833//18425 16832//18407 16674//18405 +f 16675//18424 16833//18425 16674//18405 +f 14997//4142 15119//4143 14257//10390 +f 16833//18425 16996//11595 16832//18407 +f 20695//2779 20696//11039 20777//11041 +f 16960//8491 347//8490 3608//12077 +f 15663//146 13138//145 15528//14029 +f 8905//11715 14869//17230 14870//15207 +f 14401//18300 14400//7572 14383//1044 +f 14384//18312 14401//18300 14383//1044 +f 35504//2091 35632//6816 35477//8506 +f 35599//9963 6965//11953 35776//17676 +f 15899//18426 15413//18297 15015//18427 +f 3493//8979 15242//18280 15016//18428 +f 15434//8914 18495//18429 18899//8915 +f 14374//18430 14373//352 14359//351 +f 15348//1297 15747//15708 16774//8421 +f 16249//9363 14431//18431 15772//18432 +f 13385//2239 11865//15987 13615//16776 +f 2916//16604 12723//16916 1066//16611 +f 15398//14937 13237//9465 15399//18433 +f 14471//18434 14473//18435 2414//18436 +f 18463//18437 18462//18438 18367//18362 +f 19191//13774 1926//9683 2051//9684 +f 15528//14029 13140//9137 15398//14937 +f 14356//18315 14355//18316 14342//18325 +f 15398//14937 15529//18439 15528//14029 +f 16518//18404 16673//18375 9293//357 +f 15529//18439 15664//18440 15663//146 +f 15528//14029 15529//18439 15663//146 +f 25856//18441 24241//15210 25855//18442 +f 6984//12163 9447//12440 1408//13668 +f 15801//18443 15940//18444 15939//1087 +f 13231//14300 15939//1087 13230//2603 +f 15940//18444 16081//18445 16080//1085 +f 15939//1087 15940//18444 16080//1085 +f 16081//18445 16224//18446 16223//18421 +f 16080//1085 16081//18445 16223//18421 +f 16369//18447 16368//18422 16223//18421 +f 16224//18446 16369//18447 16223//18421 +f 16521//18448 16520//18423 16368//18422 +f 16369//18447 16521//18448 16368//18422 +f 16676//18449 16675//18424 16520//18423 +f 16521//18448 16676//18449 16520//18423 +f 16834//18450 16833//18425 16675//18424 +f 16676//18449 16834//18450 16675//18424 +f 16997//18451 16996//11595 16833//18425 +f 16834//18450 16997//18451 16833//18425 +f 35575//3259 35468//1179 27753//13732 +f 1166//3640 1047//3549 7627//8420 +f 16162//4424 17088//18452 21286//18453 +f 9116//14744 9115//14687 146//18454 +f 14599//18259 6147//8999 15771//18240 +f 14420//18299 14419//7573 14400//7572 +f 35654//14193 35887//7147 35583//10042 +f 14870//15207 14989//254 8905//11715 +f 14501//447 14500//18455 14449//18456 +f 18368//18361 18463//18437 18367//18362 +f 15623//9286 15292//798 14555//6312 +f 15266//1441 3662//18457 14785//1442 +f 16808//18458 16972//18459 16971//2240 +f 16649//16857 16808//18458 13385//2239 +f 17138//18460 17137//18461 16971//2240 +f 16972//18459 17138//18460 16971//2240 +f 272//18462 75//18463 17137//18461 +f 17138//18460 272//18462 17137//18461 +f 5758//8621 16709//9605 226//10560 +f 15369//18464 14439//18465 5757//1587 +f 16800//8806 16962//347 16961//346 +f 17849//8873 147//18466 19413//18467 +f 393//1787 17740//1786 17741//18468 +f 312//6517 311//9517 7036//5159 +f 15399//18433 15530//18469 15529//18439 +f 15398//14937 15399//18433 15529//18439 +f 15530//18469 15665//18470 15664//18440 +f 15529//18439 15530//18469 15664//18440 +f 15665//18470 15802//18471 15801//18443 +f 15664//18440 15665//18470 15801//18443 +f 15802//18471 15941//18472 15940//18444 +f 15801//18443 15802//18471 15940//18444 +f 15941//18472 16082//18473 16081//18445 +f 15940//18444 15941//18472 16081//18445 +f 16082//18473 16225//18474 16224//18446 +f 16081//18445 16082//18473 16224//18446 +f 16370//18475 16369//18447 16224//18446 +f 16225//18474 16370//18475 16224//18446 +f 16522//18476 16521//18448 16369//18447 +f 16370//18475 16522//18476 16369//18447 +f 16677//18477 16676//18449 16521//18448 +f 16522//18476 16677//18477 16521//18448 +f 16835//18478 16834//18450 16676//18449 +f 16677//18477 16835//18478 16676//18449 +f 16998//18479 16997//18451 16834//18450 +f 16835//18478 16998//18479 16834//18450 +f 7627//8420 1047//3549 928//3729 +f 35624//5710 35635//16736 35809//6870 +f 16827//1322 16217//1903 3262//1904 +f 5413//1126 2785//2079 2921//3126 +f 7877//2987 8905//11715 14989//254 +f 5007//6301 15140//6167 15118//5164 +f 30862//18480 30861//18097 23862//18481 +f 12963//9036 12804//23 12990//1652 +f 15242//18280 476//18281 15016//18428 +f 18463//18437 18559//18482 18558//18483 +f 2258//1626 15373//1727 15310//1726 +f 20894//8913 193//16944 15434//8914 +f 14764//1619 14439//18465 15369//18464 +f 19699//15403 17797//1901 18153//18484 +f 3536//18485 2987//18486 75//18463 +f 272//18462 3536//18485 75//18463 +f 2284//18487 2685//18488 2987//18486 +f 3536//18485 2284//18487 2987//18486 +f 2804//18489 6146//6313 15166//18490 +f 857//18491 858//18492 2685//18488 +f 35433//978 35482//3515 35431//1925 +f 15758//18493 15750//18494 14551//18495 +f 15774//13107 12283//13109 15775//18496 +f 35853//1339 35458//9372 35798//3453 +f 35494//607 35808//3503 35650//7020 +f 7036//5159 311//9517 7139//9518 +f 15400//18497 15531//18498 15530//18469 +f 15399//18433 15400//18497 15530//18469 +f 15531//18498 15666//18499 15665//18470 +f 15530//18469 15531//18498 15665//18470 +f 15666//18499 15803//18500 15802//18471 +f 15665//18470 15666//18499 15802//18471 +f 15803//18500 15942//18501 15941//18472 +f 15802//18471 15803//18500 15941//18472 +f 15942//18501 16083//18502 16082//18473 +f 15941//18472 15942//18501 16082//18473 +f 16083//18502 16226//18503 16225//18474 +f 16082//18473 16083//18502 16225//18474 +f 16226//18503 16371//18504 16370//18475 +f 16225//18474 16226//18503 16370//18475 +f 16371//18504 16523//18505 16522//18476 +f 16370//18475 16371//18504 16522//18476 +f 16523//18505 16678//18506 16677//18477 +f 16522//18476 16523//18505 16677//18477 +f 16678//18506 16836//18507 16835//18478 +f 16677//18477 16678//18506 16835//18478 +f 16836//18507 16999//18508 16998//18479 +f 16835//18478 16836//18507 16998//18479 +f 6154//12570 33587//18509 34340//18510 +f 35884//11058 35867//7350 35842//7156 +f 17163//18511 5549//18146 5413//1126 +f 2102//707 4788//9799 2231//705 +f 5423//8810 5422//10232 5287//10231 +f 12651//18043 11566//18098 12740//18101 +f 14758//18512 14870//15207 14869//17230 +f 14757//18513 14758//18512 14869//17230 +f 14450//1327 14501//447 14449//18456 +f 18462//18438 18463//18437 18558//18483 +f 18559//18482 18656//18514 18655//18515 +f 18558//18483 18559//18482 18655//18515 +f 6146//6313 14764//1619 15166//18490 +f 15166//18490 14764//1619 15369//18464 +f 2284//18487 857//18491 2685//18488 +f 3877//18516 5751//18517 858//18492 +f 857//18491 3877//18516 858//18492 +f 387//18518 388//18519 5751//18517 +f 3877//18516 387//18518 5751//18517 +f 3665//8107 132//8198 4118//2983 +f 14827//18520 14607//715 2804//18489 +f 22221//8678 22317//8677 22220//123 +f 13135//10507 13230//2603 13134//2602 +f 26224//18521 15147//18522 25003//11973 +f 35720//1945 35442//1947 35459//3903 +f 15273//9467 15401//18523 15400//18497 +f 35935//5016 35424//11028 35648//13140 +f 15401//18523 15532//18524 15531//18498 +f 15400//18497 15401//18523 15531//18498 +f 15532//18524 15667//18525 15666//18499 +f 15531//18498 15532//18524 15666//18499 +f 15804//18526 15803//18500 15666//18499 +f 15667//18525 15804//18526 15666//18499 +f 15943//18527 15942//18501 15803//18500 +f 15804//18526 15943//18527 15803//18500 +f 16084//18528 16083//18502 15942//18501 +f 15943//18527 16084//18528 15942//18501 +f 16227//18529 16226//18503 16083//18502 +f 16084//18528 16227//18529 16083//18502 +f 16227//18529 16372//18530 16371//18504 +f 16226//18503 16227//18529 16371//18504 +f 16372//18530 16524//18531 16523//18505 +f 16371//18504 16372//18530 16523//18505 +f 16524//18531 16679//18532 16678//18506 +f 16523//18505 16524//18531 16678//18506 +f 16679//18532 16837//18533 16836//18507 +f 16678//18506 16679//18532 16836//18507 +f 16837//18533 17000//18534 16999//18508 +f 16836//18507 16837//18533 16999//18508 +f 17000//18534 17164//18535 17163//18511 +f 16999//18508 17000//18534 17163//18511 +f 20245//18536 20159//18537 20246//18538 +f 17163//18511 17164//18535 5549//18146 +f 2929//17157 13970//17091 7892//8988 +f 7693//18539 7425//13880 7802//10694 +f 9305//7762 4504//6231 9540//6230 +f 16153//14810 21874//7165 15150//14811 +f 3179//7544 14186//7543 35758//9468 +f 15678//466 15698//1689 5083//8563 +f 14463//423 14607//715 14827//18520 +f 15181//5048 14803//1101 4018//5181 +f 2801//18540 2800//18541 388//18519 +f 16181//18542 14463//423 14827//18520 +f 387//18518 2801//18540 388//18519 +f 944//18543 945//18544 2800//18541 +f 2801//18540 944//18543 2800//18541 +f 4135//18545 4136//18546 945//18544 +f 944//18543 4135//18545 945//18544 +f 9634//3236 14277//10398 13307//3237 +f 42//7024 4394//8196 6770//8106 +f 22414//8892 22413//914 22316//398 +f 1455//8814 2303//9034 4468//9151 +f 35071//16940 35200//18547 35199//13979 +f 34613//18548 18899//8915 19328//10905 +f 15402//18549 15401//18523 15273//9467 +f 13796//18550 35791//14088 13054//18551 +f 15533//18552 15532//18524 15401//18523 +f 15402//18549 15533//18552 15401//18523 +f 15668//18553 15667//18525 15532//18524 +f 15533//18552 15668//18553 15532//18524 +f 15805//18554 15804//18526 15667//18525 +f 15668//18553 15805//18554 15667//18525 +f 15944//18555 15943//18527 15804//18526 +f 15805//18554 15944//18555 15804//18526 +f 16085//18556 16084//18528 15943//18527 +f 15944//18555 16085//18556 15943//18527 +f 16228//18557 16227//18529 16084//18528 +f 16085//18556 16228//18557 16084//18528 +f 16228//18557 16373//18558 16372//18530 +f 16227//18529 16228//18557 16372//18530 +f 16373//18558 16525//18559 16524//18531 +f 16372//18530 16373//18558 16524//18531 +f 16525//18559 16680//18560 16679//18532 +f 16524//18531 16525//18559 16679//18532 +f 16680//18560 16838//18561 16837//18533 +f 16679//18532 16680//18560 16837//18533 +f 16838//18561 17001//18562 17000//18534 +f 16837//18533 16838//18561 17000//18534 +f 17001//18562 17165//18563 17164//18535 +f 17000//18534 17001//18562 17164//18535 +f 25002//8206 15273//9467 15147//18522 +f 35448//7555 35687//7556 35360//3881 +f 14533//18564 15749//9580 5415//9581 +f 21379//11323 15476//18225 17671//11394 +f 13237//9465 15400//18497 15399//18433 +f 21203//15365 14245//14147 21202//16530 +f 3186//5322 674//3188 3356//496 +f 15895//143 14349//142 14820//510 +f 14678//18565 14786//1443 14717//18566 +f 14607//715 6146//6313 2804//18489 +f 4135//18545 949//18567 830//18568 +f 4136//18546 4135//18545 830//18568 +f 949//18567 14604//18569 14603//18570 +f 830//18568 949//18567 14603//18570 +f 14604//18569 15796//18571 15790//18572 +f 14603//18570 14604//18569 15790//18572 +f 15796//18571 978//10058 8135//18573 +f 15829//18574 3069//18575 16473//18576 +f 15790//18572 15796//18571 8135//18573 +f 14824//14092 7345//10395 9649//14090 +f 15400//18497 13237//9465 15273//9467 +f 22028//4134 22029//8807 22124//542 +f 16011//905 22930//15868 23029//16779 +f 2207//14777 19539//18577 19278//14778 +f 22221//8678 22220//123 22124//542 +f 35893//2802 35614//4444 35580//9551 +f 24593//18269 20671//18268 25114//18578 +f 15534//18579 15533//18552 15402//18549 +f 15403//16308 15534//18579 15402//18549 +f 15669//18580 15668//18553 15533//18552 +f 15534//18579 15669//18580 15533//18552 +f 15806//18581 15805//18554 15668//18553 +f 15669//18580 15806//18581 15668//18553 +f 15945//18582 15944//18555 15805//18554 +f 15806//18581 15945//18582 15805//18554 +f 16086//18583 16085//18556 15944//18555 +f 15945//18582 16086//18583 15944//18555 +f 16229//18584 16228//18557 16085//18556 +f 16086//18583 16229//18584 16085//18556 +f 16229//18584 16374//18585 16373//18558 +f 16228//18557 16229//18584 16373//18558 +f 16374//18585 16526//18586 16525//18559 +f 16373//18558 16374//18585 16525//18559 +f 16526//18586 16681//18587 16680//18560 +f 16525//18559 16526//18586 16680//18560 +f 16681//18587 16839//18588 16838//18561 +f 16680//18560 16681//18587 16838//18561 +f 16839//18588 17002//18589 17001//18562 +f 16838//18561 16839//18588 17001//18562 +f 17002//18589 17166//18590 17165//18563 +f 17001//18562 17002//18589 17165//18563 +f 17166//18590 592//8784 14645//8023 +f 17165//18563 17166//18590 14645//8023 +f 15273//9467 25002//8206 15274//8205 +f 14645//8023 592//8784 2311//1446 +f 18319//1586 555//1729 5757//1587 +f 20243//793 20157//15590 15033//581 +f 16799//434 16800//8806 16961//346 +f 35707//6496 35370//6244 35620//14064 +f 5745//421 14463//423 16181//18542 +f 14717//18566 5745//421 16181//18542 +f 978//10058 15036//10057 15035//18591 +f 6526//18592 3077//3192 14678//18565 +f 8135//18573 978//10058 15035//18591 +f 19804//18593 15036//10057 18620//18594 +f 15035//18591 15036//10057 17134//18595 +f 19804//18593 17134//18595 15036//10057 +f 17134//18595 16195//18596 5473//18231 +f 35496//8030 35356//6232 35516//8031 +f 35598//728 29542//727 27756//1078 +f 4951//18233 16859//18232 21569//17982 +f 15115//1215 16992//18597 16631//18598 +f 917//4721 6984//12163 1408//13668 +f 8155//8080 17185//764 13959//7369 +f 11567//8411 14369//18284 14368//1043 +f 15567//8702 14491//958 4141//9720 +f 20793//18599 20875//472 20874//228 +f 14245//14147 15150//14811 21202//16530 +f 31785//11236 31784//11093 31684//18600 +f 20306//18601 20305//18602 20219//17610 +f 29497//8764 29635//18603 29496//17529 +f 22029//8807 22125//8808 22124//542 +f 23784//14295 15403//16308 15274//8205 +f 21583//18604 18993//18605 21959//18606 +f 15670//18607 15669//18580 15534//18579 +f 15535//16307 15670//18607 15534//18579 +f 15807//18608 15806//18581 15669//18580 +f 15670//18607 15807//18608 15669//18580 +f 15946//18609 15945//18582 15806//18581 +f 15807//18608 15946//18609 15806//18581 +f 16087//18610 16086//18583 15945//18582 +f 15946//18609 16087//18610 15945//18582 +f 16230//18611 16229//18584 16086//18583 +f 16087//18610 16230//18611 16086//18583 +f 16230//18611 16375//18612 16374//18585 +f 16229//18584 16230//18611 16374//18585 +f 16375//18612 16527//18613 16526//18586 +f 16374//18585 16375//18612 16526//18586 +f 16527//18613 16682//18614 16681//18587 +f 16526//18586 16527//18613 16681//18587 +f 16682//18614 16840//18615 16839//18588 +f 16681//18587 16682//18614 16839//18588 +f 16840//18615 17003//18616 17002//18589 +f 16839//18588 16840//18615 17002//18589 +f 17003//18616 17167//18617 17166//18590 +f 17002//18589 17003//18616 17166//18590 +f 17167//18617 5414//18618 592//8784 +f 17166//18590 17167//18617 592//8784 +f 5549//18146 2782//1127 5413//1126 +f 5549//18146 2781//1444 2782//1127 +f 15908//381 15683//383 14520//18619 +f 10207//14179 14000//17640 10206//14263 +f 7084//18227 13893//18620 20598//11471 +f 24431//14832 24468//18621 24518//18622 +f 14392//665 16948//389 3797//1485 +f 6989//1484 14392//665 3797//1485 +f 14786//1443 5745//421 14717//18566 +f 16944//216 2844//388 5141//1330 +f 16859//18232 2442//1088 5473//18231 +f 3077//3192 14786//1443 14678//18565 +f 16387//18623 16388//18234 4951//18233 +f 11697//14224 5055//15740 13401//14223 +f 35440//4599 35426//1381 35465//4600 +f 35778//4974 35942//17652 35558//198 +f 2766//1219 2105//18624 2104//9958 +f 1926//9683 19191//13774 19089//18625 +f 8137//15723 4099//14479 5870//14735 +f 20304//15727 20389//15629 20303//18626 +f 9401//1413 13184//17400 20243//793 +f 21203//15365 21202//16530 2654//15393 +f 20404//4584 21756//15688 3197//4585 +f 19379//9211 18963//14103 23325//14102 +f 6519//15366 21203//15365 2654//15393 +f 27411//1404 29547//1692 29564//1405 +f 18264//18627 13148//18628 16933//18629 +f 21410//9834 21400//16237 20576//16472 +f 21934//8286 22029//8807 22028//4134 +f 15671//18630 15670//18607 15535//16307 +f 33865//17947 34000//16884 33864//11195 +f 15808//18631 15807//18608 15670//18607 +f 15671//18630 15808//18631 15670//18607 +f 15947//18632 15946//18609 15807//18608 +f 15808//18631 15947//18632 15807//18608 +f 16088//18633 16087//18610 15946//18609 +f 15947//18632 16088//18633 15946//18609 +f 16231//18634 16230//18611 16087//18610 +f 16088//18633 16231//18634 16087//18610 +f 16231//18634 16376//18635 16375//18612 +f 16230//18611 16231//18634 16375//18612 +f 16376//18635 16528//18636 16527//18613 +f 16375//18612 16376//18635 16527//18613 +f 16528//18636 16683//18637 16682//18614 +f 16527//18613 16528//18636 16682//18614 +f 16683//18637 16841//18638 16840//18615 +f 16682//18614 16683//18637 16840//18615 +f 16841//18638 17004//18639 17003//18616 +f 16840//18615 16841//18638 17003//18616 +f 17004//18639 17168//18640 17167//18617 +f 17003//18616 17004//18639 17167//18617 +f 5411//5846 5414//18618 17167//18617 +f 17168//18640 5411//5846 17167//18617 +f 5411//5846 2913//5743 5414//18618 +f 2846//5845 9390//14083 2913//5743 +f 7548//6706 8234//13179 11791//6707 +f 12208//8266 12126//1510 16469//8357 +f 1778//18641 2485//18642 3871//18643 +f 362//495 6149//4284 3212//4283 +f 14747//18644 359//18645 52//18646 +f 23354//18647 30685//15424 23257//18648 +f 16782//1329 16944//216 5141//1330 +f 4936//306 15486//308 15754//2286 +f 1187//18649 616//6311 4398//18650 +f 3470//18651 1187//18649 4398//18650 +f 20780//18652 16179//18653 20191//18654 +f 5486//18655 5212//18235 16388//18234 +f 16387//18623 16179//18653 20675//18656 +f 14863//18657 14862//18236 5212//18235 +f 5486//18655 14863//18657 5212//18235 +f 15235//18658 16318//18237 14862//18236 +f 14863//18657 15235//18658 14862//18236 +f 14928//18659 15178//18238 16318//18237 +f 15235//18658 14928//18659 16318//18237 +f 1893//18660 16848//18239 15178//18238 +f 14928//18659 1893//18660 15178//18238 +f 14696//18661 14932//18246 16848//18239 +f 1893//18660 14696//18661 16848//18239 +f 14547//18662 3535//18249 14932//18246 +f 14696//18661 14547//18662 14932//18246 +f 23368//17272 23271//18663 15465//16315 +f 20955//18664 21038//3383 21037//18665 +f 35505//4453 35392//2754 35560//734 +f 16165//16965 16023//15842 14150//16207 +f 20955//18664 20956//3381 21038//3383 +f 13184//17400 9401//1413 12902//1412 +f 19569//2271 29132//2270 27531//2445 +f 21756//15688 1035//3407 3197//4585 +f 12995//14806 13184//17400 12902//1412 +f 21128//16481 22068//15440 21127//15394 +f 20303//18626 20388//5996 20302//17606 +f 12559//1913 21498//904 20132//1914 +f 6519//15366 2654//15393 22064//15390 +f 29398//16928 29561//2108 29695//13614 +f 22957//4746 12362//18666 13856//754 +f 15672//18667 15671//18630 15536//18668 +f 15536//18668 24675//18669 25295//18670 +f 15809//18671 15808//18631 15671//18630 +f 15672//18667 15809//18671 15671//18630 +f 15948//18672 15947//18632 15808//18631 +f 15809//18671 15948//18672 15808//18631 +f 16089//18673 16088//18633 15947//18632 +f 15948//18672 16089//18673 15947//18632 +f 16232//18674 16231//18634 16088//18633 +f 16089//18673 16232//18674 16088//18633 +f 16232//18674 16377//18675 16376//18635 +f 16231//18634 16232//18674 16376//18635 +f 16377//18675 16529//18676 16528//18636 +f 16376//18635 16377//18675 16528//18636 +f 16529//18676 16684//18677 16683//18637 +f 16528//18636 16529//18676 16683//18637 +f 16684//18677 16842//18678 16841//18638 +f 16683//18637 16684//18677 16841//18638 +f 17005//18679 17004//18639 16841//18638 +f 16842//18678 17005//18679 16841//18638 +f 17169//14817 17168//18640 17004//18639 +f 17005//18679 17169//14817 17004//18639 +f 5409//18680 5411//5846 17168//18640 +f 17169//14817 5409//18680 17168//18640 +f 7552//11955 7783//12160 915//7067 +f 5409//18680 2846//5845 5411//5846 +f 1288//6164 914//6166 14539//7068 +f 7434//13180 8484//13181 15911//13094 +f 14673//3196 14779//18351 14778//18395 +f 2846//5845 5409//18680 9623//14510 +f 14920//8823 15040//8822 16338//18681 +f 16704//721 2482//9352 3492//2988 +f 2887//18682 18733//12267 18599//18683 +f 77//18684 14747//18644 52//18646 +f 616//6311 3077//3192 6526//18592 +f 17016//1751 17015//484 1183//1606 +f 16398//18685 1187//18649 3470//18651 +f 4398//18650 616//6311 6526//18592 +f 15105//18245 16398//18685 16107//18686 +f 16107//18686 16398//18685 3470//18651 +f 4950//18254 15105//18245 15356//18687 +f 15356//18687 15105//18245 16107//18686 +f 4909//18241 4950//18254 3261//18688 +f 3261//18688 4950//18254 15356//18687 +f 17156//18689 14742//18257 5072//18690 +f 5072//18690 4909//18241 3261//18688 +f 15523//18691 2445//18250 3535//18249 +f 16325//18692 2381//18261 17156//18689 +f 14547//18662 15523//18691 3535//18249 +f 15523//18691 14923//18693 14726//18251 +f 2445//18250 15523//18691 14726//18251 +f 14923//18693 14615//18694 4668//18252 +f 14726//18251 14923//18693 4668//18252 +f 14615//18694 5740//18695 1851//18266 +f 4668//18252 14615//18694 1851//18266 +f 5740//18695 14567//18696 15562//18270 +f 23420//15371 18521//18697 23122//18698 +f 12539//7476 15598//7670 12450//16316 +f 26942//4909 30556//4911 26488//14496 +f 19137//18699 452//16474 12396//18700 +f 34057//17715 2687//6753 2823//6766 +f 28430//17935 26412//2269 28987//10239 +f 13184//17400 20157//15590 20243//793 +f 29627//5314 29760//18701 29626//5315 +f 20472//2589 20471//15378 20387//5997 +f 23368//17272 13946//17271 16768//15355 +f 22068//15440 6519//15366 22064//15390 +f 22068//15440 22064//15390 21127//15394 +f 20558//2588 20640//9296 20557//263 +f 20721//9145 20720//1649 20639//264 +f 15537//18702 25295//18670 24775//18703 +f 33796//14788 34219//18704 17910//18705 +f 15810//18706 15809//18671 15672//18667 +f 15673//18707 15810//18706 15672//18667 +f 15949//18708 15948//18672 15809//18671 +f 15810//18706 15949//18708 15809//18671 +f 16090//18709 16089//18673 15948//18672 +f 15949//18708 16090//18709 15948//18672 +f 16233//18710 16232//18674 16089//18673 +f 16090//18709 16233//18710 16089//18673 +f 16233//18710 16378//18711 16377//18675 +f 16232//18674 16233//18710 16377//18675 +f 16378//18711 16530//18712 16529//18676 +f 16377//18675 16378//18711 16529//18676 +f 16685//18713 16684//18677 16529//18676 +f 16530//18712 16685//18713 16529//18676 +f 16843//18714 16842//18678 16684//18677 +f 16685//18713 16843//18714 16684//18677 +f 17006//1352 17005//18679 16842//18678 +f 16843//18714 17006//1352 16842//18678 +f 17170//9016 17169//14817 17005//18679 +f 17006//1352 17170//9016 17005//18679 +f 5834//4515 15232//18715 15551//18716 +f 278//13278 146//18454 9115//14687 +f 7417//8956 7147//11602 9116//14744 +f 16853//18717 6002//1471 292//6135 +f 17082//7760 17081//652 25601//18718 +f 7425//13880 7693//18539 10978//14210 +f 17185//764 8155//8080 14630//18719 +f 12602//10986 16534//1899 14057//15284 +f 15770//1173 9803//12726 11223//814 +f 4548//1178 15911//13094 16989//13453 +f 14802//13276 16340//18720 17112//929 +f 17112//929 16340//18720 15304//206 +f 17243//623 17242//625 17078//121 +f 15244//5045 15245//9218 16867//5046 +f 2844//388 17015//484 17016//1751 +f 17079//120 17243//623 17078//121 +f 5141//1330 2844//388 17016//1751 +f 17015//484 4279//641 1183//1606 +f 15486//308 350//18721 2935//8792 +f 15754//2286 15486//308 2935//8792 +f 350//18721 16856//18722 16855//1620 +f 2935//8792 350//18721 16855//1620 +f 16856//18722 15692//18723 15693//1616 +f 16855//1620 16856//18722 15693//1616 +f 14742//18257 4909//18241 5072//18690 +f 15692//18723 16099//18724 16100//566 +f 1851//18266 5740//18695 15562//18270 +f 5342//18725 14319//18260 16325//18692 +f 14567//18696 15286//18726 16624//18290 +f 15562//18270 14567//18696 16624//18290 +f 15286//18726 16966//18727 17132//18291 +f 16624//18290 15286//18726 17132//18291 +f 16966//18727 3796//18728 5546//18320 +f 17132//18291 16966//18727 5546//18320 +f 3796//18728 15622//15417 4942//18322 +f 5546//18320 3796//18728 4942//18322 +f 20387//5997 20386//18729 20301//1407 +f 17084//15676 23420//15371 23122//18698 +f 18618//5211 26942//4909 26488//14496 +f 35901//6172 35827//16533 35481//17047 +f 23610//18730 21377//18731 23022//18732 +f 7288//16929 29398//16928 29695//13614 +f 4517//1516 23275//12410 11252//852 +f 30422//15965 30425//13917 18376//13919 +f 13946//17271 13291//2421 16768//15355 +f 12735//18733 11252//852 23275//12410 +f 21128//16481 21127//15394 20322//15630 +f 8574//2413 14260//16436 13567//2414 +f 5276//9234 21485//4577 20179//9134 +f 20325//15759 21128//16481 20322//15630 +f 20639//264 20720//1649 20638//1651 +f 21485//4577 21391//11864 20179//9134 +f 15811//18734 15810//18706 15673//18707 +f 20015//18735 15673//18707 15537//18702 +f 15950//18736 15949//18708 15810//18706 +f 15811//18734 15950//18736 15810//18706 +f 16091//18737 16090//18709 15949//18708 +f 15950//18736 16091//18737 15949//18708 +f 16234//18738 16233//18710 16090//18709 +f 16091//18737 16234//18738 16090//18709 +f 16234//18738 16379//18739 16378//18711 +f 16233//18710 16234//18738 16378//18711 +f 16379//18739 16531//18740 16530//18712 +f 16378//18711 16379//18739 16530//18712 +f 16531//18740 16686//18741 16685//18713 +f 16530//18712 16531//18740 16685//18713 +f 16686//18741 16844//1353 16843//18714 +f 16685//18713 16686//18741 16843//18714 +f 14442//18742 12378//17799 14416//17921 +f 16843//18714 16844//1353 17006//1352 +f 9740//8699 17170//9016 9856//8109 +f 17169//14817 9623//14510 5409//18680 +f 6393//1952 15754//2286 5598//2288 +f 22151//2408 22149//8550 21214//15677 +f 23306//174 23307//15297 23403//335 +f 1872//16860 15279//14773 20646//14775 +f 16956//1452 16952//18743 15268//9217 +f 21048//17767 15043//18744 15325//17771 +f 5289//3819 5425//3818 5424//8811 +f 14372//514 14373//352 14387//5750 +f 4548//1178 15359//1674 15911//13094 +f 6002//1471 16853//18717 15695//18745 +f 16034//18746 2178//18747 5138//18748 +f 16826//236 16989//13453 1891//4725 +f 15750//18494 4679//1687 15698//1689 +f 1898//5746 14762//13466 16400//5747 +f 1062//1054 617//1053 3662//18457 +f 15683//383 15682//193 14520//18619 +f 4332//624 4199//3961 17242//625 +f 14561//14244 14651//17200 14560//18749 +f 15693//1616 15692//18723 16100//566 +f 16099//18724 15748//18750 905//486 +f 3267//18244 14319//18260 2988//18751 +f 14319//18260 2381//18261 16325//18692 +f 14810//18243 3267//18244 14536//18752 +f 14319//18260 5342//18725 2988//18751 +f 14810//18243 14536//18752 15552//18753 +f 15422//18265 14810//18243 15552//18753 +f 2381//18261 14742//18257 17156//18689 +f 3267//18244 2988//18751 14536//18752 +f 7820//7845 16//8105 6794//7843 +f 15422//18265 15552//18753 5548//18754 +f 4942//18322 15622//15417 2803//18348 +f 30865//18755 30864//18756 26357//18757 +f 9974//9235 16844//1353 16687//17298 +f 15012//1012 15013//18378 15135//18367 +f 15136//3025 15263//3024 15262//18374 +f 14524//18380 14534//666 15655//18376 +f 21046//17604 21132//18758 21045//18759 +f 20216//17642 20302//17606 20215//1406 +f 25210//14054 2679//14056 20262//18760 +f 22137//18761 13460//18762 25311//18763 +f 25572//18764 25571//18765 23711//18766 +f 25837//18767 25696//18768 25838//18769 +f 12442//16137 27673//18770 12443//17198 +f 34823//18771 34952//17829 34822//17831 +f 15030//12411 23275//12410 14909//1419 +f 29948//18772 19901//10778 30489//4456 +f 12922//15758 13471//2412 13567//2414 +f 12735//18733 13395//15352 33949//14805 +f 13089//15686 20325//15759 13564//16273 +f 17968//18773 20449//16220 20448//16378 +f 13089//15686 13564//16273 15025//3964 +f 20094//3963 13089//15686 15025//3964 +f 15673//18707 15674//18774 15811//18734 +f 20325//15759 20322//15630 13564//16273 +f 15951//18775 15950//18736 15811//18734 +f 15812//18776 15951//18775 15811//18734 +f 15951//18775 16092//18777 16091//18737 +f 15950//18736 15951//18775 16091//18737 +f 16092//18777 16235//18778 16234//18738 +f 16091//18737 16092//18777 16234//18738 +f 16235//18778 16380//18779 16379//18739 +f 16234//18738 16235//18778 16379//18739 +f 16380//18779 16532//18780 16531//18740 +f 16379//18739 16380//18779 16531//18740 +f 16532//18780 16687//17298 16686//18741 +f 16531//18740 16532//18780 16686//18741 +f 12057//7746 12208//8266 16469//8357 +f 16686//18741 16687//17298 16844//1353 +f 4008//18781 4673//18782 1773//730 +f 35777//5622 35422//3047 35840//3049 +f 29935//18783 30066//18784 29934//18785 +f 13339//14351 13758//14353 13660//365 +f 28704//18786 28703//18787 28574//18788 +f 23048//18789 19207//18790 18185//17942 +f 26139//12461 370//18791 4924//12459 +f 9176//11739 33351//11742 8666//11741 +f 30951//18792 30950//18793 30896//16760 +f 2344//16514 4934//18794 5209//18795 +f 17186//2596 16187//18796 5274//18797 +f 3067//3525 15539//1776 16016//18798 +f 16247//18799 16238//18800 16105//117 +f 2940//1130 14413//1511 15481//1131 +f 16826//236 4548//1178 16989//13453 +f 15925//18801 15926//18802 16067//18411 +f 14889//4402 15009//1567 15008//1566 +f 6135//6416 3343//6526 14552//1047 +f 10587//17021 2765//414 13//17022 +f 8803//12089 8910//5126 8802//11139 +f 16211//507 16357//18371 16356//508 +f 14651//17200 14650//18803 14560//18749 +f 16100//566 16099//18724 905//486 +f 15748//18750 4816//18804 977//3193 +f 16097//18256 16098//18805 14745//18806 +f 7005//18253 16097//18256 14745//18806 +f 15135//18367 15136//3025 15262//18374 +f 15616//1175 5137//8746 14942//18807 +f 24056//18808 14942//18807 14396//8748 +f 16384//614 15097//752 15064//1799 +f 33514//14812 33633//18809 33513//18810 +f 34000//16884 34136//18811 33999//16885 +f 4534//18248 15422//18265 5548//18754 +f 22914//5562 22913//6734 22814//1744 +f 17902//18343 17901//18345 17805//18416 +f 16097//18256 15107//18255 16098//18805 +f 18656//18514 18754//18812 18753//18813 +f 14357//18814 14356//18315 14343//18324 +f 20570//9524 674//3188 4285//2984 +f 10207//14179 10327//10922 14001//17707 +f 15783//1363 15922//18815 15921//1364 +f 10091//8501 9974//9235 16687//17298 +f 17967//18816 17873//18817 17874//18818 +f 35525//4383 35536//7014 35495//4384 +f 22051//17434 18523//18819 19207//18790 +f 11513//13826 30091//18820 17575//13827 +f 19173//18821 20454//17412 204//16750 +f 6861//18822 18713//18823 17271//18824 +f 18797//18825 13006//18826 19435//2547 +f 13434//8 13339//14351 13660//365 +f 22133//18827 22132//6406 22036//258 +f 14922//17695 16954//343 3613//18828 +f 15030//12411 14909//1419 13660//365 +f 27378//18 27266//2646 30502//19 +f 30096//9086 19797//10650 19907//9087 +f 15277//16391 13848//8800 22562//2814 +f 22661//12192 15277//16391 22562//2814 +f 15813//18829 15952//18830 15951//18775 +f 15812//18776 15811//18734 25190//18831 +f 15952//18830 16093//1561 16092//18777 +f 15951//18775 15952//18830 16092//18777 +f 16093//1561 16236//9113 16235//18778 +f 16092//18777 16093//1561 16235//18778 +f 16236//9113 16381//17944 16380//18779 +f 16235//18778 16236//9113 16380//18779 +f 16381//17944 16533//17297 16532//18780 +f 16380//18779 16381//17944 16532//18780 +f 13135//10507 13231//14300 13230//2603 +f 16532//18780 16533//17297 16687//17298 +f 17029//18832 17022//18833 15368//18834 +f 23112//2544 23113//2543 23210//6940 +f 14338//425 17179//152 14975//18835 +f 17179//152 15355//18836 14975//18835 +f 16354//9157 16507//18837 16506//280 +f 16207//18838 16208//9155 16353//8891 +f 17671//11394 7084//18227 20598//11471 +f 20464//8464 20549//8672 20463//18839 +f 14907//15375 3049//18840 9641//16502 +f 22229//18841 22325//6739 22228//4653 +f 25996//18842 5075//16515 5209//18795 +f 829//2209 2269//18843 6775//9541 +f 1565//1897 22461//1957 16938//18844 +f 2532//18845 2397//18846 4934//18794 +f 24010//18847 2922//18848 21873//18849 +f 23405//15307 23406//10187 21048//17767 +f 14416//17921 12845//10699 3318//10701 +f 15549//1451 15891//18850 15892//18851 +f 15663//146 15664//18440 13231//14300 +f 5702//6123 15902//7744 16042//6237 +f 503//328 1405//826 502//4437 +f 9893//13463 9892//13572 14762//13466 +f 14670//149 14669//18306 14577//18310 +f 14438//18852 14646//18853 14835//4278 +f 905//486 15748//18750 977//3193 +f 5083//8563 4814//1688 14784//8680 +f 15107//18255 15108//18854 16098//18805 +f 16359//18855 15685//1491 977//3193 +f 22035//6407 21940//18856 33671//259 +f 15155//18857 14839//6 14910//15341 +f 16650//18858 16809//18859 16808//18458 +f 16649//16857 16650//18858 16808//18458 +f 14839//6 902//15353 2500//12409 +f 16973//18860 16972//18459 16808//18458 +f 4534//18248 5548//18754 15108//18854 +f 13433//18861 13760//18862 13340//14352 +f 13759//15340 13760//18862 14910//15341 +f 15107//18255 4534//18248 15108//18854 +f 16809//18859 16973//18860 16808//18458 +f 21908//12282 29085//6343 22002//6344 +f 17139//18863 17138//18460 16972//18459 +f 16973//18860 17139//18863 16972//18459 +f 15028//15374 14907//15375 9641//16502 +f 20452//17595 22450//16394 23221//15266 +f 13150//18864 24//16509 9641//16502 +f 16328//1461 5293//6929 5294//4346 +f 25004//18865 13238//9466 13143//8852 +f 5429//18866 5294//4346 5295//4369 +f 2673//2316 21653//8907 21654//2824 +f 29361//2792 29360//8765 29223//2793 +f 20720//1649 20802//9146 20801//16202 +f 12363//9478 17102//3965 13848//8800 +f 15814//5843 15953//1559 15952//18830 +f 25190//18831 15813//18829 15812//18776 +f 35509//9197 35852//1549 35869//7458 +f 15952//18830 15953//1559 16093//1561 +f 7968//14600 11222//12932 10349//14213 +f 21592//15620 15158//2078 15736//15621 +f 16236//9113 10094//18867 16381//17944 +f 10210//8502 10091//8501 16687//17298 +f 9803//12726 15770//1173 14902//1172 +f 5206//5740 5291//3736 588//1462 +f 14665//18868 14771//18869 14664//18870 +f 13623//4175 13721//4174 13622//15123 +f 15372//18871 15368//18834 14330//18872 +f 14331//18873 15372//18871 14330//18872 +f 1189//5177 15181//5048 1775//18874 +f 15512//18875 15647//18876 15646//18877 +f 13666//16338 13571//4694 12172//17612 +f 23307//15297 23404//8361 23403//335 +f 2911//18878 4263//16209 4949//16957 +f 3049//18840 13150//18864 9641//16502 +f 14793//18879 14906//16534 24//16509 +f 22133//18827 22229//18841 22132//6406 +f 14558//4737 14553//18880 2269//18843 +f 16064//18881 16065//5594 16207//18838 +f 2344//16514 2532//18845 4934//18794 +f 18655//18515 18656//18514 18753//18813 +f 15043//18744 15324//18882 15325//17771 +f 29928//18883 30059//14995 29927//18884 +f 1427//18885 25870//18886 4277//18887 +f 22131//9284 22130//2427 22034//8987 +f 22131//9284 22227//4652 22130//2427 +f 2130//737 2262//6307 6143//9215 +f 4537//15126 2263//17015 4670//16513 +f 3358//2232 3357//18332 14490//938 +f 2178//18747 17174//18888 17011//18889 +f 6145//18890 16330//18891 16481//18892 +f 14499//18392 14578//9030 14498//18313 +f 5138//18748 2178//18747 17011//18889 +f 4816//18804 16359//18855 977//3193 +f 2850//9300 15908//381 14520//18619 +f 13760//18862 15155//18857 14910//15341 +f 15635//18893 3484//1492 15685//1491 +f 2805//18894 272//18462 17138//18460 +f 902//15353 35002//18895 7301//16435 +f 17139//18863 2805//18894 17138//18460 +f 2849//18896 3536//18485 272//18462 +f 2805//18894 2849//18896 272//18462 +f 4021//18897 2284//18487 3536//18485 +f 20679//756 9547//578 13429//15589 +f 2849//18896 4021//18897 3536//18485 +f 34546//17622 34674//15406 34545//15408 +f 31109//18898 31172//18899 31171//15742 +f 14839//6 2500//12409 14910//15341 +f 29157//6633 26919//18900 17314//4297 +f 856//18901 857//18491 2284//18487 +f 15049//1600 20679//756 13429//15589 +f 4021//18897 856//18901 2284//18487 +f 13150//18864 14793//18879 24//16509 +f 13707//18902 6769//16536 34874//18903 +f 4010//18904 3877//18516 857//18491 +f 13622//15123 15814//5843 15813//18829 +f 856//18901 4010//18904 857//18491 +f 6414//3242 6415//3425 9327//17539 +f 15953//1559 15814//5843 13718//3924 +f 8574//2413 11863//7474 14260//16436 +f 8563//15061 14819//18905 14821//15060 +f 14446//18327 14445//1345 14419//7573 +f 20756//15582 20838//18906 20754//15580 +f 2//18907 14376//18908 2398//18909 +f 2398//18909 5470//6866 4244//17067 +f 4679//1687 14802//13276 14797//928 +f 6775//9541 2269//18843 6397//18910 +f 15164//518 16804//18277 16646//18911 +f 16646//18911 16804//18277 3873//8977 +f 14465//18912 14361//18913 17125//18914 +f 17126//18915 14465//18912 17125//18914 +f 14771//18869 14884//18916 14770//18917 +f 14884//18916 14883//18918 14770//18917 +f 14331//18873 14330//18872 2131//18919 +f 1//18920 14331//18873 2131//18919 +f 15647//18876 15784//5589 15783//1363 +f 15511//18921 15512//18875 15646//18877 +f 1500//1258 14656//194 3623//1259 +f 13046//9135 13140//9137 13139//14028 +f 14883//18918 14882//6027 14769//4448 +f 14513//18366 15772//18432 15636//1643 +f 16830//111 16630//18922 15355//18836 +f 14697//18923 15656//1135 3620//18924 +f 14943//5044 14857//13274 4545//18925 +f 16208//9155 16354//9157 16353//8891 +f 18164//17770 18072//16527 18073//16278 +f 20266//860 16166//2718 16021//7 +f 15539//1776 1565//1897 16016//18798 +f 22033//8889 21939//14513 22034//8987 +f 22129//2426 22128//1780 22032//3003 +f 2531//18926 2532//18845 2344//16514 +f 15646//18877 15783//1363 15782//1362 +f 15269//4439 16956//1452 15268//9217 +f 14793//18879 6769//16536 14906//16534 +f 252//18927 3212//4283 3350//962 +f 14389//18928 14388//5749 14374//18430 +f 3715//8583 6248//4597 15968//5466 +f 15096//18929 15222//18930 14509//717 +f 15560//5325 14337//1129 15099//5326 +f 30191//12860 30190//18931 30058//14996 +f 4814//1688 14797//928 14784//8680 +f 16359//18855 15635//18893 15685//1491 +f 14933//18932 14934//18933 3484//1492 +f 1062//1054 3662//18457 15266//1441 +f 13812//1731 13909//11373 10211//13763 +f 386//18934 387//18518 3877//18516 +f 4010//18904 386//18934 3877//18516 +f 2666//18935 2801//18540 387//18518 +f 386//18934 2666//18935 387//18518 +f 825//18936 944//18543 2801//18540 +f 2666//18935 825//18936 2801//18540 +f 825//18936 4268//18937 4135//18545 +f 15388//284 15389//10063 15519//519 +f 944//18543 825//18936 4135//18545 +f 9547//578 3622//574 4818//10985 +f 22145//6936 22049//9216 21953//9283 +f 4268//18937 1415//18938 949//18567 +f 6009//14021 6140//14020 2007//17456 +f 4135//18545 4268//18937 949//18567 +f 1415//18938 14628//18939 14604//18569 +f 949//18567 1415//18938 14604//18569 +f 14628//18939 15798//18940 15796//18571 +f 14604//18569 14628//18939 15796//18571 +f 13893//18620 25800//18941 24286//11558 +f 11257//12931 6990//1080 8196//14620 +f 19277//18942 1412//2739 18630//18943 +f 35661//6560 35493//8505 35590//189 +f 15796//18571 15798//18940 978//10058 +f 21//2714 15975//18944 4105//3743 +f 14555//6312 1062//1054 15266//1441 +f 15679//963 15625//18319 6017//18369 +f 2399//18945 15284//18946 3794//18947 +f 15284//18946 15526//18948 328//18263 +f 16068//18412 16069//18949 16211//507 +f 15939//1087 13229//1086 13230//2603 +f 1505//18950 2396//6305 4260//8682 +f 15428//14688 13020//5994 10382//14099 +f 33894//15279 34029//17975 33893//15280 +f 14376//18908 14366//18951 2398//18909 +f 14655//1325 1286//12635 3213//1171 +f 15895//143 14820//510 12389//12908 +f 14406//18952 14425//650 14405//2275 +f 16958//8978 15242//18280 3493//8979 +f 704//18953 14352//18954 586//18955 +f 15397//18956 15393//18957 14340//18958 +f 14884//18916 15004//18959 14883//18918 +f 15004//18959 15003//18960 14883//18918 +f 2355//18961 7//18962 6272//18963 +f 1620//18964 6762//18965 7093//18966 +f 15784//5589 15923//5591 15922//18815 +f 15646//18877 15647//18876 15783//1363 +f 23110//584 23111//15298 23208//1648 +f 22225//1922 22321//1921 22320//165 +f 16183//18967 16321//18968 16096//18969 +f 16321//18968 1539//18970 15617//18971 +f 14770//18917 14883//18918 14769//4448 +f 15003//18960 15002//6028 14882//6027 +f 4412//5043 4545//18925 15758//18493 +f 15762//5178 4412//5043 15758//18493 +f 26142//18972 1732//17133 739//17132 +f 14558//4737 15762//5178 14553//18880 +f 16449//845 7856//8549 23350//3506 +f 5626//18973 1732//17133 26142//18972 +f 35694//8022 35735//6914 35389//2215 +f 3039//15302 2768//18974 16310//15303 +f 16952//18743 16956//1452 15503//18975 +f 5874//18976 3064//18977 2532//18845 +f 14490//938 252//18927 3350//962 +f 14451//649 14450//1327 14424//1326 +f 35355//2950 35458//9372 35853//1339 +f 5702//6123 16042//6237 5703//4890 +f 35681//8168 35557//9755 35781//9858 +f 15118//5164 15140//6167 16793//5311 +f 14342//18325 26089//18978 14333//18979 +f 14797//928 14802//13276 17112//929 +f 15635//18893 14933//18932 3484//1492 +f 16692//1800 16697//1801 1890//1487 +f 694//5723 4945//18980 1853//17742 +f 14933//18932 2399//18945 3794//18947 +f 2631//10059 15798//18940 15799//18981 +f 822//13439 1729//7839 11395//8017 +f 975//9442 5691//4563 15417//18982 +f 358//10847 943//18983 2534//18984 +f 14864//18985 15369//18464 14734//18986 +f 35877//4443 35691//12185 35371//10037 +f 21302//16969 21303//18987 22630//9133 +f 35413//11128 35354//3244 35701//3243 +f 2251//7032 14476//441 95//7033 +f 13429//15589 9547//578 4818//10985 +f 3662//18457 14901//18988 14785//1442 +f 6140//14020 2268//18387 2007//17456 +f 18754//18812 18853//18989 18852//18990 +f 15369//18464 5757//1587 14734//18986 +f 18753//18813 18754//18812 18852//18990 +f 18853//18989 18952//18991 18951//18992 +f 14895//1440 18173//18993 17915//18994 +f 4662//18995 15166//18490 14864//18985 +f 18852//18990 18853//18989 18951//18992 +f 2050//18262 15284//18946 328//18263 +f 15390//18996 15520//9334 15389//10063 +f 16069//18949 16212//18997 16211//507 +f 15526//18948 16401//18998 14814//18264 +f 14581//445 14673//3196 14580//446 +f 18206//8513 18205//18999 18112//19000 +f 20477//17667 20562//15956 20561//19001 +f 14401//18300 14420//18299 14400//7572 +f 15631//1936 12781//16786 23395//16065 +f 15420//19002 15419//19003 14366//18951 +f 14554//19004 17122//19005 14715//19006 +f 16990//12082 11336//9661 3592//11018 +f 14352//18954 15397//18956 14340//18958 +f 14373//352 14388//5749 14387//5750 +f 14417//18352 14443//19007 14416//17921 +f 17126//18915 17125//18914 15393//18957 +f 7//18962 1620//18964 7093//18966 +f 15127//19008 15126//19009 15003//18960 +f 3212//4283 1185//961 3350//962 +f 1//18920 2131//18919 6762//18965 +f 22033//8889 22129//2426 22032//3003 +f 15783//1363 15784//5589 15922//18815 +f 356//19010 245//19011 4391//19012 +f 13091//16383 13766//15655 13667//2418 +f 6014//19013 5221//19014 17108//19015 +f 16787//19016 16321//18968 15617//18971 +f 19345//13918 26918//19017 26917//19018 +f 26421//16227 26507//16601 23255//1555 +f 20794//8949 20876//8958 20875//472 +f 20124//7282 20123//19019 20043//19020 +f 15923//5591 16065//5594 16064//18881 +f 15922//18815 15923//5591 16064//18881 +f 5345//19021 285//17134 1732//17133 +f 4924//12459 5345//19021 1732//17133 +f 30479//4927 27666//19022 30480//1930 +f 12285//3507 13496//1686 3067//3525 +f 2531//18926 5874//18976 2532//18845 +f 704//18953 586//18955 3064//18977 +f 1210//417 1211//4436 5562//1014 +f 5874//18976 704//18953 3064//18977 +f 35449//13487 35873//5781 35369//4130 +f 16481//18892 16330//18891 14554//19004 +f 35709//6309 35769//5621 35692//6817 +f 557//12107 16323//12259 14734//18986 +f 15304//206 2133//1174 17113//930 +f 15648//19023 15649//18333 15785//5590 +f 24346//19024 24429//19025 22423//19026 +f 14776//148 14889//4402 14775//8991 +f 14934//18933 14933//18932 3794//18947 +f 617//1053 3871//18643 3662//18457 +f 16854//1764 15696//1615 15694//19027 +f 15284//18946 2050//18262 3794//18947 +f 16388//18234 16387//18623 5486//18655 +f 14417//18352 3318//10701 14398//275 +f 14564//273 19320//19028 14592//1046 +f 15234//19029 15235//18658 14863//18657 +f 16850//19030 15234//19029 14863//18657 +f 14811//19031 14928//18659 15235//18658 +f 15234//19029 14811//19031 15235//18658 +f 3624//19032 1893//18660 14928//18659 +f 15044//19033 2804//18489 4662//18995 +f 14811//19031 3624//19032 14928//18659 +f 16040//19034 14827//18520 15044//19033 +f 2804//18489 15166//18490 4662//18995 +f 2496//19035 16181//18542 16040//19034 +f 14827//18520 2804//18489 15044//19033 +f 1448//19036 14717//18566 2496//19035 +f 16181//18542 14827//18520 16040//19034 +f 14658//19037 14696//18661 1893//18660 +f 3624//19032 14658//19037 1893//18660 +f 14546//19038 14547//18662 14696//18661 +f 14658//19037 14546//19038 14696//18661 +f 15958//19039 15523//18691 14547//18662 +f 14678//18565 14717//18566 1448//19036 +f 145//19040 14678//18565 1448//19036 +f 14814//18264 16401//18998 16669//18273 +f 328//18263 15526//18948 14814//18264 +f 15926//18802 15927//292 16068//18412 +f 14750//119 78//19041 16549//1469 +f 29108//19042 29107//19043 28972//19044 +f 6147//8999 5744//8649 15771//18240 +f 14646//18853 14657//211 1898//5746 +f 15881//15304 15880//19045 13340//14352 +f 359//18645 16072//19046 16215//19047 +f 12568//209 13866//834 15596//1582 +f 4680//19048 17153//18409 15933//4288 +f 2670//634 3794//18947 16513//8886 +f 3075//19049 15828//19050 15966//19051 +f 15397//18956 17126//18915 15393//18957 +f 1185//961 6254//773 110//772 +f 14443//19007 14442//18742 14416//17921 +f 14977//19052 16779//19053 15890//19054 +f 1620//18964 1//18920 6762//18965 +f 15954//19055 14730//19056 16076//19057 +f 15955//19058 15954//19055 16076//19057 +f 14321//19059 669//19060 356//19010 +f 9774//2073 13091//16383 13667//2418 +f 4001//19061 4391//19012 83//19062 +f 173//19063 4001//19061 83//19062 +f 16863//19064 6014//19013 17108//19015 +f 5221//19014 16541//19065 16540//19066 +f 1539//18970 6014//19013 16863//19064 +f 15617//18971 1539//18970 16863//19064 +f 4659//19067 13413//15310 2792//15312 +f 16321//18968 16787//19016 16096//18969 +f 16065//5594 16208//9155 16207//18838 +f 16758//19068 4659//19067 2792//15312 +f 2355//18961 6272//18963 285//17134 +f 15438//1323 14397//19069 14873//1324 +f 21644//5063 27893//19070 27875//19071 +f 5345//19021 2355//18961 285//17134 +f 14573//19072 14665//18868 14572//18406 +f 14771//18869 14770//18917 14664//18870 +f 14352//18954 14340//18958 586//18955 +f 14719//19073 5347//19074 14361//18913 +f 14993//19075 2536//19076 14787//19077 +f 17122//19005 14993//19075 14715//19006 +f 1726//6380 1844//4271 6742//9323 +f 16066//5593 16067//18411 16209//9156 +f 14556//1573 14566//13355 14646//18853 +f 1878//6935 14481//440 15561//561 +f 6149//4284 1186//2985 1185//961 +f 3036//19078 6792//16606 15611//17524 +f 4335//9390 18725//9432 4201//9384 +f 3871//18643 2485//18642 2535//19079 +f 16401//18998 5686//19080 16669//18273 +f 5484//19081 17133//19082 16967//18276 +f 6526//18592 14678//18565 145//19040 +f 1889//19083 6526//18592 145//19040 +f 14633//19084 3470//18651 4646//19085 +f 4398//18650 6526//18592 1889//19083 +f 15166//18490 15369//18464 14864//18985 +f 4646//19085 4398//18650 1889//19083 +f 14546//19038 15958//19039 14547//18662 +f 5077//19086 16107//18686 14633//19084 +f 15958//19039 16077//19087 14923//18693 +f 15523//18691 15958//19039 14923//18693 +f 16077//19087 5086//19088 14615//18694 +f 14923//18693 16077//19087 14615//18694 +f 5086//19088 3880//19089 5740//18695 +f 14615//18694 5086//19088 5740//18695 +f 3880//19089 14621//19090 14567//18696 +f 5740//18695 3880//19089 14567//18696 +f 14621//19090 16172//19091 15286//18726 +f 14567//18696 14621//19090 15286//18726 +f 16172//19091 16803//19092 16966//18727 +f 5358//19093 15356//18687 5077//19086 +f 15286//18726 16172//19091 16966//18727 +f 5686//19080 6405//19094 14611//18274 +f 14717//18566 16181//18542 2496//19035 +f 16105//117 16239//4282 15965//118 +f 16669//18273 5686//19080 14611//18274 +f 18952//18991 19053//19095 19052//936 +f 15761//1480 15046//1479 14329//1482 +f 15012//1012 15135//18367 15134//1042 +f 15611//17524 16460//15501 33467//16625 +f 14556//1573 14646//18853 14438//18852 +f 15786//18330 15925//18801 15924//5592 +f 15513//2599 15514//18337 15648//19023 +f 15925//18801 16067//18411 16066//5593 +f 18951//18992 18952//18991 19052//936 +f 3794//18947 2050//18262 16513//8886 +f 15828//19050 15429//19096 15430//19097 +f 976//19098 3075//19049 15966//19051 +f 11703//1644 13598//17423 12031//17422 +f 2401//297 3869//606 708//1217 +f 16110//19099 16112//19100 16392//19101 +f 15362//19102 16862//19103 1733//19104 +f 3743//19105 15954//19055 15955//19058 +f 15956//19106 3743//19105 15955//19058 +f 15364//19107 15349//19108 669//19060 +f 585//19109 14321//19059 356//19010 +f 173//19063 83//19062 691//19110 +f 573//19111 173//19063 691//19110 +f 4935//1265 66//192 1500//1258 +f 4928//1082 14459//18373 14430//1083 +f 14430//1083 5412//19112 4935//1265 +f 5412//19112 66//192 4935//1265 +f 16183//18967 16096//18969 16994//19113 +f 16995//19114 16183//18967 16994//19113 +f 23111//15298 23209//15299 23208//1648 +f 283//19115 282//19116 737//19117 +f 35680//12738 13195//16618 12643//17390 +f 3196//10955 5334//7738 15311//18419 +f 7//18962 7093//18966 6272//18963 +f 15372//18871 17029//18832 15368//18834 +f 14494//19118 14573//19072 14493//17694 +f 14665//18868 14664//18870 14572//18406 +f 14465//18912 14719//19073 14361//18913 +f 7003//19119 16194//19120 5347//19074 +f 14697//18923 3620//18924 3621//8819 +f 14350//9022 14697//18923 3621//8819 +f 582//1216 467//454 176//517 +f 15924//5592 15925//18801 16066//5593 +f 22931//2562 23226//16632 3183//7847 +f 4545//18925 14857//13274 4679//1687 +f 14177//12358 13391//13367 14080//2669 +f 14560//18749 24033//4967 14561//14244 +f 7471//9812 15365//9039 11217//19121 +f 14779//18351 14892//1011 14891//19122 +f 15424//18275 5484//19081 16967//18276 +f 17133//19082 4139//19123 4006//18278 +f 15394//19124 3261//18688 5358//19093 +f 15356//18687 16107//18686 5077//19086 +f 16803//19092 3795//15418 3796//18728 +f 16966//18727 16803//19092 3796//18728 +f 4937//19125 5072//18690 15394//19124 +f 6253//19126 12989//15662 3795//15418 +f 3470//18651 4398//18650 4646//19085 +f 3261//18688 15356//18687 5358//19093 +f 3796//18728 3795//15418 15622//15417 +f 15797//19127 17156//18689 4937//19125 +f 2529//45 9529//44 5001//5037 +f 19616//19128 19727//19129 19726//19130 +f 20473//2587 20472//2589 20388//5996 +f 25466//10185 16755//917 16754//541 +f 15263//3024 18527//2546 18615//19131 +f 12296//11292 12058//17803 12211//11290 +f 17156//18689 5072//18690 4937//19125 +f 14962//19132 2751//19133 15340//19134 +f 6405//19094 5484//19081 15424//18275 +f 16107//18686 3470//18651 14633//19084 +f 15527//18294 3962//19135 15887//18295 +f 14611//18274 6405//19094 15424//18275 +f 15106//19136 14594//19137 14598//18301 +f 15887//18295 15106//19136 14598//18301 +f 15515//19138 15650//18328 15649//18333 +f 15259//286 15387//285 15386//4739 +f 6021//9143 14470//9406 4149//1769 +f 14679//19139 14787//19077 14691//9141 +f 14865//1574 14438//18852 15352//19140 +f 15226//13954 14865//1574 15352//19140 +f 14367//1045 14382//1048 14381//276 +f 15649//18333 15786//18330 15785//5590 +f 16095//8885 16513//8886 15626//4429 +f 15351//19141 16034//18746 14837//19142 +f 16043//19143 15498//19144 14348//19145 +f 15966//19051 15828//19050 15430//19097 +f 15660//18336 1525//1988 19218//19146 +f 14825//15174 33//9662 16990//12082 +f 16392//19101 16248//19147 15309//19148 +f 16248//19147 15308//19149 15309//19148 +f 16701//19150 3743//19105 15956//19106 +f 14733//19151 16701//19150 15956//19106 +f 17007//19152 16995//19114 15349//19108 +f 14321//19059 15364//19107 669//19060 +f 573//19111 691//19110 281//19153 +f 282//19116 573//19111 281//19153 +f 23013//13628 23012//1902 22913//6734 +f 13413//15310 4659//19067 16017//15300 +f 15144//84 1449//138 3719//19154 +f 3620//18924 15144//84 3719//19154 +f 669//19060 15349//19108 5699//19155 +f 16995//19114 16994//19113 15299//19156 +f 26144//19157 736//19158 5353//19159 +f 6011//19160 573//19111 282//19116 +f 35537//6559 35493//8505 35661//6560 +f 2610//6015 8051//14612 5192//14613 +f 16218//19161 16214//19162 17022//18833 +f 17029//18832 16218//19161 17022//18833 +f 14494//19118 14493//17694 14442//18742 +f 14443//19007 14494//19118 14442//18742 +f 14719//19073 7003//19119 5347//19074 +f 16706//19163 16705//19164 16194//19120 +f 22436//19165 35391//8726 35722//8727 +f 4127//19166 14753//18408 14752//18363 +f 16067//18411 16210//506 16209//9156 +f 3334//19167 448//16628 6792//16606 +f 614//13275 16340//18720 14802//13276 +f 14865//1574 14556//1573 14438//18852 +f 14728//1513 16031//1191 15481//1131 +f 16053//8651 15824//13713 15501//8652 +f 707//169 826//439 14476//441 +f 13847//13097 13749//12746 29702//19168 +f 16967//18276 17133//19082 4006//18278 +f 4139//19123 4418//19169 3123//18279 +f 14538//19170 5342//18725 16479//19171 +f 16325//18692 17156//18689 15797//19127 +f 15662//467 5084//9124 4813//1138 +f 3616//15292 22058//19172 21492//19173 +f 819//469 16384//614 16257//1959 +f 2988//18751 5342//18725 14916//19174 +f 14714//1136 4813//1138 5084//9124 +f 5072//18690 3261//18688 15394//19124 +f 5342//18725 16325//18692 16479//19171 +f 406//2237 5729//2059 2250//4904 +f 14536//18752 2988//18751 16337//19175 +f 5863//654 1026//311 138//788 +f 3036//19078 3334//19167 6792//16606 +f 16257//1959 16384//614 15064//1799 +f 20705//2027 18354//16918 18261//16318 +f 15880//19045 13433//18861 13340//14352 +f 13674//8802 16342//15521 14162//15556 +f 15739//778 15738//5281 15210//1521 +f 14569//1646 14661//268 11703//1644 +f 2049//9395 27//9231 80//1051 +f 16495//17060 16651//19176 16650//18858 +f 15108//18854 5548//18754 15231//19177 +f 5548//18754 15552//18753 15495//19178 +f 15108//18854 15231//19177 3347//19179 +f 15552//18753 15686//19180 15495//19178 +f 16098//18805 15108//18854 3347//19179 +f 5548//18754 15495//19178 15231//19177 +f 14598//18301 14594//19137 17119//18317 +f 14594//19137 14761//19181 17119//18317 +f 15245//9218 15268//9217 16942//19182 +f 15383//2598 15384//19183 15514//18337 +f 14496//19184 14495//19185 14444//1346 +f 14419//7573 14445//1345 14418//1347 +f 15613//9857 5283//7578 5284//9929 +f 13503//12907 12750//1071 5222//18050 +f 15129//1449 15128//19186 15005//1450 +f 15971//78 10382//14099 11620//79 +f 14572//18406 11077//13951 14493//17694 +f 17158//19187 17171//19188 14471//18434 +f 3216//19189 15498//19144 16043//19143 +f 1301//19190 3216//19189 16043//19143 +f 14357//18814 14371//19191 14356//18315 +f 16330//18891 16638//775 17122//19005 +f 15308//19149 15243//19192 15309//19148 +f 15243//19192 14644//19193 15309//19148 +f 16543//19194 16701//19150 14733//19151 +f 16542//19195 16543//19194 14733//19151 +f 16196//19196 16183//18967 16995//19114 +f 15364//19107 17007//19152 15349//19108 +f 282//19116 281//19153 736//19158 +f 737//19117 282//19116 736//19158 +f 20741//19197 25013//19198 24414//19199 +f 22914//5562 23013//13628 22913//6734 +f 14493//17694 12294//13950 14442//18742 +f 11102//6037 10028//11225 1892//6035 +f 15349//19108 16995//19114 15299//19156 +f 14664//18870 14663//4446 14571//4445 +f 283//19115 6011//19160 282//19116 +f 15349//19108 15299//19156 5699//19155 +f 13861//6531 13613//5991 14381//276 +f 76//19200 173//19063 573//19111 +f 16218//19161 16779//19053 14977//19052 +f 15227//19201 17109//7942 15485//19202 +f 14573//19072 14572//18406 14493//17694 +f 16214//19162 16218//19161 14977//19052 +f 7003//19119 16706//19163 16194//19120 +f 3931//15800 9633//3195 4064//17317 +f 14613//7946 8138//14089 8896//7944 +f 3075//19049 976//19098 16705//19164 +f 35578//1166 35756//1165 35793//3572 +f 3621//8819 3620//18924 15139//9472 +f 14566//13355 14657//211 14646//18853 +f 14390//17804 14407//9543 14406//18952 +f 16052//18365 15772//18432 14513//18366 +f 14379//17938 15226//13954 14364//19203 +f 35903//438 35622//1164 35578//1166 +f 15793//795 15416//18364 14656//194 +f 4006//18278 4139//19123 3123//18279 +f 15901//19204 11796//19205 14597//18099 +f 16479//19171 16325//18692 15797//19127 +f 4418//19169 14898//19206 144//18285 +f 1410//562 15561//561 2985//6630 +f 14745//18806 16098//18805 16071//19207 +f 16651//19176 16810//19208 16809//18859 +f 16650//18858 16651//19176 16809//18859 +f 14745//18806 16071//19207 16108//19209 +f 16974//19210 16973//18860 16809//18859 +f 5342//18725 14538//19170 14916//19174 +f 16109//18271 14745//18806 16108//19209 +f 16810//19208 16974//19210 16809//18859 +f 14536//18752 16337//19175 15686//19180 +f 16974//19210 17140//19211 17139//18863 +f 16973//18860 16974//19210 17139//18863 +f 2578//19212 2805//18894 17139//18863 +f 17140//19211 2578//19212 17139//18863 +f 2714//19213 2849//18896 2805//18894 +f 2578//19212 2714//19213 2805//18894 +f 4020//19214 4021//18897 2849//18896 +f 2714//19213 4020//19214 2849//18896 +f 855//19215 856//18901 4021//18897 +f 4020//19214 855//19215 4021//18897 +f 5750//19216 4010//18904 856//18901 +f 20380//8387 20464//8464 20379//19217 +f 855//19215 5750//19216 856//18901 +f 385//19218 386//18934 4010//18904 +f 35359//7045 35580//9551 35732//19219 +f 5750//19216 385//19218 4010//18904 +f 2667//19220 2666//18935 386//18934 +f 20295//8190 20380//8387 20294//19221 +f 20464//8464 20463//18839 20379//19217 +f 17119//18317 14761//19181 14593//18318 +f 14761//19181 3079//19222 14593//18318 +f 3871//18643 2535//19079 14901//18988 +f 14728//1513 15819//1213 15756//9038 +f 1305//19223 15017//19224 4008//18781 +f 14445//1345 14496//19184 14444//1346 +f 35557//9755 35530//5734 35373//5735 +f 11796//19205 12740//18101 11566//18098 +f 14980//19225 14975//18835 15897//5748 +f 15938//19226 4680//19048 16622//278 +f 15355//18836 16630//18922 14944//19227 +f 35524//9019 35839//9018 23856//8167 +f 14529//10396 14824//14092 14348//19145 +f 15498//19144 15165//19228 14348//19145 +f 16758//19068 2792//15312 10009//15311 +f 15913//19229 12288//13108 15774//13107 +f 15243//19192 6651//19230 14644//19193 +f 6651//19230 3740//19231 14644//19193 +f 16111//19232 16543//19194 16542//19195 +f 6274//19233 16111//19232 16542//19195 +f 16196//19196 16480//19234 16321//18968 +f 17007//19152 16196//19196 16995//19114 +f 26286//19235 5352//19236 4554//19237 +f 20559//19238 20558//2588 20473//2587 +f 736//19158 735//19239 5352//19236 +f 22224//1833 22225//1922 22320//165 +f 16489//19240 16385//19241 14722//19242 +f 1072//19243 16516//19244 16671//19245 +f 9562//19246 13995//16664 448//16628 +f 3334//19167 9562//19246 448//16628 +f 4001//19061 356//19010 4391//19012 +f 669//19060 5699//19155 245//19011 +f 6011//19160 76//19200 573//19111 +f 5599//19247 4001//19061 173//19063 +f 14730//19056 15227//19201 15485//19202 +f 16076//19057 14730//19056 15485//19202 +f 16779//19053 15362//19102 15890//19054 +f 15890//19054 15362//19102 1733//19104 +f 280//295 466//298 175//18372 +f 1597//5673 1713//2884 1596//2676 +f 16706//19163 3075//19049 16705//19164 +f 15429//19096 14393//19248 558//19249 +f 12719//19250 12425//16685 13995//16664 +f 11524//3346 11460//9042 11525//3344 +f 13696//6692 14483//6691 14559//19251 +f 35944//16775 35488//639 35413//11128 +f 14925//13141 14379//17938 14364//19203 +f 15291//13142 14925//13141 14364//19203 +f 14891//19122 14892//1011 15011//1013 +f 14575//1348 14574//1350 14495//19185 +f 9562//19246 12719//19250 13995//16664 +f 12719//19250 10583//19252 15597//16862 +f 3123//18279 4418//19169 144//18285 +f 14593//18318 3079//19222 16993//18346 +f 20295//8190 20294//19221 20208//19253 +f 20209//7569 20295//8190 20208//19253 +f 385//19218 2667//19220 386//18934 +f 2667//19220 473//19254 825//18936 +f 2666//18935 2667//19220 825//18936 +f 473//19254 4269//19255 4268//18937 +f 16098//18805 3347//19179 16071//19207 +f 20395//16614 20479//3969 20478//7247 +f 15552//18753 14536//18752 15686//19180 +f 14898//19206 14918//19256 14917//18286 +f 13760//18862 13759//15340 13340//14352 +f 2988//18751 14916//19174 16337//19175 +f 825//18936 473//19254 4268//18937 +f 32568//19257 34075//19258 19822//19259 +f 4269//19255 950//19260 1415//18938 +f 4268//18937 4269//19255 1415//18938 +f 950//19260 14636//19261 14628//18939 +f 1415//18938 950//19260 14628//18939 +f 35380//5586 35882//3023 35938//1781 +f 14628//18939 14636//19261 15798//18940 +f 5001//5037 5007//6301 15118//5164 +f 5859//7341 15525//7236 5860//7235 +f 2105//18624 2766//1219 15174//1218 +f 19157//19262 2279//6328 19156//6321 +f 35490//2773 35671//9131 35819//2548 +f 594//5321 17906//5176 593//5175 +f 14629//14084 15234//19029 16850//19030 +f 17861//19263 18556//19264 16552//19265 +f 14812//19266 14811//19031 15234//19029 +f 14629//14084 14812//19266 15234//19029 +f 15360//16368 3624//19032 14811//19031 +f 19095//19267 20069//19268 18173//18993 +f 23230//6039 23148//6449 23132//8904 +f 14540//18296 3//18302 14705//19269 +f 3079//19222 357//19270 16993//18346 +f 15396//19271 14537//11583 3171//10900 +f 16103//19272 2850//9300 14523//2609 +f 4673//18782 14897//19273 14813//19274 +f 2388//1092 6912//1091 1179//9208 +f 16072//19046 15971//78 17157//18202 +f 7345//10395 8269//14026 9649//14090 +f 14975//18835 15355//18836 15096//18929 +f 15262//18374 15390//18996 15389//10063 +f 3357//18332 252//18927 14490//938 +f 14468//19275 14466//19276 17135//19277 +f 8051//14612 2610//6015 20433//5406 +f 15165//19228 14529//10396 14348//19145 +f 14089//14192 20866//6162 21575//6141 +f 14365//19278 14353//1677 942//19279 +f 6651//19230 15959//19280 3740//19231 +f 15959//19280 15103//19281 3740//19231 +f 5821//19282 14940//19283 4007//19284 +f 4140//19285 16111//19232 6274//19233 +f 16480//19234 5821//19282 1539//18970 +f 16183//18967 16196//19196 16321//18968 +f 23012//1902 23013//13628 23110//584 +f 22321//1921 22418//7357 22417//155 +f 281//19153 391//19286 735//19239 +f 5353//19159 736//19158 5352//19236 +f 2550//19287 16385//19241 16489//19240 +f 14440//19288 2550//19287 16489//19240 +f 20712//8816 20711//19289 20630//19290 +f 16629//19291 16472//19292 16177//19293 +f 356//19010 669//19060 245//19011 +f 20631//8725 20712//8816 20630//19290 +f 76//19200 5599//19247 173//19063 +f 14770//18917 14769//4448 14663//4446 +f 17109//7942 14825//15174 15485//19202 +f 585//19109 356//19010 4001//19061 +f 16862//19103 16112//19100 16110//19099 +f 17020//19294 17007//19152 15364//19107 +f 13503//12907 5222//18050 12389//12908 +f 1733//19104 16862//19103 16110//19099 +f 15430//19097 15429//19096 558//19249 +f 15354//19295 15102//19296 14613//7946 +f 933//740 5758//8621 226//10560 +f 14393//19248 3216//19189 1301//19190 +f 15640//832 15641//831 15777//1756 +f 14896//19297 1897//19298 14816//19299 +f 15226//13954 15352//19140 14364//19203 +f 14532//277 15488//279 14927//1478 +f 14554//19004 14715//19006 2485//18642 +f 15893//11902 2309//11903 2178//18747 +f 20410//2112 21220//2256 21219//19300 +f 26683//14959 26579//12452 20245//18536 +f 357//19270 17184//2350 16693//2512 +f 7091//1770 15660//18336 15042//19301 +f 20380//8387 20379//19217 20294//19221 +f 16993//18346 357//19270 16693//2512 +f 14812//19266 15360//16368 14811//19031 +f 2268//18387 24418//17457 2007//17456 +f 17178//19302 14658//19037 3624//19032 +f 15360//16368 17178//19302 3624//19032 +f 15261//18368 15389//10063 15388//284 +f 14545//19303 14546//19038 14658//19037 +f 14917//18286 14918//19256 15527//18294 +f 14367//1045 13613//5991 12567//11738 +f 144//18285 14898//19206 14917//18286 +f 3962//19135 15106//19136 15887//18295 +f 22751//19304 22750//6529 21052//19305 +f 14918//19256 3962//19135 15527//18294 +f 17178//19302 14545//19303 14658//19037 +f 23050//6501 22750//6529 22751//19304 +f 14530//19306 15958//19039 14546//19038 +f 14545//19303 14530//19306 14546//19038 +f 14530//19306 14327//19307 16077//19087 +f 15958//19039 14530//19306 16077//19087 +f 14327//19307 4409//19308 5086//19088 +f 16077//19087 14327//19307 5086//19088 +f 4409//19308 3879//19309 3880//19089 +f 5086//19088 4409//19308 3880//19089 +f 3879//19309 16185//19310 14621//19090 +f 3880//19089 3879//19309 14621//19090 +f 16185//19310 15697//7439 16172//19091 +f 14621//19090 16185//19310 16172//19091 +f 35743//6243 35594//19311 35881//3550 +f 15697//7439 16623//19312 16803//19092 +f 14694//1617 14605//9545 2710//1618 +f 23148//6449 23050//6501 23343//19313 +f 15965//118 353//19314 78//19041 +f 16335//19315 16486//19316 16485//19317 +f 14060//12760 14158//945 12254//947 +f 14371//19191 14370//18282 14356//18315 +f 359//18645 6872//13104 16072//19046 +f 14690//19318 14456//9278 5758//8621 +f 15874//19319 25442//19320 733//19321 +f 15901//19204 11800//77 11796//19205 +f 14468//19275 16175//19322 5487//19323 +f 16052//18365 16249//9363 15772//18432 +f 10973//12634 4807//11975 8124//11974 +f 15268//9217 16952//18743 16942//19182 +f 17171//19188 14473//18435 14471//18434 +f 16957//19324 16708//19325 16707//19326 +f 15354//19295 15101//19327 15103//19281 +f 16853//18717 16854//1764 15694//19027 +f 16480//19234 16176//19328 5821//19282 +f 15959//19280 15354//19295 15103//19281 +f 16321//18968 16480//19234 1539//18970 +f 4007//19284 4140//19285 6274//19233 +f 14143//19329 16758//19068 10009//15311 +f 5821//19282 4007//19284 6014//19013 +f 736//19158 281//19153 735//19239 +f 22129//2426 22225//1922 22128//1780 +f 243//19330 2550//19287 14440//19288 +f 691//19110 432//19331 391//19286 +f 14618//19332 16489//19240 14720//19333 +f 16385//19241 1072//19243 14722//19242 +f 16986//19334 16078//19335 16969//19336 +f 16472//19292 16629//19291 15932//19337 +f 14842//15301 15082//19338 3039//15302 +f 15299//19156 15293//19339 13125//19340 +f 15656//1135 15144//84 3620//18924 +f 1449//138 15287//140 6145//18890 +f 5599//19247 585//19109 4001//19061 +f 15956//19106 15955//19058 15817//19341 +f 941//19342 14323//19343 585//19109 +f 15367//19344 15364//19107 14321//19059 +f 16112//19100 16248//19147 16392//19101 +f 14376//18908 15420//19002 14366//18951 +f 15229//19345 15102//19296 15354//19295 +f 15959//19280 15229//19345 15354//19295 +f 558//19249 14393//19248 1301//19190 +f 14473//18435 15351//19141 2414//18436 +f 14564//273 2888//272 19320//19028 +f 15165//19228 15294//4276 14529//10396 +f 15555//1253 7469//14307 7358//14236 +f 14399//274 14418//1347 14398//275 +f 14473//18435 14474//7745 15351//19141 +f 16319//7747 15893//11902 16034//18746 +f 1778//18641 14554//19004 2485//18642 +f 15514//18337 15515//19138 15649//18333 +f 709//1987 2402//1986 6269//18308 +f 2136//19346 2008//18304 6269//18308 +f 9794//14686 8084//12024 9436//6036 +f 3979//8461 15973//2992 1300//315 +f 12425//16685 12719//19250 15597//16862 +f 15046//1479 15170//19347 14329//1482 +f 16172//19091 15697//7439 16803//19092 +f 16623//19312 6253//19126 3795//15418 +f 16803//19092 16623//19312 3795//15418 +f 1196//6857 1312//6860 1195//6750 +f 15260//283 15261//18368 15388//284 +f 15500//19348 14864//18985 16323//12259 +f 19087//19349 19189//19350 19188//19351 +f 621//19352 18023//8381 17930//8384 +f 17185//764 12933//763 13959//7369 +f 15787//18329 15788//19353 15926//18802 +f 22048//8903 23148//6449 23343//19313 +f 35759//1570 35802//1569 35569//3517 +f 15133//1276 15134//1042 15260//283 +f 23343//19313 23050//6501 22751//19304 +f 2127//8375 299//13004 132//8198 +f 799//19354 4662//18995 15500//19348 +f 16959//523 15550//513 16956//1452 +f 6017//18369 6635//3315 68//3514 +f 14362//19355 15621//19356 14701//19357 +f 35546//1285 26940//1284 27520//15784 +f 14408//9542 14427//1584 14426//647 +f 14407//9543 14408//9542 14426//647 +f 6774//18386 4532//9126 828//18379 +f 18897//19358 1387//14330 19113//8530 +f 14427//1584 14453//1463 14452//648 +f 14580//446 14579//9029 14500//18455 +f 14901//18988 14477//19359 1534//422 +f 15650//18328 15651//19360 15787//18329 +f 14501//447 14580//446 14500//18455 +f 14813//19274 14690//19318 5758//8621 +f 14750//119 15965//118 78//19041 +f 14747//18644 16075//12234 359//18645 +f 12296//11292 12382//17926 11978//17872 +f 14616//708 16174//1321 14507//1320 +f 35383//6696 3179//7544 10624//9469 +f 14455//1357 14454//1359 14428//1581 +f 15017//19224 14897//19273 4673//18782 +f 23219//4595 13785//4697 23121//19361 +f 16175//19322 16957//19324 14938//19362 +f 3981//6729 1410//562 2985//6630 +f 5487//19323 16175//19322 14938//19362 +f 14613//7946 15288//7943 15101//19327 +f 13959//7369 13210//7370 11498//8081 +f 16213//19363 16176//19328 16196//19196 +f 15354//19295 14613//7946 15101//19327 +f 1539//18970 5821//19282 6014//19013 +f 14940//19283 4140//19285 4007//19284 +f 20712//8816 20794//8949 20711//19289 +f 4007//19284 6274//19233 5221//19014 +f 281//19153 691//19110 391//19286 +f 23013//13628 23111//15298 23110//584 +f 974//19364 243//19330 354//19365 +f 83//19062 29//19366 432//19331 +f 14722//19242 16671//19245 16829//19367 +f 354//19365 243//19330 14440//19288 +f 8269//14026 7345//10395 11251//10397 +f 14720//19333 14722//19242 16829//19367 +f 16078//19335 16472//19292 15932//19337 +f 16472//19292 15437//19368 16177//19293 +f 5699//19155 15299//19156 13125//19340 +f 15293//19339 16986//19334 15285//19369 +f 14572//18406 14664//18870 14571//4445 +f 16994//19113 16986//19334 15293//19339 +f 15961//19370 15956//19106 15817//19341 +f 14656//194 14513//18366 3623//1259 +f 14323//19343 15367//19344 14321//19059 +f 15955//19058 16076//19057 16364//19371 +f 8910//5126 2205//2570 8802//11139 +f 2101//19372 941//19342 5599//19247 +f 15102//19296 15970//14093 14613//7946 +f 10583//19252 23173//19373 23074//16869 +f 15419//19003 15420//19002 17158//19187 +f 15229//19345 15959//19280 6651//19230 +f 15664//18440 15801//18443 13231//14300 +f 15597//16862 10583//19252 23074//16869 +f 14444//1346 14443//19007 14417//18352 +f 15498//19144 16632//4275 15165//19228 +f 15351//19141 16319//7747 16034//18746 +f 14418//1347 14444//1346 14417//18352 +f 2147//19374 5059//204 15304//206 +f 34951//17830 34950//15949 34821//18413 +f 4149//1769 15660//18336 7091//1770 +f 14400//7572 14399//274 14382//1048 +f 2443//3723 2777//5706 2778//3721 +f 15039//502 15164//518 16646//18911 +f 15435//19375 15503//18975 16950//19376 +f 14476//441 3333//7031 707//169 +f 5084//9124 14760//8681 14714//1136 +f 15044//19033 4662//18995 799//19354 +f 947//9128 14534//666 14524//18380 +f 138//788 819//469 16257//1959 +f 24115//19377 14714//1136 14942//18807 +f 9649//14090 14613//7946 15970//14093 +f 16040//19034 15044//19033 14924//19378 +f 19832//19379 19946//1720 19945//1719 +f 13140//9137 13047//9136 13141//12298 +f 15927//292 16069//18949 16068//18412 +f 1897//19298 16481//18892 14816//19299 +f 17112//929 15304//206 17113//930 +f 23173//19373 15074//19380 12664//16948 +f 176//517 467//454 177//456 +f 14799//18287 15413//18297 15899//18426 +f 14864//18985 14734//18986 16323//12259 +f 9856//8109 9855//8700 9740//8699 +f 14371//19191 14386//19381 14370//18282 +f 1889//19083 145//19040 14900//19382 +f 15097//752 16703//667 16697//1801 +f 15511//18921 15510//13676 15379//12679 +f 23074//16869 23173//19373 12664//16948 +f 16631//18598 14701//19357 16053//8651 +f 11550//6422 6139//1010 35459//3903 +f 4646//19085 1889//19083 2503//19383 +f 393//1787 507//8510 17835//1785 +f 1534//422 14477//19359 15224//713 +f 4662//18995 14864//18985 15500//19348 +f 2621//412 13296//1182 17136//808 +f 15134//1042 15261//18368 15260//283 +f 15384//19183 15385//4738 15515//19138 +f 9857//1351 16844//1353 9973//8108 +f 816//8743 16484//8870 16485//19317 +f 15788//19353 15927//292 15926//18802 +f 17174//18888 14630//18719 14747//18644 +f 15386//4739 15387//285 15517//18342 +f 5274//18797 16187//18796 16689//13388 +f 6872//13104 15971//78 16072//19046 +f 17969//19384 20449//16220 17968//18773 +f 15131//1568 15132//1277 15258//5467 +f 14934//18933 14818//5759 2845//2990 +f 35679//9012 35439//7553 35631//7552 +f 12053//4724 11888//12360 12226//17812 +f 20499//15622 12089//17183 12171//15683 +f 14374//18430 14390//17804 14389//18928 +f 9681//1081 11222//12932 1294//19385 +f 17020//19294 16213//19363 17007//19152 +f 16544//706 2231//705 16698//840 +f 6014//19013 4007//19284 5221//19014 +f 16176//19328 14940//19283 5821//19282 +f 15074//19380 19982//19386 13697//16993 +f 6274//19233 16542//19195 16541//19065 +f 691//19110 83//19062 432//19331 +f 4066//19387 15082//19338 14842//15301 +f 16864//19388 974//19364 14790//19389 +f 4391//19012 6670//19390 29//19366 +f 16671//19245 14976//19391 14378//19392 +f 14790//19389 974//19364 354//19365 +f 2254//4573 8001//16387 9774//2073 +f 16829//19367 16671//19245 14378//19392 +f 14456//9278 15899//18426 1421//9279 +f 4362//4682 10888//10456 4497//7549 +f 16996//11595 9180//11557 9289//13019 +f 4283//18334 4284//386 1381//18331 +f 16078//19335 15932//19337 16969//19336 +f 3186//5322 3356//496 3357//18332 +f 15299//19156 16994//19113 15293//19339 +f 13125//19340 15293//19339 6391//19393 +f 3623//1259 14513//18366 15636//1643 +f 16096//18969 16078//19335 16986//19334 +f 15817//19341 15955//19058 16364//19371 +f 15696//1615 16102//709 16103//19272 +f 14323//19343 14321//19059 585//19109 +f 16076//19057 15485//19202 15484//19394 +f 35879//1611 35852//1549 35509//9197 +f 168//19395 2101//19372 76//19200 +f 702//19396 15229//19345 6651//19230 +f 12208//8266 12057//7746 11881//7139 +f 3356//496 362//495 252//18927 +f 702//19396 6651//19230 15243//19192 +f 15294//4276 15415//950 14529//10396 +f 15245//9218 16942//19182 16867//5046 +f 14495//19185 14494//19118 14443//19007 +f 3216//19189 5488//4277 15498//19144 +f 14474//7745 16319//7747 15351//19141 +f 14444//1346 14495//19185 14443//19007 +f 6354//8608 6225//8953 8521//8609 +f 35434//8723 35483//6701 35717//5273 +f 15516//4740 15517//18342 15651//19360 +f 15009//1567 15132//1277 15131//1568 +f 16178//323 16035//5596 5193//4901 +f 1896//19397 501//9209 1427//18885 +f 14924//19378 15044//19033 799//19354 +f 5834//4515 15551//18716 5835//6125 +f 14579//9029 14578//9030 14499//18392 +f 14703//19398 1448//19036 5601//19399 +f 16197//15520 16343//19400 16342//15521 +f 21148//170 13656//2036 21147//171 +f 14460//19401 16040//19034 14924//19378 +f 2503//19383 1889//19083 14900//19382 +f 247//324 16178//323 5193//4901 +f 19654//19402 4134//2374 181//14107 +f 15517//18342 15652//19403 15651//19360 +f 19775//19404 18627//19405 18434//19406 +f 99//3399 21287//3770 21286//18453 +f 16821//19407 16985//15168 16984//299 +f 16804//18277 16958//8978 3873//8977 +f 9566//11536 14819//18905 8577//11528 +f 1183//1606 4279//641 15690//319 +f 15692//18723 15691//19408 16099//18724 +f 15041//19409 5077//19086 6879//19410 +f 14633//19084 4646//19085 14479//19411 +f 16343//19400 16496//19412 16495//17060 +f 16342//15521 16343//19400 16495//17060 +f 16496//19412 16652//19413 16651//19176 +f 16495//17060 16496//19412 16651//19176 +f 16811//19414 16810//19208 16651//19176 +f 16652//19413 16811//19414 16651//19176 +f 5077//19086 14633//19084 6879//19410 +f 16975//19415 16974//19210 16810//19208 +f 6248//4597 6022//4596 15968//5466 +f 14479//19411 4646//19085 2503//19383 +f 16220//18347 6017//18369 15625//18319 +f 1614//6381 4528//9510 1602//577 +f 15516//4740 15651//19360 15650//18328 +f 11973//17971 12461//10060 12054//18155 +f 15652//19403 15653//15201 15789//290 +f 15515//19138 15516//4740 15650//18328 +f 2178//18747 2309//11903 17174//18888 +f 15518//520 15653//15201 15652//19403 +f 3664//19416 4283//18334 4416//2406 +f 16075//12234 6872//13104 359//18645 +f 4266//8847 817//8869 816//8743 +f 14975//18835 15096//18929 15897//5748 +f 14466//19276 14468//19275 5487//19323 +f 16790//678 5297//896 5298//679 +f 15764//11291 12211//11290 14557//1572 +f 2232//6916 16698//840 2497//9946 +f 15279//14773 16300//7284 15467//14774 +f 14542//19417 14727//1768 14605//9545 +f 15367//19344 17020//19294 15364//19107 +f 13134//2602 16079//15237 13133//18180 +f 5221//19014 6274//19233 16541//19065 +f 16176//19328 16480//19234 16196//19196 +f 14664//18870 14770//18917 14663//4446 +f 16542//19195 14733//19151 17009//19418 +f 83//19062 4391//19012 29//19366 +f 20794//8949 20793//18599 20711//19289 +f 15437//19368 16864//19388 16865//19419 +f 245//19011 49//19420 6670//19390 +f 14976//19391 15962//19421 14320//19422 +f 16865//19419 16864//19388 14790//19389 +f 21742//3214 21650//13772 35014//19423 +f 14378//19392 14976//19391 14320//19422 +f 20613//4592 20614//2777 20694//4593 +f 20136//19424 20193//4580 20105//9538 +f 22417//155 22418//7357 22515//156 +f 35442//1947 35772//11907 35780//9636 +f 2768//18974 20267//19425 16310//15303 +f 22615//1968 22714//1876 22713//1877 +f 22933//3034 22834//17726 14046//15937 +f 4284//386 3186//5322 1381//18331 +f 16986//19334 16969//19336 15285//19369 +f 3664//19416 1576//384 4283//18334 +f 16994//19113 16096//18969 16986//19334 +f 49//19420 13125//19340 140//19426 +f 14345//19427 14358//353 14357//18814 +f 16787//19016 16472//19292 16078//19335 +f 16364//19371 16076//19057 15484//19394 +f 15298//9548 15426//2428 15170//19347 +f 941//19342 585//19109 5599//19247 +f 15485//19202 14825//15174 14826//15175 +f 14943//5044 1189//5177 614//13275 +f 6142//19428 168//19395 6011//19160 +f 16475//19429 702//19396 15243//19192 +f 15659//7120 5459//7003 5592//7002 +f 15420//19002 17171//19188 17158//19187 +f 16475//19429 15243//19192 15308//19149 +f 16632//4275 15294//4276 15165//19228 +f 16195//18596 14744//17980 5473//18231 +f 14574//1350 14573//19072 14494//19118 +f 14393//19248 16788//5597 3216//19189 +f 33742//19430 33876//19431 33741//19432 +f 14495//19185 14574//1350 14494//19118 +f 16867//5046 16942//19182 14817//5047 +f 35834//9757 35787//14065 35520//7170 +f 17995//18344 17994//19433 17901//18345 +f 14551//18495 15750//18494 14550//18305 +f 4279//641 15556//320 15690//319 +f 14405//2275 14424//1326 14404//9103 +f 2496//19035 16040//19034 14460//19401 +f 21496//16323 14629//14084 22345//2160 +f 145//19040 1448//19036 14703//19398 +f 5601//19399 2496//19035 14460//19401 +f 14900//19382 145//19040 14703//19398 +f 1448//19036 2496//19035 5601//19399 +f 15963//2608 15825//2610 16795//1472 +f 20598//11471 13893//18620 24286//11558 +f 15488//279 16943//9398 15298//9548 +f 15222//18930 14927//1478 15761//1480 +f 4547//9397 3532//8997 1307//9206 +f 16943//9398 4547//9397 1307//9206 +f 14388//5749 14389//18928 14405//2275 +f 16943//9398 1307//9206 15298//9548 +f 16101//19434 15612//19435 15748//18750 +f 15292//798 3214//797 1062//1054 +f 6879//19410 14633//19084 14479//19411 +f 16099//18724 16101//19434 15748//18750 +f 16811//19414 16975//19415 16810//19208 +f 5358//19093 5077//19086 15041//19409 +f 16975//19415 17141//19436 17140//19211 +f 16974//19210 16975//19415 17140//19211 +f 7011//19437 2578//19212 17140//19211 +f 17141//19436 7011//19437 17140//19211 +f 2579//19438 2714//19213 2578//19212 +f 1654//19439 4937//19125 15524//19440 +f 15394//19124 5358//19093 14743//19441 +f 15392//19442 16476//19443 4816//18804 +f 15691//19408 16101//19434 16099//18724 +f 15488//279 15298//9548 15046//1479 +f 14897//19273 15016//18428 14690//19318 +f 15517//18342 15518//520 15652//19403 +f 15651//19360 15788//19353 15787//18329 +f 16034//18746 15893//11902 2178//18747 +f 15256//19444 15384//19183 15383//2598 +f 1875//5754 4680//19048 15933//4288 +f 14630//18719 16075//12234 14747//18644 +f 15415//950 16515//807 14529//10396 +f 3405//2578 3664//19416 4416//2406 +f 4680//19048 1875//5754 16622//278 +f 14376//18908 25564//19445 25420//19446 +f 16861//19447 16113//19448 16112//19100 +f 6003//19449 6//9008 54//4906 +f 14475//5886 16949//6034 434//8202 +f 10746//11623 10978//14210 14867//11724 +f 16617//19450 16800//8806 20664//433 +f 15785//5590 15786//18330 15924//5592 +f 16541//19065 16542//19195 17009//19418 +f 16213//19363 16196//19196 17007//19152 +f 4137//243 14708//19451 15290//237 +f 14733//19151 15956//19106 15961//19370 +f 4391//19012 245//19011 6670//19390 +f 12664//16948 15074//19380 13697//16993 +f 432//19331 29//19366 96//19452 +f 5699//19155 13125//19340 49//19420 +f 15962//19421 5550//7234 15525//7236 +f 16177//19293 15437//19368 16865//19419 +f 16629//19291 16177//19293 15930//3198 +f 14320//19422 15962//19421 15525//7236 +f 6145//18890 15287//140 16330//18891 +f 7294//21 21466//376 21465//22 +f 2132//6867 14365//19278 942//19279 +f 19982//19386 20023//19453 19992//17003 +f 14407//9543 14426//647 14425//650 +f 15109//1481 14985//1483 6528//1793 +f 30417//19454 30418//12520 30551//12522 +f 22420//15510 22518//12784 22517//6941 +f 15930//3198 16177//19293 16866//19455 +f 11970//975 14158//945 14060//12760 +f 14423//1328 14422//19456 14403//19457 +f 16032//511 16629//19291 15930//3198 +f 15293//19339 15285//19369 6391//19393 +f 14449//18456 14448//18391 14422//19456 +f 16096//18969 16787//19016 16078//19335 +f 6670//19390 49//19420 4654//19458 +f 14343//18324 14333//18979 14357//18814 +f 16787//19016 15617//18971 15437//19368 +f 15484//19394 15485//19202 14826//15175 +f 14784//8680 17113//930 14760//8681 +f 2101//19372 5599//19247 76//19200 +f 35754//11079 35554//3505 35518//10313 +f 15762//5178 15758//18493 14553//18880 +f 284//19459 6142//19428 283//19115 +f 15431//19460 16475//19429 15308//19149 +f 14857//13274 14943//5044 614//13275 +f 4128//7473 2228//1155 547//7644 +f 15431//19460 15308//19149 16248//19147 +f 5488//4277 16632//4275 15498//19144 +f 20549//8672 20548//19461 20463//18839 +f 14666//2294 14665//18868 14573//19072 +f 15429//19096 16473//18576 14393//19248 +f 32447//2278 32554//2277 32446//19462 +f 14574//1350 14666//2294 14573//19072 +f 15750//18494 15698//1689 14550//18305 +f 22164//19463 22238//3385 122//19464 +f 17868//19465 19936//19466 19301//9638 +f 22513//246 22512//10334 22414//8892 +f 6406//19467 16699//19468 16856//18722 +f 14424//1326 14423//1328 14404//9103 +f 2887//18682 19175//19469 4936//306 +f 350//18721 6406//19467 16856//18722 +f 14935//19470 6406//19467 350//18721 +f 15486//308 14935//19470 350//18721 +f 16699//19468 15691//19408 15692//18723 +f 16856//18722 16699//19468 15692//18723 +f 14486//19471 14698//19472 2399//18945 +f 14698//19472 15284//18946 2399//18945 +f 15284//18946 14698//19472 15526//18948 +f 14698//19472 4004//19473 15526//18948 +f 4547//9397 16073//4287 16216//8998 +f 4004//19473 14874//19474 16401//18998 +f 14800//18393 15899//18426 14456//9278 +f 3532//8997 4547//9397 16216//8998 +f 15612//19435 15392//19442 4816//18804 +f 16216//8998 16073//4287 15019//9106 +f 14743//19441 5358//19093 15041//19409 +f 15748//18750 15612//19435 4816//18804 +f 7011//19437 2579//19438 2578//19212 +f 4937//19125 15394//19124 15524//19440 +f 4152//19475 4020//19214 2714//19213 +f 2579//19438 4152//19475 2714//19213 +f 854//19476 855//19215 4020//19214 +f 4152//19475 854//19476 4020//19214 +f 5616//19477 5750//19216 855//19215 +f 1533//19478 15797//19127 1654//19439 +f 854//19476 5616//19477 855//19215 +f 16039//19479 15635//18893 16359//18855 +f 15524//19440 15394//19124 14743//19441 +f 16073//4287 14511//4289 15019//9106 +f 16476//19443 16039//19479 16359//18855 +f 15129//1449 15256//19444 15128//19186 +f 14927//1478 15488//279 15046//1479 +f 1894//1881 3223//463 1659//1882 +f 16216//8998 15019//9106 5744//8649 +f 14382//1048 14399//274 14381//276 +f 2309//11903 14630//18719 17174//18888 +f 7003//19119 14938//19362 16706//19163 +f 16630//18922 15938//19226 14532//277 +f 16707//19326 16188//19480 3075//19049 +f 16706//19163 16707//19326 3075//19049 +f 16507//18837 16508//18399 16663//19481 +f 1742//2231 1381//18331 3358//2232 +f 14939//19482 16861//19447 16862//19103 +f 15362//19102 14939//19482 16862//19103 +f 709//1987 1065//9355 2936//12396 +f 14358//353 14372//514 14357//18814 +f 13667//2418 13766//15655 12306//8769 +f 738//19483 26144//19157 26143//19484 +f 8852//11509 2514//5536 2379//8173 +f 17009//19418 14733//19151 15961//19370 +f 14920//8823 16338//18681 16193//238 +f 16074//19485 14708//19451 4137//243 +f 16863//19064 17108//19015 974//19364 +f 245//19011 5699//19155 49//19420 +f 29//19366 6670//19390 7008//19486 +f 6670//19390 4654//19458 7008//19486 +f 15825//2610 15689//1256 16955//1635 +f 11391//10442 10141//8982 822//13439 +f 16969//19336 15932//19337 16968//521 +f 16629//19291 16032//511 15834//522 +f 16853//18717 15694//19027 15695//18745 +f 16638//775 1661//74 17122//19005 +f 273//1831 16539//19487 15937//19488 +f 17124//19489 14618//19332 16051//18341 +f 13697//16993 19982//19386 19992//17003 +f 14068//515 14187//15716 5756//516 +f 177//456 2937//455 2936//12396 +f 14464//19490 16792//726 14983//1989 +f 3484//1492 14934//18933 2845//2990 +f 2536//19076 14586//1290 14919//19491 +f 16177//19293 16865//19419 16866//19455 +f 15695//18745 16795//1472 6002//1471 +f 13048//8850 13142//8853 13141//12298 +f 15932//19337 15834//522 16968//521 +f 13125//19340 6391//19393 140//19426 +f 3979//8461 1300//315 3158//314 +f 16472//19292 16787//19016 15437//19368 +f 29//19366 7008//19486 96//19452 +f 16338//18681 14397//19069 15438//1323 +f 15617//18971 16863//19064 16864//19388 +f 2138//9400 29291//16276 19144//8118 +f 5176//19492 16074//19485 16217//1903 +f 168//19395 76//19200 6011//19160 +f 9525//14984 4019//19493 9412//4893 +f 16398//18685 3874//19494 1187//18649 +f 6142//19428 6011//19160 283//19115 +f 16106//19495 15431//19460 16248//19147 +f 3869//606 6775//9541 708//1217 +f 24010//18847 21873//18849 24011//19496 +f 16112//19100 16113//19448 16248//19147 +f 16788//5597 5488//4277 3216//19189 +f 14787//19077 2536//19076 14801//9142 +f 14772//2293 14771//18869 14665//18868 +f 16473//18576 16788//5597 14393//19248 +f 23406//10187 23405//15307 23308//10188 +f 14666//2294 14772//2293 14665//18868 +f 5879//4757 6003//19449 54//4906 +f 21220//2256 22238//3385 22164//19463 +f 25131//3007 35729//980 13591//982 +f 14752//18363 16105//117 14750//119 +f 15142//9353 15143//8818 14624//19497 +f 14363//9021 15143//8818 15142//9353 +f 16039//19479 16184//19498 15635//18893 +f 16184//19498 14486//19471 2399//18945 +f 16180//19499 16479//19171 1533//19478 +f 15797//19127 4937//19125 1654//19439 +f 14538//19170 16479//19171 15620//19500 +f 16479//19171 15797//19127 1533//19478 +f 14538//19170 15620//19500 5995//19501 +f 14916//19174 14538//19170 5995//19501 +f 15526//18948 4004//19473 16401//18998 +f 16479//19171 16180//19499 15620//19500 +f 15143//8818 14623//8820 14624//19497 +f 14874//19474 5820//19502 5686//19080 +f 14896//19297 14816//19299 3214//797 +f 15967//796 14896//19297 3214//797 +f 16476//19443 16359//18855 4816//18804 +f 5820//19502 3612//19503 6405//19094 +f 15686//19180 16337//19175 17180//19504 +f 14916//19174 5995//19501 14798//19505 +f 5616//19477 384//19506 385//19218 +f 5750//19216 5616//19477 385//19218 +f 384//19506 248//19507 2667//19220 +f 385//19218 384//19506 2667//19220 +f 248//19507 2534//18984 473//19254 +f 2667//19220 248//19507 473//19254 +f 2534//18984 6524//19508 4269//19255 +f 15686//19180 17180//19504 84//19509 +f 15495//19178 15686//19180 84//19509 +f 6405//19094 3612//19503 5484//19081 +f 16184//19498 14933//18932 15635//18893 +f 2482//9352 14363//9021 15142//9353 +f 14511//4289 14363//9021 2482//9352 +f 21027//1941 21113//1940 21026//9153 +f 14077//16773 11961//15782 11693//14164 +f 22238//3385 99//3399 122//19464 +f 21219//19300 21220//2256 22164//19463 +f 14772//2293 14885//9020 14771//18869 +f 14418//1347 14417//18352 14398//275 +f 16962//347 16963//19510 17128//5039 +f 4283//18334 1381//18331 1742//2231 +f 14719//19073 5487//19323 7003//19119 +f 14938//19362 16707//19326 16706//19163 +f 16509//18370 16664//15115 16508//18399 +f 5859//7341 3263//7438 15525//7236 +f 14858//19511 14939//19482 15362//19102 +f 16779//19053 14858//19511 15362//19102 +f 466//298 582//1216 175//18372 +f 5754//1337 280//295 5755//9230 +f 23209//15299 23307//15297 23306//174 +f 23208//1648 23209//15299 23306//174 +f 14616//708 15055//9365 16174//1321 +f 10327//10922 10207//14179 10208//10923 +f 14708//19451 14920//8823 15290//237 +f 16217//1903 16074//19485 4137//243 +f 23219//4595 23121//19361 21772//19512 +f 16064//18881 16207//18838 16206//2031 +f 20023//19453 20480//19513 20456//17054 +f 49//19420 140//19426 4654//19458 +f 16865//19419 14790//19389 16182//19514 +f 15825//2610 14459//18373 15689//1256 +f 4654//19458 140//19426 5733//1022 +f 15932//19337 16629//19291 15834//522 +f 13785//4697 23024//5567 22830//19515 +f 14489//6315 15479//6314 3874//19494 +f 14618//19332 14720//19333 14721//1214 +f 15937//19488 17124//19489 16051//18341 +f 15621//19356 14320//19422 3263//7438 +f 15395//7533 3263//7438 5990//2055 +f 14365//19278 15412//1675 14353//1677 +f 16832//18407 16996//11595 9289//13019 +f 14378//19392 14320//19422 15621//19356 +f 14320//19422 15525//7236 3263//7438 +f 17122//19005 1661//74 14993//19075 +f 16463//16608 13468//15664 16026//19516 +f 16969//19336 16968//521 15271//9394 +f 15285//19369 16969//19336 15271//9394 +f 16795//1472 15825//2610 16955//1635 +f 14459//18373 4928//1082 15689//1256 +f 432//19331 96//19452 505//16646 +f 391//19286 432//19331 505//16646 +f 15437//19368 15617//18971 16864//19388 +f 16864//19388 16863//19064 974//19364 +f 14431//18431 15055//9365 14616//708 +f 16174//1321 5176//19492 16217//1903 +f 10211//13763 16533//17297 16381//17944 +f 1773//730 4673//18782 15363//731 +f 4659//19067 4066//19387 16017//15300 +f 35115//19517 22421//12782 22420//15510 +f 15623//9286 14555//6312 616//6311 +f 14934//18933 3794//18947 14818//5759 +f 16862//19103 16861//19447 16112//19100 +f 16113//19448 16106//19495 16248//19147 +f 13570//16494 13473//15648 11619//15646 +f 16355//18398 16508//18399 16507//18837 +f 15829//18574 16473//18576 15429//19096 +f 15828//19050 15829//18574 15429//19096 +f 14885//9020 14884//18916 14771//18869 +f 15005//1450 15004//18959 14884//18916 +f 19992//17003 20023//19453 20456//17054 +f 20408//19518 20410//2112 21219//19300 +f 14713//9028 16324//18410 14350//9022 +f 17247//65 4329//1960 17246//651 +f 14623//8820 14896//19297 15967//796 +f 14624//19497 14623//8820 15967//796 +f 14933//18932 16184//19498 2399//18945 +f 17133//19082 14508//19519 4139//19123 +f 15495//19178 84//19509 15489//19520 +f 15231//19177 15495//19178 15489//19520 +f 473//19254 2534//18984 4269//19255 +f 6524//19508 1531//19521 950//19260 +f 4269//19255 6524//19508 950//19260 +f 6523//19522 1648//19523 1531//19521 +f 16071//19207 3347//19179 249//19524 +f 950//19260 1531//19521 14636//19261 +f 16401//18998 14874//19474 5686//19080 +f 15231//19177 15489//19520 1420//19525 +f 15935//636 16492//635 15416//18364 +f 4139//19123 1416//19526 4418//19169 +f 5686//19080 5820//19502 6405//19094 +f 14716//19527 15053//19528 14594//19137 +f 16337//19175 14916//19174 14798//19505 +f 3612//19503 14749//19529 5484//19081 +f 14054//19530 21674//2063 13273//17596 +f 3347//19179 1420//19525 249//19524 +f 19514//19531 14636//19261 1531//19521 +f 35487//2817 35505//4453 35800//2818 +f 12192//19532 25192//19533 22385//19534 +f 17756//15814 16454//15422 19699//15403 +f 16108//19209 16071//19207 16250//19535 +f 3541//9368 3670//9371 3540//9369 +f 14749//19529 14508//19519 17133//19082 +f 16337//19175 14798//19505 17180//19504 +f 16492//635 16052//18365 15416//18364 +f 5484//19081 14749//19529 17133//19082 +f 22516//1969 22615//1968 22614//1802 +f 15019//9106 14511//4289 2482//9352 +f 6775//9541 6397//18910 2402//1986 +f 7091//1770 15042//19301 274//9546 +f 14553//18880 14551//18495 2136//19346 +f 16210//506 16356//508 16355//18398 +f 2269//18843 14553//18880 2136//19346 +f 175//18372 582//1216 176//517 +f 17129//19536 2622//19537 3714//2783 +f 20901//19538 16963//19510 16801//19539 +f 14466//19276 5487//19323 14465//18912 +f 5487//19323 14938//19362 7003//19119 +f 14715//19006 14993//19075 14787//19077 +f 22229//18841 22228//4653 22132//6406 +f 14326//19540 14858//19511 16779//19053 +f 16218//19161 14326//19540 16779//19053 +f 8307//12000 11217//19121 15365//9039 +f 709//1987 6269//18308 4402//9127 +f 30352//9152 18928//19541 6876//4435 +f 22225//1922 22224//1833 22128//1780 +f 5856//556 14431//18431 14616//708 +f 15055//9365 5176//19492 16174//1321 +f 15484//19394 14826//15175 14458//19542 +f 15290//237 14920//8823 16193//238 +f 14821//15060 6909//19543 7006//14326 +f 14404//9103 14403//19457 14386//19381 +f 20480//19513 21236//19544 21233//17137 +f 20124//7282 20209//7569 20123//19019 +f 14790//19389 354//19365 16539//19487 +f 16866//19455 16865//19419 16182//19514 +f 7008//19486 4654//19458 7009//1021 +f 140//19426 50//8918 5733//1022 +f 15015//18427 14705//19269 3171//10900 +f 1421//9279 15015//18427 3171//10900 +f 16539//19487 17124//19489 15937//19488 +f 16051//18341 14618//19332 14721//1214 +f 15791//3199 15930//3198 17023//18339 +f 16866//19455 16182//19514 16255//1830 +f 17023//18339 16866//19455 16255//1830 +f 16182//19514 16539//19487 273//1831 +f 14720//19333 16829//19367 16992//18597 +f 14362//19355 14378//19392 15621//19356 +f 9322//4428 9669//4427 3608//12077 +f 20456//17054 20480//19513 21233//17137 +f 6391//19393 1061//8919 50//8918 +f 140//19426 6391//19393 50//8918 +f 16399//724 16792//726 14464//19490 +f 14459//18373 5412//19112 14430//1083 +f 14343//18324 14342//18325 14333//18979 +f 735//19239 391//19286 734//19545 +f 17108//19015 16540//19066 243//19330 +f 974//19364 17108//19015 243//19330 +f 18210//19546 1648//19523 6648//19547 +f 15636//1643 15772//18432 5856//556 +f 14338//425 14975//18835 14980//19225 +f 15614//338 14338//425 14980//19225 +f 20209//7569 20208//19253 20123//19019 +f 5338//17108 12558//14355 11400//14354 +f 3794//18947 2670//634 14818//5759 +f 21236//19544 22334//19548 22255//17139 +f 14339//19549 15391//19550 14331//18873 +f 17110//19551 17029//18832 15372//18871 +f 3620//18924 3719//19154 15139//9472 +f 16354//9157 16355//18398 16507//18837 +f 16188//19480 15829//18574 15828//19050 +f 3075//19049 16188//19480 15828//19050 +f 14885//9020 15005//1450 14884//18916 +f 14857//13274 14802//13276 4679//1687 +f 21233//17137 21236//19544 22255//17139 +f 13785//4697 22830//19515 23121//19361 +f 1421//9279 3171//10900 16709//9605 +f 708//1217 2402//1986 467//454 +f 14499//18392 14498//18313 14447//18326 +f 12293//11287 10384//5993 13801//12233 +f 1416//19526 15141//19552 4418//19169 +f 1417//19553 14462//19554 3962//19135 +f 352//19555 16108//19209 464//19556 +f 16071//19207 249//19524 16250//19535 +f 15491//15317 15360//16368 14812//19266 +f 21587//16322 16858//19557 21496//16323 +f 15116//15316 17178//19302 15360//16368 +f 21495//1879 15491//15317 16858//19557 +f 3347//19179 15231//19177 1420//19525 +f 35932//15267 6965//11953 35599//9963 +f 15141//19552 475//19558 14898//19206 +f 4418//19169 15141//19552 14898//19206 +f 15106//19136 14716//19527 14594//19137 +f 15053//19528 14625//19559 14761//19181 +f 22334//19548 262//19560 15473//17140 +f 22949//17435 23048//18789 14587//19561 +f 22255//17139 22334//19548 15473//17140 +f 1327//19562 15618//17036 19475//17035 +f 14472//15674 14545//19303 17178//19302 +f 262//19560 21355//19563 21298//17141 +f 15116//15316 14472//15674 17178//19302 +f 16331//19564 14530//19306 14545//19303 +f 14472//15674 16331//19564 14545//19303 +f 14394//19565 14327//19307 14530//19306 +f 16331//19564 14394//19565 14530//19306 +f 15473//17140 262//19560 21298//17141 +f 21355//19563 7972//19566 13431//17145 +f 14625//19559 15297//19567 3079//19222 +f 14508//19519 1416//19526 4139//19123 +f 21298//17141 21355//19563 13431//17145 +f 822//13439 10024//1791 1729//7839 +f 20157//15590 15885//2541 15033//581 +f 14727//1768 7091//1770 14605//9545 +f 14902//1172 3213//1171 1286//12635 +f 7474//449 10620//448 9419//12961 +f 9526//9440 975//9442 4681//19568 +f 13378//19569 13015//19570 13379//19571 +f 14553//18880 15758//18493 14551//18495 +f 4545//18925 4679//1687 15750//18494 +f 16963//19510 20901//19538 20981//3568 +f 23999//19572 352//19555 16945//19573 +f 17135//19277 14466//19276 17126//18915 +f 5487//19323 14719//19073 14465//18912 +f 14329//1482 15170//19347 16466//1647 +f 16330//18891 17122//19005 14554//19004 +f 15391//19550 17110//19551 15372//18871 +f 14326//19540 16218//19161 17029//18832 +f 16543//19194 16392//19101 16701//19150 +f 15309//19148 14644//19193 3743//19105 +f 17022//18833 17020//19294 15367//19344 +f 13766//15655 10369//12191 12306//8769 +f 16324//18410 15225//1134 14697//18923 +f 15225//1134 15656//1135 14697//18923 +f 16364//19371 15484//19394 14659//19574 +f 15936//19575 16364//19371 14659//19574 +f 14867//11724 10978//14210 7693//18539 +f 11237//6144 35703//4775 35499//3672 +f 9670//17920 12847//17922 12378//17799 +f 7426//10445 8521//8609 6225//8953 +f 354//19365 14440//19288 17124//19489 +f 16182//19514 14790//19389 16539//19487 +f 96//19452 7008//19486 1037//825 +f 4654//19458 5733//1022 7009//1021 +f 14520//18619 5412//19112 14459//18373 +f 124//19576 1576//384 3664//19416 +f 16708//19325 17010//19577 16188//19480 +f 12388//11784 1329//8858 12477//16109 +f 15752//512 16032//511 15791//3199 +f 15930//3198 16866//19455 17023//18339 +f 16930//9228 16928//377 2501//1250 +f 16255//1830 16182//19514 273//1831 +f 14721//1214 14720//19333 16992//18597 +f 16829//19367 14378//19392 14362//19355 +f 7927//19578 13560//17253 13431//17145 +f 23024//5567 23023//9180 22830//19515 +f 15285//19369 15271//9394 1061//8919 +f 6391//19393 15285//19369 1061//8919 +f 15018//7571 14586//1290 2536//19076 +f 14993//19075 15018//7571 2536//19076 +f 22815//4525 22914//5562 22814//1744 +f 734//19545 4014//19579 735//19239 +f 16540//19066 16547//19580 2550//19287 +f 243//19330 16540//19066 2550//19287 +f 15326//13029 8046//2525 9569//827 +f 15772//18432 14431//18431 5856//556 +f 14883//18918 15003//18960 14882//6027 +f 15126//19009 15125//6029 15002//6028 +f 7972//19566 7927//19578 13431//17145 +f 7927//19578 23318//19581 23415//17256 +f 13560//17253 7927//19578 23415//17256 +f 20631//8725 20630//19290 20548//19461 +f 14339//19549 1//18920 470//19582 +f 15391//19550 15372//18871 14331//18873 +f 16508//18399 16664//15115 16663//19481 +f 3610//18382 3609//1792 6403//1794 +f 15411//1676 17135//19277 15397//18956 +f 14466//19276 14465//18912 17126//18915 +f 15128//19186 15127//19008 15004//18959 +f 5059//204 4127//19166 14752//18363 +f 16209//9156 16210//506 16355//18398 +f 16356//508 16509//18370 16508//18399 +f 3171//10900 14537//11583 1288//6164 +f 3092//5356 3091//5212 34203//5484 +f 23014//9960 23015//2542 23112//2544 +f 23113//2543 23211//6938 23210//6940 +f 14918//19256 1417//19553 3962//19135 +f 15297//19567 14634//19583 357//19270 +f 23318//19581 15871//19584 12576//17279 +f 23415//17256 23318//19581 12576//17279 +f 14394//19565 3613//18828 4409//19308 +f 14327//19307 14394//19565 4409//19308 +f 3613//18828 4012//16366 3879//19309 +f 4409//19308 3613//18828 3879//19309 +f 16108//19209 16250//19535 464//19556 +f 15871//19584 16446//19585 16295//17340 +f 475//19558 1417//19553 14918//19256 +f 14898//19206 475//19558 14918//19256 +f 14594//19137 15053//19528 14761//19181 +f 14523//2609 14520//18619 14459//18373 +f 21287//3770 16162//4424 21286//18453 +f 16459//4571 21772//19512 17088//18452 +f 4012//16366 14620//7440 16185//19310 +f 3879//19309 4012//16366 16185//19310 +f 2386//17158 15700//17160 15565//1519 +f 35480//3448 35379//9324 12215//3449 +f 16185//19310 14620//7440 15697//7439 +f 34811//19586 34940//19587 34810//17373 +f 15697//7439 16038//7441 16623//19312 +f 29633//14343 29005//19588 29495//3031 +f 17349//19589 17427//19590 17348//19591 +f 14085//15349 11809//19592 11250//2403 +f 15010//2989 15011//1013 15133//1276 +f 5323//2185 17184//2350 14634//19583 +f 35834//9757 35620//14064 35787//14065 +f 14761//19181 14625//19559 3079//19222 +f 12211//11290 13209//17417 10575//13469 +f 27987//12727 6849//7453 28104//19593 +f 15385//4738 15516//4740 15515//19138 +f 14757//18513 14756//19594 14652//14243 +f 12576//17279 15871//19584 16295//17340 +f 23913//16032 23912//19595 14757//18513 +f 1853//17742 4945//18980 2249//4442 +f 20875//472 20876//8958 20955//18664 +f 1879//14647 16305//18357 14053//18293 +f 3483//8983 10141//8982 6148//14385 +f 2622//19537 3664//19416 3405//2578 +f 17128//5039 17129//19536 3714//2783 +f 22227//4652 22226//2425 22130//2427 +f 2263//17015 2531//18926 4670//16513 +f 10587//17021 13296//1182 2765//414 +f 3074//14598 10350//14291 58//18224 +f 1301//19190 16043//19143 702//19396 +f 17110//19551 14326//19540 17029//18832 +f 14644//19193 3740//19231 15954//19055 +f 16701//19150 15309//19148 3743//19105 +f 15368//18834 15367//19344 14323//19343 +f 14330//18872 15368//18834 14323//19343 +f 17153//18409 15794//1132 16324//18410 +f 15794//1132 15225//1134 16324//18410 +f 15817//19341 16364//19371 15936//19575 +f 15818//19596 15817//19341 15936//19575 +f 35366//6549 14167//10996 14176//16264 +f 5466//1202 2359//8825 4138//818 +f 6250//612 1213//5462 1212//610 +f 2898//1084 14430//1083 15974//1266 +f 16539//19487 354//19365 17124//19489 +f 14440//19288 16489//19240 14618//19332 +f 96//19452 1037//825 504//1341 +f 504//1341 503//328 2148//327 +f 14500//18455 14499//18392 14448//18391 +f 14404//9103 14423//1328 14403//19457 +f 5996//17970 305//9473 6793//15104 +f 17151//19597 17135//19277 15411//1676 +f 2103//7759 4253//8274 2102//707 +f 14997//4142 3193//14392 2929//17157 +f 9178//10489 17159//10488 2786//12924 +f 35768//9613 35946//6700 28991//12980 +f 6647//14908 1853//17742 5471//18072 +f 16992//18597 16829//19367 14362//19355 +f 35398//1371 14277//10398 9634//3236 +f 9575//1577 14566//13355 10618//1575 +f 10650//11375 9690//2982 11197//2981 +f 816//8743 16485//19317 3737//8744 +f 14919//19491 16399//724 14464//19490 +f 1300//315 3313//8253 3304//5327 +f 22418//7357 22516//1969 22515//156 +f 505//16646 26006//16647 734//19545 +f 16547//19580 15545//19598 16385//19241 +f 2550//19287 16547//19580 16385//19241 +f 10966//12258 3867//7659 7423//11121 +f 35562//608 35625//7012 35642//9674 +f 15003//18960 15126//19009 15002//6028 +f 15253//19599 15252//6030 15125//6029 +f 15512//18875 15511//18921 15380//19600 +f 15381//19601 15512//18875 15380//19600 +f 25800//18941 27084//19602 27062//11646 +f 28357//363 30075//359 30071//364 +f 1641//19603 470//19582 1620//18964 +f 14331//18873 1//18920 14339//19549 +f 14322//9219 14336//18258 25//18242 +f 6012//2539 58//18224 10459//2537 +f 14353//1677 15411//1676 14352//18954 +f 17135//19277 17126//18915 15397//18956 +f 14753//18408 16247//18799 16105//117 +f 15019//9106 2482//9352 16704//721 +f 15645//4905 15646//18877 15782//1362 +f 15892//18851 14741//1058 14641//1057 +f 28886//983 27052//781 27047//979 +f 20389//15629 20388//5996 20303//18626 +f 7581//11627 10746//11623 10098//11723 +f 17172//19604 672//2018 5458//2017 +f 3079//19222 15297//19567 357//19270 +f 5222//18050 11974//1070 15061//680 +f 14477//19359 15960//9140 15224//713 +f 15011//1013 15134//1042 15133//1276 +f 14426//647 14427//1584 14452//648 +f 14389//18928 14406//18952 14405//2275 +f 14453//1463 14504//1464 14503//790 +f 828//18379 947//9128 14524//18380 +f 22239//16748 22240//17386 16295//17340 +f 14705//19269 3//18302 15396//19271 +f 14462//19554 14716//19527 15106//19136 +f 3962//19135 14462//19554 15106//19136 +f 16446//19585 22239//16748 16295//17340 +f 14605//9545 274//9546 2710//1618 +f 35513//6100 35475//5329 35713//9063 +f 15788//19353 15789//290 15927//292 +f 4532//9126 947//9128 828//18379 +f 16948//389 16944//216 16782//1329 +f 14534//666 15662//467 15655//18376 +f 15064//1799 15097//752 16697//1801 +f 16703//667 14392//665 6989//1484 +f 14403//19457 14402//18303 14385//18283 +f 16697//1801 16703//667 6989//1484 +f 22240//17386 22239//16748 204//16750 +f 14640//19605 5139//18340 17186//2596 +f 35536//7014 35606//6316 35495//4384 +f 24286//11558 25800//18941 27062//11646 +f 16709//9605 14539//7068 226//10560 +f 4115//6169 17176//6168 17013//13782 +f 17176//6168 2281//179 5349//318 +f 14457//5452 14475//5886 434//8202 +f 15385//4738 15384//19183 15256//19444 +f 15257//18417 15385//4738 15256//19444 +f 15866//16413 12379//16172 8568//16256 +f 31330//19606 31397//19607 31396//19608 +f 14817//5047 15435//19375 1447//5049 +f 16950//19376 14641//1057 15753//5050 +f 14514//9037 15501//8652 16186//5330 +f 15046//1479 15298//9548 15170//19347 +f 15324//18882 14143//19329 15325//17771 +f 16300//7284 14046//15937 15467//14774 +f 19207//18790 22949//17435 22051//17434 +f 16938//18844 22461//1957 20144//19609 +f 558//19249 1301//19190 702//19396 +f 16475//19429 558//19249 702//19396 +f 3740//19231 15103//19281 14730//19056 +f 3743//19105 14644//19193 15954//19055 +f 6762//18965 2131//18919 2101//19372 +f 14330//18872 14323//19343 941//19342 +f 15794//1132 17153//18409 4680//19048 +f 3209//429 2005//804 15938//19226 +f 16547//19580 17009//19418 15545//19598 +f 15961//19370 15817//19341 15818//19596 +f 15767//19610 15906//14930 15905//8101 +f 14878//1235 2929//17157 7892//8988 +f 17152//19611 1188//19612 15962//19421 +f 3719//19154 1449//138 6145//18890 +f 16489//19240 14722//19242 14720//19333 +f 17124//19489 14440//19288 14618//19332 +f 3315//3265 8039//11038 10841//11042 +f 7008//19486 7009//1021 1037//825 +f 11222//12932 9681//1081 11257//12931 +f 1407//4722 915//7067 916//4723 +f 1527//8531 18913//19613 19012//8529 +f 30685//15424 30552//12521 23257//18648 +f 5006//9474 2842//5884 2441//9475 +f 2929//17157 14878//1235 14998//1093 +f 5860//7235 5550//7234 5726//7237 +f 6793//15104 4637//5724 159//17859 +f 5288//10306 5289//3819 5424//8811 +f 35816//8209 11726//3596 35806//3115 +f 4941//4441 2249//4442 4945//18980 +f 5080//19614 4941//4441 4945//18980 +f 20721//9145 20722//16146 20803//7271 +f 13813//1732 13812//1731 10094//18867 +f 13336//2717 13430//564 14963//563 +f 23912//19595 14758//18512 14757//18513 +f 5352//19236 735//19239 4014//19579 +f 22320//165 22321//1921 22417//155 +f 14976//19391 17152//19611 15962//19421 +f 1188//19612 15659//7120 5550//7234 +f 14458//19542 17155//7121 15659//7120 +f 1188//19612 14458//19542 15659//7120 +f 15126//19009 15253//19599 15125//6029 +f 15253//19599 15381//19601 15380//19600 +f 15181//5048 4018//5181 4127//19166 +f 17179//152 16830//111 15355//18836 +f 22520//14130 22519//12783 22421//12782 +f 16164//13381 13339//14351 13434//8 +f 1641//19603 1620//18964 7//18962 +f 2397//18846 1641//19603 7//18962 +f 14322//9219 6147//8999 14336//18258 +f 15380//19600 15511//18921 15379//12679 +f 942//19279 14353//1677 704//18953 +f 15411//1676 15397//18956 14352//18954 +f 22614//1802 22615//1968 22713//1877 +f 11877//1190 15913//19229 16055//18125 +f 15756//9038 14514//9037 16031//1191 +f 3125//5598 5481//1199 5488//4277 +f 4364//8492 16960//8491 16961//346 +f 35780//9636 14178//12357 13974//6631 +f 14816//19299 1778//18641 617//1053 +f 3214//797 14816//19299 617//1053 +f 6015//205 14750//119 16549//1469 +f 18794//9975 18793//19615 1460//9898 +f 5080//19614 4945//18980 1975//5725 +f 35650//7020 35554//3505 35754//11079 +f 14652//14243 23913//16032 14757//18513 +f 1661//74 15018//7571 14993//19075 +f 9742//3931 4365//1518 7879//4109 +f 943//18983 358//10847 3063//2738 +f 14890//4290 14891//19122 15010//2989 +f 15500//19348 16323//12259 17172//19604 +f 23299//2093 23396//1937 23298//16064 +f 357//19270 14634//19583 17184//2350 +f 16741//9144 16899//8430 16740//682 +f 35796//12655 35541//3885 35463//2335 +f 14785//1442 14901//18988 1534//422 +f 14672//3197 14671//5755 14579//9029 +f 2752//6276 4236//6591 4370//6687 +f 799//19354 15500//19348 15421//19616 +f 4362//4682 4497//7549 4496//4683 +f 16055//18125 16198//19617 16197//15520 +f 35842//7156 35829//1946 35720//1945 +f 16198//19617 16344//19618 16343//19400 +f 16197//15520 16198//19617 16343//19400 +f 14541//19619 14460//19401 15929//19620 +f 15929//19620 14924//19378 3739//19621 +f 5601//19399 14460//19401 14541//19619 +f 14924//19378 799//19354 3739//19621 +f 1772//19622 5601//19399 14541//19619 +f 14460//19401 14924//19378 15929//19620 +f 16949//6034 16849//6170 14565//8203 +f 2152//8285 4115//6169 17013//13782 +f 17011//18889 17174//18888 77//18684 +f 16187//18796 1296//19623 16689//13388 +f 32145//19624 32144//2634 32047//2633 +f 1185//961 1186//2985 223//167 +f 17186//2596 5139//18340 16187//18796 +f 15753//5050 14641//1057 2709//5179 +f 15824//13713 14411//5332 14748//5331 +f 4233//1195 6144//1194 15244//5045 +f 14143//19329 10009//15311 15325//17771 +f 20876//8958 20956//3381 20955//18664 +f 22461//1957 18809//2052 20144//19609 +f 15255//19625 15383//2598 15382//2597 +f 10359//13734 8118//941 7197//7758 +f 16043//19143 15229//19345 702//19396 +f 5563//8473 11409//809 10587//17021 +f 15954//19055 3740//19231 14730//19056 +f 15834//522 16032//511 15550//513 +f 2131//18919 14330//18872 941//19342 +f 1061//8919 1273//6306 2396//6305 +f 3209//429 15938//19226 16630//18922 +f 14189//13657 10683//13603 10560//9617 +f 15545//19598 15961//19370 15818//19596 +f 16942//19182 16952//18743 15435//19375 +f 5457//2953 5322//7945 5051//8079 +f 8001//16387 13091//16383 9774//2073 +f 15287//140 16638//775 16330//18891 +f 4105//3743 15975//18944 10986//14370 +f 1296//19623 2940//1130 14337//1129 +f 4801//13600 3998//8379 2125//13598 +f 5725//2538 9690//2982 4941//4441 +f 17031//19626 17195//19627 17194//1335 +f 17030//9158 17031//19626 17194//1335 +f 17195//19627 5008//19628 5006//9474 +f 17194//1335 17195//19627 5006//9474 +f 5008//19628 2843//19629 2842//5884 +f 5006//9474 5008//19628 2842//5884 +f 2843//19629 5082//19630 1975//5725 +f 2842//5884 2843//19629 1975//5725 +f 5082//19630 5214//19631 5080//19614 +f 1975//5725 5082//19630 5080//19614 +f 5076//19632 4941//4441 5080//19614 +f 5214//19631 5076//19632 5080//19614 +f 17159//10488 17160//3127 2786//12924 +f 5076//19632 5725//2538 4941//4441 +f 14586//1290 16399//724 14919//19491 +f 15175//1226 15174//1218 5060//10329 +f 16017//15300 4066//19387 14842//15301 +f 20549//8672 20631//8725 20548//19461 +f 15962//19421 1188//19612 5550//7234 +f 25274//16461 25273//15155 12059//6281 +f 13109//15467 12283//13109 12288//13108 +f 15545//19598 15818//19596 1072//19243 +f 16238//18800 1306//1281 14980//19225 +f 14458//19542 14826//15175 17155//7121 +f 14754//1892 16391//334 16247//18799 +f 1306//1281 15614//338 14980//19225 +f 29564//1405 29547//1692 28307//2531 +f 3881//12460 4924//12459 5626//18973 +f 470//19582 1//18920 1620//18964 +f 2397//18846 7//18962 2355//18961 +f 16338//18681 16490//19633 14397//19069 +f 146//18454 474//19634 9116//14744 +f 942//19279 704//18953 5874//18976 +f 3178//6868 942//19279 5874//18976 +f 2020//326 502//4437 1896//19397 +f 4260//8682 1737//736 53//9007 +f 16031//1191 14514//9037 15820//1192 +f 15501//8652 14748//5331 16186//5330 +f 182//14105 1640//2213 19779//15592 +f 97//168 826//439 707//169 +f 15304//206 6015//205 2133//1174 +f 15355//18836 14944//19227 15096//18929 +f 4267//1497 19096//6653 4393//1498 +f 16849//6170 4115//6169 2152//8285 +f 360//19635 14900//19382 16027//19636 +f 14703//19398 5601//19399 1772//19622 +f 16344//19618 16497//19637 16496//19412 +f 16343//19400 16344//19618 16496//19412 +f 16497//19637 16653//19638 16652//19413 +f 16496//19412 16497//19637 16652//19413 +f 15421//19616 15500//19348 17172//19604 +f 15045//19639 2503//19383 360//19635 +f 14800//18393 14799//18287 15899//18426 +f 15413//18297 14540//18296 15015//18427 +f 15758//18493 4545//18925 15750//18494 +f 4783//13864 3992//3316 789//2911 +f 14580//446 14672//3197 14579//9029 +f 14887//19640 14886//8701 14773//2292 +f 3739//19621 799//19354 15421//19616 +f 18566//6957 18663//6958 18565//19641 +f 16812//19642 16811//19414 16652//19413 +f 2503//19383 14900//19382 360//19635 +f 16653//19638 16812//19642 16652//19413 +f 16976//19643 16975//19415 16811//19414 +f 16812//19642 16976//19643 16811//19414 +f 17142//19644 17141//19436 16975//19415 +f 16976//19643 17142//19644 16975//19415 +f 14480//19645 14479//19411 15045//19639 +f 14606//19646 7011//19437 17141//19436 +f 17142//19644 14606//19646 17141//19436 +f 1331//19647 6879//19410 14480//19645 +f 14479//19411 2503//19383 15045//19639 +f 16699//19468 16545//19648 15691//19408 +f 434//8202 16949//6034 14565//8203 +f 17995//18344 18085//19649 17994//19433 +f 18652//15377 19213//15376 18535//19650 +f 1888//8650 16631//18598 16053//8651 +f 16622//278 16943//9398 15488//279 +f 16820//312 16821//19407 16984//299 +f 312//6517 7036//5159 7037//2722 +f 23607//19651 22140//19652 17448//19653 +f 15501//8652 15824//13713 14748//5331 +f 14413//1511 14728//1513 15481//1131 +f 22035//6407 22131//9284 22034//8987 +f 18085//19649 20644//19654 20562//15956 +f 14728//1513 15756//9038 16031//1191 +f 11222//12932 3073//14599 1294//19385 +f 35867//7350 35884//11058 35563//11904 +f 135//2513 1414//18358 16693//2512 +f 7879//4109 4365//1518 15699//1520 +f 471//2186 17172//19604 5458//2017 +f 19229//3780 4690//3779 4825//3995 +f 35808//3503 21648//13470 35698//3504 +f 15899//18426 15015//18427 1421//9279 +f 1812//5757 1811//9977 1695//5758 +f 16405//17896 5607//17754 16260//19655 +f 16793//5311 16797//5885 14457//5452 +f 14057//15284 11970//975 14060//12760 +f 11445//1188 16055//18125 16197//15520 +f 15975//18944 16116//19656 10986//14370 +f 16711//19657 16869//19658 16868//8380 +f 11394//12878 6148//14385 11391//10442 +f 16869//19658 17032//19659 17031//19626 +f 16868//8380 16869//19658 17031//19626 +f 17032//19659 17196//19660 17195//19627 +f 17031//19626 17032//19659 17195//19627 +f 17196//19660 5005//19661 5008//19628 +f 17195//19627 17196//19660 5008//19628 +f 5005//19661 2440//19662 2843//19629 +f 5008//19628 5005//19661 2843//19629 +f 2440//19662 4947//19663 5082//19630 +f 2843//19629 2440//19662 5082//19630 +f 4947//19663 4661//19664 5214//19631 +f 5082//19630 4947//19663 5214//19631 +f 4661//19664 784//19665 5076//19632 +f 5214//19631 4661//19664 5076//19632 +f 6012//2539 5725//2538 5076//19632 +f 784//19665 6012//2539 5076//19632 +f 11498//8081 13801//12233 8155//8080 +f 13137//144 15663//146 13231//14300 +f 1716//7921 8378//11795 8485//11797 +f 4118//2983 132//8198 299//13004 +f 14372//514 14387//5750 14371//19191 +f 15082//19338 2768//18974 3039//15302 +f 16385//19241 15545//19598 1072//19243 +f 5592//7002 3718//7119 5726//7237 +f 10349//14213 3074//14598 7968//14600 +f 15818//19596 15936//19575 16516//19244 +f 1775//18874 15181//5048 4127//19166 +f 14659//19574 15484//19394 14458//19542 +f 19448//12366 19145//19666 21944//19667 +f 14753//18408 14754//1892 16247//18799 +f 4934//18794 2397//18846 2355//18961 +f 14977//19052 16176//19328 16213//19363 +f 7813//8846 7588//9149 817//8869 +f 4934//18794 2355//18961 5345//19021 +f 14353//1677 14352//18954 704//18953 +f 9179//10487 9180//11557 9288//10766 +f 6144//1194 15245//9218 15244//5045 +f 35735//6914 35594//19311 35743//6243 +f 501//9209 1179//9208 500//19668 +f 16256//19669 2016//1832 1296//19623 +f 35599//9963 35425//15380 35932//15267 +f 1679//19670 3978//19671 4277//18887 +f 14523//2609 2850//9300 14520//18619 +f 35785//3349 35911//4729 35849//12100 +f 14565//8203 16849//6170 2152//8285 +f 4814//1688 4679//1687 14797//928 +f 16027//19636 14703//19398 1772//19622 +f 14859//19672 2797//19673 6406//19467 +f 2713//19674 2579//19438 7011//19437 +f 15038//19675 15041//19409 1331//19647 +f 14606//19646 2713//19674 7011//19437 +f 4151//19676 4152//19475 2579//19438 +f 2713//19674 4151//19676 2579//19438 +f 14900//19382 14703//19398 16027//19636 +f 14712//19677 14743//19441 15038//19675 +f 35761//3886 35612//1274 35603//1273 +f 13692//12558 13610//8475 35464//7143 +f 14757//18513 14869//17230 14756//19594 +f 15061//680 15895//143 5222//18050 +f 15386//4739 15517//18342 15516//4740 +f 14668//18307 14774//8993 14667//1349 +f 16469//8357 12126//1510 13975//1509 +f 15903//19678 14486//19471 16184//19498 +f 15620//19500 16180//19499 14435//19679 +f 16180//19499 1533//19478 15499//19680 +f 4151//19676 853//19681 854//19476 +f 4152//19475 4151//19676 854//19476 +f 853//19681 4142//19682 5616//19477 +f 854//19476 853//19681 5616//19477 +f 4142//19682 1424//10528 384//19506 +f 5616//19477 4142//19682 384//19506 +f 1424//10528 358//10847 248//19507 +f 384//19506 1424//10528 248//19507 +f 9336//3152 2386//17158 15565//1519 +f 5995//19501 15620//19500 14435//19679 +f 4512//19683 5995//19501 14435//19679 +f 14698//19472 16667//19684 4004//19473 +f 15827//19685 14731//19686 16101//19434 +f 2132//6867 942//19279 3178//6868 +f 17875//19687 17968//18773 17874//18818 +f 16984//299 16985//15168 17150//300 +f 14701//19357 15395//7533 4815//611 +f 15267//722 3492//2988 14489//6315 +f 20949//17119 23342//19688 18418//11035 +f 16207//18838 16353//8891 16352//2032 +f 16352//2032 16353//8891 16505//304 +f 16695//2820 4656//7848 15303//2076 +f 19714//19689 17756//15814 19699//15403 +f 15565//1519 15700//17160 15699//1520 +f 16619//19690 13895//18292 14053//18293 +f 15700//17160 15837//19691 15836//6546 +f 15699//1520 15700//17160 15836//6546 +f 15837//19691 15976//19692 15975//18944 +f 15836//6546 15837//19691 15975//18944 +f 15976//19692 16117//19693 16116//19656 +f 15975//18944 15976//19692 16116//19656 +f 16117//19693 16260//19655 16259//16778 +f 16116//19656 16117//19693 16259//16778 +f 25420//19446 15420//19002 14376//18908 +f 16550//6139 16853//18717 292//6135 +f 16405//17896 16557//19694 16556//19695 +f 6388//5384 11155//12609 6387//5242 +f 16557//19694 16712//19696 16711//19657 +f 16556//19695 16557//19694 16711//19657 +f 16712//19696 16870//19697 16869//19658 +f 16711//19657 16712//19696 16869//19658 +f 16870//19697 17033//19698 17032//19659 +f 16869//19658 16870//19697 17032//19659 +f 17033//19698 17197//19699 17196//19660 +f 17032//19659 17033//19698 17196//19660 +f 17197//19699 5009//19700 5005//19661 +f 17196//19660 17197//19699 5005//19661 +f 5009//19700 2574//19701 2440//19662 +f 5005//19661 5009//19700 2440//19662 +f 2574//19701 1380//19702 4947//19663 +f 2440//19662 2574//19701 4947//19663 +f 1380//19702 2630//19703 4661//19664 +f 4947//19663 1380//19702 4661//19664 +f 2630//19703 693//19704 784//19665 +f 4661//19664 2630//19703 784//19665 +f 4906//19705 6012//2539 784//19665 +f 693//19704 4906//19705 784//19665 +f 8//19706 58//18224 6012//2539 +f 4906//19705 8//19706 6012//2539 +f 5756//516 12837//9031 5755//9230 +f 8//19706 3074//14598 58//18224 +f 14722//19242 1072//19243 16671//19245 +f 16516//19244 17152//19611 14976//19391 +f 11478//15846 31018//19707 31017//9002 +f 16671//19245 16516//19244 14976//19391 +f 1072//19243 15818//19596 16516//19244 +f 13//17022 2765//414 5562//1014 +f 35929//9195 3736//7545 3179//7544 +f 15936//19575 14659//19574 17152//19611 +f 4018//5181 14754//1892 14753//18408 +f 15252//6030 15253//19599 15380//19600 +f 16214//19162 14977//19052 16213//19363 +f 4127//19166 4018//5181 14753//18408 +f 5209//18795 4934//18794 5345//19021 +f 14977//19052 15890//19054 14940//19283 +f 16238//18800 14980//19225 16239//4282 +f 5209//18795 5345//19021 4924//12459 +f 3178//6868 5874//18976 2531//18926 +f 15142//9353 14624//19497 15479//6314 +f 14930//1512 15819//1213 14728//1513 +f 2263//17015 3178//6868 2531//18926 +f 3978//19671 1896//19397 4277//18887 +f 16188//19480 17010//19577 15829//18574 +f 13877//762 17185//764 2309//11903 +f 21282//9477 21283//1918 13986//4588 +f 14784//8680 14797//928 17113//930 +f 15960//9140 14614//9139 14542//19417 +f 17555//19708 17467//14168 17468//14169 +f 3073//14599 11222//12932 7968//14600 +f 6879//19410 14479//19411 14480//19645 +f 2797//19673 16545//19648 16699//19468 +f 248//19507 358//10847 2534//18984 +f 15524//19440 14743//19441 14712//19677 +f 943//18983 6523//19522 6524//19508 +f 2534//18984 943//18983 6524//19508 +f 15041//19409 6879//19410 1331//19647 +f 1533//19478 1654//19439 3083//19709 +f 6406//19467 2797//19673 16699//19468 +f 16545//19648 15827//19685 15691//19408 +f 16340//18720 2147//19374 15304//206 +f 1046//3372 1045//3371 926//6394 +f 15170//19347 15426//2428 15295//18247 +f 14837//19142 16034//18746 5138//18748 +f 16041//19710 15903//19678 16184//19498 +f 17129//19536 17130//3570 2622//19537 +f 16339//19711 16180//19499 15499//19680 +f 15903//19678 16667//19684 14698//19472 +f 1648//19523 18210//19546 18082//19712 +f 14798//19505 5995//19501 4512//19683 +f 6524//19508 6523//19522 1531//19521 +f 2784//2080 5413//1126 2783//1125 +f 17013//13782 17176//6168 5349//318 +f 15273//9467 25003//11973 15147//18522 +f 19211//19713 18897//19358 21390//19714 +f 21404//1878 14931//7257 15116//15316 +f 17180//19504 14798//19505 16633//19715 +f 17128//5039 16963//19510 17129//19536 +f 14519//19716 15167//19717 14874//19474 +f 16180//19499 16339//19711 14435//19679 +f 15258//5467 15259//286 15386//4739 +f 4004//19473 14519//19716 14874//19474 +f 16053//8651 14701//19357 4815//611 +f 15139//9472 3719//19154 1897//19298 +f 18838//9118 18430//19718 19580//19719 +f 9677//9329 20350//9227 3596//1249 +f 15084//13888 9677//9329 15210//1521 +f 18897//19358 17895//16879 21390//19714 +f 16459//4571 23219//4595 21772//19512 +f 16063//2373 16064//18881 16206//2031 +f 3055//946 23252//859 12254//947 +f 9622//14668 9623//14510 9739//8698 +f 16955//1635 15689//1256 7351//9159 +f 35465//4600 35472//436 35677//4865 +f 15701//17159 15838//19720 15837//19691 +f 15700//17160 15701//17159 15837//19691 +f 15838//19720 15977//19721 15976//19692 +f 15837//19691 15838//19720 15976//19692 +f 15977//19721 16118//19722 16117//19693 +f 15976//19692 15977//19721 16117//19693 +f 16118//19722 16261//19723 16260//19655 +f 16117//19693 16118//19722 16260//19655 +f 16261//19723 16406//19724 16405//17896 +f 16260//19655 16261//19723 16405//17896 +f 16406//19724 16558//19725 16557//19694 +f 16405//17896 16406//19724 16557//19694 +f 16558//19725 16713//19726 16712//19696 +f 16557//19694 16558//19725 16712//19696 +f 16713//19726 16871//19727 16870//19697 +f 16712//19696 16713//19726 16870//19697 +f 16871//19727 17034//19728 17033//19698 +f 16870//19697 16871//19727 17033//19698 +f 17034//19728 17198//19729 17197//19699 +f 17033//19698 17034//19728 17197//19699 +f 17198//19729 5004//19730 5009//19700 +f 17197//19699 17198//19729 5009//19700 +f 5004//19730 2307//19731 2574//19701 +f 5009//19700 5004//19730 2574//19701 +f 2307//19731 227//19732 1380//19702 +f 2574//19701 2307//19731 1380//19702 +f 227//19732 3832//19733 2630//19703 +f 1380//19702 227//19732 2630//19703 +f 3832//19733 3065//19734 693//19704 +f 2630//19703 3832//19733 693//19704 +f 4272//19735 4906//19705 693//19704 +f 3065//19734 4272//19735 693//19704 +f 7200//19736 8//19706 4906//19705 +f 4272//19735 7200//19736 4906//19705 +f 3073//14599 3074//14598 8//19706 +f 7200//19736 3073//14599 8//19706 +f 1286//12635 10973//12634 11345//12725 +f 14650//18803 7693//18539 7802//10694 +f 14387//5750 14404//9103 14386//19381 +f 4528//9510 1621//575 1602//577 +f 15906//14930 16046//19737 16045//12454 +f 66//192 14656//194 1500//1258 +f 16516//19244 15936//19575 17152//19611 +f 15586//19738 13271//19739 26197//19740 +f 16391//334 1306//1281 16238//18800 +f 14659//19574 14458//19542 1188//19612 +f 16247//18799 16391//334 16238//18800 +f 14387//5750 14386//19381 14371//19191 +f 16176//19328 14977//19052 14940//19283 +f 15368//18834 17022//18833 15367//19344 +f 370//18791 5209//18795 4924//12459 +f 16111//19232 16110//19099 16543//19194 +f 6911//1023 1505//18950 6912//1091 +f 14824//14092 15970//14093 15102//19296 +f 3981//6729 2985//6630 2888//272 +f 15311//18419 4392//7754 15312//10165 +f 1576//384 4284//386 4283//18334 +f 15738//5281 15084//13888 15210//1521 +f 1447//5049 16950//19376 15753//5050 +f 14449//18456 14500//18455 14448//18391 +f 6147//8999 16216//8998 5744//8649 +f 12837//9031 5756//516 11727//15715 +f 17174//18888 14747//18644 77//18684 +f 15756//9038 1888//8650 15501//8652 +f 15691//19408 15827//19685 16101//19434 +f 14670//149 14776//148 14669//18306 +f 15658//19741 15524//19440 14712//19677 +f 14731//19686 15358//19742 15612//19435 +f 15499//19680 1533//19478 3083//19709 +f 14743//19441 15041//19409 15038//19675 +f 1654//19439 15524//19440 15658//19741 +f 3083//19709 1654//19439 15658//19741 +f 16101//19434 14731//19686 15612//19435 +f 14478//19743 15392//19442 15612//19435 +f 14657//211 14762//13466 1898//5746 +f 617//1053 1778//18641 3871//18643 +f 14886//8701 15006//1448 14885//9020 +f 14944//19227 14532//277 14927//1478 +f 2913//5743 2443//3723 5414//18618 +f 6121//2054 2625//7725 6250//612 +f 14486//19471 15903//19678 14698//19472 +f 15384//19183 15515//19138 15514//18337 +f 3265//19744 14798//19505 4512//19683 +f 16667//19684 14519//19716 4004//19473 +f 25107//19745 3323//16890 23633//16889 +f 14798//19505 3265//19744 16633//19715 +f 14472//15674 16953//7259 16331//19564 +f 14922//17695 14394//19565 16331//19564 +f 16953//7259 15482//8692 16331//19564 +f 15482//8692 21403//8691 14922//17695 +f 14394//19565 14922//17695 3613//18828 +f 15489//19520 84//19509 15230//19746 +f 17180//19504 16633//19715 15056//19747 +f 15795//19748 14711//19749 3612//19503 +f 15167//19717 15795//19748 5820//19502 +f 15913//19229 11877//1190 12288//13108 +f 80//1051 27//9231 16946//1066 +f 3609//1792 15109//1481 6528//1793 +f 16209//9156 16355//18398 16354//9157 +f 14980//19225 15897//5748 16239//4282 +f 6912//1091 53//9007 1179//9208 +f 14514//9037 16186//5330 15820//1192 +f 15824//13713 1212//610 1213//5462 +f 35780//9636 14169//9635 35442//1947 +f 20793//18599 20794//8949 20875//472 +f 2414//18436 15351//19141 14837//19142 +f 30431//19750 30432//19751 30565//8964 +f 1151//90 16169//89 14739//4572 +f 15431//19460 15430//19097 16475//19429 +f 15702//13473 15839//19752 15838//19720 +f 15701//17159 15702//13473 15838//19720 +f 15839//19752 15978//19753 15977//19721 +f 15838//19720 15839//19752 15977//19721 +f 15978//19753 16119//19754 16118//19722 +f 15977//19721 15978//19753 16118//19722 +f 16119//19754 16262//19755 16261//19723 +f 16118//19722 16119//19754 16261//19723 +f 16262//19755 16407//19756 16406//19724 +f 16261//19723 16262//19755 16406//19724 +f 16407//19756 16559//19757 16558//19725 +f 16406//19724 16407//19756 16558//19725 +f 16559//19757 16714//19758 16713//19726 +f 16558//19725 16559//19757 16713//19726 +f 16714//19758 16872//19759 16871//19727 +f 16713//19726 16714//19758 16871//19727 +f 16872//19759 17035//19760 17034//19728 +f 16871//19727 16872//19759 17034//19728 +f 17035//19760 17199//19761 17198//19729 +f 17034//19728 17035//19760 17198//19729 +f 17199//19761 5003//19762 5004//19730 +f 17198//19729 17199//19761 5004//19730 +f 5003//19762 2176//19763 2307//19731 +f 5004//19730 5003//19762 2307//19731 +f 2176//19763 1610//19764 227//19732 +f 2307//19731 2176//19763 227//19732 +f 1610//19764 1731//19765 3832//19733 +f 227//19732 1610//19764 3832//19733 +f 1731//19765 6000//19766 3065//19734 +f 3832//19733 1731//19765 3065//19734 +f 4405//19767 4272//19735 3065//19734 +f 6000//19766 4405//19767 3065//19734 +f 59//19768 7200//19736 4272//19735 +f 4405//19767 59//19768 4272//19735 +f 1528//19769 3073//14599 7200//19736 +f 59//19768 1528//19769 7200//19736 +f 13109//15467 12288//13108 13126//15354 +f 1528//19769 1294//19385 3073//14599 +f 14755//19770 14756//19594 14867//11724 +f 20703//1593 23034//6596 20702//1594 +f 17108//19015 5221//19014 16540//19066 +f 15894//19771 5625//19772 14707//1160 +f 16540//19066 16541//19065 16547//19580 +f 16541//19065 17009//19418 16547//19580 +f 17152//19611 14659//19574 1188//19612 +f 17009//19418 15961//19370 15545//19598 +f 15814//5843 13720//5939 13719//5842 +f 2005//804 15794//1132 4680//19048 +f 17022//18833 16214//19162 16213//19363 +f 35449//13487 35369//4130 35794//7360 +f 16392//19101 15309//19148 16701//19150 +f 17020//19294 17022//18833 16213//19363 +f 14348//19145 14824//14092 15102//19296 +f 1733//19104 16110//19099 16111//19232 +f 16043//19143 14348//19145 15102//19296 +f 14938//19362 16957//19324 16707//19326 +f 16689//13388 1296//19623 14337//1129 +f 15229//19345 16043//19143 15102//19296 +f 13946//17271 1624//7129 13291//2421 +f 16992//18597 14362//19355 16631//18598 +f 14630//18719 13801//12233 16075//12234 +f 14560//18749 14650//18803 14559//19251 +f 16187//18796 16256//19669 1296//19623 +f 2535//19079 14591//9138 14477//19359 +f 16319//7747 16469//8357 15893//11902 +f 14515//1252 7469//14307 15555//1253 +f 14543//19773 15361//19774 16039//19479 +f 14776//148 14775//8991 14669//18306 +f 15358//19742 14478//19743 15612//19435 +f 16476//19443 14543//19773 16039//19479 +f 14543//19773 16476//19443 15392//19442 +f 14478//19743 14543//19773 15392//19442 +f 16041//19710 16184//19498 16039//19479 +f 15361//19774 16041//19710 16039//19479 +f 15130//19775 15257//18417 15129//1449 +f 14774//8993 14887//19640 14773//2292 +f 15105//18245 14489//6315 16398//18685 +f 15426//2428 15492//2430 15295//18247 +f 14708//19451 14709//8821 14920//8823 +f 14397//19069 1305//19223 4008//18781 +f 15514//18337 15649//18333 15648//19023 +f 15255//19625 15256//19444 15383//2598 +f 14874//19474 15167//19717 5820//19502 +f 1734//19776 3534//19777 14508//19519 +f 1420//19525 15489//19520 1536//19778 +f 84//19509 15056//19747 15230//19746 +f 16954//343 14922//17695 21314//344 +f 3613//18828 16954//343 4012//16366 +f 17349//19589 17281//9374 17350//19779 +f 4012//16366 692//10262 14620//7440 +f 17901//18345 17900//3968 17804//19780 +f 15489//19520 15230//19746 1536//19778 +f 18850//19781 18949//19782 18948//19783 +f 5820//19502 15795//19748 3612//19503 +f 84//19509 17180//19504 15056//19747 +f 15787//18329 15926//18802 15925//18801 +f 14711//19749 1734//19776 14749//19529 +f 24066//19784 26685//19785 27874//19786 +f 14520//18619 15682//193 66//192 +f 18638//15133 18736//262 21027//1941 +f 14667//1349 14666//2294 14574//1350 +f 12388//11784 5562//1014 1329//8858 +f 15254//19787 15255//19625 15382//2597 +f 35485//17636 35636//12694 35444//8500 +f 22222//869 22318//1147 22221//8678 +f 28704//18786 28836//6329 28703//18787 +f 16016//18798 1565//1897 16938//18844 +f 2401//297 708//1217 582//1216 +f 15480//10014 5286//10162 5422//10232 +f 8222//12403 9449//3815 10213//1797 +f 6908//1079 9681//1081 1294//19385 +f 15703//13472 15840//19788 15839//19752 +f 15702//13473 15703//13472 15839//19752 +f 15840//19788 15979//19789 15978//19753 +f 15839//19752 15840//19788 15978//19753 +f 15979//19789 16120//19790 16119//19754 +f 15978//19753 15979//19789 16119//19754 +f 16120//19790 16263//19791 16262//19755 +f 16119//19754 16120//19790 16262//19755 +f 16263//19791 16408//19792 16407//19756 +f 16262//19755 16263//19791 16407//19756 +f 16408//19792 16560//19793 16559//19757 +f 16407//19756 16408//19792 16559//19757 +f 16560//19793 16715//19794 16714//19758 +f 16559//19757 16560//19793 16714//19758 +f 16715//19794 16873//19795 16872//19759 +f 16714//19758 16715//19794 16872//19759 +f 16873//19795 17036//19796 17035//19760 +f 16872//19759 16873//19795 17035//19760 +f 17036//19796 17200//19797 17199//19761 +f 17035//19760 17036//19796 17199//19761 +f 17200//19797 5002//19798 5003//19762 +f 17199//19761 17200//19797 5003//19762 +f 5002//19798 2708//19799 2176//19763 +f 5003//19762 5002//19798 2176//19763 +f 2708//19799 2901//19800 1610//19764 +f 2176//19763 2708//19799 1610//19764 +f 2901//19800 6130//19801 1731//19765 +f 1610//19764 2901//19800 1731//19765 +f 6130//19801 5210//19802 6000//19766 +f 1731//19765 6130//19801 6000//19766 +f 4538//19803 4405//19767 6000//19766 +f 5210//19802 4538//19803 6000//19766 +f 85//19804 59//19768 4405//19767 +f 4538//19803 85//19804 4405//19767 +f 3072//19805 1528//19769 59//19768 +f 85//19804 3072//19805 59//19768 +f 184//19806 1294//19385 1528//19769 +f 3072//19805 184//19806 1528//19769 +f 18643//16419 13565//19807 18642//16977 +f 184//19806 6908//1079 1294//19385 +f 277//15129 15326//13029 5567//1633 +f 12833//9068 12832//18148 11800//77 +f 14539//7068 16709//9605 1288//6164 +f 20308//14591 17609//19808 17705//19809 +f 14397//19069 4008//18781 14873//1324 +f 16193//238 16338//18681 15438//1323 +f 16830//111 3209//429 16630//18922 +f 2005//804 4680//19048 15938//19226 +f 7093//18966 168//19395 6142//19428 +f 6272//18963 7093//18966 6142//19428 +f 7093//18966 6762//18965 168//19395 +f 6762//18965 2101//19372 168//19395 +f 4140//19285 1733//19104 16111//19232 +f 2131//18919 941//19342 2101//19372 +f 15890//19054 1733//19104 4140//19285 +f 16110//19099 16392//19101 16543//19194 +f 13866//834 15732//829 15596//1582 +f 14940//19283 15890//19054 4140//19285 +f 16631//18598 14362//19355 14701//19357 +f 15819//1213 15115//1215 15756//9038 +f 14564//273 14552//1047 3343//6526 +f 16474//19810 3125//5598 16788//5597 +f 14901//18988 2535//19079 14477//19359 +f 23218//19811 20234//19812 22945//19813 +f 6021//9143 4149//1769 14727//1768 +f 2535//19079 14679//19139 14591//9138 +f 15963//2608 16103//19272 14523//2609 +f 14774//8993 14773//2292 14667//1349 +f 9623//14510 9740//8699 9739//8698 +f 15786//18330 15787//18329 15925//18801 +f 15007//19814 15130//19775 15006//1448 +f 2485//18642 14679//19139 2535//19079 +f 15007//19814 15006//1448 14886//8701 +f 15257//18417 15256//19444 15129//1449 +f 14887//19640 15007//19814 14886//8701 +f 15130//19775 15129//1449 15006//1448 +f 5827//4907 4230//738 469//4908 +f 15139//9472 1897//19298 14896//19297 +f 16481//18892 14554//19004 1778//18641 +f 14816//19299 16481//18892 1778//18641 +f 16340//18720 614//13275 2147//19374 +f 1775//18874 4127//19166 5059//204 +f 14749//19529 1734//19776 14508//19519 +f 3534//19777 5197//19815 1416//19526 +f 16394//19816 16250//19535 16780//19817 +f 1420//19525 1536//19778 16780//19817 +f 13274//17053 13179//16824 1759//7939 +f 12723//16916 3076//529 1066//16611 +f 3487//15291 3488//494 21683//14451 +f 14452//648 14453//1463 14503//790 +f 14504//1464 14583//411 14582//19818 +f 14503//790 14504//1464 14582//19818 +f 351//19819 464//19556 16394//19816 +f 16250//19535 249//19524 16780//19817 +f 14414//19820 14899//19821 475//19558 +f 3612//19503 14711//19749 14749//19529 +f 15141//19552 14414//19820 475//19558 +f 14899//19821 16397//19822 1417//19553 +f 35725//3456 24995//3455 27287//19823 +f 15396//19271 15679//963 14537//11583 +f 5176//19492 14412//19824 16074//19485 +f 15327//833 15326//13029 9569//827 +f 6635//3315 6017//18369 3992//3316 +f 15256//19444 15255//19625 15128//19186 +f 5733//1022 1505//18950 6911//1023 +f 28342//6340 28886//983 27047//979 +f 13613//5991 14367//1045 14381//276 +f 3719//19154 6145//18890 1897//19298 +f 35747//13368 14178//12357 35460//11908 +f 15115//1215 16631//18598 1888//8650 +f 142//18226 3483//8983 6148//14385 +f 16197//15520 14083//2384 11724//2383 +f 15704//19825 15841//19826 15840//19788 +f 15703//13472 15704//19825 15840//19788 +f 15841//19826 15980//19827 15979//19789 +f 15840//19788 15841//19826 15979//19789 +f 15980//19827 16121//19828 16120//19790 +f 15979//19789 15980//19827 16120//19790 +f 16121//19828 16264//19829 16263//19791 +f 16120//19790 16121//19828 16263//19791 +f 16264//19829 16409//19830 16408//19792 +f 16263//19791 16264//19829 16408//19792 +f 16409//19830 16561//19831 16560//19793 +f 16408//19792 16409//19830 16560//19793 +f 16561//19831 16716//19832 16715//19794 +f 16560//19793 16561//19831 16715//19794 +f 16716//19832 16874//19833 16873//19795 +f 16715//19794 16716//19832 16873//19795 +f 16874//19833 17037//19834 17036//19796 +f 16873//19795 16874//19833 17036//19796 +f 17037//19834 17201//19835 17200//19797 +f 17036//19796 17037//19834 17200//19797 +f 17201//19835 4865//19836 5002//19798 +f 17200//19797 17201//19835 5002//19798 +f 4865//19836 2048//19837 2708//19799 +f 5002//19798 4865//19836 2708//19799 +f 2048//19837 1097//19838 2901//19800 +f 2708//19799 2048//19837 2901//19800 +f 1097//19838 812//19839 6130//19801 +f 2901//19800 1097//19838 6130//19801 +f 812//19839 5346//19840 5210//19802 +f 6130//19801 812//19839 5210//19802 +f 4671//19841 4538//19803 5210//19802 +f 5346//19840 4671//19841 5210//19802 +f 86//19842 85//19804 4538//19803 +f 4671//19841 86//19842 4538//19803 +f 2384//19843 3072//19805 85//19804 +f 86//19842 2384//19843 85//19804 +f 6136//19844 184//19806 3072//19805 +f 2384//19843 6136//19844 3072//19805 +f 6871//19845 6908//1079 184//19806 +f 6136//19844 6871//19845 184//19806 +f 33//9662 14825//15174 17109//7942 +f 6871//19845 14819//18905 6908//1079 +f 28202//19846 28203//5338 28319//19847 +f 16021//7 16164//13381 13434//8 +f 35435//6547 35875//1382 35426//1381 +f 22661//12192 22562//2814 12306//8769 +f 284//19459 739//17132 285//17134 +f 24288//19848 25566//19849 25565//19850 +f 285//17134 6272//18963 284//19459 +f 6272//18963 6142//19428 284//19459 +f 12214//2320 35760//2319 35936//932 +f 1381//18331 3186//5322 3357//18332 +f 15101//19327 15288//7943 15227//19201 +f 3196//10955 15439//18420 5205//3150 +f 15101//19327 15227//19201 14730//19056 +f 15103//19281 15101//19327 14730//19056 +f 14423//1328 14449//18456 14422//19456 +f 15288//7943 17109//7942 15227//19201 +f 5140//1059 17186//2596 5274//18797 +f 20561//19001 20560//3180 20475//1907 +f 14787//19077 14801//9142 14691//9141 +f 5140//1059 5274//18797 17175//5180 +f 15926//18802 16068//18412 16067//18411 +f 503//328 502//4437 2020//326 +f 14614//9139 6021//9143 14727//1768 +f 14679//19139 14691//9141 14591//9138 +f 3737//8744 16798//19851 5474//8867 +f 16334//15886 16485//19317 16484//8870 +f 8244//12905 11223//814 9803//12726 +f 15439//18420 9453//3554 5205//3150 +f 12388//11784 13//17022 5562//1014 +f 4364//8492 16961//346 17127//348 +f 14159//13952 12117//15923 14064//1889 +f 15702//13473 15701//17159 10149//13474 +f 14668//18307 14667//1349 14575//1348 +f 17120//19852 15761//1480 15109//1481 +f 2133//1174 5137//8746 15616//1175 +f 14576//18309 14668//18307 14575//1348 +f 14496//19184 14575//1348 14495//19185 +f 14551//18495 14550//18305 2008//18304 +f 1737//736 4230//738 6//9008 +f 6397//18910 2136//19346 6269//18308 +f 14508//19519 3534//19777 1416//19526 +f 6016//231 1771//233 1891//4725 +f 249//19524 1420//19525 16780//19817 +f 5197//19815 14414//19820 15141//19552 +f 3076//529 710//9354 1066//16611 +f 464//19556 16250//19535 16394//19816 +f 14583//411 14675//407 14674//18350 +f 261//2995 3326//5167 1568//4138 +f 11888//12360 1891//4725 11972//13452 +f 3797//1485 16948//389 16782//1329 +f 1327//19562 16945//19573 15618//17036 +f 15618//17036 16945//19573 351//19819 +f 18087//19853 20574//16079 19272//19854 +f 16945//19573 464//19556 351//19819 +f 16397//19822 16635//19855 14462//19554 +f 475//19558 14899//19821 1417//19553 +f 14691//9141 6021//9143 14614//9139 +f 15695//18745 15694//19027 15963//2608 +f 16362//19856 14709//8821 14708//19451 +f 14778//18395 14779//18351 14891//19122 +f 27149//3976 35699//3083 35540//5879 +f 14483//6691 14560//18749 14559//19251 +f 3753//16895 11400//14354 15048//15363 +f 16324//18410 14697//18923 14350//9022 +f 5474//8867 16798//19851 16960//8491 +f 15439//18420 15570//19857 9453//3554 +f 9453//3554 15570//19857 15704//19825 +f 14819//18905 9566//11536 6908//1079 +f 15570//19857 15705//19858 15704//19825 +f 14162//15556 16495//17060 16650//18858 +f 15705//19858 15842//19859 15841//19826 +f 15704//19825 15705//19858 15841//19826 +f 15842//19859 15981//19860 15980//19827 +f 15841//19826 15842//19859 15980//19827 +f 15981//19860 16122//19861 16121//19828 +f 15980//19827 15981//19860 16121//19828 +f 16122//19861 16265//19862 16264//19829 +f 16121//19828 16122//19861 16264//19829 +f 16265//19862 16410//19863 16409//19830 +f 16264//19829 16265//19862 16409//19830 +f 16410//19863 16562//19864 16561//19831 +f 16409//19830 16410//19863 16561//19831 +f 16562//19864 16717//19865 16716//19832 +f 16561//19831 16562//19864 16716//19832 +f 16717//19865 16875//19866 16874//19833 +f 16716//19832 16717//19865 16874//19833 +f 16875//19866 17038//19867 17037//19834 +f 16874//19833 16875//19866 17037//19834 +f 17038//19867 17202//19868 17201//19835 +f 17037//19834 17038//19867 17201//19835 +f 17202//19868 4866//19869 4865//19836 +f 17201//19835 17202//19868 4865//19836 +f 4866//19869 1924//19870 2048//19837 +f 4865//19836 4866//19869 2048//19837 +f 1924//19870 1096//19871 1097//19838 +f 2048//19837 1924//19870 1097//19838 +f 1096//19871 1499//19872 812//19839 +f 1097//19838 1096//19871 812//19839 +f 1499//19872 5480//19873 5346//19840 +f 812//19839 1499//19872 5346//19840 +f 4232//19874 4671//19841 5346//19840 +f 5480//19873 4232//19874 5346//19840 +f 7113//19875 86//19842 4671//19841 +f 4232//19874 7113//19875 4671//19841 +f 183//19876 2384//19843 86//19842 +f 7113//19875 183//19876 86//19842 +f 1529//19877 6136//19844 2384//19843 +f 183//19876 1529//19877 2384//19843 +f 6909//19543 6871//19845 6136//19844 +f 1529//19877 6909//19543 6136//19844 +f 14821//15060 14819//18905 6871//19845 +f 6909//19543 14821//15060 6871//19845 +f 35416//6173 35873//5781 35449//13487 +f 23852//9114 6654//9116 17571//602 +f 4673//18782 14813//19274 15363//731 +f 614//13275 1189//5177 1775//18874 +f 14372//514 14371//19191 14357//18814 +f 18642//16977 13565//19807 21117//4268 +f 17876//19878 17877//15343 17969//19384 +f 14873//1324 4008//18781 1773//730 +f 8138//14089 9649//14090 9980//14025 +f 20281//2431 21121//2433 21120//18289 +f 16861//19447 16705//19164 16113//19448 +f 15966//19051 16106//19495 16113//19448 +f 15966//19051 15430//19097 15431//19460 +f 976//19098 15966//19051 16113//19448 +f 15430//19097 558//19249 16475//19429 +f 16106//19495 15966//19051 15431//19460 +f 5690//1159 3221//1158 5691//4563 +f 16505//304 16506//280 16661//282 +f 2709//5179 5140//1059 17175//5180 +f 5274//18797 16689//13388 16538//5182 +f 3978//19671 5723//19879 2020//326 +f 15099//5326 15481//1131 15820//1192 +f 14591//9138 14691//9141 14614//9139 +f 15503//18975 15549//1451 15892//18851 +f 13231//14300 15801//18443 15939//1087 +f 24241//15210 25856//18441 24886//10839 +f 1312//6860 18469//6649 1195//6750 +f 4664//14680 15021//16783 12558//14355 +f 14891//19122 15011//1013 15010//2989 +f 20122//18223 20207//1824 17601//3171 +f 14778//18395 14891//19122 14890//4290 +f 14777//147 14778//18395 14890//4290 +f 10005//1599 35464//7143 13610//8475 +f 17127//348 299//13004 4364//8492 +f 14497//18311 14496//19184 14445//1345 +f 29636//9992 29635//18603 29497//8764 +f 252//18927 362//495 3212//4283 +f 14446//18327 14497//18311 14445//1345 +f 14944//19227 14927//1478 15222//18930 +f 2402//1986 6397//18910 6269//18308 +f 2133//1174 16549//1469 5137//8746 +f 27084//19602 28431//19880 28424//11649 +f 1416//19526 5197//19815 15141//19552 +f 19968//19881 31145//19882 19969//17063 +f 15960//9140 14542//19417 14627//714 +f 14627//714 14542//19417 14694//1617 +f 5623//2087 5622//2086 3326//5167 +f 141//716 6652//718 353//19314 +f 5623//2087 3218//480 3217//2088 +f 24032//4968 24031//17042 30624//4969 +f 14614//9139 14727//1768 14542//19417 +f 14450//1327 14449//18456 14423//1328 +f 3//18302 823//18314 15396//19271 +f 15396//19271 823//18314 15679//963 +f 17120//19852 15109//1481 3609//1792 +f 1417//19553 16397//19822 14462//19554 +f 15897//5748 15096//18929 14509//717 +f 15694//19027 16103//19272 15963//2608 +f 18648//19883 21041//15780 21042//17573 +f 6265//1614 6393//1952 5598//2288 +f 21756//15688 21863//3405 1035//3407 +f 16463//16608 16026//19516 587//4750 +f 321//1612 6265//1614 5598//2288 +f 17447//14433 33704//12318 22326//12319 +f 15312//10165 15440//19884 15439//18420 +f 15311//18419 15312//10165 15439//18420 +f 15440//19884 15571//19885 15570//19857 +f 15439//18420 15440//19884 15570//19857 +f 15571//19885 15706//19886 15705//19858 +f 15570//19857 15571//19885 15705//19858 +f 15706//19886 15843//19887 15842//19859 +f 15705//19858 15706//19886 15842//19859 +f 15843//19887 15982//19888 15981//19860 +f 15842//19859 15843//19887 15981//19860 +f 15982//19888 16123//19889 16122//19861 +f 15981//19860 15982//19888 16122//19861 +f 16123//19889 16266//19890 16265//19862 +f 16122//19861 16123//19889 16265//19862 +f 16266//19890 16411//19891 16410//19863 +f 16265//19862 16266//19890 16410//19863 +f 16411//19891 16563//19892 16562//19864 +f 16410//19863 16411//19891 16562//19864 +f 16563//19892 16718//19893 16717//19865 +f 16562//19864 16563//19892 16717//19865 +f 16718//19893 16876//19894 16875//19866 +f 16717//19865 16718//19893 16875//19866 +f 16876//19894 17039//19895 17038//19867 +f 16875//19866 16876//19894 17038//19867 +f 17039//19895 17203//19896 17202//19868 +f 17038//19867 17039//19895 17202//19868 +f 17203//19896 4867//19897 4866//19869 +f 17202//19868 17203//19896 4866//19869 +f 4867//19897 2707//19898 1924//19870 +f 4866//19869 4867//19897 1924//19870 +f 2707//19898 1095//19899 1096//19871 +f 1924//19870 2707//19898 1096//19871 +f 1095//19899 3185//19900 1499//19872 +f 1096//19871 1095//19899 1499//19872 +f 3185//19900 5615//19901 5480//19873 +f 1499//19872 3185//19900 5480//19873 +f 4366//19902 4232//19874 5480//19873 +f 5615//19901 4366//19902 5480//19873 +f 7010//19903 7113//19875 4232//19874 +f 4366//19902 7010//19903 4232//19874 +f 6517//19904 183//19876 7113//19875 +f 7010//19903 6517//19904 7113//19875 +f 3607//19905 1529//19877 183//19876 +f 6517//19904 3607//19905 183//19876 +f 7006//14326 6909//19543 1529//19877 +f 3607//19905 7006//14326 1529//19877 +f 35822//5341 35673//8176 35376//12076 +f 16317//19906 5858//8954 7417//8956 +f 20213//19907 20212//17484 20127//17475 +f 3737//8744 16642//435 16798//19851 +f 14813//19274 5758//8621 15363//731 +f 16353//8891 16354//9157 16506//280 +f 17125//18914 14361//18913 17110//19551 +f 5347//19074 14858//19511 14326//19540 +f 16194//19120 14939//19482 14858//19511 +f 14361//18913 5347//19074 14326//19540 +f 16194//19120 16705//19164 16861//19447 +f 5347//19074 16194//19120 14858//19511 +f 16705//19164 976//19098 16113//19448 +f 14939//19482 16194//19120 16861//19447 +f 15004//18959 15127//19008 15003//18960 +f 2536//19076 14919//19491 14801//9142 +f 23252//859 23350//3506 12254//947 +f 6147//8999 14599//18259 14336//18258 +f 18182//15591 21063//15176 182//14105 +f 466//298 2401//297 582//1216 +f 17175//5180 5274//18797 16538//5182 +f 1505//18950 4260//8682 6912//1091 +f 15270//4438 15269//4439 703//19908 +f 1273//6306 15270//4438 703//19908 +f 14497//18311 14576//18309 14496//19184 +f 15892//18851 15891//18850 14741//1058 +f 15561//561 403//560 1878//6935 +f 14890//4290 14889//4402 14776//148 +f 5139//18340 16256//19669 16187//18796 +f 12781//16786 14911//15719 23394//15718 +f 20128//19909 20213//19907 20127//17475 +f 3401//401 4134//2374 4413//1759 +f 3074//14598 10349//14213 10350//14291 +f 15775//18496 15914//19910 15913//19229 +f 5323//2185 14634//19583 471//2186 +f 15774//13107 15775//18496 15913//19229 +f 15761//1480 14329//1482 15109//1481 +f 9747//10848 9282//5587 2479//5448 +f 14420//18299 14446//18327 14419//7573 +f 78//19041 3208//18414 16702//8747 +f 15016//18428 476//18281 14800//18393 +f 14509//717 15222//18930 17120//19852 +f 15662//467 15678//466 5084//9124 +f 502//4437 2388//1092 501//9209 +f 15421//19616 17172//19604 471//2186 +f 3870//19911 15421//19616 471//2186 +f 3739//19621 15421//19616 3870//19911 +f 1304//19912 3739//19621 3870//19911 +f 15914//19910 16056//19913 16055//18125 +f 15913//19229 15914//19910 16055//18125 +f 16056//19913 16199//19914 16198//19617 +f 16055//18125 16056//19913 16198//19617 +f 16199//19914 16345//19915 16344//19618 +f 14626//19916 14541//19619 16361//19917 +f 16198//19617 16199//19914 16344//19618 +f 15929//19620 3739//19621 1304//19912 +f 16361//19917 15929//19620 1304//19912 +f 4260//8682 2262//6307 1737//736 +f 15271//9394 16968//521 15270//4438 +f 15016//18428 14800//18393 14690//19318 +f 14509//717 17120//19852 6652//718 +f 6095//6944 7426//10445 6225//8953 +f 11777//6319 11948//6318 20156//7128 +f 6008//16678 12477//16109 12478//8857 +f 6003//19449 5879//4757 499//4754 +f 15187//5588 15313//19918 15312//10165 +f 5872//3266 10841//11042 8656//11044 +f 15313//19918 15441//19919 15440//19884 +f 15312//10165 15313//19918 15440//19884 +f 15441//19919 15572//19920 15571//19885 +f 15440//19884 15441//19919 15571//19885 +f 15572//19920 15707//19921 15706//19886 +f 15571//19885 15572//19920 15706//19886 +f 15707//19921 15844//19922 15843//19887 +f 15706//19886 15707//19921 15843//19887 +f 15844//19922 15983//19923 15982//19888 +f 15843//19887 15844//19922 15982//19888 +f 15983//19923 16124//19924 16123//19889 +f 15982//19888 15983//19923 16123//19889 +f 16124//19924 16267//19925 16266//19890 +f 16123//19889 16124//19924 16266//19890 +f 16267//19925 16412//19926 16411//19891 +f 16266//19890 16267//19925 16411//19891 +f 16412//19926 16564//19927 16563//19892 +f 16411//19891 16412//19926 16563//19892 +f 16564//19927 16719//19928 16718//19893 +f 16563//19892 16564//19927 16718//19893 +f 16719//19928 16877//19929 16876//19894 +f 16718//19893 16719//19928 16876//19894 +f 16877//19929 17040//19930 17039//19895 +f 16876//19894 16877//19929 17039//19895 +f 17040//19930 17204//19931 17203//19896 +f 17039//19895 17040//19930 17203//19896 +f 17204//19931 4868//19932 4867//19897 +f 17203//19896 17204//19931 4867//19897 +f 4868//19932 2572//19933 2707//19898 +f 4867//19897 4868//19932 2707//19898 +f 2572//19933 1094//19934 1095//19899 +f 2707//19898 2572//19933 1095//19899 +f 1094//19934 330//19935 3185//19900 +f 1095//19899 1094//19934 3185//19900 +f 330//19935 5749//19936 5615//19901 +f 3185//19900 330//19935 5615//19901 +f 4805//19937 4366//19902 5615//19901 +f 5749//19936 4805//19937 5615//19901 +f 4386//19938 7010//19903 4366//19902 +f 4805//19937 4386//19938 4366//19902 +f 3211//19939 6517//19904 7010//19903 +f 4386//19938 3211//19939 7010//19903 +f 215//19940 3607//19905 6517//19904 +f 3211//19939 215//19940 6517//19904 +f 6910//19941 7006//14326 3607//19905 +f 215//19940 6910//19941 3607//19905 +f 9116//14744 474//19634 16317//19906 +f 6910//19941 14828//14327 7006//14326 +f 15836//6546 15975//18944 21//2714 +f 5185//8001 5322//7945 2489//7819 +f 4412//5043 14943//5044 4545//18925 +f 16507//18837 16663//19481 16662//281 +f 15393//18957 17125//18914 15391//19550 +f 14361//18913 14326//19540 17110//19551 +f 15513//2599 15648//19023 15647//18876 +f 15512//18875 15513//2599 15647//18876 +f 15513//2599 15512//18875 15381//19601 +f 15382//2597 15513//2599 15381//19601 +f 15382//2597 15381//19601 15253//19599 +f 15254//19787 15382//2597 15253//19599 +f 15254//19787 15253//19599 15126//19009 +f 15127//19008 15254//19787 15126//19009 +f 35879//1611 35349//1547 35852//1549 +f 4950//18254 15267//722 15105//18245 +f 4815//611 1212//610 15824//13713 +f 14489//6315 3874//19494 16398//18685 +f 305//9473 5041//1336 17194//1335 +f 5470//6866 3178//6868 2263//17015 +f 16959//523 16956//1452 15269//4439 +f 15752//512 15891//18850 15549//1451 +f 14576//18309 14575//1348 14496//19184 +f 15269//4439 15268//9217 6143//9215 +f 6652//718 3609//1792 3610//18382 +f 353//19314 6652//718 3610//18382 +f 16635//19855 1772//19622 14626//19916 +f 3874//19494 15623//9286 1187//18649 +f 16345//19915 16498//19942 16497//19637 +f 16344//19618 16345//19915 16497//19637 +f 16654//19943 16653//19638 16497//19637 +f 16498//19942 16654//19943 16497//19637 +f 703//19908 15269//4439 6143//9215 +f 1734//19776 15038//19675 3534//19777 +f 78//19041 353//19314 3208//18414 +f 16549//1469 16702//8747 5137//8746 +f 3493//8979 15016//18428 14897//19273 +f 14451//649 14502//791 14450//1327 +f 12287//8499 9519//13949 11077//13951 +f 16168//16389 8001//16387 2254//4573 +f 14711//19749 14712//19677 1734//19776 +f 15038//19675 1331//19647 3534//19777 +f 16813//19944 16812//19642 16653//19638 +f 16654//19943 16813//19944 16653//19638 +f 16977//19945 16976//19643 16812//19642 +f 16813//19944 16977//19945 16812//19642 +f 17143//19946 17142//19644 16976//19643 +f 16977//19945 17143//19946 16976//19643 +f 6880//19947 14606//19646 17142//19644 +f 17143//19946 6880//19947 17142//19644 +f 15795//19748 15658//19741 14711//19749 +f 14712//19677 15038//19675 1734//19776 +f 305//9473 2441//9475 6793//15104 +f 20299//19948 20298//17508 20212//17484 +f 3873//8977 3493//8979 15017//19224 +f 15017//19224 3493//8979 14897//19273 +f 15764//11291 14865//1574 15226//13954 +f 28076//13204 28721//13851 35427//13202 +f 2929//17157 14998//1093 14997//4142 +f 21879//19949 20779//5001 18902//5000 +f 15188//19950 15314//19951 15313//19918 +f 15187//5588 15188//19950 15313//19918 +f 15314//19951 15442//19952 15441//19919 +f 15313//19918 15314//19951 15441//19919 +f 15442//19952 15573//19953 15572//19920 +f 15441//19919 15442//19952 15572//19920 +f 15573//19953 15708//19954 15707//19921 +f 15572//19920 15573//19953 15707//19921 +f 15708//19954 15845//19955 15844//19922 +f 15707//19921 15708//19954 15844//19922 +f 15845//19955 15984//19956 15983//19923 +f 15844//19922 15845//19955 15983//19923 +f 15984//19956 16125//19957 16124//19924 +f 15983//19923 15984//19956 16124//19924 +f 16125//19957 16268//19958 16267//19925 +f 16124//19924 16125//19957 16267//19925 +f 16268//19958 16413//19959 16412//19926 +f 16267//19925 16268//19958 16412//19926 +f 16413//19959 16565//19960 16564//19927 +f 16412//19926 16413//19959 16564//19927 +f 16565//19960 16720//19961 16719//19928 +f 16564//19927 16565//19960 16719//19928 +f 16720//19961 16878//19962 16877//19929 +f 16719//19928 16720//19961 16877//19929 +f 16878//19962 17041//19963 17040//19930 +f 16877//19929 16878//19962 17040//19930 +f 17041//19963 17205//19964 17204//19931 +f 17040//19930 17041//19963 17204//19931 +f 17205//19964 4869//19965 4868//19932 +f 17204//19931 17205//19964 4868//19932 +f 4869//19965 2573//19966 2572//19933 +f 4868//19932 4869//19965 2572//19933 +f 2573//19966 1093//19967 1094//19934 +f 2572//19933 2573//19966 1094//19934 +f 1093//19967 1995//19968 330//19935 +f 1094//19934 1093//19967 330//19935 +f 1995//19968 5882//19969 5749//19936 +f 330//19935 1995//19968 5749//19936 +f 5880//19970 4805//19937 5749//19936 +f 5882//19969 5880//19970 5749//19936 +f 4104//19971 4386//19938 4805//19937 +f 5880//19970 4104//19971 4805//19937 +f 6279//19972 3211//19939 4386//19938 +f 4104//19971 6279//19972 4386//19938 +f 445//19973 215//19940 3211//19939 +f 6279//19972 445//19973 3211//19939 +f 6843//19974 6910//19941 215//19940 +f 445//19973 6843//19974 215//19940 +f 14829//13914 14828//14327 6910//19941 +f 6843//19974 14829//13914 6910//19941 +f 35722//8727 22535//14087 22436//19165 +f 15769//1003 15800//1004 15034//225 +f 16506//280 16507//18837 16662//281 +f 16663//19481 16822//9718 16821//19407 +f 14340//18958 15393//18957 14339//19549 +f 17125//18914 17110//19551 15391//19550 +f 15648//19023 15785//5590 15784//5589 +f 15647//18876 15648//19023 15784//5589 +f 15170//19347 15295//18247 16466//1647 +f 14470//9406 14464//19490 15900//9402 +f 14919//19491 14464//19490 14470//9406 +f 4815//611 15395//7533 6121//2054 +f 1897//19298 6145//18890 16481//18892 +f 14801//9142 14919//19491 14470//9406 +f 35713//9063 35454//13139 35461//9064 +f 14464//19490 14983//1989 15900//9402 +f 50//8918 2396//6305 1505//18950 +f 3714//2783 2622//19537 3405//2578 +f 29549//3009 29009//16612 27294//3010 +f 16707//19326 16708//19325 16188//19480 +f 15550//513 15752//512 15549//1451 +f 15752//512 15791//3199 14640//19605 +f 4008//18781 15017//19224 4673//18782 +f 2262//6307 703//19908 6143//9215 +f 6652//718 17120//19852 3609//1792 +f 353//19314 3610//18382 3208//18414 +f 16027//19636 1772//19622 16635//19855 +f 14541//19619 15929//19620 16361//19917 +f 2986//19975 2713//19674 14606//19646 +f 6880//19947 2986//19975 14606//19646 +f 4150//19976 4151//19676 2713//19674 +f 2986//19975 4150//19976 2713//19674 +f 1331//19647 14480//19645 5197//19815 +f 4150//19976 1543//19977 853//19681 +f 3534//19777 1331//19647 5197//19815 +f 14480//19645 15045//19639 14414//19820 +f 16549//1469 78//19041 16702//8747 +f 17113//930 15616//1175 14760//8681 +f 16646//18911 3873//8977 1305//19223 +f 1305//19223 3873//8977 15017//19224 +f 15280//19978 19095//19267 14584//405 +f 1214//4131 5322//7945 15688//2575 +f 15167//19717 3083//19709 15795//19748 +f 15658//19741 14712//19677 14711//19749 +f 4151//19676 4150//19976 853//19681 +f 1543//19977 4274//9066 4142//19682 +f 853//19681 1543//19977 4142//19682 +f 10846//14308 7469//14307 11009//10061 +f 4142//19682 4274//9066 1424//10528 +f 824//19979 943//18983 3063//2738 +f 26480//2656 27148//2655 35896//2841 +f 14519//19716 15499//19680 15167//19717 +f 3083//19709 15658//19741 15795//19748 +f 17012//1039 2898//1084 16028//141 +f 14515//1252 2898//1084 17012//1039 +f 14709//8821 15969//500 15040//8822 +f 15969//500 15039//502 15040//8822 +f 16630//18922 14532//277 14944//19227 +f 15621//19356 3263//7438 15395//7533 +f 10238//13737 14828//14327 10359//13734 +f 15891//18850 15752//512 14640//19605 +f 112//195 23469//16217 23371//17270 +f 32399//17043 32398//19980 32295//19981 +f 15315//16563 15443//19982 15442//19952 +f 25769//19983 25862//19984 24414//19199 +f 15443//19982 15574//19985 15573//19953 +f 15442//19952 15443//19982 15573//19953 +f 15574//19985 15709//19986 15708//19954 +f 15573//19953 15574//19985 15708//19954 +f 15709//19986 15846//19987 15845//19955 +f 15708//19954 15709//19986 15845//19955 +f 15846//19987 15985//19988 15984//19956 +f 15845//19955 15846//19987 15984//19956 +f 15985//19988 16126//19989 16125//19957 +f 15984//19956 15985//19988 16125//19957 +f 16126//19989 16269//19990 16268//19958 +f 16125//19957 16126//19989 16268//19958 +f 16269//19990 16414//19991 16413//19959 +f 16268//19958 16269//19990 16413//19959 +f 16414//19991 16566//19992 16565//19960 +f 16413//19959 16414//19991 16565//19960 +f 16566//19992 16721//19993 16720//19961 +f 16565//19960 16566//19992 16720//19961 +f 16721//19993 16879//19994 16878//19962 +f 16720//19961 16721//19993 16878//19962 +f 16879//19994 17042//19995 17041//19963 +f 16878//19962 16879//19994 17041//19963 +f 17042//19995 17206//19996 17205//19964 +f 17041//19963 17042//19995 17205//19964 +f 17206//19996 4873//19997 4869//19965 +f 17205//19964 17206//19996 4869//19965 +f 4873//19997 2439//19998 2573//19966 +f 4869//19965 4873//19997 2573//19966 +f 2439//19998 2549//19999 1093//19967 +f 2573//19966 2439//19998 1093//19967 +f 2549//19999 1272//20000 1995//19968 +f 1093//19967 2549//19999 1995//19968 +f 1272//20000 5881//20001 5882//19969 +f 1995//19968 1272//20000 5882//19969 +f 5463//20002 5880//19970 5882//19969 +f 5881//20001 5463//20002 5882//19969 +f 5878//20003 4104//19971 5880//19970 +f 5463//20002 5878//20003 5880//19970 +f 6278//20004 6279//19972 4104//19971 +f 5878//20003 6278//20004 4104//19971 +f 2931//20005 445//19973 6279//19972 +f 6278//20004 2931//20005 6279//19972 +f 6844//20006 6843//19974 445//19973 +f 2931//20005 6844//20006 445//19973 +f 14830//942 14829//13914 6843//19974 +f 6844//20006 14830//942 6843//19974 +f 21116//4269 18640//20007 18641//4267 +f 8157//13722 7471//9812 11217//19121 +f 16662//281 16663//19481 16821//19407 +f 5816//2696 5681//9492 5682//2694 +f 586//18955 14340//18958 470//19582 +f 15393//18957 15391//19550 14339//19549 +f 14926//2429 14322//9219 25//18242 +f 15262//18374 15263//3024 19580//19719 +f 15651//19360 15652//19403 15788//19353 +f 15261//18368 15262//18374 15389//10063 +f 15128//19186 15255//19625 15127//19008 +f 20213//19907 20299//19948 20212//17484 +f 15005//1450 15128//19186 15004//18959 +f 15255//19625 15254//19787 15127//19008 +f 614//13275 1775//18874 2147//19374 +f 2147//19374 1775//18874 5059//204 +f 23244//604 28886//983 28342//6340 +f 15933//4288 17153//18409 14713//9028 +f 15252//6030 15380//19600 15379//12679 +f 15251//4575 15252//6030 15379//12679 +f 14640//19605 15791//3199 5139//18340 +f 17023//18339 16255//1830 16256//19669 +f 14897//19273 14690//19318 14813//19274 +f 502//4437 501//9209 1896//19397 +f 15678//466 5083//8563 5084//9124 +f 1065//9355 4402//9127 4532//9126 +f 16397//19822 16027//19636 16635//19855 +f 1772//19622 14541//19619 14626//19916 +f 360//19635 16027//19636 16397//19822 +f 14899//19821 360//19635 16397//19822 +f 5197//19815 14480//19645 14414//19820 +f 15045//19639 360//19635 14899//19821 +f 14422//19456 14448//18391 14421//18298 +f 14414//19820 15045//19639 14899//19821 +f 1179//9208 53//9007 6003//19449 +f 14386//19381 14403//19457 14385//18283 +f 14422//19456 14421//18298 14402//18303 +f 4281//1607 90//1609 89//9067 +f 15040//8822 15039//502 16490//19633 +f 15039//502 16646//18911 16490//19633 +f 2898//1084 15974//1266 16028//141 +f 16028//141 15974//1266 14349//142 +f 16339//19711 15499//19680 14519//19716 +f 16667//19684 16339//19711 14519//19716 +f 35440//4599 34730//2452 35435//6547 +f 8333//7242 10005//1599 13610//8475 +f 18114//20008 824//19979 19603//20009 +f 943//18983 824//19979 6523//19522 +f 35544//2842 35885//7574 35612//1274 +f 824//19979 18114//20008 6648//19547 +f 16339//19711 16667//19684 15903//19678 +f 14435//19679 16339//19711 15903//19678 +f 14710//509 3082//1260 15371//7849 +f 15974//1266 14436//7764 14349//142 +f 53//9007 6//9008 6003//19449 +f 15934//5883 15969//500 14709//8821 +f 15957//13843 7349//13751 7348//13754 +f 14690//19318 14800//18393 14456//9278 +f 20778//11040 20860//11110 20859//7826 +f 33126//20010 33127//11398 7523//20011 +f 15216//17388 3931//15800 16609//17318 +f 9633//3195 10120//197 4064//17317 +f 35723//1762 35428//3511 35377//3510 +f 15315//16563 15314//19951 1150//16564 +f 15444//20012 15575//20013 15574//19985 +f 15443//19982 15444//20012 15574//19985 +f 15575//20013 15710//20014 15709//19986 +f 15574//19985 15575//20013 15709//19986 +f 15710//20014 15847//20015 15846//19987 +f 15709//19986 15710//20014 15846//19987 +f 15847//20015 15986//20016 15985//19988 +f 15846//19987 15847//20015 15985//19988 +f 15986//20016 16127//20017 16126//19989 +f 15985//19988 15986//20016 16126//19989 +f 16127//20017 16270//20018 16269//19990 +f 16126//19989 16127//20017 16269//19990 +f 16270//20018 16415//20019 16414//19991 +f 16269//19990 16270//20018 16414//19991 +f 16415//20019 16567//20020 16566//19992 +f 16414//19991 16415//20019 16566//19992 +f 16567//20020 16722//20021 16721//19993 +f 16566//19992 16567//20020 16721//19993 +f 16722//20021 16880//20022 16879//19994 +f 16721//19993 16722//20021 16879//19994 +f 16880//20022 17043//20023 17042//19995 +f 16879//19994 16880//20022 17042//19995 +f 17043//20023 17207//20024 17206//19996 +f 17042//19995 17043//20023 17206//19996 +f 17207//20024 4870//20025 4873//19997 +f 17206//19996 17207//20024 4873//19997 +f 4870//20025 1804//20026 2439//19998 +f 4873//19997 4870//20025 2439//19998 +f 1804//20026 2415//20027 2549//19999 +f 2439//19998 1804//20026 2549//19999 +f 2415//20027 1996//20028 1272//20000 +f 2549//19999 2415//20027 1272//20000 +f 1996//20028 2502//20029 5881//20001 +f 1272//20000 1996//20028 5881//20001 +f 5328//20030 5463//20002 5881//20001 +f 2502//20029 5328//20030 5881//20001 +f 5746//20031 5878//20003 5463//20002 +f 5328//20030 5746//20031 5463//20002 +f 3349//20032 6278//20004 5878//20003 +f 5746//20031 3349//20032 5878//20003 +f 574//20033 2931//20005 6278//20004 +f 3349//20032 574//20033 6278//20004 +f 15104//20034 6844//20006 2931//20005 +f 574//20033 15104//20034 2931//20005 +f 14831//14581 14830//942 6844//20006 +f 15104//20034 14831//14581 6844//20006 +f 20968//20035 20238//17618 19017//20036 +f 2489//7819 1214//4131 2490//7726 +f 15315//16563 25669//20037 15443//19982 +f 35598//728 35537//6559 35633//729 +f 3064//18977 586//18955 1641//19603 +f 14340//18958 14339//19549 470//19582 +f 5754//1337 5755//9230 2627//8859 +f 280//295 175//18372 5755//9230 +f 15271//9394 15270//4438 1273//6306 +f 15652//19403 15789//290 15788//19353 +f 18809//2052 20410//2112 20408//19518 +f 20384//20038 20383//17512 20298//17508 +f 15352//19140 14438//18852 15353//2952 +f 15923//5591 15924//5592 16065//5594 +f 15435//19375 16950//19376 1447//5049 +f 35455//9401 35414//8722 35704//8194 +f 35517//2933 35457//6115 35591//6447 +f 16066//5593 16209//9156 16208//9155 +f 500//19668 499//4754 1776//7674 +f 14337//1129 15481//1131 15099//5326 +f 5139//18340 17023//18339 16256//19669 +f 7570//12752 1408//13668 9447//12440 +f 2485//18642 14715//19006 14679//19139 +f 2020//326 1896//19397 3978//19671 +f 14818//5759 2670//634 15935//636 +f 2670//634 16513//8886 16095//8885 +f 33372//15379 33485//16028 33484//20039 +f 15162//9285 15967//796 15292//798 +f 14624//19497 15967//796 15162//9285 +f 3492//2988 15142//9353 15479//6314 +f 14448//18391 14447//18326 14421//18298 +f 14403//19457 14422//19456 14402//18303 +f 1214//4131 1213//5462 2490//7726 +f 14386//19381 14385//18283 14370//18282 +f 35498//2477 30688//2476 17256//5463 +f 16065//5594 16066//5593 16208//9155 +f 6908//1079 9566//11536 6990//1080 +f 16053//8651 4815//611 15824//13713 +f 16490//19633 16646//18911 1305//19223 +f 16323//12259 672//2018 17172//19604 +f 14436//7764 3082//1260 14710//509 +f 16362//19856 15934//5883 14709//8821 +f 15499//19680 3083//19709 15167//19717 +f 14349//142 14436//7764 14710//509 +f 15350//10012 15613//9857 5284//9929 +f 4512//19683 14435//19679 16041//19710 +f 30699//20040 30833//20041 30698//20042 +f 19281//20043 19282//20044 19388//20045 +f 19820//20046 19652//20047 17944//20048 +f 19180//20049 19284//20050 19283//20051 +f 18977//20052 19078//20053 19077//20054 +f 3265//19744 4512//19683 15361//19774 +f 14435//19679 15903//19678 16041//19710 +f 15371//7849 15502//1642 14995//1515 +f 15502//1642 3210//555 14995//1515 +f 18913//19613 1527//8531 18914//9335 +f 3663//1017 15934//5883 16362//19856 +f 23395//16065 12781//16786 23394//15718 +f 13716//3318 13813//1732 16236//9113 +f 21023//9005 21022//7146 20939//11112 +f 20777//11041 20778//11040 20859//7826 +f 8011//2370 12308//20055 14073//20056 +f 8011//2370 103//2369 12308//20055 +f 17095//16870 8011//2370 14073//20056 +f 103//2369 13013//17389 12308//20055 +f 15445//20057 15576//20058 15575//20013 +f 15443//19982 25669//20037 15444//20012 +f 15576//20058 15711//20059 15710//20014 +f 15575//20013 15576//20058 15710//20014 +f 15711//20059 15848//20060 15847//20015 +f 15710//20014 15711//20059 15847//20015 +f 15848//20060 15987//20061 15986//20016 +f 15847//20015 15848//20060 15986//20016 +f 15987//20061 16128//20062 16127//20017 +f 15986//20016 15987//20061 16127//20017 +f 16128//20062 16271//20063 16270//20018 +f 16127//20017 16128//20062 16270//20018 +f 16271//20063 16416//20064 16415//20019 +f 16270//20018 16271//20063 16415//20019 +f 16416//20064 16568//20065 16567//20020 +f 16415//20019 16416//20064 16567//20020 +f 16568//20065 16723//20066 16722//20021 +f 16567//20020 16568//20065 16722//20021 +f 16723//20066 16881//20067 16880//20022 +f 16722//20021 16723//20066 16880//20022 +f 16881//20067 17044//20068 17043//20023 +f 16880//20022 16881//20067 17043//20023 +f 17044//20068 17208//20069 17207//20024 +f 17043//20023 17044//20068 17207//20024 +f 17208//20069 4872//20070 4870//20025 +f 17207//20024 17208//20069 4870//20025 +f 4872//20070 1923//20071 1804//20026 +f 4870//20025 4872//20070 1804//20026 +f 1923//20071 2282//20072 2415//20027 +f 1804//20026 1923//20071 2415//20027 +f 2282//20072 12//20073 1996//20028 +f 2415//20027 2282//20072 1996//20028 +f 12//20073 327//20074 2502//20029 +f 1996//20028 12//20073 2502//20029 +f 6636//20075 5328//20030 2502//20029 +f 327//20074 6636//20075 2502//20029 +f 5612//20076 5746//20031 5328//20030 +f 6636//20075 5612//20076 5328//20030 +f 6277//20077 3349//20032 5746//20031 +f 5612//20076 6277//20077 5746//20031 +f 2444//20078 574//20033 3349//20032 +f 6277//20077 2444//20078 3349//20032 +f 4407//20079 15104//20034 574//20033 +f 2444//20078 4407//20079 574//20033 +f 14833//20080 14831//14581 15104//20034 +f 4407//20079 14833//20080 15104//20034 +f 11972//13452 11975//6690 13782//17753 +f 7693//18539 14755//19770 14867//11724 +f 3869//606 829//2209 6775//9541 +f 829//2209 14558//4737 2269//18843 +f 2532//18845 3064//18977 2397//18846 +f 586//18955 470//19582 1641//19603 +f 1211//4436 1612//3187 2627//8859 +f 1612//3187 5754//1337 2627//8859 +f 5733//1022 50//8918 1505//18950 +f 16490//19633 1305//19223 14397//19069 +f 20267//19425 15880//19045 15881//15304 +f 20144//19609 18809//2052 20408//19518 +f 14364//19203 15352//19140 14351//2782 +f 14646//18853 1898//5746 14835//4278 +f 403//560 95//7033 1878//6935 +f 1776//7674 25871//7673 25870//18886 +f 13284//17756 35659//9805 3320//15005 +f 20859//7826 20860//11110 20939//11112 +f 23856//8167 35773//9471 35557//9755 +f 35796//12655 29821//13203 35427//13202 +f 16256//19669 16255//1830 2016//1832 +f 15040//8822 16490//19633 16338//18681 +f 15600//428 21283//1918 9280//8560 +f 17971//16219 17970//15342 17878//15344 +f 20350//9227 2501//1250 3596//1249 +f 15756//9038 15115//1215 1888//8650 +f 1405//826 6911//1023 2388//1092 +f 1407//4722 226//10560 14539//7068 +f 15222//18930 15761//1480 17120//19852 +f 15479//6314 14624//19497 15162//9285 +f 15965//118 141//716 353//19314 +f 21113//1940 21112//9154 21026//9153 +f 15937//19488 16051//18341 14930//1512 +f 14671//5755 14670//149 14578//9030 +f 20299//19948 20384//20038 20298//17508 +f 14641//1057 5140//1059 2709//5179 +f 1497//8371 1496//3829 6740//6129 +f 5434//3555 16029//9198 5433//5527 +f 1497//8371 8551//9886 9096//10681 +f 14390//17804 25658//20081 25657//17805 +f 501//9209 500//19668 1427//18885 +f 23200//20082 23298//16064 23199//15996 +f 3082//1260 15502//1642 15371//7849 +f 14995//1515 3210//555 15830//232 +f 3265//19744 15361//19774 14543//19773 +f 16633//19715 3265//19744 14543//19773 +f 19258//20083 17868//19465 17949//14685 +f 21226//345 692//10262 16954//343 +f 17988//20084 18220//20085 18092//20086 +f 14582//19818 14583//411 14674//18350 +f 16931//20087 13241//20088 25817//14799 +f 16633//19715 14543//19773 14478//19743 +f 15056//19747 16633//19715 14478//19743 +f 3262//1904 14809//1177 17154//235 +f 3210//555 2483//557 15830//232 +f 5147//9780 14631//8312 18383//9714 +f 14412//19824 3663//1017 16362//19856 +f 7066//14360 11561//14494 33542//9061 +f 14398//275 3318//10701 11508//10700 +f 21023//9005 21109//8788 21022//7146 +f 20940//11111 21023//9005 20939//11112 +f 34104//20089 21197//4237 21198//8787 +f 21109//8788 21197//4237 21108//4236 +f 17095//16870 14073//20056 16760//20090 +f 16604//16450 17095//16870 16760//20090 +f 15446//20091 15577//20092 15576//20058 +f 15445//20057 15575//20013 15444//20012 +f 15577//20092 15712//20093 15711//20059 +f 15576//20058 15577//20092 15711//20059 +f 15712//20093 15849//20094 15848//20060 +f 15711//20059 15712//20093 15848//20060 +f 15849//20094 15988//20095 15987//20061 +f 15848//20060 15849//20094 15987//20061 +f 15988//20095 16129//20096 16128//20062 +f 15987//20061 15988//20095 16128//20062 +f 16129//20096 16272//20097 16271//20063 +f 16128//20062 16129//20096 16271//20063 +f 16272//20097 16417//20098 16416//20064 +f 16271//20063 16272//20097 16416//20064 +f 16417//20098 16569//20099 16568//20065 +f 16416//20064 16417//20098 16568//20065 +f 16569//20099 16724//20100 16723//20066 +f 16568//20065 16569//20099 16723//20066 +f 16724//20100 16882//20101 16881//20067 +f 16723//20066 16724//20100 16881//20067 +f 16882//20101 17045//20102 17044//20068 +f 16881//20067 16882//20101 17044//20068 +f 17045//20102 17209//20103 17208//20069 +f 17044//20068 17045//20102 17208//20069 +f 17209//20103 4871//20104 4872//20070 +f 17208//20069 17209//20103 4872//20070 +f 4871//20104 2047//20105 1923//20071 +f 4872//20070 4871//20104 1923//20071 +f 2047//20105 2151//20106 2282//20072 +f 1923//20071 2047//20105 2282//20072 +f 2151//20106 5735//20107 12//20073 +f 2282//20072 2151//20106 12//20073 +f 5735//20107 6267//20108 327//20074 +f 12//20073 5735//20107 327//20074 +f 5178//20109 6636//20075 327//20074 +f 6267//20108 5178//20109 327//20074 +f 5477//20110 5612//20076 6636//20075 +f 5178//20109 5477//20110 6636//20075 +f 3482//20111 6277//20077 5612//20076 +f 5477//20110 3482//20111 5612//20076 +f 2932//20112 2444//20078 6277//20077 +f 3482//20111 2932//20112 6277//20077 +f 15264//20113 4407//20079 2444//20078 +f 2932//20112 15264//20113 2444//20078 +f 14834//20114 14833//20080 4407//20079 +f 15264//20113 14834//20114 4407//20079 +f 35429//8314 35461//9064 35505//4453 +f 14834//20114 16258//20115 14833//20080 +f 15660//18336 15900//9402 1525//1988 +f 292//6135 5465//2287 16550//6139 +f 3064//18977 1641//19603 2397//18846 +f 5323//2185 5458//2017 155//2184 +f 29133//20116 30600//14792 23958//20117 +f 1329//8858 1211//4436 2627//8859 +f 15412//1675 17151//19597 15411//1676 +f 11566//18098 14597//18099 11796//19205 +f 17465//12584 17388//7035 17466//20118 +f 16310//15303 20267//19425 15881//15304 +f 16553//2781 15291//13142 14351//2782 +f 14438//18852 14835//4278 15353//2952 +f 6917//7452 7017//8003 7016//14378 +f 1037//825 7009//1021 1405//826 +f 16249//9363 16095//8885 5869//9364 +f 16095//8885 15626//4429 5869//9364 +f 16052//18365 16492//635 16249//9363 +f 5869//9364 15626//4429 14412//19824 +f 15683//383 14410//2991 15682//193 +f 15793//795 14410//2991 15416//18364 +f 14410//2991 15935//636 15416//18364 +f 15511//18921 15646//18877 15645//4905 +f 3357//18332 3356//496 252//18927 +f 15626//4429 3663//1017 14412//19824 +f 299//13004 133//12075 4364//8492 +f 5412//19112 14520//18619 66//192 +f 30219//3263 30220//8029 29429//20119 +f 32667//20120 32666//20121 32553//20122 +f 3070//8980 15937//19488 14930//1512 +f 15764//11291 14557//1572 14865//1574 +f 14555//6312 15266//1441 3077//3192 +f 16051//18341 14721//1214 15819//1213 +f 16116//19656 16259//16778 10986//14370 +f 14476//441 1878//6935 95//7033 +f 29008//4496 27376//15485 26968//20123 +f 14178//12357 35747//13368 14177//12358 +f 16790//678 5299//677 5433//5527 +f 16048//9269 14612//3389 16029//9198 +f 15701//17159 2386//17158 10149//13474 +f 20468//20124 20467//17517 20383//17512 +f 2483//557 14507//1320 14487//234 +f 26194//20125 26195//17871 25685//20126 +f 4512//19683 16041//19710 15361//19774 +f 15830//232 2483//557 14487//234 +f 14675//407 14781//559 14780//18353 +f 15230//19746 15056//19747 15358//19742 +f 710//9354 4532//9126 6774//18386 +f 3340//844 13279//974 22857//8548 +f 261//2995 5623//2087 3326//5167 +f 1066//16611 710//9354 6774//18386 +f 1536//19778 15230//19746 14731//19686 +f 15056//19747 14478//19743 15358//19742 +f 16827//1322 3262//1904 17154//235 +f 1426//244 2711//1681 14809//1177 +f 22660//15574 12895//9109 22635//20127 +f 23101//15951 23102//1196 23199//15996 +f 23004//1197 23102//1196 23101//15951 +f 278//13278 9910//13277 16258//20115 +f 23003//15950 23004//1197 23101//15951 +f 23102//1196 23200//20082 23199//15996 +f 27062//11646 27084//19602 28424//11649 +f 28431//19880 30159//20128 30154//11965 +f 16604//16450 16760//20090 15538//16403 +f 15405//16061 16604//16450 15538//16403 +f 15447//20129 15578//20130 15577//20092 +f 15446//20091 15576//20058 15445//20057 +f 15578//20130 15713//20131 15712//20093 +f 15577//20092 15578//20130 15712//20093 +f 15713//20131 15850//20132 15849//20094 +f 15712//20093 15713//20131 15849//20094 +f 15850//20132 15989//20133 15988//20095 +f 15849//20094 15850//20132 15988//20095 +f 15989//20133 16130//20134 16129//20096 +f 15988//20095 15989//20133 16129//20096 +f 16130//20134 16273//20135 16272//20097 +f 16129//20096 16130//20134 16272//20097 +f 16273//20135 16418//20136 16417//20098 +f 16272//20097 16273//20135 16417//20098 +f 16418//20136 16570//20137 16569//20099 +f 16417//20098 16418//20136 16569//20099 +f 16570//20137 16725//20138 16724//20100 +f 16569//20099 16570//20137 16724//20100 +f 16725//20138 16883//20139 16882//20101 +f 16724//20100 16725//20138 16882//20101 +f 16883//20139 17046//20140 17045//20102 +f 16882//20101 16883//20139 17045//20102 +f 17046//20140 17210//20141 17209//20103 +f 17045//20102 17046//20140 17209//20103 +f 17210//20141 4736//20142 4871//20104 +f 17209//20103 17210//20141 4871//20104 +f 4736//20142 2175//20143 2047//20105 +f 4871//20104 4736//20142 2047//20105 +f 2175//20143 2023//20144 2151//20106 +f 2047//20105 2175//20143 2151//20106 +f 2023//20144 2504//20145 5735//20107 +f 2151//20106 2023//20144 5735//20107 +f 2504//20145 1403//20146 6267//20108 +f 5735//20107 2504//20145 6267//20108 +f 1403//20146 2902//20147 5178//20109 +f 6267//20108 1403//20146 5178//20109 +f 5343//20148 5477//20110 5178//20109 +f 2902//20147 5343//20148 5178//20109 +f 6276//20149 3482//20111 5477//20110 +f 5343//20148 6276//20149 5477//20110 +f 302//20150 2932//20112 3482//20111 +f 6276//20149 302//20150 3482//20111 +f 1498//20151 15264//20113 2932//20112 +f 302//20150 1498//20151 2932//20112 +f 14836//20152 14834//20114 15264//20113 +f 1498//20151 14836//20152 15264//20113 +f 16316//20153 16258//20115 14834//20114 +f 14836//20152 16316//20153 14834//20114 +f 7818//12633 10973//12634 8124//11974 +f 16316//20153 278//13278 16258//20115 +f 9794//14686 278//13278 9115//14687 +f 7474//449 9419//12961 10860//12960 +f 15111//256 7585//6933 7877//2987 +f 17157//18202 11800//77 15901//19204 +f 20384//20038 20468//20124 20383//17512 +f 15938//19226 16622//278 14532//277 +f 21880//1307 10217//6865 21853//18288 +f 21121//2433 21880//1307 21120//18289 +f 14528//2780 14597//18099 16553//2781 +f 15352//19140 15353//2952 14351//2782 +f 15417//18982 5691//4563 1650//4565 +f 35547//2503 35382//11625 34247//20154 +f 35486//3032 35572//6703 35531//3033 +f 14889//4402 14888//8992 14775//8991 +f 16206//2031 16207//18838 16352//2032 +f 20553//20155 20552//17518 20467//17517 +f 15420//19002 25420//19446 25278//20156 +f 17534//20157 19434//8377 3260//8406 +f 14815//1754 14655//1325 3213//1171 +f 10841//11042 5872//3266 3315//3265 +f 1656//732 4807//11975 1286//12635 +f 14655//1325 1656//732 1286//12635 +f 26612//20158 31557//1541 34062//1543 +f 14406//18952 14407//9543 14425//650 +f 135//2513 789//2911 3992//3316 +f 14063//15643 15639//20159 15775//18496 +f 14835//4278 1898//5746 14725//4279 +f 1414//18358 135//2513 3992//3316 +f 30760//11363 25167//16640 24715//6595 +f 14785//1442 1534//422 5745//421 +f 14177//12358 35747//13368 13391//13367 +f 5277//11376 5431//897 2021//3390 +f 16645//10915 16789//20160 16048//9269 +f 1891//4725 16989//13453 11972//13452 +f 16789//20160 2021//3390 14612//3389 +f 16048//9269 16789//20160 14612//3389 +f 14880//432 14881//431 15000//6320 +f 20468//20124 20553//20155 20467//17517 +f 8137//15723 16259//16778 4099//14479 +f 8863//11420 4649//3314 8111//11346 +f 16827//1322 17154//235 14487//234 +f 14507//1320 16827//1322 14487//234 +f 16780//19817 1536//19778 14731//19686 +f 15827//19685 16780//19817 14731//19686 +f 14888//8992 15008//1566 14887//19640 +f 1684//3201 1568//4138 4199//3961 +f 17111//1157 14429//8960 1486//5948 +f 15258//5467 15386//4739 15385//4738 +f 13182//16371 11695//17090 13180//15645 +f 14705//19269 15396//19271 3171//10900 +f 2797//19673 351//19819 16545//19648 +f 16394//19816 16780//19817 15827//19685 +f 14645//8023 2917//1445 5549//18146 +f 3262//1904 1426//244 14809//1177 +f 28991//12980 35420//12654 35768//9613 +f 14657//211 9575//1577 7110//212 +f 30029//4430 30161//10745 30028//4431 +f 587//4750 16026//19516 79//4748 +f 22905//1209 23004//1197 23003//15950 +f 22904//13505 22905//1209 23003//15950 +f 30294//10774 30427//10802 30293//20161 +f 30561//10841 30560//15663 30426//20162 +f 22333//20163 30773//2094 19575//1972 +f 30834//20164 2411//20165 30833//20041 +f 15448//20166 15579//20167 15578//20130 +f 15447//20129 15446//20091 19985//17629 +f 15579//20167 15714//20168 15713//20131 +f 15578//20130 15579//20167 15713//20131 +f 15714//20168 15851//20169 15850//20132 +f 15713//20131 15714//20168 15850//20132 +f 15851//20169 15990//20170 15989//20133 +f 15850//20132 15851//20169 15989//20133 +f 15990//20170 16131//20171 16130//20134 +f 15989//20133 15990//20170 16130//20134 +f 16131//20171 16274//20172 16273//20135 +f 16130//20134 16131//20171 16273//20135 +f 16274//20172 16419//20173 16418//20136 +f 16273//20135 16274//20172 16418//20136 +f 16419//20173 16571//20174 16570//20137 +f 16418//20136 16419//20173 16570//20137 +f 16571//20174 16726//20175 16725//20138 +f 16570//20137 16571//20174 16725//20138 +f 16726//20175 16884//20176 16883//20139 +f 16725//20138 16726//20175 16883//20139 +f 16884//20176 17047//20177 17046//20140 +f 16883//20139 16884//20176 17046//20140 +f 17047//20177 17211//20178 17210//20141 +f 17046//20140 17047//20177 17210//20141 +f 17211//20178 4737//20179 4736//20142 +f 17210//20141 17211//20178 4736//20142 +f 4737//20179 2306//20180 2175//20143 +f 4736//20142 4737//20179 2175//20143 +f 2306//20180 3755//20181 2023//20144 +f 2175//20143 2306//20180 2023//20144 +f 3755//20181 3854//20182 2504//20145 +f 2023//20144 3755//20181 2504//20145 +f 3854//20182 5177//20183 1403//20146 +f 2504//20145 3854//20182 1403//20146 +f 5177//20183 1404//20184 2902//20147 +f 1403//20146 5177//20183 2902//20147 +f 5207//20185 5343//20148 2902//20147 +f 1404//20184 5207//20185 2902//20147 +f 3611//20186 6276//20149 5343//20148 +f 5207//20185 3611//20186 5343//20148 +f 3734//20187 302//20150 6276//20149 +f 3611//20186 3734//20187 6276//20149 +f 1174//20188 1498//20151 302//20150 +f 3734//20187 1174//20188 302//20150 +f 14838//20189 14836//20152 1498//20151 +f 1174//20188 14838//20189 1498//20151 +f 16322//20190 16316//20153 14836//20152 +f 14838//20189 16322//20190 14836//20152 +f 279//20191 278//13278 16316//20153 +f 16322//20190 279//20191 16316//20153 +f 11865//15987 1019//8474 11637//15985 +f 279//20191 146//18454 278//13278 +f 7009//1021 6911//1023 1405//826 +f 1543//19977 89//9067 4274//9066 +f 13812//1731 16381//17944 10094//18867 +f 17151//19597 14468//19275 17135//19277 +f 2398//18909 2132//6867 5470//6866 +f 25850//20192 25708//17065 2264//17014 +f 16044//2775 15901//19204 14528//2780 +f 15291//13142 14364//19203 14351//2782 +f 6872//13104 15428//14688 15971//78 +f 11865//15987 13385//2239 16970//810 +f 20635//20193 20634//17525 20552//17518 +f 16159//570 16303//2238 1389//571 +f 33187//20194 33186//6327 33081//17448 +f 35593//3048 35760//2319 35581//2318 +f 15618//17036 351//19819 2797//19673 +f 14859//19672 15618//17036 2797//19673 +f 9680//745 4921//20195 2022//9229 +f 351//19819 16394//19816 16545//19648 +f 21969//20196 17721//14017 33662//20197 +f 31818//20198 31924//20199 31817//20200 +f 16952//18743 15503//18975 15435//19375 +f 20553//20155 20635//20193 20552//17518 +f 20716//20201 20715//17526 20634//17525 +f 82//15090 3182//7740 28//1790 +f 11563//2103 13957//2077 14249//15616 +f 23734//16539 13625//14516 24525//7144 +f 24089//20202 27018//16047 24465//5623 +f 12832//18148 12740//18101 11796//19205 +f 15902//7744 7221//20203 16645//10915 +f 16042//6237 15902//7744 16645//10915 +f 7221//20203 16951//20204 16789//20160 +f 16645//10915 7221//20203 16789//20160 +f 16951//20204 15494//20205 2021//3390 +f 16789//20160 16951//20204 2021//3390 +f 9289//13019 9290//13018 16832//18407 +f 2021//3390 15494//20205 5277//11376 +f 6503//6827 6376//6864 6377//6863 +f 27786//20206 12441//16021 12530//15522 +f 16050//239 15909//1637 2711//1681 +f 1426//244 16050//239 2711//1681 +f 15230//19746 15358//19742 14731//19686 +f 14815//1754 3213//1171 15909//1637 +f 32752//8114 32864//20207 32863//20208 +f 11378//13932 15160//806 7348//13754 +f 14063//15643 11640//15627 14062//15765 +f 11223//814 11224//816 15770//1173 +f 20413//150 1151//90 1145//16370 +f 15639//20159 15776//20209 15775//18496 +f 16545//19648 16394//19816 15827//19685 +f 20635//20193 20716//20201 20634//17525 +f 2099//1156 14429//8960 17111//1157 +f 16946//1066 3128//7376 3594//1205 +f 2249//4442 10650//11375 5471//18072 +f 35794//7360 35549//15642 35608//6450 +f 35198//20210 33666//13978 17454//20211 +f 12171//15683 12089//17183 13180//15645 +f 22706//16261 22707//20212 22805//16379 +f 3197//4585 17084//15676 17008//4586 +f 22806//1208 22905//1209 22904//13505 +f 22805//16379 22806//1208 22904//13505 +f 35626//9595 35353//5847 35376//12076 +f 21740//2628 21834//16196 34754//14217 +f 15449//17662 15580//20213 15579//20167 +f 15448//20166 15449//17662 15579//20167 +f 15580//20213 15715//20214 15714//20168 +f 15579//20167 15580//20213 15714//20168 +f 15715//20214 15852//20215 15851//20169 +f 15714//20168 15715//20214 15851//20169 +f 15852//20215 15991//20216 15990//20170 +f 15851//20169 15852//20215 15990//20170 +f 15991//20216 16132//20217 16131//20171 +f 15990//20170 15991//20216 16131//20171 +f 16132//20217 16275//20218 16274//20172 +f 16131//20171 16132//20217 16274//20172 +f 16275//20218 16420//20219 16419//20173 +f 16274//20172 16275//20218 16419//20173 +f 16420//20219 16572//20220 16571//20174 +f 16419//20173 16420//20219 16571//20174 +f 16572//20220 16727//20221 16726//20175 +f 16571//20174 16572//20220 16726//20175 +f 16727//20221 16885//20222 16884//20176 +f 16726//20175 16727//20221 16884//20176 +f 16885//20222 17048//20223 17047//20177 +f 16884//20176 16885//20222 17047//20177 +f 17048//20223 17212//20224 17211//20178 +f 17047//20177 17048//20223 17211//20178 +f 17212//20224 4735//20225 4737//20179 +f 17211//20178 17212//20224 4737//20179 +f 4735//20225 2438//20226 2306//20180 +f 4737//20179 4735//20225 2306//20180 +f 2438//20226 3754//20227 3755//20181 +f 2306//20180 2438//20226 3755//20181 +f 3754//20227 4943//20228 3854//20182 +f 3755//20181 3754//20227 3854//20182 +f 4943//20228 44//20229 5177//20183 +f 3854//20182 4943//20228 5177//20183 +f 36//20230 1404//20184 5177//20183 +f 44//20229 36//20230 5177//20183 +f 5073//20231 5207//20185 1404//20184 +f 36//20230 5073//20231 1404//20184 +f 3742//20232 3611//20186 5207//20185 +f 5073//20231 3742//20232 5207//20185 +f 404//20233 3734//20187 3611//20186 +f 3742//20232 404//20233 3611//20186 +f 15815//20234 1174//20188 3734//20187 +f 404//20233 15815//20234 3734//20187 +f 14843//20235 14838//20189 1174//20188 +f 15815//20234 14843//20235 1174//20188 +f 16326//20236 16322//20190 14838//20189 +f 14843//20235 16326//20236 14838//20189 +f 16326//20236 174//20237 279//20191 +f 16322//20190 16326//20236 279//20191 +f 174//20237 474//19634 146//18454 +f 279//20191 174//20237 146//18454 +f 8084//12024 9115//14687 7147//11602 +f 13816//3925 13718//3924 13719//5842 +f 1273//6306 703//19908 2262//6307 +f 10211//13763 10210//8502 16533//17297 +f 14366//18951 14365//19278 2132//6867 +f 2398//18909 14366//18951 2132//6867 +f 5545//1200 17157//18202 16044//2775 +f 14597//18099 15291//13142 16553//2781 +f 11216//6275 8999//13563 4236//6591 +f 25113//15581 23677//20238 20756//15582 +f 14756//19594 14755//19770 14651//17200 +f 14652//14243 14756//19594 14651//17200 +f 2483//557 14616//708 14507//1320 +f 25016//15481 24208//20239 24779//20240 +f 14381//276 11508//10700 13861//6531 +f 16515//807 15160//806 11378//13932 +f 23406//10187 15043//18744 21048//17767 +f 15776//20209 15915//20241 15914//19910 +f 14778//18395 14777//147 14671//5755 +f 15775//18496 15776//20209 15914//19910 +f 14542//19417 14605//9545 14694//1617 +f 14672//3197 14778//18395 14671//5755 +f 12283//13109 14063//15643 15775//18496 +f 15695//18745 15963//2608 16795//1472 +f 1296//19623 2016//1832 2940//1130 +f 14500//18455 14579//9029 14499//18392 +f 14398//275 11508//10700 14381//276 +f 15551//18716 5702//6123 5835//6125 +f 16794//7743 15904//20242 7221//20203 +f 15902//7744 16794//7743 7221//20203 +f 15904//20242 2134//20243 16951//20204 +f 7221//20203 15904//20242 16951//20204 +f 2134//20243 14527//20244 15494//20205 +f 16951//20204 2134//20243 15494//20205 +f 18691//9601 1456//9600 18789//20245 +f 35600//4538 29544//9901 35719//7148 +f 5295//4369 5277//11376 5429//18866 +f 5702//6123 15551//18716 16794//7743 +f 17240//923 4067//872 17239//1005 +f 11644//13143 11566//18098 12651//18043 +f 16050//239 14815//1754 15909//1637 +f 3930//16490 3926//1580 15344//15841 +f 15224//713 15960//9140 14627//714 +f 14829//13914 14830//942 8118//941 +f 15915//20241 16057//20246 16056//19913 +f 15914//19910 15915//20241 16056//19913 +f 16057//20246 16200//20247 16199//19914 +f 16056//19913 16057//20246 16199//19914 +f 5607//17754 232//17895 8901//13756 +f 823//18314 15625//18319 15679//963 +f 17184//2350 1054//2349 189//2351 +f 22318//1147 22415//245 22317//8677 +f 15345//15840 3930//16490 15344//15841 +f 35740//4440 35559//12364 35890//6628 +f 11695//17090 11619//15646 13180//15645 +f 12089//17183 13182//16371 13180//15645 +f 28424//11649 28431//19880 30154//11965 +f 31789//16058 31788//20248 31688//14044 +f 22608//3194 22707//20212 22706//16261 +f 22607//16199 22608//3194 22706//16261 +f 24297//11349 26678//20249 26679//20250 +f 21653//8907 7294//21 7292//20 +f 15450//20251 15581//20252 15580//20213 +f 15449//17662 15450//20251 15580//20213 +f 15581//20252 15716//20253 15715//20214 +f 15580//20213 15581//20252 15715//20214 +f 15716//20253 15853//20254 15852//20215 +f 15715//20214 15716//20253 15852//20215 +f 15853//20254 15992//20255 15991//20216 +f 15852//20215 15853//20254 15991//20216 +f 15992//20255 16133//20256 16132//20217 +f 15991//20216 15992//20255 16132//20217 +f 16133//20256 16276//20257 16275//20218 +f 16132//20217 16133//20256 16275//20218 +f 16276//20257 16421//20258 16420//20219 +f 16275//20218 16276//20257 16420//20219 +f 16421//20258 16573//20259 16572//20220 +f 16420//20219 16421//20258 16572//20220 +f 16573//20259 16728//20260 16727//20221 +f 16572//20220 16573//20259 16727//20221 +f 16728//20260 16886//20261 16885//20222 +f 16727//20221 16728//20260 16885//20222 +f 16886//20261 17049//20262 17048//20223 +f 16885//20222 16886//20261 17048//20223 +f 17049//20262 17213//20263 17212//20224 +f 17048//20223 17049//20262 17212//20224 +f 17213//20263 4734//20264 4735//20225 +f 17212//20224 17213//20263 4735//20225 +f 4734//20264 2174//20265 2438//20226 +f 4735//20225 4734//20264 2438//20226 +f 2174//20265 3885//20266 3754//20227 +f 2438//20226 2174//20265 3754//20227 +f 3885//20266 4808//20267 4943//20228 +f 3754//20227 3885//20266 4943//20228 +f 4808//20267 1169//20268 44//20229 +f 4943//20228 4808//20267 44//20229 +f 3465//20269 36//20230 44//20229 +f 1169//20268 3465//20269 44//20229 +f 4669//20270 5073//20231 36//20230 +f 3465//20269 4669//20270 36//20230 +f 6780//20271 3742//20232 5073//20231 +f 4669//20270 6780//20271 5073//20231 +f 16784//20272 404//20233 3742//20232 +f 6780//20271 16784//20272 3742//20232 +f 16784//20272 14746//20273 15815//20234 +f 404//20233 16784//20272 15815//20234 +f 14746//20273 14844//20274 14843//20235 +f 15815//20234 14746//20273 14843//20235 +f 14844//20274 16327//20275 16326//20236 +f 14843//20235 14844//20274 16326//20236 +f 16327//20275 56//20276 174//20237 +f 16326//20236 16327//20275 174//20237 +f 56//20276 2533//20277 474//19634 +f 174//20237 56//20276 474//19634 +f 2533//20277 4921//20195 16317//19906 +f 474//19634 2533//20277 16317//19906 +f 16328//1461 5429//18866 15544//20278 +f 9769//10307 4369//6494 8999//13563 +f 15419//19003 15412//1675 14365//19278 +f 14366//18951 15419//19003 14365//19278 +f 16215//19047 16072//19046 5545//1200 +f 15901//19204 14597//18099 14528//2780 +f 30984//9640 30983//7935 30925//20279 +f 11216//6275 4236//6591 2752//6276 +f 16047//18158 16046//19737 15907//20280 +f 17553//20281 17554//20282 17647//20283 +f 4925//1220 5060//10329 15174//1218 +f 2016//1832 273//1831 3070//8980 +f 1713//2884 1597//5673 8482//10849 +f 467//454 2402//1986 2937//455 +f 16200//20247 16346//20284 16345//19915 +f 16199//19914 16200//20247 16345//19915 +f 16499//20285 16498//19942 16345//19915 +f 15232//18715 5834//4515 5833//13953 +f 16346//20284 16499//20285 16345//19915 +f 14741//1058 14640//19605 17186//2596 +f 16950//19376 15892//18851 14641//1057 +f 3979//8461 3158//314 4113//8462 +f 14578//9030 14670//149 14577//18310 +f 15551//18716 17121//20286 16794//7743 +f 16004//20287 16003//7283 25908//20288 +f 13136//14134 13231//14300 13135//10507 +f 16794//7743 17121//20286 15904//20242 +f 35853//1339 35798//3453 35447//1340 +f 35829//1946 35772//11907 35442//1947 +f 16170//20289 14526//20290 14527//20244 +f 2134//20243 16170//20289 14527//20244 +f 14526//20290 14681//20291 15544//20278 +f 14527//20244 14526//20290 15544//20278 +f 14681//20291 588//1462 16328//1461 +f 15544//20278 14681//20291 16328//1461 +f 15735//88 20328//14122 16169//89 +f 4234//20292 3846//2149 19309//20293 +f 16550//6139 16854//1764 16853//18717 +f 7165//10112 11557//10114 11631//15011 +f 15297//19567 3870//19911 14634//19583 +f 15015//18427 14540//18296 14705//19269 +f 16655//20294 16654//19943 16498//19942 +f 16499//20285 16655//20294 16498//19942 +f 16814//20295 16813//19944 16654//19943 +f 16655//20294 16814//20295 16654//19943 +f 16434//9226 16433//690 16288//821 +f 14625//19559 1304//19912 15297//19567 +f 16956//1452 15549//1451 15503//18975 +f 790//2705 135//2513 189//2351 +f 3930//16490 12827//1578 3926//1580 +f 547//7644 17111//1157 15357//6431 +f 20500//16747 20499//15622 12171//15683 +f 17083//1605 20012//15617 20500//16747 +f 35487//2817 26803//2819 35399//5185 +f 20301//1407 20386//18729 20300//20296 +f 22707//20212 22806//1208 22805//16379 +f 22508//15196 22509//9015 22607//16199 +f 20511//20297 20594//20298 20593//20299 +f 21741//2627 21836//3215 21835//2822 +f 15451//20300 15582//20301 15581//20252 +f 15450//20251 15451//20300 15581//20252 +f 15582//20301 15717//20302 15716//20253 +f 15581//20252 15582//20301 15716//20253 +f 15717//20302 15854//20303 15853//20254 +f 15716//20253 15717//20302 15853//20254 +f 15854//20303 15993//20304 15992//20255 +f 15853//20254 15854//20303 15992//20255 +f 15993//20304 16134//20305 16133//20256 +f 15992//20255 15993//20304 16133//20256 +f 16134//20305 16277//20306 16276//20257 +f 16133//20256 16134//20305 16276//20257 +f 16277//20306 16422//20307 16421//20258 +f 16276//20257 16277//20306 16421//20258 +f 16422//20307 16574//20308 16573//20259 +f 16421//20258 16422//20307 16573//20259 +f 16574//20308 16729//20309 16728//20260 +f 16573//20259 16574//20308 16728//20260 +f 16729//20309 16887//20310 16886//20261 +f 16728//20260 16729//20309 16886//20261 +f 16887//20310 17050//20311 17049//20262 +f 16886//20261 16887//20310 17049//20262 +f 17050//20311 17214//20312 17213//20263 +f 17049//20262 17050//20311 17213//20263 +f 17214//20312 4733//20313 4734//20264 +f 17213//20263 17214//20312 4734//20264 +f 4733//20313 2305//20314 2174//20265 +f 4734//20264 4733//20313 2174//20265 +f 2305//20314 3884//20315 3885//20266 +f 2174//20265 2305//20314 3885//20266 +f 3884//20315 5078//20316 4808//20267 +f 3885//20266 3884//20315 4808//20267 +f 5078//20316 4932//20317 1169//20268 +f 4808//20267 5078//20316 1169//20268 +f 1180//20318 3465//20269 1169//20268 +f 4932//20317 1180//20318 1169//20268 +f 4803//20319 4669//20270 3465//20269 +f 1180//20318 4803//20319 3465//20269 +f 4803//20319 6275//20320 6780//20271 +f 4669//20270 4803//20319 6780//20271 +f 6275//20320 677//20321 16784//20272 +f 6780//20271 6275//20320 16784//20272 +f 677//20321 14510//20322 14746//20273 +f 16784//20272 677//20321 14746//20273 +f 14510//20322 14845//20323 14844//20274 +f 14746//20273 14510//20322 14844//20274 +f 14845//20323 16329//20324 16327//20275 +f 14844//20274 14845//20323 16327//20275 +f 16329//20324 55//20325 56//20276 +f 16327//20275 16329//20324 56//20276 +f 55//20325 2799//20326 2533//20277 +f 56//20276 55//20325 2533//20277 +f 2022//9229 4921//20195 2533//20277 +f 2799//20326 2022//9229 2533//20277 +f 5146//9781 5147//9780 18383//9714 +f 2104//9958 2632//9957 2767//10183 +f 17158//19187 17151//19597 15412//1675 +f 21201//16499 19911//8514 34384//20327 +f 16072//19046 17157//18202 5545//1200 +f 52//18646 359//18645 16215//19047 +f 2309//11903 17185//764 14630//18719 +f 16103//19272 16102//709 2850//9300 +f 15767//19610 15768//20328 15906//14930 +f 5965//4517 5833//13953 5834//4515 +f 25851//20329 25850//20192 2264//17014 +f 16514//5882 14610//501 15969//500 +f 16361//19917 1304//19912 14625//19559 +f 15053//19528 16361//19917 14625//19559 +f 16978//20330 16977//19945 16813//19944 +f 16814//20295 16978//20330 16813//19944 +f 17144//20331 17143//19946 16977//19945 +f 16978//20330 17144//20331 16977//19945 +f 14716//19527 14626//19916 15053//19528 +f 14626//19916 16361//19917 15053//19528 +f 4690//3779 4826//3993 4825//3995 +f 10455//943 14831//14581 14833//20080 +f 15021//16783 13088//15810 12994//9462 +f 15551//18716 15232//18715 17121//20286 +f 35382//11625 35547//2503 35921//9885 +f 5291//3736 5292//1460 588//1462 +f 15624//20332 1655//20333 16170//20289 +f 14286//3660 35639//13369 35703//4775 +f 1655//20333 706//20334 14526//20290 +f 16170//20289 1655//20333 14526//20290 +f 706//20334 973//20335 14681//20291 +f 14526//20290 706//20334 14681//20291 +f 973//20335 5206//5740 588//1462 +f 14681//20291 973//20335 588//1462 +f 14584//405 19095//19267 14676//406 +f 11155//12609 6388//5384 11027//5516 +f 1377//8020 4415//2579 1611//2234 +f 273//1831 15937//19488 3070//8980 +f 16635//19855 14626//19916 14716//19527 +f 5418//1495 7438//3526 1833//9899 +f 6779//20336 6880//19947 17143//19946 +f 17144//20331 6779//20336 17143//19946 +f 6779//20336 3126//20337 2986//19975 +f 6880//19947 6779//20336 2986//19975 +f 3870//19911 471//2186 14634//19583 +f 3205//1099 17134//18595 16115//1100 +f 20127//17475 20046//17474 17508//17081 +f 6017//18369 16220//18347 1414//18358 +f 9892//13572 16400//5747 14762//13466 +f 20012//15617 20499//15622 20500//16747 +f 35514//1077 35633//729 35830//2156 +f 6095//6944 8311//6235 7426//10445 +f 18048//15967 11078//15966 19424//1534 +f 20447//5557 17968//18773 20448//16378 +f 22410//10369 22411//9014 22508//15196 +f 22509//9015 22608//3194 22607//16199 +f 21682//16078 19272//19854 20574//16079 +f 20722//16146 20721//9145 20640//9296 +f 21796//12456 15452//12455 15451//20300 +f 15451//20300 15450//20251 15322//17664 +f 15583//20338 15718//20339 15717//20302 +f 15582//20301 15583//20338 15717//20302 +f 15718//20339 15855//20340 15854//20303 +f 15717//20302 15718//20339 15854//20303 +f 15855//20340 15994//20341 15993//20304 +f 15854//20303 15855//20340 15993//20304 +f 15994//20341 16135//20342 16134//20305 +f 15993//20304 15994//20341 16134//20305 +f 16135//20342 16278//20343 16277//20306 +f 16134//20305 16135//20342 16277//20306 +f 16278//20343 16423//20344 16422//20307 +f 16277//20306 16278//20343 16422//20307 +f 16423//20344 16575//20345 16574//20308 +f 16422//20307 16423//20344 16574//20308 +f 16575//20345 16730//20346 16729//20309 +f 16574//20308 16575//20345 16729//20309 +f 16730//20346 16888//20347 16887//20310 +f 16729//20309 16730//20346 16887//20310 +f 16888//20347 17051//20348 17050//20311 +f 16887//20310 16888//20347 17050//20311 +f 17051//20348 17215//20349 17214//20312 +f 17050//20311 17051//20348 17214//20312 +f 17215//20349 4732//20350 4733//20313 +f 17214//20312 17215//20349 4733//20313 +f 4732//20350 2046//20351 2305//20314 +f 4733//20313 4732//20350 2305//20314 +f 2046//20351 3883//20352 3884//20315 +f 2305//20314 2046//20351 3884//20315 +f 3883//20352 4674//20353 5078//20316 +f 3884//20315 3883//20352 5078//20316 +f 4674//20353 1850//20354 4932//20317 +f 5078//20316 4674//20353 4932//20317 +f 1850//20354 2637//20355 1180//20318 +f 4932//20317 1850//20354 1180//20318 +f 2637//20355 4938//20356 4803//20319 +f 1180//20318 2637//20355 4803//20319 +f 4938//20356 3741//20357 6275//20320 +f 4803//20319 4938//20356 6275//20320 +f 3741//20357 16791//20358 677//20321 +f 6275//20320 3741//20357 677//20321 +f 16791//20358 14638//20359 14510//20322 +f 677//20321 16791//20358 14510//20322 +f 14638//20359 14846//20360 14845//20323 +f 14510//20322 14638//20359 14845//20323 +f 14846//20360 16332//20361 16329//20324 +f 14845//20323 14846//20360 16329//20324 +f 16332//20361 57//20362 55//20325 +f 16329//20324 16332//20361 55//20325 +f 3738//20363 2799//20326 55//20325 +f 57//20362 3738//20363 55//20325 +f 15433//1795 2022//9229 2799//20326 +f 3738//20363 15433//1795 2799//20326 +f 13468//15664 13276//8667 16026//19516 +f 1414//18358 16220//18347 16993//18346 +f 15419//19003 17158//19187 15412//1675 +f 14725//4279 16400//5747 15957//13843 +f 17157//18202 15901//19204 16044//2775 +f 17158//19187 14471//18434 14468//19275 +f 15503//18975 15892//18851 16950//19376 +f 16689//13388 14337//1129 15560//5325 +f 23943//20364 19766//17034 21568//20365 +f 1179//9208 6003//19449 500//19668 +f 15934//5883 16514//5882 15969//500 +f 2944//20366 19802//12080 30154//11965 +f 1304//19912 3870//19911 15297//19567 +f 296//939 3350//962 200//7560 +f 3126//20337 4282//20367 4150//19976 +f 17134//18595 5473//18231 16115//1100 +f 2986//19975 3126//20337 4150//19976 +f 4282//20367 4281//1607 89//9067 +f 4150//19976 4282//20367 1543//19977 +f 14085//15349 35797//2806 11809//19592 +f 31009//15865 31070//20368 31008//20369 +f 14442//18742 12294//13950 12378//17799 +f 16219//8254 16825//7542 16988//20370 +f 5425//3818 5290//3737 5206//5740 +f 16825//7542 16535//20371 15624//20332 +f 16988//20370 16825//7542 15624//20332 +f 16535//20371 15233//20372 1655//20333 +f 15624//20332 16535//20371 1655//20333 +f 15233//20372 14525//20373 706//20334 +f 1655//20333 15233//20372 706//20334 +f 14525//20373 15493//5739 973//20335 +f 706//20334 14525//20373 973//20335 +f 35934//3618 35685//3617 35357//8943 +f 973//20335 15493//5739 5206//5740 +f 2105//18624 15174//1218 15183//971 +f 20798//20374 20797//17547 20715//17526 +f 1493//1373 6798//1374 18284//9602 +f 15927//292 15928//291 16069//18949 +f 15035//18591 17134//18595 3205//1099 +f 14462//19554 16635//19855 14716//19527 +f 16259//16778 16260//19655 5607//17754 +f 6912//1091 4260//8682 53//9007 +f 6393//1952 2887//18682 15754//2286 +f 35577//6548 35658//6308 35875//1382 +f 14589//543 14603//18570 15773//544 +f 14160//1888 13300//10389 14258//10388 +f 14603//18570 14589//543 1298//1477 +f 15790//18572 8135//18573 2684//1261 +f 830//18568 14603//18570 1298//1477 +f 14603//18570 15790//18572 15773//544 +f 9680//745 2022//9229 9564//743 +f 16642//435 16799//434 16798//19851 +f 16621//16115 23270//16896 22463//20375 +f 20448//16378 20449//16220 20533//15508 +f 16620//20376 16621//16115 22463//20375 +f 6518//17131 212//14645 22463//20375 +f 21496//16323 22345//2160 21688//13131 +f 21781//15754 21496//16323 21688//13131 +f 11771//20377 23552//16483 25961//20378 +f 12993//16004 13087//15647 10448//16571 +f 15584//20379 15719//20380 15718//20339 +f 15583//20338 15584//20379 15718//20339 +f 15719//20380 15856//20381 15855//20340 +f 15718//20339 15719//20380 15855//20340 +f 15856//20381 15995//20382 15994//20341 +f 15855//20340 15856//20381 15994//20341 +f 15995//20382 16136//20383 16135//20342 +f 15994//20341 15995//20382 16135//20342 +f 16136//20383 16279//20384 16278//20343 +f 16135//20342 16136//20383 16278//20343 +f 16279//20384 16424//20385 16423//20344 +f 16278//20343 16279//20384 16423//20344 +f 16424//20385 16576//20386 16575//20345 +f 16423//20344 16424//20385 16575//20345 +f 16576//20386 16731//20387 16730//20346 +f 16575//20345 16576//20386 16730//20346 +f 16731//20387 16889//20388 16888//20347 +f 16730//20346 16731//20387 16888//20347 +f 16889//20388 17052//20389 17051//20348 +f 16888//20347 16889//20388 17051//20348 +f 17052//20389 17216//20390 17215//20349 +f 17051//20348 17052//20389 17215//20349 +f 17216//20390 4731//20391 4732//20350 +f 17215//20349 17216//20390 4732//20350 +f 4731//20391 1922//20392 2046//20351 +f 4732//20350 4731//20391 2046//20351 +f 1922//20392 4016//20393 3883//20352 +f 2046//20351 1922//20392 3883//20352 +f 4016//20393 5079//20394 4674//20353 +f 3883//20352 4016//20393 4674//20353 +f 1170//20395 1850//20354 4674//20353 +f 5079//20394 1170//20395 4674//20353 +f 1170//20395 5748//20396 2637//20355 +f 1850//20354 1170//20395 2637//20355 +f 5748//20396 1524//20397 4938//20356 +f 2637//20355 5748//20396 4938//20356 +f 1524//20397 6402//20398 3741//20357 +f 4938//20356 1524//20397 3741//20357 +f 6402//20398 1411//20399 16791//20358 +f 3741//20357 6402//20398 16791//20358 +f 1411//20399 14992//20400 14638//20359 +f 16791//20358 1411//20399 14638//20359 +f 14854//20401 14846//20360 14638//20359 +f 14992//20400 14854//20401 14638//20359 +f 16341//20402 16332//20361 14846//20360 +f 14854//20401 16341//20402 14846//20360 +f 1190//20403 57//20362 16332//20361 +f 16341//20402 1190//20403 16332//20361 +f 6650//20404 3738//20363 57//20362 +f 1190//20403 6650//20404 57//20362 +f 15563//20405 15433//1795 3738//20363 +f 6650//20404 15563//20405 3738//20363 +f 7344//13931 11378//13932 7348//13754 +f 15563//20405 2017//1796 15433//1795 +f 28991//12980 35946//6700 28590//10909 +f 28070//20406 24204//20407 14359//351 +f 17151//19597 17158//19187 14468//19275 +f 14471//18434 2414//18436 16175//19322 +f 9080//1634 15456//208 15436//9291 +f 9677//9329 3596//1249 15210//1521 +f 469//4908 940//1193 4233//1195 +f 13616//1919 15032//342 8156//4589 +f 15866//16413 16006//16381 14911//15719 +f 20697//20408 22342//16562 22356//13132 +f 14344//20409 14345//19427 14357//18814 +f 16070//181 1423//180 247//324 +f 945//18544 4136//18546 2400//1319 +f 830//18568 1298//1477 4002//1176 +f 14552//1047 15755//1953 6265//1614 +f 3874//19494 15162//9285 15623//9286 +f 16366//356 13037//17984 13132//15239 +f 3608//12077 9669//4427 348//8866 +f 16219//8254 8871//7540 16825//7542 +f 4019//19493 16668//7541 8871//7540 +f 16668//7541 15627//20410 16535//20371 +f 16825//7542 16668//7541 16535//20371 +f 15627//20410 15052//20411 15233//20372 +f 16535//20371 15627//20410 15233//20372 +f 15052//20411 15633//20412 14525//20373 +f 15233//20372 15052//20411 14525//20373 +f 15633//20412 618//10374 15493//5739 +f 14525//20373 15633//20412 15493//5739 +f 2105//18624 16243//970 1653//1163 +f 16243//970 2105//18624 15183//971 +f 2216//4666 5991//6845 6122//5849 +f 16822//9718 16663//19481 16664//15115 +f 20716//20201 20798//20374 20715//17526 +f 17010//19577 3069//18575 15829//18574 +f 15773//544 15790//18572 2684//1261 +f 14984//1240 15035//18591 3205//1099 +f 14674//18350 14675//407 14780//18353 +f 14781//559 14894//1436 14893//18354 +f 9794//14686 1892//6035 278//13278 +f 14780//18353 14781//559 14893//18354 +f 20720//1649 20721//9145 20802//9146 +f 14373//352 14374//18430 14388//5749 +f 1684//3201 261//2995 1568//4138 +f 21112//9154 21111//1211 21025//1210 +f 945//18544 2400//1319 583//1318 +f 2800//18541 945//18544 583//1318 +f 3665//8107 6770//8106 1388//8197 +f 16405//17896 16556//19695 232//17895 +f 23396//1937 15631//1936 23395//16065 +f 15631//1936 15865//2592 15866//16413 +f 23270//16896 6518//17131 22463//20375 +f 1018//16495 37//20413 13474//15649 +f 14629//14084 16850//19030 21570//2161 +f 9645//15269 22529//14789 22528//17893 +f 20777//11041 20859//7826 20858//7825 +f 13474//15649 13378//19569 10448//16571 +f 15585//20414 15720//20415 15719//20380 +f 13178//14929 15583//20338 15452//12455 +f 15720//20415 15857//20416 15856//20381 +f 15719//20380 15720//20415 15856//20381 +f 15857//20416 15996//20417 15995//20382 +f 15856//20381 15857//20416 15995//20382 +f 15996//20417 16137//20418 16136//20383 +f 15995//20382 15996//20417 16136//20383 +f 16137//20418 16280//20419 16279//20384 +f 16136//20383 16137//20418 16279//20384 +f 16280//20419 16425//20420 16424//20385 +f 16279//20384 16280//20419 16424//20385 +f 16425//20420 16577//20421 16576//20386 +f 16424//20385 16425//20420 16576//20386 +f 16577//20421 16732//20422 16731//20387 +f 16576//20386 16577//20421 16731//20387 +f 16732//20422 16890//20423 16889//20388 +f 16731//20387 16732//20422 16889//20388 +f 16890//20423 17053//20424 17052//20389 +f 16889//20388 16890//20423 17052//20389 +f 17217//20425 17216//20390 17052//20389 +f 17053//20424 17217//20425 17052//20389 +f 4730//20426 4731//20391 17216//20390 +f 17217//20425 4730//20426 17216//20390 +f 4730//20426 1803//20427 1922//20392 +f 4731//20391 4730//20426 1922//20392 +f 1803//20427 4015//20428 4016//20393 +f 1922//20392 1803//20427 4016//20393 +f 4015//20428 5348//20429 5079//20394 +f 4016//20393 4015//20428 5079//20394 +f 5348//20429 2614//20430 1170//20395 +f 5079//20394 5348//20429 1170//20395 +f 2614//20430 5614//20431 5748//20396 +f 1170//20395 2614//20430 5748//20396 +f 5614//20431 1642//20432 1524//20397 +f 5748//20396 5614//20431 1524//20397 +f 1642//20432 6401//20433 6402//20398 +f 1524//20397 1642//20432 6402//20398 +f 2933//20434 1411//20399 6402//20398 +f 6401//20433 2933//20434 6402//20398 +f 15138//20435 14992//20400 1411//20399 +f 2933//20434 15138//20435 1411//20399 +f 14856//20436 14854//20401 14992//20400 +f 15138//20435 14856//20436 14992//20400 +f 16358//20437 16341//20402 14854//20401 +f 14856//20436 16358//20437 14854//20401 +f 2015//20438 1190//20403 16341//20402 +f 16358//20437 2015//20438 16341//20402 +f 1765//20439 6650//20404 1190//20403 +f 2015//20438 1765//20439 1190//20403 +f 14735//20440 15563//20405 6650//20404 +f 1765//20439 14735//20440 6650//20404 +f 15889//8985 2017//1796 15563//20405 +f 14735//20440 15889//8985 15563//20405 +f 6641//20441 19108//9460 826//439 +f 11345//12725 14902//1172 1286//12635 +f 14468//19275 14471//18434 16175//19322 +f 16987//805 14725//4279 15160//806 +f 22227//4652 22323//4654 22226//2425 +f 2414//18436 14837//19142 16957//19324 +f 6//9008 4230//738 5827//4907 +f 15479//6314 15162//9285 3874//19494 +f 22345//2160 22443//2162 21595//15843 +f 54//4906 6//9008 5827//4907 +f 16799//434 16961//346 16960//8491 +f 15518//520 15519//519 15653//15201 +f 4136//18546 830//18568 4002//1176 +f 16798//19851 16799//434 16960//8491 +f 15131//1568 15130//19775 15007//19814 +f 388//18519 2800//18541 389//1112 +f 4332//624 1684//3201 4199//3961 +f 5423//8810 5287//10231 5288//10306 +f 15008//1566 15131//1568 15007//19814 +f 9412//4893 4019//19493 8871//7540 +f 4019//19493 14695//20442 15627//20410 +f 16668//7541 4019//19493 15627//20410 +f 14695//20442 16315//20443 15052//20411 +f 15627//20410 14695//20442 15052//20411 +f 16315//20443 14609//20444 15633//20412 +f 15052//20411 16315//20443 15633//20412 +f 14609//20444 14660//20445 618//10374 +f 15633//20412 14609//20444 618//10374 +f 14660//20445 14804//10233 16049//8812 +f 618//10374 14660//20445 16049//8812 +f 14804//10233 5423//8810 16049//8812 +f 14829//13914 10359//13734 14828//14327 +f 29010//12768 47//14654 23955//15194 +f 5990//2055 5859//7341 3035//7437 +f 8135//18573 15035//18591 14984//1240 +f 2684//1261 8135//18573 14984//1240 +f 5751//18517 388//18519 5752//553 +f 4136//18546 4002//1176 2400//1319 +f 3591//1334 17030//9158 17194//1335 +f 1721//9654 1603//576 1621//575 +f 11495//9059 33542//9061 11561//14494 +f 35921//9885 35637//2505 35905//9308 +f 12439//14749 27786//20206 12529//14748 +f 858//18492 5751//18517 859//415 +f 15246//811 14159//13952 14064//1889 +f 16662//281 16821//19407 16820//312 +f 15891//18850 14640//19605 14741//1058 +f 15312//10165 4392//7754 4650//5449 +f 11188//13231 229//5689 5045//5552 +f 12781//16786 15631//1936 15866//16413 +f 23102//1196 23103//127 23200//20082 +f 13473//15648 1018//16495 13474//15649 +f 1018//16495 16621//16115 16620//20376 +f 16963//19510 16962//347 16801//19539 +f 22839//15755 21781//15754 22260//13130 +f 71//15650 13474//15649 10448//16571 +f 37//20413 13015//19570 13378//19569 +f 15586//19738 15721//20446 15720//20415 +f 15585//20414 15719//20380 15584//20379 +f 15721//20446 15858//20447 15857//20416 +f 15720//20415 15721//20446 15857//20416 +f 15858//20447 15997//20448 15996//20417 +f 15857//20416 15858//20447 15996//20417 +f 15997//20448 16138//20449 16137//20418 +f 15996//20417 15997//20448 16137//20418 +f 16138//20449 16281//20450 16280//20419 +f 16137//20418 16138//20449 16280//20419 +f 16281//20450 16426//20451 16425//20420 +f 16280//20419 16281//20450 16425//20420 +f 16578//20452 16577//20421 16425//20420 +f 16426//20451 16578//20452 16425//20420 +f 16733//20453 16732//20422 16577//20421 +f 16578//20452 16733//20453 16577//20421 +f 16733//20453 16891//20454 16890//20423 +f 16732//20422 16733//20453 16890//20423 +f 16891//20454 17054//20455 17053//20424 +f 16890//20423 16891//20454 17053//20424 +f 17054//20455 17218//20456 17217//20425 +f 17053//20424 17054//20455 17217//20425 +f 17218//20456 4729//20457 4730//20426 +f 17217//20425 17218//20456 4730//20426 +f 4729//20457 1687//20458 1803//20427 +f 4730//20426 4729//20457 1803//20427 +f 4147//20459 4015//20428 1803//20427 +f 1687//20458 4147//20459 1803//20427 +f 5213//20460 5348//20429 4015//20428 +f 4147//20459 5213//20460 4015//20428 +f 5213//20460 4915//20461 2614//20430 +f 5348//20429 5213//20460 2614//20430 +f 4915//20461 5479//20462 5614//20431 +f 2614//20430 4915//20461 5614//20431 +f 5479//20462 6389//20463 1642//20432 +f 5614//20431 5479//20462 1642//20432 +f 6389//20463 3872//20464 6401//20433 +f 1642//20432 6389//20463 6401//20433 +f 2524//20465 2933//20434 6401//20433 +f 3872//20464 2524//20465 6401//20433 +f 2122//20466 15138//20435 2933//20434 +f 2524//20465 2122//20466 2933//20434 +f 14860//20467 14856//20436 15138//20435 +f 2122//20466 14860//20467 15138//20435 +f 16360//20468 16358//20437 14856//20436 +f 14860//20467 16360//20468 14856//20436 +f 1418//20469 2015//20438 16358//20437 +f 16360//20468 1418//20469 16358//20437 +f 1303//20470 1765//20439 2015//20438 +f 1418//20469 1303//20470 2015//20438 +f 14635//20471 14735//20440 1765//20439 +f 1303//20470 14635//20471 1765//20439 +f 14635//20471 142//18226 15889//8985 +f 14735//20440 14635//20471 15889//8985 +f 4329//1960 4328//661 17246//651 +f 14762//13466 14657//211 7109//213 +f 14725//4279 15957//13843 15160//806 +f 1213//5462 6250//612 2490//7726 +f 16175//19322 2414//18436 16957//19324 +f 14837//19142 5138//18748 16708//19325 +f 16942//19182 15435//19375 14817//5047 +f 15510//13676 15511//18921 15645//4905 +f 500//19668 6003//19449 499//4754 +f 4230//738 940//1193 469//4908 +f 3076//529 2936//12396 710//9354 +f 14160//1888 15119//4143 15246//811 +f 5422//10232 14804//10233 15759//20472 +f 17127//348 4118//2983 299//13004 +f 2685//18488 858//18492 1328//1908 +f 5751//18517 5752//553 859//415 +f 15505//824 15640//832 15639//20159 +f 27786//20206 12530//15522 12529//14748 +f 15640//832 15777//1756 15776//20209 +f 15639//20159 15640//832 15776//20209 +f 14756//19594 14869//17230 10098//11723 +f 14756//19594 10098//11723 14867//11724 +f 4681//19568 15417//18982 16315//20443 +f 14695//20442 4681//19568 16315//20443 +f 15417//18982 1650//4565 14609//20444 +f 16315//20443 15417//18982 14609//20444 +f 1650//4565 16173//20473 14660//20445 +f 14609//20444 1650//4565 14660//20445 +f 16173//20473 15759//20472 14804//10233 +f 14660//20445 16173//20473 14804//10233 +f 15480//10014 5422//10232 15759//20472 +f 8269//14026 11251//10397 11378//13932 +f 18732//12699 22826//20474 22827//1314 +f 11345//12725 7313//12809 9803//12726 +f 16335//19315 21980//20475 1060//20476 +f 35421//8016 35408//8562 35605//4265 +f 2987//18486 2685//18488 3127//413 +f 2800//18541 583//1318 389//1112 +f 15777//1756 15916//9223 15915//20241 +f 15776//20209 15777//1756 15915//20241 +f 15916//9223 16058//8695 16057//20246 +f 15915//20241 15916//9223 16057//20246 +f 2685//18488 1328//1908 3127//413 +f 16058//8695 16201//8697 16200//20247 +f 21688//13131 22345//2160 21595//15843 +f 388//18519 389//1112 5752//553 +f 5429//18866 16328//1461 5294//4346 +f 1640//2213 19595//15169 19779//15592 +f 21050//20477 22357//20478 33807//20479 +f 17609//19808 20308//14591 17608//14593 +f 23201//2416 23299//2093 23298//16064 +f 20941//13494 18537//13493 20942//18396 +f 37//20413 1018//16495 16620//20376 +f 23200//20082 23201//2416 23298//16064 +f 22245//2437 22839//15755 22260//13130 +f 21005//16970 20922//14646 212//14645 +f 13474//15649 37//20413 13378//19569 +f 22342//16562 22245//2437 22260//13130 +f 15586//19738 21006//20480 13271//19739 +f 16620//20376 16619//19690 13015//19570 +f 15859//20481 15858//20447 15721//20446 +f 27755//3084 35699//3083 27870//3977 +f 15859//20481 15998//20482 15997//20448 +f 15858//20447 15859//20481 15997//20448 +f 15998//20482 16139//20483 16138//20449 +f 15997//20448 15998//20482 16138//20449 +f 16139//20483 16282//20484 16281//20450 +f 16138//20449 16139//20483 16281//20450 +f 16282//20484 16427//20485 16426//20451 +f 16281//20450 16282//20484 16426//20451 +f 16427//20485 16579//20486 16578//20452 +f 16426//20451 16427//20485 16578//20452 +f 16579//20486 16734//20487 16733//20453 +f 16578//20452 16579//20486 16733//20453 +f 16892//20488 16891//20454 16733//20453 +f 16734//20487 16892//20488 16733//20453 +f 17055//20489 17054//20455 16891//20454 +f 16892//20488 17055//20489 16891//20454 +f 17055//20489 17219//20490 17218//20456 +f 17054//20455 17055//20489 17218//20456 +f 17219//20490 4602//20491 4729//20457 +f 17218//20456 17219//20490 4729//20457 +f 1571//20492 1687//20458 4729//20457 +f 4602//20491 1571//20492 4729//20457 +f 4146//20493 4147//20459 1687//20458 +f 1571//20492 4146//20493 1687//20458 +f 4146//20493 5482//20494 5213//20460 +f 4147//20459 4146//20493 5213//20460 +f 5482//20494 4672//20495 4915//20461 +f 5213//20460 5482//20494 4915//20461 +f 4672//20495 6151//20496 5479//20462 +f 4915//20461 4672//20495 5479//20462 +f 114//20497 6389//20463 5479//20462 +f 6151//20496 114//20497 5479//20462 +f 6778//20498 3872//20464 6389//20463 +f 114//20497 6778//20498 6389//20463 +f 2660//20499 2524//20465 3872//20464 +f 6778//20498 2660//20499 3872//20464 +f 14639//20500 2122//20466 2524//20465 +f 2660//20499 14639//20500 2524//20465 +f 14861//20501 14860//20467 2122//20466 +f 14639//20500 14861//20501 2122//20466 +f 16365//20502 16360//20468 14860//20467 +f 14861//20501 16365//20502 14860//20467 +f 1302//20503 1418//20469 16360//20468 +f 16365//20502 1302//20503 16360//20468 +f 15487//20504 1303//20470 1418//20469 +f 1302//20503 15487//20504 1418//20469 +f 15487//20504 1777//20505 14635//20471 +f 1303//20470 15487//20504 14635//20471 +f 1777//20505 5088//20506 142//18226 +f 14635//20471 1777//20505 142//18226 +f 10141//8982 11391//10442 6148//14385 +f 5088//20506 3483//8983 142//18226 +f 7967//13378 7850//5676 1159//4489 +f 14286//3660 35703//4775 11237//6144 +f 16957//19324 14837//19142 16708//19325 +f 12395//14019 1066//16611 6140//14020 +f 2136//19346 14551//18495 2008//18304 +f 14623//8820 15139//9472 14896//19297 +f 22416//166 22514//157 22513//246 +f 15732//829 1389//571 11258//1583 +f 3663//1017 2613//1016 15934//5883 +f 2936//12396 1065//9355 710//9354 +f 14630//18719 8155//8080 13801//12233 +f 11409//809 13296//1182 10587//17021 +f 2987//18486 3127//413 2621//412 +f 75//18463 2987//18486 2621//412 +f 16057//20246 16058//8695 16200//20247 +f 16347//8696 16346//20284 16200//20247 +f 16201//8697 16347//8696 16200//20247 +f 16500//8817 16499//20285 16346//20284 +f 4365//1518 7682//3926 4246//3927 +f 5285//10013 5284//9929 5150//10011 +f 35567//2336 35587//13333 35687//7556 +f 4681//19568 975//9442 15417//18982 +f 12133//8119 35784//184 35886//1949 +f 813//7162 6254//773 223//167 +f 14608//4564 15169//20507 16173//20473 +f 1650//4565 14608//4564 16173//20473 +f 15169//20507 5087//20508 15759//20472 +f 16173//20473 15169//20507 15759//20472 +f 5087//20508 15350//10012 15480//10014 +f 15759//20472 5087//20508 15480//10014 +f 7802//10694 8781//10693 7918//10795 +f 12647//1455 1969//1489 1833//9899 +f 792//965 14537//11583 15679//963 +f 27060//11879 28375//13982 28374//14334 +f 75//18463 2621//412 17136//808 +f 858//18492 859//415 1328//1908 +f 16347//8696 16500//8817 16346//20284 +f 16656//8320 16655//20294 16499//20285 +f 16500//8817 16656//8320 16499//20285 +f 17137//18461 17136//808 16970//810 +f 16815//8908 16814//20295 16655//20294 +f 10149//13474 2386//17158 9336//3152 +f 16971//2240 17137//18461 16970//810 +f 29769//2033 29768//2035 29635//18603 +f 30159//20128 2944//20366 30154//11965 +f 29636//9992 29769//2033 29635//18603 +f 30643//20509 30638//12179 19802//12080 +f 21302//16969 22630//9133 22432//9132 +f 14253//20510 25395//20511 25390//20512 +f 23396//1937 23395//16065 23298//16064 +f 23005//128 23103//127 23004//1197 +f 6518//17131 21005//16970 212//14645 +f 12780//16823 1059//8540 20922//14646 +f 21781//15754 21688//13131 22260//13130 +f 22245//2437 22342//16562 12546//3036 +f 37//20413 16620//20376 13015//19570 +f 16620//20376 22463//20375 13895//18292 +f 31018//19707 11425//16239 31080//13397 +f 35793//3572 1616//5534 35578//1166 +f 33054//16624 33159//17315 33053//20513 +f 33264//2566 33263//3336 33158//2946 +f 16140//20514 16139//20483 15998//20482 +f 15999//20515 16140//20514 15998//20482 +f 16283//20516 16282//20484 16139//20483 +f 16140//20514 16283//20516 16139//20483 +f 16283//20516 16428//20517 16427//20485 +f 16282//20484 16283//20516 16427//20485 +f 16580//20518 16579//20486 16427//20485 +f 16428//20517 16580//20518 16427//20485 +f 16735//20519 16734//20487 16579//20486 +f 16580//20518 16735//20519 16579//20486 +f 16735//20519 16893//20520 16892//20488 +f 16734//20487 16735//20519 16892//20488 +f 17056//20521 17055//20489 16892//20488 +f 16893//20520 17056//20521 16892//20488 +f 17220//20522 17219//20490 17055//20489 +f 17056//20521 17220//20522 17055//20489 +f 17220//20522 4595//20523 4602//20491 +f 17219//20490 17220//20522 4602//20491 +f 4595//20523 2437//20524 1571//20492 +f 4602//20491 4595//20523 1571//20492 +f 2437//20524 4278//20525 4146//20493 +f 1571//20492 2437//20524 4146//20493 +f 5618//20526 5482//20494 4146//20493 +f 4278//20525 5618//20526 4146//20493 +f 5618//20526 4806//20527 4672//20495 +f 5482//20494 5618//20526 4672//20495 +f 1068//20528 6151//20496 4672//20495 +f 4806//20527 1068//20528 4672//20495 +f 2360//20529 114//20497 6151//20496 +f 1068//20528 2360//20529 6151//20496 +f 6400//20530 6778//20498 114//20497 +f 2360//20529 6400//20530 114//20497 +f 6400//20530 2659//20531 2660//20499 +f 6778//20498 6400//20530 2660//20499 +f 2659//20531 1563//20532 14639//20500 +f 2660//20499 2659//20531 14639//20500 +f 1563//20532 14866//20533 14861//20501 +f 14639//20500 1563//20532 14861//20501 +f 14866//20533 16382//20534 16365//20502 +f 14861//20501 14866//20533 16365//20502 +f 16382//20534 1299//20535 1302//20503 +f 16365//20502 16382//20534 1302//20503 +f 1299//20535 15497//20536 15487//20504 +f 1302//20503 1299//20535 15487//20504 +f 15497//20536 5272//20537 1777//20505 +f 15487//20504 15497//20536 1777//20505 +f 5085//20538 5088//20506 1777//20505 +f 5272//20537 5085//20538 1777//20505 +f 10992//1789 3483//8983 5088//20506 +f 5085//20538 10992//1789 5088//20506 +f 35422//3047 35631//7552 35593//3048 +f 15894//19771 5688//10089 17952//20539 +f 5138//18748 17011//18889 17010//19577 +f 11097//9339 2346//5416 9341//6107 +f 14477//19359 14591//9138 15960//9140 +f 2622//19537 124//19576 3664//19416 +f 16473//18576 16474//19810 16788//5597 +f 4547//9397 1875//5754 16073//4287 +f 4415//2579 42//7024 3537//2577 +f 14651//17200 14755//19770 14650//18803 +f 33923//505 34194//504 22522//700 +f 16029//9198 14612//3389 5433//5527 +f 19093//15204 19195//20540 19092//20541 +f 13385//2239 16808//18458 16971//2240 +f 16656//8320 16815//8908 16655//20294 +f 16979//8809 16978//20330 16814//20295 +f 16815//8908 16979//8809 16814//20295 +f 17145//8551 17144//20331 16978//20330 +f 176//517 177//456 14068//515 +f 813//7162 223//167 707//169 +f 35640//1598 10489//1597 35617//3487 +f 5691//4563 3221//1158 14608//4564 +f 14597//18099 11644//13143 15291//13142 +f 14755//19770 7693//18539 14650//18803 +f 3221//1158 15912//20542 15169//20507 +f 14608//4564 3221//1158 15169//20507 +f 15912//20542 15265//20543 5087//20508 +f 15169//20507 15912//20542 5087//20508 +f 15265//20543 15613//9857 15350//10012 +f 5087//20508 15265//20543 15350//10012 +f 35669//1286 35744//17747 35613//14035 +f 18718//20544 15928//291 1387//14330 +f 4118//2983 3537//2577 3665//8107 +f 122//19464 99//3399 21286//18453 +f 5296//895 5277//11376 5295//4369 +f 17137//18461 75//18463 17136//808 +f 16979//8809 17145//8551 16978//20330 +f 17145//8551 166//8552 6779//20336 +f 17144//20331 17145//8551 6779//20336 +f 166//8552 2848//8541 3126//20337 +f 5457//2953 15688//2575 5322//7945 +f 18965//20545 19066//20546 19535//20547 +f 29898//2034 29897//4432 29768//2035 +f 33607//6423 33734//16470 33606//13821 +f 2944//20366 30643//20509 19802//12080 +f 20719//1650 20720//1649 20801//16202 +f 18156//20548 18155//20549 18064//20550 +f 14812//19266 16858//19557 15491//15317 +f 23103//127 23201//2416 23200//20082 +f 22509//9015 22510//2244 22608//3194 +f 21005//16970 12780//16823 20922//14646 +f 12780//16823 20310//16966 20289//2432 +f 13008//3040 22245//2437 12546//3036 +f 21213//1317 1872//16860 9631//9289 +f 16619//19690 16620//20376 13895//18292 +f 212//14645 1879//14647 13895//18292 +f 23297//15997 23296//16520 23198//15998 +f 23002//13506 23003//15950 23100//15952 +f 33159//17315 33264//2566 33158//2946 +f 11425//16239 31018//19707 11476//16234 +f 16000//20551 16141//20552 16140//20514 +f 15999//20515 16000//20551 16140//20514 +f 16284//20553 16283//20516 16140//20514 +f 16141//20552 16284//20553 16140//20514 +f 16429//20554 16428//20517 16283//20516 +f 16284//20553 16429//20554 16283//20516 +f 16581//20555 16580//20518 16428//20517 +f 16429//20554 16581//20555 16428//20517 +f 16736//20556 16735//20519 16580//20518 +f 16581//20555 16736//20556 16580//20518 +f 16894//20557 16893//20520 16735//20519 +f 16736//20556 16894//20557 16735//20519 +f 17057//20558 17056//20521 16893//20520 +f 16894//20557 17057//20558 16893//20520 +f 17221//20559 17220//20522 17056//20521 +f 17057//20558 17221//20559 17056//20521 +f 4596//20560 4595//20523 17220//20522 +f 17221//20559 4596//20560 17220//20522 +f 2173//20561 2437//20524 4595//20523 +f 4596//20560 2173//20561 4595//20523 +f 5627//20562 4278//20525 2437//20524 +f 2173//20561 5627//20562 2437//20524 +f 5617//20563 5618//20526 4278//20525 +f 5627//20562 5617//20563 4278//20525 +f 5617//20563 4539//20564 4806//20527 +f 5618//20526 5617//20563 4806//20527 +f 2382//20565 1068//20528 4806//20527 +f 4539//20564 2382//20565 4806//20527 +f 2382//20565 1157//20566 2360//20529 +f 1068//20528 2382//20565 2360//20529 +f 4005//20567 6400//20530 2360//20529 +f 1157//20566 4005//20567 2360//20529 +f 2795//20568 2659//20531 6400//20530 +f 4005//20567 2795//20568 6400//20530 +f 2795//20568 15628//20569 1563//20532 +f 2659//20531 2795//20568 1563//20532 +f 15628//20569 14875//20570 14866//20533 +f 1563//20532 15628//20569 14866//20533 +f 14875//20570 16403//20571 16382//20534 +f 14866//20533 14875//20570 16382//20534 +f 16403//20571 1182//20572 1299//20535 +f 16382//20534 16403//20571 1299//20535 +f 1182//20572 15521//20573 15497//20536 +f 1299//20535 1182//20572 15497//20536 +f 15521//20573 16846//20574 5272//20537 +f 15497//20536 15521//20573 5272//20537 +f 16846//20574 14600//20575 5085//20538 +f 5272//20537 16846//20574 5085//20538 +f 14600//20575 28//1790 10992//1789 +f 5085//20538 14600//20575 10992//1789 +f 5459//7003 2226//4557 3588//4559 +f 11888//12360 13782//17753 12226//17812 +f 16708//19325 5138//18748 17010//19577 +f 17011//18889 77//18684 3069//18575 +f 12135//17880 12218//12607 15168//1514 +f 15736//15621 20413//150 1145//16370 +f 14431//18431 16249//9363 15055//9365 +f 14412//19824 16362//19856 16074//19485 +f 15694//19027 15696//1615 16103//19272 +f 20880//20576 20879//17554 20797//17547 +f 35375//15260 35608//6450 35597//6452 +f 16068//18412 16211//507 16210//506 +f 13569//16501 13668//2074 13304//8669 +f 11796//19205 11800//77 12832//18148 +f 6779//20336 166//8552 3126//20337 +f 16702//8747 3208//18414 16548//18384 +f 2848//8541 4281//1607 4282//20367 +f 3126//20337 2848//8541 4282//20367 +f 2749//3441 9655//6108 3963//4084 +f 4282//20367 89//9067 1543//19977 +f 7783//12160 916//4723 915//7067 +f 14721//1214 16992//18597 15115//1215 +f 12222//14022 10575//13469 13209//17417 +f 16165//16965 15345//15840 16023//15842 +f 16162//4424 16459//4571 17088//18452 +f 14707//1160 5625//19772 15912//20542 +f 3221//1158 14707//1160 15912//20542 +f 5625//19772 3495//20577 15265//20543 +f 15912//20542 5625//19772 15265//20543 +f 3495//20577 14596//8311 15613//9857 +f 15265//20543 3495//20577 15613//9857 +f 4392//7754 15311//18419 5334//7738 +f 7967//13378 1159//4489 1276//2897 +f 14581//445 14582//19818 14673//3196 +f 2779//3722 2778//3721 2643//6399 +f 25658//20081 14390//17804 14374//18430 +f 24663//5353 23492//5354 20905//20578 +f 15888//20579 5280//9715 14631//8312 +f 14764//1619 2710//1618 14439//18465 +f 2262//6307 2130//737 1737//736 +f 14894//1436 15014//20580 15013//18378 +f 9453//3554 15704//19825 15703//13472 +f 14582//19818 14674//18350 14673//3196 +f 27142//13319 6537//8917 19244//17136 +f 12143//2101 4419//17216 11562//2102 +f 20802//9146 20884//20581 20883//16304 +f 22030//1142 22126//1144 22125//8808 +f 21025//1210 21024//1212 20941//13494 +f 28729//1984 6875//2146 28730//4302 +f 22609//1150 22708//1152 22707//20212 +f 27142//13319 7401//8916 6537//8917 +f 1059//8540 12780//16823 20289//2432 +f 22608//3194 22609//1150 22707//20212 +f 17107//9017 21213//1317 9631//9289 +f 21068//15710 7065//8021 20728//9027 +f 22463//20375 212//14645 13895//18292 +f 22928//1301 15279//14773 1872//16860 +f 23101//15951 23199//15996 23198//15998 +f 1059//8540 20289//2432 20281//2431 +f 25724//20582 23876//20583 30777//20584 +f 23100//15952 23101//15951 23198//15998 +f 16142//20585 16141//20552 16000//20551 +f 16001//20586 16142//20585 16000//20551 +f 16142//20585 16285//20587 16284//20553 +f 16141//20552 16142//20585 16284//20553 +f 16430//20588 16429//20554 16284//20553 +f 16285//20587 16430//20588 16284//20553 +f 16582//20589 16581//20555 16429//20554 +f 16430//20588 16582//20589 16429//20554 +f 16582//20589 16737//20590 16736//20556 +f 16581//20555 16582//20589 16736//20556 +f 16737//20590 16895//20591 16894//20557 +f 16736//20556 16737//20590 16894//20557 +f 17058//20592 17057//20558 16894//20557 +f 16895//20591 17058//20592 16894//20557 +f 17222//20593 17221//20559 17057//20558 +f 17058//20592 17222//20593 17057//20558 +f 4597//20594 4596//20560 17221//20559 +f 17222//20593 4597//20594 17221//20559 +f 1921//20595 2173//20561 4596//20560 +f 4597//20594 1921//20595 4596//20560 +f 5491//20596 5627//20562 2173//20561 +f 1921//20595 5491//20596 2173//20561 +f 1155//20597 5617//20563 5627//20562 +f 5491//20596 1155//20597 5627//20562 +f 4406//20598 4539//20564 5617//20563 +f 1155//20597 4406//20598 5617//20563 +f 4406//20598 2006//20599 2382//20565 +f 4539//20564 4406//20598 2382//20565 +f 2006//20599 2362//20600 1157//20566 +f 2382//20565 2006//20599 1157//20566 +f 2362//20600 6777//20601 4005//20567 +f 1157//20566 2362//20600 4005//20567 +f 6777//20601 2390//20602 2795//20568 +f 4005//20567 6777//20601 2795//20568 +f 2390//20602 14354//20603 15628//20569 +f 2795//20568 2390//20602 15628//20569 +f 14354//20603 14877//20604 14875//20570 +f 15628//20569 14354//20603 14875//20570 +f 14877//20604 16404//20605 16403//20571 +f 14875//20570 14877//20604 16403//20571 +f 16404//20605 472//20606 1182//20572 +f 16403//20571 16404//20605 1182//20572 +f 472//20606 15543//20607 15521//20573 +f 1182//20572 472//20606 15521//20573 +f 15543//20607 3215//20608 16846//20574 +f 15521//20573 15543//20607 16846//20574 +f 3215//20608 16114//20609 14600//20575 +f 16846//20574 3215//20608 14600//20575 +f 16114//20609 82//15090 28//1790 +f 14600//20575 16114//20609 28//1790 +f 13139//14028 13045//14030 13046//9135 +f 35461//9064 35392//2754 35505//4453 +f 17010//19577 17011//18889 3069//18575 +f 77//18684 52//18646 16474//19810 +f 52//18646 16215//19047 3125//5598 +f 3069//18575 77//18684 16474//19810 +f 3662//18457 3871//18643 14901//18988 +f 16474//19810 52//18646 3125//5598 +f 15055//9365 5869//9364 5176//19492 +f 10024//1791 822//13439 10141//8982 +f 3069//18575 16474//19810 16473//18576 +f 5869//9364 14412//19824 5176//19492 +f 16169//89 16168//16389 2254//4573 +f 16238//18800 16239//4282 16105//117 +f 18787//20610 18886//20611 18885//20612 +f 35366//6549 14176//16264 35370//6244 +f 16236//9113 13813//1732 10094//18867 +f 14674//18350 14780//18353 14779//18351 +f 16622//278 1875//5754 16943//9398 +f 14893//18354 14894//1436 15013//18378 +f 14701//19357 15621//19356 15395//7533 +f 17794//20613 19768//20614 5224//3030 +f 17840//20615 18915//20616 18488//20617 +f 1187//18649 15623//9286 616//6311 +f 8196//14620 6990//1080 9566//11536 +f 16317//19906 7417//8956 9116//14744 +f 35369//4130 35441//8007 35549//15642 +f 4945//18980 694//5723 1975//5725 +f 15894//19771 16554//20618 3495//20577 +f 5625//19772 15894//19771 3495//20577 +f 16554//20618 15888//20579 14596//8311 +f 3495//20577 16554//20618 14596//8311 +f 15888//20579 15749//9580 5280//9715 +f 14596//8311 15888//20579 14631//8312 +f 14502//791 14503//790 14581//445 +f 23207//176 23206//1915 23108//2605 +f 15013//18378 15014//20580 15136//3025 +f 15277//16391 12363//9478 13848//8800 +f 15096//18929 14944//19227 15222//18930 +f 15014//20580 19435//2547 18527//2546 +f 27525//20619 27496//12260 30638//12179 +f 23109//585 23207//176 23108//2605 +f 12963//9036 4419//17216 12143//2101 +f 10238//13737 14821//15060 7006//14326 +f 30352//9152 28430//17935 28310//17934 +f 12804//23 12963//9036 12143//2101 +f 18636//9325 21026//9153 18635//18397 +f 21935//1757 22030//1142 22029//8807 +f 30643//20509 27525//20619 30638//12179 +f 21027//1941 21026//9153 18636//9325 +f 22708//1152 22807//459 22806//1208 +f 29498//8763 29636//9992 29497//8764 +f 21068//15710 20728//9027 15197//1306 +f 22707//20212 22708//1152 22806//1208 +f 21213//1317 22928//1301 1872//16860 +f 15196//9304 21068//15710 15197//1306 +f 1059//8540 61//8539 20761//18355 +f 23421//1300 16300//7284 15279//14773 +f 9416//20620 23789//20621 15153//20622 +f 20922//14646 1059//8540 20761//18355 +f 16143//20623 16142//20585 16001//20586 +f 16002//13786 16143//20623 16001//20586 +f 16286//20624 16285//20587 16142//20585 +f 16143//20623 16286//20624 16142//20585 +f 16431//20625 16430//20588 16285//20587 +f 16286//20624 16431//20625 16285//20587 +f 16583//20626 16582//20589 16430//20588 +f 16431//20625 16583//20626 16430//20588 +f 16738//20627 16737//20590 16582//20589 +f 16583//20626 16738//20627 16582//20589 +f 16896//20628 16895//20591 16737//20590 +f 16738//20627 16896//20628 16737//20590 +f 17059//20629 17058//20592 16895//20591 +f 16896//20628 17059//20629 16895//20591 +f 17059//20629 17223//20630 17222//20593 +f 17058//20592 17059//20629 17222//20593 +f 4598//20631 4597//20594 17222//20593 +f 17223//20630 4598//20631 17222//20593 +f 2045//20632 1921//20595 4597//20594 +f 4598//20631 2045//20632 4597//20594 +f 5356//20633 5491//20596 1921//20595 +f 2045//20632 5356//20633 1921//20595 +f 3468//20634 1155//20597 5491//20596 +f 5356//20633 3468//20634 5491//20596 +f 4273//20635 4406//20598 1155//20597 +f 3468//20634 4273//20635 1155//20597 +f 2135//957 2006//20599 4406//20598 +f 4273//20635 2135//957 4406//20598 +f 2135//957 6669//959 2362//20600 +f 2006//20599 2135//957 2362//20600 +f 6669//959 6399//817 6777//20601 +f 2362//20600 6669//959 6777//20601 +f 6399//817 2525//819 2390//20602 +f 6777//20601 6399//817 2390//20602 +f 2525//819 14588//952 14354//20603 +f 2390//20602 2525//819 14354//20603 +f 14588//952 14903//954 14877//20604 +f 14354//20603 14588//952 14877//20604 +f 14903//954 16467//1056 16404//20605 +f 14877//20604 14903//954 16404//20605 +f 16467//1056 51//1061 472//20606 +f 16404//20605 16467//1056 472//20606 +f 51//1061 16054//1203 15543//20607 +f 472//20606 51//1061 15543//20607 +f 16054//1203 4944//1062 3215//20608 +f 15543//20607 16054//1203 3215//20608 +f 4944//1062 2177//1064 16114//20609 +f 3215//20608 4944//1062 16114//20609 +f 2177//1064 81//1050 82//15090 +f 16114//20609 2177//1064 82//15090 +f 35516//8031 35821//6913 35694//8022 +f 35886//1949 35594//19311 35735//6914 +f 22317//8677 22414//8892 22316//398 +f 19387//20636 2436//8647 2435//8525 +f 15294//4276 15020//2776 15415//950 +f 16363//949 16987//805 16515//807 +f 16215//19047 5545//1200 5481//1199 +f 3125//5598 16215//19047 5481//1199 +f 16074//19485 16362//19856 14708//19451 +f 5545//1200 16044//2775 250//1201 +f 14715//19006 14787//19077 14679//19139 +f 6767//8018 2123//7934 3220//2233 +f 2269//18843 2136//19346 6397//18910 +f 14801//9142 14470//9406 6021//9143 +f 16755//917 25608//10186 25607//3396 +f 13323//16856 14164//15960 16649//16857 +f 19058//1695 19160//20637 19159//20638 +f 2393//1002 15800//1004 15769//1003 +f 12651//18043 12561//18041 11644//13143 +f 14503//790 14582//19818 14581//445 +f 16239//4282 15897//5748 141//716 +f 14888//8992 14887//19640 14774//8993 +f 16534//1899 11970//975 14057//15284 +f 15754//2286 2935//8792 16550//6139 +f 15922//18815 16064//18881 16063//2373 +f 15921//1364 15922//18815 16063//2373 +f 27525//20619 6657//20639 13057//12351 +f 3856//8111 16383//8415 15357//6431 +f 14648//9403 16851//9405 16554//20618 +f 15894//19771 14648//9403 16554//20618 +f 16851//9405 15749//9580 15888//20579 +f 16554//20618 16851//9405 15888//20579 +f 110//772 561//774 201//7467 +f 15749//9580 14533//18564 5279//9716 +f 14451//649 14452//648 14502//791 +f 915//7067 1407//4722 14539//7068 +f 15131//1568 15258//5467 15257//18417 +f 15008//1566 15007//19814 14887//19640 +f 10650//11375 9101//12172 5471//18072 +f 28312//17116 28433//11008 21445//20640 +f 15130//19775 15131//1568 15257//18417 +f 23011//586 23010//2604 22911//1894 +f 3461//1207 15972//1052 16946//1066 +f 4419//17216 12738//287 11562//2102 +f 23109//585 23108//2605 23010//2604 +f 27638//2654 27142//13319 19244//17136 +f 13859//289 13761//288 15156//2100 +f 29570//20641 13653//15637 29571//16317 +f 18934//1746 28187//11866 25344//16258 +f 20942//18396 21025//1210 20941//13494 +f 21200//14108 21112//9154 21201//16499 +f 22807//459 22906//461 22905//1209 +f 21111//1211 21110//8789 21024//1212 +f 21123//13486 21122//1361 20289//2432 +f 22906//461 23005//128 22905//1209 +f 22928//1301 23421//1300 15279//14773 +f 20310//16966 21123//13486 20289//2432 +f 20922//14646 20761//18355 1879//14647 +f 23032//3035 13008//3040 12546//3036 +f 16144//822 16143//20623 16002//13786 +f 15862//20642 25909//16408 16001//20586 +f 16287//955 16286//20624 16143//20623 +f 16144//822 16287//955 16143//20623 +f 16432//692 16431//20625 16286//20624 +f 16287//955 16432//692 16286//20624 +f 16584//3962 16583//20626 16431//20625 +f 16432//692 16584//3962 16431//20625 +f 16739//684 16738//20627 16583//20626 +f 16584//3962 16739//684 16583//20626 +f 16897//698 16896//20628 16738//20627 +f 16739//684 16897//698 16738//20627 +f 17060//697 17059//20629 16896//20628 +f 16897//698 17060//697 16896//20628 +f 17224//9863 17223//20630 17059//20629 +f 17060//697 17224//9863 17059//20629 +f 4599//9864 4598//20631 17223//20630 +f 17224//9863 4599//9864 17223//20630 +f 2304//9862 2045//20632 4598//20631 +f 4599//9864 2304//9862 4598//20631 +f 5220//9861 5356//20633 2045//20632 +f 2304//9862 5220//9861 2045//20632 +f 3029//9930 3468//20634 5356//20633 +f 5220//9861 3029//9930 5356//20633 +f 4141//9720 4273//20635 3468//20634 +f 3029//9930 4141//9720 3468//20634 +f 14491//958 2135//957 4273//20635 +f 4141//9720 14491//958 4273//20635 +f 14491//958 5466//1202 6669//959 +f 19219//20643 831//20644 832//5323 +f 27617//2307 27734//2457 27616//9988 +f 19296//9689 2051//9684 2180//9687 +f 17457//20645 17458//20646 17545//20647 +f 18191//20648 18228//20649 18003//20650 +f 19325//20651 19442//20652 18149//20653 +f 17728//20654 17727//20655 17632//20656 +f 27496//12260 27525//20619 13057//12351 +f 19727//19129 19840//20657 19839//20658 +f 9003//14023 10590//9663 8896//7944 +f 19890//20659 20069//19268 20148//20660 +f 9183//14314 16673//18375 9182//14063 +f 18681//20661 18682//20662 18779//20663 +f 32010//20664 32009//20665 31908//20666 +f 18240//20667 18277//20668 19254//14381 +f 1578//10056 18894//1994 1577//9974 +f 19615//20669 19616//19128 19726//19130 +f 6523//19522 6648//19547 1648//19523 +f 18293//20670 18386//20671 18292//20672 +f 19733//7859 19846//7858 19732//20673 +f 19287//20674 19288//20675 19394//20676 +f 19859//6876 18712//6875 17992//20677 +f 19593//20678 4153//20679 18404//20680 +f 18147//20681 17964//20682 19123//20683 +f 18332//20684 18317//20685 19152//20686 +f 17915//18994 19890//20659 20067//20687 +f 2656//20688 18797//18825 20233//20689 +f 27734//2457 27849//2459 27848//10036 +f 14595//20690 16965//20691 18311//20692 +f 19502//20693 19612//20694 19611//20695 +f 19392//20696 19393//20697 19501//20698 +f 17921//20699 17920//20700 17824//20701 +f 5987//20702 19629//9491 19933//20703 +f 19834//20704 19835//20705 19948//20706 +f 17826//20707 17922//20708 17825//20709 +f 18984//20710 18985//20711 19085//20712 +f 18759//3981 18858//20713 18857//20714 +f 19953//20715 19954//20716 19066//20546 +f 18959//20717 19060//20718 18958//20719 +f 19223//8433 19751//9563 4874//8434 +f 17433//20720 17432//20721 17354//20722 +f 17354//20722 17353//20723 17285//20724 +f 18389//20725 18484//6445 18483//20726 +f 17710//20727 17806//18415 17709//20728 +f 18758//20729 18759//3981 18857//20714 +f 19188//19351 19292//20730 19291//20731 +f 19499//20732 19609//20733 19608//8533 +f 1309//6543 1310//6648 18564//20734 +f 27379//3167 27378//18 30553//17 +f 18678//20735 18679//20736 18776//20737 +f 18797//18825 19435//2547 18650//20738 +f 35807//10399 35715//3638 35825//13963 +f 1810//9978 1929//9904 19093//15204 +f 14895//1440 18650//20738 14894//1436 +f 19501//20698 19502//20693 19611//20695 +f 19612//20694 19723//20739 19722//20740 +f 19611//20695 19612//20694 19722//20740 +f 17648//20741 17743//8751 17742//8750 +f 18840//20742 18940//20743 18289//20744 +f 18266//20745 18768//20746 19091//20747 +f 34135//20748 34273//14440 34134//20749 +f 6657//20639 21747//20750 28989//12444 +f 17710//20727 17709//20728 17614//20751 +f 17806//18415 17805//18416 17709//20728 +f 17615//20752 17614//20751 17520//20753 +f 17615//20752 17710//20727 17614//20751 +f 17521//20754 17520//20753 17432//20721 +f 17521//20754 17615//20752 17520//20753 +f 2960//6557 3100//6464 33469//15919 +f 17433//20720 17521//20754 17432//20721 +f 19306//20755 18411//20756 14595//20690 +f 30219//3263 35496//8030 30220//8029 +f 19279//20757 19297//20758 17561//20759 +f 18585//9783 17952//20539 17892//9785 +f 17952//20539 17296//20760 19024//8976 +f 17561//20759 18585//9783 17892//9785 +f 1576//384 124//19576 6118//671 +f 35872//7575 35688//4715 35914//13711 +f 1929//9904 19196//9903 19195//20540 +f 5224//3030 17766//6159 17765//20761 +f 18107//20762 18106//20763 18016//20764 +f 15014//20580 18527//2546 15136//3025 +f 19836//20765 19950//20766 19949//20767 +f 19723//20739 19836//20765 19835//20705 +f 19164//3234 19268//20768 19163//20769 +f 17455//16003 17543//20770 17542//20771 +f 17541//20772 17635//20773 17540//20774 +f 19503//20775 19504//20776 19613//20777 +f 18387//20778 18388//20779 18482//20780 +f 13057//12351 6657//20639 28989//12444 +f 28240//5774 21842//5778 26583//20781 +f 29767//4771 29120//20782 27640//20783 +f 17648//20741 17649//20784 17743//8751 +f 19373//5170 19372//20785 19265//20786 +f 18576//20787 1326//8291 18480//20788 +f 27733//10035 27732//17052 27615//20789 +f 18578//20790 18675//20791 18674//5055 +f 18794//9975 18893//9979 18793//19615 +f 4955//3018 4956//3017 5091//3227 +f 15907//20280 16046//19737 15906//14930 +f 18878//20792 18879//20793 18977//20052 +f 18689//20794 18787//20610 18786//20795 +f 18531//20796 19715//20797 18526//20798 +f 29700//20799 29568//14848 14969//20800 +f 18149//20653 19551//20801 18171//20802 +f 19580//19719 18588//9119 18838//9118 +f 35643//183 35502//3805 35438//6711 +f 18615//19131 18588//9119 15263//3024 +f 6083//9786 6084//9933 6214//9865 +f 19722//20740 19723//20739 19835//20705 +f 17825//20709 17824//20701 17728//20654 +f 19835//20705 19836//20765 19949//20767 +f 18688//9350 18689//20794 18786//20795 +f 19443//20803 4068//9378 19705//20804 +f 35500//2155 35514//1077 35830//2156 +f 34979//9496 32683//9495 18506//6290 +f 30073//20805 30608//20806 684//20807 +f 17551//20808 17645//20809 17644//20810 +f 17644//20810 17645//20809 17739//20811 +f 19155//20812 18332//20684 19152//20686 +f 18620//18594 2631//10059 19830//20813 +f 17827//20814 17923//20815 17826//20707 +f 19196//9903 19300//9984 19195//20540 +f 17430//11151 17429//20816 17351//11152 +f 1693//1993 18893//9979 18894//1994 +f 18092//20086 18183//20817 19171//20818 +f 18127//20819 19306//20755 711//20820 +f 17826//20707 17825//20709 17729//20821 +f 19079//20822 19181//20823 19180//20049 +f 17549//20824 17550//20825 17643//20826 +f 19533//20827 18237//20828 19926//20829 +f 18782//20830 18783//20831 18881//20832 +f 30073//20805 26685//19785 26519//20833 +f 18430//19718 18838//9118 21965//16482 +f 35507//9830 35452//2334 35448//7555 +f 14587//19561 2083//20834 2803//18348 +f 1428//6859 18566//6957 1312//6860 +f 19553//20835 19443//20803 19871//20836 +f 18430//19718 18914//9335 15520//9334 +f 19950//20766 19327//20837 19884//20838 +f 19949//20767 19950//20766 19884//20838 +f 19223//8433 5010//8432 19532//20839 +f 19268//20768 19267//5172 19163//20769 +f 18662//20840 18760//3980 18661//3982 +f 33823//20841 21456//15032 28585//4615 +f 27631//20842 27630//20843 27512//10828 +f 19835//20705 19949//20767 19948//20706 +f 32745//20844 32857//20845 32744//17813 +f 19046//20846 18946//20847 2014//20848 +f 19585//20849 19593//20678 18266//20745 +f 18888//9678 18887//20850 18788//20851 +f 3666//20852 711//20820 18266//20745 +f 20395//16614 17803//3967 20479//3969 +f 18691//9601 18789//20245 18690//9457 +f 17892//9785 17952//20539 19024//8976 +f 33090//20853 33195//20854 33089//20855 +f 17558//20856 19781//20857 19625//20858 +f 17986//20859 19110//10017 16191//10019 +f 3311//16229 18192//16228 19121//900 +f 35940//8653 35689//6113 35538//8654 +f 18196//20860 18290//20861 971//7766 +f 1074//6160 1075//6300 18276//20862 +f 29760//18701 29889//11911 29759//11912 +f 18776//20737 18875//20863 18874//20864 +f 31167//20865 31168//2807 31231//14675 +f 35463//2335 35541//3885 35543//3887 +f 19300//9984 2055//9983 2184//9986 +f 35564//9713 35361//2948 35355//2950 +f 19327//20837 18990//20866 17719//20867 +f 18017//20868 18107//20762 18016//20764 +f 19884//20838 19327//20837 17719//20867 +f 19366//15319 3312//20869 19709//20870 +f 18781//20871 18880//20872 18879//20793 +f 19809//17019 18270//17018 18243//20873 +f 19385//20874 18373//20875 18372//20876 +f 17296//20760 19110//10017 19024//8976 +f 19951//20877 19952//20878 18971//20879 +f 19895//20880 18322//20881 18343//20882 +f 18404//20680 3666//20852 18266//20745 +f 18684//9101 18782//20830 18781//20871 +f 17926//20883 18019//20884 17925//20885 +f 18575//20886 19444//20887 19922//20888 +f 1677//8393 1560//8394 1561//8518 +f 18113//5163 18112//19000 18022//20889 +f 17707//20890 17706//20891 17611//20892 +f 17707//20890 17803//3967 17706//20891 +f 17621//5461 364//1167 17620//1169 +f 19110//10017 17986//20859 19024//8976 +f 19226//20893 19325//20651 18183//20817 +f 27631//20842 27748//20894 27630//20843 +f 28232//20895 18692//20896 19793//20897 +f 3098//6196 3097//20898 13121//15918 +f 17753//20899 16802//20900 18497//20901 +f 16802//20900 17909//20902 18059//20903 +f 10860//12960 8157//13722 11217//19121 +f 5457//2953 5051//8079 3313//8253 +f 32943//20904 32944//20905 33049//20906 +f 8307//12000 10860//12960 11217//19121 +f 24714//20907 24751//1424 30490//20908 +f 35539//10314 11315//8996 35799//10312 +f 18990//20866 17568//20909 18089//20910 +f 22327//20911 13563//5187 19684//5189 +f 21313//20912 5490//20913 18301//15902 +f 20411//20914 18098//20915 19242//20916 +f 19369//20917 19385//20874 18372//20876 +f 17736//20918 17737//20919 17832//20920 +f 18151//20921 18819//20922 18494//20923 +f 18767//20924 17944//20048 19863//20925 +f 26697//20926 26698//13150 26809//13152 +f 2812//10747 29081//12769 28946//14791 +f 29785//1819 29786//1818 29914//13212 +f 19943//20927 16597//20928 21288//2467 +f 19485//20929 19532//20839 18382//20930 +f 18680//20931 18778//20932 18777//20933 +f 18627//19405 4153//20679 19593//20678 +f 4687//3223 4688//8829 4823//3413 +f 18974//20934 19075//20935 19074//8643 +f 17612//20936 17707//20890 17611//20892 +f 34153//15831 34152//20937 34016//20938 +f 18583//8882 18680//20931 18679//20736 +f 17359//20939 17437//20940 17436//20941 +f 17358//20942 17359//20939 17436//20941 +f 17437//20940 17525//20943 17524//20944 +f 17436//20941 17437//20940 17524//20944 +f 19053//19095 2146//937 19052//936 +f 35393//3883 35548//3260 35575//3259 +f 18894//1994 1578//10056 1694//1995 +f 35423//7252 12050//2554 35708//2556 +f 35395//8508 35689//6113 35940//8653 +f 1796//8638 1915//8521 1795//8520 +f 19256//14382 19257//20945 5543//1356 +f 19613//20777 19614//20946 19724//20947 +f 35610//1438 35485//17636 35444//8500 +f 19538//3772 19762//20948 20902//8110 +f 17525//20943 17619//20949 17618//20950 +f 17524//20944 17525//20943 17618//20950 +f 18905//20951 17799//20952 17724//20953 +f 17833//20954 17929//20955 17928//20956 +f 17518//20957 17517//20958 17429//20816 +f 17518//20957 17612//20936 17517//20958 +f 17430//11151 17518//20957 17429//20816 +f 17612//20936 17611//20892 17517//20958 +f 18014//20959 18104//20960 18013//20961 +f 19331//20962 19485//20929 19469//20963 +f 19077//20054 19078//20053 19179//20964 +f 5895//3042 5761//2826 5762//20965 +f 19126//3974 3756//4152 3888//3972 +f 19084//20966 19186//20967 19185//20968 +f 29915//13211 30046//20969 30045//20970 +f 19211//19713 20811//20971 20024//20972 +f 17619//20949 17714//1168 17713//133 +f 17618//20950 17619//20949 17713//133 +f 17714//1168 17810//5174 17809//201 +f 17713//133 17714//1168 17809//201 +f 19733//7859 2580//9606 2715//7857 +f 18436//1973 2408//1816 28549//8739 +f 18718//20544 18897//19358 19211//19713 +f 35371//10037 35856//9962 35906//9961 +f 17895//16879 18897//19358 19113//8530 +f 30635//20973 35802//1569 7083//1571 +f 18973//20974 18974//20934 19074//8643 +f 35770//609 35683//8515 21648//13470 +f 35642//9674 35805//8646 35391//8726 +f 2449//9837 2316//9908 2450//9909 +f 17810//5174 17906//5176 17905//202 +f 32843//16356 32842//16359 32730//16357 +f 2014//20848 2142//20975 19046//20846 +f 4267//1497 2257//1697 19096//6653 +f 17832//20920 17833//20954 17928//20956 +f 17724//20953 17753//20899 18497//20901 +f 18583//8882 1217//8881 1333//9102 +f 4594//20976 4728//8436 4593//8329 +f 18789//20245 18788//20851 18690//9457 +f 29106//13395 29105//13294 28970//20977 +f 43//2016 18091//17832 1032//1852 +f 10860//12960 8307//12000 7474//449 +f 29282//6636 29145//4495 35598//728 +f 17930//8384 18023//8381 18022//20889 +f 2142//20975 19048//3038 2143//3037 +f 35647//6142 21575//6141 35908//14964 +f 17809//201 17810//5174 17905//202 +f 19160//20637 19264//20978 19159//20638 +f 35386//6337 35377//3510 35931//6338 +f 17905//202 17906//5176 17998//1282 +f 23899//20979 23842//20980 29818//2446 +f 18098//20915 24151//20981 28595//20982 +f 1098//8631 18299//20983 980//8512 +f 3846//2149 3172//2148 5456//2154 +f 18333//16156 18718//20544 18514//16157 +f 18514//16157 19211//19713 23332//20984 +f 11224//816 7434//13180 15911//13094 +f 18103//7856 18196//20860 852//7765 +f 4335//9390 4469//9391 1523//9433 +f 35475//5329 35454//13139 35713//9063 +f 18874//20864 18973//20974 1796//8638 +f 4201//9384 18725//9432 19705//20804 +f 32403//10691 32402//7548 32299//16124 +f 28971//20985 29106//13395 28970//20977 +f 3846//2149 5456//2154 19309//20293 +f 28842//20986 28975//20987 28841//20988 +f 3269//6874 3130//6965 3270//9479 +f 24615//20989 35870//16988 24614//16987 +f 28361//20990 29634//14514 26592//20991 +f 1795//8520 1794//8395 1678//8519 +f 18113//5163 18023//8381 740//5161 +f 3925//8321 4058//8229 3924//8228 +f 2841//8528 2980//8535 2979//8404 +f 18888//9678 1689//9677 18987//20992 +f 19551//20801 19661//20993 18171//20802 +f 26940//1284 35922//1856 26498//1855 +f 17929//20955 17930//8384 18022//20889 +f 18582//20994 5136//8924 17869//8826 +f 18369//20995 18368//18361 18275//20996 +f 18276//20862 18369//20995 18275//20996 +f 18464//20997 18463//18437 18368//18361 +f 18369//20995 18464//20997 18368//18361 +f 18727//20998 18007//20999 19780//8438 +f 19933//20703 19751//9563 19331//20962 +f 19102//7755 19096//6653 18695//21000 +f 255//2166 17621//5461 17527//2167 +f 20052//21001 18485//16158 18514//16157 +f 19438//21002 16357//18371 16212//18997 +f 712//5324 17906//5176 594//5321 +f 7214//7171 7213//13188 7106//7051 +f 18674//5055 18675//20791 1561//8518 +f 270//7176 380//7178 379//7056 +f 19832//19379 19833//21003 19946//1720 +f 18464//20997 18560//21004 18559//18482 +f 18463//18437 18464//20997 18559//18482 +f 19026//475 17656//21005 18075//8437 +f 18311//20692 18228//20649 18191//20648 +f 19946//1720 19947//21006 18265//1718 +f 2412//10879 2279//6328 2413//21007 +f 30826//2853 18281//2317 17894//16707 +f 15721//20446 26197//19740 15859//20481 +f 15768//20328 15907//20280 15906//14930 +f 18982//21008 18983//21009 19083//21010 +f 3666//20852 18127//20819 711//20820 +f 18497//20901 18059//20903 17988//20084 +f 19619//21011 19620//21012 19730//21013 +f 18322//20881 19171//20818 18343//20882 +f 18560//21004 18657//21014 18656//18514 +f 19844//21015 19843//21016 19730//21013 +f 18559//18482 18560//21004 18656//18514 +f 18657//21014 18755//21017 18754//18812 +f 18656//18514 18657//21014 18754//18812 +f 18755//21017 18854//21018 18853//18989 +f 584//21019 17931//21020 18127//20819 +f 18581//21021 18678//20735 18677//21022 +f 19275//21023 17999//21024 18140//21025 +f 19215//21026 19275//21023 18140//21025 +f 34845//21027 6975//13117 116//5158 +f 1806//9681 1807//9680 1926//9683 +f 5279//9716 14533//18564 18374//21028 +f 18762//21029 1545//6959 1662//6961 +f 4458//8232 4324//8231 4325//8327 +f 19831//21030 19832//19379 19945//1719 +f 18754//18812 18755//21017 18853//18989 +f 18854//21018 18953//21031 18952//18991 +f 2686//6754 2551//15259 2552//6752 +f 18138//21032 16386//21033 18035//21034 +f 18847//15414 18946//20847 18945//21035 +f 18846//17838 18847//15414 18945//21035 +f 19534//21036 19887//21037 18220//20085 +f 18726//21038 18725//9432 18330//21039 +f 23073//21040 6845//21041 11574//21042 +f 18712//6875 18080//473 17472//21043 +f 27383//21044 26475//13696 26474//13689 +f 29117//4913 29116//5600 28981//4914 +f 35546//1285 35744//17747 35669//1286 +f 19846//7858 19960//21045 19845//21046 +f 18853//18989 18854//21018 18952//18991 +f 18953//21031 19054//21047 19053//19095 +f 18952//18991 18953//21031 19053//19095 +f 19053//19095 19054//21047 2146//937 +f 27410//8890 29546//4603 30824//2532 +f 25765//1551 17313//21048 19477//1552 +f 19189//19350 19293//21049 19292//20730 +f 30446//21050 30580//21051 30445//21052 +f 18145//17431 19438//21002 23333//21053 +f 35452//2334 35567//2336 35448//7555 +f 16357//18371 16211//507 16212//18997 +f 12192//19532 28225//21054 25192//19533 +f 5136//8924 5135//8704 5000//8705 +f 31298//21055 31297//14674 31232//2809 +f 17550//20825 17551//20808 17644//20810 +f 18054//15116 16509//18370 18144//17430 +f 17816//5002 20779//5001 19537//17587 +f 19074//8643 19176//3791 2041//3790 +f 19219//20643 17723//3767 951//10136 +f 18331//21056 19425//21057 19429//21058 +f 25669//20037 15315//16563 13860//16565 +f 18945//21035 18946//20847 19046//20846 +f 3464//1538 559//1387 3045//1386 +f 35677//4865 35472//436 35398//1371 +f 19182//21059 19286//21060 19285//21061 +f 2153//3233 2285//7076 19268//20768 +f 17964//20682 19440//21062 19941//21063 +f 19481//21064 33927//15258 34470//21065 +f 1091//7953 1090//7860 18290//20861 +f 19054//21047 19156//6321 2146//937 +f 19942//21066 19782//21067 19771//21068 +f 17961//21069 18630//18943 6256//2535 +f 1173//1556 18616//1716 18909//1557 +f 17384//5761 392//21070 13576//21071 +f 32836//21072 32944//20905 32943//20904 +f 18565//19641 1310//6648 18469//6649 +f 18887//20850 18986//21073 18985//20711 +f 24007//17510 16464//21074 22946//21075 +f 35806//3115 35918//2047 35468//1179 +f 20954//229 20955//18664 21037//18665 +f 23045//21076 24008//17511 24007//17510 +f 17466//20118 17554//20282 17465//12584 +f 23829//21077 25536//21078 25019//21079 +f 18584//21080 18240//20667 18232//21081 +f 18751//21082 18850//19781 18849//21083 +f 18980//21084 18981//21085 19081//21086 +f 18902//5000 17815//15977 22442//21087 +f 24211//21088 24212//18036 29399//17821 +f 18956//21089 18957//21090 19057//21091 +f 1662//6961 1779//7070 18861//12551 +f 17646//21092 17741//18468 17740//1786 +f 17731//21093 17827//20814 17730//21094 +f 27410//8890 27665//4601 29546//4603 +f 19297//20758 18374//21028 14533//18564 +f 27298//21095 27383//21044 26474//13689 +f 19868//21096 19552//3027 19773//21097 +f 21278//21098 33702//16873 27382//21099 +f 28477//5891 28478//21100 19037//5892 +f 5763//21101 5895//3042 5762//20965 +f 18317//20685 18277//20668 18711//21102 +f 35504//2091 35430//4494 29008//4496 +f 2980//8535 19831//21030 19945//1719 +f 18761//21103 18760//3980 18662//20840 +f 18761//21103 18860//21104 18760//3980 +f 27648//15020 26477//21105 26476//21106 +f 5763//21101 19312//1659 5764//1661 +f 19535//20547 18331//21056 19429//21058 +f 19425//21057 19891//21107 19892//21108 +f 19006//9756 18422//15117 18519//21109 +f 20756//15582 23677//20238 25716//17402 +f 19006//9756 16664//15115 18422//15117 +f 16822//9718 16664//15115 19006//9756 +f 18920//21110 19603//20009 19277//18942 +f 17621//5461 365//5320 364//1167 +f 18582//20994 18584//21080 18232//21081 +f 1332//8883 18679//20736 18678//20735 +f 1194//6647 1195//6750 18469//6649 +f 26476//21106 26477//21105 27315//21111 +f 4594//20976 16386//21033 4728//8436 +f 6264//5106 6268//5105 8635//6498 +f 33332//21112 33331//21113 33226//21114 +f 31646//7356 31557//1541 26612//20158 +f 4195//10898 26089//18978 23239//6048 +f 14734//18986 556//1728 557//12107 +f 23904//21115 28985//14497 23903//21116 +f 2671//21117 28864//21118 3053//21119 +f 4421//3775 4422//3986 4555//3782 +f 26427//21120 27839//4766 26576//4602 +f 27755//3084 27870//3977 27409//21121 +f 3464//1538 3045//1386 1379//1376 +f 19389//21122 19498//8532 19497//8648 +f 18974//20934 18975//21123 19075//20935 +f 18389//20725 18390//6443 18484//6445 +f 19948//20706 19820//20046 17652//21124 +f 4688//8829 4824//3599 4823//3413 +f 4690//3779 4556//3778 4691//3989 +f 19320//19028 18392//12266 14592//1046 +f 3487//15291 17626//8872 3488//494 +f 19543//9719 19006//9756 19318//21125 +f 20814//21126 19318//21125 18519//21109 +f 2436//8647 19387//20636 19388//20045 +f 19219//20643 832//5323 17723//3767 +f 20645//2473 22835//643 35561//2474 +f 16212//18997 18333//16156 18485//16158 +f 18228//20649 167//21127 19406//21128 +f 17457//20645 17545//20647 17544//21129 +f 31947//21130 32044//5580 31946//21131 +f 5763//21101 5764//1661 5896//3239 +f 18457//21132 4155//3979 4287//21133 +f 4288//3984 4421//3775 4287//21133 +f 27261//5072 26411//12127 26406//12126 +f 18175//21134 19876//21135 18596//1981 +f 18175//21134 17443//21136 19876//21135 +f 18596//1981 18506//6290 32683//9495 +f 17443//21136 18286//21137 19889//21138 +f 18286//21137 19810//21139 19889//21138 +f 21395//16080 21670//21140 21568//20365 +f 17427//19590 17515//21141 17426//21142 +f 19886//21143 19533//20827 19926//20829 +f 18202//21144 18296//21145 18295//21146 +f 18564//20734 1310//6648 18565//19641 +f 19445//21147 19444//20887 18169//21148 +f 18212//21149 18457//21132 4287//21133 +f 4022//3973 4023//3975 4155//3979 +f 28436//5307 28558//5556 28435//15086 +f 832//5323 833//5742 17767//1701 +f 18037//21150 19543//9719 19318//21125 +f 29282//6636 35598//728 29556//15282 +f 17792//9717 19543//9719 18037//21150 +f 17800//16224 17792//9717 18037//21150 +f 5819//8974 18496//14323 5950//9722 +f 35772//11907 35829//1946 35672//9826 +f 18628//21151 18531//20796 18526//20798 +f 17737//20919 17738//21152 17833//20954 +f 621//19352 17930//8384 506//8383 +f 16822//9718 17792//9717 16985//15168 +f 29552//21153 29686//21154 30209//21155 +f 18115//21156 19932//21157 19852//21158 +f 19482//6871 19373//5170 2417//5173 +f 28246//21159 28988//21160 7885//21161 +f 17443//21136 19889//21138 19876//21135 +f 17898//21162 19697//21163 18834//21164 +f 17713//133 17809//201 17808//134 +f 19945//1719 18265//1718 3120//8405 +f 17523//21165 17524//20944 17617//21166 +f 17618//20950 17713//133 17712//132 +f 8311//6235 5963//6943 9865//6236 +f 17617//21166 17618//20950 17712//132 +f 18915//20616 18128//21167 18488//20617 +f 19535//20547 19429//21058 19417//21168 +f 18002//21169 19540//474 3540//9369 +f 17742//8750 395//8749 394//8623 +f 18207//3991 5270//3990 5136//8924 +f 32094//21170 32093//21171 31993//21172 +f 2274//21173 689//10763 9773//16161 +f 29680//16043 30498//4454 30612//5061 +f 19779//15592 17800//16224 18631//11423 +f 379//7056 7436//13190 269//7177 +f 19595//15169 17792//9717 17800//16224 +f 19779//15592 19595//15169 17800//16224 +f 18881//20832 18882//21174 18980//21084 +f 3260//8406 3120//8405 18265//1718 +f 35743//6243 35707//6496 35527//10527 +f 11346//14232 18182//15591 18631//11423 +f 23417//21175 29131//21176 28363//6176 +f 14587//19561 2803//18348 15622//15417 +f 17436//20941 17524//20944 17523//21165 +f 19587//21177 18915//20616 17840//20615 +f 3533//21178 18834//21164 18459//21179 +f 18265//1718 17652//21124 18767//20924 +f 3533//21178 17898//21162 18834//21164 +f 17898//21162 19002//21180 18046//3219 +f 17358//20942 17436//20941 17435//21181 +f 17357//21182 17358//20942 17435//21181 +f 18859//21183 18958//20719 18957//21090 +f 18796//21184 19587//21177 17840//20615 +f 18002//21169 18727//20998 17656//21005 +f 17633//21185 17632//20656 17538//21186 +f 3330//21187 17289//21188 17288//21189 +f 19892//21108 18819//20922 18151//20921 +f 17435//21181 17436//20941 17523//21165 +f 17524//20944 17618//20950 17617//21166 +f 5763//21101 5896//3239 5895//3042 +f 19685//5188 571//21190 4667//5194 +f 29411//21191 21066//21192 27637//21193 +f 27493//5073 27261//5072 26406//12126 +f 17395//21194 19654//19402 181//14107 +f 18274//14310 18275//20996 18368//18361 +f 5893//2632 5760//2827 5761//2826 +f 31689//14043 31789//16058 31688//14044 +f 19540//474 17656//21005 19026//475 +f 29889//11911 30020//6458 29888//6460 +f 17649//20784 7115//14172 7222//21195 +f 19082//21196 19184//21197 19183//21198 +f 17467//14168 17466//20118 17388//7035 +f 16334//15886 16190//15885 21980//20475 +f 21010//21199 27981//21200 20927//14430 +f 30834//20164 30833//20041 30699//20040 +f 35515//17974 35763//2761 35891//2763 +f 18458//21201 3533//21178 18459//21179 +f 35809//6870 35635//16736 35797//2806 +f 19375//7079 19484//7081 2417//5173 +f 35787//14065 35680//12738 35551//8027 +f 19396//21202 19397//21203 19505//21204 +f 19295//21205 19402//21206 19294//21207 +f 35745//5317 35525//4383 35552//4385 +f 17754//21208 19743//21209 17935//21210 +f 31511//17341 31510//7126 31438//21211 +f 28558//5556 28687//5745 28686//21212 +f 19619//21011 19730//21013 19729//21213 +f 18458//21201 18459//21179 19810//21139 +f 18286//21137 18458//21201 19810//21139 +f 31066//21214 31067//21215 31128//21216 +f 35463//2335 35543//3887 35567//2336 +f 18846//17838 18747//21217 21215//17839 +f 35619//4207 35427//13202 6863//5183 +f 1560//8394 1444//5056 18674//5055 +f 6530//21218 21841//14921 29079//4869 +f 1561//8518 18675//20791 18773//21219 +f 19923//21220 17867//21221 18670//21222 +f 18860//21104 18859//21183 18760//3980 +f 35522//9148 25266//13154 35900//9437 +f 17735//21223 17734//21224 17639//21225 +f 1218//9098 1334//9099 1333//9102 +f 18483//20726 18484//6445 18579//21226 +f 97//168 6641//20441 826//439 +f 12053//4724 12135//17880 15168//1514 +f 17659//21227 3661//8319 19881//8370 +f 18884//21228 18885//20612 18983//21009 +f 19043//21229 2010//21230 18941//21231 +f 18688//9350 18786//20795 18785//21232 +f 18661//3982 18759//3981 18758//20729 +f 17655//21233 17754//21208 17935//21210 +f 17730//21094 17826//20707 17729//20821 +f 18330//21039 1523//9433 19587//21177 +f 17922//20708 17921//20699 17825//20709 +f 18978//21234 19079//20822 19078//20053 +f 19863//20925 18491//21235 17655//21233 +f 18106//20763 18105//21236 18015//21237 +f 32900//14890 32899//15697 32787//21238 +f 19697//21163 17898//21162 18046//3219 +f 35747//13368 35844//12441 35639//13369 +f 19493//21239 19383//21240 17758//21241 +f 35861//10969 35590//189 35574//191 +f 17395//21194 19529//14106 19383//21240 +f 19493//21239 17395//21194 19383//21240 +f 23840//21242 171//7669 23898//7668 +f 28813//21243 28814//21244 30474//21245 +f 19226//20893 19334//21246 19325//20651 +f 17395//21194 181//14107 19529//14106 +f 18452//9392 19629//9491 5987//20702 +f 17639//21225 17734//21224 17638//21247 +f 17949//14685 17868//19465 19299//14684 +f 17935//21210 19743//21209 19923//21220 +f 18660//21248 18661//3982 18758//20729 +f 18687//9277 18688//9350 18785//21232 +f 18786//20795 18885//20612 18884//21228 +f 18983//21009 18984//20710 19084//20966 +f 18785//21232 18786//20795 18884//21228 +f 18768//20746 18311//20692 18234//21249 +f 19285//21061 19286//21060 19392//20696 +f 19500//21250 19501//20698 19610//21251 +f 18202//21144 18203//21252 18296//21145 +f 31509//9448 31596//14629 31508//14631 +f 19112//21253 19871//20836 18435//21254 +f 19268//20768 19164//3234 2153//3233 +f 2985//6630 19862//6629 19320//19028 +f 19300//9984 2184//9986 19407//9907 +f 19155//20812 19152//20686 17964//20682 +f 18712//6875 17472//21043 17992//20677 +f 19845//21046 19959//21255 19844//21015 +f 19827//21256 19493//21239 18170//17172 +f 18170//17172 17758//21241 20060//17170 +f 19654//19402 17395//21194 19493//21239 +f 19827//21256 19654//19402 19493//21239 +f 3362//325 182//14105 181//14107 +f 133//12075 2127//8375 800//13792 +f 18882//21174 18883//21257 18981//21085 +f 18762//21029 18861//12551 18761//21103 +f 19838//21258 19952//20878 19951//20877 +f 17827//20814 17828//21259 17923//20815 +f 1215//6444 18581//21021 18484//6445 +f 17724//20953 18497//20901 18592//21260 +f 19061//10791 19060//20718 18959//20717 +f 19500//21250 19610//21251 19609//20733 +f 18885//20612 18984//20710 18983//21009 +f 18958//20719 19059//1693 18957//21090 +f 1308//6303 1192//6442 1309//6543 +f 19392//20696 19501//20698 19500//21250 +f 18679//20736 18777//20933 18776//20737 +f 30152//6462 30151//21261 30019//6459 +f 29552//21153 29551//21262 19142//14677 +f 1337//9348 18687//9277 1336//9276 +f 18277//20668 18317//20685 19256//14382 +f 19625//20858 19586//21263 17867//21221 +f 17867//21221 19942//21066 18670//21222 +f 19091//20747 18234//21249 19334//21246 +f 20431//21264 20092//21265 27265//21266 +f 18015//21237 18014//20959 17921//20699 +f 18989//21267 18170//17172 21326//17171 +f 28191//12879 35600//4538 35721//4537 +f 17718//21268 19827//21256 18989//21267 +f 19415//21269 17718//21268 18989//21267 +f 17396//2536 19654//19402 19827//21256 +f 17718//21268 17396//2536 19827//21256 +f 7115//14172 17555//19708 17468//14169 +f 17396//2536 4134//2374 19654//19402 +f 17729//20821 17728//20654 17633//21185 +f 18270//17018 19443//20803 18115//21156 +f 17924//21270 18017//20868 18016//20764 +f 19585//20849 18266//20745 19091//20747 +f 35835//3551 35938//1781 35366//6549 +f 711//20820 14595//20690 18768//20746 +f 19820//20046 19884//20838 19652//20047 +f 35695//17404 35556//9807 35577//6548 +f 18819//20922 18592//21260 18099//21271 +f 19087//19349 19088//21272 19189//19350 +f 18984//20710 19085//20712 19084//20966 +f 15331//21273 16297//17981 14744//17980 +f 2781//1444 2311//1446 2779//3722 +f 19190//21274 19191//13774 19294//21207 +f 1442//8207 1325//8121 1326//8291 +f 19391//21275 19392//20696 19500//21250 +f 18217//21276 18339//21277 17942//21278 +f 18390//6443 1098//8631 1099//8757 +f 17469//21279 19868//21096 19065//21280 +f 17469//21279 19065//21280 18918//21281 +f 21493//21282 18309//21283 19413//18467 +f 18336//21284 21583//18604 19017//20036 +f 19021//21285 19415//21269 18993//18605 +f 18336//21284 19021//21285 18993//18605 +f 17961//21069 17718//21268 19415//21269 +f 19021//21285 17961//21069 19415//21269 +f 1215//6444 18390//6443 1099//8757 +f 32681//21286 28876//21287 17536//21288 +f 35878//6171 35416//6173 35767//7952 +f 3194//15368 13284//17756 12725//17743 +f 18107//20762 18200//21289 18106//20763 +f 18200//21289 18294//21290 18199//21291 +f 19644//21292 17799//20952 18905//20951 +f 17799//20952 17753//20899 17724//20953 +f 19185//20968 19186//20967 19289//21293 +f 19183//21198 19184//21197 19287//20674 +f 17552//21294 17553//20281 17646//21092 +f 18861//12551 18860//21104 18761//21103 +f 17944//20048 18491//21235 19863//20925 +f 19220//21295 19226//20893 18316//21296 +f 17452//2698 17453//21297 17540//20774 +f 19190//21274 19294//21207 19293//21049 +f 18943//21298 18944//21299 19044//21300 +f 2645//8269 2781//1444 2779//3722 +f 24334//21301 14522//18381 24250//18377 +f 1207//7955 1206//7861 1091//7953 +f 31998//16702 31997//16703 31896//16057 +f 4324//8231 4191//8230 4192//8326 +f 28548//16046 28678//13852 30332//8606 +f 31439//21302 31511//17341 31438//21211 +f 24914//15095 24163//1554 26601//15096 +f 17933//6288 4379//21303 17531//6289 +f 18040//21304 17469//21279 18918//21281 +f 19868//21096 19773//21097 19065//21280 +f 19753//21305 18336//21284 19436//1535 +f 20238//17618 19436//1535 19017//20036 +f 19277//18942 19021//21285 18336//21284 +f 19753//21305 19277//18942 18336//21284 +f 18630//18943 17961//21069 19021//21285 +f 19277//18942 18630//18943 19021//21285 +f 15749//9580 5279//9716 5280//9715 +f 32856//17814 32855//21306 32743//17815 +f 18858//20713 18859//21183 18957//21090 +f 19586//21263 18043//21307 19782//21067 +f 17825//20709 17921//20699 17824//20701 +f 19399//21308 19400//21309 19508//21310 +f 19782//21067 17625//21311 18628//21151 +f 18055//21312 18146//21313 19306//20755 +f 270//7176 17631//21314 381//7285 +f 19223//8433 19532//20839 19485//20929 +f 18127//20819 18055//21312 19306//20755 +f 18019//20884 18018//21315 17925//20885 +f 34003//1149 34139//850 34002//14250 +f 18528//21316 19533//20827 19886//21143 +f 19184//21197 19288//20675 19287//20674 +f 17922//20708 18015//21237 17921//20699 +f 19391//21275 19500//21250 19499//20732 +f 17830//21317 17829//21318 17733//21319 +f 18013//20961 18012//21320 17919//21321 +f 19609//20733 19610//21251 19720//21322 +f 17549//20824 17643//20826 17642//21323 +f 18681//20661 18779//20663 18778//20932 +f 21364//17374 21275//21324 27381//21325 +f 17824//20701 17920//20700 17823//21326 +f 35538//8654 11412//1380 10604//14230 +f 18468//21327 17558//20856 17754//21208 +f 19331//20962 19223//8433 19485//20929 +f 35779//4870 30220//8029 35516//8031 +f 18130//21328 19439//21329 19420//8827 +f 32402//7548 32507//7547 32401//16820 +f 17887//17882 20374//16959 17980//21330 +f 17360//21331 17359//20939 17291//15419 +f 34017//6323 34153//15831 34016//20938 +f 17360//21331 17438//21332 17437//20940 +f 17359//20939 17360//21331 17437//20940 +f 16644//21333 18835//21334 18339//21277 +f 149//2165 17440//12178 150//5455 +f 34277//849 34276//10728 34138//14249 +f 17453//21297 17541//20772 17540//20774 +f 30924//21335 30923//21336 30869//21337 +f 26915//21338 28076//13204 29821//13203 +f 18040//21304 18918//21281 17660//21339 +f 19776//21340 18040//21304 17660//21339 +f 32685//21341 17397//21342 32570//21343 +f 19776//21340 17660//21339 4379//21303 +f 148//21344 21671//21345 21493//21282 +f 17933//6288 19776//21340 4379//21303 +f 35648//13140 5561//2753 35392//2754 +f 18647//7253 18745//21346 18744//21347 +f 19424//1534 19753//21305 19436//1535 +f 18048//15967 19424//1534 22161//1533 +f 18920//21110 19753//21305 19424//1534 +f 11078//15966 18920//21110 19424//1534 +f 35899//437 35836//6310 35622//1164 +f 35400//5848 11868//14374 35528//6839 +f 19801//13620 30555//3165 30553//17 +f 34549//4762 34548//1342 34411//8188 +f 17553//20281 17552//21294 17464//5763 +f 18923//21348 19230//21349 19864//21350 +f 28819//6298 28952//8366 28818//6650 +f 33505//21351 33504//21352 33391//21353 +f 17438//21332 17526//21354 17525//20943 +f 17437//20940 17438//21332 17525//20943 +f 17526//21354 17620//1169 17619//20949 +f 17525//20943 17526//21354 17619//20949 +f 35829//1946 35931//6338 35672//9826 +f 18332//20684 19258//20083 19257//20945 +f 17619//20949 17620//1169 17714//1168 +f 17121//20286 3071//21355 15904//20242 +f 16964//21356 18330//21039 18796//21184 +f 18146//21313 18147//20681 18411//20756 +f 18372//20876 18373//20875 19279//20757 +f 19743//21209 19625//20858 17867//21221 +f 19297//20758 18585//9783 17561//20759 +f 18105//21236 18104//20960 18014//20959 +f 18266//20745 711//20820 18768//20746 +f 19720//21322 19833//21003 19832//19379 +f 18193//21357 18100//21358 461//883 +f 18411//20756 19123//20683 16965//20691 +f 18860//21104 18959//20717 18859//21183 +f 19335//21359 19334//21246 19226//20893 +f 19319//9637 17855//9784 18921//2695 +f 19926//20829 18237//20828 18400//21360 +f 19647//21361 18905//20951 19425//21057 +f 19771//21068 18628//21151 19655//21362 +f 4555//3782 16171//3781 18595//3776 +f 19084//20966 19085//20712 19186//20967 +f 18628//21151 18526//20798 19655//21362 +f 18977//20052 18978//21234 19078//20053 +f 5069//1383 1757//1389 18865//1384 +f 17906//5176 712//5324 17998//1282 +f 18330//21039 19587//21177 18796//21184 +f 18144//17430 16357//18371 18145//17431 +f 17632//20656 17727//20655 17631//21314 +f 18991//21363 19092//20541 1807//9680 +f 5000//8705 17869//8826 5136//8924 +f 27758//2839 685//2838 28611//21364 +f 18270//17018 3934//9379 19443//20803 +f 18369//20995 18276//20862 1191//6302 +f 18217//21276 17942//21278 19533//20827 +f 23713//2980 12420//7249 12334//10332 +f 18528//21316 18217//21276 19533//20827 +f 18143//14383 18962//21365 5494//3231 +f 1332//8883 18581//21021 1215//6444 +f 18465//6304 18464//20997 18369//20995 +f 5146//9781 19607//9633 5011//9634 +f 18561//21366 18560//21004 18464//20997 +f 18465//6304 18561//21366 18464//20997 +f 18561//21366 18658//21367 18657//21014 +f 18560//21004 18561//21366 18657//21014 +f 18658//21367 18756//21368 18755//21017 +f 18768//20746 14595//20690 18311//20692 +f 18109//21369 18202//21144 18201//21370 +f 17548//21371 17547//21372 17459//21373 +f 27956//14254 26915//21338 29821//13203 +f 19262//21374 2413//21007 2279//6328 +f 19288//20675 19395//21375 19394//20676 +f 18918//21281 18095//21376 17661//21377 +f 4379//21303 17660//21339 19865//21378 +f 17719//20867 18089//20910 18468//21327 +f 506//8383 622//8382 621//19352 +f 18743//16650 18646//16649 18744//21347 +f 19780//8438 18007//20999 19819//21379 +f 29553//5468 27783//10108 35733//5469 +f 35732//19219 35906//9961 35776//17676 +f 19337//21380 11078//15966 18403//1850 +f 18221//21381 19337//21380 18403//1850 +f 18114//20008 18920//21110 11078//15966 +f 19337//21380 18114//20008 11078//15966 +f 18080//473 3408//9367 3540//9369 +f 18114//20008 19603//20009 18920//21110 +f 18080//473 3540//9369 19540//474 +f 395//8749 510//8753 509//8622 +f 35545//5109 35424//11028 35534//5015 +f 19059//1693 19058//1695 18957//21090 +f 19086//21382 19087//19349 19188//19351 +f 18657//21014 18658//21367 18755//21017 +f 18756//21368 18855//21383 18854//21018 +f 18755//21017 18756//21368 18854//21018 +f 18855//21383 18954//21384 18953//21031 +f 18854//21018 18855//21383 18953//21031 +f 28102//6195 28219//14357 28076//13204 +f 18954//21384 19055//21385 19054//21047 +f 19887//21037 18316//21296 18220//20085 +f 17636//21386 17635//20773 17541//20772 +f 19195//20540 19093//15204 1929//9904 +f 18059//20903 19534//21036 18220//20085 +f 18683//21387 18684//9101 18781//20871 +f 17988//20084 18059//20903 18220//20085 +f 7918//10795 11503//10796 14559//19251 +f 18023//8381 18113//5163 18022//20889 +f 19657//21388 3861//1523 3966//1369 +f 19661//20993 19886//21143 19715//20797 +f 20314//21389 18431//1849 3590//1851 +f 28753//21390 11406//16927 7288//16929 +f 4936//306 15754//2286 2887//18682 +f 29134//12345 28753//21390 28621//21391 +f 18681//20661 1333//9102 18682//20662 +f 14971//21392 7185//9358 7188//21393 +f 18318//15382 18224//17153 33804//21394 +f 2779//3722 2644//7019 2645//8269 +f 26915//21338 28102//6195 28076//13204 +f 28733//1983 30771//2145 28729//1984 +f 18604//21395 4154//21396 19118//15381 +f 19519//15383 18604//21395 19118//15381 +f 17297//1696 18337//1698 4154//21396 +f 18604//21395 17297//1696 4154//21396 +f 18374//21028 18382//20930 5279//9716 +f 30459//21397 30458//21398 30325//12859 +f 19505//21204 19506//21399 19615//20669 +f 19625//20858 18131//21400 19586//21263 +f 17306//14678 27141//14426 28219//14357 +f 33830//21401 21280//21402 21281//21403 +f 3131//9550 3270//9479 3130//6965 +f 18373//20875 18374//21028 19297//20758 +f 18953//21031 18954//21384 19054//21047 +f 19947//21006 17652//21124 18265//1718 +f 19055//21385 19157//19262 19156//6321 +f 19054//21047 19055//21385 19156//6321 +f 22836//14268 35859//16532 35901//6172 +f 2413//21007 19370//21404 33942//21405 +f 28102//6195 17306//14678 28219//14357 +f 1032//1852 18091//17832 17818//1724 +f 17366//1393 18358//1388 1269//1391 +f 19610//21251 19721//21406 19720//21322 +f 19388//20045 19389//21122 19497//8648 +f 19719//21407 19832//19379 19831//21030 +f 19177//21408 19178//21409 19281//20043 +f 2706//21410 2571//8534 19608//8533 +f 19076//21411 19178//21409 19177//21408 +f 19282//20044 19389//21122 19388//20045 +f 19075//20935 19076//21411 19177//21408 +f 19469//20963 18374//21028 18373//20875 +f 19178//21409 19282//20044 19281//20043 +f 19260//21412 18370//21413 19155//20812 +f 17652//21124 17944//20048 18767//20924 +f 19259//21414 19936//19466 17868//19465 +f 18146//21313 19260//21412 18147//20681 +f 19118//15381 19275//21023 18224//17153 +f 13312//21415 33804//21394 18224//17153 +f 824//19979 3063//2738 19603//20009 +f 19118//15381 4154//21396 17999//21024 +f 19142//14677 2137//14456 27141//14426 +f 27296//13688 27285//21416 26470//21417 +f 18431//1849 20315//21418 19255//21419 +f 19255//21419 19642//21420 19646//21421 +f 19042//21422 18221//21381 19255//21419 +f 19646//21421 19042//21422 19255//21419 +f 18210//19546 19337//21380 18221//21381 +f 19042//21422 18210//19546 18221//21381 +f 29009//16612 18436//1973 28549//8739 +f 3670//9371 3671//9370 3802//9376 +f 28307//2531 27410//8890 30824//2532 +f 20025//21423 19438//21002 18485//16158 +f 35845//11030 26586//2625 27027//2262 +f 18452//9392 4469//9391 4470//9488 +f 19425//21057 18905//20951 19891//21107 +f 17834//21424 17835//1785 17930//8384 +f 17927//21425 18020//21426 17926//20883 +f 18491//21235 18468//21327 17754//21208 +f 4155//3979 4288//3984 4287//21133 +f 18131//21400 18043//21307 19586//21263 +f 17718//21268 6256//2535 17396//2536 +f 17539//21427 17633//21185 17538//21186 +f 17634//21428 17633//21185 17539//21427 +f 18746//21429 18648//19883 18747//21217 +f 17867//21221 19586//21263 19942//21066 +f 18971//20879 18965//20545 2267//21430 +f 16985//15168 17792//9717 19595//15169 +f 18111//21431 18204//21432 18110//21433 +f 33173//14540 33278//21434 33172//14541 +f 21038//3383 18744//21347 18646//16649 +f 685//2838 18618//5211 28985//14497 +f 18800//4777 19703//4778 7069//5896 +f 18746//21429 18845//21435 18844//21436 +f 33266//1246 33265//1247 33160//16623 +f 24623//11690 26718//21437 25770//21438 +f 35738//2774 35663//2550 35549//15642 +f 20053//4916 21142//4915 27146//15132 +f 31274//21439 19971//21440 31209//21441 +f 22764//21442 22765//21443 22864//21444 +f 6899//603 11455//21445 19035//1221 +f 31736//16793 31735//17691 31640//13847 +f 18713//18823 21945//17031 2410//17033 +f 6152//21446 6857//21447 22327//20911 +f 30165//21448 30298//21449 30297//21450 +f 30313//4341 30312//21451 30179//4031 +f 20927//14430 20928//21452 21010//21199 +f 21659//21453 26738//21454 26717//21455 +f 29630//6194 19495//14676 17306//14678 +f 27054//2070 28360//5333 28359//1187 +f 17439//21456 149//2165 17527//2167 +f 28575//21457 28704//18786 28574//18788 +f 19407//9907 2183//9835 19300//9984 +f 18248//1979 19760//21458 4684//1977 +f 23779//21459 24745//21460 28884//15490 +f 30580//21051 30714//15149 30579//15151 +f 18021//21461 18111//21431 18020//21426 +f 18204//21432 18203//21252 18110//21433 +f 17734//21224 17733//21319 17638//21247 +f 17952//20539 1070//9404 14648//9403 +f 17306//14678 19142//14677 27141//14426 +f 18089//20910 19781//20857 17558//20856 +f 18331//21056 19647//21361 19425//21057 +f 19286//21060 19393//20697 19392//20696 +f 19504//20776 19505//21204 19614//20946 +f 19615//20669 19726//19130 19725//21462 +f 19108//9460 6641//20441 18999//21463 +f 35755//21464 35382//11625 35792//16409 +f 19775//19404 19112//21253 18627//19405 +f 29551//21262 27177//14501 2137//14456 +f 35896//2841 35510//1854 35544//2842 +f 18663//6958 18662//20840 18565//19641 +f 19078//20053 19079//20822 19180//20049 +f 17830//21317 17926//20883 17829//21318 +f 3189//1723 1032//1852 17818//1724 +f 17639//21225 17638//21247 17544//21129 +f 18055//21312 19261//21465 19260//21412 +f 17545//20647 17639//21225 17544//21129 +f 2980//8535 2841//8528 19831//21030 +f 18270//17018 18115//21156 18243//20873 +f 18992//9980 19093//15204 18991//21363 +f 18317//20685 19257//20945 19256//14382 +f 17828//21259 17924//21270 17923//20815 +f 35625//7012 35765//11977 35805//8646 +f 7642//10628 7528//8861 11812//17996 +f 35816//8209 35468//1179 35575//3259 +f 17617//21166 17712//132 17711//21466 +f 17808//134 17807//21467 17711//21466 +f 17523//21165 17617//21166 17616//21468 +f 17616//21468 17617//21166 17711//21466 +f 17613//21469 17708//21470 17612//20936 +f 17522//21471 17523//21165 17616//21468 +f 17804//19780 17803//3967 17707//20890 +f 17708//21470 17804//19780 17707//20890 +f 4604//9489 19629//9491 18452//9392 +f 17313//21048 25765//1551 21291//17127 +f 28624//10826 28612//14242 27285//21416 +f 2317//9985 2452//10067 2451//9989 +f 19643//21472 19642//21420 21594//21473 +f 18682//20662 18683//21387 18780//21474 +f 17367//21475 19042//21422 19646//21421 +f 19758//21476 17367//21475 19646//21421 +f 18082//19712 18210//19546 19042//21422 +f 17367//21475 18082//19712 19042//21422 +f 19142//14677 29551//21262 2137//14456 +f 35590//189 35477//8506 35409//190 +f 17370//7053 35193//10714 7214//7171 +f 3179//7544 35383//6696 35375//15260 +f 17465//12584 17553//20281 17464//5763 +f 26679//20250 26680//18124 24296//15205 +f 19781//20857 18131//21400 19625//20858 +f 19152//20686 18317//20685 18711//21102 +f 14595//20690 18411//20756 16965//20691 +f 1443//8293 1442//8207 1326//8291 +f 17435//21181 17523//21165 17522//21471 +f 18577//5054 18578//20790 18674//5055 +f 32835//21477 32836//21072 32943//20904 +f 19960//21045 2851//9615 2990//9549 +f 18203//21252 18204//21432 18297//21478 +f 19861//21479 19553//20835 19112//21253 +f 18944//21299 19045//18230 19044//21300 +f 19257//20945 19258//20083 17949//14685 +f 18745//21346 18746//21429 18844//21436 +f 18845//21435 18944//21299 18943//21298 +f 18843//21480 18844//21436 18942//21481 +f 18844//21436 18845//21435 18943//21298 +f 18745//21346 18844//21436 18843//21480 +f 18744//21347 18745//21346 18843//21480 +f 7223//14112 17744//8760 7222//21195 +f 18844//21436 18943//21298 18942//21481 +f 19044//21300 19043//21229 18942//21481 +f 18943//21298 19044//21300 18942//21481 +f 31051//6611 31050//21482 30989//6612 +f 25425//21483 29832//21484 25041//21485 +f 25289//21486 26225//21487 26699//21488 +f 17894//16707 2541//2823 2407//21489 +f 30188//21490 30187//21491 30055//21492 +f 30825//16706 17894//16707 22425//5344 +f 7193//4764 27959//21493 30807//4765 +f 31554//13860 31641//13848 31553//13980 +f 689//10763 687//21494 7411//4758 +f 7410//4759 6874//21495 6781//4760 +f 28678//13852 19559//2455 28810//1820 +f 19560//21496 21659//21453 26717//21455 +f 6857//21447 13563//5187 22327//20911 +f 30726//21497 30727//21498 6152//21446 +f 26828//4299 27873//5895 19792//4300 +f 21240//21499 21328//13009 21242//21500 +f 19596//21501 15898//21502 19899//21503 +f 30351//4925 17270//5974 17668//2637 +f 35605//4265 35883//3619 35741//4518 +f 19509//21504 19510//21505 19619//21011 +f 18370//21413 19259//21414 18332//20684 +f 17935//21210 19923//21220 3793//8318 +f 17547//21372 17548//21371 17641//21506 +f 1336//9276 18685//9205 1335//9100 +f 4153//20679 16964//21356 19921//21507 +f 18962//21365 5360//3029 5494//3231 +f 35630//10777 35399//5185 35456//5186 +f 18526//20798 19926//20829 19655//21362 +f 18786//20795 18787//20610 18885//20612 +f 19089//18625 19191//13774 19088//21272 +f 28742//21508 28482//14568 27177//14501 +f 17926//20883 17925//20885 17829//21318 +f 17287//15412 3330//21187 17288//21189 +f 17357//21182 17435//21181 17434//21509 +f 18575//20886 19861//21479 19775//19404 +f 16964//21356 18796//21184 19921//21507 +f 17733//21319 17732//21510 17637//21511 +f 27780//2615 30346//2614 35533//1931 +f 18435//21254 18726//21038 16964//21356 +f 18777//20933 18778//20932 18876//21512 +f 17729//20821 17825//20709 17728//20654 +f 26685//19785 24067//21513 26519//20833 +f 18581//21021 1332//8883 18678//20735 +f 29551//21262 28742//21508 27177//14501 +f 18951//18992 19052//936 19051//21514 +f 18655//18515 18753//18813 18752//21515 +f 18557//21516 18558//18483 18654//21517 +f 14819//18905 8563//15061 8578//14523 +f 27849//2459 27965//2296 27964//2295 +f 18558//18483 18557//21516 18461//21518 +f 1340//9536 18691//9601 1339//9456 +f 17730//21094 17729//20821 17634//21428 +f 19954//20716 19955//21519 19120//21520 +f 19647//21361 19644//21292 18905//20951 +f 18367//18362 18462//18438 18366//7273 +f 35671//9131 35524//9019 35641//8166 +f 1525//1988 461//883 18100//21358 +f 18110//21433 18203//21252 18202//21144 +f 19439//21329 17869//8826 19420//8827 +f 17808//134 17904//203 17807//21467 +f 5542//9160 5541//9043 19254//14381 +f 18197//21521 18291//21522 18196//20860 +f 18686//9275 18687//9277 18784//21523 +f 19509//21504 19619//21011 19618//21524 +f 19508//21310 19509//21504 19618//21524 +f 18138//21032 19420//8827 16386//21033 +f 27406//5668 27142//13319 27638//2654 +f 17868//19465 19301//9638 19299//14684 +f 19629//9491 19751//9563 19933//20703 +f 19618//21524 19729//21213 19728//21525 +f 18146//21313 18055//21312 19260//21412 +f 19403//9688 19402//21206 19295//21205 +f 18894//1994 18893//9979 18794//9975 +f 1927//9682 19195//20540 2052//9685 +f 28742//21508 19132//21526 29292//14594 +f 18949//19782 19050//21527 19049//3039 +f 7675//9829 156//9828 94//14700 +f 362//495 251//8871 6149//4284 +f 18400//21360 4325//8327 4192//8326 +f 19279//20757 17561//20759 18078//21528 +f 19833//21003 19947//21006 19946//1720 +f 18556//19264 17367//21475 19758//21476 +f 19646//21421 20398//21529 19758//21476 +f 19514//19531 18082//19712 17367//21475 +f 18556//19264 19514//19531 17367//21475 +f 2417//5173 19267//5172 19375//7079 +f 2180//9687 2181//9686 2312//9691 +f 22529//14789 22628//21530 22528//17893 +f 28427//4536 35887//7147 35721//4537 +f 35745//5317 35552//4385 35651//3700 +f 17739//20811 17740//1786 17835//1785 +f 18783//20831 18882//21174 18881//20832 +f 19266//5171 19373//5170 19265//20786 +f 25266//13154 25408//21531 25407//11194 +f 2317//9985 2451//9989 2316//9908 +f 19932//21157 18152//21532 19626//21533 +f 17434//21509 17435//21181 17522//21471 +f 19275//21023 19118//15381 17999//21024 +f 19840//20657 19954//20716 19953//20715 +f 17660//21339 18918//21281 17661//21377 +f 18677//21022 18678//20735 18775//21534 +f 382//7382 17727//20655 17823//21326 +f 19065//21280 18306//21535 18095//21376 +f 33161//16094 33266//1246 33160//16623 +f 35363//2261 19247//2260 35415//3015 +f 19404//21536 19736//14214 19210//21537 +f 26415//6045 29077//1985 30804//6044 +f 18773//21219 18774//21538 18872//8637 +f 1757//1389 5069//1383 1756//1390 +f 18979//21539 18980//21084 19080//21540 +f 19193//21541 19895//20880 17625//21311 +f 18676//21542 18774//21538 18773//21219 +f 18043//21307 19193//21541 17625//21311 +f 19922//20888 19444//20887 18516//21543 +f 149//2165 17439//21456 17440//12178 +f 18980//21084 19081//21086 19080//21540 +f 18089//20910 17568//20909 19781//20857 +f 3925//8321 18670//21222 4059//8322 +f 19771//21068 19655//21362 4192//8326 +f 17370//7053 7214//7171 7106//7051 +f 18193//21357 461//883 19824//882 +f 19281//20043 19388//20045 19387//20636 +f 7001//13101 7104//13007 7000//13006 +f 18575//20886 19775//19404 19444//20887 +f 17728//20654 17824//20701 17727//20655 +f 35906//9961 35599//9963 35776//17676 +f 28482//14568 28742//21508 29292//14594 +f 19736//14214 18909//1557 19210//21537 +f 19161//1694 19160//20637 19058//1695 +f 35577//6548 35350//9808 35658//6308 +f 18006//14215 19736//14214 19404//21536 +f 26426//4924 30351//4925 17668//2637 +f 17660//21339 17661//21377 19865//21378 +f 19289//21293 19290//21544 19396//21202 +f 4379//21303 19865//21378 18000//14018 +f 19620//21012 19731//21545 19730//21013 +f 18106//20763 18199//21291 18105//21236 +f 19936//19466 19319//9637 19301//9638 +f 18017//20868 18018//21315 18107//20762 +f 30876//21546 30875//21547 26349//21548 +f 16069//18949 18718//20544 18333//16156 +f 17635//20773 17730//21094 17634//21428 +f 18566//6957 18565//19641 18469//6649 +f 628//9093 513//9090 629//9199 +f 19886//21143 19926//20829 18526//20798 +f 33050//14892 33155//21549 33049//20906 +f 19188//19351 19189//19350 19292//20730 +f 18171//20802 19661//20993 19715//20797 +f 17356//15410 17357//21182 17434//21509 +f 18627//19405 18435//21254 4153//20679 +f 19112//21253 18435//21254 18627//19405 +f 18435//21254 16964//21356 4153//20679 +f 19719//21407 19831//21030 2706//21410 +f 18950//21550 18951//18992 19051//21514 +f 13124//14033 14332//18359 14341//18360 +f 18852//18990 18951//18992 18950//21550 +f 13124//14033 14341//18360 5054//15993 +f 18654//21517 18655//18515 18752//21515 +f 18851//21551 18852//18990 18950//21550 +f 18753//18813 18852//18990 18851//21551 +f 18752//21515 18753//18813 18851//21551 +f 19259//21414 19258//20083 18332//20684 +f 18370//21413 18332//20684 19155//20812 +f 18462//18438 18558//18483 18461//21518 +f 19306//20755 18146//21313 18411//20756 +f 18366//7273 18273//7272 18367//18362 +f 18558//18483 18655//18515 18654//21517 +f 19284//20050 19391//21275 19390//21552 +f 18462//18438 18461//21518 18366//7273 +f 19132//21526 21290//15193 47//14654 +f 12354//13738 27672//21553 27786//20206 +f 18727//20998 19852//21158 18007//20999 +f 19958//21554 17992//20677 19957//21555 +f 17904//203 17997//1283 17996//21556 +f 19260//21412 19155//20812 18147//20681 +f 17712//132 17808//134 17711//21466 +f 17903//21557 17904//203 17996//21556 +f 17289//21188 17357//21182 17356//15410 +f 17904//203 17903//21557 17807//21467 +f 17721//14017 21969//20196 5692//21558 +f 19288//20675 19289//21293 19395//21375 +f 11436//12863 33541//9060 11494//17092 +f 19089//18625 19088//21272 18987//20992 +f 29292//14594 19132//21526 47//14654 +f 22247//21559 13083//21560 29687//5313 +f 28591//3274 17389//3276 28871//21561 +f 35499//3672 35646//901 35708//2556 +f 12803//17762 19640//1074 19536//17763 +f 395//8749 509//8622 394//8623 +f 19050//21527 19051//21514 2144//15992 +f 19751//9563 19629//9491 4739//9490 +f 2807//21562 17321//1668 19036//1670 +f 18016//20764 18106//20763 18015//21237 +f 16552//19265 19758//21476 21320//21563 +f 35727//13183 35755//21464 35792//16409 +f 35756//1165 35849//12100 35911//4729 +f 35931//6338 35377//3510 35672//9826 +f 147//18466 17849//8873 17626//8872 +f 19268//20768 2285//7076 19375//7079 +f 17949//14685 5679//1354 5543//1356 +f 35817//5585 35588//2799 35811//2201 +f 17963//21564 19439//21329 18130//21328 +f 5415//9581 19297//20758 14533//18564 +f 19406//21128 16644//21333 18217//21276 +f 17361//21565 17439//21456 17438//21332 +f 17950//9393 1523//9433 4469//9391 +f 17360//21331 17361//21565 17438//21332 +f 19187//21566 19188//19351 19291//20731 +f 29489//21567 29488//5316 29351//21568 +f 19059//1693 19060//20718 19161//1694 +f 16988//20370 15624//20332 3071//21355 +f 18918//21281 19065//21280 18095//21376 +f 4154//21396 18337//1698 19694//21569 +f 35620//14064 35370//6244 14176//16264 +f 19773//21097 18364//21570 18306//21535 +f 17652//21124 19820//20046 17944//20048 +f 17533//21571 19270//21572 18402//21573 +f 19210//21537 18909//1557 18616//1716 +f 19595//15169 1640//2213 17150//300 +f 29493//21574 29631//5894 29131//21176 +f 35645//2707 35357//8943 35616//8945 +f 4863//8440 4728//8436 4864//8564 +f 23624//15913 27018//16047 24089//20202 +f 18576//20787 18577//5054 1444//5056 +f 18781//20871 18782//20830 18880//20872 +f 19220//21295 19335//21359 19226//20893 +f 18782//20830 18881//20832 18880//20872 +f 18915//20616 5987//20702 18128//21167 +f 35432//2949 35458//9372 35355//2950 +f 31607//21575 31702//21576 31606//21577 +f 2144//15992 2143//3037 19049//3039 +f 19443//20803 19705//20804 19871//20836 +f 34013//21578 34149//21579 34012//21580 +f 18947//21581 18948//19783 19048//3038 +f 18696//21582 18075//8437 19628//21583 +f 17425//21584 17513//21585 17424//21586 +f 17607//21587 17703//14592 20306//18601 +f 17347//21588 17425//21584 17346//21589 +f 17513//21585 17607//21587 17512//21590 +f 35188//21591 35317//21592 35187//14148 +f 17513//21585 17512//21590 17424//21586 +f 17277//21593 34652//21594 17278//21595 +f 17425//21584 17424//21586 17346//21589 +f 18402//21573 18006//14215 19404//21536 +f 18243//20873 18115//21156 19852//21158 +f 18137//21596 18320//21597 19314//21598 +f 17907//21599 18664//21600 18226//21601 +f 19065//21280 19773//21097 18306//21535 +f 18877//21602 18976//21603 18975//21123 +f 19181//20823 19182//21059 19285//21061 +f 19160//20637 19161//1694 19264//20978 +f 28199//1500 28316//2998 28315//1501 +f 18581//21021 18580//21604 18484//6445 +f 19587//21177 17950//9393 18915//20616 +f 22274//21605 22370//21606 29352//21607 +f 17439//21456 17527//2167 17526//21354 +f 17438//21332 17439//21456 17526//21354 +f 17527//2167 17621//5461 17620//1169 +f 17526//21354 17527//2167 17620//1169 +f 18564//20734 18563//6544 1309//6543 +f 18290//20861 1090//7860 971//7766 +f 19955//21519 18626//21608 19120//21520 +f 18884//21228 18983//21009 18982//21008 +f 17925//20885 18018//21315 18017//20868 +f 18007//20999 19626//21533 17960//21609 +f 17553//20281 17647//20283 17646//21092 +f 18234//21249 18311//20692 18191//20648 +f 18108//21610 18201//21370 18200//21289 +f 18279//21611 19775//19404 18434//19406 +f 508//8511 507//8510 393//1787 +f 17924//21270 17925//20885 18017//20868 +f 18018//21315 18108//21610 18107//20762 +f 14895//1440 17915//18994 18650//20738 +f 19079//20822 19080//21540 19181//20823 +f 19661//20993 18528//21316 19886//21143 +f 19508//21310 19618//21524 19617//21612 +f 19507//21613 19508//21310 19617//21612 +f 18002//21169 18243//20873 18727//20998 +f 11696//15983 35615//2751 11315//8996 +f 32626//21614 32740//21615 32625//21616 +f 1222//9455 1338//9349 1337//9348 +f 35793//3572 12393//3571 1616//5534 +f 17284//21617 17353//20723 17352//11153 +f 27298//21095 26474//13689 26470//21417 +f 19132//21526 26592//20991 21290//15193 +f 17431//21618 17430//11151 17352//11153 +f 17353//20723 17431//21618 17352//11153 +f 17519//21619 17518//20957 17430//11151 +f 17431//21618 17519//21619 17430//11151 +f 17519//21619 17613//21469 17518//20957 +f 19871//20836 18726//21038 18435//21254 +f 17613//21469 17612//20936 17518//20957 +f 17708//21470 17707//20890 17612//20936 +f 19732//20673 19731//21545 19620//21012 +f 19507//21613 19617//21612 19616//19128 +f 19179//20964 19283//20051 19282//20044 +f 18299//20983 18298//8630 18204//21432 +f 4644//6928 11029//11588 4779//4015 +f 19178//21409 19179//20964 19282//20044 +f 17919//21321 612//7480 497//7479 +f 35227//21620 35866//17943 35637//2505 +f 2554//6962 19484//7081 2419//7078 +f 19819//21379 18007//20999 17960//21609 +f 17462//21621 17463//5760 17550//20825 +f 26799//10521 6922//14722 6921//14785 +f 5148//7576 14631//8312 5147//9780 +f 17625//21311 18531//20796 18628//21151 +f 19076//21411 19077//20054 19178//21409 +f 3966//1369 3040//1365 4261//21622 +f 32614//21623 32728//21624 32613//21625 +f 19077//20054 19179//20964 19178//21409 +f 18690//9457 18788//20851 18787//20610 +f 18848//16655 18947//21581 18946//20847 +f 19830//20813 17861//19263 19278//14778 +f 35727//13183 35792//16409 35877//4443 +f 14162//15556 16650//18858 16649//16857 +f 23954//21626 23955//15194 21290//15193 +f 35847//8310 21474//8309 35519//8504 +f 6998//12814 6997//12732 35317//21592 +f 18203//21252 18297//21478 18296//21145 +f 17831//21627 17830//21317 17734//21224 +f 17649//20784 17744//8760 17743//8751 +f 14636//19261 15799//18981 15798//18940 +f 17538//21186 17632//20656 17537//21628 +f 18104//20960 18197//21521 18103//7856 +f 18975//21123 18976//21603 19076//21411 +f 17642//21323 17737//20919 17736//20918 +f 17861//19263 19830//20813 2631//10059 +f 19652//20047 18468//21327 18491//21235 +f 11203//2700 578//2506 1146//2501 +f 19697//21163 18046//3219 19552//3027 +f 19023//21629 18076//21630 17844//21631 +f 17659//21227 17655//21233 19231//21632 +f 19962//21633 19330//21634 18632//21635 +f 1456//9600 1457//9673 1572//9676 +f 24456//21636 29156//21637 24455//4616 +f 30082//5335 30094//5342 20176//1525 +f 6781//4760 6874//21495 6899//603 +f 11455//21445 19194//687 19035//1221 +f 18803//21638 18597//21639 19825//21640 +f 26411//12127 28854//21641 19141//12128 +f 26726//21642 26615//6435 26727//21643 +f 19940//21644 18401//21645 17938//21646 +f 18002//21169 3670//9371 19809//17019 +f 18574//21647 18091//17832 18805//5709 +f 2570//8526 2436//8647 2571//8534 +f 1544//18394 18663//6958 1428//6859 +f 1456//9600 1572//9676 18789//20245 +f 5456//2154 19102//7755 18695//21000 +f 19008//21648 19315//21649 19531//21650 +f 19184//21197 19185//20968 19288//20675 +f 18401//21645 19008//21648 18536//21651 +f 18536//21651 19008//21648 19531//21650 +f 19315//21649 1271//21652 17862//21653 +f 17938//21646 18401//21645 18536//21651 +f 18323//21654 18229//21655 18417//21656 +f 19531//21650 19315//21649 17862//21653 +f 1271//21652 18229//21655 18323//21654 +f 17473//21657 18091//17832 18574//21647 +f 17862//21653 1271//21652 18323//21654 +f 18229//21655 17473//21657 18417//21656 +f 18597//21639 19940//21644 19825//21640 +f 18417//21656 17473//21657 18574//21647 +f 4022//3973 4155//3979 19205//21658 +f 17845//21659 17846//21660 17858//21661 +f 18320//21597 17907//21599 18226//21601 +f 35728//6505 35664//7275 35478//977 +f 19085//20712 19086//21382 19187//21566 +f 19692//21662 18137//21596 19691//21663 +f 16965//20691 19123//20683 167//21127 +f 26909//5208 28218//21664 29692//5066 +f 17999//21024 19694//21569 19693//21665 +f 4779//4015 4778//4176 4644//6928 +f 19083//21010 19185//20968 19184//21197 +f 344//21666 21288//2467 11404//2469 +f 35764//2693 35763//2761 35644//580 +f 15799//18981 14636//19261 19514//19531 +f 18873//21667 18874//20864 1796//8638 +f 19499//20732 19500//21250 19609//20733 +f 832//5323 831//20644 17998//1282 +f 15322//17664 24577//21668 21796//12456 +f 18562//6545 18561//21366 18465//6304 +f 18957//21090 19058//1695 19057//21091 +f 26683//14959 20331//21669 24652//21670 +f 18620//18594 18039//21671 16195//18596 +f 19722//20740 19835//20705 19834//20704 +f 18204//21432 18298//8630 18297//21478 +f 19088//21272 19190//21274 19189//19350 +f 18494//20923 18322//20881 19895//20880 +f 6913//14253 7012//14170 17468//14169 +f 1561//8518 18773//21219 1678//8519 +f 18297//21478 18298//8630 18390//6443 +f 7744//4354 1167//3641 7628//11301 +f 2417//5173 19484//7081 2552//6752 +f 5069//1383 18004//1385 3045//1386 +f 17542//20771 17636//21386 17541//20772 +f 1378//1532 3597//1536 3464//1538 +f 19753//21305 18920//21110 19277//18942 +f 19277//18942 19603//20009 1412//2739 +f 19365//1377 1379//1376 19421//12474 +f 19444//20887 19445//21147 18516//21543 +f 4421//3775 4555//3782 18595//3776 +f 17942//21278 18035//21034 18237//20828 +f 17537//21628 17631//21314 270//7176 +f 19432//3026 4684//1977 19760//21458 +f 18760//3980 18859//21183 18858//20713 +f 35885//7574 35872//7575 35795//12608 +f 18284//9602 18498//1366 1493//1373 +f 17999//21024 4154//21396 19694//21569 +f 19694//21569 18337//1698 19657//21388 +f 19810//21139 18459//21179 18040//21304 +f 18834//21164 19868//21096 17469//21279 +f 21215//17839 18748//15415 18847//15414 +f 18109//21369 18110//21433 18202//21144 +f 7434//13180 11224//816 7435//13093 +f 18584//21080 18582//20994 19439//21329 +f 35770//609 21648//13470 35808//3503 +f 18562//6545 18659//21672 18658//21367 +f 18561//21366 18562//6545 18658//21367 +f 18659//21672 18757//21673 18756//21368 +f 18658//21367 18659//21672 18756//21368 +f 18757//21673 18856//21674 18855//21383 +f 18756//21368 18757//21673 18855//21383 +f 18856//21674 18955//21675 18954//21384 +f 18855//21383 18856//21674 18954//21384 +f 18955//21675 19056//21676 19055//21385 +f 18954//21384 18955//21675 19055//21385 +f 19921//21507 18796//21184 584//21019 +f 19056//21676 19158//21677 19157//19262 +f 18847//15414 18848//16655 18946//20847 +f 18296//21145 18389//20725 18388//20779 +f 18620//18594 19830//20813 19539//18577 +f 19539//18577 2207//14777 11440//21678 +f 35580//9551 35906//9961 35732//19219 +f 2585//9910 2450//9909 2451//9989 +f 18378//21679 18246//1730 555//1729 +f 18196//20860 971//7766 852//7765 +f 26578//12450 26579//12452 26683//14959 +f 18835//21334 17963//21564 18130//21328 +f 18733//12267 2887//18682 15755//1953 +f 19055//21385 19056//21676 19157//19262 +f 19157//19262 19158//21677 2279//6328 +f 17659//21227 19231//21632 3661//8319 +f 711//20820 19306//20755 14595//20690 +f 19258//20083 19259//21414 17868//19465 +f 3661//8319 3660//8226 19881//8370 +f 17861//19263 15799//18981 18556//19264 +f 18459//21179 18834//21164 17469//21279 +f 19697//21163 19552//3027 19868//21096 +f 19474//21680 19583//21681 18076//21630 +f 18499//21682 19023//21629 17844//21631 +f 18912//21683 19330//21634 19962//21633 +f 18911//21684 18912//21683 19962//21633 +f 18967//21685 18363//21686 19068//21687 +f 18363//21686 19116//21688 19068//21687 +f 17923//20815 18016//20764 17922//20708 +f 380//7178 270//7176 381//7285 +f 18908//21689 19944//21690 19918//21691 +f 19825//21640 19940//21644 17938//21646 +f 17761//21692 18908//21689 18904//21693 +f 17748//21694 17761//21692 18904//21693 +f 17391//21695 19302//21696 18525//21697 +f 18424//21698 19778//21699 17951//21700 +f 19302//21696 17391//21695 19230//21349 +f 18923//21348 19302//21696 19230//21349 +f 17697//21701 17761//21692 17748//21694 +f 19302//21696 18424//21698 18525//21697 +f 18525//21697 18424//21698 17951//21700 +f 1067//21702 17697//21701 17748//21694 +f 19778//21699 17697//21701 1067//21702 +f 17951//21700 19778//21699 1067//21702 +f 13582//7374 35945//6694 7074//21703 +f 26585//21704 26802//2837 27758//2839 +f 26390//21705 26253//3786 25365//17326 +f 19337//21380 18210//19546 6648//19547 +f 35655//9470 35721//4537 35654//14193 +f 18296//21145 18297//21478 18389//20725 +f 19944//21690 19307//21706 17819//21707 +f 17819//21707 19307//21706 19826//21708 +f 18904//21693 18908//21689 19918//21691 +f 19918//21691 19944//21690 17819//21707 +f 19105//21709 17858//21661 18041//21710 +f 18132//21711 19105//21709 18041//21710 +f 29901//21712 29902//4921 30032//9547 +f 35588//2799 35589//5470 35812//2800 +f 18305//4317 19692//21662 19488//21713 +f 18137//21596 19314//21598 19691//21663 +f 18151//20921 18494//20923 19193//21541 +f 19871//20836 19705//20804 18726//21038 +f 19296//9689 19403//9688 19295//21205 +f 29686//21154 28361//20990 30209//21155 +f 17992//20677 17472//21043 19169//21714 +f 18477//21715 5057//1711 5199//1713 +f 19081//21086 19082//21196 19183//21198 +f 17909//20902 18516//21543 19534//21036 +f 1332//8883 18583//8882 18679//20736 +f 19158//21677 19262//21374 2279//6328 +f 18152//21532 19922//20888 17960//21609 +f 5688//10089 15894//19771 14707//1160 +f 17997//1283 17998//1282 831//20644 +f 30420//1141 27752//21716 21574//17280 +f 5987//20702 19933//20703 18128//21167 +f 18749//15413 18848//16655 18847//15414 +f 18500//21717 19432//3026 18621//21718 +f 18986//21073 18987//20992 19087//19349 +f 18500//21717 18621//21718 18364//21570 +f 19773//21097 18500//21717 18364//21570 +f 29076//21719 22082//21720 22177//21721 +f 19432//3026 19760//21458 18621//21718 +f 22082//21720 29076//21719 28941//21722 +f 18530//21723 18434//19406 19585//20849 +f 29489//21567 29627//5314 29488//5316 +f 19768//20614 19544//21724 19148//8328 +f 1334//9099 18683//21387 18682//20662 +f 18983//21009 19084//20966 19083//21010 +f 5894//2830 5761//2826 5895//3042 +f 35884//11058 35720//1945 35372//3902 +f 19544//21724 19768//20614 17794//20613 +f 18892//21725 18991//21363 1691//9754 +f 18991//21363 18892//21725 18893//9979 +f 17766//6159 18962//21365 18912//21683 +f 17765//20761 17766//6159 18912//21683 +f 18962//21365 18143//14383 19330//21634 +f 18912//21683 18962//21365 19330//21634 +f 18143//14383 19312//1659 19013//21726 +f 19330//21634 18143//14383 19013//21726 +f 5893//2632 5761//2826 5894//2830 +f 157//2540 6256//2535 18630//18943 +f 18905//20951 17724//20953 19891//21107 +f 19889//21138 19810//21139 19776//21340 +f 18459//21179 17469//21279 18040//21304 +f 17458//20646 17546//21727 17545//20647 +f 34140//1148 34278//848 34139//850 +f 26427//21120 7193//4764 27839//4766 +f 19373//5170 19482//6871 19372//20785 +f 18945//21035 19046//20846 19045//18230 +f 33055//16622 33054//16624 32948//16620 +f 18237//20828 18026//21728 18400//21360 +f 1378//1532 3464//1538 1379//1376 +f 19947//21006 19948//20706 17652//21124 +f 18015//21237 18105//21236 18014//20959 +f 19283//20051 19284//20050 19390//21552 +f 17927//21425 17926//20883 17830//21317 +f 17558//20856 19625//20858 19743//21209 +f 18386//20671 18385//21729 18292//20672 +f 19372//20785 19481//21064 19371//21730 +f 18886//20611 18887//20850 18985//20711 +f 19539//18577 18039//21671 18620//18594 +f 4819//2794 4684//1977 4685//2795 +f 19043//21229 19044//21300 19045//18230 +f 20563//7248 17994//19433 18085//19649 +f 17920//20700 17919//21321 17823//21326 +f 18311//20692 16965//20691 18228//20649 +f 18684//9101 18685//9205 18782//20830 +f 978//10058 15798//18940 2631//10059 +f 12826//11919 18176//2264 14685//16648 +f 35824//10184 35455//9401 35358//8193 +f 17731//21093 17730//21094 17635//20773 +f 18198//21731 18292//20672 18197//21521 +f 18292//20672 18291//21522 18197//21521 +f 18292//20672 18385//21729 18291//21522 +f 11649//3055 6662//1666 7415//3056 +f 18385//21729 18384//21732 18291//21522 +f 17831//21627 17927//21425 17830//21317 +f 18796//21184 17840//20615 584//21019 +f 29009//16612 28549//8739 28875//14552 +f 6662//1666 6897//13783 22054//1667 +f 19023//21629 19474//21680 18076//21630 +f 18834//21164 19697//21163 19868//21096 +f 28988//21160 27644//21733 28250//21734 +f 19474//21680 19649//21735 19367//21736 +f 19750//21737 1651//21738 19116//21688 +f 19330//21634 19013//21726 18632//21635 +f 19116//21688 17865//21739 18303//21740 +f 18363//21686 19750//21737 19116//21688 +f 21842//5778 29631//5894 26583//20781 +f 16644//21333 18339//21277 18217//21276 +f 19422//21741 17959//21742 18051//21743 +f 19618//21524 19619//21011 19729//21213 +f 28225//21054 12192//19532 24285//21744 +f 18878//20792 18977//20052 18976//21603 +f 17511//21745 17510//21746 17422//21747 +f 19512//9694 19622//9607 19511//21748 +f 17423//21749 17422//21747 17344//21750 +f 17345//21751 17423//21749 17344//21750 +f 18875//20863 18974//20934 18973//20974 +f 17345//21751 17344//21750 17276//21752 +f 19074//8643 19075//20935 19176//3791 +f 17276//21752 34386//21753 34523//21754 +f 18579//21226 18580//21604 18676//21542 +f 35428//3511 35733//5469 35351//6861 +f 1221//9347 1337//9348 1336//9276 +f 30284//21755 30285//21756 30417//19454 +f 32766//21757 32878//21758 32765//21759 +f 16386//21033 4864//8564 4728//8436 +f 2419//7078 2285//7076 2286//7077 +f 18981//21085 18982//21008 19082//21196 +f 2580//9606 2581//9611 2715//7857 +f 18677//21022 18775//21534 18774//21538 +f 28196//3254 28195//2958 28078//16833 +f 21111//1211 21200//14108 21199//14566 +f 19851//21760 17984//21761 18120//21762 +f 17984//21761 18132//21711 18041//21710 +f 29955//21763 5464//8605 30083//2130 +f 26702//12064 26703//21764 26814//5195 +f 7634//14730 7519//9951 7520//14312 +f 30167//21765 30300//21766 30299//21767 +f 28692//2312 28824//21768 28823//2313 +f 21291//17127 17672//17126 17313//21048 +f 1444//5056 1443//8293 18576//20787 +f 19078//20053 19180//20049 19179//20964 +f 1931//9981 2055//9983 1930//9905 +f 35856//9962 35425//15380 35599//9963 +f 18497//20901 16802//20900 18059//20903 +f 18099//21271 18092//20086 18322//20881 +f 19332//21769 19331//20962 19469//20963 +f 478//5319 17810//5174 17714//1168 +f 19954//20716 19120//21520 19066//20546 +f 17840//20615 18488//20617 17931//21020 +f 31170//14946 31234//15743 31233//4172 +f 17472//21043 18696//21582 19169//21714 +f 17842//21770 18151//20921 19193//21541 +f 17953//1725 6395//1717 3189//1723 +f 30774//8740 6531//21771 29144//8741 +f 19269//21772 19259//21414 18370//21413 +f 19270//21572 18006//14215 18402//21573 +f 18320//21597 18226//21601 19314//21598 +f 18471//21773 19270//21572 17533//21571 +f 18571//21774 18471//21773 17533//21571 +f 19764//21775 18471//21773 18571//21774 +f 17446//21776 19764//21775 18571//21774 +f 18605//21777 19323//21778 18715//21779 +f 18828//21780 19764//21775 17446//21776 +f 19582//21781 19367//21736 18605//21777 +f 18715//21779 18828//21780 17446//21776 +f 19584//21782 19583//21681 19582//21781 +f 19323//21778 18828//21780 18715//21779 +f 18076//21630 19583//21681 19935//21783 +f 19367//21736 19323//21778 18605//21777 +f 17844//21631 18076//21630 17749//21784 +f 19583//21681 19367//21736 19582//21781 +f 17907//21599 17844//21631 18664//21600 +f 19583//21681 19584//21782 19935//21783 +f 17844//21631 17749//21784 18664//21600 +f 18076//21630 19935//21783 17749//21784 +f 17765//20761 18912//21683 18911//21684 +f 17764//21785 17765//20761 18911//21684 +f 19649//21735 18722//21786 19323//21778 +f 19367//21736 19649//21735 19323//21778 +f 19876//21135 19889//21138 17933//6288 +f 19810//21139 18040//21304 19776//21340 +f 2141//17237 19045//18230 2142//20975 +f 27261//5072 28486//4310 26411//12127 +f 19390//21552 19391//21275 19499//20732 +f 3861//1523 18337//1698 2257//1697 +f 18384//21732 18385//21729 18479//8290 +f 18385//21729 18480//20788 18479//8290 +f 19725//21462 19726//19130 19838//21258 +f 17386//5762 13576//21071 19521//7036 +f 19163//20769 19162//21787 19060//20718 +f 18785//21232 18884//21228 18883//21257 +f 19372//20785 19371//21730 19264//20978 +f 19720//21322 19721//21406 19833//21003 +f 19839//20658 19953//20715 19952//20878 +f 17851//21788 18425//21789 6024//2630 +f 18339//21277 18130//21328 18138//21032 +f 15390//18996 18430//19718 15520//9334 +f 951//10136 20723//14309 20642//16588 +f 1412//2739 19603//20009 3063//2738 +f 19552//3027 18500//21717 19773//21097 +f 2631//10059 18620//18594 15036//10057 +f 19402//21206 19401//21790 19294//21207 +f 19290//21544 19397//21203 19396//21202 +f 17373//2699 17451//3019 17450//21791 +f 19498//8532 19499//20732 19608//8533 +f 17555//19708 17554//20282 17466//20118 +f 17467//14168 17555//19708 17466//20118 +f 18793//19615 1459//9824 1460//9898 +f 17549//20824 17548//21371 17460//21792 +f 18583//8882 1333//9102 18680//20931 +f 18960//12449 18959//20717 18860//21104 +f 17890//6964 19859//6876 19959//21255 +f 1333//9102 1334//9099 18682//20662 +f 18650//20738 15014//20580 14894//1436 +f 578//2506 2773//2341 1146//2501 +f 19431//21793 18923//21348 19864//21350 +f 27665//4601 26427//21120 26576//4602 +f 4556//3778 19229//3780 4555//3782 +f 35712//4286 35854//5116 35602//3454 +f 3259//8306 3260//8406 3398//8307 +f 19583//21681 19474//21680 19367//21736 +f 24095//15494 16311//16603 20176//1525 +f 27843//5074 27959//21493 27778//5071 +f 17952//20539 18585//9783 1070//9404 +f 18032//21794 18215//21795 1651//21738 +f 19664//21796 19336//21797 19665//21798 +f 19068//21687 18303//21740 18587//21799 +f 17959//21742 17862//21653 18416//21800 +f 18406//21801 17770//21802 19888//21803 +f 18030//21804 19313//21805 19849//21806 +f 19386//21807 19422//21741 18049//21808 +f 22679//21809 22581//5421 30028//4431 +f 6790//10764 7411//4758 6654//9116 +f 30065//21810 22588//16560 30197//21811 +f 6876//4435 18928//19541 26427//21120 +f 30209//21155 26592//20991 19132//21526 +f 33169//21812 33274//21813 33168//21814 +f 18836//21815 19745//21816 18693//21817 +f 32293//5483 32292//4753 32191//15817 +f 6899//603 19035//1221 23244//604 +f 19811//21818 18836//21815 18693//21817 +f 19811//21818 18693//21817 17536//21288 +f 17528//21819 19811//21818 17536//21288 +f 18731//21820 19326//21821 19667//21822 +f 19382//21823 17442//21824 19745//21816 +f 18836//21815 19382//21823 19745//21816 +f 19666//21825 19667//21822 17442//21824 +f 19666//21825 18731//21820 19667//21822 +f 19382//21823 19666//21825 17442//21824 +f 18676//21542 18677//21022 18774//21538 +f 17475//21826 19648//21827 19326//21821 +f 26474//13689 27296//13688 26470//21417 +f 19621//21828 19620//21012 19510//21505 +f 19011//21829 17984//21761 18041//21710 +f 18238//21830 17839//21831 19744//21832 +f 2277//5888 12574//21833 2276//5887 +f 17984//21761 19011//21829 18120//21762 +f 19692//21662 19691//21663 19488//21713 +f 17863//21834 17369//21835 11575//21836 +f 24170//21837 27505//21838 27504//15496 +f 29928//18883 29927//18884 29798//21839 +f 19082//21196 19083//21010 19184//21197 +f 28738//21840 29259//16225 29000//5481 +f 17743//8751 17744//8760 395//8749 +f 17847//21841 19780//8438 19819//21379 +f 17950//9393 18452//9392 5987//20702 +f 30088//21842 28242//21843 19690//21844 +f 19586//21263 19782//21067 19942//21066 +f 17644//20810 17739//20811 17738//21152 +f 19580//19719 18430//19718 15390//18996 +f 17550//20825 17549//20824 17461//21845 +f 18268//21846 18137//21596 19692//21662 +f 19845//21046 19844//21015 19731//21545 +f 17753//20899 17847//21841 16802//20900 +f 19693//21665 18268//21846 19692//21662 +f 19026//475 18075//8437 18696//21582 +f 19187//21566 19291//20731 19290//21544 +f 17828//21259 17829//21318 17924//21270 +f 18498//1366 18499//21682 17914//1367 +f 19511//21748 19621//21828 19510//21505 +f 3040//1365 1493//1373 18498//1366 +f 19191//13774 19190//21274 19088//21272 +f 18849//21083 18948//19783 18947//21581 +f 18842//21847 18941//21231 18940//20743 +f 14159//13952 15374//813 15505//824 +f 14063//15643 14062//15765 15639//20159 +f 18841//21848 18842//21847 18940//20743 +f 18743//16650 18842//21847 18841//21848 +f 18742//16362 18743//16650 18841//21848 +f 30815//21849 25242//21850 30814//21851 +f 4068//9378 4201//9384 19705//20804 +f 454//15236 29686//21154 19495//14676 +f 30734//2129 28622//2128 27257//5346 +f 28984//21852 26415//6045 3752//5779 +f 27614//11439 27731//17051 27730//1748 +f 2407//21489 2541//2823 688//21853 +f 2273//21854 2404//21855 19451//21856 +f 17794//20613 17765//20761 17764//21785 +f 17698//21857 17794//20613 17764//21785 +f 18722//21786 18865//1384 18828//21780 +f 19323//21778 18722//21786 18828//21780 +f 35706//6704 35841//918 35545//5109 +f 19889//21138 19776//21340 17933//6288 +f 33082//21858 33187//20194 33081//17448 +f 3756//4152 19126//3974 18175//21134 +f 17964//20682 19152//20686 19440//21062 +f 19892//21108 19891//21107 18819//20922 +f 27017//14160 27134//6006 27133//6005 +f 17555//19708 17649//20784 17648//20741 +f 34979//9496 17531//6289 5692//21558 +f 24217//21859 6655//21860 25373//21861 +f 24861//21862 24989//5539 1530//5541 +f 18243//20873 19852//21158 18727//20998 +f 27265//21266 27298//21095 26470//21417 +f 4287//21133 18717//3777 18212//21149 +f 17451//3019 17539//21427 17450//21791 +f 19086//21382 19188//19351 19187//21566 +f 19195//20540 1927//9682 19092//20541 +f 19061//10791 19163//20769 19060//20718 +f 28988//21160 28250//21734 7885//21161 +f 21142//4915 22446//21863 28246//21159 +f 18059//20903 17909//20902 19534//21036 +f 28486//4310 18618//5211 685//2838 +f 18333//16156 16212//18997 16069//18949 +f 117//12039 7037//2722 116//5158 +f 18317//20685 18332//20684 19257//20945 +f 18322//20881 18092//20086 19171//20818 +f 18835//21334 18130//21328 18339//21277 +f 17736//20918 17832//20920 17735//21223 +f 19933//20703 19331//20962 19332//21769 +f 19730//21013 19843//21016 19842//21864 +f 17824//20701 17823//21326 17727//20655 +f 17486//21865 17485//21866 17397//21342 +f 21737//14218 21832//21867 21831//21868 +f 18610//21869 17702//21870 18042//21871 +f 17486//21865 17580//21872 17485//21866 +f 28824//21768 28957//21873 28956//21874 +f 20022//1546 17675//21875 20102//21876 +f 18685//9205 18783//20831 18782//20830 +f 18234//21249 18191//20648 19442//20652 +f 17642//21323 17643//20826 17737//20919 +f 18035//21034 4594//20976 18026//21728 +f 394//8623 393//1787 17741//18468 +f 19396//21202 19505//21204 19504//20776 +f 1531//19521 1648//19523 19514//19531 +f 19395//21375 19396//21202 19504//20776 +f 396//8761 510//8753 395//8749 +f 19163//20769 19267//5172 19162//21787 +f 13699//15222 18929//21877 18190//21878 +f 33324//16364 33325//21879 33433//16542 +f 17920//20700 18013//20961 17919//21321 +f 19906//1526 30362//21880 30290//1527 +f 571//21190 18697//21881 18601//21882 +f 35921//9885 35905//9308 35892//8507 +f 28436//5307 28435//15086 28315//1501 +f 27959//21493 13488//5602 27778//5071 +f 19606//21883 19664//21796 18673//21884 +f 26617//12473 26728//21885 26727//21643 +f 18323//21654 18417//21656 18278//21886 +f 19336//21797 19068//21687 18587//21799 +f 19071//21887 19711//21888 18030//21804 +f 18416//21800 18323//21654 18278//21886 +f 3802//9376 3934//9379 18270//17018 +f 19849//21806 19386//21807 18049//21808 +f 19124//21889 18282//21890 18036//21891 +f 19599//21892 18425//21789 19117//21893 +f 11546//17114 11481//15877 11482//15941 +f 18036//21891 17943//21894 19204//21895 +f 19501//20698 19611//20695 19610//21251 +f 18482//20780 18578//20790 18577//5054 +f 6280//21896 11233//6051 14375//6050 +f 18300//12514 1885//21897 18289//20744 +f 17529//10961 18378//21679 18319//1586 +f 834//1784 17767//1701 833//5742 +f 1927//9682 1807//9680 19092//20541 +f 18339//21277 18138//21032 17942//21278 +f 18702//21898 18378//21679 17529//10961 +f 18150//21899 18702//21898 17529//10961 +f 19860//21900 18702//21898 18150//21899 +f 17722//21901 19860//21900 18150//21899 +f 18051//21743 19555//21902 19605//21903 +f 19605//21903 19555//21902 17722//21901 +f 17475//21826 18568//21904 19648//21827 +f 19472//21905 18810//21906 17864//21907 +f 18775//21534 18776//20737 18874//20864 +f 17923//20815 17922//20708 17826//20707 +f 19633//21908 18238//21830 19744//21832 +f 18120//21762 19530//21909 17839//21831 +f 19744//21832 29403//21910 19633//21908 +f 19851//21760 18120//21762 18238//21830 +f 23903//21116 30556//4911 23845//21911 +f 27875//19071 27893//19070 29354//4767 +f 27056//16894 27057//2852 28370//14742 +f 21891//21912 28807//21913 28675//21914 +f 18305//4317 18377//4316 18140//21025 +f 30941//21915 30940//21916 30886//17004 +f 18592//21260 17988//20084 18099//21271 +f 18592//21260 18497//20901 17988//20084 +f 165//7173 17537//21628 270//7176 +f 17389//3276 17467//14168 17388//7035 +f 19959//21255 19958//21554 19844//21015 +f 19732//20673 19845//21046 19731//21545 +f 17914//1367 17907//21599 18320//21597 +f 18147//20681 19155//20812 17964//20682 +f 18369//20995 1191//6302 18465//6304 +f 17723//3767 832//5323 17767//1701 +f 17721//14017 19930//14016 19896//21917 +f 30457//1975 30456//2315 30323//1976 +f 34340//18510 17851//21788 6154//12570 +f 17793//21918 19606//21883 18188//21919 +f 19212//21920 18524//21921 18803//21638 +f 6531//21771 30774//8740 28681//14790 +f 19635//21922 17674//21923 19212//21920 +f 18524//21921 18597//21639 18803//21638 +f 18624//21924 19119//21925 19635//21922 +f 17674//21923 18524//21921 19212//21920 +f 19119//21925 18624//21924 19377//21926 +f 18410//21927 19119//21925 19377//21926 +f 18410//21927 19377//21926 18572//21928 +f 19119//21925 17674//21923 19635//21922 +f 19653//21929 18818//21930 18572//21928 +f 18818//21930 18410//21927 18572//21928 +f 17845//21659 19653//21929 17770//21802 +f 17770//21802 19653//21929 18572//21928 +f 19105//21709 17845//21659 17858//21661 +f 17846//21660 17845//21659 17770//21802 +f 4022//3973 3888//3972 3889//3971 +f 17637//21511 17732//21510 17731//21093 +f 19750//21737 18032//21794 1651//21738 +f 18340//21931 18341//21932 18215//21795 +f 19148//8328 19544//21724 18694//21933 +f 19544//21724 17794//20613 17698//21857 +f 18865//1384 19763//21934 19764//21775 +f 18828//21780 18865//1384 19764//21775 +f 17160//3127 16997//18451 2921//3126 +f 28486//4310 26802//2837 26411//12127 +f 19126//3974 17443//21136 18175//21134 +f 18175//21134 17859//1980 5332//4151 +f 18316//21296 18183//20817 18092//20086 +f 19205//21658 18286//21137 17443//21136 +f 19511//21748 19510//21505 19401//21790 +f 19614//20946 19615//20669 19725//21462 +f 18876//21512 18877//21602 18975//21123 +f 3311//16229 15490//899 2803//18348 +f 18400//21360 18026//21728 4325//8327 +f 4593//8329 18026//21728 4594//20976 +f 19267//5172 19266//5171 19162//21787 +f 18976//21603 19077//20054 19076//21411 +f 35766//14247 35933//637 35944//16775 +f 18198//21731 18197//21521 18104//20960 +f 1412//2739 157//2540 18630//18943 +f 18960//12449 19061//10791 18959//20717 +f 5813//9309 5679//1354 5814//9408 +f 35513//6100 35713//9063 35665//6815 +f 2134//20243 15904//20242 16170//20289 +f 19407//9907 2315//9836 2183//9835 +f 14648//9403 15894//19771 17952//20539 +f 396//8761 17744//8760 7334//9091 +f 19843//21016 19957//21555 19956//21935 +f 19540//474 18002//21169 17656//21005 +f 18480//20788 18481//21936 18576//20787 +f 19729//21213 19730//21013 19842//21864 +f 19957//21555 19169//21714 19273//21937 +f 19842//21864 19843//21016 19956//21935 +f 17487//21938 17486//21865 17398//21939 +f 32685//21341 17398//21939 17397//21342 +f 17581//21940 17580//21872 17486//21865 +f 17487//21938 17581//21940 17486//21865 +f 17676//21941 17675//21875 17580//21872 +f 17581//21940 17676//21941 17580//21872 +f 18858//20713 18957//21090 18956//21089 +f 17773//16498 17772//16497 17676//21941 +f 19926//20829 18400//21360 19655//21362 +f 28138//21942 28255//21943 12801//16150 +f 3925//8321 19923//21220 18670//21222 +f 17832//20920 17928//20956 17927//21425 +f 17928//20956 18021//21461 18020//21426 +f 18779//20663 18878//20792 18877//21602 +f 18022//20889 18021//21461 17928//20956 +f 21456//15032 28715//15031 28714//4613 +f 19482//6871 2552//6752 2551//15259 +f 21215//17839 18747//21217 21129//21944 +f 19161//1694 19265//20786 19264//20978 +f 15594//12606 35736//3311 22436//19165 +f 18944//21299 18945//21035 19045//18230 +f 31897//6065 31998//16702 31896//16057 +f 17534//20157 18767//20924 18223//21945 +f 35596//903 35517//2933 35478//977 +f 687//21494 7410//4759 7411//4758 +f 18188//21919 19606//21883 19471//21946 +f 19233//21947 26901//12343 26852//2137 +f 18417//21656 18574//21647 19446//21948 +f 19336//21797 18587//21799 19665//21798 +f 18326//21949 19711//21888 19149//21950 +f 18278//21886 18417//21656 19446//21948 +f 29760//18701 29759//11912 29626//5315 +f 19313//21805 19386//21807 19849//21806 +f 18456//21951 17853//21952 19124//21889 +f 19066//20546 18331//21056 19535//20547 +f 19667//21822 19326//21821 19557//21953 +f 17943//21894 19203//21954 19204//21895 +f 19667//21822 19557//21953 19806//21955 +f 17442//21824 19667//21822 19806//21955 +f 19648//21827 19486//21956 17893//21957 +f 19326//21821 17893//21957 19557//21953 +f 17864//21907 18810//21906 18550//21958 +f 19326//21821 19648//21827 17893//21957 +f 17864//21907 18550//21958 19486//21956 +f 17393//21959 18919//21960 18096//21961 +f 19648//21827 17864//21907 19486//21956 +f 18810//21906 18096//21961 18550//21958 +f 18810//21906 17393//21959 18096//21961 +f 17393//21959 18739//21962 19000//21963 +f 19745//21816 17442//21824 18925//21964 +f 18919//21960 17393//21959 19000//21963 +f 18141//21965 18051//21743 19605//21903 +f 19555//21902 19860//21900 17722//21901 +f 18568//21904 19472//21905 17864//21907 +f 18049//21808 18051//21743 18141//21965 +f 167//21127 16644//21333 19406//21128 +f 19864//21350 17393//21959 18810//21906 +f 18238//21830 18120//21762 17839//21831 +f 27502//21966 27620//21967 27619//15098 +f 18135//21968 19851//21760 18238//21830 +f 19011//21829 18177//21969 19530//21909 +f 12512//21970 5464//8605 29955//21763 +f 27296//13688 28624//10826 27285//21416 +f 31366//3529 31433//14656 31365//21971 +f 29628//21972 22567//21973 29761//17706 +f 18305//4317 19488//21713 19523//21974 +f 30724//2465 30725//2464 19526//2308 +f 19693//21665 19692//21662 18305//4317 +f 19215//21026 18140//21025 18377//4316 +f 18268//21846 4261//21622 18137//21596 +f 18140//21025 19693//21665 18305//4317 +f 18499//21682 17844//21631 17907//21599 +f 4261//21622 17914//1367 18320//21597 +f 19371//21730 19370//21404 19263//21975 +f 17914//1367 18499//21682 17907//21599 +f 17793//21918 17757//21976 19606//21883 +f 30152//6462 30285//21756 30284//21755 +f 26738//21454 28618//21977 28614//21978 +f 18814//21979 19336//21797 19664//21796 +f 2274//21173 687//21494 689//10763 +f 689//10763 7411//4758 6790//10764 +f 19569//2271 27531//2445 19133//4910 +f 23856//8167 35557//9755 35681//8168 +f 28072//21980 28129//15489 28751//15491 +f 23522//15493 16311//16603 24095//15494 +f 21654//2824 7292//20 7293//10393 +f 28244//5479 19569//2271 19133//4910 +f 688//21853 21654//2824 7293//10393 +f 24573//21981 11484//21982 23506//21983 +f 19219//20643 18086//21984 17996//21556 +f 5413//1126 2921//3126 17163//18511 +f 5456//2154 18695//21000 19309//20293 +f 27501//15097 27502//21966 27619//15098 +f 27498//21985 27499//2367 27616//9988 +f 27734//2457 27733//10035 27616//9988 +f 12439//14749 12353//13739 12354//13738 +f 33278//21434 33387//21986 33277//21987 +f 17923//20815 17924//21270 18016//20764 +f 28079//5425 28196//3254 28078//16833 +f 18032//21794 18340//21931 18215//21795 +f 19949//20767 19884//20838 19820//20046 +f 18288//21988 19544//21724 17698//21857 +f 18414//21989 18426//21990 18341//21932 +f 19763//21934 18438//21991 18471//21773 +f 18486//1978 19148//8328 18414//21989 +f 19876//21135 17933//6288 18506//6290 +f 19764//21775 19763//21934 18471//21773 +f 18930//12574 30479//4927 29082//2640 +f 28246//21159 7885//21161 27137//21992 +f 19126//3974 19205//21658 17443//21136 +f 35484//1437 29494//21993 28888//1929 +f 19205//21658 18457//21132 18286//21137 +f 18457//21132 18458//21201 18286//21137 +f 18457//21132 18212//21149 18458//21201 +f 18212//21149 3533//21178 18458//21201 +f 17629//21994 6993//21995 18936//21996 +f 18717//3777 17898//21162 3533//21178 +f 18212//21149 18717//3777 3533//21178 +f 6993//21995 27145//9608 18936//21996 +f 18595//3776 19002//21180 17898//21162 +f 18717//3777 18595//3776 17898//21162 +f 29517//14556 29655//13959 29654//13958 +f 14895//1440 14782//558 18173//18993 +f 17860//16396 18706//15803 22450//16394 +f 25132//16130 24039//21997 25121//16449 +f 18220//20085 18316//21296 18092//20086 +f 27737//21998 27736//15170 27619//15098 +f 17794//20613 5224//3030 17765//20761 +f 18438//21991 17366//1393 18477//21715 +f 19093//15204 19092//20541 18991//21363 +f 1779//7070 1662//6961 1663//7066 +f 19780//8438 17847//21841 19624//8439 +f 18404//20680 19921//21507 3666//20852 +f 5763//21101 19013//21726 19312//1659 +f 17488//21999 17487//21938 17399//22000 +f 32686//22001 17399//22000 32685//21341 +f 17582//22002 17581//21940 17487//21938 +f 17488//21999 17582//22002 17487//21938 +f 17677//22003 17676//21941 17581//21940 +f 17582//22002 17677//22003 17581//21940 +f 17774//22004 17773//16498 17677//22003 +f 17677//22003 17773//16498 17676//21941 +f 17929//20955 18022//20889 17928//20956 +f 18626//21608 19644//21292 19647//21361 +f 19120//21520 18626//21608 19647//21361 +f 19291//20731 19398//22005 19397//21203 +f 21038//3383 18647//7253 18744//21347 +f 19442//20652 19551//20801 18149//20653 +f 19724//20947 19725//21462 19837//22006 +f 26802//2837 26585//21704 28854//21641 +f 18746//21429 18747//21217 18845//21435 +f 18298//8630 18299//20983 1098//8631 +f 18115//21156 19553//20835 19932//21157 +f 18846//17838 18945//21035 18944//21299 +f 6884//22007 7071//22008 3363//22009 +f 18265//1718 18767//20924 17534//20157 +f 27413//5207 19741//22010 26909//5208 +f 27549//16617 27643//16616 29958//22011 +f 19896//21917 18188//21919 18555//22012 +f 28218//21664 28738//21840 29692//5066 +f 18574//21647 18805//5709 18246//1730 +f 19664//21796 19665//21798 18673//21884 +f 19939//22013 18326//21949 18554//22014 +f 19446//21948 18574//21647 18246//1730 +f 27620//21967 27737//21998 27619//15098 +f 19711//21888 19313//21805 18030//21804 +f 18047//22015 18024//22016 19360//22017 +f 27737//21998 27852//22018 27851//15224 +f 19022//22019 19599//21892 18038//22020 +f 18282//21890 17943//21894 18036//21891 +f 19225//22021 19332//21769 19385//20874 +f 19783//22022 19022//22019 18038//22020 +f 17421//22023 17509//17080 17420//17079 +f 24567//17057 17316//22024 24572//22025 +f 17343//22026 17421//22023 17342//22027 +f 20130//17643 17509//17080 17510//21746 +f 26967//22028 33974//22029 17274//22030 +f 17421//22023 17420//17079 17342//22027 +f 18778//20932 18877//21602 18876//21512 +f 17372//22031 17371//18201 34937//16798 +f 26349//21548 26390//21705 26389//22032 +f 17275//22033 17343//22026 17342//22027 +f 18693//21817 19745//21816 18925//21964 +f 35404//8627 35381//10394 35724//8628 +f 17456//22034 17544//21129 17543//20770 +f 17442//21824 19806//21955 18925//21964 +f 27736//15170 27737//21998 27851//15224 +f 18930//12574 29082//2640 29356//14896 +f 18338//22035 18049//21808 18141//21965 +f 1215//6444 1216//8880 1332//8883 +f 19472//21905 19864//21350 18810//21906 +f 19368//22036 19849//21806 18338//22035 +f 17554//20282 17555//19708 17648//20741 +f 19230//21349 18739//21962 17393//21959 +f 18120//21762 19011//21829 19530//21909 +f 19809//17019 3670//9371 3802//9376 +f 18135//21968 18238//21830 19633//21908 +f 19011//21829 18041//21710 17948//22037 +f 5609//22038 5610//22039 19460//22040 +f 7185//9358 20092//21265 20431//21264 +f 19089//18625 1806//9681 1926//9683 +f 34728//22041 18129//22042 17965//4690 +f 17632//20656 17631//21314 17537//21628 +f 19819//21379 17960//21609 17909//20902 +f 19624//8439 17847//21841 17753//20899 +f 17799//20952 19624//8439 17753//20899 +f 18780//21474 18879//20793 18878//20792 +f 19264//20978 19371//21730 19263//21975 +f 18351//22043 18352//22044 18446//22045 +f 18979//21539 19080//21540 19079//20822 +f 17749//21784 17845//21659 19105//21709 +f 18543//22046 18640//20007 18639//22047 +f 19314//21598 18226//21601 17984//21761 +f 18664//21600 17749//21784 19105//21709 +f 18664//21600 19105//21709 18132//21711 +f 18226//21601 18664//21600 18132//21711 +f 19935//21783 19653//21929 17845//21659 +f 17749//21784 19935//21783 17845//21659 +f 19582//21781 18605//21777 19119//21925 +f 24299//17710 24298//11348 23732//22048 +f 19935//21783 19584//21782 19653//21929 +f 18410//21927 19582//21781 19119//21925 +f 27615//20789 20841//11438 27498//21985 +f 19584//21782 19582//21781 18410//21927 +f 30555//3165 27379//3167 30553//17 +f 17105//22049 332//22050 22944//22051 +f 19888//21803 19103//22052 18552//22053 +f 27852//22018 27968//22054 27967//15263 +f 34679//7928 34678//7929 34550//4761 +f 19873//22055 18033//22056 18432//22057 +f 19838//21258 19839//20658 19952//20878 +f 19440//21062 17963//21564 18835//21334 +f 19377//21926 19103//22052 19888//21803 +f 19395//21375 19504//20776 19503//20775 +f 5148//7576 5283//7578 14631//8312 +f 18572//21928 19377//21926 19888//21803 +f 18340//21931 18414//21989 18341//21932 +f 17515//21141 17514//22058 17426//21142 +f 19544//21724 18288//21988 18694//21933 +f 18694//21933 17131//22059 18426//21990 +f 18438//21991 18477//21715 19270//21572 +f 18248//1979 18486//1978 18340//21931 +f 2100//1715 18909//1557 19736//14214 +f 18471//21773 18438//21991 19270//21572 +f 24274//22060 24403//17099 14970//22061 +f 19270//21572 18477//21715 18006//14215 +f 30489//4456 30340//4605 28467//4457 +f 17314//4297 19037//5892 29121//4298 +f 33375//1121 33488//1120 33374//2044 +f 33375//1121 33374//2044 33265//1247 +f 26675//22062 26676//6608 24219//17709 +f 19194//687 30602//3207 29940//984 +f 26825//22063 20100//22064 26939//22065 +f 19035//1221 19194//687 29940//984 +f 26346//22066 27136//22067 27085//22068 +f 26571//6705 26676//6608 26675//22062 +f 6790//10764 6654//9116 11976//9906 +f 26570//22069 26571//6705 26675//22062 +f 5763//21101 5762//20965 19013//21726 +f 18199//21291 18293//20670 18198//21731 +f 18789//20245 18888//9678 18788//20851 +f 18987//20992 18986//21073 18887//20850 +f 34421//22070 34420//22071 34282//22072 +f 17427//19590 17426//21142 17348//19591 +f 19553//20835 19871//20836 19112//21253 +f 14164//15960 14162//15556 16649//16857 +f 19389//21122 19390//21552 19498//8532 +f 17399//22000 32806//6349 17400//6348 +f 17489//22073 17488//21999 17400//6348 +f 17401//22074 17489//22073 17400//6348 +f 17583//22075 17582//22002 17488//21999 +f 17489//22073 17583//22075 17488//21999 +f 17678//22076 17677//22003 17582//22002 +f 17583//22075 17678//22076 17582//22002 +f 3849//9827 9554//3577 1175//12205 +f 17678//22076 17774//22004 17677//22003 +f 19397//21203 19398//22005 19506//21399 +f 7628//11301 7629//10803 7744//4354 +f 18481//21936 18577//5054 18576//20787 +f 18682//20662 18780//21474 18779//20663 +f 19442//20652 18191//20648 19551//20801 +f 19553//20835 19861//21479 19932//21157 +f 15207//22077 16018//2116 15878//2118 +f 18762//21029 18761//21103 18663//6958 +f 35371//10037 35691//12185 35856//9962 +f 17633//21185 17728//20654 17632//20656 +f 19863//20925 17655//21233 17659//21227 +f 18845//21435 18846//17838 18944//21299 +f 27730//1748 27731//17051 27845//22078 +f 17935//21210 3793//8318 19231//21632 +f 20092//21265 27298//21095 27265//21266 +f 27401//18335 29277//6069 27956//14254 +f 18704//22079 17528//21819 8688//22080 +f 30069//22081 30201//22082 30068//15043 +f 27851//15224 27852//22018 27967//15263 +f 19606//21883 18673//21884 19471//21946 +f 18801//22083 19939//22013 18900//22084 +f 396//8761 397//8968 511//8874 +f 27968//22054 28085//22085 28084//15268 +f 19711//21888 19071//21887 19149//21950 +f 19174//22086 18047//22015 19360//22017 +f 27967//15263 27968//22054 28084//15268 +f 17577//22087 24230//6061 30634//6060 +f 18047//22015 17853//21952 18456//21951 +f 19180//20049 19181//20823 19284//20050 +f 34340//18510 19117//21893 17851//21788 +f 17532//22088 19600//22089 17932//22090 +f 17738//21152 17834//21424 17833//20954 +f 17747//22091 19069//22092 19496//22093 +f 19549//22094 17932//22090 19206//22095 +f 19549//22094 17532//22088 17932//22090 +f 19069//22092 19549//22094 19206//22095 +f 17532//22088 17750//22096 19600//22089 +f 17750//22096 18029//22097 19600//22089 +f 17747//22091 19496//22093 19759//22098 +f 19069//22092 19206//22095 19496//22093 +f 19421//12474 3045//1386 18004//1385 +f 17744//8760 7223//14112 7334//9091 +f 35507//9830 35448//7555 35411//3880 +f 26899//14958 26898//22099 26783//6181 +f 18897//19358 18718//20544 1387//14330 +f 20811//20971 19211//19713 21390//19714 +f 28310//17934 27959//21493 7193//4764 +f 35816//8209 35806//3115 35468//1179 +f 18192//16228 18185//17942 19321//17941 +f 29277//6069 26915//21338 27956//14254 +f 12341//15909 12342//15908 12428//17037 +f 29799//1683 29798//21839 29665//1684 +f 19100//11276 18998//9072 18964//22100 +f 6532//2131 29290//10757 30499//22101 +f 19607//9633 5146//9781 18383//9714 +f 19614//20946 19725//21462 19724//20947 +f 18177//21969 19011//21829 17948//22037 +f 17858//21661 18218//22102 17948//22037 +f 7400//1417 19233//21947 26852//2137 +f 19639//22103 19943//20927 344//21666 +f 33397//22104 33396//22105 33287//22106 +f 29761//17706 29890//17705 29760//18701 +f 19930//14016 17793//21918 18188//21919 +f 19930//14016 18188//21919 19896//21917 +f 17757//21976 18814//21979 19664//21796 +f 17757//21976 19664//21796 19606//21883 +f 18814//21979 18967//21685 19336//21797 +f 18967//21685 19068//21687 19336//21797 +f 18342//10457 251//8871 17849//8873 +f 19269//21772 19279//20757 18078//21528 +f 18843//21480 18942//21481 18842//21847 +f 6641//20441 18342//10457 17849//8873 +f 18744//21347 18843//21480 18842//21847 +f 18942//21481 19043//21229 18941//21231 +f 18743//16650 18744//21347 18842//21847 +f 18942//21481 18941//21231 18842//21847 +f 19862//6629 18139//9459 18148//22107 +f 19584//21782 18818//21930 19653//21929 +f 35638//1923 35859//16532 22836//14268 +f 18605//21777 18715//21779 17674//21923 +f 18358//1388 1756//1390 1269//1391 +f 19421//12474 18004//1385 18722//21786 +f 18818//21930 19584//21782 18410//21927 +f 19365//1377 19421//12474 19649//21735 +f 28336//5184 27406//5668 27638//2654 +f 19119//21925 18605//21777 17674//21923 +f 28085//22085 28202//19846 28201//15273 +f 4684//1977 19432//3026 4685//2795 +f 18406//21801 19888//21803 18552//22053 +f 2581//9611 2580//9606 2446//9692 +f 18731//21820 17475//21826 19326//21821 +f 19203//21954 18406//21801 18552//22053 +f 17545//20647 17546//21727 17639//21225 +f 18568//21904 17864//21907 19648//21827 +f 18624//21924 19873//22055 19103//22052 +f 29352//21607 29489//21567 29351//21568 +f 28084//15268 28085//22085 28201//15273 +f 19377//21926 18624//21924 19103//22052 +f 18414//21989 18694//21933 18426//21990 +f 19961//22108 17560//2825 19307//21706 +f 19148//8328 18694//21933 18414//21989 +f 18694//21933 18288//21988 18381//22109 +f 19760//21458 18248//1979 18032//21794 +f 18486//1978 18414//21989 18340//21931 +f 831//20644 19219//20643 17996//21556 +f 19760//21458 18032//21794 19750//21737 +f 6874//21495 11455//21445 6899//603 +f 3260//8406 18265//1718 17534//20157 +f 18662//20840 18661//3982 18564//20734 +f 7338//9387 515//9267 7449//13285 +f 19469//20963 19485//20929 18374//21028 +f 28100//22110 24432//4252 26120//16574 +f 17540//20774 17634//21428 17539//21427 +f 19831//21030 2841//8528 2706//21410 +f 18982//21008 19083//21010 19082//21196 +f 19721//21406 19834//20704 19833//21003 +f 17721//14017 19896//21917 33662//20197 +f 18078//21528 17855//9784 19319//9637 +f 31505//22111 31504//22112 31432//22113 +f 2947//4773 26426//4924 29146//5616 +f 29955//21763 30083//2130 28478//21100 +f 31788//20248 31894//17312 31787//17314 +f 12801//16150 24753//22114 12800//16026 +f 21534//22115 28555//10762 21627//22116 +f 19406//21128 18217//21276 18528//21316 +f 18232//21081 19253//22117 18207//3991 +f 18003//20650 19406//21128 18528//21316 +f 17324//22118 17402//15048 17401//22074 +f 17401//22074 32919//6347 17323//12644 +f 17490//22119 17489//22073 17401//22074 +f 17402//15048 17490//22119 17401//22074 +f 17584//22120 17583//22075 17489//22073 +f 17490//22119 17584//22120 17489//22073 +f 17679//22121 17678//22076 17583//22075 +f 17584//22120 17679//22121 17583//22075 +f 17775//22122 17774//22004 17678//22076 +f 17679//22121 17775//22122 17678//22076 +f 19417//21168 19429//21058 19893//22123 +f 16163//15815 18174//16438 18489//1073 +f 1429//6956 1544//18394 1428//6859 +f 17555//19708 7115//14172 17649//20784 +f 19320//19028 2888//272 2985//6630 +f 20022//1546 23818//1545 17580//21872 +f 17960//21609 19922//20888 18516//21543 +f 17909//20902 17960//21609 18516//21543 +f 18879//20793 18978//21234 18977//20052 +f 19183//21198 19287//20674 19286//21060 +f 18687//9277 1337//9348 18688//9350 +f 18140//21025 17999//21024 19693//21665 +f 18680//20931 18681//20661 18778//20932 +f 18767//20924 19863//20925 18223//21945 +f 21040//9147 18648//19883 18647//7253 +f 27613//1747 27614//11439 27730//1748 +f 28202//19846 28319//19847 28318//15336 +f 19633//21908 19524//22124 18135//21968 +f 2404//21855 2273//21854 3363//22009 +f 19909//360 11552//15488 28625//22125 +f 19968//19881 19969//17063 19999//22126 +f 17449//7172 17537//21628 165//7173 +f 18188//21919 19471//21946 18555//22012 +f 19873//22055 18801//22083 18033//22056 +f 28201//15273 28202//19846 28318//15336 +f 19285//21061 19392//20696 19391//21275 +f 18326//21949 19149//21950 18554//22014 +f 18024//22016 18047//22015 18456//21951 +f 19284//20050 19285//21061 19391//21275 +f 6798//1374 5070//1375 1379//1376 +f 17853//21952 18282//21890 19124//21889 +f 18104//20960 18103//7856 18013//20961 +f 28319//19847 28439//22127 28438//15665 +f 18150//21899 17529//10961 18723//10960 +f 19292//20730 19293//21049 19399//21308 +f 361//22128 17725//22129 17716//22130 +f 18214//22131 18150//21899 18723//10960 +f 28318//15336 28319//19847 28438//15665 +f 17725//22129 18895//22132 18891//22133 +f 28439//22127 28561//22134 28560//15781 +f 165//7173 164//12315 7214//7171 +f 19545//22135 18038//22020 17696//22136 +f 35630//10777 35456//5186 35353//5847 +f 18617//22137 19759//22098 18439//22138 +f 18617//22137 17747//22091 19759//22098 +f 1379//1376 5070//1375 1378//1532 +f 1757//1389 18358//1388 19763//21934 +f 28203//5338 28320//22139 28319//19847 +f 28442//22140 28564//22141 28563//22142 +f 18411//20756 18147//20681 19123//20683 +f 19296//9689 19295//21205 19191//13774 +f 27759//2135 29077//1985 26415//6045 +f 30709//22143 30708//22144 30574//22145 +f 17511//21745 17605//17919 17510//21746 +f 19402//21206 19511//21748 19401//21790 +f 1192//6442 1308//6303 1191//6302 +f 33373//2046 33486//13823 33372//15379 +f 19948//20706 19949//20767 19820//20046 +f 18717//3777 4287//21133 4421//3775 +f 17872//22146 17873//18817 20363//18071 +f 2051//9684 2052//9685 2180//9687 +f 18041//21710 17858//21661 17948//22037 +f 19721//21406 19722//20740 19834//20704 +f 19741//22010 28218//21664 26909//5208 +f 17846//21660 18312//22147 18218//22102 +f 27848//10036 27849//2459 27964//2295 +f 27965//2296 28082//2298 28081//2297 +f 28438//15665 28439//22127 28560//15781 +f 16673//18375 16832//18407 9290//13018 +f 18841//21848 18840//20742 20619//16138 +f 17515//21141 17609//19808 17514//22058 +f 7188//21393 7185//9358 20431//21264 +f 16386//21033 19420//8827 4864//8564 +f 2542//22148 28984//21852 3752//5779 +f 19434//8377 3398//8307 3260//8406 +f 18279//21611 18434//19406 18530//21723 +f 10242//22149 21032//6177 30772//2042 +f 17463//5760 17551//20808 17550//20825 +f 18805//5709 556//1728 18246//1730 +f 3313//8253 5051//8079 3446//8165 +f 28561//22134 28690//22150 28689//15878 +f 17420//17079 17419//22151 17341//22152 +f 17649//20784 7222//21195 17744//8760 +f 18948//19783 18949//19782 19049//3039 +f 1572//9676 18888//9678 18789//20245 +f 28560//15781 28561//22134 28689//15878 +f 32642//22153 32756//9407 32755//22154 +f 19474//21680 19365//1377 19649//21735 +f 19649//21735 19421//12474 18722//21786 +f 18715//21779 17446//21776 18524//21921 +f 17674//21923 18715//21779 18524//21921 +f 27616//9988 27733//10035 27615//20789 +f 18841//21848 18940//20743 18840//20742 +f 826//439 19108//9460 14481//440 +f 19921//21507 584//21019 3666//20852 +f 19103//22052 18432//22057 18552//22053 +f 18312//22147 18406//21801 19203//21954 +f 19864//21350 19230//21349 17393//21959 +f 18014//20959 18013//20961 17920//20700 +f 18689//20794 18688//9350 1338//9349 +f 19230//21349 17391//21695 17368//22155 +f 19635//21922 18801//22083 19873//22055 +f 18388//20779 18389//20725 18483//20726 +f 19944//21690 19961//22108 19307//21706 +f 18624//21924 19635//21922 19873//22055 +f 17131//22059 18694//21933 18381//22109 +f 18908//21689 18910//22156 19944//21690 +f 18381//22109 18288//21988 17602//22157 +f 18288//21988 17698//21857 17602//22157 +f 18621//21718 19760//21458 19750//21737 +f 18248//1979 18340//21931 18032//21794 +f 18621//21718 19750//21737 18363//21686 +f 18364//21570 18621//21718 18363//21686 +f 18364//21570 18363//21686 18967//21685 +f 18306//21535 18364//21570 18967//21685 +f 18306//21535 18967//21685 18814//21979 +f 18095//21376 18306//21535 18814//21979 +f 18095//21376 18814//21979 17757//21976 +f 17661//21377 18095//21376 17757//21976 +f 19865//21378 17793//21918 19930//14016 +f 18000//14018 19865//21378 19930//14016 +f 17661//21377 17757//21976 17793//21918 +f 19865//21378 17661//21377 17793//21918 +f 35612//1274 35795//12608 35418//1275 +f 17636//21386 17731//21093 17635//20773 +f 17546//21727 17640//22158 17639//21225 +f 22425//5344 17894//16707 2407//21489 +f 18893//9979 18892//21725 18793//19615 +f 17742//8750 394//8623 17741//18468 +f 17554//20282 17553//20281 17465//12584 +f 14859//19672 14935//19470 19338//22159 +f 8044//9184 14557//1572 10575//13469 +f 4824//3599 4825//3995 4960//3788 +f 35408//8562 35883//3619 35605//4265 +f 32610//9255 32724//9254 32609//12553 +f 17491//22160 17490//22119 17402//15048 +f 17403//15050 17491//22160 17402//15048 +f 17585//22161 17584//22120 17490//22119 +f 17491//22160 17585//22161 17490//22119 +f 17680//22162 17679//22121 17584//22120 +f 17585//22161 17680//22162 17584//22120 +f 17776//22163 17775//22122 17679//22121 +f 17680//22162 17776//22163 17679//22121 +f 11250//2403 35776//17676 12819//2402 +f 17776//22163 17872//22146 17775//22122 +f 18131//21400 17842//21770 18043//21307 +f 17534//20157 18223//21945 19434//8377 +f 28690//22150 28822//22164 28821//16446 +f 28689//15878 28690//22150 28821//16446 +f 17388//7035 28871//21561 17389//3276 +f 17293//16667 17362//12177 17361//21565 +f 17440//12178 17439//21456 17361//21565 +f 19610//21251 19611//20695 19721//21406 +f 17362//12177 17440//12178 17361//21565 +f 28822//22164 28955//22165 28954//16812 +f 18978//21234 18979//21539 19079//20822 +f 5963//6943 8311//6235 6095//6944 +f 19657//21388 18268//21846 19693//21665 +f 2541//2823 21654//2824 688//21853 +f 6948//9954 7046//9956 6947//12184 +f 19488//21713 19691//21663 19851//21760 +f 27962//9427 27961//16835 27845//22078 +f 8661//22166 12512//21970 29955//21763 +f 18135//21968 19488//21713 19851//21760 +f 19120//21520 19647//21361 18331//21056 +f 19896//21917 18555//22012 18704//22079 +f 19103//22052 19873//22055 18432//22057 +f 19506//21399 19616//19128 19615//20669 +f 18020//21426 18110//21433 18019//20884 +f 19939//22013 18554//22014 18900//22084 +f 18352//22044 18447//22167 18446//22045 +f 3313//8253 3446//8165 3304//5327 +f 555//1729 18319//1586 18378//21679 +f 17771//22168 19174//22086 19416//22169 +f 19293//21049 19400//21309 19399//21308 +f 27781//16921 17293//16667 19252//16668 +f 19580//19719 15390//18996 15262//18374 +f 19846//7858 19845//21046 19732//20673 +f 361//22128 19525//22170 18134//22171 +f 18114//20008 19337//21380 6648//19547 +f 18550//21958 18096//21961 19384//22172 +f 19525//22170 361//22128 17716//22130 +f 19486//21956 18550//21958 17394//22173 +f 18096//21961 18408//22174 19384//22172 +f 3186//5322 4285//2984 674//3188 +f 18550//21958 19384//22172 17394//22173 +f 21313//20912 17912//15904 19537//17587 +f 34462//22175 6881//13955 34598//14588 +f 21047//17632 18654//21517 18653//22176 +f 18245//22177 18617//22137 18439//22138 +f 13079//22178 24493//17186 28757//16652 +f 18683//21387 1334//9099 18684//9101 +f 6654//9116 6781//4760 17571//602 +f 28757//16652 13173//16467 13079//22178 +f 1460//9898 1345//9973 1461//9976 +f 9186//11854 11080//13296 10391//8460 +f 32840//16621 32839//9724 32727//9723 +f 18153//18484 17797//1901 19700//1900 +f 19798//11275 19801//13620 30553//17 +f 19181//20823 19285//21061 19284//20050 +f 17865//21739 18568//21904 17475//21826 +f 18303//21740 17865//21739 17475//21826 +f 18303//21740 17475//21826 18731//21820 +f 18587//21799 18303//21740 18731//21820 +f 18587//21799 18731//21820 19666//21825 +f 19665//21798 18587//21799 19666//21825 +f 19665//21798 19666//21825 19382//21823 +f 18673//21884 19665//21798 19382//21823 +f 17858//21661 17846//21660 18218//22102 +f 27503//13784 27648//15020 26476//21106 +f 17846//21660 17770//21802 18406//21801 +f 18312//22147 17846//21660 18406//21801 +f 14062//15765 15505//824 15639//20159 +f 17770//21802 18572//21928 19888//21803 +f 18597//21639 18571//21774 19940//21644 +f 15028//15374 15742//16443 19770//1072 +f 21076//14394 21075//22179 27606//14395 +f 17533//21571 18402//21573 18401//21645 +f 18280//22180 19862//6629 18148//22107 +f 683//22181 682//5437 33433//16542 +f 17635//20773 17634//21428 17540//20774 +f 28821//16446 28822//22164 28954//16812 +f 27959//21493 27843//5074 30807//4765 +f 19266//5171 19265//20786 19161//1694 +f 926//6394 807//6397 33672//22182 +f 26899//14958 27017//14160 26898//22099 +f 17472//21043 19026//475 18696//21582 +f 30155//5893 27990//6174 28882//12262 +f 17656//21005 19780//8438 18075//8437 +f 33030//22183 17325//15049 32921//22184 +f 17428//22185 17427//19590 17349//19589 +f 31168//2807 31232//2809 31231//14675 +f 18284//9602 19023//21629 18499//21682 +f 19655//21362 18400//21360 4192//8326 +f 18524//21921 17446//21776 18597//21639 +f 17446//21776 18571//21774 18597//21639 +f 27498//21985 27616//9988 27615//20789 +f 19283//20051 19390//21552 19389//21122 +f 28955//22165 29090//22186 29089//16926 +f 18200//21289 18199//21291 18106//20763 +f 17943//21894 18312//22147 19203//21954 +f 18218//22102 18312//22147 17943//21894 +f 17276//21752 17344//21750 17343//22026 +f 17342//22027 34248//22187 17275//22033 +f 18739//21962 19230//21349 17368//22155 +f 17746//22188 17748//21694 18896//22189 +f 27295//2463 29549//3009 7401//8916 +f 2436//8647 19388//20045 19497//8648 +f 19212//21920 19939//22013 18801//22083 +f 19825//21640 17938//21646 19313//21805 +f 17697//21701 17602//22157 17761//21692 +f 17763//22190 18910//22156 18908//21689 +f 17698//21857 17764//21785 17763//22190 +f 17602//22157 17698//21857 17763//22190 +f 17763//22190 17764//21785 18910//22156 +f 17764//21785 18911//21684 18910//22156 +f 18911//21684 19962//21633 19961//22108 +f 18910//22156 18911//21684 19961//22108 +f 19961//22108 19962//21633 17560//2825 +f 19962//21633 18632//21635 17560//2825 +f 28954//16812 28955//22165 29089//16926 +f 908//1998 4393//1498 19102//7755 +f 4261//21622 18320//21597 18137//21596 +f 18779//20663 18780//21474 18878//20792 +f 18881//20832 18980//21084 18979//21539 +f 19719//21407 19720//21322 19832//19379 +f 17647//20283 17648//20741 17742//8750 +f 29090//22186 29227//22191 29226//17083 +f 19397//21203 19506//21399 19505//21204 +f 18343//20882 18171//20802 19715//20797 +f 19068//21687 19116//21688 18303//21740 +f 1651//21738 18590//22192 17865//21739 +f 5814//9408 5679//1354 19299//14684 +f 29089//16926 29090//22186 29226//17083 +f 19334//21246 19442//20652 19325//20651 +f 34910//22193 35040//9375 17280//22194 +f 18294//21290 18295//21146 18387//20778 +f 17625//21311 19895//20880 18531//20796 +f 35835//3551 35749//5583 35938//1781 +f 29227//22191 29364//22195 29363//17194 +f 17404//22196 17492//22197 17491//22160 +f 17403//15050 17404//22196 17491//22160 +f 17492//22197 17586//22198 17585//22161 +f 17491//22160 17492//22197 17585//22161 +f 17586//22198 17681//22199 17680//22162 +f 17585//22161 17586//22198 17680//22162 +f 17681//22199 17777//22200 17776//22163 +f 17680//22162 17681//22199 17776//22163 +f 17873//18817 17872//22146 17776//22163 +f 17777//22200 17873//18817 17776//22163 +f 18886//20611 18985//20711 18984//20710 +f 20363//18071 17967//18816 20447//5557 +f 17440//12178 7201//12174 150//5455 +f 18110//21433 18109//21369 18019//20884 +f 33243//22201 17328//22202 33138//22203 +f 29254//5599 29253//5605 29116//5600 +f 18976//21603 18977//20052 19077//20054 +f 18026//21728 4459//8330 4325//8327 +f 18295//21146 18296//21145 18388//20779 +f 18491//21235 17754//21208 17655//21233 +f 17640//22158 17735//21223 17639//21225 +f 17638//21247 17733//21319 17637//21511 +f 5761//2826 18632//21635 5762//20965 +f 18880//20872 18881//20832 18979//21539 +f 19314//21598 17984//21761 19851//21760 +f 27731//17051 27846//5945 27845//22078 +f 19365//1377 19474//21680 19023//21629 +f 19691//21663 19314//21598 19851//21760 +f 29226//17083 29227//22191 29363//17194 +f 21515//22204 28752//22205 24746//22206 +f 19530//21909 19174//22086 17771//22168 +f 18946//20847 18947//21581 2014//20848 +f 18483//20726 18579//21226 18578//20790 +f 18801//22083 18900//22084 18033//22056 +f 18259//22207 18352//22044 18351//22043 +f 28624//10826 28676//1749 30366//1416 +f 18164//17770 18165//16280 18258//22208 +f 18447//22167 18543//22046 18542//22209 +f 29364//22195 29501//22210 29500//17282 +f 17834//21424 17930//8384 17929//20955 +f 6523//19522 824//19979 6648//19547 +f 29363//17194 29364//22195 29500//17282 +f 18593//22211 18586//22212 19588//22213 +f 4470//9488 4604//9489 18452//9392 +f 19179//20964 19180//20049 19283//20051 +f 18168//22214 361//22128 18134//22171 +f 11410//13790 35528//6839 9533//14375 +f 19806//21955 19557//21953 18247//16095 +f 18699//16441 23314//15793 23216//14753 +f 19512//9694 19403//9688 2312//9691 +f 18600//16440 18287//22215 19638//16148 +f 18699//16441 18600//16440 19638//16148 +f 18287//22215 19659//22216 18359//15293 +f 19638//16148 18287//22215 18359//15293 +f 19659//22216 18242//22217 19409//22218 +f 18359//15293 19659//22216 19409//22218 +f 18242//22217 17982//22219 19742//15668 +f 19409//22218 18242//22217 19742//15668 +f 17982//22219 17565//22220 17564//15669 +f 19742//15668 17982//22219 17564//15669 +f 18735//22221 18734//15867 17564//15669 +f 17565//22220 18735//22221 17564//15669 +f 19704//22222 19700//1900 18734//15867 +f 18735//22221 19704//22222 18734//15867 +f 15675//104 19699//15403 9863//223 +f 19704//22222 18153//18484 19700//1900 +f 2751//19133 14962//19132 15215//22223 +f 19669//15351 12809//16434 34989//22224 +f 19839//20658 19840//20657 19953//20715 +f 17539//21427 17538//21186 17450//21791 +f 18580//21604 18677//21022 18676//21542 +f 18201//21370 18202//21144 18295//21146 +f 19325//20651 18149//20653 19171//20818 +f 18371//22225 18370//21413 19260//21412 +f 16821//19407 16822//9718 16985//15168 +f 19434//8377 18223//21945 19881//8370 +f 17605//17919 20218//17611 17701//22226 +f 28686//21212 28687//5745 28818//6650 +f 18402//21573 19404//21536 19008//21648 +f 17512//21590 20219//17610 17606//17609 +f 17733//21319 17829//21318 17732//21510 +f 19940//21644 17533//21571 18401//21645 +f 18085//19649 20562//15956 20563//7248 +f 17829//21318 17925//20885 17924//21270 +f 35579//9307 12209//4395 8340//5953 +f 4153//20679 19921//21507 18404//20680 +f 19273//21937 19628//21583 19644//21292 +f 18736//262 18639//22047 21115//260 +f 18130//21328 19420//8827 18138//21032 +f 6993//21995 7097//12353 7096//12268 +f 35827//16533 35851//13334 35481//17047 +f 17296//20760 17952//20539 5688//10089 +f 15660//18336 19218//19146 15042//19301 +f 18616//1716 6395//1717 17953//1725 +f 30326//22227 30459//21397 30325//12859 +f 33231//13869 33126//20010 7523//20011 +f 17516//22228 17515//21141 17427//19590 +f 17350//19779 17428//22185 17349//19589 +f 19164//3234 19163//20769 19061//10791 +f 19743//21209 17867//21221 19923//21220 +f 19404//21536 19210//21537 19315//21649 +f 18571//21774 17533//21571 19940//21644 +f 1758//1524 3861//1523 2257//1697 +f 19763//21934 18865//1384 1757//1389 +f 15799//18981 17861//19263 2631//10059 +f 19268//20768 19375//7079 19267//5172 +f 18282//21890 18218//22102 17943//21894 +f 17948//22037 18218//22102 18282//21890 +f 17422//21747 17421//22023 17343//22026 +f 17344//21750 17422//21747 17343//22026 +f 18904//21693 19918//21691 19877//22229 +f 19149//21950 19549//22094 19069//22092 +f 29501//22210 29639//22230 29638//17369 +f 1067//21702 17748//21694 18122//22231 +f 19711//21888 19825//21640 19313//21805 +f 19440//21062 18711//21102 17963//21564 +f 17761//21692 17763//22190 18908//21689 +f 19939//22013 19212//21920 18326//21949 +f 17602//22157 17763//22190 17761//21692 +f 18910//22156 19961//22108 19944//21690 +f 18381//22109 17602//22157 17697//21701 +f 19778//21699 18381//22109 17697//21701 +f 17131//22059 18381//22109 19778//21699 +f 18424//21698 17131//22059 19778//21699 +f 18426//21990 17131//22059 18424//21698 +f 19302//21696 18426//21990 18424//21698 +f 18426//21990 19302//21696 18923//21348 +f 18341//21932 18426//21990 18923//21348 +f 18215//21795 19431//21793 18590//22192 +f 1651//21738 18215//21795 18590//22192 +f 19116//21688 1651//21738 17865//21739 +f 18341//21932 18923//21348 19431//21793 +f 19173//18821 18118//16749 19070//22232 +f 19309//20293 19519//15383 34065//22233 +f 18118//16749 19173//18821 204//16750 +f 19070//22232 18523//18819 19173//18821 +f 18215//21795 18341//21932 19431//21793 +f 18523//18819 18185//17942 19207//18790 +f 1931//9981 1811//9977 1812//5757 +f 2182//9759 19300//9984 2183//9835 +f 2055//9983 19196//9903 1930//9905 +f 683//22181 33433//16542 33434//22234 +f 17634//21428 17729//20821 17633//21185 +f 18388//20779 18483//20726 18482//20780 +f 17327//22235 17405//22236 17404//22196 +f 30924//21335 30982//7937 30923//21336 +f 17405//22236 17493//22237 17492//22197 +f 17404//22196 17405//22236 17492//22197 +f 17493//22237 17587//22238 17586//22198 +f 17492//22197 17493//22237 17586//22198 +f 17587//22238 17682//22239 17681//22199 +f 17586//22198 17587//22238 17681//22199 +f 17778//22240 17777//22200 17681//22199 +f 17682//22239 17778//22240 17681//22199 +f 17874//18818 17873//18817 17777//22200 +f 17778//22240 17874//18818 17777//22200 +f 20447//5557 17967//18816 17968//18773 +f 18073//16278 18072//16527 20457//16526 +f 19297//20758 5415//9581 18585//9783 +f 19741//22010 27413//5207 19030//2143 +f 18108//21610 18109//21369 18201//21370 +f 497//7479 17823//21326 17919//21321 +f 19394//20676 19395//21375 19503//20775 +f 19652//20047 17719//20867 18468//21327 +f 3793//8318 3792//8227 3661//8319 +f 17842//21770 19193//21541 18043//21307 +f 19887//21037 19220//21295 18316//21296 +f 19932//21157 19861//21479 18152//21532 +f 17542//20771 17543//20770 17636//21386 +f 18632//21635 5761//2826 17560//2825 +f 17706//20891 17705//19809 17610//22241 +f 17611//20892 17706//20891 17610//22241 +f 29500//17282 29501//22210 29638//17369 +f 1078//6646 1195//6750 1194//6647 +f 556//1728 18805//5709 557//12107 +f 19315//21649 19210//21537 1271//21652 +f 18226//21601 18132//21711 17984//21761 +f 19126//3974 4022//3973 19205//21658 +f 18722//21786 18004//1385 18865//1384 +f 19191//13774 19295//21205 19294//21207 +f 18075//8437 19624//8439 19628//21583 +f 17839//21831 17771//22168 19857//22242 +f 19744//21832 17839//21831 19857//22242 +f 29639//22230 29772//6602 29771//17371 +f 30774//8740 28946//14791 28681//14790 +f 19273//21937 19169//21714 19628//21583 +f 18258//22208 18259//22207 18351//22043 +f 621//19352 622//8382 18023//8381 +f 19475//17035 19766//17034 24001//22243 +f 461//883 14983//1989 16792//726 +f 18446//22045 18447//22167 18542//22209 +f 19024//8976 17986//20859 18496//14323 +f 2140//18228 2141//17237 35132//17236 +f 9114//5340 35385//5339 8041//17025 +f 18168//22214 18134//22171 18567//22244 +f 19541//7278 17801//17111 23119//7276 +f 29638//17369 29639//22230 29771//17371 +f 18652//15377 18361//22245 17801//17111 +f 23217//15290 17801//17111 18600//16440 +f 18361//22245 18304//22246 18600//16440 +f 17801//17111 18361//22245 18600//16440 +f 18304//22246 18335//22247 18287//22215 +f 18600//16440 18304//22246 18287//22215 +f 18335//22247 18093//22248 19659//22216 +f 18287//22215 18335//22247 19659//22216 +f 18093//22248 19317//22249 18242//22217 +f 19659//22216 18093//22248 18242//22217 +f 19317//22249 18829//22250 17982//22219 +f 18242//22217 19317//22249 17982//22219 +f 18829//22250 17566//22251 17565//22220 +f 17982//22219 18829//22250 17565//22220 +f 18763//22252 18735//22221 17565//22220 +f 17566//22251 18763//22252 17565//22220 +f 19717//22253 19704//22222 18735//22221 +f 18763//22252 19717//22253 18735//22221 +f 18060//22254 18153//18484 19704//22222 +f 19717//22253 18060//22254 19704//22222 +f 19714//19689 19699//15403 18153//18484 +f 18060//22254 19714//19689 18153//18484 +f 17981//16528 18072//16527 18071//22255 +f 17756//15814 19714//19689 18174//16438 +f 19332//21769 19469//20963 19385//20874 +f 19609//20733 19720//21322 19719//21407 +f 19291//20731 19292//20730 19398//22005 +f 29772//6602 29901//21712 29900//17464 +f 19417//21168 19893//22123 19894//22256 +f 17568//20909 19417//21168 19894//22256 +f 18663//6958 18761//21103 18662//20840 +f 4552//3012 4685//2795 19552//3027 +f 17514//22058 17513//21585 17425//21584 +f 18401//21645 18402//21573 19008//21648 +f 17610//22241 17609//19808 17515//21141 +f 17426//21142 17514//22058 17425//21584 +f 17611//20892 17610//22241 17516//22228 +f 29771//17371 29772//6602 29900//17464 +f 17328//22202 33243//22201 17407//22257 +f 17517//20958 17611//20892 17516//22228 +f 29901//21712 30032//9547 30031//17519 +f 18386//20671 18387//20778 18481//21936 +f 17739//20811 17835//1785 17834//21424 +f 18556//19264 15799//18981 19514//19531 +f 5814//9408 19299//14684 5681//9492 +f 17453//21297 17454//20211 17541//20772 +f 35767//7952 35449//13487 35843//6695 +f 19309//20293 18604//21395 19519//15383 +f 17517//20958 17516//22228 17428//22185 +f 17429//20816 17517//20958 17428//22185 +f 13055//16176 17654//16175 18178//15670 +f 17428//22185 17516//22228 17427//19590 +f 22232//3379 21553//22258 34994//22259 +f 17426//21142 17425//21584 17347//21588 +f 19008//21648 19404//21536 19315//21649 +f 19210//21537 18616//1716 1271//21652 +f 18749//15413 21130//15963 21131//15962 +f 17606//17609 17605//17919 17511//21745 +f 18689//20794 18690//9457 18787//20610 +f 19608//8533 19609//20733 19719//21407 +f 17853//21952 17948//22037 18282//21890 +f 18177//21969 17948//22037 17853//21952 +f 17510//21746 17509//17080 17421//22023 +f 17422//21747 17510//21746 17421//22023 +f 18554//22014 19149//21950 19069//22092 +f 19857//22242 17771//22168 18533//17820 +f 17748//21694 18904//21693 18896//22189 +f 19149//21950 19071//21887 17532//22088 +f 1929//9904 1810//9978 1930//9905 +f 17951//21700 1067//21702 18487//22260 +f 18803//21638 19825//21640 19711//21888 +f 1900//7072 2024//3235 1899//7071 +f 19635//21922 19212//21920 18801//22083 +f 18326//21949 18803//21638 19711//21888 +f 17938//21646 18536//21651 19386//21807 +f 19212//21920 18803//21638 18326//21949 +f 18536//21651 19531//21650 19422//21741 +f 19313//21805 17938//21646 19386//21807 +f 19531//21650 17862//21653 17959//21742 +f 19386//21807 18536//21651 19422//21741 +f 17862//21653 18323//21654 18416//21800 +f 19422//21741 19531//21650 17959//21742 +f 18397//22261 18612//22262 18042//21871 +f 18610//21869 18042//21871 13017//22263 +f 19070//22232 18118//16749 18612//22262 +f 17702//21870 18397//22261 18042//21871 +f 18968//22264 19070//22232 18612//22262 +f 18397//22261 18968//22264 18612//22262 +f 18211//17940 18523//18819 19070//22232 +f 18968//22264 18211//17940 19070//22232 +f 35653//7351 35563//11904 35729//980 +f 18211//17940 18185//17942 18523//18819 +f 1881//2375 4134//2374 17396//2536 +f 2705//8527 2571//8534 2706//21410 +f 7094//12175 7201//12174 17362//12177 +f 18725//9432 1523//9433 18330//21039 +f 19953//20715 19066//20546 18965//20545 +f 28549//8739 2408//1816 30774//8740 +f 17328//22202 17406//22265 17405//22236 +f 17327//22235 33138//22203 17328//22202 +f 17406//22265 17494//22266 17493//22237 +f 17405//22236 17406//22265 17493//22237 +f 17494//22266 17588//22267 17587//22238 +f 17493//22237 17494//22266 17587//22238 +f 17588//22267 17683//22268 17682//22239 +f 17587//22238 17588//22267 17682//22239 +f 17683//22268 17779//22269 17778//22240 +f 17682//22239 17683//22268 17778//22240 +f 17875//19687 17874//18818 17778//22240 +f 17779//22269 17875//19687 17778//22240 +f 2552//6752 2688//6877 2687//6753 +f 17875//19687 17876//19878 17968//18773 +f 18949//19782 18950//21550 19050//21527 +f 31301//16980 31300//4147 31235//22270 +f 19439//21329 18582//20994 17869//8826 +f 18582//20994 18232//21081 18207//3991 +f 17638//21247 17637//21511 17543//20770 +f 17544//21129 17638//21247 17543//20770 +f 5893//2632 5892//2631 5760//2827 +f 18663//6958 1544//18394 18762//21029 +f 18986//21073 19087//19349 19086//21382 +f 29900//17464 29901//21712 30031//17519 +f 28557//15085 28558//5556 28686//21212 +f 17626//8872 251//8871 3488//494 +f 35850//14058 35413//11128 35701//3243 +f 20454//17412 18523//18819 22051//17434 +f 18563//6544 18660//21248 18659//21672 +f 18562//6545 18563//6544 18659//21672 +f 18660//21248 18758//20729 18757//21673 +f 18659//21672 18660//21248 18757//21673 +f 18758//20729 18857//20714 18856//21674 +f 18757//21673 18758//20729 18856//21674 +f 18857//20714 18956//21089 18955//21675 +f 18856//21674 18857//20714 18955//21675 +f 18751//21082 18752//21515 18850//19781 +f 18851//21551 18950//21550 18949//19782 +f 18695//21000 19096//6653 17297//1696 +f 19335//21359 19091//20747 19334//21246 +f 17429//20816 17428//22185 17350//19779 +f 34573//17262 34572//22271 34435//17263 +f 19429//21058 19892//21108 19893//22123 +f 19895//20880 18343//20882 18531//20796 +f 5681//9492 19299//14684 19301//9638 +f 232//17895 16556//19695 160//13599 +f 1271//21652 18616//1716 18229//21655 +f 18616//1716 17953//1725 18229//21655 +f 19782//21067 18628//21151 19771//21068 +f 18498//1366 18284//9602 18499//21682 +f 289//17607 3458//10243 8658//14865 +f 18128//21167 19332//21769 19225//22021 +f 30725//2464 6153//2309 19526//2308 +f 22300//22272 22204//22273 22205//22274 +f 6876//4435 26427//21120 27665//4601 +f 19130//22275 27782//14780 27646//14779 +f 13014//16535 14906//16534 6769//16536 +f 18020//21426 18019//20884 17926//20883 +f 26504//2321 19094//2144 6875//2146 +f 28745//2089 26968//20123 26735//8479 +f 35379//9324 35480//3448 35857//5042 +f 18434//19406 18627//19405 19593//20678 +f 18024//22016 17897//22276 18124//22277 +f 19360//22017 18024//22016 18124//22277 +f 19681//5274 28870//22278 2138//9400 +f 18586//22212 18168//22214 18567//22244 +f 18535//19650 19487//22279 18652//15377 +f 22922//15289 19213//15376 23021//7277 +f 19487//22279 18362//22280 18361//22245 +f 18652//15377 19487//22279 18361//22245 +f 18362//22280 17796//22281 18304//22246 +f 18361//22245 18362//22280 18304//22246 +f 17796//22281 19589//22282 18335//22247 +f 18304//22246 17796//22281 18335//22247 +f 19589//22282 17298//22283 18093//22248 +f 18335//22247 19589//22282 18093//22248 +f 17298//22283 18328//22284 19317//22249 +f 18093//22248 17298//22283 19317//22249 +f 18328//22284 19228//22285 18829//22250 +f 19317//22249 18328//22284 18829//22250 +f 17567//22286 17566//22251 18829//22250 +f 19228//22285 17567//22286 18829//22250 +f 18772//22287 18763//22252 17566//22251 +f 17567//22286 18772//22287 17566//22251 +f 19718//22288 19717//22253 18763//22252 +f 18772//22287 19718//22288 18763//22252 +f 18922//22289 18060//22254 19717//22253 +f 19718//22288 18922//22289 19717//22253 +f 19746//22290 19714//19689 18060//22254 +f 18922//22289 19746//22290 18060//22254 +f 13410//13295 10391//8460 11080//13296 +f 19746//22290 18174//16438 19714//19689 +f 30151//21261 30152//6462 30284//21755 +f 30164//22291 30163//17679 30031//17519 +f 18626//21608 19273//21937 19644//21292 +f 19842//21864 19956//21935 19955//21519 +f 19628//21583 19624//8439 17799//20952 +f 19956//21935 19273//21937 18626//21608 +f 7999//9441 7531//14517 5826//10311 +f 19955//21519 19956//21935 18626//21608 +f 19429//21058 19425//21057 19892//21108 +f 4687//3223 4686//3013 18046//3219 +f 30032//9547 30164//22291 30031//17519 +f 17516//22228 17610//22241 17515//21141 +f 2142//20975 2014//20848 19048//3038 +f 30297//21450 30296//17696 30163//17679 +f 18653//22176 18654//21517 18751//21082 +f 17468//14169 7012//14170 7115//14172 +f 18956//21089 19057//21091 19056//21676 +f 18752//21515 18851//21551 18850//19781 +f 18955//21675 18956//21089 19056//21676 +f 19057//21091 19159//20638 19158//21677 +f 17609//19808 17608//14593 17514//22058 +f 18654//21517 18752//21515 18751//21082 +f 33433//16542 682//5437 7282//15130 +f 18695//21000 17297//1696 18604//21395 +f 19611//20695 19722//20740 19721//21406 +f 13576//21071 17386//5762 17384//5761 +f 2142//20975 19045//18230 19046//20846 +f 17610//22241 17705//19809 17609//19808 +f 17348//19591 17426//21142 17347//21588 +f 30164//22291 30297//21450 30163//17679 +f 7338//9387 7449//13285 7337//13762 +f 30430//8966 30429//17702 30296//17696 +f 17512//21590 17606//17609 17511//21745 +f 17512//21590 17511//21745 17423//21749 +f 18683//21387 18781//20871 18780//21474 +f 17456//22034 17455//16003 13005//16002 +f 18047//22015 18177//21969 17853//21952 +f 17839//21831 19530//21909 17771//22168 +f 19952//20878 19953//20715 18965//20545 +f 17605//17919 20216//17642 17604//17641 +f 19174//22086 19360//22017 19416//22169 +f 7071//22008 17627//22292 3363//22009 +f 19549//22094 19149//21950 17532//22088 +f 18168//22214 18487//22260 361//22128 +f 17748//21694 17746//22188 18122//22231 +f 19071//21887 18030//21804 17750//22096 +f 17921//20699 18014//20959 17920//20700 +f 17951//21700 18487//22260 1768//22293 +f 18702//21898 19446//21948 18378//21679 +f 18223//21945 17659//21227 19881//8370 +f 19860//21900 18278//21886 18702//21898 +f 19446//21948 18246//1730 18378//21679 +f 19555//21902 18416//21800 19860//21900 +f 18278//21886 19446//21948 18702//21898 +f 18051//21743 17959//21742 19555//21902 +f 18416//21800 18278//21886 19860//21900 +f 18049//21808 19422//21741 18051//21743 +f 17959//21742 18416//21800 19555//21902 +f 18770//22294 17702//21870 18515//15370 +f 18521//18697 23420//15371 18515//15370 +f 18117//22295 18397//22261 17702//21870 +f 18770//22294 18117//22295 17702//21870 +f 18671//22296 18968//22264 18397//22261 +f 18117//22295 18671//22296 18397//22261 +f 19321//17941 18211//17940 18968//22264 +f 18671//22296 19321//17941 18968//22264 +f 35418//1275 35795//12608 35443//22297 +f 18291//21522 18384//21732 1091//7953 +f 16195//18596 19804//18593 18620//18594 +f 980//8512 18299//20983 18205//18999 +f 16195//18596 18039//21671 14744//17980 +f 30297//21450 30430//8966 30296//17696 +f 17901//18345 17994//19433 17900//3968 +f 19393//20697 19502//20693 19501//20698 +f 17407//22257 17406//22265 17328//22202 +f 33032//22298 33138//22203 17327//22235 +f 17495//22299 17494//22266 17406//22265 +f 17407//22257 17495//22299 17406//22265 +f 17495//22299 17589//22300 17588//22267 +f 17494//22266 17495//22299 17588//22267 +f 17589//22300 17684//22301 17683//22268 +f 17588//22267 17589//22300 17683//22268 +f 17684//22301 17780//22302 17779//22269 +f 17683//22268 17684//22301 17779//22269 +f 17780//22302 17876//19878 17875//19687 +f 17779//22269 17780//22302 17875//19687 +f 19309//20293 18695//21000 18604//21395 +f 34728//22041 12923//22303 34469//22304 +f 30564//8965 30563//17797 30429//17702 +f 5054//15993 14341//18360 11962//16713 +f 19056//21676 19057//21091 19158//21677 +f 19159//20638 19263//21975 19262//21374 +f 19158//21677 19159//20638 19262//21374 +f 17314//4297 26919//18900 28477//5891 +f 18950//21550 19051//21514 19050//21527 +f 18877//21602 18878//20792 18976//21603 +f 14341//18360 11567//8411 11962//16713 +f 30430//8966 30564//8965 30429//17702 +f 18686//9275 18685//9205 1336//9276 +f 19833//21003 19834//20704 19947//21006 +f 33541//9060 11436//12863 33540//22305 +f 7201//12174 151//5456 150//5455 +f 19861//21479 19112//21253 19775//19404 +f 2688//6877 19484//7081 2554//6962 +f 8307//12000 15365//9039 2223//9445 +f 18850//19781 18851//21551 18949//19782 +f 19263//21975 19370//21404 19262//21374 +f 19719//21407 2706//21410 19608//8533 +f 19371//21730 33942//21405 19370//21404 +f 4459//8330 4458//8232 4325//8327 +f 28316//2998 28436//5307 28315//1501 +f 30698//20042 30697//17897 30563//17797 +f 17547//21372 17641//21506 17546//21727 +f 6861//18822 17271//18824 30713//15150 +f 30564//8965 30698//20042 30563//17797 +f 35755//21464 35727//13183 33233//2692 +f 18523//18819 20454//17412 19173//18821 +f 167//21127 19941//21063 16644//21333 +f 21308//14246 21309//22306 35933//637 +f 30832//22307 30831//17917 30697//17897 +f 18229//21655 17953//1725 17473//21657 +f 17953//1725 17818//1724 17473//21657 +f 17718//21268 17961//21069 6256//2535 +f 4593//8329 4459//8330 18026//21728 +f 800//13792 2127//8375 9422//14156 +f 17452//2698 17540//20774 17539//21427 +f 27846//5945 27962//9427 27845//22078 +f 28079//5425 28078//16833 27961//16835 +f 555//1729 556//1728 14734//18986 +f 26197//19740 26054//22308 15859//20481 +f 29917//2855 30048//3060 30047//2856 +f 29380//14442 29517//14556 29516//14555 +f 28336//5184 27638//2654 26480//2656 +f 30698//20042 30832//22307 30697//17897 +f 18353//22309 18448//22310 18352//22044 +f 18650//20738 19435//2547 15014//20580 +f 27737//21998 27738//22311 27852//22018 +f 19416//22169 18473//22312 19172//17818 +f 19000//21963 18593//22211 18825//22313 +f 6949//14050 6881//13955 6882//13673 +f 17755//22314 18766//22315 19487//22279 +f 22923//16086 18535//19650 19213//15376 +f 18766//22315 18995//22316 18362//22280 +f 19487//22279 18766//22315 18362//22280 +f 18995//22316 18233//22317 17796//22281 +f 18362//22280 18995//22316 17796//22281 +f 18233//22317 16487//22318 19589//22282 +f 17796//22281 18233//22317 19589//22282 +f 16487//22318 18334//22319 17298//22283 +f 19589//22282 16487//22318 17298//22283 +f 18334//22319 19920//22320 18328//22284 +f 17298//22283 18334//22319 18328//22284 +f 19920//22320 19658//22321 19228//22285 +f 18328//22284 19920//22320 19228//22285 +f 17622//22322 17567//22286 19228//22285 +f 19658//22321 17622//22322 19228//22285 +f 18791//22323 18772//22287 17567//22286 +f 17622//22322 18791//22323 17567//22286 +f 19734//22324 19718//22288 18772//22287 +f 18791//22323 19734//22324 18772//22287 +f 18398//22325 18922//22289 19718//22288 +f 19734//22324 18398//22325 19718//22288 +f 19756//22326 19746//22290 18922//22289 +f 18398//22325 19756//22326 18922//22289 +f 19405//22327 18174//16438 19746//22290 +f 19756//22326 19405//22327 19746//22290 +f 19770//1072 15742//16443 18489//1073 +f 19405//22327 18489//1073 18174//16438 +f 19841//22328 19842//21864 19955//21519 +f 13868//8856 35352//3884 10710//14345 +f 19960//21045 17890//6964 19959//21255 +f 19735//5348 29823//2645 21382//6555 +f 18648//19883 18746//21429 18745//21346 +f 15451//20300 15322//17664 21796//12456 +f 19320//19028 19862//6629 18280//22180 +f 18966//22329 18723//10960 18719//15233 +f 17737//20919 17833//20954 17832//20920 +f 19253//22117 19254//14381 5541//9043 +f 18086//21984 18085//19649 17995//18344 +f 17641//21506 17736//20918 17735//21223 +f 11525//3344 11460//9042 33340//9041 +f 17996//21556 18086//21984 17995//18344 +f 18105//21236 18198//21731 18104//20960 +f 19715//20797 19886//21143 18526//20798 +f 19066//20546 19120//21520 18331//21056 +f 17807//21467 17903//21557 17806//18415 +f 17996//21556 17995//18344 17902//18343 +f 17460//21792 17548//21371 17459//21373 +f 32025//22330 32125//22331 32024//22332 +f 2144//15992 2145//935 2276//5887 +f 18113//5163 18206//8513 18112//19000 +f 18775//21534 18874//20864 18873//21667 +f 21456//15032 28714//4613 28585//4615 +f 17280//22194 17348//19591 17347//21588 +f 17847//21841 19819//21379 16802//20900 +f 19390//21552 19499//20732 19498//8532 +f 17950//9393 5987//20702 18915//20616 +f 17424//21586 17512//21590 17423//21749 +f 17424//21586 17423//21749 17345//21751 +f 28310//17934 28987//10239 13488//5602 +f 27959//21493 28310//17934 13488//5602 +f 18177//21969 18047//22015 19174//22086 +f 19530//21909 18177//21969 19174//22086 +f 1796//8638 1916//8642 1915//8521 +f 19282//20044 19283//20051 19389//21122 +f 17771//22168 19416//22169 18533//17820 +f 17997//1283 831//20644 17996//21556 +f 18122//22231 17746//22188 17725//22129 +f 29290//10757 28189//1822 30499//22101 +f 17532//22088 19071//21887 17750//22096 +f 18586//22212 1768//22293 18168//22214 +f 18525//21697 17951//21700 1768//22293 +f 18030//21804 19849//21806 19368//22036 +f 17391//21695 18525//21697 1768//22293 +f 1067//21702 18122//22231 18487//22260 +f 18896//22189 18904//21693 19877//22229 +f 17368//22155 17391//21695 1768//22293 +f 19877//22229 19918//21691 19208//22333 +f 19918//21691 17819//21707 19208//22333 +f 19208//22333 17819//21707 19022//22019 +f 17819//21707 19826//21708 19022//22019 +f 19022//22019 19826//21708 19599//21892 +f 19826//21708 18425//21789 19599//21892 +f 18963//14103 18770//22294 18419//15369 +f 18515//15370 18419//15369 18770//22294 +f 18613//22334 18117//22295 18770//22294 +f 18963//14103 18613//22334 18770//22294 +f 18427//22335 18671//22296 18117//22295 +f 18613//22334 18427//22335 18117//22295 +f 18083//22336 19321//17941 18671//22296 +f 18427//22335 18083//22336 18671//22296 +f 1207//7955 1091//7953 1208//8032 +f 18083//22336 18192//16228 19321//17941 +f 16664//15115 16509//18370 18054//15116 +f 16386//21033 4594//20976 18035//21034 +f 18128//21167 19933//20703 19332//21769 +f 23333//21053 18235//22337 18145//17431 +f 18883//21257 18982//21008 18981//21085 +f 18784//21523 18883//21257 18882//21174 +f 30982//7937 31043//13943 30981//22338 +f 35189//18349 6999//12909 35317//21592 +f 17496//22339 17495//22299 17407//22257 +f 17408//22340 17496//22339 17407//22257 +f 17590//22341 17589//22300 17495//22299 +f 17496//22339 17590//22341 17495//22299 +f 17685//22342 17684//22301 17589//22300 +f 17590//22341 17685//22342 17589//22300 +f 17781//22343 17780//22302 17684//22301 +f 17685//22342 17781//22343 17684//22301 +f 17781//22343 17877//15343 17876//19878 +f 17780//22302 17781//22343 17876//19878 +f 16356//508 16357//18371 16509//18370 +f 21583//18604 20968//20035 19017//20036 +f 18557//21516 18654//21517 21047//17632 +f 21132//18758 18653//22176 18751//21082 +f 19292//20730 19399//21308 19398//22005 +f 17807//21467 17806//18415 17710//20727 +f 18078//21528 19936//19466 19259//21414 +f 19626//21533 18152//21532 17960//21609 +f 35515//17974 35891//2763 35923//2801 +f 35675//2912 35920//6317 11315//8996 +f 17711//21466 17710//20727 17615//20752 +f 17827//20814 17826//20707 17730//21094 +f 19189//19350 19190//21274 19293//21049 +f 7115//14172 7116//14171 7222//21195 +f 17460//21792 17461//21845 17549//20824 +f 19294//21207 19401//21790 19400//21309 +f 16965//20691 167//21127 18228//20649 +f 17913//22344 17471//17972 30831//17917 +f 19960//21045 19959//21255 19845//21046 +f 18468//21327 18089//20910 17558//20856 +f 30832//22307 17913//22344 30831//17917 +f 29352//21607 29351//21568 29214//22345 +f 18874//20864 18875//20863 18973//20974 +f 19504//20776 19614//20946 19613//20777 +f 17833//20954 17834//21424 17929//20955 +f 17641//21506 17642//21323 17736//20918 +f 18750//16654 18751//21082 18849//21083 +f 18000//14018 17721//14017 5692//21558 +f 18111//21431 18110//21433 18020//21426 +f 980//8512 18205//18999 18206//8513 +f 2408//1816 2812//10747 30774//8740 +f 17608//14593 17607//21587 17513//21585 +f 18588//9119 19580//19719 15263//3024 +f 22044//22346 22043//18051 17471//17972 +f 18774//21538 18775//21534 18873//21667 +f 35533//1931 30480//1930 27780//2615 +f 17473//21657 17818//1724 18091//17832 +f 6153//2309 19656//1858 19858//1857 +f 18948//19783 19049//3039 19048//3038 +f 19015//17819 19857//22242 18533//17820 +f 27733//10035 27848//10036 27847//5943 +f 19253//22117 5405//3992 18207//3991 +f 30066//18784 30065//21810 29934//18785 +f 31388//22347 31455//22348 31387//22349 +f 2446//9692 19512//9694 2312//9691 +f 17913//22344 22044//22346 17471//17972 +f 29929//2134 29928//18883 29799//1683 +f 18206//8513 18113//5163 860//5162 +f 30367//1750 19233//21947 7400//1417 +f 18533//17820 19416//22169 19172//17818 +f 18448//22310 18544//22350 18543//22046 +f 7291//22351 29294//22352 30027//4434 +f 19360//22017 18124//22277 18473//22312 +f 22635//20127 11861//9108 6259//17688 +f 18586//22212 18567//22244 19588//22213 +f 17937//12697 19556//22353 18766//22315 +f 17755//22314 17937//12697 18766//22315 +f 19556//22353 18267//22354 18995//22316 +f 18766//22315 19556//22353 18995//22316 +f 18267//22354 18729//22355 18233//22317 +f 18995//22316 18267//22354 18233//22317 +f 18729//22355 18025//22356 16487//22318 +f 18233//22317 18729//22355 16487//22318 +f 18025//22356 19408//22357 18334//22319 +f 16487//22318 18025//22356 18334//22319 +f 19408//22357 18833//22358 19920//22320 +f 18334//22319 19408//22357 19920//22320 +f 18833//22358 18090//22359 19658//22321 +f 19920//22320 18833//22358 19658//22321 +f 17623//22360 17622//22322 19658//22321 +f 18090//22359 17623//22360 19658//22321 +f 18792//22361 18791//22323 17622//22322 +f 17623//22360 18792//22361 17622//22322 +f 19755//22362 19734//22324 18791//22323 +f 18792//22361 19755//22362 18791//22323 +f 19634//22363 18398//22325 19734//22324 +f 19755//22362 19634//22363 19734//22324 +f 19757//22364 19756//22326 18398//22325 +f 19634//22363 19757//22364 18398//22325 +f 17962//22365 19405//22327 19756//22326 +f 19757//22364 17962//22365 19756//22326 +f 19640//1074 18489//1073 19405//22327 +f 17962//22365 19640//1074 19405//22327 +f 35499//3672 35450//4776 35646//901 +f 1689//9677 1806//9681 18987//20992 +f 30365//10827 30366//1416 19466//1418 +f 27893//19070 29413//4768 29354//4767 +f 11552//15488 16311//16603 23522//15493 +f 18987//20992 19088//21272 19087//19349 +f 6016//231 12053//4724 15168//1514 +f 19185//20968 19289//21293 19288//20675 +f 18169//21148 18279//21611 18530//21723 +f 19585//20849 19091//20747 19335//21359 +f 17449//7172 35193//10714 17371//18201 +f 11157//4490 4779//4015 11029//11588 +f 18787//20610 18788//20851 18886//20611 +f 4134//2374 3401//401 181//14107 +f 19162//21787 19266//5171 19161//1694 +f 21129//21944 18747//21217 21042//17573 +f 18530//21723 19335//21359 19220//21295 +f 17903//21557 17996//21556 17902//18343 +f 19733//7859 19732//20673 19621//21828 +f 18530//21723 19585//20849 19335//21359 +f 19694//21569 19657//21388 19693//21665 +f 17832//20920 17831//21627 17735//21223 +f 12020//15679 12021//12035 27317//3168 +f 17944//20048 19652//20047 18491//21235 +f 21745//22366 21746//18156 22043//18051 +f 27643//16616 17863//21834 29958//22011 +f 18200//21289 18201//21370 18294//21290 +f 18531//20796 18343//20882 19715//20797 +f 17346//21589 17424//21586 17345//21751 +f 17346//21589 17345//21751 17277//21593 +f 28742//21508 30209//21155 19132//21526 +f 25728//17088 24452//17125 21291//17127 +f 8694//13020 2075//2572 1949//3882 +f 3071//21355 16170//20289 15904//20242 +f 18074//16279 18073//16278 20458//16960 +f 18224//17153 19275//21023 19215//21026 +f 22323//4654 7406//7358 22322//1920 +f 19941//21063 19440//21062 18835//21334 +f 5091//3227 5224//3030 19768//20614 +f 29135//12344 11406//16927 28753//21390 +f 18487//22260 18122//22231 361//22128 +f 19400//21309 19509//21504 19508//21310 +f 17750//22096 18030//21804 19368//22036 +f 18593//22211 17368//22155 18586//22212 +f 18900//22084 18554//22014 17747//22091 +f 19849//21806 18049//21808 18338//22035 +f 18033//22056 18900//22084 18617//22137 +f 18554//22014 19069//22092 17747//22091 +f 18432//22057 18033//22056 18245//22177 +f 18900//22084 17747//22091 18617//22137 +f 18432//22057 18245//22177 19515//22367 +f 18552//22053 18432//22057 19515//22367 +f 18552//22053 19515//22367 19204//21895 +f 18033//22056 18617//22137 18245//22177 +f 13027//15675 18609//14101 18419//15369 +f 19203//21954 18552//22053 19204//21895 +f 17991//22368 18613//22334 18963//14103 +f 19379//9211 17991//22368 18963//14103 +f 19601//22369 18427//22335 18613//22334 +f 17991//22368 19601//22369 18613//22334 +f 19897//22370 18083//22336 18427//22335 +f 19601//22369 19897//22370 18427//22335 +f 19636//22371 18192//16228 18083//22336 +f 19897//22370 19636//22371 18083//22336 +f 3616//15292 21683//14451 22058//19172 +f 19636//22371 19121//900 18192//16228 +f 18981//21085 19082//21196 19081//21086 +f 7094//12175 17294//16922 17295//12265 +f 18780//21474 18781//20871 18879//20793 +f 18880//20872 18979//21539 18978//21234 +f 19893//22123 18151//20921 17842//21770 +f 17331//22372 17409//22373 17408//22340 +f 6999//12909 6998//12814 35317//21592 +f 17497//22374 17496//22339 17408//22340 +f 17409//22373 17497//22374 17408//22340 +f 17591//22375 17590//22341 17496//22339 +f 17497//22374 17591//22375 17496//22339 +f 17686//22376 17685//22342 17590//22341 +f 17591//22375 17686//22376 17590//22341 +f 17782//22377 17781//22343 17685//22342 +f 17686//22376 17782//22377 17685//22342 +f 17878//15344 17877//15343 17781//22343 +f 17782//22377 17878//15344 17781//22343 +f 22429//17724 22428//16049 33925//22378 +f 34601//22379 34881//22380 33925//22378 +f 17641//21506 17640//22158 17546//21727 +f 17459//21373 17547//21372 17546//21727 +f 17711//21466 17807//21467 17710//20727 +f 17903//21557 17902//18343 17806//18415 +f 18965//20545 19535//20547 2267//21430 +f 17433//20720 17434//21509 17521//20754 +f 18687//9277 18785//21232 18784//21523 +f 9282//5587 4650//5449 2479//5448 +f 17616//21468 17711//21466 17615//20752 +f 13222//22381 17287//15412 17354//20722 +f 17458//20646 17459//21373 17546//21727 +f 17927//21425 17928//20956 18020//21426 +f 18973//20974 19074//8643 1916//8642 +f 30427//10802 30561//10841 30426//20162 +f 17732//21510 17828//21259 17827//20814 +f 18016//20764 18015//21237 17922//20708 +f 19837//22006 19838//21258 19951//20877 +f 17433//20720 17354//20722 17355//15411 +f 19607//9633 19532//20839 5010//8432 +f 19123//20683 17964//20682 19941//21063 +f 17531//6289 18000//14018 5692//21558 +f 1219//9204 1335//9100 1334//9099 +f 19751//9563 19223//8433 19331//20962 +f 18985//20711 18986//21073 19086//21382 +f 18294//21290 18387//20778 18386//20671 +f 17548//21371 17642//21323 17641//21506 +f 18481//21936 18482//20780 18577//5054 +f 22044//22346 21745//22366 22043//18051 +f 17514//22058 17608//14593 17513//21585 +f 18290//20861 18291//21522 1091//7953 +f 19968//19881 31082//22382 31145//19882 +f 34415//10727 34414//3130 34276//10728 +f 26253//3786 26390//21705 26351//9604 +f 506//8383 507//8510 622//8382 +f 27732//17052 27733//10035 27847//5943 +f 1916//8642 1796//8638 18973//20974 +f 21657//12356 27295//2463 7401//8916 +f 2676//6178 2542//22148 26595//5775 +f 30069//22081 30068//15043 29937//22383 +f 18148//22107 18139//9459 19007//9461 +f 28552//22384 27262//22385 26412//2269 +f 28997//1691 6876//4435 27665//4601 +f 18543//22046 18544//22350 18640//20007 +f 27962//9427 28079//5425 27961//16835 +f 19485//20929 18382//20930 18374//21028 +f 3861//1523 19657//21388 18337//1698 +f 18898//22386 18998//9072 34212//9074 +f 18885//20612 18886//20611 18984//20710 +f 29294//22352 28552//22384 28430//17935 +f 19416//22169 19360//22017 18473//22312 +f 22826//20474 18732//12699 22925//12698 +f 18593//22211 19588//22213 18825//22313 +f 19111//22387 19927//22388 17937//12697 +f 18732//12699 19111//22387 17937//12697 +f 19927//22388 18668//22389 19556//22353 +f 17937//12697 19927//22388 19556//22353 +f 18668//22389 18310//22390 18267//22354 +f 19556//22353 18668//22389 18267//22354 +f 18310//22390 18307//22391 18729//22355 +f 18267//22354 18310//22390 18729//22355 +f 18307//22391 19166//22392 18025//22356 +f 18729//22355 18307//22391 18025//22356 +f 19166//22392 17814//22393 19408//22357 +f 18025//22356 19166//22392 19408//22357 +f 17814//22393 17470//22394 18833//22358 +f 19408//22357 17814//22393 18833//22358 +f 17470//22394 19710//22395 18090//22359 +f 18833//22358 17470//22394 18090//22359 +f 17630//22396 17623//22360 18090//22359 +f 19710//22395 17630//22396 18090//22359 +f 18795//22397 18792//22361 17623//22360 +f 17630//22396 18795//22397 17623//22360 +f 19803//22398 19755//22362 18792//22361 +f 18795//22397 19803//22398 18792//22361 +f 19769//22399 19634//22363 19755//22362 +f 19803//22398 19769//22399 19755//22362 +f 19767//22400 19757//22364 19634//22363 +f 19769//22399 19767//22400 19634//22363 +f 17947//22401 17962//22365 19757//22364 +f 19767//22400 17947//22401 19757//22364 +f 17945//22402 19640//1074 17962//22365 +f 17947//22401 17945//22402 17962//22365 +f 18216//22403 13991//17761 19536//17763 +f 17945//22402 19536//17763 19640//1074 +f 19622//9607 19733//7859 19621//21828 +f 7411//4758 6781//4760 6654//9116 +f 19123//20683 19941//21063 167//21127 +f 19444//20887 18279//21611 18169//21148 +f 17464//5763 17552//21294 17463//5760 +f 14907//15375 19770//1072 12803//17762 +f 17647//20283 17742//8750 17741//18468 +f 18183//20817 19325//20651 19171//20818 +f 18872//8637 1678//8519 18773//21219 +f 1339//9456 18691//9601 18690//9457 +f 5194//6249 16695//2820 16696//1227 +f 19726//19130 19839//20658 19838//21258 +f 18169//21148 19220//21295 19887//21037 +f 19893//22123 19892//21108 18151//20921 +f 19400//21309 19401//21790 19509//21504 +f 18169//21148 18530//21723 19220//21295 +f 8117//1700 17723//3767 17767//1701 +f 18291//21522 18290//20861 18196//20860 +f 35626//9595 35630//10777 35353//5847 +f 18883//21257 18884//21228 18982//21008 +f 17734//21224 17830//21317 17733//21319 +f 18480//20788 1326//8291 18479//8290 +f 35827//16533 35687//7556 35851//13334 +f 19644//21292 19628//21583 17799//20952 +f 19289//21293 19396//21202 19395//21375 +f 18295//21146 18388//20779 18387//20778 +f 17276//21752 34651//22404 17277//21593 +f 21657//12356 7401//8916 27142//13319 +f 28453//22405 28575//21457 28452//22406 +f 30580//21051 30579//15151 30445//21052 +f 18841//21848 20619//16138 1970//16140 +f 26401//22407 26400//22408 24804//22409 +f 18261//16318 18260//22410 18166//16319 +f 18167//16320 18166//16319 18074//16279 +f 30285//21756 30418//12520 30417//19454 +f 19420//8827 5000//8705 4864//8564 +f 11592//3345 27064//22411 27063//14133 +f 28984//21852 27759//2135 26415//6045 +f 11499//22412 7182//18210 21746//18156 +f 18259//22207 18260//22410 18352//22044 +f 1768//22293 18487//22260 18168//22214 +f 19443//20803 19553//20835 18115//21156 +f 18739//21962 17368//22155 18593//22211 +f 19000//21963 18739//21962 18593//22211 +f 361//22128 18122//22231 17725//22129 +f 17368//22155 1768//22293 18586//22212 +f 17746//22188 18896//22189 18895//22132 +f 17725//22129 17746//22188 18895//22132 +f 18896//22189 19877//22229 19874//22413 +f 18895//22132 18896//22189 19874//22413 +f 19877//22229 19208//22333 19777//22414 +f 19777//22414 19208//22333 19783//22022 +f 19874//22413 19877//22229 19777//22414 +f 19208//22333 19022//22019 19783//22022 +f 18396//9210 17991//22368 19379//9211 +f 23325//14102 23422//2613 19379//9211 +f 19491//22415 19601//22369 17991//22368 +f 18396//9210 19491//22415 17991//22368 +f 18547//22416 19897//22370 19601//22369 +f 19491//22415 18547//22416 19601//22369 +f 19641//22417 19636//22371 19897//22370 +f 18547//22416 19641//22417 19897//22370 +f 19019//898 19121//900 19636//22371 +f 19641//22417 19019//898 19636//22371 +f 17548//21371 17549//20824 17642//21323 +f 18300//12514 18940//20743 18941//21231 +f 19894//22256 19893//22123 17842//21770 +f 2267//21430 19417//21168 17568//20909 +f 18990//20866 2267//21430 17568//20909 +f 17332//22418 17410//22419 17409//22373 +f 13967//22420 26799//10521 6921//14785 +f 17498//22421 17497//22374 17409//22373 +f 17410//22419 17498//22421 17409//22373 +f 17592//22422 17591//22375 17497//22374 +f 17498//22421 17592//22422 17497//22374 +f 17687//22423 17686//22376 17591//22375 +f 17592//22422 17687//22423 17591//22375 +f 17783//22424 17782//22377 17686//22376 +f 17687//22423 17783//22424 17686//22376 +f 17783//22424 17879//22425 17878//15344 +f 17782//22377 17783//22424 17878//15344 +f 17879//22425 17972//22426 17971//16219 +f 17878//15344 17879//22425 17971//16219 +f 18155//20549 20533//15508 18063//22427 +f 18063//22427 18062//17342 17972//22426 +f 19445//21147 18169//21148 19887//21037 +f 18516//21543 19445//21147 19887//21037 +f 17616//21468 17615//20752 17521//20754 +f 19225//22021 19385//20874 19369//20917 +f 17356//15410 17434//21509 17433//20720 +f 17522//21471 17616//21468 17521//20754 +f 17355//15411 17356//15410 17433//20720 +f 17434//21509 17522//21471 17521//20754 +f 19534//21036 18516//21543 19887//21037 +f 584//21019 17840//20615 17931//21020 +f 19293//21049 19294//21207 19400//21309 +f 18293//20670 18292//20672 18198//21731 +f 18382//20930 18383//9714 5279//9716 +f 18387//20778 18482//20780 18481//21936 +f 18223//21945 19863//20925 17659//21227 +f 18434//19406 19593//20678 19585//20849 +f 18294//21290 18293//20670 18199//21291 +f 732//7671 18013//20961 18103//7856 +f 19859//6876 17992//20677 19958//21554 +f 17646//21092 17647//20283 17741//18468 +f 31133//17720 31132//11875 31070//20368 +f 19048//3038 2014//20848 18947//21581 +f 25399//22428 23604//22429 12008//10790 +f 35624//5710 35718//2803 35635//16736 +f 29539//15972 29123//22430 22159//22431 +f 25344//16258 27056//16894 27055//2069 +f 30534//2068 25344//16258 27055//2069 +f 18251//22432 18345//22433 18344//17076 +f 21380//5473 20348//685 11455//21445 +f 11455//21445 20348//685 19194//687 +f 29799//1683 29928//18883 29798//21839 +f 2980//8535 19945//1719 3120//8405 +f 21745//22366 11499//22412 21746//18156 +f 28983//14109 28849//5190 21638//14110 +f 18925//21964 19806//21955 18247//16095 +f 18436//1973 29009//16612 29549//3009 +f 19007//9461 19108//9460 18999//21463 +f 22108//22434 29534//22435 22013//22436 +f 20950//15807 18546//16924 18450//7044 +f 11499//22412 7007//22437 15476//18225 +f 18447//22167 18448//22310 18543//22046 +f 7182//18210 11499//22412 15476//18225 +f 26//725 15490//899 19019//898 +f 18544//22350 18641//4267 18640//20007 +f 17910//18705 18863//22438 18189//22439 +f 18045//1313 18189//22439 18863//22438 +f 18863//22438 18308//22440 18045//1313 +f 19111//22387 18732//12699 22827//1314 +f 18308//22440 19214//22441 19111//22387 +f 18045//1313 18308//22440 19111//22387 +f 19214//22441 18720//22442 19927//22388 +f 19111//22387 19214//22441 19927//22388 +f 18720//22442 19754//22443 18668//22389 +f 19927//22388 18720//22442 18668//22389 +f 19754//22443 19025//22444 18310//22390 +f 18668//22389 19754//22443 18310//22390 +f 19025//22444 18901//22445 18307//22391 +f 18310//22390 19025//22444 18307//22391 +f 18901//22445 19597//22446 19166//22392 +f 18307//22391 18901//22445 19166//22392 +f 19597//22446 19063//22447 17814//22393 +f 19166//22392 19597//22446 17814//22393 +f 19063//22447 18031//22448 17470//22394 +f 17814//22393 19063//22447 17470//22394 +f 18031//22448 18830//22449 19710//22395 +f 17470//22394 18031//22448 19710//22395 +f 17650//22450 17630//22396 19710//22395 +f 18830//22449 17650//22450 19710//22395 +f 18811//22451 18795//22397 17630//22396 +f 17650//22450 18811//22451 17630//22396 +f 19814//22452 19803//22398 18795//22397 +f 18811//22451 19814//22452 18795//22397 +f 18405//22453 19769//22399 19803//22398 +f 19814//22452 18405//22453 19803//22398 +f 19867//22454 19767//22400 19769//22399 +f 18405//22453 19867//22454 19769//22399 +f 19632//22455 17947//22401 19767//22400 +f 19867//22454 19632//22455 19767//22400 +f 19522//22456 17945//22402 17947//22401 +f 19632//22455 19522//22456 17947//22401 +f 17441//22457 19536//17763 17945//22402 +f 19522//22456 17441//22457 17945//22402 +f 18888//9678 18987//20992 18887//20850 +f 18476//16610 13468//15664 16463//16608 +f 17636//21386 17637//21511 17731//21093 +f 19060//20718 19059//1693 18958//20719 +f 17552//21294 17551//20808 17463//5760 +f 34450//15824 34449//22458 34311//22459 +f 18784//21523 18785//21232 18883//21257 +f 18488//20617 18128//21167 19225//22021 +f 19775//19404 18279//21611 19444//20887 +f 19083//21010 19084//20966 19185//20968 +f 18297//21478 18390//6443 18389//20725 +f 17942//21278 18138//21032 18035//21034 +f 19081//21086 19183//21198 19182//21059 +f 28611//21364 28985//14497 29411//21191 +f 19269//21772 18078//21528 19259//21414 +f 19401//21790 19510//21505 19509//21504 +f 18043//21307 17625//21311 19782//21067 +f 2185//9987 2184//9986 2055//9983 +f 19729//21213 19842//21864 19841//22328 +f 16171//3781 19229//3780 4824//3599 +f 18201//21370 18295//21146 18294//21290 +f 19080//21540 19182//21059 19181//20823 +f 10575//13469 14557//1572 12211//11290 +f 18879//20793 18880//20872 18978//21234 +f 19505//21204 19615//20669 19614//20946 +f 18107//20762 18108//21610 18200//21289 +f 7007//22437 11397//22460 7084//18227 +f 31082//22382 19968//19881 19967//16973 +f 6781//4760 6899//603 17571//602 +f 30028//4431 30160//15461 22679//21809 +f 18484//6445 18580//21604 18579//21226 +f 14782//558 14676//406 18173//18993 +f 18354//16918 18353//22309 18260//22410 +f 20705//2027 18167//16320 20625//7039 +f 19942//21066 19771//21068 4059//8322 +f 26054//22308 26197//19740 26196//17869 +f 28237//22461 28238//22462 25293//22463 +f 30324//1974 30323//1976 30190//18931 +f 18448//22310 18447//22167 18352//22044 +f 18165//16280 18166//16319 18259//22207 +f 17986//20859 16191//10019 18496//14323 +f 18024//22016 18456//21951 18703//22464 +f 1545//6959 18762//21029 1544//18394 +f 15476//18225 7007//22437 7084//18227 +f 2100//1715 1508//1558 18909//1557 +f 23713//2980 12335//10308 28109//2937 +f 19261//21465 18371//22225 19260//21412 +f 4555//3782 4422//3986 4556//3778 +f 1338//9349 1223//9535 1339//9456 +f 11397//22460 21459//15968 13893//18620 +f 1693//1993 1694//1995 1810//9978 +f 18358//1388 17366//1393 18438//21991 +f 7084//18227 11397//22460 13893//18620 +f 9182//14063 16673//18375 9290//13018 +f 18209//22465 18396//9210 19772//9212 +f 19772//9212 23422//2613 22932//2612 +f 19381//22466 19491//22415 18396//9210 +f 18209//22465 19381//22466 18396//9210 +f 18804//22467 18547//22416 19491//22415 +f 19381//22466 18804//22467 19491//22415 +f 19824//882 19641//22417 18547//22416 +f 18804//22467 19824//882 18547//22416 +f 19761//884 19019//898 19641//22417 +f 19824//882 19761//884 19641//22417 +f 18985//20711 19086//21382 19085//20712 +f 18940//20743 18300//12514 18289//20744 +f 18711//21102 18277//20668 18584//21080 +f 18857//20714 18858//20713 18956//21089 +f 18971//20879 2267//21430 18990//20866 +f 19327//20837 18971//20879 18990//20866 +f 21459//15968 26345//15970 25800//18941 +f 17411//22468 17410//22419 17332//22418 +f 33246//8392 17332//22418 33245//22469 +f 17411//22468 17499//22470 17498//22421 +f 17410//22419 17411//22468 17498//22421 +f 17499//22470 17593//22471 17592//22422 +f 17498//22421 17499//22470 17592//22422 +f 17593//22471 17688//22472 17687//22423 +f 17592//22422 17593//22471 17687//22423 +f 17688//22472 17784//22473 17783//22424 +f 17687//22423 17688//22472 17783//22424 +f 17784//22473 17880//22474 17879//22425 +f 17783//22424 17784//22473 17879//22425 +f 17880//22474 17973//22475 17972//22426 +f 17879//22425 17880//22474 17972//22426 +f 17973//22475 18064//20550 18063//22427 +f 17972//22426 17973//22475 18063//22427 +f 18519//21109 19318//21125 19006//9756 +f 18155//20549 18156//20548 20615//2778 +f 19861//21479 18575//20886 18152//21532 +f 629//9199 7449//13285 515//9267 +f 18241//22476 19225//22021 19369//20917 +f 18373//20875 19297//20758 19279//20757 +f 18488//20617 19225//22021 18241//22476 +f 17931//21020 18488//20617 18241//22476 +f 18293//20670 18294//21290 18386//20671 +f 19852//21158 19932//21157 19626//21533 +f 13893//18620 21459//15968 25800//18941 +f 26345//15970 27085//22068 27084//19602 +f 19532//20839 19607//9633 18383//9714 +f 19091//20747 18768//20746 18234//21249 +f 18685//9205 18686//9275 18783//20831 +f 18019//20884 18109//21369 18108//21610 +f 13058//18163 15886//22477 17390//22478 +f 25800//18941 26345//15970 27084//19602 +f 32725//9253 32837//2936 32724//9254 +f 33431//22479 7173//14733 33430//22480 +f 29391//5603 29528//22481 29390//5604 +f 29692//5066 28738//21840 29000//5481 +f 30191//12860 30324//1974 30190//18931 +f 30458//21398 30457//1975 30324//1974 +f 26573//4644 26678//20249 26677//6607 +f 26572//6606 26573//4644 26677//6607 +f 27055//2069 27056//16894 28362//5334 +f 27056//16894 28370//14742 28362//5334 +f 29944//15974 27528//17425 29402//22482 +f 18422//15117 20026//17429 22057//22483 +f 18670//21222 19942//21066 4059//8322 +f 26964//22484 28188//22485 6533//22486 +f 19846//7858 2851//9615 19960//21045 +f 19468//1965 12544//3054 19454//1966 +f 18999//21463 6641//20441 17849//8873 +f 18300//12514 18941//21231 2010//21230 +f 19094//2144 28132//16042 30339//17708 +f 17342//22027 17341//22152 26967//22028 +f 27669//22487 28248//22488 25372//22489 +f 18588//9119 18615//19131 21408//9117 +f 28874//2639 28741//22490 29545//5617 +f 31173//10376 31174//10375 31237//22491 +f 17910//18705 18189//22439 19322//22492 +f 29893//5899 28249//5898 17261//15000 +f 18225//22493 18433//22494 18863//22438 +f 17910//18705 18225//22493 18863//22438 +f 18433//22494 18924//22495 18308//22440 +f 18863//22438 18433//22494 18308//22440 +f 18924//22495 17918//22496 19214//22441 +f 18308//22440 18924//22495 19214//22441 +f 17918//22496 19866//22497 18720//22442 +f 19214//22441 17918//22496 18720//22442 +f 19866//22497 17812//22498 19754//22443 +f 18720//22442 19866//22497 19754//22443 +f 17812//22498 18549//22499 19025//22444 +f 19754//22443 17812//22498 19025//22444 +f 18549//22499 18827//22500 18901//22445 +f 19025//22444 18549//22499 18901//22445 +f 18827//22500 18121//22501 19597//22446 +f 18901//22445 18827//22500 19597//22446 +f 18121//22501 17837//22502 19063//22447 +f 19597//22446 18121//22501 19063//22447 +f 17837//22502 18044//22503 18031//22448 +f 19063//22447 17837//22502 18031//22448 +f 18044//22503 17821//22504 18830//22449 +f 18031//22448 18044//22503 18830//22449 +f 17651//22505 17650//22450 18830//22449 +f 17821//22504 17651//22505 18830//22449 +f 18813//22506 18811//22451 17650//22450 +f 17651//22505 18813//22506 17650//22450 +f 19815//22507 19814//22452 18811//22451 +f 18813//22506 19815//22507 18811//22451 +f 17908//22508 18405//22453 19814//22452 +f 19815//22507 17908//22508 19814//22452 +f 19879//22509 19867//22454 18405//22453 +f 17908//22508 19879//22509 18405//22453 +f 19470//22510 19632//22455 19867//22454 +f 19879//22509 19470//22510 19867//22454 +f 17934//22511 19522//22456 19632//22455 +f 19470//22510 17934//22511 19632//22455 +f 19298//10906 17441//22457 19522//22456 +f 17934//22511 19298//10906 19522//22456 +f 18495//18429 19298//10906 19328//10905 +f 19298//10906 18495//18429 17441//22457 +f 6771//7652 348//8866 10760//7650 +f 16802//20900 19819//21379 17909//20902 +f 19657//21388 3966//1369 18268//21846 +f 18661//3982 18660//21248 18563//6544 +f 2312//9691 19403//9688 2180//9687 +f 18152//21532 18575//20886 19922//20888 +f 19186//20967 19290//21544 19289//21293 +f 19403//9688 19512//9694 19402//21206 +f 35668//3313 22436//19165 35736//3311 +f 18778//20932 18779//20663 18877//21602 +f 17284//21617 17285//20724 17353//20723 +f 19080//21540 19081//21086 19182//21059 +f 30774//8740 2812//10747 28946//14791 +f 19512//9694 19511//21748 19402//21206 +f 14734//18986 5757//1587 555//1729 +f 17949//14685 5543//1356 19257//20945 +f 19617//21612 19618//21524 19728//21525 +f 19398//22005 19399//21308 19507//21613 +f 18197//21521 18196//20860 18103//7856 +f 18371//22225 19269//21772 18370//21413 +f 19952//20878 18965//20545 18971//20879 +f 17571//602 18994//6339 25457//14944 +f 18788//20851 18887//20850 18886//20611 +f 17451//3019 17452//2698 17539//21427 +f 19552//3027 19432//3026 18500//21717 +f 23636//22512 15767//19610 23590//22513 +f 19015//17819 18898//22386 34212//9074 +f 30075//359 30077//15486 19909//360 +f 18750//16654 18849//21083 18848//16655 +f 18284//9602 19365//1377 19023//21629 +f 18449//17428 18448//22310 18353//22309 +f 18354//16918 18449//17428 18353//22309 +f 4155//3979 18457//21132 19205//21658 +f 20276//22514 17871//22515 20362//18070 +f 32948//16620 32947//22516 32839//9724 +f 34194//504 22523//15460 22522//700 +f 18260//22410 18353//22309 18352//22044 +f 19510//21505 19620//21012 19619//21011 +f 17897//22276 18024//22016 18703//22464 +f 18456//21951 19124//21889 19125//22517 +f 19368//22036 19598//22518 18029//22097 +f 17750//22096 19368//22036 18029//22097 +f 18338//22035 19200//22519 19598//22518 +f 19368//22036 18338//22035 19598//22518 +f 18338//22035 18141//21965 18142//22520 +f 18142//22520 18141//21965 19928//22521 +f 19200//22519 18338//22035 18142//22520 +f 18141//21965 19605//21903 19928//22521 +f 19605//21903 17722//21901 17474//22522 +f 19928//22521 19605//21903 17474//22522 +f 17722//21901 18150//21899 18214//22131 +f 17474//22522 17722//21901 18214//22131 +f 18395//22523 18209//22465 17916//22524 +f 17916//22524 19772//9212 22932//2612 +f 18868//22525 19381//22466 18209//22465 +f 18395//22523 18868//22525 18209//22465 +f 19224//22526 18804//22467 19381//22466 +f 18868//22525 19224//22526 19381//22466 +f 18193//21357 19824//882 18804//22467 +f 19224//22526 18193//21357 18804//22467 +f 6414//3242 9327//17539 6539//3246 +f 15519//519 1527//8531 15653//15201 +f 3666//20852 584//21019 18127//20819 +f 18494//20923 18099//21271 18322//20881 +f 18711//21102 18584//21080 17963//21564 +f 19936//19466 18078//21528 19319//9637 +f 19951//20877 18971//20879 19327//20837 +f 19950//20766 19951//20877 19327//20837 +f 11809//19592 35359//7045 35732//19219 +f 1854//15332 5426//8655 10604//14230 +f 30349//22527 30690//8775 30216//3111 +f 27085//22068 28432//22528 28431//19880 +f 27084//19602 27085//22068 28431//19880 +f 17334//22529 17412//22530 17411//22468 +f 25406//22531 25265//9435 25407//11194 +f 17412//22530 17500//22532 17499//22470 +f 17411//22468 17412//22530 17499//22470 +f 17500//22532 17594//22533 17593//22471 +f 17499//22470 17500//22532 17593//22471 +f 17594//22533 17689//22534 17688//22472 +f 17593//22471 17594//22533 17688//22472 +f 17689//22534 17785//22535 17784//22473 +f 17688//22472 17689//22534 17784//22473 +f 17785//22535 17881//22536 17880//22474 +f 17784//22473 17785//22535 17880//22474 +f 17881//22536 17974//22537 17973//22475 +f 17880//22474 17881//22536 17973//22475 +f 17974//22537 18065//22538 18064//20550 +f 17973//22475 17974//22537 18064//20550 +f 18065//22538 18157//22539 18156//20548 +f 18064//20550 18065//22538 18156//20548 +f 18251//22432 18344//17076 20696//11039 +f 18157//22539 18251//22432 18156//20548 +f 2041//3790 2040//8522 1916//8642 +f 16195//18596 17134//18595 19804//18593 +f 19593//20678 18404//20680 18266//20745 +f 17332//22418 33246//8392 17333//22540 +f 3408//9367 18080//473 3269//6874 +f 18776//20737 18777//20933 18875//20863 +f 19894//22256 17842//21770 18131//21400 +f 19781//20857 19894//22256 18131//21400 +f 19506//21399 19507//21613 19616//19128 +f 19891//21107 17724//20953 18592//21260 +f 18861//12551 18960//12449 18860//21104 +f 18580//21604 18581//21021 18677//21022 +f 28432//22528 30198//22541 30159//20128 +f 28431//19880 28432//22528 30159//20128 +f 26421//16227 24159//16226 31857//22542 +f 25281//22543 25044//22544 25280//22545 +f 31857//22542 31856//22546 26421//16227 +f 35856//9962 35628//12186 35425//15380 +f 28869//22547 27289//22548 29425//22549 +f 30325//12859 30458//21398 30324//1974 +f 20906//22550 23492//5354 12541//17102 +f 23912//19595 23913//16032 23972//16031 +f 28362//5334 28370//14742 30094//5342 +f 28370//14742 30095//9085 30094//5342 +f 7293//10393 21380//5473 6874//21495 +f 30091//18820 28188//22485 26964//22484 +f 17575//13827 30091//18820 26964//22484 +f 28717//15958 30425//13917 30422//15965 +f 27373//22551 27380//15957 28683//15959 +f 26711//5057 26823//5059 26822//5601 +f 5464//8605 6532//2131 30083//2130 +f 2680//22552 2544//22553 25351//5068 +f 35795//12608 35595//12817 35443//22297 +f 28479//15131 25259//14695 30621//22554 +f 25767//22555 19477//1552 21375//22556 +f 35905//9308 35607//4973 35387//6872 +f 26584//22557 8661//22166 28477//5891 +f 28126//13985 30204//13853 30337//22558 +f 35375//15260 35597//6452 35807//10399 +f 34219//18704 19433//22559 18225//22493 +f 18375//22560 17854//22561 18433//22494 +f 18225//22493 18375//22560 18433//22494 +f 17854//22561 19594//22562 18924//22495 +f 18433//22494 17854//22561 18924//22495 +f 19594//22562 19227//22563 17918//22496 +f 18924//22495 19594//22562 17918//22496 +f 19227//22563 18824//22564 19866//22497 +f 17918//22496 19227//22563 19866//22497 +f 18824//22564 18490//22565 17812//22498 +f 19866//22497 18824//22564 17812//22498 +f 18490//22565 18903//22566 18549//22499 +f 17812//22498 18490//22565 18549//22499 +f 18903//22566 18808//22567 18827//22500 +f 18549//22499 18903//22566 18827//22500 +f 18808//22567 18728//22568 18121//22501 +f 18827//22500 18808//22567 18121//22501 +f 18728//22568 18061//22569 17837//22502 +f 18121//22501 18728//22568 17837//22502 +f 18061//22569 19494//22570 18044//22503 +f 17837//22502 18061//22569 18044//22503 +f 19494//22570 18997//22571 17821//22504 +f 18044//22503 19494//22570 17821//22504 +f 18997//22571 17662//22572 17651//22505 +f 17821//22504 18997//22571 17651//22505 +f 17662//22572 18816//22573 18813//22506 +f 17651//22505 17662//22572 18813//22506 +f 18816//22573 19816//22574 19815//22507 +f 18813//22506 18816//22573 19815//22507 +f 19816//22574 18184//22575 17908//22508 +f 19815//22507 19816//22574 17908//22508 +f 18184//22575 19880//22576 19879//22509 +f 17908//22508 18184//22575 19879//22509 +f 18573//22577 19470//22510 19879//22509 +f 19880//22576 18573//22577 19879//22509 +f 19739//22578 17934//22511 19470//22510 +f 18573//22577 19739//22578 19470//22510 +f 17762//10904 19298//10906 17934//22511 +f 19739//22578 17762//10904 17934//22511 +f 24632//22579 25114//18578 20672//22580 +f 21366//22581 33580//17479 27381//21325 +f 19728//21525 19841//22328 19840//20657 +f 19532//20839 18383//9714 18382//20930 +f 17551//20808 17552//21294 17645//20809 +f 19727//19129 19728//21525 19840//20657 +f 17738//21152 17739//20811 17834//21424 +f 18564//20734 18661//3982 18563//6544 +f 19840//20657 19841//22328 19954//20716 +f 14524//18380 15655//18376 14522//18381 +f 31259//17545 31324//16092 31323//22582 +f 18819//20922 18099//21271 18494//20923 +f 18876//21512 18975//21123 18974//20934 +f 17432//20721 17431//21618 17353//20723 +f 18762//21029 1662//6961 18861//12551 +f 30198//22541 2806//22583 2944//20366 +f 18232//21081 18240//20667 19253//22117 +f 30159//20128 30198//22541 2944//20366 +f 18237//20828 18035//21034 18026//21728 +f 19728//21525 19729//21213 19841//22328 +f 18003//20650 18528//21316 19661//20993 +f 19551//20801 18003//20650 19661//20993 +f 17643//20826 17738//21152 17737//20919 +f 19057//21091 19058//1695 19159//20638 +f 18555//22012 19471//21946 19811//21818 +f 19471//21946 18673//21884 18836//21815 +f 18555//22012 19811//21818 17528//21819 +f 18673//21884 19382//21823 18836//21815 +f 18704//22079 18555//22012 17528//21819 +f 19471//21946 18836//21815 19811//21818 +f 18261//16318 18354//16918 18260//22410 +f 18542//22209 18543//22046 18639//22047 +f 18449//17428 18545//16925 18544//22350 +f 18448//22310 18449//17428 18544//22350 +f 4059//8322 19771//21068 4192//8326 +f 17462//21621 17550//20825 17461//21845 +f 35924//8645 35765//11977 35525//4383 +f 18928//19541 28310//17934 7193//4764 +f 18166//16319 18260//22410 18259//22207 +f 2806//22583 30762//22584 30643//20509 +f 18703//22464 18456//21951 19125//22517 +f 19124//21889 18036//21891 18313//22585 +f 19783//22022 18038//22020 19545//22135 +f 19117//21893 33465//22586 19821//22587 +f 19777//22414 19783//22022 18077//22588 +f 18077//22588 19783//22022 19545//22135 +f 19874//22413 19777//22414 18970//22589 +f 18970//22589 19777//22414 18077//22588 +f 18895//22132 19874//22413 19872//22590 +f 19872//22590 19874//22413 18970//22589 +f 17716//22130 17725//22129 18891//22133 +f 18891//22133 18895//22132 19872//22590 +f 17916//22524 22833//15870 19476//22591 +f 19476//22591 18314//15869 19489//22592 +f 18208//22593 18395//22523 19476//22591 +f 19489//22592 18208//22593 19476//22591 +f 19216//22594 18868//22525 18395//22523 +f 18208//22593 19216//22594 18395//22523 +f 19072//22595 19224//22526 18868//22525 +f 19216//22594 19072//22595 18868//22525 +f 18100//21358 18193//21357 19224//22526 +f 19072//22595 18100//21358 19224//22526 +f 16792//726 19761//884 461//883 +f 28081//2297 28082//2298 28198//1499 +f 17931//21020 18241//22476 18055//21312 +f 19334//21246 18234//21249 19442//20652 +f 19941//21063 18835//21334 16644//21333 +f 18013//20961 732//7671 18012//21320 +f 19837//22006 19951//20877 19950//20766 +f 19836//20765 19837//22006 19950//20766 +f 14552//1047 18733//12267 15755//1953 +f 19612//20694 19613//20777 19723//20739 +f 19075//20935 19177//21408 19176//3791 +f 1461//9976 18794//9975 1460//9898 +f 18277//20668 18240//20667 18584//21080 +f 18316//21296 19226//20893 18183//20817 +f 17640//22158 17641//21506 17735//21223 +f 17257//3343 28129//15489 28072//21980 +f 28723//15324 12666//15323 12563//16159 +f 17335//22596 17413//22597 17412//22530 +f 17333//22540 33356//8391 17334//22529 +f 17413//22597 17501//22598 17500//22532 +f 17412//22530 17413//22597 17500//22532 +f 17501//22598 17595//22599 17594//22533 +f 17500//22532 17501//22598 17594//22533 +f 17595//22599 17690//22600 17689//22534 +f 17594//22533 17595//22599 17689//22534 +f 17690//22600 17786//22601 17785//22535 +f 17689//22534 17690//22600 17785//22535 +f 17786//22601 17882//22602 17881//22536 +f 17785//22535 17786//22601 17881//22536 +f 17882//22602 17975//22603 17974//22537 +f 17881//22536 17882//22602 17974//22537 +f 17975//22603 18066//22604 18065//22538 +f 17974//22537 17975//22603 18065//22538 +f 18066//22604 18158//22605 18157//22539 +f 18065//22538 18066//22604 18157//22539 +f 18252//22606 18251//22432 18157//22539 +f 18158//22605 18252//22606 18157//22539 +f 18345//22433 20778//11040 18344//17076 +f 18252//22606 18345//22433 18251//22432 +f 18392//12266 19320//19028 18280//22180 +f 18441//22607 20861//13495 18440//16591 +f 18777//20933 18876//21512 18875//20863 +f 18875//20863 18876//21512 18974//20934 +f 17829//21318 17828//21259 17732//21510 +f 17520//20753 17519//21619 17431//21618 +f 17805//18416 17901//18345 17804//19780 +f 19617//21612 19728//21525 19727//19129 +f 17831//21627 17832//20920 17927//21425 +f 18112//19000 18111//21431 18021//21461 +f 18195//22608 19423//22609 34478//22610 +f 6281//4139 29431//22611 21329//4140 +f 29939//22612 26359//22613 30862//18480 +f 21361//22614 18511//13287 30783//22615 +f 28814//21244 28816//22616 30475//13832 +f 30476//13833 19130//22275 5742//13834 +f 23862//18481 29939//22612 30862//18480 +f 29259//16225 27433//22617 28605//5202 +f 20495//4643 24829//22618 24243//22619 +f 2542//22148 3752//5779 26595//5775 +f 30094//5342 30095//9085 19906//1526 +f 30095//9085 19907//9087 19906//1526 +f 688//21853 7293//10393 7410//4759 +f 687//21494 688//21853 7410//4759 +f 25496//22620 2816//14919 2543//22621 +f 19520//15047 2807//21562 19036//1670 +f 20183//22622 26939//22065 20184//22623 +f 26477//21105 26478//22624 27373//22551 +f 30432//19751 30566//22625 30565//8964 +f 15878//2118 30488//5062 30486//5478 +f 22491//22626 22492//22627 22590//22628 +f 23972//16031 14652//14243 30624//4969 +f 11100//22629 24139//22630 6903//6052 +f 34216//22631 34342//22632 6284//2833 +f 27407//2119 26930//2121 27955//10824 +f 32564//13468 32456//22633 11578//5579 +f 23904//21115 29411//21191 28985//14497 +f 17946//22634 19668//22635 17854//22561 +f 18375//22560 17946//22634 17854//22561 +f 19668//22635 18606//22636 19594//22562 +f 17854//22561 19668//22635 19594//22562 +f 18606//22636 17856//22637 19227//22563 +f 19594//22562 18606//22636 19227//22563 +f 17856//22637 19147//22638 18824//22564 +f 19227//22563 17856//22637 18824//22564 +f 19147//22638 17813//22639 18490//22565 +f 18824//22564 19147//22638 18490//22565 +f 17813//22639 19316//22640 18903//22566 +f 18490//22565 17813//22639 18903//22566 +f 19316//22640 17673//22641 18808//22567 +f 18903//22566 19316//22640 18808//22567 +f 17673//22641 19114//22642 18728//22568 +f 18808//22567 17673//22641 18728//22568 +f 19114//22642 18001//22643 18061//22569 +f 18728//22568 19114//22642 18061//22569 +f 18001//22643 19604//22644 19494//22570 +f 18061//22569 18001//22643 19494//22570 +f 19604//22644 18831//22645 18997//22571 +f 19494//22570 19604//22644 18997//22571 +f 17663//22646 17662//22572 18997//22571 +f 18831//22645 17663//22646 18997//22571 +f 18821//22647 18816//22573 17662//22572 +f 17663//22646 18821//22647 17662//22572 +f 19817//22648 19816//22574 18816//22573 +f 18821//22647 19817//22648 18816//22573 +f 19817//22648 19362//22649 18184//22575 +f 19816//22574 19817//22648 18184//22575 +f 19362//22649 19931//22650 19880//22576 +f 18184//22575 19362//22649 19880//22576 +f 19931//22650 18765//22651 18573//22577 +f 19880//22576 19931//22650 18573//22577 +f 18765//22651 19738//22652 19739//22578 +f 18573//22577 18765//22651 19739//22578 +f 310//22653 34848//22654 34626//22655 +f 19738//22652 19115//3340 19739//22578 +f 29631//5894 30155//5893 28882//12262 +f 30035//22656 30167//21765 30166//22657 +f 21409//22658 2922//18848 24010//18847 +f 33605//13822 33604//16029 33485//16028 +f 18022//20889 18112//19000 18021//21461 +f 18112//19000 18205//18999 18111//21431 +f 18205//18999 18204//21432 18111//21431 +f 19290//21544 19291//20731 19397//21203 +f 19307//21706 17560//2825 5760//2827 +f 4393//1498 19096//6653 19102//7755 +f 17805//18416 17804//19780 17708//21470 +f 17354//20722 17432//20721 17353//20723 +f 18975//21123 19076//21411 19075//20935 +f 19726//19130 19727//19129 19839//20658 +f 17349//19589 17348//19591 17280//22194 +f 34564//22659 34692//22660 34563//22661 +f 19399//21308 19508//21310 19507//21613 +f 25112//15027 27502//21966 27501//15097 +f 18893//9979 18992//9980 18991//21363 +f 35390//6238 35656//3699 35864//3701 +f 20762//22662 25574//22663 13016//22664 +f 35600//4538 35719//7148 35887//7147 +f 18191//20648 18003//20650 19551//20801 +f 35818//2090 26624//8481 35513//6100 +f 18590//22192 19472//21905 18568//21904 +f 17865//21739 18590//22192 18568//21904 +f 17605//17919 17604//17641 17510//21746 +f 17423//21749 17511//21745 17422//21747 +f 19480//22665 34470//21065 28221//22666 +f 18726//21038 18330//21039 16964//21356 +f 18848//16655 18849//21083 18947//21581 +f 20363//18071 20362//18070 17871//22515 +f 21117//4268 18641//4267 18642//16977 +f 18544//22350 18545//16925 18641//4267 +f 17550//20825 17644//20810 17643//20826 +f 2316//9908 2184//9986 2317//9985 +f 18928//19541 7193//4764 26427//21120 +f 23146//16230 18185//17942 18192//16228 +f 18235//22337 23333//21053 21962//22667 +f 18080//473 19026//475 17472//21043 +f 19125//22517 19124//21889 18313//22585 +f 18036//21891 19204//21895 19308//22668 +f 29294//22352 6531//21771 28552//22384 +f 1978//11865 21476//14683 28136//2850 +f 17893//21957 19167//22669 18116//22670 +f 19557//21953 17893//21957 18116//22670 +f 18096//21961 18919//21960 19602//22671 +f 18408//22174 18096//21961 19602//22671 +f 18919//21960 19000//21963 18825//22313 +f 19602//22671 18919//21960 18825//22313 +f 35546//1285 8231//11031 35744//17747 +f 19557//21953 18116//22670 18247//16095 +f 18081//22672 19489//22592 17990//22673 +f 23127//22674 17990//22673 18314//15869 +f 18302//22675 18208//22593 19489//22592 +f 18081//22672 18302//22675 19489//22592 +f 18651//22676 19216//22594 18208//22593 +f 18302//22675 18651//22676 18208//22593 +f 19097//22677 19072//22595 19216//22594 +f 18651//22676 19097//22677 19216//22594 +f 19097//22677 19650//22678 18100//21358 +f 19072//22595 19097//22677 18100//21358 +f 17900//3968 17994//19433 20479//3969 +f 19923//21220 3925//8321 3793//8318 +f 18127//20819 17931//21020 18055//21312 +f 5676//9044 5541//9043 5542//9160 +f 18783//20831 18784//21523 18882//21174 +f 18277//20668 19256//14382 19254//14381 +f 19724//20947 19837//22006 19836//20765 +f 19502//20693 19503//20775 19612//20694 +f 19265//20786 19372//20785 19264//20978 +f 19723//20739 19724//20947 19836//20765 +f 19272//19854 14859//19672 19338//22159 +f 19398//22005 19507//21613 19506//21399 +f 19841//22328 19955//21519 19954//20716 +f 19616//19128 19617//21612 19727//19129 +f 19085//20712 19187//21566 19186//20967 +f 17963//21564 18584//21080 19439//21329 +f 19186//20967 19187//21566 19290//21544 +f 18228//20649 19406//21128 18003//20650 +f 18100//21358 19650//22678 1525//1988 +f 17910//18705 34219//18704 18225//22493 +f 24350//22679 24794//1926 24267//1928 +f 17336//22680 17414//22681 17413//22597 +f 17335//22596 17336//22680 17413//22597 +f 17414//22681 17502//22682 17501//22598 +f 17413//22597 17414//22681 17501//22598 +f 17502//22682 17596//22683 17595//22599 +f 17501//22598 17502//22682 17595//22599 +f 17596//22683 17691//22684 17690//22600 +f 17595//22599 17596//22683 17690//22600 +f 17691//22684 17787//22685 17786//22601 +f 17690//22600 17691//22684 17786//22601 +f 17787//22685 17883//22686 17882//22602 +f 17786//22601 17787//22685 17882//22602 +f 17883//22686 17976//22687 17975//22603 +f 17882//22602 17883//22686 17975//22603 +f 17976//22687 18067//22688 18066//22604 +f 17975//22603 17976//22687 18066//22604 +f 18067//22688 18159//22689 18158//22605 +f 18066//22604 18067//22688 18158//22605 +f 18253//22690 18252//22606 18158//22605 +f 18159//22689 18253//22690 18158//22605 +f 18346//22691 18345//22433 18252//22606 +f 18253//22690 18346//22691 18252//22606 +f 18441//22607 18440//16591 18345//22433 +f 18346//22691 18441//22607 18345//22433 +f 19725//21462 19838//21258 19837//22006 +f 18538//22692 18537//13493 18441//22607 +f 17432//20721 17520//20753 17431//21618 +f 17709//20728 17708//21470 17613//21469 +f 17656//21005 18727//20998 19780//8438 +f 17731//21093 17732//21510 17827//20814 +f 17754//21208 17558//20856 19743//21209 +f 19959//21255 19859//6876 19958//21554 +f 35614//4444 35877//4443 35371//10037 +f 33729//11197 33863//11196 33728//12739 +f 28582//22693 33698//22694 28583//22695 +f 29379//14443 29380//14442 29516//14555 +f 26508//22696 26507//16601 26421//16227 +f 24035//22697 23862//18481 30861//18097 +f 35914//13711 35506//13542 28993//4129 +f 2676//6178 26595//5775 30772//2042 +f 26243//22698 24035//22697 30848//18007 +f 19906//1526 19907//9087 30362//21880 +f 19907//9087 30473//10651 30362//21880 +f 2407//21489 688//21853 687//21494 +f 2274//21173 2407//21489 687//21494 +f 26822//5601 26823//5059 26937//7167 +f 28188//22485 28487//15083 6533//22486 +f 25081//22699 26243//22698 30848//18007 +f 7288//16929 29695//13614 29562//15152 +f 27435//22700 27436//22701 28850//5477 +f 35920//6317 35754//11079 35799//10312 +f 35767//7952 35416//6173 35449//13487 +f 32568//19257 35122//22702 34337//22703 +f 30794//22704 25075//22705 30793//22706 +f 25282//22707 25281//22543 30229//22708 +f 16953//7259 22163//7258 23038//15509 +f 30337//22558 30204//13853 21754//13854 +f 35925//4727 35500//2155 35815//2158 +f 31748//22709 11460//9042 11459//10649 +f 18705//22710 17628//22711 19668//22635 +f 17946//22634 18705//22710 19668//22635 +f 17628//22711 18050//22712 18606//22636 +f 19668//22635 17628//22711 18606//22636 +f 18050//22712 18415//22713 17856//22637 +f 18606//22636 18050//22712 17856//22637 +f 18415//22713 18607//22714 19147//22638 +f 17856//22637 18415//22713 19147//22638 +f 18607//22714 18623//22715 17813//22639 +f 19147//22638 18607//22714 17813//22639 +f 18623//22715 18249//22716 19316//22640 +f 17813//22639 18623//22715 19316//22640 +f 18249//22716 18826//22717 17673//22641 +f 19316//22640 18249//22716 17673//22641 +f 18826//22717 17848//22718 19114//22642 +f 17673//22641 18826//22717 19114//22642 +f 17848//22718 19016//22719 18001//22643 +f 19114//22642 17848//22718 18001//22643 +f 19016//22719 18534//22720 19604//22644 +f 18001//22643 19016//22719 19604//22644 +f 18534//22720 17811//22721 18831//22645 +f 19604//22644 18534//22720 18831//22645 +f 17811//22721 17664//22722 17663//22646 +f 18831//22645 17811//22721 17663//22646 +f 17664//22722 18839//22723 18821//22647 +f 17663//22646 17664//22722 18821//22647 +f 18839//22723 19818//22724 19817//22648 +f 18821//22647 18839//22723 19817//22648 +f 19818//22724 18420//22725 19362//22649 +f 19817//22648 19818//22724 19362//22649 +f 18420//22725 19749//22726 19931//22650 +f 19362//22649 18420//22725 19931//22650 +f 19749//22726 18502//22727 18765//22651 +f 19931//22650 19749//22726 18765//22651 +f 18502//22727 18917//3338 19738//22652 +f 18765//22651 18502//22727 19738//22652 +f 18914//9335 18430//19718 21965//16482 +f 19738//22652 18917//3338 19115//3340 +f 685//2838 28985//14497 28611//21364 +f 18693//21817 18129//22042 17536//21288 +f 17643//20826 17644//20810 17738//21152 +f 730//7481 612//7480 731//7579 +f 2705//8527 2706//21410 2841//8528 +f 24345//22728 2953//22729 23073//21040 +f 19484//7081 2688//6877 2552//6752 +f 17450//21791 17538//21186 17537//21628 +f 8013//10896 11203//2700 1146//2501 +f 18199//21291 18198//21731 18105//21236 +f 16463//16608 587//4750 14380//22730 +f 17709//20728 17805//18416 17708//21470 +f 12964//18161 13058//18163 32805//22731 +f 18476//16610 18119//16609 18724//22732 +f 18724//22732 18475//22733 18476//16610 +f 18476//16610 18475//22733 19419//22734 +f 18475//22733 19528//22735 19419//22734 +f 12112//14344 3180//7908 27753//13732 +f 19528//22735 18629//22736 19516//2265 +f 26683//14959 20245//18536 20331//21669 +f 18380//22737 18379//2263 19516//2265 +f 18629//22736 18380//22737 19516//2265 +f 17760//15907 17654//16175 19883//13392 +f 18380//22737 19882//13391 18379//2263 +f 19431//21793 19864//21350 19472//21905 +f 18590//22192 19431//21793 19472//21905 +f 17941//15671 18178//15670 19854//22738 +f 18178//15670 17654//16175 19854//22738 +f 11964//22739 16613//776 10234//15484 +f 19712//22740 17941//15671 19165//22741 +f 19705//20804 18725//9432 18726//21038 +f 30366//1416 30367//1750 7400//1417 +f 34415//10727 34552//5900 34414//3130 +f 30076//1288 35686//1287 27755//3084 +f 19809//17019 18243//20873 18002//21169 +f 18386//20671 18481//21936 18480//20788 +f 27138//22742 27140//22743 28457//22744 +f 28575//21457 28574//18788 28452//22406 +f 18632//21635 19013//21726 5762//20965 +f 19689//2122 19688//22745 567//22746 +f 18313//22585 18036//21891 19308//22668 +f 19515//22367 18665//22747 19308//22668 +f 23532//13957 27060//11879 27058//2851 +f 13468//15664 18476//16610 19419//22734 +f 19486//21956 17394//22173 19167//22669 +f 17893//21957 19486//21956 19167//22669 +f 18706//15803 18492//15264 23221//15266 +f 13559//15934 14620//7440 692//10262 +f 19428//22748 18492//15264 18512//22749 +f 17860//16396 19812//15802 18706//15803 +f 17990//22673 19428//22748 18081//22672 +f 19812//15802 18512//22749 18492//15264 +f 18453//22750 18081//22672 19428//22748 +f 18512//22749 18453//22750 19428//22748 +f 18709//22751 18302//22675 18081//22672 +f 18453//22750 18709//22751 18081//22672 +f 19274//22752 18651//22676 18302//22675 +f 18709//22751 19274//22752 18302//22675 +f 18057//22753 19097//22677 18651//22676 +f 19274//22752 18057//22753 18651//22676 +f 18057//22753 19218//19146 19650//22678 +f 19097//22677 18057//22753 19650//22678 +f 3362//325 1640//2213 182//14105 +f 5540//8928 19253//22117 5541//9043 +f 7627//8420 7628//11301 1167//3641 +f 18241//22476 19369//20917 19261//21465 +f 19393//20697 19394//20676 19502//20693 +f 6406//19467 14935//19470 14859//19672 +f 19613//20777 19724//20947 19723//20739 +f 19286//21060 19287//20674 19393//20697 +f 17554//20282 17648//20741 17647//20283 +f 19503//20775 19613//20777 19612//20694 +f 25080//15598 20591//22754 20593//20299 +f 17449//7172 17450//21791 17537//21628 +f 17559//307 19338//22159 15486//308 +f 19338//22159 18087//19853 19272//19854 +f 18205//18999 18299//20983 18204//21432 +f 19333//22755 20578//22756 18864//22757 +f 731//7579 18012//21320 732//7671 +f 19060//20718 19162//21787 19161//1694 +f 14744//17980 18039//21671 15331//21273 +f 17655//21233 17935//21210 19231//21632 +f 2184//9986 2316//9908 19407//9907 +f 19533//20827 17942//21278 18237//20828 +f 2267//21430 19535//20547 19417//21168 +f 17272//22758 17273//16734 17336//22680 +f 35400//5848 35456//5186 11781//8962 +f 17415//22759 17414//22681 17336//22680 +f 17337//22760 17415//22759 17336//22680 +f 17503//22761 17502//22682 17414//22681 +f 17415//22759 17503//22761 17414//22681 +f 17503//22761 17597//22762 17596//22683 +f 17502//22682 17503//22761 17596//22683 +f 17597//22762 17692//22763 17691//22684 +f 17596//22683 17597//22762 17691//22684 +f 17692//22763 17788//22764 17787//22685 +f 17691//22684 17692//22763 17787//22685 +f 17788//22764 17884//22765 17883//22686 +f 17787//22685 17788//22764 17883//22686 +f 17884//22765 17977//22766 17976//22687 +f 17883//22686 17884//22765 17976//22687 +f 17977//22766 18068//22767 18067//22688 +f 17976//22687 17977//22766 18067//22688 +f 18068//22767 18160//22768 18159//22689 +f 18067//22688 18068//22767 18159//22689 +f 18254//22769 18253//22690 18159//22689 +f 18160//22768 18254//22769 18159//22689 +f 18347//22770 18346//22691 18253//22690 +f 18254//22769 18347//22770 18253//22690 +f 18442//22771 18441//22607 18346//22691 +f 18347//22770 18442//22771 18346//22691 +f 18635//18397 18538//22692 18539//22772 +f 18442//22771 18538//22692 18441//22607 +f 17614//20751 17709//20728 17613//21469 +f 17342//22027 17420//17079 17341//22152 +f 27848//10036 27964//2295 27963//5944 +f 19852//21158 19626//21533 18007//20999 +f 1525//1988 19650//22678 19218//19146 +f 18679//20736 18680//20931 18777//20933 +f 22398//22773 22495//22774 30070//22775 +f 25050//16807 19565//22776 3084//22777 +f 29788//17644 29917//2855 29916//2854 +f 29240//2858 29241//2857 29377//10833 +f 33302//22778 33411//14716 33301//14718 +f 33411//14716 33524//22779 33523//17837 +f 29539//15972 29402//22482 29123//22430 +f 30316//22780 30449//22781 30315//22782 +f 31108//22783 31171//15742 31170//14946 +f 30473//10651 22943//2647 30362//21880 +f 23267//106 23169//2470 30694//2472 +f 2274//21173 23460//22784 22425//5344 +f 30059//14995 30058//14996 29927//18884 +f 35467//2217 35389//2215 35527//10527 +f 28621//21391 28753//21390 28335//22785 +f 26939//22065 20097//22786 26824//22787 +f 23824//18009 25081//22699 30848//18007 +f 31686//22788 31786//22789 31685//22790 +f 19340//22791 19467//4455 19800//22792 +f 21154//22793 21155//22794 30343//22795 +f 30446//21050 30445//21052 30312//21451 +f 30313//4341 30446//21050 30312//21451 +f 22863//22796 22864//21444 22962//22797 +f 29628//21972 29627//5314 29489//21567 +f 27493//5073 26406//12126 17270//5974 +f 30351//4925 27493//5073 17270//5974 +f 19412//22798 17535//22799 17628//22711 +f 18705//22710 17946//22634 35122//22702 +f 17535//22799 17392//22800 18050//22712 +f 17628//22711 17535//22799 18050//22712 +f 17392//22800 19009//22801 18415//22713 +f 18050//22712 17392//22800 18415//22713 +f 19009//22801 18817//22802 18607//22714 +f 18415//22713 19009//22801 18607//22714 +f 18817//22802 18522//22803 18623//22715 +f 18607//22714 18817//22802 18623//22715 +f 18522//22803 18034//22804 18249//22716 +f 18623//22715 18522//22803 18249//22716 +f 18034//22804 18097//22805 18826//22717 +f 18249//22716 18034//22804 18826//22717 +f 18097//22805 19548//22806 17848//22718 +f 18826//22717 18097//22805 17848//22718 +f 19548//22806 19716//22807 19016//22719 +f 17848//22718 19548//22806 19016//22719 +f 19716//22807 18988//22808 18534//22720 +f 19016//22719 19716//22807 18534//22720 +f 18988//22808 19099//22809 17811//22721 +f 18534//22720 18988//22808 17811//22721 +f 19099//22809 17665//22810 17664//22722 +f 17811//22721 19099//22809 17664//22722 +f 17665//22810 18862//22811 18839//22723 +f 17664//22722 17665//22810 18839//22723 +f 18862//22811 19829//22812 19818//22724 +f 18839//22723 18862//22811 19818//22724 +f 18608//22813 18420//22725 19818//22724 +f 19829//22812 18608//22813 19818//22724 +f 18608//22813 19222//22814 19749//22726 +f 18420//22725 18608//22813 19749//22726 +f 18598//22815 18502//22727 19749//22726 +f 19222//22814 18598//22815 19749//22726 +f 19150//9280 18917//3338 18502//22727 +f 18598//22815 19150//9280 18502//22727 +f 30559//2142 19741//22010 19030//2143 +f 13055//16176 18178//15670 16614//16169 +f 19731//21545 19844//21015 19730//21013 +f 19958//21554 19957//21555 19843//21016 +f 19884//20838 17719//20867 19652//20047 +f 4059//8322 4191//8230 4058//8229 +f 19171//20818 18149//20653 18171//20802 +f 18343//20882 19171//20818 18171//20802 +f 12567//11738 11962//16713 11567//8411 +f 33432//16365 7282//15130 7174//14940 +f 32509//18096 32618//22816 32508//7546 +f 19244//17136 6537//8917 27521//15785 +f 30842//22817 25631//17671 25487//17887 +f 35393//3883 35352//3884 35601//12695 +f 25344//16258 28187//11866 27056//16894 +f 18509//22818 18764//22819 18475//22733 +f 18724//22732 18509//22818 18475//22733 +f 18764//22819 18053//22820 19528//22735 +f 18475//22733 18764//22819 19528//22735 +f 18053//22820 18823//22821 18629//22736 +f 19528//22735 18053//22820 18629//22736 +f 18996//22822 18380//22737 18629//22736 +f 18823//22821 18996//22822 18629//22736 +f 18222//22823 19882//13391 18380//22737 +f 18996//22822 18222//22823 18380//22737 +f 20497//17257 19883//13392 13055//16176 +f 18222//22823 18507//22824 19882//13391 +f 19546//22825 19854//22738 17760//15907 +f 18507//22824 19546//22825 17760//15907 +f 17939//22826 17941//15671 19854//22738 +f 19546//22825 17939//22826 19854//22738 +f 12460//22827 27032//22828 18133//22829 +f 17939//22826 19165//22741 17941//15671 +f 35506//13542 35613//14035 35895//8006 +f 19165//22741 18710//22830 19712//22740 +f 18385//21729 18386//20671 18480//20788 +f 18515//15370 17702//21870 18610//21869 +f 19363//17117 20949//17119 20674//2713 +f 19698//22831 19709//20870 17717//17670 +f 18565//19641 18662//20840 18564//20734 +f 35872//7575 35914//13711 35595//12817 +f 19204//21895 19515//22367 19308//22668 +f 18245//22177 18439//22138 18665//22747 +f 30952//22832 30951//18792 30897//17469 +f 21042//17573 18747//21217 18648//19883 +f 31849//17621 31947//21130 31848//22833 +f 19329//16395 7108//17535 18027//16167 +f 17957//22834 17860//16396 19329//16395 +f 19637//16166 17957//22834 19329//16395 +f 19005//22835 19812//15802 17860//16396 +f 17957//22834 19005//22835 17860//16396 +f 18324//22836 18512//22749 19812//15802 +f 19005//22835 18324//22836 19812//15802 +f 18187//22837 18453//22750 18512//22749 +f 18324//22836 18187//22837 18512//22749 +f 18708//22838 18709//22751 18453//22750 +f 18187//22837 18708//22838 18453//22750 +f 19170//22839 19274//22752 18709//22751 +f 18708//22838 19170//22839 18709//22751 +f 18180//22840 18057//22753 19274//22752 +f 19170//22839 18180//22840 19274//22752 +f 1335//9100 1220//9274 1336//9276 +f 18057//22753 18180//22840 19218//19146 +f 18055//21312 18241//22476 19261//21465 +f 1691//9754 18991//21363 1807//9680 +f 19891//21107 18592//21260 18819//20922 +f 35688//4715 35506//13542 35914//13711 +f 19182//21059 19183//21198 19286//21060 +f 19394//20676 19503//20775 19502//20693 +f 17719//20867 18990//20866 18089//20910 +f 19287//20674 19394//20676 19393//20697 +f 26615//6435 26617//12473 26727//21643 +f 1310//6648 1309//6543 1193//6542 +f 17559//307 18087//19853 19338//22159 +f 20884//20581 20803//7271 18366//7273 +f 19333//22755 18864//22757 18087//19853 +f 17559//307 19333//22755 18087//19853 +f 17614//20751 17613//21469 17519//21619 +f 1324//8033 1208//8032 1325//8121 +f 30985//16549 30984//9640 30926//13185 +f 17520//20753 17614//20751 17519//21619 +f 20363//18071 17871//22515 17872//22146 +f 3863//22841 18478//22842 18719//15233 +f 18849//21083 18850//19781 18948//19783 +f 19622//9607 2446//9692 2580//9606 +f 17454//20211 17542//20771 17541//20772 +f 18006//14215 18477//21715 5199//1713 +f 7449//13285 629//9199 513//9090 +f 13268//16593 13172//15564 13173//16467 +f 17338//16763 17416//16762 17415//22759 +f 31950//5145 32049//14734 32048//22843 +f 17416//16762 17504//22844 17503//22761 +f 17415//22759 17416//16762 17503//22761 +f 17598//22845 17597//22762 17503//22761 +f 17504//22844 17598//22845 17503//22761 +f 17693//22846 17692//22763 17597//22762 +f 17598//22845 17693//22846 17597//22762 +f 17693//22846 17789//22847 17788//22764 +f 17692//22763 17693//22846 17788//22764 +f 17789//22847 17885//22848 17884//22765 +f 17788//22764 17789//22847 17884//22765 +f 17885//22848 17978//22849 17977//22766 +f 17884//22765 17885//22848 17977//22766 +f 17978//22849 18069//22850 18068//22767 +f 17977//22766 17978//22849 18068//22767 +f 18069//22850 18161//22851 18160//22768 +f 18068//22767 18069//22850 18160//22768 +f 18161//22851 18255//22852 18254//22769 +f 18160//22768 18161//22851 18254//22769 +f 18255//22852 18348//22853 18347//22770 +f 18254//22769 18255//22852 18347//22770 +f 18443//22854 18442//22771 18347//22770 +f 18348//22853 18443//22854 18347//22770 +f 18539//22772 18538//22692 18442//22771 +f 18443//22854 18539//22772 18442//22771 +f 18636//9325 18637//9327 21027//1941 +f 18635//18397 21026//9153 21025//1210 +f 3934//9379 4068//9378 19443//20803 +f 1796//8638 18872//8637 18873//21667 +f 15490//899 3311//16229 19121//900 +f 35845//11030 27027//2262 35909//13279 +f 25631//17671 30842//22817 30851//17801 +f 26925//15121 27043//15028 27042//15261 +f 25262//22855 25404//22856 27957//22857 +f 11624//1009 35729//980 35563//11904 +f 29787//13960 29788//17644 29916//2854 +f 29132//2270 29133//20116 29818//2446 +f 33734//16470 33868//1653 33733//1655 +f 29666//1682 29665//1684 29527//22858 +f 2676//6178 21032//6177 15724//22859 +f 19676//22860 21748//3341 5089//22861 +f 7299//14844 6838//22862 7085//14845 +f 22425//5344 2407//21489 2274//21173 +f 29528//22481 29527//22858 29390//5604 +f 32448//17444 32555//2276 32447//2278 +f 30486//5478 30488//5062 11385//5064 +f 27053//782 27054//2070 28359//1187 +f 28335//22785 7288//16929 29562//15152 +f 28605//5202 21561//5349 19672//5203 +f 30842//22817 25487//17887 30843//17889 +f 19340//22791 19682//22863 11575//21836 +f 19800//22792 19467//4455 28467//4457 +f 28453//22405 28452//22406 28332//22864 +f 28333//22865 28453//22405 28332//22864 +f 29628//21972 29761//17706 29627//5314 +f 29761//17706 29760//18701 29627//5314 +f 2947//4773 29146//5616 29681//14503 +f 27527//5890 2947//4773 29681//14503 +f 19822//19259 18227//22866 17535//22799 +f 17628//22711 18705//22710 19412//22798 +f 18227//22866 18437//22867 17392//22800 +f 17535//22799 18227//22866 17392//22800 +f 18437//22867 17838//22868 19009//22801 +f 17392//22800 18437//22867 19009//22801 +f 17838//22868 18154//22869 18817//22802 +f 19009//22801 17838//22868 18817//22802 +f 18154//22869 18714//22870 18522//22803 +f 18817//22802 18154//22869 18522//22803 +f 18714//22870 18454//22871 18034//22804 +f 18522//22803 18714//22870 18034//22804 +f 18454//22871 18271//22872 18097//22805 +f 18034//22804 18454//22871 18097//22805 +f 18271//22872 18008//22873 19548//22806 +f 18097//22805 18271//22872 19548//22806 +f 18837//22874 19716//22807 19548//22806 +f 18008//22873 18837//22874 19548//22806 +f 18393//22875 18988//22808 19716//22807 +f 18837//22874 18393//22875 19716//22807 +f 18236//22876 19099//22809 18988//22808 +f 18393//22875 18236//22876 18988//22808 +f 18236//22876 17666//22877 17665//22810 +f 19099//22809 18236//22876 17665//22810 +f 17666//22877 18871//22878 18862//22811 +f 17665//22810 17666//22877 18862//22811 +f 18871//22878 19848//22879 19829//22812 +f 18862//22811 18871//22878 19829//22812 +f 19848//22879 4401//22880 18608//22813 +f 19829//22812 19848//22879 18608//22813 +f 4401//22880 19695//22881 19222//22814 +f 18608//22813 4401//22880 19222//22814 +f 19695//22881 18501//22882 18598//22815 +f 19222//22814 19695//22881 18598//22815 +f 18501//22882 17653//18031 19150//9280 +f 18598//22815 18501//22882 19150//9280 +f 28552//22384 28681//14790 27262//22385 +f 19150//9280 17653//18031 18056//9281 +f 19385//20874 19469//20963 18373//20875 +f 17992//20677 19169//21714 19957//21555 +f 35439//7553 35897//4264 35874//3436 +f 4999//8565 4864//8564 5000//8705 +f 29360//8765 29359//5671 29222//5670 +f 29223//2793 29222//5670 29085//6343 +f 18431//1849 19255//21419 18221//21381 +f 27394//10759 27513//22883 27512//10828 +f 26809//13152 26810//13151 26924//15122 +f 6537//8917 6991//3011 28368//18157 +f 6991//3011 19645//16393 28368//18157 +f 33025//22884 10600//11142 10724//11740 +f 31236//22885 31301//16980 31235//22270 +f 19752//22886 18666//22887 18764//22819 +f 18509//22818 19752//22886 18764//22819 +f 18666//22887 18327//22888 18053//22820 +f 18764//22819 18666//22887 18053//22820 +f 18327//22888 18407//22889 18823//22821 +f 18053//22820 18327//22888 18823//22821 +f 18172//22890 18996//22822 18823//22821 +f 18407//22889 18172//22890 18823//22821 +f 18505//22891 18222//22823 18996//22822 +f 18172//22890 18505//22891 18996//22822 +f 17657//22892 18507//22824 18222//22823 +f 18505//22891 17657//22892 18222//22823 +f 17866//22893 19546//22825 18507//22824 +f 17657//22892 17866//22893 18507//22824 +f 17936//22894 17939//22826 19546//22825 +f 17866//22893 17936//22894 19546//22825 +f 18239//22895 19165//22741 17939//22826 +f 17936//22894 18239//22895 17939//22826 +f 19447//22896 18710//22830 19165//22741 +f 18239//22895 19447//22896 19165//22741 +f 19813//22897 18429//22898 18710//22830 +f 19447//22896 19813//22897 18710//22830 +f 17445//22899 19698//22831 18429//22898 +f 19813//22897 17445//22899 18429//22898 +f 19418//15320 19366//15319 19698//22831 +f 17445//22899 19418//15320 19698//22831 +f 19515//22367 18245//22177 18665//22747 +f 25870//18886 26012//15766 1679//19670 +f 18027//16167 21770//17774 19929//16165 +f 19929//16165 21770//17774 18869//17030 +f 19623//22900 19637//16166 19929//16165 +f 17624//22901 19623//22900 19929//16165 +f 17958//22902 17957//22834 19637//16166 +f 19623//22900 17958//22902 19637//16166 +f 18906//22903 19005//22835 17957//22834 +f 17958//22902 18906//22903 17957//22834 +f 18230//22904 18324//22836 19005//22835 +f 18906//22903 18230//22904 19005//22835 +f 18820//22905 18187//22837 18324//22836 +f 18230//22904 18820//22905 18324//22836 +f 18394//22906 18708//22838 18187//22837 +f 18820//22905 18394//22906 18187//22837 +f 18394//22906 19067//22907 19170//22839 +f 18708//22838 18394//22906 19170//22839 +f 19067//22907 19107//22908 18180//22840 +f 19170//22839 19067//22907 18180//22840 +f 17294//16922 7094//12175 17362//12177 +f 22750//6529 22850//6528 6253//19126 +f 19369//20917 18372//20876 18371//22225 +f 25457//14944 23852//9114 17571//602 +f 3670//9371 18002//21169 3540//9369 +f 19264//20978 19263//21975 19159//20638 +f 18675//20791 18676//21542 18773//21219 +f 17568//20909 19894//22256 19781//20857 +f 18482//20780 18483//20726 18578//20790 +f 18774//21538 18873//21667 18872//8637 +f 18579//21226 18676//21542 18675//20791 +f 17559//307 4936//306 19175//19469 +f 1523//9433 17950//9393 19587//21177 +f 1310//6648 1193//6542 1194//6647 +f 2887//18682 18599//18683 19175//19469 +f 19175//19469 19333//22755 17559//307 +f 3661//8319 19231//21632 3793//8318 +f 1208//8032 18479//8290 1325//8121 +f 19175//19469 18125//22909 19333//22755 +f 20563//7248 20479//3969 17994//19433 +f 22652//15953 17989//15955 18570//22910 +f 5136//8924 18582//20994 18207//3991 +f 18099//21271 17988//20084 18092//20086 +f 3269//6874 19859//6876 3130//6965 +f 34615//22911 18318//15382 33804//21394 +f 19844//21015 19958//21554 19843//21016 +f 17735//21223 17831//21627 17734//21224 +f 18578//20790 18579//21226 18675//20791 +f 1694//1995 1695//5758 1811//9977 +f 18759//3981 18760//3980 18858//20713 +f 35631//7552 35874//3436 35593//3048 +f 25347//22912 25184//22913 28348//22914 +f 17505//22915 17504//22844 17416//16762 +f 17417//16764 17505//22915 17416//16762 +f 17505//22915 17599//22916 17598//22845 +f 17504//22844 17505//22915 17598//22845 +f 17599//22916 17694//22917 17693//22846 +f 17598//22845 17599//22916 17693//22846 +f 17694//22917 17790//17825 17789//22847 +f 17693//22846 17694//22917 17789//22847 +f 17790//17825 17886//22918 17885//22848 +f 17789//22847 17790//17825 17885//22848 +f 17886//22918 17979//22919 17978//22849 +f 17885//22848 17886//22918 17978//22849 +f 17979//22919 18070//22920 18069//22850 +f 17978//22849 17979//22919 18069//22850 +f 18162//22921 18161//22851 18069//22850 +f 18070//22920 18162//22921 18069//22850 +f 18256//22922 18255//22852 18161//22851 +f 18162//22921 18256//22922 18161//22851 +f 18349//22923 18348//22853 18255//22852 +f 18256//22922 18349//22923 18255//22852 +f 18349//22923 18444//22924 18443//22854 +f 18348//22853 18349//22923 18443//22854 +f 18444//22924 18540//9326 18539//22772 +f 18443//22854 18444//22924 18539//22772 +f 13565//19807 18643//16419 18741//16418 +f 18539//22772 18540//9326 18636//9325 +f 34723//22925 34596//22926 34597//14587 +f 19763//21934 18358//1388 18438//21991 +f 25035//22927 25034//16423 22369//22928 +f 23316//22929 21747//20750 19795//6748 +f 27499//2367 24302//22930 27500//2305 +f 35644//580 35763//2761 35683//8515 +f 6537//8917 28368//18157 27521//15785 +f 26921//11727 26922//657 27039//659 +f 6991//3011 27294//3010 19645//16393 +f 28875//14552 28610//16313 29684//16312 +f 28430//17935 28552//22384 26412//2269 +f 27262//22385 29133//20116 29132//2270 +f 2404//21855 19452//22931 19451//21856 +f 19452//22931 14971//21392 19451//21856 +f 34002//14250 34138//14249 34001//15614 +f 30290//1527 12216//22932 11885//15492 +f 25570//22933 25569//22934 23712//22935 +f 28562//22936 28563//22142 28691//2311 +f 28360//5333 30082//5335 28359//1187 +f 30082//5335 30078//15487 28359//1187 +f 27873//5895 7069//5896 19792//4300 +f 29001//5067 29000//5481 17253//5201 +f 29958//22011 17863//21834 11575//21836 +f 19682//22863 19340//22791 19800//22792 +f 19785//22937 19784//6187 19456//6189 +f 7184//22938 7296//22939 19456//6189 +f 30285//21756 30152//6462 22962//22797 +f 29890//17705 29889//11911 29760//18701 +f 26426//4924 17668//2637 29146//5616 +f 21376//3014 27527//5890 28190//14502 +f 18321//22940 18227//22866 19822//19259 +f 35643//183 35941//3803 35502//3805 +f 19217//22941 18437//22867 18227//22866 +f 18321//22940 19217//22941 18227//22866 +f 17911//22942 17838//22868 18437//22867 +f 19217//22941 17911//22942 18437//22867 +f 17911//22942 19855//22943 18154//22869 +f 17838//22868 17911//22942 18154//22869 +f 19855//22943 18602//22944 18714//22870 +f 18154//22869 19855//22943 18714//22870 +f 19020//22945 18454//22871 18714//22870 +f 18602//22944 19020//22945 18714//22870 +f 19020//22945 19128//22946 18271//22872 +f 18454//22871 19020//22945 18271//22872 +f 19128//22946 18633//22947 18008//22873 +f 18271//22872 19128//22946 18008//22873 +f 19748//22948 18837//22874 18008//22873 +f 18633//22947 19748//22948 18008//22873 +f 19925//22949 18393//22875 18837//22874 +f 19748//22948 19925//22949 18837//22874 +f 1767//22950 18236//22876 18393//22875 +f 19925//22949 1767//22950 18393//22875 +f 17667//22951 17666//22877 18236//22876 +f 1767//22950 17667//22951 18236//22876 +f 17667//22951 18889//22952 18871//22878 +f 17666//22877 17667//22951 18871//22878 +f 18889//22952 19850//22953 19848//22879 +f 18871//22878 18889//22952 19848//22879 +f 19850//22953 18532//22954 4401//22880 +f 19848//22879 19850//22953 4401//22880 +f 18532//22954 19696//22955 19695//22881 +f 4401//22880 18532//22954 19695//22881 +f 19696//22955 18700//22956 18501//22882 +f 19695//22881 19696//22955 18501//22882 +f 18700//22956 18391//22957 17653//18031 +f 18501//22882 18700//22956 17653//18031 +f 7291//22351 30027//4434 30633//1690 +f 17766//6159 5360//3029 18962//21365 +f 18268//21846 3966//1369 4261//21622 +f 23221//15266 22450//16394 18706//15803 +f 28816//22616 30476//13833 30475//13832 +f 19412//22798 35122//22702 32568//19257 +f 33483//22958 33602//22959 33601//17195 +f 30871//16700 30925//20279 30870//16701 +f 24340//22960 6878//22961 29762//22962 +f 22762//22963 22664//22964 12110//22965 +f 27379//3167 29699//16810 27378//18 +f 29144//8741 7291//22351 28610//16313 +f 27294//3010 29684//16312 19645//16393 +f 6951//11392 34465//17946 6952//13966 +f 26412//2269 27262//22385 29132//2270 +f 18964//22100 18569//22966 18666//22887 +f 19752//22886 18964//22100 18666//22887 +f 18569//22966 18493//22967 18327//22888 +f 18666//22887 18569//22966 18327//22888 +f 18493//22967 18798//22968 18407//22889 +f 18327//22888 18493//22967 18407//22889 +f 19310//22969 18172//22890 18407//22889 +f 18798//22968 19310//22969 18407//22889 +f 19547//22970 18505//22891 18172//22890 +f 19310//22969 19547//22970 18172//22890 +f 18219//22971 17657//22892 18505//22891 +f 19547//22970 18219//22971 18505//22891 +f 17769//22972 17866//22893 17657//22892 +f 18219//22971 17769//22972 17657//22892 +f 18357//22973 17936//22894 17866//22893 +f 17769//22972 18357//22973 17866//22893 +f 17870//22974 18239//22895 17936//22894 +f 18357//22973 17870//22974 17936//22894 +f 18812//22975 19447//22896 18239//22895 +f 17870//22974 18812//22975 18239//22895 +f 18101//22976 19813//22897 19447//22896 +f 18812//22975 18101//22976 19447//22896 +f 19303//22977 17445//22899 19813//22897 +f 18101//22976 19303//22977 19813//22897 +f 19708//22978 19418//15320 17445//22899 +f 19303//22977 19708//22978 17445//22899 +f 19380//22979 18969//15321 19418//15320 +f 19708//22978 19380//22979 19418//15320 +f 17530//22980 17624//22901 18969//15321 +f 19380//22979 17530//22980 18969//15321 +f 18428//22981 19623//22900 17624//22901 +f 17530//22980 18428//22981 17624//22901 +f 18707//22982 17958//22902 19623//22900 +f 18428//22981 18707//22982 19623//22900 +f 18421//22983 18906//22903 17958//22902 +f 18707//22982 18421//22983 17958//22902 +f 17955//22984 18230//22904 18906//22903 +f 18421//22983 17955//22984 18906//22903 +f 17987//22985 18820//22905 18230//22904 +f 17955//22984 17987//22985 18230//22904 +f 17987//22985 18806//22986 18394//22906 +f 18820//22905 17987//22985 18394//22906 +f 18806//22986 18867//22987 19067//22907 +f 18394//22906 18806//22986 19067//22907 +f 18867//22987 18478//22842 19107//22908 +f 19067//22907 18867//22987 19107//22908 +f 1648//19523 18082//19712 19514//19531 +f 35889//3245 35678//7447 35709//6309 +f 19261//21465 19369//20917 18371//22225 +f 3040//1365 17914//1367 4261//21622 +f 18678//20735 18776//20737 18775//21534 +f 19152//20686 18711//21102 19440//21062 +f 18686//9275 18784//21523 18783//20831 +f 19622//9607 19621//21828 19511//21748 +f 1443//8293 1326//8291 18576//20787 +f 18959//20717 18958//20719 18859//21183 +f 18018//21315 18019//20884 18108//21610 +f 19193//21541 18494//20923 19895//20880 +f 17645//20809 17646//21092 17740//1786 +f 6393//1952 15755//1953 2887//18682 +f 18078//21528 17561//20759 17855//9784 +f 17561//20759 17892//9785 17855//9784 +f 732//7671 18103//7856 851//7672 +f 19943//20927 21288//2467 344//21666 +f 18599//18683 17843//22988 18125//22909 +f 19175//19469 18599//18683 18125//22909 +f 18591//22989 17989//15955 18125//22909 +f 17843//22988 18591//22989 18125//22909 +f 18518//22990 18423//22991 22460//22992 +f 18591//22989 18570//22910 17989//15955 +f 35751//3516 35360//3881 35859//16532 +f 18570//22910 18518//22990 19430//22993 +f 13243//17983 13991//17761 18216//22403 +f 18518//22990 18309//21283 18423//22991 +f 3732//1585 3863//22841 18719//15233 +f 15434//8914 18216//22403 18495//18429 +f 17645//20809 17740//1786 17739//20811 +f 1333//9102 18681//20661 18680//20931 +f 17296//20760 5822//10018 19110//10017 +f 35170//22994 35300//22995 17284//21617 +f 35169//9373 35170//22994 17284//21617 +f 17506//22996 17505//22915 17417//16764 +f 17418//22997 17506//22996 17417//16764 +f 17600//6425 17599//22916 17505//22915 +f 17506//22996 17600//6425 17505//22915 +f 17600//6425 17695//17824 17694//22917 +f 17599//22916 17600//6425 17694//22917 +f 17601//3171 20206//1459 20205//14185 +f 17694//22917 17695//17824 17790//17825 +f 17791//16802 17695//17824 20205//14185 +f 17790//17825 17791//16802 17886//22918 +f 17887//17882 17980//21330 17979//22919 +f 17886//22918 17887//17882 17979//22919 +f 17980//21330 18071//22255 18070//22920 +f 17979//22919 17980//21330 18070//22920 +f 18071//22255 18163//22998 18162//22921 +f 18070//22920 18071//22255 18162//22921 +f 18163//22998 18257//22999 18256//22922 +f 18162//22921 18163//22998 18256//22922 +f 18257//22999 18350//23000 18349//22923 +f 18256//22922 18257//22999 18349//22923 +f 18445//23001 18444//22924 18349//22923 +f 18350//23000 18445//23001 18349//22923 +f 18445//23001 18541//23002 18540//9326 +f 18444//22924 18445//23001 18540//9326 +f 18541//23002 18638//15133 18637//9327 +f 18540//9326 18541//23002 18637//9327 +f 1462//10055 1577//9974 1461//9976 +f 8578//14523 8577//11528 14819//18905 +f 13768//23003 14144//23004 23174//15091 +f 35398//1371 35903//438 35407//5535 +f 28375//13982 30098//13986 30097//10755 +f 28374//14334 28375//13982 30097//10755 +f 6531//21771 28681//14790 28552//22384 +f 27294//3010 28875//14552 29684//16312 +f 28313//8191 28312//17116 28195//2958 +f 28196//3254 28313//8191 28195//2958 +f 30826//2853 23169//2470 23267//106 +f 15347//23005 14971//21392 7188//21393 +f 32503//23006 32502//23007 32397//5482 +f 7528//8861 11729//2273 11812//17996 +f 13268//16593 28889//16592 29023//16596 +f 24866//23008 29258//23009 27287//19823 +f 30078//15487 30082//5335 16311//16603 +f 30082//5335 20176//1525 16311//16603 +f 25835//23010 28724//23011 28592//23012 +f 27666//19022 19701//3232 30480//1930 +f 25015//23013 29216//23014 30737//23015 +f 17369//21835 19340//22791 11575//21836 +f 32729//16934 32841//23016 32728//21624 +f 29641//23017 29774//23018 29773//6601 +f 30285//21756 23060//23019 30418//12520 +f 17258//2289 25914//2291 28353//2109 +f 32788//23020 32900//14890 32787//21238 +f 27527//5890 29681//14503 28190//14502 +f 18513//13618 17365//23021 18321//22940 +f 19938//13616 18321//22940 19822//19259 +f 17365//23021 19064//23022 19217//22941 +f 18321//22940 17365//23021 19217//22941 +f 19064//23022 19627//23023 17911//22942 +f 19217//22941 19064//23022 17911//22942 +f 19627//23023 18625//23024 19855//22943 +f 17911//22942 19627//23023 19855//22943 +f 18625//23024 18503//23025 18602//22944 +f 19855//22943 18625//23024 18602//22944 +f 18503//23025 19713//23026 19020//22945 +f 18602//22944 18503//23025 19020//22945 +f 19127//23027 19128//22946 19020//22945 +f 19713//23026 19127//23027 19020//22945 +f 19127//23027 19441//23028 18633//22947 +f 19128//22946 19127//23027 18633//22947 +f 19441//23028 19765//23029 19748//22948 +f 18633//22947 19441//23028 19748//22948 +f 18548//23030 19925//22949 19748//22948 +f 19765//23029 18548//23030 19748//22948 +f 18832//23031 1767//22950 19925//22949 +f 18548//23030 18832//23031 19925//22949 +f 17715//23032 17667//22951 1767//22950 +f 18832//23031 17715//23032 1767//22950 +f 17715//23032 18890//23033 18889//22952 +f 17667//22951 17715//23032 18889//22952 +f 18890//23033 19869//23034 19850//22953 +f 18889//22952 18890//23033 19850//22953 +f 19869//23034 3615//23035 18532//22954 +f 19850//22953 19869//23034 18532//22954 +f 3615//23035 17956//23036 19696//22955 +f 18532//22954 3615//23035 19696//22955 +f 17956//23036 10689//23037 18700//22956 +f 19696//22955 17956//23036 18700//22956 +f 27370//14997 27371//13341 27489//13343 +f 33157//2945 33262//2947 33261//23038 +f 28880//23039 29816//17413 26944//15235 +f 35691//12185 35628//12186 35856//9962 +f 11926//17223 27196//23040 27198//16164 +f 21655//10496 21656//14741 7295//10497 +f 26519//20833 24067//21513 27258//23041 +f 17296//20760 5688//10089 5822//10018 +f 6945//23042 22098//23043 24301//23044 +f 11361//10731 11507//10617 1978//11865 +f 35657//1763 35723//1762 35386//6337 +f 28875//14552 29144//8741 28610//16313 +f 30608//20806 30073//20805 26519//20833 +f 28610//16313 7291//22351 30633//1690 +f 6531//21771 29294//22352 7291//22351 +f 18998//9072 19651//23045 18964//22100 +f 33325//21879 33434//22234 33433//16542 +f 19651//23045 18474//23046 18569//22966 +f 18964//22100 19651//23045 18569//22966 +f 18474//23046 18315//23047 18493//22967 +f 18569//22966 18474//23046 18493//22967 +f 18315//23047 17891//23048 18798//22968 +f 18493//22967 18315//23047 18798//22968 +f 17896//23049 19310//22969 18798//22968 +f 17891//23048 17896//23049 18798//22968 +f 17896//23049 19304//23050 19547//22970 +f 19310//22969 17896//23049 19547//22970 +f 18126//23051 18219//22971 19547//22970 +f 19304//23050 18126//23051 19547//22970 +f 18508//23052 17769//22972 18219//22971 +f 18126//23051 18508//23052 18219//22971 +f 18325//23053 18357//22973 17769//22972 +f 18508//23052 18325//23053 17769//22972 +f 18181//23054 17870//22974 18357//22973 +f 18325//23053 18181//23054 18357//22973 +f 18721//23055 18812//22975 17870//22974 +f 18181//23054 18721//23055 17870//22974 +f 19885//23056 18101//22976 18812//22975 +f 18721//23055 19885//23056 18812//22975 +f 19010//23057 19303//22977 18101//22976 +f 19885//23056 19010//23057 18101//22976 +f 18467//23058 19708//22978 19303//22977 +f 19010//23057 18467//23058 19303//22977 +f 19490//23059 19380//22979 19708//22978 +f 18467//23058 19490//23059 19708//22978 +f 18028//23060 17530//22980 19380//22979 +f 19490//23059 18028//23060 19380//22979 +f 18470//23061 18428//22981 17530//22980 +f 18028//23060 18470//23061 17530//22980 +f 17699//23062 18707//22982 18428//22981 +f 18470//23061 17699//23062 18428//22981 +f 18052//23063 18421//22983 18707//22982 +f 17699//23062 18052//23063 18707//22982 +f 18052//23063 17954//23064 17955//22984 +f 18421//22983 18052//23063 17955//22984 +f 17954//23064 17563//23065 17987//22985 +f 17955//22984 17954//23064 17987//22985 +f 17563//23065 18807//23066 18806//22986 +f 17987//22985 17563//23065 18806//22986 +f 18807//23066 18966//22329 18867//22987 +f 18806//22986 18807//23066 18867//22987 +f 18719//15233 18478//22842 18867//22987 +f 18966//22329 18719//15233 18867//22987 +f 12335//10308 23713//2980 12334//10332 +f 7222//21195 7116//14171 7223//14112 +f 18372//20876 19279//20757 19269//21772 +f 18371//22225 18372//20876 19269//21772 +f 18882//21174 18981//21085 18980//21084 +f 6882//13673 6950//11391 6949//14050 +f 18240//20667 19254//14381 19253//22117 +f 17552//21294 17646//21092 17645//20809 +f 33246//8392 33356//8391 17333//22540 +f 3181//1370 1493//1373 3040//1365 +f 19956//21935 19957//21555 19273//21937 +f 18496//14323 5819//8974 19024//8976 +f 17543//20770 17637//21511 17636//21386 +f 5685//8975 17892//9785 19024//8976 +f 18733//12267 14552//1047 14592//1046 +f 18342//10457 6149//4284 251//8871 +f 148//21344 19413//18467 147//18466 +f 18733//12267 18392//12266 17843//22988 +f 18599//18683 18733//12267 17843//22988 +f 18392//12266 18280//22180 18591//22989 +f 17843//22988 18392//12266 18591//22989 +f 18280//22180 18148//22107 18570//22910 +f 18591//22989 18280//22180 18570//22910 +f 19007//9461 18518//22990 18570//22910 +f 18148//22107 19007//9461 18570//22910 +f 18999//21463 18309//21283 18518//22990 +f 19007//9461 18999//21463 18518//22990 +f 17849//8873 19413//18467 18309//21283 +f 18999//21463 17849//8873 18309//21283 +f 18689//20794 1338//9349 18690//9457 +f 3616//15292 147//18466 17626//8872 +f 19621//21828 19732//20673 19620//21012 +f 35637//2505 35607//4973 35905//9308 +f 19169//21714 18696//21582 19628//21583 +f 17507//6426 17506//22996 17418//22997 +f 16801//19539 16617//19450 20320//23067 +f 17506//22996 17507//6426 17600//6425 +f 18276//20862 1075//6300 1191//6302 +f 20042//23068 20122//18223 17507//6426 +f 19834//20704 19948//20706 19947//21006 +f 26682//9333 26683//14959 24652//21670 +f 362//495 3488//494 251//8871 +f 17454//20211 17455//16003 17542//20771 +f 16552//19265 21320//21563 17861//19263 +f 21320//21563 20623//14776 19278//14778 +f 17861//19263 21320//21563 19278//14778 +f 17980//21330 17981//16528 18071//22255 +f 18072//16527 18164//17770 18163//22998 +f 18071//22255 18072//16527 18163//22998 +f 18164//17770 18258//22208 18257//22999 +f 18163//22998 18164//17770 18257//22999 +f 18258//22208 18351//22043 18350//23000 +f 18257//22999 18258//22208 18350//23000 +f 18351//22043 18446//22045 18445//23001 +f 18350//23000 18351//22043 18445//23001 +f 18446//22045 18542//22209 18541//23002 +f 18445//23001 18446//22045 18541//23002 +f 18542//22209 18639//22047 18638//15133 +f 18541//23002 18542//22209 18638//15133 +f 18719//15233 18723//10960 18319//1586 +f 11809//19592 35635//16736 35359//7045 +f 35387//6872 35910//6873 35855//6112 +f 18595//3776 16171//3781 4688//8829 +f 27673//18770 27674//23069 12443//17198 +f 30098//13986 19801//13620 19798//11275 +f 27058//2851 27060//11879 28374//14334 +f 29277//6069 27985//6193 26915//21338 +f 30591//2314 30590//2466 30456//2315 +f 18640//20007 21116//4269 21115//260 +f 28313//8191 28433//11008 28312//17116 +f 26969//23070 27957//22857 25404//22856 +f 14971//21392 15347//23005 19451//21856 +f 30583//23071 30582//23072 30448//23073 +f 11385//5064 21644//5063 27875//19071 +f 28987//10239 19569//2271 28244//5479 +f 13488//5602 28987//10239 28244//5479 +f 17315//23074 28130//23075 28129//15489 +f 22482//23076 22581//5421 22580//23077 +f 19249//23078 19356//23079 21946//17032 +f 28614//21978 28618//21977 29408//23080 +f 26411//12127 26802//2837 28854//21641 +f 26941//16045 30332//8606 5464//8605 +f 25406//22531 25405//23081 25264//23082 +f 27375//1139 18930//12574 29356//14896 +f 35230//23083 19523//21974 35101//23084 +f 27286//2267 35725//3456 27287//19823 +f 18321//22940 19938//13616 18513//13618 +f 19807//4691 18247//16095 18513//13618 +f 18116//22670 17365//23021 18513//13618 +f 18247//16095 18116//22670 18513//13618 +f 19167//22669 19064//23022 17365//23021 +f 18116//22670 19167//22669 17365//23021 +f 17394//22173 19627//23023 19064//23022 +f 19167//22669 17394//22173 19064//23022 +f 19384//22172 18625//23024 19627//23023 +f 17394//22173 19384//22172 19627//23023 +f 19384//22172 18408//22174 18503//23025 +f 18625//23024 19384//22172 18503//23025 +f 18408//22174 19602//22671 19713//23026 +f 18503//23025 18408//22174 19713//23026 +f 18825//22313 19127//23027 19713//23026 +f 19602//22671 18825//22313 19713//23026 +f 19588//22213 19441//23028 19127//23027 +f 18825//22313 19588//22213 19127//23027 +f 18567//22244 19765//23029 19441//23028 +f 19588//22213 18567//22244 19441//23028 +f 18134//22171 18548//23030 19765//23029 +f 18567//22244 18134//22171 19765//23029 +f 19525//22170 18832//23031 18548//23030 +f 18134//22171 19525//22170 18548//23030 +f 17716//22130 17715//23032 18832//23031 +f 19525//22170 17716//22130 18832//23031 +f 17716//22130 18891//22133 18890//23033 +f 17715//23032 17716//22130 18890//23033 +f 18891//22133 19872//22590 19869//23034 +f 18890//23033 18891//22133 19869//23034 +f 19872//22590 18970//22589 3615//23035 +f 19869//23034 19872//22590 3615//23035 +f 18970//22589 18077//22588 17956//23036 +f 3615//23035 18970//22589 17956//23036 +f 18077//22588 19545//22135 10689//23037 +f 17956//23036 18077//22588 10689//23037 +f 3849//9827 7675//9829 8240//3575 +f 35324//23085 18815//23086 17696//22136 +f 29528//22481 29666//1682 29527//22858 +f 29150//5897 30155//5893 21842//5778 +f 17775//22122 17871//22515 17774//22004 +f 2675//2114 21656//14741 21655//10496 +f 31793//17550 31899//23087 31792//17551 +f 18165//16280 18259//22207 18258//22208 +f 34651//22404 17276//21752 34523//21754 +f 4013//23088 20318//12976 22543//23089 +f 28136//2850 23532//13957 27058//2851 +f 21476//14683 23532//13957 28136//2850 +f 28681//14790 30600//14792 27262//22385 +f 29144//8741 6531//21771 7291//22351 +f 30352//9152 29294//22352 28430//17935 +f 29294//22352 30352//9152 30027//4434 +f 18898//22386 19172//17818 19651//23045 +f 28190//14502 35415//3015 21376//3014 +f 19172//17818 18473//22312 18474//23046 +f 19651//23045 19172//17818 18474//23046 +f 18473//22312 18124//22277 18315//23047 +f 18474//23046 18473//22312 18315//23047 +f 17897//22276 17891//23048 18315//23047 +f 18124//22277 17897//22276 18315//23047 +f 17897//22276 18703//22464 17896//23049 +f 17891//23048 17897//22276 17896//23049 +f 18703//22464 19125//22517 19304//23050 +f 17896//23049 18703//22464 19304//23050 +f 19125//22517 18313//22585 18126//23051 +f 19304//23050 19125//22517 18126//23051 +f 19308//22668 18508//23052 18126//23051 +f 18313//22585 19308//22668 18126//23051 +f 18665//22747 18325//23053 18508//23052 +f 19308//22668 18665//22747 18508//23052 +f 18439//22138 18181//23054 18325//23053 +f 18665//22747 18439//22138 18325//23053 +f 19759//22098 18721//23055 18181//23054 +f 18439//22138 19759//22098 18181//23054 +f 19496//22093 19885//23056 18721//23055 +f 19759//22098 19496//22093 18721//23055 +f 19206//22095 19010//23057 19885//23056 +f 19496//22093 19206//22095 19885//23056 +f 17932//22090 18467//23058 19010//23057 +f 19206//22095 17932//22090 19010//23057 +f 19600//22089 19490//23059 18467//23058 +f 17932//22090 19600//22089 18467//23058 +f 18029//22097 18028//23060 19490//23059 +f 19600//22089 18029//22097 19490//23059 +f 19598//22518 18470//23061 18028//23060 +f 18029//22097 19598//22518 18028//23060 +f 19200//22519 17699//23062 18470//23061 +f 19598//22518 19200//22519 18470//23061 +f 18142//22520 18052//23063 17699//23062 +f 19200//22519 18142//22520 17699//23062 +f 18142//22520 19928//22521 17954//23064 +f 18052//23063 18142//22520 17954//23064 +f 19928//22521 17474//22522 17563//23065 +f 17954//23064 19928//22521 17563//23065 +f 17474//22522 18214//22131 18807//23066 +f 17563//23065 17474//22522 18807//23066 +f 18214//22131 18723//10960 18966//22329 +f 18807//23066 18214//22131 18966//22329 +f 14629//14084 21496//16323 16858//19557 +f 24033//4967 14560//18749 24093//6693 +f 23240//23090 21306//8208 21489//3258 +f 23240//23090 5556//8364 21306//8208 +f 24852//23091 24073//23092 23806//23093 +f 12340//23094 23563//16999 23605//23095 +f 21917//23096 24217//21859 21916//23097 +f 28367//23098 20893//23099 29021//8363 +f 26029//23100 26171//23101 26170//23102 +f 24434//2195 24370//23103 25403//23104 +f 35875//1382 35658//6308 35836//6310 +f 25545//23105 24434//2195 25403//23104 +f 26089//18978 22647//6046 23239//6048 +f 24564//23106 25212//23107 25091//23108 +f 24557//23109 23545//14709 25979//23110 +f 20059//23111 21394//23112 20647//23113 +f 21424//23114 25169//23115 24951//23116 +f 34995//23117 33812//23118 12573//967 +f 24906//23119 24905//23120 25320//23121 +f 24130//23122 25678//23123 24412//23124 +f 32119//23125 32120//23126 32219//23127 +f 331//5408 3452//5526 8051//14612 +f 24073//23092 25250//17178 23674//23128 +f 21541//23129 24852//23091 23806//23093 +f 21917//23096 21916//23097 23745//23130 +f 23800//23131 21917//23096 23745//23130 +f 24370//23103 24434//2195 23989//8599 +f 26028//23132 26029//23100 26170//23102 +f 25509//23133 24564//23106 23873//23134 +f 24434//2195 23990//2197 23989//8599 +f 23927//3784 23814//9603 26461//23135 +f 25506//23136 25509//23133 23873//23134 +f 23553//23137 13052//7256 23924//10331 +f 6863//5183 35427//13202 28721//13851 +f 25896//23138 26038//16638 26037//16637 +f 20798//20374 20880//20576 20797//17547 +f 26785//5619 26673//5618 24221//23139 +f 25616//2283 25758//23140 25757//23141 +f 23662//23142 23614//23143 24951//23116 +f 25615//2284 25616//2283 25757//23141 +f 24782//23144 24663//5353 20826//23145 +f 24825//23146 23662//23142 24951//23116 +f 12216//22932 22943//2647 24663//5353 +f 25308//23147 24906//23119 25320//23121 +f 34848//22654 11790//2529 4101//2322 +f 16190//15885 16047//18158 21885//23148 +f 16753//908 16752//1315 25467//17123 +f 23806//23093 24073//23092 23674//23128 +f 24345//22728 24054//23149 24759//16066 +f 24217//21859 19427//23150 6655//21860 +f 24156//23151 25509//23133 25506//23136 +f 23990//2197 24134//23152 23984//8600 +f 26140//23153 26141//23154 23487//23155 +f 24154//14699 24156//23151 25506//23136 +f 29152//23156 20897//8798 27433//22617 +f 26141//23154 23544//23157 23487//23155 +f 25619//2894 23596//3541 21540//23158 +f 21914//23159 26212//23160 25568//23161 +f 25758//23140 25900//23162 25899//23163 +f 25895//23164 25896//23138 26037//16637 +f 25757//23141 25758//23140 25899//23163 +f 25900//23162 26042//23165 26041//23166 +f 25899//23163 25900//23162 26041//23166 +f 24621//23167 24427//2747 24327//23168 +f 26042//23165 26184//23169 26183//23170 +f 23596//3541 25941//4251 25798//17497 +f 21540//23158 23596//3541 25798//17497 +f 26101//23171 20095//23172 25449//23173 +f 25494//23174 25923//23175 25371//23176 +f 25139//23177 2253//7137 25140//23178 +f 21075//22179 27605//23179 27606//14395 +f 20196//23180 20035//23181 21859//4141 +f 20053//4916 21859//4141 20035//23181 +f 20035//23181 21581//4917 20053//4916 +f 21142//4915 28246//21159 27137//21992 +f 21581//4917 21869//23182 21142//4915 +f 21869//23182 22446//21863 21142//4915 +f 21777//23183 22647//6046 21673//23184 +f 26231//14032 11718//14031 21673//23184 +f 26283//23185 23691//23186 26282//23187 +f 23533//23188 23891//23189 24955//16755 +f 35485//17636 35610//1438 30346//2614 +f 25161//23190 12648//23191 4663//23192 +f 24327//23168 24328//2749 25618//23193 +f 25618//23193 25619//2894 21540//23158 +f 26041//23166 26042//23165 26183//23170 +f 26184//23169 26325//23194 26324//23195 +f 20880//20576 20960//23196 20959//17571 +f 19300//9984 2182//9759 19195//20540 +f 20879//17554 20880//20576 20959//17571 +f 26183//23170 26184//23169 26324//23195 +f 24427//2747 24328//2749 24327//23168 +f 26325//23194 24271//23197 20923//23198 +f 24328//2749 25619//2894 25618//23193 +f 35845//11030 35909//13279 35553//9130 +f 25375//17110 24165//10119 24548//10121 +f 20318//12976 4013//23088 27666//19022 +f 23733//8595 23547//23199 23890//23200 +f 25663//23201 20264//23202 24965//23203 +f 22543//23089 20899//23204 20196//23180 +f 16152//23205 20196//23180 21329//4140 +f 21402//23206 20035//23181 20196//23180 +f 20899//23204 21402//23206 20196//23180 +f 21402//23206 21767//23207 21581//4917 +f 20035//23181 21402//23206 21581//4917 +f 21767//23207 21964//23208 21869//23182 +f 21581//4917 21767//23207 21869//23182 +f 21964//23208 12634//23209 22544//23210 +f 21869//23182 21964//23208 22544//23210 +f 12634//23209 22546//23211 22159//22431 +f 26815//5196 25936//23212 24588//23213 +f 24637//14769 26929//5197 24587//23214 +f 24588//23213 26929//5197 26815//5196 +f 14044//23215 11958//23216 14247//15973 +f 34674//15406 34802//23217 34673//15407 +f 11958//23216 20984//23218 21067//23219 +f 23808//12781 24915//23220 24138//2844 +f 15672//18667 15537//18702 15673//18707 +f 20984//23218 17103//23221 21067//23219 +f 20960//23196 21043//23222 21042//17573 +f 20959//17571 20960//23196 21042//17573 +f 26324//23195 26325//23194 20923//23198 +f 24111//1927 24427//2747 24467//23223 +f 24271//23197 12275//23224 25447//14689 +f 28737//23225 29954//23226 22945//19813 +f 21574//17280 20571//12575 27375//1139 +f 12818//23227 17104//12975 20571//12575 +f 14948//23228 12818//23227 20571//12575 +f 20402//23229 20318//12976 17104//12975 +f 12818//23227 20402//23229 17104//12975 +f 20196//23180 4013//23088 22543//23089 +f 20402//23229 16770//23230 20318//12976 +f 16770//23230 23338//23231 20899//23204 +f 22543//23089 16770//23230 20899//23204 +f 23338//23231 20036//23232 21402//23206 +f 20899//23204 23338//23231 21402//23206 +f 20036//23232 20326//23233 21767//23207 +f 21402//23206 20036//23232 21767//23207 +f 20326//23233 22059//23234 21964//23208 +f 21767//23207 20326//23233 21964//23208 +f 22059//23234 14848//23235 12634//23209 +f 21964//23208 22059//23234 12634//23209 +f 14848//23235 22645//23236 22546//23211 +f 12634//23209 14848//23235 22546//23211 +f 22645//23236 14090//23237 14044//23215 +f 22546//23211 22645//23236 14044//23215 +f 14090//23237 16764//23238 11958//23216 +f 14044//23215 14090//23237 11958//23216 +f 16764//23238 21153//23239 20984//23218 +f 11958//23216 16764//23238 20984//23218 +f 12992//23240 17103//23221 20984//23218 +f 21153//23239 12992//23240 20984//23218 +f 21226//345 22355//479 2939//478 +f 35744//17747 35553//9130 35613//14035 +f 20923//23198 24271//23197 25447//14689 +f 12275//23224 25427//23241 24558//14690 +f 27752//21716 21573//23242 21574//17280 +f 24653//16024 24226//23243 24020//16025 +f 13524//23244 14948//23228 21573//23242 +f 21572//23245 13524//23244 21573//23242 +f 21508//23246 12818//23227 14948//23228 +f 13524//23244 21508//23246 14948//23228 +f 20147//23247 20402//23229 12818//23227 +f 21508//23246 20147//23247 12818//23227 +f 5420//23248 16770//23230 20402//23229 +f 20147//23247 5420//23248 20402//23229 +f 5420//23248 20152//23249 23338//23231 +f 16770//23230 5420//23248 23338//23231 +f 20152//23249 20231//23250 20036//23232 +f 23338//23231 20152//23249 20036//23232 +f 20231//23250 20054//23251 20326//23233 +f 20036//23232 20231//23250 20326//23233 +f 20054//23251 22155//23252 22059//23234 +f 20326//23233 20054//23251 22059//23234 +f 22155//23252 22552//23253 14848//23235 +f 22059//23234 22155//23252 14848//23235 +f 22552//23253 22744//23254 22645//23236 +f 14848//23235 22552//23253 22645//23236 +f 22744//23254 9862//23255 14090//23237 +f 22645//23236 22744//23254 14090//23237 +f 9862//23255 13808//23256 16764//23238 +f 14090//23237 9862//23255 16764//23238 +f 13808//23256 21239//23257 21153//23239 +f 16764//23238 13808//23256 21153//23239 +f 31520//23258 31607//21575 31519//23259 +f 21163//23260 21249//23261 27837//23262 +f 21033//15809 18643//16419 18546//16924 +f 25447//14689 12275//23224 24558//14690 +f 26731//23263 26621//17152 11530//14626 +f 26054//22308 26196//17869 26053//23264 +f 21212//23265 21572//23245 22553//23266 +f 13093//23267 21212//23265 22553//23266 +f 1604//23268 13524//23244 21572//23245 +f 21212//23265 1604//23268 21572//23245 +f 20577//23269 21508//23246 13524//23244 +f 1604//23268 20577//23269 13524//23244 +f 20146//23270 20147//23247 21508//23246 +f 20577//23269 20146//23270 21508//23246 +f 11639//23271 5420//23248 20147//23247 +f 20146//23270 11639//23271 20147//23247 +f 11639//23271 20197//23272 20152//23249 +f 5420//23248 11639//23271 20152//23249 +f 20197//23272 20037//23273 20231//23250 +f 20152//23249 20197//23272 20231//23250 +f 20037//23273 21582//23274 20054//23251 +f 20231//23250 20037//23273 20054//23251 +f 21582//23274 22251//23275 22155//23252 +f 20054//23251 21582//23274 22155//23252 +f 22251//23275 20063//23276 22552//23253 +f 22155//23252 22251//23275 22552//23253 +f 20063//23276 3021//23277 22744//23254 +f 22552//23253 20063//23276 22744//23254 +f 3021//23277 3605//23278 9862//23255 +f 22744//23254 3021//23277 9862//23255 +f 3605//23278 16763//23279 13808//23256 +f 9862//23255 3605//23278 13808//23256 +f 16763//23279 13951//1942 21239//23257 +f 13808//23256 16763//23279 21239//23257 +f 35825//13963 35715//3638 35937//3639 +f 35698//3504 35923//2801 35718//2803 +f 25427//23241 25296//23280 26216//16555 +f 21793//23281 24218//23282 11670//23283 +f 24558//14690 25427//23241 26216//16555 +f 22347//23284 13093//23267 21507//15221 +f 21507//15221 18929//21877 13699//15222 +f 21481//23285 21212//23265 13093//23267 +f 22347//23284 21481//23285 13093//23267 +f 23250//23286 1604//23268 21212//23265 +f 21481//23285 23250//23286 21212//23265 +f 20237//23287 20577//23269 1604//23268 +f 23250//23286 20237//23287 1604//23268 +f 465//23288 20146//23270 20577//23269 +f 20237//23287 465//23288 20577//23269 +f 465//23288 22445//23289 11639//23271 +f 20146//23270 465//23288 11639//23271 +f 22445//23289 20977//23290 20197//23272 +f 11639//23271 22445//23289 20197//23272 +f 20977//23290 21307//23291 20037//23273 +f 20197//23272 20977//23290 20037//23273 +f 21307//23291 21768//23292 21582//23274 +f 20037//23273 21307//23291 21582//23274 +f 21768//23292 20349//23293 22251//23275 +f 21582//23274 21768//23292 22251//23275 +f 20349//23293 20484//23294 20063//23276 +f 22251//23275 20349//23293 20063//23276 +f 20484//23294 16009//23295 3021//23277 +f 20063//23276 20484//23294 3021//23277 +f 16009//23295 5071//23296 3605//23278 +f 3021//23277 16009//23295 3605//23278 +f 5071//23296 10445//23297 16763//23279 +f 3605//23278 5071//23296 16763//23279 +f 10445//23297 8258//1943 13951//1942 +f 16763//23279 10445//23297 13951//1942 +f 10406//14902 10407//13371 10526//14484 +f 21467//10730 21468//15228 11361//10731 +f 14408//9542 12992//23240 14427//1584 +f 25296//23280 24883//23298 24882//16556 +f 23372//23299 21693//23300 21599//15223 +f 28247//17500 13174//23301 28016//4452 +f 22250//23302 22347//23284 21599//15223 +f 21693//23300 22250//23302 21599//15223 +f 21211//23303 21481//23285 22347//23284 +f 22250//23302 21211//23303 22347//23284 +f 23348//23304 23250//23286 21481//23285 +f 21211//23303 23348//23304 21481//23285 +f 22171//23305 20237//23287 23250//23286 +f 23348//23304 22171//23305 23250//23286 +f 22171//23305 15746//23306 465//23288 +f 20237//23287 22171//23305 465//23288 +f 15746//23306 22348//23307 22445//23289 +f 465//23288 15746//23306 22445//23289 +f 22348//23307 20979//23308 20977//23290 +f 22445//23289 22348//23307 20977//23290 +f 20979//23308 20317//23309 21307//23291 +f 20977//23290 20979//23308 21307//23291 +f 20317//23309 1021//23310 21768//23292 +f 21307//23291 20317//23309 21768//23292 +f 1021//23310 11710//23311 20349//23293 +f 21768//23292 1021//23310 20349//23293 +f 11710//23311 20569//23312 20484//23294 +f 20349//23293 11710//23311 20484//23294 +f 20569//23312 6896//23313 16009//23295 +f 20484//23294 20569//23312 16009//23295 +f 6896//23313 15884//23314 5071//23296 +f 16009//23295 6896//23313 5071//23296 +f 15884//23314 20149//23315 10445//23297 +f 5071//23296 15884//23314 10445//23297 +f 15280//19978 8258//1943 10445//23297 +f 20149//23315 15280//19978 10445//23297 +f 20543//17353 20625//7039 18167//16320 +f 18314//15869 19476//22591 22833//15870 +f 35450//4776 35869//7458 35926//902 +f 21223//23316 20654//23317 23372//23299 +f 35695//17404 35577//6548 35435//6547 +f 14145//23318 21693//23300 23372//23299 +f 20654//23317 14145//23318 23372//23299 +f 21774//23319 22250//23302 21693//23300 +f 14145//23318 21774//23319 21693//23300 +f 21480//23320 21211//23303 22250//23302 +f 21774//23319 21480//23320 22250//23302 +f 23444//23321 23348//23304 21211//23303 +f 21480//23320 23444//23321 21211//23303 +f 13053//23322 22171//23305 23348//23304 +f 23444//23321 13053//23322 23348//23304 +f 13053//23322 23336//23323 15746//23306 +f 22171//23305 13053//23322 15746//23306 +f 23336//23323 21775//23324 22348//23307 +f 15746//23306 23336//23323 22348//23307 +f 21775//23324 23435//23325 20979//23308 +f 22348//23307 21775//23324 20979//23308 +f 23435//23325 20038//23326 20317//23309 +f 20979//23308 23435//23325 20317//23309 +f 20038//23326 20055//23327 1021//23310 +f 20317//23309 20038//23326 1021//23310 +f 20055//23327 5597//23328 11710//23311 +f 1021//23310 20055//23327 11710//23311 +f 5597//23328 20651//23329 20569//23312 +f 11710//23311 5597//23328 20569//23312 +f 20651//23329 10983//23330 6896//23313 +f 20569//23312 20651//23329 6896//23313 +f 10983//23330 22336//23331 15884//23314 +f 6896//23313 10983//23330 15884//23314 +f 22336//23331 20068//23332 20149//23315 +f 15884//23314 22336//23331 20149//23315 +f 20068//23332 19095//19267 20149//23315 +f 35503//2549 35681//8168 35790//6818 +f 2939//478 22453//477 13335//15469 +f 33//9662 17109//7942 8896//7944 +f 12810//15945 16314//15946 21223//23316 +f 30880//16681 30879//16460 27901//16680 +f 22950//23333 20735//23334 20654//23317 +f 21223//23316 22950//23333 20654//23317 +f 3469//23335 14145//23318 20654//23317 +f 20735//23334 3469//23335 20654//23317 +f 3469//23335 21773//23336 21774//23319 +f 14145//23318 3469//23335 21774//23319 +f 21479//23337 21480//23320 21774//23319 +f 21773//23336 21479//23337 21774//23319 +f 23152//23338 23444//23321 21480//23320 +f 21479//23337 23152//23338 21480//23320 +f 23152//23338 14049//23339 13053//23322 +f 23444//23321 23152//23338 13053//23322 +f 14049//23339 23433//23340 23336//23323 +f 13053//23322 14049//23339 23336//23323 +f 23433//23340 21870//23341 21775//23324 +f 23336//23323 23433//23340 21775//23324 +f 21870//23341 20198//23342 23435//23325 +f 21775//23324 21870//23341 23435//23325 +f 20198//23342 21860//23343 20038//23326 +f 23435//23325 20198//23342 20038//23326 +f 21860//23343 21676//23344 20055//23327 +f 20038//23326 21860//23343 20055//23327 +f 21676//23344 13993//23345 5597//23328 +f 20055//23327 21676//23344 5597//23328 +f 13993//23345 20650//23346 20651//23329 +f 5597//23328 13993//23345 20651//23329 +f 20650//23346 9625//23347 10983//23330 +f 20651//23329 20650//23346 10983//23330 +f 9625//23347 20148//20660 22336//23331 +f 10983//23330 9625//23347 22336//23331 +f 20148//20660 20069//19268 20068//23332 +f 22336//23331 20148//20660 20068//23332 +f 14583//411 14505//1358 14584//405 +f 35586//331 35631//7552 35422//3047 +f 35440//4599 35876//199 35942//17652 +f 24557//23109 25979//23110 16931//20087 +f 26216//16555 25296//23280 24882//16556 +f 20734//23348 20735//23334 22950//23333 +f 17258//2289 27866//16615 12423//2290 +f 21571//23349 3469//23335 20735//23334 +f 20734//23348 21571//23349 20735//23334 +f 21316//23350 21773//23336 3469//23335 +f 21571//23349 21316//23350 3469//23335 +f 21316//23350 21399//23351 21479//23337 +f 21773//23336 21316//23350 21479//23337 +f 23054//23352 23152//23338 21479//23337 +f 21399//23351 23054//23352 21479//23337 +f 23054//23352 21417//23353 14049//23339 +f 23152//23338 23054//23352 14049//23339 +f 21417//23353 23432//23354 23433//23340 +f 14049//23339 21417//23353 23433//23340 +f 23432//23354 13786//23355 21870//23341 +f 23433//23340 23432//23354 21870//23341 +f 13786//23355 21871//23356 20198//23342 +f 21870//23341 13786//23355 20198//23342 +f 21871//23356 20039//23357 21860//23343 +f 20198//23342 21871//23356 21860//23343 +f 20039//23357 21864//23358 21676//23344 +f 21860//23343 20039//23357 21676//23344 +f 21864//23358 4919//23359 13993//23345 +f 21676//23344 21864//23358 13993//23345 +f 4919//23359 20896//23360 20650//23346 +f 13993//23345 4919//23359 20650//23346 +f 20896//23360 2213//23361 9625//23347 +f 20650//23346 20896//23360 9625//23347 +f 2213//23361 20067//20687 20148//20660 +f 9625//23347 2213//23361 20148//20660 +f 18545//16925 18642//16977 18641//4267 +f 18395//22523 17916//22524 19476//22591 +f 19993//23362 20498//17258 16612//16293 +f 20148//20660 20067//20687 19890//20659 +f 24883//23298 24651//23363 23995//23364 +f 20746//23365 25016//15481 24837//23366 +f 13124//14033 26090//14315 14332//18359 +f 22257//23367 20734//23348 21494//23368 +f 22248//23369 22257//23367 21494//23368 +f 21786//23370 21571//23349 20734//23348 +f 22257//23367 21786//23370 20734//23348 +f 21228//23371 21316//23350 21571//23349 +f 21786//23370 21228//23371 21571//23349 +f 21228//23371 21478//23372 21399//23351 +f 21316//23350 21228//23371 21399//23351 +f 22955//23373 23054//23352 21399//23351 +f 21478//23372 22955//23373 21399//23351 +f 22955//23373 21327//23374 21417//23353 +f 23054//23352 22955//23373 21417//23353 +f 21327//23374 23238//23375 23432//23354 +f 21417//23353 21327//23374 23432//23354 +f 23238//23375 203//23376 13786//23355 +f 23432//23354 23238//23375 13786//23355 +f 203//23376 21591//23377 21871//23356 +f 13786//23355 203//23376 21871//23356 +f 21591//23377 21861//23378 20039//23357 +f 21871//23356 21591//23377 20039//23357 +f 21861//23378 21310//23379 21864//23358 +f 20039//23357 21861//23378 21864//23358 +f 21310//23379 20061//23380 4919//23359 +f 21864//23358 21310//23379 4919//23359 +f 20061//23380 20976//23381 20896//23360 +f 4919//23359 20061//23380 20896//23360 +f 20976//23381 2656//20688 2213//23361 +f 20896//23360 20976//23381 2213//23361 +f 2656//20688 20233//20689 20067//20687 +f 2213//23361 2656//20688 20067//20687 +f 26788//23382 26789//23383 24268//23384 +f 17915//18994 20067//20687 20233//20689 +f 3928//13837 14974//18402 15478//18401 +f 25075//22705 25482//23385 25074//23386 +f 24244//14650 24957//17624 24172//17107 +f 24882//16556 24883//23298 23995//23364 +f 25820//23387 20746//23365 24837//23366 +f 24837//23366 25016//15481 24779//20240 +f 22353//23388 22257//23367 22248//23369 +f 13083//21560 22353//23388 22248//23369 +f 14047//23389 21786//23370 22257//23367 +f 22353//23388 14047//23389 22257//23367 +f 21141//23390 21228//23371 21786//23370 +f 14047//23389 21141//23390 21786//23370 +f 21141//23390 21477//23391 21478//23372 +f 21228//23371 21141//23390 21478//23372 +f 21477//23391 22855//23392 22955//23373 +f 21478//23372 21477//23391 22955//23373 +f 22855//23392 21238//23393 21327//23374 +f 22955//23373 22855//23392 21327//23374 +f 21238//23393 23335//23394 23238//23375 +f 21327//23374 21238//23393 23238//23375 +f 23335//23394 20982//23395 203//23376 +f 23238//23375 23335//23394 203//23376 +f 20982//23395 22547//23396 21591//23377 +f 203//23376 20982//23395 21591//23377 +f 22547//23396 20040//23397 21861//23378 +f 21591//23377 22547//23396 21861//23378 +f 20040//23397 20056//23398 21310//23379 +f 21861//23378 20040//23397 21310//23379 +f 20056//23398 20567//23399 20061//23380 +f 21310//23379 20056//23398 20061//23380 +f 20567//23399 21059//23400 20976//23381 +f 20061//23380 20567//23399 20976//23381 +f 21059//23400 13006//18826 2656//20688 +f 20976//23381 21059//23400 2656//20688 +f 21980//20475 16335//19315 16334//15886 +f 1976//15866 19700//1900 15601//103 +f 22734//23401 22729//23402 21385//1992 +f 13006//18826 18797//18825 2656//20688 +f 27902//23403 15215//22223 29491//23404 +f 34482//23405 19100//11276 27032//22828 +f 23763//23406 24703//23407 24910//23408 +f 20969//23409 13083//21560 22247//21559 +f 14516//23410 20969//23409 22247//21559 +f 22451//23411 22353//23388 13083//21560 +f 20969//23409 22451//23411 13083//21560 +f 21031//23412 14047//23389 22353//23388 +f 22451//23411 21031//23412 22353//23388 +f 20565//23413 21141//23390 14047//23389 +f 21031//23412 20565//23413 14047//23389 +f 20565//23413 20119//23414 21477//23391 +f 21141//23390 20565//23413 21477//23391 +f 20119//23414 13851//23415 22855//23392 +f 21477//23391 20119//23414 22855//23392 +f 13851//23415 20658//23416 21238//23393 +f 22855//23392 13851//23415 21238//23393 +f 20658//23416 23139//23417 23335//23394 +f 21238//23393 20658//23416 23335//23394 +f 23139//23417 9417//23418 20982//23395 +f 23335//23394 23139//23417 20982//23395 +f 9417//23418 21966//23419 22547//23396 +f 20982//23395 9417//23418 22547//23396 +f 21966//23419 21398//23420 20040//23397 +f 22547//23396 21966//23419 20040//23397 +f 21398//23420 21677//23421 20056//23398 +f 20040//23397 21398//23420 20056//23398 +f 21677//23421 20730//23422 20567//23399 +f 20056//23398 21677//23421 20567//23399 +f 20730//23422 21318//23423 21059//23400 +f 20567//23399 20730//23422 21059//23400 +f 21318//23423 20134//2545 13006//18826 +f 21059//23400 21318//23423 13006//18826 +f 20722//16146 20723//14309 18273//7272 +f 21331//23424 21243//23425 6409//23426 +f 20840//17401 20839//23427 20756//15582 +f 20642//16588 20641//16587 20559//19238 +f 19435//2547 13006//18826 20134//2545 +f 21308//14246 23026//23428 14516//23410 +f 32251//23429 29687//5313 27896//5312 +f 20970//23430 20969//23409 14516//23410 +f 23026//23428 20970//23430 14516//23410 +f 23040//23431 22451//23411 20969//23409 +f 20970//23430 23040//23431 20969//23409 +f 20786//23432 21031//23412 22451//23411 +f 23040//23431 20786//23432 22451//23411 +f 20140//23433 20565//23413 21031//23412 +f 20786//23432 20140//23433 21031//23412 +f 20140//23433 20118//23434 20119//23414 +f 20565//23413 20140//23433 20119//23414 +f 20118//23434 13949//23435 13851//23415 +f 20119//23414 20118//23434 13851//23415 +f 13949//23435 20151//23436 20658//23416 +f 13851//23415 13949//23435 20658//23416 +f 20151//23436 22352//23437 23139//23417 +f 20658//23416 20151//23436 23139//23417 +f 22352//23437 20900//23438 9417//23418 +f 23139//23417 22352//23437 9417//23418 +f 20900//23438 21684//23439 21966//23419 +f 9417//23418 20900//23438 21966//23419 +f 21684//23439 21387//23440 21398//23420 +f 21966//23419 21684//23439 21398//23420 +f 21387//23440 21960//23441 21677//23421 +f 21398//23420 21387//23440 21677//23421 +f 21960//23441 21229//23442 20730//23422 +f 21677//23421 21960//23441 20730//23422 +f 21229//23442 21408//9117 21318//23423 +f 20730//23422 21229//23442 21318//23423 +f 18450//7044 18545//16925 18449//17428 +f 19643//21472 21411//23443 20398//21529 +f 29635//18603 22384//23444 29496//17529 +f 20596//23445 20678//17521 24306//15546 +f 21386//16238 22734//23401 21385//1992 +f 14059//23446 12469//16439 16486//19316 +f 18913//19613 21866//23447 21961//23448 +f 15198//23449 23026//23428 21308//14246 +f 21956//23450 15198//23449 21308//14246 +f 20971//23451 20970//23430 23026//23428 +f 15198//23449 20971//23451 23026//23428 +f 16936//23452 23040//23431 20970//23430 +f 20971//23451 16936//23452 20970//23430 +f 20192//23453 20786//23432 23040//23431 +f 16936//23452 20192//23453 23040//23431 +f 20192//23453 21312//23454 20140//23433 +f 20786//23432 20192//23453 20140//23433 +f 21312//23454 20117//23455 20118//23434 +f 20140//23433 21312//23454 20118//23434 +f 20117//23455 3346//23456 13949//23435 +f 20118//23434 20117//23455 13949//23435 +f 3346//23456 15407//23457 20151//23436 +f 13949//23435 3346//23456 20151//23436 +f 15407//23457 22256//23458 22352//23437 +f 20151//23436 15407//23457 22352//23437 +f 22256//23458 20980//23459 20900//23438 +f 22352//23437 22256//23458 20900//23438 +f 20980//23459 20566//23460 21684//23439 +f 20900//23438 20980//23459 21684//23439 +f 20566//23460 21686//23461 21387//23440 +f 21684//23439 20566//23460 21387//23440 +f 21686//23461 22246//23462 21960//23441 +f 21387//23440 21686//23461 21960//23441 +f 22246//23462 21317//15519 21229//23442 +f 21960//23441 22246//23462 21229//23442 +f 24268//23384 24351//23463 26788//23382 +f 21229//23442 21317//15519 21408//9117 +f 13432//12508 13856//754 126//12509 +f 35733//5469 35879//1611 35351//6861 +f 20132//1914 11280//906 13341//9032 +f 2791//4745 13426//4136 21765//4135 +f 19363//17117 20674//2713 29828//2364 +f 35517//2933 35591//6447 35478//977 +f 14521//23464 15198//23449 21956//23450 +f 21955//23465 14521//23464 21956//23450 +f 21586//23466 20971//23451 15198//23449 +f 14521//23464 21586//23466 15198//23449 +f 15605//23467 16936//23452 20971//23451 +f 21586//23466 15605//23467 20971//23451 +f 21881//23468 20192//23453 16936//23452 +f 15605//23467 21881//23468 16936//23452 +f 21881//23468 9890//23469 21312//23454 +f 20192//23453 21881//23468 21312//23454 +f 9890//23469 20116//23470 20117//23455 +f 21312//23454 9890//23469 20117//23455 +f 20116//23470 22755//23471 3346//23456 +f 20117//23455 20116//23470 3346//23456 +f 22755//23471 15157//23472 15407//23457 +f 3346//23456 22755//23471 15407//23457 +f 15157//23472 21060//23473 22256//23458 +f 15407//23457 15157//23472 22256//23458 +f 21060//23473 22746//23474 20980//23459 +f 22256//23458 21060//23473 20980//23459 +f 22746//23474 22657//23475 20566//23460 +f 20980//23459 22746//23474 20566//23460 +f 22657//23475 21388//23476 21686//23461 +f 20566//23460 22657//23475 21686//23461 +f 21388//23476 20057//23477 22246//23462 +f 21686//23461 21388//23476 22246//23462 +f 20057//23477 21407//15518 21317//15519 +f 22246//23462 20057//23477 21317//15519 +f 17695//17824 17600//6425 17601//3171 +f 35613//14035 35490//2773 35895//8006 +f 21498//904 20486//2944 16011//905 +f 15093//17828 30024//17827 3983//23478 +f 13498//23479 21698//12348 21675//12347 +f 21410//9834 22846//12693 22828//23480 +f 23147//23481 18418//11035 23439//23482 +f 10407//13371 10528//12603 10526//14484 +f 16792//726 19019//898 19761//884 +f 23438//23483 14521//23464 21955//23465 +f 23147//23481 23341//23484 19762//20948 +f 21680//23485 21586//23466 14521//23464 +f 23438//23483 21680//23485 14521//23464 +f 20573//23486 15605//23467 21586//23466 +f 21680//23485 20573//23486 21586//23466 +f 21976//23487 21881//23468 15605//23467 +f 20573//23486 21976//23487 15605//23467 +f 21976//23487 13464//23488 9890//23469 +f 21881//23468 21976//23487 9890//23469 +f 13464//23488 12966//23489 20116//23470 +f 9890//23469 13464//23488 20116//23470 +f 12966//23489 22558//23490 22755//23471 +f 20116//23470 12966//23489 22755//23471 +f 22558//23490 14051//23491 15157//23472 +f 22755//23471 22558//23490 15157//23472 +f 14051//23491 20815//23492 21060//23473 +f 15157//23472 14051//23491 21060//23473 +f 20815//23492 20898//23493 22746//23474 +f 21060//23473 20815//23492 22746//23474 +f 20898//23493 20729//23494 22657//23475 +f 22746//23474 20898//23493 22657//23475 +f 20729//23494 21957//23495 21388//23476 +f 22657//23475 20729//23494 21388//23476 +f 21957//23495 21678//23496 20057//23477 +f 21388//23476 21957//23495 20057//23477 +f 21678//23496 21965//16482 21407//15518 +f 20057//23477 21678//23496 21407//15518 +f 5075//16515 25995//23497 4670//16513 +f 28238//22462 28239//15230 25292//17817 +f 14240//15820 15092//6453 11107//2422 +f 15734//7475 15464//7127 13946//17271 +f 5338//17108 4664//14680 12558//14355 +f 24304//786 25112//15027 24303//787 +f 17990//22673 23127//22674 23225//15265 +f 30806//16259 35848//16143 30692//23498 +f 27722//23499 21163//23260 27837//23262 +f 27497//16145 11513//13826 6981//23500 +f 23341//23484 23438//23483 19762//20948 +f 22249//23501 21680//23485 23438//23483 +f 23341//23484 22249//23501 23438//23483 +f 20736//23502 20573//23486 21680//23485 +f 22249//23501 20736//23502 21680//23485 +f 22072//23503 21976//23487 20573//23486 +f 20736//23502 22072//23503 20573//23486 +f 22072//23503 5461//23504 13464//23488 +f 21976//23487 22072//23503 13464//23488 +f 5461//23504 20115//23505 12966//23489 +f 13464//23488 5461//23504 12966//23489 +f 20115//23505 22557//23506 22558//23490 +f 12966//23489 20115//23505 22558//23490 +f 22557//23506 21151//23507 14051//23491 +f 22558//23490 22557//23506 14051//23491 +f 21151//23507 20733//23508 20815//23492 +f 14051//23491 21151//23507 20815//23492 +f 20733//23508 20978//23509 20898//23493 +f 20815//23492 20733//23508 20898//23493 +f 20978//23509 22060//23510 20729//23494 +f 20898//23493 20978//23509 20729//23494 +f 22060//23510 21210//23511 21957//23495 +f 20729//23494 22060//23510 21957//23495 +f 21210//23511 21866//23447 21678//23496 +f 21957//23495 21210//23511 21678//23496 +f 23217//15290 18699//16441 23216//14753 +f 21678//23496 21866//23447 21965//16482 +f 12362//18666 21401//16676 20812//7854 +f 20128//19909 20127//17475 17508//17081 +f 29134//12345 29135//12344 28753//21390 +f 20560//3180 20642//16588 20559//19238 +f 148//21344 21493//21282 19413//18467 +f 16357//18371 19438//21002 18145//17431 +f 20129//23512 20128//19909 17508//17081 +f 21489//3258 35548//3260 7081//6401 +f 23243//23513 23341//23484 23147//23481 +f 23439//23482 23243//23513 23147//23481 +f 22346//23514 22249//23501 23341//23484 +f 23243//23513 22346//23514 23341//23484 +f 22346//23514 21149//23515 20736//23502 +f 22249//23501 22346//23514 20736//23502 +f 21149//23515 22168//23516 22072//23503 +f 20736//23502 21149//23515 22072//23503 +f 22168//23516 13902//23517 5461//23504 +f 22072//23503 22168//23516 5461//23504 +f 13902//23517 20114//23518 20115//23505 +f 5461//23504 13902//23517 20115//23505 +f 20114//23518 22459//23519 22557//23506 +f 20115//23505 20114//23518 22557//23506 +f 22459//23519 20738//23520 21151//23507 +f 22557//23506 22459//23519 21151//23507 +f 20738//23520 20652//23521 20733//23508 +f 21151//23507 20738//23520 20733//23508 +f 20652//23521 22447//23522 20978//23509 +f 20733//23508 20652//23521 20978//23509 +f 22447//23522 22061//23523 22060//23510 +f 20978//23509 22447//23522 22060//23510 +f 22061//23523 21389//23524 21210//23511 +f 22060//23510 22061//23523 21210//23511 +f 21389//23524 21961//23448 21866//23447 +f 21210//23511 21389//23524 21866//23447 +f 20723//14309 951//10136 20724//3766 +f 21866//23447 18913//19613 21965//16482 +f 21299//16880 21390//19714 17895//16879 +f 12895//9109 13273//17596 21593//17597 +f 25114//18578 20671//18268 20672//22580 +f 18492//15264 19428//22748 23225//15265 +f 21043//23222 21129//21944 21042//17573 +f 14247//15973 29539//15972 14044//23215 +f 19338//22159 14935//19470 15486//308 +f 33//9662 8896//7944 10590//9663 +f 21408//9117 18615//19131 21318//23423 +f 21401//16676 21765//4135 20065//16677 +f 20305//18602 20390//15628 20304//15727 +f 20106//4582 20309//4581 19712//22740 +f 19322//22492 22628//21530 22529//14789 +f 16156//17594 15733//2810 23325//14102 +f 19366//15319 18869//17030 21770//17774 +f 16463//16608 14380//22730 18119//16609 +f 19538//3772 18418//11035 23147//23481 +f 21627//22116 28555//10762 28684//6183 +f 23145//23525 23243//23513 23439//23482 +f 23342//19688 23145//23525 23439//23482 +f 12139//23526 22346//23514 23243//23513 +f 23145//23525 12139//23526 23243//23513 +f 22549//23527 21149//23515 22346//23514 +f 12139//23526 22549//23527 22346//23514 +f 22549//23527 11721//23528 22168//23516 +f 21149//23515 22549//23527 22168//23516 +f 11721//23528 4506//23529 13902//23517 +f 22168//23516 11721//23528 13902//23517 +f 4506//23529 20113//23530 20114//23518 +f 13902//23517 4506//23529 20114//23518 +f 20113//23530 21790//23531 22459//23519 +f 20114//23518 20113//23530 22459//23519 +f 21790//23531 20150//23532 20738//23520 +f 22459//23519 21790//23531 20738//23520 +f 20150//23532 20401//23533 20652//23521 +f 20738//23520 20150//23532 20652//23521 +f 20401//23533 22545//23534 22447//23522 +f 20652//23521 20401//23533 22447//23522 +f 22545//23534 20582//23535 22061//23523 +f 22447//23522 22545//23534 22061//23523 +f 20582//23535 1450//23536 21389//23524 +f 22061//23523 20582//23535 21389//23524 +f 1450//23536 21865//16878 21961//23448 +f 21389//23524 1450//23536 21961//23448 +f 20106//4582 20618//7851 20617//9539 +f 21040//9147 21041//15780 18648//19883 +f 20638//1651 20719//1650 20637//23537 +f 17420//17079 17508//17081 17419//22151 +f 24651//23363 24600//23538 24720//23539 +f 24772//23540 12276//23541 23609//23542 +f 23995//23364 24651//23363 24720//23539 +f 24879//23543 25451//23544 20515//23545 +f 24876//23546 24879//23543 20515//23545 +f 35836//6310 35692//6817 35622//1164 +f 35191//7174 7001//13101 35190//23547 +f 26328//23548 26329//16791 24660//23549 +f 21074//23550 12009//23551 23680//23552 +f 1538//23553 25380//23554 22531//23555 +f 26173//23556 26174//16433 26314//16551 +f 5467//16073 9013//16072 14091//17319 +f 23593//23557 20748//23558 25364//23559 +f 26458//17325 26253//3786 26555//3785 +f 6790//10764 11976//9906 8868//10765 +f 25252//23560 23277//23561 21245//23562 +f 4383//23563 24017//16168 24818//23564 +f 13298//14679 2230//23565 4664//14680 +f 11386//777 16769//23566 3929//6031 +f 18359//15293 19492//7379 19638//16148 +f 20308//14591 17705//19809 20393//17668 +f 15075//15498 15609//14681 5338//17108 +f 13472//23567 13666//16338 12172//17612 +f 23214//23568 23312//23569 23213//15706 +f 33231//13869 7523//20011 7522//13870 +f 21579//9110 4908//15821 13424//16967 +f 11513//13826 28137//13825 6981//23500 +f 19363//17117 21050//20477 23129//17118 +f 19012//8529 18913//19613 21865//16878 +f 21954//23570 23342//19688 20949//17119 +f 23129//17118 21954//23570 20949//17119 +f 23047//23571 23145//23525 23342//19688 +f 21954//23570 23047//23571 23342//19688 +f 22951//23572 12139//23526 23145//23525 +f 23047//23571 22951//23572 23145//23525 +f 22649//23573 22549//23527 12139//23526 +f 22951//23572 22649//23573 12139//23526 +f 22649//23573 22265//23574 11721//23528 +f 22549//23527 22649//23573 11721//23528 +f 22265//23574 22153//23575 4506//23529 +f 11721//23528 22265//23574 4506//23529 +f 22153//23575 20112//23576 20113//23530 +f 4506//23529 22153//23575 20113//23530 +f 20112//23576 21789//23577 21790//23531 +f 20113//23530 20112//23576 21790//23531 +f 21789//23577 21763//23578 20150//23532 +f 21790//23531 21789//23577 20150//23532 +f 21763//23578 20145//23579 20401//23533 +f 20150//23532 21763//23578 20401//23533 +f 20145//23579 22644//23580 22545//23534 +f 20401//23533 20145//23579 22545//23534 +f 22644//23580 15342//23581 20582//23535 +f 22545//23534 22644//23580 20582//23535 +f 15342//23581 21299//16880 1450//23536 +f 20582//23535 15342//23581 1450//23536 +f 19430//22993 22460//22992 22652//15953 +f 1450//23536 21299//16880 21865//16878 +f 16614//16169 20193//4580 20136//19424 +f 20778//11040 18345//22433 18440//16591 +f 20280//14771 20281//2431 21120//18289 +f 20492//23582 21301//16310 21300//23583 +f 24600//23538 23613//23584 24672//23585 +f 24720//23539 24600//23538 24672//23585 +f 24140//23586 25580//23587 24672//23585 +f 23613//23584 24140//23586 24672//23585 +f 21070//23588 24551//23589 25580//23587 +f 24140//23586 21070//23588 25580//23587 +f 25336//17007 24788//17017 13894//23590 +f 24530//23591 23804//23592 24551//23589 +f 25033//23593 25968//23594 24377//23595 +f 25335//23596 25336//17007 13894//23590 +f 23544//23157 23663//15920 24569//16017 +f 24723//23597 23268//23598 23556//23599 +f 25164//23600 26209//23601 25536//21078 +f 26555//3785 23927//3784 26556//23602 +f 26175//16432 26316//23603 26315//16552 +f 20660//23604 21074//23550 23680//23552 +f 34685//23605 34684//23606 34556//23607 +f 35614//4444 35371//10037 35580//9551 +f 26178//23608 26179//16639 26319//23609 +f 23639//23610 24887//23611 20268//23612 +f 26179//16639 26320//23613 26319//23609 +f 16924//23614 23157//23615 15602//17224 +f 24818//23564 24696//15478 25300//23616 +f 25862//19984 24081//23617 24414//19199 +f 15674//18774 25190//18831 15811//18734 +f 19122//6099 954//5881 955//6161 +f 3584//598 3929//6031 9395//23618 +f 24388//23619 24458//23620 26213//23621 +f 16926//23622 16927//350 13245//23623 +f 1031//568 3584//598 9395//23618 +f 15281//404 1031//568 9395//23618 +f 13245//23623 15281//404 9395//23618 +f 16014//341 16155//1741 23028//16984 +f 19984//23624 24533//23625 24273//23626 +f 17981//16528 20374//16959 20457//16526 +f 32199//4568 32300//17949 32198//16119 +f 14620//7440 13559//15934 16038//7441 +f 21050//20477 20155//23627 23129//17118 +f 22357//20478 21050//20477 19363//17117 +f 21858//23628 21954//23570 23129//17118 +f 20155//23627 21858//23628 23129//17118 +f 21858//23628 22948//23629 23047//23571 +f 21954//23570 21858//23628 23047//23571 +f 22851//23630 22951//23572 23047//23571 +f 22948//23629 22851//23630 23047//23571 +f 16012//23631 22649//23573 22951//23572 +f 22851//23630 16012//23631 22951//23572 +f 16012//23631 22361//23632 22265//23574 +f 22649//23573 16012//23631 22265//23574 +f 22361//23632 21679//23633 22153//23575 +f 22265//23574 22361//23632 22153//23575 +f 21679//23633 20111//23634 20112//23576 +f 22153//23575 21679//23633 20112//23576 +f 20111//23634 21696//23635 21789//23577 +f 20112//23576 20111//23634 21789//23577 +f 21696//23635 12806//23636 21763//23578 +f 21789//23577 21696//23635 21763//23578 +f 12806//23636 20133//23637 20145//23579 +f 21763//23578 12806//23636 20145//23579 +f 20133//23637 23431//23638 22644//23580 +f 20145//23579 20133//23637 22644//23580 +f 23431//23638 20811//20971 15342//23581 +f 22644//23580 23431//23638 15342//23581 +f 20811//20971 21390//19714 21299//16880 +f 15342//23581 20811//20971 21299//16880 +f 20064//23639 20485//672 6118//671 +f 19822//19259 19412//22798 32568//19257 +f 13085//16295 16614//16169 20136//19424 +f 20193//4580 20106//4582 20105//9538 +f 5417//17772 14346//23640 11122//4743 +f 21415//7853 21416//7852 22926//12692 +f 21070//23588 24530//23591 24551//23589 +f 382//7382 381//7285 17631//21314 +f 24530//23591 24413//23641 24329//23642 +f 24427//2747 24621//23167 24467//23223 +f 24321//23643 22883//23644 22882//23645 +f 24967//23646 1521//23647 24580//15480 +f 24111//1927 24467//23223 24433//23648 +f 25581//15851 25583//23649 23349//16054 +f 12021//12035 27318//17658 27317//3168 +f 23949//23650 26255//23651 26115//23652 +f 24367//23653 24706//23654 24200//23655 +f 22531//23555 12108//23656 23059//23657 +f 24611//23658 23949//23650 26115//23652 +f 20843//23659 14154//23660 25510//23661 +f 26056//23662 23858//23663 24730//23664 +f 25602//23665 16917//656 25603//16155 +f 7657//11514 7772//6018 482//5733 +f 26320//23613 24629//16643 23772//23666 +f 25370//17392 20751//23667 20750//17393 +f 22756//23668 263//23669 23879//23670 +f 21538//17626 25631//17671 24949//17192 +f 23922//23671 263//23669 22756//23668 +f 25300//23616 23922//23671 22756//23668 +f 24309//23672 20430//23673 23718//23674 +f 263//23669 25252//23560 23879//23670 +f 24358//23675 25727//23676 24161//23677 +f 19140//23678 19984//23624 12538//23679 +f 24458//23620 23434//23680 26213//23621 +f 24260//23681 11691//23682 24388//23619 +f 15032//342 16014//341 16010//10190 +f 23658//23683 21056//23684 25484//23685 +f 8156//4589 15032//342 16010//10190 +f 24240//23686 25446//23687 22297//23688 +f 16010//10190 16014//341 23028//16984 +f 16155//1741 20783//1596 20784//16985 +f 23018//23689 23116//23690 23017//15772 +f 17091//23691 16453//267 16926//23622 +f 23622//23692 23655//23693 25647//23694 +f 31933//17722 31932//23695 31834//23696 +f 32532//17719 32533//23697 32641//23698 +f 21224//23699 21567//23700 20155//23627 +f 21050//20477 21224//23699 20155//23627 +f 21857//23701 21858//23628 20155//23627 +f 21567//23700 21857//23701 20155//23627 +f 22849//23702 22948//23629 21858//23628 +f 21857//23701 22849//23702 21858//23628 +f 20225//23703 22851//23630 22948//23629 +f 22849//23702 20225//23703 22948//23629 +f 20225//23703 20489//23704 16012//23631 +f 22851//23630 20225//23703 16012//23631 +f 20489//23704 22458//23705 22361//23632 +f 16012//23631 20489//23704 22361//23632 +f 22458//23705 21055//23706 21679//23633 +f 22361//23632 22458//23705 21679//23633 +f 21055//23706 20110//23707 20111//23634 +f 21679//23633 21055//23706 20111//23634 +f 20110//23707 7801//23708 21696//23635 +f 20111//23634 20110//23707 21696//23635 +f 7801//23708 3339//23709 12806//23636 +f 21696//23635 7801//23708 12806//23636 +f 3339//23709 13201//23710 20133//23637 +f 12806//23636 3339//23709 20133//23637 +f 13201//23710 20483//23711 23431//23638 +f 20133//23637 13201//23710 23431//23638 +f 20483//23711 20024//20972 20811//20971 +f 23431//23638 20483//23711 20811//20971 +f 7410//4759 7293//10393 6874//21495 +f 16170//20289 3071//21355 15624//20332 +f 13273//17596 12895//9109 22660//15574 +f 19379//9211 23422//2613 19772//9212 +f 20051//7855 20542//17584 20541//16958 +f 20498//17258 15201//16294 16612//16293 +f 12895//9109 11861//9108 22635//20127 +f 23804//23592 24530//23591 24329//23642 +f 24413//23641 24225//23712 23728//23713 +f 24329//23642 24413//23641 23728//23713 +f 24325//23714 22587//23715 23728//23713 +f 24225//23712 24325//23714 23728//23713 +f 35466//8944 35902//14823 35659//9805 +f 24325//23714 17577//22087 22587//23715 +f 31264//23716 31265//23717 31329//23718 +f 24019//23719 23726//23720 23750//16023 +f 23944//16998 22878//23721 25518//23722 +f 24775//18703 23767//23723 23758//23724 +f 25253//23725 23579//23726 24626//23727 +f 22449//23728 26004//23729 22646//23730 +f 29542//727 35633//729 35514//1077 +f 23886//23731 16025//23732 25860//23733 +f 17103//23221 14391//9544 25657//17805 +f 25246//23734 24330//23735 21661//23736 +f 23873//23134 24564//23106 25091//23108 +f 23929//23737 25803//17162 24470//17164 +f 26174//16433 26175//16432 26315//16552 +f 25212//23107 24871//15659 23920//23738 +f 25745//23739 25887//23740 25886//23741 +f 34600//23742 34478//22610 19433//22559 +f 23942//17398 13117//23743 25294//23744 +f 24436//23745 24353//23746 25096//23747 +f 21245//23562 23277//23561 12187//23748 +f 25279//17399 25294//23744 12187//23748 +f 14274//23749 12536//23750 20739//23751 +f 22592//17473 25279//17399 12187//23748 +f 30152//6462 22863//22796 22962//22797 +f 22863//22796 22764//21442 22864//21444 +f 22864//21444 22963//23752 22962//22797 +f 23061//23753 23060//23019 22962//22797 +f 23060//23019 23158//23754 30418//12520 +f 22963//23752 23061//23753 22962//22797 +f 30552//12521 23158//23754 23257//18648 +f 23061//23753 23159//23755 23060//23019 +f 20394//16613 17705//19809 17706//20891 +f 23159//23755 23257//18648 23158//23754 +f 24131//23756 24840//23757 24839//23758 +f 23452//23759 30819//23760 23354//18647 +f 12996//23761 24125//15513 25514//23762 +f 24046//23763 12361//23764 4383//23563 +f 16927//350 15281//404 13245//23623 +f 23028//16984 16155//1741 20784//16985 +f 28751//15491 28884//15490 23780//23765 +f 16453//267 16927//350 16926//23622 +f 25647//23694 28108//23766 24831//16573 +f 24230//6061 19251//23767 19570//6059 +f 33997//6041 33996//6043 33861//3615 +f 31555//15698 31554//13860 26617//12473 +f 21138//23768 21597//23769 21567//23700 +f 21224//23699 21138//23768 21567//23700 +f 21856//23770 21857//23701 21567//23700 +f 21597//23769 21856//23770 21567//23700 +f 22749//23771 22849//23702 21857//23701 +f 21856//23770 22749//23771 21857//23701 +f 21054//23772 20225//23703 22849//23702 +f 22749//23771 21054//23772 22849//23702 +f 21054//23772 20737//23773 20489//23704 +f 20225//23703 21054//23772 20489//23704 +f 20737//23773 22556//23774 22458//23705 +f 20489//23704 20737//23773 22458//23705 +f 22556//23774 20972//23775 21055//23706 +f 22458//23705 22556//23774 21055//23706 +f 20972//23775 21406//23776 20110//23707 +f 21055//23706 20972//23775 20110//23707 +f 21406//23776 22656//23777 7801//23708 +f 20110//23707 21406//23776 7801//23708 +f 22656//23777 13278//23778 3339//23709 +f 7801//23708 22656//23777 3339//23709 +f 13278//23778 23041//23779 13201//23710 +f 3339//23709 13278//23778 13201//23710 +f 23041//23779 20568//23780 20483//23711 +f 13201//23710 23041//23779 20483//23711 +f 23332//20984 20024//20972 20483//23711 +f 20568//23780 23332//20984 20483//23711 +f 19211//19713 20024//20972 23332//20984 +f 27032//22828 18509//22818 18724//22732 +f 20048//23781 20049//2257 20534//16968 +f 18514//16157 23332//20984 20052//21001 +f 20307//23782 20308//14591 20392//1906 +f 3539//16281 4953//17633 14335//693 +f 23726//23720 20905//20578 20906//22550 +f 24127//23783 25039//17227 22466//23784 +f 25445//16035 25444//16037 24823//23785 +f 24580//15480 1521//23647 25209//23786 +f 25166//23787 24498//23788 1999//23789 +f 23586//23790 24842//130 23509//129 +f 25979//23110 26121//23791 21335//15479 +f 25233//23792 24897//23793 25006//23794 +f 35585//10970 35861//10969 35526//8175 +f 26034//23795 26176//23796 26175//16432 +f 1521//23647 24321//23643 25209//23786 +f 34413//3131 34412//4763 34274//23797 +f 26033//16431 26034//23795 26175//16432 +f 25878//23798 25879//15699 26020//23799 +f 25301//23800 23874//23801 263//23669 +f 6845//21041 23073//21040 2953//22729 +f 25594//23802 25595//4274 25736//23803 +f 22082//21720 22178//23804 22177//21721 +f 29214//22345 22177//21721 22273//23805 +f 22178//23804 22274//21605 22273//23805 +f 22274//21605 29352//21607 22273//23805 +f 22274//21605 22371//23806 22370//21606 +f 22468//23807 22370//21606 22371//23806 +f 22371//23806 22469//23808 22468//23807 +f 22468//23807 22469//23808 22567//21973 +f 22469//23808 22568//23809 22567//21973 +f 22567//21973 22666//17704 29761//17706 +f 22568//23809 22667//23810 22666//17704 +f 22765//21443 22666//17704 22667//23810 +f 22667//23810 22766//23811 22765//21443 +f 22765//21443 22764//21442 29890//17705 +f 22865//23812 22864//21444 22765//21443 +f 22766//23811 22865//23812 22765//21443 +f 22964//23813 22963//23752 22864//21444 +f 22865//23812 22964//23813 22864//21444 +f 23062//23814 23061//23753 22963//23752 +f 22964//23813 23062//23814 22963//23752 +f 23160//23815 23159//23755 23061//23753 +f 23062//23814 23160//23815 23061//23753 +f 23258//23816 23257//18648 23159//23755 +f 23160//23815 23258//23816 23159//23755 +f 23355//23817 23354//18647 23257//18648 +f 23258//23816 23355//23817 23257//18648 +f 13197//23818 24006//23819 2923//23820 +f 18517//23821 23452//23759 13527//23822 +f 23799//23823 25068//23824 20515//23545 +f 18517//23821 30819//23760 23452//23759 +f 5829//23825 5557//224 17091//23691 +f 25998//17098 25445//16035 24823//23785 +f 4949//16957 15638//4747 20327//1474 +f 6875//2146 19094//2144 30339//17708 +f 18064//20550 18155//20549 18063//22427 +f 22262//23826 21225//15903 21138//23768 +f 33862//3614 33997//6041 33861//3615 +f 21225//15903 21691//23827 21597//23769 +f 21138//23768 21225//15903 21597//23769 +f 21760//23828 21856//23770 21597//23769 +f 21691//23827 21760//23828 21597//23769 +f 22650//23829 22749//23771 21856//23770 +f 21760//23828 22650//23829 21856//23770 +f 13657//23830 21054//23772 22749//23771 +f 22650//23829 13657//23830 22749//23771 +f 13657//23830 21150//23831 20737//23773 +f 21054//23772 13657//23830 20737//23773 +f 21150//23831 22655//23832 22556//23774 +f 20737//23773 21150//23831 22556//23774 +f 22655//23832 20892//23833 20972//23775 +f 22556//23774 22655//23832 20972//23775 +f 20892//23833 20482//23834 21406//23776 +f 20972//23775 20892//23833 21406//23776 +f 20482//23834 22362//23835 22656//23777 +f 21406//23776 20482//23834 22656//23777 +f 22362//23835 14325//23836 13278//23778 +f 22656//23777 22362//23835 13278//23778 +f 14325//23836 22942//23837 23041//23779 +f 13278//23778 14325//23836 23041//23779 +f 22942//23837 20649//23838 20568//23780 +f 23041//23779 22942//23837 20568//23780 +f 20649//23838 20052//21001 23332//20984 +f 20568//23780 20649//23838 23332//20984 +f 17937//12697 17755//22314 22925//12698 +f 22820//354 22919//23839 22819//579 +f 30153//11966 19799//8469 19801//13620 +f 20216//17642 20215//1406 20130//17643 +f 19019//898 16792//726 26//725 +f 22846//12693 22926//12692 13498//23479 +f 13270//23840 26288//8729 24469//23841 +f 21516//23842 24098//23843 23882//23844 +f 26108//23845 24960//23846 12190//23847 +f 24748//23848 24127//23783 22466//23784 +f 25639//23849 25632//16582 24523//16581 +f 25749//23850 25750//23851 25891//23852 +f 12192//19532 13270//23840 24285//21744 +f 25608//10186 25750//23851 25749//23850 +f 25607//3396 25608//10186 25749//23850 +f 25892//23853 26034//23795 26033//16431 +f 25750//23851 25892//23853 25891//23852 +f 26176//23796 26317//23854 26316//23603 +f 25891//23852 25892//23853 26033//16431 +f 16441//2282 16440//2618 25616//2283 +f 26175//16432 26176//23796 26316//23603 +f 21986//23855 21891//21912 21892//23856 +f 26163//23857 26304//23858 26303//23859 +f 21892//23856 21987//23860 21986//23855 +f 18425//21789 5892//2631 6024//2630 +f 21987//23860 22083//23861 22082//21720 +f 21986//23855 21987//23860 22082//21720 +f 22083//23861 22179//23862 22178//23804 +f 22082//21720 22083//23861 22178//23804 +f 22179//23862 22275//23863 22274//21605 +f 22178//23804 22179//23862 22274//21605 +f 22275//23863 22372//23864 22371//23806 +f 22274//21605 22275//23863 22371//23806 +f 22372//23864 22470//23865 22469//23808 +f 22371//23806 22372//23864 22469//23808 +f 22470//23865 22569//23866 22568//23809 +f 22469//23808 22470//23865 22568//23809 +f 22569//23866 22668//23867 22667//23810 +f 22568//23809 22569//23866 22667//23810 +f 22767//23868 22766//23811 22667//23810 +f 22668//23867 22767//23868 22667//23810 +f 22866//23869 22865//23812 22766//23811 +f 22767//23868 22866//23869 22766//23811 +f 22965//23870 22964//23813 22865//23812 +f 22866//23869 22965//23870 22865//23812 +f 23063//23871 23062//23814 22964//23813 +f 22965//23870 23063//23871 22964//23813 +f 23161//23872 23160//23815 23062//23814 +f 23063//23871 23161//23872 23062//23814 +f 23259//23873 23258//23816 23160//23815 +f 23161//23872 23259//23873 23160//23815 +f 23356//23874 23355//23817 23258//23816 +f 23259//23873 23356//23874 23258//23816 +f 23453//23875 23452//23759 23355//23817 +f 23356//23874 23453//23875 23355//23817 +f 1999//23789 23704//23876 13527//23822 +f 23453//23875 15454//23877 23452//23759 +f 25166//23787 9315//23878 1020//23879 +f 15454//23877 9315//23878 13527//23822 +f 27018//16047 27135//14905 27134//6006 +f 5557//224 16453//267 17091//23691 +f 17571//602 23244//604 18994//6339 +f 19638//16148 19492//7379 17983//7378 +f 33807//20479 32684//17923 22262//23826 +f 21225//15903 18301//15902 21691//23827 +f 5490//20913 21784//23880 18301//15902 +f 21759//23881 21760//23828 21691//23827 +f 21784//23880 21759//23881 21691//23827 +f 8582//23882 22650//23829 21760//23828 +f 21759//23881 8582//23882 21760//23828 +f 12985//23883 13657//23830 22650//23829 +f 8582//23882 12985//23883 22650//23829 +f 12985//23883 22748//23884 21150//23831 +f 13657//23830 12985//23883 21150//23831 +f 22748//23884 22754//23885 22655//23832 +f 21150//23831 22748//23884 22655//23832 +f 22754//23885 20891//23886 20892//23833 +f 22655//23832 22754//23885 20892//23833 +f 20891//23886 3882//23887 20482//23834 +f 20892//23833 20891//23886 20482//23834 +f 3882//23887 22266//23888 22362//23835 +f 20482//23834 3882//23887 22362//23835 +f 22266//23888 14050//23889 14325//23836 +f 22362//23835 22266//23888 14325//23836 +f 14050//23889 22843//23890 22942//23837 +f 14325//23836 14050//23889 22942//23837 +f 22843//23890 20731//23891 20649//23838 +f 22942//23837 22843//23890 20649//23838 +f 20731//23891 20025//21423 20052//21001 +f 20649//23838 20731//23891 20052//21001 +f 18736//262 18638//15133 18639//22047 +f 28477//5891 29955//21763 28478//21100 +f 13856//754 12362//18666 126//12509 +f 20388//5996 20387//5997 20302//17606 +f 20801//16202 20802//9146 20883//16304 +f 20534//16968 21302//16969 21301//16310 +f 24501//17939 24607//5407 20433//5406 +f 2//18907 25706//17066 25564//19445 +f 23628//23892 24699//23893 24679//23894 +f 25204//23895 24578//23896 24896//23897 +f 24895//23898 24748//23848 22466//23784 +f 26317//23854 24128//23899 22367//23900 +f 18927//23901 25372//22489 24229//23902 +f 25033//23593 23650//23903 25968//23594 +f 26316//23603 26317//23854 22367//23900 +f 26162//23904 26163//23857 26303//23859 +f 25230//17410 7004//23905 23978//23906 +f 21702//23907 28423//15586 21609//15588 +f 25488//23908 25490//23909 23891//23189 +f 21610//23910 21703//23911 21702//23907 +f 21797//23912 21702//23907 21703//23911 +f 21703//23911 21798//23913 21797//23912 +f 28675//21914 28546//23914 21797//23912 +f 21798//23913 21893//23915 21892//23856 +f 21797//23912 21798//23913 21892//23856 +f 21893//23915 21988//23916 21987//23860 +f 21892//23856 21893//23915 21987//23860 +f 21988//23916 22084//23917 22083//23861 +f 21987//23860 21988//23916 22083//23861 +f 22084//23917 22180//23918 22179//23862 +f 22083//23861 22084//23917 22179//23862 +f 22180//23918 22276//23919 22275//23863 +f 22179//23862 22180//23918 22275//23863 +f 22276//23919 22373//23920 22372//23864 +f 22275//23863 22276//23919 22372//23864 +f 22373//23920 22471//23921 22470//23865 +f 22372//23864 22373//23920 22470//23865 +f 22471//23921 22570//23922 22569//23866 +f 22470//23865 22471//23921 22569//23866 +f 22570//23922 22669//23923 22668//23867 +f 22569//23866 22570//23922 22668//23867 +f 22669//23923 22768//23924 22767//23868 +f 22668//23867 22669//23923 22767//23868 +f 22867//23925 22866//23869 22767//23868 +f 22768//23924 22867//23925 22767//23868 +f 22966//23926 22965//23870 22866//23869 +f 22867//23925 22966//23926 22866//23869 +f 23064//23927 23063//23871 22965//23870 +f 22966//23926 23064//23927 22965//23870 +f 23162//23928 23161//23872 23063//23871 +f 23064//23927 23162//23928 23063//23871 +f 23260//23929 23259//23873 23161//23872 +f 23162//23928 23260//23929 23161//23872 +f 23357//23930 23356//23874 23259//23873 +f 23260//23929 23357//23930 23259//23873 +f 23454//23931 23453//23875 23356//23874 +f 23357//23930 23454//23931 23356//23874 +f 2906//23932 15454//23877 23453//23875 +f 23454//23931 2906//23932 23453//23875 +f 1020//23879 9315//23878 15454//23877 +f 2906//23932 1020//23879 15454//23877 +f 5355//23933 15676//105 5829//23825 +f 31995//9222 31994//23934 31893//17313 +f 22628//21530 22627//17894 22528//17893 +f 12809//16434 20091//642 34343//1601 +f 18356//15294 13867//14745 15366//14710 +f 18535//19650 22924//17950 17755//22314 +f 17912//15904 21313//20912 18301//15902 +f 18301//15902 21784//23880 21691//23827 +f 21664//23935 21759//23881 21784//23880 +f 5490//20913 21664//23935 21784//23880 +f 14517//23936 8582//23882 21759//23881 +f 21664//23935 14517//23936 21759//23881 +f 20226//23937 12985//23883 8582//23882 +f 14517//23936 20226//23937 8582//23882 +f 20226//23937 22848//23938 22748//23884 +f 12985//23883 20226//23937 22748//23884 +f 22848//23938 22854//23939 22754//23885 +f 22748//23884 22848//23938 22754//23885 +f 22854//23939 20139//23940 20891//23886 +f 22754//23885 22854//23939 20891//23886 +f 20139//23940 20109//23941 3882//23887 +f 20891//23886 20139//23940 3882//23887 +f 20109//23941 22169//23942 22266//23888 +f 3882//23887 20109//23941 22266//23888 +f 22169//23942 21064//23943 14050//23889 +f 22266//23888 22169//23942 14050//23889 +f 21064//23943 22743//23944 22843//23890 +f 14050//23889 21064//23943 22843//23890 +f 22743//23944 20809//23945 20731//23891 +f 22843//23890 22743//23944 20731//23891 +f 20809//23945 23333//21053 20025//21423 +f 20731//23891 20809//23945 20025//21423 +f 18356//15294 19409//22218 19934//15360 +f 19012//8529 21865//16878 19113//8530 +f 20047//18389 20048//23781 20492//23582 +f 30760//11363 24778//23946 12921//16641 +f 13867//14745 18356//15294 19934//15360 +f 25767//22555 26247//23947 25766//1550 +f 24771//23948 24215//23949 23948//23950 +f 24655//23951 24794//1926 24350//22679 +f 24128//23899 24147//23952 24076//23953 +f 24896//23897 24895//23898 22466//23784 +f 24087//23954 16598//23955 26287//23956 +f 22367//23900 24128//23899 24076//23953 +f 28069//23957 21427//23958 28186//23959 +f 11645//2728 13696//6692 11570//13373 +f 21428//23960 21518//23961 21517//23962 +f 28303//15587 28186//23959 21517//23962 +f 21518//23961 21611//23963 21610//23910 +f 21517//23962 21518//23961 21610//23910 +f 21611//23963 21704//23964 21703//23911 +f 21610//23910 21611//23963 21703//23911 +f 21704//23964 21799//23965 21798//23913 +f 21703//23911 21704//23964 21798//23913 +f 21799//23965 21894//23966 21893//23915 +f 21798//23913 21799//23965 21893//23915 +f 21894//23966 21989//23967 21988//23916 +f 21893//23915 21894//23966 21988//23916 +f 21989//23967 22085//23968 22084//23917 +f 21988//23916 21989//23967 22084//23917 +f 22085//23968 22181//23969 22180//23918 +f 22084//23917 22085//23968 22180//23918 +f 22181//23969 22277//23970 22276//23919 +f 22180//23918 22181//23969 22276//23919 +f 22277//23970 22374//23971 22373//23920 +f 22276//23919 22277//23970 22373//23920 +f 22374//23971 22472//23972 22471//23921 +f 22373//23920 22374//23971 22471//23921 +f 22472//23972 22571//23973 22570//23922 +f 22471//23921 22472//23972 22570//23922 +f 22571//23973 22670//23974 22669//23923 +f 22570//23922 22571//23973 22669//23923 +f 22670//23974 22769//23975 22768//23924 +f 22669//23923 22670//23974 22768//23924 +f 22868//23976 22867//23925 22768//23924 +f 22769//23975 22868//23976 22768//23924 +f 22967//23977 22966//23926 22867//23925 +f 22868//23976 22967//23977 22867//23925 +f 23065//23978 23064//23927 22966//23926 +f 22967//23977 23065//23978 22966//23926 +f 23163//23979 23162//23928 23064//23927 +f 23065//23978 23163//23979 23064//23927 +f 23261//23980 23260//23929 23162//23928 +f 23163//23979 23261//23980 23162//23928 +f 23358//23981 23357//23930 23260//23929 +f 23261//23980 23358//23981 23260//23929 +f 23455//23982 23454//23931 23357//23930 +f 23358//23981 23455//23982 23357//23930 +f 11383//23983 2906//23932 23454//23931 +f 23455//23982 11383//23983 23454//23931 +f 12746//23984 1020//23879 2906//23932 +f 11383//23983 12746//23984 2906//23932 +f 733//19321 3037//23985 3198//23986 +f 12746//23984 3037//23985 1020//23879 +f 22727//23987 22726//17936 22627//17894 +f 22628//21530 22727//23987 22627//17894 +f 19438//21002 16212//18997 18485//16158 +f 17103//23221 12992//23240 14408//9542 +f 15195//17586 5490//20913 21313//20912 +f 19419//22734 19528//22735 19516//2265 +f 21663//23988 21664//23935 5490//20913 +f 15195//17586 21663//23988 5490//20913 +f 22550//23989 14517//23936 21664//23935 +f 21663//23988 22550//23989 21664//23935 +f 20397//23990 20226//23937 14517//23936 +f 22550//23989 20397//23990 14517//23936 +f 20397//23990 13990//23991 22848//23938 +f 20226//23937 20397//23990 22848//23938 +f 13990//23991 22954//23992 22854//23939 +f 22848//23938 13990//23991 22854//23939 +f 22954//23992 21311//23993 20139//23940 +f 22854//23939 22954//23992 20139//23940 +f 21311//23993 20727//23994 20109//23941 +f 20139//23940 21311//23993 20109//23941 +f 20727//23994 21788//23995 22169//23942 +f 20109//23941 20727//23994 22169//23942 +f 21788//23995 21065//23996 21064//23943 +f 22169//23942 21788//23995 21064//23943 +f 21065//23996 22160//23997 22743//23944 +f 21064//23943 21065//23996 22743//23944 +f 22160//23997 21962//22667 20809//23945 +f 22743//23944 22160//23997 20809//23945 +f 20327//1474 15638//4747 20242//753 +f 20809//23945 21962//22667 23333//21053 +f 26680//18124 26679//20250 24243//22619 +f 27027//2262 35363//2261 35909//13279 +f 20104//16679 20616//9540 20103//15859 +f 20641//16587 20722//16146 20640//9296 +f 22826//20474 22825//17937 22726//17936 +f 22727//23987 22826//20474 22726//17936 +f 22925//12698 22924//17950 22825//17937 +f 22826//20474 22925//12698 22825//17937 +f 18062//17342 18063//22427 20533//15508 +f 17803//3967 20395//16614 17706//20891 +f 23271//18663 23368//17272 16934//23998 +f 24183//14852 30482//14851 24256//23999 +f 21727//24000 23881//2746 24794//1926 +f 24655//23951 21727//24000 24794//1926 +f 7760//24001 24771//23948 23948//23950 +f 21727//24000 24368//24002 24333//2748 +f 24147//23952 24969//24003 25100//24004 +f 24578//23896 25204//23895 24215//23949 +f 26255//23651 26287//23956 23567//24005 +f 24076//23953 24147//23952 25100//24004 +f 21427//23958 21337//24006 21428//23960 +f 25303//16512 24982//24007 24956//24008 +f 21338//24009 21429//24010 21428//23960 +f 21337//24006 21338//24009 21428//23960 +f 21429//24010 21519//24011 21518//23961 +f 21428//23960 21429//24010 21518//23961 +f 21519//24011 21612//24012 21611//23963 +f 21518//23961 21519//24011 21611//23963 +f 21612//24012 21705//24013 21704//23964 +f 21611//23963 21612//24012 21704//23964 +f 21705//24013 21800//24014 21799//23965 +f 21704//23964 21705//24013 21799//23965 +f 21800//24014 21895//24015 21894//23966 +f 21799//23965 21800//24014 21894//23966 +f 21895//24015 21990//24016 21989//23967 +f 21894//23966 21895//24015 21989//23967 +f 21990//24016 22086//24017 22085//23968 +f 21989//23967 21990//24016 22085//23968 +f 22086//24017 22182//24018 22181//23969 +f 22085//23968 22086//24017 22181//23969 +f 22182//24018 22278//24019 22277//23970 +f 22181//23969 22182//24018 22277//23970 +f 22278//24019 22375//24020 22374//23971 +f 22277//23970 22278//24019 22374//23971 +f 22375//24020 22473//24021 22472//23972 +f 22374//23971 22375//24020 22472//23972 +f 22473//24021 22572//24022 22571//23973 +f 22472//23972 22473//24021 22571//23973 +f 22572//24022 22671//24023 22670//23974 +f 22571//23973 22572//24022 22670//23974 +f 22671//24023 22770//24024 22769//23975 +f 22670//23974 22671//24023 22769//23975 +f 22770//24024 22869//24025 22868//23976 +f 22769//23975 22770//24024 22868//23976 +f 22968//24026 22967//23977 22868//23976 +f 22869//24025 22968//24026 22868//23976 +f 23066//24027 23065//23978 22967//23977 +f 22968//24026 23066//24027 22967//23977 +f 23164//24028 23163//23979 23065//23978 +f 23066//24027 23164//24028 23065//23978 +f 23262//24029 23261//23980 23163//23979 +f 23164//24028 23262//24029 23163//23979 +f 23359//24030 23358//23981 23261//23980 +f 23262//24029 23359//24030 23261//23980 +f 23456//24031 23455//23982 23358//23981 +f 23359//24030 23456//24031 23358//23981 +f 13968//24032 11383//23983 23455//23982 +f 23456//24031 13968//24032 23455//23982 +f 13387//24033 12746//23984 11383//23983 +f 13968//24032 13387//24033 11383//23983 +f 733//19321 3198//23986 12035//24034 +f 13387//24033 3198//23986 12746//23984 +f 16768//15355 21506//13901 16618//24035 +f 4123//17615 3336//24036 16447//24037 +f 13567//2414 14260//16436 13568//24038 +f 1647//1020 9418//7916 16046//19737 +f 20718//16314 20800//16201 20799//24039 +f 18609//14101 18963//14103 18419//15369 +f 29152//23156 28737//23225 22945//19813 +f 21662//24040 21663//23988 15195//17586 +f 20779//5001 21662//24040 15195//17586 +f 22452//24041 22550//23989 21663//23988 +f 21662//24040 22452//24041 21663//23988 +f 21140//24042 20397//23990 22550//23989 +f 22452//24041 21140//24042 22550//23989 +f 21140//24042 13402//24043 13990//23991 +f 20397//23990 21140//24042 13990//23991 +f 13402//24043 15068//24044 22954//23992 +f 13990//23991 13402//24043 22954//23992 +f 15068//24044 20517//24045 21311//23993 +f 22954//23992 15068//24044 21311//23993 +f 20517//24045 20108//24046 20727//23994 +f 21311//23993 20517//24045 20727//23994 +f 20108//24046 21695//24047 21788//23995 +f 20727//23994 20108//24046 21788//23995 +f 21695//24047 20820//24048 21065//23996 +f 21788//23995 21695//24047 21065//23996 +f 20820//24048 22063//24049 22160//23997 +f 21065//23996 20820//24048 22160//23997 +f 22063//24049 22057//22483 21962//22667 +f 22160//23997 22063//24049 21962//22667 +f 18235//22337 21962//22667 22057//22483 +f 13016//22664 30503//24050 25433//24051 +f 13079//22178 13173//16467 13078//16468 +f 29002//24052 28595//20982 24211//21088 +f 20474//3181 20559//19238 20473//2587 +f 20882//16203 20962//16306 20961//24053 +f 12539//7476 12450//16316 11106//16437 +f 8115//15757 13567//2414 12513//24054 +f 14260//16436 11106//16437 13568//24038 +f 17250//24055 15737//210 5355//23933 +f 4123//17615 15737//210 17250//24055 +f 16601//17562 4123//17615 16447//24037 +f 15676//105 5557//224 5829//23825 +f 8115//15757 12513//24054 15477//18162 +f 11616//14746 13849//17561 13947//24056 +f 15478//18401 8115//15757 15477//18162 +f 28368//18157 27143//17995 27520//15784 +f 23881//2746 21727//24000 24333//2748 +f 25111//5441 25430//17638 24922//24057 +f 24368//24002 25621//24058 25620//2893 +f 24771//23948 24578//23896 24215//23949 +f 24673//24059 7760//24001 23662//23142 +f 24969//24003 13958//24060 14154//23660 +f 24578//23896 24895//23898 24896//23897 +f 26287//23956 23462//24061 23567//24005 +f 25100//24004 24969//24003 14154//23660 +f 21248//24062 21338//24009 27952//24063 +f 16598//23955 25435//24064 26287//23956 +f 21249//23261 21339//24065 21338//24009 +f 21248//24062 21249//23261 21338//24009 +f 21339//24065 21430//24066 21429//24010 +f 21338//24009 21339//24065 21429//24010 +f 21430//24066 21520//24067 21519//24011 +f 21429//24010 21430//24066 21519//24011 +f 21520//24067 21613//24068 21612//24012 +f 21519//24011 21520//24067 21612//24012 +f 21613//24068 21706//24069 21705//24013 +f 21612//24012 21613//24068 21705//24013 +f 21706//24069 21801//24070 21800//24014 +f 21705//24013 21706//24069 21800//24014 +f 21801//24070 21896//24071 21895//24015 +f 21800//24014 21801//24070 21895//24015 +f 21896//24071 21991//24072 21990//24016 +f 21895//24015 21896//24071 21990//24016 +f 21991//24072 22087//24073 22086//24017 +f 21990//24016 21991//24072 22086//24017 +f 22087//24073 22183//24074 22182//24018 +f 22086//24017 22087//24073 22182//24018 +f 22183//24074 22279//24075 22278//24019 +f 22182//24018 22183//24074 22278//24019 +f 22279//24075 22376//24076 22375//24020 +f 22278//24019 22279//24075 22375//24020 +f 22376//24076 22474//24077 22473//24021 +f 22375//24020 22376//24076 22473//24021 +f 22474//24077 22573//24078 22572//24022 +f 22473//24021 22474//24077 22572//24022 +f 22573//24078 22672//24079 22671//24023 +f 22572//24022 22573//24078 22671//24023 +f 22672//24079 22771//24080 22770//24024 +f 22671//24023 22672//24079 22770//24024 +f 22771//24080 22870//24081 22869//24025 +f 22770//24024 22771//24080 22869//24025 +f 22969//24082 22968//24026 22869//24025 +f 22870//24081 22969//24082 22869//24025 +f 23067//24083 23066//24027 22968//24026 +f 22969//24082 23067//24083 22968//24026 +f 23165//24084 23164//24028 23066//24027 +f 23067//24083 23165//24084 23066//24027 +f 23263//24085 23262//24029 23164//24028 +f 23165//24084 23263//24085 23164//24028 +f 23360//24086 23359//24030 23262//24029 +f 23263//24085 23360//24086 23262//24029 +f 23457//24087 23456//24031 23359//24030 +f 23360//24086 23457//24087 23359//24030 +f 4388//24088 13968//24032 23456//24031 +f 23457//24087 4388//24088 23456//24031 +f 8050//24089 13387//24033 13968//24032 +f 4388//24088 8050//24089 13968//24032 +f 1520//24090 15874//19319 12035//24034 +f 8050//24089 12035//24034 13387//24033 +f 11616//14746 14140//24091 12873//24092 +f 4940//14747 11616//14746 12873//24092 +f 13567//2414 13568//24038 12513//24054 +f 27521//15785 28368//18157 27520//15784 +f 20814//21126 18519//21109 21146//24093 +f 16335//19315 16485//19317 16334//15886 +f 22442//21087 21879//19949 18902//5000 +f 9418//7916 16045//12454 16046//19737 +f 16179//18653 20780//18652 20675//18656 +f 20288//24094 21662//24040 20779//5001 +f 21879//19949 20288//24094 20779//5001 +f 21234//24095 22452//24041 21662//24040 +f 20288//24094 21234//24095 21662//24040 +f 21227//24096 21140//24042 22452//24041 +f 21234//24095 21227//24096 22452//24041 +f 21227//24096 17099//24097 13402//24043 +f 21140//24042 21227//24096 13402//24043 +f 17099//24097 23053//24098 15068//24044 +f 13402//24043 17099//24097 15068//24044 +f 23053//24098 22152//24099 20517//24045 +f 15068//24044 23053//24098 20517//24045 +f 22152//24099 23235//24100 20108//24046 +f 20517//24045 22152//24099 20108//24046 +f 23235//24100 21602//24101 21695//24047 +f 20108//24046 23235//24100 21695//24047 +f 21602//24101 20819//24102 20820//24048 +f 21695//24047 21602//24101 20820//24048 +f 20819//24102 21968//24103 22063//24049 +f 20820//24048 20819//24102 22063//24049 +f 22924//17950 18535//19650 22923//16086 +f 22063//24049 21968//24103 22057//22483 +f 33188//24104 33293//24105 33187//20194 +f 20872//14939 20952//17516 20951//15808 +f 14152//24106 13498//23479 21675//12347 +f 18356//15294 15366//14710 19492//7379 +f 30226//24107 30093//24108 21543//24109 +f 20641//16587 20640//9296 20558//2588 +f 33465//22586 17696//22136 19821//22587 +f 16934//23998 16768//15355 16618//24035 +f 13947//24056 13849//17561 16447//24037 +f 13849//17561 16601//17562 16447//24037 +f 3336//24036 4123//17615 17250//24055 +f 15737//210 15676//105 5355//23933 +f 20701//1595 20700//16291 20784//16985 +f 23328//17339 20965//16288 20700//16291 +f 14140//24091 11616//14746 13947//24056 +f 20783//1596 20701//1595 20784//16985 +f 21506//13901 20041//18388 20033//24110 +f 23410//14711 4940//14747 23409//24111 +f 23368//17272 16768//15355 16934//23998 +f 11235//4744 8528//15362 13763//9464 +f 25880//15700 26022//24112 26021//15701 +f 23515//24113 24412//23124 20264//23202 +f 24333//2748 24368//24002 25620//2893 +f 13958//24060 24412//23124 23515//24113 +f 14154//23660 13958//24060 23515//24113 +f 11615//24114 24880//24115 24875//24116 +f 24412//23124 23517//24117 20264//23202 +f 22395//24118 22299//24119 25521//24120 +f 24956//24008 24982//24007 23653//24121 +f 21163//23260 21250//24122 21249//23261 +f 31702//21576 31701//24123 31606//21577 +f 21250//24122 21340//24124 21339//24065 +f 21249//23261 21250//24122 21339//24065 +f 21340//24124 21431//24125 21430//24066 +f 21339//24065 21340//24124 21430//24066 +f 21431//24125 21521//24126 21520//24067 +f 21430//24066 21431//24125 21520//24067 +f 21521//24126 21614//24127 21613//24068 +f 21520//24067 21521//24126 21613//24068 +f 21614//24127 21707//24128 21706//24069 +f 21613//24068 21614//24127 21706//24069 +f 21707//24128 21802//24129 21801//24070 +f 21706//24069 21707//24128 21801//24070 +f 21802//24129 21897//24130 21896//24071 +f 21801//24070 21802//24129 21896//24071 +f 21897//24130 21992//24131 21991//24072 +f 21896//24071 21897//24130 21991//24072 +f 21992//24131 22088//24132 22087//24073 +f 21991//24072 21992//24131 22087//24073 +f 22088//24132 22184//24133 22183//24074 +f 22087//24073 22088//24132 22183//24074 +f 22184//24133 22280//24134 22279//24075 +f 22183//24074 22184//24133 22279//24075 +f 22280//24134 22377//24135 22376//24076 +f 22279//24075 22280//24134 22376//24076 +f 22377//24135 22475//24136 22474//24077 +f 22376//24076 22377//24135 22474//24077 +f 22475//24136 22574//24137 22573//24078 +f 22474//24077 22475//24136 22573//24078 +f 22673//24138 22672//24079 22573//24078 +f 22574//24137 22673//24138 22573//24078 +f 22673//24138 22772//24139 22771//24080 +f 22672//24079 22673//24138 22771//24080 +f 22772//24139 22871//24140 22870//24081 +f 22771//24080 22772//24139 22870//24081 +f 22871//24140 22970//24141 22969//24082 +f 22870//24081 22871//24140 22969//24082 +f 23068//24142 23067//24083 22969//24082 +f 22970//24141 23068//24142 22969//24082 +f 23166//24143 23165//24084 23067//24083 +f 23068//24142 23166//24143 23067//24083 +f 23264//24144 23263//24085 23165//24084 +f 23166//24143 23264//24144 23165//24084 +f 23361//24145 23360//24086 23263//24085 +f 23264//24144 23361//24145 23263//24085 +f 23458//24146 23457//24087 23360//24086 +f 23361//24145 23458//24146 23360//24086 +f 9405//24147 4388//24088 23457//24087 +f 23458//24146 9405//24147 23457//24087 +f 14236//24148 8050//24089 4388//24088 +f 9405//24147 14236//24148 4388//24088 +f 1520//24090 12035//24034 8050//24089 +f 14236//24148 1520//24090 8050//24089 +f 4940//14747 12873//24092 23409//24111 +f 24143//24149 23583//24150 12998//24151 +f 16618//24035 21506//13901 20033//24110 +f 17008//4586 7075//24152 9741//24153 +f 26695//5903 26694//5902 24724//6056 +f 28249//5898 27316//5609 17261//15000 +f 20154//15976 23031//24154 22442//21087 +f 28848//5060 21545//24155 28849//5190 +f 21974//24156 21879//19949 22442//21087 +f 23031//24154 21974//24156 22442//21087 +f 20287//24157 20288//24094 21879//19949 +f 21974//24156 20287//24157 21879//19949 +f 22534//24158 21234//24095 20288//24094 +f 20287//24157 22534//24158 20288//24094 +f 21315//24159 21227//24096 21234//24095 +f 22534//24158 21315//24159 21234//24095 +f 21315//24159 20406//24160 17099//24097 +f 21227//24096 21315//24159 17099//24097 +f 20406//24160 23443//24161 23053//24098 +f 17099//24097 20406//24160 23053//24098 +f 23443//24161 21585//24162 22152//24099 +f 23053//24098 23443//24161 22152//24099 +f 21585//24162 21761//24163 23235//24100 +f 22152//24099 21585//24162 23235//24100 +f 21761//24163 21603//24164 21602//24101 +f 23235//24100 21761//24163 21602//24101 +f 21603//24164 20235//24165 20819//24102 +f 21602//24101 21603//24164 20819//24102 +f 20235//24165 21146//24093 21968//24103 +f 20819//24102 20235//24165 21968//24103 +f 20875//472 20955//18664 20954//229 +f 23342//19688 23439//23482 18418//11035 +f 20542//17584 20564//1990 21384//3391 +f 20724//3766 18275//20996 18274//14310 +f 21593//17597 12919//1912 4908//15821 +f 23957//24166 23956//14712 23897//24167 +f 21765//4135 20066//4137 20065//16677 +f 21578//24168 13424//16967 13955//4578 +f 20303//18626 20302//17606 20216//17642 +f 13955//4578 13424//16967 21756//15688 +f 15092//6453 13960//6455 19983//24169 +f 1624//7129 14240//15820 11107//2422 +f 13960//6455 20049//2257 20048//23781 +f 15598//7670 23368//17272 15465//16315 +f 13181//16290 14251//17773 14156//4742 +f 28818//6650 28951//9902 28817//6184 +f 20471//15378 20470//13768 20386//18729 +f 13319//17605 17008//4586 9741//24153 +f 20962//16306 20963//16305 21045//18759 +f 25621//24058 24109//24170 24537//3540 +f 25118//24171 29260//24172 24669//24173 +f 19995//24174 20075//24175 19994//24176 +f 23517//24117 25237//24177 25098//24178 +f 20075//24175 20160//24179 20074//24180 +f 24799//24181 23828//24182 24191//24183 +f 20160//24179 20246//18538 20159//18537 +f 5277//11376 15494//20205 15544//20278 +f 33998//24184 33997//6041 33862//3614 +f 21225//15903 22262//23826 17912//15904 +f 6412//3046 34216//22631 6284//2833 +f 23215//14754 23313//17491 23214//23568 +f 23410//14711 23409//24111 23312//23569 +f 20302//17606 20387//5997 20301//1407 +f 20638//1651 20637//23537 20555//16275 +f 24073//23092 24072//24185 25250//17178 +f 21132//18758 21131//15962 21045//18759 +f 26248//24186 25868//16575 26120//16574 +f 24649//24187 26248//24186 26120//16574 +f 25098//24178 25237//24177 16598//23955 +f 24282//24188 25479//24189 24756//24190 +f 25777//24191 24282//24188 25435//24064 +f 16598//23955 25777//24191 25435//24064 +f 21076//14394 21164//24192 21163//23260 +f 30290//1527 30362//21880 12216//22932 +f 21164//24192 21251//24193 21250//24122 +f 21163//23260 21164//24192 21250//24122 +f 21251//24193 21341//24194 21340//24124 +f 21250//24122 21251//24193 21340//24124 +f 21341//24194 21432//24195 21431//24125 +f 21340//24124 21341//24194 21431//24125 +f 21432//24195 21522//24196 21521//24126 +f 21431//24125 21432//24195 21521//24126 +f 21522//24196 21615//24197 21614//24127 +f 21521//24126 21522//24196 21614//24127 +f 21615//24197 21708//24198 21707//24128 +f 21614//24127 21615//24197 21707//24128 +f 21708//24198 21803//24199 21802//24129 +f 21707//24128 21708//24198 21802//24129 +f 21803//24199 21898//24200 21897//24130 +f 21802//24129 21803//24199 21897//24130 +f 21898//24200 21993//24201 21992//24131 +f 21897//24130 21898//24200 21992//24131 +f 21993//24201 22089//24202 22088//24132 +f 21992//24131 21993//24201 22088//24132 +f 22089//24202 22185//24203 22184//24133 +f 22088//24132 22089//24202 22184//24133 +f 22185//24203 22281//24204 22280//24134 +f 22184//24133 22185//24203 22280//24134 +f 22281//24204 22378//24205 22377//24135 +f 22280//24134 22281//24204 22377//24135 +f 22378//24205 22476//24206 22475//24136 +f 22377//24135 22378//24205 22475//24136 +f 22476//24206 22575//24207 22574//24137 +f 22475//24136 22476//24206 22574//24137 +f 22575//24207 22674//24208 22673//24138 +f 22574//24137 22575//24207 22673//24138 +f 22773//24209 22772//24139 22673//24138 +f 22674//24208 22773//24209 22673//24138 +f 22773//24209 22872//24210 22871//24140 +f 22772//24139 22773//24209 22871//24140 +f 22872//24210 22971//24211 22970//24141 +f 22871//24140 22872//24210 22970//24141 +f 23069//24212 23068//24142 22970//24141 +f 22971//24211 23069//24212 22970//24141 +f 23167//24213 23166//24143 23068//24142 +f 23069//24212 23167//24213 23068//24142 +f 23265//24214 23264//24144 23166//24143 +f 23167//24213 23265//24214 23166//24143 +f 23362//5343 23361//24145 23264//24144 +f 23265//24214 23362//5343 23264//24144 +f 23459//5345 23458//24146 23361//24145 +f 23362//5343 23459//5345 23361//24145 +f 9773//16161 9405//24147 23458//24146 +f 2274//21173 23459//5345 23460//22784 +f 8868//10765 14236//24148 9405//24147 +f 9773//16161 23459//5345 2274//21173 +f 4382//24215 1520//24090 14236//24148 +f 8868//10765 4382//24215 14236//24148 +f 24658//16019 1520//24090 24657//9115 +f 18129//22042 18925//21964 17965//4690 +f 27433//22617 11576//10234 21561//5349 +f 14251//17773 5417//17772 14156//4742 +f 26349//21548 30875//21547 30874//24216 +f 9539//5284 35929//9195 35807//10399 +f 32751//8115 32752//8114 32863//20208 +f 17851//21788 6024//2630 6154//12570 +f 16933//18629 22070//24217 21974//24156 +f 23031//24154 16933//18629 21974//24156 +f 20286//24218 20287//24157 21974//24156 +f 22070//24217 20286//24218 21974//24156 +f 22354//24219 22534//24158 20287//24157 +f 20286//24218 22354//24219 20287//24157 +f 2208//24220 21315//24159 22534//24158 +f 22354//24219 2208//24220 22534//24158 +f 2208//24220 20657//24221 20406//24160 +f 21315//24159 2208//24220 20406//24160 +f 20657//24221 13325//24222 23443//24161 +f 20406//24160 20657//24221 23443//24161 +f 13325//24222 20890//24223 21585//24162 +f 23443//24161 13325//24222 21585//24162 +f 20890//24223 20107//24224 21761//24163 +f 21585//24162 20890//24223 21761//24163 +f 20107//24224 21511//24225 21603//24164 +f 21761//24163 20107//24224 21603//24164 +f 21511//24225 15873//24226 20235//24165 +f 21603//24164 21511//24225 20235//24165 +f 15873//24226 20814//21126 21146//24093 +f 20235//24165 15873//24226 21146//24093 +f 17801//17111 19541//7278 18652//15377 +f 22427//14935 34601//22379 33925//22378 +f 20642//16588 20723//14309 20722//16146 +f 14433//1996 11948//6318 13669//4693 +f 18921//2695 5682//2694 19319//9637 +f 23221//15266 23225//15265 23127//22674 +f 25620//2893 25621//24058 24537//3540 +f 24109//24170 26084//24227 26073//4250 +f 24537//3540 24109//24170 26073//4250 +f 26084//24227 24398//24228 21360//8267 +f 26073//4250 26084//24227 21360//8267 +f 24398//24228 24716//24229 24790//8283 +f 17079//120 16915//122 16916//880 +f 24025//14691 24558//14690 11483//24230 +f 25629//24231 25772//17646 25156//17648 +f 30874//24216 30928//14325 30873//13187 +f 22365//16311 22432//9132 20180//17583 +f 16026//19516 13276//8667 13393//17673 +f 21575//6141 30214//3021 14089//14192 +f 15554//2576 5457//2953 15680//185 +f 19965//24232 19996//24233 19995//24174 +f 19965//24232 30959//24234 31020//24235 +f 20076//24236 20075//24175 19995//24174 +f 19996//24233 20076//24236 19995//24174 +f 20161//24237 20160//24179 20075//24175 +f 20076//24236 20161//24237 20075//24175 +f 20247//24238 20246//18538 20160//24179 +f 20161//24237 20247//24238 20160//24179 +f 20332//24239 20331//21669 20246//18538 +f 20247//24238 20332//24239 20246//18538 +f 20416//24240 20415//16659 20331//21669 +f 20332//24239 20416//24240 20331//21669 +f 23313//17491 23410//14711 23312//23569 +f 11868//14374 35400//5848 11867//15944 +f 21391//11864 21372//18338 20180//17583 +f 23117//14755 23215//14754 23116//23690 +f 12803//17762 13991//17761 3049//18840 +f 21360//8267 24398//24228 24790//8283 +f 24768//8598 24747//8597 24019//23719 +f 25169//23115 25452//24241 24825//23146 +f 26248//24186 24300//15850 24292//15849 +f 24673//24059 23662//23142 24825//23146 +f 24824//24242 24673//24059 24825//23146 +f 20991//24243 21077//24244 21076//14394 +f 21075//22179 21076//14394 21163//23260 +f 21077//24244 21165//24245 21164//24192 +f 21076//14394 21077//24244 21164//24192 +f 21165//24245 21252//24246 21251//24193 +f 21164//24192 21165//24245 21251//24193 +f 21252//24246 21342//24247 21341//24194 +f 21251//24193 21252//24246 21341//24194 +f 21342//24247 21433//24248 21432//24195 +f 21341//24194 21342//24247 21432//24195 +f 21433//24248 21523//24249 21522//24196 +f 21432//24195 21433//24248 21522//24196 +f 21523//24249 21616//24250 21615//24197 +f 21522//24196 21523//24249 21615//24197 +f 21616//24250 21709//24251 21708//24198 +f 21615//24197 21616//24250 21708//24198 +f 21709//24251 21804//24252 21803//24199 +f 21708//24198 21709//24251 21803//24199 +f 21804//24252 21899//24253 21898//24200 +f 21803//24199 21804//24252 21898//24200 +f 21899//24253 21994//24254 21993//24201 +f 21898//24200 21899//24253 21993//24201 +f 21994//24254 22090//24255 22089//24202 +f 21993//24201 21994//24254 22089//24202 +f 22090//24255 22186//24256 22185//24203 +f 22089//24202 22090//24255 22185//24203 +f 22186//24256 22282//24257 22281//24204 +f 22185//24203 22186//24256 22281//24204 +f 22282//24257 22379//24258 22378//24205 +f 22281//24204 22282//24257 22378//24205 +f 22379//24258 22477//24259 22476//24206 +f 22378//24205 22379//24258 22476//24206 +f 22477//24259 22576//24260 22575//24207 +f 22476//24206 22477//24259 22575//24207 +f 22576//24260 22675//24261 22674//24208 +f 22575//24207 22576//24260 22674//24208 +f 22774//24262 22773//24209 22674//24208 +f 22675//24261 22774//24262 22674//24208 +f 22873//24263 22872//24210 22773//24209 +f 22774//24262 22873//24263 22773//24209 +f 22873//24263 22972//24264 22971//24211 +f 22872//24210 22873//24263 22971//24211 +f 22972//24264 23070//24265 23069//24212 +f 22971//24211 22972//24264 23069//24212 +f 23168//24266 23167//24213 23069//24212 +f 23070//24265 23168//24266 23069//24212 +f 23266//24267 23265//24214 23167//24213 +f 23168//24266 23266//24267 23167//24213 +f 18125//22909 22434//15954 20578//22756 +f 23266//24267 30826//2853 30825//16706 +f 28879//2110 28353//2109 25914//2291 +f 24013//24268 25428//14011 25431//24269 +f 33621//24270 33748//24271 33620//24272 +f 25452//24241 24824//24242 24825//23146 +f 24798//16350 24664//24273 23851//24274 +f 23509//129 23859//131 25120//24275 +f 24716//24229 25339//24276 25338//8894 +f 24397//24277 24528//24278 23547//23199 +f 14907//15375 12803//17762 3049//18840 +f 13244//24279 13150//18864 3049//18840 +f 13991//17761 13244//24279 3049//18840 +f 14684//24280 14793//18879 13150//18864 +f 18635//18397 18539//22772 18636//9325 +f 13189//24281 13148//18628 18264//18627 +f 25716//17402 23677//20238 24302//22930 +f 20672//22580 20589//24282 23747//24283 +f 13148//18628 22166//24284 22070//24217 +f 16933//18629 13148//18628 22070//24217 +f 20285//24285 20286//24218 22070//24217 +f 22166//24284 20285//24285 22070//24217 +f 22258//24286 22354//24219 20286//24218 +f 20285//24285 22258//24286 20286//24218 +f 22258//24286 20313//24287 2208//24220 +f 22354//24219 22258//24286 2208//24220 +f 20313//24287 21237//24288 20657//24221 +f 2208//24220 20313//24287 20657//24221 +f 21237//24288 23347//24289 13325//24222 +f 20657//24221 21237//24288 13325//24222 +f 23347//24289 20138//24290 20890//24223 +f 13325//24222 23347//24289 20890//24223 +f 20138//24290 22548//24291 20107//24224 +f 20890//24223 20138//24290 20107//24224 +f 22548//24291 2256//24292 21511//24225 +f 20107//24224 22548//24291 21511//24225 +f 2256//24292 15637//24293 15873//24226 +f 21511//24225 2256//24292 15873//24226 +f 15637//24293 20732//11421 20814//21126 +f 15873//24226 15637//24293 20814//21126 +f 18189//22439 18045//1313 22728//1312 +f 17990//22673 23225//15265 19428//22748 +f 20047//18389 20492//23582 20491//18390 +f 21698//12348 21769//15667 2769//17112 +f 11509//694 12720//16337 13666//16338 +f 20452//17595 23221//15266 23123//10110 +f 24790//8283 24716//24229 25338//8894 +f 25339//24276 26235//24294 24851//11219 +f 24881//16557 25452//24241 25169//23115 +f 24880//24115 24881//16557 25169//23115 +f 22176//16548 26260//2769 5999//12458 +f 23756//24295 24074//24296 23925//24297 +f 26218//24298 23816//24299 25342//24300 +f 24497//24301 23648//24302 23770//24303 +f 20153//24304 12310//24305 21984//24306 +f 25216//8601 22487//24307 23760//8602 +f 7295//10497 456//14942 21467//10730 +f 23672//24308 21009//24309 23675//24310 +f 20486//2944 20452//17595 23123//10110 +f 23409//24111 23408//15453 23311//15452 +f 13244//24279 14684//24280 13150//18864 +f 19966//16972 19997//24311 19996//24233 +f 17823//21326 497//7479 496//7383 +f 20077//24312 20076//24236 19996//24233 +f 19997//24311 20077//24312 19996//24233 +f 20162//24313 20161//24237 20076//24236 +f 20077//24312 20162//24313 20076//24236 +f 20248//24314 20247//24238 20161//24237 +f 20162//24313 20248//24314 20161//24237 +f 20333//24315 20332//24239 20247//24238 +f 20248//24314 20333//24315 20247//24238 +f 20417//24316 20416//24240 20332//24239 +f 20333//24315 20417//24316 20332//24239 +f 13579//733 13608//735 4797//13297 +f 20417//24316 20502//24317 20416//24240 +f 23313//17491 23312//23569 23214//23568 +f 20701//1595 23328//17339 20700//16291 +f 3478//24318 5552//24319 34874//18903 +f 22920//9521 23019//14751 22919//23839 +f 14684//24280 3478//24318 14793//18879 +f 25338//8894 25339//24276 24851//11219 +f 26235//24294 25315//14628 25178//13849 +f 24851//11219 26235//24294 25178//13849 +f 22192//24320 29496//17529 22287//24321 +f 11615//24114 11483//24230 24880//24115 +f 20992//24322 21078//24323 21077//24244 +f 20991//24243 20992//24322 21077//24244 +f 21078//24323 21166//24324 21165//24245 +f 21077//24244 21078//24323 21165//24245 +f 21166//24324 21253//24325 21252//24246 +f 21165//24245 21166//24324 21252//24246 +f 21253//24325 21343//24326 21342//24247 +f 21252//24246 21253//24325 21342//24247 +f 21343//24326 21434//24327 21433//24248 +f 21342//24247 21343//24326 21433//24248 +f 21434//24327 21524//24328 21523//24249 +f 21433//24248 21434//24327 21523//24249 +f 21524//24328 21617//24329 21616//24250 +f 21523//24249 21524//24328 21616//24250 +f 21617//24329 21710//24330 21709//24251 +f 21616//24250 21617//24329 21709//24251 +f 21710//24330 21805//24331 21804//24252 +f 21709//24251 21710//24330 21804//24252 +f 21805//24331 21900//24332 21899//24253 +f 21804//24252 21805//24331 21899//24253 +f 21900//24332 21995//24333 21994//24254 +f 21899//24253 21900//24332 21994//24254 +f 21995//24333 22091//24334 22090//24255 +f 21994//24254 21995//24333 22090//24255 +f 22091//24334 22187//24335 22186//24256 +f 22090//24255 22091//24334 22186//24256 +f 22187//24335 22283//24336 22282//24257 +f 22186//24256 22187//24335 22282//24257 +f 22283//24336 22380//24337 22379//24258 +f 22282//24257 22283//24336 22379//24258 +f 22380//24337 22478//24338 22477//24259 +f 22379//24258 22380//24337 22477//24259 +f 22478//24338 22577//24339 22576//24260 +f 22477//24259 22478//24338 22576//24260 +f 22577//24339 22676//24340 22675//24261 +f 22576//24260 22577//24339 22675//24261 +f 22676//24340 22775//24341 22774//24262 +f 22675//24261 22676//24340 22774//24262 +f 22874//24342 22873//24263 22774//24262 +f 22775//24341 22874//24342 22774//24262 +f 22874//24342 22973//24343 22972//24264 +f 22873//24263 22874//24342 22972//24264 +f 22973//24343 23071//24344 23070//24265 +f 22972//24264 22973//24343 23070//24265 +f 23071//24344 23169//2470 23168//24266 +f 23070//24265 23071//24344 23168//24266 +f 30694//2472 30828//107 23267//106 +f 23168//24266 23169//2470 23266//24267 +f 24438//16645 24013//24268 25431//24269 +f 11483//24230 24881//16557 24880//24115 +f 5204//10391 5865//5443 2904//13742 +f 35794//7360 35369//4130 35549//15642 +f 21409//22658 14243//24345 2922//18848 +f 26210//24346 25063//15357 26211//15359 +f 22270//15472 25976//24347 26118//24348 +f 23504//15473 22270//15472 26118//24348 +f 23994//24349 25489//24350 22761//24351 +f 33052//17566 33051//14891 32945//12264 +f 34165//17976 34164//15610 34028//17977 +f 30575//24352 30709//22143 30574//22145 +f 29415//14853 24062//24353 24122//18053 +f 19539//18577 11081//24354 18039//21671 +f 18511//13287 25315//14628 23892//13288 +f 18359//15293 19409//22218 18356//15294 +f 27641//24355 29767//4771 27640//20783 +f 13189//24281 22263//24356 22166//24284 +f 13148//18628 13189//24281 22166//24284 +f 20284//24357 20285//24285 22166//24284 +f 22263//24356 20284//24357 22166//24284 +f 21322//24358 22258//24286 20285//24285 +f 20284//24357 21322//24358 20285//24285 +f 21405//24359 20313//24287 22258//24286 +f 21322//24358 21405//24359 22258//24286 +f 21405//24359 22947//24360 21237//24288 +f 20313//24287 21405//24359 21237//24288 +f 22947//24360 23249//24361 23347//24289 +f 21237//24288 22947//24360 23347//24289 +f 23249//24361 12537//24362 20138//24290 +f 23347//24289 23249//24361 20138//24290 +f 12537//24362 10023//24363 22548//24291 +f 20138//24290 12537//24362 22548//24291 +f 10023//24363 22073//24364 2256//24292 +f 22548//24291 10023//24363 2256//24292 +f 22073//24364 4651//11422 15637//24293 +f 2256//24292 22073//24364 15637//24293 +f 9327//17539 33820//17538 6539//3246 +f 15637//24293 4651//11422 20732//11421 +f 2911//18878 4949//16957 20412//11521 +f 21488//24365 20060//17170 17758//21241 +f 15201//16294 16614//16169 13085//16295 +f 20393//17668 20477//17667 20476//24366 +f 21674//2063 21675//12347 13018//2943 +f 13100//12349 20452//17595 20486//2944 +f 24930//24367 24931//24368 11234//24369 +f 22103//17631 11946//17620 22102//18038 +f 23875//24370 24742//24371 20495//4643 +f 24025//14691 11483//24230 11615//24114 +f 24473//24372 24025//14691 11615//24114 +f 25435//24064 24282//24188 24756//24190 +f 25485//24373 26201//24374 24161//23677 +f 1567//66 4193//173 1452//1502 +f 24948//24375 26001//24376 25071//24377 +f 16914//916 16755//917 16756//3397 +f 26234//24378 24471//24379 25777//24191 +f 23312//23569 23409//24111 23311//15452 +f 25055//24380 25183//24381 24928//24382 +f 25822//24383 24404//24384 24139//22630 +f 21271//24385 21270//24386 21184//24387 +f 19998//16971 19997//24311 19966//16972 +f 19966//16972 19965//24232 31020//24235 +f 20078//24388 20077//24312 19997//24311 +f 19998//16971 20078//24388 19997//24311 +f 20163//24389 20162//24313 20077//24312 +f 20078//24388 20163//24389 20077//24312 +f 20249//24390 20248//24314 20162//24313 +f 20163//24389 20249//24390 20162//24313 +f 20334//24391 20333//24315 20248//24314 +f 20249//24390 20334//24391 20248//24314 +f 20418//24392 20417//24316 20333//24315 +f 20334//24391 20418//24392 20333//24315 +f 31894//17312 31995//9222 31893//17313 +f 20418//24392 20503//24393 20417//24316 +f 23328//17339 23245//17338 22335//16580 +f 12559//1913 13018//2943 21498//904 +f 23117//14755 23116//23690 23018//23689 +f 20965//16288 23328//17339 22335//16580 +f 7303//24394 6848//24395 6847//24396 +f 23019//14751 23117//14755 23018//23689 +f 25541//24397 26079//24398 11836//24399 +f 25325//15925 24516//14649 24529//14648 +f 26077//17711 24299//17710 23732//22048 +f 25870//18886 25871//7673 26012//15766 +f 20910//2200 20993//24400 20992//24322 +f 27489//13343 20909//13244 20991//24243 +f 20993//24400 21079//24401 21078//24323 +f 20992//24322 20993//24400 21078//24323 +f 21079//24401 21167//24402 21166//24324 +f 21078//24323 21079//24401 21166//24324 +f 21167//24402 21254//24403 21253//24325 +f 21166//24324 21167//24402 21253//24325 +f 21254//24403 21344//24404 21343//24326 +f 21253//24325 21254//24403 21343//24326 +f 21344//24404 21435//24405 21434//24327 +f 21343//24326 21344//24404 21434//24327 +f 21435//24405 21525//24406 21524//24328 +f 21434//24327 21435//24405 21524//24328 +f 21525//24406 21618//24407 21617//24329 +f 21524//24328 21525//24406 21617//24329 +f 21618//24407 21711//24408 21710//24330 +f 21617//24329 21618//24407 21710//24330 +f 21711//24408 21806//24409 21805//24331 +f 21710//24330 21711//24408 21805//24331 +f 21806//24409 21901//24410 21900//24332 +f 21805//24331 21806//24409 21900//24332 +f 21901//24410 21996//24411 21995//24333 +f 21900//24332 21901//24410 21995//24333 +f 21996//24411 22092//24412 22091//24334 +f 21995//24333 21996//24411 22091//24334 +f 22092//24412 22188//24413 22187//24335 +f 22091//24334 22092//24412 22187//24335 +f 22188//24413 22284//24414 22283//24336 +f 22187//24335 22188//24413 22283//24336 +f 22284//24414 22381//24415 22380//24337 +f 22283//24336 22284//24414 22380//24337 +f 22381//24415 22479//24416 22478//24338 +f 22380//24337 22381//24415 22478//24338 +f 22479//24416 22578//24417 22577//24339 +f 22478//24338 22479//24416 22577//24339 +f 22578//24417 22677//24418 22676//24340 +f 22577//24339 22578//24417 22676//24340 +f 22677//24418 22776//24419 22775//24341 +f 22676//24340 22677//24418 22775//24341 +f 22679//21809 30160//15461 22777//24420 +f 22775//24341 22776//24419 22874//24342 +f 22875//24421 22777//24420 30293//20161 +f 22874//24342 22875//24421 22973//24343 +f 30293//20161 22974//24422 22875//24421 +f 22973//24343 22974//24422 23071//24344 +f 23071//24344 22974//24422 23072//24423 +f 23071//24344 23072//24423 23169//2470 +f 3989//16554 24025//14691 24473//24372 +f 23072//24423 30560//15663 23170//2471 +f 26013//15767 26155//24424 26154//15768 +f 12554//24425 3989//16554 24473//24372 +f 6009//14021 1064//24426 14075//17463 +f 30878//24427 25078//24428 27901//16680 +f 6920//15253 22328//14954 6866//14956 +f 1882//24429 3036//19078 15610//24430 +f 15610//24430 3036//19078 15611//17524 +f 23312//23569 23311//15452 23213//15706 +f 33521//24431 33640//24432 33520//24433 +f 21972//24434 22640//24435 13189//24281 +f 22298//24436 24518//18622 24468//18621 +f 22640//24435 22359//24437 22263//24356 +f 13189//24281 22640//24435 22263//24356 +f 20283//24438 20284//24357 22263//24356 +f 22359//24437 20283//24438 22263//24356 +f 16019//24439 21322//24358 20284//24357 +f 20283//24438 16019//24439 20284//24357 +f 16019//24439 21497//24440 21405//24359 +f 21322//24358 16019//24439 21405//24359 +f 21497//24440 23046//24441 22947//24360 +f 21405//24359 21497//24440 22947//24360 +f 23046//24441 23151//24442 23249//24361 +f 22947//24360 23046//24441 23249//24361 +f 23151//24442 13130//24443 12537//24362 +f 23249//24361 23151//24442 12537//24362 +f 13130//24443 21766//24444 10023//24363 +f 12537//24362 13130//24443 10023//24363 +f 21766//24444 21977//24445 22073//24364 +f 10023//24363 21766//24444 22073//24364 +f 21977//24445 11346//14232 4651//11422 +f 22073//24364 21977//24445 4651//11422 +f 25523//24446 25533//24447 20886//24448 +f 19709//20870 21416//7852 17717//17670 +f 24173//24449 24176//24450 25523//24446 +f 24277//24451 26792//10838 30632//6605 +f 22828//23480 14152//24106 22734//23401 +f 27279//14257 27397//15051 27396//14976 +f 13018//2943 13100//12349 20486//2944 +f 26158//24452 26299//15770 26298//15769 +f 26157//24453 26158//24452 26298//15769 +f 26322//24454 26323//24455 23652//24456 +f 22004//24457 3989//16554 12554//24425 +f 25479//24189 24735//24458 24756//24190 +f 24735//24458 20518//24459 24756//24190 +f 24798//16350 25141//16352 24664//24273 +f 22010//24460 23491//24461 22009//24462 +f 23806//23093 23674//23128 23800//23131 +f 21451//24463 21917//23096 23800//23131 +f 23019//14751 23018//23689 22919//23839 +f 17012//1039 15061//680 12461//10060 +f 11087//24464 3334//19167 3036//19078 +f 1882//24429 11087//24464 3036//19078 +f 19999//22126 19998//16971 19967//16973 +f 31082//22382 19966//16972 31020//24235 +f 20079//24465 20078//24388 19998//16971 +f 19999//22126 20079//24465 19998//16971 +f 20164//24466 20163//24389 20078//24388 +f 20079//24465 20164//24466 20078//24388 +f 20250//24467 20249//24390 20163//24389 +f 20164//24466 20250//24467 20163//24389 +f 20335//24468 20334//24391 20249//24390 +f 20250//24467 20335//24468 20249//24390 +f 20419//24469 20418//24392 20334//24391 +f 20335//24468 20419//24469 20334//24391 +f 20504//5738 20503//24393 20418//24392 +f 20419//24469 20504//5738 20418//24392 +f 18318//15382 34615//22911 30213//24470 +f 32095//15272 32094//21170 31994//23934 +f 21952//17572 23133//15022 22335//16580 +f 8258//1943 15280//19978 14584//405 +f 23215//14754 23214//23568 23116//23690 +f 23245//17338 21952//17572 22335//16580 +f 20831//24471 20830//2198 20748//23558 +f 25364//23559 20748//23558 23761//24472 +f 20910//2200 20992//24322 20909//13244 +f 20831//24471 20911//2199 20830//2198 +f 20911//2199 20994//24473 20993//24400 +f 20910//2200 20911//2199 20993//24400 +f 20994//24473 21080//24474 21079//24401 +f 20993//24400 20994//24473 21079//24401 +f 21080//24474 21168//24475 21167//24402 +f 21079//24401 21080//24474 21167//24402 +f 21168//24475 21255//24476 21254//24403 +f 21167//24402 21168//24475 21254//24403 +f 21255//24476 21345//24477 21344//24404 +f 21254//24403 21255//24476 21344//24404 +f 21345//24477 21436//24478 21435//24405 +f 21344//24404 21345//24477 21435//24405 +f 21436//24478 21526//24479 21525//24406 +f 21435//24405 21436//24478 21525//24406 +f 21526//24479 21619//24480 21618//24407 +f 21525//24406 21526//24479 21618//24407 +f 21619//24480 21712//24481 21711//24408 +f 21618//24407 21619//24480 21711//24408 +f 21712//24481 21807//24482 21806//24409 +f 21711//24408 21712//24481 21806//24409 +f 21807//24482 21902//24483 21901//24410 +f 21806//24409 21807//24482 21901//24410 +f 21902//24483 21997//24484 21996//24411 +f 21901//24410 21902//24483 21996//24411 +f 21997//24484 22093//24485 22092//24412 +f 21996//24411 21997//24484 22092//24412 +f 22093//24485 22189//24486 22188//24413 +f 22092//24412 22093//24485 22188//24413 +f 22189//24486 22285//24487 22284//24414 +f 22188//24413 22189//24486 22284//24414 +f 22285//24487 22382//24488 22381//24415 +f 22284//24414 22285//24487 22381//24415 +f 22382//24488 22480//24489 22479//24416 +f 22381//24415 22382//24488 22479//24416 +f 22480//24489 22579//24490 22578//24417 +f 22479//24416 22480//24489 22578//24417 +f 22579//24490 22678//24491 22677//24418 +f 22578//24417 22579//24490 22677//24418 +f 22678//24491 22777//24420 22776//24419 +f 22677//24418 22678//24491 22776//24419 +f 739//17132 26143//19484 26142//18972 +f 24706//23654 21247//24492 24200//23655 +f 24223//24493 24512//24494 24619//24495 +f 15147//18522 26224//18521 25002//8206 +f 25593//37 4810//36 1797//1503 +f 24362//24496 26244//15912 23543//15914 +f 26002//16213 24150//16373 25947//16214 +f 25539//17175 23930//24497 13887//17173 +f 25298//24498 21958//24499 20142//24500 +f 25299//24501 25298//24498 20142//24500 +f 26304//23858 25189//24502 25155//24503 +f 5554//24504 9562//19246 3334//19167 +f 11087//24464 5554//24504 3334//19167 +f 12807//24505 12719//19250 9562//19246 +f 5554//24504 12807//24505 9562//19246 +f 31813//24506 31919//24507 31918//24508 +f 20536//188 21877//24509 21972//24434 +f 18264//18627 21972//24434 13189//24281 +f 21877//24509 22740//24510 22640//24435 +f 21972//24434 21877//24509 22640//24435 +f 22740//24510 22456//24511 22359//24437 +f 22640//24435 22740//24510 22359//24437 +f 20282//24512 20283//24438 22359//24437 +f 22456//24511 20282//24512 22359//24437 +f 23039//24513 16019//24439 20283//24438 +f 20282//24512 23039//24513 20283//24438 +f 23039//24513 21588//24514 21497//24440 +f 16019//24439 23039//24513 21497//24440 +f 21588//24514 23144//24515 23046//24441 +f 21497//24440 21588//24514 23046//24441 +f 23144//24515 14434//24516 23151//24442 +f 23046//24441 23144//24515 23151//24442 +f 14434//24516 13795//24517 13130//24443 +f 23151//24442 14434//24516 13130//24443 +f 13795//24517 5558//24518 21766//24444 +f 13130//24443 13795//24517 21766//24444 +f 5558//24518 21787//24519 21977//24445 +f 21766//24444 5558//24518 21977//24445 +f 21787//24519 14149//16832 11346//14232 +f 21977//24445 21787//24519 11346//14232 +f 22013//22436 21920//24520 22014//24521 +f 21063//15176 18182//15591 14149//16832 +f 21045//18759 21044//15964 20961//24053 +f 32147//24522 32247//24523 32146//24524 +f 22828//23480 22734//23401 21386//16238 +f 14152//24106 21675//12347 21674//2063 +f 25189//24502 24834//24525 13561//24526 +f 24150//16373 25490//23909 25488//23908 +f 22294//24527 24294//24528 20518//24459 +f 23652//24456 22004//24457 12554//24425 +f 737//19117 738//19483 283//19115 +f 24735//24458 22294//24527 20518//24459 +f 21628//14999 21536//11691 25771//24529 +f 23933//24530 23058//24531 25009//24532 +f 29123//22430 28246//21159 22446//21863 +f 22074//24533 21884//24534 21156//24535 +f 21981//24536 23741//24537 23796//24538 +f 22074//24533 21981//24536 21884//24534 +f 14950//24539 10583//19252 12719//19250 +f 22920//9521 22919//23839 22820//354 +f 12807//24505 14950//24539 12719//19250 +f 19969//17063 20000//17062 19999//22126 +f 30878//24427 30877//24540 27895//24541 +f 20080//24542 20079//24465 19999//22126 +f 20000//17062 20080//24542 19999//22126 +f 20165//24543 20164//24466 20079//24465 +f 20080//24542 20165//24543 20079//24465 +f 20251//24544 20250//24467 20164//24466 +f 20165//24543 20251//24544 20164//24466 +f 20336//24545 20335//24468 20250//24467 +f 20251//24544 20336//24545 20250//24467 +f 20420//24546 20419//24469 20335//24468 +f 20336//24545 20420//24546 20335//24468 +f 20505//24547 20504//5738 20419//24469 +f 20420//24546 20505//24547 20419//24469 +f 25628//24548 13460//18762 15318//24549 +f 20505//24547 20587//5736 20504//5738 +f 17580//21872 17675//21875 20022//1546 +f 1389//571 16303//2238 11258//1583 +f 20749//24550 20831//24471 20748//23558 +f 20667//17394 20750//17393 26233//24551 +f 20832//24552 20831//24471 20749//24550 +f 20750//17393 20832//24552 20749//24550 +f 20912//24553 20911//2199 20831//24471 +f 20832//24552 20912//24553 20831//24471 +f 20912//24553 20995//24554 20994//24473 +f 20911//2199 20912//24553 20994//24473 +f 20995//24554 21081//24555 21080//24474 +f 20994//24473 20995//24554 21080//24474 +f 21081//24555 21169//24556 21168//24475 +f 21080//24474 21081//24555 21168//24475 +f 21169//24556 21256//24557 21255//24476 +f 21168//24475 21169//24556 21255//24476 +f 21346//24558 21345//24477 21255//24476 +f 21256//24557 21346//24558 21255//24476 +f 21346//24558 21437//24559 21436//24478 +f 21345//24477 21346//24558 21436//24478 +f 21437//24559 21527//24560 21526//24479 +f 21436//24478 21437//24559 21526//24479 +f 21527//24560 21620//24561 21619//24480 +f 21526//24479 21527//24560 21619//24480 +f 21620//24561 21713//24562 21712//24481 +f 21619//24480 21620//24561 21712//24481 +f 21713//24562 21808//24563 21807//24482 +f 21712//24481 21713//24562 21807//24482 +f 21808//24563 21903//24564 21902//24483 +f 21807//24482 21808//24563 21902//24483 +f 21903//24564 21998//24565 21997//24484 +f 21902//24483 21903//24564 21997//24484 +f 21998//24565 22094//24566 22093//24485 +f 21997//24484 21998//24565 22093//24485 +f 22094//24566 22190//24567 22189//24486 +f 22093//24485 22094//24566 22189//24486 +f 22190//24567 22286//24568 22285//24487 +f 22189//24486 22190//24567 22285//24487 +f 22286//24568 22383//24569 22382//24488 +f 22285//24487 22286//24568 22382//24488 +f 22383//24569 22481//24570 22480//24489 +f 22382//24488 22383//24569 22480//24489 +f 22481//24570 22580//23077 22579//24490 +f 22480//24489 22481//24570 22579//24490 +f 22580//23077 22679//21809 22678//24491 +f 22579//24490 22580//23077 22678//24491 +f 29768//2035 29897//4432 22581//5421 +f 14950//24539 23172//24571 23173//19373 +f 10583//19252 14950//24539 23173//19373 +f 23172//24571 10117//24572 15074//19380 +f 23173//19373 23172//24571 15074//19380 +f 10117//24572 15031//24573 19982//19386 +f 15074//19380 10117//24572 19982//19386 +f 15031//24573 20032//24574 20023//19453 +f 19982//19386 15031//24573 20023//19453 +f 20032//24574 20487//24575 20480//19513 +f 20023//19453 20032//24574 20480//19513 +f 20487//24575 21293//24576 21236//19544 +f 20480//19513 20487//24575 21236//19544 +f 21293//24576 22343//24577 22334//19548 +f 21236//19544 21293//24576 22334//19548 +f 22343//24577 9791//24578 262//19560 +f 22334//19548 22343//24577 262//19560 +f 31713//15447 31813//24506 31812//24579 +f 35529//8019 35656//3699 35390//6238 +f 20537//15203 21878//24580 21877//24509 +f 20536//188 20537//15203 21877//24509 +f 21878//24580 23427//24581 22740//24510 +f 21877//24509 21878//24580 22740//24510 +f 23427//24581 22554//24582 22456//24511 +f 22740//24510 23427//24581 22456//24511 +f 11775//24583 20282//24512 22456//24511 +f 22554//24582 11775//24583 22456//24511 +f 22940//24584 23039//24513 20282//24512 +f 11775//24583 22940//24584 20282//24512 +f 22940//24584 21681//24585 21588//24514 +f 23039//24513 22940//24584 21588//24514 +f 21681//24585 23242//24586 23144//24515 +f 21588//24514 21681//24585 23144//24515 +f 23242//24586 20488//24587 14434//24516 +f 23144//24515 23242//24586 14434//24516 +f 20488//24587 22055//24588 13795//24517 +f 14434//24516 20488//24587 13795//24517 +f 22055//24588 21305//24589 5558//24518 +f 13795//24517 22055//24588 5558//24518 +f 21305//24589 21694//24590 21787//24519 +f 5558//24518 21305//24589 21787//24519 +f 21694//24590 21063//15176 14149//16832 +f 21787//24519 21694//24590 14149//16832 +f 21465//22 20432//373 20348//685 +f 26359//22613 24804//22409 26400//22408 +f 17100//6454 2635//15345 13960//6455 +f 34495//11088 28871//21561 12653//4882 +f 21400//16237 22828//23480 21386//16238 +f 14152//24106 14054//19530 22734//23401 +f 16619//19690 15634//24591 13207//24592 +f 13015//19570 16619//19690 13207//24592 +f 25230//17410 25245//24593 7004//23905 +f 24192//24594 23718//23674 23719//24595 +f 1999//23789 13527//23822 9315//23878 +f 11942//24596 23721//24597 26069//24598 +f 27663//24599 27664//24600 12256//15910 +f 21155//22794 21154//22793 21069//24601 +f 22170//24602 22074//24533 21155//22794 +f 21069//24601 22170//24602 21155//22794 +f 22956//24603 23741//24537 22559//24604 +f 22170//24602 22559//24604 22074//24533 +f 22821//3535 22920//9521 22820//354 +f 17969//19384 17970//15342 20449//16220 +f 9791//24578 21368//24605 21355//19563 +f 262//19560 9791//24578 21355//19563 +f 19970//17064 20001//24606 20000//17062 +f 30877//24540 30876//21546 27895//24541 +f 20081//24607 20080//24542 20000//17062 +f 20001//24606 20081//24607 20000//17062 +f 20166//24608 20165//24543 20080//24542 +f 20081//24607 20166//24608 20080//24542 +f 20252//24609 20251//24544 20165//24543 +f 20166//24608 20252//24609 20165//24543 +f 20337//24610 20336//24545 20251//24544 +f 20252//24609 20337//24610 20251//24544 +f 20421//24611 20420//24546 20336//24545 +f 20337//24610 20421//24611 20336//24545 +f 20506//24612 20505//24547 20420//24546 +f 20421//24611 20506//24612 20420//24546 +f 20588//24613 20587//5736 20505//24547 +f 20506//24612 20588//24613 20505//24547 +f 15083//565 15211//5280 15877//4590 +f 25370//17392 20669//15635 20752//24614 +f 32424//24615 32529//4145 32528//4144 +f 16303//2238 15083//565 15877//4590 +f 20833//24616 20832//24552 20750//17393 +f 20751//23667 20833//24616 20750//17393 +f 20913//24617 20912//24553 20832//24552 +f 20833//24616 20913//24617 20832//24552 +f 20913//24617 20996//24618 20995//24554 +f 20912//24553 20913//24617 20995//24554 +f 20996//24618 21082//24619 21081//24555 +f 20995//24554 20996//24618 21081//24555 +f 21082//24619 21170//24620 21169//24556 +f 21081//24555 21082//24619 21169//24556 +f 21170//24620 21257//24621 21256//24557 +f 21169//24556 21170//24620 21256//24557 +f 21257//24621 21347//24622 21346//24558 +f 21256//24557 21257//24621 21346//24558 +f 21347//24622 21438//24623 21437//24559 +f 21346//24558 21347//24622 21437//24559 +f 21438//24623 21528//24624 21527//24560 +f 21437//24559 21438//24623 21527//24560 +f 21528//24624 21621//24625 21620//24561 +f 21527//24560 21528//24624 21620//24561 +f 21621//24625 21714//24626 21713//24562 +f 21620//24561 21621//24625 21713//24562 +f 21714//24626 21809//24627 21808//24563 +f 21713//24562 21714//24626 21808//24563 +f 21809//24627 21904//24628 21903//24564 +f 21808//24563 21809//24627 21903//24564 +f 21904//24628 21999//24629 21998//24565 +f 21903//24564 21904//24628 21998//24565 +f 21999//24629 22095//24630 22094//24566 +f 21998//24565 21999//24629 22094//24566 +f 22095//24630 22191//24631 22190//24567 +f 22094//24566 22095//24630 22190//24567 +f 22192//24320 22097//5672 29359//5671 +f 22190//24567 22191//24631 22286//24568 +f 29496//17529 22192//24320 29359//5671 +f 22286//24568 22287//24321 22383//24569 +f 22287//24321 29496//17529 22384//23444 +f 22383//24569 22384//23444 22481//24570 +f 22482//23076 22384//23444 29768//2035 +f 22481//24570 22482//23076 22580//23077 +f 22580//23077 22581//5421 22679//21809 +f 24149//16374 24150//16373 25488//23908 +f 20659//24632 24029//15658 25360//24633 +f 23618//24634 12358//24635 23721//24597 +f 25652//17406 24101//24636 25591//17407 +f 11548//24637 23566//24638 22582//24639 +f 21368//24605 12656//24640 7972//19566 +f 21355//19563 21368//24605 7972//19566 +f 21854//24641 7927//19578 7972//19566 +f 12656//24640 21854//24641 7972//19566 +f 21854//24641 23220//24642 23318//19581 +f 7927//19578 21854//24641 23318//19581 +f 23220//24642 20945//24643 15871//19584 +f 23318//19581 23220//24642 15871//19584 +f 22722//3536 22821//3535 22721//221 +f 13017//22263 16446//19585 15871//19584 +f 22623//13283 22722//3536 22622//220 +f 22821//3535 22820//354 22721//221 +f 20945//24643 13017//22263 15871//19584 +f 34247//20154 34347//2504 35547//2503 +f 4819//2794 4820//2796 4955//3018 +f 27500//2305 25112//15027 27501//15097 +f 15757//893 15554//2576 16491//177 +f 21300//23583 21301//16310 22365//16311 +f 19762//20948 23438//23483 21955//23465 +f 20542//17584 21384//3391 21325//24644 +f 22522//700 22523//15460 22622//220 +f 22722//3536 22721//221 22622//220 +f 14974//18402 12922//15758 8115//15757 +f 22623//13283 22622//220 22523//15460 +f 35437//2159 35705//2157 35712//4286 +f 21239//23257 13951//1942 14455//1357 +f 23048//18789 2083//20834 14587//19561 +f 20705//2027 20787//2029 18354//16918 +f 19983//24169 20048//23781 20047//18389 +f 20129//23512 17509//17080 20130//17643 +f 22957//4746 21765//4135 21401//16676 +f 20538//644 20537//15203 35521//645 +f 24777//24645 30846//24646 24203//24647 +f 20538//644 21782//24648 21878//24580 +f 20537//15203 20538//644 21878//24580 +f 21782//24648 22758//24649 23427//24581 +f 21878//24580 21782//24648 23427//24581 +f 22758//24649 22653//24650 22554//24582 +f 23427//24581 22758//24649 22554//24582 +f 22653//24650 23150//24651 11775//24583 +f 22554//24582 22653//24650 11775//24583 +f 23137//24652 22940//24584 11775//24583 +f 23150//24651 23137//24652 11775//24583 +f 23137//24652 22444//24653 21681//24585 +f 22940//24584 23137//24652 21681//24585 +f 22444//24653 23340//24654 23242//24586 +f 21681//24585 22444//24653 23242//24586 +f 23340//24654 21589//24655 20488//24587 +f 23242//24586 23340//24654 20488//24587 +f 21589//24655 21584//24656 22055//24588 +f 20488//24587 21589//24655 22055//24588 +f 21584//24656 21672//24657 21305//24589 +f 22055//24588 21584//24656 21305//24589 +f 19712//22740 18710//22830 18669//17669 +f 21305//24589 21672//24657 21694//24590 +f 19430//22993 18518//22990 22460//22992 +f 17800//16224 18037//21150 20732//11421 +f 21410//9834 21415//7853 22846//12693 +f 34064//24658 18899//8915 34613//18548 +f 14054//19530 14152//24106 21674//2063 +f 20617//9539 21415//7853 21410//9834 +f 21675//12347 13100//12349 13018//2943 +f 20555//16275 20637//23537 20554//24659 +f 22342//16562 20697//20408 22439//10881 +f 13427//24660 15744//24661 14055//6759 +f 1879//14647 20761//18355 16305//18357 +f 12546//3036 22342//16562 22439//10881 +f 21242//21500 21069//24601 21240//21499 +f 13152//3531 23582//24662 13754//24663 +f 2383//24664 22170//24602 21069//24601 +f 21242//21500 2383//24664 21069//24601 +f 22658//24665 22559//24604 22170//24602 +f 2383//24664 22658//24665 22170//24602 +f 12873//24092 9394//12728 23408//15453 +f 22956//24603 23055//24666 23687//24667 +f 23409//24111 12873//24092 23408//15453 +f 15907//20280 15768//20328 3801//24668 +f 19971//21440 20002//24669 20001//24606 +f 31209//21441 19970//17064 19969//17063 +f 20082//24670 20081//24607 20001//24606 +f 20002//24669 20082//24670 20001//24606 +f 20167//24671 20166//24608 20081//24607 +f 20082//24670 20167//24671 20081//24607 +f 20253//24672 20252//24609 20166//24608 +f 20167//24671 20253//24672 20166//24608 +f 20338//24673 20337//24610 20252//24609 +f 20253//24672 20338//24673 20252//24609 +f 20422//24674 20421//24611 20337//24610 +f 20338//24673 20422//24674 20337//24610 +f 20507//24675 20506//24612 20421//24611 +f 20422//24674 20507//24675 20421//24611 +f 20589//24282 20588//24613 20506//24612 +f 20507//24675 20589//24282 20506//24612 +f 12831//17503 7458//851 13662//17433 +f 20589//24282 20670//18267 20588//24613 +f 13152//3531 13246//3530 25948//24676 +f 20670//18267 20752//24614 20669//15635 +f 20834//24677 20833//24616 20751//23667 +f 20752//24614 20834//24677 20751//23667 +f 20914//24678 20913//24617 20833//24616 +f 20834//24677 20914//24678 20833//24616 +f 20914//24678 20997//24679 20996//24618 +f 20913//24617 20914//24678 20996//24618 +f 20997//24679 21083//24680 21082//24619 +f 20996//24618 20997//24679 21082//24619 +f 21083//24680 21171//24681 21170//24620 +f 21082//24619 21083//24680 21170//24620 +f 21171//24681 21258//24682 21257//24621 +f 21170//24620 21171//24681 21257//24621 +f 21258//24682 21348//24683 21347//24622 +f 21257//24621 21258//24682 21347//24622 +f 21348//24683 21439//24684 21438//24623 +f 21347//24622 21348//24683 21438//24623 +f 21439//24684 21529//24685 21528//24624 +f 21438//24623 21439//24684 21528//24624 +f 21529//24685 21622//24686 21621//24625 +f 21528//24624 21529//24685 21621//24625 +f 21622//24686 21715//24687 21714//24626 +f 21621//24625 21622//24686 21714//24626 +f 21715//24687 21810//24688 21809//24627 +f 21714//24626 21715//24687 21809//24627 +f 21810//24688 21905//24689 21904//24628 +f 21809//24627 21810//24688 21904//24628 +f 21905//24689 22000//24690 21999//24629 +f 21904//24628 21905//24689 21999//24629 +f 22000//24690 22096//24691 22095//24630 +f 21999//24629 22000//24690 22095//24630 +f 22096//24691 22192//24320 22191//24631 +f 22095//24630 22096//24691 22191//24631 +f 24153//24692 25505//16510 25490//23909 +f 24400//24693 24099//24694 26225//21487 +f 26225//21487 26700//24695 26699//21488 +f 25997//24696 25244//24697 24099//24694 +f 24400//24693 25997//24696 24099//24694 +f 23836//17472 25279//17399 22592//17473 +f 24608//24698 24488//24699 24816//24700 +f 6641//20441 97//168 18342//10457 +f 21129//21944 18748//15415 21215//17839 +f 20214//1408 20213//19907 20128//19909 +f 20129//23512 20214//1408 20128//19909 +f 20300//20296 20299//19948 20213//19907 +f 20214//1408 20300//20296 20213//19907 +f 20385//13770 20384//20038 20299//19948 +f 20300//20296 20385//13770 20299//19948 +f 20469//13769 20468//20124 20384//20038 +f 35454//13139 35648//13140 35461//9064 +f 35475//5329 35523//5465 35454//13139 +f 20385//13770 20469//13769 20384//20038 +f 20554//24659 20553//20155 20468//20124 +f 20469//13769 20554//24659 20468//20124 +f 20636//24701 20635//20193 20553//20155 +f 20554//24659 20636//24701 20553//20155 +f 20717//24702 20716//20201 20635//20193 +f 20636//24701 20717//24702 20635//20193 +f 20799//24039 20798//20374 20716//20201 +f 20717//24702 20799//24039 20716//20201 +f 20799//24039 20881//24703 20880//20576 +f 20798//20374 20799//24039 20880//20576 +f 20881//24703 20961//24053 20960//23196 +f 20880//20576 20881//24703 20960//23196 +f 22835//643 20539//24704 20538//644 +f 35791//14088 13796//18550 15879//14085 +f 20539//24704 21783//24705 21782//24648 +f 20538//644 20539//24704 21782//24648 +f 21783//24705 23330//24706 22758//24649 +f 21782//24648 21783//24705 22758//24649 +f 23330//24706 22752//24707 22653//24650 +f 22758//24649 23330//24706 22653//24650 +f 23248//24708 23150//24651 22653//24650 +f 22752//24707 23248//24708 22653//24650 +f 23136//24709 23137//24652 23150//24651 +f 23248//24708 23136//24709 23150//24651 +f 23136//24709 22542//24710 22444//24653 +f 23137//24652 23136//24709 22444//24653 +f 22542//24710 23437//24711 23340//24654 +f 22444//24653 22542//24710 23340//24654 +f 23437//24711 16941//24712 21589//24655 +f 23340//24654 23437//24711 21589//24655 +f 16941//24712 20137//24713 21584//24656 +f 21589//24655 16941//24712 21584//24656 +f 20137//24713 21488//24365 21672//24657 +f 21584//24656 20137//24713 21672//24657 +f 1091//7953 18384//21732 1208//8032 +f 24934//24714 23643//24715 24935//24716 +f 4798//13836 3539//16281 14973//16282 +f 18669//17669 18710//22830 18429//22898 +f 20962//16306 21045//18759 20961//24053 +f 11777//6319 20156//7128 15464//7127 +f 22729//23402 13273//17596 22660//15574 +f 26693//24717 26805//24718 23693//14983 +f 21044//15964 21043//23222 20960//23196 +f 20961//24053 21044//15964 20960//23196 +f 21130//15963 21129//21944 21043//23222 +f 33734//16470 33733//1655 33606//13821 +f 25445//16035 25386//24719 25527//16036 +f 21330//24720 21242//21500 21328//13009 +f 25107//19745 11333//16886 3323//16890 +f 21332//24721 2383//24664 21242//21500 +f 21330//24720 21332//24721 21242//21500 +f 22757//24722 22658//24665 2383//24664 +f 21332//24721 22757//24722 2383//24664 +f 22757//24722 23153//24723 23055//24666 +f 22757//24722 23055//24666 22658//24665 +f 20753//24724 20754//15580 20836//24725 +f 21044//15964 21130//15963 21043//23222 +f 20003//24726 20002//24669 19971//21440 +f 31209//21441 19971//21440 19970//17064 +f 20083//24727 20082//24670 20002//24669 +f 20003//24726 20083//24727 20002//24669 +f 20168//24728 20167//24671 20082//24670 +f 20083//24727 20168//24728 20082//24670 +f 20254//24729 20253//24672 20167//24671 +f 20168//24728 20254//24729 20167//24671 +f 20339//24730 20338//24673 20253//24672 +f 20254//24729 20339//24730 20253//24672 +f 20339//24730 20423//24731 20422//24674 +f 20338//24673 20339//24730 20422//24674 +f 20508//24732 20507//24675 20422//24674 +f 20423//24731 20508//24732 20422//24674 +f 20590//24733 20589//24282 20507//24675 +f 20508//24732 20590//24733 20507//24675 +f 35600//4538 28191//12879 29545//5617 +f 31047//24734 31109//18898 31108//22783 +f 20671//18268 20670//18267 20589//24282 +f 15469//13227 21757//13815 15468//862 +f 20835//24735 20834//24677 20752//24614 +f 20753//24724 20835//24735 20752//24614 +f 20915//24736 20914//24678 20834//24677 +f 20835//24735 20915//24736 20834//24677 +f 20915//24736 20998//24737 20997//24679 +f 20914//24678 20915//24736 20997//24679 +f 20998//24737 21084//24738 21083//24680 +f 20997//24679 20998//24737 21083//24680 +f 21084//24738 21172//24739 21171//24681 +f 21083//24680 21084//24738 21171//24681 +f 21172//24739 21259//24740 21258//24682 +f 21171//24681 21172//24739 21258//24682 +f 21259//24740 21349//24741 21348//24683 +f 21258//24682 21259//24740 21348//24683 +f 21349//24741 21440//24742 21439//24684 +f 21348//24683 21349//24741 21439//24684 +f 21440//24742 21530//24743 21529//24685 +f 21439//24684 21440//24742 21529//24685 +f 21530//24743 21623//24744 21622//24686 +f 21529//24685 21530//24743 21622//24686 +f 21623//24744 21716//24745 21715//24687 +f 21622//24686 21623//24744 21715//24687 +f 21716//24745 21811//24746 21810//24688 +f 21715//24687 21716//24745 21810//24688 +f 21811//24746 21906//24747 21905//24689 +f 21810//24688 21811//24746 21905//24689 +f 21906//24747 22001//24748 22000//24690 +f 21905//24689 21906//24747 22000//24690 +f 22001//24748 22097//5672 22096//24691 +f 22000//24690 22001//24748 22096//24691 +f 22097//5672 22002//6344 29222//5670 +f 24541//24749 24608//24698 24816//24700 +f 24205//14012 11615//24114 24875//24116 +f 20615//2778 20533//15508 18155//20549 +f 20315//21418 19642//21420 19255//21419 +f 3312//20869 19366//15319 21770//17774 +f 20470//13768 20555//16275 20469//13769 +f 11862//17613 11777//6319 15464//7127 +f 18170//17172 18989//21267 19827//21256 +f 21593//17597 21605//2062 12919//1912 +f 30293//20161 22777//24420 30160//15461 +f 19438//21002 20025//21423 23333//21053 +f 20069//19268 19890//20659 18173//18993 +f 2230//23565 15095//24750 15021//16783 +f 4664//14680 2230//23565 15021//16783 +f 20394//16613 20478//7247 20477//17667 +f 20814//21126 20732//11421 19318//21125 +f 32501//24751 32610//9255 32500//24752 +f 20589//24282 20672//22580 20671//18268 +f 21578//24168 21579//9110 13424//16967 +f 22634//24753 22635//20127 6259//17688 +f 13666//16338 13764//4692 13571//4694 +f 20071//15818 20072//755 4550//15819 +f 21320//21563 19758//21476 20398//21529 +f 33542//9061 33429//24754 7066//14360 +f 23048//18789 22949//17435 19207//18790 +f 21579//9110 21578//24168 6259//17688 +f 24465//5623 27018//16047 27017//14160 +f 20645//2473 20540//24755 20539//24704 +f 22835//643 20645//2473 20539//24704 +f 20540//24755 21689//24756 21783//24705 +f 20539//24704 20540//24755 21783//24705 +f 21689//24756 23134//24757 23330//24706 +f 21783//24705 21689//24756 23330//24706 +f 23134//24757 22852//24758 22752//24707 +f 23330//24706 23134//24757 22752//24707 +f 23346//24759 23248//24708 22752//24707 +f 22852//24758 23346//24759 22752//24707 +f 22841//24760 23136//24709 23248//24708 +f 23346//24759 22841//24760 23248//24708 +f 22841//24760 22642//24761 22542//24710 +f 23136//24709 22841//24760 22542//24710 +f 22642//24761 4420//24762 23437//24711 +f 22542//24710 22642//24761 23437//24711 +f 4420//24762 20742//24763 16941//24712 +f 23437//24711 4420//24762 16941//24712 +f 20742//24763 22077//24764 20137//24713 +f 16941//24712 20742//24763 20137//24713 +f 22077//24764 20060//17170 21488//24365 +f 20137//24713 22077//24764 21488//24365 +f 20837//24765 20754//15580 20838//18906 +f 16038//7441 21052//19305 16623//19312 +f 29086//13579 29085//6343 28950//12281 +f 13558//24766 20412//11521 14347//11520 +f 12736//695 11509//694 13472//23567 +f 21961//23448 21865//16878 18913//19613 +f 21385//1992 22729//23402 22660//15574 +f 13960//6455 2635//15345 20049//2257 +f 18273//7272 18274//14310 18367//18362 +f 12512//21970 26941//16045 5464//8605 +f 19322//22492 22728//1312 22628//21530 +f 18538//22692 20942//18396 18537//13493 +f 20541//16958 20542//17584 21325//24644 +f 35594//19311 35886//1949 35378//1951 +f 29545//5617 28191//12879 28190//14502 +f 26310//24767 26311//24768 12997//24769 +f 22551//15933 22840//15023 23133//15022 +f 21422//24770 21332//24721 21330//24720 +f 21420//24771 21422//24770 21330//24720 +f 22856//24772 22757//24722 21332//24721 +f 21422//24770 22856//24772 21332//24721 +f 35081//12188 35080//12190 34951//17830 +f 22856//24772 21422//24770 23445//24773 +f 22728//1312 22727//23987 22628//21530 +f 19322//22492 18189//22439 22728//1312 +f 19973//24774 20004//24775 20003//24726 +f 19972//24776 19973//24774 20003//24726 +f 20084//24777 20083//24727 20003//24726 +f 20004//24775 20084//24777 20003//24726 +f 20169//24778 20168//24728 20083//24727 +f 20084//24777 20169//24778 20083//24727 +f 20255//24779 20254//24729 20168//24728 +f 20169//24778 20255//24779 20168//24728 +f 20340//24780 20339//24730 20254//24729 +f 20255//24779 20340//24780 20254//24729 +f 20424//24781 20423//24731 20339//24730 +f 20340//24780 20424//24781 20339//24730 +f 20509//24782 20508//24732 20423//24731 +f 20424//24781 20509//24782 20423//24731 +f 20591//22754 20590//24733 20508//24732 +f 20509//24782 20591//22754 20508//24732 +f 24064//24783 24063//24784 20200//24785 +f 35481//17047 35443//22297 35873//5781 +f 21757//13815 12632//863 15468//862 +f 33292//6325 33401//14444 33291//6326 +f 20836//24725 20835//24735 20753//24724 +f 25113//15581 20753//24724 24593//18269 +f 20916//24786 20915//24736 20835//24735 +f 20836//24725 20916//24786 20835//24735 +f 20999//24787 20998//24737 20915//24736 +f 20916//24786 20999//24787 20915//24736 +f 20999//24787 21085//24788 21084//24738 +f 20998//24737 20999//24787 21084//24738 +f 21085//24788 21173//24789 21172//24739 +f 21084//24738 21085//24788 21172//24739 +f 21173//24789 21260//24790 21259//24740 +f 21172//24739 21173//24789 21259//24740 +f 21260//24790 21350//24791 21349//24741 +f 21259//24740 21260//24790 21349//24741 +f 21350//24791 21441//24792 21440//24742 +f 21349//24741 21350//24791 21440//24742 +f 21441//24792 21531//24793 21530//24743 +f 21440//24742 21441//24792 21530//24743 +f 21531//24793 21624//24794 21623//24744 +f 21530//24743 21531//24793 21623//24744 +f 21624//24794 21717//24795 21716//24745 +f 21623//24744 21624//24794 21716//24745 +f 21717//24795 21812//24796 21811//24746 +f 21716//24745 21717//24795 21811//24746 +f 21812//24796 21907//24797 21906//24747 +f 21811//24746 21812//24796 21906//24747 +f 21907//24797 22002//6344 22001//24748 +f 21906//24747 21907//24797 22001//24748 +f 21907//24797 21908//12282 22002//6344 +f 25228//17411 23978//23906 24871//15659 +f 23950//15476 24441//24798 24817//15477 +f 25302//16478 25301//23800 24817//15477 +f 28498//6064 23783//24799 25362//6062 +f 11671//24800 11750//24801 21817//24802 +f 23549//24803 23544//23157 26141//23154 +f 13090//24804 26243//22698 25081//22699 +f 28357//363 28358//783 30075//359 +f 24803//24805 25641//24806 24284//24807 +f 29774//23018 29903//4922 29902//4921 +f 30077//15486 11552//15488 19909//360 +f 27017//14160 27016//14159 26898//22099 +f 28992//3110 29685//6336 28071//7155 +f 12720//16337 12808//15364 13764//4692 +f 26570//22069 26675//22062 26674//24808 +f 22827//1314 22826//20474 22727//23987 +f 20391//1905 20475//1907 20390//15628 +f 22728//1312 22827//1314 22727//23987 +f 33732//15540 33731//24809 33604//16029 +f 17755//22314 22924//17950 22925//12698 +f 22365//16311 20180//17583 6764//24810 +f 20945//24643 18521//18697 18610//21869 +f 22364//24811 22365//16311 6764//24810 +f 20180//17583 21372//18338 21371//24812 +f 21372//18338 13319//17605 9741//24153 +f 6764//24810 20180//17583 21371//24812 +f 25224//24813 23598//24814 25322//24815 +f 21371//24812 21372//18338 9741//24153 +f 25354//15229 28122//15231 28123//24816 +f 14346//23640 13558//24766 14347//11520 +f 20041//18388 20491//18390 20490//24817 +f 25305//15597 24633//785 20673//24818 +f 20491//18390 21300//23583 21294//24819 +f 20033//24110 20041//18388 20490//24817 +f 21300//23583 22365//16311 22364//24811 +f 20490//24817 20491//18390 21294//24819 +f 17008//4586 17084//15676 7075//24152 +f 21294//24819 21300//23583 22364//24811 +f 20556//265 20555//16275 20470//13768 +f 17084//15676 23122//18698 7075//24152 +f 20882//16203 20883//16304 20962//16306 +f 20387//5997 20471//15378 20386//18729 +f 10980//2475 22143//24820 20540//24755 +f 13579//733 35505//4453 35560//734 +f 22143//24820 21690//24821 21689//24756 +f 20540//24755 22143//24820 21689//24756 +f 21690//24821 23232//24822 23134//24757 +f 21689//24756 21690//24821 23134//24757 +f 23232//24822 22952//24823 22852//24758 +f 23134//24757 23232//24822 22852//24758 +f 22952//24823 23052//24824 23346//24759 +f 22852//24758 22952//24823 23346//24759 +f 23052//24824 22162//24825 22841//24760 +f 23346//24759 23052//24824 22841//24760 +f 22162//24825 22742//24826 22642//24761 +f 22841//24760 22162//24825 22642//24761 +f 22742//24826 7285//24827 4420//24762 +f 22642//24761 22742//24826 4420//24762 +f 7285//24827 20661//24828 20742//24763 +f 4420//24762 7285//24827 20742//24763 +f 20661//24828 11109//24829 22077//24764 +f 20742//24763 20661//24828 22077//24764 +f 11109//24829 21326//17171 20060//17170 +f 22077//24764 11109//24829 20060//17170 +f 19242//20916 6409//23426 21243//23425 +f 18751//21082 18750//16654 21132//18758 +f 19826//21708 5760//2827 5892//2631 +f 35579//9307 35431//1925 35928//7567 +f 17817//2113 17299//2310 30827//108 +f 20719//1650 20718//16314 20637//23537 +f 11507//10617 21476//14683 1978//11865 +f 20963//16305 21046//17604 21045//18759 +f 28605//5202 27433//22617 21561//5349 +f 18216//22403 15434//8914 13243//17983 +f 35777//5622 35840//3049 35785//3349 +f 30503//24050 13016//22664 25574//22663 +f 27497//16145 6981//23500 26594//856 +f 21952//17572 22551//15933 23133//15022 +f 13559//15934 13335//15469 22840//15023 +f 25321//17945 23269//24830 25807//24831 +f 21420//24771 21509//24832 21419//24833 +f 21421//24834 21422//24770 21420//24771 +f 21419//24833 21421//24834 21420//24771 +f 15768//20328 15632//24835 23445//24773 +f 21421//24834 23445//24773 21422//24770 +f 20391//1905 20390//15628 20305//18602 +f 16850//19030 17101//15013 21570//2161 +f 21391//11864 14151//4579 13319//17605 +f 15859//20481 15861//24836 15999//20515 +f 19974//24837 20005//24838 20004//24775 +f 19973//24774 19974//24837 20004//24775 +f 20085//24839 20084//24777 20004//24775 +f 20005//24838 20085//24839 20004//24775 +f 20170//24840 20169//24778 20084//24777 +f 20085//24839 20170//24840 20084//24777 +f 20256//24841 20255//24779 20169//24778 +f 20170//24840 20256//24841 20169//24778 +f 20341//24842 20340//24780 20255//24779 +f 20256//24841 20341//24842 20255//24779 +f 20425//24843 20424//24781 20340//24780 +f 20341//24842 20425//24843 20340//24780 +f 20510//24844 20509//24782 20424//24781 +f 20425//24843 20510//24844 20424//24781 +f 32839//9724 32947//22516 32838//2934 +f 33053//20513 33052//17566 32946//2935 +f 25305//15597 20591//22754 25080//15598 +f 32947//22516 33053//20513 32946//2935 +f 31690//17866 31689//14043 31594//17460 +f 20134//2545 18615//19131 18527//2546 +f 20837//24765 20836//24725 20754//15580 +f 20917//24845 20916//24786 20836//24725 +f 20837//24765 20917//24845 20836//24725 +f 21000//24846 20999//24787 20916//24786 +f 20917//24845 21000//24846 20916//24786 +f 21000//24846 21086//24847 21085//24788 +f 20999//24787 21000//24846 21085//24788 +f 21086//24847 21174//24848 21173//24789 +f 21085//24788 21086//24847 21173//24789 +f 21174//24848 21261//24849 21260//24790 +f 21173//24789 21174//24848 21260//24790 +f 21261//24849 21351//24850 21350//24791 +f 21260//24790 21261//24849 21350//24791 +f 21351//24850 21442//24851 21441//24792 +f 21350//24791 21351//24850 21441//24792 +f 21442//24851 21532//24852 21531//24793 +f 21441//24792 21442//24851 21531//24793 +f 21532//24852 21625//24853 21624//24794 +f 21531//24793 21532//24852 21624//24794 +f 21625//24853 21718//24854 21717//24795 +f 21624//24794 21625//24853 21717//24795 +f 21718//24854 21813//14434 21812//24796 +f 21717//24795 21718//24854 21812//24796 +f 21719//6182 21813//14434 21718//24854 +f 21812//24796 21813//14434 21907//24797 +f 21908//12282 21907//24797 21813//14434 +f 26324//23195 20923//23198 22004//24457 +f 24558//14690 26216//16555 11483//24230 +f 24391//24855 22351//24856 24235//24857 +f 25380//23554 12108//23656 22531//23555 +f 25889//24858 25890//24859 26031//24860 +f 24478//24861 12169//24862 23756//24295 +f 12169//24862 21541//23129 23756//24295 +f 23276//24863 24391//24855 24176//24450 +f 21541//23129 23806//23093 24074//24296 +f 11750//24801 21913//24864 21817//24802 +f 25198//16686 23874//23801 25301//23800 +f 24560//24865 25102//24866 25103//24867 +f 23774//24868 23775//24869 24977//24870 +f 25667//14500 23737//24871 25104//24872 +f 1896//19397 1427//18885 4277//18887 +f 24096//24873 24090//24874 25462//24875 +f 24383//24876 20824//24877 20986//24878 +f 22551//15933 13559//15934 22840//15023 +f 34932//24879 35061//24880 34931//14233 +f 20306//18601 20391//1905 20305//18602 +f 17441//22457 18495//18429 18216//22403 +f 20072//755 20071//15818 11948//6318 +f 22109//24881 22108//22434 22013//22436 +f 11576//10234 26599//24882 17286//5350 +f 20711//19289 20793//18599 20710//2049 +f 18815//23086 19545//22135 17696//22136 +f 20179//9134 21391//11864 20180//17583 +f 19536//17763 17441//22457 18216//22403 +f 20106//4582 18669//17669 20618//7851 +f 20463//18839 20548//19461 20462//1678 +f 20630//19290 20629//13485 20547//4583 +f 2674//2115 2675//2114 21655//10496 +f 20535//2259 21303//18987 21302//16969 +f 28686//21212 28685//10761 28556//12079 +f 24222//24883 24718//17356 26059//24884 +f 20548//19461 20547//4583 20462//1678 +f 14973//16282 14335//693 12736//695 +f 20304//15727 17701//22226 20218//17611 +f 20294//19221 20379//19217 20293//1457 +f 20945//24643 18610//21869 13017//22263 +f 13243//17983 13244//24279 13991//17761 +f 24632//22579 20673//24818 24633//785 +f 12629//16943 14684//24280 13244//24279 +f 13243//17983 12629//16943 13244//24279 +f 34060//24885 5552//24319 14684//24280 +f 13243//17983 193//16944 12629//16943 +f 27752//21716 22553//23266 21573//23242 +f 27852//22018 27853//24886 27968//22054 +f 13297//5199 26570//22069 24595//24887 +f 27969//24888 28086//5336 28085//22085 +f 28836//6329 28835//6179 28703//18787 +f 29552//21153 30209//21155 29551//21262 +f 34411//8188 34410//1344 34272//24889 +f 34273//14440 34411//8188 34272//24889 +f 22144//24890 21596//24891 21690//24821 +f 22143//24820 22144//24890 21690//24821 +f 21596//24891 23135//24892 23232//24822 +f 21690//24821 21596//24891 23232//24822 +f 23051//24893 22952//24823 23232//24822 +f 23135//24892 23051//24893 23232//24822 +f 23051//24893 22953//24894 23052//24824 +f 22952//24823 23051//24893 23052//24824 +f 22953//24894 22065//24895 22162//24825 +f 23052//24824 22953//24894 22162//24825 +f 22065//24895 15200//24896 22742//24826 +f 22162//24825 22065//24895 22742//24826 +f 15200//24896 2495//24897 7285//24827 +f 22742//24826 15200//24896 7285//24827 +f 2495//24897 21491//24898 20661//24828 +f 7285//24827 2495//24897 20661//24828 +f 21491//24898 21959//18606 11109//24829 +f 20661//24828 21491//24898 11109//24829 +f 17676//21941 17772//16497 17675//21875 +f 11109//24829 21959//18606 21326//17171 +f 26209//23601 25164//23600 23600//24899 +f 18129//22042 34469//22304 17536//21288 +f 14240//15820 4550//15819 15092//6453 +f 21656//14741 456//14942 7295//10497 +f 21468//15228 11507//10617 11361//10731 +f 17100//6454 126//12509 2635//15345 +f 15886//22477 1882//24429 15610//24430 +f 18928//19541 30352//9152 28310//17934 +f 20123//19019 20122//18223 20042//23068 +f 28557//15085 28686//21212 28556//12079 +f 20188//24900 20102//21876 17772//16497 +f 21326//17171 19415//21269 18989//21267 +f 21419//24833 21509//24832 13853//24901 +f 23848//24902 29830//24903 27637//21193 +f 21883//24904 21419//24833 13853//24901 +f 1263//24905 21883//24904 13853//24901 +f 21604//24906 21421//24834 21419//24833 +f 21883//24904 21604//24906 21419//24833 +f 3801//24668 23445//24773 21421//24834 +f 21604//24906 3801//24668 21421//24834 +f 15768//20328 23445//24773 3801//24668 +f 20129//23512 17508//17081 17509//17080 +f 21163//23260 27722//23499 21075//22179 +f 20006//24907 20005//24838 19974//24837 +f 19975//24908 20006//24907 19974//24837 +f 20086//24909 20085//24839 20005//24838 +f 20006//24907 20086//24909 20005//24838 +f 20171//24910 20170//24840 20085//24839 +f 20086//24909 20171//24910 20085//24839 +f 20257//24911 20256//24841 20170//24840 +f 20171//24910 20257//24911 20170//24840 +f 20342//24912 20341//24842 20256//24841 +f 20257//24911 20342//24912 20256//24841 +f 20426//24913 20425//24843 20341//24842 +f 20342//24912 20426//24913 20341//24842 +f 20511//20297 20510//24844 20425//24843 +f 20426//24913 20511//20297 20425//24843 +f 25080//15598 20593//20299 24650//15542 +f 20511//20297 20593//20299 20510//24844 +f 12513//24054 1882//24429 15886//22477 +f 15477//18162 12513//24054 15886//22477 +f 13580//8772 22751//19304 22344//8773 +f 13568//24038 11087//24464 1882//24429 +f 12480//16605 11702//17462 12543//16607 +f 20918//24914 20917//24845 20837//24765 +f 20838//18906 20918//24914 20837//24765 +f 21001//24915 21000//24846 20917//24845 +f 20918//24914 21001//24915 20917//24845 +f 21001//24915 21087//24916 21086//24847 +f 21000//24846 21001//24915 21086//24847 +f 21087//24916 21175//24917 21174//24848 +f 21086//24847 21087//24916 21174//24848 +f 21175//24917 21262//24918 21261//24849 +f 21174//24848 21175//24917 21261//24849 +f 21262//24918 21352//24919 21351//24850 +f 21261//24849 21262//24918 21351//24850 +f 21352//24919 21443//24920 21442//24851 +f 21351//24850 21352//24919 21442//24851 +f 21443//24920 21533//24921 21532//24852 +f 21442//24851 21443//24920 21532//24852 +f 21533//24921 21626//24922 21625//24853 +f 21532//24852 21533//24921 21625//24853 +f 21626//24922 21719//6182 21718//24854 +f 21625//24853 21626//24922 21718//24854 +f 21626//24922 28684//6183 21719//6182 +f 21888//24923 22173//24924 20141//24925 +f 25212//23107 25228//17411 24871//15659 +f 171//7669 23177//24926 6255//7667 +f 24432//4252 24349//14547 24649//24187 +f 25101//24927 23802//24928 24130//23122 +f 25565//19850 24459//24929 24610//24930 +f 15586//19738 15585//20414 13178//14929 +f 25459//24931 25154//24932 25458//14943 +f 25861//24933 25973//8593 25831//24934 +f 23756//24295 21541//23129 24074//24296 +f 25279//17399 23942//17398 25294//23744 +f 24590//24935 25349//9082 12447//9081 +f 21326//17171 21959//18606 18993//18605 +f 23783//24799 24874//17185 25362//6062 +f 24939//24936 24343//24937 24940//24938 +f 25643//24939 25786//24940 24961//24941 +f 13297//5199 24913//5198 26571//6705 +f 25877//24942 26019//24943 26018//24944 +f 25543//24945 13105//24946 12536//23750 +f 24693//24947 25543//24945 12536//23750 +f 12558//14355 12994//9462 12900//14356 +f 23975//24948 24240//23686 22297//23688 +f 18635//18397 20942//18396 18538//22692 +f 16868//8380 17031//19626 17030//9158 +f 20497//17257 13055//16176 15201//16294 +f 33439//17886 33438//24949 33329//24950 +f 20375//17600 20376//16466 20459//17619 +f 20498//17258 20497//17257 15201//16294 +f 20290//16801 20291//14186 20375//17600 +f 20460//17234 20545//14458 20544//17343 +f 20205//14185 20291//14186 20290//16801 +f 20376//16466 20460//17234 20459//17619 +f 17990//22673 19489//22592 18314//15869 +f 20291//14186 20376//16466 20375//17600 +f 20789//14809 20790//14938 20871//16974 +f 20630//19290 20711//19289 20629//13485 +f 20548//19461 20630//19290 20547//4583 +f 20793//18599 20792//1434 20710//2049 +f 20708//16531 20707//17277 20626//17344 +f 20711//19289 20710//2049 20629//13485 +f 20459//17619 20460//17234 20544//17343 +f 20627//14457 20708//16531 20626//17344 +f 20627//14457 20626//17344 20544//17343 +f 20545//14458 20627//14457 20544//17343 +f 20708//16531 20790//14938 20789//14809 +f 20707//17277 20708//16531 20789//14809 +f 20463//18839 20462//1678 20378//7375 +f 20790//14938 20872//14939 20871//16974 +f 20208//19253 20294//19221 20207//1824 +f 20379//19217 20463//18839 20378//7375 +f 20123//19019 20208//19253 20122//18223 +f 20379//19217 20378//7375 20293//1457 +f 20043//19020 20123//19019 20042//23068 +f 20294//19221 20293//1457 20207//1824 +f 30561//10841 30695//10876 30560//15663 +f 20208//19253 20207//1824 20122//18223 +f 12513//24054 13568//24038 1882//24429 +f 22049//9216 23343//19313 13580//8772 +f 11106//16437 5554//24504 11087//24464 +f 13568//24038 11106//16437 11087//24464 +f 30846//24646 24777//24645 23824//18009 +f 13619//7477 22241//24951 22144//24890 +f 20645//2473 10980//2475 20540//24755 +f 22241//24951 23120//24952 21596//24891 +f 22144//24890 22241//24951 21596//24891 +f 23120//24952 23037//24953 23135//24892 +f 21596//24891 23120//24952 23135//24892 +f 23037//24953 23441//24954 23051//24893 +f 23135//24892 23037//24953 23051//24893 +f 23441//24954 23442//24955 22953//24894 +f 23051//24893 23441//24954 22953//24894 +f 23442//24955 21970//24956 22065//24895 +f 22953//24894 23442//24955 22065//24895 +f 21970//24956 20621//24957 15200//24896 +f 22065//24895 21970//24956 15200//24896 +f 20621//24957 6760//24958 2495//24897 +f 15200//24896 20621//24957 2495//24897 +f 6760//24958 20968//20035 21491//24898 +f 2495//24897 6760//24958 21491//24898 +f 20968//20035 21583//18604 21959//18606 +f 21491//24898 20968//20035 21959//18606 +f 34487//18032 33935//24959 11648//18107 +f 22827//1314 18045//1313 19111//22387 +f 14324//1475 20242//753 14433//1996 +f 20541//16958 21325//24644 21303//18987 +f 11948//6318 20071//15818 20156//7128 +f 14472//15674 15116//15316 14931//7257 +f 20802//9146 20803//7271 20884//20581 +f 12808//15364 13862//16147 13764//4692 +f 12450//16316 12807//24505 5554//24504 +f 11106//16437 12450//16316 5554//24504 +f 15680//185 5457//2953 3313//8253 +f 23132//8904 22048//8903 22145//6936 +f 28362//5334 30094//5342 30082//5335 +f 27267//5192 29423//24960 27082//5193 +f 15409//24961 1263//24905 20983//24962 +f 21066//21192 20983//24962 1263//24905 +f 21978//24963 21883//24904 1263//24905 +f 15409//24961 21978//24963 1263//24905 +f 21697//18160 21604//24906 21883//24904 +f 21978//24963 21697//18160 21883//24904 +f 12570//18159 3801//24668 21604//24906 +f 21697//18160 12570//18159 21604//24906 +f 26351//9604 30872//13186 30871//16700 +f 18418//11035 20674//2713 20949//17119 +f 19976//24964 20007//24965 20006//24907 +f 19975//24908 19976//24964 20006//24907 +f 20087//24966 20086//24909 20006//24907 +f 20007//24965 20087//24966 20006//24907 +f 20172//24967 20171//24910 20086//24909 +f 20087//24966 20172//24967 20086//24909 +f 20258//24968 20257//24911 20171//24910 +f 20172//24967 20258//24968 20171//24910 +f 20343//24969 20342//24912 20257//24911 +f 20258//24968 20343//24969 20257//24911 +f 20427//24970 20426//24913 20342//24912 +f 20343//24969 20427//24970 20342//24912 +f 20512//24971 20511//20297 20426//24913 +f 20427//24970 20512//24971 20426//24913 +f 20595//24972 24306//15546 24650//15542 +f 20512//24971 20594//20298 20511//20297 +f 15465//16315 14950//24539 12807//24505 +f 12450//16316 15465//16315 12807//24505 +f 23271//18663 23172//24571 14950//24539 +f 20839//23427 20838//18906 20756//15582 +f 35645//2707 35616//8945 35904//2708 +f 20919//24973 20918//24914 20838//18906 +f 20839//23427 20919//24973 20838//18906 +f 21002//24974 21001//24915 20918//24914 +f 20919//24973 21002//24974 20918//24914 +f 21002//24974 21088//24975 21087//24916 +f 21001//24915 21002//24974 21087//24916 +f 21088//24975 21176//24976 21175//24917 +f 21087//24916 21088//24975 21175//24917 +f 21176//24976 21263//24977 21262//24918 +f 21175//24917 21176//24976 21262//24918 +f 21263//24977 21353//24978 21352//24919 +f 21262//24918 21263//24977 21352//24919 +f 21353//24978 21444//24979 21443//24920 +f 21352//24919 21353//24978 21443//24920 +f 21444//24979 21534//22115 21533//24921 +f 21443//24920 21444//24979 21533//24921 +f 21178//16834 21265//2957 21264//24980 +f 21533//24921 21534//22115 21626//24922 +f 32788//23020 32787//21238 32666//20121 +f 23870//24981 24460//17010 25722//24982 +f 12541//17102 27378//18 29699//16810 +f 23545//14709 23838//24983 26121//23791 +f 22296//24984 22663//24985 22295//17467 +f 24306//15546 20595//24972 20596//23445 +f 21632//24986 26248//24186 24649//24187 +f 24357//16194 3331//16187 11333//16886 +f 22294//24527 23649//24987 24294//24528 +f 19989//24988 21632//24986 24649//24187 +f 25041//21485 25424//24989 25425//21483 +f 25239//24990 25101//24927 24130//23122 +f 25783//24991 20903//24992 26074//17649 +f 15534//18579 15403//16308 15535//16307 +f 25880//15700 25881//24993 26022//24112 +f 20986//24878 20824//24877 22878//23721 +f 20846//8737 20763//24994 24645//24995 +f 24689//24996 25227//24997 25719//24998 +f 24343//24937 25643//24939 24961//24941 +f 35855//6112 35837//1955 35771//1954 +f 24270//24999 25814//16485 17087//25000 +f 25102//24866 25240//14498 25786//24940 +f 13105//24946 21889//25001 23236//25002 +f 25894//25003 25895//23164 26036//25004 +f 24643//25005 23732//22048 24474//16232 +f 12536//23750 13105//24946 23236//25002 +f 26148//25006 4553//25007 4014//19579 +f 24298//11348 24299//17710 26677//6607 +f 25231//25008 25443//25009 23704//23876 +f 25711//25010 25652//17406 11943//25011 +f 12875//17190 12874//17764 12782//17766 +f 23429//25012 25966//25013 25964//25014 +f 11691//23682 24458//23620 24388//23619 +f 32554//2277 32553//20122 32446//19462 +f 21510//9383 25686//9382 26210//24346 +f 26210//24346 26067//25015 25063//15357 +f 13558//24766 2911//18878 20412//11521 +f 88//16572 5594//17507 10245//17470 +f 15609//14681 4664//14680 5338//17108 +f 11509//694 13666//16338 13472//23567 +f 20219//17610 20305//18602 20218//17611 +f 4550//15819 17100//6454 15092//6453 +f 20871//16974 20872//14939 20951//15808 +f 22355//479 21226//345 22259//8192 +f 20952//17516 21035//16361 21034//16360 +f 20951//15808 20952//17516 21034//16360 +f 18648//19883 18745//21346 18647//7253 +f 17130//3570 17129//19536 20981//3568 +f 21226//345 21314//344 22259//8192 +f 22738//12667 22147//9263 13788//15792 +f 21052//19305 6253//19126 16623//19312 +f 16331//19564 15482//8692 14922//17695 +f 21484//368 20698//12665 17085//2038 +f 20305//18602 20304//15727 20218//17611 +f 5486//18655 16850//19030 14863//18657 +f 22532//16106 20698//12665 21484//368 +f 30770//25016 27641//24355 30762//22584 +f 26703//21764 26815//5196 26814//5195 +f 20051//7855 20065//16677 20542//17584 +f 20066//4137 20575//1991 20564//1990 +f 19003//375 25344//16258 30534//2068 +f 33486//13823 33605//13822 33485//16028 +f 27055//2069 28362//5334 28360//5333 +f 20135//686 19003//375 30534//2068 +f 22751//19304 21052//19305 22344//8773 +f 21073//25017 30641//12352 27784//12445 +f 15465//16315 23271//18663 14950//24539 +f 22048//8903 23343//19313 22049//9216 +f 23271//18663 16934//23998 10117//24572 +f 23172//24571 23271//18663 10117//24572 +f 16934//23998 16618//24035 15031//24573 +f 32195//15806 32194//25018 32094//21170 +f 30872//13186 26351//9604 30873//13187 +f 15594//12606 16013//25019 22241//24951 +f 13619//7477 15594//12606 22241//24951 +f 16013//25019 13904//25020 23120//24952 +f 22241//24951 16013//25019 23120//24952 +f 13904//25020 15320//25021 23037//24953 +f 23120//24952 13904//25020 23037//24953 +f 15320//25021 23345//25022 23441//24954 +f 23037//24953 15320//25021 23441//24954 +f 23345//25022 22853//25023 23442//24955 +f 23441//24954 23345//25022 23442//24955 +f 22853//25023 16935//25024 21970//24956 +f 23442//24955 22853//25023 21970//24956 +f 16935//25024 20227//25025 20621//24957 +f 21970//24956 16935//25024 20621//24957 +f 14242//25026 6760//24958 20621//24957 +f 20227//25025 14242//25026 20621//24957 +f 14242//25026 20238//17618 20968//20035 +f 6760//24958 14242//25026 20968//20035 +f 22932//2612 22833//15870 17916//22524 +f 20398//21529 19646//21421 19643//21472 +f 79//4748 13393//17673 2230//23565 +f 17510//21746 17604//17641 20130//17643 +f 15464//7127 1624//7129 13946//17271 +f 33327//25027 33328//15988 33436//15990 +f 21674//2063 13018//2943 12559//1913 +f 1624//7129 11107//2422 13291//2421 +f 22729//23402 22734//23401 13273//17596 +f 10117//24572 16934//23998 15031//24573 +f 16618//24035 20033//24110 20032//24574 +f 15031//24573 16618//24035 20032//24574 +f 23034//6596 23132//8904 22145//6936 +f 20781//1592 23023//9180 20703//1593 +f 22134//17138 22133//18827 22037//257 +f 22036//258 22037//257 22133//18827 +f 10507//25028 15409//24961 21152//25029 +f 20983//24962 21152//25029 15409//24961 +f 15338//25030 21978//24963 15409//24961 +f 10507//25028 15338//25030 15409//24961 +f 21885//23148 21697//18160 21978//24963 +f 15338//25030 21885//23148 21978//24963 +f 8111//11346 4649//3314 4783//13864 +f 4783//13864 8559//11347 8111//11346 +f 20026//17429 18054//15116 18144//17430 +f 20309//4581 17941//15671 19712//22740 +f 20008//25031 20007//24965 19976//24964 +f 19977//10962 20008//25031 19976//24964 +f 20088//25032 20087//24966 20007//24965 +f 20008//25031 20088//25032 20007//24965 +f 20173//25033 20172//24967 20087//24966 +f 20088//25032 20173//25033 20087//24966 +f 20259//25034 20258//24968 20172//24967 +f 20173//25033 20259//25034 20172//24967 +f 20344//25035 20343//24969 20258//24968 +f 20259//25034 20344//25035 20258//24968 +f 20428//25036 20427//24970 20343//24969 +f 20344//25035 20428//25036 20343//24969 +f 20513//25037 20512//24971 20427//24970 +f 20428//25036 20513//25037 20427//24970 +f 20595//24972 20594//20298 20512//24971 +f 20513//25037 20595//24972 20512//24971 +f 20033//24110 20490//24817 20487//24575 +f 21568//20365 21682//16078 21395//16080 +f 35937//3639 35853//1339 35592//1338 +f 25716//17402 24302//22930 20758//17403 +f 20920//11 20919//24973 20839//23427 +f 20840//17401 20920//11 20839//23427 +f 21003//16893 21002//24974 20919//24973 +f 20920//11 21003//16893 20919//24973 +f 21003//16893 21089//16892 21088//24975 +f 21002//24974 21003//16893 21088//24975 +f 27845//22078 27961//16835 21004//13 +f 21088//24975 21089//16892 21176//24976 +f 21177//25038 21264//24980 21263//24977 +f 21176//24976 21177//25038 21263//24977 +f 21264//24980 21354//2959 21353//24978 +f 21263//24977 21264//24980 21353//24978 +f 21354//2959 21445//20640 21444//24979 +f 21353//24978 21354//2959 21444//24979 +f 21444//24979 21445//20640 21534//22115 +f 23557//25039 25965//25040 25534//25041 +f 26149//25042 26150//25043 26290//25044 +f 24957//17624 24324//25045 24860//17625 +f 24100//25046 25472//25047 25471//25048 +f 25313//15545 25022//15544 23668//25049 +f 26181//25050 26182//25051 26322//24454 +f 25537//25052 24610//24930 14253//20510 +f 25243//25053 25105//5606 30509//25054 +f 26323//24455 22004//24457 23652//24456 +f 23569//25055 23570//25056 30763//25057 +f 23649//24987 24718//17356 24222//24883 +f 12027//25058 24799//24181 24191//24183 +f 21729//17177 21823//17101 25250//17178 +f 25890//24859 25891//23852 26032//25059 +f 24268//23384 24783//25060 21816//25061 +f 24317//25062 25388//25063 24332//25064 +f 24391//24855 24235//24857 24176//24450 +f 23598//24814 26565//25065 26469//25066 +f 25956//8738 20846//8737 24645//24995 +f 32612//25067 32726//9725 32611//25068 +f 25643//24939 25102//24866 25786//24940 +f 22786//25069 22885//25070 22884//25071 +f 34940//19587 34939//17264 34810//17373 +f 32540//25072 32649//25073 32539//25074 +f 21488//24365 17758//21241 21672//24657 +f 19924//25075 23082//25076 23180//25077 +f 17758//21241 19383//21240 21672//24657 +f 25172//25078 24184//25079 25206//25080 +f 25070//25081 24948//24375 25071//24377 +f 24947//25082 11691//23682 24260//23681 +f 25205//25083 24047//25084 25206//25080 +f 21779//17757 25055//24380 21542//17758 +f 24808//25085 24809//25086 24174//25087 +f 12959//8360 23924//10331 12958//8359 +f 25484//23685 25628//24548 15318//24549 +f 13343//3559 13342//4864 13246//3530 +f 21544//25088 23982//25089 23850//25090 +f 23865//9381 23809//25091 24042//25092 +f 30926//13185 30984//9640 30925//20279 +f 11837//25093 24835//25094 11484//21982 +f 23982//25089 23865//9381 24042//25092 +f 11500//2581 12467//13887 15211//5280 +f 25606//15503 16756//3397 25607//3396 +f 16556//19695 16711//19657 4801//13600 +f 5188//9 12962//9959 17094//17161 +f 22355//479 22259//8192 15204//6708 +f 20756//15582 25716//17402 20840//17401 +f 17085//2038 22738//12667 13788//15792 +f 15194//16744 22355//479 15204//6708 +f 15194//16744 15204//6708 13788//15792 +f 22147//9263 15194//16744 13788//15792 +f 15083//565 11500//2581 15211//5280 +f 16022//10 17094//17161 20265//9328 +f 20434//861 20265//9328 12467//13887 +f 11500//2581 20434//861 12467//13887 +f 22433//367 22532//16106 21484//368 +f 20434//861 16022//10 20265//9328 +f 23126//16105 22532//16106 22433//367 +f 20698//12665 22738//12667 17085//2038 +f 23414//14975 23126//16105 15240//15 +f 15240//15 23126//16105 22433//367 +f 23414//14975 23317//865 12632//863 +f 23317//865 23414//14975 15240//15 +f 21206//13191 15469//13227 21205//1292 +f 21757//13815 23414//14975 12632//863 +f 22230//25095 22229//18841 22133//18827 +f 15469//13227 15468//862 21205//1292 +f 22145//6936 22048//8903 22049//9216 +f 22134//17138 22230//25095 22133//18827 +f 23023//9180 22437//9181 20703//1593 +f 23343//19313 22751//19304 13580//8772 +f 20032//24574 20033//24110 20487//24575 +f 21772//19512 22268//8854 5961//217 +f 20490//24817 21294//24819 21293//24576 +f 22535//14087 15192//25096 15594//12606 +f 22436//19165 22535//14087 15594//12606 +f 15192//25096 22046//25097 16013//25019 +f 15594//12606 15192//25096 16013//25019 +f 22046//25097 20869//25098 13904//25020 +f 16013//25019 22046//25097 13904//25020 +f 20869//25098 15203//25099 15320//25021 +f 13904//25020 20869//25098 15320//25021 +f 15203//25099 23247//25100 23345//25022 +f 15320//25021 15203//25099 23345//25022 +f 15069//25101 22853//25023 23345//25022 +f 23247//25100 15069//25101 23345//25022 +f 15069//25101 23234//25102 16935//25024 +f 22853//25023 15069//25101 16935//25024 +f 23234//25102 20228//25103 20227//25025 +f 16935//25024 23234//25102 20227//25025 +f 2523//25104 14242//25026 20227//25025 +f 20228//25103 2523//25104 20227//25025 +f 2523//25104 22161//1533 20238//17618 +f 14242//25026 2523//25104 20238//17618 +f 20026//17429 18235//22337 22057//22483 +f 20861//13495 20860//11110 18440//16591 +f 20535//2259 20541//16958 21303//18987 +f 13393//17673 13373//16742 13181//16290 +f 20884//20581 20964//17603 20963//16305 +f 20121//16210 20104//16679 20103//15859 +f 13856//754 13432//12508 20072//755 +f 21674//2063 21605//2062 13273//17596 +f 20487//24575 20490//24817 21293//24576 +f 21294//24819 22364//24811 22343//24577 +f 21293//24576 21294//24819 22343//24577 +f 22364//24811 6764//24810 9791//24578 +f 22343//24577 22364//24811 9791//24578 +f 22830//19515 23023//9180 22829//12518 +f 23121//19361 4665//16737 22268//8854 +f 22437//9181 23132//8904 23034//6596 +f 20703//1593 22437//9181 23034//6596 +f 9631//9289 5590//16861 23237//16859 +f 35063//17654 35064//5486 35192//7175 +f 12729//25105 10507//25028 9416//20620 +f 21152//25029 9416//20620 10507//25028 +f 1060//20476 15338//25030 10507//25028 +f 12729//25105 1060//20476 10507//25028 +f 21980//20475 21885//23148 15338//25030 +f 1060//20476 21980//20475 15338//25030 +f 20049//2257 20535//2259 20534//16968 +f 18314//15869 22930//15868 23127//22674 +f 16047//18158 15907//20280 12570//18159 +f 18557//21516 21047//17632 20964//17603 +f 22101//25106 24143//24149 26829//25107 +f 35064//5486 35193//10714 35192//7175 +f 22196//13658 22101//25106 19018//25108 +f 20260//14982 20259//25034 20173//25033 +f 12775//9337 24389//15761 12867//11819 +f 20345//25109 20344//25035 20259//25034 +f 20260//14982 20345//25109 20259//25034 +f 20429//25110 20428//25036 20344//25035 +f 34935//4854 34934//5487 34805//25111 +f 20514//25112 20513//25037 20428//25036 +f 20344//25035 20345//25109 20429//25110 +f 20428//25036 20429//25110 20514//25112 +f 20514//25112 20596//23445 20513//25037 +f 6764//24810 21371//24812 21368//24605 +f 15634//24591 16619//19690 14053//18293 +f 9791//24578 6764//24810 21368//24605 +f 31507//17465 31506//25113 31434//3528 +f 20921//12 20920//11 20840//17401 +f 20840//17401 27498//21985 20841//11438 +f 27613//1747 20840//17401 20841//11438 +f 24492//25114 25812//25115 13241//20088 +f 25812//25115 24492//25114 25820//23387 +f 21004//13 20921//12 27730//1748 +f 24779//20240 24208//20239 24157//25116 +f 22980//25117 21793//23281 12337//25118 +f 27961//16835 21178//16834 21089//16892 +f 21177//25038 21178//16834 21264//24980 +f 21264//24980 21265//2957 21354//2959 +f 3323//16890 11333//16886 13428//16803 +f 34806//4855 34805//25111 34677//14781 +f 21180//25119 25587//17073 24405//17077 +f 22587//23715 24127//23783 24748//23848 +f 24329//23642 23728//23713 24895//23898 +f 21913//24864 21180//25119 24405//17077 +f 34272//24889 34271//6198 34133//6042 +f 13270//23840 12192//19532 24160//25120 +f 24195//17266 24484//25121 21721//17267 +f 26039//25122 26040//25123 26181//25050 +f 26182//25051 26323//24455 26322//24454 +f 25214//25124 25665//25125 25289//21486 +f 25807//24831 25665//25125 25214//25124 +f 25467//17123 25466//10185 16753//908 +f 31812//24579 31813//24506 31918//24508 +f 24799//24181 24932//25126 23828//24182 +f 24932//25126 24933//25127 23828//24182 +f 14871//15208 14990//255 14989//254 +f 23647//25128 25671//25129 24901//25130 +f 34678//7929 34677//14781 34549//4762 +f 21424//23114 24951//23116 23799//23823 +f 22589//16559 22688//25131 22687//25132 +f 22588//16560 22589//16559 22687//25132 +f 22688//25131 22787//25133 22786//25069 +f 22687//25132 22688//25131 22786//25069 +f 22787//25133 22886//25134 22885//25070 +f 22786//25069 22787//25133 22885//25070 +f 22886//25134 22985//25135 22984//16457 +f 22885//25070 22886//25134 22984//16457 +f 22985//25135 23083//25136 23082//25076 +f 22984//16457 22985//25135 23082//25076 +f 23083//25136 23181//25137 23180//25077 +f 23278//25138 23180//25077 23181//25137 +f 23181//25137 23279//25139 23278//25138 +f 23278//25138 23375//25140 21475//25141 +f 23279//25139 23376//25142 23375//25140 +f 21475//25141 23472//25143 16597//20928 +f 23376//25142 23473//25144 23472//25143 +f 15317//25145 23472//25143 23473//25144 +f 23473//25144 15191//25146 15317//25145 +f 22588//16560 22687//25132 30330//25147 +f 31364//25148 31431//25149 31363//25150 +f 15191//25146 15459//25151 15317//25145 +f 26198//25152 23549//24803 26141//23154 +f 24111//1927 24433//23648 24267//1928 +f 11668//14132 27180//14131 27179//14580 +f 23799//23823 23618//24634 25068//23824 +f 24580//15480 25209//23786 24208//20239 +f 26284//25153 13080//25154 26283//23185 +f 12194//25155 23959//25156 3800//25157 +f 25050//16807 25784//25158 19565//22776 +f 21244//15475 23504//15473 25099//25159 +f 24483//3138 24145//25160 16759//25161 +f 23922//23671 25301//23800 263//23669 +f 21606//16486 21244//15475 25099//25159 +f 16022//10 5188//9 17094//17161 +f 23724//25162 26100//25163 24308//25164 +f 13655//14866 13557//784 15463//1029 +f 15595//9526 13655//14866 15463//1029 +f 13466//9423 13562//366 12871//9424 +f 15590//136 15726//15428 15072//1415 +f 13562//366 13466//9423 12962//9959 +f 14908//1420 7904//1517 16607//17303 +f 5188//9 13562//366 12962//9959 +f 13562//366 14908//1420 12871//9424 +f 12871//9424 14908//1420 16607//17303 +f 7904//1517 7458//851 12831//17503 +f 16607//17303 7904//1517 12831//17503 +f 7458//851 13663//853 13662//17433 +f 12892//17602 20367//16692 14686//590 +f 21139//12848 21134//418 20366//587 +f 27047//979 28357//363 28356//362 +f 20367//16692 20366//587 14686//590 +f 35234//25165 22326//12319 22229//18841 +f 19599//21892 19821//22587 18038//22020 +f 17088//18452 21772//19512 5961//217 +f 22231//3380 35105//25166 22230//25095 +f 21371//24812 9741//24153 12656//24640 +f 23018//23689 23017//15772 22918//16863 +f 21368//24605 21371//24812 12656//24640 +f 9741//24153 7075//24152 21854//24641 +f 11565//14086 14334//25167 15192//25096 +f 11955//5040 11402//1038 13281//5041 +f 14334//25167 22242//25168 22046//25097 +f 15192//25096 14334//25167 22046//25097 +f 22242//25168 22076//25169 20869//25098 +f 22046//25097 22242//25168 20869//25098 +f 22076//25169 12468//25170 15203//25099 +f 20869//25098 22076//25169 15203//25099 +f 12468//25170 23149//25171 23247//25100 +f 15203//25099 12468//25170 23247//25100 +f 23149//25171 13382//25172 15069//25101 +f 23247//25100 23149//25171 15069//25101 +f 13382//25172 21875//25173 23234//25102 +f 15069//25101 13382//25172 23234//25102 +f 20314//21389 20228//25103 23234//25102 +f 21875//25173 20314//21389 23234//25102 +f 3590//1851 2523//25104 20228//25103 +f 20314//21389 3590//1851 20228//25103 +f 2846//5845 9505//14128 9390//14083 +f 2523//25104 3590//1851 22161//1533 +f 5417//17772 11122//4743 14156//4742 +f 16190//15885 21885//23148 21980//20475 +f 13373//16742 14252//8946 14251//17773 +f 13181//16290 13373//16742 14251//17773 +f 13961//2423 19983//24169 20047//18389 +f 20883//16304 20884//20581 20963//16305 +f 20242//753 20072//755 14433//1996 +f 25270//3139 12753//2962 25413//25174 +f 12656//24640 9741//24153 21854//24641 +f 23122//18698 23220//24642 21854//24641 +f 7075//24152 23122//18698 21854//24641 +f 18521//18697 20945//24643 23220//24642 +f 23122//18698 18521//18697 23220//24642 +f 21286//18453 17088//18452 21285//8376 +f 22164//19463 122//19464 15540//17890 +f 21772//19512 23121//19361 22268//8854 +f 23023//9180 20781//1592 22829//12518 +f 22830//19515 22829//12518 4665//16737 +f 23121//19361 22830//19515 4665//16737 +f 27046//6345 27047//979 28356//362 +f 22620//16830 22619//2731 22520//14130 +f 23789//20621 23788//25175 15153//20622 +f 275//18272 16109//18271 23939//25176 +f 16939//25177 12729//25105 15153//20622 +f 1681//25178 16939//25177 15153//20622 +f 14059//23446 1060//20476 12729//25105 +f 16939//25177 14059//23446 12729//25105 +f 14059//23446 16335//19315 1060//20476 +f 16518//18404 9293//357 16366//356 +f 8559//11347 4783//13864 789//2911 +f 20308//14591 20307//23782 17703//14592 +f 22161//1533 3590//1851 18048//15967 +f 27672//21553 12269//7239 27555//17327 +f 19148//8328 4955//3018 19768//20614 +f 17970//15342 17969//19384 17877//15343 +f 15561//561 18139//9459 19862//6629 +f 20346//25179 20345//25109 20260//14982 +f 34275//3132 34413//3131 34274//23797 +f 24929//25180 24677//25181 24930//24367 +f 25858//25182 26234//24378 23517//24117 +f 23733//8595 24397//24277 23547//23199 +f 14043//12730 14239//15585 14143//19329 +f 24132//16476 25302//16478 24695//25183 +f 24979//25184 20843//23659 25532//25185 +f 26424//25186 31955//25187 32055//25188 +f 18669//17669 20106//4582 19712//22740 +f 25913//25189 23715//25190 22779//25191 +f 21890//12457 23556//23599 23807//17269 +f 23556//23599 15219//25192 23807//17269 +f 22291//10958 25917//25193 25774//25194 +f 22386//17560 25923//23175 25494//23174 +f 24104//25195 24869//25196 24426//25197 +f 24072//24185 23558//17176 25250//17178 +f 12108//23656 23529//25198 23059//23657 +f 24755//16484 26204//25199 24485//25200 +f 35683//8515 35515//17974 21648//13470 +f 23337//25201 24687//25202 24536//17349 +f 12111//17870 26058//17348 24344//17350 +f 21910//25203 25855//18442 21814//25204 +f 26290//25044 26291//25205 23765//25206 +f 25614//2411 25756//25207 25755//25208 +f 25613//16731 25614//2411 25755//25208 +f 24037//25209 23976//25210 25916//25211 +f 23972//16031 24031//17042 23971//25212 +f 24740//25213 24188//25214 26208//25215 +f 23912//19595 23971//25212 23911//25216 +f 24932//25126 4231//25217 24933//25127 +f 4231//25217 24698//5070 24933//25127 +f 12215//3449 5564//16690 12119//10950 +f 6923//14783 26799//10521 11705//14856 +f 22491//22626 22590//22628 22589//16559 +f 30065//21810 22490//16558 22588//16560 +f 22590//22628 22689//25218 22688//25131 +f 22589//16559 22590//22628 22688//25131 +f 22689//25218 22788//25219 22787//25133 +f 22688//25131 22689//25218 22787//25133 +f 22788//25219 22887//25220 22886//25134 +f 22787//25133 22788//25219 22886//25134 +f 22887//25220 22986//25221 22985//25135 +f 22886//25134 22887//25220 22985//25135 +f 22986//25221 23084//25222 23083//25136 +f 22985//25135 22986//25221 23083//25136 +f 23084//25222 23182//25223 23181//25137 +f 23083//25136 23084//25222 23181//25137 +f 23182//25223 23280//25224 23279//25139 +f 23181//25137 23182//25223 23279//25139 +f 23280//25224 23377//25225 23376//25142 +f 23279//25139 23280//25224 23376//25142 +f 23377//25225 23474//25226 23473//25144 +f 23376//25142 23377//25225 23473//25144 +f 23474//25226 15190//25227 15191//25146 +f 23473//25144 23474//25226 15191//25146 +f 15190//25227 15727//25228 15459//25151 +f 15191//25146 15190//25227 15459//25151 +f 9888//25229 8975//14860 15459//25151 +f 15727//25228 9888//25229 15459//25151 +f 20097//22786 26939//22065 20183//22622 +f 9888//25229 1451//14861 8975//14860 +f 25979//23110 24492//25114 16931//20087 +f 35847//8310 35888//3122 35559//12364 +f 25316//25230 22290//25231 23510//25232 +f 22290//25231 23555//25233 23510//25232 +f 26168//25234 26309//25235 26308//25236 +f 26100//25163 26101//23171 24308//25164 +f 24176//24450 24235//24857 25533//24447 +f 24791//25237 24524//25238 15592//25239 +f 4546//25240 12274//25241 24782//23144 +f 24877//25242 25493//25243 22079//25244 +f 15738//5281 15739//778 13557//784 +f 13655//14866 15738//5281 13557//784 +f 15073//9525 15595//9526 15463//1029 +f 22415//245 22513//246 22414//8892 +f 15726//15428 15073//9525 15072//1415 +f 15072//1415 15073//9525 15463//1029 +f 172//9359 14763//497 23399//655 +f 23400//9360 172//9359 23399//655 +f 12872//794 12628//583 12627//16386 +f 14913//16385 12872//794 12627//16386 +f 16922//15444 7789//15443 16918//371 +f 5354//16629 14237//878 2624//1656 +f 12892//17602 14686//590 14237//878 +f 7789//15443 5354//16629 2624//1656 +f 4659//19067 10690//15577 4066//19387 +f 4065//15579 12638//15777 15082//19338 +f 4505//15779 17090//2811 20267//19425 +f 4066//19387 4065//15579 15082//19338 +f 22620//16830 22719//16865 22619//2731 +f 15324//18882 14043//12730 14143//19329 +f 22919//23839 23018//23689 22918//16863 +f 12747//15373 12840//3508 23447//15314 +f 23116//23690 23115//15705 23017//15772 +f 21325//24644 22635//20127 22634//24753 +f 22919//23839 22918//16863 22819//579 +f 30829//11027 30828//107 30694//2472 +f 15879//14085 23229//25245 14334//25167 +f 11565//14086 15192//25096 22535//14087 +f 23229//25245 22243//25246 22242//25168 +f 14334//25167 23229//25245 22242//25168 +f 22243//25246 20806//25247 22076//25169 +f 22242//25168 22243//25246 22076//25169 +f 20806//25247 5730//25248 12468//25170 +f 22076//25169 20806//25247 12468//25170 +f 5730//25248 20368//25249 23149//25171 +f 12468//25170 5730//25248 23149//25171 +f 20368//25249 7088//25250 13382//25172 +f 23149//25171 20368//25249 13382//25172 +f 7088//25250 21780//25251 21875//25173 +f 13382//25172 7088//25250 21875//25173 +f 18403//1850 18048//15967 3590//1851 +f 21875//25173 21780//25251 20314//21389 +f 18921//2695 5818//9721 5949//9639 +f 5949//9639 5816//2696 18921//2695 +f 18535//19650 17755//22314 19487//22279 +f 21587//16322 21495//1879 16858//19557 +f 13393//17673 15095//24750 2230//23565 +f 30591//2314 30725//2464 30590//2466 +f 20881//24703 20882//16203 20961//24053 +f 79//4748 2230//23565 13298//14679 +f 21384//3391 22660//15574 22635//20127 +f 7364//8666 14252//8946 13373//16742 +f 15638//4747 13856//754 20242//753 +f 23985//4294 30784//25252 30785//4295 +f 21303//18987 21325//24644 22634//24753 +f 18479//8290 1208//8032 18384//21732 +f 21218//15296 21219//19300 22158//17885 +f 20408//19518 21219//19300 21218//15296 +f 22158//17885 22164//19463 15540//17890 +f 17088//18452 5961//217 21285//8376 +f 122//19464 21286//18453 21285//8376 +f 15540//17890 122//19464 21285//8376 +f 22521//4447 22620//16830 22520//14130 +f 22719//16865 22718//2732 22619//2731 +f 3603//25253 23787//25254 23843//10235 +f 23842//20980 23177//24926 3603//25253 +f 23996//18385 581//18383 275//18272 +f 23177//24926 20320//23067 3603//25253 +f 16617//19450 1681//25178 20946//25255 +f 20320//23067 16617//19450 20946//25255 +f 20664//433 16939//25177 1681//25178 +f 16617//19450 20664//433 1681//25178 +f 12469//16439 14059//23446 16939//25177 +f 20664//433 12469//16439 16939//25177 +f 16179//18653 16387//18623 4951//18233 +f 17624//22901 19929//16165 18869//17030 +f 11107//2422 15092//6453 19983//24169 +f 20800//16201 20882//16203 20881//24703 +f 3311//16229 2803//18348 2083//20834 +f 21579//9110 21593//17597 4908//15821 +f 18176//2264 12826//11919 7364//8666 +f 11553//16858 1833//9899 13204//15386 +f 14101//18075 14100//18000 14003//11221 +f 11726//3596 35816//8209 21306//8208 +f 2769//17112 7108//17535 22450//16394 +f 34001//15614 34137//15729 34000//16884 +f 27847//5943 27848//10036 27963//5944 +f 23407//15456 23406//10187 23309//6939 +f 12285//3507 3067//3525 6266//15315 +f 23310//15454 23407//15456 23309//6939 +f 24243//22619 26679//20250 26678//20249 +f 11553//16858 13204//15386 16462//15388 +f 20215//1406 20214//1408 20129//23512 +f 20130//17643 20215//1406 20129//23512 +f 26806//5904 20261//14981 26805//24718 +f 25968//23594 25826//25256 24377//23595 +f 15554//2576 15680//185 16491//177 +f 20741//19197 24269//17265 26204//25199 +f 24081//23617 20741//19197 24414//19199 +f 23143//25257 21145//25258 21319//25259 +f 25755//25208 25756//25207 25897//25260 +f 22956//24603 22658//24665 23055//24666 +f 24674//25261 19916//3622 4635//25262 +f 25898//25263 26040//25123 26039//25122 +f 16441//2282 25615//2284 16442//2249 +f 16147//9295 25763//9011 16148//9010 +f 25617//3212 25759//25264 25758//23140 +f 23551//25265 22005//25266 21816//25061 +f 25616//2283 25617//3212 25758//23140 +f 25759//25264 25901//25267 25900//23162 +f 26196//17869 26195//17871 26053//23264 +f 25758//23140 25759//25264 25900//23162 +f 6281//4139 28682//14757 5556//8364 +f 25756//25207 25898//25263 25897//25260 +f 24045//25268 24426//25197 16313//25269 +f 30621//22554 35498//2477 35520//7170 +f 4231//25217 25351//5068 24698//5070 +f 25757//23141 25899//23163 25898//25263 +f 24740//25213 26208//25215 26207//25270 +f 25432//25271 16312//25272 4231//25217 +f 20825//16644 24013//24268 24438//16645 +f 14483//6691 24093//6693 14560//18749 +f 22492//22627 22591//25273 22590//22628 +f 30066//18784 22491//22626 22490//16558 +f 30621//22554 35374//2478 35498//2477 +f 22590//22628 22591//25273 22689//25218 +f 22690//25274 22591//25273 30334//25275 +f 22689//25218 22690//25274 22788//25219 +f 22789//25276 22888//25277 22887//25220 +f 22788//25219 22789//25276 22887//25220 +f 22888//25277 22987//25278 22986//25221 +f 22887//25220 22888//25277 22986//25221 +f 22987//25278 23085//25279 23084//25222 +f 22986//25221 22987//25278 23084//25222 +f 23085//25279 23183//25280 23182//25223 +f 23084//25222 23085//25279 23182//25223 +f 23281//25281 23280//25224 23182//25223 +f 23183//25280 23281//25281 23182//25223 +f 23281//25281 23378//25282 23377//25225 +f 23280//25224 23281//25281 23377//25225 +f 23378//25282 23475//25283 23474//25226 +f 23377//25225 23378//25282 23474//25226 +f 23475//25283 35//25284 15190//25227 +f 23474//25226 23475//25283 15190//25227 +f 35//25284 15591//25285 15727//25228 +f 15190//25227 35//25284 15727//25228 +f 13965//25286 9888//25229 15727//25228 +f 15591//25285 13965//25286 15727//25228 +f 1566//25287 1451//14861 9888//25229 +f 13965//25286 1566//25287 9888//25229 +f 35391//8726 22436//19165 35668//3313 +f 1566//25287 15207//22077 1451//14861 +f 23724//25162 24308//25164 23510//25232 +f 23555//25233 23724//25162 23510//25232 +f 12274//25241 11885//15492 24782//23144 +f 25073//25288 23364//25289 25023//25290 +f 20907//25291 4546//25240 24782//23144 +f 24524//25238 25095//25292 15592//25239 +f 24027//25293 4546//25240 23727//8596 +f 11885//15492 12216//22932 24782//23144 +f 22513//246 22612//490 22611//15633 +f 25538//25294 21537//25295 25684//25296 +f 22512//10334 22513//246 22611//15633 +f 22612//490 22711//492 22710//17095 +f 22611//15633 22612//490 22710//17095 +f 22711//492 22810//619 22809//17089 +f 23107//1917 23205//1916 23204//3562 +f 23106//3561 23107//1917 23204//3562 +f 12628//583 13280//25297 13185//16384 +f 12627//16386 12628//583 13185//16384 +f 22958//15435 16922//15444 22859//370 +f 7789//15443 2624//1656 16918//371 +f 16766//2813 13337//15346 13433//18861 +f 15880//19045 16766//2813 13433//18861 +f 12638//15777 4505//15779 2768//18974 +f 15082//19338 12638//15777 2768//18974 +f 20091//642 34995//23117 20010//15389 +f 15747//15708 16462//15388 16773//15387 +f 17841//25298 17913//22344 30832//22307 +f 16774//8421 16773//15387 20010//15389 +f 35680//12738 35620//14064 14176//16264 +f 8661//22166 29955//21763 28477//5891 +f 25901//25267 26043//25299 26042//23165 +f 28372//17713 28494//16044 28736//5205 +f 27137//21992 28367//23098 28365//8362 +f 24359//14151 15813//18829 25190//18831 +f 17871//22515 20190//25300 17774//22004 +f 20363//18071 20447//5557 20446//16891 +f 18336//21284 19017//20036 19436//1535 +f 30929//3918 30987//4732 30928//14325 +f 13796//18550 23327//25301 23229//25245 +f 15879//14085 13796//18550 23229//25245 +f 23327//25301 23035//25302 22243//25246 +f 23229//25245 23327//25301 22243//25246 +f 23035//25302 20805//25303 20806//25247 +f 22243//25246 23035//25302 20806//25247 +f 20805//25303 11401//25304 5730//25248 +f 20806//25247 20805//25303 5730//25248 +f 11401//25304 20369//25305 20368//25249 +f 5730//25248 11401//25304 20368//25249 +f 20369//25305 12938//25306 7088//25250 +f 20368//25249 20369//25305 7088//25250 +f 12938//25306 21687//25307 21780//25251 +f 7088//25250 12938//25306 21780//25251 +f 35611//2797 35828//2798 35520//7170 +f 21687//25307 20315//21418 21780//25251 +f 22427//14935 33925//22378 22428//16049 +f 21132//18758 21046//17604 18653//22176 +f 20308//14591 20393//17668 20392//1906 +f 21040//9147 18647//7253 21039//3382 +f 15095//24750 13393//17673 13181//16290 +f 14590//15504 14346//23640 5417//17772 +f 24261//25308 25256//25309 23705//25310 +f 20048//23781 20534//16968 20492//23582 +f 352//19555 23999//19572 23998//25311 +f 19983//24169 13960//6455 20048//23781 +f 21038//3383 18646//16649 21037//18665 +f 20792//1434 20793//18599 20874//228 +f 4285//2984 2054//385 20485//672 +f 33866//15539 34001//15614 33865//17947 +f 12840//3508 12285//3507 23447//15314 +f 1833//9899 7438//3526 8675//15385 +f 20407//15295 20408//19518 21218//15296 +f 21219//19300 22164//19463 22158//17885 +f 22818//16908 22817//14862 22718//2732 +f 22719//16865 22818//16908 22718//2732 +f 6273//25312 23840//21242 20974//25313 +f 441//25314 23897//24167 23956//14712 +f 33866//15539 33865//17947 33731//24809 +f 20975//25315 6273//25312 20974//25313 +f 7926//25316 23177//24926 171//7669 +f 6273//25312 7926//25316 171//7669 +f 20901//19538 20320//23067 23177//24926 +f 7926//25316 20901//19538 23177//24926 +f 20901//19538 16801//19539 20320//23067 +f 16801//19539 16800//8806 16617//19450 +f 20374//16959 17981//16528 17980//21330 +f 20304//15727 20303//18626 17701//22226 +f 16642//435 16486//19316 12469//16439 +f 12269//7239 27672//21553 12354//13738 +f 34970//25317 6932//15146 35098//13760 +f 23240//23090 21489//3258 7081//6401 +f 21578//24168 21485//4577 5276//9234 +f 23899//20979 23898//7668 6255//7667 +f 20861//13495 18441//22607 18537//13493 +f 7438//3526 7881//15384 8675//15385 +f 3929//6031 13338//15404 13886//15409 +f 14255//13270 16938//18844 21030//15286 +f 21030//15286 20144//19609 20407//15295 +f 12907//15313 16016//18798 14255//13270 +f 20144//19609 20408//19518 20407//15295 +f 23447//15314 12285//3507 6266//15315 +f 16938//18844 20144//19609 21030//15286 +f 3067//3525 16016//18798 12907//15313 +f 6266//15315 3067//3525 12907//15313 +f 23212//15848 23310//15454 23309//6939 +f 23211//6938 23212//15848 23309//6939 +f 14065//12750 15043//18744 23406//10187 +f 23407//15456 14065//12750 23406//10187 +f 15747//15708 11553//16858 16462//15388 +f 1833//9899 8675//15385 13204//15386 +f 18429//22898 19698//22831 17717//17670 +f 16774//8421 15747//15708 16773//15387 +f 18615//19131 20134//2545 21318//23423 +f 33605//13822 33732//15540 33604//16029 +f 20923//23198 25447//14689 3989//16554 +f 20695//2779 20777//11041 20776//4672 +f 25900//23162 25901//25267 26042//23165 +f 26043//25299 26185//25318 26184//23169 +f 26042//23165 26043//25299 26184//23169 +f 26185//25318 26326//25319 26325//23194 +f 24619//24495 25862//19984 25769//19983 +f 26184//23169 26185//25318 26325//23194 +f 25897//25260 25898//25263 26039//25122 +f 25920//25320 23605//23095 24867//25321 +f 24092//25322 24151//20981 24091//25323 +f 26040//25123 26182//25051 26181//25050 +f 24468//18621 24431//14832 28125//14834 +f 22883//23644 23936//25324 23679//25325 +f 9533//14375 3849//9827 9543//13155 +f 26205//25326 21334//25327 22080//25328 +f 26326//25319 26060//25329 24271//23197 +f 26325//23194 26326//25319 24271//23197 +f 26060//25329 24800//25330 12275//23224 +f 24271//23197 26060//25329 12275//23224 +f 32946//2935 33052//17566 32945//12264 +f 26115//23652 24372//25331 11839//8594 +f 24504//25332 25331//25333 25020//25334 +f 26696//25335 26082//6186 25214//25124 +f 739//17132 738//19483 26143//19484 +f 24744//16511 24985//25336 24982//24007 +f 25596//4273 4193//173 25597//14161 +f 24727//25337 25203//25338 22858//25339 +f 24944//25340 12277//25341 20153//24304 +f 24391//24855 23276//24863 22298//24436 +f 20763//24994 21450//25342 23690//25343 +f 26098//25344 24135//25345 24999//25346 +f 24833//25347 19987//16757 24946//25348 +f 22492//22627 22491//22626 30067//15044 +f 24849//17408 25591//17407 23706//25349 +f 20356//25350 23813//25351 20355//25352 +f 24921//17367 23660//25353 25142//25354 +f 25923//23175 24354//25355 25513//25356 +f 22790//25357 22889//25358 22888//25277 +f 22789//25276 22790//25357 22888//25277 +f 22889//25358 22988//25359 22987//25278 +f 22888//25277 22889//25358 22987//25278 +f 22988//25359 23086//25360 23085//25279 +f 22987//25278 22988//25359 23085//25279 +f 23184//25361 23183//25280 23085//25279 +f 23086//25360 23184//25361 23085//25279 +f 23282//25362 23281//25281 23183//25280 +f 23184//25361 23282//25362 23183//25280 +f 23282//25362 23379//25363 23378//25282 +f 23281//25281 23282//25362 23378//25282 +f 23379//25363 23476//25364 23475//25283 +f 23378//25282 23379//25363 23475//25283 +f 23476//25364 6664//25365 35//25284 +f 23475//25283 23476//25364 35//25284 +f 15728//25366 15591//25285 35//25284 +f 6664//25365 15728//25366 35//25284 +f 233//25367 13965//25286 15591//25285 +f 15728//25366 233//25367 15591//25285 +f 1682//25368 1566//25287 13965//25286 +f 233//25367 1682//25368 13965//25286 +f 15081//25369 15207//22077 1566//25287 +f 1682//25368 15081//25369 1566//25287 +f 15632//24835 23636//22512 23153//24723 +f 15081//25369 16018//2116 15207//22077 +f 22392//25370 12340//23094 25502//25371 +f 12688//2117 16018//2116 15340//19134 +f 23364//25289 25025//25372 25023//25290 +f 24930//24367 25229//25373 24931//24368 +f 24462//25374 22684//25375 23530//17273 +f 25229//25373 24677//25181 20262//18760 +f 4553//25007 13366//25376 13367//25377 +f 23080//25378 24449//17287 23461//25379 +f 18074//16279 20543//17353 18167//16320 +f 13366//25376 12194//25155 15604//25380 +f 22710//17095 22711//492 22809//17089 +f 22810//619 22909//596 22908//16938 +f 23205//1916 23303//9112 23302//876 +f 23204//3562 23205//1916 23302//876 +f 13280//25297 13864//25381 13765//15656 +f 13765//15656 13864//25381 2919//16633 +f 13863//15872 8479//15439 12392//25382 +f 13864//25381 13863//15872 12392//25382 +f 13337//15346 13858//15348 13760//18862 +f 13433//18861 13337//15346 13760//18862 +f 13245//23623 9395//23618 13886//15409 +f 15410//15347 13245//23623 13886//15409 +f 16926//23622 13245//23623 15410//15347 +f 16925//8476 16926//23622 15410//15347 +f 19643//21472 21594//21473 21503//25383 +f 456//14942 21468//15228 21467//10730 +f 17900//3968 17803//3967 17804//19780 +f 2083//20834 23146//16230 3311//16229 +f 19758//21476 16552//19265 18556//19264 +f 17760//15907 19854//22738 17654//16175 +f 35797//2806 35635//16736 11809//19592 +f 14584//405 14505//1358 8258//1943 +f 20696//11039 20615//2778 18251//22432 +f 19211//19713 18514//16157 18718//20544 +f 18846//17838 18845//21435 18747//21217 +f 12570//18159 15907//20280 3801//24668 +f 15879//14085 14334//25167 11565//14086 +f 29687//5313 22248//23369 21494//23368 +f 13054//18551 23424//25384 23327//25301 +f 13796//18550 13054//18551 23327//25301 +f 23424//25384 23329//25385 23035//25302 +f 23327//25301 23424//25384 23035//25302 +f 23329//25385 20496//25386 20805//25303 +f 23035//25302 23329//25385 20805//25303 +f 14853//25387 11401//25304 20805//25303 +f 20496//25386 14853//25387 20805//25303 +f 20370//25388 20369//25305 11401//25304 +f 14853//25387 20370//25388 11401//25304 +f 20370//25388 22753//25389 12938//25306 +f 20369//25305 20370//25388 12938//25306 +f 22753//25389 21594//21473 21687//25307 +f 12938//25306 22753//25389 21687//25307 +f 21594//21473 19642//21420 21687//25307 +f 9863//223 19699//15403 16454//15422 +f 20717//24702 20718//16314 20799//24039 +f 19537//17587 15195//17586 21313//20912 +f 16612//16293 2911//18878 13558//24766 +f 13571//4694 11777//6319 11862//17613 +f 23123//10110 23127//22674 22930//15868 +f 11549//16838 13298//14679 15609//14681 +f 33179//25390 33284//25391 33178//25392 +f 16801//19539 16962//347 16800//8806 +f 6259//17688 21578//24168 5276//9234 +f 4955//3018 19148//8328 4819//2794 +f 18485//16158 20052//21001 20025//21423 +f 20219//17610 17512//21590 17607//21587 +f 34079//25393 3095//5783 34329//5782 +f 16769//23566 16932//15399 13338//15404 +f 7438//3526 12840//3508 12747//15373 +f 7881//15384 7438//3526 12747//15373 +f 23955//15194 20059//23111 441//25314 +f 21394//23112 11712//2663 21576//25394 +f 25139//23177 25005//14505 2253//7137 +f 21576//25394 20647//23113 21394//23112 +f 21057//25395 20975//25315 20059//23111 +f 20647//23113 21057//25395 20059//23111 +f 3474//25396 6273//25312 20975//25315 +f 21057//25395 3474//25396 20975//25315 +f 13423//3569 7926//25316 6273//25312 +f 3474//25396 13423//3569 6273//25312 +f 20981//3568 20901//19538 7926//25316 +f 13423//3569 20981//3568 7926//25316 +f 14744//17980 16859//18232 5473//18231 +f 3616//15292 3487//15291 21683//14451 +f 16945//19573 352//19555 464//19556 +f 26357//18757 26359//22613 26400//22408 +f 17791//16802 17887//17882 17886//22918 +f 21052//19305 16038//7441 22344//8773 +f 13341//9032 11280//906 929//2611 +f 11107//2422 19983//24169 13961//2423 +f 30828//107 17817//2113 30827//108 +f 1576//384 6118//671 2054//385 +f 9395//23618 3929//6031 13886//15409 +f 5697//15459 5829//23825 17089//2812 +f 22917//16864 22916//7279 22817//14862 +f 22917//16864 23016//15773 22916//7279 +f 22818//16908 22917//16864 22817//14862 +f 23016//15773 23015//2542 22916//7279 +f 23114//15707 23113//2543 23015//2542 +f 23016//15773 23114//15707 23015//2542 +f 23114//15707 23212//15848 23211//6938 +f 23113//2543 23114//15707 23211//6938 +f 14065//12750 14043//12730 15324//18882 +f 15043//18744 14065//12750 15324//18882 +f 10690//15577 4659//19067 16758//19068 +f 20367//16692 21139//12848 20366//587 +f 16757//15578 10690//15577 16758//19068 +f 10690//15577 4065//15579 4066//19387 +f 13271//19739 12111//17870 26196//17869 +f 24249//25397 24288//19848 25565//19850 +f 24800//25330 24085//25398 25427//23241 +f 33373//2046 33372//15379 33263//3336 +f 12275//23224 24800//25330 25427//23241 +f 24085//25398 25157//25399 25296//23280 +f 25427//23241 24085//25398 25296//23280 +f 25157//25399 23837//25400 24883//23298 +f 26194//20125 26193//25401 26051//25402 +f 25296//23280 25157//25399 24883//23298 +f 25722//24982 23876//20583 23870//24981 +f 23587//15916 24625//25403 24624//15917 +f 32837//2936 32945//12264 32944//20905 +f 24777//24645 24203//24647 23654//25404 +f 25359//14694 24859//25405 14795//25406 +f 20016//25407 19236//4918 22289//25408 +f 21453//16809 25051//16808 25052//3620 +f 13305//1924 35928//7567 35431//1925 +f 30870//16701 30869//21337 21631//25409 +f 23622//23692 24288//19848 24249//25397 +f 23837//25400 12644//25410 24651//23363 +f 25496//22620 2543//22621 25497//25411 +f 24883//23298 23837//25400 24651//23363 +f 12644//25410 25811//25412 24600//23538 +f 24720//23539 24672//23585 24824//24242 +f 24651//23363 12644//25410 24600//23538 +f 25191//25413 21635//25414 25330//25415 +f 337//11074 25218//2767 23621//25416 +f 20886//24448 14253//20510 25390//20512 +f 25331//25333 25191//25413 25330//25415 +f 26023//25417 26165//25418 26164//25419 +f 25390//20512 25395//20511 24044//25420 +f 25607//3396 25749//23850 25748//25421 +f 24184//25079 25205//25083 25206//25080 +f 24645//24995 20763//24994 23690//25343 +f 24235//24857 25537//25052 25533//24447 +f 25474//25422 25475//25423 23531//25424 +f 23817//10889 25392//25425 21450//25342 +f 25017//15543 26259//25426 25022//15544 +f 24810//25427 24833//25347 24946//25348 +f 22789//25276 30468//25428 22790//25357 +f 23986//25429 26061//25430 25918//17009 +f 22692//25431 22791//25432 22790//25357 +f 23814//9603 21631//25409 26394//25433 +f 22791//25432 22890//25434 22889//25358 +f 22790//25357 22791//25432 22889//25358 +f 22890//25434 22989//25435 22988//25359 +f 22889//25358 22890//25434 22988//25359 +f 22989//25435 23087//25436 23086//25360 +f 22988//25359 22989//25435 23086//25360 +f 23185//25437 23184//25361 23086//25360 +f 23087//25436 23185//25437 23086//25360 +f 23185//25437 23283//25438 23282//25362 +f 23184//25361 23185//25437 23282//25362 +f 23283//25438 23380//25439 23379//25363 +f 23282//25362 23283//25438 23379//25363 +f 23380//25439 23477//25440 23476//25364 +f 23379//25363 23380//25439 23476//25364 +f 23477//25440 794//25441 6664//25365 +f 23476//25364 23477//25440 6664//25365 +f 15729//25442 15728//25366 6664//25365 +f 794//25441 15729//25442 6664//25365 +f 5728//25443 233//25367 15728//25366 +f 15729//25442 5728//25443 15728//25366 +f 1798//25444 1682//25368 233//25367 +f 5728//25443 1798//25444 233//25367 +f 15208//25445 15081//25369 1682//25368 +f 1798//25444 15208//25445 1682//25368 +f 16160//25446 16018//2116 15081//25369 +f 15208//25445 16160//25446 15081//25369 +f 35784//184 35403//1950 35886//1949 +f 16160//25446 15340//19134 16018//2116 +f 22759//1639 12357//25447 20823//1640 +f 25452//24241 23995//23364 24824//24242 +f 34137//15729 34136//18811 34000//16884 +f 23599//25448 26496//17228 26684//25449 +f 25720//25450 25709//25451 24445//6604 +f 25215//25452 26211//15359 25526//25453 +f 24494//25454 23647//25128 23823//25455 +f 23647//25128 24901//25130 23140//25456 +f 22809//17089 22810//619 22908//16938 +f 24201//15812 12626//15471 21244//15475 +f 23400//9360 23399//655 23302//876 +f 22909//596 23008//1806 23007//1805 +f 26022//24112 26023//25417 26164//25419 +f 24417//1309 24407//25457 24360//25458 +f 22958//15435 22859//370 12392//25382 +f 23948//23950 12445//25459 23614//23143 +f 15282//15405 15155//18857 13760//18862 +f 15282//15405 9187//4 15155//18857 +f 11441//15778 5355//23933 5697//15459 +f 5829//23825 17091//23691 17089//2812 +f 19409//22218 19742//15668 19934//15360 +f 29813//5204 28372//17713 28736//5205 +f 27269//17522 20678//17521 20596//23445 +f 6874//21495 21380//5473 11455//21445 +f 6533//22486 28487//15083 19138//15046 +f 27202//25460 27255//25461 28601//25462 +f 31196//25463 31260//16090 31195//17546 +f 20866//6162 14244//25464 13054//18551 +f 20865//6163 20866//6162 13054//18551 +f 14244//25464 23131//25465 23424//25384 +f 13054//18551 14244//25464 23424//25384 +f 23131//25465 23426//25466 23329//25385 +f 23424//25384 23131//25465 23329//25385 +f 23426//25466 13425//25467 20496//25386 +f 23329//25385 23426//25466 20496//25386 +f 13425//25467 14852//25468 14853//25387 +f 20496//25386 13425//25467 14853//25387 +f 20371//25469 20370//25388 14853//25387 +f 14852//25468 20371//25469 14853//25387 +f 20371//25469 22654//25470 22753//25389 +f 20370//25388 20371//25469 22753//25389 +f 22654//25470 21503//25383 21594//21473 +f 22753//25389 22654//25470 21594//21473 +f 22546//23211 29539//15972 22159//22431 +f 15999//20515 15998//20482 15859//20481 +f 20121//16210 13426//4136 2791//4745 +f 20799//24039 20800//16201 20881//24703 +f 3860//8947 14590//15504 5417//17772 +f 19993//23362 16612//16293 13558//24766 +f 13426//4136 20121//16210 20103//15859 +f 20132//1914 21498//904 11280//906 +f 16963//19510 20981//3568 17129//19536 +f 23029//16779 22833//15870 22932//2612 +f 20705//2027 18261//16318 18167//16320 +f 18156//20548 18251//22432 20615//2778 +f 17089//2812 17091//23691 16925//8476 +f 2759//15657 17250//24055 11441//15778 +f 3929//6031 16769//23566 13338//15404 +f 34361//25471 11719//14895 16932//15399 +f 16757//15578 16758//19068 14143//19329 +f 14239//15585 16757//15578 14143//19329 +f 21222//25472 21576//25394 16465//2665 +f 26723//25473 26722//15402 31560//15401 +f 20810//25474 20647//23113 21576//25394 +f 21222//25472 20810//25474 21576//25394 +f 21143//25475 21057//25395 20647//23113 +f 20810//25474 21143//25475 20647//23113 +f 22454//25476 3474//25396 21057//25395 +f 21143//25475 22454//25476 21057//25395 +f 17098//15396 13423//3569 3474//25396 +f 22454//25476 17098//15396 3474//25396 +f 5760//2827 19826//21708 19307//21706 +f 18610//21869 18521//18697 18515//15370 +f 24632//22579 20672//22580 20673//24818 +f 19415//21269 21326//17171 18993//18605 +f 17705//19809 20394//16613 20393//17668 +f 21047//17632 18653//22176 21046//17604 +f 20637//23537 20636//24701 20554//24659 +f 18166//16319 18165//16280 18074//16279 +f 19643//21472 19646//21421 19642//21420 +f 11235//4744 9772//1473 8528//15362 +f 31835//17723 31834//23696 31734//25477 +f 19492//7379 15366//14710 23411//7380 +f 17091//23691 16926//23622 16925//8476 +f 10237//15576 3336//24036 2759//15657 +f 17090//2811 16766//2813 15880//19045 +f 20267//19425 17090//2811 15880//19045 +f 5354//16629 12892//17602 14237//878 +f 8479//15439 22958//15435 12392//25382 +f 22142//12847 14241//13022 22075//419 +f 14241//13022 21206//13191 9624//1409 +f 21139//12848 22142//12847 21134//418 +f 21206//13191 21205//1292 9624//1409 +f 22142//12847 22075//419 21134//418 +f 14241//13022 9624//1409 22075//419 +f 25055//24380 24928//24382 21542//17758 +f 22098//23043 6945//23042 29432//4833 +f 13591//982 25270//3139 25269//3988 +f 26213//23621 23434//23680 24941//25478 +f 25565//19850 25566//19849 24459//24929 +f 24426//25197 25328//25479 26146//17759 +f 13556//17647 23876//20583 25724//20582 +f 25566//19849 22395//24118 24459//24929 +f 26247//23947 26110//25480 20683//25481 +f 26019//24943 26161//25482 26160//25483 +f 24624//15917 24625//25403 25854//25484 +f 25256//25309 21819//25485 21724//25486 +f 23622//23692 22351//24856 23655//23693 +f 21538//17626 24949//17192 26226//13937 +f 26171//23101 26312//25487 26311//24768 +f 23836//17472 23601//17397 25279//17399 +f 11670//23283 24218//23282 23831//25488 +f 25687//25489 25545//23105 23942//17398 +f 25422//25490 22960//25491 24291//25492 +f 25395//20511 24045//25268 24044//25420 +f 25191//25413 25052//3620 21635//25414 +f 22106//25493 22105//25494 26191//25495 +f 24672//23585 24673//24059 24824//24242 +f 22425//5344 23362//5343 30825//16706 +f 25811//25412 23714//25496 23613//23584 +f 24600//23538 25811//25412 23613//23584 +f 23714//25496 24496//25497 24140//23586 +f 23613//23584 23714//25496 24140//23586 +f 20095//23172 24768//8598 25449//23173 +f 27269//17522 20596//23445 20514//25112 +f 23362//5343 23265//24214 30825//16706 +f 25052//3620 25053//25498 21635//25414 +f 25533//24447 14253//20510 20886//24448 +f 25886//23741 25887//23740 26028//23132 +f 21985//25499 23337//25201 26058//17348 +f 20763//24994 23817//10889 21450//25342 +f 19423//22609 19433//22559 34478//22610 +f 23825//25500 24833//25347 24810//25427 +f 32947//22516 32946//2935 32838//2934 +f 12252//25501 20153//24304 24697//25502 +f 23531//25424 23825//25500 24810//25427 +f 35190//23547 35189//18349 35060//25503 +f 21358//25504 25094//25505 22104//25506 +f 22594//25507 22693//25508 22692//25431 +f 35061//24880 35190//23547 35060//25503 +f 22693//25508 22792//25509 22791//25432 +f 22692//25431 22693//25508 22791//25432 +f 22792//25509 22891//25510 22890//25434 +f 22791//25432 22792//25509 22890//25434 +f 22891//25510 22990//25511 22989//25435 +f 22890//25434 22891//25510 22989//25435 +f 22990//25511 23088//25512 23087//25436 +f 22989//25435 22990//25511 23087//25436 +f 23088//25512 23186//25513 23185//25437 +f 23087//25436 23088//25512 23185//25437 +f 23186//25513 23284//25514 23283//25438 +f 23185//25437 23186//25513 23283//25438 +f 23284//25514 23381//25515 23380//25439 +f 23283//25438 23284//25514 23380//25439 +f 23381//25515 23478//25516 23477//25440 +f 23380//25439 23381//25515 23477//25440 +f 23478//25516 8902//25517 794//25441 +f 23477//25440 23478//25516 794//25441 +f 15867//25518 15729//25442 794//25441 +f 8902//25517 15867//25518 794//25441 +f 3606//25519 5728//25443 15729//25442 +f 15867//25518 3606//25519 15729//25442 +f 16158//25520 1798//25444 5728//25443 +f 3606//25519 16158//25520 5728//25443 +f 15209//25521 15208//25445 1798//25444 +f 16158//25520 15209//25521 1798//25444 +f 16161//25522 16160//25446 15208//25445 +f 15209//25521 16161//25522 15208//25445 +f 15213//25523 15340//19134 16160//25446 +f 16161//25522 15213//25523 16160//25446 +f 33054//16624 33053//20513 32947//22516 +f 15213//25523 14962//19132 15340//19134 +f 24043//25524 23615//25525 23983//25526 +f 31994//23934 31993//21172 31892//25527 +f 23615//25525 25215//25452 25387//25528 +f 26211//15359 12802//25529 25526//25453 +f 23823//25455 23647//25128 23140//25456 +f 24901//25130 25808//25530 25306//25531 +f 4553//25007 26289//25532 13366//25376 +f 13367//25377 13366//25376 15604//25380 +f 26140//23153 23487//23155 21544//25088 +f 25866//25533 25867//25534 22977//25535 +f 25047//25536 24920//17368 25143//25537 +f 25738//25538 25739//25539 25880//15700 +f 15471//15911 13011//25540 22175//25541 +f 22175//25541 21795//25542 13462//25543 +f 21888//24923 23908//25544 23910//15924 +f 26293//25545 22759//1639 12356//25546 +f 16447//24037 3336//24036 16600//15584 +f 24379//25547 21268//17169 25030//25548 +f 16556//19695 4801//13600 160//13599 +f 16197//15520 11724//2383 11445//1188 +f 24833//25347 24955//16755 19987//16757 +f 25401//25549 23676//25550 216//25551 +f 24272//17822 25829//25552 25011//17823 +f 13092//2393 22271//25553 333//9191 +f 31786//22789 31892//25527 31785//11236 +f 23702//25554 25216//8601 24905//23120 +f 35850//14058 35568//2366 19104//3771 +f 24968//25555 25100//24004 20843//23659 +f 11552//15488 23522//15493 28625//22125 +f 25449//23173 23974//25556 20430//23673 +f 24014//17211 24076//23953 24968//25555 +f 24481//25557 21070//23588 24140//23586 +f 13011//25540 21795//25542 22175//25541 +f 24496//25497 24481//25557 24140//23586 +f 24283//25558 24530//23591 21070//23588 +f 24481//25557 24283//25558 21070//23588 +f 24311//25559 24413//23641 24530//23591 +f 31687//25560 31686//22788 31591//5908 +f 35908//14964 21575//6141 20865//6163 +f 20867//25561 3199//25562 14244//25464 +f 20866//6162 20867//25561 14244//25464 +f 3199//25562 23033//25563 23131//25465 +f 14244//25464 3199//25562 23131//25465 +f 23033//25563 20676//25564 23426//25466 +f 23131//25465 23033//25563 23426//25466 +f 20676//25564 3868//25565 13425//25467 +f 23426//25466 20676//25564 13425//25467 +f 11186//25566 14852//25468 13425//25467 +f 3868//25565 11186//25566 13425//25467 +f 11186//25566 20372//25567 20371//25469 +f 14852//25468 11186//25566 20371//25469 +f 20372//25567 22555//25568 22654//25470 +f 20371//25469 20372//25567 22654//25470 +f 22555//25568 21411//23443 21503//25383 +f 22654//25470 22555//25568 21503//25383 +f 25722//24982 25721//17166 25105//5606 +f 19643//21472 21503//25383 21411//23443 +f 12919//1912 20132//1914 4908//15821 +f 17760//15907 19882//13391 18507//22824 +f 19993//23362 13558//24766 14346//23640 +f 14590//15504 19993//23362 14346//23640 +f 22454//25476 6118//671 17098//15396 +f 20386//18729 20385//13770 20300//20296 +f 14252//8946 3860//8947 14251//17773 +f 20492//23582 20534//16968 21301//16310 +f 20026//17429 18145//17431 18235//22337 +f 20324//25569 18309//21283 21493//21282 +f 5355//23933 5829//23825 5697//15459 +f 3336//24036 10237//15576 16600//15584 +f 2768//18974 4505//15779 20267//19425 +f 61//8539 2889//18321 20175//18356 +f 21222//25472 16465//2665 20062//25570 +f 23952//9129 21873//18849 20062//25570 +f 21486//25571 21222//25472 20062//25570 +f 20030//25572 21486//25571 20062//25570 +f 21868//25573 20810//25474 21222//25472 +f 21486//25571 21868//25573 21222//25472 +f 21230//25574 21143//25475 20810//25474 +f 21868//25573 21230//25574 20810//25474 +f 20064//23639 22454//25476 21143//25475 +f 21230//25574 20064//23639 21143//25475 +f 17098//15396 6118//671 124//19576 +f 35336//25575 12473//25576 35335//25577 +f 14100//18000 10327//10922 14003//11221 +f 8041//17025 8869//9666 7886//11502 +f 16612//16293 13085//16295 2911//18878 +f 13181//16290 13088//15810 15021//16783 +f 24241//15210 26792//10838 26793//25578 +f 20718//16314 20717//24702 20636//24701 +f 21303//18987 22634//24753 22630//9133 +f 22634//24753 6259//17688 22630//9133 +f 18379//2263 19883//13392 17562//8679 +f 18750//16654 18749//15413 21131//15962 +f 17758//21241 18170//17172 19493//21239 +f 17250//24055 5355//23933 11441//15778 +f 3336//24036 17250//24055 2759//15657 +f 13858//15348 15282//15405 13760//18862 +f 9187//4 14839//6 15155//18857 +f 16922//15444 16918//371 22859//370 +f 12717//582 13376//15871 13280//25297 +f 13663//853 23430//1414 21685//16388 +f 21685//16388 23430//1414 20073//16390 +f 13662//17433 13663//853 21685//16388 +f 23430//1414 20158//881 20073//16390 +f 20158//881 12872//794 14913//16385 +f 20073//16390 20158//881 14913//16385 +f 25895//23164 26037//16637 26036//25004 +f 4813//1138 15655//18376 15662//467 +f 12105//25579 24502//25580 24202//25581 +f 20907//25291 20826//23145 24747//8597 +f 16313//25269 24426//25197 26146//17759 +f 25446//23687 24026//25582 24676//25583 +f 24459//24929 22395//24118 25520//25584 +f 24044//25420 24045//25268 16313//25269 +f 25520//25584 25521//24120 23700//25585 +f 25521//24120 24568//25586 23700//25585 +f 23700//25585 24568//25586 25020//25334 +f 24568//25586 24504//25332 25020//25334 +f 7044//7930 34723//22925 6946//25587 +f 25331//25333 25330//25415 25020//25334 +f 21096//25588 21184//24387 21183//25589 +f 21183//25589 21184//24387 21270//24386 +f 21272//25590 21273//25591 28455//3063 +f 21270//24386 21271//24385 28454//25592 +f 25931//25593 25429//25594 24047//25084 +f 16916//880 25604//3960 25603//16155 +f 28479//15131 30621//22554 35520//7170 +f 25519//25595 24105//25596 22197//18040 +f 24283//25558 24311//25559 24530//23591 +f 22289//25408 24538//25597 25952//6053 +f 24224//25598 24225//23712 24413//23641 +f 24311//25559 24224//25598 24413//23641 +f 22193//25599 25493//25243 24877//25242 +f 24224//25598 23619//25600 24325//23714 +f 18275//20996 20724//3766 19122//6099 +f 25471//25048 25470//25601 24096//24873 +f 25196//25602 24835//25094 23521//25603 +f 29674//25604 29673//25605 22108//22434 +f 22109//24881 22205//22274 22204//22273 +f 22204//22273 22300//22272 29808//25606 +f 22205//22274 22301//25607 22300//22272 +f 32840//16621 32948//16620 32839//9724 +f 29937//22383 22300//22272 30069//22081 +f 29808//25606 22300//22272 29937//22383 +f 22398//22773 22496//25608 22495//22774 +f 26927//14941 24637//14769 24482//25609 +f 22496//25608 22595//25610 22594//25507 +f 22495//22774 22496//25608 22594//25507 +f 22595//25610 22694//25611 22693//25508 +f 22594//25507 22595//25610 22693//25508 +f 22694//25611 22793//25612 22792//25509 +f 22693//25508 22694//25611 22792//25509 +f 22793//25612 22892//25613 22891//25510 +f 22792//25509 22793//25612 22891//25510 +f 22892//25613 22991//25614 22990//25511 +f 22891//25510 22892//25613 22990//25511 +f 22991//25614 23089//25615 23088//25512 +f 22990//25511 22991//25614 23088//25512 +f 23089//25615 23187//25616 23186//25513 +f 23088//25512 23089//25615 23186//25513 +f 23187//25616 23285//25617 23284//25514 +f 23186//25513 23187//25616 23284//25514 +f 23285//25617 23382//25618 23381//25515 +f 23284//25514 23285//25617 23381//25515 +f 23382//25618 23479//25619 23478//25516 +f 23381//25515 23382//25618 23478//25516 +f 9561//25620 8902//25517 23478//25516 +f 23479//25619 9561//25620 23478//25516 +f 15868//25621 15867//25518 8902//25517 +f 9561//25620 15868//25621 8902//25517 +f 10140//25622 3606//25519 15867//25518 +f 15868//25621 10140//25622 15867//25518 +f 16302//25623 16158//25520 3606//25519 +f 10140//25622 16302//25623 3606//25519 +f 15336//25624 15209//25521 16158//25520 +f 16302//25623 15336//25624 16158//25520 +f 16306//25625 16161//25522 15209//25521 +f 15336//25624 16306//25625 15209//25521 +f 15212//25626 15213//25523 16161//25522 +f 16306//25625 15212//25626 16161//25522 +f 14964//25627 14962//19132 15213//25523 +f 15212//25626 14964//25627 15213//25523 +f 12689//25628 15215//22223 14962//19132 +f 14964//25627 12689//25628 14962//19132 +f 31893//17313 31994//23934 31892//25527 +f 12689//25628 12665//25629 15215//22223 +f 23140//25456 24901//25130 25306//25531 +f 26572//6606 26571//6705 24913//5198 +f 32398//19980 32397//5482 32294//25630 +f 6007//2461 11405//4769 29413//4768 +f 27647//25631 12168//2940 12085//2942 +f 12482//2462 16771//25632 10602//2460 +f 12004//2756 12005//2755 27647//25631 +f 32295//19981 32398//19980 32294//25630 +f 24926//25633 26117//25634 25975//25635 +f 19913//25636 6133//25637 12380//16473 +f 23499//25638 25913//25189 25200//25639 +f 24124//15512 24186//25640 24231//25641 +f 26205//25326 25535//25642 21334//25327 +f 22173//24924 21888//24923 23910//15924 +f 20761//18355 61//8539 20175//18356 +f 16016//18798 16938//18844 14255//13270 +f 24137//15736 24018//25643 23630//25644 +f 18431//1849 18221//21381 18403//1850 +f 22584//25645 23631//25646 25376//25647 +f 25680//25648 20764//25649 25376//25647 +f 23910//15924 23908//25544 25325//15925 +f 21888//24923 21700//25650 23908//25544 +f 26259//25426 26119//25651 25022//15544 +f 23896//25652 25327//25653 25326//25654 +f 24199//25655 26105//25656 25317//25657 +f 26158//24452 26159//25658 26299//15770 +f 25589//25659 24097//25660 25584//25661 +f 24470//17164 25674//25662 23518//25663 +f 16440//2618 16441//2282 16593//2098 +f 15402//18549 15274//8205 15403//16308 +f 13080//25154 25713//25664 23691//23186 +f 26119//25651 25977//25665 25018//25666 +f 25829//25552 25012//1504 25011//17823 +f 26150//25043 1680//25667 26151//25668 +f 24780//25669 24375//25670 24374//25671 +f 25497//25411 23539//25672 25496//22620 +f 23585//15915 24624//15917 24613//25673 +f 24710//25674 24780//25669 24374//25671 +f 20016//25407 22289//25408 25822//24383 +f 17082//7760 17246//651 17081//652 +f 25100//24004 14154//23660 20843//23659 +f 13147//17129 20016//25407 25822//24383 +f 25328//25479 21779//17757 26146//17759 +f 22367//23900 24076//23953 24014//17211 +f 26065//16407 25066//25675 25065//5440 +f 26066//25676 26065//16407 25065//5440 +f 24225//23712 24224//25598 24325//23714 +f 11856//17075 24319//17074 23585//15915 +f 32505//25677 32614//21623 32504//25678 +f 24325//23714 23619//25600 17577//22087 +f 12192//19532 24168//25679 24160//25120 +f 24653//16024 23726//23720 20906//22550 +f 23417//21175 22631//25680 20867//25561 +f 26356//25681 26397//25682 26396//25683 +f 22631//25680 10125//25684 3199//25562 +f 20867//25561 22631//25680 3199//25562 +f 10125//25684 22934//25685 23033//25563 +f 3199//25562 10125//25684 23033//25563 +f 22934//25685 22739//25686 20676//25564 +f 23033//25563 22934//25685 20676//25564 +f 22739//25686 17106//25687 3868//25565 +f 20676//25564 22739//25686 3868//25565 +f 14048//25688 11186//25566 3868//25565 +f 17106//25687 14048//25688 3868//25565 +f 14048//25688 21855//25689 20372//25567 +f 11186//25566 14048//25688 20372//25567 +f 21855//25689 22457//25690 22555//25568 +f 20372//25567 21855//25689 22555//25568 +f 21321//25691 21411//23443 22555//25568 +f 22457//25690 21321//25691 22555//25568 +f 21321//25691 21320//21563 20398//21529 +f 21411//23443 21321//25691 20398//21529 +f 126//12509 12362//18666 20812//7854 +f 26789//23383 24783//25060 24268//23384 +f 20471//15378 20556//265 20470//13768 +f 13085//16295 4263//16209 2911//18878 +f 6259//17688 5276//9234 22630//9133 +f 22454//25476 20064//23639 6118//671 +f 20616//9540 20576//16472 20103//15859 +f 27262//22385 30600//14792 29133//20116 +f 19094//2144 19030//2143 28132//16042 +f 18864//22757 21241//25692 18087//19853 +f 32505//25677 32504//25678 32399//17043 +f 14045//15583 13947//24056 16600//15584 +f 2922//18848 20030//25572 21873//18849 +f 21319//25259 14243//24345 21409//22658 +f 8047//25693 20030//25572 2922//18848 +f 14243//24345 8047//25693 2922//18848 +f 21577//25694 21486//25571 20030//25572 +f 8047//25693 21577//25694 20030//25572 +f 21963//25695 21868//25573 21486//25571 +f 21577//25694 21963//25695 21486//25571 +f 21499//25696 21230//25574 21868//25573 +f 21963//25695 21499//25696 21868//25573 +f 20485//672 20064//23639 21230//25574 +f 21499//25696 20485//672 21230//25574 +f 26357//18757 26400//22408 26399//25697 +f 22247//21559 32251//23429 21309//22306 +f 11081//24354 19539//18577 11440//21678 +f 20555//16275 20554//24659 20469//13769 +f 19089//18625 18987//20992 1806//9681 +f 20412//11521 4949//16957 20327//1474 +f 3312//20869 21770//17774 21769//15667 +f 15733//2810 23422//2613 23325//14102 +f 17601//3171 20205//14185 17695//17824 +f 26148//25006 734//19545 26006//16647 +f 15813//18829 15951//18775 15812//18776 +f 24857//25698 25225//25699 22448//25700 +f 26053//23264 15862//20642 15861//24836 +f 13056//15400 9281//5 9187//4 +f 23601//17397 25687//25489 23942//17398 +f 12628//583 12717//582 13280//25297 +f 13376//15871 13863//15872 13864//25381 +f 13185//16384 13280//25297 13765//15656 +f 13864//25381 12392//25382 2919//16633 +f 23303//9112 23400//9360 23302//876 +f 23009//2606 23107//1917 23106//3561 +f 15726//15428 15590//136 14763//497 +f 172//9359 15726//15428 14763//497 +f 20602//25701 20684//25702 27516//5906 +f 26098//25344 24645//24995 24135//25345 +f 25611//25703 25753//25704 25752//25705 +f 25140//23178 2253//7137 11881//7139 +f 25322//24815 25159//25706 25224//24813 +f 24208//20239 22980//25117 24157//25116 +f 20848//25707 20927//14430 20847//14432 +f 24765//25708 25712//25709 21362//25710 +f 20848//25707 20928//21452 20927//14430 +f 27865//14431 20927//14430 27981//21200 +f 20928//21452 21011//25711 21010//21199 +f 7044//7930 6946//25587 7045//7931 +f 21011//25711 21097//25712 21096//25588 +f 21010//21199 21011//25711 21096//25588 +f 21097//25712 21185//25713 21184//24387 +f 21096//25588 21097//25712 21184//24387 +f 21185//25713 21272//25590 21271//24385 +f 21184//24387 21185//25713 21271//24385 +f 24606//25714 24591//25715 24852//23091 +f 25168//25716 24855//25717 23488//25718 +f 23492//5354 22943//2647 27266//2646 +f 20888//16553 25290//25719 24075//17210 +f 23566//24638 22583//25720 22582//24639 +f 23974//25556 24019//23719 23970//25721 +f 21072//16375 23536//25722 23179//16376 +f 12648//23191 25359//14694 14795//25406 +f 25249//25723 24027//25293 24477//25724 +f 24538//25597 25916//25211 25952//6053 +f 21872//16949 25578//16951 25721//17166 +f 26149//25042 26290//25044 26289//25532 +f 22014//24521 22110//25725 22109//24881 +f 22013//22436 22014//24521 22109//24881 +f 22110//25725 22206//25726 22205//22274 +f 22109//24881 22110//25725 22205//22274 +f 22206//25726 22302//25727 22301//25607 +f 22205//22274 22206//25726 22301//25607 +f 22302//25727 22399//25728 22398//22773 +f 22301//25607 22302//25727 22398//22773 +f 22399//25728 22497//25729 22496//25608 +f 22398//22773 22399//25728 22496//25608 +f 22497//25729 22596//25730 22595//25610 +f 22496//25608 22497//25729 22595//25610 +f 22596//25730 22695//25731 22694//25611 +f 22595//25610 22596//25730 22694//25611 +f 22695//25731 22794//25732 22793//25612 +f 22694//25611 22695//25731 22793//25612 +f 22794//25732 22893//25733 22892//25613 +f 22793//25612 22794//25732 22892//25613 +f 22893//25733 22992//25734 22991//25614 +f 22892//25613 22893//25733 22991//25614 +f 22992//25734 23090//25735 23089//25615 +f 22991//25614 22992//25734 23089//25615 +f 23090//25735 23188//25736 23187//25616 +f 23089//25615 23090//25735 23187//25616 +f 23188//25736 23286//25737 23285//25617 +f 23187//25616 23188//25736 23285//25617 +f 23286//25737 23383//25738 23382//25618 +f 23285//25617 23286//25737 23382//25618 +f 23383//25738 23480//25739 23479//25619 +f 23382//25618 23383//25738 23479//25619 +f 10473//25740 9561//25620 23479//25619 +f 23480//25739 10473//25740 23479//25619 +f 16445//25741 15868//25621 9561//25620 +f 10473//25740 16445//25741 9561//25620 +f 13752//25742 10140//25622 15868//25621 +f 16445//25741 13752//25742 15868//25621 +f 12475//25743 16302//25623 10140//25622 +f 13752//25742 12475//25743 10140//25622 +f 12475//25743 15337//25744 15336//25624 +f 16302//25623 12475//25743 15336//25624 +f 16452//25745 16306//25625 15336//25624 +f 15337//25744 16452//25745 15336//25624 +f 13658//25746 15212//25626 16306//25625 +f 16452//25745 13658//25746 16306//25625 +f 15085//25747 14964//25627 15212//25626 +f 13658//25746 15085//25747 15212//25626 +f 16765//25748 12689//25628 14964//25627 +f 15085//25747 16765//25748 14964//25627 +f 11502//25749 12665//25629 12689//25628 +f 16765//25748 11502//25749 12689//25628 +f 16610//25750 3845//25751 12665//25629 +f 11502//25749 16610//25750 12665//25629 +f 5737//25752 12482//2462 3845//25751 +f 16610//25750 5737//25752 3845//25751 +f 23352//25753 16771//25632 12482//2462 +f 5737//25752 23352//25753 12482//2462 +f 15743//25754 15346//25755 16771//25632 +f 23352//25753 15743//25754 16771//25632 +f 12380//16473 6133//25637 15346//25755 +f 15743//25754 12380//16473 15346//25755 +f 22107//25756 23759//15466 22465//15511 +f 31433//14656 31505//22111 31432//22113 +f 23908//25544 25326//25654 25325//15925 +f 31301//16980 31368//16979 31300//4147 +f 25962//25757 24691//25758 26205//25326 +f 12998//24151 23583//24150 21449//25759 +f 21334//25327 25927//25760 12106//25761 +f 24691//25758 25535//25642 26205//25326 +f 25325//15925 25326//25654 24516//14649 +f 25927//25760 25929//25762 12106//25761 +f 23630//25644 24312//25763 24245//25764 +f 25326//25654 25680//25648 24516//14649 +f 23908//25544 23896//25652 25326//25654 +f 25327//25653 20764//25649 25680//25648 +f 24090//24874 25464//25765 24088//25766 +f 25463//25767 25464//25765 25162//25768 +f 24097//25660 25471//25048 24096//24873 +f 25471//25048 24713//25769 24539//25770 +f 23746//25771 25863//25772 22975//25773 +f 25684//25296 25542//25774 23580//25775 +f 26220//25776 23539//25672 24936//25777 +f 25478//25778 24803//24805 24284//24807 +f 24874//17185 23503//25779 25362//6062 +f 25240//14498 25104//24872 25787//25780 +f 26287//23956 25435//24064 23462//24061 +f 24263//25781 24262//25782 11671//24800 +f 2816//14919 25496//22620 25495//14920 +f 25829//25552 24272//17822 24278//25783 +f 23564//25784 23585//15915 24613//25673 +f 26220//25776 25496//22620 23539//25672 +f 25952//6053 25916//25211 7082//6054 +f 14512//25785 25477//25786 22976//25787 +f 25290//25719 22367//23900 24014//17211 +f 25822//24383 22289//25408 24404//24384 +f 23691//23186 23645//14800 26282//23187 +f 24076//23953 25100//24004 24968//25555 +f 25744//25788 25745//23739 25886//23741 +f 25670//25789 12640//14707 13080//25154 +f 26121//23791 24967//23646 21335//15479 +f 24724//6056 26082//6186 26695//5903 +f 24319//17074 23587//15916 23585//15915 +f 24961//24941 25151//25790 24941//25478 +f 20867//25561 27434//2643 23417//21175 +f 25478//25778 24284//24807 22486//25791 +f 22632//25792 16599//25793 10125//25684 +f 22631//25680 22632//25792 10125//25684 +f 16599//25793 22537//25794 22934//25685 +f 10125//25684 16599//25793 22934//25685 +f 22537//25794 22639//25795 22739//25686 +f 22934//25685 22537//25794 22739//25686 +f 22639//25795 20804//25796 17106//25687 +f 22739//25686 22639//25795 17106//25687 +f 15151//25797 14048//25688 17106//25687 +f 20804//25796 15151//25797 17106//25687 +f 15151//25797 21951//25798 21855//25689 +f 14048//25688 15151//25797 21855//25689 +f 21951//25798 22360//25799 22457//25690 +f 21855//25689 21951//25798 22457//25690 +f 20623//14776 21321//25691 22457//25690 +f 22360//25799 20623//14776 22457//25690 +f 19318//21125 20732//11421 18037//21150 +f 21321//25691 20623//14776 21320//21563 +f 13085//16295 20136//19424 20121//16210 +f 18750//16654 21131//15962 21132//18758 +f 23420//15371 13027//15675 18419//15369 +f 21583//18604 18336//21284 18993//18605 +f 20156//7128 14240//15820 1624//7129 +f 3928//13837 4798//13836 14974//18402 +f 19637//16166 19329//16395 18027//16167 +f 30426//20162 30560//15663 23072//24423 +f 13947//24056 16447//24037 16600//15584 +f 14141//12729 14140//24091 14045//15583 +f 9636//3136 9635//25800 25249//25723 +f 21319//25259 23241//14413 23143//25257 +f 13751//25801 14243//24345 21319//25259 +f 21145//25258 13751//25801 21319//25259 +f 23227//25802 8047//25693 14243//24345 +f 13751//25801 23227//25802 14243//24345 +f 21492//19173 21577//25694 8047//25693 +f 23227//25802 21492//19173 8047//25693 +f 22058//19172 21963//25695 21577//25694 +f 21492//19173 22058//19172 21577//25694 +f 21590//14452 21499//25696 21963//25695 +f 22058//19172 21590//14452 21963//25695 +f 20570//9524 20485//672 21499//25696 +f 21590//14452 20570//9524 21499//25696 +f 29539//15972 22546//23211 14044//23215 +f 32297//16822 32296//17044 32195//15806 +f 23123//10110 23221//15266 23127//22674 +f 23147//23481 19762//20948 19538//3772 +f 14346//23640 14347//11520 11122//4743 +f 4798//13836 14973//16282 14974//18402 +f 27134//6006 27253//14772 27252//6007 +f 20485//672 20570//9524 4285//2984 +f 25737//25803 25879//15699 25878//23798 +f 26315//16552 25290//25719 20888//16553 +f 35083//25804 35082//25805 34953//25806 +f 26170//23102 26171//23101 26311//24768 +f 20181//7168 24887//23611 24827//7169 +f 26937//7167 20096//25807 20182//25808 +f 13280//25297 13376//15871 13864//25381 +f 20268//23612 20354//1465 23639//23610 +f 22859//370 22760//372 2919//16633 +f 12392//25382 22859//370 2919//16633 +f 23008//1806 23009//2606 23106//3561 +f 22910//595 23009//2606 23008//1806 +f 24647//15524 28139//25809 28257//15525 +f 23991//7733 20436//7735 20522//25810 +f 20604//25811 20603//25812 20521//25813 +f 20522//25810 20604//25811 20521//25813 +f 20685//25814 20684//25702 20603//25812 +f 20604//25811 20685//25814 20603//25812 +f 30361//25815 25942//25816 30228//25817 +f 20685//25814 20767//25818 20684//25702 +f 20849//25819 20848//25707 20766//25820 +f 20767//25818 20849//25819 20766//25820 +f 20849//25819 20929//25821 20928//21452 +f 20848//25707 20849//25819 20928//21452 +f 20929//25821 21012//25822 21011//25711 +f 20928//21452 20929//25821 21011//25711 +f 21012//25822 21098//25823 21097//25712 +f 21011//25711 21012//25822 21097//25712 +f 21098//25823 21186//25824 21185//25713 +f 21097//25712 21098//25823 21185//25713 +f 21273//25591 21274//25825 21363//3064 +f 21185//25713 21186//25824 21272//25590 +f 35360//3881 35687//7556 35827//16533 +f 24599//25826 24602//25827 25804//25828 +f 25611//25703 25612//25829 25753//25704 +f 24647//15524 25362//6062 28255//21943 +f 25754//25830 25896//23138 25895//23164 +f 23269//24830 26078//25831 25665//25125 +f 22844//25832 25653//16068 23610//18730 +f 24168//25679 25515//17336 25511//17335 +f 29257//25833 29256//25834 21824//25835 +f 26056//23662 24730//23664 25958//25836 +f 21825//25837 21920//24520 21919//25838 +f 29396//25839 21919//25838 21920//24520 +f 21920//24520 22015//25840 22014//24521 +f 22015//25840 22111//25841 22110//25725 +f 22014//24521 22015//25840 22110//25725 +f 22111//25841 22207//25842 22206//25726 +f 22110//25725 22111//25841 22206//25726 +f 22207//25842 22303//25843 22302//25727 +f 22206//25726 22207//25842 22302//25727 +f 22303//25843 22400//25844 22399//25728 +f 22302//25727 22303//25843 22399//25728 +f 22400//25844 22498//25845 22497//25729 +f 22399//25728 22400//25844 22497//25729 +f 22498//25845 22597//25846 22596//25730 +f 22497//25729 22498//25845 22596//25730 +f 22597//25846 22696//25847 22695//25731 +f 22596//25730 22597//25846 22695//25731 +f 22696//25847 22795//25848 22794//25732 +f 22695//25731 22696//25847 22794//25732 +f 22795//25848 22894//25849 22893//25733 +f 22794//25732 22795//25848 22893//25733 +f 22894//25849 22993//25850 22992//25734 +f 22893//25733 22894//25849 22992//25734 +f 22993//25850 23091//25851 23090//25735 +f 22992//25734 22993//25850 23090//25735 +f 23091//25851 23189//25852 23188//25736 +f 23090//25735 23091//25851 23188//25736 +f 23189//25852 23287//25853 23286//25737 +f 23188//25736 23189//25852 23286//25737 +f 23287//25853 23384//25854 23383//25738 +f 23286//25737 23287//25853 23383//25738 +f 23481//25855 23480//25739 23383//25738 +f 23384//25854 23481//25855 23383//25738 +f 13422//25856 10473//25740 23480//25739 +f 23481//25855 13422//25856 23480//25739 +f 16299//25857 16445//25741 10473//25740 +f 13422//25856 16299//25857 10473//25740 +f 13850//25858 13752//25742 16445//25741 +f 16299//25857 13850//25858 16445//25741 +f 13850//25858 4145//25859 12475//25743 +f 13752//25742 13850//25858 12475//25743 +f 4145//25859 15466//25860 15337//25744 +f 12475//25743 4145//25859 15337//25744 +f 16605//25861 16452//25745 15337//25744 +f 15466//25860 16605//25861 15337//25744 +f 13756//25862 13658//25746 16452//25745 +f 16605//25861 13756//25862 16452//25745 +f 15086//25863 15085//25747 13658//25746 +f 13756//25862 15086//25863 13658//25746 +f 12300//25864 16765//25748 15085//25747 +f 15086//25863 12300//25864 15085//25747 +f 8904//25865 11502//25749 16765//25748 +f 12300//25864 8904//25865 16765//25748 +f 15475//25866 16610//25750 11502//25749 +f 8904//25865 15475//25866 11502//25749 +f 13242//25867 5737//25752 16610//25750 +f 15475//25866 13242//25867 16610//25750 +f 23449//25868 23352//25753 5737//25752 +f 13242//25867 23449//25868 5737//25752 +f 15607//25869 15743//25754 23352//25753 +f 23449//25868 15607//25869 23352//25753 +f 12396//18700 12380//16473 15743//25754 +f 15607//25869 12396//18700 15743//25754 +f 31592//25870 31591//5908 31504//22112 +f 13427//24660 12396//18700 15607//25869 +f 26152//25871 26293//25545 26292//25872 +f 26151//25668 26152//25871 26292//25872 +f 20823//1640 24690//25873 24822//25874 +f 32343//17445 32342//25875 32240//25876 +f 24478//24861 23751//2196 25687//25489 +f 22269//25877 22681//25878 24381//25879 +f 24838//25880 24808//25085 24807//25881 +f 23826//25882 20347//25883 14512//25785 +f 25376//25647 23630//25644 24245//25764 +f 24018//25643 24078//25884 24312//25763 +f 9121//13757 11923//25885 1994//13844 +f 1659//1882 3223//463 25590//1883 +f 24090//24874 24088//25766 25347//22912 +f 25464//25765 25361//25886 25162//25768 +f 25470//25601 25471//25048 24539//25770 +f 24713//25769 24807//25881 24806//25887 +f 24807//25881 25291//25888 24764//25889 +f 24539//25770 24713//25769 24806//25887 +f 25291//25888 23058//24531 23933//24530 +f 24806//25887 24807//25881 24764//25889 +f 24764//25889 25291//25888 23933//24530 +f 24262//25782 11750//24801 11671//24800 +f 25775//25890 24035//22697 26243//22698 +f 13090//24804 25775//25890 26243//22698 +f 32193//25891 32192//15816 32092//9831 +f 24101//24636 25473//25892 25472//25047 +f 22270//15472 22175//25541 25976//24347 +f 24100//25046 24101//24636 25472//25047 +f 24246//4920 24037//25209 24538//25597 +f 25860//23733 16025//23732 25481//25893 +f 23276//24863 24176//24450 24173//24449 +f 13762//25894 23276//24863 24173//24449 +f 25636//11350 24297//11349 24450//25895 +f 23666//25896 25831//24934 23890//23200 +f 25353//25897 23816//24299 23678//25898 +f 25342//24300 25485//24373 24161//23677 +f 25735//25899 25877//24942 25876//25900 +f 24416//25901 23566//24638 11548//24637 +f 22632//25792 23417//21175 28363//6176 +f 32193//25891 32294//25630 32192//15816 +f 22536//25902 16599//25793 22632//25792 +f 22633//25903 22536//25902 22632//25792 +f 22536//25902 22438//25904 22537//25794 +f 16599//25793 22536//25902 22537//25794 +f 22438//25904 22539//25905 22639//25795 +f 22537//25794 22438//25904 22639//25795 +f 22539//25905 1177//25906 20804//25796 +f 22639//25795 22539//25905 20804//25796 +f 23222//25907 15151//25797 20804//25796 +f 1177//25906 23222//25907 20804//25796 +f 23222//25907 23233//25908 21951//25798 +f 15151//25797 23222//25907 21951//25798 +f 22264//25909 22360//25799 21951//25798 +f 23233//25908 22264//25909 21951//25798 +f 22264//25909 2207//14777 20623//14776 +f 22360//25799 22264//25909 20623//14776 +f 17871//22515 17775//22122 17872//22146 +f 15505//824 14062//15765 14159//13952 +f 21325//24644 21384//3391 22635//20127 +f 4263//16209 13085//16295 20121//16210 +f 12393//3571 9805//12081 1616//5534 +f 18797//18825 18650//20738 20233//20689 +f 12736//695 13472//23567 13471//2412 +f 22434//15954 18125//22909 17989//15955 +f 23872//25910 21669//25911 4111//9187 +f 35876//199 35465//4600 35737//200 +f 23045//21076 21145//25258 23143//25257 +f 14140//24091 13947//24056 14045//15583 +f 21144//25912 21145//25258 23045//21076 +f 22946//21075 21144//25912 23045//21076 +f 2252//25913 13751//25801 21145//25258 +f 21144//25912 2252//25913 21145//25258 +f 21668//25914 23227//25802 13751//25801 +f 2252//25913 21668//25914 13751//25801 +f 21487//25915 21492//19173 23227//25802 +f 21668//25914 21487//25915 23227//25802 +f 21487//25915 3616//15292 21492//19173 +f 148//21344 3616//15292 21487//25915 +f 21683//14451 21590//14452 22058//19172 +f 21241//25692 18864//22757 20578//22756 +f 20068//23332 20069//19268 19095//19267 +f 21916//23097 20926//8736 24749//25916 +f 14973//16282 12736//695 12922//15758 +f 4953//17633 14972//16422 14335//693 +f 12965//25917 3928//13837 15478//18401 +f 14974//18402 14973//16282 12922//15758 +f 13472//23567 12172//17612 8574//2413 +f 12922//15758 12736//695 13471//2412 +f 25962//25757 26205//25326 22877//25918 +f 8041//17025 7886//11502 9114//5340 +f 26057//16469 24153//24692 26002//16213 +f 26329//16791 24963//25919 24660//23549 +f 20183//22622 20182//25808 20097//22786 +f 17272//22758 33249//25920 33359//16732 +f 20269//25921 20268//23612 20182//25808 +f 20183//22622 20269//25921 20182//25808 +f 16918//371 16919//1658 22760//372 +f 33053//20513 33158//2946 33052//17566 +f 20437//16479 20522//25810 20436//7735 +f 33158//2946 33263//3336 33262//2947 +f 20523//25922 20522//25810 20437//16479 +f 20438//1466 20523//25922 20437//16479 +f 20605//25923 20604//25811 20522//25810 +f 20523//25922 20605//25923 20522//25810 +f 20686//25924 20685//25814 20604//25811 +f 20605//25923 20686//25924 20604//25811 +f 20768//25925 20767//25818 20685//25814 +f 20686//25924 20768//25925 20685//25814 +f 20850//25926 20849//25819 20767//25818 +f 20768//25925 20850//25926 20767//25818 +f 20850//25926 20930//25927 20929//25821 +f 20849//25819 20850//25926 20929//25821 +f 20930//25927 21013//25928 21012//25822 +f 20929//25821 20930//25927 21012//25822 +f 21013//25928 21099//25929 21098//25823 +f 21012//25822 21013//25928 21098//25823 +f 21099//25929 21187//25930 21186//25824 +f 21098//25823 21099//25929 21186//25824 +f 21187//25930 21274//25825 21273//25591 +f 21186//25824 21187//25930 21273//25591 +f 31895//17493 31894//17312 31788//20248 +f 21364//17374 28578//3062 21363//3064 +f 25753//25704 25754//25830 25895//23164 +f 24218//23282 23719//24595 23831//25488 +f 24655//23951 24350//22679 24521//25931 +f 25542//25774 25401//25549 216//25551 +f 21824//25835 21730//14111 21825//25837 +f 23536//25722 23535//25932 23179//16376 +f 21731//25933 21826//25934 21825//25837 +f 21730//14111 21731//25933 21825//25837 +f 21826//25934 21921//25935 21920//24520 +f 21825//25837 21826//25934 21920//24520 +f 21921//25935 22016//25936 22015//25840 +f 21920//24520 21921//25935 22015//25840 +f 22016//25936 22112//25937 22111//25841 +f 22015//25840 22016//25936 22111//25841 +f 22112//25937 22208//25938 22207//25842 +f 22111//25841 22112//25937 22207//25842 +f 22208//25938 22304//25939 22303//25843 +f 22207//25842 22208//25938 22303//25843 +f 22304//25939 22401//25940 22400//25844 +f 22303//25843 22304//25939 22400//25844 +f 22401//25940 22499//25941 22498//25845 +f 22400//25844 22401//25940 22498//25845 +f 22499//25941 22598//25942 22597//25846 +f 22498//25845 22499//25941 22597//25846 +f 22598//25942 22697//25943 22696//25847 +f 22597//25846 22598//25942 22696//25847 +f 22697//25943 22796//25944 22795//25848 +f 22696//25847 22697//25943 22795//25848 +f 22796//25944 22895//25945 22894//25849 +f 22795//25848 22796//25944 22894//25849 +f 22895//25945 22994//25946 22993//25850 +f 22894//25849 22895//25945 22993//25850 +f 22994//25946 23092//25947 23091//25851 +f 22993//25850 22994//25946 23091//25851 +f 23092//25947 23190//25948 23189//25852 +f 23091//25851 23092//25947 23189//25852 +f 23190//25948 23288//25949 23287//25853 +f 23189//25852 23190//25948 23287//25853 +f 23288//25949 23385//25950 23384//25854 +f 23287//25853 23288//25949 23384//25854 +f 23385//25950 23482//25951 23481//25855 +f 23384//25854 23385//25950 23481//25855 +f 15455//25952 13422//25856 23481//25855 +f 23482//25951 15455//25952 23481//25855 +f 16298//25953 16299//25857 13422//25856 +f 15455//25952 16298//25953 13422//25856 +f 13948//25954 13850//25858 16299//25857 +f 16298//25953 13948//25954 16299//25857 +f 15335//25955 4145//25859 13850//25858 +f 13948//25954 15335//25955 13850//25858 +f 15335//25955 17097//25956 15466//25860 +f 4145//25859 15335//25955 15466//25860 +f 16606//25957 16605//25861 15466//25860 +f 17097//25956 16606//25957 15466//25860 +f 13854//25958 13756//25862 16605//25861 +f 16606//25957 13854//25958 16605//25861 +f 2623//25959 15086//25863 13756//25862 +f 13854//25958 2623//25959 13756//25862 +f 12386//25960 12300//25864 15086//25863 +f 2623//25959 12386//25960 15086//25863 +f 12557//25961 8904//25865 12300//25864 +f 12386//25960 12557//25961 12300//25864 +f 12600//25962 15475//25866 8904//25865 +f 12557//25961 12600//25962 8904//25865 +f 11713//25963 13242//25867 15475//25866 +f 12600//25962 11713//25963 15475//25866 +f 23351//25964 23449//25868 13242//25867 +f 11713//25963 23351//25964 13242//25867 +f 15744//24661 15607//25869 23449//25868 +f 23351//25964 15744//24661 23449//25868 +f 14055//6759 15744//24661 15882//25965 +f 30066//18784 30067//15044 22491//22626 +f 13462//25543 24926//25633 25975//25635 +f 26117//25634 26070//25966 23500//25967 +f 12356//25546 15051//1641 23966//18030 +f 13269//18029 12356//25546 23966//18030 +f 26150//25043 26151//25668 26291//25205 +f 26292//25872 12356//25546 13269//18029 +f 25975//25635 26117//25634 23500//25967 +f 26291//25205 26292//25872 13269//18029 +f 24395//25968 24202//25581 24479//25969 +f 24202//25581 22858//25339 24479//25969 +f 25868//16575 24292//15849 24289//25970 +f 504//1341 505//16646 96//19452 +f 23830//25971 26203//25972 26112//25973 +f 24411//25974 26074//17649 23815//17651 +f 25184//22913 25347//22912 24088//25766 +f 25464//25765 25463//25767 24088//25766 +f 25398//25975 22139//11692 25915//25976 +f 25589//25659 25584//25661 26202//25977 +f 25855//18442 25399//22428 21814//25204 +f 23706//25349 26202//25977 25915//25976 +f 24141//5752 21628//14999 25771//24529 +f 34145//15325 34144//16369 34008//16471 +f 23058//24531 24900//25978 25009//24532 +f 25550//25979 25692//25980 6407//25981 +f 27548//17310 27431//17334 12091//17308 +f 23706//25349 25589//25659 26202//25977 +f 25493//25243 24930//24367 11234//24369 +f 25240//14498 25667//14500 25104//24872 +f 25159//25706 25322//24815 13090//24804 +f 20224//25982 22629//25983 24392//25984 +f 25081//22699 23824//18009 25232//25985 +f 25959//25986 23538//17466 24466//25987 +f 25540//25988 12028//25989 26079//24398 +f 25520//25584 23700//25585 24104//25195 +f 24176//24450 25533//24447 25523//24446 +f 24324//25045 24239//25990 25377//25991 +f 23276//24863 13762//25894 23819//25992 +f 22298//24436 23276//24863 23819//25992 +f 31895//17493 31996//9220 31894//17312 +f 31299//4148 31298//21055 31233//4172 +f 28680//6175 15408//25993 22633//25903 +f 23142//25994 15599//25995 21758//25996 +f 22733//25997 22633//25903 15408//25993 +f 15599//25995 22733//25997 15408//25993 +f 22636//25998 22536//25902 22633//25903 +f 22733//25997 22636//25998 22633//25903 +f 14148//25999 22438//25904 22536//25902 +f 22636//25998 14148//25999 22536//25902 +f 14148//25999 22440//26000 22539//25905 +f 22438//25904 14148//25999 22539//25905 +f 22440//26000 14855//26001 1177//25906 +f 22539//25905 22440//26000 1177//25906 +f 14855//26001 21413//26002 23222//25907 +f 1177//25906 14855//26001 23222//25907 +f 23331//26003 23233//25908 23222//25907 +f 21413//26002 23331//26003 23222//25907 +f 22167//26004 22264//25909 23233//25908 +f 23331//26003 22167//26004 23233//25908 +f 22167//26004 11440//21678 2207//14777 +f 22264//25909 22167//26004 2207//14777 +f 20392//1906 20393//17668 20476//24366 +f 13027//15675 16156//17594 18609//14101 +f 20136//19424 20105//9538 20104//16679 +f 30294//10774 30293//20161 30160//15461 +f 15464//7127 15734//7475 11863//7474 +f 13471//2412 13472//23567 8574//2413 +f 18699//16441 19638//16148 23314//15793 +f 2083//20834 23048//18789 23146//16230 +f 9394//12728 12873//24092 14141//12729 +f 12873//24092 14140//24091 14141//12729 +f 21455//26005 21727//24000 24655//23951 +f 34430//3612 34567//26006 34429//6755 +f 21058//26007 21144//25912 22946//21075 +f 22847//26008 21058//26007 22946//21075 +f 16940//26009 2252//25913 21144//25912 +f 21058//26007 16940//26009 21144//25912 +f 20031//26010 21668//25914 2252//25913 +f 16940//26009 20031//26010 2252//25913 +f 21671//21345 21487//25915 21668//25914 +f 20031//26010 21671//21345 21668//25914 +f 18133//22829 27032//22828 18724//22732 +f 232//17895 160//13599 8901//13756 +f 30427//10802 30426//20162 30293//20161 +f 23116//23690 23214//23568 23115//15705 +f 12172//17612 11862//17613 11863//7474 +f 25586//26011 21455//26005 24655//23951 +f 8574//2413 12172//17612 11863//7474 +f 31106//15001 31169//2808 31168//2807 +f 20560//3180 20559//19238 20474//3181 +f 18927//23901 24229//23902 30634//6060 +f 19278//14778 19539//18577 19830//20813 +f 21455//26005 24373//26012 24368//24002 +f 26066//25676 25065//5440 25064//26013 +f 21727//24000 21455//26005 24368//24002 +f 20097//22786 20096//25807 26824//22787 +f 26288//8729 24156//23151 24154//14699 +f 20270//26014 20269//25921 20183//22622 +f 20184//22623 20270//26014 20183//22622 +f 20355//25352 20354//1465 20269//25921 +f 20270//26014 20355//25352 20269//25921 +f 20439//26015 20438//1466 20354//1465 +f 22909//596 22910//595 23008//1806 +f 20524//26016 20523//25922 20438//1466 +f 20439//26015 20524//26016 20438//1466 +f 20606//26017 20605//25923 20523//25922 +f 20524//26016 20606//26017 20523//25922 +f 20687//26018 20686//25924 20605//25923 +f 20606//26017 20687//26018 20605//25923 +f 20769//26019 20768//25925 20686//25924 +f 20687//26018 20769//26019 20686//25924 +f 20851//26020 20850//25926 20768//25925 +f 20769//26019 20851//26020 20768//25925 +f 20851//26020 20931//26021 20930//25927 +f 20850//25926 20851//26020 20930//25927 +f 20931//26021 21014//26022 21013//25928 +f 20930//25927 20931//26021 21013//25928 +f 21014//26022 21100//26023 21099//25929 +f 21013//25928 21014//26022 21099//25929 +f 21100//26023 21188//26024 21187//25930 +f 21099//25929 21100//26023 21187//25930 +f 21188//26024 21275//21324 21274//25825 +f 21187//25930 21188//26024 21274//25825 +f 31789//16058 31895//17493 31788//20248 +f 21274//25825 21275//21324 21364//17374 +f 24373//26012 25623//26025 25621//24058 +f 21545//24155 21546//26026 28849//5190 +f 21546//26026 21639//26027 21638//14110 +f 21638//14110 21731//25933 21730//14111 +f 21639//26027 21732//26028 21731//25933 +f 21638//14110 21639//26027 21731//25933 +f 21732//26028 21827//26029 21826//25934 +f 21731//25933 21732//26028 21826//25934 +f 21827//26029 21922//26030 21921//25935 +f 21826//25934 21827//26029 21921//25935 +f 21922//26030 22017//26031 22016//25936 +f 21921//25935 21922//26030 22016//25936 +f 22017//26031 22113//26032 22112//25937 +f 22016//25936 22017//26031 22112//25937 +f 22113//26032 22209//26033 22208//25938 +f 22112//25937 22113//26032 22208//25938 +f 22209//26033 22305//26034 22304//25939 +f 22208//25938 22209//26033 22304//25939 +f 22305//26034 22402//26035 22401//25940 +f 22304//25939 22305//26034 22401//25940 +f 22402//26035 22500//26036 22499//25941 +f 22401//25940 22402//26035 22499//25941 +f 22500//26036 22599//26037 22598//25942 +f 22499//25941 22500//26036 22598//25942 +f 22599//26037 22698//26038 22697//25943 +f 22598//25942 22599//26037 22697//25943 +f 22698//26038 22797//26039 22796//25944 +f 22697//25943 22698//26038 22796//25944 +f 22797//26039 22896//26040 22895//25945 +f 22796//25944 22797//26039 22895//25945 +f 22896//26040 22995//26041 22994//25946 +f 22895//25945 22896//26040 22994//25946 +f 22995//26041 23093//26042 23092//25947 +f 22994//25946 22995//26041 23092//25947 +f 23093//26042 23191//26043 23190//25948 +f 23092//25947 23093//26042 23190//25948 +f 23191//26043 23289//26044 23288//25949 +f 23190//25948 23191//26043 23288//25949 +f 23289//26044 23386//26045 23385//25950 +f 23288//25949 23289//26044 23385//25950 +f 23386//26045 23483//26046 23482//25951 +f 23385//25950 23386//26045 23482//25951 +f 15587//26047 15455//25952 23482//25951 +f 23483//26046 15587//26047 23482//25951 +f 11965//26048 16298//25953 15455//25952 +f 15587//26047 11965//26048 15455//25952 +f 13145//26049 13948//25954 16298//25953 +f 11965//26048 13145//26049 16298//25953 +f 15334//26050 15335//25955 13948//25954 +f 13145//26049 15334//26050 13948//25954 +f 15334//26050 2209//26051 17097//25956 +f 15335//25955 15334//26050 17097//25956 +f 20352//26052 16606//25957 17097//25956 +f 2209//26051 20352//26052 17097//25956 +f 13952//26053 13854//25958 16606//25957 +f 20352//26052 13952//26053 16606//25957 +f 7107//26054 2623//25959 13854//25958 +f 13952//26053 7107//26054 13854//25958 +f 12932//26055 12386//25960 2623//25959 +f 7107//26054 12932//26055 2623//25959 +f 4682//26056 12557//25961 12386//25960 +f 12932//26055 4682//26056 12386//25960 +f 12690//26057 12600//25962 12557//25961 +f 4682//26056 12690//26057 12557//25961 +f 11692//26058 11713//25963 12600//25962 +f 12690//26057 11692//26058 12600//25962 +f 20329//26059 23351//25964 11713//25963 +f 11692//26058 20329//26059 11713//25963 +f 15882//25965 15744//24661 23351//25964 +f 20329//26059 15882//25965 23351//25964 +f 26195//17871 24344//17350 25685//20126 +f 14056//2040 14055//6759 15217//26060 +f 24850//17085 24514//17084 25047//25536 +f 2263//17015 25851//20329 2264//17014 +f 26159//25658 26300//26061 26299//15770 +f 25142//25354 23660//25353 28227//26062 +f 23934//26063 21538//17626 22876//11033 +f 24249//25397 25565//19850 25537//25052 +f 22685//26064 22684//25375 24462//25374 +f 23923//26065 22685//26064 24462//25374 +f 23956//14712 23955//15194 441//25314 +f 12753//2962 13211//981 12140//15154 +f 25799//26066 25801//26067 23826//25882 +f 25904//26068 25903//26069 25761//26070 +f 13664//26071 23077//26072 24603//26073 +f 24236//26074 25818//26075 23546//26076 +f 24302//22930 23677//20238 24632//22579 +f 24962//26077 25233//23792 25476//26078 +f 25112//15027 27500//2305 24303//787 +f 23677//20238 25113//15581 25114//18578 +f 20751//23667 25370//17392 20752//24614 +f 24632//22579 23677//20238 25114//18578 +f 25114//18578 25113//15581 24593//18269 +f 24771//23948 24551//23589 24578//23896 +f 15471//15911 22175//25541 22270//15472 +f 20887//26079 20223//26080 24584//26081 +f 24097//25660 24096//24873 25584//25661 +f 25162//25768 25361//25886 24728//26082 +f 21724//25486 21819//25485 25194//26083 +f 24940//24938 24961//24941 24941//25478 +f 24470//17164 25715//17163 25674//25662 +f 23550//26084 24405//17077 23594//26085 +f 23615//25525 25387//25528 23983//25526 +f 24108//17354 24106//26086 25711//25010 +f 25545//23105 25403//23104 13117//23743 +f 19419//22734 7455//8665 13468//15664 +f 24468//18621 24391//24855 22298//24436 +f 23942//17398 25545//23105 13117//23743 +f 31234//15743 31299//4148 31233//4172 +f 21359//26087 26200//26088 12718//17001 +f 20808//26089 23142//25994 15093//17828 +f 3983//23478 20808//26089 15093//17828 +f 23125//26090 15599//25995 23142//25994 +f 20808//26089 23125//26090 23142//25994 +f 22832//26091 22733//25997 15599//25995 +f 23125//26090 22832//26091 15599//25995 +f 22735//26092 22636//25998 22733//25997 +f 22832//26091 22735//26092 22733//25997 +f 12960//26093 14148//25999 22636//25998 +f 22735//26092 12960//26093 22636//25998 +f 22731//26094 22440//26000 14148//25999 +f 12960//26093 22731//26094 14148//25999 +f 9647//26095 14855//26001 22440//26000 +f 22731//26094 9647//26095 22440//26000 +f 21504//26096 21413//26002 14855//26001 +f 9647//26095 21504//26096 14855//26001 +f 23428//26097 23331//26003 21413//26002 +f 21504//26096 23428//26097 21413//26002 +f 23428//26097 22071//26098 22167//26004 +f 23331//26003 23428//26097 22167//26004 +f 22071//26098 11081//24354 11440//21678 +f 22167//26004 22071//26098 11440//21678 +f 28579//17375 21364//17374 27381//21325 +f 27381//21325 21275//21324 21276//26099 +f 147//18466 3616//15292 148//21344 +f 20121//16210 20136//19424 20104//16679 +f 35403//1950 35397//5584 35749//5583 +f 28818//6650 28817//6184 28685//10761 +f 17717//17670 18669//17669 18429//22898 +f 19890//20659 17915//18994 18173//18993 +f 16464//21074 13197//23818 22847//26008 +f 22730//26100 21882//26101 2923//23820 +f 22747//26102 22847//26008 13197//23818 +f 21882//26101 22747//26102 13197//23818 +f 21231//26103 21058//26007 22847//26008 +f 22747//26102 21231//26103 22847//26008 +f 21862//26104 16940//26009 21058//26007 +f 21231//26103 21862//26104 21058//26007 +f 22150//26105 20031//26010 16940//26009 +f 21862//26104 22150//26105 16940//26009 +f 21493//21282 21671//21345 20031//26010 +f 22150//26105 21493//21282 20031//26010 +f 21487//25915 21671//21345 148//21344 +f 33789//26106 17816//5002 17912//15904 +f 7362//450 23590//22513 15766//8100 +f 28250//21734 23239//6048 29414//6047 +f 2124//10756 4111//9187 21669//25911 +f 11081//24354 15331//21273 18039//21671 +f 20748//23558 20830//2198 20747//26107 +f 22692//25431 30468//25428 30335//26108 +f 24368//24002 24373//26012 25621//24058 +f 25623//26025 24457//26109 24109//24170 +f 25621//24058 25623//26025 24109//24170 +f 24457//26109 26223//26110 26084//24227 +f 18276//20862 18275//20996 1074//6160 +f 23761//24472 20747//26107 23833//18094 +f 20271//26111 20270//26014 20184//22623 +f 33249//25920 17272//22758 33357//26112 +f 20271//26111 20357//26113 20356//25350 +f 20271//26111 20356//25350 20270//26014 +f 22908//16938 22909//596 23007//1805 +f 23008//1806 23106//3561 23105//1807 +f 20525//26114 20524//26016 20439//26015 +f 29703//26115 29702//19168 29570//20641 +f 20607//26116 20606//26017 20524//26016 +f 20525//26114 20607//26116 20524//26016 +f 20688//26117 20687//26018 20606//26017 +f 20607//26116 20688//26117 20606//26017 +f 20770//26118 20769//26019 20687//26018 +f 20688//26117 20770//26118 20687//26018 +f 20852//26119 20851//26020 20769//26019 +f 20770//26118 20852//26119 20769//26019 +f 20852//26119 20932//26120 20931//26021 +f 20851//26020 20852//26119 20931//26021 +f 20932//26120 21015//26121 21014//26022 +f 20931//26021 20932//26120 21014//26022 +f 21015//26121 21101//26122 21100//26023 +f 21014//26022 21015//26121 21100//26023 +f 21101//26122 21189//26123 21188//26024 +f 21100//26023 21101//26122 21188//26024 +f 21189//26123 21276//26099 21275//21324 +f 21188//26024 21189//26123 21275//21324 +f 21366//22581 21277//26124 21367//16872 +f 31996//9220 31995//9222 31894//17312 +f 21457//26125 21547//26126 21546//26026 +f 31507//17465 31594//17460 31506//25113 +f 21547//26126 21640//26127 21639//26027 +f 21546//26026 21547//26126 21639//26027 +f 21640//26127 21733//26128 21732//26028 +f 21639//26027 21640//26127 21732//26028 +f 21733//26128 21828//26129 21827//26029 +f 21732//26028 21733//26128 21827//26029 +f 21828//26129 21923//26130 21922//26030 +f 21827//26029 21828//26129 21922//26030 +f 21923//26130 22018//26131 22017//26031 +f 21922//26030 21923//26130 22017//26031 +f 22018//26131 22114//26132 22113//26032 +f 22017//26031 22018//26131 22113//26032 +f 22114//26132 22210//26133 22209//26033 +f 22113//26032 22114//26132 22209//26033 +f 22210//26133 22306//26134 22305//26034 +f 22209//26033 22210//26133 22305//26034 +f 22306//26134 22403//26135 22402//26035 +f 22305//26034 22306//26134 22402//26035 +f 22403//26135 22501//26136 22500//26036 +f 22402//26035 22403//26135 22500//26036 +f 22501//26136 22600//26137 22599//26037 +f 22500//26036 22501//26136 22599//26037 +f 22600//26137 22699//26138 22698//26038 +f 22599//26037 22600//26137 22698//26038 +f 22699//26138 22798//26139 22797//26039 +f 22698//26038 22699//26138 22797//26039 +f 22798//26139 22897//26140 22896//26040 +f 22797//26039 22798//26139 22896//26040 +f 22897//26140 22996//26141 22995//26041 +f 22896//26040 22897//26140 22995//26041 +f 22996//26141 23094//26142 23093//26042 +f 22995//26041 22996//26141 23093//26042 +f 23094//26142 23192//26143 23191//26043 +f 23093//26042 23094//26142 23191//26043 +f 23192//26143 23290//26144 23289//26044 +f 23191//26043 23192//26143 23289//26044 +f 23290//26144 23387//26145 23386//26045 +f 23289//26044 23290//26144 23386//26045 +f 23387//26145 23484//26146 23483//26046 +f 23386//26045 23387//26145 23483//26046 +f 15588//26147 15587//26047 23483//26046 +f 23484//26146 15588//26147 23483//26046 +f 12551//26148 11965//26048 15587//26047 +f 15588//26147 12551//26148 15587//26047 +f 15146//26149 13145//26049 11965//26048 +f 12551//26148 15146//26149 11965//26048 +f 14959//26150 15334//26050 13145//26049 +f 15146//26149 14959//26150 13145//26049 +f 17096//26151 2209//26051 15334//26050 +f 14959//26150 17096//26151 15334//26050 +f 20351//26152 20352//26052 2209//26051 +f 17096//26151 20351//26152 2209//26051 +f 13953//26153 13952//26053 20352//26052 +f 20351//26152 13953//26153 20352//26052 +f 17093//26154 7107//26054 13952//26053 +f 13953//26153 17093//26154 13952//26053 +f 7975//26155 12932//26055 7107//26054 +f 17093//26154 7975//26155 7107//26054 +f 4549//26156 4682//26056 12932//26055 +f 7975//26155 4549//26156 12932//26055 +f 12779//26157 12690//26057 4682//26056 +f 4549//26156 12779//26157 4682//26056 +f 12483//26158 11692//26058 12690//26057 +f 12779//26157 12483//26158 12690//26057 +f 20244//26159 20329//26059 11692//26058 +f 12483//26158 20244//26159 11692//26058 +f 15217//26060 15882//25965 20329//26059 +f 20244//26159 15217//26060 20329//26059 +f 34298//26160 34436//17261 34297//26161 +f 15882//25965 15217//26060 14055//6759 +f 25633//26162 24877//25242 22079//25244 +f 10979//26163 25633//26162 22079//25244 +f 23500//25967 24462//25374 23530//17273 +f 263//23669 23874//23801 25252//23560 +f 24610//24930 25512//26164 25395//20511 +f 25027//26165 23867//26166 26238//26167 +f 23987//26168 24105//25596 25519//25595 +f 24105//25596 22102//18038 22197//18040 +f 5626//18973 26282//23187 3881//12460 +f 11569//16270 13887//17173 25921//26169 +f 28734//26170 6672//26171 19905//26172 +f 20347//25883 25815//26173 14512//25785 +f 2077//26174 12999//26175 11233//6051 +f 11233//6051 6280//21896 19905//26172 +f 28232//20895 14375//6050 13768//23003 +f 12999//26175 16778//6049 11233//6051 +f 28232//20895 13768//23003 29679//26176 +f 16778//6049 14144//23004 14375//6050 +f 14144//23004 23272//26177 23174//15091 +f 29679//26176 23174//15091 29954//23226 +f 22945//19813 29954//23226 19978//15093 +f 23272//26177 19979//15092 23174//15091 +f 22945//19813 20234//19812 29152//23156 +f 19979//15092 23218//19811 19978//15093 +f 24805//26178 23980//26179 24040//26180 +f 29152//23156 20234//19812 20897//8798 +f 25786//24940 25787//25780 25151//25790 +f 25361//25886 24805//26178 24728//26082 +f 3601//457 25592//458 25733//26181 +f 24961//24941 25786//24940 25151//25790 +f 25715//17163 24108//17354 25711//25010 +f 22386//17560 20842//17559 25923//23175 +f 20988//26182 20906//22550 12541//17102 +f 24108//17354 25475//25423 25474//25422 +f 33374//2044 33373//2046 33264//2566 +f 31435//17677 31507//17465 31434//3528 +f 12448//26183 3983//23478 22845//26184 +f 22944//22051 12448//26183 22845//26184 +f 20889//26185 20808//26089 3983//23478 +f 12448//26183 20889//26185 3983//23478 +f 23223//26186 23125//26090 20808//26089 +f 20889//26185 23223//26186 20808//26089 +f 15741//26187 22832//26091 23125//26090 +f 23223//26186 15741//26187 23125//26090 +f 22736//26188 22735//26092 22832//26091 +f 15741//26187 22736//26188 22832//26091 +f 12777//26189 12960//26093 22735//26092 +f 22736//26188 12777//26189 22735//26092 +f 14147//26190 22731//26094 12960//26093 +f 12777//26189 14147//26190 12960//26093 +f 10820//26191 9647//26095 22731//26094 +f 14147//26190 10820//26191 22731//26094 +f 21412//26192 21504//26096 9647//26095 +f 10820//26191 21412//26192 9647//26095 +f 11062//26193 23428//26097 21504//26096 +f 21412//26192 11062//26193 21504//26096 +f 21975//26194 22071//26098 23428//26097 +f 11062//26193 21975//26194 23428//26097 +f 15331//21273 11081//24354 22071//26098 +f 21975//26194 15331//21273 22071//26098 +f 21965//16482 18913//19613 18914//9335 +f 25786//24940 25240//14498 25787//25780 +f 7436//13190 379//7056 7550//6950 +f 15095//24750 13181//16290 15021//16783 +f 20072//755 13432//12508 4550//15819 +f 18185//17942 23146//16230 23048//18789 +f 21882//26101 13197//23818 2923//23820 +f 31435//17677 31434//3528 31367//3527 +f 21601//26195 21882//26101 22730//26100 +f 20321//26196 21601//26195 22730//26100 +f 22648//26197 22747//26102 21882//26101 +f 21601//26195 22648//26197 21882//26101 +f 20813//26198 21231//26103 22747//26102 +f 22648//26197 20813//26198 22747//26102 +f 22363//26199 21862//26104 21231//26103 +f 20813//26198 22363//26199 21231//26103 +f 20324//25569 22150//26105 21862//26104 +f 22363//26199 20324//25569 21862//26104 +f 19698//22831 19366//15319 19709//20870 +f 22150//26105 20324//25569 21493//21282 +f 12895//9109 21593//17597 21579//9110 +f 35933//637 21309//22306 27896//5312 +f 3197//4585 13027//15675 17084//15676 +f 20559//19238 20641//16587 20558//2588 +f 20575//1991 21386//16238 21385//1992 +f 20100//22064 20185//26200 26939//22065 +f 25860//23733 25481//25893 13809//26201 +f 20101//26202 20100//22064 20020//26203 +f 20021//1544 20101//26202 20020//26203 +f 20185//26200 20271//26111 20184//22623 +f 20101//26202 20186//26204 20100//22064 +f 20272//26205 20271//26111 20185//26200 +f 20186//26204 20272//26205 20185//26200 +f 20357//26113 20272//26205 20358//26206 +f 20272//26205 20357//26113 20271//26111 +f 18645//16651 18743//16650 18742//16362 +f 18209//22465 19772//9212 17916//22524 +f 20526//26207 20525//26114 20440//26208 +f 20439//26015 20440//26208 20525//26114 +f 20608//26209 20607//26116 20525//26114 +f 20526//26207 20608//26209 20525//26114 +f 20689//26210 20688//26117 20607//26116 +f 20608//26209 20689//26210 20607//26116 +f 20771//26211 20770//26118 20688//26117 +f 20689//26210 20771//26211 20688//26117 +f 20853//26212 20852//26119 20770//26118 +f 20771//26211 20853//26212 20770//26118 +f 20933//26213 20932//26120 20852//26119 +f 20853//26212 20933//26213 20852//26119 +f 20933//26213 21016//26214 21015//26121 +f 20932//26120 20933//26213 21015//26121 +f 21016//26214 21102//26215 21101//26122 +f 21015//26121 21016//26214 21101//26122 +f 21102//26215 21190//26216 21189//26123 +f 21101//26122 21102//26215 21189//26123 +f 21190//26216 21277//26124 21276//26099 +f 21189//26123 21190//26216 21276//26099 +f 27382//21099 33702//16873 21367//16872 +f 21276//26099 21277//26124 21366//22581 +f 33957//26217 34092//17293 21458//17292 +f 21457//26125 21456//15032 33823//20841 +f 21548//26218 21641//26219 21640//26127 +f 21547//26126 21548//26218 21640//26127 +f 21641//26219 21734//26220 21733//26128 +f 21640//26127 21641//26219 21733//26128 +f 21734//26220 21829//26221 21828//26129 +f 21733//26128 21734//26220 21828//26129 +f 21829//26221 21924//26222 21923//26130 +f 21828//26129 21829//26221 21923//26130 +f 21924//26222 22019//26223 22018//26131 +f 21923//26130 21924//26222 22018//26131 +f 22019//26223 22115//26224 22114//26132 +f 22018//26131 22019//26223 22114//26132 +f 22211//26225 22210//26133 22114//26132 +f 22115//26224 22211//26225 22114//26132 +f 22211//26225 22307//26226 22306//26134 +f 22210//26133 22211//26225 22306//26134 +f 22307//26226 22404//26227 22403//26135 +f 22306//26134 22307//26226 22403//26135 +f 22404//26227 22502//26228 22501//26136 +f 22403//26135 22404//26227 22501//26136 +f 22502//26228 22601//26229 22600//26137 +f 22501//26136 22502//26228 22600//26137 +f 22601//26229 22700//26230 22699//26138 +f 22600//26137 22601//26229 22699//26138 +f 22700//26230 22799//26231 22798//26139 +f 22699//26138 22700//26230 22798//26139 +f 22799//26231 22898//26232 22897//26140 +f 22798//26139 22799//26231 22897//26140 +f 22898//26232 22997//26233 22996//26141 +f 22897//26140 22898//26232 22996//26141 +f 22997//26233 23095//26234 23094//26142 +f 22996//26141 22997//26233 23094//26142 +f 23095//26234 23193//26235 23192//26143 +f 23094//26142 23095//26234 23192//26143 +f 23193//26235 23291//26236 23290//26144 +f 23192//26143 23193//26235 23290//26144 +f 23291//26236 23388//26237 23387//26145 +f 23290//26144 23291//26236 23387//26145 +f 23388//26237 23485//26238 23484//26146 +f 23387//26145 23388//26237 23484//26146 +f 23485//26238 15589//26239 15588//26147 +f 23484//26146 23485//26238 15588//26147 +f 14238//26240 12551//26148 15588//26147 +f 15589//26239 14238//26240 15588//26147 +f 15148//26241 15146//26149 12551//26148 +f 14238//26240 15148//26241 12551//26148 +f 14958//26242 14959//26150 15146//26149 +f 15148//26241 14958//26242 15146//26149 +f 11803//26243 17096//26151 14959//26150 +f 14958//26242 11803//26243 14959//26150 +f 13900//26244 20351//26152 17096//26151 +f 11803//26243 13900//26244 17096//26151 +f 14052//26245 13953//26153 20351//26152 +f 13900//26244 14052//26245 20351//26152 +f 17092//26246 17093//26154 13953//26153 +f 14052//26245 17092//26246 13953//26153 +f 3857//26247 7975//26155 17093//26154 +f 17092//26246 3857//26247 17093//26154 +f 3751//26248 4549//26156 7975//26155 +f 3857//26247 3751//26248 7975//26155 +f 15090//26249 12779//26157 4549//26156 +f 3751//26248 15090//26249 4549//26156 +f 6616//26250 12483//26158 12779//26157 +f 15090//26249 6616//26250 12779//26157 +f 20584//26251 20244//26159 12483//26158 +f 6616//26250 20584//26251 12483//26158 +f 16611//2041 15217//26060 20244//26159 +f 20584//26251 16611//2041 20244//26159 +f 24028//26252 24535//26253 24079//26254 +f 32244//17182 32346//26255 32243//15397 +f 24535//26253 23781//26256 23782//26257 +f 23646//26258 24028//26252 24079//26254 +f 25349//9082 24590//24935 21814//25204 +f 12357//25447 24443//26259 20823//1640 +f 25976//24347 13462//25543 25504//26260 +f 25975//25635 23500//25967 23708//26261 +f 23988//26262 24758//26263 23554//26264 +f 23554//26264 23987//26168 25519//25595 +f 14250//26265 6672//26171 28734//26170 +f 24677//25181 25229//25373 24930//24367 +f 9404//26266 1178//26267 2077//26174 +f 14250//26265 9404//26266 2077//26174 +f 1178//26267 5553//26268 12999//26175 +f 2077//26174 1178//26267 12999//26175 +f 16777//26269 16778//6049 12999//26175 +f 5553//26268 16777//26269 12999//26175 +f 16777//26269 3964//26270 14144//23004 +f 16778//6049 16777//26269 14144//23004 +f 23369//26271 23272//26177 14144//23004 +f 3964//26270 23369//26271 14144//23004 +f 20090//26272 19979//15092 23272//26177 +f 23369//26271 20090//26272 23272//26177 +f 13370//26273 23218//19811 19979//15092 +f 20090//26272 13370//26273 19979//15092 +f 20236//26274 20234//19812 23218//19811 +f 13370//26273 20236//26274 23218//19811 +f 31368//16979 31367//3527 31300//4147 +f 20236//26274 20944//26275 20234//19812 +f 23440//16710 21771//8797 21776//8799 +f 20944//26275 21776//8799 20897//8798 +f 25590//1883 3601//457 25732//26276 +f 27433//22617 21771//8797 11576//10234 +f 24106//26086 24108//17354 25474//25422 +f 24138//2844 23680//23552 24571//2845 +f 332//22050 17105//22049 17286//5350 +f 25475//25423 23825//25500 23531//25424 +f 12903//26277 12448//26183 22944//22051 +f 23043//26278 12903//26277 22944//22051 +f 13857//26279 20889//26185 12448//26183 +f 12903//26277 13857//26279 12448//26183 +f 23321//26280 23223//26186 20889//26185 +f 13857//26279 23321//26280 20889//26185 +f 3985//26281 15741//26187 23223//26186 +f 23321//26280 3985//26281 23223//26186 +f 15067//26282 22736//26188 15741//26187 +f 3985//26281 15067//26282 15741//26187 +f 16020//26283 12777//26189 22736//26188 +f 15067//26282 16020//26283 22736//26188 +f 10244//26284 14147//26190 12777//26189 +f 16020//26283 10244//26284 12777//26189 +f 14699//26285 10820//26191 14147//26190 +f 10244//26284 14699//26285 14147//26190 +f 21414//26286 21412//26192 10820//26191 +f 14699//26285 21414//26286 10820//26191 +f 22741//26287 11062//26193 21412//26192 +f 21414//26286 22741//26287 21412//26192 +f 20967//26288 21975//26194 11062//26193 +f 22741//26287 20967//26288 11062//26193 +f 16297//17981 15331//21273 21975//26194 +f 20967//26288 16297//17981 21975//26194 +f 17773//16498 17774//22004 20190//25300 +f 17165//18563 14645//8023 17164//18535 +f 13498//23479 13687//15666 21698//12348 +f 21045//18759 21131//15962 21044//15964 +f 20321//26196 21397//26289 15283//26290 +f 19095//19267 15280//19978 20149//23315 +f 23334//26291 20321//26196 15283//26290 +f 21764//26292 23334//26291 15283//26290 +f 21600//26293 21601//26195 20321//26196 +f 23334//26291 21600//26293 20321//26196 +f 21062//26294 22648//26197 21601//26195 +f 21600//26293 21062//26294 21601//26195 +f 20399//26295 20813//26198 22648//26197 +f 21062//26294 20399//26295 22648//26197 +f 3342//26296 22363//26199 20813//26198 +f 20399//26295 3342//26296 20813//26198 +f 15861//24836 15859//20481 26054//22308 +f 22363//26199 3342//26296 20324//25569 +f 22828//23480 22846//12693 14152//24106 +f 20618//7851 18669//17669 21416//7852 +f 22734//23401 14054//19530 13273//17596 +f 15730//3406 15733//2810 1035//3407 +f 21687//25307 19642//21420 20315//21418 +f 3737//8744 16486//19316 16642//435 +f 20331//21669 20415//16659 24652//21670 +f 20102//21876 20101//26202 20021//1544 +f 20022//1546 20102//21876 20021//1544 +f 20187//26297 20186//26204 20101//26202 +f 20102//21876 20187//26297 20101//26202 +f 20273//26298 20272//26205 20186//26204 +f 20187//26297 20273//26298 20186//26204 +f 20359//26299 24907//26300 20358//26206 +f 20273//26298 20358//26206 20272//26205 +f 6788//1403 29564//1405 13392//2626 +f 35144//26301 21744//26302 21651//14120 +f 20527//26303 20526//26207 20441//26304 +f 20441//26304 20440//26208 23813//25351 +f 20609//26305 20608//26209 20526//26207 +f 20527//26303 20609//26305 20526//26207 +f 20690//26306 20689//26210 20608//26209 +f 20609//26305 20690//26306 20608//26209 +f 20772//26307 20771//26211 20689//26210 +f 20690//26306 20772//26307 20689//26210 +f 20854//26308 20853//26212 20771//26211 +f 20772//26307 20854//26308 20771//26211 +f 20934//26309 20933//26213 20853//26212 +f 20854//26308 20934//26309 20853//26212 +f 20934//26309 21017//26310 21016//26214 +f 20933//26213 20934//26309 21016//26214 +f 21017//26310 21103//26311 21102//26215 +f 21016//26214 21017//26310 21102//26215 +f 21103//26311 21191//26312 21190//26216 +f 21102//26215 21103//26311 21190//26216 +f 21191//26312 21278//21098 21277//26124 +f 21190//26216 21191//26312 21277//26124 +f 31171//15742 31172//18899 31235//22270 +f 22974//24422 22973//24343 22875//24421 +f 29544//9901 35600//4538 29545//5617 +f 21549//26313 21642//26314 21641//26219 +f 21458//17292 34091//17291 21547//26126 +f 21642//26314 21735//26315 21734//26220 +f 21641//26219 21642//26314 21734//26220 +f 21735//26315 21830//26316 21829//26221 +f 21734//26220 21735//26315 21829//26221 +f 21830//26316 21925//26317 21924//26222 +f 21829//26221 21830//26316 21924//26222 +f 21925//26317 22020//26318 22019//26223 +f 21924//26222 21925//26317 22019//26223 +f 22020//26318 22116//26319 22115//26224 +f 22019//26223 22020//26318 22115//26224 +f 22116//26319 22212//26320 22211//26225 +f 22115//26224 22116//26319 22211//26225 +f 22212//26320 22308//26321 22307//26226 +f 22211//26225 22212//26320 22307//26226 +f 22308//26321 22405//26322 22404//26227 +f 22307//26226 22308//26321 22404//26227 +f 22405//26322 22503//26323 22502//26228 +f 22404//26227 22405//26322 22502//26228 +f 22503//26323 22602//26324 22601//26229 +f 22502//26228 22503//26323 22601//26229 +f 22602//26324 22701//26325 22700//26230 +f 22601//26229 22602//26324 22700//26230 +f 22701//26325 22800//26326 22799//26231 +f 22700//26230 22701//26325 22799//26231 +f 22800//26326 22899//26327 22898//26232 +f 22799//26231 22800//26326 22898//26232 +f 22899//26327 22998//26328 22997//26233 +f 22898//26232 22899//26327 22997//26233 +f 22998//26328 23096//26329 23095//26234 +f 22997//26233 22998//26328 23095//26234 +f 23096//26329 23194//26330 23193//26235 +f 23095//26234 23096//26329 23193//26235 +f 23292//26331 23291//26236 23193//26235 +f 23194//26330 23292//26331 23193//26235 +f 23292//26331 23389//26332 23388//26237 +f 23291//26236 23292//26331 23388//26237 +f 23389//26332 23042//26333 23485//26238 +f 23388//26237 23389//26332 23485//26238 +f 23042//26333 15725//26334 15589//26239 +f 23485//26238 23042//26333 15589//26239 +f 15725//26334 3471//26335 14238//26240 +f 15589//26239 15725//26334 14238//26240 +f 15275//26336 15148//26241 14238//26240 +f 3471//26335 15275//26336 14238//26240 +f 15080//26337 14958//26242 15148//26241 +f 15275//26336 15080//26337 15148//26241 +f 6976//26338 11803//26243 14958//26242 +f 15080//26337 6976//26338 14958//26242 +f 12724//26339 13900//26244 11803//26243 +f 6976//26338 12724//26339 11803//26243 +f 13954//26340 14052//26245 13900//26244 +f 12724//26339 13954//26340 13900//26244 +f 16603//26341 17092//26246 14052//26245 +f 13954//26340 16603//26341 14052//26245 +f 16309//26342 3857//26247 17092//26246 +f 16603//26341 16309//26342 17092//26246 +f 286//26343 3751//26248 3857//26247 +f 16309//26342 286//26343 3857//26247 +f 15089//26344 15090//26249 3751//26248 +f 286//26343 15089//26344 3751//26248 +f 8462//26345 6616//26250 15090//26249 +f 15089//26344 8462//26345 15090//26249 +f 20666//26346 20584//26251 6616//26250 +f 8462//26345 20666//26346 6616//26250 +f 15091//26347 16611//2041 20584//26251 +f 20666//26346 15091//26347 20584//26251 +f 31108//22783 31109//18898 31171//15742 +f 31172//18899 31236//22885 31235//22270 +f 10242//22149 1859//26348 21032//6177 +f 2676//6178 15724//22859 30743//26349 +f 1859//26348 23464//26350 15724//22859 +f 15724//22859 23464//26350 13372//12193 +f 23464//26350 40//26351 13372//12193 +f 9685//12194 13372//12193 40//26351 +f 40//26351 13483//26352 9685//12194 +f 9404//26266 29427//26353 9685//12194 +f 13483//26352 1058//26354 9404//26266 +f 9685//12194 13483//26352 9404//26266 +f 1058//26354 13283//26355 1178//26267 +f 9404//26266 1058//26354 1178//26267 +f 13283//26355 1050//26356 5553//26268 +f 1178//26267 13283//26355 5553//26268 +f 14689//26357 16777//26269 5553//26268 +f 1050//26356 14689//26357 5553//26268 +f 14689//26357 3858//26358 3964//26270 +f 16777//26269 14689//26357 3964//26270 +f 23467//26359 23369//26271 3964//26270 +f 3858//26358 23467//26359 3964//26270 +f 2519//26360 20090//26272 23369//26271 +f 23467//26359 2519//26360 23369//26271 +f 13007//26361 13370//26273 20090//26272 +f 2519//26360 13007//26361 20090//26272 +f 20239//26362 20236//26274 13370//26273 +f 13007//26361 20239//26362 13370//26273 +f 20947//26363 20944//26275 20236//26274 +f 20239//26362 20947//26363 20236//26274 +f 21785//26364 21776//8799 20944//26275 +f 20947//26363 21785//26364 20944//26275 +f 23446//26365 23440//16710 21776//8799 +f 21785//26364 23446//26365 21776//8799 +f 20581//16709 23056//26366 18409//26367 +f 23446//26365 23466//16708 23440//16710 +f 26106//26368 26105//25656 25538//25294 +f 11776//26369 30689//26370 23056//26366 +f 23043//26278 22944//22051 332//22050 +f 26105//25656 21537//25295 25538//25294 +f 20807//26371 13857//26279 12903//26277 +f 11776//26369 20807//26371 12903//26277 +f 16154//26372 23321//26280 13857//26279 +f 20807//26371 16154//26372 13857//26279 +f 15026//26373 3985//26281 23321//26280 +f 16154//26372 15026//26373 23321//26280 +f 12984//26374 15067//26282 3985//26281 +f 15026//26373 12984//26374 3985//26281 +f 12984//26374 20178//26375 16020//26283 +f 15067//26282 12984//26374 16020//26283 +f 9544//26376 10244//26284 16020//26283 +f 20178//26375 9544//26376 16020//26283 +f 21950//26377 14699//26285 10244//26284 +f 9544//26376 21950//26377 10244//26284 +f 21323//26378 21414//26286 14699//26285 +f 21950//26377 21323//26378 14699//26285 +f 22641//26379 22741//26287 21414//26286 +f 21323//26378 22641//26379 21414//26286 +f 20191//18654 20967//26288 22741//26287 +f 22641//26379 20191//18654 22741//26287 +f 21569//17982 16297//17981 20967//26288 +f 20191//18654 21569//17982 20967//26288 +f 14391//9544 17103//23221 14408//9542 +f 33159//17315 33158//2946 33053//20513 +f 22846//12693 13498//23479 14152//24106 +f 20637//23537 20718//16314 20636//24701 +f 24872//17627 15446//20091 15445//20057 +f 20200//24785 21396//26380 21764//26292 +f 22941//26381 23334//26291 21764//26292 +f 21396//26380 22941//26381 21764//26292 +f 20494//26382 21600//26293 23334//26291 +f 22941//26381 20494//26382 23334//26291 +f 20817//26383 21062//26294 21600//26293 +f 20494//26382 20817//26383 21600//26293 +f 20817//26383 20143//26384 20399//26295 +f 21062//26294 20817//26383 20399//26295 +f 20143//26384 22460//22992 3342//26296 +f 20399//26295 20143//26384 3342//26296 +f 18557//21516 20964//17603 18461//21518 +f 16000//20551 15999//20515 15861//24836 +f 20617//9539 20618//7851 21415//7853 +f 20476//24366 20561//19001 20475//1907 +f 17772//16497 20102//21876 17675//21875 +f 16011//905 23123//10110 22930//15868 +f 16026//19516 13393//17673 79//4748 +f 1186//2985 18342//10457 97//168 +f 17874//18818 17968//18773 17967//18816 +f 20870//16665 20950//15807 18450//7044 +f 17772//16497 20189//16496 20188//24900 +f 20188//24900 20187//26297 20102//21876 +f 14744//17980 21569//17982 16859//18232 +f 20274//26385 20273//26298 20187//26297 +f 20188//24900 20274//26385 20187//26297 +f 20359//26299 20358//26206 20273//26298 +f 20274//26385 20359//26299 20273//26298 +f 22315//399 22412//915 22411//9014 +f 31046//16550 31047//24734 31108//22783 +f 20528//26386 20527//26303 20442//26387 +f 35445//5014 35523//5465 28308//2220 +f 20610//26388 20609//26305 20527//26303 +f 20528//26386 20610//26388 20527//26303 +f 20691//26389 20690//26306 20609//26305 +f 20610//26388 20691//26389 20609//26305 +f 20773//26390 20772//26307 20690//26306 +f 20691//26389 20773//26390 20690//26306 +f 20855//26391 20854//26308 20772//26307 +f 20773//26390 20855//26391 20772//26307 +f 20935//26392 20934//26309 20854//26308 +f 20855//26391 20935//26392 20854//26308 +f 20935//26392 21018//26393 21017//26310 +f 20934//26309 20935//26392 21017//26310 +f 21018//26393 21104//26394 21103//26311 +f 21017//26310 21018//26393 21103//26311 +f 21104//26394 21192//26395 21191//26312 +f 21103//26311 21104//26394 21191//26312 +f 21279//26396 21280//21402 33830//21401 +f 21191//26312 21192//26395 21278//21098 +f 22875//24421 22776//24419 22777//24420 +f 34550//4761 34678//7929 34549//4762 +f 26432//16781 26431//26397 26363//16875 +f 31047//24734 31046//16550 30985//16549 +f 34091//17291 21549//26313 21548//26218 +f 21643//26398 21642//26314 34365//26399 +f 21642//26314 21643//26398 21735//26315 +f 21736//26400 21831//21868 21830//26316 +f 21735//26315 21736//26400 21830//26316 +f 21831//21868 21926//26401 21925//26317 +f 21830//26316 21831//21868 21925//26317 +f 21926//26401 22021//26402 22020//26318 +f 21925//26317 21926//26401 22020//26318 +f 22021//26402 22117//26403 22116//26319 +f 22020//26318 22021//26402 22116//26319 +f 22117//26403 22213//26404 22212//26320 +f 22116//26319 22117//26403 22212//26320 +f 22213//26404 22309//26405 22308//26321 +f 22212//26320 22213//26404 22308//26321 +f 22309//26405 22406//26406 22405//26322 +f 22308//26321 22309//26405 22405//26322 +f 22406//26406 22504//26407 22503//26323 +f 22405//26322 22406//26406 22503//26323 +f 22504//26407 22603//26408 22602//26324 +f 22503//26323 22504//26407 22602//26324 +f 22603//26408 22702//26409 22701//26325 +f 22602//26324 22603//26408 22701//26325 +f 22702//26409 22801//26410 22800//26326 +f 22701//26325 22702//26409 22800//26326 +f 22801//26410 22900//26411 22899//26327 +f 22800//26326 22801//26410 22899//26327 +f 22900//26411 22999//26412 22998//26328 +f 22899//26327 22900//26411 22998//26328 +f 22999//26412 23097//26413 23096//26329 +f 22998//26328 22999//26412 23096//26329 +f 23097//26413 23195//26414 23194//26330 +f 23096//26329 23097//26413 23194//26330 +f 23293//26415 23292//26331 23194//26330 +f 23195//26414 23293//26415 23194//26330 +f 23390//26416 23389//26332 23292//26331 +f 23293//26415 23390//26416 23292//26331 +f 23390//26416 4404//26417 23042//26333 +f 23389//26332 23390//26416 23042//26333 +f 4404//26417 15863//26418 15725//26334 +f 23042//26333 4404//26417 15725//26334 +f 15863//26418 7888//26419 3471//26335 +f 15725//26334 15863//26418 3471//26335 +f 7888//26419 15404//26420 15275//26336 +f 3471//26335 7888//26419 15275//26336 +f 15206//26421 15080//26337 15275//26336 +f 15404//26420 15206//26421 15275//26336 +f 12550//26422 6976//26338 15080//26337 +f 15206//26421 12550//26422 15080//26337 +f 20435//26423 12724//26339 6976//26338 +f 12550//26422 20435//26423 6976//26338 +f 14246//26424 13954//26340 12724//26339 +f 20435//26423 14246//26424 12724//26339 +f 13855//26425 16603//26341 13954//26340 +f 14246//26424 13855//26425 13954//26340 +f 16308//26426 16309//26342 16603//26341 +f 13855//26425 16308//26426 16603//26341 +f 6131//26427 286//26343 16309//26342 +f 16308//26426 6131//26427 16309//26342 +f 14968//26428 15089//26344 286//26343 +f 6131//26427 14968//26428 286//26343 +f 8667//26429 8462//26345 15089//26344 +f 14968//26428 8667//26429 15089//26344 +f 20821//26430 20666//26346 8462//26345 +f 8667//26429 20821//26430 8462//26345 +f 16456//26431 15091//26347 20666//26346 +f 20821//26430 16456//26431 20666//26346 +f 16456//26431 3459//26432 10242//22149 +f 15091//26347 16456//26431 10242//22149 +f 3459//26432 23339//26433 1859//26348 +f 10242//22149 3459//26432 1859//26348 +f 23339//26433 23465//26434 23464//26350 +f 1859//26348 23339//26433 23464//26350 +f 23465//26434 4533//26435 40//26351 +f 23464//26350 23465//26434 40//26351 +f 4533//26435 13469//26436 13483//26352 +f 40//26351 4533//26435 13483//26352 +f 13469//26436 13523//26437 1058//26354 +f 13483//26352 13469//26436 1058//26354 +f 13523//26437 13282//26438 13283//26355 +f 1058//26354 13523//26437 13283//26355 +f 13905//26439 1050//26356 13283//26355 +f 13282//26438 13905//26439 13283//26355 +f 1330//26440 14689//26357 1050//26356 +f 13905//26439 1330//26440 1050//26356 +f 1330//26440 4286//26441 3858//26358 +f 14689//26357 1330//26440 3858//26358 +f 15876//26442 23467//26359 3858//26358 +f 4286//26441 15876//26442 3858//26358 +f 21778//26443 2519//26360 23467//26359 +f 15876//26442 21778//26443 23467//26359 +f 11597//26444 13007//26361 2519//26360 +f 21778//26443 11597//26444 2519//26360 +f 20240//26445 20239//26362 13007//26361 +f 11597//26444 20240//26445 13007//26361 +f 21118//26446 20947//26363 20239//26362 +f 20240//26445 21118//26446 20239//26362 +f 21851//26447 21785//26364 20947//26363 +f 21118//26446 21851//26447 20947//26363 +f 15113//26448 23446//26365 21785//26364 +f 21851//26447 15113//26448 21785//26364 +f 12449//26449 23466//16708 23446//26365 +f 15113//26448 12449//26449 23446//26365 +f 23141//26450 23056//26366 23466//16708 +f 12449//26449 23141//26450 23466//16708 +f 35882//3023 9922//3022 35938//1781 +f 23141//26450 13470//26451 23056//26366 +f 21304//26452 20807//26371 11776//26369 +f 13470//26451 21304//26452 11776//26369 +f 15872//26453 16154//26372 20807//26371 +f 21304//26452 15872//26453 20807//26371 +f 14146//26454 15026//26373 16154//26372 +f 15872//26453 14146//26454 16154//26372 +f 14146//26454 23423//26455 12984//26374 +f 15026//26373 14146//26454 12984//26374 +f 23423//26455 22340//26456 20178//26375 +f 12984//26374 23423//26455 20178//26375 +f 12893//26457 9544//26376 20178//26375 +f 22340//26456 12893//26457 20178//26375 +f 23124//26458 21950//26377 9544//26376 +f 12893//26457 23124//26458 9544//26376 +f 21505//26459 21323//26378 21950//26377 +f 23124//26458 21505//26459 21950//26377 +f 20312//26460 22641//26379 21323//26378 +f 21505//26459 20312//26460 21323//26378 +f 20780//18652 20191//18654 22641//26379 +f 20312//26460 20780//18652 22641//26379 +f 29811//1263 34757//13716 21649//13718 +f 20675//18656 17101//15013 16387//18623 +f 20301//1407 20300//20296 20214//1408 +f 18748//15415 21129//21944 21130//15963 +f 18650//20738 17915//18994 20233//20689 +f 28951//9902 29086//13579 28950//12281 +f 20656//26461 21396//26380 20201//26462 +f 31788//20248 31787//17314 31687//25560 +f 15460//26463 22941//26381 21396//26380 +f 20656//26461 15460//26463 21396//26380 +f 20579//26464 20494//26382 22941//26381 +f 15460//26463 20579//26464 22941//26381 +f 20579//26464 20572//26465 20817//26383 +f 20494//26382 20579//26464 20817//26383 +f 20572//26465 22652//15953 20143//26384 +f 20817//26383 20572//26465 20143//26384 +f 20135//686 30534//2068 30602//3207 +f 20143//26384 22652//15953 22460//22992 +f 21506//13901 13961//2423 20041//18388 +f 20476//24366 20477//17667 20561//19001 +f 13862//16147 13767//1997 13669//4693 +f 15733//2810 16156//17594 1035//3407 +f 13764//4692 13862//16147 13669//4693 +f 929//2611 23029//16779 22932//2612 +f 21400//16237 21410//9834 22828//23480 +f 20386//18729 20470//13768 20385//13770 +f 14155//9463 11235//4744 13763//9464 +f 17773//16498 20190//25300 20189//16496 +f 3737//8744 16485//19317 16486//19316 +f 20275//26466 20274//26385 20188//24900 +f 20189//16496 20275//26466 20188//24900 +f 20360//26467 20359//26299 20274//26385 +f 20275//26466 20360//26467 20274//26385 +f 20444//26468 20443//26469 20359//26299 +f 20360//26467 20444//26468 20359//26299 +f 20529//26470 20528//26386 20443//26469 +f 20444//26468 20529//26470 20443//26469 +f 20611//26471 20610//26388 20528//26386 +f 20529//26470 20611//26471 20528//26386 +f 20692//26472 20691//26389 20610//26388 +f 20611//26471 20692//26472 20610//26388 +f 20774//26473 20773//26390 20691//26389 +f 20692//26472 20774//26473 20691//26389 +f 20856//26474 20855//26391 20773//26390 +f 20774//26473 20856//26474 20773//26390 +f 20936//26475 20935//26392 20855//26391 +f 20856//26474 20936//26475 20855//26391 +f 20936//26475 21019//26476 21018//26393 +f 20935//26392 20936//26475 21018//26393 +f 21019//26476 21105//26477 21104//26394 +f 21018//26393 21019//26476 21104//26394 +f 21105//26477 21193//26478 21192//26395 +f 21104//26394 21105//26477 21192//26395 +f 21280//21402 21194//26479 21281//21403 +f 21192//26395 21193//26478 21279//26396 +f 30986//26480 30985//16549 30927//13184 +f 23082//25076 6855//16455 22984//16457 +f 22481//24570 22384//23444 22482//23076 +f 28557//15085 28556//12079 28434//11007 +f 28435//15086 28557//15085 28434//11007 +f 26596//4198 26700//24695 26225//21487 +f 17286//5350 17105//22049 19131//5351 +f 21737//14218 34499//26481 34627//14219 +f 34499//26481 21736//26400 21735//26315 +f 21832//21867 21927//26482 21926//26401 +f 21831//21868 21832//21867 21926//26401 +f 21927//26482 22022//26483 22021//26402 +f 21926//26401 21927//26482 22021//26402 +f 22022//26483 22118//26484 22117//26403 +f 22021//26402 22022//26483 22117//26403 +f 22118//26484 22214//26485 22213//26404 +f 22117//26403 22118//26484 22213//26404 +f 22214//26485 22310//26486 22309//26405 +f 22213//26404 22214//26485 22309//26405 +f 22310//26486 22407//26487 22406//26406 +f 22309//26405 22310//26486 22406//26406 +f 22407//26487 22505//26488 22504//26407 +f 22406//26406 22407//26487 22504//26407 +f 22505//26488 22604//26489 22603//26408 +f 22504//26407 22505//26488 22603//26408 +f 22604//26489 22703//26490 22702//26409 +f 22603//26408 22604//26489 22702//26409 +f 22703//26490 22802//26491 22801//26410 +f 22702//26409 22703//26490 22801//26410 +f 22802//26491 22901//26492 22900//26411 +f 22801//26410 22802//26491 22900//26411 +f 22901//26492 23000//26493 22999//26412 +f 22900//26411 22901//26492 22999//26412 +f 23000//26493 23098//26494 23097//26413 +f 22999//26412 23000//26493 23097//26413 +f 23098//26494 23196//26495 23195//26414 +f 23097//26413 23098//26494 23195//26414 +f 23294//26496 23293//26415 23195//26414 +f 23196//26495 23294//26496 23195//26414 +f 23391//26497 23390//26416 23293//26415 +f 23294//26496 23391//26497 23293//26415 +f 14702//26498 4404//26417 23390//26416 +f 23391//26497 14702//26498 23390//26416 +f 14702//26498 16296//26499 15863//26418 +f 4404//26417 14702//26498 15863//26418 +f 16296//26499 2255//26500 7888//26419 +f 15863//26418 16296//26499 7888//26419 +f 2255//26500 13810//26501 15404//26420 +f 7888//26419 2255//26500 15404//26420 +f 15333//26502 15206//26421 15404//26420 +f 13810//26501 15333//26502 15404//26420 +f 3932//26503 12550//26422 15206//26421 +f 15333//26502 3932//26503 15206//26421 +f 11506//26504 20435//26423 12550//26422 +f 3932//26503 11506//26504 12550//26422 +f 7572//26505 14246//26424 20435//26423 +f 11506//26504 7572//26505 20435//26423 +f 4063//26506 13855//26425 14246//26424 +f 7572//26505 4063//26506 14246//26424 +f 16455//26507 16308//26426 13855//26425 +f 4063//26506 16455//26507 13855//26425 +f 4378//26508 6131//26427 16308//26426 +f 16455//26507 4378//26508 16308//26426 +f 14967//26509 14968//26428 6131//26427 +f 4378//26508 14967//26509 6131//26427 +f 10095//26510 8667//26429 14968//26428 +f 14967//26509 10095//26510 14968//26428 +f 23176//26511 20821//26430 8667//26429 +f 10095//26510 23176//26511 8667//26429 +f 23176//26511 16457//26512 16456//26431 +f 20821//26430 23176//26511 16456//26431 +f 16457//26512 9233//26513 3459//26432 +f 16456//26431 16457//26512 3459//26432 +f 9233//26513 15875//26514 23339//26433 +f 3459//26432 9233//26513 23339//26433 +f 15875//26514 23367//26515 23465//26434 +f 23339//26433 15875//26514 23465//26434 +f 23367//26515 12424//26516 4533//26435 +f 23465//26434 23367//26515 4533//26435 +f 12424//26516 13277//26517 13469//26436 +f 4533//26435 12424//26516 13469//26436 +f 13277//26517 9203//26518 13523//26437 +f 13469//26436 13277//26517 13523//26437 +f 9203//26518 13187//26519 13282//26438 +f 13523//26437 9203//26518 13282//26438 +f 705//26520 13905//26439 13282//26438 +f 13187//26519 705//26520 13282//26438 +f 3129//26521 1330//26440 13905//26439 +f 705//26520 3129//26521 13905//26439 +f 3129//26521 12635//26522 4286//26441 +f 1330//26440 3129//26521 4286//26441 +f 15677//26523 15876//26442 4286//26441 +f 12635//26522 15677//26523 4286//26441 +f 19980//26524 21778//26443 15876//26442 +f 15677//26523 19980//26524 15876//26442 +f 13956//26525 11597//26444 21778//26443 +f 19980//26524 13956//26525 21778//26443 +f 20279//26526 20240//26445 11597//26444 +f 13956//26525 20279//26526 11597//26444 +f 21119//26527 21118//26446 20240//26445 +f 20279//26526 21119//26527 20240//26445 +f 21852//26528 21851//26447 21118//26446 +f 21119//26527 21852//26528 21118//26446 +f 5223//26529 15113//26448 21851//26447 +f 21852//26528 5223//26529 21851//26447 +f 14157//26530 12449//26449 15113//26448 +f 5223//26529 14157//26530 15113//26448 +f 23154//26531 23141//26450 12449//26449 +f 14157//26530 23154//26531 12449//26449 +f 3337//26532 13470//26451 23141//26450 +f 23154//26531 3337//26532 23141//26450 +f 20194//26533 21304//26452 13470//26451 +f 3337//26532 20194//26533 13470//26451 +f 11411//26534 15872//26453 21304//26452 +f 20194//26533 11411//26534 21304//26452 +f 13202//26535 14146//26454 15872//26453 +f 11411//26534 13202//26535 15872//26453 +f 13202//26535 23326//26536 23423//26455 +f 14146//26454 13202//26535 23423//26455 +f 22341//26537 22340//26456 23423//26455 +f 23326//26536 22341//26537 23423//26455 +f 12986//26538 12893//26457 22340//26456 +f 22341//26537 12986//26538 22340//26456 +f 23416//26539 23124//26458 12893//26457 +f 12986//26538 23416//26539 12893//26457 +f 21324//26540 21505//26459 23124//26458 +f 23416//26539 21324//26540 23124//26458 +f 22541//26541 20312//26460 21505//26459 +f 21324//26540 22541//26541 21505//26459 +f 20675//18656 20780//18652 20312//26460 +f 22541//26541 20675//18656 20312//26460 +f 16387//18623 17101//15013 5486//18655 +f 29086//13579 29223//2793 29085//6343 +f 23214//23568 23213//15706 23115//15705 +f 24188//25214 30767//26542 26209//23601 +f 12362//18666 22957//4746 21401//16676 +f 21380//5473 21465//22 20348//685 +f 31688//14044 31788//20248 31687//25560 +f 21396//26380 20200//24785 20201//26462 +f 20027//26543 15460//26463 20656//26461 +f 21670//21140 20027//26543 20656//26461 +f 20578//22756 20579//26464 15460//26463 +f 20027//26543 20578//22756 15460//26463 +f 20578//22756 22434//15954 20572//26465 +f 20579//26464 20578//22756 20572//26465 +f 17876//19878 17969//19384 17968//18773 +f 20572//26465 22434//15954 22652//15953 +f 18748//15415 21130//15963 18749//15413 +f 20156//7128 20071//15818 14240//15820 +f 20392//1906 20476//24366 20475//1907 +f 20306//18601 20307//23782 20391//1905 +f 26202//25977 24113//26544 25398//25975 +f 20065//16677 20066//4137 20564//1990 +f 28686//21212 28818//6650 28685//10761 +f 21485//4577 21578//24168 13955//4578 +f 16301//17614 17564//15669 18734//15867 +f 17098//15396 124//19576 17130//3570 +f 20190//25300 20276//22514 20275//26466 +f 20189//16496 20190//25300 20275//26466 +f 20361//26545 20360//26467 20275//26466 +f 20276//22514 20361//26545 20275//26466 +f 20445//26546 20444//26468 20360//26467 +f 20361//26545 20445//26546 20360//26467 +f 20530//26547 20529//26470 20444//26468 +f 20445//26546 20530//26547 20444//26468 +f 20612//26548 20611//26471 20529//26470 +f 20530//26547 20612//26548 20529//26470 +f 20693//26549 20692//26472 20611//26471 +f 20612//26548 20693//26549 20611//26471 +f 20693//26549 20775//26550 20774//26473 +f 20692//26472 20693//26549 20774//26473 +f 20775//26550 20857//26551 20856//26474 +f 20774//26473 20775//26550 20856//26474 +f 20857//26551 20937//26552 20936//26475 +f 20856//26474 20857//26551 20936//26475 +f 21020//26553 21019//26476 20936//26475 +f 20937//26552 21020//26553 20936//26475 +f 21106//26554 21105//26477 21019//26476 +f 21020//26553 21106//26554 21019//26476 +f 21106//26554 21194//26479 21193//26478 +f 21105//26477 21106//26554 21193//26478 +f 33966//26555 21195//5305 33967//12350 +f 21193//26478 21194//26479 21280//21402 +f 20185//26200 20100//22064 20186//26204 +f 22845//26184 17105//22049 22944//22051 +f 28198//1499 28197//3252 28080//5424 +f 28081//2297 28198//1499 28080//5424 +f 27614//11439 27615//20789 27731//17051 +f 27615//20789 27732//17052 27731//17051 +f 3366//4619 3365//4460 3227//4781 +f 30316//22780 30315//22782 30182//26556 +f 21833//16195 21928//16197 21927//26482 +f 21832//21867 21833//16195 21927//26482 +f 21928//16197 22023//26557 22022//26483 +f 21927//26482 21928//16197 22022//26483 +f 21929//16489 22024//26558 22023//26557 +f 22022//26483 22023//26557 22118//26484 +f 22119//26559 22215//26560 22214//26485 +f 22118//26484 22119//26559 22214//26485 +f 22215//26560 22311//26561 22310//26486 +f 22214//26485 22215//26560 22310//26486 +f 22311//26561 22408//26562 22407//26487 +f 22310//26486 22311//26561 22407//26487 +f 22408//26562 22506//26563 22505//26488 +f 22407//26487 22408//26562 22505//26488 +f 22506//26563 22605//26564 22604//26489 +f 22505//26488 22506//26563 22604//26489 +f 22605//26564 22704//26565 22703//26490 +f 22604//26489 22605//26564 22703//26490 +f 22704//26565 22803//26566 22802//26491 +f 22703//26490 22704//26565 22802//26491 +f 22803//26566 22902//26567 22901//26492 +f 22802//26491 22803//26566 22901//26492 +f 22902//26567 23001//26568 23000//26493 +f 22901//26492 22902//26567 23000//26493 +f 23001//26568 23099//26569 23098//26494 +f 23000//26493 23001//26568 23098//26494 +f 23099//26569 23197//26570 23196//26495 +f 23098//26494 23099//26569 23196//26495 +f 23295//26571 23294//26496 23196//26495 +f 23197//26570 23295//26571 23196//26495 +f 23392//26572 23391//26497 23294//26496 +f 23295//26571 23392//26572 23294//26496 +f 4948//26573 14702//26498 23391//26497 +f 23392//26572 4948//26573 23391//26497 +f 4948//26573 16444//26574 16296//26499 +f 14702//26498 4948//26573 16296//26499 +f 16444//26574 12571//26575 2255//26500 +f 16296//26499 16444//26574 2255//26500 +f 12571//26575 15077//26576 13810//26501 +f 2255//26500 12571//26575 13810//26501 +f 14957//26577 15333//26502 13810//26501 +f 15077//26576 14957//26577 13810//26501 +f 4196//26578 3932//26503 15333//26502 +f 14957//26577 4196//26578 15333//26502 +f 7472//26579 11506//26504 3932//26503 +f 4196//26578 7472//26579 3932//26503 +f 13589//26580 7572//26505 11506//26504 +f 7472//26579 13589//26580 11506//26504 +f 20585//26581 4063//26506 7572//26505 +f 13589//26580 20585//26581 7572//26505 +f 16608//26582 16455//26507 4063//26506 +f 20585//26581 16608//26582 4063//26506 +f 4097//26583 4378//26508 16455//26507 +f 16608//26582 4097//26583 16455//26507 +f 13151//26584 14967//26509 4378//26508 +f 4097//26583 13151//26584 4378//26508 +f 6634//26585 10095//26510 14967//26509 +f 13151//26584 6634//26585 14967//26509 +f 23274//26586 23176//26511 10095//26510 +f 6634//26585 23274//26586 10095//26510 +f 23274//26586 8005//26587 16457//26512 +f 23176//26511 23274//26586 16457//26512 +f 8005//26587 11202//26588 9233//26513 +f 16457//26512 8005//26587 9233//26513 +f 11202//26588 20014//26589 15875//26514 +f 9233//26513 11202//26588 15875//26514 +f 20014//26589 22659//26590 23367//26515 +f 15875//26514 20014//26589 23367//26515 +f 22659//26590 12338//26591 12424//26516 +f 23367//26515 22659//26590 12424//26516 +f 12338//26591 13374//26592 13277//26517 +f 12424//26516 12338//26591 13277//26517 +f 13374//26592 6119//26593 9203//26518 +f 13277//26517 13374//26592 9203//26518 +f 13379//19571 13187//26519 9203//26518 +f 6119//26593 13379//19571 9203//26518 +f 13207//24592 705//26520 13187//26519 +f 13379//19571 13207//24592 13187//26519 +f 15634//24591 3129//26521 705//26520 +f 13207//24592 15634//24591 705//26520 +f 15634//24591 14053//18293 12635//26522 +f 3129//26521 15634//24591 12635//26522 +f 16305//18357 15677//26523 12635//26522 +f 14053//18293 16305//18357 12635//26522 +f 20175//18356 19980//26524 15677//26523 +f 16305//18357 20175//18356 15677//26523 +f 2889//18321 13956//26525 19980//26524 +f 20175//18356 2889//18321 19980//26524 +f 2889//18321 20280//14771 20279//26526 +f 13956//26525 2889//18321 20279//26526 +f 20280//14771 21120//18289 21119//26527 +f 20279//26526 20280//14771 21119//26527 +f 21853//18288 21852//26528 21119//26527 +f 21120//18289 21853//18288 21119//26527 +f 372//3142 5223//26529 21852//26528 +f 21853//18288 372//3142 21852//26528 +f 20648//3141 14157//26530 5223//26529 +f 372//3142 20648//3141 5223//26529 +f 23237//16859 23154//26531 14157//26530 +f 20648//3141 23237//16859 14157//26530 +f 5590//16861 3337//26532 23154//26531 +f 23237//16859 5590//16861 23154//26531 +f 20646//14775 20194//26533 3337//26532 +f 5590//16861 20646//14775 3337//26532 +f 15467//14774 11411//26534 20194//26533 +f 20646//14775 15467//14774 20194//26533 +f 14046//15937 13202//26535 11411//26534 +f 15467//14774 14046//15937 11411//26534 +f 14046//15937 22834//17726 23326//26536 +f 13202//26535 14046//15937 23326//26536 +f 22439//10881 22341//26537 23326//26536 +f 22834//17726 22439//10881 23326//26536 +f 20697//20408 12986//26538 22341//26537 +f 22439//10881 20697//20408 22341//26537 +f 22356//13132 23416//26539 12986//26538 +f 20697//20408 22356//13132 12986//26538 +f 21595//15843 21324//26540 23416//26539 +f 22356//13132 21595//15843 23416//26539 +f 22443//2162 22541//26541 21324//26540 +f 21595//15843 22443//2162 21324//26540 +f 17101//15013 20675//18656 22541//26541 +f 22443//2162 17101//15013 22541//26541 +f 124//19576 2622//19537 17130//3570 +f 4234//20292 19309//20293 34065//22233 +f 20491//18390 20492//23582 21300//23583 +f 13687//15666 3312//20869 21769//15667 +f 32241//13209 32343//17445 32240//25876 +f 20306//18601 17703//14592 20307//23782 +f 30507//26594 25106//5607 30506//26595 +f 25578//16951 30506//26595 25106//5607 +f 21241//25692 20027//26543 21670//21140 +f 21395//16080 21241//25692 21670//21140 +f 22652//15953 18570//22910 19430//22993 +f 20027//26543 21241//25692 20578//22756 +f 14812//19266 14629//14084 16858//19557 +f 18027//16167 7108//17535 21770//17774 +f 14685//16648 20498//17258 19993//23362 +f 22926//12692 13687//15666 13498//23479 +f 11862//17613 15464//7127 11863//7474 +f 14590//15504 14685//16648 19993//23362 +f 18841//21848 1970//16140 18742//16362 +f 18969//15321 17624//22901 18869//17030 +f 20576//16472 21400//16237 20575//1991 +f 20190//25300 17871//22515 20276//22514 +f 21769//15667 7108//17535 2769//17112 +f 14059//23446 16486//19316 16335//19315 +f 20307//23782 20392//1906 20391//1905 +f 33187//20194 33292//6325 33186//6327 +f 16850//19030 5486//18655 17101//15013 +f 20362//18070 20361//26545 20276//22514 +f 35851//13334 35418//1275 35443//22297 +f 20446//16891 20445//26546 20361//26545 +f 20362//18070 20446//16891 20361//26545 +f 20531//5558 20530//26547 20445//26546 +f 20446//16891 20531//5558 20445//26546 +f 20613//4592 20612//26548 20530//26547 +f 20531//5558 20613//4592 20530//26547 +f 20613//4592 20694//4593 20693//26549 +f 20612//26548 20613//4592 20693//26549 +f 20694//4593 20776//4672 20775//26550 +f 20693//26549 20694//4593 20775//26550 +f 20776//4672 20858//7825 20857//26551 +f 20775//26550 20776//4672 20857//26551 +f 20858//7825 20938//7827 20937//26552 +f 20857//26551 20858//7825 20937//26552 +f 21021//6945 21020//26553 20937//26552 +f 20938//7827 21021//6945 20937//26552 +f 21107//5304 21106//26554 21020//26553 +f 21021//6945 21107//5304 21020//26553 +f 21107//5304 21195//5305 21194//26479 +f 21106//26554 21107//5304 21194//26479 +f 21196//4238 33967//12350 21195//5305 +f 24739//14760 2808//14759 28996//26596 +f 22762//22963 24554//26597 24556//26598 +f 28315//1501 28435//15086 28314//3253 +f 28315//1501 28314//3253 28197//3252 +f 27963//5944 27962//9427 27846//5945 +f 27732//17052 27847//5943 27846//5945 +f 31597//7125 31692//17552 31596//14629 +f 26606//5471 26605//16811 26509//10835 +f 21834//16196 21929//16489 21928//16197 +f 21833//16195 21832//21867 34754//14217 +f 21929//16489 35138//26599 22024//26558 +f 21928//16197 21929//16489 22023//26557 +f 6847//24396 21369//15969 21459//15968 +f 27635//26600 27646//14779 29271//26601 +f 22120//2066 22216//10386 22215//26560 +f 22118//26484 22023//26557 35136//2067 +f 22216//10386 22312//10371 22311//26561 +f 22215//26560 22216//10386 22311//26561 +f 22312//10371 22409//10370 22408//26562 +f 22311//26561 22312//10371 22408//26562 +f 22409//10370 22507//15197 22506//26563 +f 22408//26562 22409//10370 22506//26563 +f 22507//15197 22606//16198 22605//26564 +f 22506//26563 22507//15197 22605//26564 +f 22606//16198 22705//16200 22704//26565 +f 22605//26564 22606//16198 22704//26565 +f 22705//16200 22804//16805 22803//26566 +f 22704//26565 22705//16200 22803//26566 +f 22804//16805 22903//13504 22902//26567 +f 22803//26566 22804//16805 22902//26567 +f 22903//13504 23002//13506 23001//26568 +f 22902//26567 22903//13504 23001//26568 +f 23002//13506 23100//15952 23099//26569 +f 23001//26568 23002//13506 23099//26569 +f 23100//15952 23198//15998 23197//26570 +f 23099//26569 23100//15952 23197//26570 +f 23296//16520 23295//26571 23197//26570 +f 23198//15998 23296//16520 23197//26570 +f 23393//15720 23392//26572 23295//26571 +f 23296//16520 23393//15720 23295//26571 +f 21501//16382 4948//26573 23392//26572 +f 23393//15720 21501//16382 23392//26572 +f 21501//16382 16007//16602 16444//26574 +f 4948//26573 21501//16382 16444//26574 +f 16007//16602 11342//16262 12571//26575 +f 16444//26574 16007//16602 12571//26575 +f 11342//16262 15078//16257 15077//26576 +f 12571//26575 11342//16262 15077//26576 +f 15538//16403 14957//26577 15077//26576 +f 15078//16257 15538//16403 15077//26576 +f 16760//20090 4196//26578 14957//26577 +f 15538//16403 16760//20090 14957//26577 +f 14073//20056 7472//26579 4196//26578 +f 16760//20090 14073//20056 4196//26578 +f 12308//20055 13589//26580 7472//26579 +f 14073//20056 12308//20055 7472//26579 +f 13013//17389 20585//26581 13589//26580 +f 12308//20055 13013//17389 13589//26580 +f 16609//17318 16608//26582 20585//26581 +f 13013//17389 16609//17318 20585//26581 +f 4064//17317 4097//26583 16608//26582 +f 16609//17318 4064//17317 16608//26582 +f 10120//197 13151//26584 4097//26583 +f 4064//17317 10120//197 4097//26583 +f 2905//196 6634//26585 13151//26584 +f 10120//197 2905//196 13151//26584 +f 23371//17270 23274//26586 6634//26585 +f 2905//196 23371//17270 6634//26585 +f 23371//17270 13586//16518 8005//26587 +f 23274//26586 23371//17270 8005//26587 +f 13586//16518 12390//16519 11202//26588 +f 8005//26587 13586//16518 11202//26588 +f 12390//16519 20013//16341 20014//26589 +f 11202//26588 12390//16519 20014//26589 +f 20013//16341 20665//16343 22659//26590 +f 20014//26589 20013//16341 22659//26590 +f 20665//16343 5694//16492 12338//26591 +f 22659//26590 20665//16343 12338//26591 +f 5694//16492 12993//16004 13374//26592 +f 12338//26591 5694//16492 13374//26592 +f 12993//16004 10448//16571 6119//26593 +f 13374//26592 12993//16004 6119//26593 +f 13378//19569 13379//19571 6119//26593 +f 10448//16571 13378//19569 6119//26593 +f 13015//19570 13207//24592 13379//19571 +f 24109//24170 24457//26109 26084//24227 +f 17912//15904 22262//23826 34071//26602 +f 20588//24613 20670//18267 20669//15635 +f 16924//23614 15602//17224 23886//23731 +f 24472//26603 16924//23614 23886//23731 +f 23716//26604 26004//23729 22449//23728 +f 20987//26605 23716//26604 22449//23728 +f 15586//19738 13178//14929 21909//17268 +f 26223//26110 24439//26606 24398//24228 +f 25591//17407 24100//25046 25589//25659 +f 29569//14833 24431//14832 3059//26607 +f 21006//20480 23502//26608 13271//19739 +f 26330//26609 25719//24998 24963//25919 +f 12088//26610 21985//25499 23502//26608 +f 15586//19738 26197//19740 15721//20446 +f 21661//23736 23315//26611 24425//26612 +f 24435//26613 24711//26614 24351//23463 +f 25964//25014 24628//26615 25378//26616 +f 25965//25040 25964//25014 25378//26616 +f 25227//24997 23668//25049 25455//26617 +f 26001//24376 24047//25084 25205//25083 +f 25591//17407 25589//25659 23706//25349 +f 25155//24503 25189//24502 13561//24526 +f 24134//23152 24749//25916 23984//8600 +f 23536//25722 23834//26618 23535//25932 +f 13111//17128 23251//17130 22448//25700 +f 6009//14021 2007//17456 1064//24426 +f 1327//19562 19475//17035 24001//22243 +f 13061//17881 13155//14814 13060//14815 +f 35648//13140 35424//11028 35684//6552 +f 12874//17764 12968//17189 12967//17840 +f 34720//14200 6940//10613 6975//13117 +f 23573//17841 25585//17765 12874//17764 +f 21958//24499 25718//26619 24821//26620 +f 35080//12190 35209//16753 35079//15948 +f 14374//18430 24204//20407 25658//20081 +f 22395//24118 25521//24120 25520//25584 +f 25993//15128 25851//20329 4537//15126 +f 15578//20130 15447//20129 15448//20166 +f 17103//23221 25657//17805 21067//23219 +f 26293//25545 26294//26621 22759//1639 +f 12693//17816 12783//17324 12782//17766 +f 16776//15416 14587//19561 15622//15417 +f 24547//26622 24363//26623 12009//23551 +f 24906//23119 23702//25554 24905//23120 +f 22369//22928 25034//16423 22272//16429 +f 22464//15862 25225//25699 24070//26624 +f 23787//25254 20946//25255 23788//25175 +f 25854//25484 25864//26625 21074//23550 +f 21359//26087 22292//10959 25773//26626 +f 23891//23189 25303//16512 24956//24008 +f 24149//16374 25488//23908 25486//26627 +f 23891//23189 24956//24008 24955//16755 +f 25141//16352 24449//17287 23928//26628 +f 25322//24815 25775//25890 13090//24804 +f 26167//26629 26168//25234 26308//25236 +f 24581//26630 20659//24632 21889//25001 +f 13105//24946 24581//26630 21889//25001 +f 24688//26631 12713//26632 24689//24996 +f 25863//25772 24371//17002 22975//25773 +f 26084//24227 26223//26110 24398//24228 +f 24162//26633 24716//24229 24398//24228 +f 12359//26634 21723//26635 25570//22933 +f 24439//26606 24162//26633 24398//24228 +f 24998//17358 26260//2769 25357//17109 +f 24451//6603 30632//6605 30625//10837 +f 24162//26633 25340//26636 25339//24276 +f 14563//6847 35762//9579 35801//13859 +f 22781//26637 25334//26638 24789//26639 +f 26251//5299 38//5130 4531//10333 +f 35653//7351 35867//7350 35563//11904 +f 2344//16514 5209//18795 5075//16515 +f 20059//23111 20975//25315 441//25314 +f 17316//22024 17304//2567 11837//25093 +f 25488//23908 23891//23189 23533//23188 +f 23612//26640 25672//26641 22629//25983 +f 22299//24119 25630//26642 25521//24120 +f 20845//26643 23527//26644 23871//26645 +f 14357//18814 14333//18979 14344//20409 +f 25736//23803 25878//23798 25877//24942 +f 22291//10958 25970//26646 25917//25193 +f 25062//15358 25063//15357 24850//17085 +f 25650//14261 24406//15631 26096//26647 +f 26052//26648 26051//25402 25909//16408 +f 25919//26649 24287//26650 24475//26651 +f 13078//16468 26096//26647 25953//17187 +f 24716//24229 24162//26633 25339//24276 +f 24287//26650 24770//26652 21516//23842 +f 25714//14798 16931//20087 25817//14799 +f 25340//26636 23892//13288 26235//24294 +f 24533//23625 22099//26653 24708//26654 +f 35351//6861 35879//1611 35509//9197 +f 24235//24857 24249//25397 25537//25052 +f 24444//26655 24023//26656 29020//26657 +f 25024//26658 25919//26649 24475//26651 +f 25536//21078 23829//21077 25164//23600 +f 24475//26651 24287//26650 21516//23842 +f 21909//17268 23807//17269 21006//20480 +f 13364//16134 13459//16133 13363//15575 +f 23807//17269 15219//25192 12088//26610 +f 25291//25888 24174//25087 23058//24531 +f 15219//25192 23253//26659 12088//26610 +f 24859//25405 24472//26603 23716//26604 +f 20908//26660 20987//26605 23253//26659 +f 15219//25192 20908//26660 23253//26659 +f 14795//25406 24859//25405 23716//26604 +f 14795//25406 23716//26604 20987//26605 +f 20908//26660 14795//25406 20987//26605 +f 22879//26661 16924//23614 24472//26603 +f 25339//24276 25340//26636 26235//24294 +f 26031//24860 26032//25059 26173//23556 +f 24265//26662 23777//26663 24984//17558 +f 25454//26664 25150//26665 25422//25490 +f 24441//24798 14851//26666 24695//25183 +f 25961//20378 25814//16485 23917//26667 +f 22366//26668 24381//25879 22779//25191 +f 14333//18979 25946//14957 14345//19427 +f 24859//25405 22879//26661 24472//26603 +f 25762//9009 25904//26068 25761//26070 +f 26349//21548 30874//24216 26351//9604 +f 24478//24861 23756//24295 24326//26669 +f 24848//17426 30599//26670 28070//20406 +f 26089//18978 25946//14957 14333//18979 +f 35854//5116 35585//10970 35602//3454 +f 22351//24856 24249//25397 24235//24857 +f 16149//26671 16150//3211 16293//3213 +f 7992//15537 11357//16123 8681//15538 +f 25629//24231 25156//17648 13460//18762 +f 20591//22754 23747//24283 20590//24733 +f 24965//23203 25098//24178 24087//23954 +f 25027//26165 24522//26672 21056//23684 +f 23787//25254 3603//25253 20320//23067 +f 24949//17192 12090//17672 21448//17556 +f 24526//26673 12106//25761 26257//26674 +f 24344//17350 24536//17349 25685//20126 +f 12106//25761 20141//24925 26257//26674 +f 24155//26675 25476//26078 22782//26676 +f 23882//23844 24098//23843 25032//26677 +f 23809//25091 23615//25525 24043//25524 +f 25521//24120 25630//26642 24568//25586 +f 21535//26678 21911//26679 23715//25190 +f 24951//23116 23614//23143 23799//23823 +f 24463//26680 24464//26681 20985//26682 +f 21071//26683 23944//16998 25374//16997 +f 25518//23722 24052//26684 24223//24493 +f 20985//26682 21071//26683 25374//16997 +f 24425//26612 23315//26611 2235//26685 +f 23563//16999 25518//23722 24223//24493 +f 24195//17266 22779//25191 24484//25121 +f 23716//26604 24472//26603 26004//23729 +f 24512//24494 24425//26612 2235//26685 +f 25381//6593 24714//20907 23634//26686 +f 19571//26687 24231//25641 25226//26688 +f 22175//25541 13462//25543 25976//24347 +f 23986//25429 24291//25492 26061//25430 +f 9635//25800 24483//3138 12274//25241 +f 32247//24523 32246//26689 32146//24524 +f 26143//19484 26284//25153 26142//18972 +f 23586//23790 23827//26690 24842//130 +f 25251//26691 22366//26668 24195//17266 +f 24186//25640 24185//26692 25226//26688 +f 22779//25191 23715//25190 24484//25121 +f 24409//26693 22366//26668 25651//26694 +f 119//35 3601//457 3222//33 +f 22366//26668 22779//25191 24195//17266 +f 33556//10821 7517//13989 7515//10822 +f 35084//26695 35213//26696 35083//25804 +f 20830//2198 27372//13342 20747//26107 +f 29414//6047 22647//6046 21777//23183 +f 26090//14315 26231//14032 26089//18978 +f 20591//22754 20673//24818 20672//22580 +f 35440//4599 35435//6547 35426//1381 +f 26120//16574 24831//16573 28100//22110 +f 24934//24714 24935//24716 23497//26697 +f 13248//3560 13247//3532 13152//3531 +f 23315//26611 24409//26693 2235//26685 +f 22366//26668 25251//26691 25651//26694 +f 24769//26698 25654//26699 12624//26700 +f 25914//2291 25319//16570 21973//16569 +f 24522//26672 22288//26701 21056//23684 +f 24380//26702 22269//25877 25246//23734 +f 23544//23157 23549//24803 23663//15920 +f 25219//26703 21701//26704 23572//26705 +f 26320//23613 26321//26706 24629//16643 +f 25977//25665 25219//26703 23572//26705 +f 23751//2196 24478//24861 24326//26669 +f 24813//26707 25856//18441 21910//25203 +f 22292//10959 22291//10958 25774//25194 +f 13248//3560 13152//3531 13153//9257 +f 20503//24393 14912//5737 20502//24317 +f 4397//9192 24870//26708 1526//15177 +f 25612//25829 16443//7948 25613//16731 +f 13754//24663 25186//26709 25185//17918 +f 25471//25048 25472//25047 24713//25769 +f 23944//16998 25518//23722 23563//16999 +f 24767//26710 13016//22664 25433//24051 +f 21535//26678 21912//26711 24436//23745 +f 23860//26712 23861//26713 25220//26714 +f 20224//25982 15541//26715 25220//26714 +f 31919//24507 32020//26716 32019//26717 +f 26161//25482 26302//26718 26301//26719 +f 23666//25896 25861//24933 25831//24934 +f 22173//24924 21794//26720 26257//26674 +f 6851//9080 25349//9082 21815//26721 +f 25774//25194 23870//24981 23876//20583 +f 26038//16638 26180//26722 26179//16639 +f 26235//24294 23892//13288 25315//14628 +f 25186//26709 15329//26723 23573//17841 +f 25185//17918 25186//26709 23573//17841 +f 15329//26723 25309//26724 25585//17765 +f 5425//3818 15493//5739 618//10374 +f 23573//17841 15329//26723 25585//17765 +f 22272//16429 21967//16425 24893//16430 +f 25537//25052 25565//19850 24610//24930 +f 23251//17130 25822//24383 24139//22630 +f 32766//21757 32765//21759 32651//26725 +f 33219//16848 33220//26726 33324//16364 +f 35113//9073 19100//11276 34482//23405 +f 24606//25714 12170//26727 24528//24278 +f 28350//26728 27026//26729 25134//26730 +f 25808//25530 22586//26731 23931//26732 +f 21673//23184 11980//7251 22680//7250 +f 25293//22463 25288//26733 28237//22461 +f 25309//26724 25293//22463 25585//17765 +f 24202//25581 24727//25337 22858//25339 +f 26294//26621 12357//25447 22759//1639 +f 21056//23684 25628//24548 25484//23685 +f 16025//23732 16923//17226 21160//26734 +f 22878//23721 24710//25674 25518//23722 +f 25033//23593 24377//23595 23815//17651 +f 35817//5585 35811//2201 35882//3023 +f 22292//10959 25774//25194 25773//26626 +f 21701//26704 25219//26703 24494//25454 +f 23868//26735 25671//25129 23647//25128 +f 24601//26736 23868//26735 25219//26703 +f 25115//26737 24601//26736 25219//26703 +f 17087//25000 24813//26707 21910//25203 +f 24590//24935 17087//25000 21910//25203 +f 22561//26738 4249//26739 23077//26072 +f 25662//26740 24903//26741 26331//26742 +f 26115//23652 26255//23651 24372//25331 +f 23567//24005 24313//16428 24893//16430 +f 16148//9010 16291//8409 16147//9295 +f 23765//25206 23965//15811 23959//25156 +f 25460//26743 25461//26744 23353//16770 +f 24662//16772 24709//17013 24820//26745 +f 20678//17521 24170//21837 24306//15546 +f 19988//26746 13664//26071 24603//26073 +f 21357//26747 26097//26748 20740//26749 +f 24223//24493 24052//26684 24512//24494 +f 24472//26603 23886//23731 26004//23729 +f 23597//26750 22978//26751 24987//26752 +f 25955//26753 24495//26754 9691//26755 +f 23894//26756 24463//26680 21157//26757 +f 26110//25480 23509//129 20683//25481 +f 24685//26758 25627//26759 24688//26631 +f 24134//23152 23925//24297 24749//25916 +f 26225//21487 25289//21486 24400//24693 +f 11860//17630 22196//13658 11946//17620 +f 25448//26760 24438//16645 25101//24927 +f 23521//25603 24835//25094 11837//25093 +f 24385//26761 25654//26699 24769//26698 +f 26209//23601 30767//26542 25536//21078 +f 26302//26718 26303//23859 24706//23654 +f 23664//26762 23811//26763 26221//15921 +f 29427//26353 9404//26266 14250//26265 +f 21510//9383 25215//25452 23615//25525 +f 21510//9383 26210//24346 25215//25452 +f 25976//24347 25504//26260 25221//26764 +f 23621//25416 24015//26765 23871//26645 +f 25476//26078 25006//23794 25426//26766 +f 15582//20301 15451//20300 15452//12455 +f 12452//26767 25071//24377 25205//25083 +f 31017//9002 31078//7949 31016//7951 +f 26005//17585 21728//11906 13435//11905 +f 24683//2564 23960//3116 22680//7250 +f 24517//2565 24683//2564 22680//7250 +f 20411//20914 21243//23425 23971//25212 +f 35806//3115 24683//2564 24802//2439 +f 24963//25919 25719//24998 25455//26617 +f 26118//24348 25976//24347 25221//26764 +f 619//26768 24480//26769 22561//26738 +f 24080//10957 23918//26770 22291//10958 +f 25221//26764 25504//26260 17484//26771 +f 25217//26772 26247//23947 21357//26747 +f 23609//23542 25959//25986 24466//25987 +f 25504//26260 23708//26261 17484//26771 +f 24725//17650 25033//23593 23815//17651 +f 25719//24998 25227//24997 25455//26617 +f 24591//25715 24072//24185 24073//23092 +f 26245//13659 24476//16285 24369//18039 +f 24494//25454 23868//26735 23647//25128 +f 25826//25256 25968//23594 23557//25039 +f 23838//24983 12007//26773 26261//26774 +f 12653//4882 12563//16159 35337//4883 +f 28425//26775 25792//26776 23599//25448 +f 22585//26777 22107//25756 20682//26778 +f 22586//26731 22585//26777 20682//26778 +f 24901//25130 21692//26779 25808//25530 +f 21446//26780 25638//26781 25195//26782 +f 23811//26763 23528//15762 22763//26783 +f 21071//26683 20986//24878 23944//16998 +f 26194//20125 25685//20126 26193//25401 +f 11946//17620 26245//13659 24369//18039 +f 20669//15635 24234//15634 20588//24613 +f 12624//26700 24199//25655 25317//25657 +f 20683//25481 25120//24275 23918//26770 +f 23612//26640 24382//26784 24464//26681 +f 25740//26785 25882//26786 25881//24993 +f 29544//9901 29545//5617 28741//22490 +f 24114//17202 24149//16374 25486//26627 +f 23759//15466 22563//26787 22465//15511 +f 24905//23120 25216//8601 25368//8603 +f 25767//22555 25779//26788 26247//23947 +f 25154//24932 24659//26789 24658//16019 +f 30812//26790 25386//24719 23810//26791 +f 27520//15784 27143//17995 8231//11031 +f 25293//22463 25292//17817 25585//17765 +f 33383//26792 33382//15425 33273//26793 +f 15112//8024 15111//256 14990//255 +f 22946//21075 23045//21076 24007//17510 +f 35939//1140 29356//14896 35788//3725 +f 23499//25638 26236//26794 21912//26711 +f 21182//17167 21268//17169 24379//25547 +f 24495//26754 25813//26795 24601//26736 +f 25066//25675 25067//2742 25430//17638 +f 13665//2440 24517//2565 11980//7251 +f 21779//17757 11945//26796 25055//24380 +f 15592//25239 12272//26797 12273//26798 +f 26195//17871 26194//20125 26052//26648 +f 25685//20126 24574//26799 22201//26800 +f 24770//26652 24323//26801 24098//23843 +f 35579//9307 35433//978 35431//1925 +f 24684//26802 24686//26803 25383//26804 +f 13665//2440 24802//2439 24517//2565 +f 20442//26387 20443//26469 20528//26386 +f 30932//26805 30931//26806 30877//24540 +f 33161//16094 33160//16623 33055//16622 +f 26005//17585 13531//14808 13530//2399 +f 20026//17429 18422//15117 18054//15116 +f 11450//2468 21288//2467 15330//26807 +f 35338//4881 35337//4883 35208//16754 +f 35805//8646 35765//11977 35924//8645 +f 738//19483 739//17132 284//19459 +f 21516//23842 24770//26652 24098//23843 +f 15544//20278 5429//18866 5277//11376 +f 25793//26808 23586//23790 26110//25480 +f 13627//6279 13626//13771 23734//16539 +f 6403//1794 275//18272 581//18383 +f 25905//26809 26047//26810 25904//26068 +f 12107//26811 25926//26812 21700//25650 +f 26203//25972 24270//24999 24590//24935 +f 24492//25114 25979//23110 20746//23365 +f 22646//23730 25860//23733 13809//26201 +f 16025//23732 21160//26734 25481//25893 +f 20028//14693 22879//26661 24859//25405 +f 25359//14694 20028//14693 24859//25405 +f 26200//26088 22288//26701 24522//26672 +f 12718//17001 26200//26088 24522//26672 +f 23608//26813 25926//26812 12107//26811 +f 22288//26701 26200//26088 25629//24231 +f 24460//17010 25721//17166 25722//24982 +f 26299//15770 25492//15796 24505//15771 +f 23808//12781 23926//26814 25170//26815 +f 34274//23797 34273//14440 34135//20748 +f 25038//26816 23926//26814 24853//26817 +f 25815//26173 25038//26816 24853//26817 +f 25801//26067 25802//26818 20347//25883 +f 21358//25504 22104//25506 24239//25990 +f 13860//16565 15202//17628 24872//17627 +f 35192//7175 35191//7174 35062//17655 +f 24803//24805 23672//24308 25641//24806 +f 25824//26819 25825//26820 25397//26821 +f 22105//25494 26331//26742 26190//26822 +f 20141//24925 22173//24924 26257//26674 +f 24463//26680 20985//26682 21157//26757 +f 21009//24309 24741//26823 21094//26824 +f 25711//25010 24106//26086 25652//17406 +f 20903//24992 23516//26825 21426//26826 +f 24605//26827 23882//23844 23650//23903 +f 20442//26387 20527//26303 20441//26304 +f 23516//26825 23525//26828 21426//26826 +f 25638//26781 24236//26074 25655//26829 +f 16003//7283 25909//16408 25908//20288 +f 23548//26830 24602//25827 24599//25826 +f 25971//26831 23826//25882 16237//26832 +f 26053//23264 26195//17871 26052//26648 +f 23812//26833 20034//26834 25543//24945 +f 25366//26835 27901//16680 25078//24428 +f 27982//10789 21720//26836 12008//10790 +f 26003//26837 22193//25599 24877//25242 +f 23916//26838 25038//26816 25815//26173 +f 20347//25883 23916//26838 25815//26173 +f 22879//26661 23059//23657 16924//23614 +f 23059//23657 23157//23615 16924//23614 +f 23059//23657 23529//25198 24612//26839 +f 23157//23615 23059//23657 24612//26839 +f 26302//26718 24706//23654 24367//23653 +f 11753//26840 25663//23201 24281//26841 +f 25472//25047 24838//25880 24713//25769 +f 24326//26669 23756//24295 23925//24297 +f 24097//25660 24100//25046 25471//25048 +f 35776//17676 11250//2403 11809//19592 +f 22658//24665 22956//24603 22559//24604 +f 11772//17888 30844//26842 30843//17889 +f 30846//24646 23824//18009 30847//18008 +f 23833//18094 26244//15912 24362//24496 +f 26180//26722 26321//26706 26320//23613 +f 25881//24993 25882//26786 26023//25417 +f 20354//1465 20268//23612 20269//25921 +f 21636//26843 11771//20377 25961//20378 +f 24781//26844 24830//5753 24743//26845 +f 23731//26846 25196//25602 24353//23746 +f 22271//25553 13092//2393 25677//26847 +f 13762//25894 22385//19534 25192//19533 +f 23617//26848 23628//23892 24679//23894 +f 26119//25651 25115//26737 25977//25665 +f 23236//25002 23608//26813 12446//26849 +f 25115//26737 25219//26703 25977//25665 +f 23703//26850 25789//26851 21692//26779 +f 25201//26852 11752//26853 26215//26854 +f 23516//26825 24475//26651 23525//26828 +f 23676//25550 20816//26855 24262//25782 +f 21537//25295 21630//26856 25542//25774 +f 24850//17085 25047//25536 25999//26857 +f 24101//24636 24106//26086 25473//25892 +f 26303//23859 25155//24503 24706//23654 +f 25824//26819 25397//26821 23673//26858 +f 21536//11691 24623//11690 25770//21438 +f 32296//17044 32399//17043 32295//19981 +f 23593//23557 25364//23559 22494//26859 +f 24757//26860 26077//17711 24643//25005 +f 23761//24472 23833//18094 24362//24496 +f 23534//26861 619//26768 13664//26071 +f 33437//15989 33550//6809 33549//6808 +f 21159//17289 4781//26862 23666//25896 +f 24834//24525 4383//23563 25350//26863 +f 23777//26663 23791//26864 21356//26865 +f 22782//26676 25476//26078 25426//26766 +f 25593//37 25735//25899 25734//16508 +f 24829//22618 23934//26063 22876//11033 +f 3881//12460 26281//26866 26280//26867 +f 23879//23670 25252//23560 21245//23562 +f 25032//26677 26109//26868 25967//26869 +f 23525//26828 23882//23844 24605//26827 +f 24577//21668 24603//26073 24723//23597 +f 23077//26072 25161//23190 23268//23598 +f 25734//16508 25876//25900 25875//26870 +f 24603//26073 23077//26072 23268//23598 +f 20827//26871 20828//26872 21061//26873 +f 12444//17096 25998//17098 25345//26874 +f 13532//10267 13531//14808 13435//11905 +f 31515//26875 31602//2299 31514//2301 +f 23534//26861 13664//26071 19988//26746 +f 25863//25772 26113//26876 24371//17002 +f 24590//24935 21910//25203 21814//25204 +f 23527//26644 21669//25911 23992//26877 +f 20416//24240 20502//24317 20501//26878 +f 24464//26681 24382//26784 21071//26683 +f 25254//26879 24626//23727 23725//16231 +f 26304//23858 26305//26880 25189//24502 +f 26303//23859 26304//23858 25155//24503 +f 24707//26881 23915//26882 23628//23892 +f 22176//16548 22271//25553 25677//26847 +f 25953//17187 26096//26647 23729//26883 +f 23795//15922 26221//15921 24316//26884 +f 13275//26885 12716//26886 24684//26802 +f 28225//21054 28216//26887 25192//19533 +f 21728//11906 13437//4863 13436//9949 +f 24584//26081 20223//26080 24585//14692 +f 25156//17648 13556//17647 25725//26888 +f 25905//26809 25906//26889 26047//26810 +f 26189//26890 26188//16790 26046//26891 +f 25189//24502 24046//23763 24834//24525 +f 12337//25118 21793//23281 11670//23283 +f 26330//26609 26329//16791 26188//16790 +f 24522//26672 25027//26165 22975//25773 +f 12024//26892 23850//25090 24043//25524 +f 25217//26772 20740//26749 25765//1551 +f 25337//8895 23722//11220 24788//17017 +f 24750//9948 13342//4864 21728//11906 +f 19565//22776 13894//23590 2945//26893 +f 127//16121 9900//16961 24661//16267 +f 11410//13790 9543//13155 13419//14831 +f 23651//17951 15321//17663 21362//25710 +f 24480//26769 22780//26894 24701//26895 +f 619//26768 22561//26738 13664//26071 +f 21362//25710 23534//26861 19988//26746 +f 24965//23203 24087//23954 23949//23650 +f 25677//26847 13092//2393 24259//16265 +f 25017//15543 25021//26896 26259//25426 +f 25970//26646 23986//25429 25918//17009 +f 23698//26897 24494//25454 23823//25455 +f 25636//11350 24450//25895 24642//16233 +f 23792//26898 23516//26825 25380//23554 +f 1538//23553 20223//26080 25380//23554 +f 21426//26826 23525//26828 24605//26827 +f 23882//23844 25032//26677 23650//23903 +f 4249//26739 25010//26899 25161//23190 +f 23077//26072 4249//26739 25161//23190 +f 31725//14530 31726//250 31825//252 +f 4255//16193 21726//26900 9993//16188 +f 19985//17629 24765//25708 15448//20166 +f 25435//24064 24756//24190 23462//24061 +f 11794//6733 25138//26901 11793//6731 +f 24123//26902 25576//26903 25577//26904 +f 21007//26905 10870//16662 10466//15536 +f 23729//26883 23730//15632 24753//22114 +f 25022//15544 25018//25666 23668//25049 +f 4554//19237 13367//25377 24722//26906 +f 25715//17163 25711//25010 25674//25662 +f 23268//23598 4663//23192 23556//23599 +f 23582//24662 23498//26907 13754//24663 +f 25948//24676 23582//24662 13152//3531 +f 23498//26907 25187//26908 25186//26709 +f 13754//24663 23498//26907 25186//26709 +f 25187//26908 12734//26909 15329//26723 +f 25186//26709 25187//26908 15329//26723 +f 25310//26910 25309//26724 15329//26723 +f 12734//26909 25310//26910 15329//26723 +f 25633//26162 24187//26911 24877//25242 +f 24050//26912 16921//26913 23337//25201 +f 24699//23893 24700//26914 25911//26915 +f 23629//26916 24700//26914 24699//23893 +f 13078//16468 13077//14262 25650//14261 +f 24661//16267 9900//16961 8028//8768 +f 23919//10120 25109//26917 20828//26872 +f 20824//24877 23584//26918 21336//26919 +f 26109//26868 26108//23845 12190//23847 +f 20223//26080 1538//23553 24585//14692 +f 31530//4192 31617//15432 31616//26920 +f 25628//24548 25629//24231 13460//18762 +f 24190//26921 23930//24497 24714//20907 +f 25094//25505 22101//25106 11860//17630 +f 24741//26823 24743//26845 21094//26824 +f 25062//15358 24850//17085 25061//26922 +f 32194//25018 32193//25891 32093//21171 +f 26793//25578 24277//24451 24360//25458 +f 25310//26910 25288//26733 25309//26724 +f 2544//22553 25352//5069 25351//5068 +f 24698//5070 25352//5069 23643//24715 +f 26285//26923 26284//25153 26143//19484 +f 25813//26795 23412//26924 25671//25129 +f 25022//15544 26119//25651 25018//25666 +f 24291//25492 26062//26925 26061//25430 +f 23518//25663 24428//26926 24470//17164 +f 11943//25011 25652//17406 24849//17408 +f 26138//26927 25996//18842 370//18791 +f 24300//15850 25583//23649 25581//15851 +f 19565//22776 2945//26893 3084//22777 +f 25120//24275 23986//25429 25970//26646 +f 25305//15597 20673//24818 20591//22754 +f 22193//25599 24929//25180 25493//25243 +f 23516//26825 20903//24992 25380//23554 +f 20223//26080 23792//26898 25380//23554 +f 25965//25040 25378//26616 12535//26928 +f 25378//26616 24193//26929 24194//26930 +f 24584//26081 24585//14692 25010//26899 +f 4249//26739 24584//26081 25010//26899 +f 24762//26931 24230//6061 24126//26932 +f 24514//17084 23720//5442 24920//17368 +f 25664//6185 25807//24831 26082//6186 +f 12310//24305 20409//26933 24791//25237 +f 32681//21286 17536//21288 34469//22304 +f 22351//24856 23622//23692 24249//25397 +f 25598//26934 25740//26785 25739//25539 +f 23520//442 25321//17945 25664//6185 +f 23915//26882 23629//26916 23628//23892 +f 23628//23892 23629//26916 24699//23893 +f 23668//25049 23364//25289 25455//26617 +f 25333//26935 25784//25158 25332//26936 +f 24550//26937 23895//26938 23896//25652 +f 24624//15917 25854//25484 25821//26939 +f 24281//26841 23949//23650 24611//23658 +f 22780//26894 25919//26649 20887//26079 +f 24364//26940 24281//26841 24611//23658 +f 25912//26941 23930//24497 24190//26921 +f 24185//26692 25069//26942 25226//26688 +f 23589//16583 23592//17590 24639//26943 +f 25911//26915 25912//26941 24190//26921 +f 25816//26944 25958//25836 24897//23793 +f 26096//26647 23730//15632 23729//26883 +f 24194//26930 26236//26794 23499//25638 +f 26192//26945 22106//25493 26191//25495 +f 25709//25451 25863//25772 25661//1310 +f 24960//23846 25825//26820 25824//26819 +f 25867//25534 25869//26946 24342//16642 +f 24574//26799 24684//26802 25383//26804 +f 23579//23726 24757//26860 24643//25005 +f 30224//6762 30356//26947 14138//6769 +f 25161//23190 25010//26899 12648//23191 +f 24392//25984 24463//26680 23894//26756 +f 23650//23903 25032//26677 25967//26869 +f 24788//17017 25180//15738 13894//23590 +f 24910//23408 15188//19950 25954//26948 +f 23829//21077 25571//18765 25572//18764 +f 22761//24351 24908//26949 22390//26950 +f 21092//26951 25193//26952 24356//26953 +f 24356//26953 25193//26952 24707//26881 +f 21007//26905 21092//26951 24356//26953 +f 25193//26952 23915//26882 24707//26881 +f 12190//23847 25824//26819 25966//25013 +f 25600//18034 17082//7760 25601//18718 +f 24501//17939 10579//5298 24607//5407 +f 25397//26821 24265//26662 24266//26954 +f 24841//8284 25337//8895 25382//17008 +f 23934//26063 25487//17887 21538//17626 +f 22010//24460 22009//24462 25029//26955 +f 12535//26928 25246//23734 24232//26956 +f 25200//25639 25913//25189 22779//25191 +f 24630//26957 22010//24460 25029//26955 +f 24484//25121 13175//26958 22100//26959 +f 24381//25879 25200//25639 22779//25191 +f 21334//25327 12106//25761 24526//26673 +f 25908//20288 26050//26960 25907//26961 +f 24680//14653 24789//26639 25202//26962 +f 23757//26963 24376//26964 24375//25670 +f 26105//25656 20862//26965 21537//25295 +f 23919//10120 24024//26966 25109//26917 +f 24646//26967 24678//26968 25867//25534 +f 25869//26946 24513//26969 24342//16642 +f 4781//26862 25861//24933 23666//25896 +f 24700//26914 25912//26941 25911//26915 +f 25762//9009 25761//26070 16149//26671 +f 26050//26960 26049//26970 25907//26961 +f 24834//24525 25350//26863 13561//24526 +f 26234//24378 25237//24177 23517//24117 +f 34952//17829 35081//12188 34951//17830 +f 26183//23170 26324//23195 26323//24455 +f 24535//26253 17484//26771 23781//26256 +f 12277//25341 20409//26933 12310//24305 +f 23653//24121 24416//25901 11548//24637 +f 24483//3138 16759//25161 12274//25241 +f 23930//24497 25539//17175 24714//20907 +f 24782//23144 12216//22932 24663//5353 +f 23511//26971 23510//25232 24309//23672 +f 23717//26972 23534//26861 21362//25710 +f 24726//15206 20414//26973 24446//16661 +f 25595//4274 25737//25803 25736//23803 +f 26165//25418 26166//26974 26306//26975 +f 15905//8101 15766//8100 15767//19610 +f 12716//26886 12805//26976 24686//26803 +f 26182//25051 26183//23170 26323//24455 +f 23914//26977 23910//15924 25324//15926 +f 24536//17349 24687//25202 24574//26799 +f 24093//6693 24092//25322 24032//4968 +f 13809//26201 24892//26978 12716//26886 +f 9279//17490 11836//24399 11672//26979 +f 26025//17452 26026//17451 26167//26629 +f 26026//17451 26168//25234 26167//26629 +f 23918//26770 25120//24275 25970//26646 +f 25165//26980 23597//26750 24987//26752 +f 24714//20907 25539//17175 24751//1424 +f 22448//25700 21729//17177 23558//17176 +f 23816//24299 26218//24298 23678//25898 +f 24312//25763 24078//25884 24957//17624 +f 20224//25982 24392//25984 15541//26715 +f 25773//26626 25774//25194 23876//20583 +f 25585//17765 12693//17816 12782//17766 +f 15632//24835 22757//24722 22856//24772 +f 25804//25828 12625//26981 23916//26838 +f 29830//24903 21418//26982 26499//13011 +f 25924//26983 23550//26084 25818//26075 +f 23594//26085 23564//25784 23548//26830 +f 21818//26984 21817//24802 25924//26983 +f 23550//26084 23594//26085 25818//26075 +f 11596//26985 11671//24800 21818//26984 +f 21817//24802 23550//26084 25924//26983 +f 26192//26945 26191//25495 26049//26970 +f 25379//26986 8028//8768 24622//26987 +f 23668//25049 25018//25666 23364//25289 +f 23751//2196 24326//26669 23990//2197 +f 27749//26988 27633//5907 20847//14432 +f 26040//25123 26041//23166 26182//25051 +f 25301//23800 23922//23671 24696//15478 +f 23488//25718 23542//16660 20501//26878 +f 24177//1137 24250//18377 4813//1138 +f 25655//26829 24236//26074 23524//26989 +f 24374//25671 24375//25670 24341//26990 +f 11945//26796 25054//26991 25055//24380 +f 32529//4145 32638//8113 32637//4146 +f 26203//25972 24590//24935 12447//9081 +f 25524//26992 25158//26993 25172//25078 +f 26032//25059 26174//16433 26173//23556 +f 23829//21077 12359//26634 25571//18765 +f 23588//26994 23589//16583 24634//26995 +f 24639//26943 25866//25533 25865//26996 +f 24479//25969 24480//26769 619//26768 +f 25712//25709 23717//26972 21362//25710 +f 25878//23798 26020//23799 26019//24943 +f 24380//26702 24194//26930 22269//25877 +f 26059//24884 29833//26997 25035//22927 +f 26046//26891 26188//16790 26045//26998 +f 21074//23550 24547//26622 12009//23551 +f 24698//5070 23643//24715 24934//24714 +f 25784//25158 21453//16809 25332//26936 +f 25630//26642 23754//26999 24568//25586 +f 25635//16950 24123//26902 25577//26904 +f 22761//24351 25489//24350 24908//26949 +f 24323//26801 24112//27000 24980//27001 +f 26041//23166 26183//23170 26182//25051 +f 24112//27000 26107//27002 26108//23845 +f 22199//27003 25662//26740 22105//25494 +f 23623//27004 24642//16233 24446//16661 +f 24678//26968 25869//26946 25867//25534 +f 21515//22204 21425//13627 30156//4772 +f 23529//25198 12108//23656 16151//27005 +f 33863//11196 33862//3614 33728//12739 +f 25209//23786 24321//23643 22882//23645 +f 24765//25708 15321//17663 15448//20166 +f 9086//14708 15604//25380 23838//24983 +f 5075//16515 25996//18842 25995//23497 +f 21918//27006 20660//23604 24915//23220 +f 25821//26939 20660//23604 21918//27006 +f 25818//26075 23594//26085 23548//26830 +f 23564//25784 24613//25673 24602//25827 +f 20845//26643 12189//27007 24927//27008 +f 23822//27009 20845//26643 24927//27008 +f 12189//27007 20845//26643 24386//27010 +f 20845//26643 23871//26645 24386//27010 +f 24386//27010 23871//26645 24016//27011 +f 23871//26645 24015//26765 24016//27011 +f 24544//27012 20827//26871 24631//27013 +f 25389//27014 25529//27015 24016//27011 +f 13080//25154 23691//23186 26283//23185 +f 26284//25153 26283//23185 26142//18972 +f 25032//26677 24980//27001 26109//26868 +f 26224//18521 26198//25152 25002//8206 +f 24098//23843 24323//26801 24980//27001 +f 26107//27002 24315//27016 24960//23846 +f 24980//27001 24112//27000 26108//23845 +f 24315//27016 25683//27017 25825//26820 +f 26108//23845 26107//27002 24960//23846 +f 24579//27018 24594//27019 25801//26067 +f 24960//23846 24315//27016 25825//26820 +f 23514//27020 23524//26989 24579//27018 +f 25802//26818 23916//26838 20347//25883 +f 23597//26750 25220//26714 22978//26751 +f 24393//27021 25955//26753 22978//26751 +f 20591//22754 20672//22580 23747//24283 +f 26085//27022 25375//17110 24544//27012 +f 26085//27022 24544//27012 24545//27023 +f 21629//27024 26085//27022 24545//27023 +f 24315//27016 25538//25294 25683//27017 +f 20230//27025 24479//25969 619//26768 +f 25965//25040 12535//26928 25534//25041 +f 21911//26679 21535//26678 24352//27026 +f 23510//25232 24308//25164 24309//23672 +f 12473//25576 12384//27027 35335//25577 +f 25799//26066 23826//25882 25971//26831 +f 25796//27028 25799//26066 25971//26831 +f 25220//26714 23597//26750 25165//26980 +f 24687//25202 24684//26802 24574//26799 +f 23529//25198 16151//27005 23584//26918 +f 24594//27019 25802//26818 25801//26067 +f 24612//26839 23529//25198 23584//26918 +f 16151//27005 24411//25974 23743//27029 +f 23584//26918 16151//27005 23743//27029 +f 24411//25974 23815//17651 23757//26963 +f 23743//27029 24411//25974 23757//26963 +f 25251//26691 20741//19197 24081//23617 +f 12088//26610 23253//26659 21985//25499 +f 22488//27030 22585//26777 25789//26851 +f 15535//16307 24164//16309 24675//18669 +f 25378//26616 24380//26702 12535//26928 +f 25866//25533 22977//25535 21093//27031 +f 24436//23745 25096//23747 25117//27032 +f 25862//19984 2235//26685 24081//23617 +f 25805//27033 25821//26939 21918//27006 +f 20660//23604 23680//23552 24915//23220 +f 1150//16564 24910//23408 1025//27034 +f 24703//23407 24702//27035 23869//27036 +f 25943//27037 22781//26637 24789//26639 +f 1150//16564 1025//27034 13860//16565 +f 24910//23408 23869//27036 1025//27034 +f 20944//26275 20897//8798 20234//19812 +f 24324//25045 24078//25884 24239//25990 +f 25867//25534 24342//16642 22977//25535 +f 23918//26770 25970//26646 22291//10958 +f 26049//26970 26048//27038 25906//26889 +f 24080//10957 24102//27039 15406//27040 +f 24396//27041 24397//24277 23733//8595 +f 16931//20087 24492//25114 13241//20088 +f 25906//26889 25905//26809 25763//9011 +f 25751//27042 25893//27043 25892//23853 +f 26247//23947 20683//25481 21357//26747 +f 26247//23947 25217//26772 25766//1550 +f 25383//26804 24686//26803 22199//27003 +f 24377//23595 24376//26964 23757//26963 +f 25597//14161 17248//63 25598//26934 +f 26150//25043 5723//19879 1680//25667 +f 22173//24924 23910//15924 23914//26977 +f 26093//17105 26140//23153 21544//25088 +f 12273//26798 12272//26797 24167//27044 +f 12272//26797 25320//23121 24167//27044 +f 13652//15638 29570//20641 13651//12636 +f 26161//25482 26162//23904 26302//26718 +f 11923//25885 5594//17507 1994//13844 +f 23894//26756 21157//26757 25790//27045 +f 26005//17585 21821//27046 21728//11906 +f 8681//15538 11672//26979 10466//15536 +f 21821//27046 25963//27047 24750//9948 +f 21728//11906 21821//27046 24750//9948 +f 25963//27047 25622//27048 25948//24676 +f 24750//9948 25963//27047 25948//24676 +f 25622//27048 14796//27049 23582//24662 +f 25948//24676 25622//27048 23582//24662 +f 14796//27049 22484//27050 23498//26907 +f 23582//24662 14796//27049 23498//26907 +f 22484//27050 25188//27051 25187//26908 +f 23498//26907 22484//27050 25187//26908 +f 4195//10898 25946//14957 26089//18978 +f 24701//26895 20887//26079 24584//26081 +f 23861//26713 23860//26712 24891//27052 +f 24622//26987 8028//8768 12023//27053 +f 24910//23408 24703//23407 23869//27036 +f 23822//27009 24927//27008 24702//27035 +f 24613//25673 25821//26939 25805//27033 +f 25684//25296 23580//25775 20745//27054 +f 24619//24495 24512//24494 25862//19984 +f 14253//20510 24610//24930 25395//20511 +f 25960//27055 24523//16581 23588//26994 +f 26261//26774 24839//23758 24967//23646 +f 24024//26966 25379//26986 25109//26917 +f 23858//23663 25249//25723 24730//23664 +f 12805//26976 24891//27052 25021//26896 +f 25220//26714 15541//26715 22978//26751 +f 25197//27056 12734//26909 25187//26908 +f 25188//27051 25197//27056 25187//26908 +f 25173//27057 25310//26910 12734//26909 +f 25197//27056 25173//27057 12734//26909 +f 25287//27058 25288//26733 25310//26910 +f 25173//27057 25287//27058 25310//26910 +f 20683//25481 23509//129 25120//24275 +f 24686//26803 12805//26976 24685//26758 +f 25774//25194 25917//25193 23870//24981 +f 23994//24349 22663//24985 23495//17229 +f 22369//22928 22272//16429 24313//16428 +f 21918//27006 24915//23220 25170//26815 +f 25036//27059 25168//25716 20667//17394 +f 25865//26996 25866//25533 21093//27031 +f 24634//26995 24639//26943 25865//26996 +f 1732//17133 5626//18973 4924//12459 +f 21700//25650 24550//26937 23896//25652 +f 21157//26757 20985//26682 22392//25370 +f 24626//23727 23579//23726 24643//25005 +f 19122//6099 1074//6160 18275//20996 +f 24905//23120 25368//8603 24167//27044 +f 5556//8364 29021//8363 21306//8208 +f 14912//5737 20503//24393 20504//5738 +f 22559//24604 21981//24536 22074//24533 +f 24910//23408 1150//16564 15188//19950 +f 25635//16950 25577//26904 25578//16951 +f 24459//24929 25520//25584 25512//26164 +f 21819//25485 20924//27060 25639//23849 +f 23784//14295 24988//17104 24981//17103 +f 25120//24275 23859//131 23986//25429 +f 24078//25884 25031//27061 24239//25990 +f 28118//27062 24732//27063 25500//27064 +f 26291//25205 13269//18029 23765//25206 +f 23649//24987 24222//24883 24294//24528 +f 24375//25670 24258//27065 24341//26990 +f 23670//27066 26230//17212 24561//27067 +f 24979//25184 25532//25185 24280//27068 +f 26063//27069 26206//27070 24767//26710 +f 24381//25879 22366//26668 24409//26693 +f 33633//18809 33760//17443 33632//27071 +f 24232//26956 25246//23734 21661//23736 +f 25814//16485 24589//27072 17087//25000 +f 21152//25029 23789//20621 9416//20620 +f 24760//27073 25856//18441 24813//26707 +f 25906//26889 26048//27038 26047//26810 +f 25382//17008 25336//17007 25335//23596 +f 25969//27074 25382//17008 25335//23596 +f 12028//25989 24582//17531 21726//26900 +f 25280//22545 23712//22935 25569//22934 +f 23827//26690 25454//26664 24842//130 +f 24409//26693 25651//26694 2235//26685 +f 28139//25809 24647//15524 28138//21942 +f 26148//25006 26149//25042 26289//25532 +f 23253//26659 24050//26912 21985//25499 +f 24393//27021 23894//26756 25088//27075 +f 24052//26684 24425//26612 24512//24494 +f 25955//26753 24393//27021 25088//27075 +f 20986//24878 22878//23721 23944//16998 +f 25217//26772 25765//1551 25766//1550 +f 15541//26715 24393//27021 22978//26751 +f 25910//27076 25911//26915 24620//27077 +f 25164//23600 23829//21077 25572//18764 +f 26169//27078 26170//23102 26310//24767 +f 23741//24537 21981//24536 22559//24604 +f 23775//24869 24981//17103 24977//24870 +f 24594//27019 24599//25826 25802//26818 +f 24480//26769 24701//26895 22561//26738 +f 25736//23803 25737//25803 25878//23798 +f 17484//26771 24461//17275 23781//26256 +f 12445//25459 12358//24635 23618//24634 +f 25221//26764 17484//26771 24535//26253 +f 26230//17212 24968//25555 24979//25184 +f 7931//27079 15406//27040 25223//27080 +f 25329//27081 11945//26796 21779//17757 +f 22199//27003 24685//26758 25662//26740 +f 24915//23220 23680//23552 24138//2844 +f 24602//25827 24613//25673 25805//27033 +f 20230//27025 619//26768 23534//26861 +f 23717//26972 20230//27025 23534//26861 +f 14759//27082 21061//26873 11669//27083 +f 23589//16583 24639//26943 24634//26995 +f 25802//26818 25804//25828 23916//26838 +f 25371//23176 25513//25356 23506//21983 +f 24891//27052 23860//26712 25021//26896 +f 23860//26712 25165//26980 25021//26896 +f 12805//26976 25627//26759 24685//26758 +f 23860//26712 25220//26714 25165//26980 +f 22157//27084 28367//23098 29817//27085 +f 25627//26759 12805//26976 25021//26896 +f 13147//17129 25822//24383 23251//17130 +f 24435//26613 24351//23463 22100//26959 +f 25225//25699 22464//15862 13111//17128 +f 32347//17181 32451//27086 32346//26255 +f 23699//27087 24394//27088 22838//27089 +f 14142//27090 25168//25716 23488//25718 +f 25804//25828 25805//27033 12625//26981 +f 11751//27091 21180//25119 21913//24864 +f 11880//6730 12059//6281 12060//6280 +f 26260//2769 24752//27092 25357//17109 +f 23859//131 24291//25492 23986//25429 +f 25117//27032 25096//23747 12904//2569 +f 20828//26872 24261//25308 21061//26873 +f 25544//27093 22582//24639 24682//27094 +f 24392//25984 24393//27021 15541//26715 +f 23429//25012 12190//23847 25966//25013 +f 20515//23545 25068//23824 25858//25182 +f 11672//26979 21725//27095 21092//26951 +f 32241//13209 32240//25876 32140//18323 +f 11570//13373 14559//19251 11503//10796 +f 20847//14432 27633//5907 27634//13624 +f 11750//24801 11751//27091 21913//24864 +f 25158//26993 25009//24532 24184//25079 +f 24518//18622 24347//27096 2958//27097 +f 22583//25720 23497//26697 20018//27098 +f 23545//14709 26121//23791 25979//23110 +f 30504//27099 25576//26903 25433//24051 +f 23497//26697 24935//24716 20018//27098 +f 26061//25430 26062//26925 25635//16950 +f 25580//23587 24551//23589 7760//24001 +f 25215//25452 25526//25453 25387//25528 +f 25937//27100 24934//24714 23497//26697 +f 25615//2284 25757//23141 25756//25207 +f 23918//26770 24080//10957 26097//26748 +f 35791//14088 35722//8727 35908//14964 +f 14794//27101 3037//23985 733//19321 +f 26016//27102 26017//27103 26158//24452 +f 23663//15920 23664//26762 26221//15921 +f 20670//18267 20753//24724 20752//24614 +f 25370//17392 25950//27104 20669//15635 +f 14345//19427 14344//20409 14333//18979 +f 16108//19209 352//19555 23939//25176 +f 23970//25721 23967//17209 25676//27105 +f 35063//17654 35192//7175 35062//17655 +f 21817//24802 21913//24864 23550//26084 +f 24642//16233 24450//25895 24446//16661 +f 24371//17002 24522//26672 22975//25773 +f 25004//18865 26228//7254 25003//11973 +f 19387//20636 2301//8524 2170//3789 +f 26228//7254 26224//18521 25003//11973 +f 25534//25041 24232//26956 24258//27065 +f 12597//2744 12598//11972 25067//2742 +f 339//13741 26249//27106 9013//16072 +f 24998//17358 24873//27107 25531//27108 +f 16759//25161 11885//15492 12274//25241 +f 25966//25013 23673//26858 24628//26615 +f 25683//27017 20745//27054 20744//27109 +f 22561//26738 24701//26895 4249//26739 +f 20441//26304 20526//26207 20440//26208 +f 20745//27054 24264//27110 25634//27111 +f 25825//26820 25683//27017 20744//27109 +f 6645//27112 25655//26829 23514//27020 +f 20744//27109 20745//27054 25634//27111 +f 25195//26782 25655//26829 6645//27112 +f 23524//26989 24594//27019 24579//27018 +f 24354//25355 25195//26782 6645//27112 +f 25655//26829 23524//26989 23514//27020 +f 12535//26928 24380//26702 25246//23734 +f 12310//24305 24791//25237 12188//27113 +f 20862//26965 21630//26856 21537//25295 +f 14138//6769 30356//26947 14234//16444 +f 24353//23746 25196//25602 23521//25603 +f 27436//22701 15207//22077 15878//2118 +f 24675//18669 23775//24869 23774//24868 +f 25904//26068 26046//26891 26045//26998 +f 22858//25339 22780//26894 24480//26769 +f 24479//25969 22858//25339 24480//26769 +f 24545//27023 24544//27012 24631//27013 +f 23705//25310 21724//25486 21266//27114 +f 20740//26749 26097//26748 21454//17086 +f 25183//24381 25075//22705 25148//16684 +f 25573//27115 23709//27116 30368//27117 +f 25249//25723 9635//25800 24027//25293 +f 26207//25270 26208//25215 20762//22662 +f 25150//26665 25089//27118 22960//25491 +f 12625//26981 25170//26815 25038//26816 +f 24842//130 25454//26664 25422//25490 +f 25950//27104 25168//25716 14142//27090 +f 21246//27119 20224//25982 25220//26714 +f 24306//15546 24170//21837 24305//15026 +f 12105//25579 24202//25581 24395//25968 +f 34410//1344 34409//14854 34271//6198 +f 34272//24889 34410//1344 34271//6198 +f 24045//25268 24104//25195 24426//25197 +f 22978//26751 25955//26753 9691//26755 +f 25912//26941 25921//26169 23930//24497 +f 25451//23544 23799//23823 20515//23545 +f 24342//16642 24513//26969 25167//16640 +f 24075//17210 26230//17212 23670//27066 +f 24679//23894 25910//27076 25869//26946 +f 23626//27120 23617//26848 23603//17589 +f 23617//26848 24679//23894 24678//26968 +f 26102//17588 23626//27120 23603//17589 +f 1262//8766 10466//15536 10870//16662 +f 21725//27095 26068//27121 25193//26952 +f 23925//24297 24074//24296 23745//23130 +f 9691//26755 24495//26754 24601//26736 +f 24042//25092 23809//25091 24043//25524 +f 21984//24306 12310//24305 12188//27113 +f 25826//25256 25827//27122 24376//26964 +f 23815//17651 24377//23595 23757//26963 +f 24377//23595 25826//25256 24376//26964 +f 23557//25039 25534//25041 25827//27122 +f 26679//20250 24296//15205 24297//11349 +f 19987//16757 25400//27123 24763//27124 +f 35354//3244 35413//11128 35666//329 +f 14391//9544 14407//9543 14390//17804 +f 11895//7373 35767//7952 35945//6694 +f 11980//7251 11447//14827 13665//2440 +f 23965//15811 23966//18030 24201//15812 +f 24460//17010 21872//16949 25721//17166 +f 13147//17129 22464//15862 20016//25407 +f 26300//26061 24453//27125 25492//15796 +f 13271//19739 23502//26608 12111//17870 +f 24316//26884 26066//25676 26067//25015 +f 25492//15796 24453//27125 23812//26833 +f 4786//2768 2652//11075 5999//12458 +f 26095//27126 12422//27127 24595//24887 +f 23840//21242 23897//24167 20974//25313 +f 24898//27128 13530//2399 13529//18418 +f 26301//26719 26302//26718 24367//23653 +f 23573//17841 12967//17840 25185//17918 +f 5865//5443 331//5408 10759//15252 +f 23992//26877 23621//25416 23871//26645 +f 5353//19159 5352//19236 26286//19235 +f 26249//27106 339//13741 2904//13742 +f 13331//16547 14091//17319 22271//25553 +f 24703//23407 23822//27009 24702//27035 +f 7931//27079 25223//27080 12718//17001 +f 23876//20583 25722//24982 30777//20584 +f 25779//26788 26110//25480 26247//23947 +f 3475//27129 23175//27130 16167//27131 +f 21092//26951 21725//27095 25193//26952 +f 34934//5487 35063//17654 34933//17656 +f 25918//17009 26061//25430 21872//16949 +f 24898//27128 26009//27132 26005//17585 +f 20016//25407 27723//27133 19236//4918 +f 26009//27132 20844//27134 21821//27046 +f 26005//17585 26009//27132 21821//27046 +f 24193//26929 25201//26852 26215//26854 +f 20844//27134 24257//27135 25963//27047 +f 21821//27046 20844//27134 25963//27047 +f 26052//26648 26194//20125 26051//25402 +f 24257//27135 20989//27136 25622//27048 +f 25963//27047 24257//27135 25622//27048 +f 25356//27137 14796//27049 25622//27048 +f 20989//27136 25356//27137 25622//27048 +f 26113//26876 25626//17087 24592//17000 +f 21726//26900 24582//17531 9993//16188 +f 23632//27138 24712//27139 24700//26914 +f 16004//20287 25908//20288 25907//26961 +f 23791//26864 21446//26780 21356//26865 +f 15616//1175 14942//18807 14714//1136 +f 26174//16433 26315//16552 26314//16551 +f 23723//27140 13177//27141 23936//25324 +f 25317//25657 26106//26368 24112//27000 +f 26106//26368 25538//25294 24315//27016 +f 20827//26871 21061//26873 14759//27082 +f 24631//27013 20827//26871 14759//27082 +f 11669//27083 23705//25310 21266//27114 +f 21061//26873 23705//25310 11669//27083 +f 24355//27142 25194//26083 25960//27055 +f 21724//25486 25194//26083 24355//27142 +f 21266//27114 21724//25486 24355//27142 +f 24523//16581 23589//16583 23588//26994 +f 26103//27143 25358//27144 21629//27024 +f 25194//26083 24523//16581 25960//27055 +f 17484//26771 23708//26261 24461//17275 +f 24878//27145 25358//27144 26103//27143 +f 24102//27039 22292//10959 21359//26087 +f 25476//26078 25233//23792 25006//23794 +f 24842//130 25422//25490 23859//131 +f 25955//26753 25088//27075 22396//27146 +f 34677//14781 34676//27147 34548//1342 +f 24495//26754 22396//27146 23412//26924 +f 19766//17034 21682//16078 21568//20365 +f 13530//2399 13531//14808 13629//2379 +f 25627//26759 25021//26896 12713//26632 +f 25814//16485 24755//16484 24589//27072 +f 26261//26774 24131//23756 24839//23758 +f 25021//26896 25165//26980 26259//25426 +f 23763//23406 9282//5587 9747//10848 +f 22441//6016 24501//17939 20433//5406 +f 25274//16461 12059//6281 11880//6730 +f 21669//25911 23527//26644 21915//27148 +f 25534//25041 12535//26928 24232//26956 +f 26309//25235 24964//27149 24734//27150 +f 23571//27151 22484//27050 14796//27049 +f 25356//27137 23571//27151 14796//27049 +f 25056//27152 25188//27051 22484//27050 +f 22531//23555 23059//23657 22879//26661 +f 926//6394 928//3729 1046//3372 +f 24330//23735 24381//25879 24409//26693 +f 12045//7138 2253//7137 25005//14505 +f 26313//27153 26314//16551 23606//27154 +f 23857//15661 24191//24183 20681//27155 +f 25742//27156 25743//27157 25884//17450 +f 23825//25500 23533//23188 24833//25347 +f 26111//27158 23857//15661 20681//27155 +f 23690//25343 21450//25342 24627//27159 +f 23611//27160 25544//27093 24233//3143 +f 21161//27161 24107//27162 20034//26834 +f 25392//25425 25637//27163 21539//27164 +f 14714//1136 24115//19377 24177//1137 +f 20034//26834 24107//27162 24581//26630 +f 24648//6342 28257//15525 28377//27165 +f 25906//26889 16005//27166 25907//26961 +f 23571//27151 25056//27152 22484//27050 +f 16150//3211 25761//26070 25902//27167 +f 26099//27168 25197//27056 25188//27051 +f 26110//25480 23586//23790 23509//129 +f 25566//19849 25567//27169 22395//24118 +f 25932//27170 23704//23876 25443//25009 +f 23556//23599 4663//23192 15219//25192 +f 4663//23192 20908//26660 15219//25192 +f 25627//26759 12713//26632 24688//26631 +f 22392//25370 25374//16997 12340//23094 +f 23548//26830 23564//25784 24602//25827 +f 26068//27121 26094//27171 23915//26882 +f 26233//24551 23593//23557 22494//26859 +f 17082//7760 25600//18034 25599//18033 +f 25193//26952 26068//27121 23915//26882 +f 25056//27152 26099//27168 25188//27051 +f 21006//20480 12088//26610 23502//26608 +f 25174//27172 25173//27057 25197//27056 +f 26099//27168 25174//27172 25197//27056 +f 31077//7950 31139//27173 31076//27174 +f 25286//27175 25287//27058 25173//27057 +f 25174//27172 25286//27175 25173//27057 +f 23993//27176 24199//25655 12624//26700 +f 25500//27064 25286//27175 25644//27177 +f 25286//27175 25500//27064 25287//27058 +f 25067//2742 11859//15180 25430//17638 +f 12640//14707 23545//14709 24557//23109 +f 24561//27067 24979//25184 24280//27068 +f 24544//27012 24548//10121 20827//26871 +f 25532//25185 11753//26840 14840//27178 +f 23629//26916 23632//27138 24700//26914 +f 26191//25495 22105//25494 26190//26822 +f 24174//25087 24260//23681 23058//24531 +f 24712//27139 25921//26169 25912//26941 +f 35458//9372 35571//4285 35798//3453 +f 24855//25717 23623//27004 23542//16660 +f 21823//17101 24290//17100 21451//24463 +f 9086//14708 23838//24983 23545//14709 +f 26107//27002 26106//26368 24315//27016 +f 25538//25294 25684//25296 25683//27017 +f 24323//26801 23507//27179 24112//27000 +f 26106//26368 26107//27002 24112//27000 +f 23770//24303 23507//27179 24323//26801 +f 24770//26652 23770//24303 24323//26801 +f 24497//24301 23770//24303 24770//26652 +f 24287//26650 24497//24301 24770//26652 +f 25203//25338 25919//26649 22780//26894 +f 22858//25339 25203//25338 22780//26894 +f 25203//25338 24497//24301 24287//26650 +f 25919//26649 25203//25338 24287//26650 +f 24030//27180 24878//27145 26103//27143 +f 23507//27179 25317//25657 24112//27000 +f 25389//27014 24878//27145 24030//27180 +f 25358//27144 26085//27022 21629//27024 +f 24015//26765 25389//27014 24016//27011 +f 25529//27015 25389//27014 24030//27180 +f 17820//27181 23883//27182 17322//27183 +f 23528//15762 24389//15761 26064//16406 +f 23603//17589 23617//26848 24678//26968 +f 25709//25451 25661//1310 24417//1309 +f 25920//25320 24867//25321 22662//27184 +f 24485//25200 23551//25265 21816//25061 +f 21661//23736 24330//23735 23315//26611 +f 13052//7256 23553//23137 26228//7254 +f 25798//17497 24103//16546 23505//27185 +f 25781//27186 25798//17497 23505//27185 +f 24329//23642 24895//23898 24578//23896 +f 24102//27039 24080//10957 22292//10959 +f 16921//26913 13275//26885 24687//25202 +f 24981//17103 26093//17105 26092//27187 +f 33264//2566 33373//2046 33263//3336 +f 22780//26894 20887//26079 24701//26895 +f 21328//13009 26499//13011 21418//26982 +f 35696//3773 35850//14058 19104//3771 +f 24212//18036 3078//17608 13318//2730 +f 14077//16773 13525//6869 12367//15711 +f 24379//25547 25030//25548 24018//25643 +f 23606//27154 20888//16553 24077//27188 +f 20888//16553 24075//17210 24077//27188 +f 25885//27189 26027//27190 26026//17451 +f 29957//27191 19426//27192 21240//21499 +f 24191//24183 23828//24182 25937//27100 +f 20681//27155 24191//24183 25937//27100 +f 25400//27123 23611//27160 24233//3143 +f 23701//16756 23611//27160 25400//27123 +f 21450//25342 25392//25425 21539//27164 +f 34805//25111 34804//2302 34676//27147 +f 24697//25502 21984//24306 20659//24632 +f 23812//26833 21161//27161 20034//26834 +f 23755//27193 24187//26911 25633//26162 +f 23875//24370 20495//4643 24970//4645 +f 26058//17348 23337//25201 24536//17349 +f 25034//16423 24129//27194 21452//16424 +f 24695//25183 25302//16478 24817//15477 +f 24980//27001 26108//23845 26109//26868 +f 24686//26803 24685//26758 22199//27003 +f 33330//27195 33439//17886 33329//24950 +f 21630//26856 25401//25549 25542//25774 +f 6534//14883 26112//25973 12447//9081 +f 1452//1502 25594//23802 1797//1503 +f 23569//25055 30764//27196 24571//2845 +f 352//19555 23998//25311 23939//25176 +f 24811//17168 25770//21438 12998//24151 +f 20739//23751 23236//25002 12446//26849 +f 26094//27171 23632//27138 23629//26916 +f 26458//17325 26555//3785 26554//27197 +f 23253//26659 20987//26605 24050//26912 +f 23915//26882 26094//27171 23629//26916 +f 22176//16548 24752//27092 26260//2769 +f 33310//27198 33309//27199 33204//27200 +f 22464//15862 13147//17129 13111//17128 +f 22176//16548 25677//26847 25819//27201 +f 15238//8025 23638//9443 15365//9039 +f 25677//26847 24259//16265 24024//26966 +f 26144//19157 737//19117 736//19158 +f 1427//18885 1776//7674 25870//18886 +f 24752//27092 22176//16548 25819//27201 +f 9526//9440 4019//19493 9525//14984 +f 24259//16265 24661//16267 25379//26986 +f 25819//27201 25677//26847 24024//26966 +f 11981//7048 7873//11288 11897//12361 +f 21692//26779 25789//26851 25808//25530 +f 24024//26966 24259//16265 25379//26986 +f 24700//26914 24712//27139 25912//26941 +f 16151//27005 25783//24991 24411//25974 +f 25477//25786 24740//25213 22387//27202 +f 25097//10891 28253//10890 21377//18731 +f 21914//23159 25568//23161 25569//22934 +f 24265//26662 25634//27111 23777//26663 +f 23462//24061 24894//27203 24313//16428 +f 21723//26635 21914//23159 25569//22934 +f 22978//26751 9691//26755 24987//26752 +f 11752//26853 22386//17560 22483//27204 +f 25733//26181 25734//16508 25875//26870 +f 26018//24944 26019//24943 26160//25483 +f 25530//27205 23993//27176 12624//26700 +f 24269//17265 21721//17267 23551//25265 +f 21359//26087 25773//26626 25772//17646 +f 25772//17646 25773//26626 13556//17647 +f 25961//20378 23552//16483 25814//16485 +f 20983//24962 21066//21192 23904//21115 +f 25013//19198 20741//19197 26204//25199 +f 24577//21668 24723//23597 21796//12456 +f 24722//26906 9086//14708 12640//14707 +f 24603//26073 23268//23598 24723//23597 +f 24263//25781 11671//24800 11596//26985 +f 20741//19197 25251//26691 24269//17265 +f 25683//27017 25684//25296 20745//27054 +f 24264//27110 24263//25781 11596//26985 +f 23580//25775 24263//25781 24264//27110 +f 20745//27054 23580//25775 24264//27110 +f 33732//15540 33866//15539 33731//24809 +f 11671//24800 21817//24802 21818//26984 +f 25731//1884 25873//27206 25872//27207 +f 25602//23665 17081//652 16917//656 +f 25783//24991 26074//17649 24411//25974 +f 34274//23797 34412//4763 34273//14440 +f 25065//5440 25066//25675 25111//5441 +f 20759//9964 25117//27032 12904//2569 +f 18195//22608 35122//22702 17946//22634 +f 24264//27110 11596//26985 23791//26864 +f 25779//26788 25793//26808 26110//25480 +f 23840//21242 6273//25312 171//7669 +f 20974//25313 441//25314 20975//25315 +f 14559//19251 11570//13373 13696//6692 +f 26239//27208 21540//23158 25781//27186 +f 25618//23193 21540//23158 26239//27208 +f 11698//8989 13598//17423 14766//723 +f 25466//10185 25609//27209 25608//10186 +f 26230//17212 24979//25184 24561//27067 +f 26172//27210 26173//23556 26313//27153 +f 12867//11819 24048//12571 12866//8358 +f 25601//18718 25743//27157 25742//27156 +f 24933//25127 24934//24714 25937//27100 +f 23828//24182 24933//25127 25937//27100 +f 19987//16757 23701//16756 25400//27123 +f 24114//17202 25486//26627 25475//25423 +f 25392//25425 25097//10891 25637//27163 +f 26188//16790 26187//16792 26045//26998 +f 24107//27162 24697//25502 24581//26630 +f 26299//15770 26300//26061 25492//15796 +f 23654//25404 24203//24647 23875//24370 +f 23865//9381 23795//15922 25686//9382 +f 24137//15736 24379//25547 24018//25643 +f 25434//27211 21888//24923 20141//24925 +f 25634//27111 24264//27110 23791//26864 +f 11596//26985 21818//26984 21446//26780 +f 24867//25321 24185//26692 22662//27184 +f 22201//26800 25383//26804 22106//25493 +f 24620//27077 25381//6593 24715//6595 +f 24513//26969 24620//27077 24715//6595 +f 24929//25180 24930//24367 25493//25243 +f 23811//26763 24048//12571 23528//15762 +f 15861//24836 26054//22308 26053//23264 +f 24679//23894 24699//23893 25910//27076 +f 3601//457 25733//26181 25732//26276 +f 3800//25157 21606//16486 24131//23756 +f 23412//26924 21692//26779 25671//25129 +f 12693//17816 12694//17321 12783//17324 +f 23603//17589 24678//26968 24646//26967 +f 35651//3700 35833//2750 35823//2621 +f 21246//27119 21160//26734 20224//25982 +f 23592//17590 23603//17589 24646//26967 +f 25939//5300 26251//5299 13793//15178 +f 22629//25983 25672//26641 24392//25984 +f 19988//26746 24603//26073 24577//21668 +f 2904//13742 25939//5300 13793//15178 +f 35818//2090 35513//6100 35665//6815 +f 23993//27176 20862//26965 26105//25656 +f 24688//26631 24689//24996 24903//26741 +f 22488//27030 23759//15466 22107//25756 +f 23777//26663 21356//26865 20842//17559 +f 23972//16031 23971//25212 23912//19595 +f 20842//17559 21356//26865 24354//25355 +f 24984//17558 23777//26663 20842//17559 +f 21356//26865 25195//26782 24354//25355 +f 25826//25256 23557//25039 25827//27122 +f 30346//2614 35610//1438 35533//1931 +f 24330//23735 24409//26693 23315//26611 +f 24341//26990 21661//23736 24425//26612 +f 12358//24635 23609//23542 24466//25987 +f 26331//26742 24903//26741 25719//24998 +f 25882//26786 26024//27212 26023//25417 +f 7074//21703 10624//9469 35758//9468 +f 25099//25159 23504//15473 26258//27213 +f 25568//23161 25281//22543 25280//22545 +f 15202//17628 16167//27131 19985//17629 +f 23525//26828 21516//23842 23882//23844 +f 26215//26854 22483//27204 23731//26846 +f 26236//26794 26215//26854 23731//26846 +f 24193//26929 26215//26854 26236//26794 +f 24194//26930 24193//26929 26236//26794 +f 31042//27214 31043//13943 31104//17836 +f 24380//26702 25378//26616 24194//26930 +f 34136//18811 34274//23797 34135//20748 +f 25255//17288 4781//26862 21159//17289 +f 34136//18811 34135//20748 33999//16885 +f 20588//24613 24234//15634 20587//5736 +f 29947//14414 23241//14413 21409//22658 +f 3978//19671 1680//25667 5723//19879 +f 26150//25043 26008//27215 5723//19879 +f 32141//5581 32241//13209 32140//18323 +f 24646//26967 25867//25534 25866//25533 +f 5196//8767 1262//8766 10870//16662 +f 25902//27167 26044//27216 26043//25299 +f 25901//25267 25902//27167 26043//25299 +f 24098//23843 24980//27001 25032//26677 +f 25851//20329 2263//17015 4537//15126 +f 25569//22934 25568//23161 25280//22545 +f 26290//25044 23765//25206 21235//27217 +f 33865//17947 33864//11195 33730//27218 +f 13720//5939 15814//5843 13622//15123 +f 20924//27060 23635//27219 25925//27220 +f 26215//26854 11752//26853 22483//27204 +f 25024//26658 23792//26898 20223//26080 +f 25632//16582 26102//17588 23592//17590 +f 24410//27221 23429//25012 25964//25014 +f 13238//9466 13237//9465 13143//8852 +f 13624//7145 24525//7144 13625//14516 +f 24389//15761 12775//9337 26064//16406 +f 25598//26934 17248//63 17247//65 +f 23735//16538 24924//27222 24898//27128 +f 23734//16539 23735//16538 24898//27128 +f 24924//27222 26010//27223 26009//27132 +f 24898//27128 24924//27222 26009//27132 +f 26044//27216 26186//27224 26185//25318 +f 26043//25299 26044//27216 26185//25318 +f 26186//27224 26327//27225 26326//25319 +f 24320//27226 24327//23168 25588//27227 +f 24621//23167 24327//23168 24320//27226 +f 25588//27227 25618//23193 26239//27208 +f 21540//23158 25798//17497 25781//27186 +f 25750//23851 25751//27042 25892//23853 +f 25893//27043 26035//27228 26034//23795 +f 26314//16551 20888//16553 23606//27154 +f 26030//27229 26031//24860 26172//27210 +f 25600//18034 25601//18718 25742//27156 +f 25743//27157 25885//27189 25884//17450 +f 24933//25127 24698//5070 24934//24714 +f 23920//23738 23857//15661 26111//27158 +f 24108//17354 24114//17202 25475//25423 +f 25486//26627 23533//23188 23825//25500 +f 16004//20287 16005//27166 16146//9294 +f 33484//20039 33485//16028 33603//16030 +f 24453//27125 21161//27161 23812//26833 +f 25733//26181 25875//26870 25874//27230 +f 25642//27231 25103//24867 25643//24939 +f 24450//25895 24726//15206 24446//16661 +f 26105//25656 26106//26368 25317//25657 +f 25326//25654 25327//25653 25680//25648 +f 26198//25152 26141//23154 25000//8204 +f 12356//25546 22759//1639 15051//1641 +f 24867//25321 25769//19983 25069//26942 +f 25602//23665 25601//18718 17081//652 +f 2652//11075 4786//2768 337//11074 +f 12214//2320 11960//934 14270//11273 +f 35493//8505 35504//2091 35477//8506 +f 22487//24307 25478//25778 22486//25791 +f 737//19117 26144//19157 738//19483 +f 15536//18668 15671//18630 15535//16307 +f 12194//25155 3800//25157 12007//26773 +f 15604//25380 12194//25155 12007//26773 +f 2007//17456 24506//17455 1064//24426 +f 22004//24457 20923//23198 3989//16554 +f 21154//22793 29957//27191 21240//21499 +f 33882//6322 33881//6324 33747//27232 +f 23506//21983 23513//27233 24573//21981 +f 16923//17226 22629//25983 21160//26734 +f 24028//26252 25221//26764 24535//26253 +f 12252//25501 24944//25340 20153//24304 +f 24212//18036 13318//2730 29399//17821 +f 34678//7929 34806//4855 34677//14781 +f 24576//27234 25799//26066 25796//27028 +f 25617//3212 16150//3211 25759//25264 +f 2820//14055 25075//22705 30794//22704 +f 24614//16987 12824//16392 14075//17463 +f 24849//17408 23706//25349 23607//19651 +f 8028//8768 12104//16663 12023//27053 +f 24880//24115 25169//23115 21424//23114 +f 33371//3337 33372//15379 33484//20039 +f 26010//27223 20743//27235 20844//27134 +f 24852//23091 24591//25715 24073//23092 +f 26009//27132 26010//27223 20844//27134 +f 25579//27236 24257//27135 20844//27134 +f 20743//27235 25579//27236 20844//27134 +f 2235//26685 25651//26694 24081//23617 +f 24475//26651 23516//26825 23792//26898 +f 25345//26874 25998//17098 25346//27237 +f 24659//26789 25442//19320 15874//19319 +f 23783//24799 24493//17186 24874//17185 +f 17322//27183 23883//27182 20680//27238 +f 15447//20129 19985//17629 15448//20166 +f 33736//27239 33735//2391 33608//2401 +f 26191//25495 26190//26822 26048//27038 +f 15202//17628 3475//27129 16167//27131 +f 23731//26846 22483//27204 25196//25602 +f 22483//27204 25494//23174 25196//25602 +f 12335//10308 12250//2961 12336//3101 +f 25196//25602 25494//23174 24835//25094 +f 24685//26758 24688//26631 25662//26740 +f 23657//27240 13090//24804 25081//22699 +f 24357//16194 21726//26900 4255//16193 +f 22778//4199 22008//27241 26703//21764 +f 33760//17443 33759//15281 33632//27071 +f 23713//2980 24923//2939 12509//7133 +f 23997//27242 24057//27243 24056//18808 +f 23996//18385 23997//27242 24056//18808 +f 24057//27243 24116//27244 24115//19377 +f 24056//18808 24057//27243 24115//19377 +f 24116//27244 24178//27245 24177//1137 +f 24115//19377 24116//27244 24177//1137 +f 24251//27246 24250//18377 24177//1137 +f 24178//27245 24251//27246 24177//1137 +f 7000//13006 35190//23547 7001//13101 +f 24251//27246 24334//21301 24250//18377 +f 35700//5265 35491//5264 1023//5540 +f 12775//9337 12686//2956 12687//2743 +f 24874//17185 23729//26883 23503//25779 +f 23631//25646 23630//25644 25376//25647 +f 25905//26809 25904//26068 25762//9009 +f 26260//2769 24998//17358 25218//2767 +f 15592//25239 25095//25292 12272//26797 +f 25250//17178 21823//17101 23674//23128 +f 20744//27109 25634//27111 24265//26662 +f 25795//27247 23827//26690 25793//26808 +f 24776//27248 20989//27136 24257//27135 +f 25251//26691 24195//17266 24269//17265 +f 25579//27236 24776//27248 24257//27135 +f 23686//27249 25356//27137 20989//27136 +f 24776//27248 23686//27249 20989//27136 +f 26185//25318 26186//27224 26326//25319 +f 26327//27225 23864//27250 26060//25329 +f 26326//25319 26327//27225 26060//25329 +f 24467//23223 24621//23167 19989//24988 +f 24192//24594 24415//27251 23718//23674 +f 21632//24986 24621//23167 24320//27226 +f 24327//23168 25618//23193 25588//27227 +f 25892//23853 25893//27043 26034//23795 +f 26177//27252 26318//27253 26317//23854 +f 26035//27228 26177//27252 26176//23796 +f 26034//23795 26035//27228 26176//23796 +f 26173//23556 26314//16551 26313//27153 +f 25889//24858 26031//24860 26030//27229 +f 25884//17450 25885//27189 26026//17451 +f 26027//27190 26169//27078 26168//25234 +f 23979//27254 23920//23738 26111//27158 +f 25091//23108 23920//23738 23979//27254 +f 25475//25423 25486//26627 23825//25500 +f 23533//23188 24955//16755 24833//25347 +f 17820//27181 23518//25663 18360//27255 +f 24135//25345 23690//25343 25213//27256 +f 25732//26276 25733//26181 25874//27230 +f 25875//26870 26017//27103 26016//27102 +f 23553//23137 23549//24803 26198//25152 +f 26224//18521 23553//23137 26198//25152 +f 20764//25649 22584//25645 25376//25647 +f 25927//25760 20739//23751 25929//25762 +f 12106//25761 25929//25762 20141//24925 +f 25929//25762 25434//27211 20141//24925 +f 14851//26666 24694//27257 24695//25183 +f 22202//16055 25780//14652 25679//14651 +f 3451//27258 24822//25874 15471//15911 +f 24822//25874 13011//25540 15471//15911 +f 24503//15660 10979//26163 12027//25058 +f 24749//25916 20926//8736 25956//8738 +f 21606//16486 25099//25159 24840//23757 +f 21822//27259 24071//27260 24072//24185 +f 24131//23756 21606//16486 24840//23757 +f 25099//25159 26258//27213 12355//27261 +f 25062//15358 25061//26922 12802//25529 +f 25025//25372 23572//26705 13461//27262 +f 2301//8524 19387//20636 2435//8525 +f 24477//25724 20095//23172 26101//23171 +f 13628//2378 13529//18418 13530//2399 +f 24977//24870 24981//17103 26092//27187 +f 22632//25792 22631//25680 23417//21175 +f 26330//26609 26331//26742 25719//24998 +f 12007//26773 3800//25157 24131//23756 +f 16167//27131 25712//25709 24765//25708 +f 15153//20622 12729//25105 9416//20620 +f 24873//27107 25501//17359 25358//27144 +f 16464//21074 24007//17510 24006//23819 +f 20270//26014 20356//25350 20355//25352 +f 26022//24112 26164//25419 26163//23857 +f 25069//26942 11771//20377 21636//26843 +f 26224//18521 26228//7254 23553//23137 +f 21268//17169 21449//25759 25030//25548 +f 23864//27250 25049//27263 24800//25330 +f 25724//20582 25725//26888 13556//17647 +f 23616//27264 23571//27151 25356//27137 +f 24290//17100 24318//27265 21451//24463 +f 23686//27249 23616//27264 25356//27137 +f 25057//27266 25056//27152 23571//27151 +f 23616//27264 25057//27266 23571//27151 +f 23519//27267 26099//27168 25056//27152 +f 25057//27266 23519//27267 25056//27152 +f 24548//10121 20828//26872 20827//26871 +f 23970//25721 23750//16023 23967//17209 +f 14406//18952 14389//18928 14390//17804 +f 15602//17224 16923//17226 16025//23732 +f 26060//25329 23864//27250 24800//25330 +f 25953//17187 23729//26883 24874//17185 +f 25791//27268 22391//15464 22488//27030 +f 19766//17034 23943//20364 24001//22243 +f 25672//26641 23612//26640 24464//26681 +f 25632//16582 23592//17590 23589//16583 +f 25049//27263 24084//27269 24085//25398 +f 25494//23174 25371//23176 24835//25094 +f 25307//17097 25386//24719 25445//16035 +f 20667//17394 25168//25716 25950//27104 +f 24800//25330 25049//27263 24085//25398 +f 26008//27215 2148//327 2020//326 +f 35867//7350 35550//2268 30423//3310 +f 34029//17975 34028//17977 33893//15280 +f 23939//25176 23998//25311 23997//27242 +f 32120//23126 32220//27270 32219//23127 +f 23998//25311 24058//27271 24057//27243 +f 23997//27242 23998//25311 24057//27243 +f 24058//27271 24117//27272 24116//27244 +f 24057//27243 24058//27271 24116//27244 +f 24117//27272 24179//27273 24178//27245 +f 24116//27244 24117//27272 24178//27245 +f 24252//27274 24251//27246 24178//27245 +f 24179//27273 24252//27274 24178//27245 +f 24335//27275 24334//21301 24251//27246 +f 24252//27274 24335//27275 24251//27246 +f 24419//27276 24418//17457 24334//21301 +f 24335//27275 24419//27276 24334//21301 +f 24259//16265 13092//2393 22//16266 +f 24419//27276 24506//17455 24418//17457 +f 24749//25916 25956//8738 23984//8600 +f 24551//23589 24771//23948 7760//24001 +f 25863//25772 23746//25771 25661//1310 +f 23807//17269 12088//26610 21006//20480 +f 25175//27277 25174//27172 26099//27168 +f 23519//27267 25175//27277 26099//27168 +f 25285//27278 25286//27175 25174//27172 +f 25066//25675 25430//17638 25111//5441 +f 20354//1465 23813//25351 20439//26015 +f 25753//25704 25895//23164 25894//25003 +f 24467//23223 19989//24988 24520//4832 +f 17577//22087 30634//6060 24229//23902 +f 24433//23648 24520//4832 29422//4834 +f 24621//23167 21632//24986 19989//24988 +f 26176//23796 26177//27252 26317//23854 +f 23562//27279 24437//27280 24147//23952 +f 26318//27253 23562//27279 24128//23899 +f 26317//23854 26318//27253 24128//23899 +f 25746//27281 25747//27282 25888//27283 +f 25605//3959 25747//27282 25746//27281 +f 25888//27283 25889//24858 26030//27229 +f 26031//24860 26173//23556 26172//27210 +f 26026//17451 26027//27190 26168//25234 +f 26169//27078 26310//24767 26309//25235 +f 24985//25336 25091//23108 23979//27254 +f 23873//23134 25091//23108 24985//25336 +f 25544//27093 24682//27094 24681//3144 +f 24233//3143 25544//27093 24681//3144 +f 21450//25342 21539//27164 24627//27159 +f 24999//25346 24135//25345 25857//27284 +f 25874//27230 25875//26870 26016//27102 +f 26017//27103 26159//25658 26158//24452 +f 25397//26821 20744//27109 24265//26662 +f 26032//25059 26033//16431 26174//16433 +f 12446//26849 12107//26811 25434//27211 +f 25929//25762 12446//26849 25434//27211 +f 25680//25648 25376//25647 24245//25764 +f 24516//14649 25680//25648 24245//25764 +f 25815//26173 24853//26817 25477//25786 +f 26204//25199 23551//25265 24485//25200 +f 15051//1641 24822//25874 3451//27258 +f 23966//18030 15051//1641 3451//27258 +f 25027//26165 21056//23684 23658//23683 +f 24881//16557 24882//16556 25452//24241 +f 32902//27285 33010//27286 32901//14888 +f 25026//27287 21822//27259 24606//25714 +f 12355//27261 26258//27213 23646//26258 +f 24840//23757 25099//25159 12355//27261 +f 25023//25290 25025//25372 13461//27262 +f 21701//26704 24009//27288 13461//27262 +f 26100//25163 24477//25724 26101//23171 +f 24477//25724 24027//25293 20095//23172 +f 24396//27041 25026//27287 24397//24277 +f 21822//27259 24591//25715 24606//25714 +f 16443//7948 25469//27289 16595//2248 +f 14345//19427 25946//14957 25945//10897 +f 1776//7674 1427//18885 500//19668 +f 12983//14260 12982//17283 12890//7131 +f 23759//15466 25222//15465 22563//26787 +f 24382//26784 20986//24878 21071//26683 +f 19994//24176 25940//27290 25503//27291 +f 23982//25089 24042//25092 23850//25090 +f 10100//14900 9640//3939 12225//3938 +f 20321//26196 22730//26100 21397//26289 +f 11801//14449 35565//15714 35686//1287 +f 23809//25091 23865//9381 21510//9383 +f 20842//17559 24354//25355 25923//23175 +f 11726//3596 21306//8208 29021//8363 +f 25813//26795 25671//25129 23868//26735 +f 25592//458 25734//16508 25733//26181 +f 24084//27269 25297//27292 25157//25399 +f 24601//26736 25813//26795 23868//26735 +f 25175//27277 25285//27278 25174//27172 +f 25295//18670 24675//18669 23774//24868 +f 25645//27293 25644//27177 25285//27278 +f 25285//27278 25644//27177 25286//27175 +f 24605//26827 24725//17650 26074//17649 +f 24085//25398 24084//27269 25157//25399 +f 25116//27294 23725//16231 23623//27004 +f 23639//23610 20354//1465 24053//1467 +f 25486//26627 25488//23908 23533//23188 +f 13365//27295 23837//25400 25157//25399 +f 25297//27292 13365//27295 25157//25399 +f 23830//25971 23917//26667 24270//24999 +f 24239//25990 22104//25506 22103//17631 +f 24004//27296 12644//25410 23837//25400 +f 3978//19671 1679//19670 1680//25667 +f 23957//24166 29081//12769 23956//14712 +f 33158//2946 33157//2945 33052//17566 +f 24684//26802 12716//26886 24686//26803 +f 25502//25371 25222//15465 22391//15464 +f 12104//16663 23635//27219 20924//27060 +f 3208//18414 581//18383 16548//18384 +f 12104//16663 8028//8768 5196//8767 +f 24000//27297 23999//19572 16945//19573 +f 13525//6869 11693//14164 35539//10314 +f 11693//14164 13525//6869 14077//16773 +f 23999//19572 24059//27298 24058//27271 +f 23998//25311 23999//19572 24058//27271 +f 24059//27298 24118//27299 24117//27272 +f 24058//27271 24059//27298 24117//27272 +f 24118//27299 24180//27300 24179//27273 +f 24117//27272 24118//27299 24179//27273 +f 24180//27300 24253//27301 24252//27274 +f 24179//27273 24180//27300 24252//27274 +f 24253//27301 24336//27302 24335//27275 +f 24252//27274 24253//27301 24335//27275 +f 24420//27303 24419//27276 24335//27275 +f 24336//27302 24420//27303 24335//27275 +f 24507//27304 24506//17455 24419//27276 +f 24420//27303 24507//27304 24419//27276 +f 13754//24663 13153//9257 13152//3531 +f 24507//27304 24614//16987 24506//17455 +f 13365//27295 24004//27296 23837//25400 +f 25206//25080 12444//17096 25345//26874 +f 24613//25673 24624//15917 25821//26939 +f 24280//27068 25532//25185 14840//27178 +f 11753//26840 24281//26841 24364//26940 +f 24050//26912 22449//23728 16921//26913 +f 26004//23729 25860//23733 22646//23730 +f 25382//17008 25969//27074 23505//27185 +f 23708//26261 23530//17273 24461//17275 +f 24103//16546 25382//17008 23505//27185 +f 35692//6817 35769//5621 35849//12100 +f 22//16266 127//16121 24661//16267 +f 25239//24990 24130//23122 13958//24060 +f 25640//27305 25978//27306 25037//27307 +f 24128//23899 23562//27279 24147//23952 +f 24969//24003 25239//24990 13958//24060 +f 24437//27280 25239//24990 24969//24003 +f 24147//23952 24437//27280 24969//24003 +f 26179//16639 26180//26722 26320//23613 +f 22464//15862 24129//27194 19903//15860 +f 25604//3960 25605//3959 25746//27281 +f 25747//27282 25889//24858 25888//27283 +f 26168//25234 26169//27078 26309//25235 +f 12997//24769 24442//27308 14851//26666 +f 26310//24767 12997//24769 24964//27149 +f 26309//25235 26310//24767 24964//27149 +f 24744//16511 23873//23134 24985//25336 +f 24153//24692 24154//14699 25505//16510 +f 24937//27309 24938//27310 24681//3144 +f 24682//27094 24937//27309 24681//3144 +f 23690//25343 24627//27159 25213//27256 +f 24332//25064 24999//25346 20662//27311 +f 24581//26630 24697//25502 20659//24632 +f 21984//24306 12188//27113 24029//15658 +f 25090//27312 24595//24887 26570//22069 +f 23935//27313 24219//17709 26077//17711 +f 12107//26811 21700//25650 21888//24923 +f 25434//27211 12107//26811 21888//24923 +f 23630//25644 24018//25643 24312//25763 +f 14841//27314 24691//25758 25962//25757 +f 22005//25266 22100//26959 24268//23384 +f 1680//25667 26152//25871 26151//25668 +f 26070//25966 23923//26065 24462//25374 +f 23500//25967 26070//25966 24462//25374 +f 22975//25773 25027//26165 26238//26167 +f 25252//23560 25199//27315 23277//23561 +f 24820//26745 24819//27316 22349//27317 +f 25823//27318 25384//27319 23681//27320 +f 26258//27213 24028//26252 23646//26258 +f 11980//7251 21673//23184 11718//14031 +f 23572//26705 21701//26704 13461//27262 +f 24494//25454 23698//26897 24009//27288 +f 7081//6401 17574//27321 23240//23090 +f 25096//23747 23521//25603 11944//27322 +f 25665//25125 26078//25831 24400//24693 +f 10364//13758 9121//13757 1994//13844 +f 4554//19237 4553//25007 13367//25377 +f 21235//27217 23959//25156 12194//25155 +f 24369//18039 24476//16285 24314//16287 +f 26093//17105 21544//25088 23850//25090 +f 23703//26850 25791//27268 22488//27030 +f 21160//26734 22629//25983 20224//25982 +f 25018//25666 25025//25372 23364//25289 +f 24383//24876 24612//26839 20824//24877 +f 11702//17462 12480//16605 6009//14021 +f 20513//25037 20596//23445 20595//24972 +f 25686//9382 26067//25015 26210//24346 +f 26067//25015 25064//26013 25063//15357 +f 4244//17067 2//18907 2398//18909 +f 24174//25087 24947//25082 24260//23681 +f 24488//24699 24608//24698 24478//24861 +f 2018//3578 1659//1882 1542//4755 +f 4531//10333 3994//5864 26251//5299 +f 13342//4864 13437//4863 21728//11906 +f 24599//25826 25804//25828 25802//26818 +f 24006//23819 24066//19784 2923//23820 +f 20509//24782 20510//24844 20591//22754 +f 12890//7131 12891//15563 24406//15631 +f 24004//27296 23697//27323 25811//25412 +f 25883//27324 25884//17450 26025//17452 +f 21909//17268 21006//20480 15586//19738 +f 25818//26075 23548//26830 23546//26076 +f 24048//12571 12867//11819 24389//15761 +f 32839//9724 32838//2934 32726//9725 +f 24733//16888 10266//16271 11569//16270 +f 7074//21703 9653//10368 13582//7374 +f 25502//25371 25920//25320 22662//27184 +f 23857//15661 24503//15660 24191//24183 +f 25876//25900 25877//24942 26018//24944 +f 25957//27325 24324//25045 25377//25991 +f 26153//27326 1680//25667 1679//19670 +f 22683//27327 25502//25371 22391//15464 +f 23916//26838 12625//26981 25038//26816 +f 2020//326 5723//19879 26008//27215 +f 26307//27328 21181//27329 12361//23764 +f 24397//24277 24606//25714 24528//24278 +f 26162//23904 26303//23859 26302//26718 +f 25195//26782 25638//26781 25655//26829 +f 32251//23429 22247//21559 29687//5313 +f 12644//25410 24004//27296 25811//25412 +f 24000//27297 24060//27330 24059//27298 +f 23999//19572 24000//27297 24059//27298 +f 24060//27330 24119//27331 24118//27299 +f 24059//27298 24060//27330 24118//27299 +f 24119//27331 24181//27332 24180//27300 +f 24118//27299 24119//27331 24180//27300 +f 24254//27333 24253//27301 24180//27300 +f 24181//27332 24254//27333 24180//27300 +f 24337//27334 24336//27302 24253//27301 +f 24254//27333 24337//27334 24253//27301 +f 24421//27335 24420//27303 24336//27302 +f 24337//27334 24421//27335 24336//27302 +f 24508//27336 24507//27304 24420//27303 +f 24421//27335 24508//27336 24420//27303 +f 24508//27336 24615//20989 24614//16987 +f 24507//27304 24508//27336 24614//16987 +f 21955//23465 35766//14247 20902//8110 +f 17399//22000 17487//21938 17398//21939 +f 23697//27323 23768//27337 23714//25496 +f 25335//23596 13894//23590 25334//26638 +f 14396//8748 16702//8747 16548//18384 +f 25468//17122 25469//27289 25611//25703 +f 25926//26812 24550//26937 21700//25650 +f 24445//6604 25709//25451 24417//1309 +f 25567//27169 25581//15851 22299//24119 +f 25674//25662 25711//25010 11943//25011 +f 23349//16054 25679//14651 25630//26642 +f 38//5130 26251//5299 10579//5298 +f 25441//27338 25245//24593 25230//17410 +f 22299//24119 23349//16054 25630//26642 +f 24565//17225 24383//24876 24382//26784 +f 23493//17409 25441//27338 25230//17410 +f 16756//3397 25605//3959 16915//122 +f 24502//25580 24385//26761 23648//24302 +f 23487//23155 23544//23157 24569//16017 +f 16914//916 16756//3397 16915//122 +f 24964//27149 12997//24769 14851//26666 +f 24664//24273 24132//16476 24694//27257 +f 24442//27308 23851//24274 24694//27257 +f 14851//26666 24442//27308 24694//27257 +f 24154//14699 25506//23136 25505//16510 +f 23707//8731 26229//8730 24054//23149 +f 25506//23136 23873//23134 24744//16511 +f 25505//16510 25506//23136 24744//16511 +f 25318//27339 25181//27340 24938//27310 +f 24937//27309 25318//27339 24938//27310 +f 24135//25345 25213//27256 25857//27284 +f 12253//8614 24332//25064 23702//25554 +f 20659//24632 21984//24306 24029//15658 +f 12188//27113 24983//27341 25234//14661 +f 13529//18418 13628//2378 13627//6279 +f 25247//27342 23935//27313 24757//26860 +f 32504//25678 32503//23006 32398//19980 +f 35254//27343 35251//27344 34362//27345 +f 24443//26259 14841//27314 25962//25757 +f 23494//27346 14841//27314 24443//26259 +f 25037//27307 25107//19745 23633//16889 +f 24512//24494 2235//26685 25862//19984 +f 24242//17106 11108//27347 22684//25375 +f 32857//20845 32856//17814 32744//17813 +f 24591//25715 21822//27259 24072//24185 +f 25228//17411 25230//17410 23978//23906 +f 24407//25457 24417//1309 25660//1311 +f 25661//1310 23746//25771 24390//27348 +f 12340//23094 23605//23095 25920//25320 +f 23854//27349 14871//15208 14870//15207 +f 21701//26704 24494//25454 24009//27288 +f 3198//23986 13387//24033 12035//24034 +f 17308//27350 25121//16449 24039//21997 +f 24136//15734 24137//15736 23631//25646 +f 24087//23954 26287//23956 26255//23651 +f 22975//25773 26238//26167 24390//27348 +f 13366//25376 21235//27217 12194//25155 +f 23959//25156 12270//15813 3800//25157 +f 26092//27187 26093//17105 23850//25090 +f 7760//24001 23948//23950 23662//23142 +f 24945//27351 25455//26617 25073//25288 +f 25502//25371 12340//23094 25920//25320 +f 22012//16018 25154//24932 24658//16019 +f 24143//24149 12998//24151 26718//21437 +f 25004//18865 13143//8852 13050//13780 +f 25469//27289 25612//25829 25611//25703 +f 35461//9064 35648//13140 35392//2754 +f 25681//27352 24498//23788 25166//23787 +f 25491//27353 25231//25008 23704//23876 +f 1999//23789 9315//23878 25166//23787 +f 25444//16037 25242//21850 25443//25009 +f 25429//25594 25307//17097 12444//17096 +f 24141//5752 25771//24529 24858//27354 +f 24047//25084 25429//25594 12444//17096 +f 31298//21055 31365//21971 31297//14674 +f 25116//27294 25254//26879 23725//16231 +f 25290//25719 24014//17211 24075//17210 +f 25811//25412 23697//27323 23714//25496 +f 23527//26644 23992//26877 23871//26645 +f 33731//24809 33865//17947 33730//27218 +f 25044//22544 25281//22543 29966//27355 +f 1681//25178 15153//20622 23788//25175 +f 25861//24933 24611//23658 25973//8593 +f 20762//22662 23600//24899 25574//22663 +f 35339//27356 34495//11088 35338//4881 +f 4774//2479 4101//2322 190//2530 +f 25637//27163 24741//26823 21009//24309 +f 4553//25007 26148//25006 26289//25532 +f 25222//15465 25502//25371 22662//27184 +f 25911//26915 24190//26921 24620//27077 +f 24354//25355 6645//27112 25513//25356 +f 25422//25490 25150//26665 22960//25491 +f 3042//14698 22441//6016 2610//6015 +f 26150//25043 26291//25205 26290//25044 +f 32095//15272 32195//15806 32094//21170 +f 20028//14693 22531//23555 22879//26661 +f 22763//26783 23528//15762 26065//16407 +f 25919//26649 25024//26658 20887//26079 +f 26061//25430 25635//16950 21872//16949 +f 31109//18898 31110//3915 31172//18899 +f 33486//13823 33485//16028 33372//15379 +f 24001//22243 24061//27357 24060//27330 +f 24000//27297 24001//22243 24060//27330 +f 24061//27357 24120//27358 24119//27331 +f 24060//27330 24061//27357 24119//27331 +f 24182//27359 24181//27332 24119//27331 +f 24120//27358 24182//27359 24119//27331 +f 24255//27360 24254//27333 24181//27332 +f 24182//27359 24255//27360 24181//27332 +f 24338//27361 24337//27334 24254//27333 +f 24255//27360 24338//27361 24254//27333 +f 24422//27362 24421//27335 24337//27334 +f 24338//27361 24422//27362 24337//27334 +f 24422//27362 24509//27363 24508//27336 +f 24421//27335 24422//27362 24508//27336 +f 24509//27363 24616//27364 24615//20989 +f 24508//27336 24509//27363 24615//20989 +f 15720//20415 15585//20414 15586//19738 +f 30765//2846 17889//12780 24138//2844 +f 31995//9222 32095//15272 31994//23934 +f 34327//27365 34465//17946 6883//12397 +f 25241//27366 25242//21850 30816//27367 +f 35356//6232 14089//14192 30214//3021 +f 25091//23108 25212//23107 23920//23738 +f 22685//26064 25324//15926 24242//17106 +f 25122//27368 25260//14696 25259//14695 +f 24989//5539 25122//27368 11382//9182 +f 21515//22204 25393//27369 21425//13627 +f 27899//27370 27900//27371 21515//22204 +f 23461//25379 23537//27372 21072//16375 +f 25245//24593 23755//27193 7004//23905 +f 23080//25378 23461//25379 14562//16475 +f 23537//27372 23536//25722 21072//16375 +f 23080//25378 14562//16475 23878//16477 +f 23928//26628 23080//25378 23878//16477 +f 23851//24274 24664//24273 24694//27257 +f 23461//25379 21072//16375 14562//16475 +f 23928//26628 23878//16477 24132//16476 +f 24664//24273 23928//26628 24132//16476 +f 24321//23643 26237//27373 22883//23644 +f 23707//8731 24054//23149 24345//22728 +f 26229//8730 24154//14699 24153//24692 +f 26057//16469 26229//8730 24153//24692 +f 25498//27374 25642//27231 25181//27340 +f 25498//27374 23981//27375 25642//27231 +f 25318//27339 25498//27374 25181//27340 +f 23981//27375 25103//24867 25642//27231 +f 24999//25346 25857//27284 20662//27311 +f 12253//8614 23702//25554 24906//23119 +f 24029//15658 12188//27113 25234//14661 +f 24983//27341 12273//26798 21983//27376 +f 24219//17709 24220//27377 26675//22062 +f 23579//23726 23543//15914 24757//26860 +f 11839//8594 24396//27041 23733//8595 +f 23765//25206 13269//18029 23965//15811 +f 12357//25447 23494//27346 24443//26259 +f 26295//27378 23494//27346 12357//25447 +f 15051//1641 20823//1640 24822//25874 +f 24690//25873 22877//25918 13011//25540 +f 26151//25668 26292//25872 26291//25205 +f 20358//26206 24907//26300 20357//26113 +f 25533//24447 25537//25052 14253//20510 +f 24071//27260 24857//25698 23558//17176 +f 25660//1311 25661//1310 24390//27348 +f 22663//24985 22761//24351 22295//17467 +f 24216//27379 22368//27380 12996//23761 +f 19571//26687 24856//27381 24231//25641 +f 15874//19319 733//19321 12035//24034 +f 26323//24455 26324//23195 22004//24457 +f 26050//26960 26192//26945 26049//26970 +f 33748//24271 33882//6322 33747//27232 +f 23700//25585 25020//25334 24869//25196 +f 13853//24901 21066//21192 1263//24905 +f 25095//25292 12271//27382 12272//26797 +f 25199//27315 24844//27383 23277//23561 +f 25493//25243 11234//24369 22079//25244 +f 23802//24928 22200//14013 24876//23546 +f 24650//15542 20594//20298 20595//24972 +f 20594//20298 24650//15542 20593//20299 +f 25442//19320 14794//27101 733//19321 +f 20587//5736 24234//15634 14912//5737 +f 35792//16409 35913//9884 35691//12185 +f 23850//25090 24042//25092 24043//25524 +f 14144//23004 13768//23003 14375//6050 +f 17608//14593 17703//14592 17607//21587 +f 32794//27384 32906//27385 32793//27386 +f 24620//27077 24190//26921 25381//6593 +f 24838//25880 23921//27387 24808//25085 +f 24809//25086 24947//25082 24174//25087 +f 23732//22048 24298//11348 25636//11350 +f 25528//8613 24317//25062 12253//8614 +f 24626//23727 24643//25005 24474//16232 +f 23732//22048 25636//11350 24474//16232 +f 23725//16231 24626//23727 24474//16232 +f 15450//20251 15449//17662 15322//17664 +f 10870//16662 23635//27219 12104//16663 +f 26259//25426 25165//26980 24987//26752 +f 35383//6696 35608//6450 35375//15260 +f 23730//15632 12800//16026 24753//22114 +f 30779//27388 25311//18763 25725//26888 +f 24755//16484 24485//25200 24589//27072 +f 25295//18670 15537//18702 15536//18668 +f 22387//27202 24740//25213 26207//25270 +f 25455//26617 23364//25289 25073//25288 +f 20019//27389 25425//21483 25424//24989 +f 26081//27390 20019//27389 25424//24989 +f 25741//18035 25883//27324 25882//26786 +f 24892//26978 23861//26713 24891//27052 +f 23702//25554 20662//27311 25216//8601 +f 23673//26858 25397//26821 24266//26954 +f 25089//27118 26206//27070 26063//27069 +f 25512//26164 25520//25584 24104//25195 +f 25728//17088 25626//17087 26113//26876 +f 22647//6046 26089//18978 26231//14032 +f 13749//12746 13847//13097 13748//12747 +f 23943//20364 24002//27391 24001//22243 +f 8051//14612 20433//5406 331//5408 +f 24062//24353 24061//27357 24001//22243 +f 24002//27391 24062//24353 24001//22243 +f 24121//27392 24120//27358 24061//27357 +f 24062//24353 24121//27392 24061//27357 +f 24183//14852 24182//27359 24120//27358 +f 24062//24353 29415//14853 24121//27392 +f 24256//23999 24255//27360 24182//27359 +f 24121//27392 24183//14852 24120//27358 +f 24339//27393 24338//27361 24255//27360 +f 24256//23999 24339//27393 24255//27360 +f 24423//27394 24422//27362 24338//27361 +f 24339//27393 24423//27394 24338//27361 +f 24510//27395 24509//27363 24422//27362 +f 24423//27394 24510//27395 24422//27362 +f 24510//27395 24617//27396 24616//27364 +f 24509//27363 24510//27395 24616//27364 +f 24617//27396 24737//27397 24736//27398 +f 24616//27364 24617//27396 24736//27398 +f 24737//27397 24862//27399 24861//21862 +f 24736//27398 24737//27397 24861//21862 +f 24862//27399 24990//27400 24989//5539 +f 24861//21862 24862//27399 24989//5539 +f 24990//27400 25123//27401 25122//27368 +f 24989//5539 24990//27400 25122//27368 +f 25123//27401 25261//27402 25260//14696 +f 25122//27368 25123//27401 25260//14696 +f 12170//26727 24606//25714 24852//23091 +f 11835//15262 27299//27403 27416//27404 +f 1521//23647 23977//27405 24321//23643 +f 12024//26892 24043//25524 23983//25526 +f 13331//16547 22271//25553 22176//16548 +f 25262//22855 27957//22857 25261//27402 +f 26286//19235 24722//26906 25670//25789 +f 25868//16575 26248//24186 24292//15849 +f 26237//27373 23723//27140 22883//23644 +f 35714//6849 35394//3804 35941//3803 +f 24429//19025 23707//8731 24345//22728 +f 11975//6690 8484//13181 12142//6688 +f 25166//23787 3037//23985 25681//27352 +f 26229//8730 26057//16469 24054//23149 +f 24902//2211 24560//24865 25103//24867 +f 25429//25594 23810//26791 25307//17097 +f 23981//27375 24902//2211 25103//24867 +f 33999//16885 34135//20748 33998//24184 +f 23893//27406 25369//8615 25308//23147 +f 23893//27406 25308//23147 12271//27382 +f 25369//8615 12253//8614 24906//23119 +f 24332//25064 20662//27311 23702//25554 +f 25234//14661 24983//27341 21983//27376 +f 12273//26798 24167//27044 22979//27407 +f 23935//27313 26077//17711 24757//26860 +f 25253//23725 24362//24496 23579//23726 +f 30070//22775 22495//22774 30202//27408 +f 24498//23788 25491//27353 1999//23789 +f 26294//26621 26295//27378 12357//25447 +f 26154//15768 26295//27378 26294//26621 +f 24822//25874 24690//25873 13011//25540 +f 22877//25918 22080//25328 21795//25542 +f 24680//14653 25943//27037 24789//26639 +f 23499//25638 21912//26711 21535//26678 +f 21607//14662 21983//27376 22203//27409 +f 20518//24459 24294//24528 24894//27203 +f 23874//23801 25199//27315 25252//23560 +f 28625//22125 24145//25160 25391//27410 +f 26306//26975 26307//27328 12361//23764 +f 21181//27329 23950//15476 24017//16168 +f 9747//10848 21669//25911 21915//27148 +f 13529//18418 23734//16539 24898//27128 +f 23978//23906 7004//23905 10979//26163 +f 24690//25873 25962//25757 22877//25918 +f 25890//24859 26032//25059 26031//24860 +f 25512//26164 24104//25195 24045//25268 +f 23578//6191 23779//21459 29019//27411 +f 25741//18035 25742//27156 25883//27324 +f 22685//26064 24242//17106 22684//25375 +f 24172//17107 25776//27412 11108//27347 +f 29123//22430 22544//23210 22159//22431 +f 30990//6610 30989//6612 30931//26806 +f 25004//18865 13050//13780 26228//7254 +f 21539//27164 25637//27163 21009//24309 +f 2657//17727 10808//8951 14289//14208 +f 35646//901 35596//903 35423//7252 +f 26718//21437 12998//24151 25770//21438 +f 12746//23984 3198//23986 3037//23985 +f 9403//1426 8581//1425 14233//15905 +f 23614//23143 12445//25459 23618//24634 +f 24652//21670 20415//16659 20414//26973 +f 3800//25157 12270//15813 21606//16486 +f 25036//27059 22494//26859 25116//27294 +f 22494//26859 25254//26879 25116//27294 +f 23665//17471 22592//17473 23277//23561 +f 24201//15812 3451//27258 12626//15471 +f 25938//5200 24777//24645 23654//25404 +f 20753//24724 25113//15581 20754//15580 +f 23791//26864 11596//26985 21446//26780 +f 24270//24999 26203//25972 23830//25971 +f 25675//27413 11772//17888 24742//24371 +f 21818//26984 25924//26983 25638//26781 +f 21446//26780 21818//26984 25638//26781 +f 4111//9187 6386//9186 23872//25910 +f 24503//15660 12027//25058 24191//24183 +f 24869//25196 25329//27081 25328//25479 +f 12007//26773 24131//23756 26261//26774 +f 20826//23145 24663//5353 20905//20578 +f 24931//24368 25229//25373 25432//25271 +f 20907//25291 24782//23144 20826//23145 +f 29831//17487 25425//21483 29962//27414 +f 24629//16643 24438//16645 25448//26760 +f 24892//26978 24891//27052 12805//26976 +f 13459//16133 29160//16135 29297//9512 +f 26189//26890 26190//26822 26330//26609 +f 25671//25129 21692//26779 24901//25130 +f 25924//26983 25818//26075 24236//26074 +f 30506//26595 25578//16951 25577//26904 +f 31593//14045 31688//14044 31592//25870 +f 31300//4147 31299//4148 31234//15743 +f 24294//24528 22369//22928 24894//27203 +f 24063//24784 24062//24353 24002//27391 +f 31235//22270 31300//4147 31234//15743 +f 24122//18053 24062//24353 24063//24784 +f 24063//24784 24064//24783 19305//27415 +f 23890//23200 23547//23199 23834//26618 +f 23537//27372 23890//23200 23834//26618 +f 23547//23199 24528//24278 24541//24749 +f 24528//24278 24608//24698 24541//24749 +f 31506//25113 31593//14045 31505//22111 +f 24528//24278 12170//26727 12169//24862 +f 23656//27416 24532//27417 11943//25011 +f 6903//6052 24139//22630 24404//24384 +f 26834//27418 26950//10377 11595//3162 +f 24608//24698 24528//24278 12169//24862 +f 24618//27419 24617//27396 24510//27395 +f 35702//4975 35558//198 35786//11060 +f 24618//27419 24738//14758 24737//27397 +f 24617//27396 24618//27419 24737//27397 +f 24738//14758 24863//27420 24862//27399 +f 24737//27397 24738//14758 24862//27399 +f 24863//27420 24991//27421 24990//27400 +f 24862//27399 24863//27420 24990//27400 +f 25124//27422 25123//27401 24990//27400 +f 24991//27421 25124//27422 24990//27400 +f 25262//22855 25261//27402 25123//27401 +f 25124//27422 25262//22855 25123//27401 +f 2953//22729 24345//22728 24759//16066 +f 25263//27423 25405//23081 25404//22856 +f 26109//26868 12190//23847 23429//25012 +f 24054//23149 25207//16067 24759//16066 +f 25739//25539 25881//24993 25880//15700 +f 23819//25992 28216//26887 24347//27096 +f 25596//4273 25597//14161 25738//25538 +f 23878//16477 25198//16686 25302//16478 +f 25593//37 1797//1503 25594//23802 +f 25064//26013 25065//5440 23720//5442 +f 20748//23558 23593//23557 20749//24550 +f 24722//26906 13367//25377 9086//14708 +f 12277//25341 25299//24501 20409//26933 +f 25473//25892 23921//27387 24838//25880 +f 20142//24500 24821//26620 24524//25238 +f 20409//26933 20142//24500 24524//25238 +f 25394//27424 12026//27425 12271//27382 +f 25095//25292 25394//27424 12271//27382 +f 12026//27425 23893//27406 12271//27382 +f 25369//8615 24906//23119 25308//23147 +f 21983//27376 12273//26798 22979//27407 +f 23760//8602 23816//24299 25353//25897 +f 25368//8603 25353//25897 22979//27407 +f 24167//27044 25368//8603 22979//27407 +f 23543//15914 25247//27342 24757//26860 +f 23761//24472 24362//24496 25253//23725 +f 25324//15926 25325//15925 24529//14648 +f 18046//3219 19002//21180 4687//3223 +f 26153//27326 26154//15768 26294//26621 +f 26012//15766 26154//15768 26153//27326 +f 24074//24296 23806//23093 23800//23131 +f 13011//25540 22877//25918 21795//25542 +f 12170//26727 24852//23091 21541//23129 +f 21973//16569 28879//2110 25914//2291 +f 26096//26647 24406//15631 23730//15632 +f 27553//13615 23323//16568 26506//27426 +f 24843//3137 24145//25160 24483//3138 +f 20662//27311 22487//24307 25216//8601 +f 24079//26254 24535//26253 23782//26257 +f 25426//26766 22290//25231 23782//26257 +f 24551//23589 23804//23592 24578//23896 +f 24817//15477 25301//23800 24696//15478 +f 20355//25352 23813//25351 20354//1465 +f 22106//25493 22199//27003 22105//25494 +f 24694//27257 24132//16476 24695//25183 +f 24968//25555 20843//23659 24979//25184 +f 24314//16287 24144//16286 24843//3137 +f 24453//27125 24367//23653 21161//27161 +f 24242//17106 24172//17107 11108//27347 +f 24860//17625 24758//26263 25776//27412 +f 5556//8364 23240//23090 6281//4139 +f 26083//12507 21448//17556 24604//27427 +f 25192//19533 28216//26887 23819//25992 +f 20682//26778 22368//27380 20600//27428 +f 24190//26921 24714//20907 25381//6593 +f 21061//26873 24261//25308 23705//25310 +f 28070//20406 14359//351 13755//27429 +f 8231//11031 35546//1285 27520//15784 +f 23933//24530 25009//24532 25158//26993 +f 20222//27430 23933//24530 25158//26993 +f 24806//25887 24764//25889 23980//26179 +f 24805//26178 24806//25887 23980//26179 +f 25470//25601 25464//25765 24090//24874 +f 24096//24873 25470//25601 24090//24874 +f 28347//27431 24113//26544 25462//24875 +f 26622//17115 26518//6273 11465//8200 +f 26255//23651 23567//24005 24372//25331 +f 26077//17711 23732//22048 24643//25005 +f 18519//21109 18422//15117 22057//22483 +f 15813//18829 24359//14151 13622//15123 +f 14559//19251 14650//18803 7918//10795 +f 25185//17918 12967//17840 13061//17881 +f 35640//1598 35865//3724 35464//7143 +f 9277//9439 2776//5707 9390//14083 +f 26966//27432 17458//20646 13224//27433 +f 25939//5300 2904//13742 10759//15252 +f 25223//27080 24102//27039 21359//26087 +f 25328//25479 25329//27081 21779//17757 +f 24308//25164 26101//23171 24309//23672 +f 24660//23549 24963//25919 24945//27351 +f 25813//26795 24495//26754 23412//26924 +f 23754//26999 24680//14653 25202//26962 +f 24125//15513 24124//15512 24856//27381 +f 25226//26688 25069//26942 21636//26843 +f 23739//27434 23735//16538 24525//7144 +f 24461//17275 22782//26676 23781//26256 +f 24279//14152 23739//27434 24525//7144 +f 23739//27434 24925//27435 24924//27222 +f 23735//16538 23739//27434 24924//27222 +f 24925//27435 26011//27436 26010//27223 +f 25020//25334 25330//25415 25329//27081 +f 24100//25046 24097//25660 25589//25659 +f 31593//14045 31592//25870 31505//22111 +f 26202//25977 25584//25661 24113//26544 +f 23536//25722 23537//27372 23834//26618 +f 23547//23199 24541//24749 23834//26618 +f 24475//26651 21516//23842 23525//26828 +f 25024//26658 24475//26651 23792//26898 +f 1538//23553 22531//23555 20028//14693 +f 24585//14692 1538//23553 20028//14693 +f 25788//27437 25931//25593 26001//24376 +f 23838//24983 26261//26774 26121//23791 +f 26081//27390 25424//24989 25282//22707 +f 31506//25113 31505//22111 31433//14656 +f 25958//25836 24730//23664 26100//25163 +f 25925//27220 23595//27438 26102//17588 +f 25827//27122 25534//25041 24258//27065 +f 25375//17110 24548//10121 24544//27012 +f 25281//22543 25568//23161 30229//22708 +f 24988//17104 25000//8204 26140//23153 +f 2808//14759 24738//14758 24618//27419 +f 24738//14758 24739//14760 24863//27420 +f 24992//27439 24991//27421 24863//27420 +f 24864//27440 24992//27439 24863//27420 +f 24992//27439 25125//27441 25124//27422 +f 24991//27421 24992//27439 25124//27422 +f 25125//27441 25263//27423 25262//22855 +f 25124//27422 25125//27441 25262//22855 +f 25405//23081 25406//22531 12692//27442 +f 25262//22855 25263//27423 25404//22856 +f 20680//27238 24781//26844 24741//26823 +f 23981//27375 24278//25783 24902//2211 +f 24706//23654 25155//24503 21247//24492 +f 25637//27163 20680//27238 24741//26823 +f 21247//24492 13561//24526 24944//25340 +f 13561//24526 25211//27443 24944//25340 +f 24944//25340 25211//27443 12277//25341 +f 25211//27443 25299//24501 12277//25341 +f 24821//26620 25394//27424 25095//25292 +f 25299//24501 20142//24500 20409//26933 +f 25641//24806 23675//24310 24358//23675 +f 24524//25238 24821//26620 25095//25292 +f 25641//24806 24358//23675 26201//24374 +f 24284//24807 25641//24806 26201//24374 +f 24284//24807 26201//24374 25485//24373 +f 23675//24310 24630//26957 24358//23675 +f 25368//8603 23760//8602 25353//25897 +f 22486//25791 24284//24807 25485//24373 +f 22486//25791 25485//24373 23816//24299 +f 23760//8602 22486//25791 23816//24299 +f 35819//2548 35641//8166 35503//2549 +f 31560//15401 26612//20158 26723//25473 +f 25364//23559 23761//24472 25253//23725 +f 24362//24496 23543//15914 23579//23726 +f 24378//15735 21182//17167 24379//25547 +f 21794//26720 22173//24924 23914//26977 +f 25610//27444 25611//25703 25752//25705 +f 21277//26124 27382//21099 21367//16872 +f 25689//27445 25547//27446 24440//27447 +f 23712//22935 30233//27448 25571//18765 +f 24868//27449 25319//16570 25547//27446 +f 25689//27445 24868//27449 25547//27446 +f 2546//27450 23323//16568 24669//24173 +f 24868//27449 23323//16568 25319//16570 +f 24326//26669 23925//24297 24134//23152 +f 25959//25986 22296//24984 23538//17466 +f 25958//25836 26100//25163 23724//25162 +f 23781//26256 25426//26766 23782//26257 +f 25515//17336 23493//17409 24562//17337 +f 24562//17337 23493//17409 25228//17411 +f 11976//9906 24657//9115 4382//24215 +f 35374//2478 30621//22554 19937//14697 +f 12800//16026 23730//15632 12799//15562 +f 20159//18537 20074//24180 20160//24179 +f 22197//18040 24314//16287 9636//3136 +f 24144//16286 24145//25160 24843//3137 +f 24172//17107 24860//17625 25776//27412 +f 24860//17625 25957//27325 23987//26168 +f 29494//21993 35484//1437 35388//4417 +f 20264//23202 23517//24117 25098//24178 +f 25030//25548 25031//27061 24078//25884 +f 24018//25643 25030//25548 24078//25884 +f 26091//27451 26092//27187 12024//26892 +f 24303//787 24632//22579 24633//785 +f 23593//23557 20750//17393 20749//24550 +f 26233//24551 22494//26859 25036//27059 +f 24764//25889 23933//24530 20222//27430 +f 23980//26179 24764//25889 20222//27430 +f 24260//23681 24388//23619 24900//25978 +f 23058//24531 24260//23681 24900//25978 +f 25151//25790 24948//24375 25070//25081 +f 24388//23619 26213//23621 26214//27452 +f 25151//25790 25787//25780 24948//24375 +f 24941//25478 25151//25790 25070//25081 +f 25787//25780 25104//24872 25788//27437 +f 25104//24872 24971//27453 25788//27437 +f 17823//21326 496//7383 382//7382 +f 25609//27209 25751//27042 25750//23851 +f 24924//27222 24925//27435 26010//27223 +f 24148//27454 20743//27235 26010//27223 +f 26011//27436 24148//27454 26010//27223 +f 25436//27455 25579//27236 20743//27235 +f 24675//18669 15536//18668 15535//16307 +f 23672//24308 23675//24310 25641//24806 +f 24495//26754 25955//26753 22396//27146 +f 25626//17087 21454//17086 7931//27079 +f 24746//22206 23780//23765 25656//27456 +f 23376//25142 23472//25143 23375//25140 +f 23859//131 25422//25490 24291//25492 +f 22396//27146 25791//27268 23703//26850 +f 24612//26839 23584//26918 20824//24877 +f 23507//27179 12624//26700 25317//25657 +f 24148//27454 25436//27455 20743//27235 +f 23793//27457 24776//27248 25579//27236 +f 25436//27455 23793//27457 25579//27236 +f 25481//25893 21160//26734 23861//26713 +f 23684//27458 23686//27249 24776//27248 +f 24730//23664 24477//25724 26100//25163 +f 31367//3527 31366//3529 31299//4148 +f 23542//16660 20415//16659 20501//26878 +f 21795//25542 24926//25633 13462//25543 +f 24294//24528 24222//24883 22369//22928 +f 24959//7150 26681//7152 26680//18124 +f 31369//16978 31436//9449 31368//16979 +f 5091//3227 19768//20614 4955//3018 +f 25237//24177 26234//24378 25777//24191 +f 24471//24379 11942//24596 24282//24188 +f 26069//24598 24583//17468 24735//24458 +f 25777//24191 24471//24379 24282//24188 +f 22390//26950 22294//24527 24735//24458 +f 25479//24189 26069//24598 24735//24458 +f 24908//26949 23649//24987 22294//24527 +f 24583//17468 22390//26950 24735//24458 +f 19985//17629 16167//27131 24765//25708 +f 22390//26950 24908//26949 22294//24527 +f 25792//26776 26796//27459 25341//17357 +f 23605//23095 24223//24493 24619//24495 +f 24908//26949 25341//17357 23649//24987 +f 24187//26911 26003//26837 24877//25242 +f 24864//27440 28996//26596 24865//27460 +f 24863//27420 24739//14760 24864//27440 +f 24993//27461 25126//27462 25125//27441 +f 24992//27439 24993//27461 25125//27441 +f 25126//27462 25264//23082 25263//27423 +f 25125//27441 25126//27462 25263//27423 +f 31173//10376 31237//22491 31236//22885 +f 25263//27423 25264//23082 25405//23081 +f 21916//23097 24217//21859 25373//21861 +f 25097//10891 20680//27238 25637//27163 +f 24781//26844 23883//27182 12451//27463 +f 29019//27411 23779//21459 28884//15490 +f 24743//26845 24830//5753 23491//24461 +f 23581//5751 21628//14999 24141//5752 +f 21094//26824 24743//26845 22010//24460 +f 24830//5753 24141//5752 23491//24461 +f 21094//26824 22010//24460 24630//26957 +f 23675//24310 21094//26824 24630//26957 +f 24971//27453 30809//27464 19478//27465 +f 24743//26845 23491//24461 22010//24460 +f 24569//16017 23795//15922 23865//9381 +f 24382//26784 24383//24876 20986//24878 +f 24150//16373 24153//24692 25490//23909 +f 35842//7156 29685//6336 35829//1946 +f 23618//24634 23888//27466 25068//23824 +f 20748//23558 20747//26107 23761//24472 +f 23982//25089 24569//16017 23865//9381 +f 23795//15922 24316//26884 25686//9382 +f 24002//27391 23943//20364 20201//26462 +f 24605//26827 23650//23903 25033//23593 +f 25111//5441 24922//24057 24921//17367 +f 24088//25766 24055//27467 25184//22913 +f 24811//17168 12998//24151 21268//17169 +f 23620//27468 23970//25721 25676//27105 +f 25689//27445 24440//27447 15027//27469 +f 24440//27447 22236//27470 202//27471 +f 25304//27472 25689//27445 15027//27469 +f 23776//27473 25304//27472 15027//27469 +f 24731//27474 24868//27449 25689//27445 +f 25304//27472 24731//27474 25689//27445 +f 31107//15002 31108//22783 31170//14946 +f 24731//27474 24669//24173 24868//27449 +f 25426//26766 25006//23794 23555//25233 +f 25006//23794 24897//23793 23555//25233 +f 22290//25231 25426//26766 23555//25233 +f 24897//23793 23724//25162 23555//25233 +f 24139//22630 14970//22061 23251//17130 +f 21729//17177 22448//25700 24403//17099 +f 22368//27380 24125//15513 12996//23761 +f 24627//27159 21539//27164 23672//24308 +f 337//11074 23621//25416 23992//26877 +f 25295//18670 23774//24868 23767//23723 +f 23858//23663 25519//25595 9636//3136 +f 24314//16287 24843//3137 9636//3136 +f 24758//26263 24860//17625 23987//26168 +f 25957//27325 25377//25991 24105//25596 +f 25237//24177 25777//24191 16598//23955 +f 24935//24716 24936//25777 20018//27098 +f 21449//25759 21358//25504 25031//27061 +f 25030//25548 21449//25759 25031//27061 +f 24691//25758 24692//27475 25535//25642 +f 14274//23749 20739//23751 25927//25760 +f 20739//23751 12446//26849 25929//25762 +f 25535//25642 14274//23749 25927//25760 +f 25470//25601 24539//25770 25361//25886 +f 25464//25765 25470//25601 25361//25886 +f 24900//25978 24388//23619 26214//27452 +f 26213//23621 24941//25478 25070//25081 +f 23241//14413 24008//17511 23143//25257 +f 25594//23802 25736//23803 25735//25899 +f 23580//25775 216//25551 24263//25781 +f 24289//25970 25567//27169 25566//19849 +f 22563//26787 24186//25640 24124//15512 +f 216//25551 24262//25782 24263//25781 +f 25118//24171 24669//24173 24731//27474 +f 23872//25910 337//11074 23992//26877 +f 23793//27457 23684//27458 24776//27248 +f 9747//10848 21915//27148 23763//23406 +f 24348//27476 23616//27264 23686//27249 +f 23684//27458 24348//27476 23686//27249 +f 25058//27477 25057//27266 23616//27264 +f 12420//7249 23713//2980 12509//7133 +f 21160//26734 21246//27119 23861//26713 +f 14522//18381 2268//18387 828//18379 +f 25088//27075 25790//27045 25791//27268 +f 20222//27430 25158//26993 25524//26992 +f 26101//23171 25449//23173 24309//23672 +f 31748//22709 11459//10649 11458//4033 +f 24222//24883 25035//22927 22369//22928 +f 24348//27476 25058//27477 23616//27264 +f 26097//26748 15406//27040 21454//17086 +f 24206//27478 23519//27267 25057//27266 +f 25058//27477 24206//27478 25057//27266 +f 24262//25782 20816//26855 11750//24801 +f 25176//27479 25175//27277 23519//27267 +f 25907//26961 26049//26970 25906//26889 +f 20987//26605 22449//23728 24050//26912 +f 16464//21074 22847//26008 22946//21075 +f 32020//26716 32120//23126 32119//23125 +f 12169//24862 12170//26727 21541//23129 +f 24067//21513 26685//19785 24066//19784 +f 25706//17066 25849//27480 25848//27481 +f 16109//18271 7005//18253 14745//18806 +f 31045//9641 31046//16550 31107//15002 +f 28351//27482 25134//26730 25132//16130 +f 11942//24596 26069//24598 25479//24189 +f 24282//24188 11942//24596 25479//24189 +f 24032//4968 24092//25322 24031//17042 +f 12640//14707 25713//25664 13080//25154 +f 24982//24007 24985//25336 24416//25901 +f 20015//18735 24775//18703 23758//23724 +f 23751//2196 24434//2195 25545//23105 +f 24416//25901 23979//27254 23566//24638 +f 24310//27483 24896//23897 22564//27484 +f 28248//22488 25039//17227 24127//23783 +f 22466//23784 25039//17227 22564//27484 +f 21161//27161 24200//23655 24107//27162 +f 25831//24934 25973//8593 23733//8595 +f 7004//23905 23755//27193 25633//26162 +f 30816//27367 30817//27485 25241//27366 +f 31752//27486 31858//27487 24159//16226 +f 24994//27488 25127//9436 25126//27462 +f 24993//27461 24994//27488 25126//27462 +f 25127//9436 25265//9435 25264//23082 +f 25126//27462 25127//9436 25264//23082 +f 31048//4731 31110//3915 31109//18898 +f 31046//16550 31045//9641 30984//9640 +f 35670//2150 35740//4440 35902//14823 +f 25875//26870 25876//25900 26017//27103 +f 33337//2451 35866//17943 35227//21620 +f 31688//14044 31687//25560 31592//25870 +f 21913//24864 24405//17077 23550//26084 +f 6284//2833 6285//2832 6412//3046 +f 26064//16406 25067//2742 25066//25675 +f 23631//25646 24137//15736 23630//25644 +f 25077//16351 23178//27489 25141//16352 +f 24948//24375 25788//27437 26001//24376 +f 24819//27316 24040//26180 23659//27490 +f 24610//24930 24459//24929 25512//26164 +f 24728//26082 24040//26180 24819//27316 +f 24709//17013 24728//26082 24819//27316 +f 20885//27491 25524//26992 25384//27319 +f 24040//26180 20885//27491 23659//27490 +f 25461//26744 25463//25767 22560//16771 +f 25162//25768 24728//26082 24709//17013 +f 24088//25766 25463//25767 24055//27467 +f 22560//16771 25162//25768 24709//17013 +f 27026//26729 28350//26728 25184//22913 +f 25463//25767 25162//25768 22560//16771 +f 23079//27492 25085//27493 25084//27494 +f 25463//25767 25461//26744 24055//27467 +f 25084//27494 22981//27495 23079//27492 +f 31993//21172 31992//15372 31891//11091 +f 22981//27495 24322//27496 23776//27473 +f 23079//27492 22981//27495 23776//27473 +f 23642//27497 25304//27472 23776//27473 +f 24322//27496 23642//27497 23776//27473 +f 25118//24171 24731//27474 25304//27472 +f 23642//27497 25118//24171 25304//27472 +f 31171//15742 31235//22270 31234//15743 +f 19529//14106 21063//15176 19383//21240 +f 25333//26935 25332//26936 25202//26962 +f 30672//27498 30673//27499 25367//14499 +f 24789//26639 25333//26935 25202//26962 +f 24438//16645 25431//24269 25101//24927 +f 23782//26257 22290//25231 25316//25230 +f 13177//27141 23782//26257 25316//25230 +f 25142//25354 25143//25537 24920//17368 +f 23921//27387 24809//25086 24808//25085 +f 24775//18703 25295//18670 23767//23723 +f 23774//24868 24977//24870 24976//27500 +f 23554//26264 26056//23662 25816//26944 +f 23988//26262 23554//26264 25816//26944 +f 23987//26168 25957//27325 24105//25596 +f 25377//25991 22103//17631 22102//18038 +f 16004//20287 16146//9294 16145//820 +f 9543//13155 11410//13790 9533//14375 +f 23583//24150 25094//25505 21358//25504 +f 21449//25759 23583//24150 21358//25504 +f 14841//27314 15740//27501 24691//25758 +f 24692//27475 14274//23749 25535//25642 +f 25590//1883 25732//26276 25731//1884 +f 13051//7255 12958//8359 13052//7256 +f 24539//25770 24806//25887 24805//26178 +f 25361//25886 24539//25770 24805//26178 +f 26214//27452 26213//23621 25070//25081 +f 25787//25780 25788//27437 24948//24375 +f 11752//26853 24984//17558 22386//17560 +f 23502//26608 21985//25499 26058//17348 +f 24014//17211 24968//25555 26230//17212 +f 14942//18807 24056//18808 24115//19377 +f 23862//18481 24035//22697 25775//25890 +f 26671//6180 23598//24814 25224//24813 +f 25109//26917 25379//26986 24622//26987 +f 25343//27502 23862//18481 25775//25890 +f 9653//10368 7074//21703 35758//9468 +f 20682//26778 22107//25756 22368//27380 +f 24206//27478 25176//27479 23519//27267 +f 13092//2393 564//2392 22//16266 +f 25284//27503 25285//27278 25175//27277 +f 25176//27479 25284//27503 25175//27277 +f 24574//26799 25383//26804 22201//26800 +f 25645//27293 28115//27504 28116//27505 +f 24736//27398 24861//21862 35627//10328 +f 23920//23738 24871//15659 23857//15661 +f 10759//15252 24607//5407 25939//5300 +f 24736//27398 35627//10328 12917//17276 +f 26600//15094 26704//27506 22008//27241 +f 22488//27030 22391//15464 23759//15466 +f 25284//27503 25645//27293 25285//27278 +f 26065//16407 26064//16406 25066//25675 +f 13177//27141 25316//25230 24415//27251 +f 14840//27178 11753//26840 24364//26940 +f 23768//27337 25182//27507 24496//25497 +f 25969//27074 25335//23596 22781//26637 +f 13060//14815 13154//9265 13153//9257 +f 25977//25665 23572//26705 25025//25372 +f 13153//9257 13754//24663 13060//14815 +f 24441//24798 24695//25183 24817//15477 +f 27258//23041 24067//21513 24068//17509 +f 24007//17510 24067//21513 24006//23819 +f 23504//15473 26118//24348 26258//27213 +f 2232//6916 2104//9958 16847//2106 +f 16443//7948 25612//25829 25469//27289 +f 24708//26654 23976//25210 24037//25209 +f 12276//23541 25204//23895 24310//27483 +f 24896//23897 22466//23784 22564//27484 +f 24215//23949 25204//23895 24772//23540 +f 25204//23895 24896//23897 24310//27483 +f 23714//25496 23768//27337 24496//25497 +f 24248//27508 24481//25557 24496//25497 +f 25182//27507 24248//27508 24496//25497 +f 24210//27509 24283//25558 24481//25557 +f 24248//27508 24210//27509 24481//25557 +f 20516//27510 24311//25559 24283//25558 +f 23948//23950 24215//23949 12445//25459 +f 25204//23895 12276//23541 24772//23540 +f 22105//25494 25662//26740 26331//26742 +f 23537//27372 23666//25896 23890//23200 +f 25747//27282 25748//25421 25889//24858 +f 25000//8204 26141//23154 26140//23153 +f 29279//27511 27286//2267 27287//19823 +f 24993//27461 24865//27460 24866//23008 +f 31237//22491 31302//18073 31236//22885 +f 25000//8204 24988//17104 23784//14295 +f 27024//6826 29495//3031 35531//3033 +f 31172//18899 31173//10376 31236//22885 +f 25408//21531 25551//27512 25550//25979 +f 25406//22531 25264//23082 25265//9435 +f 25551//27512 25693//27513 25692//25980 +f 25550//25979 25551//27512 25692//25980 +f 25835//23010 25694//27514 25836//27515 +f 28592//23012 25834//27516 25835//23010 +f 25172//25078 25206//25080 25345//26874 +f 22533//27517 25172//25078 25345//26874 +f 23659//27490 20885//27491 25384//27319 +f 25524//26992 25172//25078 22533//27517 +f 24576//27234 24579//27018 25799//26066 +f 25384//27319 25524//26992 22533//27517 +f 34326//27518 34327//27365 6883//12397 +f 25801//26067 20347//25883 23826//25882 +f 24465//5623 26899//14958 26784//5620 +f 26189//26890 26330//26609 26188//16790 +f 3053//21119 24943//27519 2671//21117 +f 25499//5770 21267//27520 28862//27521 +f 23909//27522 25014//27523 24943//27519 +f 21267//27520 12193//27524 3053//21119 +f 25085//27493 25015//23013 25084//27494 +f 12193//27524 23909//27522 24943//27519 +f 25797//27525 25084//27494 25014//27523 +f 23909//27522 25797//27525 25014//27523 +f 24542//27526 22981//27495 25084//27494 +f 25797//27525 24542//27526 25084//27494 +f 24542//27526 24640//27527 24322//27496 +f 22981//27495 24542//27526 24322//27496 +f 20925//27528 23642//27497 24322//27496 +f 24640//27527 20925//27528 24322//27496 +f 22862//27529 25118//24171 23642//27497 +f 20925//27528 22862//27529 23642//27497 +f 24971//27453 19478//27465 25931//25593 +f 31893//17313 31892//25527 31786//22789 +f 24501//17939 13333//5303 10579//5298 +f 25364//23559 25253//23725 25254//26879 +f 25127//9436 35522//9148 35900//9437 +f 24949//17192 21448//17556 26083//12507 +f 24079//26254 23782//26257 13177//27141 +f 23723//27140 24079//26254 13177//27141 +f 26047//26810 26189//26890 26046//26891 +f 23679//25325 24192//24594 24218//23282 +f 23600//24899 25164//23600 25573//27115 +f 4546//25240 9635//25800 12274//25241 +f 23554//26264 25519//25595 23858//23663 +f 26056//23662 23554//26264 23858//23663 +f 24105//25596 25377//25991 22102//18038 +f 11946//17620 24369//18039 22102//18038 +f 24726//15206 24652//21670 20414//26973 +f 26079//24398 21633//27530 21820//27531 +f 26718//21437 26829//25107 24143//24149 +f 23583//24150 24143//24149 25094//25505 +f 23494//27346 24534//27532 14841//27314 +f 15740//27501 24692//27475 24691//25758 +f 25732//26276 25874//27230 25873//27206 +f 25731//1884 25732//26276 25873//27206 +f 12361//23764 24017//16168 4383//23563 +f 26164//25419 26165//25418 26305//26880 +f 25938//5200 23654//25404 24913//5198 +f 26306//26975 12361//23764 24046//23763 +f 25864//26625 24547//26622 21074//23550 +f 24266//26954 24984//17558 11752//26853 +f 23888//27466 23618//24634 23721//24597 +f 25343//27502 25775//25890 25322//24815 +f 23535//25932 23835//27533 23665//17471 +f 24816//24700 23601//17397 23836//17472 +f 25199//27315 20017//16377 24844//27383 +f 23535//25932 23665//17471 24844//27383 +f 26307//27328 26308//25236 21181//27329 +f 24734//27150 24441//24798 23950//15476 +f 22062//27534 24489//8732 23893//27406 +f 21181//27329 24734//27150 23950//15476 +f 25759//25264 25902//27167 25901//25267 +f 4019//19493 4681//19568 14695//20442 +f 24725//17650 24605//26827 25033//23593 +f 24031//17042 20411//20914 23971//25212 +f 23488//25718 24855//25717 23542//16660 +f 25222//15465 22662//27184 22563//26787 +f 24210//27509 20516//27510 24283//25558 +f 20516//27510 24812//27535 24224//25598 +f 25769//19983 24414//19199 11771//20377 +f 25966//25013 25824//26819 23673//26858 +f 25517//27536 25441//27338 23493//17409 +f 25320//23121 24905//23120 24167//27044 +f 13178//14929 15584//20379 15583//20338 +f 27989//27537 2808//14759 24618//27419 +f 24185//26692 24867//25321 25069//26942 +f 25383//26804 22199//27003 22106//25493 +f 481//5576 482//5733 7772//6018 +f 34409//14854 34546//17622 34408//17623 +f 13246//3530 24750//9948 25948//24676 +f 24311//25559 20516//27510 24224//25598 +f 24068//17509 24008//17511 14849//27538 +f 24855//25717 25116//27294 23623//27004 +f 24406//15631 12983//14260 12890//7131 +f 14359//351 24204//20407 14374//18430 +f 24273//23626 24708//26654 24037//25209 +f 29492//4254 22003//27539 22099//26653 +f 23662//23142 23948//23950 23614//23143 +f 24215//23949 24772//23540 12445//25459 +f 24126//26932 23619//25600 24224//25598 +f 24812//27535 24126//26932 24224//25598 +f 24762//26931 12996//23761 25514//23762 +f 23619//25600 24126//26932 24230//6061 +f 25209//23786 22882//23645 22980//25117 +f 25016//15481 24580//15480 24208//20239 +f 12516//17530 28008//17038 12427//17040 +f 25932//27170 30818//27540 3625//27541 +f 35190//23547 7000//13006 35189//18349 +f 21912//26711 23731//26846 24353//23746 +f 11476//16234 31018//19707 11477//16421 +f 25606//15503 25748//25421 25747//27282 +f 31595//14630 31690//17866 31594//17460 +f 24994//27488 24995//3455 25127//9436 +f 25407//11194 35900//9437 25266//13154 +f 31302//18073 31301//16980 31236//22885 +f 25267//9655 25409//27542 25408//21531 +f 25266//13154 25267//9655 25408//21531 +f 25409//27542 25552//27543 25551//27512 +f 25408//21531 25409//27542 25551//27512 +f 25552//27543 25694//27514 25693//27513 +f 25551//27512 25552//27543 25693//27513 +f 25836//27515 25695//27544 25837//18767 +f 25693//27513 25694//27514 25835//23010 +f 25203//25338 24727//25337 24497//24301 +f 26200//26088 25772//17646 25629//24231 +f 25709//25451 25720//25450 25863//25772 +f 24727//25337 23648//24302 24497//24301 +f 26257//26674 21794//26720 26070//25966 +f 25954//26948 15187//5588 9282//5587 +f 22080//25328 24526//26673 24926//25633 +f 21795//25542 22080//25328 24926//25633 +f 24526//26673 26257//26674 26117//25634 +f 24926//25633 24526//26673 26117//25634 +f 24549//27545 21267//27520 24189//27546 +f 25499//5770 24189//27546 21267//27520 +f 15319//27547 12193//27524 21267//27520 +f 24549//27545 15319//27547 21267//27520 +f 22172//27548 23909//27522 12193//27524 +f 15319//27547 22172//27548 12193//27524 +f 22172//27548 25110//27549 25797//27525 +f 23909//27522 22172//27548 25797//27525 +f 23692//27550 24542//27526 25797//27525 +f 25110//27549 23692//27550 25797//27525 +f 23692//27550 23710//27551 24640//27527 +f 24542//27526 23692//27550 24640//27527 +f 21513//27552 20925//27528 24640//27527 +f 23710//27551 21513//27552 24640//27527 +f 24519//27553 22862//27529 20925//27528 +f 21513//27552 24519//27553 20925//27528 +f 31787//17314 31893//17313 31786//22789 +f 24519//27553 24667//27554 22862//27529 +f 26237//27373 23646//26258 23723//27140 +f 24455//4616 24667//27554 24456//21636 +f 24839//23758 24840//23757 23977//27405 +f 12355//27261 23646//26258 26237//27373 +f 23646//26258 24079//26254 23723//27140 +f 23977//27405 12355//27261 26237//27373 +f 21793//23281 23679//25325 24218//23282 +f 14522//18381 15655//18376 24250//18377 +f 26208//25215 26209//23601 23600//24899 +f 25164//23600 25572//18764 25573//27115 +f 25519//25595 22197//18040 9636//3136 +f 21633//27530 25978//27306 25640//27305 +f 20885//27491 20222//27430 25524//26992 +f 17087//25000 24589//27072 24813//26707 +f 24913//5198 24970//4645 26572//6606 +f 24938//27310 24939//24936 13805//3145 +f 25742//27156 25884//17450 25883//27324 +f 12361//23764 21181//27329 24017//16168 +f 26155//24424 26296//27555 26295//27378 +f 26154//15768 26155//24424 26295//27378 +f 25874//27230 26016//27102 26015//27556 +f 25873//27206 25874//27230 26015//27556 +f 25437//27557 24220//27377 23935//27313 +f 26305//26880 26306//26975 24046//23763 +f 24681//3144 24938//27310 13805//3145 +f 25181//27340 24343//24937 24939//24936 +f 25501//17359 25357//17109 25375//17110 +f 9390//14083 2776//5707 2777//5706 +f 26469//25066 25322//24815 23598//24814 +f 4194//64 17248//63 25597//14161 +f 23179//16376 23535//25932 24844//27383 +f 23835//27533 23836//17472 23665//17471 +f 24285//21744 13270//23840 24469//23841 +f 13270//23840 24160//25120 24156//23151 +f 25509//23133 25511//17335 24564//23106 +f 26288//8729 13270//23840 24156//23151 +f 24871//15659 23978//23906 24503//15660 +f 24562//17337 25228//17411 25212//23107 +f 23978//23906 10979//26163 24503//15660 +f 2//18907 4244//17067 25706//17066 +f 25350//26863 25211//27443 13561//24526 +f 24772//23540 23609//23542 12358//24635 +f 13172//15564 13077//14262 13078//16468 +f 23726//23720 24653//16024 23750//16023 +f 22201//26800 22106//25493 26192//26945 +f 26321//26706 20825//16644 24629//16643 +f 26193//25401 22201//26800 26192//26945 +f 12693//17816 25354//15229 12694//17321 +f 25357//17109 24752//27092 24165//10119 +f 23527//26644 20845//26643 23822//27009 +f 21915//27148 23527//26644 23822//27009 +f 26051//25402 26193//25401 26050//26960 +f 21915//27148 23822//27009 24703//23407 +f 595//5459 480//5458 481//5576 +f 24208//20239 25209//23786 22980//25117 +f 24054//23149 26057//16469 25207//16067 +f 31504//22112 31591//5908 31503//451 +f 4546//25240 20907//25291 23727//8596 +f 24903//26741 24689//24996 25719//24998 +f 23241//14413 24069//14412 24008//17511 +f 20417//24316 20503//24393 20502//24317 +f 25964//25014 25966//25013 24628//26615 +f 23673//26858 24266//26954 25201//26852 +f 24708//26654 22003//27539 23976//25210 +f 25597//14161 25739//25539 25738//25538 +f 24875//24116 24880//24115 21424//23114 +f 25169//23115 24825//23146 24951//23116 +f 11108//27347 25776//27412 24155//26675 +f 23974//25556 23970//25721 23620//27468 +f 24758//26263 23988//26262 24962//26077 +f 13958//24060 24130//23122 24412//23124 +f 32953//27558 32952//27559 32844//27560 +f 23763//23406 21915//27148 24703//23407 +f 34806//4855 34935//4854 34805//25111 +f 25272//15153 12753//2962 12140//15154 +f 32729//16934 32728//21624 32614//21623 +f 24570//27561 21815//26721 21720//26836 +f 5405//3992 19253//22117 5540//8928 +f 31896//16057 31895//17493 31789//16058 +f 31790//16056 31789//16058 31689//14043 +f 25130//8925 25268//10548 25267//9655 +f 35499//3672 35831//3671 11237//6144 +f 25268//10548 25410//27562 25409//27542 +f 25267//9655 25268//10548 25409//27542 +f 25410//27562 25553//27563 25552//27543 +f 25409//27542 25410//27562 25552//27543 +f 25553//27563 25695//27544 25694//27514 +f 25552//27543 25553//27563 25694//27514 +f 26795//10788 12008//10790 23604//22429 +f 25694//27514 25695//27544 25836//27515 +f 25324//15926 22685//26064 23923//26065 +f 23914//26977 25324//15926 23923//26065 +f 26117//25634 26257//26674 26070//25966 +f 23914//26977 23923//26065 26070//25966 +f 14512//25785 25815//26173 25477//25786 +f 21794//26720 23914//26977 26070//25966 +f 22681//25878 23499//25638 25200//25639 +f 24853//26817 24188//25214 24740//25213 +f 24189//27546 17483//27564 24549//27545 +f 14235//27565 17483//27564 13174//23301 +f 24082//27566 24549//27545 17483//27564 +f 14235//27565 24082//27566 17483//27564 +f 25930//27567 15319//27547 24549//27545 +f 24082//27566 25930//27567 24549//27545 +f 25930//27567 3332//27568 22172//27548 +f 15319//27547 25930//27567 22172//27548 +f 3332//27568 24331//27569 25110//27549 +f 22172//27548 3332//27568 25110//27549 +f 24331//27569 22078//27570 23692//27550 +f 25110//27549 24331//27569 23692//27550 +f 22078//27570 26256//27571 23710//27551 +f 23692//27550 22078//27570 23710//27551 +f 23471//27572 21513//27552 23710//27551 +f 26256//27571 23471//27572 23710//27551 +f 21090//27573 24519//27553 21513//27552 +f 23471//27572 21090//27573 21513//27552 +f 22467//27574 24667//27554 24519//27553 +f 21090//27573 22467//27574 24519//27553 +f 24456//21636 22467//27574 24909//14923 +f 22467//27574 24456//21636 24667//27554 +f 24346//19024 24469//23841 23707//8731 +f 10266//16271 24733//16888 12457//16887 +f 23925//24297 23745//23130 24749//25916 +f 23657//27240 25232//25985 24595//24887 +f 34547//1343 34546//17622 34409//14854 +f 27143//17995 13392//2626 8231//11031 +f 20414//26973 20415//16659 24446//16661 +f 26006//16647 504//1341 2148//327 +f 1074//6160 19122//6099 955//6161 +f 21820//27531 21633//27530 25640//27305 +f 24450//25895 24296//15205 24726//15206 +f 35776//17676 11809//19592 35732//19219 +f 11836//24399 26079//24398 21820//27531 +f 23688//27575 15112//8024 23742//16758 +f 24823//23785 25444//16037 25231//25008 +f 30814//21851 25242//21850 25527//16036 +f 26296//27555 24534//27532 23494//27346 +f 26295//27378 26296//27555 23494//27346 +f 26016//27102 26158//24452 26157//24453 +f 26015//27556 26016//27102 26157//24453 +f 24089//20202 25247//27342 23543//15914 +f 23624//15913 24089//20202 23543//15914 +f 24938//27310 25181//27340 24939//24936 +f 25642//27231 25643//24939 24343//24937 +f 22062//27534 23893//27406 12026//27425 +f 12025//27576 22062//27534 12026//27425 +f 12799//15562 23730//15632 12891//15563 +f 25998//17098 24823//23785 25346//27237 +f 25302//16478 25198//16686 25301//23800 +f 25198//16686 20017//16377 25199//27315 +f 24160//25120 25511//17335 25509//23133 +f 24156//23151 24160//25120 25509//23133 +f 23844//27577 23902//27578 23901//2444 +f 24449//17287 23080//25378 23928//26628 +f 25504//26260 25975//25635 23708//26261 +f 23691//23186 25714//14798 23645//14800 +f 25761//26070 16150//3211 16149//26671 +f 24758//26263 23987//26168 23554//26264 +f 12982//17283 13076//15566 13075//17569 +f 30814//21851 25527//16036 30813//27579 +f 21240//21499 27725//13010 21328//13009 +f 25954//26948 23763//23406 24910//23408 +f 25662//26740 24688//26631 24903//26741 +f 23648//24302 24385//26761 24769//26698 +f 23651//17951 19988//26746 24577//21668 +f 12904//2569 11944//27322 17304//2567 +f 12625//26981 21918//27006 25170//26815 +f 14396//8748 23996//18385 24056//18808 +f 25735//25899 25736//23803 25877//24942 +f 24592//17000 7931//27079 12718//17001 +f 24435//26613 24352//27026 24711//26614 +f 17564//15669 15869//15361 19934//15360 +f 26221//15921 22763//26783 24316//26884 +f 26388//14714 24408//14713 27895//24541 +f 25950//27104 25370//17392 20667//17394 +f 25451//23544 21424//23114 23799//23823 +f 11926//17223 27198//16164 11840//16163 +f 25148//16684 24677//25181 24929//25180 +f 23153//24723 23636//22512 23055//24666 +f 25158//26993 24184//25079 25172//25078 +f 25776//27412 24758//26263 24962//26077 +f 24928//24382 25148//16684 24929//25180 +f 23801//27580 23622//23692 25647//23694 +f 23754//26999 25202//26962 24504//25332 +f 24473//24372 11615//24114 24205//14012 +f 25428//14011 24473//24372 24205//14012 +f 19176//3791 19177//21408 19281//20043 +f 21335//15479 24967//23646 24580//15480 +f 1327//19562 24000//27297 16945//19573 +f 25586//26011 24521//25931 27982//10789 +f 32615//27581 32729//16934 32614//21623 +f 21362//25710 19988//26746 23651//17951 +f 24410//27221 25964//25014 25965//25040 +f 25678//23123 25858//25182 23517//24117 +f 24655//23951 24521//25931 25586//26011 +f 24203//24647 25675//27413 23875//24370 +f 34567//26006 34566//6722 34429//6755 +f 23635//27219 10870//16662 21007//26905 +f 25131//3007 25269//3988 25268//10548 +f 25129//8926 25130//8925 25267//9655 +f 25269//3988 25411//27582 25410//27562 +f 25268//10548 25269//3988 25410//27562 +f 25411//27582 25554//27583 25553//27563 +f 25410//27562 25411//27582 25553//27563 +f 25554//27583 25696//18768 25695//27544 +f 25553//27563 25554//27583 25695//27544 +f 33589//27584 17338//16763 33472//27585 +f 25695//27544 25696//18768 25837//18767 +f 22838//27089 24395//25968 20230//27025 +f 25634//27111 23791//26864 23777//26663 +f 22681//25878 25200//25639 24381//25879 +f 24395//25968 24479//25969 20230//27025 +f 22393//17499 26262//17498 23575//27586 +f 23904//21115 23846//27587 20983//24962 +f 29156//21637 29293//4617 24455//4616 +f 26263//27588 23575//27586 26262//17498 +f 25828//27589 14235//27565 22393//17499 +f 23575//27586 25828//27589 22393//17499 +f 23773//27590 24082//27566 14235//27565 +f 25828//27589 23773//27590 14235//27565 +f 23773//27590 23470//27591 25930//27567 +f 24082//27566 23773//27590 25930//27567 +f 23470//27591 24654//27592 3332//27568 +f 25930//27567 23470//27591 3332//27568 +f 24654//27592 24635//27593 24331//27569 +f 3332//27568 24654//27592 24331//27569 +f 24635//27593 23749//27594 22078//27570 +f 24331//27569 24635//27593 22078//27570 +f 23749//27594 26116//27595 26256//27571 +f 22078//27570 23749//27594 26256//27571 +f 25507//27596 23471//27572 26256//27571 +f 26116//27595 25507//27596 26256//27571 +f 25666//27597 21090//27573 23471//27572 +f 25507//27596 25666//27597 23471//27572 +f 22565//27598 22467//27574 21090//27573 +f 25666//27597 22565//27598 21090//27573 +f 202//27471 15027//27469 24440//27447 +f 22565//27598 24909//14923 22467//27574 +f 23810//26791 30811//27599 30812//26790 +f 25002//8206 26198//25152 25000//8204 +f 12846//6634 11793//6731 11880//6730 +f 22465//15511 22563//26787 24124//15512 +f 20746//23365 21335//15479 25016//15481 +f 24639//26943 24646//26967 25866//25533 +f 25819//27201 24024//26966 23919//10120 +f 25109//26917 24622//26987 24261//25308 +f 25978//27306 25107//19745 25037//27307 +f 25071//24377 26001//24376 25205//25083 +f 22587//23715 24229//23902 24127//23783 +f 34273//14440 34272//24889 34134//20749 +f 24074//24296 23800//23131 23745//23130 +f 23552//16483 25013//19198 24755//16484 +f 25346//27237 24823//23785 25491//27353 +f 25444//16037 25443//25009 25231//25008 +f 24534//27532 15740//27501 14841//27314 +f 24946//25348 19987//16757 24763//27124 +f 3451//27258 15471//15911 12626//15471 +f 22288//26701 25629//24231 25628//24548 +f 25437//27557 23935//27313 25247//27342 +f 24089//20202 25437//27557 25247//27342 +f 25181//27340 25642//27231 24343//24937 +f 25103//24867 25102//24866 25643//24939 +f 21158//27600 12025//27576 12026//27425 +f 25394//27424 21158//27600 12026//27425 +f 25670//25789 24722//26906 12640//14707 +f 6535//27601 25093//27602 25373//21861 +f 23874//23801 25198//16686 25199//27315 +f 20017//16377 23179//16376 24844//27383 +f 25511//17335 24562//17337 24564//23106 +f 24564//23106 24562//17337 25212//23107 +f 26214//27452 25070//25081 25071//24377 +f 12452//26767 26214//27452 25071//24377 +f 25202//26962 25332//26936 24504//25332 +f 21453//16809 25191//25413 25331//25333 +f 24367//23653 24200//23655 21161//27161 +f 25332//26936 21453//16809 25331//25333 +f 22351//24856 24391//24855 24468//18621 +f 23655//23693 22351//24856 24468//18621 +f 31178//27603 31179//27604 31242//27605 +f 24052//26684 24374//25671 24425//26612 +f 27644//21733 4195//10898 23239//6048 +f 25581//15851 23349//16054 22299//24119 +f 29966//27355 25281//22543 29965//27606 +f 25638//26781 25924//26983 24236//26074 +f 24160//25120 24168//25679 25511//17335 +f 14522//18381 24334//21301 24418//17457 +f 5353//19159 26285//26923 26144//19157 +f 20887//26079 25024//26658 20223//26080 +f 20030//25572 20062//25570 21873//18849 +f 9691//26755 24601//26736 25115//26737 +f 21576//25394 11712//2663 16465//2665 +f 24402//27607 24373//26012 21455//26005 +f 23952//9129 17263//2664 24011//19496 +f 25134//26730 28351//27482 28350//26728 +f 24928//24382 24929//25180 22193//25599 +f 21542//17758 24928//24382 22193//25599 +f 20443//26469 20442//26387 24907//26300 +f 22487//24307 22486//25791 23760//8602 +f 24568//25586 23754//26999 24504//25332 +f 25332//26936 25331//25333 24504//25332 +f 12554//24425 24473//24372 25428//14011 +f 24013//24268 12554//24425 25428//14011 +f 25785//27608 24402//27607 21455//26005 +f 24402//27607 25649//27609 25623//26025 +f 24373//26012 24402//27607 25623//26025 +f 25649//27609 23576//27610 24457//26109 +f 20015//18735 24197//27611 15673//18707 +f 24175//27612 24279//14152 24359//14151 +f 3475//27129 23699//27087 23175//27130 +f 24982//24007 24416//25901 23653//24121 +f 25856//18441 25855//18442 21910//25203 +f 24199//25655 23993//27176 26105//25656 +f 21426//26826 24605//26827 26074//17649 +f 10245//17470 25541//24397 9279//17490 +f 25131//3007 35634//3457 35368//3008 +f 20669//15635 25950//27104 24401//15636 +f 25270//3139 25412//27613 25411//27582 +f 25269//3988 25270//3139 25411//27582 +f 25412//27613 25555//27614 25554//27583 +f 25411//27582 25412//27613 25554//27583 +f 25555//27614 25697//27615 25696//18768 +f 25554//27583 25555//27614 25696//18768 +f 25697//27615 25839//27616 25838//18769 +f 25696//18768 25697//27615 25838//18769 +f 25839//27616 25981//27617 25980//27618 +f 34010//14640 34009//14642 33874//15429 +f 25981//27617 26123//27619 26122//27620 +f 26263//27588 26262//17498 19663//27621 +f 26264//27622 26263//27588 26122//27620 +f 26123//27619 26264//27622 26122//27620 +f 24049//27623 23575//27586 26263//27588 +f 26264//27622 24049//27623 26263//27588 +f 24049//27623 21008//27624 25828//27589 +f 23575//27586 24049//27623 25828//27589 +f 21008//27624 24083//27625 23773//27590 +f 25828//27589 21008//27624 23773//27590 +f 24083//27625 24207//27626 23470//27591 +f 23773//27590 24083//27625 23470//27591 +f 24207//27626 24885//27627 24654//27592 +f 23470//27591 24207//27626 24654//27592 +f 24885//27627 24761//27628 24635//27593 +f 24654//27592 24885//27627 24635//27593 +f 24761//27628 23803//27629 23749//27594 +f 24635//27593 24761//27628 23749//27594 +f 23803//27629 25974//27630 26116//27595 +f 23749//27594 23803//27629 26116//27595 +f 25508//27631 25507//27596 26116//27595 +f 25974//27630 25508//27631 26116//27595 +f 12110//22965 25666//27597 25507//27596 +f 25508//27631 12110//22965 25507//27596 +f 22664//22964 22565//27598 25666//27597 +f 12110//22965 22664//22964 25666//27597 +f 24555//27632 24909//14923 22565//27598 +f 18639//22047 18640//20007 21115//260 +f 22838//27089 20230//27025 23717//26972 +f 25477//25786 24853//26817 24740//25213 +f 26019//24943 26020//23799 26161//25482 +f 24188//25214 24853//26817 17556//27633 +f 25913//25189 23499//25638 21535//26678 +f 26020//23799 26162//23904 26161//25482 +f 16003//7283 16004//20287 16145//820 +f 21912//26711 24353//23746 24436//23745 +f 23542//16660 23623//27004 24446//16661 +f 23175//27130 22838//27089 23717//26972 +f 25651//26694 25251//26691 24081//23617 +f 25223//27080 21359//26087 12718//17001 +f 25664//6185 25321//17945 25807//24831 +f 20268//23612 20181//7168 20182//25808 +f 24498//23788 23681//27320 25491//27353 +f 24823//23785 25231//25008 25491//27353 +f 24243//22619 24959//7150 26680//18124 +f 25388//25063 24999//25346 24332//25064 +f 32906//27385 33014//27634 32905//27635 +f 25771//24529 21536//11691 25770//21438 +f 24220//27377 24221//23139 26674//24808 +f 25201//26852 24266//26954 11752//26853 +f 25159//25706 13090//24804 23657//27240 +f 12422//27127 25159//25706 23657//27240 +f 25718//26619 21158//27600 25394//27424 +f 24821//26620 25718//26619 25394//27424 +f 24839//23758 23977//27405 1521//23647 +f 26285//26923 26286//19235 25670//25789 +f 25790//27045 21157//26757 22683//27327 +f 25374//16997 23563//16999 12340//23094 +f 24415//27251 23511//26971 23718//23674 +f 22295//17467 22761//24351 22390//26950 +f 25036//27059 25116//27294 24855//25717 +f 23491//24461 24858//27354 22009//24462 +f 19917//3621 25051//16808 3085//27636 +f 25191//25413 21453//16809 25052//3620 +f 23652//24456 12554//24425 24013//24268 +f 20825//16644 23652//24456 24013//24268 +f 26322//24454 23652//24456 20825//16644 +f 26321//26706 26322//24454 20825//16644 +f 11483//24230 26216//16555 24881//16557 +f 25190//18831 24175//27612 24359//14151 +f 23740//27637 23739//27434 24279//14152 +f 24175//27612 23740//27637 24279//14152 +f 24954//27638 24925//27435 23739//27434 +f 23740//27637 24954//27638 23739//27434 +f 21535//26678 24436//23745 24352//27026 +f 24954//27638 26055//27639 26011//27436 +f 24987//26752 25115//26737 26119//25651 +f 23557//25039 24410//27221 25965//25040 +f 24987//26752 9691//26755 25115//26737 +f 10979//26163 22079//25244 12027//25058 +f 23954//21626 21290//15193 18455//27640 +f 24547//26622 21093//27031 24363//26623 +f 11712//2663 18455//27640 29634//14514 +f 10466//15536 21092//26951 21007//26905 +f 21542//17758 22193//25599 26003//26837 +f 26146//17759 21542//17758 26003//26837 +f 23708//26261 23500//25967 23530//17273 +f 23746//25771 22975//25773 24390//27348 +f 26181//25050 26322//24454 26321//26706 +f 26180//26722 26181//25050 26321//26706 +f 26039//25122 26181//25050 26180//26722 +f 26038//16638 26039//25122 26180//26722 +f 25623//26025 25649//27609 24457//26109 +f 23576//27610 26227//27641 26223//26110 +f 24457//26109 23576//27610 26223//26110 +f 23866//27642 24439//26606 26223//26110 +f 24925//27435 24954//27638 26011//27436 +f 26055//27639 17578//27643 24148//27454 +f 20153//24304 12277//25341 12310//24305 +f 24372//25331 24893//16430 11839//8594 +f 30940//21916 30939//27644 30885//17059 +f 9279//17490 25541//24397 11836//24399 +f 23834//26618 23835//27533 23535//25932 +f 24608//24698 12169//24862 24478//24861 +f 31508//14631 31507//17465 31435//17677 +f 23175//27130 23717//26972 25712//25709 +f 14970//22061 22448//25700 23251//17130 +f 22140//19652 21628//14999 17448//19653 +f 25413//25174 25556//27645 25555//27614 +f 25412//27613 25413//25174 25555//27614 +f 25556//27645 25698//27646 25697//27615 +f 25555//27614 25556//27645 25697//27615 +f 25698//27646 25840//27647 25839//27616 +f 25697//27615 25698//27646 25839//27616 +f 25840//27647 25982//27648 25981//27617 +f 25839//27616 25840//27647 25981//27617 +f 25982//27648 26124//27649 26123//27619 +f 25981//27617 25982//27648 26123//27619 +f 26265//27650 26264//27622 26123//27619 +f 26124//27649 26265//27650 26123//27619 +f 23627//27651 24049//27623 26264//27622 +f 26265//27650 23627//27651 26264//27622 +f 23627//27651 24559//27652 21008//27624 +f 24049//27623 23627//27651 21008//27624 +f 24559//27652 22959//27653 24083//27625 +f 21008//27624 24559//27652 24083//27625 +f 22959//27653 25934//27654 24207//27626 +f 24083//27625 22959//27653 24207//27626 +f 25934//27654 25928//27655 24885//27627 +f 24207//27626 25934//27654 24885//27627 +f 25928//27655 25086//27656 24761//27628 +f 24885//27627 25928//27655 24761//27628 +f 24543//27657 23803//27629 24761//27628 +f 25086//27656 24543//27657 24761//27628 +f 25832//27658 25974//27630 23803//27629 +f 24543//27657 25832//27658 23803//27629 +f 24773//27659 25508//27631 25974//27630 +f 25832//27658 24773//27659 25974//27630 +f 26254//27660 12110//22965 25508//27631 +f 24773//27659 26254//27660 25508//27631 +f 25413//25174 25412//27613 25270//3139 +f 26254//27660 22762//22963 12110//22965 +f 24027//25293 23727//8596 20095//23172 +f 20216//17642 17605//17919 17701//22226 +f 23962//27661 24444//26655 24555//27632 +f 22664//22964 24555//27632 22565//27598 +f 23681//27320 22533//27517 25346//27237 +f 27613//1747 20921//12 20840//17401 +f 25218//2767 25531//27108 23621//25416 +f 23594//26085 11856//17075 23564//25784 +f 24375//25670 24376//26964 24258//27065 +f 2124//10756 21669//25911 9747//10848 +f 4554//19237 24722//26906 26286//19235 +f 24464//26681 21071//26683 20985//26682 +f 26153//27326 26294//26621 26293//25545 +f 22005//25266 24268//23384 21816//25061 +f 23157//23615 24565//17225 15602//17224 +f 25868//16575 23801//27580 24831//16573 +f 25681//27352 25823//27318 24498//23788 +f 23681//27320 25346//27237 25491//27353 +f 24742//24371 23934//26063 24829//22618 +f 20495//4643 24742//24371 24829//22618 +f 25771//24529 25770//21438 24811//17168 +f 24858//27354 25771//24529 24811//17168 +f 26289//25532 21235//27217 13366//25376 +f 7802//10694 7918//10795 14650//18803 +f 25159//25706 12422//27127 26095//27126 +f 26095//27126 24595//24887 25090//27312 +f 24628//26615 23673//26858 25201//26852 +f 25246//23734 22269//25877 24330//23735 +f 25316//25230 23510//25232 23511//26971 +f 24967//23646 24839//23758 1521//23647 +f 23674//23128 21451//24463 23800//23131 +f 24290//17100 19427//23150 24318//27265 +f 25010//26899 24585//14692 25359//14694 +f 25647//23694 28125//14834 28108//23766 +f 23491//24461 24141//5752 24858//27354 +f 21539//27164 21009//24309 23672//24308 +f 4383//23563 24818//23564 25350//26863 +f 23954//21626 21394//23112 20059//23111 +f 25896//23138 25897//25260 26038//16638 +f 26227//27641 23866//27642 26223//26110 +f 23866//27642 12534//27662 24162//26633 +f 24882//16556 23995//23364 25452//24241 +f 24439//26606 23866//27642 24162//26633 +f 26011//27436 26055//27639 24148//27454 +f 17578//27643 25439//27663 25436//27455 +f 24148//27454 17578//27643 25436//27455 +f 24540//27664 23793//27457 25436//27455 +f 8028//8768 25379//26986 24661//16267 +f 25913//25189 21535//26678 23715//25190 +f 11672//26979 11836//24399 21725//27095 +f 26259//25426 24987//26752 26119//25651 +f 24342//16642 12921//16641 22977//25535 +f 25864//26625 25865//26996 24547//26622 +f 23412//26924 22396//27146 23703//26850 +f 23801//27580 25868//16575 24289//25970 +f 12959//8360 12866//8358 24048//12571 +f 25921//26169 13887//17173 23930//24497 +f 16313//25269 26146//17759 26003//26837 +f 24187//26911 16313//25269 26003//26837 +f 24653//16024 20906//22550 24226//23243 +f 22684//25375 22880//17274 23530//17273 +f 25754//25830 25755//25208 25896//23138 +f 25897//25260 26039//25122 26038//16638 +f 12534//27662 25483//27665 25340//26636 +f 24162//26633 12534//27662 25340//26636 +f 25483//27665 26000//13286 23892//13288 +f 25340//26636 25483//27665 23892//13288 +f 23620//27468 25676//27105 23831//25488 +f 25439//27663 24540//27664 25436//27455 +f 24540//27664 25726//27666 23684//27458 +f 24008//17511 24069//14412 14849//27538 +f 24236//26074 23546//26076 23524//26989 +f 21725//27095 21820//27531 26068//27121 +f 11836//24399 21820//27531 21725//27095 +f 6645//27112 23514//27020 23513//27233 +f 24625//25403 24634//26995 25864//26625 +f 31712//15448 31713//15447 31812//24579 +f 25902//27167 25759//25264 16150//3211 +f 25272//15153 25414//27667 25413//25174 +f 21628//14999 22140//19652 21536//11691 +f 25414//27667 25557//27668 25556//27645 +f 25413//25174 25414//27667 25556//27645 +f 25557//27668 25699//27669 25698//27646 +f 25556//27645 25557//27668 25698//27646 +f 25699//27669 25841//27670 25840//27647 +f 25698//27646 25699//27669 25840//27647 +f 25841//27670 25983//27671 25982//27648 +f 25840//27647 25841//27670 25982//27648 +f 26125//27672 26124//27649 25982//27648 +f 25983//27671 26125//27672 25982//27648 +f 26266//27673 26265//27650 26124//27649 +f 26125//27672 26266//27673 26124//27649 +f 26266//27673 23877//27674 23627//27651 +f 26265//27650 26266//27673 23627//27651 +f 23877//27674 24238//27675 24559//27652 +f 23627//27651 23877//27674 24559//27652 +f 24238//27675 12555//27676 22959//27653 +f 24559//27652 24238//27675 22959//27653 +f 12555//27676 23373//27677 25934//27654 +f 22959//27653 12555//27676 25934//27654 +f 23373//27677 2234//27678 25928//27655 +f 25934//27654 23373//27677 25928//27655 +f 2234//27678 24146//27679 25086//27656 +f 25928//27655 2234//27678 25086//27656 +f 21514//27680 24543//27657 25086//27656 +f 24146//27679 21514//27680 25086//27656 +f 25690//27681 25832//27658 24543//27657 +f 21514//27680 25690//27681 24543//27657 +f 24899//27682 24773//27659 25832//27658 +f 25690//27681 24899//27682 25832//27658 +f 26114//27683 26254//27660 24773//27659 +f 24899//27682 26114//27683 24773//27659 +f 22861//27684 22762//22963 26254//27660 +f 26114//27683 22861//27684 26254//27660 +f 24556//26598 23962//27661 24555//27632 +f 22861//27684 24554//26597 22762//22963 +f 24447//27685 23962//27661 24556//26598 +f 24554//26597 24447//27685 24556//26598 +f 24447//27685 22389//27686 23947//27687 +f 24447//27685 23947//27687 23962//27661 +f 24305//15026 24304//786 26080//15541 +f 20219//17610 17607//21587 20306//18601 +f 22104//25506 11860//17630 22103//17631 +f 26080//15541 24633//785 25305//15597 +f 20902//8110 35766//14247 35944//16775 +f 9635//25800 9636//3136 24483//3138 +f 24234//15634 24401//15636 14912//5737 +f 24401//15636 14142//27090 14912//5737 +f 15318//24549 22040//27688 26000//13286 +f 24304//786 24633//785 26080//15541 +f 14794//27101 22349//27317 25681//27352 +f 25823//27318 23681//27320 24498//23788 +f 11772//17888 25487//17887 23934//26063 +f 24742//24371 11772//17888 23934//26063 +f 24858//27354 24811//17168 21182//17167 +f 22009//24462 24858//27354 21182//17167 +f 23623//27004 23725//16231 24642//16233 +f 25967//26869 23429//25012 24410//27221 +f 25602//23665 25603//16155 25744//25788 +f 25603//16155 25745//23739 25744//25788 +f 24358//23675 24630//26957 25727//23676 +f 15869//15361 17564//15669 16301//17614 +f 26166//26974 26167//26629 26307//27328 +f 26308//25236 24734//27150 21181//27329 +f 21451//24463 24318//27265 21917//23096 +f 26086//27689 26091//27451 11857//27690 +f 23886//23731 15602//17224 16025//23732 +f 24565//17225 23612//26640 16923//17226 +f 23462//24061 24756//24190 24894//27203 +f 16997//18451 17160//3127 16996//11595 +f 24556//26598 24555//27632 22664//22964 +f 23949//23650 24087//23954 26255//23651 +f 5425//3818 16049//8812 5424//8811 +f 25306//25531 25808//25530 23931//26732 +f 14587//19561 16776//15416 22949//17435 +f 23793//27457 24540//27664 23684//27458 +f 20655//27691 24348//27476 23684//27458 +f 20682//26778 20600//27428 23931//26732 +f 21357//26747 20683//25481 23918//26770 +f 26068//27121 25640//27305 26094//27171 +f 21820//27531 25640//27305 26068//27121 +f 25141//16352 23928//26628 24664//24273 +f 25865//26996 21093//27031 24547//26622 +f 23809//25091 21510//9383 23615//25525 +f 4688//8829 19002//21180 18595//3776 +f 11234//24369 24799//24181 12027//25058 +f 22079//25244 11234//24369 12027//25058 +f 25245//24593 25390//20512 23755//27193 +f 24044//25420 16313//25269 24187//26911 +f 26063//27069 24767//26710 24123//26902 +f 24157//25116 22980//25117 12337//25118 +f 25613//16731 25755//25208 25754//25830 +f 25612//25829 25613//16731 25754//25830 +f 26210//24346 26211//15359 25215//25452 +f 23767//23723 23774//24868 24976//27500 +f 26092//27187 23850//25090 12024//26892 +f 24155//26675 24962//26077 25476//26078 +f 25726//27666 20655//27691 23684//27458 +f 25059//27692 25058//27477 24348//27476 +f 24962//26077 23988//26262 25233//23792 +f 2945//26893 13894//23590 25180//15738 +f 23632//27138 23633//16889 24712//27139 +f 25640//27305 25037//27307 26094//27171 +f 25211//27443 25350//26863 25299//24501 +f 23587//15916 23588//26994 24625//25403 +f 13602//17933 13504//12906 12218//12607 +f 24310//27483 22296//24984 25959//25986 +f 25273//15155 25415//27693 25414//27667 +f 25272//15153 25273//15155 25414//27667 +f 25415//27693 25558//27694 25557//27668 +f 25414//27667 25415//27693 25557//27668 +f 25558//27694 25700//27695 25699//27669 +f 25557//27668 25558//27694 25699//27669 +f 25700//27695 25842//27696 25841//27670 +f 25699//27669 25700//27695 25841//27670 +f 25842//27696 25984//27697 25983//27671 +f 25841//27670 25842//27696 25983//27671 +f 25984//27697 26126//27698 26125//27672 +f 25983//27671 25984//27697 26125//27672 +f 26126//27698 26267//27699 26266//27673 +f 26125//27672 26126//27698 26266//27673 +f 26267//27699 25163//27700 23877//27674 +f 26266//27673 26267//27699 23877//27674 +f 25163//27700 13898//27701 24238//27675 +f 23877//27674 25163//27700 24238//27675 +f 13898//27701 25043//27702 12555//27676 +f 24238//27675 13898//27701 12555//27676 +f 25043//27702 23374//27703 23373//27677 +f 12555//27676 25043//27702 23373//27677 +f 23374//27703 2366//27704 2234//27678 +f 23373//27677 23374//27703 2234//27678 +f 26072//27705 24146//27679 2234//27678 +f 2366//27704 26072//27705 2234//27678 +f 25480//27706 21514//27680 24146//27679 +f 26072//27705 25480//27706 24146//27679 +f 25548//27707 25690//27681 21514//27680 +f 25480//27706 25548//27707 21514//27680 +f 23669//27708 24899//27682 25690//27681 +f 25548//27707 23669//27708 25690//27681 +f 25972//27709 26114//27683 24899//27682 +f 23669//27708 25972//27709 24899//27682 +f 22860//27710 22861//27684 26114//27683 +f 25972//27709 22860//27710 26114//27683 +f 24553//27711 24554//26597 22861//27684 +f 22860//27710 24553//27711 22861//27684 +f 23963//27712 24447//27685 24554//26597 +f 24553//27711 23963//27712 24554//26597 +f 30687//27713 23947//27687 22389//27686 +f 23963//27712 22389//27686 24447//27685 +f 24372//25331 23567//24005 24893//16430 +f 20589//24282 20590//24733 23747//24283 +f 25442//19320 24820//26745 14794//27101 +f 22349//27317 25823//27318 25681//27352 +f 25154//24932 23353//16770 24659//26789 +f 24662//16772 24820//26745 25442//19320 +f 24041//27714 25460//26743 24039//21997 +f 23353//16770 25154//24932 25459//24931 +f 26676//6608 24299//17710 24219//17709 +f 20409//26933 24524//25238 24791//25237 +f 24041//27714 24039//21997 25132//16130 +f 12188//27113 24791//25237 24983//27341 +f 23775//24869 23784//14295 24981//17103 +f 24988//17104 26140//23153 26093//17105 +f 22009//24462 21182//17167 24378//15735 +f 25029//26955 22009//24462 24378//15735 +f 25141//16352 23178//27489 24449//17287 +f 24630//26957 25029//26955 25727//23676 +f 23728//23713 22587//23715 24748//23848 +f 25384//27319 22533//27517 23681//27320 +f 25605//3959 25606//15503 25747//27282 +f 25596//4273 25738//25538 25737//25803 +f 26024//27212 26025//17452 26166//26974 +f 26167//26629 26308//25236 26307//27328 +f 25170//26815 24915//23220 23808//12781 +f 24931//24368 25432//25271 24932//25126 +f 25441//27338 20886//24448 25245//24593 +f 25390//20512 24044//25420 23755//27193 +f 24756//24190 20518//24459 24894//27203 +f 25532//25185 25510//23661 11753//26840 +f 25461//26744 22560//16771 23353//16770 +f 23664//26762 23924//10331 23811//26763 +f 28190//14502 28191//12879 35415//3015 +f 16005//27166 25906//26889 25763//9011 +f 26064//16406 12687//2743 25067//2742 +f 20655//27691 25059//27692 24348//27476 +f 26233//24551 25036//27059 20667//17394 +f 20653//27715 24206//27478 25058//27477 +f 25037//27307 23633//16889 23632//27138 +f 30878//24427 30932//26805 30877//24540 +f 24355//27142 25960//27055 24319//17074 +f 26094//27171 25037//27307 23632//27138 +f 23995//23364 24720//23539 24824//24242 +f 15420//19002 25278//20156 25140//23178 +f 1327//19562 24001//22243 24000//27297 +f 15584//20379 13178//14929 15585//20414 +f 24931//24368 24932//25126 24799//24181 +f 26025//17452 26167//26629 26166//26974 +f 23755//27193 24044//25420 24187//26911 +f 11234//24369 24931//24368 24799//24181 +f 25467//17123 25468//17122 25610//27444 +f 20886//24448 25390//20512 25245//24593 +f 25755//25208 25897//25260 25896//23138 +f 24317//25062 24332//25064 12253//8614 +f 1090//7860 1089//7767 971//7766 +f 23605//23095 24619//24495 24867//25321 +f 24107//27162 12252//25501 24697//25502 +f 4193//173 25595//4274 1452//1502 +f 25059//27692 20653//27715 25058//27477 +f 12713//26632 25017//15543 25313//15545 +f 25177//27716 25176//27479 24206//27478 +f 15742//16443 16163//15815 18489//1073 +f 25010//26899 25359//14694 12648//23191 +f 25137//16303 25275//16462 11880//6730 +f 24689//24996 25313//15545 25227//24997 +f 24634//26995 25865//26996 25864//26625 +f 23588//26994 24634//26995 24625//25403 +f 13504//12906 12389//12908 12218//12607 +f 23277//23561 22592//17473 12187//23748 +f 25274//16461 25416//27717 25415//27693 +f 25273//15155 25274//16461 25415//27693 +f 25416//27717 25559//27718 25558//27694 +f 25415//27693 25416//27717 25558//27694 +f 25559//27718 25701//27719 25700//27695 +f 25558//27694 25559//27718 25700//27695 +f 25701//27719 25843//27720 25842//27696 +f 25700//27695 25701//27719 25842//27696 +f 25985//27721 25984//27697 25842//27696 +f 25843//27720 25985//27721 25842//27696 +f 25985//27721 26127//27722 26126//27698 +f 25984//27697 25985//27721 26126//27698 +f 26127//27722 26268//27723 26267//27699 +f 26126//27698 26127//27722 26267//27699 +f 26268//27723 23508//27724 25163//27700 +f 26267//27699 26268//27723 25163//27700 +f 23508//27724 15214//27725 13898//27701 +f 25163//27700 23508//27724 13898//27701 +f 15214//27725 24917//27726 25043//27702 +f 13898//27701 15214//27725 25043//27702 +f 24917//27726 13408//27727 23374//27703 +f 25043//27702 24917//27726 23374//27703 +f 13408//27727 25933//27728 2366//27704 +f 23374//27703 13408//27727 2366//27704 +f 24719//27729 26072//27705 2366//27704 +f 25933//27728 24719//27729 2366//27704 +f 25859//27730 25480//27706 26072//27705 +f 24719//27729 25859//27730 26072//27705 +f 23644//27731 25548//27707 25480//27706 +f 25859//27730 23644//27731 25480//27706 +f 23832//27732 23669//27708 25548//27707 +f 23644//27731 23832//27732 25548//27707 +f 25830//27733 25972//27709 23669//27708 +f 23832//27732 25830//27733 23669//27708 +f 24198//27734 22860//27710 25972//27709 +f 25830//27733 24198//27734 25972//27709 +f 23319//27735 24553//27711 22860//27710 +f 24198//27734 23319//27735 22860//27710 +f 12714//27736 23963//27712 24553//27711 +f 23319//27735 12714//27736 24553//27711 +f 22388//27737 22389//27686 23963//27712 +f 12714//27736 22388//27737 23963//27712 +f 5192//14613 1386//6511 2610//6015 +f 23577//6190 22388//27737 23578//6191 +f 24659//26789 24662//16772 25442//19320 +f 24820//26745 22349//27317 14794//27101 +f 22662//27184 24185//26692 24186//25640 +f 24873//27107 24998//17358 25501//17359 +f 25513//25356 6645//27112 23513//27233 +f 22296//24984 22295//17467 23538//17466 +f 25730//4756 25872//27207 25871//7673 +f 24579//27018 24576//27234 23513//27233 +f 26014//27738 26156//27739 26155//24424 +f 18793//19615 18892//21725 1574//9753 +f 16923//17226 23612//26640 22629//25983 +f 24687//25202 13275//26885 24684//26802 +f 25029//26955 24378//15735 24136//15734 +f 25727//23676 25029//26955 24136//15734 +f 25074//23386 17378//27740 30792//27741 +f 24026//25582 25077//16351 24676//25583 +f 26311//24768 26312//25487 23975//24948 +f 25009//24532 24900//25978 12452//26767 +f 25595//4274 25596//4273 25737//25803 +f 25738//25538 25880//15700 25879//15699 +f 25883//27324 26025//17452 26024//27212 +f 25882//26786 25883//27324 26024//27212 +f 13462//25543 25975//25635 25504//26260 +f 24353//23746 23521//25603 25096//23747 +f 25523//24446 20886//24448 25441//27338 +f 25517//27536 25523//24446 25441//27338 +f 26020//23799 26021//15701 26162//23904 +f 23816//24299 25485//24373 25342//24300 +f 25492//15796 23812//26833 13659//15797 +f 22877//25918 26205//25326 22080//25328 +f 1452//1502 25595//4274 25594//23802 +f 25400//27123 24233//3143 22665//15462 +f 25461//26744 25460//26743 24041//27714 +f 20415//16659 20416//24240 20501//26878 +f 20653//27715 25177//27716 24206//27478 +f 25283//27742 25284//27503 25176//27479 +f 20521//25813 20603//25812 20520//27743 +f 13598//17423 14661//268 14766//723 +f 25256//25309 12023//27053 21819//25485 +f 23633//16889 24733//16888 24712//27139 +f 25612//25829 25754//25830 25753//25704 +f 24579//27018 25801//26067 25799//26066 +f 23898//7668 23897//24167 23840//21242 +f 27173//27744 21397//26289 30477//27745 +f 15238//8025 23688//27575 23638//9443 +f 23898//7668 23957//24166 23897//24167 +f 23650//23903 25967//26869 25968//23594 +f 11856//17075 23585//15915 23564//25784 +f 25432//25271 20262//18760 16312//25272 +f 11108//27347 24155//26675 22880//17274 +f 24173//24449 25523//24446 25517//27536 +f 24171//27746 24173//24449 25517//27536 +f 22979//27407 25353//25897 23678//25898 +f 24492//25114 20746//23365 25820//23387 +f 16443//7948 16595//2248 16442//2249 +f 25395//20511 25512//26164 24045//25268 +f 25871//7673 26013//15767 26012//15766 +f 13659//15797 23812//26833 25543//24945 +f 25177//27716 25283//27742 25176//27479 +f 25284//27503 25283//27742 25646//27747 +f 23861//26713 21246//27119 25220//26714 +f 24533//23625 24708//26654 24273//23626 +f 25138//26901 25137//16303 11793//6731 +f 12023//27053 20924//27060 21819//25485 +f 24319//17074 25960//27055 23587//15916 +f 25587//17073 24355//27142 24319//17074 +f 11794//6733 25005//14505 25138//26901 +f 20034//26834 24581//26630 13105//24946 +f 10579//5298 25939//5300 24607//5407 +f 25873//27206 26015//27556 26014//27738 +f 25417//27748 25416//27717 25274//16461 +f 25275//16462 25417//27748 25274//16461 +f 25417//27748 25560//27749 25559//27718 +f 25416//27717 25417//27748 25559//27718 +f 25560//27749 25702//27750 25701//27719 +f 25559//27718 25560//27749 25701//27719 +f 25844//27751 25843//27720 25701//27719 +f 25702//27750 25844//27751 25701//27719 +f 25844//27751 25986//27752 25985//27721 +f 25843//27720 25844//27751 25985//27721 +f 25986//27752 26128//27753 26127//27722 +f 25985//27721 25986//27752 26127//27722 +f 26128//27753 26269//27754 26268//27723 +f 26127//27722 26128//27753 26268//27723 +f 26269//27754 4799//27755 23508//27724 +f 26268//27723 26269//27754 23508//27724 +f 4799//27755 15088//27756 15214//27725 +f 23508//27724 4799//27755 15214//27725 +f 15088//27756 24918//27757 24917//27726 +f 15214//27725 15088//27756 24917//27726 +f 24918//27757 22006//27758 13408//27727 +f 24917//27726 24918//27757 13408//27727 +f 22006//27758 23450//27759 25933//27728 +f 13408//27727 22006//27758 25933//27728 +f 25525//27760 24719//27729 25933//27728 +f 23450//27759 25525//27760 25933//27728 +f 25768//27761 25859//27730 24719//27729 +f 25525//27760 25768//27761 24719//27729 +f 24598//27762 23644//27731 25859//27730 +f 25768//27761 24598//27762 25859//27730 +f 21423//27763 23832//27732 23644//27731 +f 24598//27762 21423//27763 23644//27731 +f 25688//27764 25830//27733 23832//27732 +f 21423//27763 25688//27764 23832//27732 +f 25717//27765 24198//27734 25830//27733 +f 25688//27764 25717//27765 25830//27733 +f 21666//27766 23319//27735 24198//27734 +f 25717//27765 21666//27766 24198//27734 +f 23964//27767 12714//27736 23319//27735 +f 21666//27766 23964//27767 23319//27735 +f 22293//27768 22388//27737 12714//27736 +f 23964//27767 22293//27768 12714//27736 +f 26145//27769 20173//25033 23693//14983 +f 22293//27768 23578//6191 22388//27737 +f 25460//26743 23353//16770 25459//24931 +f 23353//16770 24662//16772 24659//26789 +f 23924//10331 24048//12571 23811//26763 +f 23770//24303 24769//26698 23507//27179 +f 25727//23676 24136//15734 23560//27770 +f 24161//23677 25727//23676 23560//27770 +f 26218//24298 25342//24300 22682//27771 +f 24942//27772 26218//24298 22682//27771 +f 22203//27409 23678//25898 25348//27773 +f 23895//26938 22203//27409 25348//27773 +f 25360//24633 24237//14660 25926//26812 +f 23608//26813 25360//24633 25926//26812 +f 25926//26812 24237//14660 24550//26937 +f 24237//14660 21607//14662 24550//26937 +f 25583//23649 22202//16055 23349//16054 +f 25183//24381 25482//23385 25075//22705 +f 24900//25978 26214//27452 12452//26767 +f 26144//19157 26285//26923 26143//19484 +f 25737//25803 25738//25538 25879//15699 +f 26021//15701 26022//24112 26163//23857 +f 25599//18033 25741//18035 25740//26785 +f 25598//26934 25599//18033 25740//26785 +f 24369//18039 24314//16287 22197//18040 +f 24741//26823 24781//26844 24743//26845 +f 13762//25894 24173//24449 24171//27746 +f 22385//19534 13762//25894 24171//27746 +f 25734//16508 25735//25899 25876//25900 +f 24258//27065 24232//26956 24341//26990 +f 26197//19740 13271//19739 26196//17869 +f 23502//26608 26058//17348 12111//17870 +f 25543//24945 20034//26834 13105//24946 +f 12718//17001 24522//26672 24371//17002 +f 12604//17322 12694//17321 25354//15229 +f 25473//25892 25474//25422 23921//27387 +f 30983//7935 30982//7937 30924//21335 +f 23977//27405 26237//27373 24321//23643 +f 25903//26069 25904//26068 26045//26998 +f 26067//25015 26066//25676 25064//26013 +f 22878//23721 21336//26919 24710//25674 +f 23531//25424 24810//25427 24809//25086 +f 24577//21668 15322//17664 23651//17951 +f 23842//20980 6255//7667 23177//24926 +f 24289//25970 24292//15849 25567//27169 +f 12192//19532 22385//19534 24168//25679 +f 24488//24699 24478//24861 25687//25489 +f 23524//26989 23546//26076 24594//27019 +f 21633//27530 21726//26900 25978//27306 +f 21726//26900 24357//16194 25978//27306 +f 23842//20980 3603//25253 23843//10235 +f 21397//26289 24064//24783 15283//26290 +f 24064//24783 21397//26289 27173//27744 +f 23921//27387 23531//25424 24809//25086 +f 29081//12769 23957//24166 28946//14791 +f 2451//9989 2450//9909 2316//9908 +f 25378//26616 24628//26615 24193//26929 +f 34694//6721 34693//27774 34565//27775 +f 23654//25404 23875//24370 24970//4645 +f 24474//16232 25636//11350 24642//16233 +f 35339//27356 35338//4881 35209//16753 +f 24728//26082 24805//26178 24040//26180 +f 20924//27060 25925//27220 25639//23849 +f 24894//27203 22369//22928 24313//16428 +f 24324//25045 25957//27325 24860//17625 +f 26200//26088 21359//26087 25772//17646 +f 22745//27776 24428//26926 17820//27181 +f 23929//23737 24470//17164 24428//26926 +f 25515//17336 25517//27536 23493//17409 +f 25630//26642 25679//14651 23754//26999 +f 22107//25756 22465//15511 22368//27380 +f 2817//14918 25495//14920 25352//5069 +f 25313//15545 23668//25049 25227//24997 +f 25910//27076 24620//27077 24513//26969 +f 25960//27055 23588//26994 23587//15916 +f 21180//25119 21266//27114 25587//17073 +f 23827//26690 23586//23790 25793//26808 +f 26351//9604 30874//24216 30873//13187 +f 25276//27777 25275//16462 25137//16303 +f 25138//26901 25276//27777 25137//16303 +f 25418//27778 25417//27748 25275//16462 +f 25276//27777 25418//27778 25275//16462 +f 25418//27778 25561//27779 25560//27749 +f 25417//27748 25418//27778 25560//27749 +f 25703//27780 25702//27750 25560//27749 +f 25561//27779 25703//27780 25560//27749 +f 25845//27781 25844//27751 25702//27750 +f 25703//27780 25845//27781 25702//27750 +f 25845//27781 25987//27782 25986//27752 +f 25844//27751 25845//27781 25986//27752 +f 25987//27782 26129//27783 26128//27753 +f 25986//27752 25987//27782 26128//27753 +f 26129//27783 26270//27784 26269//27754 +f 26128//27753 26129//27783 26269//27754 +f 26270//27784 20232//27785 4799//27755 +f 26269//27754 26270//27784 4799//27755 +f 20232//27785 13313//27786 15088//27756 +f 4799//27755 20232//27785 15088//27756 +f 13313//27786 24919//27787 24918//27757 +f 15088//27756 13313//27786 24918//27757 +f 24919//27787 21447//27788 22006//27758 +f 24918//27757 24919//27787 22006//27758 +f 21447//27788 23451//27789 23450//27759 +f 22006//27758 21447//27788 23450//27759 +f 24952//27790 25525//27760 23450//27759 +f 23451//27789 24952//27790 23450//27759 +f 24209//27791 25768//27761 25525//27760 +f 24952//27790 24209//27791 25525//27760 +f 24597//27792 24598//27762 25768//27761 +f 24209//27791 24597//27792 25768//27761 +f 21333//27793 21423//27763 24598//27762 +f 24597//27792 21333//27793 24598//27762 +f 25546//27794 25688//27764 21423//27763 +f 21333//27793 25546//27794 21423//27763 +f 24500//27795 25717//27765 25688//27764 +f 25546//27794 24500//27795 25688//27764 +f 14687//27796 21666//27766 25717//27765 +f 24500//27795 14687//27796 25717//27765 +f 23905//27797 23964//27767 21666//27766 +f 14687//27796 23905//27797 21666//27766 +f 22198//27798 22293//27768 23964//27767 +f 23905//27797 22198//27798 23964//27767 +f 26695//5903 26082//6186 26696//25335 +f 22198//27798 23779//21459 22293//27768 +f 34692//22660 34691//27799 34563//22661 +f 25460//26743 25459//24931 24039//21997 +f 24769//26698 12624//26700 23507//27179 +f 24650//15542 26080//15541 25080//15598 +f 25342//24300 24161//23677 23560//27770 +f 22682//27771 25342//24300 23560//27770 +f 12446//26849 23608//26813 12107//26811 +f 23720//5442 25111//5441 24921//17367 +f 32019//26717 32020//26716 32119//23125 +f 24143//24149 22101//25106 25094//25505 +f 27135//14905 23624//15913 26244//15912 +f 20747//26107 26252//18093 23833//18094 +f 24221//23139 25437//27557 24465//5623 +f 20906//22550 20988//26182 24226//23243 +f 24055//27467 25461//26744 24041//27714 +f 20826//23145 20905//20578 23726//23720 +f 24747//8597 23726//23720 24019//23719 +f 24281//26841 24965//23203 23949//23650 +f 26164//25419 26305//26880 26304//23858 +f 26163//23857 26164//25419 26304//23858 +f 25686//9382 24316//26884 26067//25015 +f 25584//25661 24096//24873 25462//24875 +f 24443//26259 25962//25757 24690//25873 +f 25788//27437 24971//27453 25931//25593 +f 23551//25265 21721//17267 22005//25266 +f 24974//27800 24976//27500 26086//27689 +f 25881//24993 26023//25417 26022//24112 +f 26021//15701 26163//23857 26162//23904 +f 24625//25403 25864//26625 25854//25484 +f 25377//25991 24239//25990 22103//17631 +f 24101//24636 24100//25046 25591//17407 +f 6255//7667 23842//20980 23899//20979 +f 23867//26166 25027//26165 23658//23683 +f 24404//24384 25952//6053 6903//6052 +f 25679//14651 24680//14653 23754//26999 +f 16292//8407 16291//8409 16148//9010 +f 15188//19950 15187//5588 25954//26948 +f 24449//17287 21159//17289 23461//25379 +f 26047//26810 26046//26891 25904//26068 +f 23323//16568 2546//27450 26506//27426 +f 24417//1309 30632//6605 24445//6604 +f 275//18272 6403//1794 7005//18253 +f 25626//17087 7931//27079 24592//17000 +f 25899//23163 26041//23166 26040//25123 +f 25898//25263 25899//23163 26040//25123 +f 23763//23406 25954//26948 9282//5587 +f 25608//10186 25609//27209 25750//23851 +f 23997//27242 23996//18385 275//18272 +f 24392//25984 25672//26641 24463//26680 +f 26221//15921 23811//26763 22763//26783 +f 12028//25989 21726//26900 21633//27530 +f 24616//27364 24736//27398 12917//17276 +f 23787//25254 20320//23067 20946//25255 +f 26079//24398 12028//25989 21633//27530 +f 11123//27801 17305//27802 21512//27803 +f 25067//2742 12598//11972 11859//15180 +f 34559//27804 34558//27805 34421//22070 +f 35201//27806 35202//15530 35330//27807 +f 21819//25485 25639//23849 25194//26083 +f 23679//25325 23936//25324 24192//24594 +f 25225//25699 24857//25698 24071//27260 +f 24070//26624 25225//25699 24071//27260 +f 21967//16425 25026//27287 24396//27041 +f 24893//16430 21967//16425 24396//27041 +f 21967//16425 21452//16424 25026//27287 +f 21452//16424 21822//27259 25026//27287 +f 25879//15699 26021//15701 26020//23799 +f 26308//25236 26309//25235 24734//27150 +f 13083//21560 22248//23369 29687//5313 +f 25430//17638 24923//2939 24922//24057 +f 25487//17887 25631//17671 21538//17626 +f 23728//23713 24748//23848 24895//23898 +f 25720//25450 25728//17088 26113//26876 +f 21007//26905 24356//26953 23595//27438 +f 20019//27389 29962//27414 25425//21483 +f 24502//25580 24727//25337 24202//25581 +f 24678//26968 24679//23894 25869//26946 +f 25541//24397 25540//25988 26079//24398 +f 25921//26169 24733//16888 11569//16270 +f 21266//27114 24355//27142 25587//17073 +f 25139//23177 25138//26901 25005//14505 +f 24017//16168 24696//15478 24818//23564 +f 25277//27808 25276//27777 25138//26901 +f 25139//23177 25277//27808 25138//26901 +f 25419//27809 25418//27778 25276//27777 +f 25277//27808 25419//27809 25276//27777 +f 25562//27810 25561//27779 25418//27778 +f 25419//27809 25562//27810 25418//27778 +f 25704//27811 25703//27780 25561//27779 +f 25562//27810 25704//27811 25561//27779 +f 25846//27812 25845//27781 25703//27780 +f 25704//27811 25846//27812 25703//27780 +f 25846//27812 25988//27813 25987//27782 +f 25845//27781 25846//27812 25987//27782 +f 25988//27813 26130//27814 26129//27783 +f 25987//27782 25988//27813 26129//27783 +f 26130//27814 26271//27815 26270//27784 +f 26129//27783 26130//27814 26270//27784 +f 26271//27815 12426//27816 20232//27785 +f 26270//27784 26271//27815 20232//27785 +f 12426//27816 1855//27817 13313//27786 +f 20232//27785 12426//27816 13313//27786 +f 1855//27817 24795//27818 24919//27787 +f 13313//27786 1855//27817 24919//27787 +f 24795//27818 14269//27819 21447//27788 +f 24919//27787 24795//27818 21447//27788 +f 23694//27820 23451//27789 21447//27788 +f 14269//27819 23694//27820 21447//27788 +f 23694//27820 24953//27821 24952//27790 +f 23451//27789 23694//27820 24952//27790 +f 23625//27822 24209//27791 24952//27790 +f 24953//27821 23625//27822 24952//27790 +f 25809//27823 24597//27792 24209//27791 +f 23625//27822 25809//27823 24209//27791 +f 21699//27824 21333//27793 24597//27792 +f 25809//27823 21699//27824 24597//27792 +f 20973//27825 25546//27794 21333//27793 +f 21699//27824 20973//27825 21333//27793 +f 23526//27826 24500//27795 25546//27794 +f 20973//27825 23526//27826 25546//27794 +f 20863//27827 14687//27796 24500//27795 +f 23526//27826 20863//27827 24500//27795 +f 23790//27828 23905//27797 14687//27796 +f 20863//27827 23790//27828 14687//27796 +f 22485//27829 22198//27798 23905//27797 +f 23790//27828 22485//27829 23905//27797 +f 35873//5781 35443//22297 35405//4128 +f 22485//27829 24745//21460 22198//27798 +f 24378//15735 24379//25547 24137//15736 +f 24791//25237 15592//25239 24983//27341 +f 5470//6866 25708//17065 4244//17067 +f 25872//27207 26014//27738 26013//15767 +f 23678//25898 26218//24298 24942//27772 +f 25348//27773 23678//25898 24942//27772 +f 24867//25321 24619//24495 25769//19983 +f 31368//16979 31435//17677 31367//3527 +f 23657//27240 25081//22699 25232//25985 +f 24153//24692 24150//16373 26002//16213 +f 25675//27413 30845//27830 30844//26842 +f 25224//24813 25159//25706 26095//27126 +f 13367//25377 15604//25380 9086//14708 +f 22269//25877 24381//25879 24330//23735 +f 24031//17042 24092//25322 24091//25323 +f 31918//24508 31919//24507 32019//26717 +f 24781//26844 12451//27463 24830//5753 +f 12271//27382 25308//23147 25320//23121 +f 26305//26880 24046//23763 25189//24502 +f 24818//23564 25300//23616 25298//24498 +f 25720//25450 26113//26876 25863//25772 +f 21723//26635 25569//22934 25570//22933 +f 24040//26180 23980//26179 20885//27491 +f 25031//27061 21358//25504 24239//25990 +f 25225//25699 13111//17128 22448//25700 +f 13435//11905 13436//9949 13532//10267 +f 25490//23909 25303//16512 23891//23189 +f 24734//27150 24964//27149 24441//24798 +f 24672//23585 25580//23587 24673//24059 +f 8347//5282 3736//7545 35623//5283 +f 21983//27376 22979//27407 22203//27409 +f 25580//23587 7760//24001 24673//24059 +f 2488//4598 2487//8942 6022//4596 +f 24857//25698 22448//25700 23558//17176 +f 25009//24532 12452//26767 24184//25079 +f 24356//26953 24707//26881 23626//27120 +f 25973//8593 26115//23652 11839//8594 +f 23635//27219 21007//26905 23595//27438 +f 24261//25308 24622//26987 25256//25309 +f 24194//26930 22681//25878 22269//25877 +f 15674//18774 24175//27612 25190//18831 +f 21669//25911 23872//25910 23992//26877 +f 12921//16641 25167//16640 30760//11363 +f 23595//27438 24356//26953 23626//27120 +f 15674//18774 24197//27611 24175//27612 +f 24616//27364 12917//17276 24615//20989 +f 25491//27353 23704//23876 1999//23789 +f 9279//17490 4524//17045 10245//17470 +f 22663//24985 23994//24349 22761//24351 +f 275//18272 23939//25176 23997//27242 +f 23412//26924 23703//26850 21692//26779 +f 25682//27831 24582//17531 12028//25989 +f 24197//27611 23744//27832 23740//27637 +f 24175//27612 24197//27611 23740//27637 +f 23835//27533 24816//24700 23836//17472 +f 23895//26938 25348//27773 25327//25653 +f 23595//27438 23626//27120 26102//17588 +f 30490//20908 25438//6594 23634//26686 +f 14474//7745 14473//18435 17171//19188 +f 12218//12607 12389//12908 14820//510 +f 23788//25175 23844//27577 23843//10235 +f 23787//25254 23788//25175 23843//10235 +f 19133//4910 23901//2444 23902//27578 +f 23844//27577 23901//2444 23843//10235 +f 23966//18030 3451//27258 24201//15812 +f 24628//26615 25201//26852 24193//26929 +f 24070//26624 24071//27260 21822//27259 +f 21452//16424 24070//26624 21822//27259 +f 21152//25029 20983//24962 23846//27587 +f 22763//26783 26065//16407 26066//25676 +f 25513//25356 23513//27233 23506//21983 +f 24316//26884 22763//26783 26066//25676 +f 24964//27149 14851//26666 24441//24798 +f 25831//24934 23733//8595 23890//23200 +f 23804//23592 24329//23642 24578//23896 +f 25207//16067 26219//16215 25653//16068 +f 25540//25988 25682//27831 12028//25989 +f 27434//2643 20867//25561 21463//2644 +f 23744//27832 24973//27833 24954//27638 +f 23740//27637 23744//27832 24954//27638 +f 24973//27833 26076//27834 26055//27639 +f 25672//26641 24464//26681 24463//26680 +f 25219//26703 23868//26735 24494//25454 +f 25381//6593 23634//26686 25438//6594 +f 24622//26987 12023//27053 25256//25309 +f 25094//25505 11860//17630 22104//25506 +f 11669//27083 21266//27114 21180//25119 +f 20946//25255 1681//25178 23788//25175 +f 15445//20057 25669//20037 24872//17627 +f 25278//20156 25277//27808 25139//23177 +f 25140//23178 25278//20156 25139//23177 +f 25420//19446 25419//27809 25277//27808 +f 25278//20156 25420//19446 25277//27808 +f 25563//27835 25562//27810 25419//27809 +f 25420//19446 25563//27835 25419//27809 +f 25705//27836 25704//27811 25562//27810 +f 25563//27835 25705//27836 25562//27810 +f 25705//27836 25847//27837 25846//27812 +f 25704//27811 25705//27836 25846//27812 +f 25847//27837 25989//27838 25988//27813 +f 25846//27812 25847//27837 25988//27813 +f 25989//27838 26131//27839 26130//27814 +f 25988//27813 25989//27838 26130//27814 +f 26131//27839 26272//27840 26271//27815 +f 26130//27814 26131//27839 26271//27815 +f 26272//27840 23764//27841 12426//27816 +f 26271//27815 26272//27840 12426//27816 +f 23764//27841 22566//27842 1855//27817 +f 12426//27816 23764//27841 1855//27817 +f 22566//27842 24796//27843 24795//27818 +f 1855//27817 22566//27842 24795//27818 +f 24796//27843 25072//27844 14269//27819 +f 24795//27818 24796//27843 14269//27819 +f 25072//27844 23794//27845 23694//27820 +f 14269//27819 25072//27844 23694//27820 +f 23794//27845 9800//27846 24953//27821 +f 23694//27820 23794//27845 24953//27821 +f 26071//27847 23625//27822 24953//27821 +f 9800//27846 26071//27847 24953//27821 +f 25810//27848 25809//27823 23625//27822 +f 26071//27847 25810//27848 23625//27822 +f 21982//27849 21699//27824 25809//27823 +f 25810//27848 21982//27849 25809//27823 +f 22253//27850 20973//27825 21699//27824 +f 21982//27849 22253//27850 21699//27824 +f 24785//27851 23526//27826 20973//27825 +f 22253//27850 24785//27851 20973//27825 +f 20217//27852 20863//27827 23526//27826 +f 24785//27851 20217//27852 23526//27826 +f 23945//27853 23790//27828 20863//27827 +f 20217//27852 23945//27853 20863//27827 +f 25656//27456 22485//27829 23790//27828 +f 23945//27853 25656//27456 23790//27828 +f 28751//15491 23780//23765 24746//22206 +f 35189//18349 35188//21591 35059//27854 +f 24516//14649 24245//25764 24244//14650 +f 24763//27124 25400//27123 22665//15462 +f 25871//7673 25872//27207 26013//15767 +f 26013//15767 26014//27738 26155//24424 +f 21607//14662 22203//27409 23895//26938 +f 24550//26937 21607//14662 23895//26938 +f 11702//17462 6009//14021 14075//17463 +f 29119//27855 26495//15861 26059//24884 +f 24963//25919 25455//26617 24945//27351 +f 25077//16351 24798//16350 24676//25583 +f 21158//27600 21245//23562 12025//27576 +f 25294//23744 22062//27534 12025//27576 +f 13117//23743 25403//23104 24489//8732 +f 12187//23748 25294//23744 12025//27576 +f 24317//25062 24370//23103 25388//25063 +f 24370//23103 24317//25062 25528//8613 +f 23984//8600 25956//8738 26098//25344 +f 23989//8599 23984//8600 26098//25344 +f 25350//26863 24818//23564 25298//24498 +f 21245//23562 12187//23748 12025//27576 +f 25292//17817 28239//15230 12693//17816 +f 15537//18702 15672//18667 15536//18668 +f 26201//24374 24358//23675 24161//23677 +f 25606//15503 25607//3396 25748//25421 +f 4781//26862 24364//26940 25861//24933 +f 24611//23658 26115//23652 25973//8593 +f 24072//24185 24071//27260 23558//17176 +f 20905//20578 23492//5354 20906//22550 +f 16921//26913 22646//23730 13275//26885 +f 32510//27856 32509//18096 32404//17948 +f 26148//25006 4014//19579 734//19545 +f 216//25551 23676//25550 24262//25782 +f 20816//26855 11751//27091 11750//24801 +f 13793//15178 26251//5299 3994//5864 +f 24954//27638 24973//27833 26055//27639 +f 26076//27834 12191//27857 17578//27643 +f 26055//27639 26076//27834 17578//27643 +f 24976//27500 26091//27451 26086//27689 +f 12191//27857 25440//27858 25439//27663 +f 24401//15636 25950//27104 14142//27090 +f 26049//26970 26191//25495 26048//27038 +f 25808//25530 25789//26851 22586//26731 +f 22782//26676 25426//26766 23781//26256 +f 35911//4729 35793//3572 35756//1165 +f 25756//25207 25757//23141 25898//25263 +f 23157//23615 24612//26839 24383//24876 +f 24200//23655 21247//24492 12252//25501 +f 28069//23957 27952//24063 21337//24006 +f 24077//27188 23670//27066 24026//25582 +f 23670//27066 24561//27067 24026//25582 +f 25323//6063 24648//6342 28377//27165 +f 24285//21744 24469//23841 24346//19024 +f 5594//17507 9760//13382 1994//13844 +f 25600//18034 25742//27156 25741//18035 +f 12648//23191 14795//25406 20908//26660 +f 4663//23192 12648//23191 20908//26660 +f 17578//27643 12191//27857 25439//27663 +f 24717//27859 24540//27664 25439//27663 +f 23584//26918 23743//27029 21336//26919 +f 23705//25310 25256//25309 21724//25486 +f 9013//16072 24870//26708 14091//17319 +f 25358//27144 25501//17359 26085//27022 +f 9390//14083 2777//5706 2913//5743 +f 5352//19236 4014//19579 4553//25007 +f 23789//20621 23845//21911 23844//27577 +f 23788//25175 23789//20621 23844//27577 +f 23845//21911 30556//4911 23902//27578 +f 23845//21911 23902//27578 23844//27577 +f 26004//23729 23886//23731 25860//23733 +f 16148//9010 16149//26671 16292//8407 +f 23606//27154 24077//27188 25446//23687 +f 24240//23686 23606//27154 25446//23687 +f 25967//26869 26109//26868 23429//25012 +f 23954//21626 18455//27640 11712//2663 +f 24541//24749 24816//24700 23835//27533 +f 23834//26618 24541//24749 23835//27533 +f 24232//26956 21661//23736 24341//26990 +f 22883//23644 23723//27140 23936//25324 +f 24046//23763 4383//23563 24834//24525 +f 20142//24500 21958//24499 24821//26620 +f 25518//23722 24710//25674 24052//26684 +f 24374//25671 24341//26990 24425//26612 +f 25440//27858 24717//27859 25439//27663 +f 16762//27860 25726//27666 24540//27664 +f 26285//26923 5353//19159 26286//19235 +f 24565//17225 23157//23615 24383//24876 +f 29699//16810 20988//26182 12541//17102 +f 21454//17086 15406//27040 7931//27079 +f 26047//26810 26048//27038 26189//26890 +f 24557//23109 16931//20087 25714//14798 +f 11751//27091 11669//27083 21180//25119 +f 14759//27082 11669//27083 11751//27091 +f 22646//23730 13809//26201 13275//26885 +f 25740//26785 25741//18035 25882//26786 +f 24010//18847 29947//14414 21409//22658 +f 2//18907 25564//19445 14376//18908 +f 20439//26015 23813//25351 20440//26208 +f 441//25314 20974//25313 23897//24167 +f 25564//19445 25563//27835 25420//19446 +f 25748//25421 25890//24859 25889//24858 +f 25564//19445 25706//17066 25705//27836 +f 25563//27835 25564//19445 25705//27836 +f 25706//17066 25848//27481 25847//27837 +f 25705//27836 25706//17066 25847//27837 +f 25848//27481 25990//27861 25989//27838 +f 25847//27837 25848//27481 25989//27838 +f 25990//27861 26132//27862 26131//27839 +f 25989//27838 25990//27861 26131//27839 +f 26132//27862 26273//27863 26272//27840 +f 26131//27839 26132//27862 26272//27840 +f 26273//27863 25108//27864 23764//27841 +f 26272//27840 26273//27863 23764//27841 +f 25108//27864 25001//27865 22566//27842 +f 23764//27841 25108//27864 22566//27842 +f 25001//27865 24797//27866 24796//27843 +f 22566//27842 25001//27865 24796//27843 +f 24797//27866 22007//27867 25072//27844 +f 24796//27843 24797//27866 25072//27844 +f 22007//27867 25147//27868 23794//27845 +f 25072//27844 22007//27867 23794//27845 +f 24912//27869 9800//27846 23794//27845 +f 25147//27868 24912//27869 23794//27845 +f 24546//27870 26071//27847 9800//27846 +f 24912//27869 24546//27870 9800//27846 +f 23695//27871 25810//27848 26071//27847 +f 24546//27870 23695//27871 26071//27847 +f 21792//27872 21982//27849 25810//27848 +f 23695//27871 21792//27872 25810//27848 +f 25363//27873 22253//27850 21982//27849 +f 21792//27872 25363//27873 21982//27849 +f 23561//27874 24785//27851 22253//27850 +f 25363//27873 23561//27874 22253//27850 +f 26104//27875 20217//27852 24785//27851 +f 23561//27874 26104//27875 24785//27851 +f 23798//27876 23945//27853 20217//27852 +f 26104//27875 23798//27876 20217//27852 +f 23682//27877 25656//27456 23945//27853 +f 23798//27876 23682//27877 23945//27853 +f 21146//24093 18519//21109 21968//24103 +f 24746//22206 25393//27369 21515//22204 +f 33587//18509 6284//2833 34342//22632 +f 23560//27770 24136//15734 23631//25646 +f 26156//27739 26297//27878 26296//27555 +f 26155//24424 26156//27739 26296//27555 +f 21889//25001 25360//24633 23608//26813 +f 23236//25002 21889//25001 23608//26813 +f 26596//4198 24099//24694 23640//27879 +f 24465//5623 25437//27557 24089//20202 +f 24753//22114 23503//25779 23729//26883 +f 24405//17077 11856//17075 23594//26085 +f 13117//23743 24489//8732 22062//27534 +f 25294//23744 13117//23743 22062//27534 +f 13238//9466 25004//18865 25003//11973 +f 20095//23172 23727//8596 24768//8598 +f 22203//27409 22979//27407 23678//25898 +f 24747//8597 20826//23145 23726//23720 +f 21700//25650 23896//25652 23908//25544 +f 25535//25642 25927//25760 21334//25327 +f 20670//18267 24593//18269 20753//24724 +f 25752//25705 25753//25704 25894//25003 +f 25140//23178 17171//19188 15420//19002 +f 26319//23609 26320//23613 23772//23666 +f 12203//1181 13026//1180 13665//2440 +f 27989//27537 24511//27880 30618//27881 +f 26313//27153 23606//27154 24240//23686 +f 26312//25487 26313//27153 24240//23686 +f 25183//24381 25148//16684 24928//24382 +f 12009//23551 24363//26623 23569//25055 +f 25054//26991 25482//23385 25183//24381 +f 25055//24380 25054//26991 25183//24381 +f 23337//25201 16921//26913 24687//25202 +f 26048//27038 26190//26822 26189//26890 +f 12251//2960 12336//3101 12250//2961 +f 26204//25199 24269//17265 23551//25265 +f 24717//27859 16762//27860 24540//27664 +f 22052//27882 20655//27691 25726//27666 +f 12108//23656 25783//24991 16151//27005 +f 25481//25893 23861//26713 24892//26978 +f 25639//23849 25925//27220 25632//16582 +f 24907//26300 20359//26299 20443//26469 +f 26005//17585 13530//2399 24898//27128 +f 16001//20586 15861//24836 15862//20642 +f 20016//25407 22464//15862 27723//27133 +f 481//5576 7772//6018 595//5459 +f 25917//25193 25918//17009 24460//17010 +f 24573//21981 24576//27234 25796//27028 +f 24696//15478 23922//23671 25300//23616 +f 25970//26646 25918//17009 25917//25193 +f 10205//14470 13999//14201 10324//14203 +f 24607//5407 10759//15252 331//5408 +f 23814//9603 26351//9604 30871//16700 +f 25446//23687 24077//27188 24026//25582 +f 499//4754 1542//4755 1776//7674 +f 21985//25499 24050//26912 23337//25201 +f 24164//16309 23784//14295 23775//24869 +f 25360//24633 24029//15658 24237//14660 +f 21721//17267 22100//26959 22005//25266 +f 22880//17274 22782//26676 24461//17275 +f 16762//27860 22052//27882 25726//27666 +f 25060//27883 25059//27692 20655//27691 +f 31849//17621 31848//22833 31748//22709 +f 29297//9512 13555//9511 13459//16133 +f 12713//26632 25313//15545 24689//24996 +f 25590//1883 3223//463 3222//33 +f 31392//6525 31459//15687 31458//4191 +f 23515//24113 20264//23202 25663//23201 +f 23846//27587 23845//21911 23789//20621 +f 17082//7760 25599//18033 17247//65 +f 23904//21115 23903//21116 23846//27587 +f 23846//27587 23903//21116 23845//21911 +f 25350//26863 25298//24498 25299//24501 +f 3222//33 3601//457 25590//1883 +f 26172//27210 26313//27153 26312//25487 +f 26171//23101 26172//27210 26312//25487 +f 21336//26919 23743//27029 24780//25669 +f 22449//23728 22646//23730 16921//26913 +f 24819//27316 23659//27490 22349//27317 +f 1574//9753 18892//21725 1691//9754 +f 16149//26671 16148//9010 25762//9009 +f 18793//19615 1574//9753 1459//9824 +f 24709//17013 24819//27316 24820//26745 +f 25761//26070 25903//26069 25902//27167 +f 2904//13742 13793//15178 26249//27106 +f 25903//26069 26045//26998 26044//27216 +f 22052//27882 25060//27883 20655//27691 +f 25026//27287 24606//25714 24397//24277 +f 21269//27884 20653//27715 25059//27692 +f 25925//27220 26102//17588 25632//16582 +f 25739//25539 25740//26785 25881//24993 +f 26190//26822 26331//26742 26330//26609 +f 31947//21130 31946//21131 31848//22833 +f 20816//26855 14759//27082 11751//27091 +f 21630//26856 21629//27024 25401//25549 +f 25749//23850 25891//23852 25890//24859 +f 25849//27480 25706//17066 25708//17065 +f 25902//27167 25903//26069 26044//27216 +f 22349//27317 23659//27490 25823//27318 +f 35654//14193 35583//10042 35530//5734 +f 14849//27538 27258//23041 24068//17509 +f 12824//16392 12732//5263 14075//17463 +f 25909//16408 15862//20642 26052//26648 +f 67//12672 9539//5284 35807//10399 +f 23858//23663 9636//3136 25249//25723 +f 26495//15861 27723//27133 22464//15862 +f 3042//14698 24501//17939 22441//6016 +f 25849//27480 25991//27885 25990//27861 +f 25848//27481 25849//27480 25990//27861 +f 25991//27885 26133//27886 26132//27862 +f 25990//27861 25991//27885 26132//27862 +f 26133//27886 26274//27887 26273//27863 +f 26132//27862 26133//27886 26273//27863 +f 26274//27887 13272//27888 25108//27864 +f 26273//27863 26274//27887 25108//27864 +f 13272//27888 3726//27889 25001//27865 +f 25108//27864 13272//27888 25001//27865 +f 3726//27889 22154//27890 24797//27866 +f 25001//27865 3726//27889 24797//27866 +f 22154//27890 24975//27891 22007//27867 +f 24797//27866 22154//27890 22007//27867 +f 24975//27891 23762//27892 25147//27868 +f 22007//27867 24975//27891 25147//27868 +f 2890//27893 24912//27869 25147//27868 +f 23762//27892 2890//27893 25147//27868 +f 26199//27894 24546//27870 24912//27869 +f 2890//27893 26199//27894 24912//27869 +f 23574//27895 23695//27871 24546//27870 +f 26199//27894 23574//27895 24546//27870 +f 22784//27896 21792//27872 23695//27871 +f 23574//27895 22784//27896 23695//27871 +f 25625//27897 25363//27873 21792//27872 +f 22784//27896 25625//27897 21792//27872 +f 20580//27898 23561//27874 25363//27873 +f 25625//27897 20580//27898 25363//27873 +f 20204//27899 26104//27875 23561//27874 +f 20580//27898 20204//27899 23561//27874 +f 23853//27900 23798//27876 26104//27875 +f 20204//27899 23853//27900 26104//27875 +f 24448//27901 23682//27877 23798//27876 +f 23853//27900 24448//27901 23798//27876 +f 25393//27369 24746//22206 23682//27877 +f 24448//27901 25393//27369 23682//27877 +f 24312//25763 24957//17624 24244//14650 +f 35062//17655 35061//24880 34932//24879 +f 26297//27878 24527//27902 24534//27532 +f 26296//27555 26297//27878 24534//27532 +f 13659//15797 25543//24945 24693//24947 +f 12752//27903 13659//15797 24693//24947 +f 6632//3429 6633//6615 9548//3430 +f 35406//2706 35904//2708 35814//3183 +f 25968//23594 25967//26869 24410//27221 +f 25542//25774 216//25551 23580//25775 +f 25403//23104 25528//8613 24489//8732 +f 25403//23104 24370//23103 25528//8613 +f 25468//17122 25611//25703 25610//27444 +f 29490//27904 22099//26653 22098//23043 +f 26796//27459 26471//17355 25341//17357 +f 15444//20012 25669//20037 15445//20057 +f 25567//27169 22299//24119 22395//24118 +f 23784//14295 24164//16309 15403//16308 +f 25821//26939 25854//25484 20660//23604 +f 20750//17393 23593//23557 26233//24551 +f 20903//24992 21426//26826 26074//17649 +f 25854//25484 21074//23550 20660//23604 +f 22297//23688 24676//25583 23851//24274 +f 25748//25421 25749//23850 25890//24859 +f 25887//23740 25888//27283 26029//23100 +f 26030//27229 26172//27210 26171//23101 +f 26258//27213 26118//24348 24028//26252 +f 24710//25674 24374//25671 24052//26684 +f 9405//24147 9773//16161 8868//10765 +f 24489//8732 25369//8615 23893//27406 +f 26045//26998 26187//16792 26186//27224 +f 26044//27216 26045//26998 26186//27224 +f 26328//23548 26327//27225 26186//27224 +f 26187//16792 26328//23548 26186//27224 +f 25060//27883 21269//27884 25059//27692 +f 24840//23757 12355//27261 23977//27405 +f 25045//27905 25177//27716 20653//27715 +f 2610//6015 4519//8356 3042//14698 +f 13809//26201 25481//25893 24892//26978 +f 5405//3992 5540//8928 5539//8830 +f 35638//1923 35751//3516 35859//16532 +f 27035//27906 27153//27907 27152//27908 +f 27037//27909 27035//27906 20346//25179 +f 6883//12397 34463//13956 34326//27518 +f 12687//2743 26064//16406 12775//9337 +f 16916//880 16915//122 25604//3960 +f 1526//15177 24870//26708 13793//15178 +f 23639//23610 24888//27910 24887//23611 +f 24660//23549 23864//27250 26327//27225 +f 28215//27911 28098//27912 21183//25589 +f 34676//27147 34804//2302 34675//2304 +f 24561//27067 25077//16351 24026//25582 +f 24364//26940 24611//23658 25861//24933 +f 26118//24348 25221//26764 24028//26252 +f 24723//23597 23556//23599 21890//12457 +f 25234//14661 21983//27376 21607//14662 +f 23178//27489 25255//17288 24449//17287 +f 26328//23548 24660//23549 26327//27225 +f 24660//23549 24945//27351 25049//27263 +f 21269//27884 25045//27905 20653//27715 +f 25144//27913 25145//27914 28230//27915 +f 25217//26772 21357//26747 20740//26749 +f 21357//26747 23918//26770 26097//26748 +f 24878//27145 24873//27107 25358//27144 +f 24186//25640 25226//26688 24231//25641 +f 24631//27013 14759//27082 20816//26855 +f 25401//25549 24545//27023 23676//25550 +f 21885//23148 16047//18158 21697//18160 +f 5470//6866 2264//17014 25708//17065 +f 17322//27183 25097//10891 21377//18731 +f 21066//21192 23848//24902 27637//21193 +f 26036//25004 26037//16637 26178//23608 +f 25891//23852 26033//16431 26032//25059 +f 25745//23739 25746//27281 25887//23740 +f 25888//27283 26030//27229 26029//23100 +f 26097//26748 24080//10957 15406//27040 +f 24983//27341 15592//25239 12273//26798 +f 21235//27217 23765//25206 23959//25156 +f 23852//9114 22012//16018 24657//9115 +f 23864//27250 24660//23549 25049//27263 +f 24945//27351 25073//25288 24084//27269 +f 25049//27263 24945//27351 24084//27269 +f 25073//25288 25023//25290 25297//27292 +f 24084//27269 25073//25288 25297//27292 +f 25045//27905 25144//27913 25177//27716 +f 25011//17823 25012//1504 30535//27916 +f 26152//25871 26153//27326 26293//25545 +f 25047//25536 25046//27917 25999//26857 +f 25501//17359 25375//17110 26085//27022 +f 25531//27108 25389//27014 24015//26765 +f 24545//27023 24631//27013 23676//25550 +f 20862//26965 26103//27143 21630//26856 +f 34411//8188 34548//1342 34410//1344 +f 24129//27194 24070//26624 21452//16424 +f 25023//25290 13461//27262 13365//27295 +f 23622//23692 23801//27580 24288//19848 +f 25371//23176 23506//21983 24835//25094 +f 926//6394 33672//22182 928//3729 +f 20843//23659 25510//23661 25532//25185 +f 24697//25502 20153//24304 21984//24306 +f 16594//2096 16441//2282 16442//2249 +f 29570//20641 29702//19168 13749//12746 +f 25708//17065 25850//20192 25849//27480 +f 24501//17939 3042//14698 13891//7136 +f 25850//20192 25992//27918 25991//27885 +f 25849//27480 25850//20192 25991//27885 +f 25992//27918 26134//27919 26133//27886 +f 25991//27885 25992//27918 26133//27886 +f 26134//27919 26275//27920 26274//27887 +f 26133//27886 26134//27919 26274//27887 +f 26275//27920 13176//27921 13272//27888 +f 26274//27887 26275//27920 13272//27888 +f 13176//27921 5329//27922 3726//27889 +f 13272//27888 13176//27921 3726//27889 +f 5329//27922 21667//27923 22154//27890 +f 3726//27889 5329//27922 22154//27890 +f 21667//27923 24721//27924 24975//27891 +f 22154//27890 21667//27923 24975//27891 +f 24721//27924 26232//27925 23762//27892 +f 24975//27891 24721//27924 23762//27892 +f 25668//27926 2890//27893 23762//27892 +f 26232//27925 25668//27926 23762//27892 +f 25040//27927 26199//27894 2890//27893 +f 25668//27926 25040//27927 2890//27893 +f 23889//27928 23574//27895 26199//27894 +f 25040//27927 23889//27928 26199//27894 +f 22783//27929 22784//27896 23574//27895 +f 23889//27928 22783//27929 23574//27895 +f 25248//27930 25625//27897 22784//27896 +f 22783//27929 25248//27930 22784//27896 +f 25238//27931 20580//27898 25625//27897 +f 25248//27930 25238//27931 25625//27897 +f 26246//27932 20204//27899 20580//27898 +f 25238//27931 26246//27932 20580//27898 +f 25385//27933 23853//27900 20204//27899 +f 26246//27932 25385//27933 20204//27899 +f 25355//27934 24448//27901 23853//27900 +f 25385//27933 25355//27934 23853//27900 +f 21755//13626 25393//27369 24448//27901 +f 25355//27934 21755//13626 24448//27901 +f 21608//4770 30156//4772 21425//13627 +f 21755//13626 21425//13627 25393//27369 +f 24527//27902 12752//27903 15740//27501 +f 23719//24595 23620//27468 23831//25488 +f 24505//15771 13659//15797 12752//27903 +f 24527//27902 24505//15771 12752//27903 +f 23727//8596 20907//25291 24747//8597 +f 24595//24887 25232//25985 25938//5200 +f 23434//23680 13805//3145 24940//24938 +f 24343//24937 24961//24941 24940//24938 +f 24370//23103 23989//8599 25388//25063 +f 25388//25063 23989//8599 26098//25344 +f 27035//27906 27037//27909 27153//27907 +f 22494//26859 25364//23559 25254//26879 +f 9883//13357 10575//13469 12222//14022 +f 24393//27021 24392//25984 23894//26756 +f 16004//20287 25907//26961 16005//27166 +f 25604//3960 25746//27281 25745//23739 +f 20824//24877 21336//26919 22878//23721 +f 32836//21072 32837//2936 32944//20905 +f 23699//27087 22838//27089 23175//27130 +f 7004//23905 25633//26162 10979//26163 +f 24394//27088 24395//25968 22838//27089 +f 12108//23656 25380//23554 25783//24991 +f 26029//23100 26030//27229 26171//23101 +f 23612//26640 24565//17225 24382//26784 +f 3037//23985 14794//27101 25681//27352 +f 25466//10185 25467//17123 25609//27209 +f 24514//17084 24920//17368 25047//25536 +f 26289//25532 26290//25044 21235//27217 +f 25297//27292 25023//25290 13365//27295 +f 13461//27262 24009//27288 24004//27296 +f 13365//27295 13461//27262 24004//27296 +f 24009//27288 23698//26897 23697//27323 +f 12422//27127 23657//27240 24595//24887 +f 23745//23130 21916//23097 24749//25916 +f 24004//27296 24009//27288 23697//27323 +f 26008//27215 26150//25043 26149//25042 +f 24270//24999 17087//25000 24590//24935 +f 34463//13956 6883//12397 6882//13673 +f 13506//8616 13597//6592 13507//8410 +f 5352//19236 4553//25007 4554//19237 +f 26053//23264 26052//26648 15862//20642 +f 23698//26897 23823//25455 23768//27337 +f 21056//23684 22288//26701 25628//24548 +f 13116//6421 12059//6281 12140//15154 +f 16069//18949 15928//291 18718//20544 +f 15861//24836 16001//20586 16000//20551 +f 24053//1467 23968//27935 24888//27910 +f 23639//23610 24053//1467 24888//27910 +f 24705//6330 24826//6332 24888//27910 +f 23968//27935 24705//6330 24888//27910 +f 24879//23543 24875//24116 25451//23544 +f 26818//27936 24638//27937 24531//27938 +f 21796//12456 24723//23597 21890//12457 +f 24561//27067 24280//27068 23178//27489 +f 21889//25001 20659//24632 25360//24633 +f 21721//17267 24484//25121 22100//26959 +f 23704//23876 25932//27170 3625//27541 +f 17163//18511 2921//3126 16998//18479 +f 20159//18537 26579//12452 24958//12451 +f 6535//27601 25373//21861 6655//21860 +f 25789//26851 22585//26777 22586//26731 +f 22585//26777 22488//27030 22107//25756 +f 22563//26787 22662//27184 24186//25640 +f 16109//18271 16108//19209 23939//25176 +f 24030//27180 23993//27176 25530//27205 +f 24589//27072 24485//25200 24814//27939 +f 25602//23665 25744//25788 25743//27157 +f 23676//25550 24631//27013 20816//26855 +f 23241//14413 21319//25259 21409//22658 +f 15238//8025 15112//8024 23688//27575 +f 23549//24803 23664//26762 23663//15920 +f 24197//27611 15674//18774 15673//18707 +f 25790//27045 22683//27327 25791//27268 +f 25063//15357 25064//26013 24514//17084 +f 25603//16155 25604//3960 25745//23739 +f 25746//27281 25888//27283 25887//23740 +f 25467//17123 25610//27444 25609//27209 +f 25610//27444 25752//25705 25751//27042 +f 25943//27037 23505//27185 22781//26637 +f 25335//23596 25334//26638 22781//26637 +f 23697//27323 23698//26897 23768//27337 +f 23823//25455 23140//25456 25182//27507 +f 23768//27337 23823//25455 25182//27507 +f 23140//25456 25306//25531 24248//27508 +f 24152//17661 24151//20981 24092//25322 +f 11857//27690 12024//26892 23983//25526 +f 24171//27746 25517//27536 25515//17336 +f 22368//27380 24216//27379 20600//27428 +f 26090//14315 26089//18978 14332//18359 +f 24873//27107 24878//27145 25389//27014 +f 12359//26634 25570//22933 25571//18765 +f 21629//27024 24545//27023 25401//25549 +f 23993//27176 24030//27180 20862//26965 +f 14990//255 14871//15208 23797//27940 +f 3042//14698 4519//8356 2903//3545 +f 23659//27490 25384//27319 25823//27318 +f 23801//27580 24289//25970 24288//19848 +f 24573//21981 25796//27028 25795//27247 +f 20561//19001 20562//15956 20560//3180 +f 24572//22025 24573//21981 25795//27247 +f 25796//27028 25971//26831 23827//26690 +f 24047//25084 12444//17096 25206//25080 +f 21537//25295 25542//25774 25684//25296 +f 26292//25872 26293//25545 12356//25546 +f 15446//20091 24872//17627 19985//17629 +f 25851//20329 25993//15128 25992//27918 +f 25850//20192 25851//20329 25992//27918 +f 25993//15128 26135//27941 26134//27919 +f 25992//27918 25993//15128 26134//27919 +f 26135//27941 26276//27942 26275//27920 +f 26134//27919 26135//27941 26275//27920 +f 26276//27942 22489//27943 13176//27921 +f 26275//27920 26276//27942 13176//27921 +f 22489//27943 14965//27944 5329//27922 +f 13176//27921 22489//27943 5329//27922 +f 14965//27944 20221//27945 21667//27923 +f 5329//27922 14965//27944 21667//27923 +f 20221//27945 24847//27946 24721//27924 +f 21667//27923 20221//27945 24721//27924 +f 23863//27947 26232//27925 24721//27924 +f 24847//27946 23863//27947 24721//27924 +f 13566//27948 25668//27926 26232//27925 +f 23863//27947 13566//27948 26232//27925 +f 12987//27949 25040//27927 25668//27926 +f 13566//27948 12987//27949 25668//27926 +f 23696//27950 23889//27928 25040//27927 +f 12987//27949 23696//27950 25040//27927 +f 22881//27951 22783//27929 23889//27928 +f 23696//27950 22881//27951 23889//27928 +f 25008//27952 25248//27930 22783//27929 +f 22881//27951 25008//27952 22783//27929 +f 15870//27953 25238//27931 25248//27930 +f 25008//27952 15870//27953 25248//27930 +f 24552//27954 26246//27932 25238//27931 +f 15870//27953 24552//27954 25238//27931 +f 23973//27955 25385//27933 26246//27932 +f 24552//27954 23973//27955 26246//27932 +f 25421//27956 25355//27934 25385//27933 +f 23973//27955 25421//27956 25385//27933 +f 26242//6749 21755//13626 25355//27934 +f 25421//27956 26242//6749 25355//27934 +f 24521//25931 29358//27957 21720//26836 +f 27982//10789 24521//25931 21720//26836 +f 24534//27532 24527//27902 15740//27501 +f 12752//27903 24693//24947 24692//27475 +f 26298//15769 24505//15771 24527//27902 +f 26297//27878 26298//15769 24527//27902 +f 13297//5199 24595//24887 25938//5200 +f 25232//25985 23824//18009 24777//24645 +f 24458//23620 22665//15462 23434//23680 +f 13805//3145 24939//24936 24940//24938 +f 25956//8738 24645//24995 26098//25344 +f 24415//27251 25316//25230 23511//26971 +f 24533//23625 21374//27958 24301//23044 +f 26165//25418 26306//26975 26305//26880 +f 20828//26872 25109//26917 24261//25308 +f 24920//17368 24921//17367 25142//25354 +f 13664//26071 22561//26738 23077//26072 +f 24106//26086 25474//25422 25473//25892 +f 25894//25003 26036//25004 26035//27228 +f 25893//27043 25894//25003 26035//27228 +f 26319//23609 23772//23666 23562//27279 +f 26036//25004 26178//23608 26177//27252 +f 23772//23666 25448//26760 24437//27280 +f 26318//27253 26319//23609 23562//27279 +f 23680//23552 12009//23551 24571//2845 +f 23562//27279 23772//23666 24437//27280 +f 24674//25261 25482//23385 25054//26991 +f 25053//25498 24674//25261 25054//26991 +f 25780//14652 25781//27186 25943//27037 +f 23505//27185 25969//27074 22781//26637 +f 25182//27507 23140//25456 24248//27508 +f 23931//26732 24210//27509 24248//27508 +f 25306//25531 23931//26732 24248//27508 +f 20600//27428 20516//27510 24210//27509 +f 24168//25679 24171//27746 25515//17336 +f 22385//19534 24171//27746 24168//25679 +f 28225//21054 24430//27959 29676//27960 +f 29570//20641 13749//12746 13651//12636 +f 25763//9011 25905//26809 25762//9009 +f 10466//15536 11672//26979 21092//26951 +f 24589//27072 24814//27939 24813//26707 +f 25814//16485 24270//24999 23917//26667 +f 26329//16791 26328//23548 26187//16792 +f 23931//26732 20600//27428 24210//27509 +f 24814//27939 24760//27073 24813//26707 +f 20437//16479 23932//27961 23602//16480 +f 13722//4173 13623//4175 13624//7145 +f 33739//890 33738//16626 33611//891 +f 23602//16480 23969//27962 23968//27935 +f 24053//1467 23602//16480 23968//27935 +f 24704//27963 24705//6330 23968//27935 +f 23969//27962 24704//27963 23968//27935 +f 24531//27938 24638//27937 24705//6330 +f 24704//27963 24531//27938 24705//6330 +f 25077//16351 24561//27067 23178//27489 +f 25936//23212 26816//27964 24531//27938 +f 13175//26958 24435//26613 22100//26959 +f 24280//27068 14840//27178 25255//17288 +f 17163//18511 16998//18479 16999//18508 +f 24106//26086 24101//24636 25652//17406 +f 24158//27965 24159//16226 23255//1555 +f 24914//15095 24158//27965 23255//1555 +f 27179//14580 11835//15262 27297//2905 +f 24529//14648 24244//14650 24172//17107 +f 24414//19199 25013//19198 11771//20377 +f 20600//27428 24216//27379 24812//27535 +f 24006//23819 13197//23818 16464//21074 +f 23621//25416 25531//27108 24015//26765 +f 24385//26761 24386//27010 25654//26699 +f 24016//27011 25529//27015 25530//27205 +f 15321//17663 15449//17662 15448//20166 +f 21330//24720 21418//26982 21420//24771 +f 25458//14943 22012//16018 25457//14944 +f 20436//7735 23932//27961 20437//16479 +f 23980//26179 20222//27430 20885//27491 +f 25601//18718 25602//23665 25743//27157 +f 26315//16552 26316//23603 25290//25719 +f 24158//27965 31752//27486 24159//16226 +f 31046//16550 31108//22783 31107//15002 +f 34600//23742 19433//22559 34219//18704 +f 25609//27209 25610//27444 25751//27042 +f 25752//25705 25894//25003 25893//27043 +f 22202//16055 26239//27208 25780//14652 +f 25781//27186 23505//27185 25943//27037 +f 20516//27510 20600//27428 24812//27535 +f 24216//27379 12996//23761 24126//26932 +f 24812//27535 24216//27379 24126//26932 +f 19678//27966 25514//23762 24856//27381 +f 8681//15538 9279//17490 11672//26979 +f 25069//26942 25769//19983 11771//20377 +f 25021//26896 25017//15543 12713//26632 +f 24699//23893 25911//26915 25910//27076 +f 25013//19198 23552//16483 11771//20377 +f 25978//27306 24357//16194 25107//19745 +f 24485//25200 21816//25061 24814//27939 +f 26103//27143 21629//27024 21630//26856 +f 25529//27015 24030//27180 25530//27205 +f 26062//26925 24123//26902 25635//16950 +f 24780//25669 23757//26963 24375//25670 +f 21823//17101 21451//24463 23674//23128 +f 24292//15849 25581//15851 25567//27169 +f 24893//16430 24396//27041 11839//8594 +f 26012//15766 26153//27326 1679//19670 +f 25971//26831 16237//26832 25454//26664 +f 25795//27247 25796//27028 23827//26690 +f 25968//23594 24410//27221 23557//25039 +f 25064//26013 23720//5442 24514//17084 +f 25101//24927 25431//24269 23802//24928 +f 21247//24492 24944//25340 12252//25501 +f 12457//16887 23633//16889 3323//16890 +f 15402//18549 15273//9467 15274//8205 +f 25994//15127 26136//27967 26135//27941 +f 25993//15128 25994//15127 26135//27941 +f 26136//27967 26277//27968 26276//27942 +f 26135//27941 26136//27967 26276//27942 +f 26277//27968 20493//27969 22489//27943 +f 26276//27942 26277//27968 22489//27943 +f 20493//27969 14966//27970 14965//27944 +f 22489//27943 20493//27969 14965//27944 +f 14966//27970 23254//27971 20221//27945 +f 14965//27944 14966//27970 20221//27945 +f 23254//27971 24846//27972 24847//27946 +f 20221//27945 23254//27971 24847//27946 +f 24966//27973 23863//27947 24847//27946 +f 24846//27972 24966//27973 24847//27946 +f 25160//27974 13566//27948 23863//27947 +f 24966//27973 25160//27974 23863//27947 +f 23078//27975 12987//27949 13566//27948 +f 25160//27974 23078//27975 13566//27948 +f 23078//27975 23884//27976 23696//27950 +f 12987//27949 23078//27975 23696//27950 +f 23884//27976 23568//27977 22881//27951 +f 23696//27950 23884//27976 22881//27951 +f 25087//27978 25008//27952 22881//27951 +f 23568//27977 25087//27978 22881//27951 +f 24384//27979 15870//27953 25008//27952 +f 25087//27978 24384//27979 25008//27952 +f 24666//27980 24552//27954 15870//27953 +f 24384//27979 24666//27980 15870//27953 +f 24051//27981 23973//27955 24552//27954 +f 24666//27980 24051//27981 24552//27954 +f 23946//27982 25421//27956 23973//27955 +f 24051//27981 23946//27982 23973//27955 +f 33789//26106 34338//27983 17816//5002 +f 17816//5002 34338//27983 11443//15975 +f 24078//25884 24324//25045 24957//17624 +f 24245//25764 24312//25763 24244//14650 +f 15740//27501 12752//27903 24692//27475 +f 24693//24947 12536//23750 14274//23749 +f 26157//24453 26298//15769 26297//27878 +f 26156//27739 26157//24453 26297//27878 +f 25938//5200 25232//25985 24777//24645 +f 33052//17566 33157//2945 33156//17567 +f 11691//23682 24763//27124 24458//23620 +f 22665//15462 13805//3145 23434//23680 +f 26121//23791 26261//26774 24967//23646 +f 26001//24376 25931//25593 24047//25084 +f 25805//27033 21918//27006 12625//26981 +f 22297//23688 25446//23687 24676//25583 +f 25303//16512 24744//16511 24982//24007 +f 21336//26919 24780//25669 24710//25674 +f 24566//17058 21375//22556 17265//2568 +f 20159//18537 20245//18536 26579//12452 +f 26035//27228 26036//25004 26177//27252 +f 26178//23608 26319//23609 26318//27253 +f 25583//23649 25588//27227 22202//16055 +f 26239//27208 25781//27186 25780//14652 +f 24320//27226 25588//27227 25583//23649 +f 24300//15850 24320//27226 25583//23649 +f 25448//26760 25101//24927 25239//24990 +f 25588//27227 26239//27208 22202//16055 +f 25330//25415 21635//25414 25329//27081 +f 25053//25498 25054//26991 11945//26796 +f 26089//18978 14342//18325 14332//18359 +f 24727//25337 24502//25580 23648//24302 +f 24126//26932 12996//23761 24762//26931 +f 25713//25664 24557//23109 25714//14798 +f 25979//23110 21335//15479 20746//23365 +f 23143//25257 24008//17511 23045//21076 +f 23952//9129 20062//25570 16465//2665 +f 26051//25402 26050//26960 25908//20288 +f 26193//25401 26192//26945 26050//26960 +f 25168//25716 25036//27059 24855//25717 +f 25013//19198 26204//25199 24755//16484 +f 24352//27026 25117//27032 24711//26614 +f 25909//16408 26051//25402 25908//20288 +f 24469//23841 26288//8729 23707//8731 +f 26113//26876 24592//17000 24371//17002 +f 24429//19025 24346//19024 23707//8731 +f 15583//20338 15582//20301 15452//12455 +f 23932//27961 24889//27984 23969//27962 +f 23602//16480 23932//27961 23969//27962 +f 24588//23213 24704//27963 23969//27962 +f 24889//27984 24588//23213 23969//27962 +f 35692//6817 35849//12100 35756//1165 +f 24588//23213 25936//23212 24704//27963 +f 26211//15359 25062//15358 12802//25529 +f 25380//23554 20903//24992 25783//24991 +f 23178//27489 24280//27068 25255//17288 +f 16167//27131 23175//27130 25712//25709 +f 14840//27178 24364//26940 4781//26862 +f 25255//17288 14840//27178 4781//26862 +f 24486//27985 24158//27965 24914//15095 +f 24163//1554 24914//15095 23255//1555 +f 15632//24835 15768//20328 15767//19610 +f 24288//19848 24289//25970 25566//19849 +f 21911//26679 24352//27026 24435//26613 +f 25654//26699 25530//27205 12624//26700 +f 6659//10107 28366//27986 26522//27987 +f 24548//10121 23919//10120 20828//26872 +f 25654//26699 24016//27011 25530//27205 +f 22882//23645 23679//25325 21793//23281 +f 23592//17590 24646//26967 24639//26943 +f 25194//26083 25639//23849 24523//16581 +f 26311//24768 23975//24948 12997//24769 +f 12190//23847 24960//23846 25824//26819 +f 25744//25788 25886//23741 25885//27189 +f 25510//23661 25663//23201 11753//26840 +f 23687//24667 23741//24537 22956//24603 +f 16146//9294 16005//27166 25763//9011 +f 24876//23546 20515//23545 25858//25182 +f 25678//23123 24876//23546 25858//25182 +f 25751//27042 25752//25705 25893//27043 +f 24437//27280 25448//26760 25239//24990 +f 21632//24986 24320//27226 24300//15850 +f 26248//24186 21632//24986 24300//15850 +f 22980//25117 22882//23645 21793//23281 +f 20430//23673 23974//25556 23620//27468 +f 24019//23719 23750//16023 23970//25721 +f 32611//25068 32725//9253 32610//9255 +f 23626//27120 24707//26881 23617//26848 +f 24707//26881 23628//23892 23617//26848 +f 25713//25664 25714//14798 23691//23186 +f 34410//1344 34547//1343 34409//14854 +f 13175//26958 21911//26679 24435//26613 +f 12023//27053 12104//16663 20924//27060 +f 23635//27219 23595//27438 25925//27220 +f 24030//27180 26103//27143 20862//26965 +f 24386//27010 24016//27011 25654//26699 +f 25489//24350 25341//17357 24908//26949 +f 25254//26879 25253//23725 24626//23727 +f 24602//25827 25805//27033 25804//25828 +f 23546//26076 24599//25826 24594//27019 +f 24488//24699 25687//25489 23601//17397 +f 24816//24700 24488//24699 23601//17397 +f 16237//26832 22976//25787 25150//26665 +f 23827//26690 25971//26831 25454//26664 +f 9635//25800 4546//25240 24027//25293 +f 13014//16535 11964//22739 10234//15484 +f 24775//18703 20015//18735 15537//18702 +f 22200//14013 24879//23543 24876//23546 +f 35898//13824 35735//6914 35743//6243 +f 35594//19311 35378//1951 35881//3550 +f 25995//23497 26137//27988 26136//27967 +f 25994//15127 25995//23497 26136//27967 +f 26137//27988 26278//27989 26277//27968 +f 26136//27967 26137//27988 26277//27968 +f 26278//27989 23821//27990 20493//27969 +f 26277//27968 26278//27989 20493//27969 +f 23821//27990 15087//27991 14966//27970 +f 20493//27969 23821//27990 14966//27970 +f 15087//27991 24670//27992 23254//27971 +f 14966//27970 15087//27991 23254//27971 +f 24670//27992 24845//27993 24846//27972 +f 23254//27971 24670//27992 24846//27972 +f 24845//27993 25028//27994 24966//27973 +f 24846//27972 24845//27993 24966//27973 +f 13394//27995 25160//27974 24966//27973 +f 25028//27994 13394//27995 24966//27973 +f 13394//27995 25257//27996 23078//27975 +f 25160//27974 13394//27995 23078//27975 +f 25258//27997 23884//27976 23078//27975 +f 25257//27996 25258//27997 23078//27975 +f 26075//27998 23568//27977 23884//27976 +f 25258//27997 26075//27998 23884//27976 +f 24754//27999 25087//27978 23568//27977 +f 26075//27998 24754//27999 23568//27977 +f 24387//28000 24384//27979 25087//27978 +f 24754//27999 24387//28000 25087//27978 +f 24665//28001 24666//27980 24384//27979 +f 24387//28000 24665//28001 24384//27979 +f 23906//28002 24051//27981 24666//27980 +f 24665//28001 23906//28002 24666//27980 +f 24022//28003 23946//27982 24051//27981 +f 23906//28002 24022//28003 24051//27981 +f 24228//28004 21747//20750 23316//22929 +f 24022//28003 23316//22929 23946//27982 +f 23896//25652 23895//26938 25327//25653 +f 25348//27773 24942//27772 20764//25649 +f 24692//27475 24693//24947 14274//23749 +f 12536//23750 23236//25002 20739//23751 +f 26015//27556 26157//24453 26156//27739 +f 26014//27738 26015//27556 26156//27739 +f 20985//26682 25374//16997 22392//25370 +f 24921//17367 24922//24057 23660//25353 +f 24947//25082 24946//25348 11691//23682 +f 24763//27124 22665//15462 24458//23620 +f 23936//25324 13177//27141 24415//27251 +f 24701//26895 24584//26081 4249//26739 +f 29767//4771 21608//4770 19795//6748 +f 25233//23792 25816//26944 24897//23793 +f 21356//26865 21446//26780 25195//26782 +f 25743//27157 25744//25788 25885//27189 +f 24829//22618 22876//11033 24959//7150 +f 26316//23603 22367//23900 25290//25719 +f 26177//27252 26178//23608 26318//27253 +f 23802//24928 24876//23546 25678//23123 +f 24309//23672 25449//23173 20430//23673 +f 29947//14414 453//28005 24069//14412 +f 25349//9082 21814//25204 21815//26721 +f 32837//2936 32836//21072 32724//9254 +f 23936//25324 24415//27251 24192//24594 +f 25399//22428 12008//10790 21815//26721 +f 21635//25414 25053//25498 11945//26796 +f 25449//23173 24768//8598 23974//25556 +f 23268//23598 25161//23190 4663//23192 +f 24869//25196 25020//25334 25329//27081 +f 12111//17870 24344//17350 26195//17871 +f 21814//25204 25399//22428 21815//26721 +f 24218//23282 24192//24594 23719//24595 +f 31047//24734 31048//4731 31109//18898 +f 20430//23673 23620//27468 23719//24595 +f 25167//16640 24513//26969 24715//6595 +f 11333//16886 25107//19745 24357//16194 +f 20521//25813 23991//7733 20522//25810 +f 20015//18735 23758//23724 23744//27832 +f 24197//27611 20015//18735 23744//27832 +f 23758//23724 24974//27800 24973//27833 +f 23744//27832 23758//23724 24973//27833 +f 24974//27800 26086//27689 26076//27834 +f 25917//25193 24460//17010 23870//24981 +f 24484//25121 23715//25190 13175//26958 +f 21815//26721 24570//27561 6851//9080 +f 35755//21464 34247//20154 35382//11625 +f 23932//27961 20436//7735 24889//27984 +f 24890//7734 24904//28006 20436//7735 +f 24587//23214 24588//23213 24889//27984 +f 24904//28006 24587//23214 24889//27984 +f 21884//24534 21981//24536 23796//24538 +f 21884//24534 21791//28007 21512//27803 +f 13853//24901 21509//24832 23848//24902 +f 23879//23670 21245//23562 21158//27600 +f 25773//26626 23876//20583 13556//17647 +f 24011//19496 21873//18849 23952//9129 +f 35810//7013 35494//607 35650//7020 +f 14084//2151 35685//3617 30023//28008 +f 25522//28009 24486//27985 23671//28010 +f 22008//27241 25522//28009 23671//28010 +f 24973//27833 24974//27800 26076//27834 +f 26086//27689 11857//27690 12191//27857 +f 25140//23178 14474//7745 17171//19188 +f 13275//26885 13809//26201 12716//26886 +f 24077//27188 24075//17210 23670//27066 +f 23718//23674 20430//23673 23719//24595 +f 16754//541 16753//908 25466//10185 +f 15952//18830 15813//18829 15814//5843 +f 23546//26076 23548//26830 24599//25826 +f 22483//27204 22386//17560 25494//23174 +f 22080//25328 21334//25327 24526//26673 +f 10980//2475 35561//2474 13619//7477 +f 23721//24597 24466//25987 26069//24598 +f 12189//27007 24502//25580 12105//25579 +f 11357//16123 4524//17045 9279//17490 +f 25039//17227 23495//17229 22564//27484 +f 25068//23824 26234//24378 25858//25182 +f 3998//8379 4801//13600 16868//8380 +f 25713//25664 12640//14707 24557//23109 +f 24768//8598 24019//23719 23974//25556 +f 26285//26923 25670//25789 26284//25153 +f 23511//26971 24309//23672 23718//23674 +f 24407//25457 24402//27607 25785//27608 +f 25044//22544 30099//28011 25280//22545 +f 24407//25457 25660//1311 25649//27609 +f 24402//27607 24407//25457 25649//27609 +f 26076//27834 26086//27689 12191//27857 +f 23643//24715 26220//25776 24935//24716 +f 11857//27690 23983//25526 25440//27858 +f 25038//26816 25170//26815 23926//26814 +f 25597//14161 25598//26934 25739//25539 +f 24927//27008 12189//27007 12105//25579 +f 26206//27070 13016//22664 24767//26710 +f 12189//27007 24386//27010 24385//26761 +f 24502//25580 12189//27007 24385//26761 +f 23563//16999 24223//24493 23605//23095 +f 20578//22756 19333//22755 18125//22909 +f 23721//24597 12358//24635 24466//25987 +f 25154//24932 22012//16018 25458//14943 +f 22976//25787 22387//27202 25089//27118 +f 25454//26664 16237//26832 25150//26665 +f 25687//25489 23751//2196 25545//23105 +f 25816//26944 26056//23662 25958//25836 +f 24412//23124 25678//23123 23517//24117 +f 25996//18842 5209//18795 370//18791 +f 2531//18926 2344//16514 4670//16513 +f 25660//1311 24390//27348 23576//27610 +f 25996//18842 26138//26927 26137//27988 +f 25995//23497 25996//18842 26137//27988 +f 26138//26927 26279//28012 26278//27989 +f 26137//27988 26138//26927 26278//27989 +f 26279//28012 22394//28013 23821//27990 +f 26278//27989 26279//28012 23821//27990 +f 22394//28013 24454//28014 15087//27991 +f 23821//27990 22394//28013 15087//27991 +f 24671//28015 24670//27992 15087//27991 +f 24454//28014 24671//28015 15087//27991 +f 23753//28016 24845//27993 24670//27992 +f 24671//28015 23753//28016 24670//27992 +f 25007//28017 25028//27994 24845//27993 +f 23753//28016 25007//28017 24845//27993 +f 25007//28017 25082//28018 13394//27995 +f 25028//27994 25007//28017 13394//27995 +f 23880//28019 25257//27996 13394//27995 +f 25082//28018 23880//28019 13394//27995 +f 23885//28020 25258//27997 25257//27996 +f 23880//28019 23885//28020 25257//27996 +f 23941//28021 26075//27998 25258//27997 +f 23885//28020 23941//28021 25258//27997 +f 23941//28021 12360//28022 24754//27999 +f 26075//27998 23941//28021 24754//27999 +f 23512//28023 24387//28000 24754//27999 +f 12360//28022 23512//28023 24754//27999 +f 24784//28024 24665//28001 24387//28000 +f 23512//28023 24784//28024 24387//28000 +f 23907//28025 23906//28002 24665//28001 +f 24784//28024 23907//28025 24665//28001 +f 24021//28026 24022//28003 23906//28002 +f 23907//28025 24021//28026 23906//28002 +f 24227//28027 28989//12444 24228//28004 +f 24021//28026 24228//28004 24022//28003 +f 25327//25653 25348//27773 20764//25649 +f 24942//27772 22682//27771 22584//25645 +f 23979//27254 26111//27158 23566//24638 +f 25869//26946 25910//27076 24513//26969 +f 23549//24803 23553//23137 23664//26762 +f 23553//23137 23924//10331 23664//26762 +f 21968//24103 18519//21109 22057//22483 +f 25923//23175 25513//25356 25371//23176 +f 24809//25086 24810//25427 24947//25082 +f 24946//25348 24763//27124 11691//23682 +f 24844//27383 23665//17471 23277//23561 +f 25653//16068 24515//28028 23610//18730 +f 32093//21171 32193//25891 32092//9831 +f 7083//1571 35469//10656 26522//27987 +f 25886//23741 26028//23132 26027//27190 +f 25885//27189 25886//23741 26027//27190 +f 23904//21115 21066//21192 29411//21191 +f 25947//16214 24149//16374 25803//17162 +f 24130//23122 23802//24928 25678//23123 +f 23888//27466 24471//24379 26234//24378 +f 25670//25789 13080//25154 26284//25153 +f 25807//24831 23269//24830 25665//25125 +f 25649//27609 25660//1311 23576//27610 +f 24390//27348 26238//26167 26227//27641 +f 23576//27610 24390//27348 26227//27641 +f 23767//23723 24976//27500 24974//27800 +f 26238//26167 23867//26166 23866//27642 +f 21635//25414 11945//26796 25329//27081 +f 24165//10119 25819//27201 23919//10120 +f 26227//27641 26238//26167 23866//27642 +f 23867//26166 23658//23683 12534//27662 +f 23866//27642 23867//26166 12534//27662 +f 23991//7733 20521//25813 24110//28029 +f 12191//27857 11857//27690 25440//27858 +f 26166//26974 26307//27328 26306//26975 +f 25387//25528 24717//27859 25440//27858 +f 26208//25215 23600//24899 20762//22662 +f 23715//25190 21911//26679 13175//26958 +f 23658//23683 25484//23685 25483//27665 +f 22564//27484 23495//17229 22663//24985 +f 12534//27662 23658//23683 25483//27665 +f 20436//7735 24904//28006 24889//27984 +f 24586//28030 24587//23214 24904//28006 +f 24890//7734 24586//28030 24904//28006 +f 33999//16885 33998//24184 33863//11196 +f 24586//28030 24637//14769 24587//23214 +f 25718//26619 23879//23670 21158//27600 +f 26312//25487 24240//23686 23975//24948 +f 26091//27451 12024//26892 11857//27690 +f 25298//24498 25300//23616 21958//24499 +f 26814//5195 26929//5197 24637//14769 +f 30490//20908 24751//1424 9403//1426 +f 25806//28031 25522//28009 22008//27241 +f 22778//4199 25806//28031 22008//27241 +f 23983//25526 25387//25528 25440//27858 +f 25526//25453 16762//27860 24717//27859 +f 23590//22513 23637//9444 23636//22512 +f 23636//22512 23637//9444 23055//24666 +f 16293//3213 16292//8407 16149//26671 +f 23055//24666 23637//9444 23687//24667 +f 22100//26959 24351//23463 24268//23384 +f 33056//16089 33161//16094 33055//16622 +f 25949//28032 23520//442 25664//6185 +f 16868//8380 4801//13600 16711//19657 +f 25825//26820 20744//27109 25397//26821 +f 13247//3532 13343//3559 13246//3530 +f 24927//27008 12105//25579 24394//27088 +f 24702//27035 24927//27008 24394//27088 +f 12716//26886 24892//26978 12805//26976 +f 25685//20126 22201//26800 26193//25401 +f 24200//23655 12252//25501 24107//27162 +f 30629//28033 30763//25057 23570//25056 +f 24310//27483 22564//27484 22296//24984 +f 26138//26927 370//18791 26139//12461 +f 25942//25816 30360//28034 30226//24107 +f 25484//23685 15318//24549 25483//27665 +f 22040//27688 15318//24549 22137//18761 +f 24985//25336 23979//27254 24416//25901 +f 22586//26731 20682//26778 23931//26732 +f 21268//17169 12998//24151 21449//25759 +f 25387//25528 25526//25453 24717//27859 +f 12802//25529 22052//27882 16762//27860 +f 25526//25453 12802//25529 16762//27860 +f 24394//27088 12105//25579 24395//25968 +f 25665//25125 24400//24693 25289//21486 +f 24376//26964 25827//27122 24258//27065 +f 21243//23425 23911//25216 23971//25212 +f 1025//27034 23869//27036 3475//27129 +f 24702//27035 24394//27088 23699//27087 +f 22681//25878 24194//26930 23499//25638 +f 26078//25831 25997//24696 24400//24693 +f 25593//37 25594//23802 25735//25899 +f 25877//24942 25878//23798 26019//24943 +f 22387//27202 26207//25270 26206//27070 +f 25150//26665 22976//25787 25089//27118 +f 24123//26902 24767//26710 25576//26903 +f 24730//23664 25249//25723 24477//25724 +f 26024//27212 26166//26974 26165//25418 +f 26023//25417 26024//27212 26165//25418 +f 25218//2767 24998//17358 25531//27108 +f 35627//10328 24861//21862 1530//5541 +f 13078//16468 25650//14261 26096//26647 +f 25334//26638 25333//26935 24789//26639 +f 26139//12461 26280//26867 26279//28012 +f 26138//26927 26139//12461 26279//28012 +f 26280//26867 23961//28035 22394//28013 +f 26279//28012 26280//26867 22394//28013 +f 23961//28035 20601//28036 24454//28014 +f 22394//28013 23961//28035 24454//28014 +f 15883//28037 24671//28015 24454//28014 +f 20601//28036 15883//28037 24454//28014 +f 23752//28038 23753//28016 24671//28015 +f 15883//28037 23752//28038 24671//28015 +f 23736//28039 25007//28017 23753//28016 +f 23752//28038 23736//28039 23753//28016 +f 23736//28039 25083//28040 25082//28018 +f 25007//28017 23736//28039 25082//28018 +f 25083//28040 25208//28041 23880//28019 +f 25082//28018 25083//28040 23880//28019 +f 25208//28041 25648//28042 23885//28020 +f 23880//28019 25208//28041 23885//28020 +f 25648//28042 23940//28043 23941//28021 +f 23885//28020 25648//28042 23941//28021 +f 23940//28043 23641//28044 12360//28022 +f 23941//28021 23940//28043 12360//28022 +f 23667//28045 23512//28023 12360//28022 +f 23641//28044 23667//28045 12360//28022 +f 23541//28046 24784//28024 23512//28023 +f 23667//28045 23541//28046 23512//28023 +f 24307//28047 23907//28025 24784//28024 +f 23541//28046 24307//28047 24784//28024 +f 24884//28048 24021//28026 23907//28025 +f 24307//28047 24884//28048 23907//28025 +f 25145//27914 25144//27913 25045//27905 +f 24884//28048 24227//28027 24021//28026 +f 20764//25649 24942//27772 22584//25645 +f 23560//27770 23631//25646 22584//25645 +f 25728//17088 25720//25450 24451//6603 +f 23743//27029 23757//26963 24780//25669 +f 26018//24944 26160//25483 26159//25658 +f 26017//27103 26018//24944 26159//25658 +f 21816//25061 24783//25060 24814//27939 +f 25876//25900 26018//24944 26017//27103 +f 15604//25380 12007//26773 23838//24983 +f 8484//13181 7548//6706 12142//6688 +f 22745//27776 21377//18731 23610//18730 +f 25674//25662 11943//25011 24532//27417 +f 11943//25011 24849//17408 23656//27416 +f 26219//16215 23929//23737 24515//28028 +f 26028//23132 26170//23102 26169//27078 +f 25146//1505 25012//1504 25829//25552 +f 22533//27517 25345//26874 25346//27237 +f 26027//27190 26028//23132 26169//27078 +f 25068//23824 23888//27466 26234//24378 +f 391//19286 505//16646 734//19545 +f 22882//23645 22883//23644 23679//25325 +f 23888//27466 23721//24597 11942//24596 +f 24850//17085 25999//26857 25061//26922 +f 22564//27484 22663//24985 22296//24984 +f 27836//28049 27837//23262 21248//24062 +f 24977//24870 26092//27187 26091//27451 +f 12276//23541 24310//27483 25959//25986 +f 24976//27500 24977//24870 26091//27451 +f 22880//17274 24155//26675 22782//26676 +f 23988//26262 25816//26944 25233//23792 +f 24243//22619 26573//4644 20495//4643 +f 20520//27743 24110//28029 20521//25813 +f 25061//26922 25060//27883 22052//27882 +f 12802//25529 25061//26922 22052//27882 +f 22195//28050 12359//26634 25019//21079 +f 25155//24503 13561//24526 21247//24492 +f 23513//27233 24576//27234 24573//21981 +f 22960//25491 25089//27118 26063//27069 +f 24645//24995 23690//25343 24135//25345 +f 26702//12064 22778//4199 26703//21764 +f 24766//28051 24890//7734 23991//7733 +f 27397//15051 20520//27743 20602//25701 +f 24482//25609 24586//28030 24890//7734 +f 27280//28052 24766//28051 24110//28029 +f 11729//2273 7528//8861 32914//2274 +f 24766//28051 24482//25609 24890//7734 +f 67//12672 35807//10399 35576//8640 +f 23758//23724 23767//23723 24974//27800 +f 22756//23668 23879//23670 25718//26619 +f 20680//27238 23883//27182 24781//26844 +f 25300//23616 22756//23668 21958//24499 +f 21958//24499 22756//23668 25718//26619 +f 23640//27879 25806//28031 22778//4199 +f 30880//16681 30934//16458 30879//16460 +f 23640//27879 26240//28053 25806//28031 +f 2268//18387 14522//18381 24418//17457 +f 23959//25156 23965//15811 12270//15813 +f 23590//22513 23591//11999 23637//9444 +f 23797//27940 21791//28007 23796//24538 +f 23637//9444 23638//9443 23687//24667 +f 23688//27575 23742//16758 23741//24537 +f 23687//24667 23688//27575 23741//24537 +f 23742//16758 23797//27940 23796//24538 +f 23741//24537 23742//16758 23796//24538 +f 15632//24835 15767//19610 23636//22512 +f 23854//27349 23911//25216 21791//28007 +f 23869//27036 24702//27035 23699//27087 +f 6386//9186 337//11074 23872//25910 +f 24426//25197 24869//25196 25328//25479 +f 23772//23666 24629//16643 25448//26760 +f 24956//24008 23653//24121 23701//16756 +f 12272//26797 12271//27382 25320//23121 +f 4382//24215 24657//9115 1520//24090 +f 25999//26857 21269//27884 25060//27883 +f 15447//20129 15577//20092 15446//20091 +f 26280//26867 26139//12461 3881//12460 +f 26329//16791 26330//26609 24963//25919 +f 25061//26922 25999//26857 25060//27883 +f 25046//27917 25045//27905 21269//27884 +f 24266//26954 24265//26662 24984//17558 +f 22582//24639 22583//25720 20018//27098 +f 34006//28054 34005//28055 33870//2389 +f 23703//26850 22488//27030 25789//26851 +f 13860//16565 1025//27034 15202//17628 +f 23869//27036 23699//27087 3475//27129 +f 26160//25483 26161//25482 26301//26719 +f 24713//25769 24838//25880 24807//25881 +f 24808//25085 24174//25087 25291//25888 +f 24807//25881 24808//25085 25291//25888 +f 26207//25270 20762//22662 13016//22664 +f 25089//27118 22387//27202 26206//27070 +f 26062//26925 26063//27069 24123//26902 +f 25433//24051 30503//24050 30504//27099 +f 25776//27412 24962//26077 24155//26675 +f 22684//25375 11108//27347 22880//17274 +f 24055//27467 24041//27714 25134//26730 +f 33483//22958 33484//20039 33602//22959 +f 14154//23660 23515//24113 25510//23661 +f 26281//26866 3881//12460 26282//23187 +f 13060//14815 13754//24663 25185//17918 +f 24302//22930 27499//2367 20758//17403 +f 13082//28056 23961//28035 26280//26867 +f 26281//26866 13082//28056 26280//26867 +f 24828//28057 20601//28036 23961//28035 +f 13082//28056 24828//28057 23961//28035 +f 24828//28057 20868//28058 15883//28037 +f 20601//28036 24828//28057 15883//28037 +f 13654//28059 23752//28038 15883//28037 +f 20868//28058 13654//28059 15883//28037 +f 25782//28060 23736//28039 23752//28038 +f 13654//28059 25782//28060 23752//28038 +f 24836//28061 25083//28040 23736//28039 +f 25782//28060 24836//28061 23736//28039 +f 24836//28061 25152//28062 25208//28041 +f 25083//28040 24836//28061 25208//28041 +f 24166//28063 25648//28042 25208//28041 +f 25152//28062 24166//28063 25208//28041 +f 24166//28063 21887//28064 23940//28043 +f 25648//28042 24166//28063 23940//28043 +f 21887//28064 25396//28065 23641//28044 +f 23940//28043 21887//28064 23641//28044 +f 25396//28065 23887//28066 23667//28045 +f 23641//28044 25396//28065 23667//28045 +f 23778//28067 23541//28046 23667//28045 +f 23887//28066 23778//28067 23667//28045 +f 23953//28068 24307//28047 23541//28046 +f 23778//28067 23953//28068 23541//28046 +f 23805//28069 24884//28048 24307//28047 +f 23953//28068 23805//28069 24307//28047 +f 25673//28070 24227//28027 24884//28048 +f 23805//28069 25673//28070 24884//28048 +f 22682//27771 23560//27770 22584//25645 +f 21073//25017 20988//26182 29699//16810 +f 24569//16017 23982//25089 21544//25088 +f 23487//23155 24569//16017 21544//25088 +f 26160//25483 26301//26719 26300//26061 +f 26159//25658 26160//25483 26300//26061 +f 25213//27256 24803//24805 25478//25778 +f 25857//27284 25213//27256 25478//25778 +f 25213//27256 24627//27159 24803//24805 +f 24627//27159 23672//24308 24803//24805 +f 24955//16755 24956//24008 23701//16756 +f 23653//24121 11548//24637 23611//27160 +f 25653//16068 26219//16215 24515//28028 +f 25947//16214 25803//17162 23929//23737 +f 25497//25411 2543//22621 24278//25783 +f 20823//1640 24443//26259 24690//25873 +f 26170//23102 26311//24768 26310//24767 +f 23975//24948 22297//23688 24442//27308 +f 25510//23661 23515//24113 25663//23201 +f 19903//15860 24129//27194 29833//26997 +f 24471//24379 23888//27466 11942//24596 +f 24466//25987 23538//17466 24583//17468 +f 12445//25459 24772//23540 12358//24635 +f 12276//23541 25959//25986 23609//23542 +f 25098//24178 16598//23955 24087//23954 +f 23648//24302 24769//26698 23770//24303 +f 23514//27020 24579//27018 23513//27233 +f 25730//4756 25731//1884 25872//27207 +f 23614//23143 23618//24634 23799//23823 +f 25872//27207 25873//27206 26014//27738 +f 22976//25787 25477//25786 22387//27202 +f 16237//26832 14512//25785 22976//25787 +f 18645//16651 21035//16361 20953//230 +f 25999//26857 25046//27917 21269//27884 +f 32145//19624 32245//17180 32144//2634 +f 23826//25882 14512//25785 16237//26832 +f 30819//23760 30685//15424 23354//18647 +f 24536//17349 24574//26799 25685//20126 +f 21152//25029 23846//27587 23789//20621 +f 25388//25063 26098//25344 24999//25346 +f 25347//22912 28347//27431 25462//24875 +f 23611//27160 11548//24637 25544//27093 +f 24556//26598 22664//22964 22762//22963 +f 24936//25777 24937//27309 24682//27094 +f 22582//24639 20018//27098 24682//27094 +f 23539//25672 25318//27339 24937//27309 +f 20018//27098 24936//25777 24682//27094 +f 25497//25411 25498//27374 25318//27339 +f 24936//25777 23539//25672 24937//27309 +f 24278//25783 23981//27375 25498//27374 +f 23539//25672 25497//25411 25318//27339 +f 24278//25783 24272//17822 24902//2211 +f 25497//25411 24278//25783 25498//27374 +f 30928//14325 30986//26480 30927//13184 +f 34229//28071 34366//28072 21550//28073 +f 25244//24697 26240//28053 23640//27879 +f 24099//24694 25244//24697 23640//27879 +f 15442//19952 15314//19951 15315//16563 +f 21009//24309 21094//26824 23675//24310 +f 16002//13786 16001//20586 25909//16408 +f 32944//20905 32945//12264 33050//14892 +f 25593//37 25592//458 119//35 +f 25474//25422 23531//25424 23921//27387 +f 24810//25427 24946//25348 24947//25082 +f 14871//15208 23854//27349 21791//28007 +f 23742//16758 14990//255 23797//27940 +f 24897//23793 25958//25836 23724//25162 +f 23797//27940 14871//15208 21791//28007 +f 15406//27040 24102//27039 25223//27080 +f 25780//14652 25943//27037 24680//14653 +f 25018//25666 25977//25665 25025//25372 +f 4681//19568 4019//19493 9526//9440 +f 25472//25047 25473//25892 24838//25880 +f 23990//2197 24326//26669 24134//23152 +f 26282//23187 5626//18973 26283//23185 +f 26219//16215 25947//16214 23929//23737 +f 21916//23097 25373//21861 20926//8736 +f 2957//28074 24430//27959 24346//19024 +f 283//19115 738//19483 284//19459 +f 24752//27092 25819//27201 24165//10119 +f 22396//27146 25088//27075 25791//27268 +f 22683//27327 22391//15464 25791//27268 +f 25669//20037 13860//16565 24872//17627 +f 1025//27034 3475//27129 15202//17628 +f 24352//27026 24436//23745 25117//27032 +f 26236//26794 23731//26846 21912//26711 +f 24675//18669 24164//16309 23775//24869 +f 24184//25079 12452//26767 25205//25083 +f 30503//24050 25574//22663 30368//27117 +f 26206//27070 26207//25270 13016//22664 +f 22960//25491 26063//27069 26062//26925 +f 24291//25492 22960//25491 26062//26925 +f 23666//25896 23537//27372 23461//25379 +f 21159//17289 23666//25896 23461//25379 +f 24149//16374 24114//17202 25803//17162 +f 25431//24269 22200//14013 23802//24928 +f 25088//27075 23894//26756 25790//27045 +f 21157//26757 22392//25370 22683//27327 +f 26283//23185 5626//18973 26142//18972 +f 23643//24715 25495//14920 26220//25776 +f 23645//14800 13082//28056 26281//26866 +f 26282//23187 23645//14800 26281//26866 +f 25817//14799 24828//28057 13082//28056 +f 23645//14800 25817//14799 13082//28056 +f 13241//20088 20868//28058 24828//28057 +f 25817//14799 13241//20088 24828//28057 +f 25812//25115 13654//28059 20868//28058 +f 13241//20088 25812//25115 20868//28058 +f 25812//25115 25820//23387 25782//28060 +f 13654//28059 25812//25115 25782//28060 +f 25820//23387 24837//23366 24836//28061 +f 25782//28060 25820//23387 24836//28061 +f 24837//23366 24779//20240 25152//28062 +f 24836//28061 24837//23366 25152//28062 +f 24779//20240 24157//25116 24166//28063 +f 25152//28062 24779//20240 24166//28063 +f 24157//25116 12337//25118 21887//28064 +f 24166//28063 24157//25116 21887//28064 +f 12337//25118 11670//23283 25396//28065 +f 21887//28064 12337//25118 25396//28065 +f 11670//23283 23831//25488 23887//28066 +f 25396//28065 11670//23283 23887//28066 +f 25676//27105 23778//28067 23887//28066 +f 23831//25488 25676//27105 23887//28066 +f 23967//17209 23953//28068 23778//28067 +f 25676//27105 23967//17209 23778//28067 +f 24020//16025 23805//28069 23953//28068 +f 23967//17209 24020//16025 23953//28068 +f 24226//23243 25673//28070 23805//28069 +f 24020//16025 24226//23243 23805//28069 +f 20988//26182 21073//25017 25673//28070 +f 24226//23243 20988//26182 25673//28070 +f 23875//24370 25675//27413 24742//24371 +f 35778//4974 35558//198 35702//4975 +f 26301//26719 24367//23653 24453//27125 +f 26300//26061 26301//26719 24453//27125 +f 25857//27284 25478//25778 22487//24307 +f 20662//27311 25857//27284 22487//24307 +f 26037//16637 26179//16639 26178//23608 +f 25531//27108 24873//27107 25389//27014 +f 23701//16756 23653//24121 23611//27160 +f 11548//24637 22582//24639 25544//27093 +f 20681//27155 25937//27100 23497//26697 +f 22583//25720 20681//27155 23497//26697 +f 26111//27158 20681//27155 22583//25720 +f 23566//24638 26111//27158 22583//25720 +f 12997//24769 23975//24948 24442//27308 +f 24442//27308 22297//23688 23851//24274 +f 25887//23740 26029//23100 26028//23132 +f 20264//23202 25098//24178 24965//23203 +f 26069//24598 24466//25987 24583//17468 +f 22295//17467 22390//26950 24583//17468 +f 22200//14013 24205//14012 24879//23543 +f 24875//24116 21424//23114 25451//23544 +f 24515//28028 23929//23737 24428//26926 +f 24676//25583 24798//16350 23851//24274 +f 4277//18887 25870//18886 1679//19670 +f 26795//10788 24360//25458 25785//27608 +f 24205//14012 24875//24116 24879//23543 +f 14942//18807 5137//8746 14396//8748 +f 25663//23201 24965//23203 24281//26841 +f 25431//24269 25428//14011 22200//14013 +f 23567//24005 23462//24061 24313//16428 +f 24104//25195 23700//25585 24869//25196 +f 25614//2411 25615//2284 25756//25207 +f 337//11074 4786//2768 25218//2767 +f 23434//23680 24940//24938 24941//25478 +f 24093//6693 24152//17661 24092//25322 +f 17247//65 25599//18033 25598//26934 +f 22683//27327 22392//25370 25502//25371 +f 24935//24716 26220//25776 24936//25777 +f 22368//27380 22465//15511 24125//15513 +f 24783//25060 24760//27073 24814//27939 +f 1680//25667 26153//27326 26152//25871 +f 15188//19950 1150//16564 15314//19951 +f 25490//23909 25505//16510 25303//16512 +f 30845//27830 24203//24647 30846//24646 +f 19518//28075 19902//28076 24023//26656 +f 19994//24176 20075//24175 20074//24180 +f 29430//9422 21383//28077 30688//2476 +f 30611//28078 28107//28079 28218//21664 +f 21702//23907 21797//23912 28546//23914 +f 27374//4301 19792//4300 30738//28080 +f 28599//28081 28601//25462 30336//28082 +f 29540//28083 26524//28084 27904//28085 +f 19561//28086 19560//21496 26598//28087 +f 29568//14848 29700//20799 27751//28088 +f 29022//28089 29568//14848 27751//28088 +f 21428//23960 21517//23962 21427//23958 +f 27607//28090 30470//28091 29812//28092 +f 7405//28093 19737//28094 20241//28095 +f 15459//25151 8975//14860 15330//26807 +f 34275//3132 34274//23797 34136//18811 +f 30897//17469 30951//18792 30896//16760 +f 10602//2460 11405//4769 6007//2461 +f 35904//2708 35674//9806 11876//13968 +f 2811//28096 29017//28097 29555//28098 +f 35481//17047 35851//13334 35443//22297 +f 18601//21882 18697//21881 7187//28099 +f 27607//28090 29812//28092 27838//28100 +f 4667//5194 571//21190 18601//21882 +f 11429//28101 12691//28102 7187//28099 +f 29022//28089 27751//28088 28461//28103 +f 18697//21881 7186//28104 7187//28099 +f 26524//28084 27607//28090 27838//28100 +f 30470//28091 29022//28089 28461//28103 +f 26524//28084 27838//28100 27904//28085 +f 30470//28091 28461//28103 29812//28092 +f 18423//22991 18309//21283 20324//25569 +f 5475//28105 20177//28106 29555//28098 +f 3342//26296 18423//22991 20324//25569 +f 27902//23403 29491//23404 29413//4768 +f 27893//19070 27902//23403 29413//4768 +f 29491//23404 6007//2461 29413//4768 +f 20201//26462 24063//24784 24002//27391 +f 22328//14954 19785//22937 19789//28107 +f 20177//28106 2811//28096 29555//28098 +f 29697//4451 17317//28108 28016//4452 +f 14619//28109 30669//28110 29017//28097 +f 2811//28096 14619//28109 29017//28097 +f 26918//19017 27019//28111 29138//2139 +f 26478//22624 26481//28112 27380//15957 +f 29565//28113 29427//26353 14250//26265 +f 344//21666 11404//2469 11438//28114 +f 27787//28115 26481//28112 26478//22624 +f 24124//15512 24231//25641 24856//27381 +f 7186//28104 11429//28101 7187//28099 +f 27761//28116 27787//28115 26478//22624 +f 11429//28101 27787//28115 27761//28116 +f 12691//28102 11429//28101 27761//28116 +f 14850//28117 5475//28105 29555//28098 +f 26481//28112 27385//28118 27380//15957 +f 22329//14955 22328//14954 19789//28107 +f 28726//28119 5475//28105 14850//28117 +f 19785//22937 19456//6189 19457//28120 +f 30932//26805 30990//6610 30931//26806 +f 26965//28121 28726//28119 28594//28122 +f 19789//28107 19785//22937 19457//28120 +f 30693//28123 29540//28083 19914//28124 +f 28594//28122 28726//28119 14850//28117 +f 30693//28123 19914//28124 30669//28110 +f 14619//28109 30693//28123 30669//28110 +f 30465//28125 18009//28126 19345//13918 +f 29540//28083 27904//28085 19914//28124 +f 30425//13917 30465//28125 19345//13918 +f 18009//28126 27019//28111 26918//19017 +f 29139//28127 29125//28128 17252//2140 +f 29138//2139 29139//28127 17252//2140 +f 26347//10261 26348//28129 27138//22742 +f 32096//9221 32095//15272 31995//9222 +f 26708//28130 26820//28131 26819//28132 +f 28017//4450 28016//4452 28134//28133 +f 26603//1553 26708//28130 26707//28134 +f 26707//28134 26708//28130 26819//28132 +f 12461//10060 15061//680 12054//18155 +f 236//28135 19137//18699 13427//24660 +f 29125//28128 26830//28136 27399//28137 +f 27399//28137 26830//28136 29154//28138 +f 19904//28139 26965//28121 19796//28140 +f 6782//28141 19904//28139 19796//28140 +f 13427//24660 15607//25869 15744//24661 +f 33370//28142 33371//3337 33483//22958 +f 19198//28143 11407//16038 452//16474 +f 6283//28144 19904//28139 6782//28141 +f 19137//18699 19198//28143 452//16474 +f 28717//15958 28731//28145 30425//13917 +f 19796//28140 26965//28121 28594//28122 +f 27385//28118 28731//28145 28717//15958 +f 27380//15957 27385//28118 28717//15958 +f 19345//13918 18009//28126 26918//19017 +f 28731//28145 30465//28125 30425//13917 +f 7070//28146 11577//28147 7007//22437 +f 27019//28111 29139//28127 29138//2139 +f 19577//2126 26907//2125 30822//5191 +f 19639//22103 344//21666 346//28148 +f 26566//28149 27841//28150 29557//28151 +f 568//28152 567//22746 21556//28153 +f 26477//21105 27373//22551 27315//21111 +f 25319//16570 12423//2290 25547//27446 +f 29921//28154 29920//28155 29791//10622 +f 30317//28156 30450//28157 30316//22780 +f 29659//14328 29792//10621 29658//10623 +f 29792//10621 29921//28154 29791//10622 +f 30721//28158 30722//28159 6884//22007 +f 29772//6602 29773//6601 29901//21712 +f 28233//28160 29287//28161 30500//28162 +f 29287//28161 21750//28163 7290//3387 +f 29271//26601 6283//28144 2813//28164 +f 29151//28165 29271//26601 2813//28164 +f 21563//28166 29813//5204 11407//16038 +f 19198//28143 21563//28166 11407//16038 +f 28373//28167 28372//17713 29813//5204 +f 27491//28168 27635//26600 29151//28165 +f 21563//28166 28373//28167 29813//5204 +f 17252//2140 29125//28128 27399//28137 +f 2813//28164 6283//28144 6782//28141 +f 33371//3337 33484//20039 33483//22958 +f 26830//28136 28233//28160 29154//28138 +f 11464//8201 11465//8200 26518//6273 +f 26592//20991 18455//27640 21290//15193 +f 21847//28169 19791//28170 30200//28171 +f 28021//14576 25391//27410 24144//16286 +f 30052//28172 30051//28173 29920//28155 +f 19735//5348 30478//28174 27434//2643 +f 29921//28154 30052//28172 29920//28155 +f 30184//28175 30183//28176 30051//28173 +f 30052//28172 30184//28175 30051//28173 +f 30317//28156 30316//22780 30183//28176 +f 30184//28175 30317//28156 30183//28176 +f 30450//28157 30449//22781 30316//22780 +f 30584//28177 30583//23071 30449//22781 +f 30450//28157 30584//28177 30449//22781 +f 30718//28178 30717//28179 30583//23071 +f 30584//28177 30718//28178 30583//23071 +f 31538//28180 31537//10367 31465//28181 +f 33156//17567 33157//2945 33261//23038 +f 30500//28162 29287//28161 7290//3387 +f 21750//28163 30554//28182 17254//12078 +f 7409//28183 7289//28184 27491//28168 +f 27635//26600 29271//26601 29151//28165 +f 28252//28185 29680//16043 28372//17713 +f 28373//28167 28252//28185 28372//17713 +f 19568//28186 30498//4454 29680//16043 +f 28252//28185 19568//28186 29680//16043 +f 26472//28187 26828//4299 30498//4454 +f 30474//21245 7289//28184 7409//28183 +f 30469//28188 30474//21245 7409//28183 +f 30554//28182 21753//28189 26905//855 +f 29154//28138 28233//28160 30500//28162 +f 24203//24647 30845//27830 25675//27413 +f 23711//18766 30233//27448 30234//28190 +f 713//5460 7772//6018 715//5741 +f 28841//20988 28840//28191 28708//28192 +f 7081//6401 35636//12694 27868//2616 +f 33609//2400 33736//27239 33608//2401 +f 25407//11194 12692//27442 25406//22531 +f 31110//3915 31173//10376 31172//18899 +f 30925//20279 30983//7935 30924//21335 +f 19631//1825 18263//1827 6928//28193 +f 17012//1039 11009//10061 14515//1252 +f 30716//28194 20241//28095 30715//28195 +f 25675//27413 30844//26842 11772//17888 +f 21943//1826 21944//19667 18263//1827 +f 26607//28196 26606//5471 26510//10834 +f 29511//28197 29512//28198 29649//28199 +f 17283//28200 7405//28093 30717//28179 +f 30718//28178 17283//28200 30717//28179 +f 26356//25681 30866//28201 30865//18755 +f 19527//28202 13312//21415 19215//21026 +f 7290//3387 21750//28163 17254//12078 +f 27408//28203 27497//16145 27760//16144 +f 28813//21243 30474//21245 30469//28188 +f 28808//28204 28813//21243 30469//28188 +f 19568//28186 26472//28187 30498//4454 +f 26473//28205 27873//5895 26828//4299 +f 26472//28187 26473//28205 26828//4299 +f 27400//28206 27412//28207 28808//28204 +f 19794//28208 18800//4777 27873//5895 +f 17254//12078 30554//28182 26905//855 +f 7289//28184 27635//26600 27491//28168 +f 2949//28209 17311//5051 27167//5480 +f 29084//28210 27760//16144 26905//855 +f 24705//6330 24638//27937 26934//6331 +f 12336//3101 27993//3102 28109//2937 +f 27993//3102 28110//28211 28109//2937 +f 20510//24844 20593//20299 20591//22754 +f 28110//28211 28227//26062 28226//2938 +f 28109//2937 28110//28211 28226//2938 +f 28227//26062 23660//25353 28226//2938 +f 12021//12035 12020//15679 11935//12036 +f 28873//28212 26566//28149 29557//28151 +f 29903//4922 29904//28213 30034//28214 +f 26566//28149 30609//28215 19243//28216 +f 27841//28150 26566//28149 19243//28216 +f 25692//25980 25834//27516 6407//25981 +f 19243//28216 30609//28215 27173//27744 +f 17317//28108 28364//28217 19098//28218 +f 28592//23012 28724//23011 28613//28219 +f 19361//28220 19737//28094 7405//28093 +f 17283//28200 19361//28220 7405//28093 +f 26359//22613 30863//28221 30862//18480 +f 26356//25681 30865//18755 26357//18757 +f 29084//28210 27408//28203 27760//16144 +f 27408//28203 20818//28222 11513//13826 +f 27983//28223 27992//28224 26484//28225 +f 26486//28226 27412//28207 27400//28206 +f 26473//28205 19794//28208 27873//5895 +f 28488//28227 28616//4607 18800//4777 +f 19794//28208 28488//28227 18800//4777 +f 28488//28227 6853//28228 18011//4608 +f 11438//28114 27992//28224 27983//28223 +f 11398//28229 11438//28114 27983//28223 +f 27785//28230 30084//28231 30091//18820 +f 21753//28189 29084//28210 26905//855 +f 24922//24057 28226//2938 23660//25353 +f 24759//16066 25653//16068 2953//22729 +f 27877//3105 27994//28232 27993//3102 +f 12168//2940 27877//3105 12251//2960 +f 27994//28232 28111//28233 28110//28211 +f 27993//3102 27994//28232 28110//28211 +f 28111//28233 28228//28234 28227//26062 +f 28110//28211 28111//28233 28227//26062 +f 18409//26367 30689//26370 23043//26278 +f 34229//28071 21549//26313 34091//17291 +f 19902//28076 29020//26657 24023//26656 +f 28580//28235 28709//28236 28579//17375 +f 26501//28237 26505//28238 28460//28239 +f 28483//28240 28369//28241 28885//28242 +f 30817//27485 25932//27170 25241//27366 +f 28724//23011 25836//27515 28343//28243 +f 28364//28217 28592//23012 28613//28219 +f 23082//25076 23083//25136 23180//25077 +f 19361//28220 2540//28244 21942//28245 +f 19449//12367 21660//28246 21469//28247 +f 29245//28248 29382//28249 29244//28250 +f 21556//28153 19639//22103 346//28148 +f 27497//16145 27408//28203 11513//13826 +f 27785//28230 30091//18820 11513//13826 +f 26484//28225 26486//28226 27400//28206 +f 27412//28207 28813//21243 28808//28204 +f 28616//4607 28488//28227 18011//4608 +f 345//28251 346//28148 11398//28229 +f 6853//28228 30619//28252 30753//5615 +f 18011//4608 6853//28228 30753//5615 +f 346//28148 11438//28114 11398//28229 +f 30619//28252 26602//28253 28249//5898 +f 30084//28231 30079//28254 28487//15083 +f 27992//28224 26486//28226 26484//28225 +f 33484//20039 33603//16030 33602//22959 +f 12085//2942 12004//2756 27647//25631 +f 27762//3104 27878//28255 27877//3105 +f 12168//2940 12251//2960 12167//2941 +f 27878//28255 27995//28256 27994//28232 +f 27877//3105 27878//28255 27994//28232 +f 27995//28256 28112//28257 28111//28233 +f 27994//28232 27995//28256 28111//28233 +f 28112//28257 28229//28258 28228//28234 +f 28111//28233 28112//28257 28228//28234 +f 32838//2934 32837//2936 32725//9253 +f 25046//27917 25047//25536 25145//27914 +f 7296//22939 5608//28259 19457//28120 +f 27280//28052 20520//27743 27397//15051 +f 28460//28239 28483//28240 28885//28242 +f 21771//8797 27433//22617 20897//8798 +f 23985//4294 25315//14628 21361//22614 +f 25112//15027 20760//15495 27502//21966 +f 12287//8499 14662//269 14569//1646 +f 29512//28198 29650//28260 29649//28199 +f 19737//28094 19361//28220 21942//28245 +f 2540//28244 21660//28246 19449//12367 +f 30193//28261 30192//12858 30060//28262 +f 346//28148 344//21666 11438//28114 +f 20818//28222 27785//28230 11513//13826 +f 30084//28231 28188//22485 30091//18820 +f 568//28152 21556//28153 21555//28263 +f 569//28264 568//28152 21555//28263 +f 30753//5615 30619//28252 28249//5898 +f 21556//28153 346//28148 345//28251 +f 26602//28253 28489//28265 27316//5609 +f 28249//5898 26602//28253 27316//5609 +f 28489//28265 21647//28266 17310//5610 +f 19004//28267 19578//2123 18058//28268 +f 19578//2123 568//28152 569//28264 +f 25145//27914 25047//25536 25143//25537 +f 28188//22485 30084//28231 28487//15083 +f 27647//25631 12087//8498 27762//3104 +f 27532//8497 27649//28269 12087//8498 +f 27763//28270 27879//28271 27878//28255 +f 27762//3104 27763//28270 27878//28255 +f 27879//28271 27996//28272 27995//28256 +f 27878//28255 27879//28271 27995//28256 +f 27996//28272 28113//28273 28112//28257 +f 27995//28256 27996//28272 28112//28257 +f 28230//27915 28229//28258 28112//28257 +f 28113//28273 28230//27915 28112//28257 +f 34291//3613 34429//6755 34290//6757 +f 25260//14696 25261//27402 27957//22857 +f 11123//27801 21331//23424 6409//23426 +f 32301//4567 32300//17949 32199//4568 +f 28369//28241 19518//28075 30687//27713 +f 28885//28242 28369//28241 30687//27713 +f 19131//5351 17105//22049 6846//28274 +f 29679//26176 30611//28078 18692//20896 +f 28016//4452 17317//28108 28247//17500 +f 28563//22142 28692//2312 28691//2311 +f 21942//28245 2540//28244 19449//12367 +f 21660//28246 14248//28275 21469//28247 +f 27194//28276 27077//28277 25922//28278 +f 29536//28279 17382//28280 22003//27539 +f 30079//28254 28598//28281 19520//15047 +f 19520//15047 28598//28281 2807//21562 +f 19578//2123 19687//28282 18058//28268 +f 21555//28263 21556//28153 345//28251 +f 27316//5609 28489//28265 17310//5610 +f 21647//28266 237//28283 28241//5773 +f 17310//5610 21647//28266 28241//5773 +f 30998//28284 30997//28285 30939//27644 +f 237//28283 21566//28286 29150//5897 +f 24423//27394 24511//27880 24510//27395 +f 19687//28282 19578//2123 569//28264 +f 29395//28287 21919//25838 29396//25839 +f 33441//28288 33555//10823 33554//28289 +f 27649//28269 27764//28290 27763//28270 +f 12087//8498 27763//28270 27762//3104 +f 27764//28290 27880//28291 27879//28271 +f 27763//28270 27764//28290 27879//28271 +f 27880//28291 27997//28292 27996//28272 +f 27879//28271 27880//28291 27996//28272 +f 27997//28292 28114//28293 28113//28273 +f 27996//28272 27997//28292 28113//28273 +f 12810//15945 21223//23316 30023//28008 +f 12810//15945 35685//3617 29417//6712 +f 21354//2959 28312//17116 21445//20640 +f 23523//4293 22011//15737 25179//13850 +f 19564//28294 26505//28238 26501//28237 +f 34933//17656 35062//17655 34932//24879 +f 30289//28295 19564//28294 12511//28296 +f 30287//28297 30289//28295 12511//28296 +f 21509//24832 21420//24771 21418//26982 +f 6280//21896 28232//20895 19793//20897 +f 17317//28108 19098//28218 28247//17500 +f 28364//28217 28613//28219 19098//28218 +f 6972//28298 6971//28299 21469//28247 +f 14248//28275 6972//28298 21469//28247 +f 27139//5347 29493//21574 30478//28174 +f 30061//28300 30193//28261 30060//28262 +f 28487//15083 30079//28254 19520//15047 +f 28598//28281 11512//28301 2807//21562 +f 30731//28302 7404//1810 30730//28303 +f 7404//1810 19004//28267 18058//28268 +f 28241//5773 237//28283 29150//5897 +f 30288//28304 30155//5893 29150//5897 +f 27489//13343 20990//14393 27488//28305 +f 21566//28286 30288//28304 29150//5897 +f 16597//20928 23472//25143 15317//25145 +f 35791//14088 20865//6163 13054//18551 +f 27415//12724 27533//28306 27532//8497 +f 21512//27803 21791//28007 21331//23424 +f 27533//28306 27650//28307 27649//28269 +f 27532//8497 27533//28306 27649//28269 +f 27650//28307 27765//28308 27764//28290 +f 27649//28269 27650//28307 27764//28290 +f 27765//28308 27881//28309 27880//28291 +f 27764//28290 27765//28308 27880//28291 +f 27881//28309 27998//28310 27997//28292 +f 27880//28291 27881//28309 27997//28292 +f 27998//28310 28115//27504 28114//28293 +f 27997//28292 27998//28310 28114//28293 +f 25078//24428 26454//28311 26453//28312 +f 22192//24320 22096//24691 22097//5672 +f 26824//22787 20096//25807 26823//5059 +f 21273//25591 21272//25590 21186//25824 +f 27161//28313 27280//28052 27279//14257 +f 28496//28314 28497//28315 30287//28297 +f 26698//13150 26699//21488 26810//13151 +f 27160//14256 27161//28313 27279//14257 +f 28134//28133 24189//27546 28426//5772 +f 26699//21488 26811//28316 26810//13151 +f 24783//25060 26789//23383 24886//10839 +f 4635//25262 17378//27740 24674//25261 +f 17479//28317 17478//28318 6971//28299 +f 6972//28298 17479//28317 6971//28299 +f 35802//1569 30635//20973 35404//8627 +f 32398//19980 32503//23006 32397//5482 +f 11512//28301 2772//28319 17321//1668 +f 2807//21562 11512//28301 17321//1668 +f 30597//14573 30731//28302 30596//28320 +f 21941//28321 7404//1810 18058//28268 +f 30288//28304 19567//28322 27990//6174 +f 30155//5893 30288//28304 27990//6174 +f 18264//18627 16933//18629 18622//28323 +f 17305//27802 30343//22795 21156//24535 +f 30477//27745 2923//23820 24066//19784 +f 27845//22078 21004//13 27730//1748 +f 24399//12741 18933//13095 28021//14576 +f 27416//27404 27534//28324 27533//28306 +f 27415//12724 27416//27404 27533//28306 +f 27534//28324 27651//28325 27650//28307 +f 27533//28306 27534//28324 27650//28307 +f 27651//28325 27766//28326 27765//28308 +f 27650//28307 27651//28325 27765//28308 +f 27766//28326 27882//28327 27881//28309 +f 27765//28308 27766//28326 27881//28309 +f 27882//28327 27999//28328 27998//28310 +f 27881//28309 27882//28327 27998//28310 +f 28116//27505 28115//27504 27998//28310 +f 27999//28328 28116//27505 27998//28310 +f 23170//2471 30560//15663 30694//2472 +f 20602//25701 27516//5906 27397//15051 +f 27279//14257 27280//28052 27397//15051 +f 28458//28329 30203//28330 28457//22744 +f 29101//28331 29100//28332 28965//28333 +f 13677//8281 11617//14980 11366//12129 +f 29238//28334 29237//28335 29100//28332 +f 28701//28336 28833//28337 28700//28338 +f 26932//28339 26943//28340 26417//28341 +f 28833//28337 28966//28342 28832//28343 +f 26943//28340 26418//28344 26417//28341 +f 26418//28344 27268//28345 27255//25461 +f 17479//28317 26943//28340 26932//28339 +f 17478//28318 17479//28317 26932//28339 +f 32506//17419 32505//25677 32400//16821 +f 32401//16820 32506//17419 32400//16821 +f 2772//28319 29288//28346 5734//14731 +f 17321//1668 2772//28319 5734//14731 +f 7404//1810 21941//28321 30730//28303 +f 29288//28346 30740//28347 2821//1971 +f 20191//18654 16179//18653 21569//17982 +f 30731//28302 30730//28303 30596//28320 +f 27990//6174 19567//28322 28680//6175 +f 11592//3345 27063//14133 11667//3347 +f 26095//27126 26672//5624 25224//24813 +f 26673//5618 25090//27312 26674//24808 +f 22491//22626 22589//16559 22490//16558 +f 11853//16687 11854//16103 11939//17833 +f 27299//27403 27417//28348 27416//27404 +f 27180//14131 27299//27403 11835//15262 +f 27417//28348 27535//28349 27534//28324 +f 27416//27404 27417//28348 27534//28324 +f 27535//28349 27652//28350 27651//28325 +f 27534//28324 27535//28349 27651//28325 +f 27652//28350 27767//28351 27766//28326 +f 27651//28325 27652//28350 27766//28326 +f 27767//28351 27883//28352 27882//28327 +f 27766//28326 27767//28351 27882//28327 +f 27883//28352 28000//28353 27999//28328 +f 27882//28327 27883//28352 27999//28328 +f 28000//28353 28117//28354 28116//27505 +f 27999//28328 28000//28353 28116//27505 +f 25693//27513 25835//23010 25834//27516 +f 12712//16442 28138//21942 12801//16150 +f 29238//28334 29375//28355 29374//28356 +f 19900//28357 19596//21501 19899//21503 +f 29945//28358 19143//28359 26420//28360 +f 28966//28342 29101//28331 28965//28333 +f 28603//28361 28602//28362 27255//25461 +f 28344//28363 29945//28358 26420//28360 +f 28943//1821 29078//28364 28735//28365 +f 26417//28341 26418//28344 27255//25461 +f 28189//1822 28943//1821 28735//28365 +f 21749//28366 21383//28077 29078//28364 +f 28943//1821 21749//28366 29078//28364 +f 30688//2476 21749//28366 17256//5463 +f 22333//20163 18771//28367 30773//2094 +f 21749//28366 30688//2476 21383//28077 +f 2821//1971 30740//28347 22333//20163 +f 18771//28367 28127//28368 30773//2094 +f 5734//14731 29288//28346 2821//1971 +f 30740//28347 18771//28367 22333//20163 +f 30597//14573 30596//28320 30462//28369 +f 30463//14574 30597//14573 30462//28369 +f 24144//16286 24476//16285 28021//14576 +f 30330//25147 30463//14574 30329//28370 +f 19740//28371 19688//22745 19689//2122 +f 21564//28372 19943//20927 19639//22103 +f 11592//3345 11593//5970 27064//22411 +f 29519//6334 29657//28373 29656//6335 +f 31308//28374 31375//15608 31307//28375 +f 25051//16808 19917//3621 25052//3620 +f 27869//6068 27985//6193 29277//6069 +f 27063//14133 27181//28376 27180//14131 +f 34936//4853 35065//9341 34935//4854 +f 27181//28376 27300//28377 27299//27403 +f 27180//14131 27181//28376 27299//27403 +f 27300//28377 27418//28378 27417//28348 +f 27299//27403 27300//28377 27417//28348 +f 27418//28378 27536//28379 27535//28349 +f 27417//28348 27418//28378 27535//28349 +f 27536//28379 27653//28380 27652//28350 +f 27535//28349 27536//28379 27652//28350 +f 27653//28380 27768//28381 27767//28351 +f 27652//28350 27653//28380 27767//28351 +f 27884//28382 27883//28352 27767//28351 +f 27768//28381 27884//28382 27767//28351 +f 28001//28383 28000//28353 27883//28352 +f 27884//28382 28001//28383 27883//28352 +f 28001//28383 28118//27062 28117//28354 +f 28000//28353 28001//28383 28117//28354 +f 32949//16619 33055//16622 32948//16620 +f 31617//15432 31712//15448 31711//28384 +f 26420//28360 19143//28359 27048//28385 +f 30444//28386 30578//28387 30577//28388 +f 19197//28389 6902//28390 28728//28391 +f 19143//28359 19963//28392 27048//28385 +f 19364//28393 28596//28394 21850//28395 +f 28596//28394 19197//28389 28728//28391 +f 17940//28396 19364//28393 21739//28397 +f 28596//28394 28728//28391 21850//28395 +f 13699//15222 30023//28008 23372//23299 +f 26356//25681 30867//28398 30866//28201 +f 30867//28398 26356//25681 30868//28399 +f 6133//25637 2272//28400 28725//28401 +f 28127//28368 21840//28402 21841//14921 +f 30773//2094 28127//28368 21841//14921 +f 30330//25147 30329//28370 30196//28403 +f 30197//21811 30330//25147 30196//28403 +f 30197//21811 30196//28403 30064//28404 +f 30463//14574 30462//28369 30329//28370 +f 29118//28405 29117//4913 28982//4912 +f 30065//21810 30197//21811 30064//28404 +f 28983//14109 29118//28405 28982//4912 +f 19913//25636 19033//28406 2272//28400 +f 29539//15972 29944//15974 29402//22482 +f 19351//14850 28126//13985 29950//28407 +f 11593//5970 26948//5969 27064//22411 +f 29950//28407 28126//13985 30337//22558 +f 29568//14848 19351//14850 14969//20800 +f 30056//28408 30055//21492 29924//28409 +f 29936//15045 30067//15044 29935//18783 +f 14969//20800 19351//14850 29950//28407 +f 29807//28410 29936//15045 29806//28411 +f 30067//15044 30066//18784 29935//18783 +f 29674//25604 29807//28410 29673//25605 +f 34017//6323 34016//20938 33881//6324 +f 21004//13 27961//16835 21089//16892 +f 27064//22411 27182//28412 27181//28376 +f 27063//14133 27064//22411 27181//28376 +f 27182//28412 27301//28413 27300//28377 +f 27181//28376 27182//28412 27300//28377 +f 27301//28413 27419//28414 27418//28378 +f 27300//28377 27301//28413 27418//28378 +f 27419//28414 27537//28415 27536//28379 +f 27418//28378 27419//28414 27536//28379 +f 27537//28415 27654//28416 27653//28380 +f 27536//28379 27537//28415 27653//28380 +f 27654//28416 27769//28417 27768//28381 +f 27653//28380 27654//28416 27768//28381 +f 27885//28418 27884//28382 27768//28381 +f 27769//28417 27885//28418 27768//28381 +f 28002//28419 28001//28383 27884//28382 +f 27885//28418 28002//28419 27884//28382 +f 28002//28419 28119//28420 28118//27062 +f 28001//28383 28002//28419 28118//27062 +f 29628//21972 29489//21567 22468//23807 +f 29889//11911 22764//21442 30020//6458 +f 20431//21264 27265//21266 27086//28421 +f 35499//3672 35708//2556 13101//3673 +f 14058//28422 20431//21264 27086//28421 +f 26470//21417 26460//28423 27086//28421 +f 30448//23073 30447//28424 30314//28425 +f 23957//24166 30600//14792 28946//14791 +f 19518//28075 24023//26656 23947//27687 +f 28847//28426 28846//28427 28714//4613 +f 14428//1581 14427//1584 12992//23240 +f 25144//27913 25283//27742 25177//27716 +f 29668//28428 29667//28429 29529//28430 +f 29534//22435 29533//28431 29396//25839 +f 30193//28261 30326//22227 30192//12858 +f 22109//24881 22204//22273 29674//25604 +f 29936//15045 29935//18783 29806//28411 +f 26583//20781 29493//21574 27139//5347 +f 11617//14980 9535//12226 11366//12129 +f 29807//28410 29806//28411 29673//25605 +f 30622//28432 28873//28212 2955//28433 +f 2538//28434 30770//25016 2806//22583 +f 18601//21882 7187//28099 11649//3055 +f 22108//22434 29673//25605 29534//22435 +f 28873//28212 29557//28151 2955//28433 +f 29229//13622 29230//28435 29366//28436 +f 29805//28437 29804//28438 29671//28439 +f 29672//28440 29805//28437 29671//28439 +f 30199//28441 30198//22541 28432//22528 +f 32098//16118 32097//16120 31997//16703 +f 29366//28436 29367//28442 29503//28443 +f 27738//22311 27739//28444 27853//24886 +f 6660//28445 30622//28432 19041//28446 +f 28204//17577 28321//28447 28320//22139 +f 27504//15496 27622//28448 27621//15497 +f 19792//4300 7069//5896 19232//28449 +f 27854//28450 27970//15835 27969//24888 +f 29118//28405 28983//14109 21730//14111 +f 29393//28451 29530//28452 29392//28453 +f 26607//28196 26608//28454 26712//5058 +f 11397//22460 6847//24396 21459//15968 +f 29663//28455 29796//28456 29662//28457 +f 30209//21155 28742//21508 29551//21262 +f 25280//22545 30099//28011 23712//22935 +f 30592//28458 30591//2314 30457//1975 +f 29148//5614 29143//2141 28217//28459 +f 21155//22794 22074//24533 21156//24535 +f 27136//22067 28456//28460 27085//22068 +f 34677//14781 34805//25111 34676//27147 +f 32094//21170 32194//25018 32093//21171 +f 27065//28461 27183//28462 27182//28412 +f 27064//22411 27065//28461 27182//28412 +f 27183//28462 27302//28463 27301//28413 +f 27182//28412 27183//28462 27301//28413 +f 27302//28463 27420//28464 27419//28414 +f 27301//28413 27302//28463 27419//28414 +f 27420//28464 27538//28465 27537//28415 +f 27419//28414 27420//28464 27537//28415 +f 27538//28465 27655//28466 27654//28416 +f 27537//28415 27538//28465 27654//28416 +f 27655//28466 27770//28467 27769//28417 +f 27654//28416 27655//28466 27769//28417 +f 27886//28468 27885//28418 27769//28417 +f 27770//28467 27886//28468 27769//28417 +f 28003//28469 28002//28419 27885//28418 +f 27886//28468 28003//28469 27885//28418 +f 28003//28469 28120//28470 28119//28420 +f 28002//28419 28003//28469 28119//28420 +f 32295//19981 32294//25630 32193//25891 +f 32194//25018 32295//19981 32193//25891 +f 31994//23934 32094//21170 31993//21172 +f 12122//3182 12040//933 35814//3183 +f 26599//24882 18409//26367 332//22050 +f 29394//28471 29393//28451 29256//25834 +f 21943//1826 21942//28245 19448//12366 +f 29649//28199 29650//28260 29782//28472 +f 29790//28473 29919//28474 29789//28475 +f 30050//28476 30049//28477 29918//28478 +f 30321//28479 30454//10236 30320//10238 +f 29919//28474 30050//28476 29918//28478 +f 27648//15020 27761//28116 26477//21105 +f 19129//6067 29277//6069 27401//18335 +f 22680//7250 21777//23183 21673//23184 +f 6532//2131 30499//22101 28019//2132 +f 24110//28029 20520//27743 27280//28052 +f 30686//16585 19241//16584 28017//4450 +f 27900//27371 28015//28480 28752//22205 +f 29004//28481 29012//28482 29697//4451 +f 11071//17050 24582//17531 13316//17391 +f 28973//28483 28972//19044 28839//28484 +f 19791//28170 2538//28434 30199//28441 +f 30336//28082 30344//28485 19561//28086 +f 29934//18785 30065//21810 29933//28486 +f 6854//28487 30770//25016 2538//28434 +f 29934//18785 29933//28486 29804//28438 +f 29805//28437 29934//18785 29804//28438 +f 30987//4732 30986//26480 30928//14325 +f 30065//21810 30064//28404 29933//28486 +f 29108//19042 29245//28248 29107//19043 +f 10004//14998 23581//5751 12451//27463 +f 28840//28191 28973//28483 28839//28484 +f 28588//28488 28614//21978 26931//28489 +f 26717//21455 28614//21978 28588//28488 +f 19560//21496 26717//21455 26598//28087 +f 19033//28406 28887//28490 2272//28400 +f 28614//21978 29408//23080 26931//28489 +f 26598//28087 26717//21455 28588//28488 +f 29408//23080 29124//28491 19464//28492 +f 7080//28493 6971//28299 7302//28494 +f 26359//22613 30864//18756 30863//28221 +f 26931//28489 29408//23080 19464//28492 +f 29672//28440 29671//28439 29533//28431 +f 35681//8168 35781//9858 35790//6818 +f 29382//28249 29519//6334 29518//6333 +f 29534//22435 29672//28440 29533//28431 +f 26817//28495 26900//28496 26414//28497 +f 17670//10825 21382//6555 179//28498 +f 6971//28299 7080//28493 21472//12368 +f 23962//27661 24023//26656 24444//26655 +f 27202//25460 28601//25462 28599//28081 +f 26948//5969 27066//28499 27065//28461 +f 28734//26170 29565//28113 14250//26265 +f 27066//28499 27184//28500 27183//28462 +f 27065//28461 27066//28499 27183//28462 +f 27184//28500 27303//28501 27302//28463 +f 27183//28462 27184//28500 27302//28463 +f 27303//28501 27421//28502 27420//28464 +f 27302//28463 27303//28501 27420//28464 +f 27421//28502 27539//28503 27538//28465 +f 27420//28464 27421//28502 27538//28465 +f 27539//28503 27656//28504 27655//28466 +f 27538//28465 27539//28503 27655//28466 +f 27656//28504 27771//28505 27770//28467 +f 27655//28466 27656//28504 27770//28467 +f 27771//28505 27887//28506 27886//28468 +f 27770//28467 27771//28505 27886//28468 +f 27887//28506 28004//28507 28003//28469 +f 27886//28468 27887//28506 28003//28469 +f 28004//28507 28121//28508 28120//28470 +f 28003//28469 28004//28507 28120//28470 +f 28121//28508 28238//22462 28237//22461 +f 28120//28470 28121//28508 28237//22461 +f 25386//24719 30812//26790 30813//27579 +f 20680//27238 25097//10891 17322//27183 +f 29257//25833 29394//28471 29256//25834 +f 35491//5264 12824//16392 35627//10328 +f 14969//20800 29950//28407 28243//28509 +f 7215//28510 14969//20800 28243//28509 +f 28601//25462 30344//28485 30336//28082 +f 29950//28407 30337//22558 30471//28511 +f 27201//28512 27202//25460 28599//28081 +f 6971//28299 17478//28318 7302//28494 +f 20846//8737 25093//27602 20093//28513 +f 28485//28514 28343//28243 25980//27618 +f 28461//28103 27751//28088 27636//28515 +f 3478//24318 6769//16536 14793//18879 +f 31687//25560 31787//17314 31686//22788 +f 25050//16807 21453//16809 25784//25158 +f 26357//18757 30864//18756 26359//22613 +f 30848//18007 24035//22697 30861//18097 +f 326//2173 4125//2172 10976//2337 +f 26607//28196 26712//5058 26711//5057 +f 30220//8029 29355//15318 29429//20119 +f 21841//14921 21840//28402 29217//7352 +f 21743//28516 21742//3214 35014//19423 +f 32404//17948 32509//18096 32403//10691 +f 30739//28517 29426//28518 30604//28519 +f 35193//10714 35065//9341 17371//18201 +f 6854//28487 27645//28520 30770//25016 +f 34552//5900 34680//16545 34551//5901 +f 29245//28248 29244//28250 29107//19043 +f 6970//28521 6969//28522 7183//28523 +f 29381//28524 29382//28249 29518//6333 +f 28973//28483 29108//19042 28972//19044 +f 30868//28399 21631//25409 30869//21337 +f 20182//25808 20096//25807 20097//22786 +f 26122//27620 19663//27621 28485//28514 +f 29124//28491 29220//28525 29357//28526 +f 27135//14905 26244//15912 27254//14761 +f 19464//28492 29124//28491 29357//28526 +f 29538//17680 27529//15234 27259//28527 +f 32921//22184 32922//28528 33030//22183 +f 27161//28313 24766//28051 27280//28052 +f 21507//15221 13093//23267 18929//21877 +f 30737//23015 21849//28529 25015//23013 +f 21382//6555 29823//2645 30086//3264 +f 21631//25409 30868//28399 26356//25681 +f 31857//22542 24159//16226 31858//27487 +f 6869//28530 17670//10825 179//28498 +f 21448//17556 12090//17672 30849//17557 +f 21791//28007 21884//24534 23796//24538 +f 2956//28531 21754//13854 27840//28532 +f 16847//2106 2104//9958 16244//2107 +f 23813//25351 20356//25350 20357//26113 +f 31592//25870 31687//25560 31591//5908 +f 26363//16875 24832//16782 26432//16781 +f 13499//10995 35366//6549 12556//1783 +f 30687//27713 19518//28075 23947//27687 +f 34137//15729 34275//3132 34136//18811 +f 20093//28513 23817//10889 20846//8737 +f 22974//24422 30293//20161 30426//20162 +f 26949//10378 27067//28533 27066//28499 +f 26948//5969 26949//10378 27066//28499 +f 27067//28533 27185//28534 27184//28500 +f 27066//28499 27067//28533 27184//28500 +f 27185//28534 27304//28535 27303//28501 +f 27184//28500 27185//28534 27303//28501 +f 27304//28535 27422//28536 27421//28502 +f 27303//28501 27304//28535 27421//28502 +f 27422//28536 27540//28537 27539//28503 +f 27421//28502 27422//28536 27539//28503 +f 27540//28537 27657//28538 27656//28504 +f 27539//28503 27540//28537 27656//28504 +f 27772//28539 27771//28505 27656//28504 +f 27657//28538 27772//28539 27656//28504 +f 27772//28539 27888//28540 27887//28506 +f 27771//28505 27772//28539 27887//28506 +f 27888//28540 28005//28541 28004//28507 +f 27887//28506 27888//28540 28004//28507 +f 28005//28541 28122//15231 28121//28508 +f 28004//28507 28005//28541 28121//28508 +f 28239//15230 28238//22462 28121//28508 +f 28122//15231 28239//15230 28121//28508 +f 17889//12780 17556//27633 23926//26814 +f 30508//5608 30509//25054 25105//5606 +f 27904//28085 27838//28100 21558//28542 +f 30200//28171 19791//28170 30199//28441 +f 28472//28543 28480//28544 30215//28545 +f 29812//28092 28474//28546 26623//28547 +f 2957//28074 2818//28548 24430//27959 +f 32726//9725 32838//2934 32725//9253 +f 14055//6759 236//28135 13427//24660 +f 236//28135 14055//6759 17480//6758 +f 29700//20799 11229//28549 27492//28550 +f 31366//3529 31365//21971 31298//21055 +f 29783//28551 29912//28552 29911//28553 +f 27751//28088 29700//20799 27492//28550 +f 29426//28518 28099//28554 29289//28555 +f 30174//28556 30175//28557 30307//28558 +f 25014//27523 21849//28529 24943//27519 +f 28099//28554 2949//28209 19572//14887 +f 28862//27521 27518//5771 25499//5770 +f 25287//27058 25500//27064 24732//27063 +f 30613//28559 30739//28517 26910//28560 +f 29426//28518 29289//28555 30604//28519 +f 29559//28561 29421//28562 19747//28563 +f 29421//28562 29559//28561 30752//28564 +f 28099//28554 29264//14849 29289//28555 +f 29698//5052 27164//28565 26797//2120 +f 29427//26353 27282//12195 9685//12194 +f 19572//14887 2949//28209 27167//5480 +f 26420//28360 27048//28385 29220//28525 +f 19913//25636 2272//28400 6133//25637 +f 30716//28194 30715//28195 30581//28566 +f 29124//28491 26420//28360 29220//28525 +f 33056//16089 33055//16622 32949//16619 +f 26819//28132 26820//28131 26934//6331 +f 24274//22060 14970//22061 18231//28567 +f 28983//14109 28982//4912 28849//5190 +f 19989//24988 24349//14547 24520//4832 +f 30732//28568 30731//28302 30597//14573 +f 33704//12318 33923//505 22422//28569 +f 25366//26835 26452//28570 12109//28571 +f 179//28498 21382//6555 30086//3264 +f 20020//26203 20100//22064 26825//22063 +f 21463//2644 27550//3262 30086//3264 +f 29823//2645 21463//2644 30086//3264 +f 26609//28572 26608//28454 26512//28573 +f 26513//670 26609//28572 26512//28573 +f 27138//22742 28457//22744 27136//22067 +f 30365//10827 19466//1418 19250//28574 +f 27955//10824 17670//10825 6869//28530 +f 6133//25637 28725//28401 29423//24960 +f 30471//28511 30337//22558 2956//28531 +f 27840//28532 27955//10824 6869//28530 +f 28243//28509 29950//28407 30471//28511 +f 21754//13854 27955//10824 27840//28532 +f 27751//28088 27492//28550 27636//28515 +f 30337//22558 21754//13854 2956//28531 +f 17570//28575 19198//28143 19137//18699 +f 27838//28100 29812//28092 26623//28547 +f 236//28135 17570//28575 19137//18699 +f 2809//28576 21563//28166 19198//28143 +f 17570//28575 2809//28576 19198//28143 +f 29535//4253 24432//4252 28100//22110 +f 30754//28577 28373//28167 21563//28166 +f 26950//10377 27068//28578 27067//28533 +f 26949//10378 26950//10377 27067//28533 +f 27068//28578 27186//28579 27185//28534 +f 27067//28533 27068//28578 27185//28534 +f 27186//28579 27305//28580 27304//28535 +f 27185//28534 27186//28579 27304//28535 +f 27305//28580 27423//28581 27422//28536 +f 27304//28535 27305//28580 27422//28536 +f 27423//28581 27541//28582 27540//28537 +f 27422//28536 27423//28581 27540//28537 +f 27541//28582 27658//28583 27657//28538 +f 27540//28537 27541//28582 27657//28538 +f 27658//28583 27773//28584 27772//28539 +f 27657//28538 27658//28583 27772//28539 +f 27773//28584 27889//28585 27888//28540 +f 27772//28539 27773//28584 27888//28540 +f 27889//28585 28006//28586 28005//28541 +f 27888//28540 27889//28585 28005//28541 +f 28123//24816 28122//15231 28005//28541 +f 28006//28586 28123//24816 28005//28541 +f 24241//15210 25399//22428 25855//18442 +f 25293//22463 28238//22462 25292//17817 +f 21394//23112 23954//21626 11712//2663 +f 21067//23219 14247//15973 11958//23216 +f 2809//28576 30754//28577 21563//28166 +f 28617//28587 28252//28185 28373//28167 +f 30754//28577 28617//28587 28373//28167 +f 28468//28588 19568//28186 28252//28185 +f 28617//28587 28468//28588 28252//28185 +f 26582//28589 26472//28187 19568//28186 +f 28468//28588 26582//28589 19568//28186 +f 27283//28590 26473//28205 26472//28187 +f 29017//28097 30669//28110 28133//28591 +f 26582//28589 27283//28590 26472//28187 +f 29700//20799 14969//20800 7215//28510 +f 19914//28124 27263//28592 29566//28593 +f 29531//28594 29530//28452 29393//28451 +f 11229//28549 29700//20799 7215//28510 +f 29394//28471 29531//28594 29393//28451 +f 29669//28595 29668//28428 29530//28452 +f 7189//28596 7188//21393 14058//28422 +f 15347//23005 7188//21393 15220//28597 +f 29215//28598 19201//28599 21739//28397 +f 19364//28393 21850//28395 21739//28397 +f 28189//1822 28735//28365 30748//28600 +f 30499//22101 28189//1822 30748//28600 +f 30499//22101 30748//28600 30752//28564 +f 28019//2132 30499//22101 30752//28564 +f 26691//28601 29559//28561 19747//28563 +f 29559//28561 28019//2132 30752//28564 +f 26691//28601 19747//28563 29810//28602 +f 7407//28603 26691//28601 29810//28602 +f 7407//28603 29810//28602 6902//28390 +f 19197//28389 7407//28603 6902//28390 +f 24440//27447 27549//16617 22236//27470 +f 202//27471 22236//27470 29215//28598 +f 30999//28604 31060//28605 30998//28284 +f 31433//14656 31432//22113 31365//21971 +f 31505//22111 31592//25870 31504//22112 +f 27318//17658 27437//10993 12103//3169 +f 30043//28606 30175//28557 30174//28556 +f 17576//28607 6981//23500 26502//28608 +f 28137//13825 17575//13827 1961//28609 +f 30308//28610 30441//28611 30440//28612 +f 30067//15044 30068//15043 22492//22627 +f 13755//27429 24848//17426 28070//20406 +f 31909//28613 32010//20664 31908//20666 +f 30870//16701 30924//21335 30869//21337 +f 26609//28572 26714//28614 26713//28615 +f 26608//28454 26609//28572 26713//28615 +f 3037//23985 25166//23787 1020//23879 +f 26713//28615 26714//28614 26825//22063 +f 30363//28616 30365//10827 19250//28574 +f 19466//1418 26848//2136 26833//28617 +f 22008//27241 23671//28010 26600//15094 +f 27285//21416 28612//14242 27284//28618 +f 3053//21119 28862//27521 21267//27520 +f 21825//25837 21919//25838 29257//25833 +f 30739//28517 30604//28519 26910//28560 +f 19689//2122 567//22746 568//28152 +f 30613//28559 26910//28560 21557//28619 +f 19232//28449 30613//28559 21557//28619 +f 28461//28103 27636//28515 28474//28546 +f 14870//15207 14758//18512 23854//27349 +f 30669//28110 29566//28593 28133//28591 +f 29812//28092 28461//28103 28474//28546 +f 11510//28620 19794//28208 26473//28205 +f 2405//28621 14850//28117 26574//28622 +f 27283//28590 11510//28620 26473//28205 +f 26834//27418 26951//28623 26950//10377 +f 29489//21567 29352//21607 22370//21606 +f 26951//28623 27069//28624 27068//28578 +f 26950//10377 26951//28623 27068//28578 +f 27069//28624 27187//28625 27186//28579 +f 27068//28578 27069//28624 27186//28579 +f 27187//28625 27306//28626 27305//28580 +f 27186//28579 27187//28625 27305//28580 +f 27306//28626 27424//28627 27423//28581 +f 27305//28580 27306//28626 27423//28581 +f 27424//28627 27542//28628 27541//28582 +f 27423//28581 27424//28627 27541//28582 +f 27659//28629 27658//28583 27541//28582 +f 27542//28628 27659//28629 27541//28582 +f 27659//28629 27774//28630 27773//28584 +f 27658//28583 27659//28629 27773//28584 +f 27774//28630 27890//28631 27889//28585 +f 27773//28584 27774//28630 27889//28585 +f 28007//28632 28006//28586 27889//28585 +f 27890//28631 28007//28632 27889//28585 +f 28124//28633 28123//24816 28006//28586 +f 28007//28632 28124//28633 28006//28586 +f 23598//24814 26671//6180 26670//28634 +f 12396//18700 452//16474 12380//16473 +f 30642//28635 28488//28227 19794//28208 +f 11510//28620 30642//28635 19794//28208 +f 29141//28636 29151//28165 29269//28637 +f 30642//28635 6978//28638 6853//28228 +f 27838//28100 26623//28547 21558//28542 +f 29555//28098 29017//28097 26574//28622 +f 30669//28110 19914//28124 29566//28593 +f 27904//28085 21558//28542 27263//28592 +f 29802//28639 29931//28640 29801//28641 +f 19914//28124 27904//28085 27263//28592 +f 29531//28594 29669//28595 29530//28452 +f 29802//28639 29801//28641 29668//28428 +f 29669//28595 29802//28639 29668//28428 +f 29931//28640 29930//28642 29801//28641 +f 7188//21393 7189//28596 15220//28597 +f 2273//21854 19451//21856 2406//28643 +f 7188//21393 20431//21264 14058//28422 +f 27050//28644 19793//20897 30771//2145 +f 28602//28362 28603//28361 30347//28645 +f 19963//28392 22234//28646 20895//28647 +f 27268//28345 28603//28361 27255//25461 +f 30348//28648 2271//28649 21659//21453 +f 30347//28645 30348//28648 21659//21453 +f 28603//28361 30348//28648 30347//28645 +f 21659//21453 2271//28649 26738//21454 +f 2271//28649 26786//28650 26738//21454 +f 26738//21454 26786//28650 28618//21977 +f 26786//28650 28719//28651 28618//21977 +f 28618//21977 28719//28651 28344//28363 +f 28719//28651 29945//28358 28344//28363 +f 25914//2291 12423//2290 25319//16570 +f 22236//27470 19201//28599 29215//28598 +f 30164//22291 30165//21448 30297//21450 +f 26344//16673 12109//28571 26382//28652 +f 21329//4140 20196//23180 21859//4141 +f 24868//27449 24669//24173 23323//16568 +f 22950//23333 16314//15946 29687//5313 +f 30582//23072 30581//28566 30447//28424 +f 29562//15152 27553//13615 26506//27426 +f 19201//28599 17940//28396 21739//28397 +f 28335//22785 29562//15152 7072//28653 +f 7072//28653 29562//15152 26506//27426 +f 28621//21391 28335//22785 28607//28654 +f 28607//28654 28335//22785 7072//28653 +f 29014//2138 28621//21391 28492//28655 +f 28492//28655 28621//21391 28607//28654 +f 19250//28574 19466//1418 26833//28617 +f 28746//28656 29014//2138 28492//28655 +f 26848//2136 29014//2138 28746//28656 +f 26833//28617 26848//2136 28746//28656 +f 28612//14242 30365//10827 30363//28616 +f 29261//28657 27844//28658 30686//16585 +f 26470//21417 27285//21416 26460//28423 +f 28608//28659 28612//14242 30363//28616 +f 27265//21266 26470//21417 27086//28421 +f 28612//14242 28608//28659 27284//28618 +f 19451//21856 19450//28660 2406//28643 +f 27285//21416 27284//28618 26460//28423 +f 30194//28661 30193//28261 30061//28300 +f 2273//21854 2406//28643 18926//28662 +f 30062//28663 30061//28300 29930//28642 +f 30062//28663 30194//28661 30061//28300 +f 29017//28097 28133//28591 26574//28622 +f 29931//28640 30062//28663 29930//28642 +f 28488//28227 30642//28635 6853//28228 +f 29151//28165 2813//28164 29269//28637 +f 6978//28638 30485//28664 30619//28252 +f 21627//22116 21626//24922 21534//22115 +f 26835//28665 26952//28666 26951//28623 +f 26834//27418 26835//28665 26951//28623 +f 26952//28666 27070//28667 27069//28624 +f 26951//28623 26952//28666 27069//28624 +f 27070//28667 27188//28668 27187//28625 +f 27069//28624 27070//28667 27187//28625 +f 27188//28668 27307//28669 27306//28626 +f 27187//28625 27188//28668 27306//28626 +f 27307//28669 27425//28670 27424//28627 +f 27306//28626 27307//28669 27424//28627 +f 27425//28670 27543//28671 27542//28628 +f 27424//28627 27425//28670 27542//28628 +f 27543//28671 27660//28672 27659//28629 +f 27542//28628 27543//28671 27659//28629 +f 27660//28672 27775//28673 27774//28630 +f 27659//28629 27660//28672 27774//28630 +f 27891//28674 27890//28631 27774//28630 +f 27775//28673 27891//28674 27774//28630 +f 28008//17038 28007//28632 27890//28631 +f 27891//28674 28008//17038 27890//28631 +f 17448//19653 23656//27416 23607//19651 +f 28007//28632 28008//17038 28124//28633 +f 6853//28228 6978//28638 30619//28252 +f 30485//28664 26733//28675 26602//28253 +f 30619//28252 30485//28664 26602//28253 +f 26733//28675 28589//28676 28489//28265 +f 2813//28164 6782//28141 26569//28677 +f 26602//28253 26733//28675 28489//28265 +f 30327//28678 30460//28679 30326//22227 +f 29269//28637 2813//28164 26569//28677 +f 30327//28678 30326//22227 30193//28261 +f 30194//28661 30327//28678 30193//28261 +f 30594//28680 30593//28681 30459//21397 +f 30460//28679 30459//21397 30326//22227 +f 6884//22007 6868//28682 30720//28683 +f 30460//28679 30594//28680 30459//21397 +f 19451//21856 15347//23005 19450//28660 +f 30721//28158 6884//22007 30720//28683 +f 15347//23005 15220//28597 19450//28660 +f 27050//28644 30771//2145 28733//1983 +f 7069//5896 19703//4778 30613//28559 +f 2949//28209 6915//4926 17311//5051 +f 28709//28236 28708//28192 28579//17375 +f 26347//10261 27138//22742 27136//22067 +f 29688//17150 29538//17680 27869//6068 +f 2411//20165 19899//21503 17841//25298 +f 29374//28356 29375//28355 29511//28197 +f 29101//28331 29238//28334 29100//28332 +f 28833//28337 28832//28343 28700//28338 +f 32220//27270 32321//28684 32320//28685 +f 28966//28342 28965//28333 28832//28343 +f 28572//28686 28701//28336 28571//28687 +f 27646//14779 29272//11029 29271//26601 +f 21475//25141 16597//20928 21564//28372 +f 30572//28688 30706//28689 30705//28690 +f 30437//28691 30438//28692 30571//28693 +f 30571//28693 30572//28688 30705//28690 +f 30706//28689 30840//28694 30839//28695 +f 30840//28694 22331//28696 30839//28695 +f 22331//28696 22332//28697 30839//28695 +f 30705//28690 30706//28689 30839//28695 +f 25574//22663 25573//27115 30368//27117 +f 30438//28692 30572//28688 30571//28693 +f 26795//10788 25785//27608 25586//26011 +f 27048//28385 19963//28392 20895//28647 +f 22101//25106 22196//13658 11860//17630 +f 32219//23127 32220//27270 32320//28685 +f 20895//28647 22234//28646 29260//24172 +f 26929//5197 24588//23213 24587//23214 +f 26714//28614 20020//26203 26825//22063 +f 26678//20249 26573//4644 24243//22619 +f 26912//28698 27518//5771 28862//27521 +f 28864//21118 26912//28698 28862//27521 +f 29261//28657 30686//16585 27518//5771 +f 26912//28698 29261//28657 27518//5771 +f 27844//28658 19241//16584 30686//16585 +f 27724//28699 29004//28481 19241//16584 +f 27844//28658 27724//28699 19241//16584 +f 6852//28700 28749//28701 29004//28481 +f 6852//28700 29951//28702 28749//28701 +f 27724//28699 6852//28700 29004//28481 +f 29951//28702 29142//28703 28749//28701 +f 28604//28704 19774//28705 29142//28703 +f 29951//28702 28604//28704 29142//28703 +f 3363//22009 2273//21854 18926//28662 +f 19462//28706 28747//28707 19774//28705 +f 30055//21492 30187//21491 30054//28708 +f 30320//10238 30319//28709 30186//28710 +f 30728//28711 30727//21498 30593//28681 +f 571//21190 572//28712 18697//21881 +f 27491//28168 29151//28165 29141//28636 +f 27021//28713 27491//28168 29141//28636 +f 28589//28676 19673//28714 21647//28266 +f 17752//28715 7409//28183 27021//28713 +f 28489//28265 28589//28676 21647//28266 +f 26720//14801 26836//28716 26835//28665 +f 12427//17040 12517//17041 12516//17530 +f 26836//28716 26953//28717 26952//28666 +f 26835//28665 26836//28716 26952//28666 +f 26953//28717 27071//28718 27070//28667 +f 26952//28666 26953//28717 27070//28667 +f 27071//28718 27189//28719 27188//28668 +f 27070//28667 27071//28718 27188//28668 +f 27189//28719 27308//28720 27307//28669 +f 27188//28668 27189//28719 27307//28669 +f 27308//28720 27426//28721 27425//28670 +f 27307//28669 27308//28720 27425//28670 +f 27426//28721 27544//28722 27543//28671 +f 27425//28670 27426//28721 27543//28671 +f 27544//28722 27661//28723 27660//28672 +f 27543//28671 27544//28722 27660//28672 +f 27776//28724 27775//28673 27660//28672 +f 27661//28723 27776//28724 27660//28672 +f 27892//17039 27891//28674 27775//28673 +f 27776//28724 27892//17039 27775//28673 +f 22143//24820 10980//2475 13619//7477 +f 27891//28674 27892//17039 28008//17038 +f 29959//28725 28594//28122 2405//28621 +f 14850//28117 29555//28098 26574//28622 +f 21837//28726 19796//28140 29959//28725 +f 28594//28122 14850//28117 2405//28621 +f 6782//28141 19796//28140 21837//28726 +f 26569//28677 6782//28141 21837//28726 +f 13563//5187 18672//28727 19685//5188 +f 19796//28140 28594//28122 29959//28725 +f 30187//21491 30320//10238 30186//28710 +f 19683//28728 572//28712 571//21190 +f 12623//17208 28138//21942 12712//16442 +f 30587//28729 30721//28158 30586//28730 +f 28748//5076 30736//4609 28099//28554 +f 3363//22009 18926//28662 6868//28682 +f 35191//7174 35190//23547 35061//24880 +f 6884//22007 3363//22009 6868//28682 +f 19495//14676 29552//21153 19142//14677 +f 30298//21449 30431//19750 30297//21450 +f 29763//10908 27401//18335 28590//10909 +f 28604//28704 19462//28706 19774//28705 +f 27739//28444 27738//22311 27621//15497 +f 27969//24888 27970//15835 28086//5336 +f 26593//28731 28732//28732 27759//2135 +f 29501//22210 29502//28733 29639//22230 +f 6784//28734 6783//28735 7303//24394 +f 24440//27447 25547//27446 12423//2290 +f 26811//28316 26926//28736 26925//15121 +f 26810//13151 26811//28316 26925//15121 +f 26925//15121 26926//28736 27043//15028 +f 26926//28736 27044//28737 27043//15028 +f 27043//15028 27044//28737 27160//14256 +f 27044//28737 27161//28313 27160//14256 +f 24145//25160 24144//16286 25391//27410 +f 28018//12273 28020//28738 26494//5427 +f 29357//28526 29156//21637 28340//14922 +f 27256//28739 29357//28526 28340//14922 +f 26931//28489 19464//28492 19908//28740 +f 28619//28741 26931//28489 19908//28740 +f 26590//28742 26598//28087 28587//28743 +f 28588//28488 26931//28489 28619//28741 +f 19561//28086 26598//28087 26590//28742 +f 28587//28743 28588//28488 28619//28741 +f 19562//28744 19561//28086 26590//28742 +f 26598//28087 28588//28488 28587//28743 +f 19464//28492 29357//28526 27256//28739 +f 19908//28740 19464//28492 27256//28739 +f 30336//28082 19561//28086 19562//28744 +f 29375//28355 29512//28198 29511//28197 +f 28599//28081 30336//28082 30333//28745 +f 30333//28745 30336//28082 19562//28744 +f 27201//28512 28599//28081 28593//28746 +f 28593//28746 28599//28081 30333//28745 +f 26414//28497 27201//28512 27200//28747 +f 27200//28747 27201//28512 28593//28746 +f 26804//28748 26817//28495 26413//28749 +f 26413//28749 26414//28497 27200//28747 +f 6982//28750 26817//28495 26804//28748 +f 17476//28751 6982//28750 26804//28748 +f 7079//28752 6982//28750 17476//28751 +f 26817//28495 26414//28497 26413//28749 +f 21471//28753 21470//28754 7077//28755 +f 7077//28755 7079//28752 17476//28751 +f 30581//28566 30580//21051 30446//21050 +f 30447//28424 30581//28566 30446//21050 +f 26970//28756 26969//23070 28747//28707 +f 25994//15127 4670//16513 25995//23497 +f 30055//21492 30054//28708 29923//28757 +f 29924//28409 30055//21492 29923//28757 +f 343//28758 7186//28104 18697//21881 +f 17759//28759 343//28758 18697//21881 +f 30469//28188 7409//28183 17752//28715 +f 30467//28760 30469//28188 17752//28715 +f 19673//28714 30670//28761 237//28283 +f 21647//28266 19673//28714 237//28283 +f 30670//28761 17303//28762 21566//28286 +f 237//28283 30670//28761 21566//28286 +f 30421//17826 30288//28304 21566//28286 +f 26721//15232 26837//28763 26836//28716 +f 26720//14801 26721//15232 26836//28716 +f 26837//28763 26954//28764 26953//28717 +f 26836//28716 26837//28763 26953//28717 +f 26954//28764 27072//28765 27071//28718 +f 26953//28717 26954//28764 27071//28718 +f 27072//28765 27190//28766 27189//28719 +f 27071//28718 27072//28765 27189//28719 +f 27190//28766 27309//28767 27308//28720 +f 27189//28719 27190//28766 27308//28720 +f 27309//28767 27427//28768 27426//28721 +f 27308//28720 27309//28767 27426//28721 +f 27427//28768 27545//28769 27544//28722 +f 27426//28721 27427//28768 27544//28722 +f 27545//28769 27662//28770 27661//28723 +f 27544//28722 27545//28769 27661//28723 +f 27662//28770 27777//17124 27776//28724 +f 27661//28723 27662//28770 27776//28724 +f 31044//7936 31045//9641 31106//15001 +f 27776//28724 27777//17124 27892//17039 +f 30594//28680 30728//28711 30593//28681 +f 12692//27442 26969//23070 25405//23081 +f 30728//28711 6867//28771 30727//21498 +f 6867//28771 6857//21447 30727//21498 +f 6857//21447 6867//28771 13563//5187 +f 6867//28771 18672//28727 13563//5187 +f 19685//5188 19683//28728 571//21190 +f 18672//28727 19683//28728 19685//5188 +f 30453//10237 30452//28772 30319//28709 +f 572//28712 17759//28759 18697//21881 +f 26970//28756 27957//22857 26969//23070 +f 30320//10238 30453//10237 30319//28709 +f 21156//24535 30343//22795 21155//22794 +f 8154//9357 19199//28773 20092//21265 +f 19462//28706 26970//28756 28747//28707 +f 28203//5338 28204//17577 28320//22139 +f 6783//28735 6784//28734 15898//21502 +f 27641//24355 27640//20783 30762//22584 +f 19249//23078 19145//19666 21471//28753 +f 6848//24395 6898//28774 21460//10259 +f 19145//19666 19249//23078 21945//17031 +f 21470//28754 7079//28752 7077//28755 +f 21944//19667 19145//19666 21945//17031 +f 19145//19666 21470//28754 21471//28753 +f 30033//4923 30165//21448 30164//22291 +f 29654//13958 29787//13960 29786//1818 +f 30044//28775 30045//20970 30176//28776 +f 30177//28777 30310//28778 30309//28779 +f 12511//28296 19564//28294 26501//28237 +f 26505//28238 28483//28240 28460//28239 +f 26402//28780 27178//28781 27176//28782 +f 27176//28782 27178//28781 28496//28314 +f 25341//17357 24718//17356 23649//24987 +f 6915//4926 29893//5899 17311//5051 +f 30034//28214 30166//22657 30165//21448 +f 34933//17656 34932//24879 34803//2303 +f 26401//22407 24804//22409 25343//27502 +f 34804//2302 34933//17656 34803//2303 +f 12090//17672 30850//17800 30849//17557 +f 23780//23765 22485//27829 25656//27456 +f 26603//1553 26604//16600 26708//28130 +f 28455//3063 28454//25592 21271//24385 +f 26709//28783 26821//15468 26820//28131 +f 20766//25820 27634//13624 20684//25702 +f 26708//28130 26709//28783 26820//28131 +f 28454//25592 28453//22405 28333//22865 +f 29815//28784 29947//14414 24010//18847 +f 21369//15969 26346//22066 26345//15970 +f 25307//17097 23810//26791 25386//24719 +f 15477//18162 15886//22477 13058//18163 +f 21643//26398 34501//28785 34500//28786 +f 31299//4148 31366//3529 31298//21055 +f 28576//28787 28575//21457 28453//22405 +f 28454//25592 28576//28787 28453//22405 +f 28705//28788 28704//18786 28575//21457 +f 28576//28787 28705//28788 28575//21457 +f 28837//28789 28836//6329 28704//18786 +f 28705//28788 28837//28789 28704//18786 +f 29242//13293 29241//2857 29104//2650 +f 28970//20977 28969//2649 28836//6329 +f 28837//28789 28970//20977 28836//6329 +f 29105//13294 29242//13293 29104//2650 +f 29105//13294 29104//2650 28969//2649 +f 28970//20977 29105//13294 28969//2649 +f 30715//28195 30714//15149 30580//21051 +f 29242//13293 29379//14443 29378//10832 +f 29912//28552 30043//28606 30042//28790 +f 30447//28424 30446//21050 30313//4341 +f 30187//21491 30186//28710 30054//28708 +f 29782//28472 29783//28551 29911//28553 +f 343//28758 11399//28791 11429//28101 +f 29924//28409 29923//28757 29794//28792 +f 7409//28183 27491//28168 27021//28713 +f 7186//28104 343//28758 11429//28101 +f 17303//28762 30421//17826 21566//28286 +f 28808//28204 30469//28188 30467//28760 +f 29834//28793 29965//27606 25041//21485 +f 30288//28304 30421//17826 19567//28322 +f 24995//3455 24994//27488 27287//19823 +f 26722//15402 26838//28794 26837//28763 +f 26721//15232 26722//15402 26837//28763 +f 26838//28794 26955//28795 26954//28764 +f 26837//28763 26838//28794 26954//28764 +f 26955//28795 27073//28796 27072//28765 +f 26954//28764 26955//28795 27072//28765 +f 27073//28796 27191//28797 27190//28766 +f 27072//28765 27073//28796 27190//28766 +f 27191//28797 27310//28798 27309//28767 +f 27190//28766 27191//28797 27309//28767 +f 27310//28798 27428//28799 27427//28768 +f 27309//28767 27310//28798 27427//28768 +f 27546//28800 27545//28769 27427//28768 +f 27428//28799 27546//28800 27427//28768 +f 27663//24599 27662//28770 27545//28769 +f 27546//28800 27663//24599 27545//28769 +f 6672//26171 14250//26265 2077//26174 +f 27662//28770 27663//24599 27777//17124 +f 28319//19847 28320//22139 28439//22127 +f 24532//27417 18360//27255 23518//25663 +f 28731//28145 28744//28801 30465//28125 +f 30466//28802 19348//28803 18009//28126 +f 30465//28125 30466//28802 18009//28126 +f 19348//28803 27020//28804 27019//28111 +f 29387//28805 29386//28806 29249//28807 +f 29250//28808 29387//28805 29249//28807 +f 30587//28729 30586//28730 30452//28772 +f 30453//10237 30587//28729 30452//28772 +f 27780//2615 17574//27321 27868//2616 +f 30721//28158 30720//28683 30586//28730 +f 30581//28566 30715//28195 30580//21051 +f 16334//15886 16484//8870 3206//1018 +f 18263//1827 18713//18823 6861//18822 +f 30715//28195 6928//28193 30714//15149 +f 21944//19667 21945//17031 18713//18823 +f 6928//28193 18263//1827 6861//18822 +f 30750//28809 30751//28810 28366//27986 +f 18263//1827 21944//19667 18713//18823 +f 29516//14555 29654//13958 29653//1817 +f 27165//28811 27163//28812 26355//28813 +f 29241//2857 29242//13293 29378//10832 +f 29515//1663 29516//14555 29653//1817 +f 29379//14443 29516//14555 29515//1663 +f 29378//10832 29379//14443 29515//1663 +f 29653//1817 29654//13958 29786//1818 +f 29787//13960 29916//2854 29915//13211 +f 29651//28814 29652//1664 29784//28815 +f 29785//1819 29914//13212 29913//28816 +f 7296//22939 7412//28817 7190//28818 +f 19456//6189 7296//22939 19457//28120 +f 26393//28819 26402//28780 27176//28782 +f 27178//28781 28497//28315 28496//28314 +f 26408//28820 26402//28780 26393//28819 +f 26387//28821 26408//28820 26393//28819 +f 25945//10897 30074//10899 30745//28822 +f 6841//28823 26408//28820 6840//28824 +f 14234//16444 30356//26947 9403//1426 +f 31596//14629 31691//17865 31595//14630 +f 23656//27416 17448//19653 10004//14998 +f 31594//17460 31593//14045 31506//25113 +f 27146//15132 5556//8364 28682//14757 +f 24994//27488 24866//23008 27287//19823 +f 7183//28523 7184//22938 19455//6188 +f 7414//28825 6898//28774 6848//24395 +f 19355//28826 7183//28523 19455//6188 +f 7183//28523 6969//28522 7300//28827 +f 7184//22938 7183//28523 7300//28827 +f 6841//28823 6840//28824 7300//28827 +f 6969//28522 6841//28823 7300//28827 +f 26408//28820 26387//28821 6840//28824 +f 21948//28828 19355//28826 19455//6188 +f 28497//28315 30289//28295 30287//28297 +f 3088//28829 21948//28828 19784//6187 +f 19784//6187 21948//28828 19455//6188 +f 6919//28830 3088//28829 3089//28831 +f 3089//28831 3088//28829 19784//6187 +f 30711//28832 6919//28830 7408//15254 +f 7408//15254 6919//28830 3089//28831 +f 30711//28832 30710//28833 30576//28834 +f 30710//28833 30711//28832 7408//15254 +f 30577//28388 30576//28834 30442//28835 +f 30577//28388 30711//28832 30576//28834 +f 29652//1664 29785//1819 29784//28815 +f 30443//28836 30577//28388 30442//28835 +f 30178//28837 30179//4031 30311//28838 +f 29514//1662 29652//1664 29651//28814 +f 30314//28425 30447//28424 30313//4341 +f 30312//21451 30445//21052 30444//28386 +f 30667//28839 25146//1505 25829//25552 +f 30314//28425 30313//4341 30180//3061 +f 29795//28840 29924//28409 29794//28792 +f 22003//27539 24708//26654 22099//26653 +f 11399//28791 27876//28841 27787//28115 +f 29795//28840 29794//28792 29661//28842 +f 28755//28843 28808//28204 30467//28760 +f 11429//28101 11399//28791 27787//28115 +f 30778//28844 25725//26888 25724//20582 +f 27400//28206 28808//28204 28755//28843 +f 30458//21398 30592//28458 30457//1975 +f 27963//5944 27964//2295 28080//5424 +f 21758//25996 19567//28322 30421//17826 +f 26723//25473 26839//28845 26838//28794 +f 26722//15402 26723//25473 26838//28794 +f 26839//28845 26956//28846 26955//28795 +f 26838//28794 26839//28845 26955//28795 +f 26956//28846 27074//28847 27073//28796 +f 26955//28795 26956//28846 27073//28796 +f 27074//28847 27192//28848 27191//28797 +f 27073//28796 27074//28847 27191//28797 +f 27192//28848 27311//28849 27310//28798 +f 27191//28797 27192//28848 27310//28798 +f 27429//28850 27428//28799 27310//28798 +f 27311//28849 27429//28850 27310//28798 +f 27547//28851 27546//28800 27428//28799 +f 27429//28850 27547//28851 27428//28799 +f 27547//28851 27664//24600 27663//24599 +f 27546//28800 27547//28851 27663//24599 +f 24467//23223 24520//4832 24433//23648 +f 19427//23150 24275//28852 11451//28853 +f 345//28251 11398//28229 342//28854 +f 27983//28223 26484//28225 26483//28855 +f 11398//28229 27983//28223 27953//28856 +f 3324//28857 11398//28229 27953//28856 +f 27020//28804 29140//28858 29139//28127 +f 18009//28126 19348//28803 27019//28111 +f 29250//28808 29249//28807 29112//28859 +f 29113//28860 29250//28808 29112//28859 +f 33262//2947 33371//3337 33370//28142 +f 34566//6722 34565//27775 34428//6756 +f 29655//13959 29656//6335 29788//17644 +f 19449//12367 21469//28247 21472//12368 +f 30046//20969 30047//2856 30178//28837 +f 6928//28193 6861//18822 30714//15149 +f 29915//13211 29916//2854 30046//20969 +f 30047//2856 30179//4031 30178//28837 +f 29786//1818 29787//13960 29915//13211 +f 29916//2854 30047//2856 30046//20969 +f 29092//28861 29093//28862 29229//13622 +f 30311//28838 30444//28386 30443//28836 +f 30433//28863 30567//28864 30566//22625 +f 30432//19751 30433//28863 30566//22625 +f 30176//28776 30177//28777 30309//28779 +f 30310//28778 30443//28836 30442//28835 +f 30045//20970 30177//28777 30176//28776 +f 30309//28779 30310//28778 30442//28835 +f 29784//28815 29785//1819 29913//28816 +f 29914//13212 30045//20970 30044//28775 +f 33268//28865 33377//2386 33267//16093 +f 29913//28816 29914//13212 30044//28775 +f 26386//28866 26392//28867 26391//28868 +f 26385//28869 26386//28866 26391//28868 +f 26392//28867 27170//28870 26391//28868 +f 27170//28870 27169//28871 26391//28868 +f 27170//28870 28495//28872 27169//28871 +f 28495//28872 28484//28873 27169//28871 +f 6860//28874 2945//26893 22011//15737 +f 27488//28305 20990//14393 27606//14395 +f 30224//6762 30357//28875 30356//26947 +f 16484//8870 938//1019 3206//1018 +f 30357//28875 30491//28876 30490//20908 +f 30356//26947 30357//28875 30490//20908 +f 27077//28277 27078//28877 25922//28278 +f 35665//6815 35429//8314 35555//8313 +f 12005//2755 12087//8498 27647//25631 +f 14379//17938 14925//13141 12382//17926 +f 30286//28878 13992//28879 21751//28880 +f 26612//20158 31560//15401 31647//28881 +f 28495//28872 30286//28878 30231//28882 +f 30231//28882 30286//28878 21751//28880 +f 6839//28883 26386//28866 26385//28869 +f 28484//28873 28495//28872 30231//28882 +f 5608//28259 7296//22939 7190//28818 +f 17572//28884 6839//28883 26385//28869 +f 6839//28883 17572//28884 7190//28818 +f 7412//28817 6839//28883 7190//28818 +f 13992//28879 26500//28885 17312//28886 +f 21751//28880 13992//28879 17312//28886 +f 26500//28885 28459//28887 28339//28888 +f 17312//28886 26500//28885 28339//28888 +f 29563//17415 17263//2664 29634//14514 +f 28459//28887 29155//28889 28883//28890 +f 28339//28888 28459//28887 28883//28890 +f 30763//25057 30764//27196 23569//25055 +f 19383//21240 21694//24590 21672//24657 +f 29155//28889 26503//28891 23577//6190 +f 29513//28892 29514//1662 29651//28814 +f 17985//28893 23917//26667 23830//25971 +f 30311//28838 30312//21451 30444//28386 +f 29377//10833 29514//1662 29513//28892 +f 30181//28894 30314//28425 30180//3061 +f 30445//21052 30579//15151 30578//28387 +f 26231//14032 21673//23184 22647//6046 +f 30181//28894 30180//3061 30048//3060 +f 29662//28457 29795//28840 29661//28842 +f 29123//22430 28988//21160 28246//21159 +f 27876//28841 26482//28895 26481//28112 +f 29662//28457 29661//28842 29523//28896 +f 27398//28897 27400//28206 28755//28843 +f 27787//28115 27876//28841 26481//28112 +f 13467//1809 19740//28371 19689//2122 +f 27953//28856 27983//28223 26483//28855 +f 19688//22745 21564//28372 567//22746 +f 30431//19750 30430//8966 30297//21450 +f 30455//28898 30454//10236 30321//28479 +f 26613//1542 26724//28899 26723//25473 +f 21758//25996 15093//17828 23142//25994 +f 26724//28899 26840//28900 26839//28845 +f 26723//25473 26724//28899 26839//28845 +f 26840//28900 26957//28901 26956//28846 +f 26839//28845 26840//28900 26956//28846 +f 26957//28901 27075//28902 27074//28847 +f 26956//28846 26957//28901 27074//28847 +f 27075//28902 27193//28903 27192//28848 +f 27074//28847 27075//28902 27192//28848 +f 27193//28903 27312//28904 27311//28849 +f 27192//28848 27193//28903 27311//28849 +f 27430//28905 27429//28850 27311//28849 +f 27312//28904 27430//28905 27311//28849 +f 27430//28905 27548//17310 27547//28851 +f 27429//28850 27430//28905 27547//28851 +f 12726//8282 13677//8281 11366//12129 +f 27547//28851 27548//17310 27664//24600 +f 18930//12574 4785//12977 30479//4927 +f 21554//28906 21555//28263 342//28854 +f 29925//28907 29924//28409 29795//28840 +f 24340//22960 17669//28908 29956//28909 +f 570//28910 569//28264 21554//28906 +f 21555//28263 345//28251 342//28854 +f 29140//28858 29158//28911 29125//28128 +f 27019//28111 27020//28804 29139//28127 +f 29113//28860 29112//28859 28977//28912 +f 28978//28913 29113//28860 28977//28912 +f 19678//27966 19358//28914 25514//23762 +f 29650//28260 29783//28551 29782//28472 +f 29518//6333 29656//6335 29655//13959 +f 29517//14556 29518//6333 29655//13959 +f 21946//17032 21947//28915 3087//28916 +f 30179//4031 30312//21451 30311//28838 +f 27855//28917 27854//28450 27739//28444 +f 28968//2651 29103//14073 28967//28918 +f 29504//28919 29642//28920 29641//23017 +f 29093//28862 29230//28435 29229//13622 +f 29642//28920 29775//28921 29774//23018 +f 29641//23017 29642//28920 29774//23018 +f 26917//19018 29137//5613 29136//5612 +f 29137//5613 29143//2141 29148//5614 +f 28748//5076 29426//28518 30739//28517 +f 19703//4778 28748//5076 30739//28517 +f 24864//27440 24865//27460 24992//27439 +f 30222//28922 21839//3342 21748//3341 +f 33490//2387 33489//1119 33376//2388 +f 13944//17536 29961//17548 14042//17593 +f 24213//28923 26385//28869 26364//28924 +f 28096//28925 28095//28926 27978//28927 +f 28213//28928 28330//28929 28212//28930 +f 26391//28868 27169//28871 27166//28931 +f 34843//15725 34844//15724 34971//15257 +f 28330//28929 28329//28932 28212//28930 +f 31045//9641 31044//7936 30983//7935 +f 26348//28129 27140//22743 27138//22742 +f 30092//6761 30225//28933 30224//6762 +f 12185//7241 12186//10994 12269//7239 +f 30225//28933 30358//28934 30357//28875 +f 30224//6762 30225//28933 30357//28875 +f 30358//28934 30492//28935 30491//28876 +f 30357//28875 30358//28934 30491//28876 +f 26815//5196 26816//27964 25936//23212 +f 30491//28876 25438//6594 30490//20908 +f 11979//17925 12382//17926 12561//18041 +f 30492//28935 30626//11364 25438//6594 +f 21073//25017 29699//16810 30641//12352 +f 22293//27768 23779//21459 23578//6191 +f 35075//28936 35204//28937 35074//28938 +f 6898//28774 21370//10260 21460//10259 +f 12665//25629 29491//23404 15215//22223 +f 30215//28545 30222//28922 21748//3341 +f 21839//3342 17315//23074 17257//3343 +f 31113//17232 31176//16180 31175//16179 +f 28883//28890 23577//6190 29018//6192 +f 30565//8964 30699//20040 30564//8965 +f 28339//28888 28883//28890 29018//6192 +f 28883//28890 29155//28889 23577//6190 +f 17312//28886 28339//28888 28338//28939 +f 28338//28939 28339//28888 29018//6192 +f 21751//28880 17312//28886 17262//28940 +f 17262//28940 17312//28886 28338//28939 +f 30231//28882 21751//28880 21752//28941 +f 21752//28941 21751//28880 17262//28940 +f 26385//28869 26391//28868 26364//28924 +f 30230//28942 30231//28882 21752//28941 +f 27979//28943 28096//28925 27978//28927 +f 17572//28884 26385//28869 24213//28923 +f 29376//28944 29377//10833 29513//28892 +f 27841//28150 19463//28945 30749//28946 +f 30444//28386 30445//21052 30578//28387 +f 29240//2858 29377//10833 29376//28944 +f 30049//28477 30181//28894 30048//3060 +f 30579//15151 30713//15150 30712//28947 +f 29123//22430 29402//22482 28988//21160 +f 30049//28477 30048//3060 29917//2855 +f 29524//28948 29662//28457 29523//28896 +f 29402//22482 27644//21733 28988//21160 +f 26482//28895 27386//28949 27385//28118 +f 29524//28948 29523//28896 29386//28806 +f 26484//28225 27400//28206 27398//28897 +f 26481//28112 26482//28895 27385//28118 +f 11398//28229 3324//28857 342//28854 +f 26483//28855 26484//28225 27398//28897 +f 19466//1418 7400//1417 26848//2136 +f 569//28264 21555//28263 21554//28906 +f 30617//28950 30618//27881 29762//22962 +f 26614//6278 26725//28951 26724//28899 +f 26613//1542 26614//6278 26724//28899 +f 26725//28951 26841//28952 26840//28900 +f 26724//28899 26725//28951 26840//28900 +f 26841//28952 26958//28953 26957//28901 +f 26840//28900 26841//28952 26957//28901 +f 26958//28953 27076//28954 27075//28902 +f 26957//28901 26958//28953 27075//28902 +f 27076//28954 27194//28276 27193//28903 +f 27075//28902 27076//28954 27193//28903 +f 27194//28276 27313//28955 27312//28904 +f 27193//28903 27194//28276 27312//28904 +f 27313//28955 27431//17334 27430//28905 +f 27312//28904 27313//28955 27430//28905 +f 22567//21973 29628//21972 22468//23807 +f 27430//28905 27431//17334 27548//17310 +f 29825//28956 24340//22960 29762//22962 +f 22384//23444 29635//18603 29768//2035 +f 27989//27537 30618//27881 30617//28950 +f 28106//28957 27989//27537 30617//28950 +f 27989//27537 28106//28957 28881//28958 +f 19437//28959 18058//28268 19686//28960 +f 19687//28282 569//28264 570//28910 +f 29158//28911 30089//28961 26830//28136 +f 29139//28127 29140//28858 29125//28128 +f 28978//28913 28977//28912 28844//28962 +f 28845//28963 28978//28913 28844//28962 +f 6787//10106 29827//28964 6659//10107 +f 29529//28430 29528//22481 29391//5603 +f 33091//28965 33196//28966 33090//20853 +f 29656//6335 29789//28475 29788//17644 +f 27740//28967 27855//28917 27739//28444 +f 34808//16544 34937//16798 34807//7365 +f 27748//20894 27747//28968 27630//20843 +f 27855//28917 27971//28969 27970//15835 +f 28242//21843 30073//20805 684//20807 +f 27513//22883 27631//20842 27512//10828 +f 30643//20509 30762//22584 27525//20619 +f 27640//20783 29120//20782 6657//20639 +f 28479//15131 35787//14065 35551//8027 +f 27525//20619 27640//20783 6657//20639 +f 30566//22625 30567//28864 30700//28970 +f 30835//28971 2814//28972 2411//20165 +f 28484//28873 30231//28882 30230//28942 +f 28481//28973 28484//28873 30230//28942 +f 26364//28924 26391//28868 27166//28931 +f 27169//28871 28484//28873 28481//28973 +f 19660//28974 27867//3388 19031//28975 +f 27166//28931 27169//28871 28481//28973 +f 30322//28976 30455//28898 30321//28479 +f 30723//28977 30722//28159 30588//28978 +f 30536//2212 24902//2211 25011//17823 +f 29698//5052 17261//15000 27164//28565 +f 34676//27147 34675//2304 34547//1343 +f 26831//3164 26834//27418 11595//3162 +f 30226//24107 30225//28933 30092//6761 +f 30093//24108 30226//24107 30092//6761 +f 30359//28979 30358//28934 30225//28933 +f 30226//24107 30359//28979 30225//28933 +f 30359//28979 30493//28980 30492//28935 +f 30358//28934 30359//28979 30492//28935 +f 30493//28980 30627//28981 30626//11364 +f 30492//28935 30493//28980 30626//11364 +f 30627//28981 30761//28982 30760//11363 +f 30626//11364 30627//28981 30760//11363 +f 29535//4253 29536//28279 22003//27539 +f 12921//16641 24778//23946 22977//25535 +f 30736//4609 6915//4926 2949//28209 +f 24993//27461 24992//27439 24865//27460 +f 19271//28983 28984//21852 2542//22148 +f 34018//15330 34017//6323 33882//6322 +f 29520//14329 29519//6334 29382//28249 +f 26904//854 26594//856 6538//28984 +f 29502//28733 29503//28443 29640//6600 +f 29383//28985 29520//14329 29382//28249 +f 26919//18900 19036//1670 26584//22557 +f 19575//1972 26941//16045 12512//21970 +f 30486//5478 11385//5064 19130//22275 +f 27875//19071 29354//4767 29273//2124 +f 18866//28986 30693//28123 14619//28109 +f 19671//28987 2811//28096 20177//28106 +f 19671//28987 29682//28988 2811//28096 +f 28726//28119 28725//28401 5475//28105 +f 28887//28490 19671//28987 20177//28106 +f 28816//22616 28850//5477 30476//13833 +f 7086//28989 17572//28884 24213//28923 +f 11450//2468 15330//26807 28018//12273 +f 19243//28216 19630//28990 19463//28945 +f 7190//28818 17572//28884 7086//28989 +f 29239//28991 29240//2858 29376//28944 +f 6919//28830 17569//28992 3088//28829 +f 30578//28387 30579//15151 30712//28947 +f 29103//14073 29240//2858 29239//28991 +f 29918//28478 30049//28477 29917//2855 +f 17271//18824 17569//28992 30712//28947 +f 27528//17425 30074//10899 27644//21733 +f 29918//28478 29917//2855 29788//17644 +f 29387//28805 29524//28948 29386//28806 +f 29402//22482 27528//17425 27644//21733 +f 27385//28118 27386//28949 28731//28145 +f 28713//28993 28712//28994 28583//22695 +f 27386//28949 28744//28801 28731//28145 +f 28744//28801 30466//28802 30465//28125 +f 18058//28268 19437//28959 7403//28995 +f 21941//28321 18058//28268 7403//28995 +f 30618//27881 29825//28956 29762//22962 +f 23654//25404 24970//4645 24913//5198 +f 26615//6435 26726//21642 26725//28951 +f 26614//6278 26615//6435 26725//28951 +f 26726//21642 26842//28996 26841//28952 +f 26725//28951 26726//21642 26841//28952 +f 26842//28996 26959//28997 26958//28953 +f 26841//28952 26842//28996 26958//28953 +f 26959//28997 27077//28277 27076//28954 +f 26958//28953 26959//28997 27076//28954 +f 27431//17334 27313//28955 12010//17311 +f 27076//28954 27077//28277 27194//28276 +f 30201//22082 22492//22627 30068//15043 +f 30926//13185 30925//20279 30871//16700 +f 24041//27714 25132//16130 25134//26730 +f 28125//14834 25647//23694 23655//23693 +f 23954//21626 20059//23111 23955//15194 +f 2808//14759 27989//27537 28881//28958 +f 30730//28303 30729//28998 30595//28999 +f 30582//23072 30716//28194 30581//28566 +f 29125//28128 29158//28911 26830//28136 +f 19686//28960 19687//28282 570//28910 +f 28845//28963 28844//28962 28712//28994 +f 30089//28961 30735//29000 28233//28160 +f 29686//21154 29552//21153 19495//14676 +f 33731//24809 33730//27218 33603//16030 +f 34680//16545 34808//16544 34679//7928 +f 21509//24832 21418//26982 29830//24903 +f 6657//20639 29120//20782 21747//20750 +f 29291//16276 28722//14154 19144//8118 +f 28971//20985 28970//20977 28837//28789 +f 6838//22862 26947//29001 6408//29002 +f 2944//20366 2806//22583 30643//20509 +f 28838//29003 28971//20985 28837//28789 +f 29289//28555 29022//28089 30470//28091 +f 30762//22584 27640//20783 27525//20619 +f 30700//28970 30699//20040 30565//8964 +f 29120//20782 19795//6748 21747//20750 +f 28880//23039 27529//15234 29538//17680 +f 29563//17415 30472//17414 17263//2664 +f 2272//28400 28887//28490 20177//28106 +f 19790//29004 21475//25141 21564//28372 +f 21288//2467 16597//20928 15317//25145 +f 5475//28105 2272//28400 20177//28106 +f 30959//24234 19965//24232 19964//29005 +f 18705//22710 35122//22702 19412//22798 +f 31070//20368 31132//11875 31069//29006 +f 17450//21791 17372//22031 17373//2699 +f 25085//27493 23079//27492 19675//29007 +f 34361//25471 16932//15399 16769//23566 +f 29831//17487 13847//13097 29702//19168 +f 26692//29008 20088//25032 26587//29009 +f 33729//11197 33728//12739 33601//17195 +f 30228//25817 25942//25816 20019//27389 +f 27266//2646 27378//18 12541//17102 +f 23994//24349 23599//25448 25489//24350 +f 30360//28034 30359//28979 30226//24107 +f 6855//16455 23082//25076 19924//25075 +f 30360//28034 30494//29010 30493//28980 +f 30359//28979 30360//28034 30493//28980 +f 30494//29010 30628//29011 30627//28981 +f 30493//28980 30494//29010 30627//28981 +f 23570//25056 24778//23946 30761//28982 +f 30627//28981 30628//29011 30761//28982 +f 21463//2644 20867//25561 20866//6162 +f 15408//25993 21758//25996 15599//25995 +f 22977//25535 24778//23946 21093//27031 +f 24063//24784 19305//27415 24122//18053 +f 27641//24355 27645//28520 29767//4771 +f 28823//2313 28824//21768 28956//21874 +f 30040//29012 30172//29013 30039//29014 +f 30305//29015 30438//28692 30437//28691 +f 30172//29013 30305//29015 30304//29016 +f 30171//29017 30172//29013 30304//29016 +f 29909//29018 30040//29012 29908//29019 +f 30304//29016 30305//29015 30437//28691 +f 29779//29020 29780//29021 29908//29019 +f 30172//29013 30171//29017 30039//29014 +f 29647//29022 29780//29021 29646//29023 +f 30040//29012 30039//29014 29908//29019 +f 29509//29024 29647//29022 29508//29025 +f 29780//29021 29909//29018 29908//29019 +f 29235//29026 29234//29027 29097//29028 +f 29780//29021 29779//29020 29646//29023 +f 34361//25471 12464//29029 33811//14893 +f 28963//29030 28962//29031 28829//29032 +f 7191//29033 7190//28818 7086//28989 +f 32952//27559 33058//29034 32951//16358 +f 3087//28916 21947//28915 21948//28828 +f 19789//28107 19788//29035 22330//29036 +f 29102//29037 29103//14073 29239//28991 +f 26497//14859 27435//22700 27432//29038 +f 30713//15150 17271//18824 30712//28947 +f 28452//22406 28574//18788 28451//29039 +f 29789//28475 29918//28478 29788//17644 +f 2410//17033 3087//28916 17569//28992 +f 30419//29040 30422//15965 10728//29041 +f 28839//28484 28972//19044 28838//29003 +f 28712//28994 28582//22693 28583//22695 +f 27528//17425 19347//17427 30745//28822 +f 28233//28160 30735//29000 29287//28161 +f 30346//2614 27868//2616 35485//17636 +f 18058//28268 19687//28282 19686//28960 +f 28473//29042 5341//29043 21750//28163 +f 2808//14759 28881//28958 29258//23009 +f 30462//28369 30596//28320 30461//29044 +f 28130//23075 29019//27411 28129//15489 +f 11009//10061 7469//14307 14515//1252 +f 21416//7852 19709//20870 22926//12692 +f 26727//21643 26843//29045 26842//28996 +f 26726//21642 26727//21643 26842//28996 +f 26843//29045 26960//29046 26959//28997 +f 26842//28996 26843//29045 26959//28997 +f 26960//29046 27078//28877 27077//28277 +f 26959//28997 26960//29046 27077//28277 +f 19477//1552 25767//22555 25766//1550 +f 25922//28278 27078//28877 27196//23040 +f 22492//22627 30201//22082 22591//25273 +f 30506//26595 25577//26904 30505//29047 +f 33171//29048 33170//29049 33065//29050 +f 20241//28095 6928//28193 30715//28195 +f 567//22746 19639//22103 21556//28153 +f 11776//26369 12903//26277 30689//26370 +f 30596//28320 30730//28303 30595//28999 +f 28849//5190 21546//26026 21638//14110 +f 26830//28136 30089//28961 28233//28160 +f 30730//28303 21941//28321 7403//28995 +f 30061//28300 30060//28262 29929//2134 +f 30735//29000 28473//29042 29287//28161 +f 27553//13615 28879//2110 21973//16569 +f 28713//28993 28845//28963 28712//28994 +f 29381//28524 29518//6333 29380//14442 +f 19140//23678 21374//27958 19984//23624 +f 28865//16277 29425//22549 28722//14154 +f 6410//8116 19144//8118 28722//14154 +f 27504//15496 27505//21838 27622//28448 +f 27740//28967 27739//28444 27622//28448 +f 27530//29051 27173//27744 30477//27745 +f 26793//25578 24360//25458 23604//22429 +f 30310//28778 30311//28838 30443//28836 +f 29914//13212 29915//13211 30045//20970 +f 19359//29052 19453//29053 2404//21855 +f 29521//29054 29659//14328 29520//14329 +f 30299//21767 30432//19751 30431//19750 +f 30566//22625 30700//28970 30565//8964 +f 29372//29055 29509//29024 29371//29056 +f 29647//29022 29646//29023 29508//29025 +f 29235//29026 29372//29055 29234//29027 +f 29509//29024 29508//29025 29371//29056 +f 29098//29057 29235//29026 29097//29028 +f 29372//29055 29371//29056 29234//29027 +f 11835//15262 27415//12724 11921//2906 +f 18305//4317 19523//21974 17364//4318 +f 27647//25631 27762//3104 12168//2940 +f 20019//27389 21543//24109 29962//27414 +f 29832//21484 29831//17487 29702//19168 +f 29703//26115 29832//21484 29702//19168 +f 11614//17155 26629//29058 26628//17437 +f 32842//16359 32950//16367 32841//23016 +f 28107//28079 28737//23225 28738//21840 +f 19741//22010 30611//28078 28218//21664 +f 31434//3528 31506//25113 31433//14656 +f 26208//25215 24188//25214 26209//23601 +f 13312//21415 18224//17153 19215//21026 +f 27254//14761 26244//15912 26252//18093 +f 30361//25815 30495//29059 30494//29010 +f 30360//28034 30361//25815 30494//29010 +f 30495//29059 30629//28033 30628//29011 +f 30494//29010 30495//29059 30628//29011 +f 30628//29011 30629//28033 23570//25056 +f 24363//26623 24778//23946 23570//25056 +f 23901//2444 19133//4910 27531//2445 +f 18190//21878 14084//2151 13699//15222 +f 27509//29060 27508//29061 27389//29062 +f 30569//29063 30570//29064 30703//29065 +f 28092//29066 28209//29067 28091//29068 +f 27152//27908 27153//27907 27271//29069 +f 27975//29070 28092//29066 27974//29071 +f 28326//29072 28325//29073 28208//29074 +f 27859//29075 27975//29070 27858//29076 +f 28209//29067 28208//29074 28091//29068 +f 27859//29075 27858//29076 27743//29077 +f 28092//29066 28091//29068 27974//29071 +f 27744//29078 27859//29075 27743//29077 +f 27975//29070 27974//29071 27858//29076 +f 28209//29067 28326//29072 28208//29074 +f 28446//29079 28445//29080 28325//29073 +f 28326//29072 28446//29079 28325//29073 +f 28568//29081 28567//29082 28445//29080 +f 28446//29079 28568//29081 28445//29080 +f 28697//29083 28696//29084 28567//29082 +f 28569//29085 28698//29086 28568//29081 +f 28830//29087 28829//29032 28697//29083 +f 33163//29088 33162//16088 33057//16087 +f 26522//27987 26422//29089 30635//20973 +f 30708//22144 6866//14956 30707//29090 +f 22329//14955 22330//29036 30841//29091 +f 26494//5427 26497//14859 27432//29038 +f 6533//22486 19138//15046 29157//6633 +f 28452//22406 28451//29039 28331//29092 +f 28332//22864 28452//22406 28331//29092 +f 17271//18824 2410//17033 17569//28992 +f 6980//29093 26626//29094 6842//29095 +f 28839//28484 28838//29003 28706//29096 +f 28707//29097 28839//28484 28706//29096 +f 26905//855 27760//16144 26594//856 +f 26703//21764 22008//27241 26704//27506 +f 33261//23038 33262//2947 33370//28142 +f 27289//22548 19129//6067 29763//10908 +f 29287//28161 28473//29042 21750//28163 +f 29892//29098 29428//29099 21753//28189 +f 30462//28369 30461//29044 30328//29100 +f 30329//28370 30462//28369 30328//29100 +f 28842//20986 28841//20988 28709//28236 +f 28996//26596 2808//14759 29258//23009 +f 3312//20869 13687//15666 22926//12692 +f 22926//12692 19709//20870 3312//20869 +f 26728//21885 26844//29101 26843//29045 +f 26727//21643 26728//21885 26843//29045 +f 26844//29101 26961//29102 26960//29046 +f 26843//29045 26844//29101 26960//29046 +f 27079//17541 27078//28877 26960//29046 +f 26961//29102 27079//17541 26960//29046 +f 35669//1286 35613//14035 35506//13542 +f 15042//19301 19218//19146 18180//22840 +f 22195//28050 21723//26635 12359//26634 +f 33580//17479 28579//17375 27381//21325 +f 28710//29103 28842//20986 28709//28236 +f 30064//28404 30196//28403 30063//29104 +f 30329//28370 30328//29100 30195//29105 +f 5341//29043 17260//29106 30554//28182 +f 30729//28998 30730//28303 7403//28995 +f 21750//28163 5341//29043 30554//28182 +f 17260//29106 29892//29098 21753//28189 +f 30315//22782 30448//23073 30314//28425 +f 11438//28114 11404//2469 27992//28224 +f 1962//29107 7070//28146 21745//22366 +f 27867//3388 17254//12078 26904//854 +f 29244//28250 29381//28524 29380//14442 +f 29243//13292 29244//28250 29380//14442 +f 21946//17032 19356//23079 19354//29108 +f 2410//17033 21946//17032 3087//28916 +f 27623//29109 27740//28967 27622//28448 +f 17627//22292 2404//21855 3363//22009 +f 28563//22142 28564//22141 28692//2312 +f 28958//29110 29093//28862 29092//28861 +f 29425//22549 27289//22548 29763//10908 +f 28825//29111 28958//29110 28957//21873 +f 29426//28518 28748//5076 28099//28554 +f 28732//28732 28733//1983 27759//2135 +f 28830//29087 28963//29030 28829//29032 +f 29098//29057 29097//29028 28962//29031 +f 28829//29032 28828//29112 28696//29084 +f 28568//29081 28697//29083 28567//29082 +f 24753//22114 12801//16150 23503//25779 +f 28697//29083 28829//29032 28696//29084 +f 24099//24694 26596//4198 26225//21487 +f 35634//3457 25129//8926 24995//3455 +f 27415//12724 11835//15262 27416//27404 +f 19305//27415 24064//24783 30609//28215 +f 29571//16317 29704//29113 29703//26115 +f 29570//20641 29571//16317 29703//26115 +f 29704//29113 25041//21485 29703//26115 +f 24347//27096 19479//29114 2958//27097 +f 27374//4301 30738//28080 30746//29115 +f 28494//16044 30612//5061 29683//29116 +f 30612//5061 27374//4301 30746//29115 +f 28736//5205 28494//16044 30341//29117 +f 19565//22776 25784//25158 13894//23590 +f 24301//23044 21374//27958 6945//23042 +f 26212//23160 21914//23159 30496//29118 +f 14234//16444 14137//16445 14138//6769 +f 30361//25815 26212//23160 30495//29059 +f 22001//24748 22002//6344 22097//5672 +f 30496//29118 30630//29119 30629//28033 +f 30495//29059 30496//29118 30629//28033 +f 30630//29119 30764//27196 30763//25057 +f 30629//28033 30630//29119 30763//25057 +f 19236//4918 24538//25597 22289//25408 +f 20261//14981 26920//29120 20260//14982 +f 30704//29121 30838//29122 30837//29123 +f 6784//28734 7070//28146 1962//29107 +f 27272//29124 27390//29125 27389//29062 +f 30703//29065 30704//29121 30837//29123 +f 35064//5486 35063//17654 34934//5487 +f 27271//29069 27272//29124 27389//29062 +f 29818//2446 29133//20116 23899//20979 +f 27153//27907 27272//29124 27271//29069 +f 29109//29126 29108//19042 28973//28483 +f 28974//29127 29109//29126 28973//28483 +f 20260//14982 26920//29120 27037//27909 +f 30589//29128 30723//28977 30588//28978 +f 26907//2125 11405//4769 27267//5192 +f 24609//29129 26816//27964 26705//29130 +f 18866//28986 30558//29131 30693//28123 +f 29384//29132 29383//28985 29246//29133 +f 28962//29031 28961//29134 28828//29112 +f 26852//2137 29134//12345 29014//2138 +f 28698//29086 28830//29087 28697//29083 +f 28829//29032 28962//29031 28828//29112 +f 27551//29135 27022//29136 19679//29137 +f 28698//29086 28697//29083 28568//29081 +f 6866//14956 22329//14955 30841//29091 +f 26422//29089 27551//29135 19679//29137 +f 17575//13827 26964//22484 29948//18772 +f 6866//14956 30841//29091 30707//29090 +f 28574//18788 28573//29138 28451//29039 +f 19901//10778 6533//22486 29157//6633 +f 26626//29094 26409//29139 26407//29140 +f 28215//27911 28332//22864 28214//29141 +f 28972//19044 28971//20985 28838//29003 +f 26485//29142 26626//29094 26407//29140 +f 33603//16030 33730//27218 33729//11197 +f 28578//3062 28707//29097 28577//29143 +f 26511//29144 26607//28196 26510//10834 +f 26704//27506 26705//29130 26816//27964 +f 19576//29145 27408//28203 29084//28210 +f 24452//17125 30623//14545 17672//17126 +f 30596//28320 30595//28999 30461//29044 +f 29428//29099 19576//29145 29084//28210 +f 29388//29146 29525//29147 29387//28805 +f 30196//28403 30195//29105 30063//29104 +f 28710//29103 28709//28236 28580//28235 +f 26618//2623 26729//29148 26728//21885 +f 26617//12473 26618//2623 26728//21885 +f 26729//29148 26845//29149 26844//29101 +f 26728//21885 26729//29148 26844//29101 +f 26845//29149 26962//29150 26961//29102 +f 26844//29101 26845//29149 26961//29102 +f 26962//29150 27080//17542 27079//17541 +f 26961//29102 26962//29150 27079//17541 +f 3863//22841 15042//19301 19107//22908 +f 18478//22842 3863//22841 19107//22908 +f 29256//25834 29255//29151 29118//28405 +f 30064//28404 30063//29104 29932//29152 +f 29663//28455 29662//28457 29524//28948 +f 30554//28182 17260//29106 21753//28189 +f 30196//28403 30329//28370 30195//29105 +f 29428//29099 29084//28210 21753//28189 +f 24604//27427 21448//17556 25940//27290 +f 24063//24784 20201//26462 20200//24785 +f 23671//28010 24486//27985 24914//15095 +f 25413//25174 12753//2962 25272//15153 +f 28871//21561 28723//15324 12653//4882 +f 29107//19043 29106//13395 28971//20985 +f 11499//22412 7070//28146 7007//22437 +f 21947//28915 21946//17032 19354//29108 +f 29518//6333 29517//14556 29380//14442 +f 28835//6179 28834//29153 28702//29154 +f 19356//23079 7298//29155 7297//29156 +f 28835//6179 28968//2651 28834//29153 +f 29103//14073 29102//29037 28967//28918 +f 29526//29157 29664//29158 29525//29147 +f 29920//28155 29919//28474 29790//28473 +f 5608//28259 7190//28818 7191//29033 +f 19353//29159 19457//28120 6789//29160 +f 33051//14891 33156//17567 33155//21549 +f 7083//1571 26522//27987 30635//20973 +f 35553//9130 35909//13279 35671//9131 +f 28963//29030 29098//29057 28962//29031 +f 12604//17322 25354//15229 28123//24816 +f 27784//12445 24227//28027 25673//28070 +f 11237//6144 35831//3671 14283//4281 +f 33602//22959 33729//11197 33601//17195 +f 25210//14054 24677//25181 25148//16684 +f 35611//2797 29126//5464 35467//2217 +f 29434//9513 29572//29161 29571//16317 +f 24848//17426 21067//23219 30599//26670 +f 29705//29162 29704//29113 29571//16317 +f 29572//29161 29705//29162 29571//16317 +f 23503//25779 28255//21943 25362//6062 +f 29705//29162 29834//28793 29704//29113 +f 25243//25053 25722//24982 25105//5606 +f 12443//17198 12533//17197 12532//17011 +f 28494//16044 29683//29116 30341//29117 +f 32097//16120 32197//16126 32096//9221 +f 26212//23160 30496//29118 30495//29059 +f 30612//5061 30746//29115 29683//29116 +f 32298//16125 32297//16822 32196//15271 +f 24399//12741 24476//16285 26245//13659 +f 30491//28876 30492//28935 25438//6594 +f 21288//2467 15317//25145 15330//26807 +f 30631//29163 30630//29119 30496//29118 +f 35466//8944 35357//8943 14084//2151 +f 30631//29163 30765//2846 30764//27196 +f 30630//29119 30631//29163 30764//27196 +f 27179//14580 11748//12271 11668//14132 +f 24571//2845 30764//27196 30765//2846 +f 30435//29164 30436//29165 30569//29063 +f 21364//17374 21363//3064 21274//25825 +f 22431//29166 22430//29167 14738//29168 +f 30303//29169 30436//29165 30435//29164 +f 30838//29122 22430//29167 22431//29166 +f 19458//29170 19459//29171 14738//29168 +f 30837//29123 30838//29122 22431//29166 +f 22430//29167 16458//29172 14738//29168 +f 16458//29172 19458//29170 14738//29168 +f 19458//29170 5340//29173 6785//29174 +f 6836//29175 6837//29176 11439//29177 +f 30570//29064 30704//29121 30703//29065 +f 19459//29171 19458//29170 6785//29174 +f 6968//29178 6836//29175 11439//29177 +f 6968//29178 11439//29177 6785//29174 +f 5340//29173 6968//29178 6785//29174 +f 29525//29147 29524//28948 29387//28805 +f 28087//5337 28088//29179 28204//17577 +f 29097//29028 29096//29180 28961//29134 +f 28962//29031 29097//29028 28961//29134 +f 28569//29085 28568//29081 28446//29079 +f 28447//29181 28569//29085 28446//29079 +f 18262//29182 18272//29183 27022//29136 +f 27551//29135 18262//29182 27022//29136 +f 30574//22145 30708//22144 30707//29090 +f 30573//29184 30574//22145 30707//29090 +f 1961//28609 17575//13827 29948//18772 +f 26964//22484 6533//22486 19901//10778 +f 28098//27912 28215//27911 28097//29185 +f 28332//22864 28331//29092 28214//29141 +f 26409//29139 27199//29186 27195//29187 +f 26407//29140 26409//29139 27195//29187 +f 24417//1309 24360//25458 24277//24451 +f 28707//29097 28706//29096 28577//29143 +f 2411//20165 17841//25298 30833//20041 +f 22011//15737 23523//4293 30786//14639 +f 26706//29188 26707//28134 26818//27936 +f 21454//17086 21291//17127 20740//26749 +f 21473//29189 20818//28222 27408//28203 +f 19576//29145 21473//29189 27408//28203 +f 29933//28486 29932//29152 29803//29190 +f 29804//28438 29933//28486 29803//29190 +f 29019//27411 28884//15490 28129//15489 +f 29255//29151 29254//5599 29117//4913 +f 26619//2622 26730//29191 26729//29148 +f 26618//2623 26619//2622 26729//29148 +f 26730//29191 26846//29192 26845//29149 +f 26729//29148 26730//29191 26845//29149 +f 26846//29192 26963//29193 26962//29150 +f 26845//29149 26846//29192 26962//29150 +f 26963//29193 27081//16162 27080//17542 +f 26962//29150 26963//29193 27080//17542 +f 27080//17542 27081//16162 27198//16164 +f 26712//5058 26713//28615 26824//22787 +f 24604//27427 24958//12451 26083//12507 +f 26478//22624 27380//15957 27373//22551 +f 22140//19652 23607//19651 25915//25976 +f 29933//28486 30064//28404 29932//29152 +f 26699//21488 26698//13150 25289//21486 +f 24037//25209 12538//23679 24273//23626 +f 27319//17657 12021//12035 12022//16883 +f 18511//13287 30782//29194 30783//22615 +f 23801//27580 25647//23694 24831//16573 +f 25953//17187 24493//17186 13079//22178 +f 28972//19044 29107//19043 28971//20985 +f 26600//15094 26705//29130 26704//27506 +f 19354//29108 19356//23079 7297//29156 +f 29244//28250 29243//13292 29106//13395 +f 28574//18788 28703//18787 28573//29138 +f 7298//29155 7078//29195 6970//28521 +f 28703//18787 28835//6179 28702//29154 +f 28968//2651 28967//28918 28834//29153 +f 29791//10622 29920//28155 29790//28473 +f 29252//29196 29389//29197 29251//29198 +f 30057//29199 30189//29200 30056//28408 +f 30322//28976 30321//28479 30188//21490 +f 21096//25588 21183//25589 28098//27912 +f 6789//29160 5608//28259 7191//29033 +f 24302//22930 24303//787 27500//2305 +f 29256//25834 29118//28405 21824//25835 +f 28889//16592 29024//29201 29023//16596 +f 30883//16541 30937//16994 30882//16578 +f 29024//29201 29161//29202 29160//16135 +f 29023//16596 29024//29201 29160//16135 +f 29161//29202 29298//29203 29297//9512 +f 29160//16135 29161//29202 29297//9512 +f 29298//29203 29435//29204 29434//9513 +f 29297//9512 29298//29203 29434//9513 +f 29435//29204 29573//29205 29572//29161 +f 29434//9513 29435//29204 29572//29161 +f 29706//29206 29705//29162 29572//29161 +f 29573//29205 29706//29206 29572//29161 +f 29835//29207 29834//28793 29705//29162 +f 29706//29206 29835//29207 29705//29162 +f 29966//27355 29965//27606 29834//28793 +f 29835//29207 29966//27355 29834//28793 +f 382//7382 17631//21314 17727//20655 +f 19567//28322 21758//25996 15408//25993 +f 14737//1432 34195//29208 33467//16625 +f 28218//21664 28107//28079 28738//21840 +f 29259//16225 29152//23156 27433//22617 +f 13364//16134 13267//15570 13268//16593 +f 28738//21840 28737//23225 29259//16225 +f 2923//23820 30477//27745 22730//26100 +f 34282//22072 34420//22071 34281//5764 +f 35880//9084 35592//1338 35609//9083 +f 30631//29163 25019//21079 30765//2846 +f 30631//29163 22195//28050 25019//21079 +f 32296//17044 32295//19981 32194//25018 +f 30766//29209 17889//12780 30765//2846 +f 32195//15806 32296//17044 32194//25018 +f 13195//16618 14176//16264 14266//16263 +f 30302//29210 30303//29169 30435//29164 +f 21547//26126 34091//17291 21548//26218 +f 30303//29169 30302//29210 30169//29211 +f 30436//29165 30570//29064 30569//29063 +f 30170//29212 30169//29211 30037//29213 +f 30170//29212 30303//29169 30169//29211 +f 30038//29214 30037//29213 29906//29215 +f 30038//29214 30170//29212 30037//29213 +f 29778//29216 29907//29217 29777//29218 +f 29907//29217 30038//29214 29906//29215 +f 29778//29216 29777//29218 29644//29219 +f 29645//29220 29778//29216 29644//29219 +f 19376//29221 21462//29222 6837//29176 +f 6836//29175 19376//29221 6837//29176 +f 21557//28619 26524//28084 29540//28083 +f 19427//23150 24290//17100 24275//28852 +f 29234//29027 29233//29223 29096//29180 +f 29097//29028 29234//29027 29096//29180 +f 28210//29224 28327//29225 28209//29067 +f 28447//29181 28446//29079 28326//29072 +f 27049//29226 29941//29227 18272//29183 +f 18262//29182 27049//29226 18272//29183 +f 30306//29228 30307//28558 30439//29229 +f 30440//28612 30574//22145 30573//29184 +f 30758//1823 8661//22166 26584//22557 +f 29013//1669 30758//1823 26584//22557 +f 28098//27912 28097//29185 27980//29230 +f 27981//21200 28098//27912 27980//29230 +f 27199//29186 28554//29231 28547//29232 +f 27195//29187 27199//29186 28547//29232 +f 27789//17199 27905//29233 12533//17197 +f 26739//16353 11770//16102 11688//17436 +f 28601//25462 28602//28362 30344//28485 +f 28722//14154 29425//22549 28856//10907 +f 26404//6825 35445//5014 28308//2220 +f 20262//18760 24677//25181 25210//14054 +f 27788//29234 27785//28230 20818//28222 +f 21473//29189 27788//29234 20818//28222 +f 29533//28431 29671//28439 29532//29235 +f 29804//28438 29803//29190 29670//29236 +f 29118//28405 29255//29151 29117//4913 +f 28478//21100 30083//2130 29559//28561 +f 26620//4604 26731//23263 26730//29191 +f 26619//2622 26620//4604 26730//29191 +f 26731//23263 26847//4200 26846//29192 +f 26730//29191 26731//23263 26846//29192 +f 29831//17487 29962//27414 13945//17486 +f 26846//29192 26847//4200 26963//29193 +f 12021//12035 11936//12037 12022//16883 +f 11530//14626 11465//8200 11466//14623 +f 12185//7241 12102//3170 12103//3169 +f 29262//9366 29399//17821 13318//2730 +f 33730//27218 33864//11195 33729//11197 +f 35526//8175 35673//8176 35822//5341 +f 22884//25071 22885//25070 30733//16456 +f 10528//12603 4240//5453 10526//14484 +f 19960//21045 2990//9549 3130//6965 +f 27672//21553 27673//18770 12441//16021 +f 25458//14943 18994//6339 19032//6341 +f 12354//13738 27786//20206 12439//14749 +f 30959//24234 25503//27291 30902//17555 +f 7297//29156 7298//29155 6970//28521 +f 29107//19043 29244//28250 29106//13395 +f 19110//10017 6085//9931 16191//10019 +f 6980//29093 6842//29095 6970//28521 +f 27964//2295 28081//2297 28080//5424 +f 21377//18731 22745//27776 17322//27183 +f 19138//15046 19036//1670 26919//18900 +f 17304//2567 11944//27322 11837//25093 +f 29157//6633 19138//15046 26919//18900 +f 29948//18772 26964//22484 19901//10778 +f 24303//787 24302//22930 24632//22579 +f 22329//14955 19789//28107 22330//29036 +f 24902//2211 30671//2210 24560//24865 +f 30099//28011 25044//22544 29967//29237 +f 28757//16652 28890//29238 28889//16592 +f 27981//21200 21010//21199 21096//25588 +f 28890//29238 29025//29239 29024//29201 +f 28889//16592 28890//29238 29024//29201 +f 29025//29239 29162//29240 29161//29202 +f 29024//29201 29025//29239 29161//29202 +f 29162//29240 29299//29241 29298//29203 +f 29161//29202 29162//29240 29298//29203 +f 29299//29241 29436//29242 29435//29204 +f 29298//29203 29299//29241 29435//29204 +f 29436//29242 29574//29243 29573//29205 +f 29435//29204 29436//29242 29573//29205 +f 29707//29244 29706//29206 29573//29205 +f 29574//29243 29707//29244 29573//29205 +f 29836//29245 29835//29207 29706//29206 +f 29707//29244 29836//29245 29706//29206 +f 29967//29237 29966//27355 29835//29207 +f 29836//29245 29967//29237 29835//29207 +f 28433//11008 28555//10762 21534//22115 +f 23240//23090 17574//27321 6281//4139 +f 12257//16963 12256//15910 27664//24600 +f 12091//17308 27431//17334 12092//17309 +f 27972//29246 27971//28969 27855//28917 +f 30767//26542 30766//29209 25536//21078 +f 28089//29247 28088//29179 27971//28969 +f 27856//29248 27972//29246 27855//28917 +f 12643//17390 35700//5265 35680//12738 +f 27972//29246 28089//29247 27971//28969 +f 10648//14483 4240//5453 10772//13828 +f 12354//13738 12268//7240 12269//7239 +f 17556//27633 17889//12780 30766//29209 +f 30767//26542 17556//27633 30766//29209 +f 23459//5345 9773//16161 23458//24146 +f 31791//6066 31790//16056 31690//17866 +f 21932//29249 21931//29250 6282//29251 +f 31899//23087 32000//1671 31898//1673 +f 28245//5276 28870//22278 19681//5274 +f 32100//18092 32099//17692 31999//1672 +f 31897//6065 31896//16057 31790//16056 +f 6280//21896 19793//20897 27050//28644 +f 2138//9400 35824//10184 19681//5274 +f 19905//26172 6280//21896 27050//28644 +f 30178//28837 30311//28838 30310//28778 +f 29907//29217 29906//29215 29777//29218 +f 28942//29252 28859//29253 28870//22278 +f 26354//29254 26353//29255 21462//29222 +f 29645//29220 29644//29219 29506//29256 +f 29796//28456 29925//28907 29795//28840 +f 19376//29221 26354//29254 21462//29222 +f 29371//29056 29370//29257 29233//29223 +f 27782//14780 27875//19071 29273//2124 +f 28327//29225 28447//29181 28326//29072 +f 29234//29027 29371//29056 29233//29223 +f 27519//29258 13661//29259 29941//29227 +f 28093//29260 28210//29224 28092//29066 +f 30439//29229 30440//28612 30573//29184 +f 27049//29226 27519//29258 29941//29227 +f 19554//1970 12512//21970 8661//22166 +f 30173//29261 30174//28556 30306//29228 +f 28215//27911 28214//29141 28097//29185 +f 30758//1823 19554//1970 8661//22166 +f 28554//29231 30331//29262 30292//29263 +f 27981//21200 27980//29230 27864//29264 +f 28578//3062 28577//29143 28455//3063 +f 28547//29232 28554//29231 30292//29263 +f 3625//27541 18517//23821 13527//23822 +f 26494//5427 27432//29038 27414//5428 +f 26707//28134 26819//28132 26818//27936 +f 29427//26353 29565//28113 27282//12195 +f 27788//29234 27517//29265 30084//28231 +f 28991//12980 28590//10909 27401//18335 +f 29671//28439 29804//28438 29670//29236 +f 27785//28230 27788//29234 30084//28231 +f 18376//13919 19345//13918 26917//19018 +f 29396//25839 29533//28431 29395//28287 +f 28478//21100 29559//28561 26691//28601 +f 26516//2624 26621//17152 26620//4604 +f 2683//29266 239//29267 9285//29268 +f 26620//4604 26621//17152 26731//23263 +f 33735//2391 33869//2390 33734//16470 +f 6851//9080 9285//29268 8908//29269 +f 21460//10259 26347//10261 26346//22066 +f 25214//25124 25289//21486 26698//13150 +f 21369//15969 21460//10259 26346//22066 +f 34946//29270 35075//28936 34945//29271 +f 29890//17705 22666//17704 22765//21443 +f 27319//17657 27438//29272 27437//10993 +f 27318//17658 27319//17657 27437//10993 +f 27438//29272 27556//29273 27555//17327 +f 27437//10993 27438//29272 27555//17327 +f 27556//29273 27673//18770 27672//21553 +f 27555//17327 27556//29273 27672//21553 +f 11233//6051 19905//26172 6672//26171 +f 12442//16137 12441//16021 27673//18770 +f 7078//29195 6980//29093 6970//28521 +f 25961//20378 23917//26667 6411//29274 +f 17378//27740 25074//23386 25482//23385 +f 26626//29094 26485//29142 6842//29095 +f 12623//17208 28022//29275 28138//21942 +f 35726//8103 35446//6504 35582//6446 +f 28255//21943 23503//25779 12801//16150 +f 12712//16442 12622//17259 12623//17208 +f 26450//29276 26382//28652 26451//29277 +f 21089//16892 21178//16834 21177//25038 +f 19457//28120 19353//29159 19788//29035 +f 19457//28120 5608//28259 6789//29160 +f 31132//11875 31131//11874 31069//29006 +f 19789//28107 19457//28120 19788//29035 +f 28626//29278 28758//29279 28757//16652 +f 21096//25588 28098//27912 27981//21200 +f 28758//29279 28891//29280 28890//29238 +f 28757//16652 28758//29279 28890//29238 +f 28891//29280 29026//29281 29025//29239 +f 28890//29238 28891//29280 29025//29239 +f 29026//29281 29163//29282 29162//29240 +f 29025//29239 29026//29281 29162//29240 +f 29163//29282 29300//29283 29299//29241 +f 29162//29240 29163//29282 29299//29241 +f 29300//29283 29437//29284 29436//29242 +f 29299//29241 29300//29283 29436//29242 +f 29437//29284 29575//29285 29574//29243 +f 29436//29242 29437//29284 29574//29243 +f 29708//29286 29707//29244 29574//29243 +f 29575//29285 29708//29286 29574//29243 +f 29837//29287 29836//29245 29707//29244 +f 29708//29286 29837//29287 29707//29244 +f 29968//29288 29967//29237 29836//29245 +f 29837//29287 29968//29288 29836//29245 +f 29968//29288 30100//29289 30099//28011 +f 29967//29237 29968//29288 30099//28011 +f 33503//14221 33622//29290 33502//17544 +f 30948//29291 31006//15826 30947//15828 +f 25940//27290 30902//17555 25503//27291 +f 24188//25214 17556//27633 30767//26542 +f 28323//29292 28322//29293 28205//29294 +f 28206//29295 28323//29292 28205//29294 +f 28206//29295 28205//29294 28088//29179 +f 28089//29247 28206//29295 28088//29179 +f 23926//26814 17556//27633 24853//26817 +f 30743//26349 2542//22148 2676//6178 +f 31693//16117 31692//17552 31597//7125 +f 31686//22788 31685//22790 31590//5909 +f 27150//29296 28470//29297 28466//29298 +f 12712//16442 12621//16027 12622//17259 +f 19915//29299 28015//28480 27900//27371 +f 21461//29300 21462//29222 26352//29301 +f 30207//29302 30208//29303 21932//29249 +f 6282//29251 19915//29299 27900//27371 +f 28466//29298 28470//29297 30207//29302 +f 21931//29250 19915//29299 6282//29251 +f 26603//1553 26707//28134 24163//1554 +f 30208//29303 21931//29250 21932//29249 +f 30422//15965 18376//13919 10728//29041 +f 20893//23099 22157//27084 23960//3116 +f 28245//5276 28942//29252 28870//22278 +f 2538//28434 2806//22583 30198//22541 +f 29507//29304 29645//29220 29506//29256 +f 27290//29305 27291//29306 28859//29253 +f 26354//29254 27162//29307 27150//29296 +f 29507//29304 29506//29256 29369//29308 +f 24360//25458 24407//25457 25785//27608 +f 26353//29255 26354//29254 27150//29296 +f 29508//29025 29507//29304 29370//29257 +f 27666//19022 4785//12977 20318//12976 +f 28327//29225 28326//29072 28209//29067 +f 29371//29056 29508//29025 29370//29257 +f 27519//29258 27258//23041 30025//29309 +f 27976//29310 28093//29260 27975//29070 +f 30307//28558 30440//28612 30439//29229 +f 13661//29259 27519//29258 30025//29309 +f 19554//1970 19575//1972 12512//21970 +f 30041//29311 30042//28790 30173//29261 +f 27865//14431 27981//21200 27864//29264 +f 28715//15031 28847//28426 28714//4613 +f 30331//29262 19566//29312 19563//29313 +f 27865//14431 27864//29264 27749//26988 +f 26704//27506 26816//27964 26815//5196 +f 30292//29263 30331//29262 19563//29313 +f 28226//2938 24922//24057 24923//2939 +f 4013//23088 20196//23180 16152//23205 +f 29930//28642 30061//28300 29929//2134 +f 22013//22436 29534//22435 29396//25839 +f 29130//29314 30079//28254 30084//28231 +f 11404//2469 28009//12274 27992//28224 +f 29671//28439 29670//29236 29532//29235 +f 27517//29265 29130//29314 30084//28231 +f 19037//5892 28478//21100 26691//28601 +f 20684//25702 20602//25701 20603//25812 +f 19241//16584 29004//28481 29697//4451 +f 26517//10794 26622//17115 26621//17152 +f 26516//2624 26517//10794 26621//17152 +f 23955//15194 23956//14712 29010//12768 +f 9285//29268 24570//27561 2683//29266 +f 18838//9118 21408//9117 21317//15519 +f 25952//6053 24404//24384 22289//25408 +f 30083//2130 28019//2132 29559//28561 +f 29004//28481 28749//28701 29012//28482 +f 28457//22744 30200//28171 28456//28460 +f 28749//28701 28858//29315 29012//28482 +f 9671//13144 35880//9084 10511//10767 +f 24090//24874 25347//22912 25462//24875 +f 27320//29316 27439//29317 27438//29272 +f 27319//17657 27320//29316 27438//29272 +f 27439//29317 27557//29318 27556//29273 +f 27438//29272 27439//29317 27556//29273 +f 27557//29318 27674//23069 27673//18770 +f 27556//29273 27557//29318 27673//18770 +f 25014//27523 25084//27494 25015//23013 +f 23452//23759 23354//18647 23355//23817 +f 20848//25707 27634//13624 20766//25820 +f 28703//18787 28702//29154 28573//29138 +f 25489//24350 23599//25448 25792//26776 +f 28138//21942 24647//15524 28255//21943 +f 28022//29275 28139//25809 28138//21942 +f 27905//29233 28022//29275 12623//17208 +f 22680//7250 23960//3116 22157//27084 +f 32196//15271 32297//16822 32195//15806 +f 26422//29089 19679//29137 30635//20973 +f 28498//6064 25323//6063 28377//27165 +f 24037//25209 24246//4920 12538//23679 +f 28195//2958 21265//2957 28078//16833 +f 28498//6064 28627//29319 28626//29278 +f 31473//29320 31472//29321 31405//29322 +f 28627//29319 28759//29323 28758//29279 +f 28626//29278 28627//29319 28758//29279 +f 28759//29323 28892//29324 28891//29280 +f 28758//29279 28759//29323 28891//29280 +f 28892//29324 29027//29325 29026//29281 +f 28891//29280 28892//29324 29026//29281 +f 29027//29325 29164//29326 29163//29282 +f 29026//29281 29027//29325 29163//29282 +f 29164//29326 29301//29327 29300//29283 +f 29163//29282 29164//29326 29300//29283 +f 29301//29327 29438//29328 29437//29284 +f 29300//29283 29301//29327 29437//29284 +f 29576//29329 29575//29285 29437//29284 +f 29438//29328 29576//29329 29437//29284 +f 29709//29330 29708//29286 29575//29285 +f 29576//29329 29709//29330 29575//29285 +f 29838//29331 29837//29287 29708//29286 +f 29709//29330 29838//29331 29708//29286 +f 29969//29332 29968//29288 29837//29287 +f 29838//29331 29969//29332 29837//29287 +f 29969//29332 30101//29333 30100//29289 +f 29968//29288 29969//29332 30100//29289 +f 30101//29333 30234//28190 30233//27448 +f 30100//29289 30101//29333 30233//27448 +f 12341//15909 12428//17037 12427//17040 +f 25334//26638 13894//23590 25784//25158 +f 28323//29292 28443//29334 28442//22140 +f 19899//21503 19898//29335 17841//25298 +f 6658//29336 6967//29337 7414//28825 +f 6783//28735 6658//29336 7414//28825 +f 30233//27448 23712//22935 30100//29289 +f 6967//29337 11408//29338 6898//28774 +f 30177//28777 30178//28837 30310//28778 +f 32306//14869 32409//29339 32305//29340 +f 28323//29292 28324//29341 28443//29334 +f 24835//25094 23506//21983 11484//21982 +f 26353//29255 27150//29296 27144//29342 +f 28444//29343 28566//29344 28565//29345 +f 6837//29176 21462//29222 21461//29300 +f 26352//29301 26353//29255 27144//29342 +f 11408//29338 6837//29176 21461//29300 +f 21462//29222 26353//29255 26352//29301 +f 27144//29342 27150//29296 28466//29298 +f 28470//29297 30208//29303 30207//29302 +f 17669//28908 24256//23999 30482//14851 +f 24424//29346 24423//27394 24339//27393 +f 2683//29266 24570//27561 29358//27957 +f 24170//21837 20760//15495 24305//15026 +f 28942//29252 27290//29305 28859//29253 +f 33347//3427 3539//16281 33451//13835 +f 29370//29257 29507//29304 29369//29308 +f 28073//29347 26490//29348 27291//29306 +f 27162//29307 28471//29349 28470//29297 +f 29233//29223 29370//29257 29232//29350 +f 21573//23242 14948//23228 21574//17280 +f 27150//29296 27162//29307 28470//29297 +f 29646//29023 29645//29220 29507//29304 +f 9278//29351 453//28005 29947//14414 +f 28210//29224 28209//29067 28092//29066 +f 29508//29025 29646//29023 29507//29304 +f 34004//14655 34003//1149 33868//1653 +f 28093//29260 28092//29066 27975//29070 +f 30174//28556 30307//28558 30306//29228 +f 30025//29309 27258//23041 14849//27538 +f 29808//25606 29674//25604 22204//22273 +f 30042//28790 30174//28556 30173//29261 +f 23445//24773 15632//24835 22856//24772 +f 30217//2095 28548//16046 26941//16045 +f 19566//29312 26581//29352 26568//29353 +f 27632//29354 27633//5907 27749//26988 +f 29256//25834 29393//28451 29255//29151 +f 19563//29313 19566//29312 26568//29353 +f 29392//28453 29529//28430 29391//5603 +f 24570//27561 9285//29268 6851//9080 +f 18929//21877 27612//8308 18190//21878 +f 29919//28474 29918//28478 29789//28475 +f 29130//29314 28600//29355 28598//28281 +f 27992//28224 28009//12274 26486//28226 +f 29533//28431 29532//29235 29395//28287 +f 30079//28254 29130//29314 28598//28281 +f 28708//28192 28840//28191 28707//29097 +f 29530//28452 29668//28428 29529//28430 +f 29142//28703 28998//29356 28858//29315 +f 20581//16709 18409//26367 26599//24882 +f 26517//10794 26518//6273 26622//17115 +f 19791//28170 6854//28487 2538//28434 +f 25352//5069 25495//14920 23643//24715 +f 28708//28192 28707//29097 28578//3062 +f 28579//17375 28708//28192 28578//3062 +f 27179//14580 27180//14131 11835//15262 +f 28840//28191 28839//28484 28707//29097 +f 12022//16883 27203//16882 27320//29316 +f 5742//13834 27646//14779 27635//26600 +f 27203//16882 27321//29357 27320//29316 +f 25019//21079 30766//29209 30765//2846 +f 27321//29357 27440//29358 27439//29317 +f 27320//29316 27321//29357 27439//29317 +f 27440//29358 27558//29359 27557//29318 +f 27439//29317 27440//29358 27557//29318 +f 27558//29359 27675//29360 27674//23069 +f 27557//29318 27558//29359 27674//23069 +f 27675//29360 27790//29361 27789//17199 +f 27674//23069 27675//29360 27789//17199 +f 27790//29361 27906//29362 27905//29233 +f 27789//17199 27790//29361 27905//29233 +f 27906//29362 28023//29363 28022//29275 +f 27905//29233 27906//29362 28022//29275 +f 28140//29364 28139//25809 28022//29275 +f 28023//29363 28140//29364 28022//29275 +f 28124//28633 28008//17038 12515//17528 +f 28140//29364 28257//15525 28139//25809 +f 30535//27916 30536//2212 25011//17823 +f 26847//4200 26731//23263 11598//7073 +f 28377//27165 28499//29365 28498//6064 +f 23709//27116 30235//29366 30368//27117 +f 28499//29365 28628//29367 28627//29319 +f 28498//6064 28499//29365 28627//29319 +f 28628//29367 28760//29368 28759//29323 +f 28627//29319 28628//29367 28759//29323 +f 28760//29368 28893//29369 28892//29324 +f 28759//29323 28760//29368 28892//29324 +f 28893//29369 29028//29370 29027//29325 +f 28892//29324 28893//29369 29027//29325 +f 29028//29370 29165//29371 29164//29326 +f 29027//29325 29028//29370 29164//29326 +f 29165//29371 29302//29372 29301//29327 +f 29164//29326 29165//29371 29301//29327 +f 29302//29372 29439//29373 29438//29328 +f 29301//29327 29302//29372 29438//29328 +f 29577//29374 29576//29329 29438//29328 +f 29439//29373 29577//29374 29438//29328 +f 29710//29375 29709//29330 29576//29329 +f 29577//29374 29710//29375 29576//29329 +f 29710//29375 29839//29376 29838//29331 +f 29709//29330 29710//29375 29838//29331 +f 29970//29377 29969//29332 29838//29331 +f 29839//29376 29970//29377 29838//29331 +f 30102//29378 30101//29333 29969//29332 +f 29970//29377 30102//29378 29969//29332 +f 30102//29378 30235//29366 30234//28190 +f 30101//29333 30102//29378 30234//28190 +f 11688//17436 11613//17290 26739//16353 +f 19973//24774 19972//24776 31274//21439 +f 19977//10962 19976//24964 31408//443 +f 23709//27116 25573//27115 25572//18764 +f 18603//29379 6658//29336 19596//21501 +f 12693//17816 28239//15230 25354//15229 +f 21461//29300 26352//29301 26348//28129 +f 21370//10260 21461//29300 26348//28129 +f 29229//13622 29366//28436 29365//13623 +f 26944//15235 29563//17415 28361//20990 +f 28207//29380 28324//29341 28323//29292 +f 30033//4923 30034//28214 30165//21448 +f 28565//29345 28566//29344 28694//29381 +f 27973//29382 28090//29383 27972//29246 +f 28443//29334 28444//29343 28565//29345 +f 28827//29384 28826//29385 28694//29381 +f 28324//29341 28444//29343 28443//29334 +f 28566//29344 28695//29386 28694//29381 +f 28206//29295 28207//29380 28323//29292 +f 24511//27880 27989//27537 24618//27419 +f 24256//23999 24182//27359 24183//14852 +f 11484//21982 24572//22025 17316//22024 +f 30618//27881 24511//27880 29825//28956 +f 14849//27538 24069//14412 453//28005 +f 30604//28519 30470//28091 27607//28090 +f 31591//5908 31686//22788 31590//5909 +f 27290//29305 28073//29347 27291//29306 +f 29895//29387 26591//29388 26490//29348 +f 29233//29223 29232//29350 29095//29389 +f 29096//29180 29233//29223 29095//29389 +f 30212//29390 30208//29303 28470//29297 +f 28471//29349 30212//29390 28470//29297 +f 29765//29391 453//28005 9278//29351 +f 29895//29387 29765//29391 9278//29351 +f 29779//29020 29778//29216 29645//29220 +f 29646//29023 29779//29020 29645//29220 +f 27745//29392 27860//29393 27744//29078 +f 27976//29310 27975//29070 27859//29075 +f 19790//29004 19688//22745 19740//28371 +f 23709//27116 25572//18764 23711//18766 +f 29781//29394 29782//28472 29910//29395 +f 29911//28553 30042//28790 30041//29311 +f 30441//28611 30575//24352 30574//22145 +f 28848//5060 28716//15030 21545//24155 +f 27515//5905 27633//5907 27632//29354 +f 27514//29396 27515//5905 27632//29354 +f 26581//29352 28586//29397 28493//29398 +f 26568//29353 26581//29352 28493//29398 +f 26930//2121 30734//2129 17670//10825 +f 29382//28249 29381//28524 29244//28250 +f 27412//28207 27414//5428 28813//21243 +f 26910//28560 27607//28090 26524//28084 +f 29801//28641 29930//28642 29800//2133 +f 29930//28642 29929//2134 29800//2133 +f 28600//29355 11230//29399 11512//28301 +f 28598//28281 28600//29355 11512//28301 +f 26249//27106 24870//26708 9013//16072 +f 30464//29400 30598//14572 30463//14574 +f 23520//442 25949//28032 26492//29401 +f 30349//22527 30216//3111 29129//29402 +f 30224//6762 14040//6768 14041//6760 +f 11576//10234 21771//8797 26599//24882 +f 34588//15822 34716//15728 34587//15823 +f 19703//4778 30739//28517 30613//28559 +f 24638//27937 26818//27936 26819//28132 +f 27204//29403 11938//17496 11939//17833 +f 30344//28485 30347//28645 19560//21496 +f 27204//29403 27322//29404 27321//29357 +f 27203//16882 27204//29403 27321//29357 +f 27322//29404 27441//29405 27440//29358 +f 27321//29357 27322//29404 27440//29358 +f 27441//29405 27559//29406 27558//29359 +f 27440//29358 27441//29405 27558//29359 +f 27559//29406 27676//29407 27675//29360 +f 27558//29359 27559//29406 27675//29360 +f 27676//29407 27791//29408 27790//29361 +f 27675//29360 27676//29407 27790//29361 +f 27791//29408 27907//29409 27906//29362 +f 27790//29361 27791//29408 27906//29362 +f 27907//29409 28024//29410 28023//29363 +f 27906//29362 27907//29409 28023//29363 +f 28141//29411 28140//29364 28023//29363 +f 28024//29410 28141//29411 28023//29363 +f 28258//29412 28257//15525 28140//29364 +f 28141//29411 28258//29412 28140//29364 +f 28258//29412 28378//29413 28377//27165 +f 28257//15525 28258//29412 28377//27165 +f 28378//29413 28500//29414 28499//29365 +f 28377//27165 28378//29413 28499//29365 +f 28500//29414 28629//29415 28628//29367 +f 28499//29365 28500//29414 28628//29367 +f 28629//29415 28761//29416 28760//29368 +f 28628//29367 28629//29415 28760//29368 +f 28761//29416 28894//29417 28893//29369 +f 28760//29368 28761//29416 28893//29369 +f 28894//29417 29029//29418 29028//29370 +f 28893//29369 28894//29417 29028//29370 +f 29166//29419 29165//29371 29028//29370 +f 29029//29418 29166//29419 29028//29370 +f 29303//29420 29302//29372 29165//29371 +f 29166//29419 29303//29420 29165//29371 +f 29440//29421 29439//29373 29302//29372 +f 29303//29420 29440//29421 29302//29372 +f 29578//29422 29577//29374 29439//29373 +f 29440//29421 29578//29422 29439//29373 +f 29711//29423 29710//29375 29577//29374 +f 29578//29422 29711//29423 29577//29374 +f 29711//29423 29840//29424 29839//29376 +f 29710//29375 29711//29423 29839//29376 +f 29840//29424 29971//29425 29970//29377 +f 29839//29376 29840//29424 29970//29377 +f 30103//29426 30102//29378 29970//29377 +f 29971//29425 30103//29426 29970//29377 +f 30103//29426 30236//29427 30235//29366 +f 30102//29378 30103//29426 30235//29366 +f 30236//29427 30369//29428 30368//27117 +f 30235//29366 30236//29427 30368//27117 +f 2961//6655 24792//29429 2823//6766 +f 30369//29428 30503//24050 30368//27117 +f 27317//3168 12101//15681 12020//15679 +f 30689//26370 12903//26277 23043//26278 +f 26352//29301 27144//29342 27140//22743 +f 20029//29430 18603//29379 19900//28357 +f 28870//22278 29291//16276 2138//9400 +f 26348//28129 26352//29301 27140//22743 +f 28684//6183 21626//24922 21627//22116 +f 19262//21374 19370//21404 2413//21007 +f 28207//29380 28206//29295 28089//29247 +f 33672//22182 33673//14978 928//3729 +f 27973//29382 27972//29246 27856//29248 +f 28090//29383 28207//29380 28089//29247 +f 27857//29431 27973//29382 27856//29248 +f 28090//29383 28089//29247 27972//29246 +f 17304//2567 17316//22024 24567//17057 +f 30750//28809 30088//21842 30751//28810 +f 17304//2567 24566//17058 17265//2568 +f 25282//22707 30229//22708 26081//27390 +f 30624//4969 14561//14244 24033//4967 +f 29966//27355 29967//29237 25044//22544 +f 31432//22113 31431//25149 31364//25148 +f 30169//29211 30168//29432 30036//29433 +f 28073//29347 29895//29387 26490//29348 +f 19234//5206 28736//5205 19033//28406 +f 29370//29257 29369//29308 29232//29350 +f 29895//29387 9278//29351 18932//29434 +f 30212//29390 19676//22860 21931//29250 +f 29096//29180 29095//29389 28960//29435 +f 21644//5063 2751//19133 27893//19070 +f 30208//29303 30212//29390 21931//29250 +f 29908//29019 29907//29217 29778//29216 +f 29159//29436 26946//29437 27290//29305 +f 27860//29393 27976//29310 27859//29075 +f 29779//29020 29908//29019 29778//29216 +f 18190//21878 29006//2152 14084//2151 +f 27860//29393 27859//29075 27744//29078 +f 29910//29395 29911//28553 30041//29311 +f 19924//25075 19790//29004 19740//28371 +f 30588//28978 30722//28159 30721//28158 +f 29782//28472 29911//28553 29910//29395 +f 23153//24723 22757//24722 15632//24835 +f 6920//15253 6866//14956 30708//22144 +f 28586//29397 28490//29438 28491//29439 +f 27395//29440 27396//14976 27514//29396 +f 30464//29400 30463//14574 30330//25147 +f 28493//29398 28586//29397 28491//29439 +f 28711//29441 28710//29103 28581//17478 +f 22287//24321 22191//24631 22192//24320 +f 28009//12274 26493//5426 26486//28226 +f 33580//17479 28581//17478 28580//28235 +f 11230//29399 6661//29442 2772//28319 +f 29264//14849 28099//28554 19572//14887 +f 30598//14572 30732//28568 30597//14573 +f 11512//28301 11230//29399 2772//28319 +f 2951//5485 3093//5489 3092//5356 +f 28846//28427 28845//28963 28713//28993 +f 27402//17148 29688//17150 27289//22548 +f 30454//10236 30588//28978 30453//10237 +f 27140//22743 28458//28329 28457//22744 +f 20514//25112 20429//25110 27151//29443 +f 2821//1971 22333//20163 19575//1972 +f 33274//21813 33273//26793 33168//21814 +f 29834//28793 25041//21485 29704//29113 +f 27205//17834 27323//29444 27322//29404 +f 27204//29403 27205//17834 27322//29404 +f 27323//29444 27442//29445 27441//29405 +f 27322//29404 27323//29444 27441//29405 +f 27442//29445 27560//29446 27559//29406 +f 27441//29405 27442//29445 27559//29406 +f 27560//29446 27677//29447 27676//29407 +f 27559//29406 27560//29446 27676//29407 +f 27677//29447 27792//29448 27791//29408 +f 27676//29407 27677//29447 27791//29408 +f 27792//29448 27908//29449 27907//29409 +f 27791//29408 27792//29448 27907//29409 +f 28025//29450 28024//29410 27907//29409 +f 27908//29449 28025//29450 27907//29409 +f 28142//29451 28141//29411 28024//29410 +f 28025//29450 28142//29451 28024//29410 +f 28259//29452 28258//29412 28141//29411 +f 28142//29451 28259//29452 28141//29411 +f 28259//29452 28379//29453 28378//29413 +f 28258//29412 28259//29452 28378//29413 +f 28379//29453 28501//29454 28500//29414 +f 28378//29413 28379//29453 28500//29414 +f 28501//29454 28630//29455 28629//29415 +f 28500//29414 28501//29454 28629//29415 +f 28630//29455 28762//29456 28761//29416 +f 28629//29415 28630//29455 28761//29416 +f 28762//29456 28895//29457 28894//29417 +f 28761//29416 28762//29456 28894//29417 +f 28895//29457 29030//29458 29029//29418 +f 28894//29417 28895//29457 29029//29418 +f 29167//29459 29166//29419 29029//29418 +f 29030//29458 29167//29459 29029//29418 +f 29304//29460 29303//29420 29166//29419 +f 29167//29459 29304//29460 29166//29419 +f 29441//29461 29440//29421 29303//29420 +f 29304//29460 29441//29461 29303//29420 +f 29579//29462 29578//29422 29440//29421 +f 29441//29461 29579//29462 29440//29421 +f 29712//29463 29711//29423 29578//29422 +f 29579//29462 29712//29463 29578//29422 +f 29712//29463 29841//29464 29840//29424 +f 29711//29423 29712//29463 29840//29424 +f 29841//29464 29972//29465 29971//29425 +f 29840//29424 29841//29464 29971//29425 +f 30104//29466 30103//29426 29971//29425 +f 29972//29465 30104//29466 29971//29425 +f 30104//29466 30237//29467 30236//29427 +f 30103//29426 30104//29466 30236//29427 +f 30237//29467 30370//29468 30369//29428 +f 30236//29427 30237//29467 30369//29428 +f 30504//27099 30503//24050 30369//29428 +f 30370//29468 30504//27099 30369//29428 +f 13846//13098 13945//17486 13944//17536 +f 27173//27744 30609//28215 24064//24783 +f 6658//29336 6783//28735 19596//21501 +f 28322//29293 28323//29292 28442//22140 +f 27144//29342 28466//29298 28458//28329 +f 2952//29469 20029//29430 2814//28972 +f 34937//16798 34936//4853 34807//7365 +f 27140//22743 27144//29342 28458//28329 +f 27291//29306 28869//22547 28865//16277 +f 31791//6066 31897//6065 31790//16056 +f 3845//25751 6007//2461 29491//23404 +f 28859//29253 27291//29306 28865//16277 +f 30758//1823 5734//14731 19554//1970 +f 28870//22278 28859//29253 29291//16276 +f 21375//22556 25779//26788 25767//22555 +f 26490//29348 27402//17148 28869//22547 +f 11840//16163 27081//16162 11756//17396 +f 25405//23081 26969//23070 25404//22856 +f 35684//6552 5561//2753 35648//13140 +f 26589//6055 26588//29470 25949//28032 +f 30037//29213 30169//29211 30036//29433 +f 34680//16545 34679//7928 34551//5901 +f 29264//14849 29568//14848 29022//28089 +f 30302//29210 30301//29471 30168//29432 +f 26591//29388 29895//29387 18932//29434 +f 19139//3386 27867//3388 19660//28974 +f 28961//29134 29096//29180 28960//29435 +f 9278//29351 29947//14414 29815//28784 +f 19676//22860 5089//22861 19915//29299 +f 28961//29134 28960//29435 28827//29384 +f 29765//29391 29895//29387 28073//29347 +f 21931//29250 19676//22860 19915//29299 +f 30039//29014 30038//29214 29907//29217 +f 26946//29437 29765//29391 28073//29347 +f 27628//29472 27745//29392 27627//29473 +f 30834//20164 30835//28971 2411//20165 +f 31786//22789 31785//11236 31685//22790 +f 26834//27418 26831//3164 26835//28665 +f 29511//28197 29649//28199 29510//29474 +f 29782//28472 29781//29394 29648//29475 +f 29911//28553 29912//28552 30042//28790 +f 26703//21764 26704//27506 26815//5196 +f 27278//14258 27396//14976 27395//29440 +f 27277//29476 27278//14258 27395//29440 +f 28490//29438 28947//29477 19902//28076 +f 28491//29439 28490//29438 19902//28076 +f 29808//25606 29807//28410 29674//25604 +f 28692//2312 28693//29478 28824//21768 +f 28843//29479 28842//20986 28710//29103 +f 28711//29441 28843//29479 28710//29103 +f 24571//2845 12009//23551 23569//25055 +f 28369//28241 28491//29439 19518//28075 +f 6661//29442 29819//29480 29288//28346 +f 2772//28319 6661//29442 29288//28346 +f 26610//669 26611//1076 26715//29481 +f 27505//21838 20678//17521 27387//17520 +f 29384//29132 29521//29054 29383//28985 +f 30325//12859 30324//1974 30191//12860 +f 7289//28184 5742//13834 27635//26600 +f 19271//28983 26593//28731 28984//21852 +f 29220//28525 29293//4617 29156//21637 +f 19578//2123 19689//2122 568//28152 +f 10772//13828 4240//5453 4372//9188 +f 12533//17197 27905//29233 12623//17208 +f 22678//24491 22679//21809 22777//24420 +f 27087//8494 27206//29482 27205//17834 +f 11939//17833 27205//17834 27204//29403 +f 27206//29482 27324//29483 27323//29444 +f 27205//17834 27206//29482 27323//29444 +f 27324//29483 27443//29484 27442//29445 +f 27323//29444 27324//29483 27442//29445 +f 27443//29484 27561//29485 27560//29446 +f 27442//29445 27443//29484 27560//29446 +f 27561//29485 27678//29486 27677//29447 +f 27560//29446 27561//29485 27677//29447 +f 27678//29486 27793//29487 27792//29448 +f 27677//29447 27678//29486 27792//29448 +f 27793//29487 27909//29488 27908//29449 +f 27792//29448 27793//29487 27908//29449 +f 28026//29489 28025//29450 27908//29449 +f 27909//29488 28026//29489 27908//29449 +f 28143//29490 28142//29451 28025//29450 +f 28026//29489 28143//29490 28025//29450 +f 28143//29490 28260//29491 28259//29452 +f 28142//29451 28143//29490 28259//29452 +f 28260//29491 28380//29492 28379//29453 +f 28259//29452 28260//29491 28379//29453 +f 28380//29492 28502//29493 28501//29454 +f 28379//29453 28380//29492 28501//29454 +f 28502//29493 28631//29494 28630//29455 +f 28501//29454 28502//29493 28630//29455 +f 28631//29494 28763//29495 28762//29456 +f 28630//29455 28631//29494 28762//29456 +f 28763//29495 28896//29496 28895//29457 +f 28762//29456 28763//29495 28895//29457 +f 28896//29496 29031//29497 29030//29458 +f 28895//29457 28896//29496 29030//29458 +f 29031//29497 29168//29498 29167//29459 +f 29030//29458 29031//29497 29167//29459 +f 29305//29499 29304//29460 29167//29459 +f 29168//29498 29305//29499 29167//29459 +f 29442//29500 29441//29461 29304//29460 +f 29305//29499 29442//29500 29304//29460 +f 29580//29501 29579//29462 29441//29461 +f 29442//29500 29580//29501 29441//29461 +f 29713//29502 29712//29463 29579//29462 +f 29580//29501 29713//29502 29579//29462 +f 29713//29502 29842//29503 29841//29464 +f 29712//29463 29713//29502 29841//29464 +f 29842//29503 29973//29504 29972//29465 +f 29841//29464 29842//29503 29972//29465 +f 30105//29505 30104//29466 29972//29465 +f 29973//29504 30105//29505 29972//29465 +f 30105//29505 30238//29506 30237//29467 +f 30104//29466 30105//29505 30237//29467 +f 30238//29506 30371//29507 30370//29468 +f 30237//29467 30238//29506 30370//29468 +f 30505//29047 30504//27099 30370//29468 +f 30371//29507 30505//29047 30370//29468 +f 4951//18233 21569//17982 16179//18653 +f 35607//4973 35702//4975 35387//6872 +f 28443//29334 28565//29345 28564//22141 +f 27856//29248 27855//28917 27740//28967 +f 18603//29379 19596//21501 19900//28357 +f 28442//22140 28443//29334 28564//22141 +f 28466//29298 30207//29302 30203//28330 +f 30836//29508 2952//29469 2814//28972 +f 22730//26100 30477//27745 21397//26289 +f 28458//28329 28466//29298 30203//28330 +f 28585//4615 33824//5628 33823//20841 +f 5564//16690 35379//9324 35604//7478 +f 30672//27498 24560//24865 30671//2210 +f 30886//17004 30940//21916 30885//17059 +f 19002//21180 4688//8829 4687//3223 +f 17816//5002 19537//17587 17912//15904 +f 17307//29509 17265//2568 21375//22556 +f 19477//1552 17307//29509 21375//22556 +f 24011//19496 30472//17414 24010//18847 +f 30603//29510 26788//23382 20759//9964 +f 10602//2460 28334//29511 11405//4769 +f 27064//22411 26948//5969 27065//28461 +f 30169//29211 30302//29210 30168//29432 +f 30037//29213 30036//29433 29905//29512 +f 29503//28443 29641//23017 29640//6600 +f 30435//29164 30434//29513 30301//29471 +f 18932//29434 9278//29351 29815//28784 +f 17627//22292 19410//29514 2404//21855 +f 28828//29112 28961//29134 28827//29384 +f 32400//16821 32505//25677 32399//17043 +f 5089//22861 28072//21980 28015//28480 +f 28828//29112 28827//29384 28695//29386 +f 28426//5772 28017//4450 28134//28133 +f 19915//29299 5089//22861 28015//28480 +f 19900//28357 19899//21503 2411//20165 +f 28709//28236 28841//20988 28708//28192 +f 26491//29515 26492//29401 26587//29009 +f 30299//21767 30300//21766 30432//19751 +f 29649//28199 29782//28472 29648//29475 +f 26588//29470 26693//24717 26692//29008 +f 30587//28729 30588//28978 30721//28158 +f 29649//28199 29648//29475 29510//29474 +f 27396//14976 27515//5905 27514//29396 +f 30504//27099 30505//29047 25576//26903 +f 28947//29477 19235//29516 29020//26657 +f 27158//29517 27159//15029 27277//29476 +f 35933//637 35488//639 35944//16775 +f 19902//28076 28947//29477 29020//26657 +f 28976//29518 28975//20987 28842//20986 +f 26604//16600 26709//28783 26708//28130 +f 26824//22787 26825//22063 26939//22065 +f 28843//29479 28976//29518 28842//20986 +f 29819//29480 30605//29519 30740//28347 +f 17261//15000 27729//5611 27164//28565 +f 21609//15588 28303//15587 21517//23962 +f 29288//28346 29819//29480 30740//28347 +f 10728//29041 18376//13919 26914//29520 +f 32868//4561 32976//17447 32975//4562 +f 27164//28565 11104//29521 19040//2127 +f 23917//26667 17985//28893 6411//29274 +f 14056//2040 15217//26060 16611//2041 +f 21469//28247 6971//28299 21472//12368 +f 23711//18766 30234//28190 23709//27116 +f 26611//1076 26716//29522 26715//29481 +f 31896//16057 31997//16703 31895//17493 +f 30468//25428 22789//25276 22690//25274 +f 27087//8494 11939//17833 11854//16103 +f 30093//24108 14042//17593 29961//17548 +f 27088//8493 27207//29523 27206//29482 +f 27087//8494 27088//8493 27206//29482 +f 27207//29523 27325//29524 27324//29483 +f 27206//29482 27207//29523 27324//29483 +f 27325//29524 27444//29525 27443//29484 +f 27324//29483 27325//29524 27443//29484 +f 27444//29525 27562//29526 27561//29485 +f 27443//29484 27444//29525 27561//29485 +f 27562//29526 27679//29527 27678//29486 +f 27561//29485 27562//29526 27678//29486 +f 27679//29527 27794//29528 27793//29487 +f 27678//29486 27679//29527 27793//29487 +f 27794//29528 27910//29529 27909//29488 +f 27793//29487 27794//29528 27909//29488 +f 28027//29530 28026//29489 27909//29488 +f 27910//29529 28027//29530 27909//29488 +f 28144//29531 28143//29490 28026//29489 +f 28027//29530 28144//29531 28026//29489 +f 28144//29531 28261//29532 28260//29491 +f 28143//29490 28144//29531 28260//29491 +f 28261//29532 28381//29533 28380//29492 +f 28260//29491 28261//29532 28380//29492 +f 28381//29533 28503//29534 28502//29493 +f 28380//29492 28381//29533 28502//29493 +f 28503//29534 28632//29535 28631//29494 +f 28502//29493 28503//29534 28631//29494 +f 28632//29535 28764//29536 28763//29495 +f 28631//29494 28632//29535 28763//29495 +f 28764//29536 28897//29537 28896//29496 +f 28763//29495 28764//29536 28896//29496 +f 28897//29537 29032//29538 29031//29497 +f 28896//29496 28897//29537 29031//29497 +f 29032//29538 29169//29539 29168//29498 +f 29031//29497 29032//29538 29168//29498 +f 29306//29540 29305//29499 29168//29498 +f 29169//29539 29306//29540 29168//29498 +f 29443//29541 29442//29500 29305//29499 +f 29306//29540 29443//29541 29305//29499 +f 29581//29542 29580//29501 29442//29500 +f 29443//29541 29581//29542 29442//29500 +f 29714//29543 29713//29502 29580//29501 +f 29581//29542 29714//29543 29580//29501 +f 29714//29543 29843//29544 29842//29503 +f 29713//29502 29714//29543 29842//29503 +f 29843//29544 29974//29545 29973//29504 +f 29842//29503 29843//29544 29973//29504 +f 29974//29545 30106//29546 30105//29505 +f 29973//29504 29974//29545 30105//29505 +f 30106//29546 30239//29547 30238//29506 +f 30105//29505 30106//29546 30238//29506 +f 30239//29547 30372//29548 30371//29507 +f 30238//29506 30239//29547 30371//29507 +f 30506//26595 30505//29047 30371//29507 +f 30372//29548 30506//26595 30371//29507 +f 25806//28031 26240//28053 31655//29549 +f 35866//17943 35778//4974 35607//4973 +f 27741//29550 27856//29248 27740//28967 +f 28737//23225 29152//23156 29259//16225 +f 28694//29381 28693//29478 28564//22141 +f 27624//29551 27741//29550 27623//29109 +f 30835//28971 30836//29508 2814//28972 +f 28565//29345 28694//29381 28564//22141 +f 6282//29251 27900//27371 27899//27370 +f 30568//29552 30702//29553 30567//28864 +f 21932//29249 6282//29251 19856//29554 +f 19856//29554 6282//29251 27899//27370 +f 30207//29302 21932//29249 21847//28169 +f 21847//28169 21932//29249 19856//29554 +f 27749//26988 20847//14432 27865//14431 +f 30203//28330 30207//29302 21847//28169 +f 17313//21048 17307//29509 19477//1552 +f 35748//3124 35865//3724 35640//1598 +f 30356//26947 30490//20908 9403//1426 +f 17313//21048 30603//29510 17307//29509 +f 17307//29509 20759//9964 17265//2568 +f 30603//29510 20759//9964 17307//29509 +f 29906//29215 30037//29213 29905//29512 +f 24866//23008 24994//27488 24993//27461 +f 30302//29210 30435//29164 30301//29471 +f 29906//29215 29905//29512 29776//29555 +f 19592//29556 29696//29557 29015//29558 +f 30435//29164 30569//29063 30568//29552 +f 32614//21623 32613//21625 32504//25678 +f 28841//20988 28974//29127 28840//28191 +f 28696//29084 28828//29112 28695//29386 +f 18931//5999 22196//13658 19018//25108 +f 19243//28216 27173//27744 27530//29051 +f 19630//28990 19243//28216 27530//29051 +f 28204//17577 28205//29294 28321//28447 +f 28441//29559 28442//22140 28563//22142 +f 30166//22657 30167//21765 30299//21767 +f 30300//21766 30433//28863 30432//19751 +f 25444//16037 25527//16036 25242//21850 +f 26692//29008 26693//24717 23693//14983 +f 29374//28356 29511//28197 29510//29474 +f 29373//29560 29374//28356 29510//29474 +f 30743//26349 13372//12193 27282//12195 +f 24658//16019 24659//26789 15874//19319 +f 27041//29561 27042//15261 27158//29517 +f 27159//15029 27278//14258 27277//29476 +f 24909//14923 24444//26655 29153//14924 +f 19235//29516 29153//14924 24444//26655 +f 26416//29562 26417//28341 27202//25460 +f 30482//14851 29415//14853 30087//18052 +f 29111//29563 29110//29564 28975//20987 +f 28976//29518 29111//29563 28975//20987 +f 11414//7666 11464//8201 11413//6272 +f 32726//9725 32725//9253 32611//25068 +f 30605//29519 19202//29565 18771//28367 +f 30740//28347 30605//29519 18771//28367 +f 33698//22694 28584//4614 28583//22695 +f 25793//26808 24567//17057 24572//22025 +f 35846//8117 35535//6699 35414//8722 +f 28622//2128 26583//20781 27139//5347 +f 26731//23263 11530//14626 11598//7073 +f 19033//28406 30341//29117 28887//28490 +f 27968//22054 27969//24888 28085//22085 +f 12482//2462 6007//2461 3845//25751 +f 29893//5899 17261//15000 29698//5052 +f 26739//16353 26854//29566 26853//16354 +f 4397//9192 333//9191 22271//25553 +f 26854//29566 26972//29567 26971//8495 +f 26853//16354 26854//29566 26971//8495 +f 26972//29567 27089//29568 27088//8493 +f 26971//8495 26972//29567 27088//8493 +f 27089//29568 27208//29569 27207//29523 +f 27088//8493 27089//29568 27207//29523 +f 27208//29569 27326//29570 27325//29524 +f 27207//29523 27208//29569 27325//29524 +f 27326//29570 27445//29571 27444//29525 +f 27325//29524 27326//29570 27444//29525 +f 27445//29571 27563//29572 27562//29526 +f 27444//29525 27445//29571 27562//29526 +f 27563//29572 27680//29573 27679//29527 +f 27562//29526 27563//29572 27679//29527 +f 27680//29573 27795//29574 27794//29528 +f 27679//29527 27680//29573 27794//29528 +f 27795//29574 27911//29575 27910//29529 +f 27794//29528 27795//29574 27910//29529 +f 28028//29576 28027//29530 27910//29529 +f 27911//29575 28028//29576 27910//29529 +f 28145//29577 28144//29531 28027//29530 +f 28028//29576 28145//29577 28027//29530 +f 28145//29577 28262//29578 28261//29532 +f 28144//29531 28145//29577 28261//29532 +f 28262//29578 28382//29579 28381//29533 +f 28261//29532 28262//29578 28381//29533 +f 28382//29579 28504//29580 28503//29534 +f 28381//29533 28382//29579 28503//29534 +f 28504//29580 28633//29581 28632//29535 +f 28503//29534 28504//29580 28632//29535 +f 28633//29581 28765//29582 28764//29536 +f 28632//29535 28633//29581 28764//29536 +f 28765//29582 28898//29583 28897//29537 +f 28764//29536 28765//29582 28897//29537 +f 28898//29583 29033//29584 29032//29538 +f 28897//29537 28898//29583 29032//29538 +f 29033//29584 29170//29585 29169//29539 +f 29032//29538 29033//29584 29169//29539 +f 29307//29586 29306//29540 29169//29539 +f 29170//29585 29307//29586 29169//29539 +f 29444//29587 29443//29541 29306//29540 +f 29307//29586 29444//29587 29306//29540 +f 29582//29588 29581//29542 29443//29541 +f 29444//29587 29582//29588 29443//29541 +f 29715//29589 29714//29543 29581//29542 +f 29582//29588 29715//29589 29581//29542 +f 29715//29589 29844//29590 29843//29544 +f 29714//29543 29715//29589 29843//29544 +f 29844//29590 29975//29591 29974//29545 +f 29843//29544 29844//29590 29974//29545 +f 29975//29591 30107//29592 30106//29546 +f 29974//29545 29975//29591 30106//29546 +f 30240//29593 30239//29547 30106//29546 +f 30107//29592 30240//29593 30106//29546 +f 30240//29593 30373//29594 30372//29548 +f 30239//29547 30240//29593 30372//29548 +f 30373//29594 30507//26594 30506//26595 +f 30372//29548 30373//29594 30506//26595 +f 27081//16162 26963//29193 11755//4202 +f 29962//27414 21543//24109 29961//17548 +f 27506//29595 27624//29551 27505//21838 +f 27741//29550 27740//28967 27623//29109 +f 25284//27503 25646//27747 25645//27293 +f 27624//29551 27623//29109 27505//21838 +f 28826//29385 28959//29596 28958//29110 +f 27387//17520 27506//29595 27505//21838 +f 30702//29553 30836//29508 30835//28971 +f 28825//29111 28826//29385 28958//29110 +f 30568//29552 30567//28864 30433//28863 +f 30701//29597 30702//29553 30835//28971 +f 30434//29513 30568//29552 30433//28863 +f 30702//29553 30701//29597 30567//28864 +f 2181//9686 2052//9685 2182//9759 +f 20029//29430 19900//28357 2814//28972 +f 18431//1849 20314//21389 20315//21418 +f 20315//21418 20314//21389 21780//25251 +f 30614//29598 30603//29510 17313//21048 +f 17672//17126 30614//29598 17313//21048 +f 26789//23383 26788//23382 30603//29510 +f 30614//29598 26789//23383 30603//29510 +f 31904//29599 32005//16300 31903//16302 +f 25053//25498 19916//3622 24674//25261 +f 29777//29218 29906//29215 29776//29555 +f 20053//4916 27146//15132 28682//14757 +f 30434//29513 30435//29164 30568//29552 +f 29777//29218 29776//29555 29643//29600 +f 29109//29126 29246//29133 29108//19042 +f 30569//29063 30703//29065 30702//29553 +f 28088//29179 28205//29294 28204//17577 +f 30723//28977 7175//29601 30722//28159 +f 29827//28964 30750//28809 28366//27986 +f 29227//22191 29228//13621 29364//22195 +f 26920//29120 20261//14981 26921//11727 +f 29908//29019 30039//29014 29907//29217 +f 30034//28214 30035//22656 30166//22657 +f 27510//29602 27628//29472 27509//29060 +f 21543//24109 20019//27389 25942//25816 +f 30992//29603 30991//29604 30933//16459 +f 29100//28332 29237//28335 29099//29605 +f 29374//28356 29373//29560 29236//29606 +f 30046//20969 30178//28837 30177//28777 +f 332//22050 17286//5350 26599//24882 +f 26924//15122 27042//15261 27041//29561 +f 26923//29607 26924//15122 27041//29561 +f 35254//27343 13014//16535 35251//27344 +f 21153//23239 14428//1581 12992//23240 +f 27255//25461 28602//28362 28601//25462 +f 19145//19666 19448//12366 21470//28754 +f 29248//29608 29247//29609 29110//29564 +f 29111//29563 29248//29608 29110//29564 +f 32976//17447 33082//21858 33081//17448 +f 33487//2045 33486//13823 33373//2046 +f 19202//29565 19134//29610 28127//28368 +f 18771//28367 19202//29565 28127//28368 +f 6854//28487 19856//29554 27645//28520 +f 27645//28520 27899//27370 30156//4772 +f 32948//16620 33054//16624 32947//22516 +f 26629//29058 11614//17155 26525//17154 +f 34547//1343 34675//2304 34546//17622 +f 28071//7155 30423//3310 29149//10309 +f 24493//17186 23783//24799 28626//29278 +f 27645//28520 27641//24355 30770//25016 +f 26628//17437 26740//29611 26739//16353 +f 25522//28009 25806//28031 31655//29549 +f 26740//29611 26855//29612 26854//29566 +f 26739//16353 26740//29611 26854//29566 +f 26855//29612 26973//29613 26972//29567 +f 26854//29566 26855//29612 26972//29567 +f 26973//29613 27090//29614 27089//29568 +f 26972//29567 26973//29613 27089//29568 +f 27090//29614 27209//29615 27208//29569 +f 27089//29568 27090//29614 27208//29569 +f 27209//29615 27327//29616 27326//29570 +f 27208//29569 27209//29615 27326//29570 +f 27327//29616 27446//29617 27445//29571 +f 27326//29570 27327//29616 27445//29571 +f 27446//29617 27564//29618 27563//29572 +f 27445//29571 27446//29617 27563//29572 +f 27564//29618 27681//29619 27680//29573 +f 27563//29572 27564//29618 27680//29573 +f 27681//29619 27796//29620 27795//29574 +f 27680//29573 27681//29619 27795//29574 +f 27796//29620 27912//29621 27911//29575 +f 27795//29574 27796//29620 27911//29575 +f 28029//29622 28028//29576 27911//29575 +f 27912//29621 28029//29622 27911//29575 +f 28146//29623 28145//29577 28028//29576 +f 28029//29622 28146//29623 28028//29576 +f 28146//29623 28263//29624 28262//29578 +f 28145//29577 28146//29623 28262//29578 +f 28263//29624 28383//29625 28382//29579 +f 28262//29578 28263//29624 28382//29579 +f 28383//29625 28505//29626 28504//29580 +f 28382//29579 28383//29625 28504//29580 +f 28505//29626 28634//29627 28633//29581 +f 28504//29580 28505//29626 28633//29581 +f 28634//29627 28766//29628 28765//29582 +f 28633//29581 28634//29627 28765//29582 +f 28766//29628 28899//29629 28898//29583 +f 28765//29582 28766//29628 28898//29583 +f 28899//29629 29034//29630 29033//29584 +f 28898//29583 28899//29629 29033//29584 +f 29034//29630 29171//29631 29170//29585 +f 29033//29584 29034//29630 29170//29585 +f 29171//29631 29308//29632 29307//29586 +f 29170//29585 29171//29631 29307//29586 +f 29445//29633 29444//29587 29307//29586 +f 29308//29632 29445//29633 29307//29586 +f 29583//29634 29582//29588 29444//29587 +f 29445//29633 29583//29634 29444//29587 +f 29716//29635 29715//29589 29582//29588 +f 29583//29634 29716//29635 29582//29588 +f 29716//29635 29845//29636 29844//29590 +f 29715//29589 29716//29635 29844//29590 +f 29845//29636 29976//29637 29975//29591 +f 29844//29590 29845//29636 29975//29591 +f 29976//29637 30108//29638 30107//29592 +f 29975//29591 29976//29637 30107//29592 +f 30241//29639 30240//29593 30107//29592 +f 30108//29638 30241//29639 30107//29592 +f 30374//29640 30373//29594 30240//29593 +f 30241//29639 30374//29640 30240//29593 +f 30374//29640 30508//5608 30507//26594 +f 30373//29594 30374//29640 30507//26594 +f 35542//4087 29687//5313 16314//15946 +f 24183//14852 24121//27392 29415//14853 +f 29368//29641 29367//28442 29230//28435 +f 29231//29642 29368//29641 29230//28435 +f 29368//29641 29505//29643 29367//28442 +f 29505//29643 29504//28919 29367//28442 +f 29505//29643 29643//29600 29504//28919 +f 29643//29600 29642//28920 29504//28919 +f 29231//29642 29230//28435 29093//28862 +f 29776//29555 29775//28921 29642//28920 +f 29094//29644 29093//28862 28958//29110 +f 29094//29644 29231//29642 29093//28862 +f 28826//29385 28825//29111 28693//29478 +f 28959//29596 29094//29644 28958//29110 +f 30625//10837 30623//14545 24452//17125 +f 28694//29381 28826//29385 28693//29478 +f 11423//13398 31080//13397 11425//16239 +f 25568//23161 26212//23160 30229//22708 +f 30623//14545 30614//29598 17672//17126 +f 30625//10837 24452//17125 24451//6603 +f 30623//14545 26790//14544 26789//23383 +f 30614//29598 30623//14545 26789//23383 +f 24053//1467 20438//1466 23602//16480 +f 17873//18817 17967//18816 20363//18071 +f 29289//28555 29264//14849 29022//28089 +f 19793//20897 18692//20896 26504//2321 +f 29644//29219 29777//29218 29643//29600 +f 5734//14731 2821//1971 19554//1970 +f 30568//29552 30569//29063 30702//29553 +f 29369//29308 29506//29256 29368//29641 +f 29697//4451 29012//28482 17317//28108 +f 30703//29065 30837//29123 30836//29508 +f 29502//28733 29640//6600 29639//22230 +f 27854//28450 27855//28917 27970//15835 +f 30039//29014 30171//29017 30170//29212 +f 26946//29437 28073//29347 27290//29305 +f 27745//29392 27744//29078 27627//29473 +f 30038//29214 30039//29014 30170//29212 +f 34934//5487 34933//17656 34804//2302 +f 27628//29472 27627//29473 27509//29060 +f 29237//28335 29374//28356 29236//29606 +f 26920//29120 27038//29645 27037//27909 +f 28228//28234 25142//25354 28227//26062 +f 29237//28335 29236//29606 29099//29605 +f 27042//15261 27159//15029 27158//29517 +f 23991//7733 24110//28029 24766//28051 +f 28450//29646 28449//29647 28329//28932 +f 26808//29648 26809//13152 26923//29607 +f 26508//22696 26604//16600 26507//16601 +f 28330//28929 28450//29646 28329//28932 +f 29385//29649 29384//29132 29247//29609 +f 27979//28943 27978//28927 27862//29650 +f 26939//22065 20185//26200 20184//22623 +f 29248//29608 29385//29649 29247//29609 +f 19134//29610 1858//29651 21840//28402 +f 6407//25981 28304//29652 25550//25979 +f 30341//29117 19671//28987 28887//28490 +f 28127//28368 19134//29610 21840//28402 +f 29149//10309 29267//29653 29129//29402 +f 29903//4922 30034//28214 30033//4923 +f 27971//28969 28088//29179 28087//5337 +f 28071//7155 29149//10309 29129//29402 +f 20740//26749 21291//17127 25765//1551 +f 24943//27519 3053//21119 12193//27524 +f 25106//5607 30507//26594 30508//5608 +f 26629//29058 26741//29654 26740//29611 +f 26628//17437 26629//29058 26740//29611 +f 26741//29654 26856//29655 26855//29612 +f 26740//29611 26741//29654 26855//29612 +f 26856//29655 26974//29656 26973//29613 +f 26855//29612 26856//29655 26973//29613 +f 26974//29656 27091//29657 27090//29614 +f 26973//29613 26974//29656 27090//29614 +f 27091//29657 27210//29658 27209//29615 +f 27090//29614 27091//29657 27209//29615 +f 27210//29658 27328//29659 27327//29616 +f 27209//29615 27210//29658 27327//29616 +f 27328//29659 27447//29660 27446//29617 +f 27327//29616 27328//29659 27446//29617 +f 27447//29660 27565//29661 27564//29618 +f 27446//29617 27447//29660 27564//29618 +f 27565//29661 27682//29662 27681//29619 +f 27564//29618 27565//29661 27681//29619 +f 27682//29662 27797//29663 27796//29620 +f 27681//29619 27682//29662 27796//29620 +f 27797//29663 27913//29664 27912//29621 +f 27796//29620 27797//29663 27912//29621 +f 28030//29665 28029//29622 27912//29621 +f 27913//29664 28030//29665 27912//29621 +f 28147//29666 28146//29623 28029//29622 +f 28030//29665 28147//29666 28029//29622 +f 28147//29666 28264//29667 28263//29624 +f 28146//29623 28147//29666 28263//29624 +f 28264//29667 28384//29668 28383//29625 +f 28263//29624 28264//29667 28383//29625 +f 28384//29668 28506//29669 28505//29626 +f 28383//29625 28384//29668 28505//29626 +f 28506//29669 28635//29670 28634//29627 +f 28505//29626 28506//29669 28634//29627 +f 28635//29670 28767//29671 28766//29628 +f 28634//29627 28635//29670 28766//29628 +f 28767//29671 28900//29672 28899//29629 +f 28766//29628 28767//29671 28899//29629 +f 28900//29672 29035//29673 29034//29630 +f 28899//29629 28900//29672 29034//29630 +f 29172//29674 29171//29631 29034//29630 +f 29035//29673 29172//29674 29034//29630 +f 29172//29674 29309//29675 29308//29632 +f 29171//29631 29172//29674 29308//29632 +f 29446//29676 29445//29633 29308//29632 +f 29309//29675 29446//29676 29308//29632 +f 29584//29677 29583//29634 29445//29633 +f 29446//29676 29584//29677 29445//29633 +f 29584//29677 29717//29678 29716//29635 +f 29583//29634 29584//29677 29716//29635 +f 29717//29678 29846//29679 29845//29636 +f 29716//29635 29717//29678 29845//29636 +f 29846//29679 29977//29680 29976//29637 +f 29845//29636 29846//29679 29976//29637 +f 30109//29681 30108//29638 29976//29637 +f 29977//29680 30109//29681 29976//29637 +f 30242//29682 30241//29639 30108//29638 +f 30109//29681 30242//29682 30108//29638 +f 30242//29682 30375//29683 30374//29640 +f 30241//29639 30242//29682 30374//29640 +f 30375//29683 30509//25054 30508//5608 +f 30374//29640 30375//29683 30508//5608 +f 12443//17198 27674//23069 27789//17199 +f 30777//20584 25243//25053 30644//29684 +f 4382//24215 8868//10765 11976//9906 +f 28228//28234 25145//27914 25143//25537 +f 30301//29471 30434//29513 30300//21766 +f 25311//18763 25156//17648 25725//26888 +f 30168//29432 30301//29471 30167//21765 +f 30434//29513 30433//28863 30300//21766 +f 30035//22656 30036//29433 30167//21765 +f 30301//29471 30300//21766 30167//21765 +f 29904//28213 29905//29512 30035//22656 +f 30036//29433 30168//29432 30167//21765 +f 29776//29555 29905//29512 29775//28921 +f 29905//29512 30036//29433 30035//22656 +f 29643//29600 29776//29555 29642//28920 +f 29905//29512 29904//28213 29775//28921 +f 25646//27747 28114//28293 28115//27504 +f 24451//6603 25720//25450 24445//6604 +f 30334//25275 22591//25273 30201//22082 +f 32321//28684 32424//24615 32423//29685 +f 1383//13374 11503//10796 8781//10693 +f 9898//10783 13963//15804 1645//15548 +f 1383//13374 9898//10783 1645//15548 +f 20866//6162 27550//3262 21463//2644 +f 24055//27467 27026//26729 25184//22913 +f 28361//20990 29563//17415 29634//14514 +f 30604//28519 29289//28555 30470//28091 +f 29264//14849 19572//14887 19351//14850 +f 29644//29219 29643//29600 29505//29643 +f 21557//28619 26910//28560 26524//28084 +f 6411//29274 21636//26843 25961//20378 +f 29506//29256 29644//29219 29505//29643 +f 25145//27914 28229//28258 28230//27915 +f 32294//25630 32293//5483 32192//15816 +f 26947//29001 26360//29686 6408//29002 +f 27777//17124 27663//24599 12256//15910 +f 30171//29017 30304//29016 30303//29169 +f 30170//29212 30171//29017 30303//29169 +f 27391//29687 27510//29602 27509//29060 +f 27390//29125 27391//29687 27509//29060 +f 19901//10778 29157//6633 30340//4605 +f 27038//29645 27155//29688 27154//29689 +f 29100//28332 29099//29605 28964//29690 +f 28965//28333 29100//28332 28964//29690 +f 31112//17233 31113//17232 31175//16179 +f 31176//16180 31240//17296 31239//16181 +f 26696//25335 26697//20926 26808//29648 +f 26809//13152 26924//15122 26923//29607 +f 27645//28520 30156//4772 29767//4771 +f 30691//8776 19041//28446 30692//23498 +f 28099//28554 30736//4609 2949//28209 +f 7080//28493 7079//28752 21470//28754 +f 29522//29691 29521//29054 29384//29132 +f 29385//29649 29522//29691 29384//29132 +f 28242//21843 684//20807 19690//21844 +f 14056//2040 30803//5777 17480//6758 +f 1858//29651 29429//20119 29355//15318 +f 21840//28402 1858//29651 29355//15318 +f 7405//28093 20241//28095 30716//28194 +f 7297//29156 6970//28521 7183//28523 +f 29832//21484 25425//21483 29831//17487 +f 28754//29692 17570//28575 236//28135 +f 26451//29277 12109//28571 26452//28570 +f 18409//26367 23043//26278 332//22050 +f 18376//13919 26917//19018 26914//29520 +f 26525//17154 26630//29693 26629//29058 +f 30644//29684 25243//25053 30509//25054 +f 26630//29693 26742//29694 26741//29654 +f 26629//29058 26630//29693 26741//29654 +f 26742//29694 26857//29695 26856//29655 +f 26741//29654 26742//29694 26856//29655 +f 26857//29695 26975//29696 26974//29656 +f 26856//29655 26857//29695 26974//29656 +f 26975//29696 27092//29697 27091//29657 +f 26974//29656 26975//29696 27091//29657 +f 27092//29697 27211//29698 27210//29658 +f 27091//29657 27092//29697 27210//29658 +f 27211//29698 27329//29699 27328//29659 +f 27210//29658 27211//29698 27328//29659 +f 27329//29699 27448//29700 27447//29660 +f 27328//29659 27329//29699 27447//29660 +f 27448//29700 27566//29701 27565//29661 +f 27447//29660 27448//29700 27565//29661 +f 27566//29701 27683//29702 27682//29662 +f 27565//29661 27566//29701 27682//29662 +f 27683//29702 27798//29703 27797//29663 +f 27682//29662 27683//29702 27797//29663 +f 27798//29703 27914//29704 27913//29664 +f 27797//29663 27798//29703 27913//29664 +f 28031//29705 28030//29665 27913//29664 +f 27914//29704 28031//29705 27913//29664 +f 28148//29706 28147//29666 28030//29665 +f 28031//29705 28148//29706 28030//29665 +f 28148//29706 28265//29707 28264//29667 +f 28147//29666 28148//29706 28264//29667 +f 28265//29707 28385//29708 28384//29668 +f 28264//29667 28265//29707 28384//29668 +f 28385//29708 28507//29709 28506//29669 +f 28384//29668 28385//29708 28506//29669 +f 28507//29709 28636//29710 28635//29670 +f 28506//29669 28507//29709 28635//29670 +f 28636//29710 28768//29711 28767//29671 +f 28635//29670 28636//29710 28767//29671 +f 28768//29711 28901//29712 28900//29672 +f 28767//29671 28768//29711 28900//29672 +f 28901//29712 29036//29713 29035//29673 +f 28900//29672 28901//29712 29035//29673 +f 29036//29713 29173//29714 29172//29674 +f 29035//29673 29036//29713 29172//29674 +f 29310//29715 29309//29675 29172//29674 +f 29173//29714 29310//29715 29172//29674 +f 29447//29716 29446//29676 29309//29675 +f 29310//29715 29447//29716 29309//29675 +f 29585//29717 29584//29677 29446//29676 +f 29447//29716 29585//29717 29446//29676 +f 29585//29717 29718//29718 29717//29678 +f 29584//29677 29585//29717 29717//29678 +f 29718//29718 29847//29719 29846//29679 +f 29717//29678 29718//29718 29846//29679 +f 29847//29719 29978//29720 29977//29680 +f 29846//29679 29847//29719 29977//29680 +f 30110//29721 30109//29681 29977//29680 +f 29978//29720 30110//29721 29977//29680 +f 30243//29722 30242//29682 30109//29681 +f 30110//29721 30243//29722 30109//29681 +f 30243//29722 30376//29723 30375//29683 +f 30242//29682 30243//29722 30375//29683 +f 30376//29723 30510//29724 30509//25054 +f 30375//29683 30376//29723 30509//25054 +f 11484//21982 24573//21981 24572//22025 +f 30510//29724 30644//29684 30509//25054 +f 30644//29684 30778//28844 30777//20584 +f 25145//27914 25045//27905 25046//27917 +f 25539//17175 8581//1425 24751//1424 +f 35062//17655 35191//7174 35061//24880 +f 14075//17463 1064//24426 24614//16987 +f 24506//17455 24614//16987 1064//24426 +f 2921//3126 16997//18451 16998//18479 +f 19675//29007 23776//27473 15027//27469 +f 28480//28544 28472//28543 27163//28812 +f 26360//29686 27165//28811 26355//28813 +f 27165//28811 28480//28544 27163//28812 +f 28690//22150 28691//2311 28822//22164 +f 28956//21874 29091//29725 29090//22186 +f 29228//13621 29365//13623 29364//22195 +f 7185//9358 8154//9357 20092//21265 +f 17841//25298 19898//29335 17913//22344 +f 14375//6050 28232//20895 6280//21896 +f 21239//23257 14428//1581 21153//23239 +f 9898//10783 1383//13374 8781//10693 +f 30632//6605 26792//10838 30625//10837 +f 11382//9182 25122//27368 25259//14695 +f 23056//26366 30689//26370 18409//26367 +f 26599//24882 23440//16710 20581//16709 +f 16767//9356 14971//21392 19452//22931 +f 27725//13010 21240//21499 19426//27192 +f 28229//28258 25145//27914 28228//28234 +f 27151//29443 27270//29726 27269//17522 +f 7069//5896 30613//28559 19232//28449 +f 27269//17522 20514//25112 27151//29443 +f 23460//22784 23459//5345 22425//5344 +f 19678//27966 19571//26687 6411//29274 +f 17985//28893 19678//27966 6411//29274 +f 28228//28234 25143//25537 25142//25354 +f 33531//29727 33532//29728 33650//29729 +f 30304//29016 30437//28691 30436//29165 +f 29230//28435 29367//28442 29366//28436 +f 27273//29730 27391//29687 27390//29125 +f 27272//29124 27273//29730 27390//29125 +f 27037//27909 27038//29645 27154//29689 +f 27155//29688 27274//29731 27273//29730 +f 28965//28333 28964//29690 28831//29732 +f 28832//28343 28965//28333 28831//29732 +f 31303//29733 31302//18073 31237//22491 +f 31238//29734 31303//29733 31237//22491 +f 29937//22383 29936//15045 29807//28410 +f 26697//20926 26809//13152 26808//29648 +f 32844//27560 32952//27559 32843//16356 +f 7070//28146 6784//28734 11577//28147 +f 22157//27084 20893//23099 28367//23098 +f 27863//29735 27979//28943 27862//29650 +f 29660//29736 29659//14328 29521//29054 +f 29522//29691 29660//29736 29521//29054 +f 27414//5428 28814//21244 28813//21243 +f 22370//21606 22468//23807 29489//21567 +f 32618//22816 32617//14589 32508//7546 +f 30219//3263 27550//3262 35496//8030 +f 19041//28446 19027//29737 30692//23498 +f 6842//29095 6841//28823 6969//28522 +f 17480//6758 28754//29692 236//28135 +f 19674//29738 2809//28576 17570//28575 +f 26362//15978 26430//29739 26429//17113 +f 26361//15942 26362//15978 26429//17113 +f 26430//29739 26526//29740 26525//17154 +f 35386//6337 29685//6336 28992//3110 +f 26526//29740 26631//29741 26630//29693 +f 26525//17154 26526//29740 26630//29693 +f 26631//29741 26743//29742 26742//29694 +f 26630//29693 26631//29741 26742//29694 +f 26743//29742 26858//29743 26857//29695 +f 26742//29694 26743//29742 26857//29695 +f 26858//29743 26976//29744 26975//29696 +f 26857//29695 26858//29743 26975//29696 +f 26976//29744 27093//29745 27092//29697 +f 26975//29696 26976//29744 27092//29697 +f 27093//29745 27212//29746 27211//29698 +f 27092//29697 27093//29745 27211//29698 +f 27212//29746 27330//29747 27329//29699 +f 27211//29698 27212//29746 27329//29699 +f 27330//29747 27449//29748 27448//29700 +f 27329//29699 27330//29747 27448//29700 +f 27449//29748 27567//29749 27566//29701 +f 27448//29700 27449//29748 27566//29701 +f 27567//29749 27684//29750 27683//29702 +f 27566//29701 27567//29749 27683//29702 +f 27684//29750 27799//29751 27798//29703 +f 27683//29702 27684//29750 27798//29703 +f 27799//29751 27915//29752 27914//29704 +f 27798//29703 27799//29751 27914//29704 +f 27915//29752 28032//29753 28031//29705 +f 27914//29704 27915//29752 28031//29705 +f 28149//29754 28148//29706 28031//29705 +f 28032//29753 28149//29754 28031//29705 +f 28149//29754 28266//29755 28265//29707 +f 28148//29706 28149//29754 28265//29707 +f 28266//29755 28386//29756 28385//29708 +f 28265//29707 28266//29755 28385//29708 +f 28386//29756 28508//29757 28507//29709 +f 28385//29708 28386//29756 28507//29709 +f 28508//29757 28637//29758 28636//29710 +f 28507//29709 28508//29757 28636//29710 +f 28637//29758 28769//29759 28768//29711 +f 28636//29710 28637//29758 28768//29711 +f 28769//29759 28902//29760 28901//29712 +f 28768//29711 28769//29759 28901//29712 +f 28902//29760 29037//29761 29036//29713 +f 28901//29712 28902//29760 29036//29713 +f 29037//29761 29174//29762 29173//29714 +f 29036//29713 29037//29761 29173//29714 +f 29311//29763 29310//29715 29173//29714 +f 29174//29762 29311//29763 29173//29714 +f 29448//29764 29447//29716 29310//29715 +f 29311//29763 29448//29764 29310//29715 +f 29586//29765 29585//29717 29447//29716 +f 29448//29764 29586//29765 29447//29716 +f 29586//29765 29719//29766 29718//29718 +f 29585//29717 29586//29765 29718//29718 +f 29719//29766 29848//29767 29847//29719 +f 29718//29718 29719//29766 29847//29719 +f 29848//29767 29979//29768 29978//29720 +f 29847//29719 29848//29767 29978//29720 +f 30111//29769 30110//29721 29978//29720 +f 29979//29768 30111//29769 29978//29720 +f 30244//29770 30243//29722 30110//29721 +f 30111//29769 30244//29770 30110//29721 +f 30244//29770 30377//29771 30376//29723 +f 30243//29722 30244//29770 30376//29723 +f 30377//29771 30511//29772 30510//29724 +f 30376//29723 30377//29771 30510//29724 +f 30511//29772 30645//29773 30644//29684 +f 30510//29724 30511//29772 30644//29684 +f 30645//29773 30779//27388 30778//28844 +f 30644//29684 30645//29773 30778//28844 +f 23316//22929 24022//28003 24228//28004 +f 34723//22925 34597//14587 6946//25587 +f 28736//5205 30341//29117 19033//28406 +f 24363//26623 23570//25056 23569//25055 +f 29015//29558 29696//29557 6904//29774 +f 27549//16617 12423//2290 27866//16615 +f 19410//29514 19359//29052 2404//21855 +f 26902//29775 19592//29556 18510//29776 +f 29246//29133 29245//28248 29108//19042 +f 7175//29601 19410//29514 7071//22008 +f 24275//28852 24274//22060 6529//29777 +f 28974//29127 28973//28483 28840//28191 +f 30712//28947 30711//28832 30577//28388 +f 12423//2290 27549//16617 24440//27447 +f 29538//17680 27259//28527 27869//6068 +f 24129//27194 25034//16423 25035//22927 +f 21308//14246 35766//14247 21956//23450 +f 34134//20749 34133//6042 33997//6041 +f 35075//28936 35074//28938 34945//29271 +f 35846//8117 2138//9400 19144//8118 +f 21370//10260 26348//28129 26347//10261 +f 30298//21449 30299//21767 30431//19750 +f 28859//29253 28865//16277 29291//16276 +f 2681//29778 2547//29779 26112//25973 +f 30443//28836 30444//28386 30577//28388 +f 26203//25972 12447//9081 26112//25973 +f 20181//7168 20268//23612 24887//23611 +f 19358//28914 19678//27966 17985//28893 +f 2547//29779 19358//28914 17985//28893 +f 24267//1928 29412//29780 24350//22679 +f 24482//25609 27044//28737 26927//14941 +f 30303//29169 30304//29016 30436//29165 +f 29774//23018 29775//28921 29903//4922 +f 27154//29689 27273//29730 27272//29124 +f 27153//27907 27154//29689 27272//29124 +f 27154//29689 27155//29688 27273//29730 +f 27274//29731 27392//29781 27391//29687 +f 28700//28338 28699//29782 28570//29783 +f 28571//28687 28700//28338 28570//29783 +f 29286//16260 6787//10106 6653//11598 +f 6653//11598 27783//10108 29553//5468 +f 28734//26170 19905//26172 28732//28732 +f 24428//26926 23518//25663 17820//27181 +f 28497//28315 28547//29232 30289//28295 +f 30292//29263 19563//29313 19564//28294 +f 26812//29784 26813//14770 26927//14941 +f 28752//22205 28751//15491 24746//22206 +f 29793//29785 29792//10621 29659//14328 +f 29660//29736 29793//29785 29659//14328 +f 29092//28861 29229//13622 29228//13621 +f 28021//14576 24476//16285 24399//12741 +f 34803//2303 34932//24879 34802//23217 +f 26486//28226 26493//5426 27412//28207 +f 19354//29108 7297//29156 19355//28826 +f 31372//17439 31439//21302 31371//17440 +f 28754//29692 19674//29738 17570//28575 +f 19041//28446 2955//28433 19027//29737 +f 30757//29786 30754//28577 2809//28576 +f 25311//18763 30779//27388 22137//18761 +f 26362//15978 26363//16875 26430//29739 +f 26431//26397 26527//29787 26526//29740 +f 26430//29739 26431//26397 26526//29740 +f 26527//29787 26632//29788 26631//29741 +f 26526//29740 26527//29787 26631//29741 +f 26632//29788 26744//29789 26743//29742 +f 26631//29741 26632//29788 26743//29742 +f 26744//29789 26859//29790 26858//29743 +f 26743//29742 26744//29789 26858//29743 +f 26859//29790 26977//29791 26976//29744 +f 26858//29743 26859//29790 26976//29744 +f 26977//29791 27094//29792 27093//29745 +f 26976//29744 26977//29791 27093//29745 +f 27094//29792 27213//29793 27212//29746 +f 27093//29745 27094//29792 27212//29746 +f 27213//29793 27331//29794 27330//29747 +f 27212//29746 27213//29793 27330//29747 +f 27331//29794 27450//29795 27449//29748 +f 27330//29747 27331//29794 27449//29748 +f 27450//29795 27568//29796 27567//29749 +f 27449//29748 27450//29795 27567//29749 +f 27568//29796 27685//29797 27684//29750 +f 27567//29749 27568//29796 27684//29750 +f 27685//29797 27800//29798 27799//29751 +f 27684//29750 27685//29797 27799//29751 +f 27800//29798 27916//29799 27915//29752 +f 27799//29751 27800//29798 27915//29752 +f 27916//29799 28033//29800 28032//29753 +f 27915//29752 27916//29799 28032//29753 +f 28150//29801 28149//29754 28032//29753 +f 28033//29800 28150//29801 28032//29753 +f 28150//29801 28267//29802 28266//29755 +f 28149//29754 28150//29801 28266//29755 +f 28267//29802 28387//29803 28386//29756 +f 28266//29755 28267//29802 28386//29756 +f 28387//29803 28509//29804 28508//29757 +f 28386//29756 28387//29803 28508//29757 +f 28509//29804 28638//29805 28637//29758 +f 28508//29757 28509//29804 28637//29758 +f 28638//29805 28770//29806 28769//29759 +f 28637//29758 28638//29805 28769//29759 +f 28770//29806 28903//29807 28902//29760 +f 28769//29759 28770//29806 28902//29760 +f 28903//29807 29038//29808 29037//29761 +f 28902//29760 28903//29807 29037//29761 +f 29038//29808 29175//29809 29174//29762 +f 29037//29761 29038//29808 29174//29762 +f 29312//29810 29311//29763 29174//29762 +f 29175//29809 29312//29810 29174//29762 +f 29449//29811 29448//29764 29311//29763 +f 29312//29810 29449//29811 29311//29763 +f 29587//29812 29586//29765 29448//29764 +f 29449//29811 29587//29812 29448//29764 +f 29587//29812 29720//29813 29719//29766 +f 29586//29765 29587//29812 29719//29766 +f 29720//29813 29849//29814 29848//29767 +f 29719//29766 29720//29813 29848//29767 +f 29849//29814 29980//29815 29979//29768 +f 29848//29767 29849//29814 29979//29768 +f 30112//29816 30111//29769 29979//29768 +f 29980//29815 30112//29816 29979//29768 +f 30245//29817 30244//29770 30111//29769 +f 30112//29816 30245//29817 30111//29769 +f 30378//29818 30377//29771 30244//29770 +f 30245//29817 30378//29818 30244//29770 +f 30378//29818 30512//29819 30511//29772 +f 30377//29771 30378//29818 30511//29772 +f 30512//29819 30646//29820 30645//29773 +f 30511//29772 30512//29819 30645//29773 +f 30646//29820 30780//29821 30779//27388 +f 30645//29773 30646//29820 30779//27388 +f 34932//24879 34931//14233 34802//23217 +f 30780//29821 22137//18761 30779//27388 +f 27291//29306 26490//29348 28869//22547 +f 30472//17414 29815//28784 24010//18847 +f 26490//29348 26591//29388 27402//17148 +f 26591//29388 19237//17149 27402//17148 +f 19237//17149 26591//29388 28880//23039 +f 26591//29388 18932//29434 28880//23039 +f 18932//29434 29815//28784 28880//23039 +f 29815//28784 29816//17413 28880//23039 +f 29816//17413 29815//28784 30472//17414 +f 19358//28914 19251//23767 24762//26931 +f 29119//27855 26059//24884 24718//17356 +f 28217//28459 26902//29775 18510//29776 +f 19793//20897 26504//2321 30771//2145 +f 19234//5206 19033//28406 19913//25636 +f 25242//21850 25241//27366 25443//25009 +f 27900//27371 28752//22205 21515//22204 +f 5224//3030 5091//3227 5225//3028 +f 21609//15588 21517//23962 21610//23910 +f 27841//28150 19243//28216 19463//28945 +f 29120//20782 29767//4771 19795//6748 +f 18929//21877 22553//23266 27612//8308 +f 6898//28774 11408//29338 21370//10260 +f 34675//2304 34674//15406 34546//17622 +f 35740//4440 29006//2152 35847//8310 +f 24560//24865 25367//14499 25102//24866 +f 25646//27747 28115//27504 25645//27293 +f 19251//23767 19358//28914 2547//29779 +f 2681//29778 19251//23767 2547//29779 +f 25922//28278 27196//23040 11926//17223 +f 30070//22775 30069//22081 22300//22272 +f 29904//28213 30035//22656 30034//28214 +f 22788//25219 22690//25274 22789//25276 +f 27037//27909 27154//29689 27153//27907 +f 26587//29009 20088//25032 20008//25031 +f 27273//29730 27274//29731 27391//29687 +f 27392//29781 27511//29822 27510//29602 +f 28832//28343 28831//29732 28699//29782 +f 28700//28338 28832//28343 28699//29782 +f 26737//29823 29827//28964 6787//10106 +f 29286//16260 26737//29823 6787//10106 +f 29565//28113 28734//26170 26593//28731 +f 19905//26172 27050//28644 28732//28732 +f 27178//28781 27195//29187 28497//28315 +f 28547//29232 30292//29263 30289//28295 +f 26700//24695 26701//4197 26812//29784 +f 33864//11195 33999//16885 33863//11196 +f 29922//29824 29921//28154 29792//10621 +f 29793//29785 29922//29824 29792//10621 +f 20865//6163 35791//14088 35908//14964 +f 30734//2129 27257//5346 21382//6555 +f 14191//14207 10684//13680 10562//13679 +f 22525//11870 33237//11869 22426//14825 +f 22157//27084 21777//23183 22680//7250 +f 30673//27499 30674//29825 25667//14500 +f 17311//5051 29893//5899 29698//5052 +f 20767//25818 20766//25820 20684//25702 +f 19674//29738 30757//29786 2809//28576 +f 4817//29826 28617//28587 30754//28577 +f 28454//25592 28333//22865 21270//24386 +f 26212//23160 30228//25817 30229//22708 +f 26432//16781 26528//29827 26527//29787 +f 26431//26397 26432//16781 26527//29787 +f 26528//29827 26633//29828 26632//29788 +f 26527//29787 26528//29827 26632//29788 +f 26633//29828 26745//29829 26744//29789 +f 26632//29788 26633//29828 26744//29789 +f 26745//29829 26860//29830 26859//29790 +f 26744//29789 26745//29829 26859//29790 +f 26860//29830 26978//29831 26977//29791 +f 26859//29790 26860//29830 26977//29791 +f 26978//29831 27095//29832 27094//29792 +f 26977//29791 26978//29831 27094//29792 +f 27095//29832 27214//29833 27213//29793 +f 27094//29792 27095//29832 27213//29793 +f 27214//29833 27332//29834 27331//29794 +f 27213//29793 27214//29833 27331//29794 +f 27332//29834 27451//29835 27450//29795 +f 27331//29794 27332//29834 27450//29795 +f 27451//29835 27569//29836 27568//29796 +f 27450//29795 27451//29835 27568//29796 +f 27569//29836 27686//29837 27685//29797 +f 27568//29796 27569//29836 27685//29797 +f 27686//29837 27801//29838 27800//29798 +f 27685//29797 27686//29837 27800//29798 +f 27801//29838 27917//29839 27916//29799 +f 27800//29798 27801//29838 27916//29799 +f 28034//29840 28033//29800 27916//29799 +f 27917//29839 28034//29840 27916//29799 +f 28151//29841 28150//29801 28033//29800 +f 28034//29840 28151//29841 28033//29800 +f 28151//29841 28268//29842 28267//29802 +f 28150//29801 28151//29841 28267//29802 +f 28268//29842 28388//29843 28387//29803 +f 28267//29802 28268//29842 28387//29803 +f 28388//29843 28510//29844 28509//29804 +f 28387//29803 28388//29843 28509//29804 +f 28510//29844 28639//29845 28638//29805 +f 28509//29804 28510//29844 28638//29805 +f 28639//29845 28771//29846 28770//29806 +f 28638//29805 28639//29845 28770//29806 +f 28771//29846 28904//29847 28903//29807 +f 28770//29806 28771//29846 28903//29807 +f 29039//29848 29038//29808 28903//29807 +f 28904//29847 29039//29848 28903//29807 +f 29039//29848 29176//29849 29175//29809 +f 29038//29808 29039//29848 29175//29809 +f 29313//29850 29312//29810 29175//29809 +f 29176//29849 29313//29850 29175//29809 +f 29450//29851 29449//29811 29312//29810 +f 29313//29850 29450//29851 29312//29810 +f 29588//29852 29587//29812 29449//29811 +f 29450//29851 29588//29852 29449//29811 +f 29588//29852 29721//29853 29720//29813 +f 29587//29812 29588//29852 29720//29813 +f 29721//29853 29850//29854 29849//29814 +f 29720//29813 29721//29853 29849//29814 +f 29850//29854 29981//29855 29980//29815 +f 29849//29814 29850//29854 29980//29815 +f 30113//29856 30112//29816 29980//29815 +f 29981//29855 30113//29856 29980//29815 +f 30246//29857 30245//29817 30112//29816 +f 30113//29856 30246//29857 30112//29816 +f 30379//29858 30378//29818 30245//29817 +f 30246//29857 30379//29858 30245//29817 +f 30379//29858 30513//29859 30512//29819 +f 30378//29818 30379//29858 30512//29819 +f 30513//29859 30647//29860 30646//29820 +f 30512//29819 30513//29859 30646//29820 +f 30647//29860 30781//29861 30780//29821 +f 30646//29820 30647//29860 30780//29821 +f 22040//27688 22137//18761 30780//29821 +f 30781//29861 22040//27688 30780//29821 +f 28118//27062 25500//27064 28117//28354 +f 23488//25718 20501//26878 20502//24317 +f 27742//29862 27857//29431 27741//29550 +f 25586//26011 25785//27608 21455//26005 +f 27625//29863 27742//29862 27624//29551 +f 27857//29431 27856//29248 27741//29550 +f 27507//29864 27625//29863 27506//29595 +f 27742//29862 27741//29550 27624//29551 +f 27388//29865 27507//29864 27387//17520 +f 27625//29863 27624//29551 27506//29595 +f 27270//29726 27388//29865 27387//17520 +f 27269//17522 27270//29726 27387//17520 +f 27970//15835 27971//28969 28087//5337 +f 27507//29864 27506//29595 27387//17520 +f 30156//4772 27899//27370 21515//22204 +f 4397//9192 14091//17319 24870//26708 +f 18360//27255 10004//14998 12451//27463 +f 30809//27464 24971//27453 23737//24871 +f 7414//28825 6967//29337 6898//28774 +f 26430//29739 26525//17154 26429//17113 +f 26803//2819 35800//2818 11781//8962 +f 11408//29338 21461//29300 21370//10260 +f 25039//17227 28248//22488 26496//17228 +f 20021//1544 20020//26203 26715//29481 +f 6859//29866 2681//29778 6534//14883 +f 8908//29269 6859//29866 6534//14883 +f 19570//6059 19251//23767 2681//29778 +f 6859//29866 19570//6059 2681//29778 +f 35632//6816 35555//8313 35871//11286 +f 25617//3212 25616//2283 16440//2618 +f 16293//3213 25617//3212 16439//3409 +f 26081//27390 30229//22708 30228//25817 +f 23640//27879 22778//4199 26596//4198 +f 28824//21768 28825//29111 28957//21873 +f 27391//29687 27392//29781 27510//29602 +f 27629//29867 27628//29472 27510//29602 +f 28571//28687 28570//29783 28448//29868 +f 28449//29647 28571//28687 28448//29868 +f 30203//28330 21847//28169 30200//28171 +f 19856//29554 6854//28487 19791//28170 +f 28734//26170 28732//28732 26593//28731 +f 1962//29107 21745//22366 22044//22346 +f 26402//28780 26407//29140 27178//28781 +f 27195//29187 28547//29232 28497//28315 +f 6411//29274 19571//26687 21636//26843 +f 26701//4197 26813//14770 26812//29784 +f 30053//29869 30052//28172 29921//28154 +f 29922//29824 30053//29869 29921//28154 +f 29503//28443 29504//28919 29641//23017 +f 29425//22549 29763//10908 28856//10907 +f 23818//1545 26832//29870 17580//21872 +f 10652//1270 10777//12511 4375//4867 +f 30182//26556 30315//22782 30181//28894 +f 30182//26556 30181//28894 30049//28477 +f 29293//4617 20895//28647 30776//4618 +f 26346//22066 26347//10261 27136//22067 +f 30757//29786 4817//29826 30754//28577 +f 28597//29871 28468//28588 28617//28587 +f 11895//7373 13484//2228 12039//2227 +f 28682//14757 6281//4139 21859//4141 +f 26433//29872 26529//29873 26528//29827 +f 26432//16781 26433//29872 26528//29827 +f 26529//29873 26634//29874 26633//29828 +f 26528//29827 26529//29873 26633//29828 +f 26634//29874 26746//29875 26745//29829 +f 26633//29828 26634//29874 26745//29829 +f 26746//29875 26861//29876 26860//29830 +f 26745//29829 26746//29875 26860//29830 +f 26861//29876 26979//29877 26978//29831 +f 26860//29830 26861//29876 26978//29831 +f 26979//29877 27096//29878 27095//29832 +f 26978//29831 26979//29877 27095//29832 +f 27096//29878 27215//29879 27214//29833 +f 27095//29832 27096//29878 27214//29833 +f 27215//29879 27333//29880 27332//29834 +f 27214//29833 27215//29879 27332//29834 +f 27333//29880 27452//29881 27451//29835 +f 27332//29834 27333//29880 27451//29835 +f 27452//29881 27570//29882 27569//29836 +f 27451//29835 27452//29881 27569//29836 +f 27570//29882 27687//29883 27686//29837 +f 27569//29836 27570//29882 27686//29837 +f 27687//29883 27802//29884 27801//29838 +f 27686//29837 27687//29883 27801//29838 +f 27802//29884 27918//29885 27917//29839 +f 27801//29838 27802//29884 27917//29839 +f 27918//29885 28035//29886 28034//29840 +f 27917//29839 27918//29885 28034//29840 +f 28035//29886 28152//29887 28151//29841 +f 28034//29840 28035//29886 28151//29841 +f 28152//29887 28269//29888 28268//29842 +f 28151//29841 28152//29887 28268//29842 +f 28269//29888 28389//29889 28388//29843 +f 28268//29842 28269//29888 28388//29843 +f 28389//29889 28511//29890 28510//29844 +f 28388//29843 28389//29889 28510//29844 +f 28511//29890 28640//29891 28639//29845 +f 28510//29844 28511//29890 28639//29845 +f 28772//29892 28771//29846 28639//29845 +f 28640//29891 28772//29892 28639//29845 +f 28772//29892 28905//29893 28904//29847 +f 28771//29846 28772//29892 28904//29847 +f 28905//29893 29040//29894 29039//29848 +f 28904//29847 28905//29893 29039//29848 +f 29040//29894 29177//29895 29176//29849 +f 29039//29848 29040//29894 29176//29849 +f 29314//29896 29313//29850 29176//29849 +f 29177//29895 29314//29896 29176//29849 +f 29314//29896 29451//29897 29450//29851 +f 29313//29850 29314//29896 29450//29851 +f 29589//29898 29588//29852 29450//29851 +f 29451//29897 29589//29898 29450//29851 +f 29589//29898 29722//29899 29721//29853 +f 29588//29852 29589//29898 29721//29853 +f 29722//29899 29851//29900 29850//29854 +f 29721//29853 29722//29899 29850//29854 +f 29851//29900 29982//29901 29981//29855 +f 29850//29854 29851//29900 29981//29855 +f 30114//29902 30113//29856 29981//29855 +f 29982//29901 30114//29902 29981//29855 +f 30247//29903 30246//29857 30113//29856 +f 30114//29902 30247//29903 30113//29856 +f 30380//29904 30379//29858 30246//29857 +f 30247//29903 30380//29904 30246//29857 +f 30380//29904 30514//29905 30513//29859 +f 30379//29858 30380//29904 30513//29859 +f 30514//29905 30648//29906 30647//29860 +f 30513//29859 30514//29905 30647//29860 +f 30648//29906 30782//29194 30781//29861 +f 30647//29860 30648//29906 30781//29861 +f 18511//13287 22040//27688 30781//29861 +f 30782//29194 18511//13287 30781//29861 +f 24538//25597 24037//25209 25916//25211 +f 15318//24549 13460//18762 22137//18761 +f 2170//3789 19281//20043 19387//20636 +f 19176//3791 19281//20043 2170//3789 +f 28960//29435 28959//29596 28826//29385 +f 28695//29386 28827//29384 28694//29381 +f 29095//29389 29094//29644 28959//29596 +f 28827//29384 28960//29435 28826//29385 +f 29232//29350 29231//29642 29094//29644 +f 28960//29435 29095//29389 28959//29596 +f 29369//29308 29368//29641 29231//29642 +f 29095//29389 29232//29350 29094//29644 +f 29506//29256 29505//29643 29368//29641 +f 29232//29350 29369//29308 29231//29642 +f 25121//16449 17308//27350 27045//16128 +f 22943//2647 30473//10651 30502//19 +f 11667//3347 27063//14133 11668//14132 +f 34548//1342 34676//27147 34547//1343 +f 25134//26730 27026//26729 24055//27467 +f 24039//21997 25459//24931 17308//27350 +f 13652//15638 13653//15637 29570//20641 +f 25834//27516 28592//23012 28998//29356 +f 23712//22935 30099//28011 30100//29289 +f 19032//6341 17308//27350 25458//14943 +f 2954//29907 6859//29866 8908//29269 +f 9285//29268 2954//29907 8908//29269 +f 19346//29908 19570//6059 6859//29866 +f 2954//29907 19346//29908 6859//29866 +f 25617//3212 16440//2618 16439//3409 +f 19346//29908 30634//6060 19570//6059 +f 21549//26313 34229//28071 21550//28073 +f 33871//29909 34006//28054 33870//2389 +f 22587//23715 17577//22087 24229//23902 +f 28321//28447 28322//29293 28441//29559 +f 27511//29822 27629//29867 27510//29602 +f 27746//29910 27745//29392 27628//29472 +f 28449//29647 28448//29868 28328//29911 +f 28329//28932 28449//29647 28328//29911 +f 30616//29912 30750//28809 29827//28964 +f 26737//29823 30616//29912 29827//28964 +f 24006//23819 24067//21513 24066//19784 +f 24113//26544 25584//25661 25462//24875 +f 26408//28820 26485//29142 26402//28780 +f 26407//29140 27195//29187 27178//28781 +f 25514//23762 24125//15513 24856//27381 +f 26596//4198 26701//4197 26700//24695 +f 30185//29913 30184//28175 30052//28172 +f 30053//29869 30185//29913 30052//28172 +f 30165//21448 30166//22657 30298//21449 +f 29667//28429 29666//1682 29528//22481 +f 8908//29269 6534//14883 6851//9080 +f 11417//17459 11416//2395 31338//9742 +f 29493//21574 29131//21176 30478//28174 +f 30362//21880 22943//2647 12216//22932 +f 4817//29826 28597//29871 28617//28587 +f 28131//29914 26582//28589 28468//28588 +f 28597//29871 28131//29914 28468//28588 +f 29541//29915 27283//28590 26582//28589 +f 26366//17616 26434//29916 26433//29872 +f 35443//22297 35595//12817 35405//4128 +f 26434//29916 26530//29917 26529//29873 +f 26433//29872 26434//29916 26529//29873 +f 26530//29917 26635//29918 26634//29874 +f 26529//29873 26530//29917 26634//29874 +f 26635//29918 26747//29919 26746//29875 +f 26634//29874 26635//29918 26746//29875 +f 26862//29920 26861//29876 26746//29875 +f 26747//29919 26862//29920 26746//29875 +f 26980//29921 26979//29877 26861//29876 +f 26862//29920 26980//29921 26861//29876 +f 26980//29921 27097//29922 27096//29878 +f 26979//29877 26980//29921 27096//29878 +f 27097//29922 27216//29923 27215//29879 +f 27096//29878 27097//29922 27215//29879 +f 27216//29923 27334//29924 27333//29880 +f 27215//29879 27216//29923 27333//29880 +f 27334//29924 27453//29925 27452//29881 +f 27333//29880 27334//29924 27452//29881 +f 27453//29925 27571//29926 27570//29882 +f 27452//29881 27453//29925 27570//29882 +f 27571//29926 27688//29927 27687//29883 +f 27570//29882 27571//29926 27687//29883 +f 27688//29927 27803//29928 27802//29884 +f 27687//29883 27688//29927 27802//29884 +f 27803//29928 27919//29929 27918//29885 +f 27802//29884 27803//29928 27918//29885 +f 27919//29929 28036//29930 28035//29886 +f 27918//29885 27919//29929 28035//29886 +f 28036//29930 28153//29931 28152//29887 +f 28035//29886 28036//29930 28152//29887 +f 28153//29931 28270//29932 28269//29888 +f 28152//29887 28153//29931 28269//29888 +f 28270//29932 28390//29933 28389//29889 +f 28269//29888 28270//29932 28389//29889 +f 28390//29933 28512//29934 28511//29890 +f 28389//29889 28390//29933 28511//29890 +f 28512//29934 28641//29935 28640//29891 +f 28511//29890 28512//29934 28640//29891 +f 28773//29936 28772//29892 28640//29891 +f 28641//29935 28773//29936 28640//29891 +f 28906//29937 28905//29893 28772//29892 +f 28773//29936 28906//29937 28772//29892 +f 28906//29937 29041//29938 29040//29894 +f 28905//29893 28906//29937 29040//29894 +f 29041//29938 29178//29939 29177//29895 +f 29040//29894 29041//29938 29177//29895 +f 29178//29939 29315//29940 29314//29896 +f 29177//29895 29178//29939 29314//29896 +f 29315//29940 29452//29941 29451//29897 +f 29314//29896 29315//29940 29451//29897 +f 29452//29941 29590//29942 29589//29898 +f 29451//29897 29452//29941 29589//29898 +f 29590//29942 29723//29943 29722//29899 +f 29589//29898 29590//29942 29722//29899 +f 29852//29944 29851//29900 29722//29899 +f 29723//29943 29852//29944 29722//29899 +f 29983//29945 29982//29901 29851//29900 +f 29852//29944 29983//29945 29851//29900 +f 30115//29946 30114//29902 29982//29901 +f 29983//29945 30115//29946 29982//29901 +f 30248//29947 30247//29903 30114//29902 +f 30115//29946 30248//29947 30114//29902 +f 30381//29948 30380//29904 30247//29903 +f 30248//29947 30381//29948 30247//29903 +f 30515//29949 30514//29905 30380//29904 +f 30381//29948 30515//29949 30380//29904 +f 30515//29949 30649//29950 30648//29906 +f 30514//29905 30515//29949 30648//29906 +f 30649//29950 30783//22615 30782//29194 +f 30648//29906 30649//29950 30782//29194 +f 29021//8363 20893//23099 23960//3116 +f 30360//28034 25942//25816 30361//25815 +f 12634//23209 22159//22431 22544//23210 +f 21552//29951 22135//3378 22134//17138 +f 6837//29176 11408//29338 6967//29337 +f 11439//29177 6837//29176 6967//29337 +f 6785//29174 11439//29177 6967//29337 +f 6658//29336 6785//29174 6967//29337 +f 6785//29174 6658//29336 18603//29379 +f 19459//29171 6785//29174 18603//29379 +f 19459//29171 18603//29379 20029//29430 +f 14738//29168 19459//29171 20029//29430 +f 14738//29168 20029//29430 2952//29469 +f 22431//29166 14738//29168 2952//29469 +f 30702//29553 30703//29065 30836//29508 +f 30837//29123 22431//29166 2952//29469 +f 29688//17150 27869//6068 19129//6067 +f 30836//29508 30837//29123 2952//29469 +f 21777//23183 29817//27085 29414//6047 +f 24493//17186 28626//29278 28757//16652 +f 26934//6331 24827//7169 24826//6332 +f 24792//29429 34057//17715 2823//6766 +f 24827//7169 26934//6331 26820//28131 +f 25940//27290 20074//24180 24604//27427 +f 32245//17180 32244//17182 32144//2634 +f 25459//24931 25458//14943 17308//27350 +f 22530//29952 2954//29907 9285//29268 +f 239//29267 22530//29952 9285//29268 +f 19239//29953 19346//29908 2954//29907 +f 22530//29952 19239//29953 2954//29907 +f 18927//23901 30634//6060 19346//29908 +f 19239//29953 18927//23901 19346//29908 +f 28864//21118 28862//27521 3053//21119 +f 27901//16680 12109//28571 26344//16673 +f 17483//27564 24189//27546 28134//28133 +f 28205//29294 28322//29293 28321//28447 +f 27629//29867 27746//29910 27628//29472 +f 27861//29954 27860//29393 27745//29392 +f 28095//28926 28212//28930 28094//29955 +f 28329//28932 28328//29911 28211//29956 +f 17917//29957 30088//21842 30750//28809 +f 30616//29912 17917//29957 30750//28809 +f 2948//29958 19630//28990 29275//29959 +f 27530//29051 30477//27745 27874//19786 +f 26485//29142 26408//28820 6841//28823 +f 6842//29095 26485//29142 6841//28823 +f 11938//17496 27204//29403 27203//16882 +f 28107//28079 29954//23226 28737//23225 +f 30318//29960 30317//28156 30184//28175 +f 30185//29913 30318//29960 30184//28175 +f 6783//28735 7414//28825 7303//24394 +f 24217//21859 24318//27265 19427//23150 +f 13467//1809 19004//28267 7404//1810 +f 21754//13854 27407//2119 27955//10824 +f 29683//29116 29682//28988 19671//28987 +f 18511//13287 21361//22614 25315//14628 +f 28131//29914 29541//29915 26582//28589 +f 28224//29961 11510//28620 27283//28590 +f 29541//29915 28224//29961 27283//28590 +f 26367//17617 26435//29962 26434//29916 +f 26366//17616 26367//17617 26434//29916 +f 26435//29962 26531//29963 26530//29917 +f 26434//29916 26435//29962 26530//29917 +f 26531//29963 26636//29964 26635//29918 +f 26530//29917 26531//29963 26635//29918 +f 26636//29964 26748//29965 26747//29919 +f 26635//29918 26636//29964 26747//29919 +f 26748//29965 26863//29966 26862//29920 +f 26747//29919 26748//29965 26862//29920 +f 26863//29966 26981//29967 26980//29921 +f 26862//29920 26863//29966 26980//29921 +f 26981//29967 27098//29968 27097//29922 +f 26980//29921 26981//29967 27097//29922 +f 27098//29968 27217//29969 27216//29923 +f 27097//29922 27098//29968 27216//29923 +f 27217//29969 27335//29970 27334//29924 +f 27216//29923 27217//29969 27334//29924 +f 27335//29970 27454//29971 27453//29925 +f 27334//29924 27335//29970 27453//29925 +f 27454//29971 27572//29972 27571//29926 +f 27453//29925 27454//29971 27571//29926 +f 27572//29972 27689//29973 27688//29927 +f 27571//29926 27572//29972 27688//29927 +f 27689//29973 27804//29974 27803//29928 +f 27688//29927 27689//29973 27803//29928 +f 27804//29974 27920//29975 27919//29929 +f 27803//29928 27804//29974 27919//29929 +f 27920//29975 28037//29976 28036//29930 +f 27919//29929 27920//29975 28036//29930 +f 28154//29977 28153//29931 28036//29930 +f 28037//29976 28154//29977 28036//29930 +f 28154//29977 28271//29978 28270//29932 +f 28153//29931 28154//29977 28270//29932 +f 28271//29978 28391//29979 28390//29933 +f 28270//29932 28271//29978 28390//29933 +f 28391//29979 28513//29980 28512//29934 +f 28390//29933 28391//29979 28512//29934 +f 28513//29980 28642//29981 28641//29935 +f 28512//29934 28513//29980 28641//29935 +f 28774//29982 28773//29936 28641//29935 +f 28642//29981 28774//29982 28641//29935 +f 28907//29983 28906//29937 28773//29936 +f 28774//29982 28907//29983 28773//29936 +f 28907//29983 29042//29984 29041//29938 +f 28906//29937 28907//29983 29041//29938 +f 29042//29984 29179//29985 29178//29939 +f 29041//29938 29042//29984 29178//29939 +f 29179//29985 29316//29986 29315//29940 +f 29178//29939 29179//29985 29315//29940 +f 29316//29986 29453//29987 29452//29941 +f 29315//29940 29316//29986 29452//29941 +f 29453//29987 29591//29988 29590//29942 +f 29452//29941 29453//29987 29590//29942 +f 29591//29988 29724//29989 29723//29943 +f 29590//29942 29591//29988 29723//29943 +f 29853//29990 29852//29944 29723//29943 +f 29724//29989 29853//29990 29723//29943 +f 29984//29991 29983//29945 29852//29944 +f 29853//29990 29984//29991 29852//29944 +f 30116//29992 30115//29946 29983//29945 +f 29984//29991 30116//29992 29983//29945 +f 30249//29993 30248//29947 30115//29946 +f 30116//29992 30249//29993 30115//29946 +f 30382//29994 30381//29948 30248//29947 +f 30249//29993 30382//29994 30248//29947 +f 30516//29995 30515//29949 30381//29948 +f 30382//29994 30516//29995 30381//29948 +f 30516//29995 30650//29996 30649//29950 +f 30515//29949 30516//29995 30649//29950 +f 30650//29996 30784//25252 30783//22615 +f 30649//29950 30650//29996 30783//22615 +f 13078//16468 25953//17187 13079//22178 +f 3059//26607 24431//14832 24518//18622 +f 34803//2303 34802//23217 34674//15406 +f 34675//2304 34803//2303 34674//15406 +f 9671//13144 35943//2835 35880//9084 +f 14474//7745 25140//23178 11881//7139 +f 26570//22069 26674//24808 25090//27312 +f 19352//29997 5609//22038 19460//22040 +f 7299//14844 7413//14843 5610//22039 +f 29639//22230 29640//6600 29772//6602 +f 29773//6601 29902//4921 29901//21712 +f 454//15236 19495//14676 29630//6194 +f 11104//29521 28240//5774 26583//20781 +f 28683//15959 30422//15965 30419//29040 +f 15898//21502 1962//29107 19898//29335 +f 30700//28970 30834//20164 30699//20040 +f 30578//28387 30712//28947 30577//28388 +f 17569//28992 3087//28916 3088//28829 +f 33998//24184 34134//20749 33997//6041 +f 25372//22489 24127//23783 24229//23902 +f 26821//15468 24827//7169 26820//28131 +f 29412//29780 29397//29998 24350//22679 +f 29397//29998 19590//29999 2683//29266 +f 29358//27957 29397//29998 2683//29266 +f 10725//30000 239//29267 2683//29266 +f 19590//29999 10725//30000 2683//29266 +f 22424//30001 22530//29952 239//29267 +f 10725//30000 22424//30001 239//29267 +f 19344//30002 19239//29953 22530//29952 +f 22424//30001 19344//30002 22530//29952 +f 27669//22487 18927//23901 19239//29953 +f 19344//30002 27669//22487 19239//29953 +f 20763//24994 20846//8737 23817//10889 +f 20260//14982 26145//27769 23693//14983 +f 24430//27959 24285//21744 24346//19024 +f 20260//14982 20173//25033 26145//27769 +f 27746//29910 27861//29954 27745//29392 +f 12726//8282 11781//8962 35800//2818 +f 28212//28930 28329//28932 28211//29956 +f 27977//30003 27976//29310 27860//29393 +f 2948//29958 28242//21843 30088//21842 +f 28095//28926 28094//29955 27977//30003 +f 29275//29959 27530//29051 27874//19786 +f 17917//29957 2948//29958 30088//21842 +f 6970//28521 6842//29095 6969//28522 +f 19630//28990 27530//29051 29275//29959 +f 28119//28420 28120//28470 24732//27063 +f 26485//29142 26407//29140 26402//28780 +f 30451//30004 30450//28157 30317//28156 +f 27164//28565 27729//5611 11104//29521 +f 27432//29038 28816//22616 28814//21244 +f 30318//29960 30451//30004 30317//28156 +f 30475//13832 5742//13834 7289//28184 +f 33957//26217 21457//26125 33823//20841 +f 30188//21490 30321//28479 30187//21491 +f 30474//21245 30475//13832 7289//28184 +f 28135//30005 30642//28635 11510//28620 +f 30738//28080 19232//28449 30558//29131 +f 28224//29961 28135//30005 11510//28620 +f 26332//16759 26368//30006 26367//17617 +f 26368//30006 26436//30007 26435//29962 +f 26367//17617 26368//30006 26435//29962 +f 26436//30007 26532//30008 26531//29963 +f 26435//29962 26436//30007 26531//29963 +f 26532//30008 26637//30009 26636//29964 +f 26531//29963 26532//30008 26636//29964 +f 26637//30009 26749//30010 26748//29965 +f 26636//29964 26637//30009 26748//29965 +f 26864//30011 26863//29966 26748//29965 +f 26749//30010 26864//30011 26748//29965 +f 26982//30012 26981//29967 26863//29966 +f 26864//30011 26982//30012 26863//29966 +f 26982//30012 27099//30013 27098//29968 +f 26981//29967 26982//30012 27098//29968 +f 27099//30013 27218//30014 27217//29969 +f 27098//29968 27099//30013 27217//29969 +f 27218//30014 27336//30015 27335//29970 +f 27217//29969 27218//30014 27335//29970 +f 27336//30015 27455//30016 27454//29971 +f 27335//29970 27336//30015 27454//29971 +f 27455//30016 27573//30017 27572//29972 +f 27454//29971 27455//30016 27572//29972 +f 27573//30017 27690//30018 27689//29973 +f 27572//29972 27573//30017 27689//29973 +f 27690//30018 27805//30019 27804//29974 +f 27689//29973 27690//30018 27804//29974 +f 27805//30019 27921//30020 27920//29975 +f 27804//29974 27805//30019 27920//29975 +f 27921//30020 28038//30021 28037//29976 +f 27920//29975 27921//30020 28037//29976 +f 28155//30022 28154//29977 28037//29976 +f 28038//30021 28155//30022 28037//29976 +f 28155//30022 28272//30023 28271//29978 +f 28154//29977 28155//30022 28271//29978 +f 28272//30023 28392//30024 28391//29979 +f 28271//29978 28272//30023 28391//29979 +f 28392//30024 28514//30025 28513//29980 +f 28391//29979 28392//30024 28513//29980 +f 28514//30025 28643//30026 28642//29981 +f 28513//29980 28514//30025 28642//29981 +f 28775//30027 28774//29982 28642//29981 +f 28643//30026 28775//30027 28642//29981 +f 28775//30027 28908//30028 28907//29983 +f 28774//29982 28775//30027 28907//29983 +f 28908//30028 29043//30029 29042//29984 +f 28907//29983 28908//30028 29042//29984 +f 29043//30029 29180//30030 29179//29985 +f 29042//29984 29043//30029 29179//29985 +f 29180//30030 29317//30031 29316//29986 +f 29179//29985 29180//30030 29316//29986 +f 29317//30031 29454//30032 29453//29987 +f 29316//29986 29317//30031 29453//29987 +f 29454//30032 29592//30033 29591//29988 +f 29453//29987 29454//30032 29591//29988 +f 29592//30033 29725//30034 29724//29989 +f 29591//29988 29592//30033 29724//29989 +f 29854//30035 29853//29990 29724//29989 +f 29725//30034 29854//30035 29724//29989 +f 29985//30036 29984//29991 29853//29990 +f 29854//30035 29985//30036 29853//29990 +f 30117//30037 30116//29992 29984//29991 +f 29985//30036 30117//30037 29984//29991 +f 30250//30038 30249//29993 30116//29992 +f 30117//30037 30250//30038 30116//29992 +f 30383//30039 30382//29994 30249//29993 +f 30250//30038 30383//30039 30249//29993 +f 30517//30040 30516//29995 30382//29994 +f 30383//30039 30517//30040 30382//29994 +f 30517//30040 30651//30041 30650//29996 +f 30516//29995 30517//30040 30650//29996 +f 30651//30041 30785//4295 30784//25252 +f 30650//29996 30651//30041 30784//25252 +f 21361//22614 30783//22615 30784//25252 +f 31432//22113 31504//22112 31431//25149 +f 27389//29062 27508//29061 27388//29865 +f 27626//30042 27625//29863 27507//29864 +f 27270//29726 27271//29069 27388//29865 +f 27508//29061 27507//29864 27388//29865 +f 27151//29443 27152//27908 27270//29726 +f 27271//29069 27389//29062 27388//29865 +f 22464//15862 24070//26624 24129//27194 +f 27152//27908 27271//29069 27270//29726 +f 30558//29131 21557//28619 29540//28083 +f 27035//27906 27152//27908 27151//29443 +f 19592//29556 29154//28138 29696//29557 +f 11405//4769 28334//29511 27267//5192 +f 28753//21390 7288//16929 28335//22785 +f 29154//28138 30500//28162 29696//29557 +f 21841//14921 6530//21218 30217//2095 +f 30773//2094 21841//14921 30217//2095 +f 25015//23013 25085//27493 29216//23014 +f 29014//2138 29134//12345 28621//21391 +f 26488//14496 23903//21116 28985//14497 +f 29422//4834 29412//29780 24267//1928 +f 29412//29780 14506//30043 19590//29999 +f 29397//29998 29412//29780 19590//29999 +f 17477//30044 10725//30000 19590//29999 +f 14506//30043 17477//30044 19590//29999 +f 18634//30045 22424//30001 10725//30000 +f 17477//30044 18634//30045 10725//30000 +f 19343//30046 19344//30002 22424//30001 +f 18634//30045 19343//30046 22424//30001 +f 26684//25449 27669//22487 19344//30002 +f 19343//30046 26684//25449 19344//30002 +f 26496//17228 28248//22488 27669//22487 +f 26684//25449 26496//17228 27669//22487 +f 12692//27442 25407//11194 28304//29652 +f 12185//7241 12103//3169 12186//10994 +f 27079//17541 27196//23040 27078//28877 +f 27432//29038 27435//22700 28816//22616 +f 27861//29954 27977//30003 27860//29393 +f 28094//29955 28093//29260 27976//29310 +f 27978//28927 28095//28926 27977//30003 +f 28212//28930 28211//29956 28094//29955 +f 2948//29958 29275//29959 30073//20805 +f 28247//17500 19663//27621 26262//17498 +f 30749//28946 19463//28945 30616//29912 +f 19630//28990 2948//29958 17917//29957 +f 19663//27621 28247//17500 19098//28218 +f 21824//25835 21825//25837 29257//25833 +f 24669//24173 29260//24172 22234//28646 +f 24023//26656 23962//27661 23947//27687 +f 30585//30047 30584//28177 30450//28157 +f 30451//30004 30585//30047 30450//28157 +f 21383//28077 29430//9422 28101//30048 +f 14247//15973 21067//23219 29944//15974 +f 32732//30049 32731//16355 32617//14589 +f 35779//4870 29217//7352 29355//15318 +f 28714//4613 28846//28427 28713//28993 +f 28979//30050 28978//28913 28845//28963 +f 28135//30005 17720//30051 6978//28638 +f 30642//28635 28135//30005 6978//28638 +f 26369//17714 26368//30006 26332//16759 +f 26369//17714 26437//30052 26436//30007 +f 26368//30006 26369//17714 26436//30007 +f 26437//30052 26533//30053 26532//30008 +f 26436//30007 26437//30052 26532//30008 +f 26533//30053 26638//30054 26637//30009 +f 26532//30008 26533//30053 26637//30009 +f 26638//30054 26750//30055 26749//30010 +f 26637//30009 26638//30054 26749//30010 +f 26750//30055 26865//30056 26864//30011 +f 26749//30010 26750//30055 26864//30011 +f 26865//30056 26983//30057 26982//30012 +f 26864//30011 26865//30056 26982//30012 +f 26983//30057 27100//30058 27099//30013 +f 26982//30012 26983//30057 27099//30013 +f 27100//30058 27219//30059 27218//30014 +f 27099//30013 27100//30058 27218//30014 +f 27219//30059 27337//30060 27336//30015 +f 27218//30014 27219//30059 27336//30015 +f 27337//30060 27456//30061 27455//30016 +f 27336//30015 27337//30060 27455//30016 +f 27456//30061 27574//30062 27573//30017 +f 27455//30016 27456//30061 27573//30017 +f 27574//30062 27691//30063 27690//30018 +f 27573//30017 27574//30062 27690//30018 +f 27691//30063 27806//30064 27805//30019 +f 27690//30018 27691//30063 27805//30019 +f 27806//30064 27922//30065 27921//30020 +f 27805//30019 27806//30064 27921//30020 +f 27922//30065 28039//30066 28038//30021 +f 27921//30020 27922//30065 28038//30021 +f 28039//30066 28156//30067 28155//30022 +f 28038//30021 28039//30066 28155//30022 +f 28156//30067 28273//30068 28272//30023 +f 28155//30022 28156//30067 28272//30023 +f 28273//30068 28393//30069 28392//30024 +f 28272//30023 28273//30068 28392//30024 +f 28393//30069 28515//30070 28514//30025 +f 28392//30024 28393//30069 28514//30025 +f 28515//30070 28644//30071 28643//30026 +f 28514//30025 28515//30070 28643//30026 +f 28776//30072 28775//30027 28643//30026 +f 28644//30071 28776//30072 28643//30026 +f 28776//30072 28909//30073 28908//30028 +f 28775//30027 28776//30072 28908//30028 +f 28909//30073 29044//30074 29043//30029 +f 28908//30028 28909//30073 29043//30029 +f 29044//30074 29181//30075 29180//30030 +f 29043//30029 29044//30074 29180//30030 +f 29181//30075 29318//30076 29317//30031 +f 29180//30030 29181//30075 29317//30031 +f 29318//30076 29455//30077 29454//30032 +f 29317//30031 29318//30076 29454//30032 +f 29455//30077 29593//30078 29592//30033 +f 29454//30032 29455//30077 29592//30033 +f 29593//30078 29726//30079 29725//30034 +f 29592//30033 29593//30078 29725//30034 +f 29855//30080 29854//30035 29725//30034 +f 29726//30079 29855//30080 29725//30034 +f 29986//30081 29985//30036 29854//30035 +f 29855//30080 29986//30081 29854//30035 +f 29986//30081 30118//30082 30117//30037 +f 29985//30036 29986//30081 30117//30037 +f 30251//30083 30250//30038 30117//30037 +f 30118//30082 30251//30083 30117//30037 +f 30384//30084 30383//30039 30250//30038 +f 30251//30083 30384//30084 30250//30038 +f 30518//30085 30517//30040 30383//30039 +f 30384//30084 30518//30085 30383//30039 +f 30518//30085 30652//30086 30651//30041 +f 30517//30040 30518//30085 30651//30041 +f 30652//30086 30786//14639 30785//4295 +f 30651//30041 30652//30086 30785//4295 +f 35424//11028 13401//14223 35684//6552 +f 23523//4293 25178//13849 23985//4294 +f 28957//21873 29092//28861 29091//29725 +f 2145//935 2144//15992 19051//21514 +f 27743//29077 27742//29862 27625//29863 +f 27626//30042 27743//29077 27625//29863 +f 27743//29077 27858//29076 27742//29862 +f 27858//29076 27857//29431 27742//29862 +f 27858//29076 27974//29071 27857//29431 +f 27974//29071 27973//29382 27857//29431 +f 27974//29071 28091//29068 27973//29382 +f 28091//29068 28090//29383 27973//29382 +f 28091//29068 28208//29074 28090//29383 +f 28208//29074 28207//29380 28090//29383 +f 28208//29074 28325//29073 28207//29380 +f 28325//29073 28324//29341 28207//29380 +f 28325//29073 28445//29080 28324//29341 +f 28445//29080 28444//29343 28324//29341 +f 13014//16535 35254//27343 11964//22739 +f 28567//29082 28566//29344 28444//29343 +f 31654//30087 31753//30088 24486//27985 +f 24350//22679 29397//29998 29358//27957 +f 6858//30089 14506//30043 29412//29780 +f 29422//4834 6858//30089 29412//29780 +f 238//30090 17477//30044 14506//30043 +f 6858//30089 238//30090 14506//30043 +f 10329//30091 18634//30045 17477//30044 +f 238//30090 10329//30091 17477//30044 +f 19245//30092 19343//30046 18634//30045 +f 10329//30091 19245//30092 18634//30045 +f 19245//30092 26479//30093 26684//25449 +f 19343//30046 19245//30092 26684//25449 +f 26479//30093 23599//25448 26684//25449 +f 23495//17229 23599//25448 23994//24349 +f 18098//20915 20411//20914 24091//25323 +f 30818//27540 25932//27170 30817//27485 +f 19913//25636 12380//16473 19234//5206 +f 29521//29054 29520//14329 29383//28985 +f 27977//30003 28094//29955 27976//29310 +f 28699//29782 28698//29086 28569//29085 +f 27512//10828 27630//20843 27511//29822 +f 27747//28968 27746//29910 27629//29867 +f 28242//21843 2948//29958 30073//20805 +f 29275//29959 27874//19786 26685//19785 +f 19463//28945 17917//29957 30616//29912 +f 19463//28945 19630//28990 17917//29957 +f 22099//26653 24533//23625 22098//23043 +f 16548//18384 581//18383 23996//18385 +f 29007//30094 21551//30095 19135//30096 +f 19135//30096 30087//18052 19305//27415 +f 30719//30097 30718//28178 30584//28177 +f 30585//30047 30719//30097 30584//28177 +f 29078//28364 21383//28077 29016//30098 +f 25287//27058 24732//27063 25288//26733 +f 30056//28408 30188//21490 30055//21492 +f 30321//28479 30320//10238 30187//21491 +f 35683//8515 35562//608 35521//645 +f 6856//1808 7404//1810 30731//28302 +f 17720//30051 30484//30099 30485//28664 +f 6978//28638 17720//30051 30485//28664 +f 26370//15982 26438//30100 26437//30052 +f 26369//17714 26370//15982 26437//30052 +f 26438//30100 26534//30101 26533//30053 +f 26437//30052 26438//30100 26533//30053 +f 26639//30102 26638//30054 26533//30053 +f 26534//30101 26639//30102 26533//30053 +f 26639//30102 26751//30103 26750//30055 +f 26638//30054 26639//30102 26750//30055 +f 26751//30103 26866//30104 26865//30056 +f 26750//30055 26751//30103 26865//30056 +f 26866//30104 26984//30105 26983//30057 +f 26865//30056 26866//30104 26983//30057 +f 26984//30105 27101//30106 27100//30058 +f 26983//30057 26984//30105 27100//30058 +f 27101//30106 27220//30107 27219//30059 +f 27100//30058 27101//30106 27219//30059 +f 27220//30107 27338//30108 27337//30060 +f 27219//30059 27220//30107 27337//30060 +f 27338//30108 27457//30109 27456//30061 +f 27337//30060 27338//30108 27456//30061 +f 27575//30110 27574//30062 27456//30061 +f 27457//30109 27575//30110 27456//30061 +f 27692//30111 27691//30063 27574//30062 +f 27575//30110 27692//30111 27574//30062 +f 27807//30112 27806//30064 27691//30063 +f 27692//30111 27807//30112 27691//30063 +f 27923//30113 27922//30065 27806//30064 +f 27807//30112 27923//30113 27806//30064 +f 28040//30114 28039//30066 27922//30065 +f 27923//30113 28040//30114 27922//30065 +f 28040//30114 28157//30115 28156//30067 +f 28039//30066 28040//30114 28156//30067 +f 28157//30115 28274//30116 28273//30068 +f 28156//30067 28157//30115 28273//30068 +f 28274//30116 28394//30117 28393//30069 +f 28273//30068 28274//30116 28393//30069 +f 28394//30117 28516//30118 28515//30070 +f 28393//30069 28394//30117 28515//30070 +f 28516//30118 28645//30119 28644//30071 +f 28515//30070 28516//30118 28644//30071 +f 28777//30120 28776//30072 28644//30071 +f 28645//30119 28777//30120 28644//30071 +f 28777//30120 28910//30121 28909//30073 +f 28776//30072 28777//30120 28909//30073 +f 28910//30121 29045//30122 29044//30074 +f 28909//30073 28910//30121 29044//30074 +f 29045//30122 29182//30123 29181//30075 +f 29044//30074 29045//30122 29181//30075 +f 29182//30123 29319//30124 29318//30076 +f 29181//30075 29182//30123 29318//30076 +f 29319//30124 29456//30125 29455//30077 +f 29318//30076 29319//30124 29455//30077 +f 29456//30125 29594//30126 29593//30078 +f 29455//30077 29456//30125 29593//30078 +f 29727//30127 29726//30079 29593//30078 +f 29594//30126 29727//30127 29593//30078 +f 29856//30128 29855//30080 29726//30079 +f 29727//30127 29856//30128 29726//30079 +f 29987//30129 29986//30081 29855//30080 +f 29856//30128 29987//30129 29855//30080 +f 30119//30130 30118//30082 29986//30081 +f 29987//30129 30119//30130 29986//30081 +f 30119//30130 30252//30131 30251//30083 +f 30118//30082 30119//30130 30251//30083 +f 30385//30132 30384//30084 30251//30083 +f 30252//30131 30385//30132 30251//30083 +f 30519//30133 30518//30085 30384//30084 +f 30385//30132 30519//30133 30384//30084 +f 30519//30133 30653//30134 30652//30086 +f 30518//30085 30519//30133 30652//30086 +f 30653//30134 30787//30135 30786//14639 +f 30652//30086 30653//30134 30786//14639 +f 10602//2460 16771//25632 28334//29511 +f 30787//30135 6860//28874 30786//14639 +f 23577//6190 22389//27686 22388//27737 +f 6860//28874 22011//15737 30786//14639 +f 26592//20991 29634//14514 18455//27640 +f 21608//4770 21755//13626 26242//6749 +f 17569//28992 6919//28830 30711//28832 +f 29365//13623 29366//28436 29502//28733 +f 19899//21503 15898//21502 19898//29335 +f 11577//28147 7303//24394 6847//24396 +f 20092//21265 19199//28773 27298//21095 +f 29631//5894 29493//21574 26583//20781 +f 29012//28482 28364//28217 17317//28108 +f 31121//30136 31184//30137 31183//30138 +f 30088//21842 19690//21844 30751//28810 +f 27390//29125 27509//29060 27389//29062 +f 23682//27877 24746//22206 25656//27456 +f 34755//1264 21740//2628 34754//14217 +f 24609//29129 26818//27936 24531//27938 +f 31391//6524 31390//30139 31323//22582 +f 30674//29825 30809//27464 23737//24871 +f 25836//27515 28724//23011 25835//23010 +f 6945//23042 6858//30089 29422//4834 +f 29432//4833 6945//23042 29422//4834 +f 21374//27958 238//30090 6858//30089 +f 6945//23042 21374//27958 6858//30089 +f 21374//27958 6786//30140 10329//30091 +f 238//30090 21374//27958 10329//30091 +f 6786//30140 19248//30141 19245//30092 +f 10329//30091 6786//30140 19245//30092 +f 19248//30141 28425//26775 26479//30093 +f 19245//30092 19248//30141 26479//30093 +f 25514//23762 19358//28914 24762//26931 +f 13555//9511 13653//15637 13554//15639 +f 29492//4254 29535//4253 22003//27539 +f 21270//24386 28333//22865 21183//25589 +f 28850//5477 30486//5478 30476//13833 +f 29682//28988 14619//28109 2811//28096 +f 28570//29783 28569//29085 28447//29181 +f 28448//29868 28570//29783 28447//29181 +f 27630//20843 27747//28968 27629//29867 +f 27862//29650 27861//29954 27746//29910 +f 30073//20805 29275//29959 26685//19785 +f 21507//15221 21599//15223 22347//23284 +f 19027//29737 17267//30142 29286//16260 +f 30749//28946 30616//29912 26737//29823 +f 26122//27620 25980//27618 25981//27617 +f 30743//26349 15724//22859 13372//12193 +f 29956//28909 21551//30095 29007//30094 +f 30756//30143 29956//28909 29007//30094 +f 7068//30144 17283//28200 30718//28178 +f 18916//30145 2539//30146 2540//28244 +f 29078//28364 29016//30098 28475//30147 +f 28735//28365 29078//28364 28475//30147 +f 30746//29115 30738//28080 18866//28986 +f 30588//28978 30587//28729 30453//10237 +f 31655//29549 31654//30087 25522//28009 +f 23985//4294 21361//22614 30784//25252 +f 30484//30099 28010//30148 26733//28675 +f 30485//28664 30484//30099 26733//28675 +f 26371//15981 26439//30149 26438//30100 +f 26370//15982 26371//15981 26438//30100 +f 26439//30149 26535//30150 26534//30101 +f 26438//30100 26439//30149 26534//30101 +f 26640//30151 26639//30102 26534//30101 +f 26535//30150 26640//30151 26534//30101 +f 26640//30151 26752//30152 26751//30103 +f 26639//30102 26640//30151 26751//30103 +f 26752//30152 26867//30153 26866//30104 +f 26751//30103 26752//30152 26866//30104 +f 26867//30153 26985//30154 26984//30105 +f 26866//30104 26867//30153 26984//30105 +f 26985//30154 27102//30155 27101//30106 +f 26984//30105 26985//30154 27101//30106 +f 27102//30155 27221//30156 27220//30107 +f 27101//30106 27102//30155 27220//30107 +f 27221//30156 27339//30157 27338//30108 +f 27220//30107 27221//30156 27338//30108 +f 27339//30157 27458//30158 27457//30109 +f 27338//30108 27339//30157 27457//30109 +f 27458//30158 27576//30159 27575//30110 +f 27457//30109 27458//30158 27575//30110 +f 27693//30160 27692//30111 27575//30110 +f 27576//30159 27693//30160 27575//30110 +f 27808//30161 27807//30112 27692//30111 +f 27693//30160 27808//30161 27692//30111 +f 27808//30161 27924//30162 27923//30113 +f 27807//30112 27808//30161 27923//30113 +f 27924//30162 28041//30163 28040//30114 +f 27923//30113 27924//30162 28040//30114 +f 28041//30163 28158//30164 28157//30115 +f 28040//30114 28041//30163 28157//30115 +f 28158//30164 28275//30165 28274//30116 +f 28157//30115 28158//30164 28274//30116 +f 28275//30165 28395//30166 28394//30117 +f 28274//30116 28275//30165 28394//30117 +f 28395//30166 28517//30167 28516//30118 +f 28394//30117 28395//30166 28516//30118 +f 28517//30167 28646//30168 28645//30119 +f 28516//30118 28517//30167 28645//30119 +f 28778//30169 28777//30120 28645//30119 +f 28646//30168 28778//30169 28645//30119 +f 28778//30169 28911//30170 28910//30121 +f 28777//30120 28778//30169 28910//30121 +f 28911//30170 29046//30171 29045//30122 +f 28910//30121 28911//30170 29045//30122 +f 29046//30171 29183//30172 29182//30123 +f 29045//30122 29046//30171 29182//30123 +f 29183//30172 29320//30173 29319//30124 +f 29182//30123 29183//30172 29319//30124 +f 29320//30173 29457//30174 29456//30125 +f 29319//30124 29320//30173 29456//30125 +f 29457//30174 29595//30175 29594//30126 +f 29456//30125 29457//30174 29594//30126 +f 29728//30176 29727//30127 29594//30126 +f 29595//30175 29728//30176 29594//30126 +f 29857//30177 29856//30128 29727//30127 +f 29728//30176 29857//30177 29727//30127 +f 29988//30178 29987//30129 29856//30128 +f 29857//30177 29988//30178 29856//30128 +f 30120//30179 30119//30130 29987//30129 +f 29988//30178 30120//30179 29987//30129 +f 30120//30179 30253//30180 30252//30131 +f 30119//30130 30120//30179 30252//30131 +f 30253//30180 30386//30181 30385//30132 +f 30252//30131 30253//30180 30385//30132 +f 30520//30182 30519//30133 30385//30132 +f 30386//30181 30520//30182 30385//30132 +f 30654//30183 30653//30134 30519//30133 +f 30520//30182 30654//30183 30519//30133 +f 30654//30183 30788//30184 30787//30135 +f 30653//30134 30654//30183 30787//30135 +f 13870//30185 6860//28874 30787//30135 +f 30788//30184 13870//30185 30787//30135 +f 3084//22777 2945//26893 6860//28874 +f 13870//30185 3084//22777 6860//28874 +f 26396//25683 26463//30186 26395//30187 +f 27634//13624 20848//25707 20847//14432 +f 29354//4767 11405//4769 26907//2125 +f 26212//23160 30361//25815 30228//25817 +f 27139//5347 30478//28174 19735//5348 +f 30674//29825 23737//24871 25667//14500 +f 29091//29725 29092//28861 29228//13621 +f 29673//25605 29672//28440 29534//22435 +f 31656//30188 31655//29549 26240//28053 +f 6981//23500 28137//13825 26502//28608 +f 31562//30189 31656//30188 25244//24697 +f 7281//14732 7174//14940 7282//15130 +f 8378//11795 1716//7921 1599//4215 +f 17399//22000 32686//22001 32806//6349 +f 26120//16574 24432//4252 24649//24187 +f 32000//1671 32100//18092 31999//1672 +f 25311//18763 13460//18762 25156//17648 +f 19984//23624 21374//27958 24533//23625 +f 24555//27632 24444//26655 24909//14923 +f 6085//9931 19110//10017 5954//10016 +f 33116//30190 33115//30191 33009//14889 +f 24273//23626 12538//23679 19984//23624 +f 19140//23678 6786//30140 21374//27958 +f 21265//2957 21178//16834 28078//16833 +f 19140//23678 19146//30192 19248//30141 +f 6786//30140 19140//23678 19248//30141 +f 19146//30192 26903//30193 28425//26775 +f 19248//30141 19146//30192 28425//26775 +f 26796//27459 25792//26776 28425//26775 +f 26903//30193 26796//27459 28425//26775 +f 28008//17038 12516//17530 12515//17528 +f 34135//20748 34134//20749 33998//24184 +f 25837//18767 28343//28243 25836//27515 +f 31690//17866 31790//16056 31689//14043 +f 28448//29868 28447//29181 28327//29225 +f 28328//29911 28448//29868 28327//29225 +f 27747//28968 27862//29650 27746//29910 +f 27978//28927 27977//30003 27861//29954 +f 30065//21810 30066//18784 22490//16558 +f 29808//25606 29937//22383 29807//28410 +f 30692//23498 19027//29737 30806//16259 +f 17267//30142 30749//28946 26737//29823 +f 22950//23333 21223//23316 16314//15946 +f 19564//28294 19563//29313 26505//28238 +f 6878//22961 29956//28909 30756//30143 +f 21551//30095 30087//18052 19135//30096 +f 30719//30097 7068//30144 30718//28178 +f 19361//28220 18916//30145 2540//28244 +f 28735//28365 28475//30147 19349//30194 +f 21383//28077 28101//30048 29016//30098 +f 31563//30195 31562//30189 25997//24696 +f 21551//30095 30482//14851 30087//18052 +f 25834//27516 28998//29356 6407//25981 +f 21599//15223 13699//15222 23372//23299 +f 28010//30148 2537//30196 28589//28676 +f 26733//28675 28010//30148 28589//28676 +f 26333//15980 26372//30197 26371//15981 +f 26372//30197 26440//30198 26439//30149 +f 26371//15981 26372//30197 26439//30149 +f 26440//30198 26536//30199 26535//30150 +f 26439//30149 26440//30198 26535//30150 +f 26641//30200 26640//30151 26535//30150 +f 26536//30199 26641//30200 26535//30150 +f 26641//30200 26753//30201 26752//30152 +f 26640//30151 26641//30200 26752//30152 +f 26753//30201 26868//30202 26867//30153 +f 26752//30152 26753//30201 26867//30153 +f 26868//30202 26986//30203 26985//30154 +f 26867//30153 26868//30202 26985//30154 +f 26986//30203 27103//30204 27102//30155 +f 26985//30154 26986//30203 27102//30155 +f 27103//30204 27222//30205 27221//30156 +f 27102//30155 27103//30204 27221//30156 +f 27222//30205 27340//30206 27339//30157 +f 27221//30156 27222//30205 27339//30157 +f 27340//30206 27459//30207 27458//30158 +f 27339//30157 27340//30206 27458//30158 +f 27459//30207 27577//30208 27576//30159 +f 27458//30158 27459//30207 27576//30159 +f 27577//30208 27694//30209 27693//30160 +f 27576//30159 27577//30208 27693//30160 +f 27694//30209 27809//30210 27808//30161 +f 27693//30160 27694//30209 27808//30161 +f 27809//30210 27925//30211 27924//30162 +f 27808//30161 27809//30210 27924//30162 +f 27925//30211 28042//30212 28041//30163 +f 27924//30162 27925//30211 28041//30163 +f 28042//30212 28159//30213 28158//30164 +f 28041//30163 28042//30212 28158//30164 +f 28159//30213 28276//30214 28275//30165 +f 28158//30164 28159//30213 28275//30165 +f 28276//30214 28396//30215 28395//30166 +f 28275//30165 28276//30214 28395//30166 +f 28396//30215 28518//30216 28517//30167 +f 28395//30166 28396//30215 28517//30167 +f 28518//30216 28647//30217 28646//30168 +f 28517//30167 28518//30216 28646//30168 +f 28779//30218 28778//30169 28646//30168 +f 28647//30217 28779//30218 28646//30168 +f 28779//30218 28912//30219 28911//30170 +f 28778//30169 28779//30218 28911//30170 +f 28912//30219 29047//30220 29046//30171 +f 28911//30170 28912//30219 29046//30171 +f 29047//30220 29184//30221 29183//30172 +f 29046//30171 29047//30220 29183//30172 +f 29184//30221 29321//30222 29320//30173 +f 29183//30172 29184//30221 29320//30173 +f 29321//30222 29458//30223 29457//30174 +f 29320//30173 29321//30222 29457//30174 +f 29458//30223 29596//30224 29595//30175 +f 29457//30174 29458//30223 29595//30175 +f 29596//30224 29729//30225 29728//30176 +f 29595//30175 29596//30224 29728//30176 +f 29858//30226 29857//30177 29728//30176 +f 29729//30225 29858//30226 29728//30176 +f 29989//30227 29988//30178 29857//30177 +f 29858//30226 29989//30227 29857//30177 +f 30121//30228 30120//30179 29988//30178 +f 29989//30227 30121//30228 29988//30178 +f 30121//30228 30254//30229 30253//30180 +f 30120//30179 30121//30228 30253//30180 +f 30254//30229 30387//30230 30386//30181 +f 30253//30180 30254//30229 30386//30181 +f 30521//30231 30520//30182 30386//30181 +f 30387//30230 30521//30231 30386//30181 +f 30655//30232 30654//30183 30520//30182 +f 30521//30231 30655//30232 30520//30182 +f 30655//30232 30789//30233 30788//30184 +f 30654//30183 30655//30232 30788//30184 +f 17379//30234 13870//30185 30788//30184 +f 30789//30233 17379//30234 30788//30184 +f 3085//27636 3084//22777 13870//30185 +f 17379//30234 3085//27636 13870//30185 +f 3085//27636 25050//16807 3084//22777 +f 19305//27415 30087//18052 24122//18053 +f 19460//22040 5610//22039 19458//29170 +f 29492//4254 24349//14547 24432//4252 +f 27163//28812 28472//28543 28471//29349 +f 7413//14843 6968//29178 5340//29173 +f 27163//28812 27162//29307 26354//29254 +f 26355//28813 27163//28812 26354//29254 +f 26355//28813 26354//29254 19376//29221 +f 6408//29002 26355//28813 19376//29221 +f 7085//14845 6408//29002 19376//29221 +f 6836//29175 7085//14845 19376//29221 +f 5610//22039 7413//14843 5340//29173 +f 7413//14843 7085//14845 6836//29175 +f 34808//16544 34807//7365 34679//7928 +f 6968//29178 7413//14843 6836//29175 +f 29432//4833 24349//14547 29490//27904 +f 22003//27539 17382//28280 23976//25210 +f 31365//21971 31432//22113 31364//25148 +f 26673//5618 26674//24808 24221//23139 +f 29271//26601 29272//11029 6283//28144 +f 19453//29053 19452//22931 2404//21855 +f 29965//27606 25282//22707 25424//24989 +f 19577//2126 30822//5191 19904//28139 +f 21562//30235 19146//30192 19140//23678 +f 12538//23679 21562//30235 19140//23678 +f 26849//30236 26903//30193 19146//30192 +f 21562//30235 26849//30236 19146//30192 +f 26471//17355 26796//27459 26903//30193 +f 26849//30236 26471//17355 26903//30193 +f 26692//29008 26587//29009 26588//29470 +f 25792//26776 25341//17357 25489//24350 +f 25499//5770 28426//5772 24189//27546 +f 29358//27957 24570//27561 21720//26836 +f 28211//29956 28210//29224 28093//29260 +f 28094//29955 28211//29956 28093//29260 +f 27392//29781 27393//10760 27511//29822 +f 27862//29650 27978//28927 27861//29954 +f 3845//25751 29491//23404 12665//25629 +f 27282//12195 19271//28983 30743//26349 +f 35723//1762 29558//1761 35848//16143 +f 17267//30142 26737//29823 29286//16260 +f 35788//3725 29494//21993 35388//4417 +f 30289//28295 30292//29263 19564//28294 +f 6878//22961 28809//30237 29826//30238 +f 28809//30237 6878//22961 30756//30143 +f 7068//30144 18916//30145 19361//28220 +f 17283//28200 7068//30144 19361//28220 +f 30748//28600 19349//30194 26734//30239 +f 30748//28600 28735//28365 19349//30194 +f 22301//25607 22398//22773 30070//22775 +f 19232//28449 21557//28619 30558//29131 +f 20571//12575 21574//17280 14948//23228 +f 17580//21872 26832//29870 17485//21866 +f 2537//30196 26908//30240 19673//28714 +f 28589//28676 2537//30196 19673//28714 +f 26334//16040 26373//30241 26372//30197 +f 26333//15980 26334//16040 26372//30197 +f 26373//30241 26441//30242 26440//30198 +f 26372//30197 26373//30241 26440//30198 +f 26441//30242 26537//30243 26536//30199 +f 26440//30198 26441//30242 26536//30199 +f 26642//30244 26641//30200 26536//30199 +f 26537//30243 26642//30244 26536//30199 +f 26642//30244 26754//30245 26753//30201 +f 26641//30200 26642//30244 26753//30201 +f 26754//30245 26869//30246 26868//30202 +f 26753//30201 26754//30245 26868//30202 +f 26869//30246 26987//30247 26986//30203 +f 26868//30202 26869//30246 26986//30203 +f 26987//30247 27104//30248 27103//30204 +f 26986//30203 26987//30247 27103//30204 +f 27104//30248 27223//30249 27222//30205 +f 27103//30204 27104//30248 27222//30205 +f 27223//30249 27341//30250 27340//30206 +f 27222//30205 27223//30249 27340//30206 +f 27341//30250 27460//30251 27459//30207 +f 27340//30206 27341//30250 27459//30207 +f 27460//30251 27578//30252 27577//30208 +f 27459//30207 27460//30251 27577//30208 +f 27578//30252 27695//30253 27694//30209 +f 27577//30208 27578//30252 27694//30209 +f 27695//30253 27810//30254 27809//30210 +f 27694//30209 27695//30253 27809//30210 +f 27810//30254 27926//30255 27925//30211 +f 27809//30210 27810//30254 27925//30211 +f 27926//30255 28043//30256 28042//30212 +f 27925//30211 27926//30255 28042//30212 +f 28043//30256 28160//30257 28159//30213 +f 28042//30212 28043//30256 28159//30213 +f 28160//30257 28277//30258 28276//30214 +f 28159//30213 28160//30257 28276//30214 +f 28277//30258 28397//30259 28396//30215 +f 28276//30214 28277//30258 28396//30215 +f 28397//30259 28519//30260 28518//30216 +f 28396//30215 28397//30259 28518//30216 +f 28519//30260 28648//30261 28647//30217 +f 28518//30216 28519//30260 28647//30217 +f 28780//30262 28779//30218 28647//30217 +f 28648//30261 28780//30262 28647//30217 +f 28913//30263 28912//30219 28779//30218 +f 28780//30262 28913//30263 28779//30218 +f 28913//30263 29048//30264 29047//30220 +f 28912//30219 28913//30263 29047//30220 +f 29048//30264 29185//30265 29184//30221 +f 29047//30220 29048//30264 29184//30221 +f 29185//30265 29322//30266 29321//30222 +f 29184//30221 29185//30265 29321//30222 +f 29322//30266 29459//30267 29458//30223 +f 29321//30222 29322//30266 29458//30223 +f 29459//30267 29597//30268 29596//30224 +f 29458//30223 29459//30267 29596//30224 +f 29597//30268 29730//30269 29729//30225 +f 29596//30224 29597//30268 29729//30225 +f 29859//30270 29858//30226 29729//30225 +f 29730//30269 29859//30270 29729//30225 +f 29990//30271 29989//30227 29858//30226 +f 29859//30270 29990//30271 29858//30226 +f 29990//30271 30122//30272 30121//30228 +f 29989//30227 29990//30271 30121//30228 +f 30122//30272 30255//30273 30254//30229 +f 30121//30228 30122//30272 30254//30229 +f 30388//30274 30387//30230 30254//30229 +f 30255//30273 30388//30274 30254//30229 +f 30522//30275 30521//30231 30387//30230 +f 30388//30274 30522//30275 30387//30230 +f 30656//30276 30655//30232 30521//30231 +f 30522//30275 30656//30276 30521//30231 +f 30656//30276 30790//30277 30789//30233 +f 30655//30232 30656//30276 30789//30233 +f 22233//30278 17379//30234 30789//30233 +f 30790//30277 22233//30278 30789//30233 +f 19917//3621 3085//27636 17379//30234 +f 22233//30278 19917//3621 17379//30234 +f 35562//608 22835//643 35521//645 +f 30226//24107 21543//24109 25942//25816 +f 27022//29136 29829//11737 19341//10971 +f 19679//29137 27022//29136 19341//10971 +f 29110//29564 29247//29609 29109//29126 +f 31892//25527 31891//11091 31785//11236 +f 35329//13977 13005//16002 33666//13978 +f 20173//25033 20088//25032 26692//29008 +f 32618//22816 32732//30049 32617//14589 +f 10004//14998 17448//19653 21628//14999 +f 32844//27560 32843//16356 32731//16355 +f 32952//27559 32951//16358 32843//16356 +f 35381//10394 19341//10971 2409//5275 +f 32732//30049 32844//27560 32731//16355 +f 28117//28354 25644//27177 28116//27505 +f 34757//13716 29811//1263 34756//1262 +f 30778//28844 30779//27388 25725//26888 +f 24222//24883 26059//24884 25035//22927 +f 31562//30189 25244//24697 25997//24696 +f 9535//12226 9536//12230 11366//12129 +f 24246//4920 21559//4919 12538//23679 +f 28564//22141 28693//29478 28692//2312 +f 25334//26638 25784//25158 25333//26935 +f 26910//28560 30604//28519 27607//28090 +f 21559//4919 21562//30235 12538//23679 +f 24623//11690 19808//14319 26718//21437 +f 21559//4919 10933//30279 26849//30236 +f 21562//30235 21559//4919 26849//30236 +f 29119//27855 26471//17355 26849//30236 +f 10933//30279 29119//27855 26849//30236 +f 26471//17355 29119//27855 24718//17356 +f 21771//8797 23440//16710 26599//24882 +f 24667//27554 24455//4616 30776//4618 +f 34427//30280 34564//22659 34426//30281 +f 28328//29911 28327//29225 28210//29224 +f 28211//29956 28328//29911 28210//29224 +f 27274//29731 27275//12640 27392//29781 +f 27630//20843 27629//29867 27511//29822 +f 29565//28113 26593//28731 19271//28983 +f 27282//12195 29565//28113 19271//28983 +f 35209//16753 35338//4881 35208//16754 +f 19027//29737 29286//16260 30806//16259 +f 26416//29562 27202//25460 27201//28512 +f 19563//29313 26568//29353 26505//28238 +f 29762//22962 29826//30238 30483//30282 +f 29762//22962 6878//22961 29826//30238 +f 2539//30146 19339//30283 21660//28246 +f 2540//28244 2539//30146 21660//28246 +f 29421//28562 30752//28564 26734//30239 +f 30752//28564 30748//28600 26734//30239 +f 27048//28385 20895//28647 29293//4617 +f 24533//23625 24301//23044 22098//23043 +f 29492//4254 22099//26653 29490//27904 +f 19341//10971 35404//8627 19679//29137 +f 26908//30240 21373//30284 30670//28761 +f 19673//28714 26908//30240 30670//28761 +f 26335//16039 26374//30285 26373//30241 +f 26334//16040 26335//16039 26373//30241 +f 26374//30285 26442//30286 26441//30242 +f 26373//30241 26374//30285 26441//30242 +f 26442//30286 26538//30287 26537//30243 +f 26441//30242 26442//30286 26537//30243 +f 26643//30288 26642//30244 26537//30243 +f 26538//30287 26643//30288 26537//30243 +f 26755//30289 26754//30245 26642//30244 +f 26643//30288 26755//30289 26642//30244 +f 26755//30289 26870//30290 26869//30246 +f 26754//30245 26755//30289 26869//30246 +f 26988//30291 26987//30247 26869//30246 +f 26870//30290 26988//30291 26869//30246 +f 26988//30291 27105//30292 27104//30248 +f 26987//30247 26988//30291 27104//30248 +f 27105//30292 27224//30293 27223//30249 +f 27104//30248 27105//30292 27223//30249 +f 27224//30293 27342//30294 27341//30250 +f 27223//30249 27224//30293 27341//30250 +f 27342//30294 27461//30295 27460//30251 +f 27341//30250 27342//30294 27460//30251 +f 27579//30296 27578//30252 27460//30251 +f 27461//30295 27579//30296 27460//30251 +f 27579//30296 27696//30297 27695//30253 +f 27578//30252 27579//30296 27695//30253 +f 27696//30297 27811//30298 27810//30254 +f 27695//30253 27696//30297 27810//30254 +f 27811//30298 27927//30299 27926//30255 +f 27810//30254 27811//30298 27926//30255 +f 27927//30299 28044//30300 28043//30256 +f 27926//30255 27927//30299 28043//30256 +f 28044//30300 28161//30301 28160//30257 +f 28043//30256 28044//30300 28160//30257 +f 28161//30301 28278//30302 28277//30258 +f 28160//30257 28161//30301 28277//30258 +f 28278//30302 28398//30303 28397//30259 +f 28277//30258 28278//30302 28397//30259 +f 28398//30303 28520//30304 28519//30260 +f 28397//30259 28398//30303 28519//30260 +f 28520//30304 28649//30305 28648//30261 +f 28519//30260 28520//30304 28648//30261 +f 28781//30306 28780//30262 28648//30261 +f 28649//30305 28781//30306 28648//30261 +f 28914//30307 28913//30263 28780//30262 +f 28781//30306 28914//30307 28780//30262 +f 28914//30307 29049//30308 29048//30264 +f 28913//30263 28914//30307 29048//30264 +f 29049//30308 29186//30309 29185//30265 +f 29048//30264 29049//30308 29185//30265 +f 29186//30309 29323//30310 29322//30266 +f 29185//30265 29186//30309 29322//30266 +f 29323//30310 29460//30311 29459//30267 +f 29322//30266 29323//30310 29459//30267 +f 29460//30311 29598//30312 29597//30268 +f 29459//30267 29460//30311 29597//30268 +f 29598//30312 29731//30313 29730//30269 +f 29597//30268 29598//30312 29730//30269 +f 29731//30313 29860//30314 29859//30270 +f 29730//30269 29731//30313 29859//30270 +f 29991//30315 29990//30271 29859//30270 +f 29860//30314 29991//30315 29859//30270 +f 29991//30315 30123//30316 30122//30272 +f 29990//30271 29991//30315 30122//30272 +f 30123//30316 30256//30317 30255//30273 +f 30122//30272 30123//30316 30255//30273 +f 30389//30318 30388//30274 30255//30273 +f 30256//30317 30389//30318 30255//30273 +f 30523//30319 30522//30275 30388//30274 +f 30389//30318 30523//30319 30388//30274 +f 30657//30320 30656//30276 30522//30275 +f 30523//30319 30657//30320 30522//30275 +f 30791//30321 30790//30277 30656//30276 +f 30657//30320 30791//30321 30656//30276 +f 4635//25262 22233//30278 30790//30277 +f 30791//30321 4635//25262 30790//30277 +f 19916//3622 19917//3621 22233//30278 +f 4635//25262 19916//3622 22233//30278 +f 29510//29474 29648//29475 29509//29024 +f 32852//30322 32960//30323 32851//30324 +f 29648//29475 29781//29394 29647//29022 +f 29781//29394 29780//29021 29647//29022 +f 29780//29021 29781//29394 29909//29018 +f 29781//29394 29910//29395 29909//29018 +f 30439//29229 30573//29184 30572//28688 +f 29910//29395 30041//29311 30040//29012 +f 30306//29228 30439//29229 30438//28692 +f 30305//29015 30306//29228 30438//28692 +f 30173//29261 30306//29228 30305//29015 +f 30172//29013 30173//29261 30305//29015 +f 29909//29018 29910//29395 30040//29012 +f 30041//29311 30173//29261 30172//29013 +f 35787//14065 28479//15131 35520//7170 +f 30040//29012 30041//29311 30172//29013 +f 29536//28279 29535//4253 28100//22110 +f 28108//23766 29536//28279 28100//22110 +f 25093//27602 6535//27601 19414//30325 +f 19414//30325 20093//28513 25093//27602 +f 27267//5192 28334//29511 29423//24960 +f 29630//6194 17306//14678 28102//6195 +f 28732//28732 27050//28644 28733//1983 +f 28567//29082 28696//29084 28566//29344 +f 25386//24719 30813//27579 25527//16036 +f 25041//21485 29832//21484 29703//26115 +f 27723//27133 10933//30279 21559//4919 +f 19236//4918 27723//27133 21559//4919 +f 26495//15861 29119//27855 10933//30279 +f 27723//27133 26495//15861 10933//30279 +f 13470//26451 11776//26369 23056//26366 +f 26495//15861 29833//26997 26059//24884 +f 23818//1545 20021//1544 26715//29481 +f 34138//14249 34276//10728 34137//15729 +f 28570//29783 28699//29782 28569//29085 +f 28831//29732 28830//29087 28698//29086 +f 27155//29688 27156//12881 27274//29731 +f 27393//10760 27512//10828 27511//29822 +f 19018//25108 22101//25106 26829//25107 +f 32730//16357 32729//16934 32615//27581 +f 22098//23043 29432//4833 29490//27904 +f 30806//16259 6653//11598 35848//16143 +f 26900//28496 26416//29562 26414//28497 +f 26414//28497 26416//29562 27201//28512 +f 28106//28957 30617//28950 30483//30282 +f 30617//28950 29762//22962 30483//30282 +f 11497//30326 14248//28275 21660//28246 +f 19339//30283 11497//30326 21660//28246 +f 29421//28562 29285//30327 18283//30328 +f 29285//30327 29421//28562 26734//30239 +f 30050//28476 30182//26556 30049//28477 +f 20895//28647 29260//24172 30776//4618 +f 9750//2203 35882//3023 35811//2201 +f 25052//3620 19916//3622 25053//25498 +f 21373//30284 6846//28274 17303//28762 +f 30670//28761 21373//30284 17303//28762 +f 26375//30329 26374//30285 26335//16039 +f 26336//16136 26375//30329 26335//16039 +f 26375//30329 26443//30330 26442//30286 +f 26374//30285 26375//30329 26442//30286 +f 26443//30330 26539//30331 26538//30287 +f 26442//30286 26443//30330 26538//30287 +f 26644//30332 26643//30288 26538//30287 +f 26539//30331 26644//30332 26538//30287 +f 26756//30333 26755//30289 26643//30288 +f 26644//30332 26756//30333 26643//30288 +f 26756//30333 26871//30334 26870//30290 +f 26755//30289 26756//30333 26870//30290 +f 26871//30334 26989//30335 26988//30291 +f 26870//30290 26871//30334 26988//30291 +f 26989//30335 27106//30336 27105//30292 +f 26988//30291 26989//30335 27105//30292 +f 27106//30336 27225//30337 27224//30293 +f 27105//30292 27106//30336 27224//30293 +f 27225//30337 27343//30338 27342//30294 +f 27224//30293 27225//30337 27342//30294 +f 27343//30338 27462//30339 27461//30295 +f 27342//30294 27343//30338 27461//30295 +f 27580//30340 27579//30296 27461//30295 +f 27462//30339 27580//30340 27461//30295 +f 27580//30340 27697//30341 27696//30297 +f 27579//30296 27580//30340 27696//30297 +f 27812//30342 27811//30298 27696//30297 +f 27697//30341 27812//30342 27696//30297 +f 27928//30343 27927//30299 27811//30298 +f 27812//30342 27928//30343 27811//30298 +f 27928//30343 28045//30344 28044//30300 +f 27927//30299 27928//30343 28044//30300 +f 28045//30344 28162//30345 28161//30301 +f 28044//30300 28045//30344 28161//30301 +f 28162//30345 28279//30346 28278//30302 +f 28161//30301 28162//30345 28278//30302 +f 28279//30346 28399//30347 28398//30303 +f 28278//30302 28279//30346 28398//30303 +f 28399//30347 28521//30348 28520//30304 +f 28398//30303 28399//30347 28520//30304 +f 28521//30348 28650//30349 28649//30305 +f 28520//30304 28521//30348 28649//30305 +f 28782//30350 28781//30306 28649//30305 +f 28650//30349 28782//30350 28649//30305 +f 28915//30351 28914//30307 28781//30306 +f 28782//30350 28915//30351 28781//30306 +f 28915//30351 29050//30352 29049//30308 +f 28914//30307 28915//30351 29049//30308 +f 29050//30352 29187//30353 29186//30309 +f 29049//30308 29050//30352 29186//30309 +f 29187//30353 29324//30354 29323//30310 +f 29186//30309 29187//30353 29323//30310 +f 29324//30354 29461//30355 29460//30311 +f 29323//30310 29324//30354 29460//30311 +f 29461//30355 29599//30356 29598//30312 +f 29460//30311 29461//30355 29598//30312 +f 29599//30356 29732//30357 29731//30313 +f 29598//30312 29599//30356 29731//30313 +f 29861//30358 29860//30314 29731//30313 +f 29732//30357 29861//30358 29731//30313 +f 29861//30358 29992//30359 29991//30315 +f 29860//30314 29861//30358 29991//30315 +f 29992//30359 30124//30360 30123//30316 +f 29991//30315 29992//30359 30123//30316 +f 30124//30360 30257//30361 30256//30317 +f 30123//30316 30124//30360 30256//30317 +f 30257//30361 30390//30362 30389//30318 +f 30256//30317 30257//30361 30389//30318 +f 30524//30363 30523//30319 30389//30318 +f 30390//30362 30524//30363 30389//30318 +f 30658//30364 30657//30320 30523//30319 +f 30524//30363 30658//30364 30523//30319 +f 30792//27741 30791//30321 30657//30320 +f 30658//30364 30792//27741 30657//30320 +f 17378//27740 4635//25262 30791//30321 +f 30792//27741 17378//27740 30791//30321 +f 19937//14697 30621//22554 25259//14695 +f 17965//4690 23490//4689 34728//22041 +f 27373//22551 28683//15959 27315//21111 +f 30556//4911 19133//4910 23902//27578 +f 30822//5191 27082//5193 26965//28121 +f 29272//11029 19577//2126 6283//28144 +f 24230//6061 17577//22087 23619//25600 +f 29965//27606 25281//22543 25282//22707 +f 684//20807 18262//29182 27551//29135 +f 19690//21844 684//20807 27551//29135 +f 684//20807 30608//20806 18262//29182 +f 30608//20806 27049//29226 18262//29182 +f 27049//29226 30608//20806 27519//29258 +f 30608//20806 26519//20833 27519//29258 +f 27519//29258 26519//20833 27258//23041 +f 27196//23040 27079//17541 27198//16164 +f 11755//4202 26963//29193 26847//4200 +f 25322//24815 26469//25066 26401//22407 +f 29569//14833 29536//28279 28108//23766 +f 28125//14834 29569//14833 28108//23766 +f 566//30365 17382//28280 29536//28279 +f 29569//14833 566//30365 29536//28279 +f 26496//17228 23599//25448 23495//17229 +f 566//30365 7082//6054 17382//28280 +f 28445//29080 28567//29082 28444//29343 +f 28696//29084 28695//29386 28566//29344 +f 21543//24109 30093//24108 29961//17548 +f 28072//21980 28751//15491 28752//22205 +f 32044//5580 32043//5582 31946//21131 +f 25536//21078 30766//29209 25019//21079 +f 32405//30366 32510//27856 32404//17948 +f 31709//30367 31708//30368 31613//30369 +f 25035//22927 29833//26997 24129//27194 +f 26495//15861 19903//15860 29833//26997 +f 26588//29470 26587//29009 26492//29401 +f 21815//26721 12008//10790 21720//26836 +f 28699//29782 28831//29732 28698//29086 +f 17382//28280 7082//6054 23976//25210 +f 27156//12881 27275//12640 27274//29731 +f 27275//12640 27393//10760 27392//29781 +f 26696//25335 26808//29648 26807//11726 +f 26695//5903 26696//25335 26807//11726 +f 32507//7547 32616//14590 32506//17419 +f 32616//14590 32615//27581 32506//17419 +f 7302//28494 17478//28318 26900//28496 +f 7079//28752 7080//28493 6982//28750 +f 28881//28958 28106//28957 19574//30370 +f 28464//30371 28106//28957 30483//30282 +f 11497//30326 6973//30372 6972//28298 +f 14248//28275 11497//30326 6972//28298 +f 19747//28563 18283//30328 27023//30373 +f 19747//28563 29421//28562 18283//30328 +f 24674//25261 17378//27740 25482//23385 +f 30315//22782 30314//28425 30181//28894 +f 29429//20119 179//28498 30219//3263 +f 31439//21302 31438//21211 31371//17440 +f 30024//17827 30421//17826 17303//28762 +f 6846//28274 30024//17827 17303//28762 +f 26337//16141 26376//30374 26375//30329 +f 26336//16136 26337//16141 26375//30329 +f 26376//30374 26444//30375 26443//30330 +f 26375//30329 26376//30374 26443//30330 +f 26444//30375 26540//30376 26539//30331 +f 26443//30330 26444//30375 26539//30331 +f 26540//30376 26645//30377 26644//30332 +f 26539//30331 26540//30376 26644//30332 +f 26757//30378 26756//30333 26644//30332 +f 26645//30377 26757//30378 26644//30332 +f 26757//30378 26872//30379 26871//30334 +f 26756//30333 26757//30378 26871//30334 +f 26872//30379 26990//30380 26989//30335 +f 26871//30334 26872//30379 26989//30335 +f 26990//30380 27107//30381 27106//30336 +f 26989//30335 26990//30380 27106//30336 +f 27107//30381 27226//30382 27225//30337 +f 27106//30336 27107//30381 27225//30337 +f 27226//30382 27344//30383 27343//30338 +f 27225//30337 27226//30382 27343//30338 +f 27344//30383 27463//30384 27462//30339 +f 27343//30338 27344//30383 27462//30339 +f 27463//30384 27581//30385 27580//30340 +f 27462//30339 27463//30384 27580//30340 +f 27581//30385 27698//30386 27697//30341 +f 27580//30340 27581//30385 27697//30341 +f 27698//30386 27813//30387 27812//30342 +f 27697//30341 27698//30386 27812//30342 +f 27813//30387 27929//30388 27928//30343 +f 27812//30342 27813//30387 27928//30343 +f 27929//30388 28046//30389 28045//30344 +f 27928//30343 27929//30388 28045//30344 +f 28046//30389 28163//30390 28162//30345 +f 28045//30344 28046//30389 28162//30345 +f 28163//30390 28280//30391 28279//30346 +f 28162//30345 28163//30390 28279//30346 +f 28280//30391 28400//30392 28399//30347 +f 28279//30346 28280//30391 28399//30347 +f 28522//30393 28521//30348 28399//30347 +f 28400//30392 28522//30393 28399//30347 +f 28651//30394 28650//30349 28521//30348 +f 28522//30393 28651//30394 28521//30348 +f 28783//30395 28782//30350 28650//30349 +f 28651//30394 28783//30395 28650//30349 +f 28916//30396 28915//30351 28782//30350 +f 28783//30395 28916//30396 28782//30350 +f 28916//30396 29051//30397 29050//30352 +f 28915//30351 28916//30396 29050//30352 +f 29051//30397 29188//30398 29187//30353 +f 29050//30352 29051//30397 29187//30353 +f 29188//30398 29325//30399 29324//30354 +f 29187//30353 29188//30398 29324//30354 +f 29325//30399 29462//30400 29461//30355 +f 29324//30354 29325//30399 29461//30355 +f 29462//30400 29600//30401 29599//30356 +f 29461//30355 29462//30400 29599//30356 +f 29600//30401 29733//30402 29732//30357 +f 29599//30356 29600//30401 29732//30357 +f 29733//30402 29862//30403 29861//30358 +f 29732//30357 29733//30402 29861//30358 +f 29862//30403 29993//30404 29992//30359 +f 29861//30358 29862//30403 29992//30359 +f 29993//30404 30125//30405 30124//30360 +f 29992//30359 29993//30404 30124//30360 +f 30125//30405 30258//30406 30257//30361 +f 30124//30360 30125//30405 30257//30361 +f 30258//30406 30391//30407 30390//30362 +f 30257//30361 30258//30406 30390//30362 +f 30525//30408 30524//30363 30390//30362 +f 30391//30407 30525//30408 30390//30362 +f 30659//30409 30658//30364 30524//30363 +f 30525//30408 30659//30409 30524//30363 +f 30793//22706 30792//27741 30658//30364 +f 30659//30409 30793//22706 30658//30364 +f 22764//21442 22863//22796 30020//6458 +f 25019//21079 12359//26634 23829//21077 +f 17273//16734 33472//27585 17338//16763 +f 26479//30093 28425//26775 23599//25448 +f 28097//29185 28096//28925 27979//28943 +f 27980//29230 28097//29185 27979//28943 +f 27632//29354 27749//26988 27631//20842 +f 27864//29264 27863//29735 27748//20894 +f 27980//29230 27979//28943 27863//29735 +f 27749//26988 27864//29264 27748//20894 +f 28214//29141 28213//28928 28096//28925 +f 27864//29264 27980//29230 27863//29735 +f 28451//29039 28573//29138 28450//29646 +f 28097//29185 28214//29141 28096//28925 +f 28331//29092 28451//29039 28330//28929 +f 28573//29138 28572//28686 28450//29646 +f 28214//29141 28331//29092 28213//28928 +f 28451//29039 28450//29646 28330//28929 +f 32320//28685 32321//28684 32423//29685 +f 28331//29092 28330//28929 28213//28928 +f 32423//29685 32424//24615 32528//4144 +f 22690//25274 22689//25218 22591//25273 +f 3059//26607 566//30365 29569//14833 +f 16752//1315 16751//1308 25468//17122 +f 6903//6052 7082//6054 566//30365 +f 3059//26607 6903//6052 566//30365 +f 28485//28514 25980//27618 26122//27620 +f 29156//21637 24456//21636 28340//14922 +f 28015//28480 28072//21980 28752//22205 +f 22485//27829 23780//23765 24745//21460 +f 29159//29436 27290//29305 28942//29252 +f 28345//30410 29159//29436 28942//29252 +f 13174//23301 28134//28133 28016//4452 +f 23903//21116 26488//14496 30556//4911 +f 17483//27564 28134//28133 13174//23301 +f 22272//16429 25034//16423 21967//16425 +f 11944//27322 12904//2569 25096//23747 +f 22786//25069 30464//29400 22687//25132 +f 27039//659 27156//12881 27155//29688 +f 24637//14769 24586//28030 24482//25609 +f 27041//29561 27158//29517 27157//12861 +f 27038//29645 27039//659 27155//29688 +f 17273//16734 17338//16763 17337//22760 +f 26808//29648 26923//29607 26922//657 +f 29558//1761 30692//23498 35848//16143 +f 30228//25817 20019//27389 26081//27390 +f 28881//28958 19574//30370 29279//27511 +f 17478//28318 26932//28339 26900//28496 +f 11454//30411 26945//30412 26943//28340 +f 29258//23009 28881//28958 29279//27511 +f 6973//30372 11454//30411 17479//28317 +f 6972//28298 6973//30372 17479//28317 +f 6902//28390 29810//28602 30205//30413 +f 29810//28602 19747//28563 27023//30373 +f 21942//28245 19449//12367 19448//12366 +f 27777//17124 12256//15910 12341//15909 +f 1858//29651 6869//28530 29429//20119 +f 179//28498 30086//3264 30219//3263 +f 24538//25597 19236//4918 24246//4920 +f 30792//27741 30793//22706 25074//23386 +f 26338//16325 26377//30414 26376//30374 +f 26337//16141 26338//16325 26376//30374 +f 26377//30414 26445//30415 26444//30375 +f 26376//30374 26377//30414 26444//30375 +f 26445//30415 26541//30416 26540//30376 +f 26444//30375 26445//30415 26540//30376 +f 26541//30416 26646//30417 26645//30377 +f 26540//30376 26541//30416 26645//30377 +f 26758//30418 26757//30378 26645//30377 +f 26646//30417 26758//30418 26645//30377 +f 26758//30418 26873//30419 26872//30379 +f 26757//30378 26758//30418 26872//30379 +f 26873//30419 26991//30420 26990//30380 +f 26872//30379 26873//30419 26990//30380 +f 26991//30420 27108//30421 27107//30381 +f 26990//30380 26991//30420 27107//30381 +f 27108//30421 27227//30422 27226//30382 +f 27107//30381 27108//30421 27226//30382 +f 27227//30422 27345//30423 27344//30383 +f 27226//30382 27227//30422 27344//30383 +f 27345//30423 27464//30424 27463//30384 +f 27344//30383 27345//30423 27463//30384 +f 27464//30424 27582//30425 27581//30385 +f 27463//30384 27464//30424 27581//30385 +f 27582//30425 27699//30426 27698//30386 +f 27581//30385 27582//30425 27698//30386 +f 27699//30426 27814//30427 27813//30387 +f 27698//30386 27699//30426 27813//30387 +f 27814//30427 27930//30428 27929//30388 +f 27813//30387 27814//30427 27929//30388 +f 27930//30428 28047//30429 28046//30389 +f 27929//30388 27930//30428 28046//30389 +f 28047//30429 28164//30430 28163//30390 +f 28046//30389 28047//30429 28163//30390 +f 28164//30430 28281//30431 28280//30391 +f 28163//30390 28164//30430 28280//30391 +f 28281//30431 28401//30432 28400//30392 +f 28280//30391 28281//30431 28400//30392 +f 28401//30432 28523//30433 28522//30393 +f 28400//30392 28401//30432 28522//30393 +f 28523//30433 28652//30434 28651//30394 +f 28522//30393 28523//30433 28651//30394 +f 28652//30434 28784//30435 28783//30395 +f 28651//30394 28652//30434 28783//30395 +f 28917//30436 28916//30396 28783//30395 +f 28784//30435 28917//30436 28783//30395 +f 28917//30436 29052//30437 29051//30397 +f 28916//30396 28917//30436 29051//30397 +f 29052//30437 29189//30438 29188//30398 +f 29051//30397 29052//30437 29188//30398 +f 29189//30438 29326//30439 29325//30399 +f 29188//30398 29189//30438 29325//30399 +f 29326//30439 29463//30440 29462//30400 +f 29325//30399 29326//30439 29462//30400 +f 29463//30440 29601//30441 29600//30401 +f 29462//30400 29463//30440 29600//30401 +f 29601//30441 29734//30442 29733//30402 +f 29600//30401 29601//30441 29733//30402 +f 29734//30442 29863//30443 29862//30403 +f 29733//30402 29734//30442 29862//30403 +f 29863//30443 29994//30444 29993//30404 +f 29862//30403 29863//30443 29993//30404 +f 29994//30444 30126//30445 30125//30405 +f 29993//30404 29994//30444 30125//30405 +f 30126//30445 30259//30446 30258//30406 +f 30125//30405 30126//30445 30258//30406 +f 30259//30446 30392//30447 30391//30407 +f 30258//30406 30259//30446 30391//30407 +f 30526//30448 30525//30408 30391//30407 +f 30392//30447 30526//30448 30391//30407 +f 30660//30449 30659//30409 30525//30408 +f 30526//30448 30660//30449 30525//30408 +f 30794//22704 30793//22706 30659//30409 +f 30660//30449 30794//22704 30659//30409 +f 24349//14547 19989//24988 24649//24187 +f 25075//22705 25074//23386 30793//22706 +f 29797//30450 29926//30451 29796//28456 +f 32397//5482 32502//23007 32396//4751 +f 29389//29197 29388//29146 29251//29198 +f 28980//30452 29115//30453 28979//30050 +f 29252//29196 29251//29198 29114//30454 +f 28847//28426 28980//30452 28846//28427 +f 29115//30453 29114//30454 28979//30050 +f 28980//30452 28979//30050 28846//28427 +f 29926//30451 30057//29199 29925//28907 +f 29115//30453 29252//29196 29114//30454 +f 29526//29157 29525//29147 29388//29146 +f 29389//29197 29526//29157 29388//29146 +f 29664//29158 29663//28455 29525//29147 +f 29797//30450 29796//28456 29663//28455 +f 29664//29158 29797//30450 29663//28455 +f 30057//29199 30056//28408 29925//28907 +f 28441//29559 28563//22142 28562//22936 +f 29926//30451 29925//28907 29796//28456 +f 23819//25992 24347//27096 24518//18622 +f 19663//27621 26122//27620 26263//27588 +f 25469//27289 16751//1308 16595//2248 +f 25468//17122 16751//1308 25469//27289 +f 11100//22629 6903//6052 3059//26607 +f 2958//27097 11100//22629 3059//26607 +f 20303//18626 20216//17642 17701//22226 +f 18231//28567 14970//22061 24139//22630 +f 29775//28921 29904//28213 29903//4922 +f 33120//30455 33119//30456 33013//30457 +f 28345//30410 28942//29252 28245//5276 +f 29829//11737 28345//30410 28245//5276 +f 30437//28691 30571//28693 30570//29064 +f 30436//29165 30437//28691 30570//29064 +f 29765//29391 30025//29309 453//28005 +f 30203//28330 30200//28171 28457//22744 +f 28865//16277 28869//22547 29425//22549 +f 28869//22547 27402//17148 27289//22548 +f 26921//11727 27039//659 27038//29645 +f 30166//22657 30299//21767 30298//21449 +f 26807//11726 26808//29648 26922//657 +f 27040//658 27041//29561 27157//12861 +f 29791//10622 29790//28473 29657//28373 +f 2958//27097 3059//26607 24518//18622 +f 26932//28339 26417//28341 26416//29562 +f 30072//3309 27286//2267 29279//27511 +f 23060//23019 23159//23755 23158//23754 +f 28106//28957 28464//30371 19574//30370 +f 17479//28317 11454//30411 26943//28340 +f 26945//30412 26428//30458 26418//28344 +f 21850//28395 28728//28391 19706//30459 +f 6902//28390 30205//30413 28861//30460 +f 29810//28602 27023//30373 30205//30413 +f 28728//28391 6902//28390 28861//30460 +f 28457//22744 28456//28460 27136//22067 +f 19737//28094 21942//28245 19631//1825 +f 19134//29610 27840//28532 1858//29651 +f 6869//28530 179//28498 29429//20119 +f 28810//1820 21295//14515 28943//1821 +f 28320//22139 28321//28447 28440//30461 +f 26339//17165 26378//30462 26377//30414 +f 26338//16325 26339//17165 26377//30414 +f 26378//30462 26446//30463 26445//30415 +f 26377//30414 26378//30462 26445//30415 +f 26446//30463 26542//30464 26541//30416 +f 26445//30415 26446//30463 26541//30416 +f 26542//30464 26647//30465 26646//30417 +f 26541//30416 26542//30464 26646//30417 +f 26759//30466 26758//30418 26646//30417 +f 26647//30465 26759//30466 26646//30417 +f 26759//30466 26874//30467 26873//30419 +f 26758//30418 26759//30466 26873//30419 +f 26874//30467 26992//30468 26991//30420 +f 26873//30419 26874//30467 26991//30420 +f 26992//30468 27109//30469 27108//30421 +f 26991//30420 26992//30468 27108//30421 +f 27109//30469 27228//30470 27227//30422 +f 27108//30421 27109//30469 27227//30422 +f 27228//30470 27346//30471 27345//30423 +f 27227//30422 27228//30470 27345//30423 +f 27346//30471 27465//30472 27464//30424 +f 27345//30423 27346//30471 27464//30424 +f 27465//30472 27583//30473 27582//30425 +f 27464//30424 27465//30472 27582//30425 +f 27583//30473 27700//30474 27699//30426 +f 27582//30425 27583//30473 27699//30426 +f 27700//30474 27815//30475 27814//30427 +f 27699//30426 27700//30474 27814//30427 +f 27815//30475 27931//30476 27930//30428 +f 27814//30427 27815//30475 27930//30428 +f 27931//30476 28048//30477 28047//30429 +f 27930//30428 27931//30476 28047//30429 +f 28048//30477 28165//30478 28164//30430 +f 28047//30429 28048//30477 28164//30430 +f 28165//30478 28282//30479 28281//30431 +f 28164//30430 28165//30478 28281//30431 +f 28282//30479 28402//30480 28401//30432 +f 28281//30431 28282//30479 28401//30432 +f 28524//30481 28523//30433 28401//30432 +f 28402//30480 28524//30481 28401//30432 +f 28653//30482 28652//30434 28523//30433 +f 28524//30481 28653//30482 28523//30433 +f 28653//30482 28785//30483 28784//30435 +f 28652//30434 28653//30482 28784//30435 +f 28785//30483 28918//30484 28917//30436 +f 28784//30435 28785//30483 28917//30436 +f 28918//30484 29053//30485 29052//30437 +f 28917//30436 28918//30484 29052//30437 +f 29053//30485 29190//30486 29189//30438 +f 29052//30437 29053//30485 29189//30438 +f 29190//30486 29327//30487 29326//30439 +f 29189//30438 29190//30486 29326//30439 +f 29327//30487 29464//30488 29463//30440 +f 29326//30439 29327//30487 29463//30440 +f 29464//30488 29602//30489 29601//30441 +f 29463//30440 29464//30488 29601//30441 +f 29602//30489 29735//30490 29734//30442 +f 29601//30441 29602//30489 29734//30442 +f 29735//30490 29864//30491 29863//30443 +f 29734//30442 29735//30490 29863//30443 +f 29864//30491 29995//30492 29994//30444 +f 29863//30443 29864//30491 29994//30444 +f 29995//30492 30127//30493 30126//30445 +f 29994//30444 29995//30492 30126//30445 +f 30127//30493 30260//30494 30259//30446 +f 30126//30445 30127//30493 30259//30446 +f 30260//30494 30393//30495 30392//30447 +f 30259//30446 30260//30494 30392//30447 +f 30527//30496 30526//30448 30392//30447 +f 30393//30495 30527//30496 30392//30447 +f 30661//30497 30660//30449 30526//30448 +f 30527//30496 30661//30497 30526//30448 +f 30795//30498 30794//22704 30660//30449 +f 30661//30497 30795//30498 30660//30449 +f 24339//27393 24256//23999 24340//22960 +f 30795//30498 2820//14055 30794//22704 +f 30418//12520 23158//23754 30552//12521 +f 15494//20205 14527//20244 15544//20278 +f 27738//22311 27853//24886 27852//22018 +f 24163//1554 26707//28134 26706//29188 +f 19135//30096 19305//27415 30609//28215 +f 26566//28149 19135//30096 30609//28215 +f 28809//30237 30756//30143 6660//28445 +f 29007//30094 28873//28212 30622//28432 +f 29007//30094 19135//30096 26566//28149 +f 30756//30143 29007//30094 30622//28432 +f 28232//20895 29679//26176 18692//20896 +f 28873//28212 29007//30094 26566//28149 +f 26700//24695 26812//29784 26811//28316 +f 29679//26176 29954//23226 28107//28079 +f 30611//28078 29679//26176 28107//28079 +f 24732//27063 28118//27062 28119//28420 +f 28440//30461 28441//29559 28562//22936 +f 26573//4644 26572//6606 24970//4645 +f 19994//24176 20074//24180 25940//27290 +f 26507//16601 26603//1553 23255//1555 +f 32294//25630 32397//5482 32293//5483 +f 28216//26887 29675//30499 24347//27096 +f 10696//30500 11100//22629 2958//27097 +f 19479//29114 10696//30500 2958//27097 +f 25673//28070 21073//25017 27784//12445 +f 10696//30500 18231//28567 11100//22629 +f 19195//20540 2182//9759 2052//9685 +f 18231//28567 24139//22630 11100//22629 +f 2409//5275 19681//5274 35381//10394 +f 23693//14983 26805//24718 20261//14981 +f 30571//28693 30705//28690 30704//29121 +f 30570//29064 30571//28693 30704//29121 +f 26946//29437 13661//29259 29765//29391 +f 30025//29309 14849//27538 453//28005 +f 28964//29690 28963//29030 28830//29087 +f 29099//29605 29098//29057 28963//29030 +f 12605//17527 12604//17322 28124//28633 +f 26920//29120 26921//11727 27038//29645 +f 26923//29607 27041//29561 27040//658 +f 26922//657 26923//29607 27040//658 +f 19575//1972 30217//2095 26941//16045 +f 29937//22383 30068//15043 29936//15045 +f 13945//17486 13846//13098 13847//13097 +f 28950//12281 21908//12282 21813//14434 +f 28493//29398 28491//29439 28369//28241 +f 21648//13470 35515//17974 35923//2801 +f 26943//28340 26945//30412 26418//28344 +f 27281//30501 27268//28345 26418//28344 +f 21739//28397 21850//28395 30737//23015 +f 28728//28391 28861//30460 19706//30459 +f 30042//28790 30043//28606 30174//28556 +f 30449//22781 30448//23073 30315//22782 +f 30449//22781 30583//23071 30448//23073 +f 30183//28176 30316//22780 30182//26556 +f 19202//29565 2956//28531 19134//29610 +f 27840//28532 6869//28530 1858//29651 +f 30726//21497 30725//2464 30591//2314 +f 30592//28458 30726//21497 30591//2314 +f 26340//16452 26379//30502 26378//30462 +f 26339//17165 26340//16452 26378//30462 +f 26379//30502 26447//30503 26446//30463 +f 26378//30462 26379//30502 26446//30463 +f 26447//30503 26543//30504 26542//30464 +f 26446//30463 26447//30503 26542//30464 +f 26543//30504 26648//30505 26647//30465 +f 26542//30464 26543//30504 26647//30465 +f 26648//30505 26760//30506 26759//30466 +f 26647//30465 26648//30505 26759//30466 +f 26760//30506 26875//30507 26874//30467 +f 26759//30466 26760//30506 26874//30467 +f 26875//30507 26993//30508 26992//30468 +f 26874//30467 26875//30507 26992//30468 +f 26993//30508 27110//30509 27109//30469 +f 26992//30468 26993//30508 27109//30469 +f 27110//30509 27229//30510 27228//30470 +f 27109//30469 27110//30509 27228//30470 +f 27347//30511 27346//30471 27228//30470 +f 27229//30510 27347//30511 27228//30470 +f 27466//30512 27465//30472 27346//30471 +f 27347//30511 27466//30512 27346//30471 +f 27466//30512 27584//30513 27583//30473 +f 27465//30472 27466//30512 27583//30473 +f 27584//30513 27701//30514 27700//30474 +f 27583//30473 27584//30513 27700//30474 +f 27701//30514 27816//30515 27815//30475 +f 27700//30474 27701//30514 27815//30475 +f 27816//30515 27932//30516 27931//30476 +f 27815//30475 27816//30515 27931//30476 +f 27932//30516 28049//30517 28048//30477 +f 27931//30476 27932//30516 28048//30477 +f 28049//30517 28166//30518 28165//30478 +f 28048//30477 28049//30517 28165//30478 +f 28166//30518 28283//30519 28282//30479 +f 28165//30478 28166//30518 28282//30479 +f 28283//30519 28403//30520 28402//30480 +f 28282//30479 28283//30519 28402//30480 +f 28403//30520 28525//30521 28524//30481 +f 28402//30480 28403//30520 28524//30481 +f 28654//30522 28653//30482 28524//30481 +f 28525//30521 28654//30522 28524//30481 +f 28654//30522 28786//30523 28785//30483 +f 28653//30482 28654//30522 28785//30483 +f 28786//30523 28919//30524 28918//30484 +f 28785//30483 28786//30523 28918//30484 +f 28919//30524 29054//30525 29053//30485 +f 28918//30484 28919//30524 29053//30485 +f 29054//30525 29191//30526 29190//30486 +f 29053//30485 29054//30525 29190//30486 +f 29191//30526 29328//30527 29327//30487 +f 29190//30486 29191//30526 29327//30487 +f 29328//30527 29465//30528 29464//30488 +f 29327//30487 29328//30527 29464//30488 +f 29465//30528 29603//30529 29602//30489 +f 29464//30488 29465//30528 29602//30489 +f 29603//30529 29736//30530 29735//30490 +f 29602//30489 29603//30529 29735//30490 +f 29736//30530 29865//30531 29864//30491 +f 29735//30490 29736//30530 29864//30491 +f 29865//30531 29996//30532 29995//30492 +f 29864//30491 29865//30531 29995//30492 +f 29996//30532 30128//30533 30127//30493 +f 29995//30492 29996//30532 30127//30493 +f 30128//30533 30261//30534 30260//30494 +f 30127//30493 30128//30533 30260//30494 +f 30261//30534 30394//30535 30393//30495 +f 30260//30494 30261//30534 30393//30495 +f 30528//30536 30527//30496 30393//30495 +f 30394//30535 30528//30536 30393//30495 +f 30662//30537 30661//30497 30527//30496 +f 30528//30536 30662//30537 30527//30496 +f 30796//30538 30795//30498 30661//30497 +f 30662//30537 30796//30538 30661//30497 +f 2679//14056 2820//14055 30795//30498 +f 30796//30538 2679//14056 30795//30498 +f 30093//24108 30092//6761 14042//17593 +f 21869//23182 22544//23210 22446//21863 +f 22764//21442 29889//11911 29890//17705 +f 27622//28448 27739//28444 27621//15497 +f 28613//28219 28485//28514 19663//27621 +f 19098//28218 28613//28219 19663//27621 +f 25496//22620 26220//25776 25495//14920 +f 28724//23011 28343//28243 28485//28514 +f 28956//21874 28957//21873 29091//29725 +f 6530//21218 29079//4869 6900//2453 +f 13174//23301 28247//17500 22393//17499 +f 13174//23301 22393//17499 14235//27565 +f 30216//3111 30691//8776 29420//2573 +f 24914//15095 26600//15094 23671//28010 +f 30692//23498 29558//1761 29420//2573 +f 20176//1525 30290//1527 24095//15494 +f 24095//15494 30290//1527 11885//15492 +f 30691//8776 30692//23498 29420//2573 +f 21243//23425 20411//20914 19242//20916 +f 20644//19654 20642//16588 20560//3180 +f 32611//25068 32610//9255 32501//24751 +f 2548//30539 19479//29114 24347//27096 +f 17603//30540 10696//30500 19479//29114 +f 2548//30539 17603//30540 19479//29114 +f 6529//29777 18231//28567 10696//30500 +f 17603//30540 6529//29777 10696//30500 +f 6529//29777 24274//22060 18231//28567 +f 24829//22618 24959//7150 24243//22619 +f 29829//11737 28245//5276 2409//5275 +f 21730//14111 21824//25835 29118//28405 +f 30705//28690 30839//28695 30838//29122 +f 30704//29121 30705//28690 30838//29122 +f 29941//29227 13661//29259 29159//29436 +f 13661//29259 30025//29309 29765//29391 +f 28831//29732 28964//29690 28830//29087 +f 28964//29690 29099//29605 28963//29030 +f 26694//5902 26806//5904 26805//24718 +f 24297//11349 24298//11348 26678//20249 +f 27158//29517 27277//29476 27276//10758 +f 27157//12861 27158//29517 27276//10758 +f 30217//2095 6530//21218 28548//16046 +f 29079//4869 28944//2454 6900//2453 +f 29826//30238 28809//30237 30690//8775 +f 30756//30143 30622//28432 6660//28445 +f 26568//29353 28493//29398 28483//28240 +f 28483//28240 28493//29398 28369//28241 +f 26428//30458 27281//30501 26418//28344 +f 26798//30541 28720//30542 28719//28651 +f 15346//25755 29423//24960 16771//25632 +f 5892//2631 18425//21789 19826//21708 +f 30611//28078 19741//22010 30559//2142 +f 30175//28557 30308//28610 30307//28558 +f 30471//28511 2956//28531 19202//29565 +f 30605//29519 30471//28511 19202//29565 +f 30725//2464 30726//21497 6153//2309 +f 2956//28531 27840//28532 19134//29610 +f 30726//21497 6152//21446 6153//2309 +f 26341//16451 26380//30543 26379//30502 +f 26340//16452 26341//16451 26379//30502 +f 26380//30543 26448//30544 26447//30503 +f 26379//30502 26380//30543 26447//30503 +f 26448//30544 26544//30545 26543//30504 +f 26447//30503 26448//30544 26543//30504 +f 26544//30545 26649//30546 26648//30505 +f 26543//30504 26544//30545 26648//30505 +f 26649//30546 26761//30547 26760//30506 +f 26648//30505 26649//30546 26760//30506 +f 26761//30547 26876//30548 26875//30507 +f 26760//30506 26761//30547 26875//30507 +f 26876//30548 26994//30549 26993//30508 +f 26875//30507 26876//30548 26993//30508 +f 26994//30549 27111//30550 27110//30509 +f 26993//30508 26994//30549 27110//30509 +f 27111//30550 27230//30551 27229//30510 +f 27110//30509 27111//30550 27229//30510 +f 27230//30551 27348//30552 27347//30511 +f 27229//30510 27230//30551 27347//30511 +f 27348//30552 27467//30553 27466//30512 +f 27347//30511 27348//30552 27466//30512 +f 27467//30553 27585//30554 27584//30513 +f 27466//30512 27467//30553 27584//30513 +f 27585//30554 27702//30555 27701//30514 +f 27584//30513 27585//30554 27701//30514 +f 27702//30555 27817//30556 27816//30515 +f 27701//30514 27702//30555 27816//30515 +f 27817//30556 27933//30557 27932//30516 +f 27816//30515 27817//30556 27932//30516 +f 27933//30557 28050//30558 28049//30517 +f 27932//30516 27933//30557 28049//30517 +f 28050//30558 28167//30559 28166//30518 +f 28049//30517 28050//30558 28166//30518 +f 28167//30559 28284//30560 28283//30519 +f 28166//30518 28167//30559 28283//30519 +f 28284//30560 28404//30561 28403//30520 +f 28283//30519 28284//30560 28403//30520 +f 28404//30561 28526//30562 28525//30521 +f 28403//30520 28404//30561 28525//30521 +f 28655//30563 28654//30522 28525//30521 +f 28526//30562 28655//30563 28525//30521 +f 28655//30563 28787//30564 28786//30523 +f 28654//30522 28655//30563 28786//30523 +f 28787//30564 28920//30565 28919//30524 +f 28786//30523 28787//30564 28919//30524 +f 28920//30565 29055//30566 29054//30525 +f 28919//30524 28920//30565 29054//30525 +f 29055//30566 29192//30567 29191//30526 +f 29054//30525 29055//30566 29191//30526 +f 29192//30567 29329//30568 29328//30527 +f 29191//30526 29192//30567 29328//30527 +f 29329//30568 29466//30569 29465//30528 +f 29328//30527 29329//30568 29465//30528 +f 29466//30569 29604//30570 29603//30529 +f 29465//30528 29466//30569 29603//30529 +f 29604//30570 29737//30571 29736//30530 +f 29603//30529 29604//30570 29736//30530 +f 29737//30571 29866//30572 29865//30531 +f 29736//30530 29737//30571 29865//30531 +f 29866//30572 29997//30573 29996//30532 +f 29865//30531 29866//30572 29996//30532 +f 29997//30573 30129//30574 30128//30533 +f 29996//30532 29997//30573 30128//30533 +f 30129//30574 30262//30575 30261//30534 +f 30128//30533 30129//30574 30261//30534 +f 30262//30575 30395//30576 30394//30535 +f 30261//30534 30262//30575 30394//30535 +f 30529//30577 30528//30536 30394//30535 +f 30395//30576 30529//30577 30394//30535 +f 30663//30578 30662//30537 30528//30536 +f 30529//30577 30663//30578 30528//30536 +f 30797//30579 30796//30538 30662//30537 +f 30663//30578 30797//30579 30662//30537 +f 2815//30580 2679//14056 30796//30538 +f 30797//30579 2815//30580 30796//30538 +f 11423//13398 11425//16239 11474//14376 +f 2815//30580 20262//18760 2679//14056 +f 19774//28705 6407//25981 28998//29356 +f 26672//5624 26095//27126 26673//5618 +f 28613//28219 28724//23011 28485//28514 +f 21747//20750 24228//28004 28989//12444 +f 35469//10656 7083//1571 35759//1570 +f 27627//29473 27744//29078 27626//30042 +f 19963//28392 30157//30581 22234//28646 +f 16759//25161 23522//15493 11885//15492 +f 28866//30582 30157//30581 19963//28392 +f 19143//28359 28866//30582 19963//28392 +f 27739//28444 27854//28450 27853//24886 +f 30157//30581 2546//27450 22234//28646 +f 27744//29078 27743//29077 27626//30042 +f 27509//29060 27627//29473 27508//29061 +f 22666//17704 22567//21973 22568//23809 +f 26675//22062 24220//27377 26674//24808 +f 28225//21054 29676//27960 29675//30499 +f 28216//26887 28225//21054 29675//30499 +f 2682//30583 2548//30539 29675//30499 +f 29676//27960 2682//30583 29675//30499 +f 6905//30584 17603//30540 2548//30539 +f 2682//30583 6905//30584 2548//30539 +f 6905//30584 11451//28853 6529//29777 +f 17603//30540 6905//30584 6529//29777 +f 24403//17099 24274//22060 24290//17100 +f 2077//26174 11233//6051 6672//26171 +f 31303//29733 31370//18095 31302//18073 +f 29686//21154 26944//15235 28361//20990 +f 22332//28697 22430//29167 30838//29122 +f 30839//28695 22332//28697 30838//29122 +f 18272//29183 29941//29227 28345//30410 +f 13661//29259 26946//29437 29159//29436 +f 29236//29606 29235//29026 29098//29057 +f 29099//29605 29236//29606 29098//29057 +f 26589//6055 26694//5902 26693//24717 +f 26693//24717 26694//5902 26805//24718 +f 27277//29476 27395//29440 27394//10759 +f 27276//10758 27277//29476 27394//10759 +f 31043//13943 31044//7936 31105//17835 +f 27874//19786 30477//27745 24066//19784 +f 19574//30370 29149//10309 30072//3309 +f 29279//27511 19574//30370 30072//3309 +f 7302//28494 26900//28496 26817//28495 +f 26505//28238 26568//29353 28483//28240 +f 2270//30585 26798//30541 26786//28650 +f 2271//28649 2270//30585 26786//28650 +f 202//27471 29215//28598 29216//23014 +f 19675//29007 202//27471 29216//23014 +f 21847//28169 19856//29554 19791//28170 +f 30732//28568 6856//1808 30731//28302 +f 6661//29442 7215//28510 29819//29480 +f 28243//28509 30471//28511 30605//29519 +f 29352//21607 29214//22345 22273//23805 +f 30189//29200 30188//21490 30056//28408 +f 26342//16540 26381//30586 26380//30543 +f 26341//16451 26342//16540 26380//30543 +f 26381//30586 26449//30587 26448//30544 +f 26380//30543 26381//30586 26448//30544 +f 26449//30587 26545//30588 26544//30545 +f 26448//30544 26449//30587 26544//30545 +f 26545//30588 26650//30589 26649//30546 +f 26544//30545 26545//30588 26649//30546 +f 26762//30590 26761//30547 26649//30546 +f 26650//30589 26762//30590 26649//30546 +f 26762//30590 26877//30591 26876//30548 +f 26761//30547 26762//30590 26876//30548 +f 26877//30591 26995//30592 26994//30549 +f 26876//30548 26877//30591 26994//30549 +f 26995//30592 27112//30593 27111//30550 +f 26994//30549 26995//30592 27111//30550 +f 27112//30593 27231//30594 27230//30551 +f 27111//30550 27112//30593 27230//30551 +f 27231//30594 27349//30595 27348//30552 +f 27230//30551 27231//30594 27348//30552 +f 27349//30595 27468//30596 27467//30553 +f 27348//30552 27349//30595 27467//30553 +f 27468//30596 27586//30597 27585//30554 +f 27467//30553 27468//30596 27585//30554 +f 27586//30597 27703//30598 27702//30555 +f 27585//30554 27586//30597 27702//30555 +f 27703//30598 27818//30599 27817//30556 +f 27702//30555 27703//30598 27817//30556 +f 27818//30599 27934//30600 27933//30557 +f 27817//30556 27818//30599 27933//30557 +f 27934//30600 28051//30601 28050//30558 +f 27933//30557 27934//30600 28050//30558 +f 28051//30601 28168//30602 28167//30559 +f 28050//30558 28051//30601 28167//30559 +f 28168//30602 28285//30603 28284//30560 +f 28167//30559 28168//30602 28284//30560 +f 28285//30603 28405//30604 28404//30561 +f 28284//30560 28285//30603 28404//30561 +f 28405//30604 28527//30605 28526//30562 +f 28404//30561 28405//30604 28526//30562 +f 28656//30606 28655//30563 28526//30562 +f 28527//30605 28656//30606 28526//30562 +f 28656//30606 28788//30607 28787//30564 +f 28655//30563 28656//30606 28787//30564 +f 28788//30607 28921//30608 28920//30565 +f 28787//30564 28788//30607 28920//30565 +f 28921//30608 29056//30609 29055//30566 +f 28920//30565 28921//30608 29055//30566 +f 29056//30609 29193//30610 29192//30567 +f 29055//30566 29056//30609 29192//30567 +f 29193//30610 29330//30611 29329//30568 +f 29192//30567 29193//30610 29329//30568 +f 29330//30611 29467//30612 29466//30569 +f 29329//30568 29330//30611 29466//30569 +f 29467//30612 29605//30613 29604//30570 +f 29466//30569 29467//30612 29604//30570 +f 29605//30613 29738//30614 29737//30571 +f 29604//30570 29605//30613 29737//30571 +f 29738//30614 29867//30615 29866//30572 +f 29737//30571 29738//30614 29866//30572 +f 29867//30615 29998//30616 29997//30573 +f 29866//30572 29867//30615 29997//30573 +f 30130//30617 30129//30574 29997//30573 +f 29998//30616 30130//30617 29997//30573 +f 30130//30617 30263//30618 30262//30575 +f 30129//30574 30130//30617 30262//30575 +f 30263//30618 30396//30619 30395//30576 +f 30262//30575 30263//30618 30395//30576 +f 30530//30620 30529//30577 30395//30576 +f 30396//30619 30530//30620 30395//30576 +f 30664//30621 30663//30578 30529//30577 +f 30530//30620 30664//30621 30529//30577 +f 30798//30622 30797//30579 30663//30578 +f 30664//30621 30798//30622 30663//30578 +f 2680//22552 2815//30580 30797//30579 +f 30798//30622 2680//22552 30797//30579 +f 16312//25272 20262//18760 2815//30580 +f 2680//22552 16312//25272 2815//30580 +f 29237//28335 29238//28334 29374//28356 +f 13093//23267 22553//23266 18929//21877 +f 28322//29293 28442//22140 28441//29559 +f 28701//28336 28700//28338 28571//28687 +f 28719//28651 28720//30542 29945//28358 +f 28750//30623 28866//30582 19143//28359 +f 7072//28653 26506//27426 2546//27450 +f 30157//30581 7072//28653 2546//27450 +f 28720//30542 28746//28656 28750//30623 +f 2953//22729 25653//16068 22844//25832 +f 26798//30541 26833//28617 28720//30542 +f 28492//28655 28607//28654 28866//30582 +f 28608//28659 30363//28616 30354//30624 +f 28746//28656 28492//28655 28750//30623 +f 29676//27960 24430//27959 2682//30583 +f 28606//30625 28608//28659 30354//30624 +f 15874//19319 1520//24090 24658//16019 +f 20684//25702 27634//13624 27516//5906 +f 26112//25973 6534//14883 2681//29778 +f 30778//28844 25724//20582 30777//20584 +f 6888//30626 6905//30584 2682//30583 +f 2818//28548 6888//30626 2682//30583 +f 6888//30626 6901//30627 11451//28853 +f 6905//30584 6888//30626 11451//28853 +f 25343//27502 29939//22612 23862//18481 +f 6901//30627 19427//23150 11451//28853 +f 31691//17865 31791//6066 31690//17866 +f 25949//28032 25664//6185 26589//6055 +f 19787//30628 16458//29172 22430//29167 +f 16458//29172 19787//30628 19458//29170 +f 18272//29183 28345//30410 29829//11737 +f 27022//29136 18272//29183 29829//11737 +f 29373//29560 29372//29055 29235//29026 +f 29236//29606 29373//29560 29235//29026 +f 24704//27963 25936//23212 24531//27938 +f 26588//29470 26589//6055 26693//24717 +f 27395//29440 27514//29396 27513//22883 +f 27513//22883 27514//29396 27631//20842 +f 30709//22143 6920//15253 30708//22144 +f 6530//21218 6900//2453 28548//16046 +f 19574//30370 28464//30371 29267//29653 +f 29149//10309 19574//30370 29267//29653 +f 21472//12368 7080//28493 21470//28754 +f 29258//23009 29279//27511 27287//19823 +f 28603//28361 28606//30625 30348//28648 +f 30354//30624 2270//30585 2271//28649 +f 29215//28598 21739//28397 30737//23015 +f 29216//23014 29215//28598 30737//23015 +f 19856//29554 27899//27370 27645//28520 +f 29683//29116 30746//29115 29682//28988 +f 11230//29399 11229//28549 6661//29442 +f 29819//29480 28243//28509 30605//29519 +f 4231//25217 24932//25126 25432//25271 +f 7070//28146 11499//22412 21745//22366 +f 26343//16577 26382//28652 26381//30586 +f 26342//16540 26343//16577 26381//30586 +f 26382//28652 26450//29276 26449//30587 +f 26381//30586 26382//28652 26449//30587 +f 26450//29276 26546//30629 26545//30588 +f 26449//30587 26450//29276 26545//30588 +f 26546//30629 26651//30630 26650//30589 +f 26545//30588 26546//30629 26650//30589 +f 26763//30631 26762//30590 26650//30589 +f 26651//30630 26763//30631 26650//30589 +f 26763//30631 26878//30632 26877//30591 +f 26762//30590 26763//30631 26877//30591 +f 26878//30632 26996//30633 26995//30592 +f 26877//30591 26878//30632 26995//30592 +f 26996//30633 27113//30634 27112//30593 +f 26995//30592 26996//30633 27112//30593 +f 27113//30634 27232//30635 27231//30594 +f 27112//30593 27113//30634 27231//30594 +f 27232//30635 27350//30636 27349//30595 +f 27231//30594 27232//30635 27349//30595 +f 27350//30636 27469//30637 27468//30596 +f 27349//30595 27350//30636 27468//30596 +f 27469//30637 27587//30638 27586//30597 +f 27468//30596 27469//30637 27586//30597 +f 27587//30638 27704//30639 27703//30598 +f 27586//30597 27587//30638 27703//30598 +f 27704//30639 27819//30640 27818//30599 +f 27703//30598 27704//30639 27818//30599 +f 27819//30640 27935//30641 27934//30600 +f 27818//30599 27819//30640 27934//30600 +f 28052//30642 28051//30601 27934//30600 +f 27935//30641 28052//30642 27934//30600 +f 28169//30643 28168//30602 28051//30601 +f 28052//30642 28169//30643 28051//30601 +f 28169//30643 28286//30644 28285//30603 +f 28168//30602 28169//30643 28285//30603 +f 28286//30644 28406//30645 28405//30604 +f 28285//30603 28286//30644 28405//30604 +f 28406//30645 28528//30646 28527//30605 +f 28405//30604 28406//30645 28527//30605 +f 28657//30647 28656//30606 28527//30605 +f 28528//30646 28657//30647 28527//30605 +f 28657//30647 28789//30648 28788//30607 +f 28656//30606 28657//30647 28788//30607 +f 28789//30648 28922//30649 28921//30608 +f 28788//30607 28789//30648 28921//30608 +f 28922//30649 29057//30650 29056//30609 +f 28921//30608 28922//30649 29056//30609 +f 29057//30650 29194//30651 29193//30610 +f 29056//30609 29057//30650 29193//30610 +f 29194//30651 29331//30652 29330//30611 +f 29193//30610 29194//30651 29330//30611 +f 29331//30652 29468//30653 29467//30612 +f 29330//30611 29331//30652 29467//30612 +f 29468//30653 29606//30654 29605//30613 +f 29467//30612 29468//30653 29605//30613 +f 29606//30654 29739//30655 29738//30614 +f 29605//30613 29606//30654 29738//30614 +f 29739//30655 29868//30656 29867//30615 +f 29738//30614 29739//30655 29867//30615 +f 29868//30656 29999//30657 29998//30616 +f 29867//30615 29868//30656 29998//30616 +f 30131//30658 30130//30617 29998//30616 +f 29999//30657 30131//30658 29998//30616 +f 30131//30658 30264//30659 30263//30618 +f 30130//30617 30131//30658 30263//30618 +f 30397//30660 30396//30619 30263//30618 +f 30264//30659 30397//30660 30263//30618 +f 30531//30661 30530//30620 30396//30619 +f 30397//30660 30531//30661 30396//30619 +f 30665//30662 30664//30621 30530//30620 +f 30531//30661 30665//30662 30530//30620 +f 30799//30663 30798//30622 30664//30621 +f 30665//30662 30799//30663 30664//30621 +f 2544//22553 2680//22552 30798//30622 +f 30799//30663 2544//22553 30798//30622 +f 16312//25272 25351//5068 4231//25217 +f 632//9450 631//9342 7452//12370 +f 28450//29646 28572//28686 28449//29647 +f 30478//28174 23417//21175 27434//2643 +f 28861//30460 28864//21118 2671//21117 +f 19706//30459 28861//30460 2671//21117 +f 28720//30542 28750//30623 29945//28358 +f 29945//28358 28750//30623 19143//28359 +f 28607//28654 7072//28653 30157//30581 +f 14142//27090 20502//24317 14912//5737 +f 26609//28572 26610//669 26714//28614 +f 25424//24989 25041//21485 29965//27606 +f 28856//10907 35946//6700 6410//8116 +f 22632//25792 28363//6176 28680//6175 +f 27146//15132 27137//21992 28365//8362 +f 30341//29117 29683//29116 19671//28987 +f 26833//28617 28746//28656 28720//30542 +f 7885//21161 29817//27085 28367//23098 +f 31405//29322 31472//29321 31404//30664 +f 30628//29011 23570//25056 30761//28982 +f 2957//28074 24346//19024 22423//19026 +f 24865//27460 28996//26596 29258//23009 +f 11124//30665 6888//30626 2818//28548 +f 2957//28074 11124//30665 2818//28548 +f 11124//30665 11452//30666 6901//30627 +f 6888//30626 11124//30665 6901//30627 +f 6655//21860 19427//23150 6901//30627 +f 11452//30666 6655//21860 6901//30627 +f 32200//4566 32199//4568 32099//17692 +f 12256//15910 12257//16963 12342//15908 +f 22332//28697 19787//30628 22430//29167 +f 5610//22039 5340//29173 19458//29170 +f 28975//20987 29110//29564 28974//29127 +f 29941//29227 29159//29436 28345//30410 +f 29510//29474 29509//29024 29372//29055 +f 29373//29560 29510//29474 29372//29055 +f 19690//21844 27551//29135 26422//29089 +f 24866//23008 24865//27460 29258//23009 +f 27394//10759 27395//29440 27513//22883 +f 27749//26988 27748//20894 27631//20842 +f 29658//10623 29791//10622 29657//28373 +f 30307//28558 30308//28610 30440//28612 +f 28464//30371 30483//30282 30349//22527 +f 28809//30237 6660//28445 30690//8775 +f 6982//28750 7302//28494 26817//28495 +f 11944//27322 23521//25603 11837//25093 +f 28606//30625 28603//28361 27268//28345 +f 30348//28648 30354//30624 2271//28649 +f 29696//29557 19139//3386 6904//29774 +f 21850//28395 19706//30459 30737//23015 +f 30738//28080 30558//29131 18866//28986 +f 32244//17182 32243//15397 32143//30667 +f 27492//28550 11229//28549 28600//29355 +f 7215//28510 28243//28509 29819//29480 +f 26608//28454 26713//28615 26712//5058 +f 34817//30668 34816//30669 34688//30670 +f 15454//23877 13527//23822 23452//23759 +f 26343//16577 26344//16673 26382//28652 +f 34946//29270 34945//29271 34816//30669 +f 21631//25409 26356//25681 26396//25683 +f 26451//29277 26547//30671 26546//30629 +f 26450//29276 26451//29277 26546//30629 +f 26547//30671 26652//30672 26651//30630 +f 26546//30629 26547//30671 26651//30630 +f 26652//30672 26764//30673 26763//30631 +f 26651//30630 26652//30672 26763//30631 +f 26764//30673 26879//30674 26878//30632 +f 26763//30631 26764//30673 26878//30632 +f 26879//30674 26997//30675 26996//30633 +f 26878//30632 26879//30674 26996//30633 +f 26997//30675 27114//30676 27113//30634 +f 26996//30633 26997//30675 27113//30634 +f 27114//30676 27233//30677 27232//30635 +f 27113//30634 27114//30676 27232//30635 +f 27351//30678 27350//30636 27232//30635 +f 27233//30677 27351//30678 27232//30635 +f 27351//30678 27470//30679 27469//30637 +f 27350//30636 27351//30678 27469//30637 +f 27470//30679 27588//30680 27587//30638 +f 27469//30637 27470//30679 27587//30638 +f 27588//30680 27705//30681 27704//30639 +f 27587//30638 27588//30680 27704//30639 +f 27705//30681 27820//30682 27819//30640 +f 27704//30639 27705//30681 27819//30640 +f 27820//30682 27936//30683 27935//30641 +f 27819//30640 27820//30682 27935//30641 +f 27936//30683 28053//30684 28052//30642 +f 27935//30641 27936//30683 28052//30642 +f 28170//30685 28169//30643 28052//30642 +f 28053//30684 28170//30685 28052//30642 +f 28287//30686 28286//30644 28169//30643 +f 28170//30685 28287//30686 28169//30643 +f 28287//30686 28407//30687 28406//30645 +f 28286//30644 28287//30686 28406//30645 +f 28407//30687 28529//30688 28528//30646 +f 28406//30645 28407//30687 28528//30646 +f 28658//30689 28657//30647 28528//30646 +f 28529//30688 28658//30689 28528//30646 +f 28658//30689 28790//30690 28789//30648 +f 28657//30647 28658//30689 28789//30648 +f 28790//30690 28923//30691 28922//30649 +f 28789//30648 28790//30690 28922//30649 +f 28923//30691 29058//30692 29057//30650 +f 28922//30649 28923//30691 29057//30650 +f 29058//30692 29195//30693 29194//30651 +f 29057//30650 29058//30692 29194//30651 +f 29195//30693 29332//30694 29331//30652 +f 29194//30651 29195//30693 29331//30652 +f 29332//30694 29469//30695 29468//30653 +f 29331//30652 29332//30694 29468//30653 +f 29469//30695 29607//30696 29606//30654 +f 29468//30653 29469//30695 29606//30654 +f 29607//30696 29740//30697 29739//30655 +f 29606//30654 29607//30696 29739//30655 +f 29740//30697 29869//30698 29868//30656 +f 29739//30655 29740//30697 29868//30656 +f 29869//30698 30000//30699 29999//30657 +f 29868//30656 29869//30698 29999//30657 +f 30132//30700 30131//30658 29999//30657 +f 30000//30699 30132//30700 29999//30657 +f 30132//30700 30265//30701 30264//30659 +f 30131//30658 30132//30700 30264//30659 +f 30265//30701 30398//30702 30397//30660 +f 30264//30659 30265//30701 30397//30660 +f 30532//30703 30531//30661 30397//30660 +f 30398//30702 30532//30703 30397//30660 +f 30666//30704 30665//30662 30531//30661 +f 30532//30703 30666//30704 30531//30661 +f 30800//30705 30799//30663 30665//30662 +f 30666//30704 30800//30705 30665//30662 +f 2817//14918 2544//22553 30799//30663 +f 30800//30705 2817//14918 30799//30663 +f 21534//22115 21445//20640 28433//11008 +f 23022//18732 22844//25832 23610//18730 +f 28572//28686 28571//28687 28449//29647 +f 24429//19025 24345//22728 22423//19026 +f 30205//30413 26912//28698 28864//21118 +f 28861//30460 30205//30413 28864//21118 +f 26460//28423 26428//30458 26945//30412 +f 27086//28421 26460//28423 26945//30412 +f 28750//30623 28492//28655 28866//30582 +f 28866//30582 28607//28654 30157//30581 +f 28814//21244 30475//13832 30474//21245 +f 30746//29115 18866//28986 29682//28988 +f 27636//28515 27492//28550 29130//29314 +f 11229//28549 11230//29399 28600//29355 +f 26623//28547 28474//28546 27788//29234 +f 27636//28515 29130//29314 27517//29265 +f 28846//28427 28979//30050 28845//28963 +f 28474//28546 27636//28515 27517//29265 +f 2270//30585 19250//28574 26798//30541 +f 29530//28452 29529//28430 29392//28453 +f 23073//21040 22423//19026 24345//22728 +f 24275//28852 24290//17100 24274//22060 +f 22423//19026 8584//30706 11124//30665 +f 2957//28074 22423//19026 11124//30665 +f 17309//30707 11452//30666 11124//30665 +f 8584//30706 17309//30707 11124//30665 +f 17309//30707 6535//27601 6655//21860 +f 11452//30666 17309//30707 6655//21860 +f 22300//22272 22301//25607 30070//22775 +f 31787//17314 31786//22789 31686//22788 +f 30558//29131 29540//28083 30693//28123 +f 19787//30628 19460//22040 19458//29170 +f 19788//29035 19786//30708 22331//28696 +f 29110//29564 29109//29126 28974//29127 +f 31892//25527 31993//21172 31891//11091 +f 29648//29475 29647//29022 29509//29024 +f 29102//29037 29101//28331 28966//28342 +f 30751//28810 26422//29089 26522//27987 +f 3088//28829 3087//28916 21948//28828 +f 27514//29396 27632//29354 27631//20842 +f 21947//28915 19354//29108 19355//28826 +f 29357//28526 29220//28525 29156//21637 +f 29267//29653 28464//30371 30349//22527 +f 29826//30238 30690//8775 30349//22527 +f 29129//29402 30216//3111 28992//3110 +f 7080//28493 7302//28494 6982//28750 +f 27281//30501 28606//30625 27268//28345 +f 28606//30625 30354//30624 30348//28648 +f 19410//29514 17627//22292 7071//22008 +f 18510//29776 19592//29556 29015//29558 +f 26610//669 26609//28572 26513//670 +f 30803//5777 14056//2040 30772//2042 +f 28474//28546 27517//29265 27788//29234 +f 11229//28549 7215//28510 6661//29442 +f 30593//28681 30727//21498 30592//28458 +f 30326//22227 30325//12859 30192//12858 +f 25106//5607 25105//5606 25721//17166 +f 21891//21912 21986//23855 28807//21913 +f 22862//27529 24667//27554 30776//4618 +f 22862//27529 29260//24172 25118//24171 +f 26452//28570 26548//30709 26547//30671 +f 26451//29277 26452//28570 26547//30671 +f 26548//30709 26653//30710 26652//30672 +f 26547//30671 26548//30709 26652//30672 +f 26765//30711 26764//30673 26652//30672 +f 26653//30710 26765//30711 26652//30672 +f 26880//30712 26879//30674 26764//30673 +f 26765//30711 26880//30712 26764//30673 +f 26998//30713 26997//30675 26879//30674 +f 26880//30712 26998//30713 26879//30674 +f 27115//30714 27114//30676 26997//30675 +f 26998//30713 27115//30714 26997//30675 +f 27234//30715 27233//30677 27114//30676 +f 27115//30714 27234//30715 27114//30676 +f 27234//30715 27352//30716 27351//30678 +f 27233//30677 27234//30715 27351//30678 +f 27352//30716 27471//30717 27470//30679 +f 27351//30678 27352//30716 27470//30679 +f 27471//30717 27589//30718 27588//30680 +f 27470//30679 27471//30717 27588//30680 +f 27589//30718 27706//30719 27705//30681 +f 27588//30680 27589//30718 27705//30681 +f 27706//30719 27821//30720 27820//30682 +f 27705//30681 27706//30719 27820//30682 +f 27821//30720 27937//30721 27936//30683 +f 27820//30682 27821//30720 27936//30683 +f 27937//30721 28054//30722 28053//30684 +f 27936//30683 27937//30721 28053//30684 +f 28054//30722 28171//30723 28170//30685 +f 28053//30684 28054//30722 28170//30685 +f 28288//30724 28287//30686 28170//30685 +f 28171//30723 28288//30724 28170//30685 +f 28408//30725 28407//30687 28287//30686 +f 28288//30724 28408//30725 28287//30686 +f 28408//30725 28530//30726 28529//30688 +f 28407//30687 28408//30725 28529//30688 +f 28659//30727 28658//30689 28529//30688 +f 28530//30726 28659//30727 28529//30688 +f 28659//30727 28791//30728 28790//30690 +f 28658//30689 28659//30727 28790//30690 +f 28791//30728 28924//30729 28923//30691 +f 28790//30690 28791//30728 28923//30691 +f 28924//30729 29059//30730 29058//30692 +f 28923//30691 28924//30729 29058//30692 +f 29059//30730 29196//30731 29195//30693 +f 29058//30692 29059//30730 29195//30693 +f 29196//30731 29333//30732 29332//30694 +f 29195//30693 29196//30731 29332//30694 +f 29333//30732 29470//30733 29469//30695 +f 29332//30694 29333//30732 29469//30695 +f 29470//30733 29608//30734 29607//30696 +f 29469//30695 29470//30733 29607//30696 +f 29608//30734 29741//30735 29740//30697 +f 29607//30696 29608//30734 29740//30697 +f 29741//30735 29870//30736 29869//30698 +f 29740//30697 29741//30735 29869//30698 +f 30001//30737 30000//30699 29869//30698 +f 29870//30736 30001//30737 29869//30698 +f 30133//30738 30132//30700 30000//30699 +f 30001//30737 30133//30738 30000//30699 +f 30133//30738 30266//30739 30265//30701 +f 30132//30700 30133//30738 30265//30701 +f 30266//30739 30399//30740 30398//30702 +f 30265//30701 30266//30739 30398//30702 +f 30533//1506 30532//30703 30398//30702 +f 30399//30740 30533//1506 30398//30702 +f 30667//28839 30666//30704 30532//30703 +f 30533//1506 30667//28839 30532//30703 +f 30801//30741 30800//30705 30666//30704 +f 30667//28839 30801//30741 30666//30704 +f 2816//14919 2817//14918 30800//30705 +f 30801//30741 2816//14919 30800//30705 +f 21986//23855 22082//21720 28941//21722 +f 23073//21040 11574//21042 22423//19026 +f 30205//30413 27023//30373 26912//28698 +f 28439//22127 28440//30461 28561//22134 +f 14058//28422 27086//28421 26945//30412 +f 27023//30373 29261//28657 26912//28698 +f 19040//2127 11104//29521 28622//2128 +f 11454//30411 14058//28422 26945//30412 +f 27137//21992 7885//21161 28367//23098 +f 12022//16883 27320//29316 27319//17657 +f 26623//28547 27788//29234 21473//29189 +f 21631//25409 23814//9603 30870//16701 +f 29925//28907 30056//28408 29924//28409 +f 21558//28542 26623//28547 21473//29189 +f 30593//28681 30592//28458 30458//21398 +f 26608//28454 26607//28196 26511//29144 +f 27492//28550 28600//29355 29130//29314 +f 21558//28542 21473//29189 19576//29145 +f 26493//5426 27414//5428 27412//28207 +f 29395//28287 29394//28471 29257//25833 +f 18734//15867 1976//15866 16301//17614 +f 19250//28574 26833//28617 26798//30541 +f 11574//21042 8584//30706 22423//19026 +f 25093//27602 20926//8736 25373//21861 +f 11574//21042 30022//30742 17309//30707 +f 8584//30706 11574//21042 17309//30707 +f 30022//30742 19414//30325 6535//27601 +f 17309//30707 30022//30742 6535//27601 +f 12335//10308 12336//3101 28109//2937 +f 24669//24173 22234//28646 2546//27450 +f 29273//2124 29354//4767 26907//2125 +f 29773//6601 29774//23018 29902//4921 +f 22330//29036 22331//28696 30840//28694 +f 22330//29036 19788//29035 22331//28696 +f 33058//29034 33163//29088 33057//16087 +f 28366//27986 30751//28810 26522//27987 +f 28967//28918 28966//28342 28833//28337 +f 28967//28918 29102//29037 28966//28342 +f 26570//22069 13297//5199 26571//6705 +f 30051//28173 30050//28476 29919//28474 +f 26926//28736 26927//14941 27044//28737 +f 21636//26843 19571//26687 25226//26688 +f 32616//14590 32730//16357 32615//27581 +f 30483//30282 29826//30238 30349//22527 +f 10242//22149 16611//2041 15091//26347 +f 28992//3110 35657//1763 35386//6337 +f 28608//28659 28606//30625 27281//30501 +f 26786//28650 26798//30541 28719//28651 +f 26587//29009 20008//25031 26491//29515 +f 30833//20041 17841//25298 30832//22307 +f 28133//28591 29566//28593 29892//29098 +f 26610//669 26715//29481 26714//28614 +f 32049//14734 31950//5145 11519//14255 +f 27263//28592 19576//29145 29428//29099 +f 26678//20249 24298//11348 26677//6607 +f 21920//24520 22013//22436 29396//25839 +f 30533//1506 25146//1505 30667//28839 +f 29260//24172 22862//27529 30776//4618 +f 12109//28571 27901//16680 25366//26835 +f 26453//28312 26549//30743 26548//30709 +f 26452//28570 26453//28312 26548//30709 +f 26549//30743 26654//30744 26653//30710 +f 26548//30709 26549//30743 26653//30710 +f 26766//30745 26765//30711 26653//30710 +f 26654//30744 26766//30745 26653//30710 +f 26766//30745 26881//30746 26880//30712 +f 26765//30711 26766//30745 26880//30712 +f 26999//30747 26998//30713 26880//30712 +f 26881//30746 26999//30747 26880//30712 +f 27116//30748 27115//30714 26998//30713 +f 26999//30747 27116//30748 26998//30713 +f 27235//30749 27234//30715 27115//30714 +f 27116//30748 27235//30749 27115//30714 +f 27353//30750 27352//30716 27234//30715 +f 27235//30749 27353//30750 27234//30715 +f 27353//30750 27472//30751 27471//30717 +f 27352//30716 27353//30750 27471//30717 +f 27472//30751 27590//30752 27589//30718 +f 27471//30717 27472//30751 27589//30718 +f 27590//30752 27707//30753 27706//30719 +f 27589//30718 27590//30752 27706//30719 +f 27707//30753 27822//30754 27821//30720 +f 27706//30719 27707//30753 27821//30720 +f 27822//30754 27938//30755 27937//30721 +f 27821//30720 27822//30754 27937//30721 +f 27938//30755 28055//30756 28054//30722 +f 27937//30721 27938//30755 28054//30722 +f 28055//30756 28172//30757 28171//30723 +f 28054//30722 28055//30756 28171//30723 +f 28172//30757 28289//30758 28288//30724 +f 28171//30723 28172//30757 28288//30724 +f 28289//30758 28409//30759 28408//30725 +f 28288//30724 28289//30758 28408//30725 +f 28409//30759 28531//30760 28530//30726 +f 28408//30725 28409//30759 28530//30726 +f 28660//30761 28659//30727 28530//30726 +f 28531//30760 28660//30761 28530//30726 +f 28660//30761 28792//30762 28791//30728 +f 28659//30727 28660//30761 28791//30728 +f 28792//30762 28925//30763 28924//30729 +f 28791//30728 28792//30762 28924//30729 +f 28925//30763 29060//30764 29059//30730 +f 28924//30729 28925//30763 29059//30730 +f 29060//30764 29197//30765 29196//30731 +f 29059//30730 29060//30764 29196//30731 +f 29334//30766 29333//30732 29196//30731 +f 29197//30765 29334//30766 29196//30731 +f 29334//30766 29471//30767 29470//30733 +f 29333//30732 29334//30766 29470//30733 +f 29471//30767 29609//30768 29608//30734 +f 29470//30733 29471//30767 29608//30734 +f 29609//30768 29742//30769 29741//30735 +f 29608//30734 29609//30768 29741//30735 +f 29742//30769 29871//30770 29870//30736 +f 29741//30735 29742//30769 29870//30736 +f 29871//30770 30002//30771 30001//30737 +f 29870//30736 29871//30770 30001//30737 +f 30002//30771 30134//30772 30133//30738 +f 30001//30737 30002//30771 30133//30738 +f 30134//30772 30267//30773 30266//30739 +f 30133//30738 30134//30772 30266//30739 +f 30267//30773 30400//30774 30399//30740 +f 30266//30739 30267//30773 30399//30740 +f 26522//27987 35469//10656 6659//10107 +f 30399//30740 30400//30774 30533//1506 +f 30197//21811 22588//16560 30330//25147 +f 30801//30741 30667//28839 25829//25552 +f 25367//14499 25240//14498 25102//24866 +f 21177//25038 21176//24976 21089//16892 +f 2543//22621 2816//14919 30801//30741 +f 24804//22409 26359//22613 29939//22612 +f 3625//27541 13527//23822 23704//23876 +f 23976//25210 7082//6054 25916//25211 +f 18283//30328 27844//28658 29261//28657 +f 29364//22195 29365//13623 29501//22210 +f 7189//28596 6973//30372 11497//30326 +f 15220//28597 7189//28596 11497//30326 +f 17270//5974 11453//14251 26521//2638 +f 26676//6608 26677//6607 24299//17710 +f 26574//28622 28133//28591 29892//29098 +f 17260//29106 26574//28622 29892//29098 +f 26512//28573 26608//28454 26511//29144 +f 29566//28593 29428//29099 29892//29098 +f 26512//28573 26511//29144 26424//25186 +f 2543//22621 30801//30741 25829//25552 +f 29114//30454 29251//29198 29113//28860 +f 27263//28592 21558//28542 19576//29145 +f 5341//29043 2405//28621 17260//29106 +f 25644//27177 28117//28354 25500//27064 +f 29532//29235 29531//28594 29394//28471 +f 33160//16623 33159//17315 33054//16624 +f 30363//28616 19250//28574 2270//30585 +f 13364//16134 29023//16596 29160//16135 +f 25483//27665 15318//24549 26000//13286 +f 6845//21041 27903//30775 30022//30742 +f 11574//21042 6845//21041 30022//30742 +f 27903//30775 20093//28513 19414//30325 +f 30022//30742 27903//30775 19414//30325 +f 29395//28287 29257//25833 21919//25838 +f 20846//8737 20926//8736 25093//27602 +f 29682//28988 18866//28986 14619//28109 +f 28989//12444 24227//28027 27784//12445 +f 30841//29091 30840//28694 30706//28689 +f 30841//29091 22330//29036 30840//28694 +f 33268//28865 33267//16093 33162//16088 +f 32093//21171 32092//9831 31992//15372 +f 28834//29153 28833//28337 28701//28336 +f 28834//29153 28967//28918 28833//28337 +f 29920//28155 30051//28173 29919//28474 +f 30051//28173 30183//28176 30050//28476 +f 26699//21488 26700//24695 26811//28316 +f 26812//29784 26927//14941 26926//28736 +f 19675//29007 29216//23014 25085//27493 +f 28071//7155 29129//29402 28992//3110 +f 27627//29473 27626//30042 27508//29061 +f 8793//10927 8461//7362 6614//6285 +f 27284//28618 27281//30501 26428//30458 +f 27284//28618 28608//28659 27281//30501 +f 19978//15093 29954//23226 23174//15091 +f 35724//8628 35358//8193 35726//8103 +f 28473//29042 29959//28725 5341//29043 +f 29566//28593 27263//28592 29428//29099 +f 29251//29198 29250//28808 29113//28860 +f 5742//13834 19130//22275 27646//14779 +f 31274//21439 19972//24776 19971//21440 +f 26918//19017 29138//2139 29137//5613 +f 28693//29478 28825//29111 28824//21768 +f 27082//5193 29423//24960 28725//28401 +f 31656//30188 26240//28053 25244//24697 +f 17252//2140 27399//28137 26902//29775 +f 19977//10962 26492//29401 26491//29515 +f 31341//30776 19974//24837 19973//24774 +f 28957//21873 28958//29110 29092//28861 +f 26917//19018 26918//19017 29137//5613 +f 29121//4298 19037//5892 7407//28603 +f 29143//2141 17252//2140 26902//29775 +f 26082//6186 25807//24831 25214//25124 +f 32554//2277 32667//20120 32553//20122 +f 26492//29401 25949//28032 26588//29470 +f 25075//22705 2820//14055 25148//16684 +f 29121//4298 7407//28603 19197//28389 +f 25366//26835 26453//28312 26452//28570 +f 30745//28822 14345//19427 25945//10897 +f 26454//28311 26550//30777 26549//30743 +f 26453//28312 26454//28311 26549//30743 +f 26550//30777 26655//30778 26654//30744 +f 26549//30743 26550//30777 26654//30744 +f 26767//30779 26766//30745 26654//30744 +f 26655//30778 26767//30779 26654//30744 +f 26767//30779 26882//30780 26881//30746 +f 26766//30745 26767//30779 26881//30746 +f 27000//30781 26999//30747 26881//30746 +f 26882//30780 27000//30781 26881//30746 +f 27117//30782 27116//30748 26999//30747 +f 27000//30781 27117//30782 26999//30747 +f 27117//30782 27236//30783 27235//30749 +f 27116//30748 27117//30782 27235//30749 +f 27236//30783 27354//30784 27353//30750 +f 27235//30749 27236//30783 27353//30750 +f 27354//30784 27473//30785 27472//30751 +f 27353//30750 27354//30784 27472//30751 +f 27473//30785 27591//30786 27590//30752 +f 27472//30751 27473//30785 27590//30752 +f 27591//30786 27708//30787 27707//30753 +f 27590//30752 27591//30786 27707//30753 +f 27708//30787 27823//30788 27822//30754 +f 27707//30753 27708//30787 27822//30754 +f 27823//30788 27939//30789 27938//30755 +f 27822//30754 27823//30788 27938//30755 +f 27939//30789 28056//30790 28055//30756 +f 27938//30755 27939//30789 28055//30756 +f 28056//30790 28173//30791 28172//30757 +f 28055//30756 28056//30790 28172//30757 +f 28173//30791 28290//30792 28289//30758 +f 28172//30757 28173//30791 28289//30758 +f 28290//30792 28410//30793 28409//30759 +f 28289//30758 28290//30792 28409//30759 +f 28410//30793 28532//30794 28531//30760 +f 28409//30759 28410//30793 28531//30760 +f 28532//30794 28661//30795 28660//30761 +f 28531//30760 28532//30794 28660//30761 +f 28661//30795 28793//30796 28792//30762 +f 28660//30761 28661//30795 28792//30762 +f 28793//30796 28926//30797 28925//30763 +f 28792//30762 28793//30796 28925//30763 +f 28926//30797 29061//30798 29060//30764 +f 28925//30763 28926//30797 29060//30764 +f 29061//30798 29198//30799 29197//30765 +f 29060//30764 29061//30798 29197//30765 +f 29198//30799 29335//30800 29334//30766 +f 29197//30765 29198//30799 29334//30766 +f 29335//30800 29472//30801 29471//30767 +f 29334//30766 29335//30800 29471//30767 +f 29472//30801 29610//30802 29609//30768 +f 29471//30767 29472//30801 29609//30768 +f 29610//30802 29743//30803 29742//30769 +f 29609//30768 29610//30802 29742//30769 +f 29872//30804 29871//30770 29742//30769 +f 29743//30803 29872//30804 29742//30769 +f 29872//30804 30003//30805 30002//30771 +f 29871//30770 29872//30804 30002//30771 +f 30003//30805 30135//30806 30134//30772 +f 30002//30771 30003//30805 30134//30772 +f 30135//30806 30268//30807 30267//30773 +f 30134//30772 30135//30806 30267//30773 +f 30268//30807 30401//30808 30400//30774 +f 30267//30773 30268//30807 30400//30774 +f 27035//27906 20429//25110 20345//25109 +f 21337//24006 21427//23958 28069//23957 +f 29650//28260 29651//28814 29783//28551 +f 21609//15588 21610//23910 21702//23907 +f 26500//28885 26501//28237 28459//28887 +f 28460//28239 28885//28242 29155//28889 +f 25372//22489 18927//23901 27669//22487 +f 30032//9547 30033//4923 30164//22291 +f 24127//23783 25372//22489 28248//22488 +f 11645//2728 13318//2730 3078//17608 +f 18283//30328 29285//30327 27844//28658 +f 30699//20040 30698//20042 30564//8965 +f 15220//28597 11497//30326 19339//30283 +f 19450//28660 15220//28597 19339//30283 +f 26605//16811 26604//16600 26508//22696 +f 26604//16600 26605//16811 26709//28783 +f 30735//29000 21837//28726 28473//29042 +f 29959//28725 2405//28621 5341//29043 +f 27667//4606 29121//4298 19197//28389 +f 28749//28701 29142//28703 28858//29315 +f 19037//5892 26691//28601 7407//28603 +f 29142//28703 19774//28705 28998//29356 +f 26569//28677 21837//28726 30735//29000 +f 30089//28961 26569//28677 30735//29000 +f 28250//21734 29414//6047 29817//27085 +f 7885//21161 28250//21734 29817//27085 +f 2953//22729 22844//25832 23022//18732 +f 30354//30624 30363//28616 2270//30585 +f 23022//18732 6845//21041 2953//22729 +f 26503//28891 30687//27713 22389//27686 +f 23022//18732 28253//10890 27903//30775 +f 6845//21041 23022//18732 27903//30775 +f 18176//2264 19419//22734 19516//2265 +f 27903//30775 28253//10890 20093//28513 +f 21891//21912 28675//21914 21797//23912 +f 21375//22556 24566//17058 25779//26788 +f 29247//29609 29384//29132 29246//29133 +f 24482//25609 27161//28313 27044//28737 +f 30438//28692 30439//29229 30572//28688 +f 30707//29090 30841//29091 30706//28689 +f 33163//29088 33268//28865 33162//16088 +f 30751//28810 19690//21844 26422//29089 +f 28702//29154 28701//28336 28572//28686 +f 28702//29154 28834//29153 28701//28336 +f 29557//28151 27841//28150 30749//28946 +f 30183//28176 30182//26556 30050//28476 +f 26811//28316 26812//29784 26926//28736 +f 23776//27473 19675//29007 23079//27492 +f 31370//18095 31369//16978 31302//18073 +f 32842//16359 32841//23016 32729//16934 +f 23912//19595 23854//27349 14758//18512 +f 26793//25578 26792//10838 24277//24451 +f 7189//28596 14058//28422 11454//30411 +f 26460//28423 27284//28618 26428//30458 +f 21568//20365 21670//21140 23943//20364 +f 27729//5611 28240//5774 11104//29521 +f 29269//28637 26569//28677 30089//28961 +f 2405//28621 26574//28622 17260//29106 +f 21093//27031 24778//23946 24363//26623 +f 19774//28705 28747//28707 6407//25981 +f 28747//28707 28304//29652 6407//25981 +f 28747//28707 26969//23070 28304//29652 +f 19974//24837 31341//30776 19975//24908 +f 31753//30088 24158//27965 24486//27985 +f 24158//27965 31753//30088 31752//27486 +f 26491//29515 20008//25031 19977//10962 +f 23520//442 26492//29401 19977//10962 +f 19973//24774 31274//21439 31341//30776 +f 26078//25831 31563//30195 25997//24696 +f 24151//20981 18098//20915 24091//25323 +f 25522//28009 31654//30087 24486//27985 +f 19115//3340 34613//18548 19328//10905 +f 35393//3883 35636//12694 19136//6400 +f 2148//327 26008//27215 26006//16647 +f 26078//25831 23269//24830 31564//30809 +f 19975//24908 31341//30776 31408//443 +f 33702//16873 21278//21098 21279//26396 +f 19960//21045 3130//6965 17890//6964 +f 33604//16029 33731//24809 33603//16030 +f 30400//30774 30401//30808 30535//27916 +f 34909//30810 34910//22193 17280//22194 +f 13762//25894 25192//19533 23819//25992 +f 26969//23070 12692//27442 28304//29652 +f 28365//8362 28367//23098 29021//8363 +f 27901//16680 30879//16460 30878//24427 +f 25856//18441 24760//27073 24886//10839 +f 26455//14715 26551//30811 26550//30777 +f 26454//28311 26455//14715 26550//30777 +f 26551//30811 26656//30812 26655//30778 +f 26550//30777 26551//30811 26655//30778 +f 26656//30812 26768//30813 26767//30779 +f 26655//30778 26656//30812 26767//30779 +f 26768//30813 26883//30814 26882//30780 +f 26767//30779 26768//30813 26882//30780 +f 26883//30814 27001//30815 27000//30781 +f 26882//30780 26883//30814 27000//30781 +f 27001//30815 27118//30816 27117//30782 +f 27000//30781 27001//30815 27117//30782 +f 27118//30816 27237//30817 27236//30783 +f 27117//30782 27118//30816 27236//30783 +f 27355//30818 27354//30784 27236//30783 +f 27237//30817 27355//30818 27236//30783 +f 27474//30819 27473//30785 27354//30784 +f 27355//30818 27474//30819 27354//30784 +f 27592//30820 27591//30786 27473//30785 +f 27474//30819 27592//30820 27473//30785 +f 27709//30821 27708//30787 27591//30786 +f 27592//30820 27709//30821 27591//30786 +f 27709//30821 27824//30822 27823//30788 +f 27708//30787 27709//30821 27823//30788 +f 27824//30822 27940//30823 27939//30789 +f 27823//30788 27824//30822 27939//30789 +f 27940//30823 28057//30824 28056//30790 +f 27939//30789 27940//30823 28056//30790 +f 28057//30824 28174//30825 28173//30791 +f 28056//30790 28057//30824 28173//30791 +f 28174//30825 28291//30826 28290//30792 +f 28173//30791 28174//30825 28290//30792 +f 28291//30826 28411//30827 28410//30793 +f 28290//30792 28291//30826 28410//30793 +f 28411//30827 28533//30828 28532//30794 +f 28410//30793 28411//30827 28532//30794 +f 28533//30828 28662//30829 28661//30795 +f 28532//30794 28533//30828 28661//30795 +f 28662//30829 28794//30830 28793//30796 +f 28661//30795 28662//30829 28793//30796 +f 28794//30830 28927//30831 28926//30797 +f 28793//30796 28794//30830 28926//30797 +f 28927//30831 29062//30832 29061//30798 +f 28926//30797 28927//30831 29061//30798 +f 29062//30832 29199//30833 29198//30799 +f 29061//30798 29062//30832 29198//30799 +f 29199//30833 29336//30834 29335//30800 +f 29198//30799 29199//30833 29335//30800 +f 29336//30834 29473//30835 29472//30801 +f 29335//30800 29336//30834 29472//30801 +f 29473//30835 29611//30836 29610//30802 +f 29472//30801 29473//30835 29610//30802 +f 29611//30836 29744//30837 29743//30803 +f 29610//30802 29611//30836 29743//30803 +f 29873//30838 29872//30804 29743//30803 +f 29744//30837 29873//30838 29743//30803 +f 29873//30838 30004//30839 30003//30805 +f 29872//30804 29873//30838 30003//30805 +f 30004//30839 30136//30840 30135//30806 +f 30003//30805 30004//30839 30135//30806 +f 30136//30840 30269//30841 30268//30807 +f 30135//30806 30136//30840 30268//30807 +f 30269//30841 30402//30842 30401//30808 +f 30268//30807 30269//30841 30401//30808 +f 30402//30842 30536//2212 30535//27916 +f 30401//30808 30402//30842 30535//27916 +f 27498//21985 20758//17403 27499//2367 +f 32197//16126 32298//16125 32196//15271 +f 28459//28887 28460//28239 29155//28889 +f 28885//28242 30687//27713 26503//28891 +f 21474//8309 30420//1141 35519//8504 +f 33058//29034 33057//16087 32951//16358 +f 15898//21502 6784//28734 1962//29107 +f 6784//28734 7303//24394 11577//28147 +f 26734//30239 6852//28700 27724//28699 +f 19898//29335 1962//29107 22044//22346 +f 18926//28662 2406//28643 2539//30146 +f 18916//30145 18926//28662 2539//30146 +f 26710//5472 26822//5601 26821//15468 +f 26709//28783 26710//5472 26821//15468 +f 27020//28804 27021//28713 29140//28858 +f 29141//28636 29269//28637 29158//28911 +f 21573//23242 22553//23266 21572//23245 +f 22845//26184 3983//23478 30024//17827 +f 30701//29597 30835//28971 30834//20164 +f 22745//27776 23610//18730 24515//28028 +f 21837//28726 29959//28725 28473//29042 +f 19348//28803 17752//28715 27020//28804 +f 24958//12451 24604//27427 20074//24180 +f 20159//18537 24958//12451 20074//24180 +f 27869//6068 27259//28527 27985//6193 +f 7068//30144 6868//28682 18916//30145 +f 24296//15205 24450//25895 24297//11349 +f 19419//22734 18176//2264 7455//8665 +f 34805//25111 34934//5487 34804//2302 +f 23022//18732 21377//18731 28253//10890 +f 27087//8494 11854//16103 26971//8495 +f 16152//23205 19701//3232 27666//19022 +f 32631//17179 32630//30843 32521//14720 +f 21248//24062 27837//23262 21249//23261 +f 19130//22275 11385//5064 27782//14780 +f 29247//29609 29246//29133 29109//29126 +f 30707//29090 30706//28689 30572//28688 +f 30573//29184 30707//29090 30572//28688 +f 35438//6711 35588//2799 35817//5585 +f 33377//2386 33376//2388 33267//16093 +f 28573//29138 28702//29154 28572//28686 +f 29239//28991 29238//28334 29101//28331 +f 28096//28925 28213//28928 28095//28926 +f 29557//28151 30749//28946 17267//30142 +f 20603//25812 20602//25701 20520//27743 +f 28124//28633 12515//17528 12605//17527 +f 29408//23080 28344//28363 29124//28491 +f 4397//9192 22271//25553 14091//17319 +f 19706//30459 2671//21117 21849//28529 +f 30737//23015 19706//30459 21849//28529 +f 19450//28660 19339//30283 2539//30146 +f 6973//30372 7189//28596 11454//30411 +f 26509//10835 26605//16811 26508//22696 +f 26605//16811 26710//5472 26709//28783 +f 30466//28802 30467//28760 19348//28803 +f 29158//28911 29269//28637 30089//28961 +f 29817//27085 21777//23183 22157//27084 +f 24217//21859 21917//23096 24318//27265 +f 30567//28864 30701//29597 30700//28970 +f 31174//10375 31238//29734 31237//22491 +f 31478//30844 25321//17945 31479//444 +f 26508//22696 26421//16227 31856//22546 +f 19995//24174 19964//29005 19965//24232 +f 31052//30845 31051//6611 30990//6610 +f 32727//9723 32726//9725 32612//25067 +f 25944//16780 24832//16782 26366//17616 +f 30986//26480 31047//24734 30985//16549 +f 31233//4172 31298//21055 31232//2809 +f 15611//17524 32567//17523 15610//24430 +f 33164//30846 33163//29088 33058//29034 +f 31617//15432 31618//15446 31712//15448 +f 32344//13208 32448//17444 32343//17445 +f 35726//8103 35358//8193 35446//6504 +f 30076//1288 27755//3084 27409//21121 +f 29002//24052 29399//17821 30076//1288 +f 27409//21121 29002//24052 30076//1288 +f 24468//18621 28125//14834 23655//23693 +f 8231//11031 35845//11030 35744//17747 +f 33863//11196 33998//24184 33862//3614 +f 27372//13342 27254//14761 26252//18093 +f 28340//14922 24456//21636 24909//14923 +f 30700//28970 30701//29597 30834//20164 +f 24228//28004 24021//28026 24227//28027 +f 31105//17835 31106//15001 31168//2807 +f 29133//20116 23958//20117 23899//20979 +f 25343//27502 24804//22409 29939//22612 +f 26388//14714 26456//30847 26455//14715 +f 24408//14713 26455//14715 26454//28311 +f 26456//30847 26552//30848 26551//30811 +f 26455//14715 26456//30847 26551//30811 +f 26552//30848 26657//30849 26656//30812 +f 26551//30811 26552//30848 26656//30812 +f 26769//30850 26768//30813 26656//30812 +f 26657//30849 26769//30850 26656//30812 +f 26769//30850 26884//30851 26883//30814 +f 26768//30813 26769//30850 26883//30814 +f 27002//30852 27001//30815 26883//30814 +f 26884//30851 27002//30852 26883//30814 +f 27119//30853 27118//30816 27001//30815 +f 27002//30852 27119//30853 27001//30815 +f 27119//30853 27238//30854 27237//30817 +f 27118//30816 27119//30853 27237//30817 +f 27238//30854 27356//30855 27355//30818 +f 27237//30817 27238//30854 27355//30818 +f 27356//30855 27475//30856 27474//30819 +f 27355//30818 27356//30855 27474//30819 +f 27593//30857 27592//30820 27474//30819 +f 27475//30856 27593//30857 27474//30819 +f 27710//30858 27709//30821 27592//30820 +f 27593//30857 27710//30858 27592//30820 +f 27825//30859 27824//30822 27709//30821 +f 27710//30858 27825//30859 27709//30821 +f 27825//30859 27941//30860 27940//30823 +f 27824//30822 27825//30859 27940//30823 +f 27941//30860 28058//30861 28057//30824 +f 27940//30823 27941//30860 28057//30824 +f 28058//30861 28175//30862 28174//30825 +f 28057//30824 28058//30861 28174//30825 +f 28175//30862 28292//30863 28291//30826 +f 28174//30825 28175//30862 28291//30826 +f 28292//30863 28412//30864 28411//30827 +f 28291//30826 28292//30863 28411//30827 +f 28412//30864 28534//30865 28533//30828 +f 28411//30827 28412//30864 28533//30828 +f 28534//30865 28663//30866 28662//30829 +f 28533//30828 28534//30865 28662//30829 +f 28663//30866 28795//30867 28794//30830 +f 28662//30829 28663//30866 28794//30830 +f 28795//30867 28928//30868 28927//30831 +f 28794//30830 28795//30867 28927//30831 +f 28928//30868 29063//30869 29062//30832 +f 28927//30831 28928//30868 29062//30832 +f 29063//30869 29200//30870 29199//30833 +f 29062//30832 29063//30869 29199//30833 +f 29200//30870 29337//30871 29336//30834 +f 29199//30833 29200//30870 29336//30834 +f 29337//30871 29474//30872 29473//30835 +f 29336//30834 29337//30871 29473//30835 +f 29474//30872 29612//30873 29611//30836 +f 29473//30835 29474//30872 29611//30836 +f 29745//30874 29744//30837 29611//30836 +f 29612//30873 29745//30874 29611//30836 +f 29745//30874 29874//30875 29873//30838 +f 29744//30837 29745//30874 29873//30838 +f 29874//30875 30005//30876 30004//30839 +f 29873//30838 29874//30875 30004//30839 +f 30005//30876 30137//30877 30136//30840 +f 30004//30839 30005//30876 30136//30840 +f 30137//30877 30270//30878 30269//30841 +f 30136//30840 30137//30877 30269//30841 +f 30270//30878 30403//30879 30402//30842 +f 30269//30841 30270//30878 30402//30842 +f 30403//30879 30537//30880 30536//2212 +f 30402//30842 30403//30879 30536//2212 +f 29494//21993 35788//3725 29356//14896 +f 30537//30880 30671//2210 30536//2212 +f 29155//28889 28885//28242 26503//28891 +f 24870//26708 26249//27106 13793//15178 +f 2810//30881 22138//14320 25398//25975 +f 30930//3916 30929//3918 30875//21547 +f 28587//28743 28619//28741 28490//29438 +f 28586//29397 28587//28743 28490//29438 +f 26734//30239 19349//30194 6852//28700 +f 24424//29346 24339//27393 24340//22960 +f 30452//28772 30586//28730 30451//30004 +f 30720//28683 30719//30097 30585//30047 +f 26712//5058 26824//22787 26823//5059 +f 28476//5053 29698//5052 26797//2120 +f 28744//28801 28755//28843 30466//28802 +f 29140//28858 29141//28636 29158//28911 +f 26717//21455 26738//21454 28614//21978 +f 28618//21977 28344//28363 29408//23080 +f 25645//27293 28116//27505 25644//27177 +f 23174//15091 29679//26176 13768//23003 +f 27021//28713 29141//28636 29140//28858 +f 27398//28897 28755//28843 28744//28801 +f 31044//7936 31106//15001 31105//17835 +f 31050//21482 31051//6611 31112//17233 +f 27259//28527 29630//6194 27985//6193 +f 6868//28682 18926//28662 18916//30145 +f 7772//6018 713//5460 595//5459 +f 12989//15662 16776//15416 3795//15418 +f 25682//27831 11923//25885 9121//13757 +f 9121//13757 13316//17391 25682//27831 +f 938//1019 16484//8870 7588//9149 +f 24827//7169 26821//15468 26937//7167 +f 28884//15490 24745//21460 23780//23765 +f 27162//29307 27163//28812 28471//29349 +f 19786//30708 19352//29997 19460//22040 +f 7096//12268 27145//9608 6993//21995 +f 19788//29035 19353//29159 19352//29997 +f 19786//30708 19788//29035 19352//29997 +f 35685//3617 12810//15945 30023//28008 +f 7514//14462 7513//8419 33673//14978 +f 29102//29037 29239//28991 29101//28331 +f 29376//28944 29375//28355 29238//28334 +f 29827//28964 28366//27986 6659//10107 +f 28213//28928 28212//28930 28095//28926 +f 25399//22428 24241//15210 23604//22429 +f 26345//15970 26346//22066 27085//22068 +f 27256//28739 28340//14922 29153//14924 +f 24827//7169 24887//23611 24888//27910 +f 27023//30373 18283//30328 29261//28657 +f 29285//30327 27724//28699 27844//28658 +f 6868//28682 7068//30144 30719//30097 +f 2406//28643 19450//28660 2539//30146 +f 26429//17113 11482//15941 26361//15942 +f 26606//5471 26607//28196 26711//5057 +f 26483//28855 27398//28897 27386//28949 +f 17752//28715 27021//28713 27020//28804 +f 27259//28527 454//15236 29630//6194 +f 28321//28447 28441//29559 28440//30461 +f 28021//14576 19910//361 25391//27410 +f 26509//10835 26508//22696 26423//10836 +f 17263//2664 30472//17414 24011//19496 +f 26510//10834 26423//10836 31955//25187 +f 31955//25187 26424//25186 26510//10834 +f 25646//27747 25283//27742 28230//27915 +f 30991//29604 30990//6610 30932//26805 +f 33736//27239 33870//2389 33735//2391 +f 33870//2389 34005//28055 33869//2390 +f 27149//3976 29495//3031 29005//19588 +f 34005//28055 34004//14655 33869//2390 +f 31459//15687 31531//15431 31530//4192 +f 27149//3976 29005//19588 27986//14824 +f 14262//15929 13868//8856 10710//14345 +f 23693//14983 20173//25033 26692//29008 +f 19238//30882 27409//21121 27870//3977 +f 27986//14824 19238//30882 27870//3977 +f 28860//30883 29002//24052 27409//21121 +f 19238//30882 28860//30883 27409//21121 +f 25391//27410 19910//361 28625//22125 +f 28860//30883 28595//20982 29002//24052 +f 26716//29522 26832//29870 23818//1545 +f 28625//22125 19910//361 19909//360 +f 13945//17486 29962//27414 29961//17548 +f 28996//26596 24864//27440 24739//14760 +f 28304//29652 25407//11194 25550//25979 +f 21973//16569 23323//16568 27553//13615 +f 14925//13141 12561//18041 12382//17926 +f 26349//21548 26388//14714 27895//24541 +f 26349//21548 26389//22032 26388//14714 +f 31202//30884 31266//30885 31201//30886 +f 26389//22032 26457//30887 26456//30847 +f 26388//14714 26389//22032 26456//30847 +f 26457//30887 26553//30888 26552//30848 +f 26456//30847 26457//30887 26552//30848 +f 26553//30888 26658//30889 26657//30849 +f 26552//30848 26553//30888 26657//30849 +f 26770//30890 26769//30850 26657//30849 +f 26658//30889 26770//30890 26657//30849 +f 26770//30890 26885//30891 26884//30851 +f 26769//30850 26770//30890 26884//30851 +f 26885//30891 27003//30892 27002//30852 +f 26884//30851 26885//30891 27002//30852 +f 27003//30892 27120//30893 27119//30853 +f 27002//30852 27003//30892 27119//30853 +f 27120//30893 27239//30894 27238//30854 +f 27119//30853 27120//30893 27238//30854 +f 27239//30894 27357//30895 27356//30855 +f 27238//30854 27239//30894 27356//30855 +f 27357//30895 27476//30896 27475//30856 +f 27356//30855 27357//30895 27475//30856 +f 27594//30897 27593//30857 27475//30856 +f 27476//30896 27594//30897 27475//30856 +f 27711//30898 27710//30858 27593//30857 +f 27594//30897 27711//30898 27593//30857 +f 27826//30899 27825//30859 27710//30858 +f 27711//30898 27826//30899 27710//30858 +f 27826//30899 27942//30900 27941//30860 +f 27825//30859 27826//30899 27941//30860 +f 27942//30900 28059//30901 28058//30861 +f 27941//30860 27942//30900 28058//30861 +f 28059//30901 28176//30902 28175//30862 +f 28058//30861 28059//30901 28175//30862 +f 28176//30902 28293//30903 28292//30863 +f 28175//30862 28176//30902 28292//30863 +f 28293//30903 28413//30904 28412//30864 +f 28292//30863 28293//30903 28412//30864 +f 28413//30904 28535//30905 28534//30865 +f 28412//30864 28413//30904 28534//30865 +f 28535//30905 28664//30906 28663//30866 +f 28534//30865 28535//30905 28663//30866 +f 28664//30906 28796//30907 28795//30867 +f 28663//30866 28664//30906 28795//30867 +f 28796//30907 28929//30908 28928//30868 +f 28795//30867 28796//30907 28928//30868 +f 28929//30908 29064//30909 29063//30869 +f 28928//30868 28929//30908 29063//30869 +f 29064//30909 29201//30910 29200//30870 +f 29063//30869 29064//30909 29200//30870 +f 29201//30910 29338//30911 29337//30871 +f 29200//30870 29201//30910 29337//30871 +f 29338//30911 29475//30912 29474//30872 +f 29337//30871 29338//30911 29474//30872 +f 29475//30912 29613//30913 29612//30873 +f 29474//30872 29475//30912 29612//30873 +f 29746//30914 29745//30874 29612//30873 +f 29613//30913 29746//30914 29612//30873 +f 29746//30914 29875//30915 29874//30875 +f 29745//30874 29746//30914 29874//30875 +f 29875//30915 30006//30916 30005//30876 +f 29874//30875 29875//30915 30005//30876 +f 30006//30916 30138//30917 30137//30877 +f 30005//30876 30006//30916 30137//30877 +f 30138//30917 30271//30918 30270//30878 +f 30137//30877 30138//30917 30270//30878 +f 30404//30919 30403//30879 30270//30878 +f 30271//30918 30404//30919 30270//30878 +f 30404//30919 30538//30920 30537//30880 +f 30403//30879 30404//30919 30537//30880 +f 30538//30920 30672//27498 30671//2210 +f 30537//30880 30538//30920 30671//2210 +f 20734//23348 22950//23333 21494//23368 +f 33741//19432 33875//30921 33740//30922 +f 32048//22843 32047//2633 31950//5145 +f 23604//22429 24241//15210 26793//25578 +f 28619//28741 19908//28740 28947//29477 +f 28490//29438 28619//28741 28947//29477 +f 29016//30098 19462//28706 28604//28704 +f 28475//30147 29016//30098 28604//28704 +f 30319//28709 30452//28772 30318//29960 +f 30586//28730 30720//28683 30585//30047 +f 26797//2120 27164//28565 19040//2127 +f 28848//5060 28981//4914 28847//28426 +f 27953//28856 26483//28855 26482//28895 +f 30467//28760 17752//28715 19348//28803 +f 29090//22186 29091//29725 29227//22191 +f 27505//21838 27623//29109 27622//28448 +f 26593//28731 27759//2135 28984//21852 +f 11399//28791 3324//28857 27876//28841 +f 30743//26349 19271//28983 2542//22148 +f 27386//28949 27398//28897 28744//28801 +f 28755//28843 30467//28760 30466//28802 +f 24305//15026 20760//15495 25112//15027 +f 28848//5060 28847//28426 28715//15031 +f 24430//27959 28225//21054 24285//21744 +f 29763//10908 19129//6067 27401//18335 +f 17820//27181 18360//27255 23883//27182 +f 23958//20117 23957//24166 23898//7668 +f 15042//19301 18180//22840 19107//22908 +f 18360//27255 12451//27463 23883//27182 +f 22331//28696 19786//30708 22332//28697 +f 21748//3341 17257//3343 5089//22861 +f 29018//6192 23578//6191 29019//27411 +f 19786//30708 19787//30628 22332//28697 +f 29018//6192 29019//27411 28130//23075 +f 28338//28939 29018//6192 28130//23075 +f 19353//29159 6789//29160 5609//22038 +f 19352//29997 19353//29159 5609//22038 +f 27082//5193 28725//28401 28726//28119 +f 23060//23019 30285//21756 22962//22797 +f 29239//28991 29376//28944 29238//28334 +f 29376//28944 29513//28892 29512//28198 +f 28480//28544 30222//28922 30215//28545 +f 16152//23205 21329//4140 29431//22611 +f 30761//28982 24778//23946 30760//11363 +f 26417//28341 27255//25461 27202//25460 +f 19908//28740 27256//28739 19235//29516 +f 19235//29516 27256//28739 29153//14924 +f 29285//30327 26734//30239 27724//28699 +f 19349//30194 29951//28702 6852//28700 +f 30186//28710 30319//28709 30185//29913 +f 30720//28683 6868//28682 30719//30097 +f 28716//15030 28848//5060 28715//15031 +f 28981//4914 28980//30452 28847//28426 +f 342//28854 3324//28857 343//28758 +f 26482//28895 26483//28855 27386//28949 +f 21943//1826 19448//12366 21944//19667 +f 19448//12366 21472//12368 21470//28754 +f 35943//2835 9671//13144 9785//12955 +f 23522//15493 16759//25161 28625//22125 +f 31956//30923 31955//25187 26423//10836 +f 31957//30924 31956//30923 31856//22546 +f 26423//10836 31856//22546 31956//30923 +f 31856//22546 26423//10836 26508//22696 +f 30933//16459 30991//29604 30932//26805 +f 31140//30925 31203//30926 31139//27173 +f 34141//16730 34140//1148 34004//14655 +f 34005//28055 34141//16730 34004//14655 +f 12917//17276 35870//16988 24615//20989 +f 29633//14343 26404//6825 29766//9214 +f 27728//30927 29005//19588 29633//14343 +f 29766//9214 27728//30927 29633//14343 +f 28103//30928 27986//14824 29005//19588 +f 27728//30927 28103//30928 29005//19588 +f 11253//30929 19238//30882 27986//14824 +f 28103//30928 11253//30929 27986//14824 +f 17268//30930 28860//30883 19238//30882 +f 11253//30929 17268//30930 19238//30882 +f 30211//30931 28595//20982 28860//30883 +f 17268//30930 30211//30931 28860//30883 +f 24212//18036 24211//21088 24152//17661 +f 30211//30931 18098//20915 28595//20982 +f 29825//28956 24511//27880 24424//29346 +f 26706//29188 26601//15096 24163//1554 +f 29527//22858 29665//1684 29526//29157 +f 30045//20970 30046//20969 30177//28777 +f 30733//16456 22885//25070 22984//16457 +f 20262//18760 25432//25271 25229//25373 +f 25366//26835 25078//24428 26453//28312 +f 35067//16947 17373//2699 17372//22031 +f 35067//16947 17372//22031 34937//16798 +f 26390//21705 26458//17325 26457//30887 +f 26389//22032 26390//21705 26457//30887 +f 26458//17325 26554//27197 26553//30888 +f 26457//30887 26458//17325 26553//30888 +f 26554//27197 26659//30932 26658//30889 +f 26553//30888 26554//27197 26658//30889 +f 26659//30932 26771//30933 26770//30890 +f 26658//30889 26659//30932 26770//30890 +f 26771//30933 26886//30934 26885//30891 +f 26770//30890 26771//30933 26885//30891 +f 26886//30934 27004//30935 27003//30892 +f 26885//30891 26886//30934 27003//30892 +f 27121//30936 27120//30893 27003//30892 +f 27004//30935 27121//30936 27003//30892 +f 27240//30937 27239//30894 27120//30893 +f 27121//30936 27240//30937 27120//30893 +f 27240//30937 27358//30938 27357//30895 +f 27239//30894 27240//30937 27357//30895 +f 27358//30938 27477//30939 27476//30896 +f 27357//30895 27358//30938 27476//30896 +f 27477//30939 27595//30940 27594//30897 +f 27476//30896 27477//30939 27594//30897 +f 27595//30940 27712//30941 27711//30898 +f 27594//30897 27595//30940 27711//30898 +f 27712//30941 27827//30942 27826//30899 +f 27711//30898 27712//30941 27826//30899 +f 27827//30942 27943//30943 27942//30900 +f 27826//30899 27827//30942 27942//30900 +f 27943//30943 28060//30944 28059//30901 +f 27942//30900 27943//30943 28059//30901 +f 28060//30944 28177//30945 28176//30902 +f 28059//30901 28060//30944 28176//30902 +f 28294//30946 28293//30903 28176//30902 +f 28177//30945 28294//30946 28176//30902 +f 28414//30947 28413//30904 28293//30903 +f 28294//30946 28414//30947 28293//30903 +f 28414//30947 28536//30948 28535//30905 +f 28413//30904 28414//30947 28535//30905 +f 28536//30948 28665//30949 28664//30906 +f 28535//30905 28536//30948 28664//30906 +f 28665//30949 28797//30950 28796//30907 +f 28664//30906 28665//30949 28796//30907 +f 28797//30950 28930//30951 28929//30908 +f 28796//30907 28797//30950 28929//30908 +f 28930//30951 29065//30952 29064//30909 +f 28929//30908 28930//30951 29064//30909 +f 29065//30952 29202//30953 29201//30910 +f 29064//30909 29065//30952 29201//30910 +f 29202//30953 29339//30954 29338//30911 +f 29201//30910 29202//30953 29338//30911 +f 29339//30954 29476//30955 29475//30912 +f 29338//30911 29339//30954 29475//30912 +f 29476//30955 29614//30956 29613//30913 +f 29475//30912 29476//30955 29613//30913 +f 29747//30957 29746//30914 29613//30913 +f 29614//30956 29747//30957 29613//30913 +f 29747//30957 29876//30958 29875//30915 +f 29746//30914 29747//30957 29875//30915 +f 29876//30958 30007//30959 30006//30916 +f 29875//30915 29876//30958 30006//30916 +f 30007//30959 30139//30960 30138//30917 +f 30006//30916 30007//30959 30138//30917 +f 30139//30960 30272//30961 30271//30918 +f 30138//30917 30139//30960 30271//30918 +f 30405//30962 30404//30919 30271//30918 +f 30272//30961 30405//30962 30271//30918 +f 30539//30963 30538//30920 30404//30919 +f 30405//30962 30539//30963 30404//30919 +f 30539//30963 30673//27499 30672//27498 +f 30538//30920 30539//30963 30672//27498 +f 15724//22859 21032//6177 1859//26348 +f 24521//25931 24350//22679 29358//27957 +f 29020//26657 19235//29516 24444//26655 +f 15330//26807 28020//28738 28018//12273 +f 19566//29312 19562//28744 26581//29352 +f 6847//24396 6848//24395 21369//15969 +f 28101//30048 26970//28756 19462//28706 +f 29016//30098 28101//30048 19462//28706 +f 30186//28710 30185//29913 30053//29869 +f 30586//28730 30585//30047 30451//30004 +f 29116//5600 29115//30453 28980//30452 +f 28981//4914 29116//5600 28980//30452 +f 17759//28759 21554//28906 343//28758 +f 27876//28841 27953//28856 26482//28895 +f 25078//24428 24408//14713 26454//28311 +f 28491//29439 19902//28076 19518//28075 +f 25931//25593 19478//27465 23810//26791 +f 31924//20199 31923//30964 31817//20200 +f 570//28910 21554//28906 17759//28759 +f 572//28712 570//28910 17759//28759 +f 29253//5605 29252//29196 29115//30453 +f 29116//5600 29253//5605 29115//30453 +f 24532//27417 10004//14998 18360//27255 +f 27621//15497 27620//21967 27502//21966 +f 23523//4293 25179//13850 25178//13849 +f 26789//23383 26790//14544 24886//10839 +f 23581//5751 24830//5753 12451//27463 +f 30212//29390 30215//28545 19676//22860 +f 27381//21325 21276//26099 21366//22581 +f 30599//26670 25657//17805 25658//20081 +f 29143//2141 26902//29775 28217//28459 +f 28086//5336 28203//5338 28202//19846 +f 28562//22936 28691//2311 28690//22150 +f 29520//14329 29658//10623 29519//6334 +f 30189//29200 30322//28976 30188//21490 +f 6981//23500 17576//28607 6538//28984 +f 30589//29128 30588//28978 30454//10236 +f 11385//5064 27875//19071 27782//14780 +f 30476//13833 30486//5478 19130//22275 +f 29375//28355 29376//28944 29512//28198 +f 29512//28198 29513//28892 29650//28260 +f 12133//8119 35886//1949 35821//6913 +f 31993//21172 32093//21171 31992//15372 +f 30770//25016 30762//22584 2806//22583 +f 24031//17042 24091//25323 20411//20914 +f 26590//28742 28587//28743 28586//29397 +f 28947//29477 19908//28740 19235//29516 +f 28475//30147 28604//28704 29951//28702 +f 19349//30194 28475//30147 29951//28702 +f 30054//28708 30186//28710 30053//29869 +f 30452//28772 30451//30004 30318//29960 +f 29390//5604 29389//29197 29252//29196 +f 29253//5605 29390//5604 29252//29196 +f 19686//28960 570//28910 572//28712 +f 3324//28857 27953//28856 27876//28841 +f 26702//12064 26814//5195 26813//14770 +f 23810//26791 19478//27465 30811//27599 +f 32570//21343 17397//21342 26611//1076 +f 32462//1075 32570//21343 26611//1076 +f 26832//29870 26716//29522 17485//21866 +f 31803//30965 31909//28613 31802//30966 +f 27548//17310 12174//16964 27664//24600 +f 31720//30967 31820//30968 31719//30969 +f 33092//30970 33197//30971 33091//28965 +f 30933//16459 30932//26805 30878//24427 +f 30879//16460 30933//16459 30878//24427 +f 33225//30972 33330//27195 33224//30973 +f 34279//16729 34278//848 34140//1148 +f 30026//4357 29766//9214 28308//2220 +f 32637//4146 32638//8113 32751//8115 +f 26487//30974 27728//30927 29766//9214 +f 30026//4357 26487//30974 29766//9214 +f 28220//30975 28103//30928 27728//30927 +f 26487//30974 28220//30975 27728//30927 +f 27292//30976 11253//30929 28103//30928 +f 28220//30975 27292//30976 28103//30928 +f 28994//30977 17268//30930 11253//30929 +f 27292//30976 28994//30977 11253//30929 +f 29548//30978 30211//30931 17268//30930 +f 28994//30977 29548//30978 17268//30930 +f 29274//30979 18098//20915 30211//30931 +f 29548//30978 29274//30979 30211//30931 +f 25570//22933 23712//22935 25571//18765 +f 29274//30979 19242//20916 18098//20915 +f 28108//23766 28100//22110 24831//16573 +f 25365//17326 26458//17325 26390//21705 +f 18672//28727 19437//28959 19683//28728 +f 3324//28857 11399//28791 343//28758 +f 16219//8254 16988//20370 15232//18715 +f 26701//4197 26702//12064 26813//14770 +f 18646//16649 18645//16651 21037//18665 +f 35067//16947 34937//16798 34938//16797 +f 24510//27395 24511//27880 24618//27419 +f 22553//23266 27752//21716 27612//8308 +f 20954//229 21037//18665 18645//16651 +f 20953//230 20954//229 18645//16651 +f 26555//3785 26660//30980 26659//30932 +f 26554//27197 26555//3785 26659//30932 +f 26772//30981 26771//30933 26659//30932 +f 26660//30980 26772//30981 26659//30932 +f 26772//30981 26887//30982 26886//30934 +f 26771//30933 26772//30981 26886//30934 +f 26887//30982 27005//30983 27004//30935 +f 26886//30934 26887//30982 27004//30935 +f 27122//30984 27121//30936 27004//30935 +f 27005//30983 27122//30984 27004//30935 +f 27241//30985 27240//30937 27121//30936 +f 27122//30984 27241//30985 27121//30936 +f 27359//30986 27358//30938 27240//30937 +f 27241//30985 27359//30986 27240//30937 +f 27478//30987 27477//30939 27358//30938 +f 27359//30986 27478//30987 27358//30938 +f 27596//30988 27595//30940 27477//30939 +f 27478//30987 27596//30988 27477//30939 +f 27596//30988 27713//30989 27712//30941 +f 27595//30940 27596//30988 27712//30941 +f 27713//30989 27828//30990 27827//30942 +f 27712//30941 27713//30989 27827//30942 +f 27828//30990 27944//30991 27943//30943 +f 27827//30942 27828//30990 27943//30943 +f 28061//30992 28060//30944 27943//30943 +f 27944//30991 28061//30992 27943//30943 +f 28178//30993 28177//30945 28060//30944 +f 28061//30992 28178//30993 28060//30944 +f 28295//30994 28294//30946 28177//30945 +f 28178//30993 28295//30994 28177//30945 +f 28415//30995 28414//30947 28294//30946 +f 28295//30994 28415//30995 28294//30946 +f 28537//30996 28536//30948 28414//30947 +f 28415//30995 28537//30996 28414//30947 +f 28666//30997 28665//30949 28536//30948 +f 28537//30996 28666//30997 28536//30948 +f 28666//30997 28798//30998 28797//30950 +f 28665//30949 28666//30997 28797//30950 +f 28798//30998 28931//30999 28930//30951 +f 28797//30950 28798//30998 28930//30951 +f 28931//30999 29066//31000 29065//30952 +f 28930//30951 28931//30999 29065//30952 +f 29066//31000 29203//31001 29202//30953 +f 29065//30952 29066//31000 29202//30953 +f 29203//31001 29340//31002 29339//30954 +f 29202//30953 29203//31001 29339//30954 +f 29340//31002 29477//31003 29476//30955 +f 29339//30954 29340//31002 29476//30955 +f 29477//31003 29615//31004 29614//30956 +f 29476//30955 29477//31003 29614//30956 +f 29748//31005 29747//30957 29614//30956 +f 29615//31004 29748//31005 29614//30956 +f 29748//31005 29877//31006 29876//30958 +f 29747//30957 29748//31005 29876//30958 +f 29877//31006 30008//31007 30007//30959 +f 29876//30958 29877//31006 30007//30959 +f 30140//31008 30139//30960 30007//30959 +f 30008//31007 30140//31008 30007//30959 +f 30273//31009 30272//30961 30139//30960 +f 30140//31008 30273//31009 30139//30960 +f 30406//31010 30405//30962 30272//30961 +f 30273//31009 30406//31010 30272//30961 +f 30540//31011 30539//30963 30405//30962 +f 30406//31010 30540//31011 30405//30962 +f 30674//29825 30673//27499 30539//30963 +f 30540//31011 30674//29825 30539//30963 +f 30673//27499 25667//14500 25367//14499 +f 22195//28050 30631//29163 30496//29118 +f 29021//8363 23960//3116 11726//3596 +f 24433//23648 29422//4834 24267//1928 +f 27414//5428 27432//29038 28814//21244 +f 19562//28744 26590//28742 26581//29352 +f 29794//28792 29923//28757 29793//29785 +f 24732//27063 28237//22461 25288//26733 +f 30323//1976 30322//28976 30189//29200 +f 30054//28708 30053//29869 29922//29824 +f 30729//28998 7403//28995 30728//28711 +f 29527//22858 29526//29157 29389//29197 +f 35523//5465 35479//2218 28308//2220 +f 7403//28995 19437//28959 18672//28727 +f 8627//8693 1862//4022 1983//5011 +f 22177//21721 22178//23804 22273//23805 +f 23656//27416 24849//17408 23607//19651 +f 21554//28906 342//28854 343//28758 +f 30595//28999 30729//28998 30594//28680 +f 29665//1684 29798//21839 29664//29158 +f 29798//21839 29797//30450 29664//29158 +f 27863//29735 27862//29650 27747//28968 +f 27748//20894 27863//29735 27747//28968 +f 29492//4254 29490//27904 24349//14547 +f 29431//22611 19701//3232 16152//23205 +f 25682//27831 13316//17391 24582//17531 +f 23656//27416 10004//14998 24532//27417 +f 30215//28545 21748//3341 19676//22860 +f 20331//21669 20245//18536 20246//18538 +f 30712//28947 17569//28992 30711//28832 +f 29366//28436 29503//28443 29502//28733 +f 28955//22165 28956//21874 29090//22186 +f 29091//29725 29228//13621 29227//22191 +f 19031//28975 26904//854 6538//28984 +f 25693//27513 25834//27516 25692//25980 +f 30710//28833 7408//15254 6920//15253 +f 30709//22143 30710//28833 6920//15253 +f 30576//28834 30710//28833 30709//22143 +f 30575//24352 30576//28834 30709//22143 +f 29513//28892 29651//28814 29650//28260 +f 29651//28814 29784//28815 29783//28551 +f 28496//28314 30287//28297 30286//28878 +f 23577//6190 26503//28891 22389//27686 +f 26900//28496 26932//28339 26416//29562 +f 12174//16964 12257//16963 27664//24600 +f 27199//29186 27200//28747 28554//29231 +f 26581//29352 26590//28742 28586//29397 +f 19994//24176 25503//27291 19995//24174 +f 21142//4915 27137//21992 27146//15132 +f 29523//28896 29661//28842 29522//29691 +f 30319//28709 30318//29960 30185//29913 +f 29390//5604 29527//22858 29389//29197 +f 29665//1684 29664//29158 29526//29157 +f 30461//29044 30595//28999 30460//28679 +f 19683//28728 19686//28960 572//28712 +f 28878//5776 28754//29692 17480//6758 +f 30803//5777 28878//5776 17480//6758 +f 10242//22149 30772//2042 16611//2041 +f 26513//670 32153//31012 32254//31013 +f 35202//15530 35201//27806 35072//15531 +f 34942//16939 34941//16941 34812//31014 +f 33302//22778 33301//14718 33196//28966 +f 31820//30968 31819//31015 31719//30969 +f 31720//30967 31719//30969 31624//10366 +f 31625//10365 31720//30967 31624//10366 +f 34141//16730 34279//16729 34140//1148 +f 34417//14565 34416//15640 34278//848 +f 33078//31016 33077//31017 32971//31018 +f 35852//1549 35410//1548 35453//7459 +f 30291//31019 30026//4357 28428//2219 +f 6877//4774 30291//31019 28428//2219 +f 27033//31020 26487//30974 30026//4357 +f 30291//31019 27033//31020 30026//4357 +f 28337//31021 28220//30975 26487//30974 +f 27033//31020 28337//31021 26487//30974 +f 29824//31022 27292//30976 28220//30975 +f 28337//31021 29824//31022 28220//30975 +f 30206//31023 28994//30977 27292//30976 +f 29824//31022 30206//31023 27292//30976 +f 29410//31024 29548//30978 28994//30977 +f 30206//31023 29410//31024 28994//30977 +f 29820//31025 29274//30979 29548//30978 +f 29410//31024 29820//31025 29548//30978 +f 6409//23426 19242//20916 29274//30979 +f 29820//31025 6409//23426 29274//30979 +f 34134//20749 34272//24889 34133//6042 +f 21243//23425 21331//23424 23911//25216 +f 19437//28959 19686//28960 19683//28728 +f 27318//17658 12103//3169 27317//3168 +f 21652//5780 19674//29738 28754//29692 +f 28878//5776 21652//5780 28754//29692 +f 30804//6044 30757//29786 19674//29738 +f 11979//17925 12561//18041 12939//17987 +f 26253//3786 23814//9603 23927//3784 +f 21291//17127 21454//17086 25728//17088 +f 26934//6331 24638//27937 26819//28132 +f 20502//24317 14142//27090 23488//25718 +f 26556//23602 26661//31026 26660//30980 +f 26555//3785 26556//23602 26660//30980 +f 26773//31027 26772//30981 26660//30980 +f 26661//31026 26773//31027 26660//30980 +f 26888//31028 26887//30982 26772//30981 +f 26773//31027 26888//31028 26772//30981 +f 26888//31028 27006//31029 27005//30983 +f 26887//30982 26888//31028 27005//30983 +f 27123//31030 27122//30984 27005//30983 +f 27006//31029 27123//31030 27005//30983 +f 27242//31031 27241//30985 27122//30984 +f 27123//31030 27242//31031 27122//30984 +f 27360//31032 27359//30986 27241//30985 +f 27242//31031 27360//31032 27241//30985 +f 27479//31033 27478//30987 27359//30986 +f 27360//31032 27479//31033 27359//30986 +f 27597//31034 27596//30988 27478//30987 +f 27479//31033 27597//31034 27478//30987 +f 27714//31035 27713//30989 27596//30988 +f 27597//31034 27714//31035 27596//30988 +f 27829//31036 27828//30990 27713//30989 +f 27714//31035 27829//31036 27713//30989 +f 27945//31037 27944//30991 27828//30990 +f 27829//31036 27945//31037 27828//30990 +f 28062//31038 28061//30992 27944//30991 +f 27945//31037 28062//31038 27944//30991 +f 28179//31039 28178//30993 28061//30992 +f 28062//31038 28179//31039 28061//30992 +f 28296//31040 28295//30994 28178//30993 +f 28179//31039 28296//31040 28178//30993 +f 28416//31041 28415//30995 28295//30994 +f 28296//31040 28416//31041 28295//30994 +f 28538//31042 28537//30996 28415//30995 +f 28416//31041 28538//31042 28415//30995 +f 28667//31043 28666//30997 28537//30996 +f 28538//31042 28667//31043 28537//30996 +f 28667//31043 28799//31044 28798//30998 +f 28666//30997 28667//31043 28798//30998 +f 28799//31044 28932//31045 28931//30999 +f 28798//30998 28799//31044 28931//30999 +f 28932//31045 29067//31046 29066//31000 +f 28931//30999 28932//31045 29066//31000 +f 29204//31047 29203//31001 29066//31000 +f 29067//31046 29204//31047 29066//31000 +f 29204//31047 29341//31048 29340//31002 +f 29203//31001 29204//31047 29340//31002 +f 29341//31048 29478//31049 29477//31003 +f 29340//31002 29341//31048 29477//31003 +f 29616//31050 29615//31004 29477//31003 +f 29478//31049 29616//31050 29477//31003 +f 29749//31051 29748//31005 29615//31004 +f 29616//31050 29749//31051 29615//31004 +f 29749//31051 29878//31052 29877//31006 +f 29748//31005 29749//31051 29877//31006 +f 29878//31052 30009//31053 30008//31007 +f 29877//31006 29878//31052 30008//31007 +f 30141//31054 30140//31008 30008//31007 +f 30009//31053 30141//31054 30008//31007 +f 30274//31055 30273//31009 30140//31008 +f 30141//31054 30274//31055 30140//31008 +f 30407//31056 30406//31010 30273//31009 +f 30274//31055 30407//31056 30273//31009 +f 30407//31056 30541//31057 30540//31011 +f 30406//31010 30407//31056 30540//31011 +f 30675//31058 30674//29825 30540//31011 +f 30541//31057 30675//31058 30540//31011 +f 21723//26635 22195//28050 21914//23159 +f 30675//31058 30809//27464 30674//29825 +f 23266//24267 23169//2470 30826//2853 +f 17105//22049 22845//26184 6846//28274 +f 26723//25473 34062//1543 26613//1542 +f 29392//28453 29391//5603 29254//5599 +f 29661//28842 29794//28792 29660//29736 +f 29923//28757 30054//28708 29922//29824 +f 29927//18884 30058//14996 29926//30451 +f 30190//18931 30323//1976 30189//29200 +f 30461//29044 30460//28679 30327//28678 +f 6867//28771 7403//28995 18672//28727 +f 21652//5780 30804//6044 19674//29738 +f 30668//4303 4817//29826 30757//29786 +f 30804//6044 30668//4303 30757//29786 +f 28730//4302 28597//29871 4817//29826 +f 7403//28995 6867//28771 30728//28711 +f 30328//29100 30327//28678 30194//28661 +f 29927//18884 29926//30451 29797//30450 +f 29798//21839 29927//18884 29797//30450 +f 23706//25349 25915//25976 23607//19651 +f 29794//28792 29793//29785 29660//29736 +f 32153//31012 26513//670 12130//31059 +f 23638//9443 23688//27575 23687//24667 +f 30600//14792 23957//24166 23958//20117 +f 23958//20117 23898//7668 23899//20979 +f 28472//28543 30215//28545 30212//29390 +f 26611//1076 17485//21866 26716//29522 +f 19036//1670 29013//1669 26584//22557 +f 30440//28612 30441//28611 30574//22145 +f 30230//28942 21752//28941 21839//3342 +f 30222//28922 30230//28942 21839//3342 +f 19453//29053 16767//9356 19452//22931 +f 28085//22085 28086//5336 28202//19846 +f 30308//28610 30309//28779 30441//28611 +f 30442//28835 30576//28834 30575//24352 +f 7300//28827 7412//28817 7296//22939 +f 7184//22938 7300//28827 7296//22939 +f 6840//28824 26387//28821 26386//28866 +f 7300//28827 6840//28824 6839//28883 +f 28577//29143 28576//28787 28454//25592 +f 6839//28883 6840//28824 26386//28866 +f 26409//29139 26413//28749 27199//29186 +f 21791//28007 23911//25216 21331//23424 +f 29956//28909 17669//28908 21551//30095 +f 27200//28747 28593//28746 28554//29231 +f 30074//10899 27528//17425 30745//28822 +f 12087//8498 27649//28269 27763//28270 +f 29386//28806 29523//28896 29385//29649 +f 29661//28842 29660//29736 29522//29691 +f 30058//14996 30057//29199 29926//30451 +f 30590//2466 30589//29128 30455//28898 +f 30195//29105 30194//28661 30062//28663 +f 30729//28998 30728//28711 30594//28680 +f 30668//4303 28730//4302 4817//29826 +f 30339//17708 28131//29914 28597//29871 +f 17485//21866 26611//1076 17397//21342 +f 32955//31060 32954//31061 32846//31062 +f 32357//668 26513//670 32254//31013 +f 34287//31063 34425//31064 34286//31065 +f 34287//31063 34286//31065 34148//31066 +f 34554//14564 34553//15984 34416//15640 +f 34554//14564 34682//17372 34553//15984 +f 34417//14565 34554//14564 34416//15640 +f 34682//17372 34681//16796 34553//15984 +f 26610//669 32357//668 26611//1076 +f 18937//8480 35826//5328 26624//8481 +f 35608//6450 35549//15642 35775//6451 +f 11812//17996 11897//12361 7642//10628 +f 30424//31067 30291//31019 6877//4774 +f 30610//13017 30424//31067 6877//4774 +f 30639//31068 27033//31020 30291//31019 +f 30424//31067 30639//31068 30291//31019 +f 28305//31069 28337//31021 27033//31020 +f 30639//31068 28305//31069 27033//31020 +f 19542//31070 29824//31022 28337//31021 +f 28305//31069 19542//31070 28337//31021 +f 22235//31071 30206//31023 29824//31022 +f 19542//31070 22235//31071 29824//31022 +f 28193//31072 29410//31024 30206//31023 +f 22235//31071 28193//31072 30206//31023 +f 29407//31073 29820//31025 29410//31024 +f 28193//31072 29407//31073 29410//31024 +f 11123//27801 6409//23426 29820//31025 +f 29407//31073 11123//27801 29820//31025 +f 24451//6603 24452//17125 25728//17088 +f 23604//22429 24360//25458 26795//10788 +f 23854//27349 23912//19595 23911//25216 +f 29365//13623 29502//28733 29501//22210 +f 29932//29152 30063//29104 29931//28640 +f 30595//28999 30594//28680 30460//28679 +f 28730//4302 30339//17708 28597//29871 +f 28132//16042 29541//29915 28131//29914 +f 26556//23602 23927//3784 26461//23135 +f 30339//17708 28132//16042 28131//29914 +f 26461//23135 26557//31074 26556//23602 +f 20991//24243 21076//14394 20990//14393 +f 26557//31074 26662//31075 26661//31026 +f 26556//23602 26557//31074 26661//31026 +f 26662//31075 26774//31076 26773//31027 +f 26661//31026 26662//31075 26773//31027 +f 26889//31077 26888//31028 26773//31027 +f 26774//31076 26889//31077 26773//31027 +f 26889//31077 27007//31078 27006//31029 +f 26888//31028 26889//31077 27006//31029 +f 27124//31079 27123//31030 27006//31029 +f 27007//31078 27124//31079 27006//31029 +f 27243//31080 27242//31031 27123//31030 +f 27124//31079 27243//31080 27123//31030 +f 27361//31081 27360//31032 27242//31031 +f 27243//31080 27361//31081 27242//31031 +f 27480//31082 27479//31033 27360//31032 +f 27361//31081 27480//31082 27360//31032 +f 27598//31083 27597//31034 27479//31033 +f 27480//31082 27598//31083 27479//31033 +f 27715//31084 27714//31035 27597//31034 +f 27598//31083 27715//31084 27597//31034 +f 27830//31085 27829//31036 27714//31035 +f 27715//31084 27830//31085 27714//31035 +f 27946//31086 27945//31037 27829//31036 +f 27830//31085 27946//31086 27829//31036 +f 28063//31087 28062//31038 27945//31037 +f 27946//31086 28063//31087 27945//31037 +f 28180//31088 28179//31039 28062//31038 +f 28063//31087 28180//31088 28062//31038 +f 28297//31089 28296//31040 28179//31039 +f 28180//31088 28297//31089 28179//31039 +f 28417//31090 28416//31041 28296//31040 +f 28297//31089 28417//31090 28296//31040 +f 28539//31091 28538//31042 28416//31041 +f 28417//31090 28539//31091 28416//31041 +f 28668//31092 28667//31043 28538//31042 +f 28539//31091 28668//31092 28538//31042 +f 28800//31093 28799//31044 28667//31043 +f 28668//31092 28800//31093 28667//31043 +f 28933//31094 28932//31045 28799//31044 +f 28800//31093 28933//31094 28799//31044 +f 29068//31095 29067//31046 28932//31045 +f 28933//31094 29068//31095 28932//31045 +f 29068//31095 29205//31096 29204//31047 +f 29067//31046 29068//31095 29204//31047 +f 29205//31096 29342//31097 29341//31048 +f 29204//31047 29205//31096 29341//31048 +f 29479//31098 29478//31049 29341//31048 +f 29342//31097 29479//31098 29341//31048 +f 29617//31099 29616//31050 29478//31049 +f 29479//31098 29617//31099 29478//31049 +f 29750//31100 29749//31051 29616//31050 +f 29617//31099 29750//31100 29616//31050 +f 29879//31101 29878//31052 29749//31051 +f 29750//31100 29879//31101 29749//31051 +f 29879//31101 30010//31102 30009//31053 +f 29878//31052 29879//31101 30009//31053 +f 30142//31103 30141//31054 30009//31053 +f 30010//31102 30142//31103 30009//31053 +f 30275//31104 30274//31055 30141//31054 +f 30142//31103 30275//31104 30141//31054 +f 30275//31104 30408//31105 30407//31056 +f 30274//31055 30275//31104 30407//31056 +f 30408//31105 30542//31106 30541//31057 +f 30407//31056 30408//31105 30541//31057 +f 30542//31106 30676//31107 30675//31058 +f 30541//31057 30542//31106 30675//31058 +f 30676//31107 30810//31108 30809//27464 +f 30675//31058 30676//31107 30809//27464 +f 12604//17322 28123//24816 28124//28633 +f 30810//31108 19478//27465 30809//27464 +f 25293//22463 25309//26724 25288//26733 +f 22140//19652 25915//25976 22139//11692 +f 29249//28807 29386//28806 29248//29608 +f 29923//28757 29922//29824 29793//29785 +f 30190//18931 30189//29200 30057//29199 +f 30058//14996 30190//18931 30057//29199 +f 29803//29190 29932//29152 29802//28639 +f 30328//29100 30461//29044 30327//28678 +f 28254//14756 28224//29961 29541//29915 +f 28132//16042 28254//14756 29541//29915 +f 28251//5352 28135//30005 28224//29961 +f 28254//14756 28251//5352 28224//29961 +f 30195//29105 30328//29100 30194//28661 +f 29670//29236 29803//29190 29669//28595 +f 30456//2315 30455//28898 30322//28976 +f 30323//1976 30456//2315 30322//28976 +f 30199//28441 2538//28434 30198//22541 +f 29386//28806 29385//29649 29248//29608 +f 23218//19811 22945//19813 19978//15093 +f 24767//26710 25433//24051 25576//26903 +f 24428//26926 22745//27776 24515//28028 +f 28941//21722 28807//21913 21986//23855 +f 28471//29349 28472//28543 30212//29390 +f 21330//24720 21328//13009 21418//26982 +f 29383//28985 29382//28249 29245//28248 +f 29246//29133 29383//28985 29245//28248 +f 28481//28973 30230//28942 30222//28922 +f 28480//28544 28481//28973 30222//28922 +f 28691//2311 28823//2313 28822//22164 +f 28725//28401 2272//28400 5475//28105 +f 30309//28779 30442//28835 30441//28611 +f 25408//21531 25550//25979 25407//11194 +f 7412//28817 7300//28827 6839//28883 +f 27176//28782 28496//28314 28495//28872 +f 28706//29096 28838//29003 28705//28788 +f 16770//23230 22543//23089 20318//12976 +f 26804//28748 26413//28749 26409//29139 +f 28455//3063 28577//29143 28454//25592 +f 25051//16808 25050//16807 3085//27636 +f 26626//29094 26804//28748 26409//29139 +f 26716//29522 23818//1545 26715//29481 +f 17669//28908 30482//14851 21551//30095 +f 29251//29198 29388//29146 29250//28808 +f 21331//23424 11123//27801 21512//27803 +f 29249//28807 29248//29608 29111//29563 +f 28712//28994 28711//29441 28582//22693 +f 19410//29514 19858//1857 19359//29052 +f 30456//2315 30590//2466 30455//28898 +f 29670//29236 29669//28595 29531//28594 +f 30063//29104 30195//29105 30062//28663 +f 28251//5352 18094//5209 17720//30051 +f 28135//30005 28251//5352 17720//30051 +f 33711//31109 33838//31110 17418//22997 +f 17418//22997 26850//31111 33711//31109 +f 32620//31112 32619//31113 32510//27856 +f 31601//2300 31600//14165 31513//31114 +f 35068//17260 35197//2697 35067//16947 +f 34165//17976 34303//15533 34164//15610 +f 30931//26806 30989//6612 30930//3916 +f 31050//21482 31049//3913 30988//3917 +f 12299//11274 14271//17201 12385//3350 +f 30988//3917 30987//4732 30929//3918 +f 29560//31115 18937//8480 26735//8479 +f 26968//20123 29560//31115 26735//8479 +f 26405//31116 30610//13017 18937//8480 +f 29560//31115 26405//31116 18937//8480 +f 30620//31117 30424//31067 30610//13017 +f 26405//31116 30620//31117 30610//13017 +f 28077//31118 30639//31068 30424//31067 +f 30620//31117 28077//31118 30424//31067 +f 27639//31119 28305//31069 30639//31068 +f 28077//31118 27639//31119 30639//31068 +f 30768//31120 19542//31070 28305//31069 +f 27639//31119 30768//31120 28305//31069 +f 27608//31121 22235//31071 19542//31070 +f 30768//31120 27608//31121 19542//31070 +f 28855//31122 28193//31072 22235//31071 +f 27608//31121 28855//31122 22235//31071 +f 30210//31123 29407//31073 28193//31072 +f 28855//31122 30210//31123 28193//31072 +f 30210//31123 17305//27802 11123//27801 +f 29407//31073 30210//31123 11123//27801 +f 30020//6458 22863//22796 30152//6462 +f 22544//23210 29123//22430 22446//21863 +f 26202//25977 25398//25975 25915//25976 +f 4785//12977 27666//19022 30479//4927 +f 7297//29156 7183//28523 19355//28826 +f 27985//6193 28102//6195 26915//21338 +f 18094//5209 30350//5065 30484//30099 +f 17720//30051 18094//5209 30484//30099 +f 26831//3164 26720//14801 26835//28665 +f 26394//25433 26462//31124 26461//23135 +f 30827//108 30826//2853 23267//106 +f 26462//31124 26558//31125 26557//31074 +f 26461//23135 26462//31124 26557//31074 +f 26558//31125 26663//31126 26662//31075 +f 26557//31074 26558//31125 26662//31075 +f 26663//31126 26775//31127 26774//31076 +f 26662//31075 26663//31126 26774//31076 +f 26890//31128 26889//31077 26774//31076 +f 26775//31127 26890//31128 26774//31076 +f 26890//31128 27008//31129 27007//31078 +f 26889//31077 26890//31128 27007//31078 +f 27125//31130 27124//31079 27007//31078 +f 27008//31129 27125//31130 27007//31078 +f 27244//31131 27243//31080 27124//31079 +f 27125//31130 27244//31131 27124//31079 +f 27362//31132 27361//31081 27243//31080 +f 27244//31131 27362//31132 27243//31080 +f 27481//31133 27480//31082 27361//31081 +f 27362//31132 27481//31133 27361//31081 +f 27599//31134 27598//31083 27480//31082 +f 27481//31133 27599//31134 27480//31082 +f 27716//31135 27715//31084 27598//31083 +f 27599//31134 27716//31135 27598//31083 +f 27831//31136 27830//31085 27715//31084 +f 27716//31135 27831//31136 27715//31084 +f 27947//31137 27946//31086 27830//31085 +f 27831//31136 27947//31137 27830//31085 +f 28064//31138 28063//31087 27946//31086 +f 27947//31137 28064//31138 27946//31086 +f 28181//31139 28180//31088 28063//31087 +f 28064//31138 28181//31139 28063//31087 +f 28298//31140 28297//31089 28180//31088 +f 28181//31139 28298//31140 28180//31088 +f 28418//31141 28417//31090 28297//31089 +f 28298//31140 28418//31141 28297//31089 +f 28540//31142 28539//31091 28417//31090 +f 28418//31141 28540//31142 28417//31090 +f 28669//31143 28668//31092 28539//31091 +f 28540//31142 28669//31143 28539//31091 +f 28801//31144 28800//31093 28668//31092 +f 28669//31143 28801//31144 28668//31092 +f 28934//31145 28933//31094 28800//31093 +f 28801//31144 28934//31145 28800//31093 +f 29069//31146 29068//31095 28933//31094 +f 28934//31145 29069//31146 28933//31094 +f 29206//31147 29205//31096 29068//31095 +f 29069//31146 29206//31147 29068//31095 +f 29343//31148 29342//31097 29205//31096 +f 29206//31147 29343//31148 29205//31096 +f 29343//31148 29480//31149 29479//31098 +f 29342//31097 29343//31148 29479//31098 +f 29480//31149 29618//31150 29617//31099 +f 29479//31098 29480//31149 29617//31099 +f 29751//31151 29750//31100 29617//31099 +f 29618//31150 29751//31151 29617//31099 +f 29880//31152 29879//31101 29750//31100 +f 29751//31151 29880//31152 29750//31100 +f 29880//31152 30011//31153 30010//31102 +f 29879//31101 29880//31152 30010//31102 +f 30143//31154 30142//31103 30010//31102 +f 30011//31153 30143//31154 30010//31102 +f 30276//31155 30275//31104 30142//31103 +f 30143//31154 30276//31155 30142//31103 +f 30276//31155 30409//31156 30408//31105 +f 30275//31104 30276//31155 30408//31105 +f 30409//31156 30543//31157 30542//31106 +f 30408//31105 30409//31156 30542//31106 +f 30543//31157 30677//31158 30676//31107 +f 30542//31106 30543//31157 30676//31107 +f 30677//31158 30811//27599 30810//31108 +f 30676//31107 30677//31158 30810//31108 +f 23737//24871 24971//27453 25104//24872 +f 30810//31108 30811//27599 19478//27465 +f 29796//28456 29795//28840 29662//28457 +f 19790//29004 19924//25075 23180//25077 +f 28977//28912 29112//28859 28976//29518 +f 29523//28896 29522//29691 29385//29649 +f 7175//29601 19526//2308 19410//29514 +f 30724//2465 30723//28977 30589//29128 +f 18692//20896 30611//28078 30559//2142 +f 30063//29104 30062//28663 29931//28640 +f 30350//5065 29001//5067 28010//30148 +f 30484//30099 30350//5065 28010//30148 +f 29001//5067 17253//5201 2537//30196 +f 28010//30148 29001//5067 2537//30196 +f 17253//5201 19672//5203 26908//30240 +f 29932//29152 29931//28640 29802//28639 +f 29532//29235 29670//29236 29531//28594 +f 19526//2308 7175//29601 30723//28977 +f 30590//2466 30724//2465 30589//29128 +f 7007//22437 11577//28147 11397//22460 +f 29112//28859 29249//28807 29111//29563 +f 28347//27431 29943//31159 24113//26544 +f 22198//27798 24745//21460 23779//21459 +f 31902//31160 32003//31161 31901//31162 +f 34291//3613 34290//6757 34152//20937 +f 25576//26903 30505//29047 25577//26904 +f 26788//23382 24711//26614 20759//9964 +f 6848//24395 21460//10259 21369//15969 +f 30431//19750 30565//8964 30430//8966 +f 27166//28931 27165//28811 26360//29686 +f 26364//28924 27166//28931 26360//29686 +f 28823//2313 28956//21874 28955//22165 +f 15330//26807 8975//14860 28020//28738 +f 7085//14845 6838//22862 6408//29002 +f 26914//29520 26917//19018 29136//5612 +f 26392//28867 26393//28819 27170//28870 +f 27170//28870 27176//28782 28495//28872 +f 28706//29096 28705//28788 28576//28787 +f 28577//29143 28706//29096 28576//28787 +f 7078//29195 7077//28755 6980//29093 +f 26413//28749 27200//28747 27199//29186 +f 29525//29147 29663//28455 29524//28948 +f 29114//30454 29113//28860 28978//28913 +f 30690//8775 6660//28445 30691//8776 +f 29255//29151 29392//28453 29254//5599 +f 28676//1749 28677//31163 30367//1750 +f 30419//29040 10728//29041 19233//21947 +f 2403//1859 19454//1966 19359//29052 +f 19454//1966 7415//3056 16767//9356 +f 26944//15235 29686//21154 454//15236 +f 19454//1966 19453//29053 19359//29052 +f 2537//30196 17253//5201 26908//30240 +f 21948//28828 21947//28915 19355//28826 +f 19672//5203 19131//5351 21373//30284 +f 26908//30240 19672//5203 21373//30284 +f 20044//7280 20124//7282 20043//19020 +f 17508//17081 20046//17474 17419//22151 +f 34154//15331 34153//15831 34017//6323 +f 35071//16940 35070//31164 34941//16941 +f 30989//6612 31050//21482 30988//3917 +f 31050//21482 31112//17233 31111//3914 +f 30931//26806 30930//3916 30876//21546 +f 30877//24540 30931//26806 30876//21546 +f 12398//16107 8326//14271 12312//18002 +f 33223//31165 33328//15988 33222//31166 +f 17269//31167 29560//31115 26968//20123 +f 27376//15485 17269//31167 26968//20123 +f 27610//31168 26405//31116 29560//31115 +f 17269//31167 27610//31168 29560//31115 +f 29276//31169 30620//31117 26405//31116 +f 27610//31168 29276//31169 26405//31116 +f 26419//31170 28077//31118 30620//31117 +f 29276//31169 26419//31170 30620//31117 +f 19870//31171 27639//31119 28077//31118 +f 26419//31170 19870//31171 28077//31118 +f 30080//31172 30768//31120 27639//31119 +f 19870//31171 30080//31172 27639//31119 +f 27174//31173 27608//31121 30768//31120 +f 30080//31172 27174//31173 30768//31120 +f 2946//31174 28855//31122 27608//31121 +f 27174//31173 2946//31174 27608//31121 +f 30343//22795 30210//31123 28855//31122 +f 2946//31174 30343//22795 28855//31122 +f 25322//24815 26401//22407 25343//27502 +f 30210//31123 30343//22795 17305//27802 +f 32097//16120 32096//9221 31996//9220 +f 27505//21838 24170//21837 20678//17521 +f 19526//2308 19858//1857 19410//29514 +f 24221//23139 24220//27377 25437//27557 +f 2955//28433 29557//28151 17267//30142 +f 29395//28287 29532//29235 29394//28471 +f 21546//26026 21545//24155 28716//15030 +f 21373//30284 19131//5351 6846//28274 +f 24007//17510 24068//17509 24067//21513 +f 16152//23205 27666//19022 4013//23088 +f 26395//30187 26463//30186 26462//31124 +f 26394//25433 26395//30187 26462//31124 +f 26463//30186 26559//31175 26558//31125 +f 26462//31124 26463//30186 26558//31125 +f 26559//31175 26664//31176 26663//31126 +f 26558//31125 26559//31175 26663//31126 +f 26664//31176 26776//31177 26775//31127 +f 26663//31126 26664//31176 26775//31127 +f 26891//31178 26890//31128 26775//31127 +f 26776//31177 26891//31178 26775//31127 +f 27009//31179 27008//31129 26890//31128 +f 26891//31178 27009//31179 26890//31128 +f 27126//31180 27125//31130 27008//31129 +f 27009//31179 27126//31180 27008//31129 +f 27245//31181 27244//31131 27125//31130 +f 27126//31180 27245//31181 27125//31130 +f 27363//31182 27362//31132 27244//31131 +f 27245//31181 27363//31182 27244//31131 +f 27482//31183 27481//31133 27362//31132 +f 27363//31182 27482//31183 27362//31132 +f 27600//31184 27599//31134 27481//31133 +f 27482//31183 27600//31184 27481//31133 +f 27717//31185 27716//31135 27599//31134 +f 27600//31184 27717//31185 27599//31134 +f 27832//31186 27831//31136 27716//31135 +f 27717//31185 27832//31186 27716//31135 +f 27948//31187 27947//31137 27831//31136 +f 27832//31186 27948//31187 27831//31136 +f 28065//31188 28064//31138 27947//31137 +f 27948//31187 28065//31188 27947//31137 +f 28182//31189 28181//31139 28064//31138 +f 28065//31188 28182//31189 28064//31138 +f 28299//31190 28298//31140 28181//31139 +f 28182//31189 28299//31190 28181//31139 +f 28419//31191 28418//31141 28298//31140 +f 28299//31190 28419//31191 28298//31140 +f 28541//31192 28540//31142 28418//31141 +f 28419//31191 28541//31192 28418//31141 +f 28670//31193 28669//31143 28540//31142 +f 28541//31192 28670//31193 28540//31142 +f 28802//31194 28801//31144 28669//31143 +f 28670//31193 28802//31194 28669//31143 +f 28935//31195 28934//31145 28801//31144 +f 28802//31194 28935//31195 28801//31144 +f 29070//31196 29069//31146 28934//31145 +f 28935//31195 29070//31196 28934//31145 +f 29070//31196 29207//31197 29206//31147 +f 29069//31146 29070//31196 29206//31147 +f 29207//31197 29344//31198 29343//31148 +f 29206//31147 29207//31197 29343//31148 +f 29344//31198 29481//31199 29480//31149 +f 29343//31148 29344//31198 29480//31149 +f 29481//31199 29619//31200 29618//31150 +f 29480//31149 29481//31199 29618//31150 +f 29619//31200 29752//31201 29751//31151 +f 29618//31150 29619//31200 29751//31151 +f 29752//31201 29881//31202 29880//31152 +f 29751//31151 29752//31201 29880//31152 +f 29881//31202 30012//31203 30011//31153 +f 29880//31152 29881//31202 30011//31153 +f 30012//31203 30144//31204 30143//31154 +f 30011//31153 30012//31203 30143//31154 +f 30144//31204 30277//31205 30276//31155 +f 30143//31154 30144//31204 30276//31155 +f 30277//31205 30410//31206 30409//31156 +f 30276//31155 30277//31205 30409//31156 +f 30410//31206 30544//31207 30543//31157 +f 30409//31156 30410//31206 30543//31157 +f 30544//31207 30678//31208 30677//31158 +f 30543//31157 30544//31207 30677//31158 +f 30678//31208 30812//26790 30811//27599 +f 30677//31158 30678//31208 30811//27599 +f 24220//27377 24219//17709 23935//27313 +f 17325//15049 17324//22118 32921//22184 +f 28844//28962 28977//28912 28843//29479 +f 30209//21155 28361//20990 26592//20991 +f 8154//9357 11390//1665 19199//28773 +f 29112//28859 29111//29563 28976//29518 +f 26944//15235 29816//17413 29563//17415 +f 19858//1857 2403//1859 19359//29052 +f 27203//16882 11937//16881 11938//17496 +f 2955//28433 17267//30142 19027//29737 +f 28716//15030 21456//15032 21546//26026 +f 21512//27803 17305//27802 21884//24534 +f 12109//28571 26451//29277 26382//28652 +f 30583//23071 30717//28179 30582//23072 +f 30717//28179 30716//28194 30582//23072 +f 19199//28773 22054//1667 27383//21044 +f 29803//29190 29802//28639 29669//28595 +f 11926//17223 12010//17311 25922//28278 +f 30724//2465 19526//2308 30723//28977 +f 18907//2365 19104//3771 35568//2366 +f 12092//17309 12174//16964 27548//17310 +f 29943//31159 2810//30881 25398//25975 +f 35122//22702 18195//22608 34337//22703 +f 34995//23117 20091//642 12809//16434 +f 22448//25700 14970//22061 24403//17099 +f 34153//15831 34291//3613 34152//20937 +f 20747//26107 27372//13342 26252//18093 +f 28683//15959 28677//31163 27315//21111 +f 20182//25808 20181//7168 26937//7167 +f 28481//28973 28480//28544 27165//28811 +f 17262//28940 28338//28939 28130//23075 +f 31514//2301 31513//31114 31441//31209 +f 27166//28931 28481//28973 27165//28811 +f 28677//31163 28683//15959 30419//29040 +f 21273//25591 21363//3064 28455//3063 +f 26387//28821 26393//28819 26392//28867 +f 27621//15497 27738//22311 27737//21998 +f 21154//22793 30343//22795 29957//27191 +f 28838//29003 28837//28789 28705//28788 +f 17476//28751 26804//28748 26626//29094 +f 6980//29093 17476//28751 26626//29094 +f 27782//14780 29273//2124 29272//11029 +f 6878//22961 24340//22960 29956//28909 +f 29393//28451 29392//28453 29255//29151 +f 28582//22693 28581//17478 33699//31210 +f 27315//21111 28677//31163 27314//13687 +f 28677//31163 30419//29040 30367//1750 +f 21942//28245 21943//1826 19631//1825 +f 30344//28485 19560//21496 19561//28086 +f 17256//5463 35611//2797 35498//2477 +f 19737//28094 19631//1825 20241//28095 +f 21295//14515 17256//5463 21749//28366 +f 29290//10757 28810//1820 28189//1822 +f 17341//22152 33973//31211 26967//22028 +f 32906//27385 32905//27635 32793//27386 +f 33973//31211 17341//22152 17419//22151 +f 31602//2299 31697//31212 31601//2300 +f 32202//16298 32303//16297 32201//31213 +f 31304//16795 31303//29733 31238//29734 +f 31049//3913 31050//21482 31111//3914 +f 33903//31214 33904//31215 34038//31216 +f 24907//26300 20442//26387 20357//26113 +f 20570//9524 21590//14452 3488//494 +f 27376//15485 29145//4495 26520//6637 +f 30085//31217 17269//31167 27376//15485 +f 26520//6637 30085//31217 27376//15485 +f 27727//31218 27610//31168 17269//31167 +f 30085//31217 27727//31218 17269//31167 +f 26410//31219 29276//31169 27610//31168 +f 27727//31218 26410//31219 27610//31168 +f 26689//31220 26419//31170 29276//31169 +f 26410//31219 26689//31220 29276//31169 +f 27522//31221 19870//31171 26419//31170 +f 26689//31220 27522//31221 26419//31170 +f 27293//31222 30080//31172 19870//31171 +f 27522//31221 27293//31222 19870//31171 +f 46//31223 27174//31173 30080//31172 +f 27293//31222 46//31223 30080//31172 +f 29957//27191 2946//31174 27174//31173 +f 46//31223 29957//27191 27174//31173 +f 32755//22154 32756//9407 32867//4560 +f 2946//31174 29957//27191 30343//22795 +f 28561//22134 28562//22936 28690//22150 +f 22633//25903 22632//25792 28680//6175 +f 26914//29520 29136//5612 29135//12344 +f 11104//29521 26583//20781 28622//2128 +f 30335//26108 30468//25428 30334//25275 +f 19453//29053 19454//1966 16767//9356 +f 21295//14515 21749//28366 28943//1821 +f 27529//15234 454//15236 27259//28527 +f 22327//20911 19684//5189 19468//1965 +f 2671//21117 24943//27519 21849//28529 +f 11407//16038 19234//5206 452//16474 +f 26396//25683 26464//31224 26463//30186 +f 2547//29779 17985//28893 23830//25971 +f 26464//31224 26560//31225 26559//31175 +f 26463//30186 26464//31224 26559//31175 +f 26560//31225 26665//31226 26664//31176 +f 26559//31175 26560//31225 26664//31176 +f 26665//31226 26777//31227 26776//31177 +f 26664//31176 26665//31226 26776//31177 +f 26892//31228 26891//31178 26776//31177 +f 26777//31227 26892//31228 26776//31177 +f 27010//31229 27009//31179 26891//31178 +f 26892//31228 27010//31229 26891//31178 +f 27127//31230 27126//31180 27009//31179 +f 27010//31229 27127//31230 27009//31179 +f 27246//31231 27245//31181 27126//31180 +f 27127//31230 27246//31231 27126//31180 +f 27364//31232 27363//31182 27245//31181 +f 27246//31231 27364//31232 27245//31181 +f 27483//31233 27482//31183 27363//31182 +f 27364//31232 27483//31233 27363//31182 +f 27601//31234 27600//31184 27482//31183 +f 27483//31233 27601//31234 27482//31183 +f 27718//31235 27717//31185 27600//31184 +f 27601//31234 27718//31235 27600//31184 +f 27833//31236 27832//31186 27717//31185 +f 27718//31235 27833//31236 27717//31185 +f 27949//31237 27948//31187 27832//31186 +f 27833//31236 27949//31237 27832//31186 +f 28066//31238 28065//31188 27948//31187 +f 27949//31237 28066//31238 27948//31187 +f 28183//31239 28182//31189 28065//31188 +f 28066//31238 28183//31239 28065//31188 +f 28300//31240 28299//31190 28182//31189 +f 28183//31239 28300//31240 28182//31189 +f 28420//31241 28419//31191 28299//31190 +f 28300//31240 28420//31241 28299//31190 +f 28542//31242 28541//31192 28419//31191 +f 28420//31241 28542//31242 28419//31191 +f 28671//31243 28670//31193 28541//31192 +f 28542//31242 28671//31243 28541//31192 +f 28803//31244 28802//31194 28670//31193 +f 28671//31243 28803//31244 28670//31193 +f 28936//31245 28935//31195 28802//31194 +f 28803//31244 28936//31245 28802//31194 +f 29071//31246 29070//31196 28935//31195 +f 28936//31245 29071//31246 28935//31195 +f 29208//31247 29207//31197 29070//31196 +f 29071//31246 29208//31247 29070//31196 +f 29345//31248 29344//31198 29207//31197 +f 29208//31247 29345//31248 29207//31197 +f 29482//31249 29481//31199 29344//31198 +f 29345//31248 29482//31249 29344//31198 +f 29482//31249 29620//31250 29619//31200 +f 29481//31199 29482//31249 29619//31200 +f 29620//31250 29753//31251 29752//31201 +f 29619//31200 29620//31250 29752//31201 +f 29753//31251 29882//31252 29881//31202 +f 29752//31201 29753//31251 29881//31202 +f 29882//31252 30013//31253 30012//31203 +f 29881//31202 29882//31252 30012//31203 +f 30013//31253 30145//31254 30144//31204 +f 30012//31203 30013//31253 30144//31204 +f 30278//31255 30277//31205 30144//31204 +f 30145//31254 30278//31255 30144//31204 +f 30278//31255 30411//31256 30410//31206 +f 30277//31205 30278//31255 30410//31206 +f 30411//31256 30545//31257 30544//31207 +f 30410//31206 30411//31256 30544//31207 +f 30545//31257 30679//31258 30678//31208 +f 30544//31207 30545//31257 30678//31208 +f 30679//31258 30813//27579 30812//26790 +f 30678//31208 30679//31258 30812//26790 +f 20909//13244 20992//24322 20991//24243 +f 19104//3771 18907//2365 20674//2713 +f 28977//28912 28976//29518 28843//29479 +f 19898//29335 22044//22346 17913//22344 +f 7415//3056 11390//1665 8154//9357 +f 22054//1667 27503//13784 27383//21044 +f 30202//27408 30335//26108 30201//22082 +f 19792//4300 19232//28449 30738//28080 +f 19656//1858 22327//20911 19468//1965 +f 19468//1965 19684//5189 12544//3054 +f 19684//5189 4667//5194 12544//3054 +f 32506//17419 32615//27581 32505//25677 +f 30070//22775 30202//27408 30069//22081 +f 30335//26108 30334//25275 30201//22082 +f 25347//22912 28348//22914 28347//27431 +f 27503//13784 26476//21106 26475//13696 +f 24827//7169 24888//27910 24826//6332 +f 26785//5619 24221//23139 24465//5623 +f 24560//24865 30672//27498 25367//14499 +f 23279//25139 23375//25140 23278//25138 +f 25398//25975 22138//14320 22139//11692 +f 29943//31159 25398//25975 24113//26544 +f 2810//30881 17255//31259 19808//14319 +f 22138//14320 2810//30881 19808//14319 +f 17255//31259 26829//25107 26718//21437 +f 19808//14319 17255//31259 26718//21437 +f 20760//15495 27621//15497 27502//21966 +f 21272//25590 28455//3063 21271//24385 +f 21752//28941 17262//28940 17315//23074 +f 17315//23074 17262//28940 28130//23075 +f 28020//28738 26497//14859 26494//5427 +f 19904//28139 30822//5191 26965//28121 +f 30176//28776 30309//28779 30308//28610 +f 30441//28611 30442//28835 30575//24352 +f 26386//28866 26387//28821 26392//28867 +f 26393//28819 27176//28782 27170//28870 +f 27612//8308 27752//21716 21474//8309 +f 27902//23403 27893//19070 2751//19133 +f 28593//28746 30333//28745 30331//29262 +f 28554//29231 28593//28746 30331//29262 +f 18692//20896 30559//2142 26504//2321 +f 26713//28615 26825//22063 26824//22787 +f 28844//28962 28843//29479 28711//29441 +f 28712//28994 28844//28962 28711//29441 +f 27383//21044 27503//13784 26475//13696 +f 27315//21111 27314//13687 26475//13696 +f 24567//17057 25779//26788 24566//17058 +f 30717//28179 7405//28093 30716//28194 +f 32615//27581 32614//21623 32505//25677 +f 29657//28373 29790//28473 29656//6335 +f 17418//22997 20042//23068 17507//6426 +f 17419//22151 20045//15672 20044//7280 +f 33883//31260 33882//6322 33748//24271 +f 33404//31261 33517//31262 33403//31263 +f 31112//17233 31175//16179 31174//10375 +f 31111//3914 31112//17233 31174//10375 +f 31175//16179 31239//16181 31238//29734 +f 31174//10375 31175//16179 31238//29734 +f 32249//3120 32248//31264 32147//24522 +f 31534//31265 31621//31266 31620//31267 +f 26851//31268 26520//6637 29282//6636 +f 29556//15282 26851//31268 29282//6636 +f 19677//31269 30085//31217 26520//6637 +f 26851//31268 19677//31269 26520//6637 +f 28192//31270 27727//31218 30085//31217 +f 19677//31269 28192//31270 30085//31217 +f 27260//31271 26410//31219 27727//31218 +f 28192//31270 27260//31271 27727//31218 +f 26801//31272 26689//31220 26410//31219 +f 27260//31271 26801//31272 26410//31219 +f 30742//31273 27522//31221 26689//31220 +f 26801//31272 30742//31273 26689//31220 +f 28718//31274 27293//31222 27522//31221 +f 30742//31273 28718//31274 27522//31221 +f 29424//31275 46//31223 27293//31222 +f 28718//31274 29424//31275 27293//31222 +f 19426//27192 29957//27191 46//31223 +f 29424//31275 19426//27192 46//31223 +f 30902//17555 25940//27290 21448//17556 +f 30334//25275 30468//25428 22690//25274 +f 17574//27321 7081//6401 27868//2616 +f 28822//22164 28823//2313 28955//22165 +f 30367//1750 30419//29040 19233//21947 +f 26901//12343 26914//29520 29135//12344 +f 33883//31260 34018//15330 33882//6322 +f 25931//25593 23810//26791 25429//25594 +f 27853//24886 27854//28450 27969//24888 +f 17257//3343 17315//23074 28129//15489 +f 5833//13953 16219//8254 15232//18715 +f 25351//5068 16312//25272 2680//22552 +f 26397//25682 26465//31276 26464//31224 +f 26396//25683 26397//25682 26464//31224 +f 26465//31276 26561//31277 26560//31225 +f 26464//31224 26465//31276 26560//31225 +f 26561//31277 26666//31278 26665//31226 +f 26560//31225 26561//31277 26665//31226 +f 26666//31278 26778//31279 26777//31227 +f 26665//31226 26666//31278 26777//31227 +f 26893//31280 26892//31228 26777//31227 +f 26778//31279 26893//31280 26777//31227 +f 27011//31281 27010//31229 26892//31228 +f 26893//31280 27011//31281 26892//31228 +f 27011//31281 27128//31282 27127//31230 +f 27010//31229 27011//31281 27127//31230 +f 27247//31283 27246//31231 27127//31230 +f 27128//31282 27247//31283 27127//31230 +f 27365//31284 27364//31232 27246//31231 +f 27247//31283 27365//31284 27246//31231 +f 27484//31285 27483//31233 27364//31232 +f 27365//31284 27484//31285 27364//31232 +f 27602//31286 27601//31234 27483//31233 +f 27484//31285 27602//31286 27483//31233 +f 27719//31287 27718//31235 27601//31234 +f 27602//31286 27719//31287 27601//31234 +f 27834//31288 27833//31236 27718//31235 +f 27719//31287 27834//31288 27718//31235 +f 27950//31289 27949//31237 27833//31236 +f 27834//31288 27950//31289 27833//31236 +f 28067//31290 28066//31238 27949//31237 +f 27950//31289 28067//31290 27949//31237 +f 28184//31291 28183//31239 28066//31238 +f 28067//31290 28184//31291 28066//31238 +f 28301//31292 28300//31240 28183//31239 +f 28184//31291 28301//31292 28183//31239 +f 28421//31293 28420//31241 28300//31240 +f 28301//31292 28421//31293 28300//31240 +f 28543//31294 28542//31242 28420//31241 +f 28421//31293 28543//31294 28420//31241 +f 28672//31295 28671//31243 28542//31242 +f 28543//31294 28672//31295 28542//31242 +f 28804//31296 28803//31244 28671//31243 +f 28672//31295 28804//31296 28671//31243 +f 28937//31297 28936//31245 28803//31244 +f 28804//31296 28937//31297 28803//31244 +f 29072//31298 29071//31246 28936//31245 +f 28937//31297 29072//31298 28936//31245 +f 29209//31299 29208//31247 29071//31246 +f 29072//31298 29209//31299 29071//31246 +f 29346//31300 29345//31248 29208//31247 +f 29209//31299 29346//31300 29208//31247 +f 29483//31301 29482//31249 29345//31248 +f 29346//31300 29483//31301 29345//31248 +f 29621//31302 29620//31250 29482//31249 +f 29483//31301 29621//31302 29482//31249 +f 29754//31303 29753//31251 29620//31250 +f 29621//31302 29754//31303 29620//31250 +f 29883//31304 29882//31252 29753//31251 +f 29754//31303 29883//31304 29753//31251 +f 30014//31305 30013//31253 29882//31252 +f 29883//31304 30014//31305 29882//31252 +f 30146//31306 30145//31254 30013//31253 +f 30014//31305 30146//31306 30013//31253 +f 30146//31306 30279//31307 30278//31255 +f 30145//31254 30146//31306 30278//31255 +f 30279//31307 30412//31308 30411//31256 +f 30278//31255 30279//31307 30411//31256 +f 30412//31308 30546//31309 30545//31257 +f 30411//31256 30412//31308 30545//31257 +f 30546//31309 30680//31310 30679//31258 +f 30545//31257 30546//31309 30679//31258 +f 30680//31310 30814//21851 30813//27579 +f 30679//31258 30680//31310 30813//27579 +f 22776//24419 22875//24421 22874//24342 +f 29423//24960 15346//25755 6133//25637 +f 34355//31311 3365//4460 3364//4458 +f 30833//20041 30832//22307 30698//20042 +f 16767//9356 7415//3056 8154//9357 +f 11390//1665 22054//1667 19199//28773 +f 17820//27181 17322//27183 22745//27776 +f 26673//5618 26095//27126 25090//27312 +f 29790//28473 29789//28475 29656//6335 +f 30622//28432 2955//28433 19041//28446 +f 20346//25179 20260//14982 27037//27909 +f 19004//28267 13467//1809 19578//2123 +f 29668//28428 29801//28641 29667//28429 +f 567//22746 21564//28372 19639//22103 +f 25352//5069 2544//22553 2817//14918 +f 29148//5614 28217//28459 29398//16928 +f 28350//26728 28348//22914 25184//22913 +f 12040//933 35936//932 35814//3183 +f 29946//31312 29943//31159 28347//27431 +f 28348//22914 29946//31312 28347//27431 +f 2672//31313 2810//30881 29943//31159 +f 29946//31312 2672//31313 29943//31159 +f 19018//25108 17255//31259 2810//30881 +f 2672//31313 19018//25108 2810//30881 +f 35115//19517 35116//6738 33704//12318 +f 17255//31259 19018//25108 26829//25107 +f 19199//28773 27383//21044 27298//21095 +f 26429//17113 26525//17154 11546//17114 +f 26364//28924 26360//29686 26947//29001 +f 21839//3342 21752//28941 17315//23074 +f 27435//22700 28850//5477 28816//22616 +f 26965//28121 27082//5193 28726//28119 +f 30044//28775 30176//28776 30175//28557 +f 30175//28557 30176//28776 30308//28610 +f 28495//28872 28496//28314 30286//28878 +f 30287//28297 12511//28296 13992//28879 +f 17889//12780 23926//26814 23808//12781 +f 27752//21716 30420//1141 21474//8309 +f 30333//28745 19562//28744 19566//29312 +f 30331//29262 30333//28745 19566//29312 +f 29825//28956 24424//29346 24340//22960 +f 26706//29188 26818//27936 26705//29130 +f 24531//27938 26816//27964 24609//29129 +f 24609//29129 26705//29130 26818//27936 +f 26476//21106 27315//21111 26475//13696 +f 28677//31163 28676//1749 27314//13687 +f 19567//28322 15408//25993 28680//6175 +f 30202//27408 30201//22082 30069//22081 +f 28602//28362 30347//28645 30344//28485 +f 31504//22112 31503//451 31431//25149 +f 20045//15672 17419//22151 20046//17474 +f 33973//31211 17419//22151 20044//7280 +f 31071//15864 31070//20368 31009//15865 +f 33293//24105 33402//31314 33292//6325 +f 31371//17440 31370//18095 31303//29733 +f 31239//16181 31304//16795 31238//29734 +f 33770//2719 33904//31215 33769//2720 +f 34039//31315 34175//12810 34174//12812 +f 11382//9182 25259//14695 28479//15131 +f 31533//31316 31534//31265 31620//31267 +f 28815//31317 26851//31268 29556//15282 +f 6862//12866 28815//31317 29556//15282 +f 10601//31318 19677//31269 26851//31268 +f 28815//31317 10601//31318 26851//31268 +f 28309//31319 28192//31270 19677//31269 +f 10601//31318 28309//31319 19677//31269 +f 29896//31320 27260//31271 28192//31270 +f 28309//31319 29896//31320 28192//31270 +f 26916//31321 26801//31272 27260//31271 +f 29896//31320 26916//31321 27260//31271 +f 27523//31322 30742//31273 26801//31272 +f 26916//31321 27523//31322 26801//31272 +f 27175//31323 28718//31274 30742//31273 +f 27523//31322 27175//31323 30742//31273 +f 29263//31324 29424//31275 28718//31274 +f 27175//31323 29263//31324 28718//31274 +f 29263//31324 27725//13010 19426//27192 +f 29424//31275 29263//31324 19426//27192 +f 20044//7280 17418//22997 33838//31110 +f 34561//31325 34689//31326 34560//31327 +f 28456//28460 28432//22528 27085//22068 +f 28440//30461 28562//22936 28561//22134 +f 10728//29041 26914//29520 26901//12343 +f 19233//21947 10728//29041 26901//12343 +f 19787//30628 19786//30708 19460//22040 +f 15215//22223 27902//23403 2751//19133 +f 30727//21498 6857//21447 6152//21446 +f 30459//21397 30593//28681 30458//21398 +f 26356//25681 26398//31328 26397//25682 +f 23169//2470 23072//24423 23170//2471 +f 26398//31328 26466//31329 26465//31276 +f 26397//25682 26398//31328 26465//31276 +f 26466//31329 26562//31330 26561//31277 +f 26465//31276 26466//31329 26561//31277 +f 26562//31330 26667//31331 26666//31278 +f 26561//31277 26562//31330 26666//31278 +f 26667//31331 26779//31332 26778//31279 +f 26666//31278 26667//31331 26778//31279 +f 26894//31333 26893//31280 26778//31279 +f 26779//31332 26894//31333 26778//31279 +f 27012//31334 27011//31281 26893//31280 +f 26894//31333 27012//31334 26893//31280 +f 27129//31335 27128//31282 27011//31281 +f 27012//31334 27129//31335 27011//31281 +f 27248//31336 27247//31283 27128//31282 +f 27129//31335 27248//31336 27128//31282 +f 27366//31337 27365//31284 27247//31283 +f 27248//31336 27366//31337 27247//31283 +f 27485//31338 27484//31285 27365//31284 +f 27366//31337 27485//31338 27365//31284 +f 27603//31339 27602//31286 27484//31285 +f 27485//31338 27603//31339 27484//31285 +f 27720//31340 27719//31287 27602//31286 +f 27603//31339 27720//31340 27602//31286 +f 27835//31341 27834//31288 27719//31287 +f 27720//31340 27835//31341 27719//31287 +f 27951//31342 27950//31289 27834//31288 +f 27835//31341 27951//31342 27834//31288 +f 28068//31343 28067//31290 27950//31289 +f 27951//31342 28068//31343 27950//31289 +f 28185//31344 28184//31291 28067//31290 +f 28068//31343 28185//31344 28067//31290 +f 28302//31345 28301//31292 28184//31291 +f 28185//31344 28302//31345 28184//31291 +f 28422//31346 28421//31293 28301//31292 +f 28302//31345 28422//31346 28301//31292 +f 28544//31347 28543//31294 28421//31293 +f 28422//31346 28544//31347 28421//31293 +f 28673//31348 28672//31295 28543//31294 +f 28544//31347 28673//31348 28543//31294 +f 28805//31349 28804//31296 28672//31295 +f 28673//31348 28805//31349 28672//31295 +f 28938//31350 28937//31297 28804//31296 +f 28805//31349 28938//31350 28804//31296 +f 29073//31351 29072//31298 28937//31297 +f 28938//31350 29073//31351 28937//31297 +f 29210//31352 29209//31299 29072//31298 +f 29073//31351 29210//31352 29072//31298 +f 29347//31353 29346//31300 29209//31299 +f 29210//31352 29347//31353 29209//31299 +f 29484//31354 29483//31301 29346//31300 +f 29347//31353 29484//31354 29346//31300 +f 29622//31355 29621//31302 29483//31301 +f 29484//31354 29622//31355 29483//31301 +f 29755//31356 29754//31303 29621//31302 +f 29622//31355 29755//31356 29621//31302 +f 29884//31357 29883//31304 29754//31303 +f 29755//31356 29884//31357 29754//31303 +f 30015//31358 30014//31305 29883//31304 +f 29884//31357 30015//31358 29883//31304 +f 30147//31359 30146//31306 30014//31305 +f 30015//31358 30147//31359 30014//31305 +f 30147//31359 30280//31360 30279//31307 +f 30146//31306 30147//31359 30279//31307 +f 30280//31360 30413//31361 30412//31308 +f 30279//31307 30280//31360 30412//31308 +f 30413//31361 30547//31362 30546//31309 +f 30412//31308 30413//31361 30546//31309 +f 30547//31362 30681//31363 30680//31310 +f 30546//31309 30547//31362 30680//31310 +f 30681//31363 30815//21849 30814//21851 +f 30680//31310 30681//31363 30814//21851 +f 22974//24422 30426//20162 23072//24423 +f 833//5742 832//5323 713//5460 +f 25117//27032 20759//9964 24711//26614 +f 28320//22139 28440//30461 28439//22127 +f 29136//5612 29148//5614 11406//16927 +f 29135//12344 29136//5612 11406//16927 +f 29935//18783 29934//18785 29805//28437 +f 26921//11727 20261//14981 26806//5904 +f 29367//28442 29504//28919 29503//28443 +f 30727//21498 30726//21497 30592//28458 +f 26907//2125 27267//5192 30822//5191 +f 22011//15737 2945//26893 25180//15738 +f 30733//16456 30732//28568 30598//14572 +f 26594//856 6981//23500 6538//28984 +f 28334//29511 16771//25632 29423//24960 +f 29015//29558 6904//29774 17258//2289 +f 31607//21575 31606//21577 31519//23259 +f 24277//24451 30632//6605 24417//1309 +f 29960//31364 29946//31312 28348//22914 +f 28350//26728 29960//31364 28348//22914 +f 19912//6000 2672//31313 29946//31312 +f 29960//31364 19912//6000 29946//31312 +f 18931//5999 19018//25108 2672//31313 +f 19912//6000 18931//5999 2672//31313 +f 22422//28569 22421//12782 33704//12318 +f 33704//12318 22421//12782 35115//19517 +f 19678//27966 24856//27381 19571//26687 +f 14428//1581 21239//23257 14455//1357 +f 7086//28989 24213//28923 26947//29001 +f 24213//28923 26364//28924 26947//29001 +f 16597//20928 19943//20927 21564//28372 +f 19688//22745 19790//29004 21564//28372 +f 29913//28816 30044//28775 30043//28606 +f 30043//28606 30044//28775 30175//28557 +f 30286//28878 30287//28297 13992//28879 +f 12511//28296 26501//28237 26500//28885 +f 18190//21878 27612//8308 29006//2152 +f 34817//30668 34946//29270 34816//30669 +f 21471//28753 7077//28755 7078//29195 +f 7298//29155 21471//28753 7078//29195 +f 28858//29315 28592//23012 28364//28217 +f 29012//28482 28858//29315 28364//28217 +f 26600//15094 26601//15096 26705//29130 +f 30347//28645 21659//21453 19560//21496 +f 11406//16927 29148//5614 29398//16928 +f 28217//28459 18510//29776 29561//2108 +f 27761//28116 26478//22624 26477//21105 +f 29801//28641 29800//2133 29667//28429 +f 27399//28137 29154//28138 19592//29556 +f 29267//29653 30349//22527 29129//29402 +f 33973//31211 20044//7280 33838//31110 +f 17418//22997 20043//19020 20042//23068 +f 31466//10380 31538//28180 31465//28181 +f 32210//31365 32209//31366 32109//31367 +f 31438//21211 31437//9447 31370//18095 +f 31304//16795 31371//17440 31303//29733 +f 34313//12811 34312//15830 34174//12812 +f 35221//10520 11705//14856 26799//10521 +f 11364//8641 35576//8640 11365//2834 +f 27756//1078 6862//12866 29556//15282 +f 26625//31368 28815//31317 6862//12866 +f 19680//12867 26625//31368 6862//12866 +f 21500//31369 10601//31318 28815//31317 +f 26625//31368 21500//31369 28815//31317 +f 28429//31370 28309//31319 10601//31318 +f 21500//31369 28429//31370 10601//31318 +f 30158//31371 29896//31320 28309//31319 +f 28429//31370 30158//31371 28309//31319 +f 30640//31372 26916//31321 29896//31320 +f 30158//31371 30640//31372 29896//31320 +f 29690//31373 27523//31322 26916//31321 +f 30640//31372 29690//31373 26916//31321 +f 28851//31374 27175//31323 27523//31322 +f 29690//31373 28851//31374 27523//31322 +f 28851//31374 29400//31375 29263//31324 +f 27175//31323 28851//31374 29263//31324 +f 29400//31375 26499//13011 27725//13010 +f 29263//31324 29400//31375 27725//13010 +f 35060//25503 35189//18349 35059//27854 +f 25922//28278 27313//28955 27194//28276 +f 26502//28608 1961//28609 19467//4455 +f 22108//22434 22109//24881 29674//25604 +f 19237//17149 28880//23039 29538//17680 +f 29398//16928 28217//28459 29561//2108 +f 30500//28162 7290//3387 19139//3386 +f 6897//13783 12691//28102 27648//15020 +f 26902//29775 27399//28137 19592//29556 +f 26357//18757 26399//25697 26398//31328 +f 26356//25681 26357//18757 26398//31328 +f 26399//25697 26467//31376 26466//31329 +f 26398//31328 26399//25697 26466//31329 +f 26467//31376 26563//31377 26562//31330 +f 26466//31329 26467//31376 26562//31330 +f 26563//31377 26668//31378 26667//31331 +f 26562//31330 26563//31377 26667//31331 +f 26668//31378 26780//31379 26779//31332 +f 26667//31331 26668//31378 26779//31332 +f 26895//31380 26894//31333 26779//31332 +f 26780//31379 26895//31380 26779//31332 +f 27013//31381 27012//31334 26894//31333 +f 26895//31380 27013//31381 26894//31333 +f 27013//31381 27130//31382 27129//31335 +f 27012//31334 27013//31381 27129//31335 +f 27249//31383 27248//31336 27129//31335 +f 27130//31382 27249//31383 27129//31335 +f 27367//31384 27366//31337 27248//31336 +f 27249//31383 27367//31384 27248//31336 +f 27486//31385 27485//31338 27366//31337 +f 27367//31384 27486//31385 27366//31337 +f 27604//31386 27603//31339 27485//31338 +f 27486//31385 27604//31386 27485//31338 +f 27721//31387 27720//31340 27603//31339 +f 27604//31386 27721//31387 27603//31339 +f 27836//28049 27835//31341 27720//31340 +f 27721//31387 27836//28049 27720//31340 +f 27952//24063 27951//31342 27835//31341 +f 27836//28049 27952//24063 27835//31341 +f 28069//23957 28068//31343 27951//31342 +f 27952//24063 28069//23957 27951//31342 +f 28186//23959 28185//31344 28068//31343 +f 28069//23957 28186//23959 28068//31343 +f 28303//15587 28302//31345 28185//31344 +f 28186//23959 28303//15587 28185//31344 +f 28423//15586 28422//31346 28302//31345 +f 28303//15587 28423//15586 28302//31345 +f 28545//31388 28544//31347 28422//31346 +f 28423//15586 28545//31388 28422//31346 +f 28674//31389 28673//31348 28544//31347 +f 28545//31388 28674//31389 28544//31347 +f 28806//31390 28805//31349 28673//31348 +f 28674//31389 28806//31390 28673//31348 +f 28939//31391 28938//31350 28805//31349 +f 28806//31390 28939//31391 28805//31349 +f 29074//31392 29073//31351 28938//31350 +f 28939//31391 29074//31392 28938//31350 +f 29211//31393 29210//31352 29073//31351 +f 29074//31392 29211//31393 29073//31351 +f 29348//31394 29347//31353 29210//31352 +f 29211//31393 29348//31394 29210//31352 +f 29485//31395 29484//31354 29347//31353 +f 29348//31394 29485//31395 29347//31353 +f 29623//31396 29622//31355 29484//31354 +f 29485//31395 29623//31396 29484//31354 +f 29756//31397 29755//31356 29622//31355 +f 29623//31396 29756//31397 29622//31355 +f 29885//31398 29884//31357 29755//31356 +f 29756//31397 29885//31398 29755//31356 +f 30016//31399 30015//31358 29884//31357 +f 29885//31398 30016//31399 29884//31357 +f 30148//31400 30147//31359 30015//31358 +f 30016//31399 30148//31400 30015//31358 +f 30148//31400 30281//31401 30280//31360 +f 30147//31359 30148//31400 30280//31360 +f 30281//31401 30414//31402 30413//31361 +f 30280//31360 30281//31401 30413//31361 +f 30414//31402 30548//31403 30547//31362 +f 30413//31361 30414//31402 30547//31362 +f 30548//31403 30682//31404 30681//31363 +f 30547//31362 30548//31403 30681//31363 +f 30682//31404 30816//27367 30815//21849 +f 30681//31363 30682//31404 30815//21849 +f 24518//18622 22298//24436 23819//25992 +f 19640//1074 12803//17762 19770//1072 +f 26601//15096 26706//29188 26705//29130 +f 27436//22701 15878//2118 28850//5477 +f 18510//29776 29015//29558 28353//2109 +f 29561//2108 18510//29776 28353//2109 +f 12691//28102 27761//28116 27648//15020 +f 22884//25071 30733//16456 30598//14572 +f 28596//28394 28467//4457 19197//28389 +f 29696//29557 30500//28162 19139//3386 +f 19364//28393 19800//22792 28596//28394 +f 28467//4457 27667//4606 19197//28389 +f 19682//22863 19800//22792 17940//28396 +f 14042//17593 14041//6760 13943//17385 +f 6153//2309 6152//21446 19656//1858 +f 24170//21837 27504//15496 20760//15495 +f 27866//16615 19660//28974 27643//16616 +f 13113//10948 35604//7478 35565//15714 +f 35565//15714 11801//14449 13113//10948 +f 28351//27482 29963//31405 29960//31364 +f 28350//26728 28351//27482 29960//31364 +f 29963//31405 18179//5998 19912//6000 +f 29960//31364 29963//31405 19912//6000 +f 7335//12413 7224//14174 7225//13054 +f 7337//13762 399//9089 7225//13054 +f 2145//935 19051//21514 19052//936 +f 24886//10839 24760//27073 24783//25060 +f 30455//28898 30589//29128 30454//10236 +f 27161//28313 24482//25609 24766//28051 +f 7191//29033 7086//28989 6838//22862 +f 6838//22862 7086//28989 26947//29001 +f 26502//28608 28137//13825 1961//28609 +f 6283//28144 19577//2126 19904//28139 +f 29784//28815 29913//28816 29912//28552 +f 29912//28552 29913//28816 30043//28606 +f 13992//28879 12511//28296 26500//28885 +f 26501//28237 28460//28239 28459//28887 +f 28215//27911 21183//25589 28333//22865 +f 31297//14674 31296//31406 31231//14675 +f 19249//23078 21471//28753 7298//29155 +f 7077//28755 17476//28751 6980//29093 +f 2682//30583 24430//27959 2818//28548 +f 28858//29315 28998//29356 28592//23012 +f 26149//25042 26148//25006 26006//16647 +f 25657//17805 30599//26670 21067//23219 +f 28353//2109 29015//29558 17258//2289 +f 6904//29774 19660//28974 27866//16615 +f 12691//28102 6897//13783 6662//1666 +f 6152//21446 22327//20911 19656//1858 +f 19800//22792 28467//4457 28596//28394 +f 19201//28599 11575//21836 17940//28396 +f 20043//19020 17418//22997 20044//7280 +f 33197//30971 33302//22778 33196//28966 +f 18086//21984 19219//20643 951//10136 +f 31371//17440 31438//21211 31370//18095 +f 33524//22779 33643//17016 33523//17837 +f 31510//7126 31509//9448 31437//9447 +f 31438//21211 31510//7126 31437//9447 +f 30929//3918 30928//14325 30874//24216 +f 31133//17720 31196//25463 31195//17546 +f 28853//31407 19680//12867 27642//4728 +f 27642//4728 19680//12867 29543//4726 +f 26736//31408 26625//31368 19680//12867 +f 28853//31407 26736//31408 19680//12867 +f 30218//31409 21500//31369 26625//31368 +f 26736//31408 30218//31409 26625//31368 +f 28551//31410 28429//31370 21500//31369 +f 30218//31409 28551//31410 21500//31369 +f 29567//31411 30158//31371 28429//31370 +f 28551//31410 29567//31411 28429//31370 +f 26906//31412 30640//31372 30158//31371 +f 29567//31411 26906//31412 30158//31371 +f 27494//31413 29690//31373 30640//31372 +f 26906//31412 27494//31413 30640//31372 +f 27059//31414 28851//31374 29690//31373 +f 27494//31413 27059//31414 29690//31373 +f 27059//31414 29537//31415 29400//31375 +f 28851//31374 27059//31414 29400//31375 +f 29537//31415 29830//24903 26499//13011 +f 29400//31375 29537//31415 26499//13011 +f 10381//31416 19527//28202 34522//31417 +f 19790//29004 23278//25138 21475//25141 +f 17576//28607 26502//28608 19340//22791 +f 30722//28159 7071//22008 6884//22007 +f 4667//5194 18601//21882 11649//3055 +f 27529//15234 28880//23039 26944//15235 +f 19800//22792 19364//28393 17940//28396 +f 23711//18766 25571//18765 30233//27448 +f 8231//11031 13392//2626 26586//2625 +f 33931//31418 34878//31419 33934//18229 +f 26400//22408 26468//31420 26467//31376 +f 26399//25697 26400//22408 26467//31376 +f 26468//31420 26564//31421 26563//31377 +f 26467//31376 26468//31420 26563//31377 +f 26564//31421 26669//31422 26668//31378 +f 26563//31377 26564//31421 26668//31378 +f 26669//31422 26781//31423 26780//31379 +f 26668//31378 26669//31422 26780//31379 +f 26781//31423 26896//31424 26895//31380 +f 26780//31379 26781//31423 26895//31380 +f 26896//31424 27014//31425 27013//31381 +f 26895//31380 26896//31424 27013//31381 +f 27014//31425 27131//31426 27130//31382 +f 27013//31381 27014//31425 27130//31382 +f 27131//31426 27250//31427 27249//31383 +f 27130//31382 27131//31426 27249//31383 +f 27368//31428 27367//31384 27249//31383 +f 27250//31427 27368//31428 27249//31383 +f 27487//31429 27486//31385 27367//31384 +f 27368//31428 27487//31429 27367//31384 +f 27605//23179 27604//31386 27486//31385 +f 27487//31429 27605//23179 27486//31385 +f 27722//23499 27721//31387 27604//31386 +f 27605//23179 27722//23499 27604//31386 +f 27837//23262 27836//28049 27721//31387 +f 27722//23499 27837//23262 27721//31387 +f 21475//25141 23375//25140 23472//25143 +f 21517//23962 28186//23959 21427//23958 +f 23180//25077 23278//25138 19790//29004 +f 30234//28190 30235//29366 23709//27116 +f 26697//20926 25214//25124 26698//13150 +f 21702//23907 28546//23914 28423//15586 +f 21004//13 21003//16893 20920//11 +f 20840//17401 20758//17403 27498//21985 +f 20841//11438 27615//20789 27614//11439 +f 27035//27906 27151//29443 20429//25110 +f 28546//23914 28545//31388 28423//15586 +f 25242//21850 30815//21849 30816//27367 +f 28675//21914 28674//31389 28545//31388 +f 28546//23914 28675//21914 28545//31388 +f 28807//21913 28806//31390 28674//31389 +f 28675//21914 28807//21913 28674//31389 +f 28940//31430 28939//31391 28806//31390 +f 28807//21913 28940//31430 28806//31390 +f 29075//31431 29074//31392 28939//31391 +f 28940//31430 29075//31431 28939//31391 +f 29212//31432 29211//31393 29074//31392 +f 29075//31431 29212//31432 29074//31392 +f 29349//31433 29348//31394 29211//31393 +f 29212//31432 29349//31433 29211//31393 +f 29486//31434 29485//31395 29348//31394 +f 29349//31433 29486//31434 29348//31394 +f 29624//31435 29623//31396 29485//31395 +f 29486//31434 29624//31435 29485//31395 +f 29757//31436 29756//31397 29623//31396 +f 29624//31435 29757//31436 29623//31396 +f 29886//31437 29885//31398 29756//31397 +f 29757//31436 29886//31437 29756//31397 +f 30017//31438 30016//31399 29885//31398 +f 29886//31437 30017//31438 29885//31398 +f 30149//31439 30148//31400 30016//31399 +f 30017//31438 30149//31439 30016//31399 +f 30282//31440 30281//31401 30148//31400 +f 30149//31439 30282//31440 30148//31400 +f 30282//31440 30415//31441 30414//31402 +f 30281//31401 30282//31440 30414//31402 +f 30415//31441 30549//31442 30548//31403 +f 30414//31402 30415//31441 30548//31403 +f 30549//31442 30683//31443 30682//31404 +f 30548//31403 30549//31442 30682//31404 +f 30683//31443 30817//27485 30816//27367 +f 30682//31404 30683//31443 30816//27367 +f 17305//27802 21156//24535 21884//24534 +f 13619//7477 22144//24890 22143//24820 +f 28979//30050 29114//30454 28978//28913 +f 29631//5894 28882//12262 29131//21176 +f 17258//2289 6904//29774 27866//16615 +f 19660//28974 19031//28975 27643//16616 +f 12544//3054 4667//5194 11649//3055 +f 7187//28099 12691//28102 6662//1666 +f 29958//22011 11575//21836 19201//28599 +f 27289//22548 29688//17150 19129//6067 +f 27549//16617 29958//22011 22236//27470 +f 27508//29061 27626//30042 27507//29864 +f 30192//12858 30191//12860 30059//14995 +f 30060//28262 30192//12858 30059//14995 +f 19031//28975 6538//28984 17863//21834 +f 35210//12189 35209//16753 35080//12190 +f 26430//29739 26363//16875 26431//26397 +f 23783//24799 28498//6064 28626//29278 +f 11517//7442 11583//3121 32249//3120 +f 32147//24522 11517//7442 32249//3120 +f 28352//16129 29964//31444 29963//31405 +f 28351//27482 28352//16129 29963//31405 +f 29964//31444 18399//13096 18179//5998 +f 29963//31405 29964//31444 18179//5998 +f 35395//8508 35497//6111 35689//6113 +f 7225//13054 7226//14322 7337//13762 +f 25779//26788 24567//17057 25793//26808 +f 26628//17437 26739//16353 11613//17290 +f 7175//29601 7071//22008 30722//28159 +f 6904//29774 19139//3386 19660//28974 +f 6789//29160 7191//29033 7299//14844 +f 7299//14844 7191//29033 6838//22862 +f 28456//28460 30199//28441 28432//22528 +f 19924//25075 19740//28371 6855//16455 +f 3089//28831 19784//6187 19785//22937 +f 29783//28551 29784//28815 29912//28552 +f 25674//25662 24532//27417 23518//25663 +f 19455//6188 7184//22938 19456//6189 +f 33205//31445 33310//27198 33204//27200 +f 20201//26462 23943//20364 21670//21140 +f 21945//17031 19249//23078 21946//17032 +f 19356//23079 19249//23078 7298//29155 +f 20201//26462 21670//21140 20656//26461 +f 6529//29777 11451//28853 24275//28852 +f 28975//20987 28974//29127 28841//20988 +f 23056//26366 20581//16709 23466//16708 +f 17576//28607 17369//21835 17863//21834 +f 6538//28984 17576//28607 17863//21834 +f 30060//28262 30059//14995 29928//18883 +f 7187//28099 6662//1666 11649//3055 +f 30200//28171 30199//28441 28456//28460 +f 26395//30187 21631//25409 26396//25683 +f 18085//19649 18086//21984 951//10136 +f 30468//25428 22692//25431 22790//25357 +f 35040//9375 17281//9374 17280//22194 +f 33904//31215 33903//31214 33769//2720 +f 31510//7126 31597//7125 31509//9448 +f 31597//7125 31596//14629 31509//9448 +f 31901//31162 32002//31446 31900//31447 +f 32102//31448 32202//16298 32101//31449 +f 31048//4731 31047//24734 30986//26480 +f 35092//17376 35221//10520 35091//17377 +f 28741//22490 28853//31407 29544//9901 +f 27642//4728 29544//9901 28853//31407 +f 17264//31450 26736//31408 28853//31407 +f 28741//22490 17264//31450 28853//31407 +f 29003//31451 30218//31409 26736//31408 +f 17264//31450 29003//31451 26736//31408 +f 5738//31452 28551//31410 30218//31409 +f 29003//31451 5738//31452 30218//31409 +f 19246//31453 29567//31411 28551//31410 +f 5738//31452 19246//31453 28551//31410 +f 26489//31454 26906//31412 29567//31411 +f 19246//31453 26489//31454 29567//31411 +f 27524//31455 27494//31413 26906//31412 +f 26489//31454 27524//31455 26906//31412 +f 28852//31456 27059//31414 27494//31413 +f 27524//31455 28852//31456 27494//31413 +f 28852//31456 30637//31457 29537//31415 +f 27059//31414 28852//31456 29537//31415 +f 30637//31457 27637//21193 29830//24903 +f 29537//31415 30637//31457 29830//24903 +f 25014//27523 25015//23013 21849//28529 +f 21069//24601 21154//22793 21240//21499 +f 30733//16456 6855//16455 30732//28568 +f 17369//21835 17576//28607 19340//22791 +f 27672//21553 12441//16021 27786//20206 +f 29800//2133 29799//1683 29666//1682 +f 22236//27470 29958//22011 19201//28599 +f 19043//21229 33934//18229 34878//31419 +f 35834//9757 35707//6496 35620//14064 +f 26401//22407 26469//25066 26468//31420 +f 26400//22408 26401//22407 26468//31420 +f 26469//25066 26565//25065 26564//31421 +f 26468//31420 26469//25066 26564//31421 +f 26565//25065 26670//28634 26669//31422 +f 26564//31421 26565//25065 26669//31422 +f 26670//28634 26782//31458 26781//31423 +f 26669//31422 26670//28634 26781//31423 +f 26897//31459 26896//31424 26781//31423 +f 26782//31458 26897//31459 26781//31423 +f 27015//31460 27014//31425 26896//31424 +f 26897//31459 27015//31460 26896//31424 +f 27015//31460 27132//31461 27131//31426 +f 27014//31425 27015//31460 27131//31426 +f 27132//31461 27251//31462 27250//31427 +f 27131//31426 27132//31461 27250//31427 +f 27369//31463 27368//31428 27250//31427 +f 27251//31462 27369//31463 27250//31427 +f 27488//28305 27487//31429 27368//31428 +f 27369//31463 27488//28305 27368//31428 +f 27606//14395 27605//23179 27487//31429 +f 27488//28305 27606//14395 27487//31429 +f 27722//23499 27605//23179 21075//22179 +f 22687//25132 30464//29400 30330//25147 +f 24762//26931 19251//23767 24230//6061 +f 15459//25151 15330//26807 15317//25145 +f 27952//24063 27836//28049 21248//24062 +f 20003//24726 19971//21440 19972//24776 +f 27853//24886 27969//24888 27968//22054 +f 14176//16264 13195//16618 35680//12738 +f 27620//21967 27621//15497 27737//21998 +f 19964//29005 25503//27291 30959//24234 +f 30448//23073 30582//23072 30447//28424 +f 21892//23856 21891//21912 21797//23912 +f 14971//21392 16767//9356 7185//9358 +f 29431//22611 6281//4139 17574//27321 +f 23842//20980 23843//10235 29818//2446 +f 29220//28525 27048//28385 29293//4617 +f 20346//25179 27035//27906 20345//25109 +f 11484//21982 17316//22024 11837//25093 +f 13427//24660 19137//18699 12396//18700 +f 20644//19654 20560//3180 20562//15956 +f 28941//21722 28940//31430 28807//21913 +f 32630//30843 32744//17813 32629//31464 +f 29076//21719 29075//31431 28940//31430 +f 28941//21722 29076//21719 28940//31430 +f 29213//31465 29212//31432 29075//31431 +f 29076//21719 29213//31465 29075//31431 +f 29350//31466 29349//31433 29212//31432 +f 29213//31465 29350//31466 29212//31432 +f 29487//31467 29486//31434 29349//31433 +f 29350//31466 29487//31467 29349//31433 +f 29625//31468 29624//31435 29486//31434 +f 29487//31467 29625//31468 29486//31434 +f 29625//31468 29758//31469 29757//31436 +f 29624//31435 29625//31468 29757//31436 +f 29887//31470 29886//31437 29757//31436 +f 29758//31469 29887//31470 29757//31436 +f 30018//31471 30017//31438 29886//31437 +f 29887//31470 30018//31471 29886//31437 +f 30150//31472 30149//31439 30017//31438 +f 30018//31471 30150//31472 30017//31438 +f 30283//31473 30282//31440 30149//31439 +f 30150//31472 30283//31473 30149//31439 +f 30283//31473 30416//31474 30415//31441 +f 30282//31440 30283//31473 30415//31441 +f 30416//31474 30550//31475 30549//31442 +f 30415//31441 30416//31474 30549//31442 +f 30550//31475 30684//31476 30683//31443 +f 30549//31442 30550//31475 30683//31443 +f 30684//31476 30818//27540 30817//27485 +f 30683//31443 30684//31476 30817//27485 +f 22482//23076 29768//2035 22581//5421 +f 25241//27366 25932//27170 25443//25009 +f 22191//24631 22287//24321 22286//24568 +f 34566//6722 34694//6721 34565//27775 +f 35404//8627 30635//20973 19679//29137 +f 19340//22791 26502//28608 19467//4455 +f 11575//21836 19682//22863 17940//28396 +f 6855//16455 6856//1808 30732//28568 +f 26394//25433 26461//23135 23814//9603 +f 29830//24903 23848//24902 21509//24832 +f 2814//28972 19900//28357 2411//20165 +f 1653//1163 1770//1170 2104//9958 +f 19740//28371 13467//1809 6856//1808 +f 34843//15725 34842//31477 34714//31478 +f 27643//16616 19031//28975 17863//21834 +f 30777//20584 25722//24982 25243//25053 +f 30464//29400 22786//25069 22884//25071 +f 27045//16128 28355//15198 28352//16129 +f 11517//7442 32147//24522 32049//14734 +f 28355//15198 30021//15007 29964//31444 +f 28352//16129 28355//15198 29964//31444 +f 30021//15007 19378//14575 18399//13096 +f 29964//31444 30021//15007 18399//13096 +f 19378//14575 28021//14576 18933//13095 +f 18399//13096 19378//14575 18933//13095 +f 23634//26686 24714//20907 30490//20908 +f 25573//27115 25574//22663 23600//24899 +f 5089//22861 17257//3343 28072//21980 +f 27867//3388 26904//854 19031//28975 +f 5609//22038 7299//14844 5610//22039 +f 5609//22038 6789//29160 7299//14844 +f 29640//6600 29641//23017 29773//6601 +f 29658//10623 29657//28373 29519//6334 +f 7408//15254 3089//28831 22328//14954 +f 22328//14954 3089//28831 19785//22937 +f 27397//15051 27516//5906 27515//5905 +f 21494//23368 22950//23333 29687//5313 +f 28333//22865 28332//22864 28215//27911 +f 24211//21088 24151//20981 24152//17661 +f 30714//15149 6861//18822 30713//15150 +f 18713//18823 2410//17033 17271//18824 +f 28344//28363 26420//28360 29124//28491 +f 14234//16444 9403//1426 14233//15905 +f 6660//28445 19041//28446 30691//8776 +f 29388//29146 29387//28805 29250//28808 +f 1961//28609 29948//18772 30489//4456 +f 19467//4455 1961//28609 30489//4456 +f 29673//25605 29806//28411 29672//28440 +f 29929//2134 30060//28262 29928//18883 +f 27313//28955 25922//28278 12010//17311 +f 19596//21501 6783//28735 15898//21502 +f 22139//11692 21536//11691 22140//19652 +f 2105//18624 1653//1163 2104//9958 +f 31538//28180 31625//10365 31537//10367 +f 34441//15534 34440//31479 34302//15535 +f 31792//17551 31791//6066 31691//17865 +f 31692//17552 31691//17865 31596//14629 +f 31071//15864 31133//17720 31070//20368 +f 32025//22330 32024//22332 31923//30964 +f 35362//3702 35864//3701 35782//2620 +f 32667//20120 32788//23020 32666//20121 +f 33602//22959 33603//16030 33729//11197 +f 14084//2151 30023//28008 13699//15222 +f 26521//2638 17264//31450 28741//22490 +f 28874//2639 26521//2638 28741//22490 +f 11453//14251 29003//31451 17264//31450 +f 26521//2638 11453//14251 17264//31450 +f 19141//12128 5738//31452 29003//31451 +f 11453//14251 19141//12128 29003//31451 +f 28854//21641 19246//31453 5738//31452 +f 19141//12128 28854//21641 5738//31452 +f 26585//21704 26489//31454 19246//31453 +f 28854//21641 26585//21704 19246//31453 +f 27758//2839 27524//31455 26489//31454 +f 26585//21704 27758//2839 26489//31454 +f 27758//2839 28611//21364 28852//31456 +f 27524//31455 27758//2839 28852//31456 +f 28611//21364 29411//21191 30637//31457 +f 28852//31456 28611//21364 30637//31457 +f 21066//21192 13853//24901 23848//24902 +f 30637//31457 29411//21191 27637//21193 +f 29157//6633 28469//4296 30340//4605 +f 20395//16614 20394//16613 17706//20891 +f 29806//28411 29805//28437 29672//28440 +f 29667//28429 29800//2133 29666//1682 +f 26360//29686 26355//28813 6408//29002 +f 26714//28614 26715//29481 20020//26203 +f 22195//28050 30496//29118 21914//23159 +f 20096//25807 26937//7167 26823//5059 +f 24765//25708 21362//25710 15321//17663 +f 23598//24814 26670//28634 26565//25065 +f 26696//25335 25214//25124 26697//20926 +f 26671//6180 25224//24813 26672//5624 +f 24648//6342 25362//6062 24647//15524 +f 33692//14554 6539//3246 33820//17538 +f 26671//6180 26783//6181 26782//31458 +f 26670//28634 26671//6180 26782//31458 +f 26898//22099 26897//31459 26782//31458 +f 26783//6181 26898//22099 26782//31458 +f 27016//14159 27015//31460 26897//31459 +f 26898//22099 27016//14159 26897//31459 +f 27016//14159 27133//6005 27132//31461 +f 27015//31460 27016//14159 27132//31461 +f 27133//6005 27252//6007 27251//31462 +f 27132//31461 27133//6005 27251//31462 +f 27252//6007 27370//14997 27369//31463 +f 27251//31462 27252//6007 27369//31463 +f 27489//13343 27488//28305 27369//31463 +f 27370//14997 27489//13343 27369//31463 +f 23266//24267 30825//16706 23265//24214 +f 28625//22125 16759//25161 24145//25160 +f 26720//14801 26831//3164 26719//14782 +f 27489//13343 20991//24243 20990//14393 +f 35069//31480 35070//31164 35198//20210 +f 35446//6504 35704//8194 35728//6505 +f 29431//22611 17574//27321 27780//2615 +f 5199//1713 2100//1715 19736//14214 +f 6900//2453 19559//2455 28678//13852 +f 28548//16046 6900//2453 28678//13852 +f 29079//4869 30487//2214 26686//2216 +f 28944//2454 29126//5464 19559//2455 +f 34551//5901 34679//7928 34550//4761 +f 30876//21546 30930//3916 30875//21547 +f 33219//16848 33218//16849 33113//15612 +f 34810//17373 34809//16543 34681//16796 +f 19701//3232 29431//22611 27780//2615 +f 22845//26184 30024//17827 6846//28274 +f 29675//30499 2548//30539 24347//27096 +f 25503//27291 19964//29005 19995//24174 +f 35896//2841 35619//4207 6863//5183 +f 20241//28095 19631//1825 6928//28193 +f 22177//21721 29214//22345 29076//21719 +f 24424//29346 24511//27880 24423//27394 +f 21337//24006 27952//24063 21338//24009 +f 30925//20279 30924//21335 30870//16701 +f 29214//22345 29213//31465 29076//21719 +f 951//10136 20644//19654 18085//19649 +f 29351//21568 29350//31466 29213//31465 +f 29214//22345 29351//21568 29213//31465 +f 29488//5316 29487//31467 29350//31466 +f 29351//21568 29488//5316 29350//31466 +f 29626//5315 29625//31468 29487//31467 +f 29488//5316 29626//5315 29487//31467 +f 29759//11912 29758//31469 29625//31468 +f 29626//5315 29759//11912 29625//31468 +f 29888//6460 29887//31470 29758//31469 +f 29759//11912 29888//6460 29758//31469 +f 30019//6459 30018//31471 29887//31470 +f 29888//6460 30019//6459 29887//31470 +f 30151//21261 30150//31472 30018//31471 +f 30019//6459 30151//21261 30018//31471 +f 30284//21755 30283//31473 30150//31472 +f 30151//21261 30284//21755 30150//31472 +f 30284//21755 30417//19454 30416//31474 +f 30283//31473 30284//21755 30416//31474 +f 30417//19454 30551//12522 30550//31475 +f 30416//31474 30417//19454 30550//31475 +f 30551//12522 30685//15424 30684//31476 +f 30550//31475 30551//12522 30684//31476 +f 30685//15424 30819//23760 30818//27540 +f 30684//31476 30685//15424 30818//27540 +f 30819//23760 18517//23821 3625//27541 +f 30818//27540 30819//23760 3625//27541 +f 22383//24569 22287//24321 22384//23444 +f 17669//28908 24340//22960 24256//23999 +f 29806//28411 29935//18783 29805//28437 +f 29529//28430 29667//28429 29528//22481 +f 7303//24394 7414//28825 6848//24395 +f 11577//28147 6847//24396 11397//22460 +f 21694//24590 19383//21240 21063//15176 +f 23830//25971 26112//25973 2547//29779 +f 19675//29007 15027//27469 202//27471 +f 26919//18900 26584//22557 28477//5891 +f 6855//16455 19740//28371 6856//1808 +f 27135//14905 27018//16047 23624//15913 +f 30464//29400 22884//25071 30598//14572 +f 19032//6341 27046//6345 27045//16128 +f 17308//27350 19032//6341 27045//16128 +f 27046//6345 28356//362 28355//15198 +f 27045//16128 27046//6345 28355//15198 +f 28356//362 30071//364 30021//15007 +f 30948//29291 30947//15828 30893//16992 +f 12749//16789 22135//3378 22136//31481 +f 33102//31482 33207//31483 33101//31484 +f 33312//31485 33311//31486 33206//31487 +f 33207//31483 33312//31485 33206//31487 +f 33421//31488 33420//31489 33311//31486 +f 33312//31485 33421//31488 33311//31486 +f 33534//31490 33533//31491 33420//31489 +f 33421//31488 33534//31490 33420//31489 +f 33653//31492 33652//31493 33533//31491 +f 33534//31490 33653//31492 33533//31491 +f 33780//31494 33779//31495 33652//31493 +f 33653//31492 33780//31494 33652//31493 +f 33914//31496 33913//31497 33779//31495 +f 33780//31494 33914//31496 33779//31495 +f 34049//31498 34048//31499 33913//31497 +f 33914//31496 34049//31498 33913//31497 +f 34185//31500 34184//31501 34048//31499 +f 34049//31498 34185//31500 34048//31499 +f 34323//31502 34322//31503 34184//31501 +f 34185//31500 34323//31502 34184//31501 +f 34461//31504 34460//31505 34322//31503 +f 34323//31502 34461//31504 34322//31503 +f 34461//31504 34598//14588 34597//14587 +f 34460//31505 34461//31504 34597//14587 +f 32655//31506 32776//31507 32775//31508 +f 25795//27247 25793//26808 24572//22025 +f 34459//31509 34596//22926 34595//31510 +f 32654//31511 32655//31506 32775//31508 +f 32126//31512 32125//22331 32025//22330 +f 32886//31513 32994//17563 32885//31514 +f 32675//31515 32796//31516 32674//31517 +f 31629//14531 31724//31518 31628//31519 +f 32542//31520 32655//31506 32654//31511 +f 33084//31521 33189//31522 33188//24104 +f 33083//31523 33084//31521 33188//24104 +f 7025//14926 6926//14925 6927//14961 +f 35220//10519 26799//10521 35219//31524 +f 35342//31525 28949//31526 35341//31527 +f 31139//27173 31202//30884 31138//31528 +f 21464//31529 13106//11034 17319//31530 +f 34833//15437 34962//16097 34832//31531 +f 3756//4152 18175//21134 5332//4151 +f 33635//31532 33634//31533 33515//31534 +f 35091//17377 35090//31535 34961//31536 +f 32435//31537 32542//31520 32541//31538 +f 33298//31539 33299//31540 33407//31541 +f 33403//31263 33516//31542 33402//31314 +f 34448//31543 34585//31544 34447//31545 +f 31331//31546 31398//10381 31397//19607 +f 32908//31547 32907//31548 32795//31549 +f 32434//31550 32435//31537 32541//31538 +f 32562//31551 32675//31515 32561//31552 +f 32796//31516 32795//31549 32674//31517 +f 32886//31513 32885//31514 32773//31553 +f 31178//27603 31242//27605 31241//31554 +f 33287//22106 33286//31555 33181//16936 +f 34585//31544 34713//31556 34584//31557 +f 34585//31544 34584//31557 34447//31545 +f 32352//16205 32351//31558 32249//3120 +f 32331//31559 32435//31537 32434//31550 +f 31719//30969 31718//31560 31623//31561 +f 922//4360 803//4362 804//4358 +f 34709//31562 34837//31563 34708//31564 +f 33089//20855 33194//31565 33088//31566 +f 31603//31567 31602//2299 31515//26875 +f 31266//30885 31265//23717 31201//30886 +f 32977//31568 33083//31523 33082//21858 +f 32868//4561 32869//31569 32976//17447 +f 32644//31570 32643//31571 32534//31572 +f 33102//31482 33101//31484 32995//31573 +f 35087//31574 35216//31575 35086//31576 +f 32316//31577 32419//31578 32315//31579 +f 32535//31580 32644//31570 32534//31572 +f 35095//31581 35224//31582 35223//14960 +f 31624//10366 31719//30969 31623//31561 +f 34841//31583 34840//31584 34712//31585 +f 34310//31586 34448//31543 34309//31587 +f 33521//24431 33520//24433 33407//31541 +f 33299//31540 33298//31539 33193//31588 +f 20644//19654 951//10136 20642//16588 +f 33194//31565 33299//31540 33193//31588 +f 34966//31589 34965//31590 34836//31591 +f 34837//31563 34966//31589 34836//31591 +f 34966//31589 35095//31581 34965//31590 +f 35095//31581 35094//31592 34965//31590 +f 31062//31593 31124//31594 31123//31595 +f 34955//31596 35084//26695 34954//31597 +f 34021//31598 34157//31599 34020//31600 +f 33284//25391 33283//31601 33178//25392 +f 34157//31599 34295//31602 34156//31603 +f 34295//31602 34294//31604 34156//31603 +f 34164//15610 34163//31605 34027//31606 +f 34149//21579 34287//31063 34148//31066 +f 31053//31607 31115//31608 31114//31609 +f 31695//14166 31795//31610 31694//31611 +f 35094//31592 35095//31581 35223//14960 +f 16695//2820 5194//6249 1153//4845 +f 33436//15990 33437//15989 33549//6808 +f 921//4859 802//4363 803//4362 +f 18129//22042 18693//21817 18925//21964 +f 30213//24470 19519//15383 18318//15382 +f 32869//31569 32977//31568 32976//17447 +f 32015//31612 32115//31613 32014//31614 +f 32453//31615 32560//31616 32452//31617 +f 32756//9407 32757//31618 32868//4561 +f 32115//31613 32215//31619 32114//31620 +f 33300//31621 33299//31540 33194//31565 +f 35213//26696 35212//31622 35083//25804 +f 32524//31623 32523//31624 32418//31625 +f 31513//31114 31512//31626 31440//31627 +f 32859//31628 32967//31629 32858//31630 +f 32758//31631 32870//31632 32869//31569 +f 33084//31521 33083//31523 32977//31568 +f 32228//31633 32229//31634 32330//31635 +f 31307//28375 31306//31636 31241//31554 +f 32996//31637 32995//31573 32887//31638 +f 32751//8115 32750//31639 32636//31640 +f 32967//31629 32966//31641 32858//31630 +f 35074//28938 35073//15529 34944//31642 +f 34432//31643 34569//31644 34431//31645 +f 33436//15990 33549//6808 33548//4361 +f 33287//22106 33396//22105 33286//31555 +f 29811//1263 21742//3214 21741//2627 +f 33435//31646 33436//15990 33548//4361 +f 33326//31647 33327//25027 33435//31646 +f 34557//31648 34685//23605 34556//23607 +f 32641//23698 32642//22153 32755//22154 +f 32673//31649 32672//31650 32559//31651 +f 32983//4305 32984//4304 33089//20855 +f 33895//31652 34030//31653 33894//15279 +f 33509//31654 33628//31655 33508//31656 +f 34030//31653 34029//17975 33894//15279 +f 31719//30969 31819//31015 31718//31560 +f 31529//31657 31530//4192 31616//26920 +f 32456//22633 32455//31658 32351//31558 +f 32352//16205 32456//22633 32351//31558 +f 32563//31659 32562//31551 32455//31658 +f 32456//22633 32563//31659 32455//31658 +f 32676//31660 32675//31515 32562//31551 +f 31643//31661 31642//31662 31555//15698 +f 31556//12472 31643//31661 31555//15698 +f 31819//31015 31925//31663 31818//20198 +f 31738//31664 31737//31665 31642//31662 +f 34594//31666 34595//31510 34722//31667 +f 31455//22348 31527//31668 31454//31669 +f 33928//31670 18622//28323 20154//15976 +f 17457//20645 17456//22034 13005//16002 +f 31310//31671 31377//31672 31309//31673 +f 35072//15531 35071//16940 34942//16939 +f 32958//31674 33064//31675 32957//31676 +f 34814//31677 34943//31678 34813//31679 +f 35331//31680 35332//4308 13224//27433 +f 33169//21812 33168//21814 33063//31681 +f 19363//17117 29828//2364 22357//20478 +f 32251//23429 27896//5312 21309//22306 +f 13967//22420 35347//31682 35218//31683 +f 35347//31682 13967//22420 27871//14724 +f 35090//31535 35219//31524 35089//31684 +f 35219//31524 13967//22420 35218//31683 +f 32954//31061 32953//27558 32845//31685 +f 32105//31686 32205//14870 32104//31687 +f 33763//31688 33762//31689 33635//31532 +f 31242//27605 31307//28375 31241//31554 +f 31819//31015 31818//20198 31718//31560 +f 32026//31690 32025//22330 31924//20199 +f 31643//31661 31738//31664 31642//31662 +f 34595//31510 34723//22925 34722//31667 +f 31838//31691 31837//31692 31737//31665 +f 31738//31664 31838//31691 31737//31665 +f 31936//31693 31935//31694 31837//31692 +f 31838//31691 31936//31693 31837//31692 +f 32033//31695 32032//31696 31935//31694 +f 31936//31693 32033//31695 31935//31694 +f 32033//31695 32130//31697 32129//31698 +f 34320//31699 34458//31700 34319//31701 +f 34458//31700 34595//31510 34457//31702 +f 34320//31699 34319//31701 34181//31703 +f 34595//31510 34594//31666 34457//31702 +f 34182//31704 34320//31699 34181//31703 +f 34458//31700 34457//31702 34319//31701 +f 34945//29271 34944//31642 34815//31705 +f 32742//31706 32741//31707 32627//31708 +f 32320//28685 32423//29685 32422//31709 +f 32528//4144 32637//4146 32636//31640 +f 34166//31710 34304//31711 34165//17976 +f 34579//31712 34707//31713 34578//17281 +f 34842//31477 34971//15257 34970//25317 +f 32453//31615 32452//31617 32348//31714 +f 34697//31715 34696//31716 34568//31717 +f 32628//31718 32742//31706 32627//31708 +f 34816//30669 34945//29271 34815//31705 +f 32514//31719 32513//31720 32408//31721 +f 31180//31722 31181//31723 31244//31724 +f 32962//31725 33068//31726 32961//31727 +f 34046//31728 34045//31729 33910//31730 +f 33911//31731 34046//31728 33910//31730 +f 32032//31696 32033//31695 32129//31698 +f 32130//31697 32230//31732 32229//31634 +f 32129//31698 32130//31697 32229//31634 +f 17401//22074 17323//12644 17324//22118 +f 35933//637 27896//5312 35915//638 +f 35537//6559 35598//728 29145//4495 +f 33548//4361 802//4363 33547//10115 +f 32230//31732 32332//31733 32331//31559 +f 32229//31634 32230//31732 32331//31559 +f 32332//31733 32436//31734 32435//31537 +f 32331//31559 32332//31733 32435//31537 +f 32436//31734 32543//31735 32542//31520 +f 32435//31537 32436//31734 32542//31520 +f 33649//31736 33650//29729 33776//31737 +f 33777//31738 33911//31731 33776//31737 +f 33530//31739 33531//29727 33649//31736 +f 33911//31731 33910//31730 33776//31737 +f 33418//31740 33531//29727 33530//31739 +f 33650//29729 33777//31738 33776//31737 +f 33417//31741 33418//31740 33530//31739 +f 33531//29727 33650//29729 33649//31736 +f 32215//31619 32214//31742 32114//31620 +f 31801//31743 31800//31744 31700//31745 +f 35356//6232 35821//6913 35516//8031 +f 34842//31477 34841//31583 34713//31556 +f 31606//21577 31701//24123 31605//31746 +f 31926//31747 32027//31748 32026//31690 +f 32008//31749 32007//31750 31906//31751 +f 32216//31752 32317//31753 32215//31619 +f 34182//31704 34181//31703 34045//31729 +f 34046//31728 34182//31704 34045//31729 +f 32543//31735 32656//31754 32655//31506 +f 33308//31755 33309//27199 33417//31741 +f 32542//31520 32543//31735 32655//31506 +f 21742//3214 29811//1263 21649//13718 +f 34723//22925 7044//7930 7043//5035 +f 7436//13190 7324//13189 269//7177 +f 33612//889 33611//891 33492//31756 +f 21308//14246 14516//23410 21309//22306 +f 30213//24470 34615//22911 35237//31757 +f 31513//31114 31600//14165 31512//31626 +f 32777//31758 32776//31507 32655//31506 +f 32656//31754 32777//31758 32655//31506 +f 32889//31759 32888//31760 32776//31507 +f 32777//31758 32889//31759 32776//31507 +f 32997//31761 32996//31637 32888//31760 +f 32889//31759 32997//31761 32888//31760 +f 33103//31762 33102//31482 32996//31637 +f 32997//31761 33103//31762 32996//31637 +f 33208//31763 33207//31483 33102//31482 +f 33309//27199 33308//31755 33203//31764 +f 33309//27199 33418//31740 33417//31741 +f 32993//17565 33099//31765 32992//31766 +f 33204//27200 33309//27199 33203//31764 +f 33204//27200 33203//31764 33098//31767 +f 33099//31765 33204//27200 33098//31767 +f 33396//22105 33395//31768 33286//31555 +f 34714//31478 34842//31477 34713//31556 +f 32519//31769 32628//31718 32518//31770 +f 34294//31604 34293//31771 34155//31772 +f 33060//31773 33165//31774 33059//31775 +f 32008//31749 32108//31776 32007//31750 +f 32773//31553 32885//31514 32772//31777 +f 32993//17565 32992//31766 32884//31778 +f 33103//31762 33208//31763 33102//31482 +f 33313//31779 33312//31485 33207//31483 +f 33208//31763 33313//31779 33207//31483 +f 33422//31780 33421//31488 33312//31485 +f 33313//31779 33422//31780 33312//31485 +f 17370//7053 35192//7175 35193//10714 +f 33659//17093 33540//22305 11436//12863 +f 34951//17830 35080//12190 34950//15949 +f 31849//17621 31748//22709 11458//4033 +f 32303//16297 32406//31781 32302//31782 +f 32511//31783 32510//27856 32405//30366 +f 33535//31784 33534//31490 33421//31488 +f 33422//31780 33535//31784 33421//31488 +f 33654//31785 33653//31492 33534//31490 +f 33535//31784 33654//31785 33534//31490 +f 33781//31786 33780//31494 33653//31492 +f 33654//31785 33781//31786 33653//31492 +f 33915//31787 33914//31496 33780//31494 +f 33781//31786 33915//31787 33780//31494 +f 34050//31788 34049//31498 33914//31496 +f 33915//31787 34050//31788 33914//31496 +f 31932//23695 32029//31789 32028//31790 +f 32885//31514 32884//31778 32772//31777 +f 31734//25477 31834//23696 31733//31791 +f 31931//31792 31932//23695 32028//31790 +f 31834//23696 31932//23695 31931//31792 +f 31833//31793 31834//23696 31931//31792 +f 31925//31663 31924//20199 31818//20198 +f 31820//30968 31926//31747 31819//31015 +f 32885//31514 32993//17565 32884//31778 +f 33099//31765 33098//31767 32992//31766 +f 34186//31794 34185//31500 34049//31498 +f 31834//23696 31833//31793 31733//31791 +f 34050//31788 34186//31794 34049//31498 +f 14645//8023 5549//18146 17164//18535 +f 35430//4494 35504//2091 35493//8505 +f 6154//12570 6284//2833 33587//18509 +f 20902//8110 35944//16775 35696//3773 +f 31693//16117 31793//17550 31692//17552 +f 31640//13847 31735//17691 31639//31795 +f 31431//25149 31503//451 31430//453 +f 35040//9375 34910//22193 34911//31796 +f 34598//14588 6948//9954 6947//12184 +f 33749//31797 33883//31260 33748//24271 +f 33270//31798 33269//31799 33164//30846 +f 33165//31774 33270//31798 33164//30846 +f 34324//31800 34323//31502 34185//31500 +f 34186//31794 34324//31800 34185//31500 +f 34462//22175 34461//31504 34323//31502 +f 34324//31800 34462//22175 34323//31502 +f 11413//6272 11464//8201 26518//6273 +f 34461//31504 34462//22175 34598//14588 +f 32128//31801 32129//31698 32228//31633 +f 11581//11009 32249//3120 11582//3119 +f 32563//31659 32676//31660 32562//31551 +f 32797//31802 32796//31516 32675//31515 +f 32351//31558 32455//31658 32350//31803 +f 31552//7756 31639//31795 31551//7757 +f 32351//31558 32350//31803 32248//31264 +f 31639//31795 31638//31804 31551//7757 +f 32249//3120 32351//31558 32248//31264 +f 32455//31658 32454//31805 32350//31803 +f 16314//15946 29417//6712 35542//4087 +f 31640//13847 31639//31795 31552//7756 +f 32676//31660 32797//31802 32675//31515 +f 33901//31806 34036//31807 33900//31808 +f 32909//31809 32908//31547 32796//31516 +f 16244//2107 2104//9958 1770//1170 +f 34355//31311 34492//31810 3226//4782 +f 34133//6042 34132//6200 33996//6043 +f 32684//17923 33807//20479 35246//17924 +f 26788//23382 24351//23463 24711//26614 +f 17371//18201 17450//21791 17449//7172 +f 29002//24052 24211//21088 29399//17821 +f 7638//10721 7637//11861 7523//20011 +f 33543//15069 7066//14360 33429//24754 +f 21643//26398 34365//26399 34501//28785 +f 6644//31811 27988//31812 2951//5485 +f 11478//15846 11477//16421 31018//19707 +f 32617//14589 32731//16355 32616//14590 +f 31734//25477 31733//31791 31638//31804 +f 31639//31795 31734//25477 31638//31804 +f 32541//31538 32542//31520 32654//31511 +f 32129//31698 32229//31634 32228//31633 +f 33189//31522 33294//31813 33188//24104 +f 33294//31813 33293//24105 33188//24104 +f 34028//17977 34027//31606 33892//31814 +f 33893//15280 34028//17977 33892//31814 +f 34833//15437 34832//31531 34704//31815 +f 28949//31526 21464//31529 17319//31530 +f 34031//31816 34030//31653 33895//31652 +f 34705//15438 34833//15437 34704//31815 +f 34448//31543 34447//31545 34309//31587 +f 31016//7951 31077//7950 31015//31817 +f 31935//31694 32032//31696 31934//17721 +f 31266//30885 31331//31546 31265//23717 +f 33516//31542 33635//31532 33515//31534 +f 32797//31802 32909//31809 32796//31516 +f 32032//31696 32129//31698 32128//31801 +f 33017//31818 33016//31819 32908//31547 +f 32909//31809 33017//31818 32908//31547 +f 20154//15976 22442//21087 17815//15977 +f 33337//2451 32684//17923 34981//17405 +f 35246//17924 35556//9807 35695//17404 +f 34072//31820 34071//26602 32684//17923 +f 33337//2451 34072//31820 32684//17923 +f 34072//31820 34338//27983 33789//26106 +f 34071//26602 34072//31820 33789//26106 +f 33686//13058 18264//18627 18622//28323 +f 18622//28323 33928//31670 33794//31821 +f 22422//28569 22520//14130 22421//12782 +f 22229//18841 22326//12319 22325//6739 +f 1168//3257 4771//3065 6544//2859 +f 33266//1246 33376//2388 33489//1119 +f 33237//11869 22524//11868 22523//15460 +f 33008//15696 33007//15613 32899//15697 +f 31077//7950 31076//27174 31015//31817 +f 33767//31822 33766//31823 33639//31824 +f 31737//31665 31736//16793 31641//13848 +f 33123//31825 33122//31826 33016//31819 +f 32644//31570 32758//31631 32757//31618 +f 32330//31635 32331//31559 32434//31550 +f 33186//6327 33291//6326 33185//31827 +f 32643//31571 32644//31570 32757//31618 +f 33400//14445 33399//31828 33290//31829 +f 33291//6326 33400//14445 33290//31829 +f 33769//2720 33903//31214 33768//31830 +f 35342//31525 35341//31527 35212//31622 +f 33893//15280 33892//31814 33758//31831 +f 35213//26696 35342//31525 35212//31622 +f 34442//31832 34443//31833 34579//31712 +f 33759//15281 33893//15280 33758//31831 +f 31642//31662 31641//13848 31554//13860 +f 34730//2452 33337//2451 34981//17405 +f 17273//16734 17272//22758 33359//16732 +f 35227//21620 34072//31820 33337//2451 +f 34870//2450 34730//2452 35942//17652 +f 34199//31834 34338//27983 34072//31820 +f 35227//21620 34199//31834 34072//31820 +f 34199//31834 13103//31835 11443//15975 +f 34338//27983 34199//31834 11443//15975 +f 13103//31835 33794//31821 33928//31670 +f 11443//15975 13103//31835 33928//31670 +f 31139//27173 31138//31528 31076//27174 +f 33686//13058 18622//28323 33794//31821 +f 31259//17545 31260//16090 31324//16092 +f 20001//24606 19970//17064 19971//21440 +f 32757//31618 32758//31631 32869//31569 +f 32203//31836 32304//16296 32202//16298 +f 33017//31818 33123//31825 33016//31819 +f 31555//15698 31642//31662 31554//13860 +f 33228//31837 33227//31838 33122//31826 +f 33123//31825 33228//31837 33122//31826 +f 31644//31839 31643//31661 31556//12472 +f 31557//1541 31644//31839 31556//12472 +f 31739//31840 31738//31664 31643//31661 +f 31644//31839 31739//31840 31643//31661 +f 31839//31841 31838//31691 31738//31664 +f 31739//31840 31839//31841 31738//31664 +f 31937//31842 31936//31693 31838//31691 +f 31839//31841 31937//31842 31838//31691 +f 32034//31843 32033//31695 31936//31693 +f 31937//31842 32034//31843 31936//31693 +f 32131//31844 32130//31697 32033//31695 +f 32034//31843 32131//31844 32033//31695 +f 32131//31844 32231//31845 32230//31732 +f 32130//31697 32131//31844 32230//31732 +f 32231//31845 32333//31846 32332//31733 +f 31624//10366 31623//31561 31536//31847 +f 32230//31732 32231//31845 32332//31733 +f 21972//24434 18264//18627 33686//13058 +f 33022//8860 7525//11397 33021//11399 +f 32914//2274 33022//8860 32913//17864 +f 34247//20154 34199//31834 35227//21620 +f 26498//1855 27148//2655 19244//17136 +f 34608//31848 13103//31835 34199//31834 +f 34247//20154 34608//31848 34199//31834 +f 34608//31848 33930//3509 33794//31821 +f 13103//31835 34608//31848 33794//31821 +f 27375//1139 29356//14896 35939//1140 +f 33794//31821 33930//3509 33686//13058 +f 11731//18164 11651//18213 11652//18211 +f 34722//31667 6943//31849 34721//31850 +f 32333//31846 32437//31851 32436//31734 +f 32332//31733 32333//31846 32436//31734 +f 32437//31851 32544//31852 32543//31735 +f 32436//31734 32437//31851 32543//31735 +f 32657//31853 32656//31754 32543//31735 +f 32544//31852 32657//31853 32543//31735 +f 32778//31854 32777//31758 32656//31754 +f 32657//31853 32778//31854 32656//31754 +f 32890//31855 32889//31759 32777//31758 +f 32778//31854 32890//31855 32777//31758 +f 32998//31856 32997//31761 32889//31759 +f 32890//31855 32998//31856 32889//31759 +f 33104//31857 33103//31762 32997//31761 +f 32998//31856 33104//31857 32997//31761 +f 31527//31668 31614//31858 31526//31859 +f 33209//31860 33208//31763 33103//31762 +f 34433//31861 34570//31862 34432//31643 +f 33755//31863 33754//31864 33627//31865 +f 32994//17563 32993//17565 32885//31514 +f 33419//31866 33418//31740 33309//27199 +f 34970//25317 34969//31867 34840//31584 +f 34172//31868 34310//31586 34309//31587 +f 34713//31556 34712//31585 34584//31557 +f 33517//31262 33516//31542 33403//31263 +f 32125//22331 32225//31869 32124//31870 +f 31465//28181 31537//10367 31464//31871 +f 33104//31857 33209//31860 33103//31762 +f 11422//6418 11421//4611 31207//4610 +f 33314//31872 33313//31779 33208//31763 +f 31792//17551 31898//1673 31791//6066 +f 35637//2505 34347//2504 35227//21620 +f 31692//17552 31792//17551 31691//17865 +f 33233//2692 34608//31848 34247//20154 +f 17816//5002 11443//15975 17815//15977 +f 34247//20154 35755//21464 33233//2692 +f 34608//31848 33233//2692 33930//3509 +f 31397//19607 31464//31871 31463//31873 +f 17462//21621 17384//5761 17463//5760 +f 6948//9954 34598//14588 6881//13955 +f 33209//31860 33314//31872 33208//31763 +f 33423//31874 33422//31780 33313//31779 +f 33314//31872 33423//31874 33313//31779 +f 33536//31875 33535//31784 33422//31780 +f 33423//31874 33536//31875 33422//31780 +f 33655//31876 33654//31785 33535//31784 +f 33536//31875 33655//31876 33535//31784 +f 33782//31877 33781//31786 33654//31785 +f 33655//31876 33782//31877 33654//31785 +f 33916//31878 33915//31787 33781//31786 +f 32633//31879 32632//31880 32523//31624 +f 33782//31877 33916//31878 33781//31786 +f 33012//31881 33011//31882 32903//31883 +f 31186//31884 31187//31885 31250//31886 +f 31537//10367 31624//10366 31536//31847 +f 32792//31887 32904//31888 32791//31889 +f 31062//31593 31061//31890 31000//31891 +f 31001//31892 31062//31593 31000//31891 +f 34051//31893 34050//31788 33915//31787 +f 32201//31213 32302//31782 32200//4566 +f 33916//31878 34051//31893 33915//31787 +f 34187//31894 34186//31794 34050//31788 +f 34051//31893 34187//31894 34050//31788 +f 34325//31895 34324//31800 34186//31794 +f 34187//31894 34325//31895 34186//31794 +f 34818//31896 34947//31897 34817//30668 +f 34325//31895 34463//13956 34462//22175 +f 34324//31800 34325//31895 34462//22175 +f 5200//2910 8559//11347 789//2911 +f 11418//5476 11417//17459 31338//9742 +f 32536//31898 32535//31580 32430//31899 +f 32229//31634 32331//31559 32330//31635 +f 33873//15430 33872//31900 33738//16626 +f 34319//31701 34457//31702 34318//31901 +f 31079//31902 31078//7949 31017//9002 +f 31079//31902 31141//31903 31078//7949 +f 31018//19707 31079//31902 31017//9002 +f 31141//31903 31140//30925 31078//7949 +f 31204//31904 31203//30926 31140//30925 +f 31141//31903 31204//31904 31140//30925 +f 31268//31905 31267//31906 31203//30926 +f 31204//31904 31268//31905 31203//30926 +f 34319//31701 34318//31901 34180//31907 +f 34181//31703 34319//31701 34180//31907 +f 33333//31908 33332//21112 33227//31838 +f 33228//31837 33333//31908 33227//31838 +f 7041//3694 7040//3696 6942//13396 +f 31551//7757 31550//13895 26517//10794 +f 11420//4612 11419//5475 31272//5474 +f 34721//31850 6943//31849 6942//13396 +f 31447//31909 31446//31910 31379//31911 +f 30894//16930 30948//29291 30893//16992 +f 23590//22513 15767//19610 15766//8100 +f 30875//21547 30929//3918 30874//24216 +f 33442//31912 33441//28288 33332//21112 +f 33333//31908 33442//31912 33332//21112 +f 33776//31737 33910//31730 33775//31913 +f 31709//30367 31809//31914 31708//30368 +f 34295//31602 34433//31861 34294//31604 +f 31431//25149 31430//453 31363//25150 +f 35084//26695 35083//25804 34954//31597 +f 17319//31530 13106//11034 19573//31915 +f 34826//31916 34955//31596 34825//31917 +f 32524//31623 32633//31879 32523//31624 +f 31333//31918 31400//31919 31332//31920 +f 34570//31862 34569//31644 34432//31643 +f 31333//31918 31332//31920 31267//31906 +f 31268//31905 31333//31918 31267//31906 +f 31467//31921 31466//10380 31399//10379 +f 31400//31919 31399//10379 31332//31920 +f 31927//31922 31926//31747 31820//30968 +f 31400//31919 31467//31921 31399//10379 +f 31632//5768 31727//15825 31631//15326 +f 31821//31923 31927//31922 31820//30968 +f 31306//31636 31305//16794 31240//17296 +f 33092//30970 33091//28965 32985//31924 +f 34944//31642 35073//15529 34943//31678 +f 22427//14935 22428//16049 22526//14934 +f 31614//31858 31613//30369 31526//31859 +f 31176//16180 31177//31925 31240//17296 +f 34593//31926 34594//31666 34721//31850 +f 31115//31608 31116//31927 31178//27603 +f 33509//31654 33508//31656 33395//31768 +f 34594//31666 34593//31926 34456//31928 +f 34580//31929 34708//31564 34579//31712 +f 33403//31263 33402//31314 33293//24105 +f 33759//15281 33758//31831 33631//31930 +f 33632//27071 33759//15281 33631//31930 +f 33649//31736 33776//31737 33775//31913 +f 34705//15438 34704//31815 34576//31931 +f 32872//31932 32871//31933 32759//31934 +f 33648//31935 33649//31736 33775//31913 +f 33758//31831 33757//31936 33630//31937 +f 33518//31938 33637//31939 33517//31262 +f 33631//31930 33630//31937 33511//31940 +f 33512//31941 33631//31930 33511//31940 +f 32980//31942 33086//31943 32979//31944 +f 33191//31945 33190//31946 33085//31947 +f 34457//31702 34456//31928 34318//31901 +f 33086//31943 33191//31945 33085//31947 +f 34962//16097 34961//31536 34832//31531 +f 33529//31948 33530//31739 33648//31935 +f 33635//31532 33762//31689 33634//31533 +f 23591//11999 23590//22513 7474//449 +f 35060//25503 35059//27854 34930//14234 +f 34802//23217 34931//14233 34801//14235 +f 23590//22513 7362//450 7474//449 +f 35554//3505 35624//5710 35518//10313 +f 7514//14462 33673//14978 33555//10823 +f 33554//28289 33555//10823 33673//14978 +f 33896//31949 34031//31816 33895//31652 +f 31935//31694 31934//17721 31836//17690 +f 32031//31950 32032//31696 32128//31801 +f 34045//31729 34044//31951 33909//31952 +f 31365//21971 31364//25148 31297//14674 +f 31539//31953 31626//31954 31538//28180 +f 33910//31730 34045//31729 33909//31952 +f 31539//31953 31538//28180 31466//10380 +f 31467//31921 31539//31953 31466//10380 +f 31721//31955 31720//30967 31625//10365 +f 31626//31954 31625//10365 31538//28180 +f 31821//31923 31820//30968 31720//30967 +f 31626//31954 31721//31955 31625//10365 +f 34704//31815 34832//31531 34703//31956 +f 31721//31955 31821//31923 31720//30967 +f 35219//31524 35218//31683 35089//31684 +f 34961//31536 34960//31957 34831//31958 +f 34576//31931 34704//31815 34703//31956 +f 34832//31531 34831//31958 34703//31956 +f 34301//31959 34439//31960 34300//31961 +f 34438//31962 34439//31960 34575//31963 +f 32328//31964 32329//31965 32431//31966 +f 34163//31605 34301//31959 34162//31967 +f 31927//31922 32027//31748 31926//31747 +f 32537//31968 32536//31898 32431//31966 +f 32329//31965 32328//31964 32227//31969 +f 32329//31965 32432//31970 32431//31966 +f 32432//31970 32537//31968 32431//31966 +f 32646//31971 32645//31972 32536//31898 +f 32537//31968 32646//31971 32536//31898 +f 32760//31973 32759//31934 32645//31972 +f 34457//31702 34594//31666 34456//31928 +f 32646//31971 32760//31973 32645//31972 +f 33910//31730 33909//31952 33775//31913 +f 34594//31666 34722//31667 34721//31850 +f 33442//31912 33555//10823 33441//28288 +f 33417//31741 33530//31739 33529//31948 +f 35764//2693 33930//3509 35570//2691 +f 2443//3723 592//8784 5414//18618 +f 33308//31755 33417//31741 33416//31974 +f 32621//31975 32620//31112 32511//31783 +f 33764//31976 33763//31688 33636//31977 +f 33307//31978 33308//31755 33416//31974 +f 33637//31939 33764//31976 33636//31977 +f 33898//31979 33897//31980 33763//31688 +f 34033//31981 34169//31982 34032//31983 +f 34168//31984 34169//31982 34306//31985 +f 33191//31945 33296//31986 33295//31987 +f 33190//31946 33191//31945 33295//31987 +f 33098//31767 33203//31764 33097//31988 +f 33308//31755 33307//31978 33202//31989 +f 17289//21188 17358//20942 17357//21182 +f 7074//21703 35945//6694 10624//9469 +f 35199//13979 33666//13978 35198//20210 +f 34343//1601 15049//1600 13184//17400 +f 35341//31527 17319//31530 35340//31990 +f 33203//31764 33202//31989 33097//31988 +f 32776//31507 32888//31760 32775//31508 +f 34181//31703 34180//31907 34044//31951 +f 33530//31739 33649//31736 33648//31935 +f 33405//31991 33404//31261 33295//31987 +f 34045//31729 34181//31703 34044//31951 +f 33399//31828 33398//31992 33289//31993 +f 33296//31986 33405//31991 33295//31987 +f 33290//31829 33399//31828 33289//31993 +f 33512//31941 33511//31940 33398//31992 +f 2960//6557 24792//29429 2961//6655 +f 34961//31536 35090//31535 34960//31957 +f 34684//23606 34683//31994 34555//14563 +f 34832//31531 34961//31536 34831//31958 +f 803//4362 33549//6808 804//4358 +f 35090//31535 35089//31684 34960//31957 +f 6923//14783 7021//14723 6922//14722 +f 31263//31995 31328//17360 31327//31996 +f 34813//31679 34942//16939 34812//31014 +f 31395//17361 31462//31997 31461//31998 +f 31462//31997 31534//31265 31533//31316 +f 31262//31999 31263//31995 31327//31996 +f 34439//31960 34438//31962 34300//31961 +f 31394//17362 31395//17361 31461//31998 +f 34163//31605 34162//31967 34026//32000 +f 34027//31606 34163//31605 34026//32000 +f 34027//31606 34026//32000 33891//32001 +f 34301//31959 34300//31961 34162//31967 +f 33892//31814 33891//32001 33757//31936 +f 33892//31814 34027//31606 33891//32001 +f 33631//31930 33758//31831 33630//31937 +f 33758//31831 33892//31814 33757//31936 +f 32871//31933 32872//31932 32979//31944 +f 33399//31828 33512//31941 33398//31992 +f 32760//31973 32872//31932 32759//31934 +f 33086//31943 33085//31947 32979//31944 +f 33416//31974 33417//31741 33529//31948 +f 32872//31932 32980//31942 32979//31944 +f 35222//32002 6925//14927 11705//14856 +f 32992//31766 33098//31767 32991//32003 +f 34708//31564 34836//31591 34707//31713 +f 33762//31689 33761//32004 33634//31533 +f 32992//31766 32991//32003 32883//32005 +f 11964//22739 12464//29029 11386//777 +f 32884//31778 32992//31766 32883//32005 +f 33098//31767 33097//31988 32991//32003 +f 34582//32006 34581//32007 34444//32008 +f 34307//32009 34445//32010 34444//32008 +f 33764//31976 33898//31979 33763//31688 +f 34033//31981 34032//31983 33897//31980 +f 33203//31764 33308//31755 33202//31989 +f 33898//31979 34033//31981 33897//31980 +f 33949//14805 11252//852 12735//18733 +f 32772//31777 32884//31778 32771//32011 +f 33081//17448 33186//6327 33080//32012 +f 33291//6326 33290//31829 33185//31827 +f 32974//32013 32975//4562 33080//32012 +f 33434//22234 33435//31646 33547//10115 +f 34965//31590 34964//32014 34835//32015 +f 31931//31792 32028//31790 31930//32016 +f 32884//31778 32883//32005 32771//32011 +f 33518//31938 33517//31262 33404//31261 +f 33405//31991 33518//31938 33404//31261 +f 34838//32017 34837//31563 34709//31562 +f 33637//31939 33636//31977 33517//31262 +f 34710//32018 34838//32017 34709//31562 +f 34967//32019 34966//31589 34837//31563 +f 31114//31609 31115//31608 31177//31925 +f 32866//32020 32974//32013 32973//32021 +f 6931//15118 6930//13761 35098//13760 +f 33875//30921 33874//15429 33740//30922 +f 6885//32022 13102//32023 2412//10879 +f 34065//22233 19519//15383 30213//24470 +f 34802//23217 34801//14235 34673//15407 +f 22029//8807 21934//8286 21935//1757 +f 12995//14806 34989//22224 34343//1601 +f 23076//32024 27404//15420 17291//15419 +f 20894//8913 33578//32025 34742//32026 +f 26433//29872 26432//16781 25944//16780 +f 21111//1211 21199//14566 21110//8789 +f 34382//32027 21201//16499 34383//32028 +f 33023//12638 3097//20898 3096//12639 +f 30949//32029 30948//29291 30894//16930 +f 1615//4749 13777//32030 14380//22730 +f 30895//16761 30949//32029 30894//16930 +f 31007//32031 31006//15826 30948//29291 +f 807//6397 33553//32032 33672//22182 +f 30949//32029 31007//32031 30948//29291 +f 31068//32033 31067//21215 31006//15826 +f 31007//32031 31068//32033 31006//15826 +f 31068//32033 31130//32034 31129//32035 +f 33290//31829 33289//31993 33184//32036 +f 33185//31827 33290//31829 33184//32036 +f 34445//32010 34582//32006 34444//32008 +f 34710//32018 34709//31562 34581//32007 +f 31833//31793 31931//31792 31930//32016 +f 31832//32037 31833//31793 31930//32016 +f 31833//31793 31832//32037 31732//32038 +f 31733//31791 31833//31793 31732//32038 +f 33186//6327 33185//31827 33080//32012 +f 31638//31804 31733//31791 31637//32039 +f 32888//31760 32887//31638 32775//31508 +f 34708//31564 34707//31713 34579//31712 +f 31551//7757 31638//31804 31550//13895 +f 31614//31858 31709//30367 31613//30369 +f 31638//31804 31637//32039 31550//13895 +f 31733//31791 31732//32038 31637//32039 +f 33901//31806 33900//31808 33766//31823 +f 34595//31510 34596//22926 34723//22925 +f 34169//31982 34168//31984 34032//31983 +f 32983//4305 33089//20855 33088//31566 +f 32227//31969 32328//31964 32327//32040 +f 32226//32041 32227//31969 32327//32040 +f 32869//31569 32870//31632 32977//31568 +f 32645//31972 32644//31570 32535//31580 +f 32536//31898 32645//31972 32535//31580 +f 31645//7355 31644//31839 31557//1541 +f 15042//19301 3863//22841 274//9546 +f 31740//32042 31739//31840 31644//31839 +f 34036//31807 34035//32043 33900//31808 +f 33188//24104 33187//20194 33082//21858 +f 33767//31822 33901//31806 33766//31823 +f 31915//32044 31914//32045 31808//32046 +f 33059//31775 33058//29034 32952//27559 +f 13395//15352 34989//22224 33949//14805 +f 35096//32047 35095//31581 34966//31589 +f 34838//32017 34967//32019 34837//31563 +f 31455//22348 31454//31669 31387//22349 +f 32983//4305 32982//32048 32874//32049 +f 19966//16972 31082//22382 19967//16973 +f 31557//1541 31556//12472 26615//6435 +f 34409//14854 34408//17623 34270//6199 +f 17388//7035 17465//12584 19521//7036 +f 18799//32050 19015//17819 8310//32051 +f 19015//17819 35112//32052 8310//32051 +f 7301//16435 33812//23118 34995//23117 +f 34247//20154 35227//21620 34347//2504 +f 34995//23117 12573//967 20010//15389 +f 17281//9374 17349//19589 17280//22194 +f 518//12355 633//9530 632//9450 +f 33550//6809 33551//6391 805//6702 +f 33467//16625 15221//1296 14737//1432 +f 35141//32053 21742//3214 21743//28516 +f 34195//29208 32567//17523 33467//16625 +f 27988//31812 34329//5782 3093//5489 +f 21933//9297 21934//8286 22028//4134 +f 13005//16002 27028//32054 17457//20645 +f 32567//17523 27552//32055 15610//24430 +f 35569//3517 35927//6114 35410//1548 +f 31067//21215 31068//32033 31129//32035 +f 31130//32034 31193//32056 31192//32057 +f 32974//32013 33080//32012 32973//32021 +f 33185//31827 33184//32036 33079//32058 +f 34582//32006 34710//32018 34581//32007 +f 34967//32019 35096//32047 34966//31589 +f 32208//32059 32207//32060 32107//32061 +f 31794//32062 31900//31447 31793//17550 +f 31645//7355 31740//32042 31644//31839 +f 31840//32063 31839//31841 31739//31840 +f 31740//32042 31840//32063 31739//31840 +f 31938//32064 31937//31842 31839//31841 +f 31840//32063 31938//32064 31839//31841 +f 32035//32065 32034//31843 31937//31842 +f 31938//32064 32035//32065 31937//31842 +f 32132//32066 32131//31844 32034//31843 +f 32035//32065 32132//32066 32034//31843 +f 32232//32067 32231//31845 32131//31844 +f 32132//32066 32232//32067 32131//31844 +f 32334//32068 32333//31846 32231//31845 +f 34035//32043 34036//31807 34171//32069 +f 32232//32067 32334//32068 32231//31845 +f 805//6702 33551//6391 806//6390 +f 16317//19906 4921//20195 9680//745 +f 32438//32070 32437//31851 32333//31846 +f 32334//32068 32438//32070 32333//31846 +f 32545//32071 32544//31852 32437//31851 +f 32438//32070 32545//32071 32437//31851 +f 32658//32072 32657//31853 32544//31852 +f 32545//32071 32658//32072 32544//31852 +f 32779//32073 32778//31854 32657//31853 +f 32658//32072 32779//32073 32657//31853 +f 32891//32074 32890//31855 32778//31854 +f 32779//32073 32891//32074 32778//31854 +f 32999//32075 32998//31856 32890//31855 +f 32891//32074 32999//32075 32890//31855 +f 33105//32076 33104//31857 32998//31856 +f 32999//32075 33105//32076 32998//31856 +f 33210//32077 33209//31860 33104//31857 +f 33105//32076 33210//32077 33104//31857 +f 33315//32078 33314//31872 33209//31860 +f 33210//32077 33315//32078 33209//31860 +f 34713//31556 34841//31583 34712//31585 +f 33439//17886 33440//32079 33552//6389 +f 32621//31975 32735//32080 32620//31112 +f 35563//11904 35372//3902 11624//1009 +f 11519//14255 11586//6917 11518//14082 +f 30958//9003 31016//7951 30957//16705 +f 19669//15351 902//15353 7301//16435 +f 34813//31679 34812//31014 34684//23606 +f 9567//11652 10451//11560 10901//11561 +f 3756//4152 3757//3970 3888//3972 +f 34079//25393 34479//12637 3096//12639 +f 17294//16922 27781//16921 29270//32081 +f 35002//18895 30338//32082 33812//23118 +f 7301//16435 35002//18895 33812//23118 +f 30338//32082 13500//32083 24997//968 +f 33812//23118 30338//32082 24997//968 +f 13500//32083 34738//32084 13790//966 +f 24997//968 13500//32083 13790//966 +f 34738//32084 31854//32085 34195//29208 +f 13790//966 34738//32084 34195//29208 +f 31854//32085 27552//32055 32567//17523 +f 34195//29208 31854//32085 32567//17523 +f 35246//17924 35695//17404 34981//17405 +f 27552//32055 17390//22478 15610//24430 +f 33376//2388 33266//1246 33161//16094 +f 7026//14962 6927//14961 7027//15003 +f 31129//32035 31130//32034 31192//32057 +f 31708//30368 31808//32046 31707//32086 +f 33080//32012 33185//31827 33079//32058 +f 31193//32056 31257//32087 31256//32088 +f 1615//4749 16008//16839 34486//32089 +f 32865//32090 32866//32020 32973//32021 +f 32652//32091 32766//21757 32651//26725 +f 35095//31581 35096//32047 35224//31582 +f 33424//32092 33423//31874 33314//31872 +f 32512//32093 32621//31975 32511//31783 +f 33315//32078 33424//32092 33314//31872 +f 33537//32094 33536//31875 33423//31874 +f 33424//32092 33537//32094 33423//31874 +f 33656//32095 33655//31876 33536//31875 +f 33537//32094 33656//32095 33536//31875 +f 32747//32096 32859//31628 32746//32097 +f 34433//31861 34432//31643 34294//31604 +f 33783//32098 33782//31877 33655//31876 +f 33656//32095 33783//32098 33655//31876 +f 33917//32099 33916//31878 33782//31877 +f 33783//32098 33917//32099 33782//31877 +f 34052//32100 34051//31893 33916//31878 +f 33917//32099 34052//32100 33916//31878 +f 34188//32101 34187//31894 34051//31893 +f 34052//32100 34188//32101 34051//31893 +f 34326//27518 34325//31895 34187//31894 +f 34188//32101 34326//27518 34187//31894 +f 35061//24880 35060//25503 34931//14233 +f 34325//31895 34326//27518 34463//13956 +f 34487//18032 17653//18031 19311//16767 +f 22136//31481 22135//3378 35249//32102 +f 32870//31632 32978//32103 32977//31568 +f 32431//31966 32536//31898 32430//31899 +f 34458//31700 34459//31509 34595//31510 +f 13868//8856 14262//15929 13774//7640 +f 34183//32104 34321//32105 34182//31704 +f 34321//32105 34459//31509 34320//31699 +f 31512//31626 31511//17341 31439//21302 +f 33930//3509 35764//2693 35730//187 +f 34421//22070 34558//27805 34420//22071 +f 32101//31449 32201//31213 32100//18092 +f 14285//32106 35293//32107 18938//12513 +f 32854//32108 32853//32109 32741//31707 +f 2278//6040 30090//12443 2277//5888 +f 6932//15146 34970//25317 34971//15257 +f 35002//18895 13056//15400 30338//32082 +f 13056//15400 35002//18895 9281//5 +f 34196//14894 5326//32110 13500//32083 +f 30338//32082 34196//14894 13500//32083 +f 5326//32110 34621//32111 34738//32084 +f 13500//32083 5326//32110 34738//32084 +f 34621//32111 34069//32112 31854//32085 +f 34738//32084 34621//32111 31854//32085 +f 34069//32112 28234//32113 27552//32055 +f 31854//32085 34069//32112 27552//32055 +f 13058//18163 17390//22478 28234//32113 +f 27552//32055 28234//32113 17390//22478 +f 7515//10822 7514//14462 33555//10823 +f 671//3513 7694//11495 670//3698 +f 31808//32046 31807//32114 31707//32086 +f 31914//32045 31913//32115 31807//32114 +f 31192//32057 31193//32056 31256//32088 +f 31322//32116 31321//32117 31256//32088 +f 32754//32118 32866//32020 32865//32090 +f 33080//32012 33079//32058 32973//32021 +f 34586//32119 34714//31478 34585//31544 +f 11580//16204 11654//5577 32352//16205 +f 33886//32120 34021//31598 33885//32121 +f 32419//31578 32418//31625 32315//31579 +f 34285//32122 34284//5975 34146//14641 +f 31440//31627 31439//21302 31372//17439 +f 32650//32123 32764//32124 32649//25073 +f 35094//31592 35093//32125 34964//32014 +f 34836//31591 34835//32015 34707//31713 +f 33632//27071 33631//31930 33512//31941 +f 33513//18810 33632//27071 33512//31941 +f 32633//31879 32747//32096 32632//31880 +f 32748//32126 32747//32096 32633//31879 +f 34440//31479 34439//31960 34301//31959 +f 32748//32126 32860//32127 32747//32096 +f 34577//17193 34705//15438 34576//31931 +f 33896//31949 33895//31652 33761//32004 +f 33762//31689 33896//31949 33761//32004 +f 31837//31692 31935//31694 31836//17690 +f 32032//31696 32031//31950 31934//17721 +f 31837//31692 31836//17690 31736//16793 +f 31737//31665 31837//31692 31736//16793 +f 34013//21578 34012//21580 33877//32128 +f 31642//31662 31737//31665 31641//13848 +f 32455//31658 32562//31551 32454//31805 +f 34157//31599 34156//31603 34020//31600 +f 33636//31977 33635//31532 33516//31542 +f 32774//32129 32886//31513 32773//31553 +f 32888//31760 32996//31637 32887//31638 +f 31926//31747 31925//31663 31819//31015 +f 32535//31580 32534//31572 32429//32130 +f 32430//31899 32535//31580 32429//32130 +f 32904//31888 33012//31881 32903//31883 +f 33775//31913 33909//31952 33908//32131 +f 34282//22072 34281//5764 34143//32132 +f 32532//17719 32641//23698 32640//32133 +f 32641//23698 32755//22154 32754//32118 +f 33223//31165 33222//31166 33117//32134 +f 32531//32135 32532//17719 32640//32133 +f 33554//28289 33673//14978 33672//22182 +f 34836//31591 34965//31590 34835//32015 +f 17371//18201 17372//22031 17450//21791 +f 33553//32032 33554//28289 33672//22182 +f 33528//32136 33529//31948 33647//32137 +f 33648//31935 33775//31913 33774//32138 +f 13056//15400 34196//14894 30338//32082 +f 31907//32139 31906//31751 31800//31744 +f 33161//16094 33267//16093 33376//2388 +f 31202//30884 31201//30886 31138//31528 +f 35689//6113 35771//1954 35538//8654 +f 32805//22731 34849//32140 12965//25917 +f 33811//14893 13479//32141 5326//32110 +f 34196//14894 33811//14893 5326//32110 +f 13479//32141 33573//32142 34621//32111 +f 5326//32110 13479//32141 34621//32111 +f 33573//32142 13120//32143 34069//32112 +f 34621//32111 33573//32142 34069//32112 +f 13120//32143 33345//32144 28234//32113 +f 34069//32112 13120//32143 28234//32113 +f 3096//12639 3235//5784 3095//5783 +f 33345//32144 32805//22731 13058//18163 +f 17277//21593 17278//21595 17346//21589 +f 12965//25917 15478//18401 12964//18161 +f 15478//18401 15477//18162 12964//18161 +f 11578//5579 11653//5578 32565//13467 +f 31257//32087 31322//32116 31256//32088 +f 31389//32145 31388//22347 31321//32117 +f 32639//32146 32640//32133 32753//32147 +f 32753//32147 32754//32118 32865//32090 +f 34449//22458 34586//32119 34448//31543 +f 34714//31478 34713//31556 34585//31544 +f 33522//32148 33521//24431 33408//32149 +f 34166//31710 34165//17976 34029//17975 +f 31177//31925 31241//31554 31240//17296 +f 32302//31782 32301//4567 32200//4566 +f 34306//31985 34305//32150 34167//32151 +f 32860//32127 32859//31628 32747//32096 +f 19527//28202 19215//21026 18377//4316 +f 671//3513 8863//11420 7694//11495 +f 274//9546 3732//1585 2710//1618 +f 19136//6400 35636//12694 7081//6401 +f 31741//32152 31740//32042 31645//7355 +f 31646//7356 31741//32152 31645//7355 +f 33307//31978 33416//31974 33415//32153 +f 31841//32154 31840//32063 31740//32042 +f 32968//32155 32967//31629 32859//31628 +f 33306//32156 33307//31978 33415//32153 +f 31741//32152 31841//32154 31740//32042 +f 33201//32157 33202//31989 33306//32156 +f 31939//32158 31938//32064 31840//32063 +f 31841//32154 31939//32158 31840//32063 +f 32036//32159 32035//32065 31938//32064 +f 31939//32158 32036//32159 31938//32064 +f 32133//32160 32132//32066 32035//32065 +f 32036//32159 32133//32160 32035//32065 +f 32233//32161 32232//32067 32132//32066 +f 32133//32160 32233//32161 32132//32066 +f 33097//31988 33202//31989 33096//32162 +f 32335//32163 32334//32068 32232//32067 +f 33097//31988 33096//32162 32990//32164 +f 33202//31989 33307//31978 33306//32156 +f 32991//32003 33097//31988 32990//32164 +f 33202//31989 33201//32157 33096//32162 +f 31123//31595 31124//31594 31186//31884 +f 32747//32096 32746//32097 32632//31880 +f 33122//31826 33121//32165 33015//32166 +f 32859//31628 32858//31630 32746//32097 +f 33330//27195 33329//24950 33224//30973 +f 31187//31885 31251//32167 31250//31886 +f 34593//31926 34721//31850 34720//14200 +f 34197//11252 11264//11173 31853//11175 +f 32233//32161 32335//32163 32232//32067 +f 32439//32168 32438//32070 32334//32068 +f 32335//32163 32439//32168 32334//32068 +f 32546//32169 32545//32071 32438//32070 +f 32439//32168 32546//32169 32438//32070 +f 34044//31951 34180//31907 34043//32170 +f 32659//32171 32658//32072 32545//32071 +f 32546//32169 32659//32171 32545//32071 +f 32780//32172 32779//32073 32658//32072 +f 32659//32171 32780//32172 32658//32072 +f 32892//32173 32891//32074 32779//32073 +f 32780//32172 32892//32173 32779//32073 +f 33000//32174 32999//32075 32891//32074 +f 32892//32173 33000//32174 32891//32074 +f 32771//32011 32883//32005 32770//32175 +f 33106//32176 33105//32076 32999//32075 +f 33000//32174 33106//32176 32999//32075 +f 32991//32003 32990//32164 32882//32177 +f 33211//32178 33210//32077 33105//32076 +f 33106//32176 33211//32178 33105//32076 +f 33316//32179 33315//32078 33210//32077 +f 33211//32178 33316//32179 33210//32077 +f 33425//32180 33424//32092 33315//32078 +f 33316//32179 33425//32180 33315//32078 +f 33647//32137 33648//31935 33774//32138 +f 31831//32181 31832//32037 31929//32182 +f 32049//14734 32146//24524 32048//22843 +f 32146//24524 32145//19624 32048//22843 +f 11729//2273 32801//2272 11730//18108 +f 33327//25027 33436//15990 33435//31646 +f 34845//21027 34718//32183 6975//13117 +f 33812//23118 24997//968 12573//967 +f 33811//14893 12464//29029 13479//32141 +f 12464//29029 34361//25471 11386//777 +f 35254//27343 34362//27345 33573//32142 +f 13479//32141 35254//27343 33573//32142 +f 34362//27345 33790//32184 13120//32143 +f 33573//32142 34362//27345 13120//32143 +f 33790//32184 19240//32185 33345//32144 +f 13120//32143 33790//32184 33345//32144 +f 19240//32185 34849//32140 32805//22731 +f 33345//32144 19240//32185 32805//22731 +f 33583//32186 2144//15992 33457//15991 +f 34849//32140 34341//32187 12965//25917 +f 11393//11396 10358//11324 7685//11325 +f 3928//13837 34341//32187 33451//13835 +f 3539//16281 4798//13836 33451//13835 +f 3228//4779 33687//4930 14069//5075 +f 33707//11653 9567//11652 10901//11561 +f 33402//31314 33515//31534 33401//14444 +f 32530//32188 32531//32135 32639//32146 +f 32640//32133 32754//32118 32753//32147 +f 34945//29271 35074//28938 34944//31642 +f 32742//31706 32854//32108 32741//31707 +f 35203//4309 35202//15530 35073//15529 +f 31117//32189 31118//32190 31180//31722 +f 33872//31900 33871//29909 33737//16698 +f 35201//27806 35200//18547 35071//16940 +f 32634//32191 32748//32126 32633//31879 +f 33872//31900 34007//32192 33871//29909 +f 33529//31948 33648//31935 33647//32137 +f 34143//32132 34281//5764 34142//5766 +f 33538//32193 33537//32094 33424//32092 +f 33416//31974 33529//31948 33528//32136 +f 33425//32180 33538//32193 33424//32092 +f 33657//32194 33656//32095 33537//32094 +f 33538//32193 33657//32194 33537//32094 +f 33784//32195 33783//32098 33656//32095 +f 31832//32037 31930//32016 31929//32182 +f 33657//32194 33784//32195 33656//32095 +f 31637//32039 31732//32038 31636//32196 +f 31832//32037 31831//32181 31731//32197 +f 33918//32198 33917//32099 33783//32098 +f 33784//32195 33918//32198 33783//32098 +f 34053//32199 34052//32100 33917//32099 +f 31550//13895 31637//32039 31549//15191 +f 33918//32198 34053//32199 33917//32099 +f 33440//32079 33553//32032 33552//6389 +f 31732//32038 31731//32197 31636//32196 +f 33440//32079 33439//17886 33330//27195 +f 31637//32039 31636//32196 31549//15191 +f 34189//32200 34188//32101 34052//32100 +f 33331//21113 33440//32079 33330//27195 +f 34053//32199 34189//32200 34052//32100 +f 34327//27365 34326//27518 34188//32101 +f 34189//32200 34327//27365 34188//32101 +f 21631//25409 26395//30187 26394//25433 +f 33331//21113 33330//27195 33225//30972 +f 33226//21114 33331//21113 33225//30972 +f 34030//31653 34166//31710 34029//17975 +f 32218//32201 32219//23127 32319//32202 +f 33205//31445 33204//27200 33099//31765 +f 33379//32203 33378//32204 33269//31799 +f 31795//31610 31794//32062 31694//31611 +f 32306//14869 32305//29340 32204//32205 +f 34592//32206 34593//31926 34720//14200 +f 6883//12397 34465//17946 6951//11392 +f 34318//31901 34456//31928 34317//32207 +f 34593//31926 34592//32206 34455//32208 +f 34180//31907 34318//31901 34179//32209 +f 34456//31928 34593//31926 34455//32208 +f 34318//31901 34317//32207 34179//32209 +f 34456//31928 34455//32208 34317//32207 +f 34044//31951 34043//32170 33908//32131 +f 33909//31952 34044//31951 33908//32131 +f 32883//32005 32991//32003 32882//32177 +f 34180//31907 34179//32209 34043//32170 +f 22594//25507 22692//25431 30335//26108 +f 32431//31966 32430//31899 32327//32040 +f 33786//16955 11432//16799 33920//16800 +f 32565//13467 11653//5578 11652//18211 +f 33015//32166 33121//32165 33014//27634 +f 33207//31483 33206//31487 33101//31484 +f 32883//32005 32882//32177 32770//32175 +f 32904//31888 32903//31883 32791//31889 +f 31537//10367 31536//31847 31464//31871 +f 33880//32210 34015//32211 33879//32212 +f 32564//13468 32563//31659 32456//22633 +f 21138//23768 33807//20479 22262//23826 +f 33625//32213 33752//32214 33624//32215 +f 32677//32216 32676//31660 32563//31659 +f 32246//26689 32245//17180 32145//19624 +f 31016//7951 31015//31817 30957//16705 +f 12464//29029 35254//27343 13479//32141 +f 31722//32217 31721//31955 31626//31954 +f 33748//24271 33747//27232 33620//24272 +f 3366//4619 3227//4781 3228//4779 +f 9327//17539 6542//11143 33025//22884 +f 25682//27831 25540//25988 11923//25885 +f 21955//23465 21956//23450 35766//14247 +f 32399//17043 32504//25678 32398//19980 +f 35251//27344 34610//32218 33790//32184 +f 34362//27345 35251//27344 33790//32184 +f 34610//32218 29822//32219 19240//32185 +f 33790//32184 34610//32218 19240//32185 +f 29822//32219 12048//32220 34849//32140 +f 19240//32185 29822//32219 34849//32140 +f 12048//32220 34352//32221 34341//32187 +f 34849//32140 12048//32220 34341//32187 +f 34352//32221 33566//32222 33451//13835 +f 34341//32187 34352//32221 33451//13835 +f 33566//32222 33459//14570 33347//3427 +f 33451//13835 33566//32222 33347//3427 +f 33026//17540 33025//22884 10724//11740 +f 3753//16895 620//3426 15076//14569 +f 3330//21187 17287//15412 14263//32223 +f 32944//20905 33050//14892 33049//20906 +f 32425//32224 32426//32225 32530//32188 +f 32531//32135 32640//32133 32639//32146 +f 32322//32226 32323//32227 32425//32224 +f 32426//32225 32531//32135 32530//32188 +f 13107//32228 26966//27432 13224//27433 +f 32323//32227 32426//32225 32425//32224 +f 31310//31671 31309//31673 31244//31724 +f 33064//31675 33063//31681 32957//31676 +f 32850//32229 32958//31674 32849//32230 +f 34943//31678 35072//15531 34942//16939 +f 33415//32153 33416//31974 33528//32136 +f 32311//32231 32414//32232 32310//32233 +f 34021//31598 34020//31600 33885//32121 +f 32967//31629 33073//32234 32966//31641 +f 32564//13468 32677//32216 32563//31659 +f 34283//5977 34421//22070 34282//22072 +f 31542//32235 31629//14531 31541//32236 +f 35094//31592 35223//14960 35222//32002 +f 31732//32038 31832//32037 31731//32197 +f 30943//32237 30942//32238 30888//16142 +f 34965//31590 35094//31592 34964//32014 +f 33073//32234 33072//32239 32966//31641 +f 33513//18810 33512//31941 33399//31828 +f 33400//14445 33513//18810 33399//31828 +f 34028//17977 34164//15610 34027//31606 +f 34302//15535 34440//31479 34301//31959 +f 30943//32237 31001//31892 30942//32238 +f 34167//32151 34166//31710 34030//31653 +f 34031//31816 34167//32151 34030//31653 +f 31124//31594 31187//31885 31186//31884 +f 34167//32151 34305//32150 34166//31710 +f 34305//32150 34304//31711 34166//31710 +f 13106//11034 21464//31529 22237//3275 +f 34443//31833 34580//31929 34579//31712 +f 32798//32240 32797//31802 32676//31660 +f 33294//31813 33403//31263 33293//24105 +f 31061//31890 31062//31593 31123//31595 +f 32677//32216 32798//32240 32676//31660 +f 34841//31583 34970//25317 34840//31584 +f 6932//15146 34971//15257 6933//15171 +f 32246//26689 32348//31714 32245//17180 +f 32452//31617 32451//27086 32347//17181 +f 31394//17362 31461//31998 31460//32241 +f 31393//32242 31394//17362 31460//32241 +f 35251//27344 13014//16535 27779//16537 +f 32414//32232 32413//32243 32310//32233 +f 31801//31743 31907//32139 31800//31744 +f 32519//31769 32518//31770 32413//32243 +f 32317//31753 32420//32244 32316//31577 +f 32108//31776 32107//32061 32007//31750 +f 34020//31600 34156//31603 34019//32245 +f 34156//31603 34294//31604 34155//31772 +f 32219//23127 32320//28685 32319//32202 +f 32420//32244 32419//31578 32316//31577 +f 34172//31868 34173//32246 34310//31586 +f 32319//32202 32320//28685 32422//31709 +f 34303//15533 34304//31711 34441//15534 +f 34841//31583 34842//31477 34970//25317 +f 33121//32165 33226//21114 33120//30455 +f 34442//31832 34579//31712 34578//17281 +f 32910//32247 32909//31809 32797//31802 +f 34969//31867 34970//25317 35098//13760 +f 32798//32240 32910//32247 32797//31802 +f 33018//32248 33017//31818 32909//31809 +f 32910//32247 33018//32248 32909//31809 +f 32316//31577 32315//31579 32214//31742 +f 32619//31113 32733//32249 32618//22816 +f 33634//31533 33761//32004 33633//18809 +f 31925//31663 32026//31690 31924//20199 +f 32348//31714 32347//17181 32245//17180 +f 34962//16097 35091//17377 34961//31536 +f 32965//32250 32964//14316 32856//17814 +f 32205//14870 32204//32205 32104//31687 +f 33118//32251 33117//32134 33011//31882 +f 32101//31449 32100//18092 32000//1671 +f 31796//32252 31902//31160 31795//31610 +f 31627//32253 31722//32217 31626//31954 +f 32201//31213 32200//4566 32100//18092 +f 32433//32254 32538//32255 32432//31970 +f 32002//31446 32102//31448 32001//32256 +f 33687//4930 3227//4781 13025//32257 +f 32724//9254 32836//21072 32835//21477 +f 28595//20982 24151//20981 24211//21088 +f 7043//5035 7044//7930 319//8604 +f 27779//16537 13707//18902 34610//32218 +f 35251//27344 27779//16537 34610//32218 +f 13707//18902 33694//32258 29822//32219 +f 34610//32218 13707//18902 29822//32219 +f 33694//32258 35257//32259 12048//32220 +f 29822//32219 33694//32258 12048//32220 +f 35257//32259 34489//32260 34352//32221 +f 12048//32220 35257//32259 34352//32221 +f 34489//32260 33564//32261 33566//32222 +f 34352//32221 34489//32260 33566//32222 +f 33564//32261 33576//14571 33459//14570 +f 33566//32222 33564//32261 33459//14570 +f 10245//17470 25540//25988 25541//24397 +f 25540//25988 10245//17470 5594//17507 +f 17454//20211 33666//13978 17455//16003 +f 11549//16838 34778//32262 16008//16839 +f 34104//20089 34103//32263 21197//4237 +f 19045//18230 2141//17237 2140//18228 +f 31948//32264 11456//5144 31949//5146 +f 1615//4749 79//4748 16008//16839 +f 17324//22118 17323//12644 32921//22184 +f 35186//12813 6906//12733 35185//32265 +f 32222//32266 32323//32227 32322//32226 +f 31748//22709 31747//32267 11460//9042 +f 31460//32241 31461//31998 31532//32268 +f 32221//32269 32222//32266 32322//32226 +f 32146//24524 32246//26689 32145//19624 +f 35212//31622 35211//32270 35082//25805 +f 33746//32271 33745//32272 33618//32273 +f 34173//32246 34311//22459 34310//31586 +f 33068//31726 33067//14542 32961//31727 +f 31512//31626 31599//14167 31511//17341 +f 33012//31881 33118//32251 33011//31882 +f 33409//32274 33522//32148 33408//32149 +f 32001//32256 32101//31449 32000//1671 +f 33441//28288 33554//28289 33440//32079 +f 31440//31627 31512//31626 31439//21302 +f 31373//32275 31440//31627 31372//17439 +f 32763//32276 32762//32277 32648//32278 +f 33124//32279 33123//31825 33017//31818 +f 33018//32248 33124//32279 33017//31818 +f 33229//32280 33228//31837 33123//31825 +f 34941//16941 34940//19587 34811//19586 +f 33124//32279 33229//32280 33123//31825 +f 33334//32281 33333//31908 33228//31837 +f 34812//31014 34811//19586 34683//31994 +f 20154//15976 16933//18629 23031//24154 +f 15093//17828 21758//25996 30421//17826 +f 34455//32208 34454//32282 34316//32283 +f 31742//32284 31741//32152 31646//7356 +f 31142//32285 31141//31903 31079//31902 +f 35331//31680 13224//27433 35330//27807 +f 32348//31714 32452//31617 32347//17181 +f 31080//13397 31142//32285 31079//31902 +f 31261//32286 31262//31999 31326//32287 +f 31080//13397 31079//31902 31018//19707 +f 32121//32288 32122//32289 32221//32269 +f 31461//31998 31533//31316 31532//32268 +f 32021//32290 32022//32291 32121//32288 +f 32122//32289 32222//32266 32221//32269 +f 31920//32292 31921//32293 32021//32290 +f 32022//32291 32122//32289 32121//32288 +f 31814//32294 31815//32295 31920//32292 +f 31921//32293 32022//32291 32021//32290 +f 31714//32296 31715//32297 31814//32294 +f 31815//32295 31921//32293 31920//32292 +f 31619//32298 31620//31267 31714//32296 +f 31715//32297 31815//32295 31814//32294 +f 31533//31316 31620//31267 31619//32298 +f 31532//32268 31533//31316 31619//32298 +f 31262//31999 31327//31996 31326//32287 +f 31620//31267 31715//32297 31714//32296 +f 31205//32299 31204//31904 31141//31903 +f 31198//32300 31262//31999 31261//32286 +f 35198//20210 35197//2697 35068//17260 +f 31142//32285 31205//32299 31141//31903 +f 33121//32165 33120//30455 33014//27634 +f 33226//21114 33225//30972 33120//30455 +f 33015//32166 33014//27634 32906//27385 +f 33195//20854 33300//31621 33194//31565 +f 31925//31663 31926//31747 32026//31690 +f 32907//31548 33015//32166 32906//27385 +f 31334//32301 31401//32302 31333//31918 +f 31468//32303 31467//31921 31400//31919 +f 33276//32304 33275//32305 33170//29049 +f 31540//32306 31627//32253 31539//31953 +f 31647//28881 31742//32284 31646//7356 +f 34317//32207 34316//32283 34178//32307 +f 31842//32308 31841//32154 31741//32152 +f 31742//32284 31842//32308 31741//32152 +f 34179//32209 34178//32307 34042//32309 +f 31940//32310 31939//32158 31841//32154 +f 32647//32311 32646//31971 32537//31968 +f 34043//32170 34179//32209 34042//32309 +f 33638//32312 33637//31939 33518//31938 +f 33519//32313 33638//32312 33518//31938 +f 13707//18902 27779//16537 6769//16536 +f 33050//14892 33051//14891 33155//21549 +f 34861//4459 34355//31311 3364//4458 +f 21736//26400 21737//14218 21831//21868 +f 34874//18903 22637//32314 33694//32258 +f 13707//18902 34874//18903 33694//32258 +f 22637//32314 12751//32315 35257//32259 +f 33694//32258 22637//32314 35257//32259 +f 12751//32315 34488//32316 34489//32260 +f 35257//32259 12751//32315 34489//32260 +f 34488//32316 33567//32317 33564//32261 +f 34489//32260 34488//32316 33564//32261 +f 33567//32317 34609//32318 33576//14571 +f 33564//32261 33567//32317 33576//14571 +f 34609//32318 33582//32319 34734//15499 +f 33576//14571 34609//32318 34734//15499 +f 33582//32319 34778//32262 11549//16838 +f 34734//15499 33582//32319 11549//16838 +f 6139//1010 11624//1009 35372//3902 +f 34778//32262 34486//32089 16008//16839 +f 34486//32089 13777//32030 1615//4749 +f 6996//12641 7099//12555 13980//6765 +f 32055//25188 32154//32320 12130//31059 +f 6994//6763 13980//6765 7099//12555 +f 26497//14859 28020//28738 8975//14860 +f 12964//18161 32805//22731 12965//25917 +f 31322//32116 31389//32145 31321//32117 +f 32293//5483 32396//4751 32292//4753 +f 32849//32230 32848//32321 32736//32322 +f 35341//31527 35340//31990 35211//32270 +f 31822//32323 31821//31923 31721//31955 +f 33638//32312 33765//32324 33637//31939 +f 33646//32325 33647//32137 33773//32326 +f 34043//32170 34042//32309 33907//32327 +f 31842//32308 31940//32310 31841//32154 +f 32037//32328 32036//32159 31939//32158 +f 31940//32310 32037//32328 31939//32158 +f 32134//32329 32133//32160 32036//32159 +f 33527//32330 33528//32136 33646//32325 +f 33647//32137 33774//32138 33773//32326 +f 32037//32328 32134//32329 32036//32159 +f 32234//32331 32233//32161 32133//32160 +f 32134//32329 32234//32331 32133//32160 +f 32336//32332 32335//32163 32233//32161 +f 32234//32331 32336//32332 32233//32161 +f 32440//32333 32439//32168 32335//32163 +f 33414//32334 33415//32153 33527//32330 +f 32336//32332 32440//32333 32335//32163 +f 33491//32335 33490//2387 33377//2386 +f 34684//23606 34812//31014 34683//31994 +f 32547//32336 32546//32169 32439//32168 +f 32440//32333 32547//32336 32439//32168 +f 32660//32337 32659//32171 32546//32169 +f 32547//32336 32660//32337 32546//32169 +f 32781//32338 32780//32172 32659//32171 +f 32660//32337 32781//32338 32659//32171 +f 32893//32339 32892//32173 32780//32172 +f 32781//32338 32893//32339 32780//32172 +f 34317//32207 34455//32208 34316//32283 +f 33001//32340 33000//32174 32892//32173 +f 31722//32217 31822//32323 31721//31955 +f 34592//32206 34591//32341 34454//32282 +f 32643//31571 32757//31618 32756//9407 +f 31822//32323 31927//31922 31821//31923 +f 31327//31996 31394//17362 31393//32242 +f 33221//32342 33222//31166 33326//31647 +f 31456//32343 31528//32344 31455//22348 +f 31326//32287 31327//31996 31393//32242 +f 31456//32343 31455//22348 31388//22347 +f 31615//32345 31614//31858 31527//31668 +f 31389//32145 31456//32343 31388//22347 +f 31528//32344 31527//31668 31455//22348 +f 31528//32344 31615//32345 31527//31668 +f 31710//32346 31709//30367 31614//31858 +f 31615//32345 31710//32346 31614//31858 +f 31810//32347 31809//31914 31709//30367 +f 31916//32348 31915//32044 31809//31914 +f 31710//32346 31810//32347 31709//30367 +f 32017//32349 32016//32350 31915//32044 +f 31810//32347 31916//32348 31809//31914 +f 32116//32351 32117//32352 32216//31752 +f 31916//32348 32017//32349 31915//32044 +f 32017//32349 32117//32352 32116//32351 +f 32016//32350 32017//32349 32116//32351 +f 31197//32353 31198//32300 31261//32286 +f 32117//32352 32217//32354 32216//31752 +f 31269//32355 31334//32301 31268//31905 +f 31073//32356 31135//32357 31072//32358 +f 31269//32355 31268//31905 31204//31904 +f 31401//32302 31400//31919 31333//31918 +f 31205//32299 31269//32355 31204//31904 +f 31334//32301 31333//31918 31268//31905 +f 31401//32302 31468//32303 31400//31919 +f 31540//32306 31539//31953 31467//31921 +f 31468//32303 31540//32306 31467//31921 +f 31627//32253 31626//31954 31539//31953 +f 32433//32254 32432//31970 32329//31965 +f 34941//16941 35070//31164 34940//19587 +f 34179//32209 34317//32207 34178//32307 +f 32538//32255 32537//31968 32432//31970 +f 32893//32339 33001//32340 32892//32173 +f 33415//32153 33528//32136 33527//32330 +f 33107//32359 33106//32176 33000//32174 +f 33001//32340 33107//32359 33000//32174 +f 33200//32360 33201//32157 33305//32361 +f 33212//32362 33211//32178 33106//32176 +f 33765//32324 33764//31976 33637//31939 +f 33306//32156 33415//32153 33414//32334 +f 33738//16626 33872//31900 33737//16698 +f 34034//32363 34170//32364 34033//31981 +f 33548//4361 33549//6808 803//4362 +f 35723//1762 29553//5468 35428//3511 +f 34874//18903 5552//24319 22637//32314 +f 19599//21892 19117//21893 19821//22587 +f 34851//32365 13501//32366 12751//32315 +f 22637//32314 34851//32365 12751//32315 +f 13501//32366 34617//32367 34488//32316 +f 12751//32315 13501//32366 34488//32316 +f 34617//32367 33810//32368 33567//32317 +f 34488//32316 34617//32367 33567//32317 +f 33810//32368 11798//32369 34609//32318 +f 33567//32317 33810//32368 34609//32318 +f 11798//32369 35316//32370 33582//32319 +f 34609//32318 11798//32369 33582//32319 +f 35316//32370 27872//32371 34778//32262 +f 33582//32319 35316//32370 34778//32262 +f 27872//32371 33461//32372 34486//32089 +f 34778//32262 27872//32371 34486//32089 +f 33461//32372 12123//32373 13777//32030 +f 34486//32089 33461//32372 13777//32030 +f 34200//32374 12460//22827 13777//32030 +f 12123//32373 34200//32374 13777//32030 +f 35587//13333 35603//1273 35851//13334 +f 34200//32374 27032//22828 12460//22827 +f 6925//14927 7024//14897 7023//14857 +f 6907//12731 35317//21592 6997//12732 +f 32314//32375 32313//32376 32212//32377 +f 33887//32378 33886//32120 33752//32214 +f 33899//32379 33898//31979 33764//31976 +f 33880//32210 33879//32212 33745//32272 +f 33908//32131 34043//32170 33907//32327 +f 33765//32324 33899//32379 33764//31976 +f 33107//32359 33212//32362 33106//32176 +f 33096//32162 33201//32157 33095//32380 +f 33317//32381 33316//32179 33211//32178 +f 33212//32362 33317//32381 33211//32178 +f 33426//32382 33425//32180 33316//32179 +f 32770//32175 32882//32177 32769//32383 +f 32990//32164 32989//32384 32881//32385 +f 33317//32381 33426//32382 33316//32179 +f 33539//32386 33538//32193 33425//32180 +f 33426//32382 33539//32386 33425//32180 +f 33658//32387 33657//32194 33538//32193 +f 33539//32386 33658//32387 33538//32193 +f 33785//32388 33784//32195 33657//32194 +f 33658//32387 33785//32388 33657//32194 +f 31831//32181 31929//32182 31830//32389 +f 33919//32390 33918//32198 33784//32195 +f 32538//32255 32647//32311 32537//31968 +f 33528//32136 33647//32137 33646//32325 +f 31712//15448 31812//24579 31811//32391 +f 34556//23607 34684//23606 34555//14563 +f 6906//12733 6907//12731 6996//12641 +f 31616//26920 31617//15432 31711//28384 +f 31711//28384 31712//15448 31811//32391 +f 31812//24579 31918//24508 31917//32392 +f 2076//4189 11096//10436 9341//6107 +f 14684//24280 12629//16943 34060//24885 +f 34455//32208 34592//32206 34454//32282 +f 34592//32206 34720//14200 34719//32393 +f 33191//31945 33192//32394 33296//31986 +f 34591//32341 34592//32206 34719//32393 +f 35212//31622 35341//31527 35211//32270 +f 33406//32395 33405//31991 33296//31986 +f 32318//32396 32421//32397 32317//31753 +f 32642//22153 32643//31571 32756//9407 +f 32318//32396 32317//31753 32216//31752 +f 32217//32354 32318//32396 32216//31752 +f 31128//21216 31191//32398 31190//32399 +f 32421//32397 32420//32244 32317//31753 +f 31613//30369 31708//30368 31612//32400 +f 31127//32401 31128//21216 31190//32399 +f 31613//30369 31612//32400 31525//32402 +f 31526//31859 31613//30369 31525//32402 +f 31526//31859 31525//32402 31453//32403 +f 31708//30368 31707//32086 31612//32400 +f 31454//31669 31453//32403 31386//32404 +f 31454//31669 31526//31859 31453//32403 +f 31320//32405 31387//22349 31319//32406 +f 31387//22349 31454//31669 31386//32404 +f 31255//32407 31320//32405 31254//32408 +f 31387//22349 31386//32404 31319//32406 +f 31190//32399 31191//32398 31254//32408 +f 31320//32405 31319//32406 31254//32408 +f 31005//15827 31066//21214 31004//32409 +f 31066//21214 31128//21216 31127//32401 +f 32526//32410 32525//32411 32420//32244 +f 30947//15828 31005//15827 30946//32412 +f 31135//32357 31198//32300 31197//32353 +f 32421//32397 32526//32410 32420//32244 +f 31012//32413 31073//32356 31011//32414 +f 31134//32415 31135//32357 31197//32353 +f 30954//32416 31012//32413 30953//32417 +f 31135//32357 31134//32415 31072//32358 +f 30900//16847 30954//32416 30899//17537 +f 31073//32356 31072//32358 31011//32414 +f 30954//32416 30953//32417 30899//17537 +f 31012//32413 31011//32414 30953//32417 +f 35073//15529 35072//15531 34943//31678 +f 34015//32211 34151//32418 34014//32419 +f 33406//32395 33519//32313 33405//31991 +f 34968//32420 35097//13759 35096//32047 +f 31731//32197 31831//32181 31830//32389 +f 31730//32421 31731//32197 31830//32389 +f 33785//32388 33919//32390 33784//32195 +f 34054//32422 34053//32199 33918//32198 +f 33919//32390 34054//32422 33918//32198 +f 34190//32423 34189//32200 34053//32199 +f 33305//32361 33306//32156 33414//32334 +f 31636//32196 31731//32197 31635//32424 +f 34143//32132 34142//5766 34006//28054 +f 34446//32425 34445//32010 34307//32009 +f 3758//4149 3626//4313 3627//4312 +f 7884//10912 14287//14364 7556//10910 +f 34060//24885 12658//32426 34851//32365 +f 5552//24319 34851//32365 22637//32314 +f 12658//32426 7111//32427 13501//32366 +f 34851//32365 12658//32426 13501//32366 +f 7111//32427 34616//32428 34617//32367 +f 13501//32366 7111//32427 34617//32367 +f 34616//32428 33568//32429 33810//32368 +f 34617//32367 34616//32428 33810//32368 +f 33568//32429 33946//32430 11798//32369 +f 33810//32368 33568//32429 11798//32369 +f 33946//32430 35001//32431 35316//32370 +f 11798//32369 33946//32430 35316//32370 +f 35001//32431 35037//32432 27872//32371 +f 35316//32370 35001//32431 27872//32371 +f 35037//32432 35266//32433 33461//32372 +f 27872//32371 35037//32432 33461//32372 +f 35266//32433 32917//32434 12123//32373 +f 33461//32372 35266//32433 12123//32373 +f 33456//32435 34200//32374 12123//32373 +f 32917//32434 33456//32435 12123//32373 +f 34482//23405 27032//22828 34200//32374 +f 33456//32435 34482//23405 34200//32374 +f 18511//13287 26000//13286 22040//27688 +f 19043//21229 19045//18230 33934//18229 +f 33753//32436 33887//32378 33752//32214 +f 6952//13966 6953//12025 7051//12027 +f 31701//24123 31700//31745 31605//31746 +f 34022//32437 34021//31598 33886//32120 +f 34034//32363 34033//31981 33898//31979 +f 33876//19431 33875//30921 33741//19432 +f 33201//32157 33306//32156 33305//32361 +f 33899//32379 34034//32363 33898//31979 +f 34054//32422 34190//32423 34053//32199 +f 33096//32162 33095//32380 32989//32384 +f 34328//32438 34327//27365 34189//32200 +f 34190//32423 34328//32438 34189//32200 +f 31549//15191 31636//32196 31548//32439 +f 31731//32197 31730//32421 31635//32424 +f 9185//358 13037//17984 16366//356 +f 34327//27365 34328//32438 34465//17946 +f 28949//31526 17319//31530 35341//31527 +f 31849//17621 11457//4032 31948//32264 +f 33229//32280 33334//32281 33228//31837 +f 34955//31596 34954//31597 34825//31917 +f 31549//15191 31548//32439 31476//6271 +f 33443//32440 33442//31912 33333//31908 +f 34170//32364 34169//31982 34033//31981 +f 32882//32177 32881//32385 32769//32383 +f 32761//32441 32760//31973 32646//31971 +f 32647//32311 32761//32441 32646//31971 +f 32761//32441 32873//32442 32760//31973 +f 32873//32442 32872//31932 32760//31973 +f 32872//31932 32873//32442 32980//31942 +f 32873//32442 32981//32443 32980//31942 +f 32981//32443 33087//32444 32980//31942 +f 33087//32444 33086//31943 32980//31942 +f 33087//32444 33192//32394 33086//31943 +f 33192//32394 33191//31945 33086//31943 +f 33297//32445 33406//32395 33296//31986 +f 33192//32394 33297//32445 33296//31986 +f 34954//31597 35083//25804 34953//25806 +f 33519//32313 33518//31938 33405//31991 +f 30987//4732 31048//4731 30986//26480 +f 31117//32189 31180//31722 31179//27604 +f 35070//31164 35069//31480 34940//19587 +f 31198//32300 31199//32446 31262//31999 +f 31179//27604 31180//31722 31243//32447 +f 31065//32448 31066//21214 31127//32401 +f 32144//2634 32143//30667 32046//2635 +f 31191//32398 31255//32407 31254//32408 +f 31316//32449 31315//32450 31250//31886 +f 31251//32167 31316//32449 31250//31886 +f 31522//32451 31521//32452 31449//32453 +f 31383//32454 31382//32455 31315//32450 +f 31316//32449 31383//32454 31315//32450 +f 31450//32456 31522//32451 31449//32453 +f 31450//32456 31449//32453 31382//32455 +f 31383//32454 31450//32456 31382//32455 +f 31609//32457 31608//32458 31521//32452 +f 31522//32451 31609//32457 31521//32452 +f 31704//32459 31703//32460 31608//32458 +f 31609//32457 31704//32459 31608//32458 +f 31704//32459 31804//32461 31703//32460 +f 31804//32461 31803//30965 31703//32460 +f 31804//32461 31910//32462 31803//30965 +f 31910//32462 31909//28613 31803//30965 +f 31066//21214 31065//32448 31004//32409 +f 32011//32463 32010//20664 31909//28613 +f 32635//32464 32749//32465 32634//32191 +f 30947//15828 30946//32412 30892//17438 +f 32635//32464 32634//32191 32525//32411 +f 32861//32466 32860//32127 32748//32126 +f 32526//32410 32635//32464 32525//32411 +f 32749//32465 32748//32126 32634//32191 +f 32749//32465 32861//32466 32748//32126 +f 32969//32467 32968//32155 32860//32127 +f 32861//32466 32969//32467 32860//32127 +f 33075//32468 33074//32469 32968//32155 +f 31516//32470 31603//31567 31515//26875 +f 32969//32467 33075//32468 32968//32155 +f 34967//32019 34968//32420 35096//32047 +f 35070//31164 35071//16940 35199//13979 +f 31929//32182 31928//32471 31830//32389 +f 3757//3970 5332//4151 34473//4314 +f 33334//32281 33443//32440 33333//31908 +f 33300//31621 33409//32274 33299//31540 +f 33556//10821 33555//10823 33442//31912 +f 33443//32440 33556//10821 33442//31912 +f 33522//32148 33641//32472 33521//24431 +f 33554//28289 33553//32032 33440//32079 +f 34308//32473 34446//32425 34307//32009 +f 33166//32474 33271//32475 33165//31774 +f 17334//22529 33357//26112 17335//22596 +f 33553//32032 807//6397 33552//6389 +f 33948//16945 29677//32476 12658//32426 +f 34060//24885 33948//16945 12658//32426 +f 29677//32476 35168//32477 7111//32427 +f 12658//32426 29677//32476 7111//32427 +f 35168//32477 34745//32478 34616//32428 +f 7111//32427 35168//32477 34616//32428 +f 34745//32478 33688//32479 33568//32429 +f 34616//32428 34745//32478 33568//32429 +f 33688//32479 33348//32480 33946//32430 +f 33568//32429 33688//32479 33946//32430 +f 33348//32480 31019//32481 35001//32431 +f 33946//32430 33348//32480 35001//32431 +f 31019//32481 35166//32482 35037//32432 +f 35001//32431 31019//32481 35037//32432 +f 35166//32482 33969//32483 35266//32433 +f 35037//32432 35166//32482 35266//32433 +f 33969//32483 18611//32484 32917//32434 +f 35266//32433 33969//32483 32917//32434 +f 33816//32485 33456//32435 32917//32434 +f 18611//32484 33816//32485 32917//32434 +f 35113//9073 34482//23405 33456//32435 +f 33816//32485 35113//9073 33456//32435 +f 28993//4129 35441//8007 35369//4130 +f 32052//32486 33671//259 21940//18856 +f 32052//32486 21939//14513 27757//32487 +f 4504//6231 10810//13157 6515//6098 +f 33887//32378 34022//32437 33886//32120 +f 31063//32488 31064//32489 31125//32490 +f 33619//32491 33746//32271 33618//32273 +f 34158//32492 34157//31599 34021//31598 +f 34583//32493 34582//32006 34445//32010 +f 33615//32494 33614//32495 33495//15426 +f 32990//32164 33096//32162 32989//32384 +f 34446//32425 34583//32493 34445//32010 +f 32882//32177 32990//32164 32881//32385 +f 33201//32157 33200//32360 33095//32380 +f 34940//19587 35069//31480 35068//17260 +f 32795//31549 32794//27384 32673//31649 +f 31629//14531 31628//31519 31541//32236 +f 35093//32125 35094//31592 35222//32002 +f 18425//21789 17851//21788 19117//21893 +f 32867//4560 32975//4562 32974//32013 +f 32866//32020 32867//4560 32974//32013 +f 32561//31552 32674//31517 32560//31616 +f 34302//15535 34301//31959 34163//31605 +f 34968//32420 34967//32019 34838//32017 +f 31636//32196 31635//32424 31548//32439 +f 32791//31889 32903//31883 32790//32496 +f 34839//32497 34968//32420 34838//32017 +f 33222//31166 33327//25027 33326//31647 +f 33274//21813 33383//26792 33273//26793 +f 33222//31166 33221//32342 33116//30190 +f 33117//32134 33222//31166 33116//30190 +f 33011//31882 33117//32134 33010//27286 +f 32349//32498 32453//31615 32348//31714 +f 32984//4304 33090//20853 33089//20855 +f 31472//29321 31471//32499 31404//30664 +f 33628//31655 33627//31865 33508//31656 +f 34024//32500 34023//32501 33888//32502 +f 35083//25804 35212//31622 35082//25805 +f 31321//32117 31320//32405 31255//32407 +f 33507//32503 33626//32504 33506//32505 +f 31256//32088 31321//32117 31255//32407 +f 31514//2301 31601//2300 31513//31114 +f 32192//15816 32293//5483 32191//15817 +f 31054//32506 31053//31607 30992//29603 +f 30993//32507 31054//32506 30992//29603 +f 30881//16674 30935//32508 30880//16681 +f 30993//32507 30992//29603 30934//16458 +f 30927//13184 30985//16549 30926//13185 +f 30935//32508 30993//32507 30934//16458 +f 34469//22304 18129//22042 34728//22041 +f 620//3426 23273//3428 15076//14569 +f 31382//32455 31449//32453 31381//32509 +f 31521//32452 31520//23258 31448//32510 +f 31315//32450 31382//32455 31314//32511 +f 31449//32453 31521//32452 31448//32510 +f 31249//32512 31250//31886 31314//32511 +f 31449//32453 31448//32510 31381//32509 +f 31185//32513 31186//31884 31249//32512 +f 31382//32455 31381//32509 31314//32511 +f 31122//32514 31123//31595 31185//32513 +f 31250//31886 31315//32450 31314//32511 +f 31123//31595 31186//31884 31185//32513 +f 31186//31884 31250//31886 31249//32512 +f 31061//31890 31123//31595 31122//32514 +f 31060//28605 31061//31890 31122//32514 +f 31910//32462 32011//32463 31909//28613 +f 31180//31722 31244//31724 31243//32447 +f 30893//16992 30947//15828 30892//17438 +f 32111//32515 32110//32516 32010//20664 +f 32790//32496 32902//27285 32789//32517 +f 31005//15827 31004//32409 30946//32412 +f 32669//32518 32790//32496 32668//32519 +f 33010//27286 33009//14889 32901//14888 +f 32790//32496 32789//32517 32668//32519 +f 32902//27285 32901//14888 32789//32517 +f 35078//32520 35207//32521 35077//32522 +f 33903//31214 34038//31216 33902//32523 +f 34571//32524 34570//31862 34433//31861 +f 32740//21615 32739//32525 32625//21616 +f 7041//3694 6942//13396 6943//31849 +f 34434//32526 34571//32524 34433//31861 +f 11525//3344 33340//9041 11462//8372 +f 31321//32117 31388//22347 31320//32405 +f 32795//31549 32907//31548 32794//27384 +f 32559//31651 32558//32527 32451//27086 +f 34164//15610 34302//15535 34163//31605 +f 34835//32015 34964//32014 34834//15436 +f 32122//32289 32123//32528 32222//32266 +f 32640//32133 32641//23698 32754//32118 +f 32216//31752 32215//31619 32115//31613 +f 32907//31548 32906//27385 32794//27384 +f 32671//32529 32792//31887 32670//32530 +f 22237//3275 17468//14169 17389//3276 +f 32559//31651 32672//31650 32558//32527 +f 11924//32531 34742//32026 29677//32476 +f 33948//16945 11924//32531 29677//32476 +f 34742//32026 12844//32532 35168//32477 +f 29677//32476 34742//32026 35168//32477 +f 12844//32532 3462//32533 34745//32478 +f 35168//32477 12844//32532 34745//32478 +f 3462//32533 33565//32534 33688//32479 +f 34745//32478 3462//32533 33688//32479 +f 33565//32534 33460//32535 33348//32480 +f 33688//32479 33565//32534 33348//32480 +f 33460//32535 31340//32536 31019//32481 +f 33348//32480 33460//32535 31019//32481 +f 31340//32536 35296//32537 35166//32482 +f 31019//32481 31340//32536 35166//32482 +f 35296//32537 35196//32538 33969//32483 +f 35166//32482 35296//32537 33969//32483 +f 35196//32538 12454//32539 18611//32484 +f 33969//32483 35196//32538 18611//32484 +f 34363//32540 33816//32485 18611//32484 +f 12454//32539 34363//32540 18611//32484 +f 29419//32541 35113//9073 33816//32485 +f 34363//32540 29419//32541 33816//32485 +f 21939//14513 32052//32486 21940//18856 +f 29419//32541 34212//9074 35113//9073 +f 24726//15206 26682//9333 24652//21670 +f 32300//17949 32403//10691 32299//16124 +f 31253//32542 31318//32543 31252//32544 +f 32963//14318 33069//32545 32962//31725 +f 34022//32437 34158//32492 34021//31598 +f 33498//32546 33497//32547 33384//32548 +f 33615//32494 33742//19430 33614//32495 +f 34296//32549 34295//31602 34157//31599 +f 34839//32497 34838//32017 34710//32018 +f 33496//32550 33495//15426 33382//15425 +f 34711//32551 34710//32018 34582//32006 +f 34711//32551 34839//32497 34710//32018 +f 32674//31517 32795//31549 32673//31649 +f 34583//32493 34711//32551 34582//32006 +f 34294//31604 34432//31643 34293//31771 +f 32010//20664 32110//32516 32009//20665 +f 12735//18733 23275//12410 13395//15352 +f 35220//10519 35219//31524 35090//31535 +f 28349//32552 21935//1757 10264//8287 +f 612//7480 17919//21321 18012//21320 +f 33385//32553 33384//32548 33275//32305 +f 33402//31314 33401//14444 33292//6325 +f 32515//32554 32514//31719 32409//29339 +f 32986//32555 33092//30970 32985//31924 +f 33902//32523 34037//32556 33901//31806 +f 31724//31518 31725//14530 31824//16986 +f 22023//26557 22024//26558 35136//2067 +f 33180//32557 33179//25390 33074//32469 +f 33075//32468 33180//32557 33074//32469 +f 3096//12639 3097//20898 3236//5910 +f 33285//32558 33284//25391 33179//25390 +f 33180//32557 33285//32558 33179//25390 +f 7020//14657 7019//14577 6921//14785 +f 33285//32558 33394//32559 33284//25391 +f 33394//32559 33393//32560 33284//25391 +f 33394//32559 33507//32503 33393//32560 +f 33507//32503 33506//32505 33393//32560 +f 33753//32436 33752//32214 33625//32213 +f 33626//32504 33625//32213 33506//32505 +f 31385//32561 31384//32562 31317//32563 +f 33626//32504 33753//32436 33625//32213 +f 32855//21306 32854//32108 32742//31706 +f 33220//26726 33221//32342 33325//21879 +f 32226//32041 32327//32040 32225//31869 +f 32735//32080 32734//32564 32620//31112 +f 18135//21968 19524//22124 19488//21713 +f 31902//31160 31901//31162 31795//31610 +f 7406//7358 35115//19517 35000//7359 +f 35000//7359 35115//19517 22420//15510 +f 33923//505 22520//14130 22422//28569 +f 17456//22034 17457//20645 17544//21129 +f 32610//9255 32609//12553 32500//24752 +f 13777//32030 12460//22827 14380//22730 +f 7685//11325 28341//11253 34061//32565 +f 31530//4192 31529//31657 31457//4193 +f 32673//31649 32794//27384 32672//31650 +f 32631//17179 32745//20844 32630//30843 +f 31199//32446 31263//31995 31262//31999 +f 31313//32566 31380//32567 31312//32568 +f 31132//11875 31195//17546 31194//11876 +f 31327//31996 31328//17360 31394//17362 +f 34146//14641 34284//5975 34145//15325 +f 31726//250 31725//14530 31630//14529 +f 30935//32508 30934//16458 30880//16681 +f 32908//31547 33016//31819 32907//31548 +f 31374//32569 31373//32275 31306//31636 +f 31054//32506 31116//31927 31115//31608 +f 32312//32570 32311//32231 32210//31365 +f 32971//31018 33077//31017 32970//32571 +f 32011//32463 32111//32515 32010//20664 +f 32211//32572 32312//32570 32210//31365 +f 32211//32572 32210//31365 32110//32516 +f 32111//32515 32211//32572 32110//32516 +f 32415//32573 32414//32232 32311//32231 +f 32312//32570 32415//32573 32311//32231 +f 32520//32574 32519//31769 32414//32232 +f 32415//32573 32520//32574 32414//32232 +f 32309//32575 32308//32576 32207//32060 +f 32629//31464 32628//31718 32519//31769 +f 34699//32577 34698//32578 34570//31862 +f 32737//32579 32736//32322 32622//32580 +f 31388//22347 31387//22349 31320//32405 +f 34571//32524 34699//32577 34570//31862 +f 32452//31617 32559//31651 32451//27086 +f 34160//32581 34159//32582 34023//32501 +f 32792//31887 32791//31889 32670//32530 +f 32672//31650 32671//32529 32558//32527 +f 32226//32041 32225//31869 32125//22331 +f 32674//31517 32673//31649 32560//31616 +f 33276//32304 33385//32553 33275//32305 +f 32875//4306 32983//4305 32874//32049 +f 32558//32527 32671//32529 32557//32583 +f 32789//32517 32901//14888 32788//23020 +f 22421//12782 22518//12784 22420//15510 +f 7406//7358 22321//1921 22322//1920 +f 34742//32026 11924//32531 20894//8913 +f 35112//32052 19015//17819 34212//9074 +f 33578//32025 35133//32584 12844//32532 +f 34742//32026 33578//32025 12844//32532 +f 35133//32584 28235//32585 3462//32533 +f 12844//32532 35133//32584 3462//32533 +f 28235//32585 33569//32586 33565//32534 +f 3462//32533 28235//32585 33565//32534 +f 33569//32586 35120//32587 33460//32535 +f 33565//32534 33569//32586 33460//32535 +f 35120//32587 35114//32588 31340//32536 +f 33460//32535 35120//32587 31340//32536 +f 35114//32588 34468//32589 35296//32537 +f 31340//32536 35114//32588 35296//32537 +f 34468//32589 34334//32590 35196//32538 +f 35296//32537 34468//32589 35196//32538 +f 34334//32590 29295//32591 12454//32539 +f 35196//32538 34334//32590 12454//32539 +f 25136//32592 34363//32540 12454//32539 +f 29295//32591 25136//32592 12454//32539 +f 34245//32593 29419//32541 34363//32540 +f 25136//32592 34245//32593 34363//32540 +f 35112//32052 34212//9074 29419//32541 +f 34245//32593 35112//32052 29419//32541 +f 19481//21064 2551//15259 33927//15258 +f 18799//32050 19857//22242 19015//17819 +f 33174//32594 33173//14540 33068//31726 +f 33920//16800 11430//16586 34055//16689 +f 31064//32489 31126//32595 31125//32490 +f 33069//32545 33174//32594 33068//31726 +f 34158//32492 34296//32549 34157//31599 +f 34174//12812 34312//15830 34173//32246 +f 33383//26792 33496//32550 33382//15425 +f 34434//32526 34433//31861 34295//31602 +f 35218//31683 35217//32596 35088//32597 +f 35089//31684 35218//31683 35088//32597 +f 32793//27386 32792//31887 32671//32529 +f 33270//31798 33379//32203 33269//31799 +f 32510//27856 32619//31113 32509//18096 +f 32512//32093 32511//31783 32406//31781 +f 32126//31512 32226//32041 32125//22331 +f 33441//28288 33440//32079 33331//21113 +f 31724//31518 31723//32598 31628//31519 +f 33227//31838 33332//21112 33226//21114 +f 33332//21112 33441//28288 33331//21113 +f 31724//31518 31824//16986 31823//32599 +f 31723//32598 31724//31518 31823//32599 +f 33178//25392 33283//31601 33177//32600 +f 33752//32214 33751//32601 33624//32215 +f 31375//15608 31442//32602 31374//32569 +f 31696//32603 31796//32252 31695//14166 +f 35347//31682 27871//14724 35346//32604 +f 14285//32106 2009//12512 13678//32605 +f 28012//32606 30607//14386 22435//32607 +f 27726//32608 28012//32606 28949//31526 +f 31933//17722 32030//32609 32029//31789 +f 19168//3339 18056//9281 18520//17543 +f 29281//14450 28104//19593 6849//7453 +f 14516//23410 22247//21559 21309//22306 +f 34038//31216 34037//32556 33902//32523 +f 31265//23717 31330//19606 31329//23718 +f 31623//31561 31622//32610 31535//32611 +f 35115//19517 7406//7358 22323//4654 +f 31318//32543 31385//32561 31317//32563 +f 35345//32612 28104//19593 35344//32613 +f 32743//17815 32855//21306 32742//31706 +f 34312//15830 34311//22459 34173//32246 +f 34142//5766 34280//5765 34141//16730 +f 32963//14318 32962//31725 32854//32108 +f 35336//25575 35335//25577 35206//32614 +f 33016//31819 33015//32166 32907//31548 +f 35115//19517 22323//4654 35116//6738 +f 32213//32615 32314//32375 32212//32377 +f 18391//22957 19311//16767 17653//18031 +f 18391//22957 18815//23086 35324//23085 +f 32447//2278 32446//19462 32342//25875 +f 32343//17445 32447//2278 32342//25875 +f 33704//12318 12372//503 33923//505 +f 21764//26292 15283//26290 24064//24783 +f 1647//1020 16190//15885 3206//1018 +f 1647//1020 16047//18158 16190//15885 +f 16047//18158 1647//1020 16046//19737 +f 34064//24658 33956//32616 18899//8915 +f 32106//32617 32105//31686 32005//16300 +f 32206//32618 32205//14870 32105//31686 +f 32006//32619 32005//16300 31904//29599 +f 32006//32619 32106//32617 32005//16300 +f 31905//32620 31904//29599 31798//32621 +f 31905//32620 32006//32619 31904//29599 +f 31309//31673 31376//15606 31308//28374 +f 31799//32622 31905//32620 31798//32621 +f 31243//32447 31308//28374 31242//27605 +f 31799//32622 31798//32621 31698//32623 +f 31061//31890 31060//28605 30999//28604 +f 30937//16994 30936//16996 30882//16578 +f 31000//31891 30999//28604 30941//21915 +f 31000//31891 31061//31890 30999//28604 +f 30942//32238 30941//21915 30887//16326 +f 30942//32238 31000//31891 30941//21915 +f 26799//10521 13967//22420 35219//31524 +f 30888//16142 30942//32238 30887//16326 +f 31796//32252 31795//31610 31695//14166 +f 32649//25073 32763//32276 32648//32278 +f 33174//32594 33279//32624 33173//14540 +f 33168//21814 33167//32625 33062//32626 +f 32849//32230 32957//31676 32848//32321 +f 33388//32627 33387//21986 33278//21434 +f 34956//32628 34955//31596 34826//31916 +f 31447//31909 31519//23259 31446//31910 +f 33628//31655 33755//31863 33627//31865 +f 34827//32629 34956//32628 34826//31916 +f 34449//22458 34448//31543 34310//31586 +f 32534//31572 32643//31571 32642//22153 +f 34939//17264 34940//19587 35068//17260 +f 34311//22459 34449//22458 34310//31586 +f 32350//31803 32454//31805 32349//32498 +f 32733//32249 32732//30049 32618//22816 +f 32561//31552 32560//31616 32453//31615 +f 32454//31805 32561//31552 32453//31615 +f 17462//21621 17461//21845 17384//5761 +f 6916//10565 6849//7453 6917//7452 +f 33956//32616 35232//32630 33578//32025 +f 18899//8915 33956//32616 20894//8913 +f 35232//32630 13600//32631 35133//32584 +f 33578//32025 35232//32630 35133//32584 +f 13600//32631 33574//32632 28235//32585 +f 35133//32584 13600//32631 28235//32585 +f 33574//32632 33689//32633 33569//32586 +f 28235//32585 33574//32632 33569//32586 +f 33689//32633 34985//32634 35120//32587 +f 33569//32586 33689//32633 35120//32587 +f 34985//32634 33584//32635 35114//32588 +f 35120//32587 34985//32634 35114//32588 +f 33584//32635 11789//32636 34468//32589 +f 35114//32588 33584//32635 34468//32589 +f 11789//32636 34068//32637 34334//32590 +f 34468//32589 11789//32636 34334//32590 +f 34068//32637 27051//32638 29295//32591 +f 34334//32590 34068//32637 29295//32591 +f 27051//32638 34208//32639 25136//32592 +f 29295//32591 27051//32638 25136//32592 +f 19461//32640 34245//32593 25136//32592 +f 34208//32639 19461//32640 25136//32592 +f 8310//32051 35112//32052 34245//32593 +f 19461//32640 8310//32051 34245//32593 +f 19015//17819 19172//17818 18898//22386 +f 32046//2635 32143//30667 32045//32641 +f 17535//22799 19412//22798 19822//19259 +f 35672//9826 35660//3512 35750//9196 +f 33279//32624 33278//21434 33173//14540 +f 34428//6756 34565//27775 34427//30280 +f 32669//32518 32668//32519 32555//2276 +f 32556//32642 32669//32518 32555//2276 +f 34296//32549 34434//32526 34295//31602 +f 31466//10380 31465//28181 31398//10381 +f 34831//31958 34960//31957 34830//32643 +f 35089//31684 35088//32597 34959//32644 +f 32962//31725 32961//31727 32853//32109 +f 35332//4308 35331//31680 35202//15530 +f 31001//31892 31000//31891 30942//32238 +f 33178//25392 33177//32600 33072//32239 +f 35138//26599 21930//14634 35139//11172 +f 32978//32103 33084//31521 32977//31568 +f 32430//31899 32429//32130 32326//32645 +f 3030//964 15679//963 6017//18369 +f 31809//31914 31808//32046 31708//30368 +f 31648//32646 31647//28881 31560//15401 +f 13224//27433 27028//32054 35330//27807 +f 31374//32569 31441//31209 31373//32275 +f 31561//15073 31648//32646 31560//15401 +f 35074//28938 35203//4309 35073//15529 +f 33752//32214 33886//32120 33751//32601 +f 35347//31682 35346//32604 35217//32596 +f 32854//32108 32962//31725 32853//32109 +f 21464//31529 28012//32606 22435//32607 +f 27987//12727 27871//14724 11805//7451 +f 30882//16578 30936//16996 30881//16674 +f 32113//32647 32112//32648 32012//32649 +f 7520//14312 7521//13871 7635//14292 +f 22027//1302 22122//1303 22026//3597 +f 22026//3597 35267//11171 22027//1302 +f 35138//26599 35267//11171 22026//3597 +f 29553//5468 35848//16143 6653//11598 +f 22325//6739 33704//12318 35116//6738 +f 32743//17815 32742//31706 32628//31718 +f 32520//32574 32629//31464 32519//31769 +f 32855//21306 32963//14318 32854//32108 +f 32629//31464 32743//17815 32628//31718 +f 30991//29604 31052//30845 30990//6610 +f 33069//32545 33068//31726 32962//31725 +f 32326//32645 32325//32650 32224//32651 +f 32406//31781 32405//30366 32302//31782 +f 34560//31327 34559//27804 34422//5976 +f 32417//32652 32416//14721 32313//32376 +f 31445//32653 31444//32654 31377//31672 +f 31378//32655 31445//32653 31377//31672 +f 10689//23037 19545//22135 18815//23086 +f 35768//9613 35452//2334 35507//9830 +f 35822//5341 9114//5340 35609//9083 +f 17859//1980 35104//32656 5332//4151 +f 6767//8018 3220//2233 15566//940 +f 6667//7933 6767//8018 15566//940 +f 17447//14433 33970//14826 34194//504 +f 12372//503 17447//14433 34194//504 +f 19524//22124 19523//21974 19488//21713 +f 33970//14826 33237//11869 34194//504 +f 32650//32123 32649//25073 32540//25072 +f 19739//22578 19115//3340 17762//10904 +f 33120//30455 33225//30972 33119//30456 +f 32045//32641 32044//5580 31947//21130 +f 31948//32264 32045//32641 31947//21130 +f 32142//15398 32141//5581 32044//5580 +f 32045//32641 32142//15398 32044//5580 +f 31473//29320 31545//5767 31472//29321 +f 31699//32657 31799//32622 31698//32623 +f 33225//30972 33224//30973 33119//30456 +f 33614//32495 33741//19432 33613//32658 +f 31517//32659 31604//32660 31516//32470 +f 31698//32623 31697//31212 31602//2299 +f 33875//30921 34010//14640 33874//15429 +f 34422//5976 34421//22070 34283//5977 +f 34009//14642 34008//16471 33873//15430 +f 31059//32661 31058//32662 30997//28285 +f 30998//28284 31059//32661 30997//28285 +f 28948//32663 19483//32664 13985//32665 +f 13128//32666 28948//32663 13985//32665 +f 33059//31775 33164//30846 33058//29034 +f 34820//32667 34949//32668 34819//32669 +f 33279//32624 33388//32627 33278//21434 +f 32957//31676 33063//31681 32956//32670 +f 31606//21577 31605//31746 31518//32671 +f 33501//32672 33500//32673 33387//21986 +f 35085//32674 35084//26695 34955//31596 +f 34425//31064 34562//32675 34424//32676 +f 32533//23697 32534//31572 32642//22153 +f 34956//32628 35085//32674 34955//31596 +f 34304//31711 34303//15533 34165//17976 +f 33117//32134 33116//30190 33010//27286 +f 34707//31713 34835//32015 34706//15532 +f 33197//30971 33196//28966 33091//28965 +f 34613//18548 19115//3340 18520//17543 +f 31992//15372 32092//9831 31991//9833 +f 17351//11152 17350//19779 35169//9373 +f 7393//5439 7282//15130 682//5437 +f 34064//24658 33940//32677 35232//32630 +f 33956//32616 34064//24658 35232//32630 +f 33940//32677 34207//32678 13600//32631 +f 35232//32630 33940//32677 13600//32631 +f 34207//32678 33660//32679 33574//32632 +f 13600//32631 34207//32678 33574//32632 +f 33660//32679 33952//32680 33689//32633 +f 33574//32632 33660//32679 33689//32633 +f 27377//32681 34985//32634 33689//32633 +f 33952//32680 27377//32681 33689//32633 +f 33682//32682 33584//32635 34985//32634 +f 27377//32681 33682//32682 34985//32634 +f 33682//32682 33131//32683 11789//32636 +f 33584//32635 33682//32682 11789//32636 +f 33131//32683 26938//32684 34068//32637 +f 11789//32636 33131//32683 34068//32637 +f 26938//32684 12141//32685 27051//32638 +f 34068//32637 26938//32684 27051//32638 +f 12141//32685 33136//32686 34208//32639 +f 27051//32638 12141//32685 34208//32639 +f 34741//32687 19461//32640 34208//32639 +f 33136//32686 34741//32687 34208//32639 +f 32252//32688 8310//32051 19461//32640 +f 34741//32687 32252//32688 19461//32640 +f 34361//25471 16769//23566 11386//777 +f 32252//32688 17320//32689 8310//32051 +f 34723//22925 7043//5035 6943//31849 +f 15653//15201 1527//8531 19113//8530 +f 34290//6757 34428//6756 34289//32690 +f 34565//27775 34564//22659 34427//30280 +f 34715//15726 34843//15725 34714//31478 +f 34587//15823 34715//15726 34586//32119 +f 33410//14717 33523//17837 33409//32274 +f 33301//14718 33410//14717 33300//31621 +f 34703//31956 34831//31958 34702//32691 +f 34960//31957 35089//31684 34959//32644 +f 35201//27806 35330//27807 35329//13977 +f 31181//31723 31245//32692 31244//31724 +f 31608//32458 31607//21575 31520//23258 +f 31703//32460 31702//21576 31607//21575 +f 31743//32693 31742//32284 31647//28881 +f 31648//32646 31743//32693 31647//28881 +f 31843//32694 31842//32308 31742//32284 +f 31743//32693 31843//32694 31742//32284 +f 31941//32695 31940//32310 31842//32308 +f 31843//32694 31941//32695 31842//32308 +f 33071//32696 33070//14317 32964//14316 +f 33281//17441 33280//17442 33175//32697 +f 30898//17477 30952//22832 30897//17469 +f 31441//31209 31513//31114 31440//31627 +f 35218//31683 35347//31682 35217//32596 +f 31056//32698 31055//32699 30994//17231 +f 33127//11398 7524//15783 7523//20011 +f 27871//14724 27987//12727 35346//32604 +f 7019//14577 7018//8002 6921//14785 +f 21836//3215 35140//16192 21930//14634 +f 33523//17837 33642//2721 33522//32148 +f 30994//17231 30993//32507 30935//32508 +f 31364//25148 31363//25150 31296//31406 +f 22028//4134 22027//1302 35267//11171 +f 31685//22790 31785//11236 31684//18600 +f 35138//26599 35139//11172 35267//11171 +f 18495//18429 19328//10905 18899//8915 +f 17343//22026 34386//21753 17276//21752 +f 31267//31906 31332//31920 31266//30885 +f 33737//16698 33736//27239 33609//2400 +f 33515//31534 33514//14812 33401//14444 +f 35076//32700 35075//28936 34946//29270 +f 22134//17138 22231//3380 22230//25095 +f 33301//14718 33300//31621 33195//20854 +f 32105//31686 32104//31687 32004//16301 +f 31725//14530 31724//31518 31629//14531 +f 33278//21434 33277//21987 33172//14541 +f 32016//32350 32015//31612 31914//32045 +f 31119//32701 31182//32702 31181//31723 +f 31118//32190 31119//32701 31181//31723 +f 31695//14166 31694//31611 31599//14167 +f 33622//29290 33621//24270 33502//17544 +f 25540//25988 5594//17507 11923//25885 +f 35105//25166 35234//25165 22230//25095 +f 35234//25165 35231//32703 17447//14433 +f 35138//26599 21929//16489 21930//14634 +f 35231//32703 33445//14977 33970//14826 +f 17447//14433 35231//32703 33970//14826 +f 11719//14895 34361//25471 33811//14893 +f 18596//1981 17859//1980 18175//21134 +f 32736//32322 32848//32321 32735//32080 +f 18056//9281 11648//18107 18520//17543 +f 32848//32321 32847//32704 32735//32080 +f 32956//32670 32955//31060 32847//32704 +f 32736//32322 32735//32080 32621//31975 +f 32622//32580 32736//32322 32621//31975 +f 32622//32580 32621//31975 32512//32093 +f 32513//31720 32622//32580 32512//32093 +f 34569//31644 34697//31715 34568//31717 +f 33740//30922 33739//890 33612//889 +f 31699//32657 31698//32623 31603//31567 +f 34954//31597 34953//25806 34824//32705 +f 31445//32653 31517//32659 31444//32654 +f 31604//32660 31699//32657 31603//31567 +f 31517//32659 31516//32470 31444//32654 +f 31604//32660 31603//31567 31516//32470 +f 31057//32706 31119//32701 31118//32190 +f 31056//32698 31057//32706 31118//32190 +f 30996//32707 30995//16995 30937//16994 +f 30938//32708 30996//32707 30937//16994 +f 33083//31523 33188//24104 33082//21858 +f 30884//16453 30938//32708 30883//16541 +f 31601//2300 31696//32603 31600//14165 +f 34147//32709 34146//14641 34010//14640 +f 33388//32627 33501//32672 33387//21986 +f 33273//26793 33272//32710 33167//32625 +f 34425//31064 34424//32676 34286//31065 +f 33620//24272 33619//32491 33500//32673 +f 35214//32711 35213//26696 35084//26695 +f 31015//31817 31076//27174 31014//32712 +f 31338//9742 31337//32713 31272//5474 +f 35085//32674 35214//32711 35084//26695 +f 33011//31882 33010//27286 32902//27285 +f 32560//31616 32559//31651 32452//31617 +f 31891//11091 31992//15372 31890//11092 +f 32903//31883 33011//31882 32902//27285 +f 33817//32714 34064//24658 34613//18548 +f 17320//32689 18701//32715 18799//32050 +f 33817//32714 34198//32716 33940//32677 +f 34064//24658 33817//32714 33940//32677 +f 34198//32716 34206//32717 34207//32678 +f 33940//32677 34198//32716 34207//32678 +f 34206//32717 33545//32718 33660//32679 +f 34207//32678 34206//32717 33660//32679 +f 33545//32718 34088//32719 33952//32680 +f 33660//32679 33545//32718 33952//32680 +f 33240//32720 27377//32681 33952//32680 +f 34088//32719 33240//32720 33952//32680 +f 34740//32721 33682//32682 27377//32681 +f 33240//32720 34740//32721 27377//32681 +f 33132//32722 33131//32683 33682//32682 +f 34740//32721 33132//32722 33682//32682 +f 34726//32723 26938//32684 33131//32683 +f 33132//32722 34726//32723 33131//32683 +f 13583//32724 12141//32685 26938//32684 +f 34726//32723 13583//32724 26938//32684 +f 13583//32724 33951//32725 33136//32686 +f 12141//32685 13583//32724 33136//32686 +f 33951//32725 33681//32726 34741//32687 +f 33136//32686 33951//32725 34741//32687 +f 33681//32726 1144//32727 32252//32688 +f 34741//32687 33681//32726 32252//32688 +f 1144//32727 17481//32728 17320//32689 +f 32252//32688 1144//32727 17320//32689 +f 19744//21832 19857//22242 18799//32050 +f 7023//14857 7022//14784 6924//14855 +f 18799//32050 18701//32715 19744//21832 +f 21836//3215 35141//32053 35140//16192 +f 32556//32642 32555//2276 32448//17444 +f 32449//32729 32556//32642 32448//17444 +f 31706//32730 31705//32731 31610//32732 +f 31452//32733 31524//32734 31451//32735 +f 34960//31957 34959//32644 34830//32643 +f 31332//31920 31331//31546 31266//30885 +f 32738//32736 32850//32229 32737//32579 +f 34831//31958 34830//32643 34702//32691 +f 21464//31529 22435//32607 22237//3275 +f 35072//15531 35201//27806 35071//16940 +f 32038//32737 32037//32328 31940//32310 +f 33009//14889 33008//15696 32900//14890 +f 31941//32695 32038//32737 31940//32310 +f 32135//32738 32134//32329 32037//32328 +f 31179//27604 31243//32447 31242//27605 +f 32038//32737 32135//32738 32037//32328 +f 32235//32739 32234//32331 32134//32329 +f 32135//32738 32235//32739 32134//32329 +f 32110//32516 32109//31367 32009//20665 +f 31806//32740 31912//32741 31805//32742 +f 34162//31967 34300//31961 34161//32743 +f 31443//15607 31442//32602 31375//15608 +f 34438//31962 34437//32744 34299//32745 +f 34300//31961 34438//31962 34299//32745 +f 31718//31560 31717//32746 31622//32610 +f 32985//31924 33091//28965 32984//4304 +f 10832//11193 8877//11272 180//7642 +f 11964//22739 11386//777 16613//776 +f 34565//27775 34693//27774 34564//22659 +f 34693//27774 34692//22660 34564//22659 +f 33433//16542 7282//15130 33432//16365 +f 10156//10997 1168//3257 25153//3067 +f 32682//32747 10156//10997 25153//3067 +f 35140//16192 21933//9297 35139//11172 +f 35786//11060 35690//8742 35489//2447 +f 3228//4779 3229//4928 3367//4780 +f 32951//16358 32950//16367 32842//16359 +f 31590//5909 31589//32748 31502//452 +f 35740//4440 35847//8310 35559//12364 +f 31503//451 31590//5909 31502//452 +f 31685//22790 31684//18600 31589//32748 +f 17460//21792 26966//27432 19483//32664 +f 31378//32655 31377//31672 31310//31671 +f 31311//32749 31378//32655 31310//31671 +f 31182//32702 31246//32750 31245//32692 +f 31181//31723 31182//32702 31245//32692 +f 31311//32749 31310//31671 31245//32692 +f 31246//32750 31311//32749 31245//32692 +f 33817//32714 18520//17543 11648//18107 +f 33190//31946 33189//31522 33084//31521 +f 3030//964 6017//18369 68//3514 +f 21744//26302 35272//32751 35271//32752 +f 35105//25166 34994//22259 35231//32703 +f 35234//25165 35105//25166 35231//32703 +f 34994//22259 34601//22379 33445//14977 +f 35231//32703 34994//22259 33445//14977 +f 18062//17342 17971//16219 17972//22426 +f 22031//1143 21936//1758 22032//3003 +f 32104//31687 32103//32753 32003//31161 +f 30213//24470 34626//22655 34065//22233 +f 31797//32754 31903//16302 31796//32252 +f 32004//16301 32003//31161 31902//31160 +f 32004//16301 32104//31687 32003//31161 +f 31903//16302 32004//16301 31902//31160 +f 32204//32205 32203//31836 32103//32753 +f 32104//31687 32204//32205 32103//32753 +f 33613//32658 33740//30922 33612//889 +f 32305//29340 32304//16296 32203//31836 +f 31070//20368 31069//29006 31008//20369 +f 33613//32658 33612//889 33493//32755 +f 32346//26255 32345//32756 32243//15397 +f 33622//29290 33749//31797 33621//24270 +f 32125//22331 32124//31870 32024//22332 +f 30951//18792 31009//15865 30950//18793 +f 31057//32706 31056//32698 30995//16995 +f 30996//32707 31057//32706 30995//16995 +f 33115//30191 33220//26726 33114//15611 +f 33220//26726 33325//21879 33324//16364 +f 31058//32662 31057//32706 30996//32707 +f 30939//27644 30938//32708 30884//16453 +f 33115//30191 33114//15611 33008//15696 +f 30997//28285 31058//32662 30996//32707 +f 33063//31681 33062//32626 32956//32670 +f 33009//14889 33115//30191 33008//15696 +f 33501//32672 33620//24272 33500//32673 +f 33063//31681 33168//21814 33062//32626 +f 31138//31528 31201//30886 31137//32757 +f 33747//27232 33746//32271 33619//32491 +f 35343//32758 27726//32608 35342//31525 +f 31188//32759 31189//32760 31252//32544 +f 35343//32758 35342//31525 35213//26696 +f 28012//32606 21464//31529 28949//31526 +f 35214//32711 35343//32758 35213//26696 +f 27726//32608 28949//31526 35342//31525 +f 21649//13718 21650//13772 21742//3214 +f 12460//22827 18133//22829 14380//22730 +f 31852//32761 34198//32716 33817//32714 +f 11648//18107 31852//32761 33817//32714 +f 31852//32761 29080//32762 34206//32717 +f 34198//32716 31852//32761 34206//32717 +f 29080//32762 32051//32763 33545//32718 +f 34206//32717 29080//32762 33545//32718 +f 32051//32763 33684//32764 34088//32719 +f 33545//32718 32051//32763 34088//32719 +f 33684//32764 33349//32765 33240//32720 +f 34088//32719 33684//32764 33240//32720 +f 34090//32766 34740//32721 33240//32720 +f 33349//32765 34090//32766 33240//32720 +f 13314//32767 33132//32722 34740//32721 +f 34090//32766 13314//32767 34740//32721 +f 13314//32767 32151//32768 34726//32723 +f 33132//32722 13314//32767 34726//32723 +f 33563//32769 13583//32724 34726//32723 +f 32151//32768 33563//32769 34726//32723 +f 11886//32770 33951//32725 13583//32724 +f 33563//32769 11886//32770 13583//32724 +f 11886//32770 34727//32771 33681//32726 +f 33951//32725 11886//32770 33681//32726 +f 34727//32771 32803//32772 1144//32727 +f 33681//32726 34727//32771 1144//32727 +f 32803//32772 11715//32773 17481//32728 +f 1144//32727 32803//32772 17481//32728 +f 11715//32773 35101//23084 29403//21910 +f 17481//32728 11715//32773 29403//21910 +f 32504//25678 32613//21625 32503//23006 +f 34989//22224 12995//14806 33949//14805 +f 31201//30886 31265//23717 31264//23716 +f 31200//32774 31201//30886 31264//23716 +f 11434//16953 11491//16877 11433//16876 +f 34312//15830 34450//15824 34311//22459 +f 32985//31924 32984//4304 32876//32775 +f 33873//15430 34008//16471 33872//31900 +f 34575//31963 34574//32776 34437//32744 +f 34438//31962 34575//31963 34437//32744 +f 15075//15498 5338//17108 3753//16895 +f 32958//31674 32957//31676 32849//32230 +f 31113//17232 31114//31609 31176//16180 +f 31324//16092 31391//6524 31323//22582 +f 32337//32777 32336//32332 32234//32331 +f 32235//32739 32337//32777 32234//32331 +f 32441//32778 32440//32333 32336//32332 +f 31051//6611 31052//30845 31113//17232 +f 32337//32777 32441//32778 32336//32332 +f 31599//14167 31598//7124 31511//17341 +f 31521//32452 31608//32458 31520//23258 +f 32548//32779 32547//32336 32440//32333 +f 32441//32778 32548//32779 32440//32333 +f 33164//30846 33269//31799 33163//29088 +f 34815//31705 34944//31642 34814//31677 +f 33378//32204 33491//32335 33377//2386 +f 32311//32231 32310//32233 32209//31366 +f 31053//31607 31052//30845 30991//29604 +f 34026//32000 34162//31967 34025//32780 +f 34300//31961 34299//32745 34161//32743 +f 34754//14217 21832//21867 21737//14218 +f 31623//31561 31718//31560 31622//32610 +f 11549//16838 15609//14681 34734//15499 +f 17912//15904 34071//26602 33789//26106 +f 33168//21814 33273//26793 33167//32625 +f 34950//15949 34949//32668 34820//32667 +f 33807//20479 22357//20478 35246//17924 +f 35249//32102 21552//29951 29265//32781 +f 35141//32053 35270//32782 35269//9298 +f 35140//16192 35141//32053 35269//9298 +f 35270//32782 12830//32783 10264//8287 +f 35269//9298 35270//32782 10264//8287 +f 12830//32783 26688//32784 28349//32552 +f 10264//8287 12830//32783 28349//32552 +f 26688//32784 29405//32785 3224//14512 +f 28349//32552 26688//32784 3224//14512 +f 21552//29951 35249//32102 22135//3378 +f 17429//20816 17350//19779 17351//11152 +f 33817//32714 34613//18548 18520//17543 +f 21939//14513 22035//6407 22034//8987 +f 35105//25166 22231//3380 22232//3379 +f 32682//32747 8017//11089 10156//10997 +f 33085//31947 33190//31946 33084//31521 +f 35105//25166 22232//3379 34994//22259 +f 35205//32786 35334//32787 35204//28937 +f 32409//29339 32514//31719 32408//31721 +f 30599//26670 25658//20081 28070//20406 +f 18119//16609 14380//22730 18133//22829 +f 32199//4568 32198//16119 32098//16118 +f 22427//14935 22525//11870 22426//14825 +f 21553//22258 34881//22380 34601//22379 +f 34994//22259 21553//22258 34601//22379 +f 35909//13279 35524//9019 35671//9131 +f 24712//27139 24733//16888 25921//26169 +f 3236//5910 3097//20898 3237//6070 +f 34085//32788 22429//17724 33925//22378 +f 3224//14512 21936//1758 28349//32552 +f 22527//16048 9645//15269 22528//17893 +f 31105//17835 31168//2807 31167//20865 +f 33339//32789 12749//16789 22136//31481 +f 34734//15499 15076//14569 33576//14571 +f 32428//17718 32533//23697 32532//17719 +f 32204//32205 32305//29340 32203//31836 +f 35660//3512 35351//6861 35750//9196 +f 33494//32790 33613//32658 33493//32755 +f 32408//31721 32407//32791 32304//16296 +f 33381//15427 33380//32792 33271//32475 +f 33272//32710 33381//15427 33271//32475 +f 31058//32662 31059//32661 31120//32793 +f 3224//14512 29405//32785 21939//14513 +f 32668//32519 32789//32517 32667//20120 +f 30938//32708 30937//16994 30883//16541 +f 30885//17059 30939//27644 30884//16453 +f 30997//28285 30996//32707 30938//32708 +f 33273//26793 33382//15425 33272//32710 +f 31184//30137 31248//32794 31247//32795 +f 35205//32786 35204//28937 35075//28936 +f 35078//32520 35077//32522 34948//32796 +f 32417//32652 32522//14719 32416//14721 +f 31519//23259 31606//21577 31518//32671 +f 32878//21758 32986//32555 32877//32797 +f 32048//22843 32145//19624 32047//2633 +f 33620//24272 33747//27232 33619//32491 +f 32206//32618 32307//14868 32205//14870 +f 31912//32741 31911//32798 31805//32742 +f 33881//6324 33880//32210 33746//32271 +f 34848//22654 4101//2322 4367//2147 +f 31611//32799 31706//32730 31610//32732 +f 32765//21759 32877//32797 32764//32124 +f 31126//32595 31189//32760 31188//32759 +f 6253//19126 21052//19305 22750//6529 +f 21224//23699 33807//20479 21138//23768 +f 33935//24959 31852//32761 11648//18107 +f 7641//10626 7525//11397 33022//8860 +f 33935//24959 7880//32800 29080//32762 +f 31852//32761 33935//24959 29080//32762 +f 7880//32800 34215//32801 32051//32763 +f 29080//32762 7880//32800 32051//32763 +f 34215//32801 33570//32802 33684//32764 +f 32051//32763 34215//32801 33684//32764 +f 33570//32802 35262//32803 33349//32765 +f 33684//32764 33570//32802 33349//32765 +f 35262//32803 32804//32804 34090//32766 +f 33349//32765 35262//32803 34090//32766 +f 34604//32805 13314//32767 34090//32766 +f 32804//32804 34604//32805 34090//32766 +f 35322//32806 32151//32768 13314//32767 +f 34604//32805 35322//32806 13314//32767 +f 1877//32807 33563//32769 32151//32768 +f 35322//32806 1877//32807 32151//32768 +f 31081//32808 11886//32770 33563//32769 +f 1877//32807 31081//32808 33563//32769 +f 31081//32808 33450//32809 34727//32771 +f 11886//32770 31081//32808 34727//32771 +f 33450//32809 34846//32810 32803//32772 +f 34727//32771 33450//32809 32803//32772 +f 34846//32810 32356//32811 11715//32773 +f 32803//32772 34846//32810 11715//32773 +f 32356//32811 35230//23083 35101//23084 +f 11715//32773 32356//32811 35101//23084 +f 731//7579 612//7480 18012//21320 +f 17405//22236 17327//22235 17328//22202 +f 34152//20937 34290//6757 34151//32418 +f 34290//6757 34289//32690 34151//32418 +f 31632//5768 31631//15326 31544//5769 +f 34428//6756 34427//30280 34289//32690 +f 35200//18547 35329//13977 35199//13979 +f 620//3426 4953//17633 33347//3427 +f 34162//31967 34161//32743 34025//32780 +f 31116//31927 31117//32189 31179//27604 +f 32110//32516 32210//31365 32109//31367 +f 33014//27634 33120//30455 33013//30457 +f 33492//31756 33611//891 33491//32335 +f 31694//31611 31693//16117 31598//7124 +f 32661//32812 32660//32337 32547//32336 +f 32548//32779 32661//32812 32547//32336 +f 32782//32813 32781//32338 32660//32337 +f 32661//32812 32782//32813 32660//32337 +f 34007//32192 34006//28054 33871//29909 +f 33611//891 33610//16627 33491//32335 +f 33610//16627 33737//16698 33609//2400 +f 33871//29909 33870//2389 33736//27239 +f 32894//32814 32893//32339 32781//32338 +f 32782//32813 32894//32814 32781//32338 +f 31950//5145 32047//2633 31949//5146 +f 31177//31925 31178//27603 31241//31554 +f 32026//31690 32126//31512 32025//22330 +f 32412//32815 32411//32816 32308//32576 +f 33885//32121 34020//31600 33884//32817 +f 31052//30845 31114//31609 31113//17232 +f 21643//26398 34500//28786 34499//26481 +f 3753//16895 15076//14569 15075//15498 +f 34627//14219 34755//1264 34754//14217 +f 35314//17147 35185//32265 6906//12733 +f 6994//6763 7097//12353 6993//21995 +f 21650//13772 21651//14120 35014//19423 +f 33220//26726 33219//16848 33114//15611 +f 33382//15425 33381//15427 33272//32710 +f 34328//32438 6954//12967 6953//12025 +f 17285//20724 13222//22381 17354//20722 +f 31651//9040 11460//9042 31747//32267 +f 33674//32818 34972//32819 22037//257 +f 35271//32752 1639//32820 12830//32783 +f 35270//32782 35271//32752 12830//32783 +f 1639//32820 26567//32821 26688//32784 +f 12830//32783 1639//32820 26688//32784 +f 26567//32821 27757//32487 29405//32785 +f 26688//32784 26567//32821 29405//32785 +f 29356//14896 28888//1929 29494//21993 +f 16988//20370 3071//21355 17121//20286 +f 32052//32486 33674//32818 33671//259 +f 16988//20370 17121//20286 15232//18715 +f 33671//259 33674//32818 22037//257 +f 34972//32819 21552//29951 22037//257 +f 6667//7933 15566//940 937//7753 +f 3846//2149 4234//20292 4367//2147 +f 33494//32790 33493//32755 33380//32792 +f 180//7642 8129//3118 10832//11193 +f 22232//3379 12749//16789 21553//22258 +f 33381//15427 33494//32790 33380//32792 +f 12749//16789 13320//32822 21553//22258 +f 13312//21415 19527//28202 10381//31416 +f 13320//32822 33353//32823 34881//22380 +f 21553//22258 13320//32822 34881//22380 +f 13682//32824 33925//22378 34881//22380 +f 33353//32823 13682//32824 34881//22380 +f 22429//17724 34085//32788 9645//15269 +f 13682//32824 34085//32788 33925//22378 +f 34085//32788 34875//15270 9645//15269 +f 17528//21819 17852//32825 8688//22080 +f 9745//13667 7349//13751 15957//13843 +f 15957//13843 16400//5747 9745//13667 +f 34599//14787 34219//18704 33796//14788 +f 9745//13667 16400//5747 9892//13572 +f 15076//14569 23273//3428 33459//14570 +f 33156//17567 33261//23038 33260//32826 +f 32305//29340 32408//31721 32304//16296 +f 32513//31720 32512//32093 32407//32791 +f 33272//32710 33271//32475 33166//32474 +f 33167//32625 33272//32710 33166//32474 +f 35202//15530 35331//31680 35330//27807 +f 31458//4191 31457//4193 31390//30139 +f 32555//2276 32668//32519 32554//2277 +f 32789//32517 32788//23020 32667//20120 +f 30939//27644 30997//28285 30938//32708 +f 31058//32662 31120//32793 31119//32701 +f 30940//21916 30998//28284 30939//27644 +f 35076//32700 35205//32786 35075//28936 +f 35337//4883 35336//25575 35207//32521 +f 35208//16754 35337//4883 35207//32521 +f 35381//10394 35824//10184 35724//8628 +f 12563//16159 12473//25576 35336//25575 +f 32976//17447 32977//31568 33082//21858 +f 12666//15323 19521//7036 13576//21071 +f 34698//32578 34697//31715 34569//31644 +f 35221//10520 35222//32002 11705//14856 +f 34152//20937 34151//32418 34015//32211 +f 32953//27558 33059//31775 32952//27559 +f 33747//27232 33881//6324 33746//32271 +f 34016//20938 34152//20937 34015//32211 +f 34016//20938 34015//32211 33880//32210 +f 33881//6324 34016//20938 33880//32210 +f 18391//22957 18700//22956 18815//23086 +f 19523//21974 35230//23083 17364//4318 +f 17302//16766 33935//24959 34487//18032 +f 26390//21705 26349//21548 26351//9604 +f 17302//16766 33933//32827 7880//32800 +f 33935//24959 17302//16766 7880//32800 +f 33933//32827 34353//32828 34215//32801 +f 7880//32800 33933//32827 34215//32801 +f 34353//32828 33953//32829 33570//32802 +f 34215//32801 34353//32828 33570//32802 +f 33953//32829 34614//32830 35262//32803 +f 33570//32802 33953//32829 35262//32803 +f 33027//32831 32804//32804 35262//32803 +f 34614//32830 33027//32831 35262//32803 +f 35319//32832 34604//32805 32804//32804 +f 33027//32831 35319//32832 32804//32804 +f 35225//32833 35322//32806 34604//32805 +f 35319//32832 35225//32833 34604//32805 +f 28999//32834 1877//32807 35322//32806 +f 35225//32833 28999//32834 35322//32806 +f 28999//32834 34351//32835 31081//32808 +f 1877//32807 28999//32834 31081//32808 +f 34351//32835 35194//32836 33450//32809 +f 31081//32808 34351//32835 33450//32809 +f 35194//32836 34356//32837 34846//32810 +f 33450//32809 35194//32836 34846//32810 +f 34356//32837 34522//31417 32356//32811 +f 34846//32810 34356//32837 32356//32811 +f 34522//31417 17364//4318 35230//23083 +f 32356//32811 34522//31417 35230//23083 +f 35495//4384 35920//6317 35675//2912 +f 6975//13117 117//12039 116//5158 +f 33740//30922 33874//15429 33739//890 +f 33495//15426 33494//32790 33381//15427 +f 33271//32475 33270//31798 33165//31774 +f 33739//890 33873//15430 33738//16626 +f 31059//32661 31121//30136 31120//32793 +f 32451//27086 32450//32838 32346//26255 +f 33891//32001 34026//32000 33890//32839 +f 31055//32699 31117//32189 31116//31927 +f 32303//16297 32302//31782 32201//31213 +f 32525//32411 32524//31623 32419//31578 +f 34008//16471 34144//16369 34007//32192 +f 31194//11876 31195//17546 31258//32840 +f 33002//32841 33001//32340 32893//32339 +f 32894//32814 33002//32841 32893//32339 +f 33108//32842 33107//32359 33001//32340 +f 33002//32841 33108//32842 33001//32340 +f 33213//32843 33212//32362 33107//32359 +f 33108//32842 33213//32843 33107//32359 +f 34555//14563 34683//31994 34554//14564 +f 31603//31567 31698//32623 31602//2299 +f 33318//32844 33317//32381 33212//32362 +f 34144//16369 34143//32132 34007//32192 +f 33213//32843 33318//32844 33212//32362 +f 33492//31756 33491//32335 33378//32204 +f 16774//8421 20010//15389 12573//967 +f 33155//21549 33156//17567 33260//32826 +f 32119//23125 32219//23127 32218//32201 +f 31907//32139 32008//31749 31906//31751 +f 34500//28786 34628//32845 34627//14219 +f 34499//26481 34500//28786 34627//14219 +f 34628//32845 34756//1262 34755//1264 +f 34627//14219 34628//32845 34755//1264 +f 6954//12967 34328//32438 6887//16907 +f 32352//16205 11578//5579 32456//22633 +f 22418//7357 22321//1921 7406//7358 +f 8694//13020 8802//11139 2075//2572 +f 17453//21297 35197//2697 35198//20210 +f 31442//32602 31514//2301 31441//31209 +f 21744//26302 35144//26301 35272//32751 +f 21936//1758 3224//14512 22032//3003 +f 35272//32751 14093//32846 1639//32820 +f 35271//32752 35272//32751 1639//32820 +f 14093//32846 20829//32847 26567//32821 +f 1639//32820 14093//32846 26567//32821 +f 20829//32847 29147//32848 27757//32487 +f 26567//32821 20829//32847 27757//32487 +f 29147//32848 32053//32849 32052//32486 +f 27757//32487 29147//32848 32052//32486 +f 32053//32849 33675//32850 33674//32818 +f 32052//32486 32053//32849 33674//32818 +f 33675//32850 34973//32851 34972//32819 +f 33674//32818 33675//32850 34972//32819 +f 34973//32851 29265//32781 21552//29951 +f 34972//32819 34973//32851 21552//29951 +f 34601//22379 22427//14935 33445//14977 +f 19633//21908 29403//21910 19524//22124 +f 35522//9148 25127//9436 24995//3455 +f 28882//12262 28363//6176 29131//21176 +f 33339//32789 34205//32852 13320//32822 +f 12749//16789 33339//32789 13320//32822 +f 34205//32852 34869//32853 33353//32823 +f 13320//32822 34205//32852 33353//32823 +f 35240//32854 13682//32824 33353//32823 +f 34869//32853 35240//32854 33353//32823 +f 20009//32855 34085//32788 13682//32824 +f 35240//32854 20009//32855 13682//32824 +f 20009//32855 33024//32856 34875//15270 +f 34085//32788 20009//32855 34875//15270 +f 33024//32856 34600//23742 34599//14787 +f 34875//15270 33024//32856 34599//14787 +f 30488//5062 12688//2117 21644//5063 +f 34599//14787 34600//23742 34219//18704 +f 18423//22991 3342//26296 22460//22992 +f 924//6616 805//6702 806//6390 +f 32408//31721 32513//31720 32407//32791 +f 31308//28374 31307//28375 31242//27605 +f 33167//32625 33166//32474 33061//32857 +f 33062//32626 33167//32625 33061//32857 +f 32955//31060 33061//32857 32954//31061 +f 34687//32858 34815//31705 34686//32859 +f 32558//32527 32557//32583 32450//32838 +f 32668//32519 32667//20120 32554//2277 +f 31057//32706 31058//32662 31119//32701 +f 31120//32793 31183//30138 31182//32702 +f 32852//30322 32851//30324 32739//32525 +f 32113//32647 32213//32615 32112//32648 +f 35337//4883 12563//16159 35336//25575 +f 12666//15323 13576//21071 12473//25576 +f 35211//32270 35340//31990 35210//12189 +f 19573//31915 34495//11088 35339//27356 +f 34953//25806 35082//25805 34952//17829 +f 35211//32270 35210//12189 35081//12188 +f 34568//31717 34696//31716 34567//26006 +f 34953//25806 34952//17829 34823//18771 +f 34431//31645 34568//31717 34430//3612 +f 34696//31716 34695//6720 34567//26006 +f 34293//31771 34431//31645 34292//3611 +f 34568//31717 34567//26006 34430//3612 +f 34155//31772 34293//31771 34154//15331 +f 34431//31645 34430//3612 34292//3611 +f 22136//31481 35249//32102 33339//32789 +f 6943//31849 34722//31667 34723//22925 +f 35324//23085 29219//16765 19311//16767 +f 19311//16767 17302//16766 34487//18032 +f 29219//16765 34856//32860 33933//32827 +f 17302//16766 29219//16765 33933//32827 +f 34490//32861 34353//32828 33933//32827 +f 34856//32860 34490//32861 33933//32827 +f 34089//32862 33953//32829 34353//32828 +f 34490//32861 34089//32862 34353//32828 +f 19702//32863 34614//32830 33953//32829 +f 34089//32862 19702//32863 33953//32829 +f 13302//32864 33027//32831 34614//32830 +f 19702//32863 13302//32864 34614//32830 +f 13302//32864 17259//32865 35319//32832 +f 33027//32831 13302//32864 35319//32832 +f 35127//32866 35225//32833 35319//32832 +f 17259//32865 35127//32866 35319//32832 +f 34472//32867 28999//32834 35225//32833 +f 35127//32866 34472//32867 35225//32833 +f 34472//32867 31954//32868 34351//32835 +f 28999//32834 34472//32867 34351//32835 +f 31954//32868 34246//32869 35194//32836 +f 34351//32835 31954//32868 35194//32836 +f 34246//32869 10381//31416 34356//32837 +f 35194//32836 34246//32869 34356//32837 +f 28114//28293 25646//27747 28230//27915 +f 34356//32837 10381//31416 34522//31417 +f 35441//8007 35738//2774 35549//15642 +f 6923//14783 6924//14855 7022//14784 +f 34950//15949 35079//15948 34949//32668 +f 21642//26314 21550//28073 34365//26399 +f 34821//18413 34950//15949 34820//32667 +f 35079//15948 35078//32520 34949//32668 +f 34008//16471 34007//32192 33872//31900 +f 31915//32044 32016//32350 31914//32045 +f 34422//5976 34559//27804 34421//22070 +f 31900//31447 32001//32256 31899//23087 +f 34026//32000 34025//32780 33890//32839 +f 31054//32506 31055//32699 31116//31927 +f 32634//32191 32633//31879 32524//31623 +f 35222//32002 35221//10520 35092//17376 +f 34719//32393 34718//32183 34590//32870 +f 33876//19431 34011//32871 33875//30921 +f 33427//32872 33426//32382 33317//32381 +f 33318//32844 33427//32872 33317//32381 +f 33540//22305 33539//32386 33426//32382 +f 33427//32872 33540//22305 33426//32382 +f 33659//17093 33658//32387 33539//32386 +f 33540//22305 33659//17093 33539//32386 +f 34454//32282 34591//32341 34453//32873 +f 33786//16955 33785//32388 33658//32387 +f 33659//17093 33786//16955 33658//32387 +f 33920//16800 33919//32390 33785//32388 +f 34316//32283 34454//32282 34315//32874 +f 34591//32341 34590//32870 34453//32873 +f 31950//5145 11456//5144 11520//4523 +f 10028//11225 10455//943 16258//20115 +f 34501//28785 34629//32875 34628//32845 +f 34500//28786 34501//28785 34628//32845 +f 34629//32875 34757//13716 34756//1262 +f 34628//32845 34629//32875 34756//1262 +f 31104//17836 31105//17835 31167//20865 +f 35246//17924 22357//20478 29828//2364 +f 30982//7937 30981//22338 30923//21336 +f 21744//26302 21743//28516 35014//19423 +f 17404//22196 17326//32876 17327//22235 +f 12688//2117 15340//19134 2751//19133 +f 35144//26301 35273//32877 35272//32751 +f 21651//14120 21744//26302 35014//19423 +f 35273//32877 27171//32878 14093//32846 +f 35272//32751 35273//32877 14093//32846 +f 27171//32878 30747//32879 20829//32847 +f 14093//32846 27171//32878 20829//32847 +f 30747//32879 12825//32880 29147//32848 +f 20829//32847 30747//32879 29147//32848 +f 12825//32880 32054//32881 32053//32849 +f 29147//32848 12825//32880 32053//32849 +f 32054//32881 33676//32882 33675//32850 +f 32053//32849 32054//32881 33675//32850 +f 33676//32882 34974//32883 34973//32851 +f 33675//32850 33676//32882 34973//32851 +f 34974//32883 27611//32884 29265//32781 +f 34973//32851 34974//32883 29265//32781 +f 35256//32885 35249//32102 29265//32781 +f 27611//32884 35256//32885 29265//32781 +f 35256//32885 35228//32886 33339//32789 +f 35249//32102 35256//32885 33339//32789 +f 35228//32886 34991//32887 34205//32852 +f 33339//32789 35228//32886 34205//32852 +f 34991//32887 12841//32888 34869//32853 +f 34205//32852 34991//32887 34869//32853 +f 33938//32889 35240//32854 34869//32853 +f 12841//32888 33938//32889 34869//32853 +f 33803//32890 20009//32855 35240//32854 +f 33938//32889 33803//32890 35240//32854 +f 33803//32890 35118//32891 33024//32856 +f 20009//32855 33803//32890 33024//32856 +f 35118//32891 35239//32892 34600//23742 +f 33024//32856 35118//32891 34600//23742 +f 12688//2117 2751//19133 21644//5063 +f 35239//32892 34478//22610 34600//23742 +f 11423//13398 11422//6418 31143//6417 +f 18195//22608 18375//22560 19423//22609 +f 33393//32560 33392//32893 33283//31601 +f 33261//23038 33370//28142 33260//32826 +f 33062//32626 33061//32857 32955//31060 +f 32956//32670 33062//32626 32955//31060 +f 32344//13208 32343//17445 32241//13209 +f 27555//17327 12269//7239 12186//10994 +f 34147//32709 34285//32122 34146//14641 +f 31471//32499 31543//32894 31470//32895 +f 31119//32701 31120//32793 31182//32702 +f 31183//30138 31247//32795 31246//32750 +f 31806//32740 31805//32742 31705//32731 +f 33010//27286 33116//30190 33009//14889 +f 12563//16159 12666//15323 12473//25576 +f 31900//31447 31899//23087 31793//17550 +f 35082//25805 35211//32270 35081//12188 +f 35340//31990 35339//27356 35210//12189 +f 33221//32342 33220//26726 33115//30191 +f 32046//2635 32045//32641 31948//32264 +f 33066//32896 33171//29048 33065//29050 +f 31694//31611 31794//32062 31693//16117 +f 32108//31776 32208//32059 32107//32061 +f 32005//16300 32105//31686 32004//16301 +f 33617//32897 33616//32898 33497//32547 +f 33385//32553 33498//32546 33384//32548 +f 12384//27027 12473//25576 392//21070 +f 35207//32521 35336//25575 35206//32614 +f 7524//15783 33127//11398 7525//11397 +f 11393//11396 35229//14046 9797//11474 +f 34226//32899 29219//16765 35324//23085 +f 34244//14567 34243//32900 21199//14566 +f 12633//32901 34856//32860 29219//16765 +f 34226//32899 12633//32901 29219//16765 +f 12633//32901 34618//32902 34490//32861 +f 34856//32860 12633//32901 34490//32861 +f 33683//32903 34089//32862 34490//32861 +f 34618//32902 33683//32903 34490//32861 +f 33350//32904 19702//32863 34089//32862 +f 33683//32903 33350//32904 34089//32862 +f 6979//32905 13302//32864 19702//32863 +f 33350//32904 6979//32905 19702//32863 +f 33449//32906 17259//32865 13302//32864 +f 6979//32905 33449//32906 13302//32864 +f 34332//32907 35127//32866 17259//32865 +f 33449//32906 34332//32907 17259//32865 +f 5559//32908 34472//32867 35127//32866 +f 34332//32907 5559//32908 35127//32866 +f 5559//32908 28609//32909 31954//32868 +f 34472//32867 5559//32908 31954//32868 +f 28609//32909 31339//32910 34246//32869 +f 31954//32868 28609//32909 34246//32869 +f 31339//32910 34493//32911 10381//31416 +f 34246//32869 31339//32910 10381//31416 +f 18377//4316 17364//4318 19527//28202 +f 34493//32911 13312//21415 10381//31416 +f 11519//14255 11518//14082 32049//14734 +f 8863//11420 671//3513 4649//3314 +f 35208//16754 35207//32521 35078//32520 +f 35079//15948 35208//16754 35078//32520 +f 35340//31990 19573//31915 35339//27356 +f 28591//3274 28871//21561 34495//11088 +f 31406//12308 31405//29322 31338//9742 +f 19573//31915 28591//3274 34495//11088 +f 34815//31705 34814//31677 34686//32859 +f 7525//11397 7641//10626 7640//13393 +f 33891//32001 33890//32839 33756//32912 +f 31055//32699 31054//32506 30993//32507 +f 34156//31603 34155//31772 34019//32245 +f 32018//32913 32019//26717 32118//32914 +f 34178//32307 34316//32283 34177//32915 +f 34591//32341 34719//32393 34590//32870 +f 33786//16955 33920//16800 33785//32388 +f 34055//16689 34054//32422 33919//32390 +f 33920//16800 34055//16689 33919//32390 +f 34316//32283 34315//32874 34177//32915 +f 34191//32916 34190//32423 34054//32422 +f 34055//16689 34191//32916 34054//32422 +f 34366//28072 34365//26399 21550//28073 +f 34190//32423 34191//32916 34328//32438 +f 31248//32794 31313//32566 31312//32568 +f 35131//32917 34203//5484 3090//5214 +f 34042//32309 34178//32307 34041//32918 +f 34365//26399 34502//32919 34501//28785 +f 2413//21007 6885//32022 2412//10879 +f 34502//32919 34630//32920 34629//32875 +f 34501//28785 34502//32919 34629//32875 +f 34630//32920 34758//13717 34757//13716 +f 34629//32875 34630//32920 34757//13716 +f 1892//6035 10028//11225 9910//13277 +f 9910//13277 10028//11225 16258//20115 +f 7042//5034 7041//3694 6943//31849 +f 34887//13773 35016//32921 21651//14120 +f 35016//32921 35145//32922 35144//26301 +f 12965//25917 34341//32187 3928//13837 +f 35145//32922 35274//32923 35273//32877 +f 35144//26301 35145//32922 35273//32877 +f 35274//32923 12029//32924 27171//32878 +f 35273//32877 35274//32923 27171//32878 +f 12029//32924 28857//32925 30747//32879 +f 27171//32878 12029//32924 30747//32879 +f 28857//32925 13034//32926 12825//32880 +f 30747//32879 28857//32925 12825//32880 +f 13034//32926 32250//32927 32054//32881 +f 12825//32880 13034//32926 32054//32881 +f 32250//32927 33679//32928 33676//32882 +f 32054//32881 32250//32927 33676//32882 +f 33679//32928 34983//32929 34974//32883 +f 33676//32882 33679//32928 34974//32883 +f 34983//32929 34209//32930 27611//32884 +f 34974//32883 34983//32929 27611//32884 +f 34209//32930 35297//32931 35256//32885 +f 27611//32884 34209//32930 35256//32885 +f 35297//32931 27147//32932 35228//32886 +f 35256//32885 35297//32931 35228//32886 +f 27147//32932 28074//32933 34991//32887 +f 35228//32886 27147//32932 34991//32887 +f 28074//32933 13389//32934 12841//32888 +f 34991//32887 28074//32933 12841//32888 +f 34223//32935 33938//32889 12841//32888 +f 13389//32934 34223//32935 12841//32888 +f 34496//32936 33803//32890 33938//32889 +f 34223//32935 34496//32936 33938//32889 +f 34496//32936 24729//32937 35118//32891 +f 33803//32890 34496//32936 35118//32891 +f 24729//32937 34086//32938 35239//32892 +f 35118//32891 24729//32937 35239//32892 +f 34744//32939 34478//22610 35239//32892 +f 34086//32938 34744//32939 35239//32892 +f 18195//22608 17946//22634 18375//22560 +f 34744//32939 34337//22703 34478//22610 +f 22621//222 22521//4447 22522//700 +f 17274//22030 33974//22029 33975//32940 +f 32848//32321 32956//32670 32847//32704 +f 28581//17478 28582//22693 28711//29441 +f 33614//32495 33613//32658 33494//32790 +f 32407//32791 32512//32093 32406//31781 +f 33066//32896 33065//29050 32959//32941 +f 31798//32621 31797//32754 31697//31212 +f 31182//32702 31183//30138 31246//32750 +f 31312//32568 31311//32749 31246//32750 +f 31332//31920 31399//10379 31331//31546 +f 32971//31018 32970//32571 32862//32942 +f 17459//21373 26966//27432 17460//21792 +f 32215//31619 32316//31577 32214//31742 +f 34824//32705 34953//25806 34823//18771 +f 35082//25805 35081//12188 34952//17829 +f 33878//32943 34013//21578 33877//32128 +f 34149//21579 34148//31066 34012//21580 +f 33511//31940 33510//32944 33397//22104 +f 33398//31992 33511//31940 33397//22104 +f 33289//31993 33288//32945 33183//32946 +f 33184//32036 33289//31993 33183//32946 +f 33184//32036 33183//32946 33078//31016 +f 33079//32058 33184//32036 33078//31016 +f 32865//32090 32973//32021 32864//20207 +f 33079//32058 33078//31016 32972//32947 +f 35216//31575 35345//32612 35215//32948 +f 32973//32021 33079//32058 32972//32947 +f 17696//22136 34226//32899 35324//23085 +f 33434//22234 33547//10115 683//22181 +f 35129//32949 12633//32901 34226//32899 +f 33465//22586 35129//32949 34226//32899 +f 35129//32949 19028//32950 34618//32902 +f 12633//32901 35129//32949 34618//32902 +f 33571//32951 33683//32903 34618//32902 +f 19028//32950 33571//32951 34618//32902 +f 33462//32952 33350//32904 33683//32903 +f 33571//32951 33462//32952 33683//32903 +f 33585//32953 6979//32905 33350//32904 +f 33462//32952 33585//32953 33350//32904 +f 11949//32954 33449//32906 6979//32905 +f 33585//32953 11949//32954 6979//32905 +f 27264//32955 34332//32907 33449//32906 +f 11949//32954 27264//32955 33449//32906 +f 11969//32956 5559//32908 34332//32907 +f 27264//32955 11969//32956 34332//32907 +f 11969//32956 34108//32957 28609//32909 +f 5559//32908 11969//32956 28609//32909 +f 34624//32958 31339//32910 28609//32909 +f 34108//32957 34624//32958 28609//32909 +f 10578//32959 34493//32911 31339//32910 +f 34624//32958 10578//32959 31339//32910 +f 33804//21394 13312//21415 34493//32911 +f 10578//32959 33804//21394 34493//32911 +f 35223//14960 35224//31582 6927//14961 +f 3732//1585 274//9546 3863//22841 +f 33750//32960 33884//32817 33749//31797 +f 34019//32245 34018//15330 33883//31260 +f 34155//31772 34154//15331 34018//15330 +f 33884//32817 34019//32245 33883//31260 +f 34572//22271 34573//17262 34700//32961 +f 31536//31847 31623//31561 31535//32611 +f 33390//14220 33389//14222 33280//17442 +f 35345//32612 35344//32613 35215//32948 +f 33630//31937 33757//31936 33629//32962 +f 33757//31936 33891//32001 33756//32912 +f 33641//32472 33768//31830 33640//24432 +f 34835//32015 34834//15436 34706//15532 +f 34178//32307 34177//32915 34041//32918 +f 34454//32282 34453//32873 34315//32874 +f 29270//32081 30755//9610 17295//12265 +f 34459//31509 34460//31505 34596//22926 +f 6941//8486 7040//3696 210//8487 +f 32645//31972 32759//31934 32758//31631 +f 32644//31570 32645//31972 32758//31631 +f 33907//32327 34042//32309 33906//32963 +f 32758//31631 32759//31934 32870//31632 +f 32759//31934 32871//31933 32870//31632 +f 11432//16799 11433//16876 11490//14157 +f 35568//2366 35556//9807 29828//2364 +f 11435//12862 11492//16954 11434//16953 +f 35903//438 35578//1166 35407//5535 +f 34366//28072 34503//32964 34502//32919 +f 34365//26399 34366//28072 34502//32919 +f 34503//32964 34631//32965 34630//32920 +f 34502//32919 34503//32964 34630//32920 +f 34631//32965 34759//32966 34758//13717 +f 34630//32920 34631//32965 34758//13717 +f 34759//32966 34888//32967 34887//13773 +f 34758//13717 34759//32966 34887//13773 +f 34888//32967 35017//32968 35016//32921 +f 34887//13773 34888//32967 35016//32921 +f 35017//32968 35146//32969 35145//32922 +f 35016//32921 35017//32968 35145//32922 +f 35146//32969 35275//32970 35274//32923 +f 35145//32922 35146//32969 35274//32923 +f 35275//32970 8229//32971 12029//32924 +f 35274//32923 35275//32970 12029//32924 +f 8229//32971 28739//32972 28857//32925 +f 12029//32924 8229//32971 28857//32925 +f 28739//32972 33239//32973 13034//32926 +f 28857//32925 28739//32972 13034//32926 +f 33239//32973 32354//32974 32250//32927 +f 13034//32926 33239//32973 32250//32927 +f 32354//32974 33685//32975 33679//32928 +f 32250//32927 32354//32974 33679//32928 +f 33685//32975 34987//32976 34983//32929 +f 33679//32928 33685//32975 34983//32929 +f 34987//32976 31952//32977 34209//32930 +f 34983//32929 34987//32976 34209//32930 +f 31952//32977 34059//32978 35297//32931 +f 34209//32930 31952//32977 35297//32931 +f 34059//32978 24214//32979 27147//32932 +f 35297//32931 34059//32978 27147//32932 +f 24214//32979 34477//32980 28074//32933 +f 27147//32932 24214//32979 28074//32933 +f 34477//32980 30221//32981 13389//32934 +f 28074//32933 34477//32980 13389//32934 +f 34498//32982 34223//32935 13389//32934 +f 30221//32981 34498//32982 13389//32934 +f 34852//32983 34496//32936 34223//32935 +f 34498//32982 34852//32983 34223//32935 +f 13592//32984 24729//32937 34496//32936 +f 34852//32983 13592//32984 34496//32936 +f 12213//32985 34086//32938 24729//32937 +f 13592//32984 12213//32985 24729//32937 +f 12371//32986 34744//32939 34086//32938 +f 12213//32985 12371//32986 34086//32938 +f 34083//32987 34337//22703 34744//32939 +f 12371//32986 34083//32987 34744//32939 +f 35801//13859 35693//3020 35647//6142 +f 34083//32987 32568//19257 34337//22703 +f 22523//15460 34194//504 33237//11869 +f 25838//18769 25839//27616 25980//27618 +f 31329//23718 31330//19606 31396//19608 +f 32242//13207 32241//13209 32141//5581 +f 31524//32734 31611//32799 31523//32988 +f 33387//21986 33386//32989 33277//21987 +f 31247//32795 31312//32568 31246//32750 +f 31379//31911 31378//32655 31311//32749 +f 32327//32040 32430//31899 32326//32645 +f 31443//15607 31515//26875 31442//32602 +f 31698//32623 31798//32621 31697//31212 +f 33195//20854 33194//31565 33089//20855 +f 34019//32245 34155//31772 34018//15330 +f 34293//31771 34292//3611 34154//15331 +f 31701//24123 31801//31743 31700//31745 +f 31798//32621 31904//29599 31797//32754 +f 33398//31992 33397//22104 33288//32945 +f 33289//31993 33398//31992 33288//32945 +f 32905//27635 33013//30457 32904//31888 +f 33119//30456 33118//32251 33012//31881 +f 31143//6417 31206//32990 31142//32285 +f 33013//30457 33119//30456 33012//31881 +f 31206//32990 31270//32991 31205//32299 +f 31270//32991 31269//32355 31205//32299 +f 32973//32021 32972//32947 32864//20207 +f 31335//32992 31334//32301 31269//32355 +f 19049//3039 19050//21527 2144//15992 +f 23239//6048 28250//21734 27644//21733 +f 34976//32993 35129//32949 33465//22586 +f 34340//18510 34976//32993 33465//22586 +f 34976//32993 13396//32994 19028//32950 +f 35129//32949 34976//32993 19028//32950 +f 33819//32995 33571//32951 19028//32950 +f 13396//32994 33819//32995 19028//32950 +f 33562//32996 33462//32952 33571//32951 +f 33819//32995 33562//32996 33571//32951 +f 33706//32997 33585//32953 33462//32952 +f 33562//32996 33706//32997 33462//32952 +f 34622//32998 11949//32954 33585//32953 +f 33706//32997 34622//32998 33585//32953 +f 34988//32999 27264//32955 11949//32954 +f 34622//32998 34988//32999 11949//32954 +f 13290//33000 11969//32956 27264//32955 +f 34988//32999 13290//33000 27264//32955 +f 13290//33000 19350//33001 34108//32957 +f 11969//32956 13290//33000 34108//32957 +f 34725//33002 34624//32958 34108//32957 +f 19350//33001 34725//33002 34108//32957 +f 34211//33003 10578//32959 34624//32958 +f 34725//33002 34211//33003 34624//32958 +f 34615//22911 33804//21394 10578//32959 +f 34211//33003 34615//22911 10578//32959 +f 17325//15049 17326//32876 17403//15050 +f 13315//7372 13401//14223 35424//11028 +f 33884//32817 33883//31260 33749//31797 +f 21940//18856 22035//6407 21939//14513 +f 35087//31574 35086//31576 34957//15328 +f 35216//31575 35215//32948 35086//31576 +f 33642//2721 33641//32472 33522//32148 +f 31611//32799 31610//32732 31523//32988 +f 33630//31937 33629//32962 33510//32944 +f 33511//31940 33630//31937 33510//32944 +f 32793//27386 32905//27635 32792//31887 +f 33757//31936 33756//32912 33629//32962 +f 33646//32325 33773//32326 33772//33004 +f 32672//31650 32793//27386 32671//32529 +f 34460//31505 34459//31509 34321//32105 +f 33645//33005 33646//32325 33772//33004 +f 33516//31542 33515//31534 33402//31314 +f 32996//31637 33102//31482 32995//31573 +f 33271//32475 33380//32792 33270//31798 +f 33761//32004 33895//31652 33760//17443 +f 32975//4562 33081//17448 33080//32012 +f 32754//32118 32755//22154 32866//32020 +f 6941//8486 34720//14200 34721//31850 +f 32023//33006 32123//32528 32122//32289 +f 20442//26387 20441//26304 23813//25351 +f 17460//21792 19483//32664 17461//21845 +f 34229//28071 34367//33007 34366//28072 +f 23813//25351 20357//26113 20442//26387 +f 34367//33007 34504//33008 34503//32964 +f 34366//28072 34367//33007 34503//32964 +f 34504//33008 34632//33009 34631//32965 +f 34503//32964 34504//33008 34631//32965 +f 34632//33009 34760//33010 34759//32966 +f 34631//32965 34632//33009 34759//32966 +f 34760//33010 34889//33011 34888//32967 +f 34759//32966 34760//33010 34888//32967 +f 34889//33011 35018//33012 35017//32968 +f 34888//32967 34889//33011 35017//32968 +f 35018//33012 35147//33013 35146//32969 +f 35017//32968 35018//33012 35146//32969 +f 35147//33013 35276//33014 35275//32970 +f 35146//32969 35147//33013 35275//32970 +f 35276//33014 26690//33015 8229//32971 +f 35275//32970 35276//33014 8229//32971 +f 26690//33015 14070//33016 28739//32972 +f 8229//32971 26690//33015 28739//32972 +f 14070//33016 13618//33017 33239//32973 +f 28739//32972 14070//33016 33239//32973 +f 13618//33017 32680//33018 32354//32974 +f 33239//32973 13618//33017 32354//32974 +f 32680//33018 33695//33019 33685//32975 +f 32354//32974 32680//33018 33685//32975 +f 33695//33019 34996//33020 34987//32976 +f 33685//32975 33695//33019 34987//32976 +f 34996//33020 31953//33021 31952//32977 +f 34987//32976 34996//33020 31952//32977 +f 31953//33021 27403//33022 34059//32978 +f 31952//32977 31953//33021 34059//32978 +f 27403//33022 2950//33023 24214//32979 +f 34059//32978 27403//33022 24214//32979 +f 2950//33023 33343//33024 34477//32980 +f 24214//32979 2950//33023 34477//32980 +f 33343//33024 34073//33025 30221//32981 +f 34477//32980 33343//33024 30221//32981 +f 34339//33026 34498//32982 30221//32981 +f 34073//33025 34339//33026 30221//32981 +f 33693//33027 34852//32983 34498//32982 +f 34339//33026 33693//33027 34498//32982 +f 28615//33028 13592//32984 34852//32983 +f 33693//33027 28615//33028 34852//32983 +f 34344//33029 12213//32985 13592//32984 +f 28615//33028 34344//33029 13592//32984 +f 34872//33030 12371//32986 12213//32985 +f 34344//33029 34872//33030 12213//32985 +f 34858//33031 34083//32987 12371//32986 +f 34872//33030 34858//33031 12371//32986 +f 34335//33032 32568//19257 34083//32987 +f 34858//33031 34335//33032 34083//32987 +f 25837//18767 25838//18769 28343//28243 +f 34335//33032 34075//19258 32568//19257 +f 6415//3425 6542//11143 9327//17539 +f 28113//28273 28114//28293 28230//27915 +f 32314//32375 32417//32652 32313//32376 +f 31391//6524 31458//4191 31390//30139 +f 31312//32568 31379//31911 31311//32749 +f 31446//31910 31445//32653 31378//32655 +f 31399//10379 31398//10381 31331//31546 +f 31140//30925 31139//27173 31077//7950 +f 32347//17181 32346//26255 32244//17182 +f 32307//14868 32410//33033 32306//14869 +f 33750//32960 33749//31797 33622//29290 +f 33623//33034 33750//32960 33622//29290 +f 32960//30323 33066//32896 32959//32941 +f 33325//21879 33326//31647 33434//22234 +f 32753//32147 32865//32090 32864//20207 +f 32752//8114 32753//32147 32864//20207 +f 33224//30973 33223//31165 33118//32251 +f 31143//6417 31142//32285 31080//13397 +f 33527//32330 33646//32325 33645//33005 +f 33526//33035 33527//32330 33645//33005 +f 33305//32361 33414//32334 33304//33036 +f 33414//32334 33527//32330 33526//33035 +f 31270//32991 31335//32992 31269//32355 +f 33413//33037 33414//32334 33526//33035 +f 21067//23219 24848//17426 29944//15974 +f 31402//33038 31401//32302 31334//32301 +f 33587//18509 34976//32993 34340//18510 +f 3934//9379 3802//9376 3803//9377 +f 33587//18509 34342//22632 13396//32994 +f 34976//32993 33587//18509 13396//32994 +f 33954//33039 33819//32995 13396//32994 +f 34342//22632 33954//33039 13396//32994 +f 33560//33040 33562//32996 33819//32995 +f 33954//33039 33560//33040 33819//32995 +f 19558//33041 33706//32997 33562//32996 +f 33560//33040 19558//33041 33562//32996 +f 12479//33042 34622//32998 33706//32997 +f 19558//33041 12479//33042 33706//32997 +f 34753//33043 34988//32999 34622//32998 +f 12479//33042 34753//33043 34622//32998 +f 28075//33044 13290//33000 34988//32999 +f 34753//33043 28075//33044 34988//32999 +f 28075//33044 3864//33045 19350//33001 +f 13290//33000 28075//33044 19350//33001 +f 3864//33045 33341//33046 34725//33002 +f 19350//33001 3864//33045 34725//33002 +f 12918//33047 34211//33003 34725//33002 +f 33341//33046 12918//33047 34725//33002 +f 12918//33047 35237//31757 34615//22911 +f 34211//33003 12918//33047 34615//22911 +f 35389//2215 35898//13824 35527//10527 +f 35769//5621 35777//5622 35849//12100 +f 7519//9951 33335//33048 33336//14313 +f 35894//7274 35434//8723 35860//5272 +f 31818//20198 31817//20200 31717//32746 +f 7875//11473 9797//11474 10901//11561 +f 32530//32188 32639//32146 32638//8113 +f 32529//4145 32530//32188 32638//8113 +f 32638//8113 32639//32146 32752//8114 +f 32639//32146 32753//32147 32752//8114 +f 33902//32523 33901//31806 33767//31822 +f 33013//30457 33012//31881 32904//31888 +f 33414//32334 33413//33037 33304//33036 +f 34042//32309 34041//32918 33906//32963 +f 33523//17837 33522//32148 33409//32274 +f 34686//32859 34814//31677 34685//23605 +f 32022//32291 32023//33006 32122//32289 +f 33199//33049 33200//32360 33304//33036 +f 34322//31503 34321//32105 34183//32104 +f 34569//31644 34568//31717 34431//31645 +f 34047//33050 34183//32104 34046//31728 +f 32407//32791 32406//31781 32303//16297 +f 34184//31501 34322//31503 34183//32104 +f 32099//17692 32199//4568 32098//16118 +f 21651//14120 35016//32921 35144//26301 +f 34092//17293 34230//33051 34229//28071 +f 34091//17291 34092//17293 34229//28071 +f 34230//33051 34368//33052 34367//33007 +f 34229//28071 34230//33051 34367//33007 +f 34368//33052 34505//33053 34504//33008 +f 34367//33007 34368//33052 34504//33008 +f 34505//33053 34633//33054 34632//33009 +f 34504//33008 34505//33053 34632//33009 +f 34633//33054 34761//33055 34760//33010 +f 34632//33009 34633//33054 34760//33010 +f 34761//33055 34890//33056 34889//33011 +f 34760//33010 34761//33055 34889//33011 +f 34890//33056 35019//33057 35018//33012 +f 34889//33011 34890//33056 35018//33012 +f 35019//33057 35148//33058 35147//33013 +f 35018//33012 35019//33057 35147//33013 +f 35148//33058 35277//33059 35276//33014 +f 35147//33013 35148//33058 35276//33014 +f 35277//33059 12654//33060 26690//33015 +f 35276//33014 35277//33059 26690//33015 +f 12654//33060 13979//33061 14070//33016 +f 26690//33015 12654//33060 14070//33016 +f 13979//33061 10717//33062 13618//33017 +f 14070//33016 13979//33061 13618//33017 +f 10717//33062 33128//33063 32680//33018 +f 13618//33017 10717//33062 32680//33018 +f 33128//33063 33696//33064 33695//33019 +f 32680//33018 33128//33063 33695//33019 +f 33696//33064 34998//33065 34996//33020 +f 33695//33019 33696//33064 34996//33020 +f 34998//33065 34908//33066 31953//33021 +f 34996//33020 34998//33065 31953//33021 +f 34908//33066 22737//33067 27403//33022 +f 31953//33021 34908//33066 27403//33022 +f 22737//33067 34863//33068 2950//33023 +f 27403//33022 22737//33067 2950//33023 +f 34863//33068 34087//33069 33343//33024 +f 2950//33023 34863//33068 33343//33024 +f 34087//33069 33971//33070 34073//33025 +f 33343//33024 34087//33069 34073//33025 +f 14072//33071 34339//33026 34073//33025 +f 33971//33070 14072//33071 34073//33025 +f 29949//33072 33693//33027 34339//33026 +f 14072//33071 29949//33072 34339//33026 +f 34750//33073 28615//33028 33693//33027 +f 29949//33072 34750//33073 33693//33027 +f 30775//33074 34344//33029 28615//33028 +f 34750//33073 30775//33074 28615//33028 +f 35243//33075 34872//33030 34344//33029 +f 30775//33074 35243//33075 34344//33029 +f 29284//33076 34858//33031 34872//33030 +f 35243//33075 29284//33076 34872//33030 +f 34731//17553 34335//33032 34858//33031 +f 29284//33076 34731//17553 34858//33031 +f 34074//13617 34075//19258 34335//33032 +f 34731//17553 34074//13617 34335//33032 +f 17852//32825 28876//21287 33129//33077 +f 6284//2833 6155//2636 6156//2831 +f 34949//32668 34948//32796 34819//32669 +f 32857//20845 32965//32250 32856//17814 +f 31379//31911 31446//31910 31378//32655 +f 31518//32671 31517//32659 31445//32653 +f 34011//32871 34010//14640 33875//30921 +f 32410//33033 32409//29339 32306//14869 +f 31128//21216 31129//32035 31191//32398 +f 31129//32035 31192//32057 31191//32398 +f 33623//33034 33622//29290 33503//14221 +f 33504//21352 33623//33034 33503//14221 +f 33435//31646 33548//4361 33547//10115 +f 31718//31560 31818//20198 31717//32746 +f 32220//27270 32221//32269 32321//28684 +f 32322//32226 32425//32224 32424//24615 +f 31206//32990 31205//32299 31142//32285 +f 31335//32992 31402//33038 31334//32301 +f 33095//32380 33200//32360 33094//33078 +f 33200//32360 33305//32361 33304//33036 +f 34459//31509 34458//31700 34320//31699 +f 33517//31262 33636//31977 33516//31542 +f 33200//32360 33199//33049 33094//33078 +f 34184//31501 34183//32104 34047//33050 +f 33095//32380 33094//33078 32988//33079 +f 32989//32384 33095//32380 32988//33079 +f 31899//23087 31898//1673 31792//17551 +f 7130//14963 7026//14962 7027//15003 +f 34065//22233 34626//22655 4234//20292 +f 4234//20292 34626//22655 34848//22654 +f 34078//33080 33954//33039 34342//22632 +f 34216//22631 34078//33080 34342//22632 +f 34202//33081 33560//33040 33954//33039 +f 34078//33080 34202//33081 33954//33039 +f 13704//33082 19558//33041 33560//33040 +f 34202//33081 13704//33082 33560//33040 +f 35261//33083 12479//33042 19558//33041 +f 13704//33082 35261//33083 19558//33041 +f 34056//33084 34753//33043 12479//33042 +f 35261//33083 34056//33084 12479//33042 +f 34986//33085 28075//33044 34753//33043 +f 34056//33084 34986//33085 34753//33043 +f 34986//33085 12935//33086 3864//33045 +f 28075//33044 34986//33085 3864//33045 +f 34779//33087 33341//33046 3864//33045 +f 12935//33086 34779//33087 3864//33045 +f 34779//33087 34359//33088 12918//33047 +f 33341//33046 34779//33087 12918//33047 +f 34359//33088 34345//33089 35237//31757 +f 12918//33047 34359//33088 35237//31757 +f 34626//22655 30213//24470 35237//31757 +f 34345//33089 34626//22655 35237//31757 +f 5757//1587 14439//18465 3732//1585 +f 35731//4960 12842//2225 35878//6171 +f 7173//14733 33543//15069 33430//22480 +f 1153//4845 5194//6249 4527//5400 +f 32321//28684 32322//32226 32424//24615 +f 32425//32224 32530//32188 32529//4145 +f 31469//33090 31541//32236 31468//32303 +f 31628//31519 31627//32253 31540//32306 +f 32769//32383 32881//32385 32768//33091 +f 32905//27635 32904//31888 32792//31887 +f 34581//32007 34580//31929 34443//31833 +f 32989//32384 32988//33079 32880//33092 +f 34168//31984 34306//31985 34167//32151 +f 34048//31499 34184//31501 34047//33050 +f 34709//31562 34708//31564 34580//31929 +f 33912//33093 34047//33050 33911//31731 +f 32881//32385 32880//33092 32768//33091 +f 34444//32008 34581//32007 34443//31833 +f 10478//11250 10738//11251 7685//11325 +f 33380//32792 33493//32755 33379//32203 +f 33957//26217 34093//33094 34092//17293 +f 6935//15225 34844//15724 6936//15255 +f 34093//33094 34231//33095 34230//33051 +f 34092//17293 34093//33094 34230//33051 +f 34231//33095 34369//33096 34368//33052 +f 34230//33051 34231//33095 34368//33052 +f 34369//33096 34506//33097 34505//33053 +f 34368//33052 34369//33096 34505//33053 +f 34506//33097 34634//33098 34633//33054 +f 34505//33053 34506//33097 34633//33054 +f 34634//33098 34762//33099 34761//33055 +f 34633//33054 34634//33098 34761//33055 +f 34762//33099 34891//33100 34890//33056 +f 34761//33055 34762//33099 34890//33056 +f 34891//33100 35020//33101 35019//33057 +f 34890//33056 34891//33100 35019//33057 +f 35020//33101 35149//33102 35148//33058 +f 35019//33057 35020//33101 35148//33058 +f 35149//33102 35278//33103 35277//33059 +f 35148//33058 35149//33102 35277//33059 +f 35278//33103 12743//33104 12654//33060 +f 35277//33059 35278//33103 12654//33060 +f 12743//33104 13194//33105 13979//33061 +f 12654//33060 12743//33104 13979//33061 +f 13194//33105 13104//33106 10717//33062 +f 13979//33061 13194//33105 10717//33062 +f 13104//33106 33137//33107 33128//33063 +f 10717//33062 13104//33106 33128//33063 +f 33137//33107 33697//33108 33696//33064 +f 33128//33063 33137//33107 33696//33064 +f 33697//33108 34999//33109 34998//33065 +f 33696//33064 33697//33108 34998//33065 +f 34999//33109 35265//33110 34908//33066 +f 34998//33065 34999//33109 34908//33066 +f 35265//33110 5560//33111 22737//33067 +f 34908//33066 35265//33110 22737//33067 +f 5560//33111 13114//33112 34863//33068 +f 22737//33067 5560//33111 34863//33068 +f 13114//33112 33678//33113 34087//33069 +f 34863//33068 13114//33112 34087//33069 +f 33678//33113 19029//33114 33971//33070 +f 34087//33069 33678//33113 33971//33070 +f 19029//33114 12298//33115 14072//33071 +f 33971//33070 19029//33114 14072//33071 +f 12739//33116 29949//33072 14072//33071 +f 12298//33115 12739//33116 14072//33071 +f 34070//33117 34750//33073 29949//33072 +f 12739//33116 34070//33117 29949//33072 +f 34385//33118 30775//33074 34750//33073 +f 34070//33117 34385//33118 34750//33073 +f 33344//33119 35243//33075 30775//33074 +f 34385//33118 33344//33119 30775//33074 +f 29218//33120 29284//33076 35243//33075 +f 33344//33119 29218//33120 35243//33075 +f 23490//4689 34731//17553 29284//33076 +f 29218//33120 23490//4689 29284//33076 +f 25144//27913 28230//27915 25283//27742 +f 33347//3427 4953//17633 3539//16281 +f 35859//16532 35827//16533 35901//6172 +f 6932//15146 6931//15118 35098//13760 +f 34690//33121 34689//31326 34561//31325 +f 31309//31673 31308//28374 31243//32447 +f 31446//31910 31518//32671 31445//32653 +f 31605//31746 31604//32660 31517//32659 +f 392//21070 28948//32663 13128//32666 +f 12384//27027 392//21070 13128//32666 +f 32737//32579 32849//32230 32736//32322 +f 32208//32059 32309//32575 32207//32060 +f 33504//21352 33503//14221 33390//14220 +f 33391//21353 33504//21352 33390//14220 +f 33196//28966 33195//20854 33090//20853 +f 33196//28966 33301//14718 33195//20854 +f 32120//23126 32121//32288 32220//27270 +f 32221//32269 32322//32226 32321//28684 +f 31469//33090 31468//32303 31401//32302 +f 31723//32598 31722//32217 31627//32253 +f 31729//33122 31730//32421 31829//33123 +f 31830//32389 31928//32471 31829//33123 +f 33699//31210 28581//17478 33700//17480 +f 34216//22631 6412//3046 34354//14553 +f 32678//33124 32677//32216 32564//13468 +f 32565//13467 32678//33124 32564//13468 +f 33913//31497 34048//31499 33912//33093 +f 32921//22184 17323//12644 32807//12643 +f 35881//3550 35835//3551 35366//6549 +f 31043//13943 31042//27214 30981//22338 +f 24064//24783 20200//24785 21764//26292 +f 33454//33125 34078//33080 34216//22631 +f 34354//14553 33454//33125 34216//22631 +f 27405//33126 34202//33081 34078//33080 +f 33454//33125 27405//33126 34078//33080 +f 32569//33127 13704//33082 34202//33081 +f 27405//33126 32569//33127 34202//33081 +f 33792//33128 35261//33083 13704//33082 +f 32569//33127 33792//33128 13704//33082 +f 35226//33129 34056//33084 35261//33083 +f 33792//33128 35226//33129 35261//33083 +f 29268//33130 34986//33085 34056//33084 +f 35226//33129 29268//33130 34056//33084 +f 31208//33131 12935//33086 34986//33085 +f 29268//33130 31208//33131 34986//33085 +f 31750//33132 34779//33087 12935//33086 +f 31208//33131 31750//33132 12935//33086 +f 31750//33132 29689//33133 34359//33088 +f 34779//33087 31750//33132 34359//33088 +f 29689//33133 34346//33134 34345//33089 +f 34359//33088 29689//33133 34345//33089 +f 34346//33134 310//22653 34626//22655 +f 34345//33089 34346//33134 34626//22655 +f 12842//2225 35532//12648 22836//14268 +f 35878//6171 12842//2225 22836//14268 +f 29131//21176 23417//21175 30478//28174 +f 17408//22340 17407//22257 33243//22201 +f 32021//32290 32121//32288 32120//23126 +f 32424//24615 32425//32224 32529//4145 +f 31402//33038 31469//33090 31401//32302 +f 31541//32236 31628//31519 31540//32306 +f 31730//32421 31830//32389 31829//33123 +f 32881//32385 32989//32384 32880//33092 +f 32799//33135 32798//32240 32677//32216 +f 32678//33124 32799//33135 32677//32216 +f 32462//1075 32571//33136 32570//21343 +f 35096//32047 35097//13759 6929//15088 +f 32571//33136 32685//21341 32570//21343 +f 8017//11089 31853//11175 9061//11174 +f 32911//33137 32910//32247 32798//32240 +f 32799//33135 32911//33137 32798//32240 +f 31649//15072 31648//32646 31561//15073 +f 31744//33138 31743//32693 31648//32646 +f 19744//21832 18701//32715 29403//21910 +f 33823//20841 33958//33139 33957//26217 +f 17272//22758 17336//22680 33357//26112 +f 33958//33139 34094//33140 34093//33094 +f 33957//26217 33958//33139 34093//33094 +f 34094//33140 34232//33141 34231//33095 +f 34093//33094 34094//33140 34231//33095 +f 34232//33141 34370//33142 34369//33096 +f 34231//33095 34232//33141 34369//33096 +f 34370//33142 34507//33143 34506//33097 +f 34369//33096 34370//33142 34506//33097 +f 34507//33143 34635//33144 34634//33098 +f 34506//33097 34507//33143 34634//33098 +f 34635//33144 34763//33145 34762//33099 +f 34634//33098 34635//33144 34762//33099 +f 34763//33145 34892//33146 34891//33100 +f 34762//33099 34763//33145 34891//33100 +f 34892//33146 35021//33147 35020//33101 +f 34891//33100 34892//33146 35020//33101 +f 35021//33147 35150//33148 35149//33102 +f 35020//33101 35021//33147 35149//33102 +f 35150//33148 35279//33149 35278//33103 +f 35149//33102 35150//33148 35278//33103 +f 35279//33149 12925//33150 12743//33104 +f 35278//33103 35279//33149 12743//33104 +f 12925//33150 11706//33151 13194//33105 +f 12743//33104 12925//33150 13194//33105 +f 11706//33151 13198//33152 13104//33106 +f 13194//33105 11706//33151 13104//33106 +f 33241//33153 33137//33107 13104//33106 +f 13198//33152 33241//33153 13104//33106 +f 33241//33153 33703//33154 33697//33108 +f 33137//33107 33241//33153 33697//33108 +f 33703//33154 35004//33155 34999//33109 +f 33697//33108 33703//33154 34999//33109 +f 35004//33155 35328//33156 35265//33110 +f 34999//33109 35004//33155 35265//33110 +f 35328//33156 26687//33157 5560//33111 +f 35265//33110 35328//33156 5560//33111 +f 26687//33157 29809//33158 13114//33112 +f 5560//33111 26687//33157 13114//33112 +f 29809//33158 33924//33159 33678//33113 +f 13114//33112 29809//33158 33678//33113 +f 33924//33159 21645//33160 19029//33114 +f 33678//33113 33924//33159 19029//33114 +f 21645//33160 34602//33161 12298//33115 +f 19029//33114 21645//33160 12298//33115 +f 18870//33162 12739//33116 12298//33115 +f 34602//33161 18870//33162 12298//33115 +f 34474//33163 34070//33117 12739//33116 +f 18870//33162 34474//33163 12739//33116 +f 13118//33164 34385//33118 34070//33117 +f 34474//33163 13118//33164 34070//33117 +f 34732//33165 33344//33119 34385//33118 +f 13118//33164 34732//33165 34385//33118 +f 12923//22303 29218//33120 33344//33119 +f 34732//33165 12923//22303 33344//33119 +f 34728//22041 23490//4689 29218//33120 +f 12923//22303 34728//22041 29218//33120 +f 5989//7448 5858//8954 16317//19906 +f 35892//8507 35905//9308 35497//6111 +f 30994//17231 31055//32699 30993//32507 +f 21192//26395 21279//26396 21278//21098 +f 31605//31746 31700//31745 31604//32660 +f 33749//31797 33748//24271 33621//24270 +f 31518//32671 31605//31746 31517//32659 +f 31700//31745 31699//32657 31604//32660 +f 6925//14927 35222//32002 35223//14960 +f 6914//116 30607//14386 7014//114 +f 32213//32615 32212//32377 32112//32648 +f 34947//31897 34946//29270 34817//30668 +f 33177//32600 33176//33166 33071//32696 +f 33072//32239 33177//32600 33071//32696 +f 32863//20208 32971//31018 32862//32942 +f 32875//4306 32874//32049 32762//32277 +f 32020//26716 32021//32290 32120//23126 +f 32121//32288 32221//32269 32220//27270 +f 31628//31519 31723//32598 31627//32253 +f 31823//32599 31822//32323 31722//32217 +f 31548//32439 31635//32424 31547//33167 +f 31730//32421 31729//33122 31634//33168 +f 31649//15072 31744//33138 31648//32646 +f 31844//33169 31843//32694 31743//32693 +f 31744//33138 31844//33169 31743//32693 +f 31942//33170 31941//32695 31843//32694 +f 31844//33169 31942//33170 31843//32694 +f 32039//33171 32038//32737 31941//32695 +f 17531//6289 4379//21303 18000//14018 +f 15789//290 19113//8530 1387//14330 +f 33692//14554 33454//33125 34354//14553 +f 4234//20292 34848//22654 4367//2147 +f 34743//33172 27405//33126 33454//33125 +f 33692//14554 34743//33172 33454//33125 +f 17377//33173 32569//33127 27405//33126 +f 34743//33172 17377//33173 27405//33126 +f 33801//33174 33792//33128 32569//33127 +f 17377//33173 33801//33174 32569//33127 +f 14071//33175 35226//33129 33792//33128 +f 33801//33174 14071//33175 33792//33128 +f 13478//33176 29268//33130 35226//33129 +f 14071//33175 13478//33176 35226//33129 +f 34218//33177 31208//33131 29268//33130 +f 13478//33176 34218//33177 29268//33130 +f 33947//33178 31750//33132 31208//33131 +f 34218//33177 33947//33178 31208//33131 +f 33947//33178 34481//33179 29689//33133 +f 31750//33132 33947//33178 29689//33133 +f 34481//33179 27029//33180 34346//33134 +f 29689//33133 34481//33179 34346//33134 +f 27029//33180 11790//2529 310//22653 +f 34346//33134 27029//33180 310//22653 +f 7098//12446 6994//6763 7099//12555 +f 310//22653 11790//2529 34848//22654 +f 31813//24506 31814//32294 31919//24507 +f 33243//22201 33244//33181 17331//22372 +f 32648//32278 32762//32277 32647//32311 +f 31920//32292 32021//32290 32020//26716 +f 31548//32439 31547//33167 31475//7665 +f 31541//32236 31540//32306 31468//32303 +f 31942//33170 32039//33171 31941//32695 +f 31476//6271 31548//32439 31475//7665 +f 32136//33182 32135//32738 32038//32737 +f 33030//22183 33031//33183 17326//32876 +f 32154//32320 32255//33184 32254//31013 +f 32153//31012 32154//32320 32254//31013 +f 32255//33184 32358//33185 32357//668 +f 32254//31013 32255//33184 32357//668 +f 32358//33185 32463//33186 32462//1075 +f 32357//668 32358//33185 32462//1075 +f 32463//33186 32572//33187 32571//33136 +f 32462//1075 32463//33186 32571//33136 +f 32572//33187 32686//22001 32685//21341 +f 32571//33136 32572//33187 32685//21341 +f 17326//32876 17325//15049 33030//22183 +f 18461//21518 20884//20581 18366//7273 +f 17274//22030 17342//22027 26967//22028 +f 32039//33171 32136//33182 32038//32737 +f 32236//33188 32235//32739 32135//32738 +f 32136//33182 32236//33188 32135//32738 +f 13113//10948 5564//16690 35604//7478 +f 17965//4690 18925//21964 18247//16095 +f 33824//5628 33959//33189 33958//33139 +f 33823//20841 33824//5628 33958//33139 +f 33959//33189 34095//33190 34094//33140 +f 33958//33139 33959//33189 34094//33140 +f 34095//33190 34233//33191 34232//33141 +f 34094//33140 34095//33190 34232//33141 +f 34233//33191 34371//33192 34370//33142 +f 34232//33141 34233//33191 34370//33142 +f 34371//33192 34508//33193 34507//33143 +f 34370//33142 34371//33192 34507//33143 +f 34508//33193 34636//33194 34635//33144 +f 34507//33143 34508//33193 34635//33144 +f 34636//33194 34764//33195 34763//33145 +f 34635//33144 34636//33194 34763//33145 +f 34764//33195 34893//33196 34892//33146 +f 34763//33145 34764//33195 34892//33146 +f 34893//33196 35022//33197 35021//33147 +f 34892//33146 34893//33196 35021//33147 +f 35022//33197 35151//33198 35150//33148 +f 35021//33147 35022//33197 35150//33148 +f 35151//33198 35280//33199 35279//33149 +f 35150//33148 35151//33198 35279//33149 +f 35280//33199 13019//33200 12925//33150 +f 35279//33149 35280//33199 12925//33150 +f 13019//33200 29418//33201 11706//33151 +f 12925//33150 13019//33200 11706//33151 +f 29418//33201 2545//33202 13198//33152 +f 11706//33151 29418//33201 13198//33152 +f 33661//33203 33241//33153 13198//33152 +f 2545//33202 33661//33203 13198//33152 +f 33661//33203 33708//33204 33703//33154 +f 33241//33153 33661//33203 33703//33154 +f 33708//33204 35005//33205 35004//33155 +f 33703//33154 33708//33204 35004//33155 +f 35005//33205 19342//33206 35328//33156 +f 35004//33155 35005//33205 35328//33156 +f 19342//33206 19357//33207 26687//33157 +f 35328//33156 19342//33206 26687//33157 +f 19357//33207 11641//33208 29809//33158 +f 26687//33157 19357//33207 29809//33158 +f 11641//33208 33922//33209 33924//33159 +f 29809//33158 11641//33208 33924//33159 +f 33922//33209 34220//33210 21645//33160 +f 33924//33159 33922//33209 21645//33160 +f 34220//33210 33968//33211 34602//33161 +f 21645//33160 34220//33210 34602//33161 +f 35248//33212 18870//33162 34602//33161 +f 33968//33211 35248//33212 34602//33161 +f 35195//33213 34474//33163 18870//33162 +f 35248//33212 35195//33213 18870//33162 +f 34883//33214 13118//33164 34474//33163 +f 35195//33213 34883//33214 34474//33163 +f 33815//33215 34732//33165 13118//33164 +f 34883//33214 33815//33215 13118//33164 +f 34469//22304 12923//22303 34732//33165 +f 33815//33215 34469//22304 34732//33165 +f 35270//32782 35141//32053 35271//32752 +f 35271//32752 21743//28516 21744//26302 +f 22119//26559 22118//26484 35136//2067 +f 21642//26314 21549//26313 21550//28073 +f 11434//16953 33786//16955 33659//17093 +f 7033//15200 6934//15199 6935//15225 +f 31800//31744 31799//32622 31699//32657 +f 31700//31745 31800//31744 31699//32657 +f 35335//25577 35334//32787 35205//32786 +f 35206//32614 35335//25577 35205//32786 +f 35335//25577 12384//27027 35334//32787 +f 12384//27027 13128//32666 35334//32787 +f 31912//32741 32013//33216 31911//32798 +f 31010//15863 31009//15865 30951//18792 +f 33282//33217 33281//17441 33176//33166 +f 33177//32600 33282//33217 33176//33166 +f 33419//31866 33532//29728 33531//29727 +f 31008//20369 31007//32031 30949//32029 +f 31325//16091 31326//32287 31392//6525 +f 31393//32242 31460//32241 31459//15687 +f 31723//32598 31823//32599 31722//32217 +f 31392//6525 31393//32242 31459//15687 +f 31635//32424 31730//32421 31634//33168 +f 32539//25074 32538//32255 32433//32254 +f 32338//33218 32337//32777 32235//32739 +f 32454//31805 32453//31615 32349//32498 +f 32236//33188 32338//33218 32235//32739 +f 32442//33219 32441//32778 32337//32777 +f 32338//33218 32442//33219 32337//32777 +f 33293//24105 33292//6325 33187//20194 +f 32248//31264 32350//31803 32247//24523 +f 34971//15257 6934//15199 6933//15171 +f 21972//24434 33686//13058 21502//186 +f 34217//33220 34743//33172 33692//14554 +f 33820//17538 34217//33220 33692//14554 +f 6656//33221 17377//33173 34743//33172 +f 34217//33220 6656//33221 34743//33172 +f 33235//33222 33801//33174 17377//33173 +f 6656//33221 33235//33222 17377//33173 +f 34607//33223 14071//33175 33801//33174 +f 33235//33222 34607//33223 33801//33174 +f 35315//33224 13478//33176 14071//33175 +f 34607//33223 35315//33224 14071//33175 +f 33950//33225 34218//33177 13478//33176 +f 35315//33224 33950//33225 13478//33176 +f 33236//33226 33947//33178 34218//33177 +f 33950//33225 33236//33226 34218//33177 +f 33236//33226 33972//33227 34481//33179 +f 33947//33178 33236//33226 34481//33179 +f 33972//33227 13216//33228 27029//33180 +f 34481//33179 33972//33227 27029//33180 +f 13216//33228 13217//3066 190//2530 +f 27029//33180 13216//33228 11790//2529 +f 7524//15783 7525//11397 7639//10726 +f 31520//23258 31519//23259 31447//31909 +f 31814//32294 31920//32292 31919//24507 +f 31919//24507 31920//32292 32020//26716 +f 32539//25074 32648//32278 32538//32255 +f 32874//32049 32873//32442 32761//32441 +f 13113//10948 11801//14449 11717//10949 +f 31635//32424 31634//33168 31547//33167 +f 32549//33229 32548//32779 32441//32778 +f 32442//33219 32549//33229 32441//32778 +f 17326//32876 17404//22196 17403//15050 +f 32055//25188 32155//33230 32154//32320 +f 3095//5783 3234//5626 3094//5625 +f 32155//33230 32256//33231 32255//33184 +f 32154//32320 32155//33230 32255//33184 +f 32256//33231 32359//33232 32358//33185 +f 32255//33184 32256//33231 32358//33185 +f 32359//33232 32464//33233 32463//33186 +f 32358//33185 32359//33232 32463//33186 +f 32464//33233 32573//33234 32572//33187 +f 32463//33186 32464//33233 32572//33187 +f 32573//33234 32687//33235 32686//22001 +f 32572//33187 32573//33234 32686//22001 +f 32687//33235 32807//12643 32806//6349 +f 32686//22001 32687//33235 32806//6349 +f 32723//12552 32724//9254 32835//21477 +f 32806//6349 32807//12643 32919//6347 +f 32864//20207 32972//32947 32863//20208 +f 115//5160 34844//15724 34845//21027 +f 32662//33236 32661//32812 32548//32779 +f 32549//33229 32662//33236 32548//32779 +f 32783//33237 32782//32813 32661//32812 +f 32662//33236 32783//33237 32661//32812 +f 32895//33238 32894//32814 32782//32813 +f 32783//33237 32895//33238 32782//32813 +f 33825//5627 28585//4615 28584//4614 +f 20884//20581 18461//21518 20964//17603 +f 33825//5627 33960//33239 33959//33189 +f 33824//5628 33825//5627 33959//33189 +f 33960//33239 34096//33240 34095//33190 +f 33959//33189 33960//33239 34095//33190 +f 34096//33240 34234//33241 34233//33191 +f 34095//33190 34096//33240 34233//33191 +f 34234//33241 34372//33242 34371//33192 +f 34233//33191 34234//33241 34371//33192 +f 34372//33242 34509//33243 34508//33193 +f 34371//33192 34372//33242 34508//33193 +f 34509//33243 34637//33244 34636//33194 +f 34508//33193 34509//33243 34636//33194 +f 34637//33244 34765//33245 34764//33195 +f 34636//33194 34637//33244 34764//33195 +f 34765//33245 34894//33246 34893//33196 +f 34764//33195 34765//33245 34893//33196 +f 34894//33246 35023//33247 35022//33197 +f 34893//33196 34894//33246 35022//33197 +f 35023//33247 35152//33248 35151//33198 +f 35022//33197 35023//33247 35151//33198 +f 35152//33248 35281//33249 35280//33199 +f 35151//33198 35152//33248 35280//33199 +f 35281//33249 13705//33250 13019//33200 +f 35280//33199 35281//33249 13019//33200 +f 13705//33250 19073//33251 29418//33201 +f 13019//33200 13705//33250 29418//33201 +f 19073//33251 12042//33252 2545//33202 +f 29418//33201 19073//33251 2545//33202 +f 12042//33252 33670//33253 33661//33203 +f 2545//33202 12042//33252 33661//33203 +f 33670//33253 33710//33254 33708//33204 +f 33661//33203 33670//33253 33708//33204 +f 33710//33254 35007//33255 35005//33205 +f 33708//33204 33710//33254 35005//33205 +f 35007//33255 31273//33256 19342//33206 +f 35005//33205 35007//33255 19342//33206 +f 31273//33256 27609//33257 19357//33207 +f 19342//33206 31273//33256 19357//33207 +f 27609//33257 13127//33258 11641//33208 +f 19357//33207 27609//33257 11641//33208 +f 13127//33258 34082//33259 33922//33209 +f 11641//33208 13127//33258 33922//33209 +f 34082//33259 34357//33260 34220//33210 +f 33922//33209 34082//33259 34220//33210 +f 34357//33260 33836//33261 33968//33211 +f 34220//33210 34357//33260 33968//33211 +f 33352//33262 35248//33212 33968//33211 +f 33836//33261 33352//33262 33968//33211 +f 34865//33263 35195//33213 35248//33212 +f 33352//33262 34865//33263 35248//33212 +f 34882//33264 34883//33214 35195//33213 +f 34865//33263 34882//33264 35195//33213 +f 34067//33265 33815//33215 34883//33214 +f 34882//33264 34067//33265 34883//33214 +f 32681//21286 34469//22304 33815//33215 +f 34067//33265 32681//21286 33815//33215 +f 33176//33166 33175//32697 33070//14317 +f 19483//32664 28948//32663 17384//5761 +f 33026//17540 9327//17539 33025//22884 +f 35334//32787 13128//32666 35333//4307 +f 31906//31751 31905//32620 31799//32622 +f 31800//31744 31906//31751 31799//32622 +f 35077//32522 35076//32700 34947//31897 +f 34948//32796 35077//32522 34947//31897 +f 35077//32522 35206//32614 35076//32700 +f 35206//32614 35205//32786 35076//32700 +f 31247//32795 31248//32794 31312//32568 +f 31380//32567 31379//31911 31312//32568 +f 30891//17006 30945//33266 30890//17005 +f 34947//31897 35076//32700 34946//29270 +f 33391//21353 33390//14220 33281//17441 +f 33282//33217 33391//21353 33281//17441 +f 33408//32149 33521//24431 33407//31541 +f 33640//24432 33767//31822 33639//31824 +f 31460//32241 31532//32268 31531//15431 +f 31459//15687 31460//32241 31531//15431 +f 33520//24433 33519//32313 33406//32395 +f 33407//31541 33520//24433 33406//32395 +f 32648//32278 32647//32311 32538//32255 +f 32762//32277 32874//32049 32761//32441 +f 35330//27807 27028//32054 35329//13977 +f 31726//250 31727//15825 31826//251 +f 33003//33267 33002//32841 32894//32814 +f 32895//33238 33003//33267 32894//32814 +f 33109//33268 33108//32842 33002//32841 +f 33003//33267 33109//33268 33002//32841 +f 17325//15049 17402//15048 17324//22118 +f 32142//15398 32242//13207 32141//5581 +f 26424//25186 32055//25188 12130//31059 +f 32352//16205 11654//5577 11578//5579 +f 18935//33269 34217//33220 33820//17538 +f 33026//17540 18935//33269 33820//17538 +f 13294//33270 6656//33221 34217//33220 +f 18935//33269 13294//33270 34217//33220 +f 33793//33271 33235//33222 6656//33221 +f 13294//33270 33793//33271 6656//33221 +f 34603//33272 34607//33223 33235//33222 +f 33793//33271 34603//33272 33235//33222 +f 30342//33273 35315//33224 34607//33223 +f 34603//33272 30342//33273 34607//33223 +f 34475//33274 33950//33225 35315//33224 +f 30342//33273 34475//33274 35315//33224 +f 34619//33275 33236//33226 33950//33225 +f 34475//33274 34619//33275 33950//33225 +f 34619//33275 32915//33276 33972//33227 +f 33236//33226 34619//33275 33972//33227 +f 32915//33276 13217//3066 13216//33228 +f 33972//33227 32915//33276 13216//33228 +f 7637//11861 7522//13870 7523//20011 +f 5552//24319 34060//24885 34851//32365 +f 31714//32296 31814//32294 31813//24506 +f 17361//21565 13709//15421 17293//16667 +f 33088//31566 33087//32444 32981//32443 +f 31713//15447 31714//32296 31813//24506 +f 31406//12308 31473//29320 31405//29322 +f 32762//32277 32761//32441 32647//32311 +f 33214//33277 33213//32843 33108//32842 +f 31055//32699 31056//32698 31117//32189 +f 33109//33268 33214//33277 33108//32842 +f 30535//27916 30533//1506 30400//30774 +f 32056//33278 32055//25188 31955//25187 +f 31956//30923 32056//33278 31955//25187 +f 32156//33279 32155//33230 32055//25188 +f 32056//33278 32156//33279 32055//25188 +f 32257//33280 32256//33231 32155//33230 +f 32156//33279 32257//33280 32155//33230 +f 32360//33281 32359//33232 32256//33231 +f 32257//33280 32360//33281 32256//33231 +f 32465//33282 32464//33233 32359//33232 +f 32360//33281 32465//33282 32359//33232 +f 32574//33283 32573//33234 32464//33233 +f 32465//33282 32574//33283 32464//33233 +f 32688//33284 32687//33235 32573//33234 +f 32574//33283 32688//33284 32573//33234 +f 32688//33284 32808//33285 32807//12643 +f 32687//33235 32688//33284 32807//12643 +f 8688//22080 33662//20197 18704//22079 +f 18704//22079 33662//20197 19896//21917 +f 34074//13617 19938//13616 34075//19258 +f 17458//20646 17457//20645 27028//32054 +f 17455//16003 17456//22034 17543//20770 +f 35197//2697 17453//21297 17452//2698 +f 33319//33286 33318//32844 33213//32843 +f 22495//22774 22594//25507 30202//27408 +f 33214//33277 33319//33286 33213//32843 +f 33428//33287 33427//32872 33318//32844 +f 21737//14218 21736//26400 34499//26481 +f 33319//33286 33428//33287 33318//32844 +f 33698//22694 33826//33288 33825//5627 +f 32675//31515 32674//31517 32561//31552 +f 33826//33288 33961//33289 33960//33239 +f 33825//5627 33826//33288 33960//33239 +f 33961//33289 34097//33290 34096//33240 +f 33960//33239 33961//33289 34096//33240 +f 34097//33290 34235//33291 34234//33241 +f 34096//33240 34097//33290 34234//33241 +f 34235//33291 34373//33292 34372//33242 +f 34234//33241 34235//33291 34372//33242 +f 34373//33292 34510//33293 34509//33243 +f 34372//33242 34373//33292 34509//33243 +f 34510//33293 34638//33294 34637//33244 +f 34509//33243 34510//33293 34637//33244 +f 34638//33294 34766//33295 34765//33245 +f 34637//33244 34638//33294 34765//33245 +f 34766//33295 34895//33296 34894//33246 +f 34765//33245 34766//33295 34894//33246 +f 34895//33296 35024//33297 35023//33247 +f 34894//33246 34895//33296 35023//33247 +f 35024//33297 35153//33298 35152//33248 +f 35023//33247 35024//33297 35152//33248 +f 35153//33298 35282//33299 35281//33249 +f 35152//33248 35153//33298 35281//33249 +f 35282//33299 13607//33300 13705//33250 +f 35281//33249 35282//33299 13705//33250 +f 13607//33300 70//33301 19073//33251 +f 13705//33250 13607//33300 19073//33251 +f 70//33301 11699//33302 12042//33252 +f 19073//33251 70//33301 12042//33252 +f 11699//33302 33939//33303 33670//33253 +f 12042//33252 11699//33302 33670//33253 +f 33939//33303 33787//33304 33710//33254 +f 33670//33253 33939//33303 33710//33254 +f 33787//33304 35008//33305 35007//33255 +f 33710//33254 33787//33304 35007//33255 +f 35008//33305 31652//33306 31273//33256 +f 35007//33255 35008//33305 31273//33256 +f 31652//33306 28462//33307 27609//33257 +f 31273//33256 31652//33306 27609//33257 +f 28462//33307 20864//33308 13127//33258 +f 27609//33257 28462//33307 13127//33258 +f 20864//33308 34867//33309 34082//33259 +f 13127//33258 20864//33308 34082//33259 +f 34867//33309 29693//33310 34357//33260 +f 34082//33259 34867//33309 34357//33260 +f 29693//33310 28990//33311 33836//33261 +f 34357//33260 29693//33310 33836//33261 +f 35252//33312 33352//33262 33836//33261 +f 28990//33311 35252//33312 33836//33261 +f 33665//33313 34865//33263 33352//33262 +f 35252//33312 33665//33313 33352//33262 +f 35244//33314 34882//33264 34865//33263 +f 33665//33313 35244//33314 34865//33263 +f 33129//33077 34067//33265 34882//33264 +f 35244//33314 33129//33077 34882//33264 +f 28876//21287 32681//21286 34067//33265 +f 33129//33077 28876//21287 34067//33265 +f 21743//28516 35271//32752 35141//32053 +f 35536//7014 35810//7013 35606//6316 +f 31120//32793 31121//30136 31183//30138 +f 13128//32666 13985//32665 35333//4307 +f 32007//31750 32006//32619 31905//32620 +f 31906//31751 32007//31750 31905//32620 +f 34948//32796 34947//31897 34818//31896 +f 34819//32669 34948//32796 34818//31896 +f 32740//21615 32852//30322 32739//32525 +f 32960//30323 32959//32941 32851//30324 +f 32205//14870 32306//14869 32204//32205 +f 32409//29339 32408//31721 32305//29340 +f 32966//31641 32965//32250 32857//20845 +f 32858//31630 32966//31641 32857//20845 +f 32966//31641 33072//32239 32965//32250 +f 33072//32239 33071//32696 32965//32250 +f 31330//19606 31331//31546 31397//19607 +f 31735//17691 31734//25477 31639//31795 +f 31532//32268 31619//32298 31618//15446 +f 31618//15446 31619//32298 31713//15447 +f 33193//31588 33298//31539 33192//32394 +f 33407//31541 33406//32395 33297//32445 +f 32203//31836 32202//16298 32102//31448 +f 34825//31917 34954//31597 34824//32705 +f 32016//32350 32116//32351 32015//31612 +f 32327//32040 32326//32645 32225//31869 +f 33541//9060 33540//22305 33427//32872 +f 33428//33287 33541//9060 33427//32872 +f 13121//15918 3099//6461 3098//6196 +f 4195//10898 27644//21733 30074//10899 +f 33026//17540 10724//11740 33351//11742 +f 34721//31850 6942//13396 6941//8486 +f 9176//11739 33707//11653 33351//11742 +f 33351//11742 18935//33269 33026//17540 +f 17285//20724 35300//22995 13222//22381 +f 33586//33315 13294//33270 18935//33269 +f 33351//11742 33586//33315 18935//33269 +f 35108//33316 33793//33271 13294//33270 +f 33586//33315 35108//33316 13294//33270 +f 34061//32565 34603//33272 33793//33271 +f 35108//33316 34061//32565 33793//33271 +f 28341//11253 30342//33273 34603//33272 +f 34061//32565 28341//11253 34603//33272 +f 34197//11252 34475//33274 30342//33273 +f 28341//11253 34197//11252 30342//33273 +f 29083//33317 34619//33275 34475//33274 +f 34197//11252 29083//33317 34475//33274 +f 34360//33318 32915//33276 34619//33275 +f 29083//33317 34360//33318 34619//33275 +f 34360//33318 25153//3067 13217//3066 +f 32915//33276 34360//33318 13217//3066 +f 21367//16872 33701//16874 21366//22581 +f 6394//2652 25153//3067 6544//2859 +f 31326//32287 31393//32242 31392//6525 +f 21195//5305 21281//21403 21194//26479 +f 32982//32048 32981//32443 32873//32442 +f 32982//32048 33088//31566 32981//32443 +f 33077//31017 33182//16935 33076//16937 +f 32410//33033 32515//32554 32409//29339 +f 32565//13467 11652//18211 11651//18213 +f 13625//14516 23734//16539 13626//13771 +f 19975//24908 31408//443 19976//24964 +f 30533//1506 30535//27916 25012//1504 +f 32057//33319 32056//33278 31956//30923 +f 31957//30924 32057//33319 31956//30923 +f 32157//33320 32156//33279 32056//33278 +f 32057//33319 32157//33320 32056//33278 +f 32258//33321 32257//33280 32156//33279 +f 32157//33320 32258//33321 32156//33279 +f 32361//33322 32360//33281 32257//33280 +f 32258//33321 32361//33322 32257//33280 +f 32466//33323 32465//33282 32360//33281 +f 32361//33322 32466//33323 32360//33281 +f 32575//33324 32574//33283 32465//33282 +f 32466//33323 32575//33324 32465//33282 +f 32689//33325 32688//33284 32574//33283 +f 32575//33324 32689//33325 32574//33283 +f 32689//33325 32809//33326 32808//33285 +f 32688//33284 32689//33325 32808//33285 +f 32809//33326 32922//28528 32921//22184 +f 32808//33285 32809//33326 32921//22184 +f 35420//12654 35463//2335 35452//2334 +f 13410//13295 13608//735 5561//2753 +f 35417//3312 22835//643 35562//608 +f 20894//8913 11924//32531 193//16944 +f 11487//10771 6889//10770 11430//16586 +f 32679//33327 32565//13467 11651//18213 +f 6887//16907 34191//32916 6889//10770 +f 33698//22694 28582//22693 33699//31210 +f 11488//11676 11430//16586 11431//16688 +f 28343//28243 25838//18769 25980//27618 +f 33699//31210 33827//33328 33826//33288 +f 33698//22694 33699//31210 33826//33288 +f 33827//33328 33962//33329 33961//33289 +f 33826//33288 33827//33328 33961//33289 +f 33962//33329 34098//33330 34097//33290 +f 33961//33289 33962//33329 34097//33290 +f 34098//33330 34236//33331 34235//33291 +f 34097//33290 34098//33330 34235//33291 +f 34236//33331 34374//33332 34373//33292 +f 34235//33291 34236//33331 34373//33292 +f 34374//33332 34511//33333 34510//33293 +f 34373//33292 34374//33332 34510//33293 +f 34511//33333 34639//33334 34638//33294 +f 34510//33293 34511//33333 34638//33294 +f 34639//33334 34767//33335 34766//33295 +f 34638//33294 34639//33334 34766//33295 +f 34767//33335 34896//33336 34895//33296 +f 34766//33295 34767//33335 34895//33296 +f 34896//33336 35025//33337 35024//33297 +f 34895//33296 34896//33336 35024//33297 +f 35025//33337 35154//33338 35153//33298 +f 35024//33297 35025//33337 35153//33298 +f 35154//33338 35283//33339 35282//33299 +f 35153//33298 35154//33338 35282//33299 +f 35283//33339 13606//33340 13607//33300 +f 35282//33299 35283//33339 13607//33300 +f 13606//33340 30741//33341 70//33301 +f 13607//33300 13606//33340 70//33301 +f 30741//33341 2493//33342 11699//33302 +f 70//33301 30741//33341 11699//33302 +f 2493//33342 33945//33343 33939//33303 +f 11699//33302 2493//33342 33939//33303 +f 33945//33343 33788//33344 33787//33304 +f 33939//33303 33945//33343 33787//33304 +f 33788//33344 35009//33345 35008//33305 +f 33787//33304 33788//33344 35008//33305 +f 35009//33345 31749//33346 31652//33306 +f 35008//33305 35009//33345 31652//33306 +f 31749//33346 34853//33347 28462//33307 +f 31652//33306 31749//33346 28462//33307 +f 34853//33347 35247//33348 20864//33308 +f 28462//33307 34853//33347 20864//33308 +f 35247//33348 35233//33349 34867//33309 +f 20864//33308 35247//33348 34867//33309 +f 35233//33349 34076//33350 29693//33310 +f 34867//33309 35233//33349 29693//33310 +f 34076//33350 27030//33351 28990//33311 +f 29693//33310 34076//33350 28990//33311 +f 35107//33352 35252//33312 28990//33311 +f 27030//33351 35107//33352 28990//33311 +f 34077//33353 33665//33313 35252//33312 +f 35107//33352 34077//33353 35252//33312 +f 33669//33354 35244//33314 33665//33313 +f 34077//33353 33669//33354 33665//33313 +f 33342//33355 33129//33077 35244//33314 +f 33669//33354 33342//33355 35244//33314 +f 33342//33355 17852//32825 33129//33077 +f 28876//21287 17852//32825 17528//21819 +f 17281//9374 35169//9373 17350//19779 +f 801//5438 682//5437 683//22181 +f 33741//19432 33740//30922 33613//32658 +f 18938//12513 35165//33356 18300//12514 +f 32107//32061 32106//32617 32006//32619 +f 32007//31750 32107//32061 32006//32619 +f 34691//27799 34690//33121 34562//32675 +f 34563//22661 34691//27799 34562//32675 +f 32517//33357 32516//33358 32411//32816 +f 32412//32815 32517//33357 32411//32816 +f 32746//32097 32745//20844 32631//17179 +f 32632//31880 32746//32097 32631//17179 +f 32746//32097 32858//31630 32745//20844 +f 32858//31630 32857//20845 32745//20844 +f 30950//18793 31008//20369 30949//32029 +f 31069//29006 31068//32033 31007//32031 +f 30950//18793 30949//32029 30895//16761 +f 30896//16760 30950//18793 30895//16761 +f 31531//15431 31532//32268 31618//15446 +f 31619//32298 31714//32296 31713//15447 +f 33193//31588 33192//32394 33087//32444 +f 33298//31539 33407//31541 33297//32445 +f 32350//31803 32349//32498 32247//24523 +f 31118//32190 31181//31723 31180//31722 +f 17400//6348 32919//6347 17401//22074 +f 33779//31495 33913//31497 33778//33359 +f 3230//5077 3229//4928 14069//5075 +f 33652//31493 33779//31495 33651//33360 +f 34048//31499 34047//33050 33912//33093 +f 33077//31017 33076//16937 32970//32571 +f 33295//31987 33404//31261 33294//31813 +f 31727//15825 31827//33361 31826//251 +f 32986//32555 32985//31924 32877//32797 +f 33707//11653 33586//33315 33351//11742 +f 34720//14200 6975//13117 34719//32393 +f 35124//11562 35108//33316 33586//33315 +f 33707//11653 35124//11562 33586//33315 +f 35229//14046 34061//32565 35108//33316 +f 35124//11562 35229//14046 35108//33316 +f 35229//14046 7685//11325 34061//32565 +f 28341//11253 7685//11325 10738//11251 +f 11264//11173 34197//11252 10738//11251 +f 19524//22124 35101//23084 19523//21974 +f 31853//11175 29083//33317 34197//11252 +f 6946//25587 6947//12184 7045//7931 +f 32682//32747 34360//33318 29083//33317 +f 31853//11175 32682//32747 29083//33317 +f 21935//1757 28349//32552 21936//1758 +f 34360//33318 32682//32747 25153//3067 +f 32144//2634 32244//17182 32143//30667 +f 19483//32664 17384//5761 17461//21845 +f 33766//31823 33765//32324 33638//32312 +f 31260//16090 31261//32286 31325//16091 +f 34587//15823 34586//32119 34449//22458 +f 32874//32049 32982//32048 32873//32442 +f 33019//33362 33018//32248 32910//32247 +f 32515//32554 32624//33363 32514//31719 +f 33913//31497 33912//33093 33778//33359 +f 31564//30809 31563//30195 26078//25831 +f 31958//33364 31957//30924 31856//22546 +f 31857//22542 31958//33364 31856//22546 +f 32058//33365 32057//33319 31957//30924 +f 31958//33364 32058//33365 31957//30924 +f 32158//33366 32157//33320 32057//33319 +f 32058//33365 32158//33366 32057//33319 +f 32259//33367 32258//33321 32157//33320 +f 32158//33366 32259//33367 32157//33320 +f 32362//33368 32361//33322 32258//33321 +f 32259//33367 32362//33368 32258//33321 +f 32467//33369 32466//33323 32361//33322 +f 32362//33368 32467//33369 32361//33322 +f 32576//33370 32575//33324 32466//33323 +f 32467//33369 32576//33370 32466//33323 +f 32690//33371 32689//33325 32575//33324 +f 32576//33370 32690//33371 32575//33324 +f 32810//33372 32809//33326 32689//33325 +f 32690//33371 32810//33372 32689//33325 +f 32923//33373 32922//28528 32809//33326 +f 32810//33372 32923//33373 32809//33326 +f 33031//33183 33030//22183 32922//28528 +f 32923//33373 33031//33183 32922//28528 +f 21223//23316 23372//23299 30023//28008 +f 34055//16689 6889//10770 34191//32916 +f 32911//33137 33019//33362 32910//32247 +f 33580//17479 28580//28235 28579//17375 +f 33125//33374 33124//32279 33018//32248 +f 33533//31491 33652//31493 33532//29728 +f 6929//15088 7028//15052 7027//15003 +f 6542//11143 6415//3425 6416//3610 +f 33700//17480 33828//33375 33827//33328 +f 33699//31210 33700//17480 33827//33328 +f 33828//33375 33963//33376 33962//33329 +f 33827//33328 33828//33375 33962//33329 +f 33963//33376 34099//33377 34098//33330 +f 33962//33329 33963//33376 34098//33330 +f 34099//33377 34237//33378 34236//33331 +f 34098//33330 34099//33377 34236//33331 +f 34237//33378 34375//33379 34374//33332 +f 34236//33331 34237//33378 34374//33332 +f 34375//33379 34512//33380 34511//33333 +f 34374//33332 34375//33379 34511//33333 +f 34512//33380 34640//33381 34639//33334 +f 34511//33333 34512//33380 34639//33334 +f 34640//33381 34768//33382 34767//33335 +f 34639//33334 34640//33381 34767//33335 +f 34768//33382 34897//33383 34896//33336 +f 34767//33335 34768//33382 34896//33336 +f 34897//33383 35026//33384 35025//33337 +f 34896//33336 34897//33383 35025//33337 +f 35026//33384 35155//33385 35154//33338 +f 35025//33337 35026//33384 35154//33338 +f 35155//33385 35284//33386 35283//33339 +f 35154//33338 35155//33385 35283//33339 +f 35284//33386 12481//33387 13606//33340 +f 35283//33339 35284//33386 13606//33340 +f 12481//33387 30364//33388 30741//33341 +f 13606//33340 12481//33387 30741//33341 +f 30364//33388 12041//33389 2493//33342 +f 30741//33341 30364//33388 2493//33342 +f 12041//33389 34066//33390 33945//33343 +f 2493//33342 12041//33389 33945//33343 +f 34066//33390 33798//33391 33788//33344 +f 33945//33343 34066//33390 33788//33344 +f 33798//33391 35010//33392 35009//33345 +f 33788//33344 33798//33391 35009//33345 +f 35010//33392 31850//33393 31749//33346 +f 35009//33345 35010//33392 31749//33346 +f 31850//33393 13225//33394 34853//33347 +f 31749//33346 31850//33393 34853//33347 +f 13225//33394 27172//33395 35247//33348 +f 34853//33347 13225//33394 35247//33348 +f 27172//33395 35236//33396 35233//33349 +f 35247//33348 27172//33395 35233//33349 +f 35236//33396 12659//33397 34076//33350 +f 35233//33349 35236//33396 34076//33350 +f 34201//33398 27030//33351 34076//33350 +f 12659//33397 34201//33398 34076//33350 +f 34201//33398 35121//33399 35107//33352 +f 27030//33351 34201//33398 35107//33352 +f 33809//33400 34077//33353 35107//33352 +f 35121//33399 33809//33400 35107//33352 +f 33561//33401 33669//33354 34077//33353 +f 33809//33400 33561//33401 34077//33353 +f 33559//33402 33342//33355 33669//33354 +f 33561//33401 33559//33402 33669//33354 +f 35501//8015 35679//9012 35471//330 +f 33559//33402 35006//33403 33342//33355 +f 21547//26126 21457//26125 21458//17292 +f 6155//2636 6284//2833 6154//12570 +f 32878//21758 32877//32797 32765//21759 +f 28876//21287 17528//21819 17536//21288 +f 32207//32060 32206//32618 32106//32617 +f 32107//32061 32207//32060 32106//32617 +f 34563//22661 34562//32675 34425//31064 +f 34426//30281 34563//22661 34425//31064 +f 33878//32943 33877//32128 33743//33404 +f 33744//33405 33878//32943 33743//33404 +f 32632//31880 32631//17179 32522//14719 +f 32523//31624 32632//31880 32522//14719 +f 31068//32033 31069//29006 31130//32034 +f 31131//11874 31194//11876 31193//32056 +f 31008//20369 31069//29006 31007//32031 +f 31069//29006 31131//11874 31130//32034 +f 31134//32415 31197//32353 31133//17720 +f 31261//32286 31260//16090 31196//25463 +f 31197//32353 31261//32286 31196//25463 +f 31261//32286 31326//32287 31325//16091 +f 33088//31566 33193//31588 33087//32444 +f 33298//31539 33297//32445 33192//32394 +f 34812//31014 34941//16941 34811//19586 +f 32624//33363 32623//33406 32514//31719 +f 33019//33362 33125//33374 33018//32248 +f 34322//31503 34460//31505 34321//32105 +f 34460//31505 34597//14587 34596//22926 +f 33761//32004 33760//17443 33633//18809 +f 32317//31753 32316//31577 32215//31619 +f 32637//4146 32751//8115 32636//31640 +f 32863//20208 32862//32942 32750//31639 +f 31815//32295 31816//33407 31921//32293 +f 32755//22154 32867//4560 32866//32020 +f 33283//31601 33282//33217 33177//32600 +f 32734//32564 32846//31062 32733//32249 +f 31999//1672 31998//16702 31897//6065 +f 33886//32120 33885//32121 33751//32601 +f 32300//17949 32299//16124 32198//16119 +f 35124//11562 9797//11474 35229//14046 +f 22850//6528 12989//15662 6253//19126 +f 8762//11651 9567//11652 9176//11739 +f 28234//32113 33345//32144 13058//18163 +f 21643//26398 34499//26481 21735//26315 +f 21457//26125 33957//26217 21458//17292 +f 21933//9297 35140//16192 35269//9298 +f 31590//5909 31685//22790 31589//32748 +f 33766//31823 33900//31808 33765//32324 +f 6360//4831 6361//4830 6488//8097 +f 27895//24541 30876//21546 26349//21548 +f 34035//32043 34034//32363 33899//32379 +f 33830//21401 33702//16873 21279//26396 +f 33900//31808 33899//32379 33765//32324 +f 33900//31808 34035//32043 33899//32379 +f 33073//32234 33178//25392 33072//32239 +f 33639//31824 33766//31823 33638//32312 +f 33068//31726 33173//14540 33067//14542 +f 34570//31862 34698//32578 34569//31644 +f 31922//33408 32023//33006 32022//32291 +f 31478//30844 31564//30809 23269//24830 +f 25321//17945 31478//30844 23269//24830 +f 31959//33409 31958//33364 31857//22542 +f 31858//27487 31959//33409 31857//22542 +f 32059//33410 32058//33365 31958//33364 +f 31959//33409 32059//33410 31958//33364 +f 32159//33411 32158//33366 32058//33365 +f 32059//33410 32159//33411 32058//33365 +f 32260//33412 32259//33367 32158//33366 +f 32159//33411 32260//33412 32158//33366 +f 32363//33413 32362//33368 32259//33367 +f 32260//33412 32363//33413 32259//33367 +f 32468//33414 32467//33369 32362//33368 +f 32363//33413 32468//33414 32362//33368 +f 32577//33415 32576//33370 32467//33369 +f 32468//33414 32577//33415 32467//33369 +f 32691//33416 32690//33371 32576//33370 +f 32577//33415 32691//33416 32576//33370 +f 32811//33417 32810//33372 32690//33371 +f 32691//33416 32811//33417 32690//33371 +f 32924//33418 32923//33373 32810//33372 +f 32811//33417 32924//33418 32810//33372 +f 33032//22298 33031//33183 32923//33373 +f 32924//33418 33032//22298 32923//33373 +f 33031//33183 33032//22298 17327//22235 +f 26850//31111 33589//27584 33711//31109 +f 8017//11089 32682//32747 31853//11175 +f 3093//5489 34329//5782 3094//5625 +f 33533//31491 33532//29728 33419//31866 +f 33064//31675 33169//21812 33063//31681 +f 33230//33419 33229//32280 33124//32279 +f 33580//17479 33701//16874 33700//17480 +f 22037//257 21552//29951 22134//17138 +f 33701//16874 33829//33420 33828//33375 +f 33700//17480 33701//16874 33828//33375 +f 33829//33420 33964//33421 33963//33376 +f 33828//33375 33829//33420 33963//33376 +f 33964//33421 34100//33422 34099//33377 +f 33963//33376 33964//33421 34099//33377 +f 34100//33422 34238//33423 34237//33378 +f 34099//33377 34100//33422 34237//33378 +f 34238//33423 34376//33424 34375//33379 +f 34237//33378 34238//33423 34375//33379 +f 34376//33424 34513//33425 34512//33380 +f 34375//33379 34376//33424 34512//33380 +f 34513//33425 34641//33426 34640//33381 +f 34512//33380 34513//33425 34640//33381 +f 34641//33426 34769//33427 34768//33382 +f 34640//33381 34641//33426 34768//33382 +f 34769//33427 34898//33428 34897//33383 +f 34768//33382 34769//33427 34897//33383 +f 34898//33428 35027//33429 35026//33384 +f 34897//33383 34898//33428 35026//33384 +f 35027//33429 35156//33430 35155//33385 +f 35026//33384 35027//33429 35155//33385 +f 35156//33430 35285//33431 35284//33386 +f 35155//33385 35156//33430 35284//33386 +f 9628//33432 12481//33387 35284//33386 +f 35285//33431 9628//33432 35284//33386 +f 11449//33433 30364//33388 12481//33387 +f 9628//33432 11449//33433 12481//33387 +f 11449//33433 11511//33434 12041//33389 +f 30364//33388 11449//33433 12041//33389 +f 11511//33434 34105//33435 34066//33390 +f 12041//33389 11511//33434 34066//33390 +f 34105//33435 33799//33436 33798//33391 +f 34066//33390 34105//33435 33798//33391 +f 33799//33436 35011//33437 35010//33392 +f 33798//33391 33799//33436 35010//33392 +f 35011//33437 31851//33438 31850//33393 +f 35010//33392 35011//33437 31850//33393 +f 31851//33438 11883//33439 13225//33394 +f 31850//33393 31851//33438 13225//33394 +f 11883//33439 12553//33440 27172//33395 +f 13225//33394 11883//33439 27172//33395 +f 12553//33440 34739//33441 35236//33396 +f 27172//33395 12553//33440 35236//33396 +f 34739//33441 21843//33442 12659//33397 +f 35236//33396 34739//33441 12659//33397 +f 21843//33442 13463//33443 34201//33398 +f 12659//33397 21843//33442 34201//33398 +f 25133//33444 35121//33399 34201//33398 +f 13463//33443 25133//33444 34201//33398 +f 33808//33445 33809//33400 35121//33399 +f 25133//33444 33808//33445 35121//33399 +f 35295//33446 33561//33401 33809//33400 +f 33808//33445 35295//33446 33809//33400 +f 33677//33447 33559//33402 33561//33401 +f 35295//33446 33677//33447 33561//33401 +f 34877//33448 35006//33403 33559//33402 +f 33677//33447 34877//33448 33559//33402 +f 28740//33449 8688//22080 35006//33403 +f 34877//33448 28740//33449 35006//33403 +f 21546//26026 21456//15032 21457//26125 +f 28740//33449 33662//20197 8688//22080 +f 7174//14940 33431//22479 33432//16365 +f 6943//31849 7043//5035 7042//5034 +f 34426//30281 34425//31064 34287//31063 +f 34288//33450 34426//30281 34287//31063 +f 33498//32546 33617//32897 33497//32547 +f 33744//33405 33743//33404 33616//32898 +f 32523//31624 32522//14719 32417//32652 +f 32418//31625 32523//31624 32417//32652 +f 31130//32034 31131//11874 31193//32056 +f 31194//11876 31258//32840 31257//32087 +f 31011//32414 31072//32358 31010//15863 +f 31134//32415 31133//17720 31071//15864 +f 31197//32353 31196//25463 31133//17720 +f 31072//32358 31134//32415 31071//15864 +f 34171//32069 34170//32364 34034//32363 +f 34035//32043 34171//32069 34034//32363 +f 33639//31824 33638//32312 33519//32313 +f 33520//24433 33639//31824 33519//32313 +f 32248//31264 32247//24523 32147//24522 +f 18596//1981 19876//21135 18506//6290 +f 7640//13393 7639//10726 7525//11397 +f 32001//32256 32000//1671 31899//23087 +f 33420//31489 33533//31491 33419//31866 +f 33125//33374 33230//33419 33124//32279 +f 33335//33048 33334//32281 33229//32280 +f 33230//33419 33335//33048 33229//32280 +f 33444//14509 33443//32440 33334//32281 +f 33335//33048 33444//14509 33334//32281 +f 34683//31994 34682//17372 34554//14564 +f 30889//16041 30943//32237 30888//16142 +f 17289//21188 17356//15410 17288//21189 +f 33937//17156 24792//29429 2960//6557 +f 17294//16922 29270//32081 17295//12265 +f 35135//17235 2141//17237 2142//20975 +f 31608//32458 31703//32460 31607//21575 +f 12473//25576 13576//21071 392//21070 +f 33061//32857 33060//31773 32954//31061 +f 31053//31607 31054//32506 31115//31608 +f 32302//31782 32405//30366 32301//4567 +f 32745//20844 32744//17813 32630//30843 +f 31794//32062 31793//17550 31693//16117 +f 31116//31927 31179//27604 31178//27603 +f 32845//31685 32844//27560 32732//30049 +f 32733//32249 32845//31685 32732//30049 +f 34142//5766 34141//16730 34005//28055 +f 31114//31609 31177//31925 31176//16180 +f 33737//16698 33871//29909 33736//27239 +f 34006//28054 34142//5766 34005//28055 +f 31003//33451 31064//32489 31002//33452 +f 31811//32391 31812//24579 31917//32392 +f 32013//33216 32113//32647 32012//32649 +f 31859//33453 31858//27487 31752//27486 +f 31753//30088 31859//33453 31752//27486 +f 31960//33454 31959//33409 31858//27487 +f 31859//33453 31960//33454 31858//27487 +f 32060//33455 32059//33410 31959//33409 +f 31960//33454 32060//33455 31959//33409 +f 32160//33456 32159//33411 32059//33410 +f 32060//33455 32160//33456 32059//33410 +f 32261//33457 32260//33412 32159//33411 +f 32160//33456 32261//33457 32159//33411 +f 32364//33458 32363//33413 32260//33412 +f 32261//33457 32364//33458 32260//33412 +f 32469//33459 32468//33414 32363//33413 +f 32364//33458 32469//33459 32363//33413 +f 32578//33460 32577//33415 32468//33414 +f 32469//33459 32578//33460 32468//33414 +f 32692//33461 32691//33416 32577//33415 +f 32578//33460 32692//33461 32577//33415 +f 32812//33462 32811//33417 32691//33416 +f 32692//33461 32812//33462 32691//33416 +f 32925//33463 32924//33418 32811//33417 +f 32812//33462 32925//33463 32811//33417 +f 33033//33464 33032//22298 32924//33418 +f 32925//33463 33033//33464 32924//33418 +f 33033//33464 33139//33465 33138//22203 +f 33032//22298 33033//33464 33138//22203 +f 18998//9072 18898//22386 19651//23045 +f 33139//33465 33243//22201 33138//22203 +f 17319//31530 19573//31915 35340//31990 +f 33091//28965 33090//20853 32984//4304 +f 31745//33466 31744//33138 31649//15072 +f 31650//14802 31745//33466 31649//15072 +f 34111//33467 17274//22030 33975//32940 +f 6925//14927 6926//14925 7024//14897 +f 33702//16873 33830//21401 33829//33420 +f 33701//16874 33702//16873 33829//33420 +f 33830//21401 33965//33468 33964//33421 +f 33829//33420 33830//21401 33964//33421 +f 33965//33468 34101//33469 34100//33422 +f 33964//33421 33965//33468 34100//33422 +f 34101//33469 34239//33470 34238//33423 +f 34100//33422 34101//33469 34238//33423 +f 34239//33470 34377//33471 34376//33424 +f 34238//33423 34239//33470 34376//33424 +f 34377//33471 34514//33472 34513//33425 +f 34376//33424 34377//33471 34513//33425 +f 34514//33472 34642//33473 34641//33426 +f 34513//33425 34514//33472 34641//33426 +f 34642//33473 34770//33474 34769//33427 +f 34641//33426 34642//33473 34769//33427 +f 34770//33474 34899//33475 34898//33428 +f 34769//33427 34770//33474 34898//33428 +f 34899//33475 35028//33476 35027//33429 +f 34898//33428 34899//33475 35027//33429 +f 35028//33476 35157//33477 35156//33430 +f 35027//33429 35028//33476 35156//33430 +f 35157//33477 35286//33478 35285//33431 +f 35156//33430 35157//33477 35285//33431 +f 35286//33478 12061//33479 9628//33432 +f 35285//33431 35286//33478 9628//33432 +f 12748//33480 11449//33433 9628//33432 +f 12061//33479 12748//33480 9628//33432 +f 13701//33481 11511//33434 11449//33433 +f 12748//33480 13701//33481 11449//33433 +f 13701//33481 34204//33482 34105//33435 +f 11511//33434 13701//33481 34105//33435 +f 34204//33482 33800//33483 33799//33436 +f 34105//33435 34204//33482 33799//33436 +f 33800//33483 35012//33484 35011//33437 +f 33799//33436 33800//33483 35011//33437 +f 35012//33484 31951//33485 31851//33438 +f 35011//33437 35012//33484 31851//33438 +f 31951//33485 11773//33486 11883//33439 +f 31851//33438 31951//33485 11883//33439 +f 11773//33486 35260//33487 12553//33440 +f 11883//33439 11773//33486 12553//33440 +f 35260//33487 33468//33488 34739//33441 +f 12553//33440 35260//33487 34739//33441 +f 33468//33488 34193//33489 21843//33442 +f 34739//33441 33468//33488 21843//33442 +f 34193//33489 34879//33490 13463//33443 +f 21843//33442 34193//33489 13463//33443 +f 34879//33490 34749//33491 25133//33444 +f 13463//33443 34879//33490 25133//33444 +f 33346//33492 33808//33445 25133//33444 +f 34749//33491 33346//33492 25133//33444 +f 34980//33493 35295//33446 33808//33445 +f 33346//33492 34980//33493 33808//33445 +f 34980//33493 33795//33494 33677//33447 +f 35295//33446 34980//33493 33677//33447 +f 33795//33494 13397//33495 34877//33448 +f 33677//33447 33795//33494 34877//33448 +f 13397//33495 28995//33496 28740//33449 +f 34877//33448 13397//33495 28740//33449 +f 28995//33496 21969//20196 33662//20197 +f 28740//33449 28995//33496 33662//20197 +f 28253//10890 23817//10889 20093//28513 +f 35942//17652 34730//2452 35440//4599 +f 17458//20646 27028//32054 13224//27433 +f 23946//27982 19795//6748 26242//6749 +f 30992//29603 31053//31607 30991//29604 +f 33617//32897 33744//33405 33616//32898 +f 32418//31625 32417//32652 32314//32375 +f 32315//31579 32418//31625 32314//32375 +f 31193//32056 31194//11876 31257//32087 +f 31323//22582 31322//32116 31257//32087 +f 30953//32417 31011//32414 30952//22832 +f 31072//32358 31071//15864 31010//15863 +f 34584//31557 34712//31585 34583//32493 +f 34840//31584 34839//32497 34711//32551 +f 34447//31545 34446//32425 34308//32473 +f 34309//31587 34447//31545 34308//32473 +f 33500//32673 33499//33497 33386//32989 +f 34814//31677 34813//31679 34685//23605 +f 33763//31688 33897//31980 33762//31689 +f 31444//32654 31443//15607 31376//15606 +f 19347//17427 14359//351 14345//19427 +f 34686//32859 34685//23605 34557//31648 +f 32764//32124 32876//32775 32763//32276 +f 32876//32775 32984//4304 32875//4306 +f 31845//33498 31844//33169 31744//33138 +f 31745//33466 31845//33498 31744//33138 +f 31943//33499 31942//33170 31844//33169 +f 31845//33498 31943//33499 31844//33169 +f 31803//30965 31802//30966 31702//21576 +f 34717//33500 34718//32183 34845//21027 +f 32040//33501 32039//33171 31942//33170 +f 34718//32183 34717//33500 34589//33502 +f 31943//33499 32040//33501 31942//33170 +f 32137//33503 32136//33182 32039//33171 +f 32040//33501 32137//33503 32039//33171 +f 32237//33504 32236//33188 32136//33182 +f 32137//33503 32237//33504 32136//33182 +f 32339//33505 32338//33218 32236//33188 +f 32237//33504 32339//33505 32236//33188 +f 32443//33506 32442//33219 32338//33218 +f 32339//33505 32443//33506 32338//33218 +f 32550//33507 32549//33229 32442//33219 +f 32443//33506 32550//33507 32442//33219 +f 32663//33508 32662//33236 32549//33229 +f 32550//33507 32663//33508 32549//33229 +f 32784//33509 32783//33237 32662//33236 +f 32663//33508 32784//33509 32662//33236 +f 31654//30087 31754//33510 31753//30088 +f 31860//33511 31859//33453 31753//30088 +f 31754//33510 31860//33511 31753//30088 +f 31961//33512 31960//33454 31859//33453 +f 31860//33511 31961//33512 31859//33453 +f 32061//33513 32060//33455 31960//33454 +f 31961//33512 32061//33513 31960//33454 +f 32161//33514 32160//33456 32060//33455 +f 32061//33513 32161//33514 32060//33455 +f 32262//33515 32261//33457 32160//33456 +f 32161//33514 32262//33515 32160//33456 +f 32365//33516 32364//33458 32261//33457 +f 32262//33515 32365//33516 32261//33457 +f 32470//33517 32469//33459 32364//33458 +f 32365//33516 32470//33517 32364//33458 +f 32579//33518 32578//33460 32469//33459 +f 32470//33517 32579//33518 32469//33459 +f 32693//33519 32692//33461 32578//33460 +f 32579//33518 32693//33519 32578//33460 +f 32813//33520 32812//33462 32692//33461 +f 32693//33519 32813//33520 32692//33461 +f 32926//33521 32925//33463 32812//33462 +f 32813//33520 32926//33521 32812//33462 +f 33034//33522 33033//33464 32925//33463 +f 32926//33521 33034//33522 32925//33463 +f 33140//33523 33139//33465 33033//33464 +f 33034//33522 33140//33523 33033//33464 +f 33140//33523 33244//33181 33243//22201 +f 33139//33465 33140//33523 33243//22201 +f 17345//21751 17276//21752 17277//21593 +f 21279//26396 21193//26478 21280//21402 +f 32896//33524 32895//33238 32783//33237 +f 32784//33509 32896//33524 32783//33237 +f 17971//16219 18062//17342 20449//16220 +f 33830//21401 21281//21403 33965//33468 +f 22120//2066 22215//26560 22119//26559 +f 33966//26555 21281//21403 21195//5305 +f 12464//29029 11964//22739 35254//27343 +f 22119//26559 35136//2067 22120//2066 +f 33966//26555 34102//33525 34101//33469 +f 33965//33468 33966//26555 34101//33469 +f 34102//33525 34240//33526 34239//33470 +f 34101//33469 34102//33525 34239//33470 +f 34240//33526 34378//33527 34377//33471 +f 34239//33470 34240//33526 34377//33471 +f 34378//33527 34515//33528 34514//33472 +f 34377//33471 34378//33527 34514//33472 +f 34515//33528 34643//33529 34642//33473 +f 34514//33472 34515//33528 34642//33473 +f 34643//33529 34771//33530 34770//33474 +f 34642//33473 34643//33529 34770//33474 +f 34771//33530 34900//33531 34899//33475 +f 34770//33474 34771//33530 34899//33475 +f 34900//33531 35029//33532 35028//33476 +f 34899//33475 34900//33531 35028//33476 +f 35029//33532 35158//33533 35157//33477 +f 35028//33476 35029//33532 35157//33477 +f 35158//33533 35287//33534 35286//33478 +f 35157//33477 35158//33533 35286//33478 +f 35287//33534 14168//33535 12061//33479 +f 35286//33478 35287//33534 12061//33479 +f 14168//33535 11804//33536 12748//33480 +f 12061//33479 14168//33535 12748//33480 +f 11804//33536 13129//33537 13701//33481 +f 12748//33480 11804//33536 13701//33481 +f 13129//33537 34213//33538 34204//33482 +f 13701//33481 13129//33537 34204//33482 +f 34213//33538 33805//33539 33800//33483 +f 34204//33482 34213//33538 33800//33483 +f 33805//33539 35013//33540 35012//33484 +f 33800//33483 33805//33539 35012//33484 +f 35013//33540 32148//33541 31951//33485 +f 35012//33484 35013//33540 31951//33485 +f 32148//33541 27897//33542 11773//33486 +f 31951//33485 32148//33541 11773//33486 +f 27897//33542 33455//33543 35260//33487 +f 11773//33486 27897//33542 35260//33487 +f 33455//33543 35106//33544 33468//33488 +f 35260//33487 33455//33543 33468//33488 +f 35106//33544 34748//33545 34193//33489 +f 33468//33488 35106//33544 34193//33489 +f 34748//33545 19411//33546 34879//33490 +f 34193//33489 34748//33545 34879//33490 +f 27958//33547 34749//33491 34879//33490 +f 19411//33546 27958//33547 34879//33490 +f 27958//33547 29283//33548 33346//33492 +f 34749//33491 27958//33547 33346//33492 +f 29283//33548 35327//33549 34980//33493 +f 33346//33492 29283//33548 34980//33493 +f 33929//33550 33795//33494 34980//33493 +f 35327//33549 33929//33550 34980//33493 +f 33929//33550 28105//33551 13397//33495 +f 33795//33494 33929//33550 13397//33495 +f 28105//33551 13383//33552 28995//33496 +f 13397//33495 28105//33551 28995//33496 +f 13383//33552 29128//33553 21969//20196 +f 28995//33496 13383//33552 21969//20196 +f 34979//9496 5692//21558 21969//20196 +f 29128//33553 34979//9496 21969//20196 +f 25392//25425 23817//10889 25097//10891 +f 2010//21230 2790//33554 30805//33555 +f 35069//31480 35198//20210 35068//17260 +f 17291//15419 13709//15421 17360//21331 +f 32315//31579 32314//32375 32213//32615 +f 32214//31742 32315//31579 32213//32615 +f 31258//32840 31323//22582 31257//32087 +f 31323//22582 31390//30139 31389//32145 +f 30899//17537 30953//32417 30898//17477 +f 31011//32414 31010//15863 30952//22832 +f 34712//31585 34840//31584 34711//32551 +f 34969//31867 34968//32420 34839//32497 +f 34590//32870 34589//33502 34452//33556 +f 34453//32873 34590//32870 34452//33556 +f 34453//32873 34452//33556 34314//33557 +f 34315//32874 34453//32873 34314//33557 +f 33004//33558 33003//33267 32895//33238 +f 32896//33524 33004//33558 32895//33238 +f 33110//33559 33109//33268 33003//33267 +f 33004//33558 33110//33559 33003//33267 +f 34315//32874 34314//33557 34176//33560 +f 34177//32915 34315//32874 34176//33560 +f 33215//33561 33214//33277 33109//33268 +f 33110//33559 33215//33561 33109//33268 +f 33320//33562 33319//33286 33214//33277 +f 33215//33561 33320//33562 33214//33277 +f 33906//32963 34041//32918 34040//33563 +f 34177//32915 34176//33560 34040//33563 +f 34590//32870 34718//32183 34589//33502 +f 28351//27482 25132//16130 28352//16129 +f 33429//24754 33428//33287 33319//33286 +f 33644//33564 33645//33005 33771//33565 +f 33320//33562 33429//24754 33319//33286 +f 31755//33566 31754//33510 31654//30087 +f 31655//29549 31755//33566 31654//30087 +f 31861//33567 31860//33511 31754//33510 +f 31755//33566 31861//33567 31754//33510 +f 31962//33568 31961//33512 31860//33511 +f 31861//33567 31962//33568 31860//33511 +f 32062//33569 32061//33513 31961//33512 +f 31962//33568 32062//33569 31961//33512 +f 32162//33570 32161//33514 32061//33513 +f 32062//33569 32162//33570 32061//33513 +f 32263//33571 32262//33515 32161//33514 +f 32162//33570 32263//33571 32161//33514 +f 32366//33572 32365//33516 32262//33515 +f 32263//33571 32366//33572 32262//33515 +f 32471//33573 32470//33517 32365//33516 +f 32366//33572 32471//33573 32365//33516 +f 32580//33574 32579//33518 32470//33517 +f 32471//33573 32580//33574 32470//33517 +f 32694//33575 32693//33519 32579//33518 +f 32580//33574 32694//33575 32579//33518 +f 32814//33576 32813//33520 32693//33519 +f 32694//33575 32814//33576 32693//33519 +f 32927//33577 32926//33521 32813//33520 +f 32814//33576 32927//33577 32813//33520 +f 33035//33578 33034//33522 32926//33521 +f 32927//33577 33035//33578 32926//33521 +f 33141//33579 33140//33523 33034//33522 +f 33035//33578 33141//33579 33034//33522 +f 33141//33579 33245//22469 33244//33181 +f 33140//33523 33141//33579 33244//33181 +f 33244//33181 33245//22469 17331//22372 +f 35830//2156 35629//9589 35854//5116 +f 33542//9061 33541//9060 33428//33287 +f 34556//23607 34555//14563 34418//33580 +f 33429//24754 33542//9061 33428//33287 +f 21196//4238 21195//5305 21108//4236 +f 33378//32204 33377//2386 33268//28865 +f 33269//31799 33378//32204 33268//28865 +f 8310//32051 17320//32689 18799//32050 +f 6929//15088 6927//14961 35224//31582 +f 33967//12350 34103//32263 34102//33525 +f 33966//26555 33967//12350 34102//33525 +f 34103//32263 34241//33581 34240//33526 +f 34102//33525 34103//32263 34240//33526 +f 34241//33581 34379//33582 34378//33527 +f 34240//33526 34241//33581 34378//33527 +f 34379//33582 34516//33583 34515//33528 +f 34378//33527 34379//33582 34515//33528 +f 34516//33583 34644//33584 34643//33529 +f 34515//33528 34516//33583 34643//33529 +f 34644//33584 34772//33585 34771//33530 +f 34643//33529 34644//33584 34771//33530 +f 34901//33586 34900//33531 34771//33530 +f 34772//33585 34901//33586 34771//33530 +f 35030//33587 35029//33532 34900//33531 +f 34901//33586 35030//33587 34900//33531 +f 35030//33587 35159//33588 35158//33533 +f 35029//33532 35030//33587 35158//33533 +f 35159//33588 35288//33589 35287//33534 +f 35158//33533 35159//33588 35287//33534 +f 35288//33589 27025//33590 14168//33535 +f 35287//33534 35288//33589 14168//33535 +f 27025//33590 30353//33591 11804//33536 +f 14168//33535 27025//33590 11804//33536 +f 29406//33592 13129//33537 11804//33536 +f 30353//33591 29406//33592 11804//33536 +f 34224//33593 34213//33538 13129//33537 +f 29406//33592 34224//33593 13129//33537 +f 34224//33593 33806//33594 33805//33539 +f 34213//33538 34224//33593 33805//33539 +f 33806//33594 35038//33595 35013//33540 +f 33805//33539 33806//33594 35013//33540 +f 35038//33595 32149//33596 32148//33541 +f 35013//33540 35038//33595 32148//33541 +f 32149//33596 13971//33597 27897//33542 +f 32148//33541 32149//33596 27897//33542 +f 13971//33597 34747//33598 33455//33543 +f 27897//33542 13971//33597 33455//33543 +f 34747//33598 33466//33599 35106//33544 +f 33455//33543 34747//33598 35106//33544 +f 33466//33599 26403//33600 34748//33545 +f 35106//33544 33466//33599 34748//33545 +f 26403//33600 34880//33601 19411//33546 +f 34748//33545 26403//33600 19411//33546 +f 34880//33601 34729//33602 27958//33547 +f 19411//33546 34880//33601 27958//33547 +f 34729//33602 34106//33603 29283//33548 +f 27958//33547 34729//33602 29283//33548 +f 34106//33603 32566//33604 35327//33549 +f 29283//33548 34106//33603 35327//33549 +f 32566//33604 28743//33605 33929//33550 +f 35327//33549 32566//33604 33929//33550 +f 28743//33605 13033//33606 28105//33551 +f 33929//33550 28743//33605 28105//33551 +f 13033//33606 5189//33607 13383//33552 +f 28105//33551 13033//33606 13383//33552 +f 5189//33607 12037//33608 29128//33553 +f 13383//33552 5189//33607 29128//33553 +f 12037//33608 34214//9494 34979//9496 +f 29128//33553 12037//33608 34979//9496 +f 13678//32605 2010//21230 30805//33555 +f 2010//21230 13678//32605 2009//12512 +f 6930//13761 7028//15052 6929//15088 +f 22435//32607 30607//14386 6914//116 +f 32214//31742 32213//32615 32113//32647 +f 32114//31620 32214//31742 32113//32647 +f 31322//32116 31323//22582 31389//32145 +f 31457//4193 31456//32343 31389//32145 +f 32903//31883 32902//27285 32790//32496 +f 30953//32417 30952//22832 30898//17477 +f 34840//31584 34969//31867 34839//32497 +f 33224//30973 33329//24950 33223//31165 +f 33304//33036 33413//33037 33303//33609 +f 33413//33037 33526//33035 33525//33610 +f 17331//22372 17332//22418 17409//22373 +f 33500//32673 33619//32491 33499//33497 +f 33746//32271 33880//32210 33745//32272 +f 32871//31933 32979//31944 32978//32103 +f 32870//31632 32871//31933 32978//32103 +f 33311//31486 33310//27198 33205//31445 +f 33413//33037 33412//33611 33303//33609 +f 34047//33050 34046//31728 33911//31731 +f 34321//32105 34320//31699 34182//31704 +f 34837//31563 34836//31591 34708//31564 +f 33199//33049 33304//33036 33198//33612 +f 34581//32007 34709//31562 34580//31929 +f 34584//31557 34583//32493 34446//32425 +f 34041//32918 34177//32915 34040//33563 +f 34712//31585 34711//32551 34583//32493 +f 34447//31545 34584//31557 34446//32425 +f 33526//33035 33645//33005 33644//33564 +f 33771//33565 33772//33004 33905//33613 +f 34168//31984 34167//32151 34031//31816 +f 34032//31983 34168//31984 34031//31816 +f 31932//23695 31933//17722 32029//31789 +f 34183//32104 34182//31704 34046//31728 +f 33778//33359 33912//33093 33777//31738 +f 33206//31487 33205//31445 33100//17564 +f 31756//33614 31755//33566 31655//29549 +f 31656//30188 31756//33614 31655//29549 +f 31862//33615 31861//33567 31755//33566 +f 31756//33614 31862//33615 31755//33566 +f 31963//33616 31962//33568 31861//33567 +f 31862//33615 31963//33616 31861//33567 +f 32063//33617 32062//33569 31962//33568 +f 31963//33616 32063//33617 31962//33568 +f 32163//33618 32162//33570 32062//33569 +f 32063//33617 32163//33618 32062//33569 +f 32264//33619 32263//33571 32162//33570 +f 32163//33618 32264//33619 32162//33570 +f 32367//33620 32366//33572 32263//33571 +f 32264//33619 32367//33620 32263//33571 +f 32472//33621 32471//33573 32366//33572 +f 32367//33620 32472//33621 32366//33572 +f 32581//33622 32580//33574 32471//33573 +f 32472//33621 32581//33622 32471//33573 +f 32695//33623 32694//33575 32580//33574 +f 32581//33622 32695//33623 32580//33574 +f 32815//33624 32814//33576 32694//33575 +f 32695//33623 32815//33624 32694//33575 +f 32928//33625 32927//33577 32814//33576 +f 32815//33624 32928//33625 32814//33576 +f 33036//33626 33035//33578 32927//33577 +f 32928//33625 33036//33626 32927//33577 +f 33142//33627 33141//33579 33035//33578 +f 33036//33626 33142//33627 33035//33578 +f 33246//8392 33245//22469 33141//33579 +f 33142//33627 33246//8392 33141//33579 +f 28070//20406 25658//20081 24204//20407 +f 34057//17715 2686//6754 2687//6753 +f 33304//33036 33303//33609 33198//33612 +f 34103//32263 33967//12350 21197//4237 +f 32679//33327 32678//33124 32565//13467 +f 34943//31678 34942//16939 34813//31679 +f 34683//31994 34811//19586 34682//17372 +f 33779//31495 33778//33359 33651//33360 +f 18056//9281 19168//3339 18917//3338 +f 20894//8913 33956//32616 33578//32025 +f 35006//33403 17852//32825 33342//33355 +f 26006//16647 26008//27215 26149//25042 +f 34104//20089 34242//33628 34241//33581 +f 34103//32263 34104//20089 34241//33581 +f 34242//33628 34380//33629 34379//33582 +f 34241//33581 34242//33628 34379//33582 +f 34380//33629 34517//33630 34516//33583 +f 34379//33582 34380//33629 34516//33583 +f 34517//33630 34645//33631 34644//33584 +f 34516//33583 34517//33630 34644//33584 +f 34645//33631 34773//33632 34772//33585 +f 34644//33584 34645//33631 34772//33585 +f 34773//33632 34902//33633 34901//33586 +f 34772//33585 34773//33632 34901//33586 +f 34902//33633 35031//33634 35030//33587 +f 34901//33586 34902//33633 35030//33587 +f 35031//33634 35160//33635 35159//33588 +f 35030//33587 35031//33634 35159//33588 +f 35289//33636 35288//33589 35159//33588 +f 35160//33635 35289//33636 35159//33588 +f 17482//33637 27025//33590 35288//33589 +f 35289//33636 17482//33637 35288//33589 +f 29416//33638 30353//33591 27025//33590 +f 17482//33637 29416//33638 27025//33590 +f 13690//33639 29406//33592 30353//33591 +f 29416//33638 13690//33639 30353//33591 +f 34348//33640 34224//33593 29406//33592 +f 13690//33639 34348//33640 29406//33592 +f 34348//33640 33822//33641 33806//33594 +f 34224//33593 34348//33640 33806//33594 +f 33822//33641 35099//33642 35038//33595 +f 33806//33594 33822//33641 35038//33595 +f 35099//33642 32152//33643 32149//33596 +f 35038//33595 35099//33642 32149//33596 +f 32152//33643 11967//33644 13971//33597 +f 32149//33596 32152//33643 13971//33597 +f 11967//33644 33943//33645 34747//33598 +f 13971//33597 11967//33644 34747//33598 +f 33943//33645 33575//33646 33466//33599 +f 34747//33598 33943//33645 33466//33599 +f 33575//33646 34221//33647 26403//33600 +f 33466//33599 33575//33646 26403//33600 +f 33818//33648 34880//33601 26403//33600 +f 34221//33647 33818//33648 26403//33600 +f 33818//33648 33133//33649 34729//33602 +f 34880//33601 33818//33648 34729//33602 +f 33133//33649 35259//33650 34106//33603 +f 34729//33602 33133//33649 34106//33603 +f 35259//33650 32355//33651 32566//33604 +f 34106//33603 35259//33650 32566//33604 +f 32355//33651 19465//33652 28743//33605 +f 32566//33604 32355//33651 28743//33605 +f 19465//33652 33447//33653 13033//33606 +f 28743//33605 19465//33652 13033//33606 +f 33447//33653 35015//33654 5189//33607 +f 13033//33606 33447//33653 5189//33607 +f 35015//33654 34854//33655 12037//33608 +f 5189//33607 35015//33654 12037//33608 +f 34854//33655 33797//33656 34214//9494 +f 12037//33608 34854//33655 34214//9494 +f 33797//33656 34975//1982 32683//9495 +f 34214//9494 33797//33656 32683//9495 +f 17397//21342 17398//21939 17486//21865 +f 19766//17034 15618//17036 21682//16078 +f 32014//31614 32114//31620 32013//33216 +f 13755//27429 19347//17427 24848//17426 +f 31390//30139 31457//4193 31389//32145 +f 31529//31657 31528//32344 31456//32343 +f 32791//31889 32790//32496 32669//32518 +f 32670//32530 32791//31889 32669//32518 +f 33329//24950 33438//24949 33437//15989 +f 34964//32014 34963//16096 34834//15436 +f 32988//33079 33094//33078 32987//33657 +f 33199//33049 33198//33612 33093//33658 +f 31052//30845 31053//31607 31114//31609 +f 31115//31608 31178//27603 31177//31925 +f 31245//32692 31310//31671 31244//31724 +f 31377//31672 31376//15606 31309//31673 +f 32223//33659 32324//33660 32323//32227 +f 32222//32266 32223//33659 32323//32227 +f 31621//31266 31716//33661 31715//32297 +f 31921//32293 31922//33408 32022//32291 +f 34688//30670 34816//30669 34687//32858 +f 32880//33092 32879//33662 32767//33663 +f 32768//33091 32880//33092 32767//33663 +f 33060//31773 33059//31775 32953//27558 +f 34969//31867 35098//13760 35097//13759 +f 34968//32420 34969//31867 35097//13759 +f 33768//31830 33767//31822 33640//24432 +f 33525//33610 33526//33035 33644//33564 +f 33645//33005 33772//33004 33771//33565 +f 31729//33122 31829//33123 31828//33664 +f 33412//33611 33413//33037 33525//33610 +f 30934//16458 30992//29603 30933//16459 +f 31728//33665 31729//33122 31828//33664 +f 32995//31573 33101//31484 32994//17563 +f 31562//30189 31657//33666 31656//30188 +f 31757//33667 31756//33614 31656//30188 +f 31657//33666 31757//33667 31656//30188 +f 31863//33668 31862//33615 31756//33614 +f 31757//33667 31863//33668 31756//33614 +f 31964//33669 31963//33616 31862//33615 +f 31863//33668 31964//33669 31862//33615 +f 32064//33670 32063//33617 31963//33616 +f 31964//33669 32064//33670 31963//33616 +f 32164//33671 32163//33618 32063//33617 +f 32064//33670 32164//33671 32063//33617 +f 32265//33672 32264//33619 32163//33618 +f 32164//33671 32265//33672 32163//33618 +f 32368//33673 32367//33620 32264//33619 +f 32265//33672 32368//33673 32264//33619 +f 32473//33674 32472//33621 32367//33620 +f 32368//33673 32473//33674 32367//33620 +f 32582//33675 32581//33622 32472//33621 +f 32473//33674 32582//33675 32472//33621 +f 32696//33676 32695//33623 32581//33622 +f 32582//33675 32696//33676 32581//33622 +f 32816//33677 32815//33624 32695//33623 +f 32696//33676 32816//33677 32695//33623 +f 32929//33678 32928//33625 32815//33624 +f 32816//33677 32929//33678 32815//33624 +f 33037//33679 33036//33626 32928//33625 +f 32929//33678 33037//33679 32928//33625 +f 33143//33680 33142//33627 33036//33626 +f 33037//33679 33143//33680 33036//33626 +f 33247//8390 33246//8392 33142//33627 +f 33143//33680 33247//8390 33142//33627 +f 14859//19672 19272//19854 21682//16078 +f 21682//16078 15618//17036 14859//19672 +f 17284//21617 35300//22995 17285//20724 +f 11731//18164 11730//18108 11651//18213 +f 33652//31493 33651//33360 33532//29728 +f 32964//14316 32963//14318 32855//21306 +f 32800//33681 32799//33135 32678//33124 +f 32679//33327 32800//33681 32678//33124 +f 31797//32754 31796//32252 31696//32603 +f 33061//32857 33166//32474 33060//31773 +f 21366//22581 33701//16874 33580//17479 +f 34975//1982 35104//32656 17859//1980 +f 34104//20089 21198//8787 34242//33628 +f 19423//22609 18225//22493 19433//22559 +f 34243//32900 34381//33682 34380//33629 +f 34242//33628 34243//32900 34380//33629 +f 34381//33682 34518//33683 34517//33630 +f 34380//33629 34381//33682 34517//33630 +f 34518//33683 34646//33684 34645//33631 +f 34517//33630 34518//33683 34645//33631 +f 34646//33684 34774//33685 34773//33632 +f 34645//33631 34646//33684 34773//33632 +f 34774//33685 34903//33686 34902//33633 +f 34773//33632 34774//33685 34902//33633 +f 35032//33687 35031//33634 34902//33633 +f 34903//33686 35032//33687 34902//33633 +f 35161//33688 35160//33635 35031//33634 +f 35032//33687 35161//33688 35031//33634 +f 35290//33689 35289//33636 35160//33635 +f 35161//33688 35290//33689 35160//33635 +f 35290//33689 28863//33690 17482//33637 +f 35289//33636 35290//33689 17482//33637 +f 28013//33691 29416//33638 17482//33637 +f 28863//33690 28013//33691 17482//33637 +f 9332//33692 13690//33639 29416//33638 +f 28013//33691 9332//33692 29416//33638 +f 34494//33693 34348//33640 13690//33639 +f 9332//33692 34494//33693 13690//33639 +f 33831//33694 33822//33641 34348//33640 +f 34494//33693 33831//33694 34348//33640 +f 33831//33694 35100//33695 35099//33642 +f 33822//33641 33831//33694 35099//33642 +f 32353//33696 32152//33643 35099//33642 +f 35100//33695 32353//33696 35099//33642 +f 12453//33697 11967//33644 32152//33643 +f 32353//33696 12453//33697 32152//33643 +f 12453//33697 33446//33698 33943//33645 +f 11967//33644 12453//33697 33943//33645 +f 33446//33698 34855//33699 33575//33646 +f 33943//33645 33446//33698 33575//33646 +f 34855//33699 13706//33700 34221//33647 +f 33575//33646 34855//33699 34221//33647 +f 13706//33700 34336//33701 33818//33648 +f 34221//33647 13706//33700 33818//33648 +f 34336//33701 34081//33702 33133//33649 +f 33818//33648 34336//33701 33133//33649 +f 34081//33702 28011//33703 35259//33650 +f 33133//33649 34081//33702 35259//33650 +f 28011//33703 34107//33704 32355//33651 +f 35259//33650 28011//33703 32355//33651 +f 34107//33704 29127//33705 19465//33652 +f 32355//33651 34107//33704 19465//33652 +f 29127//33705 30557//33706 33447//33653 +f 19465//33652 29127//33705 33447//33653 +f 30557//33706 30821//33707 35015//33654 +f 33447//33653 30557//33706 35015//33654 +f 30821//33707 35263//33708 34854//33655 +f 35015//33654 30821//33707 34854//33655 +f 35263//33708 33821//33709 33797//33656 +f 34854//33655 35263//33708 33797//33656 +f 33821//33709 35104//32656 34975//1982 +f 33797//33656 33821//33709 34975//1982 +f 32461//33710 6644//31811 2951//5485 +f 33243//22201 17331//22372 17408//22340 +f 3235//5784 3234//5626 3095//5783 +f 34567//26006 34695//6720 34566//6722 +f 31457//4193 31529//31657 31456//32343 +f 31529//31657 31616//26920 31528//32344 +f 32557//32583 32670//32530 32556//32642 +f 32560//31616 32673//31649 32559//31651 +f 33328//15988 33329//24950 33437//15989 +f 34586//32119 34585//31544 34448//31543 +f 32988//33079 32987//33657 32879//33662 +f 33094//33078 33199//33049 33093//33658 +f 32912//33711 32911//33137 32799//33135 +f 32800//33681 32912//33711 32799//33135 +f 33020//33712 33019//33362 32911//33137 +f 32912//33711 33020//33712 32911//33137 +f 33126//20010 33125//33374 33019//33362 +f 33020//33712 33126//20010 33019//33362 +f 33231//13869 33230//33419 33125//33374 +f 33126//20010 33231//13869 33125//33374 +f 33336//14313 33335//33048 33230//33419 +f 31634//33168 31633//33713 31546//33714 +f 31547//33167 31634//33168 31546//33714 +f 30995//16995 31056//32698 30994//17231 +f 35203//4309 35332//4308 35202//15530 +f 26512//28573 26424//25186 12130//31059 +f 33119//30456 33224//30973 33118//32251 +f 31547//33167 31546//33714 31474//33715 +f 33329//24950 33328//15988 33223//31165 +f 33231//13869 33336//14313 33230//33419 +f 31475//7665 31547//33167 31474//33715 +f 3934//9379 3803//9377 3935//9386 +f 31658//33716 31657//33666 31562//30189 +f 31563//30195 31658//33716 31562//30189 +f 31758//33717 31757//33667 31657//33666 +f 31658//33716 31758//33717 31657//33666 +f 31864//33718 31863//33668 31757//33667 +f 31758//33717 31864//33718 31757//33667 +f 31965//33719 31964//33669 31863//33668 +f 31864//33718 31965//33719 31863//33668 +f 32065//33720 32064//33670 31964//33669 +f 31965//33719 32065//33720 31964//33669 +f 32165//33721 32164//33671 32064//33670 +f 32065//33720 32165//33721 32064//33670 +f 32266//33722 32265//33672 32164//33671 +f 32165//33721 32266//33722 32164//33671 +f 32369//33723 32368//33673 32265//33672 +f 32266//33722 32369//33723 32265//33672 +f 32474//33724 32473//33674 32368//33673 +f 32369//33723 32474//33724 32368//33673 +f 32583//33725 32582//33675 32473//33674 +f 32474//33724 32583//33725 32473//33674 +f 32697//33726 32696//33676 32582//33675 +f 32583//33725 32697//33726 32582//33675 +f 32817//33727 32816//33677 32696//33676 +f 32697//33726 32817//33727 32696//33676 +f 32930//33728 32929//33678 32816//33677 +f 32817//33727 32930//33728 32816//33677 +f 33038//33729 33037//33679 32929//33678 +f 32930//33728 33038//33729 32929//33678 +f 33144//33730 33143//33680 33037//33679 +f 33038//33729 33144//33730 33037//33679 +f 33248//33731 33247//8390 33143//33680 +f 33144//33730 33248//33731 33143//33680 +f 33357//26112 33356//8391 33247//8390 +f 33248//33731 33357//26112 33247//8390 +f 21836//3215 21742//3214 35141//32053 +f 26512//28573 12130//31059 26513//670 +f 7517//13989 33556//10821 33443//32440 +f 2678//33732 23076//32024 17291//15419 +f 11520//4523 11519//14255 31950//5145 +f 32115//31613 32114//31620 32014//31614 +f 21198//8787 34243//32900 34242//33628 +f 31914//32045 32015//31612 31913//32115 +f 33070//14317 33069//32545 32963//14318 +f 587//4750 1615//4749 14380//22730 +f 6769//16536 3478//24318 34874//18903 +f 17398//21939 32685//21341 17399//22000 +f 34244//14567 34382//32027 34381//33682 +f 34243//32900 34244//14567 34381//33682 +f 34382//32027 34519//33733 34518//33683 +f 34381//33682 34382//32027 34518//33683 +f 34647//33734 34646//33684 34518//33683 +f 34519//33733 34647//33734 34518//33683 +f 34775//33735 34774//33685 34646//33684 +f 34647//33734 34775//33735 34646//33684 +f 34775//33735 34904//33736 34903//33686 +f 34774//33685 34775//33735 34903//33686 +f 34904//33736 35033//33737 35032//33687 +f 34903//33686 34904//33736 35032//33687 +f 35033//33737 35162//33738 35161//33688 +f 35032//33687 35033//33737 35161//33688 +f 35291//33739 35290//33689 35161//33688 +f 35162//33738 35291//33739 35161//33688 +f 14179//33740 28863//33690 35290//33689 +f 35291//33739 14179//33740 35290//33689 +f 28014//33741 28013//33691 28863//33690 +f 14179//33740 28014//33741 28863//33690 +f 13680//33742 9332//33692 28013//33691 +f 28014//33741 13680//33742 28013//33691 +f 34611//33743 34494//33693 9332//33692 +f 13680//33742 34611//33743 9332//33692 +f 33832//33744 33831//33694 34494//33693 +f 34611//33743 33832//33744 34494//33693 +f 33832//33744 35102//33745 35100//33695 +f 33831//33694 33832//33744 35100//33695 +f 35102//33745 32457//33746 32353//33696 +f 35100//33695 35102//33745 32353//33696 +f 32457//33746 11134//33747 12453//33697 +f 32353//33696 32457//33746 12453//33697 +f 11134//33747 32253//33748 33446//33698 +f 12453//33697 11134//33747 33446//33698 +f 21845//33749 34855//33699 33446//33698 +f 32253//33748 21845//33749 33446//33698 +f 33471//33750 13706//33700 34855//33699 +f 21845//33749 33471//33750 34855//33699 +f 33471//33750 35326//33751 34336//33701 +f 13706//33700 33471//33750 34336//33701 +f 35326//33751 35264//33752 34081//33702 +f 34336//33701 35326//33751 34081//33702 +f 35264//33752 34977//33753 28011//33703 +f 34081//33702 35264//33752 28011//33703 +f 34977//33753 35103//33754 34107//33704 +f 28011//33703 34977//33753 34107//33704 +f 35103//33754 33453//33755 29127//33705 +f 34107//33704 35103//33754 29127//33705 +f 33453//33755 34485//33756 30557//33706 +f 29127//33705 33453//33755 30557//33706 +f 34485//33756 33458//33757 30821//33707 +f 30557//33706 34485//33756 30821//33707 +f 33458//33757 35134//33758 35263//33708 +f 30821//33707 33458//33757 35263//33708 +f 35134//33758 35250//33759 33821//33709 +f 35263//33708 35134//33758 33821//33709 +f 35250//33759 13308//5889 35104//32656 +f 33821//33709 35250//33759 35104//32656 +f 13308//5889 34473//4314 5332//4151 +f 35104//32656 13308//5889 5332//4151 +f 22024//26558 35138//26599 22026//3597 +f 28584//4614 28713//28993 28583//22695 +f 31616//26920 31615//32345 31528//32344 +f 32003//31161 32002//31446 31901//31162 +f 31544//5769 31543//32894 31471//32499 +f 32764//32124 32763//32276 32649//25073 +f 34037//32556 34036//31807 33901//31806 +f 33641//32472 33640//24432 33521//24431 +f 32880//33092 32988//33079 32879//33662 +f 33094//33078 33093//33658 32987//33657 +f 31729//33122 31728//33665 31633//33713 +f 31634//33168 31729//33122 31633//33713 +f 33326//31647 33435//31646 33434//22234 +f 17852//32825 35006//33403 8688//22080 +f 31746//33760 31745//33466 31650//14802 +f 31651//9040 31746//33760 31650//14802 +f 31846//33761 31845//33498 31745//33466 +f 31746//33760 31846//33761 31745//33466 +f 31944//33762 31943//33499 31845//33498 +f 31846//33761 31944//33762 31845//33498 +f 33074//32469 33073//32234 32967//31629 +f 33897//31980 33896//31949 33762//31689 +f 31272//5474 31337//32713 31271//33763 +f 35332//4308 13107//32228 13224//27433 +f 31337//32713 31336//33764 31271//33763 +f 34007//32192 34143//32132 34006//28054 +f 32041//33765 32040//33501 31943//33499 +f 31600//14165 31599//14167 31512//31626 +f 31944//33762 32041//33765 31943//33499 +f 1308//6303 1309//6543 18562//6545 +f 31659//33766 31658//33716 31563//30195 +f 31564//30809 31659//33766 31563//30195 +f 31759//33767 31758//33717 31658//33716 +f 31659//33766 31759//33767 31658//33716 +f 31865//33768 31864//33718 31758//33717 +f 31759//33767 31865//33768 31758//33717 +f 31966//33769 31965//33719 31864//33718 +f 31865//33768 31966//33769 31864//33718 +f 32066//33770 32065//33720 31965//33719 +f 31966//33769 32066//33770 31965//33719 +f 32166//33771 32165//33721 32065//33720 +f 32066//33770 32166//33771 32065//33720 +f 32267//33772 32266//33722 32165//33721 +f 32166//33771 32267//33772 32165//33721 +f 32370//33773 32369//33723 32266//33722 +f 32267//33772 32370//33773 32266//33722 +f 32475//33774 32474//33724 32369//33723 +f 32370//33773 32475//33774 32369//33723 +f 32584//33775 32583//33725 32474//33724 +f 32475//33774 32584//33775 32474//33724 +f 32698//33776 32697//33726 32583//33725 +f 32584//33775 32698//33776 32583//33725 +f 32818//33777 32817//33727 32697//33726 +f 32698//33776 32818//33777 32697//33726 +f 32931//33778 32930//33728 32817//33727 +f 32818//33777 32931//33778 32817//33727 +f 33039//33779 33038//33729 32930//33728 +f 32931//33778 33039//33779 32930//33728 +f 33145//33780 33144//33730 33038//33729 +f 33039//33779 33145//33780 33038//33729 +f 33249//25920 33248//33731 33144//33730 +f 33145//33780 33249//25920 33144//33730 +f 18087//19853 21241//25692 21395//16080 +f 33248//33731 33249//25920 33357//26112 +f 17334//22529 33356//8391 33357//26112 +f 21201//16499 34382//32027 34244//14567 +f 32138//33781 32137//33503 32040//33501 +f 32041//33765 32138//33781 32040//33501 +f 32238//33782 32237//33504 32137//33503 +f 32138//33781 32238//33782 32137//33503 +f 33493//32755 33612//889 33492//31756 +f 33493//32755 33492//31756 33379//32203 +f 33114//15611 33219//16848 33113//15612 +f 34384//20327 34383//32028 21201//16499 +f 2143//3037 35142//33783 2142//20975 +f 26511//29144 26510//10834 26424//25186 +f 34383//32028 34520//33784 34519//33733 +f 34382//32027 34383//32028 34519//33733 +f 34520//33784 34648//33785 34647//33734 +f 34519//33733 34520//33784 34647//33734 +f 34648//33785 34776//33786 34775//33735 +f 34647//33734 34648//33785 34775//33735 +f 34776//33786 34905//33787 34904//33736 +f 34775//33735 34776//33786 34904//33736 +f 35034//33788 35033//33737 34904//33736 +f 34905//33787 35034//33788 34904//33736 +f 35163//33789 35162//33738 35033//33737 +f 35034//33788 35163//33789 35033//33737 +f 35292//33790 35291//33739 35162//33738 +f 35163//33789 35292//33790 35162//33738 +f 13218//33791 14179//33740 35291//33739 +f 35292//33790 13218//33791 35291//33739 +f 27898//33792 28014//33741 14179//33740 +f 13218//33791 27898//33792 14179//33740 +f 11132//33793 13680//33742 28014//33741 +f 27898//33792 11132//33793 28014//33741 +f 34623//33794 34611//33743 13680//33742 +f 11132//33793 34623//33794 13680//33742 +f 33833//33795 33832//33744 34611//33743 +f 34623//33794 33833//33795 34611//33743 +f 35110//33796 35102//33745 33832//33744 +f 33833//33795 35110//33796 33832//33744 +f 32458//33797 32457//33746 35102//33745 +f 35110//33796 32458//33797 35102//33745 +f 32458//33797 24365//33798 11134//33747 +f 32457//33746 32458//33797 11134//33747 +f 13978//33799 32253//33748 11134//33747 +f 24365//33798 13978//33799 11134//33747 +f 33664//33800 21845//33749 32253//33748 +f 13978//33799 33664//33800 32253//33748 +f 33664//33800 34884//33801 33471//33750 +f 21845//33749 33664//33800 33471//33750 +f 34884//33801 34993//33802 35326//33751 +f 33471//33750 34884//33801 35326//33751 +f 34993//33802 33691//33803 35264//33752 +f 35326//33751 34993//33802 35264//33752 +f 33691//33803 34978//33804 34977//33753 +f 35264//33752 33691//33803 34977//33753 +f 34978//33804 35241//33805 35103//33754 +f 34977//33753 34978//33804 35103//33754 +f 35241//33805 34606//33806 33453//33755 +f 35103//33754 35241//33805 33453//33755 +f 34606//33806 34857//33807 34485//33756 +f 33453//33755 34606//33806 34485//33756 +f 34857//33807 27991//33808 33458//33757 +f 34485//33756 34857//33807 33458//33757 +f 27991//33808 11887//33809 35134//33758 +f 33458//33757 27991//33808 35134//33758 +f 11887//33809 34861//4459 35250//33759 +f 35134//33758 11887//33809 35250//33759 +f 3757//3970 34473//4314 3758//4149 +f 35250//33759 34861//4459 13308//5889 +f 31448//32510 31520//23258 31447//31909 +f 6955//12979 6954//12967 6887//16907 +f 34685//23605 34813//31679 34684//23606 +f 34597//14587 6947//12184 6946//25587 +f 31711//28384 31710//32346 31615//32345 +f 31616//26920 31711//28384 31615//32345 +f 32326//32645 32429//32130 32428//17718 +f 32670//32530 32669//32518 32556//32642 +f 17336//22680 17335//22596 33357//26112 +f 32735//32080 32847//32704 32734//32564 +f 31203//30926 31267//31906 31202//30884 +f 33269//31799 33268//28865 33163//29088 +f 31795//31610 31901//31162 31794//32062 +f 32846//31062 32954//31061 32845//31685 +f 31337//32713 31404//30664 31336//33764 +f 31475//7665 31474//33715 31407//2397 +f 32340//33810 32339//33505 32237//33504 +f 32238//33782 32340//33810 32237//33504 +f 32444//33811 32443//33506 32339//33505 +f 32340//33810 32444//33811 32339//33505 +f 32551//33812 32550//33507 32443//33506 +f 32444//33811 32551//33812 32443//33506 +f 31404//30664 31471//32499 31403//33813 +f 31404//30664 31403//33813 31336//33764 +f 32664//33814 32663//33508 32550//33507 +f 31543//32894 31542//32235 31470//32895 +f 32551//33812 32664//33814 32550//33507 +f 32785//33815 32784//33509 32663//33508 +f 32664//33814 32785//33815 32663//33508 +f 31478//30844 31565//33816 31564//30809 +f 1308//6303 18562//6545 18465//6304 +f 31660//33817 31659//33766 31564//30809 +f 31565//33816 31660//33817 31564//30809 +f 31760//33818 31759//33767 31659//33766 +f 31660//33817 31760//33818 31659//33766 +f 31866//33819 31865//33768 31759//33767 +f 31760//33818 31866//33819 31759//33767 +f 31967//33820 31966//33769 31865//33768 +f 31866//33819 31967//33820 31865//33768 +f 32067//33821 32066//33770 31966//33769 +f 31967//33820 32067//33821 31966//33769 +f 32167//33822 32166//33771 32066//33770 +f 32067//33821 32167//33822 32066//33770 +f 32268//33823 32267//33772 32166//33771 +f 32167//33822 32268//33823 32166//33771 +f 32371//33824 32370//33773 32267//33772 +f 32268//33823 32371//33824 32267//33772 +f 32476//33825 32475//33774 32370//33773 +f 32371//33824 32476//33825 32370//33773 +f 32585//33826 32584//33775 32475//33774 +f 32476//33825 32585//33826 32475//33774 +f 32699//33827 32698//33776 32584//33775 +f 32585//33826 32699//33827 32584//33775 +f 32819//33828 32818//33777 32698//33776 +f 32699//33827 32819//33828 32698//33776 +f 32932//33829 32931//33778 32818//33777 +f 32819//33828 32932//33829 32818//33777 +f 33040//33830 33039//33779 32931//33778 +f 32932//33829 33040//33830 32931//33778 +f 33146//33831 33145//33780 33039//33779 +f 33040//33830 33146//33831 33039//33779 +f 33250//33832 33249//25920 33145//33780 +f 33146//33831 33250//33832 33145//33780 +f 21395//16080 20574//16079 18087//19853 +f 33250//33832 33359//16732 33249//25920 +f 17364//4318 34522//31417 19527//28202 +f 17335//22596 17412//22530 17334//22529 +f 6929//15088 35224//31582 35096//32047 +f 19347//17427 14345//19427 30745//28822 +f 32897//33833 32896//33524 32784//33509 +f 32785//33815 32897//33833 32784//33509 +f 33005//33834 33004//33558 32896//33524 +f 32897//33833 33005//33834 32896//33524 +f 33111//33835 33110//33559 33004//33558 +f 31307//28375 31374//32569 31306//31636 +f 31441//31209 31440//31627 31373//32275 +f 9341//6107 2749//3441 2076//4189 +f 17454//20211 17453//21297 35198//20210 +f 34384//20327 34521//33836 34520//33784 +f 34383//32028 34384//20327 34520//33784 +f 34521//33836 34649//33837 34648//33785 +f 34520//33784 34521//33836 34648//33785 +f 34649//33837 34777//33838 34776//33786 +f 34648//33785 34649//33837 34776//33786 +f 34906//33839 34905//33787 34776//33786 +f 34777//33838 34906//33839 34776//33786 +f 35035//33840 35034//33788 34905//33787 +f 34906//33839 35035//33840 34905//33787 +f 35164//33841 35163//33789 35034//33788 +f 35035//33840 35164//33841 35034//33788 +f 35293//32107 35292//33790 35163//33789 +f 35164//33841 35293//32107 35163//33789 +f 14285//32106 13218//33791 35292//33790 +f 35293//32107 14285//32106 35292//33790 +f 28872//33842 27898//33792 13218//33791 +f 14285//32106 28872//33842 13218//33791 +f 30802//33843 11132//33793 27898//33792 +f 28872//33842 30802//33843 27898//33792 +f 34733//33844 34623//33794 11132//33793 +f 30802//33843 34733//33844 11132//33793 +f 33835//33845 33833//33795 34623//33794 +f 34733//33844 33835//33845 34623//33794 +f 35117//33846 35110//33796 33833//33795 +f 33835//33845 35117//33846 33833//33795 +f 32918//33847 32458//33797 35110//33796 +f 35117//33846 32918//33847 35110//33796 +f 3086//33848 24365//33798 32458//33797 +f 32918//33847 3086//33848 32458//33797 +f 34992//33849 13978//33799 24365//33798 +f 3086//33848 34992//33849 24365//33798 +f 34864//33850 33664//33800 13978//33799 +f 34992//33849 34864//33850 13978//33799 +f 33668//33851 34884//33801 33664//33800 +f 34864//33850 33668//33851 33664//33800 +f 33668//33851 34350//33852 34993//33802 +f 34884//33801 33668//33851 34993//33802 +f 34350//33852 34990//33853 33691//33803 +f 34993//33802 34350//33852 33691//33803 +f 34990//33853 34982//33854 34978//33804 +f 33691//33803 34990//33853 34978//33804 +f 34982//33854 29266//33855 35241//33805 +f 34978//33804 34982//33854 35241//33805 +f 29266//33855 28727//33856 34606//33806 +f 35241//33805 29266//33855 34606//33806 +f 28727//33856 34491//33857 34857//33807 +f 34606//33806 28727//33856 34857//33807 +f 34491//33857 34364//33858 27991//33808 +f 34857//33807 34491//33857 27991//33808 +f 34364//33858 34355//31311 11887//33809 +f 27991//33808 34364//33858 11887//33809 +f 35189//18349 35317//21592 35188//21591 +f 11887//33809 34355//31311 34861//4459 +f 34288//33450 34287//31063 34149//21579 +f 6522//6228 4504//6231 6515//6098 +f 33404//31261 33403//31263 33294//31813 +f 31515//26875 31514//2301 31442//32602 +f 32014//31614 32013//33216 31912//32741 +f 32114//31620 32113//32647 32013//33216 +f 31711//28384 31811//32391 31810//32347 +f 31710//32346 31711//28384 31810//32347 +f 32325//32650 32326//32645 32428//17718 +f 31338//9742 31405//29322 31337//32713 +f 33755//31863 33889//33859 33754//31864 +f 34436//17261 34435//17263 34297//26161 +f 33769//2720 33768//31830 33641//32472 +f 31006//15826 31067//21215 31005//15827 +f 27028//32054 13005//16002 35329//13977 +f 31056//32698 31118//32190 31117//32189 +f 33515//31534 33634//31533 33514//14812 +f 31272//5474 31271//33763 31207//4610 +f 33005//33834 33111//33835 33004//33558 +f 33216//33860 33215//33561 33110//33559 +f 33111//33835 33216//33860 33110//33559 +f 33321//33861 33320//33562 33215//33561 +f 33216//33860 33321//33861 33215//33561 +f 33430//22480 33429//24754 33320//33562 +f 33321//33861 33430//22480 33320//33562 +f 30202//27408 22594//25507 30335//26108 +f 33430//22480 33543//15069 33429//24754 +f 31566//33862 31565//33816 31478//30844 +f 31479//444 31566//33862 31478//30844 +f 31661//33863 31660//33817 31565//33816 +f 31566//33862 31661//33863 31565//33816 +f 31761//33864 31760//33818 31660//33817 +f 31661//33863 31761//33864 31660//33817 +f 31867//33865 31866//33819 31760//33818 +f 31761//33864 31867//33865 31760//33818 +f 31968//33866 31967//33820 31866//33819 +f 31867//33865 31968//33866 31866//33819 +f 32068//33867 32067//33821 31967//33820 +f 31968//33866 32068//33867 31967//33820 +f 32168//33868 32167//33822 32067//33821 +f 32068//33867 32168//33868 32067//33821 +f 32269//33869 32268//33823 32167//33822 +f 32168//33868 32269//33869 32167//33822 +f 32372//33870 32371//33824 32268//33823 +f 32269//33869 32372//33870 32268//33823 +f 32477//33871 32476//33825 32371//33824 +f 32372//33870 32477//33871 32371//33824 +f 32586//33872 32585//33826 32476//33825 +f 32477//33871 32586//33872 32476//33825 +f 32700//33873 32699//33827 32585//33826 +f 32586//33872 32700//33873 32585//33826 +f 32820//33874 32819//33828 32699//33827 +f 32700//33873 32820//33874 32699//33827 +f 32933//33875 32932//33829 32819//33828 +f 32820//33874 32933//33875 32819//33828 +f 33041//33876 33040//33830 32932//33829 +f 32933//33875 33041//33876 32932//33829 +f 33147//33877 33146//33831 33040//33830 +f 33041//33876 33147//33877 33040//33830 +f 33251//33878 33250//33832 33146//33831 +f 33147//33877 33251//33878 33146//33831 +f 33360//16733 33359//16732 33250//33832 +f 33251//33878 33360//16733 33250//33832 +f 33465//22586 19117//21893 34340//18510 +f 33472//27585 17273//16734 33360//16733 +f 1451//14861 15207//22077 27436//22701 +f 1451//14861 27435//22700 26497//14859 +f 33206//31487 33311//31486 33205//31445 +f 35204//28937 35333//4307 35203//4309 +f 34907//33879 34906//33839 34777//33838 +f 35036//33880 35035//33840 34906//33839 +f 34907//33879 35036//33880 34906//33839 +f 35165//33356 35164//33841 35035//33840 +f 35036//33880 35165//33356 35035//33840 +f 14358//353 14345//19427 14359//351 +f 14359//351 19347//17427 13755//27429 +f 34931//14233 35060//25503 34930//14234 +f 26242//6749 25421//27956 23946//27982 +f 13678//32605 28872//33842 14285//32106 +f 19795//6748 23946//27982 23316//22929 +f 30820//33881 30802//33843 28872//33842 +f 13678//32605 30820//33881 28872//33842 +f 34751//33882 34733//33844 30802//33843 +f 30820//33881 34751//33882 30802//33843 +f 33837//33883 33835//33845 34733//33844 +f 34751//33882 33837//33883 34733//33844 +f 35119//33884 35117//33846 33835//33845 +f 33837//33883 35119//33884 33835//33845 +f 33134//33885 32918//33847 35117//33846 +f 35119//33884 33134//33885 35117//33846 +f 27288//33886 3086//33848 32918//33847 +f 33134//33885 27288//33886 32918//33847 +f 34605//33887 34992//33849 3086//33848 +f 27288//33886 34605//33887 3086//33848 +f 34859//33888 34864//33850 34992//33849 +f 34605//33887 34859//33888 34992//33849 +f 17798//33889 33668//33851 34864//33850 +f 34859//33888 17798//33889 34864//33850 +f 17798//33889 24366//33890 34350//33852 +f 33668//33851 17798//33889 34350//33852 +f 24366//33890 35253//33891 34990//33853 +f 34350//33852 24366//33890 34990//33853 +f 35253//33891 34225//33892 34982//33854 +f 34990//33853 35253//33891 34982//33854 +f 34225//33892 34612//33893 29266//33855 +f 34982//33854 34225//33892 29266//33855 +f 34612//33893 33932//33894 28727//33856 +f 29266//33855 34612//33893 28727//33856 +f 33932//33894 33834//33895 34491//33857 +f 28727//33856 33932//33894 34491//33857 +f 33834//33895 34492//31810 34364//33858 +f 34491//33857 33834//33895 34364//33858 +f 19480//22665 19371//21730 19481//21064 +f 34364//33858 34492//31810 34355//31311 +f 32308//32576 32307//14868 32206//32618 +f 35002//18895 902//15353 9281//5 +f 34150//33896 34149//21579 34013//21578 +f 34150//33896 34288//33450 34149//21579 +f 31631//15326 31630//14529 31543//32894 +f 32202//16298 32201//31213 32101//31449 +f 31707//32086 31807//32114 31706//32730 +f 31913//32115 32014//31614 31912//32741 +f 31811//32391 31917//32392 31916//32348 +f 31810//32347 31811//32391 31916//32348 +f 31916//32348 31917//32392 32017//32349 +f 31917//32392 32018//32913 32017//32349 +f 32017//32349 32018//32913 32117//32352 +f 32018//32913 32118//32914 32117//32352 +f 35771//1954 11412//1380 35538//8654 +f 31067//21215 31066//21214 31005//15827 +f 32624//33363 32738//32736 32623//33406 +f 35200//18547 35201//27806 35329//13977 +f 33505//21351 33624//32215 33504//21352 +f 32116//32351 32115//31613 32015//31612 +f 805//6702 923//4359 804//4358 +f 31318//32543 31317//32563 31252//32544 +f 32995//31573 32994//17563 32886//31513 +f 31444//32654 31516//32470 31443//15607 +f 14676//406 19095//19267 18173//18993 +f 26723//25473 26612//20158 34062//1543 +f 21502//186 20536//188 21972//24434 +f 27895//24541 25078//24428 30878//24427 +f 25078//24428 27895//24541 24408//14713 +f 17293//16667 17294//16922 17362//12177 +f 19969//17063 31145//19882 31209//21441 +f 5552//24319 3478//24318 14684//24280 +f 34248//22187 34386//21753 17275//22033 +f 7301//16435 34995//23117 12809//16434 +f 31408//443 31480//33897 31479//444 +f 31567//33898 31566//33862 31479//444 +f 31480//33897 31567//33898 31479//444 +f 31662//33899 31661//33863 31566//33862 +f 31567//33898 31662//33899 31566//33862 +f 31762//33900 31761//33864 31661//33863 +f 31662//33899 31762//33900 31661//33863 +f 31868//33901 31867//33865 31761//33864 +f 31762//33900 31868//33901 31761//33864 +f 31969//33902 31968//33866 31867//33865 +f 31868//33901 31969//33902 31867//33865 +f 32069//33903 32068//33867 31968//33866 +f 31969//33902 32069//33903 31968//33866 +f 32169//33904 32168//33868 32068//33867 +f 32069//33903 32169//33904 32068//33867 +f 32270//33905 32269//33869 32168//33868 +f 32169//33904 32270//33905 32168//33868 +f 32373//33906 32372//33870 32269//33869 +f 32270//33905 32373//33906 32269//33869 +f 32478//33907 32477//33871 32372//33870 +f 32373//33906 32478//33907 32372//33870 +f 32587//33908 32586//33872 32477//33871 +f 32478//33907 32587//33908 32477//33871 +f 32701//33909 32700//33873 32586//33872 +f 32587//33908 32701//33909 32586//33872 +f 32821//33910 32820//33874 32700//33873 +f 32701//33909 32821//33910 32700//33873 +f 32934//33911 32933//33875 32820//33874 +f 32821//33910 32934//33911 32820//33874 +f 33042//33912 33041//33876 32933//33875 +f 32934//33911 33042//33912 32933//33875 +f 33148//33913 33147//33877 33041//33876 +f 33042//33912 33148//33913 33041//33876 +f 33252//33914 33251//33878 33147//33877 +f 33148//33913 33252//33914 33147//33877 +f 33361//33915 33360//16733 33251//33878 +f 33252//33914 33361//33915 33251//33878 +f 33473//33916 33472//27585 33360//16733 +f 33361//33915 33473//33916 33360//16733 +f 33473//33916 33590//33917 33589//27584 +f 33472//27585 33473//33916 33589//27584 +f 17351//11152 35169//9373 17352//11153 +f 33590//33917 33711//31109 33589//27584 +f 33711//31109 33839//33918 33838//31110 +f 33839//33918 33974//22029 33973//31211 +f 33838//31110 33839//33918 33973//31211 +f 26967//22028 33973//31211 33974//22029 +f 13896//3502 7998//2670 13391//13367 +f 35317//21592 6907//12731 35187//14148 +f 17342//22027 17274//22030 34248//22187 +f 7627//8420 1167//3641 1166//3640 +f 6765//1392 18477//21715 17366//1393 +f 34337//22703 18195//22608 34478//22610 +f 34386//21753 17343//22026 17275//22033 +f 18477//21715 6765//1392 5057//1711 +f 18724//22732 18119//16609 18133//22829 +f 33116//30190 33221//32342 33115//30191 +f 34133//6042 34271//6198 34132//6200 +f 33295//31987 33294//31813 33189//31522 +f 34462//22175 34463//13956 6881//13955 +f 33589//27584 26850//31111 17338//16763 +f 16446//19585 13017//22263 22239//16748 +f 18042//21871 22239//16748 13017//22263 +f 13184//17400 12995//14806 34343//1601 +f 30805//33555 30820//33881 13678//32605 +f 22239//16748 18612//22262 18118//16749 +f 34862//33919 34751//33882 30820//33881 +f 30805//33555 34862//33919 30820//33881 +f 33921//33920 33837//33883 34751//33882 +f 34862//33919 33921//33920 34751//33882 +f 35123//33921 35119//33884 33837//33883 +f 33921//33920 35123//33921 33837//33883 +f 33234//33922 33134//33885 35119//33884 +f 35123//33921 33234//33922 35119//33884 +f 35318//33923 27288//33886 33134//33885 +f 33234//33922 35318//33923 33134//33885 +f 33705//33924 34605//33887 27288//33886 +f 35318//33923 33705//33924 27288//33886 +f 33558//33925 34859//33888 34605//33887 +f 33705//33924 33558//33925 34605//33887 +f 33663//33926 17798//33889 34859//33888 +f 33558//33925 33663//33926 34859//33888 +f 33663//33926 28867//33927 24366//33890 +f 17798//33889 33663//33926 24366//33890 +f 28867//33927 34466//33928 35253//33891 +f 24366//33890 28867//33927 35253//33891 +f 34466//33928 35245//33929 34225//33892 +f 35253//33891 34466//33928 34225//33892 +f 35245//33929 33448//33930 34612//33893 +f 34225//33892 35245//33929 34612//33893 +f 33448//33930 2387//33931 33932//33894 +f 34612//33893 33448//33930 33932//33894 +f 2387//33931 34084//33932 33834//33895 +f 33932//33894 2387//33931 33834//33895 +f 34084//33932 13025//32257 34492//31810 +f 33834//33895 34084//33932 34492//31810 +f 13025//32257 3226//4782 34492//31810 +f 28713//28993 28584//4614 28714//4613 +f 32207//32060 32308//32576 32206//32618 +f 32965//32250 33071//32696 32964//14316 +f 34014//32419 34013//21578 33878//32943 +f 34014//32419 34150//33896 34013//21578 +f 31015//31817 31014//32712 30956//16704 +f 31201//30886 31200//32774 31137//32757 +f 31913//32115 31912//32741 31806//32740 +f 31807//32114 31913//32115 31806//32740 +f 31612//32400 31707//32086 31611//32799 +f 31807//32114 31806//32740 31706//32730 +f 31525//32402 31612//32400 31524//32734 +f 31707//32086 31706//32730 31611//32799 +f 32118//32914 32218//32201 32217//32354 +f 32117//32352 32118//32914 32217//32354 +f 27435//22700 1451//14861 27436//22701 +f 33903//31214 33902//32523 33768//31830 +f 32738//32736 32737//32579 32623//33406 +f 32850//32229 32849//32230 32737//32579 +f 33636//31977 33763//31688 33635//31532 +f 33379//32203 33492//31756 33378//32204 +f 34423//33933 34422//5976 34284//5975 +f 33778//33359 33777//31738 33650//29729 +f 30902//17555 30960//33934 30959//24234 +f 30960//33934 31021//33935 31020//24235 +f 30959//24234 30960//33934 31020//24235 +f 31021//33935 31083//33936 31082//22382 +f 31020//24235 31021//33935 31082//22382 +f 31083//33936 31146//33937 31145//19882 +f 31082//22382 31083//33936 31145//19882 +f 31146//33937 31210//33938 31209//21441 +f 31145//19882 31146//33937 31209//21441 +f 31210//33938 31275//33939 31274//21439 +f 31209//21441 31210//33938 31274//21439 +f 31275//33939 31342//33940 31341//30776 +f 31274//21439 31275//33939 31341//30776 +f 31342//33940 31409//33941 31408//443 +f 31341//30776 31342//33940 31408//443 +f 31481//33942 31480//33897 31408//443 +f 31409//33941 31481//33942 31408//443 +f 31568//33943 31567//33898 31480//33897 +f 31481//33942 31568//33943 31480//33897 +f 31663//33944 31662//33899 31567//33898 +f 31568//33943 31663//33944 31567//33898 +f 31763//33945 31762//33900 31662//33899 +f 31663//33944 31763//33945 31662//33899 +f 31869//33946 31868//33901 31762//33900 +f 31763//33945 31869//33946 31762//33900 +f 31970//33947 31969//33902 31868//33901 +f 31869//33946 31970//33947 31868//33901 +f 32070//33948 32069//33903 31969//33902 +f 31970//33947 32070//33948 31969//33902 +f 32170//33949 32169//33904 32069//33903 +f 32070//33948 32170//33949 32069//33903 +f 32271//33950 32270//33905 32169//33904 +f 32170//33949 32271//33950 32169//33904 +f 32374//33951 32373//33906 32270//33905 +f 32271//33950 32374//33951 32270//33905 +f 32479//33952 32478//33907 32373//33906 +f 32374//33951 32479//33952 32373//33906 +f 32588//33953 32587//33908 32478//33907 +f 32479//33952 32588//33953 32478//33907 +f 32702//33954 32701//33909 32587//33908 +f 32588//33953 32702//33954 32587//33908 +f 32822//33955 32821//33910 32701//33909 +f 32702//33954 32822//33955 32701//33909 +f 32935//33956 32934//33911 32821//33910 +f 32822//33955 32935//33956 32821//33910 +f 33043//33957 33042//33912 32934//33911 +f 32935//33956 33043//33957 32934//33911 +f 33149//33958 33148//33913 33042//33912 +f 33043//33957 33149//33958 33042//33912 +f 33253//33959 33252//33914 33148//33913 +f 33149//33958 33253//33959 33148//33913 +f 33362//33960 33361//33915 33252//33914 +f 33253//33959 33362//33960 33252//33914 +f 33474//33961 33473//33916 33361//33915 +f 33362//33960 33474//33961 33361//33915 +f 33474//33961 33591//33962 33590//33917 +f 33473//33916 33474//33961 33590//33917 +f 33591//33962 33712//33963 33711//31109 +f 33590//33917 33591//33962 33711//31109 +f 33712//33963 33840//33964 33839//33918 +f 33711//31109 33712//33963 33839//33918 +f 33840//33964 33975//32940 33974//22029 +f 33839//33918 33840//33964 33974//22029 +f 35396//3659 13896//3502 35639//13369 +f 13896//3502 35396//3659 9992//8187 +f 34111//33467 34249//33965 34248//22187 +f 13896//3502 13391//13367 35639//13369 +f 34249//33965 34387//33966 34386//21753 +f 34248//22187 34249//33965 34386//21753 +f 34387//33966 34524//33967 34523//21754 +f 34386//21753 34387//33966 34523//21754 +f 34524//33967 34652//21594 34651//22404 +f 34523//21754 34524//33967 34651//22404 +f 26968//20123 28745//2089 29008//4496 +f 34652//21594 34780//33968 17278//21595 +f 34651//22404 34652//21594 17277//21593 +f 13790//966 34195//29208 14737//1432 +f 33085//31947 33084//31521 32978//32103 +f 32887//31638 32886//31513 32774//32129 +f 33897//31980 34032//31983 33896//31949 +f 31377//31672 31444//32654 31376//15606 +f 33101//31484 33206//31487 33100//17564 +f 33176//33166 33281//17441 33175//32697 +f 34878//31419 2790//33554 19043//21229 +f 32914//2274 32913//17864 32801//2272 +f 18612//22262 22239//16748 18042//21871 +f 3226//4782 13025//32257 3227//4781 +f 34878//31419 34862//33919 30805//33555 +f 2790//33554 34878//31419 30805//33555 +f 33931//31418 33921//33920 34862//33919 +f 34878//31419 33931//31418 34862//33919 +f 35125//33969 35123//33921 33921//33920 +f 33931//31418 35125//33969 33921//33920 +f 33463//33970 33234//33922 35123//33921 +f 35125//33969 33463//33970 35123//33921 +f 25659//33971 35318//33923 33234//33922 +f 33463//33970 25659//33971 33234//33922 +f 19670//33972 33705//33924 35318//33923 +f 25659//33971 19670//33972 35318//33923 +f 12205//33973 33558//33925 33705//33924 +f 19670//33972 12205//33973 33705//33924 +f 12205//33973 35130//33974 33663//33926 +f 33558//33925 12205//33973 33663//33926 +f 35130//33974 34650//33975 28867//33927 +f 33663//33926 35130//33974 28867//33927 +f 34650//33975 34737//33976 34466//33928 +f 28867//33927 34650//33975 34466//33928 +f 34737//33976 33813//33977 35245//33929 +f 34466//33928 34737//33976 35245//33929 +f 33813//33977 33577//33978 33448//33930 +f 35245//33929 33813//33977 33448//33930 +f 33577//33978 33690//33979 2387//33931 +f 33448//33930 33577//33978 2387//33931 +f 33690//33979 35323//33980 34084//33932 +f 2387//33931 33690//33979 34084//33932 +f 35323//33980 33687//4930 13025//32257 +f 34084//33932 35323//33980 13025//32257 +f 13116//6421 6139//1010 11550//6422 +f 17415//22759 17337//22760 17338//16763 +f 32411//32816 32410//33033 32307//14868 +f 32308//32576 32411//32816 32307//14868 +f 33879//32212 33878//32943 33744//33405 +f 33879//32212 34014//32419 33878//32943 +f 33014//27634 33013//30457 32905//27635 +f 32876//32775 32875//4306 32763//32276 +f 34289//32690 34288//33450 34150//33896 +f 31464//31871 31536//31847 31463//31873 +f 31453//32403 31525//32402 31452//32733 +f 31904//29599 31903//16302 31797//32754 +f 32318//32396 32319//32202 32421//32397 +f 31612//32400 31611//32799 31524//32734 +f 33619//32491 33618//32273 33499//33497 +f 32218//32201 32319//32202 32318//32396 +f 33751//32601 33885//32121 33750//32960 +f 31949//5146 32046//2635 31948//32264 +f 32116//32351 32216//31752 32115//31613 +f 30952//22832 31010//15863 30951//18792 +f 31715//32297 31716//33661 31815//32295 +f 32982//32048 32983//4305 33088//31566 +f 34816//30669 34815//31705 34687//32858 +f 32426//32225 32427//17717 32531//32135 +f 30849//17557 30903//33981 30902//17555 +f 30961//33982 30960//33934 30902//17555 +f 30903//33981 30961//33982 30902//17555 +f 30961//33982 31022//33983 31021//33935 +f 30960//33934 30961//33982 31021//33935 +f 31084//33984 31083//33936 31021//33935 +f 31022//33983 31084//33984 31021//33935 +f 31147//33985 31146//33937 31083//33936 +f 31084//33984 31147//33985 31083//33936 +f 31211//33986 31210//33938 31146//33937 +f 31147//33985 31211//33986 31146//33937 +f 31276//33987 31275//33939 31210//33938 +f 31211//33986 31276//33987 31210//33938 +f 31343//33988 31342//33940 31275//33939 +f 31276//33987 31343//33988 31275//33939 +f 31410//33989 31409//33941 31342//33940 +f 31343//33988 31410//33989 31342//33940 +f 31482//33990 31481//33942 31409//33941 +f 31410//33989 31482//33990 31409//33941 +f 31569//33991 31568//33943 31481//33942 +f 31482//33990 31569//33991 31481//33942 +f 31664//33992 31663//33944 31568//33943 +f 31569//33991 31664//33992 31568//33943 +f 31764//33993 31763//33945 31663//33944 +f 31664//33992 31764//33993 31663//33944 +f 31870//33994 31869//33946 31763//33945 +f 31764//33993 31870//33994 31763//33945 +f 31971//33995 31970//33947 31869//33946 +f 31870//33994 31971//33995 31869//33946 +f 32071//33996 32070//33948 31970//33947 +f 31971//33995 32071//33996 31970//33947 +f 32171//33997 32170//33949 32070//33948 +f 32071//33996 32171//33997 32070//33948 +f 32272//33998 32271//33950 32170//33949 +f 32171//33997 32272//33998 32170//33949 +f 32375//33999 32374//33951 32271//33950 +f 32272//33998 32375//33999 32271//33950 +f 32480//34000 32479//33952 32374//33951 +f 32375//33999 32480//34000 32374//33951 +f 32589//34001 32588//33953 32479//33952 +f 32480//34000 32589//34001 32479//33952 +f 32703//34002 32702//33954 32588//33953 +f 32589//34001 32703//34002 32588//33953 +f 32823//34003 32822//33955 32702//33954 +f 32703//34002 32823//34003 32702//33954 +f 32936//34004 32935//33956 32822//33955 +f 32823//34003 32936//34004 32822//33955 +f 33044//34005 33043//33957 32935//33956 +f 32936//34004 33044//34005 32935//33956 +f 33150//34006 33149//33958 33043//33957 +f 33044//34005 33150//34006 33043//33957 +f 33254//34007 33253//33959 33149//33958 +f 33150//34006 33254//34007 33149//33958 +f 33363//34008 33362//33960 33253//33959 +f 33254//34007 33363//34008 33253//33959 +f 33475//34009 33474//33961 33362//33960 +f 33363//34008 33475//34009 33362//33960 +f 33592//34010 33591//33962 33474//33961 +f 33475//34009 33592//34010 33474//33961 +f 33592//34010 33713//34011 33712//33963 +f 33591//33962 33592//34010 33712//33963 +f 33841//34012 33840//33964 33712//33963 +f 33713//34011 33841//34012 33712//33963 +f 33976//34013 33975//32940 33840//33964 +f 33841//34012 33976//34013 33840//33964 +f 34112//34014 34111//33467 33975//32940 +f 33976//34013 34112//34014 33975//32940 +f 34250//34015 34249//33965 34111//33467 +f 34112//34014 34250//34015 34111//33467 +f 34388//34016 34387//33966 34249//33965 +f 34250//34015 34388//34016 34249//33965 +f 34525//34017 34524//33967 34387//33966 +f 34388//34016 34525//34017 34387//33966 +f 34525//34017 34653//34018 34652//21594 +f 34524//33967 34525//34017 34652//21594 +f 34653//34018 34781//34019 34780//33968 +f 34652//21594 34653//34018 34780//33968 +f 34781//34019 34910//22193 34909//30810 +f 34780//33968 34781//34019 34909//30810 +f 10689//23037 18815//23086 18700//22956 +f 35704//8194 35894//7274 35728//6505 +f 34032//31983 34031//31816 33896//31949 +f 6913//14253 22237//3275 22435//32607 +f 32123//32528 32223//33659 32222//32266 +f 31809//31914 31915//32044 31808//32046 +f 32324//33660 32427//17717 32426//32225 +f 32620//31112 32734//32564 32619//31113 +f 17417//16764 26850//31111 17418//22997 +f 34944//31642 34943//31678 34814//31677 +f 29828//2364 35556//9807 35246//17924 +f 26850//31111 17417//16764 17338//16763 +f 33934//18229 2140//18228 35132//17236 +f 33698//22694 33825//5627 28584//4614 +f 35128//34020 35125//33969 33931//31418 +f 33934//18229 35128//34020 33931//31418 +f 33464//34021 33463//33970 35125//33969 +f 35128//34020 33464//34021 35125//33969 +f 31855//34022 25659//33971 33463//33970 +f 33464//34021 31855//34022 33463//33970 +f 33242//34023 19670//33972 25659//33971 +f 31855//34022 33242//34023 25659//33971 +f 13966//34024 12205//33973 19670//33972 +f 33242//34023 13966//34024 19670//33972 +f 13966//34024 17340//34025 35130//33974 +f 12205//33973 13966//34024 35130//33974 +f 17340//34025 34471//34026 34650//33975 +f 35130//33974 17340//34025 34650//33975 +f 34471//34026 34746//34027 34737//33976 +f 34650//33975 34471//34026 34737//33976 +f 34746//34027 34331//34028 33813//33977 +f 34737//33976 34746//34027 33813//33977 +f 34331//34028 34080//34029 33577//33978 +f 33813//33977 34331//34028 33577//33978 +f 34080//34029 33572//34030 33690//33979 +f 33577//33978 34080//34029 33690//33979 +f 33572//34030 35143//34031 35323//33980 +f 33690//33979 33572//34030 35323//33980 +f 35143//34031 14069//5075 33687//4930 +f 35323//33980 35143//34031 33687//4930 +f 11443//15975 33928//31670 20154//15976 +f 22429//17724 9645//15269 22527//16048 +f 32516//33358 32515//32554 32410//33033 +f 32411//32816 32516//33358 32410//33033 +f 33499//33497 33618//32273 33498//32546 +f 33745//32272 33879//32212 33744//33405 +f 31063//32488 31062//31593 31001//31892 +f 33745//32272 33744//33405 33617//32897 +f 31453//32403 31452//32733 31385//32561 +f 35070//31164 35199//13979 35198//20210 +f 31319//32406 31386//32404 31318//32543 +f 31386//32404 31453//32403 31385//32561 +f 32217//32354 32218//32201 32318//32396 +f 32422//31709 32527//34032 32526//32410 +f 33387//21986 33500//32673 33386//32989 +f 30945//33266 30944//34033 30890//17005 +f 32901//14888 32900//14890 32788//23020 +f 32225//31869 32224//32651 32124//31870 +f 33625//32213 33624//32215 33505//21351 +f 33751//32601 33750//32960 33623//33034 +f 32323//32227 32324//33660 32426//32225 +f 31136//34034 31199//32446 31198//32300 +f 32427//17717 32532//17719 32531//32135 +f 30904//34035 30903//33981 30849//17557 +f 30850//17800 30904//34035 30849//17557 +f 30962//34036 30961//33982 30903//33981 +f 30904//34035 30962//34036 30903//33981 +f 31023//34037 31022//33983 30961//33982 +f 30962//34036 31023//34037 30961//33982 +f 31085//34038 31084//33984 31022//33983 +f 31023//34037 31085//34038 31022//33983 +f 31148//34039 31147//33985 31084//33984 +f 31085//34038 31148//34039 31084//33984 +f 31212//34040 31211//33986 31147//33985 +f 31148//34039 31212//34040 31147//33985 +f 31277//34041 31276//33987 31211//33986 +f 31212//34040 31277//34041 31211//33986 +f 31344//34042 31343//33988 31276//33987 +f 31277//34041 31344//34042 31276//33987 +f 31411//34043 31410//33989 31343//33988 +f 31344//34042 31411//34043 31343//33988 +f 31483//34044 31482//33990 31410//33989 +f 31411//34043 31483//34044 31410//33989 +f 31570//34045 31569//33991 31482//33990 +f 31483//34044 31570//34045 31482//33990 +f 31665//34046 31664//33992 31569//33991 +f 31570//34045 31665//34046 31569//33991 +f 31765//34047 31764//33993 31664//33992 +f 31665//34046 31765//34047 31664//33992 +f 31871//34048 31870//33994 31764//33993 +f 31765//34047 31871//34048 31764//33993 +f 31972//34049 31971//33995 31870//33994 +f 31871//34048 31972//34049 31870//33994 +f 32072//34050 32071//33996 31971//33995 +f 31972//34049 32072//34050 31971//33995 +f 32172//34051 32171//33997 32071//33996 +f 32072//34050 32172//34051 32071//33996 +f 32273//34052 32272//33998 32171//33997 +f 32172//34051 32273//34052 32171//33997 +f 32376//34053 32375//33999 32272//33998 +f 32273//34052 32376//34053 32272//33998 +f 32481//34054 32480//34000 32375//33999 +f 32376//34053 32481//34054 32375//33999 +f 32590//34055 32589//34001 32480//34000 +f 32481//34054 32590//34055 32480//34000 +f 32704//34056 32703//34002 32589//34001 +f 32590//34055 32704//34056 32589//34001 +f 32824//34057 32823//34003 32703//34002 +f 32704//34056 32824//34057 32703//34002 +f 32937//34058 32936//34004 32823//34003 +f 32824//34057 32937//34058 32823//34003 +f 33045//34059 33044//34005 32936//34004 +f 32937//34058 33045//34059 32936//34004 +f 33151//34060 33150//34006 33044//34005 +f 33045//34059 33151//34060 33044//34005 +f 33255//34061 33254//34007 33150//34006 +f 33151//34060 33255//34061 33150//34006 +f 33364//34062 33363//34008 33254//34007 +f 33255//34061 33364//34062 33254//34007 +f 33476//34063 33475//34009 33363//34008 +f 33364//34062 33476//34063 33363//34008 +f 33593//34064 33592//34010 33475//34009 +f 33476//34063 33593//34064 33475//34009 +f 33714//34065 33713//34011 33592//34010 +f 33593//34064 33714//34065 33592//34010 +f 33842//34066 33841//34012 33713//34011 +f 33714//34065 33842//34066 33713//34011 +f 33977//34067 33976//34013 33841//34012 +f 33842//34066 33977//34067 33841//34012 +f 34113//34068 34112//34014 33976//34013 +f 33977//34067 34113//34068 33976//34013 +f 34251//34069 34250//34015 34112//34014 +f 34113//34068 34251//34069 34112//34014 +f 34389//34070 34388//34016 34250//34015 +f 34251//34069 34389//34070 34250//34015 +f 34526//34071 34525//34017 34388//34016 +f 34389//34070 34526//34071 34388//34016 +f 34654//34072 34653//34018 34525//34017 +f 34526//34071 34654//34072 34525//34017 +f 34654//34072 34782//34073 34781//34019 +f 34653//34018 34654//34072 34781//34019 +f 34782//34073 34911//31796 34910//22193 +f 34781//34019 34782//34073 34910//22193 +f 35597//6452 35564//9713 35715//3638 +f 26853//16354 26971//8495 11854//16103 +f 806//6390 33552//6389 807//6397 +f 26853//16354 11854//16103 11770//16102 +f 33179//25390 33178//25392 33073//32234 +f 33025//22884 6542//11143 10600//11142 +f 32247//24523 32349//32498 32246//26689 +f 33283//31601 33392//32893 33282//33217 +f 31135//32357 31136//34034 31198//32300 +f 31195//17546 31259//17545 31258//32840 +f 31373//32275 31372//17439 31305//16794 +f 33071//32696 33176//33166 33070//14317 +f 10810//13157 6514//5938 6515//6098 +f 31306//31636 31373//32275 31305//16794 +f 35132//17236 35128//34020 33934//18229 +f 17336//22680 17273//16734 17337//22760 +f 33557//34074 33464//34021 35128//34020 +f 35132//17236 33557//34074 35128//34020 +f 28877//34075 31855//34022 33464//34021 +f 33557//34074 28877//34075 33464//34021 +f 33238//34076 33242//34023 31855//34022 +f 28877//34075 33238//34076 31855//34022 +f 33238//34076 35242//34077 13966//34024 +f 33242//34023 33238//34076 13966//34024 +f 14267//34078 17340//34025 13966//34024 +f 35242//34077 14267//34078 13966//34024 +f 14267//34078 11874//34079 34471//34026 +f 17340//34025 14267//34078 34471//34026 +f 11874//34079 34480//34080 34746//34027 +f 34471//34026 11874//34079 34746//34027 +f 34480//34080 33667//34081 34331//34028 +f 34746//34027 34480//34080 34331//34028 +f 33667//34081 34109//34082 34080//34029 +f 34331//34028 33667//34081 34080//34029 +f 34109//34082 28463//34083 33572//34030 +f 34080//34029 34109//34082 33572//34030 +f 28463//34083 35131//32917 35143//34031 +f 33572//34030 28463//34083 35143//34031 +f 2543//22621 25829//25552 24278//25783 +f 35143//34031 35131//32917 14069//5075 +f 31948//32264 31947//21130 31849//17621 +f 19822//19259 34075//19258 19938//13616 +f 33499//33497 33498//32546 33385//32553 +f 32625//21616 32624//33363 32515//32554 +f 31125//32490 31188//32759 31187//31885 +f 33386//32989 33499//33497 33385//32553 +f 31319//32406 31318//32543 31253//32542 +f 31002//33452 31063//32488 31001//31892 +f 32750//31639 32862//32942 32749//32465 +f 31254//32408 31319//32406 31253//32542 +f 32970//32571 32969//32467 32861//32466 +f 32862//32942 32970//32571 32861//32466 +f 34151//32418 34289//32690 34150//33896 +f 32319//32202 32422//31709 32421//32397 +f 32847//32704 32955//31060 32846//31062 +f 34564//22659 34563//22661 34426//30281 +f 32406//31781 32511//31783 32405//30366 +f 32210//31365 32311//32231 32209//31366 +f 33506//32505 33625//32213 33505//21351 +f 32527//34032 32528//4144 32636//31640 +f 32654//31511 32775//31508 32774//32129 +f 32628//31718 32627//31708 32518//31770 +f 30905//34084 30904//34035 30850//17800 +f 30851//17801 30905//34084 30850//17800 +f 30963//34085 30962//34036 30904//34035 +f 30905//34084 30963//34085 30904//34035 +f 31024//34086 31023//34037 30962//34036 +f 30963//34085 31024//34086 30962//34036 +f 31086//34087 31085//34038 31023//34037 +f 31024//34086 31086//34087 31023//34037 +f 31149//34088 31148//34039 31085//34038 +f 31086//34087 31149//34088 31085//34038 +f 31213//34089 31212//34040 31148//34039 +f 31149//34088 31213//34089 31148//34039 +f 31278//34090 31277//34041 31212//34040 +f 31213//34089 31278//34090 31212//34040 +f 31345//34091 31344//34042 31277//34041 +f 31278//34090 31345//34091 31277//34041 +f 31412//34092 31411//34043 31344//34042 +f 31345//34091 31412//34092 31344//34042 +f 31484//34093 31483//34044 31411//34043 +f 31412//34092 31484//34093 31411//34043 +f 31571//34094 31570//34045 31483//34044 +f 31484//34093 31571//34094 31483//34044 +f 31666//34095 31665//34046 31570//34045 +f 31571//34094 31666//34095 31570//34045 +f 31766//34096 31765//34047 31665//34046 +f 31666//34095 31766//34096 31665//34046 +f 31872//34097 31871//34048 31765//34047 +f 31766//34096 31872//34097 31765//34047 +f 31973//34098 31972//34049 31871//34048 +f 31872//34097 31973//34098 31871//34048 +f 32073//34099 32072//34050 31972//34049 +f 31973//34098 32073//34099 31972//34049 +f 32173//34100 32172//34051 32072//34050 +f 32073//34099 32173//34100 32072//34050 +f 32274//34101 32273//34052 32172//34051 +f 32173//34100 32274//34101 32172//34051 +f 32377//34102 32376//34053 32273//34052 +f 32274//34101 32377//34102 32273//34052 +f 32482//34103 32481//34054 32376//34053 +f 32377//34102 32482//34103 32376//34053 +f 32591//34104 32590//34055 32481//34054 +f 32482//34103 32591//34104 32481//34054 +f 32705//34105 32704//34056 32590//34055 +f 32591//34104 32705//34105 32590//34055 +f 32825//34106 32824//34057 32704//34056 +f 32705//34105 32825//34106 32704//34056 +f 32938//34107 32937//34058 32824//34057 +f 32825//34106 32938//34107 32824//34057 +f 33046//34108 33045//34059 32937//34058 +f 32938//34107 33046//34108 32937//34058 +f 33152//34109 33151//34060 33045//34059 +f 33046//34108 33152//34109 33045//34059 +f 33256//34110 33255//34061 33151//34060 +f 33152//34109 33256//34110 33151//34060 +f 33365//34111 33364//34062 33255//34061 +f 33256//34110 33365//34111 33255//34061 +f 33477//34112 33476//34063 33364//34062 +f 33365//34111 33477//34112 33364//34062 +f 33594//34113 33593//34064 33476//34063 +f 33477//34112 33594//34113 33476//34063 +f 33715//34114 33714//34065 33593//34064 +f 33594//34113 33715//34114 33593//34064 +f 33843//34115 33842//34066 33714//34065 +f 33715//34114 33843//34115 33714//34065 +f 33978//34116 33977//34067 33842//34066 +f 33843//34115 33978//34116 33842//34066 +f 34114//34117 34113//34068 33977//34067 +f 33978//34116 34114//34117 33977//34067 +f 34252//34118 34251//34069 34113//34068 +f 34114//34117 34252//34118 34113//34068 +f 34390//34119 34389//34070 34251//34069 +f 34252//34118 34390//34119 34251//34069 +f 34527//34120 34526//34071 34389//34070 +f 34390//34119 34527//34120 34389//34070 +f 34655//34121 34654//34072 34526//34071 +f 34527//34120 34655//34121 34526//34071 +f 34783//34122 34782//34073 34654//34072 +f 34655//34121 34783//34122 34654//34072 +f 34783//34122 34912//34123 34911//31796 +f 34782//34073 34783//34122 34911//31796 +f 34912//34123 35041//34124 35040//9375 +f 34911//31796 34912//34123 35040//9375 +f 35041//34124 35170//22994 35169//9373 +f 35040//9375 35041//34124 35169//9373 +f 115//5160 34845//21027 116//5158 +f 35333//4307 13985//32665 13107//32228 +f 13106//11034 28591//3274 19573//31915 +f 17488//21999 17399//22000 17400//6348 +f 32541//31538 32654//31511 32653//34125 +f 32419//31578 32524//31623 32418//31625 +f 32653//34125 32654//31511 32774//32129 +f 9107//7641 180//7642 8877//11272 +f 31241//31554 31306//31636 31240//17296 +f 31924//20199 32025//22330 31923//30964 +f 35142//33783 35135//17235 2142//20975 +f 14069//5075 35131//32917 3090//5214 +f 33579//34126 33557//34074 35132//17236 +f 35135//17235 33579//34126 35132//17236 +f 12812//34127 28877//34075 33557//34074 +f 33579//34126 12812//34127 33557//34074 +f 5604//34128 33238//34076 28877//34075 +f 12812//34127 5604//34128 28877//34075 +f 33791//34129 35242//34077 33238//34076 +f 5604//34128 33791//34129 33238//34076 +f 33791//34129 35255//34130 14267//34078 +f 35242//34077 33791//34129 14267//34078 +f 35255//34130 34620//34131 11874//34079 +f 14267//34078 35255//34130 11874//34079 +f 34620//34131 34192//34132 34480//34080 +f 11874//34079 34620//34131 34480//34080 +f 34192//34132 34484//34133 33667//34081 +f 34480//34080 34192//34132 33667//34081 +f 34484//34133 13485//34134 34109//34082 +f 33667//34081 34484//34133 34109//34082 +f 13485//34134 34349//16911 28463//34083 +f 34109//34082 13485//34134 28463//34083 +f 34349//16911 34203//5484 35131//32917 +f 28463//34083 34349//16911 35131//32917 +f 193//16944 11924//32531 33948//16945 +f 35204//28937 35203//4309 35074//28938 +f 32739//32525 32851//30324 32738//32736 +f 32851//30324 32959//32941 32850//32229 +f 33172//14541 33277//21987 33171//29048 +f 33618//32273 33617//32897 33498//32546 +f 31063//32488 31125//32490 31124//31594 +f 31124//31594 31125//32490 31187//31885 +f 31126//32595 31127//32401 31189//32760 +f 31386//32404 31385//32561 31318//32543 +f 32636//31640 32750//31639 32635//32464 +f 33076//16937 33075//32468 32969//32467 +f 34289//32690 34427//30280 34288//33450 +f 33496//32550 33615//32494 33495//15426 +f 32118//32914 32119//23125 32218//32201 +f 34427//30280 34426//30281 34288//33450 +f 34020//31600 34019//32245 33884//32817 +f 35093//32125 35092//17376 34963//16096 +f 31909//28613 31908//20666 31802//30966 +f 33624//32215 33751//32601 33623//33034 +f 33651//33360 33778//33359 33650//29729 +f 33392//32893 33391//21353 33282//33217 +f 31835//17723 31933//17722 31834//23696 +f 30842//22817 30852//34135 30851//17801 +f 30906//34136 30905//34084 30851//17801 +f 30852//34135 30906//34136 30851//17801 +f 30964//34137 30963//34085 30905//34084 +f 30906//34136 30964//34137 30905//34084 +f 31025//34138 31024//34086 30963//34085 +f 30964//34137 31025//34138 30963//34085 +f 31087//34139 31086//34087 31024//34086 +f 31025//34138 31087//34139 31024//34086 +f 31150//34140 31149//34088 31086//34087 +f 31087//34139 31150//34140 31086//34087 +f 31214//34141 31213//34089 31149//34088 +f 31150//34140 31214//34141 31149//34088 +f 31279//34142 31278//34090 31213//34089 +f 31214//34141 31279//34142 31213//34089 +f 31346//34143 31345//34091 31278//34090 +f 31279//34142 31346//34143 31278//34090 +f 31413//34144 31412//34092 31345//34091 +f 31346//34143 31413//34144 31345//34091 +f 31485//34145 31484//34093 31412//34092 +f 31413//34144 31485//34145 31412//34092 +f 31572//34146 31571//34094 31484//34093 +f 31485//34145 31572//34146 31484//34093 +f 31667//34147 31666//34095 31571//34094 +f 31572//34146 31667//34147 31571//34094 +f 31767//34148 31766//34096 31666//34095 +f 31667//34147 31767//34148 31666//34095 +f 31873//34149 31872//34097 31766//34096 +f 31767//34148 31873//34149 31766//34096 +f 31974//34150 31973//34098 31872//34097 +f 31873//34149 31974//34150 31872//34097 +f 32074//34151 32073//34099 31973//34098 +f 31974//34150 32074//34151 31973//34098 +f 32174//34152 32173//34100 32073//34099 +f 32074//34151 32174//34152 32073//34099 +f 32275//34153 32274//34101 32173//34100 +f 32174//34152 32275//34153 32173//34100 +f 32378//34154 32377//34102 32274//34101 +f 32275//34153 32378//34154 32274//34101 +f 32483//34155 32482//34103 32377//34102 +f 32378//34154 32483//34155 32377//34102 +f 32592//34156 32591//34104 32482//34103 +f 32483//34155 32592//34156 32482//34103 +f 32706//34157 32705//34105 32591//34104 +f 32592//34156 32706//34157 32591//34104 +f 32826//34158 32825//34106 32705//34105 +f 32706//34157 32826//34158 32705//34105 +f 32939//34159 32938//34107 32825//34106 +f 32826//34158 32939//34159 32825//34106 +f 33047//34160 33046//34108 32938//34107 +f 32939//34159 33047//34160 32938//34107 +f 33153//34161 33152//34109 33046//34108 +f 33047//34160 33153//34161 33046//34108 +f 33257//34162 33256//34110 33152//34109 +f 33153//34161 33257//34162 33152//34109 +f 33366//34163 33365//34111 33256//34110 +f 33257//34162 33366//34163 33256//34110 +f 33478//34164 33477//34112 33365//34111 +f 33366//34163 33478//34164 33365//34111 +f 33595//34165 33594//34113 33477//34112 +f 33478//34164 33595//34165 33477//34112 +f 33716//34166 33715//34114 33594//34113 +f 33595//34165 33716//34166 33594//34113 +f 33844//34167 33843//34115 33715//34114 +f 33716//34166 33844//34167 33715//34114 +f 33979//34168 33978//34116 33843//34115 +f 33844//34167 33979//34168 33843//34115 +f 34115//34169 34114//34117 33978//34116 +f 33979//34168 34115//34169 33978//34116 +f 34253//34170 34252//34118 34114//34117 +f 34115//34169 34253//34170 34114//34117 +f 34391//34171 34390//34119 34252//34118 +f 34253//34170 34391//34171 34252//34118 +f 34528//34172 34527//34120 34390//34119 +f 34391//34171 34528//34172 34390//34119 +f 34656//34173 34655//34121 34527//34120 +f 34528//34172 34656//34173 34527//34120 +f 34784//34174 34783//34122 34655//34121 +f 34656//34173 34784//34174 34655//34121 +f 34913//34175 34912//34123 34783//34122 +f 34784//34174 34913//34175 34783//34122 +f 35042//34176 35041//34124 34912//34123 +f 34913//34175 35042//34176 34912//34123 +f 35042//34176 35171//34177 35170//22994 +f 35041//34124 35042//34176 35170//22994 +f 34861//4459 3497//4311 13308//5889 +f 35171//34177 35300//22995 35170//22994 +f 30887//16326 30941//21915 30886//17004 +f 21110//8789 21199//14566 21198//8787 +f 31703//32460 31803//30965 31702//21576 +f 34151//32418 34150//33896 34014//32419 +f 32030//32609 32127//34178 32029//31789 +f 33418//31740 33419//31866 33531//29727 +f 33299//31540 33408//32149 33407//31541 +f 33966//26555 33965//33468 21281//21403 +f 2143//3037 35167//34179 35142//33783 +f 17320//32689 17481//32728 18701//32715 +f 33581//34180 33579//34126 35135//17235 +f 35142//33783 33581//34180 35135//17235 +f 32802//34181 12812//34127 33579//34126 +f 33581//34180 32802//34181 33579//34126 +f 32460//34182 5604//34128 12812//34127 +f 32802//34181 32460//34182 12812//34127 +f 32916//34183 33791//34129 5604//34128 +f 32460//34182 32916//34183 5604//34128 +f 32916//34183 15630//34184 35255//34130 +f 33791//34129 32916//34183 35255//34130 +f 15630//34184 29404//34185 34620//34131 +f 35255//34130 15630//34184 34620//34131 +f 29404//34185 22141//34186 34192//34132 +f 34620//34131 29404//34185 34192//34132 +f 22141//34186 34876//34187 34484//34133 +f 34192//34132 22141//34186 34484//34133 +f 34876//34187 32461//33710 13485//34134 +f 34484//34133 34876//34187 13485//34134 +f 2678//33732 17289//21188 29691//34188 +f 13485//34134 32461//33710 34349//16911 +f 11432//16799 11489//15105 11431//16688 +f 7523//20011 7524//15783 7638//10721 +f 34283//5977 34282//22072 34144//16369 +f 7522//13870 7636//13866 7521//13871 +f 32625//21616 32739//32525 32624//33363 +f 32959//32941 32958//31674 32850//32229 +f 33386//32989 33385//32553 33276//32304 +f 33277//21987 33386//32989 33276//32304 +f 31002//33452 31001//31892 30943//32237 +f 31062//31593 31063//32488 31124//31594 +f 31190//32399 31254//32408 31253//32542 +f 31189//32760 31190//32399 31253//32542 +f 32527//34032 32636//31640 32526//32410 +f 32862//32942 32861//32466 32749//32465 +f 33742//19430 33741//19432 33614//32495 +f 34015//32211 34014//32419 33879//32212 +f 32420//32244 32525//32411 32419//31578 +f 32525//32411 32634//32191 32524//31623 +f 34989//22224 13395//15352 19669//15351 +f 31009//15865 31008//20369 30950//18793 +f 31735//17691 31835//17723 31734//25477 +f 31258//32840 31259//17545 31323//22582 +f 34074//13617 19807//4691 18513//13618 +f 32031//31950 32128//31801 32127//34178 +f 32030//32609 32031//31950 32127//34178 +f 33420//31489 33419//31866 33310//27198 +f 30853//34189 30852//34135 30842//22817 +f 30843//17889 30853//34189 30842//22817 +f 30907//34190 30906//34136 30852//34135 +f 30853//34189 30907//34190 30852//34135 +f 30965//34191 30964//34137 30906//34136 +f 30907//34190 30965//34191 30906//34136 +f 31026//34192 31025//34138 30964//34137 +f 30965//34191 31026//34192 30964//34137 +f 31088//34193 31087//34139 31025//34138 +f 31026//34192 31088//34193 31025//34138 +f 31151//34194 31150//34140 31087//34139 +f 31088//34193 31151//34194 31087//34139 +f 31215//34195 31214//34141 31150//34140 +f 31151//34194 31215//34195 31150//34140 +f 31280//34196 31279//34142 31214//34141 +f 31215//34195 31280//34196 31214//34141 +f 31347//34197 31346//34143 31279//34142 +f 31280//34196 31347//34197 31279//34142 +f 31414//34198 31413//34144 31346//34143 +f 31347//34197 31414//34198 31346//34143 +f 31486//34199 31485//34145 31413//34144 +f 31414//34198 31486//34199 31413//34144 +f 31573//34200 31572//34146 31485//34145 +f 31486//34199 31573//34200 31485//34145 +f 31668//34201 31667//34147 31572//34146 +f 31573//34200 31668//34201 31572//34146 +f 31768//34202 31767//34148 31667//34147 +f 31668//34201 31768//34202 31667//34147 +f 31874//34203 31873//34149 31767//34148 +f 31768//34202 31874//34203 31767//34148 +f 31975//34204 31974//34150 31873//34149 +f 31874//34203 31975//34204 31873//34149 +f 32075//34205 32074//34151 31974//34150 +f 31975//34204 32075//34205 31974//34150 +f 32175//34206 32174//34152 32074//34151 +f 32075//34205 32175//34206 32074//34151 +f 32276//34207 32275//34153 32174//34152 +f 32175//34206 32276//34207 32174//34152 +f 32379//34208 32378//34154 32275//34153 +f 32276//34207 32379//34208 32275//34153 +f 32484//34209 32483//34155 32378//34154 +f 32379//34208 32484//34209 32378//34154 +f 32593//34210 32592//34156 32483//34155 +f 32484//34209 32593//34210 32483//34155 +f 32707//34211 32706//34157 32592//34156 +f 32593//34210 32707//34211 32592//34156 +f 32827//34212 32826//34158 32706//34157 +f 32707//34211 32827//34212 32706//34157 +f 32940//34213 32939//34159 32826//34158 +f 32827//34212 32940//34213 32826//34158 +f 33048//34214 33047//34160 32939//34159 +f 32940//34213 33048//34214 32939//34159 +f 33154//34215 33153//34161 33047//34160 +f 33048//34214 33154//34215 33047//34160 +f 33258//34216 33257//34162 33153//34161 +f 33154//34215 33258//34216 33153//34161 +f 33367//34217 33366//34163 33257//34162 +f 33258//34216 33367//34217 33257//34162 +f 33479//34218 33478//34164 33366//34163 +f 33367//34217 33479//34218 33366//34163 +f 33596//34219 33595//34165 33478//34164 +f 33479//34218 33596//34219 33478//34164 +f 33717//34220 33716//34166 33595//34165 +f 33596//34219 33717//34220 33595//34165 +f 33845//34221 33844//34167 33716//34166 +f 33717//34220 33845//34221 33716//34166 +f 33980//34222 33979//34168 33844//34167 +f 33845//34221 33980//34222 33844//34167 +f 34116//34223 34115//34169 33979//34168 +f 33980//34222 34116//34223 33979//34168 +f 34254//34224 34253//34170 34115//34169 +f 34116//34223 34254//34224 34115//34169 +f 34392//34225 34391//34171 34253//34170 +f 34254//34224 34392//34225 34253//34170 +f 34529//34226 34528//34172 34391//34171 +f 34392//34225 34529//34226 34391//34171 +f 34657//34227 34656//34173 34528//34172 +f 34529//34226 34657//34227 34528//34172 +f 34785//34228 34784//34174 34656//34173 +f 34657//34227 34785//34228 34656//34173 +f 34914//34229 34913//34175 34784//34174 +f 34785//34228 34914//34229 34784//34174 +f 35043//34230 35042//34176 34913//34175 +f 34914//34229 35043//34230 34913//34175 +f 35172//34231 35171//34177 35042//34176 +f 35043//34230 35172//34231 35042//34176 +f 35172//34231 35301//34232 35300//22995 +f 35171//34177 35172//34231 35300//22995 +f 19807//4691 34731//17553 23490//4689 +f 35301//34232 13222//22381 35300//22995 +f 35091//17377 35220//10519 35090//31535 +f 2144//15992 35167//34179 2143//3037 +f 33311//31486 33420//31489 33310//27198 +f 32619//31113 32618//22816 32509//18096 +f 31934//17721 32031//31950 31933//17722 +f 31442//32602 31441//31209 31374//32569 +f 33583//32186 35167//34179 2144//15992 +f 17327//22235 17326//32876 33031//33183 +f 33583//32186 33581//34180 35142//33783 +f 35167//34179 33583//32186 35142//33783 +f 33338//34233 32802//34181 33581//34180 +f 33583//32186 33338//34233 33581//34180 +f 34358//34234 32460//34182 32802//34181 +f 33338//34233 34358//34234 32802//34181 +f 35258//34235 32916//34183 32460//34182 +f 34358//34234 35258//34235 32460//34182 +f 35258//34235 35126//34236 15630//34184 +f 32916//34183 35258//34235 15630//34184 +f 35126//34236 27670//34237 29404//34185 +f 15630//34184 35126//34236 29404//34185 +f 27670//34237 35320//34238 22141//34186 +f 29404//34185 27670//34237 22141//34186 +f 35320//34238 34497//34239 34876//34187 +f 22141//34186 35320//34238 34876//34187 +f 34497//34239 6644//31811 32461//33710 +f 34876//34187 34497//34239 32461//33710 +f 34349//16911 32461//33710 2951//5485 +f 27988//31812 3093//5489 2951//5485 +f 33942//21405 19371//21730 19480//22665 +f 6887//16907 6956//10772 6955//12979 +f 33495//15426 33614//32495 33494//32790 +f 19752//22886 19100//11276 18964//22100 +f 32516//33358 32625//21616 32515//32554 +f 32851//30324 32850//32229 32738//32736 +f 33277//21987 33276//32304 33171//29048 +f 33618//32273 33745//32272 33617//32897 +f 30944//34033 30943//32237 30889//16041 +f 30944//34033 31002//33452 30943//32237 +f 31127//32401 31190//32399 31189//32760 +f 31525//32402 31524//32734 31452//32733 +f 32421//32397 32422//31709 32526//32410 +f 32750//31639 32749//32465 32635//32464 +f 31630//14529 31629//14531 31542//32235 +f 34423//33933 34560//31327 34422//5976 +f 33624//32215 33623//33034 33504//21352 +f 32019//26717 32119//23125 32118//32914 +f 32405//30366 32404//17948 32301//4567 +f 32106//32617 32206//32618 32105//31686 +f 33101//31484 33100//17564 32994//17563 +f 33532//29728 33651//33360 33650//29729 +f 32801//2272 32800//33681 32679//33327 +f 19821//22587 17696//22136 18038//22020 +f 32913//17864 32912//33711 32800//33681 +f 32801//2272 32913//17864 32800//33681 +f 30854//34240 30853//34189 30843//17889 +f 30844//26842 30854//34240 30843//17889 +f 30908//34241 30907//34190 30853//34189 +f 30854//34240 30908//34241 30853//34189 +f 30966//34242 30965//34191 30907//34190 +f 30908//34241 30966//34242 30907//34190 +f 31027//34243 31026//34192 30965//34191 +f 30966//34242 31027//34243 30965//34191 +f 31089//34244 31088//34193 31026//34192 +f 31027//34243 31089//34244 31026//34192 +f 31152//34245 31151//34194 31088//34193 +f 31089//34244 31152//34245 31088//34193 +f 31216//34246 31215//34195 31151//34194 +f 31152//34245 31216//34246 31151//34194 +f 31281//34247 31280//34196 31215//34195 +f 31216//34246 31281//34247 31215//34195 +f 31348//34248 31347//34197 31280//34196 +f 31281//34247 31348//34248 31280//34196 +f 31415//34249 31414//34198 31347//34197 +f 31348//34248 31415//34249 31347//34197 +f 31487//34250 31486//34199 31414//34198 +f 31415//34249 31487//34250 31414//34198 +f 31574//34251 31573//34200 31486//34199 +f 31487//34250 31574//34251 31486//34199 +f 31669//34252 31668//34201 31573//34200 +f 31574//34251 31669//34252 31573//34200 +f 31769//34253 31768//34202 31668//34201 +f 31669//34252 31769//34253 31668//34201 +f 31875//34254 31874//34203 31768//34202 +f 31769//34253 31875//34254 31768//34202 +f 31976//34255 31975//34204 31874//34203 +f 31875//34254 31976//34255 31874//34203 +f 32076//34256 32075//34205 31975//34204 +f 31976//34255 32076//34256 31975//34204 +f 32176//34100 32175//34206 32075//34205 +f 32076//34256 32176//34100 32075//34205 +f 32277//34257 32276//34207 32175//34206 +f 32176//34100 32277//34257 32175//34206 +f 32380//34258 32379//34208 32276//34207 +f 32277//34257 32380//34258 32276//34207 +f 32485//34259 32484//34209 32379//34208 +f 32380//34258 32485//34259 32379//34208 +f 32594//34260 32593//34210 32484//34209 +f 32485//34259 32594//34260 32484//34209 +f 32708//34261 32707//34211 32593//34210 +f 32594//34260 32708//34261 32593//34210 +f 32828//34262 32827//34212 32707//34211 +f 32708//34261 32828//34262 32707//34211 +f 32828//34262 32940//34213 32827//34212 +f 33259//34263 33258//34216 33154//34215 +f 33259//34263 33368//34264 33367//34217 +f 33258//34216 33259//34263 33367//34217 +f 33480//34265 33479//34218 33367//34217 +f 33368//34264 33480//34265 33367//34217 +f 33597//34266 33596//34219 33479//34218 +f 33480//34265 33597//34266 33479//34218 +f 33718//34267 33717//34220 33596//34219 +f 33597//34266 33718//34267 33596//34219 +f 33846//34268 33845//34221 33717//34220 +f 33718//34267 33846//34268 33717//34220 +f 33981//34269 33980//34222 33845//34221 +f 33846//34268 33981//34269 33845//34221 +f 34117//34270 34116//34223 33980//34222 +f 33981//34269 34117//34270 33980//34222 +f 34255//34271 34254//34224 34116//34223 +f 34117//34270 34255//34271 34116//34223 +f 34393//34272 34392//34225 34254//34224 +f 34255//34271 34393//34272 34254//34224 +f 34530//34273 34529//34226 34392//34225 +f 34393//34272 34530//34273 34392//34225 +f 34658//34274 34657//34227 34529//34226 +f 34530//34273 34658//34274 34529//34226 +f 34786//34275 34785//34228 34657//34227 +f 34658//34274 34786//34275 34657//34227 +f 34915//34276 34914//34229 34785//34228 +f 34786//34275 34915//34276 34785//34228 +f 35044//34277 35043//34230 34914//34229 +f 34915//34276 35044//34277 34914//34229 +f 35173//34278 35172//34231 35043//34230 +f 35044//34277 35173//34278 35043//34230 +f 35173//34278 35302//34279 35301//34232 +f 35172//34231 35173//34278 35301//34232 +f 14263//32223 13222//22381 35301//34232 +f 35302//34279 14263//32223 35301//34232 +f 27757//32487 21939//14513 29405//32785 +f 19423//22609 18375//22560 18225//22493 +f 31599//14167 31694//31611 31598//7124 +f 32845//31685 32953//27558 32844//27560 +f 33021//11399 33020//33712 32912//33711 +f 32913//17864 33021//11399 32912//33711 +f 3096//12639 3095//5783 34079//25393 +f 31747//32267 31746//33760 31651//9040 +f 17458//20646 26966//27432 17459//21373 +f 2790//33554 2010//21230 19043//21229 +f 33457//15991 2276//5887 12574//21833 +f 28580//28235 28581//17478 28710//29103 +f 33814//34280 34358//34234 33338//34233 +f 33457//15991 33814//34280 33338//34233 +f 34873//34281 35258//34235 34358//34234 +f 33814//34280 34873//34281 34358//34234 +f 34873//34281 34735//34282 35126//34236 +f 35258//34235 34873//34281 35126//34236 +f 34735//34282 33926//34283 27670//34237 +f 35126//34236 34735//34282 27670//34237 +f 33926//34283 28550//34284 35320//34238 +f 27670//34237 33926//34283 35320//34238 +f 28550//34284 34210//34285 34497//34239 +f 35320//34238 28550//34284 34497//34239 +f 34210//34285 28868//34286 6644//31811 +f 34497//34239 34210//34285 6644//31811 +f 28868//34286 34329//5782 27988//31812 +f 6644//31811 28868//34286 27988//31812 +f 21277//26124 21278//21098 27382//21099 +f 2710//1618 3732//1585 14439//18465 +f 30936//16996 30935//32508 30881//16674 +f 29403//21910 35101//23084 19524//22124 +f 33172//14541 33171//29048 33066//32896 +f 32739//32525 32738//32736 32624//33363 +f 31252//32544 31317//32563 31251//32167 +f 33067//14542 33172//14541 33066//32896 +f 31004//32409 31065//32448 31003//33451 +f 30890//17005 30944//34033 30889//16041 +f 33286//31555 33285//32558 33180//32557 +f 31065//32448 31127//32401 31126//32595 +f 31191//32398 31192//32057 31255//32407 +f 32636//31640 32635//32464 32526//32410 +f 33438//24949 33551//6391 33550//6809 +f 33610//16627 33609//2400 33490//2387 +f 34420//22071 34419//14115 34281//5764 +f 33885//32121 33884//32817 33750//32960 +f 17355//15411 17354//20722 17287//15412 +f 34418//33580 34555//14563 34417//14565 +f 31847//34287 31846//33761 31746//33760 +f 31747//32267 31847//34287 31746//33760 +f 31945//34288 31944//33762 31846//33761 +f 31847//34287 31945//34288 31846//33761 +f 32042//34289 32041//33765 31944//33762 +f 31945//34288 32042//34289 31944//33762 +f 30855//34290 30854//34240 30844//26842 +f 30845//27830 30855//34290 30844//26842 +f 30909//34291 30908//34241 30854//34240 +f 30855//34290 30909//34291 30854//34240 +f 30967//34292 30966//34242 30908//34241 +f 30909//34291 30967//34292 30908//34241 +f 31028//34293 31027//34243 30966//34242 +f 30967//34292 31028//34293 30966//34242 +f 31090//34294 31089//34244 31027//34243 +f 31028//34293 31090//34294 31027//34243 +f 31153//34295 31152//34245 31089//34244 +f 31090//34294 31153//34295 31089//34244 +f 31217//34296 31216//34246 31152//34245 +f 31153//34295 31217//34296 31152//34245 +f 31282//34297 31281//34247 31216//34246 +f 31217//34296 31282//34297 31216//34246 +f 31349//34298 31348//34248 31281//34247 +f 31282//34297 31349//34298 31281//34247 +f 31416//34299 31415//34249 31348//34248 +f 31349//34298 31416//34299 31348//34248 +f 31488//34300 31487//34250 31415//34249 +f 31416//34299 31488//34300 31415//34249 +f 31575//34301 31574//34251 31487//34250 +f 31488//34300 31575//34301 31487//34250 +f 31670//34302 31669//34252 31574//34251 +f 31575//34301 31670//34302 31574//34251 +f 31770//34303 31769//34253 31669//34252 +f 31670//34302 31770//34303 31669//34252 +f 31876//34304 31875//34254 31769//34253 +f 31770//34303 31876//34304 31769//34253 +f 31977//34305 31976//34255 31875//34254 +f 31876//34304 31977//34305 31875//34254 +f 32077//34306 32076//34256 31976//34255 +f 31977//34305 32077//34306 31976//34255 +f 32177//34307 32176//34100 32076//34256 +f 32077//34306 32177//34307 32076//34256 +f 32278//34308 32277//34257 32176//34100 +f 32177//34307 32278//34308 32176//34100 +f 32381//34309 32380//34258 32277//34257 +f 32278//34308 32381//34309 32277//34257 +f 32486//34310 32485//34259 32380//34258 +f 32381//34309 32486//34310 32380//34258 +f 32595//34311 32594//34260 32485//34259 +f 32486//34310 32595//34311 32485//34259 +f 32709//34312 32708//34261 32594//34260 +f 32595//34311 32709//34312 32594//34260 +f 32829//34313 32828//34262 32708//34261 +f 32709//34312 32829//34313 32708//34261 +f 33369//34314 33368//34264 33259//34263 +f 33481//34315 33480//34265 33368//34264 +f 33369//34314 33481//34315 33368//34264 +f 33598//34316 33597//34266 33480//34265 +f 33481//34315 33598//34316 33480//34265 +f 33719//34317 33718//34267 33597//34266 +f 33598//34316 33719//34317 33597//34266 +f 33847//34318 33846//34268 33718//34267 +f 33719//34317 33847//34318 33718//34267 +f 33982//34319 33981//34269 33846//34268 +f 33847//34318 33982//34319 33846//34268 +f 34118//34320 34117//34270 33981//34269 +f 33982//34319 34118//34320 33981//34269 +f 34256//34321 34255//34271 34117//34270 +f 34118//34320 34256//34321 34117//34270 +f 34394//34322 34393//34272 34255//34271 +f 34256//34321 34394//34322 34255//34271 +f 34531//34323 34530//34273 34393//34272 +f 34394//34322 34531//34323 34393//34272 +f 34659//34324 34658//34274 34530//34273 +f 34531//34323 34659//34324 34530//34273 +f 34787//34325 34786//34275 34658//34274 +f 34659//34324 34787//34325 34658//34274 +f 34916//34326 34915//34276 34786//34275 +f 34787//34325 34916//34326 34786//34275 +f 35045//34327 35044//34277 34915//34276 +f 34916//34326 35045//34327 34915//34276 +f 35174//34328 35173//34278 35044//34277 +f 35045//34327 35174//34328 35044//34277 +f 35303//34329 35302//34279 35173//34278 +f 35174//34328 35303//34329 35173//34278 +f 3330//21187 14263//32223 35302//34279 +f 35303//34329 3330//21187 35302//34279 +f 22529//14789 33796//14788 19322//22492 +f 16258//20115 10455//943 14833//20080 +f 31901//31162 31900//31447 31794//32062 +f 34144//16369 34282//22072 34143//32132 +f 32139//34330 32138//33781 32041//33765 +f 32671//32529 32670//32530 32557//32583 +f 32042//34289 32139//34330 32041//33765 +f 32239//34331 32238//33782 32138//33781 +f 31067//21215 31129//32035 31128//21216 +f 32139//34330 32239//34331 32138//33781 +f 17333//22540 17411//22468 17332//22418 +f 34160//32581 34298//26160 34159//32582 +f 12574//21833 33814//34280 33457//15991 +f 2009//12512 14285//32106 18938//12513 +f 12574//21833 35003//34332 34873//34281 +f 33814//34280 12574//21833 34873//34281 +f 35003//34332 13510//34333 34735//34282 +f 34873//34281 35003//34332 34735//34282 +f 13510//34333 34997//34334 33926//34283 +f 34735//34282 13510//34333 33926//34283 +f 34997//34334 33130//34335 28550//34284 +f 33926//34283 34997//34334 28550//34284 +f 33130//34335 33709//34336 34210//34285 +f 28550//34284 33130//34335 34210//34285 +f 33709//34336 29409//34337 28868//34286 +f 34210//34285 33709//34336 28868//34286 +f 29409//34337 34079//25393 34329//5782 +f 28868//34286 29409//34337 34329//5782 +f 19100//11276 19752//22886 27032//22828 +f 8666//11741 10724//11740 10600//11142 +f 22435//32607 6914//116 6913//14253 +f 16933//18629 20154//15976 18622//28323 +f 32961//31727 33067//14542 32960//30323 +f 34011//32871 34147//32709 34010//14640 +f 31188//32759 31252//32544 31251//32167 +f 31384//32562 31383//32454 31316//32449 +f 30946//32412 31004//32409 30945//33266 +f 31064//32489 31065//32448 31126//32595 +f 32970//32571 33076//16937 32969//32467 +f 33181//16936 33286//31555 33180//32557 +f 34298//26160 34297//26161 34159//32582 +f 33491//32335 33610//16627 33490//2387 +f 35093//32125 35222//32002 35092//17376 +f 33437//15989 33438//24949 33550//6809 +f 2277//5888 30090//12443 12574//21833 +f 34811//19586 34810//17373 34682//17372 +f 32341//34338 32340//33810 32238//33782 +f 32239//34331 32341//34338 32238//33782 +f 32445//34339 32444//33811 32340//33810 +f 32341//34338 32445//34339 32340//33810 +f 32552//34340 32551//33812 32444//33811 +f 34964//32014 35093//32125 34963//16096 +f 32445//34339 32552//34340 32444//33811 +f 32665//34341 32664//33814 32551//33812 +f 30856//34342 30855//34290 30845//27830 +f 30846//24646 30856//34342 30845//27830 +f 30910//34343 30909//34291 30855//34290 +f 30856//34342 30910//34343 30855//34290 +f 30968//34344 30967//34292 30909//34291 +f 30910//34343 30968//34344 30909//34291 +f 31029//34345 31028//34293 30967//34292 +f 30968//34344 31029//34345 30967//34292 +f 31091//34346 31090//34294 31028//34293 +f 31029//34345 31091//34346 31028//34293 +f 31154//34347 31153//34295 31090//34294 +f 31091//34346 31154//34347 31090//34294 +f 31218//34348 31217//34296 31153//34295 +f 31154//34347 31218//34348 31153//34295 +f 31283//34349 31282//34297 31217//34296 +f 31218//34348 31283//34349 31217//34296 +f 31350//34350 31349//34298 31282//34297 +f 31283//34349 31350//34350 31282//34297 +f 31417//34351 31416//34299 31349//34298 +f 31350//34350 31417//34351 31349//34298 +f 31489//34352 31488//34300 31416//34299 +f 31417//34351 31489//34352 31416//34299 +f 31576//34353 31575//34301 31488//34300 +f 31489//34352 31576//34353 31488//34300 +f 31671//34354 31670//34302 31575//34301 +f 31576//34353 31671//34354 31575//34301 +f 31771//34355 31770//34303 31670//34302 +f 31671//34354 31771//34355 31670//34302 +f 31877//34356 31876//34304 31770//34303 +f 31771//34355 31877//34356 31770//34303 +f 31978//34357 31977//34305 31876//34304 +f 31877//34356 31978//34357 31876//34304 +f 32078//34358 32077//34306 31977//34305 +f 31978//34357 32078//34358 31977//34305 +f 32178//34359 32177//34307 32077//34306 +f 32078//34358 32178//34359 32077//34306 +f 32279//34360 32278//34308 32177//34307 +f 32178//34359 32279//34360 32177//34307 +f 32382//34361 32381//34309 32278//34308 +f 32279//34360 32382//34361 32278//34308 +f 32487//34362 32486//34310 32381//34309 +f 32382//34361 32487//34362 32381//34309 +f 32596//34363 32595//34311 32486//34310 +f 32487//34362 32596//34363 32486//34310 +f 32710//34364 32709//34312 32595//34311 +f 32596//34363 32710//34364 32595//34311 +f 32710//34364 32829//34313 32709//34312 +f 33482//34365 33481//34315 33369//34314 +f 33482//34365 33599//34366 33598//34316 +f 33481//34315 33482//34365 33598//34316 +f 33720//34367 33719//34317 33598//34316 +f 33599//34366 33720//34367 33598//34316 +f 33848//34368 33847//34318 33719//34317 +f 33720//34367 33848//34368 33719//34317 +f 33983//34369 33982//34319 33847//34318 +f 33848//34368 33983//34369 33847//34318 +f 34119//34370 34118//34320 33982//34319 +f 33983//34369 34119//34370 33982//34319 +f 34257//34371 34256//34321 34118//34320 +f 34119//34370 34257//34371 34118//34320 +f 34395//34372 34394//34322 34256//34321 +f 34257//34371 34395//34372 34256//34321 +f 34532//34373 34531//34323 34394//34322 +f 34395//34372 34532//34373 34394//34322 +f 34660//34374 34659//34324 34531//34323 +f 34532//34373 34660//34374 34531//34323 +f 34788//34375 34787//34325 34659//34324 +f 34660//34374 34788//34375 34659//34324 +f 34917//34376 34916//34326 34787//34325 +f 34788//34375 34917//34376 34787//34325 +f 35046//34377 35045//34327 34916//34326 +f 34917//34376 35046//34377 34916//34326 +f 35175//34378 35174//34328 35045//34327 +f 35046//34377 35175//34378 35045//34327 +f 35304//34379 35303//34329 35174//34328 +f 35175//34378 35304//34379 35174//34328 +f 35304//34379 29691//34188 3330//21187 +f 35303//34329 35304//34379 3330//21187 +f 30823//7034 28871//21561 17388//7035 +f 32801//2272 32679//33327 11651//18213 +f 32328//31964 32431//31966 32327//32040 +f 26682//9333 24726//15206 26681//7152 +f 32552//34340 32665//34341 32551//33812 +f 32786//34380 32785//33815 32664//33814 +f 32665//34341 32786//34380 32664//33814 +f 32898//34381 32897//33833 32785//33815 +f 32786//34380 32898//34381 32785//33815 +f 33006//34382 33005//33834 32897//33833 +f 32763//32276 32875//4306 32762//32277 +f 32154//32320 32153//31012 12130//31059 +f 17358//20942 17289//21188 2678//33732 +f 22030//1142 21936//1758 22031//1143 +f 30090//12443 33680//34383 35003//34332 +f 12574//21833 30090//12443 35003//34332 +f 33680//34383 33941//34384 13510//34333 +f 35003//34332 33680//34383 13510//34333 +f 33941//34384 34866//34385 34997//34334 +f 13510//34333 33941//34384 34997//34334 +f 34866//34385 34847//34386 33130//34335 +f 34997//34334 34866//34385 33130//34335 +f 34847//34386 14276//34387 33709//34336 +f 33130//34335 34847//34386 33709//34336 +f 14276//34387 34871//34388 29409//34337 +f 33709//34336 14276//34387 29409//34337 +f 34871//34388 34479//12637 34079//25393 +f 29409//34337 34871//34388 34079//25393 +f 35164//33841 18938//12513 35293//32107 +f 18938//12513 35164//33841 35165//33356 +f 6941//8486 7039//8488 6940//10613 +f 17815//15977 18902//5000 17816//5002 +f 32853//32109 32961//31727 32852//30322 +f 31545//5767 31544//5769 31472//29321 +f 31187//31885 31188//32759 31251//32167 +f 31317//32563 31316//32449 31251//32167 +f 30892//17438 30946//32412 30891//17006 +f 31065//32448 31064//32489 31003//33451 +f 33181//16936 33180//32557 33075//32468 +f 33076//16937 33181//16936 33075//32468 +f 32428//17718 32429//32130 32533//23697 +f 21840//28402 29355//15318 29217//7352 +f 33409//32274 33408//32149 33299//31540 +f 33768//31830 33902//32523 33767//31822 +f 34716//15728 34717//33500 34844//15724 +f 33634//31533 33633//18809 33514//14812 +f 32898//34381 33006//34382 32897//33833 +f 33112//34389 33111//33835 33005//33834 +f 33006//34382 33112//34389 33005//33834 +f 33217//34390 33216//33860 33111//33835 +f 33112//34389 33217//34390 33111//33835 +f 33322//34391 33321//33861 33216//33860 +f 33217//34390 33322//34391 33216//33860 +f 33431//22479 33430//22480 33321//33861 +f 30857//34392 30856//34342 30846//24646 +f 30847//18008 30857//34392 30846//24646 +f 30911//34393 30910//34343 30856//34342 +f 30857//34392 30911//34393 30856//34342 +f 30969//34394 30968//34344 30910//34343 +f 30911//34393 30969//34394 30910//34343 +f 31030//34395 31029//34345 30968//34344 +f 30969//34394 31030//34395 30968//34344 +f 31092//34396 31091//34346 31029//34345 +f 31030//34395 31092//34396 31029//34345 +f 31155//34397 31154//34347 31091//34346 +f 31092//34396 31155//34397 31091//34346 +f 31219//34398 31218//34348 31154//34347 +f 31155//34397 31219//34398 31154//34347 +f 31284//34399 31283//34349 31218//34348 +f 31219//34398 31284//34399 31218//34348 +f 31351//34400 31350//34350 31283//34349 +f 31284//34399 31351//34400 31283//34349 +f 31418//34401 31417//34351 31350//34350 +f 31351//34400 31418//34401 31350//34350 +f 31490//34402 31489//34352 31417//34351 +f 31418//34401 31490//34402 31417//34351 +f 31577//34403 31576//34353 31489//34352 +f 31490//34402 31577//34403 31489//34352 +f 31672//34404 31671//34354 31576//34353 +f 31577//34403 31672//34404 31576//34353 +f 31772//34405 31771//34355 31671//34354 +f 31672//34404 31772//34405 31671//34354 +f 31878//34406 31877//34356 31771//34355 +f 31979//34407 31978//34357 31877//34356 +f 31878//34406 31979//34407 31877//34356 +f 32079//34408 32078//34358 31978//34357 +f 31979//34407 32079//34408 31978//34357 +f 32179//34409 32178//34359 32078//34358 +f 32079//34408 32179//34409 32078//34358 +f 32280//34410 32279//34360 32178//34359 +f 32179//34409 32280//34410 32178//34359 +f 32383//34411 32382//34361 32279//34360 +f 32280//34410 32383//34411 32279//34360 +f 32488//34412 32487//34362 32382//34361 +f 32383//34411 32488//34412 32382//34361 +f 32488//34412 32597//34413 32596//34363 +f 32487//34362 32488//34412 32596//34363 +f 32597//34413 32711//34414 32710//34364 +f 32596//34363 32597//34413 32710//34364 +f 33600//34415 33599//34366 33482//34365 +f 33721//34416 33720//34367 33599//34366 +f 33600//34415 33721//34416 33599//34366 +f 33849//34417 33848//34368 33720//34367 +f 33721//34416 33849//34417 33720//34367 +f 33984//34418 33983//34369 33848//34368 +f 33849//34417 33984//34418 33848//34368 +f 34120//34419 34119//34370 33983//34369 +f 33984//34418 34120//34419 33983//34369 +f 34258//34420 34257//34371 34119//34370 +f 34120//34419 34258//34420 34119//34370 +f 34396//34421 34395//34372 34257//34371 +f 34258//34420 34396//34421 34257//34371 +f 34533//34422 34532//34373 34395//34372 +f 34396//34421 34533//34422 34395//34372 +f 34661//34423 34660//34374 34532//34373 +f 34533//34422 34661//34423 34532//34373 +f 34789//34424 34788//34375 34660//34374 +f 34661//34423 34789//34424 34660//34374 +f 34918//34425 34917//34376 34788//34375 +f 34789//34424 34918//34425 34788//34375 +f 35047//34426 35046//34377 34917//34376 +f 34918//34425 35047//34426 34917//34376 +f 35176//34427 35175//34378 35046//34377 +f 35047//34426 35176//34427 35046//34377 +f 35305//34428 35304//34379 35175//34378 +f 35176//34427 35305//34428 35175//34378 +f 28679//34429 29691//34188 35304//34379 +f 35305//34428 28679//34429 35304//34379 +f 29691//34188 17289//21188 3330//21187 +f 28679//34429 2678//33732 29691//34188 +f 18300//12514 2010//21230 2009//12512 +f 33543//15069 7172//13619 7171//14358 +f 33322//34391 33431//22479 33321//33861 +f 16460//15501 15611//17524 6792//16606 +f 29944//15974 24848//17426 27528//17425 +f 32003//31161 32103//32753 32002//31446 +f 21549//26313 21641//26219 21548//26218 +f 32227//31969 32226//32041 32126//31512 +f 34589//33502 34717//33500 34588//15822 +f 21835//2822 21834//16196 21740//2628 +f 3096//12639 3236//5910 3235//5784 +f 2412//10879 13102//32023 33941//34384 +f 17358//20942 17291//15419 17359//20939 +f 33680//34383 2412//10879 33941//34384 +f 17291//15419 17358//20942 2678//33732 +f 13102//32023 455//34430 34866//34385 +f 33941//34384 13102//32023 34866//34385 +f 455//34430 35238//34431 34847//34386 +f 34866//34385 455//34430 34847//34386 +f 35238//34431 34868//34432 14276//34387 +f 34847//34386 35238//34431 14276//34387 +f 34868//34432 35325//34433 34871//34388 +f 14276//34387 34868//34432 34871//34388 +f 35325//34433 33023//12638 34479//12637 +f 34871//34388 35325//34433 34479//12637 +f 683//22181 33547//10115 801//5438 +f 3097//20898 3098//6196 3237//6070 +f 6975//13117 34718//32183 34719//32393 +f 17356//15410 17287//15412 17288//21189 +f 32741//31707 32853//32109 32740//21615 +f 33067//14542 33066//32896 32960//30323 +f 31317//32563 31384//32562 31316//32449 +f 31451//32735 31450//32456 31383//32454 +f 32345//32756 32449//32729 32344//13208 +f 31004//32409 31003//33451 30945//33266 +f 33395//31768 33394//32559 33285//32558 +f 33286//31555 33395//31768 33285//32558 +f 31544//5769 31631//15326 31543//32894 +f 31192//32057 31256//32088 31255//32407 +f 31297//14674 31364//25148 31296//31406 +f 32309//32575 32412//32815 32308//32576 +f 34452//33556 34589//33502 34451//15829 +f 16008//16839 79//4748 13298//14679 +f 32887//31638 32995//31573 32886//31513 +f 32423//29685 32528//4144 32527//34032 +f 33127//11398 33126//20010 33020//33712 +f 31836//17690 31934//17721 31835//17723 +f 33021//11399 33127//11398 33020//33712 +f 7967//13378 1276//2897 8083//14816 +f 33016//31819 33122//31826 33015//32166 +f 30858//34434 30857//34392 30847//18008 +f 30848//18007 30858//34434 30847//18008 +f 30912//34435 30911//34393 30857//34392 +f 30858//34434 30912//34435 30857//34392 +f 30970//34436 30969//34394 30911//34393 +f 30912//34435 30970//34436 30911//34393 +f 31031//34437 31030//34395 30969//34394 +f 30970//34436 31031//34437 30969//34394 +f 31093//34438 31092//34396 31030//34395 +f 31031//34437 31093//34438 31030//34395 +f 31156//34439 31155//34397 31092//34396 +f 31093//34438 31156//34439 31092//34396 +f 31220//34440 31219//34398 31155//34397 +f 31156//34439 31220//34440 31155//34397 +f 31285//34441 31284//34399 31219//34398 +f 31220//34440 31285//34441 31219//34398 +f 31352//34442 31351//34400 31284//34399 +f 31285//34441 31352//34442 31284//34399 +f 31419//34443 31418//34401 31351//34400 +f 31352//34442 31419//34443 31351//34400 +f 31491//34444 31490//34402 31418//34401 +f 31419//34443 31491//34444 31418//34401 +f 31578//34445 31577//34403 31490//34402 +f 31491//34444 31578//34445 31490//34402 +f 31673//34446 31672//34404 31577//34403 +f 31578//34445 31673//34446 31577//34403 +f 31773//34447 31772//34405 31672//34404 +f 31673//34446 31773//34447 31672//34404 +f 31773//34447 31879//34448 31772//34405 +f 31980//34449 31979//34407 31878//34406 +f 32080//34450 32079//34408 31979//34407 +f 31980//34449 32080//34450 31979//34407 +f 32180//34451 32179//34409 32079//34408 +f 32080//34450 32180//34451 32079//34408 +f 32281//34452 32280//34410 32179//34409 +f 32180//34451 32281//34452 32179//34409 +f 32384//34453 32383//34411 32280//34410 +f 32281//34452 32384//34453 32280//34410 +f 32489//34454 32488//34412 32383//34411 +f 32384//34453 32489//34454 32383//34411 +f 32489//34454 32598//34455 32597//34413 +f 32488//34412 32489//34454 32597//34413 +f 32598//34455 32712//34456 32711//34414 +f 32597//34413 32598//34455 32711//34414 +f 33722//34457 33721//34416 33600//34415 +f 33850//34458 33849//34417 33721//34416 +f 33722//34457 33850//34458 33721//34416 +f 33985//34459 33984//34418 33849//34417 +f 33850//34458 33985//34459 33849//34417 +f 34121//34460 34120//34419 33984//34418 +f 33985//34459 34121//34460 33984//34418 +f 34259//34461 34258//34420 34120//34419 +f 34121//34460 34259//34461 34120//34419 +f 34397//34462 34396//34421 34258//34420 +f 34259//34461 34397//34462 34258//34420 +f 34534//34463 34533//34422 34396//34421 +f 34397//34462 34534//34463 34396//34421 +f 34662//34464 34661//34423 34533//34422 +f 34534//34463 34662//34464 34533//34422 +f 34790//34465 34789//34424 34661//34423 +f 34662//34464 34790//34465 34661//34423 +f 34919//34466 34918//34425 34789//34424 +f 34790//34465 34919//34466 34789//34424 +f 35048//34467 35047//34426 34918//34425 +f 34919//34466 35048//34467 34918//34425 +f 35177//34468 35176//34427 35047//34426 +f 35048//34467 35177//34468 35047//34426 +f 35306//34469 35305//34428 35176//34427 +f 35177//34468 35306//34469 35176//34427 +f 13012//34470 28679//34429 35305//34428 +f 35306//34469 13012//34470 35305//34428 +f 23076//32024 2678//33732 28679//34429 +f 13012//34470 23076//32024 28679//34429 +f 33457//15991 33338//34233 33583//32186 +f 27032//22828 19752//22886 18509//22818 +f 1393//2896 8083//14816 1276//2897 +f 32734//32564 32733//32249 32619//31113 +f 32775//31508 32887//31638 32774//32129 +f 31620//31267 31621//31266 31715//32297 +f 34717//33500 34845//21027 34844//15724 +f 34314//33557 34452//33556 34313//12811 +f 13216//33228 190//2530 11790//2529 +f 32847//32704 32846//31062 32734//32564 +f 17411//22468 17333//22540 17334//22529 +f 6885//32022 2413//21007 33942//21405 +f 33680//34383 30090//12443 2412//10879 +f 33023//12638 13121//15918 3097//20898 +f 33028//34471 455//34430 13102//32023 +f 6885//32022 33028//34471 13102//32023 +f 34860//34472 35238//34431 455//34430 +f 33028//34471 34860//34472 455//34430 +f 34860//34472 29278//34473 34868//34432 +f 35238//34431 34860//34472 34868//34432 +f 29278//34473 33470//34474 35325//34433 +f 34868//34432 29278//34473 35325//34433 +f 33470//34474 13121//15918 33023//12638 +f 35325//34433 33470//34474 33023//12638 +f 31898//1673 31999//1672 31897//6065 +f 34328//32438 6953//12025 34465//17946 +f 33065//29050 33064//31675 32958//31674 +f 6935//15225 6936//15255 7034//15226 +f 32853//32109 32852//30322 32740//21615 +f 32961//31727 32960//30323 32852//30322 +f 31384//32562 31451//32735 31383//32454 +f 31523//32988 31522//32451 31450//32456 +f 32345//32756 32344//13208 32242//13207 +f 30946//32412 30945//33266 30891//17006 +f 33508//31656 33507//32503 33394//32559 +f 33395//31768 33508//31656 33394//32559 +f 32450//32838 32449//32729 32345//32756 +f 33889//33859 34024//32500 33888//32502 +f 33396//22105 33509//31654 33395//31768 +f 32623//33406 32737//32579 32622//32580 +f 34452//33556 34451//15829 34313//12811 +f 34717//33500 34716//15728 34588//15822 +f 34707//31713 34706//15532 34578//17281 +f 33642//2721 33769//2720 33641//32472 +f 31816//33407 31922//33408 31921//32293 +f 21109//8788 21198//8787 21197//4237 +f 11456//5144 31948//32264 11457//4032 +f 31136//34034 31135//32357 31073//32356 +f 28871//21561 30823//7034 28723//15324 +f 30859//18069 30858//34434 30848//18007 +f 30913//34475 30912//34435 30858//34434 +f 30859//18069 30913//34475 30858//34434 +f 30971//34476 30970//34436 30912//34435 +f 30913//34475 30971//34476 30912//34435 +f 31032//34477 31031//34437 30970//34436 +f 30971//34476 31032//34477 30970//34436 +f 31094//34478 31093//34438 31031//34437 +f 31032//34477 31094//34478 31031//34437 +f 31157//34479 31156//34439 31093//34438 +f 31094//34478 31157//34479 31093//34438 +f 31221//34480 31220//34440 31156//34439 +f 31157//34479 31221//34480 31156//34439 +f 31286//34481 31285//34441 31220//34440 +f 31221//34480 31286//34481 31220//34440 +f 31353//34482 31352//34442 31285//34441 +f 31286//34481 31353//34482 31285//34441 +f 31420//34483 31419//34443 31352//34442 +f 31353//34482 31420//34483 31352//34442 +f 31492//34484 31491//34444 31419//34443 +f 31420//34483 31492//34484 31419//34443 +f 31579//34485 31578//34445 31491//34444 +f 31492//34484 31579//34485 31491//34444 +f 31674//34486 31673//34446 31578//34445 +f 31579//34485 31674//34486 31578//34445 +f 31774//34487 31773//34447 31673//34446 +f 31674//34486 31774//34487 31673//34446 +f 31880//34488 31879//34448 31773//34447 +f 31774//34487 31880//34488 31773//34447 +f 32081//34489 32080//34450 31980//34449 +f 31981//34490 32081//34489 31980//34449 +f 32181//34491 32180//34451 32080//34450 +f 32081//34489 32181//34491 32080//34450 +f 32282//34492 32281//34452 32180//34451 +f 32181//34491 32282//34492 32180//34451 +f 32385//34493 32384//34453 32281//34452 +f 32282//34492 32385//34493 32281//34452 +f 32490//34494 32489//34454 32384//34453 +f 32385//34493 32490//34494 32384//34453 +f 32490//34494 32599//34495 32598//34455 +f 32489//34454 32490//34494 32598//34455 +f 32599//34495 32713//34496 32712//34456 +f 32598//34455 32599//34495 32712//34456 +f 33851//34497 33850//34458 33722//34457 +f 33723//34498 33851//34497 33722//34457 +f 33986//34499 33985//34459 33850//34458 +f 33851//34497 33986//34499 33850//34458 +f 34122//34500 34121//34460 33985//34459 +f 33986//34499 34122//34500 33985//34459 +f 34260//34501 34259//34461 34121//34460 +f 34122//34500 34260//34501 34121//34460 +f 34398//34502 34397//34462 34259//34461 +f 34260//34501 34398//34502 34259//34461 +f 34535//34503 34534//34463 34397//34462 +f 34398//34502 34535//34503 34397//34462 +f 34663//34504 34662//34464 34534//34463 +f 34535//34503 34663//34504 34534//34463 +f 34791//34505 34790//34465 34662//34464 +f 34663//34504 34791//34505 34662//34464 +f 34920//34506 34919//34466 34790//34465 +f 34791//34505 34920//34506 34790//34465 +f 35049//34507 35048//34467 34919//34466 +f 34920//34506 35049//34507 34919//34466 +f 35178//34508 35177//34468 35048//34467 +f 35049//34507 35178//34508 35048//34467 +f 35307//34509 35306//34469 35177//34468 +f 35178//34508 35307//34509 35177//34468 +f 12737//34510 13012//34470 35306//34469 +f 35307//34509 12737//34510 35306//34469 +f 27404//15420 23076//32024 13012//34470 +f 12737//34510 27404//15420 13012//34470 +f 22262//23826 32684//17923 34071//26602 +f 17332//22418 17331//22372 33245//22469 +f 31078//7949 31140//30925 31077//7950 +f 34176//33560 34314//33557 34175//12810 +f 31074//34511 31136//34034 31073//32356 +f 32649//25073 32648//32278 32539//25074 +f 33328//15988 33327//25027 33222//31166 +f 34589//33502 34588//15822 34451//15829 +f 34040//33563 34176//33560 34039//31315 +f 31207//4610 31206//32990 31143//6417 +f 31271//33763 31270//32991 31206//32990 +f 33380//32792 33379//32203 33270//31798 +f 33166//32474 33165//31774 33060//31773 +f 19322//22492 33796//14788 17910//18705 +f 13217//3066 6394//2652 190//2530 +f 28221//22666 33028//34471 6885//32022 +f 33942//21405 28221//22666 6885//32022 +f 34063//34512 34860//34472 33028//34471 +f 28221//22666 34063//34512 33028//34471 +f 33544//34513 29278//34473 34860//34472 +f 34063//34512 33544//34513 34860//34472 +f 33544//34513 33469//15919 33470//34474 +f 29278//34473 33544//34513 33470//34474 +f 7517//13989 33443//32440 33444//14509 +f 33470//34474 33469//15919 13121//15918 +f 31697//31212 31696//32603 31601//2300 +f 33949//14805 12902//1412 11252//852 +f 32518//31770 32627//31708 32517//33357 +f 32959//32941 33065//29050 32958//31674 +f 31805//32742 31804//32461 31704//32459 +f 32741//31707 32740//21615 32626//21614 +f 31076//27174 31138//31528 31075//34514 +f 31451//32735 31523//32988 31450//32456 +f 34023//32501 34159//32582 34022//32437 +f 34450//15824 34587//15823 34449//22458 +f 6489//5115 6488//8097 6361//4830 +f 33627//31865 33626//32504 33507//32503 +f 31542//32235 31541//32236 31469//33090 +f 17384//5761 28948//32663 392//21070 +f 33905//33613 33904//31215 33770//2719 +f 31207//4610 31271//33763 31206//32990 +f 33078//31016 33183//32946 33077//31017 +f 33771//33565 33905//33613 33770//2719 +f 33194//31565 33193//31588 33088//31566 +f 33444//14509 33335//33048 7519//9951 +f 17274//22030 34111//33467 34248//22187 +f 17361//21565 17360//21331 13709//15421 +f 31808//32046 31914//32045 31807//32114 +f 33640//24432 33639//31824 33520//24433 +f 32015//31612 32014//31614 31913//32115 +f 30914//34515 30913//34475 30859//18069 +f 30860//18068 30914//34515 30859//18069 +f 30972//34516 30971//34476 30913//34475 +f 30914//34515 30972//34516 30913//34475 +f 31033//34517 31032//34477 30971//34476 +f 30972//34516 31033//34517 30971//34476 +f 31095//34518 31094//34478 31032//34477 +f 31033//34517 31095//34518 31032//34477 +f 31158//34519 31157//34479 31094//34478 +f 31095//34518 31158//34519 31094//34478 +f 31222//34520 31221//34480 31157//34479 +f 31158//34519 31222//34520 31157//34479 +f 31222//34520 31287//34521 31286//34481 +f 31221//34480 31222//34520 31286//34481 +f 31287//34521 31354//34522 31353//34482 +f 31286//34481 31287//34521 31353//34482 +f 31421//34523 31420//34483 31353//34482 +f 31354//34522 31421//34523 31353//34482 +f 31493//34524 31492//34484 31420//34483 +f 31421//34523 31493//34524 31420//34483 +f 31580//34525 31579//34485 31492//34484 +f 31493//34524 31580//34525 31492//34484 +f 31675//34526 31674//34486 31579//34485 +f 31580//34525 31675//34526 31579//34485 +f 31775//34527 31774//34487 31674//34486 +f 31675//34526 31775//34527 31674//34486 +f 31881//34528 31880//34488 31774//34487 +f 31775//34527 31881//34528 31774//34487 +f 31881//34528 31982//34529 31880//34488 +f 32082//34530 32081//34489 31981//34490 +f 32182//34531 32181//34491 32081//34489 +f 32082//34530 32182//34531 32081//34489 +f 32283//34532 32282//34492 32181//34491 +f 32182//34531 32283//34532 32181//34491 +f 32386//34533 32385//34493 32282//34492 +f 32283//34532 32386//34533 32282//34492 +f 32491//34534 32490//34494 32385//34493 +f 32386//34533 32491//34534 32385//34493 +f 32491//34534 32600//34535 32599//34495 +f 32490//34494 32491//34534 32599//34495 +f 32600//34535 32714//34536 32713//34496 +f 32599//34495 32600//34535 32713//34496 +f 33852//34537 33851//34497 33723//34498 +f 33987//34538 33986//34499 33851//34497 +f 33852//34537 33987//34538 33851//34497 +f 34123//34539 34122//34500 33986//34499 +f 33987//34538 34123//34539 33986//34499 +f 34261//34540 34260//34501 34122//34500 +f 34123//34539 34261//34540 34122//34500 +f 34399//34541 34398//34502 34260//34501 +f 34261//34540 34399//34541 34260//34501 +f 34536//34542 34535//34503 34398//34502 +f 34399//34541 34536//34542 34398//34502 +f 34664//34543 34663//34504 34535//34503 +f 34536//34542 34664//34543 34535//34503 +f 34792//34544 34791//34505 34663//34504 +f 34664//34543 34792//34544 34663//34504 +f 34921//34545 34920//34506 34791//34505 +f 34792//34544 34921//34545 34791//34505 +f 35050//34546 35049//34507 34920//34506 +f 34921//34545 35050//34546 34920//34506 +f 35179//34547 35178//34508 35049//34507 +f 35050//34546 35179//34547 35049//34507 +f 35308//34548 35307//34509 35178//34508 +f 35179//34547 35308//34548 35178//34508 +f 28194//34549 12737//34510 35307//34509 +f 35308//34548 28194//34549 35307//34509 +f 19252//16668 27404//15420 12737//34510 +f 28194//34549 19252//16668 12737//34510 +f 11719//14895 34196//14894 13056//15400 +f 27404//15420 19252//16668 13709//15421 +f 33644//33564 33771//33565 33643//17016 +f 33942//21405 19480//22665 28221//22666 +f 32414//32232 32519//31769 32413//32243 +f 32128//31801 32228//31633 32127//34178 +f 31465//28181 31464//31871 31397//19607 +f 33165//31774 33164//30846 33059//31775 +f 34314//33557 34313//12811 34175//12810 +f 33524//22779 33525//33610 33643//17016 +f 31336//33764 31335//32992 31270//32991 +f 31271//33763 31336//33764 31270//32991 +f 32429//32130 32534//31572 32533//23697 +f 32794//27384 32793//27386 32672//31650 +f 33514//14812 33513//18810 33400//14445 +f 32954//31061 33060//31773 32953//27558 +f 35169//9373 17284//21617 17352//11153 +f 3099//6461 13121//15918 3100//6464 +f 34470//21065 34063//34512 28221//22666 +f 34470//21065 19480//22665 19481//21064 +f 9555//34550 33544//34513 34063//34512 +f 34470//21065 9555//34550 34063//34512 +f 33937//17156 33469//15919 33544//34513 +f 9555//34550 33937//17156 33544//34513 +f 21955//23465 20902//8110 19762//20948 +f 7018//8002 27871//14724 6921//14785 +f 33170//29049 33169//21812 33064//31675 +f 33275//32305 33274//21813 33169//21812 +f 32627//31708 32626//21614 32517//33357 +f 32627//31708 32741//31707 32626//21614 +f 31705//32731 31704//32459 31609//32457 +f 31705//32731 31805//32742 31704//32459 +f 32225//31869 32326//32645 32224//32651 +f 34842//31477 34843//15725 34971//15257 +f 33888//32502 34023//32501 33887//32378 +f 34297//26161 34296//32549 34158//32492 +f 35346//32604 27987//12727 35345//32612 +f 32972//32947 32971//31018 32863//20208 +f 31470//32895 31469//33090 31402//33038 +f 31470//32895 31542//32235 31469//33090 +f 33525//33610 33644//33564 33643//17016 +f 34176//33560 34175//12810 34039//31315 +f 28104//19593 27842//34551 35344//32613 +f 31398//10381 31465//28181 31397//19607 +f 31536//31847 31535//32611 31463//31873 +f 33221//32342 33326//31647 33325//21879 +f 33465//22586 34226//32899 17696//22136 +f 33412//33611 33525//33610 33411//14716 +f 902//15353 14839//6 9281//5 +f 30915//34552 30914//34515 30860//18068 +f 30861//18097 30915//34552 30860//18068 +f 30973//34553 30972//34516 30914//34515 +f 30915//34552 30973//34553 30914//34515 +f 31034//34554 31033//34517 30972//34516 +f 30973//34553 31034//34554 30972//34516 +f 31096//34555 31095//34518 31033//34517 +f 31034//34554 31096//34555 31033//34517 +f 31159//34556 31158//34519 31095//34518 +f 31096//34555 31159//34556 31095//34518 +f 31159//34556 31223//34557 31222//34520 +f 31158//34519 31159//34556 31222//34520 +f 31223//34557 31288//34558 31287//34521 +f 31222//34520 31223//34557 31287//34521 +f 31288//34558 31355//34559 31354//34522 +f 31287//34521 31288//34558 31354//34522 +f 31422//34560 31421//34523 31354//34522 +f 31355//34559 31422//34560 31354//34522 +f 31494//34561 31493//34524 31421//34523 +f 31422//34560 31494//34561 31421//34523 +f 31581//34562 31580//34525 31493//34524 +f 31494//34561 31581//34562 31493//34524 +f 31676//34563 31675//34526 31580//34525 +f 31581//34562 31676//34563 31580//34525 +f 31776//34564 31775//34527 31675//34526 +f 31676//34563 31776//34564 31675//34526 +f 31882//34565 31881//34528 31775//34527 +f 31776//34564 31882//34565 31775//34527 +f 31983//34566 31982//34529 31881//34528 +f 31882//34565 31983//34566 31881//34528 +f 32183//34567 32182//34531 32082//34530 +f 32083//34568 32183//34567 32082//34530 +f 32284//34569 32283//34532 32182//34531 +f 32183//34567 32284//34569 32182//34531 +f 32387//34570 32386//34533 32283//34532 +f 32284//34569 32387//34570 32283//34532 +f 32492//34571 32491//34534 32386//34533 +f 32387//34570 32492//34571 32386//34533 +f 32492//34571 32601//34572 32600//34535 +f 32491//34534 32492//34571 32600//34535 +f 32601//34572 32715//34573 32714//34536 +f 32600//34535 32601//34572 32714//34536 +f 33988//34574 33987//34538 33852//34537 +f 33853//34575 33988//34574 33852//34537 +f 34124//34576 34123//34539 33987//34538 +f 33988//34574 34124//34576 33987//34538 +f 34262//34577 34261//34540 34123//34539 +f 34124//34576 34262//34577 34123//34539 +f 34400//34578 34399//34541 34261//34540 +f 34262//34577 34400//34578 34261//34540 +f 34537//34579 34536//34542 34399//34541 +f 34400//34578 34537//34579 34399//34541 +f 34665//34580 34664//34543 34536//34542 +f 34537//34579 34665//34580 34536//34542 +f 34793//34581 34792//34544 34664//34543 +f 34665//34580 34793//34581 34664//34543 +f 34922//34582 34921//34545 34792//34544 +f 34793//34581 34922//34582 34792//34544 +f 35051//34583 35050//34546 34921//34545 +f 34922//34582 35051//34583 34921//34545 +f 35180//34584 35179//34547 35050//34546 +f 35051//34583 35180//34584 35050//34546 +f 35309//34585 35308//34548 35179//34547 +f 35180//34584 35309//34585 35179//34547 +f 17573//34586 28194//34549 35308//34548 +f 35309//34585 17573//34586 35308//34548 +f 27781//16921 19252//16668 28194//34549 +f 17573//34586 27781//16921 28194//34549 +f 31647//28881 31646//7356 26612//20158 +f 19372//20785 19482//6871 19481//21064 +f 33525//33610 33524//22779 33411//14716 +f 31903//16302 31902//31160 31796//32252 +f 31848//22833 31847//34287 31747//32267 +f 31748//22709 31848//22833 31747//32267 +f 31946//21131 31945//34288 31847//34287 +f 31848//22833 31946//21131 31847//34287 +f 33771//33565 33770//2719 33643//17016 +f 33412//33611 33411//14716 33302//22778 +f 31403//33813 31402//33038 31335//32992 +f 31336//33764 31403//33813 31335//32992 +f 32450//32838 32557//32583 32449//32729 +f 31405//29322 31404//30664 31337//32713 +f 33508//31656 33627//31865 33507//32503 +f 33754//31864 33753//32436 33626//32504 +f 27871//14724 13967//22420 6921//14785 +f 35269//9298 10264//8287 21934//8286 +f 19482//6871 2551//15259 19481//21064 +f 26433//29872 25944//16780 26366//17616 +f 33927//15258 19038//17716 9555//34550 +f 34470//21065 33927//15258 9555//34550 +f 24792//29429 33937//17156 9555//34550 +f 19038//17716 24792//29429 9555//34550 +f 33497//32547 33496//32550 33383//26792 +f 31183//30138 31184//30137 31247//32795 +f 32310//32233 32413//32243 32309//32575 +f 33065//29050 33170//29049 33064//31675 +f 32012//32649 32112//32648 32011//32463 +f 32518//31770 32517//33357 32412//32815 +f 31524//32734 31523//32988 31451//32735 +f 31610//32732 31705//32731 31609//32457 +f 34700//32961 34699//32577 34571//32524 +f 31452//32733 31451//32735 31384//32562 +f 35346//32604 35345//32612 35216//31575 +f 34159//32582 34158//32492 34022//32437 +f 31075//34514 31137//32757 31074//34511 +f 19966//16972 19996//24233 19965//24232 +f 33093//33658 33198//33612 33092//30970 +f 31403//33813 31470//32895 31402//33038 +f 32043//5582 32042//34289 31945//34288 +f 33303//33609 33302//22778 33197//30971 +f 31946//21131 32043//5582 31945//34288 +f 32140//18323 32139//34330 32042//34289 +f 32043//5582 32140//18323 32042//34289 +f 32240//25876 32239//34331 32139//34330 +f 32140//18323 32240//25876 32139//34330 +f 30916//34587 30915//34552 30861//18097 +f 30862//18480 30916//34587 30861//18097 +f 30974//34588 30973//34553 30915//34552 +f 30916//34587 30974//34588 30915//34552 +f 31035//34589 31034//34554 30973//34553 +f 30974//34588 31035//34589 30973//34553 +f 31097//34590 31096//34555 31034//34554 +f 31035//34589 31097//34590 31034//34554 +f 31097//34590 31160//34591 31159//34556 +f 31096//34555 31097//34590 31159//34556 +f 31160//34591 31224//34592 31223//34557 +f 31159//34556 31160//34591 31223//34557 +f 31224//34592 31289//34593 31288//34558 +f 31223//34557 31224//34592 31288//34558 +f 31356//34594 31355//34559 31288//34558 +f 31289//34593 31356//34594 31288//34558 +f 31423//34595 31422//34560 31355//34559 +f 31356//34594 31423//34595 31355//34559 +f 31495//34596 31494//34561 31422//34560 +f 31423//34595 31495//34596 31422//34560 +f 31582//34597 31581//34562 31494//34561 +f 31495//34596 31582//34597 31494//34561 +f 31677//34598 31676//34563 31581//34562 +f 31582//34597 31677//34598 31581//34562 +f 31777//34599 31776//34564 31676//34563 +f 31677//34598 31777//34599 31676//34563 +f 31883//34600 31882//34565 31776//34564 +f 31777//34599 31883//34600 31776//34564 +f 31984//34601 31983//34566 31882//34565 +f 31883//34600 31984//34601 31882//34565 +f 31984//34601 32084//34602 31983//34566 +f 32184//34603 32183//34567 32083//34568 +f 32285//34604 32284//34569 32183//34567 +f 32184//34603 32285//34604 32183//34567 +f 32388//34605 32387//34570 32284//34569 +f 32285//34604 32388//34605 32284//34569 +f 32493//34606 32492//34571 32387//34570 +f 32388//34605 32493//34606 32387//34570 +f 32602//34607 32601//34572 32492//34571 +f 32493//34606 32602//34607 32492//34571 +f 32602//34607 32716//34608 32715//34573 +f 32601//34572 32602//34607 32715//34573 +f 33989//34609 33988//34574 33853//34575 +f 33854//34610 33989//34609 33853//34575 +f 34125//34611 34124//34576 33988//34574 +f 33989//34609 34125//34611 33988//34574 +f 34263//34612 34262//34577 34124//34576 +f 34125//34611 34263//34612 34124//34576 +f 34401//34613 34400//34578 34262//34577 +f 34263//34612 34401//34613 34262//34577 +f 34538//34614 34537//34579 34400//34578 +f 34401//34613 34538//34614 34400//34578 +f 34666//34615 34665//34580 34537//34579 +f 34538//34614 34666//34615 34537//34579 +f 34794//34616 34793//34581 34665//34580 +f 34666//34615 34794//34616 34665//34580 +f 34923//34617 34922//34582 34793//34581 +f 34794//34616 34923//34617 34793//34581 +f 35052//34618 35051//34583 34922//34582 +f 34923//34617 35052//34618 34922//34582 +f 35181//34619 35180//34584 35051//34583 +f 35052//34618 35181//34619 35051//34583 +f 35310//34620 35309//34585 35180//34584 +f 35181//34619 35310//34620 35180//34584 +f 30636//34621 17573//34586 35309//34585 +f 35310//34620 30636//34621 35309//34585 +f 29270//32081 27781//16921 17573//34586 +f 30636//34621 29270//32081 17573//34586 +f 3365//4460 34355//31311 3226//4782 +f 33927//15258 2686//6754 19038//17716 +f 33198//33612 33197//30971 33092//30970 +f 31376//15606 31375//15608 31308//28374 +f 32342//25875 32341//34338 32239//34331 +f 32240//25876 32342//25875 32239//34331 +f 32446//19462 32445//34339 32341//34338 +f 32342//25875 32446//19462 32341//34338 +f 33303//33609 33412//33611 33302//22778 +f 33093//33658 33092//30970 32986//32555 +f 33889//33859 33888//32502 33754//31864 +f 30956//16704 30955//34622 30901//15979 +f 32346//26255 32450//32838 32345//32756 +f 32557//32583 32556//32642 32449//32729 +f 33627//31865 33754//31864 33626//32504 +f 33888//32502 33887//32378 33753//32436 +f 31696//32603 31695//14166 31600//14165 +f 32243//15397 32345//32756 32242//13207 +f 33807//20479 21224//23699 21050//20477 +f 33393//32560 33506//32505 33392//32893 +f 34328//32438 34191//32916 6887//16907 +f 19311//16767 18391//22957 35324//23085 +f 27982//10789 26795//10788 25586//26011 +f 19038//17716 34057//17715 24792//29429 +f 33170//29049 33275//32305 33169//21812 +f 33384//32548 33497//32547 33383//26792 +f 32209//31366 32310//32233 32208//32059 +f 32413//32243 32518//31770 32412//32815 +f 32012//32649 32011//32463 31910//32462 +f 32212//32377 32211//32572 32111//32515 +f 30945//33266 31003//33451 30944//34033 +f 31375//15608 31374//32569 31307//28375 +f 34297//26161 34435//17263 34296//32549 +f 34572//22271 34700//32961 34571//32524 +f 35217//32596 35216//31575 35087//31574 +f 35217//32596 35346//32604 35216//31575 +f 31075//34514 31074//34511 31013//34623 +f 31137//32757 31200//32774 31199//32446 +f 32987//33657 32986//32555 32878//21758 +f 33198//33612 33303//33609 33197//30971 +f 32553//20122 32552//34340 32445//34339 +f 32446//19462 32553//20122 32445//34339 +f 32666//20121 32665//34341 32552//34340 +f 31474//33715 31546//33714 31473//29320 +f 32553//20122 32666//20121 32552//34340 +f 32787//21238 32786//34380 32665//34341 +f 32666//20121 32787//21238 32665//34341 +f 32899//15697 32898//34381 32786//34380 +f 30917//34624 30916//34587 30862//18480 +f 30863//28221 30917//34624 30862//18480 +f 30975//34625 30974//34588 30916//34587 +f 30917//34624 30975//34625 30916//34587 +f 31036//34626 31035//34589 30974//34588 +f 30975//34625 31036//34626 30974//34588 +f 31098//34627 31097//34590 31035//34589 +f 31036//34626 31098//34627 31035//34589 +f 31098//34627 31161//34628 31160//34591 +f 31097//34590 31098//34627 31160//34591 +f 31161//34628 31225//34629 31224//34592 +f 31160//34591 31161//34628 31224//34592 +f 31225//34629 31290//34630 31289//34593 +f 31224//34592 31225//34629 31289//34593 +f 31357//34631 31356//34594 31289//34593 +f 31290//34630 31357//34631 31289//34593 +f 31424//34632 31423//34595 31356//34594 +f 31357//34631 31424//34632 31356//34594 +f 31496//34633 31495//34596 31423//34595 +f 31424//34632 31496//34633 31423//34595 +f 31583//34634 31582//34597 31495//34596 +f 31496//34633 31583//34634 31495//34596 +f 31678//34635 31677//34598 31582//34597 +f 31583//34634 31678//34635 31582//34597 +f 31778//34636 31777//34599 31677//34598 +f 31678//34635 31778//34636 31677//34598 +f 31884//34637 31883//34600 31777//34599 +f 31778//34636 31884//34637 31777//34599 +f 31985//34638 31984//34601 31883//34600 +f 31884//34637 31985//34638 31883//34600 +f 32085//34639 32084//34602 31984//34601 +f 31985//34638 32085//34639 31984//34601 +f 32286//34640 32285//34604 32184//34603 +f 32185//34641 32286//34640 32184//34603 +f 32389//34642 32388//34605 32285//34604 +f 32286//34640 32389//34642 32285//34604 +f 32494//34643 32493//34606 32388//34605 +f 32389//34642 32494//34643 32388//34605 +f 32603//34644 32602//34607 32493//34606 +f 32494//34643 32603//34644 32493//34606 +f 32603//34644 32717//34645 32716//34608 +f 32602//34607 32603//34644 32716//34608 +f 33990//34646 33989//34609 33854//34610 +f 33855//34647 33990//34646 33854//34610 +f 34126//34648 34125//34611 33989//34609 +f 33990//34646 34126//34648 33989//34609 +f 34264//34649 34263//34612 34125//34611 +f 34126//34648 34264//34649 34125//34611 +f 34402//34650 34401//34613 34263//34612 +f 34264//34649 34402//34650 34263//34612 +f 34539//34651 34538//34614 34401//34613 +f 34402//34650 34539//34651 34401//34613 +f 34667//34652 34666//34615 34538//34614 +f 34539//34651 34667//34652 34538//34614 +f 34795//34653 34794//34616 34666//34615 +f 34667//34652 34795//34653 34666//34615 +f 34924//34654 34923//34617 34794//34616 +f 34795//34653 34924//34654 34794//34616 +f 35053//34655 35052//34618 34923//34617 +f 34924//34654 35053//34655 34923//34617 +f 35182//34656 35181//34619 35052//34618 +f 35053//34655 35182//34656 35052//34618 +f 35311//34657 35310//34620 35181//34619 +f 35182//34656 35311//34657 35181//34619 +f 26580//34658 30636//34621 35310//34620 +f 35311//34657 26580//34658 35310//34620 +f 30755//9610 29270//32081 30636//34621 +f 26580//34658 30755//9610 30636//34621 +f 33633//18809 33632//27071 33513//18810 +f 34244//14567 21200//14108 21201//16499 +f 32787//21238 32899//15697 32786//34380 +f 31474//33715 31473//29320 31406//12308 +f 33007//15613 33006//34382 32898//34381 +f 32899//15697 33007//15613 32898//34381 +f 33113//15612 33112//34389 33006//34382 +f 32987//33657 33093//33658 32986//32555 +f 33074//32469 33179//25390 33073//32234 +f 31014//32712 31013//34623 30955//34622 +f 30956//16704 31014//32712 30955//34622 +f 27987//12727 28104//19593 35345//32612 +f 35088//32597 35087//31574 34958//15327 +f 33754//31864 33888//32502 33753//32436 +f 34023//32501 34022//32437 33887//32378 +f 32449//32729 32448//17444 32344//13208 +f 31472//29321 31544//5769 31471//32499 +f 31610//32732 31609//32457 31522//32451 +f 30936//16996 30994//17231 30935//32508 +f 28237//22461 24732//27063 28120//28470 +f 17287//15412 13222//22381 14263//32223 +f 34012//21580 34011//32871 33876//19431 +f 6949//14050 6948//9954 6881//13955 +f 33384//32548 33383//26792 33274//21813 +f 33275//32305 33384//32548 33274//21813 +f 32109//31367 32209//31366 32108//31776 +f 32413//32243 32412//32815 32309//32575 +f 31911//32798 32012//32649 31910//32462 +f 32112//32648 32111//32515 32011//32463 +f 31189//32760 31253//32542 31252//32544 +f 31385//32561 31452//32733 31384//32562 +f 34572//22271 34571//32524 34434//32526 +f 34435//17263 34572//22271 34434//32526 +f 34959//32644 34958//15327 34829//15450 +f 35088//32597 35217//32596 35087//31574 +f 31014//32712 31075//34514 31013//34623 +f 31137//32757 31136//34034 31074//34511 +f 31728//33665 31828//33664 31727//15825 +f 32879//33662 32987//33657 32878//21758 +f 33007//15613 33113//15612 33006//34382 +f 33218//16849 33217//34390 33112//34389 +f 31546//33714 31633//33713 31545//5767 +f 33113//15612 33218//16849 33112//34389 +f 31407//2397 31474//33715 31406//12308 +f 31633//33713 31632//5768 31545//5767 +f 33323//16363 33322//34391 33217//34390 +f 33218//16849 33323//16363 33217//34390 +f 33323//16363 33432//16365 33431//22479 +f 33322//34391 33323//16363 33431//22479 +f 30918//34659 30917//34624 30863//28221 +f 30864//18756 30918//34659 30863//28221 +f 30976//34660 30975//34625 30917//34624 +f 30918//34659 30976//34660 30917//34624 +f 31037//34661 31036//34626 30975//34625 +f 30976//34660 31037//34661 30975//34625 +f 31099//34662 31098//34627 31036//34626 +f 31037//34661 31099//34662 31036//34626 +f 31099//34662 31162//34663 31161//34628 +f 31098//34627 31099//34662 31161//34628 +f 31162//34663 31226//34664 31225//34629 +f 31161//34628 31162//34663 31225//34629 +f 31226//34664 31291//34665 31290//34630 +f 31225//34629 31226//34664 31290//34630 +f 31358//34666 31357//34631 31290//34630 +f 31291//34665 31358//34666 31290//34630 +f 31425//34667 31424//34632 31357//34631 +f 31358//34666 31425//34667 31357//34631 +f 31497//34668 31496//34633 31424//34632 +f 31425//34667 31497//34668 31424//34632 +f 31584//34669 31583//34634 31496//34633 +f 31497//34668 31584//34669 31496//34633 +f 31679//34670 31678//34635 31583//34634 +f 31584//34669 31679//34670 31583//34634 +f 31779//34671 31778//34636 31678//34635 +f 31679//34670 31779//34671 31678//34635 +f 31885//34672 31884//34637 31778//34636 +f 31779//34671 31885//34672 31778//34636 +f 31986//34673 31985//34638 31884//34637 +f 31885//34672 31986//34673 31884//34637 +f 32086//34674 32085//34639 31985//34638 +f 31986//34673 32086//34674 31985//34638 +f 32086//34674 32186//34675 32085//34639 +f 32287//34676 32286//34640 32185//34641 +f 32390//34677 32389//34642 32286//34640 +f 32287//34676 32390//34677 32286//34640 +f 32495//34678 32494//34643 32389//34642 +f 32390//34677 32495//34678 32389//34642 +f 32604//34679 32603//34644 32494//34643 +f 32495//34678 32604//34679 32494//34643 +f 32604//34679 32718//34680 32717//34645 +f 32603//34644 32604//34679 32717//34645 +f 32718//34680 32830//34681 32717//34645 +f 33991//34682 33990//34646 33855//34647 +f 33856//34683 33991//34682 33855//34647 +f 34127//34684 34126//34648 33990//34646 +f 33991//34682 34127//34684 33990//34646 +f 34265//34685 34264//34649 34126//34648 +f 34127//34684 34265//34685 34126//34648 +f 34403//34686 34402//34650 34264//34649 +f 34265//34685 34403//34686 34264//34649 +f 34540//34687 34539//34651 34402//34650 +f 34403//34686 34540//34687 34402//34650 +f 34668//34688 34667//34652 34539//34651 +f 34540//34687 34668//34688 34539//34651 +f 34796//34689 34795//34653 34667//34652 +f 34668//34688 34796//34689 34667//34652 +f 34925//34690 34924//34654 34795//34653 +f 34796//34689 34925//34690 34795//34653 +f 35054//34691 35053//34655 34924//34654 +f 34925//34690 35054//34691 34924//34654 +f 35183//34692 35182//34656 35053//34655 +f 35054//34691 35183//34692 35053//34655 +f 35312//34693 35311//34657 35182//34656 +f 35183//34692 35312//34693 35182//34656 +f 18936//21996 26580//34658 35311//34657 +f 35312//34693 18936//21996 35311//34657 +f 18936//21996 27145//9608 30755//9610 +f 26580//34658 18936//21996 30755//9610 +f 19967//16973 19968//19881 19999//22126 +f 7172//13619 7173//14733 7280//13192 +f 7173//14733 33431//22479 7174//14940 +f 21113//1940 19911//8514 21201//16499 +f 31716//33661 31816//33407 31815//32295 +f 33410//14717 33409//32274 33300//31621 +f 32422//31709 32423//29685 32527//34032 +f 32757//31618 32869//31569 32868//4561 +f 32860//32127 32968//32155 32859//31628 +f 31136//34034 31137//32757 31199//32446 +f 31200//32774 31264//23716 31263//31995 +f 34959//32644 35088//32597 34958//15327 +f 34161//32743 34160//32581 34024//32500 +f 34159//32582 34297//26161 34158//32492 +f 34435//17263 34434//32526 34296//32549 +f 31138//31528 31137//32757 31075//34514 +f 35207//32521 35206//32614 35077//32522 +f 31911//32798 31910//32462 31804//32461 +f 31523//32988 31610//32732 31522//32451 +f 31908//20666 32009//20665 31907//32139 +f 32109//31367 32108//31776 32008//31749 +f 34148//31066 34147//32709 34011//32871 +f 33877//32128 34012//21580 33876//19431 +f 33616//32898 33615//32494 33496//32550 +f 33497//32547 33616//32898 33496//32550 +f 32009//20665 32109//31367 32008//31749 +f 32310//32233 32309//32575 32208//32059 +f 32112//32648 32212//32377 32111//32515 +f 32313//32376 32312//32570 32211//32572 +f 32626//21614 32625//21616 32516//33358 +f 31003//33451 31002//33452 30944//34033 +f 34957//15328 34956//32628 34827//32629 +f 34828//15329 34957//15328 34827//32629 +f 34299//32745 34298//26160 34160//32581 +f 34830//32643 34959//32644 34829//15450 +f 31199//32446 31200//32774 31263//31995 +f 31264//23716 31329//23718 31328//17360 +f 32767//33663 32766//21757 32652//32091 +f 32879//33662 32878//21758 32766//21757 +f 31728//33665 31727//15825 31632//5768 +f 32767//33663 32879//33662 32766//21757 +f 31633//33713 31728//33665 31632//5768 +f 31828//33664 31827//33361 31727//15825 +f 31546//33714 31545//5767 31473//29320 +f 31535//32611 31622//32610 31621//31266 +f 33948//16945 34060//24885 12629//16943 +f 32957//31676 32956//32670 32848//32321 +f 31461//31998 31462//31997 31533//31316 +f 32031//31950 32030//32609 31933//17722 +f 30919//34694 30918//34659 30864//18756 +f 30865//18755 30919//34694 30864//18756 +f 30977//34695 30976//34660 30918//34659 +f 30919//34694 30977//34695 30918//34659 +f 31038//34696 31037//34661 30976//34660 +f 30977//34695 31038//34696 30976//34660 +f 31100//34697 31099//34662 31037//34661 +f 31038//34696 31100//34697 31037//34661 +f 31100//34697 31163//34698 31162//34663 +f 31099//34662 31100//34697 31162//34663 +f 31163//34698 31227//34699 31226//34664 +f 31162//34663 31163//34698 31226//34664 +f 31227//34699 31292//34700 31291//34665 +f 31226//34664 31227//34699 31291//34665 +f 31359//34701 31358//34666 31291//34665 +f 31292//34700 31359//34701 31291//34665 +f 31426//34702 31425//34667 31358//34666 +f 31359//34701 31426//34702 31358//34666 +f 31498//34703 31497//34668 31425//34667 +f 31426//34702 31498//34703 31425//34667 +f 31585//34704 31584//34669 31497//34668 +f 31498//34703 31585//34704 31497//34668 +f 31680//34705 31679//34670 31584//34669 +f 31585//34704 31680//34705 31584//34669 +f 31780//34706 31779//34671 31679//34670 +f 31680//34705 31780//34706 31679//34670 +f 31886//34707 31885//34672 31779//34671 +f 31780//34706 31886//34707 31779//34671 +f 31987//34708 31986//34673 31885//34672 +f 31886//34707 31987//34708 31885//34672 +f 32087//34709 32086//34674 31986//34673 +f 31987//34708 32087//34709 31986//34673 +f 32187//34710 32186//34675 32086//34674 +f 32087//34709 32187//34710 32086//34674 +f 32391//34711 32390//34677 32287//34676 +f 32288//34712 32391//34711 32287//34676 +f 32496//34713 32495//34678 32390//34677 +f 32391//34711 32496//34713 32390//34677 +f 32605//34714 32604//34679 32495//34678 +f 32496//34713 32605//34714 32495//34678 +f 32605//34714 32719//34715 32718//34680 +f 32604//34679 32605//34714 32718//34680 +f 32831//34716 32830//34681 32718//34680 +f 32719//34715 32831//34716 32718//34680 +f 33992//34717 33991//34682 33856//34683 +f 33857//34718 33992//34717 33856//34683 +f 34128//34719 34127//34684 33991//34682 +f 33992//34717 34128//34719 33991//34682 +f 34266//34720 34265//34685 34127//34684 +f 34128//34719 34266//34720 34127//34684 +f 34404//34721 34403//34686 34265//34685 +f 34266//34720 34404//34721 34265//34685 +f 34541//34722 34540//34687 34403//34686 +f 34404//34721 34541//34722 34403//34686 +f 34669//34723 34668//34688 34540//34687 +f 34541//34722 34669//34723 34540//34687 +f 34797//34724 34796//34689 34668//34688 +f 34669//34723 34797//34724 34668//34688 +f 34926//34725 34925//34690 34796//34689 +f 34797//34724 34926//34725 34796//34689 +f 35055//34726 35054//34691 34925//34690 +f 34926//34725 35055//34726 34925//34690 +f 35184//34727 35183//34692 35054//34691 +f 35055//34726 35184//34727 35054//34691 +f 35313//34728 35312//34693 35183//34692 +f 35184//34727 35313//34728 35183//34692 +f 17629//21994 18936//21996 35312//34693 +f 35313//34728 17629//21994 35312//34693 +f 7066//14360 33543//15069 7171//14358 +f 35136//2067 22026//3597 22121//2065 +f 3758//4149 3889//3971 3757//3970 +f 35210//12189 35339//27356 35209//16753 +f 32349//32498 32348//31714 32246//26689 +f 34958//15327 35087//31574 34957//15328 +f 31836//17690 31835//17723 31735//17691 +f 31516//32470 31515//26875 31443//15607 +f 32304//16296 32407//32791 32303//16297 +f 31543//32894 31630//14529 31542//32235 +f 15886//22477 15610//24430 17390//22478 +f 31527//31668 31526//31859 31454//31669 +f 31621//31266 31622//32610 31716//33661 +f 31817//20200 31816//33407 31716//33661 +f 34025//32780 34161//32743 34024//32500 +f 34025//32780 34024//32500 33889//33859 +f 35086//31576 35085//32674 34956//32628 +f 34957//15328 35086//31576 34956//32628 +f 31125//32490 31126//32595 31188//32759 +f 31064//32489 31063//32488 31002//33452 +f 32313//32376 32416//14721 32312//32570 +f 31805//32742 31911//32798 31804//32461 +f 31185//32513 31249//32512 31248//32794 +f 31184//30137 31185//32513 31248//32794 +f 35332//4308 35333//4307 13107//32228 +f 34012//21580 34148//31066 34011//32871 +f 33743//33404 33742//19430 33615//32494 +f 33616//32898 33743//33404 33615//32494 +f 31802//30966 31908//20666 31801//31743 +f 32209//31366 32208//32059 32108//31776 +f 32212//32377 32313//32376 32211//32572 +f 32416//14721 32415//32573 32312//32570 +f 32517//33357 32626//21614 32516//33358 +f 34949//32668 35078//32520 34948//32796 +f 35215//32948 35214//32711 35085//32674 +f 32013//33216 32012//32649 31911//32798 +f 34161//32743 34299//32745 34160//32581 +f 35086//31576 35215//32948 35085//32674 +f 31462//31997 31463//31873 31534//31265 +f 34437//32744 34436//17261 34298//26160 +f 31395//17361 31396//19608 31462//31997 +f 31463//31873 31535//32611 31534//31265 +f 31263//31995 31264//23716 31328//17360 +f 31329//23718 31396//19608 31395//17361 +f 31328//17360 31329//23718 31395//17361 +f 31396//19608 31463//31873 31462//31997 +f 31534//31265 31535//32611 31621//31266 +f 31622//32610 31717//32746 31716//33661 +f 32751//8115 32863//20208 32750//31639 +f 32147//24522 32146//24524 32049//14734 +f 34285//32122 34423//33933 34284//5975 +f 32979//31944 33085//31947 32978//32103 +f 30920//34729 30919//34694 30865//18755 +f 30866//28201 30920//34729 30865//18755 +f 30978//34730 30977//34695 30919//34694 +f 30920//34729 30978//34730 30919//34694 +f 31039//34731 31038//34696 30977//34695 +f 30978//34730 31039//34731 30977//34695 +f 31039//34731 31101//34732 31100//34697 +f 31038//34696 31039//34731 31100//34697 +f 31101//34732 31164//34733 31163//34698 +f 31100//34697 31101//34732 31163//34698 +f 31164//34733 31228//34734 31227//34699 +f 31163//34698 31164//34733 31227//34699 +f 31228//34734 31293//34735 31292//34700 +f 31227//34699 31228//34734 31292//34700 +f 31360//34736 31359//34701 31292//34700 +f 31293//34735 31360//34736 31292//34700 +f 31427//34737 31426//34702 31359//34701 +f 31360//34736 31427//34737 31359//34701 +f 31499//34738 31498//34703 31426//34702 +f 31427//34737 31499//34738 31426//34702 +f 31586//34739 31585//34704 31498//34703 +f 31499//34738 31586//34739 31498//34703 +f 31681//34740 31680//34705 31585//34704 +f 31586//34739 31681//34740 31585//34704 +f 31781//34741 31780//34706 31680//34705 +f 31681//34740 31781//34741 31680//34705 +f 31887//34742 31886//34707 31780//34706 +f 31781//34741 31887//34742 31780//34706 +f 31988//34743 31987//34708 31886//34707 +f 31887//34742 31988//34743 31886//34707 +f 32088//34744 32087//34709 31987//34708 +f 31988//34743 32088//34744 31987//34708 +f 32188//34745 32187//34710 32087//34709 +f 32088//34744 32188//34745 32087//34709 +f 32392//34746 32391//34711 32288//34712 +f 32289//34747 32392//34746 32288//34712 +f 32497//34748 32496//34713 32391//34711 +f 32392//34746 32497//34748 32391//34711 +f 32606//34749 32605//34714 32496//34713 +f 32497//34748 32606//34749 32496//34713 +f 32720//34750 32719//34715 32605//34714 +f 32606//34749 32720//34750 32605//34714 +f 32832//34751 32831//34716 32719//34715 +f 32720//34750 32832//34751 32719//34715 +f 33724//34752 33858//34753 33857//34718 +f 33993//34754 33992//34717 33857//34718 +f 33858//34753 33993//34754 33857//34718 +f 34129//34755 34128//34719 33992//34717 +f 33993//34754 34129//34755 33992//34717 +f 34267//34756 34266//34720 34128//34719 +f 34129//34755 34267//34756 34128//34719 +f 34405//34757 34404//34721 34266//34720 +f 34267//34756 34405//34757 34266//34720 +f 34542//34758 34541//34722 34404//34721 +f 34405//34757 34542//34758 34404//34721 +f 34670//34759 34669//34723 34541//34722 +f 34542//34758 34670//34759 34541//34722 +f 34798//34760 34797//34724 34669//34723 +f 34670//34759 34798//34760 34669//34723 +f 34927//34761 34926//34725 34797//34724 +f 34798//34760 34927//34761 34797//34724 +f 35056//34762 35055//34726 34926//34725 +f 34927//34761 35056//34762 34926//34725 +f 35185//32265 35184//34727 35055//34726 +f 35056//34762 35185//32265 35055//34726 +f 35314//17147 35313//34728 35184//34727 +f 35185//32265 35314//17147 35184//34727 +f 13981//6764 17629//21994 35313//34728 +f 35314//17147 13981//6764 35313//34728 +f 13981//6764 6993//21995 17629//21994 +f 7518//9953 7632//13988 7517//13989 +f 33190//31946 33295//31987 33189//31522 +f 31697//31212 31797//32754 31696//32603 +f 33227//31838 33226//21114 33121//32165 +f 33310//27198 33419//31866 33309//27199 +f 33895//31652 33894//15279 33760//17443 +f 33122//31826 33227//31838 33121//32165 +f 33438//24949 33439//17886 33551//6391 +f 34432//31643 34431//31645 34293//31771 +f 31717//32746 31817//20200 31716//33661 +f 32024//22332 32023//33006 31922//33408 +f 31923//30964 31922//33408 31816//33407 +f 31817//20200 31923//30964 31816//33407 +f 33890//32839 34025//32780 33889//33859 +f 33629//32962 33756//32912 33628//31655 +f 32651//26725 32765//21759 32650//32123 +f 22026//3597 35136//2067 22024//26558 +f 34024//32500 34160//32581 34023//32501 +f 32921//22184 32807//12643 32808//33285 +f 33280//17442 33389//14222 33279//32624 +f 32521//14720 32520//32574 32415//32573 +f 31059//32661 31060//28605 31121//30136 +f 31122//32514 31185//32513 31184//30137 +f 13985//32665 19483//32664 13107//32228 +f 19483//32664 26966//27432 13107//32228 +f 33877//32128 33876//19431 33742//19430 +f 33743//33404 33877//32128 33742//19430 +f 31802//30966 31801//31743 31701//24123 +f 32009//20665 32008//31749 31907//32139 +f 32416//14721 32521//14720 32415//32573 +f 32630//30843 32629//31464 32520//32574 +f 32744//17813 32743//17815 32629//31464 +f 32521//14720 32630//30843 32520//32574 +f 31706//32730 31806//32740 31705//32731 +f 32047//2633 32046//2635 31949//5146 +f 28012//32606 29281//14450 30607//14386 +f 32102//31448 32101//31449 32001//32256 +f 34299//32745 34437//32744 34298//26160 +f 29281//14450 28012//32606 27726//32608 +f 34574//32776 34573//17262 34436//17261 +f 34437//32744 34574//32776 34436//17261 +f 34830//32643 34829//15450 34701//15449 +f 34702//32691 34830//32643 34701//15449 +f 33397//22104 33510//32944 33396//22105 +f 33510//32944 33629//32962 33509//31654 +f 31923//30964 32024//22332 31922//33408 +f 32325//32650 32428//17718 32427//17717 +f 31917//32392 31918//24508 32018//32913 +f 31918//24508 32019//26717 32018//32913 +f 31074//34511 31073//32356 31012//32413 +f 33118//32251 33223//31165 33117//32134 +f 30921//34763 30920//34729 30866//28201 +f 30867//28398 30921//34763 30866//28201 +f 30979//34764 30978//34730 30920//34729 +f 30921//34763 30979//34764 30920//34729 +f 31040//34765 31039//34731 30978//34730 +f 30979//34764 31040//34765 30978//34730 +f 31040//34765 31102//34766 31101//34732 +f 31039//34731 31040//34765 31101//34732 +f 31102//34766 31165//34767 31164//34733 +f 31101//34732 31102//34766 31164//34733 +f 31165//34767 31229//34768 31228//34734 +f 31164//34733 31165//34767 31228//34734 +f 31229//34768 31294//34769 31293//34735 +f 31228//34734 31229//34768 31293//34735 +f 31361//34770 31360//34736 31293//34735 +f 31294//34769 31361//34770 31293//34735 +f 31428//34771 31427//34737 31360//34736 +f 31361//34770 31428//34771 31360//34736 +f 31500//34772 31499//34738 31427//34737 +f 31428//34771 31500//34772 31427//34737 +f 31587//34773 31586//34739 31499//34738 +f 31500//34772 31587//34773 31499//34738 +f 31682//34774 31681//34740 31586//34739 +f 31587//34773 31682//34774 31586//34739 +f 31782//34775 31781//34741 31681//34740 +f 31682//34774 31782//34775 31681//34740 +f 31888//34776 31887//34742 31781//34741 +f 31782//34775 31888//34776 31781//34741 +f 31989//34777 31988//34743 31887//34742 +f 31888//34776 31989//34777 31887//34742 +f 32089//34778 32088//34744 31988//34743 +f 31989//34777 32089//34778 31988//34743 +f 32189//34779 32188//34745 32088//34744 +f 32089//34778 32189//34779 32088//34744 +f 32189//34779 32290//34780 32188//34745 +f 32393//34781 32392//34746 32289//34747 +f 32498//34782 32497//34748 32392//34746 +f 32393//34781 32498//34782 32392//34746 +f 32607//34783 32606//34749 32497//34748 +f 32498//34782 32607//34783 32497//34748 +f 32607//34783 32721//34784 32720//34750 +f 32606//34749 32607//34783 32720//34750 +f 32833//34785 32832//34751 32720//34750 +f 32721//34784 32833//34785 32720//34750 +f 32833//34785 32941//34786 32832//34751 +f 33859//34787 33858//34753 33724//34752 +f 33725//34788 33859//34787 33724//34752 +f 33994//34789 33993//34754 33858//34753 +f 33859//34787 33994//34789 33858//34753 +f 34130//34790 34129//34755 33993//34754 +f 33994//34789 34130//34790 33993//34754 +f 34268//34791 34267//34756 34129//34755 +f 34130//34790 34268//34791 34129//34755 +f 34406//34792 34405//34757 34267//34756 +f 34268//34791 34406//34792 34267//34756 +f 34543//34793 34542//34758 34405//34757 +f 34406//34792 34543//34793 34405//34757 +f 34671//34794 34670//34759 34542//34758 +f 34543//34793 34671//34794 34542//34758 +f 34799//34795 34798//34760 34670//34759 +f 34671//34794 34799//34795 34670//34759 +f 34928//34796 34927//34761 34798//34760 +f 34799//34795 34928//34796 34798//34760 +f 35057//34797 35056//34762 34927//34761 +f 34928//34796 35057//34797 34927//34761 +f 35186//12813 35185//32265 35056//34762 +f 35057//34797 35186//12813 35056//34762 +f 34343//1601 34989//22224 12809//16434 +f 35234//25165 22229//18841 22230//25095 +f 13980//6765 13981//6764 35314//17147 +f 13981//6764 6994//6763 6993//21995 +f 35234//25165 17447//14433 22326//12319 +f 16317//19906 9680//745 5989//7448 +f 31013//34623 31012//32413 30954//32416 +f 31013//34623 31074//34511 31012//32413 +f 30955//34622 30954//32416 30900//16847 +f 32103//32753 32102//31448 32002//31446 +f 32968//32155 33074//32469 32967//31629 +f 32124//31870 32123//32528 32023//33006 +f 31471//32499 31470//32895 31403//33813 +f 33288//32945 33287//22106 33182//16935 +f 32024//22332 32124//31870 32023//33006 +f 33890//32839 33889//33859 33755//31863 +f 33756//32912 33755//31863 33628//31655 +f 32562//31551 32561//31552 32454//31805 +f 33756//32912 33890//32839 33755//31863 +f 30957//16705 31015//31817 30956//16704 +f 32877//32797 32876//32775 32764//32124 +f 33502//17544 33501//32672 33388//32627 +f 33171//29048 33276//32304 33170//29049 +f 31060//28605 31122//32514 31121//30136 +f 33389//14222 33502//17544 33388//32627 +f 3626//4313 13308//5889 3497//4311 +f 31121//30136 31122//32514 31184//30137 +f 32511//31783 32620//31112 32510//27856 +f 32352//16205 32249//3120 11581//11009 +f 34286//31065 34285//32122 34147//32709 +f 34148//31066 34286//31065 34147//32709 +f 31702//21576 31802//30966 31701//24123 +f 31908//20666 31907//32139 31801//31743 +f 31249//32512 31314//32511 31313//32566 +f 31448//32510 31447//31909 31380//32567 +f 33175//32697 33280//17442 33174//32594 +f 33389//14222 33388//32627 33279//32624 +f 33175//32697 33174//32594 33069//32545 +f 33280//17442 33279//32624 33174//32594 +f 34562//32675 34690//33121 34561//31325 +f 34562//32675 34561//31325 34424//32676 +f 27842//34551 29281//14450 27726//32608 +f 5983//5728 9867//9660 6115//5973 +f 27842//34551 27726//32608 35343//32758 +f 35344//32613 27842//34551 35343//32758 +f 35344//32613 35343//32758 35214//32711 +f 35215//32948 35344//32613 35214//32711 +f 33288//32945 33397//22104 33287//22106 +f 33629//32962 33628//31655 33509//31654 +f 32124//31870 32224//32651 32123//32528 +f 32324//33660 32325//32650 32427//17717 +f 33182//16935 33287//22106 33181//16936 +f 33284//25391 33393//32560 33283//31601 +f 30955//34622 31013//34623 30954//32416 +f 27842//34551 28104//19593 29281//14450 +f 30922//34798 30921//34763 30867//28398 +f 30868//28399 30922//34798 30867//28398 +f 30980//34799 30979//34764 30921//34763 +f 30922//34798 30980//34799 30921//34763 +f 31041//34800 31040//34765 30979//34764 +f 30980//34799 31041//34800 30979//34764 +f 31041//34800 31103//34801 31102//34766 +f 31040//34765 31041//34800 31102//34766 +f 31103//34801 31166//34802 31165//34767 +f 31102//34766 31103//34801 31165//34767 +f 31166//34802 31230//34803 31229//34768 +f 31165//34767 31166//34802 31229//34768 +f 31295//34804 31294//34769 31229//34768 +f 31230//34803 31295//34804 31229//34768 +f 31362//34805 31361//34770 31294//34769 +f 31295//34804 31362//34805 31294//34769 +f 31429//34806 31428//34771 31361//34770 +f 31362//34805 31429//34806 31361//34770 +f 31501//34807 31500//34772 31428//34771 +f 31429//34806 31501//34807 31428//34771 +f 31588//34808 31587//34773 31500//34772 +f 31501//34807 31588//34808 31500//34772 +f 31683//34809 31682//34774 31587//34773 +f 31588//34808 31683//34809 31587//34773 +f 31783//34810 31782//34775 31682//34774 +f 31683//34809 31783//34810 31682//34774 +f 31889//34811 31888//34776 31782//34775 +f 31783//34810 31889//34811 31782//34775 +f 31990//34812 31989//34777 31888//34776 +f 31889//34811 31990//34812 31888//34776 +f 32090//34813 32089//34778 31989//34777 +f 31990//34812 32090//34813 31989//34777 +f 32190//34814 32189//34779 32089//34778 +f 32090//34813 32190//34814 32089//34778 +f 32291//34815 32290//34780 32189//34779 +f 32190//34814 32291//34815 32189//34779 +f 32499//34816 32498//34782 32393//34781 +f 32394//34817 32499//34816 32393//34781 +f 32608//34818 32607//34783 32498//34782 +f 32499//34816 32608//34818 32498//34782 +f 32722//34819 32721//34784 32607//34783 +f 32608//34818 32722//34819 32607//34783 +f 32834//34820 32833//34785 32721//34784 +f 32722//34819 32834//34820 32721//34784 +f 32834//34820 32942//34821 32941//34786 +f 32833//34785 32834//34820 32941//34786 +f 33860//34822 33859//34787 33725//34788 +f 33726//34823 33860//34822 33725//34788 +f 33995//34824 33994//34789 33859//34787 +f 33860//34822 33995//34824 33859//34787 +f 34131//34825 34130//34790 33994//34789 +f 33995//34824 34131//34825 33994//34789 +f 34269//34826 34268//34791 34130//34790 +f 34131//34825 34269//34826 34130//34790 +f 34407//34827 34406//34792 34268//34791 +f 34269//34826 34407//34827 34268//34791 +f 34544//34828 34543//34793 34406//34792 +f 34407//34827 34544//34828 34406//34792 +f 34672//34829 34671//34794 34543//34793 +f 34544//34828 34672//34829 34543//34793 +f 34800//34830 34799//34795 34671//34794 +f 34672//34829 34800//34830 34671//34794 +f 34929//34831 34928//34796 34799//34795 +f 34800//34830 34929//34831 34799//34795 +f 35058//34832 35057//34797 34928//34796 +f 34929//34831 35058//34832 34928//34796 +f 35187//14148 35186//12813 35057//34797 +f 35058//34832 35187//14148 35057//34797 +f 21199//14566 34243//32900 21198//8787 +f 29403//21910 18701//32715 17481//32728 +f 7095//9609 27145//9608 7096//12268 +f 31244//31724 31309//31673 31243//32447 +f 30901//15979 30955//34622 30900//16847 +f 31267//31906 31266//30885 31202//30884 +f 31396//19608 31397//19607 31463//31873 +f 31331//31546 31330//19606 31265//23717 +f 32002//31446 32001//32256 31900//31447 +f 33506//32505 33505//21351 33392//32893 +f 32533//23697 32642//22153 32641//23698 +f 32224//32651 32223//33659 32123//32528 +f 32972//32947 33078//31016 32971//31018 +f 33183//32946 33182//16935 33077//31017 +f 33100//17564 33205//31445 33099//31765 +f 32796//31516 32908//31547 32795//31549 +f 32143//30667 32142//15398 32045//32641 +f 32765//21759 32764//32124 32650//32123 +f 33621//24270 33620//24272 33501//32672 +f 31076//27174 31075//34514 31014//32712 +f 30999//28604 30998//28284 30940//21916 +f 33502//17544 33621//24270 33501//32672 +f 30941//21915 30999//28604 30940//21916 +f 31060//28605 31059//32661 30998//28284 +f 32846//31062 32845//31685 32733//32249 +f 35334//32787 35333//4307 35204//28937 +f 31017//9002 31016//7951 30958//9003 +f 32103//32753 32203//31836 32102//31448 +f 34424//32676 34423//33933 34285//32122 +f 34286//31065 34424//32676 34285//32122 +f 34424//32676 34561//31325 34423//33933 +f 34561//31325 34560//31327 34423//33933 +f 31248//32794 31249//32512 31313//32566 +f 31381//32509 31380//32567 31313//32566 +f 31381//32509 31448//32510 31380//32567 +f 31314//32511 31381//32509 31313//32566 +f 32856//17814 32964//14316 32855//21306 +f 33070//14317 33175//32697 33069//32545 +f 31380//32567 31447//31909 31379//31911 +f 31519//23259 31518//32671 31446//31910 +f 32514//31719 32623//33406 32513//31720 +f 32623//33406 32622//32580 32513//31720 +f 32143//30667 32243//15397 32142//15398 +f 34715//15726 34714//31478 34586//32119 +f 33100//17564 33099//31765 32993//17565 +f 32877//32797 32985//31924 32876//32775 +f 33183//32946 33288//32945 33182//16935 +f 33510//32944 33509//31654 33396//22105 +f 32224//32651 32325//32650 32324//33660 +f 32223//33659 32224//32651 32324//33660 +f 33392//32893 33505//21351 33391//21353 +f 32451//27086 32558//32527 32450//32838 +f 31203//30926 31202//30884 31139//27173 +f 33912//33093 33911//31731 33777//31738 +f 30923//21336 30922//34798 30868//28399 +f 30869//21337 30923//21336 30868//28399 +f 30981//22338 30980//34799 30922//34798 +f 30923//21336 30981//22338 30922//34798 +f 31042//27214 31041//34800 30980//34799 +f 30981//22338 31042//27214 30980//34799 +f 31042//27214 31104//17836 31103//34801 +f 31041//34800 31042//27214 31103//34801 +f 31104//17836 31167//20865 31166//34802 +f 31103//34801 31104//17836 31166//34802 +f 31167//20865 31231//14675 31230//34803 +f 31166//34802 31167//20865 31230//34803 +f 31296//31406 31295//34804 31230//34803 +f 31231//14675 31296//31406 31230//34803 +f 31363//25150 31362//34805 31295//34804 +f 31296//31406 31363//25150 31295//34804 +f 31430//453 31429//34806 31362//34805 +f 31363//25150 31430//453 31362//34805 +f 31502//452 31501//34807 31429//34806 +f 31430//453 31502//452 31429//34806 +f 31589//32748 31588//34808 31501//34807 +f 31502//452 31589//32748 31501//34807 +f 31684//18600 31683//34809 31588//34808 +f 31589//32748 31684//18600 31588//34808 +f 31784//11093 31783//34810 31683//34809 +f 31684//18600 31784//11093 31683//34809 +f 31890//11092 31889//34811 31783//34810 +f 31784//11093 31890//11092 31783//34810 +f 31991//9833 31990//34812 31889//34811 +f 31890//11092 31991//9833 31889//34811 +f 32091//9832 32090//34813 31990//34812 +f 31991//9833 32091//9832 31990//34812 +f 32191//15817 32190//34814 32090//34813 +f 32091//9832 32191//15817 32090//34813 +f 32292//4753 32291//34815 32190//34814 +f 32191//15817 32292//4753 32190//34814 +f 32292//4753 32395//4752 32291//34815 +f 32500//24752 32499//34816 32394//34817 +f 32609//12553 32608//34818 32499//34816 +f 32500//24752 32609//12553 32499//34816 +f 32723//12552 32722//34819 32608//34818 +f 32609//12553 32723//12552 32608//34818 +f 32723//12552 32835//21477 32834//34820 +f 32722//34819 32723//12552 32834//34820 +f 32835//21477 32943//20904 32942//34821 +f 32834//34820 32835//21477 32942//34821 +f 32943//20904 33049//20906 32942//34821 +f 33861//3615 33860//34822 33726//34823 +f 33727//3616 33861//3615 33726//34823 +f 33996//6043 33995//34824 33860//34822 +f 33861//3615 33996//6043 33860//34822 +f 34132//6200 34131//34825 33995//34824 +f 33996//6043 34132//6200 33995//34824 +f 34270//6199 34269//34826 34131//34825 +f 34132//6200 34270//6199 34131//34825 +f 34408//17623 34407//34827 34269//34826 +f 34270//6199 34408//17623 34269//34826 +f 34545//15408 34544//34828 34407//34827 +f 34408//17623 34545//15408 34407//34827 +f 34673//15407 34672//34829 34544//34828 +f 34545//15408 34673//15407 34544//34828 +f 34801//14235 34800//34830 34672//34829 +f 34673//15407 34801//14235 34672//34829 +f 34930//14234 34929//34831 34800//34830 +f 34801//14235 34930//14234 34800//34830 +f 35059//27854 35058//34832 34929//34831 +f 34930//14234 35059//27854 34929//34831 +f 35188//21591 35187//14148 35058//34832 +f 35059//27854 35188//21591 35058//34832 +f 22322//1920 22226//2425 22323//4654 +f 34780//33968 34909//30810 17278//21595 +f 17347//21588 34909//30810 17280//22194 +f 34909//30810 17347//21588 17278//21595 +f 17278//21595 17347//21588 17346//21589 +f 28811//34833 29430//9422 19937//14697 +f 28811//34833 19937//14697 25260//14696 +f 28811//34833 28101//30048 29430//9422 +f 28811//34833 27957//22857 26970//28756 +f 27957//22857 28811//34833 25260//14696 +f 26970//28756 28101//30048 28811//34833 diff --git a/examples/04-mesh/makefile b/examples/04-mesh/makefile index 3bb2f87f9..6db8606ef 100644 --- a/examples/04-mesh/makefile +++ b/examples/04-mesh/makefile @@ -9,6 +9,11 @@ BUILD_DIR=../../.build include $(BGFX_DIR)/premake/shader.mk +geometry: ../runtime/meshes/bunny.bin + +../runtime/meshes/bunny.bin: bunny.obj + ..\..\tools\bin\geometryc -f bunny.obj -o ..\runtime\meshes\bunny.bin --packnormal 1 + rebuild: @make -s --no-print-directory TARGET=0 clean all @make -s --no-print-directory TARGET=1 clean all diff --git a/examples/04-mesh/mesh.cpp b/examples/04-mesh/mesh.cpp index 59cfec3d5..513d82133 100644 --- a/examples/04-mesh/mesh.cpp +++ b/examples/04-mesh/mesh.cpp @@ -6,12 +6,13 @@ #include #include #include -#include +#include #include "../common/dbg.h" #include "../common/math.h" #include #include +#include void fatalCb(bgfx::Fatal::Enum _code, const char* _str) { @@ -86,110 +87,194 @@ static bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName) return program; } +struct Aabb +{ + float m_min[3]; + float m_max[3]; +}; + +struct Obb +{ + float m_mtx[16]; +}; + +struct Sphere +{ + float m_center[3]; + float m_radius; +}; + +struct Primitive +{ + uint32_t m_startIndex; + uint32_t m_numIndices; + uint32_t m_startVertex; + uint32_t m_numVertices; + + Sphere m_sphere; + Aabb m_aabb; + Obb m_obb; +}; + +typedef std::vector PrimitiveArray; + +struct Group +{ + Group() + { + reset(); + } + + void reset() + { + m_vbh.idx = bgfx::invalidHandle; + m_ibh.idx = bgfx::invalidHandle; + m_prims.clear(); + } + + bgfx::VertexBufferHandle m_vbh; + bgfx::IndexBufferHandle m_ibh; + Sphere m_sphere; + Aabb m_aabb; + Obb m_obb; + PrimitiveArray m_prims; +}; + struct Mesh { - void load(const char* _filePath) + void Mesh::load(const char* _filePath) + { +#define BGFX_CHUNK_MAGIC_VB BX_MAKEFOURCC('V', 'B', ' ', 0x0) +#define BGFX_CHUNK_MAGIC_IB BX_MAKEFOURCC('I', 'B', ' ', 0x0) +#define BGFX_CHUNK_MAGIC_PRI BX_MAKEFOURCC('P', 'R', 'I', 0x0) + + bx::CrtFileReader reader; + reader.open(_filePath); + + Group group; + + uint32_t chunk; + while (4 == bx::read(&reader, chunk) ) + { + switch (chunk) + { + case BGFX_CHUNK_MAGIC_VB: + { + bx::read(&reader, group.m_sphere); + bx::read(&reader, group.m_aabb); + bx::read(&reader, group.m_obb); + + bx::read(&reader, m_decl); + uint16_t stride = m_decl.getStride(); + + uint16_t numVertices; + bx::read(&reader, numVertices); + const bgfx::Memory* mem = bgfx::alloc(numVertices*stride); + bx::read(&reader, mem->data, mem->size); + + group.m_vbh = bgfx::createVertexBuffer(mem, m_decl); + } + break; + + case BGFX_CHUNK_MAGIC_IB: + { + uint32_t numIndices; + bx::read(&reader, numIndices); + const bgfx::Memory* mem = bgfx::alloc(numIndices*2); + bx::read(&reader, mem->data, mem->size); + group.m_ibh = bgfx::createIndexBuffer(mem); + } + break; + + case BGFX_CHUNK_MAGIC_PRI: + { + uint16_t len; + bx::read(&reader, len); + + std::string material; + material.resize(len); + bx::read(&reader, const_cast(material.c_str() ), len); + + uint32_t type = m_decl.has(bgfx::Attrib::TexCoord0) ? 0 : 1; + + uint16_t num; + bx::read(&reader, num); + + for (uint32_t ii = 0; ii < num; ++ii) + { + bx::read(&reader, len); + + std::string name; + name.resize(len); + bx::read(&reader, const_cast(name.c_str() ), len); + + Primitive prim; + bx::read(&reader, prim.m_startIndex); + bx::read(&reader, prim.m_numIndices); + bx::read(&reader, prim.m_startVertex); + bx::read(&reader, prim.m_numVertices); + bx::read(&reader, prim.m_sphere); + bx::read(&reader, prim.m_aabb); + bx::read(&reader, prim.m_obb); + + group.m_prims.push_back(prim); + } + + m_groups.push_back(group); + group.reset(); + } + break; + + default: + DBG("%08x at %d", chunk, reader.seek() ); + break; + } + } + + reader.close(); + } + + void Mesh::unload() + { + for (GroupArray::const_iterator it = m_groups.begin(), itEnd = m_groups.end(); it != itEnd; ++it) + { + const Group& group = *it; + bgfx::destroyVertexBuffer(group.m_vbh); + + if (bgfx::invalidHandle != group.m_ibh.idx) + { + bgfx::destroyIndexBuffer(group.m_ibh); + } + } + m_groups.clear(); + } + + void submit(bgfx::ProgramHandle _program, float* _mtx) { - CTMcontext ctm; - ctm = ctmNewContext(CTM_IMPORT); - ctmLoad(ctm, _filePath); - - // Create vertex decleration. + for (GroupArray::const_iterator it = m_groups.begin(), itEnd = m_groups.end(); it != itEnd; ++it) { - m_decl.begin(); - m_decl.add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float); + const Group& group = *it; - if (ctmGetInteger(ctm, CTM_HAS_NORMALS) ) - { - m_decl.add(bgfx::Attrib::Normal, 4, bgfx::AttribType::Uint8, true); - } + // Set model matrix for rendering. + bgfx::setTransform(_mtx); + bgfx::setProgram(_program); + bgfx::setIndexBuffer(group.m_ibh); + bgfx::setVertexBuffer(group.m_vbh); - if (0 < ctmGetInteger(ctm, CTM_UV_MAP_COUNT) ) - { - m_decl.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float); - } + // Set render states. + bgfx::setState(BGFX_STATE_RGB_WRITE + |BGFX_STATE_DEPTH_WRITE + |BGFX_STATE_DEPTH_TEST_LESS + ); - CTMenum colorAttrib = ctmGetNamedAttribMap(ctm, "Color"); - if (CTM_NONE != colorAttrib) - { - m_decl.add(bgfx::Attrib::Color0, 4, bgfx::AttribType::Uint8, true); - } - - m_decl.end(); + // Submit primitive for rendering to view 0. + bgfx::submit(0); } - - // Allocate vertex buffer and copy vertex attributes. - { - CTMuint numVertices = ctmGetInteger(ctm, CTM_VERTEX_COUNT); - uint32_t stride = m_decl.m_stride; - const CTMfloat* vertices = ctmGetFloatArray(ctm, CTM_VERTICES); - const CTMfloat* normals = ctmGetFloatArray(ctm, CTM_NORMALS); - const bgfx::Memory* mem = bgfx::alloc(numVertices*stride); - uint8_t* data = mem->data; - const uint16_t normalOffset = m_decl.getOffset(bgfx::Attrib::Normal); - const uint16_t color0Offset = m_decl.getOffset(bgfx::Attrib::Color0); - const bool hasColor0 = m_decl.has(bgfx::Attrib::Color0); - - for (uint32_t ii = 0; ii < numVertices; ++ii) - { - { - float* xyz = (float*)data; - xyz[0] = vertices[0]; - xyz[1] = vertices[1]; - xyz[2] = vertices[2]; - vertices += 3; - } - - if (hasColor0) - { - uint32_t* abgr = (uint32_t*)&data[color0Offset]; - abgr[0] = 0xff000000; - abgr[0] |= uint8_t( (ii%37)/37.0f*255.0f)<<16; - abgr[0] |= uint8_t( (ii%59)/59.0f*255.0f)<<8; - abgr[0] |= uint8_t( (ii%79)/79.0f*255.0f); - } - - if (NULL != normals) - { - uint8_t* nxyz = (uint8_t*)&data[normalOffset]; - nxyz[0] = uint8_t(normals[0]*127.0f + 128.0f); - nxyz[1] = uint8_t(normals[1]*127.0f + 128.0f); - nxyz[2] = uint8_t(normals[2]*127.0f + 128.0f); - normals += 3; - } - - data += stride; - } - - m_vbh = bgfx::createVertexBuffer(mem, m_decl); - } - - // Allocated static index buffer and fill with indices. - { - CTMuint numTriangles = ctmGetInteger(ctm, CTM_TRIANGLE_COUNT); - const CTMuint* indices = ctmGetIntegerArray(ctm, CTM_INDICES); - const bgfx::Memory* mem = bgfx::alloc(numTriangles*3*sizeof(uint16_t) ); - uint16_t* data = (uint16_t*)mem->data; - for (uint32_t ii = 0, num = numTriangles * 3; ii < num; ++ii) - { - data[ii] = (uint16_t)indices[ii]; - } - - m_ibh = bgfx::createIndexBuffer(mem); - } - - ctmFreeContext(ctm); } - void setup() - { - bgfx::setIndexBuffer(m_ibh); - bgfx::setVertexBuffer(m_vbh); - } - - bgfx::VertexDecl m_decl; - bgfx::VertexBufferHandle m_vbh; - bgfx::IndexBufferHandle m_ibh; + bgfx::VertexDecl m_decl; + typedef std::vector GroupArray; + GroupArray m_groups; }; int _main_(int _argc, char** _argv) @@ -244,7 +329,7 @@ int _main_(int _argc, char** _argv) bgfx::ProgramHandle program = loadProgram("vs_mesh", "fs_mesh"); Mesh mesh; - mesh.load("meshes/bunny.ctm"); + mesh.load("meshes/bunny.bin"); while (true) { @@ -264,7 +349,7 @@ int _main_(int _argc, char** _argv) // Use debug font to print information about this example. bgfx::dbgTextClear(); bgfx::dbgTextPrintf(0, 1, 0x4f, "bgfx/examples/04-mesh"); - bgfx::dbgTextPrintf(0, 2, 0x6f, "Description: Loading OpenCTM meshes."); + bgfx::dbgTextPrintf(0, 2, 0x6f, "Description: Loading meshes."); bgfx::dbgTextPrintf(0, 3, 0x0f, "Frame: % 7.3f[ms]", double(frameTime)*toMs); float at[3] = { 0.0f, 1.0f, 0.0f }; @@ -284,27 +369,15 @@ int _main_(int _argc, char** _argv) , time*0.37f ); - // Set model matrix for rendering. - bgfx::setTransform(mtx); - - bgfx::setProgram(program); - - mesh.setup(); - - // Set render states. - bgfx::setState(BGFX_STATE_RGB_WRITE - |BGFX_STATE_DEPTH_WRITE - |BGFX_STATE_DEPTH_TEST_LESS - ); - - // Submit primitive for rendering to view 0. - bgfx::submit(0); + mesh.submit(program, mtx); // Advance to next frame. Rendering thread will be kicked to // process submitted rendering primitives. bgfx::frame(); } + mesh.unload(); + // Cleanup. bgfx::destroyProgram(program); diff --git a/examples/common/math.h b/examples/common/math.h index 17253526f..a477e57ce 100644 --- a/examples/common/math.h +++ b/examples/common/math.h @@ -3,7 +3,7 @@ * License: http://www.opensource.org/licenses/BSD-2-Clause */ -// simple FPU math lib +// FPU math lib #ifndef __FPU_MATH_H__ #define __FPU_MATH_H__ @@ -12,6 +12,21 @@ #include #include +inline float fmin(float _a, float _b) +{ + return _a < _b ? _a : _b; +} + +inline float fmax(float _a, float _b) +{ + return _a > _b ? _a : _b; +} + +inline float flerp(float _a, float _b, float _t) +{ + return _a + (_b - _a) * _t; +} + inline void vec3Add(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) { _result[0] = _a[0] + _b[0]; @@ -116,7 +131,7 @@ inline void mtxProj(float* _result, float _fovy, float _aspect, float _near, flo _result[14] = bb; } -void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far) +inline void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far) { const float aa = 2.0f/(_right - _left); const float bb = 2.0f/(_top - _bottom); @@ -135,25 +150,118 @@ void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _t _result[15] = 1.0f; } -void mtxRotateXY(float* _result, float _ax, float _ay) +inline void mtxRotateX(float* _result, float _ax) { - float sinx = sinf(_ax); - float cosx = cosf(_ax); - float siny = sinf(_ay); - float cosy = cosf(_ay); + float sx = sinf(_ax); + float cx = cosf(_ax); memset(_result, 0, sizeof(float)*16); - _result[ 0] = cosy; - _result[ 2] = -siny; - _result[ 4] = -sinx * siny; - _result[ 5] = cosx; - _result[ 6] = -sinx * cosy; - _result[ 8] = cosx * siny; - _result[ 9] = sinx; - _result[10] = cosx * cosy; + _result[ 0] = 1.0f; + _result[ 5] = cx; + _result[ 6] = -sx; + _result[ 9] = sx; + _result[10] = cx; _result[15] = 1.0f; } +inline void mtxRotateY(float* _result, float _ay) +{ + float sy = sinf(_ay); + float cy = cosf(_ay); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = sy; + _result[ 5] = 1.0f; + _result[ 8] = -sy; + _result[10] = cy; + _result[15] = 1.0f; +} + +inline void mtxRotateZ(float* _result, float _az) +{ + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cz; + _result[ 1] = -sz; + _result[ 4] = sz; + _result[ 5] = cz; + _result[10] = 1.0f; + _result[15] = 1.0f; +} + +inline void mtxRotateXY(float* _result, float _ax, float _ay) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = -sy; + _result[ 4] = -sx*sy; + _result[ 5] = cx; + _result[ 6] = -sx*cy; + _result[ 8] = cx*sy; + _result[ 9] = sx; + _result[10] = cx*cy; + _result[15] = 1.0f; +} + +inline void mtxRotateXYZ(float* _result, float _ax, float _ay, float _az) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = -cy*sz; + _result[ 2] = sy; + _result[ 4] = cz*sx*sy + cx*sz; + _result[ 5] = cx*cz - sx*sy*sz; + _result[ 6] = -cy*sx; + _result[ 8] = -cx*cz*sy + sx*sz; + _result[ 9] = cz*sx + cx*sy*sz; + _result[10] = cx*cy; + _result[15] = 1.0f; +} + +inline void mtxRotateZYX(float* _result, float _ax, float _ay, float _az) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = cz*sx*sy-cx*sz; + _result[ 2] = cx*cz*sy+sx*sz; + _result[ 4] = cy*sz; + _result[ 5] = cx*cz + sx*sy*sz; + _result[ 6] = -cz*sx + cx*sy*sz; + _result[ 8] = -sy; + _result[ 9] = cy*sx; + _result[10] = cx*cy; + _result[15] = 1.0f; +}; + +inline void vec3MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) +{ + _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; + _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; + _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; +} + inline void vec4MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) { _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _vec[3] * _mat[12]; diff --git a/include/bgfx.h b/include/bgfx.h index 05a281666..2067d9f41 100644 --- a/include/bgfx.h +++ b/include/bgfx.h @@ -88,6 +88,7 @@ #define BGFX_STATE_ALPHA_REF(_ref) ( (uint64_t(_ref)< .build/docs/readme.html diff --git a/premake/example-04-mesh.lua b/premake/example-04-mesh.lua index 488b65ba1..73d8883f2 100644 --- a/premake/example-04-mesh.lua +++ b/premake/example-04-mesh.lua @@ -4,15 +4,9 @@ project "example-04-mesh" debugdir (BGFX_DIR .. "examples/runtime/") - defines { - "OPENCTM_STATIC", - "OPENCTM_NO_CPP", - } - includedirs { BX_DIR .. "include", BGFX_DIR .. "include", - BGFX_DIR .. "3rdparty/openctm/lib", } files { @@ -24,7 +18,6 @@ project "example-04-mesh" links { "bgfx", - "openctm", } configuration { "emscripten" } diff --git a/premake/geometryc.lua b/premake/geometryc.lua new file mode 100644 index 000000000..87040e34f --- /dev/null +++ b/premake/geometryc.lua @@ -0,0 +1,17 @@ +project "geometryc" + uuid "8794dc3a-2d57-11e2-ba18-368d09e48fda" + kind "ConsoleApp" + + includedirs { + BX_DIR .. "include", + BGFX_DIR .. "include", + BGFX_DIR .. "3rdparty/forsyth-too", + } + + files { + BGFX_DIR .. "3rdparty/forsyth-too/**.cpp", + BGFX_DIR .. "3rdparty/forsyth-too/**.h", + BGFX_DIR .. "src/vertexdecl.**", + BGFX_DIR .. "tools/geometryc/**.cpp", + BGFX_DIR .. "tools/geometryc/**.h", + } diff --git a/premake/makedisttex.lua b/premake/makedisttex.lua index 930ee49be..3d5d83bf9 100644 --- a/premake/makedisttex.lua +++ b/premake/makedisttex.lua @@ -9,6 +9,7 @@ project "makedisttex" } files { - BGFX_DIR .. "3rdparty/edtaa3/**", + BGFX_DIR .. "3rdparty/edtaa3/**.cpp", + BGFX_DIR .. "3rdparty/edtaa3/**.h", BGFX_DIR .. "tools/makedisttex.cpp", } diff --git a/premake/openctm.lua b/premake/openctm.lua deleted file mode 100644 index 96c7cf996..000000000 --- a/premake/openctm.lua +++ /dev/null @@ -1,75 +0,0 @@ -local OPENCTM_DIR = (BGFX_DIR .. "3rdparty/openctm/") - -project "openctm" - uuid "e03096c4-0c53-11e2-ab09-debcdd6a022f" - kind "StaticLib" - - defines { - "OPENCTM_STATIC", - "OPENCTM_NO_CPP", - } - - includedirs { - OPENCTM_DIR .. "lib", - OPENCTM_DIR .. "lib/liblzma", - } - - files { - OPENCTM_DIR .. "lib/**.c", - OPENCTM_DIR .. "lib/**.h", - } - -project "ctmconv" - uuid "f50ee8be-0d1d-11e2-b721-905709e48fda" - kind "ConsoleApp" - - defines { - "OPENCTM_STATIC", - } - - includedirs { - OPENCTM_DIR .. "lib", - OPENCTM_DIR .. "lib/liblzma", - OPENCTM_DIR .. "tools/rply", - OPENCTM_DIR .. "tools/tinyxml", - } - - links { - "openctm", - } - - files { - OPENCTM_DIR .. "tools/ctmconv.cpp", - OPENCTM_DIR .. "tools/common.cpp", - OPENCTM_DIR .. "tools/common.h", - OPENCTM_DIR .. "tools/systimer.cpp", - OPENCTM_DIR .. "tools/systimer.h", - OPENCTM_DIR .. "tools/convoptions.cpp", - OPENCTM_DIR .. "tools/convoptions.h", - OPENCTM_DIR .. "tools/mesh.cpp", - OPENCTM_DIR .. "tools/mesh.h", - OPENCTM_DIR .. "tools/meshio.cpp", - OPENCTM_DIR .. "tools/meshio.h", - OPENCTM_DIR .. "tools/3ds.cpp", - OPENCTM_DIR .. "tools/3ds.h", - OPENCTM_DIR .. "tools/ctm.cpp", - OPENCTM_DIR .. "tools/ctm.h", - OPENCTM_DIR .. "tools/dae.cpp", - OPENCTM_DIR .. "tools/dae.h", - OPENCTM_DIR .. "tools/lwo.cpp", - OPENCTM_DIR .. "tools/lwo.h", - OPENCTM_DIR .. "tools/obj.cpp", - OPENCTM_DIR .. "tools/obj.h", - OPENCTM_DIR .. "tools/off.cpp", - OPENCTM_DIR .. "tools/off.h", - OPENCTM_DIR .. "tools/wrl.cpp", - OPENCTM_DIR .. "tools/wrl.h", - OPENCTM_DIR .. "tools/ply.cpp", - OPENCTM_DIR .. "tools/ply.h", - OPENCTM_DIR .. "tools/stl.cpp", - OPENCTM_DIR .. "tools/stl.h", - OPENCTM_DIR .. "tools/rply/rply.c", - OPENCTM_DIR .. "tools/rply/rply.h", - OPENCTM_DIR .. "tools/tinyxml/**.cpp", - OPENCTM_DIR .. "tools/tinyxml/**.h", - } diff --git a/premake/premake4.lua b/premake/premake4.lua index be3390f86..ba4ef7b49 100644 --- a/premake/premake4.lua +++ b/premake/premake4.lua @@ -32,7 +32,7 @@ dofile "bgfx.lua" dofile "makedisttex.lua" dofile "shaderc.lua" dofile "texturec.lua" -dofile "openctm.lua" +dofile "geometryc.lua" dofile "example-00-helloworld.lua" dofile "example-01-cubes.lua" dofile "example-02-metaballs.lua" diff --git a/src/bgfx.cpp b/src/bgfx.cpp index a298a19b4..03d5f8958 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -575,136 +575,6 @@ namespace bgfx return s_ctx.renderFrame(); } - static const uint8_t s_attribTypeSizeDx9[AttribType::Count][4] = - { - { 4, 4, 4, 4 }, - { 4, 4, 8, 8 }, - { 4, 4, 8, 8 }, - { 4, 8, 12, 16 }, - }; - - static const uint8_t s_attribTypeSizeDx11[AttribType::Count][4] = - { - { 1, 2, 4, 4 }, - { 2, 4, 8, 8 }, - { 2, 4, 8, 8 }, - { 4, 8, 12, 16 }, - }; - - static const uint8_t s_attribTypeSizeGl[AttribType::Count][4] = - { - { 1, 2, 4, 4 }, - { 2, 4, 6, 8 }, - { 2, 4, 6, 8 }, - { 4, 8, 12, 16 }, - }; - - static const uint8_t (*s_attribTypeSize[RendererType::Count])[AttribType::Count][4] = - { -#if BGFX_CONFIG_RENDERER_DIRECT3D9 - &s_attribTypeSizeDx9, -#elif BGFX_CONFIG_RENDERER_DIRECT3D11 - &s_attribTypeSizeDx11, -#elif BGFX_CONFIG_RENDERER_OPENGL|BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3 - &s_attribTypeSizeGl, -#else - &s_attribTypeSizeDx9, -#endif // BGFX_CONFIG_RENDERER_ - &s_attribTypeSizeDx9, - &s_attribTypeSizeDx11, - &s_attribTypeSizeGl, - &s_attribTypeSizeGl, - &s_attribTypeSizeGl, - }; - - void VertexDecl::begin(RendererType::Enum _renderer) - { - m_hash = _renderer; // use hash to store renderer type while building VertexDecl. - m_stride = 0; - memset(m_attributes, 0xff, sizeof(m_attributes) ); - memset(m_offset, 0, sizeof(m_offset) ); - } - - void VertexDecl::end() - { - m_hash = hashMurmur2A(m_attributes, sizeof(m_attributes) ); - } - - void VertexDecl::add(Attrib::Enum _attrib, uint8_t _num, AttribType::Enum _type, bool _normalized) - { - const uint8_t encoded_norm = (_normalized&1)<<6; - const uint8_t encoded_type = (_type&3)<<3; - const uint8_t encoded_num = (_num-1)&3; - - m_attributes[_attrib] = encoded_norm|encoded_type|encoded_num; - m_offset[_attrib] = m_stride; - m_stride += (*s_attribTypeSize[m_hash])[_type][_num-1]; - } - - void VertexDecl::decode(Attrib::Enum _attrib, uint8_t& _num, AttribType::Enum& _type, bool& _normalized) const - { - uint8_t val = m_attributes[_attrib]; - _num = (val&3)+1; - _type = AttribType::Enum((val>>3)&3); - _normalized = !!(val&(1<<6) ); - } - - const char* getAttribName(Attrib::Enum _attr) - { - static const char* attrName[Attrib::Count] = - { - "Attrib::Position", - "Attrib::Normal", - "Attrib::Color0", - "Attrib::Color1", - "Attrib::Indices", - "Attrib::Weights", - "Attrib::TexCoord0", - "Attrib::TexCoord1", - "Attrib::TexCoord2", - "Attrib::TexCoord3", - "Attrib::TexCoord4", - "Attrib::TexCoord5", - "Attrib::TexCoord6", - "Attrib::TexCoord7", - }; - - return attrName[_attr]; - } - - void dump(const VertexDecl& _decl) - { -#if BGFX_CONFIG_DEBUG - BX_TRACE("vertexdecl %08x (%08x), stride %d" - , _decl.m_hash - , hashMurmur2A(_decl.m_attributes, sizeof(_decl.m_attributes) ) - , _decl.m_stride - ); - - for (uint32_t attr = 0; attr < Attrib::Count; ++attr) - { - if (0xff != _decl.m_attributes[attr]) - { - uint8_t num; - AttribType::Enum type; - bool normalized; - _decl.decode(Attrib::Enum(attr), num, type, normalized); - - BX_TRACE("\tattr %d - %s, num %d, type %d, norm %d, offset %d" - , attr - , getAttribName(Attrib::Enum(attr) ) - , num - , type - , normalized - , _decl.m_offset[attr] - ); - } - } -#else - BX_UNUSED(_decl); -#endif // BGFX_CONFIG_DEBUG - } - const uint32_t g_uniformTypeSize[UniformType::Count] = { sizeof(int32_t), @@ -1250,24 +1120,12 @@ namespace bgfx s_ctx.m_submit->setIndexBuffer(_handle, _firstIndex, _numIndices); } - void setIndexBuffer(IndexBufferHandle _handle) - { - BGFX_CHECK_MAIN_THREAD(); - s_ctx.m_submit->setIndexBuffer(_handle, BGFX_DRAW_WHOLE_INDEX_BUFFER, 0); - } - void setIndexBuffer(DynamicIndexBufferHandle _handle, uint32_t _firstIndex, uint32_t _numIndices) { BGFX_CHECK_MAIN_THREAD(); s_ctx.m_submit->setIndexBuffer(s_ctx.m_dynamicIndexBuffers[_handle.idx].m_handle, _firstIndex, _numIndices); } - void setIndexBuffer(DynamicIndexBufferHandle _handle) - { - BGFX_CHECK_MAIN_THREAD(); - s_ctx.m_submit->setIndexBuffer(s_ctx.m_dynamicIndexBuffers[_handle.idx].m_handle, BGFX_DRAW_WHOLE_INDEX_BUFFER, 0); - } - void setIndexBuffer(const TransientIndexBuffer* _tib, uint32_t _numIndices) { BGFX_CHECK_MAIN_THREAD(); diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 8421aa249..173d0020e 100644 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -109,7 +109,7 @@ namespace stl = std; #include #include -#define BGFX_DRAW_WHOLE_INDEX_BUFFER 0xffffffff +#include "vertexdecl.h" #define BGFX_DEFAULT_WIDTH 1280 #define BGFX_DEFAULT_HEIGHT 720 @@ -805,8 +805,8 @@ namespace bgfx m_flags = BGFX_STATE_DEFAULT; m_stencil = packStencil(BGFX_STENCIL_DEFAULT, BGFX_STENCIL_DEFAULT); m_matrix = 0; - m_startIndex = BGFX_DRAW_WHOLE_INDEX_BUFFER; - m_numIndices = 0; + m_startIndex = 0; + m_numIndices = UINT32_MAX; m_startVertex = 0; m_numVertices = UINT32_C(0xffffffff); m_instanceDataOffset = 0; diff --git a/src/bgfx_shader.sh b/src/bgfx_shader.sh index a81804861..bdb731da2 100644 --- a/src/bgfx_shader.sh +++ b/src/bgfx_shader.sh @@ -9,8 +9,8 @@ #ifndef __cplusplus #if BGFX_SHADER_LANGUAGE_HLSL -# define dFdx ddx -# define dFdy ddy +# define dFdx(_x) ddx(_x) +# define dFdy(_y) ddy(-_y) # if BGFX_SHADER_LANGUAGE_HLSL > 3 struct BgfxSampler2D diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 1ed1149be..f8a38f230 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -1657,7 +1657,7 @@ namespace bgfx desc.Height = _height; desc.MipLevels = 1; desc.ArraySize = 1; - desc.Format = s_depthFormat[colorFormat]; + desc.Format = s_depthFormat[depthFormat]; desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0; desc.Usage = D3D11_USAGE_DEFAULT; @@ -2321,7 +2321,7 @@ namespace bgfx if (invalidHandle != state.m_indexBuffer.idx) { - if (BGFX_DRAW_WHOLE_INDEX_BUFFER == state.m_startIndex) + if (UINT32_MAX == state.m_numIndices) { numIndices = s_renderCtx.m_indexBuffers[state.m_indexBuffer.idx].m_size/2; numPrimsSubmitted = numIndices/primNumVerts; diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 088fe17ad..0182e570a 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -2435,7 +2435,7 @@ namespace bgfx if (invalidHandle != state.m_indexBuffer.idx) { - if (BGFX_DRAW_WHOLE_INDEX_BUFFER == state.m_startIndex) + if (UINT32_MAX == state.m_numIndices) { numIndices = s_renderCtx.m_indexBuffers[state.m_indexBuffer.idx].m_size/2; numPrimsSubmitted = numIndices/primNumVerts; diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index f1160110f..cb533f049 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -1343,8 +1343,7 @@ namespace bgfx if (GL_RGBA == internalFmt || decompress) { - internalFmt = s_extension[Extension::EXT_texture_format_BGRA8888].m_supported ? GL_BGRA_EXT : GL_RGBA; - m_fmt = internalFmt; + m_fmt = s_extension[Extension::EXT_texture_format_BGRA8888].m_supported ? GL_BGRA_EXT : GL_RGBA; } m_type = tfi.m_type; @@ -2825,7 +2824,7 @@ namespace bgfx if (invalidHandle != state.m_indexBuffer.idx) { - if (BGFX_DRAW_WHOLE_INDEX_BUFFER == state.m_startIndex) + if (UINT32_MAX == state.m_numIndices) { numIndices = s_renderCtx.m_indexBuffers[state.m_indexBuffer.idx].m_size/2; numPrimsSubmitted = numIndices/primNumVerts; diff --git a/src/vertexdecl.cpp b/src/vertexdecl.cpp new file mode 100644 index 000000000..c74b6c17f --- /dev/null +++ b/src/vertexdecl.cpp @@ -0,0 +1,143 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include +#include + +#include "vertexdecl.h" + +namespace bgfx +{ + static const uint8_t s_attribTypeSizeDx9[AttribType::Count][4] = + { + { 4, 4, 4, 4 }, + { 4, 4, 8, 8 }, + { 4, 4, 8, 8 }, + { 4, 8, 12, 16 }, + }; + + static const uint8_t s_attribTypeSizeDx11[AttribType::Count][4] = + { + { 1, 2, 4, 4 }, + { 2, 4, 8, 8 }, + { 2, 4, 8, 8 }, + { 4, 8, 12, 16 }, + }; + + static const uint8_t s_attribTypeSizeGl[AttribType::Count][4] = + { + { 1, 2, 4, 4 }, + { 2, 4, 6, 8 }, + { 2, 4, 6, 8 }, + { 4, 8, 12, 16 }, + }; + + static const uint8_t (*s_attribTypeSize[RendererType::Count])[AttribType::Count][4] = + { +#if BGFX_CONFIG_RENDERER_DIRECT3D9 + &s_attribTypeSizeDx9, +#elif BGFX_CONFIG_RENDERER_DIRECT3D11 + &s_attribTypeSizeDx11, +#elif BGFX_CONFIG_RENDERER_OPENGL|BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3 + &s_attribTypeSizeGl, +#else + &s_attribTypeSizeDx9, +#endif // BGFX_CONFIG_RENDERER_ + &s_attribTypeSizeDx9, + &s_attribTypeSizeDx11, + &s_attribTypeSizeGl, + &s_attribTypeSizeGl, + &s_attribTypeSizeGl, + }; + + void VertexDecl::begin(RendererType::Enum _renderer) + { + m_hash = _renderer; // use hash to store renderer type while building VertexDecl. + m_stride = 0; + memset(m_attributes, 0xff, sizeof(m_attributes) ); + memset(m_offset, 0, sizeof(m_offset) ); + } + + void VertexDecl::end() + { + m_hash = bx::hashMurmur2A(m_attributes, sizeof(m_attributes) ); + } + + void VertexDecl::add(Attrib::Enum _attrib, uint8_t _num, AttribType::Enum _type, bool _normalized) + { + const uint8_t encoded_norm = (_normalized&1)<<6; + const uint8_t encoded_type = (_type&3)<<3; + const uint8_t encoded_num = (_num-1)&3; + + m_attributes[_attrib] = encoded_norm|encoded_type|encoded_num; + m_offset[_attrib] = m_stride; + m_stride += (*s_attribTypeSize[m_hash])[_type][_num-1]; + } + + void VertexDecl::decode(Attrib::Enum _attrib, uint8_t& _num, AttribType::Enum& _type, bool& _normalized) const + { + uint8_t val = m_attributes[_attrib]; + _num = (val&3)+1; + _type = AttribType::Enum((val>>3)&3); + _normalized = !!(val&(1<<6) ); + } + + const char* getAttribName(Attrib::Enum _attr) + { + static const char* attrName[Attrib::Count] = + { + "Attrib::Position", + "Attrib::Normal", + "Attrib::Color0", + "Attrib::Color1", + "Attrib::Indices", + "Attrib::Weights", + "Attrib::TexCoord0", + "Attrib::TexCoord1", + "Attrib::TexCoord2", + "Attrib::TexCoord3", + "Attrib::TexCoord4", + "Attrib::TexCoord5", + "Attrib::TexCoord6", + "Attrib::TexCoord7", + }; + + return attrName[_attr]; + } + + void dump(const VertexDecl& _decl) + { +#if BGFX_CONFIG_DEBUG + BX_TRACE("vertexdecl %08x (%08x), stride %d" + , _decl.m_hash + , hashMurmur2A(_decl.m_attributes, sizeof(_decl.m_attributes) ) + , _decl.m_stride + ); + + for (uint32_t attr = 0; attr < Attrib::Count; ++attr) + { + if (0xff != _decl.m_attributes[attr]) + { + uint8_t num; + AttribType::Enum type; + bool normalized; + _decl.decode(Attrib::Enum(attr), num, type, normalized); + + BX_TRACE("\tattr %d - %s, num %d, type %d, norm %d, offset %d" + , attr + , getAttribName(Attrib::Enum(attr) ) + , num + , type + , normalized + , _decl.m_offset[attr] + ); + } + } +#else + BX_UNUSED(_decl); +#endif // BGFX_CONFIG_DEBUG + } + +} // namespace bgfx diff --git a/src/vertexdecl.h b/src/vertexdecl.h new file mode 100644 index 000000000..45c83da1d --- /dev/null +++ b/src/vertexdecl.h @@ -0,0 +1,13 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include + +namespace bgfx +{ + const char* getAttribName(Attrib::Enum _attr); + void dump(const VertexDecl& _decl); + +} // namespace bgfx diff --git a/tools/bin/geometryc.exe b/tools/bin/geometryc.exe new file mode 100644 index 0000000000000000000000000000000000000000..9fd2c87e15f2ed3b77e332d7a229d4a787a8b33b GIT binary patch literal 170496 zcmeFa4R}=5wLd(QISB_Cm_Y}Kno4S;MF$lPR^nirAd|$8z)V6WASBVMG{!F^Gk}(l z;K^7H+he`=n%3T$UcK6T{kL*U@8!!6>`am-;X?(qI>!WznzlP8#V8a8h|K$2` z?1|G}ooLxQ_RVkZwBGjSHy762TbI3j#X~<>apwcscis8mgAWC>zkg5miqM1E_db|C zZ$Vl10}tJO&s7s9jLR`m&%ExLGr@(&Hz)tr&bVvyLVRC4Bea?0v+SR>&8tNIiOpAw z^c93Z^t0il6Uds2?cc+bP3-CGfT=>i~R|W4`9mIR$9RLwuR99-;lz-V4%Ne5U-%hd{0}z%0{OBBLIH$;9U!_)PhiZ?QzKT2Z&+E~FWC zg{%l<^;vNFSFO0`{)YhAbuscG14}kOA3Y0hE>i#hfBz3ifE7sLNGN^h&d&=hE&KNE zqrcRD<*fg>SGES&=j|CU112~&z;CO!Sd>ILILC3DN zf2ppOJH4{f_NC7C$l)*a-Fl_0du25we^4SH?lrz0N{>;gO=~O`Bca;BUqu9xToONJ zf!Df!I@eN>dt9v?%uR%kuX6<|cxfV$&@U=dT4kk0@|;=I&ngECH?&yLCjh3L$zS&lVskAhx}u}HYKwJA zDkCOC#83T=-8vLLG___ETHFvogmBu|lc4RaTn--$jnmU#M8$CbFV?)vACp|wjQ+^$5ON(2C*?y6zkCNWWYv~!8w6Aey8GdVX++33voL_;SGz)|=w3!p)! z{2dxyDKt>Nj8#GbKCj5Da@D2t^B_W2=tBQ>w|Ls?(pWs4SXss9XDTP1E7Dm&>a%G9 zNiCO0e0R6|z^1Lm*6wrf_1oSl<^Kx(10Hv~(&|*!WjfVD*9s?_FIBfmRtrqclFDY; zqRp4+YjyH_vc6>jHlV!as9-0RGiO#xY@qKFR-L)?*T4GJuTK1l?LE+Y;8V|mx`{i_ zppUzwp4cjzHtPbd&{}Kp@e7g2D(&d^s#gwouFO`}XAF>u4YGrf0)u3$@Zr5?&fGbjT&6DLy0XG_vhirI=jErAK>2u z>)@O0b&JpsJ5-E7-BI@dLHYc?0KXswYM4o(FZS^6l~=HGC#q`b%e7!`h0w_rLMK;{ zPTmZS4DVibcm#t`6l%>Cc2+3)_<4eclpAR;%yfWBH1ftmscOhN@7pH^nmMNnEXulU zQOfS)T^LayVk(twl*-yzXg9{A)Uw32@(7Aatiax);ZNuX^wl1~03)-{^QuW@tLxBe z>s^qz`?R65kca2<(6riw?Q{iui%<8RYeO_+YS*t;+@eD_yl`YC z^_U7i!4NmK{7CT__Lce%gzSz6v{}v|b)V8C@zEtfFOVBypVua!>!#NGp!4WTK3+{q zGt!G9c(d(T8+$u^eB~riDq|O_7ZgKB!jVLg!OA5B@bh_YM4KRKlnk@`9CN%@t;Iv=_R_V73)X7Hze4lbqkMJ9H8QR4KIcFW|_~0@Kk&d8OY4 z8GnwUtpaYDl-t=Svnsp$gXn1q%@9sF8a{*1$O>iF;ocKHDZPq8$KgJpdhMR~>n8Fm zuCUNpV940^wnuj;?I6!u4sZi2>M&Y*!ONl+; zFNLi=0Vt^FeA(S0$jr2zB%jU41DIBl&*rs9Kap&)=$|E9TwNzut5tRtHr%Wbl*z2N z=WSNvtXs=2P%Hb{Vo9wWV2fpTvt6w`#y(U_;=rQW&qvpRn3qvU5CSWaweo%tE_I)* z@F8c$=|sX>C9{A&S$`~ryBGO3@!?h(?qtFqXX{6D59UVn%7JB2di2c8f5o?6}wT~@vQ6>Oc9 zyBi{FS4%kfj>aWV$I7YN+U^Q>htT_rAy}igNtU{)WES7XBy6I;w3OfVg{T3TOadhP z_lEw}(1PcE8|GSae~)%#C2%cec%9BbMQ%dXVsM1YH0@=4sNsF|+_gnKw~8lCO89l? z%Xw??Jws_vL*vK7gxnwzdQLaKg^A0UPJE_6 zTE+x#x?o)oQ*G5SN!0+b2B+0v-flS*Gq{*XM6Lo60~fT+D03L-^dqSF53lT#4#lv} zCD1ZaWhG)$+A~sx;PKiWk9|Q@L@NuC{qUk1J1ChwhUm22Cu-Z5b|_{@jS0?JBXvwH zCs+-2MgM6e`D(5Lbr;oF6_sfh4NG#>7Fbz=iE2A`SeO7tCmoXYGBs^k-nxk^u3$|a zDDK$t{xWslMBB+_s#IoR%$qNV?CpgzkXd^F6%Vs{E*oN4G|yy%VPl*%I*_eH%lff4 z=SQB?!HW&{wHI>;P2QN`SfyR^oDTi9kDgO&t{6gQr`mVairQ;84SM21nK_w5ovO-? z9p22ue2gHn&#|L$B5ZD5ACyYeTfZ3Xv6GhMt)jA4(FU&ot>to!bk7k!F6yUI=Rq$O zpI9Qe9rlHZ-Ua)0`v}pHTxPOHLoRQVTp*QOh>Kwsiuh-rl4289!NW}+eZ_AK$t62< zd+u(dN9#vSvJuDQe*kAm+|n(>=4G{PS;l;zp@T^BDC9gjB(XtIhd@CK@cO zjnpAX4Hbc1QZ|zYT0{SA)Y-A4y}+oHr^E4>8>Whd$y6CtGYysyujb8MmbW%@MTRE2 zqOzInjg^#A6BZ&YteUVgj__vKWn~vx3v@rYsX+&8q;I9Xp@vjLQiO@NAU#Y{@$vhU z>077}(lvVV^Myt_yv*D;`CM{0QWnzp0#-p6WlgrX5T>SeABhQ>^|I+qic& zRoW>b?ckZc;yYDt`YnTpygT2=&keZTDcvonxz_68{nJ$4$TNpUx`a==8>4w*q#%*CT)Z-1h=w6yF15% zhB2Bi9{nscH_kHdO{BC_oR+CRwW{9@y|0$Y)#RXS}7 z$16NP9p3%b0>Vg$Q^FC9;7JG|aq$T$5ZLQ*@qGpa?N52_wfO+9wFLN2pxlHuLL(FQ zSt5t`V9)7dz1u|Q9W;}wB;6a=1G3(%dyk2<7Tr4_URq=O4mYDz6%~I=Z;9=Ry%{^A zSGj;VwnwkZ)LVhI1zEcf|54wkS7qZ1$Q<5tII36W#7dlc)pYE4Rn18i3h5s_a`0B* zjKO}D%eo~t79|R@W5qIk&Wsh?@p++MAjM?8zy&Bu&M~uR8QHf>dVx&&nP&cUGk><3 zk1RXoXPNmk%=|fKzP(bc+JYZa)Y^O!TQ#IhtmR`h-5$$6l)f6iPuFfCx_oEs4k-q4 zxb%Ei><*b;r-S!=JH5@+k)JQ}XHkB>d>E;-jp`eej4mkjA(Mz;vg3jxXm&L0F}lpGci8=awmiY2y2ZAK8j=ct8|;mdg6UpvI4cDq z8=>=}q54x&`biPI11Tv3`kvSygwqk4b?6Y9kks;+zAyHUk@&4cojM2!p7z8J7>VZ{ z(ha`)#vO|Fy^Fs;Vn8@zb%gIiPpE=%0V8@QXzPohTm$+d8Auk{^+is7k?SmrE98+w zQ{ED)Q0!)BK)13`W=z&xGtut(a_r{p!_ip5OyZ6JTtYF-tQ^XkMLb$!H_IYFQ)Dr( zD|YjA%AGCPg@n8GN=OCbMK6Fb2KDkD^gAKjcOcseZFPbr^t9MmeJ=3D~PmA3Q zrE|q@A$_E*VdBV=MJXa)FgJN#f~`j-f{A!npf^ z?(H_3Fa6PUy|SBzV%^)5lGGzc=g-g>v(OmT$;PM}(Hh<^Y7TEVwTQQ8RHL9hHuPu0 zSAqbkqn6vTmX1Xg&AZRXzXuzqdtn`R~{?X!R$Tzg`B%%_q=PWOeASi zOlw1SVb9^+hofB)fbz#^-KsK^wP3+k^>%c6J7`b3D}5vNxf|wcw{e3xTuOq;bn&!lJ^1LZuVhNHERy^(c(i~aS@*x#c&!ss~%^p1~ z$Iq8w%B+V)MrA#9$?!Y?iQe}V>14PVUrY7M=X`qjHoW@v$}L)Xy&m=%=?##K9$ttq zKE3j3J-i5SdgY6Hc&T{Vs)z3oFB|pn-QwjLJ&frpU|!P0_luXEdU&~bc|s2d#mlpL zc(r(WSr4xfFR$~1kQaonwB|tmhZ<*#8;Fh@tAQDjilXnI7eZ@0h!KNKc%hCS38NmyOGOZDBFa1(vz9JQqW zP?*^8!yq;dqV%CKu|eOQ_|(1oV$dCY%M{=C$DlR%mLvJ5~ZKj-JqrzR5(ByaKaO-O#liF#?FdTkfgN@<;Q^p~Qi z^jWEAcsn2;8tN+h9pSyuapi$y$l$Rk6w49*wMdCuW6+q&9!FTkcWg}=IJXhPqrWtk zPmTRLrGJLlvST3^ZO;TMH1E4umQ5o?L-TmwWqS=tVo9rOcW$SWkOXb&%0fWo3~)#X z@-Q^rNj-@gs^9U%t>~Lt#UPxYxmp&@1>i|yKzJ+m5%oV9$dAR)Ajdut-4GoerX{XN zF*G+H-izV6xvK*m(QrGw&J^R}B$51o1R0z_N4Nz|=lQU1q5Jgz(ON5?SwsIt4%x*z z+^Z^#hfeNYMvffX(OIom*~Mmqv1u&EzbqJA+V-;R8QN_b7}a~Ug&DG5C{;iKf0s8C zWeerkevT=i7`b|4QU+jjXe0*!hAb#C4QV|o9t-lJM9?4}D-pRU0|ky8{*;t0jzJa< z8p@jqc0G-{g82<91I588HF&n-AT_gV!c)RN5A>yBaPr16^}9E6?^CpP^Ul2oeT5cF z^fRX|9_@45K49(9Zl|pUK{cPZd+nsKG}UI!j^DsTk!Hrwshs+}nNsW%Tboc}nN(QN zCWqx5s!Lvq>5c@iOL*;vV%l6Q;m<3vulNs={9ec&{ufD~@41`A24~1MEPBHgLT$-k zZPVW*X~GJ=dAJotg_m%6pT3v6Nq_94SP6~l#1TXc52B}+Y>qjjLi=HqfE$bEb5%n$Jq}qvZBrGyI;A8^au;=dP`;+W8FH6SFY8CEOWw z)t|gFcg z?Bp&$>Te~YpOzbeX(YVE@HQ+{KH7mq{p;7-EtsAK$HU#Jc@FjP^^L`hu;y93`gsGYfJN_IOoimULb=NE zbfhw6R?G^pk9|Z`6PqI~#{M|m9y#C>b5JZ|(YE5FSnI=fg`YFAw&hB0UlTm_T)D!S z-_@pJ9>L=LTbPz1a0T;;T1!QM#rSz*EjAl#?=4G4%?JDlY(o$pxb50~DE%dT>TAbg zX=z+n^8^bzjJ^jGPW^$w&dNc@cJJUu`ZA6>=-P3y-2^9~FaeG=>krsFEA5*~>>EqI z6hO|e1}e92EI$LFScwZjhoh;O3_PG_-{^%eLTLFiq^_2# zRYZzBkkBHy9@A!-WpHw9lg2X&?D4cG_*AHoPEf9DF&RvzmI8EK9j}i1o#_!p` zKEW5}3nH3prR|{YU@0#?i|F5=m-+SS<&L076yIAqvYI34iTKEj0RL?Y(2#udzdre` zC4yM=PrzB3f^(#NpKa`2upB2xc^sg41ZARFPtD;Qv4q(gizp;s^r_VxR zTExl9L3&Adz|Z#}!a)p0gD^XXb*0r+>og{cwZy^av#~4(q4_EhE?B;?l>hZ}fDsBppRbi{6nKWb++=Ny z_%vbv*vY(A6r9$48!Tm!%iV_Rc-j#DF~BNatPNX%hzT=86W1d&5sUsX(%83l`fMjF z_|`c2<#vollRZc4##L8A&%~-=Zp3rc(P)e!SR^U?yQ|9nne_aZ>4%& zwP~8yB@!LK`H<9`8mG)?U3vxn5*NOB%g|gH7&A)&e$Ilv(whZW z*^V7WEuSA#@UlRvMHXe3gWx<3Wp$Sx%9JWAqFOYWj{yV$sL~rzzjn=-W*_zEt zbchIkR>P21e9mK|J*< z0%QO=MJqa1EBV-5319ca*6L1fxk4sAHl?$d2^JO8IZivKEty}c7$u; z;+;d?4gIsz`ZVH~?4Cji`&n4VbgGk>47vKSqR#sL{EJ!51)irTo{Jwi+RI z$@Nmwz9jxhz&{8ZsBlT037nsg>JCC)<@WHwmER#MM*QtR(7$d$?+PDWb#8l{(qAui zcTkT#pUtwOenG2<=?z*bs27Gnn`QNUF*4#9^1=BD5pOuA<{L+?7Pxu51m4}f2miAG z&xmV0HI3}v|47D$W+=gWHb0w1ztx;qn6ql^fnH@#!hHZrJ>R9-H!v%rWZ`&uI-mtp z*?O!uu|=}ygU}eZ$nN14$&M0w|vDUF~%lPxW9`D!ivUbNVW*hP^OG1xbX z^i$T&5uwP_ecW%1z`336g>xL}dur9}jaAdlz{L4>Kc8s;s8v~JRN_XOt{QVy(lLQ< zxPCXSg{|R}E{U}+Thz_m>B<#{5E{yr?YQUa* zur{I1r?U*DW-uu_rEepQz)c5XRYu0f5=!6`>L;@?*ip*BR7stWU`fIvYejNd63b#> zSuF7{4`2}vc{y59&gi_4kVmnd7$%2LF`4p8>CDuTsY6p|o`|)uv*Ke@$G@pYe@Ykq z39>PI&|iin1N=gmZCEb1V!wQoGr!@W2saJzdQ_QOZI~O=U(PS9JukPjCXVP^t)vIz zpU{=c_{K`kZ$+V6#20yc$U$lMwu%^CZ-jz$+r8ZeWY@;Zef;zNiG+C~Cqgl{o)$Wa z6Gd|xSFaEqBS=u|5SuSo<@bUthez`WeY zryF3Sr<;cTmzDl}bc9!MJY$@DKF%;Xly}gX%4(gc?22~4&#L9UH~*blULa~Y7hq_9ps<>ejuK|%I4);|JxUftD~bTfp(Z8$qR}rI zJp47|LH~m8Iux7uzZ(y_a}T=KSI2{n732Acc+e^2UY#o*^h<(0J0A3kVj;f&1M#5G z3IgYf2mQVXTRlfS=*@8a;R+9l2_yMe#)IBS=!fD#tKmdrm`#lb9YpLbdi)SFvOnVd z6TI`o!8v3LS>e0Nkr~QoGt@Cy;!v@86Oe1M^bfnHR^Xfn_Q)4F)gn7z{wCH-kA~i6 zICp_X4DdxCNlR&bj>MmD;EyOr@|Dl>5pz!zfEnS83#3wQfy}djQxK!=^aVNGZqV5K zRWyKK=`S7*R!j~qo-@JPvI?!_b^fmy{#eEkEfCVGL-J12d(fnp1$reWJG%D!y!!U``B#oxMrud6;%<;ax zFbkYOK=b9cLc4|k5D-dxzS5GfwB-{Q&yV1O+MC)yD@^>%-OOSKPUnT34(-2y!idKp zXKfB^!5L3wtAzkrBEZ84~#jxyf`Q$bCrwC7Y{ z6y=-oUAsxJdh|dXtg@KniACh=WA2rLrX&++%CnMaR+?xu?`#MrhcCnTH)u~OFXY33 zQ8LHRPZ$GEUT9WTyVoZ~?Zs3W=Q6x=#Hdo9UCIv{K*`24`~is1nHRDL{S_2{w$^2I z7B%El*Sb;^Ii=J5dAC`swwwTUn)mVDKoa^L97qK4R@0mVJru%ssm>IqT=X9&d4({0 z6_{?*NsXy&zTMqH(VSPD=sj>MIdO}bLE<0Lb}&4i1MYxi0DU?H^lEu|`DFKgnhVk4 zkO}A=#>aN0o@nnh+a9Gg8?oh`!Len0x-qh1?Nf8*0~3&FuJtM+lI%}a!~IJ= zGIGFOE{~Rrr=85UlMZh9B$h7+a8v`KLv?q8NiA!=t<%=2xomXm>k49MzKDA#M6`S} z8ksvTs<{QW+&oJ{#|H-d?xQ$9@aYlJL58J1XT2@qXF47@Bf|G0?%SBL`OCzife)~> zLqx!cEneZ{zY^uA50yX5o-6%Xqx1zqkHh+c6Aq&l#)ZxLQ3^8*^{ViihBT%VZ8t>Q z)R^N*jS-;#fX2M{DJnTqV~F56RVFHA`Jzw|TG$&pO@#R_`h-xDKmA4E6ImrrF&%~~ zLE&6c?=IW?cF&3sAKT6T1 zVO&GX)I&3na!$dXI2VK&2&tEo<-1Jnx@%awlKO@2!3_;V|0VV6NvhW{epA1mf~utG zSC64zwU8|g@NgRm{jw#J8U_MCA_8Jnz|^t-z$znAO6u5U0!QW$j$s|6@q^B{VuI#5 z8uSQ%A>;2kB7bfLOKme~t>$QG|5v#Rf(Y3=><_J6BD@|#|J4IB4aW(s$XQFPw!?!Z zEWR-yF9%tef?{Jt#^{CfiCa;p6mw4V13~ZM6nbY3$e8GT6%9LR5EJlGzG6WBv?a*} zjmQQUzZl{I^ppO;HDv*9)pW!cd{<1@`+dCZMxlu98B{s7YH(v!KRFnNcM+>1-vZ@D zTVOo8PRx|GYA1XNbD|301*0t1GT^;f%E&=1wDZMah;W4Lp+8h3=5&Ndn8J^b_?eT+ zPs^OM`B~RP+|J+c=f5;_3wsQ9yEj(tCr`w1LtYW=lDw1r=9&CrYCYr%U;qc3GT(-! z9O23p!Og?~{!4r(MBw?r2%dotN=wS@o2^81l-0r?$%j9pM5f~inX$x@(ThXB5xCA` zDGC$odxX!9)f+ei&c9i7FHaW5eAJ1eS0s!6U8+wF6{QUl6#Yy%_j0Pl!M|94#t;uZ zuxm@dm*$D7YvT@WI~i4UQykNSGsYImaa&YbjahK{AUv*O4v(vtv*okN9ed03RvnIy zd%l2Awr8Xa1Z5wWJ`z>|4#asFBRvD~$##1N9F0*Hg@h0MCw&bYq-;q10wEFVa zl1J#BEHx{gt%Q`K| zs-b1jFJZ3{a==zewB-NRuoq=4_`{_9qbb}(2Z56mNPTDxH6;+i9D+oDx6{TmcADWr`en}- z!7SG7IT$=&_~WzH?_wQH!F2`Ap)ar>E#rg$qS9$q4RHZ~f%AkFui+?r;DfvHH`ddC zI6xhTj;M=v|GV(NJ_{aZgL*MePDbMyN__gdRrxTT zku&`kGP=ZeK)x7nFl7>FG%-v2y-0S7@k7`jyBkLc!5@5Hb6yyzKpf|j8_5chZRj)3 z^RW=l8#>WEeoT9qD}(yypc)#q4G2>KGl71(K-LOr#59iUn|;)GtLTZHuTy`(EC`dl zww#e50Riy}Ak4m6R?0gCr@nCK`i66KKQVsy-!{Cy0L~yZ9Dr>&h*=O8J@Y*$9Sy(7 zJ4Um+ao%7IO*s>)_jNI-t0j>)$dq6$vz2|QhPv9lbjutjfgK2cFj%Fr9r@jA2wQ>2 zjNBdzKabeNT`U-JSn+IH+BXIr91+JMb6Ba8ZvN!QV(=(y^X|mD-A-1%6Uw$ztng|@ z`MwH->2CG$m*C-(4JmnDY0Uy}6Ipo#<-M&msmB5~|IgQi%u2cu-w6ZP`ztU3S3%UL za6ipI*NL6CDcE^?kChz5B~3IpUmJ(w^wL2J$vG zzYF98-Ri9{(znWdx*(6F!a<*QYYxxEcdaVcr+{N(mDZlTt?GDW%4(U!;KQ-B~eAw^K2`8`{1*LI9f8nenKq?=DovgIm)km-a zBo^z*b|5NL_VLZoMl;bcNTcabVJY-e?A!F|&gI5KhqLxVC|;6P+J%VdoXw=He&`y~^U1_G9r1^Hqxd8cD?*9PspX(R;a5 zy+wlE&ZO~1>CZ$L7ygoywF|3CCJSW;4xA~~iXyO9KHKLAy;u*)V2@ZU%!h@7Wy7kC zLwTJ#&$_twqBzgUisrEe`E+4UI;)u3m#!7fg!6Je0wCJzES}HNkKR(&OHQqNAbC#? zg_muAKiQQgcvj`FxE~M1JcJ`_zK1)w9*L{e3pJ7GCh6 zFhz^V6!~C^G~e`OJwTtrIrdUbR$wwPptKM4rQ^ZcsW$w*WNpR+?miK}A?i|sSQ@iB z-=o046|>m|xFsfu?NQ-t&m~%Or~9!q@oz(jCIZnVxW~eCtsxgUaB;=kpO45hv;*<~ zSg}zTbZ9!LRno8h92LTD#(<|Bwd~c~7^6f6 z7!H)cfXJ!xeur|D>Pu(&`%z~liZg3mEjb4N-^;0kh}+Fz5`cuN?;8NtbG0s#&(XkR zQusZ(B9xTE{TKt3N1zgE?0ZBfS^2T1-lOs(YK|7(^=`7}@HLKku3hn6w#Rc#vijx6 zs1Y83$~JdEaZ7#BTYl=#R0IO(N0@#-l5sPFQ08w^^-KCaCH7D;3k`U%4&8u|WGt!1 zu{$sUs6g;_voy4?jqUL%%_Kw21pSyJsi6T(hWO76klrY58sYF&FXZ13B??^)X9a^J z`aaCjIM{=SlB~qRhA#k3>5C5H${B#B?o={d|ERSj6inAl{*q2mY zB@M@qA4X$-g?|S5VflI)lWVh=sS~*i<9hBvY+)i|Fio`}lm>BJX{uFEzYROF2>qpn zw)xl;lj*dpA5S|@?qNmPS34Hh`teg>1WPSrQ2+MA9E#-=+x8>w+fw?)eEKAlMa+nw zUxe-9uZ|d5U_^`*jffbDnHSq3IF1En$ri=3H#)XwX7D8k{n|zB~L&OrF#nP zP}w4vXO=YxyM3(hPgqbzfXx`(dEnU}yq0|jt*$MQJQZ^AHjiHlu0YuNZY-jG5v=hH z1n;i3)LP-B1^8>UCs^+6D@Bufisaw~A8ik!B)*H1-Mjz{-(cG@Y%==`6zXS@I4~#Ko1^JF%d)JDGC$q;W)rZdAa13ZaK^ za}C}9L6=x0rq#*$HeAtZTQh(aDOT;G4N7D3_CfHQV)8aQ$&aj#r}-PMM8*7#;BbkP zF@w_rR@h!QYKF}#_O@D-t**-9zoxZo@M%QrKrrIk)1d%%;V;ZdogZN8h@-*#%6V4jlOOHBsgR<1(cVk~l!Hxw1zs>45uAY_SeH&h;ANEztXo%@x7n zrxdIAfw{G^kF^MAPA;`YE7X!!MBDK=P1e1wZQgxAx(`tlm~`OKbU+GFOv$)UkQ!ktQ1@xUh6rgbX z=ckij4>jw!FEN9aw1PKV)OK=-xVVe%XOgN6558_@QZ(*L*@!{x8;(K5O@}`KM}Dnj zKfj`jYC~5?Fk;!*g+VPJgL8*Ot$cr}SSdG<2;mssy}3&MDLmGcRr3ADDtW81O5Rt* za8Q!Sw4nD8&)9n&zAI=S&mt-$M7hi_wqy2+rSknGEU_K)Lu09&P(1ZP%2x9~U!APr z@Zve%gg%P+BwS^LO&6EP8qD%35!t7e$LV0Z=QIco<%N1u4`V0G`$p)q*zBp2DzHB; zCP8M1M+;{2EUCacsU6mVo86TB8v3No9m83wOgtLFujBHt4D<4^ZNpnLxM9xw zx({1_ex86kh^?8vLM#N7^5+R_l?;AZyK!%rxHN1lk6|gSOx#W-!vor6tO}xL;K~mv z!v7R_GAX=aA0`lJI~??Ra|yqAs18Fq2Yowh{cpHOrz`*(>vO|dqu1yD2OR+iEo@js zG{zufaSr%tkqY;KA&NTcZl*OPC7w+lib}c@a)ysPo}{~HX!Qx_lIh;%>uHa(GS1e* zsl(LmK%5PT53CYnWZmn=YT17G`^v`=<)aAZZ=OACFQDliE|v&j&ZI&YiRSz82C#04 zFzSG>g4aX#Z_XnH-*+qNXMg_^NQ5AU2anX$Da(AeIBVHA|_2`ghZ=6D-%ifeYYr~E*Tv|qJ z62ms#T$G5`xv3&_Zz3*JEg3}2v#-`#!9VIDvYFTcBJDLUKt%Xg36`|YOEDZ6Y=<%o z6(D|yo#FfBC_+d~nhgdHkfQIey8?JXHR+f71EoaraFS%cAW35xC}JT5nb7}-V5>&l zPA2TzhW>?!$sIOP$(=O>U#d+m=(f5m6VGtxy1AI&NI#`>XH)a*XDsuP--<=)BfivkzdnwF>G{Tc>GM zRc`N~D~k~N=BEVheUDIBSJ77!IE^i3-COBxmjFfd>z zcydL}8szcEasCu3wN~EawOF`{!Y5+qzjNY)fEuQINY%!T^fYv*iFAiw2eGoaR)O<9 zn=i!Cy$X2GYS=M?(}PUkQpb#`?@ZS~A>;o(Ml(ZE{kr!lVm8`1o=l9GZMk z{FFxd>~)QTWooa+ZIu;jQw$a0=TY}1O~F~*+_nr$VeQoc{w2B_B}Ia+Hj4$P7?&BF z&c$k&3I%w8R)%ruf^=&IzlGjAn8^8=R)L>=bMHS?)mYshb@yo^Y|~&!T^F z!YysU1Hlnj;jPr_T0h>QIX(DL8;{`$foB4$)KsHwB4-z;{H6gs`AV$l zE4!#>X{&t95W&_%GYRwShi2hJIi2PR{{lKxzl-{kB{)S3=OZ0tX5+)ppKhZzl(j}G z1VXprgZ~&VP2YXVBA2l+!7^OqeC>?ihG!kMK7CDU~CoD>AqjYr_ zrE40ILAMZOrjzF+n7+wqK2H-hpX0Fw7+-QbdtbIeDV7VRc|EkffHvU+i51g!SKB=?MRbCUY9~C$~m@%iO9=Sx0YkhebCDQ#T3bXc~P3<3T`k z2g2nIJy*94ccxeF|N8nH@|kS%#Rvh^o0bAS)B%jcrizq1C`H?e6hFUCq}+`Zcz0SO z0i%90KE(P`?+;O}S8Bda&kJ2ve`5~JyT#G)T@%w*n+t`b*SAZ;DV#m?Y`reIn&`r05*7RCW<- zlHSyfk9Cuo_PUVw?*$a4ffZcoh!?G~2G7_wN`&mQ@qw#Kpc}d{J$fXj5oNuJ!01~< ze7hgdm?r2oEyp{5`H$dwFFNKcIbTPzj_^-W#+0t6b(3maU!;z;M(AfFrIhj`!cUPK zBEeg~j+$RQQq8A>(NqPe;}`}3gB)M=Z$w!z(fTb-zb9npETxMyc;osdzuE21f>8`hgX8n)Vz~gxvXQ2H~94TUBJ#UAO8MON@tl5v1 zP5y62G#A{QFEKD}5|rzA5igd|-AohYwPEtT7#fKq&5q|#{H`&Qns$+CB$lB(oRQ69 zW7p)HIX8QskMh z1zYG6Q*Ao1ur|kUq6p+IRkd!&obPs`bH#IaA-9c2vZ6jzV=(*oh z8zq!NB*8YqN8h_dF5z_})kjns$$)CEn>E*a?kH}ur8Lo5O$y6hucA#XdA>~Akuy#` zvRx!w_O|B?ww&I|Yb2TDwoyFmGBojt$O*m}i%qco2vz$A059;I5!*{4=Z0O>c3&nS zttS;|0SnW2cbEjgv_WE3GsN&5QdI3lJn;(~=V^@u0pqnFAbbhpbHE2)nP^NcOk;p~ zyGhboH7=+8ZIlzrG_4hmLpG;atiJKjlbK?|aJk>QsM#tea+AWDAcnJ~>$N(G`rky> zC_LPCxFY@*L)maAc>Ay#8w&jA38;`}LD|}DZ0CromH8_Cd^|=G!@z2;@0DWt<3cyq zqInvg2;$V{4=SzGJsQ;~^e;w@jM`~pFfSctg$Jl!T0cSm4J%BtOj==@ofTAcV0jgkB8ubvkig@NG6j9oy?%Im4TGk{HpA)8@!R&FiFfOUubCeUNCy>34 zkK|Oe@kM;$6Dd}B8>Jhyz>fqiVvPiz8}X}Qnuw_30r8}Hh%rsUrM!3tzD&TWjr4^H zbVIl~lK971%VFCDjG&;b%fijd7YubICVIJAn3ZqH0x?3G{X!-NL`}+Pa~{JzuuPZ+ z+W~V9qTaw(OX{N{W@fG&^wjU7S+@9nE-_dd<=DcN?m&=axv22$9o(NKSoQlMmtgvkFU?$Bx!Rt>0|UF`K-&Xn(U~l9;PRM z4C?~ANT}Z>MkXU&=Z8Nxl7T`%8rMqc7r`rBAn8k_*aBH!g1ZhrC9=X##2vfR1?s#D zB>c&}2SvJIM*=$=z|Mxh&(6^clI$2%u|@fntcdA`!A{d1s5WubbT?jbP2$oV+;J%0 zaYG_5E2LDq9x=R>-m-G|?K`N?In7F|w&11u5hAt_1s9^oLI49S7ht$N8-)O@N*Chh zb96>)m{b{l3!XNZA=30^Y<^bJG8G5((+vA%D7ccaIUf54_Qw^W;+e|kECA!0w$tQY zZlmsmUpidOc2SoyhQ3-{!QaE)a|?rv&>hjkD5gz&3D9bzu-oAm@y@qCjn*Dvxc?m+ zE$TKh<@ntJJdK`70VQI9Rw7-V@EVYEgfoc&v53I7y-UO?v~_r8+wj{Q4YxzlG+_%z z`KpZrRA^T}p2ODv?Z09D-yUWCj|M{sKo$F+xFthaN-VZ&cAqL7wsYEl>}MP9+-UnR z9C#9K(*9p6>_47o+5i7n*!*9K;X9i(J`4HPT5~(g5XJdvHg#%B@$vXH{Pdx(<~j0$ z*tJw`O84{3EW8W5T*|)%-^rM^`1n-eN6k2AQ-wuS{k;M0MhQ2UB?q)8K+F`>Br$JD zypP-0k;pVcrZwJ=CuR^G_)xWdcoG05GHp4Y=Gu=ctT?<30r27GC-C{K}_@LWj+;7sd;8=mc#lk)$(?tY6etfJUxo`w_&q(^jOcEZ1 z+C&*@Q>%D(;K{7&SYupPZ9f(wL& z*5Oy+f)|+ebG$L%TIlDOB{M=tUPBp6Z#N!uE(v9_^2|bY&ZdHm-tnOO8co)ETk$|T zB@-h<=`T~6rJ?b!VfoKe*h_IIKrwl?cYM%UzcyjP)ql9ouCTWO8ICtF%iCfsFo2zj zlpm5`lc;3hGOEz{(8xsp#xX^OeYei9|L#)uR%n9Be<8jGPt||-5?uDuhM!fUU#+|l zzgar9sE}5>{;DlX>zlf%z^XlLrShTzeHm?IEJeAU_20#ATig-eg=J8rgmNnx6+s1XP!Xc5p^Y6l*GeGO452Dg;wpno%Np} z{}P;HsaXn0tt7^G05UR0-XX1NJ>ksh51l}z^{(G>!FIn!>*(i6vS+0Im zIUht&lT~Au(?mIG=L0o44TQ!OyhweTH? zr=eD>b=7PE_;!0=k?!1j0uQ>9hmh|*V$~`^UJmf2Ya51LZa%~oWkW_@fQ-~X1DZ$ArMZ&VV zhBWxte9BoX*IvZ;ejCLSlVyynFXS8tW81%LvAht+gqVMhWiA0F^IsAaufa-(NEpkX zrUX#Em8ykqJjTa2P}1`=A%PcW;o(bMHys~|>vHhq|Ak;LbOP1et*q^_gfe`*`Ep35 z7mvQH5K)TTmd2_jT{!3R0u*NP;udxfXWp(9_?HO20}tF{gKmp3j&A4p5pw8r@GBis&N8KY{W2xK9`j5&bbId=K>n0j zK6vfdDVyH=2QY%)nbdc~;W&g@0w~%!6cj#(t3|`qfj@IM)V0I+bE3UrPR@GL*M&&i z@R7wbupS`thLiN>XdpYz??slQ;YqyyFC&%Ch;OG1ri}AnX>ycDbwB;P2fT>O8B*K zSnUM49gw(#Vh_sKUb0xl_|mtzcFH1LNo5enNJ_tGhn4IigYa_%IZXKSA;Omvx^6_3 z1Kkf((7lh*RIss4fZFMHV-tC0Z$_+ za4X_xaC7LkIw7N6tX2jm7&5(#w7%7qxULw#@;3zNFaU?ar~?74rWH7cpy&sqA@X4; z-GIuCEK|b~kQ6_SriJNReqTjmawd#8*u0|VX@P~3Ytqqsd^~G3y&oHxv?c;#Ek1r1 z(Ta>mz2~g-QbH*bv}e5m;1?DaMn znR04r=rE#6MXDNp2{20hTPs&9y9j(z-Tk%KEHW~E1_MJfnEMdbg|5Fd6=Q>%Eo%_Kq!Uj~D(-cIZ&0pVabPo1{z|fY9~?#YCk8&F8HdQOA5Hcl z1I#VNU=Y`&MZH@gt=jBSRr|qc8rPna#zmuPj5olHN*Oe;T_qL!hS-`g8guLpA&pVo zM}=%tg!Wql%;bCCqA!L~Hjai3CsB^j#Ro@&RT*G4!Bkx=9t}0yfHEpjI}WFO0kN39 zg^psR`S>Z+X|dMeC6hr$jSu1u%n_P#wA!rX2$RtzWRX(IeFj*~qEwEykB0gW6WKO0 zb9^nbSuDxQL-?jO*tS@}k*963k-YLIoY+LhEB9JO2TzESMjlKY-Nz0?HLS0HRB_1HGDV6(7TrBRYSv{Cy5B1SdyA7yO#`V8PgZ;aSEKbvj zq^*8pG}Ias>bz{L303nF3i$Y7jbIL^9zu@VDSQqF&BYiMrcOh0Tnc6E>+OaFm3X=% zd=M{US-JLDVzLY7n8k7vZwz42P);X;_h3ilPBgi}gVBpjN!8Fe;^W^zBVp$RXZG^S z5|f=kpv2QcS5|1k)R*H7DILuhv>&vV6|AxF8hviiYc1FtUOWe+UZh4&Mk6-?W+cx` zYLhymkuDgoC&rf>P?(?0Fq-sIqe(CB+sFR^`hAy-Y-#i~OMP(5xf^`SNaTE4N(C6^ ze(bg!#99aM&5dlDmxJJ?(3B0QEHD!*CMq`$&}=oB-g`bACEPKhoRU^tg9x3EY(cyG zz{W93yA{7$8amE8qTRABN*_*q>`^|pMSIhN8ApE&#N!OOPYDhLs$1}sOoh|tCYH3A zYj?DtYVc6TV!#L9SHsdc)q}+YP&eej_o|H$GN@%X2<)2FAzOxZfqt zoLR@B>_qNf+kow)@_9lTNaVhq+lJqK!6epd-4M#Uls@%^~?p|}P|q}W8ygpC>&2+m^@UVLJ%C0x8bG={(P z2;ees=*5%%5<}(`I(agbFY_XJ-nbqIsmJq|r-fWf@$xhfvG$F_)#nrGv?4N%3yuvo zjBA!F9NROr;@=f2Cofoq^Uc|g?c=mZem7T1(AQ`-tS;`}4}MVXjwWYLm;jg2a8xqD zXTa*_cIH*ep{uwJW}}S$wOgh@Zk(ZSVaT6dIT##6r@!x5{^d@Z@b;?6rFCiida#?n z38>Uk%uN)_+^A@>66T~d?24GsexNjED=g5xjSS6&>*58JN5;&$a;MhLKNSTZj zI7vm=ACPd$@}PSF5->O_i7R(5|FU`sjY+f&iy!2<&hjzFhM9RGIW&#W0wV$XXIAHR zbP`lYRH5%8y8p2YtF8Zy2{op=V%qp2-eJQbrdoT=ep;<7x(-KOJJm|WRMQ=!rxD14 zIG`*Z11!WhD7jV_2z;Y9}6tZ+rvME9=6bE z+b|IWs3Dcwe6wy>K;EdEIVBd`3z(TBS{o|^SzHEbF>f_x^%M*UWHr8}Z|?CzyAr%U zz;C_?;>5w!?d$1>cGltPA=)Ci4|sHt`GP3ek^b+Gxr2U>(g z2gLekE{c@&ARK}=I6$4G(;oT;4}+vZ-Izd6Fjzp;U!NU3Zy6t?^k zZr>-<)Nl^~nFZ&~Y%QCLbJBM2KY60iF2n9_)J`KSL|1cR&l0acbH^{*!`j(_UX2h< zq=RZF-KTK$Slx9D`Nx}W#&&o8E-HyV`U`+2_h6oHrlWyQq#pQ8-PMhpynqy%gxyfQ zGQnu?93U)BET55BK0UFGs>bgPgTw$c*|Xv2Af4=#XZdtTcqSz2Sv|uM{x)7HvXE%| zYb=nQrVY}2VrF7;mhd_q4QT=>v5hK_*hVBx0x}5D%;w)e~<`jZnv=WDlMYpyO+E4J3>jSD$hw9oF? zzT5GJ`V6eAEt-!5TKf&o+|k^Fwzl)%@4XGuIG!)n;}Ca1?z7k5FfNpl2vbGodJe1@ zV2#A+cp;n6H0`F|1jHtezwdMIOcK=X?r(R0|37>(_ug}! z^ZuOYob#OLrPBKi$kNnl)=kI5P@i(SY7xTo!#+I|JHtx`h?AS1fn|@)Aaxx{G<`ZD zY2s9y35Ysd+4fN2JD9`5l1^I4ObR$dW^%AH)cFDWoqPv9rRo~;PV&3UM=kN@a3B0M zOB4yq>zlvh3U&4Y7aO}hDKL7wD=_jm(htGZ_JU05B$gZD3zn*V-=)}MRdtumcJVIo zGt_GaJdo^>YS>MQVP`fAgAw{aO;kY;(}TdiflyyMw!)fx%C7ho91Pcf2P_tnT3OB<3TL_+=ZBrS7J*q1%X& z1EohRn4M+HO{;QOLZAJ85a*Q;XGAGiGM2P3uN6xmn_e}_+^2U5eGR&%%y&euC-y6&_=3}(PW#1DUCd9(dwn)gu zsnhcDHVN;bGma2(1BhAg<^GZ^yr!bGDj45{Kfjv6{Sh+m<2t9JTU5*vO3=SzARYGT6YcD_bu$lei1HbXvwjjMLvAEG$>kf6= z?R(7Z2DROXQq{jJ4O$Ev1+c-Zt)P`Fvo%@Re zxg#??0IQ*rLT$;R_GGEUuLq#ESTLcsB&i{XEMgl6V#(tL%G|-Hk-FG59?|UbBDxQkxNuDQpcJb`u+0C0B{L$Cr=<9JjGkGFma$h>nbe>+GUY>5AZk{flT-M&_;ORJbY^*-2CBH`ge#YM; zl6PWk3hea2kg?F;w06ii&^BPKuye+aNxnrU`K^W{p+v3Z-ia$EGjKtux1WPFeiXLfc?@G=2CUqI7gFr0CQIwy*y2QU>{8FTK?fWGY7z&N$y zQ#E_%daGs}DRP4+f)|&l@5^SsH-bGSIoFk_(;QV;lS<0e7~W8;{q(u%pD&G*B-uKa zx9-@&v8#1!7D5rFRp~1@;-_ko8cWG*t4=lAwn+^B&D5O+;N{!W-{FAY9Gp<)C=Jh$ zIQ0+bL^!Lyuyh4F>`zI)D1{4r*p0GomhdgkcsjjZS3oXJ8Uyy4G>GT%wBDD&}oJh+I$S;yNT-?w==eSI%*GqB=AG+~aT^-=M#CtqZ%M$c3KR8*GenUO63f=lZ=H z{tP$7^ZRNqn|U`#6viYT=H1>3u(xH&?Tw|j`+MaS)qpC`b4(yM?RCdxrxLh|GaxLQ z$)0<52ON zsN57PEQdJrLH)>o&R_>K^G*jw#0T4(>rY>Qq1@>VFG02EK_uE``*}L>)DVCTkFZ?^ z8`2ZlP~A0v3f+PV-3e59k6Oop0`n|H$oJekgRV{>LSA*B=bje;D>J_&I1%hslirLY zMN)O|l(*=H%do;y-4*>YP-xr%) zs;;C=K^ISbgMd``*#ZmMNt*uNMp68@!4%Vw-GVi8Hb5FAx}A~B>A_$>M=v>)$yV{J zXsc6_3eB?^cI~!{$gMQGRz_JM<@jdJ<*VYLO98dOaxiblzo=h;hoGZ3s*z-&+Z#Ix zE_Mhme&@pYYA2X@4R{#%Vs0=qIOE*vh`o5JPWRk%k#iH@7ILm9ACNOsZT~odoSEm~ zXB`L#=#Z080zY-K6Ozm#$OFl$;0L+XO>`3p=0go#niA0+jlXLqgP|0o&wJO);PY2?~DwmqUp{Kl+mz(aEm-yP!6&r4(kU=tKVZJ-)THBRa zH-yo~QQHH#@){$dU&-cv4dY&WG656Hujk&?7C66Bp6Z7`B5QI>()-1(q zT;(i&)K;mOkia>Wb6@h=)JV?pJEjrS?#P}g0AH8>%=fYi+R6hLRLYCWi{}eU>2p_x zgyuAJHqNZ<5;VDKBFr3@S|m*q&PL9Wxw+$uSyzz@12Mzn7x3QX_x?)OTJb&MX?TEe zbB0T@Z$6)7Fbk^>!OYlb&TvTJZ*^c7=BdNgC&Ix_eAV-giPAE44^g=(fxq$b6-a&^ zpSUysHji+Mc`%;oH+5({vlVBIfGAJwfoLjC@Y;ft!@7yIyQZE7$guZ;#k5_b11=&eB%)Pq7~Ly8>v>eCRs9Mm+2c^ecwI!RW<`hgBq7`DTr3#&BiuPyof|qi zxkNUw+=HmQv1uR^=m<7TLhx|VKBEJ>){t7KEY^pJhGaRJ$p`W>?;`N@B5dPnGB10eUFXcpEOqa!bLV9`-=H(|QtO?_ z&6``RkaPHX1xA}MxUx+3ucpsrOZ#6tVE&_k{ud6Io`&0LhG56T3?S=wnc9u1J53DA z)HQ2_OtHB>VNtjzuucKhHgfJPIO=j)jXQrN;}GwlI*M*t}o$W z?HYS(kK0jBIg=dp{YD=Oa=9lcGp?P|+hA_KLcEoGq`AfF?Iw+~+?RPs2kYAt>ik4l z->I_o;R_M(L{tW?dQUga^YFl~~_B1^qczlm}M;bY-VFIB(( zy4>q6{3&p!50zig982bG367^%7R&Hm1EFRcE$huusMwV?z;OpBEQHQHefaf6LKLD8 zxe>=>xibSR46b9iLM){jPa)4!UY_&H91I+55X149Q3#VV6u2sPi7Pm&SbarmCZjdM zWIKPphz+Orv?Po5wX5P$LHjT?1giU#i;@ar^*Nw+r_Rot{#dEnr3-0IkYKh%BC($Y z8Rlxle^l*Y!C(lGB9IJHJd7SVimeXQsK%fvL(b#mgQhNEDMhP_6$YC5OJ_vb85krh#GR zw;d|XG^L5Ng&*PEF^zDmy+}r=4*D;l98~-YT`?fGu&6z$5KuLPf(G`DA1W-`4kVa( zP6E+`g6GgOY*DBgoxg99P9tWyPb!7VoXEDEZeh0C0@+PTp_U|sITl(0!4G8HZA%EB zJd`b8M$*$FM`G^~;gMaT7RPV2$cQp#_mT38h=64OhRvKUFouWC3?#??9GPuODN|Zn zBeVMl-aZ+4>x;j|xe6SB8SyGt`OXD2HB#Mq>S2!2a4}YLcL6^s;O?=x0{R^2yFV%7 z@8;aq1yM1Boo0p)qPaIQmWxU>M};euzSRa>2x@O%y-hz^1(&;x+xv{K_nDnHONyoC z_c*f6PF;yb;&OepA@kh^@^XBC;W?k&PRdOUw+1ft&le}LGjStT0tvxBCJOwkjeMOo zrl#{&hjnpaon$RKPNI`o#&NDspSbi{bjXSP>a9YVvS_E6ucWnT%vq-b?mzG@=E`|V z%|0YcN2$3!-CVEFb6#^jy9Af&eo!YKI0u}ZSyET+qJk{}^XrGza)LHtdEfAl!$`g1r$Sw!Te?ZptM$Rcw{(YZ?_Eu0 zg}NVNcVl&DyMK?KW|%C;lCqyGy$&^(LzGclt050WFfz=ra{ayJ034EA_E@Lg^9F{+ zSbivMkM~+^n32dBJIaY&(xQ?+>F`2VPLW&9I4HX!m+t8e-dcVyr zR-Yiw*T)&(%rZMEZLoUczYO0JUSoqGobhICYN+1~I@Op)I-;m=p@G+tbY#DZyt##r zYG+=dYqL`zhMAaGUG548U2+(z-p4t=AUsWmBQtNMdxInI)Ox3Si4&uhfgfA9i9)Ho ztWMz+_1Z}3?Vm|+;|sW*ukd5?C6vR$B=v^@5Rr(=E0RlZpOBxAe9K$q0B0ebY7#gM zv+MN1QR=($ji2R4$&cLBHwH5rhHr+v4+9>&K5TT@f*&Fglr1#{ywDMQB|f7wt$q3} z3OOZ}Bh(kXqV8fo-kYW|#;zTK2XU zuQv4@jm*n-Pg$KU{K)WRL&bNF&;_P0+bi~A{%$L?|13%P7D&lwQ{gCLb$A5rx0SDy z8T!}di>&SvB(&Ad{QA1vJA;>pHhS&BY`k0MXE}d(ejp?NLV1kLzepab`8LQE`0ymm z9=aRyTe+{*2OmLpeIj2cJP0U{Uhr~yWS`KNH|`T3Ti?L2`Fw=T^VYu4k0-PNjAUzg z(no!?#?5pq;D`h;qJtVY7Z6c*wvUQ?>Syy_>2=Jp{V5%KU-H~iPE2L$uJ6e_fKe3~ zVO>l9cA5mFYbBYT-v$N^-8N_N2*(FAV*z!gfJ-WS?Q?9EXOrbH=^MxaaRALuQny-p zl&S}i%=S^oS?gz(sx2a>{eGUkt;+t?ZO2I8O(w|r7poifWEAoEQ8_(UHL|TN*g^GF zb^*r)#N+?;sjAv67$&7T{rP!x6hK=(4Rquxt36%>)GPOpQ<<_qpfienaZuhI=i=GI zn4BoSoO+8R(?5~?;3yn{iCkW6ehGQ;LK?3pAAP^(I;-yk8GL+QKIj&1Rkfy5aBQV? zxw;IZVd=3>lpRfZYhsW~)o(e*7+u(guGf2+(q&s6T<2&KvacjJH!#vT^vxsgP>b9C zM&1i+-~VQ_+rA6C_^#aCpaWhc`${@1%~;A+c^_gtsX5KjvlJOR>qKpuJ&ln2_jCX^ z>u>U6EL_D5lciwcDrT)*%{Axoy(>uUq_FZ z=sEVcs1O#3-MED{Dw1)l*|O8fMdqt4mgV7s zRcyp@8NatRl<$UNWMi5gE2yKhxD?c%ol}RI8ZNGIh4faAW8z0!#Fgz_S*b%jJze4=wl18sf@%zG0c6< zy$Sprmzt_ z6q{wHB5myA+Bumcgu7{i=ZV(h0`V_{YG+;qrgz0gaNa#aGiU^D*dK-Y zIr@5Cc=ED2G-z+|Lum_R7+9j~=%NZY%o-M$k5F8`SaAUOV)gGZ-{r_QqA7*uS&cJc zk|bIh8=+o_gV+nqRHBx+3!-v&P4d*XWSjJuB=AN@5=cu{+)Q@%P?pV1N-$Zt5z9GJ zT9!LrkPsX!`3e-*!T9W41Gy_LX&fJT6QZK2=vGl156|#1xUh~=Y1_=qpqbA;QDE-T9Py-MX)c%c3*px;eN^d^b7b@Nh5qrDFBo?Ltk;5%aw)p4{GF zRw^0ng|T2|P`FK0%EMZ{9A2^=j2hfYY~4u3^o^b|V>M*1EawQ)rLDm$&DV`yOr^Nn zodO}K7Q5KYSOrL^cVjTEDtYNPiQr;Z=YaZWLmfZ}C3&o*nl$Yr$Y`&~ofsJD^Ht<# z2G3ZJkBk}1$O?Acl=hPSy?6vHDPdP&zRpgVUb(7Rd1;vlE%9|>31Zj1tm@rBnXf}{ z*^T$9>!9!DP(f%Cy#A$RXSBwap#X%)b8GM}Gh?v?bsncL|>}+kDeS2gw*A>FQb}1w;N~MQ-&=p87P#!|-=V-lp{M%*axNAoAG9 z@6>?(o05(Gc7LZHwwt9s%BgDu=9U^ooe{Sd5eO%RoKm5z$QE6r%ZJoR$ZYMZ?Akbd!LxCRDy&}N`Cbf!PBsL76u z;SJke!Qoh(5;ZOAF$?a4(I!{fT9V8@T?+t9Lf9}(_QnE7<%1qhp#|<@b#1kDrQE6Q zrMYH-i=yX-{3jf_)t#Gum~+H(;yXjS%D@W)*Nh?*ky5+RQ5##^R^X^(rF2&HEM)`S zT6p>pR=%76oiWoIXT2fJv(1I%Uk4V&>oz@n?Ih_~(I%5ze6eAo&gS6NHCU_do2*&| zuAxS;G=XbRVcwc^Luc)tdv6sy(gSX0RMKYV-Y8aQG1U-96lS9O8vJ5*2c$AboQl zrY0oPeBJCI!e!LTC3Wo5ojV-Rs>JnHkel+~!2}lCnOV7=sKJ{q;RBl;A`=HS6i%+X zho&a@68~34_x%S&=L{5m;O`Y}W^AN^n!yuqvY8=GmK|2`0&_+!Bud>PmE)cy-t3G` z0?@Xib)ZMa(j$!mnJ18R`3UJNbF1`{^w>z6UQ43T2;Fbd{3^EL?#dlP29`OX^5^y( zW@G|zW`yO%d8)l&*)*DvW6lq6mW^(<)tSb4xi&Ok4c{%jUn#8=UIyRNCE?9$+V0*1 z2F`7}`v$(}wii^^-h=$i2=yU_Tav@;E6t30GD)!PxX++kszU%cHpoG%;5MkGYpW>L z@NTZZO-=L@n@EvC3iTF;f>x?WUCDmOH;9M5r+%+rz&WOckbSg9=??DLzAq@=p?i2? zrI0olcmI4VRH%z7+7tLP{j9rhM!j^Yu*vCC!6KL#>Uq5%HZ$&(?p)|F!znQshk?r| zG^dA>8VMKPnIOBWp&(t3*koCRZ3`2tPYLKEn9Pn{_v7Dz2qKNjFbpO;yqbh#uXjKL-CZKS=pOpTgHU|zn~fl9A4 zA43N!;0|4fPXm#pj%-{zaN-P2gf7V4nIv z5ulvH@|+>b)fg^FEC5|oW!K+QsxC>LLR`R_*V{BE{)KPEK6GK~stSFNbW7z|_WLMC zXP8e0pz5{+p)5>b_ukdC(!%cP=VEu7l>{WYK(JfxY|1eYG>F|0{8*~`0pTJAWgP=$ zcaE26Hnv(t1mf}|>7IM3Ie3#SOc~#{?h|utVjrjS!2>>9oZW$Xpf`M5wl~7xluno) zn&ELZyv65>!?!3lEu4tsc*f?2E5kVR1E-vyVPgzsaS^!w-X-wFF-*SPqtO3|MnWP&rfvLYlkO9T=?@%gT&bjXmm1Rxo$1;X?PP ztF&d8)hmfA)yg+*EX41T+B+YGR-vG|C2mjsO}xajeL)>3Dmspk_*i)3>@$l8TT=Gi z!gqXsViuqT)E*eofHA+*9orU*bmXd1IXRda+rcB`=5ydxXFSAvPM3v?@_bN#%QdoP z8X0l39Di3%7m|CaJ8vZC*zkr^xNU4hQ+0S(SP%c{*TXZU04?F3s8!;2eKMXpAT*wx zSf_e=wrrMeiMb27F2}YNSD+2e<-rei$bzPk zjVVnnO(P5H_Xba`m{~NaH92s)@+OLW{CVj~SCb33spz|A7(dZjjcywK<$ZxvUz3YG z{=LcNBkoJF;k9RO3Ak&|_!BW77#)SRGp7YUHtw@(P|}q7<@0Y2CKWcN`Q|iA;vTug zUNNAz8Lt7ZBK)qSncBhQcb&}6A$-$Ci{yxF$s=JbkYP~w!7v3gWc?Kfs=^T+rJZPx zzh5Jh@IhUi?Bco0^#Yt}tqX$kvd}2u$)bJ1qQKqaP56_*X{-G-^aZ+4bexV@H|V$M z6*bPqwSufgHXanxE`Qg-m1AUDkIXjJVlJql5>=rIM&h3{xqR$3?NHYpXMDfeAP(vt*oq*^CO!m#2D= z%jmVgV6@bv&@hT;njO zscGOs&Jp^Xqi3diZd_b8B|J^tz&qiXmAXS*p|-9+j(jcKP}&bKD4mY2J|I1d>fT-s zx4+~?vW+ZET2#!)=t#O>N7>u$n2#*_spLpj0Y~G+*!hAB{sSc(s56arrj}Q|$|emd zl>wc#m!1`!H9g@4qt2Dm%g{KQIe=c-><|UJj>6A3*-Pe_EI}}6Z7K!AhrlR$N7d<~ z-Fq6OdyV0tH$-x@jK;38Mys}3iRg;|glJ0}ZBZ}zAaA<9gL?wZEa3%7#D#~cpGxYB zVxm=Sz&hz>M3H=trax__(t#K6L)2%VrvYZ9mbq;dI^!3GwV-3Ta6X#*r8()570JbL zjD^(F(V))xQa*)v>VJ|fbN7Tu&_tVfug#kpbO^q*rA#Xbf#g-UfRp`uvO66c8&kN5 z4*Uq>rjMoz02c^`rhjkk@y^D{@CH}jF3;VMQ>*ZjZV|J#d8mE5ZF3Q-SQjtp zHBvp#74=>0@3w5hsXlP1BGf$1^JH^Hs5f_gvK@i$-q7uRj>Z(063-)h94%2tfmxJZ zA>25|hC-?z)gPM{eSV(Xb)LPh^;hFCOH@}Y;4z*lfIir!6~^Ar^ScA-5}X@Mt!@2s zV`gkve@mk)X7BeQ;7V0TF_u-+N>%Yr8A!K1C^vp$k~A6rS&YQLPEYji8Y-DeB?{DZ z%FH=3N$}<3SEu+-mXu$xf1|qwmeJajwv;Iau{0ST%MDxJt42Q^zbX4EMIQsxvi5wu zp%yC-*XfRFj6W{3kt%o<%pTtG%BBf5PRPpI^SDD?4U~u$3lu;FL!c%KRN7jOLse-& zwVneNUfv~1+PEAzXHH=FR@mH$H5jTw+wqsM&S9K^urE~qNFOwq!Ko^csV7)?TH;RT z?0K4=oI|mgV%r#cS-RH$xmF||t(GF&o>a zMw6gSMzQG`J&Nbl^S?t`U+1o2kh0!F>-E9_vH5VU?g=RCSL2j5K^le+p{h_@p{GXC zA^S^1D5|}^SUI?s7$l?_P(~r7LPCv~)hZTZA_s_Q7+LXw5u5g@MFDbH#@btEEeaj+ zMd5;hs-ME#;J;8^tLih=m*Q1#kAix#t>XW5c zl*E=NOLrTx+o9gC1tx@gX9p}0ielYKKs^prY?@AcZo~%ACwAWFM0|_;J1R9~V`L>9 zB7N~yy#S085K(A}JSnzNx%zwRBuU%RnN10qlh-PX^;U`UpN*d+;%2aUmHQ=rFa5gm%szSzXNPL@8r4cqY6*DIjM`z%a;aT&}`_%URr)%i4DIHGp zcoLPEDv!{|_#`?`ZS8xo$s0OeTh~$x5YU|zM^;P6cQ7gyp7MhfnRqvOZ?!jD|0(Kc z9TdfLhF5n|`O9?veu~{kvE>J8h52+X-9T=H?*5pTEYjzt zd*_i|eire-zDMzgc|K1!H}l>FWG7GFm-h1n@ynSOYfejXWU(eDFQ@qXi=^TJ#e?x( zx|=@$$1s16@drVa*`!B%^mv=D%;r6`n_4b@fvW7!s_<;y8#fOe5+(TIkX&||<6s&~ z*F~J*;ORH&cFDvc!Kvxs@vBdr0wb9zjN`if=@p)j$?Jn76`uEbo+9t{VD`aX#y)mt zB&++_!kKMkrRPh&NkN{5dzp9xwWE8U>K@2-@d&H3>-JNgni&DHqYY$wNaNEG9-n+)G3=L3>+CpiReqO0SC zYq2xlsv!jI(*)%2(5{+m9k%E)7)RwpIZJBOT+SM(`M_kc!G3amhQTEa%Pu=5Qw!bdx(~_f zx#9c44^RF5ltxJbX6^I4?QxQR9d;Ma)BSZ$*g895$DGB|&2-l*bk{E3U9qnVb`RE7 zW23QWIM_DYDTwy;7vjZySpc=U@WDB@VbWSB__ARFbn7#;$|*~??#$51aXQu;rX!65 zpH3{NG|kM;xkHu}mXuzW6qb;5e*f2(5Xi(C#_}}F z(zjj#Lz(rb_EAGN6-(I}EPjC}bgit1xD&*^&Em*v<&{?KA^t_`ciO&^Pzl+^Uu&q} zRQksSX{PHmh6 z26NgWr-IMJvWV>(Pw#$-S+M?4%h@Zw^ex$Ic1``fYHB+2`~kbQ)2e$^Zvz=vl*5mV)RF{G2Nezoo5V4T1e>e+%A#$QfN-H=F$I15>|0aSg$vv-; z`SI8wJNU}s4_o69V*Ij+1g&X% zgC(tpPsWlZ2_L@$Cc03HeVI;^oCzF>*R`t!eu?-S5z)h)vA-TW6dgfY z9#XlbpRNMdr=(!1={Z?Bq6g`lPdCFZmHT}nK`U1Ij~|)(Po%{*|EF5^V=>u3SX$GM zrH2piJ#>5^?C|l!U6KXn{(mmU{=aaz`RIs0keP&8#{L5%c2Emj>kfWwvECiDz!v+k zR6HGY^XtOXf%W_IW9waNw(Qq-ryr|u9ZSL0fhZ$5qpf5xc;u@6?nq~FRE6=tGHO%% za&qmv{r`4d%u(^D>&8@sA6Ow(d{ln_)F<`$Yxu{v@eyyDHBPplH$|i=9mhM)bhI?J zWP1)G#a4IRLE*+5_CujouX*wRLNSN;TIC%6YrJ>@9@Pc^wd0eH=bN6V;HJ(Ywdgp} zaUyN^XX~O`=roR(hg#K>(tSNLsIsQXL$w}x_8(}?kw@jXr{Np?`T{Pisi|?aN;>N7 zraM{>@BKXBVR7IXu6<>)CB515xtV7D*OOal*GZYR&q|iInnd1dd%-}Nhw&km^YiY` zgnk5<6KFY!Y~Jp`Fkr+$iQQW{qXIs zy@R+S=X62EqsN)Kork-GP#pf`*x^=on+|rHO!LsbnhI9pl*6}Wr?mdYhIm#WMSJpS zJ?h*7ZM3l0n8O}~&8Xg72kgg^G1lq`olG0SC1Fi?UUmwfMw;iLJ;Pg$59iwvc4r^C zB0ID@jV!^cISw&7>l%_rk`8E%TjjMMz9Rdptrg;OC7)(Ys9@y`WH6`ni+cy>Pn^=Q zo_w`cL&}s%&lW4TT%YP(W9gp_3*=k%T{)2P<&t0U!bHZII^)pC;{&P6(7CJI2Mamo ze1;C7=jbtd@%Yj4kMJ!MeFrnewyyo?h!+WnJ$KCc$4>!1lmMiMZR`K(=!o3{_!G@l zU9{+!-^C9uBKzT~l$USc5-c1DI!Msb<*xE_Vc5+3?o|?Tbi~H)*|tSs0wXQy{-A*n zBesB?2uTW8$7iv2bSa15FFm@%mGeqY&s&}3(X)HDIDvr*b=9y7?lLiy5zNnB;tkdu zR)_Xm+@Vp&-Z*v`%yq8%J}cyLsxC3d4wD#dkzgtmSkv#r(LKcF7NrO0NDldfISdoL zkNz{U$KH7Ju+Ei~-yI&$6850&n6r}Hb9#9Uzqx=#?+;9=( zl2+DI5Ar^i8RL`OPvJCXK%0ddwQXD86wwIXouAei4m~VdxVDn21(AlMyoo;U7k{15 z#~rGS%lr&$?c4u1O2d9fq{uNuUARHypu!PRA~vq?3r9}yVrc`P=dd;7g`3LCf`l?L zZ)V007=Be4SN$B_V3B`Cp3zm6tgaM9t&|+hj6aeBPT^xbU_s~n`DW$%)c_mToFSd2 zZbp?%1p4gD%}$bkz#gRBvgNCLlg{Pd(D7&Q-H7sxnH@Sab?t|d!oP*ijM^}=YQ$3d z-0|mh;+D5M=TXV3k>z=NE@-~E1qULi2kk#Bm;S+&9UBpQ!YGleRqad!ZL)&g)~J;# zInrpG+REHNfS z?b*#Eim?#jEsJ^I$lrtfC2Y`ru01<}W(*QAf5)Dk&UXmhe{Rn%o_9BO=;O~pQEvXy z`5VVyHhXXpARbm6DWQ!Pq~|K5C&JhKPq zRyow&KInr8HSijCxZKP_mm+t0I(DvpL#)04i<{TJns2t@ zh(Sc3r$|&F-3V8BQB%mq!bg_+&Zpp$2H_!;NU@!q!y_D2sNL5=Zp`b}4{P@$X>8WS zQX-D)5ZKlCTb-83L$SF8F&)Iy($TM2lGnOvj#+eKV;W|88#56=7ona`3|;?iw)BO_ z311}fNHGwfi0l}MM06%ShJH})@)H%|d7Jw^4>T7R4k}_;MGjneRbJDCy7zl5q1<6% zqg1pukhFGJPL}a{7d2Qh@Zds{r{A&)HeTI{e52J-){T^1%R6dAv^Q8%Iok5z!LWFG zob<0yU6fAB)csf5#K%qC?q8W|V)dsZ%1YD)C|C@!&M=I=Gcd~XdkWWT`->$HsZ*iU zsYL1&xA~41sb$HXK{;_IQ7ub8=Qh6MgZO)$Bk~!Jz%YbUMuvKQ!IydAe%yzthU)al z{Qi6v%9{1g*pnhX^lm@evZbo>F{%9WzETx?R-D{^^&%O8x(fHHT_6{Ro&8=1Dgb*O zk%IK9Vd=>LaP z!YdpJvE4-L|Mm5F>r15)7S771_Euy!*BK= zs(@E}-?W>r>7|DJk{{>P|Eg4-v}Ub1)U{N#~P@2Vq_Uaq4m0YXO7EROl@F$utfm zIO_;rVBCoI;(_q|RfGq9#*M4PMIG()SKmuE5^|-b#fU3RV}xib8X2OsXy2DxbhP?> ze9tMN*xV#F%EpbD3yvSY2W+=`4?(PtRfqN{AUYW^C$T1YcTp z+_@D)^*m84#9unX^H=9Is~;Z#H(u0RDSS#IqoIz!M3+H8L;2h373P_z0nJHU<;?4Z zC_W>5H7$dEIlUE^!M=hhWUxizIi1jAHHADd%r#EJw@EhU>&0rU73k7|kHiC$tiY4k z3glz)z?1laF5k9;FKBmqeY}j@D)l3B432E$k%;*9>3DO7G*dkq4@U+dE(V|hME-D)Zep>)=+YLRCaCXV zC<@uKgt$kt*o_iFy67(YybQ6E4HMLob79`ZI=cn)05C$G(<{O$kW?SX9|X=W5%7y* zFN+vibAPD!q7BcA%Gpc61;(6S?y8!)6nKOU!70Ib;|$Y12fL0e8?MmD!`3@PyULI} z+cgc*?27QH*|U8RNq--%L)JSHa9Z0TKWOoiOYHmdNV@*|3gbM_lSx2dUlC5de*XNt zGiy&;ZQkW&Dhv`9eG%WOPQff#T1+GZv@iywjzw5?vU0@fPeQX?MDc>&ytjg0 zEO!P+$2$=pTcQn__wt4dR4$z{#LeU`?DXiq!7IcP5~T-*=N%NazKXCt_DU5d5HZ-f zq5@+zsrEK(76!X>tNQ|-)XfZz^*otY5q2R*^m+wWKd+MLld;KUvVPpTQE5bBJC9TA zyHY`C&R)`yk*7h#GlXu4#0FKYDrVihp?_&q&K^`jHBrB~|IDb^ztKIDaM58kmT?$t z?DAGDPNrhUA@403yFgM8`qX^wqk+as()ft9)9^%_Q(`YjU5qviaq7nTd~@bV<1V=& z_UlB+{F^$Lbeg`cLhA%)le-NOHa;$D^FekU2l zeWU)HRa}t^Up09zZJH1|lf2m-I)k|1R&gL5o2(z0X^@W#)H;&t9Z-DNc(zOT0LvhU zOP!Tid5K#HynZjeJVT5P%6i$Sa`_fj4;-xA6_WY<=9IT0a~*6^)@~?Mzd*7S8_9DW z<$1m93U|Pj!ME9A4uSQ+@4T8w$f z@@-=KQ08j^Ux*vEIZ9QYj?h)|yUK@9yV5ELik!2^NsRub0|paA=dewn(Rg!KWnwcq zbP0q^+w^OcjlxpiDvk9y7L6|qi=0Q9CDSy%O7h#`|uf2Zf3t#mi8 z4f2~=6+`)QY_K629o`8dOi%}54_Foz9(Y7nqpfmEk?V+&tV+0dirL|_701SjnkJfy zB~+XBCODQ(Nh%1nVd%bV@HBGJI0OUb$}0DYTxT;f-T@@}@FPX}vPOBRQ1nhRP?zD` z1F^x2^kXHK!D5KxX9<`ZNm#qh&AT@AWnn1Wz-Op-9LvlZ@}b^EO+sf&8D@vPeM*DC z;$dyu^Aa-y{Mm#Z5=$}P;Wab-wmBGncAJ1yo)irtrEHIMQYpbZ02{Eu%w*3d6Okg zOD=}B<+`n+3=-DNDvL$6%}Yx3{~oTTQ&@tuO_R#v>tuH$cI+@B3IL8JfTuUoE{obp7xHQ_Qcrm{JF>NzvO#e*?lmhWnKcztr%kKKf8Oi4XAX7arf|fA^Yu+3 zSEZvfw(Iw)a#4zy+34}j`gxi7Xg~*6=74>d; z+iB;by_`IjaV=jyVvm)_U&wExOC*R$CW2qcp_Ho%EoC)%#u_X0KEjdcknnQgmLWhe z8R4O2B4V>NlUj*57!qIQTu*B;Bmw3oT8ko0t+g`ALM&;P$;fEp?HIn_e#^ zETt+-|D7Bw30#Iq*D|WJw2;gG@{f2S$p%qm{?sAFnJc^Z(g+O|vr5sNUeg-PKBVw9c^f)?1T^N;$B6mwP6=AdHm@9tW zy`{oaLrBeh(5q%XO|6+fO@4gxQ!GEL}MH|OIi znB@1!10nTU$S)iFLvPohdXTp-FnY>9OaZNf;)>E8r{yKx*xvBl{oX0NPzw}B2li{a zPyGvVu`5r%6>2BrF3tZyolJte;3czDv+tSGaZ{CTk=m^Da!X!Tb*4VVjZfgBka7gh z3#kzScVU19qjiVet+wtMt$!V?=B+zM$-Bq{8(o!2kQl^*3&xcdtCMtAPP6C9Jw{7- zvm?COgvga>skfhrr2EXFf(>TL7$U!au_^I|K>C|);s%HzI|*gx|~ik?0;klRBPE0r3J0caAi9i1CF(4aL80CA;s7irg8-GbWNse? z=yeT*>3YwT_xhz647~(K)-FgH?`^u*DcQzGiH*t(3CfZnGHSdxMY=2IYOB{THfie4 zSgF;E?G0iC{Fl@?XYXbD-T1MDMCwOMDtkxdt68D5=WlS=E*MEE`)hY)#XO;p&)-0? zBPnBl?R#0M#@O3zw%K_vuiYiW`f^ortWmB?USxl>NA@@O>}K`_#1_p(VD zf8sdk*WVwU(C(C1`hpesMes)~5BuXbfn&2m{htI!4+Yr+NbE?czfUX#cVQQ9Ffz7# zsMTVlEn$2vbTVrQ!g8FF9bB2x$CX}8n&R-WKRD88RZlRSn5TMx%4k<9xjP=Cv7UOl zZp2C{%0&5Hysmw>&QzZu7Fxds$T~Bs-&gbQd9s}wtq!Uv6W}I7Fb-FYioHw>3CbZz z&(g@;ad4#zn<(&=IdZjkrz5-$O(^BLyO$zrtKTPkxg?DQKWG|Rzt>YQECJ6G1gEB%36%5goAI?r-j$2CF#ougx+@!4t8|@dm?0o9ubwTF(>BF}kd?srC^fUGwtB zlUvgKyx#TiK}ib=#OTw0#?AD1!eE2>h2`=SYokUxRcoKCt&^$>_|sJ>;koX}TyG@& zNAmem)litx1AKHpb@r;JnTbwHv|GB0Zv*vC6?WwpMCyf>Q&lul|4>nerp@YI*dFk~_9)mJBhqO!ZT%$q&c zNZptY#@SO3hc32Z#>b^ZXbj_7{!Rw4p-r7==18%+`CWj+D=JHj ze3=#I!JdLO$)1MyNY>+&nTgq4quv>esdk$x@n&=*R`!zKi%8_qxW>i@!x9m-B4jpIL$Wf3#56W;Z<4roU{Wz) z1Jxd*XYxSBe}&R+d3d~ll$Zw-3`e>MyFXO+rb}ch$0mvXQC8hqtGOlWHc6%a!0o7Y zcEy)%0!$E3gcjN>hhZ z1(?fY1t@oAA8v)`qvw|hHct@DUcxML1=~wimwZ}G65+7XkuwD4#4;cJQsW+JE{8We z)+mg7r1u6sq)r1L&4VA2l>^nf)2h}mZO2%$2;GUfvoz*wJYfjoF6u$n(qN}#3DjV9 zq#9zZLwFKWHJL2`zf}uEnC&>vfERoX)z2w4romX7T!s#Li(n-y-UX$~4@QNqwUuKC zrC%E|!7NU>%zdLBw@%H%OK{x=nYrLu*4mLzgBo4dT3fJ&joN0`+HvaiQv|QMExzF1 z_zOwhrmiFf$<@0T$7g(`;5I`WO;I9c#wAx^GrS-nXa}gSV1v+__`6 ztdDod7+{+134d>3nCFS2GdK?)-V(23QCA2p=K-6t2~PoDs)b){af>|)uM1+{NyxT1 zt0>2Nl;(7>{n*+8Fk39nPtxPy4qN2bdd3pA|1577VGyfn^~zGT<)^TrKtEIFjON7)i#b z{cc+`)U9AxwL7*TcX@YkR^2Uq=5vg`Wqu`gjRamgtQs3H+8#^nl0=%(bwzGlEj^en zAzrb&gO$Zp3FU+CqxTy2F@(9xyFB$jrP_&csPG7`4oc05nDjJQR1~RhYqA>x2 z;mhC}YgDV8l`{dx<;a#eG`A3KPASKR<@4FtX7cIy6+`1)IzHJJyRa&?a)FM&b|8Li zs7=?CWh_x3rux319yxL@#!TlMjEPOCtfjNK62O#+Wi_K%JvHevX>17(K)~KTN70PGlx>!*h;le%Uw< znC8z6pcY~H+&H8y{EhT^aCW5NlTfdB!{|r>-rerQA_i00(ghhbumA7gm-&;h-mgvj z;}k_L_<;l$#J(>ZtP`=ymUoh?W~wpcgj|i#F7F&8bs~FPZf4+mZG6r^Z857@UB<<| z5Dgt29Ai#TQCC1JtTMvmQeqbvjue5k{K{EH&q@(51S|1D9~fJAtHv3e!iHD6!V|+Q z$Axb6itz^U#8e{GVYI6jIKa4IkiL0fJOzq)7VLA;i$cyb9TV=EOKvJ&w5W2~_}K|N zMb`0PHv*@w)nRsoWHc{(8a8Wzz9Q#*V~v}mN+6FsriVW6$6Vt_>#vMVUmscaZ(d_K z0~Wdyo6;}p9XXpg)dsFSB{NSx4)GCtZ1wl#V8obbGM24kNB;C|him|}Tx=jmq*}#f z_#S1y(_}fX%)}75xyB2PRM!eo#O;oTp&8-i9nc;dEQ!Sj5y#f zhiyq|S&8wUSR@tE%^cI*k2*fY@IB*0qlK=ym|E%By~La5J9-0ACbq;Y?Gum@Rd+mZ z6BEM17`ZLmb<-jBa!QHkOK%Am;+>>VXBoTUjVG<=c<5RC23{F{TSt7C@ma407>ow~2Iw z$Qj7xHrG+@n_PL?vgFze)#-yQ$ure49u}N7{h@B*Tc-0~?01}TM#gD_ln5heW01yh z&&~x`J3_~k0?!qz3Tcn9lC%e2SO~Hny+Gf|4MWVM?i$Eit*d2Hzq0+n#`{>@S!o1w8kLX(DrSn)4Rc zdl42vVx+*4NPvD794Sdw)xQ*@`uO(F>!RP3?KTIapWN=YuTVLT0{L)Jxi;F>01c5-t^Z==7T#kH`?Q63mq$ccW}=?=_zo*#O< zKfHupf|zlS)=?!ZB6y*4TV;Lpnv{jX0?T@V`Yzux)YFY!`w^7)Vn)Lr_H(80RhMI( zfl=&6BxizpTBlY42* z3iJ|&pBNZBKW{lI*&QpIU5bPS+r`)@S z*SsPwEpC;t)TE-W$h;Is5Bl--??BinH`!A^mU8o6z`9ydcWo|yv};|Cn7uaZtg#$x z`Cazb@N%(~mUqY#>Y!*?s7*<;zTm0<9UrscXg1pC&ZcvtOcwSeU4M^lm=5<%44bPp{WeGe+Dtj=aJ1#Bg8j zQ$LH$Vb`OY#(19C=h+#SPp->Hs9RnYWR%@=?7Oq`_5>aFLowd~!eq}y&8l&cbJMV< zF@~pc@yJO8*n^3$OXf~F6dQf|(EXT&;~E#S3dV?*AqF>PdG~%rm>aC@hRh4s%FH;# z*wX+yZ+b$+F^vk8hl)-@I=jW94F}Q&=1IBXKM5uEG#DTN{SysYPvbm9uv>9FZ--sc z6<#oQTC5GM7ztKXg#JESm^2bO70;8diqIJ_;~?L>jR<%u!o%mz_4ye5sGKa>5QSR$ z5jmR>DNNS6jtDh7h^>LCif+#m@L|KwRl*t(V=}im# z0g-XUGz3|C1zF_f3@?+6)V6skm!!om7vxE`fEzUSV0gr(HqjCEu@#OPo)kf$k;yUSBWxOqQGu#OwTV(KVp`=~0hvEft=ONSf2xAl@U-YRWby62 z-P2IcOL+Oo=rW!N#oUaU9ag+bS@CLqH)O@Tl5`;`_n3jKWX0P_Kgm)uWW{sp0#pp~ zJ&WX8@|f%R{_Kj^8~0Q!D_*X(;&JFTYakaF?41n(f0ATeLO-B$6QUY>tXP!@4@PW; zvn0-Ruor;-#7)R;*7B7Q=M%B9>ehies5^8%pSME3`DlEFd_Z!wR>(z*An>w!aRCEP zm6dX&Q576hLob_bGjI>$9?05gHx9ng?vnaYNMqGKh~b zm6&}#XZsOh_febmi5Poaf}a!3glv=%_=Ma3&`YLxfW%z1wfPvQwvmqvMI%qEi;Xtp z^{7ydPwhUw0|dK|l>>m*?&DoV+GH&D{QccW@DerC%3#8$GWfNXL1>?8?26rtJy`fr zL-#1yni*nf<~M?CB1wESyreVs1=T@ntKRAmui=@YqNAGEn%KO^B8by1V@ap-(F1z_ zVoDJMN@R;7;#vvyi_;w!?=f~yLU+i_+p{*!Xes{@)-)a2ty8tTTw5$UAZCGgLTIRL zEm?XO4AepPIz`x%Vo?Bx*f`4Q8DbY3i3L52WGBc7Vu^besr26Pg8z6Bak`~9joW1a zXZ?1_6pH=X8n+IfR{LcNJ@DCK+XVo_wtWE38n$VY{=c?qyjog1WYaighMd%+5uYLc zfg)6qF7)$e$TR;EAA>t3SL<@qMdo2FuHvRiZce@2oFYX2bK1g1@Es}qE#%Jhj#BPS z?^q#srgDvXBSAG~1l6o0=#B~>Ki?|mXZErTAgpEsVKp^tB2UzkXX1i& zn?adF?pVj+F`H_LP$Cw!TJIN6Ij)?2Q}%_9d*pHM<*TuO_`%>;kODJa3LUQrvpe}P zFlNe!;>6-os1An_QnP8n6zc|Kxffpu_E)Fu$I_hr(3HbaRwH;4pUD86dI-Q+37(*5 zoIV_C@ro{FyeCc&SLCu2KqWGpoYQaDWu`eWmxd%o$=G4Om^|k9v#l?s; zv3t-L7G$VY%|$p7zOM{`aLP6*0}+0Xx9qCr(C<-q>Te(4tJo!241lx#INTW3m~6tJYmT|uYjX|$OG?q&1i0%aIA{4TsksmG-!uQkaD zvuic)CMqLd9$^l58HaJ(QRA`&uV9dpQesn@>@b%xQC3a5xg-pZQAPX6V&>(D*}weQ zb^7v7q)BUD(^7)M0Ixf_kYT{Qv!ye|?$C!%pmz26vTHpJx6)1Q!VY`tm-E&%CLB3L4Z;!2yXZ5# zH~#noe(PWH)K8>7b3@MxfGzyMZXTX{hZEMc>x!&dOE--2?A+zqSz8R#E7a-9>4`aD zA2fS**0-!7s4BIk7c*lGKO$LPi|3w4IpLYv4cRl1oQg=#(Y;%Egdf*k_qgs-%bDrp zT{>JkGrFE+lmp*0@Rg9V2fh?iuE3@MQ<2*cSNrncu$Jv@Ls23 zgxEy02cnXrnY`D2e0lH+OrlxiY}EAS^;_;#J&`k<(yZJaryr0CM&BjG(8K@D<}}aF zeUW*t4htQkFA`1?Ilp2)9swz?0ZKhYV=`_K&KJ9?+i<@&&q+K(#( z^J+i7Es$CJ@di(Wc;~R%BSM8FpUY(V*;?+Q~#Pgzu~F>vpny> zAGSP$p899yxzSVqxICA7>L2A9eq692(jb!y=fk^-!;kObRT*m_3=Pdq4T5>)fs2fY zOuWeBf_ds8m=K6{SjE*0U_<6LXMrjRoFFrTM2ftW`BS{(Et;}iyFFglnv7-i`BAm$C7dVdVoSb$#g89>YM zvr@LF{$Jr3AcZh|>qGa6z@h{i`nO$^A8ACi2AGhd*WaK{wDmhvT0Hf#3QC**Ng_X6 zL;(Az^KlI*?Tl!bz{L^mbhuc3SVxN8UY4eb?V8d_A+a${^ZOd(zJrB)NT8L_s#SCb z1sSOWa{y<(dE#5|rNDHnd4j&4=WLe7a3KBuDZBRf4rzq2AuI%m{*~9Q4-T}qSe=h# zNO|-nIgIzN@qF(rWqa!X!Y>vXJ@-DN!*BK6H(jwUZ?VvcZ(FQ9SEJVEl(2r* zJu5_E8!?-&Gc;b-wJiq_f3XzTq=`1WfFu|Ziq z6-s7gyRaelxVIRXZfWc#0oHz#-ZhHo*}` z^=@B00I#a8Eme*I>@ZSOBXE}*hc09dy*Z`PmpE1t9YnN7@k>MvD!|z$insR~1fwb0 zleY^x^r*XF&;|fia|2H+2IKgKfEL8`8=y>c9bycAqph0RT{zjZTKrm z-w$-Sw3 zW3x`Lq*Y{;^^MO}j^2#OR`E2`4;Gv;K4qhz?U2|AA8bV>K&{>)u$^iF5|iQ>dk9t< zUAR@oX!Q!M8PO0AN}+_6c4s1-hxFanp6#(=FN8PPg2}-|PGhx^B8#R<@8X`c|5|ib)K)rjLHo+3Raxa*MZz$WS~=dl_l(_y-cS7~ z7r8F|5}~TT>(V*lU&c;fSnzWCa?1DD~P(Cf1ItkjwN$29{(A=|ha@aKHZtat|u|Hnw~i zMU`YD!!yZ3Y3&$NumAQW^@N+X~Ss8n9q9Qo= zQuJ$@!#}7#KD?7h)Spc03ER=$RxXD+!uKL$FB1)-DrI#sYiA zP~-Zwyhm;_FS}!WjvB5Yr31`#+F1K-It+MCK8KtUdgB8~E%_!Gvmi;GE=ASF_We7tF7au5_;9~YAvx;W@L&AJ^k zRfR^73Lp$!E9}yLx|Af6HgkbE3fp~+O??JDcJpaBug;nE-) zCi?=ffynx3y7wKV=O$R_>As{Do485}#}yjCh5KQQ=m@${&U{LY-<@QugW%6>N9mRa zxo7C4Mx!U2^Boy-U~wH)$izI@IHtU$4B_{=>t$jd!NJlNm$UX^+_3eI7*SwIV74Tt zwSOWKMYA1*pt64BAQ5==i620M9C>*i#v|%oj=Kgk`WnAlMPH-Rkh1$?Ew3C$i3rpp zb5DnbCjFLReq3OPK0ht1d#?L@V7_hr=tXjYWi+xYghi>vaDlcvgIu9Iybf&;vEVpL zEI5w9(0BV7&g#yY2PTiJW0i#Ma`u9?rwlJR3q?f>4UZ9tjN8csEkp3-U!% z3_FX&1de2PM_+cLE}X2H^~5G2Dh{V^VAN2y{nSYAf`^47k^W;Sxt2gU$3GFF&cN15 z>NlI;T%Su>91XF} zx`HpnDrg0FgJ%lEw>n>MC^Sajr3&MntOq5}ti9F(tP$tAcRL^2Ou~fq=i$zIvllLv z)m3+NyFN3b2nmnkrr!)yXcP_z6J!S`NE8(bEb_n{2nHpgh3vbeUZSxh!|#;xD*M`E znUUK|RoX%fWSuG0{nC`Wh3YendP~J!MKE1utp|mXtPQzarGf%}VJ_z*!|~U4Ncq_f zy-82)OH*#o`x9;QoEdyU!UtG{X*(pTIOij8@e%P$`Vp0GNF${wfPqel_n|tTgVwv& zOI0__oT({d;saZyd}cF81Ku7{Zbq4pN-lS+nsoYCNIojj_$Zy;tGG2S3@Cpi`+~r3 zMTeBkq=qpuSLNq?@GRq7=t}(cAsa6;sjR!hIZ+=HnB|-l8iGeoi?9H!41c~M%xd;R z)evx;e-CAfau>o54`mPq!?22z^q^FPwpn=1lBIYf=+Ebad(Kt4`s3moQBAdR*!1di zgSgIAwbf)9oM$oyic{uG%??Ql696UiCbh8dZm0@|NioQhu)>D8t5nL8PDNpN&M8O7l!H%R(XIwn|9repM78;iL@Kra0AK z%wI}iZ8A%+g<)^y8#$dNB`b;tbLtiB2-9DKK}k2OK^J5b@QPBz2aa-N*n&PQ_ z&52w{Q(>_7Mv44Q9oXxzZk1Mbzq?^?*kN8*nw*czoo2^2OK)~))y9LUgYY!+2uf5D z-id6L;VP0HV;GQiRAp+Lr5C~r(q%48U)v#W7T>+v4i(0G4Z;Sws)urI|DP|$76Qf> zyauwv)1tliET5&}>!bZbjrVzokt+_Yo-|V3W@Q?`Q}K}lwHRA@)iRVNc!#bC$x=+T zYzZ64oHv&mV{TV^JFXS>`&j1h3CcP*DyFy2jB6}a$;rk>X1;H@aV;bOH?BAJg)?tl zU;n+#Q-7D3-Ww|zmA?7L_1bPpC3@p}m?Wc@-^X~B%kQsC?aiYQ>ef5?`=lDX1Vhh^ zwR;z0dp{xOz*YMQlg>~VB~)^H&f3$wZpm}{PsuYLJSera3H@2sK^&_bb5(`;*&$fxNZ8@G+6IL}Z+(JF*TTo*Bi-eT*&b1}R zFU|K}?`0*%&v<8DQ4*ESQ(}rNqDtk)DT(aV;%Q@^E%U)C5Bie0V6vmviT*<5x*V|}V+25P+i6#mW z_psXwzQu)fE;EfFOX<_6SQ~046?#bYlbl1Zq|p7#bMvvYw^QHQ7gv&q?Ird6Dc0T2 zZPS4>a&CJdG3U@Cu5;4-ovTNQ`KEja*fhyV_FCKA=T{Dzq1BIfzr7NLDkbY0B}F|{ zdKJAZ#>1kfP19$oLrWn_|A-T-_1*R8`u?d9v2N39DHcuH6iOf%E6-wFP5;!Cq0VC1 z`xf7xKgu@T#n{*X)%8 zPh@4XJnbUxKikI1O<=YQ4Vl2~)MbH7!HyLT-}B7teb%_r5ZZGgwrSkGkhUzd2WQ4j zm1Nd9iKbV}&R8^j5SRQWZJoGch6`!0n6^%LUD??t&pF1BL87A5-Q+pjr=pW8S~{Md zLdxDvkx<(yG+rxI1!uSBn&dgtr!B-m3dlkpjP7AxQfU#HDmwj&x0M5{*Dl&OY&<-5 z?1^UQv@8mEHU+EN17(i{d`|?*UJ8_L36wn_D0?PQ_Eezk#X#9(xn-HYF-Fn9^a&J; zIGJ(mH`1>}6=wl6HbTpR;uki?PvHt@O0w5JWe{uB!9MGZaQF||8{=naXH%RHUq@2` z$eCC)-Li3ab?Ex)v-UNK71q*u;S+j6rk)%#J2;tEsz@jeH;a;vk>wrDHQQiy@1RSg z?GOJe=ylDWM=UgI_*dHUN7x{ghM!bv27FsccJ*(*nxL)17XICoEbsU!*LX80H+o;0 zGSm5!DI_<=v)(o3yUw3v%lmTYqvLs2B!+9|RiuR0(Su@?Iv--XMCtVcI-Rw5;3zsq z93V#Y;uk^!z6K59kyCOvjMS=Lx@6U$i07rN8|#whggIP%k-C`NSoPl5(kUZ8eY=znUd^$n2mmCE@RlRPBVh=qimoWuTL@JU>LwUScB!zy+Bj9@` zY*qAo&rZ00ihcF=dExP~L|6ZIa$|UhR+Rw|oSANLUW81&J4yZDfo-VTLU-E~;N0RU z3w#iVay>7tM%cG2q0-vx=~_VD1UxTEshtn~MYaH?6@yCWX>26b#asAwvPU`T5=x(O zPYVJ99l_hKKTvbFFclk%$!4{_A5M5>A>V<5r@|>ya-EMZp+KhBr=bPBM+#mdp9R?O z@SX{Jc5$%qQV=vwquwin!BaVhSZ?GNKT#Fm)oS&;m|Oge&uaCg5d9HQk5dHID z)%MMsH%AKo7%bba7w;D(V`}V3z|)F=pmW>IK>*tM_P-*=oyHv;*HH6;#C=0PgAP}~ zx5>G!rQH3FQyWY20ChRFG+y5L@(uZV%lYsizFvQ0ntbhFGgwmJ4ZWcuIOlYhyWjSW zncn5uM-^`H4bS!M1|iM2%a@``wLcVw>&rPm89Tjerd@@(ICm9SIJr5#ApzgMfNyue zw=47~)i<69R<$;JwlIlOOm1o!dH4A@CfDlY4^~Me?$$RWEKmc;E4c_Av)P zN$Do>hWExCG*WiX4^)xV5#PaF-;3Uaa;@M#dfgxVbV^C?lM_6VaD_nfWF>K3>SF<8UdjB=j0Y8?;AEY z4^R@dvB|!ZM5Bwi0yUQ}Le4*lRkiy(@Pxl36@{c{7U3qd2mqaB3x?n4Sopmpd{jTU zF|jUw#%!iR>jK~BT+F!YE-_Y0)F^gdLv$%F$R=w2w*kK)#tQ;8ps-3%YnpFE-1E9; zpJJi-$0ztr_Xs#Xk!F*d_o~_V0yqWNz!5DkwMJu<(7J!D_Kp0PvYNLK2{3nuL z!=@N9Wie$T3UysO8Cfkr{=~BwxOPyz_ln8ij`LkU=#+OfTsC=nyzdemhfe;s)#uV0 zY}!uSpi{m>I+FN}n?}_iY{x=lW7ke$G;i9*cx`7K$$Y3a#1ZLu*G}O?@AKt49+Lik zT$?2QKau_ptsy>Kr}iD3{@DxlPmNz8+1H$S1j#$GD1csHbDVsH7OkN1}>>u088>epqBozQhKkQesFb7u1fVX zeR?|0J4(-!R!$ZA3(*TT-V_#!s>p687O70~IJkzAQW}RpWv8ZCguRa*Cz~H@lhjnD zOJ8Wy=i2p&H|UNb);-pS{wqqkcOPV&BC7EZ{AkO&MM}BJ6S1r>V*i9dc3wIP$9h`u zew+W;`W&<*8i13*`gwsJZB;$75L^o@N72SI267fYj8TJb1xwO@Y{PLZgL@)z5z*r4 zb|+Q-+tMW)Jp%G#+y46d>?i-Df?PMPl}dh$hCtB7SfXg?u^7|jh08YM%MJqFLm)Dg z3yeUWgf(WdRNhxHVMU$P;2l54yG_mn&>1N^r7hoQ5xFT3*e)1J-c@MK{J!)D7CFXP zNvXPyB$!8yi`3U6>g#}!z*pc!@iWe?kqljdI`NbGr;DJY#5EO@C~)cQ;ZnI*CRuhb zj9H57e#k!7I7v0A=GaCO+B4GJpv+{_C_6=^iIlJwEeIe+Pi;Q0*J|&l1Y=9L*`|MFxX!f{B)?%=%B&kz| zPOoYN`X~Hrvqoe_o&(*j#-ofYrN*VIY)1lhs-!OUb-*lX%`J-mW@zi->M8o{)TxT8 zhfGyGoitUkbf#9d&*HmO;Z$>8m1Yc;WMR}4Hnt_k*ojI`S$_ovm4@#Y(U zsfeW`(>Uqu?{jz(hsc^};1c8XFQn=n+J;n{)Bm6(B$5!72L;p!t*Bd%)EQ8Adss3EyaF5HZUT*?=8sR}yIqDI?JBO;PahS72 z?nbHIMaFE|wC!@`d&lJaCUVC#n`=`@`RDUeivYu=6&d;86(zWs&m#kTuEi%dJS7Sd zF~V{oEDB9tm1gmB^QbUT>_!PgwD2?=KGr%uYY7WbVEa#h2Y2i_h@^js@vmno!W`QQ zIV7R?<>8L9giw5|qePZSUqFMlYdlSo1Q6G1B1h-4g>q4DuMyLAu+~u;ZV_VY1m0fF zJM*S7jIW^jGXDJmE+&(_Sv9w)sc&4wmkBKcO(T>TE=q_bC0BQTodoo%G;M; zA2^nJQGH(mZ+rDgl?yQ{a>r8<>Fy-iu0j2sDao4 zBkGEZPqN`ySVUN*!|gfc)P7DNrp(+V=c6^ey64z7RO)k>ea^r)7<@xy@m_tl%*(;W zHaRyvjmx;m>U15sEZ-T~aR$n0$I{jDCS7M#GTPAF|Y7@Dcb~RpP z7{etq#X7R|Xg4C-?CuXt8tJvoSl~nA();noA$5b;>F@2|>8BZWl1y}`zcsqkkM<5m4FCYe zj*^@fxWM&@ntZ?t!sq>j%)XG2w|*KUtnt!|Ii@UuFNmxp7dPJ#PlI zT*|3K_>#U)`vTMI!N(FgzAlXe30>l#W$3|vL*1Q;k;NfaC6T&IjeTSlqy0feG^k?K zpkSK5c{69SFC$i0aAsq1YV93yqh+m&Ea5Qj=JddB7@GT;>Ei&iFg25{^qOi!2Ps%V zx4@c3XJQcZnY`Jw82?1B^yJtMd+-tP+UeecJ{17hu8vlSym=%^{Jqg zgw>U)oC`o2!;3y$09~*-)tj{r*sGp~PtczHev6F`7JMXb7QHP1c|+!676Z{Rr~fb> zMZxsz^@{*H)=PQ<#i+LfP~hm?8RzphoU_f-&P`iwt(f*L{Z^a%R=aP;tCS2&^BJoy z(f1q<2XBkFbsZji=k{5>$p}>z*vDQHP7ls&@AG+T`z|8j$zt0+w$vsnz(sa_iH&17 zYr&bow`?pjb$)NRg9i#(BEdHx*RpQyeel-KIQ@^3P8MpnW!(+uZ57i3KF6&~-S4iB z*Wa}kbepk=?tUAWx7|m*OJ#fefX)4Y-RBkrglg@4#;S|;y@x;UdV8!FdYR;XV}+>e z!y|*Ywk!9SOlrkT(fa^ol8RlQYeO2*Op&EgU_Lv4rW;NGG_JugF>usbTTLdkeb8}G zFD0~H?%GIo)fG5<8|rwGO1!+f%4q?(W{;}Y!(r%2zC^vN+MTt1 zR&rYSDiz2@wGIeXYU5iScpm;JSgYtx=1Q>#l%HAIEc!YkcBlVyXnOV~#sLu{YZU?q z8!(i9;}eXUD=c{yOT$U0HQ({7oZlBM1UFLot0>X5lMC(Y6Qm*2Q+vKnn$%1e*WUb@ zW`KNG^}3lBU$Szh~_Z-Zu2~ z!eD+X+Q$F*6Q*p=Rnh5CLEQ-wcC}5r&z`D!$8+scB5sw%Jup?ur`Ea8p5hH0O6f)- zlhMIBcfE_j z0l_6MV%p6W>^d@(41kMNho4bC4w4)eS?%h}<|&-RztHB}BWP@|w?z_!FnzX5vvYhE zL)!+_LOL-52l@l9MLEa9R%`uCjH{j18^2$#dU0*G^kVqm)BUYLo;{Ff!;a-V0A6hR z`4u98(eR|%#u(VGot?Hiv0_>&ulh2Zdzsxg(;VN@1y|FuZTbvr; zHpu{Yg$x&$gvV$N3~>FPPi>L{4jAJ&vjMS=!ES*~-(U}{6Yzzs{c#078WVu?Cz}Z^ z0105(M{EnYTI|uV^T!~&jCFP}{X8&A43H8ZJf%{5;8vTAD7V`Ab(h+Gi#Fbt#3*u+ zj3P-kEt0V+y}Ifm8AaY2Fg{!ooV96|{#H0c`MH7%zA|{!Dxz_Y^>cwzpk{)zZs-Zv z1GmNXFut+>pB)#N(G!?;Lw86HUATgu#KRf9PU^ADaTP)e^Wy@y_5|i1TD?a`TyYE6s{&WSb+f~ZzC zIPaJ3SoPsgWN^+^)w*A*6+a5!KEQLGEf}rV`2(tz13_zGR$7m_Z0_5Dr#`C&fC9T5 z=q1QdqcvQto$O$OhC7SqYG*S_7FDGHEpzx|t)M#+9t_)o=91HS_#>I72digL7F%^*zck4>S-Rj$*kCuf0N|-jnwE32VK{Mo3p+6=FUcT$2F_SOw zYg^etjN!&J=NOb*$p<4fh!%yCWf@^imQx=6R#zZSpXt&jMZEtJ7_Eq$>CzF|=+Vwa zKs9(oF`izzY1X&`q4_P}RqCYDLKz@hsLopGNtQ?!KPxwiFXewSuXw&$GGb*?o7? zmsAg`xt+S`>vj5aP?uriADa@MK<_bwJ))*WGxXR?dY#1Z zrO5q2!RfKLf{~^c3f<&m*MDRSth14!{v#O}oV7ve8GW2N&mJHE=kW9RwMXe%YI0^u zZv$KjJe93#Ty<57#h0R3k6!ahvRm(G(w^kXx>>SlAjsf;22K94ths`(nWWBdSBs*< zA1B|;K*rHhN?=gnwxQDL84G-0Vw$RFSzo6Z z-!DF7%4Ny^u?ic0$BiWuID|tw3!?)3Lsz5Kl)uuBaW3G&wtWZ3ddKo%mR;kKzOr(m zjWpKKNo590ZqD9OlB%#S4qqoSS?L$J+QNns*ZN4rxP1Eu`iZC=Xip-Zb?21>#Iybe zoqx#sW;%}@9YE)rg8#?peCdilIyv7~wa7M0U*}+xb*a&fbl!kV+ZsOAwl3s{57~mP zKA|>Kb(gNU0UO2EMOhgfV$@5#=ss?j`*2fYHZ#NeksFNVN=}3*dPGmr zeU7WOM#~h00LCk^lyGLwA@@$-FfI{>umCA1WmYr+SJ+e27)LNhC(>aT@zL;x_LP(Z zDYCM$H=Ilfk3bN!(5AOp4>g3xq#U-k)HEw;4LkAuZ+lOYQp#J)mX@>ViJb~*r?dOn z7)3dbSzVlF9#Hy4N@j30TRlMGIV$9`YAB1Hpsz#k*}S=Yvr%(9h4UQ<%tXh{^LD`M zd;__gnF#2$auSnPV%*m*EtbhS0G4_S<)87GzzVT9hf^^ru~csqcKuzZu)#q2)N|4|Ri7Ml*x-gC=MYwCjTdjB+GA3wY?mGIOjl&w z?vk#C_MVO&@AYcD!eFsCr3B#PC35y0NHTU&zZD~vDa9!S&GJgOY4Z*-IJgv?39gJLQ8psB+&59}G-w2u;;wX$I5`yun&`@lS}NBbz* z=|4gm&7M{f-)Qz6KhB}wiKJjb>xr`Vg(s{h%8V0y}Hn5?wTt@iN zKd89JTQ7`6YBqca#0^zkkcos3KS^!}R7A3h<`lY&aDf8E&6HPYCDq9LJ_-Mh=`Qb~ zZ<+2wZ1^E9G}1eNu6Np8Z}wboh87y_9j1l2B{*-EXqN=~CsKJ$UVh4pS;iBWhHIlA z>Z}T?S%6tWUA>V=n-O|d#g0|WOOop;d}QbjL*!8YM)Eg~zkkK; zI-XDPe3U;o@3Z(T;BVk?x9`}!nJ)fpj5Bs?y;BqRp_^FHSm4KNefMl*gOOgn-Li?r zi%&iY$&j#tJHPKuRgb&cDjBI}Wu_0F29sSL;XH+rGNbL@%nV%9R9IFS-iuoYyGW(2 zCH5plItjK8PK`R7&!{tTZ7EQ7VWz&%{*K(dLruzVAdOUO{i>_cN>y(wGum2Cw6@i^ z4o)M>W0jdUDSunbFC@>97}ShruAQEswNC@XYboJcJG5OB8u@!Ou@!uU*sF4VS2>u@ z?(hVc|>k_Y+rMKrw}Mvdv^7~s{`a$)SH(by6<7HuAG>YIFUGbTrq z8R&M!fG}+>{nQM>ojin|Jp<`6^ECvlMtM61c(?6QGz~~aFh9&xqI5;0zo^_}bl?be zPsPGIE_AQGFzlXw8Y{$SkD_t!1vDx;j9X*gj<$a9w!MnR0jXrhf@Q>LG^0C|dmk-( zgvM@qyvnhkM&&NnHO-1psqgKlu}OUPDjN4)K%=5V$(JZ^M_a#l+rF=+Qr(wIj7Bs1 z3gzBM<6fchj#$`!8kPH$3&ZZ~r|~lJk^Y_0_T~jNDmn~n%-b=*yX{Ryz8DMJPor{w;=-_R_S3jteBM+v?!SOWMTfC0=IvLhS2VtL0gZ|dncbAB|@8O6A^1<9?xWMJ#MTjmo{SFD%0o0VNN^jiVw9r|5_`SIrbrTuctBnIxmZFne~z>5){Wc)cTBMFYF1~R9SV-qrEOmc{4t2fgwPf5!` zS{;&B$H26(Drz^lK#MHK{y{7)98;A@N`G2*%W;*K-BQ>`$6qAwbt-N@9XO^MBfmmN zf1G0yN2D?b(vD-Q@qvtl18Dy*$}e_Q2Bx9Pzx69=v{wFIfK3)RD#s|Ju&$3fav?n{ zbHt4n_Kv@iAE#eq>Cs@MfOc8EJ)KFA<)_&7lVGqxMA#s*!C8B!>2|GhbJiB{8TApc z6GBg5RpGzMd}l6p`mZ+Mqw9kDY5JX+*){LWN+PRu%~E2-dWgnZ z+17G=@NH_1qlMyprzBmIBEqI0yXFq@>ORq`V&0oM(JX~`NLzb&kfKyl>^3E^y(K3q zGp9r)smJuuZ(-#XqyPBeDUu)wLFp7(@JKdoEtgwnvQ;>p-Zn9_2GhZj*RYbr8mlcc z6S@EC z9%?d)mKm$f@z5a6m7$h^Q(vcv*Q9BC;*JlV2!WDQ^leIJIHNCev?wa_iPpXlq{S>4 zBczRG7xWbVpTf6|vUT|%$+utp7kvB0|Eqi}_cSu<^s(;I7{~l~v+lweAyL*fe!>E* z(a2+-Yi#?xvF$U?5sLKV3m0NLUE5_V*6*gpF$f7Jmn9jq*`7-l;sJxFb z-(_!E*OO-!%jwTzaPQG=h5y?A>SyBvdQ@=Fkb=}?l3j?H)%$7S!3JB$II-0Y46-MOK}mFKa-CTQ$yX_Jv0G}?_YOj=s{ic-#VH=toY1Tp4F zVzj&h!j3ExKvmf4bQlB^5cX115ES+gVhSAtP}px)DD2mB*bNFh(7^)3UWie(^+W~e zhsYp>G>QZsNbIhPX?P*sjDnRwu^$)!#qOnR4d}^8l<8%uN*0ML988o4x3E14_z%eM z)2HNj$9DDGt$vTF-!tl0HfDhxvJDIDXyw71i#K`EF3 zPV)%(RmuFS#C}y)zp4Yjlr{7k5y|B%Nae8$ zg`vw?LKS=_?~o{=WxRrnBS`6uHnSP@B|U+sg%&I#2Tif-8A4e?iLr#QxG-Vym4rW_`$TIYbd-19FFpg4l<&|RcuC>A=Xw`u-7CDa zwQk_jwQk_jpU2BAl!8ltoX>LYmV12{Tf3spOa*3}h3GEPN^*tn?R(D%-Nn0eTOv() zlW$D9wmyEMFAXK6XnZOw8h?^XygSDXbb}davs6oD0}ZGcBXp4&2<-G^^9}TL>CdDN ze)<>Y8wl!Q^9>C3lja+E-tX|HZ5CdkCWNnV4{jCKY*suVbD8lapP_#xoT?Ad(63{i zOTr zHQ<*n;S6pf^=8#HiNZOj`Rr26X+ojz#?eeEBg7JWfFGB@is3SJm4il4O?X493wG#K zDP#;_H_6hp>W2J4N)!=X9JS3thecOJArk(R42rWcQQ+c7@MaDon4&-~>{6z9rMwt7 zdv-*TpR4+H<$+L`p-91|cR@duQY&))0-fH;xGR;khX4$9(3aCVJ4W8tRS)g_L17+_TW%n^!{5^ffPIrL}h7*K_U z#;$7_pF{09D^T@waDlV-J$^L-RX4%b0aXvls_jBh^?xUhSsm3tR+Bo6tw7a<^#%L{ zQ1zTXl8rQO#6_?$o2H4@q5@SHPL6`A%d3E@OKk`@h6Lq2%8X_fjIL2WvQ!J9za^M% zMW#h-w1+wCWMntUmVgcs#19u-V=;pZB~bI;+keyYiTHO+#lzR0-m*Q}w` z5HFbO1f`n6R9DTQxP|$W)u1FI(WN~=RDX<5eI|(NPw*0LeX!H{P>AXh+H5q|ebSae z6$AAs6H)z%snkD+>Q76pvHz@jpMqJuW22o<(9#t{l|&)cSD4{TOUnTaCkmMAbc+F@ z6sG!&Sg7h-6sEdr5(+sxpgK!Q$OdzpMUhqmQ=O!unCjnSQ6v3eBS94SMhg+aR42rh zguS52WkKz%tsrDYHg?VYy9uPLpj!PxzW4AAAUeM$sJiOhA`gg^oh0Aa-@WN(x_M?@ z3BdYH1+YG|=gIKJQ9r6V2C}Xe1yN`3DE}b=TKCrv09ucgINCop(O!K(>(V9)XkA_u zj{vkT5n@2=;vVCd7|^;DBDnQD{lJ`#B5Il*h_x=wVPdWS9`27}t#85=H5?Obop%#! z-7g6#xOGJ+;muLiY#*;k?nmL)=SPCVftV8DSHZ2{q{czh5`^+nEZX1U!^sQEHDE0P zWJeSC^DO0ku-nW)Q%fc4U#SqO_5jT_%Y<3CRa_Guf-bkMA}gGTDtBr{Myyqv)#5`c zOILHfu9!LN-K?jjV$7CM2%`Lg(Y{?7FeV1IxQ46pDD<~_d`47;)M_9;9T6&j7>Xbr5D`8V;6 zR?}6Ht>RyoO?ob%z8nyOpJM!#@kux{#ot)+NIdlXT-h2n^J^_*p75O!94B z(B%){(qHzUD`gwOTbF?aC@RJgx&h~JSjFn9=KI8u{v0oI9l^Pl)xqhO#X9gt{C&vZ#7CxE^7wn0 zzn|l`uY|(_Bt4YShKqMcpU{TAPiVsx720qqp^e=f-?ZhTRm}P@)=2Xv2=shU04z8%vSW04^h61R|Ol&JeCDvm=@P7j)B+ zmL6>^xhqyDvcO+tyuXZkH7(s1X;aUzEwcJ1RoIM8&(m6gs-7a_;C^{SGrHNEqOa=F zK28?ReJgtTF%{Fxso~tJcAu-LPZGNaNo<5xnv91bqA^F{wTM8vOP?dPn0$zUwGG2e zQO%?iCzypWig`afpMLxDsr|d1q7sp?`ZRa+F61A4lZuK2On5~*_uon#wJ0*&_Nm}< zc#q!>n}r6g5BHPNoihto_nva6X7{Th_V{;-JaB{ zICOhcpOx@Pu{mpBp!0$fTKhatuA!a&eY{}gKDR7`Jzyfh00B>iexsQD%&7-jOYGC8 zQrYatf;K_O0WbjlueSv--C6r64(n%DwC5aJ+|@<;D{l_Ynr5GBVa8r_k2%h$$TI@hs6=bW63^|)aMm89;6+&SO;whB$lmH;?Q(0zOUw z)4JXr)j5vnMv%oxsbFykVuHyku^N{G>D1R5Z?e>72g3nIX*(#bBiEBAc4|*3r>5ZY zc4S5vBXiy~Uiz|^0rD&AT9-0vMttMZ+=}UXUXYtH9wN|t{3Zphg$w&T`m?*~dS-7w zOT|tWO>VXjC91Du+rk0Cs+->^0mD%XyQ-UWj`f^!Oi+oa{`(e{rxvB)_;FXc(A{}hI)=V7OcW1yTU+ue>iDKXdeOGVw zAM<`6L@I<5i;Q1JdZmRINtU#S^j>nJa6^T`a0O~niVKSs87*AP3YUj{Ii1ou6!EZk zdT!Z(lF-D)zuy9T3vY|M%^Wwac&RY83#P`dC)OU05&&x;yVB@_SX70@U@xISa)d{Q z+l48*MMJQ}c(+VAqB*$ybYJst<^J?*%|FH>&7Y~7A5Ofm?MKM6br-_^UsulK{K^hC zRc#HOP_Tu5Kz?Fay<9yV#!~fk871nOYRp&9G-I|rZ!)H-&kW;c^~^M`Q_u0nmFhXc z7^9xq#>MJ6(Qv9~x{;)wlZ?onlHC-ei>J0LFS0t%IIWy!8K=}U-#D(Gw;4y&6U}q= zyu;X~o{Npw)bmc`CH1_^ctJhyHlA0{6~Ata2xs({=#06^lMb-q|DY_O!s#kPx=2|w!gBO(yrj+xywoI(D zpvct{!5wM(jfu*uDbD$vEpye!m_OK+5rcPFD6*y^b{y5ukc00<+IibbU+~8WNU#0@ zvacNZZUmawhHgdeA@A*z7xwrHHWq%#`;^HGzx3U_v9Oo-D<&`O^^M(Fh$Ts{Ycjnw zMf3F7FpIEqXLy?PvQJ)$ZC)iARnJ`K)>S^8>16OCQ;2Re*V zVC|x@%e}+^{akeg@=ZM-Ek!0{IY2M%U-D(6CEe+9RU?ny5h!b~E9-6c9B@##fwCjs zTg`j8t0Z!?6nh_*Z@@w{- zspie!jH!>o8AoSWx(<#jNULpGi>&Dx3B#s$SWUqh-fT4m6gSSI6?E8sBWDv{YjV|@ zEg3O?dpMPB$<7k~=PfR8k{QcolnnHBvf-kL3GgjN@f^c#I@Dw7a% z;F)GAHmrjB$pNOX4i-c*RlOr%PrTiSGR<}Z)Q{WEO;r}W6X(6WW_dRS+aS@2Mci+Q zI8ndpuUW6|HTMo!Sck4s<4S&YOGvI?BED0R;Vu^YEKO$pmkH<{Ak|0`D%uf=_POsx zwc5Le`z3#^3Uiv(<3sCsrKMI6 z(YkG`v$gI7r@tI0)JJ-AB3M$qf)DP@Z|BjB^_yOKs9qQviIZ5xp)!6`E!E~q+39U& zM8V++9Ab8IoV7oZTDAfXEfx7X^-e{?;Lci~ES|dKz4yQ%PXF&9u%^oRORm2nINu{-65?%i#=Wfyl(^XN|n_eQ; zuSky$Nsyh@To{}+RTVn#fAtr-n)uf4+^W+Xj=|)+vC*tM6k?}z2VwHK%#HRN3VN$g zZpfB>_&0`tB{pJ`-Bo`wsrtPQgZ9+fCzXBa8%qzcgXu>kNvtnrGg(`;JwvZDhZOxS z#Y~lIP+8sAiKD|xg<$-2)O<)?ZeaU`*$El4WK4=~N(zmO7EqOcEuV~D>g;C>#igMq z&J*q?eSbeO+6QAAK1dAMhD24iD^gdikVBo%P<;be$#;sAovJiMqd})|v zfk{e*#&GZ{GhlPLRC96)lAy|eb?u`m;%f#!-m-;Hmax^c0}#5eEL%ECX zzAO5+FvgLIY7`=@vv!w+FcH*4qM;)v1J@eG1s9^9pFl;9q7F=byEJRaPZUv&2gBrA zW6W1#{ra!Pnoq0}RGG_Ja77AS5sw|TX6MTXJ7>j@wsHRA{k{|?-TAV!b59r2yhN4va(Nh2`Y%qMK+rdiU^ecd>7>n;S&iBj0( z%@+#EyeGVLE8)w4r~h4ykr48svhHT`Qp(LZBZ1K1(!t@k}h-mYRI_5Alt`8F4mJ$ z6j7mWrC#MMMV6}ff7%O#)|p)J2nKM@W#-}YB#;eieajdDZ)8f#;98_mJ&|5@VU&&X*fHXH6Py^G=r{ zjB&o4nA2i9EQ7?p45RfUyA8|aMz;MeVVBuf_2ntMqZ~tI=eBz1%Lit6&YDb;8Iq)& z5L~=*gxS8I3yU?h+sjjS&L(I%vM;W3(1@`ZK%?A6e+UO+ZP4R=Bw9CN?Q3lyswt`s z1g{Fs(qe%NU19$n%0?{sD{exLNzM|)2*+)iwyx^2sJduiMi zF1>L4?RsJ6?Fv>?+hs44lXKCl48(7jWo@JAu5x5vT!>*27n$505f!AUq|7d6mrR>! zON3D4u~MSn?*QA@J6WsDoDlIQy1khbR$mjGxLSAo0m)yWH5^*yA6Qphyh16i&-#Pi zm`i%Pye#7-yiLfyJ0J@V*#dc1P|) za7y%rL;!KHqj(y)$5FhnaB(TXT*%5t4)h(5mn`zvSC+aHx;d6#wa}d7I+z)PQSfRf zQ-n5UNW^!eHuXR?rbtDF5RfDTXh$*I?z^a{;!N0HRPjaFT2#>)8J;EwJ4u0b;Om!! zM;P<-Wg*Hs6Bs^TwG6Qf)Mp-+0gTS$-dnP$a*2DeqM=A{z?hBxY1Enx=CRc@Wo^P7 zSe*Ap0VK$dlHwbkwb$#K>$T7QD^zHXL?)*2aAWtJJ}M6I%8o#YSQ72RaJANr{cGbT z{GiZyvM)H{${I0#;clwDELuq;zdom18-zGe>sCqP*+wZ3HAzNGesZ?z!6X)r*DV|u zpio*TQ|-g3_r~l3>Rr*2PV|e>!>E2KL(5XT?{W!`826;{-P<6Z_#rQlxA|ee*i9_FEHo)yyk}$VDpxSGZ zJZDgWzfRmCMU}HT*(8JctlN}Jg2+v{J4|%M&e_!Mo!WZPEpo;Ft0V+WELEZ0();UT z!;^SP#>^_m!4aHomlG6YymX?f<8-&+QU}*KQgBJsJBkk}iPn@Ceo&D3eeGm$sZigj zB7D$9Ft+JgCZP?z*zay=Pq1?OeF{w6h;QAT5G#~OMIKkGDGy8TtYtVQ_;%2t3KEFZ zRM!F^ux6(!)Xr5GH?gGvFQ_RmVUUI}6GE6o3ZH2BFafhPs=4&Hw3A~RP9{bhtZA0r zhL(L36OWV*@x`wjvZ}d^R-~TqsuSwffEnd$r_nMi#{MExX|i(+#XjBmExrS}HHU9j zDs-H0V0Gu~thBWDyx0jGCo=+0;E=1cDnWotb)R3&4$IC7LVN(hOJ#u2{I*hP7U?W{ zR*y1nB$ojPAFs1tkkw>U7%;;$nLe-oi0RYQk-Iq6>6a5mtPiBV!d3xs(T3GGF_SyV zDP<8*x~~}OklT2VG@30}6U2CjSKVUHVCDo%cW)6yx*I^fpI~gmzv8mKW0yQLcQq-q zEs|4knP!z%Y+a&BeWH0vpu(_m=?f!k%3y(GVbP)zcCcLR6ak%sF&^_CiE2m%kiqF+ zDp3mTOm;g0ap6~DSBF1x`l*NrphmUdljnKoL(6zdvEKVo6-${R>6-xikI{`vH3woR zmeJ&Zbi>>Xl?8XPZ>_$zqJ6R46uUhR*56p;`O^%k969DPZ)FSkR;{cIl{tUUQR1h7 zw_^0n%3X*ui>>vxulauL#ul7!C+JL^jwLxBExAG$^94Kw@WSr;nG`iye)TXJvT1ioD$`qeD_?FjIL`MA#}j?93g@Mvq?mf6ao-r}6Rs5igP&E6phGSv}(yRZf~2UrlqNq#5zG8_%l5I4x6# z%8YBFRI6&Y_^zkiakKjq6_B?9aB5r^4x@6YGzx96h4@Cj>J$Qf{x?V=+Ex=vjMY+= z(pHDyNaM~t#C*A`zgO>wopB}M1TJ@YnZ%WYALC{-kavaIR^bN}B_&@Y06CeG+yuoG z6HAQ2W=7sIw8rW;ON=k!h*BdwEyflAV*h9~O>VT}6sn9MRTA-yF!u1(Pt1?_3M6vh z6h0)U)M}}BTc#^zx2%?Y$$Zd?p%7^Uyljvlu5brNxkQDQ@1){ky+yNUfHGEH-Dv{%T zM`HubTHjj%m0(E;7Ht9Vmt!_NsMW(WSg8?H*~1*HQpXDOuS$Z&9k-+XaHeo!WOzD3 zC{U2GmlJno19DWm+{`s6NH%l_Y)q@#=${7|V~4Yx_qrxs3ciq<2of+Y697U;hT!Pt zs0b_rb9DEOF#{#BHyA>&3%4D4;XQ)2!q%eD`1C_+8AkI~5mT>wf!wvTaqBO~z-VPg z&LMVB&c}D&&PW4@ezF>YMP|ZZPiTc->sC=#W=vYj)UQ`dd^MUchf!kNuu|TQC#S|H zl7Ym?VrDYlB7`AF9URRdqTc~H@&&m${Sqkr$G#yuwr>=Dfr0zR36$HpEq_pv-d1zc zQqB4YNUHqAKta2nACC+=5=2gC&pLJN@mx!Fe3o zRi0s{-OTB6PCcgCe*4>s_}?xLJcQXtl#(=%{CuUD81oH?Y%M9 zowC+GSo7W(jwHDdKnP)7!aQwH`;1_vzrA8iPJLrlpw)~8$RL-^m_xupDG9c@!;-0Q| z7$}2xKHaY8==;aLB?zs14u1@#DWG)c0LFFr1NO;KWDWSvR36qlD&iYHi0AO>TUqRufLVQ?p--YQB7q1 z<|fhy*V8D|WBfRv#{XL?ydpm5*y7N)C?XJP!ZnIK=Oc0^9^;ytf_A>R-ZQ!6znkP| zO*(f&Z7@9!<*SeY!#peBHOt!>i#9NO{nxba7k>U=06)J?3+t7^c8;j`o7^nei78cQ z0^(T330cqK4`VD{b*A#b-^bES1H!JVUJt(ywq94;s1^o5YBZ%yAG`~)Q_9-4vw5uN zSdc9Dz%gF^xngo&T0G^av#WpErgcpwu#kO6mVUHirJK2K)cV z7}`ps{Er+%_X*bw7V`dQkD(@=?a(=J43+Qy$z!P0>o<&{$8rAq$I!I?-3J?J;@4IhuO zwxsM2RGsE9bNOjBJ3w2swlsV)CS|W))?w|m9!hy9IOS5(1-21mP_m{tFKdd^vZmnB zVN!0{Y41pue*G&6PWr?gnb$U*7${ePY#&S?%8_gvk&mvD(~7`i8`yo;NS-VR=-RH_`|aL8E3kGyw~E<%w!YSezijLD{nk!uHIN;gI4$K< zsZ=QgmAXe-BH!-c>pj4AmH|-ZAm(2a)3lC#cXUQ%_LnuU51rP&-KDp`eL1{OFIg1C z_<^)w`DV_!^kPI5s*!2H=I1lP>5*{<%C)LzkcE1x$#Y;|ljk6Rhxj|p-x2=)%-`Gm zy~AHCe{K97J>TRxHVymA(u&^1rkU~AU=D6(e1?F|R&|JKx*RoJ!*2X4?1bhPJW~!N z=HvCfyE6ydGU{f=H_f!hHO;hTH_c37m6aD7&GB!!`+(E`tguCW9>GNbryBTo8_1x} zt|q?nd`T-_{4UoWMT%nYMKuTtU_U&CY}_lhh|gdmWb-*;#WQ>cXWA-8u#J2~9n9o( z%2wUH%TBvioKhhpA$;|UC;G$w>FZ%nUlR+<6-Q_l*UemW>TTa|aTTyn1IVqZ!AJ|* zX5Ld@5UjO3{`0ld4c!1DU|!YvMk}^b+m-p>u49<_#e8vjp!lPJ?}I?qdx3%{(6Oz3 znw?11;O$}ym@o!ml=DM4Yn~_W(D!O5lN!!j{VmSg6}a8g;;%BP+eA_etYRlQ}yPimUu>mkk` zS?}&r5_i?UYuLQ7lR3D&LqA}xr-!D{UCz*bq<7Y1{I^+pFH+RR+OS7{3QQ+nvHaUC zmVfK5-JJ;EiRItzj8oD#iq9Opue;&on1dhF*+C4)@^2_*Pd*z&8Vk$6p6$x=Z%5Sf z?{2zI2bO;eI%-ZT%fDx1mVZA}mVZB^pq&UtYs)(=uLwbeKc_7Jo|~gA|DF@ezn$ES zcs|=MZC~#0c0MTQAW`eTTR2Hn)_>c-V*S@(ynWZ{{}DG3j6TS_{83INqG{}LJ}A7Q zmmQ6GUdlPd%{^_!po%dPWr^hI|7Pz!prS~+{^2G{1`#o$qaa3*WP*_zq9`aBKv9u6 z1SJVGfB_i()HYYrG!cg^b>M|uDwCQw9B5isB&1_VS9gzr{&5td!w_xb+kf4+0R zbDoBpU*Ecw>sHn6?h585`nUD-*46AYyoRQndh*5B(2J;?r|%m&{(19Nq{uCOMP~l_A9URnHi?%op|r7sZTR z0<%!4Jjo$nGdTt<;Dqk<_zvN8I03tfzBlrLLbF#+ z;)~%V>O6cB^*|M?XCRg(SS-b?Sc<6>Z*mfK*fCiiuWkCJr1(ozf&`yK-64@X6K}E- z*?`ZXhGUZ89O{3QM?BmyM^WGGkj4gl4s`=aBVz@(AdNR!X{>3N#xqzN~?#~s^#$2BW?Pd0)9Ch6E62$ zwHPM5L8k#dMRwbCF?RK6)^;%wz5iH5U__h6K_3v8oW7z&=Z&@0&jgOo6%0Om(_v-sIux z%xTRNy;2wDaMroW-jp$c&#zR~M%ZA^T+)!MC6M7Ydk6d)tp5*T$pMKu3#D|O!H{S(Gn!=8u>XTC6pnEx9}>Ib4!?P?B00WgBui7-evYDkkRPBx+u~o0gr0OG*DGjT0&` zV3xB9`b@@UCQyPYhuW%7t2Mwmlt4B123@B9LwxEowh>|uSTP*1fKtR$#F^khMBu0y zczbp0TfTmd{zE)itHE6KWai+)VyOzK>o6X}-rFT%Es%?rG_RKb^IYiP6pUcgK7dWT z8l+tpQU|%}o_-JkoY(&-4=HexOAh`VgtzgAm+z4M#CL<`;Qev@2hCG>_I^#WWSQJz ztwqOifj|jAP&$sK1K+`nd0dQeCrjqeCq0m17n3U{KEO4QcKa%p1^v5l6m=8D0mlOY zd4OuLVpSI$vFU$6%Krf_e;Uhx{w-K$AQ)&Q0Sy8^cEOSZ>>4Tqa*I(8>I9=K-Wok$ z-$CiyBmE-Pe5)d1517+?1~^h(7>V6LgOWzz$*GVV(5~vuA0^+x`I!&v9oP)z;iV63 zj`HN;md#S0EZpMC#xj+KleOkSyIiGZ>*r!o;s6_}gU4hiSEx;@Lj@3mhIUt^|1hbF zC(ui*BH5_I*#MDZvVjq21EXwOPTFnr>1wJDYTvS<{F$aoQ6gqWLHqXV@GU2GIy^kX z8CCFT2^2ic#(`$4WS0`B){qS|BjH|oo;)1jyb&H!8nR^t_y~g}CwW=0f+Hd&$#>gr zup^iz4US-Qch(V1>(Sc4SShtz!BPsX46wpqXtAs83i)pZ=J4=ap=Aosjo3==4zW>c zw<)M1HuCK@*;R7HO19HVfw9uR3pUcxQ2xpINWtk!@F`R4n0))K5}eaaY~}I#3)X=w zEYMJdxRvL@_HUP&2A(Y#$F>icRF7*=4W|8##Q9Q^s~!TF25D|hx+9yS1mBxk@`vi( zY7lUxBu)zs1td{FTfkvfqcGlwGQ8I?Lxpw!F6oYZwJIU1lkO;`;IfBR*x3~d=1Peb z<*=QEDYjCc$C(t*!Myl^0>dO9PDPqS-x3&7luG8|X)DU}eBd|9$ETtMzA1sFTeU@+ z69+bn!wGZ(pM6WQ>(VZ+)0}+T`97uCSLr-AsXU|^e`v*@v|;LKZytP#gc547QNn$q zVJqC=PSUU$Zt!?x_ziCGfMfVM*^}XvrOCkhAy|o@d!?-oc8?kBBpBo*P<0ZHNYr44 z7fzbuur`?1%?t$ad0h+BFrYC*MD?d3x@j`mQrV>P9;0&wy`2O-oP_;{=)zGLiuyU~ zOe;`kZy}{Aim-%P(4)l0tz>YuLaB{g>EO=!aX1HmTWpEvdMH8*hV_;mZy8{P2Ap>W z)5!4bK|7f44bq{L4Bvq@XG_hX$$2JKeyhrWwh98I3$xwj1zIqxpfAg5u8ILpGAyFq z1q}{Qp4UtU*@lDKqz%A;*HWJCqBMsUr3tJk^#@V%D}k?UYA^bgm6s|+ZnC8st}Co? zsdnnH#q=1KRc+SQcKIM;JLqq=N~H=u5KJ|}lJe4iNtLZtg^-?Ouw4Hhn?fyieY<%B zh`wxEUCAdrhx^4~W`{k^G`z|IPBDOm#q36Y7H64H%%xr*60<2-W(yNT5}O`C-Nmby zLMK`GLj71R94t2*@6z{y-MLOa?J=xje*_OZu*EH?A)sK^UcwvOS>28wIyyTUUX&@q zOBIN_AnZf3R}EeO^#P(46@=9|3ClrYQ-Yu&^b-SMp@UP(sKdlejysU(-sR~j=2e*{c3Dm0pG8G*`kql|5^DXW*#ZoDQ=Yj;^WYXjR8?gj$)vEXJ8xWP8K?^G`NR3d%( zrL-6*=#)yTG2;$CE?p}UCIqR#8e{l|u7HPEfd>==52mCm9D@J^JWvfZPr)~7V?2bx zA@x5!-D4Pbk3R_0*gctHQw?t*SqtfVSlQIBGih~s5r^l@H8`sA=CXSadr0r$$wya} z)-aPi1jZiHtJnhOr3!|6NKeB(e2MlTlVYX&frj-Dc&V0L4^ODs+*F={K>`=VQwp`< zAzj6KZo>gZbqOf2TR?cq)4v5IqnW&)320oGfJSx+NUvK!>i-A`ro@T_UeHy*T$05K z>?u#fO z78VGx9N%TwYDVJ@C#vN!I}#$AWe06zW0 z%$*`QqK%oQB3J}Rb;}6nG0U@HsSjSI@61>^qzPZ#a=^!=P%x_;Si)lIkykK(rpD9J z>f5RXiLEv8jxBa}y8U>vC&XB3Zye2am=!jWZ1iC?7uF@b0I%$-7?^(m)5_p!qY5wR za+8*ff)WPjT{i)NEm&aY8%#kH6sOCN$NN9Lkxr+XNr^B?6K2152@VpQkmhv{ruymO zhz8EaF5m{1Ea3@8!1jT)w$%&L^e{OozEG%x=OK2uV$vhv!W2p=v*w$fRVNq?PGGJQ z3FJB_J%uTv%62t+DPL1XTI8O)L1c41S zzbUX710JyI1oBojg8QRk51s1E%!ys3w`S&`QLk)azBNqFfw`k8kRmce7;kkX?a8K) z$yD`l_&Owbkr=Oqa}@h{kylj;XpB&2?em^4z|$7Q+BsvmFIJPEFP4F2dqO2V>&UBK z`gsa|vnFNMD#Bq$xT$+GiwYs9kAatVTOSSt(Mp0TYBpHojn^7oGvK@CI{YCZ0rH}` zRt$Gn@ngYkm|5C;1UtEnogLW%GvoS5bNjT<6O>+p+cb(%;F%*!6h? z3G!BTQSxcI(6!!#d0x!y)&g&w54`qJFn%YFJx(#<@tTI%hcLH?Suw06#cjzGmg2U6 z%G92OJs|Jq&#UmbDxD4SCQVd;vvS5WiNWhR;AlvA-&=jnsySilN{BXk2^33v*%iae zfzI`tc&0E;s^deDa+tbj0GY(=>%J8`?S$pt`Z@5%6;BZyDSfJo^NNF)mcecN?8g*E zNUOfE9=Z{BA4Q1jLz_^F0}cCIR3%Vp&^cgWS^-}60b>^ay3weRuEVS&NRwq(ETpTM zq}mwBO6F=_SSGKTB}sfIf`|(m6Pqa>sQYe!U?H#tgoibOAx2qBFbE?of|)FuDlbY? zffG~>QhSPCC5rN7*7d9&{&(BeqCDAZsmND8p<2C@BN`%FgBNnZq(~eE*~^%c;KOYp z>dy5Y%$#@Fn~LuJcS)WCG&I%4y7Q`4($sH*Ccw;7^n#Aj%?(yxE|v?XD2f*x8Gz3i z#)~fx;hB=T%xp}2EHP9r76`n6L;#C5iw^hz`)@Xj*x`RB9`QY-Zzp3pSAz{JJddr0 z#n8r(0Ctr~(hM~Yv?y2|I~gPqmcgq_dooO{WK~zd?r(jP0_CY=&580O%qbFfM_sr>T-)m*SXt_I-<$4KwyL6GzOjJ~5AN8g3hv*DwN-dt!AYSOR%OmhHD zsd@&y9fJs~AaC$_Kn*w20ZC1*u*4sBKo|^PM87LwO+}trUk+!9VJ!#L1CF3KJRL2j zW=dl~vfIU6V1(oKQVLAzTdlWPmRS=H4ZfMNf~Dc{9q~?zZ-ITi+l#HbM_TSMTz=jQ zU;~Zz?jElXo9i(fmg%bA5lqJd9ItlK=Fj;TICx(ULzOqFJp{vH3l4qQc><2Jw0sw( zX!$x;R<_de7To2+-AzmQXoZhOC@{ZcSuRk%j2mH;?6;D%>;;RwA*Qxr_8c6Vo z3`Fo|PW z3`P4gtne!c-5-_Xzqe_ugJL^wrpw0IN+MhlEEd`WmjY&eG>=g*I1*&Td0?2fq_ zkw4{2`NOnxKIKM5P|;KfB>)pag;N|jDU(CR04ECU_*5Jmr_t_qHn>?1b`)g{e+&Qi zYYy%M;5>0(#@{mF210mI5cV<%CzvvV-w62YZZ7~gA>b>V3ZgI}* zu|`3B{$Ll$O?m$<53|814w(<>v4guX2t~-`FMtVvlp7Vp z_ZLJ&apzcb1Q8LO(1`FL3St*Pi41`q7dYTQ98yP7eoROLsxw>;WzD!Sfm8-EVg8#N zF5@N)@*78az%R~mIHZl=B_!;*Yx&!QI{_G+`}Ue(Ys~~w#Ksy5c@zF?O)*LNNq9Ik zT*5duM<#4Oq$Dp7MoCRe zMpj;47Vfd>q!ocyWN0>ma@5zzeopg{CQ`@HF+!#4oO;U8v3?Zg3#Rk(;W76TZ=QR! zZxG*-6U2`Q;|rpe`E!f{IoyzNYmQL_hZ`XjSgWYa7Dh%!L<#r-oRIKHp@0(@63XWY zmPPWTEmb&hjWUk#Ta0hIUvqt9_<>Oo;Q|#ESEg+-9&iLq5RtxuVCyb^rgnyoS;i1J zPQ<^ubrlLalG5QgdJMgVq5}9`{04@GM8s|^z=$Xgq}E>;3Vjt5ZwMcf6u|L=q%kS+ zi->Cvkx76(KhRegD&WNUh6?$dkZ6wS1Y?d1KRTL(7>aKrqxk+fJFd32;N)-qr$<0~ z*~p_qBVr*j9q~tmx4SeliuCn|jxs9DH?$)QGguOHAgS$6nM9dzj5xw@%z>nvnsNM= z3HZ^R5dmykNB+&NDYzvrEm()`Y&KS5Oh=43>^c7|;{P=T6aSABAn*+jf(l?VMSko^ z^*|dSOtue%{E>uk!Xg5gst^Q2(fWq*Ilj>xw(ub9DvnUcz5xLtc(j4y3<-xy4`YU= zF`Q^VpA#$)L`GYV9UBxP2p0Mo`$vS0^;_Z_d;69nmrjg2*qhy<$$VU$1LI3g-&Y$)p_daUhidm}R=yHHT^Rwq6L2+J#fz?;zjyKfxHe2 z0oM8cDI6=&BB=Z}?{D#0UP7W0vvK(^467J!? zez*&Z;Na|VpqK0DONI}N9&U`?GwBDpjEct1&{troVr;yS{l^6xy|AMKI`54ABO^zQ z8$WKOB}c^}E)qsYet;#%l*8rtMg{q+P*65uf>0Q%preoVjS7d5Ejhy>4iFLOb~w=> zKYR|(78GmraPY;4RutXd{Tkzp#K2%413C;0v&^We57;d~U3zIYJ5k_<$STG3TtGwb zM`3Xl#!w8h;z?1^M^Q`{3U0b~vf)^a!-UZSjvvT0_P&d*JA7= zBchqMMAfb5QLQ&vqr${WF~3;%Vk#BVF&##0e;E6*4i^C>h&2@tW&{_)cpeIr9W@&M zIMggMCS!ey4>TU<{lF*I*Ooy@>@@=PK~_tOX8iCWM9k*^M!+xD%={pvAjSskj~oaA z>tvx!O0cHVu16XHZyGg~ngbXHey~=-VKgUJkMf0ktp5a1urQHaju1-}xWf7ct3P60 zsWVJgLk$L3vEXVMppbDN3BM7LDx9A%;9yM&>#`Ve%xpTbjW1A`#@a2LQWc2F7w$uu zu=vy%aD`o9KUj0c`0r&J0CD<*FI=Kn-}z@syT%p`d2|4c38xk7p;+t2`LTrX@r7$7 z960T?Ba^01n#=g?n#*vAk*!UvZ!H0X%OxB%Hhkfl>~zhBYQx0aHTRs3+~b-U0{-kG zq8#Ev1a46g&}<>mVc@4-d**}W1wctbv!`}|Ob-B=$8zufFV7t(fbRl4|LCxC8Jr+; z!G}VMqp+o4I~@gDN(eMZKJH^V6r~OgY>tcT?AfdhCaKv|XH4lrQueOXZKlrXw3#*D z#N0w%#U`BN8yN}RI5Ylmf?=Qv^M%377wiQBepsXccaxzJ@C1biGdoUu+@T?UQNB^j zVD$2jhyv|G5W37*#VwTY3%xe<%>q!i7$03i9}X%B+n0f!D*=rRHtGl_@v zrFo*&)9^Yu_Sp7nmaRP))hX8t4NDNK}9)-i9 zZ-CxnIg>$^IoLhc=^(?Pk@#}_gh4=amcf|TwIqx=Qw3O=3X6aqFEnHcA410k0HY&T zwm@G4Eh&^48p4@08If@}fHPvOe`wT5PM|Q{ACK^CI(<1Ei3*2qONdobP%2rbeQ4-( z-;i)7?>OIPIN#wB0uDbsLKqZG#s#bz;%8VGxw;fs*YYy$R$d)>hp`S<-mE#0A1H4@ zFjQ|uIE>-{d3oS?aN10895^JLzRm~&2;XcX<_kLp*iILmV7_l8n_39RY{LJL$JmgF z&Y+ok>-0DNr~aY^0sn))aoArZ*3Dx=q69+FyE-Ze*CZ1GP8YO^pOn3KL^vN>`B)Gf z08suwhv-O`=_Ks0GvAD20qr0<0;(&39|Hq=r(04+e4-*SCDYk5nQ}H|%0~z>vT6hj zy`cio2c!7V67kbXclSRp7vd?vSKtdtP-m;WOS5DeeH4GGkPlA*Y%`xlIv8mBpqGTP z4>FKvXeb~#!f;_UF2Gpd|BFo?%HD)2!+(`~emK-xM0gme;*baImMO!3bql(d5Ic-! z3LLv-+EXBOV$35|WJCxk^zA(n4gz;?d`5ynKM3)UiinN~6mUF3m|WV89?fYl4;Qx6 z!~HN;a*d6RDQ;v`L=Y%&(7vHZCT~SxIBEC7=#fKIRA6wx&OrNNFZhZiQ6=|!a4%2p zw{^LP_stTRxWilTLOzrj=UGDMZrFQ$xUGDKTr*?Y>=&u9#ZnzBiSTA&j5q1_e z1Abj7bIJ@xD|@(eVdAvs|J|))XtZM#AKrX~M$hI8Jn#c2zMso6MCx*}4L~t&P)F2imZ$Gl(oMKTDOVEa(8jHN*4~#p>VS-Cp6d@KV z4HkK&)oglBvM7otIDg4p{IdJ2moBSPyCY<|s_$14^^cL;r!MQSIZ6A3?r*v}$pMbLntI*X!)S8TZD zEK+#{&lCH7EK1f9I-1}jf>Q}vuqYW!XjK-eZxu}V)N6tdS>#=1QSuw1w-SCL!Ek~L z2;YfC$v8sm6Mj#EZRKn{A6eu*XHj&A*k2;_QNsU~U^2mIf_^NDX0k}x5ZZ+BImBLz zAk~iT{XtiJ7tm>RJiRs<(_ZG{ewR@~tK7%cJ}~o@CwY4L=2bM$kZ&u!2=R+v zR76E(p@j#{^^Y4v_!5oPPuEM3qU`yeH|$_yro`NGg(vAF%&1C2;YGxsDqFZOh5I&mSS{oK*d<7EN4=+L|?Q>0|V={YOuqf5rv!Gj8DCjnC-WJ6v7A$~#`8&b&UQ*!vkRT7T~O zmNxrql*y6QH@iycuRkVJPs25?QJk{5lZKSg321<1abIiT%cl-KUQ8zyr$6L~r(UBZ zGwE=XVtSi`Q@G)6higSuMNL~z-Gcaek2kfIJ)wWSlJR)P90cLTn(tilgpPW5 z#Z;m<=^9Kp@!H=|NIRZ#eiT+W5&YW?@kuJAO_!PN^4wD{rg-Y9m$eG%QS#Ce+{L}Y zz2cjsy^m=R`D{Dg1PDL!ug2bE9@D0q^~zs`t6!sPHYp9f@`yG&Iytn*uM;4DnI~(f zKB8T>{ne@*Hwye`gz`!XXfw%g)=wQFe`j1Dj|(ZF4=1Nv+?+WC;zyRs&H3~ZJ7wy` ziO~@Lv-R`V=hFwu;#|kvvIGD1>xb&)(>8B=-Hr<3LU}A*^}F{&I(ya)PE7B~P=1q@ zSFL?OOIq6Mjz)}!{D-x=ow!dcb2eU04uJ4P*3uo1@6nTPZ+>(CtHL#^e1YD=mb>)C zzic%!l7|DG)SPK}m%bP>xN7HuX%PO^`5#^L=)pJrMB&>Zy(0Tp4)J$r+57H6{sW=> zGo6%A9=}by&#w)*lHvmC8+w@Y%cj(q06O^Wde6+1T^6PcFeqUs-E!RLkGDi-(a5I-)NN-zx z=8-L=@6qD8rW{&-yi?A)nO4{E$Mia*9D1^sTh41I6G)%cob|rhbisfNhl(yidMU$$ zZ?{S4245rn9WR}M@3ByI4^4ac9l4lf0rBxZZQiPsMXybG(vsp1`Jv{$y%Hy;w`cz% zr#BAdjo0u!?ZXw?UgP~AcYERT4Vijw(Petd)1BwO4~O~{W!h{hyhywM{!QHYX$JV; z@;i6N1v<}qkldr+O@aUZ(UhC#>5HxldtSGz26;NTb+qlDbl=xOmQx2net7dA3dLvX z?MeH3or{O`h+Z@vvphqOm~*;nh$+aMXk-0`@RPLID`qBlB*-Tf{4^`#ciQ0T%IARt zaec1N{t@>ZZ8rOKZR!Nrmy>cIYMgMGz8`jDi=!>bn`r!zsjCmr&a=zB)dzsQQk+lY z2JEG$*Pb`JI2g;*a?^O*?evy2a?W3 zu#R9Y!7l`B2!1B`iQq?q9|%?xd{3~7pp@V{f|Uf{5`07OHNjT|D+rboEF<`mU@5^D z1fLUpMzDlnF~O$Dd`R#C!TSX75xh$nf9o13 z(aMo-Ly)_#NrSTTkjdbre6+a*(yKQsUq4eBXo=7MEQBUlsm&GN0ey(_IW*yj16q4} zxGyyf^eIYmclr`%R5WUzc(5PnZ}yuqSV6gt@RFuKugpo87@Q#^<}@@oiPdX%O5Cvqq36@ zer8@aKsQ!jYw$q>wJ$yi)Sn7;`S<<7e#q47Msz{h6T=NS{QNRQbpaYD?+2voxSgJM*+>IXKup)HoFz>}&I-{lFQs65PR>M!)o9OT zEuG8X;dzqEs2g%{HA?+DQfYhH6rhW=G}=}peMgPrU(~U@c=Z3VAPFT@Y%jFy)d0_H zmRg@LC7~rv9-r&K;q+Xnecd}5eXs4)_{0;JUt{+3sAQzGlzwM196vu8uPS<&j1E)} znw&8k^nYsI@WL@`(1a_E$L3|~18tF2n6d`h<-J()AqVsQY>O+`pzF0K9P}b_dDxzR zX}1;)|HCY<-;&8d%j!ro*P?ru=DP3hkL9PkzHo0--pLr+`Qpt5nFm0BqV`OAI5URk z8>EGPAAt3Z@(qu^3hDf1`wBO1MaI%ojI)~&G9i4%$ zx%aq2K+hh2WU2BH4tDQZutq>@yG&e}sg3;y#NHn%pnu;Tvs=Fh)=xtXZ{Lrm6J?HD zrzT;2Xh&f7(r7wp)wf#{){FqUc*5o0(e(Ol;}s4G9e^IO>-6O)S{P$IsKQ|k(1P^C zUQu+VOImJBqASqio;zfs=tH-6JynhD546-U^~h4%j#@KxTrT{AItUa$3@bvZGSu*YmVufev8gU&^oKt zre>WQ0<@31>GyD2Ugx0wSv#CQrJ*vm;dF|ypUR>kn9iU3ASH}0ZOSq-x)1s=wd2%| zf>1hn#`)^nNUZO<8T#}Kr8j>Q^~~7``aLDhGVonOAOCaRZ!^yH1bSjz<*~)|xdj^X z>PDdNQWIw#sR^N%rJh>#`ygDtw_SWEhR_Q(mYi7bi1oqzp#Gv@dI`7gF>fNS52r)< zw}R;S2}#d3e;5X|Qd^Q{5FHj&XlnQe*7vCu7IOpX*1Z>|_WFVK*}i>V?c>w&mt7BE zIc5X&#K-F^1L!*Mh2r(ArvvSF+QK-1*3JF%SpV_3zIcC>2>t1uFXg|PRbhE(yt(3< zAN~5TIXQE$fj&+7$PQ5OqsxuAM%BgZ0zJ>`qKhwmfBf_t`=a1^iOPTKw$+FJa^LFa z5e@7=^7Vs@-t_SpjrUxU5$3x$I4+`})Sus$HVManMzL?vLi$>o!l8Qynfm!^&R;;U zE4}*L5^H##q&WK1>OE;4LnVb5MmT+L8|Ej?qr+N@E!IrM&l9`}eC@gPz&zI z@bnfRaHn^lpSm;j2M#a8Cd6b8oj7-?>hD6Fp3H-O^epu`OD0_PRG&o-$FuVE@3X)$zIS`(IkpRq-~ zrqGWqzpCWU#o_zhPBOKp$6i+Gl|BUXc_qVKZRpFFZE7bC#e7k2TnU#Jj(R_SXh6Og z=$s8Y6KJ_Or73U9nEaehcQvKY?QtFP&&<|LY++&eOw3^r_5_^I?5lf2_2!9pf6XeAc`<29=Aa4ariE#g1m*q zegTV;`Gil9=SleU2!Af&6BKz6dv{__kT-{=MY9Qi7U2`*%_R12#GW9}m8C^92!A@^ z6XdxNzBA!ZW06NtG?mypu}BeYAOE}S1?{v1wz{+Sgk8I9hT`WPDpQ8KZEgJGLg?H| z{CtGz0_(-k(~kS~z|S*y6RD@xJ8vzT>e3%SuTW>?sZ#4h_eX>z8{+35Dp*cbVI5Ri zy5DU$<3CcKdSm^pa@5FzW_!#pR-oQl%l$AsH?RpmuTpV6sQ1>!R@e8g-;SUEC?{p= zqxH;XRab?l@bf-Zqayljt+2=cz~w|EOs`kueX*XETzcTJC4T;)F7=SqS}QlJ_RLx_ z9n+LDuikpC)`eYnoAL7!<)b3`YVDWtt!%3vetxBPs8Zjo4=M=)sxC2n19efOb>WYS zNe_x$G5?+h_1)T5%$ad%7sFq#C2F?LS-i(E=?4>^j<%%5x?Em#-}n%IeuXDyUaPf& zPw1AY^Gx|E=}OwHhiv#P4UNX{Cnz1YObY#RZ({btK8l!bRpZH^R4qVLnD}>SiR93fn5Pq(wwYo6o1Q#*wDeSHMMKzVOw0Bv zmq$Ym8!w*FG#1kVI++USk(LYR+6KmdVQ(KrR2|mx>Zvm0-mMR(2O8%(IAGXLW$b=i zUr7)2dRr03^EFl0CqoN;4zlCy3&HPCsD{2ZTBvW&c_q%9necV`yY)m< ztj=mkXAQ;t2?NgbM41yGB${(wFzq`~OB<;lk8*sp&Kc8-^nA3@XKw}fJA;|}+B!(0 zjdH9K=A>4P$Nc=koL;DKSI?WZcdKyvdJYlwLQ8kd9i=bF$m7tV`MuDA#g|o9FJ$OQ zeG?tDa_WTn`VCBdG%_P{m{w#gwPUq|AP( z^+>#e%6TVI40MxQ#!s#JTnDkWIN(P`G1OBMo|5Xk1FWPekqQ52!?{V%k?Q^4} zXdt>5VtBmP2*2N=LY>M7qNiUYvVN>*>a%UCi5{9d$6&&RnG9X!oS}#E_ddJ7a1DOH zMio!5(L*MJ{OvL?82NwT>NW_eyc&M(jvkYK;mpiI=y0pWFy1Mq|B9JS4Mw9*sw|ED z&dB#Fcb~z?nbWJ{{57WirOlNLMvjl%!mZM=Jcu5S(c+*guLFuLk8%D*r;R3Z(4Ctb zrXJYB@M+^<4yyTWTvOOxrhXrd-N8Z69&&anRWR}-HMz|}C(a(#KC^~N-y_o+4$2sM z<#I(YhW=#68G^(gMazyD!1sJgq-Fu{gX_GtmER4*@+C4JCmMph(&~k89q{{7(a`b7 zhM>??{XwNNLAJq@vv%TUN6W@BClRmOA*G;C?F)eyv6Q_@aGvY_dZ@}^|(y=?Hk49!i zP4JAu@5@A9_Qm>0Pj0=j^JJ!dM>$XiNb%&}yeJWt50S*t!~mI3HvN<|pXr~qoqP;X z@X9o$>yw%K3YwZ>fGXa`(`)|Lst`f8I5|5`yY|4Tih^|v@C0|W34f!jb>&JLklOVUAO8z z254>o&ifEN9aEmHSpD9 zNSVr{chJ0bz}J&#D)(aKcf02$LnN0RbbGiqP9N24fz%MG>)6*0UBt-0)+5b6^ru~B zBM;{pTm$}tM`gP7gcp8m!Y)4^vi0@;MU4BEPsZxfSB|MQJqVbN`4&ZOz3HHwv%Q}7!|$7@_eBqT(`IM%mOk5K zis^k%_xGlk`u4x&cH9orGm9g7)0e3SpN3gY!nAA&>P>6E^G-AQgW<=P4DL-^1PvSi z?g$f~;j_;=^z_Yptd^|fVfT-p(K__R-%Z(J>} zPpNt~H;REScrjLouG_NV(3ruNm>*Z#){8DMev-5(#|YDUFCX@z>k>0RUwDGwH&LlC zPxqpG(6xnoi>G4Rs4SrueZH5a*JM}xK8AWw=Gu$akM&+$vXO~DynJvk`bfsw5u+VA zn6FmxS(`R`@3Cs7w;raCRnXdWwVrMKb#EI?+r8STO*;>HacsROlb#o^ytQc^&2dk^ zXivd>!RxWwbcNmb4Zj#L@fE+;)TV2i^gp$obi(|wH)TEPZAKqd$`hILmw9`-CwO_xGV(jBf>xogu036Q^o%3sE57npp_S&C=N+tf#&r3sHf4ItbmOx{2buc3@Or;8 z&1<~q{o^K6U#V}9GOcU6XJN4WTb!SHZ_AYE+;<1dB3qdHF|15bqSxG-c4>PYlfRnE z!AkVgM<;If|7{=+|H33bbYaO|woNVfqu^$1-{P#fJR`nhN-RHud3Sf;_F^yt!1iU^u21enRqeV*c+d ze)VJWFZ;Pnj?Sz#a5x#m$j{Nw33Bw*s@RE}W-;y^YX-~FQyRS&pBpn0`+rqK%hIPt zFaBWrj4A(>U%X{$Ri7maZxR{#)~;=np@$8R`c2K2N$=6x{W7$&c+S?#{h9nL)_Kd& zJ+*Ismz~1Y_qMt=ihiv>D1^SJkHhEG@26<1)R&8jFEZ`xSUsZX@gsbuHEm_&b>Vxu zE$f1l?X^L@$6@zA)ora=J};}U7@IQv+rkg1HEZUvb4nUClfF406Mkfsay{(Jo0;;k z|3tTBO@DZ9iKRQ!zTbR8Em=Cf_l+6;rz{Td_UDA=tV_YaKE3bG$j`AF`g@l9&Vx5^ z?_k|ScSkbiQ~s6ynzj7x8UKgJX5jQ}ZD^~{ zTCujNz~~qJy@ld_L-kox*6NE;PbPik-xBJwj>a3smQ*pcsFAMCQj0yCoV}Q-zrIav zU$SPtiEHaIs1NpktOs#B0tkr9Fw?$rJwev!~`6BM-sf+bXl1t3G*}NSOYO)12@&>)!sQ*Yn>G#_`{7ZhM_| zGN#Hlkk7OSla{tuS;P9B+iP}<$=~gkgo>;ONBTJYv5y(wGQYQ#Wj*ydGFhXH880%M z+g@bdZSLtXd8G;tPt?*@k|iwbHGQ3^2c~&H+KRGvo|^RLkc5%{njdYCvt%B8zd9*< zJmbE#EkA2XAFfJe98(`uYunwd+9bQBb7nF9k*KxpR@T+VS8FN)nDXGj=6qR4wWkzI zf|&gA+S)E=c?ajK4^v>$1M3Zb%Tm+WFnji2O#cE&=)80<{pnYja2Yq46n-bR-@ro|V!@i;kI#74ApUvb;aAb=+?NfdBbP+hAVcoiS7n>li*N51 z_I3EB2DK%hbIw}p%T21gnPX;Vw&;M9o%nIqDF7N zSA&+izS4a$D1&>j;IY|<*EML?iW|fGSn{|79=DzjY_35ouFbgqarYAO%mv!{GQGZ_ zNxSVQY2DZ+zGoULxi;zxx^*Pn1??OEWfwhmi+JXSBe!?V|ALhN z_;h(OZ#8$t%y{mls4qyE`t-6*MxywA`ud4YsbA0%&FuyHTAReeyAjn34t+syf~T%< zS+IdyxKKX1{OT9fqrrIG+SxnBzh4eE{iW~=;szX~!e#bx^-5ZXx_$hD(k`x$-BGql zT(sVAot0uO+L}BqQFtqzyX{5%rm2H#(Z?fOx2`(Anmf@?7`}XBEs9dObz#++om_PE zoa=*`wdinteU^K6Dz|jyE55^$T2xZS+i8AnH8;`!YeiXdEs9r1>n&Y&i7Q?X{<>gbah`%PvvK++<~GK z@($nYP+gNplYaho@hIbOLsWF@QQT&efgyE^#M_U#m3%d=M?02zzb?I%C^ky*^--Ep zj~(MLQ52v@=#dFn5f9yQ>q8^#YEfzoju!H;Cn7uLQn(EQ(xt@=d z|J*9J4Saa;neJEgY0I^cH8C5-t6lecjJEiSPH@laWi1zpH8*?Z9iI6W?Rxw1^Pb>z z@w4H7jh_+${4IJiW3KMx{`zVf;oi4O2;7(1fZPMl^|C14EvBET3biE-NKLgZ$Rj06Jhnfdd#HX+u-Cmc z+?#EiR2S$pA^lXzY=eG2Z=Rj-M(u-zX?sMIkIh~bBx$+ z#>@SybXU1ZZz$~ZjqX%OU`W+?S^Rl>qU^_SPLi)%a8qLVyjmYKe%iZGU-maGpnm3~!Pm@g+ ziTuQto^R8mJe$$$uq#)~mhKTxS=3w`lhBMTPs~~6I!`E`rg*^Q%#mhfJaUf4F9gYGq>eRxGN{*e$VxCS1oHnQF~XxxSG2o>5lGe(GMgo`kzd<3EtuUtuAX z{vNK+d6~K)kAI+?zBO@kpKa!P?_OcPz2yg5;M~{s{*g`Mkq5r&I2yL1Z92;nhhNw( zZa``8jNMw%#(T#_Df^PRNiMgVXD)9=73peuL!WHsKFc_K@buwUv}MGeKKgt1iN6GG zFmig>iq@a(dA@GT9`W$`zMlqsZ$)P=99~<0YcF^El_e8K4{Jkq8`S9|2exo|4&e)8 z+}cp;fnuYI$2++?S$j_YSkZ=*$0_D(U)?J%&e)fj{aYIvwB<YYSc86qug~55?2xdIckozjkDH=kVJBIvITx19N5sw+FpIIV zy*q3Yncn$t|?%(Gc#X#@m=L=@;hL!Jj{L@0RzfM`^|VPmC3}KEnLW^hd%D{=;9FtUa*u zPulk>JOdjxmz%|5s6T(&w7vEvdWHyn%7 zG!lO~nip%Z^`3b)vgy-%iAc<>^W;?ASlz+@WqswYKci2eLkBcQ2JU9oo0gk2Od{cz zqZxZL62?s1OP{?a`f_d}v(8m?wmhc8zi_?-UkK|L9MjDnF3Dil%W^8`3Of87HJ*qu z%{+{r8Qt`-+0U%IEkEn?3*qOZCqbSXgY{0(XBK{YxZRJLzs>36C+y(6jrG*zAJ|PB z4l6j6&dy8cHN>wY@k?-dcDXwB@^(w&AN|BXP2xvCiJvCvr+<=un&cn-B>yxiKlGFG zqe=PGKPi8j)F1tm`lCtx(?6+yn#d3OiTuz+{?Je4k0$bqej>j#k$?0P`KL+yK|g6f zG--e6C+&|W?HB!|{nG9A{O?%P-9L7Z+dq-7n(pyqK5qXV{BG&TeBAy!_}%i)gb(e% zgWs+EFdw&nF(6zu-OHchL;LUGcdI{!5ADB$->v=`KD2)le|dNLVffJgJNVt?5A$*R zC*hZOmtV}s?Z3l+H~DA6hxXs$zgzoZ!iV-x`1#%2ALAd|e+R!?`^9|R{z?22On13z zy3sHj^6&jecmLh{AI!)7Pka2RTmOamxc}-N$bx{4VVmxii-dY!6pC-IKWziTx4OKT`(&N6~#kvvotWJ!p$t9!Fm5 z-Lhuwzgs8Wz7uBRZNOu^Q&_L_>F;|!V{#|*VE@d^C^}NkIJKX@73!$Xk3%&y%g2X1{wLRe^_BnXD~!JLUw!4@_1*5{C2n_J_2vKSE9~=1yS|0{#jgEr zcYO`>yY|=J%MbJatFLs9_y5&b{{Fnk$j^WEm5%3y|KIB?GO}{=3W`0HlvPyK)HO7< zdTRI5>8;zRZ@>Nn2I>tO%o#FN-(Z;G@DU?NjUHoUJQns1Hn$ize!|2_mR8)!)`(|g zYiIA^IK^q|G-sFTGhE$f&YC^P-DB=N&-n`$dM)zy@%8hE-JXMjLl!Ry4GWKmTpATE z5XQvDEnB`~W&ElH3KTEcgEpFSpW|pW5$-XXj(2f@TgrXLR6AFD2WkZD%qe8{&SdvH z9T6@J4JBKjD#H8%3SO3JQF4luqO6v@gM)(tzQ&orKAv!m;7oLz*F%Y#U}7@Y4Ni;a zaF{L7lzf7H;DXsNk#TS-feWe!rKAL)1b>*Mw#~Jn>R~U=1MW7=UY+>-fR6oZf&a7j zUwD(V&Uafjl>2OlS>|TO_AcypYQSxOw^q{z1YGU!?>G$AeiQ?Ly+v#~yGeHVfEdh_Rp;B81L z*a;AJ5XO7*Mw;S1+I+DGjMx)gp%HMhKtvG312WpS*wC zIDy3ePk+hOKmY#jK9TDDlcD~zzpf#yraJ#*ssHS+-9P8QGVqW3=fIA~{~t?$Ok&5M z%zt>b*C58#GM#_2GXL3MyZ?Vm^#5C%|E&e!m~`N;Jw{A*-fL0+VTOsb?(YAy+;+Os zqB`%{I~f_=2tiz%I-nW2NRi%G#5RD8A&GK3uuaS}N`~B>F4xplf zqM)LpfE*MO@yJEdK|7k3Q&?ztsZ3Ex$sw~ewK7G=%qB8Y%S&pc<~XJenUh+Y-*24@ z9`G`KGvEB@`G1e=;m5o7e%JL~m;J7__gU}vXV3lc_u3!N|8(IWKVQ6b`Ild>T!q1* zfA;}?>j(7jdVv48>;K=*|KFDXKU1J?&37wM|LyumN2}wBZHQVh)J|uk#>5?=lq(#yJvZ>hADI^Wh z91@qrq2kFov<@&xdO4YHUqVKHPOkUf&~!(3y7wXh$0U>6u@kc0+<2H}Au*8#iAy0K zh42)@kuVhaBw4D7%k_+Fh6@U7qi0;t%yhME+!z|`?Afz%5HL-<;#_l}eTF?M#|?Es zABEBy7dHpdEMcxWF2tgswq|5x1P9+$;B-!QI_v4HmPpwA$btz8i|3WBC5D)~nvnA- zNdPuEU;rjMGabjZr)5mBM5X7ZdU^c+)gDl>}YJ+j+@6Ry2Suam>niFl|KUzqDBmE%-)4>u(} z!&mHoS|q=)x2xg}^6)E@pCnMO8{~FVkx?nmEEo+T=UwBNanc7yjI_XfQ7#Tv_SCN- z-;bLzVSIL``yl(=%(0~1eJPNBlbt?!#7LCG)3%ewxX(MU*K&2))DMF;AC!>Lhsd^P zG?kL?$iu1m7+}QQ33xY1r!E=FPli5u-?Y+x;chBEKmILx8p`H72HugGdtF51Q=O25 zuW#M15WX-sEdZ%|UH`mk6{r+qWFZ-DEe5?H>cc;0fSypc_zFh%jA2NgQB05QcSpI4GjHt#2SY?C4Qc7oZ35gwc&c6j)+`p8)?J z$3-_c4|Zyto@oP@6zQiO5Z?-Pz_pHq44lF4?a%JMOu{86^SVl z;1L18GcQNvL1DRpRM{PN3_fG=TqGwGGZQ{P>d27&+z zxRL_h0Z~90&>Cn7gaB7YMNkKU zYG5a@0ay$a0C7MVKmq$lLS8@#-~^(8*1#1aL&%irG_b$DKLy&Se=oELp;2xc@4lZ5 z6AO8%W88<~Cu7rNGq4D=YNGtg>?aswARp#Olu37x5Ea`7*^xET?YZ7kXq@dw36#W%0)9y_y^1XJ$E)U@VVg zlPBe}Fwc-QIy3vaWvoGXG+|hDcRGlC{T=T@8DRIx=K|r0!*vo+;Jr`6xEEdEk@u`5 ztc?KtIPiSVpI73IOL!!1nO}Oo@PuX|ex+Ynl7BU>kNAZrVQ!Yce>{>_5yFLF-_Yk8 z!P6es;eda7Bpk_yIR7&H$0fW9giC6WUKXwk8>C0V-7G!-xFkIyD}T9=dzM+Kzh54t zp4GTM=)FhyKIdOn|2Txd|3&m8^d+Ao3f#=ifPFCHT!>HdD*`PCh$DT5IA57V;9u_z@9Q)EyjMT8k>FJE zgC4pc>5%q2Nz#LvU|+hV?TGWm4TJxa=WOJbyDt&y&wJ6!JLko)1az_@!HRe347?pI`^k^$m;{QZ7> za(~$}8zHykmzUP(S2u`nmeuDsOuyUfx92OXZqJV@zdipz#qIga*4>_OuCLGE-JpIy zyj!2&uzu>M`uv9SQ9r29_irBxZr2tMpZMp)f2($C?d{J#evw}}o9uz@MSwUTzhOC- zRbNkgt)Ks(Upgdy>fY<&#{2mjruY3XHWK`n`F(!n_WaMT*5_9?D97q+_4y6+FNa-e z;%-&nd+xeD-x^w<->_Zofz9gMrT>Rk_4y6k{loUR=TCp+_WaVW_4y6UXN1+~H_U&> zW4GtOr_|>+l&_%G=Qm8B?_Hno-;bW}W2cq@{_^wZ9|iB*+wh<03q23;kMEyB<}nWJ9P!{^)vr^9734mfXyA!^RF_|UN?`UOS|V} zA3FdZf^gWPC(nvN_;vWny%>(5B?oF~p#AM)(&o?1U$|9mIr+o`z#alUdjl<&ob z_4y6^_rCJ_eE;-Gy3)G({D$-P)wex-5>|oVSB{41oY_!6ordKcu(3YhUw#7)*{N|r zf|E$h#@1Wp0x0V*$$Y6^4&SRfjJ83ZaDCuH$Vh>0YiWcU@A}qyaKEN z-Uq6I8i2TjMg#NHbEd?l=U@X5`)6tCUW4A$;2StFWCn|O*=bYitd4bekcIz*0KDDD zek!6nVluPS?Nm|F&>U>dMS6_+4W$l{5WQexne2p8S|G0C^BmC#pM@Rje-Li$1V?^W zItkMsR^jlon2bh)V7QOmpr}JsPhxv55{beJWmY^^RWK7tQGXANNr%Do8}47eo}woc zq}L%RJ}VtN+ZK{L`Hha<;lO?d7NkJ|{-#KcpuyQN_K1=>dKRQ%dmTBU6z&6ni@1T(~%yTk(!e*A(q%djDR_D>J&+b{MN{AVvnM>-#lGN>vSX3 z)FV50hrkH;v>H~h`A+f!COfqiZzst1X+!bzK?!~q?pSi=wQ(m9f1MpXj$FB|<5dRs zA?=I(H5fndlbx31-krs95Tq1-<$aTsH!>f_Q?v6D+)}BjR zj`*mbNqA5H^+*hD`9x5H&kCeB30TLvF9D9eHa*8@)$c-J46G}94JV>4 zUUQe#Bf=5xG~!4DP=koy9vO#Ydq~*^^o%9`uaP3`3}!kaiP1v5M}T$aNbGK>d&)+& zZB*AE5+?XM3H1$;G^tUYnZu{uIeA7fNq2$YH7W~<{^(y$)cIYsgV%Cw!#-ipcEmd~ zvpoW~2lUFy&&?pYMdXhelb(YynBZ$2Z%-+6*LhI7=W><%DjxR8DeBw6n8?^vr)O*+ z*AxENke1ccPl;7qGTR`8t^OU-yGdPQ+=gL2T^SaWJ^h3f3fc&fhTjY|v)+7Wr(X7x zg~#GIk28scafB#dq58iIGjcnDro%a(p-=+Kewz>;=eEY7xdzMoX zZZDypFE+fKP+y4alxPp6zPECOPjJWGk-+bjK>Lk0_uk#j#yWY$mYj*Fp3PR59O+++ z8+rEPvq100wG9+zhN<#EygLCc1SRuG3}_3`Fwpx!uLR(o2k1`FHlRyD+k!ek+ku9I zwg(LYeHip46+t}$>H@WZMuT<$jk|_DNziqeKMFugLCHrE#h_C`U7%M$3qi?3H4BvN zPu>NP@T9C{&F3PXf6XyVlHh zQH%^(+~(&6S542o8ncn-1&-%3pe6O~IU9AZ)<&HNI{e)m)x#wp;$HLpp8lFQg<3N> z2;UC_R8WWq2u$EREdh zj0d#>K{i_|0?6=B4lc&hU0`_>Bnv`HGV(+EU-GIK5)Tt<#^r+#O>e z9v}k`k2-9jk`F(5n7uLlzJteVF5`QL>7J6E9US4_(~R_n47ef2|C<}-MG^H9`ggBM zIUANWasKr@PRHZBk3@V|G7R5)%)@sj$e)BKl(hB#cK6S|b`Nae8hKsAdOHTWly1q(omQj!^$~GFhKDT!+^yCn^Em4q6GcAELNW zPUweoh>n;{1YVy<`0g`uKx@52vetX%fbUF!8n1qN?b>foU6^90egUolji=hFra&n0 zAkZG@2pB*lFbo(4Oa-0;mI7;mJ-|NT9B>|J@drEA6)=E7Kn^e&m~c7On=z;GZNcm{X{cpumX90HC3zX2_#*{N=T0gM9DfN8)?UinHA zwD9>|3m1DoxIs2swzl!y58C!gyBB!kUw*D?PrDua`r9nEOW$=qUjF7suVvb*M_%pn zUE3E1wE6yN+r)(j7DV3LcHYpo<@PPJ#|?f|nS0S$Qy8)3=nKa#zxM0*)7K1)Tz+cOiK_FD^_VrIYgAZh zt2LL_hMxFn=Pyy;uipRD#qYoEJ9WY5J=3c`o_Fu6wWV!NtnAe+y;Vs5jA!yEeG(m; z7;$p-ONu6Je&<|#?CS4ET0a`8J->AR@M|Mi)h@SGCcIuGrG9bs`QgtW>@xC?m%kpn zX2GSO9^JNL_sFBJ?3hnpU1WJKa8Sz5F8Qc0^;y+tRUY@NInmnmz)C0icgY;?(7qWk zcTskWr~hI8d0%*Xo8yVCHhuA}j@8h`_`|}dBbEjR$x4f@0sn1U}QwI;*KK2BmM+X~ee`r$GDPi){*XGTz&ih4eGc~PCBvVKSp@#+UP@ue+<<#P)kTea-&Rr+B!s>e;Q8Ll3_` zbJdD>+2a}SG+#YvS=6viq2XQnoP0v$2gI-4Gp@^v!-C2xkL{TD>*-w&Fa7JB;X~)? z+v1+?*t&ne^wC$Je(|j)CDWRpeB#)$J$rWt9bI*>X-QWYrGbnO4vL^20zCps_DQNh z+ksYtJ^~u%@a(HtKs(^NHR!#dJHaPY`xa2L?ydkO%6};MWIZ1Y`Y>oQ?vwR*5vT=p z4k%ftmVuISwgmJ6PzvG68oC76WN=gE9#Mc4T$m($~~{n7KyL0o)-FV4S2~J$=0%=w z<9r1mlf2JQ-p3OVM`TPMmcs$E@3aVb7uXN{1T@FQM+5zV@qjOm3Le?dm<%igHURs8 z^FS!V^#EdlEZ|>tm{Q>a-0g=pbh$6_&v&0Bjb^yvKAHQY!ArzW(QpJh>4|{vv~zRu zo2aZQmV)tF*}2w^_#uUwo0gG2J~j6V{I(@$Lhghyc~7KG7_X-0j_*E+>1e^L>&!9u zxP1s-M&W(0wIkD=?r1b?YO(0}`Ae?*#Kzy58s~|Jn7Qd``FLYJ#hngW>gw(n=y-$Z zh|9^Ggm*+^({t;X{_LIwh)P~O$D~h6&$48Z|JIJFxqY%HO&FIBBT4z0_Ovv-ytZ~6 zlbV&A-qFx|)TLcNa$WjeIh>Vxrgc?_86K zAP(&pOo!72^n7{|{TY3cHkc?Tkx6ErVP0YuGjB3g%wFbO<~JsYZN-jav)IqsqijEJ z7`H&&B6e4KHCxS7UsB7}edP6t`+3}#S58_j*s)p8+xbABQ} zi9f_2$|!xWiSsGZ$w+_7W;U~-LV*x1ZIM2czLXA2HPR{RtQ0D@ zlRuHakPDUhO1bi|8m_*mzNTJNn`zUvB5jGjQm@f_^g#+zD7PCv)_3T#m&+K2= zYIY2l#m(U6aC5nrxMf^ZK9cXlkK)t$CwV6%S;%w3AB5S$>(V9picBd%O0Xg*gOohw zX=S1Ek#b!5yAr5&gsl3g!&QemL!GZ~RKHd)sSjwX)=wLxC2CJz(w+^b-ALeHkSBhW@6$Uf-mDsBhPIq14s-SNdVd`J{eE|3SYCR(nQU+ZvA=k`ZO} zF!Rj$L^j3lKk7aDXF8CfnIY&&OPI?{Pj(#JhpXf|^V9h+_=|j+@JFG!XcNbXbH(-I zNwK5!xRfRpNsZ+ea)cZ$$H^n*iSi72zPwjfl-|lP#i7homMCkL9jH^LI$8arTB2@O ztJGsEtwm@vwYl0dty&AS($=2VIO}W1X=5BIPpN0#ROvs{9hpG(88(nV&2JZ~M7wlC zdQRRZAC$k5|0SPzn{7GE3Q`>{kvdN0b_+mpV|*QghV; zwNQ1b%hgZSt7zF^Ekp~|T57Ge_L>C}b!vH9fmW#P)}r)&`glE0KdztF1Fg-i4_mug zRjVE4OR{F7{g+wawC=E0SzsLfxZ&sb13B>0R|c`eO7<)%u+E4eM{#2MxOsZYGV>D*$j8Gk>|@EN>|f1ZDf-^_30ck{tQGeHoB3r`92g*C{( zMrbR(B)%-ZgYlOtIi+&x9Vt+5CbyEqWKKS%TvV++bFkyUcy&QS+pEh4htb z%o`y0&@Jdk=m>f!J&pbl{pK9~6MY}^C=<(k%$#8^FySoEPG@JcrR?kMn;5O{vz6?} z>}Twk>=E``_HXQY_BXZ>7tGzuwcuKF4{@EiFizrPxkPRxm%)wa3ecv{L4r%UKcQW} z;LdRm@f~@ZSNI|PJA9E)g4Ww9v=ap}QA`&nic`cH7$t9u?}-DH4a!-i7b$Cv=iNg9 z{W|j#bA<_GyR#B&u!Go<>`UycY!ymV!?xoXt~X}j5nLMPk-6MTu7Z1)qtJ(zBB#rI zW8op8i;y7X3Ev7Yh|9#!#RH-!8InVqBh8bRNZ&{y@;LcV@;h>O^qNHF4W*45tv;(h zqH&l%;?d7HY3KB|mI z^SRmFLheg03VnD5-&E)(^bc;L#yx@p0WPjdd=G1(2b{!ImTzkUgMB)%=peY zV+=D#n;As*(3j9v@X)xIZb^5hAEWJbZ+ZxwM318<(obQOETWgttLP2%1-d!Yof(4K zrC~(8CbSZ1ahNzt%t!qWi`^tzij$s|7E6DXE=V2ZN989lDiqn2d&#k=*9dvEoGCly z0@)?ckxS&))2 z0j-P1X#KSWEmL~|v-~&OaNVi9^cw3!m~qO@_sA0s%4C_lK27P?bO-uzI+=cw&cj$= zM6aRu(2W@teg8w|Fw>EJ0X@DW*PXL-@mw}HiJQ(X;MQ_~;r4NdxZ~Vkxu4OOd+|g0 zsk|v<3L6AU93Ufzr5>N0Y>L=>oP_l_yiMCPOu3gmb(s^CiN9g19Y5Gk4 zTm77V*(w^j#x!FAM)G;11ChBUz^$)5PN&jmm=$aVo5D@tPH{hRpYmVwxxzZ(q;S9Z zgZL|QVlmS!lPcu*DAmegB}i?dwpKMY zLLH$_Q1jL4>OA#bwJ)9n>#grwKR3QIOy~}jEdaVQ^kryU8O%J)BL!R{-$588WC(8v zyM=VjlDoyL=-01JB`(0N zH#Om!y62k*xwhQHTt}`e*A1=2ath|^x!g`}4>uEIZ8iVAuvqw$kSo3{&6mHHC#yee z_nLwkVNxjp|xHq{U`4Eia0P!C23Czdir9Uc> zYBx>6xSC>YA?;A?=}(bNF7q-ogL_L@k0o)G^gGEyYQe3CRq z%9f@`Z%BtEr)`VC*su8oxjneb}VYQVHf5 zl3!_nTL-OR!?{J!5O#3~p=Dp?to%scgiKzRc3}2CBLzSTR!IGdo@yPB+3lJ&82VaY zV}#){J}^EtP8m(iBy+r3ZtgUxbpccnl758lMkmr^=n3>&^me)vw75j(Ic7dn%{LVN@Dvq<)nFWJy2`!+3AW{LH+_ zE?_0jil^u~E{Ny(mKf{7QY%PvrS!3cfYkw149GravGAMNM(QE;lwzgL(%14i`I_8C zVHF#C*=x#HXmO9JIcjIku8r4LY3sH5`f@$mxXZlPe9oL_x=)g?@#Nix9!u-cV3U|s zW-ODaD`UFHCp2}8Le&8qO@o&MvFsFO2jNR2dkORMi^$OC?lGT0~+6$gT$fT zsklJ*{*5QSgAA2|Z|eiG-@~?NEo^5tj16aL=q56&voxmIP~H~Hi=DP9c%_x za85RlEno{-7dwlc!xpi{Yze!VT>@REj4j8kx{lqzZf3VYquI&sh89uH?#Ej02y}^) z>}mEaTgzU+oN$GuxFBdaAzUce5;{(M&cbzumJ`m=9FJ9>&e^yq%oQ;hJqgfzlDHJk z0o^Byb8>mme+oGlHw){UBCeP#;Wj{flm%Ug!TKpdNP;#}AQTIwLYc4`I%JhljaAtZ z;erq(28*r5_M%1XEQX6wVghD@3^7Y|ig{w8SR$5*<cu=erDJe*5DYcf` zOPwWM%99GES4mLZqrln zye-AbuSTb=7OQTxLHkd!7Fu1_CDu}FCA1F82sT0t((ba6WMmjlqtqxjDvX`RZsR0Y zGPTgEC^N_mF)gMJT{gvZL4&O{t4z1$1gEE81Va}IBZI~jNR|-jJ3(|X9YTjfOKDBF z2QQqaX`YUwv*;qag07-{{k0gY{ZPI&-=4SdQG5)az>{@G7N3VT<}AL5FX5N)Wqbv{ z0jrIjd=0n$&$7<37DIb4HOh?LX0^HBq>2M68GA^h=+T&Uo}{zs9C{Kxm7Y$|#LWL3{Q~wU z7SgZKOX(HRs@BkJ>38Uj^!xNydI!CW{tGmez4TY~Vfq+-oIXXLp?{#yWA*t9{To)G zO_-+4y-W+{L8dM9Fw>Fg%5;N9#xf#w8iR>odNF;O{>&hZ^5IM|Qvx|GVM>`YrrbMr zH#1w9N@gds+dGO6GDnyi<|K2PIm^^yEpQ3CH^m0A!E6W{%C=;0J{IF{ItJ&k70{5j zK-aHw_wbX#S@iNN=;t9~OZ0Qn%Xv{pPme)gPZAyI>!hd85{pEe6h&seJMNAI?nvN{ i1nx-Sjs)&V;En|DNZ^hH?nvN{1nx-Sjs$Kif&T;XmQ05L literal 0 HcmV?d00001 diff --git a/tools/bin/shaderc.exe b/tools/bin/shaderc.exe index 40acd5f11dff9befd976ecbb68bc664f48161347..3bf5fb8687aa13bfddec019b19a284872eb6fd07 100644 GIT binary patch delta 67775 zcmZsD34Be*`~I0ZAvavfO=RD9NhF9h#FCpx2og7m+#r%zg6mpKg4z;|?K(}-gK1Su zi&E8=Mte~-XzjHxvD0dM6cw!!wdDWIxk>2v_viEEo_Xh;clLMQd1uZkeJ`=}y~L%} zK_ACmGYED6ZVHq%B@Tjcu#q6_Z=zB!%Fd**a_0Fc?YBv*93#|Q9YwJ{!r1ygMv`Hcd?x)2t^(yfeL~$r{b^1%SAG^ zVqud-l-#e-HS;2Fv7U7z_CaKBLA#&w6@O2;yW=%7K=yU=C+}9oJEalY(@$Qk3nruF zFLVi>VLm8PWuQT+^tKZekNVJ-ibl?%gk;H4E*;6g@-P=)a#Eh-;zLHrt6bipZJWzc z&4-X2d13Pc*CLm?Y}1|>RM0QmC z8DOR4sQhVgi>8y1ZFyQvhLYeSR|SW9+@f}ZSuoA}C0WQ(*7*v8xv5m6kKlsVoK{&Ld+F=+8nSa&nxD}xe)R}#q!R*8xdK) z);*VYx>M1mM*s=X{U-9hGb;ABhqBo^p}4b@{JgBv)u7Z=OiyS_$UOOTeLwP>T%+$o zBW_o;PdqNtE)OecN;#!Lx8!BLeZ2Qv69p;B6{6->7C9J{FAzo`OIcrWu=jmJPF8I1 zb5kULR;)<(p=6G{&9IWJlzV5G$WD1%#@l3QMfc3MVt}t&3N6~oPCA5PV{9)a>dcKz z+6T#kL3vrRBzqCnHhMvXd6mU)eE%wtFn~cQq=DFA~9+qf~Se zPy~%xFiOXi1r-+uE+qaRy(EIc>?WO1mg7mPzT=2-*RIk=nk&y5976KswfNgv{$X%O zN?*#)2M3euazJhf*(E3Cb|qKG5kvHS-Q~6wO9I2F>4GBh!Tt_N7;UK8?r%;8y!YUNovvLq%VY$nh=7A~}0}ck-FM ze0&jUFFQ;a?{n}8FDO@Dm#zP8&7<yQ57uPTVP1 zX4%O_lXjBtS_$Y`HzcQNy$1XO>4+dGH=(`N?AIP4Q6{&=)+`zmu{Rq z_l-#Mmi+k}zG%n8Zv;BpDd0eC42`_GF`MEDG+teLtF}FAA@fYI2m6!+aVRHO*0m{L1sS zld2&>nxj*OJgcpZuPF+XaVuT+Y3`Y+Ty7-_?H;3u@dt~7ASa09f2vR2+RHG_O9J5BSq@2^rK z<@VDe?E}>3r*h%62>a^wM95N(%JQ^9WTK?-^NNp&TQ*;IO5g7=m246UxTt; zesku8uw=xbH7v=G(9!LAE1EKtHZ~$CO^j%tZL)UO2K$-2Fwc|@@{U=9e0^HfXXzZEcS7|2+ybV909W<1AKIN&sYHP(C3$08{8*6h1uUv|qr z1Ibq*jbzYBDR%q*urK@BKGUFV+|C=KA%i%Z)Yj683?+t3J5-!yCP+GzC+)3~jCOV6 zGL`YKCq1cj2S%$pMQ`nkx$GI$AbFL{I*!7A{O{N zFF1x4$<`T6hijlKGnK}2&VnH40i2o!>QYY4P|nGg1rc2(P%%|Qp-eLsM+C6==uEvi zi$Qs3MMD`}^VRCTt+E#-@IsWz_ZRp&A2?bkR9ZzWVVbTJb*YxJVcldJ(43EdldBen>U0f!j+`$@)-D>- z)Q%+x(g|~PhO$bYvZ#~Ga35q)!^PDWbuycb&`-M;MFk%G4a&U=7QhvApi%LBjj1DN zvX>iMT4J8HwS*9>Y_x15j&iNVzeA5}M1W?wYkw&D5jSdi;wxUSa`40|COJ!q+AJ7i zwWkaiiP~#&=Hf82LY}_3AL%XsxVW{~tmO&9>o~PCL8xAlAZ(VKNyQ<34yx_#X)w7y zO@?`V58ZNbDW4^t2Ss8wZzF4fXV>vXKhCEkOESAqM9l*!jvV>-#61uJl zMo~tlqR7R|s)&=E{_a35jvL<%hHZZI-DQNxL*%*GnOv7!!4LB4W|5iiy|&JfuV5)lOp~=QFG~? zQjBEYSic6>&}iAa6eUzvX;jfDGwiqLQd&(`CYPTiFaBT!=_UuR4kzw%uho&{ zp8Uq@bM%R}qSuEWg!+Fd5B(?$R`2$Y!eMn@`6!yJ|25O-i(&HIH9kZqf4C-wyel7D z^B0Wqy=xQ65Se_ehh38NaXah-r+qwz%#v??90MKT^vM!3L0;lmFKM8As7W&TP>7P(tqXSV zWsAb{3)97^E>)&{W!*r{q{9h9ZRnmFIevXdDt#pn{U%6WzJ3MyMUL7~h&|_$4UMN z8ZF4%_rL)nu*#X#J>KkVAz7AQ8s%oqD>>N;ANqg7pnD~!67lt#zm3_HrF4;8R}x9L4&$UKFaYiuw^gr21m# zD6Ap=wdyDC!^H3mlO zX@LPho#}$b^3fI^wf`Gw#fSLD zU0BBbdlxHZ2Lp{Tj+GZ5*`$5b!0l95vjf{+m$srI9uwvfG#i(eAeV0shCgHLb~hC6 z;P!#!PdVV59^@mr;G540#dE0K`rFQQIn=>7E#zh2c0<(3Z{3N9{M)zvoG;(2FQKE6 zD{QlzWDRTI^Mg7==$P_!mHOy~MalGbqZGkVp0+hZIa~N@UgYawoBVZ9UTyXCSX9rQ zrZx2gcSd>k)=ULT#u}NvLyaqPIFzjEiKx3?m`;VDA>0*V7+x4un)Y}^goFs`1Wddn zr4)uigE<|4Y+7GzjFho*;*JpQlM%cau6H{rFW#5m*bzha%4>F9CAZ{RJBN|4- zWBK&l6&`$I8XB?&wovP`{=QJyS<3D^^%d9gdSm(674COo7~ceL#SQ>cu_WB_fSZ$V zv#{MX%jegkY14ePR061mQGbzb!$? z08Rn0pBJIdBU22ME#}N)Xb4gL2+(BUk#nC!%1XdorAV&sPh^myTo& zb{X9TnBQCV6$AYuLWOa_7xMYoUz}VJ{%;E-yhMc#UNWk(}1R&_jXo> zvRx&)@=h3ZtG*MO*#_T%{rAWh604qT*hHc%)EDh zj3#a5m>*kU-e><9fURipj}yH%8P&4ib(hkrGfcB|V9!1b)jw2z@natOTFyN6b-jX+thG-9G@VuZGA1U4BwMTu($MWu@#eOYqtB#8KKz zlGBg*!@Ds4n3wYfgDrV6xAlz5lR}vtYXfun@G;5PL5*|83`u@2_4dp#o#TzC*5prl z;_-J#f&B8g2k9ld{}jRZ!#_pShw1Y8pL%<5OmEnvXe~%wja|pVUXcRd1^%?gb;3y1 zo8x1;t+wQCv?M$mC%Qr8YhN|doyBzv#`ZG}-Og25 z@%wyD(egC~N}a29-X@vKeYx~>OK9;er{5-_a_2L#E`OzRLE5s}&xPXt=B_!)GI`b+ ze=O!7oT=0jTO_x(K9xtG9T5I77n8ofFE%EbcE<7~S3~U?Dcx211LU%jK%ppzhmOm) z&U%sq^1o*{lJDeC&b4=2aFxRF%d(Wcjj~uOR2wWo zUl%K}Q?Vp#cpWq#VO`8p-j?T{_khFk{qq4h#@Km21S9s^`Cd`VPp=7>S0~`_CI4*% zE&xl;1rKQTQ5WJ#OZk%v2_;cTTJI`T4Y1A&ZOKGSF`Pj;ii1ryJZa6PC8c$;T~*o7 zVc-^HrTJYQCQTXp6@5hn1>@;xMXK>I6pQpI3RrG_1x_ z1E0&QyjH4WVD>&XM`O!YvEiaG3G92UzQ&G5bvNb>Be!nt2UoOwtIF5ese#GGETBL= zWXDTmVb{&L)Y9LcPwWz30oHaA28XXiB!itXtM-h!jZx_%AGovyKKn_RCy;dc#^s6b zj(T;RNc}yfH$o+&r_>k2>5^P{*%X0-N{ zX$OyMlPee8SizOXjp1HyM=_qp;e4mGlR-Gt=pO#^e+mkGvv+vmDQ>QrbXaI$Bpu-G z|?X&-iGgSNT#J%0tU0eXzAZm zxf6~tf?bZTbDrzeVD3HEz9;1*@STtm!+qE-fB4o)Z~1yY9EctK%C#s?#E&6v-@)tcI#vRY(>iCReuJNx$AN-X=qaMja zpNHXy();hB^pn34@Qi$vDH$JSW*DTD=LY52Uod&{G#CnH2VKj?*O20OFcV?#9pb+1 zzdO=9`EupIUb5q(NhDt`c{Cp9Q}-VQVjt)D&j(OuoBxTW7{%BA8HZDyK92*@C}SUY zMTM^Z<17F0I0K8C`;$P7@J>&9&{4UntYuHukgIZRO)}1=rq#5<$cV9L?P1f$Y$IGTQO3#$P)A2Ye$^AEw#LBb&O~jJ){lB-cdHncU z2zCKKKGUOX?4RerIxBb{PJWjcJP&|->C@*OsbEy|e)4=0EzU-HedKvB45Ugv{~{0^ zk6$EXRqgunH_}HAsm%_1^c%9yca^3l>?|6QE=U)Zui@u_StCsvuycrwvR3}EHk5oW z@2@q65BNX)F8_yLxU-@=3877YTQP#jWa^41B%XA!wj*RbWtAd%$L>U)Ah1k365eEO zH_R8$9Ha6bd&`crr^CCk9d=0jaUQ#7N5*?5hj1ldXgOo@B)Q@W~Rc0kM>EoXFXjIteJhQ`FbWu%SY zVjq97*i~5{FA4>R1ipG=Q-y>1yaT3E{K74h*Mco;Ov;)T!wHGPs&|zSdl$(rgi~rp*^YW(mN0wIOwvQ{}@%%j6~J; z4^nMoONzFvk{Xn7aHzGnQ;V&#tN{y~t08)?pLh<{?T&yW{vjm9aS6#h`ih2RyA{|< zr>1E7 ze!6o#f0AO~5zldU#cPxo9Yo;}xRKOom#N%lEw#j(6tNU7nL&PL`?Ms=E;bukKhTn+ zaTmPn8pEJg>C`A>+kXI#s^>%t#iC_SblDs`p;)72_=|!i1&fGAC~m4G`CA`0BUcHD zV<()5)VSBUy+NEG#bXx*=UdPjsS0m=mpxI=obc|lu-3x#EwbBb$fpM+% z!gJv5HhQ5=tX|jyObyTrL)+>FF;Fk80=D_+g{JNFLfHR+d0rw>4)faUp`gDhYR~#! zBB?$J2=)PDfR2D5;vZ4}$ip04v+I|LH;aoPz3r~Pgd=iZ1o?z?WcM$VST-<{45Q>Z zE4e}<$#nMF71GjW^E0g8ug>E0mG@b26q&%bMv+NuX%q?6WJ~wV5e6ljMYJT*_7T%n zLx{z8CE;vtOEQtZJ&pa}3oID{+|3h3gK?-TxA0FZ(ypY2hCb<@D{lo?Usu z6<6c+7`25|WGHLv z!=<+HQZ-xxhC&;mw4Pz8Ej+0{JjoUwS|1)~3mfXg18w1i`tSf-xJ`Yy{e86nf%W0u zws;*6v!K?bx!xDY5-^SqY)4%MKtY>b!LKW@9#{^{1B!q`U;xk)Xb*$}Kd|D~q|jkt zceSazcDMcvsl>O_40I1%wojx3O4Ap7(RpsVht|n5D89@&miWL=7ZXeTf`-2dMkjMb zj#Ony((0kNB2=miLk@sF@uvBZs? zjU@w}AD%^q>2?{4W-eAt<&$ZwYg>}x{$LVhSK~5=CdbkkS_F5qlq-|iy0&Dj+XP$O z6&~kr$+zQK4`w0lNUTEyqWJpa$ui*WWz*UbgZnoVRZ&;W5yl4gk0-Kg?T9B`IMMo~ z9SJA&`&lfY1M$~3Z>~16Sz}b%v(yfxGa1Zqtk^Fy2B+UpNUk_%2<8Xjuv;{ey`<^v zRn$p3syKqi&mbEA!)iK^R>a6!bR_HO*W=jnj-(}>KaM@^NbZCDdnXc1f1#{t9Pw?N zJ(d?O$9SkQSH6c*?D&sTFo8mGYGB>M=uOco0pr1yWQTLQ`ERm8NayVV8wxt#SL&se z(zQz5BQ@B}2!*;Njzp0pwkwVVlcDTd9EqU66K3C;1SA{Hkb_$i)v%SjjKgy>tZJnV ze@fG3p%8p|wWQlAX*|PhSCqkG)JnbVFc4;7a&ymX1REMh+=!OV?Myt8&#KNODlkr+ z`8e>+J8)b|37uc*G`}fiNsV(18ClBWGwgO}a-M{+U0p~AdVd0Y*oCBO-J983TAQVG zVkz;Yhy9b$YUgnU(wwb{CoSCF(GpT$969mDHz@+`ugg#fyBbddY3XS8GM;$4jY2Bh zNHI2yluXvLE6MN?)F>l75QpLVGz{q}n3jH@g#D}1k+H5Mrg_yEDwrnXY8u)(+LGU1 zIW)$4u`5|j=*%f>M0XMz?qlI4r9h(`8HG5lQ8``6zUWTw zkQByxkZf8#hW*)tv~nCe0tqlZYBF<_qERd=f$XM_O-xB3om%D%uPb!KtKpr>X*JS; z_c8b^0dR*~aN8+XD7|y zj_GSqJgqxY(EaqmHFmWZ@o_zK%@&QDfY`#c`zcr1cFo$fHjyLs2-~51d!P2KOPY=%aybaUXJ?{#3w*^(Bea zQouI!C2QNTk-TF3Z1ypRXa5>$1(z))+GQA&yNEL?#d*9i*y!Sp;FvsC+>aE{O-6R1 zANium(`=+pzgKqf9=qO;bYT0_h^upB-talqnU?uiAxe3Y%YIKo{}*R7hjfzfT#RP6 zMM=G?4a%roHa(sAQe}X3Wja|+{5KC$D}TohS4X99)Y2I3OzUT)3z^D0!@x!icHfqXxGJuRvMiz{3FAuGWn#URvp9GQ}QtD3}yRirt-d^&I76H&U0u1sYhv#HpQ-H zoQvlua~h&m@(VxAM4ZZkFe7$G_F%sW${9>yQQ6Fik;+ynZBw&kJj8N#FbbmEXyRj`k2!G?9XhH z>n!I&UiFjfK98}AJh`rfu)#*s(eqwEwT&OEqRbl06php)OS#aG!RZ-CSNCH-8%Z~k z#{zRmX!AIg`H<+0X_%8`nW<6SSxye=NpJOKALgL&hx#&W4hi(z(3eX+B=Y%s$5e|t zr~{pwEQ|YEALWpKw4{X*>k{zuNE_^O^uiM063}#@Ug!_Z05$>_fPg`IAp^Jqj2^5P zYJmBVL*IRL-mKp$WdumD(Hpf3@=#={BV4?s5*h8r*h zcneqwYz8WU3qa#xhzBx&F~Dp<20jG71Ud}Y3-1AH=C3{T@IHjE0PZ7f@!|NLHljo? ze2j;0fhwSNp%8Zpg%AO7z&IACIH32ET9Zn z3@iiQ1J(ea0$+II&vxKDU_WpKI0al}=W|I%-yjSqtXSn~uJG^VC~eX6s*b{QW7c8_ z>E?Hs59L=Jm(b<)9ABifxkE@G`HFoqgiO{gN(E<{#@r+W&SPa)6${NHX5!D5^D#!-4kVtZu*vx(ne<>g@<}AUyL)8;akp15A-&|!9q6Im)=mY8VrxZW z-?=ILX=RlO7@*fxRbi%z0_A=DxXqD%QV^g#0@XmDQ)-~O8feB!hmnC%r&S*tE<+!- zJ@5sY|AV2Pm4j>730Nmy+vO9=It?eX+pj?D-rWk0|Jl2n3$byZ!d8tS=B69=srlw8 ztM@UdLgLe`1cds1`xMrx5SCd#mS0FN#Z8A_@YNo@ikI*&ejhAZTfav)fOEp_a5^tIcGjV@4$w$t1hZQ#9C$_he3E zNq3CN^s%IxJYqe@k&Q53eji7ov_7ybxg~K-x%C(G8&AUNorl)s@$ds+v8$Xwd|Nrx zH&@XeY!r;;+0SwC7LS!p%5s(ZY9;OB-bRZ)kh|71q2HTKB=5IQMD~!1>Ul}%vzi3# z0G;+~GL*>r2rjG!!fGHa*Lr3mxk0oy&hu2dJIkM9xBA8uQfLjDOooWC3+5D)H%SL; zO)+UMl8sjFn`DQM{^@N!Xd%|zmHa@OvfACG z5xe&tmdn)z?2Yf>oH2Y(3apEFlV6?Unq7vUxbF}Pk#Y@iTSJ#*DVGZQRCSvFFRn{~ zhQp_kHo~2H!taG_<8iX6q}lS?+NFEm)C-<7pq_!*bFef3Pw{+Zre4T_#{L0_E!7Jj z0Zr#(iI|0@V>TQH;Hk%S(60m8Z|Q}Tz%s<=l)=dWgv`?m7T^JpJs;ahAbkN8@d60; zUZ@vJf!~0Bi{Rz}JS}=*4saXjvsf=|1>7a5cHn0q=WV@k9MG3zp#++}qZg(Cmw+Bi z^uh+fV<|EPo&n>R>4h6W#=Cmq0MJ23I-ps}awG&U0XgqR>jV(Xux0>0@9BlP z!0$lX`+A`Qh**V15D-7W!U$XkvR3Pb!$7wWQ3;^MM_6$I=QUV;foH&^wR+)KVDQIi zC7`6|Cs>Pspmlm-ArQG9<^b>ykh=k^DA3|ly-*JP4Gh|-7rqC=Ho=Sr9s)U^p_ze@ z&8RW(0LcCva)F>NkPB$PK5Dg+oC1Z{T?XqQBJ(>i};n`Wn#eKy84>!1$f$Iv{tKUN{4!eg~5R=(HPV z0}!?cEdw;)i~e7{S1*w7^}=-E0WhjkFI)o#?9&U!fY|+dVH4nZ0EQ3n9GLP01}X5) zk9wi)LA~%55Pb-y1(0}HFZ==wKB5=y0V9s;h08$3F?0{m<2cL@Am%6dFiP;p=Y(E( z7jQUGh`y^aPztz+n;Z% z1f28NW|%5(@Zd%s%&yHewYkZI@9|(Vu68A;v6d<}@*J5^a_1bsoS#<4^`S=jU?}&3 z-`U=zwzh6@&&bLtovjgYl}jk{H!7RAgMD$8(zXJ>O{$b8Kd48BO{x~<)f$y8-w{ER zTq|8y&cKzn7$mUdtg*4S{;ZCb%PVSzE3e9s&q_E=bJqb|-Oc>bj;A=djR>kl2wMC~ zQ2(E7f-bInO^~t3UU~c;E{--*mb~8}q5V5HR^RzJTC)9zMaE^%D6+-0ou>ZgE0+)2 z2=DIZnZmY$<6^4CMmw>GON?t$r53r9Q7O+xSHM`aEA4?d^KhmyWFRuotr^ngI3nY&oJNg<~y3ccA1j1dUeg4 zi5E!>+09}vl6LL`;kL<9XgQSox15pt1a2Q=GcFQ8`u-&L{zc;7snMaA{LPlql47B_ zEk;2X6cJZpagTEuPlCc4R7XUn^1%r;Ujxcr`jGv3k+j76?p;N?(fPgEpeiz`)zQu> zhbk*ZJ;l~YZ*eIZstAMf8TtU3aS`uSvzt}e@_m1b*L5fUBBCH)I)Il{q zm+nquiI>S{s!L;kUWPCI8k=(k4*3E7*k=5?Ea-!o@VY0snEiHzOd*U7z6#&^-`2%f zVdIju)>GH8?!psab)A$_*SD>MZ@|LUUGAx_{?hy{*hdk-;!oQTV0$0I5|dcw zKV%ts%5MKdmJ$;yeoWpa=dGG2WSt#}wQhMv@|%(0SW^f3J#n!fbD$sCld0Cx&U6zY zx0tRuy$5UPMRTerA6a|2Qn_iTW8P{RA2%jN%}lGE`wPm>dWsz=OF3m@Jw*e`JWg4` z90F-X$+-H6KtxR95rgX~37`~mO7D6~DJTOurK64Vq_Kc)D~JY83~C_abw3b$bE39^ zhyj=nY8AdzQFnWL zB$Cp7SwRr>=;4{6gtd7ICA9s|WSmxca(UW<-24OJsJjVJ!zJ%SjFcY8Nf^JlAMl7% zKWBdj(I5}Y|3<2p2d1!=!PJWkV#&d@Ee-c%{X(d3OO2X^oh^%q3|qc`d+>ZUD$y8` zX;QfG>#Q=Ey80Y>6?Z8mqU@gLns2D-CTIAHJqV^jF6FNnOx2t|iv@?!2&neHA=Hm{ z@L=W;Dv?d>aR@b#9M&t8hS6AeHX)RzwfWgi&6!__kmiIIh1>2#99OA!xM#=xzB=h- z?HSvJhzfQ$lqQjhtaTW5Yc=RKHV=t{t?u4Lf-OS5Q{idybU~qF+}PwW`X>3B-3y~F z;id5mr~YI#>l99d0+U_Ue#}2$isQT;8-i_ku!Spo7)iZ#O&iFeocx@95>7{ZEN{+x z#uGP5@UEL33VM&X!5kLYg8Go*tZNIJ=VAB%<@u9sZ9!AXdiF18UBuiYXe#aQ!iGgq zSLXpAn6tQxV%_Qo|&Sla*#E}JL(aGco_HGspZnmKyQTQC#23W28vZ#fS{nozOR71#TY=Du* zlkse+k+!hEIV=%�~3SBYm6tCyYwu2VJ4~!7WiKLxUHt%!I#kWhTl7W*S68$XvE{ z5Dm05i%K4U3MO6H*+EqA<&H!nM;dC;SCksW(Vh*#6P98`-ncM6*c?W;D^M zwE8|fVWM5hWY%;H4I)cf%ov)2`BpRrDotP?j-lh|-1I;FW=x>nWA;r;6n+Gb180GM z0AYHf;0X8vquxvuCIYho3;T5feL{7=v+EOSoc1@k9r*DAzaA`SPHM^0CeZ*=%EnKk zu?ej@qUv~W)7Nk)MGKcTj+uOwH{0=M)}iX2{D$me^$6{R()Kk${2l2NO5kJb^-1&( zLYA{5lW911+rBFvE^Y+ezR{y=uVh!&6<)}fg8hLdnkG1WVbZ>1VYC{j~?OOKr>Mz*eO=TvBc zUhKE2m>ZC>Z3i92qBIS!nBwYnrgEAMnTExnoUNS(;V~V*H?f(tzxUKw7`wO_jdvvCeESRhwZC;B zWhwVp&Z3Fr4{Opax{_d_y*!)#$lGBK^&r2p9dqynjzz3>2_54cEF}uvfPrQc*QmPCVRJ(COQwiN`!0Kk8CSHUNEm> zzn0R^o3*RlZ>LUmbu(8!7gOjD>o0Smah${}w)cG17vo*mvEF60t>ga7uMy9(MP>9} z<4sjWu=Hfki>Z%w#XP#-j{L*4i)j>l%Ys4hC;Q4mhY-R^c{J$)8@rg!CtcaY#dJ9R z>@xdYqS0)wgwa`M-7L{d6g@oe9a=ygs%&x2OK1cQIL+dh(0p>1ty)3{(a1BlxS*v- zcb4^83j1^fYqE@X#L}Z*M*B4)Ypn0Aq~Z1K_aEw0&BopdW_@)JUd!Mr zD_KV)9qqn*jkbY(yN-st&w1;0S#=*68Dsrx9d#z;j@51h?cc;YK>+j!koQFDLSScPu(Y$(J0Z-(rhgCxx%e=*nf>X1mTq z#zyu8GPn_Ufrhw_{14wvo_!|kcY(%HuR^xq0&PQoAHizQV{JRa&R?KGt{X?ZE_etR zyqq<;2xUDUn`9bD`;A~(7hy|cV1IOxMwOf&&YN9lQ2N4+uU^Jc_H&ZD#Yn`Y*X6)+ z=9hGo&7iBcqi3U{WZQ-#QPU9nc6}`FDmSy;RaRr~HZzs-VvMuJ+e8)A2O4p~s8SVe z5glbC;`#z+k|`S3ZWIrYxbcbieo+*=hRkZ&nkwqy`1>%mM5YMNdzt-EMa|s)zeGd) z`XUOKxcA-Bq~HyC=&tyOlP}paZ!?TdyhPop=PEc74cPj>|wVqQxDw+9-a0a zg;&2gl*KexXq3lTPMxjchK_Rm2^zkTcWpLHy+Ws9*T3%ymWTuF$`zUk{n6?wHcDOc z)uDd3xzo1;I(cTAp5H>1!}8gTs~Fc$*@mk$8OFoitEdRJz1L_P9E5baMnh;q9xJ#; z-Mk|6kfnQFJ4z?escNgaTAs>_@TBNtcUd6W@b1vS-v zb``S8M=P&WZ&Jp5uEW^sHG~bkPJL|ja(1oG7{Bzmd8^}<|WovF=#k#@1zk%xS zW7qi4I`)kJ%x7LVX*b$yFdKN27j7_{dXoma+7JFenLJ{fZ^9tJFu18&36ZzxS@JP^ zaSMI1ka_$}{k+G(ft7?QQFcfhpRb#IT$=sdq*lzp(toBtwEaLf_GjAGT>u}-D;<dg#62fJ%o2;2V3`$ei7n3zP2{Eer66+j$F`KgH zO~gQU)uH03AK)TyDB33OPU&8_A+Kx zqq3K6=Oh?Sy<^b?KgaNRjq(foK`Vwje4_?km2YuECeCqgWs5})2VjpY5rbK2Gcl*b z!DyaH3vw7hhjCTQ>L<5 zo#^eK*^uyed~?IL3U#;9lpZ;3j82Rh%uQ0Mmn)QxK}x{gG^~{EQHN^P(DYOu8euq1 zbCpW8I4a%svHI;QtefGctGuR1RW4q#f`$yfwb2wStL8;os0KC4A{O8*c1})4P=YOQ z(BX*NAnA2@gTQDi?Eqm>DyOf~5?Pkb!3V#*rS$evhAz`+O5pKL)OfAZ)W|+`7QOs_ z$2N)23v3rp*4OT=ji#JqXPw3GoSoF51}y9GWe>$6o2_vXyY%{@1y9Kb!5~iFI{;-; zE4X;g|5R|5%E|L+4NhANF0j#*h1S64;yS#UFhz7{PhG|KWC?5KCWZy1epn~PX}-*@ z{47riCkXvRrPQ7{CO^g|yNSUhf~{~97wG2ts<-@tur=oIG!17h-Njg{V=UiYY#aW3 z6*g6PD=sAg#l?%P=aeQ)opg)yl#D~k=Sn-GU3#%^-Nikzkv@pw->>N-*_#6m%1#_u zV0xgl@an^1Wkwc{#%oSjBqtOkOL@xHdx$ZlFFWHQhIuD9aN||P8Y#mSTUm8uGK)ET ziqWJ$>+UIzruJRgMo+O1ZTbQG+f)1yR@pKyG0A(8gleX1%3Uqu8SxBmc5=5mE{C=0 z!T$6@W&1H_Z}EkD_u$&vQuM4;<+P&G>D$8@c&}W+M#@Kg!)YT5fX!q%?nmO|J9pT6 zAF(x6TCnpzV!Lo_izML?@Dp$rxCGQ~{>$#UV)Ku$Zzu(KdSW$yX-H9VPhU3>V0z2TWB#$k|+P(6So_r z1WXK1gK~=v2@w5BBAXc?W|LX$bbuJ_9Od7qOQGilvU9FXNoryZ!O;B3$hZ2ofcdY5hD%3?bwMI~k1b_g%nf zh-k(+|M(CwkkqnwLc}uClDUM6EmE^`(2>d2(kV+)oRoGiGt1Jqt8#rV7wW34gxw|e z?P)saf|t5FJM!=H6or(h-7L?(YDv2)9mUI8mf1Hg*|!z#eD+qTxVrhxB$(gYJs77# zh7memQSPzWFf`5gEI&+447mf3HD(z;W97rg-=2lYASr>5MU20yE*O7*umfRYa@eDC zbqr)E650jLm~XqK!mp{oK_jKwVb?i{#e|E#zH%wfQ$lekU=D9Ve(=L@#`fxp*)fof z3>UY-YwFQLJVti0Us{Og_)arI^lhr)>^1x?y?k~fLJTE$m|dh;Oq(xaGb7PX!`SLb z(JRSXhLeYsz(b97UHc2=z3t3ei{=pA?wCpm8s!9574;kmKHqTDDcl@2Rr2ejg0co( zXcjEJ?3DAYCQ>}$5HyP)`xr17e~1#dlSkG!TZ+y2m5GJXVhhK2rm5XOsY4RFe;C^x zEe648xE?J|XkChgwu1gPRqbp{!sgJh#;go;B<5mi6dKX?9R*ZoKbsjNdc$A6GDd9W zGhI!=KltG)H5-6cCCiv$ZiYloQS3&H=nk*l;~24Ru&a#^lDkR+K2*dDTzxEQtqP9j z?{xjm`m_@LIwrSzJ+DK>YTqCgra9b=x(s8cISMKBBVT7*%RX!+dM0=J5An^0wCY=y zZaq;r%wSieswbL)7uux~PV~c4Vn4G`drEyN@)!1RE40j9=G$8APF?1(A+1Fp-1eB> z8uRWX`>3_(Pjxfc-qvEr=tW(VxHEJ*eqbaf*kROW)}G2LPrIt5!C#0{<2zx`Gc2>O zDzjN&8?ig-&I;Oy5&mv7c(w3xMw?N0V5t*C+=x#SI^wsbbweAG5bQfQ#)=uF+2U?V z_-<2@uo~FF8nqKwkTdLqc4DyWgEw(>nq0$A#kh7+|H*TsT%F=@(Q3BF0>zl>nxjOr z+wCwxpw!x9)Qx3r+lyHdR_ycURXWY%Z{L>fvs0}8@VBPb;QK>-=t;$o4(dHgjuObe zXfJjnF6?f5aUwR+xg8*4ADh)dT+<}h4@rt~NqrLw>nM(f$|~;&tuTvi>nQGk1#j*o z`t=(LHP72Q3%9qV#$3_M;~>9^tNJTNc_6_LS_+a)_dBX@uPzOTOEUR6f7$mrp9tW> zci0BAvz^4Hkw?bXGkZzRc&C~vKI3+;JMZ1Y%2;n(e(-2A$IhZZ+Z-o0=`bB>>aNZe z8KuTqJk!DkIXGcP%Azm~Dcg#pX4jM5i4)BuFPZ;;+11o#H`B|OT@GJF)arc({{PKt zMS~1mRvSY9n^iH}(HT1b1#8mkB^45x@Momzq|7t2(LH#v7rApI{)epV=KFg zFW}@{-c2+(FHB7mjsoSta^M^5Ki$yN%}WYZNq9XQLq3U@bUdr0J;lk`t{?3ww#G%~e|utyv@fu> zNEVM$xA-A-^5XwSuiAW{Ev$`uizd>1@8H+U)Rlh=VGEm^DtbqLoc#i0OLNz!UFF?R z;OB&Q7l-vWTEolbxE?iz{g5h-a-on@-<|Ebn1`%uAJMDD?*lOSYwqf}bNHlk$ri%5 zh{|T)#ubSBq^O4(LbkD4eb9dG*o?m795mz8zG4FTn|0|YdN)3dnSqZ0K3EHLY*Ifg zziq7_^b>m!&$kND3Rq-p4o=S={UPu>?%aFeuHk*}e?XPjh<|*K_6D*>4$`{h`c06F2^Ev3{9ikmJNgukF98 z+00Ba5-!#anPRY`+v`y)+4)SIYYjQebXj5wLC0o^f!-tS_!}$83vKurUdC?N$z5j4 zvP3<3kDbjzs{Av|aRBtseKu!+*v2_s$L|Mf8ko1R?+1u&4e|Z!M^kIb7%278@vkJA z8)0gnrpShWT+kEtMnkgH)Ae;mC-T^T|9vgC1rMM_t(5@U%txz19oa4jOEtsV-+Qm-3Q? zqWmPGIR@4V{6-eQJ_dFSO%gVZND`t8lW?^=Ntih-Nf^c+4i=OA{zVc3Rt?|;xC4Gb zDA1B+&)V%Jkkyo_xw+DTW2RH824d>_`?d91Hp< zEPJ?Eh!=8p4HwrEhsii4LF{*hq8IjU=L^Nv#D`5DDH^HkVRm$+m<&r@ zH%c5s9`{F8$TH|qudu0nN%e9W)sJvXWOtBW5sadz<+#M!Z^`| zY-U;G#5erjOTdSoghP!_>7g@Id~xrjt7;NkQUaBJ?AAD>3S*k_VxsHU;Kc3V#d$TE zhmx;yex)_bA1}tyfzQ}`0I(3?e7JI-ZOhi!~ zy0aA%(VT18m5JhyZ0jU3i>-S@OvQQs{Wrusnt6`(n=FQVH|bz&+2L*LTNV=qGi35T z_V#3Pfa`M{UfGu7rdfRR8x7-(U78`bU_MhshY+PpU9}SHs@17eL$y|`N!4#vc(U4Y zqJ|d7vN2P{8T4rzTYH{SfBjfwk?2N0YJ+1)F_ngN;SIWvE`^HVjXp;G^-)`sHtEdP z7mEvA--`QBBO!OC*4lk422SSr*1W`c4=J>?n_eBY9;T`!Fno9b;{z|8H9@S>+6)0n zp?oE`i>a@oy1jRM@Um`8!Q(M%Z?mV_3hjETefqaH~?jGoDZ4U=gk+r+L?ZNsT%NgQlQ^(zZ7z+xg6~`4RY4z*2{Uq z4$T*XsB0zrV?Olpw@kA@Y)9T=T^ERb$v14#0@2v?Mui}lHgOT>*_{Pq0O$@2VHeD1 zhJ|8`_Qs%kVI3=&Wg#lQjqP42CZR1BVP~zAlY|U@(Nw`Ju8XippJ%2;;*YqB*UBRL zxz7z$$Dos z%)l)b6ew^U(_9Xw87`&f5|%pT3Sy$UQJGt8^e4(9jBTwzb_TOu+CrISD}@L)0|I*creV%KE*cG!-J|n6%Mui zwAst3wVbM70Dw7O2mRn`z2h1lbuOJ>2HMR;b<2c^#wSVsQfo2{V&FhOTY;&xE45iE zWVsx5c`c6qmN=^D=t?0LL)K}P@W2&`K&`0A4@{UkXL)rjMttfSHEg=NhP*7Ew{Vj(HA!E>!q z_)=&pI4#NJ^~<@i-o5Gr&ZagSh0x|b8@zt)S?|>@&zQDRn6Ff((Bn-Q(*@LVGg=~# zk~RwoDz{wvZnF?*@35Iiio0vonME$pJYGqEZ59eut#fGGSLkK$)4yM##Dx_4HRh33 zH0o<1Tcz1ZH@_CTg9P)~0_x`@TC_#zrRunWO11!srrsiK0HKt>Rd7>v&Zom$1s~Pa zIJ&tNoX6W_vki?FCi^PaP~tWO*-tCBVf5T1@f+muD0Tb>{H&PuH2Q0y6aD^;&<}L7 z=XUTA7g5*km`WzmlI_A7q(5?p;OQ^{7q%&_l-AHrj~F}@{dFVhcYuHBb(jwCK$2h6 z-5o+Ilv_sa6wWH4rnyV-RSj7}!*&TRRKZJV+Ad6$j!Q_tOX%W!S#PdnvzV!DtXVb( z4ZB@}sN#aG0xSf92k4#M80WW1zgw8>Jv$Yxh5%@su$r`r&|ayIDJi-NhzPa(E9m zWlyPc4@&(#_1ufqXb#QZ3t^Ja3Oct}7~gp3chFGL*GQp%QP@5-vyNu%6BakVvYUge zr6~`ni4g-}A&oH#v)iZvuHXCzzIJSU9!?_RXs!}^|2L@?K|EdG!%Z}j6MoTI_0O_R zX?Mozn+%g?Vz(0~y`Xmsh3|3B>F4`OMN$d5{2;j5Zj>bl5YlmZGZoKPIi=ggEq2Me z1cjR@wfuO1L95gsjn5rXYnZNFtd7V!nf5&3IG+Ud^X+h(++wTf?qK@yM_aN@Gn?Wj zNgsfQb}vb*#uVnvj~C*I|IZ8MY630U6y#RbPYq8K;Iy8}{91v0GB95McA7e)ry{i< zk5H#z7=-7C4Mnk%p%EcdqiLPYV17P4UK-E<_L9Nz(xE-LY=pB*5KY=4Ua}J0n}gqo zF)O?}Ii@4)|1*JV5L@O1I=q^|#Rf3m)j@V}^x?k=)N|b|>x1U7l~&TpoKBoGOU1=8 zLzL0Oq<9XYX8VN}&AQcl@>^wO&oaZCPN7yP7Ic)V(RcY# zfm*|0I|#sV_l9KqYOoP@v2l_weRf!Aqq;Gf_8%79-#&n%)~{&8;}Rr>ICyRnzD0dn19>`qQ6zX-*#$q1mrS&&Sm@{Ee_NI>#7nzY^Z3{pP9D&=MZ!?W zA8*NC2FHC|swDgpEA?JY4#mPK)rea(y;yLxIkW0znAJyxA@;X#T7rO%!Yy&q1R8r( z=-=dm5e4S=k=)%!-yId&+2x@qIPSg-pH!TH38Q;Qg(q%1rU0!brDJ^V{2J*??kG>` z9?!MmKAS?dCD@p(qCUrjE~?1K#<|D9p;i4|K{tN{X%bHDjziMhm^K|3+BEn43PHJ! zn_XtQi`@*3ekhXePuGqMACO&dC8MlT!44g8RjJTA!10<=0m|}Y5OB~;cNG53G}X-% zr59JZpwuO-^utzMktqR--&VR^D!i*YzKQ0X#71rU3Bk)hbB>qY45sgGQ(}Oz4E=|t zR=Nv#4`KoQY@p$!mA?FxD$9gc0Uv!TSD1O4s#mIu*Z(&_?5A|$Bq|DinF~+`M1!-b zE}v3zso=HxClCx3nTKVj+0rWyFC-d;*y{DhV9DJf40-frh16GEHjF2JQ- zF*#$xGZ%E`QN?@3NSBr=(Ltd)0IUkJyEloq%xhty;Q_vIUO6WUd)>j8|)B z5Wwb|ao5K?#`2nZ`VaY?6o#rg<@2iPO8KV*r@%FTn1e4u@Pt=tb|K*A@S!-jiIH*^ z+K|^zf%s9=->1M8Yekbz3tpX{;bbqK2Y~l|*yMY1M<2CO@aDk+brF%^ppV=_9`!9W zoPIbhj8QFIPwUTOpVaw`kWMR32>twHG5OW2ch0vlw{S#xeLg(v%Te`=;?82b8%STA z#e#R7em{!_Pn0P797vKh$~y;YbSeFHPDpFXTR6p(+uO0Uw~Gcv)aLYN=yX~PtOaF4 zn|A+C|07t%O07~6+|muG?vl_mJ=v@~z-P+F@o~~z;!THpfGl%XFiwL@Hu-3YRW;Bt z($~g9>?#Gk3}mOz<{sKOXxLhU>PwHao(imcmgP=wcmj-oqgtH$$D(WaN`jM%Y`{Ua zIwReW!*zoTeI3(%v1w0J>k2VCbJJ?11-Nxho`+t%i)XR;b@&itaO$<2hbC(|Z{2u( zoz&_sqCPI*99fN_vmld;0q2H6GJF{_7+yi8QPudxwygr2B-DXEs^W+p0HO1rd?*;A zDzKhvam&<*p(C*mt4~soBr%SGgMJ%Tp_Ptf?nLCKsM`NVi{((0{Q(xzvAV5%t~{P- z$#|3;i+ar4E0!K|4&-bbuCT7uxy7RmaSTKeHxw~IVQte)9hb`?oB^e z$XxKTV+xe~)LGeQjzRqDRkbX@UwG6D>s+j~8Z2m#0uZNJq`-KwB1O5dI1#?m99nrE z4D%OMbRH7H>vS0(_aD(CQcQ*+!wvn0$60!IZjz%mCy7bh$niHJ%;t<`G|GFI?PmmU zaXOUD$5N;3D#y5pxDRssX; zg5YI~-XY;FIGH?SE6xpbrpdnvZZX~dS4OhsLdF?J+=~7G$;iJb+3Oi`operK;{KbF zUJI$w1+bo67E;g!A((=H$NuF7eek=`H>MjJ5*n!iV;ID~7(l~{|5YUz9P{wZ7f4TO z8aS5^f&aYk%;2Laa07;8zg%i*e*+JLK zh4!`!9;3sQx+NHJk|35`FA8s|PA;IK7qL(Hmp;1)&47Ls`G?R|W&en(&p{fw_77pP z>XXaV_7b!@f*#VCOG1!CT{U8vABfJ*+sFl-pYq|aG}47jLPz@TSE0F63~!k1TFe77 zHLAs6TX1#tdBNXN&KyKKW2CkNFnG+Yv7J{1|8`IRLI+am5}|;{Wgi?7oVlZh#QF&? zpajplos;VBuf8TY$4%-~i{8(km5+5T8WSNal$hyTGj(f|u#l5qiWH_xMP^X7d+yiA zIJ+UnQu(2{&*8&w;-YrfgtqQs$cJID-!NWF8q{p&d|$q-f@qY!nM?0o6Pl}X?$O8B z&>5~jpqy;m`}b(W zb)maz_dU9DU1;5VF~3F?!tud4f;vpv0nrXF4&$|KspBWJeQs}NPAw%sH;=c-Iq6&# z>K)6Z+<5fO4Uj5(@6yE^;4XBbgqz^efWvqb!j4Pia7#$F{TMU3JiFtb@_%T>En%vv zskHhwI0$pe=eE$==@w>|%wul6QlORt^$E4K`!0>X4ehbD^x18}r)2`xF++51Zd7^I zrk7~tQm?yo?zS+|Vaipm2{E59A_#6HHF`o(cZ60BA@y*60vVdXzdc5}&a~`~(8ONZ z;KwUoD{Y`12%;`PAwdOir3-g3q{iMQ&0UCnR??Kaf{$awVpP`aTa?k1e^*!o30HSX zc+0*Fp#x40GYognij}^HP9x2igm7>Q_Dhg0gIOsF2VW+!t5O)Ft|z<6@lQyh zg>K5x#-cwV233uEL^rCSBQoz1wYn$hY!_9as!H7AcrTA9x+hF*Y!48p*9P1-iuVPk zgkEmr2f}dGd-o{$0pxQ>Xz2s+aPFL-{(pftx`tN%C9DL!?OzSza8D`CtrnJpjcD@_ zROW@_l=u)lhMy?&A-02E=-ERdMpgMEMLhz;>k`d)1pZ7u?R*4=R|cH{&@m28BM*Vv zOvw$pQZ-WVyJY)V@KSl+rH+qSpjCsp z$cigq=`Yf+Pla$>TiL^fgJOR%x;+!}l;HL4tr4_f$yz-Z_CaQH=sEhI<9TZLk1)1b zCXU$gn1<=2E+eK2Y2&Z7?jIq-Hc0kBOchf0S*rX;@Kde5WNh}YASqS7uNz;~qW3Cy zkXN11K7DfnCs;5rnjgYch@1B;?%b#XNic&lEFf$^A0CvErZpffk*=CSi4CA*(kU}2 zq5*V5Dg+3(=0%-&cFona@U8*__gT4XQENI~Cv>;%X2v|#Y@Ati0Zi^FZlIUznkmQuD|4^k#^q)L38hrP*eX zrPKgrNt4VVOQ`|MkYWMi>TntSDz$}o%%!G|B8#vy7rDu!g=aZbdO+zSt5qeArTJE@ zqbf3yc3H6jDw{-lZp9|6Z1>SPYc^IjY7ZT?X5U~ezN==j%AHiCX490_#`cZaQf1?Y z`hi+_W46ow`O#OZr%c*^#F*6tL#+9hA9=4|qF3vOaRCP&C4k0m8LhQp`O2Ru+?Msj z3D+!J_8!iqKDK4qD&KuHw<(KMJt(E3rtD{x>j_$+VTY~fB@P9TB7_p{7?%z&wqxI^ zg1)1k_UtPk?O1dyoxyNyFO+5u$-iHmfL)rtO;-Hsq?5?XfsM5e1frzcMbjKuYb)7t zfyjZqWu@jG>*<^WYm+Y9XYAx1o>iVkjWy8P<`ks(tteA@?iZ(#1XN}nboa&}bc7|u z=jIR-we6AxGv%Klkz`h!uXsPcgS9@&3lgMVXlcoF`(9q=<} zvot#&kphMT4HtKrHPWC%%*)S_8cH*G3wb*-7nM*zVUEmIIg=6`SzP+&hKQuL2(8O& zaOY%SMZ}Ulp!&VHV8w0!Pw>gfzQ*ALP6Inj#^z8dw-oNwm+m>-o&3^0g}Y;3x|6s& zJpCnL00;QJbcb@c<4d8|ANe7F;iXFo=c z71G*7MLOT{qHXY)D}1WP>#{h4w1{t}EFROj#{iv9_L%afN02UA_RzlK5yL|`>-x(c zT^l?Cb)5mR0f{n$SwSH}hd&XE1Qsu&MxE888y0UG-6EvNa%^bcKMXTe35hXJ_5Z_PvS=xHX5H#U9VDlB+Itl1%zx-;6uqzLNT+>Cq4EJmYl>3}@elH=n z0Wrs-)D_*N*3PW0j~l!jI%+fI9xWmk+5oCG7;<>;!l7Gd=7z~<2|h87oA?DJyEbyo zr*g?kcI9(dZZ;p@(lKtAmYN}a_)0fq$UHNIcVA zwdm_hPYDaVDi?_-2_=Dq2LRXm6u z8^<Aou%Zj_=NHJ58Xp#3DPyxhQ8bohn+z_CADDl8nw;mkT~3_akT}@R+qg!6#MkP z`)O)R=BqqJ%UZHFPNxBklQO(4b5&{tHa#ckR7>XOSO_n3FBw+VF)s6XWW27B{%y(J zn{MVltN37ym2!TdHm)pO`6o?qWt{_gpkb2c2e~6=9(N0SmbSHWC8j=I(MX>B--XCi zHg5=B0hPG2z!rIc50i|5o1@g}WW=uvN$tkks@%V)PHrsHXSj^k325Mo@Q5F$ktIN& z9H4n2<+(9$HIotV8>!fhb?|%f1rNX#a+>O%ByqvncDdEmhHRdHU7idhBRRXX4l3*K zsGmCY6n zu1l3utid3IIooKMbdffDv35A0cFv1=G?6y~+2;|>GOF=naps*t1Y1UN-pmhKn&-{7 z;uwGHR%~jg%NUNjB3?8@1@G%N-^<+v*27qK6$f}^xnJ|tZ6xwBtUnGYM}a~V3XCOn?tkH~a`a4i>8oes3e$=lmnxjWsQ?%E9^@ZMNqp~nvLwvb%TudJQ#~%JJU<)MgpID6=ejR4 zhrK)wy`*LKNCvx1Nb8%zq~MPblIIbUFK*3^x`mp(+b}zo z=UkfIh7YuNj9c5Vj>@)ne<1QDd{LQnizg5kqDADhS|RTFa~k5#qPn)sxltbQO5ih_ zJp7nHHk`hlzjfTVVfmyBo)F1>4# z&Bb}YX7LqMkwsztEYK>5XQP(h^=E!9-!ccyJYlM`LD+~?o7@Fp`P~Ay{ab%FPW?0! z`NCc9u7*WD?Qf(_N+X~wTLV1gSmm$*77*Z(1yXL-1)a~k^$GeoS?1k*dFI$ zfR@172}vcDppIvA+^6(m01Ja|!M6b{0@9Z10Oq1xO^pIsrVu;*5VJm3s^)&=v_R`Tk~daJ&gNe`n~JpIs>IY7_xbXQdM zY+U0oZGVb$7v)bv(c?9jKS2s2w^e!Lpx$|q|Bs)Iba-%B3N;O&Q zQ3y+)9}tgw`X9;S1HN8~xub7Yg+N40#od^9lOhC17@*vt``uU!I3C?YSzndQJCq)Z zEMK8Dp-ktSIzz6)RL{)1ikWBd;yrgu%dJsk@)JD4MbK7i-JNx`uHkvp#L?T`nKzCG z&hO3wdOzT8s;}YP+IT*THGYU~ONmzM1_}~GTlxpwR=5+SacD+J3+jh=Bb0)VkRPeC zJL{}@9%Ie~-W*G5A$e0^7(1U{xbUw?#ioe%{GG8#{OayR!qy))H`x{g+X&gFh3)Wd zAP*CMYYMop9XV+dN6v^ujl!$Qv`Nk&=5bC%Y`{EKN?~6;YU8Q=N3Fl-+{` zHQqk~fe+3`v+Js zY;Z{;g!m?>Wzkwia1ka6+#_}gQCz^9gxD|8=RGmTqv_|K%yCF3aHNy;)wyYx`RtKa zk@aGXe2As@1~F(#4kOBQ(t2W$>NS%6x@rA z@n+)?CvVu=7hDgsZ{~a)+2^ZBRWdIjX29=yvDo2_cu)+vkytX~r5C8pcxm=%{@Xu~ z|6Z0M$G+lr1?mvjV8X6*i-}Z7Z};Op!*>&})iHc(>&8pyFqje}F!}~idIY!_iSP1J zlt}8{%r5d<#LQ_rocjt*yOrh>CryJGnD;^`RG8B6zQkdz-2I>k@j%ubaC@`g#nPzW zY?xy>@{J|csxZh$tAGZJx&#NfihHxJR*5_lQ>m^u^NIX=l$@Tvv}#gmXW*ml1Hb z>rNkLQhQ^b!@@9}?)POr%D2frl5Mk^%~Re+MUkvWlb=8oprjasUz0kDEpqQs52&)z zN7!Umc=46PMwiFK9HlK$m|Sp4brkbbIqP_h>F|8d$Y|!(^5LgQ3L~<N9=eKgLluW{l>%tdV-T=l;Xk>P z$7mDG&+yqM@IPrGc@AJs-F(bGFX1DH%ZckwBa(*jFLub`Ut)EpX#-f>sC6<@A%w{~ zkx%+k(3{cy386B|V)%k1=`n51;!zbfL5qgZjN*XFR6c;)EqLdArm2Q zW@1_#6~{2g=%#OaM45x?mb_X9Nlt*z;+7ilG-H|e?m^bDA^UV7bH??XTL!Z9X7Ss2 zZum7?7Gzy46%1mI4vpW8r8kWo#Ckeh+xkX;hxF|r=H#&A8xDUZ)t~6XAQs^8(VO@N zGk(W6@h9VS74vrReiJ`f#_#!?oY7a}w;3kaBc3fmsSJ^ckF*UHxb02c3Mz_WPU(x@ zg#UoCjYiYWd$s;Xy@|ELjAf2KrLk7>0!EVlY`}?OW|&rL${~iVDBcbEYA)IFRp8Zn z9iml`_W;%`y;?5dD+Ot5$wcz2nfU2VETtLCw08$@#O3hDep~MLS}7AQLzYm0ahMc# zJjo26*%z-9!{di3=&;DDIi#Uw{ZLtog#l%M+4A|ThcNeM-QP_3gQ4U#fH{UXd(&ee z)*)Vb8Og5~!Z({v!!Eyk_WiFSl0IQrjJt-h ze+8At0NOr+4OCt?J{`esDE)WjgHEwhkC*jTN=lX7R%yQh70nlSS$T z86XlT(~%jhbsz5K^Ydb>9P7;EN*-OQl1G>{#J^o|^xzH~p&eCBgD1IvgIa01siI>HMW z9C?{9?EPV;)6XNZn%L>6Zz>i99le{%I{5+vIXVXa(=g{@F2me{xd-zE##%>5Q`vxK za>8Et^@HgK6QiTEZ)06rPF+W_04Oa_7=^t;GOZcKJfK5fIEwwO98QZzvmkpP)Nz&K zv1UP}FPp6KbMm6?$;_XgjAnfxBIr7X1^L^daUW?CPfXTai1B4tfLL-x)B;#CS##7q z2o|f!n&Iwt<7wF#(D%>j@)#DD{uR0b8vTl+ue5P9cHFkSCh*LfVYn~e!U80A?Zt54 zRPE%2;lAmrRI7{aUDAdsE}GU}t5`qR9ot!c#6y!k519KM5Y}K@0s5hG4&0a8x8$fN zFa9kf*Ic=H(NuK?yfzfY72*nwBJB~a9?RVA+rAzer@xPlWqongp*op``Bie?#vKuB z5hiuB?ItEHSxF$XM>wbog(j=n4$_Zi9oyXi&Z{*w9R){?p<4W)FZ5wq=gFD{MW_fd zpN=K7Se3ArT*k4Efyr|9je52EE?x_llue~)|Ia` z<{JDCt@L^gjt0bBgE9I@Uz=BJk$R11p7!&AV6d%5o$YUl>Z_bX?~jMr=LBsS&-@+i zUiXz6ZKTWNSufR3JLt+7)*Y&Di4&N&lNybvKcVFCT9y!SnL#p3-4>j^w>UE$OJ`L~IlTC}AS&?xX~3 z04qh(m2v7Tc&aQFZ#`s%(AN{$1pA+{LAzK{`4c`@$}dWl#e{>m%T)u6a^}3#wHd2AJuT3| zJPulC&I8jd&7tUo%X~a9MtwWg;redjh0jJfm`DiYc7?-|-X2y1X zn+}V?d3vJ5#ui5-LZ>jdj>V`K^DYK5x%suyZn*W;-~>F=EXqWN^j8C}8T#UkHk&ak zLHdQVrZAsAeX(XGadNe}p`Tq?>5K?a1hrCo3pBM8bfUC|&Uw;lci?T}`z5|$9EK~` zD)Tt5ko}%2r!bF3G?*tAFD)Uv6!230E@SZt!ZR(H>tkqq3NvBKA3qfwj7VBBmHFFp zW$z@dA*u|7Fb>mBWe0JS%*WH%Z0rS1)4&vcOzqxfA3*DK-Mg44L8iaU!W=td#xmjJ zlxodBYs27b=t#NSlJ|RT04`3P`W_1k2rdeZvYDxY9!N&0BGo#gcUY9oj3>Cg(7Y@{ z$0pilYbI!(Tffk@_rUbKzn{|PGC!()kE#3L?#VMHE28s9Zn0pSG^>gS=!?y}jsCn) zKB(2;qTr{YX=+^9gNJ+FB`x$k%+CYG^FLg=6Z1Y+bUS+YedgczAJkO|uQV;?zt389 z{pDu}O!%KUh;+RJA5)ItqE${-LT^*jAQz!y8FnqT^M%~8EJX=kh7DD}kIM0(DbvBE z>On`Qv(C`XeKMU5>#pPZQo8*oUmeO`&sUH3^(j@gyvadJusVp)%fWQlbBA?Nf2HD_x&X1+xHgt{C`pe+!yQbC45f66u}h26u@kS z$%n~Hrwd7}zavN0n|PYFFzSp*gU z?rB(`b7)E$gm(gcoCaR+G1`~LrrC@(-R!=eJt?2ljPBjxvZPZFA&jKa*=t@C62QjaCHRkqI&BiwgCq# z&ws?~pak{nJf>A?!8n`GK2QzUQQmwOtqRvs#e7Uu-E`D?0XhbVDq6ti8=IxGsY*OV zkeViq7CMhYm$81m@IPr5zAHv!CaaDbAwFm;} z%ll^Z?2(k(31dWB2W;S4W3n8=IfU;t?AkQAdx8H+b1_KxSSw}1V}63?2a_D1ba^v* zECjQ2AN5_xCgJ*;Z422gT)4D!5o?8uL3S?!?_xR$nV{d!(6mf;5z|w27TAHyNteYU zl}l)67IX7B3Ly!mjd+t&Di~w(%{!?1;W~*|=s3EYg;`-Hsk50uDbea|%z4`>?qjw} z>4fvCEK)NTi~_WDeBm)j5)L1u@K2bR)oE@&&FvnP@d@kZR-=Q~L_O~ycwvw?q{K3P)J@=)#;M6asC%LRA)cb=MGoSQR5N~lg3wVjTAfCMna86{g ziYBXuuVwu4)l@vwIcF_Lj1DxrrkY)y&92dA7hYiJm_yC32(zoV*%fJa1)E*{&92sK zUF1kd_232OVI8?YGCiK|FJ`{&?tTtuec8bAh44r6=j8zmQ#cN0Ohae&Nsu~Fn4Y<& zcjrB`9v|xm_<*1CC?t23>L}v{L*zA%yhga)M!ILVo8lAx+a`ngP}J9Cn=H3rf zrCm$Fj@yAF#B7eB^ZJ~I8rW(FF%J{_5S(>U3+IAux=DW%Ju|Qm>=%(49xubYgZ)2e zDf96zxWHMyUON7jeg&r=l0rnUfmSe1jhUPZ=+IKu)BZ2;pLwkHp|6q6r`XtjPJew0 z3MZW!FJpad<5BIIMP6amsW#F;W70ARVfY-ioGobFVjXlKo~DIJ5j5a4cDrMLlr*zK z6a2J_1wRcg(j3kz)&Z1aU0j2eGfh)?eiC8FbmX4UvknFC!I-{7A(Zm~UYA!u$*4 zzmaBq0UEu4c7DNXnniuWL&z(mDMUi;e5`LDL~5fQs8#Iu$|0H9RX)nLx*vUrX z0*b>sLFF%{e|NG_<&PAy3mst(CGBEe8riG>W{~vgGs@e=k{fUO3=Hw70DMBKZ!sQzXKV9gDx>Sfv+aU1-fkI8>8Yi-kAM!*EDkowTbz09libf|U6 zD^niNZ4spF4Y{=fGS6+5p1$16Jk?k9a&}AT_+B>NHW@BUS~@-LZY8?V;C;*?q>#sR z>q0|3%_QdrOio{6LBLs=u#$P|FmWPwk~3OLPZ!h5eQZXPRf`d7@U2`mWTy5;RKi{w zWMnIF(aSX>`wSw(8HErvE~W1aF;}%TRur=4O331${lH#;Iq>&>c2xP5vG4%;uA|Eo zxmY$jm#fH*4n!E>Ja3Qdno!4i&maC8V<3>N>q2=VK^7iwZp8&rP*XT zw4<&Y4?W=w>S1t&3B2;ZjM9?nD%ilob=a(hJd#wkn>UI*}eoI{l}-_dn5xt z0i{~0Kn9grTpQ&uMR4Kzt_ercd8gCjqZm7b=-Z>Lxm{=YCuNpGh^|g6jh9**e>=)% zD1#DtnQBjKMBM z>EX5?*?N^Wg$5jF-YsY3A_=T#nydksb2sQBwY;pDtY=czaW-1%V!Ux2q!rE|b~wR0 zd;c~G=u?Zrl~K2<#PHB`>*&Q+;X(8N&gj`a%_TZs+H1@_!MZb?h(COq4Z)DKJ;R3M zU5fE%SnGDbjYYPipy_FYyCY9Q>yy9zVagp`og4Kez4<)#!sihQCew#DxSoIa84R5h z^xGLW#4$7*$FE9Ve@#&w$QY(n#NnleHq`Yj`>I(H#yAeDMZ2xhW$dam!Q(yp>nw}z z{SNoA&Maa{Yo0yF1t2=RrkoCYl8_tkA`P^JQm@ffL*R%|HJR8<2sQR2o}`3xED&Tf z&w-w<`hdPX$GYOWqTkPf$2f=V%2=cg=p9r#Dpvz>PjVSMr%W;i{mj z|NMe}noli%#b*a~{}qB2)WNS%8z`qAe+9j^m^z(j%~jVEX~21qj1y_~dG-+mybiyy z)!4#q`;BE-Z@Li)?UqeAa)S+@pK;s;?BE=1hFd1{G#n_d(nz&&wDotE1KO!mIqRnS zYXnU#$6UOdvdbY|nPeFnXQxzapPNWT&F}ZE0tC!hw<-5k|SD+@KoML=( zl?lqml%y%zQlfdi|uaWat*^mfHJLALxXNJ?@m80gxw8*66w@tv{}SFETIq*SMI@31xeJ6 z2QY4dBP0v`9=8^LaT}_?J0D_Cu!m0EW|Nzo*ns|ClH#RHyhfpSu&WqHQ|_SpF4N9C zEXtk18&dM5;36EFf{dyhLpe06BF!2Stj}@g0i$&qExL=EnoU*`o72cG$vh(~DMy0x z*rP;*cj5hAVm;M6%&yPqnZzclBg`(WEtRaR?E{Pq^Fk&)O)ze$Wc^hT$yZmg49A`$ z_$)E_9>&%aY}Dn!Ys|Wbv~50%Ynb9cC)ESix^EsYv)h+^AX=8R@xbAWM85`HKFJ?O zNzh}CH%#*0QYa9xVtG=^0~W2Wij`eIQ{e*^VzU-5%UZIDoMuZa;5N_sYQ$exzx(&2an&qPbuWxQt!8~1yN1j4Zlf!wOV!xZEvK4l z7Tcs_7{E9+9S@G$h=*)$pgRYcNd)tCy^;+`BCa8n*<&->6nh&@_EMBZH)<;V`;fJm zqMa&Jcznil#Ehqv;#VQ-%r}C=H}Np03tFkS85k%7w_1RKW}ux6++hJa1DLdF4_xS6 zj=CE3QxK5+tnBI-lh=ljf*3+t7yHy*p;q5!ir@}e*&RJHAo1)pHPEiWGVx< z!W6a-X zoVwSr?q0HAqs(NrBDX)2Uyb2hpE#WHlLaEPX=M%eCxdVxgaxn#2I5>T>`hr_m=bSodDx094+>CVyeEOD%fGa~sVkYtbjbnW$_Wg_D?Cw%ay3=D;_wTcCti^$dX{j z!%T%qg_#edhRKC_)F?_(39}0J^)OqE-_-FbB|nvmA(FsHcW~M&+uQ#PvBXbsyBEps zQLy_t6`1iZPS!Y{TzJ%OrW-=pRb<}i1<&@&;As$(QPkoaqHuJwCJAwjDnY!qCsuVA zeU;N!jTIwpGt6;#P1YoaB(EwE7huELQ7JaZgJ;o7(MhGUOQX?(Xo?9p3nE@X1W|PH z`epY(xH%iS5IbDOhozToV*sc+az*U?2BL30B9{=&Tz}a%GL5z}acPSpcp#@C`R1=v znfdEpK|@8cSJP_QnS|2$wO7ofb)x90vYSbVM6s1^hU|B#ZnEb6kY#jF6jMMcC0L1% zoFeARbyu_>3%sIg9jZ+1KbOW>i|rZ(!3*-7ZgXk5wb+(l1-#!{j91xCFgmEkj>4eX z@Q0|Sp@cfPc?m!4eAzY!_Nu_r>=_unyc}1=>2F{sTd-$ZUAE0IE@>j(SN2*47_#qP zZT_~-H-AG4J| zBwa#4xfdh@hE|2!uYHjmanj$ge^W-WO;J3>NAyio(XWvuFHY5Tsj2AJ-VdQlaC{Dx zG?e!?LNW-0^+xgy$5uj-kL|y+JtyBiWTPD;OiioQyFy~_8u8>+=!FM?N*0!A@acN zvbA#LjyDNu{S++5Cc>Z2g#?I zxZNQ_j_$*sQMLb^LeAausiK+K@zvUG;V6!N)t%ue`ttB!JBqFTAGLnPQS75a!+1L( zDX)Vx#7P{@gY0w?d#dx1BszW`J$4d5YLp{qzyXBRtmdLON3Lovy5VMjG1%gG4;!M9 z&SD21;bLd8hZS$&{ciNoN^~X3S)A2{*Mt7i!Uq{9<^QE_R=J>3rqf;*v5zv@h`I?; zVoT7Wr5MrP6A(nH*f(>Zz&ci$>{AWmMh2G{V3ze^P-Dve>pD($!_z! z=w-&U%!`WG=S2lP4PqIR`Om!A?Z;JNqK~TL*s5f)uWj`)IW;fznvgOoa~J1!*COm> zO*6=axoj9BJB(fj_Xu-x<>(YJN$&msgH@SGSsvo&*x7n|ir&ip)Z0_cg8t2MPjRNo zrGk2Ti7vR(G{H+egoC9{-lC7P8HIX_{XM3z29^iEs3Kmv23ZYP5reR$%9FnI7CS@h z`nT8ZOrZ+SG3X!kt$c7KR6ceRfg zZ2b{DlB&+p6>qU+5RPGws2w{73FvjDr8fn_{~O(!fsZvc}vmBIBorPxS@ zp9Xvb|3R^ahPszUIzpGUANcR^HHGj{ARw_r@yA$lrV4-24bSVm@E4s`H%5~eXhaHa zCpzL1xFPMtXw{SEw7Q)b!FR6h#5veh4GR!)PdUvB5WAy}zY7psDYNLe0P#D#O_viW zx~pzF(w0Cm74L7kwHLjVZq%c_==<_SL%V>-@hJ-78oyP1H~i7u2(!GX`HXES-bhMu-r;FGxy&e2a zxYMVV{6#g&UpvV`{yIvH<*$pR;@>XPzYjRNm-JZv`bt&u*H5}Be*>jU@;6BORsMFC zPRU<4sYL#ElMcw=aOrz|Gmk}>(q~3UTV+_JlrMk#OL_7)Mp`C+wNj4!9WG_a-$ZG) z{2e7tm%qu9PX11mlI1VX0mt=2}B3q%e zhTS`?na2Vtrkm*2dN~{rZm=-XEeK-@(?z-rnTgXMUNR&ex8NJPiQegh%&2x@qMrpd z)C_S969X-fwq}S+m>6V%IGG`CVPa^qv+*?L#rTU(obWu?G%K>;ly=MHbRIktoL(!C&eDN!aV;*~Oz45=-#4!6Ayz1HC-ux; zn2fO@1yd#>LTo|B5n_->5uf{GV`MIM+AY3acd6g3yW$2XO>glM_LNn<#g4dQ(zOpJ z=@{zK2a|Mj;B znWDw!O`E@p^CO+=Cyw;|@k+zM#9Jcr#ZSSP67+LyP#Ydn6!ecV8`v7>^%r$Ys1e>C zAof!pHnty#T&pS`Qsf{puyb?ljZ=5 zh!NA9uDM=k3O!WzugR1aETL6m#6@-%kqVb8$l??lJ6LR~ikxWtXs~#RDL*zQ#A5e_ zQ!nqup)QkXeH1z2{k8B1p-bjEYj+Pl{4_j*L>w zgEdZ~mzicV>5#EUqUb3$4a7#cRM85fgm*n-%4nXt znih^hgDy3W9xJL1*ldDmv{jxoo|-Q9 zZ(={`$GX?_F;dBQo*1gqd};qvVi z0sq0YR7B`@(CI8O$<=2Y8g;Zft%Ee+;Ok{fq=;;>gMH&Sz%3{}TkO{?8jm@=u4U7i zE@q2e?R5w0OtOlLMRjEsd4DYSQ&nuCl#fMUhd=kfp2~A)>YXh*lksEG(SGL}o(Jjj z$KnC3=y{)@GqRxe(rW6MBSzZ_Kk$BH!)Mc)LRyp~27_SOmm~IRvZ4@^Yd0~i31kF9 zuGq$T?HZFwj*4sgWP!Ph{*N_}B63A<8)smbDnP~J>M(jY7wr^8t8&F#_NINWS3^@; zyjc7<{q#BPyyGTkLfJO88E%MED2mdW;97(*-7)TC8&;hb1ZSY`Ae>OdN@=c@mZ3>O zr360(VP$L99@+#l0&M5weFd?qoo>%d+=>6ioz;MA6>MZn#6{N1;l@u^h(`o;rhX*e z?6AWLeda)ouU5gUszbcAmIELXOl<`rH0(I75pM{Wk84Qjv>^}e^?sh%$bXC(PYx6N zN|@+3!gS$by!@SBL2vX5`U{X>uO@My{>;NP(T42SpxI|p|21MSWt=f*jd(_h3lrnl ziiHr2Y1U!a;ne6n#_%!Jj9V%6Ke5TT*W$*=tzU>!U2=bgS1kyok)_t$E3;Hx)l!RN zRRQb8evNTCEMGz@aN2F&dNEV==f|Y{QtZ%a|HpMW|Gfvl{1B&M(usy)v>dSikV1bh zrQ|Qg-Z&Dt@k_CFv)veKuPSa8)z#64k0A@F{u2E=^$p)la>^G6pkt5C7dJY-+Z-z; zbn$S22I3c<z+iEjeuvyV(cizaDFM8nXdRq5?X(L3DTP%d2t|*M0$UeKpr5)I9_C zv}QQl=|`%KVmF+A4BH6Gcm>VeD2Cy|tnW689Xqf6$YhF0iqJ|~sD4gThW(p53Yuw| z7I=ab4VgAN9`AN?nWVSLX_FW@w(EM{={dQaAgx=3iV7WFliHN)1TKXOv~N|r)&{i13IHBnM@f#)VLfyX-y*=;e$mQU2;50u;v+nik_n^67f#o=czWhqe zvC?GMnQ#`S{nw&rdNl0(pmV%51I!z#tHo)4{}8Xua>dv&qbt8JLiC*P3>`$h(ga<8 zT_RV7_!RZUPdCec{LCOOSF>%0%C^dYw}sPOs^pH!s8*IZWWF^ANpDRC>}ix*nTje| zwi^v&36c_7c;`6u_J4)WsV)bo{0Y6N4#+D+3H)Aq!{7qxwtt;T=XM>QQ3YCQNUX_p zx<1@m9xl%k&b9+}+9Ea!PpwC7E~B!-Mx{t%0#Nl2bJMCJ0ZEV=f%ud6prtmrn$E_2 zy{fdd4P|T*J-{IUa*OEJb{#}1uc%RaNz2#pt_L+5g?S>( zruq}J1*-JLuJ%r`vaCA;a|9gc(cVJiSMe#d8OnU62B|F3;q5B46 zV`^21rfKLM+)+7okY$v~y@P|KM1bl$$E|NDYbVw`Co0@2YP+?&jINN+cPENUr>+ny zw%~w58L$8khr%UthY62V$*LoMym|h)N)fxzjOS@AKB}57l)g($@mbOZjqssbT7n{! z@YlRSm4sY+HNLiF^R3v!t?~~v@5$b|IX2+V>We|3a7`{PkNP}K`c@2Sb`vx%z}=#3 zAV@3GPm=I_-Og{t?p8}fkjWl&|66hDP+#8dRzUJ0mEo%F%tF4i;^$OF;PAdDRd$AD zaIHz&0*kaANEmiFJ*vpfk#}J~_2*qZPsN{u6<%a zXi6V`b5fdZbY_WNSl4+srCtbS9(EIJ_|&E=k|&Y#QrD+AHx!5h8KTZ>rC6hb5$j;{ z-+#tb`V0R#gC9#BAEgfp#c4f908*c}C@l`;_c}r<_3BjlL9aIkgY3z#+jTLz{va|X zUiI+WkB#u#&>R|_^!7>IN-U$GBKZmDH0)wVmtbzJ{G%y~hNBIJJ~sM+JAzM0?@X;T z6)wSyS9$jVM%Li!$^kv`tw*^Blt_+pi=!OlD6e|?bFX}KfXZ#~I!#6UMMsCizh0O& z)pW(#ZGMl5Rw}QeJNv~B4znBJ$C~hiVR=>5=79K?>ikR^c|i2HZ`9!5?d>7(_otNy z#32sfJgARuj~wi$Kk3NaNYwlX< zKqU!>5KHd{_&OPV9F01JSgP*T$FfoeH=*wii31##H-MMO;N2409u^1NztsS@kz++mxM>wXEb9ie{XG0K4i$Ad?tpIP(9Im0%Aq#8 z6C7H^p-VrYpkmRn{cP?#iu)>cn|Vyt+;=>O_UBMR7s11*LjjGU4~nsg??RsxL*S7$ zoxUj+Te|C}1NQ`S%@4(=C=t(io^d-+f(UWFSPW|Rkz}c#1l>frfL}&*3uo`c1lWRE%_(+5nG{;rg2tT!Q+vZ-7V2@J_U(L>%a_?@oO* z;WGHb4U$U4P=~1v@Pp=Pz=S-;qiKL=)kkv-xiQ|Zk7k|>{{1@LJ%-$jYk;T9@P*f@ z$B$wg*OSvwA+sAn4LU^`AFsP$KyA!+MQs#JqXj>TExN4Y2s#S_>g#uov6W+d#C`JR zx+ntS8%DnzYw;@*4A-iY}Z?(c%s=t&B7FBMyMFHb>iI&(KcCrMH0O62%>$2!RU zv@iXXx?|iggZt&D(9%*!E|5m4=<1%xQ4@Kl%>P7PIY$lRy*8X4mWpkgI|8MoR9uG+ z$WNL6z%7* zC_G@^g6R$u12YmP1!gu(4$OL({V?S)w_qN@)WJC3)hIf^MBmkTEsMJc>~jZ!4Tx>F{#CJukzEvzDK*@y>_{I) z^1KK|L~b8CS1z^|yyo>Wn*I>&1=%~fsE;B-AEC(4kiGp|!&{+9j(FW5A3UyQK;$Nw z-n|MzC@g=+6Zi;AOCII{O-l!lyWWI-&LgCd3F_3p{(~i(&8CKiWIaF~iLh<3O zDX9~5UVcDOEDJ_mR75DM@#Uc>PMSO}ZCYw~?l)oFhm-hM+nL9*p|+_H)HZ)aWd2@j zA{0T$mEsa|iZqs$MJS4ZRlON8;aheC{vmLa`-`To%6wz!i>4YT*AK6_qG2e|0=a%# z@cQA6=fFd)^}{;GT7d?XG8WE|mb!>fM!Sma;< znqVHicUA1(?7jCbO?eQ>PJsU+IaViY-tP6u(?ONS*PKHn?xjQKvtQ4lIje02jlYaG z9Vr#?d@hvH+~qu`3mWeLIUk4NgZy}9BEQKIvf;^b`zv3$re@({H8ELGQ#+xK-jbHHpB?d){zPw=6SFL&X{}j-Yi1DUcb6pwr z$~;&hCDf3RkZ4K} zN{bUStrA0RS~SXAlvWHCH8o~6hH9&d#!ypLQ8g9)?tRj{Lcf0P`(D@Yuiw7h)}GF@ zpJ6>~-D^GP?D+V&^F{^JKbQM&YGc1wlWyPa|7yRhsJ-67{G;u8)oRgc0b%a2Xe#3~ zOiX|(v0r>H*IweL8~iu5%KObt_ww_j8b{l713LDbI5HcBL0y#prapG(aN0oT zbyhgts@MP3S$}oStJy5N%fTOA=Ey|u>2Wr$WjT)s6$)gW#-)@|v?x+0*LN zt+c`=MI}CeIp6(kanE1Jv0b(S-JbnlE<96@=db7Jc2EQQ#s7E~=3CKDuQ+28?!jDs zreB=CDS0jt*PnmzKRI@uKz$7h)jFEW?h;MiY#&XzqhYD>_v0P;2kIB^{7J^gMN^4w z|F{wFMWj0q$m#w^4@0_v!i1-F&;MgTvBWv2E&rsh&)s8hX+(Ey=bX%_iaG!UD5!!) z0FKNDa)FW`j30pOsFbtir#`J%PHMDc?`n4_EOD|}6aPwQN*4SV`}TW{=pjPMTIRm; z_qEKxJubU>W4b{=&R|s5eige~$x{AFTN4MNPXKJTRf?`sF6*_Y4UV^OHKuF5;*?o9 z88vb)q5n!gRu(;~eScGR=S&bg@9F%F}={Trq@5BN`!y9(NAAB&_b(Io3> z`8gA!op#lTE^b5yELWf$edH;Di1fOx98#T}Cy4pO`CGqo%F1jEcI5+0oe;&Um`!GYd zIkhRCDt3rK^MBICL`>Ab zsdL^0fetT)$Zn-Zhn69G&_jURKBmzO&i4aD|xx-g1c49pp>CWnJMmQcWO#fa>`J*Q*P6s;?E_gWTXsA9#-;` z_8OgT>?yt>BRwgz|KOpoy7l5c(|f5)($E1ZneO6~#U*;LB@Id*Iyf!)kB4|qr41fd z@-RJZ(D0EZPYg=xmtOL?+2CQ%Tz@TXQ1al{ipyxyBy&_oid%R7FRG56YS0bp6jypg z($G<9g9aepeWqbK25tJf-S+ne-OQ1+Nsq9nn)He)Sx51wsex>ua6cqaV8>dt$G&6H z4edP^-ONsmp&M7FqV5#knsFDm-YdE_C$Co&E&JfTkMo+-8oqRTyg4oS$%NzuwVX1W_kDP{RZ8JNy8<&P#OFfXX=j zFi&}jw$fT2I?;jJ4Qv8d13AE4U@DLWWCE#xvsMsQ(1EH4xPY7Z?#Brr5!Vt<*xR?$ zHS2f5{{8+)bwg$&(Z1|PEVTldi~ae)Xdv!{{bW1c+Y^O*cpwsR1A)M!FR{=B><3l= zQ-M^VHBb)-1TG#&eSw8Q7LWm?1Ia)afB+Fd2oMb1Jl26K09F85KmrhXtV3JMg`MkY z$bMiUkO6c7oQ9^1?3a>}nKpP3vKc+mS>!9sA7Dj^{rlM0)+2vqhv(Cc%b(s7OSQ(^ zFfM=Q?dRV4bf?-mI1a>g?$kM^a|><8L+a+NHj@KaZNy4^Y-#&&KHaazT#Qxm=8K(W zIL-wQ*==^vq0XOn+CkT9a;3ywSj?yHJ9m^gS6o6q-rjY^Ub};?R5b$CE8d)s$T*HV zX`k9b*HKDdbM7e=d`rWitiLa)!7(8MdSrgm-YrwW%dP7_4e7lchU6&7BDf?$M!UQ z+;1lRyj1*(f+(p;$^^?6fg~hcfy6Ai*#d+rbKVc8ec66`?iahLGw?Nu3j5Hy_|4C@ z4sRdu_DOMTciJ6s8(uXr#1WbHtbKT1*4`Lup}p2QQ)nM^#3xAfqqI85o-J*|bER!X ziWqli*c~0Q)*b>;y4N}HhwP(!Y5a-@KS`cxuicNQ9LDZ3?{0YQ+c8ua;B3V;%YUxy ziZ=5FJ~ihK-n8NDhWbpgJ37L!XF>RCPl|eQyuB8OFKA7Q^4rD5J>PJ%S*-ozF1j{; z0A1k#O1WV(5cCG~X8 zu_o+HBposV!04YkK-Y{8-cWR(Go_skZSxL;llwgmi{@c9B@(?$0$J4lB#i~qE!{J-jn5iq09 zCPTK^66+i|e7=md2d#@pF+d_lk|ur*}x=_0e_*cWGWTIWdT zJDiz&Vk!R;iyu1n8W<{S4)G}b9J*$kXQtkP#6b)}vt9jSHNy&YZ($fd` ziyD@h92G^)w|A6r4f7NZD01T)Aj@FLra}fm-s}%51i2d$FQ%pDLRN&#fW&)?s2IrV zkin2OATOqLpqy80u7<1ynF$#J83*aScqtMx6mowuC=p~fWEe%U)ck(Xah$l1^~{lw z7a>PMo`8HEayR57$b3jgH*@VDf?Rz{C8ptP9BFxN%eq>YDii!g2d_1Yw$GGx^|9|) zaAgDq?gLLdh(;W?hgNhQX|SeSEcFlIEWPcpBPzS%@x${`m0e59b*zjvx$?2pabT9+ zpo%Lz+9^8-&vZ5!Jdp%Q1fu+DUU?*@MxC@jY3PTOF09pY_K!0E| z@Gh`!Xsn0Yi=9irk3hh%SSko;1eicqU?A`&FcVk_d;%N+&I1pD@|ma{ih zGtpyN=wygBq#HAY^{|uKx7oSu`>czL=7w@f{AB)9zM4qHHsTxNQn7|~L4Bmw)rM-V zjLybT<9p*rBhajD-ZCGXK~{*>(&}WrYK^iMSpTy2TPLjRmh-13sBG^)iYHNI2pL1> zkoU@J;L7M?sJbgif_qp6&SIT*jP%C z!sR%5g#3d}Y2SAH|R3AM!nfvBDzZgzzv?=q~mZzn22#WcgM3n(|nQPzAM%I!c|QK2hJ& z()1Lgyt&rgVO}&n7L`v?D^T!xa-FnejxZ+~iJi%9N59J&2ukg$Gal!?G5?x{w zak@B4I&Gip>uPM54|fIGgA!b&Jn8aQdB5C1(UopWsxnsjMUB$7Xg_N&=)LtB`gUD3 zCK#KHLZhoW#C*qGY<^-+u->$6>r;y=!2HI;3rGONGCi2rnQM$Mdz8J+&gVYo&TyBw zTj;UUd{w>{U!R}OpXVD0O$9-iB+L_XgpY)S!b2g_Bfc%p72g$ih?3M*N|#1R)1`e< zcR5q`Q)($ql^A7+vPC(dOi^uhw<>GBwb!+8wL4lxy^X$Gf2ixmLgQy6((G*}ShJil zEQGaySWFI)W28RQjCp`c9pXj^vCrVvvRC_=<<2%vh&cJa48U_ zNic~dJb96HhDMJd??R)uk)5QF{6NYu<o7(SM6+J@N^cVFcJyU;Ee_vm%@6-$Q3;Hd+rjd&&bJMtIOgFRh zS~YN$_Ho{c=<=bWAQ}>d@i0F!0-wOI<3of*;X^SU)QjpZH9)I^mI+#{_L7#O4c8`V?`Z$hKGhCrN9|*s zU7?;)dX_%Im}IOp_81op-HbA0%+_X{8EHVg{fh2qgc%!*e&#eY&!iH4C?3@OJh@CNGS!$5*;VX*wuRVMd{rDF&KB2;o9u1f zT%6r>pzB@FGWm1)v0Pn|FuhkQ$?8>gIELD-H`PtOo!(C$qQ9X})#vI<^e^=9^~?G% zy1!B0sAV)Tcua-`*7uHbXW)qt0c-?2p1sZzZYp0WTodX@q8ug1%e~}b@;Lb|dA__% z-XNclpUAj5-^X$96{%FAj2Ho>qzZhf{iyaeyIFVF7+X(v1=}+sT?IDZ+r``Sd*JZh zWLJ4RtGBCSXps4uInJaCi@NS6`JI$!YBQs`_IxM)J^t;yX-!-gN_j%8CDw=5YHOXf z$=Yu1#$-HX6*%=x^rf6HdJly{PG#mW``7^3!ApE?Aza{v9zv3ES12vk6C=b(I51w6 zMO}Oc7HExlT>Mr%D-M+2gdfR~mPsq5)lx2I)?LXLt^Aj~4)g14nN=*MwUX?C`W;nH zDtDAlY9CnsiRuCMxO!GCqa|oPwL~pho35SFsSICgA}UiB=BR+2AScObSc8k?3aP@> zWtuWBHjzzbGucC|&Ard%atd$q{rOS?E!4ssN)a-J>*&FmVkv2xbW6G<-;f{5eH8(2 z4R0gr6X~ka=7CzMUC|zD8M+4!4v)(6_0Gr(B$}DT1c~*e2q{t`5--V;F1;>!q;t{$ z`MR=Bt)opv9kaE$+I(%jekt#;;G%tkCmL6b>zLBAt*AG}Nx+C3}$|x^lQY=<#tFNp7Qje$))H7PLo~B0_ zX=W?yZEK^o&Dv{G#LrtrlPqE+p{1}`*dgo{GNgCpwaR+6o%W`70_LcJ-d7)~kJhu& z^ojap2zC+(sG<9cgXZTT0q`!q!V}56HFfn*e=5#KKi{V;xaokq9wUVi&n^cw`{< z*-MgUld;TnW{H;>1+i6GoBfR41wPb~>&vZ&yL|_Gej7$ATa1&!l}1V@ZI`yfXlGG5 zepDPPG2iZJxUPD1OoDP^e{qZ$DCfwlC<(Pm%F{7WWvv* zHnLu}D3`z2yw@W=i03$=7#CBYk(qW(Z{~Am7(0VK$Ub6Qab=|g(r?l=IYoO->juME z$K=eH%va1$&2wfAE7t06y=J{-t%M?))^sQts!#mAG}0GLyd{Yvok#-d zN2ZbmB!_%RHj#XCkc2Q{Ok*a68ORJ_USks33^;>hpyF592E2mdnaQt#k-f*~2^Uc5 z3a~d5V6&>pwPi_eDR-9p$b-R^C&{zq#qv%M{KR?rp6sJEP?|rZPtP2$eYqTk;*~cTY80eN7z?`fY>3tWej3ZX5^UxTpGQWwlxw(K56#+H!5R zmWN88(%#bNLu+aq^^BHAdt;w*!6;?c0L%Eq+~ef~{!S#|p@NuOOmAqw6ewOdo)Qe9 zjqn;mfKy=WQDExp#B8aw{0hdpx?-Y21xf;{@G;2KL$$G%hEVGx?MrREH4R>HgV*c% zJA9n-86{j~FNhBQ&Ti zRu@A=H=N=iF;g5Vjux{(N^XH%R`P~bZmGHSinQq8E^z}Kz*Z?=3X)xNWx2W>BG*MF zk1I7*PR&yfsb9el-d0&{0s7@LZMSwyd!&`u>ms6Z>2I}PFJ4!F&;FuN_d z@!Z>RpBuRy+(m8$=-L6acnX4yRYJIEiUY)Sae~-RUaV$o@98dMo#A=cJPKa_vw6>a zWKxzt=0ay{h&9q0ZDm;#t*Mw7+16a^taZ`4f@l@rZ_VTKwE|*1Q;k($RA+!FZ$S_lpjC%zwb1%&Ia&=pRF}cnF6(#oriN@xHRc$L zj8BZujC5;^H3{Y@+nVR}ShhbUgJk)VKvIV^#AJ>m-AN*`$tCiDG-hI$PE3Dh3iCGO z`JAcB)?s^tdt|dK*=uY~E)w;d$SvnqbBDR(+&%6w7l`<@Ay4=isM1gn@d=pY%lK9N z=lov&EPsu^$v@)D3KfK!LVXY`6^=X(UbvqyP#7=F66Op467~ycFcqUQ5r>JRK(am- zzZBaeV0qmmt&=uO{&HElzT8;mWCcvJrQ9B7;$^w7JOHL*q&yLmbA~(@ymGO;R9-26 zB5#wwl+Vf+K!Sb&%k)!RN*$%1!YCaPx(-9cvqIUZY*S7tEFzrBTBH`Ey$AMxQu_f4 z_yDZBoX+Tq?o3Nhg89&_Zkg6%Yb|Iax-Q3`nh#M8@#-ugU-&`TFYQ+LD~B-giaEtk z%J0fC^*i+nW`2-X7Xegft-IC-p~fqij-#|JZHhJnA;&^(8LYtuEnoWrWc!46R=W&G z^hER1E9uoi?d$2PM{kZG>m|JpD4VS>()0CwdZB&?@vNUw)liM2h-n{#fulybMYA9l zA!TYO3bL6T2Aw<$GI^EUM!uv9R4|-rg0zK!kxoFEnZgW%GCC~y9p*je zQ)Vx7h&jWwV9yGkYeH>|%NTK|_zwL43VD}YAO|Y3N(W_tlCA7UHsdhn?Dg{e~(y8nkem%PD<^Rp0NE(m5)KOb}L5|U$vZCO(m+TwpWM1 z+@4Wys);bLd*Bb^;mMBa7g41OMh(P7veD6a)fj;!%OvAXV}X%xTs0mVwaxQpu+#E;`(u!+$e4`H-lTmE#ua5 z$GGpfviw?MJIKZW)BTy00MYt}4|5s}>|fik8|)+0uMi#4x+W=DWOHLk^Q0%B-x(ZRBpqwCs>8DxpdfkD@B=;rT`@>4?D_>&ei8mHHa}Q;@(R zhHj<7uCKJHLVqt$u7H$+V|Z+`93jMM@*63Oc&IKj4l{WHJC>Wv)rY;`#dnpqNWVz! zk$PKgJ#>caW|7hIBh82adJ;?SlgH4MCXA;!(~8Mu9xyROWbZ)gfF>Xd^$gzf0N(LR}@+c$HZyU9H|wY>S6hmyiVDw^nian z2A0*b9~uM19$Y86U~L@2S`}unS0Gc<|*@ndE30_0a>K24putaiOAAB_11Em zxb56r{vz)uBnTP8dx-HHi;KK*S4}9UN0|yeSpz-Ur(9QlRh}qiRR*l5v)WTlQ3t_E zXMw=Zhm-yYaqdsZ2mFfoGW=#vMX# z@OLf(>5A?A&pacff*mgqmI=3nWO0cY0^Qgl9hSbAeg?BVCr2w+J<2WRf#Rcvstwd> zNEWPAKUH_A)lsvy+5iyG3EFHe8WH+veUhH7AJot3_jJlAYg95A!$69)r;&nmOl9*$ z@a2`Driab1OnA3j4_?Z+TzadYCu`LgRHe8vc%u+s4HYi`fVR5RZZdME6 zre=QN&K0Jf(2&R%E3>RJ(X2Xdr7d{4~+bI+X-wIcRpM-ltfEbGmsYhIn zifPIqjQL6R21dD}CczAk*A{8pv`R3teURJu8a+oFwT=2le;Bb-Nb%8TbF+=|S=y>#)wIGb)oPCTr588=6%|0GW87<#w}^;bkYh^Iz>v#mQA0kz^PdF)D6$+$yqzaD6*W^bst%NB_$~dJThH{&J2?oBr5$-YC z8c9Y~FCoOYCGapeI|;Es8SVu*;x35eYKbT1&tVU*D&>ui=1Gf64DcqB0!dR+m5t$B z^KpDU-v#Nmo_r!dfS-Z{>tnGWNbOwtBV;OSEA`cRh=d}MFMSJaVGTmv^9Wtt(3q~4 zXTL>d1W-<#C|7nXEDD4(+to1Sa=8{jsi@jHQ4JQCR_0 zPkinO8Nj^C&}ZWF+33}imSx6VrQwllqQvt-3V9C$RC3P(x7(LtXfv6 z^@7#FV>L!Pm9r#Evszmz(AxvnH_nvH4)BJ`8~)>B;nChBFh{8z3a-`Kx>i z@_+k;J3dyZ`n`5i z4|7&l@&l+lKH&d4>4No(soZ4YK764Fg53&T)*Bh{q0%^MinKsljO^1o7>+NIu(>VW z!-_yTxRZKtCx#sDD-S{eF=jfG0VTVhCbI zPLY*3r4u}^r!R8-Ba}CkDavfcRz6f#gF0 zeQ2e2g{keYrmI6?YA30)ka}GL!?i`-1IvF*{T@l!pVd2HM}aW5)wD3J0g|z*)>7-J zb@j5O;o2JrOlN9yJz%w~5aoRizkXEv3fZ2k+6{2DCt5kZqFzf6(;I`US$Yh7{>yrz zK3E@)^wuQ(Eq#H$SpNuqax*fPNA+)!wfq5D%llYvsSHjKYBcn+f&`93!}jBe1$ctOIW4))p%t1m=(+y%qFG?Hfh*KjhL^;KgA)#~aY~?ntMOu#iJeG$7k2%T0|{mwW}T^x)JA)Ak5mDE5R0(I&Uwj|?@1O@5w2zYI}V-r z@3Nd_zUg3FMXA|baIHhqMQ_?M7;&f@Q-haf1QH2yDyGF~ISV1gbZ=666IQqmf#IHz zPs?{?eNP1q-6Z zBh=4^))pY9aFVXqu?`ieyWnf0prcuO4tRW_{s^Ah?OpuqVq_TE@Y4mbyTPW*Bv@$3 zFtg2EvjB!B7%7-Yi&$|`q6}}qnF}}RL9AJbUmBy!Tu_mCk^#D(OSXdQ--jcw4w4@M zCE(%GqnIu*j~U1_Wr5<)Wi}www3XS7sI!o{jwPiiwl&gB$%yervJ2T2Y%W`fvA)jw vbAenvE`lS-Ryw)LI4+T+ZsNzv_!m*3 delta 67602 zcmZsD34Be*`}dhSAva{XkzFEtA|VKZkRUgaSQ9si+#r(JUDvLOokSzJjubr@wX}*> ztJ>1gi=wgb`xa|ywLKatREZXOzjJO9`uo3pp4@YudFGj!XJ($~nP+BB;i~w;Rq;zJ z13o+QonENi}DUf>Z%lI3k4-Xx{;w8yWu-kY>4VR2c$m{5`Bv|rR8ORVDZR~E^q{Q`)w^iMwv zB{SsD1DiJVN3kWzRjEp)vs@k+?6Hj62qwWe@0Ua&Q`zVv2&RTomEs_~1T`aixl7P@ zq*3XUpmIB+FFo19K*%^bpj9gIE`6_6PeK}(?u$HROSYEIjc!Cp@6zQRd(VF(xehfFWi-v_3&;y?zSjM39evOT$X32SF-Vrmvp6H>CqmK2q`Gt(d({A zJ}zC6;!R0QdAoikNs@b{8p&vRd+K7ME$x!lM)W(a*1{gLvXPEq*chUuc&(|v(f)Cw zpjW;rU6Qeo+W-BE2=mJFCuJ)Cn&qJWOM`nhqJmUeLEAo;`nnpFMc0U6fV4UZsDj2M z7^G9m%F=877ZBeM-Vi}=a+A&~^YA29K5)diYg=YTO_FB~3_{1+Ab zz(8_V_R9*wfJw-TC7tEMtZ)pNE%^IDzMK_Jw#g2I0!fJ+IjDvA5>!oZY6SkpctV{T zapwFzU!FFonuN&HvYU_&^2+SK#3KKe-A24@N9EST-Q>ueOmanDn3F?(lYh_o3R6qY z)sboPmE3WddI^J*2stD#8q$G`kq-_zN)F5Bp)E-}dDqaHK3*c4uTHl!2hj_By79NR zWy-#Ta^GP(GD}`I%%6NEe>bcreIm-QhkZgK<#ofqAPeNA5hF>V{Pl=H=h>Ko5Mh}~ z$ke00j&}0h5$#EP*<<7ek}mHV8HBlVXJi<9&305IDVC#0g^(q3&L|@=$42>+d|4Ug zM-pX?u{9}`I~o0mTsqKbOUNmC=;)4qlm3D{k~is7rE|*8`lxVKg)8169*)^4?-?CJ z9qP&VMh^nlE+!p0BNv)NNO$>j(;>f&Pasw)aTBlD?>5L>Ug3(IH5iC(Or&2w&`23u z^=Y74#c3*0K*m;(am;-A+L&nawX7X`3Eg&oY&Q}thmUJcR>>LTx{%%S@^N{jn`}3J zocGliyrNurEwcPqnlt2O<6~*{FY>wZ-ejm;F@7ff?S*Wd&;=6MJYhHUpGcd?<0ft+ z-^#v|LR%bfgY1I)~u9niZK3bZx3ZPeqojdaFt7Nzy4uP) z-RKF{nacENP-oZ|9k$nFCaLoKNxn8Yj5vJwUVvvsB%h@kOj$1}gI6%kkSZNlcE}yy z+dxv~Tkk~?d)YZJiZD4TFR>)1LEGV&zZs+{ov$B`>>ARm<8UT}qOb)Jzl?@&^%ebF%org{m!6AEXRV zQ@1qbB&gdyM-^j^<^_V6NrccAqGi0A+4A80?oCI4L@MX4xS7{gO7t`t^-5}8A>LB* zGfw-Xd^W!&(aNv$dt>hOoRV$({b$e;3da7FRPupbJ;m3ytBSFcgQteuI;qds<$hDc zZ0~L&Lb|d=E}A+3I`{U}E@YYPGp(=flZ_nzgFJa!a+7sB|i z`?R8yZ%y+IUG+B?lC~}ly?*3+bu|=Owji)ap4dji}hm+4_&5U70 zCy$-6%2yL!E44tVxKydH7IHXUBZoC|;LJ8|yTaa%i*{gU^3f}sbIw6|U%_PZT8=CX zBIuXGQ1YET6MrRnL*Z6fl)iIY^}TbR3pB40G|DCGqiwEqG$#uh@vL$H80j36waWKu zV!l>7hPr1TQa-o7Ujo%BYrd9XQ6`_6>jks-``oaCajS{&X{<|MRMB3|1JW<8qy~_F zY<=uqQ?PVaDpyv&!YnxCRJ<0Z9(W0_QV-362ew7`Y*Uea3-U;Mjg(|_;1AoPpKa6h zie(3vL0thotXx}3XH%7A&h1!!x``m`M4q*WMl#scuuD^Bznk@(k^+jD%KTuEpHrN9 z(Qz6n#pZxwTXfeJnj%I1>3uIUPk#BnFBu_w7PTX-`{D_d?Mc|4uvhPH@^)GRP=mb=ar`*kqoWgc)SW)GEH%p zN6im#9?r4Jz%J$3ROP<>(fqL3HNaw)21AXeDZY4t-O(C*a1y=p@rt@SxaO$MTdR`i z#qmlkm0!>IalUl2hOJ;_n=Ut75a2l1kLxW{w{&y%E9J60U_t*5GkxBwvUadRCZAMg z6mV7*-GJ-Lg?ET*rKJowHfef@)BSf@SrDxCucLG1bUN8*;h=`kR>ld^SyMzR*Io-d zG@9&<0;)K>>bwpnqd^%WpI+F^|F_?u*UMr2Z<_oKO4vI@?KzQ$>~3yO*2wYZAaYC| zY5s!v%1(=X+qJq)1SpjX+hd8(xIfD?S9rZG!4vjNa+c!l)8T_vpVy;@Ufq(1E((Ea zTezqX=`UYd)XHn@@;KpLC_|m^u80#>%T1*Gpn*qKd3)-Ot}hee89zj~TwTg%iRV#~ zn2edqGd5PWD~ix>1XTs#>hD$NYop*TYp9vOE+{!oua< z;m@33-ih3o8?NX{j>{PyF%)HE}7cBXNZXnhvTt zasi7Zv*m5f!)7PEA?Dbdddt5tM~BfH;sg$F*2f7CWU?xf{42Lv)!gM=!`foBl3^A% zSC8b0t6ForFyl2(Ius<5W$GC|}5pyWdMf#u+Bbf_JJi|wKRfTBI zuHv)ckZk&BjNRtTAR<|M1a^mVx-gT?JTZMS?D%eZe8k3JfVRp3@ za*|SJajrX0q3KnaYSpF)gECeAes!Q%zd9-}bQFwjrdm6P%kq=e>74tTi13DUt^Mk6 zFz;WA8Y){fDr?jkuG=dqxhg%4^B*R!Ub6ygn8>xEBvj5^8%|!ybJt#`whpD4>pTd( zvsRw?aXK8{!yku|59NxFBe?qiWGZzSDlhxQoA}FLf6{_%kZ*qS6mIO<_3>n^?EI;Y zG?UXmZA+fZ3qBo97RygQZ2=wNw_ypHBY(RgPTQH(w$p(-6FGAAhA6L>LM^f}yg9DU z1htCW<)W=Z8kp_g2`G0;8JngsI;uf?e**JQb3 zV}H%y<8eZD@IFQEy{SE2^Q}B_XMntE(+cvJ-08F7aPL0(Y%=kd8+|^oQQ=qI)-1P8 z5=t@-L-Pw$cT?~4T? zp6{ti95216g+1;L4+kc~(^y#_e3K7DNj;OzU;1Ey_4$`GsQo{3;Ff0OuAIE37g-^% z+R{x|`9*cL$tPXu@sif4cQlCWDrMvk7$NFn*5seAgw>^cNEwxoAeZkihls$o&7|%z zCLc3NH+R=4l~r%~WGH;-JN}2yd8F5B{z#KC9S-sMuY3{bDfueIV@7Rer+IrE;jCC0 zESFDwHI$Mnxy9CISeo|V+KVibH*SrNPJK~Z7P?Nu>pWpMpDPNt1PTTxEJ3Ey98|S_ zd0Vci8_OCfAq zX-?266KaW^=6!3=tFPhhH_Mm5jw7D3+c)X(_(y*;jr5j({>Dt;QGVN%PTHi7k+a{< z;oY*WD_yz~hy?kn?%N|@DLU$JfM2XQ)NniU z_$@bU%YNDZF1OF>(lKG4L9=mggXMKQ0uc-<+u?>Wcy&jA@0EmZ?$-OtXi#Rgm$wx_5pQjNyfG`1xm&eo^o7G z%dg**P`xc?5_&J+G*vwZbLOTMHy*&5NG4kvq(Sb6TrAp7!EUKaG?GX+85 zlip;zeEMX5lNc+y__G*`@!#8*-e&s5`OE0ufhgMYb6E&`R-Wr(pVFtM)m3nlI-PIs;8BC<>zb~3%ahMHN98^~ zACKLId*|EnRoMkybZ~Dq(}P7d2IKI>x_;*>Yz0=L=0tmLQ=rtjTIVuJQ(ntUFEoc1 z-+N&(0@FP&wr)gwaYpt(bG(f>FrYmdZWmh~% zKl#fmeq^|O;z|%k?4v8)n^m28hrzrW1}-Xtw?g0yU~;Z{K&wx=8iQ?^@2xwlQ^PlT+C=P?_rGCJO{B*TPi#lt(rjD-B+p@m@fV1HddQ$|JY^6J|`4IoC zQ?)I2G^new#)a=v#mZ00eVqO3h#Hv$R47;Wy*>th-JnTkNmJFU!Zw#jga^B6mq=%ew zD;y@h;Fdf2U0!)B7@FpXTN#+t&bJe}BYk@ztm)m`E6IF$>YYfqLtork+1f8l^>B;k zVAzBk_qrtsioJ@mDVh^3XK%R=$9fW>w(BrPRNJvC1R{M_&LdS?6G(1zL8g52`?S~ zv#Sl+Ay5CUlb!Gv_r{B>p2~ZFi*w$F8HgZU_MwuV!Z%OjgdMWO@14D$<2(~8f zDKp3gdC-F<(7Q7p>>*)tyFdP*4!h-mia;otZWX=A$MTYjAZ(D8R`ldXwjzky?~(%_ z_T;|Y!yvLwUW(^*`39a_$!{L^;vU?iAW|led(@Lmku7*mlW#tXhV66xb0ieQ%s*Qa zS>Ezz03x}k@ppp!=bv3PkqJEd*`TK!_1K?k5@f^U&bBAwIc}r8`f&_G16LmhU@>3y z_#5)Qyty(60sB*x{s@#mtn7pRgpN<%CzIs8PogyQ-f#h|m?c*|X=yjV3tuv3D)7Lb z`jgwT{%NdR#p^iX2>|~H`uMc^PoCS%P5%68AKLhtJor@zcIq1cHJE<*7hXKWpQTBL zXKAT=De0A7`Qa&?pKJ{VMbS~$qH$Fu{{zfPcz(waa@zM-dwM-bF8jwzc6>IGq{s!& z#$l7{(KCPStT_I?26Eo=cWe4&kbL{^u@GCY=l%$=j(HwSLpaJ?KKwit>c#zqKNNL` z7hS0#OJ%m~#V6#n+`1|eMsaFYOYC2LUbTjvdW7nE$OB(G(q|84)5}EruOITt*&C#P zm7nDwUbcpV{pjU55-(@{<4*$QS^vZnNBPHp?qOy5>AykPfjRQ8ju>RySD7$4xvxUW zHF^FkKUmn$U$v)|8EV-tUQMJUGSu45d##5JzVe#e;ODOs(SxyXej}aapz4f}`@f;+ z99L;d-0r+#DS~uO*?^D-JRE6azukkZn5FW%>R?2(4ptjNyZs+}`hVyvl@(n`5dHVp z6~l;3My_~4Vn{PfTWqz`l|zZGhc^$Tm&NIo)v;U~*qf+Q6(b7lW05SiNvTHMqKyp+ zZ4lWR)5-P z%+Y*TB??u|JtlAqYu&fcK4dJ!3qm)KLfNGHq^My%1S(OpOy!j?tFBMHy?^pWQ<7r! z<{Ve$5`Rw7r`0uA2Y(uEM}{`o*MSQkA?q-9#SRA>W-*5b25Qw z3e+wQNmCNXVj7b4pj{nnIOjFk^^kME{Q}iaeq~Pac~A@yDc9Sv?G1?^1bd+&aSa_( zN1vducE}rTlmCfQf~RAkh67`;NmKGzLwnMg*sxH0GJ{NJpW2gVHrt=0=yUeuWc0|! zYMJIFz1pDjBT?)*zHu}sLdX}*b0Ui7*a-O=`8UC(vo%6lJ=x2o1!Jn=&MT01}#}lU0-_F%Bzvn{=TGps`9%x)4PzyG_8ka ztP43p=(lZHTQ_pwX2c^@%iEnSK|Q~6C*P8TmMjlaU`ygHH+@Oh`h;4%Lr5z^F0$UC z09%7}LTs>3xC59Iq7%A?;u(=oGFKt^iEU-h#HdPFM?wh|mdp0exENgj*^2Gq$Bpcm-J8N+)7w!Pa+e?fXRQyHNW+*7{yKi`N|a`&-}d z*1q?%zMrpsk9wq5pse=2hc$g0e`g0;5f|N9Y({Wau4wCE$g2k+2G4o;wZZQ*{N4v# z1{?|(Co>c=tyJc5k>Uw z8Nh+nO;ebmj$Aj9&5k0TwCO|(iz1FAZ$K{}~?3>@EiSow^tYEN2{=j>Q}vXQ2ZV`Dpz z<}_p+`=|qXL_TK=qDdfaE3&VmiBFrq$MC9U8jjWH3iVi$4gXQ9$5SXn4SZU-x=HrR zkK;gO0id>)w<<57?eL*tB#}@`GpPaNCL?=HoGGU zqa7&Q+>!VtJ~x36jzv_$L%uN<&x!D*mGk^5S(}bZz;hGKDK^R@USNhR>R>k5OWkcS z5E@Sh3Oj9KD?1W562SsG5l3~5J8Ca`5Oq^JEz2dkj%)0J!Nw;0mZmKoK)eC-y41uzh$Af>h2hA6*-@32skn|} zC*#Oox^gsIs3RSkzaCms>9Dt>`vJ#QNryhd*faYf25!!@S1u1_r(+>*_jr;{hFMJU zB#BU`U)gsF?MYcOjF zDu?rc!Gqa9y+}*Cd;n|Kn_Qve1~bx!#MAJ>EU^z+AK76fZy4W@eU8!Dw@O;Uc}wv& zsd`01nn7{P;g!Ma7H0zOa+q5($)!Cq*_34Rb%T!#$er@A=;%W>Cz-TkLsN*W^XFWS znU!hg;#**)ut97=3i{v8z`jf&InHiKwkAp4EA>kKLCmu+@u3SdEbaS}wZymAK(+A? zY;aUm+NsvYU}M}gBSlD4S`KBEdgA3+#6@4i*{3SD1DQuEiKO}ItY<0-bWcr3S~*ul z>1NTKfN`i%I;XR_sU)8qWiL`mklTi||4Z@#D@-L(Y*-qJB-h#UG!mZZr^aIKF^WAU z50h43bdX}XE~wK$Du3__IzZ}L*flcW)r7t9Oyz7{(mf=Z8gSem3r#0x;ywf$RLGNr zv#)5jl=)0@Qd$u9X+JVhbQVPRrXOiRTUWCd8N`cRW!*E#Bx=)_?a3fbTz^feYpvc~ zyp{{~DXYjJ!E~LTIUArAi}b9yfq3~+zh@&k zVWM}^^JL9~;Wz;cb!DDtQ=8(iXCD|ymUG)d;8*$Lj`wrekQaB9L+l>|Y45o>S(V>& zm6b_jeorHHO;@HQvmTiwn#Lxx_cKXn@|w-fgkrdqNt|8E`|upcL}yIJ%yjcijq*Kv zkx9DIxqVpY{%FCdJ}k38@o$n?L&)ds10xnM*1^ubmS%k{%lnf)v|vF7OcNk}gcXJx zbi!jm$4s3t2JkK52EewzPG}D(0Bi@u4A2S30R0E*gkJ$ESvsK%APmw8T>zY4b+%5J zkYjx=!0&v(7QlJHZ-7@hx&on5u1;tP=mnSvSP9q*_!;mV&|t7m@CUR9j0CI%YzLeG z+y?vwcnxqIq7zmCssL)??>zJOfT5@~UuF>;{wpjseaBt^jTUegXUecmk*bR0Hax5)PjD z;|lNw1OmbVk$?^?e-LT!a{#9xV6;k-T@l#HR4$@JRXv60&)Km-q;nJFe<`NFLy_E< z1!NO{QqAJC$z*LQ%aPN+1v&JJf26WPyN%~%Yh*!Hb5cTF7>}J6q zH3yqb4Z3G4y~>f%~6Ffo+T4%C6>+7EZf+g47UU-HBM+ zoi)lOiDU`upG(52w2!UNCGNIZFXFU~`qGY$+Gn}O6aCdFx#hedKucI(8eC9cT-1~^ zEN&?2-%NK{)oBJL+WNo^FaHOBJUtV~skgx%sB80^>e?L3ofkui?4EH%%~reaUb_{G zvHk1W`e7u}J@AS;dH<6(Z9V&K80i?(6ZYen;11^?wgab=BPz6#uj8 zHVwy;8-B=eVruAiP%Ricg$LQW;l$hF@c~q@X2tyrdodgy*k0y4f?SVQK>BudUCyhR z_A#dI+tu|^E3?|wwMx?JW7cXUN$?t{=6<`j)_#rrSJq+K$Jf>_)hM=hZ9SGJjakS3 z8VU2&bRFw3iVSaX<^~rWhE|nzUA>sy9!0j%b8GmzS|;aN&}cG@TxJVKljIg@w`#cM zxmwrLQ?Z-3Ydz;X4o`?En{#{~n7Kzcx}0I4`Nt?Xc^0iX$p`(Lu~c0_KT&ZuaOb)y zO)?9k#Vso7hGGU!9v#BOB7e47r6KQ7G@gubuVqh2SNhBLIhKz7L zPzHOLVAJtE4HnWn*ts#J3&~}UV@V~? zYNNEvMItEAIi81cs7~SJ+tlN`Z*dU8UaklKr9{2D8qehtAU!nVppU{t za&IyjB$9mAWeS;2KC|qaLR>`hyXEwBvP(-_dRyi%BGcSSilurzu_e@9yK)nm#tJtO z8@kGg&EG&~(Z)`7II@-%Zy>X&ujBWd$OJdKZy1}jn{1$7>aVLMd=IHlVPGQnlJ#T| z|7py$TS=~^*FN&AQ}me|2>A9MWF}IU9`R@BhIHkl5qw%Y75{^C55Qp;sRr?&7O{B* z8+C>(EEw0mx_asBX|NO1b%F)3Z?;ZoHV5`)29(}Roxt#H11&rWa0k%45SkKr{VdoW z(AUB);C<&p#RHt)$9f;>48N}d!-`-I0IlXB9S~Nm6FvYuD+a@X^P!Rfp$ia506Ycs zU#JuI1A@&uVG*DbU|0mZ0|=DB7+}9xC(H%>4oEK138et94`2WRzXCFspin@}Ql0QM zz;7AM0YLl^kq^M{faC%h83A6)krD7KAajLIcm$ZV5>^n9#dN{}K+{z^p#<<3!1xi2 z8z5md>=D3sjZTmOnzgV!fTw^_>tI^|sUPcvqkx!Cbiy`3$a#(Drkk@DZRIFk&-|AfWXZkOts2VAz*vF`(5Jh#BxN zV8~bC3+S^I(gXYk82&Y^H(>BLFznuiM|JDPC?{==YVmi5d$c|pR6+ofdP7+#XtmfIHwc7 z0fd}K*bCrt0fP`gF6xA7fX9H5m(c%!ewQIRK>QW>7J!adkrxnjO((1ZIFthq=z&=k zKTRk2Uw;eSCNkp%;*7=Tj0dp0)_pUJM zBJpxHmSf(#o8w)j`bNG>s#jKCWV#d|tTWUx-zdQ$=T~%VY6mXoT!p@*<|B64_@Eo6iM+B847%h6s$my(=(Ps7zBSW68 za`Ypd0IjFwuCC)?v&2gJuo!zp*8ebkoOiE$YYLsF{^lsFk696u_whpEDkvBt1!yuk=SkU|*cCj^DOdUutdd5*&mLdJ zp2Y4mEaV!=ri(7KdDlo_lh4m^N{zbZyE1|=Q+nH^NzUpSv>WWuHPV9IVo$D-w(g!- zSY;}-1j_w;PRQ5!n@+P%<)jI{1&a~n{<}#iI zmDQ`kg)}AWoLa6P^^SYWz9}coVaRWklg@NRPv&)<3~0HilS-lTYN2jNYozx%msFL7 zUKx!(Kw+Fk$`iK!I%(ovaDlgVI{qRdH%B_8UNqsu=QOKo3in{suRPATbNR2Vc^K*G zJs7VhKr+Ap5JdbV>K}QCV=J~l3}&zDI_W`gyLN(RTd}azD|0QM+=FKmF*ug3h zB+tRP*10b{yIPD5FiSZmvlgQPW*)~RGCO}7R^U^c;E#lfJfT4?CJvb498=|0Q$Qgw z{W<10E9OOgf#71PgHg|s7wV9>?gwNKj@(;^L>Ms#*l3RZ+=|UUWNX~U-x;&`(>7!{ z`@^4xkSYaU3wh#gA|M4hg( z-a)iU^IaaQ46G%DrCN*Ks3J8g(h!zrR5E`pJ3x%PLRtU z2hxB>o!=4|D>*)b1qRVDBB}+_U)`B0h)NhC&x5F**s|`yG=$!BW8;Hqa^#0@ygC|w zC_bVL}qh}*j>b5JJ973m)q3mG@ZBE)V&rs@1JXnWN8sPu8i%Oq!$QaFOf2(_qJFa zG27OZ_9Xq-Kb$n0xrfo7^iO9tB#gQ`mpj*1X(2D{gfp8TMu%W|p@h*0(vi7^(~$*9*>p0?hahL)g}2TA3izNKN~l3;v80q zRHzvHX4Jb$Xf4~?!zxy`YI7T~Zq4Xu>|}h?jE0jbmhxuQ344`HX-@-*t)*cH+MN)A zrAO12WGQ<;nidj`MeIoJ3875eiN?_b0W7T(TDI6y(1{k>k&>0&z{!O*>qaB!^FY?W z8?7dZmi~!!1*Jc^vd7)&efrYHa-|3T*N)vyqbbCfwMwUx$qu$5od!Cr$c-1)06qn5 zwp>W3W^6rLvNEWKklk#!fyR*8Y`uXtwLL#19^S`e%UJ_mOnoCq#`7I7SN!0RsFbR~ zeJc~;H?B-X*~z92ph3`IWdo?cjY(9-@uxu2i~TZy>b&YBQ^tsR;Q(MdU>)FZzBmABF#ztJLYPq1XhSR@&hkpI-56w{>Vy8sec2UC!Vdzl%6OPS@K9a z1@Q!`qnh)q{U{8MeQfY3>O-*EG>Uc&T@P-UhbRRB0I8=oQ<-zgDyk$;_$2mH51{^K zKaZlF$ro+q8vjWTx@7ON$Fr&<#N|TD4yz(S)3T)SAFR_Jo$C$vr6UPma`M-AB5zw-IHl3X~FJJ2Jaor?mc?a zXFzK%@W>MTp5h7q-<%XBWk#hU@bK+@_V_&-N3vOD9`!>%>GLpYK4N)!FaSN+kvy79 z6c&z_ZBrb@PE!uBK2u>BX0xSJ!Mq8poQe{|nd>wh_xy(CPDA%@XKSaSgF3VG)95f9 z!-$$rJCTpsgz0omQq%&>cEm1m)%8VqO;w!cy@0@=14=SI)vG9v?y0v|xy*T~#x&(r zEv;JZY^I+<2WtoY2l?k+RyG4xIGx>?L3_3Eosa%~2b!bcUU=UPK!8!|>1vR$^_k>~ z&2k@>I+M18;a)J4_H8_}HJoM~mByusXrI0UzXvD-m9E@ol{0BPxnXHLi>@Rjft{R9 zk8nxMp&sN4`(h40$FYj}70}VnZKQZ18DOmWO=cez(0QaU^DRU_Ik7H z&Gkf_7}HoEaOw5*Pwf3d8t+_nlL)sno>~0>TsEJ^t`yR**wVQ)jjXo(G8byc>8~5s zYrg8e_`@4mk0RQ}@w<1CMQmXaeOSLg)_~@2%y|*@wyc;(58BXrFPOt38qVG~qvzkS zZ_RWNac1_5Xg2-p3LCSC7Lz{g$s#(G4!FU-l4t~*D`7~swQP~-bxOS0ybowD-F?lP z=DdW4(R1fn%o3VIirDHUbO616!I~DZ6#0r+uch!$U08!XC0PAFQOI zwn5YOztfJM3o-C;DBniNZChsjU`dt|Wx2KvRf3kt{)Da%Y_*qXz-~Xj2SDc6(&HT; zB0(nQQL)8uJv~LCYAQC+`HnyAdZ&QJtY9MzcYL3;ZqV-_iwy9Ar1Q(J!fHKbyau4t4%wU%bHKc+Kw@mY3V<9%8vv zN)h%mSbqPW`{oNRMf;(+hy#1`BkdA!WevePd#`Ckn(`|amwd|k;7pclN#b5pqF%X> z&$7!f;TE$`%b<$mET_t7PdoCy#qA{BO2|yh!Ba5x2n{|tP0tbsOW7HkU(eHX6gXjQ zD|h&2QHnOz_%H~524TsUXydpmNQL@_5^$4}>4pg9Gmf}>Om7_uZq*u zM&^yN*kx8Wv(1-iGo04Cc!|nXL4fcwZ9-3sVDm52Ht{P)5TP1&Gg||jo2q1B0j}6kBo7_K*3GB3@rkW@e0_!9L@|^XrSAb z;qMYo0)Cvbolmzzk`vpug`%8nk3wkhqj7&GWoi-@VkTAgzMCu z9v{pWT&K|li<#>X`9yZ-It}seg^Vc5S_`OML#A;T>JL97lKI}iy1xx9+nnkv4P$2fNH2KCTp@Z{uIoFo6>kjOMQX)_ORj-9RH-i~qyhXIYldDqrs zJ#W&fSo9yb39IlPyLl6e)1S4xMcaA&p~hP5D_oqu@7KXI&G_mbntUaj&A5ee{U!VC z7EL5r0o_7Fu?+J zxsZzrv_hVzRaA>O7M?DS!}BBqmI`XF$?O(*la!TrXk*frdEcQi^hFlye~0?e>si*} zzccIIp{Nf34O!~&CkxoIJCLN2{dNbE?2u(0!d|T1Pc)$Ui-GUvQ^)*$pwvF$ffhbE zv>_1J*@0~CPbhHPK=#Q`uu)6ck3XULlh|$klg|F-Kkb;;UD}zx7{L19<&_)2rrf3e zt`(iHh+_|I#A7g8zkTJ! zp8iGGlJS-$&*(IJ;%3nhF~2^UV3}hpW>EH*ofyY1*@^y^whcsk?BH14Ft~nyU9Q!S z|Flrssr);TW!sBg!oO4BU6oSwmoz1!=uL}R^@`rKnG)^x=<^K8&;fhGn37B5+mF; z)zO&iXqK}5$Zpq9O|n-q7}biQb|LDkRtaUTwPIsm^fj*tnE#INZdk3*pQ_VnqdYdS z(OR*^Knvcb?ygWedMOSk)nF;3(1!IYnWyq8BDUtKu2O+Lwo~_fs(!i(b~Ds?i??)! zl^F`itt((;O#!1=C9hHk^;M%pGe2jsW8&XoC=UL+UW=V@y`x!&6WgffaEdJp9 zV^hwO4}wkjx`(p6AN!<{*r|J-isplWe>g-L-w$8c?1ruOuUML!7)UfM-%Xsa9pa-N5DdWTncsSfXARxO*0gdZ>*6l9 z3B9!%%PicRONv98xaxXY`D3LzB^PBYsmBs87q*AgnzEJd;=a~)-bmpex9KI>n*8<3 zN7xC0WYCqk5pi5GrSoK5gt{p?p(5$ZbvDmKY(bi{?>xki#vygoxU5(urMhC-tFBbW zvL_y51R}P+p5iEaEru=d6noK%)$Ed|xDJN_CV7bojg1nTnW8CiHH#O;i`en!@p_yj zE9=6}dZDoq?1`87+TAy>y1EekE|oj2D0BM$cq(q5D;=4Qw>ZgZ0V;syWeLtw;>$cI z*gS8s71e~Xo!(;G&}&T-gx>*=0Dl2q0&3y|MGsvOAHerHl&;LtN1RHgZl3QW68gL) zTi8TwP9H2}JDUKlXDxiiFq}#^_=@f56D=$8MY9gEJ-%WHS;y}BiaPHYbQeTsPVnSk zgW}yQ#bMrf>aiw_^%H$bAj|R-GqCf#-A@eh3B_GCsnS^aJHqtJ%lSO77RTxAFqX2| zQ$Mj84)izi7d@~}ZRan>V9R2XzgXxfE#s8-6@Bq(BLw%V{Y8niu}A@85W)KL+d%aH zt77(ZplBjmmK-Gdlb_i5AhC!vWKV;{racof(UXal(s^@2w3PfXE#2HZR@pz7Gj&x~ z@*57lyBRMx!o4pqNB-%ayr7cgyCoU7%*nT;leoWSo_*JxabI~jj|~kL*SbthfOl@c z4+B+5HNXTY$}Hv_0@?IsT|&h8py`NbL&e}DSKfR8u3LZt65{w^!~iVsgaLSxZ440; zLoS!7gCJEI1GzwqIo7i-{IClqkkr!#(?`!7LPZ~+_X@F76RcNa=5Pt}EhT=8wtFn5 zM>I; z>Da7r(JO%!VP7K2|5$x(Y+s?IhmFbJtU1OftYD7QC^;}p>JAk`!lB0VIA>}svCb9BP6L!HKduEA!p0*cgYIb?3SWuqV0c>1M2ds7ct$s zp>mkQt_D?6+zi7vUho+|#MqBZ@qJ7}^?CK)6{>x z0`>xquwUDVE68_jW?M0^>AC6HlTEDRTV}P9Fbv+JhtW8!HCtnbUhL_b359jJEv82- zBT*Q0Su8M0Ob^2rWA(f;r+G^;%8CxyD4Tr|kxj0`2a5Q>lk%S()p?RkMa$MjiJhTG zZbpd{$Wzw49avmoW7~+Iq1= z9mJ*KyT{ZLdr1zwOHCA?czf7|_w8||cVlaLh!e9n(TG#7jusoVGa^sT5xYEtR6m^; z+OLiecCL}LUkC=2)!?YbMX~GAqG`kl)Bmrys+!`mysX7#avP#H?<3IvZ&Af{Jgh|( z2miOI5$ubOQ2CFTe$2n+wUC(ZZ%?`$Un^U6%g+V{i}fg3Y~wJX91fZE50W8*}Tr8 z-kJ4G5N-h00X6}SSbpt{o_3iqT;+uO+ZgZ(yr$V~TUYUCGQ%RriB~BP`X-25+E(Sh zZ4kO3UHKh|+KTfo_#M)$=>m8#=<=hidpB`1);fE-iLFQw`=c8yS1}_T{IGxZw9_or&#{Agtcr^PqA_M+>F;4Tbc^*wq+F?5cfp5R~c7> ztGj)UV^;&%j-KMkMo$Nz44e<(9|DWwZ0@m$UZPjiWBoArt17fST6_*}oce~36&20C zkE0cjNM2VHn0(5{_JaIen5nloha6@PdW&(m+|aC#*tq^G%nW=W@bP-loek~-;~Qv^ z`iNbL=j2>S0Vc*8@bv837YtuveZ_uGhHLV^rCth%U1y80`2;RL%jXAz6+N|z$&%0) zlNEufxq3{*X!e<2?C<&Q-~2QIwoK?0R~|QqLPCh{_sh&JRcwygs!J6IcnrP_F6!E| zsK8aoZzLt|(krj~vF)j16V0=cT+5XlW>-@&`=f9+UF-%W5Su0jIQFgg&f;t-8!gg!Ap)(?$QriJ-tY;&yQne);Mh>KSZqx~M}7 z4y7a0n+xnsI@C`I8{bcibZ)8TF0H0+N!W*d+fQtxZ{D|dFtw5l{!%Y3|B8~S9){I+ ziemW32R-3z)Ma~s!?4ySqYruNKmWXwdg?rDoq^6Wv&k9aAGq+6Z9r>toZlgtz!n?C zJ-jWMqJMNgYE{R3K6=H<8?BQvU5|G6B-n((_sqID{I~Lh*e99ddyV$k{})|;h6VSB zL%I13%jhr0wwl?yrg2X5a-g844+PNNL(MQ+?E^3!5-d^hB6v;Xu*9W7?@&W>WQo>;z$6PJ$4G zadij39di?eTY%$(6NFvE5`@^{2||YvFsVZlgh}k)Krx|71CTibJOO@yP(TYn6d;D_ zvcv&o16z|NHX*@mca~Vfdu0%2-YS-uEzZP_z=3RW7&gE|a^Sqe9nKMPjfqv{h(2T| z)8vY+$tBh)SNsbb0WAkZ2kTk#U@^+2LTw#_Wo@h)11zR)`06$5JOnZs#SBBB?TeVFrAc(-dxj=d`&c|X^`6*+<&F_csDCtjGeZnT$O`n{EN+hI!V<=c zlbS4y!$+lrWA)GLpfHnsaCRY9^@hz!{z@#nFcx{-Sk+iD-gN^gakh9-c2(N3#9N#m z+iof2#AsUe4_i1+9EjNcFXJ#deqfEpi`(elm+bI(5$EGs(+LpRPb_BwYWlJ>E1m#h zc4em~h)3$RE#s@};)!Ao+c;HR&wiOG;u{RC#UwGCet3y3o+O4g?iFQ~@dj*OS!IkF zgQ>Eif}Nfu_H&I@@!X0wOy_IhSvau7cFz!-vaHFXT~Ju3nij^_v~X(sx)$DwR9W(m zT6nU@V?_Xi z$BOt`OfM)%J)vCs=V~${aC}J`HB}1!5Ps_xZ{uqiRw1GmN`(o=d52#&QdwZ?LW? z5S!2^;cQ(2jQrQE3>gr_s4fr>ka6rlA!uf^yM zem0><982c1TSaglBN&}0=5#!>lZ(o=_@>i59n3~y=LFtI{BwMHfySytRNyO6U~`E} zc*&qz39sDAKAI=?L#_Ut2cB5(6^mYN!+v?Ay7Dz#pz3gf6?`f=pS3&c_!MT<@>#$( z7mES(*^lgGF;sIBQ;Nm5I2hzJU+hg*FynmD&~QSjAQ->kEJm;s^F@3ZojsTj7XcgS z3&a-oKMts6cJw-4JODklJSS^dF& zHauDbVo2pZYhoX*p%H6^W$wvqI1RXpNQ$V9>~9j*33UaxE~_{VxkT2tdrigwYWA%V z>i&RgqAqr;iMmRrv~PvEN(>{9H=yGtQ`?Q8b`<6cSX0i)hzIA<+5w2A&gl*{U=1 zJYc{aL4R))_NjhbNLx06lf3E0Ce&C*q2FP+h@|1)3E8Tn>*>ySLT7098-I`0PAgjQ zz0h5CD~IyG2lPjJ^}VoO`6=aW7Ccp@>*&a40k^fp(w)taGp-TXGQQE@FJv@34m@<|O+aWD1I!s5lqDN8^8;T}HL`f0or-H`q?7msw;G;ho73)>6sRGqJsilYXG7 z`-Gn;Xusf^K1S9aFxgs)y{^GilFT9k-e$V4xiS2Ey|TtO(P5tf&svLh8zB z{s#m+zvhUIRw|Z-jQlJcE@K&}>>UHqz=Z>XSG~P$Ie$z)9TJ)}?k|&*wa?3!1;9Pj7GrsB46X;0 z&eP*V!Yc0%G08#NgzuzONs(yYcxg0;C=&QN{tmlLTMr8(mHn1?edCq|0Cfs`=jd(NL5U1EUm`ubT6`HAHC(_491+QVPxct^S zFAR=LkP=V=UYZ1mGo%3UPl6Ny5XLFYK^&tiV7SGiSDbW;!{b>3>^S*3lmN*74Rs;1 zN;t*T3MnXs9vu~W*y)ifAue8Ox0<@<3EpI4~%K zSIR-RXfU8_YM>2es9IM7E|Riqpe%#b$Iw$sXv8tWhyFSy^l(l4QkUH5VwjPPqL zBvsV&xG-EL{z*B<1y}DMR`NHnk=AJ!c2}GqvY&qB)c$EaI&bDNp^v-1R7Mjob$cUq zA>|zx20Hs&;*73XB&Bzy8I)$KOIC>t0M=B1kY@_Y@ z!V^!d%|Y*!w(nrbK^5r3LQFurT=fFIw^Eiu_va^Cm{e;1>dF(r!d`b zr~9X%WxY>h3xsCwOE)1awp@#;|9nhE5BPx1=eq$f?;4L?kc>h=mmv77mFd zo`VEw7p0vOd^+^OkczAJ5#1F&`Oeu9#~l=$vTCWzRUpAx8=1I`Ylyp%&YTlQs(P%W zc^9zlj5sf(lWUq372IS(w`c;vI{)qkx0IagU}>xz*!o%UdDl?azKYsk zzz*>c&AouR<1U#lpzT7+s96!F_Z2j&2&=b|bfHK{YsiV5V%GO?E$HE)L6x`duLF+c8xN>Qer|}XvAqluFvP3Jbk=3Bg z99hi~LXd97h&p8VhNa#pT@**Kz6ODhj6iMq2v3dDh0hq76g7s0^j{&C!yrhBv)<@FAotaL!&rpDi|qV zdL~DywYpqh40EEj9`i6;VJjIc-IL?-F_>Bj)gJP=B#dg8gY@yz(fe3-E|R^wxi?kz zZh;ryg(!D1q~RML<7C(h+I&gqY;PyygTyOW`DNE}9`xIF!QJfyQW&$V!A&{^1OK50 zNA9k?A+$)x{Xnujd8G7v3`!(RkU@zsd+GF%duG&RO463l*zX@RuM%-X$F(HS@=EY^9`2cl1Y8YJ#2DUI& z)uIuS6p3Uh<~ZY!(pcP^To8F;nG@!T$UNTP3L;A^DX%XYQ79Q;Kfb<0BtMDBz+?gv)!V9hE662vO=U?aQ2#VoOG$RYc zy_QCYOf({l;t_%UXR$mb+$)v`y>?fG291t$ZisYJLX|!fADd7caWiMDN*wvGQ$gde z2rZk8K;;3CONiySbPaldP_&Z~_get3a2oa+xJB%W(Au%vWAJlDPr|jyO@5up$&k$>v~kk9nyl@wE%NMU*z<&^FDU3OkMOuKa?wb}m)7`RB07p? zDAXqSfRv3NBH=0HCJ7n1`dC)ybb_FoFO%q#+rpMn;U&Ek%C&r{Y50u)7APGsuvz^* zSneBe?O6Q4=1X;w=zb!pXHcGJ! zle|wyJ7iXP$|f_sQ%QQrH|1@$LkdK<+WE(Pcu#+fVG~zW^K}4c&sVc$_T;sz9dF^G zAA3MT(C3EW-EtJ`uB#=-0KA{WHm+y#Be_94(`sJ>&Huh#kkaRHg&rxxT|#K6n_)FcYOuT zy@_?zunG%D-M%T{i+APZeG9wj2D50;ErdTWw?uBcC1k1^|4uAOM#k^(J5XgndETaOgl>iUpt9c z8^pAa$F(T9Hu{%+$i(7_^(zZ*t6Fs4vT5AV_sf5Moo zoc{PzXxfl)Q>?LfwLY@Ae8cNx#ZvlR^1dsKb9sJ)+eOUflO?h{NczXL;;zudoU*_A=roJ^g|ghQ`i z@v2N1sjk^5(75|hOJAnn?+YQyb0(*9=tWi6AJcmkFd3q5Lvx@qWGU%xcw{k|#{3s-$CgX~bi}N44%Qr9T!XJMJpxtyikmCP)h( z(6h%vtZHlp^?xFaQ{}|d&L_f;ssXoY%s(hj|FiVdKf*xOno<&;LN1s_0Z)Y>)!_Ry z^r*gf5OoIl_a3-YYUqc_yq^Z7wO}Fg;Dhc`P+#O%deZ{qZYR{40bz=EBkjs~HX&Ur3=Z zgaB3ltERCp1WBnn_J=9@CD<1yXQsarTBk=O@Rb?Hg6|Gt%uwiptYLj*uJok^_aaX}yVb}%|DFN^=(FNRdH&>S z7CJi?TT-62|5qwMNMp@Hh3a(tiWsI-3M&qV1DscO>q+V$upO$OuT!bOTB$~yBWK3ysW!$_Gsd=~$`=`{t@3%P*WNd)d|sbD z2kTp@wFPReHUAu6BMZb@YfSYylG*~Y)*7HJ>7P9^HfyZ`%8>p5h+D^H@Qc{y-?h}5 z(nS{TWT~?Kqxt7KRGLQ@L{_b;8cFADSX*va{>p~+Rc%k8zP4YF{Z)0T}=Rs2LQ zYPJv!=_92=wj}4f^+>6 zgW3?o^&I$&0qlFHQ@I1n!C{9bj;s%kqg--i)0B&;S6!B^+P#N4*-S1JSV*NLTcm+&oU35!$?xO9M9A8;-WbiU6tT}e`998M^JES;zr_+vpU*I9;h5jwoDJ(VR~x{Hj5Rg6uq?60kHV@0KFy66N@; zcjK{LP?R@D{9rkLTy4CaB|krysT+VeOEC+wbAS{uh17V`4vUEzY>IjPd7|3d-1v?@ zaAh8}`0ftl;bvtDD8a+10OrkY7xpm3nOCOzmVea#&1xE8TP% z)s7lenrsc0uewA))2+q11+Lb0d5!-954*k&A4OPmq+aZ)>~fiOgU8FuBy7-An`Bna zg!Ua0_(6)Y!&o-!N{7|fY9aE06sKQ9(g3kwQR?#UP+EP~yy+oC*D~sc4ZIVjiTkz# zsx=xHaqfa$Lw)866VvN>4A}TBHUv^P{)^Ffr5p<4zxr(6y`{l2q_G9UyRS4uhB#Ot zoS7v#z4Y&Titu2OgEDt<(Sal4F@Cfk_2*K|VvV zF%B#64BFCw&8hSIIu41G(y2{DmaU!+vc^h}^XXti=EqNIH)PG+rT`cxW%yXfs?>1o z4s_J05%Y9SM3jX~V#?dbWuA(N*CkT_M$D^j1dmz4dvmN5l20=mu`bG?^iw0&A&_T^ zk&YhcbaTo)>}|Z32wn z@C@8Wr><@}Vqlmqx3$`s&C9O~kzsv~(L|(HeYBIvi}h3c$rw-OQJEKOs#eQszRDxl z#;mp9&;rIe*2L^y;=K^eR7)4N8hBWZV`Z%x8m+g zIZACXa=whQ_UxfYX`?r5YQq=e2ZQLGH*13%XR5tfw}#IlfC9T4jfqGvrT&icTgK++ zG}wnFhjW2gjPxx?XIxQ)B(hj6R{ER+vSk1lj%lR~nYbS1Zm~wA4CeB&7-~Qg_+q6-TyS}U=|X@^^27F87K3i^8hK4g(INP{Ft`2UI#FSI~eau z(=ZMsN%tqnw~VS&oTL#lVD1>adOYk|eaPOQHS#<+QlZ!|0A?wY8b0g{)hTKz!2@{E z#e4d*amoYqy+3PZYY*J{QZ8Nb2N(S_i&!((KK-FAI(9Ngml`T(;p)?pMIPlilT!i# zOW`D5L`brSoyiY#^zqgzaPT6(Z1*gzCLDCjc&VFC#1@fjlv2|&yCy??C#3aCVN$(M zkdv1&UJB!0ePk)RS{)qr7|w%9kP@Qp%#yu=_BLZqD)VeQ-3%S=-UL%sGuBqwJeMP% z!Y7sSrThh9!CD~ys0nb7fHcF3dmIf6VD;d2q)tCdPJ$z$_1giOkDxPNm6Q(}dt61@%aq@W zg~4df+=_+c3~P8G^H9#Dq(GLbyh%3#Sx49_yS8S5xJa%Ol^(twwXP-#*Ys*|fbNZ4Su~(M3&NdebK5hIu)NiBq$cYjsjo-vmCbiz2bh^BX9Jyh8A`hJe(G6cNJSYcO#L8r6_?9iP5} zv=+_kq?^SN*wNAu);F|(cX<8W>Nu%V_C=P26=<^7q7qh~?;DRh{(ptG!ZKfp`Vpn& z!SOJRcMfH~_BqI;k1RowQ`9w-4Ztz~#i6X1s%ipV2t|<(Q&}j}`3;_7p|5x5tCE@L zU<|{<(&x6In1V|-+vj0;PV3Ct+OFbd`#YAlb!NUWfH~Khwd!%6H=Lo0%Z=mtC}sx% zs*tahJg|a9*OvZ;+!x^lsRx=7f`ppxT?d$X57|VaVXT9ucz~r4_)1wy1Kis%CyZT6 z&)?_#cZ6a?cx(P?vIzWE{TTsY6nxud-vIdjlzm$G2Ew;tFgyifB7XG`c;eykrN~K= z;VUfVuyODu!Iy6^L*gf`J5w76j$M$1%D`t3V~sJQkAgua)$u+y%F9+pA6 zxI3P~dA=A?S5j_Q=H}!#YLLS0)}xMQ-q*dKmix&3Q6b`tJ5k?4Rw`IMxXb21v9=d(J z74~9I0`|RhzZ?3vKlyfNt^=JQr%p0d>eH_C(Ic%S^8tfD?AeS2sUixhJDb$M5a?&_ zDBVR6W)_$6(A$`QHwP~QeyK=?nuD`=AfGb3vyr}~$-v1Qw)!PE$n2Fl7YF?LEOM4d zg|pbfQXe2hm+L%*kCZn+%y=nr1pf_K#eWaUkd2$TzYwY}oPL2{SJ*#7A$3OH z%oBbaI8{gTp{L(@vrn#M^3 zpmOJ22!jxF8a__3Rx7g~3^~pt213<$`R+a1-h;)sHbRv#rP}NZYN}P_XXdH%B{ezs zWSwlPcp>`Jz@DsW#HYjM_ZbSx$3x)&k#Z6~R+u@_;X;D66?0?~3}8~*BuHy5{#U6@ z5~MHSKUO6gJ7i~IcEUE1_Vi?}RWJHcDL$)!n^ZdXVrI1x;~XZ24%9V*HC2Yu=m@sO z#^V~^tS6^P*42J%lKf`$!A~hMk}dG^ssWVS7{VPgOMLju;h+oQdA_A*kr-UAkaut9 zqk1-xQ%r|N)m8)>{<0LWLXWH=1n=6s1HR}@rM+2K$XlEAVSDO~!jb|ddN7qr`mh$T zIkSsm(Kd-3eHR)L#RBc8VGafHQKWvfJc=d2)UG0m1rLnfAyY!B$?9kW<`kqJ901}v zW_I<&0s#?Th|pz>9;7(psluF)eS&j>R@(9d$LP?W3q%|f_@6YI-tWuYLIg|9Yk23u z^2>EofTTA6jqP&&*Qs3TP+!(OvWuK(AFL2`A|Lc6r+3l)94DhQe!~+PFl;4oRC)Gj z(JnJ1IiNQM^kV_R{kF*oU%z6SC1+f1A>7_A#DF+*j%KdCAIMqxe!^Nee@j+f;G1~U`OWA&jed)AMo*Xy{2$MK7{tSF;mR}NsVF88-`_#3bCr62pV zZZ1bRzmxtKGWTb0E+4*|ek(N_z*@NsdpG@5OM1<_>3h@S0nFD$`EL4pa{6w28F1;Z5}yAGq?0H@4{DGaOgbWBwv?zQ+;SjWkH`}r-i5x z+z11Q(=iqpcpRlpGG;|`F65KBREbgdEwZ-JDsZli)k`muEBHo5Y^{Y*yjh5?@20wq zK_AsM@7d1V@B>6+yDf7)j%FZa%o1|Z4U@u7C0W2Td*LJ|BKA)LzoMv?oW_PVJ!P6) zLf6*~pF!Gz%&T6*ci$W{h^F^tuAz@H?!LtlEiFaT`6R#5fzG{~3LhQe*^|F}H{yo8 z7jo6*VA8S_8T~io-Bc!PDi^G{EU9!_WWZO3zm9dpXujI0GOAQJMu}+g_b9>4voDo z;eMQQXS58yf&N4?Vu7Gb#SkbjRd3SWL^i@JZavfv1rSpx(%g=fsi3vZe6F6+^6@4d zS@xskBMZaB>!%EpJ~ zP2>^JuAm&#;pI0X798NE&wS2iU>*@#oyL`qCy)Utc;aQ3;ID%7A>Uz`PVy#FuVE~J zKc^03LH;}qu%zNK2QCY43EXnHui-YrnI_WlVJynk^6nx)is2-<>WS2NIOe7gXyI_y z3MSS+4aa^VoXUnXes`*R1p5U?A+L^LL9GPPxm@vBGcUrAP0$3m<)Jn4JPikvpAU;V zOwi2Bo1hsimW-z0k(gTZY2io~)FKz@9%&Mh?(zUXb_2QdZ-|uu=1WuGbaxcC!oE7FZ-Z37i!IH`ueNvbOk zWHJRIMma$f@5McwTt1XPnkB0A+o<&@);T1Y&sr98eSvm*n_OK1v5;$kA;Qn$O_I^l zG0fX}I1(5gD?y+G4MD52Bsw|<%Ad{ja13kVQi-N`BUUO~Pl01uch%PI4uKn`|Qh`JcJ$)jM3a1StC=#Z7xgi^mcA32!$P5V+CR@-AiP9yL6iYkxR#$G&QD{=*fVC z2^AS>-dFyur6u3-9}wjd`tTAKSyEM|rvY}(1v$@rJCF1} zZJNlMyX3lIIF{DWLmK!1{A z^am`av- ^{UZ-%GJNvdSeK1I0>GevEN|pSsoQ z%-b5_Sfexc$CAoYU{z2HwXJ~;=C%fWi7=vUAh++ZcsJ9i8Em>LHJwKDd48TeX=bHc zrg=4gt^(`?9F*}Z`8=OaM={U$D1*G$7zHdEv z4QBqrC2*_Ywx`nqO!J-R*Us{J8UO1n?}{kQ@=i#+%n$x3xastHDrR}7`Fxgdfs>Ay z=qPV#*|P8f(5 zm>PY=8mpAIOr2*#EnVLq`oS|?XconpV@N%Vh-NKK`Ixm=-k_Y1F&<3%k+XdOIevl- zwnXhdVfE_jc=Go#J#z-xN3ox<5RXStky*=X}Kr3knpLh3``e!|w{EJDN__DWez zz2-8ls$>zZn9Dv;J()=Ad91hU`b5&s!@G(n(u#TDi` z<^`+?G$>6nu~PbgQZum#J5M(<*%jpzGG#%ow~MZ1u?U#`HqK_AjqgC)fk7hP?3M}% zmwcrTC_Y%Xh?8&(C1#^$AJOb=W`sSJ?WY*Hw$q7E*$Nnj3|+_~G|AZUqY2~pje}_W z$T<38A@i}B!u?aYzcD>r$U?kU>0tg)BScHHkC*yFy~1U_9=b(3I<|;4qS1?3um7ey z58bCF-EKME=R>;Imo*TZdHIGhh2qHDxNYMl4bKBX2vi3Jy@xyD)$PrF^z-OZZ*V5I}<@Ac@zFmKhPx<&L*&%9c84Mo$`2vaaOVT*y~bUttaaf+j~ z&mHj)%}75|$YKcK4K#i+>!!R%8yB;t=@rmgarFsAgt{VL*4q$>$l4N3Ru!L~_y<{2 z@#)U5*6@VA11+H?mQV*vXr3j6&#d#5(=DNJOK6NG6k!PswuGWAq26meWTeBp^4jyf z!8{&?9!nz)%&(=I2W#pEK`wMUQcGSRz(5h4ZJ7ejZJK~v*tZ*4qx3M&rZwp?cRx%hv z!=-MRdoSw>EKakT-Egj4_I46BxP^zky*({UyUotfto zR+;L63uewNgK~urQeUuncA;Oxw&7`7u#`;uzhHm1l~C2p5>5N3<*fbF_Ia8kS;y3q zU<+Y;tP0a;_Hu}4!;Wbd{!jWqe{P zU(M15mA9Uze8Xb=4=>^a>9SGlBNWN&Fe$)2fa{zSp@@Vt!0lg8e|*C_gZsVKvZ{LH z7xEnP*lZ4#Kz`gv60nX{VrXfQgYEid+MUA&sj9A%xE|9pZsoQK_*nV+^)S*aG~HXz9@ycN4wtvH@7o+(jtpG822B}1$ABT< z;|8eTv;-}L!(Uae(i%y6B+B$rNYiNB56nlMjG#UQ^1F*au%WP@ZL8O2MbmH zNto_cY^2jFJybCw^oH#718&;pGK+ zA!vnHA5`AmyeAxXllY?L>OIWgVW^w{!!aKjf8N7<{FlL8L!O{Qcxm&XHLopgGbHAv zwO>M-z06zv(jXW24t3ni#yDmmWPR5n1Nk-;J?QXW<`SI9@swV!#Zyn}RGX47t}s2| zyii#F9CesD4jaK44JCI2F%z3%zh^OWMVIQ;xKV7r2}Jmf4w~4Puzwx2k9~ooy2yAUmj+5N|0N96v4GL=qRi5Xg@*Djqh~v++)vy4$&oMDUL?v zv5#>V(A7M)Px*|#JjQ};kB#G;(vL12V>5b3Azva)YURR9PE9uE8HbNOqj3rDKgo@O0<{~3?ulk>VLBTLK0E}`kR zy%*bb37Y#)Mz_vs9=+qG-%O8Bv(60nKD9Z=213&`_Z%CHPgVSSj`_FzXB3JR2@6gK zToHK|)|~t^AZC4Zr9SdWy89gU{O92bX7h&*_{65~d3hxjd7ce)P0BW#TNO0An4&nC z5u;SZ;TsLT>HG6+Q@xTb*o)$WBA%;t89QE?5%C#~y1;t(SjZ!6GxJ!|>Sxb!!-vkP zE?eaeRC=!v&1CThO%6Z6>lrB6KR%CZCz{tmb25E{|C*`lyrwFpc z)s#`hA{Wq><|{F?SU{QT3^gURGN6YR*bRu7y73dT9dC$(N|bc zr9%>OwSO9RGp!Z&3Tv)H&eNH0U1cAkVZf9xW4feUxXezk@^}kYY8h48cO1t?3F_D<{$Dh4kbPb`-Y) z?Y_f$+v!pUDQ=9YydfqND`l;mmLP0)tHvaaY0wSEzuimOe%n^fbNEF-cnRY@=kb3st=!TG(6byF86%As8} zv5bvVCtE_8Tgq4`$GQkvCNjxA(NzCFi&8=Olw83wTt^P!qeOHC`qq=MNC&y|nx0hP z-446rYKQm(G~)q;z#+F#XU}!KBU-1l1xUjuiHWso`5=D;H37$*svYEgr6eT4jMbg4 zK487o_Lk5?3iz7^I~cL0+%>_!O8<*Hj{L61XE^w%TisTq!F zb1;v_jS+)ZP~DbdCmQq^GnNAleat)?{Ea09-(9F71u_>wRACP0g}{mZrH|3?lPK>o zhQeSfeGK~~n}Ou|gq5orM3eF#_JcBoe*6b&)j;~|AGTacwBRXv`(Qfxl*QwlwVu!9 zy;;v^u*vz149~E#ilbA{*m-x4$xvkocxy9QL^T7IDlvB7rL9%0vyU8CCo@^C&_^-( z5H#N$$Ke>EtmyC{_8c3O$>jf>wQs-^r`9olz@+A_<(BAyWh!iCedvSdtbxm%Q2<(x zA{)#x1sEE?evUD*KOK6GR$We4c&Ll%`E#~M$!qfh>&Gy<`GOVJIfz9^Qn|Qq9Q{r8%0ok&F)+#|Rba17WT;a0)l0M7+@ z&W7`czYSa`Q$sWQ$mnp$>>p{8ARBjai<14Ve}P)zXN0|yzS#X3NCOJAf%( zQT{b(CgT31^R{BkIz@7CRHYwDRc*ByOK)%N0F%I-mcq4-|QEKmP%%QILjKL;O! zngcqI#F7b`lP47ZmA25cX##SbK9O^w*96oRM~9YJG8H4rty1=L)=0XBj4~T2kQ~j5 za6s#1OZ-3ZZ=FuZ>!Nx&A5%k(7*NMr7Pn>8Un6?9K8=+52PD*`d=O_eUc^V5kwx%3 z=D~kJ#pwr4my2WW$Fy7{{%DtXkeAEFt>_>{JBe-Gf->cBU^e#%d3a}s>~Q+rN$i~N zafoAcx&>|7@6AxV0%RQQ&k^{Wfj2Wx>Hi8n6~*?<)-ILHA1He`n#2y-$zO8R@%}}~ z0oJcX?n21$-grv^5pRYoT}3~h-`!1Y^1o0$+D+`KLc@IShF9esq$6(P2%g2uUF@a~ z2W`OkAvD%q{G?6*LY#WZbkAM%<%x&Y7d@$2eX+eYFb(${{#;*d!x8>lU+ikb8~A`H zjkXmVQKE)WZB<%vCNlecnhcR*uO%A-9q|Fz%E6uLs5=Icymi^DODC1Eb>YfiVY> zMsYe`^PhpS_{55BVpCPdi4{d+FUMsTEI#0x;OP|JSp2wiB|sB2^`O}0%3Ubp(0g6H zN-PPB!4z;wUebS3mCd3jjm599w_WNj`r?+ao!(-W(nKA7#F?snw`hlt=%I|I0w3`( zuJy|H6`SIVqg#B%sK$C$EA-&kb;L`zpn>7WU$7mq_aRLav4ipjMKlpxc^324RK(;r z)^c0DEo-@@-j)sje1svNm`J;th+`ZXLe>qxgE!ys4}|JxdQ-8z?V84XuDw9fO~i&l zILSPudelhB6kK&x{1tbw70*0x<|cn>CDwJLrxcDneBJ0zPnwFpYIg+jDlCls#8CBb zUUKLljr0?v9i}2=eQ_F@{KP2b;+6hl8wiZs`ir-rw{UJI9)qdq#b)B?IOspVx!4l> z`DM+;L|i>z)*J-PElyQ7X?TPx| z06J5%Hgtj*9{MXB&pQ|(Mkvcxwh;R?a2tgx$ZN$sEV*8<6<1Mm3$bDPl9TT&6-SMH zW2wlq@TFou3(&GuJYfX}TY%F!h7G5!Kpy~;HWVTB_EJ$T!wUgl&wo&>L7`qn5w5Ti z?W2_@Al4krb72LEElNvtC3n)c6g`#CX=+QczUuY}T82d;ZD}dG;@I$!mSS&}D=z43 zC5H2@Yb$X!`rNTrqCYNqyVpwW48cc}K(Ps|ULpgSxYK8-x!7b_qhS@Sx-%@f5@m z&D)`?C?jxtzGzU{;ed8~F%nm=?Q1W7jcd7wbPzwrm3KuQ#7+&@2een5Kc8g}zT zr&f>SQxw82oF^dPV6hXpE-6^t31f5nju@PdQ>%_*e3PvMti6nHtNVn3sT#-OD*#S0 z(9u9a>mmJ08#;=CEe`z6`K-V=zM_`TRsr-MK6^-29mPKB{Saryl|((|C&(y2ouv2V zr>oRbe&VWO{_H39h=skn-ebl(bKN4v=!?r&ii5KL<-W@-tCdB|nEt%j9RWv`BuA zlQQI|PMRe@r%2P~=X6OYKU1Y-`8i8Ul%I1XEuQJT5PLH?*YxDzy;y)S!VuA-1`$zE8gDWpsAW}XP7 zLm{H4|4sy;-e6&(XAt@nMvHYaWG0Sv_{flW$w)6lMBntumZVN$Vt_Sik_F-#CI(s| zeJl`zO)OF3>yvl8V=RUN0HiXx z;bH@7*Fy|yoLqvDKX!mDrcNv6`*n|+-FhSGD@yMnUc;txSWmGn&KnqdVvL5ettZCl zj;1?3#j{FCn0|~9-JoeW8G%TQJQ3o1O0%h9q-dk8b0`M7FDORss6}rPAEc+4-eL#U zi5ObgTU@}O_I<=LI4?1+k62%`qXW0I#*vH4c-(H?lDb5RNf@Rc^ue0`;$3>bkLX_4 z=FK#FC@e}G>iy@9+K!2DhRC;HwZE2NnC$>+G{!-h-BB0~TAM1OM4b{klOg@YKFXV> zZ~CFsD#at(-Cqo}%k0aAzh%|!*~KBOw<#APFK##h!(<4B4Zxr|iE;;s>2>$t zeq|0lT=c?hPHPXV^{&z40w=3Zg{u{0eF|NO78|NAjWv}=i`SU)J5xa{HeV2b-;4t- z6RGZCK2V!F3>Mc2C{bDyPKs`)F~!(q5I1`>p;QVYo9a-}L2J(d38^cJ}{3jIwuLaq`t$))!f{agG?O zTKbvk)*P{=P5b#9cu_|$id5`@v)4x|y1`|_9fZTR3yPMDBNc9N%i;8JA=D*P40BB0 z#(S%LCysgpWo3#BRmwHwm?c6f|A1O&fmb7Fcow(@-&)QBmw3>FcP21=j!bg0skSTRD|mW(12_)sZrb( zG~x(#S{rHhp||U(qr7afjdSOBz%9s}E%vDwkIyu`Z7LH%NuP?HoL3!uWtI(EtcEHJ zY5k{SAC=Q)y8o%@=h6_-Z`!fc@t|YbB0kl*P;_;^ap3L9LK?nMJO~Z1$09IqKhiD| zeY&?;i>jAb%9=9SuppuRHE8zZ(8F-MntsF+={Pi{_|Q_*<5IR!LJ zKQ0n`JGS4?`NDyZo&ozwr5D>nKGRVz_O#F6hru*NOtVMQOug8w{?3MaS4VySam)7xZdOm+tGMf#Kr*l5R1$ef#_ zNUeukm=ub=U4ST;b; ze5#iqmbcUmew{Y;ziAiNrnPBr%32~WuvKQ6Y?q5i1u#7BK>Su$X)IN4+MMMPC&VKlVBmPch4sLLB_rGIGKTCtCv;!}CbD1rRE zdaanLYPgW*uM^v}yZ`Ac9ON#=FF%cG9DlmD8yy4eKTDs6OQ~cXZf*UYn&gQ7^=_l9 zy~*B1uU?VwLJ0q-=YYRAz7zW;t;iAkg0XMqh~K)-b;ryIgF2jqfxg8frH<70Yg(~h z3~?To^ETFgbaOpqLM7DqThYrij+1f&H-5ol`lj9^)GGu2w0bzC8A1!b6+>{E@!+>u z32&gM--==QoWpw?#I_x_ePT9;CxvUJP6z)=&?11-zr1gUTV2o*Y_Dzz>*>^p)G*1Ac04~XZ>bQmHybaO4VeO_4{fO6lB z!H&-XXPWGIXXW>CCT(7j)3x#4fGVXLGtj=36HdrL$DD3HmUO8ny!y zyj8>AbYPR{>+PkN>%kSjX#rCAuiqwr8~S$>M2w%2_jlqVo9@}K%upcy@SW(LJ`;X^ zVmV%#0a=YS(HgXT2w)T!-<)t7Iil=N9?)|^Gj5eKD9u`?)m8n5706Q1iyu>#uqb&W^z)tPtRX57D){c^=Xw*c_c^;u-KFLoCOZJ?ask+0ju=Nf8}PeF}{fF zy;=0^`bO2v{#97M!4_dNa7(FwzJluH4Vy_H>DX${dF~iCE#qJ=&DxBX_?f=hEGD`xgQ(P88 z@ms_p*y3&9A})Xur|niTxZ#|=Fw%;4&@0>Lg_q^x#hK%axe$HxUYfU690mKkn_I=< zxbi1#o45`4oZs7q4fjw%HYd+++8f`5Yp%J5N{Pr8$(C`{&ul>(^fns z4qnUAY0gq39v;Z_i+FOrYPP#c`?q5g90cKd?$)+NwdGpxaqP!hw#yfNi50$zTnRkdOO~3AlM)*)IeT^#Q^KW=#Q4(?OO?(|` z$&X@J&#J3v-ZMS)iyR<}H5|kGgqvQU;*WnbX zLcd7fbX|?&oF1st{ed@sOU-wREd!?WR2h8JrjNWNjgdoq-=>c&k_IEB&y_cHeQEYi z2qtZ=(BYlpM>z2iyi4@fOfBZGxTIesrx`_KcZox7mvQVi*XYD9@woCSE&NH;DmPK_ zPh!{BmF>`omNWV|K3HBCoF-Rx3E(&rcm?m{l*#277E;gM;zxCP89*6Jy2n(oTQoF! z|2JO!43tul+FcrrkWmgvuvebC2jl(-+OkL7k6B>sUa_~Y2PV$UeY}VYP1YVXfn>v{ zQn_M!bd)Okc`t@xAG*6&Y~lSB-AMWY6KV~C=Sb`L^eU4ZH-EP=iLF9E?#XXJN^|U; zneP=&65+o+raeBTR8 zp%F>L&fpGZISB~K4=Sf&(=s9-Lu1)}2UHEm6O26_4E?sZKP}PZSLS_zV9m07574us zE6b9);aQWU0!dPNk}RI&1W)p2R1%L0M{UctAgYkU4~niXA(b!98>%{K6*_(&iB?Li zpa}=XHZE0v*T7HM^8;QU74+Rf@jcbxkLc<_v4yj~Ha=w7K*Vn$*F)k!mzK5Q-Ey{m z<&=6zjB+k|P=ju}46mefhr~$dk88mjW$;(j^f0hAss+2^8}7KLuG$Ww%=mchm68oOJDAuII_kfv+cD8^;84WZ zoarbm)NLL!5Eg^FTu-fH|FRGy>&){n<4{qz$P3WT9O}oRsT}H{JI$ea99nk<GLAwf4zCQ!paY2$G;%bJ=9-EbLxkW~3-#U8cb z!7_MsDUHY%BV5Yw)zEW*47V?(pYlP^&uifkGJGdFoDloDbgTt;k-_nINOwXEbt%7F zgXWM0%^mvb1V>W~&#FOl5~b->3!Wo`6aJuyCsCT)f7YN$mEjPcA3iBIYt(lt2r{b< zte{hr@$tILMo?o`BTyq~D!n=>Ht6Wa6X>i7K(F6 zDEgG>(V&2*$m4nOr~8FRSMq3l7U`7OK(~TN@3uq(^RGPK2hA$Y;SmlTGs=WZp3d@^ z5FRsz$E>nuQRy!72rZB3%Ok20A!iYEg*-;bW7hz&a@P6jreg-yUDDGFV_jE^%`7apg59jDZt;Bgr|&Sx^! zJq!N)CWKz>?uKlhaF3^JQd z^F^l%%5=LwHHzv|jp9BW|J!f;IiPpfLjZ<8}2;Z-MgA}h2ow@;SLuB*As3q+!VNv;XZ|1 z4!0I=FWf1(>u^utR48CexXy66N<}daZWi1UxUb>1!X1Dsge!rofO`t3D$^)j;o87; zE=x!4;28<`Dcsj^+u@GD{S0>d_YM(^t_kFk`BdDjsXL-0H2hSWD@u+T?bI!VOg-`3A3QmaJz@CZ{)0Rhd z8`Z%|>*R~NecVb`AsPeJfPs9g>$b&yKc>2F{m{yr;ffDGnv^Fl)RJ&TC7wL@xbYK4r%g%i%;Uz6{%|~hYCCW&>#OTFg#pY-AZy{YI$RNiQdM3J zR}|qL8AT{DQk853COq^0KzuO5QMtK5`s7h~^E^D~ zgmcaatvBs`OIzk10@kr8?gAOBn+-*`DO5-QLJ7`8vg_EwQLhLzMB%LG`4 z*M-jkws*?==G&~4x6|$b?&18c)YwMTS*2Y_)6|+~eRx~{UmfQRxon3)%SCwq;Hqp3D<9G*8;vhXwwi$U{}&9326D})ms&IR|CG`C64M>E z=C(5OjUljRDEvP^gG_boHSa5xL8jRbn!g?Y|CEN-G}J`PJ@bE~fs>`aa%)=aZmQo% zGfDIf_wA*az8|a!=ktcY23ADteKgJg|CGw~;{Pe{%foBB+V*!OF{bu0#26A|OkwSL z?Kw!yB&O2VkPt)#5wofjQ;RAw)Yei{RfDvRQc+{fDWNed+Qw@riiVn6+J5&w;cBYi z`}OU6UBAD6`*M5su=d((c-HgW&$G`t31fTv`-e4d>9FB!^na~Q&syTjOjHJSQU9Cv zI9=(#>1*<^mP{mo&FL$!m4e3p(cd`dPGh$E5VuO^&6Z5QdkI5V z^byRMzi(*Rh(D_Ijn??*jxoQn6IwFa<9)+hOLZUcPm#GE^XMFF!d74lQvax*dA+3* z)0nN+;%Ohq=fr{1iK1|Ldi{>66c5@NOY@GXGPHk+;k_%CYTQr!D_y4~$$2j zOq_&T`wsrCOZuDcxFh82l8>G|>r&bWf9R#FpZ|+qI_*Vv`agC@Zfl+`6(>Yu#lLvM zIIPpZX>-<8iLF;0A>CS?4J{S6A5{Xe&M}?sq*h?AfWNrF~`G zD`D}&5>kc_PAGC_@bHmEj*nD~_OgNF@5=;`=btmRkAX>PI2AW|%LjB~|e*9T`G1(^ZzfUq3MgRaH@ z&}O|(he(z5pIB3dkzkfgMW z%USPsXYIkQl1|1j2|!Pv0}u&_Km#BQs0fq<++2M=K5nrO$OO`WQ2>K$k4`u>cd^y# z-#dZ*ft{EF$TTFnSKp3i(t(B8UkpqHZk}-Z>|*A+H829OA}0U7`$ zfosR{Tp%5o1|$Fm5C(XFARqv^cPxg<19E`vKn9QoBm-@LFyK)ho|zZZj>*K%Y#Ij_i9bse>Wp2&578}_OB|U_Geo$ z>_p)>7D#f|?q)+V=U?t-t4GWzQVQ?VnZ<62BIlmfkd5EJn&Fh&!&a!2Q{=LH%UK-f zpK-K3Y)!T3HTTwhIhOID?awy1Az?Uf0z7++TgJ~hwwtYB7A@+#1@Cft6}jCXCzEhI z@wqA(lq*(PMbYAJ6=ArP@mv+#ah&^H6>ho0Dk6#&cdLlPr6)zIa61u%38(@jIV1M6 zp-qckc5lgiH-MRaF@V|EIgnZQc_5R%IglB6Adr~}tUloE+{@MvY|BM4y`Ag0z1T?J zxv`h6S*)5^C{IaFyM1g;HXiB1XIq4VKLEa$ty*lO;wx0^N%O*s?k7UrLOD<6v*X6j zv3;26QO+HRTDMyL-=&v1+gHc#^P^4H9vq3E_to6V{2abNqo6;B~Ih#nRmOQl5-I^ z1y)}W#e_P32Vtu>y%WVe>&M=AoTdlaYOr~KoSWhl4hBBwGXmvn<$v+#-r?K+zA<@L zM;B)Uis84ukGUeixpNTD^B@V^#3`49GszC;3d`vXQR|buKi9VDx!O87^W4%5(zFoG zonsIsZsq%Ka+)1vg9FRpE5M;nxi9gQ-q?-z?M8o$-3@@dJ!={M$ikmmy6UGtUoYB| zI`{B%7tXvd@zBc71_=KnPokXjhuE6VG52J7r`#ck!#?4Ev}v@{eji%{pQ|0=o}T2) zgJ7eqKhn{uX0#KtkFDzeX2)pfhrMi#60aoquKIdWf9}v|WmWxlbxXbVY z<;QmY-at{KUfY0l92Qv%F1(^*$TZqGRSh@4?o>>suiA zY>oDHuF`Ut)pQ`zE%9`FW4kjUm#rNfgcr+h!`zh~f_=AvO`Hw6Y%_M}j>5W{LMl6a zS{_{H!(GwLS^%4`a<7#g&9ngAtrzUJyInv+Z1d`s`~UrIP|yEYZ-cT*f5kp1 z?quf##%(^$W^=`I+h^@5;W^+}s!iV*CJHc|d8IrRYS1BtbKKN!{$juQgud}fNyGa` zjvSQ`8HtZ7?=IyT=}jF}=*GK2mcqO>fGiD}HV~`WC-NVgcznKWG-YVWFll3B!R5OFg!#1L(y?!alaU59ON{} z@sOh+CqO1ZK7ovbbQLt#xl-EGw>UF6hABwQYFEb7s(7i4oEV=qYw3Jb#?#k%RL+xJ zI{iQlLk@$_4Uo>{VWc~u=Wk`2jpM-R$yonQ0*%Ru1OT1HMPop@sN`s-9S{R_ z2VMr^fPp{~kOIsB765C3Pk=+fIp8+%8&GpZG*bsKffhhNU<@z^SOx3>4gwc}t3dIT zXr>y#r$l?1R@fN`3<0JCvw(HLPT(|f11LQ*nqh&4KvSR-&<~gZ%mF?DHUdY0q!OgeR!%GBX(QT?E>XW#e^MK2O|_-^6}_5K$7p7ZH>Mg}jKfArGt7M1+-4pz z{jBmaotzZ~$Pe`78PJSVExIWxE?g^*xQ}~_yW#O7|Qz#H*F+-{)w~(tV zZIobY(1CP1-AV7#OKO^A?sB{MfAKSfPlY4GY2hM9>7h_uEF)GD zCyK|#%2G|Ko-|r|LrRn0leS4Wq!9UauRKkjC2x?!l~zhGWuP)q$x_ZdJ!>Z)%&g26`v`RsBo-vR=$kjZMZ4qlr1&{LT!qI$3S($?m-6Gd^=ZhioUi zNhL0nyN*U}7Y0g_a$9+gPSYCdhTc_f5boG z1!1%>OYn%zMNaxu+9e&A{w3X&ipk~WP&q;#Ca23=&D zn`t$*o;pKapgvK9wAvcgI%)m2WNp5-9OJiJJFQ*So@l{(1Krd+>izYJx-ef)*LUiN z^?dzDJ~E8|lrQT1lQz@7L(uY2%7f%B*KbnM=`? z)tK-MGt=B;;)#)dOgD%nWCam8%9Z3_67q$+g1;Cnt`tv;x5eMZic*F|6iJyy=h7wg zOZqMSl~#auwo~KOG3sn}m71x3seY&4SBq;$-8y6am{^F;B$xa+kOXi9YrUS(LTD|B zVtcW>I8~Y_wUUb~Wt8s9yGlp3s$Nr%*C*-Ip_(W4ul0&X8>7E5*{EplHLshMEhf&- z9U!I!X-!hdSW=uX!#ChpN$aE|(rGA11-Xh7^P;DtQ!v<*>J6ZwFd5^hLzmK0>OQqC zMy08qs?X7vVRi4-kLl<2Yx+Ii&uD1aMr)%h=6jg&n(?Nw(D)jf&LsOWBAOq~C31VX zCVVoVBZNtfq(1T(B~?jN-d8p%yOqPrS>>{FPpL>Pio)4`K0lr=wk<0qD#a<2=f~ur z$&IpV4DodKb8>roLYzu3dpb03XJ(nZO(x%u>4p0Uu}LS=n{4Ob7Um1*g(G4Msjak7 zS}ZM$;ki`Y8)VP37uiegRd%}liMlk3V2lmMSZ- zj;<og`tA3{LQghVHY6~p}wtbYgRokN-)qd96=pFP}y&D$N z5#zDjpyXn%!(_ITY_gB!VEXgONphA1a^<<29D|V@$4}$O3SJ>is4CVJTZvc2AH~OF zq!cZ6lX9i&QZF>Fl5#}xqYvnBw6vO{Mr;0^w3nT}vZre6QhI^@NH1-qVs*Z2Fsa3S z>+dJhm3xP)CW{JH3?)*Df=BA0%u?nmca*X8iMj`~zgSM?le_s>(kR4nPX`r-Ix`;VR zQ$DB1)DzkesQW$rvEJI4Vl0NaSuxmHZLBdLSx+p+4zM@4BO2+?G=Zo|#$eQv#qnaC zG#G1V0cPWxdQ&ZcHJGm5)^{0mY$n# zXWBqG7U!wr{qu;$DtndB)Wd2Mjn&&3s`-P-ShcMV?p?|Lj2qD(CgB{5;fWNYgf>D4 zAy()n^b~ptxwNM`O>bf|ss4<+7%0C{*e28#n~5#O+uAt&WBsoFv+i$HH6|Kw8M(%J z;}_$$`AZ+Osuf`+*lTPi&7bLj8%vQ8(u2H4=8^Z|I+k%6+-~jxSB!7O%X}99HGhfs z7e;`1oe)CA&qY%zFDJ>Fa*`4aTa=<-(sRrqHnXCzt}RY?({tV1L`sB3-Xa~6+9>(T z4@wEOull;0t5$ypLf`TK0Ze(9#v2linZW@fK( z*6=r*nDOQW^8(y%jJ4BhZFd2q8)2Wbf3TVS!rpf#Q@C{QQ;@bJ+!HTXn@{5B^Y3EV zviPffkZ?vSO{b|JsC(3lYAfv<4c#s%9NsK)lt0C5LTOPIlf*B?>!QE3M*3I^k}Jqr z?zl1m48i|>$w#EMxK0h#I%>V)-=@I)r)$OaRr)UdcfG!K&MIS{bd|>wP{`v-lPM$< zYw|R?Mjk^uhI4h`a9`sy_=o&9d4jTDd5;F`;d%-9zN6+PGtjDT4Y1}}Ut0IAQg*nl z+b`Ke?fLd+@cFmhio=lOgeXtek*%on5h=-4;TphwwBdTfYL4S(aErMO+!pSTmpjH? z0&{)B`NPlGYnz@BozoHZAmP7ktC92C}1u* zM$VI9t{PVhyv4(Z@jNK^oBU$_jBs60MO*9(?*EZENLqj<@0Ksif-+P&2+Q@o@<8#Y zEPPOXD$(X%+KHynX>>mQh;E=~VA86>g||{it1Hws+9%px7}7XBNxuj_7H1?G-x)s` z{mtQUd-qKyGQcIa%x@$bjP?$nD!eJI6*BSoByqLK!paYnl0YXnO5aPjq@Sfoxtr_< z_FqLQMoZ8aXgOM$daKh~v>t6tn^BQ!@KsTuN}XsI+LQLez}8hG)R)ni*VJk1Tk6NK z6&1B`jn@>dHMm7j(5ED**W21h;4s^;V)C^xJworH_tFQU(X(_Np1QMf#5f6_|En?9 zTwrd-Dtcu00f$7(V*|WC!oQWQ^)0&sFe?k7ir`Bq1R za_DXPvYM)vL=$>z)3kNkdDzz4`pf!MowrrHvz_27U|axm5@MsURX8Smi;(28&`9hp z_7{hMFwGXvVRRZu%_K$g8d9VbB@M-cHoyvOm$DIE7s)H-?ebnZ z2h=i8zJsWyqtZ?32~r-XBq)hWl9CKYm#yqma+F-UKV51#cT94*1>eNhS_-4Ofl!1$4%4fVI^1#L9h2(dDg$I+AtsA zgGw{Wczu9g1&|+!$aUdTxX-w%d^p%~6hDHW$j{;P`MW$Xm_m#&5O#2(&{G^BPC$PZ zDOP$#IwjqfD#Ok^yV7iEKfbkxfc- z9Fb4-s-%;kJ+>-u6l-WrJ>|`)D1tA;PRl>LPWex?er2o&x3hXr%(SGIOsd!RLgi~dAE2!cGum~QMa4jPrs+AzAN*~WZ~5W1pW%?`Eefe|_I zvRmx0?DGhse{>t17Qi$B`fDEzKhd`o;!Tp_N7t_m=rFFQV%S~`3P6eB3LO2&2rWHf>-`sE~PYA+A0f__mt0}M0=n@ zUn!@Q3t$#EKv5njzbPeX1#pTQvx0$6ZO&hWPPSSPk&$EjcCz(8s6=iIm=47j#|h` z+P&PNS`ol3h4_efgj!IY(Na&P8zSIdAoK}pqMD>8!$;0lBKz>8 zUeyRUB8*t0hmmYdGiDhJj5Wp~qp#^T-^R)~WnZ$d+e~HvGYyUNhgq%+wTpmhZU=^( zNQRM7WISBia`GV*@N=?*>?KD)Ft1^~+$a8AX^w>=*5ev;(cFt%FK#HZCf;Gv1h~)> z(hEo@)T0DL+m*)A#q<>Yjy|MeYBzPN+8ca!jJ`;J!}t_Qkww-RBoqReO=yG-Z}0{= zNUjplYwjx7mw$`j$lu`a@jZk%AqhH@0j;?s{DMforPx92i7du^aT&5g$Hg<^74d;r zS}#{rI>UsVr#ESRRZvZ}Js#Reov*&Hexzo@jC`Z|Ayyr#rD_G*3wn3VTfW}ih&M*T zkF7M;8XJrp1fjng#myiy*sNwYG-J*2<}CALGsRkJeQyc&6#I}nt$BrRnIKH+NfwfH zPT;);--2(=_l4Fk1_e38U*m7_Kk)%VDWMWlM-hT3G{*`UA}kS_OP#=W9!dfVPfonU;GG#3s_7_m^!w4k4 zS31zn2qQlA(jD{={f6G4LFyCDU*87C8-e_VZA2UG4L>v2`q`=qyS@_Xu&0J6KfuSC z!-+x?ND_IAEb%20%5gQghA=C2h0Q{a&{e!Dw^ybr-x!Nc!=7a?uy@(}?W6W7n<*$% z?iu85Xo`0SJoyD^ISf61%%`mRHpEg_^Esje}q2?a+%Lx;kyaFh5o`V z;fWB4v{5^8m3UT+m#Zpulrsp9dec{F3$=rKLk-tn(Pn8)jaJ4vV=kET&*twYi%6o0 z#aqp-*4B$wFY8rnq&3AgyYrA)`wpbOsyjzaAhQ_%HwS_4B-9m0i3?yx7^$%|14*F> zP=*$C9aNK5t3X$5=t>WDqB>ojqb^Z*s~6yMZX(Y9O)a5$v=FU<#%Y>1UVB}e3^z0r zj(Q$!>AOfdtVBX!t@f$r-3qfRBBs8g-$%q-)2NHV?*qs1snHZllyA;J!(MS4<_ToB zK=i_pzfPu;cgPwda~9VM)^iT`9=DDA4%YoezAY@~3}G&`J^;4SEAAE_iNR7s*uTlr zJ&BVuygC`N(meH3HA}6EES{=GgIuJeVdu1mS_!=Z{QC(6 zMwbUr}B{;0T>Q`zzEe>v~ranQRtDizszt;^c&n!5o>&6yy zKccJOO~LACh1d;|VTcf?-I%<+}25Vv0CTTqAA~4~Z9$5@MwCQd3Em zV&L-w?s_fM?vS*4JX;1xxGI%?Q&r2Y_p(BFE*uYhFcqbPf_IAG&=_4)ldkRY)X> zR%X)G^gdk#D!xbkRc#Jd`!SNDuNbcz+sqBt7giD?+CX2LrV}Ra7MY7Y!-rfn-;4hp zsg_@bOmV){Smu0|@wz+{DU>|ehzNMYxyYY7))H&E*ZRQv$XaiGigaq0wav=0t{@C) zXZLW2JuQ$iAY>9v4nt>8Lq9ITlLhd@gx7_B;$S$Cn__Eel(a{3&mwi+MO-3Y78gm^lt5aRR>P0;6FrowjcKJM}%iJgmA?B-G%YOGDP(`!dHSW zwh$9QwHr&9r6>65u2<j@aYrD-r|FZ)bPcgje;ve%Rh2qjU zd5JG%ItX|2t$b6yiksSi`6wqx@SQn4yvbNaIeDP-c=bbP%8(6TT7EP z9px>7Ni4{`w?=mTeSn)F{GNWXg|1I$*cM4tX@$M(;Fl4YlET1 zz{9_SKw+3Z9x2ba_4)b|gbeHT4T#?N>3J|NZZi5lBKbh03{oaFjYfuKXhvHj#(2r- zYYZ?(8soqW79s_<9PD6=aSVxxZ?L`|fg_YK%bFF;8fIOv1i{oyuWhykUFdH1H3ynQ z%+cmVbFw+l`~c)(7b3Ou<{iBJDQ;D=LaYXsU{U0Iy1;k!vl6W_)@yKH^P$IUpeLKH z?RY(uXPv?ufh*QMxb0$yA<83usBbs66gjC79l3gc%1A zlAj~rksB~hzk%xoA*C3?)kbPr;#zWDk#^{V0AwsTnVXN-3mM#I?jSM``CR84+#@8A z%JU(7V_xE;@$#$>pNKr<6htX2VSskxd1q`p0@ESBxU?cvLEkF5Ac*_0q541K`Pu9mFfj&c@tuF+r&xD@l>kNE# zq!EW?EHamPQIcz1GwvB4lR({)%{1Q|hCH*t^jO4-g{et{5@lMsP@$Vvf#tEA*u;*t zlWlJrR3r~M84OlF%Opd1@Fp}CsxXc$_QjdmaOs7a<{9 diff --git a/tools/geometryc/bounds.cpp b/tools/geometryc/bounds.cpp new file mode 100644 index 000000000..25e09f710 --- /dev/null +++ b/tools/geometryc/bounds.cpp @@ -0,0 +1,248 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include +#include "bounds.h" +#include "math.h" + +void aabbToObb(Obb& _obb, const Aabb& _aabb) +{ + memset(_obb.m_mtx, 0, sizeof(_obb.m_mtx) ); + _obb.m_mtx[ 0] = (_aabb.m_max[0] - _aabb.m_min[0]) * 0.5f; + _obb.m_mtx[ 5] = (_aabb.m_max[1] - _aabb.m_min[1]) * 0.5f; + _obb.m_mtx[10] = (_aabb.m_max[2] - _aabb.m_min[2]) * 0.5f; + _obb.m_mtx[12] = (_aabb.m_min[0] + _aabb.m_max[0]) * 0.5f; + _obb.m_mtx[13] = (_aabb.m_min[1] + _aabb.m_max[1]) * 0.5f; + _obb.m_mtx[14] = (_aabb.m_min[2] + _aabb.m_max[2]) * 0.5f; + _obb.m_mtx[15] = 1.0f; +} + +void aabbTransformToObb(Obb& _obb, const Aabb& _aabb, const float* _mtx) +{ + aabbToObb(_obb, _aabb); + float result[16]; + mtxMul(result, _obb.m_mtx, _mtx); + memcpy(_obb.m_mtx, result, sizeof(result) ); +} + +float calcAreaAabb(Aabb& _aabb) +{ + float ww = _aabb.m_max[0] - _aabb.m_min[0]; + float hh = _aabb.m_max[1] - _aabb.m_min[1]; + float dd = _aabb.m_max[2] - _aabb.m_min[2]; + return 2.0f * (ww*hh + ww*dd + hh*dd); +} + +void calcAabb(Aabb& _aabb, const void* _vertices, uint32_t _numVertices, uint32_t _stride) +{ + float min[3], max[3]; + uint8_t* vertex = (uint8_t*)_vertices; + float* position = (float*)vertex; + min[0] = max[0] = position[0]; + min[1] = max[1] = position[1]; + min[2] = max[2] = position[2]; + vertex += _stride; + + for (uint32_t ii = 1; ii < _numVertices; ++ii) + { + position = (float*)vertex; + vertex += _stride; + + float xx = position[0]; + float yy = position[1]; + float zz = position[2]; + min[0] = fmin(xx, min[0]); + min[1] = fmin(yy, min[1]); + min[2] = fmin(zz, min[2]); + max[0] = fmax(xx, max[0]); + max[1] = fmax(yy, max[1]); + max[2] = fmax(zz, max[2]); + } + + _aabb.m_min[0] = min[0]; + _aabb.m_min[1] = min[1]; + _aabb.m_min[2] = min[2]; + _aabb.m_max[0] = max[0]; + _aabb.m_max[1] = max[1]; + _aabb.m_max[2] = max[2]; +} + +void calcAabb(Aabb& _aabb, const float* _mtx, const void* _vertices, uint32_t _numVertices, uint32_t _stride) +{ + float min[3], max[3]; + uint8_t* vertex = (uint8_t*)_vertices; + + float position[3]; + vec3MulMtx(position, (float*)vertex, _mtx); + min[0] = max[0] = position[0]; + min[1] = max[1] = position[1]; + min[2] = max[2] = position[2]; + vertex += _stride; + + for (uint32_t ii = 1; ii < _numVertices; ++ii) + { + vec3MulMtx(position, (float*)vertex, _mtx); + vertex += _stride; + + float xx = position[0]; + float yy = position[1]; + float zz = position[2]; + min[0] = fmin(xx, min[0]); + min[1] = fmin(yy, min[1]); + min[2] = fmin(zz, min[2]); + max[0] = fmax(xx, max[0]); + max[1] = fmax(yy, max[1]); + max[2] = fmax(zz, max[2]); + } + + _aabb.m_min[0] = min[0]; + _aabb.m_min[1] = min[1]; + _aabb.m_min[2] = min[2]; + _aabb.m_max[0] = max[0]; + _aabb.m_max[1] = max[1]; + _aabb.m_max[2] = max[2]; +} + +void calcObb(Obb& _obb, const void* _vertices, uint32_t _numVertices, uint32_t _stride, uint32_t _steps) +{ + Aabb aabb; + calcAabb(aabb, _vertices, _numVertices, _stride); + float minArea = calcAreaAabb(aabb); + + Obb best; + aabbToObb(best, aabb); + + float angleStep = float(M_PI_2/_steps); + float ax = 0.0f; + float mtx[16]; + + for (uint32_t ii = 0; ii < _steps; ++ii) + { + float ay = 0.0f; + + for (uint32_t jj = 0; jj < _steps; ++jj) + { + float az = 0.0f; + + for (uint32_t kk = 0; kk < _steps; ++kk) + { + mtxRotateXYZ(mtx, ax, ay, az); + + float mtxT[16]; + mtxTranspose(mtxT, mtx); + calcAabb(aabb, mtxT, _vertices, _numVertices, _stride); + + float area = calcAreaAabb(aabb); + if (area < minArea) + { + minArea = area; + aabbTransformToObb(best, aabb, mtx); + } + + az += angleStep; + } + + ay += angleStep; + } + + ax += angleStep; + } + + memcpy(&_obb, &best, sizeof(Obb) ); +} + +void calcMaxBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride) +{ + Aabb aabb; + calcAabb(aabb, _vertices, _numVertices, _stride); + + float center[3]; + center[0] = (aabb.m_min[0] + aabb.m_max[0]) * 0.5f; + center[1] = (aabb.m_min[1] + aabb.m_max[1]) * 0.5f; + center[2] = (aabb.m_min[2] + aabb.m_max[2]) * 0.5f; + + float maxDistSq = 0.0f; + uint8_t* vertex = (uint8_t*)_vertices; + + for (uint32_t ii = 0; ii < _numVertices; ++ii) + { + float* position = (float*)vertex; + vertex += _stride; + + float xx = position[0] - center[0]; + float yy = position[1] - center[1]; + float zz = position[2] - center[2]; + + float distSq = xx*xx + yy*yy + zz*zz; + maxDistSq = fmax(distSq, maxDistSq); + } + + _sphere.m_center[0] = center[0]; + _sphere.m_center[1] = center[1]; + _sphere.m_center[2] = center[2]; + _sphere.m_radius = sqrtf(maxDistSq); +} + +void calcMinBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride, float _step) +{ + bx::RngMwc rng; + + uint8_t* vertex = (uint8_t*)_vertices; + + float center[3]; + float* position = (float*)&vertex[0]; + center[0] = position[0]; + center[1] = position[1]; + center[2] = position[2]; + + position = (float*)&vertex[1*_stride]; + center[0] += position[0]; + center[1] += position[1]; + center[2] += position[2]; + + center[0] *= 0.5f; + center[1] *= 0.5f; + center[2] *= 0.5f; + + float xx = position[0] - center[0]; + float yy = position[1] - center[1]; + float zz = position[2] - center[2]; + float maxDistSq = xx*xx + yy*yy + zz*zz; + + float radiusStep = _step * 0.37f; + + bool done; + do + { + done = true; + for (uint32_t ii = 0, index = rng.gen()%_numVertices; ii < _numVertices; ++ii, index = (index + 1)%_numVertices) + { + position = (float*)&vertex[index*_stride]; + + float xx = position[0] - center[0]; + float yy = position[1] - center[1]; + float zz = position[2] - center[2]; + float distSq = xx*xx + yy*yy + zz*zz; + + if (distSq > maxDistSq) + { + done = false; + + center[0] += xx * radiusStep; + center[1] += yy * radiusStep; + center[2] += zz * radiusStep; + maxDistSq = flerp(maxDistSq, distSq, _step); + + break; + } + } + + } while (!done); + + _sphere.m_center[0] = center[0]; + _sphere.m_center[1] = center[1]; + _sphere.m_center[2] = center[2]; + _sphere.m_radius = sqrtf(maxDistSq); +} diff --git a/tools/geometryc/bounds.h b/tools/geometryc/bounds.h new file mode 100644 index 000000000..f3f79625a --- /dev/null +++ b/tools/geometryc/bounds.h @@ -0,0 +1,47 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#ifndef __BOUNDS_H__ +#define __BOUNDS_H__ + +struct Aabb +{ + float m_min[3]; + float m_max[3]; +}; + +struct Obb +{ + float m_mtx[16]; +}; + +struct Sphere +{ + float m_center[3]; + float m_radius; +}; + +/// Convert axis aligned bounding box to oriented bounding box. +void aabbToObb(Obb& _obb, const Aabb& _aabb); + +/// Calculate surface area of axis aligned bounding box. +float calcAabbArea(Aabb& _aabb); + +/// Calculate axis aligned bounding box. +void calcAabb(Aabb& _aabb, const void* _vertices, uint32_t _numVertices, uint32_t _stride); + +/// Transform vertices and calculate axis aligned bounding box. +void calcAabb(Aabb& _aabb, const float* _mtx, const void* _vertices, uint32_t _numVertices, uint32_t _stride); + +/// Calculate oriented bounding box. +void calcObb(Obb& _obb, const void* _vertices, uint32_t _numVertices, uint32_t _stride, uint32_t _steps = 17); + +/// Calculate maximum bounding sphere. +void calcMaxBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride); + +/// Calculate minimum bounding sphere. +void calcMinBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride, float _step = 0.01f); + +#endif // __BOUNDS_H__ diff --git a/tools/geometryc/geometryc.cpp b/tools/geometryc/geometryc.cpp new file mode 100644 index 000000000..91b50bc37 --- /dev/null +++ b/tools/geometryc/geometryc.cpp @@ -0,0 +1,992 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include +#include "../../src/vertexdecl.h" + +#include +#include +#include +#include +#include +namespace std { namespace tr1 {} using namespace tr1; } // namespace std +#include + +#include + +#if 0 +# define BX_TRACE(_format, ...) \ + do { \ + printf(BX_FILE_LINE_LITERAL "BGFX " _format "\n", ##__VA_ARGS__); \ + } while(0) + +# define BX_WARN(_condition, _format, ...) \ + do { \ + if (!(_condition) ) \ + { \ + BX_TRACE(BX_FILE_LINE_LITERAL "WARN " _format, ##__VA_ARGS__); \ + } \ + } while(0) + +# define BX_CHECK(_condition, _format, ...) \ + do { \ + if (!(_condition) ) \ + { \ + BX_TRACE(BX_FILE_LINE_LITERAL "CHECK " _format, ##__VA_ARGS__); \ + bx::debugBreak(); \ + } \ + } while(0) +#endif // 0 + +#define EXPECT(_condition) \ + do { \ + if (!(_condition) ) \ + { \ + printf("Error parsing at:\n" BX_FILE_LINE_LITERAL "\nExpected: " #_condition "\n"); \ + exit(EXIT_FAILURE); \ + } \ + } while(0) + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tokenizecmd.h" +#include "bounds.h" +#include "math.h" + +struct Vector3 +{ + float x; + float y; + float z; +}; + +typedef std::vector Vector3Array; + +struct Index3 +{ + int32_t m_position; + int32_t m_texcoord; + int32_t m_normal; + int32_t m_vertexIndex; +}; + +typedef std::unordered_map Index3Map; + +struct Triangle +{ + uint64_t m_index[3]; +}; + +typedef std::vector TriangleArray; + +struct Group +{ + uint32_t m_startTriangle; + uint32_t m_numTriangles; + std::string m_name; + std::string m_material; +}; + +typedef std::vector GroupArray; + +struct Primitive +{ + uint32_t m_startVertex; + uint32_t m_startIndex; + uint32_t m_numVertices; + uint32_t m_numIndices; + std::string m_name; +}; + +typedef std::vector PrimitiveArray; + +static uint32_t s_obbSteps = 17; + +#define BGFX_CHUNK_MAGIC_GEO BX_MAKEFOURCC('G', 'E', 'O', 0x0) +#define BGFX_CHUNK_MAGIC_VB BX_MAKEFOURCC('V', 'B', ' ', 0x0) +#define BGFX_CHUNK_MAGIC_IB BX_MAKEFOURCC('I', 'B', ' ', 0x0) +#define BGFX_CHUNK_MAGIC_PRI BX_MAKEFOURCC('P', 'R', 'I', 0x0) + +long int fsize(FILE* _file) +{ + long int pos = ftell(_file); + fseek(_file, 0L, SEEK_END); + long int size = ftell(_file); + fseek(_file, pos, SEEK_SET); + return size; +} + +void triangleReorder(uint16_t* _indices, uint32_t _numIndices, uint32_t _numVertices, uint16_t _cacheSize) +{ + uint16_t* newIndexList = new uint16_t[_numIndices]; + Forsyth::OptimizeFaces(_indices, _numIndices, _numVertices, newIndexList, _cacheSize); + memcpy(_indices, newIndexList, _numIndices*2); + delete [] newIndexList; +} + +uint32_t packUint32(uint8_t _x, uint8_t _y, uint8_t _z, uint8_t _w) +{ + union + { + uint32_t ui32; + uint8_t arr[4]; + } un; + + un.arr[0] = _x; + un.arr[1] = _y; + un.arr[2] = _z; + un.arr[3] = _w; + + return un.ui32; +} + +void unpackUint32(uint8_t _result[4], uint32_t _packed) +{ + union + { + uint32_t ui32; + uint8_t arr[4]; + } un; + + un.ui32 = _packed; + _result[0] = un.arr[0]; + _result[1] = un.arr[1]; + _result[2] = un.arr[2]; + _result[3] = un.arr[3]; +} + +uint32_t packF4u(float _x, float _y = 0.0f, float _z = 0.0f, float _w = 0.0f) +{ + const uint8_t xx = uint8_t(_x*127.0f + 128.0f); + const uint8_t yy = uint8_t(_y*127.0f + 128.0f); + const uint8_t zz = uint8_t(_z*127.0f + 128.0f); + const uint8_t ww = uint8_t(_w*127.0f + 128.0f); + return packUint32(xx, yy, zz, ww); +} + +void unpackF4u(float _result[4], uint32_t _packed) +{ + uint8_t unpacked[4]; + unpackUint32(unpacked, _packed); + _result[0] = (float(unpacked[0]) - 128.0f)/127.0f; + _result[1] = (float(unpacked[1]) - 128.0f)/127.0f; + _result[2] = (float(unpacked[2]) - 128.0f)/127.0f; + _result[3] = (float(unpacked[3]) - 128.0f)/127.0f; +} + +uint32_t packF2h(float _x, float _y) +{ + union + { + uint32_t ui32; + uint16_t arr[2]; + } un; + + un.arr[0] = bx::halfFromFloat(_x); + un.arr[1] = bx::halfFromFloat(_y); + + return un.ui32; +} + +void unpackF2h(float _result[2], uint32_t _packed) +{ + union + { + uint32_t ui32; + uint16_t arr[2]; + } un; + + un.ui32 = _packed; + _result[0] = bx::halfToFloat(un.arr[0]); + _result[1] = bx::halfToFloat(un.arr[1]); +} + +template +void calcTangents(const uint16_t* _indices, uint32_t _numIndices, Ty* _vertices, uint16_t _numVertices) +{ + float* tangents = new float[6*_numVertices]; + memset(tangents, 0, 6*_numVertices*sizeof(float) ); + + for (uint32_t ii = 0, num = _numIndices/3; ii < num; ++ii) + { + const uint16_t* indices = &_indices[ii*3]; + const Ty& v0 = _vertices[indices[0] ]; + const Ty& v1 = _vertices[indices[1] ]; + const Ty& v2 = _vertices[indices[2] ]; + + const float bax = v1.m_x - v0.m_x; + const float bay = v1.m_y - v0.m_y; + const float baz = v1.m_z - v0.m_z; + const float bau = v1.m_u - v0.m_u; + const float bav = v1.m_v - v0.m_v; + + const float cax = v2.m_x - v0.m_x; + const float cay = v2.m_y - v0.m_y; + const float caz = v2.m_z - v0.m_z; + const float cau = v2.m_u - v0.m_u; + const float cav = v2.m_v - v0.m_v; + + const float det = (bau * cav - bav * cau); + const float invDet = 1.0f / det; + + const float tx = (bax * cav - cax * bav) * invDet; + const float ty = (bay * cav - cay * bav) * invDet; + const float tz = (baz * cav - caz * bav) * invDet; + + const float bx = (cax * bau - bax * cau) * invDet; + const float by = (cay * bau - bay * cau) * invDet; + const float bz = (caz * bau - baz * cau) * invDet; + + for (uint32_t jj = 0; jj < 3; ++jj) + { + float* tanu = &tangents[indices[jj]*6]; + float* tanv = &tanu[3]; + tanu[0] += tx; + tanu[1] += ty; + tanu[2] += tz; + + tanv[0] += bx; + tanv[1] += by; + tanv[2] += bz; + } + } + + for (uint32_t ii = 0; ii < _numVertices; ++ii) + { + Ty& v0 = _vertices[ii]; + const float* tanu = &tangents[ii*6]; + const float* tanv = &tangents[ii*6 + 3]; + + float normal[4]; + unpackF4u(normal, v0.m_normal); + float ndt = vec3Dot(normal, tanu); + + float nxt[3]; + vec3Cross(nxt, normal, tanu); + + float tmp[3]; + tmp[0] = tanu[0] - normal[0] * ndt; + tmp[1] = tanu[1] - normal[1] * ndt; + tmp[2] = tanu[2] - normal[2] * ndt; + + float tangent[3]; + vec3Norm(tangent, tmp); + + float tw = vec3Dot(nxt, tanv) < 0.0f ? -1.0f : 1.0f; + v0.m_tangent = packF4u(tangent[0], tangent[1], tangent[2], tw); + } +} + +void writeBounds(bx::WriterI* _writer, const void* _vertices, uint32_t _numVertices, uint32_t _stride) +{ + Sphere maxSphere; + calcMaxBoundingSphere(maxSphere, _vertices, _numVertices, _stride); + + Sphere minSphere; + calcMinBoundingSphere(minSphere, _vertices, _numVertices, _stride); + + if (minSphere.m_radius > maxSphere.m_radius) + { + bx::write(_writer, maxSphere); + } + else + { + bx::write(_writer, minSphere); + } + + Aabb aabb; + calcAabb(aabb, _vertices, _numVertices, _stride); + bx::write(_writer, aabb); + + Obb obb; + calcObb(obb, _vertices, _numVertices, _stride, s_obbSteps); + bx::write(_writer, obb); +} + +void write(bx::WriterI* _writer, const uint8_t* _vertices, uint32_t _numVertices, const bgfx::VertexDecl& _decl, const uint16_t* _indices, uint32_t _numIndices, const std::string& _material, const PrimitiveArray& _primitives) +{ + uint32_t stride = _decl.getStride(); + bx::write(_writer, BGFX_CHUNK_MAGIC_VB); + writeBounds(_writer, _vertices, _numVertices, stride); + + bx::write(_writer, _decl); + bx::write(_writer, uint16_t(_numVertices) ); + bx::write(_writer, _vertices, _numVertices*stride); + + bx::write(_writer, BGFX_CHUNK_MAGIC_IB); + bx::write(_writer, _numIndices); + bx::write(_writer, _indices, _numIndices*2); + + bx::write(_writer, BGFX_CHUNK_MAGIC_PRI); + uint16_t nameLen = uint16_t(_material.size() ); + bx::write(_writer, nameLen); + bx::write(_writer, _material.c_str(), nameLen); + bx::write(_writer, uint16_t(_primitives.size() ) ); + for (PrimitiveArray::const_iterator primIt = _primitives.begin(); primIt != _primitives.end(); ++primIt) + { + const Primitive& prim = *primIt; + nameLen = uint16_t(prim.m_name.size() ); + bx::write(_writer, nameLen); + bx::write(_writer, prim.m_name.c_str(), nameLen); + bx::write(_writer, prim.m_startIndex); + bx::write(_writer, prim.m_numIndices); + bx::write(_writer, prim.m_startVertex); + bx::write(_writer, prim.m_numVertices); + writeBounds(_writer, &_vertices[prim.m_startVertex*stride], prim.m_numVertices, stride); + } +} + +void help(const char* _error = NULL) +{ + if (NULL != _error) + { + fprintf(stderr, "Error:\n%s\n\n", _error); + } + + fprintf(stderr + , "geometryc, bgfx geometry compiler tool\n" + "Copyright 2011-2012 Branimir Karadzic. All rights reserved.\n" + "License: http://www.opensource.org/licenses/BSD-2-Clause\n\n" + ); + + fprintf(stderr + , "Usage: geometryc -f -o \n" + + "\n" + "Supported input file types:\n" + " *.obj Wavefront\n" + + "\n" + "Options:\n" + " -f Input file path.\n" + " -o Output file path.\n" + " -s, --scale Scale factor.\n" + " --ccw Counter-clockwise winding order.\n" + " --flipv Flip texture coordinate V.\n" + " --obb Number of steps for calculating oriented bounding box.\n" + " Default value is 17. Less steps less precise OBB is.\n" + " More steps slower calculation.\n" + " --packnormal Normal packing.\n" + " 0 - unpacked 12 bytes (default).\n" + " 1 - packed 4 bytes.\n" + " --packuv Texture coordinate packing.\n" + " 0 - unpacked 8 bytes (default).\n" + " 1 - packed 4 bytes.\n" + " --tangent Calculate tangent vectors (packing mode is the same as normal).\n" + + "\n" + "For additional information, see https://github.com/bkaradzic/bgfx\n" + ); +} + +inline uint32_t rgbaToAbgr(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a) +{ + return (uint32_t(_r)<<0) + | (uint32_t(_g)<<8) + | (uint32_t(_b)<<16) + | (uint32_t(_a)<<24) + ; +} + +int main(int _argc, const char* _argv[]) +{ + bx::CommandLine cmdLine(_argc, _argv); + + const char* filePath = cmdLine.findOption('f'); + if (NULL == filePath) + { + help("Input file name must be specified."); + return EXIT_FAILURE; + } + + const char* outFilePath = cmdLine.findOption('o'); + if (NULL == outFilePath) + { + help("Output file name must be specified."); + return EXIT_FAILURE; + } + + float scale = 1.0f; + const char* scaleArg = cmdLine.findOption('s', "scale"); + if (NULL != scaleArg) + { + scale = (float)atof(scaleArg); + } + + cmdLine.hasArg(s_obbSteps, '\0', "obb"); + s_obbSteps = bx::uint32_min(bx::uint32_max(s_obbSteps, 1), 90); + + uint32_t packNormal = 0; + cmdLine.hasArg(packNormal, '\0', "packnormal"); + + uint32_t packUv = 0; + cmdLine.hasArg(packNormal, '\0', "packuv"); + + bool ccw = cmdLine.hasArg("ccw"); + bool flipV = cmdLine.hasArg("flipv"); + bool hasTangent = cmdLine.hasArg("tangent"); + + FILE* file = fopen(filePath, "r"); + if (NULL == file) + { + printf("Unable to open input file '%s'.", filePath); + exit(EXIT_FAILURE); + } + + int64_t parseElapsed = -bx::getHPCounter(); + int64_t triReorderElapsed = 0; + + uint32_t size = (uint32_t)fsize(file); + char* data = new char[size+1]; + size = (uint32_t)fread(data, 1, size, file); + data[size] = '\0'; + fclose(file); + + // https://en.wikipedia.org/wiki/Wavefront_.obj_file + + Vector3Array positions; + Vector3Array normals; + Vector3Array texcoords; + Index3Map indexMap; + TriangleArray triangles; + GroupArray groups; + + uint32_t num = 0; + + Group group; + group.m_startTriangle = 0; + group.m_numTriangles = 0; + + char commandLine[2048]; + uint32_t len = sizeof(commandLine); + int argc; + char* argv[64]; + const char* next = data; + do + { + next = tokenizeCommandLine(next, commandLine, len, argc, argv, countof(argv), '\n'); + if (0 < argc) + { + if (0 == strcmp(argv[0], "#") ) + { + if (2 < argc + && 0 == strcmp(argv[2], "polygons") ) + { + } + } + else if (0 == strcmp(argv[0], "f") ) + { + Triangle triangle; + + for (uint32_t edge = 0, numEdges = argc-1; edge < numEdges; ++edge) + { + Index3 index; + index.m_texcoord = -1; + index.m_normal = -1; + index.m_vertexIndex = -1; + + char* vertex = argv[edge+1]; + char* texcoord = strchr(vertex, '/'); + if (NULL != texcoord) + { + *texcoord++ = '\0'; + + char* normal = strchr(texcoord, '/'); + if (NULL != normal) + { + *normal++ = '\0'; + index.m_normal = atoi(normal)-1; + } + + index.m_texcoord = atoi(texcoord)-1; + } + + index.m_position = atoi(vertex)-1; + + uint64_t hash0 = index.m_position; + uint64_t hash1 = uint64_t(index.m_texcoord)<<20; + uint64_t hash2 = uint64_t(index.m_normal)<<40; + uint64_t hash = hash0^hash1^hash2; + + std::pair result = indexMap.insert(std::make_pair(hash, index) ); + if (!result.second) + { + Index3& oldIndex = result.first->second; + BX_CHECK(oldIndex.m_position == index.m_position + && oldIndex.m_texcoord == index.m_texcoord + && oldIndex.m_normal == index.m_normal + , "Hash collision!" + ); + } + + switch (edge) + { + case 0: + case 1: + case 2: + triangle.m_index[edge] = hash; + if (2 == edge) + { + if (ccw) + { + std::swap(triangle.m_index[1], triangle.m_index[2]); + } + triangles.push_back(triangle); + } + break; + + default: + if (ccw) + { + triangle.m_index[2] = triangle.m_index[1]; + triangle.m_index[1] = hash; + } + else + { + triangle.m_index[1] = triangle.m_index[2]; + triangle.m_index[2] = hash; + } + triangles.push_back(triangle); + break; + } + } + } + else if (0 == strcmp(argv[0], "g") ) + { + EXPECT(1 < argc); + group.m_name = argv[1]; + } + else if (*argv[0] == 'v') + { + group.m_numTriangles = (uint32_t)(triangles.size() ) - group.m_startTriangle; + if (0 < group.m_numTriangles) + { + groups.push_back(group); + group.m_startTriangle = (uint32_t)(triangles.size() ); + group.m_numTriangles = 0; + } + + if (0 == strcmp(argv[0], "vn") ) + { + Vector3 normal; + normal.x = (float)atof(argv[1]); + normal.y = (float)atof(argv[2]); + normal.z = (float)atof(argv[3]); + + normals.push_back(normal); + } + else if (0 == strcmp(argv[0], "vp") ) + { + static bool once = true; + if (once) + { + once = false; + printf("warning: 'parameter space vertices' are unsupported.\n"); + } + } + else if (0 == strcmp(argv[0], "vt") ) + { + Vector3 texcoord; + texcoord.x = (float)atof(argv[1]); + texcoord.y = 0.0f; + texcoord.z = 0.0f; + switch (argc) + { + case 4: + texcoord.z = (float)atof(argv[3]); + // fallthrough + case 3: + texcoord.y = (float)atof(argv[2]); + break; + + default: + break; + } + + texcoords.push_back(texcoord); + } + else + { + float px = (float)atof(argv[1]); + float py = (float)atof(argv[2]); + float pz = (float)atof(argv[3]); + float pw = 1.0f; + if (argc > 4) + { + pw = (float)atof(argv[4]); + } + + float invW = scale/pw; + px *= invW; + py *= invW; + pz *= invW; + + Vector3 pos; + pos.x = px; + pos.y = py; + pos.z = pz; + + positions.push_back(pos); + } + } + else if (0 == strcmp(argv[0], "usemtl") ) + { + std::string material(argv[1]); + + if (material != group.m_material) + { + group.m_numTriangles = (uint32_t)(triangles.size() ) - group.m_startTriangle; + if (0 < group.m_numTriangles) + { + groups.push_back(group); + group.m_startTriangle = (uint32_t)(triangles.size() ); + group.m_numTriangles = 0; + } + } + + group.m_material = material; + } +// unsupported tags +// else if (0 == strcmp(argv[0], "mtllib") ) +// { +// } +// else if (0 == strcmp(argv[0], "o") ) +// { +// } +// else if (0 == strcmp(argv[0], "s") ) +// { +// } + } + + ++num; + } + while ('\0' != *next); + + group.m_numTriangles = (uint32_t)(triangles.size() ) - group.m_startTriangle; + if (0 < group.m_numTriangles) + { + groups.push_back(group); + group.m_startTriangle = (uint32_t)(triangles.size() ); + group.m_numTriangles = 0; + } + + delete [] data; + + int64_t now = bx::getHPCounter(); + parseElapsed += now; + int64_t convertElapsed = -now; + + struct GroupSortByMaterial + { + bool operator()(const Group& _lhs, const Group& _rhs) + { + return _lhs.m_material < _rhs.m_material; + } + }; + + std::sort(groups.begin(), groups.end(), GroupSortByMaterial() ); + + bool hasColor = false; + bool hasNormal; + bool hasTexcoord; + { + Index3Map::const_iterator it = indexMap.begin(); + hasNormal = -1 != it->second.m_normal; + hasTexcoord = -1 != it->second.m_texcoord; + + if (!hasTexcoord + && texcoords.size() == positions.size() ) + { + hasTexcoord = true; + + for (Index3Map::iterator it = indexMap.begin(), itEnd = indexMap.end(); it != itEnd; ++it) + { + it->second.m_texcoord = it->second.m_position; + } + } + + if (!hasNormal + && normals.size() == positions.size() ) + { + hasNormal = true; + + for (Index3Map::iterator it = indexMap.begin(), itEnd = indexMap.end(); it != itEnd; ++it) + { + it->second.m_normal = it->second.m_position; + } + } + } + + bgfx::VertexDecl decl; + decl.begin(); + decl.add(bgfx::Attrib::Position, 3, bgfx::AttribType::Float); + + if (hasColor) + { + decl.add(bgfx::Attrib::Color0, 4, bgfx::AttribType::Uint8, true); + } + + if (hasTexcoord) + { + switch (packUv) + { + default: + case 0: + decl.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float); + break; + + case 1: + decl.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Half); + break; + } + } + + if (hasNormal) + { + switch (packNormal) + { + default: + case 0: + decl.add(bgfx::Attrib::Normal, 3, bgfx::AttribType::Float); + if (hasTangent) + { + decl.add(bgfx::Attrib::Tangent, 3, bgfx::AttribType::Float); + } + break; + + case 1: + decl.add(bgfx::Attrib::Normal, 4, bgfx::AttribType::Uint8, true); + if (hasTangent) + { + decl.add(bgfx::Attrib::Tangent, 4, bgfx::AttribType::Uint8, true); + } + break; + } + } + decl.end(); + + uint32_t stride = decl.getStride(); + uint8_t* vertexData = new uint8_t[triangles.size() * 3 * stride]; + uint16_t* indexData = new uint16_t[triangles.size() * 3]; + int32_t numVertices = 0; + int32_t numIndices = 0; + int32_t numPrimitives = 0; + + uint8_t* vertices = vertexData; + uint16_t* indices = indexData; + + std::string material = groups.begin()->m_material; + + PrimitiveArray primitives; + + bx::CrtFileWriter writer; + if (0 != writer.open(outFilePath) ) + { + printf("Unable to open output file '%s'.", outFilePath); + exit(EXIT_FAILURE); + } + + Primitive prim; + prim.m_startVertex = 0; + prim.m_startIndex = 0; + + uint32_t positionOffset = decl.getOffset(bgfx::Attrib::Position); + uint32_t color0Offset = decl.getOffset(bgfx::Attrib::Color0); + uint32_t normalOffset = decl.getOffset(bgfx::Attrib::Normal); + uint32_t tangentOffset = decl.getOffset(bgfx::Attrib::Tangent); + uint32_t texcoord0Offset = decl.getOffset(bgfx::Attrib::TexCoord0); + + uint32_t ii = 0; + for (GroupArray::const_iterator groupIt = groups.begin(); groupIt != groups.end(); ++groupIt, ++ii) + { + for (uint32_t tri = groupIt->m_startTriangle, end = tri + groupIt->m_numTriangles; tri < end; ++tri) + { + if (material != groupIt->m_material + || 65533 < numVertices) + { + prim.m_numVertices = numVertices - prim.m_startVertex; + prim.m_numIndices = numIndices - prim.m_startIndex; + if (0 < prim.m_numVertices) + { + primitives.push_back(prim); + } + + triReorderElapsed -= bx::getHPCounter(); + for (PrimitiveArray::const_iterator primIt = primitives.begin(); primIt != primitives.end(); ++primIt) + { + const Primitive& prim = *primIt; + triangleReorder(indexData + prim.m_startIndex, prim.m_numIndices, numVertices, 32); + } + triReorderElapsed += bx::getHPCounter(); + + write(&writer, vertexData, numVertices, decl, indexData, numIndices, material, primitives); + primitives.clear(); + + for (Index3Map::iterator indexIt = indexMap.begin(); indexIt != indexMap.end(); ++indexIt) + { + indexIt->second.m_vertexIndex = -1; + } + + vertices = vertexData; + indices = indexData; + numVertices = 0; + numIndices = 0; + prim.m_startVertex = 0; + prim.m_startIndex = 0; + ++numPrimitives; + + material = groupIt->m_material; + } + + Triangle& triangle = triangles[tri]; + for (uint32_t edge = 0; edge < 3; ++edge) + { + uint64_t hash = triangle.m_index[edge]; + Index3& index = indexMap[hash]; + if (index.m_vertexIndex == -1) + { + index.m_vertexIndex = numVertices++; + + float* position = (float*)(vertices + positionOffset); + memcpy(position, &positions[index.m_position], 3*sizeof(float) ); + + if (hasColor) + { + uint32_t* color0 = (uint32_t*)(vertices + color0Offset); + *color0 = rgbaToAbgr(numVertices%255, numIndices%255, 0, 0xff); + } + + if (hasTexcoord) + { + float uv[2]; + memcpy(uv, &texcoords[index.m_texcoord], 2*sizeof(float) ); + + if (flipV) + { + uv[1] = -uv[1]; + } + + switch (packUv) + { + default: + case 0: + { + float* texcoord0 = (float*)(vertices + texcoord0Offset); + memcpy(texcoord0, uv, 2*sizeof(float) ); + } + break; + + case 1: + { + uint32_t* texcoord0 = (uint32_t*)(vertices + texcoord0Offset); + *texcoord0 = packF2h(uv[0], uv[1]); + } + break; + } + } + + if (hasNormal) + { + switch (packNormal) + { + default: + case 0: + { + float* normal = (float*)(vertices + normalOffset); + vec3Norm(normal, (float*)&normals[index.m_normal]); + + if (hasTangent) + { + float* tangent = (float*)(vertices + tangentOffset); + memset(tangent, 0, 3*sizeof(float) ); + } + } + break; + + case 1: + { + float normal[3]; + vec3Norm(normal, (float*)&normals[index.m_normal]); + uint32_t* nxyz0 = (uint32_t*)(vertices + normalOffset); + *nxyz0 = packF4u(normal[0], normal[1], normal[2]); + + if (hasTangent) + { + uint32_t* txyz0 = (uint32_t*)(vertices + tangentOffset); + *txyz0 = packF4u(0.0f); + } + } + break; + } + } + + vertices += stride; + } + + *indices++ = (uint16_t)index.m_vertexIndex; + ++numIndices; + } + } + + if (0 < numVertices) + { + prim.m_numVertices = numVertices - prim.m_startVertex; + prim.m_numIndices = numIndices - prim.m_startIndex; + prim.m_name = groupIt->m_name; + primitives.push_back(prim); + prim.m_startVertex = numVertices; + prim.m_startIndex = numIndices; + } + + BX_TRACE("%3d: s %5d, n %5d, %s\n" + , ii + , groupIt->m_startTriangle + , groupIt->m_numTriangles + , groupIt->m_material.c_str() + ); + } + + if (0 < primitives.size() ) + { + triReorderElapsed -= bx::getHPCounter(); + for (PrimitiveArray::const_iterator primIt = primitives.begin(); primIt != primitives.end(); ++primIt) + { + const Primitive& prim = *primIt; + triangleReorder(indexData + prim.m_startIndex, prim.m_numIndices, numVertices, 32); + } + triReorderElapsed += bx::getHPCounter(); + + write(&writer, vertexData, numVertices, decl, indexData, numIndices, material, primitives); + } + + printf("size: %d\n", writer.seek() ); + writer.close(); + + delete [] indexData; + delete [] vertexData; + + now = bx::getHPCounter(); + convertElapsed += now; + + printf("parse %f [s]\ntri reorder %f [s]\nconvert %f [s]\n# %d, g %d, p %d, v %d, i %d\n" + , double(parseElapsed)/bx::getHPFrequency() + , double(triReorderElapsed)/bx::getHPFrequency() + , double(convertElapsed)/bx::getHPFrequency() + , num + , groups.size() + , numPrimitives + , numVertices + , numIndices + ); + + return EXIT_SUCCESS; +} diff --git a/tools/geometryc/math.h b/tools/geometryc/math.h new file mode 100644 index 000000000..a477e57ce --- /dev/null +++ b/tools/geometryc/math.h @@ -0,0 +1,349 @@ +/* + * Copyright 2011-2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +// FPU math lib + +#ifndef __FPU_MATH_H__ +#define __FPU_MATH_H__ + +#define _USE_MATH_DEFINES +#include +#include + +inline float fmin(float _a, float _b) +{ + return _a < _b ? _a : _b; +} + +inline float fmax(float _a, float _b) +{ + return _a > _b ? _a : _b; +} + +inline float flerp(float _a, float _b, float _t) +{ + return _a + (_b - _a) * _t; +} + +inline void vec3Add(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) +{ + _result[0] = _a[0] + _b[0]; + _result[1] = _a[1] + _b[1]; + _result[2] = _a[2] + _b[2]; +} + +inline void vec3Sub(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) +{ + _result[0] = _a[0] - _b[0]; + _result[1] = _a[1] - _b[1]; + _result[2] = _a[2] - _b[2]; +} + +inline void vec3Mul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) +{ + _result[0] = _a[0] * _b[0]; + _result[1] = _a[1] * _b[1]; + _result[2] = _a[2] * _b[2]; +} + +inline void vec3Mul(float* __restrict _result, const float* __restrict _a, float _b) +{ + _result[0] = _a[0] * _b; + _result[1] = _a[1] * _b; + _result[2] = _a[2] * _b; +} + +inline float vec3Dot(const float* __restrict _a, const float* __restrict _b) +{ + return _a[0]*_b[0] + _a[1]*_b[1] + _a[2]*_b[2]; +} + +inline void vec3Cross(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) +{ + _result[0] = _a[1]*_b[2] - _a[2]*_b[1]; + _result[1] = _a[2]*_b[0] - _a[0]*_b[2]; + _result[2] = _a[0]*_b[1] - _a[1]*_b[0]; +} + +inline void vec3Norm(float* __restrict _result, const float* __restrict _a) +{ + float scale = 1.0f/sqrtf(vec3Dot(_a, _a) ); + _result[0] = _a[0] * scale; + _result[1] = _a[1] * scale; + _result[2] = _a[2] * scale; +} + +inline void mtxIdentity(float* _result) +{ + memset(_result, 0, sizeof(float)*16); + _result[0] = _result[5] = _result[10] = _result[15] = 1.0f; +} + +inline void mtxLookAt(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at) +{ + float tmp[4]; + vec3Sub(tmp, _at, _eye); + + float view[4]; + vec3Norm(view, tmp); + + float up[3] = { 0.0f, 1.0f, 0.0f }; + vec3Cross(tmp, up, view); + + float right[4]; + vec3Norm(right, tmp); + + vec3Cross(up, view, right); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = right[0]; + _result[ 1] = up[0]; + _result[ 2] = view[0]; + + _result[ 4] = right[1]; + _result[ 5] = up[1]; + _result[ 6] = view[1]; + + _result[ 8] = right[2]; + _result[ 9] = up[2]; + _result[10] = view[2]; + + _result[12] = -vec3Dot(right, _eye); + _result[13] = -vec3Dot(up, _eye); + _result[14] = -vec3Dot(view, _eye); + _result[15] = 1.0f; +} + +inline void mtxProj(float* _result, float _fovy, float _aspect, float _near, float _far) +{ + float height = 1.0f/tanf(_fovy*( (float)M_PI/180.0f)*0.5f); + float width = height * 1.0f/_aspect; + float aa = _far/(_far-_near); + float bb = -_near * aa; + + memset(_result, 0, sizeof(float)*16); + _result[0] = width; + _result[5] = height; + _result[10] = aa; + _result[11] = 1.0f; + _result[14] = bb; +} + +inline void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far) +{ + const float aa = 2.0f/(_right - _left); + const float bb = 2.0f/(_top - _bottom); + const float cc = 1.0f/(_far - _near); + const float dd = (_left + _right)/(_left - _right); + const float ee = (_top + _bottom)/(_bottom - _top); + const float ff = _near / (_near - _far); + + memset(_result, 0, sizeof(float)*16); + _result[0] = aa; + _result[5] = bb; + _result[10] = cc; + _result[12] = dd; + _result[13] = ee; + _result[14] = ff; + _result[15] = 1.0f; +} + +inline void mtxRotateX(float* _result, float _ax) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = 1.0f; + _result[ 5] = cx; + _result[ 6] = -sx; + _result[ 9] = sx; + _result[10] = cx; + _result[15] = 1.0f; +} + +inline void mtxRotateY(float* _result, float _ay) +{ + float sy = sinf(_ay); + float cy = cosf(_ay); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = sy; + _result[ 5] = 1.0f; + _result[ 8] = -sy; + _result[10] = cy; + _result[15] = 1.0f; +} + +inline void mtxRotateZ(float* _result, float _az) +{ + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cz; + _result[ 1] = -sz; + _result[ 4] = sz; + _result[ 5] = cz; + _result[10] = 1.0f; + _result[15] = 1.0f; +} + +inline void mtxRotateXY(float* _result, float _ax, float _ay) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = -sy; + _result[ 4] = -sx*sy; + _result[ 5] = cx; + _result[ 6] = -sx*cy; + _result[ 8] = cx*sy; + _result[ 9] = sx; + _result[10] = cx*cy; + _result[15] = 1.0f; +} + +inline void mtxRotateXYZ(float* _result, float _ax, float _ay, float _az) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = -cy*sz; + _result[ 2] = sy; + _result[ 4] = cz*sx*sy + cx*sz; + _result[ 5] = cx*cz - sx*sy*sz; + _result[ 6] = -cy*sx; + _result[ 8] = -cx*cz*sy + sx*sz; + _result[ 9] = cz*sx + cx*sy*sz; + _result[10] = cx*cy; + _result[15] = 1.0f; +} + +inline void mtxRotateZYX(float* _result, float _ax, float _ay, float _az) +{ + float sx = sinf(_ax); + float cx = cosf(_ax); + float sy = sinf(_ay); + float cy = cosf(_ay); + float sz = sinf(_az); + float cz = cosf(_az); + + memset(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = cz*sx*sy-cx*sz; + _result[ 2] = cx*cz*sy+sx*sz; + _result[ 4] = cy*sz; + _result[ 5] = cx*cz + sx*sy*sz; + _result[ 6] = -cz*sx + cx*sy*sz; + _result[ 8] = -sy; + _result[ 9] = cy*sx; + _result[10] = cx*cy; + _result[15] = 1.0f; +}; + +inline void vec3MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) +{ + _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; + _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; + _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; +} + +inline void vec4MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) +{ + _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _vec[3] * _mat[12]; + _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _vec[3] * _mat[13]; + _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _vec[3] * _mat[14]; + _result[3] = _vec[0] * _mat[ 3] + _vec[1] * _mat[7] + _vec[2] * _mat[11] + _vec[3] * _mat[15]; +} + +inline void mtxMul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) +{ + vec4MulMtx(&_result[ 0], &_a[ 0], _b); + vec4MulMtx(&_result[ 4], &_a[ 4], _b); + vec4MulMtx(&_result[ 8], &_a[ 8], _b); + vec4MulMtx(&_result[12], &_a[12], _b); +} + +inline void mtxTranspose(float* __restrict _result, const float* __restrict _a) +{ + _result[ 0] = _a[ 0]; + _result[ 4] = _a[ 1]; + _result[ 8] = _a[ 2]; + _result[12] = _a[ 3]; + _result[ 1] = _a[ 4]; + _result[ 5] = _a[ 5]; + _result[ 9] = _a[ 6]; + _result[13] = _a[ 7]; + _result[ 2] = _a[ 8]; + _result[ 6] = _a[ 9]; + _result[10] = _a[10]; + _result[14] = _a[11]; + _result[ 3] = _a[12]; + _result[ 7] = _a[13]; + _result[11] = _a[14]; + _result[15] = _a[15]; +} + +inline void mtxInverse(float* __restrict _result, const float* __restrict _a) +{ + float xx = _a[ 0]; + float xy = _a[ 1]; + float xz = _a[ 2]; + float xw = _a[ 3]; + float yx = _a[ 4]; + float yy = _a[ 5]; + float yz = _a[ 6]; + float yw = _a[ 7]; + float zx = _a[ 8]; + float zy = _a[ 9]; + float zz = _a[10]; + float zw = _a[11]; + float wx = _a[12]; + float wy = _a[13]; + float wz = _a[14]; + float ww = _a[15]; + + float det = 0.0f; + det += xx * (yy*(zz*ww - zw*wz) - yz*(zy*ww - zw*wy) + yw*(zy*wz - zz*wy) ); + det -= xy * (yx*(zz*ww - zw*wz) - yz*(zx*ww - zw*wx) + yw*(zx*wz - zz*wx) ); + det += xz * (yx*(zy*ww - zw*wy) - yy*(zx*ww - zw*wx) + yw*(zx*wy - zy*wx) ); + det -= xw * (yx*(zy*wz - zz*wy) - yy*(zx*wz - zz*wx) + yz*(zx*wy - zy*wx) ); + + float invDet = 1.0f/det; + + _result[ 0] = +(yy*(zz*ww - wz*zw) - yz*(zy*ww - wy*zw) + yw*(zy*wz - wy*zz) ) * invDet; + _result[ 1] = -(xy*(zz*ww - wz*zw) - xz*(zy*ww - wy*zw) + xw*(zy*wz - wy*zz) ) * invDet; + _result[ 2] = +(xy*(yz*ww - wz*yw) - xz*(yy*ww - wy*yw) + xw*(yy*wz - wy*yz) ) * invDet; + _result[ 3] = -(xy*(yz*zw - zz*yw) - xz*(yy*zw - zy*yw) + xw*(yy*zz - zy*yz) ) * invDet; + + _result[ 4] = -(yx*(zz*ww - wz*zw) - yz*(zx*ww - wx*zw) + yw*(zx*wz - wx*zz) ) * invDet; + _result[ 5] = +(xx*(zz*ww - wz*zw) - xz*(zx*ww - wx*zw) + xw*(zx*wz - wx*zz) ) * invDet; + _result[ 6] = -(xx*(yz*ww - wz*yw) - xz*(yx*ww - wx*yw) + xw*(yx*wz - wx*yz) ) * invDet; + _result[ 7] = +(xx*(yz*zw - zz*yw) - xz*(yx*zw - zx*yw) + xw*(yx*zz - zx*yz) ) * invDet; + + _result[ 8] = +(yx*(zy*ww - wy*zw) - yy*(zx*ww - wx*zw) + yw*(zx*wy - wx*zy) ) * invDet; + _result[ 9] = -(xx*(zy*ww - wy*zw) - xy*(zx*ww - wx*zw) + xw*(zx*wy - wx*zy) ) * invDet; + _result[10] = +(xx*(yy*ww - wy*yw) - xy*(yx*ww - wx*yw) + xw*(yx*wy - wx*yy) ) * invDet; + _result[11] = -(xx*(yy*zw - zy*yw) - xy*(yx*zw - zx*yw) + xw*(yx*zy - zx*yy) ) * invDet; + + _result[12] = -(yx*(zy*wz - wy*zz) - yy*(zx*wz - wx*zz) + yz*(zx*wy - wx*zy) ) * invDet; + _result[13] = +(xx*(zy*wz - wy*zz) - xy*(zx*wz - wx*zz) + xz*(zx*wy - wx*zy) ) * invDet; + _result[14] = -(xx*(yy*wz - wy*yz) - xy*(yx*wz - wx*yz) + xz*(yx*wy - wx*yy) ) * invDet; + _result[15] = +(xx*(yy*zz - zy*yz) - xy*(yx*zz - zx*yz) + xz*(yx*zy - zx*yy) ) * invDet; +} + +#endif // __FPU_MATH_H__ diff --git a/tools/geometryc/tokenizecmd.cpp b/tools/geometryc/tokenizecmd.cpp new file mode 100644 index 000000000..0bf61ac56 --- /dev/null +++ b/tools/geometryc/tokenizecmd.cpp @@ -0,0 +1,201 @@ +/* + * Copyright 2012 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include +#include +#include +#include "tokenizecmd.h" + +// Reference: +// http://msdn.microsoft.com/en-us/library/a1y7w461.aspx +const char* tokenizeCommandLine(const char* _commandLine, char* _buffer, uint32_t& _bufferSize, int& _argc, char* _argv[], int _maxArgvs, char _term) +{ + int argc = 0; + const char* curr = _commandLine; + char* currOut = _buffer; + char term = ' '; + bool sub = false; + + enum ParserState + { + SkipWhitespace, + SetTerm, + Copy, + Escape, + End, + }; + + ParserState state = SkipWhitespace; + + while ('\0' != *curr + && _term != *curr + && argc < _maxArgvs) + { + switch (state) + { + case SkipWhitespace: + for (; isspace(*curr); ++curr); // skip whitespace + state = SetTerm; + break; + + case SetTerm: + if ('"' == *curr) + { + term = '"'; + ++curr; // skip begining quote + } + else + { + term = ' '; + } + + _argv[argc] = currOut; + ++argc; + + state = Copy; + break; + + case Copy: + if ('\\' == *curr) + { + state = Escape; + } + else if ('"' == *curr + && '"' != term) + { + sub = !sub; + } + else if (isspace(*curr) && !sub) + { + state = End; + } + else if (term != *curr || sub) + { + *currOut = *curr; + ++currOut; + } + else + { + state = End; + } + ++curr; + break; + + case Escape: + { + const char* start = --curr; + for (; '\\' == *curr; ++curr); + + if ('"' != *curr) + { + int count = (int)(curr-start); + + curr = start; + for (int ii = 0; ii < count; ++ii) + { + *currOut = *curr; + ++currOut; + ++curr; + } + } + else + { + curr = start+1; + *currOut = *curr; + ++currOut; + ++curr; + } + } + state = Copy; + break; + + case End: + *currOut = '\0'; + ++currOut; + state = SkipWhitespace; + break; + } + } + + *currOut = '\0'; + if (0 < argc + && '\0' == _argv[argc-1][0]) + { + --argc; + } + + _bufferSize = (uint32_t)(currOut - _buffer); + _argc = argc; + + if ('\0' != *curr) + { + ++curr; + } + + return curr; +} + +#if 0 + +#include + +int main(int _argc, const char** _argv) +{ + const char* input[7] = + { + " ", + "\\", + "\"a b c\" d e", + "\"ab\\\"c\" \"\\\\\" d", + "a\\\\\\b d\"e f\"g h", + "a\\\\\\\"b c d", + "a\\\\\\\\\"b c\" d e", + }; + + const int expected_argc[7] = + { + 0, 0, 3, 3, 3, 3, 3 + }; + + const char* expected_results[] = + { + "a b c", "d", "e", + "ab\"c", "\\", "d", + "a\\\\\\b", "de fg", "h", + "a\\\"b", "c", "d", + "a\\\\b c", "d", "e", + }; + + const char** expected_argv[7] = + { + NULL, + NULL, + &expected_results[0], + &expected_results[3], + &expected_results[6], + &expected_results[9], + &expected_results[12], + }; + + for (int ii = 0; ii < 7; ++ii) + { + char commandLine[1024]; + unsigned int size = 1023; + char* argv[50]; + int argc = tokenizeCommandLine(input[ii], commandLine, size, argv, 50); + printf("\n%d (%d): %s %s\n", ii, argc, input[ii], expected_argc[ii]==argc?"":"FAILED!"); + for (int jj = 0; jj < argc; ++jj) + { + printf("\t%d: {%s} %s\n" + , jj + , argv[jj] + , jj -o --type --platform \n\n" + , "Usage: shaderc -f -o --type --platform \n" + + "\n" "Options:\n" - "\t-f Input file path.\n" - "\t-o Output file path.\n" - "\t --bin2c Generate C header file.\n" - "\t --depends Generate makefile style depends file.\n" - "\t --platform Target platform.\n" - "\t android\n" - "\t ios\n" - "\t linux\n" - "\t nacl\n" - "\t osx\n" - "\t windows\n" - "\t --type Shader type (vertex, fragment)\n" - "\t --varyingdef Path to varying.def.sc file.\n" + " -f Input file path.\n" + " -o Output file path.\n" + " --bin2c Generate C header file.\n" + " --depends Generate makefile style depends file.\n" + " --platform Target platform.\n" + " android\n" + " ios\n" + " linux\n" + " nacl\n" + " osx\n" + " windows\n" + " --type Shader type (vertex, fragment)\n" + " --varyingdef Path to varying.def.sc file.\n" + "\n" "Options (DX9 and DX11 only):\n" + "\n" - "\t --disasm Disassemble compiled shader.\n" - "\t-p, --profile Shader model (f.e. ps_3_0).\n" + " --disasm Disassemble compiled shader.\n" + " -p, --profile Shader model (f.e. ps_3_0).\n" + "\n" "For additional information, see https://github.com/bkaradzic/bgfx\n" );